diff --git a/paragonik-backend/.editorconfig b/paragonik-backend/.editorconfig deleted file mode 100644 index 6f313c6..0000000 --- a/paragonik-backend/.editorconfig +++ /dev/null @@ -1,15 +0,0 @@ -root = true - -[*] -charset = utf-8 -end_of_line = lf -insert_final_newline = true -indent_style = space -indent_size = 4 -trim_trailing_whitespace = true - -[*.md] -trim_trailing_whitespace = false - -[*.yml] -indent_size = 2 diff --git a/paragonik-backend/.env b/paragonik-backend/.env deleted file mode 100644 index d589d95..0000000 --- a/paragonik-backend/.env +++ /dev/null @@ -1,44 +0,0 @@ -APP_NAME=Laravel -APP_ENV=local -APP_KEY=base64:45+0NK9IcE9ivGTD9q/hzru/ZA0NfoR79rJBjXcwlU4= -APP_DEBUG=true -APP_URL=http://localhost - -LOG_CHANNEL=stack - -DB_CONNECTION=mysql -DB_HOST=127.0.0.1 -DB_PORT=3306 -DB_DATABASE=paragonik_db -DB_USERNAME=root -DB_PASSWORD= - -BROADCAST_DRIVER=log -CACHE_DRIVER=file -QUEUE_CONNECTION=sync -SESSION_DRIVER=file -SESSION_LIFETIME=120 - -REDIS_HOST=127.0.0.1 -REDIS_PASSWORD=null -REDIS_PORT=6379 - -MAIL_DRIVER=smtp -MAIL_HOST=smtp.mailtrap.io -MAIL_PORT=2525 -MAIL_USERNAME=null -MAIL_PASSWORD=null -MAIL_ENCRYPTION=null - -AWS_ACCESS_KEY_ID= -AWS_SECRET_ACCESS_KEY= -AWS_DEFAULT_REGION=us-east-1 -AWS_BUCKET= - -PUSHER_APP_ID= -PUSHER_APP_KEY= -PUSHER_APP_SECRET= -PUSHER_APP_CLUSTER=mt1 - -MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}" -MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}" diff --git a/paragonik-backend/.env.example b/paragonik-backend/.env.example deleted file mode 100644 index 604b401..0000000 --- a/paragonik-backend/.env.example +++ /dev/null @@ -1,44 +0,0 @@ -APP_NAME=Laravel -APP_ENV=local -APP_KEY= -APP_DEBUG=true -APP_URL=http://localhost - -LOG_CHANNEL=stack - -DB_CONNECTION=mysql -DB_HOST=127.0.0.1 -DB_PORT=3306 -DB_DATABASE=laravel -DB_USERNAME=root -DB_PASSWORD= - -BROADCAST_DRIVER=log -CACHE_DRIVER=file -QUEUE_CONNECTION=sync -SESSION_DRIVER=file -SESSION_LIFETIME=120 - -REDIS_HOST=127.0.0.1 -REDIS_PASSWORD=null -REDIS_PORT=6379 - -MAIL_DRIVER=smtp -MAIL_HOST=smtp.mailtrap.io -MAIL_PORT=2525 -MAIL_USERNAME=null -MAIL_PASSWORD=null -MAIL_ENCRYPTION=null - -AWS_ACCESS_KEY_ID= -AWS_SECRET_ACCESS_KEY= -AWS_DEFAULT_REGION=us-east-1 -AWS_BUCKET= - -PUSHER_APP_ID= -PUSHER_APP_KEY= -PUSHER_APP_SECRET= -PUSHER_APP_CLUSTER=mt1 - -MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}" -MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}" diff --git a/paragonik-backend/.gitattributes b/paragonik-backend/.gitattributes deleted file mode 100644 index 967315d..0000000 --- a/paragonik-backend/.gitattributes +++ /dev/null @@ -1,5 +0,0 @@ -* text=auto -*.css linguist-vendored -*.scss linguist-vendored -*.js linguist-vendored -CHANGELOG.md export-ignore diff --git a/paragonik-backend/.gitignore b/paragonik-backend/.gitignore deleted file mode 100644 index 0f7df0f..0000000 --- a/paragonik-backend/.gitignore +++ /dev/null @@ -1,12 +0,0 @@ -/node_modules -/public/hot -/public/storage -/storage/*.key -/vendor -.env -.env.backup -.phpunit.result.cache -Homestead.json -Homestead.yaml -npm-debug.log -yarn-error.log diff --git a/paragonik-backend/.styleci.yml b/paragonik-backend/.styleci.yml deleted file mode 100644 index 1db61d9..0000000 --- a/paragonik-backend/.styleci.yml +++ /dev/null @@ -1,13 +0,0 @@ -php: - preset: laravel - disabled: - - unused_use - finder: - not-name: - - index.php - - server.php -js: - finder: - not-name: - - webpack.mix.js -css: true diff --git a/paragonik-backend/app/Console/Kernel.php b/paragonik-backend/app/Console/Kernel.php deleted file mode 100644 index a8c5158..0000000 --- a/paragonik-backend/app/Console/Kernel.php +++ /dev/null @@ -1,42 +0,0 @@ -command('inspire') - // ->hourly(); - } - - /** - * Register the commands for the application. - * - * @return void - */ - protected function commands() - { - $this->load(__DIR__.'/Commands'); - - require base_path('routes/console.php'); - } -} diff --git a/paragonik-backend/app/Exceptions/Handler.php b/paragonik-backend/app/Exceptions/Handler.php deleted file mode 100644 index 043cad6..0000000 --- a/paragonik-backend/app/Exceptions/Handler.php +++ /dev/null @@ -1,51 +0,0 @@ -middleware('guest'); - } -} diff --git a/paragonik-backend/app/Http/Controllers/Auth/LoginController.php b/paragonik-backend/app/Http/Controllers/Auth/LoginController.php deleted file mode 100644 index b2ea669..0000000 --- a/paragonik-backend/app/Http/Controllers/Auth/LoginController.php +++ /dev/null @@ -1,39 +0,0 @@ -middleware('guest')->except('logout'); - } -} diff --git a/paragonik-backend/app/Http/Controllers/Auth/RegisterController.php b/paragonik-backend/app/Http/Controllers/Auth/RegisterController.php deleted file mode 100644 index 85b9057..0000000 --- a/paragonik-backend/app/Http/Controllers/Auth/RegisterController.php +++ /dev/null @@ -1,72 +0,0 @@ -middleware('guest'); - } - - /** - * Get a validator for an incoming registration request. - * - * @param array $data - * @return \Illuminate\Contracts\Validation\Validator - */ - protected function validator(array $data) - { - return Validator::make($data, [ - 'name' => ['required', 'string', 'max:255'], - 'email' => ['required', 'string', 'email', 'max:255', 'unique:users'], - 'password' => ['required', 'string', 'min:8', 'confirmed'], - ]); - } - - /** - * Create a new user instance after a valid registration. - * - * @param array $data - * @return \App\User - */ - protected function create(array $data) - { - return User::create([ - 'name' => $data['name'], - 'email' => $data['email'], - 'password' => Hash::make($data['password']), - ]); - } -} diff --git a/paragonik-backend/app/Http/Controllers/Auth/ResetPasswordController.php b/paragonik-backend/app/Http/Controllers/Auth/ResetPasswordController.php deleted file mode 100644 index cf726ee..0000000 --- a/paragonik-backend/app/Http/Controllers/Auth/ResetPasswordController.php +++ /dev/null @@ -1,39 +0,0 @@ -middleware('guest'); - } -} diff --git a/paragonik-backend/app/Http/Controllers/Auth/VerificationController.php b/paragonik-backend/app/Http/Controllers/Auth/VerificationController.php deleted file mode 100644 index 23a43a8..0000000 --- a/paragonik-backend/app/Http/Controllers/Auth/VerificationController.php +++ /dev/null @@ -1,41 +0,0 @@ -middleware('auth'); - $this->middleware('signed')->only('verify'); - $this->middleware('throttle:6,1')->only('verify', 'resend'); - } -} diff --git a/paragonik-backend/app/Http/Controllers/Controller.php b/paragonik-backend/app/Http/Controllers/Controller.php deleted file mode 100644 index 03e02a2..0000000 --- a/paragonik-backend/app/Http/Controllers/Controller.php +++ /dev/null @@ -1,13 +0,0 @@ - [ - \App\Http\Middleware\EncryptCookies::class, - \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class, - \Illuminate\Session\Middleware\StartSession::class, - // \Illuminate\Session\Middleware\AuthenticateSession::class, - \Illuminate\View\Middleware\ShareErrorsFromSession::class, - \App\Http\Middleware\VerifyCsrfToken::class, - \Illuminate\Routing\Middleware\SubstituteBindings::class, - ], - - 'api' => [ - 'throttle:60,1', - 'bindings', - ], - ]; - - /** - * The application's route middleware. - * - * These middleware may be assigned to groups or used individually. - * - * @var array - */ - protected $routeMiddleware = [ - 'auth' => \App\Http\Middleware\Authenticate::class, - 'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class, - 'bindings' => \Illuminate\Routing\Middleware\SubstituteBindings::class, - 'cache.headers' => \Illuminate\Http\Middleware\SetCacheHeaders::class, - 'can' => \Illuminate\Auth\Middleware\Authorize::class, - 'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class, - 'signed' => \Illuminate\Routing\Middleware\ValidateSignature::class, - 'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class, - 'verified' => \Illuminate\Auth\Middleware\EnsureEmailIsVerified::class, - ]; - - /** - * The priority-sorted list of middleware. - * - * This forces non-global middleware to always be in the given order. - * - * @var array - */ - protected $middlewarePriority = [ - \Illuminate\Session\Middleware\StartSession::class, - \Illuminate\View\Middleware\ShareErrorsFromSession::class, - \App\Http\Middleware\Authenticate::class, - \Illuminate\Session\Middleware\AuthenticateSession::class, - \Illuminate\Routing\Middleware\SubstituteBindings::class, - \Illuminate\Auth\Middleware\Authorize::class, - ]; -} diff --git a/paragonik-backend/app/Http/Middleware/Authenticate.php b/paragonik-backend/app/Http/Middleware/Authenticate.php deleted file mode 100644 index a4be5c5..0000000 --- a/paragonik-backend/app/Http/Middleware/Authenticate.php +++ /dev/null @@ -1,21 +0,0 @@ -expectsJson()) { - return route('login'); - } - } -} diff --git a/paragonik-backend/app/Http/Middleware/CheckForMaintenanceMode.php b/paragonik-backend/app/Http/Middleware/CheckForMaintenanceMode.php deleted file mode 100644 index 35b9824..0000000 --- a/paragonik-backend/app/Http/Middleware/CheckForMaintenanceMode.php +++ /dev/null @@ -1,17 +0,0 @@ -check()) { - return redirect('/home'); - } - - return $next($request); - } -} diff --git a/paragonik-backend/app/Http/Middleware/TrimStrings.php b/paragonik-backend/app/Http/Middleware/TrimStrings.php deleted file mode 100644 index 5a50e7b..0000000 --- a/paragonik-backend/app/Http/Middleware/TrimStrings.php +++ /dev/null @@ -1,18 +0,0 @@ - 'App\Policies\ModelPolicy', - ]; - - /** - * Register any authentication / authorization services. - * - * @return void - */ - public function boot() - { - $this->registerPolicies(); - - // - } -} diff --git a/paragonik-backend/app/Providers/BroadcastServiceProvider.php b/paragonik-backend/app/Providers/BroadcastServiceProvider.php deleted file mode 100644 index 352cce4..0000000 --- a/paragonik-backend/app/Providers/BroadcastServiceProvider.php +++ /dev/null @@ -1,21 +0,0 @@ - [ - SendEmailVerificationNotification::class, - ], - ]; - - /** - * Register any events for your application. - * - * @return void - */ - public function boot() - { - parent::boot(); - - // - } -} diff --git a/paragonik-backend/app/Providers/RouteServiceProvider.php b/paragonik-backend/app/Providers/RouteServiceProvider.php deleted file mode 100644 index 5ea48d3..0000000 --- a/paragonik-backend/app/Providers/RouteServiceProvider.php +++ /dev/null @@ -1,73 +0,0 @@ -mapApiRoutes(); - - $this->mapWebRoutes(); - - // - } - - /** - * Define the "web" routes for the application. - * - * These routes all receive session state, CSRF protection, etc. - * - * @return void - */ - protected function mapWebRoutes() - { - Route::middleware('web') - ->namespace($this->namespace) - ->group(base_path('routes/web.php')); - } - - /** - * Define the "api" routes for the application. - * - * These routes are typically stateless. - * - * @return void - */ - protected function mapApiRoutes() - { - Route::prefix('api') - ->middleware('api') - ->namespace($this->namespace) - ->group(base_path('routes/api.php')); - } -} diff --git a/paragonik-backend/app/User.php b/paragonik-backend/app/User.php deleted file mode 100644 index 373162d..0000000 --- a/paragonik-backend/app/User.php +++ /dev/null @@ -1,45 +0,0 @@ - 'datetime', - ]; - - - public function receipts() - { - return $this->hasMany('App\Models\Receipt'); - } -} diff --git a/paragonik-backend/artisan b/paragonik-backend/artisan deleted file mode 100644 index 5c23e2e..0000000 --- a/paragonik-backend/artisan +++ /dev/null @@ -1,53 +0,0 @@ -#!/usr/bin/env php -make(Illuminate\Contracts\Console\Kernel::class); - -$status = $kernel->handle( - $input = new Symfony\Component\Console\Input\ArgvInput, - new Symfony\Component\Console\Output\ConsoleOutput -); - -/* -|-------------------------------------------------------------------------- -| Shutdown The Application -|-------------------------------------------------------------------------- -| -| Once Artisan has finished running, we will fire off the shutdown events -| so that any final work may be done by the application before we shut -| down the process. This is the last thing to happen to the request. -| -*/ - -$kernel->terminate($input, $status); - -exit($status); diff --git a/paragonik-backend/bootstrap/app.php b/paragonik-backend/bootstrap/app.php deleted file mode 100644 index 037e17d..0000000 --- a/paragonik-backend/bootstrap/app.php +++ /dev/null @@ -1,55 +0,0 @@ -singleton( - Illuminate\Contracts\Http\Kernel::class, - App\Http\Kernel::class -); - -$app->singleton( - Illuminate\Contracts\Console\Kernel::class, - App\Console\Kernel::class -); - -$app->singleton( - Illuminate\Contracts\Debug\ExceptionHandler::class, - App\Exceptions\Handler::class -); - -/* -|-------------------------------------------------------------------------- -| Return The Application -|-------------------------------------------------------------------------- -| -| This script returns the application instance. The instance is given to -| the calling script so we can separate the building of the instances -| from the actual running of the application and sending responses. -| -*/ - -return $app; diff --git a/paragonik-backend/bootstrap/cache/.gitignore b/paragonik-backend/bootstrap/cache/.gitignore deleted file mode 100644 index d6b7ef3..0000000 --- a/paragonik-backend/bootstrap/cache/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -* -!.gitignore diff --git a/paragonik-backend/bootstrap/cache/packages.php b/paragonik-backend/bootstrap/cache/packages.php deleted file mode 100644 index fda779f..0000000 --- a/paragonik-backend/bootstrap/cache/packages.php +++ /dev/null @@ -1,37 +0,0 @@ - - array ( - 'providers' => - array ( - 0 => 'BeyondCode\\DumpServer\\DumpServerServiceProvider', - ), - ), - 'fideloper/proxy' => - array ( - 'providers' => - array ( - 0 => 'Fideloper\\Proxy\\TrustedProxyServiceProvider', - ), - ), - 'laravel/tinker' => - array ( - 'providers' => - array ( - 0 => 'Laravel\\Tinker\\TinkerServiceProvider', - ), - ), - 'nesbot/carbon' => - array ( - 'providers' => - array ( - 0 => 'Carbon\\Laravel\\ServiceProvider', - ), - ), - 'nunomaduro/collision' => - array ( - 'providers' => - array ( - 0 => 'NunoMaduro\\Collision\\Adapters\\Laravel\\CollisionServiceProvider', - ), - ), -); \ No newline at end of file diff --git a/paragonik-backend/bootstrap/cache/services.php b/paragonik-backend/bootstrap/cache/services.php deleted file mode 100644 index c162214..0000000 --- a/paragonik-backend/bootstrap/cache/services.php +++ /dev/null @@ -1,210 +0,0 @@ - - array ( - 0 => 'Illuminate\\Auth\\AuthServiceProvider', - 1 => 'Illuminate\\Broadcasting\\BroadcastServiceProvider', - 2 => 'Illuminate\\Bus\\BusServiceProvider', - 3 => 'Illuminate\\Cache\\CacheServiceProvider', - 4 => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider', - 5 => 'Illuminate\\Cookie\\CookieServiceProvider', - 6 => 'Illuminate\\Database\\DatabaseServiceProvider', - 7 => 'Illuminate\\Encryption\\EncryptionServiceProvider', - 8 => 'Illuminate\\Filesystem\\FilesystemServiceProvider', - 9 => 'Illuminate\\Foundation\\Providers\\FoundationServiceProvider', - 10 => 'Illuminate\\Hashing\\HashServiceProvider', - 11 => 'Illuminate\\Mail\\MailServiceProvider', - 12 => 'Illuminate\\Notifications\\NotificationServiceProvider', - 13 => 'Illuminate\\Pagination\\PaginationServiceProvider', - 14 => 'Illuminate\\Pipeline\\PipelineServiceProvider', - 15 => 'Illuminate\\Queue\\QueueServiceProvider', - 16 => 'Illuminate\\Redis\\RedisServiceProvider', - 17 => 'Illuminate\\Auth\\Passwords\\PasswordResetServiceProvider', - 18 => 'Illuminate\\Session\\SessionServiceProvider', - 19 => 'Illuminate\\Translation\\TranslationServiceProvider', - 20 => 'Illuminate\\Validation\\ValidationServiceProvider', - 21 => 'Illuminate\\View\\ViewServiceProvider', - 22 => 'BeyondCode\\DumpServer\\DumpServerServiceProvider', - 23 => 'Fideloper\\Proxy\\TrustedProxyServiceProvider', - 24 => 'Laravel\\Tinker\\TinkerServiceProvider', - 25 => 'Carbon\\Laravel\\ServiceProvider', - 26 => 'NunoMaduro\\Collision\\Adapters\\Laravel\\CollisionServiceProvider', - 27 => 'App\\Providers\\AppServiceProvider', - 28 => 'App\\Providers\\AuthServiceProvider', - 29 => 'App\\Providers\\EventServiceProvider', - 30 => 'App\\Providers\\RouteServiceProvider', - ), - 'eager' => - array ( - 0 => 'Illuminate\\Auth\\AuthServiceProvider', - 1 => 'Illuminate\\Cookie\\CookieServiceProvider', - 2 => 'Illuminate\\Database\\DatabaseServiceProvider', - 3 => 'Illuminate\\Encryption\\EncryptionServiceProvider', - 4 => 'Illuminate\\Filesystem\\FilesystemServiceProvider', - 5 => 'Illuminate\\Foundation\\Providers\\FoundationServiceProvider', - 6 => 'Illuminate\\Notifications\\NotificationServiceProvider', - 7 => 'Illuminate\\Pagination\\PaginationServiceProvider', - 8 => 'Illuminate\\Session\\SessionServiceProvider', - 9 => 'Illuminate\\View\\ViewServiceProvider', - 10 => 'BeyondCode\\DumpServer\\DumpServerServiceProvider', - 11 => 'Fideloper\\Proxy\\TrustedProxyServiceProvider', - 12 => 'Carbon\\Laravel\\ServiceProvider', - 13 => 'App\\Providers\\AppServiceProvider', - 14 => 'App\\Providers\\AuthServiceProvider', - 15 => 'App\\Providers\\EventServiceProvider', - 16 => 'App\\Providers\\RouteServiceProvider', - ), - 'deferred' => - array ( - 'Illuminate\\Broadcasting\\BroadcastManager' => 'Illuminate\\Broadcasting\\BroadcastServiceProvider', - 'Illuminate\\Contracts\\Broadcasting\\Factory' => 'Illuminate\\Broadcasting\\BroadcastServiceProvider', - 'Illuminate\\Contracts\\Broadcasting\\Broadcaster' => 'Illuminate\\Broadcasting\\BroadcastServiceProvider', - 'Illuminate\\Bus\\Dispatcher' => 'Illuminate\\Bus\\BusServiceProvider', - 'Illuminate\\Contracts\\Bus\\Dispatcher' => 'Illuminate\\Bus\\BusServiceProvider', - 'Illuminate\\Contracts\\Bus\\QueueingDispatcher' => 'Illuminate\\Bus\\BusServiceProvider', - 'cache' => 'Illuminate\\Cache\\CacheServiceProvider', - 'cache.store' => 'Illuminate\\Cache\\CacheServiceProvider', - 'memcached.connector' => 'Illuminate\\Cache\\CacheServiceProvider', - 'command.cache.clear' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider', - 'command.cache.forget' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider', - 'command.clear-compiled' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider', - 'command.auth.resets.clear' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider', - 'command.config.cache' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider', - 'command.config.clear' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider', - 'command.down' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider', - 'command.environment' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider', - 'command.event.cache' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider', - 'command.event.clear' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider', - 'command.event.list' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider', - 'command.key.generate' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider', - 'command.migrate' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider', - 'command.migrate.fresh' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider', - 'command.migrate.install' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider', - 'command.migrate.refresh' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider', - 'command.migrate.reset' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider', - 'command.migrate.rollback' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider', - 'command.migrate.status' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider', - 'command.optimize' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider', - 'command.optimize.clear' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider', - 'command.package.discover' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider', - 'command.preset' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider', - 'command.queue.failed' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider', - 'command.queue.flush' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider', - 'command.queue.forget' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider', - 'command.queue.listen' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider', - 'command.queue.restart' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider', - 'command.queue.retry' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider', - 'command.queue.work' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider', - 'command.route.cache' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider', - 'command.route.clear' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider', - 'command.route.list' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider', - 'command.seed' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider', - 'Illuminate\\Console\\Scheduling\\ScheduleFinishCommand' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider', - 'Illuminate\\Console\\Scheduling\\ScheduleRunCommand' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider', - 'command.storage.link' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider', - 'command.up' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider', - 'command.view.cache' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider', - 'command.view.clear' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider', - 'command.app.name' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider', - 'command.auth.make' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider', - 'command.cache.table' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider', - 'command.channel.make' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider', - 'command.console.make' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider', - 'command.controller.make' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider', - 'command.event.generate' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider', - 'command.event.make' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider', - 'command.exception.make' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider', - 'command.factory.make' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider', - 'command.job.make' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider', - 'command.listener.make' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider', - 'command.mail.make' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider', - 'command.middleware.make' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider', - 'command.migrate.make' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider', - 'command.model.make' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider', - 'command.notification.make' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider', - 'command.notification.table' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider', - 'command.observer.make' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider', - 'command.policy.make' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider', - 'command.provider.make' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider', - 'command.queue.failed-table' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider', - 'command.queue.table' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider', - 'command.request.make' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider', - 'command.resource.make' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider', - 'command.rule.make' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider', - 'command.seeder.make' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider', - 'command.session.table' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider', - 'command.serve' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider', - 'command.test.make' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider', - 'command.vendor.publish' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider', - 'migrator' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider', - 'migration.repository' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider', - 'migration.creator' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider', - 'composer' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider', - 'hash' => 'Illuminate\\Hashing\\HashServiceProvider', - 'hash.driver' => 'Illuminate\\Hashing\\HashServiceProvider', - 'mailer' => 'Illuminate\\Mail\\MailServiceProvider', - 'swift.mailer' => 'Illuminate\\Mail\\MailServiceProvider', - 'swift.transport' => 'Illuminate\\Mail\\MailServiceProvider', - 'Illuminate\\Mail\\Markdown' => 'Illuminate\\Mail\\MailServiceProvider', - 'Illuminate\\Contracts\\Pipeline\\Hub' => 'Illuminate\\Pipeline\\PipelineServiceProvider', - 'queue' => 'Illuminate\\Queue\\QueueServiceProvider', - 'queue.worker' => 'Illuminate\\Queue\\QueueServiceProvider', - 'queue.listener' => 'Illuminate\\Queue\\QueueServiceProvider', - 'queue.failer' => 'Illuminate\\Queue\\QueueServiceProvider', - 'queue.connection' => 'Illuminate\\Queue\\QueueServiceProvider', - 'redis' => 'Illuminate\\Redis\\RedisServiceProvider', - 'redis.connection' => 'Illuminate\\Redis\\RedisServiceProvider', - 'auth.password' => 'Illuminate\\Auth\\Passwords\\PasswordResetServiceProvider', - 'auth.password.broker' => 'Illuminate\\Auth\\Passwords\\PasswordResetServiceProvider', - 'translator' => 'Illuminate\\Translation\\TranslationServiceProvider', - 'translation.loader' => 'Illuminate\\Translation\\TranslationServiceProvider', - 'validator' => 'Illuminate\\Validation\\ValidationServiceProvider', - 'validation.presence' => 'Illuminate\\Validation\\ValidationServiceProvider', - 'command.tinker' => 'Laravel\\Tinker\\TinkerServiceProvider', - 'NunoMaduro\\Collision\\Contracts\\Provider' => 'NunoMaduro\\Collision\\Adapters\\Laravel\\CollisionServiceProvider', - ), - 'when' => - array ( - 'Illuminate\\Broadcasting\\BroadcastServiceProvider' => - array ( - ), - 'Illuminate\\Bus\\BusServiceProvider' => - array ( - ), - 'Illuminate\\Cache\\CacheServiceProvider' => - array ( - ), - 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider' => - array ( - ), - 'Illuminate\\Hashing\\HashServiceProvider' => - array ( - ), - 'Illuminate\\Mail\\MailServiceProvider' => - array ( - ), - 'Illuminate\\Pipeline\\PipelineServiceProvider' => - array ( - ), - 'Illuminate\\Queue\\QueueServiceProvider' => - array ( - ), - 'Illuminate\\Redis\\RedisServiceProvider' => - array ( - ), - 'Illuminate\\Auth\\Passwords\\PasswordResetServiceProvider' => - array ( - ), - 'Illuminate\\Translation\\TranslationServiceProvider' => - array ( - ), - 'Illuminate\\Validation\\ValidationServiceProvider' => - array ( - ), - 'Laravel\\Tinker\\TinkerServiceProvider' => - array ( - ), - 'NunoMaduro\\Collision\\Adapters\\Laravel\\CollisionServiceProvider' => - array ( - ), - ), -); \ No newline at end of file diff --git a/paragonik-backend/composer.json b/paragonik-backend/composer.json deleted file mode 100644 index 8e2b2d7..0000000 --- a/paragonik-backend/composer.json +++ /dev/null @@ -1,62 +0,0 @@ -{ - "name": "laravel/laravel", - "type": "project", - "description": "The Laravel Framework.", - "keywords": [ - "framework", - "laravel" - ], - "license": "MIT", - "require": { - "php": "^7.1.3", - "fideloper/proxy": "^4.0", - "laravel/framework": "5.8.*", - "laravel/tinker": "^1.0" - }, - "require-dev": { - "beyondcode/laravel-dump-server": "^1.0", - "filp/whoops": "^2.0", - "fzaninotto/faker": "^1.4", - "mockery/mockery": "^1.0", - "nunomaduro/collision": "^3.0", - "phpunit/phpunit": "^7.5" - }, - "config": { - "optimize-autoloader": true, - "preferred-install": "dist", - "sort-packages": true - }, - "extra": { - "laravel": { - "dont-discover": [] - } - }, - "autoload": { - "psr-4": { - "App\\": "app/" - }, - "classmap": [ - "database/seeds", - "database/factories" - ] - }, - "autoload-dev": { - "psr-4": { - "Tests\\": "tests/" - } - }, - "minimum-stability": "dev", - "prefer-stable": true, - "scripts": { - "post-autoload-dump": [ - "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump", - "@php artisan package:discover --ansi" - ], - "post-root-package-install": [ - "@php -r \"file_exists('.env') || copy('.env.example', '.env');\"" - ], - "post-create-project-cmd": [ - "@php artisan key:generate --ansi" - ] - } -} diff --git a/paragonik-backend/composer.lock b/paragonik-backend/composer.lock deleted file mode 100644 index 9db1101..0000000 --- a/paragonik-backend/composer.lock +++ /dev/null @@ -1,4736 +0,0 @@ -{ - "_readme": [ - "This file locks the dependencies of your project to a known state", - "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", - "This file is @generated automatically" - ], - "content-hash": "94d4bf9ac7f4a933030e46a346ee2917", - "packages": [ - { - "name": "dnoegel/php-xdg-base-dir", - "version": "0.1", - "source": { - "type": "git", - "url": "https://github.com/dnoegel/php-xdg-base-dir.git", - "reference": "265b8593498b997dc2d31e75b89f053b5cc9621a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/dnoegel/php-xdg-base-dir/zipball/265b8593498b997dc2d31e75b89f053b5cc9621a", - "reference": "265b8593498b997dc2d31e75b89f053b5cc9621a", - "shasum": "" - }, - "require": { - "php": ">=5.3.2" - }, - "require-dev": { - "phpunit/phpunit": "@stable" - }, - "type": "project", - "autoload": { - "psr-4": { - "XdgBaseDir\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "implementation of xdg base directory specification for php", - "time": "2014-10-24T07:27:01+00:00" - }, - { - "name": "doctrine/inflector", - "version": "1.3.1", - "source": { - "type": "git", - "url": "https://github.com/doctrine/inflector.git", - "reference": "ec3a55242203ffa6a4b27c58176da97ff0a7aec1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/inflector/zipball/ec3a55242203ffa6a4b27c58176da97ff0a7aec1", - "reference": "ec3a55242203ffa6a4b27c58176da97ff0a7aec1", - "shasum": "" - }, - "require": { - "php": "^7.1" - }, - "require-dev": { - "phpunit/phpunit": "^6.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3.x-dev" - } - }, - "autoload": { - "psr-4": { - "Doctrine\\Common\\Inflector\\": "lib/Doctrine/Common/Inflector" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" - }, - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { - "name": "Benjamin Eberlei", - "email": "kontakt@beberlei.de" - }, - { - "name": "Jonathan Wage", - "email": "jonwage@gmail.com" - }, - { - "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com" - } - ], - "description": "Common String Manipulations with regard to casing and singular/plural rules.", - "homepage": "http://www.doctrine-project.org", - "keywords": [ - "inflection", - "pluralize", - "singularize", - "string" - ], - "time": "2019-10-30T19:59:35+00:00" - }, - { - "name": "doctrine/lexer", - "version": "1.2.0", - "source": { - "type": "git", - "url": "https://github.com/doctrine/lexer.git", - "reference": "5242d66dbeb21a30dd8a3e66bf7a73b66e05e1f6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/lexer/zipball/5242d66dbeb21a30dd8a3e66bf7a73b66e05e1f6", - "reference": "5242d66dbeb21a30dd8a3e66bf7a73b66e05e1f6", - "shasum": "" - }, - "require": { - "php": "^7.2" - }, - "require-dev": { - "doctrine/coding-standard": "^6.0", - "phpstan/phpstan": "^0.11.8", - "phpunit/phpunit": "^8.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.2.x-dev" - } - }, - "autoload": { - "psr-4": { - "Doctrine\\Common\\Lexer\\": "lib/Doctrine/Common/Lexer" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" - }, - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { - "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com" - } - ], - "description": "PHP Doctrine Lexer parser library that can be used in Top-Down, Recursive Descent Parsers.", - "homepage": "https://www.doctrine-project.org/projects/lexer.html", - "keywords": [ - "annotations", - "docblock", - "lexer", - "parser", - "php" - ], - "time": "2019-10-30T14:39:59+00:00" - }, - { - "name": "dragonmantank/cron-expression", - "version": "v2.3.0", - "source": { - "type": "git", - "url": "https://github.com/dragonmantank/cron-expression.git", - "reference": "72b6fbf76adb3cf5bc0db68559b33d41219aba27" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/dragonmantank/cron-expression/zipball/72b6fbf76adb3cf5bc0db68559b33d41219aba27", - "reference": "72b6fbf76adb3cf5bc0db68559b33d41219aba27", - "shasum": "" - }, - "require": { - "php": "^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^6.4|^7.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.3-dev" - } - }, - "autoload": { - "psr-4": { - "Cron\\": "src/Cron/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - }, - { - "name": "Chris Tankersley", - "email": "chris@ctankersley.com", - "homepage": "https://github.com/dragonmantank" - } - ], - "description": "CRON for PHP: Calculate the next or previous run date and determine if a CRON expression is due", - "keywords": [ - "cron", - "schedule" - ], - "time": "2019-03-31T00:38:28+00:00" - }, - { - "name": "egulias/email-validator", - "version": "2.1.11", - "source": { - "type": "git", - "url": "https://github.com/egulias/EmailValidator.git", - "reference": "92dd169c32f6f55ba570c309d83f5209cefb5e23" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/92dd169c32f6f55ba570c309d83f5209cefb5e23", - "reference": "92dd169c32f6f55ba570c309d83f5209cefb5e23", - "shasum": "" - }, - "require": { - "doctrine/lexer": "^1.0.1", - "php": ">= 5.5" - }, - "require-dev": { - "dominicsayers/isemail": "dev-master", - "phpunit/phpunit": "^4.8.35||^5.7||^6.0", - "satooshi/php-coveralls": "^1.0.1", - "symfony/phpunit-bridge": "^4.4@dev" - }, - "suggest": { - "ext-intl": "PHP Internationalization Libraries are required to use the SpoofChecking validation" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.1.x-dev" - } - }, - "autoload": { - "psr-4": { - "Egulias\\EmailValidator\\": "EmailValidator" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Eduardo Gulias Davis" - } - ], - "description": "A library for validating emails against several RFCs", - "homepage": "https://github.com/egulias/EmailValidator", - "keywords": [ - "email", - "emailvalidation", - "emailvalidator", - "validation", - "validator" - ], - "time": "2019-08-13T17:33:27+00:00" - }, - { - "name": "erusev/parsedown", - "version": "1.7.3", - "source": { - "type": "git", - "url": "https://github.com/erusev/parsedown.git", - "reference": "6d893938171a817f4e9bc9e86f2da1e370b7bcd7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/erusev/parsedown/zipball/6d893938171a817f4e9bc9e86f2da1e370b7bcd7", - "reference": "6d893938171a817f4e9bc9e86f2da1e370b7bcd7", - "shasum": "" - }, - "require": { - "ext-mbstring": "*", - "php": ">=5.3.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35" - }, - "type": "library", - "autoload": { - "psr-0": { - "Parsedown": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Emanuil Rusev", - "email": "hello@erusev.com", - "homepage": "http://erusev.com" - } - ], - "description": "Parser for Markdown.", - "homepage": "http://parsedown.org", - "keywords": [ - "markdown", - "parser" - ], - "time": "2019-03-17T18:48:37+00:00" - }, - { - "name": "fideloper/proxy", - "version": "4.2.1", - "source": { - "type": "git", - "url": "https://github.com/fideloper/TrustedProxy.git", - "reference": "03085e58ec7bee24773fa5a8850751a6e61a7e8a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/fideloper/TrustedProxy/zipball/03085e58ec7bee24773fa5a8850751a6e61a7e8a", - "reference": "03085e58ec7bee24773fa5a8850751a6e61a7e8a", - "shasum": "" - }, - "require": { - "illuminate/contracts": "^5.0|^6.0|^7.0", - "php": ">=5.4.0" - }, - "require-dev": { - "illuminate/http": "^5.0|^6.0|^7.0", - "mockery/mockery": "^1.0", - "phpunit/phpunit": "^6.0" - }, - "type": "library", - "extra": { - "laravel": { - "providers": [ - "Fideloper\\Proxy\\TrustedProxyServiceProvider" - ] - } - }, - "autoload": { - "psr-4": { - "Fideloper\\Proxy\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Chris Fidao", - "email": "fideloper@gmail.com" - } - ], - "description": "Set trusted proxies for Laravel", - "keywords": [ - "load balancing", - "proxy", - "trusted proxy" - ], - "time": "2019-09-03T16:45:42+00:00" - }, - { - "name": "jakub-onderka/php-console-color", - "version": "v0.2", - "source": { - "type": "git", - "url": "https://github.com/JakubOnderka/PHP-Console-Color.git", - "reference": "d5deaecff52a0d61ccb613bb3804088da0307191" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/JakubOnderka/PHP-Console-Color/zipball/d5deaecff52a0d61ccb613bb3804088da0307191", - "reference": "d5deaecff52a0d61ccb613bb3804088da0307191", - "shasum": "" - }, - "require": { - "php": ">=5.4.0" - }, - "require-dev": { - "jakub-onderka/php-code-style": "1.0", - "jakub-onderka/php-parallel-lint": "1.0", - "jakub-onderka/php-var-dump-check": "0.*", - "phpunit/phpunit": "~4.3", - "squizlabs/php_codesniffer": "1.*" - }, - "type": "library", - "autoload": { - "psr-4": { - "JakubOnderka\\PhpConsoleColor\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-2-Clause" - ], - "authors": [ - { - "name": "Jakub Onderka", - "email": "jakub.onderka@gmail.com" - } - ], - "time": "2018-09-29T17:23:10+00:00" - }, - { - "name": "jakub-onderka/php-console-highlighter", - "version": "v0.4", - "source": { - "type": "git", - "url": "https://github.com/JakubOnderka/PHP-Console-Highlighter.git", - "reference": "9f7a229a69d52506914b4bc61bfdb199d90c5547" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/JakubOnderka/PHP-Console-Highlighter/zipball/9f7a229a69d52506914b4bc61bfdb199d90c5547", - "reference": "9f7a229a69d52506914b4bc61bfdb199d90c5547", - "shasum": "" - }, - "require": { - "ext-tokenizer": "*", - "jakub-onderka/php-console-color": "~0.2", - "php": ">=5.4.0" - }, - "require-dev": { - "jakub-onderka/php-code-style": "~1.0", - "jakub-onderka/php-parallel-lint": "~1.0", - "jakub-onderka/php-var-dump-check": "~0.1", - "phpunit/phpunit": "~4.0", - "squizlabs/php_codesniffer": "~1.5" - }, - "type": "library", - "autoload": { - "psr-4": { - "JakubOnderka\\PhpConsoleHighlighter\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jakub Onderka", - "email": "acci@acci.cz", - "homepage": "http://www.acci.cz/" - } - ], - "description": "Highlight PHP code in terminal", - "time": "2018-09-29T18:48:56+00:00" - }, - { - "name": "laravel/framework", - "version": "v5.8.35", - "source": { - "type": "git", - "url": "https://github.com/laravel/framework.git", - "reference": "5a9e4d241a8b815e16c9d2151e908992c38db197" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/5a9e4d241a8b815e16c9d2151e908992c38db197", - "reference": "5a9e4d241a8b815e16c9d2151e908992c38db197", - "shasum": "" - }, - "require": { - "doctrine/inflector": "^1.1", - "dragonmantank/cron-expression": "^2.0", - "egulias/email-validator": "^2.0", - "erusev/parsedown": "^1.7", - "ext-json": "*", - "ext-mbstring": "*", - "ext-openssl": "*", - "league/flysystem": "^1.0.8", - "monolog/monolog": "^1.12", - "nesbot/carbon": "^1.26.3 || ^2.0", - "opis/closure": "^3.1", - "php": "^7.1.3", - "psr/container": "^1.0", - "psr/simple-cache": "^1.0", - "ramsey/uuid": "^3.7", - "swiftmailer/swiftmailer": "^6.0", - "symfony/console": "^4.2", - "symfony/debug": "^4.2", - "symfony/finder": "^4.2", - "symfony/http-foundation": "^4.2", - "symfony/http-kernel": "^4.2", - "symfony/process": "^4.2", - "symfony/routing": "^4.2", - "symfony/var-dumper": "^4.2", - "tijsverkoyen/css-to-inline-styles": "^2.2.1", - "vlucas/phpdotenv": "^3.3" - }, - "conflict": { - "tightenco/collect": "<5.5.33" - }, - "replace": { - "illuminate/auth": "self.version", - "illuminate/broadcasting": "self.version", - "illuminate/bus": "self.version", - "illuminate/cache": "self.version", - "illuminate/config": "self.version", - "illuminate/console": "self.version", - "illuminate/container": "self.version", - "illuminate/contracts": "self.version", - "illuminate/cookie": "self.version", - "illuminate/database": "self.version", - "illuminate/encryption": "self.version", - "illuminate/events": "self.version", - "illuminate/filesystem": "self.version", - "illuminate/hashing": "self.version", - "illuminate/http": "self.version", - "illuminate/log": "self.version", - "illuminate/mail": "self.version", - "illuminate/notifications": "self.version", - "illuminate/pagination": "self.version", - "illuminate/pipeline": "self.version", - "illuminate/queue": "self.version", - "illuminate/redis": "self.version", - "illuminate/routing": "self.version", - "illuminate/session": "self.version", - "illuminate/support": "self.version", - "illuminate/translation": "self.version", - "illuminate/validation": "self.version", - "illuminate/view": "self.version" - }, - "require-dev": { - "aws/aws-sdk-php": "^3.0", - "doctrine/dbal": "^2.6", - "filp/whoops": "^2.1.4", - "guzzlehttp/guzzle": "^6.3", - "league/flysystem-cached-adapter": "^1.0", - "mockery/mockery": "^1.0", - "moontoast/math": "^1.1", - "orchestra/testbench-core": "3.8.*", - "pda/pheanstalk": "^4.0", - "phpunit/phpunit": "^7.5|^8.0", - "predis/predis": "^1.1.1", - "symfony/css-selector": "^4.2", - "symfony/dom-crawler": "^4.2", - "true/punycode": "^2.1" - }, - "suggest": { - "aws/aws-sdk-php": "Required to use the SQS queue driver and SES mail driver (^3.0).", - "doctrine/dbal": "Required to rename columns and drop SQLite columns (^2.6).", - "ext-gd": "Required to use Illuminate\\Http\\Testing\\FileFactory::image().", - "ext-pcntl": "Required to use all features of the queue worker.", - "ext-posix": "Required to use all features of the queue worker.", - "filp/whoops": "Required for friendly error pages in development (^2.1.4).", - "fzaninotto/faker": "Required to use the eloquent factory builder (^1.4).", - "guzzlehttp/guzzle": "Required to use the Mailgun and Mandrill mail drivers and the ping methods on schedules (^6.0).", - "laravel/tinker": "Required to use the tinker console command (^1.0).", - "league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (^1.0).", - "league/flysystem-cached-adapter": "Required to use the Flysystem cache (^1.0).", - "league/flysystem-rackspace": "Required to use the Flysystem Rackspace driver (^1.0).", - "league/flysystem-sftp": "Required to use the Flysystem SFTP driver (^1.0).", - "moontoast/math": "Required to use ordered UUIDs (^1.1).", - "nexmo/client": "Required to use the Nexmo transport (^1.0).", - "pda/pheanstalk": "Required to use the beanstalk queue driver (^4.0).", - "predis/predis": "Required to use the redis cache and queue drivers (^1.0).", - "pusher/pusher-php-server": "Required to use the Pusher broadcast driver (^3.0).", - "symfony/css-selector": "Required to use some of the crawler integration testing tools (^4.2).", - "symfony/dom-crawler": "Required to use most of the crawler integration testing tools (^4.2).", - "symfony/psr-http-message-bridge": "Required to use PSR-7 bridging features (^1.1).", - "wildbit/swiftmailer-postmark": "Required to use Postmark mail driver (^3.0)." - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.8-dev" - } - }, - "autoload": { - "files": [ - "src/Illuminate/Foundation/helpers.php", - "src/Illuminate/Support/helpers.php" - ], - "psr-4": { - "Illuminate\\": "src/Illuminate/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Taylor Otwell", - "email": "taylor@laravel.com" - } - ], - "description": "The Laravel Framework.", - "homepage": "https://laravel.com", - "keywords": [ - "framework", - "laravel" - ], - "time": "2019-09-03T16:44:30+00:00" - }, - { - "name": "laravel/tinker", - "version": "v1.0.10", - "source": { - "type": "git", - "url": "https://github.com/laravel/tinker.git", - "reference": "ad571aacbac1539c30d480908f9d0c9614eaf1a7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/laravel/tinker/zipball/ad571aacbac1539c30d480908f9d0c9614eaf1a7", - "reference": "ad571aacbac1539c30d480908f9d0c9614eaf1a7", - "shasum": "" - }, - "require": { - "illuminate/console": "~5.1|^6.0", - "illuminate/contracts": "~5.1|^6.0", - "illuminate/support": "~5.1|^6.0", - "php": ">=5.5.9", - "psy/psysh": "0.7.*|0.8.*|0.9.*", - "symfony/var-dumper": "~3.0|~4.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.0|~5.0" - }, - "suggest": { - "illuminate/database": "The Illuminate Database package (~5.1)." - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - }, - "laravel": { - "providers": [ - "Laravel\\Tinker\\TinkerServiceProvider" - ] - } - }, - "autoload": { - "psr-4": { - "Laravel\\Tinker\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Taylor Otwell", - "email": "taylor@laravel.com" - } - ], - "description": "Powerful REPL for the Laravel framework.", - "keywords": [ - "REPL", - "Tinker", - "laravel", - "psysh" - ], - "time": "2019-08-07T15:10:45+00:00" - }, - { - "name": "league/flysystem", - "version": "1.0.57", - "source": { - "type": "git", - "url": "https://github.com/thephpleague/flysystem.git", - "reference": "0e9db7f0b96b9f12dcf6f65bc34b72b1a30ea55a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/0e9db7f0b96b9f12dcf6f65bc34b72b1a30ea55a", - "reference": "0e9db7f0b96b9f12dcf6f65bc34b72b1a30ea55a", - "shasum": "" - }, - "require": { - "ext-fileinfo": "*", - "php": ">=5.5.9" - }, - "conflict": { - "league/flysystem-sftp": "<1.0.6" - }, - "require-dev": { - "phpspec/phpspec": "^3.4", - "phpunit/phpunit": "^5.7.10" - }, - "suggest": { - "ext-fileinfo": "Required for MimeType", - "ext-ftp": "Allows you to use FTP server storage", - "ext-openssl": "Allows you to use FTPS server storage", - "league/flysystem-aws-s3-v2": "Allows you to use S3 storage with AWS SDK v2", - "league/flysystem-aws-s3-v3": "Allows you to use S3 storage with AWS SDK v3", - "league/flysystem-azure": "Allows you to use Windows Azure Blob storage", - "league/flysystem-cached-adapter": "Flysystem adapter decorator for metadata caching", - "league/flysystem-eventable-filesystem": "Allows you to use EventableFilesystem", - "league/flysystem-rackspace": "Allows you to use Rackspace Cloud Files", - "league/flysystem-sftp": "Allows you to use SFTP server storage via phpseclib", - "league/flysystem-webdav": "Allows you to use WebDAV storage", - "league/flysystem-ziparchive": "Allows you to use ZipArchive adapter", - "spatie/flysystem-dropbox": "Allows you to use Dropbox storage", - "srmklive/flysystem-dropbox-v2": "Allows you to use Dropbox storage for PHP 5 applications" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.1-dev" - } - }, - "autoload": { - "psr-4": { - "League\\Flysystem\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Frank de Jonge", - "email": "info@frenky.net" - } - ], - "description": "Filesystem abstraction: Many filesystems, one API.", - "keywords": [ - "Cloud Files", - "WebDAV", - "abstraction", - "aws", - "cloud", - "copy.com", - "dropbox", - "file systems", - "files", - "filesystem", - "filesystems", - "ftp", - "rackspace", - "remote", - "s3", - "sftp", - "storage" - ], - "time": "2019-10-16T21:01:05+00:00" - }, - { - "name": "monolog/monolog", - "version": "1.25.2", - "source": { - "type": "git", - "url": "https://github.com/Seldaek/monolog.git", - "reference": "d5e2fb341cb44f7e2ab639d12a1e5901091ec287" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/d5e2fb341cb44f7e2ab639d12a1e5901091ec287", - "reference": "d5e2fb341cb44f7e2ab639d12a1e5901091ec287", - "shasum": "" - }, - "require": { - "php": ">=5.3.0", - "psr/log": "~1.0" - }, - "provide": { - "psr/log-implementation": "1.0.0" - }, - "require-dev": { - "aws/aws-sdk-php": "^2.4.9 || ^3.0", - "doctrine/couchdb": "~1.0@dev", - "graylog2/gelf-php": "~1.0", - "jakub-onderka/php-parallel-lint": "0.9", - "php-amqplib/php-amqplib": "~2.4", - "php-console/php-console": "^3.1.3", - "phpunit/phpunit": "~4.5", - "phpunit/phpunit-mock-objects": "2.3.0", - "ruflin/elastica": ">=0.90 <3.0", - "sentry/sentry": "^0.13", - "swiftmailer/swiftmailer": "^5.3|^6.0" - }, - "suggest": { - "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB", - "doctrine/couchdb": "Allow sending log messages to a CouchDB server", - "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)", - "ext-mongo": "Allow sending log messages to a MongoDB server", - "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server", - "mongodb/mongodb": "Allow sending log messages to a MongoDB server via PHP Driver", - "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib", - "php-console/php-console": "Allow sending log messages to Google Chrome", - "rollbar/rollbar": "Allow sending log messages to Rollbar", - "ruflin/elastica": "Allow sending log messages to an Elastic Search server", - "sentry/sentry": "Allow sending log messages to a Sentry server" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Monolog\\": "src/Monolog" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" - } - ], - "description": "Sends your logs to files, sockets, inboxes, databases and various web services", - "homepage": "http://github.com/Seldaek/monolog", - "keywords": [ - "log", - "logging", - "psr-3" - ], - "time": "2019-11-13T10:00:05+00:00" - }, - { - "name": "nesbot/carbon", - "version": "2.27.0", - "source": { - "type": "git", - "url": "https://github.com/briannesbitt/Carbon.git", - "reference": "13b8485a8690f103bf19cba64879c218b102b726" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/13b8485a8690f103bf19cba64879c218b102b726", - "reference": "13b8485a8690f103bf19cba64879c218b102b726", - "shasum": "" - }, - "require": { - "ext-json": "*", - "php": "^7.1.8 || ^8.0", - "symfony/translation": "^3.4 || ^4.0 || ^5.0" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^2.14 || ^3.0", - "kylekatarnls/multi-tester": "^1.1", - "phpmd/phpmd": "dev-php-7.1-compatibility", - "phpstan/phpstan": "^0.11", - "phpunit/phpunit": "^7.5 || ^8.0", - "squizlabs/php_codesniffer": "^3.4" - }, - "bin": [ - "bin/carbon" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.x-dev" - }, - "laravel": { - "providers": [ - "Carbon\\Laravel\\ServiceProvider" - ] - } - }, - "autoload": { - "psr-4": { - "Carbon\\": "src/Carbon/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Brian Nesbitt", - "email": "brian@nesbot.com", - "homepage": "http://nesbot.com" - }, - { - "name": "kylekatarnls", - "homepage": "http://github.com/kylekatarnls" - } - ], - "description": "An API extension for DateTime that supports 281 different languages.", - "homepage": "http://carbon.nesbot.com", - "keywords": [ - "date", - "datetime", - "time" - ], - "time": "2019-11-20T06:59:06+00:00" - }, - { - "name": "nikic/php-parser", - "version": "v4.3.0", - "source": { - "type": "git", - "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "9a9981c347c5c49d6dfe5cf826bb882b824080dc" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/9a9981c347c5c49d6dfe5cf826bb882b824080dc", - "reference": "9a9981c347c5c49d6dfe5cf826bb882b824080dc", - "shasum": "" - }, - "require": { - "ext-tokenizer": "*", - "php": ">=7.0" - }, - "require-dev": { - "ircmaxell/php-yacc": "0.0.5", - "phpunit/phpunit": "^6.5 || ^7.0 || ^8.0" - }, - "bin": [ - "bin/php-parse" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.3-dev" - } - }, - "autoload": { - "psr-4": { - "PhpParser\\": "lib/PhpParser" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Nikita Popov" - } - ], - "description": "A PHP parser written in PHP", - "keywords": [ - "parser", - "php" - ], - "time": "2019-11-08T13:50:10+00:00" - }, - { - "name": "opis/closure", - "version": "3.5.1", - "source": { - "type": "git", - "url": "https://github.com/opis/closure.git", - "reference": "93ebc5712cdad8d5f489b500c59d122df2e53969" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/opis/closure/zipball/93ebc5712cdad8d5f489b500c59d122df2e53969", - "reference": "93ebc5712cdad8d5f489b500c59d122df2e53969", - "shasum": "" - }, - "require": { - "php": "^5.4 || ^7.0" - }, - "require-dev": { - "jeremeamia/superclosure": "^2.0", - "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.5.x-dev" - } - }, - "autoload": { - "psr-4": { - "Opis\\Closure\\": "src/" - }, - "files": [ - "functions.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marius Sarca", - "email": "marius.sarca@gmail.com" - }, - { - "name": "Sorin Sarca", - "email": "sarca_sorin@hotmail.com" - } - ], - "description": "A library that can be used to serialize closures (anonymous functions) and arbitrary objects.", - "homepage": "https://opis.io/closure", - "keywords": [ - "anonymous functions", - "closure", - "function", - "serializable", - "serialization", - "serialize" - ], - "time": "2019-11-29T22:36:02+00:00" - }, - { - "name": "paragonie/random_compat", - "version": "v9.99.99", - "source": { - "type": "git", - "url": "https://github.com/paragonie/random_compat.git", - "reference": "84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/paragonie/random_compat/zipball/84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95", - "reference": "84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95", - "shasum": "" - }, - "require": { - "php": "^7" - }, - "require-dev": { - "phpunit/phpunit": "4.*|5.*", - "vimeo/psalm": "^1" - }, - "suggest": { - "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes." - }, - "type": "library", - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Paragon Initiative Enterprises", - "email": "security@paragonie.com", - "homepage": "https://paragonie.com" - } - ], - "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7", - "keywords": [ - "csprng", - "polyfill", - "pseudorandom", - "random" - ], - "time": "2018-07-02T15:55:56+00:00" - }, - { - "name": "phpoption/phpoption", - "version": "1.6.0", - "source": { - "type": "git", - "url": "https://github.com/schmittjoh/php-option.git", - "reference": "f4e7a6a1382183412246f0d361078c29fb85089e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/f4e7a6a1382183412246f0d361078c29fb85089e", - "reference": "f4e7a6a1382183412246f0d361078c29fb85089e", - "shasum": "" - }, - "require": { - "php": "^5.5.9 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.0 || ^6.0 || ^7.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.6-dev" - } - }, - "autoload": { - "psr-4": { - "PhpOption\\": "src/PhpOption/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "authors": [ - { - "name": "Johannes M. Schmitt", - "email": "schmittjoh@gmail.com" - }, - { - "name": "Graham Campbell", - "email": "graham@alt-three.com" - } - ], - "description": "Option Type for PHP", - "keywords": [ - "language", - "option", - "php", - "type" - ], - "time": "2019-11-30T20:20:49+00:00" - }, - { - "name": "psr/container", - "version": "1.0.0", - "source": { - "type": "git", - "url": "https://github.com/php-fig/container.git", - "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/container/zipball/b7ce3b176482dbbc1245ebf52b181af44c2cf55f", - "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Container\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common Container Interface (PHP FIG PSR-11)", - "homepage": "https://github.com/php-fig/container", - "keywords": [ - "PSR-11", - "container", - "container-interface", - "container-interop", - "psr" - ], - "time": "2017-02-14T16:28:37+00:00" - }, - { - "name": "psr/log", - "version": "1.1.2", - "source": { - "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "446d54b4cb6bf489fc9d75f55843658e6f25d801" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/446d54b4cb6bf489fc9d75f55843658e6f25d801", - "reference": "446d54b4cb6bf489fc9d75f55843658e6f25d801", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.1.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Log\\": "Psr/Log/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interface for logging libraries", - "homepage": "https://github.com/php-fig/log", - "keywords": [ - "log", - "psr", - "psr-3" - ], - "time": "2019-11-01T11:05:21+00:00" - }, - { - "name": "psr/simple-cache", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/php-fig/simple-cache.git", - "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", - "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\SimpleCache\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interfaces for simple caching", - "keywords": [ - "cache", - "caching", - "psr", - "psr-16", - "simple-cache" - ], - "time": "2017-10-23T01:57:42+00:00" - }, - { - "name": "psy/psysh", - "version": "v0.9.11", - "source": { - "type": "git", - "url": "https://github.com/bobthecow/psysh.git", - "reference": "75d9ac1c16db676de27ab554a4152b594be4748e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/bobthecow/psysh/zipball/75d9ac1c16db676de27ab554a4152b594be4748e", - "reference": "75d9ac1c16db676de27ab554a4152b594be4748e", - "shasum": "" - }, - "require": { - "dnoegel/php-xdg-base-dir": "0.1", - "ext-json": "*", - "ext-tokenizer": "*", - "jakub-onderka/php-console-highlighter": "0.3.*|0.4.*", - "nikic/php-parser": "~1.3|~2.0|~3.0|~4.0", - "php": ">=5.4.0", - "symfony/console": "~2.3.10|^2.4.2|~3.0|~4.0|~5.0", - "symfony/var-dumper": "~2.7|~3.0|~4.0|~5.0" - }, - "require-dev": { - "bamarni/composer-bin-plugin": "^1.2", - "hoa/console": "~2.15|~3.16", - "phpunit/phpunit": "~4.8.35|~5.0|~6.0|~7.0" - }, - "suggest": { - "ext-pcntl": "Enabling the PCNTL extension makes PsySH a lot happier :)", - "ext-pdo-sqlite": "The doc command requires SQLite to work.", - "ext-posix": "If you have PCNTL, you'll want the POSIX extension as well.", - "ext-readline": "Enables support for arrow-key history navigation, and showing and manipulating command history.", - "hoa/console": "A pure PHP readline implementation. You'll want this if your PHP install doesn't already support readline or libedit." - }, - "bin": [ - "bin/psysh" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-develop": "0.9.x-dev" - } - }, - "autoload": { - "files": [ - "src/functions.php" - ], - "psr-4": { - "Psy\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Justin Hileman", - "email": "justin@justinhileman.info", - "homepage": "http://justinhileman.com" - } - ], - "description": "An interactive shell for modern PHP.", - "homepage": "http://psysh.org", - "keywords": [ - "REPL", - "console", - "interactive", - "shell" - ], - "time": "2019-11-27T22:44:29+00:00" - }, - { - "name": "ramsey/uuid", - "version": "3.9.1", - "source": { - "type": "git", - "url": "https://github.com/ramsey/uuid.git", - "reference": "5ac2740e0c8c599d2bbe7f113a939f2b5b216c67" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/ramsey/uuid/zipball/5ac2740e0c8c599d2bbe7f113a939f2b5b216c67", - "reference": "5ac2740e0c8c599d2bbe7f113a939f2b5b216c67", - "shasum": "" - }, - "require": { - "ext-json": "*", - "paragonie/random_compat": "^1 | ^2 | 9.99.99", - "php": "^5.4 | ^7", - "symfony/polyfill-ctype": "^1.8" - }, - "replace": { - "rhumsaa/uuid": "self.version" - }, - "require-dev": { - "codeception/aspect-mock": "^1 | ^2", - "doctrine/annotations": "^1.2", - "goaop/framework": "1.0.0-alpha.2 | ^1 | ^2.1", - "jakub-onderka/php-parallel-lint": "^0.9.0", - "mockery/mockery": "^0.9.9", - "moontoast/math": "^1.1", - "paragonie/random-lib": "^2", - "php-mock/php-mock-phpunit": "^0.3 | ^1.1", - "phpunit/phpunit": "^4.8 | ^5.4 | ^6.5", - "squizlabs/php_codesniffer": "^2.3" - }, - "suggest": { - "ext-ctype": "Provides support for PHP Ctype functions", - "ext-libsodium": "Provides the PECL libsodium extension for use with the SodiumRandomGenerator", - "ext-openssl": "Provides the OpenSSL extension for use with the OpenSslGenerator", - "ext-uuid": "Provides the PECL UUID extension for use with the PeclUuidTimeGenerator and PeclUuidRandomGenerator", - "moontoast/math": "Provides support for converting UUID to 128-bit integer (in string form).", - "paragonie/random-lib": "Provides RandomLib for use with the RandomLibAdapter", - "ramsey/uuid-console": "A console application for generating UUIDs with ramsey/uuid", - "ramsey/uuid-doctrine": "Allows the use of Ramsey\\Uuid\\Uuid as Doctrine field type." - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.x-dev" - } - }, - "autoload": { - "psr-4": { - "Ramsey\\Uuid\\": "src/" - }, - "files": [ - "src/functions.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Ben Ramsey", - "email": "ben@benramsey.com", - "homepage": "https://benramsey.com" - }, - { - "name": "Marijn Huizendveld", - "email": "marijn.huizendveld@gmail.com" - }, - { - "name": "Thibaud Fabre", - "email": "thibaud@aztech.io" - } - ], - "description": "Formerly rhumsaa/uuid. A PHP 5.4+ library for generating RFC 4122 version 1, 3, 4, and 5 universally unique identifiers (UUID).", - "homepage": "https://github.com/ramsey/uuid", - "keywords": [ - "guid", - "identifier", - "uuid" - ], - "time": "2019-12-01T04:55:27+00:00" - }, - { - "name": "swiftmailer/swiftmailer", - "version": "v6.2.3", - "source": { - "type": "git", - "url": "https://github.com/swiftmailer/swiftmailer.git", - "reference": "149cfdf118b169f7840bbe3ef0d4bc795d1780c9" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/149cfdf118b169f7840bbe3ef0d4bc795d1780c9", - "reference": "149cfdf118b169f7840bbe3ef0d4bc795d1780c9", - "shasum": "" - }, - "require": { - "egulias/email-validator": "~2.0", - "php": ">=7.0.0", - "symfony/polyfill-iconv": "^1.0", - "symfony/polyfill-intl-idn": "^1.10", - "symfony/polyfill-mbstring": "^1.0" - }, - "require-dev": { - "mockery/mockery": "~0.9.1", - "symfony/phpunit-bridge": "^3.4.19|^4.1.8" - }, - "suggest": { - "ext-intl": "Needed to support internationalized email addresses", - "true/punycode": "Needed to support internationalized email addresses, if ext-intl is not installed" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "6.2-dev" - } - }, - "autoload": { - "files": [ - "lib/swift_required.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Chris Corbyn" - }, - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - } - ], - "description": "Swiftmailer, free feature-rich PHP mailer", - "homepage": "https://swiftmailer.symfony.com", - "keywords": [ - "email", - "mail", - "mailer" - ], - "time": "2019-11-12T09:31:26+00:00" - }, - { - "name": "symfony/console", - "version": "v4.4.1", - "source": { - "type": "git", - "url": "https://github.com/symfony/console.git", - "reference": "f0aea3df20d15635b3cb9730ca5eea1c65b7f201" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/f0aea3df20d15635b3cb9730ca5eea1c65b7f201", - "reference": "f0aea3df20d15635b3cb9730ca5eea1c65b7f201", - "shasum": "" - }, - "require": { - "php": "^7.1.3", - "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php73": "^1.8", - "symfony/service-contracts": "^1.1|^2" - }, - "conflict": { - "symfony/dependency-injection": "<3.4", - "symfony/event-dispatcher": "<4.3|>=5", - "symfony/lock": "<4.4", - "symfony/process": "<3.3" - }, - "provide": { - "psr/log-implementation": "1.0" - }, - "require-dev": { - "psr/log": "~1.0", - "symfony/config": "^3.4|^4.0|^5.0", - "symfony/dependency-injection": "^3.4|^4.0|^5.0", - "symfony/event-dispatcher": "^4.3", - "symfony/lock": "^4.4|^5.0", - "symfony/process": "^3.4|^4.0|^5.0", - "symfony/var-dumper": "^4.3|^5.0" - }, - "suggest": { - "psr/log": "For using the console logger", - "symfony/event-dispatcher": "", - "symfony/lock": "", - "symfony/process": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.4-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Console\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Console Component", - "homepage": "https://symfony.com", - "time": "2019-12-01T10:06:17+00:00" - }, - { - "name": "symfony/css-selector", - "version": "v4.4.1", - "source": { - "type": "git", - "url": "https://github.com/symfony/css-selector.git", - "reference": "64acec7e0d67125e9f4656c68d4a38a42ab5a0b7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/css-selector/zipball/64acec7e0d67125e9f4656c68d4a38a42ab5a0b7", - "reference": "64acec7e0d67125e9f4656c68d4a38a42ab5a0b7", - "shasum": "" - }, - "require": { - "php": "^7.1.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.4-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\CssSelector\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Jean-François Simon", - "email": "jeanfrancois.simon@sensiolabs.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony CssSelector Component", - "homepage": "https://symfony.com", - "time": "2019-10-12T00:35:04+00:00" - }, - { - "name": "symfony/debug", - "version": "v4.4.1", - "source": { - "type": "git", - "url": "https://github.com/symfony/debug.git", - "reference": "b8600a1d7d20b0e80906398bb1f50612fa074a8e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/debug/zipball/b8600a1d7d20b0e80906398bb1f50612fa074a8e", - "reference": "b8600a1d7d20b0e80906398bb1f50612fa074a8e", - "shasum": "" - }, - "require": { - "php": "^7.1.3", - "psr/log": "~1.0" - }, - "conflict": { - "symfony/http-kernel": "<3.4" - }, - "require-dev": { - "symfony/http-kernel": "^3.4|^4.0|^5.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.4-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Debug\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Debug Component", - "homepage": "https://symfony.com", - "time": "2019-11-28T13:33:56+00:00" - }, - { - "name": "symfony/error-handler", - "version": "v4.4.1", - "source": { - "type": "git", - "url": "https://github.com/symfony/error-handler.git", - "reference": "a1ad02d62789efed1d2b2796f1c15e0c6a00fc3b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/a1ad02d62789efed1d2b2796f1c15e0c6a00fc3b", - "reference": "a1ad02d62789efed1d2b2796f1c15e0c6a00fc3b", - "shasum": "" - }, - "require": { - "php": "^7.1.3", - "psr/log": "~1.0", - "symfony/debug": "^4.4", - "symfony/var-dumper": "^4.4|^5.0" - }, - "require-dev": { - "symfony/http-kernel": "^4.4|^5.0", - "symfony/serializer": "^4.4|^5.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.4-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\ErrorHandler\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony ErrorHandler Component", - "homepage": "https://symfony.com", - "time": "2019-12-01T08:46:01+00:00" - }, - { - "name": "symfony/event-dispatcher", - "version": "v4.4.1", - "source": { - "type": "git", - "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "b3c3068a72623287550fe20b84a2b01dcba2686f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/b3c3068a72623287550fe20b84a2b01dcba2686f", - "reference": "b3c3068a72623287550fe20b84a2b01dcba2686f", - "shasum": "" - }, - "require": { - "php": "^7.1.3", - "symfony/event-dispatcher-contracts": "^1.1" - }, - "conflict": { - "symfony/dependency-injection": "<3.4" - }, - "provide": { - "psr/event-dispatcher-implementation": "1.0", - "symfony/event-dispatcher-implementation": "1.1" - }, - "require-dev": { - "psr/log": "~1.0", - "symfony/config": "^3.4|^4.0|^5.0", - "symfony/dependency-injection": "^3.4|^4.0|^5.0", - "symfony/expression-language": "^3.4|^4.0|^5.0", - "symfony/http-foundation": "^3.4|^4.0|^5.0", - "symfony/service-contracts": "^1.1|^2", - "symfony/stopwatch": "^3.4|^4.0|^5.0" - }, - "suggest": { - "symfony/dependency-injection": "", - "symfony/http-kernel": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.4-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\EventDispatcher\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony EventDispatcher Component", - "homepage": "https://symfony.com", - "time": "2019-11-28T13:33:56+00:00" - }, - { - "name": "symfony/event-dispatcher-contracts", - "version": "v1.1.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/event-dispatcher-contracts.git", - "reference": "c43ab685673fb6c8d84220c77897b1d6cdbe1d18" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/c43ab685673fb6c8d84220c77897b1d6cdbe1d18", - "reference": "c43ab685673fb6c8d84220c77897b1d6cdbe1d18", - "shasum": "" - }, - "require": { - "php": "^7.1.3" - }, - "suggest": { - "psr/event-dispatcher": "", - "symfony/event-dispatcher-implementation": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.1-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Contracts\\EventDispatcher\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Generic abstractions related to dispatching event", - "homepage": "https://symfony.com", - "keywords": [ - "abstractions", - "contracts", - "decoupling", - "interfaces", - "interoperability", - "standards" - ], - "time": "2019-09-17T09:54:03+00:00" - }, - { - "name": "symfony/finder", - "version": "v4.4.1", - "source": { - "type": "git", - "url": "https://github.com/symfony/finder.git", - "reference": "ce8743441da64c41e2a667b8eb66070444ed911e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/ce8743441da64c41e2a667b8eb66070444ed911e", - "reference": "ce8743441da64c41e2a667b8eb66070444ed911e", - "shasum": "" - }, - "require": { - "php": "^7.1.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.4-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Finder\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Finder Component", - "homepage": "https://symfony.com", - "time": "2019-11-17T21:56:56+00:00" - }, - { - "name": "symfony/http-foundation", - "version": "v4.4.1", - "source": { - "type": "git", - "url": "https://github.com/symfony/http-foundation.git", - "reference": "8bccc59e61b41963d14c3dbdb23181e5c932a1d5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/8bccc59e61b41963d14c3dbdb23181e5c932a1d5", - "reference": "8bccc59e61b41963d14c3dbdb23181e5c932a1d5", - "shasum": "" - }, - "require": { - "php": "^7.1.3", - "symfony/mime": "^4.3|^5.0", - "symfony/polyfill-mbstring": "~1.1" - }, - "require-dev": { - "predis/predis": "~1.0", - "symfony/expression-language": "^3.4|^4.0|^5.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.4-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\HttpFoundation\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony HttpFoundation Component", - "homepage": "https://symfony.com", - "time": "2019-11-28T13:33:56+00:00" - }, - { - "name": "symfony/http-kernel", - "version": "v4.4.1", - "source": { - "type": "git", - "url": "https://github.com/symfony/http-kernel.git", - "reference": "e4187780ed26129ee86d5234afbebf085e144f88" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/e4187780ed26129ee86d5234afbebf085e144f88", - "reference": "e4187780ed26129ee86d5234afbebf085e144f88", - "shasum": "" - }, - "require": { - "php": "^7.1.3", - "psr/log": "~1.0", - "symfony/error-handler": "^4.4", - "symfony/event-dispatcher": "^4.4", - "symfony/http-foundation": "^4.4|^5.0", - "symfony/polyfill-ctype": "^1.8", - "symfony/polyfill-php73": "^1.9" - }, - "conflict": { - "symfony/browser-kit": "<4.3", - "symfony/config": "<3.4", - "symfony/console": ">=5", - "symfony/dependency-injection": "<4.3", - "symfony/translation": "<4.2", - "twig/twig": "<1.34|<2.4,>=2" - }, - "provide": { - "psr/log-implementation": "1.0" - }, - "require-dev": { - "psr/cache": "~1.0", - "symfony/browser-kit": "^4.3|^5.0", - "symfony/config": "^3.4|^4.0|^5.0", - "symfony/console": "^3.4|^4.0", - "symfony/css-selector": "^3.4|^4.0|^5.0", - "symfony/dependency-injection": "^4.3|^5.0", - "symfony/dom-crawler": "^3.4|^4.0|^5.0", - "symfony/expression-language": "^3.4|^4.0|^5.0", - "symfony/finder": "^3.4|^4.0|^5.0", - "symfony/process": "^3.4|^4.0|^5.0", - "symfony/routing": "^3.4|^4.0|^5.0", - "symfony/stopwatch": "^3.4|^4.0|^5.0", - "symfony/templating": "^3.4|^4.0|^5.0", - "symfony/translation": "^4.2|^5.0", - "symfony/translation-contracts": "^1.1|^2", - "twig/twig": "^1.34|^2.4|^3.0" - }, - "suggest": { - "symfony/browser-kit": "", - "symfony/config": "", - "symfony/console": "", - "symfony/dependency-injection": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.4-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\HttpKernel\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony HttpKernel Component", - "homepage": "https://symfony.com", - "time": "2019-12-01T14:06:38+00:00" - }, - { - "name": "symfony/mime", - "version": "v4.4.1", - "source": { - "type": "git", - "url": "https://github.com/symfony/mime.git", - "reference": "010cc488e56cafe5f7494dea70aea93100c234df" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/010cc488e56cafe5f7494dea70aea93100c234df", - "reference": "010cc488e56cafe5f7494dea70aea93100c234df", - "shasum": "" - }, - "require": { - "php": "^7.1.3", - "symfony/polyfill-intl-idn": "^1.10", - "symfony/polyfill-mbstring": "^1.0" - }, - "conflict": { - "symfony/mailer": "<4.4" - }, - "require-dev": { - "egulias/email-validator": "^2.1.10", - "symfony/dependency-injection": "^3.4|^4.1|^5.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.4-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Mime\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "A library to manipulate MIME messages", - "homepage": "https://symfony.com", - "keywords": [ - "mime", - "mime-type" - ], - "time": "2019-11-30T08:27:26+00:00" - }, - { - "name": "symfony/polyfill-ctype", - "version": "v1.13.1", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "f8f0b461be3385e56d6de3dbb5a0df24c0c275e3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/f8f0b461be3385e56d6de3dbb5a0df24c0c275e3", - "reference": "f8f0b461be3385e56d6de3dbb5a0df24c0c275e3", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "suggest": { - "ext-ctype": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.13-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Ctype\\": "" - }, - "files": [ - "bootstrap.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Gert de Pagter", - "email": "BackEndTea@gmail.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for ctype functions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "ctype", - "polyfill", - "portable" - ], - "time": "2019-11-27T13:56:44+00:00" - }, - { - "name": "symfony/polyfill-iconv", - "version": "v1.13.1", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-iconv.git", - "reference": "a019efccc03f1a335af6b4f20c30f5ea8060be36" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/a019efccc03f1a335af6b4f20c30f5ea8060be36", - "reference": "a019efccc03f1a335af6b4f20c30f5ea8060be36", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "suggest": { - "ext-iconv": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.13-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Iconv\\": "" - }, - "files": [ - "bootstrap.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for the Iconv extension", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "iconv", - "polyfill", - "portable", - "shim" - ], - "time": "2019-11-27T13:56:44+00:00" - }, - { - "name": "symfony/polyfill-intl-idn", - "version": "v1.13.1", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-intl-idn.git", - "reference": "6f9c239e61e1b0c9229a28ff89a812dc449c3d46" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/6f9c239e61e1b0c9229a28ff89a812dc449c3d46", - "reference": "6f9c239e61e1b0c9229a28ff89a812dc449c3d46", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "symfony/polyfill-mbstring": "^1.3", - "symfony/polyfill-php72": "^1.9" - }, - "suggest": { - "ext-intl": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.13-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Intl\\Idn\\": "" - }, - "files": [ - "bootstrap.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Laurent Bassin", - "email": "laurent@bassin.info" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for intl's idn_to_ascii and idn_to_utf8 functions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "idn", - "intl", - "polyfill", - "portable", - "shim" - ], - "time": "2019-11-27T13:56:44+00:00" - }, - { - "name": "symfony/polyfill-mbstring", - "version": "v1.13.1", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "7b4aab9743c30be783b73de055d24a39cf4b954f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/7b4aab9743c30be783b73de055d24a39cf4b954f", - "reference": "7b4aab9743c30be783b73de055d24a39cf4b954f", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "suggest": { - "ext-mbstring": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.13-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Mbstring\\": "" - }, - "files": [ - "bootstrap.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for the Mbstring extension", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "mbstring", - "polyfill", - "portable", - "shim" - ], - "time": "2019-11-27T14:18:11+00:00" - }, - { - "name": "symfony/polyfill-php72", - "version": "v1.13.1", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php72.git", - "reference": "66fea50f6cb37a35eea048d75a7d99a45b586038" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/66fea50f6cb37a35eea048d75a7d99a45b586038", - "reference": "66fea50f6cb37a35eea048d75a7d99a45b586038", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.13-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Php72\\": "" - }, - "files": [ - "bootstrap.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "time": "2019-11-27T13:56:44+00:00" - }, - { - "name": "symfony/polyfill-php73", - "version": "v1.13.1", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php73.git", - "reference": "4b0e2222c55a25b4541305a053013d5647d3a25f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/4b0e2222c55a25b4541305a053013d5647d3a25f", - "reference": "4b0e2222c55a25b4541305a053013d5647d3a25f", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.13-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Php73\\": "" - }, - "files": [ - "bootstrap.php" - ], - "classmap": [ - "Resources/stubs" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill backporting some PHP 7.3+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "time": "2019-11-27T16:25:15+00:00" - }, - { - "name": "symfony/process", - "version": "v4.4.1", - "source": { - "type": "git", - "url": "https://github.com/symfony/process.git", - "reference": "51c0135ef3f44c5803b33dc60e96bf4f77752726" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/51c0135ef3f44c5803b33dc60e96bf4f77752726", - "reference": "51c0135ef3f44c5803b33dc60e96bf4f77752726", - "shasum": "" - }, - "require": { - "php": "^7.1.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.4-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Process\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Process Component", - "homepage": "https://symfony.com", - "time": "2019-11-28T13:33:56+00:00" - }, - { - "name": "symfony/routing", - "version": "v4.4.1", - "source": { - "type": "git", - "url": "https://github.com/symfony/routing.git", - "reference": "51f3f20ad29329a0bdf5c0e2f722d3764b065273" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/51f3f20ad29329a0bdf5c0e2f722d3764b065273", - "reference": "51f3f20ad29329a0bdf5c0e2f722d3764b065273", - "shasum": "" - }, - "require": { - "php": "^7.1.3" - }, - "conflict": { - "symfony/config": "<4.2", - "symfony/dependency-injection": "<3.4", - "symfony/yaml": "<3.4" - }, - "require-dev": { - "doctrine/annotations": "~1.2", - "psr/log": "~1.0", - "symfony/config": "^4.2|^5.0", - "symfony/dependency-injection": "^3.4|^4.0|^5.0", - "symfony/expression-language": "^3.4|^4.0|^5.0", - "symfony/http-foundation": "^3.4|^4.0|^5.0", - "symfony/yaml": "^3.4|^4.0|^5.0" - }, - "suggest": { - "doctrine/annotations": "For using the annotation loader", - "symfony/config": "For using the all-in-one router or any loader", - "symfony/expression-language": "For using expression matching", - "symfony/http-foundation": "For using a Symfony Request object", - "symfony/yaml": "For using the YAML loader" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.4-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Routing\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Routing Component", - "homepage": "https://symfony.com", - "keywords": [ - "router", - "routing", - "uri", - "url" - ], - "time": "2019-12-01T08:39:58+00:00" - }, - { - "name": "symfony/service-contracts", - "version": "v1.1.8", - "source": { - "type": "git", - "url": "https://github.com/symfony/service-contracts.git", - "reference": "ffc7f5692092df31515df2a5ecf3b7302b3ddacf" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/ffc7f5692092df31515df2a5ecf3b7302b3ddacf", - "reference": "ffc7f5692092df31515df2a5ecf3b7302b3ddacf", - "shasum": "" - }, - "require": { - "php": "^7.1.3", - "psr/container": "^1.0" - }, - "suggest": { - "symfony/service-implementation": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.1-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Contracts\\Service\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Generic abstractions related to writing services", - "homepage": "https://symfony.com", - "keywords": [ - "abstractions", - "contracts", - "decoupling", - "interfaces", - "interoperability", - "standards" - ], - "time": "2019-10-14T12:27:06+00:00" - }, - { - "name": "symfony/translation", - "version": "v4.4.1", - "source": { - "type": "git", - "url": "https://github.com/symfony/translation.git", - "reference": "897fb68ee7933372517b551d6f08c6d4bb0b8c40" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/897fb68ee7933372517b551d6f08c6d4bb0b8c40", - "reference": "897fb68ee7933372517b551d6f08c6d4bb0b8c40", - "shasum": "" - }, - "require": { - "php": "^7.1.3", - "symfony/polyfill-mbstring": "~1.0", - "symfony/translation-contracts": "^1.1.6|^2" - }, - "conflict": { - "symfony/config": "<3.4", - "symfony/dependency-injection": "<3.4", - "symfony/http-kernel": "<4.4", - "symfony/yaml": "<3.4" - }, - "provide": { - "symfony/translation-implementation": "1.0" - }, - "require-dev": { - "psr/log": "~1.0", - "symfony/config": "^3.4|^4.0|^5.0", - "symfony/console": "^3.4|^4.0|^5.0", - "symfony/dependency-injection": "^3.4|^4.0|^5.0", - "symfony/finder": "~2.8|~3.0|~4.0|^5.0", - "symfony/http-kernel": "^4.4", - "symfony/intl": "^3.4|^4.0|^5.0", - "symfony/service-contracts": "^1.1.2|^2", - "symfony/yaml": "^3.4|^4.0|^5.0" - }, - "suggest": { - "psr/log-implementation": "To use logging capability in translator", - "symfony/config": "", - "symfony/yaml": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.4-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Translation\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Translation Component", - "homepage": "https://symfony.com", - "time": "2019-11-12T17:18:47+00:00" - }, - { - "name": "symfony/translation-contracts", - "version": "v1.1.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/translation-contracts.git", - "reference": "364518c132c95642e530d9b2d217acbc2ccac3e6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/364518c132c95642e530d9b2d217acbc2ccac3e6", - "reference": "364518c132c95642e530d9b2d217acbc2ccac3e6", - "shasum": "" - }, - "require": { - "php": "^7.1.3" - }, - "suggest": { - "symfony/translation-implementation": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.1-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Contracts\\Translation\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Generic abstractions related to translation", - "homepage": "https://symfony.com", - "keywords": [ - "abstractions", - "contracts", - "decoupling", - "interfaces", - "interoperability", - "standards" - ], - "time": "2019-09-17T11:12:18+00:00" - }, - { - "name": "symfony/var-dumper", - "version": "v4.4.1", - "source": { - "type": "git", - "url": "https://github.com/symfony/var-dumper.git", - "reference": "0a89a1dbbedd9fb2cfb2336556dec8305273c19a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/0a89a1dbbedd9fb2cfb2336556dec8305273c19a", - "reference": "0a89a1dbbedd9fb2cfb2336556dec8305273c19a", - "shasum": "" - }, - "require": { - "php": "^7.1.3", - "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php72": "~1.5" - }, - "conflict": { - "phpunit/phpunit": "<4.8.35|<5.4.3,>=5.0", - "symfony/console": "<3.4" - }, - "require-dev": { - "ext-iconv": "*", - "symfony/console": "^3.4|^4.0|^5.0", - "symfony/process": "^4.4|^5.0", - "twig/twig": "^1.34|^2.4|^3.0" - }, - "suggest": { - "ext-iconv": "To convert non-UTF-8 strings to UTF-8 (or symfony/polyfill-iconv in case ext-iconv cannot be used).", - "ext-intl": "To show region name in time zone dump", - "symfony/console": "To use the ServerDumpCommand and/or the bin/var-dump-server script" - }, - "bin": [ - "Resources/bin/var-dump-server" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.4-dev" - } - }, - "autoload": { - "files": [ - "Resources/functions/dump.php" - ], - "psr-4": { - "Symfony\\Component\\VarDumper\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony mechanism for exploring and dumping PHP variables", - "homepage": "https://symfony.com", - "keywords": [ - "debug", - "dump" - ], - "time": "2019-11-28T13:33:56+00:00" - }, - { - "name": "tijsverkoyen/css-to-inline-styles", - "version": "2.2.2", - "source": { - "type": "git", - "url": "https://github.com/tijsverkoyen/CssToInlineStyles.git", - "reference": "dda2ee426acd6d801d5b7fd1001cde9b5f790e15" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/dda2ee426acd6d801d5b7fd1001cde9b5f790e15", - "reference": "dda2ee426acd6d801d5b7fd1001cde9b5f790e15", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-libxml": "*", - "php": "^5.5 || ^7.0", - "symfony/css-selector": "^2.7 || ^3.0 || ^4.0 || ^5.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.2.x-dev" - } - }, - "autoload": { - "psr-4": { - "TijsVerkoyen\\CssToInlineStyles\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Tijs Verkoyen", - "email": "css_to_inline_styles@verkoyen.eu", - "role": "Developer" - } - ], - "description": "CssToInlineStyles is a class that enables you to convert HTML-pages/files into HTML-pages/files with inline styles. This is very useful when you're sending emails.", - "homepage": "https://github.com/tijsverkoyen/CssToInlineStyles", - "time": "2019-10-24T08:53:34+00:00" - }, - { - "name": "vlucas/phpdotenv", - "version": "v3.6.0", - "source": { - "type": "git", - "url": "https://github.com/vlucas/phpdotenv.git", - "reference": "1bdf24f065975594f6a117f0f1f6cabf1333b156" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/1bdf24f065975594f6a117f0f1f6cabf1333b156", - "reference": "1bdf24f065975594f6a117f0f1f6cabf1333b156", - "shasum": "" - }, - "require": { - "php": "^5.4 || ^7.0", - "phpoption/phpoption": "^1.5", - "symfony/polyfill-ctype": "^1.9" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.0 || ^6.0 || ^7.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.6-dev" - } - }, - "autoload": { - "psr-4": { - "Dotenv\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Graham Campbell", - "email": "graham@alt-three.com", - "homepage": "https://gjcampbell.co.uk/" - }, - { - "name": "Vance Lucas", - "email": "vance@vancelucas.com", - "homepage": "https://vancelucas.com/" - } - ], - "description": "Loads environment variables from `.env` to `getenv()`, `$_ENV` and `$_SERVER` automagically.", - "keywords": [ - "dotenv", - "env", - "environment" - ], - "time": "2019-09-10T21:37:39+00:00" - } - ], - "packages-dev": [ - { - "name": "beyondcode/laravel-dump-server", - "version": "1.3.0", - "source": { - "type": "git", - "url": "https://github.com/beyondcode/laravel-dump-server.git", - "reference": "fcc88fa66895f8c1ff83f6145a5eff5fa2a0739a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/beyondcode/laravel-dump-server/zipball/fcc88fa66895f8c1ff83f6145a5eff5fa2a0739a", - "reference": "fcc88fa66895f8c1ff83f6145a5eff5fa2a0739a", - "shasum": "" - }, - "require": { - "illuminate/console": "5.6.*|5.7.*|5.8.*|^6.0", - "illuminate/http": "5.6.*|5.7.*|5.8.*|^6.0", - "illuminate/support": "5.6.*|5.7.*|5.8.*|^6.0", - "php": "^7.1", - "symfony/var-dumper": "^4.1.1" - }, - "require-dev": { - "larapack/dd": "^1.0", - "phpunit/phpunit": "^7.0" - }, - "type": "library", - "extra": { - "laravel": { - "providers": [ - "BeyondCode\\DumpServer\\DumpServerServiceProvider" - ] - } - }, - "autoload": { - "psr-4": { - "BeyondCode\\DumpServer\\": "src" - }, - "files": [ - "helpers.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marcel Pociot", - "email": "marcel@beyondco.de", - "homepage": "https://beyondco.de", - "role": "Developer" - } - ], - "description": "Symfony Var-Dump Server for Laravel", - "homepage": "https://github.com/beyondcode/laravel-dump-server", - "keywords": [ - "beyondcode", - "laravel-dump-server" - ], - "time": "2019-08-11T13:17:40+00:00" - }, - { - "name": "doctrine/instantiator", - "version": "1.3.0", - "source": { - "type": "git", - "url": "https://github.com/doctrine/instantiator.git", - "reference": "ae466f726242e637cebdd526a7d991b9433bacf1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/ae466f726242e637cebdd526a7d991b9433bacf1", - "reference": "ae466f726242e637cebdd526a7d991b9433bacf1", - "shasum": "" - }, - "require": { - "php": "^7.1" - }, - "require-dev": { - "doctrine/coding-standard": "^6.0", - "ext-pdo": "*", - "ext-phar": "*", - "phpbench/phpbench": "^0.13", - "phpstan/phpstan-phpunit": "^0.11", - "phpstan/phpstan-shim": "^0.11", - "phpunit/phpunit": "^7.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.2.x-dev" - } - }, - "autoload": { - "psr-4": { - "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com", - "homepage": "http://ocramius.github.com/" - } - ], - "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", - "homepage": "https://www.doctrine-project.org/projects/instantiator.html", - "keywords": [ - "constructor", - "instantiate" - ], - "time": "2019-10-21T16:45:58+00:00" - }, - { - "name": "filp/whoops", - "version": "2.5.0", - "source": { - "type": "git", - "url": "https://github.com/filp/whoops.git", - "reference": "cde50e6720a39fdacb240159d3eea6865d51fd96" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/filp/whoops/zipball/cde50e6720a39fdacb240159d3eea6865d51fd96", - "reference": "cde50e6720a39fdacb240159d3eea6865d51fd96", - "shasum": "" - }, - "require": { - "php": "^5.5.9 || ^7.0", - "psr/log": "^1.0.1" - }, - "require-dev": { - "mockery/mockery": "^0.9 || ^1.0", - "phpunit/phpunit": "^4.8.35 || ^5.7", - "symfony/var-dumper": "^2.6 || ^3.0 || ^4.0" - }, - "suggest": { - "symfony/var-dumper": "Pretty print complex values better with var-dumper available", - "whoops/soap": "Formats errors as SOAP responses" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.2-dev" - } - }, - "autoload": { - "psr-4": { - "Whoops\\": "src/Whoops/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Filipe Dobreira", - "homepage": "https://github.com/filp", - "role": "Developer" - } - ], - "description": "php error handling for cool kids", - "homepage": "https://filp.github.io/whoops/", - "keywords": [ - "error", - "exception", - "handling", - "library", - "throwable", - "whoops" - ], - "time": "2019-08-07T09:00:00+00:00" - }, - { - "name": "fzaninotto/faker", - "version": "v1.9.0", - "source": { - "type": "git", - "url": "https://github.com/fzaninotto/Faker.git", - "reference": "27a216cbe72327b2d6369fab721a5843be71e57d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/fzaninotto/Faker/zipball/27a216cbe72327b2d6369fab721a5843be71e57d", - "reference": "27a216cbe72327b2d6369fab721a5843be71e57d", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "ext-intl": "*", - "phpunit/phpunit": "^4.8.35 || ^5.7", - "squizlabs/php_codesniffer": "^2.9.2" - }, - "type": "library", - "extra": { - "branch-alias": [] - }, - "autoload": { - "psr-4": { - "Faker\\": "src/Faker/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "François Zaninotto" - } - ], - "description": "Faker is a PHP library that generates fake data for you.", - "keywords": [ - "data", - "faker", - "fixtures" - ], - "time": "2019-11-14T13:13:06+00:00" - }, - { - "name": "hamcrest/hamcrest-php", - "version": "v2.0.0", - "source": { - "type": "git", - "url": "https://github.com/hamcrest/hamcrest-php.git", - "reference": "776503d3a8e85d4f9a1148614f95b7a608b046ad" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/hamcrest/hamcrest-php/zipball/776503d3a8e85d4f9a1148614f95b7a608b046ad", - "reference": "776503d3a8e85d4f9a1148614f95b7a608b046ad", - "shasum": "" - }, - "require": { - "php": "^5.3|^7.0" - }, - "replace": { - "cordoval/hamcrest-php": "*", - "davedevelopment/hamcrest-php": "*", - "kodova/hamcrest-php": "*" - }, - "require-dev": { - "phpunit/php-file-iterator": "1.3.3", - "phpunit/phpunit": "~4.0", - "satooshi/php-coveralls": "^1.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0-dev" - } - }, - "autoload": { - "classmap": [ - "hamcrest" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD" - ], - "description": "This is the PHP port of Hamcrest Matchers", - "keywords": [ - "test" - ], - "time": "2016-01-20T08:20:44+00:00" - }, - { - "name": "mockery/mockery", - "version": "1.3.0", - "source": { - "type": "git", - "url": "https://github.com/mockery/mockery.git", - "reference": "5571962a4f733fbb57bede39778f71647fae8e66" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/mockery/mockery/zipball/5571962a4f733fbb57bede39778f71647fae8e66", - "reference": "5571962a4f733fbb57bede39778f71647fae8e66", - "shasum": "" - }, - "require": { - "hamcrest/hamcrest-php": "~2.0", - "lib-pcre": ">=7.0", - "php": ">=5.6.0", - "sebastian/comparator": "^1.2.4|^3.0" - }, - "require-dev": { - "phpunit/phpunit": "~5.7.10|~6.5|~7.0|~8.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.2.x-dev" - } - }, - "autoload": { - "psr-0": { - "Mockery": "library/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Pádraic Brady", - "email": "padraic.brady@gmail.com", - "homepage": "http://blog.astrumfutura.com" - }, - { - "name": "Dave Marshall", - "email": "dave.marshall@atstsolutions.co.uk", - "homepage": "http://davedevelopment.co.uk" - } - ], - "description": "Mockery is a simple yet flexible PHP mock object framework", - "homepage": "https://github.com/mockery/mockery", - "keywords": [ - "BDD", - "TDD", - "library", - "mock", - "mock objects", - "mockery", - "stub", - "test", - "test double", - "testing" - ], - "time": "2019-11-24T07:54:50+00:00" - }, - { - "name": "myclabs/deep-copy", - "version": "1.9.3", - "source": { - "type": "git", - "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "007c053ae6f31bba39dfa19a7726f56e9763bbea" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/007c053ae6f31bba39dfa19a7726f56e9763bbea", - "reference": "007c053ae6f31bba39dfa19a7726f56e9763bbea", - "shasum": "" - }, - "require": { - "php": "^7.1" - }, - "replace": { - "myclabs/deep-copy": "self.version" - }, - "require-dev": { - "doctrine/collections": "^1.0", - "doctrine/common": "^2.6", - "phpunit/phpunit": "^7.1" - }, - "type": "library", - "autoload": { - "psr-4": { - "DeepCopy\\": "src/DeepCopy/" - }, - "files": [ - "src/DeepCopy/deep_copy.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "Create deep copies (clones) of your objects", - "keywords": [ - "clone", - "copy", - "duplicate", - "object", - "object graph" - ], - "time": "2019-08-09T12:45:53+00:00" - }, - { - "name": "nunomaduro/collision", - "version": "v3.0.1", - "source": { - "type": "git", - "url": "https://github.com/nunomaduro/collision.git", - "reference": "af42d339fe2742295a54f6fdd42aaa6f8c4aca68" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/nunomaduro/collision/zipball/af42d339fe2742295a54f6fdd42aaa6f8c4aca68", - "reference": "af42d339fe2742295a54f6fdd42aaa6f8c4aca68", - "shasum": "" - }, - "require": { - "filp/whoops": "^2.1.4", - "jakub-onderka/php-console-highlighter": "0.3.*|0.4.*", - "php": "^7.1", - "symfony/console": "~2.8|~3.3|~4.0" - }, - "require-dev": { - "laravel/framework": "5.8.*", - "nunomaduro/larastan": "^0.3.0", - "phpstan/phpstan": "^0.11", - "phpunit/phpunit": "~8.0" - }, - "type": "library", - "extra": { - "laravel": { - "providers": [ - "NunoMaduro\\Collision\\Adapters\\Laravel\\CollisionServiceProvider" - ] - } - }, - "autoload": { - "psr-4": { - "NunoMaduro\\Collision\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nuno Maduro", - "email": "enunomaduro@gmail.com" - } - ], - "description": "Cli error handling for console/command-line PHP applications.", - "keywords": [ - "artisan", - "cli", - "command-line", - "console", - "error", - "handling", - "laravel", - "laravel-zero", - "php", - "symfony" - ], - "time": "2019-03-07T21:35:13+00:00" - }, - { - "name": "phar-io/manifest", - "version": "1.0.3", - "source": { - "type": "git", - "url": "https://github.com/phar-io/manifest.git", - "reference": "7761fcacf03b4d4f16e7ccb606d4879ca431fcf4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phar-io/manifest/zipball/7761fcacf03b4d4f16e7ccb606d4879ca431fcf4", - "reference": "7761fcacf03b4d4f16e7ccb606d4879ca431fcf4", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-phar": "*", - "phar-io/version": "^2.0", - "php": "^5.6 || ^7.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Arne Blankerts", - "email": "arne@blankerts.de", - "role": "Developer" - }, - { - "name": "Sebastian Heuer", - "email": "sebastian@phpeople.de", - "role": "Developer" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "Developer" - } - ], - "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", - "time": "2018-07-08T19:23:20+00:00" - }, - { - "name": "phar-io/version", - "version": "2.0.1", - "source": { - "type": "git", - "url": "https://github.com/phar-io/version.git", - "reference": "45a2ec53a73c70ce41d55cedef9063630abaf1b6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phar-io/version/zipball/45a2ec53a73c70ce41d55cedef9063630abaf1b6", - "reference": "45a2ec53a73c70ce41d55cedef9063630abaf1b6", - "shasum": "" - }, - "require": { - "php": "^5.6 || ^7.0" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Arne Blankerts", - "email": "arne@blankerts.de", - "role": "Developer" - }, - { - "name": "Sebastian Heuer", - "email": "sebastian@phpeople.de", - "role": "Developer" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "Developer" - } - ], - "description": "Library for handling version information and constraints", - "time": "2018-07-08T19:19:57+00:00" - }, - { - "name": "phpdocumentor/reflection-common", - "version": "2.0.0", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionCommon.git", - "reference": "63a995caa1ca9e5590304cd845c15ad6d482a62a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/63a995caa1ca9e5590304cd845c15ad6d482a62a", - "reference": "63a995caa1ca9e5590304cd845c15ad6d482a62a", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "require-dev": { - "phpunit/phpunit": "~6" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.x-dev" - } - }, - "autoload": { - "psr-4": { - "phpDocumentor\\Reflection\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jaap van Otterdijk", - "email": "opensource@ijaap.nl" - } - ], - "description": "Common reflection classes used by phpdocumentor to reflect the code structure", - "homepage": "http://www.phpdoc.org", - "keywords": [ - "FQSEN", - "phpDocumentor", - "phpdoc", - "reflection", - "static analysis" - ], - "time": "2018-08-07T13:53:10+00:00" - }, - { - "name": "phpdocumentor/reflection-docblock", - "version": "4.3.2", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "b83ff7cfcfee7827e1e78b637a5904fe6a96698e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/b83ff7cfcfee7827e1e78b637a5904fe6a96698e", - "reference": "b83ff7cfcfee7827e1e78b637a5904fe6a96698e", - "shasum": "" - }, - "require": { - "php": "^7.0", - "phpdocumentor/reflection-common": "^1.0.0 || ^2.0.0", - "phpdocumentor/type-resolver": "~0.4 || ^1.0.0", - "webmozart/assert": "^1.0" - }, - "require-dev": { - "doctrine/instantiator": "^1.0.5", - "mockery/mockery": "^1.0", - "phpunit/phpunit": "^6.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.x-dev" - } - }, - "autoload": { - "psr-4": { - "phpDocumentor\\Reflection\\": [ - "src/" - ] - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mike van Riel", - "email": "me@mikevanriel.com" - } - ], - "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", - "time": "2019-09-12T14:27:41+00:00" - }, - { - "name": "phpdocumentor/type-resolver", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "2e32a6d48972b2c1976ed5d8967145b6cec4a4a9" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/2e32a6d48972b2c1976ed5d8967145b6cec4a4a9", - "reference": "2e32a6d48972b2c1976ed5d8967145b6cec4a4a9", - "shasum": "" - }, - "require": { - "php": "^7.1", - "phpdocumentor/reflection-common": "^2.0" - }, - "require-dev": { - "ext-tokenizer": "^7.1", - "mockery/mockery": "~1", - "phpunit/phpunit": "^7.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.x-dev" - } - }, - "autoload": { - "psr-4": { - "phpDocumentor\\Reflection\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mike van Riel", - "email": "me@mikevanriel.com" - } - ], - "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names", - "time": "2019-08-22T18:11:29+00:00" - }, - { - "name": "phpspec/prophecy", - "version": "1.9.0", - "source": { - "type": "git", - "url": "https://github.com/phpspec/prophecy.git", - "reference": "f6811d96d97bdf400077a0cc100ae56aa32b9203" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/f6811d96d97bdf400077a0cc100ae56aa32b9203", - "reference": "f6811d96d97bdf400077a0cc100ae56aa32b9203", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "php": "^5.3|^7.0", - "phpdocumentor/reflection-docblock": "^2.0|^3.0.2|^4.0|^5.0", - "sebastian/comparator": "^1.1|^2.0|^3.0", - "sebastian/recursion-context": "^1.0|^2.0|^3.0" - }, - "require-dev": { - "phpspec/phpspec": "^2.5|^3.2", - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5 || ^7.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.8.x-dev" - } - }, - "autoload": { - "psr-4": { - "Prophecy\\": "src/Prophecy" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com", - "homepage": "http://everzet.com" - }, - { - "name": "Marcello Duarte", - "email": "marcello.duarte@gmail.com" - } - ], - "description": "Highly opinionated mocking framework for PHP 5.3+", - "homepage": "https://github.com/phpspec/prophecy", - "keywords": [ - "Double", - "Dummy", - "fake", - "mock", - "spy", - "stub" - ], - "time": "2019-10-03T11:07:50+00:00" - }, - { - "name": "phpunit/php-code-coverage", - "version": "6.1.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "807e6013b00af69b6c5d9ceb4282d0393dbb9d8d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/807e6013b00af69b6c5d9ceb4282d0393dbb9d8d", - "reference": "807e6013b00af69b6c5d9ceb4282d0393dbb9d8d", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-xmlwriter": "*", - "php": "^7.1", - "phpunit/php-file-iterator": "^2.0", - "phpunit/php-text-template": "^1.2.1", - "phpunit/php-token-stream": "^3.0", - "sebastian/code-unit-reverse-lookup": "^1.0.1", - "sebastian/environment": "^3.1 || ^4.0", - "sebastian/version": "^2.0.1", - "theseer/tokenizer": "^1.1" - }, - "require-dev": { - "phpunit/phpunit": "^7.0" - }, - "suggest": { - "ext-xdebug": "^2.6.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "6.1-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", - "homepage": "https://github.com/sebastianbergmann/php-code-coverage", - "keywords": [ - "coverage", - "testing", - "xunit" - ], - "time": "2018-10-31T16:06:48+00:00" - }, - { - "name": "phpunit/php-file-iterator", - "version": "2.0.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "050bedf145a257b1ff02746c31894800e5122946" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/050bedf145a257b1ff02746c31894800e5122946", - "reference": "050bedf145a257b1ff02746c31894800e5122946", - "shasum": "" - }, - "require": { - "php": "^7.1" - }, - "require-dev": { - "phpunit/phpunit": "^7.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "FilterIterator implementation that filters files based on a list of suffixes.", - "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", - "keywords": [ - "filesystem", - "iterator" - ], - "time": "2018-09-13T20:33:42+00:00" - }, - { - "name": "phpunit/php-text-template", - "version": "1.2.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Simple template engine.", - "homepage": "https://github.com/sebastianbergmann/php-text-template/", - "keywords": [ - "template" - ], - "time": "2015-06-21T13:50:34+00:00" - }, - { - "name": "phpunit/php-timer", - "version": "2.1.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "1038454804406b0b5f5f520358e78c1c2f71501e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/1038454804406b0b5f5f520358e78c1c2f71501e", - "reference": "1038454804406b0b5f5f520358e78c1c2f71501e", - "shasum": "" - }, - "require": { - "php": "^7.1" - }, - "require-dev": { - "phpunit/phpunit": "^7.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.1-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Utility class for timing", - "homepage": "https://github.com/sebastianbergmann/php-timer/", - "keywords": [ - "timer" - ], - "time": "2019-06-07T04:22:29+00:00" - }, - { - "name": "phpunit/php-token-stream", - "version": "3.1.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-token-stream.git", - "reference": "995192df77f63a59e47f025390d2d1fdf8f425ff" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/995192df77f63a59e47f025390d2d1fdf8f425ff", - "reference": "995192df77f63a59e47f025390d2d1fdf8f425ff", - "shasum": "" - }, - "require": { - "ext-tokenizer": "*", - "php": "^7.1" - }, - "require-dev": { - "phpunit/phpunit": "^7.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.1-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Wrapper around PHP's tokenizer extension.", - "homepage": "https://github.com/sebastianbergmann/php-token-stream/", - "keywords": [ - "tokenizer" - ], - "time": "2019-09-17T06:23:10+00:00" - }, - { - "name": "phpunit/phpunit", - "version": "7.5.17", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "4c92a15296e58191a4cd74cff3b34fc8e374174a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/4c92a15296e58191a4cd74cff3b34fc8e374174a", - "reference": "4c92a15296e58191a4cd74cff3b34fc8e374174a", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.1", - "ext-dom": "*", - "ext-json": "*", - "ext-libxml": "*", - "ext-mbstring": "*", - "ext-xml": "*", - "myclabs/deep-copy": "^1.7", - "phar-io/manifest": "^1.0.2", - "phar-io/version": "^2.0", - "php": "^7.1", - "phpspec/prophecy": "^1.7", - "phpunit/php-code-coverage": "^6.0.7", - "phpunit/php-file-iterator": "^2.0.1", - "phpunit/php-text-template": "^1.2.1", - "phpunit/php-timer": "^2.1", - "sebastian/comparator": "^3.0", - "sebastian/diff": "^3.0", - "sebastian/environment": "^4.0", - "sebastian/exporter": "^3.1", - "sebastian/global-state": "^2.0", - "sebastian/object-enumerator": "^3.0.3", - "sebastian/resource-operations": "^2.0", - "sebastian/version": "^2.0.1" - }, - "conflict": { - "phpunit/phpunit-mock-objects": "*" - }, - "require-dev": { - "ext-pdo": "*" - }, - "suggest": { - "ext-soap": "*", - "ext-xdebug": "*", - "phpunit/php-invoker": "^2.0" - }, - "bin": [ - "phpunit" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "7.5-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "The PHP Unit Testing framework.", - "homepage": "https://phpunit.de/", - "keywords": [ - "phpunit", - "testing", - "xunit" - ], - "time": "2019-10-28T10:37:36+00:00" - }, - { - "name": "sebastian/code-unit-reverse-lookup", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", - "reference": "4419fcdb5eabb9caa61a27c7a1db532a6b55dd18" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/4419fcdb5eabb9caa61a27c7a1db532a6b55dd18", - "reference": "4419fcdb5eabb9caa61a27c7a1db532a6b55dd18", - "shasum": "" - }, - "require": { - "php": "^5.6 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^5.7 || ^6.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Looks up which function or method a line of code belongs to", - "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", - "time": "2017-03-04T06:30:41+00:00" - }, - { - "name": "sebastian/comparator", - "version": "3.0.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "5de4fc177adf9bce8df98d8d141a7559d7ccf6da" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/5de4fc177adf9bce8df98d8d141a7559d7ccf6da", - "reference": "5de4fc177adf9bce8df98d8d141a7559d7ccf6da", - "shasum": "" - }, - "require": { - "php": "^7.1", - "sebastian/diff": "^3.0", - "sebastian/exporter": "^3.1" - }, - "require-dev": { - "phpunit/phpunit": "^7.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@2bepublished.at" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Provides the functionality to compare PHP values for equality", - "homepage": "https://github.com/sebastianbergmann/comparator", - "keywords": [ - "comparator", - "compare", - "equality" - ], - "time": "2018-07-12T15:12:46+00:00" - }, - { - "name": "sebastian/diff", - "version": "3.0.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "720fcc7e9b5cf384ea68d9d930d480907a0c1a29" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/720fcc7e9b5cf384ea68d9d930d480907a0c1a29", - "reference": "720fcc7e9b5cf384ea68d9d930d480907a0c1a29", - "shasum": "" - }, - "require": { - "php": "^7.1" - }, - "require-dev": { - "phpunit/phpunit": "^7.5 || ^8.0", - "symfony/process": "^2 || ^3.3 || ^4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Kore Nordmann", - "email": "mail@kore-nordmann.de" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Diff implementation", - "homepage": "https://github.com/sebastianbergmann/diff", - "keywords": [ - "diff", - "udiff", - "unidiff", - "unified diff" - ], - "time": "2019-02-04T06:01:07+00:00" - }, - { - "name": "sebastian/environment", - "version": "4.2.3", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "464c90d7bdf5ad4e8a6aea15c091fec0603d4368" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/464c90d7bdf5ad4e8a6aea15c091fec0603d4368", - "reference": "464c90d7bdf5ad4e8a6aea15c091fec0603d4368", - "shasum": "" - }, - "require": { - "php": "^7.1" - }, - "require-dev": { - "phpunit/phpunit": "^7.5" - }, - "suggest": { - "ext-posix": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.2-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Provides functionality to handle HHVM/PHP environments", - "homepage": "http://www.github.com/sebastianbergmann/environment", - "keywords": [ - "Xdebug", - "environment", - "hhvm" - ], - "time": "2019-11-20T08:46:58+00:00" - }, - { - "name": "sebastian/exporter", - "version": "3.1.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "68609e1261d215ea5b21b7987539cbfbe156ec3e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/68609e1261d215ea5b21b7987539cbfbe156ec3e", - "reference": "68609e1261d215ea5b21b7987539cbfbe156ec3e", - "shasum": "" - }, - "require": { - "php": "^7.0", - "sebastian/recursion-context": "^3.0" - }, - "require-dev": { - "ext-mbstring": "*", - "phpunit/phpunit": "^6.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.1.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@gmail.com" - } - ], - "description": "Provides the functionality to export PHP variables for visualization", - "homepage": "http://www.github.com/sebastianbergmann/exporter", - "keywords": [ - "export", - "exporter" - ], - "time": "2019-09-14T09:02:43+00:00" - }, - { - "name": "sebastian/global-state", - "version": "2.0.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4", - "reference": "e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4", - "shasum": "" - }, - "require": { - "php": "^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^6.0" - }, - "suggest": { - "ext-uopz": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Snapshotting of global state", - "homepage": "http://www.github.com/sebastianbergmann/global-state", - "keywords": [ - "global state" - ], - "time": "2017-04-27T15:39:26+00:00" - }, - { - "name": "sebastian/object-enumerator", - "version": "3.0.3", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/object-enumerator.git", - "reference": "7cfd9e65d11ffb5af41198476395774d4c8a84c5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/7cfd9e65d11ffb5af41198476395774d4c8a84c5", - "reference": "7cfd9e65d11ffb5af41198476395774d4c8a84c5", - "shasum": "" - }, - "require": { - "php": "^7.0", - "sebastian/object-reflector": "^1.1.1", - "sebastian/recursion-context": "^3.0" - }, - "require-dev": { - "phpunit/phpunit": "^6.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Traverses array structures and object graphs to enumerate all referenced objects", - "homepage": "https://github.com/sebastianbergmann/object-enumerator/", - "time": "2017-08-03T12:35:26+00:00" - }, - { - "name": "sebastian/object-reflector", - "version": "1.1.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/object-reflector.git", - "reference": "773f97c67f28de00d397be301821b06708fca0be" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/773f97c67f28de00d397be301821b06708fca0be", - "reference": "773f97c67f28de00d397be301821b06708fca0be", - "shasum": "" - }, - "require": { - "php": "^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^6.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.1-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Allows reflection of object attributes, including inherited and non-public ones", - "homepage": "https://github.com/sebastianbergmann/object-reflector/", - "time": "2017-03-29T09:07:27+00:00" - }, - { - "name": "sebastian/recursion-context", - "version": "3.0.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8", - "reference": "5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8", - "shasum": "" - }, - "require": { - "php": "^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^6.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" - } - ], - "description": "Provides functionality to recursively process PHP variables", - "homepage": "http://www.github.com/sebastianbergmann/recursion-context", - "time": "2017-03-03T06:23:57+00:00" - }, - { - "name": "sebastian/resource-operations", - "version": "2.0.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/resource-operations.git", - "reference": "4d7a795d35b889bf80a0cc04e08d77cedfa917a9" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/4d7a795d35b889bf80a0cc04e08d77cedfa917a9", - "reference": "4d7a795d35b889bf80a0cc04e08d77cedfa917a9", - "shasum": "" - }, - "require": { - "php": "^7.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Provides a list of PHP built-in functions that operate on resources", - "homepage": "https://www.github.com/sebastianbergmann/resource-operations", - "time": "2018-10-04T04:07:39+00:00" - }, - { - "name": "sebastian/version", - "version": "2.0.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/version.git", - "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/99732be0ddb3361e16ad77b68ba41efc8e979019", - "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019", - "shasum": "" - }, - "require": { - "php": ">=5.6" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Library that helps with managing the version number of Git-hosted PHP projects", - "homepage": "https://github.com/sebastianbergmann/version", - "time": "2016-10-03T07:35:21+00:00" - }, - { - "name": "theseer/tokenizer", - "version": "1.1.3", - "source": { - "type": "git", - "url": "https://github.com/theseer/tokenizer.git", - "reference": "11336f6f84e16a720dae9d8e6ed5019efa85a0f9" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/theseer/tokenizer/zipball/11336f6f84e16a720dae9d8e6ed5019efa85a0f9", - "reference": "11336f6f84e16a720dae9d8e6ed5019efa85a0f9", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-tokenizer": "*", - "ext-xmlwriter": "*", - "php": "^7.0" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Arne Blankerts", - "email": "arne@blankerts.de", - "role": "Developer" - } - ], - "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", - "time": "2019-06-13T22:48:21+00:00" - }, - { - "name": "webmozart/assert", - "version": "1.6.0", - "source": { - "type": "git", - "url": "https://github.com/webmozart/assert.git", - "reference": "573381c0a64f155a0d9a23f4b0c797194805b925" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/webmozart/assert/zipball/573381c0a64f155a0d9a23f4b0c797194805b925", - "reference": "573381c0a64f155a0d9a23f4b0c797194805b925", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0", - "symfony/polyfill-ctype": "^1.8" - }, - "conflict": { - "vimeo/psalm": "<3.6.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.36 || ^7.5.13" - }, - "type": "library", - "autoload": { - "psr-4": { - "Webmozart\\Assert\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Bernhard Schussek", - "email": "bschussek@gmail.com" - } - ], - "description": "Assertions to validate method input/output with nice error messages.", - "keywords": [ - "assert", - "check", - "validate" - ], - "time": "2019-11-24T13:36:37+00:00" - } - ], - "aliases": [], - "minimum-stability": "dev", - "stability-flags": [], - "prefer-stable": true, - "prefer-lowest": false, - "platform": { - "php": "^7.1.3" - }, - "platform-dev": [] -} diff --git a/paragonik-backend/config/app.php b/paragonik-backend/config/app.php deleted file mode 100644 index c9960cd..0000000 --- a/paragonik-backend/config/app.php +++ /dev/null @@ -1,231 +0,0 @@ - env('APP_NAME', 'Laravel'), - - /* - |-------------------------------------------------------------------------- - | Application Environment - |-------------------------------------------------------------------------- - | - | This value determines the "environment" your application is currently - | running in. This may determine how you prefer to configure various - | services the application utilizes. Set this in your ".env" file. - | - */ - - 'env' => env('APP_ENV', 'production'), - - /* - |-------------------------------------------------------------------------- - | Application Debug Mode - |-------------------------------------------------------------------------- - | - | When your application is in debug mode, detailed error messages with - | stack traces will be shown on every error that occurs within your - | application. If disabled, a simple generic error page is shown. - | - */ - - 'debug' => env('APP_DEBUG', false), - - /* - |-------------------------------------------------------------------------- - | Application URL - |-------------------------------------------------------------------------- - | - | This URL is used by the console to properly generate URLs when using - | the Artisan command line tool. You should set this to the root of - | your application so that it is used when running Artisan tasks. - | - */ - - 'url' => env('APP_URL', 'http://localhost'), - - 'asset_url' => env('ASSET_URL', null), - - /* - |-------------------------------------------------------------------------- - | Application Timezone - |-------------------------------------------------------------------------- - | - | Here you may specify the default timezone for your application, which - | will be used by the PHP date and date-time functions. We have gone - | ahead and set this to a sensible default for you out of the box. - | - */ - - 'timezone' => 'UTC', - - /* - |-------------------------------------------------------------------------- - | Application Locale Configuration - |-------------------------------------------------------------------------- - | - | The application locale determines the default locale that will be used - | by the translation service provider. You are free to set this value - | to any of the locales which will be supported by the application. - | - */ - - 'locale' => 'en', - - /* - |-------------------------------------------------------------------------- - | Application Fallback Locale - |-------------------------------------------------------------------------- - | - | The fallback locale determines the locale to use when the current one - | is not available. You may change the value to correspond to any of - | the language folders that are provided through your application. - | - */ - - 'fallback_locale' => 'en', - - /* - |-------------------------------------------------------------------------- - | Faker Locale - |-------------------------------------------------------------------------- - | - | This locale will be used by the Faker PHP library when generating fake - | data for your database seeds. For example, this will be used to get - | localized telephone numbers, street address information and more. - | - */ - - 'faker_locale' => 'en_US', - - /* - |-------------------------------------------------------------------------- - | Encryption Key - |-------------------------------------------------------------------------- - | - | This key is used by the Illuminate encrypter service and should be set - | to a random, 32 character string, otherwise these encrypted strings - | will not be safe. Please do this before deploying an application! - | - */ - - 'key' => env('APP_KEY'), - - 'cipher' => 'AES-256-CBC', - - /* - |-------------------------------------------------------------------------- - | Autoloaded Service Providers - |-------------------------------------------------------------------------- - | - | The service providers listed here will be automatically loaded on the - | request to your application. Feel free to add your own services to - | this array to grant expanded functionality to your applications. - | - */ - - 'providers' => [ - - /* - * Laravel Framework Service Providers... - */ - Illuminate\Auth\AuthServiceProvider::class, - Illuminate\Broadcasting\BroadcastServiceProvider::class, - Illuminate\Bus\BusServiceProvider::class, - Illuminate\Cache\CacheServiceProvider::class, - Illuminate\Foundation\Providers\ConsoleSupportServiceProvider::class, - Illuminate\Cookie\CookieServiceProvider::class, - Illuminate\Database\DatabaseServiceProvider::class, - Illuminate\Encryption\EncryptionServiceProvider::class, - Illuminate\Filesystem\FilesystemServiceProvider::class, - Illuminate\Foundation\Providers\FoundationServiceProvider::class, - Illuminate\Hashing\HashServiceProvider::class, - Illuminate\Mail\MailServiceProvider::class, - Illuminate\Notifications\NotificationServiceProvider::class, - Illuminate\Pagination\PaginationServiceProvider::class, - Illuminate\Pipeline\PipelineServiceProvider::class, - Illuminate\Queue\QueueServiceProvider::class, - Illuminate\Redis\RedisServiceProvider::class, - Illuminate\Auth\Passwords\PasswordResetServiceProvider::class, - Illuminate\Session\SessionServiceProvider::class, - Illuminate\Translation\TranslationServiceProvider::class, - Illuminate\Validation\ValidationServiceProvider::class, - Illuminate\View\ViewServiceProvider::class, - - /* - * Package Service Providers... - */ - - /* - * Application Service Providers... - */ - App\Providers\AppServiceProvider::class, - App\Providers\AuthServiceProvider::class, - // App\Providers\BroadcastServiceProvider::class, - App\Providers\EventServiceProvider::class, - App\Providers\RouteServiceProvider::class, - - ], - - /* - |-------------------------------------------------------------------------- - | Class Aliases - |-------------------------------------------------------------------------- - | - | This array of class aliases will be registered when this application - | is started. However, feel free to register as many as you wish as - | the aliases are "lazy" loaded so they don't hinder performance. - | - */ - - 'aliases' => [ - - 'App' => Illuminate\Support\Facades\App::class, - 'Arr' => Illuminate\Support\Arr::class, - 'Artisan' => Illuminate\Support\Facades\Artisan::class, - 'Auth' => Illuminate\Support\Facades\Auth::class, - 'Blade' => Illuminate\Support\Facades\Blade::class, - 'Broadcast' => Illuminate\Support\Facades\Broadcast::class, - 'Bus' => Illuminate\Support\Facades\Bus::class, - 'Cache' => Illuminate\Support\Facades\Cache::class, - 'Config' => Illuminate\Support\Facades\Config::class, - 'Cookie' => Illuminate\Support\Facades\Cookie::class, - 'Crypt' => Illuminate\Support\Facades\Crypt::class, - 'DB' => Illuminate\Support\Facades\DB::class, - 'Eloquent' => Illuminate\Database\Eloquent\Model::class, - 'Event' => Illuminate\Support\Facades\Event::class, - 'File' => Illuminate\Support\Facades\File::class, - 'Gate' => Illuminate\Support\Facades\Gate::class, - 'Hash' => Illuminate\Support\Facades\Hash::class, - 'Lang' => Illuminate\Support\Facades\Lang::class, - 'Log' => Illuminate\Support\Facades\Log::class, - 'Mail' => Illuminate\Support\Facades\Mail::class, - 'Notification' => Illuminate\Support\Facades\Notification::class, - 'Password' => Illuminate\Support\Facades\Password::class, - 'Queue' => Illuminate\Support\Facades\Queue::class, - 'Redirect' => Illuminate\Support\Facades\Redirect::class, - 'Redis' => Illuminate\Support\Facades\Redis::class, - 'Request' => Illuminate\Support\Facades\Request::class, - 'Response' => Illuminate\Support\Facades\Response::class, - 'Route' => Illuminate\Support\Facades\Route::class, - 'Schema' => Illuminate\Support\Facades\Schema::class, - 'Session' => Illuminate\Support\Facades\Session::class, - 'Storage' => Illuminate\Support\Facades\Storage::class, - 'Str' => Illuminate\Support\Str::class, - 'URL' => Illuminate\Support\Facades\URL::class, - 'Validator' => Illuminate\Support\Facades\Validator::class, - 'View' => Illuminate\Support\Facades\View::class, - - ], - -]; diff --git a/paragonik-backend/config/auth.php b/paragonik-backend/config/auth.php deleted file mode 100644 index 897dc82..0000000 --- a/paragonik-backend/config/auth.php +++ /dev/null @@ -1,103 +0,0 @@ - [ - 'guard' => 'web', - 'passwords' => 'users', - ], - - /* - |-------------------------------------------------------------------------- - | Authentication Guards - |-------------------------------------------------------------------------- - | - | Next, you may define every authentication guard for your application. - | Of course, a great default configuration has been defined for you - | here which uses session storage and the Eloquent user provider. - | - | All authentication drivers have a user provider. This defines how the - | users are actually retrieved out of your database or other storage - | mechanisms used by this application to persist your user's data. - | - | Supported: "session", "token" - | - */ - - 'guards' => [ - 'web' => [ - 'driver' => 'session', - 'provider' => 'users', - ], - - 'api' => [ - 'driver' => 'token', - 'provider' => 'users', - 'hash' => false, - ], - ], - - /* - |-------------------------------------------------------------------------- - | User Providers - |-------------------------------------------------------------------------- - | - | All authentication drivers have a user provider. This defines how the - | users are actually retrieved out of your database or other storage - | mechanisms used by this application to persist your user's data. - | - | If you have multiple user tables or models you may configure multiple - | sources which represent each model / table. These sources may then - | be assigned to any extra authentication guards you have defined. - | - | Supported: "database", "eloquent" - | - */ - - 'providers' => [ - 'users' => [ - 'driver' => 'eloquent', - 'model' => App\User::class, - ], - - // 'users' => [ - // 'driver' => 'database', - // 'table' => 'users', - // ], - ], - - /* - |-------------------------------------------------------------------------- - | Resetting Passwords - |-------------------------------------------------------------------------- - | - | You may specify multiple password reset configurations if you have more - | than one user table or model in the application and you want to have - | separate password reset settings based on the specific user types. - | - | The expire time is the number of minutes that the reset token should be - | considered valid. This security feature keeps tokens short-lived so - | they have less time to be guessed. You may change this as needed. - | - */ - - 'passwords' => [ - 'users' => [ - 'provider' => 'users', - 'table' => 'password_resets', - 'expire' => 60, - ], - ], - -]; diff --git a/paragonik-backend/config/broadcasting.php b/paragonik-backend/config/broadcasting.php deleted file mode 100644 index 3bba110..0000000 --- a/paragonik-backend/config/broadcasting.php +++ /dev/null @@ -1,59 +0,0 @@ - env('BROADCAST_DRIVER', 'null'), - - /* - |-------------------------------------------------------------------------- - | Broadcast Connections - |-------------------------------------------------------------------------- - | - | Here you may define all of the broadcast connections that will be used - | to broadcast events to other systems or over websockets. Samples of - | each available type of connection are provided inside this array. - | - */ - - 'connections' => [ - - 'pusher' => [ - 'driver' => 'pusher', - 'key' => env('PUSHER_APP_KEY'), - 'secret' => env('PUSHER_APP_SECRET'), - 'app_id' => env('PUSHER_APP_ID'), - 'options' => [ - 'cluster' => env('PUSHER_APP_CLUSTER'), - 'useTLS' => true, - ], - ], - - 'redis' => [ - 'driver' => 'redis', - 'connection' => 'default', - ], - - 'log' => [ - 'driver' => 'log', - ], - - 'null' => [ - 'driver' => 'null', - ], - - ], - -]; diff --git a/paragonik-backend/config/cache.php b/paragonik-backend/config/cache.php deleted file mode 100644 index 46751e6..0000000 --- a/paragonik-backend/config/cache.php +++ /dev/null @@ -1,103 +0,0 @@ - env('CACHE_DRIVER', 'file'), - - /* - |-------------------------------------------------------------------------- - | Cache Stores - |-------------------------------------------------------------------------- - | - | Here you may define all of the cache "stores" for your application as - | well as their drivers. You may even define multiple stores for the - | same cache driver to group types of items stored in your caches. - | - */ - - 'stores' => [ - - 'apc' => [ - 'driver' => 'apc', - ], - - 'array' => [ - 'driver' => 'array', - ], - - 'database' => [ - 'driver' => 'database', - 'table' => 'cache', - 'connection' => null, - ], - - 'file' => [ - 'driver' => 'file', - 'path' => storage_path('framework/cache/data'), - ], - - 'memcached' => [ - 'driver' => 'memcached', - 'persistent_id' => env('MEMCACHED_PERSISTENT_ID'), - 'sasl' => [ - env('MEMCACHED_USERNAME'), - env('MEMCACHED_PASSWORD'), - ], - 'options' => [ - // Memcached::OPT_CONNECT_TIMEOUT => 2000, - ], - 'servers' => [ - [ - 'host' => env('MEMCACHED_HOST', '127.0.0.1'), - 'port' => env('MEMCACHED_PORT', 11211), - 'weight' => 100, - ], - ], - ], - - 'redis' => [ - 'driver' => 'redis', - 'connection' => 'cache', - ], - - 'dynamodb' => [ - 'driver' => 'dynamodb', - 'key' => env('AWS_ACCESS_KEY_ID'), - 'secret' => env('AWS_SECRET_ACCESS_KEY'), - 'region' => env('AWS_DEFAULT_REGION', 'us-east-1'), - 'table' => env('DYNAMODB_CACHE_TABLE', 'cache'), - 'endpoint' => env('DYNAMODB_ENDPOINT'), - ], - - ], - - /* - |-------------------------------------------------------------------------- - | Cache Key Prefix - |-------------------------------------------------------------------------- - | - | When utilizing a RAM based store such as APC or Memcached, there might - | be other applications utilizing the same cache. So, we'll specify a - | value to get prefixed to all our keys so we can avoid collisions. - | - */ - - 'prefix' => env('CACHE_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_cache'), - -]; diff --git a/paragonik-backend/config/database.php b/paragonik-backend/config/database.php deleted file mode 100644 index 921769c..0000000 --- a/paragonik-backend/config/database.php +++ /dev/null @@ -1,147 +0,0 @@ - env('DB_CONNECTION', 'mysql'), - - /* - |-------------------------------------------------------------------------- - | Database Connections - |-------------------------------------------------------------------------- - | - | Here are each of the database connections setup for your application. - | Of course, examples of configuring each database platform that is - | supported by Laravel is shown below to make development simple. - | - | - | All database work in Laravel is done through the PHP PDO facilities - | so make sure you have the driver for your particular database of - | choice installed on your machine before you begin development. - | - */ - - 'connections' => [ - - 'sqlite' => [ - 'driver' => 'sqlite', - 'url' => env('DATABASE_URL'), - 'database' => env('DB_DATABASE', database_path('database.sqlite')), - 'prefix' => '', - 'foreign_key_constraints' => env('DB_FOREIGN_KEYS', true), - ], - - 'mysql' => [ - 'driver' => 'mysql', - 'url' => env('DATABASE_URL'), - 'host' => env('DB_HOST', '127.0.0.1'), - 'port' => env('DB_PORT', '3306'), - 'database' => env('DB_DATABASE', 'forge'), - 'username' => env('DB_USERNAME', 'forge'), - 'password' => env('DB_PASSWORD', ''), - 'unix_socket' => env('DB_SOCKET', ''), - 'charset' => 'utf8mb4', - 'collation' => 'utf8mb4_unicode_ci', - 'prefix' => '', - 'prefix_indexes' => true, - 'strict' => true, - 'engine' => null, - 'options' => extension_loaded('pdo_mysql') ? array_filter([ - PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'), - ]) : [], - ], - - 'pgsql' => [ - 'driver' => 'pgsql', - 'url' => env('DATABASE_URL'), - 'host' => env('DB_HOST', '127.0.0.1'), - 'port' => env('DB_PORT', '5432'), - 'database' => env('DB_DATABASE', 'forge'), - 'username' => env('DB_USERNAME', 'forge'), - 'password' => env('DB_PASSWORD', ''), - 'charset' => 'utf8', - 'prefix' => '', - 'prefix_indexes' => true, - 'schema' => 'public', - 'sslmode' => 'prefer', - ], - - 'sqlsrv' => [ - 'driver' => 'sqlsrv', - 'url' => env('DATABASE_URL'), - 'host' => env('DB_HOST', 'localhost'), - 'port' => env('DB_PORT', '1433'), - 'database' => env('DB_DATABASE', 'forge'), - 'username' => env('DB_USERNAME', 'forge'), - 'password' => env('DB_PASSWORD', ''), - 'charset' => 'utf8', - 'prefix' => '', - 'prefix_indexes' => true, - ], - - ], - - /* - |-------------------------------------------------------------------------- - | Migration Repository Table - |-------------------------------------------------------------------------- - | - | This table keeps track of all the migrations that have already run for - | your application. Using this information, we can determine which of - | the migrations on disk haven't actually been run in the database. - | - */ - - 'migrations' => 'migrations', - - /* - |-------------------------------------------------------------------------- - | Redis Databases - |-------------------------------------------------------------------------- - | - | Redis is an open source, fast, and advanced key-value store that also - | provides a richer body of commands than a typical key-value system - | such as APC or Memcached. Laravel makes it easy to dig right in. - | - */ - - 'redis' => [ - - 'client' => env('REDIS_CLIENT', 'predis'), - - 'options' => [ - 'cluster' => env('REDIS_CLUSTER', 'predis'), - 'prefix' => env('REDIS_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_database_'), - ], - - 'default' => [ - 'url' => env('REDIS_URL'), - 'host' => env('REDIS_HOST', '127.0.0.1'), - 'password' => env('REDIS_PASSWORD', null), - 'port' => env('REDIS_PORT', 6379), - 'database' => env('REDIS_DB', 0), - ], - - 'cache' => [ - 'url' => env('REDIS_URL'), - 'host' => env('REDIS_HOST', '127.0.0.1'), - 'password' => env('REDIS_PASSWORD', null), - 'port' => env('REDIS_PORT', 6379), - 'database' => env('REDIS_CACHE_DB', 1), - ], - - ], - -]; diff --git a/paragonik-backend/config/filesystems.php b/paragonik-backend/config/filesystems.php deleted file mode 100644 index 77fa5de..0000000 --- a/paragonik-backend/config/filesystems.php +++ /dev/null @@ -1,69 +0,0 @@ - env('FILESYSTEM_DRIVER', 'local'), - - /* - |-------------------------------------------------------------------------- - | Default Cloud Filesystem Disk - |-------------------------------------------------------------------------- - | - | Many applications store files both locally and in the cloud. For this - | reason, you may specify a default "cloud" driver here. This driver - | will be bound as the Cloud disk implementation in the container. - | - */ - - 'cloud' => env('FILESYSTEM_CLOUD', 's3'), - - /* - |-------------------------------------------------------------------------- - | Filesystem Disks - |-------------------------------------------------------------------------- - | - | Here you may configure as many filesystem "disks" as you wish, and you - | may even configure multiple disks of the same driver. Defaults have - | been setup for each driver as an example of the required options. - | - | Supported Drivers: "local", "ftp", "sftp", "s3", "rackspace" - | - */ - - 'disks' => [ - - 'local' => [ - 'driver' => 'local', - 'root' => storage_path('app'), - ], - - 'public' => [ - 'driver' => 'local', - 'root' => storage_path('app/public'), - 'url' => env('APP_URL').'/storage', - 'visibility' => 'public', - ], - - 's3' => [ - 'driver' => 's3', - 'key' => env('AWS_ACCESS_KEY_ID'), - 'secret' => env('AWS_SECRET_ACCESS_KEY'), - 'region' => env('AWS_DEFAULT_REGION'), - 'bucket' => env('AWS_BUCKET'), - 'url' => env('AWS_URL'), - ], - - ], - -]; diff --git a/paragonik-backend/config/hashing.php b/paragonik-backend/config/hashing.php deleted file mode 100644 index 8425770..0000000 --- a/paragonik-backend/config/hashing.php +++ /dev/null @@ -1,52 +0,0 @@ - 'bcrypt', - - /* - |-------------------------------------------------------------------------- - | Bcrypt Options - |-------------------------------------------------------------------------- - | - | Here you may specify the configuration options that should be used when - | passwords are hashed using the Bcrypt algorithm. This will allow you - | to control the amount of time it takes to hash the given password. - | - */ - - 'bcrypt' => [ - 'rounds' => env('BCRYPT_ROUNDS', 10), - ], - - /* - |-------------------------------------------------------------------------- - | Argon Options - |-------------------------------------------------------------------------- - | - | Here you may specify the configuration options that should be used when - | passwords are hashed using the Argon algorithm. These will allow you - | to control the amount of time it takes to hash the given password. - | - */ - - 'argon' => [ - 'memory' => 1024, - 'threads' => 2, - 'time' => 2, - ], - -]; diff --git a/paragonik-backend/config/logging.php b/paragonik-backend/config/logging.php deleted file mode 100644 index d09cd7d..0000000 --- a/paragonik-backend/config/logging.php +++ /dev/null @@ -1,94 +0,0 @@ - env('LOG_CHANNEL', 'stack'), - - /* - |-------------------------------------------------------------------------- - | Log Channels - |-------------------------------------------------------------------------- - | - | Here you may configure the log channels for your application. Out of - | the box, Laravel uses the Monolog PHP logging library. This gives - | you a variety of powerful log handlers / formatters to utilize. - | - | Available Drivers: "single", "daily", "slack", "syslog", - | "errorlog", "monolog", - | "custom", "stack" - | - */ - - 'channels' => [ - 'stack' => [ - 'driver' => 'stack', - 'channels' => ['daily'], - 'ignore_exceptions' => false, - ], - - 'single' => [ - 'driver' => 'single', - 'path' => storage_path('logs/laravel.log'), - 'level' => 'debug', - ], - - 'daily' => [ - 'driver' => 'daily', - 'path' => storage_path('logs/laravel.log'), - 'level' => 'debug', - 'days' => 14, - ], - - 'slack' => [ - 'driver' => 'slack', - 'url' => env('LOG_SLACK_WEBHOOK_URL'), - 'username' => 'Laravel Log', - 'emoji' => ':boom:', - 'level' => 'critical', - ], - - 'papertrail' => [ - 'driver' => 'monolog', - 'level' => 'debug', - 'handler' => SyslogUdpHandler::class, - 'handler_with' => [ - 'host' => env('PAPERTRAIL_URL'), - 'port' => env('PAPERTRAIL_PORT'), - ], - ], - - 'stderr' => [ - 'driver' => 'monolog', - 'handler' => StreamHandler::class, - 'formatter' => env('LOG_STDERR_FORMATTER'), - 'with' => [ - 'stream' => 'php://stderr', - ], - ], - - 'syslog' => [ - 'driver' => 'syslog', - 'level' => 'debug', - ], - - 'errorlog' => [ - 'driver' => 'errorlog', - 'level' => 'debug', - ], - ], - -]; diff --git a/paragonik-backend/config/mail.php b/paragonik-backend/config/mail.php deleted file mode 100644 index 6f8469f..0000000 --- a/paragonik-backend/config/mail.php +++ /dev/null @@ -1,136 +0,0 @@ - env('MAIL_DRIVER', 'smtp'), - - /* - |-------------------------------------------------------------------------- - | SMTP Host Address - |-------------------------------------------------------------------------- - | - | Here you may provide the host address of the SMTP server used by your - | applications. A default option is provided that is compatible with - | the Mailgun mail service which will provide reliable deliveries. - | - */ - - 'host' => env('MAIL_HOST', 'smtp.mailgun.org'), - - /* - |-------------------------------------------------------------------------- - | SMTP Host Port - |-------------------------------------------------------------------------- - | - | This is the SMTP port used by your application to deliver e-mails to - | users of the application. Like the host we have set this value to - | stay compatible with the Mailgun e-mail application by default. - | - */ - - 'port' => env('MAIL_PORT', 587), - - /* - |-------------------------------------------------------------------------- - | Global "From" Address - |-------------------------------------------------------------------------- - | - | You may wish for all e-mails sent by your application to be sent from - | the same address. Here, you may specify a name and address that is - | used globally for all e-mails that are sent by your application. - | - */ - - 'from' => [ - 'address' => env('MAIL_FROM_ADDRESS', 'hello@example.com'), - 'name' => env('MAIL_FROM_NAME', 'Example'), - ], - - /* - |-------------------------------------------------------------------------- - | E-Mail Encryption Protocol - |-------------------------------------------------------------------------- - | - | Here you may specify the encryption protocol that should be used when - | the application send e-mail messages. A sensible default using the - | transport layer security protocol should provide great security. - | - */ - - 'encryption' => env('MAIL_ENCRYPTION', 'tls'), - - /* - |-------------------------------------------------------------------------- - | SMTP Server Username - |-------------------------------------------------------------------------- - | - | If your SMTP server requires a username for authentication, you should - | set it here. This will get used to authenticate with your server on - | connection. You may also set the "password" value below this one. - | - */ - - 'username' => env('MAIL_USERNAME'), - - 'password' => env('MAIL_PASSWORD'), - - /* - |-------------------------------------------------------------------------- - | Sendmail System Path - |-------------------------------------------------------------------------- - | - | When using the "sendmail" driver to send e-mails, we will need to know - | the path to where Sendmail lives on this server. A default path has - | been provided here, which will work well on most of your systems. - | - */ - - 'sendmail' => '/usr/sbin/sendmail -bs', - - /* - |-------------------------------------------------------------------------- - | Markdown Mail Settings - |-------------------------------------------------------------------------- - | - | If you are using Markdown based email rendering, you may configure your - | theme and component paths here, allowing you to customize the design - | of the emails. Or, you may simply stick with the Laravel defaults! - | - */ - - 'markdown' => [ - 'theme' => 'default', - - 'paths' => [ - resource_path('views/vendor/mail'), - ], - ], - - /* - |-------------------------------------------------------------------------- - | Log Channel - |-------------------------------------------------------------------------- - | - | If you are using the "log" driver, you may specify the logging channel - | if you prefer to keep mail messages separate from other log entries - | for simpler reading. Otherwise, the default channel will be used. - | - */ - - 'log_channel' => env('MAIL_LOG_CHANNEL'), - -]; diff --git a/paragonik-backend/config/queue.php b/paragonik-backend/config/queue.php deleted file mode 100644 index 07c7d2a..0000000 --- a/paragonik-backend/config/queue.php +++ /dev/null @@ -1,87 +0,0 @@ - env('QUEUE_CONNECTION', 'sync'), - - /* - |-------------------------------------------------------------------------- - | Queue Connections - |-------------------------------------------------------------------------- - | - | Here you may configure the connection information for each server that - | is used by your application. A default configuration has been added - | for each back-end shipped with Laravel. You are free to add more. - | - | Drivers: "sync", "database", "beanstalkd", "sqs", "redis", "null" - | - */ - - 'connections' => [ - - 'sync' => [ - 'driver' => 'sync', - ], - - 'database' => [ - 'driver' => 'database', - 'table' => 'jobs', - 'queue' => 'default', - 'retry_after' => 90, - ], - - 'beanstalkd' => [ - 'driver' => 'beanstalkd', - 'host' => 'localhost', - 'queue' => 'default', - 'retry_after' => 90, - 'block_for' => 0, - ], - - 'sqs' => [ - 'driver' => 'sqs', - 'key' => env('AWS_ACCESS_KEY_ID'), - 'secret' => env('AWS_SECRET_ACCESS_KEY'), - 'prefix' => env('SQS_PREFIX', 'https://sqs.us-east-1.amazonaws.com/your-account-id'), - 'queue' => env('SQS_QUEUE', 'your-queue-name'), - 'region' => env('AWS_DEFAULT_REGION', 'us-east-1'), - ], - - 'redis' => [ - 'driver' => 'redis', - 'connection' => 'default', - 'queue' => env('REDIS_QUEUE', 'default'), - 'retry_after' => 90, - 'block_for' => null, - ], - - ], - - /* - |-------------------------------------------------------------------------- - | Failed Queue Jobs - |-------------------------------------------------------------------------- - | - | These options configure the behavior of failed queue job logging so you - | can control which database and table are used to store the jobs that - | have failed. You may change them to any database / table you wish. - | - */ - - 'failed' => [ - 'database' => env('DB_CONNECTION', 'mysql'), - 'table' => 'failed_jobs', - ], - -]; diff --git a/paragonik-backend/config/services.php b/paragonik-backend/config/services.php deleted file mode 100644 index 8ce6cc6..0000000 --- a/paragonik-backend/config/services.php +++ /dev/null @@ -1,37 +0,0 @@ - [ - 'domain' => env('MAILGUN_DOMAIN'), - 'secret' => env('MAILGUN_SECRET'), - 'endpoint' => env('MAILGUN_ENDPOINT', 'api.mailgun.net'), - ], - - 'postmark' => [ - 'token' => env('POSTMARK_TOKEN'), - ], - - 'ses' => [ - 'key' => env('AWS_ACCESS_KEY_ID'), - 'secret' => env('AWS_SECRET_ACCESS_KEY'), - 'region' => env('AWS_DEFAULT_REGION', 'us-east-1'), - ], - - 'sparkpost' => [ - 'secret' => env('SPARKPOST_SECRET'), - ], - -]; diff --git a/paragonik-backend/config/session.php b/paragonik-backend/config/session.php deleted file mode 100644 index fbb9b4d..0000000 --- a/paragonik-backend/config/session.php +++ /dev/null @@ -1,199 +0,0 @@ - env('SESSION_DRIVER', 'file'), - - /* - |-------------------------------------------------------------------------- - | Session Lifetime - |-------------------------------------------------------------------------- - | - | Here you may specify the number of minutes that you wish the session - | to be allowed to remain idle before it expires. If you want them - | to immediately expire on the browser closing, set that option. - | - */ - - 'lifetime' => env('SESSION_LIFETIME', 120), - - 'expire_on_close' => false, - - /* - |-------------------------------------------------------------------------- - | Session Encryption - |-------------------------------------------------------------------------- - | - | This option allows you to easily specify that all of your session data - | should be encrypted before it is stored. All encryption will be run - | automatically by Laravel and you can use the Session like normal. - | - */ - - 'encrypt' => false, - - /* - |-------------------------------------------------------------------------- - | Session File Location - |-------------------------------------------------------------------------- - | - | When using the native session driver, we need a location where session - | files may be stored. A default has been set for you but a different - | location may be specified. This is only needed for file sessions. - | - */ - - 'files' => storage_path('framework/sessions'), - - /* - |-------------------------------------------------------------------------- - | Session Database Connection - |-------------------------------------------------------------------------- - | - | When using the "database" or "redis" session drivers, you may specify a - | connection that should be used to manage these sessions. This should - | correspond to a connection in your database configuration options. - | - */ - - 'connection' => env('SESSION_CONNECTION', null), - - /* - |-------------------------------------------------------------------------- - | Session Database Table - |-------------------------------------------------------------------------- - | - | When using the "database" session driver, you may specify the table we - | should use to manage the sessions. Of course, a sensible default is - | provided for you; however, you are free to change this as needed. - | - */ - - 'table' => 'sessions', - - /* - |-------------------------------------------------------------------------- - | Session Cache Store - |-------------------------------------------------------------------------- - | - | When using the "apc", "memcached", or "dynamodb" session drivers you may - | list a cache store that should be used for these sessions. This value - | must match with one of the application's configured cache "stores". - | - */ - - 'store' => env('SESSION_STORE', null), - - /* - |-------------------------------------------------------------------------- - | Session Sweeping Lottery - |-------------------------------------------------------------------------- - | - | Some session drivers must manually sweep their storage location to get - | rid of old sessions from storage. Here are the chances that it will - | happen on a given request. By default, the odds are 2 out of 100. - | - */ - - 'lottery' => [2, 100], - - /* - |-------------------------------------------------------------------------- - | Session Cookie Name - |-------------------------------------------------------------------------- - | - | Here you may change the name of the cookie used to identify a session - | instance by ID. The name specified here will get used every time a - | new session cookie is created by the framework for every driver. - | - */ - - 'cookie' => env( - 'SESSION_COOKIE', - Str::slug(env('APP_NAME', 'laravel'), '_').'_session' - ), - - /* - |-------------------------------------------------------------------------- - | Session Cookie Path - |-------------------------------------------------------------------------- - | - | The session cookie path determines the path for which the cookie will - | be regarded as available. Typically, this will be the root path of - | your application but you are free to change this when necessary. - | - */ - - 'path' => '/', - - /* - |-------------------------------------------------------------------------- - | Session Cookie Domain - |-------------------------------------------------------------------------- - | - | Here you may change the domain of the cookie used to identify a session - | in your application. This will determine which domains the cookie is - | available to in your application. A sensible default has been set. - | - */ - - 'domain' => env('SESSION_DOMAIN', null), - - /* - |-------------------------------------------------------------------------- - | HTTPS Only Cookies - |-------------------------------------------------------------------------- - | - | By setting this option to true, session cookies will only be sent back - | to the server if the browser has a HTTPS connection. This will keep - | the cookie from being sent to you if it can not be done securely. - | - */ - - 'secure' => env('SESSION_SECURE_COOKIE', false), - - /* - |-------------------------------------------------------------------------- - | HTTP Access Only - |-------------------------------------------------------------------------- - | - | Setting this value to true will prevent JavaScript from accessing the - | value of the cookie and the cookie will only be accessible through - | the HTTP protocol. You are free to modify this option if needed. - | - */ - - 'http_only' => true, - - /* - |-------------------------------------------------------------------------- - | Same-Site Cookies - |-------------------------------------------------------------------------- - | - | This option determines how your cookies behave when cross-site requests - | take place, and can be used to mitigate CSRF attacks. By default, we - | do not enable this as other CSRF protection services are in place. - | - | Supported: "lax", "strict" - | - */ - - 'same_site' => null, - -]; diff --git a/paragonik-backend/config/view.php b/paragonik-backend/config/view.php deleted file mode 100644 index 22b8a18..0000000 --- a/paragonik-backend/config/view.php +++ /dev/null @@ -1,36 +0,0 @@ - [ - resource_path('views'), - ], - - /* - |-------------------------------------------------------------------------- - | Compiled View Path - |-------------------------------------------------------------------------- - | - | This option determines where all the compiled Blade templates will be - | stored for your application. Typically, this is within the storage - | directory. However, as usual, you are free to change this value. - | - */ - - 'compiled' => env( - 'VIEW_COMPILED_PATH', - realpath(storage_path('framework/views')) - ), - -]; diff --git a/paragonik-backend/database/.gitignore b/paragonik-backend/database/.gitignore deleted file mode 100644 index 97fc976..0000000 --- a/paragonik-backend/database/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -*.sqlite -*.sqlite-journal diff --git a/paragonik-backend/database/factories/UserFactory.php b/paragonik-backend/database/factories/UserFactory.php deleted file mode 100644 index 5e516ce..0000000 --- a/paragonik-backend/database/factories/UserFactory.php +++ /dev/null @@ -1,27 +0,0 @@ -define(User::class, function (Faker $faker) { - return [ - 'name' => $faker->name, - 'email' => $faker->unique()->safeEmail, - 'email_verified_at' => now(), - 'password' => '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', // password - 'remember_token' => Str::random(10), - ]; -}); diff --git a/paragonik-backend/database/migrations/2014_10_12_000000_create_users_table.php b/paragonik-backend/database/migrations/2014_10_12_000000_create_users_table.php deleted file mode 100644 index 4a3ba47..0000000 --- a/paragonik-backend/database/migrations/2014_10_12_000000_create_users_table.php +++ /dev/null @@ -1,36 +0,0 @@ -bigIncrements('id'); - $table->string('name'); - $table->string('email')->unique(); - $table->timestamp('email_verified_at')->nullable(); - $table->string('password'); - $table->rememberToken(); - $table->timestamps(); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('users'); - } -} diff --git a/paragonik-backend/database/migrations/2014_10_12_100000_create_password_resets_table.php b/paragonik-backend/database/migrations/2014_10_12_100000_create_password_resets_table.php deleted file mode 100644 index 0d5cb84..0000000 --- a/paragonik-backend/database/migrations/2014_10_12_100000_create_password_resets_table.php +++ /dev/null @@ -1,32 +0,0 @@ -string('email')->index(); - $table->string('token'); - $table->timestamp('created_at')->nullable(); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('password_resets'); - } -} diff --git a/paragonik-backend/database/migrations/2019_12_01_183101_create_users_table.php b/paragonik-backend/database/migrations/2019_12_01_183101_create_users_table.php deleted file mode 100644 index a8df315..0000000 --- a/paragonik-backend/database/migrations/2019_12_01_183101_create_users_table.php +++ /dev/null @@ -1,37 +0,0 @@ -bigIncrements('id'); - $table->string('name', 15); - $table->string('email', 60)->unique(); - $table->timestamp('email_verified_at')->nullable(); - $table->string('password'); - $table->rememberToken(); - $table->timestamps(); - $table->engine = 'InnoDB'; - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('users'); - } -} diff --git a/paragonik-backend/database/migrations/2019_12_01_183204_create_receipts_table.php b/paragonik-backend/database/migrations/2019_12_01_183204_create_receipts_table.php deleted file mode 100644 index de968cb..0000000 --- a/paragonik-backend/database/migrations/2019_12_01_183204_create_receipts_table.php +++ /dev/null @@ -1,38 +0,0 @@ -bigIncrements('id'); - $table->dateTime('payment_date'); - $table->decimal('payment_amount', 8, 2); - $table->bigInteger('user_id')->unsigned(); - $table->bigInteger('store_id')->unsigned(); - $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade'); - $table->foreign('store_id')->references('id')->on('stores')->onDelete('cascade'); - $table->timestamps(); - $table->engine = 'InnoDB'; - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('receipts'); - } -} diff --git a/paragonik-backend/database/migrations/2019_12_01_183220_create_stores_table.php b/paragonik-backend/database/migrations/2019_12_01_183220_create_stores_table.php deleted file mode 100644 index 2bf1507..0000000 --- a/paragonik-backend/database/migrations/2019_12_01_183220_create_stores_table.php +++ /dev/null @@ -1,39 +0,0 @@ -bigIncrements('id'); - $table->string('name'); - $table->string('street'); - $table->string('city'); - $table->string('voivodeship'); - $table->string('latitude'); - $table->string('longitude'); - $table->string('concern'); - $table->timestamps(); - $table->engine = 'InnoDB'; - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('stores'); - } -} diff --git a/paragonik-backend/database/migrations/2019_12_01_183233_create_categories_table.php b/paragonik-backend/database/migrations/2019_12_01_183233_create_categories_table.php deleted file mode 100644 index 391c74b..0000000 --- a/paragonik-backend/database/migrations/2019_12_01_183233_create_categories_table.php +++ /dev/null @@ -1,33 +0,0 @@ -bigIncrements('id'); - $table->string('name'); - $table->timestamps(); - $table->engine = 'InnoDB'; - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('categories'); - } -} diff --git a/paragonik-backend/database/migrations/2019_12_01_183246_create_services_table.php b/paragonik-backend/database/migrations/2019_12_01_183246_create_services_table.php deleted file mode 100644 index 92e0ce2..0000000 --- a/paragonik-backend/database/migrations/2019_12_01_183246_create_services_table.php +++ /dev/null @@ -1,38 +0,0 @@ -bigIncrements('id'); - $table->string('name'); - $table->string('street'); - $table->string('city'); - $table->string('voivodeship'); - $table->string('latitude'); - $table->string('longitude'); - $table->timestamps(); - $table->engine = 'InnoDB'; - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('services'); - } -} diff --git a/paragonik-backend/database/migrations/2019_12_01_183308_create_receipt_items_table.php b/paragonik-backend/database/migrations/2019_12_01_183308_create_receipt_items_table.php deleted file mode 100644 index 25ffd4a..0000000 --- a/paragonik-backend/database/migrations/2019_12_01_183308_create_receipt_items_table.php +++ /dev/null @@ -1,39 +0,0 @@ -bigIncrements('id'); - $table->string('name'); - $table->decimal('price', 8, 2); - $table->bigInteger('quantity'); - $table->bigInteger('receipt_id')->unsigned(); - $table->bigInteger('category_id')->unsigned(); - $table->timestamps(); - $table->foreign('receipt_id')->references('id')->on('receipts')->onDelete('cascade'); - $table->foreign('category_id')->references('id')->on('categories')->onDelete('cascade'); - $table->engine = 'InnoDB'; - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('receipt_items'); - } -} diff --git a/paragonik-backend/database/migrations/2019_12_01_190021_create_categories_services_table.php b/paragonik-backend/database/migrations/2019_12_01_190021_create_categories_services_table.php deleted file mode 100644 index aa048ad..0000000 --- a/paragonik-backend/database/migrations/2019_12_01_190021_create_categories_services_table.php +++ /dev/null @@ -1,35 +0,0 @@ -bigIncrements('id'); - $table->bigInteger('category_id')->unsigned(); - $table->bigInteger('service_id')->unsigned(); - $table->foreign('category_id')->references('id')->on('categories')->onDelete('cascade'); - $table->foreign('service_id')->references('id')->on('services')->onDelete('cascade'); - $table->timestamps(); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('categories_services'); - } -} diff --git a/paragonik-backend/database/seeds/DatabaseSeeder.php b/paragonik-backend/database/seeds/DatabaseSeeder.php deleted file mode 100644 index 91cb6d1..0000000 --- a/paragonik-backend/database/seeds/DatabaseSeeder.php +++ /dev/null @@ -1,16 +0,0 @@ -call(UsersTableSeeder::class); - } -} diff --git a/paragonik-backend/package.json b/paragonik-backend/package.json deleted file mode 100644 index bf85f38..0000000 --- a/paragonik-backend/package.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "private": true, - "scripts": { - "dev": "npm run development", - "development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js", - "watch": "npm run development -- --watch", - "watch-poll": "npm run watch -- --watch-poll", - "hot": "cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --config=node_modules/laravel-mix/setup/webpack.config.js", - "prod": "npm run production", - "production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --no-progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js" - }, - "devDependencies": { - "axios": "^0.19", - "bootstrap": "^4.1.0", - "cross-env": "^5.1", - "jquery": "^3.2", - "laravel-mix": "^4.0.7", - "lodash": "^4.17.13", - "popper.js": "^1.12", - "resolve-url-loader": "^2.3.1", - "sass": "^1.15.2", - "sass-loader": "^7.1.0", - "vue": "^2.5.17" - } -} diff --git a/paragonik-backend/phpunit.xml b/paragonik-backend/phpunit.xml deleted file mode 100644 index da4add3..0000000 --- a/paragonik-backend/phpunit.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - - - ./tests/Unit - - - - ./tests/Feature - - - - - ./app - - - - - - - - - - - diff --git a/paragonik-backend/public/.htaccess b/paragonik-backend/public/.htaccess deleted file mode 100644 index b75525b..0000000 --- a/paragonik-backend/public/.htaccess +++ /dev/null @@ -1,21 +0,0 @@ - - - Options -MultiViews -Indexes - - - RewriteEngine On - - # Handle Authorization Header - RewriteCond %{HTTP:Authorization} . - RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] - - # Redirect Trailing Slashes If Not A Folder... - RewriteCond %{REQUEST_FILENAME} !-d - RewriteCond %{REQUEST_URI} (.+)/$ - RewriteRule ^ %1 [L,R=301] - - # Handle Front Controller... - RewriteCond %{REQUEST_FILENAME} !-d - RewriteCond %{REQUEST_FILENAME} !-f - RewriteRule ^ index.php [L] - diff --git a/paragonik-backend/public/css/app.css b/paragonik-backend/public/css/app.css deleted file mode 100644 index 1937c51..0000000 --- a/paragonik-backend/public/css/app.css +++ /dev/null @@ -1,8 +0,0 @@ -@import url(https://fonts.googleapis.com/css?family=Nunito); - -/*! - * Bootstrap v4.1.3 (https://getbootstrap.com/) - * Copyright 2011-2018 The Bootstrap Authors - * Copyright 2011-2018 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - */:root{--blue:#3490dc;--indigo:#6574cd;--purple:#9561e2;--pink:#f66d9b;--red:#e3342f;--orange:#f6993f;--yellow:#ffed4a;--green:#38c172;--teal:#4dc0b5;--cyan:#6cb2eb;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#3490dc;--secondary:#6c757d;--success:#38c172;--info:#6cb2eb;--warning:#ffed4a;--danger:#e3342f;--light:#f8f9fa;--dark:#343a40;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:"Nunito",sans-serif;--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}*,:after,:before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0)}@-ms-viewport{width:device-width}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:Nunito,sans-serif;font-size:.9rem;font-weight:400;line-height:1.6;color:#212529;text-align:left;background-color:#f8fafc}[tabindex="-1"]:focus{outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0}address{font-style:normal;line-height:inherit}address,dl,ol,ul{margin-bottom:1rem}dl,ol,ul{margin-top:0}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#3490dc;text-decoration:none;background-color:transparent;-webkit-text-decoration-skip:objects}a:hover{color:#1d68a7;text-decoration:underline}a:not([href]):not([tabindex]),a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto;-ms-overflow-style:scrollbar}figure{margin:0 0 1rem}img{border-style:none}img,svg{vertical-align:middle}svg{overflow:hidden}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-family:inherit;font-weight:500;line-height:1.2;color:inherit}.h1,h1{font-size:2.25rem}.h2,h2{font-size:1.8rem}.h3,h3{font-size:1.575rem}.h4,h4{font-size:1.35rem}.h5,h5{font-size:1.125rem}.h6,h6{font-size:.9rem}.lead{font-size:1.125rem;font-weight:300}.display-1{font-size:6rem}.display-1,.display-2{font-weight:300;line-height:1.2}.display-2{font-size:5.5rem}.display-3{font-size:4.5rem}.display-3,.display-4{font-weight:300;line-height:1.2}.display-4{font-size:3.5rem}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.small,small{font-size:80%;font-weight:400}.mark,mark{padding:.2em;background-color:#fcf8e3}.list-inline,.list-unstyled{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:90%;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.125rem}.blockquote-footer{display:block;font-size:80%;color:#6c757d}.blockquote-footer:before{content:"\2014\A0"}.img-fluid,.img-thumbnail{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#f8fafc;border:1px solid #dee2e6;border-radius:.25rem}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#6c757d}code{font-size:87.5%;color:#f66d9b;word-break:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:87.5%;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:100%;font-weight:700}pre{display:block;font-size:87.5%;color:#212529}pre code{font-size:inherit;color:inherit;word-break:normal}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container{max-width:540px}}@media (min-width:768px){.container{max-width:720px}}@media (min-width:992px){.container{max-width:960px}}@media (min-width:1200px){.container{max-width:1140px}}.container-fluid{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{display:flex;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-10,.col-11,.col-12,.col-auto,.col-lg,.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-auto,.col-md,.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12,.col-md-auto,.col-sm,.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-auto{position:relative;width:100%;min-height:1px;padding-right:15px;padding-left:15px}.col{flex-basis:0;flex-grow:1;max-width:100%}.col-auto{flex:0 0 auto;width:auto;max-width:none}.col-1{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-2{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-3{flex:0 0 25%;max-width:25%}.col-4{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-5{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-6{flex:0 0 50%;max-width:50%}.col-7{flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-8{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-9{flex:0 0 75%;max-width:75%}.col-10{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-11{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-12{flex:0 0 100%;max-width:100%}.order-first{order:-1}.order-last{order:13}.order-0{order:0}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.order-5{order:5}.order-6{order:6}.order-7{order:7}.order-8{order:8}.order-9{order:9}.order-10{order:10}.order-11{order:11}.order-12{order:12}.offset-1{margin-left:8.3333333333%}.offset-2{margin-left:16.6666666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.3333333333%}.offset-5{margin-left:41.6666666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.3333333333%}.offset-8{margin-left:66.6666666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.3333333333%}.offset-11{margin-left:91.6666666667%}@media (min-width:576px){.col-sm{flex-basis:0;flex-grow:1;max-width:100%}.col-sm-auto{flex:0 0 auto;width:auto;max-width:none}.col-sm-1{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-sm-2{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-sm-3{flex:0 0 25%;max-width:25%}.col-sm-4{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-sm-5{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-sm-6{flex:0 0 50%;max-width:50%}.col-sm-7{flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-sm-8{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-sm-9{flex:0 0 75%;max-width:75%}.col-sm-10{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-sm-11{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-sm-12{flex:0 0 100%;max-width:100%}.order-sm-first{order:-1}.order-sm-last{order:13}.order-sm-0{order:0}.order-sm-1{order:1}.order-sm-2{order:2}.order-sm-3{order:3}.order-sm-4{order:4}.order-sm-5{order:5}.order-sm-6{order:6}.order-sm-7{order:7}.order-sm-8{order:8}.order-sm-9{order:9}.order-sm-10{order:10}.order-sm-11{order:11}.order-sm-12{order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.3333333333%}.offset-sm-2{margin-left:16.6666666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.3333333333%}.offset-sm-5{margin-left:41.6666666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.3333333333%}.offset-sm-8{margin-left:66.6666666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.3333333333%}.offset-sm-11{margin-left:91.6666666667%}}@media (min-width:768px){.col-md{flex-basis:0;flex-grow:1;max-width:100%}.col-md-auto{flex:0 0 auto;width:auto;max-width:none}.col-md-1{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-md-2{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-md-3{flex:0 0 25%;max-width:25%}.col-md-4{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-md-5{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-md-6{flex:0 0 50%;max-width:50%}.col-md-7{flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-md-8{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-md-9{flex:0 0 75%;max-width:75%}.col-md-10{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-md-11{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-md-12{flex:0 0 100%;max-width:100%}.order-md-first{order:-1}.order-md-last{order:13}.order-md-0{order:0}.order-md-1{order:1}.order-md-2{order:2}.order-md-3{order:3}.order-md-4{order:4}.order-md-5{order:5}.order-md-6{order:6}.order-md-7{order:7}.order-md-8{order:8}.order-md-9{order:9}.order-md-10{order:10}.order-md-11{order:11}.order-md-12{order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.3333333333%}.offset-md-2{margin-left:16.6666666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.3333333333%}.offset-md-5{margin-left:41.6666666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.3333333333%}.offset-md-8{margin-left:66.6666666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.3333333333%}.offset-md-11{margin-left:91.6666666667%}}@media (min-width:992px){.col-lg{flex-basis:0;flex-grow:1;max-width:100%}.col-lg-auto{flex:0 0 auto;width:auto;max-width:none}.col-lg-1{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-lg-2{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-lg-3{flex:0 0 25%;max-width:25%}.col-lg-4{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-lg-5{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-lg-6{flex:0 0 50%;max-width:50%}.col-lg-7{flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-lg-8{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-lg-9{flex:0 0 75%;max-width:75%}.col-lg-10{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-lg-11{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-lg-12{flex:0 0 100%;max-width:100%}.order-lg-first{order:-1}.order-lg-last{order:13}.order-lg-0{order:0}.order-lg-1{order:1}.order-lg-2{order:2}.order-lg-3{order:3}.order-lg-4{order:4}.order-lg-5{order:5}.order-lg-6{order:6}.order-lg-7{order:7}.order-lg-8{order:8}.order-lg-9{order:9}.order-lg-10{order:10}.order-lg-11{order:11}.order-lg-12{order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.3333333333%}.offset-lg-2{margin-left:16.6666666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.3333333333%}.offset-lg-5{margin-left:41.6666666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.3333333333%}.offset-lg-8{margin-left:66.6666666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.3333333333%}.offset-lg-11{margin-left:91.6666666667%}}@media (min-width:1200px){.col-xl{flex-basis:0;flex-grow:1;max-width:100%}.col-xl-auto{flex:0 0 auto;width:auto;max-width:none}.col-xl-1{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-xl-2{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-xl-3{flex:0 0 25%;max-width:25%}.col-xl-4{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-xl-5{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-xl-6{flex:0 0 50%;max-width:50%}.col-xl-7{flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-xl-8{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-xl-9{flex:0 0 75%;max-width:75%}.col-xl-10{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-xl-11{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-xl-12{flex:0 0 100%;max-width:100%}.order-xl-first{order:-1}.order-xl-last{order:13}.order-xl-0{order:0}.order-xl-1{order:1}.order-xl-2{order:2}.order-xl-3{order:3}.order-xl-4{order:4}.order-xl-5{order:5}.order-xl-6{order:6}.order-xl-7{order:7}.order-xl-8{order:8}.order-xl-9{order:9}.order-xl-10{order:10}.order-xl-11{order:11}.order-xl-12{order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.3333333333%}.offset-xl-2{margin-left:16.6666666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.3333333333%}.offset-xl-5{margin-left:41.6666666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.3333333333%}.offset-xl-8{margin-left:66.6666666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.3333333333%}.offset-xl-11{margin-left:91.6666666667%}}.table{width:100%;margin-bottom:1rem;background-color:transparent}.table td,.table th{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6}.table thead th{vertical-align:bottom;border-bottom:2px solid #dee2e6}.table tbody+tbody{border-top:2px solid #dee2e6}.table .table{background-color:#f8fafc}.table-sm td,.table-sm th{padding:.3rem}.table-bordered,.table-bordered td,.table-bordered th{border:1px solid #dee2e6}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-borderless tbody+tbody,.table-borderless td,.table-borderless th,.table-borderless thead th{border:0}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover tbody tr:hover{background-color:rgba(0,0,0,.075)}.table-primary,.table-primary>td,.table-primary>th{background-color:#c6e0f5}.table-hover .table-primary:hover,.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#b0d4f1}.table-secondary,.table-secondary>td,.table-secondary>th{background-color:#d6d8db}.table-hover .table-secondary:hover,.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#c8cbcf}.table-success,.table-success>td,.table-success>th{background-color:#c7eed8}.table-hover .table-success:hover,.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#b3e8ca}.table-info,.table-info>td,.table-info>th{background-color:#d6e9f9}.table-hover .table-info:hover,.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#c0ddf6}.table-warning,.table-warning>td,.table-warning>th{background-color:#fffacc}.table-hover .table-warning:hover,.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#fff8b3}.table-danger,.table-danger>td,.table-danger>th{background-color:#f7c6c5}.table-hover .table-danger:hover,.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#f4b0af}.table-light,.table-light>td,.table-light>th{background-color:#fdfdfe}.table-hover .table-light:hover,.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:#ececf6}.table-dark,.table-dark>td,.table-dark>th{background-color:#c6c8ca}.table-hover .table-dark:hover,.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#b9bbbe}.table-active,.table-active>td,.table-active>th,.table-hover .table-active:hover,.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.table .thead-dark th{color:#f8fafc;background-color:#212529;border-color:#32383e}.table .thead-light th{color:#495057;background-color:#e9ecef;border-color:#dee2e6}.table-dark{color:#f8fafc;background-color:#212529}.table-dark td,.table-dark th,.table-dark thead th{border-color:#32383e}.table-dark.table-bordered{border:0}.table-dark.table-striped tbody tr:nth-of-type(odd){background-color:hsla(0,0%,100%,.05)}.table-dark.table-hover tbody tr:hover{background-color:hsla(0,0%,100%,.075)}@media (max-width:575.98px){.table-responsive-sm{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive-sm>.table-bordered{border:0}}@media (max-width:767.98px){.table-responsive-md{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive-md>.table-bordered{border:0}}@media (max-width:991.98px){.table-responsive-lg{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive-lg>.table-bordered{border:0}}@media (max-width:1199.98px){.table-responsive-xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive-xl>.table-bordered{border:0}}.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive>.table-bordered{border:0}.form-control{display:block;width:100%;height:calc(2.19rem + 2px);padding:.375rem .75rem;font-size:.9rem;line-height:1.6;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media screen and (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:focus{color:#495057;background-color:#fff;border-color:#a1cbef;outline:0;box-shadow:0 0 0 .2rem rgba(52,144,220,.25)}.form-control::-webkit-input-placeholder{color:#6c757d;opacity:1}.form-control:-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}select.form-control:focus::-ms-value{color:#495057;background-color:#fff}.form-control-file,.form-control-range{display:block;width:100%}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.6}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.125rem;line-height:1.5}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.7875rem;line-height:1.5}.form-control-plaintext{display:block;width:100%;padding-top:.375rem;padding-bottom:.375rem;margin-bottom:0;line-height:1.6;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{height:calc(1.68125rem + 2px);padding:.25rem .5rem;font-size:.7875rem;line-height:1.5;border-radius:.2rem}.form-control-lg{height:calc(2.6875rem + 2px);padding:.5rem 1rem;font-size:1.125rem;line-height:1.5;border-radius:.3rem}select.form-control[multiple],select.form-control[size],textarea.form-control{height:auto}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-row{display:flex;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.form-row>.col,.form-row>[class*=col-]{padding-right:5px;padding-left:5px}.form-check{position:relative;display:block;padding-left:1.25rem}.form-check-input{position:absolute;margin-top:.3rem;margin-left:-1.25rem}.form-check-input:disabled~.form-check-label{color:#6c757d}.form-check-label{margin-bottom:0}.form-check-inline{display:inline-flex;align-items:center;padding-left:0;margin-right:.75rem}.form-check-inline .form-check-input{position:static;margin-top:0;margin-right:.3125rem;margin-left:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#38c172}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.7875rem;line-height:1.6;color:#fff;background-color:rgba(56,193,114,.9);border-radius:.25rem}.custom-select.is-valid,.form-control.is-valid,.was-validated .custom-select:valid,.was-validated .form-control:valid{border-color:#38c172}.custom-select.is-valid:focus,.form-control.is-valid:focus,.was-validated .custom-select:valid:focus,.was-validated .form-control:valid:focus{border-color:#38c172;box-shadow:0 0 0 .2rem rgba(56,193,114,.25)}.custom-select.is-valid~.valid-feedback,.custom-select.is-valid~.valid-tooltip,.form-control-file.is-valid~.valid-feedback,.form-control-file.is-valid~.valid-tooltip,.form-control.is-valid~.valid-feedback,.form-control.is-valid~.valid-tooltip,.was-validated .custom-select:valid~.valid-feedback,.was-validated .custom-select:valid~.valid-tooltip,.was-validated .form-control-file:valid~.valid-feedback,.was-validated .form-control-file:valid~.valid-tooltip,.was-validated .form-control:valid~.valid-feedback,.was-validated .form-control:valid~.valid-tooltip{display:block}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#38c172}.form-check-input.is-valid~.valid-feedback,.form-check-input.is-valid~.valid-tooltip,.was-validated .form-check-input:valid~.valid-feedback,.was-validated .form-check-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid~.custom-control-label,.was-validated .custom-control-input:valid~.custom-control-label{color:#38c172}.custom-control-input.is-valid~.custom-control-label:before,.was-validated .custom-control-input:valid~.custom-control-label:before{background-color:#98e1b7}.custom-control-input.is-valid~.valid-feedback,.custom-control-input.is-valid~.valid-tooltip,.was-validated .custom-control-input:valid~.valid-feedback,.was-validated .custom-control-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid:checked~.custom-control-label:before,.was-validated .custom-control-input:valid:checked~.custom-control-label:before{background-color:#5cd08d}.custom-control-input.is-valid:focus~.custom-control-label:before,.was-validated .custom-control-input:valid:focus~.custom-control-label:before{box-shadow:0 0 0 1px #f8fafc,0 0 0 .2rem rgba(56,193,114,.25)}.custom-file-input.is-valid~.custom-file-label,.was-validated .custom-file-input:valid~.custom-file-label{border-color:#38c172}.custom-file-input.is-valid~.custom-file-label:after,.was-validated .custom-file-input:valid~.custom-file-label:after{border-color:inherit}.custom-file-input.is-valid~.valid-feedback,.custom-file-input.is-valid~.valid-tooltip,.was-validated .custom-file-input:valid~.valid-feedback,.was-validated .custom-file-input:valid~.valid-tooltip{display:block}.custom-file-input.is-valid:focus~.custom-file-label,.was-validated .custom-file-input:valid:focus~.custom-file-label{box-shadow:0 0 0 .2rem rgba(56,193,114,.25)}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#e3342f}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.7875rem;line-height:1.6;color:#fff;background-color:rgba(227,52,47,.9);border-radius:.25rem}.custom-select.is-invalid,.form-control.is-invalid,.was-validated .custom-select:invalid,.was-validated .form-control:invalid{border-color:#e3342f}.custom-select.is-invalid:focus,.form-control.is-invalid:focus,.was-validated .custom-select:invalid:focus,.was-validated .form-control:invalid:focus{border-color:#e3342f;box-shadow:0 0 0 .2rem rgba(227,52,47,.25)}.custom-select.is-invalid~.invalid-feedback,.custom-select.is-invalid~.invalid-tooltip,.form-control-file.is-invalid~.invalid-feedback,.form-control-file.is-invalid~.invalid-tooltip,.form-control.is-invalid~.invalid-feedback,.form-control.is-invalid~.invalid-tooltip,.was-validated .custom-select:invalid~.invalid-feedback,.was-validated .custom-select:invalid~.invalid-tooltip,.was-validated .form-control-file:invalid~.invalid-feedback,.was-validated .form-control-file:invalid~.invalid-tooltip,.was-validated .form-control:invalid~.invalid-feedback,.was-validated .form-control:invalid~.invalid-tooltip{display:block}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#e3342f}.form-check-input.is-invalid~.invalid-feedback,.form-check-input.is-invalid~.invalid-tooltip,.was-validated .form-check-input:invalid~.invalid-feedback,.was-validated .form-check-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid~.custom-control-label,.was-validated .custom-control-input:invalid~.custom-control-label{color:#e3342f}.custom-control-input.is-invalid~.custom-control-label:before,.was-validated .custom-control-input:invalid~.custom-control-label:before{background-color:#f2a29f}.custom-control-input.is-invalid~.invalid-feedback,.custom-control-input.is-invalid~.invalid-tooltip,.was-validated .custom-control-input:invalid~.invalid-feedback,.was-validated .custom-control-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid:checked~.custom-control-label:before,.was-validated .custom-control-input:invalid:checked~.custom-control-label:before{background-color:#e9605c}.custom-control-input.is-invalid:focus~.custom-control-label:before,.was-validated .custom-control-input:invalid:focus~.custom-control-label:before{box-shadow:0 0 0 1px #f8fafc,0 0 0 .2rem rgba(227,52,47,.25)}.custom-file-input.is-invalid~.custom-file-label,.was-validated .custom-file-input:invalid~.custom-file-label{border-color:#e3342f}.custom-file-input.is-invalid~.custom-file-label:after,.was-validated .custom-file-input:invalid~.custom-file-label:after{border-color:inherit}.custom-file-input.is-invalid~.invalid-feedback,.custom-file-input.is-invalid~.invalid-tooltip,.was-validated .custom-file-input:invalid~.invalid-feedback,.was-validated .custom-file-input:invalid~.invalid-tooltip{display:block}.custom-file-input.is-invalid:focus~.custom-file-label,.was-validated .custom-file-input:invalid:focus~.custom-file-label{box-shadow:0 0 0 .2rem rgba(227,52,47,.25)}.form-inline{display:flex;flex-flow:row wrap;align-items:center}.form-inline .form-check{width:100%}@media (min-width:576px){.form-inline label{justify-content:center}.form-inline .form-group,.form-inline label{display:flex;align-items:center;margin-bottom:0}.form-inline .form-group{flex:0 0 auto;flex-flow:row wrap}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-plaintext{display:inline-block}.form-inline .custom-select,.form-inline .input-group{width:auto}.form-inline .form-check{display:flex;align-items:center;justify-content:center;width:auto;padding-left:0}.form-inline .form-check-input{position:relative;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{align-items:center;justify-content:center}.form-inline .custom-control-label{margin-bottom:0}}.btn{display:inline-block;font-weight:400;text-align:center;white-space:nowrap;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:1px solid transparent;padding:.375rem .75rem;font-size:.9rem;line-height:1.6;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media screen and (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:focus,.btn:hover{text-decoration:none}.btn.focus,.btn:focus{outline:0;box-shadow:0 0 0 .2rem rgba(52,144,220,.25)}.btn.disabled,.btn:disabled{opacity:.65}.btn:not(:disabled):not(.disabled){cursor:pointer}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#3490dc;border-color:#3490dc}.btn-primary:hover{color:#fff;background-color:#227dc7;border-color:#2176bd}.btn-primary.focus,.btn-primary:focus{box-shadow:0 0 0 .2rem rgba(52,144,220,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#3490dc;border-color:#3490dc}.btn-primary:not(:disabled):not(.disabled).active,.btn-primary:not(:disabled):not(.disabled):active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#2176bd;border-color:#1f6fb2}.btn-primary:not(:disabled):not(.disabled).active:focus,.btn-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(52,144,220,.5)}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:hover{color:#fff;background-color:#5a6268;border-color:#545b62}.btn-secondary.focus,.btn-secondary:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:not(:disabled):not(.disabled).active,.btn-secondary:not(:disabled):not(.disabled):active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#545b62;border-color:#4e555b}.btn-secondary:not(:disabled):not(.disabled).active:focus,.btn-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-success{color:#fff;background-color:#38c172;border-color:#38c172}.btn-success:hover{color:#fff;background-color:#2fa360;border-color:#2d995b}.btn-success.focus,.btn-success:focus{box-shadow:0 0 0 .2rem rgba(56,193,114,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#38c172;border-color:#38c172}.btn-success:not(:disabled):not(.disabled).active,.btn-success:not(:disabled):not(.disabled):active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#2d995b;border-color:#2a9055}.btn-success:not(:disabled):not(.disabled).active:focus,.btn-success:not(:disabled):not(.disabled):active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(56,193,114,.5)}.btn-info{color:#212529;background-color:#6cb2eb;border-color:#6cb2eb}.btn-info:hover{color:#fff;background-color:#4aa0e6;border-color:#3f9ae5}.btn-info.focus,.btn-info:focus{box-shadow:0 0 0 .2rem rgba(108,178,235,.5)}.btn-info.disabled,.btn-info:disabled{color:#212529;background-color:#6cb2eb;border-color:#6cb2eb}.btn-info:not(:disabled):not(.disabled).active,.btn-info:not(:disabled):not(.disabled):active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#3f9ae5;border-color:#3495e3}.btn-info:not(:disabled):not(.disabled).active:focus,.btn-info:not(:disabled):not(.disabled):active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(108,178,235,.5)}.btn-warning{color:#212529;background-color:#ffed4a;border-color:#ffed4a}.btn-warning:hover{color:#212529;background-color:#ffe924;border-color:#ffe817}.btn-warning.focus,.btn-warning:focus{box-shadow:0 0 0 .2rem rgba(255,237,74,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#212529;background-color:#ffed4a;border-color:#ffed4a}.btn-warning:not(:disabled):not(.disabled).active,.btn-warning:not(:disabled):not(.disabled):active,.show>.btn-warning.dropdown-toggle{color:#212529;background-color:#ffe817;border-color:#ffe70a}.btn-warning:not(:disabled):not(.disabled).active:focus,.btn-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,237,74,.5)}.btn-danger{color:#fff;background-color:#e3342f;border-color:#e3342f}.btn-danger:hover{color:#fff;background-color:#d0211c;border-color:#c51f1a}.btn-danger.focus,.btn-danger:focus{box-shadow:0 0 0 .2rem rgba(227,52,47,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#e3342f;border-color:#e3342f}.btn-danger:not(:disabled):not(.disabled).active,.btn-danger:not(:disabled):not(.disabled):active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#c51f1a;border-color:#b91d19}.btn-danger:not(:disabled):not(.disabled).active:focus,.btn-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(227,52,47,.5)}.btn-light{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#212529;background-color:#e2e6ea;border-color:#dae0e5}.btn-light.focus,.btn-light:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-light.disabled,.btn-light:disabled{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:not(:disabled):not(.disabled).active,.btn-light:not(:disabled):not(.disabled):active,.show>.btn-light.dropdown-toggle{color:#212529;background-color:#dae0e5;border-color:#d3d9df}.btn-light:not(:disabled):not(.disabled).active:focus,.btn-light:not(:disabled):not(.disabled):active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-dark{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:hover{color:#fff;background-color:#23272b;border-color:#1d2124}.btn-dark.focus,.btn-dark:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:not(:disabled):not(.disabled).active,.btn-dark:not(:disabled):not(.disabled):active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1d2124;border-color:#171a1d}.btn-dark:not(:disabled):not(.disabled).active:focus,.btn-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-outline-primary{color:#3490dc;background-color:transparent;background-image:none;border-color:#3490dc}.btn-outline-primary:hover{color:#fff;background-color:#3490dc;border-color:#3490dc}.btn-outline-primary.focus,.btn-outline-primary:focus{box-shadow:0 0 0 .2rem rgba(52,144,220,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#3490dc;background-color:transparent}.btn-outline-primary:not(:disabled):not(.disabled).active,.btn-outline-primary:not(:disabled):not(.disabled):active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#3490dc;border-color:#3490dc}.btn-outline-primary:not(:disabled):not(.disabled).active:focus,.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(52,144,220,.5)}.btn-outline-secondary{color:#6c757d;background-color:transparent;background-image:none;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary.focus,.btn-outline-secondary:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}.btn-outline-secondary:not(:disabled):not(.disabled).active,.btn-outline-secondary:not(:disabled):not(.disabled):active,.show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-success{color:#38c172;background-color:transparent;background-image:none;border-color:#38c172}.btn-outline-success:hover{color:#fff;background-color:#38c172;border-color:#38c172}.btn-outline-success.focus,.btn-outline-success:focus{box-shadow:0 0 0 .2rem rgba(56,193,114,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#38c172;background-color:transparent}.btn-outline-success:not(:disabled):not(.disabled).active,.btn-outline-success:not(:disabled):not(.disabled):active,.show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#38c172;border-color:#38c172}.btn-outline-success:not(:disabled):not(.disabled).active:focus,.btn-outline-success:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(56,193,114,.5)}.btn-outline-info{color:#6cb2eb;background-color:transparent;background-image:none;border-color:#6cb2eb}.btn-outline-info:hover{color:#212529;background-color:#6cb2eb;border-color:#6cb2eb}.btn-outline-info.focus,.btn-outline-info:focus{box-shadow:0 0 0 .2rem rgba(108,178,235,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#6cb2eb;background-color:transparent}.btn-outline-info:not(:disabled):not(.disabled).active,.btn-outline-info:not(:disabled):not(.disabled):active,.show>.btn-outline-info.dropdown-toggle{color:#212529;background-color:#6cb2eb;border-color:#6cb2eb}.btn-outline-info:not(:disabled):not(.disabled).active:focus,.btn-outline-info:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(108,178,235,.5)}.btn-outline-warning{color:#ffed4a;background-color:transparent;background-image:none;border-color:#ffed4a}.btn-outline-warning:hover{color:#212529;background-color:#ffed4a;border-color:#ffed4a}.btn-outline-warning.focus,.btn-outline-warning:focus{box-shadow:0 0 0 .2rem rgba(255,237,74,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffed4a;background-color:transparent}.btn-outline-warning:not(:disabled):not(.disabled).active,.btn-outline-warning:not(:disabled):not(.disabled):active,.show>.btn-outline-warning.dropdown-toggle{color:#212529;background-color:#ffed4a;border-color:#ffed4a}.btn-outline-warning:not(:disabled):not(.disabled).active:focus,.btn-outline-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,237,74,.5)}.btn-outline-danger{color:#e3342f;background-color:transparent;background-image:none;border-color:#e3342f}.btn-outline-danger:hover{color:#fff;background-color:#e3342f;border-color:#e3342f}.btn-outline-danger.focus,.btn-outline-danger:focus{box-shadow:0 0 0 .2rem rgba(227,52,47,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#e3342f;background-color:transparent}.btn-outline-danger:not(:disabled):not(.disabled).active,.btn-outline-danger:not(:disabled):not(.disabled):active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#e3342f;border-color:#e3342f}.btn-outline-danger:not(:disabled):not(.disabled).active:focus,.btn-outline-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(227,52,47,.5)}.btn-outline-light{color:#f8f9fa;background-color:transparent;background-image:none;border-color:#f8f9fa}.btn-outline-light:hover{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light.focus,.btn-outline-light:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-light:not(:disabled):not(.disabled).active,.btn-outline-light:not(:disabled):not(.disabled):active,.show>.btn-outline-light.dropdown-toggle{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:not(:disabled):not(.disabled).active:focus,.btn-outline-light:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-dark{color:#343a40;background-color:transparent;background-image:none;border-color:#343a40}.btn-outline-dark:hover{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark.focus,.btn-outline-dark:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#343a40;background-color:transparent}.btn-outline-dark:not(:disabled):not(.disabled).active,.btn-outline-dark:not(:disabled):not(.disabled):active,.show>.btn-outline-dark.dropdown-toggle{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark:not(:disabled):not(.disabled).active:focus,.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-link{font-weight:400;color:#3490dc;background-color:transparent}.btn-link:hover{color:#1d68a7;background-color:transparent}.btn-link.focus,.btn-link:focus,.btn-link:hover{text-decoration:underline;border-color:transparent}.btn-link.focus,.btn-link:focus{box-shadow:none}.btn-link.disabled,.btn-link:disabled{color:#6c757d;pointer-events:none}.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:1.125rem;line-height:1.5;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.7875rem;line-height:1.5;border-radius:.2rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{transition:opacity .15s linear}@media screen and (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{position:relative;height:0;overflow:hidden;transition:height .35s ease}@media screen and (prefers-reduced-motion:reduce){.collapsing{transition:none}}.dropdown,.dropleft,.dropright,.dropup{position:relative}.dropdown-toggle:after{display:inline-block;width:0;height:0;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty:after{margin-left:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:.9rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-menu-right{right:0;left:auto}.dropup .dropdown-menu{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle:after{display:inline-block;width:0;height:0;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty:after{margin-left:0}.dropright .dropdown-menu{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropright .dropdown-toggle:after{display:inline-block;width:0;height:0;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropright .dropdown-toggle:empty:after{margin-left:0}.dropright .dropdown-toggle:after{vertical-align:0}.dropleft .dropdown-menu{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropleft .dropdown-toggle:after{display:inline-block;width:0;height:0;margin-left:.255em;vertical-align:.255em;content:"";display:none}.dropleft .dropdown-toggle:before{display:inline-block;width:0;height:0;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropleft .dropdown-toggle:empty:after{margin-left:0}.dropleft .dropdown-toggle:before{vertical-align:0}.dropdown-menu[x-placement^=bottom],.dropdown-menu[x-placement^=left],.dropdown-menu[x-placement^=right],.dropdown-menu[x-placement^=top]{right:auto;bottom:auto}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9ecef}.dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#212529;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#16181b;text-decoration:none;background-color:#f8f9fa}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#3490dc}.dropdown-item.disabled,.dropdown-item:disabled{color:#6c757d;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.7875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1.5rem;color:#212529}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;flex:0 1 auto}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.btn-group-vertical .btn+.btn,.btn-group-vertical .btn+.btn-group,.btn-group-vertical .btn-group+.btn,.btn-group-vertical .btn-group+.btn-group,.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split:after,.dropright .dropdown-toggle-split:after,.dropup .dropdown-toggle-split:after{margin-left:0}.dropleft .dropdown-toggle-split:before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical .btn,.btn-group-vertical .btn-group{width:100%}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn{margin-bottom:0}.btn-group-toggle>.btn-group>.btn input[type=checkbox],.btn-group-toggle>.btn-group>.btn input[type=radio],.btn-group-toggle>.btn input[type=checkbox],.btn-group-toggle>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.custom-file,.input-group>.custom-select,.input-group>.form-control{position:relative;flex:1 1 auto;width:1%;margin-bottom:0}.input-group>.custom-file+.custom-file,.input-group>.custom-file+.custom-select,.input-group>.custom-file+.form-control,.input-group>.custom-select+.custom-file,.input-group>.custom-select+.custom-select,.input-group>.custom-select+.form-control,.input-group>.form-control+.custom-file,.input-group>.form-control+.custom-select,.input-group>.form-control+.form-control{margin-left:-1px}.input-group>.custom-file .custom-file-input:focus~.custom-file-label,.input-group>.custom-select:focus,.input-group>.form-control:focus{z-index:3}.input-group>.custom-file .custom-file-input:focus{z-index:4}.input-group>.custom-select:not(:last-child),.input-group>.form-control:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-select:not(:first-child),.input-group>.form-control:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.custom-file{display:flex;align-items:center}.input-group>.custom-file:not(:last-child) .custom-file-label,.input-group>.custom-file:not(:last-child) .custom-file-label:after{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-file:not(:first-child) .custom-file-label{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-append,.input-group-prepend{display:flex}.input-group-append .btn,.input-group-prepend .btn{position:relative;z-index:2}.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .input-group-text+.btn,.input-group-append .input-group-text+.input-group-text,.input-group-prepend .btn+.btn,.input-group-prepend .btn+.input-group-text,.input-group-prepend .input-group-text+.btn,.input-group-prepend .input-group-text+.input-group-text{margin-left:-1px}.input-group-prepend{margin-right:-1px}.input-group-append{margin-left:-1px}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;margin-bottom:0;font-size:.9rem;font-weight:400;line-height:1.6;color:#495057;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-text input[type=checkbox],.input-group-text input[type=radio]{margin-top:0}.input-group-lg>.form-control,.input-group-lg>.input-group-append>.btn,.input-group-lg>.input-group-append>.input-group-text,.input-group-lg>.input-group-prepend>.btn,.input-group-lg>.input-group-prepend>.input-group-text{height:calc(2.6875rem + 2px);padding:.5rem 1rem;font-size:1.125rem;line-height:1.5;border-radius:.3rem}.input-group-sm>.form-control,.input-group-sm>.input-group-append>.btn,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-prepend>.input-group-text{height:calc(1.68125rem + 2px);padding:.25rem .5rem;font-size:.7875rem;line-height:1.5;border-radius:.2rem}.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child),.input-group>.input-group-append:not(:last-child)>.btn,.input-group>.input-group-append:not(:last-child)>.input-group-text,.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child),.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text{border-top-left-radius:0;border-bottom-left-radius:0}.custom-control{position:relative;display:block;min-height:1.44rem;padding-left:1.5rem}.custom-control-inline{display:inline-flex;margin-right:1rem}.custom-control-input{position:absolute;z-index:-1;opacity:0}.custom-control-input:checked~.custom-control-label:before{color:#fff;background-color:#3490dc}.custom-control-input:focus~.custom-control-label:before{box-shadow:0 0 0 1px #f8fafc,0 0 0 .2rem rgba(52,144,220,.25)}.custom-control-input:active~.custom-control-label:before{color:#fff;background-color:#cce3f6}.custom-control-input:disabled~.custom-control-label{color:#6c757d}.custom-control-input:disabled~.custom-control-label:before{background-color:#e9ecef}.custom-control-label{position:relative;margin-bottom:0}.custom-control-label:before{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#dee2e6}.custom-control-label:after,.custom-control-label:before{position:absolute;top:.22rem;left:-1.5rem;display:block;width:1rem;height:1rem;content:""}.custom-control-label:after{background-repeat:no-repeat;background-position:50%;background-size:50% 50%}.custom-checkbox .custom-control-label:before{border-radius:.25rem}.custom-checkbox .custom-control-input:checked~.custom-control-label:before{background-color:#3490dc}.custom-checkbox .custom-control-input:checked~.custom-control-label:after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label:before{background-color:#3490dc}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label:after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E")}.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label:before{background-color:rgba(52,144,220,.5)}.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label:before{background-color:rgba(52,144,220,.5)}.custom-radio .custom-control-label:before{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-label:before{background-color:#3490dc}.custom-radio .custom-control-input:checked~.custom-control-label:after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E")}.custom-radio .custom-control-input:disabled:checked~.custom-control-label:before{background-color:rgba(52,144,220,.5)}.custom-select{display:inline-block;width:100%;height:calc(2.19rem + 2px);padding:.375rem 1.75rem .375rem .75rem;line-height:1.6;color:#495057;vertical-align:middle;background:#fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right .75rem center;background-size:8px 10px;border:1px solid #ced4da;border-radius:.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-select:focus{border-color:#a1cbef;outline:0;box-shadow:0 0 0 .2rem rgba(161,203,239,.5)}.custom-select:focus::-ms-value{color:#495057;background-color:#fff}.custom-select[multiple],.custom-select[size]:not([size="1"]){height:auto;padding-right:.75rem;background-image:none}.custom-select:disabled{color:#6c757d;background-color:#e9ecef}.custom-select::-ms-expand{opacity:0}.custom-select-sm{height:calc(1.68125rem + 2px);font-size:75%}.custom-select-lg,.custom-select-sm{padding-top:.375rem;padding-bottom:.375rem}.custom-select-lg{height:calc(2.6875rem + 2px);font-size:125%}.custom-file{display:inline-block;margin-bottom:0}.custom-file,.custom-file-input{position:relative;width:100%;height:calc(2.19rem + 2px)}.custom-file-input{z-index:2;margin:0;opacity:0}.custom-file-input:focus~.custom-file-label{border-color:#a1cbef;box-shadow:0 0 0 .2rem rgba(52,144,220,.25)}.custom-file-input:focus~.custom-file-label:after{border-color:#a1cbef}.custom-file-input:disabled~.custom-file-label{background-color:#e9ecef}.custom-file-input:lang(en)~.custom-file-label:after{content:"Browse"}.custom-file-label{left:0;z-index:1;height:calc(2.19rem + 2px);background-color:#fff;border:1px solid #ced4da;border-radius:.25rem}.custom-file-label,.custom-file-label:after{position:absolute;top:0;right:0;padding:.375rem .75rem;line-height:1.6;color:#495057}.custom-file-label:after{bottom:0;z-index:3;display:block;height:2.19rem;content:"Browse";background-color:#e9ecef;border-left:1px solid #ced4da;border-radius:0 .25rem .25rem 0}.custom-range{width:100%;padding-left:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-range:focus{outline:none}.custom-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #f8fafc,0 0 0 .2rem rgba(52,144,220,.25)}.custom-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #f8fafc,0 0 0 .2rem rgba(52,144,220,.25)}.custom-range:focus::-ms-thumb{box-shadow:0 0 0 1px #f8fafc,0 0 0 .2rem rgba(52,144,220,.25)}.custom-range::-moz-focus-outer{border:0}.custom-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#3490dc;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;appearance:none}@media screen and (prefers-reduced-motion:reduce){.custom-range::-webkit-slider-thumb{transition:none}}.custom-range::-webkit-slider-thumb:active{background-color:#cce3f6}.custom-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#3490dc;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-moz-appearance:none;appearance:none}@media screen and (prefers-reduced-motion:reduce){.custom-range::-moz-range-thumb{transition:none}}.custom-range::-moz-range-thumb:active{background-color:#cce3f6}.custom-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-ms-thumb{width:1rem;height:1rem;margin-top:0;margin-right:.2rem;margin-left:.2rem;background-color:#3490dc;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media screen and (prefers-reduced-motion:reduce){.custom-range::-ms-thumb{transition:none}}.custom-range::-ms-thumb:active{background-color:#cce3f6}.custom-range::-ms-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:transparent;border-color:transparent;border-width:.5rem}.custom-range::-ms-fill-lower,.custom-range::-ms-fill-upper{background-color:#dee2e6;border-radius:1rem}.custom-range::-ms-fill-upper{margin-right:15px}.custom-control-label:before,.custom-file-label,.custom-select{transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media screen and (prefers-reduced-motion:reduce){.custom-control-label:before,.custom-file-label,.custom-select{transition:none}}.nav{display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem}.nav-link:focus,.nav-link:hover{text-decoration:none}.nav-link.disabled{color:#6c757d}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-item{margin-bottom:-1px}.nav-tabs .nav-link{border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#495057;background-color:#f8fafc;border-color:#dee2e6 #dee2e6 #f8fafc}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#3490dc}.nav-fill .nav-item{flex:1 1 auto;text-align:center}.nav-justified .nav-item{flex-basis:0;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;padding:.5rem 1rem}.navbar,.navbar>.container,.navbar>.container-fluid{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between}.navbar-brand{display:inline-block;padding-top:.32rem;padding-bottom:.32rem;margin-right:1rem;font-size:1.125rem;line-height:inherit;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-nav{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static;float:none}.navbar-text{display:inline-block;padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.125rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem}.navbar-toggler:focus,.navbar-toggler:hover{text-decoration:none}.navbar-toggler:not(:disabled):not(.disabled){cursor:pointer}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:no-repeat 50%;background-size:100% 100%}@media (max-width:575.98px){.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:576px){.navbar-expand-sm{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid{flex-wrap:nowrap}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media (max-width:767.98px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:768px){.navbar-expand-md{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid{flex-wrap:nowrap}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media (max-width:991.98px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:992px){.navbar-expand-lg{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid{flex-wrap:nowrap}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media (max-width:1199.98px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:1200px){.navbar-expand-xl{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid{flex-wrap:nowrap}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}.navbar-expand{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand>.container,.navbar-expand>.container-fluid{padding-right:0;padding-left:0}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand>.container,.navbar-expand>.container-fluid{flex-wrap:nowrap}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand,.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.5)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.5);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.navbar-light .navbar-text{color:rgba(0,0,0,.5)}.navbar-light .navbar-text a,.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand,.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:hsla(0,0%,100%,.5)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:hsla(0,0%,100%,.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:hsla(0,0%,100%,.25)}.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .show>.nav-link{color:#fff}.navbar-dark .navbar-toggler{color:hsla(0,0%,100%,.5);border-color:hsla(0,0%,100%,.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.navbar-dark .navbar-text{color:hsla(0,0%,100%,.5)}.navbar-dark .navbar-text a,.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.card{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group:first-child .list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.card>.list-group:last-child .list-group-item:last-child{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.card-body{flex:1 1 auto;padding:1.25rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem}.card-subtitle,.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-header+.list-group .list-group-item:first-child{border-top:0}.card-footer{padding:.75rem 1.25rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-bottom:-.75rem;border-bottom:0}.card-header-pills,.card-header-tabs{margin-right:-.625rem;margin-left:-.625rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem}.card-img{width:100%;border-radius:calc(.25rem - 1px)}.card-img-top{width:100%;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img-bottom{width:100%;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-deck{display:flex;flex-direction:column}.card-deck .card{margin-bottom:15px}@media (min-width:576px){.card-deck{flex-flow:row wrap;margin-right:-15px;margin-left:-15px}.card-deck .card{display:flex;flex:1 0 0%;flex-direction:column;margin-right:15px;margin-bottom:0;margin-left:15px}}.card-group{display:flex;flex-direction:column}.card-group>.card{margin-bottom:15px}@media (min-width:576px){.card-group{flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:first-child .card-header,.card-group>.card:first-child .card-img-top{border-top-right-radius:0}.card-group>.card:first-child .card-footer,.card-group>.card:first-child .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:last-child .card-header,.card-group>.card:last-child .card-img-top{border-top-left-radius:0}.card-group>.card:last-child .card-footer,.card-group>.card:last-child .card-img-bottom{border-bottom-left-radius:0}.card-group>.card:only-child{border-radius:.25rem}.card-group>.card:only-child .card-header,.card-group>.card:only-child .card-img-top{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.card-group>.card:only-child .card-footer,.card-group>.card:only-child .card-img-bottom{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.card-group>.card:not(:first-child):not(:last-child):not(:only-child),.card-group>.card:not(:first-child):not(:last-child):not(:only-child) .card-footer,.card-group>.card:not(:first-child):not(:last-child):not(:only-child) .card-header,.card-group>.card:not(:first-child):not(:last-child):not(:only-child) .card-img-bottom,.card-group>.card:not(:first-child):not(:last-child):not(:only-child) .card-img-top{border-radius:0}}.card-columns .card{margin-bottom:.75rem}@media (min-width:576px){.card-columns{-webkit-column-count:3;column-count:3;-webkit-column-gap:1.25rem;column-gap:1.25rem;orphans:1;widows:1}.card-columns .card{display:inline-block;width:100%}}.accordion .card:not(:first-of-type):not(:last-of-type){border-bottom:0;border-radius:0}.accordion .card:not(:first-of-type) .card-header:first-child{border-radius:0}.accordion .card:first-of-type{border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion .card:last-of-type{border-top-left-radius:0;border-top-right-radius:0}.breadcrumb{display:flex;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#e9ecef;border-radius:.25rem}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item:before{display:inline-block;padding-right:.5rem;color:#6c757d;content:"/"}.breadcrumb-item+.breadcrumb-item:hover:before{text-decoration:underline;text-decoration:none}.breadcrumb-item.active{color:#6c757d}.pagination{display:flex;padding-left:0;list-style:none;border-radius:.25rem}.page-link{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#3490dc;background-color:#fff;border:1px solid #dee2e6}.page-link:hover{z-index:2;color:#1d68a7;text-decoration:none;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:2;outline:0;box-shadow:0 0 0 .2rem rgba(52,144,220,.25)}.page-link:not(:disabled):not(.disabled){cursor:pointer}.page-item:first-child .page-link{margin-left:0;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.page-item.active .page-link{z-index:1;color:#fff;background-color:#3490dc;border-color:#3490dc}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;cursor:auto;background-color:#fff;border-color:#dee2e6}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.125rem;line-height:1.5}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.7875rem;line-height:1.5}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-primary{color:#fff;background-color:#3490dc}.badge-primary[href]:focus,.badge-primary[href]:hover{color:#fff;text-decoration:none;background-color:#2176bd}.badge-secondary{color:#fff;background-color:#6c757d}.badge-secondary[href]:focus,.badge-secondary[href]:hover{color:#fff;text-decoration:none;background-color:#545b62}.badge-success{color:#fff;background-color:#38c172}.badge-success[href]:focus,.badge-success[href]:hover{color:#fff;text-decoration:none;background-color:#2d995b}.badge-info{color:#212529;background-color:#6cb2eb}.badge-info[href]:focus,.badge-info[href]:hover{color:#212529;text-decoration:none;background-color:#3f9ae5}.badge-warning{color:#212529;background-color:#ffed4a}.badge-warning[href]:focus,.badge-warning[href]:hover{color:#212529;text-decoration:none;background-color:#ffe817}.badge-danger{color:#fff;background-color:#e3342f}.badge-danger[href]:focus,.badge-danger[href]:hover{color:#fff;text-decoration:none;background-color:#c51f1a}.badge-light{color:#212529;background-color:#f8f9fa}.badge-light[href]:focus,.badge-light[href]:hover{color:#212529;text-decoration:none;background-color:#dae0e5}.badge-dark{color:#fff;background-color:#343a40}.badge-dark[href]:focus,.badge-dark[href]:hover{color:#fff;text-decoration:none;background-color:#1d2124}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#e9ecef;border-radius:.3rem}@media (min-width:576px){.jumbotron{padding:4rem 2rem}}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:3.85rem}.alert-dismissible .close{position:absolute;top:0;right:0;padding:.75rem 1.25rem;color:inherit}.alert-primary{color:#1b4b72;background-color:#d6e9f8;border-color:#c6e0f5}.alert-primary hr{border-top-color:#b0d4f1}.alert-primary .alert-link{color:#113049}.alert-secondary{color:#383d41;background-color:#e2e3e5;border-color:#d6d8db}.alert-secondary hr{border-top-color:#c8cbcf}.alert-secondary .alert-link{color:#202326}.alert-success{color:#1d643b;background-color:#d7f3e3;border-color:#c7eed8}.alert-success hr{border-top-color:#b3e8ca}.alert-success .alert-link{color:#123c24}.alert-info{color:#385d7a;background-color:#e2f0fb;border-color:#d6e9f9}.alert-info hr{border-top-color:#c0ddf6}.alert-info .alert-link{color:#284257}.alert-warning{color:#857b26;background-color:#fffbdb;border-color:#fffacc}.alert-warning hr{border-top-color:#fff8b3}.alert-warning .alert-link{color:#5d561b}.alert-danger{color:#761b18;background-color:#f9d6d5;border-color:#f7c6c5}.alert-danger hr{border-top-color:#f4b0af}.alert-danger .alert-link{color:#4c110f}.alert-light{color:#818182;background-color:#fefefe;border-color:#fdfdfe}.alert-light hr{border-top-color:#ececf6}.alert-light .alert-link{color:#686868}.alert-dark{color:#1b1e21;background-color:#d6d8d9;border-color:#c6c8ca}.alert-dark hr{border-top-color:#b9bbbe}.alert-dark .alert-link{color:#040505}@-webkit-keyframes progress-bar-stripes{0%{background-position:1rem 0}to{background-position:0 0}}@keyframes progress-bar-stripes{0%{background-position:1rem 0}to{background-position:0 0}}.progress{display:flex;height:1rem;overflow:hidden;font-size:.675rem;background-color:#e9ecef;border-radius:.25rem}.progress-bar{display:flex;flex-direction:column;justify-content:center;color:#fff;text-align:center;white-space:nowrap;background-color:#3490dc;transition:width .6s ease}@media screen and (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:1rem 1rem}.progress-bar-animated{-webkit-animation:progress-bar-stripes 1s linear infinite;animation:progress-bar-stripes 1s linear infinite}.media{display:flex;align-items:flex-start}.media-body{flex:1}.list-group{display:flex;flex-direction:column;padding-left:0;margin-bottom:0}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;margin-bottom:-1px;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.list-group-item:focus,.list-group-item:hover{z-index:1;text-decoration:none}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#3490dc;border-color:#3490dc}.list-group-flush .list-group-item{border-right:0;border-left:0;border-radius:0}.list-group-flush:first-child .list-group-item:first-child{border-top:0}.list-group-flush:last-child .list-group-item:last-child{border-bottom:0}.list-group-item-primary{color:#1b4b72;background-color:#c6e0f5}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#1b4b72;background-color:#b0d4f1}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#1b4b72;border-color:#1b4b72}.list-group-item-secondary{color:#383d41;background-color:#d6d8db}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#383d41;background-color:#c8cbcf}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#383d41;border-color:#383d41}.list-group-item-success{color:#1d643b;background-color:#c7eed8}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#1d643b;background-color:#b3e8ca}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#1d643b;border-color:#1d643b}.list-group-item-info{color:#385d7a;background-color:#d6e9f9}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#385d7a;background-color:#c0ddf6}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#385d7a;border-color:#385d7a}.list-group-item-warning{color:#857b26;background-color:#fffacc}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#857b26;background-color:#fff8b3}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#857b26;border-color:#857b26}.list-group-item-danger{color:#761b18;background-color:#f7c6c5}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#761b18;background-color:#f4b0af}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#761b18;border-color:#761b18}.list-group-item-light{color:#818182;background-color:#fdfdfe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#818182;background-color:#ececf6}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#818182;border-color:#818182}.list-group-item-dark{color:#1b1e21;background-color:#c6c8ca}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#1b1e21;background-color:#b9bbbe}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#1b1e21;border-color:#1b1e21}.close{float:right;font-size:1.35rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close:not(:disabled):not(.disabled){cursor:pointer}.close:not(:disabled):not(.disabled):focus,.close:not(:disabled):not(.disabled):hover{color:#000;text-decoration:none;opacity:.75}button.close{padding:0;background-color:transparent;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out;-webkit-transform:translateY(-25%);transform:translateY(-25%)}@media screen and (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{-webkit-transform:translate(0);transform:translate(0)}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - 1rem)}.modal-dialog-centered:before{display:block;height:calc(100vh - 1rem);content:""}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;padding:1rem;border-bottom:1px solid #e9ecef;border-top-left-radius:.3rem;border-top-right-radius:.3rem}.modal-header .close{padding:1rem;margin:-1rem -1rem -1rem auto}.modal-title{margin-bottom:0;line-height:1.6}.modal-body{position:relative;flex:1 1 auto;padding:1rem}.modal-footer{display:flex;align-items:center;justify-content:flex-end;padding:1rem;border-top:1px solid #e9ecef}.modal-footer>:not(:first-child){margin-left:.25rem}.modal-footer>:not(:last-child){margin-right:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-dialog-centered:before{height:calc(100vh - 3.5rem)}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg{max-width:800px}}.tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:Nunito,sans-serif;font-style:normal;font-weight:400;line-height:1.6;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.7875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .arrow:before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[x-placement^=top],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[x-placement^=top] .arrow,.bs-tooltip-top .arrow{bottom:0}.bs-tooltip-auto[x-placement^=top] .arrow:before,.bs-tooltip-top .arrow:before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[x-placement^=right],.bs-tooltip-right{padding:0 .4rem}.bs-tooltip-auto[x-placement^=right] .arrow,.bs-tooltip-right .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=right] .arrow:before,.bs-tooltip-right .arrow:before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[x-placement^=bottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[x-placement^=bottom] .arrow,.bs-tooltip-bottom .arrow{top:0}.bs-tooltip-auto[x-placement^=bottom] .arrow:before,.bs-tooltip-bottom .arrow:before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[x-placement^=left],.bs-tooltip-left{padding:0 .4rem}.bs-tooltip-auto[x-placement^=left] .arrow,.bs-tooltip-left .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=left] .arrow:before,.bs-tooltip-left .arrow:before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{top:0;left:0;z-index:1060;max-width:276px;font-family:Nunito,sans-serif;font-style:normal;font-weight:400;line-height:1.6;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.7875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover,.popover .arrow{position:absolute;display:block}.popover .arrow{width:1rem;height:.5rem;margin:0 .3rem}.popover .arrow:after,.popover .arrow:before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-auto[x-placement^=top],.bs-popover-top{margin-bottom:.5rem}.bs-popover-auto[x-placement^=top] .arrow,.bs-popover-top .arrow{bottom:calc(-.5rem + -1px)}.bs-popover-auto[x-placement^=top] .arrow:after,.bs-popover-auto[x-placement^=top] .arrow:before,.bs-popover-top .arrow:after,.bs-popover-top .arrow:before{border-width:.5rem .5rem 0}.bs-popover-auto[x-placement^=top] .arrow:before,.bs-popover-top .arrow:before{bottom:0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=top] .arrow:after,.bs-popover-top .arrow:after{bottom:1px;border-top-color:#fff}.bs-popover-auto[x-placement^=right],.bs-popover-right{margin-left:.5rem}.bs-popover-auto[x-placement^=right] .arrow,.bs-popover-right .arrow{left:calc(-.5rem + -1px);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=right] .arrow:after,.bs-popover-auto[x-placement^=right] .arrow:before,.bs-popover-right .arrow:after,.bs-popover-right .arrow:before{border-width:.5rem .5rem .5rem 0}.bs-popover-auto[x-placement^=right] .arrow:before,.bs-popover-right .arrow:before{left:0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=right] .arrow:after,.bs-popover-right .arrow:after{left:1px;border-right-color:#fff}.bs-popover-auto[x-placement^=bottom],.bs-popover-bottom{margin-top:.5rem}.bs-popover-auto[x-placement^=bottom] .arrow,.bs-popover-bottom .arrow{top:calc(-.5rem + -1px)}.bs-popover-auto[x-placement^=bottom] .arrow:after,.bs-popover-auto[x-placement^=bottom] .arrow:before,.bs-popover-bottom .arrow:after,.bs-popover-bottom .arrow:before{border-width:0 .5rem .5rem}.bs-popover-auto[x-placement^=bottom] .arrow:before,.bs-popover-bottom .arrow:before{top:0;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=bottom] .arrow:after,.bs-popover-bottom .arrow:after{top:1px;border-bottom-color:#fff}.bs-popover-auto[x-placement^=bottom] .popover-header:before,.bs-popover-bottom .popover-header:before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f7f7f7}.bs-popover-auto[x-placement^=left],.bs-popover-left{margin-right:.5rem}.bs-popover-auto[x-placement^=left] .arrow,.bs-popover-left .arrow{right:calc(-.5rem + -1px);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=left] .arrow:after,.bs-popover-auto[x-placement^=left] .arrow:before,.bs-popover-left .arrow:after,.bs-popover-left .arrow:before{border-width:.5rem 0 .5rem .5rem}.bs-popover-auto[x-placement^=left] .arrow:before,.bs-popover-left .arrow:before{right:0;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=left] .arrow:after,.bs-popover-left .arrow:after{right:1px;border-left-color:#fff}.popover-header{padding:.5rem .75rem;margin-bottom:0;font-size:.9rem;color:inherit;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:.5rem .75rem;color:#212529}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-item{position:relative;display:none;align-items:center;width:100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block;transition:-webkit-transform .6s ease;transition:transform .6s ease;transition:transform .6s ease,-webkit-transform .6s ease}@media screen and (prefers-reduced-motion:reduce){.carousel-item-next,.carousel-item-prev,.carousel-item.active{transition:none}}.carousel-item-next,.carousel-item-prev{position:absolute;top:0}.carousel-item-next.carousel-item-left,.carousel-item-prev.carousel-item-right{-webkit-transform:translateX(0);transform:translateX(0)}@supports ((-webkit-transform-style:preserve-3d) or (transform-style:preserve-3d)){.carousel-item-next.carousel-item-left,.carousel-item-prev.carousel-item-right{-webkit-transform:translateZ(0);transform:translateZ(0)}}.active.carousel-item-right,.carousel-item-next{-webkit-transform:translateX(100%);transform:translateX(100%)}@supports ((-webkit-transform-style:preserve-3d) or (transform-style:preserve-3d)){.active.carousel-item-right,.carousel-item-next{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.active.carousel-item-left,.carousel-item-prev{-webkit-transform:translateX(-100%);transform:translateX(-100%)}@supports ((-webkit-transform-style:preserve-3d) or (transform-style:preserve-3d)){.active.carousel-item-left,.carousel-item-prev{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.carousel-fade .carousel-item{opacity:0;transition-duration:.6s;transition-property:opacity}.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right,.carousel-fade .carousel-item.active{opacity:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{opacity:0}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-prev,.carousel-fade .carousel-item-next,.carousel-fade .carousel-item-prev,.carousel-fade .carousel-item.active{-webkit-transform:translateX(0);transform:translateX(0)}@supports ((-webkit-transform-style:preserve-3d) or (transform-style:preserve-3d)){.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-prev,.carousel-fade .carousel-item-next,.carousel-fade .carousel-item-prev,.carousel-fade .carousel-item.active{-webkit-transform:translateZ(0);transform:translateZ(0)}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;display:flex;align-items:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:20px;height:20px;background:transparent no-repeat 50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E")}.carousel-control-next-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E")}.carousel-indicators{position:absolute;right:0;bottom:10px;left:0;z-index:15;display:flex;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{position:relative;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:hsla(0,0%,100%,.5)}.carousel-indicators li:before{top:-10px}.carousel-indicators li:after,.carousel-indicators li:before{position:absolute;left:0;display:inline-block;width:100%;height:10px;content:""}.carousel-indicators li:after{bottom:-10px}.carousel-indicators .active{background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.bg-primary{background-color:#3490dc!important}a.bg-primary:focus,a.bg-primary:hover,button.bg-primary:focus,button.bg-primary:hover{background-color:#2176bd!important}.bg-secondary{background-color:#6c757d!important}a.bg-secondary:focus,a.bg-secondary:hover,button.bg-secondary:focus,button.bg-secondary:hover{background-color:#545b62!important}.bg-success{background-color:#38c172!important}a.bg-success:focus,a.bg-success:hover,button.bg-success:focus,button.bg-success:hover{background-color:#2d995b!important}.bg-info{background-color:#6cb2eb!important}a.bg-info:focus,a.bg-info:hover,button.bg-info:focus,button.bg-info:hover{background-color:#3f9ae5!important}.bg-warning{background-color:#ffed4a!important}a.bg-warning:focus,a.bg-warning:hover,button.bg-warning:focus,button.bg-warning:hover{background-color:#ffe817!important}.bg-danger{background-color:#e3342f!important}a.bg-danger:focus,a.bg-danger:hover,button.bg-danger:focus,button.bg-danger:hover{background-color:#c51f1a!important}.bg-light{background-color:#f8f9fa!important}a.bg-light:focus,a.bg-light:hover,button.bg-light:focus,button.bg-light:hover{background-color:#dae0e5!important}.bg-dark{background-color:#343a40!important}a.bg-dark:focus,a.bg-dark:hover,button.bg-dark:focus,button.bg-dark:hover{background-color:#1d2124!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:transparent!important}.border{border:1px solid #dee2e6!important}.border-top{border-top:1px solid #dee2e6!important}.border-right{border-right:1px solid #dee2e6!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-left{border-left:1px solid #dee2e6!important}.border-0{border:0!important}.border-top-0{border-top:0!important}.border-right-0{border-right:0!important}.border-bottom-0{border-bottom:0!important}.border-left-0{border-left:0!important}.border-primary{border-color:#3490dc!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#38c172!important}.border-info{border-color:#6cb2eb!important}.border-warning{border-color:#ffed4a!important}.border-danger{border-color:#e3342f!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#343a40!important}.border-white{border-color:#fff!important}.rounded{border-radius:.25rem!important}.rounded-top{border-top-left-radius:.25rem!important}.rounded-right,.rounded-top{border-top-right-radius:.25rem!important}.rounded-bottom,.rounded-right{border-bottom-right-radius:.25rem!important}.rounded-bottom,.rounded-left{border-bottom-left-radius:.25rem!important}.rounded-left{border-top-left-radius:.25rem!important}.rounded-circle{border-radius:50%!important}.rounded-0{border-radius:0!important}.clearfix:after{display:block;clear:both;content:""}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}}.embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive:before{display:block;content:""}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9:before{padding-top:42.8571428571%}.embed-responsive-16by9:before{padding-top:56.25%}.embed-responsive-4by3:before{padding-top:75%}.embed-responsive-1by1:before{padding-top:100%}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-fill{flex:1 1 auto!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}@media (min-width:576px){.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}}@media (min-width:768px){.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}}@media (min-width:992px){.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}}@media (min-width:1200px){.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}@media (min-width:576px){.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}}@media (min-width:768px){.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}}@media (min-width:992px){.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}}@media (min-width:1200px){.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.fixed-top{top:0}.fixed-bottom,.fixed-top{position:fixed;right:0;left:0;z-index:1030}.fixed-bottom{bottom:0}@supports ((position:-webkit-sticky) or (position:sticky)){.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mw-100{max-width:100%!important}.mh-100{max-height:100%!important}.m-0{margin:0!important}.mt-0,.my-0{margin-top:0!important}.mr-0,.mx-0{margin-right:0!important}.mb-0,.my-0{margin-bottom:0!important}.ml-0,.mx-0{margin-left:0!important}.m-1{margin:.25rem!important}.mt-1,.my-1{margin-top:.25rem!important}.mr-1,.mx-1{margin-right:.25rem!important}.mb-1,.my-1{margin-bottom:.25rem!important}.ml-1,.mx-1{margin-left:.25rem!important}.m-2{margin:.5rem!important}.mt-2,.my-2{margin-top:.5rem!important}.mr-2,.mx-2{margin-right:.5rem!important}.mb-2,.my-2{margin-bottom:.5rem!important}.ml-2,.mx-2{margin-left:.5rem!important}.m-3{margin:1rem!important}.mt-3,.my-3{margin-top:1rem!important}.mr-3,.mx-3{margin-right:1rem!important}.mb-3,.my-3{margin-bottom:1rem!important}.ml-3,.mx-3{margin-left:1rem!important}.m-4{margin:1.5rem!important}.mt-4,.my-4{margin-top:1.5rem!important}.mr-4,.mx-4{margin-right:1.5rem!important}.mb-4,.my-4{margin-bottom:1.5rem!important}.ml-4,.mx-4{margin-left:1.5rem!important}.m-5{margin:3rem!important}.mt-5,.my-5{margin-top:3rem!important}.mr-5,.mx-5{margin-right:3rem!important}.mb-5,.my-5{margin-bottom:3rem!important}.ml-5,.mx-5{margin-left:3rem!important}.p-0{padding:0!important}.pt-0,.py-0{padding-top:0!important}.pr-0,.px-0{padding-right:0!important}.pb-0,.py-0{padding-bottom:0!important}.pl-0,.px-0{padding-left:0!important}.p-1{padding:.25rem!important}.pt-1,.py-1{padding-top:.25rem!important}.pr-1,.px-1{padding-right:.25rem!important}.pb-1,.py-1{padding-bottom:.25rem!important}.pl-1,.px-1{padding-left:.25rem!important}.p-2{padding:.5rem!important}.pt-2,.py-2{padding-top:.5rem!important}.pr-2,.px-2{padding-right:.5rem!important}.pb-2,.py-2{padding-bottom:.5rem!important}.pl-2,.px-2{padding-left:.5rem!important}.p-3{padding:1rem!important}.pt-3,.py-3{padding-top:1rem!important}.pr-3,.px-3{padding-right:1rem!important}.pb-3,.py-3{padding-bottom:1rem!important}.pl-3,.px-3{padding-left:1rem!important}.p-4{padding:1.5rem!important}.pt-4,.py-4{padding-top:1.5rem!important}.pr-4,.px-4{padding-right:1.5rem!important}.pb-4,.py-4{padding-bottom:1.5rem!important}.pl-4,.px-4{padding-left:1.5rem!important}.p-5{padding:3rem!important}.pt-5,.py-5{padding-top:3rem!important}.pr-5,.px-5{padding-right:3rem!important}.pb-5,.py-5{padding-bottom:3rem!important}.pl-5,.px-5{padding-left:3rem!important}.m-auto{margin:auto!important}.mt-auto,.my-auto{margin-top:auto!important}.mr-auto,.mx-auto{margin-right:auto!important}.mb-auto,.my-auto{margin-bottom:auto!important}.ml-auto,.mx-auto{margin-left:auto!important}@media (min-width:576px){.m-sm-0{margin:0!important}.mt-sm-0,.my-sm-0{margin-top:0!important}.mr-sm-0,.mx-sm-0{margin-right:0!important}.mb-sm-0,.my-sm-0{margin-bottom:0!important}.ml-sm-0,.mx-sm-0{margin-left:0!important}.m-sm-1{margin:.25rem!important}.mt-sm-1,.my-sm-1{margin-top:.25rem!important}.mr-sm-1,.mx-sm-1{margin-right:.25rem!important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem!important}.ml-sm-1,.mx-sm-1{margin-left:.25rem!important}.m-sm-2{margin:.5rem!important}.mt-sm-2,.my-sm-2{margin-top:.5rem!important}.mr-sm-2,.mx-sm-2{margin-right:.5rem!important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem!important}.ml-sm-2,.mx-sm-2{margin-left:.5rem!important}.m-sm-3{margin:1rem!important}.mt-sm-3,.my-sm-3{margin-top:1rem!important}.mr-sm-3,.mx-sm-3{margin-right:1rem!important}.mb-sm-3,.my-sm-3{margin-bottom:1rem!important}.ml-sm-3,.mx-sm-3{margin-left:1rem!important}.m-sm-4{margin:1.5rem!important}.mt-sm-4,.my-sm-4{margin-top:1.5rem!important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem!important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem!important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem!important}.m-sm-5{margin:3rem!important}.mt-sm-5,.my-sm-5{margin-top:3rem!important}.mr-sm-5,.mx-sm-5{margin-right:3rem!important}.mb-sm-5,.my-sm-5{margin-bottom:3rem!important}.ml-sm-5,.mx-sm-5{margin-left:3rem!important}.p-sm-0{padding:0!important}.pt-sm-0,.py-sm-0{padding-top:0!important}.pr-sm-0,.px-sm-0{padding-right:0!important}.pb-sm-0,.py-sm-0{padding-bottom:0!important}.pl-sm-0,.px-sm-0{padding-left:0!important}.p-sm-1{padding:.25rem!important}.pt-sm-1,.py-sm-1{padding-top:.25rem!important}.pr-sm-1,.px-sm-1{padding-right:.25rem!important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem!important}.pl-sm-1,.px-sm-1{padding-left:.25rem!important}.p-sm-2{padding:.5rem!important}.pt-sm-2,.py-sm-2{padding-top:.5rem!important}.pr-sm-2,.px-sm-2{padding-right:.5rem!important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem!important}.pl-sm-2,.px-sm-2{padding-left:.5rem!important}.p-sm-3{padding:1rem!important}.pt-sm-3,.py-sm-3{padding-top:1rem!important}.pr-sm-3,.px-sm-3{padding-right:1rem!important}.pb-sm-3,.py-sm-3{padding-bottom:1rem!important}.pl-sm-3,.px-sm-3{padding-left:1rem!important}.p-sm-4{padding:1.5rem!important}.pt-sm-4,.py-sm-4{padding-top:1.5rem!important}.pr-sm-4,.px-sm-4{padding-right:1.5rem!important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem!important}.pl-sm-4,.px-sm-4{padding-left:1.5rem!important}.p-sm-5{padding:3rem!important}.pt-sm-5,.py-sm-5{padding-top:3rem!important}.pr-sm-5,.px-sm-5{padding-right:3rem!important}.pb-sm-5,.py-sm-5{padding-bottom:3rem!important}.pl-sm-5,.px-sm-5{padding-left:3rem!important}.m-sm-auto{margin:auto!important}.mt-sm-auto,.my-sm-auto{margin-top:auto!important}.mr-sm-auto,.mx-sm-auto{margin-right:auto!important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto!important}.ml-sm-auto,.mx-sm-auto{margin-left:auto!important}}@media (min-width:768px){.m-md-0{margin:0!important}.mt-md-0,.my-md-0{margin-top:0!important}.mr-md-0,.mx-md-0{margin-right:0!important}.mb-md-0,.my-md-0{margin-bottom:0!important}.ml-md-0,.mx-md-0{margin-left:0!important}.m-md-1{margin:.25rem!important}.mt-md-1,.my-md-1{margin-top:.25rem!important}.mr-md-1,.mx-md-1{margin-right:.25rem!important}.mb-md-1,.my-md-1{margin-bottom:.25rem!important}.ml-md-1,.mx-md-1{margin-left:.25rem!important}.m-md-2{margin:.5rem!important}.mt-md-2,.my-md-2{margin-top:.5rem!important}.mr-md-2,.mx-md-2{margin-right:.5rem!important}.mb-md-2,.my-md-2{margin-bottom:.5rem!important}.ml-md-2,.mx-md-2{margin-left:.5rem!important}.m-md-3{margin:1rem!important}.mt-md-3,.my-md-3{margin-top:1rem!important}.mr-md-3,.mx-md-3{margin-right:1rem!important}.mb-md-3,.my-md-3{margin-bottom:1rem!important}.ml-md-3,.mx-md-3{margin-left:1rem!important}.m-md-4{margin:1.5rem!important}.mt-md-4,.my-md-4{margin-top:1.5rem!important}.mr-md-4,.mx-md-4{margin-right:1.5rem!important}.mb-md-4,.my-md-4{margin-bottom:1.5rem!important}.ml-md-4,.mx-md-4{margin-left:1.5rem!important}.m-md-5{margin:3rem!important}.mt-md-5,.my-md-5{margin-top:3rem!important}.mr-md-5,.mx-md-5{margin-right:3rem!important}.mb-md-5,.my-md-5{margin-bottom:3rem!important}.ml-md-5,.mx-md-5{margin-left:3rem!important}.p-md-0{padding:0!important}.pt-md-0,.py-md-0{padding-top:0!important}.pr-md-0,.px-md-0{padding-right:0!important}.pb-md-0,.py-md-0{padding-bottom:0!important}.pl-md-0,.px-md-0{padding-left:0!important}.p-md-1{padding:.25rem!important}.pt-md-1,.py-md-1{padding-top:.25rem!important}.pr-md-1,.px-md-1{padding-right:.25rem!important}.pb-md-1,.py-md-1{padding-bottom:.25rem!important}.pl-md-1,.px-md-1{padding-left:.25rem!important}.p-md-2{padding:.5rem!important}.pt-md-2,.py-md-2{padding-top:.5rem!important}.pr-md-2,.px-md-2{padding-right:.5rem!important}.pb-md-2,.py-md-2{padding-bottom:.5rem!important}.pl-md-2,.px-md-2{padding-left:.5rem!important}.p-md-3{padding:1rem!important}.pt-md-3,.py-md-3{padding-top:1rem!important}.pr-md-3,.px-md-3{padding-right:1rem!important}.pb-md-3,.py-md-3{padding-bottom:1rem!important}.pl-md-3,.px-md-3{padding-left:1rem!important}.p-md-4{padding:1.5rem!important}.pt-md-4,.py-md-4{padding-top:1.5rem!important}.pr-md-4,.px-md-4{padding-right:1.5rem!important}.pb-md-4,.py-md-4{padding-bottom:1.5rem!important}.pl-md-4,.px-md-4{padding-left:1.5rem!important}.p-md-5{padding:3rem!important}.pt-md-5,.py-md-5{padding-top:3rem!important}.pr-md-5,.px-md-5{padding-right:3rem!important}.pb-md-5,.py-md-5{padding-bottom:3rem!important}.pl-md-5,.px-md-5{padding-left:3rem!important}.m-md-auto{margin:auto!important}.mt-md-auto,.my-md-auto{margin-top:auto!important}.mr-md-auto,.mx-md-auto{margin-right:auto!important}.mb-md-auto,.my-md-auto{margin-bottom:auto!important}.ml-md-auto,.mx-md-auto{margin-left:auto!important}}@media (min-width:992px){.m-lg-0{margin:0!important}.mt-lg-0,.my-lg-0{margin-top:0!important}.mr-lg-0,.mx-lg-0{margin-right:0!important}.mb-lg-0,.my-lg-0{margin-bottom:0!important}.ml-lg-0,.mx-lg-0{margin-left:0!important}.m-lg-1{margin:.25rem!important}.mt-lg-1,.my-lg-1{margin-top:.25rem!important}.mr-lg-1,.mx-lg-1{margin-right:.25rem!important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem!important}.ml-lg-1,.mx-lg-1{margin-left:.25rem!important}.m-lg-2{margin:.5rem!important}.mt-lg-2,.my-lg-2{margin-top:.5rem!important}.mr-lg-2,.mx-lg-2{margin-right:.5rem!important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem!important}.ml-lg-2,.mx-lg-2{margin-left:.5rem!important}.m-lg-3{margin:1rem!important}.mt-lg-3,.my-lg-3{margin-top:1rem!important}.mr-lg-3,.mx-lg-3{margin-right:1rem!important}.mb-lg-3,.my-lg-3{margin-bottom:1rem!important}.ml-lg-3,.mx-lg-3{margin-left:1rem!important}.m-lg-4{margin:1.5rem!important}.mt-lg-4,.my-lg-4{margin-top:1.5rem!important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem!important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem!important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem!important}.m-lg-5{margin:3rem!important}.mt-lg-5,.my-lg-5{margin-top:3rem!important}.mr-lg-5,.mx-lg-5{margin-right:3rem!important}.mb-lg-5,.my-lg-5{margin-bottom:3rem!important}.ml-lg-5,.mx-lg-5{margin-left:3rem!important}.p-lg-0{padding:0!important}.pt-lg-0,.py-lg-0{padding-top:0!important}.pr-lg-0,.px-lg-0{padding-right:0!important}.pb-lg-0,.py-lg-0{padding-bottom:0!important}.pl-lg-0,.px-lg-0{padding-left:0!important}.p-lg-1{padding:.25rem!important}.pt-lg-1,.py-lg-1{padding-top:.25rem!important}.pr-lg-1,.px-lg-1{padding-right:.25rem!important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem!important}.pl-lg-1,.px-lg-1{padding-left:.25rem!important}.p-lg-2{padding:.5rem!important}.pt-lg-2,.py-lg-2{padding-top:.5rem!important}.pr-lg-2,.px-lg-2{padding-right:.5rem!important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem!important}.pl-lg-2,.px-lg-2{padding-left:.5rem!important}.p-lg-3{padding:1rem!important}.pt-lg-3,.py-lg-3{padding-top:1rem!important}.pr-lg-3,.px-lg-3{padding-right:1rem!important}.pb-lg-3,.py-lg-3{padding-bottom:1rem!important}.pl-lg-3,.px-lg-3{padding-left:1rem!important}.p-lg-4{padding:1.5rem!important}.pt-lg-4,.py-lg-4{padding-top:1.5rem!important}.pr-lg-4,.px-lg-4{padding-right:1.5rem!important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem!important}.pl-lg-4,.px-lg-4{padding-left:1.5rem!important}.p-lg-5{padding:3rem!important}.pt-lg-5,.py-lg-5{padding-top:3rem!important}.pr-lg-5,.px-lg-5{padding-right:3rem!important}.pb-lg-5,.py-lg-5{padding-bottom:3rem!important}.pl-lg-5,.px-lg-5{padding-left:3rem!important}.m-lg-auto{margin:auto!important}.mt-lg-auto,.my-lg-auto{margin-top:auto!important}.mr-lg-auto,.mx-lg-auto{margin-right:auto!important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto!important}.ml-lg-auto,.mx-lg-auto{margin-left:auto!important}}@media (min-width:1200px){.m-xl-0{margin:0!important}.mt-xl-0,.my-xl-0{margin-top:0!important}.mr-xl-0,.mx-xl-0{margin-right:0!important}.mb-xl-0,.my-xl-0{margin-bottom:0!important}.ml-xl-0,.mx-xl-0{margin-left:0!important}.m-xl-1{margin:.25rem!important}.mt-xl-1,.my-xl-1{margin-top:.25rem!important}.mr-xl-1,.mx-xl-1{margin-right:.25rem!important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem!important}.ml-xl-1,.mx-xl-1{margin-left:.25rem!important}.m-xl-2{margin:.5rem!important}.mt-xl-2,.my-xl-2{margin-top:.5rem!important}.mr-xl-2,.mx-xl-2{margin-right:.5rem!important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem!important}.ml-xl-2,.mx-xl-2{margin-left:.5rem!important}.m-xl-3{margin:1rem!important}.mt-xl-3,.my-xl-3{margin-top:1rem!important}.mr-xl-3,.mx-xl-3{margin-right:1rem!important}.mb-xl-3,.my-xl-3{margin-bottom:1rem!important}.ml-xl-3,.mx-xl-3{margin-left:1rem!important}.m-xl-4{margin:1.5rem!important}.mt-xl-4,.my-xl-4{margin-top:1.5rem!important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem!important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem!important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem!important}.m-xl-5{margin:3rem!important}.mt-xl-5,.my-xl-5{margin-top:3rem!important}.mr-xl-5,.mx-xl-5{margin-right:3rem!important}.mb-xl-5,.my-xl-5{margin-bottom:3rem!important}.ml-xl-5,.mx-xl-5{margin-left:3rem!important}.p-xl-0{padding:0!important}.pt-xl-0,.py-xl-0{padding-top:0!important}.pr-xl-0,.px-xl-0{padding-right:0!important}.pb-xl-0,.py-xl-0{padding-bottom:0!important}.pl-xl-0,.px-xl-0{padding-left:0!important}.p-xl-1{padding:.25rem!important}.pt-xl-1,.py-xl-1{padding-top:.25rem!important}.pr-xl-1,.px-xl-1{padding-right:.25rem!important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem!important}.pl-xl-1,.px-xl-1{padding-left:.25rem!important}.p-xl-2{padding:.5rem!important}.pt-xl-2,.py-xl-2{padding-top:.5rem!important}.pr-xl-2,.px-xl-2{padding-right:.5rem!important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem!important}.pl-xl-2,.px-xl-2{padding-left:.5rem!important}.p-xl-3{padding:1rem!important}.pt-xl-3,.py-xl-3{padding-top:1rem!important}.pr-xl-3,.px-xl-3{padding-right:1rem!important}.pb-xl-3,.py-xl-3{padding-bottom:1rem!important}.pl-xl-3,.px-xl-3{padding-left:1rem!important}.p-xl-4{padding:1.5rem!important}.pt-xl-4,.py-xl-4{padding-top:1.5rem!important}.pr-xl-4,.px-xl-4{padding-right:1.5rem!important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem!important}.pl-xl-4,.px-xl-4{padding-left:1.5rem!important}.p-xl-5{padding:3rem!important}.pt-xl-5,.py-xl-5{padding-top:3rem!important}.pr-xl-5,.px-xl-5{padding-right:3rem!important}.pb-xl-5,.py-xl-5{padding-bottom:3rem!important}.pl-xl-5,.px-xl-5{padding-left:3rem!important}.m-xl-auto{margin:auto!important}.mt-xl-auto,.my-xl-auto{margin-top:auto!important}.mr-xl-auto,.mx-xl-auto{margin-right:auto!important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto!important}.ml-xl-auto,.mx-xl-auto{margin-left:auto!important}}.text-monospace{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-justify{text-align:justify!important}.text-nowrap{white-space:nowrap!important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}@media (min-width:576px){.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.font-weight-light{font-weight:300!important}.font-weight-normal{font-weight:400!important}.font-weight-bold{font-weight:700!important}.font-italic{font-style:italic!important}.text-white{color:#fff!important}.text-primary{color:#3490dc!important}a.text-primary:focus,a.text-primary:hover{color:#2176bd!important}.text-secondary{color:#6c757d!important}a.text-secondary:focus,a.text-secondary:hover{color:#545b62!important}.text-success{color:#38c172!important}a.text-success:focus,a.text-success:hover{color:#2d995b!important}.text-info{color:#6cb2eb!important}a.text-info:focus,a.text-info:hover{color:#3f9ae5!important}.text-warning{color:#ffed4a!important}a.text-warning:focus,a.text-warning:hover{color:#ffe817!important}.text-danger{color:#e3342f!important}a.text-danger:focus,a.text-danger:hover{color:#c51f1a!important}.text-light{color:#f8f9fa!important}a.text-light:focus,a.text-light:hover{color:#dae0e5!important}.text-dark{color:#343a40!important}a.text-dark:focus,a.text-dark:hover{color:#1d2124!important}.text-body{color:#212529!important}.text-muted{color:#6c757d!important}.text-black-50{color:rgba(0,0,0,.5)!important}.text-white-50{color:hsla(0,0%,100%,.5)!important}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media print{*,:after,:before{text-shadow:none!important;box-shadow:none!important}a:not(.btn){text-decoration:underline}abbr[title]:after{content:" (" attr(title) ")"}pre{white-space:pre-wrap!important}blockquote,pre{border:1px solid #adb5bd;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}@page{size:a3}.container,body{min-width:992px!important}.navbar{display:none}.badge{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #dee2e6!important}.table-dark{color:inherit}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#dee2e6}.table .thead-dark th{color:inherit;border-color:#dee2e6}}.navbar-laravel{background-color:#fff;box-shadow:0 2px 4px rgba(0,0,0,.04)} \ No newline at end of file diff --git a/paragonik-backend/public/favicon.ico b/paragonik-backend/public/favicon.ico deleted file mode 100644 index e69de29..0000000 diff --git a/paragonik-backend/public/index.php b/paragonik-backend/public/index.php deleted file mode 100644 index 4584cbc..0000000 --- a/paragonik-backend/public/index.php +++ /dev/null @@ -1,60 +0,0 @@ - - */ - -define('LARAVEL_START', microtime(true)); - -/* -|-------------------------------------------------------------------------- -| Register The Auto Loader -|-------------------------------------------------------------------------- -| -| Composer provides a convenient, automatically generated class loader for -| our application. We just need to utilize it! We'll simply require it -| into the script here so that we don't have to worry about manual -| loading any of our classes later on. It feels great to relax. -| -*/ - -require __DIR__.'/../vendor/autoload.php'; - -/* -|-------------------------------------------------------------------------- -| Turn On The Lights -|-------------------------------------------------------------------------- -| -| We need to illuminate PHP development, so let us turn on the lights. -| This bootstraps the framework and gets it ready for use, then it -| will load up this application so that we can run it and send -| the responses back to the browser and delight our users. -| -*/ - -$app = require_once __DIR__.'/../bootstrap/app.php'; - -/* -|-------------------------------------------------------------------------- -| Run The Application -|-------------------------------------------------------------------------- -| -| Once we have the application, we can handle the incoming request -| through the kernel, and send the associated response back to -| the client's browser allowing them to enjoy the creative -| and wonderful application we have prepared for them. -| -*/ - -$kernel = $app->make(Illuminate\Contracts\Http\Kernel::class); - -$response = $kernel->handle( - $request = Illuminate\Http\Request::capture() -); - -$response->send(); - -$kernel->terminate($request, $response); diff --git a/paragonik-backend/public/js/app.js b/paragonik-backend/public/js/app.js deleted file mode 100644 index 736d3c7..0000000 --- a/paragonik-backend/public/js/app.js +++ /dev/null @@ -1 +0,0 @@ -!function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)n.d(r,i,function(t){return e[t]}.bind(null,i));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="/",n(n.s=11)}([function(e,t,n){"use strict";var r=n(5),i=n(19),o=Object.prototype.toString;function a(e){return"[object Array]"===o.call(e)}function s(e){return null!==e&&"object"==typeof e}function u(e){return"[object Function]"===o.call(e)}function c(e,t){if(null!=e)if("object"!=typeof e&&(e=[e]),a(e))for(var n=0,r=e.length;n=200&&e<300}};u.headers={common:{Accept:"application/json, text/plain, */*"}},r.forEach(["delete","get","head"],function(e){u.headers[e]={}}),r.forEach(["post","put","patch"],function(e){u.headers[e]=r.merge(o)}),e.exports=u}).call(this,n(6))},function(e,t,n){"use strict";n.r(t),function(e){for(var n="undefined"!=typeof window&&"undefined"!=typeof document,r=["Edge","Trident","Firefox"],i=0,o=0;o=0){i=1;break}var a=n&&window.Promise?function(e){var t=!1;return function(){t||(t=!0,window.Promise.resolve().then(function(){t=!1,e()}))}}:function(e){var t=!1;return function(){t||(t=!0,setTimeout(function(){t=!1,e()},i))}};function s(e){return e&&"[object Function]"==={}.toString.call(e)}function u(e,t){if(1!==e.nodeType)return[];var n=e.ownerDocument.defaultView.getComputedStyle(e,null);return t?n[t]:n}function c(e){return"HTML"===e.nodeName?e:e.parentNode||e.host}function l(e){if(!e)return document.body;switch(e.nodeName){case"HTML":case"BODY":return e.ownerDocument.body;case"#document":return e.body}var t=u(e),n=t.overflow,r=t.overflowX,i=t.overflowY;return/(auto|scroll|overlay)/.test(n+i+r)?e:l(c(e))}var f=n&&!(!window.MSInputMethodContext||!document.documentMode),p=n&&/MSIE 10/.test(navigator.userAgent);function d(e){return 11===e?f:10===e?p:f||p}function h(e){if(!e)return document.documentElement;for(var t=d(10)?document.body:null,n=e.offsetParent||null;n===t&&e.nextElementSibling;)n=(e=e.nextElementSibling).offsetParent;var r=n&&n.nodeName;return r&&"BODY"!==r&&"HTML"!==r?-1!==["TH","TD","TABLE"].indexOf(n.nodeName)&&"static"===u(n,"position")?h(n):n:e?e.ownerDocument.documentElement:document.documentElement}function v(e){return null!==e.parentNode?v(e.parentNode):e}function g(e,t){if(!(e&&e.nodeType&&t&&t.nodeType))return document.documentElement;var n=e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_FOLLOWING,r=n?e:t,i=n?t:e,o=document.createRange();o.setStart(r,0),o.setEnd(i,0);var a,s,u=o.commonAncestorContainer;if(e!==u&&t!==u||r.contains(i))return"BODY"===(s=(a=u).nodeName)||"HTML"!==s&&h(a.firstElementChild)!==a?h(u):u;var c=v(e);return c.host?g(c.host,t):g(e,v(t).host)}function m(e){var t="top"===(arguments.length>1&&void 0!==arguments[1]?arguments[1]:"top")?"scrollTop":"scrollLeft",n=e.nodeName;if("BODY"===n||"HTML"===n){var r=e.ownerDocument.documentElement;return(e.ownerDocument.scrollingElement||r)[t]}return e[t]}function y(e,t){var n="x"===t?"Left":"Top",r="Left"===n?"Right":"Bottom";return parseFloat(e["border"+n+"Width"],10)+parseFloat(e["border"+r+"Width"],10)}function _(e,t,n,r){return Math.max(t["offset"+e],t["scroll"+e],n["client"+e],n["offset"+e],n["scroll"+e],d(10)?parseInt(n["offset"+e])+parseInt(r["margin"+("Height"===e?"Top":"Left")])+parseInt(r["margin"+("Height"===e?"Bottom":"Right")]):0)}function b(e){var t=e.body,n=e.documentElement,r=d(10)&&getComputedStyle(n);return{height:_("Height",t,n,r),width:_("Width",t,n,r)}}var w=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},T=function(){function e(e,t){for(var n=0;n2&&void 0!==arguments[2]&&arguments[2],r=d(10),i="HTML"===t.nodeName,o=A(e),a=A(t),s=l(e),c=u(t),f=parseFloat(c.borderTopWidth,10),p=parseFloat(c.borderLeftWidth,10);n&&i&&(a.top=Math.max(a.top,0),a.left=Math.max(a.left,0));var h=C({top:o.top-a.top-f,left:o.left-a.left-p,width:o.width,height:o.height});if(h.marginTop=0,h.marginLeft=0,!r&&i){var v=parseFloat(c.marginTop,10),g=parseFloat(c.marginLeft,10);h.top-=f-v,h.bottom-=f-v,h.left-=p-g,h.right-=p-g,h.marginTop=v,h.marginLeft=g}return(r&&!n?t.contains(s):t===s&&"BODY"!==s.nodeName)&&(h=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=m(t,"top"),i=m(t,"left"),o=n?-1:1;return e.top+=r*o,e.bottom+=r*o,e.left+=i*o,e.right+=i*o,e}(h,t)),h}function O(e){if(!e||!e.parentElement||d())return document.documentElement;for(var t=e.parentElement;t&&"none"===u(t,"transform");)t=t.parentElement;return t||document.documentElement}function D(e,t,n,r){var i=arguments.length>4&&void 0!==arguments[4]&&arguments[4],o={top:0,left:0},a=i?O(e):g(e,t);if("viewport"===r)o=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=e.ownerDocument.documentElement,r=S(e,n),i=Math.max(n.clientWidth,window.innerWidth||0),o=Math.max(n.clientHeight,window.innerHeight||0),a=t?0:m(n),s=t?0:m(n,"left");return C({top:a-r.top+r.marginTop,left:s-r.left+r.marginLeft,width:i,height:o})}(a,i);else{var s=void 0;"scrollParent"===r?"BODY"===(s=l(c(t))).nodeName&&(s=e.ownerDocument.documentElement):s="window"===r?e.ownerDocument.documentElement:r;var f=S(s,a,i);if("HTML"!==s.nodeName||function e(t){var n=t.nodeName;return"BODY"!==n&&"HTML"!==n&&("fixed"===u(t,"position")||e(c(t)))}(a))o=f;else{var p=b(e.ownerDocument),d=p.height,h=p.width;o.top+=f.top-f.marginTop,o.bottom=d+f.top,o.left+=f.left-f.marginLeft,o.right=h+f.left}}var v="number"==typeof(n=n||0);return o.left+=v?n:n.left||0,o.top+=v?n:n.top||0,o.right-=v?n:n.right||0,o.bottom-=v?n:n.bottom||0,o}function I(e,t,n,r,i){var o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;if(-1===e.indexOf("auto"))return e;var a=D(n,r,o,i),s={top:{width:a.width,height:t.top-a.top},right:{width:a.right-t.right,height:a.height},bottom:{width:a.width,height:a.bottom-t.bottom},left:{width:t.left-a.left,height:a.height}},u=Object.keys(s).map(function(e){return x({key:e},s[e],{area:(t=s[e],t.width*t.height)});var t}).sort(function(e,t){return t.area-e.area}),c=u.filter(function(e){var t=e.width,r=e.height;return t>=n.clientWidth&&r>=n.clientHeight}),l=c.length>0?c[0].key:u[0].key,f=e.split("-")[1];return l+(f?"-"+f:"")}function k(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;return S(n,r?O(t):g(t,n),r)}function N(e){var t=e.ownerDocument.defaultView.getComputedStyle(e),n=parseFloat(t.marginTop||0)+parseFloat(t.marginBottom||0),r=parseFloat(t.marginLeft||0)+parseFloat(t.marginRight||0);return{width:e.offsetWidth+r,height:e.offsetHeight+n}}function L(e){var t={left:"right",right:"left",bottom:"top",top:"bottom"};return e.replace(/left|right|bottom|top/g,function(e){return t[e]})}function j(e,t,n){n=n.split("-")[0];var r=N(e),i={width:r.width,height:r.height},o=-1!==["right","left"].indexOf(n),a=o?"top":"left",s=o?"left":"top",u=o?"height":"width",c=o?"width":"height";return i[a]=t[a]+t[u]/2-r[u]/2,i[s]=n===s?t[s]-r[c]:t[L(s)],i}function P(e,t){return Array.prototype.find?e.find(t):e.filter(t)[0]}function R(e,t,n){return(void 0===n?e:e.slice(0,function(e,t,n){if(Array.prototype.findIndex)return e.findIndex(function(e){return e[t]===n});var r=P(e,function(e){return e[t]===n});return e.indexOf(r)}(e,"name",n))).forEach(function(e){e.function&&console.warn("`modifier.function` is deprecated, use `modifier.fn`!");var n=e.function||e.fn;e.enabled&&s(n)&&(t.offsets.popper=C(t.offsets.popper),t.offsets.reference=C(t.offsets.reference),t=n(t,e))}),t}function $(e,t){return e.some(function(e){var n=e.name;return e.enabled&&n===t})}function H(e){for(var t=[!1,"ms","Webkit","Moz","O"],n=e.charAt(0).toUpperCase()+e.slice(1),r=0;r1&&void 0!==arguments[1]&&arguments[1],n=K.indexOf(e),r=K.slice(n+1).concat(K.slice(0,n));return t?r.reverse():r}var X={FLIP:"flip",CLOCKWISE:"clockwise",COUNTERCLOCKWISE:"counterclockwise"};function Q(e,t,n,r){var i=[0,0],o=-1!==["right","left"].indexOf(r),a=e.split(/(\+|\-)/).map(function(e){return e.trim()}),s=a.indexOf(P(a,function(e){return-1!==e.search(/,|\s/)}));a[s]&&-1===a[s].indexOf(",")&&console.warn("Offsets separated by white space(s) are deprecated, use a comma (,) instead.");var u=/\s*,\s*|\s+/,c=-1!==s?[a.slice(0,s).concat([a[s].split(u)[0]]),[a[s].split(u)[1]].concat(a.slice(s+1))]:[a];return(c=c.map(function(e,r){var i=(1===r?!o:o)?"height":"width",a=!1;return e.reduce(function(e,t){return""===e[e.length-1]&&-1!==["+","-"].indexOf(t)?(e[e.length-1]=t,a=!0,e):a?(e[e.length-1]+=t,a=!1,e):e.concat(t)},[]).map(function(e){return function(e,t,n,r){var i=e.match(/((?:\-|\+)?\d*\.?\d*)(.*)/),o=+i[1],a=i[2];if(!o)return e;if(0===a.indexOf("%")){var s=void 0;switch(a){case"%p":s=n;break;case"%":case"%r":default:s=r}return C(s)[t]/100*o}if("vh"===a||"vw"===a)return("vh"===a?Math.max(document.documentElement.clientHeight,window.innerHeight||0):Math.max(document.documentElement.clientWidth,window.innerWidth||0))/100*o;return o}(e,i,t,n)})})).forEach(function(e,t){e.forEach(function(n,r){q(n)&&(i[t]+=n*("-"===e[r-1]?-1:1))})}),i}var Y={placement:"bottom",positionFixed:!1,eventsEnabled:!0,removeOnDestroy:!1,onCreate:function(){},onUpdate:function(){},modifiers:{shift:{order:100,enabled:!0,fn:function(e){var t=e.placement,n=t.split("-")[0],r=t.split("-")[1];if(r){var i=e.offsets,o=i.reference,a=i.popper,s=-1!==["bottom","top"].indexOf(n),u=s?"left":"top",c=s?"width":"height",l={start:E({},u,o[u]),end:E({},u,o[u]+o[c]-a[c])};e.offsets.popper=x({},a,l[r])}return e}},offset:{order:200,enabled:!0,fn:function(e,t){var n=t.offset,r=e.placement,i=e.offsets,o=i.popper,a=i.reference,s=r.split("-")[0],u=void 0;return u=q(+n)?[+n,0]:Q(n,o,a,s),"left"===s?(o.top+=u[0],o.left-=u[1]):"right"===s?(o.top+=u[0],o.left+=u[1]):"top"===s?(o.left+=u[0],o.top-=u[1]):"bottom"===s&&(o.left+=u[0],o.top+=u[1]),e.popper=o,e},offset:0},preventOverflow:{order:300,enabled:!0,fn:function(e,t){var n=t.boundariesElement||h(e.instance.popper);e.instance.reference===n&&(n=h(n));var r=H("transform"),i=e.instance.popper.style,o=i.top,a=i.left,s=i[r];i.top="",i.left="",i[r]="";var u=D(e.instance.popper,e.instance.reference,t.padding,n,e.positionFixed);i.top=o,i.left=a,i[r]=s,t.boundaries=u;var c=t.priority,l=e.offsets.popper,f={primary:function(e){var n=l[e];return l[e]u[e]&&!t.escapeWithReference&&(r=Math.min(l[n],u[e]-("right"===e?l.width:l.height))),E({},n,r)}};return c.forEach(function(e){var t=-1!==["left","top"].indexOf(e)?"primary":"secondary";l=x({},l,f[t](e))}),e.offsets.popper=l,e},priority:["left","right","top","bottom"],padding:5,boundariesElement:"scrollParent"},keepTogether:{order:400,enabled:!0,fn:function(e){var t=e.offsets,n=t.popper,r=t.reference,i=e.placement.split("-")[0],o=Math.floor,a=-1!==["top","bottom"].indexOf(i),s=a?"right":"bottom",u=a?"left":"top",c=a?"width":"height";return n[s]o(r[s])&&(e.offsets.popper[u]=o(r[s])),e}},arrow:{order:500,enabled:!0,fn:function(e,t){var n;if(!V(e.instance.modifiers,"arrow","keepTogether"))return e;var r=t.element;if("string"==typeof r){if(!(r=e.instance.popper.querySelector(r)))return e}else if(!e.instance.popper.contains(r))return console.warn("WARNING: `arrow.element` must be child of its popper element!"),e;var i=e.placement.split("-")[0],o=e.offsets,a=o.popper,s=o.reference,c=-1!==["left","right"].indexOf(i),l=c?"height":"width",f=c?"Top":"Left",p=f.toLowerCase(),d=c?"left":"top",h=c?"bottom":"right",v=N(r)[l];s[h]-va[h]&&(e.offsets.popper[p]+=s[p]+v-a[h]),e.offsets.popper=C(e.offsets.popper);var g=s[p]+s[l]/2-v/2,m=u(e.instance.popper),y=parseFloat(m["margin"+f],10),_=parseFloat(m["border"+f+"Width"],10),b=g-e.offsets.popper[p]-y-_;return b=Math.max(Math.min(a[l]-v,b),0),e.arrowElement=r,e.offsets.arrow=(E(n={},p,Math.round(b)),E(n,d,""),n),e},element:"[x-arrow]"},flip:{order:600,enabled:!0,fn:function(e,t){if($(e.instance.modifiers,"inner"))return e;if(e.flipped&&e.placement===e.originalPlacement)return e;var n=D(e.instance.popper,e.instance.reference,t.padding,t.boundariesElement,e.positionFixed),r=e.placement.split("-")[0],i=L(r),o=e.placement.split("-")[1]||"",a=[];switch(t.behavior){case X.FLIP:a=[r,i];break;case X.CLOCKWISE:a=G(r);break;case X.COUNTERCLOCKWISE:a=G(r,!0);break;default:a=t.behavior}return a.forEach(function(s,u){if(r!==s||a.length===u+1)return e;r=e.placement.split("-")[0],i=L(r);var c=e.offsets.popper,l=e.offsets.reference,f=Math.floor,p="left"===r&&f(c.right)>f(l.left)||"right"===r&&f(c.left)f(l.top)||"bottom"===r&&f(c.top)f(n.right),v=f(c.top)f(n.bottom),m="left"===r&&d||"right"===r&&h||"top"===r&&v||"bottom"===r&&g,y=-1!==["top","bottom"].indexOf(r),_=!!t.flipVariations&&(y&&"start"===o&&d||y&&"end"===o&&h||!y&&"start"===o&&v||!y&&"end"===o&&g);(p||m||_)&&(e.flipped=!0,(p||m)&&(r=a[u+1]),_&&(o=function(e){return"end"===e?"start":"start"===e?"end":e}(o)),e.placement=r+(o?"-"+o:""),e.offsets.popper=x({},e.offsets.popper,j(e.instance.popper,e.offsets.reference,e.placement)),e=R(e.instance.modifiers,e,"flip"))}),e},behavior:"flip",padding:5,boundariesElement:"viewport"},inner:{order:700,enabled:!1,fn:function(e){var t=e.placement,n=t.split("-")[0],r=e.offsets,i=r.popper,o=r.reference,a=-1!==["left","right"].indexOf(n),s=-1===["top","left"].indexOf(n);return i[a?"left":"top"]=o[n]-(s?i[a?"width":"height"]:0),e.placement=L(t),e.offsets.popper=C(i),e}},hide:{order:800,enabled:!0,fn:function(e){if(!V(e.instance.modifiers,"hide","preventOverflow"))return e;var t=e.offsets.reference,n=P(e.instance.modifiers,function(e){return"preventOverflow"===e.name}).boundaries;if(t.bottomn.right||t.top>n.bottom||t.right2&&void 0!==arguments[2]?arguments[2]:{};w(this,e),this.scheduleUpdate=function(){return requestAnimationFrame(r.update)},this.update=a(this.update.bind(this)),this.options=x({},e.Defaults,i),this.state={isDestroyed:!1,isCreated:!1,scrollParents:[]},this.reference=t&&t.jquery?t[0]:t,this.popper=n&&n.jquery?n[0]:n,this.options.modifiers={},Object.keys(x({},e.Defaults.modifiers,i.modifiers)).forEach(function(t){r.options.modifiers[t]=x({},e.Defaults.modifiers[t]||{},i.modifiers?i.modifiers[t]:{})}),this.modifiers=Object.keys(this.options.modifiers).map(function(e){return x({name:e},r.options.modifiers[e])}).sort(function(e,t){return e.order-t.order}),this.modifiers.forEach(function(e){e.enabled&&s(e.onLoad)&&e.onLoad(r.reference,r.popper,r.options,e,r.state)}),this.update();var o=this.options.eventsEnabled;o&&this.enableEventListeners(),this.state.eventsEnabled=o}return T(e,[{key:"update",value:function(){return function(){if(!this.state.isDestroyed){var e={instance:this,styles:{},arrowStyles:{},attributes:{},flipped:!1,offsets:{}};e.offsets.reference=k(this.state,this.popper,this.reference,this.options.positionFixed),e.placement=I(this.options.placement,e.offsets.reference,this.popper,this.reference,this.options.modifiers.flip.boundariesElement,this.options.modifiers.flip.padding),e.originalPlacement=e.placement,e.positionFixed=this.options.positionFixed,e.offsets.popper=j(this.popper,e.offsets.reference,e.placement),e.offsets.popper.position=this.options.positionFixed?"fixed":"absolute",e=R(this.modifiers,e),this.state.isCreated?this.options.onUpdate(e):(this.state.isCreated=!0,this.options.onCreate(e))}}.call(this)}},{key:"destroy",value:function(){return function(){return this.state.isDestroyed=!0,$(this.modifiers,"applyStyle")&&(this.popper.removeAttribute("x-placement"),this.popper.style.position="",this.popper.style.top="",this.popper.style.left="",this.popper.style.right="",this.popper.style.bottom="",this.popper.style.willChange="",this.popper.style[H("transform")]=""),this.disableEventListeners(),this.options.removeOnDestroy&&this.popper.parentNode.removeChild(this.popper),this}.call(this)}},{key:"enableEventListeners",value:function(){return function(){this.state.eventsEnabled||(this.state=F(this.reference,this.options,this.state,this.scheduleUpdate))}.call(this)}},{key:"disableEventListeners",value:function(){return W.call(this)}}]),e}();J.Utils=("undefined"!=typeof window?window:e).PopperUtils,J.placements=z,J.Defaults=Y,t.default=J}.call(this,n(1))},function(e,t,n){var r;!function(t,n){"use strict";"object"==typeof e.exports?e.exports=t.document?n(t,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return n(e)}:n(t)}("undefined"!=typeof window?window:this,function(n,i){"use strict";var o=[],a=n.document,s=Object.getPrototypeOf,u=o.slice,c=o.concat,l=o.push,f=o.indexOf,p={},d=p.toString,h=p.hasOwnProperty,v=h.toString,g=v.call(Object),m={},y=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},_=function(e){return null!=e&&e===e.window},b={type:!0,src:!0,noModule:!0};function w(e,t,n){var r,i=(t=t||a).createElement("script");if(i.text=e,n)for(r in b)n[r]&&(i[r]=n[r]);t.head.appendChild(i).parentNode.removeChild(i)}function T(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?p[d.call(e)]||"object":typeof e}var E=function(e,t){return new E.fn.init(e,t)},x=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function C(e){var t=!!e&&"length"in e&&e.length,n=T(e);return!y(e)&&!_(e)&&("array"===n||0===t||"number"==typeof t&&t>0&&t-1 in e)}E.fn=E.prototype={jquery:"3.3.1",constructor:E,length:0,toArray:function(){return u.call(this)},get:function(e){return null==e?u.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=E.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return E.each(this,e)},map:function(e){return this.pushStack(E.map(this,function(t,n){return e.call(t,n,t)}))},slice:function(){return this.pushStack(u.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(n>=0&&n+~]|"+R+")"+R+"*"),U=new RegExp("="+R+"*([^\\]'\"]*?)"+R+"*\\]","g"),V=new RegExp(M),z=new RegExp("^"+$+"$"),K={ID:new RegExp("^#("+$+")"),CLASS:new RegExp("^\\.("+$+")"),TAG:new RegExp("^("+$+"|[*])"),ATTR:new RegExp("^"+H),PSEUDO:new RegExp("^"+M),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+R+"*(even|odd|(([+-]|)(\\d*)n|)"+R+"*(?:([+-]|)"+R+"*(\\d+)|))"+R+"*\\)|)","i"),bool:new RegExp("^(?:"+P+")$","i"),needsContext:new RegExp("^"+R+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+R+"*((?:-\\d)?\\d*)"+R+"*\\)|)(?=[^-]|$)","i")},G=/^(?:input|select|textarea|button)$/i,X=/^h\d$/i,Q=/^[^{]+\{\s*\[native \w/,Y=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,J=/[+~]/,Z=new RegExp("\\\\([\\da-f]{1,6}"+R+"?|("+R+")|.)","ig"),ee=function(e,t,n){var r="0x"+t-65536;return r!=r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},te=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ne=function(e,t){return t?"\0"===e?"�":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},re=function(){p()},ie=ye(function(e){return!0===e.disabled&&("form"in e||"label"in e)},{dir:"parentNode",next:"legend"});try{N.apply(D=L.call(w.childNodes),w.childNodes),D[w.childNodes.length].nodeType}catch(e){N={apply:D.length?function(e,t){k.apply(e,L.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}function oe(e,t,r,i){var o,s,c,l,f,h,m,y=t&&t.ownerDocument,T=t?t.nodeType:9;if(r=r||[],"string"!=typeof e||!e||1!==T&&9!==T&&11!==T)return r;if(!i&&((t?t.ownerDocument||t:w)!==d&&p(t),t=t||d,v)){if(11!==T&&(f=Y.exec(e)))if(o=f[1]){if(9===T){if(!(c=t.getElementById(o)))return r;if(c.id===o)return r.push(c),r}else if(y&&(c=y.getElementById(o))&&_(t,c)&&c.id===o)return r.push(c),r}else{if(f[2])return N.apply(r,t.getElementsByTagName(e)),r;if((o=f[3])&&n.getElementsByClassName&&t.getElementsByClassName)return N.apply(r,t.getElementsByClassName(o)),r}if(n.qsa&&!A[e+" "]&&(!g||!g.test(e))){if(1!==T)y=t,m=e;else if("object"!==t.nodeName.toLowerCase()){for((l=t.getAttribute("id"))?l=l.replace(te,ne):t.setAttribute("id",l=b),s=(h=a(e)).length;s--;)h[s]="#"+l+" "+me(h[s]);m=h.join(","),y=J.test(e)&&ve(t.parentNode)||t}if(m)try{return N.apply(r,y.querySelectorAll(m)),r}catch(e){}finally{l===b&&t.removeAttribute("id")}}}return u(e.replace(W,"$1"),t,r,i)}function ae(){var e=[];return function t(n,i){return e.push(n+" ")>r.cacheLength&&delete t[e.shift()],t[n+" "]=i}}function se(e){return e[b]=!0,e}function ue(e){var t=d.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function ce(e,t){for(var n=e.split("|"),i=n.length;i--;)r.attrHandle[n[i]]=t}function le(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function fe(e){return function(t){return"input"===t.nodeName.toLowerCase()&&t.type===e}}function pe(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function de(e){return function(t){return"form"in t?t.parentNode&&!1===t.disabled?"label"in t?"label"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&ie(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function he(e){return se(function(t){return t=+t,se(function(n,r){for(var i,o=e([],n.length,t),a=o.length;a--;)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}function ve(e){return e&&void 0!==e.getElementsByTagName&&e}for(t in n=oe.support={},o=oe.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&"HTML"!==t.nodeName},p=oe.setDocument=function(e){var t,i,a=e?e.ownerDocument||e:w;return a!==d&&9===a.nodeType&&a.documentElement?(h=(d=a).documentElement,v=!o(d),w!==d&&(i=d.defaultView)&&i.top!==i&&(i.addEventListener?i.addEventListener("unload",re,!1):i.attachEvent&&i.attachEvent("onunload",re)),n.attributes=ue(function(e){return e.className="i",!e.getAttribute("className")}),n.getElementsByTagName=ue(function(e){return e.appendChild(d.createComment("")),!e.getElementsByTagName("*").length}),n.getElementsByClassName=Q.test(d.getElementsByClassName),n.getById=ue(function(e){return h.appendChild(e).id=b,!d.getElementsByName||!d.getElementsByName(b).length}),n.getById?(r.filter.ID=function(e){var t=e.replace(Z,ee);return function(e){return e.getAttribute("id")===t}},r.find.ID=function(e,t){if(void 0!==t.getElementById&&v){var n=t.getElementById(e);return n?[n]:[]}}):(r.filter.ID=function(e){var t=e.replace(Z,ee);return function(e){var n=void 0!==e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}},r.find.ID=function(e,t){if(void 0!==t.getElementById&&v){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];for(i=t.getElementsByName(e),r=0;o=i[r++];)if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),r.find.TAG=n.getElementsByTagName?function(e,t){return void 0!==t.getElementsByTagName?t.getElementsByTagName(e):n.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){for(;n=o[i++];)1===n.nodeType&&r.push(n);return r}return o},r.find.CLASS=n.getElementsByClassName&&function(e,t){if(void 0!==t.getElementsByClassName&&v)return t.getElementsByClassName(e)},m=[],g=[],(n.qsa=Q.test(d.querySelectorAll))&&(ue(function(e){h.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&g.push("[*^$]="+R+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||g.push("\\["+R+"*(?:value|"+P+")"),e.querySelectorAll("[id~="+b+"-]").length||g.push("~="),e.querySelectorAll(":checked").length||g.push(":checked"),e.querySelectorAll("a#"+b+"+*").length||g.push(".#.+[+~]")}),ue(function(e){e.innerHTML="";var t=d.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&g.push("name"+R+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&g.push(":enabled",":disabled"),h.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&g.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),g.push(",.*:")})),(n.matchesSelector=Q.test(y=h.matches||h.webkitMatchesSelector||h.mozMatchesSelector||h.oMatchesSelector||h.msMatchesSelector))&&ue(function(e){n.disconnectedMatch=y.call(e,"*"),y.call(e,"[s!='']:x"),m.push("!=",M)}),g=g.length&&new RegExp(g.join("|")),m=m.length&&new RegExp(m.join("|")),t=Q.test(h.compareDocumentPosition),_=t||Q.test(h.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},S=t?function(e,t){if(e===t)return f=!0,0;var r=!e.compareDocumentPosition-!t.compareDocumentPosition;return r||(1&(r=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!n.sortDetached&&t.compareDocumentPosition(e)===r?e===d||e.ownerDocument===w&&_(w,e)?-1:t===d||t.ownerDocument===w&&_(w,t)?1:l?j(l,e)-j(l,t):0:4&r?-1:1)}:function(e,t){if(e===t)return f=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===d?-1:t===d?1:i?-1:o?1:l?j(l,e)-j(l,t):0;if(i===o)return le(e,t);for(n=e;n=n.parentNode;)a.unshift(n);for(n=t;n=n.parentNode;)s.unshift(n);for(;a[r]===s[r];)r++;return r?le(a[r],s[r]):a[r]===w?-1:s[r]===w?1:0},d):d},oe.matches=function(e,t){return oe(e,null,null,t)},oe.matchesSelector=function(e,t){if((e.ownerDocument||e)!==d&&p(e),t=t.replace(U,"='$1']"),n.matchesSelector&&v&&!A[t+" "]&&(!m||!m.test(t))&&(!g||!g.test(t)))try{var r=y.call(e,t);if(r||n.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(e){}return oe(t,d,null,[e]).length>0},oe.contains=function(e,t){return(e.ownerDocument||e)!==d&&p(e),_(e,t)},oe.attr=function(e,t){(e.ownerDocument||e)!==d&&p(e);var i=r.attrHandle[t.toLowerCase()],o=i&&O.call(r.attrHandle,t.toLowerCase())?i(e,t,!v):void 0;return void 0!==o?o:n.attributes||!v?e.getAttribute(t):(o=e.getAttributeNode(t))&&o.specified?o.value:null},oe.escape=function(e){return(e+"").replace(te,ne)},oe.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},oe.uniqueSort=function(e){var t,r=[],i=0,o=0;if(f=!n.detectDuplicates,l=!n.sortStable&&e.slice(0),e.sort(S),f){for(;t=e[o++];)t===e[o]&&(i=r.push(o));for(;i--;)e.splice(r[i],1)}return l=null,e},i=oe.getText=function(e){var t,n="",r=0,o=e.nodeType;if(o){if(1===o||9===o||11===o){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=i(e)}else if(3===o||4===o)return e.nodeValue}else for(;t=e[r++];)n+=i(t);return n},(r=oe.selectors={cacheLength:50,createPseudo:se,match:K,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(Z,ee),e[3]=(e[3]||e[4]||e[5]||"").replace(Z,ee),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||oe.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&oe.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return K.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&V.test(n)&&(t=a(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(Z,ee).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=x[e+" "];return t||(t=new RegExp("(^|"+R+")"+e+"("+R+"|$)"))&&x(e,function(e){return t.test("string"==typeof e.className&&e.className||void 0!==e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=oe.attr(r,e);return null==i?"!="===t:!t||(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i.replace(F," ")+" ").indexOf(n)>-1:"|="===t&&(i===n||i.slice(0,n.length+1)===n+"-"))}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var c,l,f,p,d,h,v=o!==a?"nextSibling":"previousSibling",g=t.parentNode,m=s&&t.nodeName.toLowerCase(),y=!u&&!s,_=!1;if(g){if(o){for(;v;){for(p=t;p=p[v];)if(s?p.nodeName.toLowerCase()===m:1===p.nodeType)return!1;h=v="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?g.firstChild:g.lastChild],a&&y){for(_=(d=(c=(l=(f=(p=g)[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]||[])[0]===T&&c[1])&&c[2],p=d&&g.childNodes[d];p=++d&&p&&p[v]||(_=d=0)||h.pop();)if(1===p.nodeType&&++_&&p===t){l[e]=[T,d,_];break}}else if(y&&(_=d=(c=(l=(f=(p=t)[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]||[])[0]===T&&c[1]),!1===_)for(;(p=++d&&p&&p[v]||(_=d=0)||h.pop())&&((s?p.nodeName.toLowerCase()!==m:1!==p.nodeType)||!++_||(y&&((l=(f=p[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]=[T,_]),p!==t)););return(_-=i)===r||_%r==0&&_/r>=0}}},PSEUDO:function(e,t){var n,i=r.pseudos[e]||r.setFilters[e.toLowerCase()]||oe.error("unsupported pseudo: "+e);return i[b]?i(t):i.length>1?(n=[e,e,"",t],r.setFilters.hasOwnProperty(e.toLowerCase())?se(function(e,n){for(var r,o=i(e,t),a=o.length;a--;)e[r=j(e,o[a])]=!(n[r]=o[a])}):function(e){return i(e,0,n)}):i}},pseudos:{not:se(function(e){var t=[],n=[],r=s(e.replace(W,"$1"));return r[b]?se(function(e,t,n,i){for(var o,a=r(e,null,i,[]),s=e.length;s--;)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),t[0]=null,!n.pop()}}),has:se(function(e){return function(t){return oe(e,t).length>0}}),contains:se(function(e){return e=e.replace(Z,ee),function(t){return(t.textContent||t.innerText||i(t)).indexOf(e)>-1}}),lang:se(function(e){return z.test(e||"")||oe.error("unsupported lang: "+e),e=e.replace(Z,ee).toLowerCase(),function(t){var n;do{if(n=v?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return(n=n.toLowerCase())===e||0===n.indexOf(e+"-")}while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===h},focus:function(e){return e===d.activeElement&&(!d.hasFocus||d.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:de(!1),disabled:de(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!r.pseudos.empty(e)},header:function(e){return X.test(e.nodeName)},input:function(e){return G.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:he(function(){return[0]}),last:he(function(e,t){return[t-1]}),eq:he(function(e,t,n){return[n<0?n+t:n]}),even:he(function(e,t){for(var n=0;n=0;)e.push(r);return e}),gt:he(function(e,t,n){for(var r=n<0?n+t:n;++r1?function(t,n,r){for(var i=e.length;i--;)if(!e[i](t,n,r))return!1;return!0}:e[0]}function be(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,c=null!=t;s-1&&(o[c]=!(a[c]=f))}}else m=be(m===a?m.splice(h,m.length):m),i?i(null,a,m,u):N.apply(a,m)})}function Te(e){for(var t,n,i,o=e.length,a=r.relative[e[0].type],s=a||r.relative[" "],u=a?1:0,l=ye(function(e){return e===t},s,!0),f=ye(function(e){return j(t,e)>-1},s,!0),p=[function(e,n,r){var i=!a&&(r||n!==c)||((t=n).nodeType?l(e,n,r):f(e,n,r));return t=null,i}];u1&&_e(p),u>1&&me(e.slice(0,u-1).concat({value:" "===e[u-2].type?"*":""})).replace(W,"$1"),n,u0,i=e.length>0,o=function(o,a,s,u,l){var f,h,g,m=0,y="0",_=o&&[],b=[],w=c,E=o||i&&r.find.TAG("*",l),x=T+=null==w?1:Math.random()||.1,C=E.length;for(l&&(c=a===d||a||l);y!==C&&null!=(f=E[y]);y++){if(i&&f){for(h=0,a||f.ownerDocument===d||(p(f),s=!v);g=e[h++];)if(g(f,a||d,s)){u.push(f);break}l&&(T=x)}n&&((f=!g&&f)&&m--,o&&_.push(f))}if(m+=y,n&&y!==m){for(h=0;g=t[h++];)g(_,b,a,s);if(o){if(m>0)for(;y--;)_[y]||b[y]||(b[y]=I.call(u));b=be(b)}N.apply(u,b),l&&!o&&b.length>0&&m+t.length>1&&oe.uniqueSort(u)}return l&&(T=x,c=w),_};return n?se(o):o}(o,i))).selector=e}return s},u=oe.select=function(e,t,n,i){var o,u,c,l,f,p="function"==typeof e&&e,d=!i&&a(e=p.selector||e);if(n=n||[],1===d.length){if((u=d[0]=d[0].slice(0)).length>2&&"ID"===(c=u[0]).type&&9===t.nodeType&&v&&r.relative[u[1].type]){if(!(t=(r.find.ID(c.matches[0].replace(Z,ee),t)||[])[0]))return n;p&&(t=t.parentNode),e=e.slice(u.shift().value.length)}for(o=K.needsContext.test(e)?0:u.length;o--&&(c=u[o],!r.relative[l=c.type]);)if((f=r.find[l])&&(i=f(c.matches[0].replace(Z,ee),J.test(u[0].type)&&ve(t.parentNode)||t))){if(u.splice(o,1),!(e=i.length&&me(u)))return N.apply(n,i),n;break}}return(p||s(e,d))(i,t,!v,n,!t||J.test(e)&&ve(t.parentNode)||t),n},n.sortStable=b.split("").sort(S).join("")===b,n.detectDuplicates=!!f,p(),n.sortDetached=ue(function(e){return 1&e.compareDocumentPosition(d.createElement("fieldset"))}),ue(function(e){return e.innerHTML="","#"===e.firstChild.getAttribute("href")})||ce("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),n.attributes&&ue(function(e){return e.innerHTML="",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||ce("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ue(function(e){return null==e.getAttribute("disabled")})||ce(P,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),oe}(n);E.find=A,E.expr=A.selectors,E.expr[":"]=E.expr.pseudos,E.uniqueSort=E.unique=A.uniqueSort,E.text=A.getText,E.isXMLDoc=A.isXML,E.contains=A.contains,E.escapeSelector=A.escape;var S=function(e,t,n){for(var r=[],i=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(i&&E(e).is(n))break;r.push(e)}return r},O=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},D=E.expr.match.needsContext;function I(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var k=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function N(e,t,n){return y(t)?E.grep(e,function(e,r){return!!t.call(e,r,e)!==n}):t.nodeType?E.grep(e,function(e){return e===t!==n}):"string"!=typeof t?E.grep(e,function(e){return f.call(t,e)>-1!==n}):E.filter(t,e,n)}E.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?E.find.matchesSelector(r,e)?[r]:[]:E.find.matches(e,E.grep(t,function(e){return 1===e.nodeType}))},E.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(E(e).filter(function(){for(t=0;t1?E.uniqueSort(n):n},filter:function(e){return this.pushStack(N(this,e||[],!1))},not:function(e){return this.pushStack(N(this,e||[],!0))},is:function(e){return!!N(this,"string"==typeof e&&D.test(e)?E(e):e||[],!1).length}});var L,j=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(E.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||L,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:j.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof E?t[0]:t,E.merge(this,E.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:a,!0)),k.test(r[1])&&E.isPlainObject(t))for(r in t)y(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=a.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):y(e)?void 0!==n.ready?n.ready(e):e(E):E.makeArray(e,this)}).prototype=E.fn,L=E(a);var P=/^(?:parents|prev(?:Until|All))/,R={children:!0,contents:!0,next:!0,prev:!0};function $(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}E.fn.extend({has:function(e){var t=E(e,this),n=t.length;return this.filter(function(){for(var e=0;e-1:1===n.nodeType&&E.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(o.length>1?E.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?f.call(E(e),this[0]):f.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(E.uniqueSort(E.merge(this.get(),E(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),E.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return S(e,"parentNode")},parentsUntil:function(e,t,n){return S(e,"parentNode",n)},next:function(e){return $(e,"nextSibling")},prev:function(e){return $(e,"previousSibling")},nextAll:function(e){return S(e,"nextSibling")},prevAll:function(e){return S(e,"previousSibling")},nextUntil:function(e,t,n){return S(e,"nextSibling",n)},prevUntil:function(e,t,n){return S(e,"previousSibling",n)},siblings:function(e){return O((e.parentNode||{}).firstChild,e)},children:function(e){return O(e.firstChild)},contents:function(e){return I(e,"iframe")?e.contentDocument:(I(e,"template")&&(e=e.content||e),E.merge([],e.childNodes))}},function(e,t){E.fn[e]=function(n,r){var i=E.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=E.filter(r,i)),this.length>1&&(R[e]||E.uniqueSort(i),P.test(e)&&i.reverse()),this.pushStack(i)}});var H=/[^\x20\t\r\n\f]+/g;function M(e){return e}function F(e){throw e}function W(e,t,n,r){var i;try{e&&y(i=e.promise)?i.call(e).done(t).fail(n):e&&y(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}E.Callbacks=function(e){e="string"==typeof e?function(e){var t={};return E.each(e.match(H)||[],function(e,n){t[n]=!0}),t}(e):E.extend({},e);var t,n,r,i,o=[],a=[],s=-1,u=function(){for(i=i||e.once,r=t=!0;a.length;s=-1)for(n=a.shift();++s-1;)o.splice(n,1),n<=s&&s--}),this},has:function(e){return e?E.inArray(e,o)>-1:o.length>0},empty:function(){return o&&(o=[]),this},disable:function(){return i=a=[],o=n="",this},disabled:function(){return!o},lock:function(){return i=a=[],n||t||(o=n=""),this},locked:function(){return!!i},fireWith:function(e,n){return i||(n=[e,(n=n||[]).slice?n.slice():n],a.push(n),t||u()),this},fire:function(){return c.fireWith(this,arguments),this},fired:function(){return!!r}};return c},E.extend({Deferred:function(e){var t=[["notify","progress",E.Callbacks("memory"),E.Callbacks("memory"),2],["resolve","done",E.Callbacks("once memory"),E.Callbacks("once memory"),0,"resolved"],["reject","fail",E.Callbacks("once memory"),E.Callbacks("once memory"),1,"rejected"]],r="pending",i={state:function(){return r},always:function(){return o.done(arguments).fail(arguments),this},catch:function(e){return i.then(null,e)},pipe:function(){var e=arguments;return E.Deferred(function(n){E.each(t,function(t,r){var i=y(e[r[4]])&&e[r[4]];o[r[1]](function(){var e=i&&i.apply(this,arguments);e&&y(e.promise)?e.promise().progress(n.notify).done(n.resolve).fail(n.reject):n[r[0]+"With"](this,i?[e]:arguments)})}),e=null}).promise()},then:function(e,r,i){var o=0;function a(e,t,r,i){return function(){var s=this,u=arguments,c=function(){var n,c;if(!(e=o&&(r!==F&&(s=void 0,u=[n]),t.rejectWith(s,u))}};e?l():(E.Deferred.getStackHook&&(l.stackTrace=E.Deferred.getStackHook()),n.setTimeout(l))}}return E.Deferred(function(n){t[0][3].add(a(0,n,y(i)?i:M,n.notifyWith)),t[1][3].add(a(0,n,y(e)?e:M)),t[2][3].add(a(0,n,y(r)?r:F))}).promise()},promise:function(e){return null!=e?E.extend(e,i):i}},o={};return E.each(t,function(e,n){var a=n[2],s=n[5];i[n[1]]=a.add,s&&a.add(function(){r=s},t[3-e][2].disable,t[3-e][3].disable,t[0][2].lock,t[0][3].lock),a.add(n[3].fire),o[n[0]]=function(){return o[n[0]+"With"](this===o?void 0:this,arguments),this},o[n[0]+"With"]=a.fireWith}),i.promise(o),e&&e.call(o,o),o},when:function(e){var t=arguments.length,n=t,r=Array(n),i=u.call(arguments),o=E.Deferred(),a=function(e){return function(n){r[e]=this,i[e]=arguments.length>1?u.call(arguments):n,--t||o.resolveWith(r,i)}};if(t<=1&&(W(e,o.done(a(n)).resolve,o.reject,!t),"pending"===o.state()||y(i[n]&&i[n].then)))return o.then();for(;n--;)W(i[n],a(n),o.reject);return o.promise()}});var q=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;E.Deferred.exceptionHook=function(e,t){n.console&&n.console.warn&&e&&q.test(e.name)&&n.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},E.readyException=function(e){n.setTimeout(function(){throw e})};var B=E.Deferred();function U(){a.removeEventListener("DOMContentLoaded",U),n.removeEventListener("load",U),E.ready()}E.fn.ready=function(e){return B.then(e).catch(function(e){E.readyException(e)}),this},E.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--E.readyWait:E.isReady)||(E.isReady=!0,!0!==e&&--E.readyWait>0||B.resolveWith(a,[E]))}}),E.ready.then=B.then,"complete"===a.readyState||"loading"!==a.readyState&&!a.documentElement.doScroll?n.setTimeout(E.ready):(a.addEventListener("DOMContentLoaded",U),n.addEventListener("load",U));var V=function(e,t,n,r,i,o,a){var s=0,u=e.length,c=null==n;if("object"===T(n))for(s in i=!0,n)V(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,y(r)||(a=!0),c&&(a?(t.call(e,r),t=null):(c=t,t=function(e,t,n){return c.call(E(e),n)})),t))for(;s1,null,!0)},removeData:function(e){return this.each(function(){Z.remove(this,e)})}}),E.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=J.get(e,t),n&&(!r||Array.isArray(n)?r=J.access(e,t,E.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=E.queue(e,t),r=n.length,i=n.shift(),o=E._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,function(){E.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return J.get(e,n)||J.access(e,n,{empty:E.Callbacks("once memory").add(function(){J.remove(e,[t+"queue",n])})})}}),E.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length\x20\t\r\n\f]+)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ve={option:[1,""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ge(e,t){var n;return n=void 0!==e.getElementsByTagName?e.getElementsByTagName(t||"*"):void 0!==e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&I(e,t)?E.merge([e],n):n}function me(e,t){for(var n=0,r=e.length;n-1)i&&i.push(o);else if(c=E.contains(o.ownerDocument,o),a=ge(f.appendChild(o),"script"),c&&me(a),n)for(l=0;o=a[l++];)he.test(o.type||"")&&n.push(o);return f}ye=a.createDocumentFragment().appendChild(a.createElement("div")),(_e=a.createElement("input")).setAttribute("type","radio"),_e.setAttribute("checked","checked"),_e.setAttribute("name","t"),ye.appendChild(_e),m.checkClone=ye.cloneNode(!0).cloneNode(!0).lastChild.checked,ye.innerHTML="",m.noCloneChecked=!!ye.cloneNode(!0).lastChild.defaultValue;var Te=a.documentElement,Ee=/^key/,xe=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ce=/^([^.]*)(?:\.(.+)|)/;function Ae(){return!0}function Se(){return!1}function Oe(){try{return a.activeElement}catch(e){}}function De(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)De(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Se;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return E().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=E.guid++)),e.each(function(){E.event.add(this,t,i,r,n)})}E.event={global:{},add:function(e,t,n,r,i){var o,a,s,u,c,l,f,p,d,h,v,g=J.get(e);if(g)for(n.handler&&(n=(o=n).handler,i=o.selector),i&&E.find.matchesSelector(Te,i),n.guid||(n.guid=E.guid++),(u=g.events)||(u=g.events={}),(a=g.handle)||(a=g.handle=function(t){return void 0!==E&&E.event.triggered!==t.type?E.event.dispatch.apply(e,arguments):void 0}),c=(t=(t||"").match(H)||[""]).length;c--;)d=v=(s=Ce.exec(t[c])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=E.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=E.event.special[d]||{},l=E.extend({type:d,origType:v,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&E.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(e,r,h,a)||e.addEventListener&&e.addEventListener(d,a)),f.add&&(f.add.call(e,l),l.handler.guid||(l.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,l):p.push(l),E.event.global[d]=!0)},remove:function(e,t,n,r,i){var o,a,s,u,c,l,f,p,d,h,v,g=J.hasData(e)&&J.get(e);if(g&&(u=g.events)){for(c=(t=(t||"").match(H)||[""]).length;c--;)if(d=v=(s=Ce.exec(t[c])||[])[1],h=(s[2]||"").split(".").sort(),d){for(f=E.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;o--;)l=p[o],!i&&v!==l.origType||n&&n.guid!==l.guid||s&&!s.test(l.namespace)||r&&r!==l.selector&&("**"!==r||!l.selector)||(p.splice(o,1),l.selector&&p.delegateCount--,f.remove&&f.remove.call(e,l));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,g.handle)||E.removeEvent(e,d,g.handle),delete u[d])}else for(d in u)E.event.remove(e,d+t[c],n,r,!0);E.isEmptyObject(u)&&J.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=E.event.fix(e),u=new Array(arguments.length),c=(J.get(this,"events")||{})[s.type]||[],l=E.event.special[s.type]||{};for(u[0]=s,t=1;t=1))for(;c!==this;c=c.parentNode||this)if(1===c.nodeType&&("click"!==e.type||!0!==c.disabled)){for(o=[],a={},n=0;n-1:E.find(i,this,null,[c]).length),a[i]&&o.push(r);o.length&&s.push({elem:c,handlers:o})}return c=this,u\x20\t\r\n\f]*)[^>]*)\/>/gi,ke=/\s*$/g;function je(e,t){return I(e,"table")&&I(11!==t.nodeType?t:t.firstChild,"tr")&&E(e).children("tbody")[0]||e}function Pe(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Re(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function $e(e,t){var n,r,i,o,a,s,u,c;if(1===t.nodeType){if(J.hasData(e)&&(o=J.access(e),a=J.set(t,o),c=o.events))for(i in delete a.handle,a.events={},c)for(n=0,r=c[i].length;n1&&"string"==typeof h&&!m.checkClone&&Ne.test(h))return e.each(function(i){var o=e.eq(i);v&&(t[0]=h.call(this,i,o.html())),He(o,t,n,r)});if(p&&(o=(i=we(t,e[0].ownerDocument,!1,e,r)).firstChild,1===i.childNodes.length&&(i=o),o||r)){for(s=(a=E.map(ge(i,"script"),Pe)).length;f")},clone:function(e,t,n){var r,i,o,a,s,u,c,l=e.cloneNode(!0),f=E.contains(e.ownerDocument,e);if(!(m.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||E.isXMLDoc(e)))for(a=ge(l),r=0,i=(o=ge(e)).length;r0&&me(a,!f&&ge(e,"script")),l},cleanData:function(e){for(var t,n,r,i=E.event.special,o=0;void 0!==(n=e[o]);o++)if(Q(n)){if(t=n[J.expando]){if(t.events)for(r in t.events)i[r]?E.event.remove(n,r):E.removeEvent(n,r,t.handle);n[J.expando]=void 0}n[Z.expando]&&(n[Z.expando]=void 0)}}}),E.fn.extend({detach:function(e){return Me(this,e,!0)},remove:function(e){return Me(this,e)},text:function(e){return V(this,function(e){return void 0===e?E.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return He(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||je(this,e).appendChild(e)})},prepend:function(){return He(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=je(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return He(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return He(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(E.cleanData(ge(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return E.clone(this,e,t)})},html:function(e){return V(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!ke.test(e)&&!ve[(de.exec(e)||["",""])[1].toLowerCase()]){e=E.htmlPrefilter(e);try{for(;n=0&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))),u}function et(e,t,n){var r=We(e),i=Be(e,t,r),o="border-box"===E.css(e,"boxSizing",!1,r),a=o;if(Fe.test(i)){if(!n)return i;i="auto"}return a=a&&(m.boxSizingReliable()||i===e.style[t]),("auto"===i||!parseFloat(i)&&"inline"===E.css(e,"display",!1,r))&&(i=e["offset"+t[0].toUpperCase()+t.slice(1)],a=!0),(i=parseFloat(i)||0)+Ze(e,t,n||(o?"border":"content"),a,r,i)+"px"}function tt(e,t,n,r,i){return new tt.prototype.init(e,t,n,r,i)}E.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Be(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=X(t),u=ze.test(t),c=e.style;if(u||(t=Ye(s)),a=E.cssHooks[t]||E.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:c[t];"string"===(o=typeof n)&&(i=ie.exec(n))&&i[1]&&(n=ue(e,t,i),o="number"),null!=n&&n==n&&("number"===o&&(n+=i&&i[3]||(E.cssNumber[s]?"":"px")),m.clearCloneStyle||""!==n||0!==t.indexOf("background")||(c[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?c.setProperty(t,n):c[t]=n))}},css:function(e,t,n,r){var i,o,a,s=X(t);return ze.test(t)||(t=Ye(s)),(a=E.cssHooks[t]||E.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=Be(e,t,r)),"normal"===i&&t in Ge&&(i=Ge[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),E.each(["height","width"],function(e,t){E.cssHooks[t]={get:function(e,n,r){if(n)return!Ve.test(E.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?et(e,t,r):se(e,Ke,function(){return et(e,t,r)})},set:function(e,n,r){var i,o=We(e),a="border-box"===E.css(e,"boxSizing",!1,o),s=r&&Ze(e,t,r,a,o);return a&&m.scrollboxSize()===o.position&&(s-=Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-parseFloat(o[t])-Ze(e,t,"border",!1,o)-.5)),s&&(i=ie.exec(n))&&"px"!==(i[3]||"px")&&(e.style[t]=n,n=E.css(e,t)),Je(0,n,s)}}}),E.cssHooks.marginLeft=Ue(m.reliableMarginLeft,function(e,t){if(t)return(parseFloat(Be(e,"marginLeft"))||e.getBoundingClientRect().left-se(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),E.each({margin:"",padding:"",border:"Width"},function(e,t){E.cssHooks[e+t]={expand:function(n){for(var r=0,i={},o="string"==typeof n?n.split(" "):[n];r<4;r++)i[e+oe[r]+t]=o[r]||o[r-2]||o[0];return i}},"margin"!==e&&(E.cssHooks[e+t].set=Je)}),E.fn.extend({css:function(e,t){return V(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=We(e),i=t.length;a1)}}),E.Tween=tt,tt.prototype={constructor:tt,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||E.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(E.cssNumber[n]?"":"px")},cur:function(){var e=tt.propHooks[this.prop];return e&&e.get?e.get(this):tt.propHooks._default.get(this)},run:function(e){var t,n=tt.propHooks[this.prop];return this.options.duration?this.pos=t=E.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):tt.propHooks._default.set(this),this}},tt.prototype.init.prototype=tt.prototype,tt.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=E.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){E.fx.step[e.prop]?E.fx.step[e.prop](e):1!==e.elem.nodeType||null==e.elem.style[E.cssProps[e.prop]]&&!E.cssHooks[e.prop]?e.elem[e.prop]=e.now:E.style(e.elem,e.prop,e.now+e.unit)}}},tt.propHooks.scrollTop=tt.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},E.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},E.fx=tt.prototype.init,E.fx.step={};var nt,rt,it=/^(?:toggle|show|hide)$/,ot=/queueHooks$/;function at(){rt&&(!1===a.hidden&&n.requestAnimationFrame?n.requestAnimationFrame(at):n.setTimeout(at,E.fx.interval),E.fx.tick())}function st(){return n.setTimeout(function(){nt=void 0}),nt=Date.now()}function ut(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=oe[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function ct(e,t,n){for(var r,i=(lt.tweeners[t]||[]).concat(lt.tweeners["*"]),o=0,a=i.length;o1)},removeAttr:function(e){return this.each(function(){E.removeAttr(this,e)})}}),E.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return void 0===e.getAttribute?E.prop(e,t,n):(1===o&&E.isXMLDoc(e)||(i=E.attrHooks[t.toLowerCase()]||(E.expr.match.bool.test(t)?ft:void 0)),void 0!==n?null===n?void E.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=E.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!m.radioValue&&"radio"===t&&I(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(H);if(i&&1===e.nodeType)for(;n=i[r++];)e.removeAttribute(n)}}),ft={set:function(e,t,n){return!1===t?E.removeAttr(e,n):e.setAttribute(n,n),n}},E.each(E.expr.match.bool.source.match(/\w+/g),function(e,t){var n=pt[t]||E.find.attr;pt[t]=function(e,t,r){var i,o,a=t.toLowerCase();return r||(o=pt[a],pt[a]=i,i=null!=n(e,t,r)?a:null,pt[a]=o),i}});var dt=/^(?:input|select|textarea|button)$/i,ht=/^(?:a|area)$/i;function vt(e){return(e.match(H)||[]).join(" ")}function gt(e){return e.getAttribute&&e.getAttribute("class")||""}function mt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(H)||[]}E.fn.extend({prop:function(e,t){return V(this,E.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[E.propFix[e]||e]})}}),E.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&E.isXMLDoc(e)||(t=E.propFix[t]||t,i=E.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=E.find.attr(e,"tabindex");return t?parseInt(t,10):dt.test(e.nodeName)||ht.test(e.nodeName)&&e.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),m.optSelected||(E.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),E.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){E.propFix[this.toLowerCase()]=this}),E.fn.extend({addClass:function(e){var t,n,r,i,o,a,s,u=0;if(y(e))return this.each(function(t){E(this).addClass(e.call(this,t,gt(this)))});if((t=mt(e)).length)for(;n=this[u++];)if(i=gt(n),r=1===n.nodeType&&" "+vt(i)+" "){for(a=0;o=t[a++];)r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=vt(r))&&n.setAttribute("class",s)}return this},removeClass:function(e){var t,n,r,i,o,a,s,u=0;if(y(e))return this.each(function(t){E(this).removeClass(e.call(this,t,gt(this)))});if(!arguments.length)return this.attr("class","");if((t=mt(e)).length)for(;n=this[u++];)if(i=gt(n),r=1===n.nodeType&&" "+vt(i)+" "){for(a=0;o=t[a++];)for(;r.indexOf(" "+o+" ")>-1;)r=r.replace(" "+o+" "," ");i!==(s=vt(r))&&n.setAttribute("class",s)}return this},toggleClass:function(e,t){var n=typeof e,r="string"===n||Array.isArray(e);return"boolean"==typeof t&&r?t?this.addClass(e):this.removeClass(e):y(e)?this.each(function(n){E(this).toggleClass(e.call(this,n,gt(this),t),t)}):this.each(function(){var t,i,o,a;if(r)for(i=0,o=E(this),a=mt(e);t=a[i++];)o.hasClass(t)?o.removeClass(t):o.addClass(t);else void 0!==e&&"boolean"!==n||((t=gt(this))&&J.set(this,"__className__",t),this.setAttribute&&this.setAttribute("class",t||!1===e?"":J.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;for(t=" "+e+" ";n=this[r++];)if(1===n.nodeType&&(" "+vt(gt(n))+" ").indexOf(t)>-1)return!0;return!1}});var yt=/\r/g;E.fn.extend({val:function(e){var t,n,r,i=this[0];return arguments.length?(r=y(e),this.each(function(n){var i;1===this.nodeType&&(null==(i=r?e.call(this,n,E(this).val()):e)?i="":"number"==typeof i?i+="":Array.isArray(i)&&(i=E.map(i,function(e){return null==e?"":e+""})),(t=E.valHooks[this.type]||E.valHooks[this.nodeName.toLowerCase()])&&"set"in t&&void 0!==t.set(this,i,"value")||(this.value=i))})):i?(t=E.valHooks[i.type]||E.valHooks[i.nodeName.toLowerCase()])&&"get"in t&&void 0!==(n=t.get(i,"value"))?n:"string"==typeof(n=i.value)?n.replace(yt,""):null==n?"":n:void 0}}),E.extend({valHooks:{option:{get:function(e){var t=E.find.attr(e,"value");return null!=t?t:vt(E.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r-1)&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),E.each(["radio","checkbox"],function(){E.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=E.inArray(E(e).val(),t)>-1}},m.checkOn||(E.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),m.focusin="onfocusin"in n;var _t=/^(?:focusinfocus|focusoutblur)$/,bt=function(e){e.stopPropagation()};E.extend(E.event,{trigger:function(e,t,r,i){var o,s,u,c,l,f,p,d,v=[r||a],g=h.call(e,"type")?e.type:e,m=h.call(e,"namespace")?e.namespace.split("."):[];if(s=d=u=r=r||a,3!==r.nodeType&&8!==r.nodeType&&!_t.test(g+E.event.triggered)&&(g.indexOf(".")>-1&&(m=g.split("."),g=m.shift(),m.sort()),l=g.indexOf(":")<0&&"on"+g,(e=e[E.expando]?e:new E.Event(g,"object"==typeof e&&e)).isTrigger=i?2:3,e.namespace=m.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+m.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=r),t=null==t?[e]:E.makeArray(t,[e]),p=E.event.special[g]||{},i||!p.trigger||!1!==p.trigger.apply(r,t))){if(!i&&!p.noBubble&&!_(r)){for(c=p.delegateType||g,_t.test(c+g)||(s=s.parentNode);s;s=s.parentNode)v.push(s),u=s;u===(r.ownerDocument||a)&&v.push(u.defaultView||u.parentWindow||n)}for(o=0;(s=v[o++])&&!e.isPropagationStopped();)d=s,e.type=o>1?c:p.bindType||g,(f=(J.get(s,"events")||{})[e.type]&&J.get(s,"handle"))&&f.apply(s,t),(f=l&&s[l])&&f.apply&&Q(s)&&(e.result=f.apply(s,t),!1===e.result&&e.preventDefault());return e.type=g,i||e.isDefaultPrevented()||p._default&&!1!==p._default.apply(v.pop(),t)||!Q(r)||l&&y(r[g])&&!_(r)&&((u=r[l])&&(r[l]=null),E.event.triggered=g,e.isPropagationStopped()&&d.addEventListener(g,bt),r[g](),e.isPropagationStopped()&&d.removeEventListener(g,bt),E.event.triggered=void 0,u&&(r[l]=u)),e.result}},simulate:function(e,t,n){var r=E.extend(new E.Event,n,{type:e,isSimulated:!0});E.event.trigger(r,null,t)}}),E.fn.extend({trigger:function(e,t){return this.each(function(){E.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return E.event.trigger(e,t,n,!0)}}),m.focusin||E.each({focus:"focusin",blur:"focusout"},function(e,t){var n=function(e){E.event.simulate(t,e.target,E.event.fix(e))};E.event.special[t]={setup:function(){var r=this.ownerDocument||this,i=J.access(r,t);i||r.addEventListener(e,n,!0),J.access(r,t,(i||0)+1)},teardown:function(){var r=this.ownerDocument||this,i=J.access(r,t)-1;i?J.access(r,t,i):(r.removeEventListener(e,n,!0),J.remove(r,t))}}});var wt=n.location,Tt=Date.now(),Et=/\?/;E.parseXML=function(e){var t;if(!e||"string"!=typeof e)return null;try{t=(new n.DOMParser).parseFromString(e,"text/xml")}catch(e){t=void 0}return t&&!t.getElementsByTagName("parsererror").length||E.error("Invalid XML: "+e),t};var xt=/\[\]$/,Ct=/\r?\n/g,At=/^(?:submit|button|image|reset|file)$/i,St=/^(?:input|select|textarea|keygen)/i;function Ot(e,t,n,r){var i;if(Array.isArray(t))E.each(t,function(t,i){n||xt.test(e)?r(e,i):Ot(e+"["+("object"==typeof i&&null!=i?t:"")+"]",i,n,r)});else if(n||"object"!==T(t))r(e,t);else for(i in t)Ot(e+"["+i+"]",t[i],n,r)}E.param=function(e,t){var n,r=[],i=function(e,t){var n=y(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(Array.isArray(e)||e.jquery&&!E.isPlainObject(e))E.each(e,function(){i(this.name,this.value)});else for(n in e)Ot(n,e[n],t,i);return r.join("&")},E.fn.extend({serialize:function(){return E.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=E.prop(this,"elements");return e?E.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!E(this).is(":disabled")&&St.test(this.nodeName)&&!At.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=E(this).val();return null==n?null:Array.isArray(n)?E.map(n,function(e){return{name:t.name,value:e.replace(Ct,"\r\n")}}):{name:t.name,value:n.replace(Ct,"\r\n")}}).get()}});var Dt=/%20/g,It=/#.*$/,kt=/([?&])_=[^&]*/,Nt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Lt=/^(?:GET|HEAD)$/,jt=/^\/\//,Pt={},Rt={},$t="*/".concat("*"),Ht=a.createElement("a");function Mt(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,o=t.toLowerCase().match(H)||[];if(y(n))for(;r=o[i++];)"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function Ft(e,t,n,r){var i={},o=e===Rt;function a(s){var u;return i[s]=!0,E.each(e[s]||[],function(e,s){var c=s(t,n,r);return"string"!=typeof c||o||i[c]?o?!(u=c):void 0:(t.dataTypes.unshift(c),a(c),!1)}),u}return a(t.dataTypes[0])||!i["*"]&&a("*")}function Wt(e,t){var n,r,i=E.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&E.extend(!0,e,r),e}Ht.href=wt.href,E.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:wt.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(wt.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":$t,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":E.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Wt(Wt(e,E.ajaxSettings),t):Wt(E.ajaxSettings,e)},ajaxPrefilter:Mt(Pt),ajaxTransport:Mt(Rt),ajax:function(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};var r,i,o,s,u,c,l,f,p,d,h=E.ajaxSetup({},t),v=h.context||h,g=h.context&&(v.nodeType||v.jquery)?E(v):E.event,m=E.Deferred(),y=E.Callbacks("once memory"),_=h.statusCode||{},b={},w={},T="canceled",x={readyState:0,getResponseHeader:function(e){var t;if(l){if(!s)for(s={};t=Nt.exec(o);)s[t[1].toLowerCase()]=t[2];t=s[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return l?o:null},setRequestHeader:function(e,t){return null==l&&(e=w[e.toLowerCase()]=w[e.toLowerCase()]||e,b[e]=t),this},overrideMimeType:function(e){return null==l&&(h.mimeType=e),this},statusCode:function(e){var t;if(e)if(l)x.always(e[x.status]);else for(t in e)_[t]=[_[t],e[t]];return this},abort:function(e){var t=e||T;return r&&r.abort(t),C(0,t),this}};if(m.promise(x),h.url=((e||h.url||wt.href)+"").replace(jt,wt.protocol+"//"),h.type=t.method||t.type||h.method||h.type,h.dataTypes=(h.dataType||"*").toLowerCase().match(H)||[""],null==h.crossDomain){c=a.createElement("a");try{c.href=h.url,c.href=c.href,h.crossDomain=Ht.protocol+"//"+Ht.host!=c.protocol+"//"+c.host}catch(e){h.crossDomain=!0}}if(h.data&&h.processData&&"string"!=typeof h.data&&(h.data=E.param(h.data,h.traditional)),Ft(Pt,h,t,x),l)return x;for(p in(f=E.event&&h.global)&&0==E.active++&&E.event.trigger("ajaxStart"),h.type=h.type.toUpperCase(),h.hasContent=!Lt.test(h.type),i=h.url.replace(It,""),h.hasContent?h.data&&h.processData&&0===(h.contentType||"").indexOf("application/x-www-form-urlencoded")&&(h.data=h.data.replace(Dt,"+")):(d=h.url.slice(i.length),h.data&&(h.processData||"string"==typeof h.data)&&(i+=(Et.test(i)?"&":"?")+h.data,delete h.data),!1===h.cache&&(i=i.replace(kt,"$1"),d=(Et.test(i)?"&":"?")+"_="+Tt+++d),h.url=i+d),h.ifModified&&(E.lastModified[i]&&x.setRequestHeader("If-Modified-Since",E.lastModified[i]),E.etag[i]&&x.setRequestHeader("If-None-Match",E.etag[i])),(h.data&&h.hasContent&&!1!==h.contentType||t.contentType)&&x.setRequestHeader("Content-Type",h.contentType),x.setRequestHeader("Accept",h.dataTypes[0]&&h.accepts[h.dataTypes[0]]?h.accepts[h.dataTypes[0]]+("*"!==h.dataTypes[0]?", "+$t+"; q=0.01":""):h.accepts["*"]),h.headers)x.setRequestHeader(p,h.headers[p]);if(h.beforeSend&&(!1===h.beforeSend.call(v,x,h)||l))return x.abort();if(T="abort",y.add(h.complete),x.done(h.success),x.fail(h.error),r=Ft(Rt,h,t,x)){if(x.readyState=1,f&&g.trigger("ajaxSend",[x,h]),l)return x;h.async&&h.timeout>0&&(u=n.setTimeout(function(){x.abort("timeout")},h.timeout));try{l=!1,r.send(b,C)}catch(e){if(l)throw e;C(-1,e)}}else C(-1,"No Transport");function C(e,t,a,s){var c,p,d,b,w,T=t;l||(l=!0,u&&n.clearTimeout(u),r=void 0,o=s||"",x.readyState=e>0?4:0,c=e>=200&&e<300||304===e,a&&(b=function(e,t,n){for(var r,i,o,a,s=e.contents,u=e.dataTypes;"*"===u[0];)u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}(h,x,a)),b=function(e,t,n,r){var i,o,a,s,u,c={},l=e.dataTypes.slice();if(l[1])for(a in e.converters)c[a.toLowerCase()]=e.converters[a];for(o=l.shift();o;)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=l.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=c[u+" "+o]||c["* "+o]))for(i in c)if((s=i.split(" "))[1]===o&&(a=c[u+" "+s[0]]||c["* "+s[0]])){!0===a?a=c[i]:!0!==c[i]&&(o=s[0],l.unshift(s[1]));break}if(!0!==a)if(a&&e.throws)t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}(h,b,x,c),c?(h.ifModified&&((w=x.getResponseHeader("Last-Modified"))&&(E.lastModified[i]=w),(w=x.getResponseHeader("etag"))&&(E.etag[i]=w)),204===e||"HEAD"===h.type?T="nocontent":304===e?T="notmodified":(T=b.state,p=b.data,c=!(d=b.error))):(d=T,!e&&T||(T="error",e<0&&(e=0))),x.status=e,x.statusText=(t||T)+"",c?m.resolveWith(v,[p,T,x]):m.rejectWith(v,[x,T,d]),x.statusCode(_),_=void 0,f&&g.trigger(c?"ajaxSuccess":"ajaxError",[x,h,c?p:d]),y.fireWith(v,[x,T]),f&&(g.trigger("ajaxComplete",[x,h]),--E.active||E.event.trigger("ajaxStop")))}return x},getJSON:function(e,t,n){return E.get(e,t,n,"json")},getScript:function(e,t){return E.get(e,void 0,t,"script")}}),E.each(["get","post"],function(e,t){E[t]=function(e,n,r,i){return y(n)&&(i=i||r,r=n,n=void 0),E.ajax(E.extend({url:e,type:t,dataType:i,data:n,success:r},E.isPlainObject(e)&&e))}}),E._evalUrl=function(e){return E.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,throws:!0})},E.fn.extend({wrapAll:function(e){var t;return this[0]&&(y(e)&&(e=e.call(this[0])),t=E(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(e){return y(e)?this.each(function(t){E(this).wrapInner(e.call(this,t))}):this.each(function(){var t=E(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=y(e);return this.each(function(n){E(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(e){return this.parent(e).not("body").each(function(){E(this).replaceWith(this.childNodes)}),this}}),E.expr.pseudos.hidden=function(e){return!E.expr.pseudos.visible(e)},E.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},E.ajaxSettings.xhr=function(){try{return new n.XMLHttpRequest}catch(e){}};var qt={0:200,1223:204},Bt=E.ajaxSettings.xhr();m.cors=!!Bt&&"withCredentials"in Bt,m.ajax=Bt=!!Bt,E.ajaxTransport(function(e){var t,r;if(m.cors||Bt&&!e.crossDomain)return{send:function(i,o){var a,s=e.xhr();if(s.open(e.type,e.url,e.async,e.username,e.password),e.xhrFields)for(a in e.xhrFields)s[a]=e.xhrFields[a];for(a in e.mimeType&&s.overrideMimeType&&s.overrideMimeType(e.mimeType),e.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest"),i)s.setRequestHeader(a,i[a]);t=function(e){return function(){t&&(t=r=s.onload=s.onerror=s.onabort=s.ontimeout=s.onreadystatechange=null,"abort"===e?s.abort():"error"===e?"number"!=typeof s.status?o(0,"error"):o(s.status,s.statusText):o(qt[s.status]||s.status,s.statusText,"text"!==(s.responseType||"text")||"string"!=typeof s.responseText?{binary:s.response}:{text:s.responseText},s.getAllResponseHeaders()))}},s.onload=t(),r=s.onerror=s.ontimeout=t("error"),void 0!==s.onabort?s.onabort=r:s.onreadystatechange=function(){4===s.readyState&&n.setTimeout(function(){t&&r()})},t=t("abort");try{s.send(e.hasContent&&e.data||null)}catch(e){if(t)throw e}},abort:function(){t&&t()}}}),E.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),E.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return E.globalEval(e),e}}}),E.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),E.ajaxTransport("script",function(e){var t,n;if(e.crossDomain)return{send:function(r,i){t=E(" diff --git a/paragonik-backend/resources/lang/en/auth.php b/paragonik-backend/resources/lang/en/auth.php deleted file mode 100644 index e5506df..0000000 --- a/paragonik-backend/resources/lang/en/auth.php +++ /dev/null @@ -1,19 +0,0 @@ - 'These credentials do not match our records.', - 'throttle' => 'Too many login attempts. Please try again in :seconds seconds.', - -]; diff --git a/paragonik-backend/resources/lang/en/pagination.php b/paragonik-backend/resources/lang/en/pagination.php deleted file mode 100644 index d481411..0000000 --- a/paragonik-backend/resources/lang/en/pagination.php +++ /dev/null @@ -1,19 +0,0 @@ - '« Previous', - 'next' => 'Next »', - -]; diff --git a/paragonik-backend/resources/lang/en/passwords.php b/paragonik-backend/resources/lang/en/passwords.php deleted file mode 100644 index bf6caf6..0000000 --- a/paragonik-backend/resources/lang/en/passwords.php +++ /dev/null @@ -1,22 +0,0 @@ - 'Passwords must be at least eight characters and match the confirmation.', - 'reset' => 'Your password has been reset!', - 'sent' => 'We have e-mailed your password reset link!', - 'token' => 'This password reset token is invalid.', - 'user' => "We can't find a user with that e-mail address.", - -]; diff --git a/paragonik-backend/resources/lang/en/validation.php b/paragonik-backend/resources/lang/en/validation.php deleted file mode 100644 index e1d879f..0000000 --- a/paragonik-backend/resources/lang/en/validation.php +++ /dev/null @@ -1,150 +0,0 @@ - 'The :attribute must be accepted.', - 'active_url' => 'The :attribute is not a valid URL.', - 'after' => 'The :attribute must be a date after :date.', - 'after_or_equal' => 'The :attribute must be a date after or equal to :date.', - 'alpha' => 'The :attribute may only contain letters.', - 'alpha_dash' => 'The :attribute may only contain letters, numbers, dashes and underscores.', - 'alpha_num' => 'The :attribute may only contain letters and numbers.', - 'array' => 'The :attribute must be an array.', - 'before' => 'The :attribute must be a date before :date.', - 'before_or_equal' => 'The :attribute must be a date before or equal to :date.', - 'between' => [ - 'numeric' => 'The :attribute must be between :min and :max.', - 'file' => 'The :attribute must be between :min and :max kilobytes.', - 'string' => 'The :attribute must be between :min and :max characters.', - 'array' => 'The :attribute must have between :min and :max items.', - ], - 'boolean' => 'The :attribute field must be true or false.', - 'confirmed' => 'The :attribute confirmation does not match.', - 'date' => 'The :attribute is not a valid date.', - 'date_equals' => 'The :attribute must be a date equal to :date.', - 'date_format' => 'The :attribute does not match the format :format.', - 'different' => 'The :attribute and :other must be different.', - 'digits' => 'The :attribute must be :digits digits.', - 'digits_between' => 'The :attribute must be between :min and :max digits.', - 'dimensions' => 'The :attribute has invalid image dimensions.', - 'distinct' => 'The :attribute field has a duplicate value.', - 'email' => 'The :attribute must be a valid email address.', - 'ends_with' => 'The :attribute must end with one of the following: :values', - 'exists' => 'The selected :attribute is invalid.', - 'file' => 'The :attribute must be a file.', - 'filled' => 'The :attribute field must have a value.', - 'gt' => [ - 'numeric' => 'The :attribute must be greater than :value.', - 'file' => 'The :attribute must be greater than :value kilobytes.', - 'string' => 'The :attribute must be greater than :value characters.', - 'array' => 'The :attribute must have more than :value items.', - ], - 'gte' => [ - 'numeric' => 'The :attribute must be greater than or equal :value.', - 'file' => 'The :attribute must be greater than or equal :value kilobytes.', - 'string' => 'The :attribute must be greater than or equal :value characters.', - 'array' => 'The :attribute must have :value items or more.', - ], - 'image' => 'The :attribute must be an image.', - 'in' => 'The selected :attribute is invalid.', - 'in_array' => 'The :attribute field does not exist in :other.', - 'integer' => 'The :attribute must be an integer.', - 'ip' => 'The :attribute must be a valid IP address.', - 'ipv4' => 'The :attribute must be a valid IPv4 address.', - 'ipv6' => 'The :attribute must be a valid IPv6 address.', - 'json' => 'The :attribute must be a valid JSON string.', - 'lt' => [ - 'numeric' => 'The :attribute must be less than :value.', - 'file' => 'The :attribute must be less than :value kilobytes.', - 'string' => 'The :attribute must be less than :value characters.', - 'array' => 'The :attribute must have less than :value items.', - ], - 'lte' => [ - 'numeric' => 'The :attribute must be less than or equal :value.', - 'file' => 'The :attribute must be less than or equal :value kilobytes.', - 'string' => 'The :attribute must be less than or equal :value characters.', - 'array' => 'The :attribute must not have more than :value items.', - ], - 'max' => [ - 'numeric' => 'The :attribute may not be greater than :max.', - 'file' => 'The :attribute may not be greater than :max kilobytes.', - 'string' => 'The :attribute may not be greater than :max characters.', - 'array' => 'The :attribute may not have more than :max items.', - ], - 'mimes' => 'The :attribute must be a file of type: :values.', - 'mimetypes' => 'The :attribute must be a file of type: :values.', - 'min' => [ - 'numeric' => 'The :attribute must be at least :min.', - 'file' => 'The :attribute must be at least :min kilobytes.', - 'string' => 'The :attribute must be at least :min characters.', - 'array' => 'The :attribute must have at least :min items.', - ], - 'not_in' => 'The selected :attribute is invalid.', - 'not_regex' => 'The :attribute format is invalid.', - 'numeric' => 'The :attribute must be a number.', - 'present' => 'The :attribute field must be present.', - 'regex' => 'The :attribute format is invalid.', - 'required' => 'The :attribute field is required.', - 'required_if' => 'The :attribute field is required when :other is :value.', - 'required_unless' => 'The :attribute field is required unless :other is in :values.', - 'required_with' => 'The :attribute field is required when :values is present.', - 'required_with_all' => 'The :attribute field is required when :values are present.', - 'required_without' => 'The :attribute field is required when :values is not present.', - 'required_without_all' => 'The :attribute field is required when none of :values are present.', - 'same' => 'The :attribute and :other must match.', - 'size' => [ - 'numeric' => 'The :attribute must be :size.', - 'file' => 'The :attribute must be :size kilobytes.', - 'string' => 'The :attribute must be :size characters.', - 'array' => 'The :attribute must contain :size items.', - ], - 'starts_with' => 'The :attribute must start with one of the following: :values', - 'string' => 'The :attribute must be a string.', - 'timezone' => 'The :attribute must be a valid zone.', - 'unique' => 'The :attribute has already been taken.', - 'uploaded' => 'The :attribute failed to upload.', - 'url' => 'The :attribute format is invalid.', - 'uuid' => 'The :attribute must be a valid UUID.', - - /* - |-------------------------------------------------------------------------- - | Custom Validation Language Lines - |-------------------------------------------------------------------------- - | - | Here you may specify custom validation messages for attributes using the - | convention "attribute.rule" to name the lines. This makes it quick to - | specify a specific custom language line for a given attribute rule. - | - */ - - 'custom' => [ - 'attribute-name' => [ - 'rule-name' => 'custom-message', - ], - ], - - /* - |-------------------------------------------------------------------------- - | Custom Validation Attributes - |-------------------------------------------------------------------------- - | - | The following language lines are used to swap our attribute placeholder - | with something more reader friendly such as "E-Mail Address" instead - | of "email". This simply helps us make our message more expressive. - | - */ - - 'attributes' => [], - -]; diff --git a/paragonik-backend/resources/sass/_variables.scss b/paragonik-backend/resources/sass/_variables.scss deleted file mode 100644 index 0407ab5..0000000 --- a/paragonik-backend/resources/sass/_variables.scss +++ /dev/null @@ -1,19 +0,0 @@ -// Body -$body-bg: #f8fafc; - -// Typography -$font-family-sans-serif: 'Nunito', sans-serif; -$font-size-base: 0.9rem; -$line-height-base: 1.6; - -// Colors -$blue: #3490dc; -$indigo: #6574cd; -$purple: #9561e2; -$pink: #f66d9b; -$red: #e3342f; -$orange: #f6993f; -$yellow: #ffed4a; -$green: #38c172; -$teal: #4dc0b5; -$cyan: #6cb2eb; diff --git a/paragonik-backend/resources/sass/app.scss b/paragonik-backend/resources/sass/app.scss deleted file mode 100644 index 3193ffa..0000000 --- a/paragonik-backend/resources/sass/app.scss +++ /dev/null @@ -1,8 +0,0 @@ -// Fonts -@import url('https://fonts.googleapis.com/css?family=Nunito'); - -// Variables -@import 'variables'; - -// Bootstrap -@import '~bootstrap/scss/bootstrap'; diff --git a/paragonik-backend/resources/views/welcome.blade.php b/paragonik-backend/resources/views/welcome.blade.php deleted file mode 100644 index af1c02a..0000000 --- a/paragonik-backend/resources/views/welcome.blade.php +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - - Laravel - - - - - - - - -
- @if (Route::has('login')) - - @endif - -
-
- Laravel -
- - -
-
- - diff --git a/paragonik-backend/routes/api.php b/paragonik-backend/routes/api.php deleted file mode 100644 index c641ca5..0000000 --- a/paragonik-backend/routes/api.php +++ /dev/null @@ -1,18 +0,0 @@ -get('/user', function (Request $request) { - return $request->user(); -}); diff --git a/paragonik-backend/routes/channels.php b/paragonik-backend/routes/channels.php deleted file mode 100644 index f16a20b..0000000 --- a/paragonik-backend/routes/channels.php +++ /dev/null @@ -1,16 +0,0 @@ -id === (int) $id; -}); diff --git a/paragonik-backend/routes/console.php b/paragonik-backend/routes/console.php deleted file mode 100644 index 75dd0cd..0000000 --- a/paragonik-backend/routes/console.php +++ /dev/null @@ -1,18 +0,0 @@ -comment(Inspiring::quote()); -})->describe('Display an inspiring quote'); diff --git a/paragonik-backend/routes/web.php b/paragonik-backend/routes/web.php deleted file mode 100644 index 810aa34..0000000 --- a/paragonik-backend/routes/web.php +++ /dev/null @@ -1,16 +0,0 @@ - - */ - -$uri = urldecode( - parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH) -); - -// This file allows us to emulate Apache's "mod_rewrite" functionality from the -// built-in PHP web server. This provides a convenient way to test a Laravel -// application without having installed a "real" web server software here. -if ($uri !== '/' && file_exists(__DIR__.'/public'.$uri)) { - return false; -} - -require_once __DIR__.'/public/index.php'; diff --git a/paragonik-backend/storage/app/.gitignore b/paragonik-backend/storage/app/.gitignore deleted file mode 100644 index 8f4803c..0000000 --- a/paragonik-backend/storage/app/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -* -!public/ -!.gitignore diff --git a/paragonik-backend/storage/app/public/.gitignore b/paragonik-backend/storage/app/public/.gitignore deleted file mode 100644 index d6b7ef3..0000000 --- a/paragonik-backend/storage/app/public/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -* -!.gitignore diff --git a/paragonik-backend/storage/framework/.gitignore b/paragonik-backend/storage/framework/.gitignore deleted file mode 100644 index b02b700..0000000 --- a/paragonik-backend/storage/framework/.gitignore +++ /dev/null @@ -1,8 +0,0 @@ -config.php -routes.php -schedule-* -compiled.php -services.json -events.scanned.php -routes.scanned.php -down diff --git a/paragonik-backend/storage/framework/cache/.gitignore b/paragonik-backend/storage/framework/cache/.gitignore deleted file mode 100644 index 01e4a6c..0000000 --- a/paragonik-backend/storage/framework/cache/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -* -!data/ -!.gitignore diff --git a/paragonik-backend/storage/framework/cache/data/.gitignore b/paragonik-backend/storage/framework/cache/data/.gitignore deleted file mode 100644 index d6b7ef3..0000000 --- a/paragonik-backend/storage/framework/cache/data/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -* -!.gitignore diff --git a/paragonik-backend/storage/framework/sessions/.gitignore b/paragonik-backend/storage/framework/sessions/.gitignore deleted file mode 100644 index d6b7ef3..0000000 --- a/paragonik-backend/storage/framework/sessions/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -* -!.gitignore diff --git a/paragonik-backend/storage/framework/sessions/KIVcZwwLUxEavDaKKPvXveBBUzwHkiYWROCImGUY b/paragonik-backend/storage/framework/sessions/KIVcZwwLUxEavDaKKPvXveBBUzwHkiYWROCImGUY deleted file mode 100644 index 14ca3d7..0000000 --- a/paragonik-backend/storage/framework/sessions/KIVcZwwLUxEavDaKKPvXveBBUzwHkiYWROCImGUY +++ /dev/null @@ -1 +0,0 @@ -a:3:{s:6:"_token";s:40:"H4CZuLpfqrOz3DIZ8PB4m5IElbtg7xacEjpfXyN6";s:9:"_previous";a:1:{s:3:"url";s:41:"http://localhost/paragonik-backend/public";}s:6:"_flash";a:2:{s:3:"old";a:0:{}s:3:"new";a:0:{}}} \ No newline at end of file diff --git a/paragonik-backend/storage/framework/sessions/n2nneHFNyLNUm09tlyf3DkoMbv2AEWCMG22ZPKUs b/paragonik-backend/storage/framework/sessions/n2nneHFNyLNUm09tlyf3DkoMbv2AEWCMG22ZPKUs deleted file mode 100644 index c4580ad..0000000 --- a/paragonik-backend/storage/framework/sessions/n2nneHFNyLNUm09tlyf3DkoMbv2AEWCMG22ZPKUs +++ /dev/null @@ -1 +0,0 @@ -a:3:{s:6:"_token";s:40:"SHsNXCVKVaotUTjDBbFcP2rZcV5RvKYjOuyUah46";s:9:"_previous";a:1:{s:3:"url";s:19:"http://paragonik.me";}s:6:"_flash";a:2:{s:3:"old";a:0:{}s:3:"new";a:0:{}}} \ No newline at end of file diff --git a/paragonik-backend/storage/framework/testing/.gitignore b/paragonik-backend/storage/framework/testing/.gitignore deleted file mode 100644 index d6b7ef3..0000000 --- a/paragonik-backend/storage/framework/testing/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -* -!.gitignore diff --git a/paragonik-backend/storage/framework/views/.gitignore b/paragonik-backend/storage/framework/views/.gitignore deleted file mode 100644 index d6b7ef3..0000000 --- a/paragonik-backend/storage/framework/views/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -* -!.gitignore diff --git a/paragonik-backend/storage/framework/views/2fbbbd0b2d6b6d3ab133291719e472c91eedefa7.php b/paragonik-backend/storage/framework/views/2fbbbd0b2d6b6d3ab133291719e472c91eedefa7.php deleted file mode 100644 index 8da511a..0000000 --- a/paragonik-backend/storage/framework/views/2fbbbd0b2d6b6d3ab133291719e472c91eedefa7.php +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - Laravel - - - - - - - - -
- - - - -
-
- Laravel -
- - -
-
- - - \ No newline at end of file diff --git a/paragonik-backend/storage/logs/.gitignore b/paragonik-backend/storage/logs/.gitignore deleted file mode 100644 index d6b7ef3..0000000 --- a/paragonik-backend/storage/logs/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -* -!.gitignore diff --git a/paragonik-backend/tests/CreatesApplication.php b/paragonik-backend/tests/CreatesApplication.php deleted file mode 100644 index 547152f..0000000 --- a/paragonik-backend/tests/CreatesApplication.php +++ /dev/null @@ -1,22 +0,0 @@ -make(Kernel::class)->bootstrap(); - - return $app; - } -} diff --git a/paragonik-backend/tests/Feature/ExampleTest.php b/paragonik-backend/tests/Feature/ExampleTest.php deleted file mode 100644 index f31e495..0000000 --- a/paragonik-backend/tests/Feature/ExampleTest.php +++ /dev/null @@ -1,21 +0,0 @@ -get('/'); - - $response->assertStatus(200); - } -} diff --git a/paragonik-backend/tests/TestCase.php b/paragonik-backend/tests/TestCase.php deleted file mode 100644 index 2932d4a..0000000 --- a/paragonik-backend/tests/TestCase.php +++ /dev/null @@ -1,10 +0,0 @@ -assertTrue(true); - } -} diff --git a/paragonik-backend/vendor/autoload.php b/paragonik-backend/vendor/autoload.php deleted file mode 100644 index 90942ef..0000000 --- a/paragonik-backend/vendor/autoload.php +++ /dev/null @@ -1,7 +0,0 @@ - - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/paragonik-backend/vendor/beyondcode/laravel-dump-server/README.md b/paragonik-backend/vendor/beyondcode/laravel-dump-server/README.md deleted file mode 100644 index 7918ab0..0000000 --- a/paragonik-backend/vendor/beyondcode/laravel-dump-server/README.md +++ /dev/null @@ -1,73 +0,0 @@ -# Laravel Dump Server - -[![Latest Version on Packagist](https://img.shields.io/packagist/v/beyondcode/laravel-dump-server.svg?style=flat-square)](https://packagist.org/packages/beyondcode/laravel-dump-server) -[![Quality Score](https://img.shields.io/scrutinizer/g/beyondcode/laravel-dump-server.svg?style=flat-square)](https://scrutinizer-ci.com/g/beyondcode/laravel-dump-server) -[![Total Downloads](https://img.shields.io/packagist/dt/beyondcode/laravel-dump-server.svg?style=flat-square)](https://packagist.org/packages/beyondcode/laravel-dump-server) - -Bringing the [Symfony Var-Dump Server](https://symfony.com/doc/current/components/var_dumper.html#the-dump-server) to Laravel. - -This package will give you a dump server, that collects all your `dump` call outputs, so that it does not interfere with HTTP / API responses. - -> If you want to learn how to create reusable PHP packages yourself, take a look at my upcoming [PHP Package Development](https://phppackagedevelopment.com) video course. - -## Installation - -You can install the package via composer: - -```bash -composer require --dev beyondcode/laravel-dump-server -``` - -The package will register itself automatically. - -Optionally you can publish the package configuration using: - -```bash -php artisan vendor:publish --provider=BeyondCode\\DumpServer\\DumpServerServiceProvider -``` - -This will publish a file called `debug-server.php` in your `config` folder. -In the config file, you can specify the dump server host that you want to listen on, in case you want to change the default value. - -## Usage - -Start the dump server by calling the artisan command: - -```bash -php artisan dump-server -``` - -You can set the output format to HTML using the `--format` option: - -```bash -php artisan dump-server --format=html > dump.html -``` - -And then you can, as you are used to, put `dump` calls in your methods. But instead of dumping the output in your current HTTP request, they will be dumped in the artisan command. -This is very useful, when you want to dump data from API requests, without having to deal with HTTP errors. - -You can see it in action here: - -![Dump Server Demo](https://beyondco.de/github/dumpserver/dumpserver.gif) - -### Changelog - -Please see [CHANGELOG](CHANGELOG.md) for more information on what has changed recently. - -## Contributing - -Please see [CONTRIBUTING](CONTRIBUTING.md) for details. - -### Security - -If you discover any security related issues, please email marcel@beyondco.de instead of using the issue tracker. - -## Credits - -- [Marcel Pociot](https://github.com/mpociot) -- [All Contributors](../../contributors) - -## License - -The MIT License (MIT). Please see [License File](LICENSE.md) for more information. - diff --git a/paragonik-backend/vendor/beyondcode/laravel-dump-server/composer.json b/paragonik-backend/vendor/beyondcode/laravel-dump-server/composer.json deleted file mode 100644 index c1b4433..0000000 --- a/paragonik-backend/vendor/beyondcode/laravel-dump-server/composer.json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "name": "beyondcode/laravel-dump-server", - "description": "Symfony Var-Dump Server for Laravel", - "keywords": [ - "beyondcode", - "laravel-dump-server" - ], - "homepage": "https://github.com/beyondcode/laravel-dump-server", - "license": "MIT", - "authors": [ - { - "name": "Marcel Pociot", - "email": "marcel@beyondco.de", - "homepage": "https://beyondco.de", - "role": "Developer" - } - ], - "require": { - "php": "^7.1", - "illuminate/console": "5.6.*|5.7.*|5.8.*|^6.0", - "illuminate/http": "5.6.*|5.7.*|5.8.*|^6.0", - "illuminate/support": "5.6.*|5.7.*|5.8.*|^6.0", - "symfony/var-dumper": "^4.1.1" - }, - "require-dev": { - "larapack/dd": "^1.0", - "phpunit/phpunit": "^7.0" - }, - "autoload": { - "psr-4": { - "BeyondCode\\DumpServer\\": "src" - }, - "files": [ - "helpers.php" - ] - }, - "autoload-dev": { - "psr-4": { - "BeyondCode\\DumpServer\\Tests\\": "tests" - } - }, - "scripts": { - "test": "vendor/bin/phpunit", - "test-coverage": "vendor/bin/phpunit --coverage-html coverage" - }, - "config": { - "sort-packages": true - }, - "extra": { - "laravel": { - "providers": [ - "BeyondCode\\DumpServer\\DumpServerServiceProvider" - ] - } - } -} diff --git a/paragonik-backend/vendor/beyondcode/laravel-dump-server/config/config.php b/paragonik-backend/vendor/beyondcode/laravel-dump-server/config/config.php deleted file mode 100644 index f897262..0000000 --- a/paragonik-backend/vendor/beyondcode/laravel-dump-server/config/config.php +++ /dev/null @@ -1,8 +0,0 @@ - 'tcp://127.0.0.1:9912', -]; diff --git a/paragonik-backend/vendor/beyondcode/laravel-dump-server/helpers.php b/paragonik-backend/vendor/beyondcode/laravel-dump-server/helpers.php deleted file mode 100644 index 7a3ba52..0000000 --- a/paragonik-backend/vendor/beyondcode/laravel-dump-server/helpers.php +++ /dev/null @@ -1,16 +0,0 @@ -basePath('config').($path ? DIRECTORY_SEPARATOR.$path : $path); - } -} diff --git a/paragonik-backend/vendor/beyondcode/laravel-dump-server/src/DumpServerCommand.php b/paragonik-backend/vendor/beyondcode/laravel-dump-server/src/DumpServerCommand.php deleted file mode 100644 index e90116c..0000000 --- a/paragonik-backend/vendor/beyondcode/laravel-dump-server/src/DumpServerCommand.php +++ /dev/null @@ -1,84 +0,0 @@ -server = $server; - - parent::__construct(); - } - - /** - * Handle the command. - * - * @return void - */ - public function handle() - { - switch ($format = $this->option('format')) { - case 'cli': - $descriptor = new CliDescriptor(new CliDumper); - break; - case 'html': - $descriptor = new HtmlDescriptor(new HtmlDumper); - break; - default: - throw new InvalidArgumentException(sprintf('Unsupported format "%s".', $format)); - } - - $io = new SymfonyStyle($this->input, $this->output); - - $errorIo = $io->getErrorStyle(); - $errorIo->title('Laravel Var Dump Server'); - - $this->server->start(); - - $errorIo->success(sprintf('Server listening on %s', $this->server->getHost())); - $errorIo->comment('Quit the server with CONTROL-C.'); - - $this->server->listen(function (Data $data, array $context, int $clientId) use ($descriptor, $io) { - $descriptor->describe($io, $data, $context, $clientId); - }); - } -} diff --git a/paragonik-backend/vendor/beyondcode/laravel-dump-server/src/DumpServerServiceProvider.php b/paragonik-backend/vendor/beyondcode/laravel-dump-server/src/DumpServerServiceProvider.php deleted file mode 100644 index a4402da..0000000 --- a/paragonik-backend/vendor/beyondcode/laravel-dump-server/src/DumpServerServiceProvider.php +++ /dev/null @@ -1,56 +0,0 @@ -app->runningInConsole()) { - - $this->publishes([ - __DIR__.'/../config/config.php' => config_path('debug-server.php'), - ], 'config'); - } - } - - /** - * Register the application services. - * - * @return void - */ - public function register() - { - $this->mergeConfigFrom(__DIR__.'/../config/config.php', 'debug-server'); - - $this->app->bind('command.dumpserver', DumpServerCommand::class); - - $this->commands([ - 'command.dumpserver', - ]); - - $host = $this->app['config']->get('debug-server.host'); - - $this->app->when(DumpServer::class)->needs('$host')->give($host); - - $connection = new Connection($host, [ - 'request' => new RequestContextProvider($this->app['request']), - 'source' => new SourceContextProvider('utf-8', base_path()), - ]); - - VarDumper::setHandler(function ($var) use ($connection) { - (new Dumper($connection))->dump($var); - }); - } -} diff --git a/paragonik-backend/vendor/beyondcode/laravel-dump-server/src/Dumper.php b/paragonik-backend/vendor/beyondcode/laravel-dump-server/src/Dumper.php deleted file mode 100644 index 2f8b426..0000000 --- a/paragonik-backend/vendor/beyondcode/laravel-dump-server/src/Dumper.php +++ /dev/null @@ -1,49 +0,0 @@ -connection = $connection; - } - - /** - * Dump a value with elegance. - * - * @param mixed $value - * @return void - */ - public function dump($value) - { - if (class_exists(CliDumper::class)) { - $data = (new VarCloner)->cloneVar($value); - - if ($this->connection === null || $this->connection->write($data) === false) { - $dumper = in_array(PHP_SAPI, ['cli', 'phpdbg']) ? new CliDumper : new HtmlDumper; - $dumper->dump($data); - } - } else { - var_dump($value); - } - } -} diff --git a/paragonik-backend/vendor/beyondcode/laravel-dump-server/src/RequestContextProvider.php b/paragonik-backend/vendor/beyondcode/laravel-dump-server/src/RequestContextProvider.php deleted file mode 100644 index 115a72a..0000000 --- a/paragonik-backend/vendor/beyondcode/laravel-dump-server/src/RequestContextProvider.php +++ /dev/null @@ -1,66 +0,0 @@ -currentRequest = $currentRequest; - $this->cloner = new VarCloner; - $this->cloner->setMaxItems(0); - } - - /** - * Get the context. - * - * @return array|null - */ - public function getContext(): ?array - { - if ($this->currentRequest === null) { - return null; - } - - $controller = null; - - if ($route = $this->currentRequest->route()) { - $controller = $route->controller; - - if (! $controller && ! is_string($route->action['uses'])) { - $controller = $route->action['uses']; - } - } - - return [ - 'uri' => $this->currentRequest->getUri(), - 'method' => $this->currentRequest->getMethod(), - 'controller' => $controller ? $this->cloner->cloneVar(class_basename($controller)) : $this->cloner->cloneVar(null), - 'identifier' => spl_object_hash($this->currentRequest), - ]; - } -} diff --git a/paragonik-backend/vendor/bin/carbon b/paragonik-backend/vendor/bin/carbon deleted file mode 100644 index 83c8d4f..0000000 --- a/paragonik-backend/vendor/bin/carbon +++ /dev/null @@ -1,14 +0,0 @@ -#!/usr/bin/env sh - -dir=$(cd "${0%[/\\]*}" > /dev/null; cd "../nesbot/carbon/bin" && pwd) - -if [ -d /proc/cygdrive ]; then - case $(which php) in - $(readlink -n /proc/cygdrive)/*) - # We are in Cygwin using Windows php, so the path must be translated - dir=$(cygpath -m "$dir"); - ;; - esac -fi - -"${dir}/carbon" "$@" diff --git a/paragonik-backend/vendor/bin/carbon.bat b/paragonik-backend/vendor/bin/carbon.bat deleted file mode 100644 index 3cf1f28..0000000 --- a/paragonik-backend/vendor/bin/carbon.bat +++ /dev/null @@ -1,4 +0,0 @@ -@ECHO OFF -setlocal DISABLEDELAYEDEXPANSION -SET BIN_TARGET=%~dp0/../nesbot/carbon/bin/carbon -php "%BIN_TARGET%" %* diff --git a/paragonik-backend/vendor/bin/php-parse b/paragonik-backend/vendor/bin/php-parse deleted file mode 100644 index ab4f40c..0000000 --- a/paragonik-backend/vendor/bin/php-parse +++ /dev/null @@ -1,14 +0,0 @@ -#!/usr/bin/env sh - -dir=$(cd "${0%[/\\]*}" > /dev/null; cd "../nikic/php-parser/bin" && pwd) - -if [ -d /proc/cygdrive ]; then - case $(which php) in - $(readlink -n /proc/cygdrive)/*) - # We are in Cygwin using Windows php, so the path must be translated - dir=$(cygpath -m "$dir"); - ;; - esac -fi - -"${dir}/php-parse" "$@" diff --git a/paragonik-backend/vendor/bin/php-parse.bat b/paragonik-backend/vendor/bin/php-parse.bat deleted file mode 100644 index a5baa4e..0000000 --- a/paragonik-backend/vendor/bin/php-parse.bat +++ /dev/null @@ -1,4 +0,0 @@ -@ECHO OFF -setlocal DISABLEDELAYEDEXPANSION -SET BIN_TARGET=%~dp0/../nikic/php-parser/bin/php-parse -php "%BIN_TARGET%" %* diff --git a/paragonik-backend/vendor/bin/phpunit b/paragonik-backend/vendor/bin/phpunit deleted file mode 100644 index 990f194..0000000 --- a/paragonik-backend/vendor/bin/phpunit +++ /dev/null @@ -1,14 +0,0 @@ -#!/usr/bin/env sh - -dir=$(cd "${0%[/\\]*}" > /dev/null; cd "../phpunit/phpunit" && pwd) - -if [ -d /proc/cygdrive ]; then - case $(which php) in - $(readlink -n /proc/cygdrive)/*) - # We are in Cygwin using Windows php, so the path must be translated - dir=$(cygpath -m "$dir"); - ;; - esac -fi - -"${dir}/phpunit" "$@" diff --git a/paragonik-backend/vendor/bin/phpunit.bat b/paragonik-backend/vendor/bin/phpunit.bat deleted file mode 100644 index b177923..0000000 --- a/paragonik-backend/vendor/bin/phpunit.bat +++ /dev/null @@ -1,4 +0,0 @@ -@ECHO OFF -setlocal DISABLEDELAYEDEXPANSION -SET BIN_TARGET=%~dp0/../phpunit/phpunit/phpunit -php "%BIN_TARGET%" %* diff --git a/paragonik-backend/vendor/bin/psysh b/paragonik-backend/vendor/bin/psysh deleted file mode 100644 index 3331cd0..0000000 --- a/paragonik-backend/vendor/bin/psysh +++ /dev/null @@ -1,14 +0,0 @@ -#!/usr/bin/env sh - -dir=$(cd "${0%[/\\]*}" > /dev/null; cd "../psy/psysh/bin" && pwd) - -if [ -d /proc/cygdrive ]; then - case $(which php) in - $(readlink -n /proc/cygdrive)/*) - # We are in Cygwin using Windows php, so the path must be translated - dir=$(cygpath -m "$dir"); - ;; - esac -fi - -"${dir}/psysh" "$@" diff --git a/paragonik-backend/vendor/bin/psysh.bat b/paragonik-backend/vendor/bin/psysh.bat deleted file mode 100644 index b27592f..0000000 --- a/paragonik-backend/vendor/bin/psysh.bat +++ /dev/null @@ -1,4 +0,0 @@ -@ECHO OFF -setlocal DISABLEDELAYEDEXPANSION -SET BIN_TARGET=%~dp0/../psy/psysh/bin/psysh -php "%BIN_TARGET%" %* diff --git a/paragonik-backend/vendor/bin/var-dump-server b/paragonik-backend/vendor/bin/var-dump-server deleted file mode 100644 index 947161e..0000000 --- a/paragonik-backend/vendor/bin/var-dump-server +++ /dev/null @@ -1,14 +0,0 @@ -#!/usr/bin/env sh - -dir=$(cd "${0%[/\\]*}" > /dev/null; cd "../symfony/var-dumper/Resources/bin" && pwd) - -if [ -d /proc/cygdrive ]; then - case $(which php) in - $(readlink -n /proc/cygdrive)/*) - # We are in Cygwin using Windows php, so the path must be translated - dir=$(cygpath -m "$dir"); - ;; - esac -fi - -"${dir}/var-dump-server" "$@" diff --git a/paragonik-backend/vendor/bin/var-dump-server.bat b/paragonik-backend/vendor/bin/var-dump-server.bat deleted file mode 100644 index 46836b5..0000000 --- a/paragonik-backend/vendor/bin/var-dump-server.bat +++ /dev/null @@ -1,4 +0,0 @@ -@ECHO OFF -setlocal DISABLEDELAYEDEXPANSION -SET BIN_TARGET=%~dp0/../symfony/var-dumper/Resources/bin/var-dump-server -php "%BIN_TARGET%" %* diff --git a/paragonik-backend/vendor/composer/ClassLoader.php b/paragonik-backend/vendor/composer/ClassLoader.php deleted file mode 100644 index fce8549..0000000 --- a/paragonik-backend/vendor/composer/ClassLoader.php +++ /dev/null @@ -1,445 +0,0 @@ - - * Jordi Boggiano - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Composer\Autoload; - -/** - * ClassLoader implements a PSR-0, PSR-4 and classmap class loader. - * - * $loader = new \Composer\Autoload\ClassLoader(); - * - * // register classes with namespaces - * $loader->add('Symfony\Component', __DIR__.'/component'); - * $loader->add('Symfony', __DIR__.'/framework'); - * - * // activate the autoloader - * $loader->register(); - * - * // to enable searching the include path (eg. for PEAR packages) - * $loader->setUseIncludePath(true); - * - * In this example, if you try to use a class in the Symfony\Component - * namespace or one of its children (Symfony\Component\Console for instance), - * the autoloader will first look for the class under the component/ - * directory, and it will then fallback to the framework/ directory if not - * found before giving up. - * - * This class is loosely based on the Symfony UniversalClassLoader. - * - * @author Fabien Potencier - * @author Jordi Boggiano - * @see http://www.php-fig.org/psr/psr-0/ - * @see http://www.php-fig.org/psr/psr-4/ - */ -class ClassLoader -{ - // PSR-4 - private $prefixLengthsPsr4 = array(); - private $prefixDirsPsr4 = array(); - private $fallbackDirsPsr4 = array(); - - // PSR-0 - private $prefixesPsr0 = array(); - private $fallbackDirsPsr0 = array(); - - private $useIncludePath = false; - private $classMap = array(); - private $classMapAuthoritative = false; - private $missingClasses = array(); - private $apcuPrefix; - - public function getPrefixes() - { - if (!empty($this->prefixesPsr0)) { - return call_user_func_array('array_merge', $this->prefixesPsr0); - } - - return array(); - } - - public function getPrefixesPsr4() - { - return $this->prefixDirsPsr4; - } - - public function getFallbackDirs() - { - return $this->fallbackDirsPsr0; - } - - public function getFallbackDirsPsr4() - { - return $this->fallbackDirsPsr4; - } - - public function getClassMap() - { - return $this->classMap; - } - - /** - * @param array $classMap Class to filename map - */ - public function addClassMap(array $classMap) - { - if ($this->classMap) { - $this->classMap = array_merge($this->classMap, $classMap); - } else { - $this->classMap = $classMap; - } - } - - /** - * Registers a set of PSR-0 directories for a given prefix, either - * appending or prepending to the ones previously set for this prefix. - * - * @param string $prefix The prefix - * @param array|string $paths The PSR-0 root directories - * @param bool $prepend Whether to prepend the directories - */ - public function add($prefix, $paths, $prepend = false) - { - if (!$prefix) { - if ($prepend) { - $this->fallbackDirsPsr0 = array_merge( - (array) $paths, - $this->fallbackDirsPsr0 - ); - } else { - $this->fallbackDirsPsr0 = array_merge( - $this->fallbackDirsPsr0, - (array) $paths - ); - } - - return; - } - - $first = $prefix[0]; - if (!isset($this->prefixesPsr0[$first][$prefix])) { - $this->prefixesPsr0[$first][$prefix] = (array) $paths; - - return; - } - if ($prepend) { - $this->prefixesPsr0[$first][$prefix] = array_merge( - (array) $paths, - $this->prefixesPsr0[$first][$prefix] - ); - } else { - $this->prefixesPsr0[$first][$prefix] = array_merge( - $this->prefixesPsr0[$first][$prefix], - (array) $paths - ); - } - } - - /** - * Registers a set of PSR-4 directories for a given namespace, either - * appending or prepending to the ones previously set for this namespace. - * - * @param string $prefix The prefix/namespace, with trailing '\\' - * @param array|string $paths The PSR-4 base directories - * @param bool $prepend Whether to prepend the directories - * - * @throws \InvalidArgumentException - */ - public function addPsr4($prefix, $paths, $prepend = false) - { - if (!$prefix) { - // Register directories for the root namespace. - if ($prepend) { - $this->fallbackDirsPsr4 = array_merge( - (array) $paths, - $this->fallbackDirsPsr4 - ); - } else { - $this->fallbackDirsPsr4 = array_merge( - $this->fallbackDirsPsr4, - (array) $paths - ); - } - } elseif (!isset($this->prefixDirsPsr4[$prefix])) { - // Register directories for a new namespace. - $length = strlen($prefix); - if ('\\' !== $prefix[$length - 1]) { - throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator."); - } - $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length; - $this->prefixDirsPsr4[$prefix] = (array) $paths; - } elseif ($prepend) { - // Prepend directories for an already registered namespace. - $this->prefixDirsPsr4[$prefix] = array_merge( - (array) $paths, - $this->prefixDirsPsr4[$prefix] - ); - } else { - // Append directories for an already registered namespace. - $this->prefixDirsPsr4[$prefix] = array_merge( - $this->prefixDirsPsr4[$prefix], - (array) $paths - ); - } - } - - /** - * Registers a set of PSR-0 directories for a given prefix, - * replacing any others previously set for this prefix. - * - * @param string $prefix The prefix - * @param array|string $paths The PSR-0 base directories - */ - public function set($prefix, $paths) - { - if (!$prefix) { - $this->fallbackDirsPsr0 = (array) $paths; - } else { - $this->prefixesPsr0[$prefix[0]][$prefix] = (array) $paths; - } - } - - /** - * Registers a set of PSR-4 directories for a given namespace, - * replacing any others previously set for this namespace. - * - * @param string $prefix The prefix/namespace, with trailing '\\' - * @param array|string $paths The PSR-4 base directories - * - * @throws \InvalidArgumentException - */ - public function setPsr4($prefix, $paths) - { - if (!$prefix) { - $this->fallbackDirsPsr4 = (array) $paths; - } else { - $length = strlen($prefix); - if ('\\' !== $prefix[$length - 1]) { - throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator."); - } - $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length; - $this->prefixDirsPsr4[$prefix] = (array) $paths; - } - } - - /** - * Turns on searching the include path for class files. - * - * @param bool $useIncludePath - */ - public function setUseIncludePath($useIncludePath) - { - $this->useIncludePath = $useIncludePath; - } - - /** - * Can be used to check if the autoloader uses the include path to check - * for classes. - * - * @return bool - */ - public function getUseIncludePath() - { - return $this->useIncludePath; - } - - /** - * Turns off searching the prefix and fallback directories for classes - * that have not been registered with the class map. - * - * @param bool $classMapAuthoritative - */ - public function setClassMapAuthoritative($classMapAuthoritative) - { - $this->classMapAuthoritative = $classMapAuthoritative; - } - - /** - * Should class lookup fail if not found in the current class map? - * - * @return bool - */ - public function isClassMapAuthoritative() - { - return $this->classMapAuthoritative; - } - - /** - * APCu prefix to use to cache found/not-found classes, if the extension is enabled. - * - * @param string|null $apcuPrefix - */ - public function setApcuPrefix($apcuPrefix) - { - $this->apcuPrefix = function_exists('apcu_fetch') && filter_var(ini_get('apc.enabled'), FILTER_VALIDATE_BOOLEAN) ? $apcuPrefix : null; - } - - /** - * The APCu prefix in use, or null if APCu caching is not enabled. - * - * @return string|null - */ - public function getApcuPrefix() - { - return $this->apcuPrefix; - } - - /** - * Registers this instance as an autoloader. - * - * @param bool $prepend Whether to prepend the autoloader or not - */ - public function register($prepend = false) - { - spl_autoload_register(array($this, 'loadClass'), true, $prepend); - } - - /** - * Unregisters this instance as an autoloader. - */ - public function unregister() - { - spl_autoload_unregister(array($this, 'loadClass')); - } - - /** - * Loads the given class or interface. - * - * @param string $class The name of the class - * @return bool|null True if loaded, null otherwise - */ - public function loadClass($class) - { - if ($file = $this->findFile($class)) { - includeFile($file); - - return true; - } - } - - /** - * Finds the path to the file where the class is defined. - * - * @param string $class The name of the class - * - * @return string|false The path if found, false otherwise - */ - public function findFile($class) - { - // class map lookup - if (isset($this->classMap[$class])) { - return $this->classMap[$class]; - } - if ($this->classMapAuthoritative || isset($this->missingClasses[$class])) { - return false; - } - if (null !== $this->apcuPrefix) { - $file = apcu_fetch($this->apcuPrefix.$class, $hit); - if ($hit) { - return $file; - } - } - - $file = $this->findFileWithExtension($class, '.php'); - - // Search for Hack files if we are running on HHVM - if (false === $file && defined('HHVM_VERSION')) { - $file = $this->findFileWithExtension($class, '.hh'); - } - - if (null !== $this->apcuPrefix) { - apcu_add($this->apcuPrefix.$class, $file); - } - - if (false === $file) { - // Remember that this class does not exist. - $this->missingClasses[$class] = true; - } - - return $file; - } - - private function findFileWithExtension($class, $ext) - { - // PSR-4 lookup - $logicalPathPsr4 = strtr($class, '\\', DIRECTORY_SEPARATOR) . $ext; - - $first = $class[0]; - if (isset($this->prefixLengthsPsr4[$first])) { - $subPath = $class; - while (false !== $lastPos = strrpos($subPath, '\\')) { - $subPath = substr($subPath, 0, $lastPos); - $search = $subPath . '\\'; - if (isset($this->prefixDirsPsr4[$search])) { - $pathEnd = DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $lastPos + 1); - foreach ($this->prefixDirsPsr4[$search] as $dir) { - if (file_exists($file = $dir . $pathEnd)) { - return $file; - } - } - } - } - } - - // PSR-4 fallback dirs - foreach ($this->fallbackDirsPsr4 as $dir) { - if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr4)) { - return $file; - } - } - - // PSR-0 lookup - if (false !== $pos = strrpos($class, '\\')) { - // namespaced class name - $logicalPathPsr0 = substr($logicalPathPsr4, 0, $pos + 1) - . strtr(substr($logicalPathPsr4, $pos + 1), '_', DIRECTORY_SEPARATOR); - } else { - // PEAR-like class name - $logicalPathPsr0 = strtr($class, '_', DIRECTORY_SEPARATOR) . $ext; - } - - if (isset($this->prefixesPsr0[$first])) { - foreach ($this->prefixesPsr0[$first] as $prefix => $dirs) { - if (0 === strpos($class, $prefix)) { - foreach ($dirs as $dir) { - if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) { - return $file; - } - } - } - } - } - - // PSR-0 fallback dirs - foreach ($this->fallbackDirsPsr0 as $dir) { - if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) { - return $file; - } - } - - // PSR-0 include paths. - if ($this->useIncludePath && $file = stream_resolve_include_path($logicalPathPsr0)) { - return $file; - } - - return false; - } -} - -/** - * Scope isolated include. - * - * Prevents access to $this/self from included files. - */ -function includeFile($file) -{ - include $file; -} diff --git a/paragonik-backend/vendor/composer/LICENSE b/paragonik-backend/vendor/composer/LICENSE deleted file mode 100644 index f27399a..0000000 --- a/paragonik-backend/vendor/composer/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ - -Copyright (c) Nils Adermann, Jordi Boggiano - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is furnished -to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - diff --git a/paragonik-backend/vendor/composer/autoload_classmap.php b/paragonik-backend/vendor/composer/autoload_classmap.php deleted file mode 100644 index f833a7e..0000000 --- a/paragonik-backend/vendor/composer/autoload_classmap.php +++ /dev/null @@ -1,3702 +0,0 @@ - $baseDir . '/app/Console/Kernel.php', - 'App\\Exceptions\\Handler' => $baseDir . '/app/Exceptions/Handler.php', - 'App\\Http\\Controllers\\Auth\\ForgotPasswordController' => $baseDir . '/app/Http/Controllers/Auth/ForgotPasswordController.php', - 'App\\Http\\Controllers\\Auth\\LoginController' => $baseDir . '/app/Http/Controllers/Auth/LoginController.php', - 'App\\Http\\Controllers\\Auth\\RegisterController' => $baseDir . '/app/Http/Controllers/Auth/RegisterController.php', - 'App\\Http\\Controllers\\Auth\\ResetPasswordController' => $baseDir . '/app/Http/Controllers/Auth/ResetPasswordController.php', - 'App\\Http\\Controllers\\Auth\\VerificationController' => $baseDir . '/app/Http/Controllers/Auth/VerificationController.php', - 'App\\Http\\Controllers\\Controller' => $baseDir . '/app/Http/Controllers/Controller.php', - 'App\\Http\\Kernel' => $baseDir . '/app/Http/Kernel.php', - 'App\\Http\\Middleware\\Authenticate' => $baseDir . '/app/Http/Middleware/Authenticate.php', - 'App\\Http\\Middleware\\CheckForMaintenanceMode' => $baseDir . '/app/Http/Middleware/CheckForMaintenanceMode.php', - 'App\\Http\\Middleware\\EncryptCookies' => $baseDir . '/app/Http/Middleware/EncryptCookies.php', - 'App\\Http\\Middleware\\RedirectIfAuthenticated' => $baseDir . '/app/Http/Middleware/RedirectIfAuthenticated.php', - 'App\\Http\\Middleware\\TrimStrings' => $baseDir . '/app/Http/Middleware/TrimStrings.php', - 'App\\Http\\Middleware\\TrustProxies' => $baseDir . '/app/Http/Middleware/TrustProxies.php', - 'App\\Http\\Middleware\\VerifyCsrfToken' => $baseDir . '/app/Http/Middleware/VerifyCsrfToken.php', - 'App\\Providers\\AppServiceProvider' => $baseDir . '/app/Providers/AppServiceProvider.php', - 'App\\Providers\\AuthServiceProvider' => $baseDir . '/app/Providers/AuthServiceProvider.php', - 'App\\Providers\\BroadcastServiceProvider' => $baseDir . '/app/Providers/BroadcastServiceProvider.php', - 'App\\Providers\\EventServiceProvider' => $baseDir . '/app/Providers/EventServiceProvider.php', - 'App\\Providers\\RouteServiceProvider' => $baseDir . '/app/Providers/RouteServiceProvider.php', - 'App\\User' => $baseDir . '/app/User.php', - 'BeyondCode\\DumpServer\\DumpServerCommand' => $vendorDir . '/beyondcode/laravel-dump-server/src/DumpServerCommand.php', - 'BeyondCode\\DumpServer\\DumpServerServiceProvider' => $vendorDir . '/beyondcode/laravel-dump-server/src/DumpServerServiceProvider.php', - 'BeyondCode\\DumpServer\\Dumper' => $vendorDir . '/beyondcode/laravel-dump-server/src/Dumper.php', - 'BeyondCode\\DumpServer\\RequestContextProvider' => $vendorDir . '/beyondcode/laravel-dump-server/src/RequestContextProvider.php', - 'Carbon\\Carbon' => $vendorDir . '/nesbot/carbon/src/Carbon/Carbon.php', - 'Carbon\\CarbonImmutable' => $vendorDir . '/nesbot/carbon/src/Carbon/CarbonImmutable.php', - 'Carbon\\CarbonInterface' => $vendorDir . '/nesbot/carbon/src/Carbon/CarbonInterface.php', - 'Carbon\\CarbonInterval' => $vendorDir . '/nesbot/carbon/src/Carbon/CarbonInterval.php', - 'Carbon\\CarbonPeriod' => $vendorDir . '/nesbot/carbon/src/Carbon/CarbonPeriod.php', - 'Carbon\\CarbonTimeZone' => $vendorDir . '/nesbot/carbon/src/Carbon/CarbonTimeZone.php', - 'Carbon\\Cli\\Invoker' => $vendorDir . '/nesbot/carbon/src/Carbon/Cli/Invoker.php', - 'Carbon\\Exceptions\\BadUnitException' => $vendorDir . '/nesbot/carbon/src/Carbon/Exceptions/BadUnitException.php', - 'Carbon\\Exceptions\\InvalidDateException' => $vendorDir . '/nesbot/carbon/src/Carbon/Exceptions/InvalidDateException.php', - 'Carbon\\Exceptions\\NotAPeriodException' => $vendorDir . '/nesbot/carbon/src/Carbon/Exceptions/NotAPeriodException.php', - 'Carbon\\Exceptions\\ParseErrorException' => $vendorDir . '/nesbot/carbon/src/Carbon/Exceptions/ParseErrorException.php', - 'Carbon\\Factory' => $vendorDir . '/nesbot/carbon/src/Carbon/Factory.php', - 'Carbon\\FactoryImmutable' => $vendorDir . '/nesbot/carbon/src/Carbon/FactoryImmutable.php', - 'Carbon\\Language' => $vendorDir . '/nesbot/carbon/src/Carbon/Language.php', - 'Carbon\\Laravel\\ServiceProvider' => $vendorDir . '/nesbot/carbon/src/Carbon/Laravel/ServiceProvider.php', - 'Carbon\\Traits\\Boundaries' => $vendorDir . '/nesbot/carbon/src/Carbon/Traits/Boundaries.php', - 'Carbon\\Traits\\Cast' => $vendorDir . '/nesbot/carbon/src/Carbon/Traits/Cast.php', - 'Carbon\\Traits\\Comparison' => $vendorDir . '/nesbot/carbon/src/Carbon/Traits/Comparison.php', - 'Carbon\\Traits\\Converter' => $vendorDir . '/nesbot/carbon/src/Carbon/Traits/Converter.php', - 'Carbon\\Traits\\Creator' => $vendorDir . '/nesbot/carbon/src/Carbon/Traits/Creator.php', - 'Carbon\\Traits\\Date' => $vendorDir . '/nesbot/carbon/src/Carbon/Traits/Date.php', - 'Carbon\\Traits\\Difference' => $vendorDir . '/nesbot/carbon/src/Carbon/Traits/Difference.php', - 'Carbon\\Traits\\Localization' => $vendorDir . '/nesbot/carbon/src/Carbon/Traits/Localization.php', - 'Carbon\\Traits\\Macro' => $vendorDir . '/nesbot/carbon/src/Carbon/Traits/Macro.php', - 'Carbon\\Traits\\Mixin' => $vendorDir . '/nesbot/carbon/src/Carbon/Traits/Mixin.php', - 'Carbon\\Traits\\Modifiers' => $vendorDir . '/nesbot/carbon/src/Carbon/Traits/Modifiers.php', - 'Carbon\\Traits\\Mutability' => $vendorDir . '/nesbot/carbon/src/Carbon/Traits/Mutability.php', - 'Carbon\\Traits\\Options' => $vendorDir . '/nesbot/carbon/src/Carbon/Traits/Options.php', - 'Carbon\\Traits\\Rounding' => $vendorDir . '/nesbot/carbon/src/Carbon/Traits/Rounding.php', - 'Carbon\\Traits\\Serialization' => $vendorDir . '/nesbot/carbon/src/Carbon/Traits/Serialization.php', - 'Carbon\\Traits\\Test' => $vendorDir . '/nesbot/carbon/src/Carbon/Traits/Test.php', - 'Carbon\\Traits\\Timestamp' => $vendorDir . '/nesbot/carbon/src/Carbon/Traits/Timestamp.php', - 'Carbon\\Traits\\Units' => $vendorDir . '/nesbot/carbon/src/Carbon/Traits/Units.php', - 'Carbon\\Traits\\Week' => $vendorDir . '/nesbot/carbon/src/Carbon/Traits/Week.php', - 'Carbon\\Translator' => $vendorDir . '/nesbot/carbon/src/Carbon/Translator.php', - 'Cron\\AbstractField' => $vendorDir . '/dragonmantank/cron-expression/src/Cron/AbstractField.php', - 'Cron\\CronExpression' => $vendorDir . '/dragonmantank/cron-expression/src/Cron/CronExpression.php', - 'Cron\\DayOfMonthField' => $vendorDir . '/dragonmantank/cron-expression/src/Cron/DayOfMonthField.php', - 'Cron\\DayOfWeekField' => $vendorDir . '/dragonmantank/cron-expression/src/Cron/DayOfWeekField.php', - 'Cron\\FieldFactory' => $vendorDir . '/dragonmantank/cron-expression/src/Cron/FieldFactory.php', - 'Cron\\FieldInterface' => $vendorDir . '/dragonmantank/cron-expression/src/Cron/FieldInterface.php', - 'Cron\\HoursField' => $vendorDir . '/dragonmantank/cron-expression/src/Cron/HoursField.php', - 'Cron\\MinutesField' => $vendorDir . '/dragonmantank/cron-expression/src/Cron/MinutesField.php', - 'Cron\\MonthField' => $vendorDir . '/dragonmantank/cron-expression/src/Cron/MonthField.php', - 'DatabaseSeeder' => $baseDir . '/database/seeds/DatabaseSeeder.php', - 'DeepCopy\\DeepCopy' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/DeepCopy.php', - 'DeepCopy\\Exception\\CloneException' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/Exception/CloneException.php', - 'DeepCopy\\Exception\\PropertyException' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/Exception/PropertyException.php', - 'DeepCopy\\Filter\\Doctrine\\DoctrineCollectionFilter' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/Filter/Doctrine/DoctrineCollectionFilter.php', - 'DeepCopy\\Filter\\Doctrine\\DoctrineEmptyCollectionFilter' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/Filter/Doctrine/DoctrineEmptyCollectionFilter.php', - 'DeepCopy\\Filter\\Doctrine\\DoctrineProxyFilter' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/Filter/Doctrine/DoctrineProxyFilter.php', - 'DeepCopy\\Filter\\Filter' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/Filter/Filter.php', - 'DeepCopy\\Filter\\KeepFilter' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/Filter/KeepFilter.php', - 'DeepCopy\\Filter\\ReplaceFilter' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/Filter/ReplaceFilter.php', - 'DeepCopy\\Filter\\SetNullFilter' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/Filter/SetNullFilter.php', - 'DeepCopy\\Matcher\\Doctrine\\DoctrineProxyMatcher' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/Matcher/Doctrine/DoctrineProxyMatcher.php', - 'DeepCopy\\Matcher\\Matcher' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/Matcher/Matcher.php', - 'DeepCopy\\Matcher\\PropertyMatcher' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/Matcher/PropertyMatcher.php', - 'DeepCopy\\Matcher\\PropertyNameMatcher' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/Matcher/PropertyNameMatcher.php', - 'DeepCopy\\Matcher\\PropertyTypeMatcher' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/Matcher/PropertyTypeMatcher.php', - 'DeepCopy\\Reflection\\ReflectionHelper' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/Reflection/ReflectionHelper.php', - 'DeepCopy\\TypeFilter\\Date\\DateIntervalFilter' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/TypeFilter/Date/DateIntervalFilter.php', - 'DeepCopy\\TypeFilter\\ReplaceFilter' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/TypeFilter/ReplaceFilter.php', - 'DeepCopy\\TypeFilter\\ShallowCopyFilter' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/TypeFilter/ShallowCopyFilter.php', - 'DeepCopy\\TypeFilter\\Spl\\SplDoublyLinkedList' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/TypeFilter/Spl/SplDoublyLinkedList.php', - 'DeepCopy\\TypeFilter\\Spl\\SplDoublyLinkedListFilter' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/TypeFilter/Spl/SplDoublyLinkedListFilter.php', - 'DeepCopy\\TypeFilter\\TypeFilter' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/TypeFilter/TypeFilter.php', - 'DeepCopy\\TypeMatcher\\TypeMatcher' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/TypeMatcher/TypeMatcher.php', - 'Doctrine\\Common\\Inflector\\Inflector' => $vendorDir . '/doctrine/inflector/lib/Doctrine/Common/Inflector/Inflector.php', - 'Doctrine\\Common\\Lexer\\AbstractLexer' => $vendorDir . '/doctrine/lexer/lib/Doctrine/Common/Lexer/AbstractLexer.php', - 'Doctrine\\Instantiator\\Exception\\ExceptionInterface' => $vendorDir . '/doctrine/instantiator/src/Doctrine/Instantiator/Exception/ExceptionInterface.php', - 'Doctrine\\Instantiator\\Exception\\InvalidArgumentException' => $vendorDir . '/doctrine/instantiator/src/Doctrine/Instantiator/Exception/InvalidArgumentException.php', - 'Doctrine\\Instantiator\\Exception\\UnexpectedValueException' => $vendorDir . '/doctrine/instantiator/src/Doctrine/Instantiator/Exception/UnexpectedValueException.php', - 'Doctrine\\Instantiator\\Instantiator' => $vendorDir . '/doctrine/instantiator/src/Doctrine/Instantiator/Instantiator.php', - 'Doctrine\\Instantiator\\InstantiatorInterface' => $vendorDir . '/doctrine/instantiator/src/Doctrine/Instantiator/InstantiatorInterface.php', - 'Dotenv\\Dotenv' => $vendorDir . '/vlucas/phpdotenv/src/Dotenv.php', - 'Dotenv\\Environment\\AbstractVariables' => $vendorDir . '/vlucas/phpdotenv/src/Environment/AbstractVariables.php', - 'Dotenv\\Environment\\Adapter\\AdapterInterface' => $vendorDir . '/vlucas/phpdotenv/src/Environment/Adapter/AdapterInterface.php', - 'Dotenv\\Environment\\Adapter\\ApacheAdapter' => $vendorDir . '/vlucas/phpdotenv/src/Environment/Adapter/ApacheAdapter.php', - 'Dotenv\\Environment\\Adapter\\ArrayAdapter' => $vendorDir . '/vlucas/phpdotenv/src/Environment/Adapter/ArrayAdapter.php', - 'Dotenv\\Environment\\Adapter\\EnvConstAdapter' => $vendorDir . '/vlucas/phpdotenv/src/Environment/Adapter/EnvConstAdapter.php', - 'Dotenv\\Environment\\Adapter\\PutenvAdapter' => $vendorDir . '/vlucas/phpdotenv/src/Environment/Adapter/PutenvAdapter.php', - 'Dotenv\\Environment\\Adapter\\ServerConstAdapter' => $vendorDir . '/vlucas/phpdotenv/src/Environment/Adapter/ServerConstAdapter.php', - 'Dotenv\\Environment\\DotenvFactory' => $vendorDir . '/vlucas/phpdotenv/src/Environment/DotenvFactory.php', - 'Dotenv\\Environment\\DotenvVariables' => $vendorDir . '/vlucas/phpdotenv/src/Environment/DotenvVariables.php', - 'Dotenv\\Environment\\FactoryInterface' => $vendorDir . '/vlucas/phpdotenv/src/Environment/FactoryInterface.php', - 'Dotenv\\Environment\\VariablesInterface' => $vendorDir . '/vlucas/phpdotenv/src/Environment/VariablesInterface.php', - 'Dotenv\\Exception\\ExceptionInterface' => $vendorDir . '/vlucas/phpdotenv/src/Exception/ExceptionInterface.php', - 'Dotenv\\Exception\\InvalidFileException' => $vendorDir . '/vlucas/phpdotenv/src/Exception/InvalidFileException.php', - 'Dotenv\\Exception\\InvalidPathException' => $vendorDir . '/vlucas/phpdotenv/src/Exception/InvalidPathException.php', - 'Dotenv\\Exception\\ValidationException' => $vendorDir . '/vlucas/phpdotenv/src/Exception/ValidationException.php', - 'Dotenv\\Lines' => $vendorDir . '/vlucas/phpdotenv/src/Lines.php', - 'Dotenv\\Loader' => $vendorDir . '/vlucas/phpdotenv/src/Loader.php', - 'Dotenv\\Parser' => $vendorDir . '/vlucas/phpdotenv/src/Parser.php', - 'Dotenv\\Regex\\Error' => $vendorDir . '/vlucas/phpdotenv/src/Regex/Error.php', - 'Dotenv\\Regex\\Regex' => $vendorDir . '/vlucas/phpdotenv/src/Regex/Regex.php', - 'Dotenv\\Regex\\Result' => $vendorDir . '/vlucas/phpdotenv/src/Regex/Result.php', - 'Dotenv\\Regex\\Success' => $vendorDir . '/vlucas/phpdotenv/src/Regex/Success.php', - 'Dotenv\\Validator' => $vendorDir . '/vlucas/phpdotenv/src/Validator.php', - 'Egulias\\EmailValidator\\EmailLexer' => $vendorDir . '/egulias/email-validator/EmailValidator/EmailLexer.php', - 'Egulias\\EmailValidator\\EmailParser' => $vendorDir . '/egulias/email-validator/EmailValidator/EmailParser.php', - 'Egulias\\EmailValidator\\EmailValidator' => $vendorDir . '/egulias/email-validator/EmailValidator/EmailValidator.php', - 'Egulias\\EmailValidator\\Exception\\AtextAfterCFWS' => $vendorDir . '/egulias/email-validator/EmailValidator/Exception/AtextAfterCFWS.php', - 'Egulias\\EmailValidator\\Exception\\CRLFAtTheEnd' => $vendorDir . '/egulias/email-validator/EmailValidator/Exception/CRLFAtTheEnd.php', - 'Egulias\\EmailValidator\\Exception\\CRLFX2' => $vendorDir . '/egulias/email-validator/EmailValidator/Exception/CRLFX2.php', - 'Egulias\\EmailValidator\\Exception\\CRNoLF' => $vendorDir . '/egulias/email-validator/EmailValidator/Exception/CRNoLF.php', - 'Egulias\\EmailValidator\\Exception\\CharNotAllowed' => $vendorDir . '/egulias/email-validator/EmailValidator/Exception/CharNotAllowed.php', - 'Egulias\\EmailValidator\\Exception\\CommaInDomain' => $vendorDir . '/egulias/email-validator/EmailValidator/Exception/CommaInDomain.php', - 'Egulias\\EmailValidator\\Exception\\ConsecutiveAt' => $vendorDir . '/egulias/email-validator/EmailValidator/Exception/ConsecutiveAt.php', - 'Egulias\\EmailValidator\\Exception\\ConsecutiveDot' => $vendorDir . '/egulias/email-validator/EmailValidator/Exception/ConsecutiveDot.php', - 'Egulias\\EmailValidator\\Exception\\DomainHyphened' => $vendorDir . '/egulias/email-validator/EmailValidator/Exception/DomainHyphened.php', - 'Egulias\\EmailValidator\\Exception\\DotAtEnd' => $vendorDir . '/egulias/email-validator/EmailValidator/Exception/DotAtEnd.php', - 'Egulias\\EmailValidator\\Exception\\DotAtStart' => $vendorDir . '/egulias/email-validator/EmailValidator/Exception/DotAtStart.php', - 'Egulias\\EmailValidator\\Exception\\ExpectingAT' => $vendorDir . '/egulias/email-validator/EmailValidator/Exception/ExpectingAT.php', - 'Egulias\\EmailValidator\\Exception\\ExpectingATEXT' => $vendorDir . '/egulias/email-validator/EmailValidator/Exception/ExpectingATEXT.php', - 'Egulias\\EmailValidator\\Exception\\ExpectingCTEXT' => $vendorDir . '/egulias/email-validator/EmailValidator/Exception/ExpectingCTEXT.php', - 'Egulias\\EmailValidator\\Exception\\ExpectingDTEXT' => $vendorDir . '/egulias/email-validator/EmailValidator/Exception/ExpectingDTEXT.php', - 'Egulias\\EmailValidator\\Exception\\ExpectingDomainLiteralClose' => $vendorDir . '/egulias/email-validator/EmailValidator/Exception/ExpectingDomainLiteralClose.php', - 'Egulias\\EmailValidator\\Exception\\ExpectingQPair' => $vendorDir . '/egulias/email-validator/EmailValidator/Exception/ExpectingQPair.php', - 'Egulias\\EmailValidator\\Exception\\InvalidEmail' => $vendorDir . '/egulias/email-validator/EmailValidator/Exception/InvalidEmail.php', - 'Egulias\\EmailValidator\\Exception\\NoDNSRecord' => $vendorDir . '/egulias/email-validator/EmailValidator/Exception/NoDNSRecord.php', - 'Egulias\\EmailValidator\\Exception\\NoDomainPart' => $vendorDir . '/egulias/email-validator/EmailValidator/Exception/NoDomainPart.php', - 'Egulias\\EmailValidator\\Exception\\NoLocalPart' => $vendorDir . '/egulias/email-validator/EmailValidator/Exception/NoLocalPart.php', - 'Egulias\\EmailValidator\\Exception\\UnclosedComment' => $vendorDir . '/egulias/email-validator/EmailValidator/Exception/UnclosedComment.php', - 'Egulias\\EmailValidator\\Exception\\UnclosedQuotedString' => $vendorDir . '/egulias/email-validator/EmailValidator/Exception/UnclosedQuotedString.php', - 'Egulias\\EmailValidator\\Exception\\UnopenedComment' => $vendorDir . '/egulias/email-validator/EmailValidator/Exception/UnopenedComment.php', - 'Egulias\\EmailValidator\\Parser\\DomainPart' => $vendorDir . '/egulias/email-validator/EmailValidator/Parser/DomainPart.php', - 'Egulias\\EmailValidator\\Parser\\LocalPart' => $vendorDir . '/egulias/email-validator/EmailValidator/Parser/LocalPart.php', - 'Egulias\\EmailValidator\\Parser\\Parser' => $vendorDir . '/egulias/email-validator/EmailValidator/Parser/Parser.php', - 'Egulias\\EmailValidator\\Validation\\DNSCheckValidation' => $vendorDir . '/egulias/email-validator/EmailValidator/Validation/DNSCheckValidation.php', - 'Egulias\\EmailValidator\\Validation\\EmailValidation' => $vendorDir . '/egulias/email-validator/EmailValidator/Validation/EmailValidation.php', - 'Egulias\\EmailValidator\\Validation\\Error\\RFCWarnings' => $vendorDir . '/egulias/email-validator/EmailValidator/Validation/Error/RFCWarnings.php', - 'Egulias\\EmailValidator\\Validation\\Error\\SpoofEmail' => $vendorDir . '/egulias/email-validator/EmailValidator/Validation/Error/SpoofEmail.php', - 'Egulias\\EmailValidator\\Validation\\Exception\\EmptyValidationList' => $vendorDir . '/egulias/email-validator/EmailValidator/Validation/Exception/EmptyValidationList.php', - 'Egulias\\EmailValidator\\Validation\\MultipleErrors' => $vendorDir . '/egulias/email-validator/EmailValidator/Validation/MultipleErrors.php', - 'Egulias\\EmailValidator\\Validation\\MultipleValidationWithAnd' => $vendorDir . '/egulias/email-validator/EmailValidator/Validation/MultipleValidationWithAnd.php', - 'Egulias\\EmailValidator\\Validation\\NoRFCWarningsValidation' => $vendorDir . '/egulias/email-validator/EmailValidator/Validation/NoRFCWarningsValidation.php', - 'Egulias\\EmailValidator\\Validation\\RFCValidation' => $vendorDir . '/egulias/email-validator/EmailValidator/Validation/RFCValidation.php', - 'Egulias\\EmailValidator\\Validation\\SpoofCheckValidation' => $vendorDir . '/egulias/email-validator/EmailValidator/Validation/SpoofCheckValidation.php', - 'Egulias\\EmailValidator\\Warning\\AddressLiteral' => $vendorDir . '/egulias/email-validator/EmailValidator/Warning/AddressLiteral.php', - 'Egulias\\EmailValidator\\Warning\\CFWSNearAt' => $vendorDir . '/egulias/email-validator/EmailValidator/Warning/CFWSNearAt.php', - 'Egulias\\EmailValidator\\Warning\\CFWSWithFWS' => $vendorDir . '/egulias/email-validator/EmailValidator/Warning/CFWSWithFWS.php', - 'Egulias\\EmailValidator\\Warning\\Comment' => $vendorDir . '/egulias/email-validator/EmailValidator/Warning/Comment.php', - 'Egulias\\EmailValidator\\Warning\\DeprecatedComment' => $vendorDir . '/egulias/email-validator/EmailValidator/Warning/DeprecatedComment.php', - 'Egulias\\EmailValidator\\Warning\\DomainLiteral' => $vendorDir . '/egulias/email-validator/EmailValidator/Warning/DomainLiteral.php', - 'Egulias\\EmailValidator\\Warning\\DomainTooLong' => $vendorDir . '/egulias/email-validator/EmailValidator/Warning/DomainTooLong.php', - 'Egulias\\EmailValidator\\Warning\\EmailTooLong' => $vendorDir . '/egulias/email-validator/EmailValidator/Warning/EmailTooLong.php', - 'Egulias\\EmailValidator\\Warning\\IPV6BadChar' => $vendorDir . '/egulias/email-validator/EmailValidator/Warning/IPV6BadChar.php', - 'Egulias\\EmailValidator\\Warning\\IPV6ColonEnd' => $vendorDir . '/egulias/email-validator/EmailValidator/Warning/IPV6ColonEnd.php', - 'Egulias\\EmailValidator\\Warning\\IPV6ColonStart' => $vendorDir . '/egulias/email-validator/EmailValidator/Warning/IPV6ColonStart.php', - 'Egulias\\EmailValidator\\Warning\\IPV6Deprecated' => $vendorDir . '/egulias/email-validator/EmailValidator/Warning/IPV6Deprecated.php', - 'Egulias\\EmailValidator\\Warning\\IPV6DoubleColon' => $vendorDir . '/egulias/email-validator/EmailValidator/Warning/IPV6DoubleColon.php', - 'Egulias\\EmailValidator\\Warning\\IPV6GroupCount' => $vendorDir . '/egulias/email-validator/EmailValidator/Warning/IPV6GroupCount.php', - 'Egulias\\EmailValidator\\Warning\\IPV6MaxGroups' => $vendorDir . '/egulias/email-validator/EmailValidator/Warning/IPV6MaxGroups.php', - 'Egulias\\EmailValidator\\Warning\\LabelTooLong' => $vendorDir . '/egulias/email-validator/EmailValidator/Warning/LabelTooLong.php', - 'Egulias\\EmailValidator\\Warning\\LocalTooLong' => $vendorDir . '/egulias/email-validator/EmailValidator/Warning/LocalTooLong.php', - 'Egulias\\EmailValidator\\Warning\\NoDNSMXRecord' => $vendorDir . '/egulias/email-validator/EmailValidator/Warning/NoDNSMXRecord.php', - 'Egulias\\EmailValidator\\Warning\\ObsoleteDTEXT' => $vendorDir . '/egulias/email-validator/EmailValidator/Warning/ObsoleteDTEXT.php', - 'Egulias\\EmailValidator\\Warning\\QuotedPart' => $vendorDir . '/egulias/email-validator/EmailValidator/Warning/QuotedPart.php', - 'Egulias\\EmailValidator\\Warning\\QuotedString' => $vendorDir . '/egulias/email-validator/EmailValidator/Warning/QuotedString.php', - 'Egulias\\EmailValidator\\Warning\\TLD' => $vendorDir . '/egulias/email-validator/EmailValidator/Warning/TLD.php', - 'Egulias\\EmailValidator\\Warning\\Warning' => $vendorDir . '/egulias/email-validator/EmailValidator/Warning/Warning.php', - 'Faker\\Calculator\\Ean' => $vendorDir . '/fzaninotto/faker/src/Faker/Calculator/Ean.php', - 'Faker\\Calculator\\Iban' => $vendorDir . '/fzaninotto/faker/src/Faker/Calculator/Iban.php', - 'Faker\\Calculator\\Inn' => $vendorDir . '/fzaninotto/faker/src/Faker/Calculator/Inn.php', - 'Faker\\Calculator\\Luhn' => $vendorDir . '/fzaninotto/faker/src/Faker/Calculator/Luhn.php', - 'Faker\\Calculator\\TCNo' => $vendorDir . '/fzaninotto/faker/src/Faker/Calculator/TCNo.php', - 'Faker\\DefaultGenerator' => $vendorDir . '/fzaninotto/faker/src/Faker/DefaultGenerator.php', - 'Faker\\Documentor' => $vendorDir . '/fzaninotto/faker/src/Faker/Documentor.php', - 'Faker\\Factory' => $vendorDir . '/fzaninotto/faker/src/Faker/Factory.php', - 'Faker\\Generator' => $vendorDir . '/fzaninotto/faker/src/Faker/Generator.php', - 'Faker\\Guesser\\Name' => $vendorDir . '/fzaninotto/faker/src/Faker/Guesser/Name.php', - 'Faker\\ORM\\CakePHP\\ColumnTypeGuesser' => $vendorDir . '/fzaninotto/faker/src/Faker/ORM/CakePHP/ColumnTypeGuesser.php', - 'Faker\\ORM\\CakePHP\\EntityPopulator' => $vendorDir . '/fzaninotto/faker/src/Faker/ORM/CakePHP/EntityPopulator.php', - 'Faker\\ORM\\CakePHP\\Populator' => $vendorDir . '/fzaninotto/faker/src/Faker/ORM/CakePHP/Populator.php', - 'Faker\\ORM\\Doctrine\\ColumnTypeGuesser' => $vendorDir . '/fzaninotto/faker/src/Faker/ORM/Doctrine/ColumnTypeGuesser.php', - 'Faker\\ORM\\Doctrine\\EntityPopulator' => $vendorDir . '/fzaninotto/faker/src/Faker/ORM/Doctrine/EntityPopulator.php', - 'Faker\\ORM\\Doctrine\\Populator' => $vendorDir . '/fzaninotto/faker/src/Faker/ORM/Doctrine/Populator.php', - 'Faker\\ORM\\Mandango\\ColumnTypeGuesser' => $vendorDir . '/fzaninotto/faker/src/Faker/ORM/Mandango/ColumnTypeGuesser.php', - 'Faker\\ORM\\Mandango\\EntityPopulator' => $vendorDir . '/fzaninotto/faker/src/Faker/ORM/Mandango/EntityPopulator.php', - 'Faker\\ORM\\Mandango\\Populator' => $vendorDir . '/fzaninotto/faker/src/Faker/ORM/Mandango/Populator.php', - 'Faker\\ORM\\Propel2\\ColumnTypeGuesser' => $vendorDir . '/fzaninotto/faker/src/Faker/ORM/Propel2/ColumnTypeGuesser.php', - 'Faker\\ORM\\Propel2\\EntityPopulator' => $vendorDir . '/fzaninotto/faker/src/Faker/ORM/Propel2/EntityPopulator.php', - 'Faker\\ORM\\Propel2\\Populator' => $vendorDir . '/fzaninotto/faker/src/Faker/ORM/Propel2/Populator.php', - 'Faker\\ORM\\Propel\\ColumnTypeGuesser' => $vendorDir . '/fzaninotto/faker/src/Faker/ORM/Propel/ColumnTypeGuesser.php', - 'Faker\\ORM\\Propel\\EntityPopulator' => $vendorDir . '/fzaninotto/faker/src/Faker/ORM/Propel/EntityPopulator.php', - 'Faker\\ORM\\Propel\\Populator' => $vendorDir . '/fzaninotto/faker/src/Faker/ORM/Propel/Populator.php', - 'Faker\\ORM\\Spot\\ColumnTypeGuesser' => $vendorDir . '/fzaninotto/faker/src/Faker/ORM/Spot/ColumnTypeGuesser.php', - 'Faker\\ORM\\Spot\\EntityPopulator' => $vendorDir . '/fzaninotto/faker/src/Faker/ORM/Spot/EntityPopulator.php', - 'Faker\\ORM\\Spot\\Populator' => $vendorDir . '/fzaninotto/faker/src/Faker/ORM/Spot/Populator.php', - 'Faker\\Provider\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/Address.php', - 'Faker\\Provider\\Barcode' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/Barcode.php', - 'Faker\\Provider\\Base' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/Base.php', - 'Faker\\Provider\\Biased' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/Biased.php', - 'Faker\\Provider\\Color' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/Color.php', - 'Faker\\Provider\\Company' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/Company.php', - 'Faker\\Provider\\DateTime' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/DateTime.php', - 'Faker\\Provider\\File' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/File.php', - 'Faker\\Provider\\HtmlLorem' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/HtmlLorem.php', - 'Faker\\Provider\\Image' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/Image.php', - 'Faker\\Provider\\Internet' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/Internet.php', - 'Faker\\Provider\\Lorem' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/Lorem.php', - 'Faker\\Provider\\Miscellaneous' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/Miscellaneous.php', - 'Faker\\Provider\\Payment' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/Payment.php', - 'Faker\\Provider\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/Person.php', - 'Faker\\Provider\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/PhoneNumber.php', - 'Faker\\Provider\\Text' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/Text.php', - 'Faker\\Provider\\UserAgent' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/UserAgent.php', - 'Faker\\Provider\\Uuid' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/Uuid.php', - 'Faker\\Provider\\ar_JO\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/ar_JO/Address.php', - 'Faker\\Provider\\ar_JO\\Company' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/ar_JO/Company.php', - 'Faker\\Provider\\ar_JO\\Internet' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/ar_JO/Internet.php', - 'Faker\\Provider\\ar_JO\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/ar_JO/Person.php', - 'Faker\\Provider\\ar_JO\\Text' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/ar_JO/Text.php', - 'Faker\\Provider\\ar_SA\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/ar_SA/Address.php', - 'Faker\\Provider\\ar_SA\\Color' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/ar_SA/Color.php', - 'Faker\\Provider\\ar_SA\\Company' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/ar_SA/Company.php', - 'Faker\\Provider\\ar_SA\\Internet' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/ar_SA/Internet.php', - 'Faker\\Provider\\ar_SA\\Payment' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/ar_SA/Payment.php', - 'Faker\\Provider\\ar_SA\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/ar_SA/Person.php', - 'Faker\\Provider\\ar_SA\\Text' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/ar_SA/Text.php', - 'Faker\\Provider\\at_AT\\Payment' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/at_AT/Payment.php', - 'Faker\\Provider\\bg_BG\\Internet' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/bg_BG/Internet.php', - 'Faker\\Provider\\bg_BG\\Payment' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/bg_BG/Payment.php', - 'Faker\\Provider\\bg_BG\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/bg_BG/Person.php', - 'Faker\\Provider\\bg_BG\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/bg_BG/PhoneNumber.php', - 'Faker\\Provider\\bn_BD\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/bn_BD/Address.php', - 'Faker\\Provider\\bn_BD\\Company' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/bn_BD/Company.php', - 'Faker\\Provider\\bn_BD\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/bn_BD/Person.php', - 'Faker\\Provider\\bn_BD\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/bn_BD/PhoneNumber.php', - 'Faker\\Provider\\bn_BD\\Utils' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/bn_BD/Utils.php', - 'Faker\\Provider\\cs_CZ\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/cs_CZ/Address.php', - 'Faker\\Provider\\cs_CZ\\Company' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/cs_CZ/Company.php', - 'Faker\\Provider\\cs_CZ\\DateTime' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/cs_CZ/DateTime.php', - 'Faker\\Provider\\cs_CZ\\Internet' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/cs_CZ/Internet.php', - 'Faker\\Provider\\cs_CZ\\Payment' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/cs_CZ/Payment.php', - 'Faker\\Provider\\cs_CZ\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/cs_CZ/Person.php', - 'Faker\\Provider\\cs_CZ\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/cs_CZ/PhoneNumber.php', - 'Faker\\Provider\\cs_CZ\\Text' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/cs_CZ/Text.php', - 'Faker\\Provider\\da_DK\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/da_DK/Address.php', - 'Faker\\Provider\\da_DK\\Company' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/da_DK/Company.php', - 'Faker\\Provider\\da_DK\\Internet' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/da_DK/Internet.php', - 'Faker\\Provider\\da_DK\\Payment' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/da_DK/Payment.php', - 'Faker\\Provider\\da_DK\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/da_DK/Person.php', - 'Faker\\Provider\\da_DK\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/da_DK/PhoneNumber.php', - 'Faker\\Provider\\de_AT\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/de_AT/Address.php', - 'Faker\\Provider\\de_AT\\Company' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/de_AT/Company.php', - 'Faker\\Provider\\de_AT\\Internet' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/de_AT/Internet.php', - 'Faker\\Provider\\de_AT\\Payment' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/de_AT/Payment.php', - 'Faker\\Provider\\de_AT\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/de_AT/Person.php', - 'Faker\\Provider\\de_AT\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/de_AT/PhoneNumber.php', - 'Faker\\Provider\\de_AT\\Text' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/de_AT/Text.php', - 'Faker\\Provider\\de_CH\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/de_CH/Address.php', - 'Faker\\Provider\\de_CH\\Company' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/de_CH/Company.php', - 'Faker\\Provider\\de_CH\\Internet' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/de_CH/Internet.php', - 'Faker\\Provider\\de_CH\\Payment' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/de_CH/Payment.php', - 'Faker\\Provider\\de_CH\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/de_CH/Person.php', - 'Faker\\Provider\\de_CH\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/de_CH/PhoneNumber.php', - 'Faker\\Provider\\de_CH\\Text' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/de_CH/Text.php', - 'Faker\\Provider\\de_DE\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/de_DE/Address.php', - 'Faker\\Provider\\de_DE\\Company' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/de_DE/Company.php', - 'Faker\\Provider\\de_DE\\Internet' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/de_DE/Internet.php', - 'Faker\\Provider\\de_DE\\Payment' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/de_DE/Payment.php', - 'Faker\\Provider\\de_DE\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/de_DE/Person.php', - 'Faker\\Provider\\de_DE\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/de_DE/PhoneNumber.php', - 'Faker\\Provider\\de_DE\\Text' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/de_DE/Text.php', - 'Faker\\Provider\\el_CY\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/el_CY/Address.php', - 'Faker\\Provider\\el_CY\\Company' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/el_CY/Company.php', - 'Faker\\Provider\\el_CY\\Internet' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/el_CY/Internet.php', - 'Faker\\Provider\\el_CY\\Payment' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/el_CY/Payment.php', - 'Faker\\Provider\\el_CY\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/el_CY/Person.php', - 'Faker\\Provider\\el_CY\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/el_CY/PhoneNumber.php', - 'Faker\\Provider\\el_GR\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/el_GR/Address.php', - 'Faker\\Provider\\el_GR\\Company' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/el_GR/Company.php', - 'Faker\\Provider\\el_GR\\Payment' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/el_GR/Payment.php', - 'Faker\\Provider\\el_GR\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/el_GR/Person.php', - 'Faker\\Provider\\el_GR\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/el_GR/PhoneNumber.php', - 'Faker\\Provider\\el_GR\\Text' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/el_GR/Text.php', - 'Faker\\Provider\\en_AU\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/en_AU/Address.php', - 'Faker\\Provider\\en_AU\\Internet' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/en_AU/Internet.php', - 'Faker\\Provider\\en_AU\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/en_AU/PhoneNumber.php', - 'Faker\\Provider\\en_CA\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/en_CA/Address.php', - 'Faker\\Provider\\en_CA\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/en_CA/PhoneNumber.php', - 'Faker\\Provider\\en_GB\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/en_GB/Address.php', - 'Faker\\Provider\\en_GB\\Internet' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/en_GB/Internet.php', - 'Faker\\Provider\\en_GB\\Payment' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/en_GB/Payment.php', - 'Faker\\Provider\\en_GB\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/en_GB/Person.php', - 'Faker\\Provider\\en_GB\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/en_GB/PhoneNumber.php', - 'Faker\\Provider\\en_HK\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/en_HK/Address.php', - 'Faker\\Provider\\en_HK\\Internet' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/en_HK/Internet.php', - 'Faker\\Provider\\en_HK\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/en_HK/PhoneNumber.php', - 'Faker\\Provider\\en_IN\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/en_IN/Address.php', - 'Faker\\Provider\\en_IN\\Internet' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/en_IN/Internet.php', - 'Faker\\Provider\\en_IN\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/en_IN/Person.php', - 'Faker\\Provider\\en_IN\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/en_IN/PhoneNumber.php', - 'Faker\\Provider\\en_NG\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/en_NG/Address.php', - 'Faker\\Provider\\en_NG\\Internet' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/en_NG/Internet.php', - 'Faker\\Provider\\en_NG\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/en_NG/Person.php', - 'Faker\\Provider\\en_NG\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/en_NG/PhoneNumber.php', - 'Faker\\Provider\\en_NZ\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/en_NZ/Address.php', - 'Faker\\Provider\\en_NZ\\Internet' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/en_NZ/Internet.php', - 'Faker\\Provider\\en_NZ\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/en_NZ/PhoneNumber.php', - 'Faker\\Provider\\en_PH\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/en_PH/Address.php', - 'Faker\\Provider\\en_PH\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/en_PH/PhoneNumber.php', - 'Faker\\Provider\\en_SG\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/en_SG/Address.php', - 'Faker\\Provider\\en_SG\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/en_SG/PhoneNumber.php', - 'Faker\\Provider\\en_UG\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/en_UG/Address.php', - 'Faker\\Provider\\en_UG\\Internet' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/en_UG/Internet.php', - 'Faker\\Provider\\en_UG\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/en_UG/Person.php', - 'Faker\\Provider\\en_UG\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/en_UG/PhoneNumber.php', - 'Faker\\Provider\\en_US\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/en_US/Address.php', - 'Faker\\Provider\\en_US\\Company' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/en_US/Company.php', - 'Faker\\Provider\\en_US\\Payment' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/en_US/Payment.php', - 'Faker\\Provider\\en_US\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/en_US/Person.php', - 'Faker\\Provider\\en_US\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/en_US/PhoneNumber.php', - 'Faker\\Provider\\en_US\\Text' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/en_US/Text.php', - 'Faker\\Provider\\en_ZA\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/en_ZA/Address.php', - 'Faker\\Provider\\en_ZA\\Company' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/en_ZA/Company.php', - 'Faker\\Provider\\en_ZA\\Internet' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/en_ZA/Internet.php', - 'Faker\\Provider\\en_ZA\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/en_ZA/Person.php', - 'Faker\\Provider\\en_ZA\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/en_ZA/PhoneNumber.php', - 'Faker\\Provider\\es_AR\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/es_AR/Address.php', - 'Faker\\Provider\\es_AR\\Company' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/es_AR/Company.php', - 'Faker\\Provider\\es_AR\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/es_AR/Person.php', - 'Faker\\Provider\\es_AR\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/es_AR/PhoneNumber.php', - 'Faker\\Provider\\es_ES\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/es_ES/Address.php', - 'Faker\\Provider\\es_ES\\Color' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/es_ES/Color.php', - 'Faker\\Provider\\es_ES\\Company' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/es_ES/Company.php', - 'Faker\\Provider\\es_ES\\Internet' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/es_ES/Internet.php', - 'Faker\\Provider\\es_ES\\Payment' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/es_ES/Payment.php', - 'Faker\\Provider\\es_ES\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/es_ES/Person.php', - 'Faker\\Provider\\es_ES\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/es_ES/PhoneNumber.php', - 'Faker\\Provider\\es_ES\\Text' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/es_ES/Text.php', - 'Faker\\Provider\\es_PE\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/es_PE/Address.php', - 'Faker\\Provider\\es_PE\\Company' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/es_PE/Company.php', - 'Faker\\Provider\\es_PE\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/es_PE/Person.php', - 'Faker\\Provider\\es_PE\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/es_PE/PhoneNumber.php', - 'Faker\\Provider\\es_VE\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/es_VE/Address.php', - 'Faker\\Provider\\es_VE\\Company' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/es_VE/Company.php', - 'Faker\\Provider\\es_VE\\Internet' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/es_VE/Internet.php', - 'Faker\\Provider\\es_VE\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/es_VE/Person.php', - 'Faker\\Provider\\es_VE\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/es_VE/PhoneNumber.php', - 'Faker\\Provider\\et_EE\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/et_EE/Person.php', - 'Faker\\Provider\\fa_IR\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/fa_IR/Address.php', - 'Faker\\Provider\\fa_IR\\Company' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/fa_IR/Company.php', - 'Faker\\Provider\\fa_IR\\Internet' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/fa_IR/Internet.php', - 'Faker\\Provider\\fa_IR\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/fa_IR/Person.php', - 'Faker\\Provider\\fa_IR\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/fa_IR/PhoneNumber.php', - 'Faker\\Provider\\fa_IR\\Text' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/fa_IR/Text.php', - 'Faker\\Provider\\fi_FI\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/fi_FI/Address.php', - 'Faker\\Provider\\fi_FI\\Company' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/fi_FI/Company.php', - 'Faker\\Provider\\fi_FI\\Internet' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/fi_FI/Internet.php', - 'Faker\\Provider\\fi_FI\\Payment' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/fi_FI/Payment.php', - 'Faker\\Provider\\fi_FI\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/fi_FI/Person.php', - 'Faker\\Provider\\fi_FI\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/fi_FI/PhoneNumber.php', - 'Faker\\Provider\\fr_BE\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/fr_BE/Address.php', - 'Faker\\Provider\\fr_BE\\Company' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/fr_BE/Company.php', - 'Faker\\Provider\\fr_BE\\Internet' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/fr_BE/Internet.php', - 'Faker\\Provider\\fr_BE\\Payment' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/fr_BE/Payment.php', - 'Faker\\Provider\\fr_BE\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/fr_BE/Person.php', - 'Faker\\Provider\\fr_BE\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/fr_BE/PhoneNumber.php', - 'Faker\\Provider\\fr_CA\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/fr_CA/Address.php', - 'Faker\\Provider\\fr_CA\\Company' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/fr_CA/Company.php', - 'Faker\\Provider\\fr_CA\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/fr_CA/Person.php', - 'Faker\\Provider\\fr_CA\\Text' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/fr_CA/Text.php', - 'Faker\\Provider\\fr_CH\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/fr_CH/Address.php', - 'Faker\\Provider\\fr_CH\\Company' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/fr_CH/Company.php', - 'Faker\\Provider\\fr_CH\\Internet' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/fr_CH/Internet.php', - 'Faker\\Provider\\fr_CH\\Payment' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/fr_CH/Payment.php', - 'Faker\\Provider\\fr_CH\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/fr_CH/Person.php', - 'Faker\\Provider\\fr_CH\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/fr_CH/PhoneNumber.php', - 'Faker\\Provider\\fr_CH\\Text' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/fr_CH/Text.php', - 'Faker\\Provider\\fr_FR\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/fr_FR/Address.php', - 'Faker\\Provider\\fr_FR\\Company' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/fr_FR/Company.php', - 'Faker\\Provider\\fr_FR\\Internet' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/fr_FR/Internet.php', - 'Faker\\Provider\\fr_FR\\Payment' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/fr_FR/Payment.php', - 'Faker\\Provider\\fr_FR\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/fr_FR/Person.php', - 'Faker\\Provider\\fr_FR\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/fr_FR/PhoneNumber.php', - 'Faker\\Provider\\fr_FR\\Text' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/fr_FR/Text.php', - 'Faker\\Provider\\he_IL\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/he_IL/Address.php', - 'Faker\\Provider\\he_IL\\Company' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/he_IL/Company.php', - 'Faker\\Provider\\he_IL\\Payment' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/he_IL/Payment.php', - 'Faker\\Provider\\he_IL\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/he_IL/Person.php', - 'Faker\\Provider\\he_IL\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/he_IL/PhoneNumber.php', - 'Faker\\Provider\\hr_HR\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/hr_HR/Address.php', - 'Faker\\Provider\\hr_HR\\Company' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/hr_HR/Company.php', - 'Faker\\Provider\\hr_HR\\Payment' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/hr_HR/Payment.php', - 'Faker\\Provider\\hr_HR\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/hr_HR/Person.php', - 'Faker\\Provider\\hr_HR\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/hr_HR/PhoneNumber.php', - 'Faker\\Provider\\hu_HU\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/hu_HU/Address.php', - 'Faker\\Provider\\hu_HU\\Company' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/hu_HU/Company.php', - 'Faker\\Provider\\hu_HU\\Payment' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/hu_HU/Payment.php', - 'Faker\\Provider\\hu_HU\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/hu_HU/Person.php', - 'Faker\\Provider\\hu_HU\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/hu_HU/PhoneNumber.php', - 'Faker\\Provider\\hu_HU\\Text' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/hu_HU/Text.php', - 'Faker\\Provider\\hy_AM\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/hy_AM/Address.php', - 'Faker\\Provider\\hy_AM\\Color' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/hy_AM/Color.php', - 'Faker\\Provider\\hy_AM\\Company' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/hy_AM/Company.php', - 'Faker\\Provider\\hy_AM\\Internet' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/hy_AM/Internet.php', - 'Faker\\Provider\\hy_AM\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/hy_AM/Person.php', - 'Faker\\Provider\\hy_AM\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/hy_AM/PhoneNumber.php', - 'Faker\\Provider\\id_ID\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/id_ID/Address.php', - 'Faker\\Provider\\id_ID\\Color' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/id_ID/Color.php', - 'Faker\\Provider\\id_ID\\Company' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/id_ID/Company.php', - 'Faker\\Provider\\id_ID\\Internet' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/id_ID/Internet.php', - 'Faker\\Provider\\id_ID\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/id_ID/Person.php', - 'Faker\\Provider\\id_ID\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/id_ID/PhoneNumber.php', - 'Faker\\Provider\\is_IS\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/is_IS/Address.php', - 'Faker\\Provider\\is_IS\\Company' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/is_IS/Company.php', - 'Faker\\Provider\\is_IS\\Internet' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/is_IS/Internet.php', - 'Faker\\Provider\\is_IS\\Payment' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/is_IS/Payment.php', - 'Faker\\Provider\\is_IS\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/is_IS/Person.php', - 'Faker\\Provider\\is_IS\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/is_IS/PhoneNumber.php', - 'Faker\\Provider\\it_CH\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/it_CH/Address.php', - 'Faker\\Provider\\it_CH\\Company' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/it_CH/Company.php', - 'Faker\\Provider\\it_CH\\Internet' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/it_CH/Internet.php', - 'Faker\\Provider\\it_CH\\Payment' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/it_CH/Payment.php', - 'Faker\\Provider\\it_CH\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/it_CH/Person.php', - 'Faker\\Provider\\it_CH\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/it_CH/PhoneNumber.php', - 'Faker\\Provider\\it_CH\\Text' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/it_CH/Text.php', - 'Faker\\Provider\\it_IT\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/it_IT/Address.php', - 'Faker\\Provider\\it_IT\\Company' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/it_IT/Company.php', - 'Faker\\Provider\\it_IT\\Internet' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/it_IT/Internet.php', - 'Faker\\Provider\\it_IT\\Payment' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/it_IT/Payment.php', - 'Faker\\Provider\\it_IT\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/it_IT/Person.php', - 'Faker\\Provider\\it_IT\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/it_IT/PhoneNumber.php', - 'Faker\\Provider\\it_IT\\Text' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/it_IT/Text.php', - 'Faker\\Provider\\ja_JP\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/ja_JP/Address.php', - 'Faker\\Provider\\ja_JP\\Company' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/ja_JP/Company.php', - 'Faker\\Provider\\ja_JP\\Internet' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/ja_JP/Internet.php', - 'Faker\\Provider\\ja_JP\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/ja_JP/Person.php', - 'Faker\\Provider\\ja_JP\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/ja_JP/PhoneNumber.php', - 'Faker\\Provider\\ja_JP\\Text' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/ja_JP/Text.php', - 'Faker\\Provider\\ka_GE\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/ka_GE/Address.php', - 'Faker\\Provider\\ka_GE\\Color' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/ka_GE/Color.php', - 'Faker\\Provider\\ka_GE\\Company' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/ka_GE/Company.php', - 'Faker\\Provider\\ka_GE\\DateTime' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/ka_GE/DateTime.php', - 'Faker\\Provider\\ka_GE\\Internet' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/ka_GE/Internet.php', - 'Faker\\Provider\\ka_GE\\Payment' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/ka_GE/Payment.php', - 'Faker\\Provider\\ka_GE\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/ka_GE/Person.php', - 'Faker\\Provider\\ka_GE\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/ka_GE/PhoneNumber.php', - 'Faker\\Provider\\ka_GE\\Text' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/ka_GE/Text.php', - 'Faker\\Provider\\kk_KZ\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/kk_KZ/Address.php', - 'Faker\\Provider\\kk_KZ\\Color' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/kk_KZ/Color.php', - 'Faker\\Provider\\kk_KZ\\Company' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/kk_KZ/Company.php', - 'Faker\\Provider\\kk_KZ\\Internet' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/kk_KZ/Internet.php', - 'Faker\\Provider\\kk_KZ\\Payment' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/kk_KZ/Payment.php', - 'Faker\\Provider\\kk_KZ\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/kk_KZ/Person.php', - 'Faker\\Provider\\kk_KZ\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/kk_KZ/PhoneNumber.php', - 'Faker\\Provider\\kk_KZ\\Text' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/kk_KZ/Text.php', - 'Faker\\Provider\\ko_KR\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/ko_KR/Address.php', - 'Faker\\Provider\\ko_KR\\Company' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/ko_KR/Company.php', - 'Faker\\Provider\\ko_KR\\Internet' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/ko_KR/Internet.php', - 'Faker\\Provider\\ko_KR\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/ko_KR/Person.php', - 'Faker\\Provider\\ko_KR\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/ko_KR/PhoneNumber.php', - 'Faker\\Provider\\ko_KR\\Text' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/ko_KR/Text.php', - 'Faker\\Provider\\lt_LT\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/lt_LT/Address.php', - 'Faker\\Provider\\lt_LT\\Company' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/lt_LT/Company.php', - 'Faker\\Provider\\lt_LT\\Internet' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/lt_LT/Internet.php', - 'Faker\\Provider\\lt_LT\\Payment' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/lt_LT/Payment.php', - 'Faker\\Provider\\lt_LT\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/lt_LT/Person.php', - 'Faker\\Provider\\lt_LT\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/lt_LT/PhoneNumber.php', - 'Faker\\Provider\\lv_LV\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/lv_LV/Address.php', - 'Faker\\Provider\\lv_LV\\Color' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/lv_LV/Color.php', - 'Faker\\Provider\\lv_LV\\Internet' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/lv_LV/Internet.php', - 'Faker\\Provider\\lv_LV\\Payment' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/lv_LV/Payment.php', - 'Faker\\Provider\\lv_LV\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/lv_LV/Person.php', - 'Faker\\Provider\\lv_LV\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/lv_LV/PhoneNumber.php', - 'Faker\\Provider\\me_ME\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/me_ME/Address.php', - 'Faker\\Provider\\me_ME\\Company' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/me_ME/Company.php', - 'Faker\\Provider\\me_ME\\Payment' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/me_ME/Payment.php', - 'Faker\\Provider\\me_ME\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/me_ME/Person.php', - 'Faker\\Provider\\me_ME\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/me_ME/PhoneNumber.php', - 'Faker\\Provider\\mn_MN\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/mn_MN/Person.php', - 'Faker\\Provider\\mn_MN\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/mn_MN/PhoneNumber.php', - 'Faker\\Provider\\ms_MY\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/ms_MY/Address.php', - 'Faker\\Provider\\ms_MY\\Company' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/ms_MY/Company.php', - 'Faker\\Provider\\ms_MY\\Miscellaneous' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/ms_MY/Miscellaneous.php', - 'Faker\\Provider\\ms_MY\\Payment' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/ms_MY/Payment.php', - 'Faker\\Provider\\ms_MY\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/ms_MY/Person.php', - 'Faker\\Provider\\ms_MY\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/ms_MY/PhoneNumber.php', - 'Faker\\Provider\\nb_NO\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/nb_NO/Address.php', - 'Faker\\Provider\\nb_NO\\Company' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/nb_NO/Company.php', - 'Faker\\Provider\\nb_NO\\Payment' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/nb_NO/Payment.php', - 'Faker\\Provider\\nb_NO\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/nb_NO/Person.php', - 'Faker\\Provider\\nb_NO\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/nb_NO/PhoneNumber.php', - 'Faker\\Provider\\ne_NP\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/ne_NP/Address.php', - 'Faker\\Provider\\ne_NP\\Internet' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/ne_NP/Internet.php', - 'Faker\\Provider\\ne_NP\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/ne_NP/Person.php', - 'Faker\\Provider\\ne_NP\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/ne_NP/PhoneNumber.php', - 'Faker\\Provider\\nl_BE\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/nl_BE/Address.php', - 'Faker\\Provider\\nl_BE\\Company' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/nl_BE/Company.php', - 'Faker\\Provider\\nl_BE\\Internet' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/nl_BE/Internet.php', - 'Faker\\Provider\\nl_BE\\Payment' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/nl_BE/Payment.php', - 'Faker\\Provider\\nl_BE\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/nl_BE/Person.php', - 'Faker\\Provider\\nl_BE\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/nl_BE/PhoneNumber.php', - 'Faker\\Provider\\nl_NL\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/nl_NL/Address.php', - 'Faker\\Provider\\nl_NL\\Color' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/nl_NL/Color.php', - 'Faker\\Provider\\nl_NL\\Company' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/nl_NL/Company.php', - 'Faker\\Provider\\nl_NL\\Internet' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/nl_NL/Internet.php', - 'Faker\\Provider\\nl_NL\\Payment' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/nl_NL/Payment.php', - 'Faker\\Provider\\nl_NL\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/nl_NL/Person.php', - 'Faker\\Provider\\nl_NL\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/nl_NL/PhoneNumber.php', - 'Faker\\Provider\\nl_NL\\Text' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/nl_NL/Text.php', - 'Faker\\Provider\\pl_PL\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/pl_PL/Address.php', - 'Faker\\Provider\\pl_PL\\Company' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/pl_PL/Company.php', - 'Faker\\Provider\\pl_PL\\Internet' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/pl_PL/Internet.php', - 'Faker\\Provider\\pl_PL\\Payment' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/pl_PL/Payment.php', - 'Faker\\Provider\\pl_PL\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/pl_PL/Person.php', - 'Faker\\Provider\\pl_PL\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/pl_PL/PhoneNumber.php', - 'Faker\\Provider\\pl_PL\\Text' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/pl_PL/Text.php', - 'Faker\\Provider\\pt_BR\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/pt_BR/Address.php', - 'Faker\\Provider\\pt_BR\\Company' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/pt_BR/Company.php', - 'Faker\\Provider\\pt_BR\\Internet' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/pt_BR/Internet.php', - 'Faker\\Provider\\pt_BR\\Payment' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/pt_BR/Payment.php', - 'Faker\\Provider\\pt_BR\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/pt_BR/Person.php', - 'Faker\\Provider\\pt_BR\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/pt_BR/PhoneNumber.php', - 'Faker\\Provider\\pt_PT\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/pt_PT/Address.php', - 'Faker\\Provider\\pt_PT\\Company' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/pt_PT/Company.php', - 'Faker\\Provider\\pt_PT\\Internet' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/pt_PT/Internet.php', - 'Faker\\Provider\\pt_PT\\Payment' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/pt_PT/Payment.php', - 'Faker\\Provider\\pt_PT\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/pt_PT/Person.php', - 'Faker\\Provider\\pt_PT\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/pt_PT/PhoneNumber.php', - 'Faker\\Provider\\ro_MD\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/ro_MD/Address.php', - 'Faker\\Provider\\ro_MD\\Payment' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/ro_MD/Payment.php', - 'Faker\\Provider\\ro_MD\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/ro_MD/Person.php', - 'Faker\\Provider\\ro_MD\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/ro_MD/PhoneNumber.php', - 'Faker\\Provider\\ro_MD\\Text' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/ro_MD/Text.php', - 'Faker\\Provider\\ro_RO\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/ro_RO/Address.php', - 'Faker\\Provider\\ro_RO\\Payment' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/ro_RO/Payment.php', - 'Faker\\Provider\\ro_RO\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/ro_RO/Person.php', - 'Faker\\Provider\\ro_RO\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/ro_RO/PhoneNumber.php', - 'Faker\\Provider\\ro_RO\\Text' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/ro_RO/Text.php', - 'Faker\\Provider\\ru_RU\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/ru_RU/Address.php', - 'Faker\\Provider\\ru_RU\\Color' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/ru_RU/Color.php', - 'Faker\\Provider\\ru_RU\\Company' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/ru_RU/Company.php', - 'Faker\\Provider\\ru_RU\\Internet' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/ru_RU/Internet.php', - 'Faker\\Provider\\ru_RU\\Payment' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/ru_RU/Payment.php', - 'Faker\\Provider\\ru_RU\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/ru_RU/Person.php', - 'Faker\\Provider\\ru_RU\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/ru_RU/PhoneNumber.php', - 'Faker\\Provider\\ru_RU\\Text' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/ru_RU/Text.php', - 'Faker\\Provider\\sk_SK\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/sk_SK/Address.php', - 'Faker\\Provider\\sk_SK\\Company' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/sk_SK/Company.php', - 'Faker\\Provider\\sk_SK\\Internet' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/sk_SK/Internet.php', - 'Faker\\Provider\\sk_SK\\Payment' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/sk_SK/Payment.php', - 'Faker\\Provider\\sk_SK\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/sk_SK/Person.php', - 'Faker\\Provider\\sk_SK\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/sk_SK/PhoneNumber.php', - 'Faker\\Provider\\sl_SI\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/sl_SI/Address.php', - 'Faker\\Provider\\sl_SI\\Company' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/sl_SI/Company.php', - 'Faker\\Provider\\sl_SI\\Internet' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/sl_SI/Internet.php', - 'Faker\\Provider\\sl_SI\\Payment' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/sl_SI/Payment.php', - 'Faker\\Provider\\sl_SI\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/sl_SI/Person.php', - 'Faker\\Provider\\sl_SI\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/sl_SI/PhoneNumber.php', - 'Faker\\Provider\\sr_Cyrl_RS\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/sr_Cyrl_RS/Address.php', - 'Faker\\Provider\\sr_Cyrl_RS\\Payment' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/sr_Cyrl_RS/Payment.php', - 'Faker\\Provider\\sr_Cyrl_RS\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/sr_Cyrl_RS/Person.php', - 'Faker\\Provider\\sr_Latn_RS\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/sr_Latn_RS/Address.php', - 'Faker\\Provider\\sr_Latn_RS\\Payment' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/sr_Latn_RS/Payment.php', - 'Faker\\Provider\\sr_Latn_RS\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/sr_Latn_RS/Person.php', - 'Faker\\Provider\\sr_RS\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/sr_RS/Address.php', - 'Faker\\Provider\\sr_RS\\Payment' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/sr_RS/Payment.php', - 'Faker\\Provider\\sr_RS\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/sr_RS/Person.php', - 'Faker\\Provider\\sv_SE\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/sv_SE/Address.php', - 'Faker\\Provider\\sv_SE\\Company' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/sv_SE/Company.php', - 'Faker\\Provider\\sv_SE\\Payment' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/sv_SE/Payment.php', - 'Faker\\Provider\\sv_SE\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/sv_SE/Person.php', - 'Faker\\Provider\\sv_SE\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/sv_SE/PhoneNumber.php', - 'Faker\\Provider\\th_TH\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/th_TH/Address.php', - 'Faker\\Provider\\th_TH\\Color' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/th_TH/Color.php', - 'Faker\\Provider\\th_TH\\Company' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/th_TH/Company.php', - 'Faker\\Provider\\th_TH\\Internet' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/th_TH/Internet.php', - 'Faker\\Provider\\th_TH\\Payment' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/th_TH/Payment.php', - 'Faker\\Provider\\th_TH\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/th_TH/Person.php', - 'Faker\\Provider\\th_TH\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/th_TH/PhoneNumber.php', - 'Faker\\Provider\\tr_TR\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/tr_TR/Address.php', - 'Faker\\Provider\\tr_TR\\Color' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/tr_TR/Color.php', - 'Faker\\Provider\\tr_TR\\Company' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/tr_TR/Company.php', - 'Faker\\Provider\\tr_TR\\DateTime' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/tr_TR/DateTime.php', - 'Faker\\Provider\\tr_TR\\Internet' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/tr_TR/Internet.php', - 'Faker\\Provider\\tr_TR\\Payment' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/tr_TR/Payment.php', - 'Faker\\Provider\\tr_TR\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/tr_TR/Person.php', - 'Faker\\Provider\\tr_TR\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/tr_TR/PhoneNumber.php', - 'Faker\\Provider\\uk_UA\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/uk_UA/Address.php', - 'Faker\\Provider\\uk_UA\\Color' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/uk_UA/Color.php', - 'Faker\\Provider\\uk_UA\\Company' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/uk_UA/Company.php', - 'Faker\\Provider\\uk_UA\\Internet' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/uk_UA/Internet.php', - 'Faker\\Provider\\uk_UA\\Payment' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/uk_UA/Payment.php', - 'Faker\\Provider\\uk_UA\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/uk_UA/Person.php', - 'Faker\\Provider\\uk_UA\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/uk_UA/PhoneNumber.php', - 'Faker\\Provider\\uk_UA\\Text' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/uk_UA/Text.php', - 'Faker\\Provider\\vi_VN\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/vi_VN/Address.php', - 'Faker\\Provider\\vi_VN\\Color' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/vi_VN/Color.php', - 'Faker\\Provider\\vi_VN\\Internet' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/vi_VN/Internet.php', - 'Faker\\Provider\\vi_VN\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/vi_VN/Person.php', - 'Faker\\Provider\\vi_VN\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/vi_VN/PhoneNumber.php', - 'Faker\\Provider\\zh_CN\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/zh_CN/Address.php', - 'Faker\\Provider\\zh_CN\\Color' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/zh_CN/Color.php', - 'Faker\\Provider\\zh_CN\\Company' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/zh_CN/Company.php', - 'Faker\\Provider\\zh_CN\\DateTime' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/zh_CN/DateTime.php', - 'Faker\\Provider\\zh_CN\\Internet' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/zh_CN/Internet.php', - 'Faker\\Provider\\zh_CN\\Payment' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/zh_CN/Payment.php', - 'Faker\\Provider\\zh_CN\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/zh_CN/Person.php', - 'Faker\\Provider\\zh_CN\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/zh_CN/PhoneNumber.php', - 'Faker\\Provider\\zh_TW\\Address' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/zh_TW/Address.php', - 'Faker\\Provider\\zh_TW\\Color' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/zh_TW/Color.php', - 'Faker\\Provider\\zh_TW\\Company' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/zh_TW/Company.php', - 'Faker\\Provider\\zh_TW\\DateTime' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/zh_TW/DateTime.php', - 'Faker\\Provider\\zh_TW\\Internet' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/zh_TW/Internet.php', - 'Faker\\Provider\\zh_TW\\Payment' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/zh_TW/Payment.php', - 'Faker\\Provider\\zh_TW\\Person' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/zh_TW/Person.php', - 'Faker\\Provider\\zh_TW\\PhoneNumber' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/zh_TW/PhoneNumber.php', - 'Faker\\Provider\\zh_TW\\Text' => $vendorDir . '/fzaninotto/faker/src/Faker/Provider/zh_TW/Text.php', - 'Faker\\UniqueGenerator' => $vendorDir . '/fzaninotto/faker/src/Faker/UniqueGenerator.php', - 'Faker\\ValidGenerator' => $vendorDir . '/fzaninotto/faker/src/Faker/ValidGenerator.php', - 'Fideloper\\Proxy\\TrustProxies' => $vendorDir . '/fideloper/proxy/src/TrustProxies.php', - 'Fideloper\\Proxy\\TrustedProxyServiceProvider' => $vendorDir . '/fideloper/proxy/src/TrustedProxyServiceProvider.php', - 'Hamcrest\\Arrays\\IsArray' => $vendorDir . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Arrays/IsArray.php', - 'Hamcrest\\Arrays\\IsArrayContaining' => $vendorDir . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Arrays/IsArrayContaining.php', - 'Hamcrest\\Arrays\\IsArrayContainingInAnyOrder' => $vendorDir . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Arrays/IsArrayContainingInAnyOrder.php', - 'Hamcrest\\Arrays\\IsArrayContainingInOrder' => $vendorDir . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Arrays/IsArrayContainingInOrder.php', - 'Hamcrest\\Arrays\\IsArrayContainingKey' => $vendorDir . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Arrays/IsArrayContainingKey.php', - 'Hamcrest\\Arrays\\IsArrayContainingKeyValuePair' => $vendorDir . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Arrays/IsArrayContainingKeyValuePair.php', - 'Hamcrest\\Arrays\\IsArrayWithSize' => $vendorDir . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Arrays/IsArrayWithSize.php', - 'Hamcrest\\Arrays\\MatchingOnce' => $vendorDir . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Arrays/MatchingOnce.php', - 'Hamcrest\\Arrays\\SeriesMatchingOnce' => $vendorDir . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Arrays/SeriesMatchingOnce.php', - 'Hamcrest\\AssertionError' => $vendorDir . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/AssertionError.php', - 'Hamcrest\\BaseDescription' => $vendorDir . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/BaseDescription.php', - 'Hamcrest\\BaseMatcher' => $vendorDir . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/BaseMatcher.php', - 'Hamcrest\\Collection\\IsEmptyTraversable' => $vendorDir . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Collection/IsEmptyTraversable.php', - 'Hamcrest\\Collection\\IsTraversableWithSize' => $vendorDir . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Collection/IsTraversableWithSize.php', - 'Hamcrest\\Core\\AllOf' => $vendorDir . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Core/AllOf.php', - 'Hamcrest\\Core\\AnyOf' => $vendorDir . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Core/AnyOf.php', - 'Hamcrest\\Core\\CombinableMatcher' => $vendorDir . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Core/CombinableMatcher.php', - 'Hamcrest\\Core\\DescribedAs' => $vendorDir . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Core/DescribedAs.php', - 'Hamcrest\\Core\\Every' => $vendorDir . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Core/Every.php', - 'Hamcrest\\Core\\HasToString' => $vendorDir . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Core/HasToString.php', - 'Hamcrest\\Core\\Is' => $vendorDir . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Core/Is.php', - 'Hamcrest\\Core\\IsAnything' => $vendorDir . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Core/IsAnything.php', - 'Hamcrest\\Core\\IsCollectionContaining' => $vendorDir . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Core/IsCollectionContaining.php', - 'Hamcrest\\Core\\IsEqual' => $vendorDir . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Core/IsEqual.php', - 'Hamcrest\\Core\\IsIdentical' => $vendorDir . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Core/IsIdentical.php', - 'Hamcrest\\Core\\IsInstanceOf' => $vendorDir . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Core/IsInstanceOf.php', - 'Hamcrest\\Core\\IsNot' => $vendorDir . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Core/IsNot.php', - 'Hamcrest\\Core\\IsNull' => $vendorDir . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Core/IsNull.php', - 'Hamcrest\\Core\\IsSame' => $vendorDir . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Core/IsSame.php', - 'Hamcrest\\Core\\IsTypeOf' => $vendorDir . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Core/IsTypeOf.php', - 'Hamcrest\\Core\\Set' => $vendorDir . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Core/Set.php', - 'Hamcrest\\Core\\ShortcutCombination' => $vendorDir . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Core/ShortcutCombination.php', - 'Hamcrest\\Description' => $vendorDir . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Description.php', - 'Hamcrest\\DiagnosingMatcher' => $vendorDir . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/DiagnosingMatcher.php', - 'Hamcrest\\FeatureMatcher' => $vendorDir . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/FeatureMatcher.php', - 'Hamcrest\\Internal\\SelfDescribingValue' => $vendorDir . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Internal/SelfDescribingValue.php', - 'Hamcrest\\Matcher' => $vendorDir . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Matcher.php', - 'Hamcrest\\MatcherAssert' => $vendorDir . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/MatcherAssert.php', - 'Hamcrest\\Matchers' => $vendorDir . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Matchers.php', - 'Hamcrest\\NullDescription' => $vendorDir . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/NullDescription.php', - 'Hamcrest\\Number\\IsCloseTo' => $vendorDir . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Number/IsCloseTo.php', - 'Hamcrest\\Number\\OrderingComparison' => $vendorDir . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Number/OrderingComparison.php', - 'Hamcrest\\SelfDescribing' => $vendorDir . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/SelfDescribing.php', - 'Hamcrest\\StringDescription' => $vendorDir . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/StringDescription.php', - 'Hamcrest\\Text\\IsEmptyString' => $vendorDir . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Text/IsEmptyString.php', - 'Hamcrest\\Text\\IsEqualIgnoringCase' => $vendorDir . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Text/IsEqualIgnoringCase.php', - 'Hamcrest\\Text\\IsEqualIgnoringWhiteSpace' => $vendorDir . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Text/IsEqualIgnoringWhiteSpace.php', - 'Hamcrest\\Text\\MatchesPattern' => $vendorDir . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Text/MatchesPattern.php', - 'Hamcrest\\Text\\StringContains' => $vendorDir . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Text/StringContains.php', - 'Hamcrest\\Text\\StringContainsIgnoringCase' => $vendorDir . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Text/StringContainsIgnoringCase.php', - 'Hamcrest\\Text\\StringContainsInOrder' => $vendorDir . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Text/StringContainsInOrder.php', - 'Hamcrest\\Text\\StringEndsWith' => $vendorDir . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Text/StringEndsWith.php', - 'Hamcrest\\Text\\StringStartsWith' => $vendorDir . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Text/StringStartsWith.php', - 'Hamcrest\\Text\\SubstringMatcher' => $vendorDir . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Text/SubstringMatcher.php', - 'Hamcrest\\TypeSafeDiagnosingMatcher' => $vendorDir . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/TypeSafeDiagnosingMatcher.php', - 'Hamcrest\\TypeSafeMatcher' => $vendorDir . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/TypeSafeMatcher.php', - 'Hamcrest\\Type\\IsArray' => $vendorDir . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Type/IsArray.php', - 'Hamcrest\\Type\\IsBoolean' => $vendorDir . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Type/IsBoolean.php', - 'Hamcrest\\Type\\IsCallable' => $vendorDir . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Type/IsCallable.php', - 'Hamcrest\\Type\\IsDouble' => $vendorDir . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Type/IsDouble.php', - 'Hamcrest\\Type\\IsInteger' => $vendorDir . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Type/IsInteger.php', - 'Hamcrest\\Type\\IsNumeric' => $vendorDir . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Type/IsNumeric.php', - 'Hamcrest\\Type\\IsObject' => $vendorDir . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Type/IsObject.php', - 'Hamcrest\\Type\\IsResource' => $vendorDir . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Type/IsResource.php', - 'Hamcrest\\Type\\IsScalar' => $vendorDir . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Type/IsScalar.php', - 'Hamcrest\\Type\\IsString' => $vendorDir . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Type/IsString.php', - 'Hamcrest\\Util' => $vendorDir . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Util.php', - 'Hamcrest\\Xml\\HasXPath' => $vendorDir . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Xml/HasXPath.php', - 'Illuminate\\Auth\\Access\\AuthorizationException' => $vendorDir . '/laravel/framework/src/Illuminate/Auth/Access/AuthorizationException.php', - 'Illuminate\\Auth\\Access\\Gate' => $vendorDir . '/laravel/framework/src/Illuminate/Auth/Access/Gate.php', - 'Illuminate\\Auth\\Access\\HandlesAuthorization' => $vendorDir . '/laravel/framework/src/Illuminate/Auth/Access/HandlesAuthorization.php', - 'Illuminate\\Auth\\Access\\Response' => $vendorDir . '/laravel/framework/src/Illuminate/Auth/Access/Response.php', - 'Illuminate\\Auth\\AuthManager' => $vendorDir . '/laravel/framework/src/Illuminate/Auth/AuthManager.php', - 'Illuminate\\Auth\\AuthServiceProvider' => $vendorDir . '/laravel/framework/src/Illuminate/Auth/AuthServiceProvider.php', - 'Illuminate\\Auth\\Authenticatable' => $vendorDir . '/laravel/framework/src/Illuminate/Auth/Authenticatable.php', - 'Illuminate\\Auth\\AuthenticationException' => $vendorDir . '/laravel/framework/src/Illuminate/Auth/AuthenticationException.php', - 'Illuminate\\Auth\\Console\\AuthMakeCommand' => $vendorDir . '/laravel/framework/src/Illuminate/Auth/Console/AuthMakeCommand.php', - 'Illuminate\\Auth\\Console\\ClearResetsCommand' => $vendorDir . '/laravel/framework/src/Illuminate/Auth/Console/ClearResetsCommand.php', - 'Illuminate\\Auth\\CreatesUserProviders' => $vendorDir . '/laravel/framework/src/Illuminate/Auth/CreatesUserProviders.php', - 'Illuminate\\Auth\\DatabaseUserProvider' => $vendorDir . '/laravel/framework/src/Illuminate/Auth/DatabaseUserProvider.php', - 'Illuminate\\Auth\\EloquentUserProvider' => $vendorDir . '/laravel/framework/src/Illuminate/Auth/EloquentUserProvider.php', - 'Illuminate\\Auth\\Events\\Attempting' => $vendorDir . '/laravel/framework/src/Illuminate/Auth/Events/Attempting.php', - 'Illuminate\\Auth\\Events\\Authenticated' => $vendorDir . '/laravel/framework/src/Illuminate/Auth/Events/Authenticated.php', - 'Illuminate\\Auth\\Events\\Failed' => $vendorDir . '/laravel/framework/src/Illuminate/Auth/Events/Failed.php', - 'Illuminate\\Auth\\Events\\Lockout' => $vendorDir . '/laravel/framework/src/Illuminate/Auth/Events/Lockout.php', - 'Illuminate\\Auth\\Events\\Login' => $vendorDir . '/laravel/framework/src/Illuminate/Auth/Events/Login.php', - 'Illuminate\\Auth\\Events\\Logout' => $vendorDir . '/laravel/framework/src/Illuminate/Auth/Events/Logout.php', - 'Illuminate\\Auth\\Events\\OtherDeviceLogout' => $vendorDir . '/laravel/framework/src/Illuminate/Auth/Events/OtherDeviceLogout.php', - 'Illuminate\\Auth\\Events\\PasswordReset' => $vendorDir . '/laravel/framework/src/Illuminate/Auth/Events/PasswordReset.php', - 'Illuminate\\Auth\\Events\\Registered' => $vendorDir . '/laravel/framework/src/Illuminate/Auth/Events/Registered.php', - 'Illuminate\\Auth\\Events\\Verified' => $vendorDir . '/laravel/framework/src/Illuminate/Auth/Events/Verified.php', - 'Illuminate\\Auth\\GenericUser' => $vendorDir . '/laravel/framework/src/Illuminate/Auth/GenericUser.php', - 'Illuminate\\Auth\\GuardHelpers' => $vendorDir . '/laravel/framework/src/Illuminate/Auth/GuardHelpers.php', - 'Illuminate\\Auth\\Listeners\\SendEmailVerificationNotification' => $vendorDir . '/laravel/framework/src/Illuminate/Auth/Listeners/SendEmailVerificationNotification.php', - 'Illuminate\\Auth\\Middleware\\Authenticate' => $vendorDir . '/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php', - 'Illuminate\\Auth\\Middleware\\AuthenticateWithBasicAuth' => $vendorDir . '/laravel/framework/src/Illuminate/Auth/Middleware/AuthenticateWithBasicAuth.php', - 'Illuminate\\Auth\\Middleware\\Authorize' => $vendorDir . '/laravel/framework/src/Illuminate/Auth/Middleware/Authorize.php', - 'Illuminate\\Auth\\Middleware\\EnsureEmailIsVerified' => $vendorDir . '/laravel/framework/src/Illuminate/Auth/Middleware/EnsureEmailIsVerified.php', - 'Illuminate\\Auth\\MustVerifyEmail' => $vendorDir . '/laravel/framework/src/Illuminate/Auth/MustVerifyEmail.php', - 'Illuminate\\Auth\\Notifications\\ResetPassword' => $vendorDir . '/laravel/framework/src/Illuminate/Auth/Notifications/ResetPassword.php', - 'Illuminate\\Auth\\Notifications\\VerifyEmail' => $vendorDir . '/laravel/framework/src/Illuminate/Auth/Notifications/VerifyEmail.php', - 'Illuminate\\Auth\\Passwords\\CanResetPassword' => $vendorDir . '/laravel/framework/src/Illuminate/Auth/Passwords/CanResetPassword.php', - 'Illuminate\\Auth\\Passwords\\DatabaseTokenRepository' => $vendorDir . '/laravel/framework/src/Illuminate/Auth/Passwords/DatabaseTokenRepository.php', - 'Illuminate\\Auth\\Passwords\\PasswordBroker' => $vendorDir . '/laravel/framework/src/Illuminate/Auth/Passwords/PasswordBroker.php', - 'Illuminate\\Auth\\Passwords\\PasswordBrokerManager' => $vendorDir . '/laravel/framework/src/Illuminate/Auth/Passwords/PasswordBrokerManager.php', - 'Illuminate\\Auth\\Passwords\\PasswordResetServiceProvider' => $vendorDir . '/laravel/framework/src/Illuminate/Auth/Passwords/PasswordResetServiceProvider.php', - 'Illuminate\\Auth\\Passwords\\TokenRepositoryInterface' => $vendorDir . '/laravel/framework/src/Illuminate/Auth/Passwords/TokenRepositoryInterface.php', - 'Illuminate\\Auth\\Recaller' => $vendorDir . '/laravel/framework/src/Illuminate/Auth/Recaller.php', - 'Illuminate\\Auth\\RequestGuard' => $vendorDir . '/laravel/framework/src/Illuminate/Auth/RequestGuard.php', - 'Illuminate\\Auth\\SessionGuard' => $vendorDir . '/laravel/framework/src/Illuminate/Auth/SessionGuard.php', - 'Illuminate\\Auth\\TokenGuard' => $vendorDir . '/laravel/framework/src/Illuminate/Auth/TokenGuard.php', - 'Illuminate\\Broadcasting\\BroadcastController' => $vendorDir . '/laravel/framework/src/Illuminate/Broadcasting/BroadcastController.php', - 'Illuminate\\Broadcasting\\BroadcastEvent' => $vendorDir . '/laravel/framework/src/Illuminate/Broadcasting/BroadcastEvent.php', - 'Illuminate\\Broadcasting\\BroadcastException' => $vendorDir . '/laravel/framework/src/Illuminate/Broadcasting/BroadcastException.php', - 'Illuminate\\Broadcasting\\BroadcastManager' => $vendorDir . '/laravel/framework/src/Illuminate/Broadcasting/BroadcastManager.php', - 'Illuminate\\Broadcasting\\BroadcastServiceProvider' => $vendorDir . '/laravel/framework/src/Illuminate/Broadcasting/BroadcastServiceProvider.php', - 'Illuminate\\Broadcasting\\Broadcasters\\Broadcaster' => $vendorDir . '/laravel/framework/src/Illuminate/Broadcasting/Broadcasters/Broadcaster.php', - 'Illuminate\\Broadcasting\\Broadcasters\\LogBroadcaster' => $vendorDir . '/laravel/framework/src/Illuminate/Broadcasting/Broadcasters/LogBroadcaster.php', - 'Illuminate\\Broadcasting\\Broadcasters\\NullBroadcaster' => $vendorDir . '/laravel/framework/src/Illuminate/Broadcasting/Broadcasters/NullBroadcaster.php', - 'Illuminate\\Broadcasting\\Broadcasters\\PusherBroadcaster' => $vendorDir . '/laravel/framework/src/Illuminate/Broadcasting/Broadcasters/PusherBroadcaster.php', - 'Illuminate\\Broadcasting\\Broadcasters\\RedisBroadcaster' => $vendorDir . '/laravel/framework/src/Illuminate/Broadcasting/Broadcasters/RedisBroadcaster.php', - 'Illuminate\\Broadcasting\\Broadcasters\\UsePusherChannelConventions' => $vendorDir . '/laravel/framework/src/Illuminate/Broadcasting/Broadcasters/UsePusherChannelConventions.php', - 'Illuminate\\Broadcasting\\Channel' => $vendorDir . '/laravel/framework/src/Illuminate/Broadcasting/Channel.php', - 'Illuminate\\Broadcasting\\InteractsWithSockets' => $vendorDir . '/laravel/framework/src/Illuminate/Broadcasting/InteractsWithSockets.php', - 'Illuminate\\Broadcasting\\PendingBroadcast' => $vendorDir . '/laravel/framework/src/Illuminate/Broadcasting/PendingBroadcast.php', - 'Illuminate\\Broadcasting\\PresenceChannel' => $vendorDir . '/laravel/framework/src/Illuminate/Broadcasting/PresenceChannel.php', - 'Illuminate\\Broadcasting\\PrivateChannel' => $vendorDir . '/laravel/framework/src/Illuminate/Broadcasting/PrivateChannel.php', - 'Illuminate\\Bus\\BusServiceProvider' => $vendorDir . '/laravel/framework/src/Illuminate/Bus/BusServiceProvider.php', - 'Illuminate\\Bus\\Dispatcher' => $vendorDir . '/laravel/framework/src/Illuminate/Bus/Dispatcher.php', - 'Illuminate\\Bus\\Queueable' => $vendorDir . '/laravel/framework/src/Illuminate/Bus/Queueable.php', - 'Illuminate\\Cache\\ApcStore' => $vendorDir . '/laravel/framework/src/Illuminate/Cache/ApcStore.php', - 'Illuminate\\Cache\\ApcWrapper' => $vendorDir . '/laravel/framework/src/Illuminate/Cache/ApcWrapper.php', - 'Illuminate\\Cache\\ArrayStore' => $vendorDir . '/laravel/framework/src/Illuminate/Cache/ArrayStore.php', - 'Illuminate\\Cache\\CacheManager' => $vendorDir . '/laravel/framework/src/Illuminate/Cache/CacheManager.php', - 'Illuminate\\Cache\\CacheServiceProvider' => $vendorDir . '/laravel/framework/src/Illuminate/Cache/CacheServiceProvider.php', - 'Illuminate\\Cache\\Console\\CacheTableCommand' => $vendorDir . '/laravel/framework/src/Illuminate/Cache/Console/CacheTableCommand.php', - 'Illuminate\\Cache\\Console\\ClearCommand' => $vendorDir . '/laravel/framework/src/Illuminate/Cache/Console/ClearCommand.php', - 'Illuminate\\Cache\\Console\\ForgetCommand' => $vendorDir . '/laravel/framework/src/Illuminate/Cache/Console/ForgetCommand.php', - 'Illuminate\\Cache\\DatabaseStore' => $vendorDir . '/laravel/framework/src/Illuminate/Cache/DatabaseStore.php', - 'Illuminate\\Cache\\DynamoDbLock' => $vendorDir . '/laravel/framework/src/Illuminate/Cache/DynamoDbLock.php', - 'Illuminate\\Cache\\DynamoDbStore' => $vendorDir . '/laravel/framework/src/Illuminate/Cache/DynamoDbStore.php', - 'Illuminate\\Cache\\Events\\CacheEvent' => $vendorDir . '/laravel/framework/src/Illuminate/Cache/Events/CacheEvent.php', - 'Illuminate\\Cache\\Events\\CacheHit' => $vendorDir . '/laravel/framework/src/Illuminate/Cache/Events/CacheHit.php', - 'Illuminate\\Cache\\Events\\CacheMissed' => $vendorDir . '/laravel/framework/src/Illuminate/Cache/Events/CacheMissed.php', - 'Illuminate\\Cache\\Events\\KeyForgotten' => $vendorDir . '/laravel/framework/src/Illuminate/Cache/Events/KeyForgotten.php', - 'Illuminate\\Cache\\Events\\KeyWritten' => $vendorDir . '/laravel/framework/src/Illuminate/Cache/Events/KeyWritten.php', - 'Illuminate\\Cache\\FileStore' => $vendorDir . '/laravel/framework/src/Illuminate/Cache/FileStore.php', - 'Illuminate\\Cache\\Lock' => $vendorDir . '/laravel/framework/src/Illuminate/Cache/Lock.php', - 'Illuminate\\Cache\\LuaScripts' => $vendorDir . '/laravel/framework/src/Illuminate/Cache/LuaScripts.php', - 'Illuminate\\Cache\\MemcachedConnector' => $vendorDir . '/laravel/framework/src/Illuminate/Cache/MemcachedConnector.php', - 'Illuminate\\Cache\\MemcachedLock' => $vendorDir . '/laravel/framework/src/Illuminate/Cache/MemcachedLock.php', - 'Illuminate\\Cache\\MemcachedStore' => $vendorDir . '/laravel/framework/src/Illuminate/Cache/MemcachedStore.php', - 'Illuminate\\Cache\\NullStore' => $vendorDir . '/laravel/framework/src/Illuminate/Cache/NullStore.php', - 'Illuminate\\Cache\\RateLimiter' => $vendorDir . '/laravel/framework/src/Illuminate/Cache/RateLimiter.php', - 'Illuminate\\Cache\\RedisLock' => $vendorDir . '/laravel/framework/src/Illuminate/Cache/RedisLock.php', - 'Illuminate\\Cache\\RedisStore' => $vendorDir . '/laravel/framework/src/Illuminate/Cache/RedisStore.php', - 'Illuminate\\Cache\\RedisTaggedCache' => $vendorDir . '/laravel/framework/src/Illuminate/Cache/RedisTaggedCache.php', - 'Illuminate\\Cache\\Repository' => $vendorDir . '/laravel/framework/src/Illuminate/Cache/Repository.php', - 'Illuminate\\Cache\\RetrievesMultipleKeys' => $vendorDir . '/laravel/framework/src/Illuminate/Cache/RetrievesMultipleKeys.php', - 'Illuminate\\Cache\\TagSet' => $vendorDir . '/laravel/framework/src/Illuminate/Cache/TagSet.php', - 'Illuminate\\Cache\\TaggableStore' => $vendorDir . '/laravel/framework/src/Illuminate/Cache/TaggableStore.php', - 'Illuminate\\Cache\\TaggedCache' => $vendorDir . '/laravel/framework/src/Illuminate/Cache/TaggedCache.php', - 'Illuminate\\Config\\Repository' => $vendorDir . '/laravel/framework/src/Illuminate/Config/Repository.php', - 'Illuminate\\Console\\Application' => $vendorDir . '/laravel/framework/src/Illuminate/Console/Application.php', - 'Illuminate\\Console\\Command' => $vendorDir . '/laravel/framework/src/Illuminate/Console/Command.php', - 'Illuminate\\Console\\ConfirmableTrait' => $vendorDir . '/laravel/framework/src/Illuminate/Console/ConfirmableTrait.php', - 'Illuminate\\Console\\DetectsApplicationNamespace' => $vendorDir . '/laravel/framework/src/Illuminate/Console/DetectsApplicationNamespace.php', - 'Illuminate\\Console\\Events\\ArtisanStarting' => $vendorDir . '/laravel/framework/src/Illuminate/Console/Events/ArtisanStarting.php', - 'Illuminate\\Console\\Events\\CommandFinished' => $vendorDir . '/laravel/framework/src/Illuminate/Console/Events/CommandFinished.php', - 'Illuminate\\Console\\Events\\CommandStarting' => $vendorDir . '/laravel/framework/src/Illuminate/Console/Events/CommandStarting.php', - 'Illuminate\\Console\\GeneratorCommand' => $vendorDir . '/laravel/framework/src/Illuminate/Console/GeneratorCommand.php', - 'Illuminate\\Console\\OutputStyle' => $vendorDir . '/laravel/framework/src/Illuminate/Console/OutputStyle.php', - 'Illuminate\\Console\\Parser' => $vendorDir . '/laravel/framework/src/Illuminate/Console/Parser.php', - 'Illuminate\\Console\\Scheduling\\CacheEventMutex' => $vendorDir . '/laravel/framework/src/Illuminate/Console/Scheduling/CacheEventMutex.php', - 'Illuminate\\Console\\Scheduling\\CacheSchedulingMutex' => $vendorDir . '/laravel/framework/src/Illuminate/Console/Scheduling/CacheSchedulingMutex.php', - 'Illuminate\\Console\\Scheduling\\CallbackEvent' => $vendorDir . '/laravel/framework/src/Illuminate/Console/Scheduling/CallbackEvent.php', - 'Illuminate\\Console\\Scheduling\\CommandBuilder' => $vendorDir . '/laravel/framework/src/Illuminate/Console/Scheduling/CommandBuilder.php', - 'Illuminate\\Console\\Scheduling\\Event' => $vendorDir . '/laravel/framework/src/Illuminate/Console/Scheduling/Event.php', - 'Illuminate\\Console\\Scheduling\\EventMutex' => $vendorDir . '/laravel/framework/src/Illuminate/Console/Scheduling/EventMutex.php', - 'Illuminate\\Console\\Scheduling\\ManagesFrequencies' => $vendorDir . '/laravel/framework/src/Illuminate/Console/Scheduling/ManagesFrequencies.php', - 'Illuminate\\Console\\Scheduling\\Schedule' => $vendorDir . '/laravel/framework/src/Illuminate/Console/Scheduling/Schedule.php', - 'Illuminate\\Console\\Scheduling\\ScheduleFinishCommand' => $vendorDir . '/laravel/framework/src/Illuminate/Console/Scheduling/ScheduleFinishCommand.php', - 'Illuminate\\Console\\Scheduling\\ScheduleRunCommand' => $vendorDir . '/laravel/framework/src/Illuminate/Console/Scheduling/ScheduleRunCommand.php', - 'Illuminate\\Console\\Scheduling\\SchedulingMutex' => $vendorDir . '/laravel/framework/src/Illuminate/Console/Scheduling/SchedulingMutex.php', - 'Illuminate\\Container\\BoundMethod' => $vendorDir . '/laravel/framework/src/Illuminate/Container/BoundMethod.php', - 'Illuminate\\Container\\Container' => $vendorDir . '/laravel/framework/src/Illuminate/Container/Container.php', - 'Illuminate\\Container\\ContextualBindingBuilder' => $vendorDir . '/laravel/framework/src/Illuminate/Container/ContextualBindingBuilder.php', - 'Illuminate\\Container\\EntryNotFoundException' => $vendorDir . '/laravel/framework/src/Illuminate/Container/EntryNotFoundException.php', - 'Illuminate\\Container\\RewindableGenerator' => $vendorDir . '/laravel/framework/src/Illuminate/Container/RewindableGenerator.php', - 'Illuminate\\Contracts\\Auth\\Access\\Authorizable' => $vendorDir . '/laravel/framework/src/Illuminate/Contracts/Auth/Access/Authorizable.php', - 'Illuminate\\Contracts\\Auth\\Access\\Gate' => $vendorDir . '/laravel/framework/src/Illuminate/Contracts/Auth/Access/Gate.php', - 'Illuminate\\Contracts\\Auth\\Authenticatable' => $vendorDir . '/laravel/framework/src/Illuminate/Contracts/Auth/Authenticatable.php', - 'Illuminate\\Contracts\\Auth\\CanResetPassword' => $vendorDir . '/laravel/framework/src/Illuminate/Contracts/Auth/CanResetPassword.php', - 'Illuminate\\Contracts\\Auth\\Factory' => $vendorDir . '/laravel/framework/src/Illuminate/Contracts/Auth/Factory.php', - 'Illuminate\\Contracts\\Auth\\Guard' => $vendorDir . '/laravel/framework/src/Illuminate/Contracts/Auth/Guard.php', - 'Illuminate\\Contracts\\Auth\\MustVerifyEmail' => $vendorDir . '/laravel/framework/src/Illuminate/Contracts/Auth/MustVerifyEmail.php', - 'Illuminate\\Contracts\\Auth\\PasswordBroker' => $vendorDir . '/laravel/framework/src/Illuminate/Contracts/Auth/PasswordBroker.php', - 'Illuminate\\Contracts\\Auth\\PasswordBrokerFactory' => $vendorDir . '/laravel/framework/src/Illuminate/Contracts/Auth/PasswordBrokerFactory.php', - 'Illuminate\\Contracts\\Auth\\StatefulGuard' => $vendorDir . '/laravel/framework/src/Illuminate/Contracts/Auth/StatefulGuard.php', - 'Illuminate\\Contracts\\Auth\\SupportsBasicAuth' => $vendorDir . '/laravel/framework/src/Illuminate/Contracts/Auth/SupportsBasicAuth.php', - 'Illuminate\\Contracts\\Auth\\UserProvider' => $vendorDir . '/laravel/framework/src/Illuminate/Contracts/Auth/UserProvider.php', - 'Illuminate\\Contracts\\Broadcasting\\Broadcaster' => $vendorDir . '/laravel/framework/src/Illuminate/Contracts/Broadcasting/Broadcaster.php', - 'Illuminate\\Contracts\\Broadcasting\\Factory' => $vendorDir . '/laravel/framework/src/Illuminate/Contracts/Broadcasting/Factory.php', - 'Illuminate\\Contracts\\Broadcasting\\ShouldBroadcast' => $vendorDir . '/laravel/framework/src/Illuminate/Contracts/Broadcasting/ShouldBroadcast.php', - 'Illuminate\\Contracts\\Broadcasting\\ShouldBroadcastNow' => $vendorDir . '/laravel/framework/src/Illuminate/Contracts/Broadcasting/ShouldBroadcastNow.php', - 'Illuminate\\Contracts\\Bus\\Dispatcher' => $vendorDir . '/laravel/framework/src/Illuminate/Contracts/Bus/Dispatcher.php', - 'Illuminate\\Contracts\\Bus\\QueueingDispatcher' => $vendorDir . '/laravel/framework/src/Illuminate/Contracts/Bus/QueueingDispatcher.php', - 'Illuminate\\Contracts\\Cache\\Factory' => $vendorDir . '/laravel/framework/src/Illuminate/Contracts/Cache/Factory.php', - 'Illuminate\\Contracts\\Cache\\Lock' => $vendorDir . '/laravel/framework/src/Illuminate/Contracts/Cache/Lock.php', - 'Illuminate\\Contracts\\Cache\\LockProvider' => $vendorDir . '/laravel/framework/src/Illuminate/Contracts/Cache/LockProvider.php', - 'Illuminate\\Contracts\\Cache\\LockTimeoutException' => $vendorDir . '/laravel/framework/src/Illuminate/Contracts/Cache/LockTimeoutException.php', - 'Illuminate\\Contracts\\Cache\\Repository' => $vendorDir . '/laravel/framework/src/Illuminate/Contracts/Cache/Repository.php', - 'Illuminate\\Contracts\\Cache\\Store' => $vendorDir . '/laravel/framework/src/Illuminate/Contracts/Cache/Store.php', - 'Illuminate\\Contracts\\Config\\Repository' => $vendorDir . '/laravel/framework/src/Illuminate/Contracts/Config/Repository.php', - 'Illuminate\\Contracts\\Console\\Application' => $vendorDir . '/laravel/framework/src/Illuminate/Contracts/Console/Application.php', - 'Illuminate\\Contracts\\Console\\Kernel' => $vendorDir . '/laravel/framework/src/Illuminate/Contracts/Console/Kernel.php', - 'Illuminate\\Contracts\\Container\\BindingResolutionException' => $vendorDir . '/laravel/framework/src/Illuminate/Contracts/Container/BindingResolutionException.php', - 'Illuminate\\Contracts\\Container\\Container' => $vendorDir . '/laravel/framework/src/Illuminate/Contracts/Container/Container.php', - 'Illuminate\\Contracts\\Container\\ContextualBindingBuilder' => $vendorDir . '/laravel/framework/src/Illuminate/Contracts/Container/ContextualBindingBuilder.php', - 'Illuminate\\Contracts\\Cookie\\Factory' => $vendorDir . '/laravel/framework/src/Illuminate/Contracts/Cookie/Factory.php', - 'Illuminate\\Contracts\\Cookie\\QueueingFactory' => $vendorDir . '/laravel/framework/src/Illuminate/Contracts/Cookie/QueueingFactory.php', - 'Illuminate\\Contracts\\Database\\Events\\MigrationEvent' => $vendorDir . '/laravel/framework/src/Illuminate/Contracts/Database/Events/MigrationEvent.php', - 'Illuminate\\Contracts\\Database\\ModelIdentifier' => $vendorDir . '/laravel/framework/src/Illuminate/Contracts/Database/ModelIdentifier.php', - 'Illuminate\\Contracts\\Debug\\ExceptionHandler' => $vendorDir . '/laravel/framework/src/Illuminate/Contracts/Debug/ExceptionHandler.php', - 'Illuminate\\Contracts\\Encryption\\DecryptException' => $vendorDir . '/laravel/framework/src/Illuminate/Contracts/Encryption/DecryptException.php', - 'Illuminate\\Contracts\\Encryption\\EncryptException' => $vendorDir . '/laravel/framework/src/Illuminate/Contracts/Encryption/EncryptException.php', - 'Illuminate\\Contracts\\Encryption\\Encrypter' => $vendorDir . '/laravel/framework/src/Illuminate/Contracts/Encryption/Encrypter.php', - 'Illuminate\\Contracts\\Events\\Dispatcher' => $vendorDir . '/laravel/framework/src/Illuminate/Contracts/Events/Dispatcher.php', - 'Illuminate\\Contracts\\Filesystem\\Cloud' => $vendorDir . '/laravel/framework/src/Illuminate/Contracts/Filesystem/Cloud.php', - 'Illuminate\\Contracts\\Filesystem\\Factory' => $vendorDir . '/laravel/framework/src/Illuminate/Contracts/Filesystem/Factory.php', - 'Illuminate\\Contracts\\Filesystem\\FileExistsException' => $vendorDir . '/laravel/framework/src/Illuminate/Contracts/Filesystem/FileExistsException.php', - 'Illuminate\\Contracts\\Filesystem\\FileNotFoundException' => $vendorDir . '/laravel/framework/src/Illuminate/Contracts/Filesystem/FileNotFoundException.php', - 'Illuminate\\Contracts\\Filesystem\\Filesystem' => $vendorDir . '/laravel/framework/src/Illuminate/Contracts/Filesystem/Filesystem.php', - 'Illuminate\\Contracts\\Foundation\\Application' => $vendorDir . '/laravel/framework/src/Illuminate/Contracts/Foundation/Application.php', - 'Illuminate\\Contracts\\Hashing\\Hasher' => $vendorDir . '/laravel/framework/src/Illuminate/Contracts/Hashing/Hasher.php', - 'Illuminate\\Contracts\\Http\\Kernel' => $vendorDir . '/laravel/framework/src/Illuminate/Contracts/Http/Kernel.php', - 'Illuminate\\Contracts\\Mail\\MailQueue' => $vendorDir . '/laravel/framework/src/Illuminate/Contracts/Mail/MailQueue.php', - 'Illuminate\\Contracts\\Mail\\Mailable' => $vendorDir . '/laravel/framework/src/Illuminate/Contracts/Mail/Mailable.php', - 'Illuminate\\Contracts\\Mail\\Mailer' => $vendorDir . '/laravel/framework/src/Illuminate/Contracts/Mail/Mailer.php', - 'Illuminate\\Contracts\\Notifications\\Dispatcher' => $vendorDir . '/laravel/framework/src/Illuminate/Contracts/Notifications/Dispatcher.php', - 'Illuminate\\Contracts\\Notifications\\Factory' => $vendorDir . '/laravel/framework/src/Illuminate/Contracts/Notifications/Factory.php', - 'Illuminate\\Contracts\\Pagination\\LengthAwarePaginator' => $vendorDir . '/laravel/framework/src/Illuminate/Contracts/Pagination/LengthAwarePaginator.php', - 'Illuminate\\Contracts\\Pagination\\Paginator' => $vendorDir . '/laravel/framework/src/Illuminate/Contracts/Pagination/Paginator.php', - 'Illuminate\\Contracts\\Pipeline\\Hub' => $vendorDir . '/laravel/framework/src/Illuminate/Contracts/Pipeline/Hub.php', - 'Illuminate\\Contracts\\Pipeline\\Pipeline' => $vendorDir . '/laravel/framework/src/Illuminate/Contracts/Pipeline/Pipeline.php', - 'Illuminate\\Contracts\\Queue\\EntityNotFoundException' => $vendorDir . '/laravel/framework/src/Illuminate/Contracts/Queue/EntityNotFoundException.php', - 'Illuminate\\Contracts\\Queue\\EntityResolver' => $vendorDir . '/laravel/framework/src/Illuminate/Contracts/Queue/EntityResolver.php', - 'Illuminate\\Contracts\\Queue\\Factory' => $vendorDir . '/laravel/framework/src/Illuminate/Contracts/Queue/Factory.php', - 'Illuminate\\Contracts\\Queue\\Job' => $vendorDir . '/laravel/framework/src/Illuminate/Contracts/Queue/Job.php', - 'Illuminate\\Contracts\\Queue\\Monitor' => $vendorDir . '/laravel/framework/src/Illuminate/Contracts/Queue/Monitor.php', - 'Illuminate\\Contracts\\Queue\\Queue' => $vendorDir . '/laravel/framework/src/Illuminate/Contracts/Queue/Queue.php', - 'Illuminate\\Contracts\\Queue\\QueueableCollection' => $vendorDir . '/laravel/framework/src/Illuminate/Contracts/Queue/QueueableCollection.php', - 'Illuminate\\Contracts\\Queue\\QueueableEntity' => $vendorDir . '/laravel/framework/src/Illuminate/Contracts/Queue/QueueableEntity.php', - 'Illuminate\\Contracts\\Queue\\ShouldQueue' => $vendorDir . '/laravel/framework/src/Illuminate/Contracts/Queue/ShouldQueue.php', - 'Illuminate\\Contracts\\Redis\\Connection' => $vendorDir . '/laravel/framework/src/Illuminate/Contracts/Redis/Connection.php', - 'Illuminate\\Contracts\\Redis\\Connector' => $vendorDir . '/laravel/framework/src/Illuminate/Contracts/Redis/Connector.php', - 'Illuminate\\Contracts\\Redis\\Factory' => $vendorDir . '/laravel/framework/src/Illuminate/Contracts/Redis/Factory.php', - 'Illuminate\\Contracts\\Redis\\LimiterTimeoutException' => $vendorDir . '/laravel/framework/src/Illuminate/Contracts/Redis/LimiterTimeoutException.php', - 'Illuminate\\Contracts\\Routing\\BindingRegistrar' => $vendorDir . '/laravel/framework/src/Illuminate/Contracts/Routing/BindingRegistrar.php', - 'Illuminate\\Contracts\\Routing\\Registrar' => $vendorDir . '/laravel/framework/src/Illuminate/Contracts/Routing/Registrar.php', - 'Illuminate\\Contracts\\Routing\\ResponseFactory' => $vendorDir . '/laravel/framework/src/Illuminate/Contracts/Routing/ResponseFactory.php', - 'Illuminate\\Contracts\\Routing\\UrlGenerator' => $vendorDir . '/laravel/framework/src/Illuminate/Contracts/Routing/UrlGenerator.php', - 'Illuminate\\Contracts\\Routing\\UrlRoutable' => $vendorDir . '/laravel/framework/src/Illuminate/Contracts/Routing/UrlRoutable.php', - 'Illuminate\\Contracts\\Session\\Session' => $vendorDir . '/laravel/framework/src/Illuminate/Contracts/Session/Session.php', - 'Illuminate\\Contracts\\Support\\Arrayable' => $vendorDir . '/laravel/framework/src/Illuminate/Contracts/Support/Arrayable.php', - 'Illuminate\\Contracts\\Support\\DeferrableProvider' => $vendorDir . '/laravel/framework/src/Illuminate/Contracts/Support/DeferrableProvider.php', - 'Illuminate\\Contracts\\Support\\Htmlable' => $vendorDir . '/laravel/framework/src/Illuminate/Contracts/Support/Htmlable.php', - 'Illuminate\\Contracts\\Support\\Jsonable' => $vendorDir . '/laravel/framework/src/Illuminate/Contracts/Support/Jsonable.php', - 'Illuminate\\Contracts\\Support\\MessageBag' => $vendorDir . '/laravel/framework/src/Illuminate/Contracts/Support/MessageBag.php', - 'Illuminate\\Contracts\\Support\\MessageProvider' => $vendorDir . '/laravel/framework/src/Illuminate/Contracts/Support/MessageProvider.php', - 'Illuminate\\Contracts\\Support\\Renderable' => $vendorDir . '/laravel/framework/src/Illuminate/Contracts/Support/Renderable.php', - 'Illuminate\\Contracts\\Support\\Responsable' => $vendorDir . '/laravel/framework/src/Illuminate/Contracts/Support/Responsable.php', - 'Illuminate\\Contracts\\Translation\\HasLocalePreference' => $vendorDir . '/laravel/framework/src/Illuminate/Contracts/Translation/HasLocalePreference.php', - 'Illuminate\\Contracts\\Translation\\Loader' => $vendorDir . '/laravel/framework/src/Illuminate/Contracts/Translation/Loader.php', - 'Illuminate\\Contracts\\Translation\\Translator' => $vendorDir . '/laravel/framework/src/Illuminate/Contracts/Translation/Translator.php', - 'Illuminate\\Contracts\\Validation\\Factory' => $vendorDir . '/laravel/framework/src/Illuminate/Contracts/Validation/Factory.php', - 'Illuminate\\Contracts\\Validation\\ImplicitRule' => $vendorDir . '/laravel/framework/src/Illuminate/Contracts/Validation/ImplicitRule.php', - 'Illuminate\\Contracts\\Validation\\Rule' => $vendorDir . '/laravel/framework/src/Illuminate/Contracts/Validation/Rule.php', - 'Illuminate\\Contracts\\Validation\\ValidatesWhenResolved' => $vendorDir . '/laravel/framework/src/Illuminate/Contracts/Validation/ValidatesWhenResolved.php', - 'Illuminate\\Contracts\\Validation\\Validator' => $vendorDir . '/laravel/framework/src/Illuminate/Contracts/Validation/Validator.php', - 'Illuminate\\Contracts\\View\\Engine' => $vendorDir . '/laravel/framework/src/Illuminate/Contracts/View/Engine.php', - 'Illuminate\\Contracts\\View\\Factory' => $vendorDir . '/laravel/framework/src/Illuminate/Contracts/View/Factory.php', - 'Illuminate\\Contracts\\View\\View' => $vendorDir . '/laravel/framework/src/Illuminate/Contracts/View/View.php', - 'Illuminate\\Cookie\\CookieJar' => $vendorDir . '/laravel/framework/src/Illuminate/Cookie/CookieJar.php', - 'Illuminate\\Cookie\\CookieServiceProvider' => $vendorDir . '/laravel/framework/src/Illuminate/Cookie/CookieServiceProvider.php', - 'Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse' => $vendorDir . '/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php', - 'Illuminate\\Cookie\\Middleware\\EncryptCookies' => $vendorDir . '/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php', - 'Illuminate\\Database\\Capsule\\Manager' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Capsule/Manager.php', - 'Illuminate\\Database\\Concerns\\BuildsQueries' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Concerns/BuildsQueries.php', - 'Illuminate\\Database\\Concerns\\ManagesTransactions' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Concerns/ManagesTransactions.php', - 'Illuminate\\Database\\ConfigurationUrlParser' => $vendorDir . '/laravel/framework/src/Illuminate/Database/ConfigurationUrlParser.php', - 'Illuminate\\Database\\Connection' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Connection.php', - 'Illuminate\\Database\\ConnectionInterface' => $vendorDir . '/laravel/framework/src/Illuminate/Database/ConnectionInterface.php', - 'Illuminate\\Database\\ConnectionResolver' => $vendorDir . '/laravel/framework/src/Illuminate/Database/ConnectionResolver.php', - 'Illuminate\\Database\\ConnectionResolverInterface' => $vendorDir . '/laravel/framework/src/Illuminate/Database/ConnectionResolverInterface.php', - 'Illuminate\\Database\\Connectors\\ConnectionFactory' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Connectors/ConnectionFactory.php', - 'Illuminate\\Database\\Connectors\\Connector' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Connectors/Connector.php', - 'Illuminate\\Database\\Connectors\\ConnectorInterface' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Connectors/ConnectorInterface.php', - 'Illuminate\\Database\\Connectors\\MySqlConnector' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Connectors/MySqlConnector.php', - 'Illuminate\\Database\\Connectors\\PostgresConnector' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Connectors/PostgresConnector.php', - 'Illuminate\\Database\\Connectors\\SQLiteConnector' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Connectors/SQLiteConnector.php', - 'Illuminate\\Database\\Connectors\\SqlServerConnector' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Connectors/SqlServerConnector.php', - 'Illuminate\\Database\\Console\\Factories\\FactoryMakeCommand' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Console/Factories/FactoryMakeCommand.php', - 'Illuminate\\Database\\Console\\Migrations\\BaseCommand' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Console/Migrations/BaseCommand.php', - 'Illuminate\\Database\\Console\\Migrations\\FreshCommand' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Console/Migrations/FreshCommand.php', - 'Illuminate\\Database\\Console\\Migrations\\InstallCommand' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Console/Migrations/InstallCommand.php', - 'Illuminate\\Database\\Console\\Migrations\\MigrateCommand' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Console/Migrations/MigrateCommand.php', - 'Illuminate\\Database\\Console\\Migrations\\MigrateMakeCommand' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Console/Migrations/MigrateMakeCommand.php', - 'Illuminate\\Database\\Console\\Migrations\\RefreshCommand' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Console/Migrations/RefreshCommand.php', - 'Illuminate\\Database\\Console\\Migrations\\ResetCommand' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Console/Migrations/ResetCommand.php', - 'Illuminate\\Database\\Console\\Migrations\\RollbackCommand' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Console/Migrations/RollbackCommand.php', - 'Illuminate\\Database\\Console\\Migrations\\StatusCommand' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Console/Migrations/StatusCommand.php', - 'Illuminate\\Database\\Console\\Migrations\\TableGuesser' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Console/Migrations/TableGuesser.php', - 'Illuminate\\Database\\Console\\Seeds\\SeedCommand' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Console/Seeds/SeedCommand.php', - 'Illuminate\\Database\\Console\\Seeds\\SeederMakeCommand' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Console/Seeds/SeederMakeCommand.php', - 'Illuminate\\Database\\DatabaseManager' => $vendorDir . '/laravel/framework/src/Illuminate/Database/DatabaseManager.php', - 'Illuminate\\Database\\DatabaseServiceProvider' => $vendorDir . '/laravel/framework/src/Illuminate/Database/DatabaseServiceProvider.php', - 'Illuminate\\Database\\DetectsDeadlocks' => $vendorDir . '/laravel/framework/src/Illuminate/Database/DetectsDeadlocks.php', - 'Illuminate\\Database\\DetectsLostConnections' => $vendorDir . '/laravel/framework/src/Illuminate/Database/DetectsLostConnections.php', - 'Illuminate\\Database\\Eloquent\\Builder' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php', - 'Illuminate\\Database\\Eloquent\\Collection' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Eloquent/Collection.php', - 'Illuminate\\Database\\Eloquent\\Concerns\\GuardsAttributes' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/GuardsAttributes.php', - 'Illuminate\\Database\\Eloquent\\Concerns\\HasAttributes' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/HasAttributes.php', - 'Illuminate\\Database\\Eloquent\\Concerns\\HasEvents' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/HasEvents.php', - 'Illuminate\\Database\\Eloquent\\Concerns\\HasGlobalScopes' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/HasGlobalScopes.php', - 'Illuminate\\Database\\Eloquent\\Concerns\\HasRelationships' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/HasRelationships.php', - 'Illuminate\\Database\\Eloquent\\Concerns\\HasTimestamps' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/HasTimestamps.php', - 'Illuminate\\Database\\Eloquent\\Concerns\\HidesAttributes' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/HidesAttributes.php', - 'Illuminate\\Database\\Eloquent\\Concerns\\QueriesRelationships' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/QueriesRelationships.php', - 'Illuminate\\Database\\Eloquent\\Factory' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Eloquent/Factory.php', - 'Illuminate\\Database\\Eloquent\\FactoryBuilder' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Eloquent/FactoryBuilder.php', - 'Illuminate\\Database\\Eloquent\\HigherOrderBuilderProxy' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Eloquent/HigherOrderBuilderProxy.php', - 'Illuminate\\Database\\Eloquent\\JsonEncodingException' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Eloquent/JsonEncodingException.php', - 'Illuminate\\Database\\Eloquent\\MassAssignmentException' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Eloquent/MassAssignmentException.php', - 'Illuminate\\Database\\Eloquent\\Model' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Eloquent/Model.php', - 'Illuminate\\Database\\Eloquent\\ModelNotFoundException' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Eloquent/ModelNotFoundException.php', - 'Illuminate\\Database\\Eloquent\\QueueEntityResolver' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Eloquent/QueueEntityResolver.php', - 'Illuminate\\Database\\Eloquent\\RelationNotFoundException' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Eloquent/RelationNotFoundException.php', - 'Illuminate\\Database\\Eloquent\\Relations\\BelongsTo' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Eloquent/Relations/BelongsTo.php', - 'Illuminate\\Database\\Eloquent\\Relations\\BelongsToMany' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Eloquent/Relations/BelongsToMany.php', - 'Illuminate\\Database\\Eloquent\\Relations\\Concerns\\AsPivot' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Eloquent/Relations/Concerns/AsPivot.php', - 'Illuminate\\Database\\Eloquent\\Relations\\Concerns\\InteractsWithPivotTable' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Eloquent/Relations/Concerns/InteractsWithPivotTable.php', - 'Illuminate\\Database\\Eloquent\\Relations\\Concerns\\SupportsDefaultModels' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Eloquent/Relations/Concerns/SupportsDefaultModels.php', - 'Illuminate\\Database\\Eloquent\\Relations\\HasMany' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Eloquent/Relations/HasMany.php', - 'Illuminate\\Database\\Eloquent\\Relations\\HasManyThrough' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Eloquent/Relations/HasManyThrough.php', - 'Illuminate\\Database\\Eloquent\\Relations\\HasOne' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Eloquent/Relations/HasOne.php', - 'Illuminate\\Database\\Eloquent\\Relations\\HasOneOrMany' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Eloquent/Relations/HasOneOrMany.php', - 'Illuminate\\Database\\Eloquent\\Relations\\HasOneThrough' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Eloquent/Relations/HasOneThrough.php', - 'Illuminate\\Database\\Eloquent\\Relations\\MorphMany' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Eloquent/Relations/MorphMany.php', - 'Illuminate\\Database\\Eloquent\\Relations\\MorphOne' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Eloquent/Relations/MorphOne.php', - 'Illuminate\\Database\\Eloquent\\Relations\\MorphOneOrMany' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Eloquent/Relations/MorphOneOrMany.php', - 'Illuminate\\Database\\Eloquent\\Relations\\MorphPivot' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Eloquent/Relations/MorphPivot.php', - 'Illuminate\\Database\\Eloquent\\Relations\\MorphTo' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Eloquent/Relations/MorphTo.php', - 'Illuminate\\Database\\Eloquent\\Relations\\MorphToMany' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Eloquent/Relations/MorphToMany.php', - 'Illuminate\\Database\\Eloquent\\Relations\\Pivot' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Eloquent/Relations/Pivot.php', - 'Illuminate\\Database\\Eloquent\\Relations\\Relation' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Eloquent/Relations/Relation.php', - 'Illuminate\\Database\\Eloquent\\Scope' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Eloquent/Scope.php', - 'Illuminate\\Database\\Eloquent\\SoftDeletes' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Eloquent/SoftDeletes.php', - 'Illuminate\\Database\\Eloquent\\SoftDeletingScope' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Eloquent/SoftDeletingScope.php', - 'Illuminate\\Database\\Events\\ConnectionEvent' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Events/ConnectionEvent.php', - 'Illuminate\\Database\\Events\\MigrationEnded' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Events/MigrationEnded.php', - 'Illuminate\\Database\\Events\\MigrationEvent' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Events/MigrationEvent.php', - 'Illuminate\\Database\\Events\\MigrationStarted' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Events/MigrationStarted.php', - 'Illuminate\\Database\\Events\\MigrationsEnded' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Events/MigrationsEnded.php', - 'Illuminate\\Database\\Events\\MigrationsStarted' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Events/MigrationsStarted.php', - 'Illuminate\\Database\\Events\\QueryExecuted' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Events/QueryExecuted.php', - 'Illuminate\\Database\\Events\\StatementPrepared' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Events/StatementPrepared.php', - 'Illuminate\\Database\\Events\\TransactionBeginning' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Events/TransactionBeginning.php', - 'Illuminate\\Database\\Events\\TransactionCommitted' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Events/TransactionCommitted.php', - 'Illuminate\\Database\\Events\\TransactionRolledBack' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Events/TransactionRolledBack.php', - 'Illuminate\\Database\\Grammar' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Grammar.php', - 'Illuminate\\Database\\MigrationServiceProvider' => $vendorDir . '/laravel/framework/src/Illuminate/Database/MigrationServiceProvider.php', - 'Illuminate\\Database\\Migrations\\DatabaseMigrationRepository' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Migrations/DatabaseMigrationRepository.php', - 'Illuminate\\Database\\Migrations\\Migration' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Migrations/Migration.php', - 'Illuminate\\Database\\Migrations\\MigrationCreator' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Migrations/MigrationCreator.php', - 'Illuminate\\Database\\Migrations\\MigrationRepositoryInterface' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Migrations/MigrationRepositoryInterface.php', - 'Illuminate\\Database\\Migrations\\Migrator' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Migrations/Migrator.php', - 'Illuminate\\Database\\MySqlConnection' => $vendorDir . '/laravel/framework/src/Illuminate/Database/MySqlConnection.php', - 'Illuminate\\Database\\PostgresConnection' => $vendorDir . '/laravel/framework/src/Illuminate/Database/PostgresConnection.php', - 'Illuminate\\Database\\QueryException' => $vendorDir . '/laravel/framework/src/Illuminate/Database/QueryException.php', - 'Illuminate\\Database\\Query\\Builder' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Query/Builder.php', - 'Illuminate\\Database\\Query\\Expression' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Query/Expression.php', - 'Illuminate\\Database\\Query\\Grammars\\Grammar' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Query/Grammars/Grammar.php', - 'Illuminate\\Database\\Query\\Grammars\\MySqlGrammar' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Query/Grammars/MySqlGrammar.php', - 'Illuminate\\Database\\Query\\Grammars\\PostgresGrammar' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Query/Grammars/PostgresGrammar.php', - 'Illuminate\\Database\\Query\\Grammars\\SQLiteGrammar' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Query/Grammars/SQLiteGrammar.php', - 'Illuminate\\Database\\Query\\Grammars\\SqlServerGrammar' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Query/Grammars/SqlServerGrammar.php', - 'Illuminate\\Database\\Query\\JoinClause' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Query/JoinClause.php', - 'Illuminate\\Database\\Query\\JsonExpression' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Query/JsonExpression.php', - 'Illuminate\\Database\\Query\\Processors\\MySqlProcessor' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Query/Processors/MySqlProcessor.php', - 'Illuminate\\Database\\Query\\Processors\\PostgresProcessor' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Query/Processors/PostgresProcessor.php', - 'Illuminate\\Database\\Query\\Processors\\Processor' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Query/Processors/Processor.php', - 'Illuminate\\Database\\Query\\Processors\\SQLiteProcessor' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Query/Processors/SQLiteProcessor.php', - 'Illuminate\\Database\\Query\\Processors\\SqlServerProcessor' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Query/Processors/SqlServerProcessor.php', - 'Illuminate\\Database\\SQLiteConnection' => $vendorDir . '/laravel/framework/src/Illuminate/Database/SQLiteConnection.php', - 'Illuminate\\Database\\Schema\\Blueprint' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Schema/Blueprint.php', - 'Illuminate\\Database\\Schema\\Builder' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Schema/Builder.php', - 'Illuminate\\Database\\Schema\\ColumnDefinition' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Schema/ColumnDefinition.php', - 'Illuminate\\Database\\Schema\\ForeignKeyDefinition' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Schema/ForeignKeyDefinition.php', - 'Illuminate\\Database\\Schema\\Grammars\\ChangeColumn' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Schema/Grammars/ChangeColumn.php', - 'Illuminate\\Database\\Schema\\Grammars\\Grammar' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Schema/Grammars/Grammar.php', - 'Illuminate\\Database\\Schema\\Grammars\\MySqlGrammar' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Schema/Grammars/MySqlGrammar.php', - 'Illuminate\\Database\\Schema\\Grammars\\PostgresGrammar' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Schema/Grammars/PostgresGrammar.php', - 'Illuminate\\Database\\Schema\\Grammars\\RenameColumn' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Schema/Grammars/RenameColumn.php', - 'Illuminate\\Database\\Schema\\Grammars\\SQLiteGrammar' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Schema/Grammars/SQLiteGrammar.php', - 'Illuminate\\Database\\Schema\\Grammars\\SqlServerGrammar' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Schema/Grammars/SqlServerGrammar.php', - 'Illuminate\\Database\\Schema\\MySqlBuilder' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Schema/MySqlBuilder.php', - 'Illuminate\\Database\\Schema\\PostgresBuilder' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Schema/PostgresBuilder.php', - 'Illuminate\\Database\\Schema\\SQLiteBuilder' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Schema/SQLiteBuilder.php', - 'Illuminate\\Database\\Schema\\SqlServerBuilder' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Schema/SqlServerBuilder.php', - 'Illuminate\\Database\\Seeder' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Seeder.php', - 'Illuminate\\Database\\SqlServerConnection' => $vendorDir . '/laravel/framework/src/Illuminate/Database/SqlServerConnection.php', - 'Illuminate\\Encryption\\Encrypter' => $vendorDir . '/laravel/framework/src/Illuminate/Encryption/Encrypter.php', - 'Illuminate\\Encryption\\EncryptionServiceProvider' => $vendorDir . '/laravel/framework/src/Illuminate/Encryption/EncryptionServiceProvider.php', - 'Illuminate\\Events\\CallQueuedListener' => $vendorDir . '/laravel/framework/src/Illuminate/Events/CallQueuedListener.php', - 'Illuminate\\Events\\Dispatcher' => $vendorDir . '/laravel/framework/src/Illuminate/Events/Dispatcher.php', - 'Illuminate\\Events\\EventServiceProvider' => $vendorDir . '/laravel/framework/src/Illuminate/Events/EventServiceProvider.php', - 'Illuminate\\Filesystem\\Cache' => $vendorDir . '/laravel/framework/src/Illuminate/Filesystem/Cache.php', - 'Illuminate\\Filesystem\\Filesystem' => $vendorDir . '/laravel/framework/src/Illuminate/Filesystem/Filesystem.php', - 'Illuminate\\Filesystem\\FilesystemAdapter' => $vendorDir . '/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php', - 'Illuminate\\Filesystem\\FilesystemManager' => $vendorDir . '/laravel/framework/src/Illuminate/Filesystem/FilesystemManager.php', - 'Illuminate\\Filesystem\\FilesystemServiceProvider' => $vendorDir . '/laravel/framework/src/Illuminate/Filesystem/FilesystemServiceProvider.php', - 'Illuminate\\Foundation\\AliasLoader' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/AliasLoader.php', - 'Illuminate\\Foundation\\Application' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Application.php', - 'Illuminate\\Foundation\\Auth\\Access\\Authorizable' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Auth/Access/Authorizable.php', - 'Illuminate\\Foundation\\Auth\\Access\\AuthorizesRequests' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Auth/Access/AuthorizesRequests.php', - 'Illuminate\\Foundation\\Auth\\AuthenticatesUsers' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Auth/AuthenticatesUsers.php', - 'Illuminate\\Foundation\\Auth\\RedirectsUsers' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Auth/RedirectsUsers.php', - 'Illuminate\\Foundation\\Auth\\RegistersUsers' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Auth/RegistersUsers.php', - 'Illuminate\\Foundation\\Auth\\ResetsPasswords' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Auth/ResetsPasswords.php', - 'Illuminate\\Foundation\\Auth\\SendsPasswordResetEmails' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Auth/SendsPasswordResetEmails.php', - 'Illuminate\\Foundation\\Auth\\ThrottlesLogins' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Auth/ThrottlesLogins.php', - 'Illuminate\\Foundation\\Auth\\User' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Auth/User.php', - 'Illuminate\\Foundation\\Auth\\VerifiesEmails' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Auth/VerifiesEmails.php', - 'Illuminate\\Foundation\\Bootstrap\\BootProviders' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Bootstrap/BootProviders.php', - 'Illuminate\\Foundation\\Bootstrap\\HandleExceptions' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php', - 'Illuminate\\Foundation\\Bootstrap\\LoadConfiguration' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Bootstrap/LoadConfiguration.php', - 'Illuminate\\Foundation\\Bootstrap\\LoadEnvironmentVariables' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Bootstrap/LoadEnvironmentVariables.php', - 'Illuminate\\Foundation\\Bootstrap\\RegisterFacades' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Bootstrap/RegisterFacades.php', - 'Illuminate\\Foundation\\Bootstrap\\RegisterProviders' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Bootstrap/RegisterProviders.php', - 'Illuminate\\Foundation\\Bootstrap\\SetRequestForConsole' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Bootstrap/SetRequestForConsole.php', - 'Illuminate\\Foundation\\Bus\\Dispatchable' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Bus/Dispatchable.php', - 'Illuminate\\Foundation\\Bus\\DispatchesJobs' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Bus/DispatchesJobs.php', - 'Illuminate\\Foundation\\Bus\\PendingChain' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Bus/PendingChain.php', - 'Illuminate\\Foundation\\Bus\\PendingDispatch' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Bus/PendingDispatch.php', - 'Illuminate\\Foundation\\ComposerScripts' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/ComposerScripts.php', - 'Illuminate\\Foundation\\Console\\AppNameCommand' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Console/AppNameCommand.php', - 'Illuminate\\Foundation\\Console\\ChannelMakeCommand' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Console/ChannelMakeCommand.php', - 'Illuminate\\Foundation\\Console\\ClearCompiledCommand' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Console/ClearCompiledCommand.php', - 'Illuminate\\Foundation\\Console\\ClosureCommand' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Console/ClosureCommand.php', - 'Illuminate\\Foundation\\Console\\ConfigCacheCommand' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Console/ConfigCacheCommand.php', - 'Illuminate\\Foundation\\Console\\ConfigClearCommand' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Console/ConfigClearCommand.php', - 'Illuminate\\Foundation\\Console\\ConsoleMakeCommand' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Console/ConsoleMakeCommand.php', - 'Illuminate\\Foundation\\Console\\DownCommand' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Console/DownCommand.php', - 'Illuminate\\Foundation\\Console\\EnvironmentCommand' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Console/EnvironmentCommand.php', - 'Illuminate\\Foundation\\Console\\EventCacheCommand' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Console/EventCacheCommand.php', - 'Illuminate\\Foundation\\Console\\EventClearCommand' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Console/EventClearCommand.php', - 'Illuminate\\Foundation\\Console\\EventGenerateCommand' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Console/EventGenerateCommand.php', - 'Illuminate\\Foundation\\Console\\EventListCommand' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Console/EventListCommand.php', - 'Illuminate\\Foundation\\Console\\EventMakeCommand' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Console/EventMakeCommand.php', - 'Illuminate\\Foundation\\Console\\ExceptionMakeCommand' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Console/ExceptionMakeCommand.php', - 'Illuminate\\Foundation\\Console\\JobMakeCommand' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Console/JobMakeCommand.php', - 'Illuminate\\Foundation\\Console\\Kernel' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php', - 'Illuminate\\Foundation\\Console\\KeyGenerateCommand' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Console/KeyGenerateCommand.php', - 'Illuminate\\Foundation\\Console\\ListenerMakeCommand' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Console/ListenerMakeCommand.php', - 'Illuminate\\Foundation\\Console\\MailMakeCommand' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Console/MailMakeCommand.php', - 'Illuminate\\Foundation\\Console\\ModelMakeCommand' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Console/ModelMakeCommand.php', - 'Illuminate\\Foundation\\Console\\NotificationMakeCommand' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Console/NotificationMakeCommand.php', - 'Illuminate\\Foundation\\Console\\ObserverMakeCommand' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Console/ObserverMakeCommand.php', - 'Illuminate\\Foundation\\Console\\OptimizeClearCommand' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Console/OptimizeClearCommand.php', - 'Illuminate\\Foundation\\Console\\OptimizeCommand' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Console/OptimizeCommand.php', - 'Illuminate\\Foundation\\Console\\PackageDiscoverCommand' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Console/PackageDiscoverCommand.php', - 'Illuminate\\Foundation\\Console\\PolicyMakeCommand' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Console/PolicyMakeCommand.php', - 'Illuminate\\Foundation\\Console\\PresetCommand' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Console/PresetCommand.php', - 'Illuminate\\Foundation\\Console\\Presets\\Bootstrap' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Console/Presets/Bootstrap.php', - 'Illuminate\\Foundation\\Console\\Presets\\None' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Console/Presets/None.php', - 'Illuminate\\Foundation\\Console\\Presets\\Preset' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Console/Presets/Preset.php', - 'Illuminate\\Foundation\\Console\\Presets\\React' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Console/Presets/React.php', - 'Illuminate\\Foundation\\Console\\Presets\\Vue' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Console/Presets/Vue.php', - 'Illuminate\\Foundation\\Console\\ProviderMakeCommand' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Console/ProviderMakeCommand.php', - 'Illuminate\\Foundation\\Console\\QueuedCommand' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Console/QueuedCommand.php', - 'Illuminate\\Foundation\\Console\\RequestMakeCommand' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Console/RequestMakeCommand.php', - 'Illuminate\\Foundation\\Console\\ResourceMakeCommand' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Console/ResourceMakeCommand.php', - 'Illuminate\\Foundation\\Console\\RouteCacheCommand' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Console/RouteCacheCommand.php', - 'Illuminate\\Foundation\\Console\\RouteClearCommand' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Console/RouteClearCommand.php', - 'Illuminate\\Foundation\\Console\\RouteListCommand' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Console/RouteListCommand.php', - 'Illuminate\\Foundation\\Console\\RuleMakeCommand' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Console/RuleMakeCommand.php', - 'Illuminate\\Foundation\\Console\\ServeCommand' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Console/ServeCommand.php', - 'Illuminate\\Foundation\\Console\\StorageLinkCommand' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Console/StorageLinkCommand.php', - 'Illuminate\\Foundation\\Console\\TestMakeCommand' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Console/TestMakeCommand.php', - 'Illuminate\\Foundation\\Console\\UpCommand' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Console/UpCommand.php', - 'Illuminate\\Foundation\\Console\\VendorPublishCommand' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Console/VendorPublishCommand.php', - 'Illuminate\\Foundation\\Console\\ViewCacheCommand' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Console/ViewCacheCommand.php', - 'Illuminate\\Foundation\\Console\\ViewClearCommand' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Console/ViewClearCommand.php', - 'Illuminate\\Foundation\\EnvironmentDetector' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/EnvironmentDetector.php', - 'Illuminate\\Foundation\\Events\\DiscoverEvents' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Events/DiscoverEvents.php', - 'Illuminate\\Foundation\\Events\\Dispatchable' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Events/Dispatchable.php', - 'Illuminate\\Foundation\\Events\\LocaleUpdated' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Events/LocaleUpdated.php', - 'Illuminate\\Foundation\\Exceptions\\Handler' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php', - 'Illuminate\\Foundation\\Exceptions\\WhoopsHandler' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Exceptions/WhoopsHandler.php', - 'Illuminate\\Foundation\\Http\\Events\\RequestHandled' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Http/Events/RequestHandled.php', - 'Illuminate\\Foundation\\Http\\Exceptions\\MaintenanceModeException' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Http/Exceptions/MaintenanceModeException.php', - 'Illuminate\\Foundation\\Http\\FormRequest' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Http/FormRequest.php', - 'Illuminate\\Foundation\\Http\\Kernel' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php', - 'Illuminate\\Foundation\\Http\\Middleware\\CheckForMaintenanceMode' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php', - 'Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php', - 'Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php', - 'Illuminate\\Foundation\\Http\\Middleware\\TrimStrings' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php', - 'Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php', - 'Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php', - 'Illuminate\\Foundation\\Inspiring' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Inspiring.php', - 'Illuminate\\Foundation\\Mix' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Mix.php', - 'Illuminate\\Foundation\\PackageManifest' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/PackageManifest.php', - 'Illuminate\\Foundation\\ProviderRepository' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/ProviderRepository.php', - 'Illuminate\\Foundation\\Providers\\ArtisanServiceProvider' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Providers/ArtisanServiceProvider.php', - 'Illuminate\\Foundation\\Providers\\ComposerServiceProvider' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Providers/ComposerServiceProvider.php', - 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Providers/ConsoleSupportServiceProvider.php', - 'Illuminate\\Foundation\\Providers\\FormRequestServiceProvider' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Providers/FormRequestServiceProvider.php', - 'Illuminate\\Foundation\\Providers\\FoundationServiceProvider' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Providers/FoundationServiceProvider.php', - 'Illuminate\\Foundation\\Support\\Providers\\AuthServiceProvider' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Support/Providers/AuthServiceProvider.php', - 'Illuminate\\Foundation\\Support\\Providers\\EventServiceProvider' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Support/Providers/EventServiceProvider.php', - 'Illuminate\\Foundation\\Support\\Providers\\RouteServiceProvider' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Support/Providers/RouteServiceProvider.php', - 'Illuminate\\Foundation\\Testing\\Assert' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Testing/Assert.php', - 'Illuminate\\Foundation\\Testing\\Concerns\\InteractsWithAuthentication' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Testing/Concerns/InteractsWithAuthentication.php', - 'Illuminate\\Foundation\\Testing\\Concerns\\InteractsWithConsole' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Testing/Concerns/InteractsWithConsole.php', - 'Illuminate\\Foundation\\Testing\\Concerns\\InteractsWithContainer' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Testing/Concerns/InteractsWithContainer.php', - 'Illuminate\\Foundation\\Testing\\Concerns\\InteractsWithDatabase' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Testing/Concerns/InteractsWithDatabase.php', - 'Illuminate\\Foundation\\Testing\\Concerns\\InteractsWithExceptionHandling' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Testing/Concerns/InteractsWithExceptionHandling.php', - 'Illuminate\\Foundation\\Testing\\Concerns\\InteractsWithRedis' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Testing/Concerns/InteractsWithRedis.php', - 'Illuminate\\Foundation\\Testing\\Concerns\\InteractsWithSession' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Testing/Concerns/InteractsWithSession.php', - 'Illuminate\\Foundation\\Testing\\Concerns\\MakesHttpRequests' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Testing/Concerns/MakesHttpRequests.php', - 'Illuminate\\Foundation\\Testing\\Concerns\\MocksApplicationServices' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Testing/Concerns/MocksApplicationServices.php', - 'Illuminate\\Foundation\\Testing\\Constraints\\HasInDatabase' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Testing/Constraints/HasInDatabase.php', - 'Illuminate\\Foundation\\Testing\\Constraints\\SeeInOrder' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Testing/Constraints/SeeInOrder.php', - 'Illuminate\\Foundation\\Testing\\Constraints\\SoftDeletedInDatabase' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Testing/Constraints/SoftDeletedInDatabase.php', - 'Illuminate\\Foundation\\Testing\\DatabaseMigrations' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Testing/DatabaseMigrations.php', - 'Illuminate\\Foundation\\Testing\\DatabaseTransactions' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Testing/DatabaseTransactions.php', - 'Illuminate\\Foundation\\Testing\\PendingCommand' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Testing/PendingCommand.php', - 'Illuminate\\Foundation\\Testing\\RefreshDatabase' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Testing/RefreshDatabase.php', - 'Illuminate\\Foundation\\Testing\\RefreshDatabaseState' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Testing/RefreshDatabaseState.php', - 'Illuminate\\Foundation\\Testing\\TestCase' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Testing/TestCase.php', - 'Illuminate\\Foundation\\Testing\\TestResponse' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Testing/TestResponse.php', - 'Illuminate\\Foundation\\Testing\\WithFaker' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Testing/WithFaker.php', - 'Illuminate\\Foundation\\Testing\\WithoutEvents' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Testing/WithoutEvents.php', - 'Illuminate\\Foundation\\Testing\\WithoutMiddleware' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Testing/WithoutMiddleware.php', - 'Illuminate\\Foundation\\Validation\\ValidatesRequests' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/Validation/ValidatesRequests.php', - 'Illuminate\\Hashing\\AbstractHasher' => $vendorDir . '/laravel/framework/src/Illuminate/Hashing/AbstractHasher.php', - 'Illuminate\\Hashing\\Argon2IdHasher' => $vendorDir . '/laravel/framework/src/Illuminate/Hashing/Argon2IdHasher.php', - 'Illuminate\\Hashing\\ArgonHasher' => $vendorDir . '/laravel/framework/src/Illuminate/Hashing/ArgonHasher.php', - 'Illuminate\\Hashing\\BcryptHasher' => $vendorDir . '/laravel/framework/src/Illuminate/Hashing/BcryptHasher.php', - 'Illuminate\\Hashing\\HashManager' => $vendorDir . '/laravel/framework/src/Illuminate/Hashing/HashManager.php', - 'Illuminate\\Hashing\\HashServiceProvider' => $vendorDir . '/laravel/framework/src/Illuminate/Hashing/HashServiceProvider.php', - 'Illuminate\\Http\\Concerns\\InteractsWithContentTypes' => $vendorDir . '/laravel/framework/src/Illuminate/Http/Concerns/InteractsWithContentTypes.php', - 'Illuminate\\Http\\Concerns\\InteractsWithFlashData' => $vendorDir . '/laravel/framework/src/Illuminate/Http/Concerns/InteractsWithFlashData.php', - 'Illuminate\\Http\\Concerns\\InteractsWithInput' => $vendorDir . '/laravel/framework/src/Illuminate/Http/Concerns/InteractsWithInput.php', - 'Illuminate\\Http\\Exceptions\\HttpResponseException' => $vendorDir . '/laravel/framework/src/Illuminate/Http/Exceptions/HttpResponseException.php', - 'Illuminate\\Http\\Exceptions\\PostTooLargeException' => $vendorDir . '/laravel/framework/src/Illuminate/Http/Exceptions/PostTooLargeException.php', - 'Illuminate\\Http\\Exceptions\\ThrottleRequestsException' => $vendorDir . '/laravel/framework/src/Illuminate/Http/Exceptions/ThrottleRequestsException.php', - 'Illuminate\\Http\\File' => $vendorDir . '/laravel/framework/src/Illuminate/Http/File.php', - 'Illuminate\\Http\\FileHelpers' => $vendorDir . '/laravel/framework/src/Illuminate/Http/FileHelpers.php', - 'Illuminate\\Http\\JsonResponse' => $vendorDir . '/laravel/framework/src/Illuminate/Http/JsonResponse.php', - 'Illuminate\\Http\\Middleware\\CheckResponseForModifications' => $vendorDir . '/laravel/framework/src/Illuminate/Http/Middleware/CheckResponseForModifications.php', - 'Illuminate\\Http\\Middleware\\FrameGuard' => $vendorDir . '/laravel/framework/src/Illuminate/Http/Middleware/FrameGuard.php', - 'Illuminate\\Http\\Middleware\\SetCacheHeaders' => $vendorDir . '/laravel/framework/src/Illuminate/Http/Middleware/SetCacheHeaders.php', - 'Illuminate\\Http\\RedirectResponse' => $vendorDir . '/laravel/framework/src/Illuminate/Http/RedirectResponse.php', - 'Illuminate\\Http\\Request' => $vendorDir . '/laravel/framework/src/Illuminate/Http/Request.php', - 'Illuminate\\Http\\Resources\\CollectsResources' => $vendorDir . '/laravel/framework/src/Illuminate/Http/Resources/CollectsResources.php', - 'Illuminate\\Http\\Resources\\ConditionallyLoadsAttributes' => $vendorDir . '/laravel/framework/src/Illuminate/Http/Resources/ConditionallyLoadsAttributes.php', - 'Illuminate\\Http\\Resources\\DelegatesToResource' => $vendorDir . '/laravel/framework/src/Illuminate/Http/Resources/DelegatesToResource.php', - 'Illuminate\\Http\\Resources\\Json\\AnonymousResourceCollection' => $vendorDir . '/laravel/framework/src/Illuminate/Http/Resources/Json/AnonymousResourceCollection.php', - 'Illuminate\\Http\\Resources\\Json\\JsonResource' => $vendorDir . '/laravel/framework/src/Illuminate/Http/Resources/Json/JsonResource.php', - 'Illuminate\\Http\\Resources\\Json\\PaginatedResourceResponse' => $vendorDir . '/laravel/framework/src/Illuminate/Http/Resources/Json/PaginatedResourceResponse.php', - 'Illuminate\\Http\\Resources\\Json\\Resource' => $vendorDir . '/laravel/framework/src/Illuminate/Http/Resources/Json/Resource.php', - 'Illuminate\\Http\\Resources\\Json\\ResourceCollection' => $vendorDir . '/laravel/framework/src/Illuminate/Http/Resources/Json/ResourceCollection.php', - 'Illuminate\\Http\\Resources\\Json\\ResourceResponse' => $vendorDir . '/laravel/framework/src/Illuminate/Http/Resources/Json/ResourceResponse.php', - 'Illuminate\\Http\\Resources\\MergeValue' => $vendorDir . '/laravel/framework/src/Illuminate/Http/Resources/MergeValue.php', - 'Illuminate\\Http\\Resources\\MissingValue' => $vendorDir . '/laravel/framework/src/Illuminate/Http/Resources/MissingValue.php', - 'Illuminate\\Http\\Resources\\PotentiallyMissing' => $vendorDir . '/laravel/framework/src/Illuminate/Http/Resources/PotentiallyMissing.php', - 'Illuminate\\Http\\Response' => $vendorDir . '/laravel/framework/src/Illuminate/Http/Response.php', - 'Illuminate\\Http\\ResponseTrait' => $vendorDir . '/laravel/framework/src/Illuminate/Http/ResponseTrait.php', - 'Illuminate\\Http\\Testing\\File' => $vendorDir . '/laravel/framework/src/Illuminate/Http/Testing/File.php', - 'Illuminate\\Http\\Testing\\FileFactory' => $vendorDir . '/laravel/framework/src/Illuminate/Http/Testing/FileFactory.php', - 'Illuminate\\Http\\Testing\\MimeType' => $vendorDir . '/laravel/framework/src/Illuminate/Http/Testing/MimeType.php', - 'Illuminate\\Http\\UploadedFile' => $vendorDir . '/laravel/framework/src/Illuminate/Http/UploadedFile.php', - 'Illuminate\\Log\\Events\\MessageLogged' => $vendorDir . '/laravel/framework/src/Illuminate/Log/Events/MessageLogged.php', - 'Illuminate\\Log\\LogManager' => $vendorDir . '/laravel/framework/src/Illuminate/Log/LogManager.php', - 'Illuminate\\Log\\LogServiceProvider' => $vendorDir . '/laravel/framework/src/Illuminate/Log/LogServiceProvider.php', - 'Illuminate\\Log\\Logger' => $vendorDir . '/laravel/framework/src/Illuminate/Log/Logger.php', - 'Illuminate\\Log\\ParsesLogConfiguration' => $vendorDir . '/laravel/framework/src/Illuminate/Log/ParsesLogConfiguration.php', - 'Illuminate\\Mail\\Events\\MessageSending' => $vendorDir . '/laravel/framework/src/Illuminate/Mail/Events/MessageSending.php', - 'Illuminate\\Mail\\Events\\MessageSent' => $vendorDir . '/laravel/framework/src/Illuminate/Mail/Events/MessageSent.php', - 'Illuminate\\Mail\\MailServiceProvider' => $vendorDir . '/laravel/framework/src/Illuminate/Mail/MailServiceProvider.php', - 'Illuminate\\Mail\\Mailable' => $vendorDir . '/laravel/framework/src/Illuminate/Mail/Mailable.php', - 'Illuminate\\Mail\\Mailer' => $vendorDir . '/laravel/framework/src/Illuminate/Mail/Mailer.php', - 'Illuminate\\Mail\\Markdown' => $vendorDir . '/laravel/framework/src/Illuminate/Mail/Markdown.php', - 'Illuminate\\Mail\\Message' => $vendorDir . '/laravel/framework/src/Illuminate/Mail/Message.php', - 'Illuminate\\Mail\\PendingMail' => $vendorDir . '/laravel/framework/src/Illuminate/Mail/PendingMail.php', - 'Illuminate\\Mail\\SendQueuedMailable' => $vendorDir . '/laravel/framework/src/Illuminate/Mail/SendQueuedMailable.php', - 'Illuminate\\Mail\\TransportManager' => $vendorDir . '/laravel/framework/src/Illuminate/Mail/TransportManager.php', - 'Illuminate\\Mail\\Transport\\ArrayTransport' => $vendorDir . '/laravel/framework/src/Illuminate/Mail/Transport/ArrayTransport.php', - 'Illuminate\\Mail\\Transport\\LogTransport' => $vendorDir . '/laravel/framework/src/Illuminate/Mail/Transport/LogTransport.php', - 'Illuminate\\Mail\\Transport\\MailgunTransport' => $vendorDir . '/laravel/framework/src/Illuminate/Mail/Transport/MailgunTransport.php', - 'Illuminate\\Mail\\Transport\\MandrillTransport' => $vendorDir . '/laravel/framework/src/Illuminate/Mail/Transport/MandrillTransport.php', - 'Illuminate\\Mail\\Transport\\SesTransport' => $vendorDir . '/laravel/framework/src/Illuminate/Mail/Transport/SesTransport.php', - 'Illuminate\\Mail\\Transport\\SparkPostTransport' => $vendorDir . '/laravel/framework/src/Illuminate/Mail/Transport/SparkPostTransport.php', - 'Illuminate\\Mail\\Transport\\Transport' => $vendorDir . '/laravel/framework/src/Illuminate/Mail/Transport/Transport.php', - 'Illuminate\\Notifications\\Action' => $vendorDir . '/laravel/framework/src/Illuminate/Notifications/Action.php', - 'Illuminate\\Notifications\\AnonymousNotifiable' => $vendorDir . '/laravel/framework/src/Illuminate/Notifications/AnonymousNotifiable.php', - 'Illuminate\\Notifications\\ChannelManager' => $vendorDir . '/laravel/framework/src/Illuminate/Notifications/ChannelManager.php', - 'Illuminate\\Notifications\\Channels\\BroadcastChannel' => $vendorDir . '/laravel/framework/src/Illuminate/Notifications/Channels/BroadcastChannel.php', - 'Illuminate\\Notifications\\Channels\\DatabaseChannel' => $vendorDir . '/laravel/framework/src/Illuminate/Notifications/Channels/DatabaseChannel.php', - 'Illuminate\\Notifications\\Channels\\MailChannel' => $vendorDir . '/laravel/framework/src/Illuminate/Notifications/Channels/MailChannel.php', - 'Illuminate\\Notifications\\Console\\NotificationTableCommand' => $vendorDir . '/laravel/framework/src/Illuminate/Notifications/Console/NotificationTableCommand.php', - 'Illuminate\\Notifications\\DatabaseNotification' => $vendorDir . '/laravel/framework/src/Illuminate/Notifications/DatabaseNotification.php', - 'Illuminate\\Notifications\\DatabaseNotificationCollection' => $vendorDir . '/laravel/framework/src/Illuminate/Notifications/DatabaseNotificationCollection.php', - 'Illuminate\\Notifications\\Events\\BroadcastNotificationCreated' => $vendorDir . '/laravel/framework/src/Illuminate/Notifications/Events/BroadcastNotificationCreated.php', - 'Illuminate\\Notifications\\Events\\NotificationFailed' => $vendorDir . '/laravel/framework/src/Illuminate/Notifications/Events/NotificationFailed.php', - 'Illuminate\\Notifications\\Events\\NotificationSending' => $vendorDir . '/laravel/framework/src/Illuminate/Notifications/Events/NotificationSending.php', - 'Illuminate\\Notifications\\Events\\NotificationSent' => $vendorDir . '/laravel/framework/src/Illuminate/Notifications/Events/NotificationSent.php', - 'Illuminate\\Notifications\\HasDatabaseNotifications' => $vendorDir . '/laravel/framework/src/Illuminate/Notifications/HasDatabaseNotifications.php', - 'Illuminate\\Notifications\\Messages\\BroadcastMessage' => $vendorDir . '/laravel/framework/src/Illuminate/Notifications/Messages/BroadcastMessage.php', - 'Illuminate\\Notifications\\Messages\\DatabaseMessage' => $vendorDir . '/laravel/framework/src/Illuminate/Notifications/Messages/DatabaseMessage.php', - 'Illuminate\\Notifications\\Messages\\MailMessage' => $vendorDir . '/laravel/framework/src/Illuminate/Notifications/Messages/MailMessage.php', - 'Illuminate\\Notifications\\Messages\\SimpleMessage' => $vendorDir . '/laravel/framework/src/Illuminate/Notifications/Messages/SimpleMessage.php', - 'Illuminate\\Notifications\\Notifiable' => $vendorDir . '/laravel/framework/src/Illuminate/Notifications/Notifiable.php', - 'Illuminate\\Notifications\\Notification' => $vendorDir . '/laravel/framework/src/Illuminate/Notifications/Notification.php', - 'Illuminate\\Notifications\\NotificationSender' => $vendorDir . '/laravel/framework/src/Illuminate/Notifications/NotificationSender.php', - 'Illuminate\\Notifications\\NotificationServiceProvider' => $vendorDir . '/laravel/framework/src/Illuminate/Notifications/NotificationServiceProvider.php', - 'Illuminate\\Notifications\\RoutesNotifications' => $vendorDir . '/laravel/framework/src/Illuminate/Notifications/RoutesNotifications.php', - 'Illuminate\\Notifications\\SendQueuedNotifications' => $vendorDir . '/laravel/framework/src/Illuminate/Notifications/SendQueuedNotifications.php', - 'Illuminate\\Pagination\\AbstractPaginator' => $vendorDir . '/laravel/framework/src/Illuminate/Pagination/AbstractPaginator.php', - 'Illuminate\\Pagination\\LengthAwarePaginator' => $vendorDir . '/laravel/framework/src/Illuminate/Pagination/LengthAwarePaginator.php', - 'Illuminate\\Pagination\\PaginationServiceProvider' => $vendorDir . '/laravel/framework/src/Illuminate/Pagination/PaginationServiceProvider.php', - 'Illuminate\\Pagination\\Paginator' => $vendorDir . '/laravel/framework/src/Illuminate/Pagination/Paginator.php', - 'Illuminate\\Pagination\\UrlWindow' => $vendorDir . '/laravel/framework/src/Illuminate/Pagination/UrlWindow.php', - 'Illuminate\\Pipeline\\Hub' => $vendorDir . '/laravel/framework/src/Illuminate/Pipeline/Hub.php', - 'Illuminate\\Pipeline\\Pipeline' => $vendorDir . '/laravel/framework/src/Illuminate/Pipeline/Pipeline.php', - 'Illuminate\\Pipeline\\PipelineServiceProvider' => $vendorDir . '/laravel/framework/src/Illuminate/Pipeline/PipelineServiceProvider.php', - 'Illuminate\\Queue\\BeanstalkdQueue' => $vendorDir . '/laravel/framework/src/Illuminate/Queue/BeanstalkdQueue.php', - 'Illuminate\\Queue\\CallQueuedClosure' => $vendorDir . '/laravel/framework/src/Illuminate/Queue/CallQueuedClosure.php', - 'Illuminate\\Queue\\CallQueuedHandler' => $vendorDir . '/laravel/framework/src/Illuminate/Queue/CallQueuedHandler.php', - 'Illuminate\\Queue\\Capsule\\Manager' => $vendorDir . '/laravel/framework/src/Illuminate/Queue/Capsule/Manager.php', - 'Illuminate\\Queue\\Connectors\\BeanstalkdConnector' => $vendorDir . '/laravel/framework/src/Illuminate/Queue/Connectors/BeanstalkdConnector.php', - 'Illuminate\\Queue\\Connectors\\ConnectorInterface' => $vendorDir . '/laravel/framework/src/Illuminate/Queue/Connectors/ConnectorInterface.php', - 'Illuminate\\Queue\\Connectors\\DatabaseConnector' => $vendorDir . '/laravel/framework/src/Illuminate/Queue/Connectors/DatabaseConnector.php', - 'Illuminate\\Queue\\Connectors\\NullConnector' => $vendorDir . '/laravel/framework/src/Illuminate/Queue/Connectors/NullConnector.php', - 'Illuminate\\Queue\\Connectors\\RedisConnector' => $vendorDir . '/laravel/framework/src/Illuminate/Queue/Connectors/RedisConnector.php', - 'Illuminate\\Queue\\Connectors\\SqsConnector' => $vendorDir . '/laravel/framework/src/Illuminate/Queue/Connectors/SqsConnector.php', - 'Illuminate\\Queue\\Connectors\\SyncConnector' => $vendorDir . '/laravel/framework/src/Illuminate/Queue/Connectors/SyncConnector.php', - 'Illuminate\\Queue\\Console\\FailedTableCommand' => $vendorDir . '/laravel/framework/src/Illuminate/Queue/Console/FailedTableCommand.php', - 'Illuminate\\Queue\\Console\\FlushFailedCommand' => $vendorDir . '/laravel/framework/src/Illuminate/Queue/Console/FlushFailedCommand.php', - 'Illuminate\\Queue\\Console\\ForgetFailedCommand' => $vendorDir . '/laravel/framework/src/Illuminate/Queue/Console/ForgetFailedCommand.php', - 'Illuminate\\Queue\\Console\\ListFailedCommand' => $vendorDir . '/laravel/framework/src/Illuminate/Queue/Console/ListFailedCommand.php', - 'Illuminate\\Queue\\Console\\ListenCommand' => $vendorDir . '/laravel/framework/src/Illuminate/Queue/Console/ListenCommand.php', - 'Illuminate\\Queue\\Console\\RestartCommand' => $vendorDir . '/laravel/framework/src/Illuminate/Queue/Console/RestartCommand.php', - 'Illuminate\\Queue\\Console\\RetryCommand' => $vendorDir . '/laravel/framework/src/Illuminate/Queue/Console/RetryCommand.php', - 'Illuminate\\Queue\\Console\\TableCommand' => $vendorDir . '/laravel/framework/src/Illuminate/Queue/Console/TableCommand.php', - 'Illuminate\\Queue\\Console\\WorkCommand' => $vendorDir . '/laravel/framework/src/Illuminate/Queue/Console/WorkCommand.php', - 'Illuminate\\Queue\\DatabaseQueue' => $vendorDir . '/laravel/framework/src/Illuminate/Queue/DatabaseQueue.php', - 'Illuminate\\Queue\\Events\\JobExceptionOccurred' => $vendorDir . '/laravel/framework/src/Illuminate/Queue/Events/JobExceptionOccurred.php', - 'Illuminate\\Queue\\Events\\JobFailed' => $vendorDir . '/laravel/framework/src/Illuminate/Queue/Events/JobFailed.php', - 'Illuminate\\Queue\\Events\\JobProcessed' => $vendorDir . '/laravel/framework/src/Illuminate/Queue/Events/JobProcessed.php', - 'Illuminate\\Queue\\Events\\JobProcessing' => $vendorDir . '/laravel/framework/src/Illuminate/Queue/Events/JobProcessing.php', - 'Illuminate\\Queue\\Events\\Looping' => $vendorDir . '/laravel/framework/src/Illuminate/Queue/Events/Looping.php', - 'Illuminate\\Queue\\Events\\WorkerStopping' => $vendorDir . '/laravel/framework/src/Illuminate/Queue/Events/WorkerStopping.php', - 'Illuminate\\Queue\\Failed\\DatabaseFailedJobProvider' => $vendorDir . '/laravel/framework/src/Illuminate/Queue/Failed/DatabaseFailedJobProvider.php', - 'Illuminate\\Queue\\Failed\\FailedJobProviderInterface' => $vendorDir . '/laravel/framework/src/Illuminate/Queue/Failed/FailedJobProviderInterface.php', - 'Illuminate\\Queue\\Failed\\NullFailedJobProvider' => $vendorDir . '/laravel/framework/src/Illuminate/Queue/Failed/NullFailedJobProvider.php', - 'Illuminate\\Queue\\InteractsWithQueue' => $vendorDir . '/laravel/framework/src/Illuminate/Queue/InteractsWithQueue.php', - 'Illuminate\\Queue\\InvalidPayloadException' => $vendorDir . '/laravel/framework/src/Illuminate/Queue/InvalidPayloadException.php', - 'Illuminate\\Queue\\Jobs\\BeanstalkdJob' => $vendorDir . '/laravel/framework/src/Illuminate/Queue/Jobs/BeanstalkdJob.php', - 'Illuminate\\Queue\\Jobs\\DatabaseJob' => $vendorDir . '/laravel/framework/src/Illuminate/Queue/Jobs/DatabaseJob.php', - 'Illuminate\\Queue\\Jobs\\DatabaseJobRecord' => $vendorDir . '/laravel/framework/src/Illuminate/Queue/Jobs/DatabaseJobRecord.php', - 'Illuminate\\Queue\\Jobs\\Job' => $vendorDir . '/laravel/framework/src/Illuminate/Queue/Jobs/Job.php', - 'Illuminate\\Queue\\Jobs\\JobName' => $vendorDir . '/laravel/framework/src/Illuminate/Queue/Jobs/JobName.php', - 'Illuminate\\Queue\\Jobs\\RedisJob' => $vendorDir . '/laravel/framework/src/Illuminate/Queue/Jobs/RedisJob.php', - 'Illuminate\\Queue\\Jobs\\SqsJob' => $vendorDir . '/laravel/framework/src/Illuminate/Queue/Jobs/SqsJob.php', - 'Illuminate\\Queue\\Jobs\\SyncJob' => $vendorDir . '/laravel/framework/src/Illuminate/Queue/Jobs/SyncJob.php', - 'Illuminate\\Queue\\Listener' => $vendorDir . '/laravel/framework/src/Illuminate/Queue/Listener.php', - 'Illuminate\\Queue\\ListenerOptions' => $vendorDir . '/laravel/framework/src/Illuminate/Queue/ListenerOptions.php', - 'Illuminate\\Queue\\LuaScripts' => $vendorDir . '/laravel/framework/src/Illuminate/Queue/LuaScripts.php', - 'Illuminate\\Queue\\ManuallyFailedException' => $vendorDir . '/laravel/framework/src/Illuminate/Queue/ManuallyFailedException.php', - 'Illuminate\\Queue\\MaxAttemptsExceededException' => $vendorDir . '/laravel/framework/src/Illuminate/Queue/MaxAttemptsExceededException.php', - 'Illuminate\\Queue\\NullQueue' => $vendorDir . '/laravel/framework/src/Illuminate/Queue/NullQueue.php', - 'Illuminate\\Queue\\Queue' => $vendorDir . '/laravel/framework/src/Illuminate/Queue/Queue.php', - 'Illuminate\\Queue\\QueueManager' => $vendorDir . '/laravel/framework/src/Illuminate/Queue/QueueManager.php', - 'Illuminate\\Queue\\QueueServiceProvider' => $vendorDir . '/laravel/framework/src/Illuminate/Queue/QueueServiceProvider.php', - 'Illuminate\\Queue\\RedisQueue' => $vendorDir . '/laravel/framework/src/Illuminate/Queue/RedisQueue.php', - 'Illuminate\\Queue\\SerializableClosure' => $vendorDir . '/laravel/framework/src/Illuminate/Queue/SerializableClosure.php', - 'Illuminate\\Queue\\SerializesAndRestoresModelIdentifiers' => $vendorDir . '/laravel/framework/src/Illuminate/Queue/SerializesAndRestoresModelIdentifiers.php', - 'Illuminate\\Queue\\SerializesModels' => $vendorDir . '/laravel/framework/src/Illuminate/Queue/SerializesModels.php', - 'Illuminate\\Queue\\SqsQueue' => $vendorDir . '/laravel/framework/src/Illuminate/Queue/SqsQueue.php', - 'Illuminate\\Queue\\SyncQueue' => $vendorDir . '/laravel/framework/src/Illuminate/Queue/SyncQueue.php', - 'Illuminate\\Queue\\Worker' => $vendorDir . '/laravel/framework/src/Illuminate/Queue/Worker.php', - 'Illuminate\\Queue\\WorkerOptions' => $vendorDir . '/laravel/framework/src/Illuminate/Queue/WorkerOptions.php', - 'Illuminate\\Redis\\Connections\\Connection' => $vendorDir . '/laravel/framework/src/Illuminate/Redis/Connections/Connection.php', - 'Illuminate\\Redis\\Connections\\PhpRedisClusterConnection' => $vendorDir . '/laravel/framework/src/Illuminate/Redis/Connections/PhpRedisClusterConnection.php', - 'Illuminate\\Redis\\Connections\\PhpRedisConnection' => $vendorDir . '/laravel/framework/src/Illuminate/Redis/Connections/PhpRedisConnection.php', - 'Illuminate\\Redis\\Connections\\PredisClusterConnection' => $vendorDir . '/laravel/framework/src/Illuminate/Redis/Connections/PredisClusterConnection.php', - 'Illuminate\\Redis\\Connections\\PredisConnection' => $vendorDir . '/laravel/framework/src/Illuminate/Redis/Connections/PredisConnection.php', - 'Illuminate\\Redis\\Connectors\\PhpRedisConnector' => $vendorDir . '/laravel/framework/src/Illuminate/Redis/Connectors/PhpRedisConnector.php', - 'Illuminate\\Redis\\Connectors\\PredisConnector' => $vendorDir . '/laravel/framework/src/Illuminate/Redis/Connectors/PredisConnector.php', - 'Illuminate\\Redis\\Events\\CommandExecuted' => $vendorDir . '/laravel/framework/src/Illuminate/Redis/Events/CommandExecuted.php', - 'Illuminate\\Redis\\Limiters\\ConcurrencyLimiter' => $vendorDir . '/laravel/framework/src/Illuminate/Redis/Limiters/ConcurrencyLimiter.php', - 'Illuminate\\Redis\\Limiters\\ConcurrencyLimiterBuilder' => $vendorDir . '/laravel/framework/src/Illuminate/Redis/Limiters/ConcurrencyLimiterBuilder.php', - 'Illuminate\\Redis\\Limiters\\DurationLimiter' => $vendorDir . '/laravel/framework/src/Illuminate/Redis/Limiters/DurationLimiter.php', - 'Illuminate\\Redis\\Limiters\\DurationLimiterBuilder' => $vendorDir . '/laravel/framework/src/Illuminate/Redis/Limiters/DurationLimiterBuilder.php', - 'Illuminate\\Redis\\RedisManager' => $vendorDir . '/laravel/framework/src/Illuminate/Redis/RedisManager.php', - 'Illuminate\\Redis\\RedisServiceProvider' => $vendorDir . '/laravel/framework/src/Illuminate/Redis/RedisServiceProvider.php', - 'Illuminate\\Routing\\Console\\ControllerMakeCommand' => $vendorDir . '/laravel/framework/src/Illuminate/Routing/Console/ControllerMakeCommand.php', - 'Illuminate\\Routing\\Console\\MiddlewareMakeCommand' => $vendorDir . '/laravel/framework/src/Illuminate/Routing/Console/MiddlewareMakeCommand.php', - 'Illuminate\\Routing\\Contracts\\ControllerDispatcher' => $vendorDir . '/laravel/framework/src/Illuminate/Routing/Contracts/ControllerDispatcher.php', - 'Illuminate\\Routing\\Controller' => $vendorDir . '/laravel/framework/src/Illuminate/Routing/Controller.php', - 'Illuminate\\Routing\\ControllerDispatcher' => $vendorDir . '/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php', - 'Illuminate\\Routing\\ControllerMiddlewareOptions' => $vendorDir . '/laravel/framework/src/Illuminate/Routing/ControllerMiddlewareOptions.php', - 'Illuminate\\Routing\\Events\\RouteMatched' => $vendorDir . '/laravel/framework/src/Illuminate/Routing/Events/RouteMatched.php', - 'Illuminate\\Routing\\Exceptions\\InvalidSignatureException' => $vendorDir . '/laravel/framework/src/Illuminate/Routing/Exceptions/InvalidSignatureException.php', - 'Illuminate\\Routing\\Exceptions\\UrlGenerationException' => $vendorDir . '/laravel/framework/src/Illuminate/Routing/Exceptions/UrlGenerationException.php', - 'Illuminate\\Routing\\ImplicitRouteBinding' => $vendorDir . '/laravel/framework/src/Illuminate/Routing/ImplicitRouteBinding.php', - 'Illuminate\\Routing\\Matching\\HostValidator' => $vendorDir . '/laravel/framework/src/Illuminate/Routing/Matching/HostValidator.php', - 'Illuminate\\Routing\\Matching\\MethodValidator' => $vendorDir . '/laravel/framework/src/Illuminate/Routing/Matching/MethodValidator.php', - 'Illuminate\\Routing\\Matching\\SchemeValidator' => $vendorDir . '/laravel/framework/src/Illuminate/Routing/Matching/SchemeValidator.php', - 'Illuminate\\Routing\\Matching\\UriValidator' => $vendorDir . '/laravel/framework/src/Illuminate/Routing/Matching/UriValidator.php', - 'Illuminate\\Routing\\Matching\\ValidatorInterface' => $vendorDir . '/laravel/framework/src/Illuminate/Routing/Matching/ValidatorInterface.php', - 'Illuminate\\Routing\\MiddlewareNameResolver' => $vendorDir . '/laravel/framework/src/Illuminate/Routing/MiddlewareNameResolver.php', - 'Illuminate\\Routing\\Middleware\\SubstituteBindings' => $vendorDir . '/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php', - 'Illuminate\\Routing\\Middleware\\ThrottleRequests' => $vendorDir . '/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php', - 'Illuminate\\Routing\\Middleware\\ThrottleRequestsWithRedis' => $vendorDir . '/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequestsWithRedis.php', - 'Illuminate\\Routing\\Middleware\\ValidateSignature' => $vendorDir . '/laravel/framework/src/Illuminate/Routing/Middleware/ValidateSignature.php', - 'Illuminate\\Routing\\PendingResourceRegistration' => $vendorDir . '/laravel/framework/src/Illuminate/Routing/PendingResourceRegistration.php', - 'Illuminate\\Routing\\Pipeline' => $vendorDir . '/laravel/framework/src/Illuminate/Routing/Pipeline.php', - 'Illuminate\\Routing\\RedirectController' => $vendorDir . '/laravel/framework/src/Illuminate/Routing/RedirectController.php', - 'Illuminate\\Routing\\Redirector' => $vendorDir . '/laravel/framework/src/Illuminate/Routing/Redirector.php', - 'Illuminate\\Routing\\ResourceRegistrar' => $vendorDir . '/laravel/framework/src/Illuminate/Routing/ResourceRegistrar.php', - 'Illuminate\\Routing\\ResponseFactory' => $vendorDir . '/laravel/framework/src/Illuminate/Routing/ResponseFactory.php', - 'Illuminate\\Routing\\Route' => $vendorDir . '/laravel/framework/src/Illuminate/Routing/Route.php', - 'Illuminate\\Routing\\RouteAction' => $vendorDir . '/laravel/framework/src/Illuminate/Routing/RouteAction.php', - 'Illuminate\\Routing\\RouteBinding' => $vendorDir . '/laravel/framework/src/Illuminate/Routing/RouteBinding.php', - 'Illuminate\\Routing\\RouteCollection' => $vendorDir . '/laravel/framework/src/Illuminate/Routing/RouteCollection.php', - 'Illuminate\\Routing\\RouteCompiler' => $vendorDir . '/laravel/framework/src/Illuminate/Routing/RouteCompiler.php', - 'Illuminate\\Routing\\RouteDependencyResolverTrait' => $vendorDir . '/laravel/framework/src/Illuminate/Routing/RouteDependencyResolverTrait.php', - 'Illuminate\\Routing\\RouteFileRegistrar' => $vendorDir . '/laravel/framework/src/Illuminate/Routing/RouteFileRegistrar.php', - 'Illuminate\\Routing\\RouteGroup' => $vendorDir . '/laravel/framework/src/Illuminate/Routing/RouteGroup.php', - 'Illuminate\\Routing\\RouteParameterBinder' => $vendorDir . '/laravel/framework/src/Illuminate/Routing/RouteParameterBinder.php', - 'Illuminate\\Routing\\RouteRegistrar' => $vendorDir . '/laravel/framework/src/Illuminate/Routing/RouteRegistrar.php', - 'Illuminate\\Routing\\RouteSignatureParameters' => $vendorDir . '/laravel/framework/src/Illuminate/Routing/RouteSignatureParameters.php', - 'Illuminate\\Routing\\RouteUrlGenerator' => $vendorDir . '/laravel/framework/src/Illuminate/Routing/RouteUrlGenerator.php', - 'Illuminate\\Routing\\Router' => $vendorDir . '/laravel/framework/src/Illuminate/Routing/Router.php', - 'Illuminate\\Routing\\RoutingServiceProvider' => $vendorDir . '/laravel/framework/src/Illuminate/Routing/RoutingServiceProvider.php', - 'Illuminate\\Routing\\SortedMiddleware' => $vendorDir . '/laravel/framework/src/Illuminate/Routing/SortedMiddleware.php', - 'Illuminate\\Routing\\UrlGenerator' => $vendorDir . '/laravel/framework/src/Illuminate/Routing/UrlGenerator.php', - 'Illuminate\\Routing\\ViewController' => $vendorDir . '/laravel/framework/src/Illuminate/Routing/ViewController.php', - 'Illuminate\\Session\\CacheBasedSessionHandler' => $vendorDir . '/laravel/framework/src/Illuminate/Session/CacheBasedSessionHandler.php', - 'Illuminate\\Session\\Console\\SessionTableCommand' => $vendorDir . '/laravel/framework/src/Illuminate/Session/Console/SessionTableCommand.php', - 'Illuminate\\Session\\CookieSessionHandler' => $vendorDir . '/laravel/framework/src/Illuminate/Session/CookieSessionHandler.php', - 'Illuminate\\Session\\DatabaseSessionHandler' => $vendorDir . '/laravel/framework/src/Illuminate/Session/DatabaseSessionHandler.php', - 'Illuminate\\Session\\EncryptedStore' => $vendorDir . '/laravel/framework/src/Illuminate/Session/EncryptedStore.php', - 'Illuminate\\Session\\ExistenceAwareInterface' => $vendorDir . '/laravel/framework/src/Illuminate/Session/ExistenceAwareInterface.php', - 'Illuminate\\Session\\FileSessionHandler' => $vendorDir . '/laravel/framework/src/Illuminate/Session/FileSessionHandler.php', - 'Illuminate\\Session\\Middleware\\AuthenticateSession' => $vendorDir . '/laravel/framework/src/Illuminate/Session/Middleware/AuthenticateSession.php', - 'Illuminate\\Session\\Middleware\\StartSession' => $vendorDir . '/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php', - 'Illuminate\\Session\\NullSessionHandler' => $vendorDir . '/laravel/framework/src/Illuminate/Session/NullSessionHandler.php', - 'Illuminate\\Session\\SessionManager' => $vendorDir . '/laravel/framework/src/Illuminate/Session/SessionManager.php', - 'Illuminate\\Session\\SessionServiceProvider' => $vendorDir . '/laravel/framework/src/Illuminate/Session/SessionServiceProvider.php', - 'Illuminate\\Session\\Store' => $vendorDir . '/laravel/framework/src/Illuminate/Session/Store.php', - 'Illuminate\\Session\\TokenMismatchException' => $vendorDir . '/laravel/framework/src/Illuminate/Session/TokenMismatchException.php', - 'Illuminate\\Support\\AggregateServiceProvider' => $vendorDir . '/laravel/framework/src/Illuminate/Support/AggregateServiceProvider.php', - 'Illuminate\\Support\\Arr' => $vendorDir . '/laravel/framework/src/Illuminate/Support/Arr.php', - 'Illuminate\\Support\\Carbon' => $vendorDir . '/laravel/framework/src/Illuminate/Support/Carbon.php', - 'Illuminate\\Support\\Collection' => $vendorDir . '/laravel/framework/src/Illuminate/Support/Collection.php', - 'Illuminate\\Support\\Composer' => $vendorDir . '/laravel/framework/src/Illuminate/Support/Composer.php', - 'Illuminate\\Support\\ConfigurationUrlParser' => $vendorDir . '/laravel/framework/src/Illuminate/Support/ConfigurationUrlParser.php', - 'Illuminate\\Support\\DateFactory' => $vendorDir . '/laravel/framework/src/Illuminate/Support/DateFactory.php', - 'Illuminate\\Support\\Facades\\App' => $vendorDir . '/laravel/framework/src/Illuminate/Support/Facades/App.php', - 'Illuminate\\Support\\Facades\\Artisan' => $vendorDir . '/laravel/framework/src/Illuminate/Support/Facades/Artisan.php', - 'Illuminate\\Support\\Facades\\Auth' => $vendorDir . '/laravel/framework/src/Illuminate/Support/Facades/Auth.php', - 'Illuminate\\Support\\Facades\\Blade' => $vendorDir . '/laravel/framework/src/Illuminate/Support/Facades/Blade.php', - 'Illuminate\\Support\\Facades\\Broadcast' => $vendorDir . '/laravel/framework/src/Illuminate/Support/Facades/Broadcast.php', - 'Illuminate\\Support\\Facades\\Bus' => $vendorDir . '/laravel/framework/src/Illuminate/Support/Facades/Bus.php', - 'Illuminate\\Support\\Facades\\Cache' => $vendorDir . '/laravel/framework/src/Illuminate/Support/Facades/Cache.php', - 'Illuminate\\Support\\Facades\\Config' => $vendorDir . '/laravel/framework/src/Illuminate/Support/Facades/Config.php', - 'Illuminate\\Support\\Facades\\Cookie' => $vendorDir . '/laravel/framework/src/Illuminate/Support/Facades/Cookie.php', - 'Illuminate\\Support\\Facades\\Crypt' => $vendorDir . '/laravel/framework/src/Illuminate/Support/Facades/Crypt.php', - 'Illuminate\\Support\\Facades\\DB' => $vendorDir . '/laravel/framework/src/Illuminate/Support/Facades/DB.php', - 'Illuminate\\Support\\Facades\\Date' => $vendorDir . '/laravel/framework/src/Illuminate/Support/Facades/Date.php', - 'Illuminate\\Support\\Facades\\Event' => $vendorDir . '/laravel/framework/src/Illuminate/Support/Facades/Event.php', - 'Illuminate\\Support\\Facades\\Facade' => $vendorDir . '/laravel/framework/src/Illuminate/Support/Facades/Facade.php', - 'Illuminate\\Support\\Facades\\File' => $vendorDir . '/laravel/framework/src/Illuminate/Support/Facades/File.php', - 'Illuminate\\Support\\Facades\\Gate' => $vendorDir . '/laravel/framework/src/Illuminate/Support/Facades/Gate.php', - 'Illuminate\\Support\\Facades\\Hash' => $vendorDir . '/laravel/framework/src/Illuminate/Support/Facades/Hash.php', - 'Illuminate\\Support\\Facades\\Input' => $vendorDir . '/laravel/framework/src/Illuminate/Support/Facades/Input.php', - 'Illuminate\\Support\\Facades\\Lang' => $vendorDir . '/laravel/framework/src/Illuminate/Support/Facades/Lang.php', - 'Illuminate\\Support\\Facades\\Log' => $vendorDir . '/laravel/framework/src/Illuminate/Support/Facades/Log.php', - 'Illuminate\\Support\\Facades\\Mail' => $vendorDir . '/laravel/framework/src/Illuminate/Support/Facades/Mail.php', - 'Illuminate\\Support\\Facades\\Notification' => $vendorDir . '/laravel/framework/src/Illuminate/Support/Facades/Notification.php', - 'Illuminate\\Support\\Facades\\Password' => $vendorDir . '/laravel/framework/src/Illuminate/Support/Facades/Password.php', - 'Illuminate\\Support\\Facades\\Queue' => $vendorDir . '/laravel/framework/src/Illuminate/Support/Facades/Queue.php', - 'Illuminate\\Support\\Facades\\Redirect' => $vendorDir . '/laravel/framework/src/Illuminate/Support/Facades/Redirect.php', - 'Illuminate\\Support\\Facades\\Redis' => $vendorDir . '/laravel/framework/src/Illuminate/Support/Facades/Redis.php', - 'Illuminate\\Support\\Facades\\Request' => $vendorDir . '/laravel/framework/src/Illuminate/Support/Facades/Request.php', - 'Illuminate\\Support\\Facades\\Response' => $vendorDir . '/laravel/framework/src/Illuminate/Support/Facades/Response.php', - 'Illuminate\\Support\\Facades\\Route' => $vendorDir . '/laravel/framework/src/Illuminate/Support/Facades/Route.php', - 'Illuminate\\Support\\Facades\\Schema' => $vendorDir . '/laravel/framework/src/Illuminate/Support/Facades/Schema.php', - 'Illuminate\\Support\\Facades\\Session' => $vendorDir . '/laravel/framework/src/Illuminate/Support/Facades/Session.php', - 'Illuminate\\Support\\Facades\\Storage' => $vendorDir . '/laravel/framework/src/Illuminate/Support/Facades/Storage.php', - 'Illuminate\\Support\\Facades\\URL' => $vendorDir . '/laravel/framework/src/Illuminate/Support/Facades/URL.php', - 'Illuminate\\Support\\Facades\\Validator' => $vendorDir . '/laravel/framework/src/Illuminate/Support/Facades/Validator.php', - 'Illuminate\\Support\\Facades\\View' => $vendorDir . '/laravel/framework/src/Illuminate/Support/Facades/View.php', - 'Illuminate\\Support\\Fluent' => $vendorDir . '/laravel/framework/src/Illuminate/Support/Fluent.php', - 'Illuminate\\Support\\HigherOrderCollectionProxy' => $vendorDir . '/laravel/framework/src/Illuminate/Support/HigherOrderCollectionProxy.php', - 'Illuminate\\Support\\HigherOrderTapProxy' => $vendorDir . '/laravel/framework/src/Illuminate/Support/HigherOrderTapProxy.php', - 'Illuminate\\Support\\HtmlString' => $vendorDir . '/laravel/framework/src/Illuminate/Support/HtmlString.php', - 'Illuminate\\Support\\InteractsWithTime' => $vendorDir . '/laravel/framework/src/Illuminate/Support/InteractsWithTime.php', - 'Illuminate\\Support\\Manager' => $vendorDir . '/laravel/framework/src/Illuminate/Support/Manager.php', - 'Illuminate\\Support\\MessageBag' => $vendorDir . '/laravel/framework/src/Illuminate/Support/MessageBag.php', - 'Illuminate\\Support\\NamespacedItemResolver' => $vendorDir . '/laravel/framework/src/Illuminate/Support/NamespacedItemResolver.php', - 'Illuminate\\Support\\Optional' => $vendorDir . '/laravel/framework/src/Illuminate/Support/Optional.php', - 'Illuminate\\Support\\Pluralizer' => $vendorDir . '/laravel/framework/src/Illuminate/Support/Pluralizer.php', - 'Illuminate\\Support\\ProcessUtils' => $vendorDir . '/laravel/framework/src/Illuminate/Support/ProcessUtils.php', - 'Illuminate\\Support\\ServiceProvider' => $vendorDir . '/laravel/framework/src/Illuminate/Support/ServiceProvider.php', - 'Illuminate\\Support\\Str' => $vendorDir . '/laravel/framework/src/Illuminate/Support/Str.php', - 'Illuminate\\Support\\Testing\\Fakes\\BusFake' => $vendorDir . '/laravel/framework/src/Illuminate/Support/Testing/Fakes/BusFake.php', - 'Illuminate\\Support\\Testing\\Fakes\\EventFake' => $vendorDir . '/laravel/framework/src/Illuminate/Support/Testing/Fakes/EventFake.php', - 'Illuminate\\Support\\Testing\\Fakes\\MailFake' => $vendorDir . '/laravel/framework/src/Illuminate/Support/Testing/Fakes/MailFake.php', - 'Illuminate\\Support\\Testing\\Fakes\\NotificationFake' => $vendorDir . '/laravel/framework/src/Illuminate/Support/Testing/Fakes/NotificationFake.php', - 'Illuminate\\Support\\Testing\\Fakes\\PendingMailFake' => $vendorDir . '/laravel/framework/src/Illuminate/Support/Testing/Fakes/PendingMailFake.php', - 'Illuminate\\Support\\Testing\\Fakes\\QueueFake' => $vendorDir . '/laravel/framework/src/Illuminate/Support/Testing/Fakes/QueueFake.php', - 'Illuminate\\Support\\Traits\\CapsuleManagerTrait' => $vendorDir . '/laravel/framework/src/Illuminate/Support/Traits/CapsuleManagerTrait.php', - 'Illuminate\\Support\\Traits\\ForwardsCalls' => $vendorDir . '/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php', - 'Illuminate\\Support\\Traits\\Localizable' => $vendorDir . '/laravel/framework/src/Illuminate/Support/Traits/Localizable.php', - 'Illuminate\\Support\\Traits\\Macroable' => $vendorDir . '/laravel/framework/src/Illuminate/Support/Traits/Macroable.php', - 'Illuminate\\Support\\Traits\\Tappable' => $vendorDir . '/laravel/framework/src/Illuminate/Support/Traits/Tappable.php', - 'Illuminate\\Support\\ViewErrorBag' => $vendorDir . '/laravel/framework/src/Illuminate/Support/ViewErrorBag.php', - 'Illuminate\\Translation\\ArrayLoader' => $vendorDir . '/laravel/framework/src/Illuminate/Translation/ArrayLoader.php', - 'Illuminate\\Translation\\FileLoader' => $vendorDir . '/laravel/framework/src/Illuminate/Translation/FileLoader.php', - 'Illuminate\\Translation\\MessageSelector' => $vendorDir . '/laravel/framework/src/Illuminate/Translation/MessageSelector.php', - 'Illuminate\\Translation\\TranslationServiceProvider' => $vendorDir . '/laravel/framework/src/Illuminate/Translation/TranslationServiceProvider.php', - 'Illuminate\\Translation\\Translator' => $vendorDir . '/laravel/framework/src/Illuminate/Translation/Translator.php', - 'Illuminate\\Validation\\ClosureValidationRule' => $vendorDir . '/laravel/framework/src/Illuminate/Validation/ClosureValidationRule.php', - 'Illuminate\\Validation\\Concerns\\FilterEmailValidation' => $vendorDir . '/laravel/framework/src/Illuminate/Validation/Concerns/FilterEmailValidation.php', - 'Illuminate\\Validation\\Concerns\\FormatsMessages' => $vendorDir . '/laravel/framework/src/Illuminate/Validation/Concerns/FormatsMessages.php', - 'Illuminate\\Validation\\Concerns\\ReplacesAttributes' => $vendorDir . '/laravel/framework/src/Illuminate/Validation/Concerns/ReplacesAttributes.php', - 'Illuminate\\Validation\\Concerns\\ValidatesAttributes' => $vendorDir . '/laravel/framework/src/Illuminate/Validation/Concerns/ValidatesAttributes.php', - 'Illuminate\\Validation\\DatabasePresenceVerifier' => $vendorDir . '/laravel/framework/src/Illuminate/Validation/DatabasePresenceVerifier.php', - 'Illuminate\\Validation\\Factory' => $vendorDir . '/laravel/framework/src/Illuminate/Validation/Factory.php', - 'Illuminate\\Validation\\PresenceVerifierInterface' => $vendorDir . '/laravel/framework/src/Illuminate/Validation/PresenceVerifierInterface.php', - 'Illuminate\\Validation\\Rule' => $vendorDir . '/laravel/framework/src/Illuminate/Validation/Rule.php', - 'Illuminate\\Validation\\Rules\\DatabaseRule' => $vendorDir . '/laravel/framework/src/Illuminate/Validation/Rules/DatabaseRule.php', - 'Illuminate\\Validation\\Rules\\Dimensions' => $vendorDir . '/laravel/framework/src/Illuminate/Validation/Rules/Dimensions.php', - 'Illuminate\\Validation\\Rules\\Exists' => $vendorDir . '/laravel/framework/src/Illuminate/Validation/Rules/Exists.php', - 'Illuminate\\Validation\\Rules\\In' => $vendorDir . '/laravel/framework/src/Illuminate/Validation/Rules/In.php', - 'Illuminate\\Validation\\Rules\\NotIn' => $vendorDir . '/laravel/framework/src/Illuminate/Validation/Rules/NotIn.php', - 'Illuminate\\Validation\\Rules\\RequiredIf' => $vendorDir . '/laravel/framework/src/Illuminate/Validation/Rules/RequiredIf.php', - 'Illuminate\\Validation\\Rules\\Unique' => $vendorDir . '/laravel/framework/src/Illuminate/Validation/Rules/Unique.php', - 'Illuminate\\Validation\\UnauthorizedException' => $vendorDir . '/laravel/framework/src/Illuminate/Validation/UnauthorizedException.php', - 'Illuminate\\Validation\\ValidatesWhenResolvedTrait' => $vendorDir . '/laravel/framework/src/Illuminate/Validation/ValidatesWhenResolvedTrait.php', - 'Illuminate\\Validation\\ValidationData' => $vendorDir . '/laravel/framework/src/Illuminate/Validation/ValidationData.php', - 'Illuminate\\Validation\\ValidationException' => $vendorDir . '/laravel/framework/src/Illuminate/Validation/ValidationException.php', - 'Illuminate\\Validation\\ValidationRuleParser' => $vendorDir . '/laravel/framework/src/Illuminate/Validation/ValidationRuleParser.php', - 'Illuminate\\Validation\\ValidationServiceProvider' => $vendorDir . '/laravel/framework/src/Illuminate/Validation/ValidationServiceProvider.php', - 'Illuminate\\Validation\\Validator' => $vendorDir . '/laravel/framework/src/Illuminate/Validation/Validator.php', - 'Illuminate\\View\\Compilers\\BladeCompiler' => $vendorDir . '/laravel/framework/src/Illuminate/View/Compilers/BladeCompiler.php', - 'Illuminate\\View\\Compilers\\Compiler' => $vendorDir . '/laravel/framework/src/Illuminate/View/Compilers/Compiler.php', - 'Illuminate\\View\\Compilers\\CompilerInterface' => $vendorDir . '/laravel/framework/src/Illuminate/View/Compilers/CompilerInterface.php', - 'Illuminate\\View\\Compilers\\Concerns\\CompilesAuthorizations' => $vendorDir . '/laravel/framework/src/Illuminate/View/Compilers/Concerns/CompilesAuthorizations.php', - 'Illuminate\\View\\Compilers\\Concerns\\CompilesComments' => $vendorDir . '/laravel/framework/src/Illuminate/View/Compilers/Concerns/CompilesComments.php', - 'Illuminate\\View\\Compilers\\Concerns\\CompilesComponents' => $vendorDir . '/laravel/framework/src/Illuminate/View/Compilers/Concerns/CompilesComponents.php', - 'Illuminate\\View\\Compilers\\Concerns\\CompilesConditionals' => $vendorDir . '/laravel/framework/src/Illuminate/View/Compilers/Concerns/CompilesConditionals.php', - 'Illuminate\\View\\Compilers\\Concerns\\CompilesEchos' => $vendorDir . '/laravel/framework/src/Illuminate/View/Compilers/Concerns/CompilesEchos.php', - 'Illuminate\\View\\Compilers\\Concerns\\CompilesErrors' => $vendorDir . '/laravel/framework/src/Illuminate/View/Compilers/Concerns/CompilesErrors.php', - 'Illuminate\\View\\Compilers\\Concerns\\CompilesHelpers' => $vendorDir . '/laravel/framework/src/Illuminate/View/Compilers/Concerns/CompilesHelpers.php', - 'Illuminate\\View\\Compilers\\Concerns\\CompilesIncludes' => $vendorDir . '/laravel/framework/src/Illuminate/View/Compilers/Concerns/CompilesIncludes.php', - 'Illuminate\\View\\Compilers\\Concerns\\CompilesInjections' => $vendorDir . '/laravel/framework/src/Illuminate/View/Compilers/Concerns/CompilesInjections.php', - 'Illuminate\\View\\Compilers\\Concerns\\CompilesJson' => $vendorDir . '/laravel/framework/src/Illuminate/View/Compilers/Concerns/CompilesJson.php', - 'Illuminate\\View\\Compilers\\Concerns\\CompilesLayouts' => $vendorDir . '/laravel/framework/src/Illuminate/View/Compilers/Concerns/CompilesLayouts.php', - 'Illuminate\\View\\Compilers\\Concerns\\CompilesLoops' => $vendorDir . '/laravel/framework/src/Illuminate/View/Compilers/Concerns/CompilesLoops.php', - 'Illuminate\\View\\Compilers\\Concerns\\CompilesRawPhp' => $vendorDir . '/laravel/framework/src/Illuminate/View/Compilers/Concerns/CompilesRawPhp.php', - 'Illuminate\\View\\Compilers\\Concerns\\CompilesStacks' => $vendorDir . '/laravel/framework/src/Illuminate/View/Compilers/Concerns/CompilesStacks.php', - 'Illuminate\\View\\Compilers\\Concerns\\CompilesTranslations' => $vendorDir . '/laravel/framework/src/Illuminate/View/Compilers/Concerns/CompilesTranslations.php', - 'Illuminate\\View\\Concerns\\ManagesComponents' => $vendorDir . '/laravel/framework/src/Illuminate/View/Concerns/ManagesComponents.php', - 'Illuminate\\View\\Concerns\\ManagesEvents' => $vendorDir . '/laravel/framework/src/Illuminate/View/Concerns/ManagesEvents.php', - 'Illuminate\\View\\Concerns\\ManagesLayouts' => $vendorDir . '/laravel/framework/src/Illuminate/View/Concerns/ManagesLayouts.php', - 'Illuminate\\View\\Concerns\\ManagesLoops' => $vendorDir . '/laravel/framework/src/Illuminate/View/Concerns/ManagesLoops.php', - 'Illuminate\\View\\Concerns\\ManagesStacks' => $vendorDir . '/laravel/framework/src/Illuminate/View/Concerns/ManagesStacks.php', - 'Illuminate\\View\\Concerns\\ManagesTranslations' => $vendorDir . '/laravel/framework/src/Illuminate/View/Concerns/ManagesTranslations.php', - 'Illuminate\\View\\Engines\\CompilerEngine' => $vendorDir . '/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php', - 'Illuminate\\View\\Engines\\Engine' => $vendorDir . '/laravel/framework/src/Illuminate/View/Engines/Engine.php', - 'Illuminate\\View\\Engines\\EngineResolver' => $vendorDir . '/laravel/framework/src/Illuminate/View/Engines/EngineResolver.php', - 'Illuminate\\View\\Engines\\FileEngine' => $vendorDir . '/laravel/framework/src/Illuminate/View/Engines/FileEngine.php', - 'Illuminate\\View\\Engines\\PhpEngine' => $vendorDir . '/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php', - 'Illuminate\\View\\Factory' => $vendorDir . '/laravel/framework/src/Illuminate/View/Factory.php', - 'Illuminate\\View\\FileViewFinder' => $vendorDir . '/laravel/framework/src/Illuminate/View/FileViewFinder.php', - 'Illuminate\\View\\Middleware\\ShareErrorsFromSession' => $vendorDir . '/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php', - 'Illuminate\\View\\View' => $vendorDir . '/laravel/framework/src/Illuminate/View/View.php', - 'Illuminate\\View\\ViewFinderInterface' => $vendorDir . '/laravel/framework/src/Illuminate/View/ViewFinderInterface.php', - 'Illuminate\\View\\ViewName' => $vendorDir . '/laravel/framework/src/Illuminate/View/ViewName.php', - 'Illuminate\\View\\ViewServiceProvider' => $vendorDir . '/laravel/framework/src/Illuminate/View/ViewServiceProvider.php', - 'JakubOnderka\\PhpConsoleColor\\ConsoleColor' => $vendorDir . '/jakub-onderka/php-console-color/src/ConsoleColor.php', - 'JakubOnderka\\PhpConsoleColor\\InvalidStyleException' => $vendorDir . '/jakub-onderka/php-console-color/src/InvalidStyleException.php', - 'JakubOnderka\\PhpConsoleHighlighter\\Highlighter' => $vendorDir . '/jakub-onderka/php-console-highlighter/src/Highlighter.php', - 'JsonException' => $vendorDir . '/symfony/polyfill-php73/Resources/stubs/JsonException.php', - 'Laravel\\Tinker\\ClassAliasAutoloader' => $vendorDir . '/laravel/tinker/src/ClassAliasAutoloader.php', - 'Laravel\\Tinker\\Console\\TinkerCommand' => $vendorDir . '/laravel/tinker/src/Console/TinkerCommand.php', - 'Laravel\\Tinker\\TinkerCaster' => $vendorDir . '/laravel/tinker/src/TinkerCaster.php', - 'Laravel\\Tinker\\TinkerServiceProvider' => $vendorDir . '/laravel/tinker/src/TinkerServiceProvider.php', - 'League\\Flysystem\\AdapterInterface' => $vendorDir . '/league/flysystem/src/AdapterInterface.php', - 'League\\Flysystem\\Adapter\\AbstractAdapter' => $vendorDir . '/league/flysystem/src/Adapter/AbstractAdapter.php', - 'League\\Flysystem\\Adapter\\AbstractFtpAdapter' => $vendorDir . '/league/flysystem/src/Adapter/AbstractFtpAdapter.php', - 'League\\Flysystem\\Adapter\\CanOverwriteFiles' => $vendorDir . '/league/flysystem/src/Adapter/CanOverwriteFiles.php', - 'League\\Flysystem\\Adapter\\Ftp' => $vendorDir . '/league/flysystem/src/Adapter/Ftp.php', - 'League\\Flysystem\\Adapter\\Ftpd' => $vendorDir . '/league/flysystem/src/Adapter/Ftpd.php', - 'League\\Flysystem\\Adapter\\Local' => $vendorDir . '/league/flysystem/src/Adapter/Local.php', - 'League\\Flysystem\\Adapter\\NullAdapter' => $vendorDir . '/league/flysystem/src/Adapter/NullAdapter.php', - 'League\\Flysystem\\Adapter\\Polyfill\\NotSupportingVisibilityTrait' => $vendorDir . '/league/flysystem/src/Adapter/Polyfill/NotSupportingVisibilityTrait.php', - 'League\\Flysystem\\Adapter\\Polyfill\\StreamedCopyTrait' => $vendorDir . '/league/flysystem/src/Adapter/Polyfill/StreamedCopyTrait.php', - 'League\\Flysystem\\Adapter\\Polyfill\\StreamedReadingTrait' => $vendorDir . '/league/flysystem/src/Adapter/Polyfill/StreamedReadingTrait.php', - 'League\\Flysystem\\Adapter\\Polyfill\\StreamedTrait' => $vendorDir . '/league/flysystem/src/Adapter/Polyfill/StreamedTrait.php', - 'League\\Flysystem\\Adapter\\Polyfill\\StreamedWritingTrait' => $vendorDir . '/league/flysystem/src/Adapter/Polyfill/StreamedWritingTrait.php', - 'League\\Flysystem\\Adapter\\SynologyFtp' => $vendorDir . '/league/flysystem/src/Adapter/SynologyFtp.php', - 'League\\Flysystem\\Config' => $vendorDir . '/league/flysystem/src/Config.php', - 'League\\Flysystem\\ConfigAwareTrait' => $vendorDir . '/league/flysystem/src/ConfigAwareTrait.php', - 'League\\Flysystem\\Directory' => $vendorDir . '/league/flysystem/src/Directory.php', - 'League\\Flysystem\\Exception' => $vendorDir . '/league/flysystem/src/Exception.php', - 'League\\Flysystem\\File' => $vendorDir . '/league/flysystem/src/File.php', - 'League\\Flysystem\\FileExistsException' => $vendorDir . '/league/flysystem/src/FileExistsException.php', - 'League\\Flysystem\\FileNotFoundException' => $vendorDir . '/league/flysystem/src/FileNotFoundException.php', - 'League\\Flysystem\\Filesystem' => $vendorDir . '/league/flysystem/src/Filesystem.php', - 'League\\Flysystem\\FilesystemInterface' => $vendorDir . '/league/flysystem/src/FilesystemInterface.php', - 'League\\Flysystem\\FilesystemNotFoundException' => $vendorDir . '/league/flysystem/src/FilesystemNotFoundException.php', - 'League\\Flysystem\\Handler' => $vendorDir . '/league/flysystem/src/Handler.php', - 'League\\Flysystem\\MountManager' => $vendorDir . '/league/flysystem/src/MountManager.php', - 'League\\Flysystem\\NotSupportedException' => $vendorDir . '/league/flysystem/src/NotSupportedException.php', - 'League\\Flysystem\\PluginInterface' => $vendorDir . '/league/flysystem/src/PluginInterface.php', - 'League\\Flysystem\\Plugin\\AbstractPlugin' => $vendorDir . '/league/flysystem/src/Plugin/AbstractPlugin.php', - 'League\\Flysystem\\Plugin\\EmptyDir' => $vendorDir . '/league/flysystem/src/Plugin/EmptyDir.php', - 'League\\Flysystem\\Plugin\\ForcedCopy' => $vendorDir . '/league/flysystem/src/Plugin/ForcedCopy.php', - 'League\\Flysystem\\Plugin\\ForcedRename' => $vendorDir . '/league/flysystem/src/Plugin/ForcedRename.php', - 'League\\Flysystem\\Plugin\\GetWithMetadata' => $vendorDir . '/league/flysystem/src/Plugin/GetWithMetadata.php', - 'League\\Flysystem\\Plugin\\ListFiles' => $vendorDir . '/league/flysystem/src/Plugin/ListFiles.php', - 'League\\Flysystem\\Plugin\\ListPaths' => $vendorDir . '/league/flysystem/src/Plugin/ListPaths.php', - 'League\\Flysystem\\Plugin\\ListWith' => $vendorDir . '/league/flysystem/src/Plugin/ListWith.php', - 'League\\Flysystem\\Plugin\\PluggableTrait' => $vendorDir . '/league/flysystem/src/Plugin/PluggableTrait.php', - 'League\\Flysystem\\Plugin\\PluginNotFoundException' => $vendorDir . '/league/flysystem/src/Plugin/PluginNotFoundException.php', - 'League\\Flysystem\\ReadInterface' => $vendorDir . '/league/flysystem/src/ReadInterface.php', - 'League\\Flysystem\\RootViolationException' => $vendorDir . '/league/flysystem/src/RootViolationException.php', - 'League\\Flysystem\\SafeStorage' => $vendorDir . '/league/flysystem/src/SafeStorage.php', - 'League\\Flysystem\\UnreadableFileException' => $vendorDir . '/league/flysystem/src/UnreadableFileException.php', - 'League\\Flysystem\\Util' => $vendorDir . '/league/flysystem/src/Util.php', - 'League\\Flysystem\\Util\\ContentListingFormatter' => $vendorDir . '/league/flysystem/src/Util/ContentListingFormatter.php', - 'League\\Flysystem\\Util\\MimeType' => $vendorDir . '/league/flysystem/src/Util/MimeType.php', - 'League\\Flysystem\\Util\\StreamHasher' => $vendorDir . '/league/flysystem/src/Util/StreamHasher.php', - 'Mockery' => $vendorDir . '/mockery/mockery/library/Mockery.php', - 'Mockery\\Adapter\\Phpunit\\Legacy\\TestListenerForV5' => $vendorDir . '/mockery/mockery/library/Mockery/Adapter/Phpunit/Legacy/TestListenerForV5.php', - 'Mockery\\Adapter\\Phpunit\\Legacy\\TestListenerForV6' => $vendorDir . '/mockery/mockery/library/Mockery/Adapter/Phpunit/Legacy/TestListenerForV6.php', - 'Mockery\\Adapter\\Phpunit\\Legacy\\TestListenerForV7' => $vendorDir . '/mockery/mockery/library/Mockery/Adapter/Phpunit/Legacy/TestListenerForV7.php', - 'Mockery\\Adapter\\Phpunit\\Legacy\\TestListenerTrait' => $vendorDir . '/mockery/mockery/library/Mockery/Adapter/Phpunit/Legacy/TestListenerTrait.php', - 'Mockery\\Adapter\\Phpunit\\MockeryPHPUnitIntegration' => $vendorDir . '/mockery/mockery/library/Mockery/Adapter/Phpunit/MockeryPHPUnitIntegration.php', - 'Mockery\\Adapter\\Phpunit\\MockeryPHPUnitIntegrationAssertPostConditionsForV7AndPrevious' => $vendorDir . '/mockery/mockery/library/Mockery/Adapter/Phpunit/MockeryPHPUnitIntegrationAssertPostConditionsForV7AndPrevious.php', - 'Mockery\\Adapter\\Phpunit\\MockeryPHPUnitIntegrationAssertPostConditionsForV8' => $vendorDir . '/mockery/mockery/library/Mockery/Adapter/Phpunit/MockeryPHPUnitIntegrationAssertPostConditionsForV8.php', - 'Mockery\\Adapter\\Phpunit\\MockeryTestCase' => $vendorDir . '/mockery/mockery/library/Mockery/Adapter/Phpunit/MockeryTestCase.php', - 'Mockery\\Adapter\\Phpunit\\MockeryTestCaseSetUpForV7AndPrevious' => $vendorDir . '/mockery/mockery/library/Mockery/Adapter/Phpunit/MockeryTestCaseSetUpForV7AndPrevious.php', - 'Mockery\\Adapter\\Phpunit\\MockeryTestCaseSetUpForV8' => $vendorDir . '/mockery/mockery/library/Mockery/Adapter/Phpunit/MockeryTestCaseSetUpForV8.php', - 'Mockery\\Adapter\\Phpunit\\TestListener' => $vendorDir . '/mockery/mockery/library/Mockery/Adapter/Phpunit/TestListener.php', - 'Mockery\\ClosureWrapper' => $vendorDir . '/mockery/mockery/library/Mockery/ClosureWrapper.php', - 'Mockery\\CompositeExpectation' => $vendorDir . '/mockery/mockery/library/Mockery/CompositeExpectation.php', - 'Mockery\\Configuration' => $vendorDir . '/mockery/mockery/library/Mockery/Configuration.php', - 'Mockery\\Container' => $vendorDir . '/mockery/mockery/library/Mockery/Container.php', - 'Mockery\\CountValidator\\AtLeast' => $vendorDir . '/mockery/mockery/library/Mockery/CountValidator/AtLeast.php', - 'Mockery\\CountValidator\\AtMost' => $vendorDir . '/mockery/mockery/library/Mockery/CountValidator/AtMost.php', - 'Mockery\\CountValidator\\CountValidatorAbstract' => $vendorDir . '/mockery/mockery/library/Mockery/CountValidator/CountValidatorAbstract.php', - 'Mockery\\CountValidator\\Exact' => $vendorDir . '/mockery/mockery/library/Mockery/CountValidator/Exact.php', - 'Mockery\\CountValidator\\Exception' => $vendorDir . '/mockery/mockery/library/Mockery/CountValidator/Exception.php', - 'Mockery\\Exception' => $vendorDir . '/mockery/mockery/library/Mockery/Exception.php', - 'Mockery\\Exception\\BadMethodCallException' => $vendorDir . '/mockery/mockery/library/Mockery/Exception/BadMethodCallException.php', - 'Mockery\\Exception\\InvalidArgumentException' => $vendorDir . '/mockery/mockery/library/Mockery/Exception/InvalidArgumentException.php', - 'Mockery\\Exception\\InvalidCountException' => $vendorDir . '/mockery/mockery/library/Mockery/Exception/InvalidCountException.php', - 'Mockery\\Exception\\InvalidOrderException' => $vendorDir . '/mockery/mockery/library/Mockery/Exception/InvalidOrderException.php', - 'Mockery\\Exception\\NoMatchingExpectationException' => $vendorDir . '/mockery/mockery/library/Mockery/Exception/NoMatchingExpectationException.php', - 'Mockery\\Exception\\RuntimeException' => $vendorDir . '/mockery/mockery/library/Mockery/Exception/RuntimeException.php', - 'Mockery\\Expectation' => $vendorDir . '/mockery/mockery/library/Mockery/Expectation.php', - 'Mockery\\ExpectationDirector' => $vendorDir . '/mockery/mockery/library/Mockery/ExpectationDirector.php', - 'Mockery\\ExpectationInterface' => $vendorDir . '/mockery/mockery/library/Mockery/ExpectationInterface.php', - 'Mockery\\ExpectsHigherOrderMessage' => $vendorDir . '/mockery/mockery/library/Mockery/ExpectsHigherOrderMessage.php', - 'Mockery\\Generator\\CachingGenerator' => $vendorDir . '/mockery/mockery/library/Mockery/Generator/CachingGenerator.php', - 'Mockery\\Generator\\DefinedTargetClass' => $vendorDir . '/mockery/mockery/library/Mockery/Generator/DefinedTargetClass.php', - 'Mockery\\Generator\\Generator' => $vendorDir . '/mockery/mockery/library/Mockery/Generator/Generator.php', - 'Mockery\\Generator\\Method' => $vendorDir . '/mockery/mockery/library/Mockery/Generator/Method.php', - 'Mockery\\Generator\\MockConfiguration' => $vendorDir . '/mockery/mockery/library/Mockery/Generator/MockConfiguration.php', - 'Mockery\\Generator\\MockConfigurationBuilder' => $vendorDir . '/mockery/mockery/library/Mockery/Generator/MockConfigurationBuilder.php', - 'Mockery\\Generator\\MockDefinition' => $vendorDir . '/mockery/mockery/library/Mockery/Generator/MockDefinition.php', - 'Mockery\\Generator\\MockNameBuilder' => $vendorDir . '/mockery/mockery/library/Mockery/Generator/MockNameBuilder.php', - 'Mockery\\Generator\\Parameter' => $vendorDir . '/mockery/mockery/library/Mockery/Generator/Parameter.php', - 'Mockery\\Generator\\StringManipulationGenerator' => $vendorDir . '/mockery/mockery/library/Mockery/Generator/StringManipulationGenerator.php', - 'Mockery\\Generator\\StringManipulation\\Pass\\AvoidMethodClashPass' => $vendorDir . '/mockery/mockery/library/Mockery/Generator/StringManipulation/Pass/AvoidMethodClashPass.php', - 'Mockery\\Generator\\StringManipulation\\Pass\\CallTypeHintPass' => $vendorDir . '/mockery/mockery/library/Mockery/Generator/StringManipulation/Pass/CallTypeHintPass.php', - 'Mockery\\Generator\\StringManipulation\\Pass\\ClassNamePass' => $vendorDir . '/mockery/mockery/library/Mockery/Generator/StringManipulation/Pass/ClassNamePass.php', - 'Mockery\\Generator\\StringManipulation\\Pass\\ClassPass' => $vendorDir . '/mockery/mockery/library/Mockery/Generator/StringManipulation/Pass/ClassPass.php', - 'Mockery\\Generator\\StringManipulation\\Pass\\ConstantsPass' => $vendorDir . '/mockery/mockery/library/Mockery/Generator/StringManipulation/Pass/ConstantsPass.php', - 'Mockery\\Generator\\StringManipulation\\Pass\\InstanceMockPass' => $vendorDir . '/mockery/mockery/library/Mockery/Generator/StringManipulation/Pass/InstanceMockPass.php', - 'Mockery\\Generator\\StringManipulation\\Pass\\InterfacePass' => $vendorDir . '/mockery/mockery/library/Mockery/Generator/StringManipulation/Pass/InterfacePass.php', - 'Mockery\\Generator\\StringManipulation\\Pass\\MagicMethodTypeHintsPass' => $vendorDir . '/mockery/mockery/library/Mockery/Generator/StringManipulation/Pass/MagicMethodTypeHintsPass.php', - 'Mockery\\Generator\\StringManipulation\\Pass\\MethodDefinitionPass' => $vendorDir . '/mockery/mockery/library/Mockery/Generator/StringManipulation/Pass/MethodDefinitionPass.php', - 'Mockery\\Generator\\StringManipulation\\Pass\\Pass' => $vendorDir . '/mockery/mockery/library/Mockery/Generator/StringManipulation/Pass/Pass.php', - 'Mockery\\Generator\\StringManipulation\\Pass\\RemoveBuiltinMethodsThatAreFinalPass' => $vendorDir . '/mockery/mockery/library/Mockery/Generator/StringManipulation/Pass/RemoveBuiltinMethodsThatAreFinalPass.php', - 'Mockery\\Generator\\StringManipulation\\Pass\\RemoveDestructorPass' => $vendorDir . '/mockery/mockery/library/Mockery/Generator/StringManipulation/Pass/RemoveDestructorPass.php', - 'Mockery\\Generator\\StringManipulation\\Pass\\RemoveUnserializeForInternalSerializableClassesPass' => $vendorDir . '/mockery/mockery/library/Mockery/Generator/StringManipulation/Pass/RemoveUnserializeForInternalSerializableClassesPass.php', - 'Mockery\\Generator\\StringManipulation\\Pass\\TraitPass' => $vendorDir . '/mockery/mockery/library/Mockery/Generator/StringManipulation/Pass/TraitPass.php', - 'Mockery\\Generator\\TargetClassInterface' => $vendorDir . '/mockery/mockery/library/Mockery/Generator/TargetClassInterface.php', - 'Mockery\\Generator\\UndefinedTargetClass' => $vendorDir . '/mockery/mockery/library/Mockery/Generator/UndefinedTargetClass.php', - 'Mockery\\HigherOrderMessage' => $vendorDir . '/mockery/mockery/library/Mockery/HigherOrderMessage.php', - 'Mockery\\Instantiator' => $vendorDir . '/mockery/mockery/library/Mockery/Instantiator.php', - 'Mockery\\LegacyMockInterface' => $vendorDir . '/mockery/mockery/library/Mockery/LegacyMockInterface.php', - 'Mockery\\Loader\\EvalLoader' => $vendorDir . '/mockery/mockery/library/Mockery/Loader/EvalLoader.php', - 'Mockery\\Loader\\Loader' => $vendorDir . '/mockery/mockery/library/Mockery/Loader/Loader.php', - 'Mockery\\Loader\\RequireLoader' => $vendorDir . '/mockery/mockery/library/Mockery/Loader/RequireLoader.php', - 'Mockery\\Matcher\\AndAnyOtherArgs' => $vendorDir . '/mockery/mockery/library/Mockery/Matcher/AndAnyOtherArgs.php', - 'Mockery\\Matcher\\Any' => $vendorDir . '/mockery/mockery/library/Mockery/Matcher/Any.php', - 'Mockery\\Matcher\\AnyArgs' => $vendorDir . '/mockery/mockery/library/Mockery/Matcher/AnyArgs.php', - 'Mockery\\Matcher\\AnyOf' => $vendorDir . '/mockery/mockery/library/Mockery/Matcher/AnyOf.php', - 'Mockery\\Matcher\\ArgumentListMatcher' => $vendorDir . '/mockery/mockery/library/Mockery/Matcher/ArgumentListMatcher.php', - 'Mockery\\Matcher\\Closure' => $vendorDir . '/mockery/mockery/library/Mockery/Matcher/Closure.php', - 'Mockery\\Matcher\\Contains' => $vendorDir . '/mockery/mockery/library/Mockery/Matcher/Contains.php', - 'Mockery\\Matcher\\Ducktype' => $vendorDir . '/mockery/mockery/library/Mockery/Matcher/Ducktype.php', - 'Mockery\\Matcher\\HasKey' => $vendorDir . '/mockery/mockery/library/Mockery/Matcher/HasKey.php', - 'Mockery\\Matcher\\HasValue' => $vendorDir . '/mockery/mockery/library/Mockery/Matcher/HasValue.php', - 'Mockery\\Matcher\\MatcherAbstract' => $vendorDir . '/mockery/mockery/library/Mockery/Matcher/MatcherAbstract.php', - 'Mockery\\Matcher\\MultiArgumentClosure' => $vendorDir . '/mockery/mockery/library/Mockery/Matcher/MultiArgumentClosure.php', - 'Mockery\\Matcher\\MustBe' => $vendorDir . '/mockery/mockery/library/Mockery/Matcher/MustBe.php', - 'Mockery\\Matcher\\NoArgs' => $vendorDir . '/mockery/mockery/library/Mockery/Matcher/NoArgs.php', - 'Mockery\\Matcher\\Not' => $vendorDir . '/mockery/mockery/library/Mockery/Matcher/Not.php', - 'Mockery\\Matcher\\NotAnyOf' => $vendorDir . '/mockery/mockery/library/Mockery/Matcher/NotAnyOf.php', - 'Mockery\\Matcher\\PHPUnitConstraint' => $vendorDir . '/mockery/mockery/library/Mockery/Matcher/PHPUnitConstraint.php', - 'Mockery\\Matcher\\Pattern' => $vendorDir . '/mockery/mockery/library/Mockery/Matcher/Pattern.php', - 'Mockery\\Matcher\\Subset' => $vendorDir . '/mockery/mockery/library/Mockery/Matcher/Subset.php', - 'Mockery\\Matcher\\Type' => $vendorDir . '/mockery/mockery/library/Mockery/Matcher/Type.php', - 'Mockery\\MethodCall' => $vendorDir . '/mockery/mockery/library/Mockery/MethodCall.php', - 'Mockery\\Mock' => $vendorDir . '/mockery/mockery/library/Mockery/Mock.php', - 'Mockery\\MockInterface' => $vendorDir . '/mockery/mockery/library/Mockery/MockInterface.php', - 'Mockery\\ReceivedMethodCalls' => $vendorDir . '/mockery/mockery/library/Mockery/ReceivedMethodCalls.php', - 'Mockery\\Undefined' => $vendorDir . '/mockery/mockery/library/Mockery/Undefined.php', - 'Mockery\\VerificationDirector' => $vendorDir . '/mockery/mockery/library/Mockery/VerificationDirector.php', - 'Mockery\\VerificationExpectation' => $vendorDir . '/mockery/mockery/library/Mockery/VerificationExpectation.php', - 'Monolog\\ErrorHandler' => $vendorDir . '/monolog/monolog/src/Monolog/ErrorHandler.php', - 'Monolog\\Formatter\\ChromePHPFormatter' => $vendorDir . '/monolog/monolog/src/Monolog/Formatter/ChromePHPFormatter.php', - 'Monolog\\Formatter\\ElasticaFormatter' => $vendorDir . '/monolog/monolog/src/Monolog/Formatter/ElasticaFormatter.php', - 'Monolog\\Formatter\\FlowdockFormatter' => $vendorDir . '/monolog/monolog/src/Monolog/Formatter/FlowdockFormatter.php', - 'Monolog\\Formatter\\FluentdFormatter' => $vendorDir . '/monolog/monolog/src/Monolog/Formatter/FluentdFormatter.php', - 'Monolog\\Formatter\\FormatterInterface' => $vendorDir . '/monolog/monolog/src/Monolog/Formatter/FormatterInterface.php', - 'Monolog\\Formatter\\GelfMessageFormatter' => $vendorDir . '/monolog/monolog/src/Monolog/Formatter/GelfMessageFormatter.php', - 'Monolog\\Formatter\\HtmlFormatter' => $vendorDir . '/monolog/monolog/src/Monolog/Formatter/HtmlFormatter.php', - 'Monolog\\Formatter\\JsonFormatter' => $vendorDir . '/monolog/monolog/src/Monolog/Formatter/JsonFormatter.php', - 'Monolog\\Formatter\\LineFormatter' => $vendorDir . '/monolog/monolog/src/Monolog/Formatter/LineFormatter.php', - 'Monolog\\Formatter\\LogglyFormatter' => $vendorDir . '/monolog/monolog/src/Monolog/Formatter/LogglyFormatter.php', - 'Monolog\\Formatter\\LogstashFormatter' => $vendorDir . '/monolog/monolog/src/Monolog/Formatter/LogstashFormatter.php', - 'Monolog\\Formatter\\MongoDBFormatter' => $vendorDir . '/monolog/monolog/src/Monolog/Formatter/MongoDBFormatter.php', - 'Monolog\\Formatter\\NormalizerFormatter' => $vendorDir . '/monolog/monolog/src/Monolog/Formatter/NormalizerFormatter.php', - 'Monolog\\Formatter\\ScalarFormatter' => $vendorDir . '/monolog/monolog/src/Monolog/Formatter/ScalarFormatter.php', - 'Monolog\\Formatter\\WildfireFormatter' => $vendorDir . '/monolog/monolog/src/Monolog/Formatter/WildfireFormatter.php', - 'Monolog\\Handler\\AbstractHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/AbstractHandler.php', - 'Monolog\\Handler\\AbstractProcessingHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/AbstractProcessingHandler.php', - 'Monolog\\Handler\\AbstractSyslogHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/AbstractSyslogHandler.php', - 'Monolog\\Handler\\AmqpHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/AmqpHandler.php', - 'Monolog\\Handler\\BrowserConsoleHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/BrowserConsoleHandler.php', - 'Monolog\\Handler\\BufferHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/BufferHandler.php', - 'Monolog\\Handler\\ChromePHPHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/ChromePHPHandler.php', - 'Monolog\\Handler\\CouchDBHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/CouchDBHandler.php', - 'Monolog\\Handler\\CubeHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/CubeHandler.php', - 'Monolog\\Handler\\Curl\\Util' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/Curl/Util.php', - 'Monolog\\Handler\\DeduplicationHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/DeduplicationHandler.php', - 'Monolog\\Handler\\DoctrineCouchDBHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/DoctrineCouchDBHandler.php', - 'Monolog\\Handler\\DynamoDbHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/DynamoDbHandler.php', - 'Monolog\\Handler\\ElasticSearchHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/ElasticSearchHandler.php', - 'Monolog\\Handler\\ErrorLogHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/ErrorLogHandler.php', - 'Monolog\\Handler\\FilterHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/FilterHandler.php', - 'Monolog\\Handler\\FingersCrossedHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/FingersCrossedHandler.php', - 'Monolog\\Handler\\FingersCrossed\\ActivationStrategyInterface' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/FingersCrossed/ActivationStrategyInterface.php', - 'Monolog\\Handler\\FingersCrossed\\ChannelLevelActivationStrategy' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/FingersCrossed/ChannelLevelActivationStrategy.php', - 'Monolog\\Handler\\FingersCrossed\\ErrorLevelActivationStrategy' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/FingersCrossed/ErrorLevelActivationStrategy.php', - 'Monolog\\Handler\\FirePHPHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/FirePHPHandler.php', - 'Monolog\\Handler\\FleepHookHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/FleepHookHandler.php', - 'Monolog\\Handler\\FlowdockHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/FlowdockHandler.php', - 'Monolog\\Handler\\FormattableHandlerInterface' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/FormattableHandlerInterface.php', - 'Monolog\\Handler\\FormattableHandlerTrait' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/FormattableHandlerTrait.php', - 'Monolog\\Handler\\GelfHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/GelfHandler.php', - 'Monolog\\Handler\\GroupHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/GroupHandler.php', - 'Monolog\\Handler\\HandlerInterface' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/HandlerInterface.php', - 'Monolog\\Handler\\HandlerWrapper' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/HandlerWrapper.php', - 'Monolog\\Handler\\HipChatHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/HipChatHandler.php', - 'Monolog\\Handler\\IFTTTHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/IFTTTHandler.php', - 'Monolog\\Handler\\InsightOpsHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/InsightOpsHandler.php', - 'Monolog\\Handler\\LogEntriesHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/LogEntriesHandler.php', - 'Monolog\\Handler\\LogglyHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/LogglyHandler.php', - 'Monolog\\Handler\\MailHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/MailHandler.php', - 'Monolog\\Handler\\MandrillHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/MandrillHandler.php', - 'Monolog\\Handler\\MissingExtensionException' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/MissingExtensionException.php', - 'Monolog\\Handler\\MongoDBHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/MongoDBHandler.php', - 'Monolog\\Handler\\NativeMailerHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/NativeMailerHandler.php', - 'Monolog\\Handler\\NewRelicHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/NewRelicHandler.php', - 'Monolog\\Handler\\NullHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/NullHandler.php', - 'Monolog\\Handler\\PHPConsoleHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/PHPConsoleHandler.php', - 'Monolog\\Handler\\ProcessableHandlerInterface' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/ProcessableHandlerInterface.php', - 'Monolog\\Handler\\ProcessableHandlerTrait' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/ProcessableHandlerTrait.php', - 'Monolog\\Handler\\PsrHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/PsrHandler.php', - 'Monolog\\Handler\\PushoverHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/PushoverHandler.php', - 'Monolog\\Handler\\RavenHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/RavenHandler.php', - 'Monolog\\Handler\\RedisHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/RedisHandler.php', - 'Monolog\\Handler\\RollbarHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/RollbarHandler.php', - 'Monolog\\Handler\\RotatingFileHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/RotatingFileHandler.php', - 'Monolog\\Handler\\SamplingHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/SamplingHandler.php', - 'Monolog\\Handler\\SlackHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/SlackHandler.php', - 'Monolog\\Handler\\SlackWebhookHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/SlackWebhookHandler.php', - 'Monolog\\Handler\\Slack\\SlackRecord' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/Slack/SlackRecord.php', - 'Monolog\\Handler\\SlackbotHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/SlackbotHandler.php', - 'Monolog\\Handler\\SocketHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/SocketHandler.php', - 'Monolog\\Handler\\StreamHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/StreamHandler.php', - 'Monolog\\Handler\\SwiftMailerHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/SwiftMailerHandler.php', - 'Monolog\\Handler\\SyslogHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/SyslogHandler.php', - 'Monolog\\Handler\\SyslogUdpHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/SyslogUdpHandler.php', - 'Monolog\\Handler\\SyslogUdp\\UdpSocket' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/SyslogUdp/UdpSocket.php', - 'Monolog\\Handler\\TestHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/TestHandler.php', - 'Monolog\\Handler\\WhatFailureGroupHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/WhatFailureGroupHandler.php', - 'Monolog\\Handler\\ZendMonitorHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/ZendMonitorHandler.php', - 'Monolog\\Logger' => $vendorDir . '/monolog/monolog/src/Monolog/Logger.php', - 'Monolog\\Processor\\GitProcessor' => $vendorDir . '/monolog/monolog/src/Monolog/Processor/GitProcessor.php', - 'Monolog\\Processor\\IntrospectionProcessor' => $vendorDir . '/monolog/monolog/src/Monolog/Processor/IntrospectionProcessor.php', - 'Monolog\\Processor\\MemoryPeakUsageProcessor' => $vendorDir . '/monolog/monolog/src/Monolog/Processor/MemoryPeakUsageProcessor.php', - 'Monolog\\Processor\\MemoryProcessor' => $vendorDir . '/monolog/monolog/src/Monolog/Processor/MemoryProcessor.php', - 'Monolog\\Processor\\MemoryUsageProcessor' => $vendorDir . '/monolog/monolog/src/Monolog/Processor/MemoryUsageProcessor.php', - 'Monolog\\Processor\\MercurialProcessor' => $vendorDir . '/monolog/monolog/src/Monolog/Processor/MercurialProcessor.php', - 'Monolog\\Processor\\ProcessIdProcessor' => $vendorDir . '/monolog/monolog/src/Monolog/Processor/ProcessIdProcessor.php', - 'Monolog\\Processor\\ProcessorInterface' => $vendorDir . '/monolog/monolog/src/Monolog/Processor/ProcessorInterface.php', - 'Monolog\\Processor\\PsrLogMessageProcessor' => $vendorDir . '/monolog/monolog/src/Monolog/Processor/PsrLogMessageProcessor.php', - 'Monolog\\Processor\\TagProcessor' => $vendorDir . '/monolog/monolog/src/Monolog/Processor/TagProcessor.php', - 'Monolog\\Processor\\UidProcessor' => $vendorDir . '/monolog/monolog/src/Monolog/Processor/UidProcessor.php', - 'Monolog\\Processor\\WebProcessor' => $vendorDir . '/monolog/monolog/src/Monolog/Processor/WebProcessor.php', - 'Monolog\\Registry' => $vendorDir . '/monolog/monolog/src/Monolog/Registry.php', - 'Monolog\\ResettableInterface' => $vendorDir . '/monolog/monolog/src/Monolog/ResettableInterface.php', - 'Monolog\\SignalHandler' => $vendorDir . '/monolog/monolog/src/Monolog/SignalHandler.php', - 'Monolog\\Utils' => $vendorDir . '/monolog/monolog/src/Monolog/Utils.php', - 'NunoMaduro\\Collision\\Adapters\\Laravel\\CollisionServiceProvider' => $vendorDir . '/nunomaduro/collision/src/Adapters/Laravel/CollisionServiceProvider.php', - 'NunoMaduro\\Collision\\Adapters\\Laravel\\ExceptionHandler' => $vendorDir . '/nunomaduro/collision/src/Adapters/Laravel/ExceptionHandler.php', - 'NunoMaduro\\Collision\\Adapters\\Laravel\\Inspector' => $vendorDir . '/nunomaduro/collision/src/Adapters/Laravel/Inspector.php', - 'NunoMaduro\\Collision\\Adapters\\Phpunit\\Listener' => $vendorDir . '/nunomaduro/collision/src/Adapters/Phpunit/Listener.php', - 'NunoMaduro\\Collision\\ArgumentFormatter' => $vendorDir . '/nunomaduro/collision/src/ArgumentFormatter.php', - 'NunoMaduro\\Collision\\Contracts\\Adapters\\Phpunit\\Listener' => $vendorDir . '/nunomaduro/collision/src/Contracts/Adapters/Phpunit/Listener.php', - 'NunoMaduro\\Collision\\Contracts\\ArgumentFormatter' => $vendorDir . '/nunomaduro/collision/src/Contracts/ArgumentFormatter.php', - 'NunoMaduro\\Collision\\Contracts\\Handler' => $vendorDir . '/nunomaduro/collision/src/Contracts/Handler.php', - 'NunoMaduro\\Collision\\Contracts\\Highlighter' => $vendorDir . '/nunomaduro/collision/src/Contracts/Highlighter.php', - 'NunoMaduro\\Collision\\Contracts\\Provider' => $vendorDir . '/nunomaduro/collision/src/Contracts/Provider.php', - 'NunoMaduro\\Collision\\Contracts\\Writer' => $vendorDir . '/nunomaduro/collision/src/Contracts/Writer.php', - 'NunoMaduro\\Collision\\Handler' => $vendorDir . '/nunomaduro/collision/src/Handler.php', - 'NunoMaduro\\Collision\\Highlighter' => $vendorDir . '/nunomaduro/collision/src/Highlighter.php', - 'NunoMaduro\\Collision\\Provider' => $vendorDir . '/nunomaduro/collision/src/Provider.php', - 'NunoMaduro\\Collision\\Writer' => $vendorDir . '/nunomaduro/collision/src/Writer.php', - 'Opis\\Closure\\Analyzer' => $vendorDir . '/opis/closure/src/Analyzer.php', - 'Opis\\Closure\\ClosureContext' => $vendorDir . '/opis/closure/src/ClosureContext.php', - 'Opis\\Closure\\ClosureScope' => $vendorDir . '/opis/closure/src/ClosureScope.php', - 'Opis\\Closure\\ClosureStream' => $vendorDir . '/opis/closure/src/ClosureStream.php', - 'Opis\\Closure\\ISecurityProvider' => $vendorDir . '/opis/closure/src/ISecurityProvider.php', - 'Opis\\Closure\\ReflectionClosure' => $vendorDir . '/opis/closure/src/ReflectionClosure.php', - 'Opis\\Closure\\SecurityException' => $vendorDir . '/opis/closure/src/SecurityException.php', - 'Opis\\Closure\\SecurityProvider' => $vendorDir . '/opis/closure/src/SecurityProvider.php', - 'Opis\\Closure\\SelfReference' => $vendorDir . '/opis/closure/src/SelfReference.php', - 'Opis\\Closure\\SerializableClosure' => $vendorDir . '/opis/closure/src/SerializableClosure.php', - 'PHPUnit\\Exception' => $vendorDir . '/phpunit/phpunit/src/Exception.php', - 'PHPUnit\\Framework\\Assert' => $vendorDir . '/phpunit/phpunit/src/Framework/Assert.php', - 'PHPUnit\\Framework\\AssertionFailedError' => $vendorDir . '/phpunit/phpunit/src/Framework/AssertionFailedError.php', - 'PHPUnit\\Framework\\CodeCoverageException' => $vendorDir . '/phpunit/phpunit/src/Framework/CodeCoverageException.php', - 'PHPUnit\\Framework\\Constraint\\ArrayHasKey' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/ArrayHasKey.php', - 'PHPUnit\\Framework\\Constraint\\ArraySubset' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/ArraySubset.php', - 'PHPUnit\\Framework\\Constraint\\Attribute' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Attribute.php', - 'PHPUnit\\Framework\\Constraint\\Callback' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Callback.php', - 'PHPUnit\\Framework\\Constraint\\ClassHasAttribute' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/ClassHasAttribute.php', - 'PHPUnit\\Framework\\Constraint\\ClassHasStaticAttribute' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/ClassHasStaticAttribute.php', - 'PHPUnit\\Framework\\Constraint\\Composite' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Composite.php', - 'PHPUnit\\Framework\\Constraint\\Constraint' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Constraint.php', - 'PHPUnit\\Framework\\Constraint\\Count' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Count.php', - 'PHPUnit\\Framework\\Constraint\\DirectoryExists' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/DirectoryExists.php', - 'PHPUnit\\Framework\\Constraint\\Exception' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Exception.php', - 'PHPUnit\\Framework\\Constraint\\ExceptionCode' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/ExceptionCode.php', - 'PHPUnit\\Framework\\Constraint\\ExceptionMessage' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/ExceptionMessage.php', - 'PHPUnit\\Framework\\Constraint\\ExceptionMessageRegularExpression' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/ExceptionMessageRegularExpression.php', - 'PHPUnit\\Framework\\Constraint\\FileExists' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/FileExists.php', - 'PHPUnit\\Framework\\Constraint\\GreaterThan' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/GreaterThan.php', - 'PHPUnit\\Framework\\Constraint\\IsAnything' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/IsAnything.php', - 'PHPUnit\\Framework\\Constraint\\IsEmpty' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/IsEmpty.php', - 'PHPUnit\\Framework\\Constraint\\IsEqual' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/IsEqual.php', - 'PHPUnit\\Framework\\Constraint\\IsFalse' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/IsFalse.php', - 'PHPUnit\\Framework\\Constraint\\IsFinite' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/IsFinite.php', - 'PHPUnit\\Framework\\Constraint\\IsIdentical' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/IsIdentical.php', - 'PHPUnit\\Framework\\Constraint\\IsInfinite' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/IsInfinite.php', - 'PHPUnit\\Framework\\Constraint\\IsInstanceOf' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/IsInstanceOf.php', - 'PHPUnit\\Framework\\Constraint\\IsJson' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/IsJson.php', - 'PHPUnit\\Framework\\Constraint\\IsNan' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/IsNan.php', - 'PHPUnit\\Framework\\Constraint\\IsNull' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/IsNull.php', - 'PHPUnit\\Framework\\Constraint\\IsReadable' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/IsReadable.php', - 'PHPUnit\\Framework\\Constraint\\IsTrue' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/IsTrue.php', - 'PHPUnit\\Framework\\Constraint\\IsType' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/IsType.php', - 'PHPUnit\\Framework\\Constraint\\IsWritable' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/IsWritable.php', - 'PHPUnit\\Framework\\Constraint\\JsonMatches' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/JsonMatches.php', - 'PHPUnit\\Framework\\Constraint\\JsonMatchesErrorMessageProvider' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/JsonMatchesErrorMessageProvider.php', - 'PHPUnit\\Framework\\Constraint\\LessThan' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/LessThan.php', - 'PHPUnit\\Framework\\Constraint\\LogicalAnd' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/LogicalAnd.php', - 'PHPUnit\\Framework\\Constraint\\LogicalNot' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/LogicalNot.php', - 'PHPUnit\\Framework\\Constraint\\LogicalOr' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/LogicalOr.php', - 'PHPUnit\\Framework\\Constraint\\LogicalXor' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/LogicalXor.php', - 'PHPUnit\\Framework\\Constraint\\ObjectHasAttribute' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/ObjectHasAttribute.php', - 'PHPUnit\\Framework\\Constraint\\RegularExpression' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/RegularExpression.php', - 'PHPUnit\\Framework\\Constraint\\SameSize' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/SameSize.php', - 'PHPUnit\\Framework\\Constraint\\StringContains' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/StringContains.php', - 'PHPUnit\\Framework\\Constraint\\StringEndsWith' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/StringEndsWith.php', - 'PHPUnit\\Framework\\Constraint\\StringMatchesFormatDescription' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/StringMatchesFormatDescription.php', - 'PHPUnit\\Framework\\Constraint\\StringStartsWith' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/StringStartsWith.php', - 'PHPUnit\\Framework\\Constraint\\TraversableContains' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/TraversableContains.php', - 'PHPUnit\\Framework\\Constraint\\TraversableContainsOnly' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/TraversableContainsOnly.php', - 'PHPUnit\\Framework\\CoveredCodeNotExecutedException' => $vendorDir . '/phpunit/phpunit/src/Framework/CoveredCodeNotExecutedException.php', - 'PHPUnit\\Framework\\DataProviderTestSuite' => $vendorDir . '/phpunit/phpunit/src/Framework/DataProviderTestSuite.php', - 'PHPUnit\\Framework\\Error\\Deprecated' => $vendorDir . '/phpunit/phpunit/src/Framework/Error/Deprecated.php', - 'PHPUnit\\Framework\\Error\\Error' => $vendorDir . '/phpunit/phpunit/src/Framework/Error/Error.php', - 'PHPUnit\\Framework\\Error\\Notice' => $vendorDir . '/phpunit/phpunit/src/Framework/Error/Notice.php', - 'PHPUnit\\Framework\\Error\\Warning' => $vendorDir . '/phpunit/phpunit/src/Framework/Error/Warning.php', - 'PHPUnit\\Framework\\Exception' => $vendorDir . '/phpunit/phpunit/src/Framework/Exception.php', - 'PHPUnit\\Framework\\ExceptionWrapper' => $vendorDir . '/phpunit/phpunit/src/Framework/ExceptionWrapper.php', - 'PHPUnit\\Framework\\ExpectationFailedException' => $vendorDir . '/phpunit/phpunit/src/Framework/ExpectationFailedException.php', - 'PHPUnit\\Framework\\IncompleteTest' => $vendorDir . '/phpunit/phpunit/src/Framework/IncompleteTest.php', - 'PHPUnit\\Framework\\IncompleteTestCase' => $vendorDir . '/phpunit/phpunit/src/Framework/IncompleteTestCase.php', - 'PHPUnit\\Framework\\IncompleteTestError' => $vendorDir . '/phpunit/phpunit/src/Framework/IncompleteTestError.php', - 'PHPUnit\\Framework\\InvalidCoversTargetException' => $vendorDir . '/phpunit/phpunit/src/Framework/InvalidCoversTargetException.php', - 'PHPUnit\\Framework\\InvalidParameterGroupException' => $vendorDir . '/phpunit/phpunit/src/Framework/InvalidParameterGroupException.php', - 'PHPUnit\\Framework\\MissingCoversAnnotationException' => $vendorDir . '/phpunit/phpunit/src/Framework/MissingCoversAnnotationException.php', - 'PHPUnit\\Framework\\MockObject\\BadMethodCallException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Exception/BadMethodCallException.php', - 'PHPUnit\\Framework\\MockObject\\Builder\\Identity' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Builder/Identity.php', - 'PHPUnit\\Framework\\MockObject\\Builder\\InvocationMocker' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Builder/InvocationMocker.php', - 'PHPUnit\\Framework\\MockObject\\Builder\\Match' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Builder/Match.php', - 'PHPUnit\\Framework\\MockObject\\Builder\\MethodNameMatch' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Builder/MethodNameMatch.php', - 'PHPUnit\\Framework\\MockObject\\Builder\\NamespaceMatch' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Builder/NamespaceMatch.php', - 'PHPUnit\\Framework\\MockObject\\Builder\\ParametersMatch' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Builder/ParametersMatch.php', - 'PHPUnit\\Framework\\MockObject\\Builder\\Stub' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Builder/Stub.php', - 'PHPUnit\\Framework\\MockObject\\Exception' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Exception/Exception.php', - 'PHPUnit\\Framework\\MockObject\\Generator' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Generator.php', - 'PHPUnit\\Framework\\MockObject\\Invocation' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Invocation/Invocation.php', - 'PHPUnit\\Framework\\MockObject\\InvocationMocker' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/InvocationMocker.php', - 'PHPUnit\\Framework\\MockObject\\Invocation\\ObjectInvocation' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Invocation/ObjectInvocation.php', - 'PHPUnit\\Framework\\MockObject\\Invocation\\StaticInvocation' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Invocation/StaticInvocation.php', - 'PHPUnit\\Framework\\MockObject\\Invokable' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Invokable.php', - 'PHPUnit\\Framework\\MockObject\\Matcher' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Matcher.php', - 'PHPUnit\\Framework\\MockObject\\Matcher\\AnyInvokedCount' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Matcher/AnyInvokedCount.php', - 'PHPUnit\\Framework\\MockObject\\Matcher\\AnyParameters' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Matcher/AnyParameters.php', - 'PHPUnit\\Framework\\MockObject\\Matcher\\ConsecutiveParameters' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Matcher/ConsecutiveParameters.php', - 'PHPUnit\\Framework\\MockObject\\Matcher\\DeferredError' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Matcher/DeferredError.php', - 'PHPUnit\\Framework\\MockObject\\Matcher\\Invocation' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Matcher/Invocation.php', - 'PHPUnit\\Framework\\MockObject\\Matcher\\InvokedAtIndex' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Matcher/InvokedAtIndex.php', - 'PHPUnit\\Framework\\MockObject\\Matcher\\InvokedAtLeastCount' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Matcher/InvokedAtLeastCount.php', - 'PHPUnit\\Framework\\MockObject\\Matcher\\InvokedAtLeastOnce' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Matcher/InvokedAtLeastOnce.php', - 'PHPUnit\\Framework\\MockObject\\Matcher\\InvokedAtMostCount' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Matcher/InvokedAtMostCount.php', - 'PHPUnit\\Framework\\MockObject\\Matcher\\InvokedCount' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Matcher/InvokedCount.php', - 'PHPUnit\\Framework\\MockObject\\Matcher\\InvokedRecorder' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Matcher/InvokedRecorder.php', - 'PHPUnit\\Framework\\MockObject\\Matcher\\MethodName' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Matcher/MethodName.php', - 'PHPUnit\\Framework\\MockObject\\Matcher\\Parameters' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Matcher/Parameters.php', - 'PHPUnit\\Framework\\MockObject\\Matcher\\StatelessInvocation' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Matcher/StatelessInvocation.php', - 'PHPUnit\\Framework\\MockObject\\MockBuilder' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/MockBuilder.php', - 'PHPUnit\\Framework\\MockObject\\MockMethod' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/MockMethod.php', - 'PHPUnit\\Framework\\MockObject\\MockMethodSet' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/MockMethodSet.php', - 'PHPUnit\\Framework\\MockObject\\MockObject' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/ForwardCompatibility/MockObject.php', - 'PHPUnit\\Framework\\MockObject\\RuntimeException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Exception/RuntimeException.php', - 'PHPUnit\\Framework\\MockObject\\Stub' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Stub.php', - 'PHPUnit\\Framework\\MockObject\\Stub\\ConsecutiveCalls' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Stub/ConsecutiveCalls.php', - 'PHPUnit\\Framework\\MockObject\\Stub\\Exception' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Stub/Exception.php', - 'PHPUnit\\Framework\\MockObject\\Stub\\MatcherCollection' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Stub/MatcherCollection.php', - 'PHPUnit\\Framework\\MockObject\\Stub\\ReturnArgument' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Stub/ReturnArgument.php', - 'PHPUnit\\Framework\\MockObject\\Stub\\ReturnCallback' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Stub/ReturnCallback.php', - 'PHPUnit\\Framework\\MockObject\\Stub\\ReturnReference' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Stub/ReturnReference.php', - 'PHPUnit\\Framework\\MockObject\\Stub\\ReturnSelf' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Stub/ReturnSelf.php', - 'PHPUnit\\Framework\\MockObject\\Stub\\ReturnStub' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Stub/ReturnStub.php', - 'PHPUnit\\Framework\\MockObject\\Stub\\ReturnValueMap' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Stub/ReturnValueMap.php', - 'PHPUnit\\Framework\\MockObject\\Verifiable' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Verifiable.php', - 'PHPUnit\\Framework\\OutputError' => $vendorDir . '/phpunit/phpunit/src/Framework/OutputError.php', - 'PHPUnit\\Framework\\RiskyTest' => $vendorDir . '/phpunit/phpunit/src/Framework/RiskyTest.php', - 'PHPUnit\\Framework\\RiskyTestError' => $vendorDir . '/phpunit/phpunit/src/Framework/RiskyTestError.php', - 'PHPUnit\\Framework\\SelfDescribing' => $vendorDir . '/phpunit/phpunit/src/Framework/SelfDescribing.php', - 'PHPUnit\\Framework\\SkippedTest' => $vendorDir . '/phpunit/phpunit/src/Framework/SkippedTest.php', - 'PHPUnit\\Framework\\SkippedTestCase' => $vendorDir . '/phpunit/phpunit/src/Framework/SkippedTestCase.php', - 'PHPUnit\\Framework\\SkippedTestError' => $vendorDir . '/phpunit/phpunit/src/Framework/SkippedTestError.php', - 'PHPUnit\\Framework\\SkippedTestSuiteError' => $vendorDir . '/phpunit/phpunit/src/Framework/SkippedTestSuiteError.php', - 'PHPUnit\\Framework\\SyntheticError' => $vendorDir . '/phpunit/phpunit/src/Framework/SyntheticError.php', - 'PHPUnit\\Framework\\Test' => $vendorDir . '/phpunit/phpunit/src/Framework/Test.php', - 'PHPUnit\\Framework\\TestCase' => $vendorDir . '/phpunit/phpunit/src/Framework/TestCase.php', - 'PHPUnit\\Framework\\TestFailure' => $vendorDir . '/phpunit/phpunit/src/Framework/TestFailure.php', - 'PHPUnit\\Framework\\TestListener' => $vendorDir . '/phpunit/phpunit/src/Framework/TestListener.php', - 'PHPUnit\\Framework\\TestListenerDefaultImplementation' => $vendorDir . '/phpunit/phpunit/src/Framework/TestListenerDefaultImplementation.php', - 'PHPUnit\\Framework\\TestResult' => $vendorDir . '/phpunit/phpunit/src/Framework/TestResult.php', - 'PHPUnit\\Framework\\TestSuite' => $vendorDir . '/phpunit/phpunit/src/Framework/TestSuite.php', - 'PHPUnit\\Framework\\TestSuiteIterator' => $vendorDir . '/phpunit/phpunit/src/Framework/TestSuiteIterator.php', - 'PHPUnit\\Framework\\UnexpectedValueException' => $vendorDir . '/phpunit/phpunit/src/Framework/UnexpectedValueException.php', - 'PHPUnit\\Framework\\UnintentionallyCoveredCodeError' => $vendorDir . '/phpunit/phpunit/src/Framework/UnintentionallyCoveredCodeError.php', - 'PHPUnit\\Framework\\Warning' => $vendorDir . '/phpunit/phpunit/src/Framework/Warning.php', - 'PHPUnit\\Framework\\WarningTestCase' => $vendorDir . '/phpunit/phpunit/src/Framework/WarningTestCase.php', - 'PHPUnit\\Runner\\AfterIncompleteTestHook' => $vendorDir . '/phpunit/phpunit/src/Runner/Hook/AfterIncompleteTestHook.php', - 'PHPUnit\\Runner\\AfterLastTestHook' => $vendorDir . '/phpunit/phpunit/src/Runner/Hook/AfterLastTestHook.php', - 'PHPUnit\\Runner\\AfterRiskyTestHook' => $vendorDir . '/phpunit/phpunit/src/Runner/Hook/AfterRiskyTestHook.php', - 'PHPUnit\\Runner\\AfterSkippedTestHook' => $vendorDir . '/phpunit/phpunit/src/Runner/Hook/AfterSkippedTestHook.php', - 'PHPUnit\\Runner\\AfterSuccessfulTestHook' => $vendorDir . '/phpunit/phpunit/src/Runner/Hook/AfterSuccessfulTestHook.php', - 'PHPUnit\\Runner\\AfterTestErrorHook' => $vendorDir . '/phpunit/phpunit/src/Runner/Hook/AfterTestErrorHook.php', - 'PHPUnit\\Runner\\AfterTestFailureHook' => $vendorDir . '/phpunit/phpunit/src/Runner/Hook/AfterTestFailureHook.php', - 'PHPUnit\\Runner\\AfterTestHook' => $vendorDir . '/phpunit/phpunit/src/Runner/Hook/AfterTestHook.php', - 'PHPUnit\\Runner\\AfterTestWarningHook' => $vendorDir . '/phpunit/phpunit/src/Runner/Hook/AfterTestWarningHook.php', - 'PHPUnit\\Runner\\BaseTestRunner' => $vendorDir . '/phpunit/phpunit/src/Runner/BaseTestRunner.php', - 'PHPUnit\\Runner\\BeforeFirstTestHook' => $vendorDir . '/phpunit/phpunit/src/Runner/Hook/BeforeFirstTestHook.php', - 'PHPUnit\\Runner\\BeforeTestHook' => $vendorDir . '/phpunit/phpunit/src/Runner/Hook/BeforeTestHook.php', - 'PHPUnit\\Runner\\Exception' => $vendorDir . '/phpunit/phpunit/src/Runner/Exception.php', - 'PHPUnit\\Runner\\Filter\\ExcludeGroupFilterIterator' => $vendorDir . '/phpunit/phpunit/src/Runner/Filter/ExcludeGroupFilterIterator.php', - 'PHPUnit\\Runner\\Filter\\Factory' => $vendorDir . '/phpunit/phpunit/src/Runner/Filter/Factory.php', - 'PHPUnit\\Runner\\Filter\\GroupFilterIterator' => $vendorDir . '/phpunit/phpunit/src/Runner/Filter/GroupFilterIterator.php', - 'PHPUnit\\Runner\\Filter\\IncludeGroupFilterIterator' => $vendorDir . '/phpunit/phpunit/src/Runner/Filter/IncludeGroupFilterIterator.php', - 'PHPUnit\\Runner\\Filter\\NameFilterIterator' => $vendorDir . '/phpunit/phpunit/src/Runner/Filter/NameFilterIterator.php', - 'PHPUnit\\Runner\\Hook' => $vendorDir . '/phpunit/phpunit/src/Runner/Hook/Hook.php', - 'PHPUnit\\Runner\\NullTestResultCache' => $vendorDir . '/phpunit/phpunit/src/Util/NullTestResultCache.php', - 'PHPUnit\\Runner\\PhptTestCase' => $vendorDir . '/phpunit/phpunit/src/Runner/PhptTestCase.php', - 'PHPUnit\\Runner\\ResultCacheExtension' => $vendorDir . '/phpunit/phpunit/src/Runner/ResultCacheExtension.php', - 'PHPUnit\\Runner\\StandardTestSuiteLoader' => $vendorDir . '/phpunit/phpunit/src/Runner/StandardTestSuiteLoader.php', - 'PHPUnit\\Runner\\TestHook' => $vendorDir . '/phpunit/phpunit/src/Runner/Hook/TestHook.php', - 'PHPUnit\\Runner\\TestListenerAdapter' => $vendorDir . '/phpunit/phpunit/src/Runner/Hook/TestListenerAdapter.php', - 'PHPUnit\\Runner\\TestResultCache' => $vendorDir . '/phpunit/phpunit/src/Util/TestResultCache.php', - 'PHPUnit\\Runner\\TestResultCacheInterface' => $vendorDir . '/phpunit/phpunit/src/Util/TestResultCacheInterface.php', - 'PHPUnit\\Runner\\TestSuiteLoader' => $vendorDir . '/phpunit/phpunit/src/Runner/TestSuiteLoader.php', - 'PHPUnit\\Runner\\TestSuiteSorter' => $vendorDir . '/phpunit/phpunit/src/Runner/TestSuiteSorter.php', - 'PHPUnit\\Runner\\Version' => $vendorDir . '/phpunit/phpunit/src/Runner/Version.php', - 'PHPUnit\\TextUI\\Command' => $vendorDir . '/phpunit/phpunit/src/TextUI/Command.php', - 'PHPUnit\\TextUI\\ResultPrinter' => $vendorDir . '/phpunit/phpunit/src/TextUI/ResultPrinter.php', - 'PHPUnit\\TextUI\\TestRunner' => $vendorDir . '/phpunit/phpunit/src/TextUI/TestRunner.php', - 'PHPUnit\\Util\\Blacklist' => $vendorDir . '/phpunit/phpunit/src/Util/Blacklist.php', - 'PHPUnit\\Util\\Configuration' => $vendorDir . '/phpunit/phpunit/src/Util/Configuration.php', - 'PHPUnit\\Util\\ConfigurationGenerator' => $vendorDir . '/phpunit/phpunit/src/Util/ConfigurationGenerator.php', - 'PHPUnit\\Util\\ErrorHandler' => $vendorDir . '/phpunit/phpunit/src/Util/ErrorHandler.php', - 'PHPUnit\\Util\\FileLoader' => $vendorDir . '/phpunit/phpunit/src/Util/FileLoader.php', - 'PHPUnit\\Util\\Filesystem' => $vendorDir . '/phpunit/phpunit/src/Util/Filesystem.php', - 'PHPUnit\\Util\\Filter' => $vendorDir . '/phpunit/phpunit/src/Util/Filter.php', - 'PHPUnit\\Util\\Getopt' => $vendorDir . '/phpunit/phpunit/src/Util/Getopt.php', - 'PHPUnit\\Util\\GlobalState' => $vendorDir . '/phpunit/phpunit/src/Util/GlobalState.php', - 'PHPUnit\\Util\\InvalidArgumentHelper' => $vendorDir . '/phpunit/phpunit/src/Util/InvalidArgumentHelper.php', - 'PHPUnit\\Util\\Json' => $vendorDir . '/phpunit/phpunit/src/Util/Json.php', - 'PHPUnit\\Util\\Log\\JUnit' => $vendorDir . '/phpunit/phpunit/src/Util/Log/JUnit.php', - 'PHPUnit\\Util\\Log\\TeamCity' => $vendorDir . '/phpunit/phpunit/src/Util/Log/TeamCity.php', - 'PHPUnit\\Util\\PHP\\AbstractPhpProcess' => $vendorDir . '/phpunit/phpunit/src/Util/PHP/AbstractPhpProcess.php', - 'PHPUnit\\Util\\PHP\\DefaultPhpProcess' => $vendorDir . '/phpunit/phpunit/src/Util/PHP/DefaultPhpProcess.php', - 'PHPUnit\\Util\\PHP\\WindowsPhpProcess' => $vendorDir . '/phpunit/phpunit/src/Util/PHP/WindowsPhpProcess.php', - 'PHPUnit\\Util\\Printer' => $vendorDir . '/phpunit/phpunit/src/Util/Printer.php', - 'PHPUnit\\Util\\RegularExpression' => $vendorDir . '/phpunit/phpunit/src/Util/RegularExpression.php', - 'PHPUnit\\Util\\Test' => $vendorDir . '/phpunit/phpunit/src/Util/Test.php', - 'PHPUnit\\Util\\TestDox\\CliTestDoxPrinter' => $vendorDir . '/phpunit/phpunit/src/Util/TestDox/CliTestDoxPrinter.php', - 'PHPUnit\\Util\\TestDox\\HtmlResultPrinter' => $vendorDir . '/phpunit/phpunit/src/Util/TestDox/HtmlResultPrinter.php', - 'PHPUnit\\Util\\TestDox\\NamePrettifier' => $vendorDir . '/phpunit/phpunit/src/Util/TestDox/NamePrettifier.php', - 'PHPUnit\\Util\\TestDox\\ResultPrinter' => $vendorDir . '/phpunit/phpunit/src/Util/TestDox/ResultPrinter.php', - 'PHPUnit\\Util\\TestDox\\TestResult' => $vendorDir . '/phpunit/phpunit/src/Util/TestDox/TestResult.php', - 'PHPUnit\\Util\\TestDox\\TextResultPrinter' => $vendorDir . '/phpunit/phpunit/src/Util/TestDox/TextResultPrinter.php', - 'PHPUnit\\Util\\TestDox\\XmlResultPrinter' => $vendorDir . '/phpunit/phpunit/src/Util/TestDox/XmlResultPrinter.php', - 'PHPUnit\\Util\\TextTestListRenderer' => $vendorDir . '/phpunit/phpunit/src/Util/TextTestListRenderer.php', - 'PHPUnit\\Util\\Type' => $vendorDir . '/phpunit/phpunit/src/Util/Type.php', - 'PHPUnit\\Util\\XdebugFilterScriptGenerator' => $vendorDir . '/phpunit/phpunit/src/Util/XdebugFilterScriptGenerator.php', - 'PHPUnit\\Util\\Xml' => $vendorDir . '/phpunit/phpunit/src/Util/Xml.php', - 'PHPUnit\\Util\\XmlTestListRenderer' => $vendorDir . '/phpunit/phpunit/src/Util/XmlTestListRenderer.php', - 'PHPUnit_Framework_MockObject_MockObject' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/MockObject.php', - 'PHP_Token' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_TokenWithScope' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_TokenWithScopeAndVisibility' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_ABSTRACT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_AMPERSAND' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_AND_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_ARRAY' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_ARRAY_CAST' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_AS' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_AT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_BACKTICK' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_BAD_CHARACTER' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_BOOLEAN_AND' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_BOOLEAN_OR' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_BOOL_CAST' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_BREAK' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_CALLABLE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_CARET' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_CASE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_CATCH' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_CHARACTER' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_CLASS' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_CLASS_C' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_CLASS_NAME_CONSTANT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_CLONE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_CLOSE_BRACKET' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_CLOSE_CURLY' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_CLOSE_SQUARE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_CLOSE_TAG' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_COALESCE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_COALESCE_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_COLON' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_COMMA' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_COMMENT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_CONCAT_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_CONST' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_CONSTANT_ENCAPSED_STRING' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_CONTINUE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_CURLY_OPEN' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_DEC' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_DECLARE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_DEFAULT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_DIR' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_DIV' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_DIV_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_DNUMBER' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_DO' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_DOC_COMMENT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_DOLLAR' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_DOLLAR_OPEN_CURLY_BRACES' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_DOT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_DOUBLE_ARROW' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_DOUBLE_CAST' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_DOUBLE_COLON' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_DOUBLE_QUOTES' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_ECHO' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_ELLIPSIS' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_ELSE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_ELSEIF' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_EMPTY' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_ENCAPSED_AND_WHITESPACE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_ENDDECLARE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_ENDFOR' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_ENDFOREACH' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_ENDIF' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_ENDSWITCH' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_ENDWHILE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_END_HEREDOC' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_EVAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_EXCLAMATION_MARK' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_EXIT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_EXTENDS' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_FILE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_FINAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_FINALLY' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_FN' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_FOR' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_FOREACH' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_FUNCTION' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_FUNC_C' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_GLOBAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_GOTO' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_GT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_HALT_COMPILER' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_IF' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_IMPLEMENTS' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_INC' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_INCLUDE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_INCLUDE_ONCE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_INLINE_HTML' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_INSTANCEOF' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_INSTEADOF' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_INTERFACE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_INT_CAST' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_ISSET' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_IS_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_IS_GREATER_OR_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_IS_IDENTICAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_IS_NOT_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_IS_NOT_IDENTICAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_IS_SMALLER_OR_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_Includes' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_LINE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_LIST' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_LNUMBER' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_LOGICAL_AND' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_LOGICAL_OR' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_LOGICAL_XOR' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_LT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_METHOD_C' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_MINUS' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_MINUS_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_MOD_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_MULT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_MUL_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_NAMESPACE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_NEW' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_NS_C' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_NS_SEPARATOR' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_NUM_STRING' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_OBJECT_CAST' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_OBJECT_OPERATOR' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_OPEN_BRACKET' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_OPEN_CURLY' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_OPEN_SQUARE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_OPEN_TAG' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_OPEN_TAG_WITH_ECHO' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_OR_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_PAAMAYIM_NEKUDOTAYIM' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_PERCENT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_PIPE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_PLUS' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_PLUS_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_POW' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_POW_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_PRINT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_PRIVATE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_PROTECTED' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_PUBLIC' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_QUESTION_MARK' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_REQUIRE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_REQUIRE_ONCE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_RETURN' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_SEMICOLON' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_SL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_SL_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_SPACESHIP' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_SR' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_SR_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_START_HEREDOC' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_STATIC' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_STRING' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_STRING_CAST' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_STRING_VARNAME' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_SWITCH' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_Stream' => $vendorDir . '/phpunit/php-token-stream/src/Token/Stream.php', - 'PHP_Token_Stream_CachingFactory' => $vendorDir . '/phpunit/php-token-stream/src/Token/Stream/CachingFactory.php', - 'PHP_Token_THROW' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_TILDE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_TRAIT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_TRAIT_C' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_TRY' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_UNSET' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_UNSET_CAST' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_USE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_USE_FUNCTION' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_Util' => $vendorDir . '/phpunit/php-token-stream/src/Token/Util.php', - 'PHP_Token_VAR' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_VARIABLE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_WHILE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_WHITESPACE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_XOR_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_YIELD' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_YIELD_FROM' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'Parsedown' => $vendorDir . '/erusev/parsedown/Parsedown.php', - 'PharIo\\Manifest\\Application' => $vendorDir . '/phar-io/manifest/src/values/Application.php', - 'PharIo\\Manifest\\ApplicationName' => $vendorDir . '/phar-io/manifest/src/values/ApplicationName.php', - 'PharIo\\Manifest\\Author' => $vendorDir . '/phar-io/manifest/src/values/Author.php', - 'PharIo\\Manifest\\AuthorCollection' => $vendorDir . '/phar-io/manifest/src/values/AuthorCollection.php', - 'PharIo\\Manifest\\AuthorCollectionIterator' => $vendorDir . '/phar-io/manifest/src/values/AuthorCollectionIterator.php', - 'PharIo\\Manifest\\AuthorElement' => $vendorDir . '/phar-io/manifest/src/xml/AuthorElement.php', - 'PharIo\\Manifest\\AuthorElementCollection' => $vendorDir . '/phar-io/manifest/src/xml/AuthorElementCollection.php', - 'PharIo\\Manifest\\BundledComponent' => $vendorDir . '/phar-io/manifest/src/values/BundledComponent.php', - 'PharIo\\Manifest\\BundledComponentCollection' => $vendorDir . '/phar-io/manifest/src/values/BundledComponentCollection.php', - 'PharIo\\Manifest\\BundledComponentCollectionIterator' => $vendorDir . '/phar-io/manifest/src/values/BundledComponentCollectionIterator.php', - 'PharIo\\Manifest\\BundlesElement' => $vendorDir . '/phar-io/manifest/src/xml/BundlesElement.php', - 'PharIo\\Manifest\\ComponentElement' => $vendorDir . '/phar-io/manifest/src/xml/ComponentElement.php', - 'PharIo\\Manifest\\ComponentElementCollection' => $vendorDir . '/phar-io/manifest/src/xml/ComponentElementCollection.php', - 'PharIo\\Manifest\\ContainsElement' => $vendorDir . '/phar-io/manifest/src/xml/ContainsElement.php', - 'PharIo\\Manifest\\CopyrightElement' => $vendorDir . '/phar-io/manifest/src/xml/CopyrightElement.php', - 'PharIo\\Manifest\\CopyrightInformation' => $vendorDir . '/phar-io/manifest/src/values/CopyrightInformation.php', - 'PharIo\\Manifest\\ElementCollection' => $vendorDir . '/phar-io/manifest/src/xml/ElementCollection.php', - 'PharIo\\Manifest\\Email' => $vendorDir . '/phar-io/manifest/src/values/Email.php', - 'PharIo\\Manifest\\Exception' => $vendorDir . '/phar-io/manifest/src/exceptions/Exception.php', - 'PharIo\\Manifest\\ExtElement' => $vendorDir . '/phar-io/manifest/src/xml/ExtElement.php', - 'PharIo\\Manifest\\ExtElementCollection' => $vendorDir . '/phar-io/manifest/src/xml/ExtElementCollection.php', - 'PharIo\\Manifest\\Extension' => $vendorDir . '/phar-io/manifest/src/values/Extension.php', - 'PharIo\\Manifest\\ExtensionElement' => $vendorDir . '/phar-io/manifest/src/xml/ExtensionElement.php', - 'PharIo\\Manifest\\InvalidApplicationNameException' => $vendorDir . '/phar-io/manifest/src/exceptions/InvalidApplicationNameException.php', - 'PharIo\\Manifest\\InvalidEmailException' => $vendorDir . '/phar-io/manifest/src/exceptions/InvalidEmailException.php', - 'PharIo\\Manifest\\InvalidUrlException' => $vendorDir . '/phar-io/manifest/src/exceptions/InvalidUrlException.php', - 'PharIo\\Manifest\\Library' => $vendorDir . '/phar-io/manifest/src/values/Library.php', - 'PharIo\\Manifest\\License' => $vendorDir . '/phar-io/manifest/src/values/License.php', - 'PharIo\\Manifest\\LicenseElement' => $vendorDir . '/phar-io/manifest/src/xml/LicenseElement.php', - 'PharIo\\Manifest\\Manifest' => $vendorDir . '/phar-io/manifest/src/values/Manifest.php', - 'PharIo\\Manifest\\ManifestDocument' => $vendorDir . '/phar-io/manifest/src/xml/ManifestDocument.php', - 'PharIo\\Manifest\\ManifestDocumentException' => $vendorDir . '/phar-io/manifest/src/exceptions/ManifestDocumentException.php', - 'PharIo\\Manifest\\ManifestDocumentLoadingException' => $vendorDir . '/phar-io/manifest/src/xml/ManifestDocumentLoadingException.php', - 'PharIo\\Manifest\\ManifestDocumentMapper' => $vendorDir . '/phar-io/manifest/src/ManifestDocumentMapper.php', - 'PharIo\\Manifest\\ManifestDocumentMapperException' => $vendorDir . '/phar-io/manifest/src/exceptions/ManifestDocumentMapperException.php', - 'PharIo\\Manifest\\ManifestElement' => $vendorDir . '/phar-io/manifest/src/xml/ManifestElement.php', - 'PharIo\\Manifest\\ManifestElementException' => $vendorDir . '/phar-io/manifest/src/exceptions/ManifestElementException.php', - 'PharIo\\Manifest\\ManifestLoader' => $vendorDir . '/phar-io/manifest/src/ManifestLoader.php', - 'PharIo\\Manifest\\ManifestLoaderException' => $vendorDir . '/phar-io/manifest/src/exceptions/ManifestLoaderException.php', - 'PharIo\\Manifest\\ManifestSerializer' => $vendorDir . '/phar-io/manifest/src/ManifestSerializer.php', - 'PharIo\\Manifest\\PhpElement' => $vendorDir . '/phar-io/manifest/src/xml/PhpElement.php', - 'PharIo\\Manifest\\PhpExtensionRequirement' => $vendorDir . '/phar-io/manifest/src/values/PhpExtensionRequirement.php', - 'PharIo\\Manifest\\PhpVersionRequirement' => $vendorDir . '/phar-io/manifest/src/values/PhpVersionRequirement.php', - 'PharIo\\Manifest\\Requirement' => $vendorDir . '/phar-io/manifest/src/values/Requirement.php', - 'PharIo\\Manifest\\RequirementCollection' => $vendorDir . '/phar-io/manifest/src/values/RequirementCollection.php', - 'PharIo\\Manifest\\RequirementCollectionIterator' => $vendorDir . '/phar-io/manifest/src/values/RequirementCollectionIterator.php', - 'PharIo\\Manifest\\RequiresElement' => $vendorDir . '/phar-io/manifest/src/xml/RequiresElement.php', - 'PharIo\\Manifest\\Type' => $vendorDir . '/phar-io/manifest/src/values/Type.php', - 'PharIo\\Manifest\\Url' => $vendorDir . '/phar-io/manifest/src/values/Url.php', - 'PharIo\\Version\\AbstractVersionConstraint' => $vendorDir . '/phar-io/version/src/constraints/AbstractVersionConstraint.php', - 'PharIo\\Version\\AndVersionConstraintGroup' => $vendorDir . '/phar-io/version/src/constraints/AndVersionConstraintGroup.php', - 'PharIo\\Version\\AnyVersionConstraint' => $vendorDir . '/phar-io/version/src/constraints/AnyVersionConstraint.php', - 'PharIo\\Version\\ExactVersionConstraint' => $vendorDir . '/phar-io/version/src/constraints/ExactVersionConstraint.php', - 'PharIo\\Version\\Exception' => $vendorDir . '/phar-io/version/src/exceptions/Exception.php', - 'PharIo\\Version\\GreaterThanOrEqualToVersionConstraint' => $vendorDir . '/phar-io/version/src/constraints/GreaterThanOrEqualToVersionConstraint.php', - 'PharIo\\Version\\InvalidPreReleaseSuffixException' => $vendorDir . '/phar-io/version/src/exceptions/InvalidPreReleaseSuffixException.php', - 'PharIo\\Version\\InvalidVersionException' => $vendorDir . '/phar-io/version/src/exceptions/InvalidVersionException.php', - 'PharIo\\Version\\OrVersionConstraintGroup' => $vendorDir . '/phar-io/version/src/constraints/OrVersionConstraintGroup.php', - 'PharIo\\Version\\PreReleaseSuffix' => $vendorDir . '/phar-io/version/src/PreReleaseSuffix.php', - 'PharIo\\Version\\SpecificMajorAndMinorVersionConstraint' => $vendorDir . '/phar-io/version/src/constraints/SpecificMajorAndMinorVersionConstraint.php', - 'PharIo\\Version\\SpecificMajorVersionConstraint' => $vendorDir . '/phar-io/version/src/constraints/SpecificMajorVersionConstraint.php', - 'PharIo\\Version\\UnsupportedVersionConstraintException' => $vendorDir . '/phar-io/version/src/exceptions/UnsupportedVersionConstraintException.php', - 'PharIo\\Version\\Version' => $vendorDir . '/phar-io/version/src/Version.php', - 'PharIo\\Version\\VersionConstraint' => $vendorDir . '/phar-io/version/src/constraints/VersionConstraint.php', - 'PharIo\\Version\\VersionConstraintParser' => $vendorDir . '/phar-io/version/src/VersionConstraintParser.php', - 'PharIo\\Version\\VersionConstraintValue' => $vendorDir . '/phar-io/version/src/VersionConstraintValue.php', - 'PharIo\\Version\\VersionNumber' => $vendorDir . '/phar-io/version/src/VersionNumber.php', - 'PhpOption\\LazyOption' => $vendorDir . '/phpoption/phpoption/src/PhpOption/LazyOption.php', - 'PhpOption\\None' => $vendorDir . '/phpoption/phpoption/src/PhpOption/None.php', - 'PhpOption\\Option' => $vendorDir . '/phpoption/phpoption/src/PhpOption/Option.php', - 'PhpOption\\Some' => $vendorDir . '/phpoption/phpoption/src/PhpOption/Some.php', - 'PhpParser\\Builder' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Builder.php', - 'PhpParser\\BuilderFactory' => $vendorDir . '/nikic/php-parser/lib/PhpParser/BuilderFactory.php', - 'PhpParser\\BuilderHelpers' => $vendorDir . '/nikic/php-parser/lib/PhpParser/BuilderHelpers.php', - 'PhpParser\\Builder\\Class_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Builder/Class_.php', - 'PhpParser\\Builder\\Declaration' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Builder/Declaration.php', - 'PhpParser\\Builder\\FunctionLike' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Builder/FunctionLike.php', - 'PhpParser\\Builder\\Function_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Builder/Function_.php', - 'PhpParser\\Builder\\Interface_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Builder/Interface_.php', - 'PhpParser\\Builder\\Method' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Builder/Method.php', - 'PhpParser\\Builder\\Namespace_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Builder/Namespace_.php', - 'PhpParser\\Builder\\Param' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Builder/Param.php', - 'PhpParser\\Builder\\Property' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Builder/Property.php', - 'PhpParser\\Builder\\TraitUse' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Builder/TraitUse.php', - 'PhpParser\\Builder\\TraitUseAdaptation' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Builder/TraitUseAdaptation.php', - 'PhpParser\\Builder\\Trait_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Builder/Trait_.php', - 'PhpParser\\Builder\\Use_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Builder/Use_.php', - 'PhpParser\\Comment' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Comment.php', - 'PhpParser\\Comment\\Doc' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Comment/Doc.php', - 'PhpParser\\ConstExprEvaluationException' => $vendorDir . '/nikic/php-parser/lib/PhpParser/ConstExprEvaluationException.php', - 'PhpParser\\ConstExprEvaluator' => $vendorDir . '/nikic/php-parser/lib/PhpParser/ConstExprEvaluator.php', - 'PhpParser\\Error' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Error.php', - 'PhpParser\\ErrorHandler' => $vendorDir . '/nikic/php-parser/lib/PhpParser/ErrorHandler.php', - 'PhpParser\\ErrorHandler\\Collecting' => $vendorDir . '/nikic/php-parser/lib/PhpParser/ErrorHandler/Collecting.php', - 'PhpParser\\ErrorHandler\\Throwing' => $vendorDir . '/nikic/php-parser/lib/PhpParser/ErrorHandler/Throwing.php', - 'PhpParser\\Internal\\DiffElem' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Internal/DiffElem.php', - 'PhpParser\\Internal\\Differ' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Internal/Differ.php', - 'PhpParser\\Internal\\PrintableNewAnonClassNode' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Internal/PrintableNewAnonClassNode.php', - 'PhpParser\\Internal\\TokenStream' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Internal/TokenStream.php', - 'PhpParser\\JsonDecoder' => $vendorDir . '/nikic/php-parser/lib/PhpParser/JsonDecoder.php', - 'PhpParser\\Lexer' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Lexer.php', - 'PhpParser\\Lexer\\Emulative' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Lexer/Emulative.php', - 'PhpParser\\Lexer\\TokenEmulator\\CoaleseEqualTokenEmulator' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/CoaleseEqualTokenEmulator.php', - 'PhpParser\\Lexer\\TokenEmulator\\FnTokenEmulator' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/FnTokenEmulator.php', - 'PhpParser\\Lexer\\TokenEmulator\\NumericLiteralSeparatorEmulator' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/NumericLiteralSeparatorEmulator.php', - 'PhpParser\\Lexer\\TokenEmulator\\TokenEmulatorInterface' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/TokenEmulatorInterface.php', - 'PhpParser\\NameContext' => $vendorDir . '/nikic/php-parser/lib/PhpParser/NameContext.php', - 'PhpParser\\Node' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node.php', - 'PhpParser\\NodeAbstract' => $vendorDir . '/nikic/php-parser/lib/PhpParser/NodeAbstract.php', - 'PhpParser\\NodeDumper' => $vendorDir . '/nikic/php-parser/lib/PhpParser/NodeDumper.php', - 'PhpParser\\NodeFinder' => $vendorDir . '/nikic/php-parser/lib/PhpParser/NodeFinder.php', - 'PhpParser\\NodeTraverser' => $vendorDir . '/nikic/php-parser/lib/PhpParser/NodeTraverser.php', - 'PhpParser\\NodeTraverserInterface' => $vendorDir . '/nikic/php-parser/lib/PhpParser/NodeTraverserInterface.php', - 'PhpParser\\NodeVisitor' => $vendorDir . '/nikic/php-parser/lib/PhpParser/NodeVisitor.php', - 'PhpParser\\NodeVisitorAbstract' => $vendorDir . '/nikic/php-parser/lib/PhpParser/NodeVisitorAbstract.php', - 'PhpParser\\NodeVisitor\\CloningVisitor' => $vendorDir . '/nikic/php-parser/lib/PhpParser/NodeVisitor/CloningVisitor.php', - 'PhpParser\\NodeVisitor\\FindingVisitor' => $vendorDir . '/nikic/php-parser/lib/PhpParser/NodeVisitor/FindingVisitor.php', - 'PhpParser\\NodeVisitor\\FirstFindingVisitor' => $vendorDir . '/nikic/php-parser/lib/PhpParser/NodeVisitor/FirstFindingVisitor.php', - 'PhpParser\\NodeVisitor\\NameResolver' => $vendorDir . '/nikic/php-parser/lib/PhpParser/NodeVisitor/NameResolver.php', - 'PhpParser\\Node\\Arg' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Arg.php', - 'PhpParser\\Node\\Const_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Const_.php', - 'PhpParser\\Node\\Expr' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr.php', - 'PhpParser\\Node\\Expr\\ArrayDimFetch' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/ArrayDimFetch.php', - 'PhpParser\\Node\\Expr\\ArrayItem' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/ArrayItem.php', - 'PhpParser\\Node\\Expr\\Array_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/Array_.php', - 'PhpParser\\Node\\Expr\\ArrowFunction' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/ArrowFunction.php', - 'PhpParser\\Node\\Expr\\Assign' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/Assign.php', - 'PhpParser\\Node\\Expr\\AssignOp' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp.php', - 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/BitwiseAnd.php', - 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/BitwiseOr.php', - 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/BitwiseXor.php', - 'PhpParser\\Node\\Expr\\AssignOp\\Coalesce' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Coalesce.php', - 'PhpParser\\Node\\Expr\\AssignOp\\Concat' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Concat.php', - 'PhpParser\\Node\\Expr\\AssignOp\\Div' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Div.php', - 'PhpParser\\Node\\Expr\\AssignOp\\Minus' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Minus.php', - 'PhpParser\\Node\\Expr\\AssignOp\\Mod' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Mod.php', - 'PhpParser\\Node\\Expr\\AssignOp\\Mul' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Mul.php', - 'PhpParser\\Node\\Expr\\AssignOp\\Plus' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Plus.php', - 'PhpParser\\Node\\Expr\\AssignOp\\Pow' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Pow.php', - 'PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/ShiftLeft.php', - 'PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/ShiftRight.php', - 'PhpParser\\Node\\Expr\\AssignRef' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/AssignRef.php', - 'PhpParser\\Node\\Expr\\BinaryOp' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp.php', - 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BitwiseAnd.php', - 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BitwiseOr.php', - 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BitwiseXor.php', - 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BooleanAnd.php', - 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BooleanOr.php', - 'PhpParser\\Node\\Expr\\BinaryOp\\Coalesce' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Coalesce.php', - 'PhpParser\\Node\\Expr\\BinaryOp\\Concat' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Concat.php', - 'PhpParser\\Node\\Expr\\BinaryOp\\Div' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Div.php', - 'PhpParser\\Node\\Expr\\BinaryOp\\Equal' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Equal.php', - 'PhpParser\\Node\\Expr\\BinaryOp\\Greater' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Greater.php', - 'PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/GreaterOrEqual.php', - 'PhpParser\\Node\\Expr\\BinaryOp\\Identical' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Identical.php', - 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/LogicalAnd.php', - 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/LogicalOr.php', - 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/LogicalXor.php', - 'PhpParser\\Node\\Expr\\BinaryOp\\Minus' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Minus.php', - 'PhpParser\\Node\\Expr\\BinaryOp\\Mod' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Mod.php', - 'PhpParser\\Node\\Expr\\BinaryOp\\Mul' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Mul.php', - 'PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/NotEqual.php', - 'PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/NotIdentical.php', - 'PhpParser\\Node\\Expr\\BinaryOp\\Plus' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Plus.php', - 'PhpParser\\Node\\Expr\\BinaryOp\\Pow' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Pow.php', - 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/ShiftLeft.php', - 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/ShiftRight.php', - 'PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Smaller.php', - 'PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/SmallerOrEqual.php', - 'PhpParser\\Node\\Expr\\BinaryOp\\Spaceship' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Spaceship.php', - 'PhpParser\\Node\\Expr\\BitwiseNot' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/BitwiseNot.php', - 'PhpParser\\Node\\Expr\\BooleanNot' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/BooleanNot.php', - 'PhpParser\\Node\\Expr\\Cast' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/Cast.php', - 'PhpParser\\Node\\Expr\\Cast\\Array_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Array_.php', - 'PhpParser\\Node\\Expr\\Cast\\Bool_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Bool_.php', - 'PhpParser\\Node\\Expr\\Cast\\Double' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Double.php', - 'PhpParser\\Node\\Expr\\Cast\\Int_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Int_.php', - 'PhpParser\\Node\\Expr\\Cast\\Object_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Object_.php', - 'PhpParser\\Node\\Expr\\Cast\\String_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/String_.php', - 'PhpParser\\Node\\Expr\\Cast\\Unset_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Unset_.php', - 'PhpParser\\Node\\Expr\\ClassConstFetch' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/ClassConstFetch.php', - 'PhpParser\\Node\\Expr\\Clone_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/Clone_.php', - 'PhpParser\\Node\\Expr\\Closure' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/Closure.php', - 'PhpParser\\Node\\Expr\\ClosureUse' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/ClosureUse.php', - 'PhpParser\\Node\\Expr\\ConstFetch' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/ConstFetch.php', - 'PhpParser\\Node\\Expr\\Empty_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/Empty_.php', - 'PhpParser\\Node\\Expr\\Error' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/Error.php', - 'PhpParser\\Node\\Expr\\ErrorSuppress' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/ErrorSuppress.php', - 'PhpParser\\Node\\Expr\\Eval_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/Eval_.php', - 'PhpParser\\Node\\Expr\\Exit_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/Exit_.php', - 'PhpParser\\Node\\Expr\\FuncCall' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/FuncCall.php', - 'PhpParser\\Node\\Expr\\Include_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/Include_.php', - 'PhpParser\\Node\\Expr\\Instanceof_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/Instanceof_.php', - 'PhpParser\\Node\\Expr\\Isset_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/Isset_.php', - 'PhpParser\\Node\\Expr\\List_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/List_.php', - 'PhpParser\\Node\\Expr\\MethodCall' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/MethodCall.php', - 'PhpParser\\Node\\Expr\\New_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/New_.php', - 'PhpParser\\Node\\Expr\\PostDec' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/PostDec.php', - 'PhpParser\\Node\\Expr\\PostInc' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/PostInc.php', - 'PhpParser\\Node\\Expr\\PreDec' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/PreDec.php', - 'PhpParser\\Node\\Expr\\PreInc' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/PreInc.php', - 'PhpParser\\Node\\Expr\\Print_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/Print_.php', - 'PhpParser\\Node\\Expr\\PropertyFetch' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/PropertyFetch.php', - 'PhpParser\\Node\\Expr\\ShellExec' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/ShellExec.php', - 'PhpParser\\Node\\Expr\\StaticCall' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/StaticCall.php', - 'PhpParser\\Node\\Expr\\StaticPropertyFetch' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/StaticPropertyFetch.php', - 'PhpParser\\Node\\Expr\\Ternary' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/Ternary.php', - 'PhpParser\\Node\\Expr\\UnaryMinus' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/UnaryMinus.php', - 'PhpParser\\Node\\Expr\\UnaryPlus' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/UnaryPlus.php', - 'PhpParser\\Node\\Expr\\Variable' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/Variable.php', - 'PhpParser\\Node\\Expr\\YieldFrom' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/YieldFrom.php', - 'PhpParser\\Node\\Expr\\Yield_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/Yield_.php', - 'PhpParser\\Node\\FunctionLike' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/FunctionLike.php', - 'PhpParser\\Node\\Identifier' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Identifier.php', - 'PhpParser\\Node\\Name' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Name.php', - 'PhpParser\\Node\\Name\\FullyQualified' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Name/FullyQualified.php', - 'PhpParser\\Node\\Name\\Relative' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Name/Relative.php', - 'PhpParser\\Node\\NullableType' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/NullableType.php', - 'PhpParser\\Node\\Param' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Param.php', - 'PhpParser\\Node\\Scalar' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Scalar.php', - 'PhpParser\\Node\\Scalar\\DNumber' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Scalar/DNumber.php', - 'PhpParser\\Node\\Scalar\\Encapsed' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Scalar/Encapsed.php', - 'PhpParser\\Node\\Scalar\\EncapsedStringPart' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Scalar/EncapsedStringPart.php', - 'PhpParser\\Node\\Scalar\\LNumber' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Scalar/LNumber.php', - 'PhpParser\\Node\\Scalar\\MagicConst' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst.php', - 'PhpParser\\Node\\Scalar\\MagicConst\\Class_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Class_.php', - 'PhpParser\\Node\\Scalar\\MagicConst\\Dir' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Dir.php', - 'PhpParser\\Node\\Scalar\\MagicConst\\File' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/File.php', - 'PhpParser\\Node\\Scalar\\MagicConst\\Function_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Function_.php', - 'PhpParser\\Node\\Scalar\\MagicConst\\Line' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Line.php', - 'PhpParser\\Node\\Scalar\\MagicConst\\Method' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Method.php', - 'PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Namespace_.php', - 'PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Trait_.php', - 'PhpParser\\Node\\Scalar\\String_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Scalar/String_.php', - 'PhpParser\\Node\\Stmt' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Stmt.php', - 'PhpParser\\Node\\Stmt\\Break_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Break_.php', - 'PhpParser\\Node\\Stmt\\Case_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Case_.php', - 'PhpParser\\Node\\Stmt\\Catch_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Catch_.php', - 'PhpParser\\Node\\Stmt\\ClassConst' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Stmt/ClassConst.php', - 'PhpParser\\Node\\Stmt\\ClassLike' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Stmt/ClassLike.php', - 'PhpParser\\Node\\Stmt\\ClassMethod' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Stmt/ClassMethod.php', - 'PhpParser\\Node\\Stmt\\Class_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Class_.php', - 'PhpParser\\Node\\Stmt\\Const_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Const_.php', - 'PhpParser\\Node\\Stmt\\Continue_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Continue_.php', - 'PhpParser\\Node\\Stmt\\DeclareDeclare' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Stmt/DeclareDeclare.php', - 'PhpParser\\Node\\Stmt\\Declare_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Declare_.php', - 'PhpParser\\Node\\Stmt\\Do_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Do_.php', - 'PhpParser\\Node\\Stmt\\Echo_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Echo_.php', - 'PhpParser\\Node\\Stmt\\ElseIf_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Stmt/ElseIf_.php', - 'PhpParser\\Node\\Stmt\\Else_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Else_.php', - 'PhpParser\\Node\\Stmt\\Expression' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Expression.php', - 'PhpParser\\Node\\Stmt\\Finally_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Finally_.php', - 'PhpParser\\Node\\Stmt\\For_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Stmt/For_.php', - 'PhpParser\\Node\\Stmt\\Foreach_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Foreach_.php', - 'PhpParser\\Node\\Stmt\\Function_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Function_.php', - 'PhpParser\\Node\\Stmt\\Global_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Global_.php', - 'PhpParser\\Node\\Stmt\\Goto_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Goto_.php', - 'PhpParser\\Node\\Stmt\\GroupUse' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Stmt/GroupUse.php', - 'PhpParser\\Node\\Stmt\\HaltCompiler' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Stmt/HaltCompiler.php', - 'PhpParser\\Node\\Stmt\\If_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Stmt/If_.php', - 'PhpParser\\Node\\Stmt\\InlineHTML' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Stmt/InlineHTML.php', - 'PhpParser\\Node\\Stmt\\Interface_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Interface_.php', - 'PhpParser\\Node\\Stmt\\Label' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Label.php', - 'PhpParser\\Node\\Stmt\\Namespace_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Namespace_.php', - 'PhpParser\\Node\\Stmt\\Nop' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Nop.php', - 'PhpParser\\Node\\Stmt\\Property' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Property.php', - 'PhpParser\\Node\\Stmt\\PropertyProperty' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Stmt/PropertyProperty.php', - 'PhpParser\\Node\\Stmt\\Return_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Return_.php', - 'PhpParser\\Node\\Stmt\\StaticVar' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Stmt/StaticVar.php', - 'PhpParser\\Node\\Stmt\\Static_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Static_.php', - 'PhpParser\\Node\\Stmt\\Switch_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Switch_.php', - 'PhpParser\\Node\\Stmt\\Throw_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Throw_.php', - 'PhpParser\\Node\\Stmt\\TraitUse' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Stmt/TraitUse.php', - 'PhpParser\\Node\\Stmt\\TraitUseAdaptation' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Stmt/TraitUseAdaptation.php', - 'PhpParser\\Node\\Stmt\\TraitUseAdaptation\\Alias' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Stmt/TraitUseAdaptation/Alias.php', - 'PhpParser\\Node\\Stmt\\TraitUseAdaptation\\Precedence' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Stmt/TraitUseAdaptation/Precedence.php', - 'PhpParser\\Node\\Stmt\\Trait_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Trait_.php', - 'PhpParser\\Node\\Stmt\\TryCatch' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Stmt/TryCatch.php', - 'PhpParser\\Node\\Stmt\\Unset_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Unset_.php', - 'PhpParser\\Node\\Stmt\\UseUse' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Stmt/UseUse.php', - 'PhpParser\\Node\\Stmt\\Use_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Use_.php', - 'PhpParser\\Node\\Stmt\\While_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Stmt/While_.php', - 'PhpParser\\Node\\UnionType' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/UnionType.php', - 'PhpParser\\Node\\VarLikeIdentifier' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/VarLikeIdentifier.php', - 'PhpParser\\Parser' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Parser.php', - 'PhpParser\\ParserAbstract' => $vendorDir . '/nikic/php-parser/lib/PhpParser/ParserAbstract.php', - 'PhpParser\\ParserFactory' => $vendorDir . '/nikic/php-parser/lib/PhpParser/ParserFactory.php', - 'PhpParser\\Parser\\Multiple' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Parser/Multiple.php', - 'PhpParser\\Parser\\Php5' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Parser/Php5.php', - 'PhpParser\\Parser\\Php7' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Parser/Php7.php', - 'PhpParser\\Parser\\Tokens' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Parser/Tokens.php', - 'PhpParser\\PrettyPrinterAbstract' => $vendorDir . '/nikic/php-parser/lib/PhpParser/PrettyPrinterAbstract.php', - 'PhpParser\\PrettyPrinter\\Standard' => $vendorDir . '/nikic/php-parser/lib/PhpParser/PrettyPrinter/Standard.php', - 'Prophecy\\Argument' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Argument.php', - 'Prophecy\\Argument\\ArgumentsWildcard' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Argument/ArgumentsWildcard.php', - 'Prophecy\\Argument\\Token\\AnyValueToken' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Argument/Token/AnyValueToken.php', - 'Prophecy\\Argument\\Token\\AnyValuesToken' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Argument/Token/AnyValuesToken.php', - 'Prophecy\\Argument\\Token\\ApproximateValueToken' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Argument/Token/ApproximateValueToken.php', - 'Prophecy\\Argument\\Token\\ArrayCountToken' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Argument/Token/ArrayCountToken.php', - 'Prophecy\\Argument\\Token\\ArrayEntryToken' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Argument/Token/ArrayEntryToken.php', - 'Prophecy\\Argument\\Token\\ArrayEveryEntryToken' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Argument/Token/ArrayEveryEntryToken.php', - 'Prophecy\\Argument\\Token\\CallbackToken' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Argument/Token/CallbackToken.php', - 'Prophecy\\Argument\\Token\\ExactValueToken' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Argument/Token/ExactValueToken.php', - 'Prophecy\\Argument\\Token\\IdenticalValueToken' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Argument/Token/IdenticalValueToken.php', - 'Prophecy\\Argument\\Token\\LogicalAndToken' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Argument/Token/LogicalAndToken.php', - 'Prophecy\\Argument\\Token\\LogicalNotToken' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Argument/Token/LogicalNotToken.php', - 'Prophecy\\Argument\\Token\\ObjectStateToken' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Argument/Token/ObjectStateToken.php', - 'Prophecy\\Argument\\Token\\StringContainsToken' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Argument/Token/StringContainsToken.php', - 'Prophecy\\Argument\\Token\\TokenInterface' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Argument/Token/TokenInterface.php', - 'Prophecy\\Argument\\Token\\TypeToken' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Argument/Token/TypeToken.php', - 'Prophecy\\Call\\Call' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Call/Call.php', - 'Prophecy\\Call\\CallCenter' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Call/CallCenter.php', - 'Prophecy\\Comparator\\ClosureComparator' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Comparator/ClosureComparator.php', - 'Prophecy\\Comparator\\Factory' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Comparator/Factory.php', - 'Prophecy\\Comparator\\ProphecyComparator' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Comparator/ProphecyComparator.php', - 'Prophecy\\Doubler\\CachedDoubler' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Doubler/CachedDoubler.php', - 'Prophecy\\Doubler\\ClassPatch\\ClassPatchInterface' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/ClassPatchInterface.php', - 'Prophecy\\Doubler\\ClassPatch\\DisableConstructorPatch' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/DisableConstructorPatch.php', - 'Prophecy\\Doubler\\ClassPatch\\HhvmExceptionPatch' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/HhvmExceptionPatch.php', - 'Prophecy\\Doubler\\ClassPatch\\KeywordPatch' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/KeywordPatch.php', - 'Prophecy\\Doubler\\ClassPatch\\MagicCallPatch' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/MagicCallPatch.php', - 'Prophecy\\Doubler\\ClassPatch\\ProphecySubjectPatch' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/ProphecySubjectPatch.php', - 'Prophecy\\Doubler\\ClassPatch\\ReflectionClassNewInstancePatch' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/ReflectionClassNewInstancePatch.php', - 'Prophecy\\Doubler\\ClassPatch\\SplFileInfoPatch' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/SplFileInfoPatch.php', - 'Prophecy\\Doubler\\ClassPatch\\ThrowablePatch' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/ThrowablePatch.php', - 'Prophecy\\Doubler\\ClassPatch\\TraversablePatch' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/TraversablePatch.php', - 'Prophecy\\Doubler\\DoubleInterface' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Doubler/DoubleInterface.php', - 'Prophecy\\Doubler\\Doubler' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Doubler/Doubler.php', - 'Prophecy\\Doubler\\Generator\\ClassCodeGenerator' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Doubler/Generator/ClassCodeGenerator.php', - 'Prophecy\\Doubler\\Generator\\ClassCreator' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Doubler/Generator/ClassCreator.php', - 'Prophecy\\Doubler\\Generator\\ClassMirror' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Doubler/Generator/ClassMirror.php', - 'Prophecy\\Doubler\\Generator\\Node\\ArgumentNode' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Doubler/Generator/Node/ArgumentNode.php', - 'Prophecy\\Doubler\\Generator\\Node\\ClassNode' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Doubler/Generator/Node/ClassNode.php', - 'Prophecy\\Doubler\\Generator\\Node\\MethodNode' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Doubler/Generator/Node/MethodNode.php', - 'Prophecy\\Doubler\\Generator\\ReflectionInterface' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Doubler/Generator/ReflectionInterface.php', - 'Prophecy\\Doubler\\Generator\\TypeHintReference' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Doubler/Generator/TypeHintReference.php', - 'Prophecy\\Doubler\\LazyDouble' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Doubler/LazyDouble.php', - 'Prophecy\\Doubler\\NameGenerator' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Doubler/NameGenerator.php', - 'Prophecy\\Exception\\Call\\UnexpectedCallException' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Exception/Call/UnexpectedCallException.php', - 'Prophecy\\Exception\\Doubler\\ClassCreatorException' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Exception/Doubler/ClassCreatorException.php', - 'Prophecy\\Exception\\Doubler\\ClassMirrorException' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Exception/Doubler/ClassMirrorException.php', - 'Prophecy\\Exception\\Doubler\\ClassNotFoundException' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Exception/Doubler/ClassNotFoundException.php', - 'Prophecy\\Exception\\Doubler\\DoubleException' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Exception/Doubler/DoubleException.php', - 'Prophecy\\Exception\\Doubler\\DoublerException' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Exception/Doubler/DoublerException.php', - 'Prophecy\\Exception\\Doubler\\InterfaceNotFoundException' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Exception/Doubler/InterfaceNotFoundException.php', - 'Prophecy\\Exception\\Doubler\\MethodNotExtendableException' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Exception/Doubler/MethodNotExtendableException.php', - 'Prophecy\\Exception\\Doubler\\MethodNotFoundException' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Exception/Doubler/MethodNotFoundException.php', - 'Prophecy\\Exception\\Doubler\\ReturnByReferenceException' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Exception/Doubler/ReturnByReferenceException.php', - 'Prophecy\\Exception\\Exception' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Exception/Exception.php', - 'Prophecy\\Exception\\InvalidArgumentException' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Exception/InvalidArgumentException.php', - 'Prophecy\\Exception\\Prediction\\AggregateException' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Exception/Prediction/AggregateException.php', - 'Prophecy\\Exception\\Prediction\\FailedPredictionException' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Exception/Prediction/FailedPredictionException.php', - 'Prophecy\\Exception\\Prediction\\NoCallsException' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Exception/Prediction/NoCallsException.php', - 'Prophecy\\Exception\\Prediction\\PredictionException' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Exception/Prediction/PredictionException.php', - 'Prophecy\\Exception\\Prediction\\UnexpectedCallsCountException' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Exception/Prediction/UnexpectedCallsCountException.php', - 'Prophecy\\Exception\\Prediction\\UnexpectedCallsException' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Exception/Prediction/UnexpectedCallsException.php', - 'Prophecy\\Exception\\Prophecy\\MethodProphecyException' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Exception/Prophecy/MethodProphecyException.php', - 'Prophecy\\Exception\\Prophecy\\ObjectProphecyException' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Exception/Prophecy/ObjectProphecyException.php', - 'Prophecy\\Exception\\Prophecy\\ProphecyException' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Exception/Prophecy/ProphecyException.php', - 'Prophecy\\PhpDocumentor\\ClassAndInterfaceTagRetriever' => $vendorDir . '/phpspec/prophecy/src/Prophecy/PhpDocumentor/ClassAndInterfaceTagRetriever.php', - 'Prophecy\\PhpDocumentor\\ClassTagRetriever' => $vendorDir . '/phpspec/prophecy/src/Prophecy/PhpDocumentor/ClassTagRetriever.php', - 'Prophecy\\PhpDocumentor\\LegacyClassTagRetriever' => $vendorDir . '/phpspec/prophecy/src/Prophecy/PhpDocumentor/LegacyClassTagRetriever.php', - 'Prophecy\\PhpDocumentor\\MethodTagRetrieverInterface' => $vendorDir . '/phpspec/prophecy/src/Prophecy/PhpDocumentor/MethodTagRetrieverInterface.php', - 'Prophecy\\Prediction\\CallPrediction' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Prediction/CallPrediction.php', - 'Prophecy\\Prediction\\CallTimesPrediction' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Prediction/CallTimesPrediction.php', - 'Prophecy\\Prediction\\CallbackPrediction' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Prediction/CallbackPrediction.php', - 'Prophecy\\Prediction\\NoCallsPrediction' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Prediction/NoCallsPrediction.php', - 'Prophecy\\Prediction\\PredictionInterface' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Prediction/PredictionInterface.php', - 'Prophecy\\Promise\\CallbackPromise' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Promise/CallbackPromise.php', - 'Prophecy\\Promise\\PromiseInterface' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Promise/PromiseInterface.php', - 'Prophecy\\Promise\\ReturnArgumentPromise' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Promise/ReturnArgumentPromise.php', - 'Prophecy\\Promise\\ReturnPromise' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Promise/ReturnPromise.php', - 'Prophecy\\Promise\\ThrowPromise' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Promise/ThrowPromise.php', - 'Prophecy\\Prophecy\\MethodProphecy' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Prophecy/MethodProphecy.php', - 'Prophecy\\Prophecy\\ObjectProphecy' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Prophecy/ObjectProphecy.php', - 'Prophecy\\Prophecy\\ProphecyInterface' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Prophecy/ProphecyInterface.php', - 'Prophecy\\Prophecy\\ProphecySubjectInterface' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Prophecy/ProphecySubjectInterface.php', - 'Prophecy\\Prophecy\\Revealer' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Prophecy/Revealer.php', - 'Prophecy\\Prophecy\\RevealerInterface' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Prophecy/RevealerInterface.php', - 'Prophecy\\Prophet' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Prophet.php', - 'Prophecy\\Util\\ExportUtil' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Util/ExportUtil.php', - 'Prophecy\\Util\\StringUtil' => $vendorDir . '/phpspec/prophecy/src/Prophecy/Util/StringUtil.php', - 'Psr\\Container\\ContainerExceptionInterface' => $vendorDir . '/psr/container/src/ContainerExceptionInterface.php', - 'Psr\\Container\\ContainerInterface' => $vendorDir . '/psr/container/src/ContainerInterface.php', - 'Psr\\Container\\NotFoundExceptionInterface' => $vendorDir . '/psr/container/src/NotFoundExceptionInterface.php', - 'Psr\\Log\\AbstractLogger' => $vendorDir . '/psr/log/Psr/Log/AbstractLogger.php', - 'Psr\\Log\\InvalidArgumentException' => $vendorDir . '/psr/log/Psr/Log/InvalidArgumentException.php', - 'Psr\\Log\\LogLevel' => $vendorDir . '/psr/log/Psr/Log/LogLevel.php', - 'Psr\\Log\\LoggerAwareInterface' => $vendorDir . '/psr/log/Psr/Log/LoggerAwareInterface.php', - 'Psr\\Log\\LoggerAwareTrait' => $vendorDir . '/psr/log/Psr/Log/LoggerAwareTrait.php', - 'Psr\\Log\\LoggerInterface' => $vendorDir . '/psr/log/Psr/Log/LoggerInterface.php', - 'Psr\\Log\\LoggerTrait' => $vendorDir . '/psr/log/Psr/Log/LoggerTrait.php', - 'Psr\\Log\\NullLogger' => $vendorDir . '/psr/log/Psr/Log/NullLogger.php', - 'Psr\\Log\\Test\\DummyTest' => $vendorDir . '/psr/log/Psr/Log/Test/LoggerInterfaceTest.php', - 'Psr\\Log\\Test\\LoggerInterfaceTest' => $vendorDir . '/psr/log/Psr/Log/Test/LoggerInterfaceTest.php', - 'Psr\\Log\\Test\\TestLogger' => $vendorDir . '/psr/log/Psr/Log/Test/TestLogger.php', - 'Psr\\SimpleCache\\CacheException' => $vendorDir . '/psr/simple-cache/src/CacheException.php', - 'Psr\\SimpleCache\\CacheInterface' => $vendorDir . '/psr/simple-cache/src/CacheInterface.php', - 'Psr\\SimpleCache\\InvalidArgumentException' => $vendorDir . '/psr/simple-cache/src/InvalidArgumentException.php', - 'Psy\\CodeCleaner' => $vendorDir . '/psy/psysh/src/CodeCleaner.php', - 'Psy\\CodeCleaner\\AbstractClassPass' => $vendorDir . '/psy/psysh/src/CodeCleaner/AbstractClassPass.php', - 'Psy\\CodeCleaner\\AssignThisVariablePass' => $vendorDir . '/psy/psysh/src/CodeCleaner/AssignThisVariablePass.php', - 'Psy\\CodeCleaner\\CallTimePassByReferencePass' => $vendorDir . '/psy/psysh/src/CodeCleaner/CallTimePassByReferencePass.php', - 'Psy\\CodeCleaner\\CalledClassPass' => $vendorDir . '/psy/psysh/src/CodeCleaner/CalledClassPass.php', - 'Psy\\CodeCleaner\\CodeCleanerPass' => $vendorDir . '/psy/psysh/src/CodeCleaner/CodeCleanerPass.php', - 'Psy\\CodeCleaner\\ExitPass' => $vendorDir . '/psy/psysh/src/CodeCleaner/ExitPass.php', - 'Psy\\CodeCleaner\\FinalClassPass' => $vendorDir . '/psy/psysh/src/CodeCleaner/FinalClassPass.php', - 'Psy\\CodeCleaner\\FunctionContextPass' => $vendorDir . '/psy/psysh/src/CodeCleaner/FunctionContextPass.php', - 'Psy\\CodeCleaner\\FunctionReturnInWriteContextPass' => $vendorDir . '/psy/psysh/src/CodeCleaner/FunctionReturnInWriteContextPass.php', - 'Psy\\CodeCleaner\\ImplicitReturnPass' => $vendorDir . '/psy/psysh/src/CodeCleaner/ImplicitReturnPass.php', - 'Psy\\CodeCleaner\\InstanceOfPass' => $vendorDir . '/psy/psysh/src/CodeCleaner/InstanceOfPass.php', - 'Psy\\CodeCleaner\\LeavePsyshAlonePass' => $vendorDir . '/psy/psysh/src/CodeCleaner/LeavePsyshAlonePass.php', - 'Psy\\CodeCleaner\\LegacyEmptyPass' => $vendorDir . '/psy/psysh/src/CodeCleaner/LegacyEmptyPass.php', - 'Psy\\CodeCleaner\\ListPass' => $vendorDir . '/psy/psysh/src/CodeCleaner/ListPass.php', - 'Psy\\CodeCleaner\\LoopContextPass' => $vendorDir . '/psy/psysh/src/CodeCleaner/LoopContextPass.php', - 'Psy\\CodeCleaner\\MagicConstantsPass' => $vendorDir . '/psy/psysh/src/CodeCleaner/MagicConstantsPass.php', - 'Psy\\CodeCleaner\\NamespaceAwarePass' => $vendorDir . '/psy/psysh/src/CodeCleaner/NamespaceAwarePass.php', - 'Psy\\CodeCleaner\\NamespacePass' => $vendorDir . '/psy/psysh/src/CodeCleaner/NamespacePass.php', - 'Psy\\CodeCleaner\\NoReturnValue' => $vendorDir . '/psy/psysh/src/CodeCleaner/NoReturnValue.php', - 'Psy\\CodeCleaner\\PassableByReferencePass' => $vendorDir . '/psy/psysh/src/CodeCleaner/PassableByReferencePass.php', - 'Psy\\CodeCleaner\\RequirePass' => $vendorDir . '/psy/psysh/src/CodeCleaner/RequirePass.php', - 'Psy\\CodeCleaner\\StrictTypesPass' => $vendorDir . '/psy/psysh/src/CodeCleaner/StrictTypesPass.php', - 'Psy\\CodeCleaner\\UseStatementPass' => $vendorDir . '/psy/psysh/src/CodeCleaner/UseStatementPass.php', - 'Psy\\CodeCleaner\\ValidClassNamePass' => $vendorDir . '/psy/psysh/src/CodeCleaner/ValidClassNamePass.php', - 'Psy\\CodeCleaner\\ValidConstantPass' => $vendorDir . '/psy/psysh/src/CodeCleaner/ValidConstantPass.php', - 'Psy\\CodeCleaner\\ValidConstructorPass' => $vendorDir . '/psy/psysh/src/CodeCleaner/ValidConstructorPass.php', - 'Psy\\CodeCleaner\\ValidFunctionNamePass' => $vendorDir . '/psy/psysh/src/CodeCleaner/ValidFunctionNamePass.php', - 'Psy\\Command\\BufferCommand' => $vendorDir . '/psy/psysh/src/Command/BufferCommand.php', - 'Psy\\Command\\ClearCommand' => $vendorDir . '/psy/psysh/src/Command/ClearCommand.php', - 'Psy\\Command\\Command' => $vendorDir . '/psy/psysh/src/Command/Command.php', - 'Psy\\Command\\DocCommand' => $vendorDir . '/psy/psysh/src/Command/DocCommand.php', - 'Psy\\Command\\DumpCommand' => $vendorDir . '/psy/psysh/src/Command/DumpCommand.php', - 'Psy\\Command\\EditCommand' => $vendorDir . '/psy/psysh/src/Command/EditCommand.php', - 'Psy\\Command\\ExitCommand' => $vendorDir . '/psy/psysh/src/Command/ExitCommand.php', - 'Psy\\Command\\HelpCommand' => $vendorDir . '/psy/psysh/src/Command/HelpCommand.php', - 'Psy\\Command\\HistoryCommand' => $vendorDir . '/psy/psysh/src/Command/HistoryCommand.php', - 'Psy\\Command\\ListCommand' => $vendorDir . '/psy/psysh/src/Command/ListCommand.php', - 'Psy\\Command\\ListCommand\\ClassConstantEnumerator' => $vendorDir . '/psy/psysh/src/Command/ListCommand/ClassConstantEnumerator.php', - 'Psy\\Command\\ListCommand\\ClassEnumerator' => $vendorDir . '/psy/psysh/src/Command/ListCommand/ClassEnumerator.php', - 'Psy\\Command\\ListCommand\\ConstantEnumerator' => $vendorDir . '/psy/psysh/src/Command/ListCommand/ConstantEnumerator.php', - 'Psy\\Command\\ListCommand\\Enumerator' => $vendorDir . '/psy/psysh/src/Command/ListCommand/Enumerator.php', - 'Psy\\Command\\ListCommand\\FunctionEnumerator' => $vendorDir . '/psy/psysh/src/Command/ListCommand/FunctionEnumerator.php', - 'Psy\\Command\\ListCommand\\GlobalVariableEnumerator' => $vendorDir . '/psy/psysh/src/Command/ListCommand/GlobalVariableEnumerator.php', - 'Psy\\Command\\ListCommand\\InterfaceEnumerator' => $vendorDir . '/psy/psysh/src/Command/ListCommand/InterfaceEnumerator.php', - 'Psy\\Command\\ListCommand\\MethodEnumerator' => $vendorDir . '/psy/psysh/src/Command/ListCommand/MethodEnumerator.php', - 'Psy\\Command\\ListCommand\\PropertyEnumerator' => $vendorDir . '/psy/psysh/src/Command/ListCommand/PropertyEnumerator.php', - 'Psy\\Command\\ListCommand\\TraitEnumerator' => $vendorDir . '/psy/psysh/src/Command/ListCommand/TraitEnumerator.php', - 'Psy\\Command\\ListCommand\\VariableEnumerator' => $vendorDir . '/psy/psysh/src/Command/ListCommand/VariableEnumerator.php', - 'Psy\\Command\\ParseCommand' => $vendorDir . '/psy/psysh/src/Command/ParseCommand.php', - 'Psy\\Command\\PsyVersionCommand' => $vendorDir . '/psy/psysh/src/Command/PsyVersionCommand.php', - 'Psy\\Command\\ReflectingCommand' => $vendorDir . '/psy/psysh/src/Command/ReflectingCommand.php', - 'Psy\\Command\\ShowCommand' => $vendorDir . '/psy/psysh/src/Command/ShowCommand.php', - 'Psy\\Command\\SudoCommand' => $vendorDir . '/psy/psysh/src/Command/SudoCommand.php', - 'Psy\\Command\\ThrowUpCommand' => $vendorDir . '/psy/psysh/src/Command/ThrowUpCommand.php', - 'Psy\\Command\\TimeitCommand' => $vendorDir . '/psy/psysh/src/Command/TimeitCommand.php', - 'Psy\\Command\\TimeitCommand\\TimeitVisitor' => $vendorDir . '/psy/psysh/src/Command/TimeitCommand/TimeitVisitor.php', - 'Psy\\Command\\TraceCommand' => $vendorDir . '/psy/psysh/src/Command/TraceCommand.php', - 'Psy\\Command\\WhereamiCommand' => $vendorDir . '/psy/psysh/src/Command/WhereamiCommand.php', - 'Psy\\Command\\WtfCommand' => $vendorDir . '/psy/psysh/src/Command/WtfCommand.php', - 'Psy\\ConfigPaths' => $vendorDir . '/psy/psysh/src/ConfigPaths.php', - 'Psy\\Configuration' => $vendorDir . '/psy/psysh/src/Configuration.php', - 'Psy\\ConsoleColorFactory' => $vendorDir . '/psy/psysh/src/ConsoleColorFactory.php', - 'Psy\\Context' => $vendorDir . '/psy/psysh/src/Context.php', - 'Psy\\ContextAware' => $vendorDir . '/psy/psysh/src/ContextAware.php', - 'Psy\\Exception\\BreakException' => $vendorDir . '/psy/psysh/src/Exception/BreakException.php', - 'Psy\\Exception\\DeprecatedException' => $vendorDir . '/psy/psysh/src/Exception/DeprecatedException.php', - 'Psy\\Exception\\ErrorException' => $vendorDir . '/psy/psysh/src/Exception/ErrorException.php', - 'Psy\\Exception\\Exception' => $vendorDir . '/psy/psysh/src/Exception/Exception.php', - 'Psy\\Exception\\FatalErrorException' => $vendorDir . '/psy/psysh/src/Exception/FatalErrorException.php', - 'Psy\\Exception\\ParseErrorException' => $vendorDir . '/psy/psysh/src/Exception/ParseErrorException.php', - 'Psy\\Exception\\RuntimeException' => $vendorDir . '/psy/psysh/src/Exception/RuntimeException.php', - 'Psy\\Exception\\ThrowUpException' => $vendorDir . '/psy/psysh/src/Exception/ThrowUpException.php', - 'Psy\\Exception\\TypeErrorException' => $vendorDir . '/psy/psysh/src/Exception/TypeErrorException.php', - 'Psy\\ExecutionClosure' => $vendorDir . '/psy/psysh/src/ExecutionClosure.php', - 'Psy\\ExecutionLoop' => $vendorDir . '/psy/psysh/src/ExecutionLoop.php', - 'Psy\\ExecutionLoopClosure' => $vendorDir . '/psy/psysh/src/ExecutionLoopClosure.php', - 'Psy\\ExecutionLoop\\AbstractListener' => $vendorDir . '/psy/psysh/src/ExecutionLoop/AbstractListener.php', - 'Psy\\ExecutionLoop\\Listener' => $vendorDir . '/psy/psysh/src/ExecutionLoop/Listener.php', - 'Psy\\ExecutionLoop\\ProcessForker' => $vendorDir . '/psy/psysh/src/ExecutionLoop/ProcessForker.php', - 'Psy\\ExecutionLoop\\RunkitReloader' => $vendorDir . '/psy/psysh/src/ExecutionLoop/RunkitReloader.php', - 'Psy\\Formatter\\CodeFormatter' => $vendorDir . '/psy/psysh/src/Formatter/CodeFormatter.php', - 'Psy\\Formatter\\DocblockFormatter' => $vendorDir . '/psy/psysh/src/Formatter/DocblockFormatter.php', - 'Psy\\Formatter\\Formatter' => $vendorDir . '/psy/psysh/src/Formatter/Formatter.php', - 'Psy\\Formatter\\SignatureFormatter' => $vendorDir . '/psy/psysh/src/Formatter/SignatureFormatter.php', - 'Psy\\Input\\CodeArgument' => $vendorDir . '/psy/psysh/src/Input/CodeArgument.php', - 'Psy\\Input\\FilterOptions' => $vendorDir . '/psy/psysh/src/Input/FilterOptions.php', - 'Psy\\Input\\ShellInput' => $vendorDir . '/psy/psysh/src/Input/ShellInput.php', - 'Psy\\Input\\SilentInput' => $vendorDir . '/psy/psysh/src/Input/SilentInput.php', - 'Psy\\Output\\OutputPager' => $vendorDir . '/psy/psysh/src/Output/OutputPager.php', - 'Psy\\Output\\PassthruPager' => $vendorDir . '/psy/psysh/src/Output/PassthruPager.php', - 'Psy\\Output\\ProcOutputPager' => $vendorDir . '/psy/psysh/src/Output/ProcOutputPager.php', - 'Psy\\Output\\ShellOutput' => $vendorDir . '/psy/psysh/src/Output/ShellOutput.php', - 'Psy\\ParserFactory' => $vendorDir . '/psy/psysh/src/ParserFactory.php', - 'Psy\\Readline\\GNUReadline' => $vendorDir . '/psy/psysh/src/Readline/GNUReadline.php', - 'Psy\\Readline\\HoaConsole' => $vendorDir . '/psy/psysh/src/Readline/HoaConsole.php', - 'Psy\\Readline\\Libedit' => $vendorDir . '/psy/psysh/src/Readline/Libedit.php', - 'Psy\\Readline\\Readline' => $vendorDir . '/psy/psysh/src/Readline/Readline.php', - 'Psy\\Readline\\Transient' => $vendorDir . '/psy/psysh/src/Readline/Transient.php', - 'Psy\\Reflection\\ReflectionClassConstant' => $vendorDir . '/psy/psysh/src/Reflection/ReflectionClassConstant.php', - 'Psy\\Reflection\\ReflectionConstant' => $vendorDir . '/psy/psysh/src/Reflection/ReflectionConstant.php', - 'Psy\\Reflection\\ReflectionConstant_' => $vendorDir . '/psy/psysh/src/Reflection/ReflectionConstant_.php', - 'Psy\\Reflection\\ReflectionLanguageConstruct' => $vendorDir . '/psy/psysh/src/Reflection/ReflectionLanguageConstruct.php', - 'Psy\\Reflection\\ReflectionLanguageConstructParameter' => $vendorDir . '/psy/psysh/src/Reflection/ReflectionLanguageConstructParameter.php', - 'Psy\\Shell' => $vendorDir . '/psy/psysh/src/Shell.php', - 'Psy\\Sudo' => $vendorDir . '/psy/psysh/src/Sudo.php', - 'Psy\\Sudo\\SudoVisitor' => $vendorDir . '/psy/psysh/src/Sudo/SudoVisitor.php', - 'Psy\\TabCompletion\\AutoCompleter' => $vendorDir . '/psy/psysh/src/TabCompletion/AutoCompleter.php', - 'Psy\\TabCompletion\\Matcher\\AbstractContextAwareMatcher' => $vendorDir . '/psy/psysh/src/TabCompletion/Matcher/AbstractContextAwareMatcher.php', - 'Psy\\TabCompletion\\Matcher\\AbstractDefaultParametersMatcher' => $vendorDir . '/psy/psysh/src/TabCompletion/Matcher/AbstractDefaultParametersMatcher.php', - 'Psy\\TabCompletion\\Matcher\\AbstractMatcher' => $vendorDir . '/psy/psysh/src/TabCompletion/Matcher/AbstractMatcher.php', - 'Psy\\TabCompletion\\Matcher\\ClassAttributesMatcher' => $vendorDir . '/psy/psysh/src/TabCompletion/Matcher/ClassAttributesMatcher.php', - 'Psy\\TabCompletion\\Matcher\\ClassMethodDefaultParametersMatcher' => $vendorDir . '/psy/psysh/src/TabCompletion/Matcher/ClassMethodDefaultParametersMatcher.php', - 'Psy\\TabCompletion\\Matcher\\ClassMethodsMatcher' => $vendorDir . '/psy/psysh/src/TabCompletion/Matcher/ClassMethodsMatcher.php', - 'Psy\\TabCompletion\\Matcher\\ClassNamesMatcher' => $vendorDir . '/psy/psysh/src/TabCompletion/Matcher/ClassNamesMatcher.php', - 'Psy\\TabCompletion\\Matcher\\CommandsMatcher' => $vendorDir . '/psy/psysh/src/TabCompletion/Matcher/CommandsMatcher.php', - 'Psy\\TabCompletion\\Matcher\\ConstantsMatcher' => $vendorDir . '/psy/psysh/src/TabCompletion/Matcher/ConstantsMatcher.php', - 'Psy\\TabCompletion\\Matcher\\FunctionDefaultParametersMatcher' => $vendorDir . '/psy/psysh/src/TabCompletion/Matcher/FunctionDefaultParametersMatcher.php', - 'Psy\\TabCompletion\\Matcher\\FunctionsMatcher' => $vendorDir . '/psy/psysh/src/TabCompletion/Matcher/FunctionsMatcher.php', - 'Psy\\TabCompletion\\Matcher\\KeywordsMatcher' => $vendorDir . '/psy/psysh/src/TabCompletion/Matcher/KeywordsMatcher.php', - 'Psy\\TabCompletion\\Matcher\\MongoClientMatcher' => $vendorDir . '/psy/psysh/src/TabCompletion/Matcher/MongoClientMatcher.php', - 'Psy\\TabCompletion\\Matcher\\MongoDatabaseMatcher' => $vendorDir . '/psy/psysh/src/TabCompletion/Matcher/MongoDatabaseMatcher.php', - 'Psy\\TabCompletion\\Matcher\\ObjectAttributesMatcher' => $vendorDir . '/psy/psysh/src/TabCompletion/Matcher/ObjectAttributesMatcher.php', - 'Psy\\TabCompletion\\Matcher\\ObjectMethodDefaultParametersMatcher' => $vendorDir . '/psy/psysh/src/TabCompletion/Matcher/ObjectMethodDefaultParametersMatcher.php', - 'Psy\\TabCompletion\\Matcher\\ObjectMethodsMatcher' => $vendorDir . '/psy/psysh/src/TabCompletion/Matcher/ObjectMethodsMatcher.php', - 'Psy\\TabCompletion\\Matcher\\VariablesMatcher' => $vendorDir . '/psy/psysh/src/TabCompletion/Matcher/VariablesMatcher.php', - 'Psy\\Util\\Docblock' => $vendorDir . '/psy/psysh/src/Util/Docblock.php', - 'Psy\\Util\\Json' => $vendorDir . '/psy/psysh/src/Util/Json.php', - 'Psy\\Util\\Mirror' => $vendorDir . '/psy/psysh/src/Util/Mirror.php', - 'Psy\\Util\\Str' => $vendorDir . '/psy/psysh/src/Util/Str.php', - 'Psy\\VarDumper\\Cloner' => $vendorDir . '/psy/psysh/src/VarDumper/Cloner.php', - 'Psy\\VarDumper\\Dumper' => $vendorDir . '/psy/psysh/src/VarDumper/Dumper.php', - 'Psy\\VarDumper\\Presenter' => $vendorDir . '/psy/psysh/src/VarDumper/Presenter.php', - 'Psy\\VarDumper\\PresenterAware' => $vendorDir . '/psy/psysh/src/VarDumper/PresenterAware.php', - 'Psy\\VersionUpdater\\Checker' => $vendorDir . '/psy/psysh/src/VersionUpdater/Checker.php', - 'Psy\\VersionUpdater\\GitHubChecker' => $vendorDir . '/psy/psysh/src/VersionUpdater/GitHubChecker.php', - 'Psy\\VersionUpdater\\IntervalChecker' => $vendorDir . '/psy/psysh/src/VersionUpdater/IntervalChecker.php', - 'Psy\\VersionUpdater\\NoopChecker' => $vendorDir . '/psy/psysh/src/VersionUpdater/NoopChecker.php', - 'Ramsey\\Uuid\\BinaryUtils' => $vendorDir . '/ramsey/uuid/src/BinaryUtils.php', - 'Ramsey\\Uuid\\Builder\\DefaultUuidBuilder' => $vendorDir . '/ramsey/uuid/src/Builder/DefaultUuidBuilder.php', - 'Ramsey\\Uuid\\Builder\\DegradedUuidBuilder' => $vendorDir . '/ramsey/uuid/src/Builder/DegradedUuidBuilder.php', - 'Ramsey\\Uuid\\Builder\\UuidBuilderInterface' => $vendorDir . '/ramsey/uuid/src/Builder/UuidBuilderInterface.php', - 'Ramsey\\Uuid\\Codec\\CodecInterface' => $vendorDir . '/ramsey/uuid/src/Codec/CodecInterface.php', - 'Ramsey\\Uuid\\Codec\\GuidStringCodec' => $vendorDir . '/ramsey/uuid/src/Codec/GuidStringCodec.php', - 'Ramsey\\Uuid\\Codec\\OrderedTimeCodec' => $vendorDir . '/ramsey/uuid/src/Codec/OrderedTimeCodec.php', - 'Ramsey\\Uuid\\Codec\\StringCodec' => $vendorDir . '/ramsey/uuid/src/Codec/StringCodec.php', - 'Ramsey\\Uuid\\Codec\\TimestampFirstCombCodec' => $vendorDir . '/ramsey/uuid/src/Codec/TimestampFirstCombCodec.php', - 'Ramsey\\Uuid\\Codec\\TimestampLastCombCodec' => $vendorDir . '/ramsey/uuid/src/Codec/TimestampLastCombCodec.php', - 'Ramsey\\Uuid\\Converter\\NumberConverterInterface' => $vendorDir . '/ramsey/uuid/src/Converter/NumberConverterInterface.php', - 'Ramsey\\Uuid\\Converter\\Number\\BigNumberConverter' => $vendorDir . '/ramsey/uuid/src/Converter/Number/BigNumberConverter.php', - 'Ramsey\\Uuid\\Converter\\Number\\DegradedNumberConverter' => $vendorDir . '/ramsey/uuid/src/Converter/Number/DegradedNumberConverter.php', - 'Ramsey\\Uuid\\Converter\\TimeConverterInterface' => $vendorDir . '/ramsey/uuid/src/Converter/TimeConverterInterface.php', - 'Ramsey\\Uuid\\Converter\\Time\\BigNumberTimeConverter' => $vendorDir . '/ramsey/uuid/src/Converter/Time/BigNumberTimeConverter.php', - 'Ramsey\\Uuid\\Converter\\Time\\DegradedTimeConverter' => $vendorDir . '/ramsey/uuid/src/Converter/Time/DegradedTimeConverter.php', - 'Ramsey\\Uuid\\Converter\\Time\\PhpTimeConverter' => $vendorDir . '/ramsey/uuid/src/Converter/Time/PhpTimeConverter.php', - 'Ramsey\\Uuid\\DegradedUuid' => $vendorDir . '/ramsey/uuid/src/DegradedUuid.php', - 'Ramsey\\Uuid\\Exception\\InvalidUuidStringException' => $vendorDir . '/ramsey/uuid/src/Exception/InvalidUuidStringException.php', - 'Ramsey\\Uuid\\Exception\\UnsatisfiedDependencyException' => $vendorDir . '/ramsey/uuid/src/Exception/UnsatisfiedDependencyException.php', - 'Ramsey\\Uuid\\Exception\\UnsupportedOperationException' => $vendorDir . '/ramsey/uuid/src/Exception/UnsupportedOperationException.php', - 'Ramsey\\Uuid\\FeatureSet' => $vendorDir . '/ramsey/uuid/src/FeatureSet.php', - 'Ramsey\\Uuid\\Generator\\CombGenerator' => $vendorDir . '/ramsey/uuid/src/Generator/CombGenerator.php', - 'Ramsey\\Uuid\\Generator\\DefaultTimeGenerator' => $vendorDir . '/ramsey/uuid/src/Generator/DefaultTimeGenerator.php', - 'Ramsey\\Uuid\\Generator\\MtRandGenerator' => $vendorDir . '/ramsey/uuid/src/Generator/MtRandGenerator.php', - 'Ramsey\\Uuid\\Generator\\OpenSslGenerator' => $vendorDir . '/ramsey/uuid/src/Generator/OpenSslGenerator.php', - 'Ramsey\\Uuid\\Generator\\PeclUuidRandomGenerator' => $vendorDir . '/ramsey/uuid/src/Generator/PeclUuidRandomGenerator.php', - 'Ramsey\\Uuid\\Generator\\PeclUuidTimeGenerator' => $vendorDir . '/ramsey/uuid/src/Generator/PeclUuidTimeGenerator.php', - 'Ramsey\\Uuid\\Generator\\RandomBytesGenerator' => $vendorDir . '/ramsey/uuid/src/Generator/RandomBytesGenerator.php', - 'Ramsey\\Uuid\\Generator\\RandomGeneratorFactory' => $vendorDir . '/ramsey/uuid/src/Generator/RandomGeneratorFactory.php', - 'Ramsey\\Uuid\\Generator\\RandomGeneratorInterface' => $vendorDir . '/ramsey/uuid/src/Generator/RandomGeneratorInterface.php', - 'Ramsey\\Uuid\\Generator\\RandomLibAdapter' => $vendorDir . '/ramsey/uuid/src/Generator/RandomLibAdapter.php', - 'Ramsey\\Uuid\\Generator\\SodiumRandomGenerator' => $vendorDir . '/ramsey/uuid/src/Generator/SodiumRandomGenerator.php', - 'Ramsey\\Uuid\\Generator\\TimeGeneratorFactory' => $vendorDir . '/ramsey/uuid/src/Generator/TimeGeneratorFactory.php', - 'Ramsey\\Uuid\\Generator\\TimeGeneratorInterface' => $vendorDir . '/ramsey/uuid/src/Generator/TimeGeneratorInterface.php', - 'Ramsey\\Uuid\\Provider\\NodeProviderInterface' => $vendorDir . '/ramsey/uuid/src/Provider/NodeProviderInterface.php', - 'Ramsey\\Uuid\\Provider\\Node\\FallbackNodeProvider' => $vendorDir . '/ramsey/uuid/src/Provider/Node/FallbackNodeProvider.php', - 'Ramsey\\Uuid\\Provider\\Node\\RandomNodeProvider' => $vendorDir . '/ramsey/uuid/src/Provider/Node/RandomNodeProvider.php', - 'Ramsey\\Uuid\\Provider\\Node\\SystemNodeProvider' => $vendorDir . '/ramsey/uuid/src/Provider/Node/SystemNodeProvider.php', - 'Ramsey\\Uuid\\Provider\\TimeProviderInterface' => $vendorDir . '/ramsey/uuid/src/Provider/TimeProviderInterface.php', - 'Ramsey\\Uuid\\Provider\\Time\\FixedTimeProvider' => $vendorDir . '/ramsey/uuid/src/Provider/Time/FixedTimeProvider.php', - 'Ramsey\\Uuid\\Provider\\Time\\SystemTimeProvider' => $vendorDir . '/ramsey/uuid/src/Provider/Time/SystemTimeProvider.php', - 'Ramsey\\Uuid\\Uuid' => $vendorDir . '/ramsey/uuid/src/Uuid.php', - 'Ramsey\\Uuid\\UuidFactory' => $vendorDir . '/ramsey/uuid/src/UuidFactory.php', - 'Ramsey\\Uuid\\UuidFactoryInterface' => $vendorDir . '/ramsey/uuid/src/UuidFactoryInterface.php', - 'Ramsey\\Uuid\\UuidInterface' => $vendorDir . '/ramsey/uuid/src/UuidInterface.php', - 'SebastianBergmann\\CodeCoverage\\CodeCoverage' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage.php', - 'SebastianBergmann\\CodeCoverage\\CoveredCodeNotExecutedException' => $vendorDir . '/phpunit/php-code-coverage/src/Exception/CoveredCodeNotExecutedException.php', - 'SebastianBergmann\\CodeCoverage\\Driver\\Driver' => $vendorDir . '/phpunit/php-code-coverage/src/Driver/Driver.php', - 'SebastianBergmann\\CodeCoverage\\Driver\\PHPDBG' => $vendorDir . '/phpunit/php-code-coverage/src/Driver/PHPDBG.php', - 'SebastianBergmann\\CodeCoverage\\Driver\\Xdebug' => $vendorDir . '/phpunit/php-code-coverage/src/Driver/Xdebug.php', - 'SebastianBergmann\\CodeCoverage\\Exception' => $vendorDir . '/phpunit/php-code-coverage/src/Exception/Exception.php', - 'SebastianBergmann\\CodeCoverage\\Filter' => $vendorDir . '/phpunit/php-code-coverage/src/Filter.php', - 'SebastianBergmann\\CodeCoverage\\InvalidArgumentException' => $vendorDir . '/phpunit/php-code-coverage/src/Exception/InvalidArgumentException.php', - 'SebastianBergmann\\CodeCoverage\\MissingCoversAnnotationException' => $vendorDir . '/phpunit/php-code-coverage/src/Exception/MissingCoversAnnotationException.php', - 'SebastianBergmann\\CodeCoverage\\Node\\AbstractNode' => $vendorDir . '/phpunit/php-code-coverage/src/Node/AbstractNode.php', - 'SebastianBergmann\\CodeCoverage\\Node\\Builder' => $vendorDir . '/phpunit/php-code-coverage/src/Node/Builder.php', - 'SebastianBergmann\\CodeCoverage\\Node\\Directory' => $vendorDir . '/phpunit/php-code-coverage/src/Node/Directory.php', - 'SebastianBergmann\\CodeCoverage\\Node\\File' => $vendorDir . '/phpunit/php-code-coverage/src/Node/File.php', - 'SebastianBergmann\\CodeCoverage\\Node\\Iterator' => $vendorDir . '/phpunit/php-code-coverage/src/Node/Iterator.php', - 'SebastianBergmann\\CodeCoverage\\Report\\Clover' => $vendorDir . '/phpunit/php-code-coverage/src/Report/Clover.php', - 'SebastianBergmann\\CodeCoverage\\Report\\Crap4j' => $vendorDir . '/phpunit/php-code-coverage/src/Report/Crap4j.php', - 'SebastianBergmann\\CodeCoverage\\Report\\Html\\Dashboard' => $vendorDir . '/phpunit/php-code-coverage/src/Report/Html/Renderer/Dashboard.php', - 'SebastianBergmann\\CodeCoverage\\Report\\Html\\Directory' => $vendorDir . '/phpunit/php-code-coverage/src/Report/Html/Renderer/Directory.php', - 'SebastianBergmann\\CodeCoverage\\Report\\Html\\Facade' => $vendorDir . '/phpunit/php-code-coverage/src/Report/Html/Facade.php', - 'SebastianBergmann\\CodeCoverage\\Report\\Html\\File' => $vendorDir . '/phpunit/php-code-coverage/src/Report/Html/Renderer/File.php', - 'SebastianBergmann\\CodeCoverage\\Report\\Html\\Renderer' => $vendorDir . '/phpunit/php-code-coverage/src/Report/Html/Renderer.php', - 'SebastianBergmann\\CodeCoverage\\Report\\PHP' => $vendorDir . '/phpunit/php-code-coverage/src/Report/PHP.php', - 'SebastianBergmann\\CodeCoverage\\Report\\Text' => $vendorDir . '/phpunit/php-code-coverage/src/Report/Text.php', - 'SebastianBergmann\\CodeCoverage\\Report\\Xml\\BuildInformation' => $vendorDir . '/phpunit/php-code-coverage/src/Report/Xml/BuildInformation.php', - 'SebastianBergmann\\CodeCoverage\\Report\\Xml\\Coverage' => $vendorDir . '/phpunit/php-code-coverage/src/Report/Xml/Coverage.php', - 'SebastianBergmann\\CodeCoverage\\Report\\Xml\\Directory' => $vendorDir . '/phpunit/php-code-coverage/src/Report/Xml/Directory.php', - 'SebastianBergmann\\CodeCoverage\\Report\\Xml\\Facade' => $vendorDir . '/phpunit/php-code-coverage/src/Report/Xml/Facade.php', - 'SebastianBergmann\\CodeCoverage\\Report\\Xml\\File' => $vendorDir . '/phpunit/php-code-coverage/src/Report/Xml/File.php', - 'SebastianBergmann\\CodeCoverage\\Report\\Xml\\Method' => $vendorDir . '/phpunit/php-code-coverage/src/Report/Xml/Method.php', - 'SebastianBergmann\\CodeCoverage\\Report\\Xml\\Node' => $vendorDir . '/phpunit/php-code-coverage/src/Report/Xml/Node.php', - 'SebastianBergmann\\CodeCoverage\\Report\\Xml\\Project' => $vendorDir . '/phpunit/php-code-coverage/src/Report/Xml/Project.php', - 'SebastianBergmann\\CodeCoverage\\Report\\Xml\\Report' => $vendorDir . '/phpunit/php-code-coverage/src/Report/Xml/Report.php', - 'SebastianBergmann\\CodeCoverage\\Report\\Xml\\Source' => $vendorDir . '/phpunit/php-code-coverage/src/Report/Xml/Source.php', - 'SebastianBergmann\\CodeCoverage\\Report\\Xml\\Tests' => $vendorDir . '/phpunit/php-code-coverage/src/Report/Xml/Tests.php', - 'SebastianBergmann\\CodeCoverage\\Report\\Xml\\Totals' => $vendorDir . '/phpunit/php-code-coverage/src/Report/Xml/Totals.php', - 'SebastianBergmann\\CodeCoverage\\Report\\Xml\\Unit' => $vendorDir . '/phpunit/php-code-coverage/src/Report/Xml/Unit.php', - 'SebastianBergmann\\CodeCoverage\\RuntimeException' => $vendorDir . '/phpunit/php-code-coverage/src/Exception/RuntimeException.php', - 'SebastianBergmann\\CodeCoverage\\UnintentionallyCoveredCodeException' => $vendorDir . '/phpunit/php-code-coverage/src/Exception/UnintentionallyCoveredCodeException.php', - 'SebastianBergmann\\CodeCoverage\\Util' => $vendorDir . '/phpunit/php-code-coverage/src/Util.php', - 'SebastianBergmann\\CodeCoverage\\Version' => $vendorDir . '/phpunit/php-code-coverage/src/Version.php', - 'SebastianBergmann\\CodeUnitReverseLookup\\Wizard' => $vendorDir . '/sebastian/code-unit-reverse-lookup/src/Wizard.php', - 'SebastianBergmann\\Comparator\\ArrayComparator' => $vendorDir . '/sebastian/comparator/src/ArrayComparator.php', - 'SebastianBergmann\\Comparator\\Comparator' => $vendorDir . '/sebastian/comparator/src/Comparator.php', - 'SebastianBergmann\\Comparator\\ComparisonFailure' => $vendorDir . '/sebastian/comparator/src/ComparisonFailure.php', - 'SebastianBergmann\\Comparator\\DOMNodeComparator' => $vendorDir . '/sebastian/comparator/src/DOMNodeComparator.php', - 'SebastianBergmann\\Comparator\\DateTimeComparator' => $vendorDir . '/sebastian/comparator/src/DateTimeComparator.php', - 'SebastianBergmann\\Comparator\\DoubleComparator' => $vendorDir . '/sebastian/comparator/src/DoubleComparator.php', - 'SebastianBergmann\\Comparator\\ExceptionComparator' => $vendorDir . '/sebastian/comparator/src/ExceptionComparator.php', - 'SebastianBergmann\\Comparator\\Factory' => $vendorDir . '/sebastian/comparator/src/Factory.php', - 'SebastianBergmann\\Comparator\\MockObjectComparator' => $vendorDir . '/sebastian/comparator/src/MockObjectComparator.php', - 'SebastianBergmann\\Comparator\\NumericComparator' => $vendorDir . '/sebastian/comparator/src/NumericComparator.php', - 'SebastianBergmann\\Comparator\\ObjectComparator' => $vendorDir . '/sebastian/comparator/src/ObjectComparator.php', - 'SebastianBergmann\\Comparator\\ResourceComparator' => $vendorDir . '/sebastian/comparator/src/ResourceComparator.php', - 'SebastianBergmann\\Comparator\\ScalarComparator' => $vendorDir . '/sebastian/comparator/src/ScalarComparator.php', - 'SebastianBergmann\\Comparator\\SplObjectStorageComparator' => $vendorDir . '/sebastian/comparator/src/SplObjectStorageComparator.php', - 'SebastianBergmann\\Comparator\\TypeComparator' => $vendorDir . '/sebastian/comparator/src/TypeComparator.php', - 'SebastianBergmann\\Diff\\Chunk' => $vendorDir . '/sebastian/diff/src/Chunk.php', - 'SebastianBergmann\\Diff\\ConfigurationException' => $vendorDir . '/sebastian/diff/src/Exception/ConfigurationException.php', - 'SebastianBergmann\\Diff\\Diff' => $vendorDir . '/sebastian/diff/src/Diff.php', - 'SebastianBergmann\\Diff\\Differ' => $vendorDir . '/sebastian/diff/src/Differ.php', - 'SebastianBergmann\\Diff\\Exception' => $vendorDir . '/sebastian/diff/src/Exception/Exception.php', - 'SebastianBergmann\\Diff\\InvalidArgumentException' => $vendorDir . '/sebastian/diff/src/Exception/InvalidArgumentException.php', - 'SebastianBergmann\\Diff\\Line' => $vendorDir . '/sebastian/diff/src/Line.php', - 'SebastianBergmann\\Diff\\LongestCommonSubsequenceCalculator' => $vendorDir . '/sebastian/diff/src/LongestCommonSubsequenceCalculator.php', - 'SebastianBergmann\\Diff\\MemoryEfficientLongestCommonSubsequenceCalculator' => $vendorDir . '/sebastian/diff/src/MemoryEfficientLongestCommonSubsequenceCalculator.php', - 'SebastianBergmann\\Diff\\Output\\AbstractChunkOutputBuilder' => $vendorDir . '/sebastian/diff/src/Output/AbstractChunkOutputBuilder.php', - 'SebastianBergmann\\Diff\\Output\\DiffOnlyOutputBuilder' => $vendorDir . '/sebastian/diff/src/Output/DiffOnlyOutputBuilder.php', - 'SebastianBergmann\\Diff\\Output\\DiffOutputBuilderInterface' => $vendorDir . '/sebastian/diff/src/Output/DiffOutputBuilderInterface.php', - 'SebastianBergmann\\Diff\\Output\\StrictUnifiedDiffOutputBuilder' => $vendorDir . '/sebastian/diff/src/Output/StrictUnifiedDiffOutputBuilder.php', - 'SebastianBergmann\\Diff\\Output\\UnifiedDiffOutputBuilder' => $vendorDir . '/sebastian/diff/src/Output/UnifiedDiffOutputBuilder.php', - 'SebastianBergmann\\Diff\\Parser' => $vendorDir . '/sebastian/diff/src/Parser.php', - 'SebastianBergmann\\Diff\\TimeEfficientLongestCommonSubsequenceCalculator' => $vendorDir . '/sebastian/diff/src/TimeEfficientLongestCommonSubsequenceCalculator.php', - 'SebastianBergmann\\Environment\\Console' => $vendorDir . '/sebastian/environment/src/Console.php', - 'SebastianBergmann\\Environment\\OperatingSystem' => $vendorDir . '/sebastian/environment/src/OperatingSystem.php', - 'SebastianBergmann\\Environment\\Runtime' => $vendorDir . '/sebastian/environment/src/Runtime.php', - 'SebastianBergmann\\Exporter\\Exporter' => $vendorDir . '/sebastian/exporter/src/Exporter.php', - 'SebastianBergmann\\FileIterator\\Facade' => $vendorDir . '/phpunit/php-file-iterator/src/Facade.php', - 'SebastianBergmann\\FileIterator\\Factory' => $vendorDir . '/phpunit/php-file-iterator/src/Factory.php', - 'SebastianBergmann\\FileIterator\\Iterator' => $vendorDir . '/phpunit/php-file-iterator/src/Iterator.php', - 'SebastianBergmann\\GlobalState\\Blacklist' => $vendorDir . '/sebastian/global-state/src/Blacklist.php', - 'SebastianBergmann\\GlobalState\\CodeExporter' => $vendorDir . '/sebastian/global-state/src/CodeExporter.php', - 'SebastianBergmann\\GlobalState\\Exception' => $vendorDir . '/sebastian/global-state/src/exceptions/Exception.php', - 'SebastianBergmann\\GlobalState\\Restorer' => $vendorDir . '/sebastian/global-state/src/Restorer.php', - 'SebastianBergmann\\GlobalState\\RuntimeException' => $vendorDir . '/sebastian/global-state/src/exceptions/RuntimeException.php', - 'SebastianBergmann\\GlobalState\\Snapshot' => $vendorDir . '/sebastian/global-state/src/Snapshot.php', - 'SebastianBergmann\\ObjectEnumerator\\Enumerator' => $vendorDir . '/sebastian/object-enumerator/src/Enumerator.php', - 'SebastianBergmann\\ObjectEnumerator\\Exception' => $vendorDir . '/sebastian/object-enumerator/src/Exception.php', - 'SebastianBergmann\\ObjectEnumerator\\InvalidArgumentException' => $vendorDir . '/sebastian/object-enumerator/src/InvalidArgumentException.php', - 'SebastianBergmann\\ObjectReflector\\Exception' => $vendorDir . '/sebastian/object-reflector/src/Exception.php', - 'SebastianBergmann\\ObjectReflector\\InvalidArgumentException' => $vendorDir . '/sebastian/object-reflector/src/InvalidArgumentException.php', - 'SebastianBergmann\\ObjectReflector\\ObjectReflector' => $vendorDir . '/sebastian/object-reflector/src/ObjectReflector.php', - 'SebastianBergmann\\RecursionContext\\Context' => $vendorDir . '/sebastian/recursion-context/src/Context.php', - 'SebastianBergmann\\RecursionContext\\Exception' => $vendorDir . '/sebastian/recursion-context/src/Exception.php', - 'SebastianBergmann\\RecursionContext\\InvalidArgumentException' => $vendorDir . '/sebastian/recursion-context/src/InvalidArgumentException.php', - 'SebastianBergmann\\ResourceOperations\\ResourceOperations' => $vendorDir . '/sebastian/resource-operations/src/ResourceOperations.php', - 'SebastianBergmann\\Timer\\Exception' => $vendorDir . '/phpunit/php-timer/src/Exception.php', - 'SebastianBergmann\\Timer\\RuntimeException' => $vendorDir . '/phpunit/php-timer/src/RuntimeException.php', - 'SebastianBergmann\\Timer\\Timer' => $vendorDir . '/phpunit/php-timer/src/Timer.php', - 'SebastianBergmann\\Version' => $vendorDir . '/sebastian/version/src/Version.php', - 'Symfony\\Component\\Console\\Application' => $vendorDir . '/symfony/console/Application.php', - 'Symfony\\Component\\Console\\CommandLoader\\CommandLoaderInterface' => $vendorDir . '/symfony/console/CommandLoader/CommandLoaderInterface.php', - 'Symfony\\Component\\Console\\CommandLoader\\ContainerCommandLoader' => $vendorDir . '/symfony/console/CommandLoader/ContainerCommandLoader.php', - 'Symfony\\Component\\Console\\CommandLoader\\FactoryCommandLoader' => $vendorDir . '/symfony/console/CommandLoader/FactoryCommandLoader.php', - 'Symfony\\Component\\Console\\Command\\Command' => $vendorDir . '/symfony/console/Command/Command.php', - 'Symfony\\Component\\Console\\Command\\HelpCommand' => $vendorDir . '/symfony/console/Command/HelpCommand.php', - 'Symfony\\Component\\Console\\Command\\ListCommand' => $vendorDir . '/symfony/console/Command/ListCommand.php', - 'Symfony\\Component\\Console\\Command\\LockableTrait' => $vendorDir . '/symfony/console/Command/LockableTrait.php', - 'Symfony\\Component\\Console\\ConsoleEvents' => $vendorDir . '/symfony/console/ConsoleEvents.php', - 'Symfony\\Component\\Console\\DependencyInjection\\AddConsoleCommandPass' => $vendorDir . '/symfony/console/DependencyInjection/AddConsoleCommandPass.php', - 'Symfony\\Component\\Console\\Descriptor\\ApplicationDescription' => $vendorDir . '/symfony/console/Descriptor/ApplicationDescription.php', - 'Symfony\\Component\\Console\\Descriptor\\Descriptor' => $vendorDir . '/symfony/console/Descriptor/Descriptor.php', - 'Symfony\\Component\\Console\\Descriptor\\DescriptorInterface' => $vendorDir . '/symfony/console/Descriptor/DescriptorInterface.php', - 'Symfony\\Component\\Console\\Descriptor\\JsonDescriptor' => $vendorDir . '/symfony/console/Descriptor/JsonDescriptor.php', - 'Symfony\\Component\\Console\\Descriptor\\MarkdownDescriptor' => $vendorDir . '/symfony/console/Descriptor/MarkdownDescriptor.php', - 'Symfony\\Component\\Console\\Descriptor\\TextDescriptor' => $vendorDir . '/symfony/console/Descriptor/TextDescriptor.php', - 'Symfony\\Component\\Console\\Descriptor\\XmlDescriptor' => $vendorDir . '/symfony/console/Descriptor/XmlDescriptor.php', - 'Symfony\\Component\\Console\\EventListener\\ErrorListener' => $vendorDir . '/symfony/console/EventListener/ErrorListener.php', - 'Symfony\\Component\\Console\\Event\\ConsoleCommandEvent' => $vendorDir . '/symfony/console/Event/ConsoleCommandEvent.php', - 'Symfony\\Component\\Console\\Event\\ConsoleErrorEvent' => $vendorDir . '/symfony/console/Event/ConsoleErrorEvent.php', - 'Symfony\\Component\\Console\\Event\\ConsoleEvent' => $vendorDir . '/symfony/console/Event/ConsoleEvent.php', - 'Symfony\\Component\\Console\\Event\\ConsoleTerminateEvent' => $vendorDir . '/symfony/console/Event/ConsoleTerminateEvent.php', - 'Symfony\\Component\\Console\\Exception\\CommandNotFoundException' => $vendorDir . '/symfony/console/Exception/CommandNotFoundException.php', - 'Symfony\\Component\\Console\\Exception\\ExceptionInterface' => $vendorDir . '/symfony/console/Exception/ExceptionInterface.php', - 'Symfony\\Component\\Console\\Exception\\InvalidArgumentException' => $vendorDir . '/symfony/console/Exception/InvalidArgumentException.php', - 'Symfony\\Component\\Console\\Exception\\InvalidOptionException' => $vendorDir . '/symfony/console/Exception/InvalidOptionException.php', - 'Symfony\\Component\\Console\\Exception\\LogicException' => $vendorDir . '/symfony/console/Exception/LogicException.php', - 'Symfony\\Component\\Console\\Exception\\NamespaceNotFoundException' => $vendorDir . '/symfony/console/Exception/NamespaceNotFoundException.php', - 'Symfony\\Component\\Console\\Exception\\RuntimeException' => $vendorDir . '/symfony/console/Exception/RuntimeException.php', - 'Symfony\\Component\\Console\\Formatter\\OutputFormatter' => $vendorDir . '/symfony/console/Formatter/OutputFormatter.php', - 'Symfony\\Component\\Console\\Formatter\\OutputFormatterInterface' => $vendorDir . '/symfony/console/Formatter/OutputFormatterInterface.php', - 'Symfony\\Component\\Console\\Formatter\\OutputFormatterStyle' => $vendorDir . '/symfony/console/Formatter/OutputFormatterStyle.php', - 'Symfony\\Component\\Console\\Formatter\\OutputFormatterStyleInterface' => $vendorDir . '/symfony/console/Formatter/OutputFormatterStyleInterface.php', - 'Symfony\\Component\\Console\\Formatter\\OutputFormatterStyleStack' => $vendorDir . '/symfony/console/Formatter/OutputFormatterStyleStack.php', - 'Symfony\\Component\\Console\\Formatter\\WrappableOutputFormatterInterface' => $vendorDir . '/symfony/console/Formatter/WrappableOutputFormatterInterface.php', - 'Symfony\\Component\\Console\\Helper\\DebugFormatterHelper' => $vendorDir . '/symfony/console/Helper/DebugFormatterHelper.php', - 'Symfony\\Component\\Console\\Helper\\DescriptorHelper' => $vendorDir . '/symfony/console/Helper/DescriptorHelper.php', - 'Symfony\\Component\\Console\\Helper\\Dumper' => $vendorDir . '/symfony/console/Helper/Dumper.php', - 'Symfony\\Component\\Console\\Helper\\FormatterHelper' => $vendorDir . '/symfony/console/Helper/FormatterHelper.php', - 'Symfony\\Component\\Console\\Helper\\Helper' => $vendorDir . '/symfony/console/Helper/Helper.php', - 'Symfony\\Component\\Console\\Helper\\HelperInterface' => $vendorDir . '/symfony/console/Helper/HelperInterface.php', - 'Symfony\\Component\\Console\\Helper\\HelperSet' => $vendorDir . '/symfony/console/Helper/HelperSet.php', - 'Symfony\\Component\\Console\\Helper\\InputAwareHelper' => $vendorDir . '/symfony/console/Helper/InputAwareHelper.php', - 'Symfony\\Component\\Console\\Helper\\ProcessHelper' => $vendorDir . '/symfony/console/Helper/ProcessHelper.php', - 'Symfony\\Component\\Console\\Helper\\ProgressBar' => $vendorDir . '/symfony/console/Helper/ProgressBar.php', - 'Symfony\\Component\\Console\\Helper\\ProgressIndicator' => $vendorDir . '/symfony/console/Helper/ProgressIndicator.php', - 'Symfony\\Component\\Console\\Helper\\QuestionHelper' => $vendorDir . '/symfony/console/Helper/QuestionHelper.php', - 'Symfony\\Component\\Console\\Helper\\SymfonyQuestionHelper' => $vendorDir . '/symfony/console/Helper/SymfonyQuestionHelper.php', - 'Symfony\\Component\\Console\\Helper\\Table' => $vendorDir . '/symfony/console/Helper/Table.php', - 'Symfony\\Component\\Console\\Helper\\TableCell' => $vendorDir . '/symfony/console/Helper/TableCell.php', - 'Symfony\\Component\\Console\\Helper\\TableRows' => $vendorDir . '/symfony/console/Helper/TableRows.php', - 'Symfony\\Component\\Console\\Helper\\TableSeparator' => $vendorDir . '/symfony/console/Helper/TableSeparator.php', - 'Symfony\\Component\\Console\\Helper\\TableStyle' => $vendorDir . '/symfony/console/Helper/TableStyle.php', - 'Symfony\\Component\\Console\\Input\\ArgvInput' => $vendorDir . '/symfony/console/Input/ArgvInput.php', - 'Symfony\\Component\\Console\\Input\\ArrayInput' => $vendorDir . '/symfony/console/Input/ArrayInput.php', - 'Symfony\\Component\\Console\\Input\\Input' => $vendorDir . '/symfony/console/Input/Input.php', - 'Symfony\\Component\\Console\\Input\\InputArgument' => $vendorDir . '/symfony/console/Input/InputArgument.php', - 'Symfony\\Component\\Console\\Input\\InputAwareInterface' => $vendorDir . '/symfony/console/Input/InputAwareInterface.php', - 'Symfony\\Component\\Console\\Input\\InputDefinition' => $vendorDir . '/symfony/console/Input/InputDefinition.php', - 'Symfony\\Component\\Console\\Input\\InputInterface' => $vendorDir . '/symfony/console/Input/InputInterface.php', - 'Symfony\\Component\\Console\\Input\\InputOption' => $vendorDir . '/symfony/console/Input/InputOption.php', - 'Symfony\\Component\\Console\\Input\\StreamableInputInterface' => $vendorDir . '/symfony/console/Input/StreamableInputInterface.php', - 'Symfony\\Component\\Console\\Input\\StringInput' => $vendorDir . '/symfony/console/Input/StringInput.php', - 'Symfony\\Component\\Console\\Logger\\ConsoleLogger' => $vendorDir . '/symfony/console/Logger/ConsoleLogger.php', - 'Symfony\\Component\\Console\\Output\\BufferedOutput' => $vendorDir . '/symfony/console/Output/BufferedOutput.php', - 'Symfony\\Component\\Console\\Output\\ConsoleOutput' => $vendorDir . '/symfony/console/Output/ConsoleOutput.php', - 'Symfony\\Component\\Console\\Output\\ConsoleOutputInterface' => $vendorDir . '/symfony/console/Output/ConsoleOutputInterface.php', - 'Symfony\\Component\\Console\\Output\\ConsoleSectionOutput' => $vendorDir . '/symfony/console/Output/ConsoleSectionOutput.php', - 'Symfony\\Component\\Console\\Output\\NullOutput' => $vendorDir . '/symfony/console/Output/NullOutput.php', - 'Symfony\\Component\\Console\\Output\\Output' => $vendorDir . '/symfony/console/Output/Output.php', - 'Symfony\\Component\\Console\\Output\\OutputInterface' => $vendorDir . '/symfony/console/Output/OutputInterface.php', - 'Symfony\\Component\\Console\\Output\\StreamOutput' => $vendorDir . '/symfony/console/Output/StreamOutput.php', - 'Symfony\\Component\\Console\\Question\\ChoiceQuestion' => $vendorDir . '/symfony/console/Question/ChoiceQuestion.php', - 'Symfony\\Component\\Console\\Question\\ConfirmationQuestion' => $vendorDir . '/symfony/console/Question/ConfirmationQuestion.php', - 'Symfony\\Component\\Console\\Question\\Question' => $vendorDir . '/symfony/console/Question/Question.php', - 'Symfony\\Component\\Console\\Style\\OutputStyle' => $vendorDir . '/symfony/console/Style/OutputStyle.php', - 'Symfony\\Component\\Console\\Style\\StyleInterface' => $vendorDir . '/symfony/console/Style/StyleInterface.php', - 'Symfony\\Component\\Console\\Style\\SymfonyStyle' => $vendorDir . '/symfony/console/Style/SymfonyStyle.php', - 'Symfony\\Component\\Console\\Terminal' => $vendorDir . '/symfony/console/Terminal.php', - 'Symfony\\Component\\Console\\Tester\\ApplicationTester' => $vendorDir . '/symfony/console/Tester/ApplicationTester.php', - 'Symfony\\Component\\Console\\Tester\\CommandTester' => $vendorDir . '/symfony/console/Tester/CommandTester.php', - 'Symfony\\Component\\Console\\Tester\\TesterTrait' => $vendorDir . '/symfony/console/Tester/TesterTrait.php', - 'Symfony\\Component\\CssSelector\\CssSelectorConverter' => $vendorDir . '/symfony/css-selector/CssSelectorConverter.php', - 'Symfony\\Component\\CssSelector\\Exception\\ExceptionInterface' => $vendorDir . '/symfony/css-selector/Exception/ExceptionInterface.php', - 'Symfony\\Component\\CssSelector\\Exception\\ExpressionErrorException' => $vendorDir . '/symfony/css-selector/Exception/ExpressionErrorException.php', - 'Symfony\\Component\\CssSelector\\Exception\\InternalErrorException' => $vendorDir . '/symfony/css-selector/Exception/InternalErrorException.php', - 'Symfony\\Component\\CssSelector\\Exception\\ParseException' => $vendorDir . '/symfony/css-selector/Exception/ParseException.php', - 'Symfony\\Component\\CssSelector\\Exception\\SyntaxErrorException' => $vendorDir . '/symfony/css-selector/Exception/SyntaxErrorException.php', - 'Symfony\\Component\\CssSelector\\Node\\AbstractNode' => $vendorDir . '/symfony/css-selector/Node/AbstractNode.php', - 'Symfony\\Component\\CssSelector\\Node\\AttributeNode' => $vendorDir . '/symfony/css-selector/Node/AttributeNode.php', - 'Symfony\\Component\\CssSelector\\Node\\ClassNode' => $vendorDir . '/symfony/css-selector/Node/ClassNode.php', - 'Symfony\\Component\\CssSelector\\Node\\CombinedSelectorNode' => $vendorDir . '/symfony/css-selector/Node/CombinedSelectorNode.php', - 'Symfony\\Component\\CssSelector\\Node\\ElementNode' => $vendorDir . '/symfony/css-selector/Node/ElementNode.php', - 'Symfony\\Component\\CssSelector\\Node\\FunctionNode' => $vendorDir . '/symfony/css-selector/Node/FunctionNode.php', - 'Symfony\\Component\\CssSelector\\Node\\HashNode' => $vendorDir . '/symfony/css-selector/Node/HashNode.php', - 'Symfony\\Component\\CssSelector\\Node\\NegationNode' => $vendorDir . '/symfony/css-selector/Node/NegationNode.php', - 'Symfony\\Component\\CssSelector\\Node\\NodeInterface' => $vendorDir . '/symfony/css-selector/Node/NodeInterface.php', - 'Symfony\\Component\\CssSelector\\Node\\PseudoNode' => $vendorDir . '/symfony/css-selector/Node/PseudoNode.php', - 'Symfony\\Component\\CssSelector\\Node\\SelectorNode' => $vendorDir . '/symfony/css-selector/Node/SelectorNode.php', - 'Symfony\\Component\\CssSelector\\Node\\Specificity' => $vendorDir . '/symfony/css-selector/Node/Specificity.php', - 'Symfony\\Component\\CssSelector\\Parser\\Handler\\CommentHandler' => $vendorDir . '/symfony/css-selector/Parser/Handler/CommentHandler.php', - 'Symfony\\Component\\CssSelector\\Parser\\Handler\\HandlerInterface' => $vendorDir . '/symfony/css-selector/Parser/Handler/HandlerInterface.php', - 'Symfony\\Component\\CssSelector\\Parser\\Handler\\HashHandler' => $vendorDir . '/symfony/css-selector/Parser/Handler/HashHandler.php', - 'Symfony\\Component\\CssSelector\\Parser\\Handler\\IdentifierHandler' => $vendorDir . '/symfony/css-selector/Parser/Handler/IdentifierHandler.php', - 'Symfony\\Component\\CssSelector\\Parser\\Handler\\NumberHandler' => $vendorDir . '/symfony/css-selector/Parser/Handler/NumberHandler.php', - 'Symfony\\Component\\CssSelector\\Parser\\Handler\\StringHandler' => $vendorDir . '/symfony/css-selector/Parser/Handler/StringHandler.php', - 'Symfony\\Component\\CssSelector\\Parser\\Handler\\WhitespaceHandler' => $vendorDir . '/symfony/css-selector/Parser/Handler/WhitespaceHandler.php', - 'Symfony\\Component\\CssSelector\\Parser\\Parser' => $vendorDir . '/symfony/css-selector/Parser/Parser.php', - 'Symfony\\Component\\CssSelector\\Parser\\ParserInterface' => $vendorDir . '/symfony/css-selector/Parser/ParserInterface.php', - 'Symfony\\Component\\CssSelector\\Parser\\Reader' => $vendorDir . '/symfony/css-selector/Parser/Reader.php', - 'Symfony\\Component\\CssSelector\\Parser\\Shortcut\\ClassParser' => $vendorDir . '/symfony/css-selector/Parser/Shortcut/ClassParser.php', - 'Symfony\\Component\\CssSelector\\Parser\\Shortcut\\ElementParser' => $vendorDir . '/symfony/css-selector/Parser/Shortcut/ElementParser.php', - 'Symfony\\Component\\CssSelector\\Parser\\Shortcut\\EmptyStringParser' => $vendorDir . '/symfony/css-selector/Parser/Shortcut/EmptyStringParser.php', - 'Symfony\\Component\\CssSelector\\Parser\\Shortcut\\HashParser' => $vendorDir . '/symfony/css-selector/Parser/Shortcut/HashParser.php', - 'Symfony\\Component\\CssSelector\\Parser\\Token' => $vendorDir . '/symfony/css-selector/Parser/Token.php', - 'Symfony\\Component\\CssSelector\\Parser\\TokenStream' => $vendorDir . '/symfony/css-selector/Parser/TokenStream.php', - 'Symfony\\Component\\CssSelector\\Parser\\Tokenizer\\Tokenizer' => $vendorDir . '/symfony/css-selector/Parser/Tokenizer/Tokenizer.php', - 'Symfony\\Component\\CssSelector\\Parser\\Tokenizer\\TokenizerEscaping' => $vendorDir . '/symfony/css-selector/Parser/Tokenizer/TokenizerEscaping.php', - 'Symfony\\Component\\CssSelector\\Parser\\Tokenizer\\TokenizerPatterns' => $vendorDir . '/symfony/css-selector/Parser/Tokenizer/TokenizerPatterns.php', - 'Symfony\\Component\\CssSelector\\XPath\\Extension\\AbstractExtension' => $vendorDir . '/symfony/css-selector/XPath/Extension/AbstractExtension.php', - 'Symfony\\Component\\CssSelector\\XPath\\Extension\\AttributeMatchingExtension' => $vendorDir . '/symfony/css-selector/XPath/Extension/AttributeMatchingExtension.php', - 'Symfony\\Component\\CssSelector\\XPath\\Extension\\CombinationExtension' => $vendorDir . '/symfony/css-selector/XPath/Extension/CombinationExtension.php', - 'Symfony\\Component\\CssSelector\\XPath\\Extension\\ExtensionInterface' => $vendorDir . '/symfony/css-selector/XPath/Extension/ExtensionInterface.php', - 'Symfony\\Component\\CssSelector\\XPath\\Extension\\FunctionExtension' => $vendorDir . '/symfony/css-selector/XPath/Extension/FunctionExtension.php', - 'Symfony\\Component\\CssSelector\\XPath\\Extension\\HtmlExtension' => $vendorDir . '/symfony/css-selector/XPath/Extension/HtmlExtension.php', - 'Symfony\\Component\\CssSelector\\XPath\\Extension\\NodeExtension' => $vendorDir . '/symfony/css-selector/XPath/Extension/NodeExtension.php', - 'Symfony\\Component\\CssSelector\\XPath\\Extension\\PseudoClassExtension' => $vendorDir . '/symfony/css-selector/XPath/Extension/PseudoClassExtension.php', - 'Symfony\\Component\\CssSelector\\XPath\\Translator' => $vendorDir . '/symfony/css-selector/XPath/Translator.php', - 'Symfony\\Component\\CssSelector\\XPath\\TranslatorInterface' => $vendorDir . '/symfony/css-selector/XPath/TranslatorInterface.php', - 'Symfony\\Component\\CssSelector\\XPath\\XPathExpr' => $vendorDir . '/symfony/css-selector/XPath/XPathExpr.php', - 'Symfony\\Component\\Debug\\BufferingLogger' => $vendorDir . '/symfony/debug/BufferingLogger.php', - 'Symfony\\Component\\Debug\\Debug' => $vendorDir . '/symfony/debug/Debug.php', - 'Symfony\\Component\\Debug\\DebugClassLoader' => $vendorDir . '/symfony/debug/DebugClassLoader.php', - 'Symfony\\Component\\Debug\\ErrorHandler' => $vendorDir . '/symfony/debug/ErrorHandler.php', - 'Symfony\\Component\\Debug\\ExceptionHandler' => $vendorDir . '/symfony/debug/ExceptionHandler.php', - 'Symfony\\Component\\Debug\\Exception\\ClassNotFoundException' => $vendorDir . '/symfony/debug/Exception/ClassNotFoundException.php', - 'Symfony\\Component\\Debug\\Exception\\FatalErrorException' => $vendorDir . '/symfony/debug/Exception/FatalErrorException.php', - 'Symfony\\Component\\Debug\\Exception\\FatalThrowableError' => $vendorDir . '/symfony/debug/Exception/FatalThrowableError.php', - 'Symfony\\Component\\Debug\\Exception\\FlattenException' => $vendorDir . '/symfony/debug/Exception/FlattenException.php', - 'Symfony\\Component\\Debug\\Exception\\OutOfMemoryException' => $vendorDir . '/symfony/debug/Exception/OutOfMemoryException.php', - 'Symfony\\Component\\Debug\\Exception\\SilencedErrorContext' => $vendorDir . '/symfony/debug/Exception/SilencedErrorContext.php', - 'Symfony\\Component\\Debug\\Exception\\UndefinedFunctionException' => $vendorDir . '/symfony/debug/Exception/UndefinedFunctionException.php', - 'Symfony\\Component\\Debug\\Exception\\UndefinedMethodException' => $vendorDir . '/symfony/debug/Exception/UndefinedMethodException.php', - 'Symfony\\Component\\Debug\\FatalErrorHandler\\ClassNotFoundFatalErrorHandler' => $vendorDir . '/symfony/debug/FatalErrorHandler/ClassNotFoundFatalErrorHandler.php', - 'Symfony\\Component\\Debug\\FatalErrorHandler\\FatalErrorHandlerInterface' => $vendorDir . '/symfony/debug/FatalErrorHandler/FatalErrorHandlerInterface.php', - 'Symfony\\Component\\Debug\\FatalErrorHandler\\UndefinedFunctionFatalErrorHandler' => $vendorDir . '/symfony/debug/FatalErrorHandler/UndefinedFunctionFatalErrorHandler.php', - 'Symfony\\Component\\Debug\\FatalErrorHandler\\UndefinedMethodFatalErrorHandler' => $vendorDir . '/symfony/debug/FatalErrorHandler/UndefinedMethodFatalErrorHandler.php', - 'Symfony\\Component\\ErrorHandler\\BufferingLogger' => $vendorDir . '/symfony/error-handler/BufferingLogger.php', - 'Symfony\\Component\\ErrorHandler\\Debug' => $vendorDir . '/symfony/error-handler/Debug.php', - 'Symfony\\Component\\ErrorHandler\\DebugClassLoader' => $vendorDir . '/symfony/error-handler/DebugClassLoader.php', - 'Symfony\\Component\\ErrorHandler\\ErrorEnhancer\\ClassNotFoundErrorEnhancer' => $vendorDir . '/symfony/error-handler/ErrorEnhancer/ClassNotFoundErrorEnhancer.php', - 'Symfony\\Component\\ErrorHandler\\ErrorEnhancer\\ErrorEnhancerInterface' => $vendorDir . '/symfony/error-handler/ErrorEnhancer/ErrorEnhancerInterface.php', - 'Symfony\\Component\\ErrorHandler\\ErrorEnhancer\\UndefinedFunctionErrorEnhancer' => $vendorDir . '/symfony/error-handler/ErrorEnhancer/UndefinedFunctionErrorEnhancer.php', - 'Symfony\\Component\\ErrorHandler\\ErrorEnhancer\\UndefinedMethodErrorEnhancer' => $vendorDir . '/symfony/error-handler/ErrorEnhancer/UndefinedMethodErrorEnhancer.php', - 'Symfony\\Component\\ErrorHandler\\ErrorHandler' => $vendorDir . '/symfony/error-handler/ErrorHandler.php', - 'Symfony\\Component\\ErrorHandler\\ErrorRenderer\\CliErrorRenderer' => $vendorDir . '/symfony/error-handler/ErrorRenderer/CliErrorRenderer.php', - 'Symfony\\Component\\ErrorHandler\\ErrorRenderer\\ErrorRendererInterface' => $vendorDir . '/symfony/error-handler/ErrorRenderer/ErrorRendererInterface.php', - 'Symfony\\Component\\ErrorHandler\\ErrorRenderer\\HtmlErrorRenderer' => $vendorDir . '/symfony/error-handler/ErrorRenderer/HtmlErrorRenderer.php', - 'Symfony\\Component\\ErrorHandler\\ErrorRenderer\\SerializerErrorRenderer' => $vendorDir . '/symfony/error-handler/ErrorRenderer/SerializerErrorRenderer.php', - 'Symfony\\Component\\ErrorHandler\\Error\\ClassNotFoundError' => $vendorDir . '/symfony/error-handler/Error/ClassNotFoundError.php', - 'Symfony\\Component\\ErrorHandler\\Error\\FatalError' => $vendorDir . '/symfony/error-handler/Error/FatalError.php', - 'Symfony\\Component\\ErrorHandler\\Error\\OutOfMemoryError' => $vendorDir . '/symfony/error-handler/Error/OutOfMemoryError.php', - 'Symfony\\Component\\ErrorHandler\\Error\\UndefinedFunctionError' => $vendorDir . '/symfony/error-handler/Error/UndefinedFunctionError.php', - 'Symfony\\Component\\ErrorHandler\\Error\\UndefinedMethodError' => $vendorDir . '/symfony/error-handler/Error/UndefinedMethodError.php', - 'Symfony\\Component\\ErrorHandler\\Exception\\FlattenException' => $vendorDir . '/symfony/error-handler/Exception/FlattenException.php', - 'Symfony\\Component\\ErrorHandler\\Exception\\SilencedErrorContext' => $vendorDir . '/symfony/error-handler/Exception/SilencedErrorContext.php', - 'Symfony\\Component\\ErrorHandler\\ThrowableUtils' => $vendorDir . '/symfony/error-handler/ThrowableUtils.php', - 'Symfony\\Component\\EventDispatcher\\Debug\\TraceableEventDispatcher' => $vendorDir . '/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php', - 'Symfony\\Component\\EventDispatcher\\Debug\\TraceableEventDispatcherInterface' => $vendorDir . '/symfony/event-dispatcher/Debug/TraceableEventDispatcherInterface.php', - 'Symfony\\Component\\EventDispatcher\\Debug\\WrappedListener' => $vendorDir . '/symfony/event-dispatcher/Debug/WrappedListener.php', - 'Symfony\\Component\\EventDispatcher\\DependencyInjection\\AddEventAliasesPass' => $vendorDir . '/symfony/event-dispatcher/DependencyInjection/AddEventAliasesPass.php', - 'Symfony\\Component\\EventDispatcher\\DependencyInjection\\ExtractingEventDispatcher' => $vendorDir . '/symfony/event-dispatcher/DependencyInjection/RegisterListenersPass.php', - 'Symfony\\Component\\EventDispatcher\\DependencyInjection\\RegisterListenersPass' => $vendorDir . '/symfony/event-dispatcher/DependencyInjection/RegisterListenersPass.php', - 'Symfony\\Component\\EventDispatcher\\Event' => $vendorDir . '/symfony/event-dispatcher/Event.php', - 'Symfony\\Component\\EventDispatcher\\EventDispatcher' => $vendorDir . '/symfony/event-dispatcher/EventDispatcher.php', - 'Symfony\\Component\\EventDispatcher\\EventDispatcherInterface' => $vendorDir . '/symfony/event-dispatcher/EventDispatcherInterface.php', - 'Symfony\\Component\\EventDispatcher\\EventSubscriberInterface' => $vendorDir . '/symfony/event-dispatcher/EventSubscriberInterface.php', - 'Symfony\\Component\\EventDispatcher\\GenericEvent' => $vendorDir . '/symfony/event-dispatcher/GenericEvent.php', - 'Symfony\\Component\\EventDispatcher\\ImmutableEventDispatcher' => $vendorDir . '/symfony/event-dispatcher/ImmutableEventDispatcher.php', - 'Symfony\\Component\\EventDispatcher\\LegacyEventDispatcherProxy' => $vendorDir . '/symfony/event-dispatcher/LegacyEventDispatcherProxy.php', - 'Symfony\\Component\\EventDispatcher\\LegacyEventProxy' => $vendorDir . '/symfony/event-dispatcher/LegacyEventProxy.php', - 'Symfony\\Component\\Finder\\Comparator\\Comparator' => $vendorDir . '/symfony/finder/Comparator/Comparator.php', - 'Symfony\\Component\\Finder\\Comparator\\DateComparator' => $vendorDir . '/symfony/finder/Comparator/DateComparator.php', - 'Symfony\\Component\\Finder\\Comparator\\NumberComparator' => $vendorDir . '/symfony/finder/Comparator/NumberComparator.php', - 'Symfony\\Component\\Finder\\Exception\\AccessDeniedException' => $vendorDir . '/symfony/finder/Exception/AccessDeniedException.php', - 'Symfony\\Component\\Finder\\Exception\\DirectoryNotFoundException' => $vendorDir . '/symfony/finder/Exception/DirectoryNotFoundException.php', - 'Symfony\\Component\\Finder\\Finder' => $vendorDir . '/symfony/finder/Finder.php', - 'Symfony\\Component\\Finder\\Gitignore' => $vendorDir . '/symfony/finder/Gitignore.php', - 'Symfony\\Component\\Finder\\Glob' => $vendorDir . '/symfony/finder/Glob.php', - 'Symfony\\Component\\Finder\\Iterator\\CustomFilterIterator' => $vendorDir . '/symfony/finder/Iterator/CustomFilterIterator.php', - 'Symfony\\Component\\Finder\\Iterator\\DateRangeFilterIterator' => $vendorDir . '/symfony/finder/Iterator/DateRangeFilterIterator.php', - 'Symfony\\Component\\Finder\\Iterator\\DepthRangeFilterIterator' => $vendorDir . '/symfony/finder/Iterator/DepthRangeFilterIterator.php', - 'Symfony\\Component\\Finder\\Iterator\\ExcludeDirectoryFilterIterator' => $vendorDir . '/symfony/finder/Iterator/ExcludeDirectoryFilterIterator.php', - 'Symfony\\Component\\Finder\\Iterator\\FileTypeFilterIterator' => $vendorDir . '/symfony/finder/Iterator/FileTypeFilterIterator.php', - 'Symfony\\Component\\Finder\\Iterator\\FilecontentFilterIterator' => $vendorDir . '/symfony/finder/Iterator/FilecontentFilterIterator.php', - 'Symfony\\Component\\Finder\\Iterator\\FilenameFilterIterator' => $vendorDir . '/symfony/finder/Iterator/FilenameFilterIterator.php', - 'Symfony\\Component\\Finder\\Iterator\\MultiplePcreFilterIterator' => $vendorDir . '/symfony/finder/Iterator/MultiplePcreFilterIterator.php', - 'Symfony\\Component\\Finder\\Iterator\\PathFilterIterator' => $vendorDir . '/symfony/finder/Iterator/PathFilterIterator.php', - 'Symfony\\Component\\Finder\\Iterator\\RecursiveDirectoryIterator' => $vendorDir . '/symfony/finder/Iterator/RecursiveDirectoryIterator.php', - 'Symfony\\Component\\Finder\\Iterator\\SizeRangeFilterIterator' => $vendorDir . '/symfony/finder/Iterator/SizeRangeFilterIterator.php', - 'Symfony\\Component\\Finder\\Iterator\\SortableIterator' => $vendorDir . '/symfony/finder/Iterator/SortableIterator.php', - 'Symfony\\Component\\Finder\\SplFileInfo' => $vendorDir . '/symfony/finder/SplFileInfo.php', - 'Symfony\\Component\\HttpFoundation\\AcceptHeader' => $vendorDir . '/symfony/http-foundation/AcceptHeader.php', - 'Symfony\\Component\\HttpFoundation\\AcceptHeaderItem' => $vendorDir . '/symfony/http-foundation/AcceptHeaderItem.php', - 'Symfony\\Component\\HttpFoundation\\ApacheRequest' => $vendorDir . '/symfony/http-foundation/ApacheRequest.php', - 'Symfony\\Component\\HttpFoundation\\BinaryFileResponse' => $vendorDir . '/symfony/http-foundation/BinaryFileResponse.php', - 'Symfony\\Component\\HttpFoundation\\Cookie' => $vendorDir . '/symfony/http-foundation/Cookie.php', - 'Symfony\\Component\\HttpFoundation\\Exception\\ConflictingHeadersException' => $vendorDir . '/symfony/http-foundation/Exception/ConflictingHeadersException.php', - 'Symfony\\Component\\HttpFoundation\\Exception\\RequestExceptionInterface' => $vendorDir . '/symfony/http-foundation/Exception/RequestExceptionInterface.php', - 'Symfony\\Component\\HttpFoundation\\Exception\\SuspiciousOperationException' => $vendorDir . '/symfony/http-foundation/Exception/SuspiciousOperationException.php', - 'Symfony\\Component\\HttpFoundation\\ExpressionRequestMatcher' => $vendorDir . '/symfony/http-foundation/ExpressionRequestMatcher.php', - 'Symfony\\Component\\HttpFoundation\\FileBag' => $vendorDir . '/symfony/http-foundation/FileBag.php', - 'Symfony\\Component\\HttpFoundation\\File\\Exception\\AccessDeniedException' => $vendorDir . '/symfony/http-foundation/File/Exception/AccessDeniedException.php', - 'Symfony\\Component\\HttpFoundation\\File\\Exception\\CannotWriteFileException' => $vendorDir . '/symfony/http-foundation/File/Exception/CannotWriteFileException.php', - 'Symfony\\Component\\HttpFoundation\\File\\Exception\\ExtensionFileException' => $vendorDir . '/symfony/http-foundation/File/Exception/ExtensionFileException.php', - 'Symfony\\Component\\HttpFoundation\\File\\Exception\\FileException' => $vendorDir . '/symfony/http-foundation/File/Exception/FileException.php', - 'Symfony\\Component\\HttpFoundation\\File\\Exception\\FileNotFoundException' => $vendorDir . '/symfony/http-foundation/File/Exception/FileNotFoundException.php', - 'Symfony\\Component\\HttpFoundation\\File\\Exception\\FormSizeFileException' => $vendorDir . '/symfony/http-foundation/File/Exception/FormSizeFileException.php', - 'Symfony\\Component\\HttpFoundation\\File\\Exception\\IniSizeFileException' => $vendorDir . '/symfony/http-foundation/File/Exception/IniSizeFileException.php', - 'Symfony\\Component\\HttpFoundation\\File\\Exception\\NoFileException' => $vendorDir . '/symfony/http-foundation/File/Exception/NoFileException.php', - 'Symfony\\Component\\HttpFoundation\\File\\Exception\\NoTmpDirFileException' => $vendorDir . '/symfony/http-foundation/File/Exception/NoTmpDirFileException.php', - 'Symfony\\Component\\HttpFoundation\\File\\Exception\\PartialFileException' => $vendorDir . '/symfony/http-foundation/File/Exception/PartialFileException.php', - 'Symfony\\Component\\HttpFoundation\\File\\Exception\\UnexpectedTypeException' => $vendorDir . '/symfony/http-foundation/File/Exception/UnexpectedTypeException.php', - 'Symfony\\Component\\HttpFoundation\\File\\Exception\\UploadException' => $vendorDir . '/symfony/http-foundation/File/Exception/UploadException.php', - 'Symfony\\Component\\HttpFoundation\\File\\File' => $vendorDir . '/symfony/http-foundation/File/File.php', - 'Symfony\\Component\\HttpFoundation\\File\\MimeType\\ExtensionGuesser' => $vendorDir . '/symfony/http-foundation/File/MimeType/ExtensionGuesser.php', - 'Symfony\\Component\\HttpFoundation\\File\\MimeType\\ExtensionGuesserInterface' => $vendorDir . '/symfony/http-foundation/File/MimeType/ExtensionGuesserInterface.php', - 'Symfony\\Component\\HttpFoundation\\File\\MimeType\\FileBinaryMimeTypeGuesser' => $vendorDir . '/symfony/http-foundation/File/MimeType/FileBinaryMimeTypeGuesser.php', - 'Symfony\\Component\\HttpFoundation\\File\\MimeType\\FileinfoMimeTypeGuesser' => $vendorDir . '/symfony/http-foundation/File/MimeType/FileinfoMimeTypeGuesser.php', - 'Symfony\\Component\\HttpFoundation\\File\\MimeType\\MimeTypeExtensionGuesser' => $vendorDir . '/symfony/http-foundation/File/MimeType/MimeTypeExtensionGuesser.php', - 'Symfony\\Component\\HttpFoundation\\File\\MimeType\\MimeTypeGuesser' => $vendorDir . '/symfony/http-foundation/File/MimeType/MimeTypeGuesser.php', - 'Symfony\\Component\\HttpFoundation\\File\\MimeType\\MimeTypeGuesserInterface' => $vendorDir . '/symfony/http-foundation/File/MimeType/MimeTypeGuesserInterface.php', - 'Symfony\\Component\\HttpFoundation\\File\\Stream' => $vendorDir . '/symfony/http-foundation/File/Stream.php', - 'Symfony\\Component\\HttpFoundation\\File\\UploadedFile' => $vendorDir . '/symfony/http-foundation/File/UploadedFile.php', - 'Symfony\\Component\\HttpFoundation\\HeaderBag' => $vendorDir . '/symfony/http-foundation/HeaderBag.php', - 'Symfony\\Component\\HttpFoundation\\HeaderUtils' => $vendorDir . '/symfony/http-foundation/HeaderUtils.php', - 'Symfony\\Component\\HttpFoundation\\IpUtils' => $vendorDir . '/symfony/http-foundation/IpUtils.php', - 'Symfony\\Component\\HttpFoundation\\JsonResponse' => $vendorDir . '/symfony/http-foundation/JsonResponse.php', - 'Symfony\\Component\\HttpFoundation\\ParameterBag' => $vendorDir . '/symfony/http-foundation/ParameterBag.php', - 'Symfony\\Component\\HttpFoundation\\RedirectResponse' => $vendorDir . '/symfony/http-foundation/RedirectResponse.php', - 'Symfony\\Component\\HttpFoundation\\Request' => $vendorDir . '/symfony/http-foundation/Request.php', - 'Symfony\\Component\\HttpFoundation\\RequestMatcher' => $vendorDir . '/symfony/http-foundation/RequestMatcher.php', - 'Symfony\\Component\\HttpFoundation\\RequestMatcherInterface' => $vendorDir . '/symfony/http-foundation/RequestMatcherInterface.php', - 'Symfony\\Component\\HttpFoundation\\RequestStack' => $vendorDir . '/symfony/http-foundation/RequestStack.php', - 'Symfony\\Component\\HttpFoundation\\Response' => $vendorDir . '/symfony/http-foundation/Response.php', - 'Symfony\\Component\\HttpFoundation\\ResponseHeaderBag' => $vendorDir . '/symfony/http-foundation/ResponseHeaderBag.php', - 'Symfony\\Component\\HttpFoundation\\ServerBag' => $vendorDir . '/symfony/http-foundation/ServerBag.php', - 'Symfony\\Component\\HttpFoundation\\Session\\Attribute\\AttributeBag' => $vendorDir . '/symfony/http-foundation/Session/Attribute/AttributeBag.php', - 'Symfony\\Component\\HttpFoundation\\Session\\Attribute\\AttributeBagInterface' => $vendorDir . '/symfony/http-foundation/Session/Attribute/AttributeBagInterface.php', - 'Symfony\\Component\\HttpFoundation\\Session\\Attribute\\NamespacedAttributeBag' => $vendorDir . '/symfony/http-foundation/Session/Attribute/NamespacedAttributeBag.php', - 'Symfony\\Component\\HttpFoundation\\Session\\Flash\\AutoExpireFlashBag' => $vendorDir . '/symfony/http-foundation/Session/Flash/AutoExpireFlashBag.php', - 'Symfony\\Component\\HttpFoundation\\Session\\Flash\\FlashBag' => $vendorDir . '/symfony/http-foundation/Session/Flash/FlashBag.php', - 'Symfony\\Component\\HttpFoundation\\Session\\Flash\\FlashBagInterface' => $vendorDir . '/symfony/http-foundation/Session/Flash/FlashBagInterface.php', - 'Symfony\\Component\\HttpFoundation\\Session\\Session' => $vendorDir . '/symfony/http-foundation/Session/Session.php', - 'Symfony\\Component\\HttpFoundation\\Session\\SessionBagInterface' => $vendorDir . '/symfony/http-foundation/Session/SessionBagInterface.php', - 'Symfony\\Component\\HttpFoundation\\Session\\SessionBagProxy' => $vendorDir . '/symfony/http-foundation/Session/SessionBagProxy.php', - 'Symfony\\Component\\HttpFoundation\\Session\\SessionInterface' => $vendorDir . '/symfony/http-foundation/Session/SessionInterface.php', - 'Symfony\\Component\\HttpFoundation\\Session\\SessionUtils' => $vendorDir . '/symfony/http-foundation/Session/SessionUtils.php', - 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\Handler\\AbstractSessionHandler' => $vendorDir . '/symfony/http-foundation/Session/Storage/Handler/AbstractSessionHandler.php', - 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\Handler\\MemcachedSessionHandler' => $vendorDir . '/symfony/http-foundation/Session/Storage/Handler/MemcachedSessionHandler.php', - 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\Handler\\MigratingSessionHandler' => $vendorDir . '/symfony/http-foundation/Session/Storage/Handler/MigratingSessionHandler.php', - 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\Handler\\MongoDbSessionHandler' => $vendorDir . '/symfony/http-foundation/Session/Storage/Handler/MongoDbSessionHandler.php', - 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\Handler\\NativeFileSessionHandler' => $vendorDir . '/symfony/http-foundation/Session/Storage/Handler/NativeFileSessionHandler.php', - 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\Handler\\NullSessionHandler' => $vendorDir . '/symfony/http-foundation/Session/Storage/Handler/NullSessionHandler.php', - 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\Handler\\PdoSessionHandler' => $vendorDir . '/symfony/http-foundation/Session/Storage/Handler/PdoSessionHandler.php', - 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\Handler\\RedisSessionHandler' => $vendorDir . '/symfony/http-foundation/Session/Storage/Handler/RedisSessionHandler.php', - 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\Handler\\SessionHandlerFactory' => $vendorDir . '/symfony/http-foundation/Session/Storage/Handler/SessionHandlerFactory.php', - 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\Handler\\StrictSessionHandler' => $vendorDir . '/symfony/http-foundation/Session/Storage/Handler/StrictSessionHandler.php', - 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\MetadataBag' => $vendorDir . '/symfony/http-foundation/Session/Storage/MetadataBag.php', - 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\MockArraySessionStorage' => $vendorDir . '/symfony/http-foundation/Session/Storage/MockArraySessionStorage.php', - 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\MockFileSessionStorage' => $vendorDir . '/symfony/http-foundation/Session/Storage/MockFileSessionStorage.php', - 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\NativeSessionStorage' => $vendorDir . '/symfony/http-foundation/Session/Storage/NativeSessionStorage.php', - 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\PhpBridgeSessionStorage' => $vendorDir . '/symfony/http-foundation/Session/Storage/PhpBridgeSessionStorage.php', - 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\Proxy\\AbstractProxy' => $vendorDir . '/symfony/http-foundation/Session/Storage/Proxy/AbstractProxy.php', - 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\Proxy\\SessionHandlerProxy' => $vendorDir . '/symfony/http-foundation/Session/Storage/Proxy/SessionHandlerProxy.php', - 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\SessionStorageInterface' => $vendorDir . '/symfony/http-foundation/Session/Storage/SessionStorageInterface.php', - 'Symfony\\Component\\HttpFoundation\\StreamedResponse' => $vendorDir . '/symfony/http-foundation/StreamedResponse.php', - 'Symfony\\Component\\HttpFoundation\\Test\\Constraint\\RequestAttributeValueSame' => $vendorDir . '/symfony/http-foundation/Test/Constraint/RequestAttributeValueSame.php', - 'Symfony\\Component\\HttpFoundation\\Test\\Constraint\\ResponseCookieValueSame' => $vendorDir . '/symfony/http-foundation/Test/Constraint/ResponseCookieValueSame.php', - 'Symfony\\Component\\HttpFoundation\\Test\\Constraint\\ResponseHasCookie' => $vendorDir . '/symfony/http-foundation/Test/Constraint/ResponseHasCookie.php', - 'Symfony\\Component\\HttpFoundation\\Test\\Constraint\\ResponseHasHeader' => $vendorDir . '/symfony/http-foundation/Test/Constraint/ResponseHasHeader.php', - 'Symfony\\Component\\HttpFoundation\\Test\\Constraint\\ResponseHeaderSame' => $vendorDir . '/symfony/http-foundation/Test/Constraint/ResponseHeaderSame.php', - 'Symfony\\Component\\HttpFoundation\\Test\\Constraint\\ResponseIsRedirected' => $vendorDir . '/symfony/http-foundation/Test/Constraint/ResponseIsRedirected.php', - 'Symfony\\Component\\HttpFoundation\\Test\\Constraint\\ResponseIsSuccessful' => $vendorDir . '/symfony/http-foundation/Test/Constraint/ResponseIsSuccessful.php', - 'Symfony\\Component\\HttpFoundation\\Test\\Constraint\\ResponseStatusCodeSame' => $vendorDir . '/symfony/http-foundation/Test/Constraint/ResponseStatusCodeSame.php', - 'Symfony\\Component\\HttpFoundation\\UrlHelper' => $vendorDir . '/symfony/http-foundation/UrlHelper.php', - 'Symfony\\Component\\HttpKernel\\Bundle\\Bundle' => $vendorDir . '/symfony/http-kernel/Bundle/Bundle.php', - 'Symfony\\Component\\HttpKernel\\Bundle\\BundleInterface' => $vendorDir . '/symfony/http-kernel/Bundle/BundleInterface.php', - 'Symfony\\Component\\HttpKernel\\CacheClearer\\CacheClearerInterface' => $vendorDir . '/symfony/http-kernel/CacheClearer/CacheClearerInterface.php', - 'Symfony\\Component\\HttpKernel\\CacheClearer\\ChainCacheClearer' => $vendorDir . '/symfony/http-kernel/CacheClearer/ChainCacheClearer.php', - 'Symfony\\Component\\HttpKernel\\CacheClearer\\Psr6CacheClearer' => $vendorDir . '/symfony/http-kernel/CacheClearer/Psr6CacheClearer.php', - 'Symfony\\Component\\HttpKernel\\CacheWarmer\\CacheWarmer' => $vendorDir . '/symfony/http-kernel/CacheWarmer/CacheWarmer.php', - 'Symfony\\Component\\HttpKernel\\CacheWarmer\\CacheWarmerAggregate' => $vendorDir . '/symfony/http-kernel/CacheWarmer/CacheWarmerAggregate.php', - 'Symfony\\Component\\HttpKernel\\CacheWarmer\\CacheWarmerInterface' => $vendorDir . '/symfony/http-kernel/CacheWarmer/CacheWarmerInterface.php', - 'Symfony\\Component\\HttpKernel\\CacheWarmer\\WarmableInterface' => $vendorDir . '/symfony/http-kernel/CacheWarmer/WarmableInterface.php', - 'Symfony\\Component\\HttpKernel\\Client' => $vendorDir . '/symfony/http-kernel/Client.php', - 'Symfony\\Component\\HttpKernel\\Config\\FileLocator' => $vendorDir . '/symfony/http-kernel/Config/FileLocator.php', - 'Symfony\\Component\\HttpKernel\\ControllerMetadata\\ArgumentMetadata' => $vendorDir . '/symfony/http-kernel/ControllerMetadata/ArgumentMetadata.php', - 'Symfony\\Component\\HttpKernel\\ControllerMetadata\\ArgumentMetadataFactory' => $vendorDir . '/symfony/http-kernel/ControllerMetadata/ArgumentMetadataFactory.php', - 'Symfony\\Component\\HttpKernel\\ControllerMetadata\\ArgumentMetadataFactoryInterface' => $vendorDir . '/symfony/http-kernel/ControllerMetadata/ArgumentMetadataFactoryInterface.php', - 'Symfony\\Component\\HttpKernel\\Controller\\ArgumentResolver' => $vendorDir . '/symfony/http-kernel/Controller/ArgumentResolver.php', - 'Symfony\\Component\\HttpKernel\\Controller\\ArgumentResolverInterface' => $vendorDir . '/symfony/http-kernel/Controller/ArgumentResolverInterface.php', - 'Symfony\\Component\\HttpKernel\\Controller\\ArgumentResolver\\DefaultValueResolver' => $vendorDir . '/symfony/http-kernel/Controller/ArgumentResolver/DefaultValueResolver.php', - 'Symfony\\Component\\HttpKernel\\Controller\\ArgumentResolver\\NotTaggedControllerValueResolver' => $vendorDir . '/symfony/http-kernel/Controller/ArgumentResolver/NotTaggedControllerValueResolver.php', - 'Symfony\\Component\\HttpKernel\\Controller\\ArgumentResolver\\RequestAttributeValueResolver' => $vendorDir . '/symfony/http-kernel/Controller/ArgumentResolver/RequestAttributeValueResolver.php', - 'Symfony\\Component\\HttpKernel\\Controller\\ArgumentResolver\\RequestValueResolver' => $vendorDir . '/symfony/http-kernel/Controller/ArgumentResolver/RequestValueResolver.php', - 'Symfony\\Component\\HttpKernel\\Controller\\ArgumentResolver\\ServiceValueResolver' => $vendorDir . '/symfony/http-kernel/Controller/ArgumentResolver/ServiceValueResolver.php', - 'Symfony\\Component\\HttpKernel\\Controller\\ArgumentResolver\\SessionValueResolver' => $vendorDir . '/symfony/http-kernel/Controller/ArgumentResolver/SessionValueResolver.php', - 'Symfony\\Component\\HttpKernel\\Controller\\ArgumentResolver\\TraceableValueResolver' => $vendorDir . '/symfony/http-kernel/Controller/ArgumentResolver/TraceableValueResolver.php', - 'Symfony\\Component\\HttpKernel\\Controller\\ArgumentResolver\\VariadicValueResolver' => $vendorDir . '/symfony/http-kernel/Controller/ArgumentResolver/VariadicValueResolver.php', - 'Symfony\\Component\\HttpKernel\\Controller\\ArgumentValueResolverInterface' => $vendorDir . '/symfony/http-kernel/Controller/ArgumentValueResolverInterface.php', - 'Symfony\\Component\\HttpKernel\\Controller\\ContainerControllerResolver' => $vendorDir . '/symfony/http-kernel/Controller/ContainerControllerResolver.php', - 'Symfony\\Component\\HttpKernel\\Controller\\ControllerReference' => $vendorDir . '/symfony/http-kernel/Controller/ControllerReference.php', - 'Symfony\\Component\\HttpKernel\\Controller\\ControllerResolver' => $vendorDir . '/symfony/http-kernel/Controller/ControllerResolver.php', - 'Symfony\\Component\\HttpKernel\\Controller\\ControllerResolverInterface' => $vendorDir . '/symfony/http-kernel/Controller/ControllerResolverInterface.php', - 'Symfony\\Component\\HttpKernel\\Controller\\ErrorController' => $vendorDir . '/symfony/http-kernel/Controller/ErrorController.php', - 'Symfony\\Component\\HttpKernel\\Controller\\TraceableArgumentResolver' => $vendorDir . '/symfony/http-kernel/Controller/TraceableArgumentResolver.php', - 'Symfony\\Component\\HttpKernel\\Controller\\TraceableControllerResolver' => $vendorDir . '/symfony/http-kernel/Controller/TraceableControllerResolver.php', - 'Symfony\\Component\\HttpKernel\\DataCollector\\AjaxDataCollector' => $vendorDir . '/symfony/http-kernel/DataCollector/AjaxDataCollector.php', - 'Symfony\\Component\\HttpKernel\\DataCollector\\ConfigDataCollector' => $vendorDir . '/symfony/http-kernel/DataCollector/ConfigDataCollector.php', - 'Symfony\\Component\\HttpKernel\\DataCollector\\DataCollector' => $vendorDir . '/symfony/http-kernel/DataCollector/DataCollector.php', - 'Symfony\\Component\\HttpKernel\\DataCollector\\DataCollectorInterface' => $vendorDir . '/symfony/http-kernel/DataCollector/DataCollectorInterface.php', - 'Symfony\\Component\\HttpKernel\\DataCollector\\DumpDataCollector' => $vendorDir . '/symfony/http-kernel/DataCollector/DumpDataCollector.php', - 'Symfony\\Component\\HttpKernel\\DataCollector\\EventDataCollector' => $vendorDir . '/symfony/http-kernel/DataCollector/EventDataCollector.php', - 'Symfony\\Component\\HttpKernel\\DataCollector\\ExceptionDataCollector' => $vendorDir . '/symfony/http-kernel/DataCollector/ExceptionDataCollector.php', - 'Symfony\\Component\\HttpKernel\\DataCollector\\LateDataCollectorInterface' => $vendorDir . '/symfony/http-kernel/DataCollector/LateDataCollectorInterface.php', - 'Symfony\\Component\\HttpKernel\\DataCollector\\LoggerDataCollector' => $vendorDir . '/symfony/http-kernel/DataCollector/LoggerDataCollector.php', - 'Symfony\\Component\\HttpKernel\\DataCollector\\MemoryDataCollector' => $vendorDir . '/symfony/http-kernel/DataCollector/MemoryDataCollector.php', - 'Symfony\\Component\\HttpKernel\\DataCollector\\RequestDataCollector' => $vendorDir . '/symfony/http-kernel/DataCollector/RequestDataCollector.php', - 'Symfony\\Component\\HttpKernel\\DataCollector\\RouterDataCollector' => $vendorDir . '/symfony/http-kernel/DataCollector/RouterDataCollector.php', - 'Symfony\\Component\\HttpKernel\\DataCollector\\TimeDataCollector' => $vendorDir . '/symfony/http-kernel/DataCollector/TimeDataCollector.php', - 'Symfony\\Component\\HttpKernel\\Debug\\FileLinkFormatter' => $vendorDir . '/symfony/http-kernel/Debug/FileLinkFormatter.php', - 'Symfony\\Component\\HttpKernel\\Debug\\TraceableEventDispatcher' => $vendorDir . '/symfony/http-kernel/Debug/TraceableEventDispatcher.php', - 'Symfony\\Component\\HttpKernel\\DependencyInjection\\AddAnnotatedClassesToCachePass' => $vendorDir . '/symfony/http-kernel/DependencyInjection/AddAnnotatedClassesToCachePass.php', - 'Symfony\\Component\\HttpKernel\\DependencyInjection\\ConfigurableExtension' => $vendorDir . '/symfony/http-kernel/DependencyInjection/ConfigurableExtension.php', - 'Symfony\\Component\\HttpKernel\\DependencyInjection\\ControllerArgumentValueResolverPass' => $vendorDir . '/symfony/http-kernel/DependencyInjection/ControllerArgumentValueResolverPass.php', - 'Symfony\\Component\\HttpKernel\\DependencyInjection\\Extension' => $vendorDir . '/symfony/http-kernel/DependencyInjection/Extension.php', - 'Symfony\\Component\\HttpKernel\\DependencyInjection\\FragmentRendererPass' => $vendorDir . '/symfony/http-kernel/DependencyInjection/FragmentRendererPass.php', - 'Symfony\\Component\\HttpKernel\\DependencyInjection\\LazyLoadingFragmentHandler' => $vendorDir . '/symfony/http-kernel/DependencyInjection/LazyLoadingFragmentHandler.php', - 'Symfony\\Component\\HttpKernel\\DependencyInjection\\LoggerPass' => $vendorDir . '/symfony/http-kernel/DependencyInjection/LoggerPass.php', - 'Symfony\\Component\\HttpKernel\\DependencyInjection\\MergeExtensionConfigurationPass' => $vendorDir . '/symfony/http-kernel/DependencyInjection/MergeExtensionConfigurationPass.php', - 'Symfony\\Component\\HttpKernel\\DependencyInjection\\RegisterControllerArgumentLocatorsPass' => $vendorDir . '/symfony/http-kernel/DependencyInjection/RegisterControllerArgumentLocatorsPass.php', - 'Symfony\\Component\\HttpKernel\\DependencyInjection\\RegisterLocaleAwareServicesPass' => $vendorDir . '/symfony/http-kernel/DependencyInjection/RegisterLocaleAwareServicesPass.php', - 'Symfony\\Component\\HttpKernel\\DependencyInjection\\RemoveEmptyControllerArgumentLocatorsPass' => $vendorDir . '/symfony/http-kernel/DependencyInjection/RemoveEmptyControllerArgumentLocatorsPass.php', - 'Symfony\\Component\\HttpKernel\\DependencyInjection\\ResettableServicePass' => $vendorDir . '/symfony/http-kernel/DependencyInjection/ResettableServicePass.php', - 'Symfony\\Component\\HttpKernel\\DependencyInjection\\ServicesResetter' => $vendorDir . '/symfony/http-kernel/DependencyInjection/ServicesResetter.php', - 'Symfony\\Component\\HttpKernel\\EventListener\\AbstractSessionListener' => $vendorDir . '/symfony/http-kernel/EventListener/AbstractSessionListener.php', - 'Symfony\\Component\\HttpKernel\\EventListener\\AbstractTestSessionListener' => $vendorDir . '/symfony/http-kernel/EventListener/AbstractTestSessionListener.php', - 'Symfony\\Component\\HttpKernel\\EventListener\\AddRequestFormatsListener' => $vendorDir . '/symfony/http-kernel/EventListener/AddRequestFormatsListener.php', - 'Symfony\\Component\\HttpKernel\\EventListener\\DebugHandlersListener' => $vendorDir . '/symfony/http-kernel/EventListener/DebugHandlersListener.php', - 'Symfony\\Component\\HttpKernel\\EventListener\\DisallowRobotsIndexingListener' => $vendorDir . '/symfony/http-kernel/EventListener/DisallowRobotsIndexingListener.php', - 'Symfony\\Component\\HttpKernel\\EventListener\\DumpListener' => $vendorDir . '/symfony/http-kernel/EventListener/DumpListener.php', - 'Symfony\\Component\\HttpKernel\\EventListener\\ErrorListener' => $vendorDir . '/symfony/http-kernel/EventListener/ErrorListener.php', - 'Symfony\\Component\\HttpKernel\\EventListener\\ExceptionListener' => $vendorDir . '/symfony/http-kernel/EventListener/ExceptionListener.php', - 'Symfony\\Component\\HttpKernel\\EventListener\\FragmentListener' => $vendorDir . '/symfony/http-kernel/EventListener/FragmentListener.php', - 'Symfony\\Component\\HttpKernel\\EventListener\\LocaleAwareListener' => $vendorDir . '/symfony/http-kernel/EventListener/LocaleAwareListener.php', - 'Symfony\\Component\\HttpKernel\\EventListener\\LocaleListener' => $vendorDir . '/symfony/http-kernel/EventListener/LocaleListener.php', - 'Symfony\\Component\\HttpKernel\\EventListener\\ProfilerListener' => $vendorDir . '/symfony/http-kernel/EventListener/ProfilerListener.php', - 'Symfony\\Component\\HttpKernel\\EventListener\\ResponseListener' => $vendorDir . '/symfony/http-kernel/EventListener/ResponseListener.php', - 'Symfony\\Component\\HttpKernel\\EventListener\\RouterListener' => $vendorDir . '/symfony/http-kernel/EventListener/RouterListener.php', - 'Symfony\\Component\\HttpKernel\\EventListener\\SaveSessionListener' => $vendorDir . '/symfony/http-kernel/EventListener/SaveSessionListener.php', - 'Symfony\\Component\\HttpKernel\\EventListener\\SessionListener' => $vendorDir . '/symfony/http-kernel/EventListener/SessionListener.php', - 'Symfony\\Component\\HttpKernel\\EventListener\\StreamedResponseListener' => $vendorDir . '/symfony/http-kernel/EventListener/StreamedResponseListener.php', - 'Symfony\\Component\\HttpKernel\\EventListener\\SurrogateListener' => $vendorDir . '/symfony/http-kernel/EventListener/SurrogateListener.php', - 'Symfony\\Component\\HttpKernel\\EventListener\\TestSessionListener' => $vendorDir . '/symfony/http-kernel/EventListener/TestSessionListener.php', - 'Symfony\\Component\\HttpKernel\\EventListener\\TranslatorListener' => $vendorDir . '/symfony/http-kernel/EventListener/TranslatorListener.php', - 'Symfony\\Component\\HttpKernel\\EventListener\\ValidateRequestListener' => $vendorDir . '/symfony/http-kernel/EventListener/ValidateRequestListener.php', - 'Symfony\\Component\\HttpKernel\\Event\\ControllerArgumentsEvent' => $vendorDir . '/symfony/http-kernel/Event/ControllerArgumentsEvent.php', - 'Symfony\\Component\\HttpKernel\\Event\\ControllerEvent' => $vendorDir . '/symfony/http-kernel/Event/ControllerEvent.php', - 'Symfony\\Component\\HttpKernel\\Event\\ExceptionEvent' => $vendorDir . '/symfony/http-kernel/Event/ExceptionEvent.php', - 'Symfony\\Component\\HttpKernel\\Event\\FilterControllerArgumentsEvent' => $vendorDir . '/symfony/http-kernel/Event/FilterControllerArgumentsEvent.php', - 'Symfony\\Component\\HttpKernel\\Event\\FilterControllerEvent' => $vendorDir . '/symfony/http-kernel/Event/FilterControllerEvent.php', - 'Symfony\\Component\\HttpKernel\\Event\\FilterResponseEvent' => $vendorDir . '/symfony/http-kernel/Event/FilterResponseEvent.php', - 'Symfony\\Component\\HttpKernel\\Event\\FinishRequestEvent' => $vendorDir . '/symfony/http-kernel/Event/FinishRequestEvent.php', - 'Symfony\\Component\\HttpKernel\\Event\\GetResponseEvent' => $vendorDir . '/symfony/http-kernel/Event/GetResponseEvent.php', - 'Symfony\\Component\\HttpKernel\\Event\\GetResponseForControllerResultEvent' => $vendorDir . '/symfony/http-kernel/Event/GetResponseForControllerResultEvent.php', - 'Symfony\\Component\\HttpKernel\\Event\\GetResponseForExceptionEvent' => $vendorDir . '/symfony/http-kernel/Event/GetResponseForExceptionEvent.php', - 'Symfony\\Component\\HttpKernel\\Event\\KernelEvent' => $vendorDir . '/symfony/http-kernel/Event/KernelEvent.php', - 'Symfony\\Component\\HttpKernel\\Event\\PostResponseEvent' => $vendorDir . '/symfony/http-kernel/Event/PostResponseEvent.php', - 'Symfony\\Component\\HttpKernel\\Event\\RequestEvent' => $vendorDir . '/symfony/http-kernel/Event/RequestEvent.php', - 'Symfony\\Component\\HttpKernel\\Event\\ResponseEvent' => $vendorDir . '/symfony/http-kernel/Event/ResponseEvent.php', - 'Symfony\\Component\\HttpKernel\\Event\\TerminateEvent' => $vendorDir . '/symfony/http-kernel/Event/TerminateEvent.php', - 'Symfony\\Component\\HttpKernel\\Event\\ViewEvent' => $vendorDir . '/symfony/http-kernel/Event/ViewEvent.php', - 'Symfony\\Component\\HttpKernel\\Exception\\AccessDeniedHttpException' => $vendorDir . '/symfony/http-kernel/Exception/AccessDeniedHttpException.php', - 'Symfony\\Component\\HttpKernel\\Exception\\BadRequestHttpException' => $vendorDir . '/symfony/http-kernel/Exception/BadRequestHttpException.php', - 'Symfony\\Component\\HttpKernel\\Exception\\ConflictHttpException' => $vendorDir . '/symfony/http-kernel/Exception/ConflictHttpException.php', - 'Symfony\\Component\\HttpKernel\\Exception\\ControllerDoesNotReturnResponseException' => $vendorDir . '/symfony/http-kernel/Exception/ControllerDoesNotReturnResponseException.php', - 'Symfony\\Component\\HttpKernel\\Exception\\GoneHttpException' => $vendorDir . '/symfony/http-kernel/Exception/GoneHttpException.php', - 'Symfony\\Component\\HttpKernel\\Exception\\HttpException' => $vendorDir . '/symfony/http-kernel/Exception/HttpException.php', - 'Symfony\\Component\\HttpKernel\\Exception\\HttpExceptionInterface' => $vendorDir . '/symfony/http-kernel/Exception/HttpExceptionInterface.php', - 'Symfony\\Component\\HttpKernel\\Exception\\LengthRequiredHttpException' => $vendorDir . '/symfony/http-kernel/Exception/LengthRequiredHttpException.php', - 'Symfony\\Component\\HttpKernel\\Exception\\MethodNotAllowedHttpException' => $vendorDir . '/symfony/http-kernel/Exception/MethodNotAllowedHttpException.php', - 'Symfony\\Component\\HttpKernel\\Exception\\NotAcceptableHttpException' => $vendorDir . '/symfony/http-kernel/Exception/NotAcceptableHttpException.php', - 'Symfony\\Component\\HttpKernel\\Exception\\NotFoundHttpException' => $vendorDir . '/symfony/http-kernel/Exception/NotFoundHttpException.php', - 'Symfony\\Component\\HttpKernel\\Exception\\PreconditionFailedHttpException' => $vendorDir . '/symfony/http-kernel/Exception/PreconditionFailedHttpException.php', - 'Symfony\\Component\\HttpKernel\\Exception\\PreconditionRequiredHttpException' => $vendorDir . '/symfony/http-kernel/Exception/PreconditionRequiredHttpException.php', - 'Symfony\\Component\\HttpKernel\\Exception\\ServiceUnavailableHttpException' => $vendorDir . '/symfony/http-kernel/Exception/ServiceUnavailableHttpException.php', - 'Symfony\\Component\\HttpKernel\\Exception\\TooManyRequestsHttpException' => $vendorDir . '/symfony/http-kernel/Exception/TooManyRequestsHttpException.php', - 'Symfony\\Component\\HttpKernel\\Exception\\UnauthorizedHttpException' => $vendorDir . '/symfony/http-kernel/Exception/UnauthorizedHttpException.php', - 'Symfony\\Component\\HttpKernel\\Exception\\UnprocessableEntityHttpException' => $vendorDir . '/symfony/http-kernel/Exception/UnprocessableEntityHttpException.php', - 'Symfony\\Component\\HttpKernel\\Exception\\UnsupportedMediaTypeHttpException' => $vendorDir . '/symfony/http-kernel/Exception/UnsupportedMediaTypeHttpException.php', - 'Symfony\\Component\\HttpKernel\\Fragment\\AbstractSurrogateFragmentRenderer' => $vendorDir . '/symfony/http-kernel/Fragment/AbstractSurrogateFragmentRenderer.php', - 'Symfony\\Component\\HttpKernel\\Fragment\\EsiFragmentRenderer' => $vendorDir . '/symfony/http-kernel/Fragment/EsiFragmentRenderer.php', - 'Symfony\\Component\\HttpKernel\\Fragment\\FragmentHandler' => $vendorDir . '/symfony/http-kernel/Fragment/FragmentHandler.php', - 'Symfony\\Component\\HttpKernel\\Fragment\\FragmentRendererInterface' => $vendorDir . '/symfony/http-kernel/Fragment/FragmentRendererInterface.php', - 'Symfony\\Component\\HttpKernel\\Fragment\\HIncludeFragmentRenderer' => $vendorDir . '/symfony/http-kernel/Fragment/HIncludeFragmentRenderer.php', - 'Symfony\\Component\\HttpKernel\\Fragment\\InlineFragmentRenderer' => $vendorDir . '/symfony/http-kernel/Fragment/InlineFragmentRenderer.php', - 'Symfony\\Component\\HttpKernel\\Fragment\\RoutableFragmentRenderer' => $vendorDir . '/symfony/http-kernel/Fragment/RoutableFragmentRenderer.php', - 'Symfony\\Component\\HttpKernel\\Fragment\\SsiFragmentRenderer' => $vendorDir . '/symfony/http-kernel/Fragment/SsiFragmentRenderer.php', - 'Symfony\\Component\\HttpKernel\\HttpCache\\AbstractSurrogate' => $vendorDir . '/symfony/http-kernel/HttpCache/AbstractSurrogate.php', - 'Symfony\\Component\\HttpKernel\\HttpCache\\Esi' => $vendorDir . '/symfony/http-kernel/HttpCache/Esi.php', - 'Symfony\\Component\\HttpKernel\\HttpCache\\HttpCache' => $vendorDir . '/symfony/http-kernel/HttpCache/HttpCache.php', - 'Symfony\\Component\\HttpKernel\\HttpCache\\ResponseCacheStrategy' => $vendorDir . '/symfony/http-kernel/HttpCache/ResponseCacheStrategy.php', - 'Symfony\\Component\\HttpKernel\\HttpCache\\ResponseCacheStrategyInterface' => $vendorDir . '/symfony/http-kernel/HttpCache/ResponseCacheStrategyInterface.php', - 'Symfony\\Component\\HttpKernel\\HttpCache\\Ssi' => $vendorDir . '/symfony/http-kernel/HttpCache/Ssi.php', - 'Symfony\\Component\\HttpKernel\\HttpCache\\Store' => $vendorDir . '/symfony/http-kernel/HttpCache/Store.php', - 'Symfony\\Component\\HttpKernel\\HttpCache\\StoreInterface' => $vendorDir . '/symfony/http-kernel/HttpCache/StoreInterface.php', - 'Symfony\\Component\\HttpKernel\\HttpCache\\SubRequestHandler' => $vendorDir . '/symfony/http-kernel/HttpCache/SubRequestHandler.php', - 'Symfony\\Component\\HttpKernel\\HttpCache\\SurrogateInterface' => $vendorDir . '/symfony/http-kernel/HttpCache/SurrogateInterface.php', - 'Symfony\\Component\\HttpKernel\\HttpClientKernel' => $vendorDir . '/symfony/http-kernel/HttpClientKernel.php', - 'Symfony\\Component\\HttpKernel\\HttpKernel' => $vendorDir . '/symfony/http-kernel/HttpKernel.php', - 'Symfony\\Component\\HttpKernel\\HttpKernelBrowser' => $vendorDir . '/symfony/http-kernel/HttpKernelBrowser.php', - 'Symfony\\Component\\HttpKernel\\HttpKernelInterface' => $vendorDir . '/symfony/http-kernel/HttpKernelInterface.php', - 'Symfony\\Component\\HttpKernel\\Kernel' => $vendorDir . '/symfony/http-kernel/Kernel.php', - 'Symfony\\Component\\HttpKernel\\KernelEvents' => $vendorDir . '/symfony/http-kernel/KernelEvents.php', - 'Symfony\\Component\\HttpKernel\\KernelInterface' => $vendorDir . '/symfony/http-kernel/KernelInterface.php', - 'Symfony\\Component\\HttpKernel\\Log\\DebugLoggerInterface' => $vendorDir . '/symfony/http-kernel/Log/DebugLoggerInterface.php', - 'Symfony\\Component\\HttpKernel\\Log\\Logger' => $vendorDir . '/symfony/http-kernel/Log/Logger.php', - 'Symfony\\Component\\HttpKernel\\Profiler\\FileProfilerStorage' => $vendorDir . '/symfony/http-kernel/Profiler/FileProfilerStorage.php', - 'Symfony\\Component\\HttpKernel\\Profiler\\Profile' => $vendorDir . '/symfony/http-kernel/Profiler/Profile.php', - 'Symfony\\Component\\HttpKernel\\Profiler\\Profiler' => $vendorDir . '/symfony/http-kernel/Profiler/Profiler.php', - 'Symfony\\Component\\HttpKernel\\Profiler\\ProfilerStorageInterface' => $vendorDir . '/symfony/http-kernel/Profiler/ProfilerStorageInterface.php', - 'Symfony\\Component\\HttpKernel\\RebootableInterface' => $vendorDir . '/symfony/http-kernel/RebootableInterface.php', - 'Symfony\\Component\\HttpKernel\\TerminableInterface' => $vendorDir . '/symfony/http-kernel/TerminableInterface.php', - 'Symfony\\Component\\HttpKernel\\UriSigner' => $vendorDir . '/symfony/http-kernel/UriSigner.php', - 'Symfony\\Component\\Mime\\Address' => $vendorDir . '/symfony/mime/Address.php', - 'Symfony\\Component\\Mime\\BodyRendererInterface' => $vendorDir . '/symfony/mime/BodyRendererInterface.php', - 'Symfony\\Component\\Mime\\CharacterStream' => $vendorDir . '/symfony/mime/CharacterStream.php', - 'Symfony\\Component\\Mime\\Crypto\\SMime' => $vendorDir . '/symfony/mime/Crypto/SMime.php', - 'Symfony\\Component\\Mime\\Crypto\\SMimeEncrypter' => $vendorDir . '/symfony/mime/Crypto/SMimeEncrypter.php', - 'Symfony\\Component\\Mime\\Crypto\\SMimeSigner' => $vendorDir . '/symfony/mime/Crypto/SMimeSigner.php', - 'Symfony\\Component\\Mime\\DependencyInjection\\AddMimeTypeGuesserPass' => $vendorDir . '/symfony/mime/DependencyInjection/AddMimeTypeGuesserPass.php', - 'Symfony\\Component\\Mime\\Email' => $vendorDir . '/symfony/mime/Email.php', - 'Symfony\\Component\\Mime\\Encoder\\AddressEncoderInterface' => $vendorDir . '/symfony/mime/Encoder/AddressEncoderInterface.php', - 'Symfony\\Component\\Mime\\Encoder\\Base64ContentEncoder' => $vendorDir . '/symfony/mime/Encoder/Base64ContentEncoder.php', - 'Symfony\\Component\\Mime\\Encoder\\Base64Encoder' => $vendorDir . '/symfony/mime/Encoder/Base64Encoder.php', - 'Symfony\\Component\\Mime\\Encoder\\Base64MimeHeaderEncoder' => $vendorDir . '/symfony/mime/Encoder/Base64MimeHeaderEncoder.php', - 'Symfony\\Component\\Mime\\Encoder\\ContentEncoderInterface' => $vendorDir . '/symfony/mime/Encoder/ContentEncoderInterface.php', - 'Symfony\\Component\\Mime\\Encoder\\EightBitContentEncoder' => $vendorDir . '/symfony/mime/Encoder/EightBitContentEncoder.php', - 'Symfony\\Component\\Mime\\Encoder\\EncoderInterface' => $vendorDir . '/symfony/mime/Encoder/EncoderInterface.php', - 'Symfony\\Component\\Mime\\Encoder\\IdnAddressEncoder' => $vendorDir . '/symfony/mime/Encoder/IdnAddressEncoder.php', - 'Symfony\\Component\\Mime\\Encoder\\MimeHeaderEncoderInterface' => $vendorDir . '/symfony/mime/Encoder/MimeHeaderEncoderInterface.php', - 'Symfony\\Component\\Mime\\Encoder\\QpContentEncoder' => $vendorDir . '/symfony/mime/Encoder/QpContentEncoder.php', - 'Symfony\\Component\\Mime\\Encoder\\QpEncoder' => $vendorDir . '/symfony/mime/Encoder/QpEncoder.php', - 'Symfony\\Component\\Mime\\Encoder\\QpMimeHeaderEncoder' => $vendorDir . '/symfony/mime/Encoder/QpMimeHeaderEncoder.php', - 'Symfony\\Component\\Mime\\Encoder\\Rfc2231Encoder' => $vendorDir . '/symfony/mime/Encoder/Rfc2231Encoder.php', - 'Symfony\\Component\\Mime\\Exception\\AddressEncoderException' => $vendorDir . '/symfony/mime/Exception/AddressEncoderException.php', - 'Symfony\\Component\\Mime\\Exception\\ExceptionInterface' => $vendorDir . '/symfony/mime/Exception/ExceptionInterface.php', - 'Symfony\\Component\\Mime\\Exception\\InvalidArgumentException' => $vendorDir . '/symfony/mime/Exception/InvalidArgumentException.php', - 'Symfony\\Component\\Mime\\Exception\\LogicException' => $vendorDir . '/symfony/mime/Exception/LogicException.php', - 'Symfony\\Component\\Mime\\Exception\\RfcComplianceException' => $vendorDir . '/symfony/mime/Exception/RfcComplianceException.php', - 'Symfony\\Component\\Mime\\Exception\\RuntimeException' => $vendorDir . '/symfony/mime/Exception/RuntimeException.php', - 'Symfony\\Component\\Mime\\FileBinaryMimeTypeGuesser' => $vendorDir . '/symfony/mime/FileBinaryMimeTypeGuesser.php', - 'Symfony\\Component\\Mime\\FileinfoMimeTypeGuesser' => $vendorDir . '/symfony/mime/FileinfoMimeTypeGuesser.php', - 'Symfony\\Component\\Mime\\Header\\AbstractHeader' => $vendorDir . '/symfony/mime/Header/AbstractHeader.php', - 'Symfony\\Component\\Mime\\Header\\DateHeader' => $vendorDir . '/symfony/mime/Header/DateHeader.php', - 'Symfony\\Component\\Mime\\Header\\HeaderInterface' => $vendorDir . '/symfony/mime/Header/HeaderInterface.php', - 'Symfony\\Component\\Mime\\Header\\Headers' => $vendorDir . '/symfony/mime/Header/Headers.php', - 'Symfony\\Component\\Mime\\Header\\IdentificationHeader' => $vendorDir . '/symfony/mime/Header/IdentificationHeader.php', - 'Symfony\\Component\\Mime\\Header\\MailboxHeader' => $vendorDir . '/symfony/mime/Header/MailboxHeader.php', - 'Symfony\\Component\\Mime\\Header\\MailboxListHeader' => $vendorDir . '/symfony/mime/Header/MailboxListHeader.php', - 'Symfony\\Component\\Mime\\Header\\ParameterizedHeader' => $vendorDir . '/symfony/mime/Header/ParameterizedHeader.php', - 'Symfony\\Component\\Mime\\Header\\PathHeader' => $vendorDir . '/symfony/mime/Header/PathHeader.php', - 'Symfony\\Component\\Mime\\Header\\UnstructuredHeader' => $vendorDir . '/symfony/mime/Header/UnstructuredHeader.php', - 'Symfony\\Component\\Mime\\Message' => $vendorDir . '/symfony/mime/Message.php', - 'Symfony\\Component\\Mime\\MessageConverter' => $vendorDir . '/symfony/mime/MessageConverter.php', - 'Symfony\\Component\\Mime\\MimeTypeGuesserInterface' => $vendorDir . '/symfony/mime/MimeTypeGuesserInterface.php', - 'Symfony\\Component\\Mime\\MimeTypes' => $vendorDir . '/symfony/mime/MimeTypes.php', - 'Symfony\\Component\\Mime\\MimeTypesInterface' => $vendorDir . '/symfony/mime/MimeTypesInterface.php', - 'Symfony\\Component\\Mime\\Part\\AbstractMultipartPart' => $vendorDir . '/symfony/mime/Part/AbstractMultipartPart.php', - 'Symfony\\Component\\Mime\\Part\\AbstractPart' => $vendorDir . '/symfony/mime/Part/AbstractPart.php', - 'Symfony\\Component\\Mime\\Part\\DataPart' => $vendorDir . '/symfony/mime/Part/DataPart.php', - 'Symfony\\Component\\Mime\\Part\\MessagePart' => $vendorDir . '/symfony/mime/Part/MessagePart.php', - 'Symfony\\Component\\Mime\\Part\\Multipart\\AlternativePart' => $vendorDir . '/symfony/mime/Part/Multipart/AlternativePart.php', - 'Symfony\\Component\\Mime\\Part\\Multipart\\DigestPart' => $vendorDir . '/symfony/mime/Part/Multipart/DigestPart.php', - 'Symfony\\Component\\Mime\\Part\\Multipart\\FormDataPart' => $vendorDir . '/symfony/mime/Part/Multipart/FormDataPart.php', - 'Symfony\\Component\\Mime\\Part\\Multipart\\MixedPart' => $vendorDir . '/symfony/mime/Part/Multipart/MixedPart.php', - 'Symfony\\Component\\Mime\\Part\\Multipart\\RelatedPart' => $vendorDir . '/symfony/mime/Part/Multipart/RelatedPart.php', - 'Symfony\\Component\\Mime\\Part\\SMimePart' => $vendorDir . '/symfony/mime/Part/SMimePart.php', - 'Symfony\\Component\\Mime\\Part\\TextPart' => $vendorDir . '/symfony/mime/Part/TextPart.php', - 'Symfony\\Component\\Mime\\RawMessage' => $vendorDir . '/symfony/mime/RawMessage.php', - 'Symfony\\Component\\Mime\\Test\\Constraint\\EmailAddressContains' => $vendorDir . '/symfony/mime/Test/Constraint/EmailAddressContains.php', - 'Symfony\\Component\\Mime\\Test\\Constraint\\EmailAttachmentCount' => $vendorDir . '/symfony/mime/Test/Constraint/EmailAttachmentCount.php', - 'Symfony\\Component\\Mime\\Test\\Constraint\\EmailHasHeader' => $vendorDir . '/symfony/mime/Test/Constraint/EmailHasHeader.php', - 'Symfony\\Component\\Mime\\Test\\Constraint\\EmailHeaderSame' => $vendorDir . '/symfony/mime/Test/Constraint/EmailHeaderSame.php', - 'Symfony\\Component\\Mime\\Test\\Constraint\\EmailHtmlBodyContains' => $vendorDir . '/symfony/mime/Test/Constraint/EmailHtmlBodyContains.php', - 'Symfony\\Component\\Mime\\Test\\Constraint\\EmailTextBodyContains' => $vendorDir . '/symfony/mime/Test/Constraint/EmailTextBodyContains.php', - 'Symfony\\Component\\Process\\Exception\\ExceptionInterface' => $vendorDir . '/symfony/process/Exception/ExceptionInterface.php', - 'Symfony\\Component\\Process\\Exception\\InvalidArgumentException' => $vendorDir . '/symfony/process/Exception/InvalidArgumentException.php', - 'Symfony\\Component\\Process\\Exception\\LogicException' => $vendorDir . '/symfony/process/Exception/LogicException.php', - 'Symfony\\Component\\Process\\Exception\\ProcessFailedException' => $vendorDir . '/symfony/process/Exception/ProcessFailedException.php', - 'Symfony\\Component\\Process\\Exception\\ProcessSignaledException' => $vendorDir . '/symfony/process/Exception/ProcessSignaledException.php', - 'Symfony\\Component\\Process\\Exception\\ProcessTimedOutException' => $vendorDir . '/symfony/process/Exception/ProcessTimedOutException.php', - 'Symfony\\Component\\Process\\Exception\\RuntimeException' => $vendorDir . '/symfony/process/Exception/RuntimeException.php', - 'Symfony\\Component\\Process\\ExecutableFinder' => $vendorDir . '/symfony/process/ExecutableFinder.php', - 'Symfony\\Component\\Process\\InputStream' => $vendorDir . '/symfony/process/InputStream.php', - 'Symfony\\Component\\Process\\PhpExecutableFinder' => $vendorDir . '/symfony/process/PhpExecutableFinder.php', - 'Symfony\\Component\\Process\\PhpProcess' => $vendorDir . '/symfony/process/PhpProcess.php', - 'Symfony\\Component\\Process\\Pipes\\AbstractPipes' => $vendorDir . '/symfony/process/Pipes/AbstractPipes.php', - 'Symfony\\Component\\Process\\Pipes\\PipesInterface' => $vendorDir . '/symfony/process/Pipes/PipesInterface.php', - 'Symfony\\Component\\Process\\Pipes\\UnixPipes' => $vendorDir . '/symfony/process/Pipes/UnixPipes.php', - 'Symfony\\Component\\Process\\Pipes\\WindowsPipes' => $vendorDir . '/symfony/process/Pipes/WindowsPipes.php', - 'Symfony\\Component\\Process\\Process' => $vendorDir . '/symfony/process/Process.php', - 'Symfony\\Component\\Process\\ProcessUtils' => $vendorDir . '/symfony/process/ProcessUtils.php', - 'Symfony\\Component\\Routing\\Annotation\\Route' => $vendorDir . '/symfony/routing/Annotation/Route.php', - 'Symfony\\Component\\Routing\\CompiledRoute' => $vendorDir . '/symfony/routing/CompiledRoute.php', - 'Symfony\\Component\\Routing\\DependencyInjection\\RoutingResolverPass' => $vendorDir . '/symfony/routing/DependencyInjection/RoutingResolverPass.php', - 'Symfony\\Component\\Routing\\Exception\\ExceptionInterface' => $vendorDir . '/symfony/routing/Exception/ExceptionInterface.php', - 'Symfony\\Component\\Routing\\Exception\\InvalidParameterException' => $vendorDir . '/symfony/routing/Exception/InvalidParameterException.php', - 'Symfony\\Component\\Routing\\Exception\\MethodNotAllowedException' => $vendorDir . '/symfony/routing/Exception/MethodNotAllowedException.php', - 'Symfony\\Component\\Routing\\Exception\\MissingMandatoryParametersException' => $vendorDir . '/symfony/routing/Exception/MissingMandatoryParametersException.php', - 'Symfony\\Component\\Routing\\Exception\\NoConfigurationException' => $vendorDir . '/symfony/routing/Exception/NoConfigurationException.php', - 'Symfony\\Component\\Routing\\Exception\\ResourceNotFoundException' => $vendorDir . '/symfony/routing/Exception/ResourceNotFoundException.php', - 'Symfony\\Component\\Routing\\Exception\\RouteNotFoundException' => $vendorDir . '/symfony/routing/Exception/RouteNotFoundException.php', - 'Symfony\\Component\\Routing\\Generator\\CompiledUrlGenerator' => $vendorDir . '/symfony/routing/Generator/CompiledUrlGenerator.php', - 'Symfony\\Component\\Routing\\Generator\\ConfigurableRequirementsInterface' => $vendorDir . '/symfony/routing/Generator/ConfigurableRequirementsInterface.php', - 'Symfony\\Component\\Routing\\Generator\\Dumper\\CompiledUrlGeneratorDumper' => $vendorDir . '/symfony/routing/Generator/Dumper/CompiledUrlGeneratorDumper.php', - 'Symfony\\Component\\Routing\\Generator\\Dumper\\GeneratorDumper' => $vendorDir . '/symfony/routing/Generator/Dumper/GeneratorDumper.php', - 'Symfony\\Component\\Routing\\Generator\\Dumper\\GeneratorDumperInterface' => $vendorDir . '/symfony/routing/Generator/Dumper/GeneratorDumperInterface.php', - 'Symfony\\Component\\Routing\\Generator\\Dumper\\PhpGeneratorDumper' => $vendorDir . '/symfony/routing/Generator/Dumper/PhpGeneratorDumper.php', - 'Symfony\\Component\\Routing\\Generator\\UrlGenerator' => $vendorDir . '/symfony/routing/Generator/UrlGenerator.php', - 'Symfony\\Component\\Routing\\Generator\\UrlGeneratorInterface' => $vendorDir . '/symfony/routing/Generator/UrlGeneratorInterface.php', - 'Symfony\\Component\\Routing\\Loader\\AnnotationClassLoader' => $vendorDir . '/symfony/routing/Loader/AnnotationClassLoader.php', - 'Symfony\\Component\\Routing\\Loader\\AnnotationDirectoryLoader' => $vendorDir . '/symfony/routing/Loader/AnnotationDirectoryLoader.php', - 'Symfony\\Component\\Routing\\Loader\\AnnotationFileLoader' => $vendorDir . '/symfony/routing/Loader/AnnotationFileLoader.php', - 'Symfony\\Component\\Routing\\Loader\\ClosureLoader' => $vendorDir . '/symfony/routing/Loader/ClosureLoader.php', - 'Symfony\\Component\\Routing\\Loader\\Configurator\\CollectionConfigurator' => $vendorDir . '/symfony/routing/Loader/Configurator/CollectionConfigurator.php', - 'Symfony\\Component\\Routing\\Loader\\Configurator\\ImportConfigurator' => $vendorDir . '/symfony/routing/Loader/Configurator/ImportConfigurator.php', - 'Symfony\\Component\\Routing\\Loader\\Configurator\\RouteConfigurator' => $vendorDir . '/symfony/routing/Loader/Configurator/RouteConfigurator.php', - 'Symfony\\Component\\Routing\\Loader\\Configurator\\RoutingConfigurator' => $vendorDir . '/symfony/routing/Loader/Configurator/RoutingConfigurator.php', - 'Symfony\\Component\\Routing\\Loader\\Configurator\\Traits\\AddTrait' => $vendorDir . '/symfony/routing/Loader/Configurator/Traits/AddTrait.php', - 'Symfony\\Component\\Routing\\Loader\\Configurator\\Traits\\RouteTrait' => $vendorDir . '/symfony/routing/Loader/Configurator/Traits/RouteTrait.php', - 'Symfony\\Component\\Routing\\Loader\\ContainerLoader' => $vendorDir . '/symfony/routing/Loader/ContainerLoader.php', - 'Symfony\\Component\\Routing\\Loader\\DependencyInjection\\ServiceRouterLoader' => $vendorDir . '/symfony/routing/Loader/DependencyInjection/ServiceRouterLoader.php', - 'Symfony\\Component\\Routing\\Loader\\DirectoryLoader' => $vendorDir . '/symfony/routing/Loader/DirectoryLoader.php', - 'Symfony\\Component\\Routing\\Loader\\GlobFileLoader' => $vendorDir . '/symfony/routing/Loader/GlobFileLoader.php', - 'Symfony\\Component\\Routing\\Loader\\ObjectLoader' => $vendorDir . '/symfony/routing/Loader/ObjectLoader.php', - 'Symfony\\Component\\Routing\\Loader\\ObjectRouteLoader' => $vendorDir . '/symfony/routing/Loader/ObjectRouteLoader.php', - 'Symfony\\Component\\Routing\\Loader\\PhpFileLoader' => $vendorDir . '/symfony/routing/Loader/PhpFileLoader.php', - 'Symfony\\Component\\Routing\\Loader\\ProtectedPhpFileLoader' => $vendorDir . '/symfony/routing/Loader/PhpFileLoader.php', - 'Symfony\\Component\\Routing\\Loader\\XmlFileLoader' => $vendorDir . '/symfony/routing/Loader/XmlFileLoader.php', - 'Symfony\\Component\\Routing\\Loader\\YamlFileLoader' => $vendorDir . '/symfony/routing/Loader/YamlFileLoader.php', - 'Symfony\\Component\\Routing\\Matcher\\CompiledUrlMatcher' => $vendorDir . '/symfony/routing/Matcher/CompiledUrlMatcher.php', - 'Symfony\\Component\\Routing\\Matcher\\Dumper\\CompiledUrlMatcherDumper' => $vendorDir . '/symfony/routing/Matcher/Dumper/CompiledUrlMatcherDumper.php', - 'Symfony\\Component\\Routing\\Matcher\\Dumper\\CompiledUrlMatcherTrait' => $vendorDir . '/symfony/routing/Matcher/Dumper/CompiledUrlMatcherTrait.php', - 'Symfony\\Component\\Routing\\Matcher\\Dumper\\MatcherDumper' => $vendorDir . '/symfony/routing/Matcher/Dumper/MatcherDumper.php', - 'Symfony\\Component\\Routing\\Matcher\\Dumper\\MatcherDumperInterface' => $vendorDir . '/symfony/routing/Matcher/Dumper/MatcherDumperInterface.php', - 'Symfony\\Component\\Routing\\Matcher\\Dumper\\PhpMatcherDumper' => $vendorDir . '/symfony/routing/Matcher/Dumper/PhpMatcherDumper.php', - 'Symfony\\Component\\Routing\\Matcher\\Dumper\\StaticPrefixCollection' => $vendorDir . '/symfony/routing/Matcher/Dumper/StaticPrefixCollection.php', - 'Symfony\\Component\\Routing\\Matcher\\RedirectableUrlMatcher' => $vendorDir . '/symfony/routing/Matcher/RedirectableUrlMatcher.php', - 'Symfony\\Component\\Routing\\Matcher\\RedirectableUrlMatcherInterface' => $vendorDir . '/symfony/routing/Matcher/RedirectableUrlMatcherInterface.php', - 'Symfony\\Component\\Routing\\Matcher\\RequestMatcherInterface' => $vendorDir . '/symfony/routing/Matcher/RequestMatcherInterface.php', - 'Symfony\\Component\\Routing\\Matcher\\TraceableUrlMatcher' => $vendorDir . '/symfony/routing/Matcher/TraceableUrlMatcher.php', - 'Symfony\\Component\\Routing\\Matcher\\UrlMatcher' => $vendorDir . '/symfony/routing/Matcher/UrlMatcher.php', - 'Symfony\\Component\\Routing\\Matcher\\UrlMatcherInterface' => $vendorDir . '/symfony/routing/Matcher/UrlMatcherInterface.php', - 'Symfony\\Component\\Routing\\RequestContext' => $vendorDir . '/symfony/routing/RequestContext.php', - 'Symfony\\Component\\Routing\\RequestContextAwareInterface' => $vendorDir . '/symfony/routing/RequestContextAwareInterface.php', - 'Symfony\\Component\\Routing\\Route' => $vendorDir . '/symfony/routing/Route.php', - 'Symfony\\Component\\Routing\\RouteCollection' => $vendorDir . '/symfony/routing/RouteCollection.php', - 'Symfony\\Component\\Routing\\RouteCollectionBuilder' => $vendorDir . '/symfony/routing/RouteCollectionBuilder.php', - 'Symfony\\Component\\Routing\\RouteCompiler' => $vendorDir . '/symfony/routing/RouteCompiler.php', - 'Symfony\\Component\\Routing\\RouteCompilerInterface' => $vendorDir . '/symfony/routing/RouteCompilerInterface.php', - 'Symfony\\Component\\Routing\\Router' => $vendorDir . '/symfony/routing/Router.php', - 'Symfony\\Component\\Routing\\RouterInterface' => $vendorDir . '/symfony/routing/RouterInterface.php', - 'Symfony\\Component\\Translation\\Catalogue\\AbstractOperation' => $vendorDir . '/symfony/translation/Catalogue/AbstractOperation.php', - 'Symfony\\Component\\Translation\\Catalogue\\MergeOperation' => $vendorDir . '/symfony/translation/Catalogue/MergeOperation.php', - 'Symfony\\Component\\Translation\\Catalogue\\OperationInterface' => $vendorDir . '/symfony/translation/Catalogue/OperationInterface.php', - 'Symfony\\Component\\Translation\\Catalogue\\TargetOperation' => $vendorDir . '/symfony/translation/Catalogue/TargetOperation.php', - 'Symfony\\Component\\Translation\\Command\\XliffLintCommand' => $vendorDir . '/symfony/translation/Command/XliffLintCommand.php', - 'Symfony\\Component\\Translation\\DataCollectorTranslator' => $vendorDir . '/symfony/translation/DataCollectorTranslator.php', - 'Symfony\\Component\\Translation\\DataCollector\\TranslationDataCollector' => $vendorDir . '/symfony/translation/DataCollector/TranslationDataCollector.php', - 'Symfony\\Component\\Translation\\DependencyInjection\\TranslationDumperPass' => $vendorDir . '/symfony/translation/DependencyInjection/TranslationDumperPass.php', - 'Symfony\\Component\\Translation\\DependencyInjection\\TranslationExtractorPass' => $vendorDir . '/symfony/translation/DependencyInjection/TranslationExtractorPass.php', - 'Symfony\\Component\\Translation\\DependencyInjection\\TranslatorPass' => $vendorDir . '/symfony/translation/DependencyInjection/TranslatorPass.php', - 'Symfony\\Component\\Translation\\DependencyInjection\\TranslatorPathsPass' => $vendorDir . '/symfony/translation/DependencyInjection/TranslatorPathsPass.php', - 'Symfony\\Component\\Translation\\Dumper\\CsvFileDumper' => $vendorDir . '/symfony/translation/Dumper/CsvFileDumper.php', - 'Symfony\\Component\\Translation\\Dumper\\DumperInterface' => $vendorDir . '/symfony/translation/Dumper/DumperInterface.php', - 'Symfony\\Component\\Translation\\Dumper\\FileDumper' => $vendorDir . '/symfony/translation/Dumper/FileDumper.php', - 'Symfony\\Component\\Translation\\Dumper\\IcuResFileDumper' => $vendorDir . '/symfony/translation/Dumper/IcuResFileDumper.php', - 'Symfony\\Component\\Translation\\Dumper\\IniFileDumper' => $vendorDir . '/symfony/translation/Dumper/IniFileDumper.php', - 'Symfony\\Component\\Translation\\Dumper\\JsonFileDumper' => $vendorDir . '/symfony/translation/Dumper/JsonFileDumper.php', - 'Symfony\\Component\\Translation\\Dumper\\MoFileDumper' => $vendorDir . '/symfony/translation/Dumper/MoFileDumper.php', - 'Symfony\\Component\\Translation\\Dumper\\PhpFileDumper' => $vendorDir . '/symfony/translation/Dumper/PhpFileDumper.php', - 'Symfony\\Component\\Translation\\Dumper\\PoFileDumper' => $vendorDir . '/symfony/translation/Dumper/PoFileDumper.php', - 'Symfony\\Component\\Translation\\Dumper\\QtFileDumper' => $vendorDir . '/symfony/translation/Dumper/QtFileDumper.php', - 'Symfony\\Component\\Translation\\Dumper\\XliffFileDumper' => $vendorDir . '/symfony/translation/Dumper/XliffFileDumper.php', - 'Symfony\\Component\\Translation\\Dumper\\YamlFileDumper' => $vendorDir . '/symfony/translation/Dumper/YamlFileDumper.php', - 'Symfony\\Component\\Translation\\Exception\\ExceptionInterface' => $vendorDir . '/symfony/translation/Exception/ExceptionInterface.php', - 'Symfony\\Component\\Translation\\Exception\\InvalidArgumentException' => $vendorDir . '/symfony/translation/Exception/InvalidArgumentException.php', - 'Symfony\\Component\\Translation\\Exception\\InvalidResourceException' => $vendorDir . '/symfony/translation/Exception/InvalidResourceException.php', - 'Symfony\\Component\\Translation\\Exception\\LogicException' => $vendorDir . '/symfony/translation/Exception/LogicException.php', - 'Symfony\\Component\\Translation\\Exception\\NotFoundResourceException' => $vendorDir . '/symfony/translation/Exception/NotFoundResourceException.php', - 'Symfony\\Component\\Translation\\Exception\\RuntimeException' => $vendorDir . '/symfony/translation/Exception/RuntimeException.php', - 'Symfony\\Component\\Translation\\Extractor\\AbstractFileExtractor' => $vendorDir . '/symfony/translation/Extractor/AbstractFileExtractor.php', - 'Symfony\\Component\\Translation\\Extractor\\ChainExtractor' => $vendorDir . '/symfony/translation/Extractor/ChainExtractor.php', - 'Symfony\\Component\\Translation\\Extractor\\ExtractorInterface' => $vendorDir . '/symfony/translation/Extractor/ExtractorInterface.php', - 'Symfony\\Component\\Translation\\Extractor\\PhpExtractor' => $vendorDir . '/symfony/translation/Extractor/PhpExtractor.php', - 'Symfony\\Component\\Translation\\Extractor\\PhpStringTokenParser' => $vendorDir . '/symfony/translation/Extractor/PhpStringTokenParser.php', - 'Symfony\\Component\\Translation\\Formatter\\ChoiceMessageFormatterInterface' => $vendorDir . '/symfony/translation/Formatter/ChoiceMessageFormatterInterface.php', - 'Symfony\\Component\\Translation\\Formatter\\IntlFormatter' => $vendorDir . '/symfony/translation/Formatter/IntlFormatter.php', - 'Symfony\\Component\\Translation\\Formatter\\IntlFormatterInterface' => $vendorDir . '/symfony/translation/Formatter/IntlFormatterInterface.php', - 'Symfony\\Component\\Translation\\Formatter\\MessageFormatter' => $vendorDir . '/symfony/translation/Formatter/MessageFormatter.php', - 'Symfony\\Component\\Translation\\Formatter\\MessageFormatterInterface' => $vendorDir . '/symfony/translation/Formatter/MessageFormatterInterface.php', - 'Symfony\\Component\\Translation\\IdentityTranslator' => $vendorDir . '/symfony/translation/IdentityTranslator.php', - 'Symfony\\Component\\Translation\\Interval' => $vendorDir . '/symfony/translation/Interval.php', - 'Symfony\\Component\\Translation\\Loader\\ArrayLoader' => $vendorDir . '/symfony/translation/Loader/ArrayLoader.php', - 'Symfony\\Component\\Translation\\Loader\\CsvFileLoader' => $vendorDir . '/symfony/translation/Loader/CsvFileLoader.php', - 'Symfony\\Component\\Translation\\Loader\\FileLoader' => $vendorDir . '/symfony/translation/Loader/FileLoader.php', - 'Symfony\\Component\\Translation\\Loader\\IcuDatFileLoader' => $vendorDir . '/symfony/translation/Loader/IcuDatFileLoader.php', - 'Symfony\\Component\\Translation\\Loader\\IcuResFileLoader' => $vendorDir . '/symfony/translation/Loader/IcuResFileLoader.php', - 'Symfony\\Component\\Translation\\Loader\\IniFileLoader' => $vendorDir . '/symfony/translation/Loader/IniFileLoader.php', - 'Symfony\\Component\\Translation\\Loader\\JsonFileLoader' => $vendorDir . '/symfony/translation/Loader/JsonFileLoader.php', - 'Symfony\\Component\\Translation\\Loader\\LoaderInterface' => $vendorDir . '/symfony/translation/Loader/LoaderInterface.php', - 'Symfony\\Component\\Translation\\Loader\\MoFileLoader' => $vendorDir . '/symfony/translation/Loader/MoFileLoader.php', - 'Symfony\\Component\\Translation\\Loader\\PhpFileLoader' => $vendorDir . '/symfony/translation/Loader/PhpFileLoader.php', - 'Symfony\\Component\\Translation\\Loader\\PoFileLoader' => $vendorDir . '/symfony/translation/Loader/PoFileLoader.php', - 'Symfony\\Component\\Translation\\Loader\\QtFileLoader' => $vendorDir . '/symfony/translation/Loader/QtFileLoader.php', - 'Symfony\\Component\\Translation\\Loader\\XliffFileLoader' => $vendorDir . '/symfony/translation/Loader/XliffFileLoader.php', - 'Symfony\\Component\\Translation\\Loader\\YamlFileLoader' => $vendorDir . '/symfony/translation/Loader/YamlFileLoader.php', - 'Symfony\\Component\\Translation\\LoggingTranslator' => $vendorDir . '/symfony/translation/LoggingTranslator.php', - 'Symfony\\Component\\Translation\\MessageCatalogue' => $vendorDir . '/symfony/translation/MessageCatalogue.php', - 'Symfony\\Component\\Translation\\MessageCatalogueInterface' => $vendorDir . '/symfony/translation/MessageCatalogueInterface.php', - 'Symfony\\Component\\Translation\\MessageSelector' => $vendorDir . '/symfony/translation/MessageSelector.php', - 'Symfony\\Component\\Translation\\MetadataAwareInterface' => $vendorDir . '/symfony/translation/MetadataAwareInterface.php', - 'Symfony\\Component\\Translation\\PluralizationRules' => $vendorDir . '/symfony/translation/PluralizationRules.php', - 'Symfony\\Component\\Translation\\Reader\\TranslationReader' => $vendorDir . '/symfony/translation/Reader/TranslationReader.php', - 'Symfony\\Component\\Translation\\Reader\\TranslationReaderInterface' => $vendorDir . '/symfony/translation/Reader/TranslationReaderInterface.php', - 'Symfony\\Component\\Translation\\Translator' => $vendorDir . '/symfony/translation/Translator.php', - 'Symfony\\Component\\Translation\\TranslatorBagInterface' => $vendorDir . '/symfony/translation/TranslatorBagInterface.php', - 'Symfony\\Component\\Translation\\TranslatorInterface' => $vendorDir . '/symfony/translation/TranslatorInterface.php', - 'Symfony\\Component\\Translation\\Util\\ArrayConverter' => $vendorDir . '/symfony/translation/Util/ArrayConverter.php', - 'Symfony\\Component\\Translation\\Util\\XliffUtils' => $vendorDir . '/symfony/translation/Util/XliffUtils.php', - 'Symfony\\Component\\Translation\\Writer\\TranslationWriter' => $vendorDir . '/symfony/translation/Writer/TranslationWriter.php', - 'Symfony\\Component\\Translation\\Writer\\TranslationWriterInterface' => $vendorDir . '/symfony/translation/Writer/TranslationWriterInterface.php', - 'Symfony\\Component\\VarDumper\\Caster\\AmqpCaster' => $vendorDir . '/symfony/var-dumper/Caster/AmqpCaster.php', - 'Symfony\\Component\\VarDumper\\Caster\\ArgsStub' => $vendorDir . '/symfony/var-dumper/Caster/ArgsStub.php', - 'Symfony\\Component\\VarDumper\\Caster\\Caster' => $vendorDir . '/symfony/var-dumper/Caster/Caster.php', - 'Symfony\\Component\\VarDumper\\Caster\\ClassStub' => $vendorDir . '/symfony/var-dumper/Caster/ClassStub.php', - 'Symfony\\Component\\VarDumper\\Caster\\ConstStub' => $vendorDir . '/symfony/var-dumper/Caster/ConstStub.php', - 'Symfony\\Component\\VarDumper\\Caster\\CutArrayStub' => $vendorDir . '/symfony/var-dumper/Caster/CutArrayStub.php', - 'Symfony\\Component\\VarDumper\\Caster\\CutStub' => $vendorDir . '/symfony/var-dumper/Caster/CutStub.php', - 'Symfony\\Component\\VarDumper\\Caster\\DOMCaster' => $vendorDir . '/symfony/var-dumper/Caster/DOMCaster.php', - 'Symfony\\Component\\VarDumper\\Caster\\DateCaster' => $vendorDir . '/symfony/var-dumper/Caster/DateCaster.php', - 'Symfony\\Component\\VarDumper\\Caster\\DoctrineCaster' => $vendorDir . '/symfony/var-dumper/Caster/DoctrineCaster.php', - 'Symfony\\Component\\VarDumper\\Caster\\DsCaster' => $vendorDir . '/symfony/var-dumper/Caster/DsCaster.php', - 'Symfony\\Component\\VarDumper\\Caster\\DsPairStub' => $vendorDir . '/symfony/var-dumper/Caster/DsPairStub.php', - 'Symfony\\Component\\VarDumper\\Caster\\EnumStub' => $vendorDir . '/symfony/var-dumper/Caster/EnumStub.php', - 'Symfony\\Component\\VarDumper\\Caster\\ExceptionCaster' => $vendorDir . '/symfony/var-dumper/Caster/ExceptionCaster.php', - 'Symfony\\Component\\VarDumper\\Caster\\FrameStub' => $vendorDir . '/symfony/var-dumper/Caster/FrameStub.php', - 'Symfony\\Component\\VarDumper\\Caster\\GmpCaster' => $vendorDir . '/symfony/var-dumper/Caster/GmpCaster.php', - 'Symfony\\Component\\VarDumper\\Caster\\ImagineCaster' => $vendorDir . '/symfony/var-dumper/Caster/ImagineCaster.php', - 'Symfony\\Component\\VarDumper\\Caster\\ImgStub' => $vendorDir . '/symfony/var-dumper/Caster/ImgStub.php', - 'Symfony\\Component\\VarDumper\\Caster\\IntlCaster' => $vendorDir . '/symfony/var-dumper/Caster/IntlCaster.php', - 'Symfony\\Component\\VarDumper\\Caster\\LinkStub' => $vendorDir . '/symfony/var-dumper/Caster/LinkStub.php', - 'Symfony\\Component\\VarDumper\\Caster\\MemcachedCaster' => $vendorDir . '/symfony/var-dumper/Caster/MemcachedCaster.php', - 'Symfony\\Component\\VarDumper\\Caster\\PdoCaster' => $vendorDir . '/symfony/var-dumper/Caster/PdoCaster.php', - 'Symfony\\Component\\VarDumper\\Caster\\PgSqlCaster' => $vendorDir . '/symfony/var-dumper/Caster/PgSqlCaster.php', - 'Symfony\\Component\\VarDumper\\Caster\\ProxyManagerCaster' => $vendorDir . '/symfony/var-dumper/Caster/ProxyManagerCaster.php', - 'Symfony\\Component\\VarDumper\\Caster\\RedisCaster' => $vendorDir . '/symfony/var-dumper/Caster/RedisCaster.php', - 'Symfony\\Component\\VarDumper\\Caster\\ReflectionCaster' => $vendorDir . '/symfony/var-dumper/Caster/ReflectionCaster.php', - 'Symfony\\Component\\VarDumper\\Caster\\ResourceCaster' => $vendorDir . '/symfony/var-dumper/Caster/ResourceCaster.php', - 'Symfony\\Component\\VarDumper\\Caster\\SplCaster' => $vendorDir . '/symfony/var-dumper/Caster/SplCaster.php', - 'Symfony\\Component\\VarDumper\\Caster\\StubCaster' => $vendorDir . '/symfony/var-dumper/Caster/StubCaster.php', - 'Symfony\\Component\\VarDumper\\Caster\\SymfonyCaster' => $vendorDir . '/symfony/var-dumper/Caster/SymfonyCaster.php', - 'Symfony\\Component\\VarDumper\\Caster\\TraceStub' => $vendorDir . '/symfony/var-dumper/Caster/TraceStub.php', - 'Symfony\\Component\\VarDumper\\Caster\\UuidCaster' => $vendorDir . '/symfony/var-dumper/Caster/UuidCaster.php', - 'Symfony\\Component\\VarDumper\\Caster\\XmlReaderCaster' => $vendorDir . '/symfony/var-dumper/Caster/XmlReaderCaster.php', - 'Symfony\\Component\\VarDumper\\Caster\\XmlResourceCaster' => $vendorDir . '/symfony/var-dumper/Caster/XmlResourceCaster.php', - 'Symfony\\Component\\VarDumper\\Cloner\\AbstractCloner' => $vendorDir . '/symfony/var-dumper/Cloner/AbstractCloner.php', - 'Symfony\\Component\\VarDumper\\Cloner\\ClonerInterface' => $vendorDir . '/symfony/var-dumper/Cloner/ClonerInterface.php', - 'Symfony\\Component\\VarDumper\\Cloner\\Cursor' => $vendorDir . '/symfony/var-dumper/Cloner/Cursor.php', - 'Symfony\\Component\\VarDumper\\Cloner\\Data' => $vendorDir . '/symfony/var-dumper/Cloner/Data.php', - 'Symfony\\Component\\VarDumper\\Cloner\\DumperInterface' => $vendorDir . '/symfony/var-dumper/Cloner/DumperInterface.php', - 'Symfony\\Component\\VarDumper\\Cloner\\Stub' => $vendorDir . '/symfony/var-dumper/Cloner/Stub.php', - 'Symfony\\Component\\VarDumper\\Cloner\\VarCloner' => $vendorDir . '/symfony/var-dumper/Cloner/VarCloner.php', - 'Symfony\\Component\\VarDumper\\Command\\Descriptor\\CliDescriptor' => $vendorDir . '/symfony/var-dumper/Command/Descriptor/CliDescriptor.php', - 'Symfony\\Component\\VarDumper\\Command\\Descriptor\\DumpDescriptorInterface' => $vendorDir . '/symfony/var-dumper/Command/Descriptor/DumpDescriptorInterface.php', - 'Symfony\\Component\\VarDumper\\Command\\Descriptor\\HtmlDescriptor' => $vendorDir . '/symfony/var-dumper/Command/Descriptor/HtmlDescriptor.php', - 'Symfony\\Component\\VarDumper\\Command\\ServerDumpCommand' => $vendorDir . '/symfony/var-dumper/Command/ServerDumpCommand.php', - 'Symfony\\Component\\VarDumper\\Dumper\\AbstractDumper' => $vendorDir . '/symfony/var-dumper/Dumper/AbstractDumper.php', - 'Symfony\\Component\\VarDumper\\Dumper\\CliDumper' => $vendorDir . '/symfony/var-dumper/Dumper/CliDumper.php', - 'Symfony\\Component\\VarDumper\\Dumper\\ContextProvider\\CliContextProvider' => $vendorDir . '/symfony/var-dumper/Dumper/ContextProvider/CliContextProvider.php', - 'Symfony\\Component\\VarDumper\\Dumper\\ContextProvider\\ContextProviderInterface' => $vendorDir . '/symfony/var-dumper/Dumper/ContextProvider/ContextProviderInterface.php', - 'Symfony\\Component\\VarDumper\\Dumper\\ContextProvider\\RequestContextProvider' => $vendorDir . '/symfony/var-dumper/Dumper/ContextProvider/RequestContextProvider.php', - 'Symfony\\Component\\VarDumper\\Dumper\\ContextProvider\\SourceContextProvider' => $vendorDir . '/symfony/var-dumper/Dumper/ContextProvider/SourceContextProvider.php', - 'Symfony\\Component\\VarDumper\\Dumper\\ContextualizedDumper' => $vendorDir . '/symfony/var-dumper/Dumper/ContextualizedDumper.php', - 'Symfony\\Component\\VarDumper\\Dumper\\DataDumperInterface' => $vendorDir . '/symfony/var-dumper/Dumper/DataDumperInterface.php', - 'Symfony\\Component\\VarDumper\\Dumper\\HtmlDumper' => $vendorDir . '/symfony/var-dumper/Dumper/HtmlDumper.php', - 'Symfony\\Component\\VarDumper\\Dumper\\ServerDumper' => $vendorDir . '/symfony/var-dumper/Dumper/ServerDumper.php', - 'Symfony\\Component\\VarDumper\\Exception\\ThrowingCasterException' => $vendorDir . '/symfony/var-dumper/Exception/ThrowingCasterException.php', - 'Symfony\\Component\\VarDumper\\Server\\Connection' => $vendorDir . '/symfony/var-dumper/Server/Connection.php', - 'Symfony\\Component\\VarDumper\\Server\\DumpServer' => $vendorDir . '/symfony/var-dumper/Server/DumpServer.php', - 'Symfony\\Component\\VarDumper\\Test\\VarDumperTestTrait' => $vendorDir . '/symfony/var-dumper/Test/VarDumperTestTrait.php', - 'Symfony\\Component\\VarDumper\\VarDumper' => $vendorDir . '/symfony/var-dumper/VarDumper.php', - 'Symfony\\Contracts\\EventDispatcher\\Event' => $vendorDir . '/symfony/event-dispatcher-contracts/Event.php', - 'Symfony\\Contracts\\EventDispatcher\\EventDispatcherInterface' => $vendorDir . '/symfony/event-dispatcher-contracts/EventDispatcherInterface.php', - 'Symfony\\Contracts\\Service\\ResetInterface' => $vendorDir . '/symfony/service-contracts/ResetInterface.php', - 'Symfony\\Contracts\\Service\\ServiceLocatorTrait' => $vendorDir . '/symfony/service-contracts/ServiceLocatorTrait.php', - 'Symfony\\Contracts\\Service\\ServiceProviderInterface' => $vendorDir . '/symfony/service-contracts/ServiceProviderInterface.php', - 'Symfony\\Contracts\\Service\\ServiceSubscriberInterface' => $vendorDir . '/symfony/service-contracts/ServiceSubscriberInterface.php', - 'Symfony\\Contracts\\Service\\ServiceSubscriberTrait' => $vendorDir . '/symfony/service-contracts/ServiceSubscriberTrait.php', - 'Symfony\\Contracts\\Service\\Test\\ServiceLocatorTest' => $vendorDir . '/symfony/service-contracts/Test/ServiceLocatorTest.php', - 'Symfony\\Contracts\\Translation\\LocaleAwareInterface' => $vendorDir . '/symfony/translation-contracts/LocaleAwareInterface.php', - 'Symfony\\Contracts\\Translation\\Test\\TranslatorTest' => $vendorDir . '/symfony/translation-contracts/Test/TranslatorTest.php', - 'Symfony\\Contracts\\Translation\\TranslatorInterface' => $vendorDir . '/symfony/translation-contracts/TranslatorInterface.php', - 'Symfony\\Contracts\\Translation\\TranslatorTrait' => $vendorDir . '/symfony/translation-contracts/TranslatorTrait.php', - 'Symfony\\Polyfill\\Ctype\\Ctype' => $vendorDir . '/symfony/polyfill-ctype/Ctype.php', - 'Symfony\\Polyfill\\Iconv\\Iconv' => $vendorDir . '/symfony/polyfill-iconv/Iconv.php', - 'Symfony\\Polyfill\\Intl\\Idn\\Idn' => $vendorDir . '/symfony/polyfill-intl-idn/Idn.php', - 'Symfony\\Polyfill\\Mbstring\\Mbstring' => $vendorDir . '/symfony/polyfill-mbstring/Mbstring.php', - 'Symfony\\Polyfill\\Php72\\Php72' => $vendorDir . '/symfony/polyfill-php72/Php72.php', - 'Symfony\\Polyfill\\Php73\\Php73' => $vendorDir . '/symfony/polyfill-php73/Php73.php', - 'Tests\\CreatesApplication' => $baseDir . '/tests/CreatesApplication.php', - 'Tests\\Feature\\ExampleTest' => $baseDir . '/tests/Feature/ExampleTest.php', - 'Tests\\TestCase' => $baseDir . '/tests/TestCase.php', - 'Tests\\Unit\\ExampleTest' => $baseDir . '/tests/Unit/ExampleTest.php', - 'Text_Template' => $vendorDir . '/phpunit/php-text-template/src/Template.php', - 'TheSeer\\Tokenizer\\Exception' => $vendorDir . '/theseer/tokenizer/src/Exception.php', - 'TheSeer\\Tokenizer\\NamespaceUri' => $vendorDir . '/theseer/tokenizer/src/NamespaceUri.php', - 'TheSeer\\Tokenizer\\NamespaceUriException' => $vendorDir . '/theseer/tokenizer/src/NamespaceUriException.php', - 'TheSeer\\Tokenizer\\Token' => $vendorDir . '/theseer/tokenizer/src/Token.php', - 'TheSeer\\Tokenizer\\TokenCollection' => $vendorDir . '/theseer/tokenizer/src/TokenCollection.php', - 'TheSeer\\Tokenizer\\TokenCollectionException' => $vendorDir . '/theseer/tokenizer/src/TokenCollectionException.php', - 'TheSeer\\Tokenizer\\Tokenizer' => $vendorDir . '/theseer/tokenizer/src/Tokenizer.php', - 'TheSeer\\Tokenizer\\XMLSerializer' => $vendorDir . '/theseer/tokenizer/src/XMLSerializer.php', - 'TijsVerkoyen\\CssToInlineStyles\\CssToInlineStyles' => $vendorDir . '/tijsverkoyen/css-to-inline-styles/src/CssToInlineStyles.php', - 'TijsVerkoyen\\CssToInlineStyles\\Css\\Processor' => $vendorDir . '/tijsverkoyen/css-to-inline-styles/src/Css/Processor.php', - 'TijsVerkoyen\\CssToInlineStyles\\Css\\Property\\Processor' => $vendorDir . '/tijsverkoyen/css-to-inline-styles/src/Css/Property/Processor.php', - 'TijsVerkoyen\\CssToInlineStyles\\Css\\Property\\Property' => $vendorDir . '/tijsverkoyen/css-to-inline-styles/src/Css/Property/Property.php', - 'TijsVerkoyen\\CssToInlineStyles\\Css\\Rule\\Processor' => $vendorDir . '/tijsverkoyen/css-to-inline-styles/src/Css/Rule/Processor.php', - 'TijsVerkoyen\\CssToInlineStyles\\Css\\Rule\\Rule' => $vendorDir . '/tijsverkoyen/css-to-inline-styles/src/Css/Rule/Rule.php', - 'Webmozart\\Assert\\Assert' => $vendorDir . '/webmozart/assert/src/Assert.php', - 'Whoops\\Exception\\ErrorException' => $vendorDir . '/filp/whoops/src/Whoops/Exception/ErrorException.php', - 'Whoops\\Exception\\Formatter' => $vendorDir . '/filp/whoops/src/Whoops/Exception/Formatter.php', - 'Whoops\\Exception\\Frame' => $vendorDir . '/filp/whoops/src/Whoops/Exception/Frame.php', - 'Whoops\\Exception\\FrameCollection' => $vendorDir . '/filp/whoops/src/Whoops/Exception/FrameCollection.php', - 'Whoops\\Exception\\Inspector' => $vendorDir . '/filp/whoops/src/Whoops/Exception/Inspector.php', - 'Whoops\\Handler\\CallbackHandler' => $vendorDir . '/filp/whoops/src/Whoops/Handler/CallbackHandler.php', - 'Whoops\\Handler\\Handler' => $vendorDir . '/filp/whoops/src/Whoops/Handler/Handler.php', - 'Whoops\\Handler\\HandlerInterface' => $vendorDir . '/filp/whoops/src/Whoops/Handler/HandlerInterface.php', - 'Whoops\\Handler\\JsonResponseHandler' => $vendorDir . '/filp/whoops/src/Whoops/Handler/JsonResponseHandler.php', - 'Whoops\\Handler\\PlainTextHandler' => $vendorDir . '/filp/whoops/src/Whoops/Handler/PlainTextHandler.php', - 'Whoops\\Handler\\PrettyPageHandler' => $vendorDir . '/filp/whoops/src/Whoops/Handler/PrettyPageHandler.php', - 'Whoops\\Handler\\XmlResponseHandler' => $vendorDir . '/filp/whoops/src/Whoops/Handler/XmlResponseHandler.php', - 'Whoops\\Run' => $vendorDir . '/filp/whoops/src/Whoops/Run.php', - 'Whoops\\RunInterface' => $vendorDir . '/filp/whoops/src/Whoops/RunInterface.php', - 'Whoops\\Util\\HtmlDumperOutput' => $vendorDir . '/filp/whoops/src/Whoops/Util/HtmlDumperOutput.php', - 'Whoops\\Util\\Misc' => $vendorDir . '/filp/whoops/src/Whoops/Util/Misc.php', - 'Whoops\\Util\\SystemFacade' => $vendorDir . '/filp/whoops/src/Whoops/Util/SystemFacade.php', - 'Whoops\\Util\\TemplateHelper' => $vendorDir . '/filp/whoops/src/Whoops/Util/TemplateHelper.php', - 'XdgBaseDir\\Xdg' => $vendorDir . '/dnoegel/php-xdg-base-dir/src/Xdg.php', - 'phpDocumentor\\Reflection\\DocBlock' => $vendorDir . '/phpdocumentor/reflection-docblock/src/DocBlock.php', - 'phpDocumentor\\Reflection\\DocBlockFactory' => $vendorDir . '/phpdocumentor/reflection-docblock/src/DocBlockFactory.php', - 'phpDocumentor\\Reflection\\DocBlockFactoryInterface' => $vendorDir . '/phpdocumentor/reflection-docblock/src/DocBlockFactoryInterface.php', - 'phpDocumentor\\Reflection\\DocBlock\\Description' => $vendorDir . '/phpdocumentor/reflection-docblock/src/DocBlock/Description.php', - 'phpDocumentor\\Reflection\\DocBlock\\DescriptionFactory' => $vendorDir . '/phpdocumentor/reflection-docblock/src/DocBlock/DescriptionFactory.php', - 'phpDocumentor\\Reflection\\DocBlock\\ExampleFinder' => $vendorDir . '/phpdocumentor/reflection-docblock/src/DocBlock/ExampleFinder.php', - 'phpDocumentor\\Reflection\\DocBlock\\Serializer' => $vendorDir . '/phpdocumentor/reflection-docblock/src/DocBlock/Serializer.php', - 'phpDocumentor\\Reflection\\DocBlock\\StandardTagFactory' => $vendorDir . '/phpdocumentor/reflection-docblock/src/DocBlock/StandardTagFactory.php', - 'phpDocumentor\\Reflection\\DocBlock\\Tag' => $vendorDir . '/phpdocumentor/reflection-docblock/src/DocBlock/Tag.php', - 'phpDocumentor\\Reflection\\DocBlock\\TagFactory' => $vendorDir . '/phpdocumentor/reflection-docblock/src/DocBlock/TagFactory.php', - 'phpDocumentor\\Reflection\\DocBlock\\Tags\\Author' => $vendorDir . '/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Author.php', - 'phpDocumentor\\Reflection\\DocBlock\\Tags\\BaseTag' => $vendorDir . '/phpdocumentor/reflection-docblock/src/DocBlock/Tags/BaseTag.php', - 'phpDocumentor\\Reflection\\DocBlock\\Tags\\Covers' => $vendorDir . '/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Covers.php', - 'phpDocumentor\\Reflection\\DocBlock\\Tags\\Deprecated' => $vendorDir . '/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Deprecated.php', - 'phpDocumentor\\Reflection\\DocBlock\\Tags\\Example' => $vendorDir . '/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Example.php', - 'phpDocumentor\\Reflection\\DocBlock\\Tags\\Factory\\StaticMethod' => $vendorDir . '/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Factory/StaticMethod.php', - 'phpDocumentor\\Reflection\\DocBlock\\Tags\\Factory\\Strategy' => $vendorDir . '/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Factory/Strategy.php', - 'phpDocumentor\\Reflection\\DocBlock\\Tags\\Formatter' => $vendorDir . '/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Formatter.php', - 'phpDocumentor\\Reflection\\DocBlock\\Tags\\Formatter\\AlignFormatter' => $vendorDir . '/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Formatter/AlignFormatter.php', - 'phpDocumentor\\Reflection\\DocBlock\\Tags\\Formatter\\PassthroughFormatter' => $vendorDir . '/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Formatter/PassthroughFormatter.php', - 'phpDocumentor\\Reflection\\DocBlock\\Tags\\Generic' => $vendorDir . '/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Generic.php', - 'phpDocumentor\\Reflection\\DocBlock\\Tags\\Link' => $vendorDir . '/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Link.php', - 'phpDocumentor\\Reflection\\DocBlock\\Tags\\Method' => $vendorDir . '/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Method.php', - 'phpDocumentor\\Reflection\\DocBlock\\Tags\\Param' => $vendorDir . '/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Param.php', - 'phpDocumentor\\Reflection\\DocBlock\\Tags\\Property' => $vendorDir . '/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Property.php', - 'phpDocumentor\\Reflection\\DocBlock\\Tags\\PropertyRead' => $vendorDir . '/phpdocumentor/reflection-docblock/src/DocBlock/Tags/PropertyRead.php', - 'phpDocumentor\\Reflection\\DocBlock\\Tags\\PropertyWrite' => $vendorDir . '/phpdocumentor/reflection-docblock/src/DocBlock/Tags/PropertyWrite.php', - 'phpDocumentor\\Reflection\\DocBlock\\Tags\\Reference\\Fqsen' => $vendorDir . '/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Reference/Fqsen.php', - 'phpDocumentor\\Reflection\\DocBlock\\Tags\\Reference\\Reference' => $vendorDir . '/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Reference/Reference.php', - 'phpDocumentor\\Reflection\\DocBlock\\Tags\\Reference\\Url' => $vendorDir . '/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Reference/Url.php', - 'phpDocumentor\\Reflection\\DocBlock\\Tags\\Return_' => $vendorDir . '/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Return_.php', - 'phpDocumentor\\Reflection\\DocBlock\\Tags\\See' => $vendorDir . '/phpdocumentor/reflection-docblock/src/DocBlock/Tags/See.php', - 'phpDocumentor\\Reflection\\DocBlock\\Tags\\Since' => $vendorDir . '/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Since.php', - 'phpDocumentor\\Reflection\\DocBlock\\Tags\\Source' => $vendorDir . '/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Source.php', - 'phpDocumentor\\Reflection\\DocBlock\\Tags\\Throws' => $vendorDir . '/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Throws.php', - 'phpDocumentor\\Reflection\\DocBlock\\Tags\\Uses' => $vendorDir . '/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Uses.php', - 'phpDocumentor\\Reflection\\DocBlock\\Tags\\Var_' => $vendorDir . '/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Var_.php', - 'phpDocumentor\\Reflection\\DocBlock\\Tags\\Version' => $vendorDir . '/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Version.php', - 'phpDocumentor\\Reflection\\Element' => $vendorDir . '/phpdocumentor/reflection-common/src/Element.php', - 'phpDocumentor\\Reflection\\File' => $vendorDir . '/phpdocumentor/reflection-common/src/File.php', - 'phpDocumentor\\Reflection\\Fqsen' => $vendorDir . '/phpdocumentor/reflection-common/src/Fqsen.php', - 'phpDocumentor\\Reflection\\FqsenResolver' => $vendorDir . '/phpdocumentor/type-resolver/src/FqsenResolver.php', - 'phpDocumentor\\Reflection\\Location' => $vendorDir . '/phpdocumentor/reflection-common/src/Location.php', - 'phpDocumentor\\Reflection\\Project' => $vendorDir . '/phpdocumentor/reflection-common/src/Project.php', - 'phpDocumentor\\Reflection\\ProjectFactory' => $vendorDir . '/phpdocumentor/reflection-common/src/ProjectFactory.php', - 'phpDocumentor\\Reflection\\Type' => $vendorDir . '/phpdocumentor/type-resolver/src/Type.php', - 'phpDocumentor\\Reflection\\TypeResolver' => $vendorDir . '/phpdocumentor/type-resolver/src/TypeResolver.php', - 'phpDocumentor\\Reflection\\Types\\AbstractList' => $vendorDir . '/phpdocumentor/type-resolver/src/Types/AbstractList.php', - 'phpDocumentor\\Reflection\\Types\\Array_' => $vendorDir . '/phpdocumentor/type-resolver/src/Types/Array_.php', - 'phpDocumentor\\Reflection\\Types\\Boolean' => $vendorDir . '/phpdocumentor/type-resolver/src/Types/Boolean.php', - 'phpDocumentor\\Reflection\\Types\\Callable_' => $vendorDir . '/phpdocumentor/type-resolver/src/Types/Callable_.php', - 'phpDocumentor\\Reflection\\Types\\Collection' => $vendorDir . '/phpdocumentor/type-resolver/src/Types/Collection.php', - 'phpDocumentor\\Reflection\\Types\\Compound' => $vendorDir . '/phpdocumentor/type-resolver/src/Types/Compound.php', - 'phpDocumentor\\Reflection\\Types\\Context' => $vendorDir . '/phpdocumentor/type-resolver/src/Types/Context.php', - 'phpDocumentor\\Reflection\\Types\\ContextFactory' => $vendorDir . '/phpdocumentor/type-resolver/src/Types/ContextFactory.php', - 'phpDocumentor\\Reflection\\Types\\Float_' => $vendorDir . '/phpdocumentor/type-resolver/src/Types/Float_.php', - 'phpDocumentor\\Reflection\\Types\\Integer' => $vendorDir . '/phpdocumentor/type-resolver/src/Types/Integer.php', - 'phpDocumentor\\Reflection\\Types\\Iterable_' => $vendorDir . '/phpdocumentor/type-resolver/src/Types/Iterable_.php', - 'phpDocumentor\\Reflection\\Types\\Mixed_' => $vendorDir . '/phpdocumentor/type-resolver/src/Types/Mixed_.php', - 'phpDocumentor\\Reflection\\Types\\Null_' => $vendorDir . '/phpdocumentor/type-resolver/src/Types/Null_.php', - 'phpDocumentor\\Reflection\\Types\\Nullable' => $vendorDir . '/phpdocumentor/type-resolver/src/Types/Nullable.php', - 'phpDocumentor\\Reflection\\Types\\Object_' => $vendorDir . '/phpdocumentor/type-resolver/src/Types/Object_.php', - 'phpDocumentor\\Reflection\\Types\\Parent_' => $vendorDir . '/phpdocumentor/type-resolver/src/Types/Parent_.php', - 'phpDocumentor\\Reflection\\Types\\Resource_' => $vendorDir . '/phpdocumentor/type-resolver/src/Types/Resource_.php', - 'phpDocumentor\\Reflection\\Types\\Scalar' => $vendorDir . '/phpdocumentor/type-resolver/src/Types/Scalar.php', - 'phpDocumentor\\Reflection\\Types\\Self_' => $vendorDir . '/phpdocumentor/type-resolver/src/Types/Self_.php', - 'phpDocumentor\\Reflection\\Types\\Static_' => $vendorDir . '/phpdocumentor/type-resolver/src/Types/Static_.php', - 'phpDocumentor\\Reflection\\Types\\String_' => $vendorDir . '/phpdocumentor/type-resolver/src/Types/String_.php', - 'phpDocumentor\\Reflection\\Types\\This' => $vendorDir . '/phpdocumentor/type-resolver/src/Types/This.php', - 'phpDocumentor\\Reflection\\Types\\Void_' => $vendorDir . '/phpdocumentor/type-resolver/src/Types/Void_.php', -); diff --git a/paragonik-backend/vendor/composer/autoload_files.php b/paragonik-backend/vendor/composer/autoload_files.php deleted file mode 100644 index 9713e11..0000000 --- a/paragonik-backend/vendor/composer/autoload_files.php +++ /dev/null @@ -1,24 +0,0 @@ - $vendorDir . '/symfony/polyfill-mbstring/bootstrap.php', - '25072dd6e2470089de65ae7bf11d3109' => $vendorDir . '/symfony/polyfill-php72/bootstrap.php', - 'f598d06aa772fa33d905e87be6398fb1' => $vendorDir . '/symfony/polyfill-intl-idn/bootstrap.php', - '0d59ee240a4cd96ddbb4ff164fccea4d' => $vendorDir . '/symfony/polyfill-php73/bootstrap.php', - '320cde22f66dd4f5d3fd621d3e88b98f' => $vendorDir . '/symfony/polyfill-ctype/bootstrap.php', - '667aeda72477189d0494fecd327c3641' => $vendorDir . '/symfony/var-dumper/Resources/functions/dump.php', - 'def43f6c87e4f8dfd0c9e1b1bab14fe8' => $vendorDir . '/symfony/polyfill-iconv/bootstrap.php', - '2c102faa651ef8ea5874edb585946bce' => $vendorDir . '/swiftmailer/swiftmailer/lib/swift_required.php', - '538ca81a9a966a6716601ecf48f4eaef' => $vendorDir . '/opis/closure/functions.php', - 'e39a8b23c42d4e1452234d762b03835a' => $vendorDir . '/ramsey/uuid/src/functions.php', - 'f0906e6318348a765ffb6eb24e0d0938' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/helpers.php', - '58571171fd5812e6e447dce228f52f4d' => $vendorDir . '/laravel/framework/src/Illuminate/Support/helpers.php', - '6124b4c8570aa390c21fafd04a26c69f' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/deep_copy.php', - '801c31d8ed748cfa537fa45402288c95' => $vendorDir . '/psy/psysh/src/functions.php', - '0d8253363903f0ac7b0978dcde4e28a0' => $vendorDir . '/beyondcode/laravel-dump-server/helpers.php', -); diff --git a/paragonik-backend/vendor/composer/autoload_namespaces.php b/paragonik-backend/vendor/composer/autoload_namespaces.php deleted file mode 100644 index ff8b11b..0000000 --- a/paragonik-backend/vendor/composer/autoload_namespaces.php +++ /dev/null @@ -1,11 +0,0 @@ - array($vendorDir . '/erusev/parsedown'), - 'Mockery' => array($vendorDir . '/mockery/mockery/library'), -); diff --git a/paragonik-backend/vendor/composer/autoload_psr4.php b/paragonik-backend/vendor/composer/autoload_psr4.php deleted file mode 100644 index 13ad45e..0000000 --- a/paragonik-backend/vendor/composer/autoload_psr4.php +++ /dev/null @@ -1,65 +0,0 @@ - array($vendorDir . '/phpdocumentor/reflection-common/src', $vendorDir . '/phpdocumentor/reflection-docblock/src', $vendorDir . '/phpdocumentor/type-resolver/src'), - 'XdgBaseDir\\' => array($vendorDir . '/dnoegel/php-xdg-base-dir/src'), - 'Whoops\\' => array($vendorDir . '/filp/whoops/src/Whoops'), - 'Webmozart\\Assert\\' => array($vendorDir . '/webmozart/assert/src'), - 'TijsVerkoyen\\CssToInlineStyles\\' => array($vendorDir . '/tijsverkoyen/css-to-inline-styles/src'), - 'Tests\\' => array($baseDir . '/tests'), - 'Symfony\\Polyfill\\Php73\\' => array($vendorDir . '/symfony/polyfill-php73'), - 'Symfony\\Polyfill\\Php72\\' => array($vendorDir . '/symfony/polyfill-php72'), - 'Symfony\\Polyfill\\Mbstring\\' => array($vendorDir . '/symfony/polyfill-mbstring'), - 'Symfony\\Polyfill\\Intl\\Idn\\' => array($vendorDir . '/symfony/polyfill-intl-idn'), - 'Symfony\\Polyfill\\Iconv\\' => array($vendorDir . '/symfony/polyfill-iconv'), - 'Symfony\\Polyfill\\Ctype\\' => array($vendorDir . '/symfony/polyfill-ctype'), - 'Symfony\\Contracts\\Translation\\' => array($vendorDir . '/symfony/translation-contracts'), - 'Symfony\\Contracts\\Service\\' => array($vendorDir . '/symfony/service-contracts'), - 'Symfony\\Contracts\\EventDispatcher\\' => array($vendorDir . '/symfony/event-dispatcher-contracts'), - 'Symfony\\Component\\VarDumper\\' => array($vendorDir . '/symfony/var-dumper'), - 'Symfony\\Component\\Translation\\' => array($vendorDir . '/symfony/translation'), - 'Symfony\\Component\\Routing\\' => array($vendorDir . '/symfony/routing'), - 'Symfony\\Component\\Process\\' => array($vendorDir . '/symfony/process'), - 'Symfony\\Component\\Mime\\' => array($vendorDir . '/symfony/mime'), - 'Symfony\\Component\\HttpKernel\\' => array($vendorDir . '/symfony/http-kernel'), - 'Symfony\\Component\\HttpFoundation\\' => array($vendorDir . '/symfony/http-foundation'), - 'Symfony\\Component\\Finder\\' => array($vendorDir . '/symfony/finder'), - 'Symfony\\Component\\EventDispatcher\\' => array($vendorDir . '/symfony/event-dispatcher'), - 'Symfony\\Component\\ErrorHandler\\' => array($vendorDir . '/symfony/error-handler'), - 'Symfony\\Component\\Debug\\' => array($vendorDir . '/symfony/debug'), - 'Symfony\\Component\\CssSelector\\' => array($vendorDir . '/symfony/css-selector'), - 'Symfony\\Component\\Console\\' => array($vendorDir . '/symfony/console'), - 'Ramsey\\Uuid\\' => array($vendorDir . '/ramsey/uuid/src'), - 'Psy\\' => array($vendorDir . '/psy/psysh/src'), - 'Psr\\SimpleCache\\' => array($vendorDir . '/psr/simple-cache/src'), - 'Psr\\Log\\' => array($vendorDir . '/psr/log/Psr/Log'), - 'Psr\\Container\\' => array($vendorDir . '/psr/container/src'), - 'Prophecy\\' => array($vendorDir . '/phpspec/prophecy/src/Prophecy'), - 'PhpParser\\' => array($vendorDir . '/nikic/php-parser/lib/PhpParser'), - 'PhpOption\\' => array($vendorDir . '/phpoption/phpoption/src/PhpOption'), - 'Opis\\Closure\\' => array($vendorDir . '/opis/closure/src'), - 'NunoMaduro\\Collision\\' => array($vendorDir . '/nunomaduro/collision/src'), - 'Monolog\\' => array($vendorDir . '/monolog/monolog/src/Monolog'), - 'League\\Flysystem\\' => array($vendorDir . '/league/flysystem/src'), - 'Laravel\\Tinker\\' => array($vendorDir . '/laravel/tinker/src'), - 'JakubOnderka\\PhpConsoleHighlighter\\' => array($vendorDir . '/jakub-onderka/php-console-highlighter/src'), - 'JakubOnderka\\PhpConsoleColor\\' => array($vendorDir . '/jakub-onderka/php-console-color/src'), - 'Illuminate\\' => array($vendorDir . '/laravel/framework/src/Illuminate'), - 'Fideloper\\Proxy\\' => array($vendorDir . '/fideloper/proxy/src'), - 'Faker\\' => array($vendorDir . '/fzaninotto/faker/src/Faker'), - 'Egulias\\EmailValidator\\' => array($vendorDir . '/egulias/email-validator/EmailValidator'), - 'Dotenv\\' => array($vendorDir . '/vlucas/phpdotenv/src'), - 'Doctrine\\Instantiator\\' => array($vendorDir . '/doctrine/instantiator/src/Doctrine/Instantiator'), - 'Doctrine\\Common\\Lexer\\' => array($vendorDir . '/doctrine/lexer/lib/Doctrine/Common/Lexer'), - 'Doctrine\\Common\\Inflector\\' => array($vendorDir . '/doctrine/inflector/lib/Doctrine/Common/Inflector'), - 'DeepCopy\\' => array($vendorDir . '/myclabs/deep-copy/src/DeepCopy'), - 'Cron\\' => array($vendorDir . '/dragonmantank/cron-expression/src/Cron'), - 'Carbon\\' => array($vendorDir . '/nesbot/carbon/src/Carbon'), - 'BeyondCode\\DumpServer\\' => array($vendorDir . '/beyondcode/laravel-dump-server/src'), - 'App\\' => array($baseDir . '/app'), -); diff --git a/paragonik-backend/vendor/composer/autoload_real.php b/paragonik-backend/vendor/composer/autoload_real.php deleted file mode 100644 index 5ebfe44..0000000 --- a/paragonik-backend/vendor/composer/autoload_real.php +++ /dev/null @@ -1,70 +0,0 @@ -= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded()); - if ($useStaticLoader) { - require_once __DIR__ . '/autoload_static.php'; - - call_user_func(\Composer\Autoload\ComposerStaticInit76924bd72d9b9f2ec5cdd3db4408b7ff::getInitializer($loader)); - } else { - $map = require __DIR__ . '/autoload_namespaces.php'; - foreach ($map as $namespace => $path) { - $loader->set($namespace, $path); - } - - $map = require __DIR__ . '/autoload_psr4.php'; - foreach ($map as $namespace => $path) { - $loader->setPsr4($namespace, $path); - } - - $classMap = require __DIR__ . '/autoload_classmap.php'; - if ($classMap) { - $loader->addClassMap($classMap); - } - } - - $loader->register(true); - - if ($useStaticLoader) { - $includeFiles = Composer\Autoload\ComposerStaticInit76924bd72d9b9f2ec5cdd3db4408b7ff::$files; - } else { - $includeFiles = require __DIR__ . '/autoload_files.php'; - } - foreach ($includeFiles as $fileIdentifier => $file) { - composerRequire76924bd72d9b9f2ec5cdd3db4408b7ff($fileIdentifier, $file); - } - - return $loader; - } -} - -function composerRequire76924bd72d9b9f2ec5cdd3db4408b7ff($fileIdentifier, $file) -{ - if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) { - require $file; - - $GLOBALS['__composer_autoload_files'][$fileIdentifier] = true; - } -} diff --git a/paragonik-backend/vendor/composer/autoload_static.php b/paragonik-backend/vendor/composer/autoload_static.php deleted file mode 100644 index e2998d8..0000000 --- a/paragonik-backend/vendor/composer/autoload_static.php +++ /dev/null @@ -1,4095 +0,0 @@ - __DIR__ . '/..' . '/symfony/polyfill-mbstring/bootstrap.php', - '25072dd6e2470089de65ae7bf11d3109' => __DIR__ . '/..' . '/symfony/polyfill-php72/bootstrap.php', - 'f598d06aa772fa33d905e87be6398fb1' => __DIR__ . '/..' . '/symfony/polyfill-intl-idn/bootstrap.php', - '0d59ee240a4cd96ddbb4ff164fccea4d' => __DIR__ . '/..' . '/symfony/polyfill-php73/bootstrap.php', - '320cde22f66dd4f5d3fd621d3e88b98f' => __DIR__ . '/..' . '/symfony/polyfill-ctype/bootstrap.php', - '667aeda72477189d0494fecd327c3641' => __DIR__ . '/..' . '/symfony/var-dumper/Resources/functions/dump.php', - 'def43f6c87e4f8dfd0c9e1b1bab14fe8' => __DIR__ . '/..' . '/symfony/polyfill-iconv/bootstrap.php', - '2c102faa651ef8ea5874edb585946bce' => __DIR__ . '/..' . '/swiftmailer/swiftmailer/lib/swift_required.php', - '538ca81a9a966a6716601ecf48f4eaef' => __DIR__ . '/..' . '/opis/closure/functions.php', - 'e39a8b23c42d4e1452234d762b03835a' => __DIR__ . '/..' . '/ramsey/uuid/src/functions.php', - 'f0906e6318348a765ffb6eb24e0d0938' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/helpers.php', - '58571171fd5812e6e447dce228f52f4d' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Support/helpers.php', - '6124b4c8570aa390c21fafd04a26c69f' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/deep_copy.php', - '801c31d8ed748cfa537fa45402288c95' => __DIR__ . '/..' . '/psy/psysh/src/functions.php', - '0d8253363903f0ac7b0978dcde4e28a0' => __DIR__ . '/..' . '/beyondcode/laravel-dump-server/helpers.php', - ); - - public static $prefixLengthsPsr4 = array ( - 'p' => - array ( - 'phpDocumentor\\Reflection\\' => 25, - ), - 'X' => - array ( - 'XdgBaseDir\\' => 11, - ), - 'W' => - array ( - 'Whoops\\' => 7, - 'Webmozart\\Assert\\' => 17, - ), - 'T' => - array ( - 'TijsVerkoyen\\CssToInlineStyles\\' => 31, - 'Tests\\' => 6, - ), - 'S' => - array ( - 'Symfony\\Polyfill\\Php73\\' => 23, - 'Symfony\\Polyfill\\Php72\\' => 23, - 'Symfony\\Polyfill\\Mbstring\\' => 26, - 'Symfony\\Polyfill\\Intl\\Idn\\' => 26, - 'Symfony\\Polyfill\\Iconv\\' => 23, - 'Symfony\\Polyfill\\Ctype\\' => 23, - 'Symfony\\Contracts\\Translation\\' => 30, - 'Symfony\\Contracts\\Service\\' => 26, - 'Symfony\\Contracts\\EventDispatcher\\' => 34, - 'Symfony\\Component\\VarDumper\\' => 28, - 'Symfony\\Component\\Translation\\' => 30, - 'Symfony\\Component\\Routing\\' => 26, - 'Symfony\\Component\\Process\\' => 26, - 'Symfony\\Component\\Mime\\' => 23, - 'Symfony\\Component\\HttpKernel\\' => 29, - 'Symfony\\Component\\HttpFoundation\\' => 33, - 'Symfony\\Component\\Finder\\' => 25, - 'Symfony\\Component\\EventDispatcher\\' => 34, - 'Symfony\\Component\\ErrorHandler\\' => 31, - 'Symfony\\Component\\Debug\\' => 24, - 'Symfony\\Component\\CssSelector\\' => 30, - 'Symfony\\Component\\Console\\' => 26, - ), - 'R' => - array ( - 'Ramsey\\Uuid\\' => 12, - ), - 'P' => - array ( - 'Psy\\' => 4, - 'Psr\\SimpleCache\\' => 16, - 'Psr\\Log\\' => 8, - 'Psr\\Container\\' => 14, - 'Prophecy\\' => 9, - 'PhpParser\\' => 10, - 'PhpOption\\' => 10, - ), - 'O' => - array ( - 'Opis\\Closure\\' => 13, - ), - 'N' => - array ( - 'NunoMaduro\\Collision\\' => 21, - ), - 'M' => - array ( - 'Monolog\\' => 8, - ), - 'L' => - array ( - 'League\\Flysystem\\' => 17, - 'Laravel\\Tinker\\' => 15, - ), - 'J' => - array ( - 'JakubOnderka\\PhpConsoleHighlighter\\' => 35, - 'JakubOnderka\\PhpConsoleColor\\' => 29, - ), - 'I' => - array ( - 'Illuminate\\' => 11, - ), - 'F' => - array ( - 'Fideloper\\Proxy\\' => 16, - 'Faker\\' => 6, - ), - 'E' => - array ( - 'Egulias\\EmailValidator\\' => 23, - ), - 'D' => - array ( - 'Dotenv\\' => 7, - 'Doctrine\\Instantiator\\' => 22, - 'Doctrine\\Common\\Lexer\\' => 22, - 'Doctrine\\Common\\Inflector\\' => 26, - 'DeepCopy\\' => 9, - ), - 'C' => - array ( - 'Cron\\' => 5, - 'Carbon\\' => 7, - ), - 'B' => - array ( - 'BeyondCode\\DumpServer\\' => 22, - ), - 'A' => - array ( - 'App\\' => 4, - ), - ); - - public static $prefixDirsPsr4 = array ( - 'phpDocumentor\\Reflection\\' => - array ( - 0 => __DIR__ . '/..' . '/phpdocumentor/reflection-common/src', - 1 => __DIR__ . '/..' . '/phpdocumentor/reflection-docblock/src', - 2 => __DIR__ . '/..' . '/phpdocumentor/type-resolver/src', - ), - 'XdgBaseDir\\' => - array ( - 0 => __DIR__ . '/..' . '/dnoegel/php-xdg-base-dir/src', - ), - 'Whoops\\' => - array ( - 0 => __DIR__ . '/..' . '/filp/whoops/src/Whoops', - ), - 'Webmozart\\Assert\\' => - array ( - 0 => __DIR__ . '/..' . '/webmozart/assert/src', - ), - 'TijsVerkoyen\\CssToInlineStyles\\' => - array ( - 0 => __DIR__ . '/..' . '/tijsverkoyen/css-to-inline-styles/src', - ), - 'Tests\\' => - array ( - 0 => __DIR__ . '/../..' . '/tests', - ), - 'Symfony\\Polyfill\\Php73\\' => - array ( - 0 => __DIR__ . '/..' . '/symfony/polyfill-php73', - ), - 'Symfony\\Polyfill\\Php72\\' => - array ( - 0 => __DIR__ . '/..' . '/symfony/polyfill-php72', - ), - 'Symfony\\Polyfill\\Mbstring\\' => - array ( - 0 => __DIR__ . '/..' . '/symfony/polyfill-mbstring', - ), - 'Symfony\\Polyfill\\Intl\\Idn\\' => - array ( - 0 => __DIR__ . '/..' . '/symfony/polyfill-intl-idn', - ), - 'Symfony\\Polyfill\\Iconv\\' => - array ( - 0 => __DIR__ . '/..' . '/symfony/polyfill-iconv', - ), - 'Symfony\\Polyfill\\Ctype\\' => - array ( - 0 => __DIR__ . '/..' . '/symfony/polyfill-ctype', - ), - 'Symfony\\Contracts\\Translation\\' => - array ( - 0 => __DIR__ . '/..' . '/symfony/translation-contracts', - ), - 'Symfony\\Contracts\\Service\\' => - array ( - 0 => __DIR__ . '/..' . '/symfony/service-contracts', - ), - 'Symfony\\Contracts\\EventDispatcher\\' => - array ( - 0 => __DIR__ . '/..' . '/symfony/event-dispatcher-contracts', - ), - 'Symfony\\Component\\VarDumper\\' => - array ( - 0 => __DIR__ . '/..' . '/symfony/var-dumper', - ), - 'Symfony\\Component\\Translation\\' => - array ( - 0 => __DIR__ . '/..' . '/symfony/translation', - ), - 'Symfony\\Component\\Routing\\' => - array ( - 0 => __DIR__ . '/..' . '/symfony/routing', - ), - 'Symfony\\Component\\Process\\' => - array ( - 0 => __DIR__ . '/..' . '/symfony/process', - ), - 'Symfony\\Component\\Mime\\' => - array ( - 0 => __DIR__ . '/..' . '/symfony/mime', - ), - 'Symfony\\Component\\HttpKernel\\' => - array ( - 0 => __DIR__ . '/..' . '/symfony/http-kernel', - ), - 'Symfony\\Component\\HttpFoundation\\' => - array ( - 0 => __DIR__ . '/..' . '/symfony/http-foundation', - ), - 'Symfony\\Component\\Finder\\' => - array ( - 0 => __DIR__ . '/..' . '/symfony/finder', - ), - 'Symfony\\Component\\EventDispatcher\\' => - array ( - 0 => __DIR__ . '/..' . '/symfony/event-dispatcher', - ), - 'Symfony\\Component\\ErrorHandler\\' => - array ( - 0 => __DIR__ . '/..' . '/symfony/error-handler', - ), - 'Symfony\\Component\\Debug\\' => - array ( - 0 => __DIR__ . '/..' . '/symfony/debug', - ), - 'Symfony\\Component\\CssSelector\\' => - array ( - 0 => __DIR__ . '/..' . '/symfony/css-selector', - ), - 'Symfony\\Component\\Console\\' => - array ( - 0 => __DIR__ . '/..' . '/symfony/console', - ), - 'Ramsey\\Uuid\\' => - array ( - 0 => __DIR__ . '/..' . '/ramsey/uuid/src', - ), - 'Psy\\' => - array ( - 0 => __DIR__ . '/..' . '/psy/psysh/src', - ), - 'Psr\\SimpleCache\\' => - array ( - 0 => __DIR__ . '/..' . '/psr/simple-cache/src', - ), - 'Psr\\Log\\' => - array ( - 0 => __DIR__ . '/..' . '/psr/log/Psr/Log', - ), - 'Psr\\Container\\' => - array ( - 0 => __DIR__ . '/..' . '/psr/container/src', - ), - 'Prophecy\\' => - array ( - 0 => __DIR__ . '/..' . '/phpspec/prophecy/src/Prophecy', - ), - 'PhpParser\\' => - array ( - 0 => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser', - ), - 'PhpOption\\' => - array ( - 0 => __DIR__ . '/..' . '/phpoption/phpoption/src/PhpOption', - ), - 'Opis\\Closure\\' => - array ( - 0 => __DIR__ . '/..' . '/opis/closure/src', - ), - 'NunoMaduro\\Collision\\' => - array ( - 0 => __DIR__ . '/..' . '/nunomaduro/collision/src', - ), - 'Monolog\\' => - array ( - 0 => __DIR__ . '/..' . '/monolog/monolog/src/Monolog', - ), - 'League\\Flysystem\\' => - array ( - 0 => __DIR__ . '/..' . '/league/flysystem/src', - ), - 'Laravel\\Tinker\\' => - array ( - 0 => __DIR__ . '/..' . '/laravel/tinker/src', - ), - 'JakubOnderka\\PhpConsoleHighlighter\\' => - array ( - 0 => __DIR__ . '/..' . '/jakub-onderka/php-console-highlighter/src', - ), - 'JakubOnderka\\PhpConsoleColor\\' => - array ( - 0 => __DIR__ . '/..' . '/jakub-onderka/php-console-color/src', - ), - 'Illuminate\\' => - array ( - 0 => __DIR__ . '/..' . '/laravel/framework/src/Illuminate', - ), - 'Fideloper\\Proxy\\' => - array ( - 0 => __DIR__ . '/..' . '/fideloper/proxy/src', - ), - 'Faker\\' => - array ( - 0 => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker', - ), - 'Egulias\\EmailValidator\\' => - array ( - 0 => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator', - ), - 'Dotenv\\' => - array ( - 0 => __DIR__ . '/..' . '/vlucas/phpdotenv/src', - ), - 'Doctrine\\Instantiator\\' => - array ( - 0 => __DIR__ . '/..' . '/doctrine/instantiator/src/Doctrine/Instantiator', - ), - 'Doctrine\\Common\\Lexer\\' => - array ( - 0 => __DIR__ . '/..' . '/doctrine/lexer/lib/Doctrine/Common/Lexer', - ), - 'Doctrine\\Common\\Inflector\\' => - array ( - 0 => __DIR__ . '/..' . '/doctrine/inflector/lib/Doctrine/Common/Inflector', - ), - 'DeepCopy\\' => - array ( - 0 => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy', - ), - 'Cron\\' => - array ( - 0 => __DIR__ . '/..' . '/dragonmantank/cron-expression/src/Cron', - ), - 'Carbon\\' => - array ( - 0 => __DIR__ . '/..' . '/nesbot/carbon/src/Carbon', - ), - 'BeyondCode\\DumpServer\\' => - array ( - 0 => __DIR__ . '/..' . '/beyondcode/laravel-dump-server/src', - ), - 'App\\' => - array ( - 0 => __DIR__ . '/../..' . '/app', - ), - ); - - public static $prefixesPsr0 = array ( - 'P' => - array ( - 'Parsedown' => - array ( - 0 => __DIR__ . '/..' . '/erusev/parsedown', - ), - ), - 'M' => - array ( - 'Mockery' => - array ( - 0 => __DIR__ . '/..' . '/mockery/mockery/library', - ), - ), - ); - - public static $classMap = array ( - 'App\\Console\\Kernel' => __DIR__ . '/../..' . '/app/Console/Kernel.php', - 'App\\Exceptions\\Handler' => __DIR__ . '/../..' . '/app/Exceptions/Handler.php', - 'App\\Http\\Controllers\\Auth\\ForgotPasswordController' => __DIR__ . '/../..' . '/app/Http/Controllers/Auth/ForgotPasswordController.php', - 'App\\Http\\Controllers\\Auth\\LoginController' => __DIR__ . '/../..' . '/app/Http/Controllers/Auth/LoginController.php', - 'App\\Http\\Controllers\\Auth\\RegisterController' => __DIR__ . '/../..' . '/app/Http/Controllers/Auth/RegisterController.php', - 'App\\Http\\Controllers\\Auth\\ResetPasswordController' => __DIR__ . '/../..' . '/app/Http/Controllers/Auth/ResetPasswordController.php', - 'App\\Http\\Controllers\\Auth\\VerificationController' => __DIR__ . '/../..' . '/app/Http/Controllers/Auth/VerificationController.php', - 'App\\Http\\Controllers\\Controller' => __DIR__ . '/../..' . '/app/Http/Controllers/Controller.php', - 'App\\Http\\Kernel' => __DIR__ . '/../..' . '/app/Http/Kernel.php', - 'App\\Http\\Middleware\\Authenticate' => __DIR__ . '/../..' . '/app/Http/Middleware/Authenticate.php', - 'App\\Http\\Middleware\\CheckForMaintenanceMode' => __DIR__ . '/../..' . '/app/Http/Middleware/CheckForMaintenanceMode.php', - 'App\\Http\\Middleware\\EncryptCookies' => __DIR__ . '/../..' . '/app/Http/Middleware/EncryptCookies.php', - 'App\\Http\\Middleware\\RedirectIfAuthenticated' => __DIR__ . '/../..' . '/app/Http/Middleware/RedirectIfAuthenticated.php', - 'App\\Http\\Middleware\\TrimStrings' => __DIR__ . '/../..' . '/app/Http/Middleware/TrimStrings.php', - 'App\\Http\\Middleware\\TrustProxies' => __DIR__ . '/../..' . '/app/Http/Middleware/TrustProxies.php', - 'App\\Http\\Middleware\\VerifyCsrfToken' => __DIR__ . '/../..' . '/app/Http/Middleware/VerifyCsrfToken.php', - 'App\\Providers\\AppServiceProvider' => __DIR__ . '/../..' . '/app/Providers/AppServiceProvider.php', - 'App\\Providers\\AuthServiceProvider' => __DIR__ . '/../..' . '/app/Providers/AuthServiceProvider.php', - 'App\\Providers\\BroadcastServiceProvider' => __DIR__ . '/../..' . '/app/Providers/BroadcastServiceProvider.php', - 'App\\Providers\\EventServiceProvider' => __DIR__ . '/../..' . '/app/Providers/EventServiceProvider.php', - 'App\\Providers\\RouteServiceProvider' => __DIR__ . '/../..' . '/app/Providers/RouteServiceProvider.php', - 'App\\User' => __DIR__ . '/../..' . '/app/User.php', - 'BeyondCode\\DumpServer\\DumpServerCommand' => __DIR__ . '/..' . '/beyondcode/laravel-dump-server/src/DumpServerCommand.php', - 'BeyondCode\\DumpServer\\DumpServerServiceProvider' => __DIR__ . '/..' . '/beyondcode/laravel-dump-server/src/DumpServerServiceProvider.php', - 'BeyondCode\\DumpServer\\Dumper' => __DIR__ . '/..' . '/beyondcode/laravel-dump-server/src/Dumper.php', - 'BeyondCode\\DumpServer\\RequestContextProvider' => __DIR__ . '/..' . '/beyondcode/laravel-dump-server/src/RequestContextProvider.php', - 'Carbon\\Carbon' => __DIR__ . '/..' . '/nesbot/carbon/src/Carbon/Carbon.php', - 'Carbon\\CarbonImmutable' => __DIR__ . '/..' . '/nesbot/carbon/src/Carbon/CarbonImmutable.php', - 'Carbon\\CarbonInterface' => __DIR__ . '/..' . '/nesbot/carbon/src/Carbon/CarbonInterface.php', - 'Carbon\\CarbonInterval' => __DIR__ . '/..' . '/nesbot/carbon/src/Carbon/CarbonInterval.php', - 'Carbon\\CarbonPeriod' => __DIR__ . '/..' . '/nesbot/carbon/src/Carbon/CarbonPeriod.php', - 'Carbon\\CarbonTimeZone' => __DIR__ . '/..' . '/nesbot/carbon/src/Carbon/CarbonTimeZone.php', - 'Carbon\\Cli\\Invoker' => __DIR__ . '/..' . '/nesbot/carbon/src/Carbon/Cli/Invoker.php', - 'Carbon\\Exceptions\\BadUnitException' => __DIR__ . '/..' . '/nesbot/carbon/src/Carbon/Exceptions/BadUnitException.php', - 'Carbon\\Exceptions\\InvalidDateException' => __DIR__ . '/..' . '/nesbot/carbon/src/Carbon/Exceptions/InvalidDateException.php', - 'Carbon\\Exceptions\\NotAPeriodException' => __DIR__ . '/..' . '/nesbot/carbon/src/Carbon/Exceptions/NotAPeriodException.php', - 'Carbon\\Exceptions\\ParseErrorException' => __DIR__ . '/..' . '/nesbot/carbon/src/Carbon/Exceptions/ParseErrorException.php', - 'Carbon\\Factory' => __DIR__ . '/..' . '/nesbot/carbon/src/Carbon/Factory.php', - 'Carbon\\FactoryImmutable' => __DIR__ . '/..' . '/nesbot/carbon/src/Carbon/FactoryImmutable.php', - 'Carbon\\Language' => __DIR__ . '/..' . '/nesbot/carbon/src/Carbon/Language.php', - 'Carbon\\Laravel\\ServiceProvider' => __DIR__ . '/..' . '/nesbot/carbon/src/Carbon/Laravel/ServiceProvider.php', - 'Carbon\\Traits\\Boundaries' => __DIR__ . '/..' . '/nesbot/carbon/src/Carbon/Traits/Boundaries.php', - 'Carbon\\Traits\\Cast' => __DIR__ . '/..' . '/nesbot/carbon/src/Carbon/Traits/Cast.php', - 'Carbon\\Traits\\Comparison' => __DIR__ . '/..' . '/nesbot/carbon/src/Carbon/Traits/Comparison.php', - 'Carbon\\Traits\\Converter' => __DIR__ . '/..' . '/nesbot/carbon/src/Carbon/Traits/Converter.php', - 'Carbon\\Traits\\Creator' => __DIR__ . '/..' . '/nesbot/carbon/src/Carbon/Traits/Creator.php', - 'Carbon\\Traits\\Date' => __DIR__ . '/..' . '/nesbot/carbon/src/Carbon/Traits/Date.php', - 'Carbon\\Traits\\Difference' => __DIR__ . '/..' . '/nesbot/carbon/src/Carbon/Traits/Difference.php', - 'Carbon\\Traits\\Localization' => __DIR__ . '/..' . '/nesbot/carbon/src/Carbon/Traits/Localization.php', - 'Carbon\\Traits\\Macro' => __DIR__ . '/..' . '/nesbot/carbon/src/Carbon/Traits/Macro.php', - 'Carbon\\Traits\\Mixin' => __DIR__ . '/..' . '/nesbot/carbon/src/Carbon/Traits/Mixin.php', - 'Carbon\\Traits\\Modifiers' => __DIR__ . '/..' . '/nesbot/carbon/src/Carbon/Traits/Modifiers.php', - 'Carbon\\Traits\\Mutability' => __DIR__ . '/..' . '/nesbot/carbon/src/Carbon/Traits/Mutability.php', - 'Carbon\\Traits\\Options' => __DIR__ . '/..' . '/nesbot/carbon/src/Carbon/Traits/Options.php', - 'Carbon\\Traits\\Rounding' => __DIR__ . '/..' . '/nesbot/carbon/src/Carbon/Traits/Rounding.php', - 'Carbon\\Traits\\Serialization' => __DIR__ . '/..' . '/nesbot/carbon/src/Carbon/Traits/Serialization.php', - 'Carbon\\Traits\\Test' => __DIR__ . '/..' . '/nesbot/carbon/src/Carbon/Traits/Test.php', - 'Carbon\\Traits\\Timestamp' => __DIR__ . '/..' . '/nesbot/carbon/src/Carbon/Traits/Timestamp.php', - 'Carbon\\Traits\\Units' => __DIR__ . '/..' . '/nesbot/carbon/src/Carbon/Traits/Units.php', - 'Carbon\\Traits\\Week' => __DIR__ . '/..' . '/nesbot/carbon/src/Carbon/Traits/Week.php', - 'Carbon\\Translator' => __DIR__ . '/..' . '/nesbot/carbon/src/Carbon/Translator.php', - 'Cron\\AbstractField' => __DIR__ . '/..' . '/dragonmantank/cron-expression/src/Cron/AbstractField.php', - 'Cron\\CronExpression' => __DIR__ . '/..' . '/dragonmantank/cron-expression/src/Cron/CronExpression.php', - 'Cron\\DayOfMonthField' => __DIR__ . '/..' . '/dragonmantank/cron-expression/src/Cron/DayOfMonthField.php', - 'Cron\\DayOfWeekField' => __DIR__ . '/..' . '/dragonmantank/cron-expression/src/Cron/DayOfWeekField.php', - 'Cron\\FieldFactory' => __DIR__ . '/..' . '/dragonmantank/cron-expression/src/Cron/FieldFactory.php', - 'Cron\\FieldInterface' => __DIR__ . '/..' . '/dragonmantank/cron-expression/src/Cron/FieldInterface.php', - 'Cron\\HoursField' => __DIR__ . '/..' . '/dragonmantank/cron-expression/src/Cron/HoursField.php', - 'Cron\\MinutesField' => __DIR__ . '/..' . '/dragonmantank/cron-expression/src/Cron/MinutesField.php', - 'Cron\\MonthField' => __DIR__ . '/..' . '/dragonmantank/cron-expression/src/Cron/MonthField.php', - 'DatabaseSeeder' => __DIR__ . '/../..' . '/database/seeds/DatabaseSeeder.php', - 'DeepCopy\\DeepCopy' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/DeepCopy.php', - 'DeepCopy\\Exception\\CloneException' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/Exception/CloneException.php', - 'DeepCopy\\Exception\\PropertyException' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/Exception/PropertyException.php', - 'DeepCopy\\Filter\\Doctrine\\DoctrineCollectionFilter' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/Filter/Doctrine/DoctrineCollectionFilter.php', - 'DeepCopy\\Filter\\Doctrine\\DoctrineEmptyCollectionFilter' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/Filter/Doctrine/DoctrineEmptyCollectionFilter.php', - 'DeepCopy\\Filter\\Doctrine\\DoctrineProxyFilter' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/Filter/Doctrine/DoctrineProxyFilter.php', - 'DeepCopy\\Filter\\Filter' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/Filter/Filter.php', - 'DeepCopy\\Filter\\KeepFilter' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/Filter/KeepFilter.php', - 'DeepCopy\\Filter\\ReplaceFilter' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/Filter/ReplaceFilter.php', - 'DeepCopy\\Filter\\SetNullFilter' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/Filter/SetNullFilter.php', - 'DeepCopy\\Matcher\\Doctrine\\DoctrineProxyMatcher' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/Matcher/Doctrine/DoctrineProxyMatcher.php', - 'DeepCopy\\Matcher\\Matcher' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/Matcher/Matcher.php', - 'DeepCopy\\Matcher\\PropertyMatcher' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/Matcher/PropertyMatcher.php', - 'DeepCopy\\Matcher\\PropertyNameMatcher' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/Matcher/PropertyNameMatcher.php', - 'DeepCopy\\Matcher\\PropertyTypeMatcher' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/Matcher/PropertyTypeMatcher.php', - 'DeepCopy\\Reflection\\ReflectionHelper' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/Reflection/ReflectionHelper.php', - 'DeepCopy\\TypeFilter\\Date\\DateIntervalFilter' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/TypeFilter/Date/DateIntervalFilter.php', - 'DeepCopy\\TypeFilter\\ReplaceFilter' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/TypeFilter/ReplaceFilter.php', - 'DeepCopy\\TypeFilter\\ShallowCopyFilter' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/TypeFilter/ShallowCopyFilter.php', - 'DeepCopy\\TypeFilter\\Spl\\SplDoublyLinkedList' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/TypeFilter/Spl/SplDoublyLinkedList.php', - 'DeepCopy\\TypeFilter\\Spl\\SplDoublyLinkedListFilter' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/TypeFilter/Spl/SplDoublyLinkedListFilter.php', - 'DeepCopy\\TypeFilter\\TypeFilter' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/TypeFilter/TypeFilter.php', - 'DeepCopy\\TypeMatcher\\TypeMatcher' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/TypeMatcher/TypeMatcher.php', - 'Doctrine\\Common\\Inflector\\Inflector' => __DIR__ . '/..' . '/doctrine/inflector/lib/Doctrine/Common/Inflector/Inflector.php', - 'Doctrine\\Common\\Lexer\\AbstractLexer' => __DIR__ . '/..' . '/doctrine/lexer/lib/Doctrine/Common/Lexer/AbstractLexer.php', - 'Doctrine\\Instantiator\\Exception\\ExceptionInterface' => __DIR__ . '/..' . '/doctrine/instantiator/src/Doctrine/Instantiator/Exception/ExceptionInterface.php', - 'Doctrine\\Instantiator\\Exception\\InvalidArgumentException' => __DIR__ . '/..' . '/doctrine/instantiator/src/Doctrine/Instantiator/Exception/InvalidArgumentException.php', - 'Doctrine\\Instantiator\\Exception\\UnexpectedValueException' => __DIR__ . '/..' . '/doctrine/instantiator/src/Doctrine/Instantiator/Exception/UnexpectedValueException.php', - 'Doctrine\\Instantiator\\Instantiator' => __DIR__ . '/..' . '/doctrine/instantiator/src/Doctrine/Instantiator/Instantiator.php', - 'Doctrine\\Instantiator\\InstantiatorInterface' => __DIR__ . '/..' . '/doctrine/instantiator/src/Doctrine/Instantiator/InstantiatorInterface.php', - 'Dotenv\\Dotenv' => __DIR__ . '/..' . '/vlucas/phpdotenv/src/Dotenv.php', - 'Dotenv\\Environment\\AbstractVariables' => __DIR__ . '/..' . '/vlucas/phpdotenv/src/Environment/AbstractVariables.php', - 'Dotenv\\Environment\\Adapter\\AdapterInterface' => __DIR__ . '/..' . '/vlucas/phpdotenv/src/Environment/Adapter/AdapterInterface.php', - 'Dotenv\\Environment\\Adapter\\ApacheAdapter' => __DIR__ . '/..' . '/vlucas/phpdotenv/src/Environment/Adapter/ApacheAdapter.php', - 'Dotenv\\Environment\\Adapter\\ArrayAdapter' => __DIR__ . '/..' . '/vlucas/phpdotenv/src/Environment/Adapter/ArrayAdapter.php', - 'Dotenv\\Environment\\Adapter\\EnvConstAdapter' => __DIR__ . '/..' . '/vlucas/phpdotenv/src/Environment/Adapter/EnvConstAdapter.php', - 'Dotenv\\Environment\\Adapter\\PutenvAdapter' => __DIR__ . '/..' . '/vlucas/phpdotenv/src/Environment/Adapter/PutenvAdapter.php', - 'Dotenv\\Environment\\Adapter\\ServerConstAdapter' => __DIR__ . '/..' . '/vlucas/phpdotenv/src/Environment/Adapter/ServerConstAdapter.php', - 'Dotenv\\Environment\\DotenvFactory' => __DIR__ . '/..' . '/vlucas/phpdotenv/src/Environment/DotenvFactory.php', - 'Dotenv\\Environment\\DotenvVariables' => __DIR__ . '/..' . '/vlucas/phpdotenv/src/Environment/DotenvVariables.php', - 'Dotenv\\Environment\\FactoryInterface' => __DIR__ . '/..' . '/vlucas/phpdotenv/src/Environment/FactoryInterface.php', - 'Dotenv\\Environment\\VariablesInterface' => __DIR__ . '/..' . '/vlucas/phpdotenv/src/Environment/VariablesInterface.php', - 'Dotenv\\Exception\\ExceptionInterface' => __DIR__ . '/..' . '/vlucas/phpdotenv/src/Exception/ExceptionInterface.php', - 'Dotenv\\Exception\\InvalidFileException' => __DIR__ . '/..' . '/vlucas/phpdotenv/src/Exception/InvalidFileException.php', - 'Dotenv\\Exception\\InvalidPathException' => __DIR__ . '/..' . '/vlucas/phpdotenv/src/Exception/InvalidPathException.php', - 'Dotenv\\Exception\\ValidationException' => __DIR__ . '/..' . '/vlucas/phpdotenv/src/Exception/ValidationException.php', - 'Dotenv\\Lines' => __DIR__ . '/..' . '/vlucas/phpdotenv/src/Lines.php', - 'Dotenv\\Loader' => __DIR__ . '/..' . '/vlucas/phpdotenv/src/Loader.php', - 'Dotenv\\Parser' => __DIR__ . '/..' . '/vlucas/phpdotenv/src/Parser.php', - 'Dotenv\\Regex\\Error' => __DIR__ . '/..' . '/vlucas/phpdotenv/src/Regex/Error.php', - 'Dotenv\\Regex\\Regex' => __DIR__ . '/..' . '/vlucas/phpdotenv/src/Regex/Regex.php', - 'Dotenv\\Regex\\Result' => __DIR__ . '/..' . '/vlucas/phpdotenv/src/Regex/Result.php', - 'Dotenv\\Regex\\Success' => __DIR__ . '/..' . '/vlucas/phpdotenv/src/Regex/Success.php', - 'Dotenv\\Validator' => __DIR__ . '/..' . '/vlucas/phpdotenv/src/Validator.php', - 'Egulias\\EmailValidator\\EmailLexer' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/EmailLexer.php', - 'Egulias\\EmailValidator\\EmailParser' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/EmailParser.php', - 'Egulias\\EmailValidator\\EmailValidator' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/EmailValidator.php', - 'Egulias\\EmailValidator\\Exception\\AtextAfterCFWS' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Exception/AtextAfterCFWS.php', - 'Egulias\\EmailValidator\\Exception\\CRLFAtTheEnd' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Exception/CRLFAtTheEnd.php', - 'Egulias\\EmailValidator\\Exception\\CRLFX2' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Exception/CRLFX2.php', - 'Egulias\\EmailValidator\\Exception\\CRNoLF' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Exception/CRNoLF.php', - 'Egulias\\EmailValidator\\Exception\\CharNotAllowed' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Exception/CharNotAllowed.php', - 'Egulias\\EmailValidator\\Exception\\CommaInDomain' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Exception/CommaInDomain.php', - 'Egulias\\EmailValidator\\Exception\\ConsecutiveAt' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Exception/ConsecutiveAt.php', - 'Egulias\\EmailValidator\\Exception\\ConsecutiveDot' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Exception/ConsecutiveDot.php', - 'Egulias\\EmailValidator\\Exception\\DomainHyphened' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Exception/DomainHyphened.php', - 'Egulias\\EmailValidator\\Exception\\DotAtEnd' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Exception/DotAtEnd.php', - 'Egulias\\EmailValidator\\Exception\\DotAtStart' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Exception/DotAtStart.php', - 'Egulias\\EmailValidator\\Exception\\ExpectingAT' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Exception/ExpectingAT.php', - 'Egulias\\EmailValidator\\Exception\\ExpectingATEXT' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Exception/ExpectingATEXT.php', - 'Egulias\\EmailValidator\\Exception\\ExpectingCTEXT' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Exception/ExpectingCTEXT.php', - 'Egulias\\EmailValidator\\Exception\\ExpectingDTEXT' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Exception/ExpectingDTEXT.php', - 'Egulias\\EmailValidator\\Exception\\ExpectingDomainLiteralClose' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Exception/ExpectingDomainLiteralClose.php', - 'Egulias\\EmailValidator\\Exception\\ExpectingQPair' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Exception/ExpectingQPair.php', - 'Egulias\\EmailValidator\\Exception\\InvalidEmail' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Exception/InvalidEmail.php', - 'Egulias\\EmailValidator\\Exception\\NoDNSRecord' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Exception/NoDNSRecord.php', - 'Egulias\\EmailValidator\\Exception\\NoDomainPart' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Exception/NoDomainPart.php', - 'Egulias\\EmailValidator\\Exception\\NoLocalPart' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Exception/NoLocalPart.php', - 'Egulias\\EmailValidator\\Exception\\UnclosedComment' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Exception/UnclosedComment.php', - 'Egulias\\EmailValidator\\Exception\\UnclosedQuotedString' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Exception/UnclosedQuotedString.php', - 'Egulias\\EmailValidator\\Exception\\UnopenedComment' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Exception/UnopenedComment.php', - 'Egulias\\EmailValidator\\Parser\\DomainPart' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Parser/DomainPart.php', - 'Egulias\\EmailValidator\\Parser\\LocalPart' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Parser/LocalPart.php', - 'Egulias\\EmailValidator\\Parser\\Parser' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Parser/Parser.php', - 'Egulias\\EmailValidator\\Validation\\DNSCheckValidation' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Validation/DNSCheckValidation.php', - 'Egulias\\EmailValidator\\Validation\\EmailValidation' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Validation/EmailValidation.php', - 'Egulias\\EmailValidator\\Validation\\Error\\RFCWarnings' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Validation/Error/RFCWarnings.php', - 'Egulias\\EmailValidator\\Validation\\Error\\SpoofEmail' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Validation/Error/SpoofEmail.php', - 'Egulias\\EmailValidator\\Validation\\Exception\\EmptyValidationList' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Validation/Exception/EmptyValidationList.php', - 'Egulias\\EmailValidator\\Validation\\MultipleErrors' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Validation/MultipleErrors.php', - 'Egulias\\EmailValidator\\Validation\\MultipleValidationWithAnd' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Validation/MultipleValidationWithAnd.php', - 'Egulias\\EmailValidator\\Validation\\NoRFCWarningsValidation' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Validation/NoRFCWarningsValidation.php', - 'Egulias\\EmailValidator\\Validation\\RFCValidation' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Validation/RFCValidation.php', - 'Egulias\\EmailValidator\\Validation\\SpoofCheckValidation' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Validation/SpoofCheckValidation.php', - 'Egulias\\EmailValidator\\Warning\\AddressLiteral' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Warning/AddressLiteral.php', - 'Egulias\\EmailValidator\\Warning\\CFWSNearAt' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Warning/CFWSNearAt.php', - 'Egulias\\EmailValidator\\Warning\\CFWSWithFWS' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Warning/CFWSWithFWS.php', - 'Egulias\\EmailValidator\\Warning\\Comment' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Warning/Comment.php', - 'Egulias\\EmailValidator\\Warning\\DeprecatedComment' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Warning/DeprecatedComment.php', - 'Egulias\\EmailValidator\\Warning\\DomainLiteral' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Warning/DomainLiteral.php', - 'Egulias\\EmailValidator\\Warning\\DomainTooLong' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Warning/DomainTooLong.php', - 'Egulias\\EmailValidator\\Warning\\EmailTooLong' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Warning/EmailTooLong.php', - 'Egulias\\EmailValidator\\Warning\\IPV6BadChar' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Warning/IPV6BadChar.php', - 'Egulias\\EmailValidator\\Warning\\IPV6ColonEnd' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Warning/IPV6ColonEnd.php', - 'Egulias\\EmailValidator\\Warning\\IPV6ColonStart' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Warning/IPV6ColonStart.php', - 'Egulias\\EmailValidator\\Warning\\IPV6Deprecated' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Warning/IPV6Deprecated.php', - 'Egulias\\EmailValidator\\Warning\\IPV6DoubleColon' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Warning/IPV6DoubleColon.php', - 'Egulias\\EmailValidator\\Warning\\IPV6GroupCount' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Warning/IPV6GroupCount.php', - 'Egulias\\EmailValidator\\Warning\\IPV6MaxGroups' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Warning/IPV6MaxGroups.php', - 'Egulias\\EmailValidator\\Warning\\LabelTooLong' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Warning/LabelTooLong.php', - 'Egulias\\EmailValidator\\Warning\\LocalTooLong' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Warning/LocalTooLong.php', - 'Egulias\\EmailValidator\\Warning\\NoDNSMXRecord' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Warning/NoDNSMXRecord.php', - 'Egulias\\EmailValidator\\Warning\\ObsoleteDTEXT' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Warning/ObsoleteDTEXT.php', - 'Egulias\\EmailValidator\\Warning\\QuotedPart' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Warning/QuotedPart.php', - 'Egulias\\EmailValidator\\Warning\\QuotedString' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Warning/QuotedString.php', - 'Egulias\\EmailValidator\\Warning\\TLD' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Warning/TLD.php', - 'Egulias\\EmailValidator\\Warning\\Warning' => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator/Warning/Warning.php', - 'Faker\\Calculator\\Ean' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Calculator/Ean.php', - 'Faker\\Calculator\\Iban' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Calculator/Iban.php', - 'Faker\\Calculator\\Inn' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Calculator/Inn.php', - 'Faker\\Calculator\\Luhn' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Calculator/Luhn.php', - 'Faker\\Calculator\\TCNo' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Calculator/TCNo.php', - 'Faker\\DefaultGenerator' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/DefaultGenerator.php', - 'Faker\\Documentor' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Documentor.php', - 'Faker\\Factory' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Factory.php', - 'Faker\\Generator' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Generator.php', - 'Faker\\Guesser\\Name' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Guesser/Name.php', - 'Faker\\ORM\\CakePHP\\ColumnTypeGuesser' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/ORM/CakePHP/ColumnTypeGuesser.php', - 'Faker\\ORM\\CakePHP\\EntityPopulator' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/ORM/CakePHP/EntityPopulator.php', - 'Faker\\ORM\\CakePHP\\Populator' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/ORM/CakePHP/Populator.php', - 'Faker\\ORM\\Doctrine\\ColumnTypeGuesser' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/ORM/Doctrine/ColumnTypeGuesser.php', - 'Faker\\ORM\\Doctrine\\EntityPopulator' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/ORM/Doctrine/EntityPopulator.php', - 'Faker\\ORM\\Doctrine\\Populator' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/ORM/Doctrine/Populator.php', - 'Faker\\ORM\\Mandango\\ColumnTypeGuesser' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/ORM/Mandango/ColumnTypeGuesser.php', - 'Faker\\ORM\\Mandango\\EntityPopulator' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/ORM/Mandango/EntityPopulator.php', - 'Faker\\ORM\\Mandango\\Populator' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/ORM/Mandango/Populator.php', - 'Faker\\ORM\\Propel2\\ColumnTypeGuesser' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/ORM/Propel2/ColumnTypeGuesser.php', - 'Faker\\ORM\\Propel2\\EntityPopulator' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/ORM/Propel2/EntityPopulator.php', - 'Faker\\ORM\\Propel2\\Populator' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/ORM/Propel2/Populator.php', - 'Faker\\ORM\\Propel\\ColumnTypeGuesser' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/ORM/Propel/ColumnTypeGuesser.php', - 'Faker\\ORM\\Propel\\EntityPopulator' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/ORM/Propel/EntityPopulator.php', - 'Faker\\ORM\\Propel\\Populator' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/ORM/Propel/Populator.php', - 'Faker\\ORM\\Spot\\ColumnTypeGuesser' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/ORM/Spot/ColumnTypeGuesser.php', - 'Faker\\ORM\\Spot\\EntityPopulator' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/ORM/Spot/EntityPopulator.php', - 'Faker\\ORM\\Spot\\Populator' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/ORM/Spot/Populator.php', - 'Faker\\Provider\\Address' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/Address.php', - 'Faker\\Provider\\Barcode' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/Barcode.php', - 'Faker\\Provider\\Base' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/Base.php', - 'Faker\\Provider\\Biased' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/Biased.php', - 'Faker\\Provider\\Color' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/Color.php', - 'Faker\\Provider\\Company' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/Company.php', - 'Faker\\Provider\\DateTime' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/DateTime.php', - 'Faker\\Provider\\File' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/File.php', - 'Faker\\Provider\\HtmlLorem' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/HtmlLorem.php', - 'Faker\\Provider\\Image' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/Image.php', - 'Faker\\Provider\\Internet' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/Internet.php', - 'Faker\\Provider\\Lorem' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/Lorem.php', - 'Faker\\Provider\\Miscellaneous' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/Miscellaneous.php', - 'Faker\\Provider\\Payment' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/Payment.php', - 'Faker\\Provider\\Person' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/Person.php', - 'Faker\\Provider\\PhoneNumber' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/PhoneNumber.php', - 'Faker\\Provider\\Text' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/Text.php', - 'Faker\\Provider\\UserAgent' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/UserAgent.php', - 'Faker\\Provider\\Uuid' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/Uuid.php', - 'Faker\\Provider\\ar_JO\\Address' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/ar_JO/Address.php', - 'Faker\\Provider\\ar_JO\\Company' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/ar_JO/Company.php', - 'Faker\\Provider\\ar_JO\\Internet' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/ar_JO/Internet.php', - 'Faker\\Provider\\ar_JO\\Person' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/ar_JO/Person.php', - 'Faker\\Provider\\ar_JO\\Text' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/ar_JO/Text.php', - 'Faker\\Provider\\ar_SA\\Address' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/ar_SA/Address.php', - 'Faker\\Provider\\ar_SA\\Color' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/ar_SA/Color.php', - 'Faker\\Provider\\ar_SA\\Company' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/ar_SA/Company.php', - 'Faker\\Provider\\ar_SA\\Internet' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/ar_SA/Internet.php', - 'Faker\\Provider\\ar_SA\\Payment' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/ar_SA/Payment.php', - 'Faker\\Provider\\ar_SA\\Person' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/ar_SA/Person.php', - 'Faker\\Provider\\ar_SA\\Text' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/ar_SA/Text.php', - 'Faker\\Provider\\at_AT\\Payment' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/at_AT/Payment.php', - 'Faker\\Provider\\bg_BG\\Internet' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/bg_BG/Internet.php', - 'Faker\\Provider\\bg_BG\\Payment' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/bg_BG/Payment.php', - 'Faker\\Provider\\bg_BG\\Person' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/bg_BG/Person.php', - 'Faker\\Provider\\bg_BG\\PhoneNumber' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/bg_BG/PhoneNumber.php', - 'Faker\\Provider\\bn_BD\\Address' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/bn_BD/Address.php', - 'Faker\\Provider\\bn_BD\\Company' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/bn_BD/Company.php', - 'Faker\\Provider\\bn_BD\\Person' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/bn_BD/Person.php', - 'Faker\\Provider\\bn_BD\\PhoneNumber' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/bn_BD/PhoneNumber.php', - 'Faker\\Provider\\bn_BD\\Utils' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/bn_BD/Utils.php', - 'Faker\\Provider\\cs_CZ\\Address' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/cs_CZ/Address.php', - 'Faker\\Provider\\cs_CZ\\Company' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/cs_CZ/Company.php', - 'Faker\\Provider\\cs_CZ\\DateTime' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/cs_CZ/DateTime.php', - 'Faker\\Provider\\cs_CZ\\Internet' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/cs_CZ/Internet.php', - 'Faker\\Provider\\cs_CZ\\Payment' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/cs_CZ/Payment.php', - 'Faker\\Provider\\cs_CZ\\Person' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/cs_CZ/Person.php', - 'Faker\\Provider\\cs_CZ\\PhoneNumber' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/cs_CZ/PhoneNumber.php', - 'Faker\\Provider\\cs_CZ\\Text' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/cs_CZ/Text.php', - 'Faker\\Provider\\da_DK\\Address' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/da_DK/Address.php', - 'Faker\\Provider\\da_DK\\Company' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/da_DK/Company.php', - 'Faker\\Provider\\da_DK\\Internet' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/da_DK/Internet.php', - 'Faker\\Provider\\da_DK\\Payment' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/da_DK/Payment.php', - 'Faker\\Provider\\da_DK\\Person' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/da_DK/Person.php', - 'Faker\\Provider\\da_DK\\PhoneNumber' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/da_DK/PhoneNumber.php', - 'Faker\\Provider\\de_AT\\Address' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/de_AT/Address.php', - 'Faker\\Provider\\de_AT\\Company' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/de_AT/Company.php', - 'Faker\\Provider\\de_AT\\Internet' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/de_AT/Internet.php', - 'Faker\\Provider\\de_AT\\Payment' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/de_AT/Payment.php', - 'Faker\\Provider\\de_AT\\Person' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/de_AT/Person.php', - 'Faker\\Provider\\de_AT\\PhoneNumber' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/de_AT/PhoneNumber.php', - 'Faker\\Provider\\de_AT\\Text' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/de_AT/Text.php', - 'Faker\\Provider\\de_CH\\Address' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/de_CH/Address.php', - 'Faker\\Provider\\de_CH\\Company' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/de_CH/Company.php', - 'Faker\\Provider\\de_CH\\Internet' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/de_CH/Internet.php', - 'Faker\\Provider\\de_CH\\Payment' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/de_CH/Payment.php', - 'Faker\\Provider\\de_CH\\Person' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/de_CH/Person.php', - 'Faker\\Provider\\de_CH\\PhoneNumber' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/de_CH/PhoneNumber.php', - 'Faker\\Provider\\de_CH\\Text' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/de_CH/Text.php', - 'Faker\\Provider\\de_DE\\Address' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/de_DE/Address.php', - 'Faker\\Provider\\de_DE\\Company' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/de_DE/Company.php', - 'Faker\\Provider\\de_DE\\Internet' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/de_DE/Internet.php', - 'Faker\\Provider\\de_DE\\Payment' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/de_DE/Payment.php', - 'Faker\\Provider\\de_DE\\Person' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/de_DE/Person.php', - 'Faker\\Provider\\de_DE\\PhoneNumber' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/de_DE/PhoneNumber.php', - 'Faker\\Provider\\de_DE\\Text' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/de_DE/Text.php', - 'Faker\\Provider\\el_CY\\Address' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/el_CY/Address.php', - 'Faker\\Provider\\el_CY\\Company' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/el_CY/Company.php', - 'Faker\\Provider\\el_CY\\Internet' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/el_CY/Internet.php', - 'Faker\\Provider\\el_CY\\Payment' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/el_CY/Payment.php', - 'Faker\\Provider\\el_CY\\Person' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/el_CY/Person.php', - 'Faker\\Provider\\el_CY\\PhoneNumber' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/el_CY/PhoneNumber.php', - 'Faker\\Provider\\el_GR\\Address' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/el_GR/Address.php', - 'Faker\\Provider\\el_GR\\Company' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/el_GR/Company.php', - 'Faker\\Provider\\el_GR\\Payment' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/el_GR/Payment.php', - 'Faker\\Provider\\el_GR\\Person' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/el_GR/Person.php', - 'Faker\\Provider\\el_GR\\PhoneNumber' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/el_GR/PhoneNumber.php', - 'Faker\\Provider\\el_GR\\Text' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/el_GR/Text.php', - 'Faker\\Provider\\en_AU\\Address' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/en_AU/Address.php', - 'Faker\\Provider\\en_AU\\Internet' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/en_AU/Internet.php', - 'Faker\\Provider\\en_AU\\PhoneNumber' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/en_AU/PhoneNumber.php', - 'Faker\\Provider\\en_CA\\Address' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/en_CA/Address.php', - 'Faker\\Provider\\en_CA\\PhoneNumber' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/en_CA/PhoneNumber.php', - 'Faker\\Provider\\en_GB\\Address' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/en_GB/Address.php', - 'Faker\\Provider\\en_GB\\Internet' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/en_GB/Internet.php', - 'Faker\\Provider\\en_GB\\Payment' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/en_GB/Payment.php', - 'Faker\\Provider\\en_GB\\Person' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/en_GB/Person.php', - 'Faker\\Provider\\en_GB\\PhoneNumber' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/en_GB/PhoneNumber.php', - 'Faker\\Provider\\en_HK\\Address' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/en_HK/Address.php', - 'Faker\\Provider\\en_HK\\Internet' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/en_HK/Internet.php', - 'Faker\\Provider\\en_HK\\PhoneNumber' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/en_HK/PhoneNumber.php', - 'Faker\\Provider\\en_IN\\Address' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/en_IN/Address.php', - 'Faker\\Provider\\en_IN\\Internet' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/en_IN/Internet.php', - 'Faker\\Provider\\en_IN\\Person' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/en_IN/Person.php', - 'Faker\\Provider\\en_IN\\PhoneNumber' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/en_IN/PhoneNumber.php', - 'Faker\\Provider\\en_NG\\Address' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/en_NG/Address.php', - 'Faker\\Provider\\en_NG\\Internet' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/en_NG/Internet.php', - 'Faker\\Provider\\en_NG\\Person' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/en_NG/Person.php', - 'Faker\\Provider\\en_NG\\PhoneNumber' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/en_NG/PhoneNumber.php', - 'Faker\\Provider\\en_NZ\\Address' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/en_NZ/Address.php', - 'Faker\\Provider\\en_NZ\\Internet' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/en_NZ/Internet.php', - 'Faker\\Provider\\en_NZ\\PhoneNumber' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/en_NZ/PhoneNumber.php', - 'Faker\\Provider\\en_PH\\Address' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/en_PH/Address.php', - 'Faker\\Provider\\en_PH\\PhoneNumber' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/en_PH/PhoneNumber.php', - 'Faker\\Provider\\en_SG\\Address' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/en_SG/Address.php', - 'Faker\\Provider\\en_SG\\PhoneNumber' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/en_SG/PhoneNumber.php', - 'Faker\\Provider\\en_UG\\Address' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/en_UG/Address.php', - 'Faker\\Provider\\en_UG\\Internet' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/en_UG/Internet.php', - 'Faker\\Provider\\en_UG\\Person' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/en_UG/Person.php', - 'Faker\\Provider\\en_UG\\PhoneNumber' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/en_UG/PhoneNumber.php', - 'Faker\\Provider\\en_US\\Address' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/en_US/Address.php', - 'Faker\\Provider\\en_US\\Company' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/en_US/Company.php', - 'Faker\\Provider\\en_US\\Payment' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/en_US/Payment.php', - 'Faker\\Provider\\en_US\\Person' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/en_US/Person.php', - 'Faker\\Provider\\en_US\\PhoneNumber' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/en_US/PhoneNumber.php', - 'Faker\\Provider\\en_US\\Text' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/en_US/Text.php', - 'Faker\\Provider\\en_ZA\\Address' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/en_ZA/Address.php', - 'Faker\\Provider\\en_ZA\\Company' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/en_ZA/Company.php', - 'Faker\\Provider\\en_ZA\\Internet' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/en_ZA/Internet.php', - 'Faker\\Provider\\en_ZA\\Person' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/en_ZA/Person.php', - 'Faker\\Provider\\en_ZA\\PhoneNumber' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/en_ZA/PhoneNumber.php', - 'Faker\\Provider\\es_AR\\Address' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/es_AR/Address.php', - 'Faker\\Provider\\es_AR\\Company' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/es_AR/Company.php', - 'Faker\\Provider\\es_AR\\Person' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/es_AR/Person.php', - 'Faker\\Provider\\es_AR\\PhoneNumber' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/es_AR/PhoneNumber.php', - 'Faker\\Provider\\es_ES\\Address' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/es_ES/Address.php', - 'Faker\\Provider\\es_ES\\Color' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/es_ES/Color.php', - 'Faker\\Provider\\es_ES\\Company' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/es_ES/Company.php', - 'Faker\\Provider\\es_ES\\Internet' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/es_ES/Internet.php', - 'Faker\\Provider\\es_ES\\Payment' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/es_ES/Payment.php', - 'Faker\\Provider\\es_ES\\Person' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/es_ES/Person.php', - 'Faker\\Provider\\es_ES\\PhoneNumber' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/es_ES/PhoneNumber.php', - 'Faker\\Provider\\es_ES\\Text' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/es_ES/Text.php', - 'Faker\\Provider\\es_PE\\Address' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/es_PE/Address.php', - 'Faker\\Provider\\es_PE\\Company' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/es_PE/Company.php', - 'Faker\\Provider\\es_PE\\Person' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/es_PE/Person.php', - 'Faker\\Provider\\es_PE\\PhoneNumber' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/es_PE/PhoneNumber.php', - 'Faker\\Provider\\es_VE\\Address' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/es_VE/Address.php', - 'Faker\\Provider\\es_VE\\Company' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/es_VE/Company.php', - 'Faker\\Provider\\es_VE\\Internet' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/es_VE/Internet.php', - 'Faker\\Provider\\es_VE\\Person' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/es_VE/Person.php', - 'Faker\\Provider\\es_VE\\PhoneNumber' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/es_VE/PhoneNumber.php', - 'Faker\\Provider\\et_EE\\Person' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/et_EE/Person.php', - 'Faker\\Provider\\fa_IR\\Address' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/fa_IR/Address.php', - 'Faker\\Provider\\fa_IR\\Company' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/fa_IR/Company.php', - 'Faker\\Provider\\fa_IR\\Internet' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/fa_IR/Internet.php', - 'Faker\\Provider\\fa_IR\\Person' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/fa_IR/Person.php', - 'Faker\\Provider\\fa_IR\\PhoneNumber' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/fa_IR/PhoneNumber.php', - 'Faker\\Provider\\fa_IR\\Text' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/fa_IR/Text.php', - 'Faker\\Provider\\fi_FI\\Address' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/fi_FI/Address.php', - 'Faker\\Provider\\fi_FI\\Company' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/fi_FI/Company.php', - 'Faker\\Provider\\fi_FI\\Internet' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/fi_FI/Internet.php', - 'Faker\\Provider\\fi_FI\\Payment' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/fi_FI/Payment.php', - 'Faker\\Provider\\fi_FI\\Person' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/fi_FI/Person.php', - 'Faker\\Provider\\fi_FI\\PhoneNumber' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/fi_FI/PhoneNumber.php', - 'Faker\\Provider\\fr_BE\\Address' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/fr_BE/Address.php', - 'Faker\\Provider\\fr_BE\\Company' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/fr_BE/Company.php', - 'Faker\\Provider\\fr_BE\\Internet' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/fr_BE/Internet.php', - 'Faker\\Provider\\fr_BE\\Payment' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/fr_BE/Payment.php', - 'Faker\\Provider\\fr_BE\\Person' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/fr_BE/Person.php', - 'Faker\\Provider\\fr_BE\\PhoneNumber' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/fr_BE/PhoneNumber.php', - 'Faker\\Provider\\fr_CA\\Address' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/fr_CA/Address.php', - 'Faker\\Provider\\fr_CA\\Company' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/fr_CA/Company.php', - 'Faker\\Provider\\fr_CA\\Person' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/fr_CA/Person.php', - 'Faker\\Provider\\fr_CA\\Text' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/fr_CA/Text.php', - 'Faker\\Provider\\fr_CH\\Address' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/fr_CH/Address.php', - 'Faker\\Provider\\fr_CH\\Company' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/fr_CH/Company.php', - 'Faker\\Provider\\fr_CH\\Internet' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/fr_CH/Internet.php', - 'Faker\\Provider\\fr_CH\\Payment' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/fr_CH/Payment.php', - 'Faker\\Provider\\fr_CH\\Person' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/fr_CH/Person.php', - 'Faker\\Provider\\fr_CH\\PhoneNumber' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/fr_CH/PhoneNumber.php', - 'Faker\\Provider\\fr_CH\\Text' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/fr_CH/Text.php', - 'Faker\\Provider\\fr_FR\\Address' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/fr_FR/Address.php', - 'Faker\\Provider\\fr_FR\\Company' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/fr_FR/Company.php', - 'Faker\\Provider\\fr_FR\\Internet' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/fr_FR/Internet.php', - 'Faker\\Provider\\fr_FR\\Payment' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/fr_FR/Payment.php', - 'Faker\\Provider\\fr_FR\\Person' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/fr_FR/Person.php', - 'Faker\\Provider\\fr_FR\\PhoneNumber' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/fr_FR/PhoneNumber.php', - 'Faker\\Provider\\fr_FR\\Text' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/fr_FR/Text.php', - 'Faker\\Provider\\he_IL\\Address' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/he_IL/Address.php', - 'Faker\\Provider\\he_IL\\Company' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/he_IL/Company.php', - 'Faker\\Provider\\he_IL\\Payment' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/he_IL/Payment.php', - 'Faker\\Provider\\he_IL\\Person' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/he_IL/Person.php', - 'Faker\\Provider\\he_IL\\PhoneNumber' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/he_IL/PhoneNumber.php', - 'Faker\\Provider\\hr_HR\\Address' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/hr_HR/Address.php', - 'Faker\\Provider\\hr_HR\\Company' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/hr_HR/Company.php', - 'Faker\\Provider\\hr_HR\\Payment' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/hr_HR/Payment.php', - 'Faker\\Provider\\hr_HR\\Person' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/hr_HR/Person.php', - 'Faker\\Provider\\hr_HR\\PhoneNumber' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/hr_HR/PhoneNumber.php', - 'Faker\\Provider\\hu_HU\\Address' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/hu_HU/Address.php', - 'Faker\\Provider\\hu_HU\\Company' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/hu_HU/Company.php', - 'Faker\\Provider\\hu_HU\\Payment' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/hu_HU/Payment.php', - 'Faker\\Provider\\hu_HU\\Person' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/hu_HU/Person.php', - 'Faker\\Provider\\hu_HU\\PhoneNumber' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/hu_HU/PhoneNumber.php', - 'Faker\\Provider\\hu_HU\\Text' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/hu_HU/Text.php', - 'Faker\\Provider\\hy_AM\\Address' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/hy_AM/Address.php', - 'Faker\\Provider\\hy_AM\\Color' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/hy_AM/Color.php', - 'Faker\\Provider\\hy_AM\\Company' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/hy_AM/Company.php', - 'Faker\\Provider\\hy_AM\\Internet' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/hy_AM/Internet.php', - 'Faker\\Provider\\hy_AM\\Person' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/hy_AM/Person.php', - 'Faker\\Provider\\hy_AM\\PhoneNumber' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/hy_AM/PhoneNumber.php', - 'Faker\\Provider\\id_ID\\Address' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/id_ID/Address.php', - 'Faker\\Provider\\id_ID\\Color' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/id_ID/Color.php', - 'Faker\\Provider\\id_ID\\Company' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/id_ID/Company.php', - 'Faker\\Provider\\id_ID\\Internet' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/id_ID/Internet.php', - 'Faker\\Provider\\id_ID\\Person' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/id_ID/Person.php', - 'Faker\\Provider\\id_ID\\PhoneNumber' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/id_ID/PhoneNumber.php', - 'Faker\\Provider\\is_IS\\Address' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/is_IS/Address.php', - 'Faker\\Provider\\is_IS\\Company' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/is_IS/Company.php', - 'Faker\\Provider\\is_IS\\Internet' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/is_IS/Internet.php', - 'Faker\\Provider\\is_IS\\Payment' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/is_IS/Payment.php', - 'Faker\\Provider\\is_IS\\Person' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/is_IS/Person.php', - 'Faker\\Provider\\is_IS\\PhoneNumber' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/is_IS/PhoneNumber.php', - 'Faker\\Provider\\it_CH\\Address' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/it_CH/Address.php', - 'Faker\\Provider\\it_CH\\Company' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/it_CH/Company.php', - 'Faker\\Provider\\it_CH\\Internet' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/it_CH/Internet.php', - 'Faker\\Provider\\it_CH\\Payment' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/it_CH/Payment.php', - 'Faker\\Provider\\it_CH\\Person' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/it_CH/Person.php', - 'Faker\\Provider\\it_CH\\PhoneNumber' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/it_CH/PhoneNumber.php', - 'Faker\\Provider\\it_CH\\Text' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/it_CH/Text.php', - 'Faker\\Provider\\it_IT\\Address' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/it_IT/Address.php', - 'Faker\\Provider\\it_IT\\Company' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/it_IT/Company.php', - 'Faker\\Provider\\it_IT\\Internet' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/it_IT/Internet.php', - 'Faker\\Provider\\it_IT\\Payment' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/it_IT/Payment.php', - 'Faker\\Provider\\it_IT\\Person' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/it_IT/Person.php', - 'Faker\\Provider\\it_IT\\PhoneNumber' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/it_IT/PhoneNumber.php', - 'Faker\\Provider\\it_IT\\Text' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/it_IT/Text.php', - 'Faker\\Provider\\ja_JP\\Address' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/ja_JP/Address.php', - 'Faker\\Provider\\ja_JP\\Company' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/ja_JP/Company.php', - 'Faker\\Provider\\ja_JP\\Internet' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/ja_JP/Internet.php', - 'Faker\\Provider\\ja_JP\\Person' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/ja_JP/Person.php', - 'Faker\\Provider\\ja_JP\\PhoneNumber' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/ja_JP/PhoneNumber.php', - 'Faker\\Provider\\ja_JP\\Text' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/ja_JP/Text.php', - 'Faker\\Provider\\ka_GE\\Address' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/ka_GE/Address.php', - 'Faker\\Provider\\ka_GE\\Color' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/ka_GE/Color.php', - 'Faker\\Provider\\ka_GE\\Company' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/ka_GE/Company.php', - 'Faker\\Provider\\ka_GE\\DateTime' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/ka_GE/DateTime.php', - 'Faker\\Provider\\ka_GE\\Internet' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/ka_GE/Internet.php', - 'Faker\\Provider\\ka_GE\\Payment' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/ka_GE/Payment.php', - 'Faker\\Provider\\ka_GE\\Person' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/ka_GE/Person.php', - 'Faker\\Provider\\ka_GE\\PhoneNumber' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/ka_GE/PhoneNumber.php', - 'Faker\\Provider\\ka_GE\\Text' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/ka_GE/Text.php', - 'Faker\\Provider\\kk_KZ\\Address' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/kk_KZ/Address.php', - 'Faker\\Provider\\kk_KZ\\Color' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/kk_KZ/Color.php', - 'Faker\\Provider\\kk_KZ\\Company' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/kk_KZ/Company.php', - 'Faker\\Provider\\kk_KZ\\Internet' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/kk_KZ/Internet.php', - 'Faker\\Provider\\kk_KZ\\Payment' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/kk_KZ/Payment.php', - 'Faker\\Provider\\kk_KZ\\Person' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/kk_KZ/Person.php', - 'Faker\\Provider\\kk_KZ\\PhoneNumber' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/kk_KZ/PhoneNumber.php', - 'Faker\\Provider\\kk_KZ\\Text' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/kk_KZ/Text.php', - 'Faker\\Provider\\ko_KR\\Address' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/ko_KR/Address.php', - 'Faker\\Provider\\ko_KR\\Company' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/ko_KR/Company.php', - 'Faker\\Provider\\ko_KR\\Internet' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/ko_KR/Internet.php', - 'Faker\\Provider\\ko_KR\\Person' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/ko_KR/Person.php', - 'Faker\\Provider\\ko_KR\\PhoneNumber' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/ko_KR/PhoneNumber.php', - 'Faker\\Provider\\ko_KR\\Text' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/ko_KR/Text.php', - 'Faker\\Provider\\lt_LT\\Address' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/lt_LT/Address.php', - 'Faker\\Provider\\lt_LT\\Company' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/lt_LT/Company.php', - 'Faker\\Provider\\lt_LT\\Internet' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/lt_LT/Internet.php', - 'Faker\\Provider\\lt_LT\\Payment' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/lt_LT/Payment.php', - 'Faker\\Provider\\lt_LT\\Person' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/lt_LT/Person.php', - 'Faker\\Provider\\lt_LT\\PhoneNumber' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/lt_LT/PhoneNumber.php', - 'Faker\\Provider\\lv_LV\\Address' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/lv_LV/Address.php', - 'Faker\\Provider\\lv_LV\\Color' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/lv_LV/Color.php', - 'Faker\\Provider\\lv_LV\\Internet' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/lv_LV/Internet.php', - 'Faker\\Provider\\lv_LV\\Payment' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/lv_LV/Payment.php', - 'Faker\\Provider\\lv_LV\\Person' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/lv_LV/Person.php', - 'Faker\\Provider\\lv_LV\\PhoneNumber' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/lv_LV/PhoneNumber.php', - 'Faker\\Provider\\me_ME\\Address' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/me_ME/Address.php', - 'Faker\\Provider\\me_ME\\Company' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/me_ME/Company.php', - 'Faker\\Provider\\me_ME\\Payment' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/me_ME/Payment.php', - 'Faker\\Provider\\me_ME\\Person' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/me_ME/Person.php', - 'Faker\\Provider\\me_ME\\PhoneNumber' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/me_ME/PhoneNumber.php', - 'Faker\\Provider\\mn_MN\\Person' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/mn_MN/Person.php', - 'Faker\\Provider\\mn_MN\\PhoneNumber' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/mn_MN/PhoneNumber.php', - 'Faker\\Provider\\ms_MY\\Address' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/ms_MY/Address.php', - 'Faker\\Provider\\ms_MY\\Company' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/ms_MY/Company.php', - 'Faker\\Provider\\ms_MY\\Miscellaneous' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/ms_MY/Miscellaneous.php', - 'Faker\\Provider\\ms_MY\\Payment' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/ms_MY/Payment.php', - 'Faker\\Provider\\ms_MY\\Person' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/ms_MY/Person.php', - 'Faker\\Provider\\ms_MY\\PhoneNumber' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/ms_MY/PhoneNumber.php', - 'Faker\\Provider\\nb_NO\\Address' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/nb_NO/Address.php', - 'Faker\\Provider\\nb_NO\\Company' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/nb_NO/Company.php', - 'Faker\\Provider\\nb_NO\\Payment' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/nb_NO/Payment.php', - 'Faker\\Provider\\nb_NO\\Person' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/nb_NO/Person.php', - 'Faker\\Provider\\nb_NO\\PhoneNumber' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/nb_NO/PhoneNumber.php', - 'Faker\\Provider\\ne_NP\\Address' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/ne_NP/Address.php', - 'Faker\\Provider\\ne_NP\\Internet' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/ne_NP/Internet.php', - 'Faker\\Provider\\ne_NP\\Person' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/ne_NP/Person.php', - 'Faker\\Provider\\ne_NP\\PhoneNumber' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/ne_NP/PhoneNumber.php', - 'Faker\\Provider\\nl_BE\\Address' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/nl_BE/Address.php', - 'Faker\\Provider\\nl_BE\\Company' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/nl_BE/Company.php', - 'Faker\\Provider\\nl_BE\\Internet' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/nl_BE/Internet.php', - 'Faker\\Provider\\nl_BE\\Payment' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/nl_BE/Payment.php', - 'Faker\\Provider\\nl_BE\\Person' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/nl_BE/Person.php', - 'Faker\\Provider\\nl_BE\\PhoneNumber' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/nl_BE/PhoneNumber.php', - 'Faker\\Provider\\nl_NL\\Address' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/nl_NL/Address.php', - 'Faker\\Provider\\nl_NL\\Color' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/nl_NL/Color.php', - 'Faker\\Provider\\nl_NL\\Company' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/nl_NL/Company.php', - 'Faker\\Provider\\nl_NL\\Internet' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/nl_NL/Internet.php', - 'Faker\\Provider\\nl_NL\\Payment' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/nl_NL/Payment.php', - 'Faker\\Provider\\nl_NL\\Person' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/nl_NL/Person.php', - 'Faker\\Provider\\nl_NL\\PhoneNumber' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/nl_NL/PhoneNumber.php', - 'Faker\\Provider\\nl_NL\\Text' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/nl_NL/Text.php', - 'Faker\\Provider\\pl_PL\\Address' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/pl_PL/Address.php', - 'Faker\\Provider\\pl_PL\\Company' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/pl_PL/Company.php', - 'Faker\\Provider\\pl_PL\\Internet' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/pl_PL/Internet.php', - 'Faker\\Provider\\pl_PL\\Payment' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/pl_PL/Payment.php', - 'Faker\\Provider\\pl_PL\\Person' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/pl_PL/Person.php', - 'Faker\\Provider\\pl_PL\\PhoneNumber' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/pl_PL/PhoneNumber.php', - 'Faker\\Provider\\pl_PL\\Text' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/pl_PL/Text.php', - 'Faker\\Provider\\pt_BR\\Address' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/pt_BR/Address.php', - 'Faker\\Provider\\pt_BR\\Company' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/pt_BR/Company.php', - 'Faker\\Provider\\pt_BR\\Internet' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/pt_BR/Internet.php', - 'Faker\\Provider\\pt_BR\\Payment' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/pt_BR/Payment.php', - 'Faker\\Provider\\pt_BR\\Person' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/pt_BR/Person.php', - 'Faker\\Provider\\pt_BR\\PhoneNumber' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/pt_BR/PhoneNumber.php', - 'Faker\\Provider\\pt_PT\\Address' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/pt_PT/Address.php', - 'Faker\\Provider\\pt_PT\\Company' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/pt_PT/Company.php', - 'Faker\\Provider\\pt_PT\\Internet' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/pt_PT/Internet.php', - 'Faker\\Provider\\pt_PT\\Payment' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/pt_PT/Payment.php', - 'Faker\\Provider\\pt_PT\\Person' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/pt_PT/Person.php', - 'Faker\\Provider\\pt_PT\\PhoneNumber' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/pt_PT/PhoneNumber.php', - 'Faker\\Provider\\ro_MD\\Address' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/ro_MD/Address.php', - 'Faker\\Provider\\ro_MD\\Payment' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/ro_MD/Payment.php', - 'Faker\\Provider\\ro_MD\\Person' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/ro_MD/Person.php', - 'Faker\\Provider\\ro_MD\\PhoneNumber' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/ro_MD/PhoneNumber.php', - 'Faker\\Provider\\ro_MD\\Text' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/ro_MD/Text.php', - 'Faker\\Provider\\ro_RO\\Address' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/ro_RO/Address.php', - 'Faker\\Provider\\ro_RO\\Payment' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/ro_RO/Payment.php', - 'Faker\\Provider\\ro_RO\\Person' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/ro_RO/Person.php', - 'Faker\\Provider\\ro_RO\\PhoneNumber' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/ro_RO/PhoneNumber.php', - 'Faker\\Provider\\ro_RO\\Text' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/ro_RO/Text.php', - 'Faker\\Provider\\ru_RU\\Address' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/ru_RU/Address.php', - 'Faker\\Provider\\ru_RU\\Color' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/ru_RU/Color.php', - 'Faker\\Provider\\ru_RU\\Company' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/ru_RU/Company.php', - 'Faker\\Provider\\ru_RU\\Internet' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/ru_RU/Internet.php', - 'Faker\\Provider\\ru_RU\\Payment' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/ru_RU/Payment.php', - 'Faker\\Provider\\ru_RU\\Person' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/ru_RU/Person.php', - 'Faker\\Provider\\ru_RU\\PhoneNumber' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/ru_RU/PhoneNumber.php', - 'Faker\\Provider\\ru_RU\\Text' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/ru_RU/Text.php', - 'Faker\\Provider\\sk_SK\\Address' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/sk_SK/Address.php', - 'Faker\\Provider\\sk_SK\\Company' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/sk_SK/Company.php', - 'Faker\\Provider\\sk_SK\\Internet' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/sk_SK/Internet.php', - 'Faker\\Provider\\sk_SK\\Payment' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/sk_SK/Payment.php', - 'Faker\\Provider\\sk_SK\\Person' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/sk_SK/Person.php', - 'Faker\\Provider\\sk_SK\\PhoneNumber' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/sk_SK/PhoneNumber.php', - 'Faker\\Provider\\sl_SI\\Address' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/sl_SI/Address.php', - 'Faker\\Provider\\sl_SI\\Company' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/sl_SI/Company.php', - 'Faker\\Provider\\sl_SI\\Internet' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/sl_SI/Internet.php', - 'Faker\\Provider\\sl_SI\\Payment' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/sl_SI/Payment.php', - 'Faker\\Provider\\sl_SI\\Person' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/sl_SI/Person.php', - 'Faker\\Provider\\sl_SI\\PhoneNumber' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/sl_SI/PhoneNumber.php', - 'Faker\\Provider\\sr_Cyrl_RS\\Address' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/sr_Cyrl_RS/Address.php', - 'Faker\\Provider\\sr_Cyrl_RS\\Payment' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/sr_Cyrl_RS/Payment.php', - 'Faker\\Provider\\sr_Cyrl_RS\\Person' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/sr_Cyrl_RS/Person.php', - 'Faker\\Provider\\sr_Latn_RS\\Address' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/sr_Latn_RS/Address.php', - 'Faker\\Provider\\sr_Latn_RS\\Payment' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/sr_Latn_RS/Payment.php', - 'Faker\\Provider\\sr_Latn_RS\\Person' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/sr_Latn_RS/Person.php', - 'Faker\\Provider\\sr_RS\\Address' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/sr_RS/Address.php', - 'Faker\\Provider\\sr_RS\\Payment' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/sr_RS/Payment.php', - 'Faker\\Provider\\sr_RS\\Person' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/sr_RS/Person.php', - 'Faker\\Provider\\sv_SE\\Address' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/sv_SE/Address.php', - 'Faker\\Provider\\sv_SE\\Company' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/sv_SE/Company.php', - 'Faker\\Provider\\sv_SE\\Payment' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/sv_SE/Payment.php', - 'Faker\\Provider\\sv_SE\\Person' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/sv_SE/Person.php', - 'Faker\\Provider\\sv_SE\\PhoneNumber' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/sv_SE/PhoneNumber.php', - 'Faker\\Provider\\th_TH\\Address' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/th_TH/Address.php', - 'Faker\\Provider\\th_TH\\Color' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/th_TH/Color.php', - 'Faker\\Provider\\th_TH\\Company' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/th_TH/Company.php', - 'Faker\\Provider\\th_TH\\Internet' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/th_TH/Internet.php', - 'Faker\\Provider\\th_TH\\Payment' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/th_TH/Payment.php', - 'Faker\\Provider\\th_TH\\Person' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/th_TH/Person.php', - 'Faker\\Provider\\th_TH\\PhoneNumber' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/th_TH/PhoneNumber.php', - 'Faker\\Provider\\tr_TR\\Address' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/tr_TR/Address.php', - 'Faker\\Provider\\tr_TR\\Color' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/tr_TR/Color.php', - 'Faker\\Provider\\tr_TR\\Company' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/tr_TR/Company.php', - 'Faker\\Provider\\tr_TR\\DateTime' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/tr_TR/DateTime.php', - 'Faker\\Provider\\tr_TR\\Internet' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/tr_TR/Internet.php', - 'Faker\\Provider\\tr_TR\\Payment' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/tr_TR/Payment.php', - 'Faker\\Provider\\tr_TR\\Person' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/tr_TR/Person.php', - 'Faker\\Provider\\tr_TR\\PhoneNumber' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/tr_TR/PhoneNumber.php', - 'Faker\\Provider\\uk_UA\\Address' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/uk_UA/Address.php', - 'Faker\\Provider\\uk_UA\\Color' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/uk_UA/Color.php', - 'Faker\\Provider\\uk_UA\\Company' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/uk_UA/Company.php', - 'Faker\\Provider\\uk_UA\\Internet' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/uk_UA/Internet.php', - 'Faker\\Provider\\uk_UA\\Payment' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/uk_UA/Payment.php', - 'Faker\\Provider\\uk_UA\\Person' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/uk_UA/Person.php', - 'Faker\\Provider\\uk_UA\\PhoneNumber' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/uk_UA/PhoneNumber.php', - 'Faker\\Provider\\uk_UA\\Text' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/uk_UA/Text.php', - 'Faker\\Provider\\vi_VN\\Address' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/vi_VN/Address.php', - 'Faker\\Provider\\vi_VN\\Color' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/vi_VN/Color.php', - 'Faker\\Provider\\vi_VN\\Internet' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/vi_VN/Internet.php', - 'Faker\\Provider\\vi_VN\\Person' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/vi_VN/Person.php', - 'Faker\\Provider\\vi_VN\\PhoneNumber' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/vi_VN/PhoneNumber.php', - 'Faker\\Provider\\zh_CN\\Address' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/zh_CN/Address.php', - 'Faker\\Provider\\zh_CN\\Color' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/zh_CN/Color.php', - 'Faker\\Provider\\zh_CN\\Company' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/zh_CN/Company.php', - 'Faker\\Provider\\zh_CN\\DateTime' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/zh_CN/DateTime.php', - 'Faker\\Provider\\zh_CN\\Internet' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/zh_CN/Internet.php', - 'Faker\\Provider\\zh_CN\\Payment' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/zh_CN/Payment.php', - 'Faker\\Provider\\zh_CN\\Person' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/zh_CN/Person.php', - 'Faker\\Provider\\zh_CN\\PhoneNumber' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/zh_CN/PhoneNumber.php', - 'Faker\\Provider\\zh_TW\\Address' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/zh_TW/Address.php', - 'Faker\\Provider\\zh_TW\\Color' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/zh_TW/Color.php', - 'Faker\\Provider\\zh_TW\\Company' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/zh_TW/Company.php', - 'Faker\\Provider\\zh_TW\\DateTime' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/zh_TW/DateTime.php', - 'Faker\\Provider\\zh_TW\\Internet' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/zh_TW/Internet.php', - 'Faker\\Provider\\zh_TW\\Payment' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/zh_TW/Payment.php', - 'Faker\\Provider\\zh_TW\\Person' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/zh_TW/Person.php', - 'Faker\\Provider\\zh_TW\\PhoneNumber' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/zh_TW/PhoneNumber.php', - 'Faker\\Provider\\zh_TW\\Text' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/Provider/zh_TW/Text.php', - 'Faker\\UniqueGenerator' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/UniqueGenerator.php', - 'Faker\\ValidGenerator' => __DIR__ . '/..' . '/fzaninotto/faker/src/Faker/ValidGenerator.php', - 'Fideloper\\Proxy\\TrustProxies' => __DIR__ . '/..' . '/fideloper/proxy/src/TrustProxies.php', - 'Fideloper\\Proxy\\TrustedProxyServiceProvider' => __DIR__ . '/..' . '/fideloper/proxy/src/TrustedProxyServiceProvider.php', - 'Hamcrest\\Arrays\\IsArray' => __DIR__ . '/..' . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Arrays/IsArray.php', - 'Hamcrest\\Arrays\\IsArrayContaining' => __DIR__ . '/..' . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Arrays/IsArrayContaining.php', - 'Hamcrest\\Arrays\\IsArrayContainingInAnyOrder' => __DIR__ . '/..' . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Arrays/IsArrayContainingInAnyOrder.php', - 'Hamcrest\\Arrays\\IsArrayContainingInOrder' => __DIR__ . '/..' . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Arrays/IsArrayContainingInOrder.php', - 'Hamcrest\\Arrays\\IsArrayContainingKey' => __DIR__ . '/..' . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Arrays/IsArrayContainingKey.php', - 'Hamcrest\\Arrays\\IsArrayContainingKeyValuePair' => __DIR__ . '/..' . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Arrays/IsArrayContainingKeyValuePair.php', - 'Hamcrest\\Arrays\\IsArrayWithSize' => __DIR__ . '/..' . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Arrays/IsArrayWithSize.php', - 'Hamcrest\\Arrays\\MatchingOnce' => __DIR__ . '/..' . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Arrays/MatchingOnce.php', - 'Hamcrest\\Arrays\\SeriesMatchingOnce' => __DIR__ . '/..' . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Arrays/SeriesMatchingOnce.php', - 'Hamcrest\\AssertionError' => __DIR__ . '/..' . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/AssertionError.php', - 'Hamcrest\\BaseDescription' => __DIR__ . '/..' . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/BaseDescription.php', - 'Hamcrest\\BaseMatcher' => __DIR__ . '/..' . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/BaseMatcher.php', - 'Hamcrest\\Collection\\IsEmptyTraversable' => __DIR__ . '/..' . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Collection/IsEmptyTraversable.php', - 'Hamcrest\\Collection\\IsTraversableWithSize' => __DIR__ . '/..' . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Collection/IsTraversableWithSize.php', - 'Hamcrest\\Core\\AllOf' => __DIR__ . '/..' . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Core/AllOf.php', - 'Hamcrest\\Core\\AnyOf' => __DIR__ . '/..' . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Core/AnyOf.php', - 'Hamcrest\\Core\\CombinableMatcher' => __DIR__ . '/..' . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Core/CombinableMatcher.php', - 'Hamcrest\\Core\\DescribedAs' => __DIR__ . '/..' . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Core/DescribedAs.php', - 'Hamcrest\\Core\\Every' => __DIR__ . '/..' . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Core/Every.php', - 'Hamcrest\\Core\\HasToString' => __DIR__ . '/..' . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Core/HasToString.php', - 'Hamcrest\\Core\\Is' => __DIR__ . '/..' . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Core/Is.php', - 'Hamcrest\\Core\\IsAnything' => __DIR__ . '/..' . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Core/IsAnything.php', - 'Hamcrest\\Core\\IsCollectionContaining' => __DIR__ . '/..' . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Core/IsCollectionContaining.php', - 'Hamcrest\\Core\\IsEqual' => __DIR__ . '/..' . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Core/IsEqual.php', - 'Hamcrest\\Core\\IsIdentical' => __DIR__ . '/..' . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Core/IsIdentical.php', - 'Hamcrest\\Core\\IsInstanceOf' => __DIR__ . '/..' . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Core/IsInstanceOf.php', - 'Hamcrest\\Core\\IsNot' => __DIR__ . '/..' . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Core/IsNot.php', - 'Hamcrest\\Core\\IsNull' => __DIR__ . '/..' . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Core/IsNull.php', - 'Hamcrest\\Core\\IsSame' => __DIR__ . '/..' . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Core/IsSame.php', - 'Hamcrest\\Core\\IsTypeOf' => __DIR__ . '/..' . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Core/IsTypeOf.php', - 'Hamcrest\\Core\\Set' => __DIR__ . '/..' . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Core/Set.php', - 'Hamcrest\\Core\\ShortcutCombination' => __DIR__ . '/..' . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Core/ShortcutCombination.php', - 'Hamcrest\\Description' => __DIR__ . '/..' . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Description.php', - 'Hamcrest\\DiagnosingMatcher' => __DIR__ . '/..' . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/DiagnosingMatcher.php', - 'Hamcrest\\FeatureMatcher' => __DIR__ . '/..' . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/FeatureMatcher.php', - 'Hamcrest\\Internal\\SelfDescribingValue' => __DIR__ . '/..' . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Internal/SelfDescribingValue.php', - 'Hamcrest\\Matcher' => __DIR__ . '/..' . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Matcher.php', - 'Hamcrest\\MatcherAssert' => __DIR__ . '/..' . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/MatcherAssert.php', - 'Hamcrest\\Matchers' => __DIR__ . '/..' . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Matchers.php', - 'Hamcrest\\NullDescription' => __DIR__ . '/..' . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/NullDescription.php', - 'Hamcrest\\Number\\IsCloseTo' => __DIR__ . '/..' . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Number/IsCloseTo.php', - 'Hamcrest\\Number\\OrderingComparison' => __DIR__ . '/..' . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Number/OrderingComparison.php', - 'Hamcrest\\SelfDescribing' => __DIR__ . '/..' . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/SelfDescribing.php', - 'Hamcrest\\StringDescription' => __DIR__ . '/..' . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/StringDescription.php', - 'Hamcrest\\Text\\IsEmptyString' => __DIR__ . '/..' . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Text/IsEmptyString.php', - 'Hamcrest\\Text\\IsEqualIgnoringCase' => __DIR__ . '/..' . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Text/IsEqualIgnoringCase.php', - 'Hamcrest\\Text\\IsEqualIgnoringWhiteSpace' => __DIR__ . '/..' . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Text/IsEqualIgnoringWhiteSpace.php', - 'Hamcrest\\Text\\MatchesPattern' => __DIR__ . '/..' . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Text/MatchesPattern.php', - 'Hamcrest\\Text\\StringContains' => __DIR__ . '/..' . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Text/StringContains.php', - 'Hamcrest\\Text\\StringContainsIgnoringCase' => __DIR__ . '/..' . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Text/StringContainsIgnoringCase.php', - 'Hamcrest\\Text\\StringContainsInOrder' => __DIR__ . '/..' . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Text/StringContainsInOrder.php', - 'Hamcrest\\Text\\StringEndsWith' => __DIR__ . '/..' . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Text/StringEndsWith.php', - 'Hamcrest\\Text\\StringStartsWith' => __DIR__ . '/..' . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Text/StringStartsWith.php', - 'Hamcrest\\Text\\SubstringMatcher' => __DIR__ . '/..' . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Text/SubstringMatcher.php', - 'Hamcrest\\TypeSafeDiagnosingMatcher' => __DIR__ . '/..' . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/TypeSafeDiagnosingMatcher.php', - 'Hamcrest\\TypeSafeMatcher' => __DIR__ . '/..' . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/TypeSafeMatcher.php', - 'Hamcrest\\Type\\IsArray' => __DIR__ . '/..' . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Type/IsArray.php', - 'Hamcrest\\Type\\IsBoolean' => __DIR__ . '/..' . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Type/IsBoolean.php', - 'Hamcrest\\Type\\IsCallable' => __DIR__ . '/..' . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Type/IsCallable.php', - 'Hamcrest\\Type\\IsDouble' => __DIR__ . '/..' . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Type/IsDouble.php', - 'Hamcrest\\Type\\IsInteger' => __DIR__ . '/..' . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Type/IsInteger.php', - 'Hamcrest\\Type\\IsNumeric' => __DIR__ . '/..' . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Type/IsNumeric.php', - 'Hamcrest\\Type\\IsObject' => __DIR__ . '/..' . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Type/IsObject.php', - 'Hamcrest\\Type\\IsResource' => __DIR__ . '/..' . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Type/IsResource.php', - 'Hamcrest\\Type\\IsScalar' => __DIR__ . '/..' . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Type/IsScalar.php', - 'Hamcrest\\Type\\IsString' => __DIR__ . '/..' . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Type/IsString.php', - 'Hamcrest\\Util' => __DIR__ . '/..' . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Util.php', - 'Hamcrest\\Xml\\HasXPath' => __DIR__ . '/..' . '/hamcrest/hamcrest-php/hamcrest/Hamcrest/Xml/HasXPath.php', - 'Illuminate\\Auth\\Access\\AuthorizationException' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Auth/Access/AuthorizationException.php', - 'Illuminate\\Auth\\Access\\Gate' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Auth/Access/Gate.php', - 'Illuminate\\Auth\\Access\\HandlesAuthorization' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Auth/Access/HandlesAuthorization.php', - 'Illuminate\\Auth\\Access\\Response' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Auth/Access/Response.php', - 'Illuminate\\Auth\\AuthManager' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Auth/AuthManager.php', - 'Illuminate\\Auth\\AuthServiceProvider' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Auth/AuthServiceProvider.php', - 'Illuminate\\Auth\\Authenticatable' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Auth/Authenticatable.php', - 'Illuminate\\Auth\\AuthenticationException' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Auth/AuthenticationException.php', - 'Illuminate\\Auth\\Console\\AuthMakeCommand' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Auth/Console/AuthMakeCommand.php', - 'Illuminate\\Auth\\Console\\ClearResetsCommand' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Auth/Console/ClearResetsCommand.php', - 'Illuminate\\Auth\\CreatesUserProviders' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Auth/CreatesUserProviders.php', - 'Illuminate\\Auth\\DatabaseUserProvider' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Auth/DatabaseUserProvider.php', - 'Illuminate\\Auth\\EloquentUserProvider' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Auth/EloquentUserProvider.php', - 'Illuminate\\Auth\\Events\\Attempting' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Auth/Events/Attempting.php', - 'Illuminate\\Auth\\Events\\Authenticated' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Auth/Events/Authenticated.php', - 'Illuminate\\Auth\\Events\\Failed' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Auth/Events/Failed.php', - 'Illuminate\\Auth\\Events\\Lockout' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Auth/Events/Lockout.php', - 'Illuminate\\Auth\\Events\\Login' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Auth/Events/Login.php', - 'Illuminate\\Auth\\Events\\Logout' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Auth/Events/Logout.php', - 'Illuminate\\Auth\\Events\\OtherDeviceLogout' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Auth/Events/OtherDeviceLogout.php', - 'Illuminate\\Auth\\Events\\PasswordReset' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Auth/Events/PasswordReset.php', - 'Illuminate\\Auth\\Events\\Registered' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Auth/Events/Registered.php', - 'Illuminate\\Auth\\Events\\Verified' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Auth/Events/Verified.php', - 'Illuminate\\Auth\\GenericUser' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Auth/GenericUser.php', - 'Illuminate\\Auth\\GuardHelpers' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Auth/GuardHelpers.php', - 'Illuminate\\Auth\\Listeners\\SendEmailVerificationNotification' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Auth/Listeners/SendEmailVerificationNotification.php', - 'Illuminate\\Auth\\Middleware\\Authenticate' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php', - 'Illuminate\\Auth\\Middleware\\AuthenticateWithBasicAuth' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Auth/Middleware/AuthenticateWithBasicAuth.php', - 'Illuminate\\Auth\\Middleware\\Authorize' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Auth/Middleware/Authorize.php', - 'Illuminate\\Auth\\Middleware\\EnsureEmailIsVerified' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Auth/Middleware/EnsureEmailIsVerified.php', - 'Illuminate\\Auth\\MustVerifyEmail' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Auth/MustVerifyEmail.php', - 'Illuminate\\Auth\\Notifications\\ResetPassword' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Auth/Notifications/ResetPassword.php', - 'Illuminate\\Auth\\Notifications\\VerifyEmail' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Auth/Notifications/VerifyEmail.php', - 'Illuminate\\Auth\\Passwords\\CanResetPassword' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Auth/Passwords/CanResetPassword.php', - 'Illuminate\\Auth\\Passwords\\DatabaseTokenRepository' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Auth/Passwords/DatabaseTokenRepository.php', - 'Illuminate\\Auth\\Passwords\\PasswordBroker' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Auth/Passwords/PasswordBroker.php', - 'Illuminate\\Auth\\Passwords\\PasswordBrokerManager' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Auth/Passwords/PasswordBrokerManager.php', - 'Illuminate\\Auth\\Passwords\\PasswordResetServiceProvider' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Auth/Passwords/PasswordResetServiceProvider.php', - 'Illuminate\\Auth\\Passwords\\TokenRepositoryInterface' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Auth/Passwords/TokenRepositoryInterface.php', - 'Illuminate\\Auth\\Recaller' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Auth/Recaller.php', - 'Illuminate\\Auth\\RequestGuard' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Auth/RequestGuard.php', - 'Illuminate\\Auth\\SessionGuard' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Auth/SessionGuard.php', - 'Illuminate\\Auth\\TokenGuard' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Auth/TokenGuard.php', - 'Illuminate\\Broadcasting\\BroadcastController' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Broadcasting/BroadcastController.php', - 'Illuminate\\Broadcasting\\BroadcastEvent' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Broadcasting/BroadcastEvent.php', - 'Illuminate\\Broadcasting\\BroadcastException' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Broadcasting/BroadcastException.php', - 'Illuminate\\Broadcasting\\BroadcastManager' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Broadcasting/BroadcastManager.php', - 'Illuminate\\Broadcasting\\BroadcastServiceProvider' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Broadcasting/BroadcastServiceProvider.php', - 'Illuminate\\Broadcasting\\Broadcasters\\Broadcaster' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Broadcasting/Broadcasters/Broadcaster.php', - 'Illuminate\\Broadcasting\\Broadcasters\\LogBroadcaster' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Broadcasting/Broadcasters/LogBroadcaster.php', - 'Illuminate\\Broadcasting\\Broadcasters\\NullBroadcaster' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Broadcasting/Broadcasters/NullBroadcaster.php', - 'Illuminate\\Broadcasting\\Broadcasters\\PusherBroadcaster' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Broadcasting/Broadcasters/PusherBroadcaster.php', - 'Illuminate\\Broadcasting\\Broadcasters\\RedisBroadcaster' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Broadcasting/Broadcasters/RedisBroadcaster.php', - 'Illuminate\\Broadcasting\\Broadcasters\\UsePusherChannelConventions' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Broadcasting/Broadcasters/UsePusherChannelConventions.php', - 'Illuminate\\Broadcasting\\Channel' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Broadcasting/Channel.php', - 'Illuminate\\Broadcasting\\InteractsWithSockets' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Broadcasting/InteractsWithSockets.php', - 'Illuminate\\Broadcasting\\PendingBroadcast' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Broadcasting/PendingBroadcast.php', - 'Illuminate\\Broadcasting\\PresenceChannel' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Broadcasting/PresenceChannel.php', - 'Illuminate\\Broadcasting\\PrivateChannel' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Broadcasting/PrivateChannel.php', - 'Illuminate\\Bus\\BusServiceProvider' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Bus/BusServiceProvider.php', - 'Illuminate\\Bus\\Dispatcher' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Bus/Dispatcher.php', - 'Illuminate\\Bus\\Queueable' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Bus/Queueable.php', - 'Illuminate\\Cache\\ApcStore' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Cache/ApcStore.php', - 'Illuminate\\Cache\\ApcWrapper' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Cache/ApcWrapper.php', - 'Illuminate\\Cache\\ArrayStore' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Cache/ArrayStore.php', - 'Illuminate\\Cache\\CacheManager' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Cache/CacheManager.php', - 'Illuminate\\Cache\\CacheServiceProvider' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Cache/CacheServiceProvider.php', - 'Illuminate\\Cache\\Console\\CacheTableCommand' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Cache/Console/CacheTableCommand.php', - 'Illuminate\\Cache\\Console\\ClearCommand' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Cache/Console/ClearCommand.php', - 'Illuminate\\Cache\\Console\\ForgetCommand' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Cache/Console/ForgetCommand.php', - 'Illuminate\\Cache\\DatabaseStore' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Cache/DatabaseStore.php', - 'Illuminate\\Cache\\DynamoDbLock' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Cache/DynamoDbLock.php', - 'Illuminate\\Cache\\DynamoDbStore' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Cache/DynamoDbStore.php', - 'Illuminate\\Cache\\Events\\CacheEvent' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Cache/Events/CacheEvent.php', - 'Illuminate\\Cache\\Events\\CacheHit' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Cache/Events/CacheHit.php', - 'Illuminate\\Cache\\Events\\CacheMissed' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Cache/Events/CacheMissed.php', - 'Illuminate\\Cache\\Events\\KeyForgotten' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Cache/Events/KeyForgotten.php', - 'Illuminate\\Cache\\Events\\KeyWritten' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Cache/Events/KeyWritten.php', - 'Illuminate\\Cache\\FileStore' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Cache/FileStore.php', - 'Illuminate\\Cache\\Lock' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Cache/Lock.php', - 'Illuminate\\Cache\\LuaScripts' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Cache/LuaScripts.php', - 'Illuminate\\Cache\\MemcachedConnector' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Cache/MemcachedConnector.php', - 'Illuminate\\Cache\\MemcachedLock' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Cache/MemcachedLock.php', - 'Illuminate\\Cache\\MemcachedStore' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Cache/MemcachedStore.php', - 'Illuminate\\Cache\\NullStore' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Cache/NullStore.php', - 'Illuminate\\Cache\\RateLimiter' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Cache/RateLimiter.php', - 'Illuminate\\Cache\\RedisLock' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Cache/RedisLock.php', - 'Illuminate\\Cache\\RedisStore' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Cache/RedisStore.php', - 'Illuminate\\Cache\\RedisTaggedCache' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Cache/RedisTaggedCache.php', - 'Illuminate\\Cache\\Repository' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Cache/Repository.php', - 'Illuminate\\Cache\\RetrievesMultipleKeys' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Cache/RetrievesMultipleKeys.php', - 'Illuminate\\Cache\\TagSet' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Cache/TagSet.php', - 'Illuminate\\Cache\\TaggableStore' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Cache/TaggableStore.php', - 'Illuminate\\Cache\\TaggedCache' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Cache/TaggedCache.php', - 'Illuminate\\Config\\Repository' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Config/Repository.php', - 'Illuminate\\Console\\Application' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Console/Application.php', - 'Illuminate\\Console\\Command' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Console/Command.php', - 'Illuminate\\Console\\ConfirmableTrait' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Console/ConfirmableTrait.php', - 'Illuminate\\Console\\DetectsApplicationNamespace' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Console/DetectsApplicationNamespace.php', - 'Illuminate\\Console\\Events\\ArtisanStarting' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Console/Events/ArtisanStarting.php', - 'Illuminate\\Console\\Events\\CommandFinished' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Console/Events/CommandFinished.php', - 'Illuminate\\Console\\Events\\CommandStarting' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Console/Events/CommandStarting.php', - 'Illuminate\\Console\\GeneratorCommand' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Console/GeneratorCommand.php', - 'Illuminate\\Console\\OutputStyle' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Console/OutputStyle.php', - 'Illuminate\\Console\\Parser' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Console/Parser.php', - 'Illuminate\\Console\\Scheduling\\CacheEventMutex' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Console/Scheduling/CacheEventMutex.php', - 'Illuminate\\Console\\Scheduling\\CacheSchedulingMutex' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Console/Scheduling/CacheSchedulingMutex.php', - 'Illuminate\\Console\\Scheduling\\CallbackEvent' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Console/Scheduling/CallbackEvent.php', - 'Illuminate\\Console\\Scheduling\\CommandBuilder' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Console/Scheduling/CommandBuilder.php', - 'Illuminate\\Console\\Scheduling\\Event' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Console/Scheduling/Event.php', - 'Illuminate\\Console\\Scheduling\\EventMutex' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Console/Scheduling/EventMutex.php', - 'Illuminate\\Console\\Scheduling\\ManagesFrequencies' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Console/Scheduling/ManagesFrequencies.php', - 'Illuminate\\Console\\Scheduling\\Schedule' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Console/Scheduling/Schedule.php', - 'Illuminate\\Console\\Scheduling\\ScheduleFinishCommand' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Console/Scheduling/ScheduleFinishCommand.php', - 'Illuminate\\Console\\Scheduling\\ScheduleRunCommand' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Console/Scheduling/ScheduleRunCommand.php', - 'Illuminate\\Console\\Scheduling\\SchedulingMutex' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Console/Scheduling/SchedulingMutex.php', - 'Illuminate\\Container\\BoundMethod' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Container/BoundMethod.php', - 'Illuminate\\Container\\Container' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Container/Container.php', - 'Illuminate\\Container\\ContextualBindingBuilder' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Container/ContextualBindingBuilder.php', - 'Illuminate\\Container\\EntryNotFoundException' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Container/EntryNotFoundException.php', - 'Illuminate\\Container\\RewindableGenerator' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Container/RewindableGenerator.php', - 'Illuminate\\Contracts\\Auth\\Access\\Authorizable' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Contracts/Auth/Access/Authorizable.php', - 'Illuminate\\Contracts\\Auth\\Access\\Gate' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Contracts/Auth/Access/Gate.php', - 'Illuminate\\Contracts\\Auth\\Authenticatable' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Contracts/Auth/Authenticatable.php', - 'Illuminate\\Contracts\\Auth\\CanResetPassword' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Contracts/Auth/CanResetPassword.php', - 'Illuminate\\Contracts\\Auth\\Factory' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Contracts/Auth/Factory.php', - 'Illuminate\\Contracts\\Auth\\Guard' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Contracts/Auth/Guard.php', - 'Illuminate\\Contracts\\Auth\\MustVerifyEmail' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Contracts/Auth/MustVerifyEmail.php', - 'Illuminate\\Contracts\\Auth\\PasswordBroker' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Contracts/Auth/PasswordBroker.php', - 'Illuminate\\Contracts\\Auth\\PasswordBrokerFactory' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Contracts/Auth/PasswordBrokerFactory.php', - 'Illuminate\\Contracts\\Auth\\StatefulGuard' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Contracts/Auth/StatefulGuard.php', - 'Illuminate\\Contracts\\Auth\\SupportsBasicAuth' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Contracts/Auth/SupportsBasicAuth.php', - 'Illuminate\\Contracts\\Auth\\UserProvider' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Contracts/Auth/UserProvider.php', - 'Illuminate\\Contracts\\Broadcasting\\Broadcaster' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Contracts/Broadcasting/Broadcaster.php', - 'Illuminate\\Contracts\\Broadcasting\\Factory' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Contracts/Broadcasting/Factory.php', - 'Illuminate\\Contracts\\Broadcasting\\ShouldBroadcast' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Contracts/Broadcasting/ShouldBroadcast.php', - 'Illuminate\\Contracts\\Broadcasting\\ShouldBroadcastNow' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Contracts/Broadcasting/ShouldBroadcastNow.php', - 'Illuminate\\Contracts\\Bus\\Dispatcher' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Contracts/Bus/Dispatcher.php', - 'Illuminate\\Contracts\\Bus\\QueueingDispatcher' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Contracts/Bus/QueueingDispatcher.php', - 'Illuminate\\Contracts\\Cache\\Factory' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Contracts/Cache/Factory.php', - 'Illuminate\\Contracts\\Cache\\Lock' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Contracts/Cache/Lock.php', - 'Illuminate\\Contracts\\Cache\\LockProvider' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Contracts/Cache/LockProvider.php', - 'Illuminate\\Contracts\\Cache\\LockTimeoutException' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Contracts/Cache/LockTimeoutException.php', - 'Illuminate\\Contracts\\Cache\\Repository' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Contracts/Cache/Repository.php', - 'Illuminate\\Contracts\\Cache\\Store' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Contracts/Cache/Store.php', - 'Illuminate\\Contracts\\Config\\Repository' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Contracts/Config/Repository.php', - 'Illuminate\\Contracts\\Console\\Application' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Contracts/Console/Application.php', - 'Illuminate\\Contracts\\Console\\Kernel' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Contracts/Console/Kernel.php', - 'Illuminate\\Contracts\\Container\\BindingResolutionException' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Contracts/Container/BindingResolutionException.php', - 'Illuminate\\Contracts\\Container\\Container' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Contracts/Container/Container.php', - 'Illuminate\\Contracts\\Container\\ContextualBindingBuilder' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Contracts/Container/ContextualBindingBuilder.php', - 'Illuminate\\Contracts\\Cookie\\Factory' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Contracts/Cookie/Factory.php', - 'Illuminate\\Contracts\\Cookie\\QueueingFactory' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Contracts/Cookie/QueueingFactory.php', - 'Illuminate\\Contracts\\Database\\Events\\MigrationEvent' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Contracts/Database/Events/MigrationEvent.php', - 'Illuminate\\Contracts\\Database\\ModelIdentifier' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Contracts/Database/ModelIdentifier.php', - 'Illuminate\\Contracts\\Debug\\ExceptionHandler' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Contracts/Debug/ExceptionHandler.php', - 'Illuminate\\Contracts\\Encryption\\DecryptException' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Contracts/Encryption/DecryptException.php', - 'Illuminate\\Contracts\\Encryption\\EncryptException' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Contracts/Encryption/EncryptException.php', - 'Illuminate\\Contracts\\Encryption\\Encrypter' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Contracts/Encryption/Encrypter.php', - 'Illuminate\\Contracts\\Events\\Dispatcher' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Contracts/Events/Dispatcher.php', - 'Illuminate\\Contracts\\Filesystem\\Cloud' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Contracts/Filesystem/Cloud.php', - 'Illuminate\\Contracts\\Filesystem\\Factory' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Contracts/Filesystem/Factory.php', - 'Illuminate\\Contracts\\Filesystem\\FileExistsException' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Contracts/Filesystem/FileExistsException.php', - 'Illuminate\\Contracts\\Filesystem\\FileNotFoundException' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Contracts/Filesystem/FileNotFoundException.php', - 'Illuminate\\Contracts\\Filesystem\\Filesystem' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Contracts/Filesystem/Filesystem.php', - 'Illuminate\\Contracts\\Foundation\\Application' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Contracts/Foundation/Application.php', - 'Illuminate\\Contracts\\Hashing\\Hasher' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Contracts/Hashing/Hasher.php', - 'Illuminate\\Contracts\\Http\\Kernel' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Contracts/Http/Kernel.php', - 'Illuminate\\Contracts\\Mail\\MailQueue' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Contracts/Mail/MailQueue.php', - 'Illuminate\\Contracts\\Mail\\Mailable' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Contracts/Mail/Mailable.php', - 'Illuminate\\Contracts\\Mail\\Mailer' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Contracts/Mail/Mailer.php', - 'Illuminate\\Contracts\\Notifications\\Dispatcher' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Contracts/Notifications/Dispatcher.php', - 'Illuminate\\Contracts\\Notifications\\Factory' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Contracts/Notifications/Factory.php', - 'Illuminate\\Contracts\\Pagination\\LengthAwarePaginator' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Contracts/Pagination/LengthAwarePaginator.php', - 'Illuminate\\Contracts\\Pagination\\Paginator' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Contracts/Pagination/Paginator.php', - 'Illuminate\\Contracts\\Pipeline\\Hub' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Contracts/Pipeline/Hub.php', - 'Illuminate\\Contracts\\Pipeline\\Pipeline' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Contracts/Pipeline/Pipeline.php', - 'Illuminate\\Contracts\\Queue\\EntityNotFoundException' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Contracts/Queue/EntityNotFoundException.php', - 'Illuminate\\Contracts\\Queue\\EntityResolver' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Contracts/Queue/EntityResolver.php', - 'Illuminate\\Contracts\\Queue\\Factory' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Contracts/Queue/Factory.php', - 'Illuminate\\Contracts\\Queue\\Job' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Contracts/Queue/Job.php', - 'Illuminate\\Contracts\\Queue\\Monitor' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Contracts/Queue/Monitor.php', - 'Illuminate\\Contracts\\Queue\\Queue' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Contracts/Queue/Queue.php', - 'Illuminate\\Contracts\\Queue\\QueueableCollection' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Contracts/Queue/QueueableCollection.php', - 'Illuminate\\Contracts\\Queue\\QueueableEntity' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Contracts/Queue/QueueableEntity.php', - 'Illuminate\\Contracts\\Queue\\ShouldQueue' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Contracts/Queue/ShouldQueue.php', - 'Illuminate\\Contracts\\Redis\\Connection' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Contracts/Redis/Connection.php', - 'Illuminate\\Contracts\\Redis\\Connector' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Contracts/Redis/Connector.php', - 'Illuminate\\Contracts\\Redis\\Factory' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Contracts/Redis/Factory.php', - 'Illuminate\\Contracts\\Redis\\LimiterTimeoutException' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Contracts/Redis/LimiterTimeoutException.php', - 'Illuminate\\Contracts\\Routing\\BindingRegistrar' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Contracts/Routing/BindingRegistrar.php', - 'Illuminate\\Contracts\\Routing\\Registrar' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Contracts/Routing/Registrar.php', - 'Illuminate\\Contracts\\Routing\\ResponseFactory' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Contracts/Routing/ResponseFactory.php', - 'Illuminate\\Contracts\\Routing\\UrlGenerator' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Contracts/Routing/UrlGenerator.php', - 'Illuminate\\Contracts\\Routing\\UrlRoutable' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Contracts/Routing/UrlRoutable.php', - 'Illuminate\\Contracts\\Session\\Session' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Contracts/Session/Session.php', - 'Illuminate\\Contracts\\Support\\Arrayable' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Contracts/Support/Arrayable.php', - 'Illuminate\\Contracts\\Support\\DeferrableProvider' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Contracts/Support/DeferrableProvider.php', - 'Illuminate\\Contracts\\Support\\Htmlable' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Contracts/Support/Htmlable.php', - 'Illuminate\\Contracts\\Support\\Jsonable' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Contracts/Support/Jsonable.php', - 'Illuminate\\Contracts\\Support\\MessageBag' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Contracts/Support/MessageBag.php', - 'Illuminate\\Contracts\\Support\\MessageProvider' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Contracts/Support/MessageProvider.php', - 'Illuminate\\Contracts\\Support\\Renderable' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Contracts/Support/Renderable.php', - 'Illuminate\\Contracts\\Support\\Responsable' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Contracts/Support/Responsable.php', - 'Illuminate\\Contracts\\Translation\\HasLocalePreference' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Contracts/Translation/HasLocalePreference.php', - 'Illuminate\\Contracts\\Translation\\Loader' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Contracts/Translation/Loader.php', - 'Illuminate\\Contracts\\Translation\\Translator' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Contracts/Translation/Translator.php', - 'Illuminate\\Contracts\\Validation\\Factory' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Contracts/Validation/Factory.php', - 'Illuminate\\Contracts\\Validation\\ImplicitRule' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Contracts/Validation/ImplicitRule.php', - 'Illuminate\\Contracts\\Validation\\Rule' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Contracts/Validation/Rule.php', - 'Illuminate\\Contracts\\Validation\\ValidatesWhenResolved' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Contracts/Validation/ValidatesWhenResolved.php', - 'Illuminate\\Contracts\\Validation\\Validator' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Contracts/Validation/Validator.php', - 'Illuminate\\Contracts\\View\\Engine' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Contracts/View/Engine.php', - 'Illuminate\\Contracts\\View\\Factory' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Contracts/View/Factory.php', - 'Illuminate\\Contracts\\View\\View' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Contracts/View/View.php', - 'Illuminate\\Cookie\\CookieJar' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Cookie/CookieJar.php', - 'Illuminate\\Cookie\\CookieServiceProvider' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Cookie/CookieServiceProvider.php', - 'Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php', - 'Illuminate\\Cookie\\Middleware\\EncryptCookies' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php', - 'Illuminate\\Database\\Capsule\\Manager' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Capsule/Manager.php', - 'Illuminate\\Database\\Concerns\\BuildsQueries' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Concerns/BuildsQueries.php', - 'Illuminate\\Database\\Concerns\\ManagesTransactions' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Concerns/ManagesTransactions.php', - 'Illuminate\\Database\\ConfigurationUrlParser' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/ConfigurationUrlParser.php', - 'Illuminate\\Database\\Connection' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Connection.php', - 'Illuminate\\Database\\ConnectionInterface' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/ConnectionInterface.php', - 'Illuminate\\Database\\ConnectionResolver' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/ConnectionResolver.php', - 'Illuminate\\Database\\ConnectionResolverInterface' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/ConnectionResolverInterface.php', - 'Illuminate\\Database\\Connectors\\ConnectionFactory' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Connectors/ConnectionFactory.php', - 'Illuminate\\Database\\Connectors\\Connector' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Connectors/Connector.php', - 'Illuminate\\Database\\Connectors\\ConnectorInterface' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Connectors/ConnectorInterface.php', - 'Illuminate\\Database\\Connectors\\MySqlConnector' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Connectors/MySqlConnector.php', - 'Illuminate\\Database\\Connectors\\PostgresConnector' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Connectors/PostgresConnector.php', - 'Illuminate\\Database\\Connectors\\SQLiteConnector' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Connectors/SQLiteConnector.php', - 'Illuminate\\Database\\Connectors\\SqlServerConnector' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Connectors/SqlServerConnector.php', - 'Illuminate\\Database\\Console\\Factories\\FactoryMakeCommand' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Console/Factories/FactoryMakeCommand.php', - 'Illuminate\\Database\\Console\\Migrations\\BaseCommand' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Console/Migrations/BaseCommand.php', - 'Illuminate\\Database\\Console\\Migrations\\FreshCommand' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Console/Migrations/FreshCommand.php', - 'Illuminate\\Database\\Console\\Migrations\\InstallCommand' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Console/Migrations/InstallCommand.php', - 'Illuminate\\Database\\Console\\Migrations\\MigrateCommand' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Console/Migrations/MigrateCommand.php', - 'Illuminate\\Database\\Console\\Migrations\\MigrateMakeCommand' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Console/Migrations/MigrateMakeCommand.php', - 'Illuminate\\Database\\Console\\Migrations\\RefreshCommand' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Console/Migrations/RefreshCommand.php', - 'Illuminate\\Database\\Console\\Migrations\\ResetCommand' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Console/Migrations/ResetCommand.php', - 'Illuminate\\Database\\Console\\Migrations\\RollbackCommand' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Console/Migrations/RollbackCommand.php', - 'Illuminate\\Database\\Console\\Migrations\\StatusCommand' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Console/Migrations/StatusCommand.php', - 'Illuminate\\Database\\Console\\Migrations\\TableGuesser' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Console/Migrations/TableGuesser.php', - 'Illuminate\\Database\\Console\\Seeds\\SeedCommand' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Console/Seeds/SeedCommand.php', - 'Illuminate\\Database\\Console\\Seeds\\SeederMakeCommand' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Console/Seeds/SeederMakeCommand.php', - 'Illuminate\\Database\\DatabaseManager' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/DatabaseManager.php', - 'Illuminate\\Database\\DatabaseServiceProvider' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/DatabaseServiceProvider.php', - 'Illuminate\\Database\\DetectsDeadlocks' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/DetectsDeadlocks.php', - 'Illuminate\\Database\\DetectsLostConnections' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/DetectsLostConnections.php', - 'Illuminate\\Database\\Eloquent\\Builder' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php', - 'Illuminate\\Database\\Eloquent\\Collection' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Eloquent/Collection.php', - 'Illuminate\\Database\\Eloquent\\Concerns\\GuardsAttributes' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/GuardsAttributes.php', - 'Illuminate\\Database\\Eloquent\\Concerns\\HasAttributes' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/HasAttributes.php', - 'Illuminate\\Database\\Eloquent\\Concerns\\HasEvents' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/HasEvents.php', - 'Illuminate\\Database\\Eloquent\\Concerns\\HasGlobalScopes' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/HasGlobalScopes.php', - 'Illuminate\\Database\\Eloquent\\Concerns\\HasRelationships' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/HasRelationships.php', - 'Illuminate\\Database\\Eloquent\\Concerns\\HasTimestamps' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/HasTimestamps.php', - 'Illuminate\\Database\\Eloquent\\Concerns\\HidesAttributes' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/HidesAttributes.php', - 'Illuminate\\Database\\Eloquent\\Concerns\\QueriesRelationships' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/QueriesRelationships.php', - 'Illuminate\\Database\\Eloquent\\Factory' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Eloquent/Factory.php', - 'Illuminate\\Database\\Eloquent\\FactoryBuilder' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Eloquent/FactoryBuilder.php', - 'Illuminate\\Database\\Eloquent\\HigherOrderBuilderProxy' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Eloquent/HigherOrderBuilderProxy.php', - 'Illuminate\\Database\\Eloquent\\JsonEncodingException' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Eloquent/JsonEncodingException.php', - 'Illuminate\\Database\\Eloquent\\MassAssignmentException' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Eloquent/MassAssignmentException.php', - 'Illuminate\\Database\\Eloquent\\Model' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Eloquent/Model.php', - 'Illuminate\\Database\\Eloquent\\ModelNotFoundException' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Eloquent/ModelNotFoundException.php', - 'Illuminate\\Database\\Eloquent\\QueueEntityResolver' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Eloquent/QueueEntityResolver.php', - 'Illuminate\\Database\\Eloquent\\RelationNotFoundException' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Eloquent/RelationNotFoundException.php', - 'Illuminate\\Database\\Eloquent\\Relations\\BelongsTo' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Eloquent/Relations/BelongsTo.php', - 'Illuminate\\Database\\Eloquent\\Relations\\BelongsToMany' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Eloquent/Relations/BelongsToMany.php', - 'Illuminate\\Database\\Eloquent\\Relations\\Concerns\\AsPivot' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Eloquent/Relations/Concerns/AsPivot.php', - 'Illuminate\\Database\\Eloquent\\Relations\\Concerns\\InteractsWithPivotTable' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Eloquent/Relations/Concerns/InteractsWithPivotTable.php', - 'Illuminate\\Database\\Eloquent\\Relations\\Concerns\\SupportsDefaultModels' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Eloquent/Relations/Concerns/SupportsDefaultModels.php', - 'Illuminate\\Database\\Eloquent\\Relations\\HasMany' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Eloquent/Relations/HasMany.php', - 'Illuminate\\Database\\Eloquent\\Relations\\HasManyThrough' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Eloquent/Relations/HasManyThrough.php', - 'Illuminate\\Database\\Eloquent\\Relations\\HasOne' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Eloquent/Relations/HasOne.php', - 'Illuminate\\Database\\Eloquent\\Relations\\HasOneOrMany' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Eloquent/Relations/HasOneOrMany.php', - 'Illuminate\\Database\\Eloquent\\Relations\\HasOneThrough' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Eloquent/Relations/HasOneThrough.php', - 'Illuminate\\Database\\Eloquent\\Relations\\MorphMany' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Eloquent/Relations/MorphMany.php', - 'Illuminate\\Database\\Eloquent\\Relations\\MorphOne' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Eloquent/Relations/MorphOne.php', - 'Illuminate\\Database\\Eloquent\\Relations\\MorphOneOrMany' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Eloquent/Relations/MorphOneOrMany.php', - 'Illuminate\\Database\\Eloquent\\Relations\\MorphPivot' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Eloquent/Relations/MorphPivot.php', - 'Illuminate\\Database\\Eloquent\\Relations\\MorphTo' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Eloquent/Relations/MorphTo.php', - 'Illuminate\\Database\\Eloquent\\Relations\\MorphToMany' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Eloquent/Relations/MorphToMany.php', - 'Illuminate\\Database\\Eloquent\\Relations\\Pivot' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Eloquent/Relations/Pivot.php', - 'Illuminate\\Database\\Eloquent\\Relations\\Relation' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Eloquent/Relations/Relation.php', - 'Illuminate\\Database\\Eloquent\\Scope' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Eloquent/Scope.php', - 'Illuminate\\Database\\Eloquent\\SoftDeletes' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Eloquent/SoftDeletes.php', - 'Illuminate\\Database\\Eloquent\\SoftDeletingScope' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Eloquent/SoftDeletingScope.php', - 'Illuminate\\Database\\Events\\ConnectionEvent' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Events/ConnectionEvent.php', - 'Illuminate\\Database\\Events\\MigrationEnded' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Events/MigrationEnded.php', - 'Illuminate\\Database\\Events\\MigrationEvent' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Events/MigrationEvent.php', - 'Illuminate\\Database\\Events\\MigrationStarted' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Events/MigrationStarted.php', - 'Illuminate\\Database\\Events\\MigrationsEnded' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Events/MigrationsEnded.php', - 'Illuminate\\Database\\Events\\MigrationsStarted' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Events/MigrationsStarted.php', - 'Illuminate\\Database\\Events\\QueryExecuted' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Events/QueryExecuted.php', - 'Illuminate\\Database\\Events\\StatementPrepared' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Events/StatementPrepared.php', - 'Illuminate\\Database\\Events\\TransactionBeginning' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Events/TransactionBeginning.php', - 'Illuminate\\Database\\Events\\TransactionCommitted' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Events/TransactionCommitted.php', - 'Illuminate\\Database\\Events\\TransactionRolledBack' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Events/TransactionRolledBack.php', - 'Illuminate\\Database\\Grammar' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Grammar.php', - 'Illuminate\\Database\\MigrationServiceProvider' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/MigrationServiceProvider.php', - 'Illuminate\\Database\\Migrations\\DatabaseMigrationRepository' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Migrations/DatabaseMigrationRepository.php', - 'Illuminate\\Database\\Migrations\\Migration' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Migrations/Migration.php', - 'Illuminate\\Database\\Migrations\\MigrationCreator' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Migrations/MigrationCreator.php', - 'Illuminate\\Database\\Migrations\\MigrationRepositoryInterface' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Migrations/MigrationRepositoryInterface.php', - 'Illuminate\\Database\\Migrations\\Migrator' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Migrations/Migrator.php', - 'Illuminate\\Database\\MySqlConnection' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/MySqlConnection.php', - 'Illuminate\\Database\\PostgresConnection' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/PostgresConnection.php', - 'Illuminate\\Database\\QueryException' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/QueryException.php', - 'Illuminate\\Database\\Query\\Builder' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Query/Builder.php', - 'Illuminate\\Database\\Query\\Expression' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Query/Expression.php', - 'Illuminate\\Database\\Query\\Grammars\\Grammar' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Query/Grammars/Grammar.php', - 'Illuminate\\Database\\Query\\Grammars\\MySqlGrammar' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Query/Grammars/MySqlGrammar.php', - 'Illuminate\\Database\\Query\\Grammars\\PostgresGrammar' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Query/Grammars/PostgresGrammar.php', - 'Illuminate\\Database\\Query\\Grammars\\SQLiteGrammar' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Query/Grammars/SQLiteGrammar.php', - 'Illuminate\\Database\\Query\\Grammars\\SqlServerGrammar' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Query/Grammars/SqlServerGrammar.php', - 'Illuminate\\Database\\Query\\JoinClause' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Query/JoinClause.php', - 'Illuminate\\Database\\Query\\JsonExpression' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Query/JsonExpression.php', - 'Illuminate\\Database\\Query\\Processors\\MySqlProcessor' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Query/Processors/MySqlProcessor.php', - 'Illuminate\\Database\\Query\\Processors\\PostgresProcessor' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Query/Processors/PostgresProcessor.php', - 'Illuminate\\Database\\Query\\Processors\\Processor' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Query/Processors/Processor.php', - 'Illuminate\\Database\\Query\\Processors\\SQLiteProcessor' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Query/Processors/SQLiteProcessor.php', - 'Illuminate\\Database\\Query\\Processors\\SqlServerProcessor' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Query/Processors/SqlServerProcessor.php', - 'Illuminate\\Database\\SQLiteConnection' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/SQLiteConnection.php', - 'Illuminate\\Database\\Schema\\Blueprint' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Schema/Blueprint.php', - 'Illuminate\\Database\\Schema\\Builder' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Schema/Builder.php', - 'Illuminate\\Database\\Schema\\ColumnDefinition' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Schema/ColumnDefinition.php', - 'Illuminate\\Database\\Schema\\ForeignKeyDefinition' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Schema/ForeignKeyDefinition.php', - 'Illuminate\\Database\\Schema\\Grammars\\ChangeColumn' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Schema/Grammars/ChangeColumn.php', - 'Illuminate\\Database\\Schema\\Grammars\\Grammar' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Schema/Grammars/Grammar.php', - 'Illuminate\\Database\\Schema\\Grammars\\MySqlGrammar' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Schema/Grammars/MySqlGrammar.php', - 'Illuminate\\Database\\Schema\\Grammars\\PostgresGrammar' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Schema/Grammars/PostgresGrammar.php', - 'Illuminate\\Database\\Schema\\Grammars\\RenameColumn' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Schema/Grammars/RenameColumn.php', - 'Illuminate\\Database\\Schema\\Grammars\\SQLiteGrammar' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Schema/Grammars/SQLiteGrammar.php', - 'Illuminate\\Database\\Schema\\Grammars\\SqlServerGrammar' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Schema/Grammars/SqlServerGrammar.php', - 'Illuminate\\Database\\Schema\\MySqlBuilder' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Schema/MySqlBuilder.php', - 'Illuminate\\Database\\Schema\\PostgresBuilder' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Schema/PostgresBuilder.php', - 'Illuminate\\Database\\Schema\\SQLiteBuilder' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Schema/SQLiteBuilder.php', - 'Illuminate\\Database\\Schema\\SqlServerBuilder' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Schema/SqlServerBuilder.php', - 'Illuminate\\Database\\Seeder' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Seeder.php', - 'Illuminate\\Database\\SqlServerConnection' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/SqlServerConnection.php', - 'Illuminate\\Encryption\\Encrypter' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Encryption/Encrypter.php', - 'Illuminate\\Encryption\\EncryptionServiceProvider' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Encryption/EncryptionServiceProvider.php', - 'Illuminate\\Events\\CallQueuedListener' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Events/CallQueuedListener.php', - 'Illuminate\\Events\\Dispatcher' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Events/Dispatcher.php', - 'Illuminate\\Events\\EventServiceProvider' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Events/EventServiceProvider.php', - 'Illuminate\\Filesystem\\Cache' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Filesystem/Cache.php', - 'Illuminate\\Filesystem\\Filesystem' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Filesystem/Filesystem.php', - 'Illuminate\\Filesystem\\FilesystemAdapter' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php', - 'Illuminate\\Filesystem\\FilesystemManager' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Filesystem/FilesystemManager.php', - 'Illuminate\\Filesystem\\FilesystemServiceProvider' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Filesystem/FilesystemServiceProvider.php', - 'Illuminate\\Foundation\\AliasLoader' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/AliasLoader.php', - 'Illuminate\\Foundation\\Application' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Application.php', - 'Illuminate\\Foundation\\Auth\\Access\\Authorizable' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Auth/Access/Authorizable.php', - 'Illuminate\\Foundation\\Auth\\Access\\AuthorizesRequests' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Auth/Access/AuthorizesRequests.php', - 'Illuminate\\Foundation\\Auth\\AuthenticatesUsers' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Auth/AuthenticatesUsers.php', - 'Illuminate\\Foundation\\Auth\\RedirectsUsers' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Auth/RedirectsUsers.php', - 'Illuminate\\Foundation\\Auth\\RegistersUsers' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Auth/RegistersUsers.php', - 'Illuminate\\Foundation\\Auth\\ResetsPasswords' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Auth/ResetsPasswords.php', - 'Illuminate\\Foundation\\Auth\\SendsPasswordResetEmails' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Auth/SendsPasswordResetEmails.php', - 'Illuminate\\Foundation\\Auth\\ThrottlesLogins' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Auth/ThrottlesLogins.php', - 'Illuminate\\Foundation\\Auth\\User' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Auth/User.php', - 'Illuminate\\Foundation\\Auth\\VerifiesEmails' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Auth/VerifiesEmails.php', - 'Illuminate\\Foundation\\Bootstrap\\BootProviders' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Bootstrap/BootProviders.php', - 'Illuminate\\Foundation\\Bootstrap\\HandleExceptions' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php', - 'Illuminate\\Foundation\\Bootstrap\\LoadConfiguration' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Bootstrap/LoadConfiguration.php', - 'Illuminate\\Foundation\\Bootstrap\\LoadEnvironmentVariables' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Bootstrap/LoadEnvironmentVariables.php', - 'Illuminate\\Foundation\\Bootstrap\\RegisterFacades' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Bootstrap/RegisterFacades.php', - 'Illuminate\\Foundation\\Bootstrap\\RegisterProviders' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Bootstrap/RegisterProviders.php', - 'Illuminate\\Foundation\\Bootstrap\\SetRequestForConsole' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Bootstrap/SetRequestForConsole.php', - 'Illuminate\\Foundation\\Bus\\Dispatchable' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Bus/Dispatchable.php', - 'Illuminate\\Foundation\\Bus\\DispatchesJobs' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Bus/DispatchesJobs.php', - 'Illuminate\\Foundation\\Bus\\PendingChain' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Bus/PendingChain.php', - 'Illuminate\\Foundation\\Bus\\PendingDispatch' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Bus/PendingDispatch.php', - 'Illuminate\\Foundation\\ComposerScripts' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/ComposerScripts.php', - 'Illuminate\\Foundation\\Console\\AppNameCommand' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Console/AppNameCommand.php', - 'Illuminate\\Foundation\\Console\\ChannelMakeCommand' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Console/ChannelMakeCommand.php', - 'Illuminate\\Foundation\\Console\\ClearCompiledCommand' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Console/ClearCompiledCommand.php', - 'Illuminate\\Foundation\\Console\\ClosureCommand' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Console/ClosureCommand.php', - 'Illuminate\\Foundation\\Console\\ConfigCacheCommand' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Console/ConfigCacheCommand.php', - 'Illuminate\\Foundation\\Console\\ConfigClearCommand' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Console/ConfigClearCommand.php', - 'Illuminate\\Foundation\\Console\\ConsoleMakeCommand' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Console/ConsoleMakeCommand.php', - 'Illuminate\\Foundation\\Console\\DownCommand' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Console/DownCommand.php', - 'Illuminate\\Foundation\\Console\\EnvironmentCommand' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Console/EnvironmentCommand.php', - 'Illuminate\\Foundation\\Console\\EventCacheCommand' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Console/EventCacheCommand.php', - 'Illuminate\\Foundation\\Console\\EventClearCommand' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Console/EventClearCommand.php', - 'Illuminate\\Foundation\\Console\\EventGenerateCommand' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Console/EventGenerateCommand.php', - 'Illuminate\\Foundation\\Console\\EventListCommand' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Console/EventListCommand.php', - 'Illuminate\\Foundation\\Console\\EventMakeCommand' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Console/EventMakeCommand.php', - 'Illuminate\\Foundation\\Console\\ExceptionMakeCommand' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Console/ExceptionMakeCommand.php', - 'Illuminate\\Foundation\\Console\\JobMakeCommand' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Console/JobMakeCommand.php', - 'Illuminate\\Foundation\\Console\\Kernel' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php', - 'Illuminate\\Foundation\\Console\\KeyGenerateCommand' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Console/KeyGenerateCommand.php', - 'Illuminate\\Foundation\\Console\\ListenerMakeCommand' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Console/ListenerMakeCommand.php', - 'Illuminate\\Foundation\\Console\\MailMakeCommand' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Console/MailMakeCommand.php', - 'Illuminate\\Foundation\\Console\\ModelMakeCommand' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Console/ModelMakeCommand.php', - 'Illuminate\\Foundation\\Console\\NotificationMakeCommand' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Console/NotificationMakeCommand.php', - 'Illuminate\\Foundation\\Console\\ObserverMakeCommand' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Console/ObserverMakeCommand.php', - 'Illuminate\\Foundation\\Console\\OptimizeClearCommand' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Console/OptimizeClearCommand.php', - 'Illuminate\\Foundation\\Console\\OptimizeCommand' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Console/OptimizeCommand.php', - 'Illuminate\\Foundation\\Console\\PackageDiscoverCommand' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Console/PackageDiscoverCommand.php', - 'Illuminate\\Foundation\\Console\\PolicyMakeCommand' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Console/PolicyMakeCommand.php', - 'Illuminate\\Foundation\\Console\\PresetCommand' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Console/PresetCommand.php', - 'Illuminate\\Foundation\\Console\\Presets\\Bootstrap' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Console/Presets/Bootstrap.php', - 'Illuminate\\Foundation\\Console\\Presets\\None' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Console/Presets/None.php', - 'Illuminate\\Foundation\\Console\\Presets\\Preset' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Console/Presets/Preset.php', - 'Illuminate\\Foundation\\Console\\Presets\\React' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Console/Presets/React.php', - 'Illuminate\\Foundation\\Console\\Presets\\Vue' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Console/Presets/Vue.php', - 'Illuminate\\Foundation\\Console\\ProviderMakeCommand' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Console/ProviderMakeCommand.php', - 'Illuminate\\Foundation\\Console\\QueuedCommand' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Console/QueuedCommand.php', - 'Illuminate\\Foundation\\Console\\RequestMakeCommand' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Console/RequestMakeCommand.php', - 'Illuminate\\Foundation\\Console\\ResourceMakeCommand' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Console/ResourceMakeCommand.php', - 'Illuminate\\Foundation\\Console\\RouteCacheCommand' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Console/RouteCacheCommand.php', - 'Illuminate\\Foundation\\Console\\RouteClearCommand' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Console/RouteClearCommand.php', - 'Illuminate\\Foundation\\Console\\RouteListCommand' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Console/RouteListCommand.php', - 'Illuminate\\Foundation\\Console\\RuleMakeCommand' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Console/RuleMakeCommand.php', - 'Illuminate\\Foundation\\Console\\ServeCommand' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Console/ServeCommand.php', - 'Illuminate\\Foundation\\Console\\StorageLinkCommand' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Console/StorageLinkCommand.php', - 'Illuminate\\Foundation\\Console\\TestMakeCommand' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Console/TestMakeCommand.php', - 'Illuminate\\Foundation\\Console\\UpCommand' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Console/UpCommand.php', - 'Illuminate\\Foundation\\Console\\VendorPublishCommand' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Console/VendorPublishCommand.php', - 'Illuminate\\Foundation\\Console\\ViewCacheCommand' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Console/ViewCacheCommand.php', - 'Illuminate\\Foundation\\Console\\ViewClearCommand' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Console/ViewClearCommand.php', - 'Illuminate\\Foundation\\EnvironmentDetector' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/EnvironmentDetector.php', - 'Illuminate\\Foundation\\Events\\DiscoverEvents' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Events/DiscoverEvents.php', - 'Illuminate\\Foundation\\Events\\Dispatchable' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Events/Dispatchable.php', - 'Illuminate\\Foundation\\Events\\LocaleUpdated' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Events/LocaleUpdated.php', - 'Illuminate\\Foundation\\Exceptions\\Handler' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php', - 'Illuminate\\Foundation\\Exceptions\\WhoopsHandler' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Exceptions/WhoopsHandler.php', - 'Illuminate\\Foundation\\Http\\Events\\RequestHandled' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Http/Events/RequestHandled.php', - 'Illuminate\\Foundation\\Http\\Exceptions\\MaintenanceModeException' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Http/Exceptions/MaintenanceModeException.php', - 'Illuminate\\Foundation\\Http\\FormRequest' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Http/FormRequest.php', - 'Illuminate\\Foundation\\Http\\Kernel' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php', - 'Illuminate\\Foundation\\Http\\Middleware\\CheckForMaintenanceMode' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php', - 'Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php', - 'Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php', - 'Illuminate\\Foundation\\Http\\Middleware\\TrimStrings' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php', - 'Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php', - 'Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php', - 'Illuminate\\Foundation\\Inspiring' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Inspiring.php', - 'Illuminate\\Foundation\\Mix' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Mix.php', - 'Illuminate\\Foundation\\PackageManifest' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/PackageManifest.php', - 'Illuminate\\Foundation\\ProviderRepository' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/ProviderRepository.php', - 'Illuminate\\Foundation\\Providers\\ArtisanServiceProvider' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Providers/ArtisanServiceProvider.php', - 'Illuminate\\Foundation\\Providers\\ComposerServiceProvider' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Providers/ComposerServiceProvider.php', - 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Providers/ConsoleSupportServiceProvider.php', - 'Illuminate\\Foundation\\Providers\\FormRequestServiceProvider' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Providers/FormRequestServiceProvider.php', - 'Illuminate\\Foundation\\Providers\\FoundationServiceProvider' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Providers/FoundationServiceProvider.php', - 'Illuminate\\Foundation\\Support\\Providers\\AuthServiceProvider' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Support/Providers/AuthServiceProvider.php', - 'Illuminate\\Foundation\\Support\\Providers\\EventServiceProvider' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Support/Providers/EventServiceProvider.php', - 'Illuminate\\Foundation\\Support\\Providers\\RouteServiceProvider' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Support/Providers/RouteServiceProvider.php', - 'Illuminate\\Foundation\\Testing\\Assert' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Testing/Assert.php', - 'Illuminate\\Foundation\\Testing\\Concerns\\InteractsWithAuthentication' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Testing/Concerns/InteractsWithAuthentication.php', - 'Illuminate\\Foundation\\Testing\\Concerns\\InteractsWithConsole' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Testing/Concerns/InteractsWithConsole.php', - 'Illuminate\\Foundation\\Testing\\Concerns\\InteractsWithContainer' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Testing/Concerns/InteractsWithContainer.php', - 'Illuminate\\Foundation\\Testing\\Concerns\\InteractsWithDatabase' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Testing/Concerns/InteractsWithDatabase.php', - 'Illuminate\\Foundation\\Testing\\Concerns\\InteractsWithExceptionHandling' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Testing/Concerns/InteractsWithExceptionHandling.php', - 'Illuminate\\Foundation\\Testing\\Concerns\\InteractsWithRedis' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Testing/Concerns/InteractsWithRedis.php', - 'Illuminate\\Foundation\\Testing\\Concerns\\InteractsWithSession' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Testing/Concerns/InteractsWithSession.php', - 'Illuminate\\Foundation\\Testing\\Concerns\\MakesHttpRequests' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Testing/Concerns/MakesHttpRequests.php', - 'Illuminate\\Foundation\\Testing\\Concerns\\MocksApplicationServices' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Testing/Concerns/MocksApplicationServices.php', - 'Illuminate\\Foundation\\Testing\\Constraints\\HasInDatabase' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Testing/Constraints/HasInDatabase.php', - 'Illuminate\\Foundation\\Testing\\Constraints\\SeeInOrder' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Testing/Constraints/SeeInOrder.php', - 'Illuminate\\Foundation\\Testing\\Constraints\\SoftDeletedInDatabase' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Testing/Constraints/SoftDeletedInDatabase.php', - 'Illuminate\\Foundation\\Testing\\DatabaseMigrations' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Testing/DatabaseMigrations.php', - 'Illuminate\\Foundation\\Testing\\DatabaseTransactions' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Testing/DatabaseTransactions.php', - 'Illuminate\\Foundation\\Testing\\PendingCommand' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Testing/PendingCommand.php', - 'Illuminate\\Foundation\\Testing\\RefreshDatabase' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Testing/RefreshDatabase.php', - 'Illuminate\\Foundation\\Testing\\RefreshDatabaseState' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Testing/RefreshDatabaseState.php', - 'Illuminate\\Foundation\\Testing\\TestCase' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Testing/TestCase.php', - 'Illuminate\\Foundation\\Testing\\TestResponse' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Testing/TestResponse.php', - 'Illuminate\\Foundation\\Testing\\WithFaker' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Testing/WithFaker.php', - 'Illuminate\\Foundation\\Testing\\WithoutEvents' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Testing/WithoutEvents.php', - 'Illuminate\\Foundation\\Testing\\WithoutMiddleware' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Testing/WithoutMiddleware.php', - 'Illuminate\\Foundation\\Validation\\ValidatesRequests' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Foundation/Validation/ValidatesRequests.php', - 'Illuminate\\Hashing\\AbstractHasher' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Hashing/AbstractHasher.php', - 'Illuminate\\Hashing\\Argon2IdHasher' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Hashing/Argon2IdHasher.php', - 'Illuminate\\Hashing\\ArgonHasher' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Hashing/ArgonHasher.php', - 'Illuminate\\Hashing\\BcryptHasher' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Hashing/BcryptHasher.php', - 'Illuminate\\Hashing\\HashManager' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Hashing/HashManager.php', - 'Illuminate\\Hashing\\HashServiceProvider' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Hashing/HashServiceProvider.php', - 'Illuminate\\Http\\Concerns\\InteractsWithContentTypes' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Http/Concerns/InteractsWithContentTypes.php', - 'Illuminate\\Http\\Concerns\\InteractsWithFlashData' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Http/Concerns/InteractsWithFlashData.php', - 'Illuminate\\Http\\Concerns\\InteractsWithInput' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Http/Concerns/InteractsWithInput.php', - 'Illuminate\\Http\\Exceptions\\HttpResponseException' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Http/Exceptions/HttpResponseException.php', - 'Illuminate\\Http\\Exceptions\\PostTooLargeException' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Http/Exceptions/PostTooLargeException.php', - 'Illuminate\\Http\\Exceptions\\ThrottleRequestsException' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Http/Exceptions/ThrottleRequestsException.php', - 'Illuminate\\Http\\File' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Http/File.php', - 'Illuminate\\Http\\FileHelpers' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Http/FileHelpers.php', - 'Illuminate\\Http\\JsonResponse' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Http/JsonResponse.php', - 'Illuminate\\Http\\Middleware\\CheckResponseForModifications' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Http/Middleware/CheckResponseForModifications.php', - 'Illuminate\\Http\\Middleware\\FrameGuard' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Http/Middleware/FrameGuard.php', - 'Illuminate\\Http\\Middleware\\SetCacheHeaders' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Http/Middleware/SetCacheHeaders.php', - 'Illuminate\\Http\\RedirectResponse' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Http/RedirectResponse.php', - 'Illuminate\\Http\\Request' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Http/Request.php', - 'Illuminate\\Http\\Resources\\CollectsResources' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Http/Resources/CollectsResources.php', - 'Illuminate\\Http\\Resources\\ConditionallyLoadsAttributes' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Http/Resources/ConditionallyLoadsAttributes.php', - 'Illuminate\\Http\\Resources\\DelegatesToResource' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Http/Resources/DelegatesToResource.php', - 'Illuminate\\Http\\Resources\\Json\\AnonymousResourceCollection' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Http/Resources/Json/AnonymousResourceCollection.php', - 'Illuminate\\Http\\Resources\\Json\\JsonResource' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Http/Resources/Json/JsonResource.php', - 'Illuminate\\Http\\Resources\\Json\\PaginatedResourceResponse' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Http/Resources/Json/PaginatedResourceResponse.php', - 'Illuminate\\Http\\Resources\\Json\\Resource' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Http/Resources/Json/Resource.php', - 'Illuminate\\Http\\Resources\\Json\\ResourceCollection' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Http/Resources/Json/ResourceCollection.php', - 'Illuminate\\Http\\Resources\\Json\\ResourceResponse' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Http/Resources/Json/ResourceResponse.php', - 'Illuminate\\Http\\Resources\\MergeValue' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Http/Resources/MergeValue.php', - 'Illuminate\\Http\\Resources\\MissingValue' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Http/Resources/MissingValue.php', - 'Illuminate\\Http\\Resources\\PotentiallyMissing' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Http/Resources/PotentiallyMissing.php', - 'Illuminate\\Http\\Response' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Http/Response.php', - 'Illuminate\\Http\\ResponseTrait' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Http/ResponseTrait.php', - 'Illuminate\\Http\\Testing\\File' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Http/Testing/File.php', - 'Illuminate\\Http\\Testing\\FileFactory' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Http/Testing/FileFactory.php', - 'Illuminate\\Http\\Testing\\MimeType' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Http/Testing/MimeType.php', - 'Illuminate\\Http\\UploadedFile' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Http/UploadedFile.php', - 'Illuminate\\Log\\Events\\MessageLogged' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Log/Events/MessageLogged.php', - 'Illuminate\\Log\\LogManager' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Log/LogManager.php', - 'Illuminate\\Log\\LogServiceProvider' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Log/LogServiceProvider.php', - 'Illuminate\\Log\\Logger' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Log/Logger.php', - 'Illuminate\\Log\\ParsesLogConfiguration' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Log/ParsesLogConfiguration.php', - 'Illuminate\\Mail\\Events\\MessageSending' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Mail/Events/MessageSending.php', - 'Illuminate\\Mail\\Events\\MessageSent' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Mail/Events/MessageSent.php', - 'Illuminate\\Mail\\MailServiceProvider' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Mail/MailServiceProvider.php', - 'Illuminate\\Mail\\Mailable' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Mail/Mailable.php', - 'Illuminate\\Mail\\Mailer' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Mail/Mailer.php', - 'Illuminate\\Mail\\Markdown' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Mail/Markdown.php', - 'Illuminate\\Mail\\Message' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Mail/Message.php', - 'Illuminate\\Mail\\PendingMail' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Mail/PendingMail.php', - 'Illuminate\\Mail\\SendQueuedMailable' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Mail/SendQueuedMailable.php', - 'Illuminate\\Mail\\TransportManager' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Mail/TransportManager.php', - 'Illuminate\\Mail\\Transport\\ArrayTransport' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Mail/Transport/ArrayTransport.php', - 'Illuminate\\Mail\\Transport\\LogTransport' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Mail/Transport/LogTransport.php', - 'Illuminate\\Mail\\Transport\\MailgunTransport' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Mail/Transport/MailgunTransport.php', - 'Illuminate\\Mail\\Transport\\MandrillTransport' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Mail/Transport/MandrillTransport.php', - 'Illuminate\\Mail\\Transport\\SesTransport' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Mail/Transport/SesTransport.php', - 'Illuminate\\Mail\\Transport\\SparkPostTransport' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Mail/Transport/SparkPostTransport.php', - 'Illuminate\\Mail\\Transport\\Transport' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Mail/Transport/Transport.php', - 'Illuminate\\Notifications\\Action' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Notifications/Action.php', - 'Illuminate\\Notifications\\AnonymousNotifiable' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Notifications/AnonymousNotifiable.php', - 'Illuminate\\Notifications\\ChannelManager' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Notifications/ChannelManager.php', - 'Illuminate\\Notifications\\Channels\\BroadcastChannel' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Notifications/Channels/BroadcastChannel.php', - 'Illuminate\\Notifications\\Channels\\DatabaseChannel' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Notifications/Channels/DatabaseChannel.php', - 'Illuminate\\Notifications\\Channels\\MailChannel' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Notifications/Channels/MailChannel.php', - 'Illuminate\\Notifications\\Console\\NotificationTableCommand' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Notifications/Console/NotificationTableCommand.php', - 'Illuminate\\Notifications\\DatabaseNotification' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Notifications/DatabaseNotification.php', - 'Illuminate\\Notifications\\DatabaseNotificationCollection' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Notifications/DatabaseNotificationCollection.php', - 'Illuminate\\Notifications\\Events\\BroadcastNotificationCreated' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Notifications/Events/BroadcastNotificationCreated.php', - 'Illuminate\\Notifications\\Events\\NotificationFailed' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Notifications/Events/NotificationFailed.php', - 'Illuminate\\Notifications\\Events\\NotificationSending' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Notifications/Events/NotificationSending.php', - 'Illuminate\\Notifications\\Events\\NotificationSent' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Notifications/Events/NotificationSent.php', - 'Illuminate\\Notifications\\HasDatabaseNotifications' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Notifications/HasDatabaseNotifications.php', - 'Illuminate\\Notifications\\Messages\\BroadcastMessage' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Notifications/Messages/BroadcastMessage.php', - 'Illuminate\\Notifications\\Messages\\DatabaseMessage' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Notifications/Messages/DatabaseMessage.php', - 'Illuminate\\Notifications\\Messages\\MailMessage' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Notifications/Messages/MailMessage.php', - 'Illuminate\\Notifications\\Messages\\SimpleMessage' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Notifications/Messages/SimpleMessage.php', - 'Illuminate\\Notifications\\Notifiable' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Notifications/Notifiable.php', - 'Illuminate\\Notifications\\Notification' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Notifications/Notification.php', - 'Illuminate\\Notifications\\NotificationSender' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Notifications/NotificationSender.php', - 'Illuminate\\Notifications\\NotificationServiceProvider' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Notifications/NotificationServiceProvider.php', - 'Illuminate\\Notifications\\RoutesNotifications' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Notifications/RoutesNotifications.php', - 'Illuminate\\Notifications\\SendQueuedNotifications' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Notifications/SendQueuedNotifications.php', - 'Illuminate\\Pagination\\AbstractPaginator' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Pagination/AbstractPaginator.php', - 'Illuminate\\Pagination\\LengthAwarePaginator' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Pagination/LengthAwarePaginator.php', - 'Illuminate\\Pagination\\PaginationServiceProvider' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Pagination/PaginationServiceProvider.php', - 'Illuminate\\Pagination\\Paginator' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Pagination/Paginator.php', - 'Illuminate\\Pagination\\UrlWindow' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Pagination/UrlWindow.php', - 'Illuminate\\Pipeline\\Hub' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Pipeline/Hub.php', - 'Illuminate\\Pipeline\\Pipeline' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Pipeline/Pipeline.php', - 'Illuminate\\Pipeline\\PipelineServiceProvider' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Pipeline/PipelineServiceProvider.php', - 'Illuminate\\Queue\\BeanstalkdQueue' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Queue/BeanstalkdQueue.php', - 'Illuminate\\Queue\\CallQueuedClosure' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Queue/CallQueuedClosure.php', - 'Illuminate\\Queue\\CallQueuedHandler' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Queue/CallQueuedHandler.php', - 'Illuminate\\Queue\\Capsule\\Manager' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Queue/Capsule/Manager.php', - 'Illuminate\\Queue\\Connectors\\BeanstalkdConnector' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Queue/Connectors/BeanstalkdConnector.php', - 'Illuminate\\Queue\\Connectors\\ConnectorInterface' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Queue/Connectors/ConnectorInterface.php', - 'Illuminate\\Queue\\Connectors\\DatabaseConnector' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Queue/Connectors/DatabaseConnector.php', - 'Illuminate\\Queue\\Connectors\\NullConnector' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Queue/Connectors/NullConnector.php', - 'Illuminate\\Queue\\Connectors\\RedisConnector' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Queue/Connectors/RedisConnector.php', - 'Illuminate\\Queue\\Connectors\\SqsConnector' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Queue/Connectors/SqsConnector.php', - 'Illuminate\\Queue\\Connectors\\SyncConnector' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Queue/Connectors/SyncConnector.php', - 'Illuminate\\Queue\\Console\\FailedTableCommand' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Queue/Console/FailedTableCommand.php', - 'Illuminate\\Queue\\Console\\FlushFailedCommand' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Queue/Console/FlushFailedCommand.php', - 'Illuminate\\Queue\\Console\\ForgetFailedCommand' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Queue/Console/ForgetFailedCommand.php', - 'Illuminate\\Queue\\Console\\ListFailedCommand' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Queue/Console/ListFailedCommand.php', - 'Illuminate\\Queue\\Console\\ListenCommand' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Queue/Console/ListenCommand.php', - 'Illuminate\\Queue\\Console\\RestartCommand' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Queue/Console/RestartCommand.php', - 'Illuminate\\Queue\\Console\\RetryCommand' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Queue/Console/RetryCommand.php', - 'Illuminate\\Queue\\Console\\TableCommand' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Queue/Console/TableCommand.php', - 'Illuminate\\Queue\\Console\\WorkCommand' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Queue/Console/WorkCommand.php', - 'Illuminate\\Queue\\DatabaseQueue' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Queue/DatabaseQueue.php', - 'Illuminate\\Queue\\Events\\JobExceptionOccurred' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Queue/Events/JobExceptionOccurred.php', - 'Illuminate\\Queue\\Events\\JobFailed' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Queue/Events/JobFailed.php', - 'Illuminate\\Queue\\Events\\JobProcessed' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Queue/Events/JobProcessed.php', - 'Illuminate\\Queue\\Events\\JobProcessing' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Queue/Events/JobProcessing.php', - 'Illuminate\\Queue\\Events\\Looping' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Queue/Events/Looping.php', - 'Illuminate\\Queue\\Events\\WorkerStopping' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Queue/Events/WorkerStopping.php', - 'Illuminate\\Queue\\Failed\\DatabaseFailedJobProvider' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Queue/Failed/DatabaseFailedJobProvider.php', - 'Illuminate\\Queue\\Failed\\FailedJobProviderInterface' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Queue/Failed/FailedJobProviderInterface.php', - 'Illuminate\\Queue\\Failed\\NullFailedJobProvider' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Queue/Failed/NullFailedJobProvider.php', - 'Illuminate\\Queue\\InteractsWithQueue' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Queue/InteractsWithQueue.php', - 'Illuminate\\Queue\\InvalidPayloadException' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Queue/InvalidPayloadException.php', - 'Illuminate\\Queue\\Jobs\\BeanstalkdJob' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Queue/Jobs/BeanstalkdJob.php', - 'Illuminate\\Queue\\Jobs\\DatabaseJob' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Queue/Jobs/DatabaseJob.php', - 'Illuminate\\Queue\\Jobs\\DatabaseJobRecord' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Queue/Jobs/DatabaseJobRecord.php', - 'Illuminate\\Queue\\Jobs\\Job' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Queue/Jobs/Job.php', - 'Illuminate\\Queue\\Jobs\\JobName' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Queue/Jobs/JobName.php', - 'Illuminate\\Queue\\Jobs\\RedisJob' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Queue/Jobs/RedisJob.php', - 'Illuminate\\Queue\\Jobs\\SqsJob' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Queue/Jobs/SqsJob.php', - 'Illuminate\\Queue\\Jobs\\SyncJob' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Queue/Jobs/SyncJob.php', - 'Illuminate\\Queue\\Listener' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Queue/Listener.php', - 'Illuminate\\Queue\\ListenerOptions' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Queue/ListenerOptions.php', - 'Illuminate\\Queue\\LuaScripts' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Queue/LuaScripts.php', - 'Illuminate\\Queue\\ManuallyFailedException' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Queue/ManuallyFailedException.php', - 'Illuminate\\Queue\\MaxAttemptsExceededException' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Queue/MaxAttemptsExceededException.php', - 'Illuminate\\Queue\\NullQueue' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Queue/NullQueue.php', - 'Illuminate\\Queue\\Queue' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Queue/Queue.php', - 'Illuminate\\Queue\\QueueManager' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Queue/QueueManager.php', - 'Illuminate\\Queue\\QueueServiceProvider' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Queue/QueueServiceProvider.php', - 'Illuminate\\Queue\\RedisQueue' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Queue/RedisQueue.php', - 'Illuminate\\Queue\\SerializableClosure' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Queue/SerializableClosure.php', - 'Illuminate\\Queue\\SerializesAndRestoresModelIdentifiers' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Queue/SerializesAndRestoresModelIdentifiers.php', - 'Illuminate\\Queue\\SerializesModels' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Queue/SerializesModels.php', - 'Illuminate\\Queue\\SqsQueue' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Queue/SqsQueue.php', - 'Illuminate\\Queue\\SyncQueue' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Queue/SyncQueue.php', - 'Illuminate\\Queue\\Worker' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Queue/Worker.php', - 'Illuminate\\Queue\\WorkerOptions' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Queue/WorkerOptions.php', - 'Illuminate\\Redis\\Connections\\Connection' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Redis/Connections/Connection.php', - 'Illuminate\\Redis\\Connections\\PhpRedisClusterConnection' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Redis/Connections/PhpRedisClusterConnection.php', - 'Illuminate\\Redis\\Connections\\PhpRedisConnection' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Redis/Connections/PhpRedisConnection.php', - 'Illuminate\\Redis\\Connections\\PredisClusterConnection' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Redis/Connections/PredisClusterConnection.php', - 'Illuminate\\Redis\\Connections\\PredisConnection' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Redis/Connections/PredisConnection.php', - 'Illuminate\\Redis\\Connectors\\PhpRedisConnector' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Redis/Connectors/PhpRedisConnector.php', - 'Illuminate\\Redis\\Connectors\\PredisConnector' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Redis/Connectors/PredisConnector.php', - 'Illuminate\\Redis\\Events\\CommandExecuted' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Redis/Events/CommandExecuted.php', - 'Illuminate\\Redis\\Limiters\\ConcurrencyLimiter' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Redis/Limiters/ConcurrencyLimiter.php', - 'Illuminate\\Redis\\Limiters\\ConcurrencyLimiterBuilder' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Redis/Limiters/ConcurrencyLimiterBuilder.php', - 'Illuminate\\Redis\\Limiters\\DurationLimiter' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Redis/Limiters/DurationLimiter.php', - 'Illuminate\\Redis\\Limiters\\DurationLimiterBuilder' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Redis/Limiters/DurationLimiterBuilder.php', - 'Illuminate\\Redis\\RedisManager' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Redis/RedisManager.php', - 'Illuminate\\Redis\\RedisServiceProvider' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Redis/RedisServiceProvider.php', - 'Illuminate\\Routing\\Console\\ControllerMakeCommand' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Routing/Console/ControllerMakeCommand.php', - 'Illuminate\\Routing\\Console\\MiddlewareMakeCommand' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Routing/Console/MiddlewareMakeCommand.php', - 'Illuminate\\Routing\\Contracts\\ControllerDispatcher' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Routing/Contracts/ControllerDispatcher.php', - 'Illuminate\\Routing\\Controller' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Routing/Controller.php', - 'Illuminate\\Routing\\ControllerDispatcher' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php', - 'Illuminate\\Routing\\ControllerMiddlewareOptions' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Routing/ControllerMiddlewareOptions.php', - 'Illuminate\\Routing\\Events\\RouteMatched' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Routing/Events/RouteMatched.php', - 'Illuminate\\Routing\\Exceptions\\InvalidSignatureException' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Routing/Exceptions/InvalidSignatureException.php', - 'Illuminate\\Routing\\Exceptions\\UrlGenerationException' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Routing/Exceptions/UrlGenerationException.php', - 'Illuminate\\Routing\\ImplicitRouteBinding' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Routing/ImplicitRouteBinding.php', - 'Illuminate\\Routing\\Matching\\HostValidator' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Routing/Matching/HostValidator.php', - 'Illuminate\\Routing\\Matching\\MethodValidator' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Routing/Matching/MethodValidator.php', - 'Illuminate\\Routing\\Matching\\SchemeValidator' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Routing/Matching/SchemeValidator.php', - 'Illuminate\\Routing\\Matching\\UriValidator' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Routing/Matching/UriValidator.php', - 'Illuminate\\Routing\\Matching\\ValidatorInterface' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Routing/Matching/ValidatorInterface.php', - 'Illuminate\\Routing\\MiddlewareNameResolver' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Routing/MiddlewareNameResolver.php', - 'Illuminate\\Routing\\Middleware\\SubstituteBindings' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php', - 'Illuminate\\Routing\\Middleware\\ThrottleRequests' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php', - 'Illuminate\\Routing\\Middleware\\ThrottleRequestsWithRedis' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequestsWithRedis.php', - 'Illuminate\\Routing\\Middleware\\ValidateSignature' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Routing/Middleware/ValidateSignature.php', - 'Illuminate\\Routing\\PendingResourceRegistration' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Routing/PendingResourceRegistration.php', - 'Illuminate\\Routing\\Pipeline' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Routing/Pipeline.php', - 'Illuminate\\Routing\\RedirectController' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Routing/RedirectController.php', - 'Illuminate\\Routing\\Redirector' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Routing/Redirector.php', - 'Illuminate\\Routing\\ResourceRegistrar' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Routing/ResourceRegistrar.php', - 'Illuminate\\Routing\\ResponseFactory' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Routing/ResponseFactory.php', - 'Illuminate\\Routing\\Route' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Routing/Route.php', - 'Illuminate\\Routing\\RouteAction' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Routing/RouteAction.php', - 'Illuminate\\Routing\\RouteBinding' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Routing/RouteBinding.php', - 'Illuminate\\Routing\\RouteCollection' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Routing/RouteCollection.php', - 'Illuminate\\Routing\\RouteCompiler' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Routing/RouteCompiler.php', - 'Illuminate\\Routing\\RouteDependencyResolverTrait' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Routing/RouteDependencyResolverTrait.php', - 'Illuminate\\Routing\\RouteFileRegistrar' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Routing/RouteFileRegistrar.php', - 'Illuminate\\Routing\\RouteGroup' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Routing/RouteGroup.php', - 'Illuminate\\Routing\\RouteParameterBinder' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Routing/RouteParameterBinder.php', - 'Illuminate\\Routing\\RouteRegistrar' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Routing/RouteRegistrar.php', - 'Illuminate\\Routing\\RouteSignatureParameters' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Routing/RouteSignatureParameters.php', - 'Illuminate\\Routing\\RouteUrlGenerator' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Routing/RouteUrlGenerator.php', - 'Illuminate\\Routing\\Router' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Routing/Router.php', - 'Illuminate\\Routing\\RoutingServiceProvider' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Routing/RoutingServiceProvider.php', - 'Illuminate\\Routing\\SortedMiddleware' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Routing/SortedMiddleware.php', - 'Illuminate\\Routing\\UrlGenerator' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Routing/UrlGenerator.php', - 'Illuminate\\Routing\\ViewController' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Routing/ViewController.php', - 'Illuminate\\Session\\CacheBasedSessionHandler' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Session/CacheBasedSessionHandler.php', - 'Illuminate\\Session\\Console\\SessionTableCommand' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Session/Console/SessionTableCommand.php', - 'Illuminate\\Session\\CookieSessionHandler' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Session/CookieSessionHandler.php', - 'Illuminate\\Session\\DatabaseSessionHandler' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Session/DatabaseSessionHandler.php', - 'Illuminate\\Session\\EncryptedStore' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Session/EncryptedStore.php', - 'Illuminate\\Session\\ExistenceAwareInterface' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Session/ExistenceAwareInterface.php', - 'Illuminate\\Session\\FileSessionHandler' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Session/FileSessionHandler.php', - 'Illuminate\\Session\\Middleware\\AuthenticateSession' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Session/Middleware/AuthenticateSession.php', - 'Illuminate\\Session\\Middleware\\StartSession' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php', - 'Illuminate\\Session\\NullSessionHandler' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Session/NullSessionHandler.php', - 'Illuminate\\Session\\SessionManager' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Session/SessionManager.php', - 'Illuminate\\Session\\SessionServiceProvider' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Session/SessionServiceProvider.php', - 'Illuminate\\Session\\Store' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Session/Store.php', - 'Illuminate\\Session\\TokenMismatchException' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Session/TokenMismatchException.php', - 'Illuminate\\Support\\AggregateServiceProvider' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Support/AggregateServiceProvider.php', - 'Illuminate\\Support\\Arr' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Support/Arr.php', - 'Illuminate\\Support\\Carbon' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Support/Carbon.php', - 'Illuminate\\Support\\Collection' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Support/Collection.php', - 'Illuminate\\Support\\Composer' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Support/Composer.php', - 'Illuminate\\Support\\ConfigurationUrlParser' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Support/ConfigurationUrlParser.php', - 'Illuminate\\Support\\DateFactory' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Support/DateFactory.php', - 'Illuminate\\Support\\Facades\\App' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Support/Facades/App.php', - 'Illuminate\\Support\\Facades\\Artisan' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Support/Facades/Artisan.php', - 'Illuminate\\Support\\Facades\\Auth' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Support/Facades/Auth.php', - 'Illuminate\\Support\\Facades\\Blade' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Support/Facades/Blade.php', - 'Illuminate\\Support\\Facades\\Broadcast' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Support/Facades/Broadcast.php', - 'Illuminate\\Support\\Facades\\Bus' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Support/Facades/Bus.php', - 'Illuminate\\Support\\Facades\\Cache' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Support/Facades/Cache.php', - 'Illuminate\\Support\\Facades\\Config' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Support/Facades/Config.php', - 'Illuminate\\Support\\Facades\\Cookie' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Support/Facades/Cookie.php', - 'Illuminate\\Support\\Facades\\Crypt' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Support/Facades/Crypt.php', - 'Illuminate\\Support\\Facades\\DB' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Support/Facades/DB.php', - 'Illuminate\\Support\\Facades\\Date' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Support/Facades/Date.php', - 'Illuminate\\Support\\Facades\\Event' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Support/Facades/Event.php', - 'Illuminate\\Support\\Facades\\Facade' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Support/Facades/Facade.php', - 'Illuminate\\Support\\Facades\\File' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Support/Facades/File.php', - 'Illuminate\\Support\\Facades\\Gate' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Support/Facades/Gate.php', - 'Illuminate\\Support\\Facades\\Hash' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Support/Facades/Hash.php', - 'Illuminate\\Support\\Facades\\Input' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Support/Facades/Input.php', - 'Illuminate\\Support\\Facades\\Lang' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Support/Facades/Lang.php', - 'Illuminate\\Support\\Facades\\Log' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Support/Facades/Log.php', - 'Illuminate\\Support\\Facades\\Mail' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Support/Facades/Mail.php', - 'Illuminate\\Support\\Facades\\Notification' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Support/Facades/Notification.php', - 'Illuminate\\Support\\Facades\\Password' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Support/Facades/Password.php', - 'Illuminate\\Support\\Facades\\Queue' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Support/Facades/Queue.php', - 'Illuminate\\Support\\Facades\\Redirect' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Support/Facades/Redirect.php', - 'Illuminate\\Support\\Facades\\Redis' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Support/Facades/Redis.php', - 'Illuminate\\Support\\Facades\\Request' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Support/Facades/Request.php', - 'Illuminate\\Support\\Facades\\Response' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Support/Facades/Response.php', - 'Illuminate\\Support\\Facades\\Route' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Support/Facades/Route.php', - 'Illuminate\\Support\\Facades\\Schema' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Support/Facades/Schema.php', - 'Illuminate\\Support\\Facades\\Session' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Support/Facades/Session.php', - 'Illuminate\\Support\\Facades\\Storage' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Support/Facades/Storage.php', - 'Illuminate\\Support\\Facades\\URL' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Support/Facades/URL.php', - 'Illuminate\\Support\\Facades\\Validator' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Support/Facades/Validator.php', - 'Illuminate\\Support\\Facades\\View' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Support/Facades/View.php', - 'Illuminate\\Support\\Fluent' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Support/Fluent.php', - 'Illuminate\\Support\\HigherOrderCollectionProxy' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Support/HigherOrderCollectionProxy.php', - 'Illuminate\\Support\\HigherOrderTapProxy' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Support/HigherOrderTapProxy.php', - 'Illuminate\\Support\\HtmlString' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Support/HtmlString.php', - 'Illuminate\\Support\\InteractsWithTime' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Support/InteractsWithTime.php', - 'Illuminate\\Support\\Manager' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Support/Manager.php', - 'Illuminate\\Support\\MessageBag' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Support/MessageBag.php', - 'Illuminate\\Support\\NamespacedItemResolver' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Support/NamespacedItemResolver.php', - 'Illuminate\\Support\\Optional' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Support/Optional.php', - 'Illuminate\\Support\\Pluralizer' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Support/Pluralizer.php', - 'Illuminate\\Support\\ProcessUtils' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Support/ProcessUtils.php', - 'Illuminate\\Support\\ServiceProvider' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Support/ServiceProvider.php', - 'Illuminate\\Support\\Str' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Support/Str.php', - 'Illuminate\\Support\\Testing\\Fakes\\BusFake' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Support/Testing/Fakes/BusFake.php', - 'Illuminate\\Support\\Testing\\Fakes\\EventFake' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Support/Testing/Fakes/EventFake.php', - 'Illuminate\\Support\\Testing\\Fakes\\MailFake' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Support/Testing/Fakes/MailFake.php', - 'Illuminate\\Support\\Testing\\Fakes\\NotificationFake' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Support/Testing/Fakes/NotificationFake.php', - 'Illuminate\\Support\\Testing\\Fakes\\PendingMailFake' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Support/Testing/Fakes/PendingMailFake.php', - 'Illuminate\\Support\\Testing\\Fakes\\QueueFake' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Support/Testing/Fakes/QueueFake.php', - 'Illuminate\\Support\\Traits\\CapsuleManagerTrait' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Support/Traits/CapsuleManagerTrait.php', - 'Illuminate\\Support\\Traits\\ForwardsCalls' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php', - 'Illuminate\\Support\\Traits\\Localizable' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Support/Traits/Localizable.php', - 'Illuminate\\Support\\Traits\\Macroable' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Support/Traits/Macroable.php', - 'Illuminate\\Support\\Traits\\Tappable' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Support/Traits/Tappable.php', - 'Illuminate\\Support\\ViewErrorBag' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Support/ViewErrorBag.php', - 'Illuminate\\Translation\\ArrayLoader' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Translation/ArrayLoader.php', - 'Illuminate\\Translation\\FileLoader' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Translation/FileLoader.php', - 'Illuminate\\Translation\\MessageSelector' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Translation/MessageSelector.php', - 'Illuminate\\Translation\\TranslationServiceProvider' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Translation/TranslationServiceProvider.php', - 'Illuminate\\Translation\\Translator' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Translation/Translator.php', - 'Illuminate\\Validation\\ClosureValidationRule' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Validation/ClosureValidationRule.php', - 'Illuminate\\Validation\\Concerns\\FilterEmailValidation' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Validation/Concerns/FilterEmailValidation.php', - 'Illuminate\\Validation\\Concerns\\FormatsMessages' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Validation/Concerns/FormatsMessages.php', - 'Illuminate\\Validation\\Concerns\\ReplacesAttributes' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Validation/Concerns/ReplacesAttributes.php', - 'Illuminate\\Validation\\Concerns\\ValidatesAttributes' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Validation/Concerns/ValidatesAttributes.php', - 'Illuminate\\Validation\\DatabasePresenceVerifier' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Validation/DatabasePresenceVerifier.php', - 'Illuminate\\Validation\\Factory' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Validation/Factory.php', - 'Illuminate\\Validation\\PresenceVerifierInterface' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Validation/PresenceVerifierInterface.php', - 'Illuminate\\Validation\\Rule' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Validation/Rule.php', - 'Illuminate\\Validation\\Rules\\DatabaseRule' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Validation/Rules/DatabaseRule.php', - 'Illuminate\\Validation\\Rules\\Dimensions' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Validation/Rules/Dimensions.php', - 'Illuminate\\Validation\\Rules\\Exists' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Validation/Rules/Exists.php', - 'Illuminate\\Validation\\Rules\\In' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Validation/Rules/In.php', - 'Illuminate\\Validation\\Rules\\NotIn' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Validation/Rules/NotIn.php', - 'Illuminate\\Validation\\Rules\\RequiredIf' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Validation/Rules/RequiredIf.php', - 'Illuminate\\Validation\\Rules\\Unique' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Validation/Rules/Unique.php', - 'Illuminate\\Validation\\UnauthorizedException' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Validation/UnauthorizedException.php', - 'Illuminate\\Validation\\ValidatesWhenResolvedTrait' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Validation/ValidatesWhenResolvedTrait.php', - 'Illuminate\\Validation\\ValidationData' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Validation/ValidationData.php', - 'Illuminate\\Validation\\ValidationException' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Validation/ValidationException.php', - 'Illuminate\\Validation\\ValidationRuleParser' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Validation/ValidationRuleParser.php', - 'Illuminate\\Validation\\ValidationServiceProvider' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Validation/ValidationServiceProvider.php', - 'Illuminate\\Validation\\Validator' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Validation/Validator.php', - 'Illuminate\\View\\Compilers\\BladeCompiler' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/View/Compilers/BladeCompiler.php', - 'Illuminate\\View\\Compilers\\Compiler' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/View/Compilers/Compiler.php', - 'Illuminate\\View\\Compilers\\CompilerInterface' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/View/Compilers/CompilerInterface.php', - 'Illuminate\\View\\Compilers\\Concerns\\CompilesAuthorizations' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/View/Compilers/Concerns/CompilesAuthorizations.php', - 'Illuminate\\View\\Compilers\\Concerns\\CompilesComments' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/View/Compilers/Concerns/CompilesComments.php', - 'Illuminate\\View\\Compilers\\Concerns\\CompilesComponents' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/View/Compilers/Concerns/CompilesComponents.php', - 'Illuminate\\View\\Compilers\\Concerns\\CompilesConditionals' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/View/Compilers/Concerns/CompilesConditionals.php', - 'Illuminate\\View\\Compilers\\Concerns\\CompilesEchos' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/View/Compilers/Concerns/CompilesEchos.php', - 'Illuminate\\View\\Compilers\\Concerns\\CompilesErrors' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/View/Compilers/Concerns/CompilesErrors.php', - 'Illuminate\\View\\Compilers\\Concerns\\CompilesHelpers' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/View/Compilers/Concerns/CompilesHelpers.php', - 'Illuminate\\View\\Compilers\\Concerns\\CompilesIncludes' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/View/Compilers/Concerns/CompilesIncludes.php', - 'Illuminate\\View\\Compilers\\Concerns\\CompilesInjections' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/View/Compilers/Concerns/CompilesInjections.php', - 'Illuminate\\View\\Compilers\\Concerns\\CompilesJson' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/View/Compilers/Concerns/CompilesJson.php', - 'Illuminate\\View\\Compilers\\Concerns\\CompilesLayouts' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/View/Compilers/Concerns/CompilesLayouts.php', - 'Illuminate\\View\\Compilers\\Concerns\\CompilesLoops' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/View/Compilers/Concerns/CompilesLoops.php', - 'Illuminate\\View\\Compilers\\Concerns\\CompilesRawPhp' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/View/Compilers/Concerns/CompilesRawPhp.php', - 'Illuminate\\View\\Compilers\\Concerns\\CompilesStacks' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/View/Compilers/Concerns/CompilesStacks.php', - 'Illuminate\\View\\Compilers\\Concerns\\CompilesTranslations' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/View/Compilers/Concerns/CompilesTranslations.php', - 'Illuminate\\View\\Concerns\\ManagesComponents' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/View/Concerns/ManagesComponents.php', - 'Illuminate\\View\\Concerns\\ManagesEvents' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/View/Concerns/ManagesEvents.php', - 'Illuminate\\View\\Concerns\\ManagesLayouts' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/View/Concerns/ManagesLayouts.php', - 'Illuminate\\View\\Concerns\\ManagesLoops' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/View/Concerns/ManagesLoops.php', - 'Illuminate\\View\\Concerns\\ManagesStacks' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/View/Concerns/ManagesStacks.php', - 'Illuminate\\View\\Concerns\\ManagesTranslations' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/View/Concerns/ManagesTranslations.php', - 'Illuminate\\View\\Engines\\CompilerEngine' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php', - 'Illuminate\\View\\Engines\\Engine' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/View/Engines/Engine.php', - 'Illuminate\\View\\Engines\\EngineResolver' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/View/Engines/EngineResolver.php', - 'Illuminate\\View\\Engines\\FileEngine' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/View/Engines/FileEngine.php', - 'Illuminate\\View\\Engines\\PhpEngine' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php', - 'Illuminate\\View\\Factory' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/View/Factory.php', - 'Illuminate\\View\\FileViewFinder' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/View/FileViewFinder.php', - 'Illuminate\\View\\Middleware\\ShareErrorsFromSession' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php', - 'Illuminate\\View\\View' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/View/View.php', - 'Illuminate\\View\\ViewFinderInterface' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/View/ViewFinderInterface.php', - 'Illuminate\\View\\ViewName' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/View/ViewName.php', - 'Illuminate\\View\\ViewServiceProvider' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/View/ViewServiceProvider.php', - 'JakubOnderka\\PhpConsoleColor\\ConsoleColor' => __DIR__ . '/..' . '/jakub-onderka/php-console-color/src/ConsoleColor.php', - 'JakubOnderka\\PhpConsoleColor\\InvalidStyleException' => __DIR__ . '/..' . '/jakub-onderka/php-console-color/src/InvalidStyleException.php', - 'JakubOnderka\\PhpConsoleHighlighter\\Highlighter' => __DIR__ . '/..' . '/jakub-onderka/php-console-highlighter/src/Highlighter.php', - 'JsonException' => __DIR__ . '/..' . '/symfony/polyfill-php73/Resources/stubs/JsonException.php', - 'Laravel\\Tinker\\ClassAliasAutoloader' => __DIR__ . '/..' . '/laravel/tinker/src/ClassAliasAutoloader.php', - 'Laravel\\Tinker\\Console\\TinkerCommand' => __DIR__ . '/..' . '/laravel/tinker/src/Console/TinkerCommand.php', - 'Laravel\\Tinker\\TinkerCaster' => __DIR__ . '/..' . '/laravel/tinker/src/TinkerCaster.php', - 'Laravel\\Tinker\\TinkerServiceProvider' => __DIR__ . '/..' . '/laravel/tinker/src/TinkerServiceProvider.php', - 'League\\Flysystem\\AdapterInterface' => __DIR__ . '/..' . '/league/flysystem/src/AdapterInterface.php', - 'League\\Flysystem\\Adapter\\AbstractAdapter' => __DIR__ . '/..' . '/league/flysystem/src/Adapter/AbstractAdapter.php', - 'League\\Flysystem\\Adapter\\AbstractFtpAdapter' => __DIR__ . '/..' . '/league/flysystem/src/Adapter/AbstractFtpAdapter.php', - 'League\\Flysystem\\Adapter\\CanOverwriteFiles' => __DIR__ . '/..' . '/league/flysystem/src/Adapter/CanOverwriteFiles.php', - 'League\\Flysystem\\Adapter\\Ftp' => __DIR__ . '/..' . '/league/flysystem/src/Adapter/Ftp.php', - 'League\\Flysystem\\Adapter\\Ftpd' => __DIR__ . '/..' . '/league/flysystem/src/Adapter/Ftpd.php', - 'League\\Flysystem\\Adapter\\Local' => __DIR__ . '/..' . '/league/flysystem/src/Adapter/Local.php', - 'League\\Flysystem\\Adapter\\NullAdapter' => __DIR__ . '/..' . '/league/flysystem/src/Adapter/NullAdapter.php', - 'League\\Flysystem\\Adapter\\Polyfill\\NotSupportingVisibilityTrait' => __DIR__ . '/..' . '/league/flysystem/src/Adapter/Polyfill/NotSupportingVisibilityTrait.php', - 'League\\Flysystem\\Adapter\\Polyfill\\StreamedCopyTrait' => __DIR__ . '/..' . '/league/flysystem/src/Adapter/Polyfill/StreamedCopyTrait.php', - 'League\\Flysystem\\Adapter\\Polyfill\\StreamedReadingTrait' => __DIR__ . '/..' . '/league/flysystem/src/Adapter/Polyfill/StreamedReadingTrait.php', - 'League\\Flysystem\\Adapter\\Polyfill\\StreamedTrait' => __DIR__ . '/..' . '/league/flysystem/src/Adapter/Polyfill/StreamedTrait.php', - 'League\\Flysystem\\Adapter\\Polyfill\\StreamedWritingTrait' => __DIR__ . '/..' . '/league/flysystem/src/Adapter/Polyfill/StreamedWritingTrait.php', - 'League\\Flysystem\\Adapter\\SynologyFtp' => __DIR__ . '/..' . '/league/flysystem/src/Adapter/SynologyFtp.php', - 'League\\Flysystem\\Config' => __DIR__ . '/..' . '/league/flysystem/src/Config.php', - 'League\\Flysystem\\ConfigAwareTrait' => __DIR__ . '/..' . '/league/flysystem/src/ConfigAwareTrait.php', - 'League\\Flysystem\\Directory' => __DIR__ . '/..' . '/league/flysystem/src/Directory.php', - 'League\\Flysystem\\Exception' => __DIR__ . '/..' . '/league/flysystem/src/Exception.php', - 'League\\Flysystem\\File' => __DIR__ . '/..' . '/league/flysystem/src/File.php', - 'League\\Flysystem\\FileExistsException' => __DIR__ . '/..' . '/league/flysystem/src/FileExistsException.php', - 'League\\Flysystem\\FileNotFoundException' => __DIR__ . '/..' . '/league/flysystem/src/FileNotFoundException.php', - 'League\\Flysystem\\Filesystem' => __DIR__ . '/..' . '/league/flysystem/src/Filesystem.php', - 'League\\Flysystem\\FilesystemInterface' => __DIR__ . '/..' . '/league/flysystem/src/FilesystemInterface.php', - 'League\\Flysystem\\FilesystemNotFoundException' => __DIR__ . '/..' . '/league/flysystem/src/FilesystemNotFoundException.php', - 'League\\Flysystem\\Handler' => __DIR__ . '/..' . '/league/flysystem/src/Handler.php', - 'League\\Flysystem\\MountManager' => __DIR__ . '/..' . '/league/flysystem/src/MountManager.php', - 'League\\Flysystem\\NotSupportedException' => __DIR__ . '/..' . '/league/flysystem/src/NotSupportedException.php', - 'League\\Flysystem\\PluginInterface' => __DIR__ . '/..' . '/league/flysystem/src/PluginInterface.php', - 'League\\Flysystem\\Plugin\\AbstractPlugin' => __DIR__ . '/..' . '/league/flysystem/src/Plugin/AbstractPlugin.php', - 'League\\Flysystem\\Plugin\\EmptyDir' => __DIR__ . '/..' . '/league/flysystem/src/Plugin/EmptyDir.php', - 'League\\Flysystem\\Plugin\\ForcedCopy' => __DIR__ . '/..' . '/league/flysystem/src/Plugin/ForcedCopy.php', - 'League\\Flysystem\\Plugin\\ForcedRename' => __DIR__ . '/..' . '/league/flysystem/src/Plugin/ForcedRename.php', - 'League\\Flysystem\\Plugin\\GetWithMetadata' => __DIR__ . '/..' . '/league/flysystem/src/Plugin/GetWithMetadata.php', - 'League\\Flysystem\\Plugin\\ListFiles' => __DIR__ . '/..' . '/league/flysystem/src/Plugin/ListFiles.php', - 'League\\Flysystem\\Plugin\\ListPaths' => __DIR__ . '/..' . '/league/flysystem/src/Plugin/ListPaths.php', - 'League\\Flysystem\\Plugin\\ListWith' => __DIR__ . '/..' . '/league/flysystem/src/Plugin/ListWith.php', - 'League\\Flysystem\\Plugin\\PluggableTrait' => __DIR__ . '/..' . '/league/flysystem/src/Plugin/PluggableTrait.php', - 'League\\Flysystem\\Plugin\\PluginNotFoundException' => __DIR__ . '/..' . '/league/flysystem/src/Plugin/PluginNotFoundException.php', - 'League\\Flysystem\\ReadInterface' => __DIR__ . '/..' . '/league/flysystem/src/ReadInterface.php', - 'League\\Flysystem\\RootViolationException' => __DIR__ . '/..' . '/league/flysystem/src/RootViolationException.php', - 'League\\Flysystem\\SafeStorage' => __DIR__ . '/..' . '/league/flysystem/src/SafeStorage.php', - 'League\\Flysystem\\UnreadableFileException' => __DIR__ . '/..' . '/league/flysystem/src/UnreadableFileException.php', - 'League\\Flysystem\\Util' => __DIR__ . '/..' . '/league/flysystem/src/Util.php', - 'League\\Flysystem\\Util\\ContentListingFormatter' => __DIR__ . '/..' . '/league/flysystem/src/Util/ContentListingFormatter.php', - 'League\\Flysystem\\Util\\MimeType' => __DIR__ . '/..' . '/league/flysystem/src/Util/MimeType.php', - 'League\\Flysystem\\Util\\StreamHasher' => __DIR__ . '/..' . '/league/flysystem/src/Util/StreamHasher.php', - 'Mockery' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery.php', - 'Mockery\\Adapter\\Phpunit\\Legacy\\TestListenerForV5' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/Adapter/Phpunit/Legacy/TestListenerForV5.php', - 'Mockery\\Adapter\\Phpunit\\Legacy\\TestListenerForV6' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/Adapter/Phpunit/Legacy/TestListenerForV6.php', - 'Mockery\\Adapter\\Phpunit\\Legacy\\TestListenerForV7' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/Adapter/Phpunit/Legacy/TestListenerForV7.php', - 'Mockery\\Adapter\\Phpunit\\Legacy\\TestListenerTrait' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/Adapter/Phpunit/Legacy/TestListenerTrait.php', - 'Mockery\\Adapter\\Phpunit\\MockeryPHPUnitIntegration' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/Adapter/Phpunit/MockeryPHPUnitIntegration.php', - 'Mockery\\Adapter\\Phpunit\\MockeryPHPUnitIntegrationAssertPostConditionsForV7AndPrevious' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/Adapter/Phpunit/MockeryPHPUnitIntegrationAssertPostConditionsForV7AndPrevious.php', - 'Mockery\\Adapter\\Phpunit\\MockeryPHPUnitIntegrationAssertPostConditionsForV8' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/Adapter/Phpunit/MockeryPHPUnitIntegrationAssertPostConditionsForV8.php', - 'Mockery\\Adapter\\Phpunit\\MockeryTestCase' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/Adapter/Phpunit/MockeryTestCase.php', - 'Mockery\\Adapter\\Phpunit\\MockeryTestCaseSetUpForV7AndPrevious' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/Adapter/Phpunit/MockeryTestCaseSetUpForV7AndPrevious.php', - 'Mockery\\Adapter\\Phpunit\\MockeryTestCaseSetUpForV8' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/Adapter/Phpunit/MockeryTestCaseSetUpForV8.php', - 'Mockery\\Adapter\\Phpunit\\TestListener' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/Adapter/Phpunit/TestListener.php', - 'Mockery\\ClosureWrapper' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/ClosureWrapper.php', - 'Mockery\\CompositeExpectation' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/CompositeExpectation.php', - 'Mockery\\Configuration' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/Configuration.php', - 'Mockery\\Container' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/Container.php', - 'Mockery\\CountValidator\\AtLeast' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/CountValidator/AtLeast.php', - 'Mockery\\CountValidator\\AtMost' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/CountValidator/AtMost.php', - 'Mockery\\CountValidator\\CountValidatorAbstract' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/CountValidator/CountValidatorAbstract.php', - 'Mockery\\CountValidator\\Exact' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/CountValidator/Exact.php', - 'Mockery\\CountValidator\\Exception' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/CountValidator/Exception.php', - 'Mockery\\Exception' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/Exception.php', - 'Mockery\\Exception\\BadMethodCallException' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/Exception/BadMethodCallException.php', - 'Mockery\\Exception\\InvalidArgumentException' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/Exception/InvalidArgumentException.php', - 'Mockery\\Exception\\InvalidCountException' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/Exception/InvalidCountException.php', - 'Mockery\\Exception\\InvalidOrderException' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/Exception/InvalidOrderException.php', - 'Mockery\\Exception\\NoMatchingExpectationException' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/Exception/NoMatchingExpectationException.php', - 'Mockery\\Exception\\RuntimeException' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/Exception/RuntimeException.php', - 'Mockery\\Expectation' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/Expectation.php', - 'Mockery\\ExpectationDirector' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/ExpectationDirector.php', - 'Mockery\\ExpectationInterface' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/ExpectationInterface.php', - 'Mockery\\ExpectsHigherOrderMessage' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/ExpectsHigherOrderMessage.php', - 'Mockery\\Generator\\CachingGenerator' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/Generator/CachingGenerator.php', - 'Mockery\\Generator\\DefinedTargetClass' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/Generator/DefinedTargetClass.php', - 'Mockery\\Generator\\Generator' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/Generator/Generator.php', - 'Mockery\\Generator\\Method' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/Generator/Method.php', - 'Mockery\\Generator\\MockConfiguration' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/Generator/MockConfiguration.php', - 'Mockery\\Generator\\MockConfigurationBuilder' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/Generator/MockConfigurationBuilder.php', - 'Mockery\\Generator\\MockDefinition' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/Generator/MockDefinition.php', - 'Mockery\\Generator\\MockNameBuilder' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/Generator/MockNameBuilder.php', - 'Mockery\\Generator\\Parameter' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/Generator/Parameter.php', - 'Mockery\\Generator\\StringManipulationGenerator' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/Generator/StringManipulationGenerator.php', - 'Mockery\\Generator\\StringManipulation\\Pass\\AvoidMethodClashPass' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/Generator/StringManipulation/Pass/AvoidMethodClashPass.php', - 'Mockery\\Generator\\StringManipulation\\Pass\\CallTypeHintPass' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/Generator/StringManipulation/Pass/CallTypeHintPass.php', - 'Mockery\\Generator\\StringManipulation\\Pass\\ClassNamePass' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/Generator/StringManipulation/Pass/ClassNamePass.php', - 'Mockery\\Generator\\StringManipulation\\Pass\\ClassPass' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/Generator/StringManipulation/Pass/ClassPass.php', - 'Mockery\\Generator\\StringManipulation\\Pass\\ConstantsPass' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/Generator/StringManipulation/Pass/ConstantsPass.php', - 'Mockery\\Generator\\StringManipulation\\Pass\\InstanceMockPass' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/Generator/StringManipulation/Pass/InstanceMockPass.php', - 'Mockery\\Generator\\StringManipulation\\Pass\\InterfacePass' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/Generator/StringManipulation/Pass/InterfacePass.php', - 'Mockery\\Generator\\StringManipulation\\Pass\\MagicMethodTypeHintsPass' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/Generator/StringManipulation/Pass/MagicMethodTypeHintsPass.php', - 'Mockery\\Generator\\StringManipulation\\Pass\\MethodDefinitionPass' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/Generator/StringManipulation/Pass/MethodDefinitionPass.php', - 'Mockery\\Generator\\StringManipulation\\Pass\\Pass' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/Generator/StringManipulation/Pass/Pass.php', - 'Mockery\\Generator\\StringManipulation\\Pass\\RemoveBuiltinMethodsThatAreFinalPass' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/Generator/StringManipulation/Pass/RemoveBuiltinMethodsThatAreFinalPass.php', - 'Mockery\\Generator\\StringManipulation\\Pass\\RemoveDestructorPass' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/Generator/StringManipulation/Pass/RemoveDestructorPass.php', - 'Mockery\\Generator\\StringManipulation\\Pass\\RemoveUnserializeForInternalSerializableClassesPass' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/Generator/StringManipulation/Pass/RemoveUnserializeForInternalSerializableClassesPass.php', - 'Mockery\\Generator\\StringManipulation\\Pass\\TraitPass' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/Generator/StringManipulation/Pass/TraitPass.php', - 'Mockery\\Generator\\TargetClassInterface' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/Generator/TargetClassInterface.php', - 'Mockery\\Generator\\UndefinedTargetClass' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/Generator/UndefinedTargetClass.php', - 'Mockery\\HigherOrderMessage' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/HigherOrderMessage.php', - 'Mockery\\Instantiator' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/Instantiator.php', - 'Mockery\\LegacyMockInterface' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/LegacyMockInterface.php', - 'Mockery\\Loader\\EvalLoader' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/Loader/EvalLoader.php', - 'Mockery\\Loader\\Loader' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/Loader/Loader.php', - 'Mockery\\Loader\\RequireLoader' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/Loader/RequireLoader.php', - 'Mockery\\Matcher\\AndAnyOtherArgs' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/Matcher/AndAnyOtherArgs.php', - 'Mockery\\Matcher\\Any' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/Matcher/Any.php', - 'Mockery\\Matcher\\AnyArgs' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/Matcher/AnyArgs.php', - 'Mockery\\Matcher\\AnyOf' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/Matcher/AnyOf.php', - 'Mockery\\Matcher\\ArgumentListMatcher' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/Matcher/ArgumentListMatcher.php', - 'Mockery\\Matcher\\Closure' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/Matcher/Closure.php', - 'Mockery\\Matcher\\Contains' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/Matcher/Contains.php', - 'Mockery\\Matcher\\Ducktype' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/Matcher/Ducktype.php', - 'Mockery\\Matcher\\HasKey' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/Matcher/HasKey.php', - 'Mockery\\Matcher\\HasValue' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/Matcher/HasValue.php', - 'Mockery\\Matcher\\MatcherAbstract' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/Matcher/MatcherAbstract.php', - 'Mockery\\Matcher\\MultiArgumentClosure' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/Matcher/MultiArgumentClosure.php', - 'Mockery\\Matcher\\MustBe' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/Matcher/MustBe.php', - 'Mockery\\Matcher\\NoArgs' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/Matcher/NoArgs.php', - 'Mockery\\Matcher\\Not' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/Matcher/Not.php', - 'Mockery\\Matcher\\NotAnyOf' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/Matcher/NotAnyOf.php', - 'Mockery\\Matcher\\PHPUnitConstraint' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/Matcher/PHPUnitConstraint.php', - 'Mockery\\Matcher\\Pattern' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/Matcher/Pattern.php', - 'Mockery\\Matcher\\Subset' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/Matcher/Subset.php', - 'Mockery\\Matcher\\Type' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/Matcher/Type.php', - 'Mockery\\MethodCall' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/MethodCall.php', - 'Mockery\\Mock' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/Mock.php', - 'Mockery\\MockInterface' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/MockInterface.php', - 'Mockery\\ReceivedMethodCalls' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/ReceivedMethodCalls.php', - 'Mockery\\Undefined' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/Undefined.php', - 'Mockery\\VerificationDirector' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/VerificationDirector.php', - 'Mockery\\VerificationExpectation' => __DIR__ . '/..' . '/mockery/mockery/library/Mockery/VerificationExpectation.php', - 'Monolog\\ErrorHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/ErrorHandler.php', - 'Monolog\\Formatter\\ChromePHPFormatter' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Formatter/ChromePHPFormatter.php', - 'Monolog\\Formatter\\ElasticaFormatter' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Formatter/ElasticaFormatter.php', - 'Monolog\\Formatter\\FlowdockFormatter' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Formatter/FlowdockFormatter.php', - 'Monolog\\Formatter\\FluentdFormatter' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Formatter/FluentdFormatter.php', - 'Monolog\\Formatter\\FormatterInterface' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Formatter/FormatterInterface.php', - 'Monolog\\Formatter\\GelfMessageFormatter' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Formatter/GelfMessageFormatter.php', - 'Monolog\\Formatter\\HtmlFormatter' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Formatter/HtmlFormatter.php', - 'Monolog\\Formatter\\JsonFormatter' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Formatter/JsonFormatter.php', - 'Monolog\\Formatter\\LineFormatter' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Formatter/LineFormatter.php', - 'Monolog\\Formatter\\LogglyFormatter' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Formatter/LogglyFormatter.php', - 'Monolog\\Formatter\\LogstashFormatter' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Formatter/LogstashFormatter.php', - 'Monolog\\Formatter\\MongoDBFormatter' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Formatter/MongoDBFormatter.php', - 'Monolog\\Formatter\\NormalizerFormatter' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Formatter/NormalizerFormatter.php', - 'Monolog\\Formatter\\ScalarFormatter' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Formatter/ScalarFormatter.php', - 'Monolog\\Formatter\\WildfireFormatter' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Formatter/WildfireFormatter.php', - 'Monolog\\Handler\\AbstractHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/AbstractHandler.php', - 'Monolog\\Handler\\AbstractProcessingHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/AbstractProcessingHandler.php', - 'Monolog\\Handler\\AbstractSyslogHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/AbstractSyslogHandler.php', - 'Monolog\\Handler\\AmqpHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/AmqpHandler.php', - 'Monolog\\Handler\\BrowserConsoleHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/BrowserConsoleHandler.php', - 'Monolog\\Handler\\BufferHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/BufferHandler.php', - 'Monolog\\Handler\\ChromePHPHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/ChromePHPHandler.php', - 'Monolog\\Handler\\CouchDBHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/CouchDBHandler.php', - 'Monolog\\Handler\\CubeHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/CubeHandler.php', - 'Monolog\\Handler\\Curl\\Util' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/Curl/Util.php', - 'Monolog\\Handler\\DeduplicationHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/DeduplicationHandler.php', - 'Monolog\\Handler\\DoctrineCouchDBHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/DoctrineCouchDBHandler.php', - 'Monolog\\Handler\\DynamoDbHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/DynamoDbHandler.php', - 'Monolog\\Handler\\ElasticSearchHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/ElasticSearchHandler.php', - 'Monolog\\Handler\\ErrorLogHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/ErrorLogHandler.php', - 'Monolog\\Handler\\FilterHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/FilterHandler.php', - 'Monolog\\Handler\\FingersCrossedHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/FingersCrossedHandler.php', - 'Monolog\\Handler\\FingersCrossed\\ActivationStrategyInterface' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/FingersCrossed/ActivationStrategyInterface.php', - 'Monolog\\Handler\\FingersCrossed\\ChannelLevelActivationStrategy' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/FingersCrossed/ChannelLevelActivationStrategy.php', - 'Monolog\\Handler\\FingersCrossed\\ErrorLevelActivationStrategy' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/FingersCrossed/ErrorLevelActivationStrategy.php', - 'Monolog\\Handler\\FirePHPHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/FirePHPHandler.php', - 'Monolog\\Handler\\FleepHookHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/FleepHookHandler.php', - 'Monolog\\Handler\\FlowdockHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/FlowdockHandler.php', - 'Monolog\\Handler\\FormattableHandlerInterface' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/FormattableHandlerInterface.php', - 'Monolog\\Handler\\FormattableHandlerTrait' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/FormattableHandlerTrait.php', - 'Monolog\\Handler\\GelfHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/GelfHandler.php', - 'Monolog\\Handler\\GroupHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/GroupHandler.php', - 'Monolog\\Handler\\HandlerInterface' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/HandlerInterface.php', - 'Monolog\\Handler\\HandlerWrapper' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/HandlerWrapper.php', - 'Monolog\\Handler\\HipChatHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/HipChatHandler.php', - 'Monolog\\Handler\\IFTTTHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/IFTTTHandler.php', - 'Monolog\\Handler\\InsightOpsHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/InsightOpsHandler.php', - 'Monolog\\Handler\\LogEntriesHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/LogEntriesHandler.php', - 'Monolog\\Handler\\LogglyHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/LogglyHandler.php', - 'Monolog\\Handler\\MailHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/MailHandler.php', - 'Monolog\\Handler\\MandrillHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/MandrillHandler.php', - 'Monolog\\Handler\\MissingExtensionException' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/MissingExtensionException.php', - 'Monolog\\Handler\\MongoDBHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/MongoDBHandler.php', - 'Monolog\\Handler\\NativeMailerHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/NativeMailerHandler.php', - 'Monolog\\Handler\\NewRelicHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/NewRelicHandler.php', - 'Monolog\\Handler\\NullHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/NullHandler.php', - 'Monolog\\Handler\\PHPConsoleHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/PHPConsoleHandler.php', - 'Monolog\\Handler\\ProcessableHandlerInterface' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/ProcessableHandlerInterface.php', - 'Monolog\\Handler\\ProcessableHandlerTrait' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/ProcessableHandlerTrait.php', - 'Monolog\\Handler\\PsrHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/PsrHandler.php', - 'Monolog\\Handler\\PushoverHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/PushoverHandler.php', - 'Monolog\\Handler\\RavenHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/RavenHandler.php', - 'Monolog\\Handler\\RedisHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/RedisHandler.php', - 'Monolog\\Handler\\RollbarHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/RollbarHandler.php', - 'Monolog\\Handler\\RotatingFileHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/RotatingFileHandler.php', - 'Monolog\\Handler\\SamplingHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/SamplingHandler.php', - 'Monolog\\Handler\\SlackHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/SlackHandler.php', - 'Monolog\\Handler\\SlackWebhookHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/SlackWebhookHandler.php', - 'Monolog\\Handler\\Slack\\SlackRecord' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/Slack/SlackRecord.php', - 'Monolog\\Handler\\SlackbotHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/SlackbotHandler.php', - 'Monolog\\Handler\\SocketHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/SocketHandler.php', - 'Monolog\\Handler\\StreamHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/StreamHandler.php', - 'Monolog\\Handler\\SwiftMailerHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/SwiftMailerHandler.php', - 'Monolog\\Handler\\SyslogHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/SyslogHandler.php', - 'Monolog\\Handler\\SyslogUdpHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/SyslogUdpHandler.php', - 'Monolog\\Handler\\SyslogUdp\\UdpSocket' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/SyslogUdp/UdpSocket.php', - 'Monolog\\Handler\\TestHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/TestHandler.php', - 'Monolog\\Handler\\WhatFailureGroupHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/WhatFailureGroupHandler.php', - 'Monolog\\Handler\\ZendMonitorHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/ZendMonitorHandler.php', - 'Monolog\\Logger' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Logger.php', - 'Monolog\\Processor\\GitProcessor' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Processor/GitProcessor.php', - 'Monolog\\Processor\\IntrospectionProcessor' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Processor/IntrospectionProcessor.php', - 'Monolog\\Processor\\MemoryPeakUsageProcessor' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Processor/MemoryPeakUsageProcessor.php', - 'Monolog\\Processor\\MemoryProcessor' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Processor/MemoryProcessor.php', - 'Monolog\\Processor\\MemoryUsageProcessor' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Processor/MemoryUsageProcessor.php', - 'Monolog\\Processor\\MercurialProcessor' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Processor/MercurialProcessor.php', - 'Monolog\\Processor\\ProcessIdProcessor' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Processor/ProcessIdProcessor.php', - 'Monolog\\Processor\\ProcessorInterface' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Processor/ProcessorInterface.php', - 'Monolog\\Processor\\PsrLogMessageProcessor' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Processor/PsrLogMessageProcessor.php', - 'Monolog\\Processor\\TagProcessor' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Processor/TagProcessor.php', - 'Monolog\\Processor\\UidProcessor' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Processor/UidProcessor.php', - 'Monolog\\Processor\\WebProcessor' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Processor/WebProcessor.php', - 'Monolog\\Registry' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Registry.php', - 'Monolog\\ResettableInterface' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/ResettableInterface.php', - 'Monolog\\SignalHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/SignalHandler.php', - 'Monolog\\Utils' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Utils.php', - 'NunoMaduro\\Collision\\Adapters\\Laravel\\CollisionServiceProvider' => __DIR__ . '/..' . '/nunomaduro/collision/src/Adapters/Laravel/CollisionServiceProvider.php', - 'NunoMaduro\\Collision\\Adapters\\Laravel\\ExceptionHandler' => __DIR__ . '/..' . '/nunomaduro/collision/src/Adapters/Laravel/ExceptionHandler.php', - 'NunoMaduro\\Collision\\Adapters\\Laravel\\Inspector' => __DIR__ . '/..' . '/nunomaduro/collision/src/Adapters/Laravel/Inspector.php', - 'NunoMaduro\\Collision\\Adapters\\Phpunit\\Listener' => __DIR__ . '/..' . '/nunomaduro/collision/src/Adapters/Phpunit/Listener.php', - 'NunoMaduro\\Collision\\ArgumentFormatter' => __DIR__ . '/..' . '/nunomaduro/collision/src/ArgumentFormatter.php', - 'NunoMaduro\\Collision\\Contracts\\Adapters\\Phpunit\\Listener' => __DIR__ . '/..' . '/nunomaduro/collision/src/Contracts/Adapters/Phpunit/Listener.php', - 'NunoMaduro\\Collision\\Contracts\\ArgumentFormatter' => __DIR__ . '/..' . '/nunomaduro/collision/src/Contracts/ArgumentFormatter.php', - 'NunoMaduro\\Collision\\Contracts\\Handler' => __DIR__ . '/..' . '/nunomaduro/collision/src/Contracts/Handler.php', - 'NunoMaduro\\Collision\\Contracts\\Highlighter' => __DIR__ . '/..' . '/nunomaduro/collision/src/Contracts/Highlighter.php', - 'NunoMaduro\\Collision\\Contracts\\Provider' => __DIR__ . '/..' . '/nunomaduro/collision/src/Contracts/Provider.php', - 'NunoMaduro\\Collision\\Contracts\\Writer' => __DIR__ . '/..' . '/nunomaduro/collision/src/Contracts/Writer.php', - 'NunoMaduro\\Collision\\Handler' => __DIR__ . '/..' . '/nunomaduro/collision/src/Handler.php', - 'NunoMaduro\\Collision\\Highlighter' => __DIR__ . '/..' . '/nunomaduro/collision/src/Highlighter.php', - 'NunoMaduro\\Collision\\Provider' => __DIR__ . '/..' . '/nunomaduro/collision/src/Provider.php', - 'NunoMaduro\\Collision\\Writer' => __DIR__ . '/..' . '/nunomaduro/collision/src/Writer.php', - 'Opis\\Closure\\Analyzer' => __DIR__ . '/..' . '/opis/closure/src/Analyzer.php', - 'Opis\\Closure\\ClosureContext' => __DIR__ . '/..' . '/opis/closure/src/ClosureContext.php', - 'Opis\\Closure\\ClosureScope' => __DIR__ . '/..' . '/opis/closure/src/ClosureScope.php', - 'Opis\\Closure\\ClosureStream' => __DIR__ . '/..' . '/opis/closure/src/ClosureStream.php', - 'Opis\\Closure\\ISecurityProvider' => __DIR__ . '/..' . '/opis/closure/src/ISecurityProvider.php', - 'Opis\\Closure\\ReflectionClosure' => __DIR__ . '/..' . '/opis/closure/src/ReflectionClosure.php', - 'Opis\\Closure\\SecurityException' => __DIR__ . '/..' . '/opis/closure/src/SecurityException.php', - 'Opis\\Closure\\SecurityProvider' => __DIR__ . '/..' . '/opis/closure/src/SecurityProvider.php', - 'Opis\\Closure\\SelfReference' => __DIR__ . '/..' . '/opis/closure/src/SelfReference.php', - 'Opis\\Closure\\SerializableClosure' => __DIR__ . '/..' . '/opis/closure/src/SerializableClosure.php', - 'PHPUnit\\Exception' => __DIR__ . '/..' . '/phpunit/phpunit/src/Exception.php', - 'PHPUnit\\Framework\\Assert' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Assert.php', - 'PHPUnit\\Framework\\AssertionFailedError' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/AssertionFailedError.php', - 'PHPUnit\\Framework\\CodeCoverageException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/CodeCoverageException.php', - 'PHPUnit\\Framework\\Constraint\\ArrayHasKey' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/ArrayHasKey.php', - 'PHPUnit\\Framework\\Constraint\\ArraySubset' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/ArraySubset.php', - 'PHPUnit\\Framework\\Constraint\\Attribute' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Attribute.php', - 'PHPUnit\\Framework\\Constraint\\Callback' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Callback.php', - 'PHPUnit\\Framework\\Constraint\\ClassHasAttribute' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/ClassHasAttribute.php', - 'PHPUnit\\Framework\\Constraint\\ClassHasStaticAttribute' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/ClassHasStaticAttribute.php', - 'PHPUnit\\Framework\\Constraint\\Composite' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Composite.php', - 'PHPUnit\\Framework\\Constraint\\Constraint' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Constraint.php', - 'PHPUnit\\Framework\\Constraint\\Count' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Count.php', - 'PHPUnit\\Framework\\Constraint\\DirectoryExists' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/DirectoryExists.php', - 'PHPUnit\\Framework\\Constraint\\Exception' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Exception.php', - 'PHPUnit\\Framework\\Constraint\\ExceptionCode' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/ExceptionCode.php', - 'PHPUnit\\Framework\\Constraint\\ExceptionMessage' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/ExceptionMessage.php', - 'PHPUnit\\Framework\\Constraint\\ExceptionMessageRegularExpression' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/ExceptionMessageRegularExpression.php', - 'PHPUnit\\Framework\\Constraint\\FileExists' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/FileExists.php', - 'PHPUnit\\Framework\\Constraint\\GreaterThan' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/GreaterThan.php', - 'PHPUnit\\Framework\\Constraint\\IsAnything' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/IsAnything.php', - 'PHPUnit\\Framework\\Constraint\\IsEmpty' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/IsEmpty.php', - 'PHPUnit\\Framework\\Constraint\\IsEqual' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/IsEqual.php', - 'PHPUnit\\Framework\\Constraint\\IsFalse' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/IsFalse.php', - 'PHPUnit\\Framework\\Constraint\\IsFinite' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/IsFinite.php', - 'PHPUnit\\Framework\\Constraint\\IsIdentical' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/IsIdentical.php', - 'PHPUnit\\Framework\\Constraint\\IsInfinite' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/IsInfinite.php', - 'PHPUnit\\Framework\\Constraint\\IsInstanceOf' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/IsInstanceOf.php', - 'PHPUnit\\Framework\\Constraint\\IsJson' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/IsJson.php', - 'PHPUnit\\Framework\\Constraint\\IsNan' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/IsNan.php', - 'PHPUnit\\Framework\\Constraint\\IsNull' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/IsNull.php', - 'PHPUnit\\Framework\\Constraint\\IsReadable' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/IsReadable.php', - 'PHPUnit\\Framework\\Constraint\\IsTrue' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/IsTrue.php', - 'PHPUnit\\Framework\\Constraint\\IsType' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/IsType.php', - 'PHPUnit\\Framework\\Constraint\\IsWritable' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/IsWritable.php', - 'PHPUnit\\Framework\\Constraint\\JsonMatches' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/JsonMatches.php', - 'PHPUnit\\Framework\\Constraint\\JsonMatchesErrorMessageProvider' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/JsonMatchesErrorMessageProvider.php', - 'PHPUnit\\Framework\\Constraint\\LessThan' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/LessThan.php', - 'PHPUnit\\Framework\\Constraint\\LogicalAnd' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/LogicalAnd.php', - 'PHPUnit\\Framework\\Constraint\\LogicalNot' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/LogicalNot.php', - 'PHPUnit\\Framework\\Constraint\\LogicalOr' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/LogicalOr.php', - 'PHPUnit\\Framework\\Constraint\\LogicalXor' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/LogicalXor.php', - 'PHPUnit\\Framework\\Constraint\\ObjectHasAttribute' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/ObjectHasAttribute.php', - 'PHPUnit\\Framework\\Constraint\\RegularExpression' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/RegularExpression.php', - 'PHPUnit\\Framework\\Constraint\\SameSize' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/SameSize.php', - 'PHPUnit\\Framework\\Constraint\\StringContains' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/StringContains.php', - 'PHPUnit\\Framework\\Constraint\\StringEndsWith' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/StringEndsWith.php', - 'PHPUnit\\Framework\\Constraint\\StringMatchesFormatDescription' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/StringMatchesFormatDescription.php', - 'PHPUnit\\Framework\\Constraint\\StringStartsWith' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/StringStartsWith.php', - 'PHPUnit\\Framework\\Constraint\\TraversableContains' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/TraversableContains.php', - 'PHPUnit\\Framework\\Constraint\\TraversableContainsOnly' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/TraversableContainsOnly.php', - 'PHPUnit\\Framework\\CoveredCodeNotExecutedException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/CoveredCodeNotExecutedException.php', - 'PHPUnit\\Framework\\DataProviderTestSuite' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/DataProviderTestSuite.php', - 'PHPUnit\\Framework\\Error\\Deprecated' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Error/Deprecated.php', - 'PHPUnit\\Framework\\Error\\Error' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Error/Error.php', - 'PHPUnit\\Framework\\Error\\Notice' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Error/Notice.php', - 'PHPUnit\\Framework\\Error\\Warning' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Error/Warning.php', - 'PHPUnit\\Framework\\Exception' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Exception.php', - 'PHPUnit\\Framework\\ExceptionWrapper' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/ExceptionWrapper.php', - 'PHPUnit\\Framework\\ExpectationFailedException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/ExpectationFailedException.php', - 'PHPUnit\\Framework\\IncompleteTest' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/IncompleteTest.php', - 'PHPUnit\\Framework\\IncompleteTestCase' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/IncompleteTestCase.php', - 'PHPUnit\\Framework\\IncompleteTestError' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/IncompleteTestError.php', - 'PHPUnit\\Framework\\InvalidCoversTargetException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/InvalidCoversTargetException.php', - 'PHPUnit\\Framework\\InvalidParameterGroupException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/InvalidParameterGroupException.php', - 'PHPUnit\\Framework\\MissingCoversAnnotationException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MissingCoversAnnotationException.php', - 'PHPUnit\\Framework\\MockObject\\BadMethodCallException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Exception/BadMethodCallException.php', - 'PHPUnit\\Framework\\MockObject\\Builder\\Identity' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Builder/Identity.php', - 'PHPUnit\\Framework\\MockObject\\Builder\\InvocationMocker' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Builder/InvocationMocker.php', - 'PHPUnit\\Framework\\MockObject\\Builder\\Match' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Builder/Match.php', - 'PHPUnit\\Framework\\MockObject\\Builder\\MethodNameMatch' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Builder/MethodNameMatch.php', - 'PHPUnit\\Framework\\MockObject\\Builder\\NamespaceMatch' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Builder/NamespaceMatch.php', - 'PHPUnit\\Framework\\MockObject\\Builder\\ParametersMatch' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Builder/ParametersMatch.php', - 'PHPUnit\\Framework\\MockObject\\Builder\\Stub' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Builder/Stub.php', - 'PHPUnit\\Framework\\MockObject\\Exception' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Exception/Exception.php', - 'PHPUnit\\Framework\\MockObject\\Generator' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Generator.php', - 'PHPUnit\\Framework\\MockObject\\Invocation' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Invocation/Invocation.php', - 'PHPUnit\\Framework\\MockObject\\InvocationMocker' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/InvocationMocker.php', - 'PHPUnit\\Framework\\MockObject\\Invocation\\ObjectInvocation' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Invocation/ObjectInvocation.php', - 'PHPUnit\\Framework\\MockObject\\Invocation\\StaticInvocation' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Invocation/StaticInvocation.php', - 'PHPUnit\\Framework\\MockObject\\Invokable' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Invokable.php', - 'PHPUnit\\Framework\\MockObject\\Matcher' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Matcher.php', - 'PHPUnit\\Framework\\MockObject\\Matcher\\AnyInvokedCount' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Matcher/AnyInvokedCount.php', - 'PHPUnit\\Framework\\MockObject\\Matcher\\AnyParameters' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Matcher/AnyParameters.php', - 'PHPUnit\\Framework\\MockObject\\Matcher\\ConsecutiveParameters' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Matcher/ConsecutiveParameters.php', - 'PHPUnit\\Framework\\MockObject\\Matcher\\DeferredError' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Matcher/DeferredError.php', - 'PHPUnit\\Framework\\MockObject\\Matcher\\Invocation' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Matcher/Invocation.php', - 'PHPUnit\\Framework\\MockObject\\Matcher\\InvokedAtIndex' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Matcher/InvokedAtIndex.php', - 'PHPUnit\\Framework\\MockObject\\Matcher\\InvokedAtLeastCount' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Matcher/InvokedAtLeastCount.php', - 'PHPUnit\\Framework\\MockObject\\Matcher\\InvokedAtLeastOnce' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Matcher/InvokedAtLeastOnce.php', - 'PHPUnit\\Framework\\MockObject\\Matcher\\InvokedAtMostCount' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Matcher/InvokedAtMostCount.php', - 'PHPUnit\\Framework\\MockObject\\Matcher\\InvokedCount' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Matcher/InvokedCount.php', - 'PHPUnit\\Framework\\MockObject\\Matcher\\InvokedRecorder' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Matcher/InvokedRecorder.php', - 'PHPUnit\\Framework\\MockObject\\Matcher\\MethodName' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Matcher/MethodName.php', - 'PHPUnit\\Framework\\MockObject\\Matcher\\Parameters' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Matcher/Parameters.php', - 'PHPUnit\\Framework\\MockObject\\Matcher\\StatelessInvocation' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Matcher/StatelessInvocation.php', - 'PHPUnit\\Framework\\MockObject\\MockBuilder' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/MockBuilder.php', - 'PHPUnit\\Framework\\MockObject\\MockMethod' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/MockMethod.php', - 'PHPUnit\\Framework\\MockObject\\MockMethodSet' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/MockMethodSet.php', - 'PHPUnit\\Framework\\MockObject\\MockObject' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/ForwardCompatibility/MockObject.php', - 'PHPUnit\\Framework\\MockObject\\RuntimeException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Exception/RuntimeException.php', - 'PHPUnit\\Framework\\MockObject\\Stub' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Stub.php', - 'PHPUnit\\Framework\\MockObject\\Stub\\ConsecutiveCalls' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Stub/ConsecutiveCalls.php', - 'PHPUnit\\Framework\\MockObject\\Stub\\Exception' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Stub/Exception.php', - 'PHPUnit\\Framework\\MockObject\\Stub\\MatcherCollection' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Stub/MatcherCollection.php', - 'PHPUnit\\Framework\\MockObject\\Stub\\ReturnArgument' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Stub/ReturnArgument.php', - 'PHPUnit\\Framework\\MockObject\\Stub\\ReturnCallback' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Stub/ReturnCallback.php', - 'PHPUnit\\Framework\\MockObject\\Stub\\ReturnReference' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Stub/ReturnReference.php', - 'PHPUnit\\Framework\\MockObject\\Stub\\ReturnSelf' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Stub/ReturnSelf.php', - 'PHPUnit\\Framework\\MockObject\\Stub\\ReturnStub' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Stub/ReturnStub.php', - 'PHPUnit\\Framework\\MockObject\\Stub\\ReturnValueMap' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Stub/ReturnValueMap.php', - 'PHPUnit\\Framework\\MockObject\\Verifiable' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Verifiable.php', - 'PHPUnit\\Framework\\OutputError' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/OutputError.php', - 'PHPUnit\\Framework\\RiskyTest' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/RiskyTest.php', - 'PHPUnit\\Framework\\RiskyTestError' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/RiskyTestError.php', - 'PHPUnit\\Framework\\SelfDescribing' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/SelfDescribing.php', - 'PHPUnit\\Framework\\SkippedTest' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/SkippedTest.php', - 'PHPUnit\\Framework\\SkippedTestCase' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/SkippedTestCase.php', - 'PHPUnit\\Framework\\SkippedTestError' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/SkippedTestError.php', - 'PHPUnit\\Framework\\SkippedTestSuiteError' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/SkippedTestSuiteError.php', - 'PHPUnit\\Framework\\SyntheticError' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/SyntheticError.php', - 'PHPUnit\\Framework\\Test' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Test.php', - 'PHPUnit\\Framework\\TestCase' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/TestCase.php', - 'PHPUnit\\Framework\\TestFailure' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/TestFailure.php', - 'PHPUnit\\Framework\\TestListener' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/TestListener.php', - 'PHPUnit\\Framework\\TestListenerDefaultImplementation' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/TestListenerDefaultImplementation.php', - 'PHPUnit\\Framework\\TestResult' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/TestResult.php', - 'PHPUnit\\Framework\\TestSuite' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/TestSuite.php', - 'PHPUnit\\Framework\\TestSuiteIterator' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/TestSuiteIterator.php', - 'PHPUnit\\Framework\\UnexpectedValueException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/UnexpectedValueException.php', - 'PHPUnit\\Framework\\UnintentionallyCoveredCodeError' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/UnintentionallyCoveredCodeError.php', - 'PHPUnit\\Framework\\Warning' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Warning.php', - 'PHPUnit\\Framework\\WarningTestCase' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/WarningTestCase.php', - 'PHPUnit\\Runner\\AfterIncompleteTestHook' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Hook/AfterIncompleteTestHook.php', - 'PHPUnit\\Runner\\AfterLastTestHook' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Hook/AfterLastTestHook.php', - 'PHPUnit\\Runner\\AfterRiskyTestHook' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Hook/AfterRiskyTestHook.php', - 'PHPUnit\\Runner\\AfterSkippedTestHook' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Hook/AfterSkippedTestHook.php', - 'PHPUnit\\Runner\\AfterSuccessfulTestHook' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Hook/AfterSuccessfulTestHook.php', - 'PHPUnit\\Runner\\AfterTestErrorHook' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Hook/AfterTestErrorHook.php', - 'PHPUnit\\Runner\\AfterTestFailureHook' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Hook/AfterTestFailureHook.php', - 'PHPUnit\\Runner\\AfterTestHook' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Hook/AfterTestHook.php', - 'PHPUnit\\Runner\\AfterTestWarningHook' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Hook/AfterTestWarningHook.php', - 'PHPUnit\\Runner\\BaseTestRunner' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/BaseTestRunner.php', - 'PHPUnit\\Runner\\BeforeFirstTestHook' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Hook/BeforeFirstTestHook.php', - 'PHPUnit\\Runner\\BeforeTestHook' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Hook/BeforeTestHook.php', - 'PHPUnit\\Runner\\Exception' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Exception.php', - 'PHPUnit\\Runner\\Filter\\ExcludeGroupFilterIterator' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Filter/ExcludeGroupFilterIterator.php', - 'PHPUnit\\Runner\\Filter\\Factory' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Filter/Factory.php', - 'PHPUnit\\Runner\\Filter\\GroupFilterIterator' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Filter/GroupFilterIterator.php', - 'PHPUnit\\Runner\\Filter\\IncludeGroupFilterIterator' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Filter/IncludeGroupFilterIterator.php', - 'PHPUnit\\Runner\\Filter\\NameFilterIterator' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Filter/NameFilterIterator.php', - 'PHPUnit\\Runner\\Hook' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Hook/Hook.php', - 'PHPUnit\\Runner\\NullTestResultCache' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/NullTestResultCache.php', - 'PHPUnit\\Runner\\PhptTestCase' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/PhptTestCase.php', - 'PHPUnit\\Runner\\ResultCacheExtension' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/ResultCacheExtension.php', - 'PHPUnit\\Runner\\StandardTestSuiteLoader' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/StandardTestSuiteLoader.php', - 'PHPUnit\\Runner\\TestHook' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Hook/TestHook.php', - 'PHPUnit\\Runner\\TestListenerAdapter' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Hook/TestListenerAdapter.php', - 'PHPUnit\\Runner\\TestResultCache' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/TestResultCache.php', - 'PHPUnit\\Runner\\TestResultCacheInterface' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/TestResultCacheInterface.php', - 'PHPUnit\\Runner\\TestSuiteLoader' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/TestSuiteLoader.php', - 'PHPUnit\\Runner\\TestSuiteSorter' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/TestSuiteSorter.php', - 'PHPUnit\\Runner\\Version' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Version.php', - 'PHPUnit\\TextUI\\Command' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Command.php', - 'PHPUnit\\TextUI\\ResultPrinter' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/ResultPrinter.php', - 'PHPUnit\\TextUI\\TestRunner' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/TestRunner.php', - 'PHPUnit\\Util\\Blacklist' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Blacklist.php', - 'PHPUnit\\Util\\Configuration' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Configuration.php', - 'PHPUnit\\Util\\ConfigurationGenerator' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/ConfigurationGenerator.php', - 'PHPUnit\\Util\\ErrorHandler' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/ErrorHandler.php', - 'PHPUnit\\Util\\FileLoader' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/FileLoader.php', - 'PHPUnit\\Util\\Filesystem' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Filesystem.php', - 'PHPUnit\\Util\\Filter' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Filter.php', - 'PHPUnit\\Util\\Getopt' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Getopt.php', - 'PHPUnit\\Util\\GlobalState' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/GlobalState.php', - 'PHPUnit\\Util\\InvalidArgumentHelper' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/InvalidArgumentHelper.php', - 'PHPUnit\\Util\\Json' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Json.php', - 'PHPUnit\\Util\\Log\\JUnit' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Log/JUnit.php', - 'PHPUnit\\Util\\Log\\TeamCity' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Log/TeamCity.php', - 'PHPUnit\\Util\\PHP\\AbstractPhpProcess' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/PHP/AbstractPhpProcess.php', - 'PHPUnit\\Util\\PHP\\DefaultPhpProcess' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/PHP/DefaultPhpProcess.php', - 'PHPUnit\\Util\\PHP\\WindowsPhpProcess' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/PHP/WindowsPhpProcess.php', - 'PHPUnit\\Util\\Printer' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Printer.php', - 'PHPUnit\\Util\\RegularExpression' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/RegularExpression.php', - 'PHPUnit\\Util\\Test' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Test.php', - 'PHPUnit\\Util\\TestDox\\CliTestDoxPrinter' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/TestDox/CliTestDoxPrinter.php', - 'PHPUnit\\Util\\TestDox\\HtmlResultPrinter' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/TestDox/HtmlResultPrinter.php', - 'PHPUnit\\Util\\TestDox\\NamePrettifier' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/TestDox/NamePrettifier.php', - 'PHPUnit\\Util\\TestDox\\ResultPrinter' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/TestDox/ResultPrinter.php', - 'PHPUnit\\Util\\TestDox\\TestResult' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/TestDox/TestResult.php', - 'PHPUnit\\Util\\TestDox\\TextResultPrinter' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/TestDox/TextResultPrinter.php', - 'PHPUnit\\Util\\TestDox\\XmlResultPrinter' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/TestDox/XmlResultPrinter.php', - 'PHPUnit\\Util\\TextTestListRenderer' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/TextTestListRenderer.php', - 'PHPUnit\\Util\\Type' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Type.php', - 'PHPUnit\\Util\\XdebugFilterScriptGenerator' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/XdebugFilterScriptGenerator.php', - 'PHPUnit\\Util\\Xml' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Xml.php', - 'PHPUnit\\Util\\XmlTestListRenderer' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/XmlTestListRenderer.php', - 'PHPUnit_Framework_MockObject_MockObject' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/MockObject.php', - 'PHP_Token' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_TokenWithScope' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_TokenWithScopeAndVisibility' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_ABSTRACT' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_AMPERSAND' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_AND_EQUAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_ARRAY' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_ARRAY_CAST' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_AS' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_AT' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_BACKTICK' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_BAD_CHARACTER' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_BOOLEAN_AND' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_BOOLEAN_OR' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_BOOL_CAST' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_BREAK' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_CALLABLE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_CARET' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_CASE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_CATCH' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_CHARACTER' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_CLASS' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_CLASS_C' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_CLASS_NAME_CONSTANT' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_CLONE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_CLOSE_BRACKET' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_CLOSE_CURLY' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_CLOSE_SQUARE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_CLOSE_TAG' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_COALESCE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_COALESCE_EQUAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_COLON' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_COMMA' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_COMMENT' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_CONCAT_EQUAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_CONST' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_CONSTANT_ENCAPSED_STRING' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_CONTINUE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_CURLY_OPEN' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_DEC' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_DECLARE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_DEFAULT' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_DIR' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_DIV' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_DIV_EQUAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_DNUMBER' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_DO' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_DOC_COMMENT' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_DOLLAR' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_DOLLAR_OPEN_CURLY_BRACES' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_DOT' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_DOUBLE_ARROW' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_DOUBLE_CAST' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_DOUBLE_COLON' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_DOUBLE_QUOTES' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_ECHO' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_ELLIPSIS' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_ELSE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_ELSEIF' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_EMPTY' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_ENCAPSED_AND_WHITESPACE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_ENDDECLARE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_ENDFOR' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_ENDFOREACH' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_ENDIF' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_ENDSWITCH' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_ENDWHILE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_END_HEREDOC' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_EQUAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_EVAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_EXCLAMATION_MARK' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_EXIT' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_EXTENDS' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_FILE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_FINAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_FINALLY' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_FN' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_FOR' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_FOREACH' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_FUNCTION' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_FUNC_C' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_GLOBAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_GOTO' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_GT' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_HALT_COMPILER' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_IF' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_IMPLEMENTS' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_INC' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_INCLUDE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_INCLUDE_ONCE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_INLINE_HTML' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_INSTANCEOF' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_INSTEADOF' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_INTERFACE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_INT_CAST' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_ISSET' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_IS_EQUAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_IS_GREATER_OR_EQUAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_IS_IDENTICAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_IS_NOT_EQUAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_IS_NOT_IDENTICAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_IS_SMALLER_OR_EQUAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_Includes' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_LINE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_LIST' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_LNUMBER' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_LOGICAL_AND' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_LOGICAL_OR' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_LOGICAL_XOR' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_LT' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_METHOD_C' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_MINUS' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_MINUS_EQUAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_MOD_EQUAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_MULT' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_MUL_EQUAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_NAMESPACE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_NEW' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_NS_C' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_NS_SEPARATOR' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_NUM_STRING' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_OBJECT_CAST' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_OBJECT_OPERATOR' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_OPEN_BRACKET' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_OPEN_CURLY' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_OPEN_SQUARE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_OPEN_TAG' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_OPEN_TAG_WITH_ECHO' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_OR_EQUAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_PAAMAYIM_NEKUDOTAYIM' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_PERCENT' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_PIPE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_PLUS' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_PLUS_EQUAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_POW' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_POW_EQUAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_PRINT' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_PRIVATE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_PROTECTED' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_PUBLIC' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_QUESTION_MARK' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_REQUIRE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_REQUIRE_ONCE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_RETURN' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_SEMICOLON' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_SL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_SL_EQUAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_SPACESHIP' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_SR' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_SR_EQUAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_START_HEREDOC' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_STATIC' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_STRING' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_STRING_CAST' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_STRING_VARNAME' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_SWITCH' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_Stream' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token/Stream.php', - 'PHP_Token_Stream_CachingFactory' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token/Stream/CachingFactory.php', - 'PHP_Token_THROW' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_TILDE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_TRAIT' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_TRAIT_C' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_TRY' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_UNSET' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_UNSET_CAST' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_USE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_USE_FUNCTION' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_Util' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token/Util.php', - 'PHP_Token_VAR' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_VARIABLE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_WHILE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_WHITESPACE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_XOR_EQUAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_YIELD' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_YIELD_FROM' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'Parsedown' => __DIR__ . '/..' . '/erusev/parsedown/Parsedown.php', - 'PharIo\\Manifest\\Application' => __DIR__ . '/..' . '/phar-io/manifest/src/values/Application.php', - 'PharIo\\Manifest\\ApplicationName' => __DIR__ . '/..' . '/phar-io/manifest/src/values/ApplicationName.php', - 'PharIo\\Manifest\\Author' => __DIR__ . '/..' . '/phar-io/manifest/src/values/Author.php', - 'PharIo\\Manifest\\AuthorCollection' => __DIR__ . '/..' . '/phar-io/manifest/src/values/AuthorCollection.php', - 'PharIo\\Manifest\\AuthorCollectionIterator' => __DIR__ . '/..' . '/phar-io/manifest/src/values/AuthorCollectionIterator.php', - 'PharIo\\Manifest\\AuthorElement' => __DIR__ . '/..' . '/phar-io/manifest/src/xml/AuthorElement.php', - 'PharIo\\Manifest\\AuthorElementCollection' => __DIR__ . '/..' . '/phar-io/manifest/src/xml/AuthorElementCollection.php', - 'PharIo\\Manifest\\BundledComponent' => __DIR__ . '/..' . '/phar-io/manifest/src/values/BundledComponent.php', - 'PharIo\\Manifest\\BundledComponentCollection' => __DIR__ . '/..' . '/phar-io/manifest/src/values/BundledComponentCollection.php', - 'PharIo\\Manifest\\BundledComponentCollectionIterator' => __DIR__ . '/..' . '/phar-io/manifest/src/values/BundledComponentCollectionIterator.php', - 'PharIo\\Manifest\\BundlesElement' => __DIR__ . '/..' . '/phar-io/manifest/src/xml/BundlesElement.php', - 'PharIo\\Manifest\\ComponentElement' => __DIR__ . '/..' . '/phar-io/manifest/src/xml/ComponentElement.php', - 'PharIo\\Manifest\\ComponentElementCollection' => __DIR__ . '/..' . '/phar-io/manifest/src/xml/ComponentElementCollection.php', - 'PharIo\\Manifest\\ContainsElement' => __DIR__ . '/..' . '/phar-io/manifest/src/xml/ContainsElement.php', - 'PharIo\\Manifest\\CopyrightElement' => __DIR__ . '/..' . '/phar-io/manifest/src/xml/CopyrightElement.php', - 'PharIo\\Manifest\\CopyrightInformation' => __DIR__ . '/..' . '/phar-io/manifest/src/values/CopyrightInformation.php', - 'PharIo\\Manifest\\ElementCollection' => __DIR__ . '/..' . '/phar-io/manifest/src/xml/ElementCollection.php', - 'PharIo\\Manifest\\Email' => __DIR__ . '/..' . '/phar-io/manifest/src/values/Email.php', - 'PharIo\\Manifest\\Exception' => __DIR__ . '/..' . '/phar-io/manifest/src/exceptions/Exception.php', - 'PharIo\\Manifest\\ExtElement' => __DIR__ . '/..' . '/phar-io/manifest/src/xml/ExtElement.php', - 'PharIo\\Manifest\\ExtElementCollection' => __DIR__ . '/..' . '/phar-io/manifest/src/xml/ExtElementCollection.php', - 'PharIo\\Manifest\\Extension' => __DIR__ . '/..' . '/phar-io/manifest/src/values/Extension.php', - 'PharIo\\Manifest\\ExtensionElement' => __DIR__ . '/..' . '/phar-io/manifest/src/xml/ExtensionElement.php', - 'PharIo\\Manifest\\InvalidApplicationNameException' => __DIR__ . '/..' . '/phar-io/manifest/src/exceptions/InvalidApplicationNameException.php', - 'PharIo\\Manifest\\InvalidEmailException' => __DIR__ . '/..' . '/phar-io/manifest/src/exceptions/InvalidEmailException.php', - 'PharIo\\Manifest\\InvalidUrlException' => __DIR__ . '/..' . '/phar-io/manifest/src/exceptions/InvalidUrlException.php', - 'PharIo\\Manifest\\Library' => __DIR__ . '/..' . '/phar-io/manifest/src/values/Library.php', - 'PharIo\\Manifest\\License' => __DIR__ . '/..' . '/phar-io/manifest/src/values/License.php', - 'PharIo\\Manifest\\LicenseElement' => __DIR__ . '/..' . '/phar-io/manifest/src/xml/LicenseElement.php', - 'PharIo\\Manifest\\Manifest' => __DIR__ . '/..' . '/phar-io/manifest/src/values/Manifest.php', - 'PharIo\\Manifest\\ManifestDocument' => __DIR__ . '/..' . '/phar-io/manifest/src/xml/ManifestDocument.php', - 'PharIo\\Manifest\\ManifestDocumentException' => __DIR__ . '/..' . '/phar-io/manifest/src/exceptions/ManifestDocumentException.php', - 'PharIo\\Manifest\\ManifestDocumentLoadingException' => __DIR__ . '/..' . '/phar-io/manifest/src/xml/ManifestDocumentLoadingException.php', - 'PharIo\\Manifest\\ManifestDocumentMapper' => __DIR__ . '/..' . '/phar-io/manifest/src/ManifestDocumentMapper.php', - 'PharIo\\Manifest\\ManifestDocumentMapperException' => __DIR__ . '/..' . '/phar-io/manifest/src/exceptions/ManifestDocumentMapperException.php', - 'PharIo\\Manifest\\ManifestElement' => __DIR__ . '/..' . '/phar-io/manifest/src/xml/ManifestElement.php', - 'PharIo\\Manifest\\ManifestElementException' => __DIR__ . '/..' . '/phar-io/manifest/src/exceptions/ManifestElementException.php', - 'PharIo\\Manifest\\ManifestLoader' => __DIR__ . '/..' . '/phar-io/manifest/src/ManifestLoader.php', - 'PharIo\\Manifest\\ManifestLoaderException' => __DIR__ . '/..' . '/phar-io/manifest/src/exceptions/ManifestLoaderException.php', - 'PharIo\\Manifest\\ManifestSerializer' => __DIR__ . '/..' . '/phar-io/manifest/src/ManifestSerializer.php', - 'PharIo\\Manifest\\PhpElement' => __DIR__ . '/..' . '/phar-io/manifest/src/xml/PhpElement.php', - 'PharIo\\Manifest\\PhpExtensionRequirement' => __DIR__ . '/..' . '/phar-io/manifest/src/values/PhpExtensionRequirement.php', - 'PharIo\\Manifest\\PhpVersionRequirement' => __DIR__ . '/..' . '/phar-io/manifest/src/values/PhpVersionRequirement.php', - 'PharIo\\Manifest\\Requirement' => __DIR__ . '/..' . '/phar-io/manifest/src/values/Requirement.php', - 'PharIo\\Manifest\\RequirementCollection' => __DIR__ . '/..' . '/phar-io/manifest/src/values/RequirementCollection.php', - 'PharIo\\Manifest\\RequirementCollectionIterator' => __DIR__ . '/..' . '/phar-io/manifest/src/values/RequirementCollectionIterator.php', - 'PharIo\\Manifest\\RequiresElement' => __DIR__ . '/..' . '/phar-io/manifest/src/xml/RequiresElement.php', - 'PharIo\\Manifest\\Type' => __DIR__ . '/..' . '/phar-io/manifest/src/values/Type.php', - 'PharIo\\Manifest\\Url' => __DIR__ . '/..' . '/phar-io/manifest/src/values/Url.php', - 'PharIo\\Version\\AbstractVersionConstraint' => __DIR__ . '/..' . '/phar-io/version/src/constraints/AbstractVersionConstraint.php', - 'PharIo\\Version\\AndVersionConstraintGroup' => __DIR__ . '/..' . '/phar-io/version/src/constraints/AndVersionConstraintGroup.php', - 'PharIo\\Version\\AnyVersionConstraint' => __DIR__ . '/..' . '/phar-io/version/src/constraints/AnyVersionConstraint.php', - 'PharIo\\Version\\ExactVersionConstraint' => __DIR__ . '/..' . '/phar-io/version/src/constraints/ExactVersionConstraint.php', - 'PharIo\\Version\\Exception' => __DIR__ . '/..' . '/phar-io/version/src/exceptions/Exception.php', - 'PharIo\\Version\\GreaterThanOrEqualToVersionConstraint' => __DIR__ . '/..' . '/phar-io/version/src/constraints/GreaterThanOrEqualToVersionConstraint.php', - 'PharIo\\Version\\InvalidPreReleaseSuffixException' => __DIR__ . '/..' . '/phar-io/version/src/exceptions/InvalidPreReleaseSuffixException.php', - 'PharIo\\Version\\InvalidVersionException' => __DIR__ . '/..' . '/phar-io/version/src/exceptions/InvalidVersionException.php', - 'PharIo\\Version\\OrVersionConstraintGroup' => __DIR__ . '/..' . '/phar-io/version/src/constraints/OrVersionConstraintGroup.php', - 'PharIo\\Version\\PreReleaseSuffix' => __DIR__ . '/..' . '/phar-io/version/src/PreReleaseSuffix.php', - 'PharIo\\Version\\SpecificMajorAndMinorVersionConstraint' => __DIR__ . '/..' . '/phar-io/version/src/constraints/SpecificMajorAndMinorVersionConstraint.php', - 'PharIo\\Version\\SpecificMajorVersionConstraint' => __DIR__ . '/..' . '/phar-io/version/src/constraints/SpecificMajorVersionConstraint.php', - 'PharIo\\Version\\UnsupportedVersionConstraintException' => __DIR__ . '/..' . '/phar-io/version/src/exceptions/UnsupportedVersionConstraintException.php', - 'PharIo\\Version\\Version' => __DIR__ . '/..' . '/phar-io/version/src/Version.php', - 'PharIo\\Version\\VersionConstraint' => __DIR__ . '/..' . '/phar-io/version/src/constraints/VersionConstraint.php', - 'PharIo\\Version\\VersionConstraintParser' => __DIR__ . '/..' . '/phar-io/version/src/VersionConstraintParser.php', - 'PharIo\\Version\\VersionConstraintValue' => __DIR__ . '/..' . '/phar-io/version/src/VersionConstraintValue.php', - 'PharIo\\Version\\VersionNumber' => __DIR__ . '/..' . '/phar-io/version/src/VersionNumber.php', - 'PhpOption\\LazyOption' => __DIR__ . '/..' . '/phpoption/phpoption/src/PhpOption/LazyOption.php', - 'PhpOption\\None' => __DIR__ . '/..' . '/phpoption/phpoption/src/PhpOption/None.php', - 'PhpOption\\Option' => __DIR__ . '/..' . '/phpoption/phpoption/src/PhpOption/Option.php', - 'PhpOption\\Some' => __DIR__ . '/..' . '/phpoption/phpoption/src/PhpOption/Some.php', - 'PhpParser\\Builder' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Builder.php', - 'PhpParser\\BuilderFactory' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/BuilderFactory.php', - 'PhpParser\\BuilderHelpers' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/BuilderHelpers.php', - 'PhpParser\\Builder\\Class_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Builder/Class_.php', - 'PhpParser\\Builder\\Declaration' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Builder/Declaration.php', - 'PhpParser\\Builder\\FunctionLike' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Builder/FunctionLike.php', - 'PhpParser\\Builder\\Function_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Builder/Function_.php', - 'PhpParser\\Builder\\Interface_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Builder/Interface_.php', - 'PhpParser\\Builder\\Method' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Builder/Method.php', - 'PhpParser\\Builder\\Namespace_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Builder/Namespace_.php', - 'PhpParser\\Builder\\Param' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Builder/Param.php', - 'PhpParser\\Builder\\Property' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Builder/Property.php', - 'PhpParser\\Builder\\TraitUse' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Builder/TraitUse.php', - 'PhpParser\\Builder\\TraitUseAdaptation' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Builder/TraitUseAdaptation.php', - 'PhpParser\\Builder\\Trait_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Builder/Trait_.php', - 'PhpParser\\Builder\\Use_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Builder/Use_.php', - 'PhpParser\\Comment' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Comment.php', - 'PhpParser\\Comment\\Doc' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Comment/Doc.php', - 'PhpParser\\ConstExprEvaluationException' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/ConstExprEvaluationException.php', - 'PhpParser\\ConstExprEvaluator' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/ConstExprEvaluator.php', - 'PhpParser\\Error' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Error.php', - 'PhpParser\\ErrorHandler' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/ErrorHandler.php', - 'PhpParser\\ErrorHandler\\Collecting' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/ErrorHandler/Collecting.php', - 'PhpParser\\ErrorHandler\\Throwing' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/ErrorHandler/Throwing.php', - 'PhpParser\\Internal\\DiffElem' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Internal/DiffElem.php', - 'PhpParser\\Internal\\Differ' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Internal/Differ.php', - 'PhpParser\\Internal\\PrintableNewAnonClassNode' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Internal/PrintableNewAnonClassNode.php', - 'PhpParser\\Internal\\TokenStream' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Internal/TokenStream.php', - 'PhpParser\\JsonDecoder' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/JsonDecoder.php', - 'PhpParser\\Lexer' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Lexer.php', - 'PhpParser\\Lexer\\Emulative' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Lexer/Emulative.php', - 'PhpParser\\Lexer\\TokenEmulator\\CoaleseEqualTokenEmulator' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/CoaleseEqualTokenEmulator.php', - 'PhpParser\\Lexer\\TokenEmulator\\FnTokenEmulator' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/FnTokenEmulator.php', - 'PhpParser\\Lexer\\TokenEmulator\\NumericLiteralSeparatorEmulator' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/NumericLiteralSeparatorEmulator.php', - 'PhpParser\\Lexer\\TokenEmulator\\TokenEmulatorInterface' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/TokenEmulatorInterface.php', - 'PhpParser\\NameContext' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/NameContext.php', - 'PhpParser\\Node' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node.php', - 'PhpParser\\NodeAbstract' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/NodeAbstract.php', - 'PhpParser\\NodeDumper' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/NodeDumper.php', - 'PhpParser\\NodeFinder' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/NodeFinder.php', - 'PhpParser\\NodeTraverser' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/NodeTraverser.php', - 'PhpParser\\NodeTraverserInterface' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/NodeTraverserInterface.php', - 'PhpParser\\NodeVisitor' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/NodeVisitor.php', - 'PhpParser\\NodeVisitorAbstract' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/NodeVisitorAbstract.php', - 'PhpParser\\NodeVisitor\\CloningVisitor' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/NodeVisitor/CloningVisitor.php', - 'PhpParser\\NodeVisitor\\FindingVisitor' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/NodeVisitor/FindingVisitor.php', - 'PhpParser\\NodeVisitor\\FirstFindingVisitor' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/NodeVisitor/FirstFindingVisitor.php', - 'PhpParser\\NodeVisitor\\NameResolver' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/NodeVisitor/NameResolver.php', - 'PhpParser\\Node\\Arg' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Arg.php', - 'PhpParser\\Node\\Const_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Const_.php', - 'PhpParser\\Node\\Expr' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr.php', - 'PhpParser\\Node\\Expr\\ArrayDimFetch' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/ArrayDimFetch.php', - 'PhpParser\\Node\\Expr\\ArrayItem' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/ArrayItem.php', - 'PhpParser\\Node\\Expr\\Array_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/Array_.php', - 'PhpParser\\Node\\Expr\\ArrowFunction' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/ArrowFunction.php', - 'PhpParser\\Node\\Expr\\Assign' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/Assign.php', - 'PhpParser\\Node\\Expr\\AssignOp' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp.php', - 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/BitwiseAnd.php', - 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/BitwiseOr.php', - 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/BitwiseXor.php', - 'PhpParser\\Node\\Expr\\AssignOp\\Coalesce' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Coalesce.php', - 'PhpParser\\Node\\Expr\\AssignOp\\Concat' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Concat.php', - 'PhpParser\\Node\\Expr\\AssignOp\\Div' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Div.php', - 'PhpParser\\Node\\Expr\\AssignOp\\Minus' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Minus.php', - 'PhpParser\\Node\\Expr\\AssignOp\\Mod' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Mod.php', - 'PhpParser\\Node\\Expr\\AssignOp\\Mul' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Mul.php', - 'PhpParser\\Node\\Expr\\AssignOp\\Plus' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Plus.php', - 'PhpParser\\Node\\Expr\\AssignOp\\Pow' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Pow.php', - 'PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/ShiftLeft.php', - 'PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/ShiftRight.php', - 'PhpParser\\Node\\Expr\\AssignRef' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/AssignRef.php', - 'PhpParser\\Node\\Expr\\BinaryOp' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp.php', - 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BitwiseAnd.php', - 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BitwiseOr.php', - 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BitwiseXor.php', - 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BooleanAnd.php', - 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BooleanOr.php', - 'PhpParser\\Node\\Expr\\BinaryOp\\Coalesce' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Coalesce.php', - 'PhpParser\\Node\\Expr\\BinaryOp\\Concat' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Concat.php', - 'PhpParser\\Node\\Expr\\BinaryOp\\Div' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Div.php', - 'PhpParser\\Node\\Expr\\BinaryOp\\Equal' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Equal.php', - 'PhpParser\\Node\\Expr\\BinaryOp\\Greater' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Greater.php', - 'PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/GreaterOrEqual.php', - 'PhpParser\\Node\\Expr\\BinaryOp\\Identical' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Identical.php', - 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/LogicalAnd.php', - 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/LogicalOr.php', - 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/LogicalXor.php', - 'PhpParser\\Node\\Expr\\BinaryOp\\Minus' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Minus.php', - 'PhpParser\\Node\\Expr\\BinaryOp\\Mod' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Mod.php', - 'PhpParser\\Node\\Expr\\BinaryOp\\Mul' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Mul.php', - 'PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/NotEqual.php', - 'PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/NotIdentical.php', - 'PhpParser\\Node\\Expr\\BinaryOp\\Plus' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Plus.php', - 'PhpParser\\Node\\Expr\\BinaryOp\\Pow' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Pow.php', - 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/ShiftLeft.php', - 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/ShiftRight.php', - 'PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Smaller.php', - 'PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/SmallerOrEqual.php', - 'PhpParser\\Node\\Expr\\BinaryOp\\Spaceship' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Spaceship.php', - 'PhpParser\\Node\\Expr\\BitwiseNot' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/BitwiseNot.php', - 'PhpParser\\Node\\Expr\\BooleanNot' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/BooleanNot.php', - 'PhpParser\\Node\\Expr\\Cast' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/Cast.php', - 'PhpParser\\Node\\Expr\\Cast\\Array_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Array_.php', - 'PhpParser\\Node\\Expr\\Cast\\Bool_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Bool_.php', - 'PhpParser\\Node\\Expr\\Cast\\Double' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Double.php', - 'PhpParser\\Node\\Expr\\Cast\\Int_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Int_.php', - 'PhpParser\\Node\\Expr\\Cast\\Object_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Object_.php', - 'PhpParser\\Node\\Expr\\Cast\\String_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/String_.php', - 'PhpParser\\Node\\Expr\\Cast\\Unset_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Unset_.php', - 'PhpParser\\Node\\Expr\\ClassConstFetch' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/ClassConstFetch.php', - 'PhpParser\\Node\\Expr\\Clone_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/Clone_.php', - 'PhpParser\\Node\\Expr\\Closure' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/Closure.php', - 'PhpParser\\Node\\Expr\\ClosureUse' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/ClosureUse.php', - 'PhpParser\\Node\\Expr\\ConstFetch' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/ConstFetch.php', - 'PhpParser\\Node\\Expr\\Empty_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/Empty_.php', - 'PhpParser\\Node\\Expr\\Error' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/Error.php', - 'PhpParser\\Node\\Expr\\ErrorSuppress' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/ErrorSuppress.php', - 'PhpParser\\Node\\Expr\\Eval_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/Eval_.php', - 'PhpParser\\Node\\Expr\\Exit_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/Exit_.php', - 'PhpParser\\Node\\Expr\\FuncCall' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/FuncCall.php', - 'PhpParser\\Node\\Expr\\Include_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/Include_.php', - 'PhpParser\\Node\\Expr\\Instanceof_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/Instanceof_.php', - 'PhpParser\\Node\\Expr\\Isset_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/Isset_.php', - 'PhpParser\\Node\\Expr\\List_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/List_.php', - 'PhpParser\\Node\\Expr\\MethodCall' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/MethodCall.php', - 'PhpParser\\Node\\Expr\\New_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/New_.php', - 'PhpParser\\Node\\Expr\\PostDec' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/PostDec.php', - 'PhpParser\\Node\\Expr\\PostInc' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/PostInc.php', - 'PhpParser\\Node\\Expr\\PreDec' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/PreDec.php', - 'PhpParser\\Node\\Expr\\PreInc' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/PreInc.php', - 'PhpParser\\Node\\Expr\\Print_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/Print_.php', - 'PhpParser\\Node\\Expr\\PropertyFetch' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/PropertyFetch.php', - 'PhpParser\\Node\\Expr\\ShellExec' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/ShellExec.php', - 'PhpParser\\Node\\Expr\\StaticCall' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/StaticCall.php', - 'PhpParser\\Node\\Expr\\StaticPropertyFetch' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/StaticPropertyFetch.php', - 'PhpParser\\Node\\Expr\\Ternary' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/Ternary.php', - 'PhpParser\\Node\\Expr\\UnaryMinus' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/UnaryMinus.php', - 'PhpParser\\Node\\Expr\\UnaryPlus' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/UnaryPlus.php', - 'PhpParser\\Node\\Expr\\Variable' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/Variable.php', - 'PhpParser\\Node\\Expr\\YieldFrom' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/YieldFrom.php', - 'PhpParser\\Node\\Expr\\Yield_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/Yield_.php', - 'PhpParser\\Node\\FunctionLike' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/FunctionLike.php', - 'PhpParser\\Node\\Identifier' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Identifier.php', - 'PhpParser\\Node\\Name' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Name.php', - 'PhpParser\\Node\\Name\\FullyQualified' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Name/FullyQualified.php', - 'PhpParser\\Node\\Name\\Relative' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Name/Relative.php', - 'PhpParser\\Node\\NullableType' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/NullableType.php', - 'PhpParser\\Node\\Param' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Param.php', - 'PhpParser\\Node\\Scalar' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Scalar.php', - 'PhpParser\\Node\\Scalar\\DNumber' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Scalar/DNumber.php', - 'PhpParser\\Node\\Scalar\\Encapsed' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Scalar/Encapsed.php', - 'PhpParser\\Node\\Scalar\\EncapsedStringPart' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Scalar/EncapsedStringPart.php', - 'PhpParser\\Node\\Scalar\\LNumber' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Scalar/LNumber.php', - 'PhpParser\\Node\\Scalar\\MagicConst' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst.php', - 'PhpParser\\Node\\Scalar\\MagicConst\\Class_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Class_.php', - 'PhpParser\\Node\\Scalar\\MagicConst\\Dir' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Dir.php', - 'PhpParser\\Node\\Scalar\\MagicConst\\File' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/File.php', - 'PhpParser\\Node\\Scalar\\MagicConst\\Function_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Function_.php', - 'PhpParser\\Node\\Scalar\\MagicConst\\Line' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Line.php', - 'PhpParser\\Node\\Scalar\\MagicConst\\Method' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Method.php', - 'PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Namespace_.php', - 'PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Trait_.php', - 'PhpParser\\Node\\Scalar\\String_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Scalar/String_.php', - 'PhpParser\\Node\\Stmt' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Stmt.php', - 'PhpParser\\Node\\Stmt\\Break_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Break_.php', - 'PhpParser\\Node\\Stmt\\Case_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Case_.php', - 'PhpParser\\Node\\Stmt\\Catch_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Catch_.php', - 'PhpParser\\Node\\Stmt\\ClassConst' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Stmt/ClassConst.php', - 'PhpParser\\Node\\Stmt\\ClassLike' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Stmt/ClassLike.php', - 'PhpParser\\Node\\Stmt\\ClassMethod' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Stmt/ClassMethod.php', - 'PhpParser\\Node\\Stmt\\Class_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Class_.php', - 'PhpParser\\Node\\Stmt\\Const_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Const_.php', - 'PhpParser\\Node\\Stmt\\Continue_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Continue_.php', - 'PhpParser\\Node\\Stmt\\DeclareDeclare' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Stmt/DeclareDeclare.php', - 'PhpParser\\Node\\Stmt\\Declare_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Declare_.php', - 'PhpParser\\Node\\Stmt\\Do_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Do_.php', - 'PhpParser\\Node\\Stmt\\Echo_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Echo_.php', - 'PhpParser\\Node\\Stmt\\ElseIf_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Stmt/ElseIf_.php', - 'PhpParser\\Node\\Stmt\\Else_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Else_.php', - 'PhpParser\\Node\\Stmt\\Expression' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Expression.php', - 'PhpParser\\Node\\Stmt\\Finally_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Finally_.php', - 'PhpParser\\Node\\Stmt\\For_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Stmt/For_.php', - 'PhpParser\\Node\\Stmt\\Foreach_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Foreach_.php', - 'PhpParser\\Node\\Stmt\\Function_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Function_.php', - 'PhpParser\\Node\\Stmt\\Global_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Global_.php', - 'PhpParser\\Node\\Stmt\\Goto_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Goto_.php', - 'PhpParser\\Node\\Stmt\\GroupUse' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Stmt/GroupUse.php', - 'PhpParser\\Node\\Stmt\\HaltCompiler' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Stmt/HaltCompiler.php', - 'PhpParser\\Node\\Stmt\\If_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Stmt/If_.php', - 'PhpParser\\Node\\Stmt\\InlineHTML' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Stmt/InlineHTML.php', - 'PhpParser\\Node\\Stmt\\Interface_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Interface_.php', - 'PhpParser\\Node\\Stmt\\Label' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Label.php', - 'PhpParser\\Node\\Stmt\\Namespace_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Namespace_.php', - 'PhpParser\\Node\\Stmt\\Nop' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Nop.php', - 'PhpParser\\Node\\Stmt\\Property' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Property.php', - 'PhpParser\\Node\\Stmt\\PropertyProperty' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Stmt/PropertyProperty.php', - 'PhpParser\\Node\\Stmt\\Return_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Return_.php', - 'PhpParser\\Node\\Stmt\\StaticVar' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Stmt/StaticVar.php', - 'PhpParser\\Node\\Stmt\\Static_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Static_.php', - 'PhpParser\\Node\\Stmt\\Switch_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Switch_.php', - 'PhpParser\\Node\\Stmt\\Throw_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Throw_.php', - 'PhpParser\\Node\\Stmt\\TraitUse' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Stmt/TraitUse.php', - 'PhpParser\\Node\\Stmt\\TraitUseAdaptation' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Stmt/TraitUseAdaptation.php', - 'PhpParser\\Node\\Stmt\\TraitUseAdaptation\\Alias' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Stmt/TraitUseAdaptation/Alias.php', - 'PhpParser\\Node\\Stmt\\TraitUseAdaptation\\Precedence' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Stmt/TraitUseAdaptation/Precedence.php', - 'PhpParser\\Node\\Stmt\\Trait_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Trait_.php', - 'PhpParser\\Node\\Stmt\\TryCatch' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Stmt/TryCatch.php', - 'PhpParser\\Node\\Stmt\\Unset_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Unset_.php', - 'PhpParser\\Node\\Stmt\\UseUse' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Stmt/UseUse.php', - 'PhpParser\\Node\\Stmt\\Use_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Use_.php', - 'PhpParser\\Node\\Stmt\\While_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Stmt/While_.php', - 'PhpParser\\Node\\UnionType' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/UnionType.php', - 'PhpParser\\Node\\VarLikeIdentifier' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/VarLikeIdentifier.php', - 'PhpParser\\Parser' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Parser.php', - 'PhpParser\\ParserAbstract' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/ParserAbstract.php', - 'PhpParser\\ParserFactory' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/ParserFactory.php', - 'PhpParser\\Parser\\Multiple' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Parser/Multiple.php', - 'PhpParser\\Parser\\Php5' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Parser/Php5.php', - 'PhpParser\\Parser\\Php7' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Parser/Php7.php', - 'PhpParser\\Parser\\Tokens' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Parser/Tokens.php', - 'PhpParser\\PrettyPrinterAbstract' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/PrettyPrinterAbstract.php', - 'PhpParser\\PrettyPrinter\\Standard' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/PrettyPrinter/Standard.php', - 'Prophecy\\Argument' => __DIR__ . '/..' . '/phpspec/prophecy/src/Prophecy/Argument.php', - 'Prophecy\\Argument\\ArgumentsWildcard' => __DIR__ . '/..' . '/phpspec/prophecy/src/Prophecy/Argument/ArgumentsWildcard.php', - 'Prophecy\\Argument\\Token\\AnyValueToken' => __DIR__ . '/..' . '/phpspec/prophecy/src/Prophecy/Argument/Token/AnyValueToken.php', - 'Prophecy\\Argument\\Token\\AnyValuesToken' => __DIR__ . '/..' . '/phpspec/prophecy/src/Prophecy/Argument/Token/AnyValuesToken.php', - 'Prophecy\\Argument\\Token\\ApproximateValueToken' => __DIR__ . '/..' . '/phpspec/prophecy/src/Prophecy/Argument/Token/ApproximateValueToken.php', - 'Prophecy\\Argument\\Token\\ArrayCountToken' => __DIR__ . '/..' . '/phpspec/prophecy/src/Prophecy/Argument/Token/ArrayCountToken.php', - 'Prophecy\\Argument\\Token\\ArrayEntryToken' => __DIR__ . '/..' . '/phpspec/prophecy/src/Prophecy/Argument/Token/ArrayEntryToken.php', - 'Prophecy\\Argument\\Token\\ArrayEveryEntryToken' => __DIR__ . '/..' . '/phpspec/prophecy/src/Prophecy/Argument/Token/ArrayEveryEntryToken.php', - 'Prophecy\\Argument\\Token\\CallbackToken' => __DIR__ . '/..' . '/phpspec/prophecy/src/Prophecy/Argument/Token/CallbackToken.php', - 'Prophecy\\Argument\\Token\\ExactValueToken' => __DIR__ . '/..' . '/phpspec/prophecy/src/Prophecy/Argument/Token/ExactValueToken.php', - 'Prophecy\\Argument\\Token\\IdenticalValueToken' => __DIR__ . '/..' . '/phpspec/prophecy/src/Prophecy/Argument/Token/IdenticalValueToken.php', - 'Prophecy\\Argument\\Token\\LogicalAndToken' => __DIR__ . '/..' . '/phpspec/prophecy/src/Prophecy/Argument/Token/LogicalAndToken.php', - 'Prophecy\\Argument\\Token\\LogicalNotToken' => __DIR__ . '/..' . '/phpspec/prophecy/src/Prophecy/Argument/Token/LogicalNotToken.php', - 'Prophecy\\Argument\\Token\\ObjectStateToken' => __DIR__ . '/..' . '/phpspec/prophecy/src/Prophecy/Argument/Token/ObjectStateToken.php', - 'Prophecy\\Argument\\Token\\StringContainsToken' => __DIR__ . '/..' . '/phpspec/prophecy/src/Prophecy/Argument/Token/StringContainsToken.php', - 'Prophecy\\Argument\\Token\\TokenInterface' => __DIR__ . '/..' . '/phpspec/prophecy/src/Prophecy/Argument/Token/TokenInterface.php', - 'Prophecy\\Argument\\Token\\TypeToken' => __DIR__ . '/..' . '/phpspec/prophecy/src/Prophecy/Argument/Token/TypeToken.php', - 'Prophecy\\Call\\Call' => __DIR__ . '/..' . '/phpspec/prophecy/src/Prophecy/Call/Call.php', - 'Prophecy\\Call\\CallCenter' => __DIR__ . '/..' . '/phpspec/prophecy/src/Prophecy/Call/CallCenter.php', - 'Prophecy\\Comparator\\ClosureComparator' => __DIR__ . '/..' . '/phpspec/prophecy/src/Prophecy/Comparator/ClosureComparator.php', - 'Prophecy\\Comparator\\Factory' => __DIR__ . '/..' . '/phpspec/prophecy/src/Prophecy/Comparator/Factory.php', - 'Prophecy\\Comparator\\ProphecyComparator' => __DIR__ . '/..' . '/phpspec/prophecy/src/Prophecy/Comparator/ProphecyComparator.php', - 'Prophecy\\Doubler\\CachedDoubler' => __DIR__ . '/..' . '/phpspec/prophecy/src/Prophecy/Doubler/CachedDoubler.php', - 'Prophecy\\Doubler\\ClassPatch\\ClassPatchInterface' => __DIR__ . '/..' . '/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/ClassPatchInterface.php', - 'Prophecy\\Doubler\\ClassPatch\\DisableConstructorPatch' => __DIR__ . '/..' . '/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/DisableConstructorPatch.php', - 'Prophecy\\Doubler\\ClassPatch\\HhvmExceptionPatch' => __DIR__ . '/..' . '/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/HhvmExceptionPatch.php', - 'Prophecy\\Doubler\\ClassPatch\\KeywordPatch' => __DIR__ . '/..' . '/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/KeywordPatch.php', - 'Prophecy\\Doubler\\ClassPatch\\MagicCallPatch' => __DIR__ . '/..' . '/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/MagicCallPatch.php', - 'Prophecy\\Doubler\\ClassPatch\\ProphecySubjectPatch' => __DIR__ . '/..' . '/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/ProphecySubjectPatch.php', - 'Prophecy\\Doubler\\ClassPatch\\ReflectionClassNewInstancePatch' => __DIR__ . '/..' . '/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/ReflectionClassNewInstancePatch.php', - 'Prophecy\\Doubler\\ClassPatch\\SplFileInfoPatch' => __DIR__ . '/..' . '/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/SplFileInfoPatch.php', - 'Prophecy\\Doubler\\ClassPatch\\ThrowablePatch' => __DIR__ . '/..' . '/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/ThrowablePatch.php', - 'Prophecy\\Doubler\\ClassPatch\\TraversablePatch' => __DIR__ . '/..' . '/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/TraversablePatch.php', - 'Prophecy\\Doubler\\DoubleInterface' => __DIR__ . '/..' . '/phpspec/prophecy/src/Prophecy/Doubler/DoubleInterface.php', - 'Prophecy\\Doubler\\Doubler' => __DIR__ . '/..' . '/phpspec/prophecy/src/Prophecy/Doubler/Doubler.php', - 'Prophecy\\Doubler\\Generator\\ClassCodeGenerator' => __DIR__ . '/..' . '/phpspec/prophecy/src/Prophecy/Doubler/Generator/ClassCodeGenerator.php', - 'Prophecy\\Doubler\\Generator\\ClassCreator' => __DIR__ . '/..' . '/phpspec/prophecy/src/Prophecy/Doubler/Generator/ClassCreator.php', - 'Prophecy\\Doubler\\Generator\\ClassMirror' => __DIR__ . '/..' . '/phpspec/prophecy/src/Prophecy/Doubler/Generator/ClassMirror.php', - 'Prophecy\\Doubler\\Generator\\Node\\ArgumentNode' => __DIR__ . '/..' . '/phpspec/prophecy/src/Prophecy/Doubler/Generator/Node/ArgumentNode.php', - 'Prophecy\\Doubler\\Generator\\Node\\ClassNode' => __DIR__ . '/..' . '/phpspec/prophecy/src/Prophecy/Doubler/Generator/Node/ClassNode.php', - 'Prophecy\\Doubler\\Generator\\Node\\MethodNode' => __DIR__ . '/..' . '/phpspec/prophecy/src/Prophecy/Doubler/Generator/Node/MethodNode.php', - 'Prophecy\\Doubler\\Generator\\ReflectionInterface' => __DIR__ . '/..' . '/phpspec/prophecy/src/Prophecy/Doubler/Generator/ReflectionInterface.php', - 'Prophecy\\Doubler\\Generator\\TypeHintReference' => __DIR__ . '/..' . '/phpspec/prophecy/src/Prophecy/Doubler/Generator/TypeHintReference.php', - 'Prophecy\\Doubler\\LazyDouble' => __DIR__ . '/..' . '/phpspec/prophecy/src/Prophecy/Doubler/LazyDouble.php', - 'Prophecy\\Doubler\\NameGenerator' => __DIR__ . '/..' . '/phpspec/prophecy/src/Prophecy/Doubler/NameGenerator.php', - 'Prophecy\\Exception\\Call\\UnexpectedCallException' => __DIR__ . '/..' . '/phpspec/prophecy/src/Prophecy/Exception/Call/UnexpectedCallException.php', - 'Prophecy\\Exception\\Doubler\\ClassCreatorException' => __DIR__ . '/..' . '/phpspec/prophecy/src/Prophecy/Exception/Doubler/ClassCreatorException.php', - 'Prophecy\\Exception\\Doubler\\ClassMirrorException' => __DIR__ . '/..' . '/phpspec/prophecy/src/Prophecy/Exception/Doubler/ClassMirrorException.php', - 'Prophecy\\Exception\\Doubler\\ClassNotFoundException' => __DIR__ . '/..' . '/phpspec/prophecy/src/Prophecy/Exception/Doubler/ClassNotFoundException.php', - 'Prophecy\\Exception\\Doubler\\DoubleException' => __DIR__ . '/..' . '/phpspec/prophecy/src/Prophecy/Exception/Doubler/DoubleException.php', - 'Prophecy\\Exception\\Doubler\\DoublerException' => __DIR__ . '/..' . '/phpspec/prophecy/src/Prophecy/Exception/Doubler/DoublerException.php', - 'Prophecy\\Exception\\Doubler\\InterfaceNotFoundException' => __DIR__ . '/..' . '/phpspec/prophecy/src/Prophecy/Exception/Doubler/InterfaceNotFoundException.php', - 'Prophecy\\Exception\\Doubler\\MethodNotExtendableException' => __DIR__ . '/..' . '/phpspec/prophecy/src/Prophecy/Exception/Doubler/MethodNotExtendableException.php', - 'Prophecy\\Exception\\Doubler\\MethodNotFoundException' => __DIR__ . '/..' . '/phpspec/prophecy/src/Prophecy/Exception/Doubler/MethodNotFoundException.php', - 'Prophecy\\Exception\\Doubler\\ReturnByReferenceException' => __DIR__ . '/..' . '/phpspec/prophecy/src/Prophecy/Exception/Doubler/ReturnByReferenceException.php', - 'Prophecy\\Exception\\Exception' => __DIR__ . '/..' . '/phpspec/prophecy/src/Prophecy/Exception/Exception.php', - 'Prophecy\\Exception\\InvalidArgumentException' => __DIR__ . '/..' . '/phpspec/prophecy/src/Prophecy/Exception/InvalidArgumentException.php', - 'Prophecy\\Exception\\Prediction\\AggregateException' => __DIR__ . '/..' . '/phpspec/prophecy/src/Prophecy/Exception/Prediction/AggregateException.php', - 'Prophecy\\Exception\\Prediction\\FailedPredictionException' => __DIR__ . '/..' . '/phpspec/prophecy/src/Prophecy/Exception/Prediction/FailedPredictionException.php', - 'Prophecy\\Exception\\Prediction\\NoCallsException' => __DIR__ . '/..' . '/phpspec/prophecy/src/Prophecy/Exception/Prediction/NoCallsException.php', - 'Prophecy\\Exception\\Prediction\\PredictionException' => __DIR__ . '/..' . '/phpspec/prophecy/src/Prophecy/Exception/Prediction/PredictionException.php', - 'Prophecy\\Exception\\Prediction\\UnexpectedCallsCountException' => __DIR__ . '/..' . '/phpspec/prophecy/src/Prophecy/Exception/Prediction/UnexpectedCallsCountException.php', - 'Prophecy\\Exception\\Prediction\\UnexpectedCallsException' => __DIR__ . '/..' . '/phpspec/prophecy/src/Prophecy/Exception/Prediction/UnexpectedCallsException.php', - 'Prophecy\\Exception\\Prophecy\\MethodProphecyException' => __DIR__ . '/..' . '/phpspec/prophecy/src/Prophecy/Exception/Prophecy/MethodProphecyException.php', - 'Prophecy\\Exception\\Prophecy\\ObjectProphecyException' => __DIR__ . '/..' . '/phpspec/prophecy/src/Prophecy/Exception/Prophecy/ObjectProphecyException.php', - 'Prophecy\\Exception\\Prophecy\\ProphecyException' => __DIR__ . '/..' . '/phpspec/prophecy/src/Prophecy/Exception/Prophecy/ProphecyException.php', - 'Prophecy\\PhpDocumentor\\ClassAndInterfaceTagRetriever' => __DIR__ . '/..' . '/phpspec/prophecy/src/Prophecy/PhpDocumentor/ClassAndInterfaceTagRetriever.php', - 'Prophecy\\PhpDocumentor\\ClassTagRetriever' => __DIR__ . '/..' . '/phpspec/prophecy/src/Prophecy/PhpDocumentor/ClassTagRetriever.php', - 'Prophecy\\PhpDocumentor\\LegacyClassTagRetriever' => __DIR__ . '/..' . '/phpspec/prophecy/src/Prophecy/PhpDocumentor/LegacyClassTagRetriever.php', - 'Prophecy\\PhpDocumentor\\MethodTagRetrieverInterface' => __DIR__ . '/..' . '/phpspec/prophecy/src/Prophecy/PhpDocumentor/MethodTagRetrieverInterface.php', - 'Prophecy\\Prediction\\CallPrediction' => __DIR__ . '/..' . '/phpspec/prophecy/src/Prophecy/Prediction/CallPrediction.php', - 'Prophecy\\Prediction\\CallTimesPrediction' => __DIR__ . '/..' . '/phpspec/prophecy/src/Prophecy/Prediction/CallTimesPrediction.php', - 'Prophecy\\Prediction\\CallbackPrediction' => __DIR__ . '/..' . '/phpspec/prophecy/src/Prophecy/Prediction/CallbackPrediction.php', - 'Prophecy\\Prediction\\NoCallsPrediction' => __DIR__ . '/..' . '/phpspec/prophecy/src/Prophecy/Prediction/NoCallsPrediction.php', - 'Prophecy\\Prediction\\PredictionInterface' => __DIR__ . '/..' . '/phpspec/prophecy/src/Prophecy/Prediction/PredictionInterface.php', - 'Prophecy\\Promise\\CallbackPromise' => __DIR__ . '/..' . '/phpspec/prophecy/src/Prophecy/Promise/CallbackPromise.php', - 'Prophecy\\Promise\\PromiseInterface' => __DIR__ . '/..' . '/phpspec/prophecy/src/Prophecy/Promise/PromiseInterface.php', - 'Prophecy\\Promise\\ReturnArgumentPromise' => __DIR__ . '/..' . '/phpspec/prophecy/src/Prophecy/Promise/ReturnArgumentPromise.php', - 'Prophecy\\Promise\\ReturnPromise' => __DIR__ . '/..' . '/phpspec/prophecy/src/Prophecy/Promise/ReturnPromise.php', - 'Prophecy\\Promise\\ThrowPromise' => __DIR__ . '/..' . '/phpspec/prophecy/src/Prophecy/Promise/ThrowPromise.php', - 'Prophecy\\Prophecy\\MethodProphecy' => __DIR__ . '/..' . '/phpspec/prophecy/src/Prophecy/Prophecy/MethodProphecy.php', - 'Prophecy\\Prophecy\\ObjectProphecy' => __DIR__ . '/..' . '/phpspec/prophecy/src/Prophecy/Prophecy/ObjectProphecy.php', - 'Prophecy\\Prophecy\\ProphecyInterface' => __DIR__ . '/..' . '/phpspec/prophecy/src/Prophecy/Prophecy/ProphecyInterface.php', - 'Prophecy\\Prophecy\\ProphecySubjectInterface' => __DIR__ . '/..' . '/phpspec/prophecy/src/Prophecy/Prophecy/ProphecySubjectInterface.php', - 'Prophecy\\Prophecy\\Revealer' => __DIR__ . '/..' . '/phpspec/prophecy/src/Prophecy/Prophecy/Revealer.php', - 'Prophecy\\Prophecy\\RevealerInterface' => __DIR__ . '/..' . '/phpspec/prophecy/src/Prophecy/Prophecy/RevealerInterface.php', - 'Prophecy\\Prophet' => __DIR__ . '/..' . '/phpspec/prophecy/src/Prophecy/Prophet.php', - 'Prophecy\\Util\\ExportUtil' => __DIR__ . '/..' . '/phpspec/prophecy/src/Prophecy/Util/ExportUtil.php', - 'Prophecy\\Util\\StringUtil' => __DIR__ . '/..' . '/phpspec/prophecy/src/Prophecy/Util/StringUtil.php', - 'Psr\\Container\\ContainerExceptionInterface' => __DIR__ . '/..' . '/psr/container/src/ContainerExceptionInterface.php', - 'Psr\\Container\\ContainerInterface' => __DIR__ . '/..' . '/psr/container/src/ContainerInterface.php', - 'Psr\\Container\\NotFoundExceptionInterface' => __DIR__ . '/..' . '/psr/container/src/NotFoundExceptionInterface.php', - 'Psr\\Log\\AbstractLogger' => __DIR__ . '/..' . '/psr/log/Psr/Log/AbstractLogger.php', - 'Psr\\Log\\InvalidArgumentException' => __DIR__ . '/..' . '/psr/log/Psr/Log/InvalidArgumentException.php', - 'Psr\\Log\\LogLevel' => __DIR__ . '/..' . '/psr/log/Psr/Log/LogLevel.php', - 'Psr\\Log\\LoggerAwareInterface' => __DIR__ . '/..' . '/psr/log/Psr/Log/LoggerAwareInterface.php', - 'Psr\\Log\\LoggerAwareTrait' => __DIR__ . '/..' . '/psr/log/Psr/Log/LoggerAwareTrait.php', - 'Psr\\Log\\LoggerInterface' => __DIR__ . '/..' . '/psr/log/Psr/Log/LoggerInterface.php', - 'Psr\\Log\\LoggerTrait' => __DIR__ . '/..' . '/psr/log/Psr/Log/LoggerTrait.php', - 'Psr\\Log\\NullLogger' => __DIR__ . '/..' . '/psr/log/Psr/Log/NullLogger.php', - 'Psr\\Log\\Test\\DummyTest' => __DIR__ . '/..' . '/psr/log/Psr/Log/Test/LoggerInterfaceTest.php', - 'Psr\\Log\\Test\\LoggerInterfaceTest' => __DIR__ . '/..' . '/psr/log/Psr/Log/Test/LoggerInterfaceTest.php', - 'Psr\\Log\\Test\\TestLogger' => __DIR__ . '/..' . '/psr/log/Psr/Log/Test/TestLogger.php', - 'Psr\\SimpleCache\\CacheException' => __DIR__ . '/..' . '/psr/simple-cache/src/CacheException.php', - 'Psr\\SimpleCache\\CacheInterface' => __DIR__ . '/..' . '/psr/simple-cache/src/CacheInterface.php', - 'Psr\\SimpleCache\\InvalidArgumentException' => __DIR__ . '/..' . '/psr/simple-cache/src/InvalidArgumentException.php', - 'Psy\\CodeCleaner' => __DIR__ . '/..' . '/psy/psysh/src/CodeCleaner.php', - 'Psy\\CodeCleaner\\AbstractClassPass' => __DIR__ . '/..' . '/psy/psysh/src/CodeCleaner/AbstractClassPass.php', - 'Psy\\CodeCleaner\\AssignThisVariablePass' => __DIR__ . '/..' . '/psy/psysh/src/CodeCleaner/AssignThisVariablePass.php', - 'Psy\\CodeCleaner\\CallTimePassByReferencePass' => __DIR__ . '/..' . '/psy/psysh/src/CodeCleaner/CallTimePassByReferencePass.php', - 'Psy\\CodeCleaner\\CalledClassPass' => __DIR__ . '/..' . '/psy/psysh/src/CodeCleaner/CalledClassPass.php', - 'Psy\\CodeCleaner\\CodeCleanerPass' => __DIR__ . '/..' . '/psy/psysh/src/CodeCleaner/CodeCleanerPass.php', - 'Psy\\CodeCleaner\\ExitPass' => __DIR__ . '/..' . '/psy/psysh/src/CodeCleaner/ExitPass.php', - 'Psy\\CodeCleaner\\FinalClassPass' => __DIR__ . '/..' . '/psy/psysh/src/CodeCleaner/FinalClassPass.php', - 'Psy\\CodeCleaner\\FunctionContextPass' => __DIR__ . '/..' . '/psy/psysh/src/CodeCleaner/FunctionContextPass.php', - 'Psy\\CodeCleaner\\FunctionReturnInWriteContextPass' => __DIR__ . '/..' . '/psy/psysh/src/CodeCleaner/FunctionReturnInWriteContextPass.php', - 'Psy\\CodeCleaner\\ImplicitReturnPass' => __DIR__ . '/..' . '/psy/psysh/src/CodeCleaner/ImplicitReturnPass.php', - 'Psy\\CodeCleaner\\InstanceOfPass' => __DIR__ . '/..' . '/psy/psysh/src/CodeCleaner/InstanceOfPass.php', - 'Psy\\CodeCleaner\\LeavePsyshAlonePass' => __DIR__ . '/..' . '/psy/psysh/src/CodeCleaner/LeavePsyshAlonePass.php', - 'Psy\\CodeCleaner\\LegacyEmptyPass' => __DIR__ . '/..' . '/psy/psysh/src/CodeCleaner/LegacyEmptyPass.php', - 'Psy\\CodeCleaner\\ListPass' => __DIR__ . '/..' . '/psy/psysh/src/CodeCleaner/ListPass.php', - 'Psy\\CodeCleaner\\LoopContextPass' => __DIR__ . '/..' . '/psy/psysh/src/CodeCleaner/LoopContextPass.php', - 'Psy\\CodeCleaner\\MagicConstantsPass' => __DIR__ . '/..' . '/psy/psysh/src/CodeCleaner/MagicConstantsPass.php', - 'Psy\\CodeCleaner\\NamespaceAwarePass' => __DIR__ . '/..' . '/psy/psysh/src/CodeCleaner/NamespaceAwarePass.php', - 'Psy\\CodeCleaner\\NamespacePass' => __DIR__ . '/..' . '/psy/psysh/src/CodeCleaner/NamespacePass.php', - 'Psy\\CodeCleaner\\NoReturnValue' => __DIR__ . '/..' . '/psy/psysh/src/CodeCleaner/NoReturnValue.php', - 'Psy\\CodeCleaner\\PassableByReferencePass' => __DIR__ . '/..' . '/psy/psysh/src/CodeCleaner/PassableByReferencePass.php', - 'Psy\\CodeCleaner\\RequirePass' => __DIR__ . '/..' . '/psy/psysh/src/CodeCleaner/RequirePass.php', - 'Psy\\CodeCleaner\\StrictTypesPass' => __DIR__ . '/..' . '/psy/psysh/src/CodeCleaner/StrictTypesPass.php', - 'Psy\\CodeCleaner\\UseStatementPass' => __DIR__ . '/..' . '/psy/psysh/src/CodeCleaner/UseStatementPass.php', - 'Psy\\CodeCleaner\\ValidClassNamePass' => __DIR__ . '/..' . '/psy/psysh/src/CodeCleaner/ValidClassNamePass.php', - 'Psy\\CodeCleaner\\ValidConstantPass' => __DIR__ . '/..' . '/psy/psysh/src/CodeCleaner/ValidConstantPass.php', - 'Psy\\CodeCleaner\\ValidConstructorPass' => __DIR__ . '/..' . '/psy/psysh/src/CodeCleaner/ValidConstructorPass.php', - 'Psy\\CodeCleaner\\ValidFunctionNamePass' => __DIR__ . '/..' . '/psy/psysh/src/CodeCleaner/ValidFunctionNamePass.php', - 'Psy\\Command\\BufferCommand' => __DIR__ . '/..' . '/psy/psysh/src/Command/BufferCommand.php', - 'Psy\\Command\\ClearCommand' => __DIR__ . '/..' . '/psy/psysh/src/Command/ClearCommand.php', - 'Psy\\Command\\Command' => __DIR__ . '/..' . '/psy/psysh/src/Command/Command.php', - 'Psy\\Command\\DocCommand' => __DIR__ . '/..' . '/psy/psysh/src/Command/DocCommand.php', - 'Psy\\Command\\DumpCommand' => __DIR__ . '/..' . '/psy/psysh/src/Command/DumpCommand.php', - 'Psy\\Command\\EditCommand' => __DIR__ . '/..' . '/psy/psysh/src/Command/EditCommand.php', - 'Psy\\Command\\ExitCommand' => __DIR__ . '/..' . '/psy/psysh/src/Command/ExitCommand.php', - 'Psy\\Command\\HelpCommand' => __DIR__ . '/..' . '/psy/psysh/src/Command/HelpCommand.php', - 'Psy\\Command\\HistoryCommand' => __DIR__ . '/..' . '/psy/psysh/src/Command/HistoryCommand.php', - 'Psy\\Command\\ListCommand' => __DIR__ . '/..' . '/psy/psysh/src/Command/ListCommand.php', - 'Psy\\Command\\ListCommand\\ClassConstantEnumerator' => __DIR__ . '/..' . '/psy/psysh/src/Command/ListCommand/ClassConstantEnumerator.php', - 'Psy\\Command\\ListCommand\\ClassEnumerator' => __DIR__ . '/..' . '/psy/psysh/src/Command/ListCommand/ClassEnumerator.php', - 'Psy\\Command\\ListCommand\\ConstantEnumerator' => __DIR__ . '/..' . '/psy/psysh/src/Command/ListCommand/ConstantEnumerator.php', - 'Psy\\Command\\ListCommand\\Enumerator' => __DIR__ . '/..' . '/psy/psysh/src/Command/ListCommand/Enumerator.php', - 'Psy\\Command\\ListCommand\\FunctionEnumerator' => __DIR__ . '/..' . '/psy/psysh/src/Command/ListCommand/FunctionEnumerator.php', - 'Psy\\Command\\ListCommand\\GlobalVariableEnumerator' => __DIR__ . '/..' . '/psy/psysh/src/Command/ListCommand/GlobalVariableEnumerator.php', - 'Psy\\Command\\ListCommand\\InterfaceEnumerator' => __DIR__ . '/..' . '/psy/psysh/src/Command/ListCommand/InterfaceEnumerator.php', - 'Psy\\Command\\ListCommand\\MethodEnumerator' => __DIR__ . '/..' . '/psy/psysh/src/Command/ListCommand/MethodEnumerator.php', - 'Psy\\Command\\ListCommand\\PropertyEnumerator' => __DIR__ . '/..' . '/psy/psysh/src/Command/ListCommand/PropertyEnumerator.php', - 'Psy\\Command\\ListCommand\\TraitEnumerator' => __DIR__ . '/..' . '/psy/psysh/src/Command/ListCommand/TraitEnumerator.php', - 'Psy\\Command\\ListCommand\\VariableEnumerator' => __DIR__ . '/..' . '/psy/psysh/src/Command/ListCommand/VariableEnumerator.php', - 'Psy\\Command\\ParseCommand' => __DIR__ . '/..' . '/psy/psysh/src/Command/ParseCommand.php', - 'Psy\\Command\\PsyVersionCommand' => __DIR__ . '/..' . '/psy/psysh/src/Command/PsyVersionCommand.php', - 'Psy\\Command\\ReflectingCommand' => __DIR__ . '/..' . '/psy/psysh/src/Command/ReflectingCommand.php', - 'Psy\\Command\\ShowCommand' => __DIR__ . '/..' . '/psy/psysh/src/Command/ShowCommand.php', - 'Psy\\Command\\SudoCommand' => __DIR__ . '/..' . '/psy/psysh/src/Command/SudoCommand.php', - 'Psy\\Command\\ThrowUpCommand' => __DIR__ . '/..' . '/psy/psysh/src/Command/ThrowUpCommand.php', - 'Psy\\Command\\TimeitCommand' => __DIR__ . '/..' . '/psy/psysh/src/Command/TimeitCommand.php', - 'Psy\\Command\\TimeitCommand\\TimeitVisitor' => __DIR__ . '/..' . '/psy/psysh/src/Command/TimeitCommand/TimeitVisitor.php', - 'Psy\\Command\\TraceCommand' => __DIR__ . '/..' . '/psy/psysh/src/Command/TraceCommand.php', - 'Psy\\Command\\WhereamiCommand' => __DIR__ . '/..' . '/psy/psysh/src/Command/WhereamiCommand.php', - 'Psy\\Command\\WtfCommand' => __DIR__ . '/..' . '/psy/psysh/src/Command/WtfCommand.php', - 'Psy\\ConfigPaths' => __DIR__ . '/..' . '/psy/psysh/src/ConfigPaths.php', - 'Psy\\Configuration' => __DIR__ . '/..' . '/psy/psysh/src/Configuration.php', - 'Psy\\ConsoleColorFactory' => __DIR__ . '/..' . '/psy/psysh/src/ConsoleColorFactory.php', - 'Psy\\Context' => __DIR__ . '/..' . '/psy/psysh/src/Context.php', - 'Psy\\ContextAware' => __DIR__ . '/..' . '/psy/psysh/src/ContextAware.php', - 'Psy\\Exception\\BreakException' => __DIR__ . '/..' . '/psy/psysh/src/Exception/BreakException.php', - 'Psy\\Exception\\DeprecatedException' => __DIR__ . '/..' . '/psy/psysh/src/Exception/DeprecatedException.php', - 'Psy\\Exception\\ErrorException' => __DIR__ . '/..' . '/psy/psysh/src/Exception/ErrorException.php', - 'Psy\\Exception\\Exception' => __DIR__ . '/..' . '/psy/psysh/src/Exception/Exception.php', - 'Psy\\Exception\\FatalErrorException' => __DIR__ . '/..' . '/psy/psysh/src/Exception/FatalErrorException.php', - 'Psy\\Exception\\ParseErrorException' => __DIR__ . '/..' . '/psy/psysh/src/Exception/ParseErrorException.php', - 'Psy\\Exception\\RuntimeException' => __DIR__ . '/..' . '/psy/psysh/src/Exception/RuntimeException.php', - 'Psy\\Exception\\ThrowUpException' => __DIR__ . '/..' . '/psy/psysh/src/Exception/ThrowUpException.php', - 'Psy\\Exception\\TypeErrorException' => __DIR__ . '/..' . '/psy/psysh/src/Exception/TypeErrorException.php', - 'Psy\\ExecutionClosure' => __DIR__ . '/..' . '/psy/psysh/src/ExecutionClosure.php', - 'Psy\\ExecutionLoop' => __DIR__ . '/..' . '/psy/psysh/src/ExecutionLoop.php', - 'Psy\\ExecutionLoopClosure' => __DIR__ . '/..' . '/psy/psysh/src/ExecutionLoopClosure.php', - 'Psy\\ExecutionLoop\\AbstractListener' => __DIR__ . '/..' . '/psy/psysh/src/ExecutionLoop/AbstractListener.php', - 'Psy\\ExecutionLoop\\Listener' => __DIR__ . '/..' . '/psy/psysh/src/ExecutionLoop/Listener.php', - 'Psy\\ExecutionLoop\\ProcessForker' => __DIR__ . '/..' . '/psy/psysh/src/ExecutionLoop/ProcessForker.php', - 'Psy\\ExecutionLoop\\RunkitReloader' => __DIR__ . '/..' . '/psy/psysh/src/ExecutionLoop/RunkitReloader.php', - 'Psy\\Formatter\\CodeFormatter' => __DIR__ . '/..' . '/psy/psysh/src/Formatter/CodeFormatter.php', - 'Psy\\Formatter\\DocblockFormatter' => __DIR__ . '/..' . '/psy/psysh/src/Formatter/DocblockFormatter.php', - 'Psy\\Formatter\\Formatter' => __DIR__ . '/..' . '/psy/psysh/src/Formatter/Formatter.php', - 'Psy\\Formatter\\SignatureFormatter' => __DIR__ . '/..' . '/psy/psysh/src/Formatter/SignatureFormatter.php', - 'Psy\\Input\\CodeArgument' => __DIR__ . '/..' . '/psy/psysh/src/Input/CodeArgument.php', - 'Psy\\Input\\FilterOptions' => __DIR__ . '/..' . '/psy/psysh/src/Input/FilterOptions.php', - 'Psy\\Input\\ShellInput' => __DIR__ . '/..' . '/psy/psysh/src/Input/ShellInput.php', - 'Psy\\Input\\SilentInput' => __DIR__ . '/..' . '/psy/psysh/src/Input/SilentInput.php', - 'Psy\\Output\\OutputPager' => __DIR__ . '/..' . '/psy/psysh/src/Output/OutputPager.php', - 'Psy\\Output\\PassthruPager' => __DIR__ . '/..' . '/psy/psysh/src/Output/PassthruPager.php', - 'Psy\\Output\\ProcOutputPager' => __DIR__ . '/..' . '/psy/psysh/src/Output/ProcOutputPager.php', - 'Psy\\Output\\ShellOutput' => __DIR__ . '/..' . '/psy/psysh/src/Output/ShellOutput.php', - 'Psy\\ParserFactory' => __DIR__ . '/..' . '/psy/psysh/src/ParserFactory.php', - 'Psy\\Readline\\GNUReadline' => __DIR__ . '/..' . '/psy/psysh/src/Readline/GNUReadline.php', - 'Psy\\Readline\\HoaConsole' => __DIR__ . '/..' . '/psy/psysh/src/Readline/HoaConsole.php', - 'Psy\\Readline\\Libedit' => __DIR__ . '/..' . '/psy/psysh/src/Readline/Libedit.php', - 'Psy\\Readline\\Readline' => __DIR__ . '/..' . '/psy/psysh/src/Readline/Readline.php', - 'Psy\\Readline\\Transient' => __DIR__ . '/..' . '/psy/psysh/src/Readline/Transient.php', - 'Psy\\Reflection\\ReflectionClassConstant' => __DIR__ . '/..' . '/psy/psysh/src/Reflection/ReflectionClassConstant.php', - 'Psy\\Reflection\\ReflectionConstant' => __DIR__ . '/..' . '/psy/psysh/src/Reflection/ReflectionConstant.php', - 'Psy\\Reflection\\ReflectionConstant_' => __DIR__ . '/..' . '/psy/psysh/src/Reflection/ReflectionConstant_.php', - 'Psy\\Reflection\\ReflectionLanguageConstruct' => __DIR__ . '/..' . '/psy/psysh/src/Reflection/ReflectionLanguageConstruct.php', - 'Psy\\Reflection\\ReflectionLanguageConstructParameter' => __DIR__ . '/..' . '/psy/psysh/src/Reflection/ReflectionLanguageConstructParameter.php', - 'Psy\\Shell' => __DIR__ . '/..' . '/psy/psysh/src/Shell.php', - 'Psy\\Sudo' => __DIR__ . '/..' . '/psy/psysh/src/Sudo.php', - 'Psy\\Sudo\\SudoVisitor' => __DIR__ . '/..' . '/psy/psysh/src/Sudo/SudoVisitor.php', - 'Psy\\TabCompletion\\AutoCompleter' => __DIR__ . '/..' . '/psy/psysh/src/TabCompletion/AutoCompleter.php', - 'Psy\\TabCompletion\\Matcher\\AbstractContextAwareMatcher' => __DIR__ . '/..' . '/psy/psysh/src/TabCompletion/Matcher/AbstractContextAwareMatcher.php', - 'Psy\\TabCompletion\\Matcher\\AbstractDefaultParametersMatcher' => __DIR__ . '/..' . '/psy/psysh/src/TabCompletion/Matcher/AbstractDefaultParametersMatcher.php', - 'Psy\\TabCompletion\\Matcher\\AbstractMatcher' => __DIR__ . '/..' . '/psy/psysh/src/TabCompletion/Matcher/AbstractMatcher.php', - 'Psy\\TabCompletion\\Matcher\\ClassAttributesMatcher' => __DIR__ . '/..' . '/psy/psysh/src/TabCompletion/Matcher/ClassAttributesMatcher.php', - 'Psy\\TabCompletion\\Matcher\\ClassMethodDefaultParametersMatcher' => __DIR__ . '/..' . '/psy/psysh/src/TabCompletion/Matcher/ClassMethodDefaultParametersMatcher.php', - 'Psy\\TabCompletion\\Matcher\\ClassMethodsMatcher' => __DIR__ . '/..' . '/psy/psysh/src/TabCompletion/Matcher/ClassMethodsMatcher.php', - 'Psy\\TabCompletion\\Matcher\\ClassNamesMatcher' => __DIR__ . '/..' . '/psy/psysh/src/TabCompletion/Matcher/ClassNamesMatcher.php', - 'Psy\\TabCompletion\\Matcher\\CommandsMatcher' => __DIR__ . '/..' . '/psy/psysh/src/TabCompletion/Matcher/CommandsMatcher.php', - 'Psy\\TabCompletion\\Matcher\\ConstantsMatcher' => __DIR__ . '/..' . '/psy/psysh/src/TabCompletion/Matcher/ConstantsMatcher.php', - 'Psy\\TabCompletion\\Matcher\\FunctionDefaultParametersMatcher' => __DIR__ . '/..' . '/psy/psysh/src/TabCompletion/Matcher/FunctionDefaultParametersMatcher.php', - 'Psy\\TabCompletion\\Matcher\\FunctionsMatcher' => __DIR__ . '/..' . '/psy/psysh/src/TabCompletion/Matcher/FunctionsMatcher.php', - 'Psy\\TabCompletion\\Matcher\\KeywordsMatcher' => __DIR__ . '/..' . '/psy/psysh/src/TabCompletion/Matcher/KeywordsMatcher.php', - 'Psy\\TabCompletion\\Matcher\\MongoClientMatcher' => __DIR__ . '/..' . '/psy/psysh/src/TabCompletion/Matcher/MongoClientMatcher.php', - 'Psy\\TabCompletion\\Matcher\\MongoDatabaseMatcher' => __DIR__ . '/..' . '/psy/psysh/src/TabCompletion/Matcher/MongoDatabaseMatcher.php', - 'Psy\\TabCompletion\\Matcher\\ObjectAttributesMatcher' => __DIR__ . '/..' . '/psy/psysh/src/TabCompletion/Matcher/ObjectAttributesMatcher.php', - 'Psy\\TabCompletion\\Matcher\\ObjectMethodDefaultParametersMatcher' => __DIR__ . '/..' . '/psy/psysh/src/TabCompletion/Matcher/ObjectMethodDefaultParametersMatcher.php', - 'Psy\\TabCompletion\\Matcher\\ObjectMethodsMatcher' => __DIR__ . '/..' . '/psy/psysh/src/TabCompletion/Matcher/ObjectMethodsMatcher.php', - 'Psy\\TabCompletion\\Matcher\\VariablesMatcher' => __DIR__ . '/..' . '/psy/psysh/src/TabCompletion/Matcher/VariablesMatcher.php', - 'Psy\\Util\\Docblock' => __DIR__ . '/..' . '/psy/psysh/src/Util/Docblock.php', - 'Psy\\Util\\Json' => __DIR__ . '/..' . '/psy/psysh/src/Util/Json.php', - 'Psy\\Util\\Mirror' => __DIR__ . '/..' . '/psy/psysh/src/Util/Mirror.php', - 'Psy\\Util\\Str' => __DIR__ . '/..' . '/psy/psysh/src/Util/Str.php', - 'Psy\\VarDumper\\Cloner' => __DIR__ . '/..' . '/psy/psysh/src/VarDumper/Cloner.php', - 'Psy\\VarDumper\\Dumper' => __DIR__ . '/..' . '/psy/psysh/src/VarDumper/Dumper.php', - 'Psy\\VarDumper\\Presenter' => __DIR__ . '/..' . '/psy/psysh/src/VarDumper/Presenter.php', - 'Psy\\VarDumper\\PresenterAware' => __DIR__ . '/..' . '/psy/psysh/src/VarDumper/PresenterAware.php', - 'Psy\\VersionUpdater\\Checker' => __DIR__ . '/..' . '/psy/psysh/src/VersionUpdater/Checker.php', - 'Psy\\VersionUpdater\\GitHubChecker' => __DIR__ . '/..' . '/psy/psysh/src/VersionUpdater/GitHubChecker.php', - 'Psy\\VersionUpdater\\IntervalChecker' => __DIR__ . '/..' . '/psy/psysh/src/VersionUpdater/IntervalChecker.php', - 'Psy\\VersionUpdater\\NoopChecker' => __DIR__ . '/..' . '/psy/psysh/src/VersionUpdater/NoopChecker.php', - 'Ramsey\\Uuid\\BinaryUtils' => __DIR__ . '/..' . '/ramsey/uuid/src/BinaryUtils.php', - 'Ramsey\\Uuid\\Builder\\DefaultUuidBuilder' => __DIR__ . '/..' . '/ramsey/uuid/src/Builder/DefaultUuidBuilder.php', - 'Ramsey\\Uuid\\Builder\\DegradedUuidBuilder' => __DIR__ . '/..' . '/ramsey/uuid/src/Builder/DegradedUuidBuilder.php', - 'Ramsey\\Uuid\\Builder\\UuidBuilderInterface' => __DIR__ . '/..' . '/ramsey/uuid/src/Builder/UuidBuilderInterface.php', - 'Ramsey\\Uuid\\Codec\\CodecInterface' => __DIR__ . '/..' . '/ramsey/uuid/src/Codec/CodecInterface.php', - 'Ramsey\\Uuid\\Codec\\GuidStringCodec' => __DIR__ . '/..' . '/ramsey/uuid/src/Codec/GuidStringCodec.php', - 'Ramsey\\Uuid\\Codec\\OrderedTimeCodec' => __DIR__ . '/..' . '/ramsey/uuid/src/Codec/OrderedTimeCodec.php', - 'Ramsey\\Uuid\\Codec\\StringCodec' => __DIR__ . '/..' . '/ramsey/uuid/src/Codec/StringCodec.php', - 'Ramsey\\Uuid\\Codec\\TimestampFirstCombCodec' => __DIR__ . '/..' . '/ramsey/uuid/src/Codec/TimestampFirstCombCodec.php', - 'Ramsey\\Uuid\\Codec\\TimestampLastCombCodec' => __DIR__ . '/..' . '/ramsey/uuid/src/Codec/TimestampLastCombCodec.php', - 'Ramsey\\Uuid\\Converter\\NumberConverterInterface' => __DIR__ . '/..' . '/ramsey/uuid/src/Converter/NumberConverterInterface.php', - 'Ramsey\\Uuid\\Converter\\Number\\BigNumberConverter' => __DIR__ . '/..' . '/ramsey/uuid/src/Converter/Number/BigNumberConverter.php', - 'Ramsey\\Uuid\\Converter\\Number\\DegradedNumberConverter' => __DIR__ . '/..' . '/ramsey/uuid/src/Converter/Number/DegradedNumberConverter.php', - 'Ramsey\\Uuid\\Converter\\TimeConverterInterface' => __DIR__ . '/..' . '/ramsey/uuid/src/Converter/TimeConverterInterface.php', - 'Ramsey\\Uuid\\Converter\\Time\\BigNumberTimeConverter' => __DIR__ . '/..' . '/ramsey/uuid/src/Converter/Time/BigNumberTimeConverter.php', - 'Ramsey\\Uuid\\Converter\\Time\\DegradedTimeConverter' => __DIR__ . '/..' . '/ramsey/uuid/src/Converter/Time/DegradedTimeConverter.php', - 'Ramsey\\Uuid\\Converter\\Time\\PhpTimeConverter' => __DIR__ . '/..' . '/ramsey/uuid/src/Converter/Time/PhpTimeConverter.php', - 'Ramsey\\Uuid\\DegradedUuid' => __DIR__ . '/..' . '/ramsey/uuid/src/DegradedUuid.php', - 'Ramsey\\Uuid\\Exception\\InvalidUuidStringException' => __DIR__ . '/..' . '/ramsey/uuid/src/Exception/InvalidUuidStringException.php', - 'Ramsey\\Uuid\\Exception\\UnsatisfiedDependencyException' => __DIR__ . '/..' . '/ramsey/uuid/src/Exception/UnsatisfiedDependencyException.php', - 'Ramsey\\Uuid\\Exception\\UnsupportedOperationException' => __DIR__ . '/..' . '/ramsey/uuid/src/Exception/UnsupportedOperationException.php', - 'Ramsey\\Uuid\\FeatureSet' => __DIR__ . '/..' . '/ramsey/uuid/src/FeatureSet.php', - 'Ramsey\\Uuid\\Generator\\CombGenerator' => __DIR__ . '/..' . '/ramsey/uuid/src/Generator/CombGenerator.php', - 'Ramsey\\Uuid\\Generator\\DefaultTimeGenerator' => __DIR__ . '/..' . '/ramsey/uuid/src/Generator/DefaultTimeGenerator.php', - 'Ramsey\\Uuid\\Generator\\MtRandGenerator' => __DIR__ . '/..' . '/ramsey/uuid/src/Generator/MtRandGenerator.php', - 'Ramsey\\Uuid\\Generator\\OpenSslGenerator' => __DIR__ . '/..' . '/ramsey/uuid/src/Generator/OpenSslGenerator.php', - 'Ramsey\\Uuid\\Generator\\PeclUuidRandomGenerator' => __DIR__ . '/..' . '/ramsey/uuid/src/Generator/PeclUuidRandomGenerator.php', - 'Ramsey\\Uuid\\Generator\\PeclUuidTimeGenerator' => __DIR__ . '/..' . '/ramsey/uuid/src/Generator/PeclUuidTimeGenerator.php', - 'Ramsey\\Uuid\\Generator\\RandomBytesGenerator' => __DIR__ . '/..' . '/ramsey/uuid/src/Generator/RandomBytesGenerator.php', - 'Ramsey\\Uuid\\Generator\\RandomGeneratorFactory' => __DIR__ . '/..' . '/ramsey/uuid/src/Generator/RandomGeneratorFactory.php', - 'Ramsey\\Uuid\\Generator\\RandomGeneratorInterface' => __DIR__ . '/..' . '/ramsey/uuid/src/Generator/RandomGeneratorInterface.php', - 'Ramsey\\Uuid\\Generator\\RandomLibAdapter' => __DIR__ . '/..' . '/ramsey/uuid/src/Generator/RandomLibAdapter.php', - 'Ramsey\\Uuid\\Generator\\SodiumRandomGenerator' => __DIR__ . '/..' . '/ramsey/uuid/src/Generator/SodiumRandomGenerator.php', - 'Ramsey\\Uuid\\Generator\\TimeGeneratorFactory' => __DIR__ . '/..' . '/ramsey/uuid/src/Generator/TimeGeneratorFactory.php', - 'Ramsey\\Uuid\\Generator\\TimeGeneratorInterface' => __DIR__ . '/..' . '/ramsey/uuid/src/Generator/TimeGeneratorInterface.php', - 'Ramsey\\Uuid\\Provider\\NodeProviderInterface' => __DIR__ . '/..' . '/ramsey/uuid/src/Provider/NodeProviderInterface.php', - 'Ramsey\\Uuid\\Provider\\Node\\FallbackNodeProvider' => __DIR__ . '/..' . '/ramsey/uuid/src/Provider/Node/FallbackNodeProvider.php', - 'Ramsey\\Uuid\\Provider\\Node\\RandomNodeProvider' => __DIR__ . '/..' . '/ramsey/uuid/src/Provider/Node/RandomNodeProvider.php', - 'Ramsey\\Uuid\\Provider\\Node\\SystemNodeProvider' => __DIR__ . '/..' . '/ramsey/uuid/src/Provider/Node/SystemNodeProvider.php', - 'Ramsey\\Uuid\\Provider\\TimeProviderInterface' => __DIR__ . '/..' . '/ramsey/uuid/src/Provider/TimeProviderInterface.php', - 'Ramsey\\Uuid\\Provider\\Time\\FixedTimeProvider' => __DIR__ . '/..' . '/ramsey/uuid/src/Provider/Time/FixedTimeProvider.php', - 'Ramsey\\Uuid\\Provider\\Time\\SystemTimeProvider' => __DIR__ . '/..' . '/ramsey/uuid/src/Provider/Time/SystemTimeProvider.php', - 'Ramsey\\Uuid\\Uuid' => __DIR__ . '/..' . '/ramsey/uuid/src/Uuid.php', - 'Ramsey\\Uuid\\UuidFactory' => __DIR__ . '/..' . '/ramsey/uuid/src/UuidFactory.php', - 'Ramsey\\Uuid\\UuidFactoryInterface' => __DIR__ . '/..' . '/ramsey/uuid/src/UuidFactoryInterface.php', - 'Ramsey\\Uuid\\UuidInterface' => __DIR__ . '/..' . '/ramsey/uuid/src/UuidInterface.php', - 'SebastianBergmann\\CodeCoverage\\CodeCoverage' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage.php', - 'SebastianBergmann\\CodeCoverage\\CoveredCodeNotExecutedException' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Exception/CoveredCodeNotExecutedException.php', - 'SebastianBergmann\\CodeCoverage\\Driver\\Driver' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Driver/Driver.php', - 'SebastianBergmann\\CodeCoverage\\Driver\\PHPDBG' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Driver/PHPDBG.php', - 'SebastianBergmann\\CodeCoverage\\Driver\\Xdebug' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Driver/Xdebug.php', - 'SebastianBergmann\\CodeCoverage\\Exception' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Exception/Exception.php', - 'SebastianBergmann\\CodeCoverage\\Filter' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Filter.php', - 'SebastianBergmann\\CodeCoverage\\InvalidArgumentException' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Exception/InvalidArgumentException.php', - 'SebastianBergmann\\CodeCoverage\\MissingCoversAnnotationException' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Exception/MissingCoversAnnotationException.php', - 'SebastianBergmann\\CodeCoverage\\Node\\AbstractNode' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Node/AbstractNode.php', - 'SebastianBergmann\\CodeCoverage\\Node\\Builder' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Node/Builder.php', - 'SebastianBergmann\\CodeCoverage\\Node\\Directory' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Node/Directory.php', - 'SebastianBergmann\\CodeCoverage\\Node\\File' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Node/File.php', - 'SebastianBergmann\\CodeCoverage\\Node\\Iterator' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Node/Iterator.php', - 'SebastianBergmann\\CodeCoverage\\Report\\Clover' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Report/Clover.php', - 'SebastianBergmann\\CodeCoverage\\Report\\Crap4j' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Report/Crap4j.php', - 'SebastianBergmann\\CodeCoverage\\Report\\Html\\Dashboard' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Report/Html/Renderer/Dashboard.php', - 'SebastianBergmann\\CodeCoverage\\Report\\Html\\Directory' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Report/Html/Renderer/Directory.php', - 'SebastianBergmann\\CodeCoverage\\Report\\Html\\Facade' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Report/Html/Facade.php', - 'SebastianBergmann\\CodeCoverage\\Report\\Html\\File' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Report/Html/Renderer/File.php', - 'SebastianBergmann\\CodeCoverage\\Report\\Html\\Renderer' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Report/Html/Renderer.php', - 'SebastianBergmann\\CodeCoverage\\Report\\PHP' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Report/PHP.php', - 'SebastianBergmann\\CodeCoverage\\Report\\Text' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Report/Text.php', - 'SebastianBergmann\\CodeCoverage\\Report\\Xml\\BuildInformation' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Report/Xml/BuildInformation.php', - 'SebastianBergmann\\CodeCoverage\\Report\\Xml\\Coverage' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Report/Xml/Coverage.php', - 'SebastianBergmann\\CodeCoverage\\Report\\Xml\\Directory' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Report/Xml/Directory.php', - 'SebastianBergmann\\CodeCoverage\\Report\\Xml\\Facade' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Report/Xml/Facade.php', - 'SebastianBergmann\\CodeCoverage\\Report\\Xml\\File' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Report/Xml/File.php', - 'SebastianBergmann\\CodeCoverage\\Report\\Xml\\Method' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Report/Xml/Method.php', - 'SebastianBergmann\\CodeCoverage\\Report\\Xml\\Node' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Report/Xml/Node.php', - 'SebastianBergmann\\CodeCoverage\\Report\\Xml\\Project' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Report/Xml/Project.php', - 'SebastianBergmann\\CodeCoverage\\Report\\Xml\\Report' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Report/Xml/Report.php', - 'SebastianBergmann\\CodeCoverage\\Report\\Xml\\Source' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Report/Xml/Source.php', - 'SebastianBergmann\\CodeCoverage\\Report\\Xml\\Tests' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Report/Xml/Tests.php', - 'SebastianBergmann\\CodeCoverage\\Report\\Xml\\Totals' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Report/Xml/Totals.php', - 'SebastianBergmann\\CodeCoverage\\Report\\Xml\\Unit' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Report/Xml/Unit.php', - 'SebastianBergmann\\CodeCoverage\\RuntimeException' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Exception/RuntimeException.php', - 'SebastianBergmann\\CodeCoverage\\UnintentionallyCoveredCodeException' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Exception/UnintentionallyCoveredCodeException.php', - 'SebastianBergmann\\CodeCoverage\\Util' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Util.php', - 'SebastianBergmann\\CodeCoverage\\Version' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Version.php', - 'SebastianBergmann\\CodeUnitReverseLookup\\Wizard' => __DIR__ . '/..' . '/sebastian/code-unit-reverse-lookup/src/Wizard.php', - 'SebastianBergmann\\Comparator\\ArrayComparator' => __DIR__ . '/..' . '/sebastian/comparator/src/ArrayComparator.php', - 'SebastianBergmann\\Comparator\\Comparator' => __DIR__ . '/..' . '/sebastian/comparator/src/Comparator.php', - 'SebastianBergmann\\Comparator\\ComparisonFailure' => __DIR__ . '/..' . '/sebastian/comparator/src/ComparisonFailure.php', - 'SebastianBergmann\\Comparator\\DOMNodeComparator' => __DIR__ . '/..' . '/sebastian/comparator/src/DOMNodeComparator.php', - 'SebastianBergmann\\Comparator\\DateTimeComparator' => __DIR__ . '/..' . '/sebastian/comparator/src/DateTimeComparator.php', - 'SebastianBergmann\\Comparator\\DoubleComparator' => __DIR__ . '/..' . '/sebastian/comparator/src/DoubleComparator.php', - 'SebastianBergmann\\Comparator\\ExceptionComparator' => __DIR__ . '/..' . '/sebastian/comparator/src/ExceptionComparator.php', - 'SebastianBergmann\\Comparator\\Factory' => __DIR__ . '/..' . '/sebastian/comparator/src/Factory.php', - 'SebastianBergmann\\Comparator\\MockObjectComparator' => __DIR__ . '/..' . '/sebastian/comparator/src/MockObjectComparator.php', - 'SebastianBergmann\\Comparator\\NumericComparator' => __DIR__ . '/..' . '/sebastian/comparator/src/NumericComparator.php', - 'SebastianBergmann\\Comparator\\ObjectComparator' => __DIR__ . '/..' . '/sebastian/comparator/src/ObjectComparator.php', - 'SebastianBergmann\\Comparator\\ResourceComparator' => __DIR__ . '/..' . '/sebastian/comparator/src/ResourceComparator.php', - 'SebastianBergmann\\Comparator\\ScalarComparator' => __DIR__ . '/..' . '/sebastian/comparator/src/ScalarComparator.php', - 'SebastianBergmann\\Comparator\\SplObjectStorageComparator' => __DIR__ . '/..' . '/sebastian/comparator/src/SplObjectStorageComparator.php', - 'SebastianBergmann\\Comparator\\TypeComparator' => __DIR__ . '/..' . '/sebastian/comparator/src/TypeComparator.php', - 'SebastianBergmann\\Diff\\Chunk' => __DIR__ . '/..' . '/sebastian/diff/src/Chunk.php', - 'SebastianBergmann\\Diff\\ConfigurationException' => __DIR__ . '/..' . '/sebastian/diff/src/Exception/ConfigurationException.php', - 'SebastianBergmann\\Diff\\Diff' => __DIR__ . '/..' . '/sebastian/diff/src/Diff.php', - 'SebastianBergmann\\Diff\\Differ' => __DIR__ . '/..' . '/sebastian/diff/src/Differ.php', - 'SebastianBergmann\\Diff\\Exception' => __DIR__ . '/..' . '/sebastian/diff/src/Exception/Exception.php', - 'SebastianBergmann\\Diff\\InvalidArgumentException' => __DIR__ . '/..' . '/sebastian/diff/src/Exception/InvalidArgumentException.php', - 'SebastianBergmann\\Diff\\Line' => __DIR__ . '/..' . '/sebastian/diff/src/Line.php', - 'SebastianBergmann\\Diff\\LongestCommonSubsequenceCalculator' => __DIR__ . '/..' . '/sebastian/diff/src/LongestCommonSubsequenceCalculator.php', - 'SebastianBergmann\\Diff\\MemoryEfficientLongestCommonSubsequenceCalculator' => __DIR__ . '/..' . '/sebastian/diff/src/MemoryEfficientLongestCommonSubsequenceCalculator.php', - 'SebastianBergmann\\Diff\\Output\\AbstractChunkOutputBuilder' => __DIR__ . '/..' . '/sebastian/diff/src/Output/AbstractChunkOutputBuilder.php', - 'SebastianBergmann\\Diff\\Output\\DiffOnlyOutputBuilder' => __DIR__ . '/..' . '/sebastian/diff/src/Output/DiffOnlyOutputBuilder.php', - 'SebastianBergmann\\Diff\\Output\\DiffOutputBuilderInterface' => __DIR__ . '/..' . '/sebastian/diff/src/Output/DiffOutputBuilderInterface.php', - 'SebastianBergmann\\Diff\\Output\\StrictUnifiedDiffOutputBuilder' => __DIR__ . '/..' . '/sebastian/diff/src/Output/StrictUnifiedDiffOutputBuilder.php', - 'SebastianBergmann\\Diff\\Output\\UnifiedDiffOutputBuilder' => __DIR__ . '/..' . '/sebastian/diff/src/Output/UnifiedDiffOutputBuilder.php', - 'SebastianBergmann\\Diff\\Parser' => __DIR__ . '/..' . '/sebastian/diff/src/Parser.php', - 'SebastianBergmann\\Diff\\TimeEfficientLongestCommonSubsequenceCalculator' => __DIR__ . '/..' . '/sebastian/diff/src/TimeEfficientLongestCommonSubsequenceCalculator.php', - 'SebastianBergmann\\Environment\\Console' => __DIR__ . '/..' . '/sebastian/environment/src/Console.php', - 'SebastianBergmann\\Environment\\OperatingSystem' => __DIR__ . '/..' . '/sebastian/environment/src/OperatingSystem.php', - 'SebastianBergmann\\Environment\\Runtime' => __DIR__ . '/..' . '/sebastian/environment/src/Runtime.php', - 'SebastianBergmann\\Exporter\\Exporter' => __DIR__ . '/..' . '/sebastian/exporter/src/Exporter.php', - 'SebastianBergmann\\FileIterator\\Facade' => __DIR__ . '/..' . '/phpunit/php-file-iterator/src/Facade.php', - 'SebastianBergmann\\FileIterator\\Factory' => __DIR__ . '/..' . '/phpunit/php-file-iterator/src/Factory.php', - 'SebastianBergmann\\FileIterator\\Iterator' => __DIR__ . '/..' . '/phpunit/php-file-iterator/src/Iterator.php', - 'SebastianBergmann\\GlobalState\\Blacklist' => __DIR__ . '/..' . '/sebastian/global-state/src/Blacklist.php', - 'SebastianBergmann\\GlobalState\\CodeExporter' => __DIR__ . '/..' . '/sebastian/global-state/src/CodeExporter.php', - 'SebastianBergmann\\GlobalState\\Exception' => __DIR__ . '/..' . '/sebastian/global-state/src/exceptions/Exception.php', - 'SebastianBergmann\\GlobalState\\Restorer' => __DIR__ . '/..' . '/sebastian/global-state/src/Restorer.php', - 'SebastianBergmann\\GlobalState\\RuntimeException' => __DIR__ . '/..' . '/sebastian/global-state/src/exceptions/RuntimeException.php', - 'SebastianBergmann\\GlobalState\\Snapshot' => __DIR__ . '/..' . '/sebastian/global-state/src/Snapshot.php', - 'SebastianBergmann\\ObjectEnumerator\\Enumerator' => __DIR__ . '/..' . '/sebastian/object-enumerator/src/Enumerator.php', - 'SebastianBergmann\\ObjectEnumerator\\Exception' => __DIR__ . '/..' . '/sebastian/object-enumerator/src/Exception.php', - 'SebastianBergmann\\ObjectEnumerator\\InvalidArgumentException' => __DIR__ . '/..' . '/sebastian/object-enumerator/src/InvalidArgumentException.php', - 'SebastianBergmann\\ObjectReflector\\Exception' => __DIR__ . '/..' . '/sebastian/object-reflector/src/Exception.php', - 'SebastianBergmann\\ObjectReflector\\InvalidArgumentException' => __DIR__ . '/..' . '/sebastian/object-reflector/src/InvalidArgumentException.php', - 'SebastianBergmann\\ObjectReflector\\ObjectReflector' => __DIR__ . '/..' . '/sebastian/object-reflector/src/ObjectReflector.php', - 'SebastianBergmann\\RecursionContext\\Context' => __DIR__ . '/..' . '/sebastian/recursion-context/src/Context.php', - 'SebastianBergmann\\RecursionContext\\Exception' => __DIR__ . '/..' . '/sebastian/recursion-context/src/Exception.php', - 'SebastianBergmann\\RecursionContext\\InvalidArgumentException' => __DIR__ . '/..' . '/sebastian/recursion-context/src/InvalidArgumentException.php', - 'SebastianBergmann\\ResourceOperations\\ResourceOperations' => __DIR__ . '/..' . '/sebastian/resource-operations/src/ResourceOperations.php', - 'SebastianBergmann\\Timer\\Exception' => __DIR__ . '/..' . '/phpunit/php-timer/src/Exception.php', - 'SebastianBergmann\\Timer\\RuntimeException' => __DIR__ . '/..' . '/phpunit/php-timer/src/RuntimeException.php', - 'SebastianBergmann\\Timer\\Timer' => __DIR__ . '/..' . '/phpunit/php-timer/src/Timer.php', - 'SebastianBergmann\\Version' => __DIR__ . '/..' . '/sebastian/version/src/Version.php', - 'Symfony\\Component\\Console\\Application' => __DIR__ . '/..' . '/symfony/console/Application.php', - 'Symfony\\Component\\Console\\CommandLoader\\CommandLoaderInterface' => __DIR__ . '/..' . '/symfony/console/CommandLoader/CommandLoaderInterface.php', - 'Symfony\\Component\\Console\\CommandLoader\\ContainerCommandLoader' => __DIR__ . '/..' . '/symfony/console/CommandLoader/ContainerCommandLoader.php', - 'Symfony\\Component\\Console\\CommandLoader\\FactoryCommandLoader' => __DIR__ . '/..' . '/symfony/console/CommandLoader/FactoryCommandLoader.php', - 'Symfony\\Component\\Console\\Command\\Command' => __DIR__ . '/..' . '/symfony/console/Command/Command.php', - 'Symfony\\Component\\Console\\Command\\HelpCommand' => __DIR__ . '/..' . '/symfony/console/Command/HelpCommand.php', - 'Symfony\\Component\\Console\\Command\\ListCommand' => __DIR__ . '/..' . '/symfony/console/Command/ListCommand.php', - 'Symfony\\Component\\Console\\Command\\LockableTrait' => __DIR__ . '/..' . '/symfony/console/Command/LockableTrait.php', - 'Symfony\\Component\\Console\\ConsoleEvents' => __DIR__ . '/..' . '/symfony/console/ConsoleEvents.php', - 'Symfony\\Component\\Console\\DependencyInjection\\AddConsoleCommandPass' => __DIR__ . '/..' . '/symfony/console/DependencyInjection/AddConsoleCommandPass.php', - 'Symfony\\Component\\Console\\Descriptor\\ApplicationDescription' => __DIR__ . '/..' . '/symfony/console/Descriptor/ApplicationDescription.php', - 'Symfony\\Component\\Console\\Descriptor\\Descriptor' => __DIR__ . '/..' . '/symfony/console/Descriptor/Descriptor.php', - 'Symfony\\Component\\Console\\Descriptor\\DescriptorInterface' => __DIR__ . '/..' . '/symfony/console/Descriptor/DescriptorInterface.php', - 'Symfony\\Component\\Console\\Descriptor\\JsonDescriptor' => __DIR__ . '/..' . '/symfony/console/Descriptor/JsonDescriptor.php', - 'Symfony\\Component\\Console\\Descriptor\\MarkdownDescriptor' => __DIR__ . '/..' . '/symfony/console/Descriptor/MarkdownDescriptor.php', - 'Symfony\\Component\\Console\\Descriptor\\TextDescriptor' => __DIR__ . '/..' . '/symfony/console/Descriptor/TextDescriptor.php', - 'Symfony\\Component\\Console\\Descriptor\\XmlDescriptor' => __DIR__ . '/..' . '/symfony/console/Descriptor/XmlDescriptor.php', - 'Symfony\\Component\\Console\\EventListener\\ErrorListener' => __DIR__ . '/..' . '/symfony/console/EventListener/ErrorListener.php', - 'Symfony\\Component\\Console\\Event\\ConsoleCommandEvent' => __DIR__ . '/..' . '/symfony/console/Event/ConsoleCommandEvent.php', - 'Symfony\\Component\\Console\\Event\\ConsoleErrorEvent' => __DIR__ . '/..' . '/symfony/console/Event/ConsoleErrorEvent.php', - 'Symfony\\Component\\Console\\Event\\ConsoleEvent' => __DIR__ . '/..' . '/symfony/console/Event/ConsoleEvent.php', - 'Symfony\\Component\\Console\\Event\\ConsoleTerminateEvent' => __DIR__ . '/..' . '/symfony/console/Event/ConsoleTerminateEvent.php', - 'Symfony\\Component\\Console\\Exception\\CommandNotFoundException' => __DIR__ . '/..' . '/symfony/console/Exception/CommandNotFoundException.php', - 'Symfony\\Component\\Console\\Exception\\ExceptionInterface' => __DIR__ . '/..' . '/symfony/console/Exception/ExceptionInterface.php', - 'Symfony\\Component\\Console\\Exception\\InvalidArgumentException' => __DIR__ . '/..' . '/symfony/console/Exception/InvalidArgumentException.php', - 'Symfony\\Component\\Console\\Exception\\InvalidOptionException' => __DIR__ . '/..' . '/symfony/console/Exception/InvalidOptionException.php', - 'Symfony\\Component\\Console\\Exception\\LogicException' => __DIR__ . '/..' . '/symfony/console/Exception/LogicException.php', - 'Symfony\\Component\\Console\\Exception\\NamespaceNotFoundException' => __DIR__ . '/..' . '/symfony/console/Exception/NamespaceNotFoundException.php', - 'Symfony\\Component\\Console\\Exception\\RuntimeException' => __DIR__ . '/..' . '/symfony/console/Exception/RuntimeException.php', - 'Symfony\\Component\\Console\\Formatter\\OutputFormatter' => __DIR__ . '/..' . '/symfony/console/Formatter/OutputFormatter.php', - 'Symfony\\Component\\Console\\Formatter\\OutputFormatterInterface' => __DIR__ . '/..' . '/symfony/console/Formatter/OutputFormatterInterface.php', - 'Symfony\\Component\\Console\\Formatter\\OutputFormatterStyle' => __DIR__ . '/..' . '/symfony/console/Formatter/OutputFormatterStyle.php', - 'Symfony\\Component\\Console\\Formatter\\OutputFormatterStyleInterface' => __DIR__ . '/..' . '/symfony/console/Formatter/OutputFormatterStyleInterface.php', - 'Symfony\\Component\\Console\\Formatter\\OutputFormatterStyleStack' => __DIR__ . '/..' . '/symfony/console/Formatter/OutputFormatterStyleStack.php', - 'Symfony\\Component\\Console\\Formatter\\WrappableOutputFormatterInterface' => __DIR__ . '/..' . '/symfony/console/Formatter/WrappableOutputFormatterInterface.php', - 'Symfony\\Component\\Console\\Helper\\DebugFormatterHelper' => __DIR__ . '/..' . '/symfony/console/Helper/DebugFormatterHelper.php', - 'Symfony\\Component\\Console\\Helper\\DescriptorHelper' => __DIR__ . '/..' . '/symfony/console/Helper/DescriptorHelper.php', - 'Symfony\\Component\\Console\\Helper\\Dumper' => __DIR__ . '/..' . '/symfony/console/Helper/Dumper.php', - 'Symfony\\Component\\Console\\Helper\\FormatterHelper' => __DIR__ . '/..' . '/symfony/console/Helper/FormatterHelper.php', - 'Symfony\\Component\\Console\\Helper\\Helper' => __DIR__ . '/..' . '/symfony/console/Helper/Helper.php', - 'Symfony\\Component\\Console\\Helper\\HelperInterface' => __DIR__ . '/..' . '/symfony/console/Helper/HelperInterface.php', - 'Symfony\\Component\\Console\\Helper\\HelperSet' => __DIR__ . '/..' . '/symfony/console/Helper/HelperSet.php', - 'Symfony\\Component\\Console\\Helper\\InputAwareHelper' => __DIR__ . '/..' . '/symfony/console/Helper/InputAwareHelper.php', - 'Symfony\\Component\\Console\\Helper\\ProcessHelper' => __DIR__ . '/..' . '/symfony/console/Helper/ProcessHelper.php', - 'Symfony\\Component\\Console\\Helper\\ProgressBar' => __DIR__ . '/..' . '/symfony/console/Helper/ProgressBar.php', - 'Symfony\\Component\\Console\\Helper\\ProgressIndicator' => __DIR__ . '/..' . '/symfony/console/Helper/ProgressIndicator.php', - 'Symfony\\Component\\Console\\Helper\\QuestionHelper' => __DIR__ . '/..' . '/symfony/console/Helper/QuestionHelper.php', - 'Symfony\\Component\\Console\\Helper\\SymfonyQuestionHelper' => __DIR__ . '/..' . '/symfony/console/Helper/SymfonyQuestionHelper.php', - 'Symfony\\Component\\Console\\Helper\\Table' => __DIR__ . '/..' . '/symfony/console/Helper/Table.php', - 'Symfony\\Component\\Console\\Helper\\TableCell' => __DIR__ . '/..' . '/symfony/console/Helper/TableCell.php', - 'Symfony\\Component\\Console\\Helper\\TableRows' => __DIR__ . '/..' . '/symfony/console/Helper/TableRows.php', - 'Symfony\\Component\\Console\\Helper\\TableSeparator' => __DIR__ . '/..' . '/symfony/console/Helper/TableSeparator.php', - 'Symfony\\Component\\Console\\Helper\\TableStyle' => __DIR__ . '/..' . '/symfony/console/Helper/TableStyle.php', - 'Symfony\\Component\\Console\\Input\\ArgvInput' => __DIR__ . '/..' . '/symfony/console/Input/ArgvInput.php', - 'Symfony\\Component\\Console\\Input\\ArrayInput' => __DIR__ . '/..' . '/symfony/console/Input/ArrayInput.php', - 'Symfony\\Component\\Console\\Input\\Input' => __DIR__ . '/..' . '/symfony/console/Input/Input.php', - 'Symfony\\Component\\Console\\Input\\InputArgument' => __DIR__ . '/..' . '/symfony/console/Input/InputArgument.php', - 'Symfony\\Component\\Console\\Input\\InputAwareInterface' => __DIR__ . '/..' . '/symfony/console/Input/InputAwareInterface.php', - 'Symfony\\Component\\Console\\Input\\InputDefinition' => __DIR__ . '/..' . '/symfony/console/Input/InputDefinition.php', - 'Symfony\\Component\\Console\\Input\\InputInterface' => __DIR__ . '/..' . '/symfony/console/Input/InputInterface.php', - 'Symfony\\Component\\Console\\Input\\InputOption' => __DIR__ . '/..' . '/symfony/console/Input/InputOption.php', - 'Symfony\\Component\\Console\\Input\\StreamableInputInterface' => __DIR__ . '/..' . '/symfony/console/Input/StreamableInputInterface.php', - 'Symfony\\Component\\Console\\Input\\StringInput' => __DIR__ . '/..' . '/symfony/console/Input/StringInput.php', - 'Symfony\\Component\\Console\\Logger\\ConsoleLogger' => __DIR__ . '/..' . '/symfony/console/Logger/ConsoleLogger.php', - 'Symfony\\Component\\Console\\Output\\BufferedOutput' => __DIR__ . '/..' . '/symfony/console/Output/BufferedOutput.php', - 'Symfony\\Component\\Console\\Output\\ConsoleOutput' => __DIR__ . '/..' . '/symfony/console/Output/ConsoleOutput.php', - 'Symfony\\Component\\Console\\Output\\ConsoleOutputInterface' => __DIR__ . '/..' . '/symfony/console/Output/ConsoleOutputInterface.php', - 'Symfony\\Component\\Console\\Output\\ConsoleSectionOutput' => __DIR__ . '/..' . '/symfony/console/Output/ConsoleSectionOutput.php', - 'Symfony\\Component\\Console\\Output\\NullOutput' => __DIR__ . '/..' . '/symfony/console/Output/NullOutput.php', - 'Symfony\\Component\\Console\\Output\\Output' => __DIR__ . '/..' . '/symfony/console/Output/Output.php', - 'Symfony\\Component\\Console\\Output\\OutputInterface' => __DIR__ . '/..' . '/symfony/console/Output/OutputInterface.php', - 'Symfony\\Component\\Console\\Output\\StreamOutput' => __DIR__ . '/..' . '/symfony/console/Output/StreamOutput.php', - 'Symfony\\Component\\Console\\Question\\ChoiceQuestion' => __DIR__ . '/..' . '/symfony/console/Question/ChoiceQuestion.php', - 'Symfony\\Component\\Console\\Question\\ConfirmationQuestion' => __DIR__ . '/..' . '/symfony/console/Question/ConfirmationQuestion.php', - 'Symfony\\Component\\Console\\Question\\Question' => __DIR__ . '/..' . '/symfony/console/Question/Question.php', - 'Symfony\\Component\\Console\\Style\\OutputStyle' => __DIR__ . '/..' . '/symfony/console/Style/OutputStyle.php', - 'Symfony\\Component\\Console\\Style\\StyleInterface' => __DIR__ . '/..' . '/symfony/console/Style/StyleInterface.php', - 'Symfony\\Component\\Console\\Style\\SymfonyStyle' => __DIR__ . '/..' . '/symfony/console/Style/SymfonyStyle.php', - 'Symfony\\Component\\Console\\Terminal' => __DIR__ . '/..' . '/symfony/console/Terminal.php', - 'Symfony\\Component\\Console\\Tester\\ApplicationTester' => __DIR__ . '/..' . '/symfony/console/Tester/ApplicationTester.php', - 'Symfony\\Component\\Console\\Tester\\CommandTester' => __DIR__ . '/..' . '/symfony/console/Tester/CommandTester.php', - 'Symfony\\Component\\Console\\Tester\\TesterTrait' => __DIR__ . '/..' . '/symfony/console/Tester/TesterTrait.php', - 'Symfony\\Component\\CssSelector\\CssSelectorConverter' => __DIR__ . '/..' . '/symfony/css-selector/CssSelectorConverter.php', - 'Symfony\\Component\\CssSelector\\Exception\\ExceptionInterface' => __DIR__ . '/..' . '/symfony/css-selector/Exception/ExceptionInterface.php', - 'Symfony\\Component\\CssSelector\\Exception\\ExpressionErrorException' => __DIR__ . '/..' . '/symfony/css-selector/Exception/ExpressionErrorException.php', - 'Symfony\\Component\\CssSelector\\Exception\\InternalErrorException' => __DIR__ . '/..' . '/symfony/css-selector/Exception/InternalErrorException.php', - 'Symfony\\Component\\CssSelector\\Exception\\ParseException' => __DIR__ . '/..' . '/symfony/css-selector/Exception/ParseException.php', - 'Symfony\\Component\\CssSelector\\Exception\\SyntaxErrorException' => __DIR__ . '/..' . '/symfony/css-selector/Exception/SyntaxErrorException.php', - 'Symfony\\Component\\CssSelector\\Node\\AbstractNode' => __DIR__ . '/..' . '/symfony/css-selector/Node/AbstractNode.php', - 'Symfony\\Component\\CssSelector\\Node\\AttributeNode' => __DIR__ . '/..' . '/symfony/css-selector/Node/AttributeNode.php', - 'Symfony\\Component\\CssSelector\\Node\\ClassNode' => __DIR__ . '/..' . '/symfony/css-selector/Node/ClassNode.php', - 'Symfony\\Component\\CssSelector\\Node\\CombinedSelectorNode' => __DIR__ . '/..' . '/symfony/css-selector/Node/CombinedSelectorNode.php', - 'Symfony\\Component\\CssSelector\\Node\\ElementNode' => __DIR__ . '/..' . '/symfony/css-selector/Node/ElementNode.php', - 'Symfony\\Component\\CssSelector\\Node\\FunctionNode' => __DIR__ . '/..' . '/symfony/css-selector/Node/FunctionNode.php', - 'Symfony\\Component\\CssSelector\\Node\\HashNode' => __DIR__ . '/..' . '/symfony/css-selector/Node/HashNode.php', - 'Symfony\\Component\\CssSelector\\Node\\NegationNode' => __DIR__ . '/..' . '/symfony/css-selector/Node/NegationNode.php', - 'Symfony\\Component\\CssSelector\\Node\\NodeInterface' => __DIR__ . '/..' . '/symfony/css-selector/Node/NodeInterface.php', - 'Symfony\\Component\\CssSelector\\Node\\PseudoNode' => __DIR__ . '/..' . '/symfony/css-selector/Node/PseudoNode.php', - 'Symfony\\Component\\CssSelector\\Node\\SelectorNode' => __DIR__ . '/..' . '/symfony/css-selector/Node/SelectorNode.php', - 'Symfony\\Component\\CssSelector\\Node\\Specificity' => __DIR__ . '/..' . '/symfony/css-selector/Node/Specificity.php', - 'Symfony\\Component\\CssSelector\\Parser\\Handler\\CommentHandler' => __DIR__ . '/..' . '/symfony/css-selector/Parser/Handler/CommentHandler.php', - 'Symfony\\Component\\CssSelector\\Parser\\Handler\\HandlerInterface' => __DIR__ . '/..' . '/symfony/css-selector/Parser/Handler/HandlerInterface.php', - 'Symfony\\Component\\CssSelector\\Parser\\Handler\\HashHandler' => __DIR__ . '/..' . '/symfony/css-selector/Parser/Handler/HashHandler.php', - 'Symfony\\Component\\CssSelector\\Parser\\Handler\\IdentifierHandler' => __DIR__ . '/..' . '/symfony/css-selector/Parser/Handler/IdentifierHandler.php', - 'Symfony\\Component\\CssSelector\\Parser\\Handler\\NumberHandler' => __DIR__ . '/..' . '/symfony/css-selector/Parser/Handler/NumberHandler.php', - 'Symfony\\Component\\CssSelector\\Parser\\Handler\\StringHandler' => __DIR__ . '/..' . '/symfony/css-selector/Parser/Handler/StringHandler.php', - 'Symfony\\Component\\CssSelector\\Parser\\Handler\\WhitespaceHandler' => __DIR__ . '/..' . '/symfony/css-selector/Parser/Handler/WhitespaceHandler.php', - 'Symfony\\Component\\CssSelector\\Parser\\Parser' => __DIR__ . '/..' . '/symfony/css-selector/Parser/Parser.php', - 'Symfony\\Component\\CssSelector\\Parser\\ParserInterface' => __DIR__ . '/..' . '/symfony/css-selector/Parser/ParserInterface.php', - 'Symfony\\Component\\CssSelector\\Parser\\Reader' => __DIR__ . '/..' . '/symfony/css-selector/Parser/Reader.php', - 'Symfony\\Component\\CssSelector\\Parser\\Shortcut\\ClassParser' => __DIR__ . '/..' . '/symfony/css-selector/Parser/Shortcut/ClassParser.php', - 'Symfony\\Component\\CssSelector\\Parser\\Shortcut\\ElementParser' => __DIR__ . '/..' . '/symfony/css-selector/Parser/Shortcut/ElementParser.php', - 'Symfony\\Component\\CssSelector\\Parser\\Shortcut\\EmptyStringParser' => __DIR__ . '/..' . '/symfony/css-selector/Parser/Shortcut/EmptyStringParser.php', - 'Symfony\\Component\\CssSelector\\Parser\\Shortcut\\HashParser' => __DIR__ . '/..' . '/symfony/css-selector/Parser/Shortcut/HashParser.php', - 'Symfony\\Component\\CssSelector\\Parser\\Token' => __DIR__ . '/..' . '/symfony/css-selector/Parser/Token.php', - 'Symfony\\Component\\CssSelector\\Parser\\TokenStream' => __DIR__ . '/..' . '/symfony/css-selector/Parser/TokenStream.php', - 'Symfony\\Component\\CssSelector\\Parser\\Tokenizer\\Tokenizer' => __DIR__ . '/..' . '/symfony/css-selector/Parser/Tokenizer/Tokenizer.php', - 'Symfony\\Component\\CssSelector\\Parser\\Tokenizer\\TokenizerEscaping' => __DIR__ . '/..' . '/symfony/css-selector/Parser/Tokenizer/TokenizerEscaping.php', - 'Symfony\\Component\\CssSelector\\Parser\\Tokenizer\\TokenizerPatterns' => __DIR__ . '/..' . '/symfony/css-selector/Parser/Tokenizer/TokenizerPatterns.php', - 'Symfony\\Component\\CssSelector\\XPath\\Extension\\AbstractExtension' => __DIR__ . '/..' . '/symfony/css-selector/XPath/Extension/AbstractExtension.php', - 'Symfony\\Component\\CssSelector\\XPath\\Extension\\AttributeMatchingExtension' => __DIR__ . '/..' . '/symfony/css-selector/XPath/Extension/AttributeMatchingExtension.php', - 'Symfony\\Component\\CssSelector\\XPath\\Extension\\CombinationExtension' => __DIR__ . '/..' . '/symfony/css-selector/XPath/Extension/CombinationExtension.php', - 'Symfony\\Component\\CssSelector\\XPath\\Extension\\ExtensionInterface' => __DIR__ . '/..' . '/symfony/css-selector/XPath/Extension/ExtensionInterface.php', - 'Symfony\\Component\\CssSelector\\XPath\\Extension\\FunctionExtension' => __DIR__ . '/..' . '/symfony/css-selector/XPath/Extension/FunctionExtension.php', - 'Symfony\\Component\\CssSelector\\XPath\\Extension\\HtmlExtension' => __DIR__ . '/..' . '/symfony/css-selector/XPath/Extension/HtmlExtension.php', - 'Symfony\\Component\\CssSelector\\XPath\\Extension\\NodeExtension' => __DIR__ . '/..' . '/symfony/css-selector/XPath/Extension/NodeExtension.php', - 'Symfony\\Component\\CssSelector\\XPath\\Extension\\PseudoClassExtension' => __DIR__ . '/..' . '/symfony/css-selector/XPath/Extension/PseudoClassExtension.php', - 'Symfony\\Component\\CssSelector\\XPath\\Translator' => __DIR__ . '/..' . '/symfony/css-selector/XPath/Translator.php', - 'Symfony\\Component\\CssSelector\\XPath\\TranslatorInterface' => __DIR__ . '/..' . '/symfony/css-selector/XPath/TranslatorInterface.php', - 'Symfony\\Component\\CssSelector\\XPath\\XPathExpr' => __DIR__ . '/..' . '/symfony/css-selector/XPath/XPathExpr.php', - 'Symfony\\Component\\Debug\\BufferingLogger' => __DIR__ . '/..' . '/symfony/debug/BufferingLogger.php', - 'Symfony\\Component\\Debug\\Debug' => __DIR__ . '/..' . '/symfony/debug/Debug.php', - 'Symfony\\Component\\Debug\\DebugClassLoader' => __DIR__ . '/..' . '/symfony/debug/DebugClassLoader.php', - 'Symfony\\Component\\Debug\\ErrorHandler' => __DIR__ . '/..' . '/symfony/debug/ErrorHandler.php', - 'Symfony\\Component\\Debug\\ExceptionHandler' => __DIR__ . '/..' . '/symfony/debug/ExceptionHandler.php', - 'Symfony\\Component\\Debug\\Exception\\ClassNotFoundException' => __DIR__ . '/..' . '/symfony/debug/Exception/ClassNotFoundException.php', - 'Symfony\\Component\\Debug\\Exception\\FatalErrorException' => __DIR__ . '/..' . '/symfony/debug/Exception/FatalErrorException.php', - 'Symfony\\Component\\Debug\\Exception\\FatalThrowableError' => __DIR__ . '/..' . '/symfony/debug/Exception/FatalThrowableError.php', - 'Symfony\\Component\\Debug\\Exception\\FlattenException' => __DIR__ . '/..' . '/symfony/debug/Exception/FlattenException.php', - 'Symfony\\Component\\Debug\\Exception\\OutOfMemoryException' => __DIR__ . '/..' . '/symfony/debug/Exception/OutOfMemoryException.php', - 'Symfony\\Component\\Debug\\Exception\\SilencedErrorContext' => __DIR__ . '/..' . '/symfony/debug/Exception/SilencedErrorContext.php', - 'Symfony\\Component\\Debug\\Exception\\UndefinedFunctionException' => __DIR__ . '/..' . '/symfony/debug/Exception/UndefinedFunctionException.php', - 'Symfony\\Component\\Debug\\Exception\\UndefinedMethodException' => __DIR__ . '/..' . '/symfony/debug/Exception/UndefinedMethodException.php', - 'Symfony\\Component\\Debug\\FatalErrorHandler\\ClassNotFoundFatalErrorHandler' => __DIR__ . '/..' . '/symfony/debug/FatalErrorHandler/ClassNotFoundFatalErrorHandler.php', - 'Symfony\\Component\\Debug\\FatalErrorHandler\\FatalErrorHandlerInterface' => __DIR__ . '/..' . '/symfony/debug/FatalErrorHandler/FatalErrorHandlerInterface.php', - 'Symfony\\Component\\Debug\\FatalErrorHandler\\UndefinedFunctionFatalErrorHandler' => __DIR__ . '/..' . '/symfony/debug/FatalErrorHandler/UndefinedFunctionFatalErrorHandler.php', - 'Symfony\\Component\\Debug\\FatalErrorHandler\\UndefinedMethodFatalErrorHandler' => __DIR__ . '/..' . '/symfony/debug/FatalErrorHandler/UndefinedMethodFatalErrorHandler.php', - 'Symfony\\Component\\ErrorHandler\\BufferingLogger' => __DIR__ . '/..' . '/symfony/error-handler/BufferingLogger.php', - 'Symfony\\Component\\ErrorHandler\\Debug' => __DIR__ . '/..' . '/symfony/error-handler/Debug.php', - 'Symfony\\Component\\ErrorHandler\\DebugClassLoader' => __DIR__ . '/..' . '/symfony/error-handler/DebugClassLoader.php', - 'Symfony\\Component\\ErrorHandler\\ErrorEnhancer\\ClassNotFoundErrorEnhancer' => __DIR__ . '/..' . '/symfony/error-handler/ErrorEnhancer/ClassNotFoundErrorEnhancer.php', - 'Symfony\\Component\\ErrorHandler\\ErrorEnhancer\\ErrorEnhancerInterface' => __DIR__ . '/..' . '/symfony/error-handler/ErrorEnhancer/ErrorEnhancerInterface.php', - 'Symfony\\Component\\ErrorHandler\\ErrorEnhancer\\UndefinedFunctionErrorEnhancer' => __DIR__ . '/..' . '/symfony/error-handler/ErrorEnhancer/UndefinedFunctionErrorEnhancer.php', - 'Symfony\\Component\\ErrorHandler\\ErrorEnhancer\\UndefinedMethodErrorEnhancer' => __DIR__ . '/..' . '/symfony/error-handler/ErrorEnhancer/UndefinedMethodErrorEnhancer.php', - 'Symfony\\Component\\ErrorHandler\\ErrorHandler' => __DIR__ . '/..' . '/symfony/error-handler/ErrorHandler.php', - 'Symfony\\Component\\ErrorHandler\\ErrorRenderer\\CliErrorRenderer' => __DIR__ . '/..' . '/symfony/error-handler/ErrorRenderer/CliErrorRenderer.php', - 'Symfony\\Component\\ErrorHandler\\ErrorRenderer\\ErrorRendererInterface' => __DIR__ . '/..' . '/symfony/error-handler/ErrorRenderer/ErrorRendererInterface.php', - 'Symfony\\Component\\ErrorHandler\\ErrorRenderer\\HtmlErrorRenderer' => __DIR__ . '/..' . '/symfony/error-handler/ErrorRenderer/HtmlErrorRenderer.php', - 'Symfony\\Component\\ErrorHandler\\ErrorRenderer\\SerializerErrorRenderer' => __DIR__ . '/..' . '/symfony/error-handler/ErrorRenderer/SerializerErrorRenderer.php', - 'Symfony\\Component\\ErrorHandler\\Error\\ClassNotFoundError' => __DIR__ . '/..' . '/symfony/error-handler/Error/ClassNotFoundError.php', - 'Symfony\\Component\\ErrorHandler\\Error\\FatalError' => __DIR__ . '/..' . '/symfony/error-handler/Error/FatalError.php', - 'Symfony\\Component\\ErrorHandler\\Error\\OutOfMemoryError' => __DIR__ . '/..' . '/symfony/error-handler/Error/OutOfMemoryError.php', - 'Symfony\\Component\\ErrorHandler\\Error\\UndefinedFunctionError' => __DIR__ . '/..' . '/symfony/error-handler/Error/UndefinedFunctionError.php', - 'Symfony\\Component\\ErrorHandler\\Error\\UndefinedMethodError' => __DIR__ . '/..' . '/symfony/error-handler/Error/UndefinedMethodError.php', - 'Symfony\\Component\\ErrorHandler\\Exception\\FlattenException' => __DIR__ . '/..' . '/symfony/error-handler/Exception/FlattenException.php', - 'Symfony\\Component\\ErrorHandler\\Exception\\SilencedErrorContext' => __DIR__ . '/..' . '/symfony/error-handler/Exception/SilencedErrorContext.php', - 'Symfony\\Component\\ErrorHandler\\ThrowableUtils' => __DIR__ . '/..' . '/symfony/error-handler/ThrowableUtils.php', - 'Symfony\\Component\\EventDispatcher\\Debug\\TraceableEventDispatcher' => __DIR__ . '/..' . '/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php', - 'Symfony\\Component\\EventDispatcher\\Debug\\TraceableEventDispatcherInterface' => __DIR__ . '/..' . '/symfony/event-dispatcher/Debug/TraceableEventDispatcherInterface.php', - 'Symfony\\Component\\EventDispatcher\\Debug\\WrappedListener' => __DIR__ . '/..' . '/symfony/event-dispatcher/Debug/WrappedListener.php', - 'Symfony\\Component\\EventDispatcher\\DependencyInjection\\AddEventAliasesPass' => __DIR__ . '/..' . '/symfony/event-dispatcher/DependencyInjection/AddEventAliasesPass.php', - 'Symfony\\Component\\EventDispatcher\\DependencyInjection\\ExtractingEventDispatcher' => __DIR__ . '/..' . '/symfony/event-dispatcher/DependencyInjection/RegisterListenersPass.php', - 'Symfony\\Component\\EventDispatcher\\DependencyInjection\\RegisterListenersPass' => __DIR__ . '/..' . '/symfony/event-dispatcher/DependencyInjection/RegisterListenersPass.php', - 'Symfony\\Component\\EventDispatcher\\Event' => __DIR__ . '/..' . '/symfony/event-dispatcher/Event.php', - 'Symfony\\Component\\EventDispatcher\\EventDispatcher' => __DIR__ . '/..' . '/symfony/event-dispatcher/EventDispatcher.php', - 'Symfony\\Component\\EventDispatcher\\EventDispatcherInterface' => __DIR__ . '/..' . '/symfony/event-dispatcher/EventDispatcherInterface.php', - 'Symfony\\Component\\EventDispatcher\\EventSubscriberInterface' => __DIR__ . '/..' . '/symfony/event-dispatcher/EventSubscriberInterface.php', - 'Symfony\\Component\\EventDispatcher\\GenericEvent' => __DIR__ . '/..' . '/symfony/event-dispatcher/GenericEvent.php', - 'Symfony\\Component\\EventDispatcher\\ImmutableEventDispatcher' => __DIR__ . '/..' . '/symfony/event-dispatcher/ImmutableEventDispatcher.php', - 'Symfony\\Component\\EventDispatcher\\LegacyEventDispatcherProxy' => __DIR__ . '/..' . '/symfony/event-dispatcher/LegacyEventDispatcherProxy.php', - 'Symfony\\Component\\EventDispatcher\\LegacyEventProxy' => __DIR__ . '/..' . '/symfony/event-dispatcher/LegacyEventProxy.php', - 'Symfony\\Component\\Finder\\Comparator\\Comparator' => __DIR__ . '/..' . '/symfony/finder/Comparator/Comparator.php', - 'Symfony\\Component\\Finder\\Comparator\\DateComparator' => __DIR__ . '/..' . '/symfony/finder/Comparator/DateComparator.php', - 'Symfony\\Component\\Finder\\Comparator\\NumberComparator' => __DIR__ . '/..' . '/symfony/finder/Comparator/NumberComparator.php', - 'Symfony\\Component\\Finder\\Exception\\AccessDeniedException' => __DIR__ . '/..' . '/symfony/finder/Exception/AccessDeniedException.php', - 'Symfony\\Component\\Finder\\Exception\\DirectoryNotFoundException' => __DIR__ . '/..' . '/symfony/finder/Exception/DirectoryNotFoundException.php', - 'Symfony\\Component\\Finder\\Finder' => __DIR__ . '/..' . '/symfony/finder/Finder.php', - 'Symfony\\Component\\Finder\\Gitignore' => __DIR__ . '/..' . '/symfony/finder/Gitignore.php', - 'Symfony\\Component\\Finder\\Glob' => __DIR__ . '/..' . '/symfony/finder/Glob.php', - 'Symfony\\Component\\Finder\\Iterator\\CustomFilterIterator' => __DIR__ . '/..' . '/symfony/finder/Iterator/CustomFilterIterator.php', - 'Symfony\\Component\\Finder\\Iterator\\DateRangeFilterIterator' => __DIR__ . '/..' . '/symfony/finder/Iterator/DateRangeFilterIterator.php', - 'Symfony\\Component\\Finder\\Iterator\\DepthRangeFilterIterator' => __DIR__ . '/..' . '/symfony/finder/Iterator/DepthRangeFilterIterator.php', - 'Symfony\\Component\\Finder\\Iterator\\ExcludeDirectoryFilterIterator' => __DIR__ . '/..' . '/symfony/finder/Iterator/ExcludeDirectoryFilterIterator.php', - 'Symfony\\Component\\Finder\\Iterator\\FileTypeFilterIterator' => __DIR__ . '/..' . '/symfony/finder/Iterator/FileTypeFilterIterator.php', - 'Symfony\\Component\\Finder\\Iterator\\FilecontentFilterIterator' => __DIR__ . '/..' . '/symfony/finder/Iterator/FilecontentFilterIterator.php', - 'Symfony\\Component\\Finder\\Iterator\\FilenameFilterIterator' => __DIR__ . '/..' . '/symfony/finder/Iterator/FilenameFilterIterator.php', - 'Symfony\\Component\\Finder\\Iterator\\MultiplePcreFilterIterator' => __DIR__ . '/..' . '/symfony/finder/Iterator/MultiplePcreFilterIterator.php', - 'Symfony\\Component\\Finder\\Iterator\\PathFilterIterator' => __DIR__ . '/..' . '/symfony/finder/Iterator/PathFilterIterator.php', - 'Symfony\\Component\\Finder\\Iterator\\RecursiveDirectoryIterator' => __DIR__ . '/..' . '/symfony/finder/Iterator/RecursiveDirectoryIterator.php', - 'Symfony\\Component\\Finder\\Iterator\\SizeRangeFilterIterator' => __DIR__ . '/..' . '/symfony/finder/Iterator/SizeRangeFilterIterator.php', - 'Symfony\\Component\\Finder\\Iterator\\SortableIterator' => __DIR__ . '/..' . '/symfony/finder/Iterator/SortableIterator.php', - 'Symfony\\Component\\Finder\\SplFileInfo' => __DIR__ . '/..' . '/symfony/finder/SplFileInfo.php', - 'Symfony\\Component\\HttpFoundation\\AcceptHeader' => __DIR__ . '/..' . '/symfony/http-foundation/AcceptHeader.php', - 'Symfony\\Component\\HttpFoundation\\AcceptHeaderItem' => __DIR__ . '/..' . '/symfony/http-foundation/AcceptHeaderItem.php', - 'Symfony\\Component\\HttpFoundation\\ApacheRequest' => __DIR__ . '/..' . '/symfony/http-foundation/ApacheRequest.php', - 'Symfony\\Component\\HttpFoundation\\BinaryFileResponse' => __DIR__ . '/..' . '/symfony/http-foundation/BinaryFileResponse.php', - 'Symfony\\Component\\HttpFoundation\\Cookie' => __DIR__ . '/..' . '/symfony/http-foundation/Cookie.php', - 'Symfony\\Component\\HttpFoundation\\Exception\\ConflictingHeadersException' => __DIR__ . '/..' . '/symfony/http-foundation/Exception/ConflictingHeadersException.php', - 'Symfony\\Component\\HttpFoundation\\Exception\\RequestExceptionInterface' => __DIR__ . '/..' . '/symfony/http-foundation/Exception/RequestExceptionInterface.php', - 'Symfony\\Component\\HttpFoundation\\Exception\\SuspiciousOperationException' => __DIR__ . '/..' . '/symfony/http-foundation/Exception/SuspiciousOperationException.php', - 'Symfony\\Component\\HttpFoundation\\ExpressionRequestMatcher' => __DIR__ . '/..' . '/symfony/http-foundation/ExpressionRequestMatcher.php', - 'Symfony\\Component\\HttpFoundation\\FileBag' => __DIR__ . '/..' . '/symfony/http-foundation/FileBag.php', - 'Symfony\\Component\\HttpFoundation\\File\\Exception\\AccessDeniedException' => __DIR__ . '/..' . '/symfony/http-foundation/File/Exception/AccessDeniedException.php', - 'Symfony\\Component\\HttpFoundation\\File\\Exception\\CannotWriteFileException' => __DIR__ . '/..' . '/symfony/http-foundation/File/Exception/CannotWriteFileException.php', - 'Symfony\\Component\\HttpFoundation\\File\\Exception\\ExtensionFileException' => __DIR__ . '/..' . '/symfony/http-foundation/File/Exception/ExtensionFileException.php', - 'Symfony\\Component\\HttpFoundation\\File\\Exception\\FileException' => __DIR__ . '/..' . '/symfony/http-foundation/File/Exception/FileException.php', - 'Symfony\\Component\\HttpFoundation\\File\\Exception\\FileNotFoundException' => __DIR__ . '/..' . '/symfony/http-foundation/File/Exception/FileNotFoundException.php', - 'Symfony\\Component\\HttpFoundation\\File\\Exception\\FormSizeFileException' => __DIR__ . '/..' . '/symfony/http-foundation/File/Exception/FormSizeFileException.php', - 'Symfony\\Component\\HttpFoundation\\File\\Exception\\IniSizeFileException' => __DIR__ . '/..' . '/symfony/http-foundation/File/Exception/IniSizeFileException.php', - 'Symfony\\Component\\HttpFoundation\\File\\Exception\\NoFileException' => __DIR__ . '/..' . '/symfony/http-foundation/File/Exception/NoFileException.php', - 'Symfony\\Component\\HttpFoundation\\File\\Exception\\NoTmpDirFileException' => __DIR__ . '/..' . '/symfony/http-foundation/File/Exception/NoTmpDirFileException.php', - 'Symfony\\Component\\HttpFoundation\\File\\Exception\\PartialFileException' => __DIR__ . '/..' . '/symfony/http-foundation/File/Exception/PartialFileException.php', - 'Symfony\\Component\\HttpFoundation\\File\\Exception\\UnexpectedTypeException' => __DIR__ . '/..' . '/symfony/http-foundation/File/Exception/UnexpectedTypeException.php', - 'Symfony\\Component\\HttpFoundation\\File\\Exception\\UploadException' => __DIR__ . '/..' . '/symfony/http-foundation/File/Exception/UploadException.php', - 'Symfony\\Component\\HttpFoundation\\File\\File' => __DIR__ . '/..' . '/symfony/http-foundation/File/File.php', - 'Symfony\\Component\\HttpFoundation\\File\\MimeType\\ExtensionGuesser' => __DIR__ . '/..' . '/symfony/http-foundation/File/MimeType/ExtensionGuesser.php', - 'Symfony\\Component\\HttpFoundation\\File\\MimeType\\ExtensionGuesserInterface' => __DIR__ . '/..' . '/symfony/http-foundation/File/MimeType/ExtensionGuesserInterface.php', - 'Symfony\\Component\\HttpFoundation\\File\\MimeType\\FileBinaryMimeTypeGuesser' => __DIR__ . '/..' . '/symfony/http-foundation/File/MimeType/FileBinaryMimeTypeGuesser.php', - 'Symfony\\Component\\HttpFoundation\\File\\MimeType\\FileinfoMimeTypeGuesser' => __DIR__ . '/..' . '/symfony/http-foundation/File/MimeType/FileinfoMimeTypeGuesser.php', - 'Symfony\\Component\\HttpFoundation\\File\\MimeType\\MimeTypeExtensionGuesser' => __DIR__ . '/..' . '/symfony/http-foundation/File/MimeType/MimeTypeExtensionGuesser.php', - 'Symfony\\Component\\HttpFoundation\\File\\MimeType\\MimeTypeGuesser' => __DIR__ . '/..' . '/symfony/http-foundation/File/MimeType/MimeTypeGuesser.php', - 'Symfony\\Component\\HttpFoundation\\File\\MimeType\\MimeTypeGuesserInterface' => __DIR__ . '/..' . '/symfony/http-foundation/File/MimeType/MimeTypeGuesserInterface.php', - 'Symfony\\Component\\HttpFoundation\\File\\Stream' => __DIR__ . '/..' . '/symfony/http-foundation/File/Stream.php', - 'Symfony\\Component\\HttpFoundation\\File\\UploadedFile' => __DIR__ . '/..' . '/symfony/http-foundation/File/UploadedFile.php', - 'Symfony\\Component\\HttpFoundation\\HeaderBag' => __DIR__ . '/..' . '/symfony/http-foundation/HeaderBag.php', - 'Symfony\\Component\\HttpFoundation\\HeaderUtils' => __DIR__ . '/..' . '/symfony/http-foundation/HeaderUtils.php', - 'Symfony\\Component\\HttpFoundation\\IpUtils' => __DIR__ . '/..' . '/symfony/http-foundation/IpUtils.php', - 'Symfony\\Component\\HttpFoundation\\JsonResponse' => __DIR__ . '/..' . '/symfony/http-foundation/JsonResponse.php', - 'Symfony\\Component\\HttpFoundation\\ParameterBag' => __DIR__ . '/..' . '/symfony/http-foundation/ParameterBag.php', - 'Symfony\\Component\\HttpFoundation\\RedirectResponse' => __DIR__ . '/..' . '/symfony/http-foundation/RedirectResponse.php', - 'Symfony\\Component\\HttpFoundation\\Request' => __DIR__ . '/..' . '/symfony/http-foundation/Request.php', - 'Symfony\\Component\\HttpFoundation\\RequestMatcher' => __DIR__ . '/..' . '/symfony/http-foundation/RequestMatcher.php', - 'Symfony\\Component\\HttpFoundation\\RequestMatcherInterface' => __DIR__ . '/..' . '/symfony/http-foundation/RequestMatcherInterface.php', - 'Symfony\\Component\\HttpFoundation\\RequestStack' => __DIR__ . '/..' . '/symfony/http-foundation/RequestStack.php', - 'Symfony\\Component\\HttpFoundation\\Response' => __DIR__ . '/..' . '/symfony/http-foundation/Response.php', - 'Symfony\\Component\\HttpFoundation\\ResponseHeaderBag' => __DIR__ . '/..' . '/symfony/http-foundation/ResponseHeaderBag.php', - 'Symfony\\Component\\HttpFoundation\\ServerBag' => __DIR__ . '/..' . '/symfony/http-foundation/ServerBag.php', - 'Symfony\\Component\\HttpFoundation\\Session\\Attribute\\AttributeBag' => __DIR__ . '/..' . '/symfony/http-foundation/Session/Attribute/AttributeBag.php', - 'Symfony\\Component\\HttpFoundation\\Session\\Attribute\\AttributeBagInterface' => __DIR__ . '/..' . '/symfony/http-foundation/Session/Attribute/AttributeBagInterface.php', - 'Symfony\\Component\\HttpFoundation\\Session\\Attribute\\NamespacedAttributeBag' => __DIR__ . '/..' . '/symfony/http-foundation/Session/Attribute/NamespacedAttributeBag.php', - 'Symfony\\Component\\HttpFoundation\\Session\\Flash\\AutoExpireFlashBag' => __DIR__ . '/..' . '/symfony/http-foundation/Session/Flash/AutoExpireFlashBag.php', - 'Symfony\\Component\\HttpFoundation\\Session\\Flash\\FlashBag' => __DIR__ . '/..' . '/symfony/http-foundation/Session/Flash/FlashBag.php', - 'Symfony\\Component\\HttpFoundation\\Session\\Flash\\FlashBagInterface' => __DIR__ . '/..' . '/symfony/http-foundation/Session/Flash/FlashBagInterface.php', - 'Symfony\\Component\\HttpFoundation\\Session\\Session' => __DIR__ . '/..' . '/symfony/http-foundation/Session/Session.php', - 'Symfony\\Component\\HttpFoundation\\Session\\SessionBagInterface' => __DIR__ . '/..' . '/symfony/http-foundation/Session/SessionBagInterface.php', - 'Symfony\\Component\\HttpFoundation\\Session\\SessionBagProxy' => __DIR__ . '/..' . '/symfony/http-foundation/Session/SessionBagProxy.php', - 'Symfony\\Component\\HttpFoundation\\Session\\SessionInterface' => __DIR__ . '/..' . '/symfony/http-foundation/Session/SessionInterface.php', - 'Symfony\\Component\\HttpFoundation\\Session\\SessionUtils' => __DIR__ . '/..' . '/symfony/http-foundation/Session/SessionUtils.php', - 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\Handler\\AbstractSessionHandler' => __DIR__ . '/..' . '/symfony/http-foundation/Session/Storage/Handler/AbstractSessionHandler.php', - 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\Handler\\MemcachedSessionHandler' => __DIR__ . '/..' . '/symfony/http-foundation/Session/Storage/Handler/MemcachedSessionHandler.php', - 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\Handler\\MigratingSessionHandler' => __DIR__ . '/..' . '/symfony/http-foundation/Session/Storage/Handler/MigratingSessionHandler.php', - 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\Handler\\MongoDbSessionHandler' => __DIR__ . '/..' . '/symfony/http-foundation/Session/Storage/Handler/MongoDbSessionHandler.php', - 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\Handler\\NativeFileSessionHandler' => __DIR__ . '/..' . '/symfony/http-foundation/Session/Storage/Handler/NativeFileSessionHandler.php', - 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\Handler\\NullSessionHandler' => __DIR__ . '/..' . '/symfony/http-foundation/Session/Storage/Handler/NullSessionHandler.php', - 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\Handler\\PdoSessionHandler' => __DIR__ . '/..' . '/symfony/http-foundation/Session/Storage/Handler/PdoSessionHandler.php', - 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\Handler\\RedisSessionHandler' => __DIR__ . '/..' . '/symfony/http-foundation/Session/Storage/Handler/RedisSessionHandler.php', - 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\Handler\\SessionHandlerFactory' => __DIR__ . '/..' . '/symfony/http-foundation/Session/Storage/Handler/SessionHandlerFactory.php', - 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\Handler\\StrictSessionHandler' => __DIR__ . '/..' . '/symfony/http-foundation/Session/Storage/Handler/StrictSessionHandler.php', - 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\MetadataBag' => __DIR__ . '/..' . '/symfony/http-foundation/Session/Storage/MetadataBag.php', - 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\MockArraySessionStorage' => __DIR__ . '/..' . '/symfony/http-foundation/Session/Storage/MockArraySessionStorage.php', - 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\MockFileSessionStorage' => __DIR__ . '/..' . '/symfony/http-foundation/Session/Storage/MockFileSessionStorage.php', - 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\NativeSessionStorage' => __DIR__ . '/..' . '/symfony/http-foundation/Session/Storage/NativeSessionStorage.php', - 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\PhpBridgeSessionStorage' => __DIR__ . '/..' . '/symfony/http-foundation/Session/Storage/PhpBridgeSessionStorage.php', - 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\Proxy\\AbstractProxy' => __DIR__ . '/..' . '/symfony/http-foundation/Session/Storage/Proxy/AbstractProxy.php', - 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\Proxy\\SessionHandlerProxy' => __DIR__ . '/..' . '/symfony/http-foundation/Session/Storage/Proxy/SessionHandlerProxy.php', - 'Symfony\\Component\\HttpFoundation\\Session\\Storage\\SessionStorageInterface' => __DIR__ . '/..' . '/symfony/http-foundation/Session/Storage/SessionStorageInterface.php', - 'Symfony\\Component\\HttpFoundation\\StreamedResponse' => __DIR__ . '/..' . '/symfony/http-foundation/StreamedResponse.php', - 'Symfony\\Component\\HttpFoundation\\Test\\Constraint\\RequestAttributeValueSame' => __DIR__ . '/..' . '/symfony/http-foundation/Test/Constraint/RequestAttributeValueSame.php', - 'Symfony\\Component\\HttpFoundation\\Test\\Constraint\\ResponseCookieValueSame' => __DIR__ . '/..' . '/symfony/http-foundation/Test/Constraint/ResponseCookieValueSame.php', - 'Symfony\\Component\\HttpFoundation\\Test\\Constraint\\ResponseHasCookie' => __DIR__ . '/..' . '/symfony/http-foundation/Test/Constraint/ResponseHasCookie.php', - 'Symfony\\Component\\HttpFoundation\\Test\\Constraint\\ResponseHasHeader' => __DIR__ . '/..' . '/symfony/http-foundation/Test/Constraint/ResponseHasHeader.php', - 'Symfony\\Component\\HttpFoundation\\Test\\Constraint\\ResponseHeaderSame' => __DIR__ . '/..' . '/symfony/http-foundation/Test/Constraint/ResponseHeaderSame.php', - 'Symfony\\Component\\HttpFoundation\\Test\\Constraint\\ResponseIsRedirected' => __DIR__ . '/..' . '/symfony/http-foundation/Test/Constraint/ResponseIsRedirected.php', - 'Symfony\\Component\\HttpFoundation\\Test\\Constraint\\ResponseIsSuccessful' => __DIR__ . '/..' . '/symfony/http-foundation/Test/Constraint/ResponseIsSuccessful.php', - 'Symfony\\Component\\HttpFoundation\\Test\\Constraint\\ResponseStatusCodeSame' => __DIR__ . '/..' . '/symfony/http-foundation/Test/Constraint/ResponseStatusCodeSame.php', - 'Symfony\\Component\\HttpFoundation\\UrlHelper' => __DIR__ . '/..' . '/symfony/http-foundation/UrlHelper.php', - 'Symfony\\Component\\HttpKernel\\Bundle\\Bundle' => __DIR__ . '/..' . '/symfony/http-kernel/Bundle/Bundle.php', - 'Symfony\\Component\\HttpKernel\\Bundle\\BundleInterface' => __DIR__ . '/..' . '/symfony/http-kernel/Bundle/BundleInterface.php', - 'Symfony\\Component\\HttpKernel\\CacheClearer\\CacheClearerInterface' => __DIR__ . '/..' . '/symfony/http-kernel/CacheClearer/CacheClearerInterface.php', - 'Symfony\\Component\\HttpKernel\\CacheClearer\\ChainCacheClearer' => __DIR__ . '/..' . '/symfony/http-kernel/CacheClearer/ChainCacheClearer.php', - 'Symfony\\Component\\HttpKernel\\CacheClearer\\Psr6CacheClearer' => __DIR__ . '/..' . '/symfony/http-kernel/CacheClearer/Psr6CacheClearer.php', - 'Symfony\\Component\\HttpKernel\\CacheWarmer\\CacheWarmer' => __DIR__ . '/..' . '/symfony/http-kernel/CacheWarmer/CacheWarmer.php', - 'Symfony\\Component\\HttpKernel\\CacheWarmer\\CacheWarmerAggregate' => __DIR__ . '/..' . '/symfony/http-kernel/CacheWarmer/CacheWarmerAggregate.php', - 'Symfony\\Component\\HttpKernel\\CacheWarmer\\CacheWarmerInterface' => __DIR__ . '/..' . '/symfony/http-kernel/CacheWarmer/CacheWarmerInterface.php', - 'Symfony\\Component\\HttpKernel\\CacheWarmer\\WarmableInterface' => __DIR__ . '/..' . '/symfony/http-kernel/CacheWarmer/WarmableInterface.php', - 'Symfony\\Component\\HttpKernel\\Client' => __DIR__ . '/..' . '/symfony/http-kernel/Client.php', - 'Symfony\\Component\\HttpKernel\\Config\\FileLocator' => __DIR__ . '/..' . '/symfony/http-kernel/Config/FileLocator.php', - 'Symfony\\Component\\HttpKernel\\ControllerMetadata\\ArgumentMetadata' => __DIR__ . '/..' . '/symfony/http-kernel/ControllerMetadata/ArgumentMetadata.php', - 'Symfony\\Component\\HttpKernel\\ControllerMetadata\\ArgumentMetadataFactory' => __DIR__ . '/..' . '/symfony/http-kernel/ControllerMetadata/ArgumentMetadataFactory.php', - 'Symfony\\Component\\HttpKernel\\ControllerMetadata\\ArgumentMetadataFactoryInterface' => __DIR__ . '/..' . '/symfony/http-kernel/ControllerMetadata/ArgumentMetadataFactoryInterface.php', - 'Symfony\\Component\\HttpKernel\\Controller\\ArgumentResolver' => __DIR__ . '/..' . '/symfony/http-kernel/Controller/ArgumentResolver.php', - 'Symfony\\Component\\HttpKernel\\Controller\\ArgumentResolverInterface' => __DIR__ . '/..' . '/symfony/http-kernel/Controller/ArgumentResolverInterface.php', - 'Symfony\\Component\\HttpKernel\\Controller\\ArgumentResolver\\DefaultValueResolver' => __DIR__ . '/..' . '/symfony/http-kernel/Controller/ArgumentResolver/DefaultValueResolver.php', - 'Symfony\\Component\\HttpKernel\\Controller\\ArgumentResolver\\NotTaggedControllerValueResolver' => __DIR__ . '/..' . '/symfony/http-kernel/Controller/ArgumentResolver/NotTaggedControllerValueResolver.php', - 'Symfony\\Component\\HttpKernel\\Controller\\ArgumentResolver\\RequestAttributeValueResolver' => __DIR__ . '/..' . '/symfony/http-kernel/Controller/ArgumentResolver/RequestAttributeValueResolver.php', - 'Symfony\\Component\\HttpKernel\\Controller\\ArgumentResolver\\RequestValueResolver' => __DIR__ . '/..' . '/symfony/http-kernel/Controller/ArgumentResolver/RequestValueResolver.php', - 'Symfony\\Component\\HttpKernel\\Controller\\ArgumentResolver\\ServiceValueResolver' => __DIR__ . '/..' . '/symfony/http-kernel/Controller/ArgumentResolver/ServiceValueResolver.php', - 'Symfony\\Component\\HttpKernel\\Controller\\ArgumentResolver\\SessionValueResolver' => __DIR__ . '/..' . '/symfony/http-kernel/Controller/ArgumentResolver/SessionValueResolver.php', - 'Symfony\\Component\\HttpKernel\\Controller\\ArgumentResolver\\TraceableValueResolver' => __DIR__ . '/..' . '/symfony/http-kernel/Controller/ArgumentResolver/TraceableValueResolver.php', - 'Symfony\\Component\\HttpKernel\\Controller\\ArgumentResolver\\VariadicValueResolver' => __DIR__ . '/..' . '/symfony/http-kernel/Controller/ArgumentResolver/VariadicValueResolver.php', - 'Symfony\\Component\\HttpKernel\\Controller\\ArgumentValueResolverInterface' => __DIR__ . '/..' . '/symfony/http-kernel/Controller/ArgumentValueResolverInterface.php', - 'Symfony\\Component\\HttpKernel\\Controller\\ContainerControllerResolver' => __DIR__ . '/..' . '/symfony/http-kernel/Controller/ContainerControllerResolver.php', - 'Symfony\\Component\\HttpKernel\\Controller\\ControllerReference' => __DIR__ . '/..' . '/symfony/http-kernel/Controller/ControllerReference.php', - 'Symfony\\Component\\HttpKernel\\Controller\\ControllerResolver' => __DIR__ . '/..' . '/symfony/http-kernel/Controller/ControllerResolver.php', - 'Symfony\\Component\\HttpKernel\\Controller\\ControllerResolverInterface' => __DIR__ . '/..' . '/symfony/http-kernel/Controller/ControllerResolverInterface.php', - 'Symfony\\Component\\HttpKernel\\Controller\\ErrorController' => __DIR__ . '/..' . '/symfony/http-kernel/Controller/ErrorController.php', - 'Symfony\\Component\\HttpKernel\\Controller\\TraceableArgumentResolver' => __DIR__ . '/..' . '/symfony/http-kernel/Controller/TraceableArgumentResolver.php', - 'Symfony\\Component\\HttpKernel\\Controller\\TraceableControllerResolver' => __DIR__ . '/..' . '/symfony/http-kernel/Controller/TraceableControllerResolver.php', - 'Symfony\\Component\\HttpKernel\\DataCollector\\AjaxDataCollector' => __DIR__ . '/..' . '/symfony/http-kernel/DataCollector/AjaxDataCollector.php', - 'Symfony\\Component\\HttpKernel\\DataCollector\\ConfigDataCollector' => __DIR__ . '/..' . '/symfony/http-kernel/DataCollector/ConfigDataCollector.php', - 'Symfony\\Component\\HttpKernel\\DataCollector\\DataCollector' => __DIR__ . '/..' . '/symfony/http-kernel/DataCollector/DataCollector.php', - 'Symfony\\Component\\HttpKernel\\DataCollector\\DataCollectorInterface' => __DIR__ . '/..' . '/symfony/http-kernel/DataCollector/DataCollectorInterface.php', - 'Symfony\\Component\\HttpKernel\\DataCollector\\DumpDataCollector' => __DIR__ . '/..' . '/symfony/http-kernel/DataCollector/DumpDataCollector.php', - 'Symfony\\Component\\HttpKernel\\DataCollector\\EventDataCollector' => __DIR__ . '/..' . '/symfony/http-kernel/DataCollector/EventDataCollector.php', - 'Symfony\\Component\\HttpKernel\\DataCollector\\ExceptionDataCollector' => __DIR__ . '/..' . '/symfony/http-kernel/DataCollector/ExceptionDataCollector.php', - 'Symfony\\Component\\HttpKernel\\DataCollector\\LateDataCollectorInterface' => __DIR__ . '/..' . '/symfony/http-kernel/DataCollector/LateDataCollectorInterface.php', - 'Symfony\\Component\\HttpKernel\\DataCollector\\LoggerDataCollector' => __DIR__ . '/..' . '/symfony/http-kernel/DataCollector/LoggerDataCollector.php', - 'Symfony\\Component\\HttpKernel\\DataCollector\\MemoryDataCollector' => __DIR__ . '/..' . '/symfony/http-kernel/DataCollector/MemoryDataCollector.php', - 'Symfony\\Component\\HttpKernel\\DataCollector\\RequestDataCollector' => __DIR__ . '/..' . '/symfony/http-kernel/DataCollector/RequestDataCollector.php', - 'Symfony\\Component\\HttpKernel\\DataCollector\\RouterDataCollector' => __DIR__ . '/..' . '/symfony/http-kernel/DataCollector/RouterDataCollector.php', - 'Symfony\\Component\\HttpKernel\\DataCollector\\TimeDataCollector' => __DIR__ . '/..' . '/symfony/http-kernel/DataCollector/TimeDataCollector.php', - 'Symfony\\Component\\HttpKernel\\Debug\\FileLinkFormatter' => __DIR__ . '/..' . '/symfony/http-kernel/Debug/FileLinkFormatter.php', - 'Symfony\\Component\\HttpKernel\\Debug\\TraceableEventDispatcher' => __DIR__ . '/..' . '/symfony/http-kernel/Debug/TraceableEventDispatcher.php', - 'Symfony\\Component\\HttpKernel\\DependencyInjection\\AddAnnotatedClassesToCachePass' => __DIR__ . '/..' . '/symfony/http-kernel/DependencyInjection/AddAnnotatedClassesToCachePass.php', - 'Symfony\\Component\\HttpKernel\\DependencyInjection\\ConfigurableExtension' => __DIR__ . '/..' . '/symfony/http-kernel/DependencyInjection/ConfigurableExtension.php', - 'Symfony\\Component\\HttpKernel\\DependencyInjection\\ControllerArgumentValueResolverPass' => __DIR__ . '/..' . '/symfony/http-kernel/DependencyInjection/ControllerArgumentValueResolverPass.php', - 'Symfony\\Component\\HttpKernel\\DependencyInjection\\Extension' => __DIR__ . '/..' . '/symfony/http-kernel/DependencyInjection/Extension.php', - 'Symfony\\Component\\HttpKernel\\DependencyInjection\\FragmentRendererPass' => __DIR__ . '/..' . '/symfony/http-kernel/DependencyInjection/FragmentRendererPass.php', - 'Symfony\\Component\\HttpKernel\\DependencyInjection\\LazyLoadingFragmentHandler' => __DIR__ . '/..' . '/symfony/http-kernel/DependencyInjection/LazyLoadingFragmentHandler.php', - 'Symfony\\Component\\HttpKernel\\DependencyInjection\\LoggerPass' => __DIR__ . '/..' . '/symfony/http-kernel/DependencyInjection/LoggerPass.php', - 'Symfony\\Component\\HttpKernel\\DependencyInjection\\MergeExtensionConfigurationPass' => __DIR__ . '/..' . '/symfony/http-kernel/DependencyInjection/MergeExtensionConfigurationPass.php', - 'Symfony\\Component\\HttpKernel\\DependencyInjection\\RegisterControllerArgumentLocatorsPass' => __DIR__ . '/..' . '/symfony/http-kernel/DependencyInjection/RegisterControllerArgumentLocatorsPass.php', - 'Symfony\\Component\\HttpKernel\\DependencyInjection\\RegisterLocaleAwareServicesPass' => __DIR__ . '/..' . '/symfony/http-kernel/DependencyInjection/RegisterLocaleAwareServicesPass.php', - 'Symfony\\Component\\HttpKernel\\DependencyInjection\\RemoveEmptyControllerArgumentLocatorsPass' => __DIR__ . '/..' . '/symfony/http-kernel/DependencyInjection/RemoveEmptyControllerArgumentLocatorsPass.php', - 'Symfony\\Component\\HttpKernel\\DependencyInjection\\ResettableServicePass' => __DIR__ . '/..' . '/symfony/http-kernel/DependencyInjection/ResettableServicePass.php', - 'Symfony\\Component\\HttpKernel\\DependencyInjection\\ServicesResetter' => __DIR__ . '/..' . '/symfony/http-kernel/DependencyInjection/ServicesResetter.php', - 'Symfony\\Component\\HttpKernel\\EventListener\\AbstractSessionListener' => __DIR__ . '/..' . '/symfony/http-kernel/EventListener/AbstractSessionListener.php', - 'Symfony\\Component\\HttpKernel\\EventListener\\AbstractTestSessionListener' => __DIR__ . '/..' . '/symfony/http-kernel/EventListener/AbstractTestSessionListener.php', - 'Symfony\\Component\\HttpKernel\\EventListener\\AddRequestFormatsListener' => __DIR__ . '/..' . '/symfony/http-kernel/EventListener/AddRequestFormatsListener.php', - 'Symfony\\Component\\HttpKernel\\EventListener\\DebugHandlersListener' => __DIR__ . '/..' . '/symfony/http-kernel/EventListener/DebugHandlersListener.php', - 'Symfony\\Component\\HttpKernel\\EventListener\\DisallowRobotsIndexingListener' => __DIR__ . '/..' . '/symfony/http-kernel/EventListener/DisallowRobotsIndexingListener.php', - 'Symfony\\Component\\HttpKernel\\EventListener\\DumpListener' => __DIR__ . '/..' . '/symfony/http-kernel/EventListener/DumpListener.php', - 'Symfony\\Component\\HttpKernel\\EventListener\\ErrorListener' => __DIR__ . '/..' . '/symfony/http-kernel/EventListener/ErrorListener.php', - 'Symfony\\Component\\HttpKernel\\EventListener\\ExceptionListener' => __DIR__ . '/..' . '/symfony/http-kernel/EventListener/ExceptionListener.php', - 'Symfony\\Component\\HttpKernel\\EventListener\\FragmentListener' => __DIR__ . '/..' . '/symfony/http-kernel/EventListener/FragmentListener.php', - 'Symfony\\Component\\HttpKernel\\EventListener\\LocaleAwareListener' => __DIR__ . '/..' . '/symfony/http-kernel/EventListener/LocaleAwareListener.php', - 'Symfony\\Component\\HttpKernel\\EventListener\\LocaleListener' => __DIR__ . '/..' . '/symfony/http-kernel/EventListener/LocaleListener.php', - 'Symfony\\Component\\HttpKernel\\EventListener\\ProfilerListener' => __DIR__ . '/..' . '/symfony/http-kernel/EventListener/ProfilerListener.php', - 'Symfony\\Component\\HttpKernel\\EventListener\\ResponseListener' => __DIR__ . '/..' . '/symfony/http-kernel/EventListener/ResponseListener.php', - 'Symfony\\Component\\HttpKernel\\EventListener\\RouterListener' => __DIR__ . '/..' . '/symfony/http-kernel/EventListener/RouterListener.php', - 'Symfony\\Component\\HttpKernel\\EventListener\\SaveSessionListener' => __DIR__ . '/..' . '/symfony/http-kernel/EventListener/SaveSessionListener.php', - 'Symfony\\Component\\HttpKernel\\EventListener\\SessionListener' => __DIR__ . '/..' . '/symfony/http-kernel/EventListener/SessionListener.php', - 'Symfony\\Component\\HttpKernel\\EventListener\\StreamedResponseListener' => __DIR__ . '/..' . '/symfony/http-kernel/EventListener/StreamedResponseListener.php', - 'Symfony\\Component\\HttpKernel\\EventListener\\SurrogateListener' => __DIR__ . '/..' . '/symfony/http-kernel/EventListener/SurrogateListener.php', - 'Symfony\\Component\\HttpKernel\\EventListener\\TestSessionListener' => __DIR__ . '/..' . '/symfony/http-kernel/EventListener/TestSessionListener.php', - 'Symfony\\Component\\HttpKernel\\EventListener\\TranslatorListener' => __DIR__ . '/..' . '/symfony/http-kernel/EventListener/TranslatorListener.php', - 'Symfony\\Component\\HttpKernel\\EventListener\\ValidateRequestListener' => __DIR__ . '/..' . '/symfony/http-kernel/EventListener/ValidateRequestListener.php', - 'Symfony\\Component\\HttpKernel\\Event\\ControllerArgumentsEvent' => __DIR__ . '/..' . '/symfony/http-kernel/Event/ControllerArgumentsEvent.php', - 'Symfony\\Component\\HttpKernel\\Event\\ControllerEvent' => __DIR__ . '/..' . '/symfony/http-kernel/Event/ControllerEvent.php', - 'Symfony\\Component\\HttpKernel\\Event\\ExceptionEvent' => __DIR__ . '/..' . '/symfony/http-kernel/Event/ExceptionEvent.php', - 'Symfony\\Component\\HttpKernel\\Event\\FilterControllerArgumentsEvent' => __DIR__ . '/..' . '/symfony/http-kernel/Event/FilterControllerArgumentsEvent.php', - 'Symfony\\Component\\HttpKernel\\Event\\FilterControllerEvent' => __DIR__ . '/..' . '/symfony/http-kernel/Event/FilterControllerEvent.php', - 'Symfony\\Component\\HttpKernel\\Event\\FilterResponseEvent' => __DIR__ . '/..' . '/symfony/http-kernel/Event/FilterResponseEvent.php', - 'Symfony\\Component\\HttpKernel\\Event\\FinishRequestEvent' => __DIR__ . '/..' . '/symfony/http-kernel/Event/FinishRequestEvent.php', - 'Symfony\\Component\\HttpKernel\\Event\\GetResponseEvent' => __DIR__ . '/..' . '/symfony/http-kernel/Event/GetResponseEvent.php', - 'Symfony\\Component\\HttpKernel\\Event\\GetResponseForControllerResultEvent' => __DIR__ . '/..' . '/symfony/http-kernel/Event/GetResponseForControllerResultEvent.php', - 'Symfony\\Component\\HttpKernel\\Event\\GetResponseForExceptionEvent' => __DIR__ . '/..' . '/symfony/http-kernel/Event/GetResponseForExceptionEvent.php', - 'Symfony\\Component\\HttpKernel\\Event\\KernelEvent' => __DIR__ . '/..' . '/symfony/http-kernel/Event/KernelEvent.php', - 'Symfony\\Component\\HttpKernel\\Event\\PostResponseEvent' => __DIR__ . '/..' . '/symfony/http-kernel/Event/PostResponseEvent.php', - 'Symfony\\Component\\HttpKernel\\Event\\RequestEvent' => __DIR__ . '/..' . '/symfony/http-kernel/Event/RequestEvent.php', - 'Symfony\\Component\\HttpKernel\\Event\\ResponseEvent' => __DIR__ . '/..' . '/symfony/http-kernel/Event/ResponseEvent.php', - 'Symfony\\Component\\HttpKernel\\Event\\TerminateEvent' => __DIR__ . '/..' . '/symfony/http-kernel/Event/TerminateEvent.php', - 'Symfony\\Component\\HttpKernel\\Event\\ViewEvent' => __DIR__ . '/..' . '/symfony/http-kernel/Event/ViewEvent.php', - 'Symfony\\Component\\HttpKernel\\Exception\\AccessDeniedHttpException' => __DIR__ . '/..' . '/symfony/http-kernel/Exception/AccessDeniedHttpException.php', - 'Symfony\\Component\\HttpKernel\\Exception\\BadRequestHttpException' => __DIR__ . '/..' . '/symfony/http-kernel/Exception/BadRequestHttpException.php', - 'Symfony\\Component\\HttpKernel\\Exception\\ConflictHttpException' => __DIR__ . '/..' . '/symfony/http-kernel/Exception/ConflictHttpException.php', - 'Symfony\\Component\\HttpKernel\\Exception\\ControllerDoesNotReturnResponseException' => __DIR__ . '/..' . '/symfony/http-kernel/Exception/ControllerDoesNotReturnResponseException.php', - 'Symfony\\Component\\HttpKernel\\Exception\\GoneHttpException' => __DIR__ . '/..' . '/symfony/http-kernel/Exception/GoneHttpException.php', - 'Symfony\\Component\\HttpKernel\\Exception\\HttpException' => __DIR__ . '/..' . '/symfony/http-kernel/Exception/HttpException.php', - 'Symfony\\Component\\HttpKernel\\Exception\\HttpExceptionInterface' => __DIR__ . '/..' . '/symfony/http-kernel/Exception/HttpExceptionInterface.php', - 'Symfony\\Component\\HttpKernel\\Exception\\LengthRequiredHttpException' => __DIR__ . '/..' . '/symfony/http-kernel/Exception/LengthRequiredHttpException.php', - 'Symfony\\Component\\HttpKernel\\Exception\\MethodNotAllowedHttpException' => __DIR__ . '/..' . '/symfony/http-kernel/Exception/MethodNotAllowedHttpException.php', - 'Symfony\\Component\\HttpKernel\\Exception\\NotAcceptableHttpException' => __DIR__ . '/..' . '/symfony/http-kernel/Exception/NotAcceptableHttpException.php', - 'Symfony\\Component\\HttpKernel\\Exception\\NotFoundHttpException' => __DIR__ . '/..' . '/symfony/http-kernel/Exception/NotFoundHttpException.php', - 'Symfony\\Component\\HttpKernel\\Exception\\PreconditionFailedHttpException' => __DIR__ . '/..' . '/symfony/http-kernel/Exception/PreconditionFailedHttpException.php', - 'Symfony\\Component\\HttpKernel\\Exception\\PreconditionRequiredHttpException' => __DIR__ . '/..' . '/symfony/http-kernel/Exception/PreconditionRequiredHttpException.php', - 'Symfony\\Component\\HttpKernel\\Exception\\ServiceUnavailableHttpException' => __DIR__ . '/..' . '/symfony/http-kernel/Exception/ServiceUnavailableHttpException.php', - 'Symfony\\Component\\HttpKernel\\Exception\\TooManyRequestsHttpException' => __DIR__ . '/..' . '/symfony/http-kernel/Exception/TooManyRequestsHttpException.php', - 'Symfony\\Component\\HttpKernel\\Exception\\UnauthorizedHttpException' => __DIR__ . '/..' . '/symfony/http-kernel/Exception/UnauthorizedHttpException.php', - 'Symfony\\Component\\HttpKernel\\Exception\\UnprocessableEntityHttpException' => __DIR__ . '/..' . '/symfony/http-kernel/Exception/UnprocessableEntityHttpException.php', - 'Symfony\\Component\\HttpKernel\\Exception\\UnsupportedMediaTypeHttpException' => __DIR__ . '/..' . '/symfony/http-kernel/Exception/UnsupportedMediaTypeHttpException.php', - 'Symfony\\Component\\HttpKernel\\Fragment\\AbstractSurrogateFragmentRenderer' => __DIR__ . '/..' . '/symfony/http-kernel/Fragment/AbstractSurrogateFragmentRenderer.php', - 'Symfony\\Component\\HttpKernel\\Fragment\\EsiFragmentRenderer' => __DIR__ . '/..' . '/symfony/http-kernel/Fragment/EsiFragmentRenderer.php', - 'Symfony\\Component\\HttpKernel\\Fragment\\FragmentHandler' => __DIR__ . '/..' . '/symfony/http-kernel/Fragment/FragmentHandler.php', - 'Symfony\\Component\\HttpKernel\\Fragment\\FragmentRendererInterface' => __DIR__ . '/..' . '/symfony/http-kernel/Fragment/FragmentRendererInterface.php', - 'Symfony\\Component\\HttpKernel\\Fragment\\HIncludeFragmentRenderer' => __DIR__ . '/..' . '/symfony/http-kernel/Fragment/HIncludeFragmentRenderer.php', - 'Symfony\\Component\\HttpKernel\\Fragment\\InlineFragmentRenderer' => __DIR__ . '/..' . '/symfony/http-kernel/Fragment/InlineFragmentRenderer.php', - 'Symfony\\Component\\HttpKernel\\Fragment\\RoutableFragmentRenderer' => __DIR__ . '/..' . '/symfony/http-kernel/Fragment/RoutableFragmentRenderer.php', - 'Symfony\\Component\\HttpKernel\\Fragment\\SsiFragmentRenderer' => __DIR__ . '/..' . '/symfony/http-kernel/Fragment/SsiFragmentRenderer.php', - 'Symfony\\Component\\HttpKernel\\HttpCache\\AbstractSurrogate' => __DIR__ . '/..' . '/symfony/http-kernel/HttpCache/AbstractSurrogate.php', - 'Symfony\\Component\\HttpKernel\\HttpCache\\Esi' => __DIR__ . '/..' . '/symfony/http-kernel/HttpCache/Esi.php', - 'Symfony\\Component\\HttpKernel\\HttpCache\\HttpCache' => __DIR__ . '/..' . '/symfony/http-kernel/HttpCache/HttpCache.php', - 'Symfony\\Component\\HttpKernel\\HttpCache\\ResponseCacheStrategy' => __DIR__ . '/..' . '/symfony/http-kernel/HttpCache/ResponseCacheStrategy.php', - 'Symfony\\Component\\HttpKernel\\HttpCache\\ResponseCacheStrategyInterface' => __DIR__ . '/..' . '/symfony/http-kernel/HttpCache/ResponseCacheStrategyInterface.php', - 'Symfony\\Component\\HttpKernel\\HttpCache\\Ssi' => __DIR__ . '/..' . '/symfony/http-kernel/HttpCache/Ssi.php', - 'Symfony\\Component\\HttpKernel\\HttpCache\\Store' => __DIR__ . '/..' . '/symfony/http-kernel/HttpCache/Store.php', - 'Symfony\\Component\\HttpKernel\\HttpCache\\StoreInterface' => __DIR__ . '/..' . '/symfony/http-kernel/HttpCache/StoreInterface.php', - 'Symfony\\Component\\HttpKernel\\HttpCache\\SubRequestHandler' => __DIR__ . '/..' . '/symfony/http-kernel/HttpCache/SubRequestHandler.php', - 'Symfony\\Component\\HttpKernel\\HttpCache\\SurrogateInterface' => __DIR__ . '/..' . '/symfony/http-kernel/HttpCache/SurrogateInterface.php', - 'Symfony\\Component\\HttpKernel\\HttpClientKernel' => __DIR__ . '/..' . '/symfony/http-kernel/HttpClientKernel.php', - 'Symfony\\Component\\HttpKernel\\HttpKernel' => __DIR__ . '/..' . '/symfony/http-kernel/HttpKernel.php', - 'Symfony\\Component\\HttpKernel\\HttpKernelBrowser' => __DIR__ . '/..' . '/symfony/http-kernel/HttpKernelBrowser.php', - 'Symfony\\Component\\HttpKernel\\HttpKernelInterface' => __DIR__ . '/..' . '/symfony/http-kernel/HttpKernelInterface.php', - 'Symfony\\Component\\HttpKernel\\Kernel' => __DIR__ . '/..' . '/symfony/http-kernel/Kernel.php', - 'Symfony\\Component\\HttpKernel\\KernelEvents' => __DIR__ . '/..' . '/symfony/http-kernel/KernelEvents.php', - 'Symfony\\Component\\HttpKernel\\KernelInterface' => __DIR__ . '/..' . '/symfony/http-kernel/KernelInterface.php', - 'Symfony\\Component\\HttpKernel\\Log\\DebugLoggerInterface' => __DIR__ . '/..' . '/symfony/http-kernel/Log/DebugLoggerInterface.php', - 'Symfony\\Component\\HttpKernel\\Log\\Logger' => __DIR__ . '/..' . '/symfony/http-kernel/Log/Logger.php', - 'Symfony\\Component\\HttpKernel\\Profiler\\FileProfilerStorage' => __DIR__ . '/..' . '/symfony/http-kernel/Profiler/FileProfilerStorage.php', - 'Symfony\\Component\\HttpKernel\\Profiler\\Profile' => __DIR__ . '/..' . '/symfony/http-kernel/Profiler/Profile.php', - 'Symfony\\Component\\HttpKernel\\Profiler\\Profiler' => __DIR__ . '/..' . '/symfony/http-kernel/Profiler/Profiler.php', - 'Symfony\\Component\\HttpKernel\\Profiler\\ProfilerStorageInterface' => __DIR__ . '/..' . '/symfony/http-kernel/Profiler/ProfilerStorageInterface.php', - 'Symfony\\Component\\HttpKernel\\RebootableInterface' => __DIR__ . '/..' . '/symfony/http-kernel/RebootableInterface.php', - 'Symfony\\Component\\HttpKernel\\TerminableInterface' => __DIR__ . '/..' . '/symfony/http-kernel/TerminableInterface.php', - 'Symfony\\Component\\HttpKernel\\UriSigner' => __DIR__ . '/..' . '/symfony/http-kernel/UriSigner.php', - 'Symfony\\Component\\Mime\\Address' => __DIR__ . '/..' . '/symfony/mime/Address.php', - 'Symfony\\Component\\Mime\\BodyRendererInterface' => __DIR__ . '/..' . '/symfony/mime/BodyRendererInterface.php', - 'Symfony\\Component\\Mime\\CharacterStream' => __DIR__ . '/..' . '/symfony/mime/CharacterStream.php', - 'Symfony\\Component\\Mime\\Crypto\\SMime' => __DIR__ . '/..' . '/symfony/mime/Crypto/SMime.php', - 'Symfony\\Component\\Mime\\Crypto\\SMimeEncrypter' => __DIR__ . '/..' . '/symfony/mime/Crypto/SMimeEncrypter.php', - 'Symfony\\Component\\Mime\\Crypto\\SMimeSigner' => __DIR__ . '/..' . '/symfony/mime/Crypto/SMimeSigner.php', - 'Symfony\\Component\\Mime\\DependencyInjection\\AddMimeTypeGuesserPass' => __DIR__ . '/..' . '/symfony/mime/DependencyInjection/AddMimeTypeGuesserPass.php', - 'Symfony\\Component\\Mime\\Email' => __DIR__ . '/..' . '/symfony/mime/Email.php', - 'Symfony\\Component\\Mime\\Encoder\\AddressEncoderInterface' => __DIR__ . '/..' . '/symfony/mime/Encoder/AddressEncoderInterface.php', - 'Symfony\\Component\\Mime\\Encoder\\Base64ContentEncoder' => __DIR__ . '/..' . '/symfony/mime/Encoder/Base64ContentEncoder.php', - 'Symfony\\Component\\Mime\\Encoder\\Base64Encoder' => __DIR__ . '/..' . '/symfony/mime/Encoder/Base64Encoder.php', - 'Symfony\\Component\\Mime\\Encoder\\Base64MimeHeaderEncoder' => __DIR__ . '/..' . '/symfony/mime/Encoder/Base64MimeHeaderEncoder.php', - 'Symfony\\Component\\Mime\\Encoder\\ContentEncoderInterface' => __DIR__ . '/..' . '/symfony/mime/Encoder/ContentEncoderInterface.php', - 'Symfony\\Component\\Mime\\Encoder\\EightBitContentEncoder' => __DIR__ . '/..' . '/symfony/mime/Encoder/EightBitContentEncoder.php', - 'Symfony\\Component\\Mime\\Encoder\\EncoderInterface' => __DIR__ . '/..' . '/symfony/mime/Encoder/EncoderInterface.php', - 'Symfony\\Component\\Mime\\Encoder\\IdnAddressEncoder' => __DIR__ . '/..' . '/symfony/mime/Encoder/IdnAddressEncoder.php', - 'Symfony\\Component\\Mime\\Encoder\\MimeHeaderEncoderInterface' => __DIR__ . '/..' . '/symfony/mime/Encoder/MimeHeaderEncoderInterface.php', - 'Symfony\\Component\\Mime\\Encoder\\QpContentEncoder' => __DIR__ . '/..' . '/symfony/mime/Encoder/QpContentEncoder.php', - 'Symfony\\Component\\Mime\\Encoder\\QpEncoder' => __DIR__ . '/..' . '/symfony/mime/Encoder/QpEncoder.php', - 'Symfony\\Component\\Mime\\Encoder\\QpMimeHeaderEncoder' => __DIR__ . '/..' . '/symfony/mime/Encoder/QpMimeHeaderEncoder.php', - 'Symfony\\Component\\Mime\\Encoder\\Rfc2231Encoder' => __DIR__ . '/..' . '/symfony/mime/Encoder/Rfc2231Encoder.php', - 'Symfony\\Component\\Mime\\Exception\\AddressEncoderException' => __DIR__ . '/..' . '/symfony/mime/Exception/AddressEncoderException.php', - 'Symfony\\Component\\Mime\\Exception\\ExceptionInterface' => __DIR__ . '/..' . '/symfony/mime/Exception/ExceptionInterface.php', - 'Symfony\\Component\\Mime\\Exception\\InvalidArgumentException' => __DIR__ . '/..' . '/symfony/mime/Exception/InvalidArgumentException.php', - 'Symfony\\Component\\Mime\\Exception\\LogicException' => __DIR__ . '/..' . '/symfony/mime/Exception/LogicException.php', - 'Symfony\\Component\\Mime\\Exception\\RfcComplianceException' => __DIR__ . '/..' . '/symfony/mime/Exception/RfcComplianceException.php', - 'Symfony\\Component\\Mime\\Exception\\RuntimeException' => __DIR__ . '/..' . '/symfony/mime/Exception/RuntimeException.php', - 'Symfony\\Component\\Mime\\FileBinaryMimeTypeGuesser' => __DIR__ . '/..' . '/symfony/mime/FileBinaryMimeTypeGuesser.php', - 'Symfony\\Component\\Mime\\FileinfoMimeTypeGuesser' => __DIR__ . '/..' . '/symfony/mime/FileinfoMimeTypeGuesser.php', - 'Symfony\\Component\\Mime\\Header\\AbstractHeader' => __DIR__ . '/..' . '/symfony/mime/Header/AbstractHeader.php', - 'Symfony\\Component\\Mime\\Header\\DateHeader' => __DIR__ . '/..' . '/symfony/mime/Header/DateHeader.php', - 'Symfony\\Component\\Mime\\Header\\HeaderInterface' => __DIR__ . '/..' . '/symfony/mime/Header/HeaderInterface.php', - 'Symfony\\Component\\Mime\\Header\\Headers' => __DIR__ . '/..' . '/symfony/mime/Header/Headers.php', - 'Symfony\\Component\\Mime\\Header\\IdentificationHeader' => __DIR__ . '/..' . '/symfony/mime/Header/IdentificationHeader.php', - 'Symfony\\Component\\Mime\\Header\\MailboxHeader' => __DIR__ . '/..' . '/symfony/mime/Header/MailboxHeader.php', - 'Symfony\\Component\\Mime\\Header\\MailboxListHeader' => __DIR__ . '/..' . '/symfony/mime/Header/MailboxListHeader.php', - 'Symfony\\Component\\Mime\\Header\\ParameterizedHeader' => __DIR__ . '/..' . '/symfony/mime/Header/ParameterizedHeader.php', - 'Symfony\\Component\\Mime\\Header\\PathHeader' => __DIR__ . '/..' . '/symfony/mime/Header/PathHeader.php', - 'Symfony\\Component\\Mime\\Header\\UnstructuredHeader' => __DIR__ . '/..' . '/symfony/mime/Header/UnstructuredHeader.php', - 'Symfony\\Component\\Mime\\Message' => __DIR__ . '/..' . '/symfony/mime/Message.php', - 'Symfony\\Component\\Mime\\MessageConverter' => __DIR__ . '/..' . '/symfony/mime/MessageConverter.php', - 'Symfony\\Component\\Mime\\MimeTypeGuesserInterface' => __DIR__ . '/..' . '/symfony/mime/MimeTypeGuesserInterface.php', - 'Symfony\\Component\\Mime\\MimeTypes' => __DIR__ . '/..' . '/symfony/mime/MimeTypes.php', - 'Symfony\\Component\\Mime\\MimeTypesInterface' => __DIR__ . '/..' . '/symfony/mime/MimeTypesInterface.php', - 'Symfony\\Component\\Mime\\Part\\AbstractMultipartPart' => __DIR__ . '/..' . '/symfony/mime/Part/AbstractMultipartPart.php', - 'Symfony\\Component\\Mime\\Part\\AbstractPart' => __DIR__ . '/..' . '/symfony/mime/Part/AbstractPart.php', - 'Symfony\\Component\\Mime\\Part\\DataPart' => __DIR__ . '/..' . '/symfony/mime/Part/DataPart.php', - 'Symfony\\Component\\Mime\\Part\\MessagePart' => __DIR__ . '/..' . '/symfony/mime/Part/MessagePart.php', - 'Symfony\\Component\\Mime\\Part\\Multipart\\AlternativePart' => __DIR__ . '/..' . '/symfony/mime/Part/Multipart/AlternativePart.php', - 'Symfony\\Component\\Mime\\Part\\Multipart\\DigestPart' => __DIR__ . '/..' . '/symfony/mime/Part/Multipart/DigestPart.php', - 'Symfony\\Component\\Mime\\Part\\Multipart\\FormDataPart' => __DIR__ . '/..' . '/symfony/mime/Part/Multipart/FormDataPart.php', - 'Symfony\\Component\\Mime\\Part\\Multipart\\MixedPart' => __DIR__ . '/..' . '/symfony/mime/Part/Multipart/MixedPart.php', - 'Symfony\\Component\\Mime\\Part\\Multipart\\RelatedPart' => __DIR__ . '/..' . '/symfony/mime/Part/Multipart/RelatedPart.php', - 'Symfony\\Component\\Mime\\Part\\SMimePart' => __DIR__ . '/..' . '/symfony/mime/Part/SMimePart.php', - 'Symfony\\Component\\Mime\\Part\\TextPart' => __DIR__ . '/..' . '/symfony/mime/Part/TextPart.php', - 'Symfony\\Component\\Mime\\RawMessage' => __DIR__ . '/..' . '/symfony/mime/RawMessage.php', - 'Symfony\\Component\\Mime\\Test\\Constraint\\EmailAddressContains' => __DIR__ . '/..' . '/symfony/mime/Test/Constraint/EmailAddressContains.php', - 'Symfony\\Component\\Mime\\Test\\Constraint\\EmailAttachmentCount' => __DIR__ . '/..' . '/symfony/mime/Test/Constraint/EmailAttachmentCount.php', - 'Symfony\\Component\\Mime\\Test\\Constraint\\EmailHasHeader' => __DIR__ . '/..' . '/symfony/mime/Test/Constraint/EmailHasHeader.php', - 'Symfony\\Component\\Mime\\Test\\Constraint\\EmailHeaderSame' => __DIR__ . '/..' . '/symfony/mime/Test/Constraint/EmailHeaderSame.php', - 'Symfony\\Component\\Mime\\Test\\Constraint\\EmailHtmlBodyContains' => __DIR__ . '/..' . '/symfony/mime/Test/Constraint/EmailHtmlBodyContains.php', - 'Symfony\\Component\\Mime\\Test\\Constraint\\EmailTextBodyContains' => __DIR__ . '/..' . '/symfony/mime/Test/Constraint/EmailTextBodyContains.php', - 'Symfony\\Component\\Process\\Exception\\ExceptionInterface' => __DIR__ . '/..' . '/symfony/process/Exception/ExceptionInterface.php', - 'Symfony\\Component\\Process\\Exception\\InvalidArgumentException' => __DIR__ . '/..' . '/symfony/process/Exception/InvalidArgumentException.php', - 'Symfony\\Component\\Process\\Exception\\LogicException' => __DIR__ . '/..' . '/symfony/process/Exception/LogicException.php', - 'Symfony\\Component\\Process\\Exception\\ProcessFailedException' => __DIR__ . '/..' . '/symfony/process/Exception/ProcessFailedException.php', - 'Symfony\\Component\\Process\\Exception\\ProcessSignaledException' => __DIR__ . '/..' . '/symfony/process/Exception/ProcessSignaledException.php', - 'Symfony\\Component\\Process\\Exception\\ProcessTimedOutException' => __DIR__ . '/..' . '/symfony/process/Exception/ProcessTimedOutException.php', - 'Symfony\\Component\\Process\\Exception\\RuntimeException' => __DIR__ . '/..' . '/symfony/process/Exception/RuntimeException.php', - 'Symfony\\Component\\Process\\ExecutableFinder' => __DIR__ . '/..' . '/symfony/process/ExecutableFinder.php', - 'Symfony\\Component\\Process\\InputStream' => __DIR__ . '/..' . '/symfony/process/InputStream.php', - 'Symfony\\Component\\Process\\PhpExecutableFinder' => __DIR__ . '/..' . '/symfony/process/PhpExecutableFinder.php', - 'Symfony\\Component\\Process\\PhpProcess' => __DIR__ . '/..' . '/symfony/process/PhpProcess.php', - 'Symfony\\Component\\Process\\Pipes\\AbstractPipes' => __DIR__ . '/..' . '/symfony/process/Pipes/AbstractPipes.php', - 'Symfony\\Component\\Process\\Pipes\\PipesInterface' => __DIR__ . '/..' . '/symfony/process/Pipes/PipesInterface.php', - 'Symfony\\Component\\Process\\Pipes\\UnixPipes' => __DIR__ . '/..' . '/symfony/process/Pipes/UnixPipes.php', - 'Symfony\\Component\\Process\\Pipes\\WindowsPipes' => __DIR__ . '/..' . '/symfony/process/Pipes/WindowsPipes.php', - 'Symfony\\Component\\Process\\Process' => __DIR__ . '/..' . '/symfony/process/Process.php', - 'Symfony\\Component\\Process\\ProcessUtils' => __DIR__ . '/..' . '/symfony/process/ProcessUtils.php', - 'Symfony\\Component\\Routing\\Annotation\\Route' => __DIR__ . '/..' . '/symfony/routing/Annotation/Route.php', - 'Symfony\\Component\\Routing\\CompiledRoute' => __DIR__ . '/..' . '/symfony/routing/CompiledRoute.php', - 'Symfony\\Component\\Routing\\DependencyInjection\\RoutingResolverPass' => __DIR__ . '/..' . '/symfony/routing/DependencyInjection/RoutingResolverPass.php', - 'Symfony\\Component\\Routing\\Exception\\ExceptionInterface' => __DIR__ . '/..' . '/symfony/routing/Exception/ExceptionInterface.php', - 'Symfony\\Component\\Routing\\Exception\\InvalidParameterException' => __DIR__ . '/..' . '/symfony/routing/Exception/InvalidParameterException.php', - 'Symfony\\Component\\Routing\\Exception\\MethodNotAllowedException' => __DIR__ . '/..' . '/symfony/routing/Exception/MethodNotAllowedException.php', - 'Symfony\\Component\\Routing\\Exception\\MissingMandatoryParametersException' => __DIR__ . '/..' . '/symfony/routing/Exception/MissingMandatoryParametersException.php', - 'Symfony\\Component\\Routing\\Exception\\NoConfigurationException' => __DIR__ . '/..' . '/symfony/routing/Exception/NoConfigurationException.php', - 'Symfony\\Component\\Routing\\Exception\\ResourceNotFoundException' => __DIR__ . '/..' . '/symfony/routing/Exception/ResourceNotFoundException.php', - 'Symfony\\Component\\Routing\\Exception\\RouteNotFoundException' => __DIR__ . '/..' . '/symfony/routing/Exception/RouteNotFoundException.php', - 'Symfony\\Component\\Routing\\Generator\\CompiledUrlGenerator' => __DIR__ . '/..' . '/symfony/routing/Generator/CompiledUrlGenerator.php', - 'Symfony\\Component\\Routing\\Generator\\ConfigurableRequirementsInterface' => __DIR__ . '/..' . '/symfony/routing/Generator/ConfigurableRequirementsInterface.php', - 'Symfony\\Component\\Routing\\Generator\\Dumper\\CompiledUrlGeneratorDumper' => __DIR__ . '/..' . '/symfony/routing/Generator/Dumper/CompiledUrlGeneratorDumper.php', - 'Symfony\\Component\\Routing\\Generator\\Dumper\\GeneratorDumper' => __DIR__ . '/..' . '/symfony/routing/Generator/Dumper/GeneratorDumper.php', - 'Symfony\\Component\\Routing\\Generator\\Dumper\\GeneratorDumperInterface' => __DIR__ . '/..' . '/symfony/routing/Generator/Dumper/GeneratorDumperInterface.php', - 'Symfony\\Component\\Routing\\Generator\\Dumper\\PhpGeneratorDumper' => __DIR__ . '/..' . '/symfony/routing/Generator/Dumper/PhpGeneratorDumper.php', - 'Symfony\\Component\\Routing\\Generator\\UrlGenerator' => __DIR__ . '/..' . '/symfony/routing/Generator/UrlGenerator.php', - 'Symfony\\Component\\Routing\\Generator\\UrlGeneratorInterface' => __DIR__ . '/..' . '/symfony/routing/Generator/UrlGeneratorInterface.php', - 'Symfony\\Component\\Routing\\Loader\\AnnotationClassLoader' => __DIR__ . '/..' . '/symfony/routing/Loader/AnnotationClassLoader.php', - 'Symfony\\Component\\Routing\\Loader\\AnnotationDirectoryLoader' => __DIR__ . '/..' . '/symfony/routing/Loader/AnnotationDirectoryLoader.php', - 'Symfony\\Component\\Routing\\Loader\\AnnotationFileLoader' => __DIR__ . '/..' . '/symfony/routing/Loader/AnnotationFileLoader.php', - 'Symfony\\Component\\Routing\\Loader\\ClosureLoader' => __DIR__ . '/..' . '/symfony/routing/Loader/ClosureLoader.php', - 'Symfony\\Component\\Routing\\Loader\\Configurator\\CollectionConfigurator' => __DIR__ . '/..' . '/symfony/routing/Loader/Configurator/CollectionConfigurator.php', - 'Symfony\\Component\\Routing\\Loader\\Configurator\\ImportConfigurator' => __DIR__ . '/..' . '/symfony/routing/Loader/Configurator/ImportConfigurator.php', - 'Symfony\\Component\\Routing\\Loader\\Configurator\\RouteConfigurator' => __DIR__ . '/..' . '/symfony/routing/Loader/Configurator/RouteConfigurator.php', - 'Symfony\\Component\\Routing\\Loader\\Configurator\\RoutingConfigurator' => __DIR__ . '/..' . '/symfony/routing/Loader/Configurator/RoutingConfigurator.php', - 'Symfony\\Component\\Routing\\Loader\\Configurator\\Traits\\AddTrait' => __DIR__ . '/..' . '/symfony/routing/Loader/Configurator/Traits/AddTrait.php', - 'Symfony\\Component\\Routing\\Loader\\Configurator\\Traits\\RouteTrait' => __DIR__ . '/..' . '/symfony/routing/Loader/Configurator/Traits/RouteTrait.php', - 'Symfony\\Component\\Routing\\Loader\\ContainerLoader' => __DIR__ . '/..' . '/symfony/routing/Loader/ContainerLoader.php', - 'Symfony\\Component\\Routing\\Loader\\DependencyInjection\\ServiceRouterLoader' => __DIR__ . '/..' . '/symfony/routing/Loader/DependencyInjection/ServiceRouterLoader.php', - 'Symfony\\Component\\Routing\\Loader\\DirectoryLoader' => __DIR__ . '/..' . '/symfony/routing/Loader/DirectoryLoader.php', - 'Symfony\\Component\\Routing\\Loader\\GlobFileLoader' => __DIR__ . '/..' . '/symfony/routing/Loader/GlobFileLoader.php', - 'Symfony\\Component\\Routing\\Loader\\ObjectLoader' => __DIR__ . '/..' . '/symfony/routing/Loader/ObjectLoader.php', - 'Symfony\\Component\\Routing\\Loader\\ObjectRouteLoader' => __DIR__ . '/..' . '/symfony/routing/Loader/ObjectRouteLoader.php', - 'Symfony\\Component\\Routing\\Loader\\PhpFileLoader' => __DIR__ . '/..' . '/symfony/routing/Loader/PhpFileLoader.php', - 'Symfony\\Component\\Routing\\Loader\\ProtectedPhpFileLoader' => __DIR__ . '/..' . '/symfony/routing/Loader/PhpFileLoader.php', - 'Symfony\\Component\\Routing\\Loader\\XmlFileLoader' => __DIR__ . '/..' . '/symfony/routing/Loader/XmlFileLoader.php', - 'Symfony\\Component\\Routing\\Loader\\YamlFileLoader' => __DIR__ . '/..' . '/symfony/routing/Loader/YamlFileLoader.php', - 'Symfony\\Component\\Routing\\Matcher\\CompiledUrlMatcher' => __DIR__ . '/..' . '/symfony/routing/Matcher/CompiledUrlMatcher.php', - 'Symfony\\Component\\Routing\\Matcher\\Dumper\\CompiledUrlMatcherDumper' => __DIR__ . '/..' . '/symfony/routing/Matcher/Dumper/CompiledUrlMatcherDumper.php', - 'Symfony\\Component\\Routing\\Matcher\\Dumper\\CompiledUrlMatcherTrait' => __DIR__ . '/..' . '/symfony/routing/Matcher/Dumper/CompiledUrlMatcherTrait.php', - 'Symfony\\Component\\Routing\\Matcher\\Dumper\\MatcherDumper' => __DIR__ . '/..' . '/symfony/routing/Matcher/Dumper/MatcherDumper.php', - 'Symfony\\Component\\Routing\\Matcher\\Dumper\\MatcherDumperInterface' => __DIR__ . '/..' . '/symfony/routing/Matcher/Dumper/MatcherDumperInterface.php', - 'Symfony\\Component\\Routing\\Matcher\\Dumper\\PhpMatcherDumper' => __DIR__ . '/..' . '/symfony/routing/Matcher/Dumper/PhpMatcherDumper.php', - 'Symfony\\Component\\Routing\\Matcher\\Dumper\\StaticPrefixCollection' => __DIR__ . '/..' . '/symfony/routing/Matcher/Dumper/StaticPrefixCollection.php', - 'Symfony\\Component\\Routing\\Matcher\\RedirectableUrlMatcher' => __DIR__ . '/..' . '/symfony/routing/Matcher/RedirectableUrlMatcher.php', - 'Symfony\\Component\\Routing\\Matcher\\RedirectableUrlMatcherInterface' => __DIR__ . '/..' . '/symfony/routing/Matcher/RedirectableUrlMatcherInterface.php', - 'Symfony\\Component\\Routing\\Matcher\\RequestMatcherInterface' => __DIR__ . '/..' . '/symfony/routing/Matcher/RequestMatcherInterface.php', - 'Symfony\\Component\\Routing\\Matcher\\TraceableUrlMatcher' => __DIR__ . '/..' . '/symfony/routing/Matcher/TraceableUrlMatcher.php', - 'Symfony\\Component\\Routing\\Matcher\\UrlMatcher' => __DIR__ . '/..' . '/symfony/routing/Matcher/UrlMatcher.php', - 'Symfony\\Component\\Routing\\Matcher\\UrlMatcherInterface' => __DIR__ . '/..' . '/symfony/routing/Matcher/UrlMatcherInterface.php', - 'Symfony\\Component\\Routing\\RequestContext' => __DIR__ . '/..' . '/symfony/routing/RequestContext.php', - 'Symfony\\Component\\Routing\\RequestContextAwareInterface' => __DIR__ . '/..' . '/symfony/routing/RequestContextAwareInterface.php', - 'Symfony\\Component\\Routing\\Route' => __DIR__ . '/..' . '/symfony/routing/Route.php', - 'Symfony\\Component\\Routing\\RouteCollection' => __DIR__ . '/..' . '/symfony/routing/RouteCollection.php', - 'Symfony\\Component\\Routing\\RouteCollectionBuilder' => __DIR__ . '/..' . '/symfony/routing/RouteCollectionBuilder.php', - 'Symfony\\Component\\Routing\\RouteCompiler' => __DIR__ . '/..' . '/symfony/routing/RouteCompiler.php', - 'Symfony\\Component\\Routing\\RouteCompilerInterface' => __DIR__ . '/..' . '/symfony/routing/RouteCompilerInterface.php', - 'Symfony\\Component\\Routing\\Router' => __DIR__ . '/..' . '/symfony/routing/Router.php', - 'Symfony\\Component\\Routing\\RouterInterface' => __DIR__ . '/..' . '/symfony/routing/RouterInterface.php', - 'Symfony\\Component\\Translation\\Catalogue\\AbstractOperation' => __DIR__ . '/..' . '/symfony/translation/Catalogue/AbstractOperation.php', - 'Symfony\\Component\\Translation\\Catalogue\\MergeOperation' => __DIR__ . '/..' . '/symfony/translation/Catalogue/MergeOperation.php', - 'Symfony\\Component\\Translation\\Catalogue\\OperationInterface' => __DIR__ . '/..' . '/symfony/translation/Catalogue/OperationInterface.php', - 'Symfony\\Component\\Translation\\Catalogue\\TargetOperation' => __DIR__ . '/..' . '/symfony/translation/Catalogue/TargetOperation.php', - 'Symfony\\Component\\Translation\\Command\\XliffLintCommand' => __DIR__ . '/..' . '/symfony/translation/Command/XliffLintCommand.php', - 'Symfony\\Component\\Translation\\DataCollectorTranslator' => __DIR__ . '/..' . '/symfony/translation/DataCollectorTranslator.php', - 'Symfony\\Component\\Translation\\DataCollector\\TranslationDataCollector' => __DIR__ . '/..' . '/symfony/translation/DataCollector/TranslationDataCollector.php', - 'Symfony\\Component\\Translation\\DependencyInjection\\TranslationDumperPass' => __DIR__ . '/..' . '/symfony/translation/DependencyInjection/TranslationDumperPass.php', - 'Symfony\\Component\\Translation\\DependencyInjection\\TranslationExtractorPass' => __DIR__ . '/..' . '/symfony/translation/DependencyInjection/TranslationExtractorPass.php', - 'Symfony\\Component\\Translation\\DependencyInjection\\TranslatorPass' => __DIR__ . '/..' . '/symfony/translation/DependencyInjection/TranslatorPass.php', - 'Symfony\\Component\\Translation\\DependencyInjection\\TranslatorPathsPass' => __DIR__ . '/..' . '/symfony/translation/DependencyInjection/TranslatorPathsPass.php', - 'Symfony\\Component\\Translation\\Dumper\\CsvFileDumper' => __DIR__ . '/..' . '/symfony/translation/Dumper/CsvFileDumper.php', - 'Symfony\\Component\\Translation\\Dumper\\DumperInterface' => __DIR__ . '/..' . '/symfony/translation/Dumper/DumperInterface.php', - 'Symfony\\Component\\Translation\\Dumper\\FileDumper' => __DIR__ . '/..' . '/symfony/translation/Dumper/FileDumper.php', - 'Symfony\\Component\\Translation\\Dumper\\IcuResFileDumper' => __DIR__ . '/..' . '/symfony/translation/Dumper/IcuResFileDumper.php', - 'Symfony\\Component\\Translation\\Dumper\\IniFileDumper' => __DIR__ . '/..' . '/symfony/translation/Dumper/IniFileDumper.php', - 'Symfony\\Component\\Translation\\Dumper\\JsonFileDumper' => __DIR__ . '/..' . '/symfony/translation/Dumper/JsonFileDumper.php', - 'Symfony\\Component\\Translation\\Dumper\\MoFileDumper' => __DIR__ . '/..' . '/symfony/translation/Dumper/MoFileDumper.php', - 'Symfony\\Component\\Translation\\Dumper\\PhpFileDumper' => __DIR__ . '/..' . '/symfony/translation/Dumper/PhpFileDumper.php', - 'Symfony\\Component\\Translation\\Dumper\\PoFileDumper' => __DIR__ . '/..' . '/symfony/translation/Dumper/PoFileDumper.php', - 'Symfony\\Component\\Translation\\Dumper\\QtFileDumper' => __DIR__ . '/..' . '/symfony/translation/Dumper/QtFileDumper.php', - 'Symfony\\Component\\Translation\\Dumper\\XliffFileDumper' => __DIR__ . '/..' . '/symfony/translation/Dumper/XliffFileDumper.php', - 'Symfony\\Component\\Translation\\Dumper\\YamlFileDumper' => __DIR__ . '/..' . '/symfony/translation/Dumper/YamlFileDumper.php', - 'Symfony\\Component\\Translation\\Exception\\ExceptionInterface' => __DIR__ . '/..' . '/symfony/translation/Exception/ExceptionInterface.php', - 'Symfony\\Component\\Translation\\Exception\\InvalidArgumentException' => __DIR__ . '/..' . '/symfony/translation/Exception/InvalidArgumentException.php', - 'Symfony\\Component\\Translation\\Exception\\InvalidResourceException' => __DIR__ . '/..' . '/symfony/translation/Exception/InvalidResourceException.php', - 'Symfony\\Component\\Translation\\Exception\\LogicException' => __DIR__ . '/..' . '/symfony/translation/Exception/LogicException.php', - 'Symfony\\Component\\Translation\\Exception\\NotFoundResourceException' => __DIR__ . '/..' . '/symfony/translation/Exception/NotFoundResourceException.php', - 'Symfony\\Component\\Translation\\Exception\\RuntimeException' => __DIR__ . '/..' . '/symfony/translation/Exception/RuntimeException.php', - 'Symfony\\Component\\Translation\\Extractor\\AbstractFileExtractor' => __DIR__ . '/..' . '/symfony/translation/Extractor/AbstractFileExtractor.php', - 'Symfony\\Component\\Translation\\Extractor\\ChainExtractor' => __DIR__ . '/..' . '/symfony/translation/Extractor/ChainExtractor.php', - 'Symfony\\Component\\Translation\\Extractor\\ExtractorInterface' => __DIR__ . '/..' . '/symfony/translation/Extractor/ExtractorInterface.php', - 'Symfony\\Component\\Translation\\Extractor\\PhpExtractor' => __DIR__ . '/..' . '/symfony/translation/Extractor/PhpExtractor.php', - 'Symfony\\Component\\Translation\\Extractor\\PhpStringTokenParser' => __DIR__ . '/..' . '/symfony/translation/Extractor/PhpStringTokenParser.php', - 'Symfony\\Component\\Translation\\Formatter\\ChoiceMessageFormatterInterface' => __DIR__ . '/..' . '/symfony/translation/Formatter/ChoiceMessageFormatterInterface.php', - 'Symfony\\Component\\Translation\\Formatter\\IntlFormatter' => __DIR__ . '/..' . '/symfony/translation/Formatter/IntlFormatter.php', - 'Symfony\\Component\\Translation\\Formatter\\IntlFormatterInterface' => __DIR__ . '/..' . '/symfony/translation/Formatter/IntlFormatterInterface.php', - 'Symfony\\Component\\Translation\\Formatter\\MessageFormatter' => __DIR__ . '/..' . '/symfony/translation/Formatter/MessageFormatter.php', - 'Symfony\\Component\\Translation\\Formatter\\MessageFormatterInterface' => __DIR__ . '/..' . '/symfony/translation/Formatter/MessageFormatterInterface.php', - 'Symfony\\Component\\Translation\\IdentityTranslator' => __DIR__ . '/..' . '/symfony/translation/IdentityTranslator.php', - 'Symfony\\Component\\Translation\\Interval' => __DIR__ . '/..' . '/symfony/translation/Interval.php', - 'Symfony\\Component\\Translation\\Loader\\ArrayLoader' => __DIR__ . '/..' . '/symfony/translation/Loader/ArrayLoader.php', - 'Symfony\\Component\\Translation\\Loader\\CsvFileLoader' => __DIR__ . '/..' . '/symfony/translation/Loader/CsvFileLoader.php', - 'Symfony\\Component\\Translation\\Loader\\FileLoader' => __DIR__ . '/..' . '/symfony/translation/Loader/FileLoader.php', - 'Symfony\\Component\\Translation\\Loader\\IcuDatFileLoader' => __DIR__ . '/..' . '/symfony/translation/Loader/IcuDatFileLoader.php', - 'Symfony\\Component\\Translation\\Loader\\IcuResFileLoader' => __DIR__ . '/..' . '/symfony/translation/Loader/IcuResFileLoader.php', - 'Symfony\\Component\\Translation\\Loader\\IniFileLoader' => __DIR__ . '/..' . '/symfony/translation/Loader/IniFileLoader.php', - 'Symfony\\Component\\Translation\\Loader\\JsonFileLoader' => __DIR__ . '/..' . '/symfony/translation/Loader/JsonFileLoader.php', - 'Symfony\\Component\\Translation\\Loader\\LoaderInterface' => __DIR__ . '/..' . '/symfony/translation/Loader/LoaderInterface.php', - 'Symfony\\Component\\Translation\\Loader\\MoFileLoader' => __DIR__ . '/..' . '/symfony/translation/Loader/MoFileLoader.php', - 'Symfony\\Component\\Translation\\Loader\\PhpFileLoader' => __DIR__ . '/..' . '/symfony/translation/Loader/PhpFileLoader.php', - 'Symfony\\Component\\Translation\\Loader\\PoFileLoader' => __DIR__ . '/..' . '/symfony/translation/Loader/PoFileLoader.php', - 'Symfony\\Component\\Translation\\Loader\\QtFileLoader' => __DIR__ . '/..' . '/symfony/translation/Loader/QtFileLoader.php', - 'Symfony\\Component\\Translation\\Loader\\XliffFileLoader' => __DIR__ . '/..' . '/symfony/translation/Loader/XliffFileLoader.php', - 'Symfony\\Component\\Translation\\Loader\\YamlFileLoader' => __DIR__ . '/..' . '/symfony/translation/Loader/YamlFileLoader.php', - 'Symfony\\Component\\Translation\\LoggingTranslator' => __DIR__ . '/..' . '/symfony/translation/LoggingTranslator.php', - 'Symfony\\Component\\Translation\\MessageCatalogue' => __DIR__ . '/..' . '/symfony/translation/MessageCatalogue.php', - 'Symfony\\Component\\Translation\\MessageCatalogueInterface' => __DIR__ . '/..' . '/symfony/translation/MessageCatalogueInterface.php', - 'Symfony\\Component\\Translation\\MessageSelector' => __DIR__ . '/..' . '/symfony/translation/MessageSelector.php', - 'Symfony\\Component\\Translation\\MetadataAwareInterface' => __DIR__ . '/..' . '/symfony/translation/MetadataAwareInterface.php', - 'Symfony\\Component\\Translation\\PluralizationRules' => __DIR__ . '/..' . '/symfony/translation/PluralizationRules.php', - 'Symfony\\Component\\Translation\\Reader\\TranslationReader' => __DIR__ . '/..' . '/symfony/translation/Reader/TranslationReader.php', - 'Symfony\\Component\\Translation\\Reader\\TranslationReaderInterface' => __DIR__ . '/..' . '/symfony/translation/Reader/TranslationReaderInterface.php', - 'Symfony\\Component\\Translation\\Translator' => __DIR__ . '/..' . '/symfony/translation/Translator.php', - 'Symfony\\Component\\Translation\\TranslatorBagInterface' => __DIR__ . '/..' . '/symfony/translation/TranslatorBagInterface.php', - 'Symfony\\Component\\Translation\\TranslatorInterface' => __DIR__ . '/..' . '/symfony/translation/TranslatorInterface.php', - 'Symfony\\Component\\Translation\\Util\\ArrayConverter' => __DIR__ . '/..' . '/symfony/translation/Util/ArrayConverter.php', - 'Symfony\\Component\\Translation\\Util\\XliffUtils' => __DIR__ . '/..' . '/symfony/translation/Util/XliffUtils.php', - 'Symfony\\Component\\Translation\\Writer\\TranslationWriter' => __DIR__ . '/..' . '/symfony/translation/Writer/TranslationWriter.php', - 'Symfony\\Component\\Translation\\Writer\\TranslationWriterInterface' => __DIR__ . '/..' . '/symfony/translation/Writer/TranslationWriterInterface.php', - 'Symfony\\Component\\VarDumper\\Caster\\AmqpCaster' => __DIR__ . '/..' . '/symfony/var-dumper/Caster/AmqpCaster.php', - 'Symfony\\Component\\VarDumper\\Caster\\ArgsStub' => __DIR__ . '/..' . '/symfony/var-dumper/Caster/ArgsStub.php', - 'Symfony\\Component\\VarDumper\\Caster\\Caster' => __DIR__ . '/..' . '/symfony/var-dumper/Caster/Caster.php', - 'Symfony\\Component\\VarDumper\\Caster\\ClassStub' => __DIR__ . '/..' . '/symfony/var-dumper/Caster/ClassStub.php', - 'Symfony\\Component\\VarDumper\\Caster\\ConstStub' => __DIR__ . '/..' . '/symfony/var-dumper/Caster/ConstStub.php', - 'Symfony\\Component\\VarDumper\\Caster\\CutArrayStub' => __DIR__ . '/..' . '/symfony/var-dumper/Caster/CutArrayStub.php', - 'Symfony\\Component\\VarDumper\\Caster\\CutStub' => __DIR__ . '/..' . '/symfony/var-dumper/Caster/CutStub.php', - 'Symfony\\Component\\VarDumper\\Caster\\DOMCaster' => __DIR__ . '/..' . '/symfony/var-dumper/Caster/DOMCaster.php', - 'Symfony\\Component\\VarDumper\\Caster\\DateCaster' => __DIR__ . '/..' . '/symfony/var-dumper/Caster/DateCaster.php', - 'Symfony\\Component\\VarDumper\\Caster\\DoctrineCaster' => __DIR__ . '/..' . '/symfony/var-dumper/Caster/DoctrineCaster.php', - 'Symfony\\Component\\VarDumper\\Caster\\DsCaster' => __DIR__ . '/..' . '/symfony/var-dumper/Caster/DsCaster.php', - 'Symfony\\Component\\VarDumper\\Caster\\DsPairStub' => __DIR__ . '/..' . '/symfony/var-dumper/Caster/DsPairStub.php', - 'Symfony\\Component\\VarDumper\\Caster\\EnumStub' => __DIR__ . '/..' . '/symfony/var-dumper/Caster/EnumStub.php', - 'Symfony\\Component\\VarDumper\\Caster\\ExceptionCaster' => __DIR__ . '/..' . '/symfony/var-dumper/Caster/ExceptionCaster.php', - 'Symfony\\Component\\VarDumper\\Caster\\FrameStub' => __DIR__ . '/..' . '/symfony/var-dumper/Caster/FrameStub.php', - 'Symfony\\Component\\VarDumper\\Caster\\GmpCaster' => __DIR__ . '/..' . '/symfony/var-dumper/Caster/GmpCaster.php', - 'Symfony\\Component\\VarDumper\\Caster\\ImagineCaster' => __DIR__ . '/..' . '/symfony/var-dumper/Caster/ImagineCaster.php', - 'Symfony\\Component\\VarDumper\\Caster\\ImgStub' => __DIR__ . '/..' . '/symfony/var-dumper/Caster/ImgStub.php', - 'Symfony\\Component\\VarDumper\\Caster\\IntlCaster' => __DIR__ . '/..' . '/symfony/var-dumper/Caster/IntlCaster.php', - 'Symfony\\Component\\VarDumper\\Caster\\LinkStub' => __DIR__ . '/..' . '/symfony/var-dumper/Caster/LinkStub.php', - 'Symfony\\Component\\VarDumper\\Caster\\MemcachedCaster' => __DIR__ . '/..' . '/symfony/var-dumper/Caster/MemcachedCaster.php', - 'Symfony\\Component\\VarDumper\\Caster\\PdoCaster' => __DIR__ . '/..' . '/symfony/var-dumper/Caster/PdoCaster.php', - 'Symfony\\Component\\VarDumper\\Caster\\PgSqlCaster' => __DIR__ . '/..' . '/symfony/var-dumper/Caster/PgSqlCaster.php', - 'Symfony\\Component\\VarDumper\\Caster\\ProxyManagerCaster' => __DIR__ . '/..' . '/symfony/var-dumper/Caster/ProxyManagerCaster.php', - 'Symfony\\Component\\VarDumper\\Caster\\RedisCaster' => __DIR__ . '/..' . '/symfony/var-dumper/Caster/RedisCaster.php', - 'Symfony\\Component\\VarDumper\\Caster\\ReflectionCaster' => __DIR__ . '/..' . '/symfony/var-dumper/Caster/ReflectionCaster.php', - 'Symfony\\Component\\VarDumper\\Caster\\ResourceCaster' => __DIR__ . '/..' . '/symfony/var-dumper/Caster/ResourceCaster.php', - 'Symfony\\Component\\VarDumper\\Caster\\SplCaster' => __DIR__ . '/..' . '/symfony/var-dumper/Caster/SplCaster.php', - 'Symfony\\Component\\VarDumper\\Caster\\StubCaster' => __DIR__ . '/..' . '/symfony/var-dumper/Caster/StubCaster.php', - 'Symfony\\Component\\VarDumper\\Caster\\SymfonyCaster' => __DIR__ . '/..' . '/symfony/var-dumper/Caster/SymfonyCaster.php', - 'Symfony\\Component\\VarDumper\\Caster\\TraceStub' => __DIR__ . '/..' . '/symfony/var-dumper/Caster/TraceStub.php', - 'Symfony\\Component\\VarDumper\\Caster\\UuidCaster' => __DIR__ . '/..' . '/symfony/var-dumper/Caster/UuidCaster.php', - 'Symfony\\Component\\VarDumper\\Caster\\XmlReaderCaster' => __DIR__ . '/..' . '/symfony/var-dumper/Caster/XmlReaderCaster.php', - 'Symfony\\Component\\VarDumper\\Caster\\XmlResourceCaster' => __DIR__ . '/..' . '/symfony/var-dumper/Caster/XmlResourceCaster.php', - 'Symfony\\Component\\VarDumper\\Cloner\\AbstractCloner' => __DIR__ . '/..' . '/symfony/var-dumper/Cloner/AbstractCloner.php', - 'Symfony\\Component\\VarDumper\\Cloner\\ClonerInterface' => __DIR__ . '/..' . '/symfony/var-dumper/Cloner/ClonerInterface.php', - 'Symfony\\Component\\VarDumper\\Cloner\\Cursor' => __DIR__ . '/..' . '/symfony/var-dumper/Cloner/Cursor.php', - 'Symfony\\Component\\VarDumper\\Cloner\\Data' => __DIR__ . '/..' . '/symfony/var-dumper/Cloner/Data.php', - 'Symfony\\Component\\VarDumper\\Cloner\\DumperInterface' => __DIR__ . '/..' . '/symfony/var-dumper/Cloner/DumperInterface.php', - 'Symfony\\Component\\VarDumper\\Cloner\\Stub' => __DIR__ . '/..' . '/symfony/var-dumper/Cloner/Stub.php', - 'Symfony\\Component\\VarDumper\\Cloner\\VarCloner' => __DIR__ . '/..' . '/symfony/var-dumper/Cloner/VarCloner.php', - 'Symfony\\Component\\VarDumper\\Command\\Descriptor\\CliDescriptor' => __DIR__ . '/..' . '/symfony/var-dumper/Command/Descriptor/CliDescriptor.php', - 'Symfony\\Component\\VarDumper\\Command\\Descriptor\\DumpDescriptorInterface' => __DIR__ . '/..' . '/symfony/var-dumper/Command/Descriptor/DumpDescriptorInterface.php', - 'Symfony\\Component\\VarDumper\\Command\\Descriptor\\HtmlDescriptor' => __DIR__ . '/..' . '/symfony/var-dumper/Command/Descriptor/HtmlDescriptor.php', - 'Symfony\\Component\\VarDumper\\Command\\ServerDumpCommand' => __DIR__ . '/..' . '/symfony/var-dumper/Command/ServerDumpCommand.php', - 'Symfony\\Component\\VarDumper\\Dumper\\AbstractDumper' => __DIR__ . '/..' . '/symfony/var-dumper/Dumper/AbstractDumper.php', - 'Symfony\\Component\\VarDumper\\Dumper\\CliDumper' => __DIR__ . '/..' . '/symfony/var-dumper/Dumper/CliDumper.php', - 'Symfony\\Component\\VarDumper\\Dumper\\ContextProvider\\CliContextProvider' => __DIR__ . '/..' . '/symfony/var-dumper/Dumper/ContextProvider/CliContextProvider.php', - 'Symfony\\Component\\VarDumper\\Dumper\\ContextProvider\\ContextProviderInterface' => __DIR__ . '/..' . '/symfony/var-dumper/Dumper/ContextProvider/ContextProviderInterface.php', - 'Symfony\\Component\\VarDumper\\Dumper\\ContextProvider\\RequestContextProvider' => __DIR__ . '/..' . '/symfony/var-dumper/Dumper/ContextProvider/RequestContextProvider.php', - 'Symfony\\Component\\VarDumper\\Dumper\\ContextProvider\\SourceContextProvider' => __DIR__ . '/..' . '/symfony/var-dumper/Dumper/ContextProvider/SourceContextProvider.php', - 'Symfony\\Component\\VarDumper\\Dumper\\ContextualizedDumper' => __DIR__ . '/..' . '/symfony/var-dumper/Dumper/ContextualizedDumper.php', - 'Symfony\\Component\\VarDumper\\Dumper\\DataDumperInterface' => __DIR__ . '/..' . '/symfony/var-dumper/Dumper/DataDumperInterface.php', - 'Symfony\\Component\\VarDumper\\Dumper\\HtmlDumper' => __DIR__ . '/..' . '/symfony/var-dumper/Dumper/HtmlDumper.php', - 'Symfony\\Component\\VarDumper\\Dumper\\ServerDumper' => __DIR__ . '/..' . '/symfony/var-dumper/Dumper/ServerDumper.php', - 'Symfony\\Component\\VarDumper\\Exception\\ThrowingCasterException' => __DIR__ . '/..' . '/symfony/var-dumper/Exception/ThrowingCasterException.php', - 'Symfony\\Component\\VarDumper\\Server\\Connection' => __DIR__ . '/..' . '/symfony/var-dumper/Server/Connection.php', - 'Symfony\\Component\\VarDumper\\Server\\DumpServer' => __DIR__ . '/..' . '/symfony/var-dumper/Server/DumpServer.php', - 'Symfony\\Component\\VarDumper\\Test\\VarDumperTestTrait' => __DIR__ . '/..' . '/symfony/var-dumper/Test/VarDumperTestTrait.php', - 'Symfony\\Component\\VarDumper\\VarDumper' => __DIR__ . '/..' . '/symfony/var-dumper/VarDumper.php', - 'Symfony\\Contracts\\EventDispatcher\\Event' => __DIR__ . '/..' . '/symfony/event-dispatcher-contracts/Event.php', - 'Symfony\\Contracts\\EventDispatcher\\EventDispatcherInterface' => __DIR__ . '/..' . '/symfony/event-dispatcher-contracts/EventDispatcherInterface.php', - 'Symfony\\Contracts\\Service\\ResetInterface' => __DIR__ . '/..' . '/symfony/service-contracts/ResetInterface.php', - 'Symfony\\Contracts\\Service\\ServiceLocatorTrait' => __DIR__ . '/..' . '/symfony/service-contracts/ServiceLocatorTrait.php', - 'Symfony\\Contracts\\Service\\ServiceProviderInterface' => __DIR__ . '/..' . '/symfony/service-contracts/ServiceProviderInterface.php', - 'Symfony\\Contracts\\Service\\ServiceSubscriberInterface' => __DIR__ . '/..' . '/symfony/service-contracts/ServiceSubscriberInterface.php', - 'Symfony\\Contracts\\Service\\ServiceSubscriberTrait' => __DIR__ . '/..' . '/symfony/service-contracts/ServiceSubscriberTrait.php', - 'Symfony\\Contracts\\Service\\Test\\ServiceLocatorTest' => __DIR__ . '/..' . '/symfony/service-contracts/Test/ServiceLocatorTest.php', - 'Symfony\\Contracts\\Translation\\LocaleAwareInterface' => __DIR__ . '/..' . '/symfony/translation-contracts/LocaleAwareInterface.php', - 'Symfony\\Contracts\\Translation\\Test\\TranslatorTest' => __DIR__ . '/..' . '/symfony/translation-contracts/Test/TranslatorTest.php', - 'Symfony\\Contracts\\Translation\\TranslatorInterface' => __DIR__ . '/..' . '/symfony/translation-contracts/TranslatorInterface.php', - 'Symfony\\Contracts\\Translation\\TranslatorTrait' => __DIR__ . '/..' . '/symfony/translation-contracts/TranslatorTrait.php', - 'Symfony\\Polyfill\\Ctype\\Ctype' => __DIR__ . '/..' . '/symfony/polyfill-ctype/Ctype.php', - 'Symfony\\Polyfill\\Iconv\\Iconv' => __DIR__ . '/..' . '/symfony/polyfill-iconv/Iconv.php', - 'Symfony\\Polyfill\\Intl\\Idn\\Idn' => __DIR__ . '/..' . '/symfony/polyfill-intl-idn/Idn.php', - 'Symfony\\Polyfill\\Mbstring\\Mbstring' => __DIR__ . '/..' . '/symfony/polyfill-mbstring/Mbstring.php', - 'Symfony\\Polyfill\\Php72\\Php72' => __DIR__ . '/..' . '/symfony/polyfill-php72/Php72.php', - 'Symfony\\Polyfill\\Php73\\Php73' => __DIR__ . '/..' . '/symfony/polyfill-php73/Php73.php', - 'Tests\\CreatesApplication' => __DIR__ . '/../..' . '/tests/CreatesApplication.php', - 'Tests\\Feature\\ExampleTest' => __DIR__ . '/../..' . '/tests/Feature/ExampleTest.php', - 'Tests\\TestCase' => __DIR__ . '/../..' . '/tests/TestCase.php', - 'Tests\\Unit\\ExampleTest' => __DIR__ . '/../..' . '/tests/Unit/ExampleTest.php', - 'Text_Template' => __DIR__ . '/..' . '/phpunit/php-text-template/src/Template.php', - 'TheSeer\\Tokenizer\\Exception' => __DIR__ . '/..' . '/theseer/tokenizer/src/Exception.php', - 'TheSeer\\Tokenizer\\NamespaceUri' => __DIR__ . '/..' . '/theseer/tokenizer/src/NamespaceUri.php', - 'TheSeer\\Tokenizer\\NamespaceUriException' => __DIR__ . '/..' . '/theseer/tokenizer/src/NamespaceUriException.php', - 'TheSeer\\Tokenizer\\Token' => __DIR__ . '/..' . '/theseer/tokenizer/src/Token.php', - 'TheSeer\\Tokenizer\\TokenCollection' => __DIR__ . '/..' . '/theseer/tokenizer/src/TokenCollection.php', - 'TheSeer\\Tokenizer\\TokenCollectionException' => __DIR__ . '/..' . '/theseer/tokenizer/src/TokenCollectionException.php', - 'TheSeer\\Tokenizer\\Tokenizer' => __DIR__ . '/..' . '/theseer/tokenizer/src/Tokenizer.php', - 'TheSeer\\Tokenizer\\XMLSerializer' => __DIR__ . '/..' . '/theseer/tokenizer/src/XMLSerializer.php', - 'TijsVerkoyen\\CssToInlineStyles\\CssToInlineStyles' => __DIR__ . '/..' . '/tijsverkoyen/css-to-inline-styles/src/CssToInlineStyles.php', - 'TijsVerkoyen\\CssToInlineStyles\\Css\\Processor' => __DIR__ . '/..' . '/tijsverkoyen/css-to-inline-styles/src/Css/Processor.php', - 'TijsVerkoyen\\CssToInlineStyles\\Css\\Property\\Processor' => __DIR__ . '/..' . '/tijsverkoyen/css-to-inline-styles/src/Css/Property/Processor.php', - 'TijsVerkoyen\\CssToInlineStyles\\Css\\Property\\Property' => __DIR__ . '/..' . '/tijsverkoyen/css-to-inline-styles/src/Css/Property/Property.php', - 'TijsVerkoyen\\CssToInlineStyles\\Css\\Rule\\Processor' => __DIR__ . '/..' . '/tijsverkoyen/css-to-inline-styles/src/Css/Rule/Processor.php', - 'TijsVerkoyen\\CssToInlineStyles\\Css\\Rule\\Rule' => __DIR__ . '/..' . '/tijsverkoyen/css-to-inline-styles/src/Css/Rule/Rule.php', - 'Webmozart\\Assert\\Assert' => __DIR__ . '/..' . '/webmozart/assert/src/Assert.php', - 'Whoops\\Exception\\ErrorException' => __DIR__ . '/..' . '/filp/whoops/src/Whoops/Exception/ErrorException.php', - 'Whoops\\Exception\\Formatter' => __DIR__ . '/..' . '/filp/whoops/src/Whoops/Exception/Formatter.php', - 'Whoops\\Exception\\Frame' => __DIR__ . '/..' . '/filp/whoops/src/Whoops/Exception/Frame.php', - 'Whoops\\Exception\\FrameCollection' => __DIR__ . '/..' . '/filp/whoops/src/Whoops/Exception/FrameCollection.php', - 'Whoops\\Exception\\Inspector' => __DIR__ . '/..' . '/filp/whoops/src/Whoops/Exception/Inspector.php', - 'Whoops\\Handler\\CallbackHandler' => __DIR__ . '/..' . '/filp/whoops/src/Whoops/Handler/CallbackHandler.php', - 'Whoops\\Handler\\Handler' => __DIR__ . '/..' . '/filp/whoops/src/Whoops/Handler/Handler.php', - 'Whoops\\Handler\\HandlerInterface' => __DIR__ . '/..' . '/filp/whoops/src/Whoops/Handler/HandlerInterface.php', - 'Whoops\\Handler\\JsonResponseHandler' => __DIR__ . '/..' . '/filp/whoops/src/Whoops/Handler/JsonResponseHandler.php', - 'Whoops\\Handler\\PlainTextHandler' => __DIR__ . '/..' . '/filp/whoops/src/Whoops/Handler/PlainTextHandler.php', - 'Whoops\\Handler\\PrettyPageHandler' => __DIR__ . '/..' . '/filp/whoops/src/Whoops/Handler/PrettyPageHandler.php', - 'Whoops\\Handler\\XmlResponseHandler' => __DIR__ . '/..' . '/filp/whoops/src/Whoops/Handler/XmlResponseHandler.php', - 'Whoops\\Run' => __DIR__ . '/..' . '/filp/whoops/src/Whoops/Run.php', - 'Whoops\\RunInterface' => __DIR__ . '/..' . '/filp/whoops/src/Whoops/RunInterface.php', - 'Whoops\\Util\\HtmlDumperOutput' => __DIR__ . '/..' . '/filp/whoops/src/Whoops/Util/HtmlDumperOutput.php', - 'Whoops\\Util\\Misc' => __DIR__ . '/..' . '/filp/whoops/src/Whoops/Util/Misc.php', - 'Whoops\\Util\\SystemFacade' => __DIR__ . '/..' . '/filp/whoops/src/Whoops/Util/SystemFacade.php', - 'Whoops\\Util\\TemplateHelper' => __DIR__ . '/..' . '/filp/whoops/src/Whoops/Util/TemplateHelper.php', - 'XdgBaseDir\\Xdg' => __DIR__ . '/..' . '/dnoegel/php-xdg-base-dir/src/Xdg.php', - 'phpDocumentor\\Reflection\\DocBlock' => __DIR__ . '/..' . '/phpdocumentor/reflection-docblock/src/DocBlock.php', - 'phpDocumentor\\Reflection\\DocBlockFactory' => __DIR__ . '/..' . '/phpdocumentor/reflection-docblock/src/DocBlockFactory.php', - 'phpDocumentor\\Reflection\\DocBlockFactoryInterface' => __DIR__ . '/..' . '/phpdocumentor/reflection-docblock/src/DocBlockFactoryInterface.php', - 'phpDocumentor\\Reflection\\DocBlock\\Description' => __DIR__ . '/..' . '/phpdocumentor/reflection-docblock/src/DocBlock/Description.php', - 'phpDocumentor\\Reflection\\DocBlock\\DescriptionFactory' => __DIR__ . '/..' . '/phpdocumentor/reflection-docblock/src/DocBlock/DescriptionFactory.php', - 'phpDocumentor\\Reflection\\DocBlock\\ExampleFinder' => __DIR__ . '/..' . '/phpdocumentor/reflection-docblock/src/DocBlock/ExampleFinder.php', - 'phpDocumentor\\Reflection\\DocBlock\\Serializer' => __DIR__ . '/..' . '/phpdocumentor/reflection-docblock/src/DocBlock/Serializer.php', - 'phpDocumentor\\Reflection\\DocBlock\\StandardTagFactory' => __DIR__ . '/..' . '/phpdocumentor/reflection-docblock/src/DocBlock/StandardTagFactory.php', - 'phpDocumentor\\Reflection\\DocBlock\\Tag' => __DIR__ . '/..' . '/phpdocumentor/reflection-docblock/src/DocBlock/Tag.php', - 'phpDocumentor\\Reflection\\DocBlock\\TagFactory' => __DIR__ . '/..' . '/phpdocumentor/reflection-docblock/src/DocBlock/TagFactory.php', - 'phpDocumentor\\Reflection\\DocBlock\\Tags\\Author' => __DIR__ . '/..' . '/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Author.php', - 'phpDocumentor\\Reflection\\DocBlock\\Tags\\BaseTag' => __DIR__ . '/..' . '/phpdocumentor/reflection-docblock/src/DocBlock/Tags/BaseTag.php', - 'phpDocumentor\\Reflection\\DocBlock\\Tags\\Covers' => __DIR__ . '/..' . '/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Covers.php', - 'phpDocumentor\\Reflection\\DocBlock\\Tags\\Deprecated' => __DIR__ . '/..' . '/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Deprecated.php', - 'phpDocumentor\\Reflection\\DocBlock\\Tags\\Example' => __DIR__ . '/..' . '/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Example.php', - 'phpDocumentor\\Reflection\\DocBlock\\Tags\\Factory\\StaticMethod' => __DIR__ . '/..' . '/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Factory/StaticMethod.php', - 'phpDocumentor\\Reflection\\DocBlock\\Tags\\Factory\\Strategy' => __DIR__ . '/..' . '/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Factory/Strategy.php', - 'phpDocumentor\\Reflection\\DocBlock\\Tags\\Formatter' => __DIR__ . '/..' . '/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Formatter.php', - 'phpDocumentor\\Reflection\\DocBlock\\Tags\\Formatter\\AlignFormatter' => __DIR__ . '/..' . '/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Formatter/AlignFormatter.php', - 'phpDocumentor\\Reflection\\DocBlock\\Tags\\Formatter\\PassthroughFormatter' => __DIR__ . '/..' . '/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Formatter/PassthroughFormatter.php', - 'phpDocumentor\\Reflection\\DocBlock\\Tags\\Generic' => __DIR__ . '/..' . '/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Generic.php', - 'phpDocumentor\\Reflection\\DocBlock\\Tags\\Link' => __DIR__ . '/..' . '/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Link.php', - 'phpDocumentor\\Reflection\\DocBlock\\Tags\\Method' => __DIR__ . '/..' . '/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Method.php', - 'phpDocumentor\\Reflection\\DocBlock\\Tags\\Param' => __DIR__ . '/..' . '/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Param.php', - 'phpDocumentor\\Reflection\\DocBlock\\Tags\\Property' => __DIR__ . '/..' . '/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Property.php', - 'phpDocumentor\\Reflection\\DocBlock\\Tags\\PropertyRead' => __DIR__ . '/..' . '/phpdocumentor/reflection-docblock/src/DocBlock/Tags/PropertyRead.php', - 'phpDocumentor\\Reflection\\DocBlock\\Tags\\PropertyWrite' => __DIR__ . '/..' . '/phpdocumentor/reflection-docblock/src/DocBlock/Tags/PropertyWrite.php', - 'phpDocumentor\\Reflection\\DocBlock\\Tags\\Reference\\Fqsen' => __DIR__ . '/..' . '/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Reference/Fqsen.php', - 'phpDocumentor\\Reflection\\DocBlock\\Tags\\Reference\\Reference' => __DIR__ . '/..' . '/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Reference/Reference.php', - 'phpDocumentor\\Reflection\\DocBlock\\Tags\\Reference\\Url' => __DIR__ . '/..' . '/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Reference/Url.php', - 'phpDocumentor\\Reflection\\DocBlock\\Tags\\Return_' => __DIR__ . '/..' . '/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Return_.php', - 'phpDocumentor\\Reflection\\DocBlock\\Tags\\See' => __DIR__ . '/..' . '/phpdocumentor/reflection-docblock/src/DocBlock/Tags/See.php', - 'phpDocumentor\\Reflection\\DocBlock\\Tags\\Since' => __DIR__ . '/..' . '/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Since.php', - 'phpDocumentor\\Reflection\\DocBlock\\Tags\\Source' => __DIR__ . '/..' . '/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Source.php', - 'phpDocumentor\\Reflection\\DocBlock\\Tags\\Throws' => __DIR__ . '/..' . '/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Throws.php', - 'phpDocumentor\\Reflection\\DocBlock\\Tags\\Uses' => __DIR__ . '/..' . '/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Uses.php', - 'phpDocumentor\\Reflection\\DocBlock\\Tags\\Var_' => __DIR__ . '/..' . '/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Var_.php', - 'phpDocumentor\\Reflection\\DocBlock\\Tags\\Version' => __DIR__ . '/..' . '/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Version.php', - 'phpDocumentor\\Reflection\\Element' => __DIR__ . '/..' . '/phpdocumentor/reflection-common/src/Element.php', - 'phpDocumentor\\Reflection\\File' => __DIR__ . '/..' . '/phpdocumentor/reflection-common/src/File.php', - 'phpDocumentor\\Reflection\\Fqsen' => __DIR__ . '/..' . '/phpdocumentor/reflection-common/src/Fqsen.php', - 'phpDocumentor\\Reflection\\FqsenResolver' => __DIR__ . '/..' . '/phpdocumentor/type-resolver/src/FqsenResolver.php', - 'phpDocumentor\\Reflection\\Location' => __DIR__ . '/..' . '/phpdocumentor/reflection-common/src/Location.php', - 'phpDocumentor\\Reflection\\Project' => __DIR__ . '/..' . '/phpdocumentor/reflection-common/src/Project.php', - 'phpDocumentor\\Reflection\\ProjectFactory' => __DIR__ . '/..' . '/phpdocumentor/reflection-common/src/ProjectFactory.php', - 'phpDocumentor\\Reflection\\Type' => __DIR__ . '/..' . '/phpdocumentor/type-resolver/src/Type.php', - 'phpDocumentor\\Reflection\\TypeResolver' => __DIR__ . '/..' . '/phpdocumentor/type-resolver/src/TypeResolver.php', - 'phpDocumentor\\Reflection\\Types\\AbstractList' => __DIR__ . '/..' . '/phpdocumentor/type-resolver/src/Types/AbstractList.php', - 'phpDocumentor\\Reflection\\Types\\Array_' => __DIR__ . '/..' . '/phpdocumentor/type-resolver/src/Types/Array_.php', - 'phpDocumentor\\Reflection\\Types\\Boolean' => __DIR__ . '/..' . '/phpdocumentor/type-resolver/src/Types/Boolean.php', - 'phpDocumentor\\Reflection\\Types\\Callable_' => __DIR__ . '/..' . '/phpdocumentor/type-resolver/src/Types/Callable_.php', - 'phpDocumentor\\Reflection\\Types\\Collection' => __DIR__ . '/..' . '/phpdocumentor/type-resolver/src/Types/Collection.php', - 'phpDocumentor\\Reflection\\Types\\Compound' => __DIR__ . '/..' . '/phpdocumentor/type-resolver/src/Types/Compound.php', - 'phpDocumentor\\Reflection\\Types\\Context' => __DIR__ . '/..' . '/phpdocumentor/type-resolver/src/Types/Context.php', - 'phpDocumentor\\Reflection\\Types\\ContextFactory' => __DIR__ . '/..' . '/phpdocumentor/type-resolver/src/Types/ContextFactory.php', - 'phpDocumentor\\Reflection\\Types\\Float_' => __DIR__ . '/..' . '/phpdocumentor/type-resolver/src/Types/Float_.php', - 'phpDocumentor\\Reflection\\Types\\Integer' => __DIR__ . '/..' . '/phpdocumentor/type-resolver/src/Types/Integer.php', - 'phpDocumentor\\Reflection\\Types\\Iterable_' => __DIR__ . '/..' . '/phpdocumentor/type-resolver/src/Types/Iterable_.php', - 'phpDocumentor\\Reflection\\Types\\Mixed_' => __DIR__ . '/..' . '/phpdocumentor/type-resolver/src/Types/Mixed_.php', - 'phpDocumentor\\Reflection\\Types\\Null_' => __DIR__ . '/..' . '/phpdocumentor/type-resolver/src/Types/Null_.php', - 'phpDocumentor\\Reflection\\Types\\Nullable' => __DIR__ . '/..' . '/phpdocumentor/type-resolver/src/Types/Nullable.php', - 'phpDocumentor\\Reflection\\Types\\Object_' => __DIR__ . '/..' . '/phpdocumentor/type-resolver/src/Types/Object_.php', - 'phpDocumentor\\Reflection\\Types\\Parent_' => __DIR__ . '/..' . '/phpdocumentor/type-resolver/src/Types/Parent_.php', - 'phpDocumentor\\Reflection\\Types\\Resource_' => __DIR__ . '/..' . '/phpdocumentor/type-resolver/src/Types/Resource_.php', - 'phpDocumentor\\Reflection\\Types\\Scalar' => __DIR__ . '/..' . '/phpdocumentor/type-resolver/src/Types/Scalar.php', - 'phpDocumentor\\Reflection\\Types\\Self_' => __DIR__ . '/..' . '/phpdocumentor/type-resolver/src/Types/Self_.php', - 'phpDocumentor\\Reflection\\Types\\Static_' => __DIR__ . '/..' . '/phpdocumentor/type-resolver/src/Types/Static_.php', - 'phpDocumentor\\Reflection\\Types\\String_' => __DIR__ . '/..' . '/phpdocumentor/type-resolver/src/Types/String_.php', - 'phpDocumentor\\Reflection\\Types\\This' => __DIR__ . '/..' . '/phpdocumentor/type-resolver/src/Types/This.php', - 'phpDocumentor\\Reflection\\Types\\Void_' => __DIR__ . '/..' . '/phpdocumentor/type-resolver/src/Types/Void_.php', - ); - - public static function getInitializer(ClassLoader $loader) - { - return \Closure::bind(function () use ($loader) { - $loader->prefixLengthsPsr4 = ComposerStaticInit76924bd72d9b9f2ec5cdd3db4408b7ff::$prefixLengthsPsr4; - $loader->prefixDirsPsr4 = ComposerStaticInit76924bd72d9b9f2ec5cdd3db4408b7ff::$prefixDirsPsr4; - $loader->prefixesPsr0 = ComposerStaticInit76924bd72d9b9f2ec5cdd3db4408b7ff::$prefixesPsr0; - $loader->classMap = ComposerStaticInit76924bd72d9b9f2ec5cdd3db4408b7ff::$classMap; - - }, null, ClassLoader::class); - } -} diff --git a/paragonik-backend/vendor/composer/installed.json b/paragonik-backend/vendor/composer/installed.json deleted file mode 100644 index 61dba64..0000000 --- a/paragonik-backend/vendor/composer/installed.json +++ /dev/null @@ -1,4879 +0,0 @@ -[ - { - "name": "beyondcode/laravel-dump-server", - "version": "1.3.0", - "version_normalized": "1.3.0.0", - "source": { - "type": "git", - "url": "https://github.com/beyondcode/laravel-dump-server.git", - "reference": "fcc88fa66895f8c1ff83f6145a5eff5fa2a0739a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/beyondcode/laravel-dump-server/zipball/fcc88fa66895f8c1ff83f6145a5eff5fa2a0739a", - "reference": "fcc88fa66895f8c1ff83f6145a5eff5fa2a0739a", - "shasum": "" - }, - "require": { - "illuminate/console": "5.6.*|5.7.*|5.8.*|^6.0", - "illuminate/http": "5.6.*|5.7.*|5.8.*|^6.0", - "illuminate/support": "5.6.*|5.7.*|5.8.*|^6.0", - "php": "^7.1", - "symfony/var-dumper": "^4.1.1" - }, - "require-dev": { - "larapack/dd": "^1.0", - "phpunit/phpunit": "^7.0" - }, - "time": "2019-08-11T13:17:40+00:00", - "type": "library", - "extra": { - "laravel": { - "providers": [ - "BeyondCode\\DumpServer\\DumpServerServiceProvider" - ] - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "BeyondCode\\DumpServer\\": "src" - }, - "files": [ - "helpers.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marcel Pociot", - "email": "marcel@beyondco.de", - "homepage": "https://beyondco.de", - "role": "Developer" - } - ], - "description": "Symfony Var-Dump Server for Laravel", - "homepage": "https://github.com/beyondcode/laravel-dump-server", - "keywords": [ - "beyondcode", - "laravel-dump-server" - ] - }, - { - "name": "dnoegel/php-xdg-base-dir", - "version": "0.1", - "version_normalized": "0.1.0.0", - "source": { - "type": "git", - "url": "https://github.com/dnoegel/php-xdg-base-dir.git", - "reference": "265b8593498b997dc2d31e75b89f053b5cc9621a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/dnoegel/php-xdg-base-dir/zipball/265b8593498b997dc2d31e75b89f053b5cc9621a", - "reference": "265b8593498b997dc2d31e75b89f053b5cc9621a", - "shasum": "" - }, - "require": { - "php": ">=5.3.2" - }, - "require-dev": { - "phpunit/phpunit": "@stable" - }, - "time": "2014-10-24T07:27:01+00:00", - "type": "project", - "installation-source": "dist", - "autoload": { - "psr-4": { - "XdgBaseDir\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "implementation of xdg base directory specification for php" - }, - { - "name": "doctrine/inflector", - "version": "1.3.1", - "version_normalized": "1.3.1.0", - "source": { - "type": "git", - "url": "https://github.com/doctrine/inflector.git", - "reference": "ec3a55242203ffa6a4b27c58176da97ff0a7aec1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/inflector/zipball/ec3a55242203ffa6a4b27c58176da97ff0a7aec1", - "reference": "ec3a55242203ffa6a4b27c58176da97ff0a7aec1", - "shasum": "" - }, - "require": { - "php": "^7.1" - }, - "require-dev": { - "phpunit/phpunit": "^6.2" - }, - "time": "2019-10-30T19:59:35+00:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3.x-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "Doctrine\\Common\\Inflector\\": "lib/Doctrine/Common/Inflector" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" - }, - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { - "name": "Benjamin Eberlei", - "email": "kontakt@beberlei.de" - }, - { - "name": "Jonathan Wage", - "email": "jonwage@gmail.com" - }, - { - "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com" - } - ], - "description": "Common String Manipulations with regard to casing and singular/plural rules.", - "homepage": "http://www.doctrine-project.org", - "keywords": [ - "inflection", - "pluralize", - "singularize", - "string" - ] - }, - { - "name": "doctrine/instantiator", - "version": "1.3.0", - "version_normalized": "1.3.0.0", - "source": { - "type": "git", - "url": "https://github.com/doctrine/instantiator.git", - "reference": "ae466f726242e637cebdd526a7d991b9433bacf1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/ae466f726242e637cebdd526a7d991b9433bacf1", - "reference": "ae466f726242e637cebdd526a7d991b9433bacf1", - "shasum": "" - }, - "require": { - "php": "^7.1" - }, - "require-dev": { - "doctrine/coding-standard": "^6.0", - "ext-pdo": "*", - "ext-phar": "*", - "phpbench/phpbench": "^0.13", - "phpstan/phpstan-phpunit": "^0.11", - "phpstan/phpstan-shim": "^0.11", - "phpunit/phpunit": "^7.0" - }, - "time": "2019-10-21T16:45:58+00:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.2.x-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com", - "homepage": "http://ocramius.github.com/" - } - ], - "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", - "homepage": "https://www.doctrine-project.org/projects/instantiator.html", - "keywords": [ - "constructor", - "instantiate" - ] - }, - { - "name": "doctrine/lexer", - "version": "1.2.0", - "version_normalized": "1.2.0.0", - "source": { - "type": "git", - "url": "https://github.com/doctrine/lexer.git", - "reference": "5242d66dbeb21a30dd8a3e66bf7a73b66e05e1f6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/lexer/zipball/5242d66dbeb21a30dd8a3e66bf7a73b66e05e1f6", - "reference": "5242d66dbeb21a30dd8a3e66bf7a73b66e05e1f6", - "shasum": "" - }, - "require": { - "php": "^7.2" - }, - "require-dev": { - "doctrine/coding-standard": "^6.0", - "phpstan/phpstan": "^0.11.8", - "phpunit/phpunit": "^8.2" - }, - "time": "2019-10-30T14:39:59+00:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.2.x-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "Doctrine\\Common\\Lexer\\": "lib/Doctrine/Common/Lexer" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" - }, - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { - "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com" - } - ], - "description": "PHP Doctrine Lexer parser library that can be used in Top-Down, Recursive Descent Parsers.", - "homepage": "https://www.doctrine-project.org/projects/lexer.html", - "keywords": [ - "annotations", - "docblock", - "lexer", - "parser", - "php" - ] - }, - { - "name": "dragonmantank/cron-expression", - "version": "v2.3.0", - "version_normalized": "2.3.0.0", - "source": { - "type": "git", - "url": "https://github.com/dragonmantank/cron-expression.git", - "reference": "72b6fbf76adb3cf5bc0db68559b33d41219aba27" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/dragonmantank/cron-expression/zipball/72b6fbf76adb3cf5bc0db68559b33d41219aba27", - "reference": "72b6fbf76adb3cf5bc0db68559b33d41219aba27", - "shasum": "" - }, - "require": { - "php": "^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^6.4|^7.0" - }, - "time": "2019-03-31T00:38:28+00:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.3-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "Cron\\": "src/Cron/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - }, - { - "name": "Chris Tankersley", - "email": "chris@ctankersley.com", - "homepage": "https://github.com/dragonmantank" - } - ], - "description": "CRON for PHP: Calculate the next or previous run date and determine if a CRON expression is due", - "keywords": [ - "cron", - "schedule" - ] - }, - { - "name": "egulias/email-validator", - "version": "2.1.11", - "version_normalized": "2.1.11.0", - "source": { - "type": "git", - "url": "https://github.com/egulias/EmailValidator.git", - "reference": "92dd169c32f6f55ba570c309d83f5209cefb5e23" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/92dd169c32f6f55ba570c309d83f5209cefb5e23", - "reference": "92dd169c32f6f55ba570c309d83f5209cefb5e23", - "shasum": "" - }, - "require": { - "doctrine/lexer": "^1.0.1", - "php": ">= 5.5" - }, - "require-dev": { - "dominicsayers/isemail": "dev-master", - "phpunit/phpunit": "^4.8.35||^5.7||^6.0", - "satooshi/php-coveralls": "^1.0.1", - "symfony/phpunit-bridge": "^4.4@dev" - }, - "suggest": { - "ext-intl": "PHP Internationalization Libraries are required to use the SpoofChecking validation" - }, - "time": "2019-08-13T17:33:27+00:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.1.x-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "Egulias\\EmailValidator\\": "EmailValidator" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Eduardo Gulias Davis" - } - ], - "description": "A library for validating emails against several RFCs", - "homepage": "https://github.com/egulias/EmailValidator", - "keywords": [ - "email", - "emailvalidation", - "emailvalidator", - "validation", - "validator" - ] - }, - { - "name": "erusev/parsedown", - "version": "1.7.3", - "version_normalized": "1.7.3.0", - "source": { - "type": "git", - "url": "https://github.com/erusev/parsedown.git", - "reference": "6d893938171a817f4e9bc9e86f2da1e370b7bcd7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/erusev/parsedown/zipball/6d893938171a817f4e9bc9e86f2da1e370b7bcd7", - "reference": "6d893938171a817f4e9bc9e86f2da1e370b7bcd7", - "shasum": "" - }, - "require": { - "ext-mbstring": "*", - "php": ">=5.3.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35" - }, - "time": "2019-03-17T18:48:37+00:00", - "type": "library", - "installation-source": "dist", - "autoload": { - "psr-0": { - "Parsedown": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Emanuil Rusev", - "email": "hello@erusev.com", - "homepage": "http://erusev.com" - } - ], - "description": "Parser for Markdown.", - "homepage": "http://parsedown.org", - "keywords": [ - "markdown", - "parser" - ] - }, - { - "name": "fideloper/proxy", - "version": "4.2.1", - "version_normalized": "4.2.1.0", - "source": { - "type": "git", - "url": "https://github.com/fideloper/TrustedProxy.git", - "reference": "03085e58ec7bee24773fa5a8850751a6e61a7e8a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/fideloper/TrustedProxy/zipball/03085e58ec7bee24773fa5a8850751a6e61a7e8a", - "reference": "03085e58ec7bee24773fa5a8850751a6e61a7e8a", - "shasum": "" - }, - "require": { - "illuminate/contracts": "^5.0|^6.0|^7.0", - "php": ">=5.4.0" - }, - "require-dev": { - "illuminate/http": "^5.0|^6.0|^7.0", - "mockery/mockery": "^1.0", - "phpunit/phpunit": "^6.0" - }, - "time": "2019-09-03T16:45:42+00:00", - "type": "library", - "extra": { - "laravel": { - "providers": [ - "Fideloper\\Proxy\\TrustedProxyServiceProvider" - ] - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "Fideloper\\Proxy\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Chris Fidao", - "email": "fideloper@gmail.com" - } - ], - "description": "Set trusted proxies for Laravel", - "keywords": [ - "load balancing", - "proxy", - "trusted proxy" - ] - }, - { - "name": "filp/whoops", - "version": "2.5.0", - "version_normalized": "2.5.0.0", - "source": { - "type": "git", - "url": "https://github.com/filp/whoops.git", - "reference": "cde50e6720a39fdacb240159d3eea6865d51fd96" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/filp/whoops/zipball/cde50e6720a39fdacb240159d3eea6865d51fd96", - "reference": "cde50e6720a39fdacb240159d3eea6865d51fd96", - "shasum": "" - }, - "require": { - "php": "^5.5.9 || ^7.0", - "psr/log": "^1.0.1" - }, - "require-dev": { - "mockery/mockery": "^0.9 || ^1.0", - "phpunit/phpunit": "^4.8.35 || ^5.7", - "symfony/var-dumper": "^2.6 || ^3.0 || ^4.0" - }, - "suggest": { - "symfony/var-dumper": "Pretty print complex values better with var-dumper available", - "whoops/soap": "Formats errors as SOAP responses" - }, - "time": "2019-08-07T09:00:00+00:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.2-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "Whoops\\": "src/Whoops/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Filipe Dobreira", - "homepage": "https://github.com/filp", - "role": "Developer" - } - ], - "description": "php error handling for cool kids", - "homepage": "https://filp.github.io/whoops/", - "keywords": [ - "error", - "exception", - "handling", - "library", - "throwable", - "whoops" - ] - }, - { - "name": "fzaninotto/faker", - "version": "v1.9.0", - "version_normalized": "1.9.0.0", - "source": { - "type": "git", - "url": "https://github.com/fzaninotto/Faker.git", - "reference": "27a216cbe72327b2d6369fab721a5843be71e57d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/fzaninotto/Faker/zipball/27a216cbe72327b2d6369fab721a5843be71e57d", - "reference": "27a216cbe72327b2d6369fab721a5843be71e57d", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "ext-intl": "*", - "phpunit/phpunit": "^4.8.35 || ^5.7", - "squizlabs/php_codesniffer": "^2.9.2" - }, - "time": "2019-11-14T13:13:06+00:00", - "type": "library", - "extra": { - "branch-alias": [] - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "Faker\\": "src/Faker/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "François Zaninotto" - } - ], - "description": "Faker is a PHP library that generates fake data for you.", - "keywords": [ - "data", - "faker", - "fixtures" - ] - }, - { - "name": "hamcrest/hamcrest-php", - "version": "v2.0.0", - "version_normalized": "2.0.0.0", - "source": { - "type": "git", - "url": "https://github.com/hamcrest/hamcrest-php.git", - "reference": "776503d3a8e85d4f9a1148614f95b7a608b046ad" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/hamcrest/hamcrest-php/zipball/776503d3a8e85d4f9a1148614f95b7a608b046ad", - "reference": "776503d3a8e85d4f9a1148614f95b7a608b046ad", - "shasum": "" - }, - "require": { - "php": "^5.3|^7.0" - }, - "replace": { - "cordoval/hamcrest-php": "*", - "davedevelopment/hamcrest-php": "*", - "kodova/hamcrest-php": "*" - }, - "require-dev": { - "phpunit/php-file-iterator": "1.3.3", - "phpunit/phpunit": "~4.0", - "satooshi/php-coveralls": "^1.0" - }, - "time": "2016-01-20T08:20:44+00:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0-dev" - } - }, - "installation-source": "dist", - "autoload": { - "classmap": [ - "hamcrest" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD" - ], - "description": "This is the PHP port of Hamcrest Matchers", - "keywords": [ - "test" - ] - }, - { - "name": "jakub-onderka/php-console-color", - "version": "v0.2", - "version_normalized": "0.2.0.0", - "source": { - "type": "git", - "url": "https://github.com/JakubOnderka/PHP-Console-Color.git", - "reference": "d5deaecff52a0d61ccb613bb3804088da0307191" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/JakubOnderka/PHP-Console-Color/zipball/d5deaecff52a0d61ccb613bb3804088da0307191", - "reference": "d5deaecff52a0d61ccb613bb3804088da0307191", - "shasum": "" - }, - "require": { - "php": ">=5.4.0" - }, - "require-dev": { - "jakub-onderka/php-code-style": "1.0", - "jakub-onderka/php-parallel-lint": "1.0", - "jakub-onderka/php-var-dump-check": "0.*", - "phpunit/phpunit": "~4.3", - "squizlabs/php_codesniffer": "1.*" - }, - "time": "2018-09-29T17:23:10+00:00", - "type": "library", - "installation-source": "dist", - "autoload": { - "psr-4": { - "JakubOnderka\\PhpConsoleColor\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-2-Clause" - ], - "authors": [ - { - "name": "Jakub Onderka", - "email": "jakub.onderka@gmail.com" - } - ] - }, - { - "name": "jakub-onderka/php-console-highlighter", - "version": "v0.4", - "version_normalized": "0.4.0.0", - "source": { - "type": "git", - "url": "https://github.com/JakubOnderka/PHP-Console-Highlighter.git", - "reference": "9f7a229a69d52506914b4bc61bfdb199d90c5547" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/JakubOnderka/PHP-Console-Highlighter/zipball/9f7a229a69d52506914b4bc61bfdb199d90c5547", - "reference": "9f7a229a69d52506914b4bc61bfdb199d90c5547", - "shasum": "" - }, - "require": { - "ext-tokenizer": "*", - "jakub-onderka/php-console-color": "~0.2", - "php": ">=5.4.0" - }, - "require-dev": { - "jakub-onderka/php-code-style": "~1.0", - "jakub-onderka/php-parallel-lint": "~1.0", - "jakub-onderka/php-var-dump-check": "~0.1", - "phpunit/phpunit": "~4.0", - "squizlabs/php_codesniffer": "~1.5" - }, - "time": "2018-09-29T18:48:56+00:00", - "type": "library", - "installation-source": "dist", - "autoload": { - "psr-4": { - "JakubOnderka\\PhpConsoleHighlighter\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jakub Onderka", - "email": "acci@acci.cz", - "homepage": "http://www.acci.cz/" - } - ], - "description": "Highlight PHP code in terminal" - }, - { - "name": "laravel/framework", - "version": "v5.8.35", - "version_normalized": "5.8.35.0", - "source": { - "type": "git", - "url": "https://github.com/laravel/framework.git", - "reference": "5a9e4d241a8b815e16c9d2151e908992c38db197" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/5a9e4d241a8b815e16c9d2151e908992c38db197", - "reference": "5a9e4d241a8b815e16c9d2151e908992c38db197", - "shasum": "" - }, - "require": { - "doctrine/inflector": "^1.1", - "dragonmantank/cron-expression": "^2.0", - "egulias/email-validator": "^2.0", - "erusev/parsedown": "^1.7", - "ext-json": "*", - "ext-mbstring": "*", - "ext-openssl": "*", - "league/flysystem": "^1.0.8", - "monolog/monolog": "^1.12", - "nesbot/carbon": "^1.26.3 || ^2.0", - "opis/closure": "^3.1", - "php": "^7.1.3", - "psr/container": "^1.0", - "psr/simple-cache": "^1.0", - "ramsey/uuid": "^3.7", - "swiftmailer/swiftmailer": "^6.0", - "symfony/console": "^4.2", - "symfony/debug": "^4.2", - "symfony/finder": "^4.2", - "symfony/http-foundation": "^4.2", - "symfony/http-kernel": "^4.2", - "symfony/process": "^4.2", - "symfony/routing": "^4.2", - "symfony/var-dumper": "^4.2", - "tijsverkoyen/css-to-inline-styles": "^2.2.1", - "vlucas/phpdotenv": "^3.3" - }, - "conflict": { - "tightenco/collect": "<5.5.33" - }, - "replace": { - "illuminate/auth": "self.version", - "illuminate/broadcasting": "self.version", - "illuminate/bus": "self.version", - "illuminate/cache": "self.version", - "illuminate/config": "self.version", - "illuminate/console": "self.version", - "illuminate/container": "self.version", - "illuminate/contracts": "self.version", - "illuminate/cookie": "self.version", - "illuminate/database": "self.version", - "illuminate/encryption": "self.version", - "illuminate/events": "self.version", - "illuminate/filesystem": "self.version", - "illuminate/hashing": "self.version", - "illuminate/http": "self.version", - "illuminate/log": "self.version", - "illuminate/mail": "self.version", - "illuminate/notifications": "self.version", - "illuminate/pagination": "self.version", - "illuminate/pipeline": "self.version", - "illuminate/queue": "self.version", - "illuminate/redis": "self.version", - "illuminate/routing": "self.version", - "illuminate/session": "self.version", - "illuminate/support": "self.version", - "illuminate/translation": "self.version", - "illuminate/validation": "self.version", - "illuminate/view": "self.version" - }, - "require-dev": { - "aws/aws-sdk-php": "^3.0", - "doctrine/dbal": "^2.6", - "filp/whoops": "^2.1.4", - "guzzlehttp/guzzle": "^6.3", - "league/flysystem-cached-adapter": "^1.0", - "mockery/mockery": "^1.0", - "moontoast/math": "^1.1", - "orchestra/testbench-core": "3.8.*", - "pda/pheanstalk": "^4.0", - "phpunit/phpunit": "^7.5|^8.0", - "predis/predis": "^1.1.1", - "symfony/css-selector": "^4.2", - "symfony/dom-crawler": "^4.2", - "true/punycode": "^2.1" - }, - "suggest": { - "aws/aws-sdk-php": "Required to use the SQS queue driver and SES mail driver (^3.0).", - "doctrine/dbal": "Required to rename columns and drop SQLite columns (^2.6).", - "ext-gd": "Required to use Illuminate\\Http\\Testing\\FileFactory::image().", - "ext-pcntl": "Required to use all features of the queue worker.", - "ext-posix": "Required to use all features of the queue worker.", - "filp/whoops": "Required for friendly error pages in development (^2.1.4).", - "fzaninotto/faker": "Required to use the eloquent factory builder (^1.4).", - "guzzlehttp/guzzle": "Required to use the Mailgun and Mandrill mail drivers and the ping methods on schedules (^6.0).", - "laravel/tinker": "Required to use the tinker console command (^1.0).", - "league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (^1.0).", - "league/flysystem-cached-adapter": "Required to use the Flysystem cache (^1.0).", - "league/flysystem-rackspace": "Required to use the Flysystem Rackspace driver (^1.0).", - "league/flysystem-sftp": "Required to use the Flysystem SFTP driver (^1.0).", - "moontoast/math": "Required to use ordered UUIDs (^1.1).", - "nexmo/client": "Required to use the Nexmo transport (^1.0).", - "pda/pheanstalk": "Required to use the beanstalk queue driver (^4.0).", - "predis/predis": "Required to use the redis cache and queue drivers (^1.0).", - "pusher/pusher-php-server": "Required to use the Pusher broadcast driver (^3.0).", - "symfony/css-selector": "Required to use some of the crawler integration testing tools (^4.2).", - "symfony/dom-crawler": "Required to use most of the crawler integration testing tools (^4.2).", - "symfony/psr-http-message-bridge": "Required to use PSR-7 bridging features (^1.1).", - "wildbit/swiftmailer-postmark": "Required to use Postmark mail driver (^3.0)." - }, - "time": "2019-09-03T16:44:30+00:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.8-dev" - } - }, - "installation-source": "dist", - "autoload": { - "files": [ - "src/Illuminate/Foundation/helpers.php", - "src/Illuminate/Support/helpers.php" - ], - "psr-4": { - "Illuminate\\": "src/Illuminate/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Taylor Otwell", - "email": "taylor@laravel.com" - } - ], - "description": "The Laravel Framework.", - "homepage": "https://laravel.com", - "keywords": [ - "framework", - "laravel" - ] - }, - { - "name": "laravel/tinker", - "version": "v1.0.10", - "version_normalized": "1.0.10.0", - "source": { - "type": "git", - "url": "https://github.com/laravel/tinker.git", - "reference": "ad571aacbac1539c30d480908f9d0c9614eaf1a7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/laravel/tinker/zipball/ad571aacbac1539c30d480908f9d0c9614eaf1a7", - "reference": "ad571aacbac1539c30d480908f9d0c9614eaf1a7", - "shasum": "" - }, - "require": { - "illuminate/console": "~5.1|^6.0", - "illuminate/contracts": "~5.1|^6.0", - "illuminate/support": "~5.1|^6.0", - "php": ">=5.5.9", - "psy/psysh": "0.7.*|0.8.*|0.9.*", - "symfony/var-dumper": "~3.0|~4.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.0|~5.0" - }, - "suggest": { - "illuminate/database": "The Illuminate Database package (~5.1)." - }, - "time": "2019-08-07T15:10:45+00:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - }, - "laravel": { - "providers": [ - "Laravel\\Tinker\\TinkerServiceProvider" - ] - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "Laravel\\Tinker\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Taylor Otwell", - "email": "taylor@laravel.com" - } - ], - "description": "Powerful REPL for the Laravel framework.", - "keywords": [ - "REPL", - "Tinker", - "laravel", - "psysh" - ] - }, - { - "name": "league/flysystem", - "version": "1.0.57", - "version_normalized": "1.0.57.0", - "source": { - "type": "git", - "url": "https://github.com/thephpleague/flysystem.git", - "reference": "0e9db7f0b96b9f12dcf6f65bc34b72b1a30ea55a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/0e9db7f0b96b9f12dcf6f65bc34b72b1a30ea55a", - "reference": "0e9db7f0b96b9f12dcf6f65bc34b72b1a30ea55a", - "shasum": "" - }, - "require": { - "ext-fileinfo": "*", - "php": ">=5.5.9" - }, - "conflict": { - "league/flysystem-sftp": "<1.0.6" - }, - "require-dev": { - "phpspec/phpspec": "^3.4", - "phpunit/phpunit": "^5.7.10" - }, - "suggest": { - "ext-fileinfo": "Required for MimeType", - "ext-ftp": "Allows you to use FTP server storage", - "ext-openssl": "Allows you to use FTPS server storage", - "league/flysystem-aws-s3-v2": "Allows you to use S3 storage with AWS SDK v2", - "league/flysystem-aws-s3-v3": "Allows you to use S3 storage with AWS SDK v3", - "league/flysystem-azure": "Allows you to use Windows Azure Blob storage", - "league/flysystem-cached-adapter": "Flysystem adapter decorator for metadata caching", - "league/flysystem-eventable-filesystem": "Allows you to use EventableFilesystem", - "league/flysystem-rackspace": "Allows you to use Rackspace Cloud Files", - "league/flysystem-sftp": "Allows you to use SFTP server storage via phpseclib", - "league/flysystem-webdav": "Allows you to use WebDAV storage", - "league/flysystem-ziparchive": "Allows you to use ZipArchive adapter", - "spatie/flysystem-dropbox": "Allows you to use Dropbox storage", - "srmklive/flysystem-dropbox-v2": "Allows you to use Dropbox storage for PHP 5 applications" - }, - "time": "2019-10-16T21:01:05+00:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.1-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "League\\Flysystem\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Frank de Jonge", - "email": "info@frenky.net" - } - ], - "description": "Filesystem abstraction: Many filesystems, one API.", - "keywords": [ - "Cloud Files", - "WebDAV", - "abstraction", - "aws", - "cloud", - "copy.com", - "dropbox", - "file systems", - "files", - "filesystem", - "filesystems", - "ftp", - "rackspace", - "remote", - "s3", - "sftp", - "storage" - ] - }, - { - "name": "mockery/mockery", - "version": "1.3.0", - "version_normalized": "1.3.0.0", - "source": { - "type": "git", - "url": "https://github.com/mockery/mockery.git", - "reference": "5571962a4f733fbb57bede39778f71647fae8e66" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/mockery/mockery/zipball/5571962a4f733fbb57bede39778f71647fae8e66", - "reference": "5571962a4f733fbb57bede39778f71647fae8e66", - "shasum": "" - }, - "require": { - "hamcrest/hamcrest-php": "~2.0", - "lib-pcre": ">=7.0", - "php": ">=5.6.0", - "sebastian/comparator": "^1.2.4|^3.0" - }, - "require-dev": { - "phpunit/phpunit": "~5.7.10|~6.5|~7.0|~8.0" - }, - "time": "2019-11-24T07:54:50+00:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.2.x-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-0": { - "Mockery": "library/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Pádraic Brady", - "email": "padraic.brady@gmail.com", - "homepage": "http://blog.astrumfutura.com" - }, - { - "name": "Dave Marshall", - "email": "dave.marshall@atstsolutions.co.uk", - "homepage": "http://davedevelopment.co.uk" - } - ], - "description": "Mockery is a simple yet flexible PHP mock object framework", - "homepage": "https://github.com/mockery/mockery", - "keywords": [ - "BDD", - "TDD", - "library", - "mock", - "mock objects", - "mockery", - "stub", - "test", - "test double", - "testing" - ] - }, - { - "name": "monolog/monolog", - "version": "1.25.2", - "version_normalized": "1.25.2.0", - "source": { - "type": "git", - "url": "https://github.com/Seldaek/monolog.git", - "reference": "d5e2fb341cb44f7e2ab639d12a1e5901091ec287" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/d5e2fb341cb44f7e2ab639d12a1e5901091ec287", - "reference": "d5e2fb341cb44f7e2ab639d12a1e5901091ec287", - "shasum": "" - }, - "require": { - "php": ">=5.3.0", - "psr/log": "~1.0" - }, - "provide": { - "psr/log-implementation": "1.0.0" - }, - "require-dev": { - "aws/aws-sdk-php": "^2.4.9 || ^3.0", - "doctrine/couchdb": "~1.0@dev", - "graylog2/gelf-php": "~1.0", - "jakub-onderka/php-parallel-lint": "0.9", - "php-amqplib/php-amqplib": "~2.4", - "php-console/php-console": "^3.1.3", - "phpunit/phpunit": "~4.5", - "phpunit/phpunit-mock-objects": "2.3.0", - "ruflin/elastica": ">=0.90 <3.0", - "sentry/sentry": "^0.13", - "swiftmailer/swiftmailer": "^5.3|^6.0" - }, - "suggest": { - "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB", - "doctrine/couchdb": "Allow sending log messages to a CouchDB server", - "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)", - "ext-mongo": "Allow sending log messages to a MongoDB server", - "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server", - "mongodb/mongodb": "Allow sending log messages to a MongoDB server via PHP Driver", - "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib", - "php-console/php-console": "Allow sending log messages to Google Chrome", - "rollbar/rollbar": "Allow sending log messages to Rollbar", - "ruflin/elastica": "Allow sending log messages to an Elastic Search server", - "sentry/sentry": "Allow sending log messages to a Sentry server" - }, - "time": "2019-11-13T10:00:05+00:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "Monolog\\": "src/Monolog" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" - } - ], - "description": "Sends your logs to files, sockets, inboxes, databases and various web services", - "homepage": "http://github.com/Seldaek/monolog", - "keywords": [ - "log", - "logging", - "psr-3" - ] - }, - { - "name": "myclabs/deep-copy", - "version": "1.9.3", - "version_normalized": "1.9.3.0", - "source": { - "type": "git", - "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "007c053ae6f31bba39dfa19a7726f56e9763bbea" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/007c053ae6f31bba39dfa19a7726f56e9763bbea", - "reference": "007c053ae6f31bba39dfa19a7726f56e9763bbea", - "shasum": "" - }, - "require": { - "php": "^7.1" - }, - "replace": { - "myclabs/deep-copy": "self.version" - }, - "require-dev": { - "doctrine/collections": "^1.0", - "doctrine/common": "^2.6", - "phpunit/phpunit": "^7.1" - }, - "time": "2019-08-09T12:45:53+00:00", - "type": "library", - "installation-source": "dist", - "autoload": { - "psr-4": { - "DeepCopy\\": "src/DeepCopy/" - }, - "files": [ - "src/DeepCopy/deep_copy.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "Create deep copies (clones) of your objects", - "keywords": [ - "clone", - "copy", - "duplicate", - "object", - "object graph" - ] - }, - { - "name": "nesbot/carbon", - "version": "2.27.0", - "version_normalized": "2.27.0.0", - "source": { - "type": "git", - "url": "https://github.com/briannesbitt/Carbon.git", - "reference": "13b8485a8690f103bf19cba64879c218b102b726" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/13b8485a8690f103bf19cba64879c218b102b726", - "reference": "13b8485a8690f103bf19cba64879c218b102b726", - "shasum": "" - }, - "require": { - "ext-json": "*", - "php": "^7.1.8 || ^8.0", - "symfony/translation": "^3.4 || ^4.0 || ^5.0" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^2.14 || ^3.0", - "kylekatarnls/multi-tester": "^1.1", - "phpmd/phpmd": "dev-php-7.1-compatibility", - "phpstan/phpstan": "^0.11", - "phpunit/phpunit": "^7.5 || ^8.0", - "squizlabs/php_codesniffer": "^3.4" - }, - "time": "2019-11-20T06:59:06+00:00", - "bin": [ - "bin/carbon" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.x-dev" - }, - "laravel": { - "providers": [ - "Carbon\\Laravel\\ServiceProvider" - ] - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "Carbon\\": "src/Carbon/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Brian Nesbitt", - "email": "brian@nesbot.com", - "homepage": "http://nesbot.com" - }, - { - "name": "kylekatarnls", - "homepage": "http://github.com/kylekatarnls" - } - ], - "description": "An API extension for DateTime that supports 281 different languages.", - "homepage": "http://carbon.nesbot.com", - "keywords": [ - "date", - "datetime", - "time" - ] - }, - { - "name": "nikic/php-parser", - "version": "v4.3.0", - "version_normalized": "4.3.0.0", - "source": { - "type": "git", - "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "9a9981c347c5c49d6dfe5cf826bb882b824080dc" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/9a9981c347c5c49d6dfe5cf826bb882b824080dc", - "reference": "9a9981c347c5c49d6dfe5cf826bb882b824080dc", - "shasum": "" - }, - "require": { - "ext-tokenizer": "*", - "php": ">=7.0" - }, - "require-dev": { - "ircmaxell/php-yacc": "0.0.5", - "phpunit/phpunit": "^6.5 || ^7.0 || ^8.0" - }, - "time": "2019-11-08T13:50:10+00:00", - "bin": [ - "bin/php-parse" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.3-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "PhpParser\\": "lib/PhpParser" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Nikita Popov" - } - ], - "description": "A PHP parser written in PHP", - "keywords": [ - "parser", - "php" - ] - }, - { - "name": "nunomaduro/collision", - "version": "v3.0.1", - "version_normalized": "3.0.1.0", - "source": { - "type": "git", - "url": "https://github.com/nunomaduro/collision.git", - "reference": "af42d339fe2742295a54f6fdd42aaa6f8c4aca68" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/nunomaduro/collision/zipball/af42d339fe2742295a54f6fdd42aaa6f8c4aca68", - "reference": "af42d339fe2742295a54f6fdd42aaa6f8c4aca68", - "shasum": "" - }, - "require": { - "filp/whoops": "^2.1.4", - "jakub-onderka/php-console-highlighter": "0.3.*|0.4.*", - "php": "^7.1", - "symfony/console": "~2.8|~3.3|~4.0" - }, - "require-dev": { - "laravel/framework": "5.8.*", - "nunomaduro/larastan": "^0.3.0", - "phpstan/phpstan": "^0.11", - "phpunit/phpunit": "~8.0" - }, - "time": "2019-03-07T21:35:13+00:00", - "type": "library", - "extra": { - "laravel": { - "providers": [ - "NunoMaduro\\Collision\\Adapters\\Laravel\\CollisionServiceProvider" - ] - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "NunoMaduro\\Collision\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nuno Maduro", - "email": "enunomaduro@gmail.com" - } - ], - "description": "Cli error handling for console/command-line PHP applications.", - "keywords": [ - "artisan", - "cli", - "command-line", - "console", - "error", - "handling", - "laravel", - "laravel-zero", - "php", - "symfony" - ] - }, - { - "name": "opis/closure", - "version": "3.5.1", - "version_normalized": "3.5.1.0", - "source": { - "type": "git", - "url": "https://github.com/opis/closure.git", - "reference": "93ebc5712cdad8d5f489b500c59d122df2e53969" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/opis/closure/zipball/93ebc5712cdad8d5f489b500c59d122df2e53969", - "reference": "93ebc5712cdad8d5f489b500c59d122df2e53969", - "shasum": "" - }, - "require": { - "php": "^5.4 || ^7.0" - }, - "require-dev": { - "jeremeamia/superclosure": "^2.0", - "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0" - }, - "time": "2019-11-29T22:36:02+00:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.5.x-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "Opis\\Closure\\": "src/" - }, - "files": [ - "functions.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marius Sarca", - "email": "marius.sarca@gmail.com" - }, - { - "name": "Sorin Sarca", - "email": "sarca_sorin@hotmail.com" - } - ], - "description": "A library that can be used to serialize closures (anonymous functions) and arbitrary objects.", - "homepage": "https://opis.io/closure", - "keywords": [ - "anonymous functions", - "closure", - "function", - "serializable", - "serialization", - "serialize" - ] - }, - { - "name": "paragonie/random_compat", - "version": "v9.99.99", - "version_normalized": "9.99.99.0", - "source": { - "type": "git", - "url": "https://github.com/paragonie/random_compat.git", - "reference": "84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/paragonie/random_compat/zipball/84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95", - "reference": "84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95", - "shasum": "" - }, - "require": { - "php": "^7" - }, - "require-dev": { - "phpunit/phpunit": "4.*|5.*", - "vimeo/psalm": "^1" - }, - "suggest": { - "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes." - }, - "time": "2018-07-02T15:55:56+00:00", - "type": "library", - "installation-source": "dist", - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Paragon Initiative Enterprises", - "email": "security@paragonie.com", - "homepage": "https://paragonie.com" - } - ], - "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7", - "keywords": [ - "csprng", - "polyfill", - "pseudorandom", - "random" - ] - }, - { - "name": "phar-io/manifest", - "version": "1.0.3", - "version_normalized": "1.0.3.0", - "source": { - "type": "git", - "url": "https://github.com/phar-io/manifest.git", - "reference": "7761fcacf03b4d4f16e7ccb606d4879ca431fcf4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phar-io/manifest/zipball/7761fcacf03b4d4f16e7ccb606d4879ca431fcf4", - "reference": "7761fcacf03b4d4f16e7ccb606d4879ca431fcf4", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-phar": "*", - "phar-io/version": "^2.0", - "php": "^5.6 || ^7.0" - }, - "time": "2018-07-08T19:23:20+00:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "installation-source": "dist", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Arne Blankerts", - "email": "arne@blankerts.de", - "role": "Developer" - }, - { - "name": "Sebastian Heuer", - "email": "sebastian@phpeople.de", - "role": "Developer" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "Developer" - } - ], - "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)" - }, - { - "name": "phar-io/version", - "version": "2.0.1", - "version_normalized": "2.0.1.0", - "source": { - "type": "git", - "url": "https://github.com/phar-io/version.git", - "reference": "45a2ec53a73c70ce41d55cedef9063630abaf1b6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phar-io/version/zipball/45a2ec53a73c70ce41d55cedef9063630abaf1b6", - "reference": "45a2ec53a73c70ce41d55cedef9063630abaf1b6", - "shasum": "" - }, - "require": { - "php": "^5.6 || ^7.0" - }, - "time": "2018-07-08T19:19:57+00:00", - "type": "library", - "installation-source": "dist", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Arne Blankerts", - "email": "arne@blankerts.de", - "role": "Developer" - }, - { - "name": "Sebastian Heuer", - "email": "sebastian@phpeople.de", - "role": "Developer" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "Developer" - } - ], - "description": "Library for handling version information and constraints" - }, - { - "name": "phpdocumentor/reflection-common", - "version": "2.0.0", - "version_normalized": "2.0.0.0", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionCommon.git", - "reference": "63a995caa1ca9e5590304cd845c15ad6d482a62a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/63a995caa1ca9e5590304cd845c15ad6d482a62a", - "reference": "63a995caa1ca9e5590304cd845c15ad6d482a62a", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "require-dev": { - "phpunit/phpunit": "~6" - }, - "time": "2018-08-07T13:53:10+00:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.x-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "phpDocumentor\\Reflection\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jaap van Otterdijk", - "email": "opensource@ijaap.nl" - } - ], - "description": "Common reflection classes used by phpdocumentor to reflect the code structure", - "homepage": "http://www.phpdoc.org", - "keywords": [ - "FQSEN", - "phpDocumentor", - "phpdoc", - "reflection", - "static analysis" - ] - }, - { - "name": "phpdocumentor/reflection-docblock", - "version": "4.3.2", - "version_normalized": "4.3.2.0", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "b83ff7cfcfee7827e1e78b637a5904fe6a96698e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/b83ff7cfcfee7827e1e78b637a5904fe6a96698e", - "reference": "b83ff7cfcfee7827e1e78b637a5904fe6a96698e", - "shasum": "" - }, - "require": { - "php": "^7.0", - "phpdocumentor/reflection-common": "^1.0.0 || ^2.0.0", - "phpdocumentor/type-resolver": "~0.4 || ^1.0.0", - "webmozart/assert": "^1.0" - }, - "require-dev": { - "doctrine/instantiator": "^1.0.5", - "mockery/mockery": "^1.0", - "phpunit/phpunit": "^6.4" - }, - "time": "2019-09-12T14:27:41+00:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.x-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "phpDocumentor\\Reflection\\": [ - "src/" - ] - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mike van Riel", - "email": "me@mikevanriel.com" - } - ], - "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock." - }, - { - "name": "phpdocumentor/type-resolver", - "version": "1.0.1", - "version_normalized": "1.0.1.0", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "2e32a6d48972b2c1976ed5d8967145b6cec4a4a9" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/2e32a6d48972b2c1976ed5d8967145b6cec4a4a9", - "reference": "2e32a6d48972b2c1976ed5d8967145b6cec4a4a9", - "shasum": "" - }, - "require": { - "php": "^7.1", - "phpdocumentor/reflection-common": "^2.0" - }, - "require-dev": { - "ext-tokenizer": "^7.1", - "mockery/mockery": "~1", - "phpunit/phpunit": "^7.0" - }, - "time": "2019-08-22T18:11:29+00:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.x-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "phpDocumentor\\Reflection\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mike van Riel", - "email": "me@mikevanriel.com" - } - ], - "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names" - }, - { - "name": "phpoption/phpoption", - "version": "1.6.0", - "version_normalized": "1.6.0.0", - "source": { - "type": "git", - "url": "https://github.com/schmittjoh/php-option.git", - "reference": "f4e7a6a1382183412246f0d361078c29fb85089e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/f4e7a6a1382183412246f0d361078c29fb85089e", - "reference": "f4e7a6a1382183412246f0d361078c29fb85089e", - "shasum": "" - }, - "require": { - "php": "^5.5.9 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.0 || ^6.0 || ^7.0" - }, - "time": "2019-11-30T20:20:49+00:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.6-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "PhpOption\\": "src/PhpOption/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "authors": [ - { - "name": "Johannes M. Schmitt", - "email": "schmittjoh@gmail.com" - }, - { - "name": "Graham Campbell", - "email": "graham@alt-three.com" - } - ], - "description": "Option Type for PHP", - "keywords": [ - "language", - "option", - "php", - "type" - ] - }, - { - "name": "phpspec/prophecy", - "version": "1.9.0", - "version_normalized": "1.9.0.0", - "source": { - "type": "git", - "url": "https://github.com/phpspec/prophecy.git", - "reference": "f6811d96d97bdf400077a0cc100ae56aa32b9203" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/f6811d96d97bdf400077a0cc100ae56aa32b9203", - "reference": "f6811d96d97bdf400077a0cc100ae56aa32b9203", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "php": "^5.3|^7.0", - "phpdocumentor/reflection-docblock": "^2.0|^3.0.2|^4.0|^5.0", - "sebastian/comparator": "^1.1|^2.0|^3.0", - "sebastian/recursion-context": "^1.0|^2.0|^3.0" - }, - "require-dev": { - "phpspec/phpspec": "^2.5|^3.2", - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5 || ^7.1" - }, - "time": "2019-10-03T11:07:50+00:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.8.x-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "Prophecy\\": "src/Prophecy" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com", - "homepage": "http://everzet.com" - }, - { - "name": "Marcello Duarte", - "email": "marcello.duarte@gmail.com" - } - ], - "description": "Highly opinionated mocking framework for PHP 5.3+", - "homepage": "https://github.com/phpspec/prophecy", - "keywords": [ - "Double", - "Dummy", - "fake", - "mock", - "spy", - "stub" - ] - }, - { - "name": "phpunit/php-code-coverage", - "version": "6.1.4", - "version_normalized": "6.1.4.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "807e6013b00af69b6c5d9ceb4282d0393dbb9d8d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/807e6013b00af69b6c5d9ceb4282d0393dbb9d8d", - "reference": "807e6013b00af69b6c5d9ceb4282d0393dbb9d8d", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-xmlwriter": "*", - "php": "^7.1", - "phpunit/php-file-iterator": "^2.0", - "phpunit/php-text-template": "^1.2.1", - "phpunit/php-token-stream": "^3.0", - "sebastian/code-unit-reverse-lookup": "^1.0.1", - "sebastian/environment": "^3.1 || ^4.0", - "sebastian/version": "^2.0.1", - "theseer/tokenizer": "^1.1" - }, - "require-dev": { - "phpunit/phpunit": "^7.0" - }, - "suggest": { - "ext-xdebug": "^2.6.0" - }, - "time": "2018-10-31T16:06:48+00:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "6.1-dev" - } - }, - "installation-source": "dist", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", - "homepage": "https://github.com/sebastianbergmann/php-code-coverage", - "keywords": [ - "coverage", - "testing", - "xunit" - ] - }, - { - "name": "phpunit/php-file-iterator", - "version": "2.0.2", - "version_normalized": "2.0.2.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "050bedf145a257b1ff02746c31894800e5122946" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/050bedf145a257b1ff02746c31894800e5122946", - "reference": "050bedf145a257b1ff02746c31894800e5122946", - "shasum": "" - }, - "require": { - "php": "^7.1" - }, - "require-dev": { - "phpunit/phpunit": "^7.1" - }, - "time": "2018-09-13T20:33:42+00:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "installation-source": "dist", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "FilterIterator implementation that filters files based on a list of suffixes.", - "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", - "keywords": [ - "filesystem", - "iterator" - ] - }, - { - "name": "phpunit/php-text-template", - "version": "1.2.1", - "version_normalized": "1.2.1.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "time": "2015-06-21T13:50:34+00:00", - "type": "library", - "installation-source": "dist", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Simple template engine.", - "homepage": "https://github.com/sebastianbergmann/php-text-template/", - "keywords": [ - "template" - ] - }, - { - "name": "phpunit/php-timer", - "version": "2.1.2", - "version_normalized": "2.1.2.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "1038454804406b0b5f5f520358e78c1c2f71501e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/1038454804406b0b5f5f520358e78c1c2f71501e", - "reference": "1038454804406b0b5f5f520358e78c1c2f71501e", - "shasum": "" - }, - "require": { - "php": "^7.1" - }, - "require-dev": { - "phpunit/phpunit": "^7.0" - }, - "time": "2019-06-07T04:22:29+00:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.1-dev" - } - }, - "installation-source": "dist", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Utility class for timing", - "homepage": "https://github.com/sebastianbergmann/php-timer/", - "keywords": [ - "timer" - ] - }, - { - "name": "phpunit/php-token-stream", - "version": "3.1.1", - "version_normalized": "3.1.1.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-token-stream.git", - "reference": "995192df77f63a59e47f025390d2d1fdf8f425ff" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/995192df77f63a59e47f025390d2d1fdf8f425ff", - "reference": "995192df77f63a59e47f025390d2d1fdf8f425ff", - "shasum": "" - }, - "require": { - "ext-tokenizer": "*", - "php": "^7.1" - }, - "require-dev": { - "phpunit/phpunit": "^7.0" - }, - "time": "2019-09-17T06:23:10+00:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.1-dev" - } - }, - "installation-source": "dist", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Wrapper around PHP's tokenizer extension.", - "homepage": "https://github.com/sebastianbergmann/php-token-stream/", - "keywords": [ - "tokenizer" - ] - }, - { - "name": "phpunit/phpunit", - "version": "7.5.17", - "version_normalized": "7.5.17.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "4c92a15296e58191a4cd74cff3b34fc8e374174a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/4c92a15296e58191a4cd74cff3b34fc8e374174a", - "reference": "4c92a15296e58191a4cd74cff3b34fc8e374174a", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.1", - "ext-dom": "*", - "ext-json": "*", - "ext-libxml": "*", - "ext-mbstring": "*", - "ext-xml": "*", - "myclabs/deep-copy": "^1.7", - "phar-io/manifest": "^1.0.2", - "phar-io/version": "^2.0", - "php": "^7.1", - "phpspec/prophecy": "^1.7", - "phpunit/php-code-coverage": "^6.0.7", - "phpunit/php-file-iterator": "^2.0.1", - "phpunit/php-text-template": "^1.2.1", - "phpunit/php-timer": "^2.1", - "sebastian/comparator": "^3.0", - "sebastian/diff": "^3.0", - "sebastian/environment": "^4.0", - "sebastian/exporter": "^3.1", - "sebastian/global-state": "^2.0", - "sebastian/object-enumerator": "^3.0.3", - "sebastian/resource-operations": "^2.0", - "sebastian/version": "^2.0.1" - }, - "conflict": { - "phpunit/phpunit-mock-objects": "*" - }, - "require-dev": { - "ext-pdo": "*" - }, - "suggest": { - "ext-soap": "*", - "ext-xdebug": "*", - "phpunit/php-invoker": "^2.0" - }, - "time": "2019-10-28T10:37:36+00:00", - "bin": [ - "phpunit" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "7.5-dev" - } - }, - "installation-source": "dist", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "The PHP Unit Testing framework.", - "homepage": "https://phpunit.de/", - "keywords": [ - "phpunit", - "testing", - "xunit" - ] - }, - { - "name": "psr/container", - "version": "1.0.0", - "version_normalized": "1.0.0.0", - "source": { - "type": "git", - "url": "https://github.com/php-fig/container.git", - "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/container/zipball/b7ce3b176482dbbc1245ebf52b181af44c2cf55f", - "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "time": "2017-02-14T16:28:37+00:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "Psr\\Container\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common Container Interface (PHP FIG PSR-11)", - "homepage": "https://github.com/php-fig/container", - "keywords": [ - "PSR-11", - "container", - "container-interface", - "container-interop", - "psr" - ] - }, - { - "name": "psr/log", - "version": "1.1.2", - "version_normalized": "1.1.2.0", - "source": { - "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "446d54b4cb6bf489fc9d75f55843658e6f25d801" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/446d54b4cb6bf489fc9d75f55843658e6f25d801", - "reference": "446d54b4cb6bf489fc9d75f55843658e6f25d801", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "time": "2019-11-01T11:05:21+00:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.1.x-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "Psr\\Log\\": "Psr/Log/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interface for logging libraries", - "homepage": "https://github.com/php-fig/log", - "keywords": [ - "log", - "psr", - "psr-3" - ] - }, - { - "name": "psr/simple-cache", - "version": "1.0.1", - "version_normalized": "1.0.1.0", - "source": { - "type": "git", - "url": "https://github.com/php-fig/simple-cache.git", - "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", - "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "time": "2017-10-23T01:57:42+00:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "Psr\\SimpleCache\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interfaces for simple caching", - "keywords": [ - "cache", - "caching", - "psr", - "psr-16", - "simple-cache" - ] - }, - { - "name": "psy/psysh", - "version": "v0.9.11", - "version_normalized": "0.9.11.0", - "source": { - "type": "git", - "url": "https://github.com/bobthecow/psysh.git", - "reference": "75d9ac1c16db676de27ab554a4152b594be4748e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/bobthecow/psysh/zipball/75d9ac1c16db676de27ab554a4152b594be4748e", - "reference": "75d9ac1c16db676de27ab554a4152b594be4748e", - "shasum": "" - }, - "require": { - "dnoegel/php-xdg-base-dir": "0.1", - "ext-json": "*", - "ext-tokenizer": "*", - "jakub-onderka/php-console-highlighter": "0.3.*|0.4.*", - "nikic/php-parser": "~1.3|~2.0|~3.0|~4.0", - "php": ">=5.4.0", - "symfony/console": "~2.3.10|^2.4.2|~3.0|~4.0|~5.0", - "symfony/var-dumper": "~2.7|~3.0|~4.0|~5.0" - }, - "require-dev": { - "bamarni/composer-bin-plugin": "^1.2", - "hoa/console": "~2.15|~3.16", - "phpunit/phpunit": "~4.8.35|~5.0|~6.0|~7.0" - }, - "suggest": { - "ext-pcntl": "Enabling the PCNTL extension makes PsySH a lot happier :)", - "ext-pdo-sqlite": "The doc command requires SQLite to work.", - "ext-posix": "If you have PCNTL, you'll want the POSIX extension as well.", - "ext-readline": "Enables support for arrow-key history navigation, and showing and manipulating command history.", - "hoa/console": "A pure PHP readline implementation. You'll want this if your PHP install doesn't already support readline or libedit." - }, - "time": "2019-11-27T22:44:29+00:00", - "bin": [ - "bin/psysh" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-develop": "0.9.x-dev" - } - }, - "installation-source": "dist", - "autoload": { - "files": [ - "src/functions.php" - ], - "psr-4": { - "Psy\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Justin Hileman", - "email": "justin@justinhileman.info", - "homepage": "http://justinhileman.com" - } - ], - "description": "An interactive shell for modern PHP.", - "homepage": "http://psysh.org", - "keywords": [ - "REPL", - "console", - "interactive", - "shell" - ] - }, - { - "name": "ramsey/uuid", - "version": "3.9.1", - "version_normalized": "3.9.1.0", - "source": { - "type": "git", - "url": "https://github.com/ramsey/uuid.git", - "reference": "5ac2740e0c8c599d2bbe7f113a939f2b5b216c67" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/ramsey/uuid/zipball/5ac2740e0c8c599d2bbe7f113a939f2b5b216c67", - "reference": "5ac2740e0c8c599d2bbe7f113a939f2b5b216c67", - "shasum": "" - }, - "require": { - "ext-json": "*", - "paragonie/random_compat": "^1 | ^2 | 9.99.99", - "php": "^5.4 | ^7", - "symfony/polyfill-ctype": "^1.8" - }, - "replace": { - "rhumsaa/uuid": "self.version" - }, - "require-dev": { - "codeception/aspect-mock": "^1 | ^2", - "doctrine/annotations": "^1.2", - "goaop/framework": "1.0.0-alpha.2 | ^1 | ^2.1", - "jakub-onderka/php-parallel-lint": "^0.9.0", - "mockery/mockery": "^0.9.9", - "moontoast/math": "^1.1", - "paragonie/random-lib": "^2", - "php-mock/php-mock-phpunit": "^0.3 | ^1.1", - "phpunit/phpunit": "^4.8 | ^5.4 | ^6.5", - "squizlabs/php_codesniffer": "^2.3" - }, - "suggest": { - "ext-ctype": "Provides support for PHP Ctype functions", - "ext-libsodium": "Provides the PECL libsodium extension for use with the SodiumRandomGenerator", - "ext-openssl": "Provides the OpenSSL extension for use with the OpenSslGenerator", - "ext-uuid": "Provides the PECL UUID extension for use with the PeclUuidTimeGenerator and PeclUuidRandomGenerator", - "moontoast/math": "Provides support for converting UUID to 128-bit integer (in string form).", - "paragonie/random-lib": "Provides RandomLib for use with the RandomLibAdapter", - "ramsey/uuid-console": "A console application for generating UUIDs with ramsey/uuid", - "ramsey/uuid-doctrine": "Allows the use of Ramsey\\Uuid\\Uuid as Doctrine field type." - }, - "time": "2019-12-01T04:55:27+00:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.x-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "Ramsey\\Uuid\\": "src/" - }, - "files": [ - "src/functions.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Ben Ramsey", - "email": "ben@benramsey.com", - "homepage": "https://benramsey.com" - }, - { - "name": "Marijn Huizendveld", - "email": "marijn.huizendveld@gmail.com" - }, - { - "name": "Thibaud Fabre", - "email": "thibaud@aztech.io" - } - ], - "description": "Formerly rhumsaa/uuid. A PHP 5.4+ library for generating RFC 4122 version 1, 3, 4, and 5 universally unique identifiers (UUID).", - "homepage": "https://github.com/ramsey/uuid", - "keywords": [ - "guid", - "identifier", - "uuid" - ] - }, - { - "name": "sebastian/code-unit-reverse-lookup", - "version": "1.0.1", - "version_normalized": "1.0.1.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", - "reference": "4419fcdb5eabb9caa61a27c7a1db532a6b55dd18" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/4419fcdb5eabb9caa61a27c7a1db532a6b55dd18", - "reference": "4419fcdb5eabb9caa61a27c7a1db532a6b55dd18", - "shasum": "" - }, - "require": { - "php": "^5.6 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^5.7 || ^6.0" - }, - "time": "2017-03-04T06:30:41+00:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "installation-source": "dist", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Looks up which function or method a line of code belongs to", - "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/" - }, - { - "name": "sebastian/comparator", - "version": "3.0.2", - "version_normalized": "3.0.2.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "5de4fc177adf9bce8df98d8d141a7559d7ccf6da" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/5de4fc177adf9bce8df98d8d141a7559d7ccf6da", - "reference": "5de4fc177adf9bce8df98d8d141a7559d7ccf6da", - "shasum": "" - }, - "require": { - "php": "^7.1", - "sebastian/diff": "^3.0", - "sebastian/exporter": "^3.1" - }, - "require-dev": { - "phpunit/phpunit": "^7.1" - }, - "time": "2018-07-12T15:12:46+00:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "installation-source": "dist", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@2bepublished.at" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Provides the functionality to compare PHP values for equality", - "homepage": "https://github.com/sebastianbergmann/comparator", - "keywords": [ - "comparator", - "compare", - "equality" - ] - }, - { - "name": "sebastian/diff", - "version": "3.0.2", - "version_normalized": "3.0.2.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "720fcc7e9b5cf384ea68d9d930d480907a0c1a29" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/720fcc7e9b5cf384ea68d9d930d480907a0c1a29", - "reference": "720fcc7e9b5cf384ea68d9d930d480907a0c1a29", - "shasum": "" - }, - "require": { - "php": "^7.1" - }, - "require-dev": { - "phpunit/phpunit": "^7.5 || ^8.0", - "symfony/process": "^2 || ^3.3 || ^4" - }, - "time": "2019-02-04T06:01:07+00:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "installation-source": "dist", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Kore Nordmann", - "email": "mail@kore-nordmann.de" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Diff implementation", - "homepage": "https://github.com/sebastianbergmann/diff", - "keywords": [ - "diff", - "udiff", - "unidiff", - "unified diff" - ] - }, - { - "name": "sebastian/environment", - "version": "4.2.3", - "version_normalized": "4.2.3.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "464c90d7bdf5ad4e8a6aea15c091fec0603d4368" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/464c90d7bdf5ad4e8a6aea15c091fec0603d4368", - "reference": "464c90d7bdf5ad4e8a6aea15c091fec0603d4368", - "shasum": "" - }, - "require": { - "php": "^7.1" - }, - "require-dev": { - "phpunit/phpunit": "^7.5" - }, - "suggest": { - "ext-posix": "*" - }, - "time": "2019-11-20T08:46:58+00:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.2-dev" - } - }, - "installation-source": "dist", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Provides functionality to handle HHVM/PHP environments", - "homepage": "http://www.github.com/sebastianbergmann/environment", - "keywords": [ - "Xdebug", - "environment", - "hhvm" - ] - }, - { - "name": "sebastian/exporter", - "version": "3.1.2", - "version_normalized": "3.1.2.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "68609e1261d215ea5b21b7987539cbfbe156ec3e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/68609e1261d215ea5b21b7987539cbfbe156ec3e", - "reference": "68609e1261d215ea5b21b7987539cbfbe156ec3e", - "shasum": "" - }, - "require": { - "php": "^7.0", - "sebastian/recursion-context": "^3.0" - }, - "require-dev": { - "ext-mbstring": "*", - "phpunit/phpunit": "^6.0" - }, - "time": "2019-09-14T09:02:43+00:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.1.x-dev" - } - }, - "installation-source": "dist", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@gmail.com" - } - ], - "description": "Provides the functionality to export PHP variables for visualization", - "homepage": "http://www.github.com/sebastianbergmann/exporter", - "keywords": [ - "export", - "exporter" - ] - }, - { - "name": "sebastian/global-state", - "version": "2.0.0", - "version_normalized": "2.0.0.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4", - "reference": "e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4", - "shasum": "" - }, - "require": { - "php": "^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^6.0" - }, - "suggest": { - "ext-uopz": "*" - }, - "time": "2017-04-27T15:39:26+00:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0-dev" - } - }, - "installation-source": "dist", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Snapshotting of global state", - "homepage": "http://www.github.com/sebastianbergmann/global-state", - "keywords": [ - "global state" - ] - }, - { - "name": "sebastian/object-enumerator", - "version": "3.0.3", - "version_normalized": "3.0.3.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/object-enumerator.git", - "reference": "7cfd9e65d11ffb5af41198476395774d4c8a84c5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/7cfd9e65d11ffb5af41198476395774d4c8a84c5", - "reference": "7cfd9e65d11ffb5af41198476395774d4c8a84c5", - "shasum": "" - }, - "require": { - "php": "^7.0", - "sebastian/object-reflector": "^1.1.1", - "sebastian/recursion-context": "^3.0" - }, - "require-dev": { - "phpunit/phpunit": "^6.0" - }, - "time": "2017-08-03T12:35:26+00:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0.x-dev" - } - }, - "installation-source": "dist", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Traverses array structures and object graphs to enumerate all referenced objects", - "homepage": "https://github.com/sebastianbergmann/object-enumerator/" - }, - { - "name": "sebastian/object-reflector", - "version": "1.1.1", - "version_normalized": "1.1.1.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/object-reflector.git", - "reference": "773f97c67f28de00d397be301821b06708fca0be" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/773f97c67f28de00d397be301821b06708fca0be", - "reference": "773f97c67f28de00d397be301821b06708fca0be", - "shasum": "" - }, - "require": { - "php": "^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^6.0" - }, - "time": "2017-03-29T09:07:27+00:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.1-dev" - } - }, - "installation-source": "dist", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Allows reflection of object attributes, including inherited and non-public ones", - "homepage": "https://github.com/sebastianbergmann/object-reflector/" - }, - { - "name": "sebastian/recursion-context", - "version": "3.0.0", - "version_normalized": "3.0.0.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8", - "reference": "5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8", - "shasum": "" - }, - "require": { - "php": "^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^6.0" - }, - "time": "2017-03-03T06:23:57+00:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0.x-dev" - } - }, - "installation-source": "dist", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" - } - ], - "description": "Provides functionality to recursively process PHP variables", - "homepage": "http://www.github.com/sebastianbergmann/recursion-context" - }, - { - "name": "sebastian/resource-operations", - "version": "2.0.1", - "version_normalized": "2.0.1.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/resource-operations.git", - "reference": "4d7a795d35b889bf80a0cc04e08d77cedfa917a9" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/4d7a795d35b889bf80a0cc04e08d77cedfa917a9", - "reference": "4d7a795d35b889bf80a0cc04e08d77cedfa917a9", - "shasum": "" - }, - "require": { - "php": "^7.1" - }, - "time": "2018-10-04T04:07:39+00:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0-dev" - } - }, - "installation-source": "dist", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Provides a list of PHP built-in functions that operate on resources", - "homepage": "https://www.github.com/sebastianbergmann/resource-operations" - }, - { - "name": "sebastian/version", - "version": "2.0.1", - "version_normalized": "2.0.1.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/version.git", - "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/99732be0ddb3361e16ad77b68ba41efc8e979019", - "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019", - "shasum": "" - }, - "require": { - "php": ">=5.6" - }, - "time": "2016-10-03T07:35:21+00:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "installation-source": "dist", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Library that helps with managing the version number of Git-hosted PHP projects", - "homepage": "https://github.com/sebastianbergmann/version" - }, - { - "name": "swiftmailer/swiftmailer", - "version": "v6.2.3", - "version_normalized": "6.2.3.0", - "source": { - "type": "git", - "url": "https://github.com/swiftmailer/swiftmailer.git", - "reference": "149cfdf118b169f7840bbe3ef0d4bc795d1780c9" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/149cfdf118b169f7840bbe3ef0d4bc795d1780c9", - "reference": "149cfdf118b169f7840bbe3ef0d4bc795d1780c9", - "shasum": "" - }, - "require": { - "egulias/email-validator": "~2.0", - "php": ">=7.0.0", - "symfony/polyfill-iconv": "^1.0", - "symfony/polyfill-intl-idn": "^1.10", - "symfony/polyfill-mbstring": "^1.0" - }, - "require-dev": { - "mockery/mockery": "~0.9.1", - "symfony/phpunit-bridge": "^3.4.19|^4.1.8" - }, - "suggest": { - "ext-intl": "Needed to support internationalized email addresses", - "true/punycode": "Needed to support internationalized email addresses, if ext-intl is not installed" - }, - "time": "2019-11-12T09:31:26+00:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "6.2-dev" - } - }, - "installation-source": "dist", - "autoload": { - "files": [ - "lib/swift_required.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Chris Corbyn" - }, - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - } - ], - "description": "Swiftmailer, free feature-rich PHP mailer", - "homepage": "https://swiftmailer.symfony.com", - "keywords": [ - "email", - "mail", - "mailer" - ] - }, - { - "name": "symfony/console", - "version": "v4.4.1", - "version_normalized": "4.4.1.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/console.git", - "reference": "f0aea3df20d15635b3cb9730ca5eea1c65b7f201" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/f0aea3df20d15635b3cb9730ca5eea1c65b7f201", - "reference": "f0aea3df20d15635b3cb9730ca5eea1c65b7f201", - "shasum": "" - }, - "require": { - "php": "^7.1.3", - "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php73": "^1.8", - "symfony/service-contracts": "^1.1|^2" - }, - "conflict": { - "symfony/dependency-injection": "<3.4", - "symfony/event-dispatcher": "<4.3|>=5", - "symfony/lock": "<4.4", - "symfony/process": "<3.3" - }, - "provide": { - "psr/log-implementation": "1.0" - }, - "require-dev": { - "psr/log": "~1.0", - "symfony/config": "^3.4|^4.0|^5.0", - "symfony/dependency-injection": "^3.4|^4.0|^5.0", - "symfony/event-dispatcher": "^4.3", - "symfony/lock": "^4.4|^5.0", - "symfony/process": "^3.4|^4.0|^5.0", - "symfony/var-dumper": "^4.3|^5.0" - }, - "suggest": { - "psr/log": "For using the console logger", - "symfony/event-dispatcher": "", - "symfony/lock": "", - "symfony/process": "" - }, - "time": "2019-12-01T10:06:17+00:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.4-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "Symfony\\Component\\Console\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Console Component", - "homepage": "https://symfony.com" - }, - { - "name": "symfony/css-selector", - "version": "v4.4.1", - "version_normalized": "4.4.1.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/css-selector.git", - "reference": "64acec7e0d67125e9f4656c68d4a38a42ab5a0b7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/css-selector/zipball/64acec7e0d67125e9f4656c68d4a38a42ab5a0b7", - "reference": "64acec7e0d67125e9f4656c68d4a38a42ab5a0b7", - "shasum": "" - }, - "require": { - "php": "^7.1.3" - }, - "time": "2019-10-12T00:35:04+00:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.4-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "Symfony\\Component\\CssSelector\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Jean-François Simon", - "email": "jeanfrancois.simon@sensiolabs.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony CssSelector Component", - "homepage": "https://symfony.com" - }, - { - "name": "symfony/debug", - "version": "v4.4.1", - "version_normalized": "4.4.1.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/debug.git", - "reference": "b8600a1d7d20b0e80906398bb1f50612fa074a8e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/debug/zipball/b8600a1d7d20b0e80906398bb1f50612fa074a8e", - "reference": "b8600a1d7d20b0e80906398bb1f50612fa074a8e", - "shasum": "" - }, - "require": { - "php": "^7.1.3", - "psr/log": "~1.0" - }, - "conflict": { - "symfony/http-kernel": "<3.4" - }, - "require-dev": { - "symfony/http-kernel": "^3.4|^4.0|^5.0" - }, - "time": "2019-11-28T13:33:56+00:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.4-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "Symfony\\Component\\Debug\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Debug Component", - "homepage": "https://symfony.com" - }, - { - "name": "symfony/error-handler", - "version": "v4.4.1", - "version_normalized": "4.4.1.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/error-handler.git", - "reference": "a1ad02d62789efed1d2b2796f1c15e0c6a00fc3b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/a1ad02d62789efed1d2b2796f1c15e0c6a00fc3b", - "reference": "a1ad02d62789efed1d2b2796f1c15e0c6a00fc3b", - "shasum": "" - }, - "require": { - "php": "^7.1.3", - "psr/log": "~1.0", - "symfony/debug": "^4.4", - "symfony/var-dumper": "^4.4|^5.0" - }, - "require-dev": { - "symfony/http-kernel": "^4.4|^5.0", - "symfony/serializer": "^4.4|^5.0" - }, - "time": "2019-12-01T08:46:01+00:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.4-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "Symfony\\Component\\ErrorHandler\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony ErrorHandler Component", - "homepage": "https://symfony.com" - }, - { - "name": "symfony/event-dispatcher", - "version": "v4.4.1", - "version_normalized": "4.4.1.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "b3c3068a72623287550fe20b84a2b01dcba2686f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/b3c3068a72623287550fe20b84a2b01dcba2686f", - "reference": "b3c3068a72623287550fe20b84a2b01dcba2686f", - "shasum": "" - }, - "require": { - "php": "^7.1.3", - "symfony/event-dispatcher-contracts": "^1.1" - }, - "conflict": { - "symfony/dependency-injection": "<3.4" - }, - "provide": { - "psr/event-dispatcher-implementation": "1.0", - "symfony/event-dispatcher-implementation": "1.1" - }, - "require-dev": { - "psr/log": "~1.0", - "symfony/config": "^3.4|^4.0|^5.0", - "symfony/dependency-injection": "^3.4|^4.0|^5.0", - "symfony/expression-language": "^3.4|^4.0|^5.0", - "symfony/http-foundation": "^3.4|^4.0|^5.0", - "symfony/service-contracts": "^1.1|^2", - "symfony/stopwatch": "^3.4|^4.0|^5.0" - }, - "suggest": { - "symfony/dependency-injection": "", - "symfony/http-kernel": "" - }, - "time": "2019-11-28T13:33:56+00:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.4-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "Symfony\\Component\\EventDispatcher\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony EventDispatcher Component", - "homepage": "https://symfony.com" - }, - { - "name": "symfony/event-dispatcher-contracts", - "version": "v1.1.7", - "version_normalized": "1.1.7.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/event-dispatcher-contracts.git", - "reference": "c43ab685673fb6c8d84220c77897b1d6cdbe1d18" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/c43ab685673fb6c8d84220c77897b1d6cdbe1d18", - "reference": "c43ab685673fb6c8d84220c77897b1d6cdbe1d18", - "shasum": "" - }, - "require": { - "php": "^7.1.3" - }, - "suggest": { - "psr/event-dispatcher": "", - "symfony/event-dispatcher-implementation": "" - }, - "time": "2019-09-17T09:54:03+00:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.1-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "Symfony\\Contracts\\EventDispatcher\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Generic abstractions related to dispatching event", - "homepage": "https://symfony.com", - "keywords": [ - "abstractions", - "contracts", - "decoupling", - "interfaces", - "interoperability", - "standards" - ] - }, - { - "name": "symfony/finder", - "version": "v4.4.1", - "version_normalized": "4.4.1.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/finder.git", - "reference": "ce8743441da64c41e2a667b8eb66070444ed911e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/ce8743441da64c41e2a667b8eb66070444ed911e", - "reference": "ce8743441da64c41e2a667b8eb66070444ed911e", - "shasum": "" - }, - "require": { - "php": "^7.1.3" - }, - "time": "2019-11-17T21:56:56+00:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.4-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "Symfony\\Component\\Finder\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Finder Component", - "homepage": "https://symfony.com" - }, - { - "name": "symfony/http-foundation", - "version": "v4.4.1", - "version_normalized": "4.4.1.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/http-foundation.git", - "reference": "8bccc59e61b41963d14c3dbdb23181e5c932a1d5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/8bccc59e61b41963d14c3dbdb23181e5c932a1d5", - "reference": "8bccc59e61b41963d14c3dbdb23181e5c932a1d5", - "shasum": "" - }, - "require": { - "php": "^7.1.3", - "symfony/mime": "^4.3|^5.0", - "symfony/polyfill-mbstring": "~1.1" - }, - "require-dev": { - "predis/predis": "~1.0", - "symfony/expression-language": "^3.4|^4.0|^5.0" - }, - "time": "2019-11-28T13:33:56+00:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.4-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "Symfony\\Component\\HttpFoundation\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony HttpFoundation Component", - "homepage": "https://symfony.com" - }, - { - "name": "symfony/http-kernel", - "version": "v4.4.1", - "version_normalized": "4.4.1.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/http-kernel.git", - "reference": "e4187780ed26129ee86d5234afbebf085e144f88" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/e4187780ed26129ee86d5234afbebf085e144f88", - "reference": "e4187780ed26129ee86d5234afbebf085e144f88", - "shasum": "" - }, - "require": { - "php": "^7.1.3", - "psr/log": "~1.0", - "symfony/error-handler": "^4.4", - "symfony/event-dispatcher": "^4.4", - "symfony/http-foundation": "^4.4|^5.0", - "symfony/polyfill-ctype": "^1.8", - "symfony/polyfill-php73": "^1.9" - }, - "conflict": { - "symfony/browser-kit": "<4.3", - "symfony/config": "<3.4", - "symfony/console": ">=5", - "symfony/dependency-injection": "<4.3", - "symfony/translation": "<4.2", - "twig/twig": "<1.34|<2.4,>=2" - }, - "provide": { - "psr/log-implementation": "1.0" - }, - "require-dev": { - "psr/cache": "~1.0", - "symfony/browser-kit": "^4.3|^5.0", - "symfony/config": "^3.4|^4.0|^5.0", - "symfony/console": "^3.4|^4.0", - "symfony/css-selector": "^3.4|^4.0|^5.0", - "symfony/dependency-injection": "^4.3|^5.0", - "symfony/dom-crawler": "^3.4|^4.0|^5.0", - "symfony/expression-language": "^3.4|^4.0|^5.0", - "symfony/finder": "^3.4|^4.0|^5.0", - "symfony/process": "^3.4|^4.0|^5.0", - "symfony/routing": "^3.4|^4.0|^5.0", - "symfony/stopwatch": "^3.4|^4.0|^5.0", - "symfony/templating": "^3.4|^4.0|^5.0", - "symfony/translation": "^4.2|^5.0", - "symfony/translation-contracts": "^1.1|^2", - "twig/twig": "^1.34|^2.4|^3.0" - }, - "suggest": { - "symfony/browser-kit": "", - "symfony/config": "", - "symfony/console": "", - "symfony/dependency-injection": "" - }, - "time": "2019-12-01T14:06:38+00:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.4-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "Symfony\\Component\\HttpKernel\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony HttpKernel Component", - "homepage": "https://symfony.com" - }, - { - "name": "symfony/mime", - "version": "v4.4.1", - "version_normalized": "4.4.1.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/mime.git", - "reference": "010cc488e56cafe5f7494dea70aea93100c234df" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/010cc488e56cafe5f7494dea70aea93100c234df", - "reference": "010cc488e56cafe5f7494dea70aea93100c234df", - "shasum": "" - }, - "require": { - "php": "^7.1.3", - "symfony/polyfill-intl-idn": "^1.10", - "symfony/polyfill-mbstring": "^1.0" - }, - "conflict": { - "symfony/mailer": "<4.4" - }, - "require-dev": { - "egulias/email-validator": "^2.1.10", - "symfony/dependency-injection": "^3.4|^4.1|^5.0" - }, - "time": "2019-11-30T08:27:26+00:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.4-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "Symfony\\Component\\Mime\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "A library to manipulate MIME messages", - "homepage": "https://symfony.com", - "keywords": [ - "mime", - "mime-type" - ] - }, - { - "name": "symfony/polyfill-ctype", - "version": "v1.13.1", - "version_normalized": "1.13.1.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "f8f0b461be3385e56d6de3dbb5a0df24c0c275e3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/f8f0b461be3385e56d6de3dbb5a0df24c0c275e3", - "reference": "f8f0b461be3385e56d6de3dbb5a0df24c0c275e3", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "suggest": { - "ext-ctype": "For best performance" - }, - "time": "2019-11-27T13:56:44+00:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.13-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Ctype\\": "" - }, - "files": [ - "bootstrap.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Gert de Pagter", - "email": "BackEndTea@gmail.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for ctype functions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "ctype", - "polyfill", - "portable" - ] - }, - { - "name": "symfony/polyfill-iconv", - "version": "v1.13.1", - "version_normalized": "1.13.1.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-iconv.git", - "reference": "a019efccc03f1a335af6b4f20c30f5ea8060be36" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/a019efccc03f1a335af6b4f20c30f5ea8060be36", - "reference": "a019efccc03f1a335af6b4f20c30f5ea8060be36", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "suggest": { - "ext-iconv": "For best performance" - }, - "time": "2019-11-27T13:56:44+00:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.13-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Iconv\\": "" - }, - "files": [ - "bootstrap.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for the Iconv extension", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "iconv", - "polyfill", - "portable", - "shim" - ] - }, - { - "name": "symfony/polyfill-intl-idn", - "version": "v1.13.1", - "version_normalized": "1.13.1.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-intl-idn.git", - "reference": "6f9c239e61e1b0c9229a28ff89a812dc449c3d46" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/6f9c239e61e1b0c9229a28ff89a812dc449c3d46", - "reference": "6f9c239e61e1b0c9229a28ff89a812dc449c3d46", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "symfony/polyfill-mbstring": "^1.3", - "symfony/polyfill-php72": "^1.9" - }, - "suggest": { - "ext-intl": "For best performance" - }, - "time": "2019-11-27T13:56:44+00:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.13-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Intl\\Idn\\": "" - }, - "files": [ - "bootstrap.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Laurent Bassin", - "email": "laurent@bassin.info" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for intl's idn_to_ascii and idn_to_utf8 functions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "idn", - "intl", - "polyfill", - "portable", - "shim" - ] - }, - { - "name": "symfony/polyfill-mbstring", - "version": "v1.13.1", - "version_normalized": "1.13.1.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "7b4aab9743c30be783b73de055d24a39cf4b954f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/7b4aab9743c30be783b73de055d24a39cf4b954f", - "reference": "7b4aab9743c30be783b73de055d24a39cf4b954f", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "suggest": { - "ext-mbstring": "For best performance" - }, - "time": "2019-11-27T14:18:11+00:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.13-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Mbstring\\": "" - }, - "files": [ - "bootstrap.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for the Mbstring extension", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "mbstring", - "polyfill", - "portable", - "shim" - ] - }, - { - "name": "symfony/polyfill-php72", - "version": "v1.13.1", - "version_normalized": "1.13.1.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php72.git", - "reference": "66fea50f6cb37a35eea048d75a7d99a45b586038" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/66fea50f6cb37a35eea048d75a7d99a45b586038", - "reference": "66fea50f6cb37a35eea048d75a7d99a45b586038", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "time": "2019-11-27T13:56:44+00:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.13-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Php72\\": "" - }, - "files": [ - "bootstrap.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ] - }, - { - "name": "symfony/polyfill-php73", - "version": "v1.13.1", - "version_normalized": "1.13.1.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php73.git", - "reference": "4b0e2222c55a25b4541305a053013d5647d3a25f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/4b0e2222c55a25b4541305a053013d5647d3a25f", - "reference": "4b0e2222c55a25b4541305a053013d5647d3a25f", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "time": "2019-11-27T16:25:15+00:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.13-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Php73\\": "" - }, - "files": [ - "bootstrap.php" - ], - "classmap": [ - "Resources/stubs" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill backporting some PHP 7.3+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ] - }, - { - "name": "symfony/process", - "version": "v4.4.1", - "version_normalized": "4.4.1.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/process.git", - "reference": "51c0135ef3f44c5803b33dc60e96bf4f77752726" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/51c0135ef3f44c5803b33dc60e96bf4f77752726", - "reference": "51c0135ef3f44c5803b33dc60e96bf4f77752726", - "shasum": "" - }, - "require": { - "php": "^7.1.3" - }, - "time": "2019-11-28T13:33:56+00:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.4-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "Symfony\\Component\\Process\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Process Component", - "homepage": "https://symfony.com" - }, - { - "name": "symfony/routing", - "version": "v4.4.1", - "version_normalized": "4.4.1.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/routing.git", - "reference": "51f3f20ad29329a0bdf5c0e2f722d3764b065273" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/51f3f20ad29329a0bdf5c0e2f722d3764b065273", - "reference": "51f3f20ad29329a0bdf5c0e2f722d3764b065273", - "shasum": "" - }, - "require": { - "php": "^7.1.3" - }, - "conflict": { - "symfony/config": "<4.2", - "symfony/dependency-injection": "<3.4", - "symfony/yaml": "<3.4" - }, - "require-dev": { - "doctrine/annotations": "~1.2", - "psr/log": "~1.0", - "symfony/config": "^4.2|^5.0", - "symfony/dependency-injection": "^3.4|^4.0|^5.0", - "symfony/expression-language": "^3.4|^4.0|^5.0", - "symfony/http-foundation": "^3.4|^4.0|^5.0", - "symfony/yaml": "^3.4|^4.0|^5.0" - }, - "suggest": { - "doctrine/annotations": "For using the annotation loader", - "symfony/config": "For using the all-in-one router or any loader", - "symfony/expression-language": "For using expression matching", - "symfony/http-foundation": "For using a Symfony Request object", - "symfony/yaml": "For using the YAML loader" - }, - "time": "2019-12-01T08:39:58+00:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.4-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "Symfony\\Component\\Routing\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Routing Component", - "homepage": "https://symfony.com", - "keywords": [ - "router", - "routing", - "uri", - "url" - ] - }, - { - "name": "symfony/service-contracts", - "version": "v1.1.8", - "version_normalized": "1.1.8.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/service-contracts.git", - "reference": "ffc7f5692092df31515df2a5ecf3b7302b3ddacf" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/ffc7f5692092df31515df2a5ecf3b7302b3ddacf", - "reference": "ffc7f5692092df31515df2a5ecf3b7302b3ddacf", - "shasum": "" - }, - "require": { - "php": "^7.1.3", - "psr/container": "^1.0" - }, - "suggest": { - "symfony/service-implementation": "" - }, - "time": "2019-10-14T12:27:06+00:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.1-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "Symfony\\Contracts\\Service\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Generic abstractions related to writing services", - "homepage": "https://symfony.com", - "keywords": [ - "abstractions", - "contracts", - "decoupling", - "interfaces", - "interoperability", - "standards" - ] - }, - { - "name": "symfony/translation", - "version": "v4.4.1", - "version_normalized": "4.4.1.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/translation.git", - "reference": "897fb68ee7933372517b551d6f08c6d4bb0b8c40" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/897fb68ee7933372517b551d6f08c6d4bb0b8c40", - "reference": "897fb68ee7933372517b551d6f08c6d4bb0b8c40", - "shasum": "" - }, - "require": { - "php": "^7.1.3", - "symfony/polyfill-mbstring": "~1.0", - "symfony/translation-contracts": "^1.1.6|^2" - }, - "conflict": { - "symfony/config": "<3.4", - "symfony/dependency-injection": "<3.4", - "symfony/http-kernel": "<4.4", - "symfony/yaml": "<3.4" - }, - "provide": { - "symfony/translation-implementation": "1.0" - }, - "require-dev": { - "psr/log": "~1.0", - "symfony/config": "^3.4|^4.0|^5.0", - "symfony/console": "^3.4|^4.0|^5.0", - "symfony/dependency-injection": "^3.4|^4.0|^5.0", - "symfony/finder": "~2.8|~3.0|~4.0|^5.0", - "symfony/http-kernel": "^4.4", - "symfony/intl": "^3.4|^4.0|^5.0", - "symfony/service-contracts": "^1.1.2|^2", - "symfony/yaml": "^3.4|^4.0|^5.0" - }, - "suggest": { - "psr/log-implementation": "To use logging capability in translator", - "symfony/config": "", - "symfony/yaml": "" - }, - "time": "2019-11-12T17:18:47+00:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.4-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "Symfony\\Component\\Translation\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Translation Component", - "homepage": "https://symfony.com" - }, - { - "name": "symfony/translation-contracts", - "version": "v1.1.7", - "version_normalized": "1.1.7.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/translation-contracts.git", - "reference": "364518c132c95642e530d9b2d217acbc2ccac3e6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/364518c132c95642e530d9b2d217acbc2ccac3e6", - "reference": "364518c132c95642e530d9b2d217acbc2ccac3e6", - "shasum": "" - }, - "require": { - "php": "^7.1.3" - }, - "suggest": { - "symfony/translation-implementation": "" - }, - "time": "2019-09-17T11:12:18+00:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.1-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "Symfony\\Contracts\\Translation\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Generic abstractions related to translation", - "homepage": "https://symfony.com", - "keywords": [ - "abstractions", - "contracts", - "decoupling", - "interfaces", - "interoperability", - "standards" - ] - }, - { - "name": "symfony/var-dumper", - "version": "v4.4.1", - "version_normalized": "4.4.1.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/var-dumper.git", - "reference": "0a89a1dbbedd9fb2cfb2336556dec8305273c19a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/0a89a1dbbedd9fb2cfb2336556dec8305273c19a", - "reference": "0a89a1dbbedd9fb2cfb2336556dec8305273c19a", - "shasum": "" - }, - "require": { - "php": "^7.1.3", - "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php72": "~1.5" - }, - "conflict": { - "phpunit/phpunit": "<4.8.35|<5.4.3,>=5.0", - "symfony/console": "<3.4" - }, - "require-dev": { - "ext-iconv": "*", - "symfony/console": "^3.4|^4.0|^5.0", - "symfony/process": "^4.4|^5.0", - "twig/twig": "^1.34|^2.4|^3.0" - }, - "suggest": { - "ext-iconv": "To convert non-UTF-8 strings to UTF-8 (or symfony/polyfill-iconv in case ext-iconv cannot be used).", - "ext-intl": "To show region name in time zone dump", - "symfony/console": "To use the ServerDumpCommand and/or the bin/var-dump-server script" - }, - "time": "2019-11-28T13:33:56+00:00", - "bin": [ - "Resources/bin/var-dump-server" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.4-dev" - } - }, - "installation-source": "dist", - "autoload": { - "files": [ - "Resources/functions/dump.php" - ], - "psr-4": { - "Symfony\\Component\\VarDumper\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony mechanism for exploring and dumping PHP variables", - "homepage": "https://symfony.com", - "keywords": [ - "debug", - "dump" - ] - }, - { - "name": "theseer/tokenizer", - "version": "1.1.3", - "version_normalized": "1.1.3.0", - "source": { - "type": "git", - "url": "https://github.com/theseer/tokenizer.git", - "reference": "11336f6f84e16a720dae9d8e6ed5019efa85a0f9" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/theseer/tokenizer/zipball/11336f6f84e16a720dae9d8e6ed5019efa85a0f9", - "reference": "11336f6f84e16a720dae9d8e6ed5019efa85a0f9", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-tokenizer": "*", - "ext-xmlwriter": "*", - "php": "^7.0" - }, - "time": "2019-06-13T22:48:21+00:00", - "type": "library", - "installation-source": "dist", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Arne Blankerts", - "email": "arne@blankerts.de", - "role": "Developer" - } - ], - "description": "A small library for converting tokenized PHP source code into XML and potentially other formats" - }, - { - "name": "tijsverkoyen/css-to-inline-styles", - "version": "2.2.2", - "version_normalized": "2.2.2.0", - "source": { - "type": "git", - "url": "https://github.com/tijsverkoyen/CssToInlineStyles.git", - "reference": "dda2ee426acd6d801d5b7fd1001cde9b5f790e15" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/dda2ee426acd6d801d5b7fd1001cde9b5f790e15", - "reference": "dda2ee426acd6d801d5b7fd1001cde9b5f790e15", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-libxml": "*", - "php": "^5.5 || ^7.0", - "symfony/css-selector": "^2.7 || ^3.0 || ^4.0 || ^5.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" - }, - "time": "2019-10-24T08:53:34+00:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.2.x-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "TijsVerkoyen\\CssToInlineStyles\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Tijs Verkoyen", - "email": "css_to_inline_styles@verkoyen.eu", - "role": "Developer" - } - ], - "description": "CssToInlineStyles is a class that enables you to convert HTML-pages/files into HTML-pages/files with inline styles. This is very useful when you're sending emails.", - "homepage": "https://github.com/tijsverkoyen/CssToInlineStyles" - }, - { - "name": "vlucas/phpdotenv", - "version": "v3.6.0", - "version_normalized": "3.6.0.0", - "source": { - "type": "git", - "url": "https://github.com/vlucas/phpdotenv.git", - "reference": "1bdf24f065975594f6a117f0f1f6cabf1333b156" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/1bdf24f065975594f6a117f0f1f6cabf1333b156", - "reference": "1bdf24f065975594f6a117f0f1f6cabf1333b156", - "shasum": "" - }, - "require": { - "php": "^5.4 || ^7.0", - "phpoption/phpoption": "^1.5", - "symfony/polyfill-ctype": "^1.9" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.0 || ^6.0 || ^7.0" - }, - "time": "2019-09-10T21:37:39+00:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.6-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "Dotenv\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Graham Campbell", - "email": "graham@alt-three.com", - "homepage": "https://gjcampbell.co.uk/" - }, - { - "name": "Vance Lucas", - "email": "vance@vancelucas.com", - "homepage": "https://vancelucas.com/" - } - ], - "description": "Loads environment variables from `.env` to `getenv()`, `$_ENV` and `$_SERVER` automagically.", - "keywords": [ - "dotenv", - "env", - "environment" - ] - }, - { - "name": "webmozart/assert", - "version": "1.6.0", - "version_normalized": "1.6.0.0", - "source": { - "type": "git", - "url": "https://github.com/webmozart/assert.git", - "reference": "573381c0a64f155a0d9a23f4b0c797194805b925" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/webmozart/assert/zipball/573381c0a64f155a0d9a23f4b0c797194805b925", - "reference": "573381c0a64f155a0d9a23f4b0c797194805b925", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0", - "symfony/polyfill-ctype": "^1.8" - }, - "conflict": { - "vimeo/psalm": "<3.6.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.36 || ^7.5.13" - }, - "time": "2019-11-24T13:36:37+00:00", - "type": "library", - "installation-source": "dist", - "autoload": { - "psr-4": { - "Webmozart\\Assert\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Bernhard Schussek", - "email": "bschussek@gmail.com" - } - ], - "description": "Assertions to validate method input/output with nice error messages.", - "keywords": [ - "assert", - "check", - "validate" - ] - } -] diff --git a/paragonik-backend/vendor/dnoegel/php-xdg-base-dir/.gitignore b/paragonik-backend/vendor/dnoegel/php-xdg-base-dir/.gitignore deleted file mode 100644 index 57872d0..0000000 --- a/paragonik-backend/vendor/dnoegel/php-xdg-base-dir/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/vendor/ diff --git a/paragonik-backend/vendor/dnoegel/php-xdg-base-dir/LICENSE b/paragonik-backend/vendor/dnoegel/php-xdg-base-dir/LICENSE deleted file mode 100644 index 029a00a..0000000 --- a/paragonik-backend/vendor/dnoegel/php-xdg-base-dir/LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 2014 Daniel Nögel - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/paragonik-backend/vendor/dnoegel/php-xdg-base-dir/README.md b/paragonik-backend/vendor/dnoegel/php-xdg-base-dir/README.md deleted file mode 100644 index 9e51bbb..0000000 --- a/paragonik-backend/vendor/dnoegel/php-xdg-base-dir/README.md +++ /dev/null @@ -1,38 +0,0 @@ -# XDG Base Directory - -[![Software License](https://img.shields.io/badge/license-MIT-brightgreen.svg?style=flat-square)](LICENSE.md) - -Implementation of XDG Base Directory specification for php - -## Install - -Via Composer - -``` bash -$ composer require dnoegel/php-xdg-base-dir -``` - -## Usage - -``` php -$xdg = \XdgBaseDir\Xdg(); - -echo $xdg->getHomeDir(); -echo $xdg->getHomeConfigDir() -echo $xdg->getHomeDataDir() -echo $xdg->getHomeCacheDir() -echo $xdg->getRuntimeDir() - -$xdg->getDataDirs() // returns array -$xdg->getConfigDirs() // returns array -``` - -## Testing - -``` bash -$ phpunit -``` - -## License - -The MIT License (MIT). Please see [License File](https://github.com/dnoegel/php-xdg-base-dir/blob/master/LICENSE) for more information. diff --git a/paragonik-backend/vendor/dnoegel/php-xdg-base-dir/composer.json b/paragonik-backend/vendor/dnoegel/php-xdg-base-dir/composer.json deleted file mode 100644 index f6caf31..0000000 --- a/paragonik-backend/vendor/dnoegel/php-xdg-base-dir/composer.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "name": "dnoegel/php-xdg-base-dir", - "description": "implementation of xdg base directory specification for php", - "type": "project", - "license": "MIT", - "require": { - "php": ">=5.3.2" - }, - "require-dev": { - "phpunit/phpunit": "@stable" - }, - "autoload": { - "psr-4": { - "XdgBaseDir\\": "src/" - } - } -} diff --git a/paragonik-backend/vendor/dnoegel/php-xdg-base-dir/phpunit.xml.dist b/paragonik-backend/vendor/dnoegel/php-xdg-base-dir/phpunit.xml.dist deleted file mode 100644 index 4000c01..0000000 --- a/paragonik-backend/vendor/dnoegel/php-xdg-base-dir/phpunit.xml.dist +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - ./tests/ - - - - - - ./src/ - - - diff --git a/paragonik-backend/vendor/dnoegel/php-xdg-base-dir/src/Xdg.php b/paragonik-backend/vendor/dnoegel/php-xdg-base-dir/src/Xdg.php deleted file mode 100644 index e2acda1..0000000 --- a/paragonik-backend/vendor/dnoegel/php-xdg-base-dir/src/Xdg.php +++ /dev/null @@ -1,121 +0,0 @@ -getHomeDir() . DIRECTORY_SEPARATOR . '.config'; - - return $path; - } - - /** - * @return string - */ - public function getHomeDataDir() - { - $path = getenv('XDG_DATA_HOME') ?: $this->getHomeDir() . DIRECTORY_SEPARATOR . '.local' . DIRECTORY_SEPARATOR . 'share'; - - return $path; - } - - /** - * @return array - */ - public function getConfigDirs() - { - $configDirs = getenv('XDG_CONFIG_DIRS') ? explode(':', getenv('XDG_CONFIG_DIRS')) : array('/etc/xdg'); - - $paths = array_merge(array($this->getHomeConfigDir()), $configDirs); - - return $paths; - } - - /** - * @return array - */ - public function getDataDirs() - { - $dataDirs = getenv('XDG_DATA_DIRS') ? explode(':', getenv('XDG_DATA_DIRS')) : array('/usr/local/share', '/usr/share'); - - $paths = array_merge(array($this->getHomeDataDir()), $dataDirs); - - return $paths; - } - - /** - * @return string - */ - public function getHomeCacheDir() - { - $path = getenv('XDG_CACHE_HOME') ?: $this->getHomeDir() . DIRECTORY_SEPARATOR . '.cache'; - - return $path; - - } - - public function getRuntimeDir($strict=true) - { - if ($runtimeDir = getenv('XDG_RUNTIME_DIR')) { - return $runtimeDir; - } - - if ($strict) { - throw new \RuntimeException('XDG_RUNTIME_DIR was not set'); - } - - $fallback = sys_get_temp_dir() . DIRECTORY_SEPARATOR . self::RUNTIME_DIR_FALLBACK . getenv('USER'); - - $create = false; - - if (!is_dir($fallback)) { - mkdir($fallback, 0700, true); - } - - $st = lstat($fallback); - - # The fallback must be a directory - if (!$st['mode'] & self::S_IFDIR) { - rmdir($fallback); - $create = true; - } elseif ($st['uid'] != getmyuid() || - $st['mode'] & (self::S_IRWXG | self::S_IRWXO) - ) { - rmdir($fallback); - $create = true; - } - - if ($create) { - mkdir($fallback, 0700, true); - } - - return $fallback; - } - -} diff --git a/paragonik-backend/vendor/dnoegel/php-xdg-base-dir/tests/XdgTest.php b/paragonik-backend/vendor/dnoegel/php-xdg-base-dir/tests/XdgTest.php deleted file mode 100644 index 92c2e07..0000000 --- a/paragonik-backend/vendor/dnoegel/php-xdg-base-dir/tests/XdgTest.php +++ /dev/null @@ -1,116 +0,0 @@ -assertEquals('/fake-dir', $this->getXdg()->getHomeDir()); - } - - public function testGetFallbackHomeDir() - { - putenv('HOME='); - putenv('HOMEDRIVE=C:'); - putenv('HOMEPATH=fake-dir'); - $this->assertEquals('C:/fake-dir', $this->getXdg()->getHomeDir()); - } - - public function testXdgPutCache() - { - putenv('XDG_DATA_HOME=tmp/'); - putenv('XDG_CONFIG_HOME=tmp/'); - putenv('XDG_CACHE_HOME=tmp/'); - $this->assertEquals('tmp/', $this->getXdg()->getHomeCacheDir()); - } - - public function testXdgPutData() - { - putenv('XDG_DATA_HOME=tmp/'); - $this->assertEquals('tmp/', $this->getXdg()->getHomeDataDir()); - } - - public function testXdgPutConfig() - { - putenv('XDG_CONFIG_HOME=tmp/'); - $this->assertEquals('tmp/', $this->getXdg()->getHomeConfigDir()); - } - - public function testXdgDataDirsShouldIncludeHomeDataDir() - { - putenv('XDG_DATA_HOME=tmp/'); - putenv('XDG_CONFIG_HOME=tmp/'); - - $this->assertArrayHasKey('tmp/', array_flip($this->getXdg()->getDataDirs())); - } - - public function testXdgConfigDirsShouldIncludeHomeConfigDir() - { - putenv('XDG_CONFIG_HOME=tmp/'); - - $this->assertArrayHasKey('tmp/', array_flip($this->getXdg()->getConfigDirs())); - } - - /** - * If XDG_RUNTIME_DIR is set, it should be returned - */ - public function testGetRuntimeDir() - { - putenv('XDG_RUNTIME_DIR=/tmp/'); - $runtimeDir = $this->getXdg()->getRuntimeDir(); - - $this->assertEquals(is_dir($runtimeDir), true); - } - - /** - * In strict mode, an exception should be shown if XDG_RUNTIME_DIR does not exist - * - * @expectedException \RuntimeException - */ - public function testGetRuntimeDirShouldThrowException() - { - putenv('XDG_RUNTIME_DIR='); - $this->getXdg()->getRuntimeDir(true); - } - - /** - * In fallback mode a directory should be created - */ - public function testGetRuntimeDirShouldCreateDirectory() - { - putenv('XDG_RUNTIME_DIR='); - $dir = $this->getXdg()->getRuntimeDir(false); - $permission = decoct(fileperms($dir) & 0777); - $this->assertEquals(700, $permission); - } - - /** - * Ensure, that the fallback directories are created with correct permission - */ - public function testGetRuntimeShouldDeleteDirsWithWrongPermission() - { - $runtimeDir = sys_get_temp_dir() . DIRECTORY_SEPARATOR . XdgBaseDir\Xdg::RUNTIME_DIR_FALLBACK . getenv('USER'); - - rmdir($runtimeDir); - mkdir($runtimeDir, 0764, true); - - // Permission should be wrong now - $permission = decoct(fileperms($runtimeDir) & 0777); - $this->assertEquals(764, $permission); - - putenv('XDG_RUNTIME_DIR='); - $dir = $this->getXdg()->getRuntimeDir(false); - - // Permission should be fixed - $permission = decoct(fileperms($dir) & 0777); - $this->assertEquals(700, $permission); - } -} diff --git a/paragonik-backend/vendor/doctrine/inflector/LICENSE b/paragonik-backend/vendor/doctrine/inflector/LICENSE deleted file mode 100644 index 8c38cc1..0000000 --- a/paragonik-backend/vendor/doctrine/inflector/LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 2006-2015 Doctrine Project - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -of the Software, and to permit persons to whom the Software is furnished to do -so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/paragonik-backend/vendor/doctrine/inflector/README.md b/paragonik-backend/vendor/doctrine/inflector/README.md deleted file mode 100644 index acb55a0..0000000 --- a/paragonik-backend/vendor/doctrine/inflector/README.md +++ /dev/null @@ -1,6 +0,0 @@ -# Doctrine Inflector - -Doctrine Inflector is a small library that can perform string manipulations -with regard to upper-/lowercase and singular/plural forms of words. - -[![Build Status](https://travis-ci.org/doctrine/inflector.svg?branch=master)](https://travis-ci.org/doctrine/inflector) diff --git a/paragonik-backend/vendor/doctrine/inflector/composer.json b/paragonik-backend/vendor/doctrine/inflector/composer.json deleted file mode 100644 index 2189ff1..0000000 --- a/paragonik-backend/vendor/doctrine/inflector/composer.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "name": "doctrine/inflector", - "type": "library", - "description": "Common String Manipulations with regard to casing and singular/plural rules.", - "keywords": ["string", "inflection", "singularize", "pluralize"], - "homepage": "http://www.doctrine-project.org", - "license": "MIT", - "authors": [ - {"name": "Guilherme Blanco", "email": "guilhermeblanco@gmail.com"}, - {"name": "Roman Borschel", "email": "roman@code-factory.org"}, - {"name": "Benjamin Eberlei", "email": "kontakt@beberlei.de"}, - {"name": "Jonathan Wage", "email": "jonwage@gmail.com"}, - {"name": "Johannes Schmitt", "email": "schmittjoh@gmail.com"} - ], - "require": { - "php": "^7.1" - }, - "require-dev": { - "phpunit/phpunit": "^6.2" - }, - "autoload": { - "psr-4": { "Doctrine\\Common\\Inflector\\": "lib/Doctrine/Common/Inflector" } - }, - "autoload-dev": { - "psr-4": { "Doctrine\\Tests\\Common\\Inflector\\": "tests/Doctrine/Tests/Common/Inflector" } - }, - "extra": { - "branch-alias": { - "dev-master": "1.3.x-dev" - } - } -} diff --git a/paragonik-backend/vendor/doctrine/inflector/docs/en/index.rst b/paragonik-backend/vendor/doctrine/inflector/docs/en/index.rst deleted file mode 100644 index ddfeb50..0000000 --- a/paragonik-backend/vendor/doctrine/inflector/docs/en/index.rst +++ /dev/null @@ -1,125 +0,0 @@ -Introduction -============ - -The Doctrine Inflector has static methods for inflecting text. -The features include pluralization, singularization, -converting between camelCase and under_score and capitalizing -words. - -All you need to use the Inflector is the ``Doctrine\Common\Inflector\Inflector`` -class. - -Installation -============ - -You can install the Inflector with composer: - -.. code-block:: - - $ composer require doctrine/inflector - -Here are the available methods that you can use: - -Tableize -======== - -Converts ``ModelName`` to ``model_name``: - -.. code-block:: php - - echo Inflector::tableize('ModelName'); // model_name - -Classify -======== - -Converts ``model_name`` to ``ModelName``: - -.. code-block:: php - - echo Inflector::classify('model_name'); // ModelName - -Camelize -======== - -This method uses `Classify`_ and then converts the first character to lowercase: - -.. code-block:: php - - echo Inflector::camelize('model_name'); // modelName - -ucwords -======= - -Takes a string and capitalizes all of the words, like PHP's built-in -ucwords function. This extends that behavior, however, by allowing the -word delimiters to be configured, rather than only separating on -whitespace. - -Here is an example: - -.. code-block:: php - - $string = 'top-o-the-morning to all_of_you!'; - - echo Inflector::ucwords($string); // Top-O-The-Morning To All_of_you! - - echo Inflector::ucwords($string, '-_ '); // Top-O-The-Morning To All_Of_You! - -Pluralize -========= - -Returns a word in plural form. - -.. code-block:: php - - echo Inflector::pluralize('browser'); // browsers - -Singularize -=========== - -.. code-block:: php - - echo Inflector::singularize('browsers'); // browser - -Rules -===== - -Customize the rules for pluralization and singularization: - -.. code-block:: php - - Inflector::rules('plural', ['/^(inflect)or$/i' => '\1ables']); - Inflector::rules('plural', [ - 'rules' => ['/^(inflect)ors$/i' => '\1ables'], - 'uninflected' => ['dontinflectme'], - 'irregular' => ['red' => 'redlings'] - ]); - -The arguments for the ``rules`` method are: - -- ``$type`` - The type of inflection, either ``plural`` or ``singular`` -- ``$rules`` - An array of rules to be added. -- ``$reset`` - If true, will unset default inflections for all new rules that are being defined in $rules. - -Reset -===== - -Clears Inflectors inflected value caches, and resets the inflection -rules to the initial values. - -.. code-block:: php - - Inflector::reset(); - -Slugify -======= - -You can easily use the Inflector to create a slug from a string of text -by using the `tableize`_ method and replacing underscores with hyphens: - -.. code-block:: php - - public static function slugify(string $text) : string - { - return str_replace('_', '-', Inflector::tableize($text)); - } diff --git a/paragonik-backend/vendor/doctrine/inflector/lib/Doctrine/Common/Inflector/Inflector.php b/paragonik-backend/vendor/doctrine/inflector/lib/Doctrine/Common/Inflector/Inflector.php deleted file mode 100644 index 35b5c68..0000000 --- a/paragonik-backend/vendor/doctrine/inflector/lib/Doctrine/Common/Inflector/Inflector.php +++ /dev/null @@ -1,492 +0,0 @@ -. - */ - -namespace Doctrine\Common\Inflector; - -/** - * Doctrine inflector has static methods for inflecting text. - * - * The methods in these classes are from several different sources collected - * across several different php projects and several different authors. The - * original author names and emails are not known. - * - * Pluralize & Singularize implementation are borrowed from CakePHP with some modifications. - * - * @link www.doctrine-project.org - * @since 1.0 - * @author Konsta Vesterinen - * @author Jonathan H. Wage - */ -class Inflector -{ - /** - * Plural inflector rules. - * - * @var string[][] - */ - private static $plural = array( - 'rules' => array( - '/(s)tatus$/i' => '\1\2tatuses', - '/(quiz)$/i' => '\1zes', - '/^(ox)$/i' => '\1\2en', - '/([m|l])ouse$/i' => '\1ice', - '/(matr|vert|ind)(ix|ex)$/i' => '\1ices', - '/(x|ch|ss|sh)$/i' => '\1es', - '/([^aeiouy]|qu)y$/i' => '\1ies', - '/(hive|gulf)$/i' => '\1s', - '/(?:([^f])fe|([lr])f)$/i' => '\1\2ves', - '/sis$/i' => 'ses', - '/([ti])um$/i' => '\1a', - '/(c)riterion$/i' => '\1riteria', - '/(p)erson$/i' => '\1eople', - '/(m)an$/i' => '\1en', - '/(c)hild$/i' => '\1hildren', - '/(f)oot$/i' => '\1eet', - '/(buffal|her|potat|tomat|volcan)o$/i' => '\1\2oes', - '/(alumn|bacill|cact|foc|fung|nucle|radi|stimul|syllab|termin|vir)us$/i' => '\1i', - '/us$/i' => 'uses', - '/(alias)$/i' => '\1es', - '/(analys|ax|cris|test|thes)is$/i' => '\1es', - '/s$/' => 's', - '/^$/' => '', - '/$/' => 's', - ), - 'uninflected' => array( - '.*[nrlm]ese', - '.*deer', - '.*fish', - '.*measles', - '.*ois', - '.*pox', - '.*sheep', - 'people', - 'cookie', - 'police', - ), - 'irregular' => array( - 'atlas' => 'atlases', - 'axe' => 'axes', - 'beef' => 'beefs', - 'brother' => 'brothers', - 'cafe' => 'cafes', - 'canvas' => 'canvases', - 'chateau' => 'chateaux', - 'niveau' => 'niveaux', - 'child' => 'children', - 'cookie' => 'cookies', - 'corpus' => 'corpuses', - 'cow' => 'cows', - 'criterion' => 'criteria', - 'curriculum' => 'curricula', - 'demo' => 'demos', - 'domino' => 'dominoes', - 'echo' => 'echoes', - 'foot' => 'feet', - 'fungus' => 'fungi', - 'ganglion' => 'ganglions', - 'gas' => 'gases', - 'genie' => 'genies', - 'genus' => 'genera', - 'goose' => 'geese', - 'graffito' => 'graffiti', - 'hippopotamus' => 'hippopotami', - 'hoof' => 'hoofs', - 'human' => 'humans', - 'iris' => 'irises', - 'larva' => 'larvae', - 'leaf' => 'leaves', - 'loaf' => 'loaves', - 'man' => 'men', - 'medium' => 'media', - 'memorandum' => 'memoranda', - 'money' => 'monies', - 'mongoose' => 'mongooses', - 'motto' => 'mottoes', - 'move' => 'moves', - 'mythos' => 'mythoi', - 'niche' => 'niches', - 'nucleus' => 'nuclei', - 'numen' => 'numina', - 'occiput' => 'occiputs', - 'octopus' => 'octopuses', - 'opus' => 'opuses', - 'ox' => 'oxen', - 'passerby' => 'passersby', - 'penis' => 'penises', - 'person' => 'people', - 'plateau' => 'plateaux', - 'runner-up' => 'runners-up', - 'sex' => 'sexes', - 'soliloquy' => 'soliloquies', - 'son-in-law' => 'sons-in-law', - 'syllabus' => 'syllabi', - 'testis' => 'testes', - 'thief' => 'thieves', - 'tooth' => 'teeth', - 'tornado' => 'tornadoes', - 'trilby' => 'trilbys', - 'turf' => 'turfs', - 'valve' => 'valves', - 'volcano' => 'volcanoes', - ) - ); - - /** - * Singular inflector rules. - * - * @var string[][] - */ - private static $singular = array( - 'rules' => array( - '/(s)tatuses$/i' => '\1\2tatus', - '/^(.*)(menu)s$/i' => '\1\2', - '/(quiz)zes$/i' => '\\1', - '/(matr)ices$/i' => '\1ix', - '/(vert|ind)ices$/i' => '\1ex', - '/^(ox)en/i' => '\1', - '/(alias)(es)*$/i' => '\1', - '/(buffal|her|potat|tomat|volcan)oes$/i' => '\1o', - '/(alumn|bacill|cact|foc|fung|nucle|radi|stimul|syllab|termin|viri?)i$/i' => '\1us', - '/([ftw]ax)es/i' => '\1', - '/(analys|ax|cris|test|thes)es$/i' => '\1is', - '/(shoe|slave)s$/i' => '\1', - '/(o)es$/i' => '\1', - '/ouses$/' => 'ouse', - '/([^a])uses$/' => '\1us', - '/([m|l])ice$/i' => '\1ouse', - '/(x|ch|ss|sh)es$/i' => '\1', - '/(m)ovies$/i' => '\1\2ovie', - '/(s)eries$/i' => '\1\2eries', - '/([^aeiouy]|qu)ies$/i' => '\1y', - '/([lr])ves$/i' => '\1f', - '/(tive)s$/i' => '\1', - '/(hive)s$/i' => '\1', - '/(drive)s$/i' => '\1', - '/(dive)s$/i' => '\1', - '/(olive)s$/i' => '\1', - '/([^fo])ves$/i' => '\1fe', - '/(^analy)ses$/i' => '\1sis', - '/(analy|diagno|^ba|(p)arenthe|(p)rogno|(s)ynop|(t)he)ses$/i' => '\1\2sis', - '/(c)riteria$/i' => '\1riterion', - '/([ti])a$/i' => '\1um', - '/(p)eople$/i' => '\1\2erson', - '/(m)en$/i' => '\1an', - '/(c)hildren$/i' => '\1\2hild', - '/(f)eet$/i' => '\1oot', - '/(n)ews$/i' => '\1\2ews', - '/eaus$/' => 'eau', - '/^(.*us)$/' => '\\1', - '/s$/i' => '', - ), - 'uninflected' => array( - '.*[nrlm]ese', - '.*deer', - '.*fish', - '.*measles', - '.*ois', - '.*pox', - '.*sheep', - '.*ss', - 'data', - 'police', - 'pants', - 'clothes', - ), - 'irregular' => array( - 'abuses' => 'abuse', - 'avalanches' => 'avalanche', - 'caches' => 'cache', - 'criteria' => 'criterion', - 'curves' => 'curve', - 'emphases' => 'emphasis', - 'foes' => 'foe', - 'geese' => 'goose', - 'graves' => 'grave', - 'hoaxes' => 'hoax', - 'media' => 'medium', - 'neuroses' => 'neurosis', - 'waves' => 'wave', - 'oases' => 'oasis', - 'valves' => 'valve', - ) - ); - - /** - * Words that should not be inflected. - * - * @var array - */ - private static $uninflected = array( - '.*?media', 'Amoyese', 'audio', 'bison', 'Borghese', 'bream', 'breeches', - 'britches', 'buffalo', 'cantus', 'carp', 'chassis', 'clippers', 'cod', 'coitus', 'compensation', 'Congoese', - 'contretemps', 'coreopsis', 'corps', 'data', 'debris', 'deer', 'diabetes', 'djinn', 'education', 'eland', - 'elk', 'emoji', 'equipment', 'evidence', 'Faroese', 'feedback', 'fish', 'flounder', 'Foochowese', - 'Furniture', 'furniture', 'gallows', 'Genevese', 'Genoese', 'Gilbertese', 'gold', - 'headquarters', 'herpes', 'hijinks', 'Hottentotese', 'information', 'innings', 'jackanapes', 'jedi', - 'Kiplingese', 'knowledge', 'Kongoese', 'love', 'Lucchese', 'Luggage', 'mackerel', 'Maltese', 'metadata', - 'mews', 'moose', 'mumps', 'Nankingese', 'news', 'nexus', 'Niasese', 'nutrition', 'offspring', - 'Pekingese', 'Piedmontese', 'pincers', 'Pistoiese', 'plankton', 'pliers', 'pokemon', 'police', 'Portuguese', - 'proceedings', 'rabies', 'rain', 'rhinoceros', 'rice', 'salmon', 'Sarawakese', 'scissors', 'sea[- ]bass', - 'series', 'Shavese', 'shears', 'sheep', 'siemens', 'species', 'staff', 'swine', 'traffic', - 'trousers', 'trout', 'tuna', 'us', 'Vermontese', 'Wenchowese', 'wheat', 'whiting', 'wildebeest', 'Yengeese' - ); - - /** - * Method cache array. - * - * @var array - */ - private static $cache = array(); - - /** - * The initial state of Inflector so reset() works. - * - * @var array - */ - private static $initialState = array(); - - /** - * Converts a word into the format for a Doctrine table name. Converts 'ModelName' to 'model_name'. - */ - public static function tableize(string $word) : string - { - return strtolower(preg_replace('~(?<=\\w)([A-Z])~', '_$1', $word)); - } - - /** - * Converts a word into the format for a Doctrine class name. Converts 'table_name' to 'TableName'. - */ - public static function classify(string $word) : string - { - return str_replace([' ', '_', '-'], '', ucwords($word, ' _-')); - } - - /** - * Camelizes a word. This uses the classify() method and turns the first character to lowercase. - */ - public static function camelize(string $word) : string - { - return lcfirst(self::classify($word)); - } - - /** - * Uppercases words with configurable delimeters between words. - * - * Takes a string and capitalizes all of the words, like PHP's built-in - * ucwords function. This extends that behavior, however, by allowing the - * word delimeters to be configured, rather than only separating on - * whitespace. - * - * Here is an example: - * - * - * - * - * @param string $string The string to operate on. - * @param string $delimiters A list of word separators. - * - * @return string The string with all delimeter-separated words capitalized. - */ - public static function ucwords(string $string, string $delimiters = " \n\t\r\0\x0B-") : string - { - return ucwords($string, $delimiters); - } - - /** - * Clears Inflectors inflected value caches, and resets the inflection - * rules to the initial values. - */ - public static function reset() : void - { - if (empty(self::$initialState)) { - self::$initialState = get_class_vars('Inflector'); - - return; - } - - foreach (self::$initialState as $key => $val) { - if ($key !== 'initialState') { - self::${$key} = $val; - } - } - } - - /** - * Adds custom inflection $rules, of either 'plural' or 'singular' $type. - * - * ### Usage: - * - * {{{ - * Inflector::rules('plural', array('/^(inflect)or$/i' => '\1ables')); - * Inflector::rules('plural', array( - * 'rules' => array('/^(inflect)ors$/i' => '\1ables'), - * 'uninflected' => array('dontinflectme'), - * 'irregular' => array('red' => 'redlings') - * )); - * }}} - * - * @param string $type The type of inflection, either 'plural' or 'singular' - * @param array|iterable $rules An array of rules to be added. - * @param boolean $reset If true, will unset default inflections for all - * new rules that are being defined in $rules. - * - * @return void - */ - public static function rules(string $type, iterable $rules, bool $reset = false) : void - { - foreach ($rules as $rule => $pattern) { - if ( ! is_array($pattern)) { - continue; - } - - if ($reset) { - self::${$type}[$rule] = $pattern; - } else { - self::${$type}[$rule] = ($rule === 'uninflected') - ? array_merge($pattern, self::${$type}[$rule]) - : $pattern + self::${$type}[$rule]; - } - - unset($rules[$rule], self::${$type}['cache' . ucfirst($rule)]); - - if (isset(self::${$type}['merged'][$rule])) { - unset(self::${$type}['merged'][$rule]); - } - - if ($type === 'plural') { - self::$cache['pluralize'] = self::$cache['tableize'] = array(); - } elseif ($type === 'singular') { - self::$cache['singularize'] = array(); - } - } - - self::${$type}['rules'] = $rules + self::${$type}['rules']; - } - - /** - * Returns a word in plural form. - * - * @param string $word The word in singular form. - * - * @return string The word in plural form. - */ - public static function pluralize(string $word) : string - { - if (isset(self::$cache['pluralize'][$word])) { - return self::$cache['pluralize'][$word]; - } - - if (!isset(self::$plural['merged']['irregular'])) { - self::$plural['merged']['irregular'] = self::$plural['irregular']; - } - - if (!isset(self::$plural['merged']['uninflected'])) { - self::$plural['merged']['uninflected'] = array_merge(self::$plural['uninflected'], self::$uninflected); - } - - if (!isset(self::$plural['cacheUninflected']) || !isset(self::$plural['cacheIrregular'])) { - self::$plural['cacheUninflected'] = '(?:' . implode('|', self::$plural['merged']['uninflected']) . ')'; - self::$plural['cacheIrregular'] = '(?:' . implode('|', array_keys(self::$plural['merged']['irregular'])) . ')'; - } - - if (preg_match('/(.*)\\b(' . self::$plural['cacheIrregular'] . ')$/i', $word, $regs)) { - self::$cache['pluralize'][$word] = $regs[1] . $word[0] . substr(self::$plural['merged']['irregular'][strtolower($regs[2])], 1); - - return self::$cache['pluralize'][$word]; - } - - if (preg_match('/^(' . self::$plural['cacheUninflected'] . ')$/i', $word, $regs)) { - self::$cache['pluralize'][$word] = $word; - - return $word; - } - - foreach (self::$plural['rules'] as $rule => $replacement) { - if (preg_match($rule, $word)) { - self::$cache['pluralize'][$word] = preg_replace($rule, $replacement, $word); - - return self::$cache['pluralize'][$word]; - } - } - } - - /** - * Returns a word in singular form. - * - * @param string $word The word in plural form. - * - * @return string The word in singular form. - */ - public static function singularize(string $word) : string - { - if (isset(self::$cache['singularize'][$word])) { - return self::$cache['singularize'][$word]; - } - - if (!isset(self::$singular['merged']['uninflected'])) { - self::$singular['merged']['uninflected'] = array_merge( - self::$singular['uninflected'], - self::$uninflected - ); - } - - if (!isset(self::$singular['merged']['irregular'])) { - self::$singular['merged']['irregular'] = array_merge( - self::$singular['irregular'], - array_flip(self::$plural['irregular']) - ); - } - - if (!isset(self::$singular['cacheUninflected']) || !isset(self::$singular['cacheIrregular'])) { - self::$singular['cacheUninflected'] = '(?:' . implode('|', self::$singular['merged']['uninflected']) . ')'; - self::$singular['cacheIrregular'] = '(?:' . implode('|', array_keys(self::$singular['merged']['irregular'])) . ')'; - } - - if (preg_match('/(.*)\\b(' . self::$singular['cacheIrregular'] . ')$/i', $word, $regs)) { - self::$cache['singularize'][$word] = $regs[1] . $word[0] . substr(self::$singular['merged']['irregular'][strtolower($regs[2])], 1); - - return self::$cache['singularize'][$word]; - } - - if (preg_match('/^(' . self::$singular['cacheUninflected'] . ')$/i', $word, $regs)) { - self::$cache['singularize'][$word] = $word; - - return $word; - } - - foreach (self::$singular['rules'] as $rule => $replacement) { - if (preg_match($rule, $word)) { - self::$cache['singularize'][$word] = preg_replace($rule, $replacement, $word); - - return self::$cache['singularize'][$word]; - } - } - - self::$cache['singularize'][$word] = $word; - - return $word; - } -} diff --git a/paragonik-backend/vendor/doctrine/instantiator/.doctrine-project.json b/paragonik-backend/vendor/doctrine/instantiator/.doctrine-project.json deleted file mode 100644 index 4fe86ee..0000000 --- a/paragonik-backend/vendor/doctrine/instantiator/.doctrine-project.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "active": true, - "name": "Instantiator", - "slug": "instantiator", - "docsSlug": "doctrine-instantiator", - "codePath": "/src", - "versions": [ - { - "name": "1.1", - "branchName": "master", - "slug": "latest", - "aliases": [ - "current", - "stable" - ], - "maintained": true, - "current": true - }, - { - "name": "1.0", - "branchName": "1.0.x", - "slug": "1.0" - } - ] -} - diff --git a/paragonik-backend/vendor/doctrine/instantiator/.github/FUNDING.yml b/paragonik-backend/vendor/doctrine/instantiator/.github/FUNDING.yml deleted file mode 100644 index 9a35064..0000000 --- a/paragonik-backend/vendor/doctrine/instantiator/.github/FUNDING.yml +++ /dev/null @@ -1,3 +0,0 @@ -patreon: phpdoctrine -tidelift: packagist/doctrine%2Finstantiator -custom: https://www.doctrine-project.org/sponsorship.html diff --git a/paragonik-backend/vendor/doctrine/instantiator/CONTRIBUTING.md b/paragonik-backend/vendor/doctrine/instantiator/CONTRIBUTING.md deleted file mode 100644 index c1a2c42..0000000 --- a/paragonik-backend/vendor/doctrine/instantiator/CONTRIBUTING.md +++ /dev/null @@ -1,35 +0,0 @@ -# Contributing - - * Follow the [Doctrine Coding Standard](https://github.com/doctrine/coding-standard) - * The project will follow strict [object calisthenics](http://www.slideshare.net/guilhermeblanco/object-calisthenics-applied-to-php) - * Any contribution must provide tests for additional introduced conditions - * Any un-confirmed issue needs a failing test case before being accepted - * Pull requests must be sent from a new hotfix/feature branch, not from `master`. - -## Installation - -To install the project and run the tests, you need to clone it first: - -```sh -$ git clone git://github.com/doctrine/instantiator.git -``` - -You will then need to run a composer installation: - -```sh -$ cd Instantiator -$ curl -s https://getcomposer.org/installer | php -$ php composer.phar update -``` - -## Testing - -The PHPUnit version to be used is the one installed as a dev- dependency via composer: - -```sh -$ ./vendor/bin/phpunit -``` - -Accepted coverage for new contributions is 80%. Any contribution not satisfying this requirement -won't be merged. - diff --git a/paragonik-backend/vendor/doctrine/instantiator/LICENSE b/paragonik-backend/vendor/doctrine/instantiator/LICENSE deleted file mode 100644 index 4d983d1..0000000 --- a/paragonik-backend/vendor/doctrine/instantiator/LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 2014 Doctrine Project - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -of the Software, and to permit persons to whom the Software is furnished to do -so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/paragonik-backend/vendor/doctrine/instantiator/README.md b/paragonik-backend/vendor/doctrine/instantiator/README.md deleted file mode 100644 index eff5a0c..0000000 --- a/paragonik-backend/vendor/doctrine/instantiator/README.md +++ /dev/null @@ -1,39 +0,0 @@ -# Instantiator - -This library provides a way of avoiding usage of constructors when instantiating PHP classes. - -[![Build Status](https://travis-ci.org/doctrine/instantiator.svg?branch=master)](https://travis-ci.org/doctrine/instantiator) -[![Code Coverage](https://scrutinizer-ci.com/g/doctrine/instantiator/badges/coverage.png?b=master)](https://scrutinizer-ci.com/g/doctrine/instantiator/?branch=master) -[![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/doctrine/instantiator/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/doctrine/instantiator/?branch=master) -[![Dependency Status](https://www.versioneye.com/package/php--doctrine--instantiator/badge.svg)](https://www.versioneye.com/package/php--doctrine--instantiator) - -[![Latest Stable Version](https://poser.pugx.org/doctrine/instantiator/v/stable.png)](https://packagist.org/packages/doctrine/instantiator) -[![Latest Unstable Version](https://poser.pugx.org/doctrine/instantiator/v/unstable.png)](https://packagist.org/packages/doctrine/instantiator) - -## Installation - -The suggested installation method is via [composer](https://getcomposer.org/): - -```sh -php composer.phar require "doctrine/instantiator:~1.0.3" -``` - -## Usage - -The instantiator is able to create new instances of any class without using the constructor or any API of the class -itself: - -```php -$instantiator = new \Doctrine\Instantiator\Instantiator(); - -$instance = $instantiator->instantiate(\My\ClassName\Here::class); -``` - -## Contributing - -Please read the [CONTRIBUTING.md](CONTRIBUTING.md) contents if you wish to help out! - -## Credits - -This library was migrated from [ocramius/instantiator](https://github.com/Ocramius/Instantiator), which -has been donated to the doctrine organization, and which is now deprecated in favour of this package. diff --git a/paragonik-backend/vendor/doctrine/instantiator/composer.json b/paragonik-backend/vendor/doctrine/instantiator/composer.json deleted file mode 100644 index 9002a91..0000000 --- a/paragonik-backend/vendor/doctrine/instantiator/composer.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "name": "doctrine/instantiator", - "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", - "type": "library", - "license": "MIT", - "homepage": "https://www.doctrine-project.org/projects/instantiator.html", - "keywords": [ - "instantiate", - "constructor" - ], - "authors": [ - { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com", - "homepage": "http://ocramius.github.com/" - } - ], - "require": { - "php": "^7.1" - }, - "require-dev": { - "ext-phar": "*", - "ext-pdo": "*", - "doctrine/coding-standard": "^6.0", - "phpbench/phpbench": "^0.13", - "phpstan/phpstan-phpunit": "^0.11", - "phpstan/phpstan-shim": "^0.11", - "phpunit/phpunit": "^7.0" - }, - "autoload": { - "psr-4": { - "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" - } - }, - "autoload-dev": { - "psr-0": { - "DoctrineTest\\InstantiatorPerformance\\": "tests", - "DoctrineTest\\InstantiatorTest\\": "tests", - "DoctrineTest\\InstantiatorTestAsset\\": "tests" - } - }, - "extra": { - "branch-alias": { - "dev-master": "1.2.x-dev" - } - } -} diff --git a/paragonik-backend/vendor/doctrine/instantiator/docs/en/index.rst b/paragonik-backend/vendor/doctrine/instantiator/docs/en/index.rst deleted file mode 100644 index 0c85da0..0000000 --- a/paragonik-backend/vendor/doctrine/instantiator/docs/en/index.rst +++ /dev/null @@ -1,68 +0,0 @@ -Introduction -============ - -This library provides a way of avoiding usage of constructors when instantiating PHP classes. - -Installation -============ - -The suggested installation method is via `composer`_: - -.. code-block:: console - - $ composer require doctrine/instantiator - -Usage -===== - -The instantiator is able to create new instances of any class without -using the constructor or any API of the class itself: - -.. code-block:: php - - instantiate(User::class); - -Contributing -============ - -- Follow the `Doctrine Coding Standard`_ -- The project will follow strict `object calisthenics`_ -- Any contribution must provide tests for additional introduced - conditions -- Any un-confirmed issue needs a failing test case before being - accepted -- Pull requests must be sent from a new hotfix/feature branch, not from - ``master``. - -Testing -======= - -The PHPUnit version to be used is the one installed as a dev- dependency -via composer: - -.. code-block:: console - - $ ./vendor/bin/phpunit - -Accepted coverage for new contributions is 80%. Any contribution not -satisfying this requirement won’t be merged. - -Credits -======= - -This library was migrated from `ocramius/instantiator`_, which has been -donated to the doctrine organization, and which is now deprecated in -favour of this package. - -.. _composer: https://getcomposer.org/ -.. _CONTRIBUTING.md: CONTRIBUTING.md -.. _ocramius/instantiator: https://github.com/Ocramius/Instantiator -.. _Doctrine Coding Standard: https://github.com/doctrine/coding-standard -.. _object calisthenics: http://www.slideshare.net/guilhermeblanco/object-calisthenics-applied-to-php diff --git a/paragonik-backend/vendor/doctrine/instantiator/docs/en/sidebar.rst b/paragonik-backend/vendor/doctrine/instantiator/docs/en/sidebar.rst deleted file mode 100644 index 0c36479..0000000 --- a/paragonik-backend/vendor/doctrine/instantiator/docs/en/sidebar.rst +++ /dev/null @@ -1,4 +0,0 @@ -.. toctree:: - :depth: 3 - - index diff --git a/paragonik-backend/vendor/doctrine/instantiator/phpbench.json b/paragonik-backend/vendor/doctrine/instantiator/phpbench.json deleted file mode 100644 index fce5dd6..0000000 --- a/paragonik-backend/vendor/doctrine/instantiator/phpbench.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "bootstrap": "vendor/autoload.php", - "path": "tests/DoctrineTest/InstantiatorPerformance" -} diff --git a/paragonik-backend/vendor/doctrine/instantiator/phpcs.xml.dist b/paragonik-backend/vendor/doctrine/instantiator/phpcs.xml.dist deleted file mode 100644 index 1fcac4a..0000000 --- a/paragonik-backend/vendor/doctrine/instantiator/phpcs.xml.dist +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - - - - - - - src - tests - - - - - - - - - - tests/DoctrineTest/InstantiatorTestAsset/AbstractClassAsset.php - - - - src/Doctrine/Instantiator/Exception/UnexpectedValueException.php - src/Doctrine/Instantiator/Exception/InvalidArgumentException.php - - - - src/Doctrine/Instantiator/Exception/ExceptionInterface.php - src/Doctrine/Instantiator/InstantiatorInterface.php - - diff --git a/paragonik-backend/vendor/doctrine/instantiator/phpstan.neon.dist b/paragonik-backend/vendor/doctrine/instantiator/phpstan.neon.dist deleted file mode 100644 index ecc38ef..0000000 --- a/paragonik-backend/vendor/doctrine/instantiator/phpstan.neon.dist +++ /dev/null @@ -1,19 +0,0 @@ -includes: - - vendor/phpstan/phpstan-phpunit/extension.neon - - vendor/phpstan/phpstan-phpunit/rules.neon - -parameters: - level: max - paths: - - src - - tests - - ignoreErrors: - - - message: '#::__construct\(\) does not call parent constructor from#' - path: '*/tests/DoctrineTest/InstantiatorTestAsset/*.php' - - # dynamic properties confuse static analysis - - - message: '#Access to an undefined property object::\$foo\.#' - path: '*/tests/DoctrineTest/InstantiatorTest/InstantiatorTest.php' diff --git a/paragonik-backend/vendor/doctrine/instantiator/src/Doctrine/Instantiator/Exception/ExceptionInterface.php b/paragonik-backend/vendor/doctrine/instantiator/src/Doctrine/Instantiator/Exception/ExceptionInterface.php deleted file mode 100644 index e6a5195..0000000 --- a/paragonik-backend/vendor/doctrine/instantiator/src/Doctrine/Instantiator/Exception/ExceptionInterface.php +++ /dev/null @@ -1,12 +0,0 @@ -= 50400 && trait_exists($className)) { - return new self(sprintf('The provided type "%s" is a trait, and can not be instantiated', $className)); - } - - return new self(sprintf('The provided class "%s" does not exist', $className)); - } - - public static function fromAbstractClass(ReflectionClass $reflectionClass) : self - { - return new self(sprintf( - 'The provided class "%s" is abstract, and can not be instantiated', - $reflectionClass->getName() - )); - } -} diff --git a/paragonik-backend/vendor/doctrine/instantiator/src/Doctrine/Instantiator/Exception/UnexpectedValueException.php b/paragonik-backend/vendor/doctrine/instantiator/src/Doctrine/Instantiator/Exception/UnexpectedValueException.php deleted file mode 100644 index d946731..0000000 --- a/paragonik-backend/vendor/doctrine/instantiator/src/Doctrine/Instantiator/Exception/UnexpectedValueException.php +++ /dev/null @@ -1,48 +0,0 @@ -getName() - ), - 0, - $exception - ); - } - - public static function fromUncleanUnSerialization( - ReflectionClass $reflectionClass, - string $errorString, - int $errorCode, - string $errorFile, - int $errorLine - ) : self { - return new self( - sprintf( - 'Could not produce an instance of "%s" via un-serialization, since an error was triggered ' - . 'in file "%s" at line "%d"', - $reflectionClass->getName(), - $errorFile, - $errorLine - ), - 0, - new Exception($errorString, $errorCode) - ); - } -} diff --git a/paragonik-backend/vendor/doctrine/instantiator/src/Doctrine/Instantiator/Instantiator.php b/paragonik-backend/vendor/doctrine/instantiator/src/Doctrine/Instantiator/Instantiator.php deleted file mode 100644 index 9c67862..0000000 --- a/paragonik-backend/vendor/doctrine/instantiator/src/Doctrine/Instantiator/Instantiator.php +++ /dev/null @@ -1,203 +0,0 @@ -buildAndCacheFromFactory($className); - } - - /** - * Builds the requested object and caches it in static properties for performance - * - * @return object - */ - private function buildAndCacheFromFactory(string $className) - { - $factory = self::$cachedInstantiators[$className] = $this->buildFactory($className); - $instance = $factory(); - - if ($this->isSafeToClone(new ReflectionClass($instance))) { - self::$cachedCloneables[$className] = clone $instance; - } - - return $instance; - } - - /** - * Builds a callable capable of instantiating the given $className without - * invoking its constructor. - * - * @throws InvalidArgumentException - * @throws UnexpectedValueException - * @throws ReflectionException - */ - private function buildFactory(string $className) : callable - { - $reflectionClass = $this->getReflectionClass($className); - - if ($this->isInstantiableViaReflection($reflectionClass)) { - return [$reflectionClass, 'newInstanceWithoutConstructor']; - } - - $serializedString = sprintf( - '%s:%d:"%s":0:{}', - is_subclass_of($className, Serializable::class) ? self::SERIALIZATION_FORMAT_USE_UNSERIALIZER : self::SERIALIZATION_FORMAT_AVOID_UNSERIALIZER, - strlen($className), - $className - ); - - $this->checkIfUnSerializationIsSupported($reflectionClass, $serializedString); - - return static function () use ($serializedString) { - return unserialize($serializedString); - }; - } - - /** - * @throws InvalidArgumentException - * @throws ReflectionException - */ - private function getReflectionClass(string $className) : ReflectionClass - { - if (! class_exists($className)) { - throw InvalidArgumentException::fromNonExistingClass($className); - } - - $reflection = new ReflectionClass($className); - - if ($reflection->isAbstract()) { - throw InvalidArgumentException::fromAbstractClass($reflection); - } - - return $reflection; - } - - /** - * @throws UnexpectedValueException - */ - private function checkIfUnSerializationIsSupported(ReflectionClass $reflectionClass, string $serializedString) : void - { - set_error_handler(static function (int $code, string $message, string $file, int $line) use ($reflectionClass, &$error) : bool { - $error = UnexpectedValueException::fromUncleanUnSerialization( - $reflectionClass, - $message, - $code, - $file, - $line - ); - - return true; - }); - - try { - $this->attemptInstantiationViaUnSerialization($reflectionClass, $serializedString); - } finally { - restore_error_handler(); - } - - if ($error) { - throw $error; - } - } - - /** - * @throws UnexpectedValueException - */ - private function attemptInstantiationViaUnSerialization(ReflectionClass $reflectionClass, string $serializedString) : void - { - try { - unserialize($serializedString); - } catch (Exception $exception) { - throw UnexpectedValueException::fromSerializationTriggeredException($reflectionClass, $exception); - } - } - - private function isInstantiableViaReflection(ReflectionClass $reflectionClass) : bool - { - return ! ($this->hasInternalAncestors($reflectionClass) && $reflectionClass->isFinal()); - } - - /** - * Verifies whether the given class is to be considered internal - */ - private function hasInternalAncestors(ReflectionClass $reflectionClass) : bool - { - do { - if ($reflectionClass->isInternal()) { - return true; - } - - $reflectionClass = $reflectionClass->getParentClass(); - } while ($reflectionClass); - - return false; - } - - /** - * Checks if a class is cloneable - * - * Classes implementing `__clone` cannot be safely cloned, as that may cause side-effects. - */ - private function isSafeToClone(ReflectionClass $reflection) : bool - { - return $reflection->isCloneable() - && ! $reflection->hasMethod('__clone') - && ! $reflection->isSubclassOf(ArrayIterator::class); - } -} diff --git a/paragonik-backend/vendor/doctrine/instantiator/src/Doctrine/Instantiator/InstantiatorInterface.php b/paragonik-backend/vendor/doctrine/instantiator/src/Doctrine/Instantiator/InstantiatorInterface.php deleted file mode 100644 index 95299f4..0000000 --- a/paragonik-backend/vendor/doctrine/instantiator/src/Doctrine/Instantiator/InstantiatorInterface.php +++ /dev/null @@ -1,20 +0,0 @@ -input = $input; - $this->tokens = []; - - $this->reset(); - $this->scan($input); - } - - /** - * Resets the lexer. - * - * @return void - */ - public function reset() - { - $this->lookahead = null; - $this->token = null; - $this->peek = 0; - $this->position = 0; - } - - /** - * Resets the peek pointer to 0. - * - * @return void - */ - public function resetPeek() - { - $this->peek = 0; - } - - /** - * Resets the lexer position on the input to the given position. - * - * @param int $position Position to place the lexical scanner. - * - * @return void - */ - public function resetPosition($position = 0) - { - $this->position = $position; - } - - /** - * Retrieve the original lexer's input until a given position. - * - * @param int $position - * - * @return string - */ - public function getInputUntilPosition($position) - { - return substr($this->input, 0, $position); - } - - /** - * Checks whether a given token matches the current lookahead. - * - * @param int|string $token - * - * @return bool - */ - public function isNextToken($token) - { - return $this->lookahead !== null && $this->lookahead['type'] === $token; - } - - /** - * Checks whether any of the given tokens matches the current lookahead. - * - * @param array $tokens - * - * @return bool - */ - public function isNextTokenAny(array $tokens) - { - return $this->lookahead !== null && in_array($this->lookahead['type'], $tokens, true); - } - - /** - * Moves to the next token in the input string. - * - * @return bool - */ - public function moveNext() - { - $this->peek = 0; - $this->token = $this->lookahead; - $this->lookahead = isset($this->tokens[$this->position]) - ? $this->tokens[$this->position++] : null; - - return $this->lookahead !== null; - } - - /** - * Tells the lexer to skip input tokens until it sees a token with the given value. - * - * @param string $type The token type to skip until. - * - * @return void - */ - public function skipUntil($type) - { - while ($this->lookahead !== null && $this->lookahead['type'] !== $type) { - $this->moveNext(); - } - } - - /** - * Checks if given value is identical to the given token. - * - * @param mixed $value - * @param int|string $token - * - * @return bool - */ - public function isA($value, $token) - { - return $this->getType($value) === $token; - } - - /** - * Moves the lookahead token forward. - * - * @return array|null The next token or NULL if there are no more tokens ahead. - */ - public function peek() - { - if (isset($this->tokens[$this->position + $this->peek])) { - return $this->tokens[$this->position + $this->peek++]; - } - - return null; - } - - /** - * Peeks at the next token, returns it and immediately resets the peek. - * - * @return array|null The next token or NULL if there are no more tokens ahead. - */ - public function glimpse() - { - $peek = $this->peek(); - $this->peek = 0; - - return $peek; - } - - /** - * Scans the input string for tokens. - * - * @param string $input A query string. - * - * @return void - */ - protected function scan($input) - { - if (! isset($this->regex)) { - $this->regex = sprintf( - '/(%s)|%s/%s', - implode(')|(', $this->getCatchablePatterns()), - implode('|', $this->getNonCatchablePatterns()), - $this->getModifiers() - ); - } - - $flags = PREG_SPLIT_NO_EMPTY | PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_OFFSET_CAPTURE; - $matches = preg_split($this->regex, $input, -1, $flags); - - if ($matches === false) { - // Work around https://bugs.php.net/78122 - $matches = [[$input, 0]]; - } - - foreach ($matches as $match) { - // Must remain before 'value' assignment since it can change content - $type = $this->getType($match[0]); - - $this->tokens[] = [ - 'value' => $match[0], - 'type' => $type, - 'position' => $match[1], - ]; - } - } - - /** - * Gets the literal for a given token. - * - * @param int|string $token - * - * @return int|string - */ - public function getLiteral($token) - { - $className = static::class; - $reflClass = new ReflectionClass($className); - $constants = $reflClass->getConstants(); - - foreach ($constants as $name => $value) { - if ($value === $token) { - return $className . '::' . $name; - } - } - - return $token; - } - - /** - * Regex modifiers - * - * @return string - */ - protected function getModifiers() - { - return 'iu'; - } - - /** - * Lexical catchable patterns. - * - * @return array - */ - abstract protected function getCatchablePatterns(); - - /** - * Lexical non-catchable patterns. - * - * @return array - */ - abstract protected function getNonCatchablePatterns(); - - /** - * Retrieve token type. Also processes the token value if necessary. - * - * @param string $value - * - * @return int|string|null - */ - abstract protected function getType(&$value); -} diff --git a/paragonik-backend/vendor/dragonmantank/cron-expression/.editorconfig b/paragonik-backend/vendor/dragonmantank/cron-expression/.editorconfig deleted file mode 100644 index 1492202..0000000 --- a/paragonik-backend/vendor/dragonmantank/cron-expression/.editorconfig +++ /dev/null @@ -1,16 +0,0 @@ -root = true - -[*] -charset = utf-8 -end_of_line = lf -insert_final_newline = true -indent_style = space -indent_size = 4 -trim_trailing_whitespace = true - -[*.md] -trim_trailing_whitespace = false - -[*.yml] -indent_style = space -indent_size = 2 diff --git a/paragonik-backend/vendor/dragonmantank/cron-expression/CHANGELOG.md b/paragonik-backend/vendor/dragonmantank/cron-expression/CHANGELOG.md deleted file mode 100644 index e3939df..0000000 --- a/paragonik-backend/vendor/dragonmantank/cron-expression/CHANGELOG.md +++ /dev/null @@ -1,76 +0,0 @@ -# Change Log - -## [2.3.0] - 2019-03-30 -### Added -- Added support for DateTimeImmutable via DateTimeInterface -- Added support for PHP 7.3 -- Started listing projects that use the library -### Changed -- Errors should now report a human readable position in the cron expression, instead of starting at 0 -### Fixed -- N/A - -## [2.2.0] - 2018-06-05 -### Added -- Added support for steps larger than field ranges (#6) -## Changed -- N/A -### Fixed -- Fixed validation for numbers with leading 0s (#12) - -## [2.1.0] - 2018-04-06 -### Added -- N/A -### Changed -- Upgraded to PHPUnit 6 (#2) -### Fixed -- Refactored timezones to deal with some inconsistent behavior (#3) -- Allow ranges and lists in same expression (#5) -- Fixed regression where literals were not converted to their numerical counterpart (#) - -## [2.0.0] - 2017-10-12 -### Added -- N/A - -### Changed -- Dropped support for PHP 5.x -- Dropped support for the YEAR field, as it was not part of the cron standard - -### Fixed -- Reworked validation for all the field types -- Stepping should now work for 1-indexed fields like Month (#153) - -## [1.2.0] - 2017-01-22 -### Added -- Added IDE, CodeSniffer, and StyleCI.IO support - -### Changed -- Switched to PSR-4 Autoloading - -### Fixed -- 0 step expressions are handled better -- Fixed `DayOfMonth` validation to be more strict -- Typos - -## [1.1.0] - 2016-01-26 -### Added -- Support for non-hourly offset timezones -- Checks for valid expressions - -### Changed -- Max Iterations no longer hardcoded for `getRunDate()` -- Supports DateTimeImmutable for newer PHP verions - -### Fixed -- Fixed looping bug for PHP 7 when determining the last specified weekday of a month - -## [1.0.3] - 2013-11-23 -### Added -- Now supports expressions with any number of extra spaces, tabs, or newlines - -### Changed -- Using static instead of self in `CronExpression::factory` - -### Fixed -- Fixes issue [#28](https://github.com/mtdowling/cron-expression/issues/28) where PHP increments of ranges were failing due to PHP casting hyphens to 0 -- Only set default timezone if the given $currentTime is not a DateTime instance ([#34](https://github.com/mtdowling/cron-expression/issues/34)) diff --git a/paragonik-backend/vendor/dragonmantank/cron-expression/LICENSE b/paragonik-backend/vendor/dragonmantank/cron-expression/LICENSE deleted file mode 100644 index 3e38bbc..0000000 --- a/paragonik-backend/vendor/dragonmantank/cron-expression/LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 2011 Michael Dowling , 2016 Chris Tankersley , and contributors - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/paragonik-backend/vendor/dragonmantank/cron-expression/README.md b/paragonik-backend/vendor/dragonmantank/cron-expression/README.md deleted file mode 100644 index 8e8021b..0000000 --- a/paragonik-backend/vendor/dragonmantank/cron-expression/README.md +++ /dev/null @@ -1,78 +0,0 @@ -PHP Cron Expression Parser -========================== - -[![Latest Stable Version](https://poser.pugx.org/dragonmantank/cron-expression/v/stable.png)](https://packagist.org/packages/dragonmantank/cron-expression) [![Total Downloads](https://poser.pugx.org/dragonmantank/cron-expression/downloads.png)](https://packagist.org/packages/dragonmantank/cron-expression) [![Build Status](https://secure.travis-ci.org/dragonmantank/cron-expression.png)](http://travis-ci.org/dragonmantank/cron-expression) - -The PHP cron expression parser can parse a CRON expression, determine if it is -due to run, calculate the next run date of the expression, and calculate the previous -run date of the expression. You can calculate dates far into the future or past by -skipping **n** number of matching dates. - -The parser can handle increments of ranges (e.g. */12, 2-59/3), intervals (e.g. 0-9), -lists (e.g. 1,2,3), **W** to find the nearest weekday for a given day of the month, **L** to -find the last day of the month, **L** to find the last given weekday of a month, and hash -(#) to find the nth weekday of a given month. - -More information about this fork can be found in the blog post [here](http://ctankersley.com/2017/10/12/cron-expression-update/). tl;dr - v2.0.0 is a major breaking change, and @dragonmantank can better take care of the project in a separate fork. - -Installing -========== - -Add the dependency to your project: - -```bash -composer require dragonmantank/cron-expression -``` - -Usage -===== -```php -isDue(); -echo $cron->getNextRunDate()->format('Y-m-d H:i:s'); -echo $cron->getPreviousRunDate()->format('Y-m-d H:i:s'); - -// Works with complex expressions -$cron = Cron\CronExpression::factory('3-59/15 6-12 */15 1 2-5'); -echo $cron->getNextRunDate()->format('Y-m-d H:i:s'); - -// Calculate a run date two iterations into the future -$cron = Cron\CronExpression::factory('@daily'); -echo $cron->getNextRunDate(null, 2)->format('Y-m-d H:i:s'); - -// Calculate a run date relative to a specific time -$cron = Cron\CronExpression::factory('@monthly'); -echo $cron->getNextRunDate('2010-01-12 00:00:00')->format('Y-m-d H:i:s'); -``` - -CRON Expressions -================ - -A CRON expression is a string representing the schedule for a particular command to execute. The parts of a CRON schedule are as follows: - - * * * * * - - - - - - - | | | | | - | | | | | - | | | | +----- day of week (0 - 7) (Sunday=0 or 7) - | | | +---------- month (1 - 12) - | | +--------------- day of month (1 - 31) - | +-------------------- hour (0 - 23) - +------------------------- min (0 - 59) - -Requirements -============ - -- PHP 7.0+ -- PHPUnit is required to run the unit tests -- Composer is required to run the unit tests - -Projects that Use cron-expression -================================= -* Part of the [Laravel Framework](https://github.com/laravel/framework/) -* Available as a [Symfony Bundle - setono/cron-expression-bundle](https://github.com/Setono/CronExpressionBundle) \ No newline at end of file diff --git a/paragonik-backend/vendor/dragonmantank/cron-expression/composer.json b/paragonik-backend/vendor/dragonmantank/cron-expression/composer.json deleted file mode 100644 index c0b7903..0000000 --- a/paragonik-backend/vendor/dragonmantank/cron-expression/composer.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "name": "dragonmantank/cron-expression", - "type": "library", - "description": "CRON for PHP: Calculate the next or previous run date and determine if a CRON expression is due", - "keywords": ["cron", "schedule"], - "license": "MIT", - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - }, - { - "name": "Chris Tankersley", - "email": "chris@ctankersley.com", - "homepage": "https://github.com/dragonmantank" - } - ], - "require": { - "php": "^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^6.4|^7.0" - }, - "autoload": { - "psr-4": { - "Cron\\": "src/Cron/" - } - }, - "autoload-dev": { - "psr-4": { - "Tests\\": "tests/Cron/" - } - }, - "extra": { - "branch-alias": { - "dev-master": "2.3-dev" - } - } -} diff --git a/paragonik-backend/vendor/dragonmantank/cron-expression/src/Cron/AbstractField.php b/paragonik-backend/vendor/dragonmantank/cron-expression/src/Cron/AbstractField.php deleted file mode 100644 index 8b1072a..0000000 --- a/paragonik-backend/vendor/dragonmantank/cron-expression/src/Cron/AbstractField.php +++ /dev/null @@ -1,286 +0,0 @@ -fullRange = range($this->rangeStart, $this->rangeEnd); - } - - /** - * Check to see if a field is satisfied by a value - * - * @param string $dateValue Date value to check - * @param string $value Value to test - * - * @return bool - */ - public function isSatisfied($dateValue, $value) - { - if ($this->isIncrementsOfRanges($value)) { - return $this->isInIncrementsOfRanges($dateValue, $value); - } elseif ($this->isRange($value)) { - return $this->isInRange($dateValue, $value); - } - - return $value == '*' || $dateValue == $value; - } - - /** - * Check if a value is a range - * - * @param string $value Value to test - * - * @return bool - */ - public function isRange($value) - { - return strpos($value, '-') !== false; - } - - /** - * Check if a value is an increments of ranges - * - * @param string $value Value to test - * - * @return bool - */ - public function isIncrementsOfRanges($value) - { - return strpos($value, '/') !== false; - } - - /** - * Test if a value is within a range - * - * @param string $dateValue Set date value - * @param string $value Value to test - * - * @return bool - */ - public function isInRange($dateValue, $value) - { - $parts = array_map(function($value) { - $value = trim($value); - $value = $this->convertLiterals($value); - return $value; - }, - explode('-', $value, 2) - ); - - - return $dateValue >= $parts[0] && $dateValue <= $parts[1]; - } - - /** - * Test if a value is within an increments of ranges (offset[-to]/step size) - * - * @param string $dateValue Set date value - * @param string $value Value to test - * - * @return bool - */ - public function isInIncrementsOfRanges($dateValue, $value) - { - $chunks = array_map('trim', explode('/', $value, 2)); - $range = $chunks[0]; - $step = isset($chunks[1]) ? $chunks[1] : 0; - - // No step or 0 steps aren't cool - if (is_null($step) || '0' === $step || 0 === $step) { - return false; - } - - // Expand the * to a full range - if ('*' == $range) { - $range = $this->rangeStart . '-' . $this->rangeEnd; - } - - // Generate the requested small range - $rangeChunks = explode('-', $range, 2); - $rangeStart = $rangeChunks[0]; - $rangeEnd = isset($rangeChunks[1]) ? $rangeChunks[1] : $rangeStart; - - if ($rangeStart < $this->rangeStart || $rangeStart > $this->rangeEnd || $rangeStart > $rangeEnd) { - throw new \OutOfRangeException('Invalid range start requested'); - } - - if ($rangeEnd < $this->rangeStart || $rangeEnd > $this->rangeEnd || $rangeEnd < $rangeStart) { - throw new \OutOfRangeException('Invalid range end requested'); - } - - // Steps larger than the range need to wrap around and be handled slightly differently than smaller steps - if ($step >= $this->rangeEnd) { - $thisRange = [$this->fullRange[$step % count($this->fullRange)]]; - } else { - $thisRange = range($rangeStart, $rangeEnd, $step); - } - - return in_array($dateValue, $thisRange); - } - - /** - * Returns a range of values for the given cron expression - * - * @param string $expression The expression to evaluate - * @param int $max Maximum offset for range - * - * @return array - */ - public function getRangeForExpression($expression, $max) - { - $values = array(); - $expression = $this->convertLiterals($expression); - - if (strpos($expression, ',') !== false) { - $ranges = explode(',', $expression); - $values = []; - foreach ($ranges as $range) { - $expanded = $this->getRangeForExpression($range, $this->rangeEnd); - $values = array_merge($values, $expanded); - } - return $values; - } - - if ($this->isRange($expression) || $this->isIncrementsOfRanges($expression)) { - if (!$this->isIncrementsOfRanges($expression)) { - list ($offset, $to) = explode('-', $expression); - $offset = $this->convertLiterals($offset); - $to = $this->convertLiterals($to); - $stepSize = 1; - } - else { - $range = array_map('trim', explode('/', $expression, 2)); - $stepSize = isset($range[1]) ? $range[1] : 0; - $range = $range[0]; - $range = explode('-', $range, 2); - $offset = $range[0]; - $to = isset($range[1]) ? $range[1] : $max; - } - $offset = $offset == '*' ? $this->rangeStart : $offset; - if ($stepSize >= $this->rangeEnd) { - $values = [$this->fullRange[$stepSize % count($this->fullRange)]]; - } else { - for ($i = $offset; $i <= $to; $i += $stepSize) { - $values[] = (int)$i; - } - } - sort($values); - } - else { - $values = array($expression); - } - - return $values; - } - - /** - * Convert literal - * - * @param string $value - * @return string - */ - protected function convertLiterals($value) - { - if (count($this->literals)) { - $key = array_search($value, $this->literals); - if ($key !== false) { - return (string) $key; - } - } - - return $value; - } - - /** - * Checks to see if a value is valid for the field - * - * @param string $value - * @return bool - */ - public function validate($value) - { - $value = $this->convertLiterals($value); - - // All fields allow * as a valid value - if ('*' === $value) { - return true; - } - - if (strpos($value, '/') !== false) { - list($range, $step) = explode('/', $value); - return $this->validate($range) && filter_var($step, FILTER_VALIDATE_INT); - } - - // Validate each chunk of a list individually - if (strpos($value, ',') !== false) { - foreach (explode(',', $value) as $listItem) { - if (!$this->validate($listItem)) { - return false; - } - } - return true; - } - - if (strpos($value, '-') !== false) { - if (substr_count($value, '-') > 1) { - return false; - } - - $chunks = explode('-', $value); - $chunks[0] = $this->convertLiterals($chunks[0]); - $chunks[1] = $this->convertLiterals($chunks[1]); - - if ('*' == $chunks[0] || '*' == $chunks[1]) { - return false; - } - - return $this->validate($chunks[0]) && $this->validate($chunks[1]); - } - - if (!is_numeric($value)) { - return false; - } - - if (is_float($value) || strpos($value, '.') !== false) { - return false; - } - - // We should have a numeric by now, so coerce this into an integer - $value = (int) $value; - - return in_array($value, $this->fullRange, true); - } -} diff --git a/paragonik-backend/vendor/dragonmantank/cron-expression/src/Cron/CronExpression.php b/paragonik-backend/vendor/dragonmantank/cron-expression/src/Cron/CronExpression.php deleted file mode 100644 index 594b435..0000000 --- a/paragonik-backend/vendor/dragonmantank/cron-expression/src/Cron/CronExpression.php +++ /dev/null @@ -1,413 +0,0 @@ - '0 0 1 1 *', - '@annually' => '0 0 1 1 *', - '@monthly' => '0 0 1 * *', - '@weekly' => '0 0 * * 0', - '@daily' => '0 0 * * *', - '@hourly' => '0 * * * *' - ); - - if (isset($mappings[$expression])) { - $expression = $mappings[$expression]; - } - - return new static($expression, $fieldFactory ?: new FieldFactory()); - } - - /** - * Validate a CronExpression. - * - * @param string $expression The CRON expression to validate. - * - * @return bool True if a valid CRON expression was passed. False if not. - * @see \Cron\CronExpression::factory - */ - public static function isValidExpression($expression) - { - try { - self::factory($expression); - } catch (InvalidArgumentException $e) { - return false; - } - - return true; - } - - /** - * Parse a CRON expression - * - * @param string $expression CRON expression (e.g. '8 * * * *') - * @param FieldFactory|null $fieldFactory Factory to create cron fields - */ - public function __construct($expression, FieldFactory $fieldFactory = null) - { - $this->fieldFactory = $fieldFactory; - $this->setExpression($expression); - } - - /** - * Set or change the CRON expression - * - * @param string $value CRON expression (e.g. 8 * * * *) - * - * @return CronExpression - * @throws \InvalidArgumentException if not a valid CRON expression - */ - public function setExpression($value) - { - $this->cronParts = preg_split('/\s/', $value, -1, PREG_SPLIT_NO_EMPTY); - if (count($this->cronParts) < 5) { - throw new InvalidArgumentException( - $value . ' is not a valid CRON expression' - ); - } - - foreach ($this->cronParts as $position => $part) { - $this->setPart($position, $part); - } - - return $this; - } - - /** - * Set part of the CRON expression - * - * @param int $position The position of the CRON expression to set - * @param string $value The value to set - * - * @return CronExpression - * @throws \InvalidArgumentException if the value is not valid for the part - */ - public function setPart($position, $value) - { - if (!$this->fieldFactory->getField($position)->validate($value)) { - throw new InvalidArgumentException( - 'Invalid CRON field value ' . $value . ' at position ' . $position - ); - } - - $this->cronParts[$position] = $value; - - return $this; - } - - /** - * Set max iteration count for searching next run dates - * - * @param int $maxIterationCount Max iteration count when searching for next run date - * - * @return CronExpression - */ - public function setMaxIterationCount($maxIterationCount) - { - $this->maxIterationCount = $maxIterationCount; - - return $this; - } - - /** - * Get a next run date relative to the current date or a specific date - * - * @param string|\DateTimeInterface $currentTime Relative calculation date - * @param int $nth Number of matches to skip before returning a - * matching next run date. 0, the default, will return the - * current date and time if the next run date falls on the - * current date and time. Setting this value to 1 will - * skip the first match and go to the second match. - * Setting this value to 2 will skip the first 2 - * matches and so on. - * @param bool $allowCurrentDate Set to TRUE to return the current date if - * it matches the cron expression. - * @param null|string $timeZone TimeZone to use instead of the system default - * - * @return \DateTime - * @throws \RuntimeException on too many iterations - */ - public function getNextRunDate($currentTime = 'now', $nth = 0, $allowCurrentDate = false, $timeZone = null) - { - return $this->getRunDate($currentTime, $nth, false, $allowCurrentDate, $timeZone); - } - - /** - * Get a previous run date relative to the current date or a specific date - * - * @param string|\DateTimeInterface $currentTime Relative calculation date - * @param int $nth Number of matches to skip before returning - * @param bool $allowCurrentDate Set to TRUE to return the - * current date if it matches the cron expression - * @param null|string $timeZone TimeZone to use instead of the system default - * - * @return \DateTime - * @throws \RuntimeException on too many iterations - * @see \Cron\CronExpression::getNextRunDate - */ - public function getPreviousRunDate($currentTime = 'now', $nth = 0, $allowCurrentDate = false, $timeZone = null) - { - return $this->getRunDate($currentTime, $nth, true, $allowCurrentDate, $timeZone); - } - - /** - * Get multiple run dates starting at the current date or a specific date - * - * @param int $total Set the total number of dates to calculate - * @param string|\DateTimeInterface $currentTime Relative calculation date - * @param bool $invert Set to TRUE to retrieve previous dates - * @param bool $allowCurrentDate Set to TRUE to return the - * current date if it matches the cron expression - * @param null|string $timeZone TimeZone to use instead of the system default - * - * @return \DateTime[] Returns an array of run dates - */ - public function getMultipleRunDates($total, $currentTime = 'now', $invert = false, $allowCurrentDate = false, $timeZone = null) - { - $matches = array(); - for ($i = 0; $i < max(0, $total); $i++) { - try { - $matches[] = $this->getRunDate($currentTime, $i, $invert, $allowCurrentDate, $timeZone); - } catch (RuntimeException $e) { - break; - } - } - - return $matches; - } - - /** - * Get all or part of the CRON expression - * - * @param string $part Specify the part to retrieve or NULL to get the full - * cron schedule string. - * - * @return string|null Returns the CRON expression, a part of the - * CRON expression, or NULL if the part was specified but not found - */ - public function getExpression($part = null) - { - if (null === $part) { - return implode(' ', $this->cronParts); - } elseif (array_key_exists($part, $this->cronParts)) { - return $this->cronParts[$part]; - } - - return null; - } - - /** - * Helper method to output the full expression. - * - * @return string Full CRON expression - */ - public function __toString() - { - return $this->getExpression(); - } - - /** - * Determine if the cron is due to run based on the current date or a - * specific date. This method assumes that the current number of - * seconds are irrelevant, and should be called once per minute. - * - * @param string|\DateTimeInterface $currentTime Relative calculation date - * @param null|string $timeZone TimeZone to use instead of the system default - * - * @return bool Returns TRUE if the cron is due to run or FALSE if not - */ - public function isDue($currentTime = 'now', $timeZone = null) - { - $timeZone = $this->determineTimeZone($currentTime, $timeZone); - - if ('now' === $currentTime) { - $currentTime = new DateTime(); - } elseif ($currentTime instanceof DateTime) { - // - } elseif ($currentTime instanceof DateTimeImmutable) { - $currentTime = DateTime::createFromFormat('U', $currentTime->format('U')); - } else { - $currentTime = new DateTime($currentTime); - } - $currentTime->setTimeZone(new DateTimeZone($timeZone)); - - // drop the seconds to 0 - $currentTime = DateTime::createFromFormat('Y-m-d H:i', $currentTime->format('Y-m-d H:i')); - - try { - return $this->getNextRunDate($currentTime, 0, true)->getTimestamp() === $currentTime->getTimestamp(); - } catch (Exception $e) { - return false; - } - } - - /** - * Get the next or previous run date of the expression relative to a date - * - * @param string|\DateTimeInterface $currentTime Relative calculation date - * @param int $nth Number of matches to skip before returning - * @param bool $invert Set to TRUE to go backwards in time - * @param bool $allowCurrentDate Set to TRUE to return the - * current date if it matches the cron expression - * @param string|null $timeZone TimeZone to use instead of the system default - * - * @return \DateTime - * @throws \RuntimeException on too many iterations - */ - protected function getRunDate($currentTime = null, $nth = 0, $invert = false, $allowCurrentDate = false, $timeZone = null) - { - $timeZone = $this->determineTimeZone($currentTime, $timeZone); - - if ($currentTime instanceof DateTime) { - $currentDate = clone $currentTime; - } elseif ($currentTime instanceof DateTimeImmutable) { - $currentDate = DateTime::createFromFormat('U', $currentTime->format('U')); - } else { - $currentDate = new DateTime($currentTime ?: 'now'); - } - - $currentDate->setTimeZone(new DateTimeZone($timeZone)); - $currentDate->setTime($currentDate->format('H'), $currentDate->format('i'), 0); - $nextRun = clone $currentDate; - $nth = (int) $nth; - - // We don't have to satisfy * or null fields - $parts = array(); - $fields = array(); - foreach (self::$order as $position) { - $part = $this->getExpression($position); - if (null === $part || '*' === $part) { - continue; - } - $parts[$position] = $part; - $fields[$position] = $this->fieldFactory->getField($position); - } - - // Set a hard limit to bail on an impossible date - for ($i = 0; $i < $this->maxIterationCount; $i++) { - - foreach ($parts as $position => $part) { - $satisfied = false; - // Get the field object used to validate this part - $field = $fields[$position]; - // Check if this is singular or a list - if (strpos($part, ',') === false) { - $satisfied = $field->isSatisfiedBy($nextRun, $part); - } else { - foreach (array_map('trim', explode(',', $part)) as $listPart) { - if ($field->isSatisfiedBy($nextRun, $listPart)) { - $satisfied = true; - break; - } - } - } - - // If the field is not satisfied, then start over - if (!$satisfied) { - $field->increment($nextRun, $invert, $part); - continue 2; - } - } - - // Skip this match if needed - if ((!$allowCurrentDate && $nextRun == $currentDate) || --$nth > -1) { - $this->fieldFactory->getField(0)->increment($nextRun, $invert, isset($parts[0]) ? $parts[0] : null); - continue; - } - - return $nextRun; - } - - // @codeCoverageIgnoreStart - throw new RuntimeException('Impossible CRON expression'); - // @codeCoverageIgnoreEnd - } - - /** - * Workout what timeZone should be used. - * - * @param string|\DateTimeInterface $currentTime Relative calculation date - * @param string|null $timeZone TimeZone to use instead of the system default - * - * @return string - */ - protected function determineTimeZone($currentTime, $timeZone) - { - if (! is_null($timeZone)) { - return $timeZone; - } - - if ($currentTime instanceOf DateTimeInterface) { - return $currentTime->getTimeZone()->getName(); - } - - return date_default_timezone_get(); - } -} diff --git a/paragonik-backend/vendor/dragonmantank/cron-expression/src/Cron/DayOfMonthField.php b/paragonik-backend/vendor/dragonmantank/cron-expression/src/Cron/DayOfMonthField.php deleted file mode 100644 index d4552e0..0000000 --- a/paragonik-backend/vendor/dragonmantank/cron-expression/src/Cron/DayOfMonthField.php +++ /dev/null @@ -1,145 +0,0 @@ - - */ -class DayOfMonthField extends AbstractField -{ - /** - * @inheritDoc - */ - protected $rangeStart = 1; - - /** - * @inheritDoc - */ - protected $rangeEnd = 31; - - /** - * Get the nearest day of the week for a given day in a month - * - * @param int $currentYear Current year - * @param int $currentMonth Current month - * @param int $targetDay Target day of the month - * - * @return \DateTime Returns the nearest date - */ - private static function getNearestWeekday($currentYear, $currentMonth, $targetDay) - { - $tday = str_pad($targetDay, 2, '0', STR_PAD_LEFT); - $target = DateTime::createFromFormat('Y-m-d', "$currentYear-$currentMonth-$tday"); - $currentWeekday = (int) $target->format('N'); - - if ($currentWeekday < 6) { - return $target; - } - - $lastDayOfMonth = $target->format('t'); - - foreach (array(-1, 1, -2, 2) as $i) { - $adjusted = $targetDay + $i; - if ($adjusted > 0 && $adjusted <= $lastDayOfMonth) { - $target->setDate($currentYear, $currentMonth, $adjusted); - if ($target->format('N') < 6 && $target->format('m') == $currentMonth) { - return $target; - } - } - } - } - - /** - * @inheritDoc - */ - public function isSatisfiedBy(DateTimeInterface $date, $value) - { - // ? states that the field value is to be skipped - if ($value == '?') { - return true; - } - - $fieldValue = $date->format('d'); - - // Check to see if this is the last day of the month - if ($value == 'L') { - return $fieldValue == $date->format('t'); - } - - // Check to see if this is the nearest weekday to a particular value - if (strpos($value, 'W')) { - // Parse the target day - $targetDay = substr($value, 0, strpos($value, 'W')); - // Find out if the current day is the nearest day of the week - return $date->format('j') == self::getNearestWeekday( - $date->format('Y'), - $date->format('m'), - $targetDay - )->format('j'); - } - - return $this->isSatisfied($date->format('d'), $value); - } - - /** - * @inheritDoc - * - * @param \DateTime|\DateTimeImmutable &$date - */ - public function increment(DateTimeInterface &$date, $invert = false) - { - if ($invert) { - $date = $date->modify('previous day')->setTime(23, 59); - } else { - $date = $date->modify('next day')->setTime(0, 0); - } - - return $this; - } - - /** - * @inheritDoc - */ - public function validate($value) - { - $basicChecks = parent::validate($value); - - // Validate that a list don't have W or L - if (strpos($value, ',') !== false && (strpos($value, 'W') !== false || strpos($value, 'L') !== false)) { - return false; - } - - if (!$basicChecks) { - - if ($value === 'L') { - return true; - } - - if (preg_match('/^(.*)W$/', $value, $matches)) { - return $this->validate($matches[1]); - } - - return false; - } - - return $basicChecks; - } -} diff --git a/paragonik-backend/vendor/dragonmantank/cron-expression/src/Cron/DayOfWeekField.php b/paragonik-backend/vendor/dragonmantank/cron-expression/src/Cron/DayOfWeekField.php deleted file mode 100644 index 9db9e95..0000000 --- a/paragonik-backend/vendor/dragonmantank/cron-expression/src/Cron/DayOfWeekField.php +++ /dev/null @@ -1,196 +0,0 @@ - 'MON', 2 => 'TUE', 3 => 'WED', 4 => 'THU', 5 => 'FRI', 6 => 'SAT', 7 => 'SUN']; - - /** - * Constructor - */ - public function __construct() - { - $this->nthRange = range(1, 5); - parent::__construct(); - } - - /** - * @inheritDoc - * - * @param \DateTime|\DateTimeImmutable $date - */ - public function isSatisfiedBy(DateTimeInterface $date, $value) - { - if ($value == '?') { - return true; - } - - // Convert text day of the week values to integers - $value = $this->convertLiterals($value); - - $currentYear = $date->format('Y'); - $currentMonth = $date->format('m'); - $lastDayOfMonth = $date->format('t'); - - // Find out if this is the last specific weekday of the month - if (strpos($value, 'L')) { - $weekday = $this->convertLiterals(substr($value, 0, strpos($value, 'L'))); - $weekday = str_replace('7', '0', $weekday); - - $tdate = clone $date; - $tdate = $tdate->setDate($currentYear, $currentMonth, $lastDayOfMonth); - while ($tdate->format('w') != $weekday) { - $tdateClone = new DateTime(); - $tdate = $tdateClone - ->setTimezone($tdate->getTimezone()) - ->setDate($currentYear, $currentMonth, --$lastDayOfMonth); - } - - return $date->format('j') == $lastDayOfMonth; - } - - // Handle # hash tokens - if (strpos($value, '#')) { - list($weekday, $nth) = explode('#', $value); - - if (!is_numeric($nth)) { - throw new InvalidArgumentException("Hashed weekdays must be numeric, {$nth} given"); - } else { - $nth = (int) $nth; - } - - // 0 and 7 are both Sunday, however 7 matches date('N') format ISO-8601 - if ($weekday === '0') { - $weekday = 7; - } - - $weekday = $this->convertLiterals($weekday); - - // Validate the hash fields - if ($weekday < 0 || $weekday > 7) { - throw new InvalidArgumentException("Weekday must be a value between 0 and 7. {$weekday} given"); - } - - if (!in_array($nth, $this->nthRange)) { - throw new InvalidArgumentException("There are never more than 5 or less than 1 of a given weekday in a month, {$nth} given"); - } - - // The current weekday must match the targeted weekday to proceed - if ($date->format('N') != $weekday) { - return false; - } - - $tdate = clone $date; - $tdate = $tdate->setDate($currentYear, $currentMonth, 1); - $dayCount = 0; - $currentDay = 1; - while ($currentDay < $lastDayOfMonth + 1) { - if ($tdate->format('N') == $weekday) { - if (++$dayCount >= $nth) { - break; - } - } - $tdate = $tdate->setDate($currentYear, $currentMonth, ++$currentDay); - } - - return $date->format('j') == $currentDay; - } - - // Handle day of the week values - if (strpos($value, '-')) { - $parts = explode('-', $value); - if ($parts[0] == '7') { - $parts[0] = '0'; - } elseif ($parts[1] == '0') { - $parts[1] = '7'; - } - $value = implode('-', $parts); - } - - // Test to see which Sunday to use -- 0 == 7 == Sunday - $format = in_array(7, str_split($value)) ? 'N' : 'w'; - $fieldValue = $date->format($format); - - return $this->isSatisfied($fieldValue, $value); - } - - /** - * @inheritDoc - * - * @param \DateTime|\DateTimeImmutable &$date - */ - public function increment(DateTimeInterface &$date, $invert = false) - { - if ($invert) { - $date = $date->modify('-1 day')->setTime(23, 59, 0); - } else { - $date = $date->modify('+1 day')->setTime(0, 0, 0); - } - - return $this; - } - - /** - * @inheritDoc - */ - public function validate($value) - { - $basicChecks = parent::validate($value); - - if (!$basicChecks) { - // Handle the # value - if (strpos($value, '#') !== false) { - $chunks = explode('#', $value); - $chunks[0] = $this->convertLiterals($chunks[0]); - - if (parent::validate($chunks[0]) && is_numeric($chunks[1]) && in_array($chunks[1], $this->nthRange)) { - return true; - } - } - - if (preg_match('/^(.*)L$/', $value, $matches)) { - return $this->validate($matches[1]); - } - - return false; - } - - return $basicChecks; - } -} diff --git a/paragonik-backend/vendor/dragonmantank/cron-expression/src/Cron/FieldFactory.php b/paragonik-backend/vendor/dragonmantank/cron-expression/src/Cron/FieldFactory.php deleted file mode 100644 index 545e4b8..0000000 --- a/paragonik-backend/vendor/dragonmantank/cron-expression/src/Cron/FieldFactory.php +++ /dev/null @@ -1,54 +0,0 @@ -fields[$position])) { - switch ($position) { - case 0: - $this->fields[$position] = new MinutesField(); - break; - case 1: - $this->fields[$position] = new HoursField(); - break; - case 2: - $this->fields[$position] = new DayOfMonthField(); - break; - case 3: - $this->fields[$position] = new MonthField(); - break; - case 4: - $this->fields[$position] = new DayOfWeekField(); - break; - default: - throw new InvalidArgumentException( - ($position + 1) . ' is not a valid position' - ); - } - } - - return $this->fields[$position]; - } -} diff --git a/paragonik-backend/vendor/dragonmantank/cron-expression/src/Cron/FieldInterface.php b/paragonik-backend/vendor/dragonmantank/cron-expression/src/Cron/FieldInterface.php deleted file mode 100644 index f8366ea..0000000 --- a/paragonik-backend/vendor/dragonmantank/cron-expression/src/Cron/FieldInterface.php +++ /dev/null @@ -1,41 +0,0 @@ -isSatisfied($date->format('H'), $value); - } - - /** - * {@inheritDoc} - * - * @param \DateTime|\DateTimeImmutable &$date - * @param string|null $parts - */ - public function increment(DateTimeInterface &$date, $invert = false, $parts = null) - { - // Change timezone to UTC temporarily. This will - // allow us to go back or forwards and hour even - // if DST will be changed between the hours. - if (is_null($parts) || $parts == '*') { - $timezone = $date->getTimezone(); - $date = $date->setTimezone(new DateTimeZone('UTC')); - $date = $date->modify(($invert ? '-' : '+') . '1 hour'); - $date = $date->setTimezone($timezone); - - $date = $date->setTime($date->format('H'), $invert ? 59 : 0); - return $this; - } - - $parts = strpos($parts, ',') !== false ? explode(',', $parts) : array($parts); - $hours = array(); - foreach ($parts as $part) { - $hours = array_merge($hours, $this->getRangeForExpression($part, 23)); - } - - $current_hour = $date->format('H'); - $position = $invert ? count($hours) - 1 : 0; - if (count($hours) > 1) { - for ($i = 0; $i < count($hours) - 1; $i++) { - if ((!$invert && $current_hour >= $hours[$i] && $current_hour < $hours[$i + 1]) || - ($invert && $current_hour > $hours[$i] && $current_hour <= $hours[$i + 1])) { - $position = $invert ? $i : $i + 1; - break; - } - } - } - - $hour = $hours[$position]; - if ((!$invert && $date->format('H') >= $hour) || ($invert && $date->format('H') <= $hour)) { - $date = $date->modify(($invert ? '-' : '+') . '1 day'); - $date = $date->setTime($invert ? 23 : 0, $invert ? 59 : 0); - } - else { - $date = $date->setTime($hour, $invert ? 59 : 0); - } - - return $this; - } -} diff --git a/paragonik-backend/vendor/dragonmantank/cron-expression/src/Cron/MinutesField.php b/paragonik-backend/vendor/dragonmantank/cron-expression/src/Cron/MinutesField.php deleted file mode 100644 index fecc9b6..0000000 --- a/paragonik-backend/vendor/dragonmantank/cron-expression/src/Cron/MinutesField.php +++ /dev/null @@ -1,75 +0,0 @@ -isSatisfied($date->format('i'), $value); - } - - /** - * {@inheritDoc} - * - * @param \DateTime|\DateTimeImmutable &$date - * @param string|null $parts - */ - public function increment(DateTimeInterface &$date, $invert = false, $parts = null) - { - if (is_null($parts)) { - $date = $date->modify(($invert ? '-' : '+') . '1 minute'); - return $this; - } - - $parts = strpos($parts, ',') !== false ? explode(',', $parts) : array($parts); - $minutes = array(); - foreach ($parts as $part) { - $minutes = array_merge($minutes, $this->getRangeForExpression($part, 59)); - } - - $current_minute = $date->format('i'); - $position = $invert ? count($minutes) - 1 : 0; - if (count($minutes) > 1) { - for ($i = 0; $i < count($minutes) - 1; $i++) { - if ((!$invert && $current_minute >= $minutes[$i] && $current_minute < $minutes[$i + 1]) || - ($invert && $current_minute > $minutes[$i] && $current_minute <= $minutes[$i + 1])) { - $position = $invert ? $i : $i + 1; - break; - } - } - } - - if ((!$invert && $current_minute >= $minutes[$position]) || ($invert && $current_minute <= $minutes[$position])) { - $date = $date->modify(($invert ? '-' : '+') . '1 hour'); - $date = $date->setTime($date->format('H'), $invert ? 59 : 0); - } - else { - $date = $date->setTime($date->format('H'), $minutes[$position]); - } - - return $this; - } -} diff --git a/paragonik-backend/vendor/dragonmantank/cron-expression/src/Cron/MonthField.php b/paragonik-backend/vendor/dragonmantank/cron-expression/src/Cron/MonthField.php deleted file mode 100644 index afc9caf..0000000 --- a/paragonik-backend/vendor/dragonmantank/cron-expression/src/Cron/MonthField.php +++ /dev/null @@ -1,59 +0,0 @@ - 'JAN', 2 => 'FEB', 3 => 'MAR', 4 => 'APR', 5 => 'MAY', 6 => 'JUN', 7 => 'JUL', - 8 => 'AUG', 9 => 'SEP', 10 => 'OCT', 11 => 'NOV', 12 => 'DEC']; - - /** - * @inheritDoc - */ - public function isSatisfiedBy(DateTimeInterface $date, $value) - { - if ($value == '?') { - return true; - } - - $value = $this->convertLiterals($value); - - return $this->isSatisfied($date->format('m'), $value); - } - - /** - * @inheritDoc - * - * @param \DateTime|\DateTimeImmutable &$date - */ - public function increment(DateTimeInterface &$date, $invert = false) - { - if ($invert) { - $date = $date->modify('last day of previous month')->setTime(23, 59); - } else { - $date = $date->modify('first day of next month')->setTime(0, 0); - } - - return $this; - } - - -} diff --git a/paragonik-backend/vendor/dragonmantank/cron-expression/tests/Cron/AbstractFieldTest.php b/paragonik-backend/vendor/dragonmantank/cron-expression/tests/Cron/AbstractFieldTest.php deleted file mode 100644 index 3811439..0000000 --- a/paragonik-backend/vendor/dragonmantank/cron-expression/tests/Cron/AbstractFieldTest.php +++ /dev/null @@ -1,139 +0,0 @@ - - */ -class AbstractFieldTest extends TestCase -{ - /** - * @covers \Cron\AbstractField::isRange - */ - public function testTestsIfRange() - { - $f = new DayOfWeekField(); - $this->assertTrue($f->isRange('1-2')); - $this->assertFalse($f->isRange('2')); - } - - /** - * @covers \Cron\AbstractField::isIncrementsOfRanges - */ - public function testTestsIfIncrementsOfRanges() - { - $f = new DayOfWeekField(); - $this->assertFalse($f->isIncrementsOfRanges('1-2')); - $this->assertTrue($f->isIncrementsOfRanges('1/2')); - $this->assertTrue($f->isIncrementsOfRanges('*/2')); - $this->assertTrue($f->isIncrementsOfRanges('3-12/2')); - } - - /** - * @covers \Cron\AbstractField::isInRange - */ - public function testTestsIfInRange() - { - $f = new DayOfWeekField(); - $this->assertTrue($f->isInRange('1', '1-2')); - $this->assertTrue($f->isInRange('2', '1-2')); - $this->assertTrue($f->isInRange('5', '4-12')); - $this->assertFalse($f->isInRange('3', '4-12')); - $this->assertFalse($f->isInRange('13', '4-12')); - } - - /** - * @covers \Cron\AbstractField::isInIncrementsOfRanges - */ - public function testTestsIfInIncrementsOfRangesOnZeroStartRange() - { - $f = new MinutesField(); - $this->assertTrue($f->isInIncrementsOfRanges('3', '3-59/2')); - $this->assertTrue($f->isInIncrementsOfRanges('13', '3-59/2')); - $this->assertTrue($f->isInIncrementsOfRanges('15', '3-59/2')); - $this->assertTrue($f->isInIncrementsOfRanges('14', '*/2')); - $this->assertFalse($f->isInIncrementsOfRanges('2', '3-59/13')); - $this->assertFalse($f->isInIncrementsOfRanges('14', '*/13')); - $this->assertFalse($f->isInIncrementsOfRanges('14', '3-59/2')); - $this->assertFalse($f->isInIncrementsOfRanges('3', '2-59')); - $this->assertFalse($f->isInIncrementsOfRanges('3', '2')); - $this->assertFalse($f->isInIncrementsOfRanges('3', '*')); - $this->assertFalse($f->isInIncrementsOfRanges('0', '*/0')); - $this->assertFalse($f->isInIncrementsOfRanges('1', '*/0')); - - $this->assertTrue($f->isInIncrementsOfRanges('4', '4/1')); - $this->assertFalse($f->isInIncrementsOfRanges('14', '4/1')); - $this->assertFalse($f->isInIncrementsOfRanges('34', '4/1')); - } - - /** - * @covers \Cron\AbstractField::isInIncrementsOfRanges - */ - public function testTestsIfInIncrementsOfRangesOnOneStartRange() - { - $f = new MonthField(); - $this->assertTrue($f->isInIncrementsOfRanges('3', '3-12/2')); - $this->assertFalse($f->isInIncrementsOfRanges('13', '3-12/2')); - $this->assertFalse($f->isInIncrementsOfRanges('15', '3-12/2')); - $this->assertTrue($f->isInIncrementsOfRanges('3', '*/2')); - $this->assertFalse($f->isInIncrementsOfRanges('3', '*/3')); - $this->assertTrue($f->isInIncrementsOfRanges('7', '*/3')); - $this->assertFalse($f->isInIncrementsOfRanges('14', '3-12/2')); - $this->assertFalse($f->isInIncrementsOfRanges('3', '2-12')); - $this->assertFalse($f->isInIncrementsOfRanges('3', '2')); - $this->assertFalse($f->isInIncrementsOfRanges('3', '*')); - $this->assertFalse($f->isInIncrementsOfRanges('0', '*/0')); - $this->assertFalse($f->isInIncrementsOfRanges('1', '*/0')); - - $this->assertTrue($f->isInIncrementsOfRanges('4', '4/1')); - $this->assertFalse($f->isInIncrementsOfRanges('14', '4/1')); - $this->assertFalse($f->isInIncrementsOfRanges('34', '4/1')); - } - - /** - * @covers \Cron\AbstractField::isSatisfied - */ - public function testTestsIfSatisfied() - { - $f = new DayOfWeekField(); - $this->assertTrue($f->isSatisfied('12', '3-13')); - $this->assertFalse($f->isSatisfied('15', '3-7/2')); - $this->assertTrue($f->isSatisfied('12', '*')); - $this->assertTrue($f->isSatisfied('12', '12')); - $this->assertFalse($f->isSatisfied('12', '3-11')); - $this->assertFalse($f->isSatisfied('12', '3-7/2')); - $this->assertFalse($f->isSatisfied('12', '11')); - } - - /** - * Allows ranges and lists to coexist in the same expression - * - * @see https://github.com/dragonmantank/cron-expression/issues/5 - */ - public function testAllowRangesAndLists() - { - $expression = '5-7,11-13'; - $f = new HoursField(); - $this->assertTrue($f->validate($expression)); - } - - /** - * Makes sure that various types of ranges expand out properly - * - * @see https://github.com/dragonmantank/cron-expression/issues/5 - */ - public function testGetRangeForExpressionExpandsCorrectly() - { - $f = new HoursField(); - $this->assertSame([5, 6, 7, 11, 12, 13], $f->getRangeForExpression('5-7,11-13', 23)); - $this->assertSame(['5', '6', '7', '11', '12', '13'], $f->getRangeForExpression('5,6,7,11,12,13', 23)); - $this->assertSame([0, 6, 12, 18], $f->getRangeForExpression('*/6', 23)); - $this->assertSame([5, 11], $f->getRangeForExpression('5-13/6', 23)); - } -} diff --git a/paragonik-backend/vendor/dragonmantank/cron-expression/tests/Cron/CronExpressionTest.php b/paragonik-backend/vendor/dragonmantank/cron-expression/tests/Cron/CronExpressionTest.php deleted file mode 100644 index 9b82ae5..0000000 --- a/paragonik-backend/vendor/dragonmantank/cron-expression/tests/Cron/CronExpressionTest.php +++ /dev/null @@ -1,586 +0,0 @@ - - */ -class CronExpressionTest extends TestCase -{ - /** - * @covers \Cron\CronExpression::factory - */ - public function testFactoryRecognizesTemplates() - { - $this->assertSame('0 0 1 1 *', CronExpression::factory('@annually')->getExpression()); - $this->assertSame('0 0 1 1 *', CronExpression::factory('@yearly')->getExpression()); - $this->assertSame('0 0 * * 0', CronExpression::factory('@weekly')->getExpression()); - } - - /** - * @covers \Cron\CronExpression::__construct - * @covers \Cron\CronExpression::getExpression - * @covers \Cron\CronExpression::__toString - */ - public function testParsesCronSchedule() - { - // '2010-09-10 12:00:00' - $cron = CronExpression::factory('1 2-4 * 4,5,6 */3'); - $this->assertSame('1', $cron->getExpression(CronExpression::MINUTE)); - $this->assertSame('2-4', $cron->getExpression(CronExpression::HOUR)); - $this->assertSame('*', $cron->getExpression(CronExpression::DAY)); - $this->assertSame('4,5,6', $cron->getExpression(CronExpression::MONTH)); - $this->assertSame('*/3', $cron->getExpression(CronExpression::WEEKDAY)); - $this->assertSame('1 2-4 * 4,5,6 */3', $cron->getExpression()); - $this->assertSame('1 2-4 * 4,5,6 */3', (string) $cron); - $this->assertNull($cron->getExpression('foo')); - } - - /** - * @covers \Cron\CronExpression::__construct - * @covers \Cron\CronExpression::getExpression - * @covers \Cron\CronExpression::__toString - * @expectedException \InvalidArgumentException - * @expectedExceptionMessage Invalid CRON field value A at position 0 - */ - public function testParsesCronScheduleThrowsAnException() - { - CronExpression::factory('A 1 2 3 4'); - } - - /** - * @covers \Cron\CronExpression::__construct - * @covers \Cron\CronExpression::getExpression - * @dataProvider scheduleWithDifferentSeparatorsProvider - */ - public function testParsesCronScheduleWithAnySpaceCharsAsSeparators($schedule, array $expected) - { - $cron = CronExpression::factory($schedule); - $this->assertSame($expected[0], $cron->getExpression(CronExpression::MINUTE)); - $this->assertSame($expected[1], $cron->getExpression(CronExpression::HOUR)); - $this->assertSame($expected[2], $cron->getExpression(CronExpression::DAY)); - $this->assertSame($expected[3], $cron->getExpression(CronExpression::MONTH)); - $this->assertSame($expected[4], $cron->getExpression(CronExpression::WEEKDAY)); - } - - /** - * Data provider for testParsesCronScheduleWithAnySpaceCharsAsSeparators - * - * @return array - */ - public static function scheduleWithDifferentSeparatorsProvider() - { - return array( - array("*\t*\t*\t*\t*\t", array('*', '*', '*', '*', '*', '*')), - array("* * * * * ", array('*', '*', '*', '*', '*', '*')), - array("* \t * \t * \t * \t * \t", array('*', '*', '*', '*', '*', '*')), - array("*\t \t*\t \t*\t \t*\t \t*\t \t", array('*', '*', '*', '*', '*', '*')), - ); - } - - /** - * @covers \Cron\CronExpression::__construct - * @covers \Cron\CronExpression::setExpression - * @covers \Cron\CronExpression::setPart - * @expectedException InvalidArgumentException - */ - public function testInvalidCronsWillFail() - { - // Only four values - $cron = CronExpression::factory('* * * 1'); - } - - /** - * @covers \Cron\CronExpression::setPart - * @expectedException InvalidArgumentException - */ - public function testInvalidPartsWillFail() - { - // Only four values - $cron = CronExpression::factory('* * * * *'); - $cron->setPart(1, 'abc'); - } - - /** - * Data provider for cron schedule - * - * @return array - */ - public function scheduleProvider() - { - return array( - array('*/2 */2 * * *', '2015-08-10 21:47:27', '2015-08-10 22:00:00', false), - array('* * * * *', '2015-08-10 21:50:37', '2015-08-10 21:50:00', true), - array('* 20,21,22 * * *', '2015-08-10 21:50:00', '2015-08-10 21:50:00', true), - // Handles CSV values - array('* 20,22 * * *', '2015-08-10 21:50:00', '2015-08-10 22:00:00', false), - // CSV values can be complex - array('7-9 * */9 * *', '2015-08-10 22:02:33', '2015-08-10 22:07:00', false), - // 15th minute, of the second hour, every 15 days, in January, every Friday - array('1 * * * 7', '2015-08-10 21:47:27', '2015-08-16 00:01:00', false), - // Test with exact times - array('47 21 * * *', strtotime('2015-08-10 21:47:30'), '2015-08-10 21:47:00', true), - // Test Day of the week (issue #1) - // According cron implementation, 0|7 = sunday, 1 => monday, etc - array('* * * * 0', strtotime('2011-06-15 23:09:00'), '2011-06-19 00:00:00', false), - array('* * * * 7', strtotime('2011-06-15 23:09:00'), '2011-06-19 00:00:00', false), - array('* * * * 1', strtotime('2011-06-15 23:09:00'), '2011-06-20 00:00:00', false), - // Should return the sunday date as 7 equals 0 - array('0 0 * * MON,SUN', strtotime('2011-06-15 23:09:00'), '2011-06-19 00:00:00', false), - array('0 0 * * 1,7', strtotime('2011-06-15 23:09:00'), '2011-06-19 00:00:00', false), - array('0 0 * * 0-4', strtotime('2011-06-15 23:09:00'), '2011-06-16 00:00:00', false), - array('0 0 * * 7-4', strtotime('2011-06-15 23:09:00'), '2011-06-16 00:00:00', false), - array('0 0 * * 4-7', strtotime('2011-06-15 23:09:00'), '2011-06-16 00:00:00', false), - array('0 0 * * 7-3', strtotime('2011-06-15 23:09:00'), '2011-06-19 00:00:00', false), - array('0 0 * * 3-7', strtotime('2011-06-15 23:09:00'), '2011-06-16 00:00:00', false), - array('0 0 * * 3-7', strtotime('2011-06-18 23:09:00'), '2011-06-19 00:00:00', false), - // Test lists of values and ranges (Abhoryo) - array('0 0 * * 2-7', strtotime('2011-06-20 23:09:00'), '2011-06-21 00:00:00', false), - array('0 0 * * 2-7', strtotime('2011-06-18 23:09:00'), '2011-06-19 00:00:00', false), - array('0 0 * * 4-7', strtotime('2011-07-19 00:00:00'), '2011-07-21 00:00:00', false), - // Test increments of ranges - array('0-12/4 * * * *', strtotime('2011-06-20 12:04:00'), '2011-06-20 12:04:00', true), - array('4-59/2 * * * *', strtotime('2011-06-20 12:04:00'), '2011-06-20 12:04:00', true), - array('4-59/2 * * * *', strtotime('2011-06-20 12:06:00'), '2011-06-20 12:06:00', true), - array('4-59/3 * * * *', strtotime('2011-06-20 12:06:00'), '2011-06-20 12:07:00', false), - // Test Day of the Week and the Day of the Month (issue #1) - array('0 0 1 1 0', strtotime('2011-06-15 23:09:00'), '2012-01-01 00:00:00', false), - array('0 0 1 JAN 0', strtotime('2011-06-15 23:09:00'), '2012-01-01 00:00:00', false), - array('0 0 1 * 0', strtotime('2011-06-15 23:09:00'), '2012-01-01 00:00:00', false), - // Test the W day of the week modifier for day of the month field - array('0 0 2W * *', strtotime('2011-07-01 00:00:00'), '2011-07-01 00:00:00', true), - array('0 0 1W * *', strtotime('2011-05-01 00:00:00'), '2011-05-02 00:00:00', false), - array('0 0 1W * *', strtotime('2011-07-01 00:00:00'), '2011-07-01 00:00:00', true), - array('0 0 3W * *', strtotime('2011-07-01 00:00:00'), '2011-07-04 00:00:00', false), - array('0 0 16W * *', strtotime('2011-07-01 00:00:00'), '2011-07-15 00:00:00', false), - array('0 0 28W * *', strtotime('2011-07-01 00:00:00'), '2011-07-28 00:00:00', false), - array('0 0 30W * *', strtotime('2011-07-01 00:00:00'), '2011-07-29 00:00:00', false), - array('0 0 31W * *', strtotime('2011-07-01 00:00:00'), '2011-07-29 00:00:00', false), - // Test the last weekday of a month - array('* * * * 5L', strtotime('2011-07-01 00:00:00'), '2011-07-29 00:00:00', false), - array('* * * * 6L', strtotime('2011-07-01 00:00:00'), '2011-07-30 00:00:00', false), - array('* * * * 7L', strtotime('2011-07-01 00:00:00'), '2011-07-31 00:00:00', false), - array('* * * * 1L', strtotime('2011-07-24 00:00:00'), '2011-07-25 00:00:00', false), - array('* * * 1 5L', strtotime('2011-12-25 00:00:00'), '2012-01-27 00:00:00', false), - // Test the hash symbol for the nth weekday of a given month - array('* * * * 5#2', strtotime('2011-07-01 00:00:00'), '2011-07-08 00:00:00', false), - array('* * * * 5#1', strtotime('2011-07-01 00:00:00'), '2011-07-01 00:00:00', true), - array('* * * * 3#4', strtotime('2011-07-01 00:00:00'), '2011-07-27 00:00:00', false), - - // Issue #7, documented example failed - ['3-59/15 6-12 */15 1 2-5', strtotime('2017-01-08 00:00:00'), '2017-01-31 06:03:00', false], - - // https://github.com/laravel/framework/commit/07d160ac3cc9764d5b429734ffce4fa311385403 - ['* * * * MON-FRI', strtotime('2017-01-08 00:00:00'), strtotime('2017-01-09 00:00:00'), false], - ['* * * * TUE', strtotime('2017-01-08 00:00:00'), strtotime('2017-01-10 00:00:00'), false], - ); - } - - /** - * @covers \Cron\CronExpression::isDue - * @covers \Cron\CronExpression::getNextRunDate - * @covers \Cron\DayOfMonthField - * @covers \Cron\DayOfWeekField - * @covers \Cron\MinutesField - * @covers \Cron\HoursField - * @covers \Cron\MonthField - * @covers \Cron\CronExpression::getRunDate - * @dataProvider scheduleProvider - */ - public function testDeterminesIfCronIsDue($schedule, $relativeTime, $nextRun, $isDue) - { - $relativeTimeString = is_int($relativeTime) ? date('Y-m-d H:i:s', $relativeTime) : $relativeTime; - - // Test next run date - $cron = CronExpression::factory($schedule); - if (is_string($relativeTime)) { - $relativeTime = new DateTime($relativeTime); - } elseif (is_int($relativeTime)) { - $relativeTime = date('Y-m-d H:i:s', $relativeTime); - } - - if (is_string($nextRun)) { - $nextRunDate = new DateTime($nextRun); - } elseif (is_int($nextRun)) { - $nextRunDate = new DateTime(); - $nextRunDate->setTimestamp($nextRun); - } - $this->assertSame($isDue, $cron->isDue($relativeTime)); - $next = $cron->getNextRunDate($relativeTime, 0, true); - - $this->assertEquals($nextRunDate, $next); - } - - /** - * @covers \Cron\CronExpression::isDue - */ - public function testIsDueHandlesDifferentDates() - { - $cron = CronExpression::factory('* * * * *'); - $this->assertTrue($cron->isDue()); - $this->assertTrue($cron->isDue('now')); - $this->assertTrue($cron->isDue(new DateTime('now'))); - $this->assertTrue($cron->isDue(date('Y-m-d H:i'))); - $this->assertTrue($cron->isDue(new DateTimeImmutable('now'))); - } - - /** - * @covers \Cron\CronExpression::isDue - */ - public function testIsDueHandlesDifferentDefaultTimezones() - { - $originalTimezone = date_default_timezone_get(); - $cron = CronExpression::factory('0 15 * * 3'); //Wednesday at 15:00 - $date = '2014-01-01 15:00'; //Wednesday - - date_default_timezone_set('UTC'); - $this->assertTrue($cron->isDue(new DateTime($date), 'UTC')); - $this->assertFalse($cron->isDue(new DateTime($date), 'Europe/Amsterdam')); - $this->assertFalse($cron->isDue(new DateTime($date), 'Asia/Tokyo')); - - date_default_timezone_set('Europe/Amsterdam'); - $this->assertFalse($cron->isDue(new DateTime($date), 'UTC')); - $this->assertTrue($cron->isDue(new DateTime($date), 'Europe/Amsterdam')); - $this->assertFalse($cron->isDue(new DateTime($date), 'Asia/Tokyo')); - - date_default_timezone_set('Asia/Tokyo'); - $this->assertFalse($cron->isDue(new DateTime($date), 'UTC')); - $this->assertFalse($cron->isDue(new DateTime($date), 'Europe/Amsterdam')); - $this->assertTrue($cron->isDue(new DateTime($date), 'Asia/Tokyo')); - - date_default_timezone_set($originalTimezone); - } - - /** - * @covers \Cron\CronExpression::isDue - */ - public function testIsDueHandlesDifferentSuppliedTimezones() - { - $cron = CronExpression::factory('0 15 * * 3'); //Wednesday at 15:00 - $date = '2014-01-01 15:00'; //Wednesday - - $this->assertTrue($cron->isDue(new DateTime($date, new DateTimeZone('UTC')), 'UTC')); - $this->assertFalse($cron->isDue(new DateTime($date, new DateTimeZone('UTC')), 'Europe/Amsterdam')); - $this->assertFalse($cron->isDue(new DateTime($date, new DateTimeZone('UTC')), 'Asia/Tokyo')); - - $this->assertFalse($cron->isDue(new DateTime($date, new DateTimeZone('Europe/Amsterdam')), 'UTC')); - $this->assertTrue($cron->isDue(new DateTime($date, new DateTimeZone('Europe/Amsterdam')), 'Europe/Amsterdam')); - $this->assertFalse($cron->isDue(new DateTime($date, new DateTimeZone('Europe/Amsterdam')), 'Asia/Tokyo')); - - $this->assertFalse($cron->isDue(new DateTime($date, new DateTimeZone('Asia/Tokyo')), 'UTC')); - $this->assertFalse($cron->isDue(new DateTime($date, new DateTimeZone('Asia/Tokyo')), 'Europe/Amsterdam')); - $this->assertTrue($cron->isDue(new DateTime($date, new DateTimeZone('Asia/Tokyo')), 'Asia/Tokyo')); - } - - /** - * @covers Cron\CronExpression::isDue - */ - public function testIsDueHandlesDifferentTimezonesAsArgument() - { - $cron = CronExpression::factory('0 15 * * 3'); //Wednesday at 15:00 - $date = '2014-01-01 15:00'; //Wednesday - $utc = new \DateTimeZone('UTC'); - $amsterdam = new \DateTimeZone('Europe/Amsterdam'); - $tokyo = new \DateTimeZone('Asia/Tokyo'); - $this->assertTrue($cron->isDue(new DateTime($date, $utc), 'UTC')); - $this->assertFalse($cron->isDue(new DateTime($date, $amsterdam), 'UTC')); - $this->assertFalse($cron->isDue(new DateTime($date, $tokyo), 'UTC')); - $this->assertFalse($cron->isDue(new DateTime($date, $utc), 'Europe/Amsterdam')); - $this->assertTrue($cron->isDue(new DateTime($date, $amsterdam), 'Europe/Amsterdam')); - $this->assertFalse($cron->isDue(new DateTime($date, $tokyo), 'Europe/Amsterdam')); - $this->assertFalse($cron->isDue(new DateTime($date, $utc), 'Asia/Tokyo')); - $this->assertFalse($cron->isDue(new DateTime($date, $amsterdam), 'Asia/Tokyo')); - $this->assertTrue($cron->isDue(new DateTime($date, $tokyo), 'Asia/Tokyo')); - } - - /** - * @covers Cron\CronExpression::isDue - */ - public function testRecognisesTimezonesAsPartOfDateTime() - { - $cron = CronExpression::factory("0 7 * * *"); - $tzCron = "America/New_York"; - $tzServer = new \DateTimeZone("Europe/London"); - - $dtCurrent = \DateTime::createFromFormat("!Y-m-d H:i:s", "2017-10-17 10:00:00", $tzServer); - $dtPrev = $cron->getPreviousRunDate($dtCurrent, 0, true, $tzCron); - $this->assertEquals('1508151600 : 2017-10-16T07:00:00-04:00 : America/New_York', $dtPrev->format("U \: c \: e")); - - $dtCurrent = \DateTimeImmutable::createFromFormat("!Y-m-d H:i:s", "2017-10-17 10:00:00", $tzServer); - $dtPrev = $cron->getPreviousRunDate($dtCurrent, 0, true, $tzCron); - $this->assertEquals('1508151600 : 2017-10-16T07:00:00-04:00 : America/New_York', $dtPrev->format("U \: c \: e")); - - $dtCurrent = \DateTimeImmutable::createFromFormat("!Y-m-d H:i:s", "2017-10-17 10:00:00", $tzServer); - $dtPrev = $cron->getPreviousRunDate($dtCurrent->format("c"), 0, true, $tzCron); - $this->assertEquals('1508151600 : 2017-10-16T07:00:00-04:00 : America/New_York', $dtPrev->format("U \: c \: e")); - - $dtCurrent = \DateTimeImmutable::createFromFormat("!Y-m-d H:i:s", "2017-10-17 10:00:00", $tzServer); - $dtPrev = $cron->getPreviousRunDate($dtCurrent->format("\@U"), 0, true, $tzCron); - $this->assertEquals('1508151600 : 2017-10-16T07:00:00-04:00 : America/New_York', $dtPrev->format("U \: c \: e")); - - } - - - /** - * @covers \Cron\CronExpression::getPreviousRunDate - */ - public function testCanGetPreviousRunDates() - { - $cron = CronExpression::factory('* * * * *'); - $next = $cron->getNextRunDate('now'); - $two = $cron->getNextRunDate('now', 1); - $this->assertEquals($next, $cron->getPreviousRunDate($two)); - - $cron = CronExpression::factory('* */2 * * *'); - $next = $cron->getNextRunDate('now'); - $two = $cron->getNextRunDate('now', 1); - $this->assertEquals($next, $cron->getPreviousRunDate($two)); - - $cron = CronExpression::factory('* * * */2 *'); - $next = $cron->getNextRunDate('now'); - $two = $cron->getNextRunDate('now', 1); - $this->assertEquals($next, $cron->getPreviousRunDate($two)); - } - - /** - * @covers \Cron\CronExpression::getMultipleRunDates - */ - public function testProvidesMultipleRunDates() - { - $cron = CronExpression::factory('*/2 * * * *'); - $this->assertEquals(array( - new DateTime('2008-11-09 00:00:00'), - new DateTime('2008-11-09 00:02:00'), - new DateTime('2008-11-09 00:04:00'), - new DateTime('2008-11-09 00:06:00') - ), $cron->getMultipleRunDates(4, '2008-11-09 00:00:00', false, true)); - } - - /** - * @covers \Cron\CronExpression::getMultipleRunDates - * @covers \Cron\CronExpression::setMaxIterationCount - */ - public function testProvidesMultipleRunDatesForTheFarFuture() { - // Fails with the default 1000 iteration limit - $cron = CronExpression::factory('0 0 12 1 *'); - $cron->setMaxIterationCount(2000); - $this->assertEquals(array( - new DateTime('2016-01-12 00:00:00'), - new DateTime('2017-01-12 00:00:00'), - new DateTime('2018-01-12 00:00:00'), - new DateTime('2019-01-12 00:00:00'), - new DateTime('2020-01-12 00:00:00'), - new DateTime('2021-01-12 00:00:00'), - new DateTime('2022-01-12 00:00:00'), - new DateTime('2023-01-12 00:00:00'), - new DateTime('2024-01-12 00:00:00'), - ), $cron->getMultipleRunDates(9, '2015-04-28 00:00:00', false, true)); - } - - /** - * @covers \Cron\CronExpression - */ - public function testCanIterateOverNextRuns() - { - $cron = CronExpression::factory('@weekly'); - $nextRun = $cron->getNextRunDate("2008-11-09 08:00:00"); - $this->assertEquals($nextRun, new DateTime("2008-11-16 00:00:00")); - - // true is cast to 1 - $nextRun = $cron->getNextRunDate("2008-11-09 00:00:00", true, true); - $this->assertEquals($nextRun, new DateTime("2008-11-16 00:00:00")); - - // You can iterate over them - $nextRun = $cron->getNextRunDate($cron->getNextRunDate("2008-11-09 00:00:00", 1, true), 1, true); - $this->assertEquals($nextRun, new DateTime("2008-11-23 00:00:00")); - - // You can skip more than one - $nextRun = $cron->getNextRunDate("2008-11-09 00:00:00", 2, true); - $this->assertEquals($nextRun, new DateTime("2008-11-23 00:00:00")); - $nextRun = $cron->getNextRunDate("2008-11-09 00:00:00", 3, true); - $this->assertEquals($nextRun, new DateTime("2008-11-30 00:00:00")); - } - - /** - * @covers \Cron\CronExpression::getRunDate - */ - public function testGetRunDateHandlesDifferentDates() - { - $cron = CronExpression::factory('@weekly'); - $date = new DateTime("2019-03-10 00:00:00"); - $this->assertEquals($date, $cron->getNextRunDate("2019-03-03 08:00:00")); - $this->assertEquals($date, $cron->getNextRunDate(new DateTime("2019-03-03 08:00:00"))); - $this->assertEquals($date, $cron->getNextRunDate(new DateTimeImmutable("2019-03-03 08:00:00"))); - } - - /** - * @covers \Cron\CronExpression::getRunDate - */ - public function testSkipsCurrentDateByDefault() - { - $cron = CronExpression::factory('* * * * *'); - $current = new DateTime('now'); - $next = $cron->getNextRunDate($current); - $nextPrev = $cron->getPreviousRunDate($next); - $this->assertSame($current->format('Y-m-d H:i:00'), $nextPrev->format('Y-m-d H:i:s')); - } - - /** - * @covers \Cron\CronExpression::getRunDate - * @ticket 7 - */ - public function testStripsForSeconds() - { - $cron = CronExpression::factory('* * * * *'); - $current = new DateTime('2011-09-27 10:10:54'); - $this->assertSame('2011-09-27 10:11:00', $cron->getNextRunDate($current)->format('Y-m-d H:i:s')); - } - - /** - * @covers \Cron\CronExpression::getRunDate - */ - public function testFixesPhpBugInDateIntervalMonth() - { - $cron = CronExpression::factory('0 0 27 JAN *'); - $this->assertSame('2011-01-27 00:00:00', $cron->getPreviousRunDate('2011-08-22 00:00:00')->format('Y-m-d H:i:s')); - } - - public function testIssue29() - { - $cron = CronExpression::factory('@weekly'); - $this->assertSame( - '2013-03-10 00:00:00', - $cron->getPreviousRunDate('2013-03-17 00:00:00')->format('Y-m-d H:i:s') - ); - } - - /** - * @see https://github.com/mtdowling/cron-expression/issues/20 - */ - public function testIssue20() { - $e = CronExpression::factory('* * * * MON#1'); - $this->assertTrue($e->isDue(new DateTime('2014-04-07 00:00:00'))); - $this->assertFalse($e->isDue(new DateTime('2014-04-14 00:00:00'))); - $this->assertFalse($e->isDue(new DateTime('2014-04-21 00:00:00'))); - - $e = CronExpression::factory('* * * * SAT#2'); - $this->assertFalse($e->isDue(new DateTime('2014-04-05 00:00:00'))); - $this->assertTrue($e->isDue(new DateTime('2014-04-12 00:00:00'))); - $this->assertFalse($e->isDue(new DateTime('2014-04-19 00:00:00'))); - - $e = CronExpression::factory('* * * * SUN#3'); - $this->assertFalse($e->isDue(new DateTime('2014-04-13 00:00:00'))); - $this->assertTrue($e->isDue(new DateTime('2014-04-20 00:00:00'))); - $this->assertFalse($e->isDue(new DateTime('2014-04-27 00:00:00'))); - } - - /** - * @covers \Cron\CronExpression::getRunDate - */ - public function testKeepOriginalTime() - { - $now = new \DateTime; - $strNow = $now->format(DateTime::ISO8601); - $cron = CronExpression::factory('0 0 * * *'); - $cron->getPreviousRunDate($now); - $this->assertSame($strNow, $now->format(DateTime::ISO8601)); - } - - /** - * @covers \Cron\CronExpression::__construct - * @covers \Cron\CronExpression::factory - * @covers \Cron\CronExpression::isValidExpression - * @covers \Cron\CronExpression::setExpression - * @covers \Cron\CronExpression::setPart - */ - public function testValidationWorks() - { - // Invalid. Only four values - $this->assertFalse(CronExpression::isValidExpression('* * * 1')); - // Valid - $this->assertTrue(CronExpression::isValidExpression('* * * * 1')); - - // Issue #156, 13 is an invalid month - $this->assertFalse(CronExpression::isValidExpression("* * * 13 * ")); - - // Issue #155, 90 is an invalid second - $this->assertFalse(CronExpression::isValidExpression('90 * * * *')); - - // Issue #154, 24 is an invalid hour - $this->assertFalse(CronExpression::isValidExpression("0 24 1 12 0")); - - // Issue #125, this is just all sorts of wrong - $this->assertFalse(CronExpression::isValidExpression('990 14 * * mon-fri0345345')); - - // see https://github.com/dragonmantank/cron-expression/issues/5 - $this->assertTrue(CronExpression::isValidExpression('2,17,35,47 5-7,11-13 * * *')); - } - - /** - * Makes sure that 00 is considered a valid value for 0-based fields - * cronie allows numbers with a leading 0, so adding support for this as well - * - * @see https://github.com/dragonmantank/cron-expression/issues/12 - */ - public function testDoubleZeroIsValid() - { - $this->assertTrue(CronExpression::isValidExpression('00 * * * *')); - $this->assertTrue(CronExpression::isValidExpression('01 * * * *')); - $this->assertTrue(CronExpression::isValidExpression('* 00 * * *')); - $this->assertTrue(CronExpression::isValidExpression('* 01 * * *')); - - $e = CronExpression::factory('00 * * * *'); - $this->assertTrue($e->isDue(new DateTime('2014-04-07 00:00:00'))); - $e = CronExpression::factory('01 * * * *'); - $this->assertTrue($e->isDue(new DateTime('2014-04-07 00:01:00'))); - - $e = CronExpression::factory('* 00 * * *'); - $this->assertTrue($e->isDue(new DateTime('2014-04-07 00:00:00'))); - $e = CronExpression::factory('* 01 * * *'); - $this->assertTrue($e->isDue(new DateTime('2014-04-07 01:00:00'))); - } - - - /** - * Ranges with large steps should "wrap around" to the appropriate value - * cronie allows for steps that are larger than the range of a field, with it wrapping around like a ring buffer. We - * should do the same. - * - * @see https://github.com/dragonmantank/cron-expression/issues/6 - */ - public function testRangesWrapAroundWithLargeSteps() - { - $f = new MonthField(); - $this->assertTrue($f->validate('*/123')); - $this->assertSame([4], $f->getRangeForExpression('*/123', 12)); - - $e = CronExpression::factory('* * * */123 *'); - $this->assertTrue($e->isDue(new DateTime('2014-04-07 00:00:00'))); - - $nextRunDate = $e->getNextRunDate(new DateTime('2014-04-07 00:00:00')); - $this->assertSame('2014-04-07 00:01:00', $nextRunDate->format('Y-m-d H:i:s')); - - $nextRunDate = $e->getNextRunDate(new DateTime('2014-05-07 00:00:00')); - $this->assertSame('2015-04-01 00:00:00', $nextRunDate->format('Y-m-d H:i:s')); - } - - /** - * When there is an issue with a field, we should report the human readable position - * - * @see https://github.com/dragonmantank/cron-expression/issues/29 - */ - public function testFieldPositionIsHumanAdjusted() - { - $this->expectException(InvalidArgumentException::class); - $this->expectExceptionMessage("6 is not a valid position"); - $e = CronExpression::factory('0 * * * * ? *'); - } -} diff --git a/paragonik-backend/vendor/dragonmantank/cron-expression/tests/Cron/DayOfMonthFieldTest.php b/paragonik-backend/vendor/dragonmantank/cron-expression/tests/Cron/DayOfMonthFieldTest.php deleted file mode 100644 index 2191b6b..0000000 --- a/paragonik-backend/vendor/dragonmantank/cron-expression/tests/Cron/DayOfMonthFieldTest.php +++ /dev/null @@ -1,77 +0,0 @@ - - */ -class DayOfMonthFieldTest extends TestCase -{ - /** - * @covers \Cron\DayOfMonthField::validate - */ - public function testValidatesField() - { - $f = new DayOfMonthField(); - $this->assertTrue($f->validate('1')); - $this->assertTrue($f->validate('*')); - $this->assertTrue($f->validate('L')); - $this->assertTrue($f->validate('5W')); - $this->assertTrue($f->validate('01')); - $this->assertFalse($f->validate('5W,L')); - $this->assertFalse($f->validate('1.')); - } - - /** - * @covers \Cron\DayOfMonthField::isSatisfiedBy - */ - public function testChecksIfSatisfied() - { - $f = new DayOfMonthField(); - $this->assertTrue($f->isSatisfiedBy(new DateTime(), '?')); - $this->assertTrue($f->isSatisfiedBy(new DateTimeImmutable(), '?')); - } - - /** - * @covers \Cron\DayOfMonthField::increment - */ - public function testIncrementsDate() - { - $d = new DateTime('2011-03-15 11:15:00'); - $f = new DayOfMonthField(); - $f->increment($d); - $this->assertSame('2011-03-16 00:00:00', $d->format('Y-m-d H:i:s')); - - $d = new DateTime('2011-03-15 11:15:00'); - $f->increment($d, true); - $this->assertSame('2011-03-14 23:59:00', $d->format('Y-m-d H:i:s')); - } - - /** - * @covers \Cron\DayOfMonthField::increment - */ - public function testIncrementsDateTimeImmutable() - { - $d = new DateTimeImmutable('2011-03-15 11:15:00'); - $f = new DayOfMonthField(); - $f->increment($d); - $this->assertSame('2011-03-16 00:00:00', $d->format('Y-m-d H:i:s')); - } - - /** - * Day of the month cannot accept a 0 value, it must be between 1 and 31 - * See Github issue #120 - * - * @since 2017-01-22 - */ - public function testDoesNotAccept0Date() - { - $f = new DayOfMonthField(); - $this->assertFalse($f->validate(0)); - } -} diff --git a/paragonik-backend/vendor/dragonmantank/cron-expression/tests/Cron/DayOfWeekFieldTest.php b/paragonik-backend/vendor/dragonmantank/cron-expression/tests/Cron/DayOfWeekFieldTest.php deleted file mode 100644 index ef89b47..0000000 --- a/paragonik-backend/vendor/dragonmantank/cron-expression/tests/Cron/DayOfWeekFieldTest.php +++ /dev/null @@ -1,154 +0,0 @@ - - */ -class DayOfWeekFieldTest extends TestCase -{ - /** - * @covers \Cron\DayOfWeekField::validate - */ - public function testValidatesField() - { - $f = new DayOfWeekField(); - $this->assertTrue($f->validate('1')); - $this->assertTrue($f->validate('01')); - $this->assertTrue($f->validate('00')); - $this->assertTrue($f->validate('*')); - $this->assertFalse($f->validate('*/3,1,1-12')); - $this->assertTrue($f->validate('SUN-2')); - $this->assertFalse($f->validate('1.')); - } - - /** - * @covers \Cron\DayOfWeekField::isSatisfiedBy - */ - public function testChecksIfSatisfied() - { - $f = new DayOfWeekField(); - $this->assertTrue($f->isSatisfiedBy(new DateTime(), '?')); - $this->assertTrue($f->isSatisfiedBy(new DateTimeImmutable(), '?')); - } - - /** - * @covers \Cron\DayOfWeekField::increment - */ - public function testIncrementsDate() - { - $d = new DateTime('2011-03-15 11:15:00'); - $f = new DayOfWeekField(); - $f->increment($d); - $this->assertSame('2011-03-16 00:00:00', $d->format('Y-m-d H:i:s')); - - $d = new DateTime('2011-03-15 11:15:00'); - $f->increment($d, true); - $this->assertSame('2011-03-14 23:59:00', $d->format('Y-m-d H:i:s')); - } - - /** - * @covers \Cron\DayOfWeekField::increment - */ - public function testIncrementsDateTimeImmutable() - { - $d = new DateTimeImmutable('2011-03-15 11:15:00'); - $f = new DayOfWeekField(); - $f->increment($d); - $this->assertSame('2011-03-16 00:00:00', $d->format('Y-m-d H:i:s')); - } - - /** - * @covers \Cron\DayOfWeekField::isSatisfiedBy - * @expectedException InvalidArgumentException - * @expectedExceptionMessage Weekday must be a value between 0 and 7. 12 given - */ - public function testValidatesHashValueWeekday() - { - $f = new DayOfWeekField(); - $this->assertTrue($f->isSatisfiedBy(new DateTime(), '12#1')); - } - - /** - * @covers \Cron\DayOfWeekField::isSatisfiedBy - * @expectedException InvalidArgumentException - * @expectedExceptionMessage There are never more than 5 or less than 1 of a given weekday in a month - */ - public function testValidatesHashValueNth() - { - $f = new DayOfWeekField(); - $this->assertTrue($f->isSatisfiedBy(new DateTime(), '3#6')); - } - - /** - * @covers \Cron\DayOfWeekField::validate - */ - public function testValidateWeekendHash() - { - $f = new DayOfWeekField(); - $this->assertTrue($f->validate('MON#1')); - $this->assertTrue($f->validate('TUE#2')); - $this->assertTrue($f->validate('WED#3')); - $this->assertTrue($f->validate('THU#4')); - $this->assertTrue($f->validate('FRI#5')); - $this->assertTrue($f->validate('SAT#1')); - $this->assertTrue($f->validate('SUN#3')); - $this->assertTrue($f->validate('MON#1,MON#3')); - } - - /** - * @covers \Cron\DayOfWeekField::isSatisfiedBy - */ - public function testHandlesZeroAndSevenDayOfTheWeekValues() - { - $f = new DayOfWeekField(); - $this->assertTrue($f->isSatisfiedBy(new DateTime('2011-09-04 00:00:00'), '0-2')); - $this->assertTrue($f->isSatisfiedBy(new DateTime('2011-09-04 00:00:00'), '6-0')); - - $this->assertTrue($f->isSatisfiedBy(new DateTime('2014-04-20 00:00:00'), 'SUN')); - $this->assertTrue($f->isSatisfiedBy(new DateTime('2014-04-20 00:00:00'), 'SUN#3')); - $this->assertTrue($f->isSatisfiedBy(new DateTime('2014-04-20 00:00:00'), '0#3')); - $this->assertTrue($f->isSatisfiedBy(new DateTime('2014-04-20 00:00:00'), '7#3')); - } - - /** - * @covers \Cron\DayOfWeekField::isSatisfiedBy - */ - public function testHandlesLastWeekdayOfTheMonth() - { - $f = new DayOfWeekField(); - $this->assertTrue($f->isSatisfiedBy(new DateTime('2018-12-28 00:00:00'), 'FRIL')); - $this->assertTrue($f->isSatisfiedBy(new DateTime('2018-12-28 00:00:00'), '5L')); - $this->assertFalse($f->isSatisfiedBy(new DateTime('2018-12-21 00:00:00'), 'FRIL')); - $this->assertFalse($f->isSatisfiedBy(new DateTime('2018-12-21 00:00:00'), '5L')); - } - - /** - * @see https://github.com/mtdowling/cron-expression/issues/47 - */ - public function testIssue47() { - $f = new DayOfWeekField(); - $this->assertFalse($f->validate('mon,')); - $this->assertFalse($f->validate('mon-')); - $this->assertFalse($f->validate('*/2,')); - $this->assertFalse($f->validate('-mon')); - $this->assertFalse($f->validate(',1')); - $this->assertFalse($f->validate('*-')); - $this->assertFalse($f->validate(',-')); - } - - /** - * @see https://github.com/laravel/framework/commit/07d160ac3cc9764d5b429734ffce4fa311385403 - */ - public function testLiteralsExpandProperly() - { - $f = new DayOfWeekField(); - $this->assertTrue($f->validate('MON-FRI')); - $this->assertSame([1,2,3,4,5], $f->getRangeForExpression('MON-FRI', 7)); - } -} diff --git a/paragonik-backend/vendor/dragonmantank/cron-expression/tests/Cron/FieldFactoryTest.php b/paragonik-backend/vendor/dragonmantank/cron-expression/tests/Cron/FieldFactoryTest.php deleted file mode 100644 index a6e66b0..0000000 --- a/paragonik-backend/vendor/dragonmantank/cron-expression/tests/Cron/FieldFactoryTest.php +++ /dev/null @@ -1,42 +0,0 @@ - - */ -class FieldFactoryTest extends TestCase -{ - /** - * @covers \Cron\FieldFactory::getField - */ - public function testRetrievesFieldInstances() - { - $mappings = array( - 0 => 'Cron\MinutesField', - 1 => 'Cron\HoursField', - 2 => 'Cron\DayOfMonthField', - 3 => 'Cron\MonthField', - 4 => 'Cron\DayOfWeekField', - ); - - $f = new FieldFactory(); - - foreach ($mappings as $position => $class) { - $this->assertSame($class, get_class($f->getField($position))); - } - } - - /** - * @covers \Cron\FieldFactory::getField - * @expectedException InvalidArgumentException - */ - public function testValidatesFieldPosition() - { - $f = new FieldFactory(); - $f->getField(-1); - } -} diff --git a/paragonik-backend/vendor/dragonmantank/cron-expression/tests/Cron/HoursFieldTest.php b/paragonik-backend/vendor/dragonmantank/cron-expression/tests/Cron/HoursFieldTest.php deleted file mode 100644 index 1849f28..0000000 --- a/paragonik-backend/vendor/dragonmantank/cron-expression/tests/Cron/HoursFieldTest.php +++ /dev/null @@ -1,99 +0,0 @@ - - */ -class HoursFieldTest extends TestCase -{ - /** - * @covers \Cron\HoursField::validate - */ - public function testValidatesField() - { - $f = new HoursField(); - $this->assertTrue($f->validate('1')); - $this->assertTrue($f->validate('00')); - $this->assertTrue($f->validate('01')); - $this->assertTrue($f->validate('*')); - $this->assertFalse($f->validate('*/3,1,1-12')); - } - - /** - * @covers \Cron\HoursField::isSatisfiedBy - */ - public function testChecksIfSatisfied() - { - $f = new HoursField(); - $this->assertTrue($f->isSatisfiedBy(new DateTime(), '?')); - $this->assertTrue($f->isSatisfiedBy(new DateTimeImmutable(), '?')); - } - - /** - * @covers \Cron\HoursField::increment - */ - public function testIncrementsDate() - { - $d = new DateTime('2011-03-15 11:15:00'); - $f = new HoursField(); - $f->increment($d); - $this->assertSame('2011-03-15 12:00:00', $d->format('Y-m-d H:i:s')); - - $d->setTime(11, 15, 0); - $f->increment($d, true); - $this->assertSame('2011-03-15 10:59:00', $d->format('Y-m-d H:i:s')); - } - - /** - * @covers \Cron\HoursField::increment - */ - public function testIncrementsDateTimeImmutable() - { - $d = new DateTimeImmutable('2011-03-15 11:15:00'); - $f = new HoursField(); - $f->increment($d); - $this->assertSame('2011-03-15 12:00:00', $d->format('Y-m-d H:i:s')); - } - - /** - * @covers \Cron\HoursField::increment - */ - public function testIncrementsDateWithThirtyMinuteOffsetTimezone() - { - $tz = date_default_timezone_get(); - date_default_timezone_set('America/St_Johns'); - $d = new DateTime('2011-03-15 11:15:00'); - $f = new HoursField(); - $f->increment($d); - $this->assertSame('2011-03-15 12:00:00', $d->format('Y-m-d H:i:s')); - - $d->setTime(11, 15, 0); - $f->increment($d, true); - $this->assertSame('2011-03-15 10:59:00', $d->format('Y-m-d H:i:s')); - date_default_timezone_set($tz); - } - - /** - * @covers \Cron\HoursField::increment - */ - public function testIncrementDateWithFifteenMinuteOffsetTimezone() - { - $tz = date_default_timezone_get(); - date_default_timezone_set('Asia/Kathmandu'); - $d = new DateTime('2011-03-15 11:15:00'); - $f = new HoursField(); - $f->increment($d); - $this->assertSame('2011-03-15 12:00:00', $d->format('Y-m-d H:i:s')); - - $d->setTime(11, 15, 0); - $f->increment($d, true); - $this->assertSame('2011-03-15 10:59:00', $d->format('Y-m-d H:i:s')); - date_default_timezone_set($tz); - } -} diff --git a/paragonik-backend/vendor/dragonmantank/cron-expression/tests/Cron/MinutesFieldTest.php b/paragonik-backend/vendor/dragonmantank/cron-expression/tests/Cron/MinutesFieldTest.php deleted file mode 100644 index 41a536d..0000000 --- a/paragonik-backend/vendor/dragonmantank/cron-expression/tests/Cron/MinutesFieldTest.php +++ /dev/null @@ -1,73 +0,0 @@ - - */ -class MinutesFieldTest extends TestCase -{ - /** - * @covers \Cron\MinutesField::validate - */ - public function testValidatesField() - { - $f = new MinutesField(); - $this->assertTrue($f->validate('1')); - $this->assertTrue($f->validate('*')); - $this->assertFalse($f->validate('*/3,1,1-12')); - } - - /** - * @covers \Cron\MinutesField::isSatisfiedBy - */ - public function testChecksIfSatisfied() - { - $f = new MinutesField(); - $this->assertTrue($f->isSatisfiedBy(new DateTime(), '?')); - $this->assertTrue($f->isSatisfiedBy(new DateTimeImmutable(), '?')); - } - - /** - * @covers \Cron\MinutesField::increment - */ - public function testIncrementsDate() - { - $d = new DateTime('2011-03-15 11:15:00'); - $f = new MinutesField(); - $f->increment($d); - $this->assertSame('2011-03-15 11:16:00', $d->format('Y-m-d H:i:s')); - $f->increment($d, true); - $this->assertSame('2011-03-15 11:15:00', $d->format('Y-m-d H:i:s')); - } - - /** - * @covers \Cron\MinutesField::increment - */ - public function testIncrementsDateTimeImmutable() - { - $d = new DateTimeImmutable('2011-03-15 11:15:00'); - $f = new MinutesField(); - $f->increment($d); - $this->assertSame('2011-03-15 11:16:00', $d->format('Y-m-d H:i:s')); - } - - /** - * Various bad syntaxes that are reported to work, but shouldn't. - * - * @author Chris Tankersley - * @since 2017-08-18 - */ - public function testBadSyntaxesShouldNotValidate() - { - $f = new MinutesField(); - $this->assertFalse($f->validate('*-1')); - $this->assertFalse($f->validate('1-2-3')); - $this->assertFalse($f->validate('-1')); - } -} diff --git a/paragonik-backend/vendor/dragonmantank/cron-expression/tests/Cron/MonthFieldTest.php b/paragonik-backend/vendor/dragonmantank/cron-expression/tests/Cron/MonthFieldTest.php deleted file mode 100644 index f329f4c..0000000 --- a/paragonik-backend/vendor/dragonmantank/cron-expression/tests/Cron/MonthFieldTest.php +++ /dev/null @@ -1,103 +0,0 @@ - - */ -class MonthFieldTest extends TestCase -{ - /** - * @covers \Cron\MonthField::validate - */ - public function testValidatesField() - { - $f = new MonthField(); - $this->assertTrue($f->validate('12')); - $this->assertTrue($f->validate('*')); - $this->assertFalse($f->validate('*/10,2,1-12')); - $this->assertFalse($f->validate('1.fix-regexp')); - } - - /** - * @covers \Cron\MonthField::isSatisfiedBy - */ - public function testChecksIfSatisfied() - { - $f = new MonthField(); - $this->assertTrue($f->isSatisfiedBy(new DateTime(), '?')); - $this->assertTrue($f->isSatisfiedBy(new DateTimeImmutable(), '?')); - } - - /** - * @covers \Cron\MonthField::increment - */ - public function testIncrementsDate() - { - $d = new DateTime('2011-03-15 11:15:00'); - $f = new MonthField(); - $f->increment($d); - $this->assertSame('2011-04-01 00:00:00', $d->format('Y-m-d H:i:s')); - - $d = new DateTime('2011-03-15 11:15:00'); - $f->increment($d, true); - $this->assertSame('2011-02-28 23:59:00', $d->format('Y-m-d H:i:s')); - } - - /** - * @covers \Cron\MonthField::increment - */ - public function testIncrementsDateTimeImmutable() - { - $d = new DateTimeImmutable('2011-03-15 11:15:00'); - $f = new MonthField(); - $f->increment($d); - $this->assertSame('2011-04-01 00:00:00', $d->format('Y-m-d H:i:s')); - } - - /** - * @covers \Cron\MonthField::increment - */ - public function testIncrementsDateWithThirtyMinuteTimezone() - { - $tz = date_default_timezone_get(); - date_default_timezone_set('America/St_Johns'); - $d = new DateTime('2011-03-31 11:59:59'); - $f = new MonthField(); - $f->increment($d); - $this->assertSame('2011-04-01 00:00:00', $d->format('Y-m-d H:i:s')); - - $d = new DateTime('2011-03-15 11:15:00'); - $f->increment($d, true); - $this->assertSame('2011-02-28 23:59:00', $d->format('Y-m-d H:i:s')); - date_default_timezone_set($tz); - } - - - /** - * @covers \Cron\MonthField::increment - */ - public function testIncrementsYearAsNeeded() - { - $f = new MonthField(); - $d = new DateTime('2011-12-15 00:00:00'); - $f->increment($d); - $this->assertSame('2012-01-01 00:00:00', $d->format('Y-m-d H:i:s')); - } - - /** - * @covers \Cron\MonthField::increment - */ - public function testDecrementsYearAsNeeded() - { - $f = new MonthField(); - $d = new DateTime('2011-01-15 00:00:00'); - $f->increment($d, true); - $this->assertSame('2010-12-31 23:59:00', $d->format('Y-m-d H:i:s')); - } -} diff --git a/paragonik-backend/vendor/egulias/email-validator/EmailValidator/EmailLexer.php b/paragonik-backend/vendor/egulias/email-validator/EmailValidator/EmailLexer.php deleted file mode 100644 index 4485728..0000000 --- a/paragonik-backend/vendor/egulias/email-validator/EmailValidator/EmailLexer.php +++ /dev/null @@ -1,241 +0,0 @@ - self::S_OPENPARENTHESIS, - ')' => self::S_CLOSEPARENTHESIS, - '<' => self::S_LOWERTHAN, - '>' => self::S_GREATERTHAN, - '[' => self::S_OPENBRACKET, - ']' => self::S_CLOSEBRACKET, - ':' => self::S_COLON, - ';' => self::S_SEMICOLON, - '@' => self::S_AT, - '\\' => self::S_BACKSLASH, - '/' => self::S_SLASH, - ',' => self::S_COMMA, - '.' => self::S_DOT, - '"' => self::S_DQUOTE, - '-' => self::S_HYPHEN, - '::' => self::S_DOUBLECOLON, - ' ' => self::S_SP, - "\t" => self::S_HTAB, - "\r" => self::S_CR, - "\n" => self::S_LF, - "\r\n" => self::CRLF, - 'IPv6' => self::S_IPV6TAG, - '{' => self::S_OPENQBRACKET, - '}' => self::S_CLOSEQBRACKET, - '' => self::S_EMPTY, - '\0' => self::C_NUL, - ); - - protected $hasInvalidTokens = false; - - protected $previous; - - private static $nullToken = [ - 'value' => '', - 'type' => null, - 'position' => 0, - ]; - - public function __construct() - { - $this->previous = $this->token = self::$nullToken; - } - - /** - * @return void - */ - public function reset() - { - $this->hasInvalidTokens = false; - parent::reset(); - $this->previous = $this->token = self::$nullToken; - } - - public function hasInvalidTokens() - { - return $this->hasInvalidTokens; - } - - /** - * @param string $type - * @throws \UnexpectedValueException - * @return boolean - */ - public function find($type) - { - $search = clone $this; - $search->skipUntil($type); - - if (!$search->lookahead) { - throw new \UnexpectedValueException($type . ' not found'); - } - return true; - } - - /** - * getPrevious - * - * @return array token - */ - public function getPrevious() - { - return $this->previous; - } - - /** - * moveNext - * - * @return boolean - */ - public function moveNext() - { - $this->previous = $this->token; - $hasNext = parent::moveNext(); - $this->token = $this->token ?: self::$nullToken; - - return $hasNext; - } - - /** - * Lexical catchable patterns. - * - * @return string[] - */ - protected function getCatchablePatterns() - { - return array( - '[a-zA-Z_]+[46]?', //ASCII and domain literal - '[^\x00-\x7F]', //UTF-8 - '[0-9]+', - '\r\n', - '::', - '\s+?', - '.', - ); - } - - /** - * Lexical non-catchable patterns. - * - * @return string[] - */ - protected function getNonCatchablePatterns() - { - return array('[\xA0-\xff]+'); - } - - /** - * Retrieve token type. Also processes the token value if necessary. - * - * @param string $value - * @throws \InvalidArgumentException - * @return integer - */ - protected function getType(&$value) - { - if ($this->isNullType($value)) { - return self::C_NUL; - } - - if ($this->isValid($value)) { - return $this->charValue[$value]; - } - - if ($this->isUTF8Invalid($value)) { - $this->hasInvalidTokens = true; - return self::INVALID; - } - - return self::GENERIC; - } - - protected function isValid($value) - { - if (isset($this->charValue[$value])) { - return true; - } - - return false; - } - - /** - * @param string $value - * @return bool - */ - protected function isNullType($value) - { - if ($value === "\0") { - return true; - } - - return false; - } - - /** - * @param string $value - * @return bool - */ - protected function isUTF8Invalid($value) - { - if (preg_match('/\p{Cc}+/u', $value)) { - return true; - } - - return false; - } - - /** - * @return string - */ - protected function getModifiers() - { - return 'iu'; - } -} diff --git a/paragonik-backend/vendor/egulias/email-validator/EmailValidator/EmailParser.php b/paragonik-backend/vendor/egulias/email-validator/EmailValidator/EmailParser.php deleted file mode 100644 index 5bf605a..0000000 --- a/paragonik-backend/vendor/egulias/email-validator/EmailValidator/EmailParser.php +++ /dev/null @@ -1,104 +0,0 @@ - - */ -class EmailParser -{ - const EMAIL_MAX_LENGTH = 254; - - protected $warnings; - protected $domainPart = ''; - protected $localPart = ''; - protected $lexer; - protected $localPartParser; - protected $domainPartParser; - - public function __construct(EmailLexer $lexer) - { - $this->lexer = $lexer; - $this->localPartParser = new LocalPart($this->lexer); - $this->domainPartParser = new DomainPart($this->lexer); - $this->warnings = new \SplObjectStorage(); - } - - /** - * @param string $str - * @return array - */ - public function parse($str) - { - $this->lexer->setInput($str); - - if (!$this->hasAtToken()) { - throw new NoLocalPart(); - } - - - $this->localPartParser->parse($str); - $this->domainPartParser->parse($str); - - $this->setParts($str); - - if ($this->lexer->hasInvalidTokens()) { - throw new ExpectingATEXT(); - } - - return array('local' => $this->localPart, 'domain' => $this->domainPart); - } - - public function getWarnings() - { - $localPartWarnings = $this->localPartParser->getWarnings(); - $domainPartWarnings = $this->domainPartParser->getWarnings(); - $this->warnings = array_merge($localPartWarnings, $domainPartWarnings); - - $this->addLongEmailWarning($this->localPart, $this->domainPart); - - return $this->warnings; - } - - public function getParsedDomainPart() - { - return $this->domainPart; - } - - protected function setParts($email) - { - $parts = explode('@', $email); - $this->domainPart = $this->domainPartParser->getDomainPart(); - $this->localPart = $parts[0]; - } - - protected function hasAtToken() - { - $this->lexer->moveNext(); - $this->lexer->moveNext(); - if ($this->lexer->token['type'] === EmailLexer::S_AT) { - return false; - } - - return true; - } - - /** - * @param string $localPart - * @param string $parsedDomainPart - */ - protected function addLongEmailWarning($localPart, $parsedDomainPart) - { - if (strlen($localPart . '@' . $parsedDomainPart) > self::EMAIL_MAX_LENGTH) { - $this->warnings[EmailTooLong::CODE] = new EmailTooLong(); - } - } -} diff --git a/paragonik-backend/vendor/egulias/email-validator/EmailValidator/EmailValidator.php b/paragonik-backend/vendor/egulias/email-validator/EmailValidator/EmailValidator.php deleted file mode 100644 index 1c27707..0000000 --- a/paragonik-backend/vendor/egulias/email-validator/EmailValidator/EmailValidator.php +++ /dev/null @@ -1,67 +0,0 @@ -lexer = new EmailLexer(); - } - - /** - * @param string $email - * @param EmailValidation $emailValidation - * @return bool - */ - public function isValid($email, EmailValidation $emailValidation) - { - $isValid = $emailValidation->isValid($email, $this->lexer); - $this->warnings = $emailValidation->getWarnings(); - $this->error = $emailValidation->getError(); - - return $isValid; - } - - /** - * @return boolean - */ - public function hasWarnings() - { - return !empty($this->warnings); - } - - /** - * @return array - */ - public function getWarnings() - { - return $this->warnings; - } - - /** - * @return InvalidEmail - */ - public function getError() - { - return $this->error; - } -} diff --git a/paragonik-backend/vendor/egulias/email-validator/EmailValidator/Exception/AtextAfterCFWS.php b/paragonik-backend/vendor/egulias/email-validator/EmailValidator/Exception/AtextAfterCFWS.php deleted file mode 100644 index 97f41a2..0000000 --- a/paragonik-backend/vendor/egulias/email-validator/EmailValidator/Exception/AtextAfterCFWS.php +++ /dev/null @@ -1,9 +0,0 @@ -lexer->moveNext(); - - $this->performDomainStartChecks(); - - $domain = $this->doParseDomainPart(); - - $prev = $this->lexer->getPrevious(); - $length = strlen($domain); - - if ($prev['type'] === EmailLexer::S_DOT) { - throw new DotAtEnd(); - } - if ($prev['type'] === EmailLexer::S_HYPHEN) { - throw new DomainHyphened(); - } - if ($length > self::DOMAIN_MAX_LENGTH) { - $this->warnings[DomainTooLong::CODE] = new DomainTooLong(); - } - if ($prev['type'] === EmailLexer::S_CR) { - throw new CRLFAtTheEnd(); - } - $this->domainPart = $domain; - } - - private function performDomainStartChecks() - { - $this->checkInvalidTokensAfterAT(); - $this->checkEmptyDomain(); - - if ($this->lexer->token['type'] === EmailLexer::S_OPENPARENTHESIS) { - $this->warnings[DeprecatedComment::CODE] = new DeprecatedComment(); - $this->parseDomainComments(); - } - } - - private function checkEmptyDomain() - { - $thereIsNoDomain = $this->lexer->token['type'] === EmailLexer::S_EMPTY || - ($this->lexer->token['type'] === EmailLexer::S_SP && - !$this->lexer->isNextToken(EmailLexer::GENERIC)); - - if ($thereIsNoDomain) { - throw new NoDomainPart(); - } - } - - private function checkInvalidTokensAfterAT() - { - if ($this->lexer->token['type'] === EmailLexer::S_DOT) { - throw new DotAtStart(); - } - if ($this->lexer->token['type'] === EmailLexer::S_HYPHEN) { - throw new DomainHyphened(); - } - } - - public function getDomainPart() - { - return $this->domainPart; - } - - public function checkIPV6Tag($addressLiteral, $maxGroups = 8) - { - $prev = $this->lexer->getPrevious(); - if ($prev['type'] === EmailLexer::S_COLON) { - $this->warnings[IPV6ColonEnd::CODE] = new IPV6ColonEnd(); - } - - $IPv6 = substr($addressLiteral, 5); - //Daniel Marschall's new IPv6 testing strategy - $matchesIP = explode(':', $IPv6); - $groupCount = count($matchesIP); - $colons = strpos($IPv6, '::'); - - if (count(preg_grep('/^[0-9A-Fa-f]{0,4}$/', $matchesIP, PREG_GREP_INVERT)) !== 0) { - $this->warnings[IPV6BadChar::CODE] = new IPV6BadChar(); - } - - if ($colons === false) { - // We need exactly the right number of groups - if ($groupCount !== $maxGroups) { - $this->warnings[IPV6GroupCount::CODE] = new IPV6GroupCount(); - } - return; - } - - if ($colons !== strrpos($IPv6, '::')) { - $this->warnings[IPV6DoubleColon::CODE] = new IPV6DoubleColon(); - return; - } - - if ($colons === 0 || $colons === (strlen($IPv6) - 2)) { - // RFC 4291 allows :: at the start or end of an address - //with 7 other groups in addition - ++$maxGroups; - } - - if ($groupCount > $maxGroups) { - $this->warnings[IPV6MaxGroups::CODE] = new IPV6MaxGroups(); - } elseif ($groupCount === $maxGroups) { - $this->warnings[IPV6Deprecated::CODE] = new IPV6Deprecated(); - } - } - - protected function doParseDomainPart() - { - $domain = ''; - $openedParenthesis = 0; - do { - $prev = $this->lexer->getPrevious(); - - $this->checkNotAllowedChars($this->lexer->token); - - if ($this->lexer->token['type'] === EmailLexer::S_OPENPARENTHESIS) { - $this->parseComments(); - $openedParenthesis += $this->getOpenedParenthesis(); - $this->lexer->moveNext(); - $tmpPrev = $this->lexer->getPrevious(); - if ($tmpPrev['type'] === EmailLexer::S_CLOSEPARENTHESIS) { - $openedParenthesis--; - } - } - if ($this->lexer->token['type'] === EmailLexer::S_CLOSEPARENTHESIS) { - if ($openedParenthesis === 0) { - throw new UnopenedComment(); - } else { - $openedParenthesis--; - } - } - - $this->checkConsecutiveDots(); - $this->checkDomainPartExceptions($prev); - - if ($this->hasBrackets()) { - $this->parseDomainLiteral(); - } - - $this->checkLabelLength($prev); - - if ($this->isFWS()) { - $this->parseFWS(); - } - - $domain .= $this->lexer->token['value']; - $this->lexer->moveNext(); - } while (null !== $this->lexer->token['type']); - - return $domain; - } - - private function checkNotAllowedChars($token) - { - $notAllowed = [EmailLexer::S_BACKSLASH => true, EmailLexer::S_SLASH=> true]; - if (isset($notAllowed[$token['type']])) { - throw new CharNotAllowed(); - } - } - - protected function parseDomainLiteral() - { - if ($this->lexer->isNextToken(EmailLexer::S_COLON)) { - $this->warnings[IPV6ColonStart::CODE] = new IPV6ColonStart(); - } - if ($this->lexer->isNextToken(EmailLexer::S_IPV6TAG)) { - $lexer = clone $this->lexer; - $lexer->moveNext(); - if ($lexer->isNextToken(EmailLexer::S_DOUBLECOLON)) { - $this->warnings[IPV6ColonStart::CODE] = new IPV6ColonStart(); - } - } - - return $this->doParseDomainLiteral(); - } - - protected function doParseDomainLiteral() - { - $IPv6TAG = false; - $addressLiteral = ''; - do { - if ($this->lexer->token['type'] === EmailLexer::C_NUL) { - throw new ExpectingDTEXT(); - } - - if ($this->lexer->token['type'] === EmailLexer::INVALID || - $this->lexer->token['type'] === EmailLexer::C_DEL || - $this->lexer->token['type'] === EmailLexer::S_LF - ) { - $this->warnings[ObsoleteDTEXT::CODE] = new ObsoleteDTEXT(); - } - - if ($this->lexer->isNextTokenAny(array(EmailLexer::S_OPENQBRACKET, EmailLexer::S_OPENBRACKET))) { - throw new ExpectingDTEXT(); - } - - if ($this->lexer->isNextTokenAny( - array(EmailLexer::S_HTAB, EmailLexer::S_SP, $this->lexer->token['type'] === EmailLexer::CRLF) - )) { - $this->warnings[CFWSWithFWS::CODE] = new CFWSWithFWS(); - $this->parseFWS(); - } - - if ($this->lexer->isNextToken(EmailLexer::S_CR)) { - throw new CRNoLF(); - } - - if ($this->lexer->token['type'] === EmailLexer::S_BACKSLASH) { - $this->warnings[ObsoleteDTEXT::CODE] = new ObsoleteDTEXT(); - $addressLiteral .= $this->lexer->token['value']; - $this->lexer->moveNext(); - $this->validateQuotedPair(); - } - if ($this->lexer->token['type'] === EmailLexer::S_IPV6TAG) { - $IPv6TAG = true; - } - if ($this->lexer->token['type'] === EmailLexer::S_CLOSEQBRACKET) { - break; - } - - $addressLiteral .= $this->lexer->token['value']; - - } while ($this->lexer->moveNext()); - - $addressLiteral = str_replace('[', '', $addressLiteral); - $addressLiteral = $this->checkIPV4Tag($addressLiteral); - - if (false === $addressLiteral) { - return $addressLiteral; - } - - if (!$IPv6TAG) { - $this->warnings[DomainLiteral::CODE] = new DomainLiteral(); - return $addressLiteral; - } - - $this->warnings[AddressLiteral::CODE] = new AddressLiteral(); - - $this->checkIPV6Tag($addressLiteral); - - return $addressLiteral; - } - - protected function checkIPV4Tag($addressLiteral) - { - $matchesIP = array(); - - // Extract IPv4 part from the end of the address-literal (if there is one) - if (preg_match( - '/\\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/', - $addressLiteral, - $matchesIP - ) > 0 - ) { - $index = strrpos($addressLiteral, $matchesIP[0]); - if ($index === 0) { - $this->warnings[AddressLiteral::CODE] = new AddressLiteral(); - return false; - } - // Convert IPv4 part to IPv6 format for further testing - $addressLiteral = substr($addressLiteral, 0, $index) . '0:0'; - } - - return $addressLiteral; - } - - protected function checkDomainPartExceptions($prev) - { - $invalidDomainTokens = array( - EmailLexer::S_DQUOTE => true, - EmailLexer::S_SEMICOLON => true, - EmailLexer::S_GREATERTHAN => true, - EmailLexer::S_LOWERTHAN => true, - ); - - if (isset($invalidDomainTokens[$this->lexer->token['type']])) { - throw new ExpectingATEXT(); - } - - if ($this->lexer->token['type'] === EmailLexer::S_COMMA) { - throw new CommaInDomain(); - } - - if ($this->lexer->token['type'] === EmailLexer::S_AT) { - throw new ConsecutiveAt(); - } - - if ($this->lexer->token['type'] === EmailLexer::S_OPENQBRACKET && $prev['type'] !== EmailLexer::S_AT) { - throw new ExpectingATEXT(); - } - - if ($this->lexer->token['type'] === EmailLexer::S_HYPHEN && $this->lexer->isNextToken(EmailLexer::S_DOT)) { - throw new DomainHyphened(); - } - - if ($this->lexer->token['type'] === EmailLexer::S_BACKSLASH - && $this->lexer->isNextToken(EmailLexer::GENERIC)) { - throw new ExpectingATEXT(); - } - } - - protected function hasBrackets() - { - if ($this->lexer->token['type'] !== EmailLexer::S_OPENBRACKET) { - return false; - } - - try { - $this->lexer->find(EmailLexer::S_CLOSEBRACKET); - } catch (\RuntimeException $e) { - throw new ExpectingDomainLiteralClose(); - } - - return true; - } - - protected function checkLabelLength($prev) - { - if ($this->lexer->token['type'] === EmailLexer::S_DOT && - $prev['type'] === EmailLexer::GENERIC && - strlen($prev['value']) > 63 - ) { - $this->warnings[LabelTooLong::CODE] = new LabelTooLong(); - } - } - - protected function parseDomainComments() - { - $this->isUnclosedComment(); - while (!$this->lexer->isNextToken(EmailLexer::S_CLOSEPARENTHESIS)) { - $this->warnEscaping(); - $this->lexer->moveNext(); - } - - $this->lexer->moveNext(); - if ($this->lexer->isNextToken(EmailLexer::S_DOT)) { - throw new ExpectingATEXT(); - } - } - - protected function addTLDWarnings() - { - if ($this->warnings[DomainLiteral::CODE]) { - $this->warnings[TLD::CODE] = new TLD(); - } - } -} diff --git a/paragonik-backend/vendor/egulias/email-validator/EmailValidator/Parser/LocalPart.php b/paragonik-backend/vendor/egulias/email-validator/EmailValidator/Parser/LocalPart.php deleted file mode 100644 index fa1d17b..0000000 --- a/paragonik-backend/vendor/egulias/email-validator/EmailValidator/Parser/LocalPart.php +++ /dev/null @@ -1,138 +0,0 @@ -lexer->token['type'] !== EmailLexer::S_AT && null !== $this->lexer->token['type']) { - if ($this->lexer->token['type'] === EmailLexer::S_DOT && null === $this->lexer->getPrevious()['type']) { - throw new DotAtStart(); - } - - $closingQuote = $this->checkDQUOTE($closingQuote); - if ($closingQuote && $parseDQuote) { - $parseDQuote = $this->parseDoubleQuote(); - } - - if ($this->lexer->token['type'] === EmailLexer::S_OPENPARENTHESIS) { - $this->parseComments(); - $openedParenthesis += $this->getOpenedParenthesis(); - } - if ($this->lexer->token['type'] === EmailLexer::S_CLOSEPARENTHESIS) { - if ($openedParenthesis === 0) { - throw new UnopenedComment(); - } else { - $openedParenthesis--; - } - } - - $this->checkConsecutiveDots(); - - if ($this->lexer->token['type'] === EmailLexer::S_DOT && - $this->lexer->isNextToken(EmailLexer::S_AT) - ) { - throw new DotAtEnd(); - } - - $this->warnEscaping(); - $this->isInvalidToken($this->lexer->token, $closingQuote); - - if ($this->isFWS()) { - $this->parseFWS(); - } - - $this->lexer->moveNext(); - } - - $prev = $this->lexer->getPrevious(); - if (strlen($prev['value']) > LocalTooLong::LOCAL_PART_LENGTH) { - $this->warnings[LocalTooLong::CODE] = new LocalTooLong(); - } - } - - protected function parseDoubleQuote() - { - $parseAgain = true; - $special = array( - EmailLexer::S_CR => true, - EmailLexer::S_HTAB => true, - EmailLexer::S_LF => true - ); - - $invalid = array( - EmailLexer::C_NUL => true, - EmailLexer::S_HTAB => true, - EmailLexer::S_CR => true, - EmailLexer::S_LF => true - ); - $setSpecialsWarning = true; - - $this->lexer->moveNext(); - - while ($this->lexer->token['type'] !== EmailLexer::S_DQUOTE && null !== $this->lexer->token['type']) { - $parseAgain = false; - if (isset($special[$this->lexer->token['type']]) && $setSpecialsWarning) { - $this->warnings[CFWSWithFWS::CODE] = new CFWSWithFWS(); - $setSpecialsWarning = false; - } - if ($this->lexer->token['type'] === EmailLexer::S_BACKSLASH && $this->lexer->isNextToken(EmailLexer::S_DQUOTE)) { - $this->lexer->moveNext(); - } - - $this->lexer->moveNext(); - - if (!$this->escaped() && isset($invalid[$this->lexer->token['type']])) { - throw new ExpectingATEXT(); - } - } - - $prev = $this->lexer->getPrevious(); - - if ($prev['type'] === EmailLexer::S_BACKSLASH) { - if (!$this->checkDQUOTE(false)) { - throw new UnclosedQuotedString(); - } - } - - if (!$this->lexer->isNextToken(EmailLexer::S_AT) && $prev['type'] !== EmailLexer::S_BACKSLASH) { - throw new ExpectingAT(); - } - - return $parseAgain; - } - - protected function isInvalidToken($token, $closingQuote) - { - $forbidden = array( - EmailLexer::S_COMMA, - EmailLexer::S_CLOSEBRACKET, - EmailLexer::S_OPENBRACKET, - EmailLexer::S_GREATERTHAN, - EmailLexer::S_LOWERTHAN, - EmailLexer::S_COLON, - EmailLexer::S_SEMICOLON, - EmailLexer::INVALID - ); - - if (in_array($token['type'], $forbidden) && !$closingQuote) { - throw new ExpectingATEXT(); - } - } -} diff --git a/paragonik-backend/vendor/egulias/email-validator/EmailValidator/Parser/Parser.php b/paragonik-backend/vendor/egulias/email-validator/EmailValidator/Parser/Parser.php deleted file mode 100644 index fa7bd44..0000000 --- a/paragonik-backend/vendor/egulias/email-validator/EmailValidator/Parser/Parser.php +++ /dev/null @@ -1,215 +0,0 @@ -lexer = $lexer; - } - - public function getWarnings() - { - return $this->warnings; - } - - abstract public function parse($str); - - /** @return int */ - public function getOpenedParenthesis() - { - return $this->openedParenthesis; - } - - /** - * validateQuotedPair - */ - protected function validateQuotedPair() - { - if (!($this->lexer->token['type'] === EmailLexer::INVALID - || $this->lexer->token['type'] === EmailLexer::C_DEL)) { - throw new ExpectingQPair(); - } - - $this->warnings[QuotedPart::CODE] = - new QuotedPart($this->lexer->getPrevious()['type'], $this->lexer->token['type']); - } - - protected function parseComments() - { - $this->openedParenthesis = 1; - $this->isUnclosedComment(); - $this->warnings[Comment::CODE] = new Comment(); - while (!$this->lexer->isNextToken(EmailLexer::S_CLOSEPARENTHESIS)) { - if ($this->lexer->isNextToken(EmailLexer::S_OPENPARENTHESIS)) { - $this->openedParenthesis++; - } - $this->warnEscaping(); - $this->lexer->moveNext(); - } - - $this->lexer->moveNext(); - if ($this->lexer->isNextTokenAny(array(EmailLexer::GENERIC, EmailLexer::S_EMPTY))) { - throw new ExpectingATEXT(); - } - - if ($this->lexer->isNextToken(EmailLexer::S_AT)) { - $this->warnings[CFWSNearAt::CODE] = new CFWSNearAt(); - } - } - - protected function isUnclosedComment() - { - try { - $this->lexer->find(EmailLexer::S_CLOSEPARENTHESIS); - return true; - } catch (\RuntimeException $e) { - throw new UnclosedComment(); - } - } - - protected function parseFWS() - { - $previous = $this->lexer->getPrevious(); - - $this->checkCRLFInFWS(); - - if ($this->lexer->token['type'] === EmailLexer::S_CR) { - throw new CRNoLF(); - } - - if ($this->lexer->isNextToken(EmailLexer::GENERIC) && $previous['type'] !== EmailLexer::S_AT) { - throw new AtextAfterCFWS(); - } - - if ($this->lexer->token['type'] === EmailLexer::S_LF || $this->lexer->token['type'] === EmailLexer::C_NUL) { - throw new ExpectingCTEXT(); - } - - if ($this->lexer->isNextToken(EmailLexer::S_AT) || $previous['type'] === EmailLexer::S_AT) { - $this->warnings[CFWSNearAt::CODE] = new CFWSNearAt(); - } else { - $this->warnings[CFWSWithFWS::CODE] = new CFWSWithFWS(); - } - } - - protected function checkConsecutiveDots() - { - if ($this->lexer->token['type'] === EmailLexer::S_DOT && $this->lexer->isNextToken(EmailLexer::S_DOT)) { - throw new ConsecutiveDot(); - } - } - - protected function isFWS() - { - if ($this->escaped()) { - return false; - } - - if ($this->lexer->token['type'] === EmailLexer::S_SP || - $this->lexer->token['type'] === EmailLexer::S_HTAB || - $this->lexer->token['type'] === EmailLexer::S_CR || - $this->lexer->token['type'] === EmailLexer::S_LF || - $this->lexer->token['type'] === EmailLexer::CRLF - ) { - return true; - } - - return false; - } - - protected function escaped() - { - $previous = $this->lexer->getPrevious(); - - if ($previous['type'] === EmailLexer::S_BACKSLASH - && - $this->lexer->token['type'] !== EmailLexer::GENERIC - ) { - return true; - } - - return false; - } - - protected function warnEscaping() - { - if ($this->lexer->token['type'] !== EmailLexer::S_BACKSLASH) { - return false; - } - - if ($this->lexer->isNextToken(EmailLexer::GENERIC)) { - throw new ExpectingATEXT(); - } - - if (!$this->lexer->isNextTokenAny(array(EmailLexer::S_SP, EmailLexer::S_HTAB, EmailLexer::C_DEL))) { - return false; - } - - $this->warnings[QuotedPart::CODE] = - new QuotedPart($this->lexer->getPrevious()['type'], $this->lexer->token['type']); - return true; - - } - - protected function checkDQUOTE($hasClosingQuote) - { - if ($this->lexer->token['type'] !== EmailLexer::S_DQUOTE) { - return $hasClosingQuote; - } - if ($hasClosingQuote) { - return $hasClosingQuote; - } - $previous = $this->lexer->getPrevious(); - if ($this->lexer->isNextToken(EmailLexer::GENERIC) && $previous['type'] === EmailLexer::GENERIC) { - throw new ExpectingATEXT(); - } - - try { - $this->lexer->find(EmailLexer::S_DQUOTE); - $hasClosingQuote = true; - } catch (\Exception $e) { - throw new UnclosedQuotedString(); - } - $this->warnings[QuotedString::CODE] = new QuotedString($previous['value'], $this->lexer->token['value']); - - return $hasClosingQuote; - } - - protected function checkCRLFInFWS() - { - if ($this->lexer->token['type'] !== EmailLexer::CRLF) { - return; - } - - if (!$this->lexer->isNextTokenAny(array(EmailLexer::S_SP, EmailLexer::S_HTAB))) { - throw new CRLFX2(); - } - - if (!$this->lexer->isNextTokenAny(array(EmailLexer::S_SP, EmailLexer::S_HTAB))) { - throw new CRLFAtTheEnd(); - } - } -} diff --git a/paragonik-backend/vendor/egulias/email-validator/EmailValidator/Validation/DNSCheckValidation.php b/paragonik-backend/vendor/egulias/email-validator/EmailValidator/Validation/DNSCheckValidation.php deleted file mode 100644 index e5c3e5d..0000000 --- a/paragonik-backend/vendor/egulias/email-validator/EmailValidator/Validation/DNSCheckValidation.php +++ /dev/null @@ -1,72 +0,0 @@ -checkDNS($host); - } - - public function getError() - { - return $this->error; - } - - public function getWarnings() - { - return $this->warnings; - } - - protected function checkDNS($host) - { - $variant = INTL_IDNA_VARIANT_2003; - if ( defined('INTL_IDNA_VARIANT_UTS46') ) { - $variant = INTL_IDNA_VARIANT_UTS46; - } - $host = rtrim(idn_to_ascii($host, IDNA_DEFAULT, $variant), '.') . '.'; - - $Aresult = true; - $MXresult = checkdnsrr($host, 'MX'); - - if (!$MXresult) { - $this->warnings[NoDNSMXRecord::CODE] = new NoDNSMXRecord(); - $Aresult = checkdnsrr($host, 'A') || checkdnsrr($host, 'AAAA'); - if (!$Aresult) { - $this->error = new NoDNSRecord(); - } - } - return $MXresult || $Aresult; - } -} diff --git a/paragonik-backend/vendor/egulias/email-validator/EmailValidator/Validation/EmailValidation.php b/paragonik-backend/vendor/egulias/email-validator/EmailValidator/Validation/EmailValidation.php deleted file mode 100644 index d5a015b..0000000 --- a/paragonik-backend/vendor/egulias/email-validator/EmailValidator/Validation/EmailValidation.php +++ /dev/null @@ -1,34 +0,0 @@ -errors = $errors; - parent::__construct(); - } - - public function getErrors() - { - return $this->errors; - } -} diff --git a/paragonik-backend/vendor/egulias/email-validator/EmailValidator/Validation/MultipleValidationWithAnd.php b/paragonik-backend/vendor/egulias/email-validator/EmailValidator/Validation/MultipleValidationWithAnd.php deleted file mode 100644 index ce161ac..0000000 --- a/paragonik-backend/vendor/egulias/email-validator/EmailValidator/Validation/MultipleValidationWithAnd.php +++ /dev/null @@ -1,111 +0,0 @@ -validations = $validations; - $this->mode = $mode; - } - - /** - * {@inheritdoc} - */ - public function isValid($email, EmailLexer $emailLexer) - { - $result = true; - $errors = []; - foreach ($this->validations as $validation) { - $emailLexer->reset(); - $validationResult = $validation->isValid($email, $emailLexer); - $result = $result && $validationResult; - $this->warnings = array_merge($this->warnings, $validation->getWarnings()); - $errors = $this->addNewError($validation->getError(), $errors); - - if ($this->shouldStop($result)) { - break; - } - } - - if (!empty($errors)) { - $this->error = new MultipleErrors($errors); - } - - return $result; - } - - private function addNewError($possibleError, array $errors) - { - if (null !== $possibleError) { - $errors[] = $possibleError; - } - - return $errors; - } - - private function shouldStop($result) - { - return !$result && $this->mode === self::STOP_ON_ERROR; - } - - /** - * {@inheritdoc} - */ - public function getError() - { - return $this->error; - } - - /** - * {@inheritdoc} - */ - public function getWarnings() - { - return $this->warnings; - } -} diff --git a/paragonik-backend/vendor/egulias/email-validator/EmailValidator/Validation/NoRFCWarningsValidation.php b/paragonik-backend/vendor/egulias/email-validator/EmailValidator/Validation/NoRFCWarningsValidation.php deleted file mode 100644 index e4bf0cc..0000000 --- a/paragonik-backend/vendor/egulias/email-validator/EmailValidator/Validation/NoRFCWarningsValidation.php +++ /dev/null @@ -1,41 +0,0 @@ -getWarnings())) { - return true; - } - - $this->error = new RFCWarnings(); - - return false; - } - - /** - * {@inheritdoc} - */ - public function getError() - { - return $this->error ?: parent::getError(); - } -} diff --git a/paragonik-backend/vendor/egulias/email-validator/EmailValidator/Validation/RFCValidation.php b/paragonik-backend/vendor/egulias/email-validator/EmailValidator/Validation/RFCValidation.php deleted file mode 100644 index c4ffe35..0000000 --- a/paragonik-backend/vendor/egulias/email-validator/EmailValidator/Validation/RFCValidation.php +++ /dev/null @@ -1,49 +0,0 @@ -parser = new EmailParser($emailLexer); - try { - $this->parser->parse((string)$email); - } catch (InvalidEmail $invalid) { - $this->error = $invalid; - return false; - } - - $this->warnings = $this->parser->getWarnings(); - return true; - } - - public function getError() - { - return $this->error; - } - - public function getWarnings() - { - return $this->warnings; - } -} diff --git a/paragonik-backend/vendor/egulias/email-validator/EmailValidator/Validation/SpoofCheckValidation.php b/paragonik-backend/vendor/egulias/email-validator/EmailValidator/Validation/SpoofCheckValidation.php deleted file mode 100644 index 4721f0d..0000000 --- a/paragonik-backend/vendor/egulias/email-validator/EmailValidator/Validation/SpoofCheckValidation.php +++ /dev/null @@ -1,45 +0,0 @@ -setChecks(Spoofchecker::SINGLE_SCRIPT); - - if ($checker->isSuspicious($email)) { - $this->error = new SpoofEmail(); - } - - return $this->error === null; - } - - public function getError() - { - return $this->error; - } - - public function getWarnings() - { - return []; - } -} diff --git a/paragonik-backend/vendor/egulias/email-validator/EmailValidator/Warning/AddressLiteral.php b/paragonik-backend/vendor/egulias/email-validator/EmailValidator/Warning/AddressLiteral.php deleted file mode 100644 index 77e70f7..0000000 --- a/paragonik-backend/vendor/egulias/email-validator/EmailValidator/Warning/AddressLiteral.php +++ /dev/null @@ -1,14 +0,0 @@ -message = 'Address literal in domain part'; - $this->rfcNumber = 5321; - } -} diff --git a/paragonik-backend/vendor/egulias/email-validator/EmailValidator/Warning/CFWSNearAt.php b/paragonik-backend/vendor/egulias/email-validator/EmailValidator/Warning/CFWSNearAt.php deleted file mode 100644 index be43bbe..0000000 --- a/paragonik-backend/vendor/egulias/email-validator/EmailValidator/Warning/CFWSNearAt.php +++ /dev/null @@ -1,13 +0,0 @@ -message = "Deprecated folding white space near @"; - } -} diff --git a/paragonik-backend/vendor/egulias/email-validator/EmailValidator/Warning/CFWSWithFWS.php b/paragonik-backend/vendor/egulias/email-validator/EmailValidator/Warning/CFWSWithFWS.php deleted file mode 100644 index dea3450..0000000 --- a/paragonik-backend/vendor/egulias/email-validator/EmailValidator/Warning/CFWSWithFWS.php +++ /dev/null @@ -1,13 +0,0 @@ -message = 'Folding whites space followed by folding white space'; - } -} diff --git a/paragonik-backend/vendor/egulias/email-validator/EmailValidator/Warning/Comment.php b/paragonik-backend/vendor/egulias/email-validator/EmailValidator/Warning/Comment.php deleted file mode 100644 index 704c290..0000000 --- a/paragonik-backend/vendor/egulias/email-validator/EmailValidator/Warning/Comment.php +++ /dev/null @@ -1,13 +0,0 @@ -message = "Comments found in this email"; - } -} diff --git a/paragonik-backend/vendor/egulias/email-validator/EmailValidator/Warning/DeprecatedComment.php b/paragonik-backend/vendor/egulias/email-validator/EmailValidator/Warning/DeprecatedComment.php deleted file mode 100644 index ad43bd7..0000000 --- a/paragonik-backend/vendor/egulias/email-validator/EmailValidator/Warning/DeprecatedComment.php +++ /dev/null @@ -1,13 +0,0 @@ -message = 'Deprecated comments'; - } -} diff --git a/paragonik-backend/vendor/egulias/email-validator/EmailValidator/Warning/DomainLiteral.php b/paragonik-backend/vendor/egulias/email-validator/EmailValidator/Warning/DomainLiteral.php deleted file mode 100644 index 6f36b5e..0000000 --- a/paragonik-backend/vendor/egulias/email-validator/EmailValidator/Warning/DomainLiteral.php +++ /dev/null @@ -1,14 +0,0 @@ -message = 'Domain Literal'; - $this->rfcNumber = 5322; - } -} diff --git a/paragonik-backend/vendor/egulias/email-validator/EmailValidator/Warning/DomainTooLong.php b/paragonik-backend/vendor/egulias/email-validator/EmailValidator/Warning/DomainTooLong.php deleted file mode 100644 index 61ff17a..0000000 --- a/paragonik-backend/vendor/egulias/email-validator/EmailValidator/Warning/DomainTooLong.php +++ /dev/null @@ -1,14 +0,0 @@ -message = 'Domain is too long, exceeds 255 chars'; - $this->rfcNumber = 5322; - } -} diff --git a/paragonik-backend/vendor/egulias/email-validator/EmailValidator/Warning/EmailTooLong.php b/paragonik-backend/vendor/egulias/email-validator/EmailValidator/Warning/EmailTooLong.php deleted file mode 100644 index 497309d..0000000 --- a/paragonik-backend/vendor/egulias/email-validator/EmailValidator/Warning/EmailTooLong.php +++ /dev/null @@ -1,15 +0,0 @@ -message = 'Email is too long, exceeds ' . EmailParser::EMAIL_MAX_LENGTH; - } -} diff --git a/paragonik-backend/vendor/egulias/email-validator/EmailValidator/Warning/IPV6BadChar.php b/paragonik-backend/vendor/egulias/email-validator/EmailValidator/Warning/IPV6BadChar.php deleted file mode 100644 index ba2fcc0..0000000 --- a/paragonik-backend/vendor/egulias/email-validator/EmailValidator/Warning/IPV6BadChar.php +++ /dev/null @@ -1,14 +0,0 @@ -message = 'Bad char in IPV6 domain literal'; - $this->rfcNumber = 5322; - } -} diff --git a/paragonik-backend/vendor/egulias/email-validator/EmailValidator/Warning/IPV6ColonEnd.php b/paragonik-backend/vendor/egulias/email-validator/EmailValidator/Warning/IPV6ColonEnd.php deleted file mode 100644 index 41afa78..0000000 --- a/paragonik-backend/vendor/egulias/email-validator/EmailValidator/Warning/IPV6ColonEnd.php +++ /dev/null @@ -1,14 +0,0 @@ -message = ':: found at the end of the domain literal'; - $this->rfcNumber = 5322; - } -} diff --git a/paragonik-backend/vendor/egulias/email-validator/EmailValidator/Warning/IPV6ColonStart.php b/paragonik-backend/vendor/egulias/email-validator/EmailValidator/Warning/IPV6ColonStart.php deleted file mode 100644 index 1bf754e..0000000 --- a/paragonik-backend/vendor/egulias/email-validator/EmailValidator/Warning/IPV6ColonStart.php +++ /dev/null @@ -1,14 +0,0 @@ -message = ':: found at the start of the domain literal'; - $this->rfcNumber = 5322; - } -} diff --git a/paragonik-backend/vendor/egulias/email-validator/EmailValidator/Warning/IPV6Deprecated.php b/paragonik-backend/vendor/egulias/email-validator/EmailValidator/Warning/IPV6Deprecated.php deleted file mode 100644 index d752caa..0000000 --- a/paragonik-backend/vendor/egulias/email-validator/EmailValidator/Warning/IPV6Deprecated.php +++ /dev/null @@ -1,14 +0,0 @@ -message = 'Deprecated form of IPV6'; - $this->rfcNumber = 5321; - } -} diff --git a/paragonik-backend/vendor/egulias/email-validator/EmailValidator/Warning/IPV6DoubleColon.php b/paragonik-backend/vendor/egulias/email-validator/EmailValidator/Warning/IPV6DoubleColon.php deleted file mode 100644 index 4f82394..0000000 --- a/paragonik-backend/vendor/egulias/email-validator/EmailValidator/Warning/IPV6DoubleColon.php +++ /dev/null @@ -1,14 +0,0 @@ -message = 'Double colon found after IPV6 tag'; - $this->rfcNumber = 5322; - } -} diff --git a/paragonik-backend/vendor/egulias/email-validator/EmailValidator/Warning/IPV6GroupCount.php b/paragonik-backend/vendor/egulias/email-validator/EmailValidator/Warning/IPV6GroupCount.php deleted file mode 100644 index a59d317..0000000 --- a/paragonik-backend/vendor/egulias/email-validator/EmailValidator/Warning/IPV6GroupCount.php +++ /dev/null @@ -1,14 +0,0 @@ -message = 'Group count is not IPV6 valid'; - $this->rfcNumber = 5322; - } -} diff --git a/paragonik-backend/vendor/egulias/email-validator/EmailValidator/Warning/IPV6MaxGroups.php b/paragonik-backend/vendor/egulias/email-validator/EmailValidator/Warning/IPV6MaxGroups.php deleted file mode 100644 index 936274c..0000000 --- a/paragonik-backend/vendor/egulias/email-validator/EmailValidator/Warning/IPV6MaxGroups.php +++ /dev/null @@ -1,14 +0,0 @@ -message = 'Reached the maximum number of IPV6 groups allowed'; - $this->rfcNumber = 5321; - } -} diff --git a/paragonik-backend/vendor/egulias/email-validator/EmailValidator/Warning/LabelTooLong.php b/paragonik-backend/vendor/egulias/email-validator/EmailValidator/Warning/LabelTooLong.php deleted file mode 100644 index daf07f4..0000000 --- a/paragonik-backend/vendor/egulias/email-validator/EmailValidator/Warning/LabelTooLong.php +++ /dev/null @@ -1,14 +0,0 @@ -message = 'Label too long'; - $this->rfcNumber = 5322; - } -} diff --git a/paragonik-backend/vendor/egulias/email-validator/EmailValidator/Warning/LocalTooLong.php b/paragonik-backend/vendor/egulias/email-validator/EmailValidator/Warning/LocalTooLong.php deleted file mode 100644 index 0d08d8b..0000000 --- a/paragonik-backend/vendor/egulias/email-validator/EmailValidator/Warning/LocalTooLong.php +++ /dev/null @@ -1,15 +0,0 @@ -message = 'Local part is too long, exceeds 64 chars (octets)'; - $this->rfcNumber = 5322; - } -} diff --git a/paragonik-backend/vendor/egulias/email-validator/EmailValidator/Warning/NoDNSMXRecord.php b/paragonik-backend/vendor/egulias/email-validator/EmailValidator/Warning/NoDNSMXRecord.php deleted file mode 100644 index b3c21a1..0000000 --- a/paragonik-backend/vendor/egulias/email-validator/EmailValidator/Warning/NoDNSMXRecord.php +++ /dev/null @@ -1,14 +0,0 @@ -message = 'No MX DSN record was found for this email'; - $this->rfcNumber = 5321; - } -} diff --git a/paragonik-backend/vendor/egulias/email-validator/EmailValidator/Warning/ObsoleteDTEXT.php b/paragonik-backend/vendor/egulias/email-validator/EmailValidator/Warning/ObsoleteDTEXT.php deleted file mode 100644 index 10f19e3..0000000 --- a/paragonik-backend/vendor/egulias/email-validator/EmailValidator/Warning/ObsoleteDTEXT.php +++ /dev/null @@ -1,14 +0,0 @@ -rfcNumber = 5322; - $this->message = 'Obsolete DTEXT in domain literal'; - } -} diff --git a/paragonik-backend/vendor/egulias/email-validator/EmailValidator/Warning/QuotedPart.php b/paragonik-backend/vendor/egulias/email-validator/EmailValidator/Warning/QuotedPart.php deleted file mode 100644 index 7be9e6a..0000000 --- a/paragonik-backend/vendor/egulias/email-validator/EmailValidator/Warning/QuotedPart.php +++ /dev/null @@ -1,13 +0,0 @@ -message = "Deprecated Quoted String found between $prevToken and $postToken"; - } -} diff --git a/paragonik-backend/vendor/egulias/email-validator/EmailValidator/Warning/QuotedString.php b/paragonik-backend/vendor/egulias/email-validator/EmailValidator/Warning/QuotedString.php deleted file mode 100644 index e9d56e1..0000000 --- a/paragonik-backend/vendor/egulias/email-validator/EmailValidator/Warning/QuotedString.php +++ /dev/null @@ -1,13 +0,0 @@ -message = "Quoted String found between $prevToken and $postToken"; - } -} diff --git a/paragonik-backend/vendor/egulias/email-validator/EmailValidator/Warning/TLD.php b/paragonik-backend/vendor/egulias/email-validator/EmailValidator/Warning/TLD.php deleted file mode 100644 index 2338b9f..0000000 --- a/paragonik-backend/vendor/egulias/email-validator/EmailValidator/Warning/TLD.php +++ /dev/null @@ -1,13 +0,0 @@ -message = "RFC5321, TLD"; - } -} diff --git a/paragonik-backend/vendor/egulias/email-validator/EmailValidator/Warning/Warning.php b/paragonik-backend/vendor/egulias/email-validator/EmailValidator/Warning/Warning.php deleted file mode 100644 index ec6a365..0000000 --- a/paragonik-backend/vendor/egulias/email-validator/EmailValidator/Warning/Warning.php +++ /dev/null @@ -1,30 +0,0 @@ -message; - } - - public function code() - { - return self::CODE; - } - - public function RFCNumber() - { - return $this->rfcNumber; - } - - public function __toString() - { - return $this->message() . " rfc: " . $this->rfcNumber . "interal code: " . static::CODE; - } -} diff --git a/paragonik-backend/vendor/egulias/email-validator/LICENSE b/paragonik-backend/vendor/egulias/email-validator/LICENSE deleted file mode 100644 index c34d2c1..0000000 --- a/paragonik-backend/vendor/egulias/email-validator/LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 2013-2016 Eduardo Gulias Davis - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is furnished -to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/paragonik-backend/vendor/egulias/email-validator/README.md b/paragonik-backend/vendor/egulias/email-validator/README.md deleted file mode 100644 index b5b0d85..0000000 --- a/paragonik-backend/vendor/egulias/email-validator/README.md +++ /dev/null @@ -1,82 +0,0 @@ -# EmailValidator -[![Build Status](https://travis-ci.org/egulias/EmailValidator.svg?branch=master)](https://travis-ci.org/egulias/EmailValidator) [![Coverage Status](https://coveralls.io/repos/egulias/EmailValidator/badge.svg?branch=master)](https://coveralls.io/r/egulias/EmailValidator?branch=master) [![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/egulias/EmailValidator/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/egulias/EmailValidator/?branch=master) [![SensioLabsInsight](https://insight.sensiolabs.com/projects/22ba6692-9c02-42e5-a65d-1c5696bfffc6/small.png)](https://insight.sensiolabs.com/projects/22ba6692-9c02-42e5-a65d-1c5696bfffc6) -============================= -## Suported RFCs ## -This library aims to support: - -RFC 5321, 5322, 6530, 6531, 6532. - -## Requirements ## - - * [Composer](https://getcomposer.org) is required for installation - * [Spoofchecking](https://github.com/egulias/EmailValidator/blob/master/EmailValidator/Validation/SpoofCheckValidation.php) and [DNSCheckValidation](https://github.com/egulias/EmailValidator/blob/master/EmailValidator/Validation/DNSCheckValidation.php) validation requires that your PHP system has the [PHP Internationalization Libraries](https://php.net/manual/en/book.intl.php) (also known as PHP Intl) - -## Installation ## - -Run the command below to install via Composer - -```shell -composer require egulias/email-validator -``` - -## Getting Started ## -`EmailValidator`requires you to decide which (or combination of them) validation/s strategy/ies you'd like to follow for each [validation](#available-validations). - -A basic example with the RFC validation -```php -isValid("example@example.com", new RFCValidation()); //true -``` - - -### Available validations ### - -1. [RFCValidation](https://github.com/egulias/EmailValidator/blob/master/EmailValidator/Validation/RFCValidation.php) -2. [NoRFCWarningsValidation](https://github.com/egulias/EmailValidator/blob/master/EmailValidator/Validation/NoRFCWarningsValidation.php) -3. [DNSCheckValidation](https://github.com/egulias/EmailValidator/blob/master/EmailValidator/Validation/DNSCheckValidation.php) -4. [SpoofCheckValidation](https://github.com/egulias/EmailValidator/blob/master/EmailValidator/Validation/SpoofCheckValidation.php) -5. [MultipleValidationWithAnd](https://github.com/egulias/EmailValidator/blob/master/EmailValidator/Validation/MultipleValidationWithAnd.php) -6. [Your own validation](#how-to-extend) - -`MultipleValidationWithAnd` - -It is a validation that operates over other validations performing a logical and (&&) over the result of each validation. - -```php -isValid("example@example.com", $multipleValidations); //true -``` - -### How to extend ### - -It's easy! You just need to implement [EmailValidation](https://github.com/egulias/EmailValidator/blob/master/EmailValidator/Validation/EmailValidation.php) and you can use your own validation. - - -## Other Contributors ## -(You can find current contributors [here](https://github.com/egulias/EmailValidator/graphs/contributors)) - -As this is a port from another library and work, here are other people related to the previous one: - -* Ricard Clau [@ricardclau](https://github.com/ricardclau): Performance against PHP built-in filter_var -* Josepf Bielawski [@stloyd](https://github.com/stloyd): For its first re-work of Dominic's lib -* Dominic Sayers [@dominicsayers](https://github.com/dominicsayers): The original isemail function - -## License ## -Released under the MIT License attached with this code. - diff --git a/paragonik-backend/vendor/egulias/email-validator/composer.json b/paragonik-backend/vendor/egulias/email-validator/composer.json deleted file mode 100644 index 4956da9..0000000 --- a/paragonik-backend/vendor/egulias/email-validator/composer.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "name": "egulias/email-validator", - "description": "A library for validating emails against several RFCs", - "homepage": "https://github.com/egulias/EmailValidator", - "type": "Library", - "keywords": ["email", "validation", "validator", "emailvalidation", "emailvalidator"], - "license": "MIT", - "authors": [ - {"name": "Eduardo Gulias Davis"} - ], - "extra": { - "branch-alias": { - "dev-master": "2.1.x-dev" - } - }, - "repositories": [ - { - "type": "git", - "url": "https://github.com/dominicsayers/isemail" - } - ], - "require": { - "php": ">= 5.5", - "doctrine/lexer": "^1.0.1" - }, - "require-dev" : { - "satooshi/php-coveralls": "^1.0.1", - "phpunit/phpunit": "^4.8.35||^5.7||^6.0", - "symfony/phpunit-bridge": "^4.4@dev", - "dominicsayers/isemail": "dev-master" - }, - "suggest": { - "ext-intl": "PHP Internationalization Libraries are required to use the SpoofChecking validation" - }, - "autoload": { - "psr-4": { - "Egulias\\EmailValidator\\": "EmailValidator" - } - }, - "autoload-dev": { - "psr-4": { - "Egulias\\Tests\\": "test" - } - } -} diff --git a/paragonik-backend/vendor/egulias/email-validator/phpunit.xml.dist b/paragonik-backend/vendor/egulias/email-validator/phpunit.xml.dist deleted file mode 100644 index 754445a..0000000 --- a/paragonik-backend/vendor/egulias/email-validator/phpunit.xml.dist +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - ./Tests/EmailValidator - ./vendor/ - - - - - - ./EmailValidator/ - - - - - - - diff --git a/paragonik-backend/vendor/erusev/parsedown/LICENSE.txt b/paragonik-backend/vendor/erusev/parsedown/LICENSE.txt deleted file mode 100644 index 8e7c764..0000000 --- a/paragonik-backend/vendor/erusev/parsedown/LICENSE.txt +++ /dev/null @@ -1,20 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2013-2018 Emanuil Rusev, erusev.com - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/paragonik-backend/vendor/erusev/parsedown/Parsedown.php b/paragonik-backend/vendor/erusev/parsedown/Parsedown.php deleted file mode 100644 index a34b44f..0000000 --- a/paragonik-backend/vendor/erusev/parsedown/Parsedown.php +++ /dev/null @@ -1,1693 +0,0 @@ -DefinitionData = array(); - - # standardize line breaks - $text = str_replace(array("\r\n", "\r"), "\n", $text); - - # remove surrounding line breaks - $text = trim($text, "\n"); - - # split text into lines - $lines = explode("\n", $text); - - # iterate through lines to identify blocks - $markup = $this->lines($lines); - - # trim line breaks - $markup = trim($markup, "\n"); - - return $markup; - } - - # - # Setters - # - - function setBreaksEnabled($breaksEnabled) - { - $this->breaksEnabled = $breaksEnabled; - - return $this; - } - - protected $breaksEnabled; - - function setMarkupEscaped($markupEscaped) - { - $this->markupEscaped = $markupEscaped; - - return $this; - } - - protected $markupEscaped; - - function setUrlsLinked($urlsLinked) - { - $this->urlsLinked = $urlsLinked; - - return $this; - } - - protected $urlsLinked = true; - - function setSafeMode($safeMode) - { - $this->safeMode = (bool) $safeMode; - - return $this; - } - - protected $safeMode; - - protected $safeLinksWhitelist = array( - 'http://', - 'https://', - 'ftp://', - 'ftps://', - 'mailto:', - 'data:image/png;base64,', - 'data:image/gif;base64,', - 'data:image/jpeg;base64,', - 'irc:', - 'ircs:', - 'git:', - 'ssh:', - 'news:', - 'steam:', - ); - - # - # Lines - # - - protected $BlockTypes = array( - '#' => array('Header'), - '*' => array('Rule', 'List'), - '+' => array('List'), - '-' => array('SetextHeader', 'Table', 'Rule', 'List'), - '0' => array('List'), - '1' => array('List'), - '2' => array('List'), - '3' => array('List'), - '4' => array('List'), - '5' => array('List'), - '6' => array('List'), - '7' => array('List'), - '8' => array('List'), - '9' => array('List'), - ':' => array('Table'), - '<' => array('Comment', 'Markup'), - '=' => array('SetextHeader'), - '>' => array('Quote'), - '[' => array('Reference'), - '_' => array('Rule'), - '`' => array('FencedCode'), - '|' => array('Table'), - '~' => array('FencedCode'), - ); - - # ~ - - protected $unmarkedBlockTypes = array( - 'Code', - ); - - # - # Blocks - # - - protected function lines(array $lines) - { - $CurrentBlock = null; - - foreach ($lines as $line) - { - if (chop($line) === '') - { - if (isset($CurrentBlock)) - { - $CurrentBlock['interrupted'] = true; - } - - continue; - } - - if (strpos($line, "\t") !== false) - { - $parts = explode("\t", $line); - - $line = $parts[0]; - - unset($parts[0]); - - foreach ($parts as $part) - { - $shortage = 4 - mb_strlen($line, 'utf-8') % 4; - - $line .= str_repeat(' ', $shortage); - $line .= $part; - } - } - - $indent = 0; - - while (isset($line[$indent]) and $line[$indent] === ' ') - { - $indent ++; - } - - $text = $indent > 0 ? substr($line, $indent) : $line; - - # ~ - - $Line = array('body' => $line, 'indent' => $indent, 'text' => $text); - - # ~ - - if (isset($CurrentBlock['continuable'])) - { - $Block = $this->{'block'.$CurrentBlock['type'].'Continue'}($Line, $CurrentBlock); - - if (isset($Block)) - { - $CurrentBlock = $Block; - - continue; - } - else - { - if ($this->isBlockCompletable($CurrentBlock['type'])) - { - $CurrentBlock = $this->{'block'.$CurrentBlock['type'].'Complete'}($CurrentBlock); - } - } - } - - # ~ - - $marker = $text[0]; - - # ~ - - $blockTypes = $this->unmarkedBlockTypes; - - if (isset($this->BlockTypes[$marker])) - { - foreach ($this->BlockTypes[$marker] as $blockType) - { - $blockTypes []= $blockType; - } - } - - # - # ~ - - foreach ($blockTypes as $blockType) - { - $Block = $this->{'block'.$blockType}($Line, $CurrentBlock); - - if (isset($Block)) - { - $Block['type'] = $blockType; - - if ( ! isset($Block['identified'])) - { - $Blocks []= $CurrentBlock; - - $Block['identified'] = true; - } - - if ($this->isBlockContinuable($blockType)) - { - $Block['continuable'] = true; - } - - $CurrentBlock = $Block; - - continue 2; - } - } - - # ~ - - if (isset($CurrentBlock) and ! isset($CurrentBlock['type']) and ! isset($CurrentBlock['interrupted'])) - { - $CurrentBlock['element']['text'] .= "\n".$text; - } - else - { - $Blocks []= $CurrentBlock; - - $CurrentBlock = $this->paragraph($Line); - - $CurrentBlock['identified'] = true; - } - } - - # ~ - - if (isset($CurrentBlock['continuable']) and $this->isBlockCompletable($CurrentBlock['type'])) - { - $CurrentBlock = $this->{'block'.$CurrentBlock['type'].'Complete'}($CurrentBlock); - } - - # ~ - - $Blocks []= $CurrentBlock; - - unset($Blocks[0]); - - # ~ - - $markup = ''; - - foreach ($Blocks as $Block) - { - if (isset($Block['hidden'])) - { - continue; - } - - $markup .= "\n"; - $markup .= isset($Block['markup']) ? $Block['markup'] : $this->element($Block['element']); - } - - $markup .= "\n"; - - # ~ - - return $markup; - } - - protected function isBlockContinuable($Type) - { - return method_exists($this, 'block'.$Type.'Continue'); - } - - protected function isBlockCompletable($Type) - { - return method_exists($this, 'block'.$Type.'Complete'); - } - - # - # Code - - protected function blockCode($Line, $Block = null) - { - if (isset($Block) and ! isset($Block['type']) and ! isset($Block['interrupted'])) - { - return; - } - - if ($Line['indent'] >= 4) - { - $text = substr($Line['body'], 4); - - $Block = array( - 'element' => array( - 'name' => 'pre', - 'handler' => 'element', - 'text' => array( - 'name' => 'code', - 'text' => $text, - ), - ), - ); - - return $Block; - } - } - - protected function blockCodeContinue($Line, $Block) - { - if ($Line['indent'] >= 4) - { - if (isset($Block['interrupted'])) - { - $Block['element']['text']['text'] .= "\n"; - - unset($Block['interrupted']); - } - - $Block['element']['text']['text'] .= "\n"; - - $text = substr($Line['body'], 4); - - $Block['element']['text']['text'] .= $text; - - return $Block; - } - } - - protected function blockCodeComplete($Block) - { - $text = $Block['element']['text']['text']; - - $Block['element']['text']['text'] = $text; - - return $Block; - } - - # - # Comment - - protected function blockComment($Line) - { - if ($this->markupEscaped or $this->safeMode) - { - return; - } - - if (isset($Line['text'][3]) and $Line['text'][3] === '-' and $Line['text'][2] === '-' and $Line['text'][1] === '!') - { - $Block = array( - 'markup' => $Line['body'], - ); - - if (preg_match('/-->$/', $Line['text'])) - { - $Block['closed'] = true; - } - - return $Block; - } - } - - protected function blockCommentContinue($Line, array $Block) - { - if (isset($Block['closed'])) - { - return; - } - - $Block['markup'] .= "\n" . $Line['body']; - - if (preg_match('/-->$/', $Line['text'])) - { - $Block['closed'] = true; - } - - return $Block; - } - - # - # Fenced Code - - protected function blockFencedCode($Line) - { - if (preg_match('/^['.$Line['text'][0].']{3,}[ ]*([^`]+)?[ ]*$/', $Line['text'], $matches)) - { - $Element = array( - 'name' => 'code', - 'text' => '', - ); - - if (isset($matches[1])) - { - /** - * https://www.w3.org/TR/2011/WD-html5-20110525/elements.html#classes - * Every HTML element may have a class attribute specified. - * The attribute, if specified, must have a value that is a set - * of space-separated tokens representing the various classes - * that the element belongs to. - * [...] - * The space characters, for the purposes of this specification, - * are U+0020 SPACE, U+0009 CHARACTER TABULATION (tab), - * U+000A LINE FEED (LF), U+000C FORM FEED (FF), and - * U+000D CARRIAGE RETURN (CR). - */ - $language = substr($matches[1], 0, strcspn($matches[1], " \t\n\f\r")); - - $class = 'language-'.$language; - - $Element['attributes'] = array( - 'class' => $class, - ); - } - - $Block = array( - 'char' => $Line['text'][0], - 'element' => array( - 'name' => 'pre', - 'handler' => 'element', - 'text' => $Element, - ), - ); - - return $Block; - } - } - - protected function blockFencedCodeContinue($Line, $Block) - { - if (isset($Block['complete'])) - { - return; - } - - if (isset($Block['interrupted'])) - { - $Block['element']['text']['text'] .= "\n"; - - unset($Block['interrupted']); - } - - if (preg_match('/^'.$Block['char'].'{3,}[ ]*$/', $Line['text'])) - { - $Block['element']['text']['text'] = substr($Block['element']['text']['text'], 1); - - $Block['complete'] = true; - - return $Block; - } - - $Block['element']['text']['text'] .= "\n".$Line['body']; - - return $Block; - } - - protected function blockFencedCodeComplete($Block) - { - $text = $Block['element']['text']['text']; - - $Block['element']['text']['text'] = $text; - - return $Block; - } - - # - # Header - - protected function blockHeader($Line) - { - if (isset($Line['text'][1])) - { - $level = 1; - - while (isset($Line['text'][$level]) and $Line['text'][$level] === '#') - { - $level ++; - } - - if ($level > 6) - { - return; - } - - $text = trim($Line['text'], '# '); - - $Block = array( - 'element' => array( - 'name' => 'h' . min(6, $level), - 'text' => $text, - 'handler' => 'line', - ), - ); - - return $Block; - } - } - - # - # List - - protected function blockList($Line) - { - list($name, $pattern) = $Line['text'][0] <= '-' ? array('ul', '[*+-]') : array('ol', '[0-9]+[.]'); - - if (preg_match('/^('.$pattern.'[ ]+)(.*)/', $Line['text'], $matches)) - { - $Block = array( - 'indent' => $Line['indent'], - 'pattern' => $pattern, - 'element' => array( - 'name' => $name, - 'handler' => 'elements', - ), - ); - - if($name === 'ol') - { - $listStart = stristr($matches[0], '.', true); - - if($listStart !== '1') - { - $Block['element']['attributes'] = array('start' => $listStart); - } - } - - $Block['li'] = array( - 'name' => 'li', - 'handler' => 'li', - 'text' => array( - $matches[2], - ), - ); - - $Block['element']['text'] []= & $Block['li']; - - return $Block; - } - } - - protected function blockListContinue($Line, array $Block) - { - if ($Block['indent'] === $Line['indent'] and preg_match('/^'.$Block['pattern'].'(?:[ ]+(.*)|$)/', $Line['text'], $matches)) - { - if (isset($Block['interrupted'])) - { - $Block['li']['text'] []= ''; - - $Block['loose'] = true; - - unset($Block['interrupted']); - } - - unset($Block['li']); - - $text = isset($matches[1]) ? $matches[1] : ''; - - $Block['li'] = array( - 'name' => 'li', - 'handler' => 'li', - 'text' => array( - $text, - ), - ); - - $Block['element']['text'] []= & $Block['li']; - - return $Block; - } - - if ($Line['text'][0] === '[' and $this->blockReference($Line)) - { - return $Block; - } - - if ( ! isset($Block['interrupted'])) - { - $text = preg_replace('/^[ ]{0,4}/', '', $Line['body']); - - $Block['li']['text'] []= $text; - - return $Block; - } - - if ($Line['indent'] > 0) - { - $Block['li']['text'] []= ''; - - $text = preg_replace('/^[ ]{0,4}/', '', $Line['body']); - - $Block['li']['text'] []= $text; - - unset($Block['interrupted']); - - return $Block; - } - } - - protected function blockListComplete(array $Block) - { - if (isset($Block['loose'])) - { - foreach ($Block['element']['text'] as &$li) - { - if (end($li['text']) !== '') - { - $li['text'] []= ''; - } - } - } - - return $Block; - } - - # - # Quote - - protected function blockQuote($Line) - { - if (preg_match('/^>[ ]?(.*)/', $Line['text'], $matches)) - { - $Block = array( - 'element' => array( - 'name' => 'blockquote', - 'handler' => 'lines', - 'text' => (array) $matches[1], - ), - ); - - return $Block; - } - } - - protected function blockQuoteContinue($Line, array $Block) - { - if ($Line['text'][0] === '>' and preg_match('/^>[ ]?(.*)/', $Line['text'], $matches)) - { - if (isset($Block['interrupted'])) - { - $Block['element']['text'] []= ''; - - unset($Block['interrupted']); - } - - $Block['element']['text'] []= $matches[1]; - - return $Block; - } - - if ( ! isset($Block['interrupted'])) - { - $Block['element']['text'] []= $Line['text']; - - return $Block; - } - } - - # - # Rule - - protected function blockRule($Line) - { - if (preg_match('/^(['.$Line['text'][0].'])([ ]*\1){2,}[ ]*$/', $Line['text'])) - { - $Block = array( - 'element' => array( - 'name' => 'hr' - ), - ); - - return $Block; - } - } - - # - # Setext - - protected function blockSetextHeader($Line, array $Block = null) - { - if ( ! isset($Block) or isset($Block['type']) or isset($Block['interrupted'])) - { - return; - } - - if (chop($Line['text'], $Line['text'][0]) === '') - { - $Block['element']['name'] = $Line['text'][0] === '=' ? 'h1' : 'h2'; - - return $Block; - } - } - - # - # Markup - - protected function blockMarkup($Line) - { - if ($this->markupEscaped or $this->safeMode) - { - return; - } - - if (preg_match('/^<(\w[\w-]*)(?:[ ]*'.$this->regexHtmlAttribute.')*[ ]*(\/)?>/', $Line['text'], $matches)) - { - $element = strtolower($matches[1]); - - if (in_array($element, $this->textLevelElements)) - { - return; - } - - $Block = array( - 'name' => $matches[1], - 'depth' => 0, - 'markup' => $Line['text'], - ); - - $length = strlen($matches[0]); - - $remainder = substr($Line['text'], $length); - - if (trim($remainder) === '') - { - if (isset($matches[2]) or in_array($matches[1], $this->voidElements)) - { - $Block['closed'] = true; - - $Block['void'] = true; - } - } - else - { - if (isset($matches[2]) or in_array($matches[1], $this->voidElements)) - { - return; - } - - if (preg_match('/<\/'.$matches[1].'>[ ]*$/i', $remainder)) - { - $Block['closed'] = true; - } - } - - return $Block; - } - } - - protected function blockMarkupContinue($Line, array $Block) - { - if (isset($Block['closed'])) - { - return; - } - - if (preg_match('/^<'.$Block['name'].'(?:[ ]*'.$this->regexHtmlAttribute.')*[ ]*>/i', $Line['text'])) # open - { - $Block['depth'] ++; - } - - if (preg_match('/(.*?)<\/'.$Block['name'].'>[ ]*$/i', $Line['text'], $matches)) # close - { - if ($Block['depth'] > 0) - { - $Block['depth'] --; - } - else - { - $Block['closed'] = true; - } - } - - if (isset($Block['interrupted'])) - { - $Block['markup'] .= "\n"; - - unset($Block['interrupted']); - } - - $Block['markup'] .= "\n".$Line['body']; - - return $Block; - } - - # - # Reference - - protected function blockReference($Line) - { - if (preg_match('/^\[(.+?)\]:[ ]*?(?:[ ]+["\'(](.+)["\')])?[ ]*$/', $Line['text'], $matches)) - { - $id = strtolower($matches[1]); - - $Data = array( - 'url' => $matches[2], - 'title' => null, - ); - - if (isset($matches[3])) - { - $Data['title'] = $matches[3]; - } - - $this->DefinitionData['Reference'][$id] = $Data; - - $Block = array( - 'hidden' => true, - ); - - return $Block; - } - } - - # - # Table - - protected function blockTable($Line, array $Block = null) - { - if ( ! isset($Block) or isset($Block['type']) or isset($Block['interrupted'])) - { - return; - } - - if (strpos($Block['element']['text'], '|') !== false and chop($Line['text'], ' -:|') === '') - { - $alignments = array(); - - $divider = $Line['text']; - - $divider = trim($divider); - $divider = trim($divider, '|'); - - $dividerCells = explode('|', $divider); - - foreach ($dividerCells as $dividerCell) - { - $dividerCell = trim($dividerCell); - - if ($dividerCell === '') - { - continue; - } - - $alignment = null; - - if ($dividerCell[0] === ':') - { - $alignment = 'left'; - } - - if (substr($dividerCell, - 1) === ':') - { - $alignment = $alignment === 'left' ? 'center' : 'right'; - } - - $alignments []= $alignment; - } - - # ~ - - $HeaderElements = array(); - - $header = $Block['element']['text']; - - $header = trim($header); - $header = trim($header, '|'); - - $headerCells = explode('|', $header); - - foreach ($headerCells as $index => $headerCell) - { - $headerCell = trim($headerCell); - - $HeaderElement = array( - 'name' => 'th', - 'text' => $headerCell, - 'handler' => 'line', - ); - - if (isset($alignments[$index])) - { - $alignment = $alignments[$index]; - - $HeaderElement['attributes'] = array( - 'style' => 'text-align: '.$alignment.';', - ); - } - - $HeaderElements []= $HeaderElement; - } - - # ~ - - $Block = array( - 'alignments' => $alignments, - 'identified' => true, - 'element' => array( - 'name' => 'table', - 'handler' => 'elements', - ), - ); - - $Block['element']['text'] []= array( - 'name' => 'thead', - 'handler' => 'elements', - ); - - $Block['element']['text'] []= array( - 'name' => 'tbody', - 'handler' => 'elements', - 'text' => array(), - ); - - $Block['element']['text'][0]['text'] []= array( - 'name' => 'tr', - 'handler' => 'elements', - 'text' => $HeaderElements, - ); - - return $Block; - } - } - - protected function blockTableContinue($Line, array $Block) - { - if (isset($Block['interrupted'])) - { - return; - } - - if ($Line['text'][0] === '|' or strpos($Line['text'], '|')) - { - $Elements = array(); - - $row = $Line['text']; - - $row = trim($row); - $row = trim($row, '|'); - - preg_match_all('/(?:(\\\\[|])|[^|`]|`[^`]+`|`)+/', $row, $matches); - - foreach ($matches[0] as $index => $cell) - { - $cell = trim($cell); - - $Element = array( - 'name' => 'td', - 'handler' => 'line', - 'text' => $cell, - ); - - if (isset($Block['alignments'][$index])) - { - $Element['attributes'] = array( - 'style' => 'text-align: '.$Block['alignments'][$index].';', - ); - } - - $Elements []= $Element; - } - - $Element = array( - 'name' => 'tr', - 'handler' => 'elements', - 'text' => $Elements, - ); - - $Block['element']['text'][1]['text'] []= $Element; - - return $Block; - } - } - - # - # ~ - # - - protected function paragraph($Line) - { - $Block = array( - 'element' => array( - 'name' => 'p', - 'text' => $Line['text'], - 'handler' => 'line', - ), - ); - - return $Block; - } - - # - # Inline Elements - # - - protected $InlineTypes = array( - '"' => array('SpecialCharacter'), - '!' => array('Image'), - '&' => array('SpecialCharacter'), - '*' => array('Emphasis'), - ':' => array('Url'), - '<' => array('UrlTag', 'EmailTag', 'Markup', 'SpecialCharacter'), - '>' => array('SpecialCharacter'), - '[' => array('Link'), - '_' => array('Emphasis'), - '`' => array('Code'), - '~' => array('Strikethrough'), - '\\' => array('EscapeSequence'), - ); - - # ~ - - protected $inlineMarkerList = '!"*_&[:<>`~\\'; - - # - # ~ - # - - public function line($text, $nonNestables=array()) - { - $markup = ''; - - # $excerpt is based on the first occurrence of a marker - - while ($excerpt = strpbrk($text, $this->inlineMarkerList)) - { - $marker = $excerpt[0]; - - $markerPosition = strpos($text, $marker); - - $Excerpt = array('text' => $excerpt, 'context' => $text); - - foreach ($this->InlineTypes[$marker] as $inlineType) - { - # check to see if the current inline type is nestable in the current context - - if ( ! empty($nonNestables) and in_array($inlineType, $nonNestables)) - { - continue; - } - - $Inline = $this->{'inline'.$inlineType}($Excerpt); - - if ( ! isset($Inline)) - { - continue; - } - - # makes sure that the inline belongs to "our" marker - - if (isset($Inline['position']) and $Inline['position'] > $markerPosition) - { - continue; - } - - # sets a default inline position - - if ( ! isset($Inline['position'])) - { - $Inline['position'] = $markerPosition; - } - - # cause the new element to 'inherit' our non nestables - - foreach ($nonNestables as $non_nestable) - { - $Inline['element']['nonNestables'][] = $non_nestable; - } - - # the text that comes before the inline - $unmarkedText = substr($text, 0, $Inline['position']); - - # compile the unmarked text - $markup .= $this->unmarkedText($unmarkedText); - - # compile the inline - $markup .= isset($Inline['markup']) ? $Inline['markup'] : $this->element($Inline['element']); - - # remove the examined text - $text = substr($text, $Inline['position'] + $Inline['extent']); - - continue 2; - } - - # the marker does not belong to an inline - - $unmarkedText = substr($text, 0, $markerPosition + 1); - - $markup .= $this->unmarkedText($unmarkedText); - - $text = substr($text, $markerPosition + 1); - } - - $markup .= $this->unmarkedText($text); - - return $markup; - } - - # - # ~ - # - - protected function inlineCode($Excerpt) - { - $marker = $Excerpt['text'][0]; - - if (preg_match('/^('.$marker.'+)[ ]*(.+?)[ ]*(? strlen($matches[0]), - 'element' => array( - 'name' => 'code', - 'text' => $text, - ), - ); - } - } - - protected function inlineEmailTag($Excerpt) - { - if (strpos($Excerpt['text'], '>') !== false and preg_match('/^<((mailto:)?\S+?@\S+?)>/i', $Excerpt['text'], $matches)) - { - $url = $matches[1]; - - if ( ! isset($matches[2])) - { - $url = 'mailto:' . $url; - } - - return array( - 'extent' => strlen($matches[0]), - 'element' => array( - 'name' => 'a', - 'text' => $matches[1], - 'attributes' => array( - 'href' => $url, - ), - ), - ); - } - } - - protected function inlineEmphasis($Excerpt) - { - if ( ! isset($Excerpt['text'][1])) - { - return; - } - - $marker = $Excerpt['text'][0]; - - if ($Excerpt['text'][1] === $marker and preg_match($this->StrongRegex[$marker], $Excerpt['text'], $matches)) - { - $emphasis = 'strong'; - } - elseif (preg_match($this->EmRegex[$marker], $Excerpt['text'], $matches)) - { - $emphasis = 'em'; - } - else - { - return; - } - - return array( - 'extent' => strlen($matches[0]), - 'element' => array( - 'name' => $emphasis, - 'handler' => 'line', - 'text' => $matches[1], - ), - ); - } - - protected function inlineEscapeSequence($Excerpt) - { - if (isset($Excerpt['text'][1]) and in_array($Excerpt['text'][1], $this->specialCharacters)) - { - return array( - 'markup' => $Excerpt['text'][1], - 'extent' => 2, - ); - } - } - - protected function inlineImage($Excerpt) - { - if ( ! isset($Excerpt['text'][1]) or $Excerpt['text'][1] !== '[') - { - return; - } - - $Excerpt['text']= substr($Excerpt['text'], 1); - - $Link = $this->inlineLink($Excerpt); - - if ($Link === null) - { - return; - } - - $Inline = array( - 'extent' => $Link['extent'] + 1, - 'element' => array( - 'name' => 'img', - 'attributes' => array( - 'src' => $Link['element']['attributes']['href'], - 'alt' => $Link['element']['text'], - ), - ), - ); - - $Inline['element']['attributes'] += $Link['element']['attributes']; - - unset($Inline['element']['attributes']['href']); - - return $Inline; - } - - protected function inlineLink($Excerpt) - { - $Element = array( - 'name' => 'a', - 'handler' => 'line', - 'nonNestables' => array('Url', 'Link'), - 'text' => null, - 'attributes' => array( - 'href' => null, - 'title' => null, - ), - ); - - $extent = 0; - - $remainder = $Excerpt['text']; - - if (preg_match('/\[((?:[^][]++|(?R))*+)\]/', $remainder, $matches)) - { - $Element['text'] = $matches[1]; - - $extent += strlen($matches[0]); - - $remainder = substr($remainder, $extent); - } - else - { - return; - } - - if (preg_match('/^[(]\s*+((?:[^ ()]++|[(][^ )]+[)])++)(?:[ ]+("[^"]*"|\'[^\']*\'))?\s*[)]/', $remainder, $matches)) - { - $Element['attributes']['href'] = $matches[1]; - - if (isset($matches[2])) - { - $Element['attributes']['title'] = substr($matches[2], 1, - 1); - } - - $extent += strlen($matches[0]); - } - else - { - if (preg_match('/^\s*\[(.*?)\]/', $remainder, $matches)) - { - $definition = strlen($matches[1]) ? $matches[1] : $Element['text']; - $definition = strtolower($definition); - - $extent += strlen($matches[0]); - } - else - { - $definition = strtolower($Element['text']); - } - - if ( ! isset($this->DefinitionData['Reference'][$definition])) - { - return; - } - - $Definition = $this->DefinitionData['Reference'][$definition]; - - $Element['attributes']['href'] = $Definition['url']; - $Element['attributes']['title'] = $Definition['title']; - } - - return array( - 'extent' => $extent, - 'element' => $Element, - ); - } - - protected function inlineMarkup($Excerpt) - { - if ($this->markupEscaped or $this->safeMode or strpos($Excerpt['text'], '>') === false) - { - return; - } - - if ($Excerpt['text'][1] === '/' and preg_match('/^<\/\w[\w-]*[ ]*>/s', $Excerpt['text'], $matches)) - { - return array( - 'markup' => $matches[0], - 'extent' => strlen($matches[0]), - ); - } - - if ($Excerpt['text'][1] === '!' and preg_match('/^/s', $Excerpt['text'], $matches)) - { - return array( - 'markup' => $matches[0], - 'extent' => strlen($matches[0]), - ); - } - - if ($Excerpt['text'][1] !== ' ' and preg_match('/^<\w[\w-]*(?:[ ]*'.$this->regexHtmlAttribute.')*[ ]*\/?>/s', $Excerpt['text'], $matches)) - { - return array( - 'markup' => $matches[0], - 'extent' => strlen($matches[0]), - ); - } - } - - protected function inlineSpecialCharacter($Excerpt) - { - if ($Excerpt['text'][0] === '&' and ! preg_match('/^&#?\w+;/', $Excerpt['text'])) - { - return array( - 'markup' => '&', - 'extent' => 1, - ); - } - - $SpecialCharacter = array('>' => 'gt', '<' => 'lt', '"' => 'quot'); - - if (isset($SpecialCharacter[$Excerpt['text'][0]])) - { - return array( - 'markup' => '&'.$SpecialCharacter[$Excerpt['text'][0]].';', - 'extent' => 1, - ); - } - } - - protected function inlineStrikethrough($Excerpt) - { - if ( ! isset($Excerpt['text'][1])) - { - return; - } - - if ($Excerpt['text'][1] === '~' and preg_match('/^~~(?=\S)(.+?)(?<=\S)~~/', $Excerpt['text'], $matches)) - { - return array( - 'extent' => strlen($matches[0]), - 'element' => array( - 'name' => 'del', - 'text' => $matches[1], - 'handler' => 'line', - ), - ); - } - } - - protected function inlineUrl($Excerpt) - { - if ($this->urlsLinked !== true or ! isset($Excerpt['text'][2]) or $Excerpt['text'][2] !== '/') - { - return; - } - - if (preg_match('/\bhttps?:[\/]{2}[^\s<]+\b\/*/ui', $Excerpt['context'], $matches, PREG_OFFSET_CAPTURE)) - { - $url = $matches[0][0]; - - $Inline = array( - 'extent' => strlen($matches[0][0]), - 'position' => $matches[0][1], - 'element' => array( - 'name' => 'a', - 'text' => $url, - 'attributes' => array( - 'href' => $url, - ), - ), - ); - - return $Inline; - } - } - - protected function inlineUrlTag($Excerpt) - { - if (strpos($Excerpt['text'], '>') !== false and preg_match('/^<(\w+:\/{2}[^ >]+)>/i', $Excerpt['text'], $matches)) - { - $url = $matches[1]; - - return array( - 'extent' => strlen($matches[0]), - 'element' => array( - 'name' => 'a', - 'text' => $url, - 'attributes' => array( - 'href' => $url, - ), - ), - ); - } - } - - # ~ - - protected function unmarkedText($text) - { - if ($this->breaksEnabled) - { - $text = preg_replace('/[ ]*\n/', "
\n", $text); - } - else - { - $text = preg_replace('/(?:[ ][ ]+|[ ]*\\\\)\n/', "
\n", $text); - $text = str_replace(" \n", "\n", $text); - } - - return $text; - } - - # - # Handlers - # - - protected function element(array $Element) - { - if ($this->safeMode) - { - $Element = $this->sanitiseElement($Element); - } - - $markup = '<'.$Element['name']; - - if (isset($Element['attributes'])) - { - foreach ($Element['attributes'] as $name => $value) - { - if ($value === null) - { - continue; - } - - $markup .= ' '.$name.'="'.self::escape($value).'"'; - } - } - - if (isset($Element['text'])) - { - $markup .= '>'; - - if (!isset($Element['nonNestables'])) - { - $Element['nonNestables'] = array(); - } - - if (isset($Element['handler'])) - { - $markup .= $this->{$Element['handler']}($Element['text'], $Element['nonNestables']); - } - else - { - $markup .= self::escape($Element['text'], true); - } - - $markup .= ''; - } - else - { - $markup .= ' />'; - } - - return $markup; - } - - protected function elements(array $Elements) - { - $markup = ''; - - foreach ($Elements as $Element) - { - $markup .= "\n" . $this->element($Element); - } - - $markup .= "\n"; - - return $markup; - } - - # ~ - - protected function li($lines) - { - $markup = $this->lines($lines); - - $trimmedMarkup = trim($markup); - - if ( ! in_array('', $lines) and substr($trimmedMarkup, 0, 3) === '

') - { - $markup = $trimmedMarkup; - $markup = substr($markup, 3); - - $position = strpos($markup, "

"); - - $markup = substr_replace($markup, '', $position, 4); - } - - return $markup; - } - - # - # Deprecated Methods - # - - function parse($text) - { - $markup = $this->text($text); - - return $markup; - } - - protected function sanitiseElement(array $Element) - { - static $goodAttribute = '/^[a-zA-Z0-9][a-zA-Z0-9-_]*+$/'; - static $safeUrlNameToAtt = array( - 'a' => 'href', - 'img' => 'src', - ); - - if (isset($safeUrlNameToAtt[$Element['name']])) - { - $Element = $this->filterUnsafeUrlInAttribute($Element, $safeUrlNameToAtt[$Element['name']]); - } - - if ( ! empty($Element['attributes'])) - { - foreach ($Element['attributes'] as $att => $val) - { - # filter out badly parsed attribute - if ( ! preg_match($goodAttribute, $att)) - { - unset($Element['attributes'][$att]); - } - # dump onevent attribute - elseif (self::striAtStart($att, 'on')) - { - unset($Element['attributes'][$att]); - } - } - } - - return $Element; - } - - protected function filterUnsafeUrlInAttribute(array $Element, $attribute) - { - foreach ($this->safeLinksWhitelist as $scheme) - { - if (self::striAtStart($Element['attributes'][$attribute], $scheme)) - { - return $Element; - } - } - - $Element['attributes'][$attribute] = str_replace(':', '%3A', $Element['attributes'][$attribute]); - - return $Element; - } - - # - # Static Methods - # - - protected static function escape($text, $allowQuotes = false) - { - return htmlspecialchars($text, $allowQuotes ? ENT_NOQUOTES : ENT_QUOTES, 'UTF-8'); - } - - protected static function striAtStart($string, $needle) - { - $len = strlen($needle); - - if ($len > strlen($string)) - { - return false; - } - else - { - return strtolower(substr($string, 0, $len)) === strtolower($needle); - } - } - - static function instance($name = 'default') - { - if (isset(self::$instances[$name])) - { - return self::$instances[$name]; - } - - $instance = new static(); - - self::$instances[$name] = $instance; - - return $instance; - } - - private static $instances = array(); - - # - # Fields - # - - protected $DefinitionData; - - # - # Read-Only - - protected $specialCharacters = array( - '\\', '`', '*', '_', '{', '}', '[', ']', '(', ')', '>', '#', '+', '-', '.', '!', '|', - ); - - protected $StrongRegex = array( - '*' => '/^[*]{2}((?:\\\\\*|[^*]|[*][^*]*[*])+?)[*]{2}(?![*])/s', - '_' => '/^__((?:\\\\_|[^_]|_[^_]*_)+?)__(?!_)/us', - ); - - protected $EmRegex = array( - '*' => '/^[*]((?:\\\\\*|[^*]|[*][*][^*]+?[*][*])+?)[*](?![*])/s', - '_' => '/^_((?:\\\\_|[^_]|__[^_]*__)+?)_(?!_)\b/us', - ); - - protected $regexHtmlAttribute = '[a-zA-Z_:][\w:.-]*(?:\s*=\s*(?:[^"\'=<>`\s]+|"[^"]*"|\'[^\']*\'))?'; - - protected $voidElements = array( - 'area', 'base', 'br', 'col', 'command', 'embed', 'hr', 'img', 'input', 'link', 'meta', 'param', 'source', - ); - - protected $textLevelElements = array( - 'a', 'br', 'bdo', 'abbr', 'blink', 'nextid', 'acronym', 'basefont', - 'b', 'em', 'big', 'cite', 'small', 'spacer', 'listing', - 'i', 'rp', 'del', 'code', 'strike', 'marquee', - 'q', 'rt', 'ins', 'font', 'strong', - 's', 'tt', 'kbd', 'mark', - 'u', 'xm', 'sub', 'nobr', - 'sup', 'ruby', - 'var', 'span', - 'wbr', 'time', - ); -} diff --git a/paragonik-backend/vendor/erusev/parsedown/README.md b/paragonik-backend/vendor/erusev/parsedown/README.md deleted file mode 100644 index b5d9ed2..0000000 --- a/paragonik-backend/vendor/erusev/parsedown/README.md +++ /dev/null @@ -1,86 +0,0 @@ -> I also make [Caret](https://caret.io?ref=parsedown) - a Markdown editor for Mac and PC. - -## Parsedown - -[![Build Status](https://img.shields.io/travis/erusev/parsedown/master.svg?style=flat-square)](https://travis-ci.org/erusev/parsedown) - - -Better Markdown Parser in PHP - -[Demo](http://parsedown.org/demo) | -[Benchmarks](http://parsedown.org/speed) | -[Tests](http://parsedown.org/tests/) | -[Documentation](https://github.com/erusev/parsedown/wiki/) - -### Features - -* One File -* No Dependencies -* Super Fast -* Extensible -* [GitHub flavored](https://help.github.com/articles/github-flavored-markdown) -* Tested in 5.3 to 7.1 and in HHVM -* [Markdown Extra extension](https://github.com/erusev/parsedown-extra) - -### Installation - -Include `Parsedown.php` or install [the composer package](https://packagist.org/packages/erusev/parsedown). - -### Example - -``` php -$Parsedown = new Parsedown(); - -echo $Parsedown->text('Hello _Parsedown_!'); # prints:

Hello Parsedown!

-``` - -More examples in [the wiki](https://github.com/erusev/parsedown/wiki/) and in [this video tutorial](http://youtu.be/wYZBY8DEikI). - -### Security - -Parsedown is capable of escaping user-input within the HTML that it generates. Additionally Parsedown will apply sanitisation to additional scripting vectors (such as scripting link destinations) that are introduced by the markdown syntax itself. - -To tell Parsedown that it is processing untrusted user-input, use the following: -```php -$parsedown = new Parsedown; -$parsedown->setSafeMode(true); -``` - -If instead, you wish to allow HTML within untrusted user-input, but still want output to be free from XSS it is recommended that you make use of a HTML sanitiser that allows HTML tags to be whitelisted, like [HTML Purifier](http://htmlpurifier.org/). - -In both cases you should strongly consider employing defence-in-depth measures, like [deploying a Content-Security-Policy](https://scotthelme.co.uk/content-security-policy-an-introduction/) (a browser security feature) so that your page is likely to be safe even if an attacker finds a vulnerability in one of the first lines of defence above. - -#### Security of Parsedown Extensions - -Safe mode does not necessarily yield safe results when using extensions to Parsedown. Extensions should be evaluated on their own to determine their specific safety against XSS. - -### Escaping HTML -> âš ï¸Â Â **WARNING:** This method isn't safe from XSS! - -If you wish to escape HTML **in trusted input**, you can use the following: -```php -$parsedown = new Parsedown; -$parsedown->setMarkupEscaped(true); -``` - -Beware that this still allows users to insert unsafe scripting vectors, such as links like `[xss](javascript:alert%281%29)`. - -### Questions - -**How does Parsedown work?** - -It tries to read Markdown like a human. First, it looks at the lines. It’s interested in how the lines start. This helps it recognise blocks. It knows, for example, that if a line starts with a `-` then perhaps it belongs to a list. Once it recognises the blocks, it continues to the content. As it reads, it watches out for special characters. This helps it recognise inline elements (or inlines). - -We call this approach "line based". We believe that Parsedown is the first Markdown parser to use it. Since the release of Parsedown, other developers have used the same approach to develop other Markdown parsers in PHP and in other languages. - -**Is it compliant with CommonMark?** - -It passes most of the CommonMark tests. Most of the tests that don't pass deal with cases that are quite uncommon. Still, as CommonMark matures, compliance should improve. - -**Who uses it?** - -[Laravel Framework](https://laravel.com/), [Bolt CMS](http://bolt.cm/), [Grav CMS](http://getgrav.org/), [Herbie CMS](http://www.getherbie.org/), [Kirby CMS](http://getkirby.com/), [October CMS](http://octobercms.com/), [Pico CMS](http://picocms.org), [Statamic CMS](http://www.statamic.com/), [phpDocumentor](http://www.phpdoc.org/), [RaspberryPi.org](http://www.raspberrypi.org/), [Symfony demo](https://github.com/symfony/symfony-demo) and [more](https://packagist.org/packages/erusev/parsedown/dependents). - -**How can I help?** - -Use it, star it, share it and if you feel generous, [donate](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=528P3NZQMP8N2). diff --git a/paragonik-backend/vendor/erusev/parsedown/composer.json b/paragonik-backend/vendor/erusev/parsedown/composer.json deleted file mode 100644 index f8b40f8..0000000 --- a/paragonik-backend/vendor/erusev/parsedown/composer.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "name": "erusev/parsedown", - "description": "Parser for Markdown.", - "keywords": ["markdown", "parser"], - "homepage": "http://parsedown.org", - "type": "library", - "license": "MIT", - "authors": [ - { - "name": "Emanuil Rusev", - "email": "hello@erusev.com", - "homepage": "http://erusev.com" - } - ], - "require": { - "php": ">=5.3.0", - "ext-mbstring": "*" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35" - }, - "autoload": { - "psr-0": {"Parsedown": ""} - }, - "autoload-dev": { - "psr-0": { - "TestParsedown": "test/", - "ParsedownTest": "test/", - "CommonMarkTest": "test/", - "CommonMarkTestWeak": "test/" - } - } -} diff --git a/paragonik-backend/vendor/fideloper/proxy/LICENSE.md b/paragonik-backend/vendor/fideloper/proxy/LICENSE.md deleted file mode 100644 index 6d77e4f..0000000 --- a/paragonik-backend/vendor/fideloper/proxy/LICENSE.md +++ /dev/null @@ -1,13 +0,0 @@ -MIT License - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/paragonik-backend/vendor/fideloper/proxy/composer.json b/paragonik-backend/vendor/fideloper/proxy/composer.json deleted file mode 100644 index d72900f..0000000 --- a/paragonik-backend/vendor/fideloper/proxy/composer.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "name": "fideloper/proxy", - "description": "Set trusted proxies for Laravel", - "keywords": ["proxy", "trusted proxy", "load balancing"], - "license": "MIT", - "authors": [ - { - "name": "Chris Fidao", - "email": "fideloper@gmail.com" - } - ], - "require": { - "php": ">=5.4.0", - "illuminate/contracts": "^5.0|^6.0|^7.0" - }, - "require-dev": { - "illuminate/http": "^5.0|^6.0|^7.0", - "mockery/mockery": "^1.0", - "phpunit/phpunit": "^6.0" - }, - "autoload": { - "psr-4": { - "Fideloper\\Proxy\\": "src/" - } - }, - "extra": { - "laravel": { - "providers": [ - "Fideloper\\Proxy\\TrustedProxyServiceProvider" - ] - } - }, - "minimum-stability": "dev", - "prefer-stable": true -} diff --git a/paragonik-backend/vendor/fideloper/proxy/config/trustedproxy.php b/paragonik-backend/vendor/fideloper/proxy/config/trustedproxy.php deleted file mode 100644 index e618ae2..0000000 --- a/paragonik-backend/vendor/fideloper/proxy/config/trustedproxy.php +++ /dev/null @@ -1,50 +0,0 @@ - null, // [,], '*', ',' - - /* - * To trust one or more specific proxies that connect - * directly to your server, use an array or a string separated by comma of IP addresses: - */ - // 'proxies' => ['192.168.1.1'], - // 'proxies' => '192.168.1.1, 192.168.1.2', - - /* - * Or, to trust all proxies that connect - * directly to your server, use a "*" - */ - // 'proxies' => '*', - - /* - * Which headers to use to detect proxy related data (For, Host, Proto, Port) - * - * Options include: - * - * - Illuminate\Http\Request::HEADER_X_FORWARDED_ALL (use all x-forwarded-* headers to establish trust) - * - Illuminate\Http\Request::HEADER_FORWARDED (use the FORWARDED header to establish trust) - * - Illuminate\Http\Request::HEADER_X_FORWARDED_AWS_ELB (If you are using AWS Elastic Load Balancer) - * - * - 'HEADER_X_FORWARDED_ALL' (use all x-forwarded-* headers to establish trust) - * - 'HEADER_FORWARDED' (use the FORWARDED header to establish trust) - * - 'HEADER_X_FORWARDED_AWS_ELB' (If you are using AWS Elastic Load Balancer) - * - * @link https://symfony.com/doc/current/deployment/proxies.html - */ - 'headers' => Illuminate\Http\Request::HEADER_X_FORWARDED_ALL, - -]; diff --git a/paragonik-backend/vendor/fideloper/proxy/src/TrustProxies.php b/paragonik-backend/vendor/fideloper/proxy/src/TrustProxies.php deleted file mode 100644 index b8ded6c..0000000 --- a/paragonik-backend/vendor/fideloper/proxy/src/TrustProxies.php +++ /dev/null @@ -1,129 +0,0 @@ -config = $config; - } - - /** - * Handle an incoming request. - * - * @param \Illuminate\Http\Request $request - * @param \Closure $next - * - * @throws \Symfony\Component\HttpKernel\Exception\HttpException - * - * @return mixed - */ - public function handle(Request $request, Closure $next) - { - $request::setTrustedProxies([], $this->getTrustedHeaderNames()); // Reset trusted proxies between requests - $this->setTrustedProxyIpAddresses($request); - - return $next($request); - } - - /** - * Sets the trusted proxies on the request to the value of trustedproxy.proxies - * - * @param \Illuminate\Http\Request $request - */ - protected function setTrustedProxyIpAddresses(Request $request) - { - $trustedIps = $this->proxies ?: $this->config->get('trustedproxy.proxies'); - - // Trust any IP address that calls us - // `**` for backwards compatibility, but is deprecated - if ($trustedIps === '*' || $trustedIps === '**') { - return $this->setTrustedProxyIpAddressesToTheCallingIp($request); - } - - // Support IPs addresses separated by comma - $trustedIps = is_string($trustedIps) ? array_map('trim', explode(',', $trustedIps)) : $trustedIps; - - // Only trust specific IP addresses - if (is_array($trustedIps)) { - return $this->setTrustedProxyIpAddressesToSpecificIps($request, $trustedIps); - } - } - - /** - * Specify the IP addresses to trust explicitly. - * - * @param \Illuminate\Http\Request $request - * @param array $trustedIps - */ - private function setTrustedProxyIpAddressesToSpecificIps(Request $request, $trustedIps) - { - $request->setTrustedProxies((array) $trustedIps, $this->getTrustedHeaderNames()); - } - - /** - * Set the trusted proxy to be the IP address calling this servers - * - * @param \Illuminate\Http\Request $request - */ - private function setTrustedProxyIpAddressesToTheCallingIp(Request $request) - { - $request->setTrustedProxies([$request->server->get('REMOTE_ADDR')], $this->getTrustedHeaderNames()); - } - - /** - * Retrieve trusted header name(s), falling back to defaults if config not set. - * - * @return int A bit field of Request::HEADER_*, to set which headers to trust from your proxies. - */ - protected function getTrustedHeaderNames() - { - $headers = $this->headers ?: $this->config->get('trustedproxy.headers'); - switch ($headers) { - case 'HEADER_X_FORWARDED_AWS_ELB': - case Request::HEADER_X_FORWARDED_AWS_ELB: - return Request::HEADER_X_FORWARDED_AWS_ELB; - break; - case 'HEADER_FORWARDED': - case Request::HEADER_FORWARDED: - return Request::HEADER_FORWARDED; - break; - default: - return Request::HEADER_X_FORWARDED_ALL; - } - - // Should never reach this point - return $headers; - } -} diff --git a/paragonik-backend/vendor/fideloper/proxy/src/TrustedProxyServiceProvider.php b/paragonik-backend/vendor/fideloper/proxy/src/TrustedProxyServiceProvider.php deleted file mode 100644 index 26f2631..0000000 --- a/paragonik-backend/vendor/fideloper/proxy/src/TrustedProxyServiceProvider.php +++ /dev/null @@ -1,41 +0,0 @@ -app instanceof LaravelApplication && $this->app->runningInConsole()) { - $this->publishes([$source => config_path('trustedproxy.php')]); - } elseif ($this->app instanceof LumenApplication) { - $this->app->configure('trustedproxy'); - } - - - if ($this->app instanceof LaravelApplication && ! $this->app->configurationIsCached()) { - $this->mergeConfigFrom($source, 'trustedproxy'); - } - } - - /** - * Register the service provider. - * - * @return void - */ - public function register() - { - // - } -} diff --git a/paragonik-backend/vendor/filp/whoops/CHANGELOG.md b/paragonik-backend/vendor/filp/whoops/CHANGELOG.md deleted file mode 100644 index f6c0f6d..0000000 --- a/paragonik-backend/vendor/filp/whoops/CHANGELOG.md +++ /dev/null @@ -1,41 +0,0 @@ -# 2.5.0 - -* Automatically configure xdebug if available. - -# 2.4.1 - -* Try harder to close all output buffers - -# 2.4.0 - -* Allow to prepend and append handlers. - -# 2.3.2 - -* Various fixes from the community. - -# 2.3.1 - -* Prevent exception in Whoops when caught exception frame is not related to real file - -# 2.3.0 - -* Show previous exception messages. - -# 2.2.0 - -* Support PHP 7.2 - -# 2.1.0 - -* Add a `SystemFacade` to allow clients to override Whoops behavior. -* Show frame arguments in `PrettyPageHandler`. -* Highlight the line with the error. -* Add icons to search on Google and Stack Overflow. - -# 2.0.0 - -Backwards compatibility breaking changes: - -* `Run` class is now `final`. If you inherited from `Run`, please now instead use a custom `SystemFacade` injected into the `Run` constructor, or contribute your changes to our core. -* PHP < 5.5 support dropped. diff --git a/paragonik-backend/vendor/filp/whoops/LICENSE.md b/paragonik-backend/vendor/filp/whoops/LICENSE.md deleted file mode 100644 index 80407e7..0000000 --- a/paragonik-backend/vendor/filp/whoops/LICENSE.md +++ /dev/null @@ -1,19 +0,0 @@ -# The MIT License - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/paragonik-backend/vendor/filp/whoops/composer.json b/paragonik-backend/vendor/filp/whoops/composer.json deleted file mode 100644 index 51ab373..0000000 --- a/paragonik-backend/vendor/filp/whoops/composer.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "name": "filp/whoops", - "license": "MIT", - "description": "php error handling for cool kids", - "keywords": ["library", "error", "handling", "exception", "whoops", "throwable"], - "homepage": "https://filp.github.io/whoops/", - "authors": [ - { - "name": "Filipe Dobreira", - "homepage": "https://github.com/filp", - "role": "Developer" - } - ], - "require": { - "php": "^5.5.9 || ^7.0", - "psr/log": "^1.0.1" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7", - "mockery/mockery": "^0.9 || ^1.0", - "symfony/var-dumper": "^2.6 || ^3.0 || ^4.0" - }, - "suggest": { - "symfony/var-dumper": "Pretty print complex values better with var-dumper available", - "whoops/soap": "Formats errors as SOAP responses" - }, - "autoload": { - "psr-4": { - "Whoops\\": "src/Whoops/" - } - }, - "autoload-dev": { - "psr-4": { - "Whoops\\": "tests/Whoops/" - } - }, - "extra": { - "branch-alias": { - "dev-master": "2.2-dev" - } - } -} diff --git a/paragonik-backend/vendor/filp/whoops/src/Whoops/Exception/ErrorException.php b/paragonik-backend/vendor/filp/whoops/src/Whoops/Exception/ErrorException.php deleted file mode 100644 index d74e823..0000000 --- a/paragonik-backend/vendor/filp/whoops/src/Whoops/Exception/ErrorException.php +++ /dev/null @@ -1,17 +0,0 @@ - - */ - -namespace Whoops\Exception; - -use ErrorException as BaseErrorException; - -/** - * Wraps ErrorException; mostly used for typing (at least now) - * to easily cleanup the stack trace of redundant info. - */ -class ErrorException extends BaseErrorException -{ -} diff --git a/paragonik-backend/vendor/filp/whoops/src/Whoops/Exception/Formatter.php b/paragonik-backend/vendor/filp/whoops/src/Whoops/Exception/Formatter.php deleted file mode 100644 index e467559..0000000 --- a/paragonik-backend/vendor/filp/whoops/src/Whoops/Exception/Formatter.php +++ /dev/null @@ -1,73 +0,0 @@ - - */ - -namespace Whoops\Exception; - -class Formatter -{ - /** - * Returns all basic information about the exception in a simple array - * for further convertion to other languages - * @param Inspector $inspector - * @param bool $shouldAddTrace - * @return array - */ - public static function formatExceptionAsDataArray(Inspector $inspector, $shouldAddTrace) - { - $exception = $inspector->getException(); - $response = [ - 'type' => get_class($exception), - 'message' => $exception->getMessage(), - 'file' => $exception->getFile(), - 'line' => $exception->getLine(), - ]; - - if ($shouldAddTrace) { - $frames = $inspector->getFrames(); - $frameData = []; - - foreach ($frames as $frame) { - /** @var Frame $frame */ - $frameData[] = [ - 'file' => $frame->getFile(), - 'line' => $frame->getLine(), - 'function' => $frame->getFunction(), - 'class' => $frame->getClass(), - 'args' => $frame->getArgs(), - ]; - } - - $response['trace'] = $frameData; - } - - return $response; - } - - public static function formatExceptionPlain(Inspector $inspector) - { - $message = $inspector->getException()->getMessage(); - $frames = $inspector->getFrames(); - - $plain = $inspector->getExceptionName(); - $plain .= ' thrown with message "'; - $plain .= $message; - $plain .= '"'."\n\n"; - - $plain .= "Stacktrace:\n"; - foreach ($frames as $i => $frame) { - $plain .= "#". (count($frames) - $i - 1). " "; - $plain .= $frame->getClass() ?: ''; - $plain .= $frame->getClass() && $frame->getFunction() ? ":" : ""; - $plain .= $frame->getFunction() ?: ''; - $plain .= ' in '; - $plain .= ($frame->getFile() ?: '<#unknown>'); - $plain .= ':'; - $plain .= (int) $frame->getLine(). "\n"; - } - - return $plain; - } -} diff --git a/paragonik-backend/vendor/filp/whoops/src/Whoops/Exception/Frame.php b/paragonik-backend/vendor/filp/whoops/src/Whoops/Exception/Frame.php deleted file mode 100644 index f63e2a4..0000000 --- a/paragonik-backend/vendor/filp/whoops/src/Whoops/Exception/Frame.php +++ /dev/null @@ -1,295 +0,0 @@ - - */ - -namespace Whoops\Exception; - -use InvalidArgumentException; -use Serializable; - -class Frame implements Serializable -{ - /** - * @var array - */ - protected $frame; - - /** - * @var string - */ - protected $fileContentsCache; - - /** - * @var array[] - */ - protected $comments = []; - - /** - * @var bool - */ - protected $application; - - /** - * @param array[] - */ - public function __construct(array $frame) - { - $this->frame = $frame; - } - - /** - * @param bool $shortened - * @return string|null - */ - public function getFile($shortened = false) - { - if (empty($this->frame['file'])) { - return null; - } - - $file = $this->frame['file']; - - // Check if this frame occurred within an eval(). - // @todo: This can be made more reliable by checking if we've entered - // eval() in a previous trace, but will need some more work on the upper - // trace collector(s). - if (preg_match('/^(.*)\((\d+)\) : (?:eval\(\)\'d|assert) code$/', $file, $matches)) { - $file = $this->frame['file'] = $matches[1]; - $this->frame['line'] = (int) $matches[2]; - } - - if ($shortened && is_string($file)) { - // Replace the part of the path that all frames have in common, and add 'soft hyphens' for smoother line-breaks. - $dirname = dirname(dirname(dirname(dirname(dirname(dirname(__DIR__)))))); - if ($dirname !== '/') { - $file = str_replace($dirname, "…", $file); - } - $file = str_replace("/", "/­", $file); - } - - return $file; - } - - /** - * @return int|null - */ - public function getLine() - { - return isset($this->frame['line']) ? $this->frame['line'] : null; - } - - /** - * @return string|null - */ - public function getClass() - { - return isset($this->frame['class']) ? $this->frame['class'] : null; - } - - /** - * @return string|null - */ - public function getFunction() - { - return isset($this->frame['function']) ? $this->frame['function'] : null; - } - - /** - * @return array - */ - public function getArgs() - { - return isset($this->frame['args']) ? (array) $this->frame['args'] : []; - } - - /** - * Returns the full contents of the file for this frame, - * if it's known. - * @return string|null - */ - public function getFileContents() - { - if ($this->fileContentsCache === null && $filePath = $this->getFile()) { - // Leave the stage early when 'Unknown' or '[internal]' is passed - // this would otherwise raise an exception when - // open_basedir is enabled. - if ($filePath === "Unknown" || $filePath === '[internal]') { - return null; - } - - try { - $this->fileContentsCache = file_get_contents($filePath); - } catch (ErrorException $exception) { - // Internal file paths of PHP extensions cannot be opened - } - } - - return $this->fileContentsCache; - } - - /** - * Adds a comment to this frame, that can be received and - * used by other handlers. For example, the PrettyPage handler - * can attach these comments under the code for each frame. - * - * An interesting use for this would be, for example, code analysis - * & annotations. - * - * @param string $comment - * @param string $context Optional string identifying the origin of the comment - */ - public function addComment($comment, $context = 'global') - { - $this->comments[] = [ - 'comment' => $comment, - 'context' => $context, - ]; - } - - /** - * Returns all comments for this frame. Optionally allows - * a filter to only retrieve comments from a specific - * context. - * - * @param string $filter - * @return array[] - */ - public function getComments($filter = null) - { - $comments = $this->comments; - - if ($filter !== null) { - $comments = array_filter($comments, function ($c) use ($filter) { - return $c['context'] == $filter; - }); - } - - return $comments; - } - - /** - * Returns the array containing the raw frame data from which - * this Frame object was built - * - * @return array - */ - public function getRawFrame() - { - return $this->frame; - } - - /** - * Returns the contents of the file for this frame as an - * array of lines, and optionally as a clamped range of lines. - * - * NOTE: lines are 0-indexed - * - * @example - * Get all lines for this file - * $frame->getFileLines(); // => array( 0 => ' '...', ...) - * @example - * Get one line for this file, starting at line 10 (zero-indexed, remember!) - * $frame->getFileLines(9, 1); // array( 10 => '...', 11 => '...') - * - * @throws InvalidArgumentException if $length is less than or equal to 0 - * @param int $start - * @param int $length - * @return string[]|null - */ - public function getFileLines($start = 0, $length = null) - { - if (null !== ($contents = $this->getFileContents())) { - $lines = explode("\n", $contents); - - // Get a subset of lines from $start to $end - if ($length !== null) { - $start = (int) $start; - $length = (int) $length; - if ($start < 0) { - $start = 0; - } - - if ($length <= 0) { - throw new InvalidArgumentException( - "\$length($length) cannot be lower or equal to 0" - ); - } - - $lines = array_slice($lines, $start, $length, true); - } - - return $lines; - } - } - - /** - * Implements the Serializable interface, with special - * steps to also save the existing comments. - * - * @see Serializable::serialize - * @return string - */ - public function serialize() - { - $frame = $this->frame; - if (!empty($this->comments)) { - $frame['_comments'] = $this->comments; - } - - return serialize($frame); - } - - /** - * Unserializes the frame data, while also preserving - * any existing comment data. - * - * @see Serializable::unserialize - * @param string $serializedFrame - */ - public function unserialize($serializedFrame) - { - $frame = unserialize($serializedFrame); - - if (!empty($frame['_comments'])) { - $this->comments = $frame['_comments']; - unset($frame['_comments']); - } - - $this->frame = $frame; - } - - /** - * Compares Frame against one another - * @param Frame $frame - * @return bool - */ - public function equals(Frame $frame) - { - if (!$this->getFile() || $this->getFile() === 'Unknown' || !$this->getLine()) { - return false; - } - return $frame->getFile() === $this->getFile() && $frame->getLine() === $this->getLine(); - } - - /** - * Returns whether this frame belongs to the application or not. - * - * @return boolean - */ - public function isApplication() - { - return $this->application; - } - - /** - * Mark as an frame belonging to the application. - * - * @param boolean $application - */ - public function setApplication($application) - { - $this->application = $application; - } -} diff --git a/paragonik-backend/vendor/filp/whoops/src/Whoops/Exception/FrameCollection.php b/paragonik-backend/vendor/filp/whoops/src/Whoops/Exception/FrameCollection.php deleted file mode 100644 index b043a1c..0000000 --- a/paragonik-backend/vendor/filp/whoops/src/Whoops/Exception/FrameCollection.php +++ /dev/null @@ -1,203 +0,0 @@ - - */ - -namespace Whoops\Exception; - -use ArrayAccess; -use ArrayIterator; -use Countable; -use IteratorAggregate; -use Serializable; -use UnexpectedValueException; - -/** - * Exposes a fluent interface for dealing with an ordered list - * of stack-trace frames. - */ -class FrameCollection implements ArrayAccess, IteratorAggregate, Serializable, Countable -{ - /** - * @var array[] - */ - private $frames; - - /** - * @param array $frames - */ - public function __construct(array $frames) - { - $this->frames = array_map(function ($frame) { - return new Frame($frame); - }, $frames); - } - - /** - * Filters frames using a callable, returns the same FrameCollection - * - * @param callable $callable - * @return FrameCollection - */ - public function filter($callable) - { - $this->frames = array_values(array_filter($this->frames, $callable)); - return $this; - } - - /** - * Map the collection of frames - * - * @param callable $callable - * @return FrameCollection - */ - public function map($callable) - { - // Contain the map within a higher-order callable - // that enforces type-correctness for the $callable - $this->frames = array_map(function ($frame) use ($callable) { - $frame = call_user_func($callable, $frame); - - if (!$frame instanceof Frame) { - throw new UnexpectedValueException( - "Callable to " . __METHOD__ . " must return a Frame object" - ); - } - - return $frame; - }, $this->frames); - - return $this; - } - - /** - * Returns an array with all frames, does not affect - * the internal array. - * - * @todo If this gets any more complex than this, - * have getIterator use this method. - * @see FrameCollection::getIterator - * @return array - */ - public function getArray() - { - return $this->frames; - } - - /** - * @see IteratorAggregate::getIterator - * @return ArrayIterator - */ - public function getIterator() - { - return new ArrayIterator($this->frames); - } - - /** - * @see ArrayAccess::offsetExists - * @param int $offset - */ - public function offsetExists($offset) - { - return isset($this->frames[$offset]); - } - - /** - * @see ArrayAccess::offsetGet - * @param int $offset - */ - public function offsetGet($offset) - { - return $this->frames[$offset]; - } - - /** - * @see ArrayAccess::offsetSet - * @param int $offset - */ - public function offsetSet($offset, $value) - { - throw new \Exception(__CLASS__ . ' is read only'); - } - - /** - * @see ArrayAccess::offsetUnset - * @param int $offset - */ - public function offsetUnset($offset) - { - throw new \Exception(__CLASS__ . ' is read only'); - } - - /** - * @see Countable::count - * @return int - */ - public function count() - { - return count($this->frames); - } - - /** - * Count the frames that belongs to the application. - * - * @return int - */ - public function countIsApplication() - { - return count(array_filter($this->frames, function (Frame $f) { - return $f->isApplication(); - })); - } - - /** - * @see Serializable::serialize - * @return string - */ - public function serialize() - { - return serialize($this->frames); - } - - /** - * @see Serializable::unserialize - * @param string $serializedFrames - */ - public function unserialize($serializedFrames) - { - $this->frames = unserialize($serializedFrames); - } - - /** - * @param Frame[] $frames Array of Frame instances, usually from $e->getPrevious() - */ - public function prependFrames(array $frames) - { - $this->frames = array_merge($frames, $this->frames); - } - - /** - * Gets the innermost part of stack trace that is not the same as that of outer exception - * - * @param FrameCollection $parentFrames Outer exception frames to compare tail against - * @return Frame[] - */ - public function topDiff(FrameCollection $parentFrames) - { - $diff = $this->frames; - - $parentFrames = $parentFrames->getArray(); - $p = count($parentFrames)-1; - - for ($i = count($diff)-1; $i >= 0 && $p >= 0; $i--) { - /** @var Frame $tailFrame */ - $tailFrame = $diff[$i]; - if ($tailFrame->equals($parentFrames[$p])) { - unset($diff[$i]); - } - $p--; - } - return $diff; - } -} diff --git a/paragonik-backend/vendor/filp/whoops/src/Whoops/Exception/Inspector.php b/paragonik-backend/vendor/filp/whoops/src/Whoops/Exception/Inspector.php deleted file mode 100644 index 04f72df..0000000 --- a/paragonik-backend/vendor/filp/whoops/src/Whoops/Exception/Inspector.php +++ /dev/null @@ -1,323 +0,0 @@ - - */ - -namespace Whoops\Exception; - -use Whoops\Util\Misc; - -class Inspector -{ - /** - * @var \Throwable - */ - private $exception; - - /** - * @var \Whoops\Exception\FrameCollection - */ - private $frames; - - /** - * @var \Whoops\Exception\Inspector - */ - private $previousExceptionInspector; - - /** - * @var \Throwable[] - */ - private $previousExceptions; - - /** - * @param \Throwable $exception The exception to inspect - */ - public function __construct($exception) - { - $this->exception = $exception; - } - - /** - * @return \Throwable - */ - public function getException() - { - return $this->exception; - } - - /** - * @return string - */ - public function getExceptionName() - { - return get_class($this->exception); - } - - /** - * @return string - */ - public function getExceptionMessage() - { - return $this->extractDocrefUrl($this->exception->getMessage())['message']; - } - - /** - * @return string[] - */ - public function getPreviousExceptionMessages() - { - return array_map(function ($prev) { - /** @var \Throwable $prev */ - return $this->extractDocrefUrl($prev->getMessage())['message']; - }, $this->getPreviousExceptions()); - } - - /** - * @return int[] - */ - public function getPreviousExceptionCodes() - { - return array_map(function ($prev) { - /** @var \Throwable $prev */ - return $prev->getCode(); - }, $this->getPreviousExceptions()); - } - - /** - * Returns a url to the php-manual related to the underlying error - when available. - * - * @return string|null - */ - public function getExceptionDocrefUrl() - { - return $this->extractDocrefUrl($this->exception->getMessage())['url']; - } - - private function extractDocrefUrl($message) - { - $docref = [ - 'message' => $message, - 'url' => null, - ]; - - // php embbeds urls to the manual into the Exception message with the following ini-settings defined - // http://php.net/manual/en/errorfunc.configuration.php#ini.docref-root - if (!ini_get('html_errors') || !ini_get('docref_root')) { - return $docref; - } - - $pattern = "/\[(?:[^<]+)<\/a>\]/"; - if (preg_match($pattern, $message, $matches)) { - // -> strip those automatically generated links from the exception message - $docref['message'] = preg_replace($pattern, '', $message, 1); - $docref['url'] = $matches[1]; - } - - return $docref; - } - - /** - * Does the wrapped Exception has a previous Exception? - * @return bool - */ - public function hasPreviousException() - { - return $this->previousExceptionInspector || $this->exception->getPrevious(); - } - - /** - * Returns an Inspector for a previous Exception, if any. - * @todo Clean this up a bit, cache stuff a bit better. - * @return Inspector - */ - public function getPreviousExceptionInspector() - { - if ($this->previousExceptionInspector === null) { - $previousException = $this->exception->getPrevious(); - - if ($previousException) { - $this->previousExceptionInspector = new Inspector($previousException); - } - } - - return $this->previousExceptionInspector; - } - - - /** - * Returns an array of all previous exceptions for this inspector's exception - * @return \Throwable[] - */ - public function getPreviousExceptions() - { - if ($this->previousExceptions === null) { - $this->previousExceptions = []; - - $prev = $this->exception->getPrevious(); - while ($prev !== null) { - $this->previousExceptions[] = $prev; - $prev = $prev->getPrevious(); - } - } - - return $this->previousExceptions; - } - - /** - * Returns an iterator for the inspected exception's - * frames. - * @return \Whoops\Exception\FrameCollection - */ - public function getFrames() - { - if ($this->frames === null) { - $frames = $this->getTrace($this->exception); - - // Fill empty line/file info for call_user_func_array usages (PHP Bug #44428) - foreach ($frames as $k => $frame) { - if (empty($frame['file'])) { - // Default values when file and line are missing - $file = '[internal]'; - $line = 0; - - $next_frame = !empty($frames[$k + 1]) ? $frames[$k + 1] : []; - - if ($this->isValidNextFrame($next_frame)) { - $file = $next_frame['file']; - $line = $next_frame['line']; - } - - $frames[$k]['file'] = $file; - $frames[$k]['line'] = $line; - } - } - - // Find latest non-error handling frame index ($i) used to remove error handling frames - $i = 0; - foreach ($frames as $k => $frame) { - if ($frame['file'] == $this->exception->getFile() && $frame['line'] == $this->exception->getLine()) { - $i = $k; - } - } - - // Remove error handling frames - if ($i > 0) { - array_splice($frames, 0, $i); - } - - $firstFrame = $this->getFrameFromException($this->exception); - array_unshift($frames, $firstFrame); - - $this->frames = new FrameCollection($frames); - - if ($previousInspector = $this->getPreviousExceptionInspector()) { - // Keep outer frame on top of the inner one - $outerFrames = $this->frames; - $newFrames = clone $previousInspector->getFrames(); - // I assume it will always be set, but let's be safe - if (isset($newFrames[0])) { - $newFrames[0]->addComment( - $previousInspector->getExceptionMessage(), - 'Exception message:' - ); - } - $newFrames->prependFrames($outerFrames->topDiff($newFrames)); - $this->frames = $newFrames; - } - } - - return $this->frames; - } - - /** - * Gets the backtrace from an exception. - * - * If xdebug is installed - * - * @param \Throwable $e - * @return array - */ - protected function getTrace($e) - { - $traces = $e->getTrace(); - - // Get trace from xdebug if enabled, failure exceptions only trace to the shutdown handler by default - if (!$e instanceof \ErrorException) { - return $traces; - } - - if (!Misc::isLevelFatal($e->getSeverity())) { - return $traces; - } - - if (!extension_loaded('xdebug') || !xdebug_is_enabled()) { - return $traces; - } - - // Use xdebug to get the full stack trace and remove the shutdown handler stack trace - $stack = array_reverse(xdebug_get_function_stack()); - $trace = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS); - $traces = array_diff_key($stack, $trace); - - return $traces; - } - - /** - * Given an exception, generates an array in the format - * generated by Exception::getTrace() - * @param \Throwable $exception - * @return array - */ - protected function getFrameFromException($exception) - { - return [ - 'file' => $exception->getFile(), - 'line' => $exception->getLine(), - 'class' => get_class($exception), - 'args' => [ - $exception->getMessage(), - ], - ]; - } - - /** - * Given an error, generates an array in the format - * generated by ErrorException - * @param ErrorException $exception - * @return array - */ - protected function getFrameFromError(ErrorException $exception) - { - return [ - 'file' => $exception->getFile(), - 'line' => $exception->getLine(), - 'class' => null, - 'args' => [], - ]; - } - - /** - * Determine if the frame can be used to fill in previous frame's missing info - * happens for call_user_func and call_user_func_array usages (PHP Bug #44428) - * - * @param array $frame - * @return bool - */ - protected function isValidNextFrame(array $frame) - { - if (empty($frame['file'])) { - return false; - } - - if (empty($frame['line'])) { - return false; - } - - if (empty($frame['function']) || !stristr($frame['function'], 'call_user_func')) { - return false; - } - - return true; - } -} diff --git a/paragonik-backend/vendor/filp/whoops/src/Whoops/Handler/CallbackHandler.php b/paragonik-backend/vendor/filp/whoops/src/Whoops/Handler/CallbackHandler.php deleted file mode 100644 index cc46e70..0000000 --- a/paragonik-backend/vendor/filp/whoops/src/Whoops/Handler/CallbackHandler.php +++ /dev/null @@ -1,52 +0,0 @@ - - */ - -namespace Whoops\Handler; - -use InvalidArgumentException; - -/** - * Wrapper for Closures passed as handlers. Can be used - * directly, or will be instantiated automagically by Whoops\Run - * if passed to Run::pushHandler - */ -class CallbackHandler extends Handler -{ - /** - * @var callable - */ - protected $callable; - - /** - * @throws InvalidArgumentException If argument is not callable - * @param callable $callable - */ - public function __construct($callable) - { - if (!is_callable($callable)) { - throw new InvalidArgumentException( - 'Argument to ' . __METHOD__ . ' must be valid callable' - ); - } - - $this->callable = $callable; - } - - /** - * @return int|null - */ - public function handle() - { - $exception = $this->getException(); - $inspector = $this->getInspector(); - $run = $this->getRun(); - $callable = $this->callable; - - // invoke the callable directly, to get simpler stacktraces (in comparison to call_user_func). - // this assumes that $callable is a properly typed php-callable, which we check in __construct(). - return $callable($exception, $inspector, $run); - } -} diff --git a/paragonik-backend/vendor/filp/whoops/src/Whoops/Handler/Handler.php b/paragonik-backend/vendor/filp/whoops/src/Whoops/Handler/Handler.php deleted file mode 100644 index cf1f708..0000000 --- a/paragonik-backend/vendor/filp/whoops/src/Whoops/Handler/Handler.php +++ /dev/null @@ -1,95 +0,0 @@ - - */ - -namespace Whoops\Handler; - -use Whoops\Exception\Inspector; -use Whoops\RunInterface; - -/** - * Abstract implementation of a Handler. - */ -abstract class Handler implements HandlerInterface -{ - /* - Return constants that can be returned from Handler::handle - to message the handler walker. - */ - const DONE = 0x10; // returning this is optional, only exists for - // semantic purposes - /** - * The Handler has handled the Throwable in some way, and wishes to skip any other Handler. - * Execution will continue. - */ - const LAST_HANDLER = 0x20; - /** - * The Handler has handled the Throwable in some way, and wishes to quit/stop execution - */ - const QUIT = 0x30; - - /** - * @var RunInterface - */ - private $run; - - /** - * @var Inspector $inspector - */ - private $inspector; - - /** - * @var \Throwable $exception - */ - private $exception; - - /** - * @param RunInterface $run - */ - public function setRun(RunInterface $run) - { - $this->run = $run; - } - - /** - * @return RunInterface - */ - protected function getRun() - { - return $this->run; - } - - /** - * @param Inspector $inspector - */ - public function setInspector(Inspector $inspector) - { - $this->inspector = $inspector; - } - - /** - * @return Inspector - */ - protected function getInspector() - { - return $this->inspector; - } - - /** - * @param \Throwable $exception - */ - public function setException($exception) - { - $this->exception = $exception; - } - - /** - * @return \Throwable - */ - protected function getException() - { - return $this->exception; - } -} diff --git a/paragonik-backend/vendor/filp/whoops/src/Whoops/Handler/HandlerInterface.php b/paragonik-backend/vendor/filp/whoops/src/Whoops/Handler/HandlerInterface.php deleted file mode 100644 index 0265a85..0000000 --- a/paragonik-backend/vendor/filp/whoops/src/Whoops/Handler/HandlerInterface.php +++ /dev/null @@ -1,36 +0,0 @@ - - */ - -namespace Whoops\Handler; - -use Whoops\Exception\Inspector; -use Whoops\RunInterface; - -interface HandlerInterface -{ - /** - * @return int|null A handler may return nothing, or a Handler::HANDLE_* constant - */ - public function handle(); - - /** - * @param RunInterface $run - * @return void - */ - public function setRun(RunInterface $run); - - /** - * @param \Throwable $exception - * @return void - */ - public function setException($exception); - - /** - * @param Inspector $inspector - * @return void - */ - public function setInspector(Inspector $inspector); -} diff --git a/paragonik-backend/vendor/filp/whoops/src/Whoops/Handler/JsonResponseHandler.php b/paragonik-backend/vendor/filp/whoops/src/Whoops/Handler/JsonResponseHandler.php deleted file mode 100644 index fdd7ead..0000000 --- a/paragonik-backend/vendor/filp/whoops/src/Whoops/Handler/JsonResponseHandler.php +++ /dev/null @@ -1,88 +0,0 @@ - - */ - -namespace Whoops\Handler; - -use Whoops\Exception\Formatter; - -/** - * Catches an exception and converts it to a JSON - * response. Additionally can also return exception - * frames for consumption by an API. - */ -class JsonResponseHandler extends Handler -{ - /** - * @var bool - */ - private $returnFrames = false; - - /** - * @var bool - */ - private $jsonApi = false; - - /** - * Returns errors[[]] instead of error[] to be in compliance with the json:api spec - * @param bool $jsonApi Default is false - * @return $this - */ - public function setJsonApi($jsonApi = false) - { - $this->jsonApi = (bool) $jsonApi; - return $this; - } - - /** - * @param bool|null $returnFrames - * @return bool|$this - */ - public function addTraceToOutput($returnFrames = null) - { - if (func_num_args() == 0) { - return $this->returnFrames; - } - - $this->returnFrames = (bool) $returnFrames; - return $this; - } - - /** - * @return int - */ - public function handle() - { - if ($this->jsonApi === true) { - $response = [ - 'errors' => [ - Formatter::formatExceptionAsDataArray( - $this->getInspector(), - $this->addTraceToOutput() - ), - ] - ]; - } else { - $response = [ - 'error' => Formatter::formatExceptionAsDataArray( - $this->getInspector(), - $this->addTraceToOutput() - ), - ]; - } - - echo json_encode($response, defined('JSON_PARTIAL_OUTPUT_ON_ERROR') ? JSON_PARTIAL_OUTPUT_ON_ERROR : 0); - - return Handler::QUIT; - } - - /** - * @return string - */ - public function contentType() - { - return 'application/json'; - } -} diff --git a/paragonik-backend/vendor/filp/whoops/src/Whoops/Handler/PlainTextHandler.php b/paragonik-backend/vendor/filp/whoops/src/Whoops/Handler/PlainTextHandler.php deleted file mode 100644 index 192d0ff..0000000 --- a/paragonik-backend/vendor/filp/whoops/src/Whoops/Handler/PlainTextHandler.php +++ /dev/null @@ -1,354 +0,0 @@ - -* Plaintext handler for command line and logs. -* @author Pierre-Yves Landuré -*/ - -namespace Whoops\Handler; - -use InvalidArgumentException; -use Psr\Log\LoggerInterface; -use Whoops\Exception\Frame; - -/** -* Handler outputing plaintext error messages. Can be used -* directly, or will be instantiated automagically by Whoops\Run -* if passed to Run::pushHandler -*/ -class PlainTextHandler extends Handler -{ - const VAR_DUMP_PREFIX = ' | '; - - /** - * @var \Psr\Log\LoggerInterface - */ - protected $logger; - - /** - * @var callable - */ - protected $dumper; - - /** - * @var bool - */ - private $addTraceToOutput = true; - - /** - * @var bool|integer - */ - private $addTraceFunctionArgsToOutput = false; - - /** - * @var integer - */ - private $traceFunctionArgsOutputLimit = 1024; - - /** - * @var bool - */ - private $addPreviousToOutput = true; - - /** - * @var bool - */ - private $loggerOnly = false; - - /** - * Constructor. - * @throws InvalidArgumentException If argument is not null or a LoggerInterface - * @param \Psr\Log\LoggerInterface|null $logger - */ - public function __construct($logger = null) - { - $this->setLogger($logger); - } - - /** - * Set the output logger interface. - * @throws InvalidArgumentException If argument is not null or a LoggerInterface - * @param \Psr\Log\LoggerInterface|null $logger - */ - public function setLogger($logger = null) - { - if (! (is_null($logger) - || $logger instanceof LoggerInterface)) { - throw new InvalidArgumentException( - 'Argument to ' . __METHOD__ . - " must be a valid Logger Interface (aka. Monolog), " . - get_class($logger) . ' given.' - ); - } - - $this->logger = $logger; - } - - /** - * @return \Psr\Log\LoggerInterface|null - */ - public function getLogger() - { - return $this->logger; - } - - /** - * Set var dumper callback function. - * - * @param callable $dumper - * @return void - */ - public function setDumper(callable $dumper) - { - $this->dumper = $dumper; - } - - /** - * Add error trace to output. - * @param bool|null $addTraceToOutput - * @return bool|$this - */ - public function addTraceToOutput($addTraceToOutput = null) - { - if (func_num_args() == 0) { - return $this->addTraceToOutput; - } - - $this->addTraceToOutput = (bool) $addTraceToOutput; - return $this; - } - - /** - * Add previous exceptions to output. - * @param bool|null $addPreviousToOutput - * @return bool|$this - */ - public function addPreviousToOutput($addPreviousToOutput = null) - { - if (func_num_args() == 0) { - return $this->addPreviousToOutput; - } - - $this->addPreviousToOutput = (bool) $addPreviousToOutput; - return $this; - } - - /** - * Add error trace function arguments to output. - * Set to True for all frame args, or integer for the n first frame args. - * @param bool|integer|null $addTraceFunctionArgsToOutput - * @return null|bool|integer - */ - public function addTraceFunctionArgsToOutput($addTraceFunctionArgsToOutput = null) - { - if (func_num_args() == 0) { - return $this->addTraceFunctionArgsToOutput; - } - - if (! is_integer($addTraceFunctionArgsToOutput)) { - $this->addTraceFunctionArgsToOutput = (bool) $addTraceFunctionArgsToOutput; - } else { - $this->addTraceFunctionArgsToOutput = $addTraceFunctionArgsToOutput; - } - } - - /** - * Set the size limit in bytes of frame arguments var_dump output. - * If the limit is reached, the var_dump output is discarded. - * Prevent memory limit errors. - * @var integer - */ - public function setTraceFunctionArgsOutputLimit($traceFunctionArgsOutputLimit) - { - $this->traceFunctionArgsOutputLimit = (integer) $traceFunctionArgsOutputLimit; - } - - /** - * Create plain text response and return it as a string - * @return string - */ - public function generateResponse() - { - $exception = $this->getException(); - $message = $this->getExceptionOutput($exception); - - if ($this->addPreviousToOutput) { - $previous = $exception->getPrevious(); - while ($previous) { - $message .= "\n\nCaused by\n" . $this->getExceptionOutput($previous); - $previous = $previous->getPrevious(); - } - } - - - return $message . $this->getTraceOutput() . "\n"; - } - - /** - * Get the size limit in bytes of frame arguments var_dump output. - * If the limit is reached, the var_dump output is discarded. - * Prevent memory limit errors. - * @return integer - */ - public function getTraceFunctionArgsOutputLimit() - { - return $this->traceFunctionArgsOutputLimit; - } - - /** - * Only output to logger. - * @param bool|null $loggerOnly - * @return null|bool - */ - public function loggerOnly($loggerOnly = null) - { - if (func_num_args() == 0) { - return $this->loggerOnly; - } - - $this->loggerOnly = (bool) $loggerOnly; - } - - /** - * Test if handler can output to stdout. - * @return bool - */ - private function canOutput() - { - return !$this->loggerOnly(); - } - - /** - * Get the frame args var_dump. - * @param \Whoops\Exception\Frame $frame [description] - * @param integer $line [description] - * @return string - */ - private function getFrameArgsOutput(Frame $frame, $line) - { - if ($this->addTraceFunctionArgsToOutput() === false - || $this->addTraceFunctionArgsToOutput() < $line) { - return ''; - } - - // Dump the arguments: - ob_start(); - $this->dump($frame->getArgs()); - if (ob_get_length() > $this->getTraceFunctionArgsOutputLimit()) { - // The argument var_dump is to big. - // Discarded to limit memory usage. - ob_clean(); - return sprintf( - "\n%sArguments dump length greater than %d Bytes. Discarded.", - self::VAR_DUMP_PREFIX, - $this->getTraceFunctionArgsOutputLimit() - ); - } - - return sprintf( - "\n%s", - preg_replace('/^/m', self::VAR_DUMP_PREFIX, ob_get_clean()) - ); - } - - /** - * Dump variable. - * - * @param mixed $var - * @return void - */ - protected function dump($var) - { - if ($this->dumper) { - call_user_func($this->dumper, $var); - } else { - var_dump($var); - } - } - - /** - * Get the exception trace as plain text. - * @return string - */ - private function getTraceOutput() - { - if (! $this->addTraceToOutput()) { - return ''; - } - $inspector = $this->getInspector(); - $frames = $inspector->getFrames(); - - $response = "\nStack trace:"; - - $line = 1; - foreach ($frames as $frame) { - /** @var Frame $frame */ - $class = $frame->getClass(); - - $template = "\n%3d. %s->%s() %s:%d%s"; - if (! $class) { - // Remove method arrow (->) from output. - $template = "\n%3d. %s%s() %s:%d%s"; - } - - $response .= sprintf( - $template, - $line, - $class, - $frame->getFunction(), - $frame->getFile(), - $frame->getLine(), - $this->getFrameArgsOutput($frame, $line) - ); - - $line++; - } - - return $response; - } - - /** - * Get the exception as plain text. - * @param \Throwable $exception - * @return string - */ - private function getExceptionOutput($exception) - { - return sprintf( - "%s: %s in file %s on line %d", - get_class($exception), - $exception->getMessage(), - $exception->getFile(), - $exception->getLine() - ); - } - - /** - * @return int - */ - public function handle() - { - $response = $this->generateResponse(); - - if ($this->getLogger()) { - $this->getLogger()->error($response); - } - - if (! $this->canOutput()) { - return Handler::DONE; - } - - echo $response; - - return Handler::QUIT; - } - - /** - * @return string - */ - public function contentType() - { - return 'text/plain'; - } -} diff --git a/paragonik-backend/vendor/filp/whoops/src/Whoops/Handler/PrettyPageHandler.php b/paragonik-backend/vendor/filp/whoops/src/Whoops/Handler/PrettyPageHandler.php deleted file mode 100644 index a904025..0000000 --- a/paragonik-backend/vendor/filp/whoops/src/Whoops/Handler/PrettyPageHandler.php +++ /dev/null @@ -1,728 +0,0 @@ - - */ - -namespace Whoops\Handler; - -use InvalidArgumentException; -use RuntimeException; -use Symfony\Component\VarDumper\Cloner\AbstractCloner; -use Symfony\Component\VarDumper\Cloner\VarCloner; -use UnexpectedValueException; -use Whoops\Exception\Formatter; -use Whoops\Util\Misc; -use Whoops\Util\TemplateHelper; - -class PrettyPageHandler extends Handler -{ - const EDITOR_SUBLIME = "sublime"; - const EDITOR_TEXTMATE = "textmate"; - const EDITOR_EMACS = "emacs"; - const EDITOR_MACVIM = "macvim"; - const EDITOR_PHPSTORM = "phpstorm"; - const EDITOR_IDEA = "idea"; - const EDITOR_VSCODE = "vscode"; - const EDITOR_ATOM = "atom"; - const EDITOR_ESPRESSO = "espresso"; - const EDITOR_XDEBUG = "xdebug"; - - /** - * Search paths to be scanned for resources, in the reverse - * order they're declared. - * - * @var array - */ - private $searchPaths = []; - - /** - * Fast lookup cache for known resource locations. - * - * @var array - */ - private $resourceCache = []; - - /** - * The name of the custom css file. - * - * @var string - */ - private $customCss = null; - - /** - * @var array[] - */ - private $extraTables = []; - - /** - * @var bool - */ - private $handleUnconditionally = false; - - /** - * @var string - */ - private $pageTitle = "Whoops! There was an error."; - - /** - * @var array[] - */ - private $applicationPaths; - - /** - * @var array[] - */ - private $blacklist = [ - '_GET' => [], - '_POST' => [], - '_FILES' => [], - '_COOKIE' => [], - '_SESSION' => [], - '_SERVER' => [], - '_ENV' => [], - ]; - - /** - * A string identifier for a known IDE/text editor, or a closure - * that resolves a string that can be used to open a given file - * in an editor. If the string contains the special substrings - * %file or %line, they will be replaced with the correct data. - * - * @example - * "txmt://open?url=%file&line=%line" - * @var mixed $editor - */ - protected $editor; - - /** - * A list of known editor strings - * @var array - */ - protected $editors = [ - "sublime" => "subl://open?url=file://%file&line=%line", - "textmate" => "txmt://open?url=file://%file&line=%line", - "emacs" => "emacs://open?url=file://%file&line=%line", - "macvim" => "mvim://open/?url=file://%file&line=%line", - "phpstorm" => "phpstorm://open?file=%file&line=%line", - "idea" => "idea://open?file=%file&line=%line", - "vscode" => "vscode://file/%file:%line", - "atom" => "atom://core/open/file?filename=%file&line=%line", - "espresso" => "x-espresso://open?filepath=%file&lines=%line", - ]; - - /** - * @var TemplateHelper - */ - private $templateHelper; - - /** - * Constructor. - */ - public function __construct() - { - if (ini_get('xdebug.file_link_format') || extension_loaded('xdebug')) { - // Register editor using xdebug's file_link_format option. - $this->editors['xdebug'] = function ($file, $line) { - return str_replace(['%f', '%l'], [$file, $line], ini_get('xdebug.file_link_format')); - }; - - // If xdebug is available, use it as default editor. - $this->setEditor('xdebug'); - } - - // Add the default, local resource search path: - $this->searchPaths[] = __DIR__ . "/../Resources"; - - // blacklist php provided auth based values - $this->blacklist('_SERVER', 'PHP_AUTH_PW'); - - $this->templateHelper = new TemplateHelper(); - - if (class_exists('Symfony\Component\VarDumper\Cloner\VarCloner')) { - $cloner = new VarCloner(); - // Only dump object internals if a custom caster exists. - $cloner->addCasters(['*' => function ($obj, $a, $stub, $isNested, $filter = 0) { - $class = $stub->class; - $classes = [$class => $class] + class_parents($class) + class_implements($class); - - foreach ($classes as $class) { - if (isset(AbstractCloner::$defaultCasters[$class])) { - return $a; - } - } - - // Remove all internals - return []; - }]); - $this->templateHelper->setCloner($cloner); - } - } - - /** - * @return int|null - */ - public function handle() - { - if (!$this->handleUnconditionally()) { - // Check conditions for outputting HTML: - // @todo: Make this more robust - if (PHP_SAPI === 'cli') { - // Help users who have been relying on an internal test value - // fix their code to the proper method - if (isset($_ENV['whoops-test'])) { - throw new \Exception( - 'Use handleUnconditionally instead of whoops-test' - .' environment variable' - ); - } - - return Handler::DONE; - } - } - - $templateFile = $this->getResource("views/layout.html.php"); - $cssFile = $this->getResource("css/whoops.base.css"); - $zeptoFile = $this->getResource("js/zepto.min.js"); - $prettifyFile = $this->getResource("js/prettify.min.js"); - $clipboard = $this->getResource("js/clipboard.min.js"); - $jsFile = $this->getResource("js/whoops.base.js"); - - if ($this->customCss) { - $customCssFile = $this->getResource($this->customCss); - } - - $inspector = $this->getInspector(); - $frames = $this->getExceptionFrames(); - $code = $this->getExceptionCode(); - - // List of variables that will be passed to the layout template. - $vars = [ - "page_title" => $this->getPageTitle(), - - // @todo: Asset compiler - "stylesheet" => file_get_contents($cssFile), - "zepto" => file_get_contents($zeptoFile), - "prettify" => file_get_contents($prettifyFile), - "clipboard" => file_get_contents($clipboard), - "javascript" => file_get_contents($jsFile), - - // Template paths: - "header" => $this->getResource("views/header.html.php"), - "header_outer" => $this->getResource("views/header_outer.html.php"), - "frame_list" => $this->getResource("views/frame_list.html.php"), - "frames_description" => $this->getResource("views/frames_description.html.php"), - "frames_container" => $this->getResource("views/frames_container.html.php"), - "panel_details" => $this->getResource("views/panel_details.html.php"), - "panel_details_outer" => $this->getResource("views/panel_details_outer.html.php"), - "panel_left" => $this->getResource("views/panel_left.html.php"), - "panel_left_outer" => $this->getResource("views/panel_left_outer.html.php"), - "frame_code" => $this->getResource("views/frame_code.html.php"), - "env_details" => $this->getResource("views/env_details.html.php"), - - "title" => $this->getPageTitle(), - "name" => explode("\\", $inspector->getExceptionName()), - "message" => $inspector->getExceptionMessage(), - "previousMessages" => $inspector->getPreviousExceptionMessages(), - "docref_url" => $inspector->getExceptionDocrefUrl(), - "code" => $code, - "previousCodes" => $inspector->getPreviousExceptionCodes(), - "plain_exception" => Formatter::formatExceptionPlain($inspector), - "frames" => $frames, - "has_frames" => !!count($frames), - "handler" => $this, - "handlers" => $this->getRun()->getHandlers(), - - "active_frames_tab" => count($frames) && $frames->offsetGet(0)->isApplication() ? 'application' : 'all', - "has_frames_tabs" => $this->getApplicationPaths(), - - "tables" => [ - "GET Data" => $this->masked($_GET, '_GET'), - "POST Data" => $this->masked($_POST, '_POST'), - "Files" => isset($_FILES) ? $this->masked($_FILES, '_FILES') : [], - "Cookies" => $this->masked($_COOKIE, '_COOKIE'), - "Session" => isset($_SESSION) ? $this->masked($_SESSION, '_SESSION') : [], - "Server/Request Data" => $this->masked($_SERVER, '_SERVER'), - "Environment Variables" => $this->masked($_ENV, '_ENV'), - ], - ]; - - if (isset($customCssFile)) { - $vars["stylesheet"] .= file_get_contents($customCssFile); - } - - // Add extra entries list of data tables: - // @todo: Consolidate addDataTable and addDataTableCallback - $extraTables = array_map(function ($table) use ($inspector) { - return $table instanceof \Closure ? $table($inspector) : $table; - }, $this->getDataTables()); - $vars["tables"] = array_merge($extraTables, $vars["tables"]); - - $plainTextHandler = new PlainTextHandler(); - $plainTextHandler->setException($this->getException()); - $plainTextHandler->setInspector($this->getInspector()); - $vars["preface"] = ""; - - $this->templateHelper->setVariables($vars); - $this->templateHelper->render($templateFile); - - return Handler::QUIT; - } - - /** - * Get the stack trace frames of the exception that is currently being handled. - * - * @return \Whoops\Exception\FrameCollection; - */ - protected function getExceptionFrames() - { - $frames = $this->getInspector()->getFrames(); - - if ($this->getApplicationPaths()) { - foreach ($frames as $frame) { - foreach ($this->getApplicationPaths() as $path) { - if (strpos($frame->getFile(), $path) === 0) { - $frame->setApplication(true); - break; - } - } - } - } - - return $frames; - } - - /** - * Get the code of the exception that is currently being handled. - * - * @return string - */ - protected function getExceptionCode() - { - $exception = $this->getException(); - - $code = $exception->getCode(); - if ($exception instanceof \ErrorException) { - // ErrorExceptions wrap the php-error types within the 'severity' property - $code = Misc::translateErrorCode($exception->getSeverity()); - } - - return (string) $code; - } - - /** - * @return string - */ - public function contentType() - { - return 'text/html'; - } - - /** - * Adds an entry to the list of tables displayed in the template. - * The expected data is a simple associative array. Any nested arrays - * will be flattened with print_r - * @param string $label - * @param array $data - */ - public function addDataTable($label, array $data) - { - $this->extraTables[$label] = $data; - } - - /** - * Lazily adds an entry to the list of tables displayed in the table. - * The supplied callback argument will be called when the error is rendered, - * it should produce a simple associative array. Any nested arrays will - * be flattened with print_r. - * - * @throws InvalidArgumentException If $callback is not callable - * @param string $label - * @param callable $callback Callable returning an associative array - */ - public function addDataTableCallback($label, /* callable */ $callback) - { - if (!is_callable($callback)) { - throw new InvalidArgumentException('Expecting callback argument to be callable'); - } - - $this->extraTables[$label] = function (\Whoops\Exception\Inspector $inspector = null) use ($callback) { - try { - $result = call_user_func($callback, $inspector); - - // Only return the result if it can be iterated over by foreach(). - return is_array($result) || $result instanceof \Traversable ? $result : []; - } catch (\Exception $e) { - // Don't allow failure to break the rendering of the original exception. - return []; - } - }; - } - - /** - * Returns all the extra data tables registered with this handler. - * Optionally accepts a 'label' parameter, to only return the data - * table under that label. - * @param string|null $label - * @return array[]|callable - */ - public function getDataTables($label = null) - { - if ($label !== null) { - return isset($this->extraTables[$label]) ? - $this->extraTables[$label] : []; - } - - return $this->extraTables; - } - - /** - * Allows to disable all attempts to dynamically decide whether to - * handle or return prematurely. - * Set this to ensure that the handler will perform no matter what. - * @param bool|null $value - * @return bool|null - */ - public function handleUnconditionally($value = null) - { - if (func_num_args() == 0) { - return $this->handleUnconditionally; - } - - $this->handleUnconditionally = (bool) $value; - } - - /** - * Adds an editor resolver, identified by a string - * name, and that may be a string path, or a callable - * resolver. If the callable returns a string, it will - * be set as the file reference's href attribute. - * - * @example - * $run->addEditor('macvim', "mvim://open?url=file://%file&line=%line") - * @example - * $run->addEditor('remove-it', function($file, $line) { - * unlink($file); - * return "http://stackoverflow.com"; - * }); - * @param string $identifier - * @param string|callable $resolver - */ - public function addEditor($identifier, $resolver) - { - $this->editors[$identifier] = $resolver; - } - - /** - * Set the editor to use to open referenced files, by a string - * identifier, or a callable that will be executed for every - * file reference, with a $file and $line argument, and should - * return a string. - * - * @example - * $run->setEditor(function($file, $line) { return "file:///{$file}"; }); - * @example - * $run->setEditor('sublime'); - * - * @throws InvalidArgumentException If invalid argument identifier provided - * @param string|callable $editor - */ - public function setEditor($editor) - { - if (!is_callable($editor) && !isset($this->editors[$editor])) { - throw new InvalidArgumentException( - "Unknown editor identifier: $editor. Known editors:" . - implode(",", array_keys($this->editors)) - ); - } - - $this->editor = $editor; - } - - /** - * Given a string file path, and an integer file line, - * executes the editor resolver and returns, if available, - * a string that may be used as the href property for that - * file reference. - * - * @throws InvalidArgumentException If editor resolver does not return a string - * @param string $filePath - * @param int $line - * @return string|bool - */ - public function getEditorHref($filePath, $line) - { - $editor = $this->getEditor($filePath, $line); - - if (empty($editor)) { - return false; - } - - // Check that the editor is a string, and replace the - // %line and %file placeholders: - if (!isset($editor['url']) || !is_string($editor['url'])) { - throw new UnexpectedValueException( - __METHOD__ . " should always resolve to a string or a valid editor array; got something else instead." - ); - } - - $editor['url'] = str_replace("%line", rawurlencode($line), $editor['url']); - $editor['url'] = str_replace("%file", rawurlencode($filePath), $editor['url']); - - return $editor['url']; - } - - /** - * Given a boolean if the editor link should - * act as an Ajax request. The editor must be a - * valid callable function/closure - * - * @throws UnexpectedValueException If editor resolver does not return a boolean - * @param string $filePath - * @param int $line - * @return bool - */ - public function getEditorAjax($filePath, $line) - { - $editor = $this->getEditor($filePath, $line); - - // Check that the ajax is a bool - if (!isset($editor['ajax']) || !is_bool($editor['ajax'])) { - throw new UnexpectedValueException( - __METHOD__ . " should always resolve to a bool; got something else instead." - ); - } - return $editor['ajax']; - } - - /** - * Given a boolean if the editor link should - * act as an Ajax request. The editor must be a - * valid callable function/closure - * - * @param string $filePath - * @param int $line - * @return array - */ - protected function getEditor($filePath, $line) - { - if (!$this->editor || (!is_string($this->editor) && !is_callable($this->editor))) { - return []; - } - - if (is_string($this->editor) && isset($this->editors[$this->editor]) && !is_callable($this->editors[$this->editor])) { - return [ - 'ajax' => false, - 'url' => $this->editors[$this->editor], - ]; - } - - if (is_callable($this->editor) || (isset($this->editors[$this->editor]) && is_callable($this->editors[$this->editor]))) { - if (is_callable($this->editor)) { - $callback = call_user_func($this->editor, $filePath, $line); - } else { - $callback = call_user_func($this->editors[$this->editor], $filePath, $line); - } - - if (empty($callback)) { - return []; - } - - if (is_string($callback)) { - return [ - 'ajax' => false, - 'url' => $callback, - ]; - } - - return [ - 'ajax' => isset($callback['ajax']) ? $callback['ajax'] : false, - 'url' => isset($callback['url']) ? $callback['url'] : $callback, - ]; - } - - return []; - } - - /** - * @param string $title - * @return void - */ - public function setPageTitle($title) - { - $this->pageTitle = (string) $title; - } - - /** - * @return string - */ - public function getPageTitle() - { - return $this->pageTitle; - } - - /** - * Adds a path to the list of paths to be searched for - * resources. - * - * @throws InvalidArgumentException If $path is not a valid directory - * - * @param string $path - * @return void - */ - public function addResourcePath($path) - { - if (!is_dir($path)) { - throw new InvalidArgumentException( - "'$path' is not a valid directory" - ); - } - - array_unshift($this->searchPaths, $path); - } - - /** - * Adds a custom css file to be loaded. - * - * @param string $name - * @return void - */ - public function addCustomCss($name) - { - $this->customCss = $name; - } - - /** - * @return array - */ - public function getResourcePaths() - { - return $this->searchPaths; - } - - /** - * Finds a resource, by its relative path, in all available search paths. - * The search is performed starting at the last search path, and all the - * way back to the first, enabling a cascading-type system of overrides - * for all resources. - * - * @throws RuntimeException If resource cannot be found in any of the available paths - * - * @param string $resource - * @return string - */ - protected function getResource($resource) - { - // If the resource was found before, we can speed things up - // by caching its absolute, resolved path: - if (isset($this->resourceCache[$resource])) { - return $this->resourceCache[$resource]; - } - - // Search through available search paths, until we find the - // resource we're after: - foreach ($this->searchPaths as $path) { - $fullPath = $path . "/$resource"; - - if (is_file($fullPath)) { - // Cache the result: - $this->resourceCache[$resource] = $fullPath; - return $fullPath; - } - } - - // If we got this far, nothing was found. - throw new RuntimeException( - "Could not find resource '$resource' in any resource paths." - . "(searched: " . join(", ", $this->searchPaths). ")" - ); - } - - /** - * @deprecated - * - * @return string - */ - public function getResourcesPath() - { - $allPaths = $this->getResourcePaths(); - - // Compat: return only the first path added - return end($allPaths) ?: null; - } - - /** - * @deprecated - * - * @param string $resourcesPath - * @return void - */ - public function setResourcesPath($resourcesPath) - { - $this->addResourcePath($resourcesPath); - } - - /** - * Return the application paths. - * - * @return array - */ - public function getApplicationPaths() - { - return $this->applicationPaths; - } - - /** - * Set the application paths. - * - * @param array $applicationPaths - */ - public function setApplicationPaths($applicationPaths) - { - $this->applicationPaths = $applicationPaths; - } - - /** - * Set the application root path. - * - * @param string $applicationRootPath - */ - public function setApplicationRootPath($applicationRootPath) - { - $this->templateHelper->setApplicationRootPath($applicationRootPath); - } - - /** - * blacklist a sensitive value within one of the superglobal arrays. - * - * @param $superGlobalName string the name of the superglobal array, e.g. '_GET' - * @param $key string the key within the superglobal - */ - public function blacklist($superGlobalName, $key) - { - $this->blacklist[$superGlobalName][] = $key; - } - - /** - * Checks all values within the given superGlobal array. - * Blacklisted values will be replaced by a equal length string cointaining only '*' characters. - * - * We intentionally dont rely on $GLOBALS as it depends on 'auto_globals_jit' php.ini setting. - * - * @param $superGlobal array One of the superglobal arrays - * @param $superGlobalName string the name of the superglobal array, e.g. '_GET' - * @return array $values without sensitive data - */ - private function masked(array $superGlobal, $superGlobalName) - { - $blacklisted = $this->blacklist[$superGlobalName]; - - $values = $superGlobal; - foreach ($blacklisted as $key) { - if (isset($superGlobal[$key]) && is_string($superGlobal[$key])) { - $values[$key] = str_repeat('*', strlen($superGlobal[$key])); - } - } - return $values; - } -} diff --git a/paragonik-backend/vendor/filp/whoops/src/Whoops/Handler/XmlResponseHandler.php b/paragonik-backend/vendor/filp/whoops/src/Whoops/Handler/XmlResponseHandler.php deleted file mode 100644 index decbbfa..0000000 --- a/paragonik-backend/vendor/filp/whoops/src/Whoops/Handler/XmlResponseHandler.php +++ /dev/null @@ -1,107 +0,0 @@ - - */ - -namespace Whoops\Handler; - -use SimpleXMLElement; -use Whoops\Exception\Formatter; - -/** - * Catches an exception and converts it to an XML - * response. Additionally can also return exception - * frames for consumption by an API. - */ -class XmlResponseHandler extends Handler -{ - /** - * @var bool - */ - private $returnFrames = false; - - /** - * @param bool|null $returnFrames - * @return bool|$this - */ - public function addTraceToOutput($returnFrames = null) - { - if (func_num_args() == 0) { - return $this->returnFrames; - } - - $this->returnFrames = (bool) $returnFrames; - return $this; - } - - /** - * @return int - */ - public function handle() - { - $response = [ - 'error' => Formatter::formatExceptionAsDataArray( - $this->getInspector(), - $this->addTraceToOutput() - ), - ]; - - echo self::toXml($response); - - return Handler::QUIT; - } - - /** - * @return string - */ - public function contentType() - { - return 'application/xml'; - } - - /** - * @param SimpleXMLElement $node Node to append data to, will be modified in place - * @param array|\Traversable $data - * @return SimpleXMLElement The modified node, for chaining - */ - private static function addDataToNode(\SimpleXMLElement $node, $data) - { - assert(is_array($data) || $data instanceof Traversable); - - foreach ($data as $key => $value) { - if (is_numeric($key)) { - // Convert the key to a valid string - $key = "unknownNode_". (string) $key; - } - - // Delete any char not allowed in XML element names - $key = preg_replace('/[^a-z0-9\-\_\.\:]/i', '', $key); - - if (is_array($value)) { - $child = $node->addChild($key); - self::addDataToNode($child, $value); - } else { - $value = str_replace('&', '&', print_r($value, true)); - $node->addChild($key, $value); - } - } - - return $node; - } - - /** - * The main function for converting to an XML document. - * - * @param array|\Traversable $data - * @return string XML - */ - private static function toXml($data) - { - assert(is_array($data) || $data instanceof Traversable); - - $node = simplexml_load_string(""); - - return self::addDataToNode($node, $data)->asXML(); - } -} diff --git a/paragonik-backend/vendor/filp/whoops/src/Whoops/Resources/css/whoops.base.css b/paragonik-backend/vendor/filp/whoops/src/Whoops/Resources/css/whoops.base.css deleted file mode 100644 index d67499e..0000000 --- a/paragonik-backend/vendor/filp/whoops/src/Whoops/Resources/css/whoops.base.css +++ /dev/null @@ -1,604 +0,0 @@ -body { - font: 12px "Helvetica Neue", helvetica, arial, sans-serif; - color: #131313; - background: #eeeeee; - padding:0; - margin: 0; - max-height: 100%; - - text-rendering: optimizeLegibility; -} - a { - text-decoration: none; - } - -.Whoops.container { - position: relative; - z-index: 9999999999; -} - -.panel { - overflow-y: scroll; - height: 100%; - position: fixed; - margin: 0; - left: 0; - top: 0; -} - -.branding { - position: absolute; - top: 10px; - right: 20px; - color: #777777; - font-size: 10px; - z-index: 100; -} - .branding a { - color: #e95353; - } - -header { - color: white; - box-sizing: border-box; - background-color: #2a2a2a; - padding: 35px 40px; - max-height: 180px; - overflow: hidden; - transition: 0.5s; -} - - header.header-expand { - max-height: 1000px; - } - - .exc-title { - margin: 0; - color: #bebebe; - font-size: 14px; - } - .exc-title-primary, .exc-title-secondary { - color: #e95353; - } - - .exc-message { - font-size: 20px; - word-wrap: break-word; - margin: 4px 0 0 0; - color: white; - } - .exc-message span { - display: block; - } - .exc-message-empty-notice { - color: #a29d9d; - font-weight: 300; - } - -.prev-exc-title { - margin: 10px 0; -} - -.prev-exc-title + ul { - margin: 0; - padding: 0 0 0 20px; - line-height: 12px; -} - -.prev-exc-title + ul li { - font: 12px "Helvetica Neue", helvetica, arial, sans-serif; -} - -.prev-exc-title + ul li .prev-exc-code { - display: inline-block; - color: #bebebe; -} - -.details-container { - left: 30%; - width: 70%; - background: #fafafa; -} - .details { - padding: 5px; - } - - .details-heading { - color: #4288CE; - font-weight: 300; - padding-bottom: 10px; - margin-bottom: 10px; - border-bottom: 1px solid rgba(0, 0, 0, .1); - } - - .details pre.sf-dump { - white-space: pre; - word-wrap: inherit; - } - - .details pre.sf-dump, - .details pre.sf-dump .sf-dump-num, - .details pre.sf-dump .sf-dump-const, - .details pre.sf-dump .sf-dump-str, - .details pre.sf-dump .sf-dump-note, - .details pre.sf-dump .sf-dump-ref, - .details pre.sf-dump .sf-dump-public, - .details pre.sf-dump .sf-dump-protected, - .details pre.sf-dump .sf-dump-private, - .details pre.sf-dump .sf-dump-meta, - .details pre.sf-dump .sf-dump-key, - .details pre.sf-dump .sf-dump-index { - color: #463C54; - } - -.left-panel { - width: 30%; - background: #ded8d8; -} - - .frames-description { - background: rgba(0, 0, 0, .05); - padding: 8px 15px; - color: #a29d9d; - font-size: 11px; - } - - .frames-description.frames-description-application { - text-align: center; - font-size: 12px; - } - .frames-container.frames-container-application .frame:not(.frame-application) { - display: none; - } - - .frames-tab { - color: #a29d9d; - display: inline-block; - padding: 4px 8px; - margin: 0 2px; - border-radius: 3px; - } - - .frames-tab.frames-tab-active { - background-color: #2a2a2a; - color: #bebebe; - } - - .frame { - padding: 14px; - cursor: pointer; - transition: all 0.1s ease; - background: #eeeeee; - } - .frame:not(:last-child) { - border-bottom: 1px solid rgba(0, 0, 0, .05); - } - - .frame.active { - box-shadow: inset -5px 0 0 0 #4288CE; - color: #4288CE; - } - - .frame:not(.active):hover { - background: #BEE9EA; - } - - .frame-method-info { - margin-bottom: 10px; - } - - .frame-class, .frame-function, .frame-index { - font-size: 14px; - } - - .frame-index { - float: left; - } - - .frame-method-info { - margin-left: 24px; - } - - .frame-index { - font-size: 11px; - color: #a29d9d; - background-color: rgba(0, 0, 0, .05); - height: 18px; - width: 18px; - line-height: 18px; - border-radius: 5px; - padding: 0 1px 0 1px; - text-align: center; - display: inline-block; - } - - .frame-application .frame-index { - background-color: #2a2a2a; - color: #bebebe; - } - - .frame-file { - font-family: "Inconsolata", "Fira Mono", "Source Code Pro", Monaco, Consolas, "Lucida Console", monospace; - color: #a29d9d; - } - - .frame-file .editor-link { - color: #a29d9d; - } - - .frame-line { - font-weight: bold; - } - - .frame-line:before { - content: ":"; - } - - .frame-code { - padding: 5px; - background: #303030; - display: none; - } - - .frame-code.active { - display: block; - } - - .frame-code .frame-file { - color: #a29d9d; - padding: 12px 6px; - - border-bottom: none; - } - - .code-block { - padding: 10px; - margin: 0; - border-radius: 6px; - box-shadow: 0 3px 0 rgba(0, 0, 0, .05), - 0 10px 30px rgba(0, 0, 0, .05), - inset 0 0 1px 0 rgba(255, 255, 255, .07); - -moz-tab-size: 4; - -o-tab-size: 4; - tab-size: 4; - } - - .linenums { - margin: 0; - margin-left: 10px; - } - - .frame-comments { - border-top: none; - margin-top: 15px; - - font-size: 12px; - } - - .frame-comments.empty { - } - - .frame-comments.empty:before { - content: "No comments for this stack frame."; - font-weight: 300; - color: #a29d9d; - } - - .frame-comment { - padding: 10px; - color: #e3e3e3; - border-radius: 6px; - background-color: rgba(255, 255, 255, .05); - } - .frame-comment a { - font-weight: bold; - text-decoration: none; - } - .frame-comment a:hover { - color: #4bb1b1; - } - - .frame-comment:not(:last-child) { - border-bottom: 1px dotted rgba(0, 0, 0, .3); - } - - .frame-comment-context { - font-size: 10px; - color: white; - } - -.delimiter { - display: inline-block; -} - -.data-table-container label { - font-size: 16px; - color: #303030; - font-weight: bold; - margin: 10px 0; - - display: block; - - margin-bottom: 5px; - padding-bottom: 5px; -} - .data-table { - width: 100%; - margin-bottom: 10px; - } - - .data-table tbody { - font: 13px "Inconsolata", "Fira Mono", "Source Code Pro", Monaco, Consolas, "Lucida Console", monospace; - } - - .data-table thead { - display: none; - } - - .data-table tr { - padding: 5px 0; - } - - .data-table td:first-child { - width: 20%; - min-width: 130px; - overflow: hidden; - font-weight: bold; - color: #463C54; - padding-right: 5px; - - } - - .data-table td:last-child { - width: 80%; - -ms-word-break: break-all; - word-break: break-all; - word-break: break-word; - -webkit-hyphens: auto; - -moz-hyphens: auto; - hyphens: auto; - } - - .data-table span.empty { - color: rgba(0, 0, 0, .3); - font-weight: 300; - } - .data-table label.empty { - display: inline; - } - -.handler { - padding: 4px 0; - font: 14px "Inconsolata", "Fira Mono", "Source Code Pro", Monaco, Consolas, "Lucida Console", monospace; -} - -/* prettify code style -Uses the Doxy theme as a base */ -pre .str, code .str { color: #BCD42A; } /* string */ -pre .kwd, code .kwd { color: #4bb1b1; font-weight: bold; } /* keyword*/ -pre .com, code .com { color: #888; font-weight: bold; } /* comment */ -pre .typ, code .typ { color: #ef7c61; } /* type */ -pre .lit, code .lit { color: #BCD42A; } /* literal */ -pre .pun, code .pun { color: #fff; font-weight: bold; } /* punctuation */ -pre .pln, code .pln { color: #e9e4e5; } /* plaintext */ -pre .tag, code .tag { color: #4bb1b1; } /* html/xml tag */ -pre .htm, code .htm { color: #dda0dd; } /* html tag */ -pre .xsl, code .xsl { color: #d0a0d0; } /* xslt tag */ -pre .atn, code .atn { color: #ef7c61; font-weight: normal;} /* html/xml attribute name */ -pre .atv, code .atv { color: #bcd42a; } /* html/xml attribute value */ -pre .dec, code .dec { color: #606; } /* decimal */ -pre.code-block, code.code-block, .frame-args.code-block, .frame-args.code-block samp { - font-family: "Inconsolata", "Fira Mono", "Source Code Pro", Monaco, Consolas, "Lucida Console", monospace; - background: #333; - color: #e9e4e5; -} - pre.code-block { - white-space: pre-wrap; - } - - pre.code-block a, code.code-block a { - text-decoration:none; - } - - .linenums li { - color: #A5A5A5; - } - - .linenums li.current{ - background: rgba(255, 100, 100, .07); - } - .linenums li.current.active { - background: rgba(255, 100, 100, .17); - } - -pre:not(.prettyprinted) { - padding-left: 60px; -} - -#plain-exception { - display: none; -} - -.rightButton { - cursor: pointer; - border: 0; - opacity: .8; - background: none; - - color: rgba(255, 255, 255, 0.1); - box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.1); - - border-radius: 3px; - - outline: none !important; -} - - .rightButton:hover { - box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.3); - color: rgba(255, 255, 255, 0.3); - } - -/* inspired by githubs kbd styles */ -kbd { - -moz-border-bottom-colors: none; - -moz-border-left-colors: none; - -moz-border-right-colors: none; - -moz-border-top-colors: none; - background-color: #fcfcfc; - border-color: #ccc #ccc #bbb; - border-image: none; - border-style: solid; - border-width: 1px; - color: #555; - display: inline-block; - font-size: 11px; - line-height: 10px; - padding: 3px 5px; - vertical-align: middle; -} - - -/* == Media queries */ - -/* Expand the spacing in the details section */ -@media (min-width: 1000px) { - .details, .frame-code { - padding: 20px 40px; - } - - .details-container { - left: 32%; - width: 68%; - } - - .frames-container { - margin: 5px; - } - - .left-panel { - width: 32%; - } -} - -/* Stack panels */ -@media (max-width: 600px) { - .panel { - position: static; - width: 100%; - } -} - -/* Stack details tables */ -@media (max-width: 400px) { - .data-table, - .data-table tbody, - .data-table tbody tr, - .data-table tbody td { - display: block; - width: 100%; - } - - .data-table tbody tr:first-child { - padding-top: 0; - } - - .data-table tbody td:first-child, - .data-table tbody td:last-child { - padding-left: 0; - padding-right: 0; - } - - .data-table tbody td:last-child { - padding-top: 3px; - } -} - -.tooltipped { - position: relative -} -.tooltipped:after { - position: absolute; - z-index: 1000000; - display: none; - padding: 5px 8px; - color: #fff; - text-align: center; - text-decoration: none; - text-shadow: none; - text-transform: none; - letter-spacing: normal; - word-wrap: break-word; - white-space: pre; - pointer-events: none; - content: attr(aria-label); - background: rgba(0, 0, 0, 0.8); - border-radius: 3px; - -webkit-font-smoothing: subpixel-antialiased -} -.tooltipped:before { - position: absolute; - z-index: 1000001; - display: none; - width: 0; - height: 0; - color: rgba(0, 0, 0, 0.8); - pointer-events: none; - content: ""; - border: 5px solid transparent -} -.tooltipped:hover:before, -.tooltipped:hover:after, -.tooltipped:active:before, -.tooltipped:active:after, -.tooltipped:focus:before, -.tooltipped:focus:after { - display: inline-block; - text-decoration: none -} -.tooltipped-s:after { - top: 100%; - right: 50%; - margin-top: 5px -} -.tooltipped-s:before { - top: auto; - right: 50%; - bottom: -5px; - margin-right: -5px; - border-bottom-color: rgba(0, 0, 0, 0.8) -} - -pre.sf-dump { - padding: 0px !important; - margin: 0px !important; -} - -.search-for-help { - width: 85%; - padding: 0; - margin: 10px 0; - list-style-type: none; - display: inline-block; -} - .search-for-help li { - display: inline-block; - margin-right: 5px; - } - .search-for-help li:last-child { - margin-right: 0; - } - .search-for-help li a { - - } - .search-for-help li a i { - width: 16px; - height: 16px; - overflow: hidden; - display: block; - } - .search-for-help li a svg { - fill: #fff; - } - .search-for-help li a svg path { - background-size: contain; - } diff --git a/paragonik-backend/vendor/filp/whoops/src/Whoops/Resources/js/clipboard.min.js b/paragonik-backend/vendor/filp/whoops/src/Whoops/Resources/js/clipboard.min.js deleted file mode 100644 index 36a75a4..0000000 --- a/paragonik-backend/vendor/filp/whoops/src/Whoops/Resources/js/clipboard.min.js +++ /dev/null @@ -1,7 +0,0 @@ -/*! - * clipboard.js v1.5.3 - * https://zenorocha.github.io/clipboard.js - * - * Licensed MIT © Zeno Rocha - */ -!function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var e;e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,e.Clipboard=t()}}(function(){var t,e,n;return function t(e,n,r){function o(a,c){if(!n[a]){if(!e[a]){var s="function"==typeof require&&require;if(!c&&s)return s(a,!0);if(i)return i(a,!0);var u=new Error("Cannot find module '"+a+"'");throw u.code="MODULE_NOT_FOUND",u}var l=n[a]={exports:{}};e[a][0].call(l.exports,function(t){var n=e[a][1][t];return o(n?n:t)},l,l.exports,t,e,n,r)}return n[a].exports}for(var i="function"==typeof require&&require,a=0;ar;r++)n[r].fn.apply(n[r].ctx,e);return this},off:function(t,e){var n=this.e||(this.e={}),r=n[t],o=[];if(r&&e)for(var i=0,a=r.length;a>i;i++)r[i].fn!==e&&r[i].fn._!==e&&o.push(r[i]);return o.length?n[t]=o:delete n[t],this}},e.exports=r},{}],8:[function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}n.__esModule=!0;var i=function(){function t(t,e){for(var n=0;n122||(e<65||h>90||d.push([Math.max(65,h)|32,Math.min(e,90)|32]),e<97||h>122||d.push([Math.max(97,h)&-33,Math.min(e,122)&-33]))}}d.sort(function(d,a){return d[0]-a[0]||a[1]-d[1]});a=[];c=[];for(f=0;fh[0]&&(h[1]+1>h[0]&&b.push("-"),b.push(g(h[1])));b.push("]");return b.join("")}function t(d){for(var a=d.source.match(/\[(?:[^\\\]]|\\[\S\s])*]|\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\\d+|\\[^\dux]|\(\?[!:=]|[()^]|[^()[\\^]+/g),b=a.length,i=[],c=0,h=0;c=2&&d==="["?a[c]=j(e):d!=="\\"&&(a[c]=e.replace(/[A-Za-z]/g,function(d){d=d.charCodeAt(0);return"["+String.fromCharCode(d&-33,d|32)+"]"}));return a.join("")}for(var z=0,w=!1,k=!1,m=0,b=a.length;m=5&&"lang-"===f.substring(0, -5))&&!(u&&typeof u[1]==="string"))c=!1,f="src";c||(s[v]=f)}h=b;b+=v.length;if(c){c=u[1];var e=v.indexOf(c),p=e+c.length;u[2]&&(p=v.length-u[2].length,e=p-c.length);f=f.substring(5);E(k+h,v.substring(0,e),g,m);E(k+h+e,c,F(f,c),m);E(k+h+p,v.substring(p),g,m)}else m.push(k+h,f)}a.g=m}var j={},t;(function(){for(var g=a.concat(i),k=[],m={},b=0,o=g.length;b=0;)j[q.charAt(d)]=s;s=s[1];q=""+s;m.hasOwnProperty(q)||(k.push(s),m[q]=r)}k.push(/[\S\s]/);t= -O(k)})();var z=i.length;return g}function l(a){var i=[],g=[];a.tripleQuotedStrings?i.push(["str",/^(?:'''(?:[^'\\]|\\[\S\s]|''?(?=[^']))*(?:'''|$)|"""(?:[^"\\]|\\[\S\s]|""?(?=[^"]))*(?:"""|$)|'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$))/,r,"'\""]):a.multiLineStrings?i.push(["str",/^(?:'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$)|`(?:[^\\`]|\\[\S\s])*(?:`|$))/,r,"'\"`"]):i.push(["str",/^(?:'(?:[^\n\r'\\]|\\.)*(?:'|$)|"(?:[^\n\r"\\]|\\.)*(?:"|$))/,r,"\"'"]);a.verbatimStrings&& -g.push(["str",/^@"(?:[^"]|"")*(?:"|$)/,r]);var j=a.hashComments;j&&(a.cStyleComments?(j>1?i.push(["com",/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,r,"#"]):i.push(["com",/^#(?:(?:define|e(?:l|nd)if|else|error|ifn?def|include|line|pragma|undef|warning)\b|[^\n\r]*)/,r,"#"]),g.push(["str",/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h(?:h|pp|\+\+)?|[a-z]\w*)>/,r])):i.push(["com",/^#[^\n\r]*/,r,"#"]));a.cStyleComments&&(g.push(["com",/^\/\/[^\n\r]*/,r]),g.push(["com",/^\/\*[\S\s]*?(?:\*\/|$)/, -r]));a.regexLiterals&&g.push(["lang-regex",/^(?:^^\.?|[+-]|[!=]={0,2}|#|%=?|&&?=?|\(|\*=?|[+-]=|->|\/=?|::?|<{1,3}=?|[,;?@[{~]|\^\^?=?|\|\|?=?|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\s*(\/(?=[^*/])(?:[^/[\\]|\\[\S\s]|\[(?:[^\\\]]|\\[\S\s])*(?:]|$))+\/)/]);(j=a.types)&&g.push(["typ",j]);a=(""+a.keywords).replace(/^ | $/g,"");a.length&&g.push(["kwd",RegExp("^(?:"+a.replace(/[\s,]+/g,"|")+")\\b"),r]);i.push(["pln",/^\s+/,r," \r\n\t\u00a0"]);g.push(["lit", -/^@[$_a-z][\w$@]*/i,r],["typ",/^(?:[@_]?[A-Z]+[a-z][\w$@]*|\w+_t\b)/,r],["pln",/^[$_a-z][\w$@]*/i,r],["lit",/^(?:0x[\da-f]+|(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d\+)(?:e[+-]?\d+)?)[a-z]*/i,r,"0123456789"],["pln",/^\\[\S\s]?/,r],["pun",/^.[^\s\w"$'./@\\`]*/,r]);return x(i,g)}function G(a,i,g){function j(a){switch(a.nodeType){case 1:if(z.test(a.className))break;if("br"===a.nodeName)t(a),a.parentNode&&a.parentNode.removeChild(a);else for(a=a.firstChild;a;a=a.nextSibling)j(a);break;case 3:case 4:if(g){var b= -a.nodeValue,f=b.match(n);if(f){var i=b.substring(0,f.index);a.nodeValue=i;(b=b.substring(f.index+f[0].length))&&a.parentNode.insertBefore(k.createTextNode(b),a.nextSibling);t(a);i||a.parentNode.removeChild(a)}}}}function t(a){function i(a,b){var d=b?a.cloneNode(!1):a,e=a.parentNode;if(e){var e=i(e,1),f=a.nextSibling;e.appendChild(d);for(var g=f;g;g=f)f=g.nextSibling,e.appendChild(g)}return d}for(;!a.nextSibling;)if(a=a.parentNode,!a)return;for(var a=i(a.nextSibling,0),f;(f=a.parentNode)&&f.nodeType=== -1;)a=f;b.push(a)}for(var z=/(?:^|\s)nocode(?:\s|$)/,n=/\r\n?|\n/,k=a.ownerDocument,m=k.createElement("li");a.firstChild;)m.appendChild(a.firstChild);for(var b=[m],o=0;o=0;){var j= -i[g];A.hasOwnProperty(j)?C.console&&console.warn("cannot override language handler %s",j):A[j]=a}}function F(a,i){if(!a||!A.hasOwnProperty(a))a=/^\s*=e&&(j+=2);g>=p&&(s+=2)}}finally{if(c)c.style.display=h}}catch(A){C.console&&console.log(A&&A.stack?A.stack:A)}}var C=window,y=["break,continue,do,else,for,if,return,while"],B=[[y,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"],"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"],I=[B,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"], -J=[B,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"],K=[J,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,let,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var,virtual,where"],B=[B,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"], -L=[y,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"],M=[y,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"],y=[y,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"],N=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)\b/, -Q=/\S/,R=l({keywords:[I,K,B,"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END"+L,M,y],hashComments:!0,cStyleComments:!0,multiLineStrings:!0,regexLiterals:!0}),A={};n(R,["default-code"]);n(x([],[["pln",/^[^]*(?:>|$)/],["com",/^<\!--[\S\s]*?(?:--\>|$)/],["lang-",/^<\?([\S\s]+?)(?:\?>|$)/],["lang-",/^<%([\S\s]+?)(?:%>|$)/],["pun",/^(?:<[%?]|[%?]>)/],["lang-", -/^]*>([\S\s]+?)<\/xmp\b[^>]*>/i],["lang-js",/^]*>([\S\s]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\S\s]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),["default-markup","htm","html","mxml","xhtml","xml","xsl"]);n(x([["pln",/^\s+/,r," \t\r\n"],["atv",/^(?:"[^"]*"?|'[^']*'?)/,r,"\"'"]],[["tag",/^^<\/?[a-z](?:[\w-.:]*\w)?|\/?>$/i],["atn",/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^\s"'>]*(?:[^\s"'/>]|\/(?=\s)))/],["pun",/^[/<->]+/], -["lang-js",/^on\w+\s*=\s*"([^"]+)"/i],["lang-js",/^on\w+\s*=\s*'([^']+)'/i],["lang-js",/^on\w+\s*=\s*([^\s"'>]+)/i],["lang-css",/^style\s*=\s*"([^"]+)"/i],["lang-css",/^style\s*=\s*'([^']+)'/i],["lang-css",/^style\s*=\s*([^\s"'>]+)/i]]),["in.tag"]);n(x([],[["atv",/^[\S\s]+/]]),["uq.val"]);n(l({keywords:I,hashComments:!0,cStyleComments:!0,types:N}),["c","cc","cpp","cxx","cyc","m"]);n(l({keywords:"null,true,false"}),["json"]);n(l({keywords:K,hashComments:!0,cStyleComments:!0,verbatimStrings:!0,types:N}), -["cs"]);n(l({keywords:J,cStyleComments:!0}),["java"]);n(l({keywords:y,hashComments:!0,multiLineStrings:!0}),["bsh","csh","sh"]);n(l({keywords:L,hashComments:!0,multiLineStrings:!0,tripleQuotedStrings:!0}),["cv","py"]);n(l({keywords:"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END",hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["perl","pl","pm"]);n(l({keywords:M,hashComments:!0, -multiLineStrings:!0,regexLiterals:!0}),["rb"]);n(l({keywords:B,cStyleComments:!0,regexLiterals:!0}),["js"]);n(l({keywords:"all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,throw,true,try,unless,until,when,while,yes",hashComments:3,cStyleComments:!0,multilineStrings:!0,tripleQuotedStrings:!0,regexLiterals:!0}),["coffee"]);n(x([],[["str",/^[\S\s]+/]]),["regex"]);var S=C.PR={createSimpleLexer:x,registerLangHandler:n,sourceDecorator:l, -PR_ATTRIB_NAME:"atn",PR_ATTRIB_VALUE:"atv",PR_COMMENT:"com",PR_DECLARATION:"dec",PR_KEYWORD:"kwd",PR_LITERAL:"lit",PR_NOCODE:"nocode",PR_PLAIN:"pln",PR_PUNCTUATION:"pun",PR_SOURCE:"src",PR_STRING:"str",PR_TAG:"tag",PR_TYPE:"typ",prettyPrintOne:C.prettyPrintOne=function(a,i,g){var j=document.createElement("pre");j.innerHTML=a;g&&G(j,g,!0);H({h:i,j:g,c:j,i:1});return j.innerHTML},prettyPrint:C.prettyPrint=function(a){function i(){var u;for(var g=C.PR_SHOULD_USE_CONTINUATION?k.now()+250:Infinity;m= 145) { - $header.addClass('header-expand'); - } - }); - $header.on('mouseleave', function () { - $header.removeClass('header-expand'); - }); - - /* - * add prettyprint classes to our current active codeblock - * run prettyPrint() to highlight the active code - * scroll to the line when prettyprint is done - * highlight the current line - */ - var renderCurrentCodeblock = function(id) { - - // remove previous codeblocks so we only render the active one - $('.code-block').removeClass('prettyprint'); - - // pass the id in when we can for speed - if (typeof(id) === 'undefined' || typeof(id) === 'object') { - var id = /frame\-line\-([\d]*)/.exec($activeLine.attr('id'))[1]; - } - - $('#frame-code-linenums-' + id).addClass('prettyprint'); - $('#frame-code-args-' + id).addClass('prettyprint'); - - prettyPrint(highlightCurrentLine); - - } - - /* - * Highlight the active and neighboring lines for the current frame - * Adjust the offset to make sure that line is veritcally centered - */ - - var highlightCurrentLine = function() { - var activeLineNumber = +($activeLine.find('.frame-line').text()); - var $lines = $activeFrame.find('.linenums li'); - var firstLine = +($lines.first().val()); - - // We show more code than needed, purely for proper syntax highlighting - // Let’s hide a big chunk of that code and then scroll the remaining block - $activeFrame.find('.code-block').first().css({ - maxHeight: 345, - overflow: 'hidden', - }); - - var $offset = $($lines[activeLineNumber - firstLine - 10]); - if ($offset.length > 0) { - $offset[0].scrollIntoView(); - } - - $($lines[activeLineNumber - firstLine - 1]).addClass('current'); - $($lines[activeLineNumber - firstLine]).addClass('current active'); - $($lines[activeLineNumber - firstLine + 1]).addClass('current'); - - $container.scrollTop(0); - - } - - /* - * click handler for loading codeblocks - */ - - $frameContainer.on('click', '.frame', function() { - - var $this = $(this); - var id = /frame\-line\-([\d]*)/.exec($this.attr('id'))[1]; - var $codeFrame = $('#frame-code-' + id); - - if ($codeFrame) { - - $activeLine.removeClass('active'); - $activeFrame.removeClass('active'); - - $this.addClass('active'); - $codeFrame.addClass('active'); - - $activeLine = $this; - $activeFrame = $codeFrame; - - renderCurrentCodeblock(id); - - } - - }); - - var clipboard = new Clipboard('.clipboard'); - var showTooltip = function(elem, msg) { - elem.setAttribute('class', 'clipboard tooltipped tooltipped-s'); - elem.setAttribute('aria-label', msg); - }; - - clipboard.on('success', function(e) { - e.clearSelection(); - - showTooltip(e.trigger, 'Copied!'); - }); - - clipboard.on('error', function(e) { - showTooltip(e.trigger, fallbackMessage(e.action)); - }); - - var btn = document.querySelector('.clipboard'); - - btn.addEventListener('mouseleave', function(e) { - e.currentTarget.setAttribute('class', 'clipboard'); - e.currentTarget.removeAttribute('aria-label'); - }); - - function fallbackMessage(action) { - var actionMsg = ''; - var actionKey = (action === 'cut' ? 'X' : 'C'); - - if (/Mac/i.test(navigator.userAgent)) { - actionMsg = 'Press ⌘-' + actionKey + ' to ' + action; - } else { - actionMsg = 'Press Ctrl-' + actionKey + ' to ' + action; - } - - return actionMsg; - } - - function scrollIntoView($node, $parent) { - var nodeOffset = $node.offset(); - var nodeTop = nodeOffset.top; - var nodeBottom = nodeTop + nodeOffset.height; - var parentScrollTop = $parent.scrollTop(); - var parentHeight = $parent.height(); - - if (nodeTop < 0) { - $parent.scrollTop(parentScrollTop + nodeTop); - } else if (nodeBottom > parentHeight) { - $parent.scrollTop(parentScrollTop + nodeBottom - parentHeight); - } - } - - $(document).on('keydown', function(e) { - var applicationFrames = $frameContainer.hasClass('frames-container-application'), - frameClass = applicationFrames ? '.frame.frame-application' : '.frame'; - - if(e.ctrlKey || e.which === 74 || e.which === 75) { - // CTRL+Arrow-UP/k and Arrow-Down/j support: - // 1) select the next/prev element - // 2) make sure the newly selected element is within the view-scope - // 3) focus the (right) container, so arrow-up/down (without ctrl) scroll the details - if (e.which === 38 /* arrow up */ || e.which === 75 /* k */) { - $activeLine.prev(frameClass).click(); - scrollIntoView($activeLine, $leftPanel); - $container.focus(); - e.preventDefault(); - } else if (e.which === 40 /* arrow down */ || e.which === 74 /* j */) { - $activeLine.next(frameClass).click(); - scrollIntoView($activeLine, $leftPanel); - $container.focus(); - e.preventDefault(); - } - } else if (e.which == 78 /* n */) { - if ($appFramesTab.length) { - setActiveFramesTab($('.frames-tab:not(.frames-tab-active)')); - } - } - }); - - // Render late enough for highlightCurrentLine to be ready - renderCurrentCodeblock(); - - // Avoid to quit the page with some protocol (e.g. IntelliJ Platform REST API) - $ajaxEditors.on('click', function(e){ - e.preventDefault(); - $.get(this.href); - }); - - // Symfony VarDumper: Close the by default expanded objects - $('.sf-dump-expanded') - .removeClass('sf-dump-expanded') - .addClass('sf-dump-compact'); - $('.sf-dump-toggle span').html('▶'); - - // Make the given frames-tab active - function setActiveFramesTab($tab) { - $tab.addClass('frames-tab-active'); - - if ($tab.attr('id') == 'application-frames-tab') { - $frameContainer.addClass('frames-container-application'); - $allFramesTab.removeClass('frames-tab-active'); - } else { - $frameContainer.removeClass('frames-container-application'); - $appFramesTab.removeClass('frames-tab-active'); - } - } - - $('a.frames-tab').on('click', function(e) { - e.preventDefault(); - setActiveFramesTab($(this)); - }); -}); diff --git a/paragonik-backend/vendor/filp/whoops/src/Whoops/Resources/js/zepto.min.js b/paragonik-backend/vendor/filp/whoops/src/Whoops/Resources/js/zepto.min.js deleted file mode 100644 index 0b2f97a..0000000 --- a/paragonik-backend/vendor/filp/whoops/src/Whoops/Resources/js/zepto.min.js +++ /dev/null @@ -1,2 +0,0 @@ -/* Zepto v1.1.3 - zepto event ajax form ie - zeptojs.com/license */ -var Zepto=function(){function L(t){return null==t?String(t):j[T.call(t)]||"object"}function Z(t){return"function"==L(t)}function $(t){return null!=t&&t==t.window}function _(t){return null!=t&&t.nodeType==t.DOCUMENT_NODE}function D(t){return"object"==L(t)}function R(t){return D(t)&&!$(t)&&Object.getPrototypeOf(t)==Object.prototype}function M(t){return"number"==typeof t.length}function k(t){return s.call(t,function(t){return null!=t})}function z(t){return t.length>0?n.fn.concat.apply([],t):t}function F(t){return t.replace(/::/g,"/").replace(/([A-Z]+)([A-Z][a-z])/g,"$1_$2").replace(/([a-z\d])([A-Z])/g,"$1_$2").replace(/_/g,"-").toLowerCase()}function q(t){return t in f?f[t]:f[t]=new RegExp("(^|\\s)"+t+"(\\s|$)")}function H(t,e){return"number"!=typeof e||c[F(t)]?e:e+"px"}function I(t){var e,n;return u[t]||(e=a.createElement(t),a.body.appendChild(e),n=getComputedStyle(e,"").getPropertyValue("display"),e.parentNode.removeChild(e),"none"==n&&(n="block"),u[t]=n),u[t]}function V(t){return"children"in t?o.call(t.children):n.map(t.childNodes,function(t){return 1==t.nodeType?t:void 0})}function U(n,i,r){for(e in i)r&&(R(i[e])||A(i[e]))?(R(i[e])&&!R(n[e])&&(n[e]={}),A(i[e])&&!A(n[e])&&(n[e]=[]),U(n[e],i[e],r)):i[e]!==t&&(n[e]=i[e])}function B(t,e){return null==e?n(t):n(t).filter(e)}function J(t,e,n,i){return Z(e)?e.call(t,n,i):e}function X(t,e,n){null==n?t.removeAttribute(e):t.setAttribute(e,n)}function W(e,n){var i=e.className,r=i&&i.baseVal!==t;return n===t?r?i.baseVal:i:void(r?i.baseVal=n:e.className=n)}function Y(t){var e;try{return t?"true"==t||("false"==t?!1:"null"==t?null:/^0/.test(t)||isNaN(e=Number(t))?/^[\[\{]/.test(t)?n.parseJSON(t):t:e):t}catch(i){return t}}function G(t,e){e(t);for(var n in t.childNodes)G(t.childNodes[n],e)}var t,e,n,i,C,N,r=[],o=r.slice,s=r.filter,a=window.document,u={},f={},c={"column-count":1,columns:1,"font-weight":1,"line-height":1,opacity:1,"z-index":1,zoom:1},l=/^\s*<(\w+|!)[^>]*>/,h=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,p=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,d=/^(?:body|html)$/i,m=/([A-Z])/g,g=["val","css","html","text","data","width","height","offset"],v=["after","prepend","before","append"],y=a.createElement("table"),x=a.createElement("tr"),b={tr:a.createElement("tbody"),tbody:y,thead:y,tfoot:y,td:x,th:x,"*":a.createElement("div")},w=/complete|loaded|interactive/,E=/^[\w-]*$/,j={},T=j.toString,S={},O=a.createElement("div"),P={tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},A=Array.isArray||function(t){return t instanceof Array};return S.matches=function(t,e){if(!e||!t||1!==t.nodeType)return!1;var n=t.webkitMatchesSelector||t.mozMatchesSelector||t.oMatchesSelector||t.matchesSelector;if(n)return n.call(t,e);var i,r=t.parentNode,o=!r;return o&&(r=O).appendChild(t),i=~S.qsa(r,e).indexOf(t),o&&O.removeChild(t),i},C=function(t){return t.replace(/-+(.)?/g,function(t,e){return e?e.toUpperCase():""})},N=function(t){return s.call(t,function(e,n){return t.indexOf(e)==n})},S.fragment=function(e,i,r){var s,u,f;return h.test(e)&&(s=n(a.createElement(RegExp.$1))),s||(e.replace&&(e=e.replace(p,"<$1>")),i===t&&(i=l.test(e)&&RegExp.$1),i in b||(i="*"),f=b[i],f.innerHTML=""+e,s=n.each(o.call(f.childNodes),function(){f.removeChild(this)})),R(r)&&(u=n(s),n.each(r,function(t,e){g.indexOf(t)>-1?u[t](e):u.attr(t,e)})),s},S.Z=function(t,e){return t=t||[],t.__proto__=n.fn,t.selector=e||"",t},S.isZ=function(t){return t instanceof S.Z},S.init=function(e,i){var r;if(!e)return S.Z();if("string"==typeof e)if(e=e.trim(),"<"==e[0]&&l.test(e))r=S.fragment(e,RegExp.$1,i),e=null;else{if(i!==t)return n(i).find(e);r=S.qsa(a,e)}else{if(Z(e))return n(a).ready(e);if(S.isZ(e))return e;if(A(e))r=k(e);else if(D(e))r=[e],e=null;else if(l.test(e))r=S.fragment(e.trim(),RegExp.$1,i),e=null;else{if(i!==t)return n(i).find(e);r=S.qsa(a,e)}}return S.Z(r,e)},n=function(t,e){return S.init(t,e)},n.extend=function(t){var e,n=o.call(arguments,1);return"boolean"==typeof t&&(e=t,t=n.shift()),n.forEach(function(n){U(t,n,e)}),t},S.qsa=function(t,e){var n,i="#"==e[0],r=!i&&"."==e[0],s=i||r?e.slice(1):e,a=E.test(s);return _(t)&&a&&i?(n=t.getElementById(s))?[n]:[]:1!==t.nodeType&&9!==t.nodeType?[]:o.call(a&&!i?r?t.getElementsByClassName(s):t.getElementsByTagName(e):t.querySelectorAll(e))},n.contains=function(t,e){return t!==e&&t.contains(e)},n.type=L,n.isFunction=Z,n.isWindow=$,n.isArray=A,n.isPlainObject=R,n.isEmptyObject=function(t){var e;for(e in t)return!1;return!0},n.inArray=function(t,e,n){return r.indexOf.call(e,t,n)},n.camelCase=C,n.trim=function(t){return null==t?"":String.prototype.trim.call(t)},n.uuid=0,n.support={},n.expr={},n.map=function(t,e){var n,r,o,i=[];if(M(t))for(r=0;r=0?e:e+this.length]},toArray:function(){return this.get()},size:function(){return this.length},remove:function(){return this.each(function(){null!=this.parentNode&&this.parentNode.removeChild(this)})},each:function(t){return r.every.call(this,function(e,n){return t.call(e,n,e)!==!1}),this},filter:function(t){return Z(t)?this.not(this.not(t)):n(s.call(this,function(e){return S.matches(e,t)}))},add:function(t,e){return n(N(this.concat(n(t,e))))},is:function(t){return this.length>0&&S.matches(this[0],t)},not:function(e){var i=[];if(Z(e)&&e.call!==t)this.each(function(t){e.call(this,t)||i.push(this)});else{var r="string"==typeof e?this.filter(e):M(e)&&Z(e.item)?o.call(e):n(e);this.forEach(function(t){r.indexOf(t)<0&&i.push(t)})}return n(i)},has:function(t){return this.filter(function(){return D(t)?n.contains(this,t):n(this).find(t).size()})},eq:function(t){return-1===t?this.slice(t):this.slice(t,+t+1)},first:function(){var t=this[0];return t&&!D(t)?t:n(t)},last:function(){var t=this[this.length-1];return t&&!D(t)?t:n(t)},find:function(t){var e,i=this;return e="object"==typeof t?n(t).filter(function(){var t=this;return r.some.call(i,function(e){return n.contains(e,t)})}):1==this.length?n(S.qsa(this[0],t)):this.map(function(){return S.qsa(this,t)})},closest:function(t,e){var i=this[0],r=!1;for("object"==typeof t&&(r=n(t));i&&!(r?r.indexOf(i)>=0:S.matches(i,t));)i=i!==e&&!_(i)&&i.parentNode;return n(i)},parents:function(t){for(var e=[],i=this;i.length>0;)i=n.map(i,function(t){return(t=t.parentNode)&&!_(t)&&e.indexOf(t)<0?(e.push(t),t):void 0});return B(e,t)},parent:function(t){return B(N(this.pluck("parentNode")),t)},children:function(t){return B(this.map(function(){return V(this)}),t)},contents:function(){return this.map(function(){return o.call(this.childNodes)})},siblings:function(t){return B(this.map(function(t,e){return s.call(V(e.parentNode),function(t){return t!==e})}),t)},empty:function(){return this.each(function(){this.innerHTML=""})},pluck:function(t){return n.map(this,function(e){return e[t]})},show:function(){return this.each(function(){"none"==this.style.display&&(this.style.display=""),"none"==getComputedStyle(this,"").getPropertyValue("display")&&(this.style.display=I(this.nodeName))})},replaceWith:function(t){return this.before(t).remove()},wrap:function(t){var e=Z(t);if(this[0]&&!e)var i=n(t).get(0),r=i.parentNode||this.length>1;return this.each(function(o){n(this).wrapAll(e?t.call(this,o):r?i.cloneNode(!0):i)})},wrapAll:function(t){if(this[0]){n(this[0]).before(t=n(t));for(var e;(e=t.children()).length;)t=e.first();n(t).append(this)}return this},wrapInner:function(t){var e=Z(t);return this.each(function(i){var r=n(this),o=r.contents(),s=e?t.call(this,i):t;o.length?o.wrapAll(s):r.append(s)})},unwrap:function(){return this.parent().each(function(){n(this).replaceWith(n(this).children())}),this},clone:function(){return this.map(function(){return this.cloneNode(!0)})},hide:function(){return this.css("display","none")},toggle:function(e){return this.each(function(){var i=n(this);(e===t?"none"==i.css("display"):e)?i.show():i.hide()})},prev:function(t){return n(this.pluck("previousElementSibling")).filter(t||"*")},next:function(t){return n(this.pluck("nextElementSibling")).filter(t||"*")},html:function(t){return 0===arguments.length?this.length>0?this[0].innerHTML:null:this.each(function(e){var i=this.innerHTML;n(this).empty().append(J(this,t,e,i))})},text:function(e){return 0===arguments.length?this.length>0?this[0].textContent:null:this.each(function(){this.textContent=e===t?"":""+e})},attr:function(n,i){var r;return"string"==typeof n&&i===t?0==this.length||1!==this[0].nodeType?t:"value"==n&&"INPUT"==this[0].nodeName?this.val():!(r=this[0].getAttribute(n))&&n in this[0]?this[0][n]:r:this.each(function(t){if(1===this.nodeType)if(D(n))for(e in n)X(this,e,n[e]);else X(this,n,J(this,i,t,this.getAttribute(n)))})},removeAttr:function(t){return this.each(function(){1===this.nodeType&&X(this,t)})},prop:function(e,n){return e=P[e]||e,n===t?this[0]&&this[0][e]:this.each(function(t){this[e]=J(this,n,t,this[e])})},data:function(e,n){var i=this.attr("data-"+e.replace(m,"-$1").toLowerCase(),n);return null!==i?Y(i):t},val:function(t){return 0===arguments.length?this[0]&&(this[0].multiple?n(this[0]).find("option").filter(function(){return this.selected}).pluck("value"):this[0].value):this.each(function(e){this.value=J(this,t,e,this.value)})},offset:function(t){if(t)return this.each(function(e){var i=n(this),r=J(this,t,e,i.offset()),o=i.offsetParent().offset(),s={top:r.top-o.top,left:r.left-o.left};"static"==i.css("position")&&(s.position="relative"),i.css(s)});if(0==this.length)return null;var e=this[0].getBoundingClientRect();return{left:e.left+window.pageXOffset,top:e.top+window.pageYOffset,width:Math.round(e.width),height:Math.round(e.height)}},css:function(t,i){if(arguments.length<2){var r=this[0],o=getComputedStyle(r,"");if(!r)return;if("string"==typeof t)return r.style[C(t)]||o.getPropertyValue(t);if(A(t)){var s={};return n.each(A(t)?t:[t],function(t,e){s[e]=r.style[C(e)]||o.getPropertyValue(e)}),s}}var a="";if("string"==L(t))i||0===i?a=F(t)+":"+H(t,i):this.each(function(){this.style.removeProperty(F(t))});else for(e in t)t[e]||0===t[e]?a+=F(e)+":"+H(e,t[e])+";":this.each(function(){this.style.removeProperty(F(e))});return this.each(function(){this.style.cssText+=";"+a})},index:function(t){return t?this.indexOf(n(t)[0]):this.parent().children().indexOf(this[0])},hasClass:function(t){return t?r.some.call(this,function(t){return this.test(W(t))},q(t)):!1},addClass:function(t){return t?this.each(function(e){i=[];var r=W(this),o=J(this,t,e,r);o.split(/\s+/g).forEach(function(t){n(this).hasClass(t)||i.push(t)},this),i.length&&W(this,r+(r?" ":"")+i.join(" "))}):this},removeClass:function(e){return this.each(function(n){return e===t?W(this,""):(i=W(this),J(this,e,n,i).split(/\s+/g).forEach(function(t){i=i.replace(q(t)," ")}),void W(this,i.trim()))})},toggleClass:function(e,i){return e?this.each(function(r){var o=n(this),s=J(this,e,r,W(this));s.split(/\s+/g).forEach(function(e){(i===t?!o.hasClass(e):i)?o.addClass(e):o.removeClass(e)})}):this},scrollTop:function(e){if(this.length){var n="scrollTop"in this[0];return e===t?n?this[0].scrollTop:this[0].pageYOffset:this.each(n?function(){this.scrollTop=e}:function(){this.scrollTo(this.scrollX,e)})}},scrollLeft:function(e){if(this.length){var n="scrollLeft"in this[0];return e===t?n?this[0].scrollLeft:this[0].pageXOffset:this.each(n?function(){this.scrollLeft=e}:function(){this.scrollTo(e,this.scrollY)})}},position:function(){if(this.length){var t=this[0],e=this.offsetParent(),i=this.offset(),r=d.test(e[0].nodeName)?{top:0,left:0}:e.offset();return i.top-=parseFloat(n(t).css("margin-top"))||0,i.left-=parseFloat(n(t).css("margin-left"))||0,r.top+=parseFloat(n(e[0]).css("border-top-width"))||0,r.left+=parseFloat(n(e[0]).css("border-left-width"))||0,{top:i.top-r.top,left:i.left-r.left}}},offsetParent:function(){return this.map(function(){for(var t=this.offsetParent||a.body;t&&!d.test(t.nodeName)&&"static"==n(t).css("position");)t=t.offsetParent;return t})}},n.fn.detach=n.fn.remove,["width","height"].forEach(function(e){var i=e.replace(/./,function(t){return t[0].toUpperCase()});n.fn[e]=function(r){var o,s=this[0];return r===t?$(s)?s["inner"+i]:_(s)?s.documentElement["scroll"+i]:(o=this.offset())&&o[e]:this.each(function(t){s=n(this),s.css(e,J(this,r,t,s[e]()))})}}),v.forEach(function(t,e){var i=e%2;n.fn[t]=function(){var t,o,r=n.map(arguments,function(e){return t=L(e),"object"==t||"array"==t||null==e?e:S.fragment(e)}),s=this.length>1;return r.length<1?this:this.each(function(t,a){o=i?a:a.parentNode,a=0==e?a.nextSibling:1==e?a.firstChild:2==e?a:null,r.forEach(function(t){if(s)t=t.cloneNode(!0);else if(!o)return n(t).remove();G(o.insertBefore(t,a),function(t){null==t.nodeName||"SCRIPT"!==t.nodeName.toUpperCase()||t.type&&"text/javascript"!==t.type||t.src||window.eval.call(window,t.innerHTML)})})})},n.fn[i?t+"To":"insert"+(e?"Before":"After")]=function(e){return n(e)[t](this),this}}),S.Z.prototype=n.fn,S.uniq=N,S.deserializeValue=Y,n.zepto=S,n}();window.Zepto=Zepto,void 0===window.$&&(window.$=Zepto),function(t){function l(t){return t._zid||(t._zid=e++)}function h(t,e,n,i){if(e=p(e),e.ns)var r=d(e.ns);return(s[l(t)]||[]).filter(function(t){return!(!t||e.e&&t.e!=e.e||e.ns&&!r.test(t.ns)||n&&l(t.fn)!==l(n)||i&&t.sel!=i)})}function p(t){var e=(""+t).split(".");return{e:e[0],ns:e.slice(1).sort().join(" ")}}function d(t){return new RegExp("(?:^| )"+t.replace(" "," .* ?")+"(?: |$)")}function m(t,e){return t.del&&!u&&t.e in f||!!e}function g(t){return c[t]||u&&f[t]||t}function v(e,i,r,o,a,u,f){var h=l(e),d=s[h]||(s[h]=[]);i.split(/\s/).forEach(function(i){if("ready"==i)return t(document).ready(r);var s=p(i);s.fn=r,s.sel=a,s.e in c&&(r=function(e){var n=e.relatedTarget;return!n||n!==this&&!t.contains(this,n)?s.fn.apply(this,arguments):void 0}),s.del=u;var l=u||r;s.proxy=function(t){if(t=j(t),!t.isImmediatePropagationStopped()){t.data=o;var i=l.apply(e,t._args==n?[t]:[t].concat(t._args));return i===!1&&(t.preventDefault(),t.stopPropagation()),i}},s.i=d.length,d.push(s),"addEventListener"in e&&e.addEventListener(g(s.e),s.proxy,m(s,f))})}function y(t,e,n,i,r){var o=l(t);(e||"").split(/\s/).forEach(function(e){h(t,e,n,i).forEach(function(e){delete s[o][e.i],"removeEventListener"in t&&t.removeEventListener(g(e.e),e.proxy,m(e,r))})})}function j(e,i){return(i||!e.isDefaultPrevented)&&(i||(i=e),t.each(E,function(t,n){var r=i[t];e[t]=function(){return this[n]=x,r&&r.apply(i,arguments)},e[n]=b}),(i.defaultPrevented!==n?i.defaultPrevented:"returnValue"in i?i.returnValue===!1:i.getPreventDefault&&i.getPreventDefault())&&(e.isDefaultPrevented=x)),e}function T(t){var e,i={originalEvent:t};for(e in t)w.test(e)||t[e]===n||(i[e]=t[e]);return j(i,t)}var n,e=1,i=Array.prototype.slice,r=t.isFunction,o=function(t){return"string"==typeof t},s={},a={},u="onfocusin"in window,f={focus:"focusin",blur:"focusout"},c={mouseenter:"mouseover",mouseleave:"mouseout"};a.click=a.mousedown=a.mouseup=a.mousemove="MouseEvents",t.event={add:v,remove:y},t.proxy=function(e,n){if(r(e)){var i=function(){return e.apply(n,arguments)};return i._zid=l(e),i}if(o(n))return t.proxy(e[n],e);throw new TypeError("expected function")},t.fn.bind=function(t,e,n){return this.on(t,e,n)},t.fn.unbind=function(t,e){return this.off(t,e)},t.fn.one=function(t,e,n,i){return this.on(t,e,n,i,1)};var x=function(){return!0},b=function(){return!1},w=/^([A-Z]|returnValue$|layer[XY]$)/,E={preventDefault:"isDefaultPrevented",stopImmediatePropagation:"isImmediatePropagationStopped",stopPropagation:"isPropagationStopped"};t.fn.delegate=function(t,e,n){return this.on(e,t,n)},t.fn.undelegate=function(t,e,n){return this.off(e,t,n)},t.fn.live=function(e,n){return t(document.body).delegate(this.selector,e,n),this},t.fn.die=function(e,n){return t(document.body).undelegate(this.selector,e,n),this},t.fn.on=function(e,s,a,u,f){var c,l,h=this;return e&&!o(e)?(t.each(e,function(t,e){h.on(t,s,a,e,f)}),h):(o(s)||r(u)||u===!1||(u=a,a=s,s=n),(r(a)||a===!1)&&(u=a,a=n),u===!1&&(u=b),h.each(function(n,r){f&&(c=function(t){return y(r,t.type,u),u.apply(this,arguments)}),s&&(l=function(e){var n,o=t(e.target).closest(s,r).get(0);return o&&o!==r?(n=t.extend(T(e),{currentTarget:o,liveFired:r}),(c||u).apply(o,[n].concat(i.call(arguments,1)))):void 0}),v(r,e,u,a,s,l||c)}))},t.fn.off=function(e,i,s){var a=this;return e&&!o(e)?(t.each(e,function(t,e){a.off(t,i,e)}),a):(o(i)||r(s)||s===!1||(s=i,i=n),s===!1&&(s=b),a.each(function(){y(this,e,s,i)}))},t.fn.trigger=function(e,n){return e=o(e)||t.isPlainObject(e)?t.Event(e):j(e),e._args=n,this.each(function(){"dispatchEvent"in this?this.dispatchEvent(e):t(this).triggerHandler(e,n)})},t.fn.triggerHandler=function(e,n){var i,r;return this.each(function(s,a){i=T(o(e)?t.Event(e):e),i._args=n,i.target=a,t.each(h(a,e.type||e),function(t,e){return r=e.proxy(i),i.isImmediatePropagationStopped()?!1:void 0})}),r},"focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select keydown keypress keyup error".split(" ").forEach(function(e){t.fn[e]=function(t){return t?this.bind(e,t):this.trigger(e)}}),["focus","blur"].forEach(function(e){t.fn[e]=function(t){return t?this.bind(e,t):this.each(function(){try{this[e]()}catch(t){}}),this}}),t.Event=function(t,e){o(t)||(e=t,t=e.type);var n=document.createEvent(a[t]||"Events"),i=!0;if(e)for(var r in e)"bubbles"==r?i=!!e[r]:n[r]=e[r];return n.initEvent(t,i,!0),j(n)}}(Zepto),function(t){function l(e,n,i){var r=t.Event(n);return t(e).trigger(r,i),!r.isDefaultPrevented()}function h(t,e,i,r){return t.global?l(e||n,i,r):void 0}function p(e){e.global&&0===t.active++&&h(e,null,"ajaxStart")}function d(e){e.global&&!--t.active&&h(e,null,"ajaxStop")}function m(t,e){var n=e.context;return e.beforeSend.call(n,t,e)===!1||h(e,n,"ajaxBeforeSend",[t,e])===!1?!1:void h(e,n,"ajaxSend",[t,e])}function g(t,e,n,i){var r=n.context,o="success";n.success.call(r,t,o,e),i&&i.resolveWith(r,[t,o,e]),h(n,r,"ajaxSuccess",[e,n,t]),y(o,e,n)}function v(t,e,n,i,r){var o=i.context;i.error.call(o,n,e,t),r&&r.rejectWith(o,[n,e,t]),h(i,o,"ajaxError",[n,i,t||e]),y(e,n,i)}function y(t,e,n){var i=n.context;n.complete.call(i,e,t),h(n,i,"ajaxComplete",[e,n]),d(n)}function x(){}function b(t){return t&&(t=t.split(";",2)[0]),t&&(t==f?"html":t==u?"json":s.test(t)?"script":a.test(t)&&"xml")||"text"}function w(t,e){return""==e?t:(t+"&"+e).replace(/[&?]{1,2}/,"?")}function E(e){e.processData&&e.data&&"string"!=t.type(e.data)&&(e.data=t.param(e.data,e.traditional)),!e.data||e.type&&"GET"!=e.type.toUpperCase()||(e.url=w(e.url,e.data),e.data=void 0)}function j(e,n,i,r){return t.isFunction(n)&&(r=i,i=n,n=void 0),t.isFunction(i)||(r=i,i=void 0),{url:e,data:n,success:i,dataType:r}}function S(e,n,i,r){var o,s=t.isArray(n),a=t.isPlainObject(n);t.each(n,function(n,u){o=t.type(u),r&&(n=i?r:r+"["+(a||"object"==o||"array"==o?n:"")+"]"),!r&&s?e.add(u.name,u.value):"array"==o||!i&&"object"==o?S(e,u,i,n):e.add(n,u)})}var i,r,e=0,n=window.document,o=/)<[^<]*)*<\/script>/gi,s=/^(?:text|application)\/javascript/i,a=/^(?:text|application)\/xml/i,u="application/json",f="text/html",c=/^\s*$/;t.active=0,t.ajaxJSONP=function(i,r){if(!("type"in i))return t.ajax(i);var f,h,o=i.jsonpCallback,s=(t.isFunction(o)?o():o)||"jsonp"+ ++e,a=n.createElement("script"),u=window[s],c=function(e){t(a).triggerHandler("error",e||"abort")},l={abort:c};return r&&r.promise(l),t(a).on("load error",function(e,n){clearTimeout(h),t(a).off().remove(),"error"!=e.type&&f?g(f[0],l,i,r):v(null,n||"error",l,i,r),window[s]=u,f&&t.isFunction(u)&&u(f[0]),u=f=void 0}),m(l,i)===!1?(c("abort"),l):(window[s]=function(){f=arguments},a.src=i.url.replace(/\?(.+)=\?/,"?$1="+s),n.head.appendChild(a),i.timeout>0&&(h=setTimeout(function(){c("timeout")},i.timeout)),l)},t.ajaxSettings={type:"GET",beforeSend:x,success:x,error:x,complete:x,context:null,global:!0,xhr:function(){return new window.XMLHttpRequest},accepts:{script:"text/javascript, application/javascript, application/x-javascript",json:u,xml:"application/xml, text/xml",html:f,text:"text/plain"},crossDomain:!1,timeout:0,processData:!0,cache:!0},t.ajax=function(e){var n=t.extend({},e||{}),o=t.Deferred&&t.Deferred();for(i in t.ajaxSettings)void 0===n[i]&&(n[i]=t.ajaxSettings[i]);p(n),n.crossDomain||(n.crossDomain=/^([\w-]+:)?\/\/([^\/]+)/.test(n.url)&&RegExp.$2!=window.location.host),n.url||(n.url=window.location.toString()),E(n),n.cache===!1&&(n.url=w(n.url,"_="+Date.now()));var s=n.dataType,a=/\?.+=\?/.test(n.url);if("jsonp"==s||a)return a||(n.url=w(n.url,n.jsonp?n.jsonp+"=?":n.jsonp===!1?"":"callback=?")),t.ajaxJSONP(n,o);var j,u=n.accepts[s],f={},l=function(t,e){f[t.toLowerCase()]=[t,e]},h=/^([\w-]+:)\/\//.test(n.url)?RegExp.$1:window.location.protocol,d=n.xhr(),y=d.setRequestHeader;if(o&&o.promise(d),n.crossDomain||l("X-Requested-With","XMLHttpRequest"),l("Accept",u||"*/*"),(u=n.mimeType||u)&&(u.indexOf(",")>-1&&(u=u.split(",",2)[0]),d.overrideMimeType&&d.overrideMimeType(u)),(n.contentType||n.contentType!==!1&&n.data&&"GET"!=n.type.toUpperCase())&&l("Content-Type",n.contentType||"application/x-www-form-urlencoded"),n.headers)for(r in n.headers)l(r,n.headers[r]);if(d.setRequestHeader=l,d.onreadystatechange=function(){if(4==d.readyState){d.onreadystatechange=x,clearTimeout(j);var e,i=!1;if(d.status>=200&&d.status<300||304==d.status||0==d.status&&"file:"==h){s=s||b(n.mimeType||d.getResponseHeader("content-type")),e=d.responseText;try{"script"==s?(1,eval)(e):"xml"==s?e=d.responseXML:"json"==s&&(e=c.test(e)?null:t.parseJSON(e))}catch(r){i=r}i?v(i,"parsererror",d,n,o):g(e,d,n,o)}else v(d.statusText||null,d.status?"error":"abort",d,n,o)}},m(d,n)===!1)return d.abort(),v(null,"abort",d,n,o),d;if(n.xhrFields)for(r in n.xhrFields)d[r]=n.xhrFields[r];var T="async"in n?n.async:!0;d.open(n.type,n.url,T,n.username,n.password);for(r in f)y.apply(d,f[r]);return n.timeout>0&&(j=setTimeout(function(){d.onreadystatechange=x,d.abort(),v(null,"timeout",d,n,o)},n.timeout)),d.send(n.data?n.data:null),d},t.get=function(){return t.ajax(j.apply(null,arguments))},t.post=function(){var e=j.apply(null,arguments);return e.type="POST",t.ajax(e)},t.getJSON=function(){var e=j.apply(null,arguments);return e.dataType="json",t.ajax(e)},t.fn.load=function(e,n,i){if(!this.length)return this;var a,r=this,s=e.split(/\s/),u=j(e,n,i),f=u.success;return s.length>1&&(u.url=s[0],a=s[1]),u.success=function(e){r.html(a?t("
").html(e.replace(o,"")).find(a):e),f&&f.apply(r,arguments)},t.ajax(u),this};var T=encodeURIComponent;t.param=function(t,e){var n=[];return n.add=function(t,e){this.push(T(t)+"="+T(e))},S(n,t,e),n.join("&").replace(/%20/g,"+")}}(Zepto),function(t){t.fn.serializeArray=function(){var n,e=[];return t([].slice.call(this.get(0).elements)).each(function(){n=t(this);var i=n.attr("type");"fieldset"!=this.nodeName.toLowerCase()&&!this.disabled&&"submit"!=i&&"reset"!=i&&"button"!=i&&("radio"!=i&&"checkbox"!=i||this.checked)&&e.push({name:n.attr("name"),value:n.val()})}),e},t.fn.serialize=function(){var t=[];return this.serializeArray().forEach(function(e){t.push(encodeURIComponent(e.name)+"="+encodeURIComponent(e.value))}),t.join("&")},t.fn.submit=function(e){if(e)this.bind("submit",e);else if(this.length){var n=t.Event("submit");this.eq(0).trigger(n),n.isDefaultPrevented()||this.get(0).submit()}return this}}(Zepto),function(t){"__proto__"in{}||t.extend(t.zepto,{Z:function(e,n){return e=e||[],t.extend(e,t.fn),e.selector=n||"",e.__Z=!0,e},isZ:function(e){return"array"===t.type(e)&&"__Z"in e}});try{getComputedStyle(void 0)}catch(e){var n=getComputedStyle;window.getComputedStyle=function(t){try{return n(t)}catch(e){return null}}}}(Zepto); diff --git a/paragonik-backend/vendor/filp/whoops/src/Whoops/Resources/views/env_details.html.php b/paragonik-backend/vendor/filp/whoops/src/Whoops/Resources/views/env_details.html.php deleted file mode 100644 index 8db1493..0000000 --- a/paragonik-backend/vendor/filp/whoops/src/Whoops/Resources/views/env_details.html.php +++ /dev/null @@ -1,42 +0,0 @@ - -
-

Environment & details:

- -
- $data): ?> -
- - - - - - - - - - $value): ?> - - - - - -
KeyValue
escape($k) ?>dump($value) ?>
- - - empty - -
- -
- - -
- - $handler): ?> -
- . escape(get_class($handler)) ?> -
- -
- -
diff --git a/paragonik-backend/vendor/filp/whoops/src/Whoops/Resources/views/frame_code.html.php b/paragonik-backend/vendor/filp/whoops/src/Whoops/Resources/views/frame_code.html.php deleted file mode 100644 index b7717d7..0000000 --- a/paragonik-backend/vendor/filp/whoops/src/Whoops/Resources/views/frame_code.html.php +++ /dev/null @@ -1,63 +0,0 @@ - -
- $frame): ?> - getLine(); ?> -
- - getFileLines($line - 20, 40); - - // getFileLines can return null if there is no source code - if ($range): - $range = array_map(function ($line) { return empty($line) ? ' ' : $line;}, $range); - $start = key($range) + 1; - $code = join("\n", $range); - ?> -
escape($code) ?>
- - - - - dumpArgs($frame); ?> - -
- Arguments -
-
- -
- - - getComments(); - ?> -
- $comment): ?> - -
- escape($context) ?> - escapeButPreserveUris($comment) ?> -
- -
- -
- -
diff --git a/paragonik-backend/vendor/filp/whoops/src/Whoops/Resources/views/frame_list.html.php b/paragonik-backend/vendor/filp/whoops/src/Whoops/Resources/views/frame_list.html.php deleted file mode 100644 index a4bc338..0000000 --- a/paragonik-backend/vendor/filp/whoops/src/Whoops/Resources/views/frame_list.html.php +++ /dev/null @@ -1,17 +0,0 @@ - - $frame): ?> -
- -
- breakOnDelimiter('\\', $tpl->escape($frame->getClass() ?: '')) ?> - breakOnDelimiter('\\', $tpl->escape($frame->getFunction() ?: '')) ?> -
- -
- getFile() ? $tpl->breakOnDelimiter('/', $tpl->shorten($tpl->escape($frame->getFile()))) : '<#unknown>' ?>getLine() ?> -
-
-"> - render($frame_list) ?> -
\ No newline at end of file diff --git a/paragonik-backend/vendor/filp/whoops/src/Whoops/Resources/views/frames_description.html.php b/paragonik-backend/vendor/filp/whoops/src/Whoops/Resources/views/frames_description.html.php deleted file mode 100644 index 5d32f71..0000000 --- a/paragonik-backend/vendor/filp/whoops/src/Whoops/Resources/views/frames_description.html.php +++ /dev/null @@ -1,14 +0,0 @@ - diff --git a/paragonik-backend/vendor/filp/whoops/src/Whoops/Resources/views/header.html.php b/paragonik-backend/vendor/filp/whoops/src/Whoops/Resources/views/header.html.php deleted file mode 100644 index 2f2d90f..0000000 --- a/paragonik-backend/vendor/filp/whoops/src/Whoops/Resources/views/header.html.php +++ /dev/null @@ -1,96 +0,0 @@ -
-
- $nameSection): ?> - - escape($nameSection) ?> - - escape($nameSection) . ' \\' ?> - - - - (escape($code) ?>) - -
- -
- - escape($message) ?> - - - -
- Previous exceptions -
- -
    - $previousMessage): ?> -
  • - escape($previousMessage) ?> - () -
  • - -
- - - - - - No message - - - - - escape($plain_exception) ?> - - -
-
diff --git a/paragonik-backend/vendor/filp/whoops/src/Whoops/Resources/views/header_outer.html.php b/paragonik-backend/vendor/filp/whoops/src/Whoops/Resources/views/header_outer.html.php deleted file mode 100644 index f682cbb..0000000 --- a/paragonik-backend/vendor/filp/whoops/src/Whoops/Resources/views/header_outer.html.php +++ /dev/null @@ -1,3 +0,0 @@ -
- render($header) ?> -
diff --git a/paragonik-backend/vendor/filp/whoops/src/Whoops/Resources/views/layout.html.php b/paragonik-backend/vendor/filp/whoops/src/Whoops/Resources/views/layout.html.php deleted file mode 100644 index 6b676cc..0000000 --- a/paragonik-backend/vendor/filp/whoops/src/Whoops/Resources/views/layout.html.php +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - - <?php echo $tpl->escape($page_title) ?> - - - - - -
-
- - render($panel_left_outer) ?> - - render($panel_details_outer) ?> - -
-
- - - - - - - diff --git a/paragonik-backend/vendor/filp/whoops/src/Whoops/Resources/views/panel_details.html.php b/paragonik-backend/vendor/filp/whoops/src/Whoops/Resources/views/panel_details.html.php deleted file mode 100644 index a85e451..0000000 --- a/paragonik-backend/vendor/filp/whoops/src/Whoops/Resources/views/panel_details.html.php +++ /dev/null @@ -1,2 +0,0 @@ -render($frame_code) ?> -render($env_details) ?> \ No newline at end of file diff --git a/paragonik-backend/vendor/filp/whoops/src/Whoops/Resources/views/panel_details_outer.html.php b/paragonik-backend/vendor/filp/whoops/src/Whoops/Resources/views/panel_details_outer.html.php deleted file mode 100644 index 8162d8c..0000000 --- a/paragonik-backend/vendor/filp/whoops/src/Whoops/Resources/views/panel_details_outer.html.php +++ /dev/null @@ -1,3 +0,0 @@ -
- render($panel_details) ?> -
\ No newline at end of file diff --git a/paragonik-backend/vendor/filp/whoops/src/Whoops/Resources/views/panel_left.html.php b/paragonik-backend/vendor/filp/whoops/src/Whoops/Resources/views/panel_left.html.php deleted file mode 100644 index 7e652e4..0000000 --- a/paragonik-backend/vendor/filp/whoops/src/Whoops/Resources/views/panel_left.html.php +++ /dev/null @@ -1,4 +0,0 @@ -render($header_outer); -$tpl->render($frames_description); -$tpl->render($frames_container); diff --git a/paragonik-backend/vendor/filp/whoops/src/Whoops/Resources/views/panel_left_outer.html.php b/paragonik-backend/vendor/filp/whoops/src/Whoops/Resources/views/panel_left_outer.html.php deleted file mode 100644 index 77b575c..0000000 --- a/paragonik-backend/vendor/filp/whoops/src/Whoops/Resources/views/panel_left_outer.html.php +++ /dev/null @@ -1,3 +0,0 @@ -
- render($panel_left) ?> -
\ No newline at end of file diff --git a/paragonik-backend/vendor/filp/whoops/src/Whoops/Run.php b/paragonik-backend/vendor/filp/whoops/src/Whoops/Run.php deleted file mode 100644 index 77ec212..0000000 --- a/paragonik-backend/vendor/filp/whoops/src/Whoops/Run.php +++ /dev/null @@ -1,461 +0,0 @@ - - */ - -namespace Whoops; - -use InvalidArgumentException; -use Whoops\Exception\ErrorException; -use Whoops\Exception\Inspector; -use Whoops\Handler\CallbackHandler; -use Whoops\Handler\Handler; -use Whoops\Handler\HandlerInterface; -use Whoops\Util\Misc; -use Whoops\Util\SystemFacade; - -final class Run implements RunInterface -{ - private $isRegistered; - private $allowQuit = true; - private $sendOutput = true; - - /** - * @var integer|false - */ - private $sendHttpCode = 500; - - /** - * @var HandlerInterface[] - */ - private $handlerQueue = []; - - private $silencedPatterns = []; - - private $system; - - public function __construct(SystemFacade $system = null) - { - $this->system = $system ?: new SystemFacade; - } - - /** - * Prepends a handler to the start of the queue - * - * @throws InvalidArgumentException If argument is not callable or instance of HandlerInterface - * @param Callable|HandlerInterface $handler - * @return Run - * @deprecated use appendHandler and prependHandler instead - */ - public function pushHandler($handler) - { - return $this->prependHandler($handler); - } - - /** - * Appends a handler to the end of the queue - * - * @throws InvalidArgumentException If argument is not callable or instance of HandlerInterface - * @param Callable|HandlerInterface $handler - * @return Run - */ - public function appendHandler($handler) - { - array_push($this->handlerQueue, $this->resolveHandler($handler)); - return $this; - } - - /** - * Prepends a handler to the start of the queue - * - * @throws InvalidArgumentException If argument is not callable or instance of HandlerInterface - * @param Callable|HandlerInterface $handler - * @return Run - */ - public function prependHandler($handler) - { - array_unshift($this->handlerQueue, $this->resolveHandler($handler)); - return $this; - } - - /** - * Create a CallbackHandler from callable and throw if handler is invalid - * - * @throws InvalidArgumentException If argument is not callable or instance of HandlerInterface - * @param Callable|HandlerInterface $handler - * @return HandlerInterface - */ - private function resolveHandler($handler) - { - if (is_callable($handler)) { - $handler = new CallbackHandler($handler); - } - - if (!$handler instanceof HandlerInterface) { - throw new InvalidArgumentException( - "Argument to " . __METHOD__ . " must be a callable, or instance of " - . "Whoops\\Handler\\HandlerInterface" - ); - } - - return $handler; - } - - /** - * Removes the last handler in the queue and returns it. - * Returns null if there"s nothing else to pop. - * @return null|HandlerInterface - */ - public function popHandler() - { - return array_pop($this->handlerQueue); - } - - /** - * Removes the first handler in the queue and returns it. - * Returns null if there"s nothing else to shift. - * @return null|HandlerInterface - */ - public function shiftHandler() - { - return array_shift($this->handlerQueue); - } - - /** - * Returns an array with all handlers, in the - * order they were added to the queue. - * @return array - */ - public function getHandlers() - { - return $this->handlerQueue; - } - - /** - * Clears all handlers in the handlerQueue, including - * the default PrettyPage handler. - * @return Run - */ - public function clearHandlers() - { - $this->handlerQueue = []; - return $this; - } - - /** - * @param \Throwable $exception - * @return Inspector - */ - private function getInspector($exception) - { - return new Inspector($exception); - } - - /** - * Registers this instance as an error handler. - * @return Run - */ - public function register() - { - if (!$this->isRegistered) { - // Workaround PHP bug 42098 - // https://bugs.php.net/bug.php?id=42098 - class_exists("\\Whoops\\Exception\\ErrorException"); - class_exists("\\Whoops\\Exception\\FrameCollection"); - class_exists("\\Whoops\\Exception\\Frame"); - class_exists("\\Whoops\\Exception\\Inspector"); - - $this->system->setErrorHandler([$this, self::ERROR_HANDLER]); - $this->system->setExceptionHandler([$this, self::EXCEPTION_HANDLER]); - $this->system->registerShutdownFunction([$this, self::SHUTDOWN_HANDLER]); - - $this->isRegistered = true; - } - - return $this; - } - - /** - * Unregisters all handlers registered by this Whoops\Run instance - * @return Run - */ - public function unregister() - { - if ($this->isRegistered) { - $this->system->restoreExceptionHandler(); - $this->system->restoreErrorHandler(); - - $this->isRegistered = false; - } - - return $this; - } - - /** - * Should Whoops allow Handlers to force the script to quit? - * @param bool|int $exit - * @return bool - */ - public function allowQuit($exit = null) - { - if (func_num_args() == 0) { - return $this->allowQuit; - } - - return $this->allowQuit = (bool) $exit; - } - - /** - * Silence particular errors in particular files - * @param array|string $patterns List or a single regex pattern to match - * @param int $levels Defaults to E_STRICT | E_DEPRECATED - * @return \Whoops\Run - */ - public function silenceErrorsInPaths($patterns, $levels = 10240) - { - $this->silencedPatterns = array_merge( - $this->silencedPatterns, - array_map( - function ($pattern) use ($levels) { - return [ - "pattern" => $pattern, - "levels" => $levels, - ]; - }, - (array) $patterns - ) - ); - return $this; - } - - - /** - * Returns an array with silent errors in path configuration - * - * @return array - */ - public function getSilenceErrorsInPaths() - { - return $this->silencedPatterns; - } - - /* - * Should Whoops send HTTP error code to the browser if possible? - * Whoops will by default send HTTP code 500, but you may wish to - * use 502, 503, or another 5xx family code. - * - * @param bool|int $code - * @return int|false - */ - public function sendHttpCode($code = null) - { - if (func_num_args() == 0) { - return $this->sendHttpCode; - } - - if (!$code) { - return $this->sendHttpCode = false; - } - - if ($code === true) { - $code = 500; - } - - if ($code < 400 || 600 <= $code) { - throw new InvalidArgumentException( - "Invalid status code '$code', must be 4xx or 5xx" - ); - } - - return $this->sendHttpCode = $code; - } - - /** - * Should Whoops push output directly to the client? - * If this is false, output will be returned by handleException - * @param bool|int $send - * @return bool - */ - public function writeToOutput($send = null) - { - if (func_num_args() == 0) { - return $this->sendOutput; - } - - return $this->sendOutput = (bool) $send; - } - - /** - * Handles an exception, ultimately generating a Whoops error - * page. - * - * @param \Throwable $exception - * @return string Output generated by handlers - */ - public function handleException($exception) - { - // Walk the registered handlers in the reverse order - // they were registered, and pass off the exception - $inspector = $this->getInspector($exception); - - // Capture output produced while handling the exception, - // we might want to send it straight away to the client, - // or return it silently. - $this->system->startOutputBuffering(); - - // Just in case there are no handlers: - $handlerResponse = null; - $handlerContentType = null; - - try { - foreach ($this->handlerQueue as $handler) { - $handler->setRun($this); - $handler->setInspector($inspector); - $handler->setException($exception); - - // The HandlerInterface does not require an Exception passed to handle() - // and neither of our bundled handlers use it. - // However, 3rd party handlers may have already relied on this parameter, - // and removing it would be possibly breaking for users. - $handlerResponse = $handler->handle($exception); - - // Collect the content type for possible sending in the headers. - $handlerContentType = method_exists($handler, 'contentType') ? $handler->contentType() : null; - - if (in_array($handlerResponse, [Handler::LAST_HANDLER, Handler::QUIT])) { - // The Handler has handled the exception in some way, and - // wishes to quit execution (Handler::QUIT), or skip any - // other handlers (Handler::LAST_HANDLER). If $this->allowQuit - // is false, Handler::QUIT behaves like Handler::LAST_HANDLER - break; - } - } - - $willQuit = $handlerResponse == Handler::QUIT && $this->allowQuit(); - } finally { - $output = $this->system->cleanOutputBuffer(); - } - - // If we're allowed to, send output generated by handlers directly - // to the output, otherwise, and if the script doesn't quit, return - // it so that it may be used by the caller - if ($this->writeToOutput()) { - // @todo Might be able to clean this up a bit better - if ($willQuit) { - // Cleanup all other output buffers before sending our output: - while ($this->system->getOutputBufferLevel() > 0) { - $this->system->endOutputBuffering(); - } - - // Send any headers if needed: - if (Misc::canSendHeaders() && $handlerContentType) { - header("Content-Type: {$handlerContentType}"); - } - } - - $this->writeToOutputNow($output); - } - - if ($willQuit) { - // HHVM fix for https://github.com/facebook/hhvm/issues/4055 - $this->system->flushOutputBuffer(); - - $this->system->stopExecution(1); - } - - return $output; - } - - /** - * Converts generic PHP errors to \ErrorException - * instances, before passing them off to be handled. - * - * This method MUST be compatible with set_error_handler. - * - * @param int $level - * @param string $message - * @param string $file - * @param int $line - * - * @return bool - * @throws ErrorException - */ - public function handleError($level, $message, $file = null, $line = null) - { - if ($level & $this->system->getErrorReportingLevel()) { - foreach ($this->silencedPatterns as $entry) { - $pathMatches = (bool) preg_match($entry["pattern"], $file); - $levelMatches = $level & $entry["levels"]; - if ($pathMatches && $levelMatches) { - // Ignore the error, abort handling - // See https://github.com/filp/whoops/issues/418 - return true; - } - } - - // XXX we pass $level for the "code" param only for BC reasons. - // see https://github.com/filp/whoops/issues/267 - $exception = new ErrorException($message, /*code*/ $level, /*severity*/ $level, $file, $line); - if ($this->canThrowExceptions) { - throw $exception; - } else { - $this->handleException($exception); - } - // Do not propagate errors which were already handled by Whoops. - return true; - } - - // Propagate error to the next handler, allows error_get_last() to - // work on silenced errors. - return false; - } - - /** - * Special case to deal with Fatal errors and the like. - */ - public function handleShutdown() - { - // If we reached this step, we are in shutdown handler. - // An exception thrown in a shutdown handler will not be propagated - // to the exception handler. Pass that information along. - $this->canThrowExceptions = false; - - $error = $this->system->getLastError(); - if ($error && Misc::isLevelFatal($error['type'])) { - // If there was a fatal error, - // it was not handled in handleError yet. - $this->allowQuit = false; - $this->handleError( - $error['type'], - $error['message'], - $error['file'], - $error['line'] - ); - } - } - - /** - * In certain scenarios, like in shutdown handler, we can not throw exceptions - * @var bool - */ - private $canThrowExceptions = true; - - /** - * Echo something to the browser - * @param string $output - * @return $this - */ - private function writeToOutputNow($output) - { - if ($this->sendHttpCode() && \Whoops\Util\Misc::canSendHeaders()) { - $this->system->setHttpResponseCode( - $this->sendHttpCode() - ); - } - - echo $output; - - return $this; - } -} diff --git a/paragonik-backend/vendor/filp/whoops/src/Whoops/RunInterface.php b/paragonik-backend/vendor/filp/whoops/src/Whoops/RunInterface.php deleted file mode 100644 index 67ba90d..0000000 --- a/paragonik-backend/vendor/filp/whoops/src/Whoops/RunInterface.php +++ /dev/null @@ -1,131 +0,0 @@ - - */ - -namespace Whoops; - -use InvalidArgumentException; -use Whoops\Exception\ErrorException; -use Whoops\Handler\HandlerInterface; - -interface RunInterface -{ - const EXCEPTION_HANDLER = "handleException"; - const ERROR_HANDLER = "handleError"; - const SHUTDOWN_HANDLER = "handleShutdown"; - - /** - * Pushes a handler to the end of the stack - * - * @throws InvalidArgumentException If argument is not callable or instance of HandlerInterface - * @param Callable|HandlerInterface $handler - * @return Run - */ - public function pushHandler($handler); - - /** - * Removes the last handler in the stack and returns it. - * Returns null if there"s nothing else to pop. - * - * @return null|HandlerInterface - */ - public function popHandler(); - - /** - * Returns an array with all handlers, in the - * order they were added to the stack. - * - * @return array - */ - public function getHandlers(); - - /** - * Clears all handlers in the handlerStack, including - * the default PrettyPage handler. - * - * @return Run - */ - public function clearHandlers(); - - /** - * Registers this instance as an error handler. - * - * @return Run - */ - public function register(); - - /** - * Unregisters all handlers registered by this Whoops\Run instance - * - * @return Run - */ - public function unregister(); - - /** - * Should Whoops allow Handlers to force the script to quit? - * - * @param bool|int $exit - * @return bool - */ - public function allowQuit($exit = null); - - /** - * Silence particular errors in particular files - * - * @param array|string $patterns List or a single regex pattern to match - * @param int $levels Defaults to E_STRICT | E_DEPRECATED - * @return \Whoops\Run - */ - public function silenceErrorsInPaths($patterns, $levels = 10240); - - /** - * Should Whoops send HTTP error code to the browser if possible? - * Whoops will by default send HTTP code 500, but you may wish to - * use 502, 503, or another 5xx family code. - * - * @param bool|int $code - * @return int|false - */ - public function sendHttpCode($code = null); - - /** - * Should Whoops push output directly to the client? - * If this is false, output will be returned by handleException - * - * @param bool|int $send - * @return bool - */ - public function writeToOutput($send = null); - - /** - * Handles an exception, ultimately generating a Whoops error - * page. - * - * @param \Throwable $exception - * @return string Output generated by handlers - */ - public function handleException($exception); - - /** - * Converts generic PHP errors to \ErrorException - * instances, before passing them off to be handled. - * - * This method MUST be compatible with set_error_handler. - * - * @param int $level - * @param string $message - * @param string $file - * @param int $line - * - * @return bool - * @throws ErrorException - */ - public function handleError($level, $message, $file = null, $line = null); - - /** - * Special case to deal with Fatal errors and the like. - */ - public function handleShutdown(); -} diff --git a/paragonik-backend/vendor/filp/whoops/src/Whoops/Util/HtmlDumperOutput.php b/paragonik-backend/vendor/filp/whoops/src/Whoops/Util/HtmlDumperOutput.php deleted file mode 100644 index 8c828fd..0000000 --- a/paragonik-backend/vendor/filp/whoops/src/Whoops/Util/HtmlDumperOutput.php +++ /dev/null @@ -1,36 +0,0 @@ - - */ - -namespace Whoops\Util; - -/** - * Used as output callable for Symfony\Component\VarDumper\Dumper\HtmlDumper::dump() - * - * @see TemplateHelper::dump() - */ -class HtmlDumperOutput -{ - private $output; - - public function __invoke($line, $depth) - { - // A negative depth means "end of dump" - if ($depth >= 0) { - // Adds a two spaces indentation to the line - $this->output .= str_repeat(' ', $depth) . $line . "\n"; - } - } - - public function getOutput() - { - return $this->output; - } - - public function clear() - { - $this->output = null; - } -} diff --git a/paragonik-backend/vendor/filp/whoops/src/Whoops/Util/Misc.php b/paragonik-backend/vendor/filp/whoops/src/Whoops/Util/Misc.php deleted file mode 100644 index 001a687..0000000 --- a/paragonik-backend/vendor/filp/whoops/src/Whoops/Util/Misc.php +++ /dev/null @@ -1,77 +0,0 @@ - - */ - -namespace Whoops\Util; - -class Misc -{ - /** - * Can we at this point in time send HTTP headers? - * - * Currently this checks if we are even serving an HTTP request, - * as opposed to running from a command line. - * - * If we are serving an HTTP request, we check if it's not too late. - * - * @return bool - */ - public static function canSendHeaders() - { - return isset($_SERVER["REQUEST_URI"]) && !headers_sent(); - } - - public static function isAjaxRequest() - { - return ( - !empty($_SERVER['HTTP_X_REQUESTED_WITH']) - && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest'); - } - - /** - * Check, if possible, that this execution was triggered by a command line. - * @return bool - */ - public static function isCommandLine() - { - return PHP_SAPI == 'cli'; - } - - /** - * Translate ErrorException code into the represented constant. - * - * @param int $error_code - * @return string - */ - public static function translateErrorCode($error_code) - { - $constants = get_defined_constants(true); - if (array_key_exists('Core', $constants)) { - foreach ($constants['Core'] as $constant => $value) { - if (substr($constant, 0, 2) == 'E_' && $value == $error_code) { - return $constant; - } - } - } - return "E_UNKNOWN"; - } - - /** - * Determine if an error level is fatal (halts execution) - * - * @param int $level - * @return bool - */ - public static function isLevelFatal($level) - { - $errors = E_ERROR; - $errors |= E_PARSE; - $errors |= E_CORE_ERROR; - $errors |= E_CORE_WARNING; - $errors |= E_COMPILE_ERROR; - $errors |= E_COMPILE_WARNING; - return ($level & $errors) > 0; - } -} diff --git a/paragonik-backend/vendor/filp/whoops/src/Whoops/Util/SystemFacade.php b/paragonik-backend/vendor/filp/whoops/src/Whoops/Util/SystemFacade.php deleted file mode 100644 index fb1bc28..0000000 --- a/paragonik-backend/vendor/filp/whoops/src/Whoops/Util/SystemFacade.php +++ /dev/null @@ -1,137 +0,0 @@ - - */ - -namespace Whoops\Util; - -class SystemFacade -{ - /** - * Turns on output buffering. - * - * @return bool - */ - public function startOutputBuffering() - { - return ob_start(); - } - - /** - * @param callable $handler - * @param int $types - * - * @return callable|null - */ - public function setErrorHandler(callable $handler, $types = 'use-php-defaults') - { - // Since PHP 5.4 the constant E_ALL contains all errors (even E_STRICT) - if ($types === 'use-php-defaults') { - $types = E_ALL; - } - return set_error_handler($handler, $types); - } - - /** - * @param callable $handler - * - * @return callable|null - */ - public function setExceptionHandler(callable $handler) - { - return set_exception_handler($handler); - } - - /** - * @return void - */ - public function restoreExceptionHandler() - { - restore_exception_handler(); - } - - /** - * @return void - */ - public function restoreErrorHandler() - { - restore_error_handler(); - } - - /** - * @param callable $function - * - * @return void - */ - public function registerShutdownFunction(callable $function) - { - register_shutdown_function($function); - } - - /** - * @return string|false - */ - public function cleanOutputBuffer() - { - return ob_get_clean(); - } - - /** - * @return int - */ - public function getOutputBufferLevel() - { - return ob_get_level(); - } - - /** - * @return bool - */ - public function endOutputBuffering() - { - return ob_end_clean(); - } - - /** - * @return void - */ - public function flushOutputBuffer() - { - flush(); - } - - /** - * @return int - */ - public function getErrorReportingLevel() - { - return error_reporting(); - } - - /** - * @return array|null - */ - public function getLastError() - { - return error_get_last(); - } - - /** - * @param int $httpCode - * - * @return int - */ - public function setHttpResponseCode($httpCode) - { - return http_response_code($httpCode); - } - - /** - * @param int $exitStatus - */ - public function stopExecution($exitStatus) - { - exit($exitStatus); - } -} diff --git a/paragonik-backend/vendor/filp/whoops/src/Whoops/Util/TemplateHelper.php b/paragonik-backend/vendor/filp/whoops/src/Whoops/Util/TemplateHelper.php deleted file mode 100644 index 9c7cec2..0000000 --- a/paragonik-backend/vendor/filp/whoops/src/Whoops/Util/TemplateHelper.php +++ /dev/null @@ -1,352 +0,0 @@ - - */ - -namespace Whoops\Util; - -use Symfony\Component\VarDumper\Caster\Caster; -use Symfony\Component\VarDumper\Cloner\AbstractCloner; -use Symfony\Component\VarDumper\Cloner\VarCloner; -use Symfony\Component\VarDumper\Dumper\HtmlDumper; -use Whoops\Exception\Frame; - -/** - * Exposes useful tools for working with/in templates - */ -class TemplateHelper -{ - /** - * An array of variables to be passed to all templates - * @var array - */ - private $variables = []; - - /** - * @var HtmlDumper - */ - private $htmlDumper; - - /** - * @var HtmlDumperOutput - */ - private $htmlDumperOutput; - - /** - * @var AbstractCloner - */ - private $cloner; - - /** - * @var string - */ - private $applicationRootPath; - - public function __construct() - { - // root path for ordinary composer projects - $this->applicationRootPath = dirname(dirname(dirname(dirname(dirname(dirname(__DIR__)))))); - } - - /** - * Escapes a string for output in an HTML document - * - * @param string $raw - * @return string - */ - public function escape($raw) - { - $flags = ENT_QUOTES; - - // HHVM has all constants defined, but only ENT_IGNORE - // works at the moment - if (defined("ENT_SUBSTITUTE") && !defined("HHVM_VERSION")) { - $flags |= ENT_SUBSTITUTE; - } else { - // This is for 5.3. - // The documentation warns of a potential security issue, - // but it seems it does not apply in our case, because - // we do not blacklist anything anywhere. - $flags |= ENT_IGNORE; - } - - $raw = str_replace(chr(9), ' ', $raw); - - return htmlspecialchars($raw, $flags, "UTF-8"); - } - - /** - * Escapes a string for output in an HTML document, but preserves - * URIs within it, and converts them to clickable anchor elements. - * - * @param string $raw - * @return string - */ - public function escapeButPreserveUris($raw) - { - $escaped = $this->escape($raw); - return preg_replace( - "@([A-z]+?://([-\w\.]+[-\w])+(:\d+)?(/([\w/_\.#-]*(\?\S+)?[^\.\s])?)?)@", - "$1", - $escaped - ); - } - - /** - * Makes sure that the given string breaks on the delimiter. - * - * @param string $delimiter - * @param string $s - * @return string - */ - public function breakOnDelimiter($delimiter, $s) - { - $parts = explode($delimiter, $s); - foreach ($parts as &$part) { - $part = '' . $part . ''; - } - - return implode($delimiter, $parts); - } - - /** - * Replace the part of the path that all files have in common. - * - * @param string $path - * @return string - */ - public function shorten($path) - { - if ($this->applicationRootPath != "/") { - $path = str_replace($this->applicationRootPath, '…', $path); - } - - return $path; - } - - private function getDumper() - { - if (!$this->htmlDumper && class_exists('Symfony\Component\VarDumper\Cloner\VarCloner')) { - $this->htmlDumperOutput = new HtmlDumperOutput(); - // re-use the same var-dumper instance, so it won't re-render the global styles/scripts on each dump. - $this->htmlDumper = new HtmlDumper($this->htmlDumperOutput); - - $styles = [ - 'default' => 'color:#FFFFFF; line-height:normal; font:12px "Inconsolata", "Fira Mono", "Source Code Pro", Monaco, Consolas, "Lucida Console", monospace !important; word-wrap: break-word; white-space: pre-wrap; position:relative; z-index:99999; word-break: normal', - 'num' => 'color:#BCD42A', - 'const' => 'color: #4bb1b1;', - 'str' => 'color:#BCD42A', - 'note' => 'color:#ef7c61', - 'ref' => 'color:#A0A0A0', - 'public' => 'color:#FFFFFF', - 'protected' => 'color:#FFFFFF', - 'private' => 'color:#FFFFFF', - 'meta' => 'color:#FFFFFF', - 'key' => 'color:#BCD42A', - 'index' => 'color:#ef7c61', - ]; - $this->htmlDumper->setStyles($styles); - } - - return $this->htmlDumper; - } - - /** - * Format the given value into a human readable string. - * - * @param mixed $value - * @return string - */ - public function dump($value) - { - $dumper = $this->getDumper(); - - if ($dumper) { - // re-use the same DumpOutput instance, so it won't re-render the global styles/scripts on each dump. - // exclude verbose information (e.g. exception stack traces) - if (class_exists('Symfony\Component\VarDumper\Caster\Caster')) { - $cloneVar = $this->getCloner()->cloneVar($value, Caster::EXCLUDE_VERBOSE); - // Symfony VarDumper 2.6 Caster class dont exist. - } else { - $cloneVar = $this->getCloner()->cloneVar($value); - } - - $dumper->dump( - $cloneVar, - $this->htmlDumperOutput - ); - - $output = $this->htmlDumperOutput->getOutput(); - $this->htmlDumperOutput->clear(); - - return $output; - } - - return htmlspecialchars(print_r($value, true)); - } - - /** - * Format the args of the given Frame as a human readable html string - * - * @param Frame $frame - * @return string the rendered html - */ - public function dumpArgs(Frame $frame) - { - // we support frame args only when the optional dumper is available - if (!$this->getDumper()) { - return ''; - } - - $html = ''; - $numFrames = count($frame->getArgs()); - - if ($numFrames > 0) { - $html = '
    '; - foreach ($frame->getArgs() as $j => $frameArg) { - $html .= '
  1. '. $this->dump($frameArg) .'
  2. '; - } - $html .= '
'; - } - - return $html; - } - - /** - * Convert a string to a slug version of itself - * - * @param string $original - * @return string - */ - public function slug($original) - { - $slug = str_replace(" ", "-", $original); - $slug = preg_replace('/[^\w\d\-\_]/i', '', $slug); - return strtolower($slug); - } - - /** - * Given a template path, render it within its own scope. This - * method also accepts an array of additional variables to be - * passed to the template. - * - * @param string $template - * @param array $additionalVariables - */ - public function render($template, array $additionalVariables = null) - { - $variables = $this->getVariables(); - - // Pass the helper to the template: - $variables["tpl"] = $this; - - if ($additionalVariables !== null) { - $variables = array_replace($variables, $additionalVariables); - } - - call_user_func(function () { - extract(func_get_arg(1)); - require func_get_arg(0); - }, $template, $variables); - } - - /** - * Sets the variables to be passed to all templates rendered - * by this template helper. - * - * @param array $variables - */ - public function setVariables(array $variables) - { - $this->variables = $variables; - } - - /** - * Sets a single template variable, by its name: - * - * @param string $variableName - * @param mixed $variableValue - */ - public function setVariable($variableName, $variableValue) - { - $this->variables[$variableName] = $variableValue; - } - - /** - * Gets a single template variable, by its name, or - * $defaultValue if the variable does not exist - * - * @param string $variableName - * @param mixed $defaultValue - * @return mixed - */ - public function getVariable($variableName, $defaultValue = null) - { - return isset($this->variables[$variableName]) ? - $this->variables[$variableName] : $defaultValue; - } - - /** - * Unsets a single template variable, by its name - * - * @param string $variableName - */ - public function delVariable($variableName) - { - unset($this->variables[$variableName]); - } - - /** - * Returns all variables for this helper - * - * @return array - */ - public function getVariables() - { - return $this->variables; - } - - /** - * Set the cloner used for dumping variables. - * - * @param AbstractCloner $cloner - */ - public function setCloner($cloner) - { - $this->cloner = $cloner; - } - - /** - * Get the cloner used for dumping variables. - * - * @return AbstractCloner - */ - public function getCloner() - { - if (!$this->cloner) { - $this->cloner = new VarCloner(); - } - return $this->cloner; - } - - /** - * Set the application root path. - * - * @param string $applicationRootPath - */ - public function setApplicationRootPath($applicationRootPath) - { - $this->applicationRootPath = $applicationRootPath; - } - - /** - * Return the application root path. - * - * @return string - */ - public function getApplicationRootPath() - { - return $this->applicationRootPath; - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/.github/ISSUE_TEMPLATE/bug_report.md b/paragonik-backend/vendor/fzaninotto/faker/.github/ISSUE_TEMPLATE/bug_report.md deleted file mode 100644 index 3e8543b..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/.github/ISSUE_TEMPLATE/bug_report.md +++ /dev/null @@ -1,39 +0,0 @@ ---- -name: Bug report -about: Create a report to help us improve -title: '' -labels: '' -assignees: '' - ---- - -### Summary - - - -### Versions - - - -| | Version | -|:--------------------|:--------| -| PHP | x.y.z | -| `fzaninotto/faker` | x.y.z | - -### Self-enclosed code snippet for reproduction - -```php - -``` - -### Expected output - -```txt - -``` - -### Actual output - -```txt - -``` diff --git a/paragonik-backend/vendor/fzaninotto/faker/CHANGELOG.md b/paragonik-backend/vendor/fzaninotto/faker/CHANGELOG.md deleted file mode 100644 index eafcdec..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/CHANGELOG.md +++ /dev/null @@ -1,734 +0,0 @@ -# CHANGELOG - - -## 2019-11-10, v1.9.0 - -This will the last minor release in the `1.x` cycle. - -- Add all Iran's provinces land lines numbers [\#1806](https://github.com/fzaninotto/Faker/pull/1806) ([kingofnull](https://github.com/kingofnull)) -- replace latin "B" to cyrillic "B" for uk\_UA locale [\#1800](https://github.com/fzaninotto/Faker/pull/1800) ([FI-LIFE](https://github.com/FI-LIFE)) -- Add elgentos/masquerade to third-party library list [\#1798](https://github.com/fzaninotto/Faker/pull/1798) ([erikhansen](https://github.com/erikhansen)) -- Add link to Gravatar provider repository [\#1796](https://github.com/fzaninotto/Faker/pull/1796) ([ottaviano](https://github.com/ottaviano)) -- Add mobileNumber\(\) method for nb\_NO [\#1788](https://github.com/fzaninotto/Faker/pull/1788) ([carestad](https://github.com/carestad)) -- Enhancement: Slightly clean up Company provider [\#1783](https://github.com/fzaninotto/Faker/pull/1783) ([localheinz](https://github.com/localheinz)) -- Added some more information for autoloading in the readme [\#1780](https://github.com/fzaninotto/Faker/pull/1780) ([pimjansen](https://github.com/pimjansen)) -- Enhancement: Add issue template for bug report [\#1779](https://github.com/fzaninotto/Faker/pull/1779) ([localheinz](https://github.com/localheinz)) -- Add hslColor to ColorProvider [\#1776](https://github.com/fzaninotto/Faker/pull/1776) ([icanhazstring](https://github.com/icanhazstring)) -- Enhancement: Consistently use composer package name for link content [\#1770](https://github.com/fzaninotto/Faker/pull/1770) ([localheinz](https://github.com/localheinz)) -- Add Correct Thai words for streets,soi etc names and add Thai First a… [\#1769](https://github.com/fzaninotto/Faker/pull/1769) ([pierrejoye](https://github.com/pierrejoye)) -- Enhancement: Assert that postcode generated by Austrian Address provider matches format [\#1766](https://github.com/fzaninotto/Faker/pull/1766) ([localheinz](https://github.com/localheinz)) -- Enhancement: Update squizlabs/php\_codesniffer [\#1763](https://github.com/fzaninotto/Faker/pull/1763) ([localheinz](https://github.com/localheinz)) -- Enhancement: Assert that imageUrl can be used with gray flag [\#1762](https://github.com/fzaninotto/Faker/pull/1762) ([localheinz](https://github.com/localheinz)) -- Enhancement: Introduce build and help targets [\#1761](https://github.com/fzaninotto/Faker/pull/1761) ([localheinz](https://github.com/localheinz)) -- Enhancement: Disable Xdebug as early as possible [\#1758](https://github.com/fzaninotto/Faker/pull/1758) ([localheinz](https://github.com/localheinz)) -- Enhancement: Clean up .gitattributes [\#1756](https://github.com/fzaninotto/Faker/pull/1756) ([localheinz](https://github.com/localheinz)) -- Enhancement: Reference phpunit.xsd as installed with composer [\#1755](https://github.com/fzaninotto/Faker/pull/1755) ([localheinz](https://github.com/localheinz)) -- add id\_ID Color [\#1754](https://github.com/fzaninotto/Faker/pull/1754) ([cacing69](https://github.com/cacing69)) -- PHP 7.4 compatibility [\#1748](https://github.com/fzaninotto/Faker/pull/1748) ([pimjansen](https://github.com/pimjansen)) -- Add lastName gender specific on ru\_RU locale [\#1747](https://github.com/fzaninotto/Faker/pull/1747) ([aanfarhan](https://github.com/aanfarhan)) -- Update README - Add a new faker. [\#1731](https://github.com/fzaninotto/Faker/pull/1731) ([drupol](https://github.com/drupol)) -- Add faker-eddy-malou third-party library [\#1717](https://github.com/fzaninotto/Faker/pull/1717) ([Metrakit](https://github.com/Metrakit)) -- \[de\_DE\] Company\JobTitle: list of common german job titles [\#1716](https://github.com/fzaninotto/Faker/pull/1716) ([amacado](https://github.com/amacado)) -- Added 'red' to $safeColorNames [\#1701](https://github.com/fzaninotto/Faker/pull/1701) ([xfudox](https://github.com/xfudox)) -- \[pt\_PT/Address\] Add abbreviature to 'travessa' and 'largo' [\#1606](https://github.com/fzaninotto/Faker/pull/1606) ([simaolemos](https://github.com/simaolemos)) -- Fix method name for en\_NZ provider in readme [\#1595](https://github.com/fzaninotto/Faker/pull/1595) ([gdhnz](https://github.com/gdhnz)) -- Refactoring of the TextTest class [\#1590](https://github.com/fzaninotto/Faker/pull/1590) ([stevegrunwell](https://github.com/stevegrunwell)) -- add gender variants for last name \[lt\_LT\] [\#1586](https://github.com/fzaninotto/Faker/pull/1586) ([ikerasLT](https://github.com/ikerasLT)) -- add .id TLD [\#1566](https://github.com/fzaninotto/Faker/pull/1566) ([ad3n](https://github.com/ad3n)) -- Add Color provider to es\_ES locale [\#1559](https://github.com/fzaninotto/Faker/pull/1559) ([juananruiz](https://github.com/juananruiz)) -- Enhancement: Keep packages sorted in composer.json [\#1551](https://github.com/fzaninotto/Faker/pull/1551) ([localheinz](https://github.com/localheinz)) -- Portuguese providers for Companies and Internet [\#1537](https://github.com/fzaninotto/Faker/pull/1537) ([promatik](https://github.com/promatik)) -- Improve Dutch company names [\#1529](https://github.com/fzaninotto/Faker/pull/1529) ([koole](https://github.com/koole)) -- Document randomDigitNot base formatter. [\#1514](https://github.com/fzaninotto/Faker/pull/1514) ([shawnlindstrom](https://github.com/shawnlindstrom)) -- Estonian names [\#1461](https://github.com/fzaninotto/Faker/pull/1461) ([much-rebel](https://github.com/much-rebel)) -- add birthplace support for ID nik generator [\#1451](https://github.com/fzaninotto/Faker/pull/1451) ([mikk150](https://github.com/mikk150)) -- List of banks in Brazil added [\#1427](https://github.com/fzaninotto/Faker/pull/1427) ([diegohenicka](https://github.com/diegohenicka)) -- Remove last names from the male first names array \(et\_EE\) [\#1799](https://github.com/fzaninotto/Faker/pull/1799) ([Mihkel100](https://github.com/Mihkel100)) -- Update out-of-date currency codes [\#1795](https://github.com/fzaninotto/Faker/pull/1795) ([Brindster](https://github.com/Brindster)) -- Floor is not always returning an int [\#1790](https://github.com/fzaninotto/Faker/pull/1790) ([pimjansen](https://github.com/pimjansen)) -- typo [\#1789](https://github.com/fzaninotto/Faker/pull/1789) ([enumag](https://github.com/enumag)) -- Added batch inserts for doctrine orm populate [\#1781](https://github.com/fzaninotto/Faker/pull/1781) ([pimjansen](https://github.com/pimjansen)) -- FIx: Avoid deprecation warning in newer CakePHP version [\#1777](https://github.com/fzaninotto/Faker/pull/1777) ([icanhazstring](https://github.com/icanhazstring)) -- Fix: Consistently link to GitHub repositories [\#1774](https://github.com/fzaninotto/Faker/pull/1774) ([localheinz](https://github.com/localheinz)) -- Fix: Name of package [\#1772](https://github.com/fzaninotto/Faker/pull/1772) ([localheinz](https://github.com/localheinz)) -- Remove BV and HM country codes. [\#1767](https://github.com/fzaninotto/Faker/pull/1767) ([oliverpool](https://github.com/oliverpool)) -- Fix: Remove sudo configuration [\#1760](https://github.com/fzaninotto/Faker/pull/1760) ([localheinz](https://github.com/localheinz)) -- Fix: Allow nightly builds to fail [\#1759](https://github.com/fzaninotto/Faker/pull/1759) ([localheinz](https://github.com/localheinz)) -- Fix: No need to update composer itself [\#1757](https://github.com/fzaninotto/Faker/pull/1757) ([localheinz](https://github.com/localheinz)) -- duplicate first name and last name removal [\#1729](https://github.com/fzaninotto/Faker/pull/1729) ([sagautam5](https://github.com/sagautam5)) -- Fix-Isreal--Israel [\#1724](https://github.com/fzaninotto/Faker/pull/1724) ([GitEvil](https://github.com/GitEvil)) -- fix\(issue-1721\): add phpdoc method and properties annotations for php… [\#1722](https://github.com/fzaninotto/Faker/pull/1722) ([lugus](https://github.com/lugus)) -- Typo in function PHPDoc [\#1711](https://github.com/fzaninotto/Faker/pull/1711) ([Dzhuneyt](https://github.com/Dzhuneyt)) -- Fix: Add allowed type DateTime to param annotation [\#1697](https://github.com/fzaninotto/Faker/pull/1697) ([localheinz](https://github.com/localheinz)) -- Calling a non static method as static not allowed. [\#1696](https://github.com/fzaninotto/Faker/pull/1696) ([wilco-1985](https://github.com/wilco-1985)) -- Bug Fix en\_SG mobile number generation [\#1658](https://github.com/fzaninotto/Faker/pull/1658) ([ziming](https://github.com/ziming)) -- Update ja\_JP Address Provider [\#1649](https://github.com/fzaninotto/Faker/pull/1649) ([atmngw](https://github.com/atmngw)) -- Fixed realText on ja\_JP locale broken, /u missing [\#1634](https://github.com/fzaninotto/Faker/pull/1634) ([mihit](https://github.com/mihit)) -- Removed comma and space from $firstNameMale for en\_IN [\#1608](https://github.com/fzaninotto/Faker/pull/1608) ([phpspider](https://github.com/phpspider)) -- Prevent Transliterator class autoloading [\#1575](https://github.com/fzaninotto/Faker/pull/1575) ([MontealegreLuis](https://github.com/MontealegreLuis)) -- building numbers in Germany never start with a zero or are zero [\#1530](https://github.com/fzaninotto/Faker/pull/1530) ([fostam](https://github.com/fostam)) -- Fixing sk\_SK men last names set [\#1459](https://github.com/fzaninotto/Faker/pull/1459) ([pavoltanuska](https://github.com/pavoltanuska)) -- Taiwan ID. The initial letter must be a capital letter. p-\>P [\#1434](https://github.com/fzaninotto/Faker/pull/1434) ([slawa-dev](https://github.com/slawa-dev)) -- Revert "Added 'red' to $safeColorNames" [\#1778](https://github.com/fzaninotto/Faker/pull/1778) ([fzaninotto](https://github.com/fzaninotto)) -- Added realText capability for fr\_CA [\#1686](https://github.com/fzaninotto/Faker/pull/1686) ([bobanum](https://github.com/bobanum)) -- Add loremflickr.com Provider to the thrid parties [\#1683](https://github.com/fzaninotto/Faker/pull/1683) ([xvladxtremal](https://github.com/xvladxtremal)) -- Add Undeclared Faker Instance to PhoneNumber Test in en\_NG [\#1682](https://github.com/fzaninotto/Faker/pull/1682) ([thearsalan](https://github.com/thearsalan)) -- PSR-2 updates to readme [\#1679](https://github.com/fzaninotto/Faker/pull/1679) ([b3none](https://github.com/b3none)) -- PHPDoc for `passthrough` function on Generator [\#1678](https://github.com/fzaninotto/Faker/pull/1678) ([tabakhase](https://github.com/tabakhase)) -- Make en\_CA Phone Provider Extend the en\_US One [\#1676](https://github.com/fzaninotto/Faker/pull/1676) ([darrylhein](https://github.com/darrylhein)) -- Add Valid National Code Generator to fa\_IR Person [\#1675](https://github.com/fzaninotto/Faker/pull/1675) ([thearsalan](https://github.com/thearsalan)) -- Updated readme.md: added a missing backslash [\#1673](https://github.com/fzaninotto/Faker/pull/1673) ([aubryfr](https://github.com/aubryfr)) -- Add 'Faker\Provider\en\_US\Company::catchPhrase' to ru\_RU locale [\#1668](https://github.com/fzaninotto/Faker/pull/1668) ([axklim](https://github.com/axklim)) -- Update deprecated \PHPUnit\_Framework\_TestCase with PHPUnit\Framework\TestCase [\#1664](https://github.com/fzaninotto/Faker/pull/1664) ([thewhit](https://github.com/thewhit)) -- Support populating Doctrine's immutable date types [\#1639](https://github.com/fzaninotto/Faker/pull/1639) ([voronkovich](https://github.com/voronkovich)) -- add titleMale and titleFemale method to all Person classes [\#1635](https://github.com/fzaninotto/Faker/pull/1635) ([RiverDanceGit](https://github.com/RiverDanceGit)) -- Minor typo fix [\#1631](https://github.com/fzaninotto/Faker/pull/1631) ([nhedger](https://github.com/nhedger)) -- Add link to er1z/fakemock [\#1622](https://github.com/fzaninotto/Faker/pull/1622) ([er1z](https://github.com/er1z)) -- Add Dutch \(nl\_NL\) job titles [\#1618](https://github.com/fzaninotto/Faker/pull/1618) ([SjorsO](https://github.com/SjorsO)) -- Exclude files and folder from release archive [\#1617](https://github.com/fzaninotto/Faker/pull/1617) ([ankurk91](https://github.com/ankurk91)) -- Update doc block [\#1615](https://github.com/fzaninotto/Faker/pull/1615) ([ankurk91](https://github.com/ankurk91)) -- Suggest PSR-4 compliant autoloader in comment [\#1614](https://github.com/fzaninotto/Faker/pull/1614) ([samnela](https://github.com/samnela)) -- Fix dateTimeBetween\(\) Argument on Generator phpdoc [\#1583](https://github.com/fzaninotto/Faker/pull/1583) ([hisomura](https://github.com/hisomura)) -- Fix Dutch typo [\#1580](https://github.com/fzaninotto/Faker/pull/1580) ([gizburdt](https://github.com/gizburdt)) -- Old city names changed to new ones [\#1578](https://github.com/fzaninotto/Faker/pull/1578) ([goszowski](https://github.com/goszowski)) -- Correct documentation [\#1571](https://github.com/fzaninotto/Faker/pull/1571) ([rquadling](https://github.com/rquadling)) -- Make $suffix protected not private in nl\_NL\Person provider [\#1561](https://github.com/fzaninotto/Faker/pull/1561) ([SpadXIII](https://github.com/SpadXIII)) -- Add PicsumPhotos Provider to the thrid parties [\#1560](https://github.com/fzaninotto/Faker/pull/1560) ([bluemmb](https://github.com/bluemmb)) -- fix austrian postal codes starting with invalid 0 [\#1545](https://github.com/fzaninotto/Faker/pull/1545) ([mpge](https://github.com/mpge)) -- Restore a random seed when the Generator is destroyed [\#1534](https://github.com/fzaninotto/Faker/pull/1534) ([lyrixx](https://github.com/lyrixx)) -- Add a swiss social security number \(AVS13\) generator [\#1533](https://github.com/fzaninotto/Faker/pull/1533) ([nhedger](https://github.com/nhedger)) -- Small tweaks [\#1526](https://github.com/fzaninotto/Faker/pull/1526) ([carusogabriel](https://github.com/carusogabriel)) -- fix ukraine first name person, delete space [\#1525](https://github.com/fzaninotto/Faker/pull/1525) ([Yasuslik](https://github.com/Yasuslik)) -- Removed unknown postcode [\#1440](https://github.com/fzaninotto/Faker/pull/1440) ([ayanozturk](https://github.com/ayanozturk)) -- Add more PhoneNumber options for es\_ES [\#1219](https://github.com/fzaninotto/Faker/pull/1219) ([driade](https://github.com/driade)) -- Fix duplication in uk\_UA male first names [\#1214](https://github.com/fzaninotto/Faker/pull/1214) ([fre5h](https://github.com/fre5h)) -- Added missing grayscale option/flag to Image provider [\#928](https://github.com/fzaninotto/Faker/pull/928) ([sebastianvilla](https://github.com/sebastianvilla)) - -## 2018-07-12, v1.8.0 - -- Typo in readme [\#1521](https://github.com/fzaninotto/Faker/pull/1521) ([jmhobbs](https://github.com/jmhobbs)) -- Replaced Hilll with Hill [\#1516](https://github.com/fzaninotto/Faker/pull/1516) ([MarkVaughn](https://github.com/MarkVaughn)) -- \[it\_IT\] Improve vat ID generated using official rules [\#1508](https://github.com/fzaninotto/Faker/pull/1508) ([mavimo](https://github.com/mavimo)) -- \[hu\_HU\] Address: Fix unnecessary new line in string [\#1507](https://github.com/fzaninotto/Faker/pull/1507) ([ntomka](https://github.com/ntomka)) -- add phone numer format [\#1506](https://github.com/fzaninotto/Faker/pull/1506) ([Enosh-Yu](https://github.com/Enosh-Yu)) -- Fix typo in fr\_CA Provider [\#1505](https://github.com/fzaninotto/Faker/pull/1505) ([ultreson](https://github.com/ultreson)) -- Add fake-car provider link [\#1497](https://github.com/fzaninotto/Faker/pull/1497) ([pelmered](https://github.com/pelmered)) -- create `passthrough` function [\#1493](https://github.com/fzaninotto/Faker/pull/1493) ([browner12](https://github.com/browner12)) -- update Polish bank list [\#1482](https://github.com/fzaninotto/Faker/pull/1482) ([IonBazan](https://github.com/IonBazan)) -- Update the parameters to check if the setter is callable [\#1470](https://github.com/fzaninotto/Faker/pull/1470) ([rossmitchell](https://github.com/rossmitchell)) -- Push the max date far into the future so the test can pass [\#1469](https://github.com/fzaninotto/Faker/pull/1469) ([rossmitchell](https://github.com/rossmitchell)) -- Update Address.php [\#1465](https://github.com/fzaninotto/Faker/pull/1465) ([Saibamen](https://github.com/Saibamen)) -- Turkish identity number for tr\_TR [\#1462](https://github.com/fzaninotto/Faker/pull/1462) ([aykutaras](https://github.com/aykutaras)) -- Fixing rare iin with 13-digits. [\#1450](https://github.com/fzaninotto/Faker/pull/1450) ([vadimonus](https://github.com/vadimonus)) -- Fix Polish PESEL faker [\#1449](https://github.com/fzaninotto/Faker/pull/1449) ([Dartui](https://github.com/Dartui)) -- Adds valid 08 number formats for fr\_FR [\#1439](https://github.com/fzaninotto/Faker/pull/1439) ([ppelgrims](https://github.com/ppelgrims)) -- Add YouTube provider link [\#1422](https://github.com/fzaninotto/Faker/pull/1422) ([aalaap](https://github.com/aalaap)) -- Update PHPDoc of the DateTime provider. [\#1419](https://github.com/fzaninotto/Faker/pull/1419) ([tomzx](https://github.com/tomzx)) -- Normalize name of variable [\#1412](https://github.com/fzaninotto/Faker/pull/1412) ([eaglewu](https://github.com/eaglewu)) -- Added "blockchain" to en-us company provider catchPhrase method [\#1411](https://github.com/fzaninotto/Faker/pull/1411) ([samoldenburg](https://github.com/samoldenburg)) -- Fix for Spot2 ORM EntityPopulator [\#1408](https://github.com/fzaninotto/Faker/pull/1408) ([michal-borek](https://github.com/michal-borek)) -- TH color name [\#1404](https://github.com/fzaninotto/Faker/pull/1404) ([Naruedom](https://github.com/Naruedom)) -- added Malaysia \[ms\_MY\] locale [\#1403](https://github.com/fzaninotto/Faker/pull/1403) ([kenfai](https://github.com/kenfai)) -- Implementation of the function that generates Brazilian area codes fixed. [\#1401](https://github.com/fzaninotto/Faker/pull/1401) ([jackmiras](https://github.com/jackmiras)) -- VISA retired the 13 digit PAN moved to new cardParams [\#1400](https://github.com/fzaninotto/Faker/pull/1400) ([hppycoder](https://github.com/hppycoder)) -- Remove unused variable inside closure [\#1395](https://github.com/fzaninotto/Faker/pull/1395) ([carusogabriel](https://github.com/carusogabriel)) -- .nz domain updates [\#1393](https://github.com/fzaninotto/Faker/pull/1393) ([xurizaemon](https://github.com/xurizaemon)) -- Add licenceCode method in the to es\_ES person provider [\#1392](https://github.com/fzaninotto/Faker/pull/1392) ([ffiguereo](https://github.com/ffiguereo)) -- allow `randomElements` to accept a Traversable object [\#1389](https://github.com/fzaninotto/Faker/pull/1389) ([browner12](https://github.com/browner12)) -- Doc: rg remove formatting [\#1387](https://github.com/fzaninotto/Faker/pull/1387) ([emtudo](https://github.com/emtudo)) -- Add numbers with start 4 [\#1386](https://github.com/fzaninotto/Faker/pull/1386) ([emtudo](https://github.com/emtudo)) -- update th\_TH mobile number format [\#1385](https://github.com/fzaninotto/Faker/pull/1385) ([earthpyy](https://github.com/earthpyy)) -- Translate country names for lv\_LV provider. [\#1383](https://github.com/fzaninotto/Faker/pull/1383) ([ronaldsgailis](https://github.com/ronaldsgailis)) -- Clean elses [\#1382](https://github.com/fzaninotto/Faker/pull/1382) ([carusogabriel](https://github.com/carusogabriel)) -- French vat formatter [\#1381](https://github.com/fzaninotto/Faker/pull/1381) ([ppelgrims](https://github.com/ppelgrims)) -- Replaces rtrim with preg\_replace [\#1380](https://github.com/fzaninotto/Faker/pull/1380) ([ppelgrims](https://github.com/ppelgrims)) -- Refactoring tests [\#1375](https://github.com/fzaninotto/Faker/pull/1375) ([carusogabriel](https://github.com/carusogabriel)) -- Added link in readme to provider FakerRestaurant [\#1374](https://github.com/fzaninotto/Faker/pull/1374) ([jzonta](https://github.com/jzonta)) -- Remove obsolete currency codes [\#1373](https://github.com/fzaninotto/Faker/pull/1373) ([tpraxl](https://github.com/tpraxl)) -- \[ru\_RU\] Updated countries and added source link [\#1372](https://github.com/fzaninotto/Faker/pull/1372) ([ilyahoilik](https://github.com/ilyahoilik)) -- Test against PHP 7.2 [\#1371](https://github.com/fzaninotto/Faker/pull/1371) ([carusogabriel](https://github.com/carusogabriel)) -- Feature: nl\_BE text provider [\#1370](https://github.com/fzaninotto/Faker/pull/1370) ([rauwebieten](https://github.com/rauwebieten)) -- default value for Payment::iban\(\) country code [\#1369](https://github.com/fzaninotto/Faker/pull/1369) ([madmanmax](https://github.com/madmanmax)) -- skip test failing on bigendian [\#1365](https://github.com/fzaninotto/Faker/pull/1365) ([remicollet](https://github.com/remicollet)) -- Update Person.php [\#1364](https://github.com/fzaninotto/Faker/pull/1364) ([majamusan](https://github.com/majamusan)) -- Prevent errors on private methods [\#1363](https://github.com/fzaninotto/Faker/pull/1363) ([petecoop](https://github.com/petecoop)) -- adds rijksregisternummer [\#1361](https://github.com/fzaninotto/Faker/pull/1361) ([ppelgrims](https://github.com/ppelgrims)) -- Add secondary address to fr\_FR provider [\#1356](https://github.com/fzaninotto/Faker/pull/1356) ([nicodmf](https://github.com/nicodmf)) -- Add company provider for tr\_TR [\#1355](https://github.com/fzaninotto/Faker/pull/1355) ([yuks](https://github.com/yuks)) -- nb\_NO provider updates [\#1350](https://github.com/fzaninotto/Faker/pull/1350) ([alexqhj](https://github.com/alexqhj)) -- only test available date range on 32-bit [\#1348](https://github.com/fzaninotto/Faker/pull/1348) ([remicollet](https://github.com/remicollet)) -- Bump PHPUnit version for namespace compatibility [\#1345](https://github.com/fzaninotto/Faker/pull/1345) ([carusogabriel](https://github.com/carusogabriel)) -- Use PSR-1 for PHPUnit TestCase [\#1344](https://github.com/fzaninotto/Faker/pull/1344) ([carusogabriel](https://github.com/carusogabriel)) -- Fix FR\_fr 07 prefix mobile number generation [\#1343](https://github.com/fzaninotto/Faker/pull/1343) ([svanpoeck](https://github.com/svanpoeck)) -- Update Text.php [\#1339](https://github.com/fzaninotto/Faker/pull/1339) ([gulaandrij](https://github.com/gulaandrij)) -- Add two new company type in the Swiss Provider [\#1336](https://github.com/fzaninotto/Faker/pull/1336) ([pvullioud](https://github.com/pvullioud)) -- Change symbol 'minus' with code 226 to 'minus' with code 45 [\#1333](https://github.com/fzaninotto/Faker/pull/1333) ([Negasus](https://github.com/Negasus)) -- \[sl\_SI\] Created provider for Company [\#1331](https://github.com/fzaninotto/Faker/pull/1331) ([alesvaupotic](https://github.com/alesvaupotic)) -- Update city name [\#1328](https://github.com/fzaninotto/Faker/pull/1328) ([s9801077](https://github.com/s9801077)) -- Fix \#1305 realText in some cases breaks last character [\#1326](https://github.com/fzaninotto/Faker/pull/1326) ([iamraccoon](https://github.com/iamraccoon)) -- Real Dutch postal codes [\#1323](https://github.com/fzaninotto/Faker/pull/1323) ([ametad](https://github.com/ametad)) -- Added male and female titles for the en\_ZA locale [\#1321](https://github.com/fzaninotto/Faker/pull/1321) ([ViGouRCanberra](https://github.com/ViGouRCanberra)) -- Add German Email Providers [\#1320](https://github.com/fzaninotto/Faker/pull/1320) ([Stoffo](https://github.com/Stoffo)) -- Fix "Resource temporarily unavailable" [\#1319](https://github.com/fzaninotto/Faker/pull/1319) ([eberkund](https://github.com/eberkund)) -- Introduced the ability to specify a default timezone... [\#1316](https://github.com/fzaninotto/Faker/pull/1316) ([telkins](https://github.com/telkins)) -- South African licence codes [\#1315](https://github.com/fzaninotto/Faker/pull/1315) ([royalmitten](https://github.com/royalmitten)) -- Fix with incorrect name city. [\#1309](https://github.com/fzaninotto/Faker/pull/1309) ([zzenmate](https://github.com/zzenmate)) -- Fixed type-o in readme under section about Language specific formatters [\#1302](https://github.com/fzaninotto/Faker/pull/1302) ([espenkn](https://github.com/espenkn)) -- Update Person.php [\#1298](https://github.com/fzaninotto/Faker/pull/1298) ([yappkahowe](https://github.com/yappkahowe)) -- Allow children classes to access self::$suffix [\#1296](https://github.com/fzaninotto/Faker/pull/1296) ([greg0ire](https://github.com/greg0ire)) -- Fix with namespace payment provider for uk\_UA [\#1293](https://github.com/fzaninotto/Faker/pull/1293) ([zzenmate](https://github.com/zzenmate)) -- Update zh\_TW text provider [\#1292](https://github.com/fzaninotto/Faker/pull/1292) ([s9801077](https://github.com/s9801077)) -- Fix CURL status code in ImageTest.php [\#1290](https://github.com/fzaninotto/Faker/pull/1290) ([Sanfra1407](https://github.com/Sanfra1407)) -- Tax Id for companies and new formats for es\_VE [\#1287](https://github.com/fzaninotto/Faker/pull/1287) ([DIOHz0r](https://github.com/DIOHz0r)) -- Added idNumber for nl\_NL [\#1283](https://github.com/fzaninotto/Faker/pull/1283) ([artorozenga](https://github.com/artorozenga)) -- Feature/en us company ein [\#1273](https://github.com/fzaninotto/Faker/pull/1273) ([zachflower](https://github.com/zachflower)) - -## 2017-08-15, v1.7.0 - -- Added more Ukrainian banks [\#1271](https://github.com/fzaninotto/Faker/pull/1271) ([iamraccoon](https://github.com/iamraccoon)) -- Hotfix/failing unit tests [\#1269](https://github.com/fzaninotto/Faker/pull/1269) ([zachflower](https://github.com/zachflower)) -- Lock Travis-CI environment to Ubuntu Precise [\#1268](https://github.com/fzaninotto/Faker/pull/1268) ([zachflower](https://github.com/zachflower)) -- Added Ukrainian job title [\#1267](https://github.com/fzaninotto/Faker/pull/1267) ([iamraccoon](https://github.com/iamraccoon)) -- Add compliant en\_US SSN generator [\#1266](https://github.com/fzaninotto/Faker/pull/1266) ([zachflower](https://github.com/zachflower)) -- Added more Ukrainian streets and removed irrelevant names. Added more Ukrainian mobile formats [\#1265](https://github.com/fzaninotto/Faker/pull/1265) ([iamraccoon](https://github.com/iamraccoon)) -- Add Internet Format for ja\_JP. [\#1260](https://github.com/fzaninotto/Faker/pull/1260) ([itigoppo](https://github.com/itigoppo)) -- rectify ISO 4217 codes [\#1258](https://github.com/fzaninotto/Faker/pull/1258) ([eidng8](https://github.com/eidng8)) -- Corrected of grammar of Ukrainian middlenames and test added [\#1257](https://github.com/fzaninotto/Faker/pull/1257) ([vladbuk](https://github.com/vladbuk)) -- Update ISO 4217 active codes [\#1251](https://github.com/fzaninotto/Faker/pull/1251) ([eidng8](https://github.com/eidng8)) -- Update Composer File [\#1248](https://github.com/fzaninotto/Faker/pull/1248) ([vinkla](https://github.com/vinkla)) -- Set capitals to false [\#1243](https://github.com/fzaninotto/Faker/pull/1243) ([Stichoza](https://github.com/Stichoza)) -- Use static instead of self [\#1242](https://github.com/fzaninotto/Faker/pull/1242) ([Stichoza](https://github.com/Stichoza)) -- Add VAT french format [\#1241](https://github.com/fzaninotto/Faker/pull/1241) ([baptistedonaux](https://github.com/baptistedonaux)) -- Add swedish job titles [\#1234](https://github.com/fzaninotto/Faker/pull/1234) ([vinkla](https://github.com/vinkla)) -- Name Simo shouldn't have comma in it [\#1230](https://github.com/fzaninotto/Faker/pull/1230) ([simoheinonen](https://github.com/simoheinonen)) -- Fix: Add method annotation for ValidGenerator [\#1223](https://github.com/fzaninotto/Faker/pull/1223) ([localheinz](https://github.com/localheinz)) -- Add real text for es\_ES [\#1220](https://github.com/fzaninotto/Faker/pull/1220) ([driade](https://github.com/driade)) -- Fix spelling errors [\#1218](https://github.com/fzaninotto/Faker/pull/1218) ([driade](https://github.com/driade)) -- Fix spelling errors [\#1217](https://github.com/fzaninotto/Faker/pull/1217) ([driade](https://github.com/driade)) -- Fixes typo [\#1212](https://github.com/fzaninotto/Faker/pull/1212) ([skullboner](https://github.com/skullboner)) -- Add Person::middleName for ru\_RU provider [\#1209](https://github.com/fzaninotto/Faker/pull/1209) ([JustBlackBird](https://github.com/JustBlackBird)) -- Fix creditCardDetails type hint [\#1208](https://github.com/fzaninotto/Faker/pull/1208) ([jejung](https://github.com/jejung)) -- Expand dictionaries for ru\_RU locale [\#1206](https://github.com/fzaninotto/Faker/pull/1206) ([pwsdotru](https://github.com/pwsdotru)) -- Fix ng\_NG to en\_NG [\#1205](https://github.com/fzaninotto/Faker/pull/1205) ([raphaeldealmeida](https://github.com/raphaeldealmeida)) -- Add INN and KPP support for ru\_RU locale [\#1204](https://github.com/fzaninotto/Faker/pull/1204) ([pwsdotru](https://github.com/pwsdotru)) -- Remove break line on pt\_PT Address format [\#1203](https://github.com/fzaninotto/Faker/pull/1203) ([raphaeldealmeida](https://github.com/raphaeldealmeida)) -- Fix syntax of phpdoc boolean property [\#1198](https://github.com/fzaninotto/Faker/pull/1198) ([pavelkovar](https://github.com/pavelkovar)) -- add en\_HK provider [\#1196](https://github.com/fzaninotto/Faker/pull/1196) ([miklcct](https://github.com/miklcct)) -- use secure https [\#1186](https://github.com/fzaninotto/Faker/pull/1186) ([jpuck](https://github.com/jpuck)) -- Add PhoneNumberFormat for ja\_JP. [\#1185](https://github.com/fzaninotto/Faker/pull/1185) ([itigoppo](https://github.com/itigoppo)) -- Fix: Add class-level method annotations for DateTime provider [\#1183](https://github.com/fzaninotto/Faker/pull/1183) ([localheinz](https://github.com/localheinz)) -- Add ar\_SA Color Provider [\#1182](https://github.com/fzaninotto/Faker/pull/1182) ([alhoqbani](https://github.com/alhoqbani)) -- Added uk\_UA Payment provider with bank name generator [\#1181](https://github.com/fzaninotto/Faker/pull/1181) ([spaghettimaster](https://github.com/spaghettimaster)) -- Typos [\#1177](https://github.com/fzaninotto/Faker/pull/1177) ([ankitpokhrel](https://github.com/ankitpokhrel)) -- Fix XML document example [\#1176](https://github.com/fzaninotto/Faker/pull/1176) ([ankitpokhrel](https://github.com/ankitpokhrel)) -- Added Emoji to Miscellaneous [\#1175](https://github.com/fzaninotto/Faker/pull/1175) ([thomasfdm](https://github.com/thomasfdm)) -- Typos and doc block fixes [\#1170](https://github.com/fzaninotto/Faker/pull/1170) ([ankitpokhrel](https://github.com/ankitpokhrel)) -- Rewrote deprecated `each\(\)` usage [\#1168](https://github.com/fzaninotto/Faker/pull/1168) ([hboomsma](https://github.com/hboomsma)) -- Refactor text method to remove duplication [\#1163](https://github.com/fzaninotto/Faker/pull/1163) ([ankitpokhrel](https://github.com/ankitpokhrel)) -- Generate valid individual identification numbers kk\_KZ [\#1161](https://github.com/fzaninotto/Faker/pull/1161) ([YerlenZhubangaliyev](https://github.com/YerlenZhubangaliyev)) -- Added Address and Company \[fa\_IR\] [\#1160](https://github.com/fzaninotto/Faker/pull/1160) ([thisissorna](https://github.com/thisissorna)) -- Add Peruvian DNI generator [\#1158](https://github.com/fzaninotto/Faker/pull/1158) ([jgwong](https://github.com/jgwong)) -- Removed double semicolon [\#1154](https://github.com/fzaninotto/Faker/pull/1154) ([pjona](https://github.com/pjona)) -- Add prefixes for nl\_NL [\#1151](https://github.com/fzaninotto/Faker/pull/1151) ([hyperized](https://github.com/hyperized)) -- Separated male and female names for sr\_RS locale. [\#1144](https://github.com/fzaninotto/Faker/pull/1144) ([bogdanpet](https://github.com/bogdanpet)) -- Add personal ID, VAT for zh\_TW [\#1135](https://github.com/fzaninotto/Faker/pull/1135) ([Dagolin](https://github.com/Dagolin)) -- Updating ninth digit on whole country [\#1132](https://github.com/fzaninotto/Faker/pull/1132) ([gpressutto5](https://github.com/gpressutto5)) -- Indian states added to en\_IN locale [\#1131](https://github.com/fzaninotto/Faker/pull/1131) ([jiveshsg](https://github.com/jiveshsg)) -- Add Text provider for ro\_MD [\#1129](https://github.com/fzaninotto/Faker/pull/1129) ([wecerny](https://github.com/wecerny)) -- Add strict to randomNumber example [\#1124](https://github.com/fzaninotto/Faker/pull/1124) ([leepownall](https://github.com/leepownall)) -- Say Eloquent is supported [\#1123](https://github.com/fzaninotto/Faker/pull/1123) ([guidocella](https://github.com/guidocella)) -- Link Eloquent Populator [\#1120](https://github.com/fzaninotto/Faker/pull/1120) ([guidocella](https://github.com/guidocella)) -- Removed dead code from Luhn.php [\#1118](https://github.com/fzaninotto/Faker/pull/1118) ([Newman101](https://github.com/Newman101)) -- Improve Internet::transliterate performance [\#1112](https://github.com/fzaninotto/Faker/pull/1112) ([dunglas](https://github.com/dunglas)) -- fix typo [\#1109](https://github.com/fzaninotto/Faker/pull/1109) ([johannesnagl](https://github.com/johannesnagl)) -- \[cs\_CZ\] Fixed Czech phone numbers [\#1108](https://github.com/fzaninotto/Faker/pull/1108) ([tomasbedrich](https://github.com/tomasbedrich)) -- Update MasterCard BIN Range [\#1103](https://github.com/fzaninotto/Faker/pull/1103) ([andysnell](https://github.com/andysnell)) -- Add biggest german cities [\#1102](https://github.com/fzaninotto/Faker/pull/1102) ([Konafets](https://github.com/Konafets)) -- Change postal code format for ko\_KR [\#1094](https://github.com/fzaninotto/Faker/pull/1094) ([coozplz](https://github.com/coozplz)) -- Introduced the ability to specify the timezone for dateTimeThis\*\(\) methods [\#1090](https://github.com/fzaninotto/Faker/pull/1090) ([telkins](https://github.com/telkins)) -- Fixed Issue \#1086 [\#1088](https://github.com/fzaninotto/Faker/pull/1088) ([Newman101](https://github.com/Newman101)) -- \[ja\_JP\]kana of Japanese name by gender. [\#1087](https://github.com/fzaninotto/Faker/pull/1087) ([itigoppo](https://github.com/itigoppo)) -- Fix unused code [\#1083](https://github.com/fzaninotto/Faker/pull/1083) ([borgogelli](https://github.com/borgogelli)) -- Amended permissions for en\_GB AddressTest.php [\#1071](https://github.com/fzaninotto/Faker/pull/1071) ([Newman101](https://github.com/Newman101)) -- Ensure unique IDs in randomHtml [\#1068](https://github.com/fzaninotto/Faker/pull/1068) ([vlakoff](https://github.com/vlakoff)) -- Updated \[de\_DE\] city names [\#1067](https://github.com/fzaninotto/Faker/pull/1067) ([plxx](https://github.com/plxx)) -- Update method signature in Generator phpdoc [\#1066](https://github.com/fzaninotto/Faker/pull/1066) ([vlakoff](https://github.com/vlakoff)) -- Add Thai providers [\#1065](https://github.com/fzaninotto/Faker/pull/1065) ([tuwannu](https://github.com/tuwannu)) -- \(Minor\) Fixed the default locale stated in the readme [\#1064](https://github.com/fzaninotto/Faker/pull/1064) ([taylankasap](https://github.com/taylankasap)) -- \[nl\_NL\] Make person provider behave more realistically [\#1061](https://github.com/fzaninotto/Faker/pull/1061) ([curry684](https://github.com/curry684)) -- Add allowDuplicates option to randomElements\(\) [\#1060](https://github.com/fzaninotto/Faker/pull/1060) ([vlakoff](https://github.com/vlakoff)) -- Docblocks: Add some missing @method tags [\#1059](https://github.com/fzaninotto/Faker/pull/1059) ([Kurre](https://github.com/Kurre)) -- \[fi\_FI\] Improve phone number generator [\#1054](https://github.com/fzaninotto/Faker/pull/1054) ([Kurre](https://github.com/Kurre)) -- Add personalIdentityNumber\(\) to fi\_FI/Person.php [\#1053](https://github.com/fzaninotto/Faker/pull/1053) ([oittaa](https://github.com/oittaa)) -- Issue \#1041 [\#1052](https://github.com/fzaninotto/Faker/pull/1052) ([daleattree](https://github.com/daleattree)) -- Update Text.php [\#1051](https://github.com/fzaninotto/Faker/pull/1051) ([gulaandrij](https://github.com/gulaandrij)) -- Fix French phone numbers with 07 prefix [\#1046](https://github.com/fzaninotto/Faker/pull/1046) ([fzaninotto](https://github.com/fzaninotto)) -- \[Generator.php\] mt\_rand\(\) changed in PHP 7.1 [\#1045](https://github.com/fzaninotto/Faker/pull/1045) ([oittaa](https://github.com/oittaa)) -- Add 'FI' to Payment Provider [\#1044](https://github.com/fzaninotto/Faker/pull/1044) ([oittaa](https://github.com/oittaa)) -- Added id number generator to Person Provider for the en\_ZA locale [\#1039](https://github.com/fzaninotto/Faker/pull/1039) ([smithandre](https://github.com/smithandre)) -- \[Feature\] Add nigerian provider [\#1030](https://github.com/fzaninotto/Faker/pull/1030) ([elchroy](https://github.com/elchroy)) -- \[pl\_PL\] Handle state. [\#1029](https://github.com/fzaninotto/Faker/pull/1029) ([piotrooo](https://github.com/piotrooo)) -- Fixed polish text - change '--' into '-'. [\#1027](https://github.com/fzaninotto/Faker/pull/1027) ([piotrooo](https://github.com/piotrooo)) -- Update Text.php [\#1025](https://github.com/fzaninotto/Faker/pull/1025) ([gulaandrij](https://github.com/gulaandrij)) -- Adding Nationalized Citizens to DNI in Person.php [\#1021](https://github.com/fzaninotto/Faker/pull/1021) ([celisflen-bers](https://github.com/celisflen-bers)) -- Add nik to indonesia [\#1019](https://github.com/fzaninotto/Faker/pull/1019) ([Nuffic](https://github.com/Nuffic)) -- fix mb\_substr missing parameter error when generating japanese string with realText method [\#1018](https://github.com/fzaninotto/Faker/pull/1018) ([horan-geeker](https://github.com/horan-geeker)) -- IBAN Formatters for New Locales [\#1015](https://github.com/fzaninotto/Faker/pull/1015) ([okj579](https://github.com/okj579)) -- German Bank Names [\#1014](https://github.com/fzaninotto/Faker/pull/1014) ([okj579](https://github.com/okj579)) -- Adding countries for pl\_PL provider [\#1009](https://github.com/fzaninotto/Faker/pull/1009) ([mertcanesen](https://github.com/mertcanesen)) -- Adding Pattern Lab plugin to list of 3rd party libraries [\#1008](https://github.com/fzaninotto/Faker/pull/1008) ([EvanLovely](https://github.com/EvanLovely)) -- Korea top 100 lastName [\#1006](https://github.com/fzaninotto/Faker/pull/1006) ([tael](https://github.com/tael)) -- Use real Belgian postcodes instead of random number [\#1004](https://github.com/fzaninotto/Faker/pull/1004) ([toonevdb](https://github.com/toonevdb)) -- Add bankAccountNumber implementations [\#1000](https://github.com/fzaninotto/Faker/pull/1000) ([akramfares](https://github.com/akramfares)) -- Generates a random NIR number \(fr\_FR\) [\#997](https://github.com/fzaninotto/Faker/pull/997) ([Ultim4T0m](https://github.com/Ultim4T0m)) -- \#989 Fix country typo [\#996](https://github.com/fzaninotto/Faker/pull/996) ([adriantombu](https://github.com/adriantombu)) -- adding back CNP [\#988](https://github.com/fzaninotto/Faker/pull/988) ([the-noob](https://github.com/the-noob)) -- Fix phpunit tests fail on 64-bit systems \#982 [\#983](https://github.com/fzaninotto/Faker/pull/983) ([Powerhead13](https://github.com/Powerhead13)) -- Remove trailing dot in username if any [\#975](https://github.com/fzaninotto/Faker/pull/975) ([vlakoff](https://github.com/vlakoff)) -- HTML Lorem [\#971](https://github.com/fzaninotto/Faker/pull/971) ([rudkjobing](https://github.com/rudkjobing)) -- Fix a mixup between male and female last names in Icelandic. [\#970](https://github.com/fzaninotto/Faker/pull/970) ([arthur-olafsson](https://github.com/arthur-olafsson)) -- Remove duplicate [\#969](https://github.com/fzaninotto/Faker/pull/969) ([mijgame](https://github.com/mijgame)) -- fix \[zh\_CN\]PhoneNumber illegal operator prefix [\#966](https://github.com/fzaninotto/Faker/pull/966) ([zhwei](https://github.com/zhwei)) -- es\_ES: Generate VAT Number [\#964](https://github.com/fzaninotto/Faker/pull/964) ([miguelgf](https://github.com/miguelgf)) -- Update Image.php [\#963](https://github.com/fzaninotto/Faker/pull/963) ([gulaandrij](https://github.com/gulaandrij)) -- Remove cnp formatter from RO\_ro locale \(fails tests\) [\#962](https://github.com/fzaninotto/Faker/pull/962) ([fzaninotto](https://github.com/fzaninotto)) -- Adding valid en\_GB postcodes [\#961](https://github.com/fzaninotto/Faker/pull/961) ([the-noob](https://github.com/the-noob)) -- Adding Text for ro\_RO [\#959](https://github.com/fzaninotto/Faker/pull/959) ([the-noob](https://github.com/the-noob)) -- Minor: Fixed trailing space in DateTime provider [\#956](https://github.com/fzaninotto/Faker/pull/956) ([tifabien](https://github.com/tifabien)) -- Remove 'Stripper' from en\_US job titles [\#954](https://github.com/fzaninotto/Faker/pull/954) ([amcsi](https://github.com/amcsi)) -- fix 32bits issue [\#953](https://github.com/fzaninotto/Faker/pull/953) ([remicollet](https://github.com/remicollet)) -- Fix EAN8 checkSum generator [\#951](https://github.com/fzaninotto/Faker/pull/951) ([MatthieuMota](https://github.com/MatthieuMota)) -- Fixed description and the use of early undocumented parameters. [\#949](https://github.com/fzaninotto/Faker/pull/949) ([andrey-helldar](https://github.com/andrey-helldar)) -- Pushing new mobile prefixes in philippines [\#944](https://github.com/fzaninotto/Faker/pull/944) ([napoleon101392](https://github.com/napoleon101392)) -- Update Company.php [\#943](https://github.com/fzaninotto/Faker/pull/943) ([thiagotalma](https://github.com/thiagotalma)) -- Fix to Issue \#935 - German Locale [\#936](https://github.com/fzaninotto/Faker/pull/936) ([Newman101](https://github.com/Newman101)) -- el\_CY Locale [\#930](https://github.com/fzaninotto/Faker/pull/930) ([softius](https://github.com/softius)) -- Add phpdoc method dateTimeInInterval in Generator.php [\#926](https://github.com/fzaninotto/Faker/pull/926) ([KeithYeh](https://github.com/KeithYeh)) -- Harmonize fr\_\*\Company [\#918](https://github.com/fzaninotto/Faker/pull/918) ([Max13](https://github.com/Max13)) -- Fix: fix invalid parameter of mb\_substr\(\) [\#917](https://github.com/fzaninotto/Faker/pull/917) ([tkawaji](https://github.com/tkawaji)) -- kk\_KZ Company/person identification numbers unit tests [\#916](https://github.com/fzaninotto/Faker/pull/916) ([YerlenZhubangaliyev](https://github.com/YerlenZhubangaliyev)) -- ka\_GE: overall improvements to ka\_GE locale [\#913](https://github.com/fzaninotto/Faker/pull/913) ([hertzg](https://github.com/hertzg)) -- Fix: Do not pick a random float less than minimum [\#909](https://github.com/fzaninotto/Faker/pull/909) ([localheinz](https://github.com/localheinz)) -- Fix: Prefer dependencies installed from dist [\#908](https://github.com/fzaninotto/Faker/pull/908) ([localheinz](https://github.com/localheinz)) -- Add a building number with letter to German speaking locales. [\#903](https://github.com/fzaninotto/Faker/pull/903) ([markuspoerschke](https://github.com/markuspoerschke)) -- \[RFR\] Remove parts of the hu\_HU address formatters [\#902](https://github.com/fzaninotto/Faker/pull/902) ([fzaninotto](https://github.com/fzaninotto)) -- use Luhn to calculate ar\_SA id numbers. [\#875](https://github.com/fzaninotto/Faker/pull/875) ([FooBarQuaxx](https://github.com/FooBarQuaxx)) -- Fix Doctrine ODM Support [\#489](https://github.com/fzaninotto/Faker/pull/489) ([cbourgois](https://github.com/cbourgois)) - - -## 2016-04-29, v1.6.0 - -- Remove parts of the Hungarian (hu\_HU) address formatters [\#902](https://github.com/fzaninotto/Faker/pull/902) ([fzaninotto](https://github.com/fzaninotto)) -- Renamed norwegian (nb\_NO) locale [\#901](https://github.com/fzaninotto/Faker/pull/901) ([fzaninotto](https://github.com/fzaninotto)) -- Improveed German (de\_DE) titles [\#897](https://github.com/fzaninotto/Faker/pull/897) ([christianbartels](https://github.com/christianbartels)) -- Added VAT formatter to nl\_BE and fr\_BE providers [\#896](https://github.com/fzaninotto/Faker/pull/896) ([anvanza](https://github.com/anvanza)) -- Fixed provider namespace for Lithuanian (lt\_LT) [\#894](https://github.com/fzaninotto/Faker/pull/894) ([sanis](https://github.com/sanis)) -- Removed unnecessary (and incompatible) license from Russian and Ukrainian (uk\_UA & ru\_RU) Text providers [\#892](https://github.com/fzaninotto/Faker/pull/892) ([Newman101](https://github.com/Newman101)) -- Improved `languageCode` formatted to include all ISO-639-1 standard codes [\#889](https://github.com/fzaninotto/Faker/pull/889) ([andrewnicols](https://github.com/andrewnicols)) -- Improved Hungarian provider [\#883](https://github.com/fzaninotto/Faker/pull/883) ([balping](https://github.com/balping)) -- Fixed typo in Austrian Person provider [\#880](https://github.com/fzaninotto/Faker/pull/880) ([xelan](https://github.com/xelan)) -- Added Chines (zh\_CN) `catchPhrase` formatter [\#878](https://github.com/fzaninotto/Faker/pull/878) ([z-song](https://github.com/z-song)) -- Added mention of Brazilian (pt\_BR) providers in readme [\#877](https://github.com/fzaninotto/Faker/pull/877) ([iget-master](https://github.com/iget-master)) -- Updated composer `require` section to allow PHP 7 in safer way [\#874](https://github.com/fzaninotto/Faker/pull/874) ([TomasVotruba](https://github.com/TomasVotruba)) -- Added Greek (el\_GR) `mobilePhoneNumber` and `tollFreeNumber` formatters [\#869](https://github.com/fzaninotto/Faker/pull/869) ([sebdesign](https://github.com/sebdesign)) -- Added Lorempixel check for `ImageTest.php` to avoid test fails when the service is offline [\#866](https://github.com/fzaninotto/Faker/pull/866) ([Newman101](https://github.com/Newman101)) -- Added Chinese (zh\_CN) Providers [\#864](https://github.com/fzaninotto/Faker/pull/864) ([z-song](https://github.com/z-song)) -- Added unit tests for Canadian (en\_CA) provider [\#862](https://github.com/fzaninotto/Faker/pull/862) ([Newman101](https://github.com/Newman101)) -- Added Dutch BTW \(vat\) Number [\#861](https://github.com/fzaninotto/Faker/pull/861) ([LauLaman](https://github.com/LauLaman)) -- Improved Australian (en\_AU) provider [\#858](https://github.com/fzaninotto/Faker/pull/858) ([Newman101](https://github.com/Newman101)) -- Added Propel2 ORM support [\#852](https://github.com/fzaninotto/Faker/pull/852) ([iTechDhaval](https://github.com/iTechDhaval)) -- Added en\_IN unit test for `Address.php` [\#849](https://github.com/fzaninotto/Faker/pull/849) ([Newman101](https://github.com/Newman101)) -- Updated docs to clarify that `randomElements` does not repeat input elements [\#848](https://github.com/fzaninotto/Faker/pull/848) ([sustmi](https://github.com/sustmi)) -- Optimized Taiwanese (zh\_TW) `realText` provider [\#844](https://github.com/fzaninotto/Faker/pull/844) ([Newman101](https://github.com/Newman101)) -- Added more Iranian (fa\_IR) TLDs [\#843](https://github.com/fzaninotto/Faker/pull/843) ([VagrantStory](https://github.com/VagrantStory)) -- Added Hebrew (he\_IL) `country` formatter [\#841](https://github.com/fzaninotto/Faker/pull/841) ([yonirom](https://github.com/yonirom)) -- Documented `boolean` formatter [\#840](https://github.com/fzaninotto/Faker/pull/840) ([danieliancu](https://github.com/danieliancu)) -- Fixed modifiers anchor readme [\#838](https://github.com/fzaninotto/Faker/pull/838) ([danieliancu](https://github.com/danieliancu)) -- Added Dutch (nl\_NL) real text provider [\#837](https://github.com/fzaninotto/Faker/pull/837) ([endroid](https://github.com/endroid)) -- Added `valid` modifier [\#836](https://github.com/fzaninotto/Faker/pull/836) ([fzaninotto](https://github.com/fzaninotto)) -- Added Iranian (fa\_IR) `PhoneNumber` provider [\#833](https://github.com/fzaninotto/Faker/pull/833) ([ghost](https://github.com/ghost)) -- Add Brazilian (pt\_BR) `region` and `regionAbbr` formatters [\#828](https://github.com/fzaninotto/Faker/pull/828) ([francinaldo](https://github.com/francinaldo)) -- Improved Austrian (de\_AT) names, states, and realtext [\#826](https://github.com/fzaninotto/Faker/pull/826) ([Findus23](https://github.com/Findus23)) -- Improved German (de\_DE) names [\#825](https://github.com/fzaninotto/Faker/pull/825) ([Findus23](https://github.com/Findus23)) -- Improved Latvian (lv\_LV) first names [\#823](https://github.com/fzaninotto/Faker/pull/823) ([veisis](https://github.com/veisis)) -- Improved Latvian (lv\_LV) `phoneNumber` formatter [\#822](https://github.com/fzaninotto/Faker/pull/822) ([veisis](https://github.com/veisis)) -- Updated phpDoc link to IBAN format reference in `Payment` provider [\#821](https://github.com/fzaninotto/Faker/pull/821) ([god107](https://github.com/god107)) -- Updated Sport ORM populator to populate values for numeric fields [\#820](https://github.com/fzaninotto/Faker/pull/820) ([urisavka](https://github.com/urisavka)) -- Updated Chinese (zh\_CN) operators' phone number prefix. [\#819](https://github.com/fzaninotto/Faker/pull/819) ([vistart](https://github.com/vistart)) -- Optimized Spot ORM `EntityPopulator` [\#817](https://github.com/fzaninotto/Faker/pull/817) ([Newman101](https://github.com/Newman101)) -- Added Korean (ko\_KR) `realText` formatter [\#815](https://github.com/fzaninotto/Faker/pull/815) ([jdssem](https://github.com/jdssem)) -- Updated `imageUrl` formatter phpDoc [\#814](https://github.com/fzaninotto/Faker/pull/814) ([jonwurtzler](https://github.com/jonwurtzler)) -- Optimized Taiwanese (zh\_TW) text provider [\#809](https://github.com/fzaninotto/Faker/pull/809) ([BePsvPT](https://github.com/BePsvPT)) -- Added strict comparison to Czech (cs\_CS) `birthNumber` formatter [\#807](https://github.com/fzaninotto/Faker/pull/807) ([Newman101](https://github.com/Newman101)) -- Added Greek (el\_GR) `realText` formatter [\#805](https://github.com/fzaninotto/Faker/pull/805) ([hootlex](https://github.com/hootlex)) -- Added Simplified Chinese \(zh\_CN\) `state` and `stateAbbr` formatters [\#804](https://github.com/fzaninotto/Faker/pull/804) ([zhanghuanchong](https://github.com/zhanghuanchong)) -- Update `Image` provider to allow generation of grayscale images [\#801](https://github.com/fzaninotto/Faker/pull/801) ([neutralrockets](https://github.com/neutralrockets)) -- Fixed Taiwanese (zh_TW) incorrect `mb_substr()` arguments [\#799](https://github.com/fzaninotto/Faker/pull/799) ([BePsvPT](https://github.com/BePsvPT)) -- Added Spot ORM populator [\#796](https://github.com/fzaninotto/Faker/pull/796) ([urisavka](https://github.com/urisavka)) -- Added Italian (it\_IT) `vatId` and `taxId` formatters [\#790](https://github.com/fzaninotto/Faker/pull/790) ([brainrepo](https://github.com/brainrepo)) -- Added some fixes to Armenian (hy\_AM) locale [\#788](https://github.com/fzaninotto/Faker/pull/788) ([mhamlet](https://github.com/mhamlet)) -- Removed duplicate entries in `toAscii()` transliteration table, used in `Internet` provider [\#787](https://github.com/fzaninotto/Faker/pull/787) ([vlakoff](https://github.com/vlakoff)) -- Added Indian (en\_IN) providers [\#785](https://github.com/fzaninotto/Faker/pull/785) ([kartiksomani](https://github.com/kartiksomani)) -- Removed duplicate country names in various locales, removed non-random country arrays [\#784](https://github.com/fzaninotto/Faker/pull/784) ([fzaninotto](https://github.com/fzaninotto)) -- Improved Swiss (de\_CH) phone numbers [\#782](https://github.com/fzaninotto/Faker/pull/782) ([z38](https://github.com/z38)) -- Added Swiss (de\_CH) names [\#781](https://github.com/fzaninotto/Faker/pull/781) ([z38](https://github.com/z38)) -- Make capitalization of first word optional in Text Provider [\#778](https://github.com/fzaninotto/Faker/pull/778) ([LagunaJavier](https://github.com/LagunaJavier)) -- Added Georgian (ka\_GE) providers [\#777](https://github.com/fzaninotto/Faker/pull/777) ([akalongman](https://github.com/akalongman)) -- Fix CakePHP populator [\#776](https://github.com/fzaninotto/Faker/pull/776) ([daniel-mueller](https://github.com/daniel-mueller)) -- Added unit tests for `Address` provider in many locales [\#775](https://github.com/fzaninotto/Faker/pull/775) [\#773](https://github.com/fzaninotto/Faker/pull/773) [\#772](https://github.com/fzaninotto/Faker/pull/772) [\#767](https://github.com/fzaninotto/Faker/pull/767) [\#765](https://github.com/fzaninotto/Faker/pull/765) [\#764](https://github.com/fzaninotto/Faker/pull/764) [\#758](https://github.com/fzaninotto/Faker/pull/758) [\#756](https://github.com/fzaninotto/Faker/pull/756) [\#747](https://github.com/fzaninotto/Faker/pull/747) [\#741](https://github.com/fzaninotto/Faker/pull/741) ([Newman101](https://github.com/Newman101)) -- Added `dbi` formatter to Spanish (es\_ES) Person provider [\#763](https://github.com/fzaninotto/Faker/pull/763) ([mikk150](https://github.com/mikk150)) -- Added South Africa (en\_ZA) locale [\#761](https://github.com/fzaninotto/Faker/pull/761) ([smithandre](https://github.com/smithandre)) [\#760](https://github.com/fzaninotto/Faker/pull/760) ([smithandre](https://github.com/smithandre)) [\#759](https://github.com/fzaninotto/Faker/pull/759) ([smithandre](https://github.com/smithandre)) -- Added E.164 phone number generator [\#753](https://github.com/fzaninotto/Faker/pull/753) ([daleattree](https://github.com/daleattree)) -- Fixed serialization issue in `unique` modifier [\#749](https://github.com/fzaninotto/Faker/pull/749) ([EmanueleMinotto](https://github.com/EmanueleMinotto)) -- Added Switzerland (de\_CH, fr\_CH, it\_CH) providers [\#739](https://github.com/fzaninotto/Faker/pull/739) ([r3h6](https://github.com/r3h6)) -- Added PHPDocs, removed unused variable [\#738](https://github.com/fzaninotto/Faker/pull/738) ([daniel-mueller](https://github.com/daniel-mueller)) -- Fixed building numbers to have non-zero first bumber [\#737](https://github.com/fzaninotto/Faker/pull/737) ([jmauerhan](https://github.com/jmauerhan)) -- Updated ninth digit for Brazilian cell phone numbers [\#734](https://github.com/fzaninotto/Faker/pull/734) ([igorsantos07](https://github.com/igorsantos07)) -- Simplified Factory code [\#732](https://github.com/fzaninotto/Faker/pull/732) ([vlakoff](https://github.com/vlakoff)) -- Added mention of [images-generator](https://github.com/bruceheller/images-generator) in readme [\#731](https://github.com/fzaninotto/Faker/pull/731) ([bruceheller](https://github.com/bruceheller)) -- Optimize Internet::toAscii\(\) by using a static cache and translitteration [\#730](https://github.com/fzaninotto/Faker/pull/730) [\#729](https://github.com/fzaninotto/Faker/pull/729) -[\#725](https://github.com/fzaninotto/Faker/pull/725) [\#724](https://github.com/fzaninotto/Faker/pull/724) ([vlakoff](https://github.com/vlakoff)) -- Added more English (en\_GB) Phone Number formats [\#721](https://github.com/fzaninotto/Faker/pull/721) ([nickwebcouk](https://github.com/nickwebcouk)) -- Cleaned up `use` statements across the code [\#719](https://github.com/fzaninotto/Faker/pull/719) ([pomaxa](https://github.com/pomaxa)) -- Fixed CackePHP populator [\#718](https://github.com/fzaninotto/Faker/pull/718) ([sdustinh](https://github.com/sdustinh)) -- Cleaned up various phpmd notices [\#715](https://github.com/fzaninotto/Faker/pull/715) ([pomaxa](https://github.com/pomaxa)) -- Added `Color` provider to Latvian (lv_LV) locale [\#714](https://github.com/fzaninotto/Faker/pull/714) ([pomaxa](https://github.com/pomaxa)) -- Fixed bad randomization in Doctrine populator [\#713](https://github.com/fzaninotto/Faker/pull/713) ([pomaxa](https://github.com/pomaxa)) -- Added Mongolian (mn\_MN) providers [\#709](https://github.com/fzaninotto/Faker/pull/709) ([selmonal](https://github.com/selmonal)) -- Improved Australian (en\_AU) `postcode` formatter [\#703](https://github.com/fzaninotto/Faker/pull/703) ([xfxf](https://github.com/xfxf)) -- Added support for asterisks in `bothify` and `optimize` [\#701](https://github.com/fzaninotto/Faker/pull/701) ([nineinchnick](https://github.com/nineinchnick)) -- Fixed important distinction between ORM and database framework in README’s reference to an external Faker provider for POMM that I have never even tested. Anyway, POMM is highly recommended if you are a Postgres fan, or if you want to please Grégoire and help him finish his lifelong project of listening to music on a hi-fi audio equipment he built from his own hands [\#696](https://github.com/fzaninotto/Faker/pull/696) ([chanmix51](https://github.com/chanmix51)) -- Fixed example `text()` output in README [\#694](https://github.com/fzaninotto/Faker/pull/694) ([vlakoff](https://github.com/vlakoff)) -- Added mention of CakePHP 2.x Seeder Plugin to readme [\#691](https://github.com/fzaninotto/Faker/pull/691) ([ravage84](https://github.com/ravage84)) -- Fixed invalid email bug for Korean (ko\_KR) [\#690](https://github.com/fzaninotto/Faker/pull/690) ([pearlc](https://github.com/pearlc)) -- Removed an invalid Dutch (nl\_NL) lastname that breaks email generator [\#689](https://github.com/fzaninotto/Faker/pull/689) ([SpaceK33z](https://github.com/SpaceK33z)) -- Updated `numberBetween()` to be order agnostic [\#683](https://github.com/fzaninotto/Faker/pull/683) ([xfxf](https://github.com/xfxf)) -- Added several English (en\_US) bank-related formatters [\#682](https://github.com/fzaninotto/Faker/pull/682) ([okj579](https://github.com/okj579)) -- Fixed `ipv4` formatter to avoid generating special purpose addresses [\#681](https://github.com/fzaninotto/Faker/pull/681) ([ravage84](https://github.com/ravage84)) -- Moved `intl` extension to `require-dev` in `composer.json` file [\#680](https://github.com/fzaninotto/Faker/pull/680) ([jaschweder](https://github.com/jaschweder)) -- Added more Turkish (tr\_TR) phones number formats [\#678](https://github.com/fzaninotto/Faker/pull/678) ([Quanthir](https://github.com/Quanthir)) -- Fixed primary Key warning in CakePHP ORM populator [\#677](https://github.com/fzaninotto/Faker/pull/677) ([davidyell](https://github.com/davidyell)) -- Added time zone support for provider methods returning DateTime instance [\#675](https://github.com/fzaninotto/Faker/pull/675) ([bishopb](https://github.com/bishopb)) -- Removed trailing spaces from some Argentinian (es\_AR) female first names [\#674](https://github.com/fzaninotto/Faker/pull/674) ([ivanmirson](https://github.com/ivanmirson)) -- Added Lithuanian (lt\_LT) locale [\#673](https://github.com/fzaninotto/Faker/pull/673) ([ekateiva](https://github.com/ekateiva)) -- Added mention of Alice to readme [\#665](https://github.com/fzaninotto/Faker/pull/665) ([Seldaek](https://github.com/Seldaek)) -- Fixed namespace in tests [\#663](https://github.com/fzaninotto/Faker/pull/663) ([localheinz](https://github.com/localheinz)) -- Fixed trailing spaces in `Color` provider [\#662](https://github.com/fzaninotto/Faker/pull/662) ([apsylone](https://github.com/apsylone)) -- Removed duplicate country names in Russian (ru\_RU) `Address` provider [\#659](https://github.com/fzaninotto/Faker/pull/659) ([nurolopher](https://github.com/nurolopher)) -- Added `rgba` formatter to `Color` provider [\#653](https://github.com/fzaninotto/Faker/pull/653) ([apsylone](https://github.com/apsylone)) -- Fixed bad randomization in CakePHP populator [\#648](https://github.com/fzaninotto/Faker/pull/648) ([jadb](https://github.com/jadb)) -- Updated phpunit configuration to better use colors [\#643](https://github.com/fzaninotto/Faker/pull/643) ([localheinz](https://github.com/localheinz)) -- Updated `makefile` to install dev dependencies by default [\#642](https://github.com/fzaninotto/Faker/pull/642) ([localheinz](https://github.com/localheinz)) -- Updated Travis configuration to cache dependencies between builds [\#641](https://github.com/fzaninotto/Faker/pull/641) ([localheinz](https://github.com/localheinz)) -- Added SVG badge to readme for displaying Travis build status [\#640](https://github.com/fzaninotto/Faker/pull/640) ([localheinz](https://github.com/localheinz)) -- Added Croatian (hr\_HR) locale [\#638](https://github.com/fzaninotto/Faker/pull/638) ([toniperic](https://github.com/toniperic)) -- Updated `dateTimeBetween` PHPDoc [\#635](https://github.com/fzaninotto/Faker/pull/635) ([theofidry](https://github.com/theofidry)) -- Add mention of Symfony2 bundles in readme [\#634](https://github.com/fzaninotto/Faker/pull/634) ([theofidry](https://github.com/theofidry)) -- Added Hebrew (he\_IL) locale [\#633](https://github.com/fzaninotto/Faker/pull/633) ([yonirom](https://github.com/yonirom)) -- Updated `seed` to accept non-integer seeds [\#632](https://github.com/fzaninotto/Faker/pull/632) ([theofidry](https://github.com/theofidry)) -- Added DocBlock to `Factory::create()` [\#631](https://github.com/fzaninotto/Faker/pull/631) ([tonynelson19](https://github.com/tonynelson19)) -- Added `jobTitle` generator [\#630](https://github.com/fzaninotto/Faker/pull/630) ([gregoryduckworth](https://github.com/gregoryduckworth)) -- Updated Chinese (zh\_CN) `Person` provider to generate more correct names [\#628](https://github.com/fzaninotto/Faker/pull/628) ([phoenixgao](https://github.com/phoenixgao)) -- Updated Brazilian (pt\_BR) `cellphone` formatter to make it more flexible [\#623](https://github.com/fzaninotto/Faker/pull/623) ([igorsantos07](https://github.com/igorsantos07)) -- Add Arabic for Saudi Arabia (ar\_SA) locale [\#618](https://github.com/fzaninotto/Faker/pull/618) ([ibrasho](https://github.com/ibrasho)) -- Updated en\_US phone numbers [\#615](https://github.com/fzaninotto/Faker/pull/615) ([okj579](https://github.com/okj579)) -- Fixed typos in variable names and exceptions [\#614](https://github.com/fzaninotto/Faker/pull/614) ([pborreli](https://github.com/pborreli)) -- Added a table of contents to the readme file. [\#613](https://github.com/fzaninotto/Faker/pull/613) ([camilopayan](https://github.com/camilopayan)) -- Added Brazilian (es_BR) credit card formatters [\#608](https://github.com/fzaninotto/Faker/pull/608) ([igorsantos07](https://github.com/igorsantos07)) -- Updated `iban` formatter to be cross-locale [\#607](https://github.com/fzaninotto/Faker/pull/607) ([okj579](https://github.com/okj579)) -- Improved ORM name guesser logic [\#606](https://github.com/fzaninotto/Faker/pull/606) ([watermanio](https://github.com/watermanio)) -- Fixed doc typo [\#605](https://github.com/fzaninotto/Faker/pull/605) ([igorsantos07](https://github.com/igorsantos07)) -- Removed executable bits [\#593](https://github.com/fzaninotto/Faker/pull/593) ([siwinski](https://github.com/siwinski)) -- Fixed `iban` generator [\#590](https://github.com/fzaninotto/Faker/pull/590) ([okj579](https://github.com/okj579)) -- Added Philippines (en\_PH) `mobileNumber` formatter [\#589](https://github.com/fzaninotto/Faker/pull/589) ([lozadaOmr](https://github.com/lozadaOmr)) -- Added support for min / max params in `latitude` and `longitude` formatters [\#570](https://github.com/fzaninotto/Faker/pull/570) ([actuallymab](https://github.com/actuallymab)) -- Added Czech (cs_CZ) `birthNumber` formatter [\#535](https://github.com/fzaninotto/Faker/pull/535) ([tomasbedrich](https://github.com/tomasbedrich)) -- Added `dateTimeInInterval` formatter [\#526](https://github.com/fzaninotto/Faker/pull/526) ([nicodmf](https://github.com/nicodmf)) -- Updated `optional` and `boolean` apis to be more consistent [\#513](https://github.com/fzaninotto/Faker/pull/513) ([EmanueleMinotto](https://github.com/EmanueleMinotto)) -- Added Greek (el\_GR) `Address` provider [\#504](https://github.com/fzaninotto/Faker/pull/504) ([drakakisgeo](https://github.com/drakakisgeo)) - -## 2015-05-29, v1.5.0 - -* Added ability to print custom text on the images fetched by the Image provider [\#583](https://github.com/fzaninotto/Faker/pull/583) ([fzaninotto](https://github.com/fzaninotto)) -* Fixed typos in Peruvian (es\_PE) Person provider [\#581](https://github.com/fzaninotto/Faker/pull/581) [\#580](https://github.com/fzaninotto/Faker/pull/580) ([ysramirez](https://github.com/ysramirez)) -* Added instructions for installing with composer to readme.md [\#572](https://github.com/fzaninotto/Faker/pull/572) ([totophe](https://github.com/totophe)) -* Added Kazakh (kk\_KZ) locale [\#569](https://github.com/fzaninotto/Faker/pull/569) ([YerlenZhubangaliyev](https://github.com/YerlenZhubangaliyev)) -* Added Korean (ko\_KR) locale [\#566](https://github.com/fzaninotto/Faker/pull/566) ([pearlc](https://github.com/pearlc)) -* Fixed file provider to ignore unreadable and special files [\#565](https://github.com/fzaninotto/Faker/pull/565) ([svrnm](https://github.com/svrnm)) -* Fixed Dutch (nl\_NL) Address and Person providers [\#560](https://github.com/fzaninotto/Faker/pull/560) ([killerog](https://github.com/killerog)) -* Fixed Dutch (nl\_NL) Person provider [\#559](https://github.com/fzaninotto/Faker/pull/559) ([pauledenburg](https://github.com/pauledenburg)) -* Added Russian (ru\_RU) Bank names provider [\#553](https://github.com/fzaninotto/Faker/pull/553) ([wizardjedi](https://github.com/wizardjedi)) -* Added mobile phone function in French (fr\_FR) provider [\#552](https://github.com/fzaninotto/Faker/pull/552) ([kletellier](https://github.com/kletellier)) -* Added phpdoc for new magic methods in Generator to help IntelliSense completion [\#550](https://github.com/fzaninotto/Faker/pull/550) ([stof](https://github.com/stof)) -* Fixed File provider bug 'The first argument to copy() function cannot be a directory' [\#547](https://github.com/fzaninotto/Faker/pull/547) ([svrnm](https://github.com/svrnm)) -* Added new Brazilian (pt\_BR) Providers [\#545](https://github.com/fzaninotto/Faker/pull/545) ([igorsantos07](https://github.com/igorsantos07)) -* Fixed ability to seed the generator [\#543](https://github.com/fzaninotto/Faker/pull/543) ([schmengler](https://github.com/schmengler)) -* Added streetAddress formatter to Russian (ru\_RU) provider [\#542](https://github.com/fzaninotto/Faker/pull/542) ([ZAYEC77](https://github.com/ZAYEC77)) -* Fixed Internet provider warning "Could not create transliterator"* [\#541](https://github.com/fzaninotto/Faker/pull/541) ([fonsecas72](https://github.com/fonsecas72)) -* Fixed Spanish for Argentina (es\_AR) Address provider [\#540](https://github.com/fzaninotto/Faker/pull/540) ([ivanmirson](https://github.com/ivanmirson)) -* Fixed region names in French for Belgium (fr\_BE) address provider [\#536](https://github.com/fzaninotto/Faker/pull/536) ([miclf](https://github.com/miclf)) -* Fixed broken Doctrine2 link in README [\#534](https://github.com/fzaninotto/Faker/pull/534) ([JonathanKryza](https://github.com/JonathanKryza)) -* Added link to faker-context Behat extension in readme [\#532](https://github.com/fzaninotto/Faker/pull/532) ([denheck](https://github.com/denheck)) -* Added PHP 7.0 nightly to Travis build targets [\#525](https://github.com/fzaninotto/Faker/pull/525) ([TomasVotruba](https://github.com/TomasVotruba)) -* Added Dutch (nl\_NL) color names [\#523](https://github.com/fzaninotto/Faker/pull/523) ([belendel](https://github.com/belendel)) -* Fixed Chinese (zh\_CN) Address provider (remove Taipei) [\#522](https://github.com/fzaninotto/Faker/pull/522) ([asika32764](https://github.com/asika32764)) -* Fixed phonenumber formats in Dutch (nl\_NL) PhoneNumber provider [\#521](https://github.com/fzaninotto/Faker/pull/521) ([SpaceK33z](https://github.com/SpaceK33z)) -* Fixed Russian (ru\_RU) Address provider [\#518](https://github.com/fzaninotto/Faker/pull/518) ([glagola](https://github.com/glagola)) -* Added Italian (it\_IT) Text provider [\#517](https://github.com/fzaninotto/Faker/pull/517) ([endelwar](https://github.com/endelwar)) -* Added Norwegian (no\_NO) locale [\#515](https://github.com/fzaninotto/Faker/pull/515) ([phaza](https://github.com/phaza)) -* Added VAT number to Bulgarian (bg\_BG) Payment provider [\#512](https://github.com/fzaninotto/Faker/pull/512) ([ronanguilloux](https://github.com/ronanguilloux)) -* Fixed UserAgent provider outdated user agents [\#511](https://github.com/fzaninotto/Faker/pull/511) ([ajbdev](https://github.com/ajbdev)) -* Fixed `image()` formatter to make it work with temp dir of any (decent) OS [\#507](https://github.com/fzaninotto/Faker/pull/507) ([ronanguilloux](https://github.com/ronanguilloux)) -* Added Persian (fa\_IR) locale [\#500](https://github.com/fzaninotto/Faker/pull/500) ([zoli](https://github.com/zoli)) -* Added Currency Code formatter [\#497](https://github.com/fzaninotto/Faker/pull/497) ([stelgenhof](https://github.com/stelgenhof)) -* Added VAT number to Belgium (be_BE) Payment provider [\#495](https://github.com/fzaninotto/Faker/pull/495) ([ronanguilloux](https://github.com/ronanguilloux)) -* Fixed `imageUrl` formatter bug where it would always return the same image [\#494](https://github.com/fzaninotto/Faker/pull/494) ([fzaninotto](https://github.com/fzaninotto)) -* Added more Indonesian (id\_ID) providers [\#493](https://github.com/fzaninotto/Faker/pull/493) ([deerawan](https://github.com/deerawan)) -* Added Indonesian (id\_ID) locale [\#492](https://github.com/fzaninotto/Faker/pull/492) ([stoutZero](https://github.com/stoutZero)) -* Fixed unique generator performance [\#491](https://github.com/fzaninotto/Faker/pull/491) ([ikwattro](https://github.com/ikwattro)) -* Added transliterator to `email` and `username` [\#490](https://github.com/fzaninotto/Faker/pull/490) ([fzaninotto](https://github.com/fzaninotto)) -* Added Hungarian (hu\_HU) Text provider [\#486](https://github.com/fzaninotto/Faker/pull/486) ([lintaba](https://github.com/lintaba)) -* Fixed CakePHP Entity Popolator (some cases where no entities prev. inserted) [\#483](https://github.com/fzaninotto/Faker/pull/483) ([jadb](https://github.com/jadb)) -* Added Color and DateTime Turkish (tr\_TR) Providers [\#481](https://github.com/fzaninotto/Faker/pull/481) ([behramcelen](https://github.com/behramcelen)) -* Added Latvian (lv\_LV) `personalIdentityNumber` formatter [\#472](https://github.com/fzaninotto/Faker/pull/472) ([MatissJanis](https://github.com/MatissJanis)) -* Added VAT number to Austrian (at_AT) Payment provider [\#470](https://github.com/fzaninotto/Faker/pull/470) ([ronanguilloux](https://github.com/ronanguilloux)) -* Fixed missing @return phpDoc in Payment provider [\#469](https://github.com/fzaninotto/Faker/pull/469) ([ronanguilloux](https://github.com/ronanguilloux)) -* Added SWIFT/BIC payment type formatter to the Payment provider [\#465](https://github.com/fzaninotto/Faker/pull/465) ([ronanguilloux](https://github.com/ronanguilloux)) -* Fixed small typo in Base provider exception [\#460](https://github.com/fzaninotto/Faker/pull/460) ([miclf](https://github.com/miclf)) -* Added Georgian (ka\_Ge) locale [\#457](https://github.com/fzaninotto/Faker/pull/457) ([lperto](https://github.com/lperto)) -* Added PSR-4 Autoloading [\#455](https://github.com/fzaninotto/Faker/pull/455) ([GrahamCampbell](https://github.com/GrahamCampbell)) -* Added Uganda (en_UG) locale [\#454](https://github.com/fzaninotto/Faker/pull/454) ([tharoldD](https://github.com/tharoldD)) -* Added `regexify` formatter, generating a random string based on a regular expression [\#453](https://github.com/fzaninotto/Faker/pull/453) ([fzaninotto](https://github.com/fzaninotto)) -* Added shuffle formatter, to shuffle an array or a string [\#452](https://github.com/fzaninotto/Faker/pull/452) ([fzaninotto](https://github.com/fzaninotto)) -* Added ISBN-10 & ISBN-13 codes formatters to Barcode provider [\#451](https://github.com/fzaninotto/Faker/pull/451) ([gietos](https://github.com/gietos)) -* Fixed Russian (ru\_RU) middle names (different for different genders) [\#450](https://github.com/fzaninotto/Faker/pull/450) ([gietos](https://github.com/gietos)) -* Fixed Ukranian (uk\_UA) Person provider [\#448](https://github.com/fzaninotto/Faker/pull/448) ([aivus](https://github.com/aivus)) -* Added Vietnamese (vi\_VN) locale [\#447](https://github.com/fzaninotto/Faker/pull/447) ([huy95](https://github.com/huy95)) -* Added type hint to the Documentor constructor [\#446](https://github.com/fzaninotto/Faker/pull/446) ([JeroenDeDauw](https://github.com/JeroenDeDauw)) -* Fixed Russian (ru\_RU) Person provider (joined names) [\#445](https://github.com/fzaninotto/Faker/pull/445) ([aivus](https://github.com/aivus)) -* Added English (en\_GB) `mobileNumber` methods [\#438](https://github.com/fzaninotto/Faker/pull/438) ([daveblake](https://github.com/daveblake)) -* Added Traditional Chinese (zh\_TW) Realtext provider [\#434](https://github.com/fzaninotto/Faker/pull/434) ([tzhuan](https://github.com/tzhuan)) -* Fixed first name in Spanish for Argentina (es\_AR) Person provider [\#433](https://github.com/fzaninotto/Faker/pull/433) ([fzaninotto](https://github.com/fzaninotto)) -* Fixed Canadian (en_CA) state abbreviation for Nunavut [\#430](https://github.com/fzaninotto/Faker/pull/430) ([julien-c](https://github.com/julien-c)) -* Added CakePHP ORM entity populator [\#428](https://github.com/fzaninotto/Faker/pull/428) ([jadb](https://github.com/jadb)) -* Added Traditional Chinese (zh\_TW) locale [\#427](https://github.com/fzaninotto/Faker/pull/427) ([tzhuan](https://github.com/tzhuan)) -* Fixed typo in Doctrine Populator phpDoc [\#425](https://github.com/fzaninotto/Faker/pull/425) ([ihsanudin](https://github.com/ihsanudin)) -* Added Chinese (zh_CN) Internet provider [\#424](https://github.com/fzaninotto/Faker/pull/424) ([Lisso-Me](https://github.com/Lisso-Me)) -* Added Country ISO 3166-1 alpha-3 code to the Miscellaneous provider[\#422](https://github.com/fzaninotto/Faker/pull/422) ([gido](https://github.com/gido)) -* Added English (en\_GB) Person provider [\#421](https://github.com/fzaninotto/Faker/pull/421) ([AlexCutts](https://github.com/AlexCutts)) -* Added missing tests for the Color Provider [\#420](https://github.com/fzaninotto/Faker/pull/420) ([bessl](https://github.com/bessl)) -* Added Nepali (ne\_NP) locale [\#419](https://github.com/fzaninotto/Faker/pull/419) ([ankitpokhrel](https://github.com/ankitpokhrel)) -* Fixed latitude and longitude formatters bug (numeric value out of range for 32bits) [\#416](https://github.com/fzaninotto/Faker/pull/416) ([fzaninotto](https://github.com/fzaninotto)) -* Added a dedicated calculator Luhn calculator service [\#414](https://github.com/fzaninotto/Faker/pull/414) ([fzaninotto](https://github.com/fzaninotto)) -* Fixed Russian (ru_RU) Person provider (removed lowercase duplications) [\#413](https://github.com/fzaninotto/Faker/pull/413) ([Ragazzo](https://github.com/Ragazzo)) -* Fixed barcode formatter (improved speed, added tests) [\#412](https://github.com/fzaninotto/Faker/pull/412) ([fzaninotto](https://github.com/fzaninotto)) -* Added ipv4 and barcode formatters tests [\#410](https://github.com/fzaninotto/Faker/pull/410) ([bessl](https://github.com/bessl)) -* Fixed typos in various comments blocks [\#409](https://github.com/fzaninotto/Faker/pull/409) ([bessl](https://github.com/bessl)) -* Fixed InternetTest (replaced regex with PHP filter) [\#406](https://github.com/fzaninotto/Faker/pull/406) ([bessl](https://github.com/bessl)) -* Added password formatter to the Internet provider[\#402](https://github.com/fzaninotto/Faker/pull/402) ([fzaninotto](https://github.com/fzaninotto)) -* Added Company and Internet Austrian (de\_AT) Providers [\#400](https://github.com/fzaninotto/Faker/pull/400) ([bessl](https://github.com/bessl)) -* Added third-party libraries section in README [\#399](https://github.com/fzaninotto/Faker/pull/399) ([fzaninotto](https://github.com/fzaninotto)) -* Added Spanish for Venezuela (es\_VE) locale [\#398](https://github.com/fzaninotto/Faker/pull/398) ([DIOHz0r](https://github.com/DIOHz0r)) -* Added PhoneNumber Autrian (de\_AT) Provider, and missing test for the 'locale' method. [\#395](https://github.com/fzaninotto/Faker/pull/395) ([bessl](https://github.com/bessl)) -* Removed wrongly localized Lorem provider [\#394](https://github.com/fzaninotto/Faker/pull/394) ([fzaninotto](https://github.com/fzaninotto)) -* Fixed Miscellaneous provider (made the `locale` formatter static) [\#390](https://github.com/fzaninotto/Faker/pull/390) ([bessl](https://github.com/bessl)) -* Added a unit test file for the Miscellaneous Provider [\#389](https://github.com/fzaninotto/Faker/pull/389) ([bessl](https://github.com/bessl)) -* Added warning in README about using `rand()`` and the seed functions [\#386](https://github.com/fzaninotto/Faker/pull/386) ([paulvalla](https://github.com/paulvalla)) -* Fixed French (fr\_FR) Person provider (Uppercased a first name) [\#385](https://github.com/fzaninotto/Faker/pull/385) ([netcarver](https://github.com/netcarver)) -* Added Russian (ru\_RU) and Ukrainian (uk\_UA) Text providers [\#383](https://github.com/fzaninotto/Faker/pull/383) ([terion-name](https://github.com/terion-name)) -* Added more street prefixes to French (fr\_FR) Address provider [\#381](https://github.com/fzaninotto/Faker/pull/381) ([ronanguilloux](https://github.com/ronanguilloux)) -* Added PHP 5.6 to CI targets [\#378](https://github.com/fzaninotto/Faker/pull/378) ([GrahamCampbell](https://github.com/GrahamCampbell)) -* Fixed spaces remaining at the end of liine in various files [\#377](https://github.com/fzaninotto/Faker/pull/377) ([GrahamCampbell](https://github.com/GrahamCampbell)) -* Fixed UserAgent provider (added space before processor on linux platform) [\#374](https://github.com/fzaninotto/Faker/pull/374) ([TomK](https://github.com/TomK)) -* Added Company generator for Russian (ru\_RU) locale [\#371](https://github.com/fzaninotto/Faker/pull/371) ([kix](https://github.com/kix)) -* Fixed Russian (ru\_RU) Color provider (uppercase letters) [\#370](https://github.com/fzaninotto/Faker/pull/370) ([semanser](https://github.com/semanser)) -* Added more Polish (pl\_PL) phone numbers [\#369](https://github.com/fzaninotto/Faker/pull/369) ([piotrantosik](https://github.com/piotrantosik)) -* Fixed Ruby Faker link in readme [\#368](https://github.com/fzaninotto/Faker/pull/368) ([philsturgeon](https://github.com/philsturgeon)) -* Added more Japanese (ja\_JP) names in Person provider [\#366](https://github.com/fzaninotto/Faker/pull/366) ([kumamidori](https://github.com/kumamidori)) -* Added Slovenian (sl\_SL) locale [\#363](https://github.com/fzaninotto/Faker/pull/363) ([alesf](https://github.com/alesf)) -* Fixed German (de\_DE) Person provider (first names) [\#362](https://github.com/fzaninotto/Faker/pull/362) ([mikehaertl](https://github.com/mikehaertl)) -* Fixed Ukrainian (uk\_UA) Person providr (there is no such letter "ы" in Ukrainian) [\#359](https://github.com/fzaninotto/Faker/pull/359) ([nazar-pc](https://github.com/nazar-pc)) -* Fixed Chinese (zh\_CN) PhoneNumber provider (the length of mobile phone number is 11) [\#358](https://github.com/fzaninotto/Faker/pull/358) ([byan](https://github.com/byan)) -* Added Arabic (ar_\JO) Locale [\#357](https://github.com/fzaninotto/Faker/pull/357) ([zrashwani](https://github.com/zrashwani)) -* Fixed Czech (cs\_CZ) Person provider (missing lowercase in last name) [\#355](https://github.com/fzaninotto/Faker/pull/355) ([halaxa](https://github.com/halaxa)) -* Fixed French for Belgium (fr\_BE) Address Provider (doubled city names) [\#354](https://github.com/fzaninotto/Faker/pull/354) ([miclf](https://github.com/miclf)) -* Added Biased Integer Provider [\#332](https://github.com/fzaninotto/Faker/pull/332) ([TimWolla](https://github.com/TimWolla)) -* Added Swedish (sv\_SE) locale [\#316](https://github.com/fzaninotto/Faker/pull/316) ([ulrikjohansson](https://github.com/ulrikjohansson)) -* Added English for New Zealand (en\_NZ) locale [\#283](https://github.com/fzaninotto/Faker/pull/283) ([JasonMortonNZ](https://github.com/JasonMortonNZ)) -* Added mention of external Provider for cron expressions to readme[\#498](https://github.com/fzaninotto/Faker/pull/498) ([swekaj](https://github.com/swekaj)) - -## 2014-06-04, v1.4.0 - -* Fixed typo in Slovak person names (cinan) -* Added tests for uk_UA providers (serge-kuharev) -* Fixed numerify() performance by making it 30% faster (fzaninotto) -* Added strict option to randomNumber to force number of digits (fzaninotto) -* Fixed randomNumber usage duplicating numberBetween (fzaninotto) -* Fixed address provider for latvian language (MatissJA) -* Added Czech Republic (cs_CZ) address, company, datetime and text providers (Mikulas) -* Fixed da_DK Person provider data containing an 'unnamed' person (tolnem) -* Added slug provider (fzaninotto) -* Fixed IDE insights for new local IP and MAC address providers (hugofonseca) -* Added firstname gender method to all Person providers (csanquer) -* Fixed tr_TR email service, city name, person, and phone number formats (ogunkarakus) -* Fixed US_en state list (fzaninotto) -* Fixed en_US address provider so state abbr are ISO 3166 codes (Garbee) -* Added local IP and MAC address providers (kielabokkie) -* Fixed typo in century list affecting the century provider (fzaninotto) -* Added default value to optional modifier (joshuajabbour) -* Fixed Portuguese phonenumbers have 9 digits (hugofonseca) -* Added fileCopy to File provider to simulate file upload (stefanosala) -* Added pt_PT providers (hugofonseca) -* Fixed dead code in text provider (hugofonseca) -* Fixed IDE insights for magic properties (hugofonseca) -* Added tin (NIF) generator for pt_PT provider (hugofonseca) -* Fixed numberBetween max default value handling (fzaninotto) -* Added pt_PT phone number provider (hugofonseca) -* Fixed PSR-2 standards and add make task to force it on Travis (terite) -* Added new ro_RO Personal Numerical Code (CNP) and phone number providers (avataru) -* Fixed Internet provider for sk_SK locale (cinan) -* Fixed typo in en_ZA Internet provider (bjorntheart) -* Fixed phpdoc for DateTime magic methods (stof) -* Added doc about seeding with maximum timestamp using dateTime formatters (fzaninotto) -* Added Maximum Timestamp option to get always same unix timestamp when using a fixed seed (csanquer) -* Added Montenegrian (me_ME) providers (ognjenm) -* Added ean barcode provider (nineinchnick) -* Added fullPath parameter to Image provider (stefanosala) -* Added more Polish company formats (nineinchnick) -* Added Polish realText provider (nineinchnick) -* Fixed remaining non-seedable random generators (terite) -* Added randomElements provider (terite) -* Added French realText provider (fzaninotto) -* Fixed realText provider bootstrap slowness (fzaninotto) -* Added realText provider for English and German, based on Markov Chains Generator (TimWolla) -* Fixed address format in nl_NL provider (doenietzomoeilijk) -* Fixed potentially offensive word from last name list (joshuajabbour) -* Fixed reamde documentation about the optional modifier (cryode) -* Fixed Image provider and documentor routine (fzaninotto) -* Fixed IDE insights for methods (PedroTroller) -* Fixed missing data in en_US Address provider (Garbee) -* Added Bengali (bn_BD) providers (masnun) -* Fixed warning on test file when short tags are on (bateller) -* Fixed Doctrine populator undefined index warning (dbojdo) -* Added French Canadian (fr_CA) Address and Person providers (marcaube) -* Fixed typo in NullGenerator (mhanson01) -* Fixed Doctrine populator issue with one-to-one nullable relationship (jpetitcolas) -* Added Canadian English (en_CA) address and phone number providers (cviebrock) -* Fixed duplicated Payment example in readme (Garbee) -* Fixed Polish (pl_PL) Person provider data (czogori) -* Added Hungarian (hu_HU) providers (sagikazarmark) -* Added 'kana' (ja_JP) name formatters (kzykhys) -* Added allow_failure for hhvm to travis-ci and test against php 5.5 (toin0u) - -## 2013-12-16, v1.3.0 - -* Fixed state generator in Australian (en_AU) provider (sebklaus) -* Fixed IDE insights for locale specific providers (ulrikjohansson) -* Added English (South Africa) (en_ZA) person, address, Internet and phone number providers (dmfaux) -* Fixed integer values overflowing on signed INTEGER columns on Doctrine populator (Thinkscape) -* Fixed spelling error in French (fr_FR) address provider (leihog) -* Added improvements based on SensioLabsInsights analysis -* Fixed Italian (it_IT) email provider (garak) -* Added Spanish (es_ES) Internet provider (eusonlito) -* Added English Philippines (en_PH) address provider (kamote) -* Added Brazilian (pt_BR) email provider data (KennedyTedesco) -* Fixed UK country code (pgscandeias) -* Added Peruvian (es_PE) person, address, phone number, and company providers (cslucano) -* Added Ukrainian (uk_UA) color provider (ruden) -* Fixed Ukrainian (uk_UA) namespace and email translitteration (ruden) -* Added Romanian (Moldova) (ro_MD) person, address, and phone number providers (AlexanderC) -* Added IBAN generator for every currently known locale that uses it (nineinchnick) -* Added Image generation powered by LoremPixel (weotch) -* Fixed missing timezone with dateTimeBetween (baldurrensch) -* Fixed call to undefined method cardType in Payment (WMeldon) -* Added Romanian (ro_RO) address and person providers (calina-c) -* Fixed Doctrine populator to use ObjectManager instead of EntityManagerInterface (mgiustiniani) -* Fixed docblock for Provider\Base::unique() (pschultz) -* Added Payment providers (creditCardType, creditCardNumber, creditCardExpirationDate, creditCardExpirationDateString) (pomaxa) -* Added unique() modifier -* Added IDE insights to allow better intellisense/phpStorm autocompletion (thallisphp) -* Added Polish (pl_PL) address provider, personal identity number and pesel number generator (nineinchnick) -* Added Turkish (tr_TR) address provider, and improved internet provider (hasandz) -* Fixed Propel column number guesser to use signed range of values (gunnarlium) -* Added Greek (el_GR) person, address, and phone number providers (georgeharito) -* Added Austrian (en_AU) address, Internet, and phone number providers (rcuddy) -* Fixed phpDoc in Doctrine Entity populator (rogamoore) -* Added French (fr_FR) phone number formats (vchabot) -* Added optional() modifier (weotch) -* Fixed typo in the Person provider documentation (jtreminio) -* Fixed Russian (ru_RU) person format (alexshadow007) -* Added Japanese (ja_JP) person, address, Internet, phone number, and company providers (kumamidori) -* Added color providers, driver license and passport number formats for the ru_RU locale (pomaxa) -* Added Latvian (lv_LV) person, address, Internet, and phone number providers (pomaxa) -* Added Brazilian (pt_BR) Internet provider (vjnrv) -* Added more Czech (cs_CZ) lastnames (petrkle) -* Added Chinese Simplified (zh_CN) person, address, Internet, and phone number providers (tlikai) -* Fixed Typos (pborelli) -* Added Color provider with hexColor, rgbColor, rgbColorAsArray, rgbCssColor, safeColorName, and colorName formatters (lsv) -* Added support for associative arrays in `randomElement` (aRn0D) - -## 2013-06-09, v1.2.0 - -* Added new provider for fr_BE locale (jflefebvre) -* Updated locale provider to use a static locale list (spawn-guy) -* Fixed invalid UTF-8 sequence in domain provider with the Bulgarian provider (Dynom) -* Fixed the nl_NL Person provider (Dynom) -* Removed all requires and added the autoload definition to composer (Dynom) -* Fixed encoding problems in nl_NL Address provider (Dynom) -* Added icelandic provider (is_IS) (birkir) -* Added en_CA address and phone numbers (cviebrock) -* Updated safeEmail provider to be really safe (TimWolla) -* Documented alternative randomNumber usage (Seldaek) -* Added basic file provider (anroots) -* Fixed use of fourth argument on Doctrine addEntity (ecentinela) -* Added nl_BE provider (wimvds) -* Added Random Float provider (csanquer) -* Fixed bug in Faker\ORM\Doctrine\Populator (mmf-amarcos) -* Updated ru_RU provider (rmrevin) -* Added safe email domain provider (csanquer) -* Fixed latitude provider (rumpl) -* Fixed unpredictability of fake data generated by Faker\Provider\Base::numberBetween() (goatherd) -* Added uuid provider (goatherd) -* Added possibility to call methods on Doctrine entities, possibility to generate unique id (nenadalm) -* Fixed prefixes typos in 'pl_PL' Person provider (krymen) -* Added more fake data to the Ukraininan providers (lysenkobv) -* Added more fake data to the Italian providers (EmanueleMinotto) -* Fixed spaces appearing in generated emails (alchy58) -* Added Armenian (hy_AM) provider (artash) -* Added Generation of valid SIREN & SIRET codes to French providers (alexsegura) -* Added Dutch (nl_NL) provider (WouterJ) -* Fixed missing typehint in Base::__construct() (benja-M-1) -* Fixed typo in README (benja-M-1) -* Added Ukrainian (ua_UA) provider (rsvasilyev) -* Added Turkish (tr_TR) Provider (faridmovsumov) -* Fixed executable bit in some PHP files (siwinski) -* Added Brazilian Portuguese (pt_BR) provider (oliveiraev) -* Added Spanish (es_ES) provider (ivannis) -* Fixed Doctrine populator to allow for the population of entity data that has associations to other entities (afishnamedsquish) -* Added Danish (da_DK) providers (toin0u) -* Cleaned up whitespaces (toin0u) -* Fixed utf-8 bug with lowercase generators (toin0u) -* Fixed composer.json (Seldaek) -* Fixed bug in Doctrine EntityPopulator (beberlei) -* Added Finnish (fi_FI) provider (drodil) - -## 2012-10-29, v1.1.0 - -* Updated text provider to return paragraphs as a string instead of array. Great for populating markdown textarea fields (Seldaek) -* Updated dateTimeBetween to accept DateTime instances (Seldaek) -* Added random number generator between a and b, simply like rand() (Seldaek) -* Fixed spaces in generated emails (blaugueux) -* Fixed Person provider in Russian locale (Isamashii) -* Added new UserAgent provider (blaugueux) -* Added locale generator to Miscellaneous provider (blaugueux) -* Added timezone generator to DateTime provider (blaugueux) -* Added new generators to French Address providers (departments, regions) (geoffrey-brier) -* Added new generators to French Company provider (catch phrase, SIREN, and SIRET numbers) (geoffrey-brier) -* Added state generator to German Address provider (Powerhamster) -* Added Slovak provider (bazo) -* Added latitude and longitude formatters to Address provider (fixe) -* Added Serbian provider (umpirsky) - -## 2012-07-10, v1.0.0 - -* Initial Version diff --git a/paragonik-backend/vendor/fzaninotto/faker/LICENSE b/paragonik-backend/vendor/fzaninotto/faker/LICENSE deleted file mode 100644 index 99ed007..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/LICENSE +++ /dev/null @@ -1,22 +0,0 @@ -Copyright (c) 2011 François Zaninotto -Portions Copyright (c) 2008 Caius Durling -Portions Copyright (c) 2008 Adam Royle -Portions Copyright (c) 2008 Fiona Burrows - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/paragonik-backend/vendor/fzaninotto/faker/composer.json b/paragonik-backend/vendor/fzaninotto/faker/composer.json deleted file mode 100644 index 2fd657b..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/composer.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "name": "fzaninotto/faker", - "type": "library", - "description": "Faker is a PHP library that generates fake data for you.", - "keywords": [ - "faker", - "fixtures", - "data" - ], - "license": "MIT", - "authors": [ - { - "name": "François Zaninotto" - } - ], - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "ext-intl": "*", - "phpunit/phpunit": "^4.8.35 || ^5.7", - "squizlabs/php_codesniffer": "^2.9.2" - }, - "autoload": { - "psr-4": { - "Faker\\": "src/Faker/" - } - }, - "autoload-dev": { - "psr-4": { - "Faker\\Test\\": "test/Faker/" - } - }, - "extra": { - "branch-alias": { - "dev-master": "1.9" - } - }, - "config": { - "sort-packages": true - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/readme.md b/paragonik-backend/vendor/fzaninotto/faker/readme.md deleted file mode 100644 index c9bac03..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/readme.md +++ /dev/null @@ -1,1795 +0,0 @@ -# Faker - -Faker is a PHP library that generates fake data for you. Whether you need to bootstrap your database, create good-looking XML documents, fill-in your persistence to stress test it, or anonymize data taken from a production service, Faker is for you. - -Faker is heavily inspired by Perl's [Data::Faker](http://search.cpan.org/~jasonk/Data-Faker-0.07/), and by ruby's [Faker](https://rubygems.org/gems/faker). - -Faker requires PHP >= 5.3.3. - -[![Monthly Downloads](https://poser.pugx.org/fzaninotto/faker/d/monthly.png)](https://packagist.org/packages/fzaninotto/faker) [![Build Status](https://travis-ci.org/fzaninotto/Faker.svg?branch=master)](https://travis-ci.org/fzaninotto/Faker) [![SensioLabsInsight](https://insight.sensiolabs.com/projects/eceb78a9-38d4-4ad5-8b6b-b52f323e3549/mini.png)](https://insight.sensiolabs.com/projects/eceb78a9-38d4-4ad5-8b6b-b52f323e3549) - -# Table of Contents - -- [Installation](#installation) -- [Basic Usage](#basic-usage) -- [Formatters](#formatters) - - [Base](#fakerproviderbase) - - [Lorem Ipsum Text](#fakerproviderlorem) - - [Person](#fakerprovideren_usperson) - - [Address](#fakerprovideren_usaddress) - - [Phone Number](#fakerprovideren_usphonenumber) - - [Company](#fakerprovideren_uscompany) - - [Real Text](#fakerprovideren_ustext) - - [Date and Time](#fakerproviderdatetime) - - [Internet](#fakerproviderinternet) - - [User Agent](#fakerprovideruseragent) - - [Payment](#fakerproviderpayment) - - [Color](#fakerprovidercolor) - - [File](#fakerproviderfile) - - [Image](#fakerproviderimage) - - [Uuid](#fakerprovideruuid) - - [Barcode](#fakerproviderbarcode) - - [Miscellaneous](#fakerprovidermiscellaneous) - - [Biased](#fakerproviderbiased) - - [Html Lorem](#fakerproviderhtmllorem) -- [Modifiers](#modifiers) -- [Localization](#localization) -- [Populating Entities Using an ORM or an ODM](#populating-entities-using-an-orm-or-an-odm) -- [Seeding the Generator](#seeding-the-generator) -- [Faker Internals: Understanding Providers](#faker-internals-understanding-providers) -- [Real Life Usage](#real-life-usage) -- [Language specific formatters](#language-specific-formatters) -- [Third-Party Libraries Extending/Based On Faker](#third-party-libraries-extendingbased-on-faker) -- [License](#license) - - -## Installation - -```sh -composer require fzaninotto/faker -``` - -## Basic Usage - -### Autoloading - -Faker supports both `PSR-0` as `PSR-4` autoloaders. -```php -name; - // 'Lucy Cechtelar'; -echo $faker->address; - // "426 Jordy Lodge - // Cartwrightshire, SC 88120-6700" -echo $faker->text; - // Dolores sit sint laboriosam dolorem culpa et autem. Beatae nam sunt fugit - // et sit et mollitia sed. - // Fuga deserunt tempora facere magni omnis. Omnis quia temporibus laudantium - // sit minima sint. -``` - -Even if this example shows a property access, each call to `$faker->name` yields a different (random) result. This is because Faker uses `__get()` magic, and forwards `Faker\Generator->$property` calls to `Faker\Generator->format($property)`. - -```php -name, "\n"; -} - // Adaline Reichel - // Dr. Santa Prosacco DVM - // Noemy Vandervort V - // Lexi O'Conner - // Gracie Weber - // Roscoe Johns - // Emmett Lebsack - // Keegan Thiel - // Wellington Koelpin II - // Ms. Karley Kiehn V -``` - -**Tip**: For a quick generation of fake data, you can also use Faker as a command line tool thanks to [faker-cli](https://github.com/bit3/faker-cli). - -## Formatters - -Each of the generator properties (like `name`, `address`, and `lorem`) are called "formatters". A faker generator has many of them, packaged in "providers". Here is a list of the bundled formatters in the default locale. - -### `Faker\Provider\Base` - - randomDigit // 7 - randomDigitNot(5) // 0, 1, 2, 3, 4, 6, 7, 8, or 9 - randomDigitNotNull // 5 - randomNumber($nbDigits = NULL, $strict = false) // 79907610 - randomFloat($nbMaxDecimals = NULL, $min = 0, $max = NULL) // 48.8932 - numberBetween($min = 1000, $max = 9000) // 8567 - randomLetter // 'b' - // returns randomly ordered subsequence of a provided array - randomElements($array = array ('a','b','c'), $count = 1) // array('c') - randomElement($array = array ('a','b','c')) // 'b' - shuffle('hello, world') // 'rlo,h eoldlw' - shuffle(array(1, 2, 3)) // array(2, 1, 3) - numerify('Hello ###') // 'Hello 609' - lexify('Hello ???') // 'Hello wgt' - bothify('Hello ##??') // 'Hello 42jz' - asciify('Hello ***') // 'Hello R6+' - regexify('[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}'); // sm0@y8k96a.ej - -### `Faker\Provider\Lorem` - - word // 'aut' - words($nb = 3, $asText = false) // array('porro', 'sed', 'magni') - sentence($nbWords = 6, $variableNbWords = true) // 'Sit vitae voluptas sint non voluptates.' - sentences($nb = 3, $asText = false) // array('Optio quos qui illo error.', 'Laborum vero a officia id corporis.', 'Saepe provident esse hic eligendi.') - paragraph($nbSentences = 3, $variableNbSentences = true) // 'Ut ab voluptas sed a nam. Sint autem inventore aut officia aut aut blanditiis. Ducimus eos odit amet et est ut eum.' - paragraphs($nb = 3, $asText = false) // array('Quidem ut sunt et quidem est accusamus aut. Fuga est placeat rerum ut. Enim ex eveniet facere sunt.', 'Aut nam et eum architecto fugit repellendus illo. Qui ex esse veritatis.', 'Possimus omnis aut incidunt sunt. Asperiores incidunt iure sequi cum culpa rem. Rerum exercitationem est rem.') - text($maxNbChars = 200) // 'Fuga totam reiciendis qui architecto fugiat nemo. Consequatur recusandae qui cupiditate eos quod.' - -### `Faker\Provider\en_US\Person` - - title($gender = null|'male'|'female') // 'Ms.' - titleMale // 'Mr.' - titleFemale // 'Ms.' - suffix // 'Jr.' - name($gender = null|'male'|'female') // 'Dr. Zane Stroman' - firstName($gender = null|'male'|'female') // 'Maynard' - firstNameMale // 'Maynard' - firstNameFemale // 'Rachel' - lastName // 'Zulauf' - -### `Faker\Provider\en_US\Address` - - cityPrefix // 'Lake' - secondaryAddress // 'Suite 961' - state // 'NewMexico' - stateAbbr // 'OH' - citySuffix // 'borough' - streetSuffix // 'Keys' - buildingNumber // '484' - city // 'West Judge' - streetName // 'Keegan Trail' - streetAddress // '439 Karley Loaf Suite 897' - postcode // '17916' - address // '8888 Cummings Vista Apt. 101, Susanbury, NY 95473' - country // 'Falkland Islands (Malvinas)' - latitude($min = -90, $max = 90) // 77.147489 - longitude($min = -180, $max = 180) // 86.211205 - -### `Faker\Provider\en_US\PhoneNumber` - - phoneNumber // '201-886-0269 x3767' - tollFreePhoneNumber // '(888) 937-7238' - e164PhoneNumber // '+27113456789' - -### `Faker\Provider\en_US\Company` - - catchPhrase // 'Monitored regional contingency' - bs // 'e-enable robust architectures' - company // 'Bogan-Treutel' - companySuffix // 'and Sons' - jobTitle // 'Cashier' - -### `Faker\Provider\en_US\Text` - - realText($maxNbChars = 200, $indexSize = 2) // "And yet I wish you could manage it?) 'And what are they made of?' Alice asked in a shrill, passionate voice. 'Would YOU like cats if you were never even spoke to Time!' 'Perhaps not,' Alice replied." - -### `Faker\Provider\DateTime` - - unixTime($max = 'now') // 58781813 - dateTime($max = 'now', $timezone = null) // DateTime('2008-04-25 08:37:17', 'UTC') - dateTimeAD($max = 'now', $timezone = null) // DateTime('1800-04-29 20:38:49', 'Europe/Paris') - iso8601($max = 'now') // '1978-12-09T10:10:29+0000' - date($format = 'Y-m-d', $max = 'now') // '1979-06-09' - time($format = 'H:i:s', $max = 'now') // '20:49:42' - dateTimeBetween($startDate = '-30 years', $endDate = 'now', $timezone = null) // DateTime('2003-03-15 02:00:49', 'Africa/Lagos') - dateTimeInInterval($startDate = '-30 years', $interval = '+ 5 days', $timezone = null) // DateTime('2003-03-15 02:00:49', 'Antartica/Vostok') - dateTimeThisCentury($max = 'now', $timezone = null) // DateTime('1915-05-30 19:28:21', 'UTC') - dateTimeThisDecade($max = 'now', $timezone = null) // DateTime('2007-05-29 22:30:48', 'Europe/Paris') - dateTimeThisYear($max = 'now', $timezone = null) // DateTime('2011-02-27 20:52:14', 'Africa/Lagos') - dateTimeThisMonth($max = 'now', $timezone = null) // DateTime('2011-10-23 13:46:23', 'Antarctica/Vostok') - amPm($max = 'now') // 'pm' - dayOfMonth($max = 'now') // '04' - dayOfWeek($max = 'now') // 'Friday' - month($max = 'now') // '06' - monthName($max = 'now') // 'January' - year($max = 'now') // '1993' - century // 'VI' - timezone // 'Europe/Paris' - -Methods accepting a `$timezone` argument default to `date_default_timezone_get()`. You can pass a custom timezone string to each method, or define a custom timezone for all time methods at once using `$faker::setDefaultTimezone($timezone)`. - -### `Faker\Provider\Internet` - - email // 'tkshlerin@collins.com' - safeEmail // 'king.alford@example.org' - freeEmail // 'bradley72@gmail.com' - companyEmail // 'russel.durward@mcdermott.org' - freeEmailDomain // 'yahoo.com' - safeEmailDomain // 'example.org' - userName // 'wade55' - password // 'k&|X+a45*2[' - domainName // 'wolffdeckow.net' - domainWord // 'feeney' - tld // 'biz' - url // 'http://www.skilesdonnelly.biz/aut-accusantium-ut-architecto-sit-et.html' - slug // 'aut-repellat-commodi-vel-itaque-nihil-id-saepe-nostrum' - ipv4 // '109.133.32.252' - localIpv4 // '10.242.58.8' - ipv6 // '8e65:933d:22ee:a232:f1c1:2741:1f10:117c' - macAddress // '43:85:B7:08:10:CA' - -### `Faker\Provider\UserAgent` - - userAgent // 'Mozilla/5.0 (Windows CE) AppleWebKit/5350 (KHTML, like Gecko) Chrome/13.0.888.0 Safari/5350' - chrome // 'Mozilla/5.0 (Macintosh; PPC Mac OS X 10_6_5) AppleWebKit/5312 (KHTML, like Gecko) Chrome/14.0.894.0 Safari/5312' - firefox // 'Mozilla/5.0 (X11; Linuxi686; rv:7.0) Gecko/20101231 Firefox/3.6' - safari // 'Mozilla/5.0 (Macintosh; U; PPC Mac OS X 10_7_1 rv:3.0; en-US) AppleWebKit/534.11.3 (KHTML, like Gecko) Version/4.0 Safari/534.11.3' - opera // 'Opera/8.25 (Windows NT 5.1; en-US) Presto/2.9.188 Version/10.00' - internetExplorer // 'Mozilla/5.0 (compatible; MSIE 7.0; Windows 98; Win 9x 4.90; Trident/3.0)' - -### `Faker\Provider\Payment` - - creditCardType // 'MasterCard' - creditCardNumber // '4485480221084675' - creditCardExpirationDate // 04/13 - creditCardExpirationDateString // '04/13' - creditCardDetails // array('MasterCard', '4485480221084675', 'Aleksander Nowak', '04/13') - // Generates a random IBAN. Set $countryCode to null for a random country - iban($countryCode) // 'IT31A8497112740YZ575DJ28BP4' - swiftBicNumber // 'RZTIAT22263' - -### `Faker\Provider\Color` - - hexcolor // '#fa3cc2' - rgbcolor // '0,255,122' - rgbColorAsArray // array(0,255,122) - rgbCssColor // 'rgb(0,255,122)' - safeColorName // 'fuchsia' - colorName // 'Gainsbor' - hslColor // '340,50,20' - hslColorAsArray // array(340,50,20) - -### `Faker\Provider\File` - - fileExtension // 'avi' - mimeType // 'video/x-msvideo' - // Copy a random file from the source to the target directory and returns the fullpath or filename - file($sourceDir = '/tmp', $targetDir = '/tmp') // '/path/to/targetDir/13b73edae8443990be1aa8f1a483bc27.jpg' - file($sourceDir, $targetDir, false) // '13b73edae8443990be1aa8f1a483bc27.jpg' - -### `Faker\Provider\Image` - - // Image generation provided by LoremPixel (http://lorempixel.com/) - imageUrl($width = 640, $height = 480) // 'http://lorempixel.com/640/480/' - imageUrl($width, $height, 'cats') // 'http://lorempixel.com/800/600/cats/' - imageUrl($width, $height, 'cats', true, 'Faker') // 'http://lorempixel.com/800/400/cats/Faker' - imageUrl($width, $height, 'cats', true, 'Faker', true) // 'http://lorempixel.com/gray/800/400/cats/Faker/' Monochrome image - image($dir = '/tmp', $width = 640, $height = 480) // '/tmp/13b73edae8443990be1aa8f1a483bc27.jpg' - image($dir, $width, $height, 'cats') // 'tmp/13b73edae8443990be1aa8f1a483bc27.jpg' it's a cat! - image($dir, $width, $height, 'cats', false) // '13b73edae8443990be1aa8f1a483bc27.jpg' it's a filename without path - image($dir, $width, $height, 'cats', true, false) // it's a no randomize images (default: `true`) - image($dir, $width, $height, 'cats', true, true, 'Faker') // 'tmp/13b73edae8443990be1aa8f1a483bc27.jpg' it's a cat with 'Faker' text. Default, `null`. - -### `Faker\Provider\Uuid` - - uuid // '7e57d004-2b97-0e7a-b45f-5387367791cd' - -### `Faker\Provider\Barcode` - - ean13 // '4006381333931' - ean8 // '73513537' - isbn13 // '9790404436093' - isbn10 // '4881416324' - -### `Faker\Provider\Miscellaneous` - - boolean // false - boolean($chanceOfGettingTrue = 50) // true - md5 // 'de99a620c50f2990e87144735cd357e7' - sha1 // 'f08e7f04ca1a413807ebc47551a40a20a0b4de5c' - sha256 // '0061e4c60dac5c1d82db0135a42e00c89ae3a333e7c26485321f24348c7e98a5' - locale // en_UK - countryCode // UK - languageCode // en - currencyCode // EUR - emoji // 😠- -### `Faker\Provider\Biased` - - // get a random number between 10 and 20, - // with more chances to be close to 20 - biasedNumberBetween($min = 10, $max = 20, $function = 'sqrt') - -### `Faker\Provider\HtmlLorem` - - //Generate HTML document which is no more than 2 levels deep, and no more than 3 elements wide at any level. - randomHtml(2,3) // Aut illo dolorem et accusantium eum.
Id aut saepe non mollitia voluptas voluptas.Non consequatur.Incidunt est.Aut voluptatem.Officia voluptas rerum quo.Asperiores similique.
Sapiente dolorum dolorem sint laboriosam commodi qui.Commodi nihil nesciunt eveniet quo repudiandae.Voluptates explicabo numquam distinctio necessitatibus repellat.Provident ut doloremque nam eum modi aspernatur.Iusto inventore.
Animi nihil ratione id mollitia libero ipsa quia tempore.Velit est officia et aut tenetur dolorem sed mollitia expedita.Modi modi repudiandae pariatur voluptas rerum ea incidunt non molestiae eligendi eos deleniti.Exercitationem voluptatibus dolor est iste quod molestiae.Quia reiciendis.
Inventore impedit exercitationem voluptatibus rerum cupiditate.Qui.Aliquam.Autem nihil aut et.Dolor ut quia error.
Enim facilis iusto earum et minus rerum assumenda quis quia.Reprehenderit ut sapiente occaecati voluptatum dolor voluptatem vitae qui velit.Quod fugiat non.Sunt nobis totam mollitia sed nesciunt est deleniti cumque.Repudiandae quo.
Modi dicta libero quisquam doloremque qui autem.Voluptatem aliquid saepe laudantium facere eos sunt dolor.Est eos quis laboriosam officia expedita repellendus quia natus.Et neque delectus quod fugit enim repudiandae qui.Fugit soluta sit facilis facere repellat culpa magni voluptatem maiores tempora.
Enim dolores doloremque.Assumenda voluptatem eum perferendis exercitationem.Quasi in fugit deserunt ea perferendis sunt nemo consequatur dolorum soluta.Maxime repellat qui numquam voluptatem est modi.Alias rerum rerum hic hic eveniet.
Tempore voluptatem.Eaque.Et sit quas fugit iusto.Nemo nihil rerum dignissimos et esse.Repudiandae ipsum numquam.
Nemo sunt quia.Sint tempore est neque ducimus harum sed.Dicta placeat atque libero nihil.Et qui aperiam temporibus facilis eum.Ut dolores qui enim et maiores nesciunt.
Dolorum totam sint debitis saepe laborum.Quidem corrupti ea.Cum voluptas quod.Possimus consequatur quasi dolorem ut et.Et velit non hic labore repudiandae quis.
- -## Modifiers - -Faker provides three special providers, `unique()`, `optional()`, and `valid()`, to be called before any provider. - -```php -// unique() forces providers to return unique values -$values = array(); -for ($i = 0; $i < 10; $i++) { - // get a random digit, but always a new one, to avoid duplicates - $values []= $faker->unique()->randomDigit; -} -print_r($values); // [4, 1, 8, 5, 0, 2, 6, 9, 7, 3] - -// providers with a limited range will throw an exception when no new unique value can be generated -$values = array(); -try { - for ($i = 0; $i < 10; $i++) { - $values []= $faker->unique()->randomDigitNotNull; - } -} catch (\OverflowException $e) { - echo "There are only 9 unique digits not null, Faker can't generate 10 of them!"; -} - -// you can reset the unique modifier for all providers by passing true as first argument -$faker->unique($reset = true)->randomDigitNotNull; // will not throw OverflowException since unique() was reset -// tip: unique() keeps one array of values per provider - -// optional() sometimes bypasses the provider to return a default value instead (which defaults to NULL) -$values = array(); -for ($i = 0; $i < 10; $i++) { - // get a random digit, but also null sometimes - $values []= $faker->optional()->randomDigit; -} -print_r($values); // [1, 4, null, 9, 5, null, null, 4, 6, null] - -// optional() accepts a weight argument to specify the probability of receiving the default value. -// 0 will always return the default value; 1 will always return the provider. Default weight is 0.5 (50% chance). -$faker->optional($weight = 0.1)->randomDigit; // 90% chance of NULL -$faker->optional($weight = 0.9)->randomDigit; // 10% chance of NULL - -// optional() accepts a default argument to specify the default value to return. -// Defaults to NULL. -$faker->optional($weight = 0.5, $default = false)->randomDigit; // 50% chance of FALSE -$faker->optional($weight = 0.9, $default = 'abc')->word; // 10% chance of 'abc' - -// valid() only accepts valid values according to the passed validator functions -$values = array(); -$evenValidator = function($digit) { - return $digit % 2 === 0; -}; -for ($i = 0; $i < 10; $i++) { - $values []= $faker->valid($evenValidator)->randomDigit; -} -print_r($values); // [0, 4, 8, 4, 2, 6, 0, 8, 8, 6] - -// just like unique(), valid() throws an overflow exception when it can't generate a valid value -$values = array(); -try { - $faker->valid($evenValidator)->randomElement(1, 3, 5, 7, 9); -} catch (\OverflowException $e) { - echo "Can't pick an even number in that set!"; -} -``` - -If you would like to use a modifier with a value not generated by Faker, use the `passthrough()` method. `passthrough()` simply returns whatever value it was given. - -```php -$faker->optional()->passthrough(mt_rand(5, 15)); -``` - -## Localization - -`Faker\Factory` can take a locale as an argument, to return localized data. If no localized provider is found, the factory fallbacks to the default locale (en_US). - -```php -name, "\n"; -} - // Luce du Coulon - // Auguste Dupont - // Roger Le Voisin - // Alexandre Lacroix - // Jacques Humbert-Roy - // Thérèse Guillet-Andre - // Gilles Gros-Bodin - // Amélie Pires - // Marcel Laporte - // Geneviève Marchal -``` - -You can check available Faker locales in the source code, [under the `Provider` directory](https://github.com/fzaninotto/Faker/tree/master/src/Faker/Provider). The localization of Faker is an ongoing process, for which we need your help. Don't hesitate to create localized providers to your own locale and submit a PR! - -## Populating Entities Using an ORM or an ODM - -Faker provides adapters for Object-Relational and Object-Document Mappers (currently, [Propel](http://www.propelorm.org), [Doctrine2](http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/), [CakePHP](http://cakephp.org), [Spot2](https://github.com/vlucas/spot2), [Mandango](https://github.com/mandango/mandango) and [Eloquent](https://laravel.com/docs/master/eloquent) are supported). These adapters ease the population of databases through the Entity classes provided by an ORM library (or the population of document stores using Document classes provided by an ODM library). - -To populate entities, create a new populator class (using a generator instance as parameter), then list the class and number of all the entities that must be generated. To launch the actual data population, call the `execute()` method. - -Note that some of the `populators` could require additional parameters. As example the `doctrine` populator has an option to specify -its batchSize on how often it will flush the UnitOfWork to the database. - -Here is an example showing how to populate 5 `Author` and 10 `Book` objects: - -```php -addEntity('Author', 5); -$populator->addEntity('Book', 10); -$insertedPKs = $populator->execute(); -``` - -The populator uses name and column type guessers to populate each column with relevant data. For instance, Faker populates a column named `first_name` using the `firstName` formatter, and a column with a `TIMESTAMP` type using the `dateTime` formatter. The resulting entities are therefore coherent. If Faker misinterprets a column name, you can still specify a custom closure to be used for populating a particular column, using the third argument to `addEntity()`: - -```php -addEntity('Book', 5, array( - 'ISBN' => function() use ($generator) { return $generator->ean13(); } -)); -``` - -In this example, Faker will guess a formatter for all columns except `ISBN`, for which the given anonymous function will be used. - -**Tip**: To ignore some columns, specify `null` for the column names in the third argument of `addEntity()`. This is usually necessary for columns added by a behavior: - -```php -addEntity('Book', 5, array( - 'CreatedAt' => null, - 'UpdatedAt' => null, -)); -``` - -Of course, Faker does not populate autoincremented primary keys. In addition, `Faker\ORM\Propel\Populator::execute()` returns the list of inserted PKs, indexed by class: - -```php - (34, 35, 36, 37, 38), -// 'Book' => (456, 457, 458, 459, 470, 471, 472, 473, 474, 475) -// ) -``` - -**Note:** Due to the fact that `Faker` returns all the primary keys inserted, the memory consumption will go up drastically when you do batch inserts due to the big list of data. - -In the previous example, the `Book` and `Author` models share a relationship. Since `Author` entities are populated first, Faker is smart enough to relate the populated `Book` entities to one of the populated `Author` entities. - -Lastly, if you want to execute an arbitrary function on an entity before insertion, use the fourth argument of the `addEntity()` method: - -```php -addEntity('Book', 5, array(), array( - function($book) { $book->publish(); }, -)); -``` - -## Seeding the Generator - -You may want to get always the same generated data - for instance when using Faker for unit testing purposes. The generator offers a `seed()` method, which seeds the random number generator. Calling the same script twice with the same seed produces the same results. - -```php -seed(1234); - -echo $faker->name; // 'Jess Mraz I'; -``` - -> **Tip**: DateTime formatters won't reproduce the same fake data if you don't fix the `$max` value: -> -> ```php -> // even when seeded, this line will return different results because $max varies -> $faker->dateTime(); // equivalent to $faker->dateTime($max = 'now') -> // make sure you fix the $max parameter -> $faker->dateTime('2014-02-25 08:37:17'); // will return always the same date when seeded -> ``` -> -> **Tip**: Formatters won't reproduce the same fake data if you use the `rand()` php function. Use `$faker` or `mt_rand()` instead: -> -> ```php -> // bad -> $faker->realText(rand(10,20)); -> // good -> $faker->realText($faker->numberBetween(10,20)); -> ``` - - - -## Faker Internals: Understanding Providers - -A `Faker\Generator` alone can't do much generation. It needs `Faker\Provider` objects to delegate the data generation to them. `Faker\Factory::create()` actually creates a `Faker\Generator` bundled with the default providers. Here is what happens under the hood: - -```php -addProvider(new Faker\Provider\en_US\Person($faker)); -$faker->addProvider(new Faker\Provider\en_US\Address($faker)); -$faker->addProvider(new Faker\Provider\en_US\PhoneNumber($faker)); -$faker->addProvider(new Faker\Provider\en_US\Company($faker)); -$faker->addProvider(new Faker\Provider\Lorem($faker)); -$faker->addProvider(new Faker\Provider\Internet($faker)); -```` - -Whenever you try to access a property on the `$faker` object, the generator looks for a method with the same name in all the providers attached to it. For instance, calling `$faker->name` triggers a call to `Faker\Provider\Person::name()`. And since Faker starts with the last provider, you can easily override existing formatters: just add a provider containing methods named after the formatters you want to override. - -That means that you can easily add your own providers to a `Faker\Generator` instance. A provider is usually a class extending `\Faker\Provider\Base`. This parent class allows you to use methods like `lexify()` or `randomNumber()`; it also gives you access to formatters of other providers, through the protected `$generator` property. The new formatters are the public methods of the provider class. - -Here is an example provider for populating Book data: - -```php -generator->sentence($nbWords); - return substr($sentence, 0, strlen($sentence) - 1); - } - - public function ISBN() - { - return $this->generator->ean13(); - } -} -``` - -To register this provider, just add a new instance of `\Faker\Provider\Book` to an existing generator: - -```php -addProvider(new \Faker\Provider\Book($faker)); -``` - -Now you can use the two new formatters like any other Faker formatter: - -```php -setTitle($faker->title); -$book->setISBN($faker->ISBN); -$book->setSummary($faker->text); -$book->setPrice($faker->randomNumber(2)); -``` - -**Tip**: A provider can also be a Plain Old PHP Object. In that case, all the public methods of the provider become available to the generator. - -## Real Life Usage - -The following script generates a valid XML document: - -```php - - - - - - -boolean(25)): ?> - - -
- streetAddress ?> - city ?> - postcode ?> - state ?> -
- -boolean(33)): ?> - bs ?> - -boolean(33)): ?> - - - -boolean(15)): ?> -
-text(400) ?> -]]> -
- -
- -
-``` - -Running this script produces a document looking like: - -```xml - - - - -
- 182 Harrison Cove - North Lloyd - 45577 - Alabama -
- - orchestrate compelling web-readiness - -
- -
-
- - -
- 90111 Hegmann Inlet - South Geovanymouth - 69961-9311 - Colorado -
- - -
- - -
- 9791 Nona Corner - Harberhaven - 74062-8191 - RhodeIsland -
- - -
- - -
- 11161 Schultz Via - Feilstad - 98019 - NewJersey -
- - - -
- -
-
- - -
- 6106 Nader Village Suite 753 - McLaughlinstad - 43189-8621 - Missouri -
- - expedite viral synergies - - -
- - -
- 7546 Kuvalis Plaza - South Wilfrid - 77069 - Georgia -
- - -
- - - -
- 478 Daisha Landing Apt. 510 - West Lizethhaven - 30566-5362 - WestVirginia -
- - orchestrate dynamic networks - - -
- -
-
- - -
- 1251 Koelpin Mission - North Revastad - 81620 - Maryland -
- - -
- - -
- 6396 Langworth Hills Apt. 446 - New Carlos - 89399-0268 - Wyoming -
- - - -
- - - -
- 2246 Kreiger Station Apt. 291 - Kaydenmouth - 11397-1072 - Wyoming -
- - grow sticky portals - -
- -
-
-
-``` - -## Language specific formatters - -### `Faker\Provider\ar_SA\Person` - -```php -idNumber; // ID number -echo $faker->nationalIdNumber // Citizen ID number -echo $faker->foreignerIdNumber // Foreigner ID number -echo $faker->companyIdNumber // Company ID number -``` - -### `Faker\Provider\ar_SA\Payment` - -```php -bankAccountNumber // "SA0218IBYZVZJSEC8536V4XC" -``` - -### `Faker\Provider\at_AT\Payment` - -```php -vat; // "AT U12345678" - Austrian Value Added Tax number -echo $faker->vat(false); // "ATU12345678" - unspaced Austrian Value Added Tax number -``` - -### `Faker\Provider\bg_BG\Payment` - -```php -vat; // "BG 0123456789" - Bulgarian Value Added Tax number -echo $faker->vat(false); // "BG0123456789" - unspaced Bulgarian Value Added Tax number -``` - -### `Faker\Provider\cs_CZ\Address` - -```php -region; // "Liberecký kraj" -``` - -### `Faker\Provider\cs_CZ\Company` - -```php -ico; // "69663963" -``` - -### `Faker\Provider\cs_CZ\DateTime` - -```php -monthNameGenitive; // "prosince" -echo $faker->formattedDate; // "12. listopadu 2015" -``` - -### `Faker\Provider\cs_CZ\Person` - -```php -birthNumber; // "7304243452" -``` - -### `Faker\Provider\da_DK\Person` - -```php -cpr; // "051280-2387" -``` - -### `Faker\Provider\da_DK\Address` - -```php -kommune; // "Frederiksberg" - -// Generates a random region name -echo $faker->region; // "Region Sjælland" -``` - -### `Faker\Provider\da_DK\Company` - -```php -cvr; // "32458723" - -// Generates a random P number -echo $faker->p; // "5398237590" -``` - -### `Faker\Provider\de_CH\Person` -```php -avs13; // "756.1234.5678.97" OR -echo $faker->ahv13; // "756.1234.5678.97" -``` - -### `Faker\Provider\de_DE\Payment` - -```php -bankAccountNumber; // "DE41849025553661169313" -echo $faker->bank; // "Volksbank Stuttgart" - -``` - -### `Faker\Provider\en_HK\Address` - -```php -town; // "Yuen Long" - -// Generates a fake village name based on the words commonly found in Hong Kong -echo $faker->village; // "O Tau" - -// Generates a fake estate name based on the words commonly found in Hong Kong -echo $faker->estate; // "Ching Lai Court" - -``` - -### `Faker\Provider\en_HK\Phone` - -```php -mobileNumber; // "92150087" - -// Generates a Hong Kong landline number (starting with 2 or 3) -echo $faker->landlineNumber; // "32750132" - -// Generates a Hong Kong fax number (starting with 7) -echo $faker->faxNumber; // "71937729" - -``` - -### `Faker\Provider\en_NG\Address` - -```php -region; // 'Katsina' -``` - -### `Faker\Provider\en_NG\Person` - -```php -name; // 'Oluwunmi Mayowa' -``` - -### `Faker\Provider\en_NZ\Phone` - -```php -mobileNumber; // "021 123 4567" - -// Generates a toll free number -echo $faker->tollFreeNumber; // "0800 123 456" - -// Area Code -echo $faker->areaCode; // "03" -``` - -### `Faker\Provider\en_US\Company` - -```php -ein; // '12-3456789' -``` - -### `Faker\Provider\en_US\Payment` - -```php -bankAccountNumber; // '51915734310' -echo $faker->bankRoutingNumber; // '212240302' -``` - -### `Faker\Provider\en_US\Person` - -```php -ssn; // '123-45-6789' -``` - -### `Faker\Provider\en_ZA\Company` - -```php -companyNumber; // 1999/789634/01 -``` - -### `Faker\Provider\en_ZA\Person` - -```php -idNumber; // 6606192211041 - -// Generates a random valid licence code -echo $faker->licenceCode; // EB -``` - -### `Faker\Provider\en_ZA\PhoneNumber` - -```php -tollFreeNumber; // 0800 555 5555 - -// Generates a mobile phone number -echo $faker->mobileNumber; // 082 123 5555 -``` - -### `Faker\Provider\es_ES\Person` - -```php -dni; // '77446565E' - -// Generates a random valid licence code -echo $faker->licenceCode; // B -``` - -### `Faker\Provider\es_ES\Payment` - -```php -vat; // "A35864370" -``` - -### `Faker\Provider\es_ES\PhoneNumber` - -```php -tollFreeNumber; // 900 123 456 - -// Generates a mobile phone number -echo $faker->mobileNumber; // +34 612 12 24 -``` - -### `Faker\Provider\es_PE\Person` - -```php -dni; // '83367512' -``` - -### `Faker\Provider\fa_IR\Person` - -```php -nationalCode; // "0078475759" -``` - -### `Faker\Provider\fa_IR\Address` - -```php -building; // "ساختمان Ø¢Ùتاب" - -// Returns a random city name -echo $faker->city // "استان زنجان" -``` - -### `Faker\Provider\fa_IR\Company` - -```php -contract; // "رسمی" -``` - -### `Faker\Provider\fi_FI\Payment` - -```php -bankAccountNumber; // "FI8350799879879616" -``` - -### `Faker\Provider\fi_FI\Person` - -```php -personalIdentityNumber() // '170974-007J' - -//Since the numbers are different for male and female persons, optionally you can specify gender. -echo $faker->personalIdentityNumber(\DateTime::createFromFormat('Y-m-d', '2015-12-14'), 'female') // '141215A520B' -``` - -### `Faker\Provider\fr_BE\Payment` - -```php -vat; // "BE 0123456789" - Belgian Value Added Tax number -echo $faker->vat(false); // "BE0123456789" - unspaced Belgian Value Added Tax number -``` - -### `Faker\Provider\es_VE\Person` - -```php -nationalId; // 'V11223344' -``` - -### `Faker\Provider\es_VE\Company` - -```php -taxpayerIdentificationNumber; // 'J1234567891' -``` - -### `Faker\Provider\fr_CH\Person` -```php -avs13; // "756.1234.5678.97" -``` - -### `Faker\Provider\fr_FR\Address` - -```php -departmentName; // "Haut-Rhin" - -// Generates a random department number -echo $faker->departmentNumber; // "2B" - -// Generates a random department info (department number => department name) -$faker->department; // array('18' => 'Cher'); - -// Generates a random region -echo $faker->region; // "Saint-Pierre-et-Miquelon" - -// Generates a random appartement,stair -echo $faker->secondaryAddress; // "Bat. 961" -``` - -### `Faker\Provider\fr_FR\Company` - -```php -siren; // 082 250 104 - -// Generates a random SIRET number -echo $faker->siret; // 347 355 708 00224 -``` - -### `Faker\Provider\fr_FR\Payment` - -```php -vat; // FR 12 123 456 789 -``` - -### `Faker\Provider\fr_FR\Person` - -```php -nir; // 1 88 07 35 127 571 - 19 -``` - -### `Faker\Provider\fr_FR\PhoneNumber` - -```php -phoneNumber; // +33 (0)1 67 97 01 31 -echo $faker->mobileNumber; // +33 6 21 12 72 84 -echo $faker->serviceNumber // 08 98 04 84 46 -``` - - -### `Faker\Provider\he_IL\Payment` - -```php -bankAccountNumber // "IL392237392219429527697" -``` - -### `Faker\Provider\hr_HR\Payment` - -```php -bankAccountNumber // "HR3789114847226078672" -``` - -### `Faker\Provider\hu_HU\Payment` - -```php -bankAccountNumber; // "HU09904437680048220079300783" -``` - -### `Faker\Provider\id_ID\Person` - -```php -nik(); // "8522246001570940" -``` - -### `Faker\Provider\it_CH\Person` -```php -avs13; // "756.1234.5678.97" -``` - -### `Faker\Provider\it_IT\Company` - -```php -vatId(); // "IT98746784967" -``` - -### `Faker\Provider\it_IT\Person` - -```php -taxId(); // "DIXDPZ44E08F367A" -``` - -### `Faker\Provider\ja_JP\Person` - -```php -kanaName($gender = null|'male'|'female') // "アオタ ミノル" - -// Generates a 'kana' first name -echo $faker->firstKanaName($gender = null|'male'|'female') // "ヒデキ" - -// Generates a 'kana' first name on the male -echo $faker->firstKanaNameMale // "ヒデキ" - -// Generates a 'kana' first name on the female -echo $faker->firstKanaNameFemale // "マアヤ" - -// Generates a 'kana' last name -echo $faker->lastKanaName; // "ナカジマ" -``` - -### `Faker\Provider\ka_GE\Payment` - -```php -bankAccountNumber; // "GE33ZV9773853617253389" -``` - -### `Faker\Provider\kk_KZ\Company` - -```php -businessIdentificationNumber; // "150140000019" -``` - -### `Faker\Provider\kk_KZ\Payment` - -```php -bank; // "Қазкоммерцбанк" - -// Generates a random bank account number -echo $faker->bankAccountNumber; // "KZ1076321LO4H6X41I37" -``` - -### `Faker\Provider\kk_KZ\Person` - -```php -individualIdentificationNumber; // "780322300455" - -// Generates an individual identification number based on his/her birth date -echo $faker->individualIdentificationNumber(new \DateTime('1999-03-01')); // "990301300455" -``` - -### `Faker\Provider\ko_KR\Address` - -```php -metropolitanCity; // "서울특별시" - -// Generates a borough -echo $faker->borough; // "강남구" -``` - -### `Faker\Provider\ko_KR\PhoneNumber` - -```php -localAreaPhoneNumber; // "02-1234-4567" - -// Generates a cell phone number -echo $faker->cellPhoneNumber; // "010-9876-5432" -``` - -### `Faker\Provider\lt_LT\Payment` - -```php -bankAccountNumber // "LT300848876740317118" -``` - -### `Faker\Provider\lv_LV\Person` - -```php -personalIdentityNumber; // "140190-12301" -``` - -### `Faker\Provider\ms_MY\Address` - -```php -township; // "Taman Bahagia" - -// Generates a random Malaysian town address with matching postcode and state -echo $faker->townState; // "55100 Bukit Bintang, Kuala Lumpur" -``` - -### `Faker\Provider\ms_MY\Miscellaneous` - -```php -jpjNumberPlate; // "WPL 5169" -``` - -### `Faker\Provider\ms_MY\Payment` - -```php -bank; // "Maybank" - -// Generates a random Malaysian bank account number (10-16 digits) -echo $faker->bankAccountNumber; // "1234567890123456" - -// Generates a random Malaysian insurance company -echo $faker->insurance; // "AIA Malaysia" - -// Generates a random Malaysian bank SWIFT Code -echo $faker->swiftCode; // "MBBEMYKLXXX" -``` - -### `Faker\Provider\ms_MY\Person` - -```php -myKadNumber($gender = null|'male'|'female', $hyphen = null|true|false); // "710703471796" -``` - -### `Faker\Provider\ms_MY\PhoneNumber` - -```php -mobileNumber($countryCodePrefix = null|true|false, $formatting = null|true|false); // "+6012-705 3767" - -// Generates a random Malaysian landline number -echo $faker->fixedLineNumber($countryCodePrefix = null|true|false, $formatting = null|true|false); // "03-7112 0455" - -// Generates a random Malaysian voip number -echo $faker->voipNumber($countryCodePrefix = null|true|false, $formatting = null|true|false); // "015-458 7099" -``` - -### `Faker\Provider\ne_NP\Address` - -```php -district; - -//Generates a Nepali city name -echo $faker->cityName; -``` - -### `Faker\Provider\nl_BE\Payment` - -```php -vat; // "BE 0123456789" - Belgian Value Added Tax number -echo $faker->vat(false); // "BE0123456789" - unspaced Belgian Value Added Tax number -``` - -### `Faker\Provider\nl_BE\Person` - -```php -rrn(); // "83051711784" - Belgian Rijksregisternummer -echo $faker->rrn('female'); // "50032089858" - Belgian Rijksregisternummer for a female -``` - -### `Faker\Provider\nl_NL\Company` - -```php -jobTitle; // "Houtbewerker" -echo $faker->vat; // "NL123456789B01" - Dutch Value Added Tax number -echo $faker->btw; // "NL123456789B01" - Dutch Value Added Tax number (alias) -``` - -### `Faker\Provider\nl_NL\Person` - -```php -idNumber; // "111222333" - Dutch Personal identification number (BSN) -``` - -### `Faker\Provider\nb_NO\MobileNumber` - -```php -mobileNumber; // "+4799988777" -echo $faker->mobileNumber; // "999 88 777" -echo $faker->mobileNumber; // "99988777" -``` - -### `Faker\Provider\nb_NO\Payment` - -```php -bankAccountNumber; // "NO3246764709816" -``` - -### `Faker\Provider\pl_PL\Person` - -```php -pesel; // "40061451555" -// Generates a random personal identity card number -echo $faker->personalIdentityNumber; // "AKX383360" -// Generates a random taxpayer identification number (NIP) -echo $faker->taxpayerIdentificationNumber; // '8211575109' -``` - -### `Faker\Provider\pl_PL\Company` - -```php -regon; // "714676680" -// Generates a random local REGON number -echo $faker->regonLocal; // "15346111382836" -``` - -### `Faker\Provider\pl_PL\Payment` - -```php -bank; // "Narodowy Bank Polski" -// Generates a random bank account number -echo $faker->bankAccountNumber; // "PL14968907563953822118075816" -``` - -### `Faker\Provider\pt_PT\Person` - -```php -taxpayerIdentificationNumber; // '165249277' -``` - -### `Faker\Provider\pt_BR\Address` - -```php -region; // 'Nordeste' - -// Generates a random region abbreviation -echo $faker->regionAbbr; // 'NE' -``` - -### `Faker\Provider\pt_BR\PhoneNumber` - -```php -areaCode; // 21 -echo $faker->cellphone; // 9432-5656 -echo $faker->landline; // 2654-3445 -echo $faker->phone; // random landline, 8-digit or 9-digit cellphone number - -// Using the phone functions with a false argument returns unformatted numbers -echo $faker->cellphone(false); // 74336667 - -// cellphone() has a special second argument to add the 9th digit. Ignored if generated a Radio number -echo $faker->cellphone(true, true); // 98983-3945 or 7343-1290 - -// Using the "Number" suffix adds area code to the phone -echo $faker->cellphoneNumber; // (11) 98309-2935 -echo $faker->landlineNumber(false); // 3522835934 -echo $faker->phoneNumber; // formatted, random landline or cellphone (obeying the 9th digit rule) -echo $faker->phoneNumberCleared; // not formatted, random landline or cellphone (obeying the 9th digit rule) -``` - -### `Faker\Provider\pt_BR\Person` - -```php -name; // 'Sr. Luis Adriano Sepúlveda Filho' - -// Valid document generators have a boolean argument to remove formatting -echo $faker->cpf; // '145.343.345-76' -echo $faker->cpf(false); // '45623467866' -echo $faker->rg; // '84.405.736-3' -echo $faker->rg(false); // '844057363' -``` - -### `Faker\Provider\pt_BR\Company` - -```php -cnpj; // '23.663.478/0001-24' -echo $faker->cnpj(false); // '23663478000124' -``` - -### `Faker\Provider\ro_MD\Payment` - -```php -bankAccountNumber; // "MD83BQW1CKMUW34HBESDP3A8" -``` - -### `Faker\Provider\ro_RO\Payment` - -```php -bankAccountNumber; // "RO55WRJE3OE8X3YQI7J26U1E" -``` - -### `Faker\Provider\ro_RO\Person` - -```php -prefixMale; // "ing." -// Generates a random female name prefix/title -echo $faker->prefixFemale; // "d-na." -// Generates a random male first name -echo $faker->firstNameMale; // "Adrian" -// Generates a random female first name -echo $faker->firstNameFemale; // "Miruna" - - -// Generates a random Personal Numerical Code (CNP) -echo $faker->cnp; // "2800523081231" -// Valid option values: -// $gender: null (random), male, female -// $dateOfBirth (1800+): null (random), Y-m-d, Y-m (random day), Y (random month and day) -// i.e. '1981-06-16', '2015-03', '1900' -// $county: 2 letter ISO 3166-2:RO county codes and B1, B2, B3, B4, B5, B6 for Bucharest's 6 sectors -// $isResident true/false flag if the person resides in Romania -echo $faker->cnp($gender = null, $dateOfBirth = null, $county = null, $isResident = true); - -``` - -### `Faker\Provider\ro_RO\PhoneNumber` - -```php -tollFreePhoneNumber; // "0800123456" -// Generates a random premium-rate phone number -echo $faker->premiumRatePhoneNumber; // "0900123456" -``` - -### `Faker\Provider\ru_RU\Payment` - -```php -bank; // "ОТП Банк" - -//Generate a Russian Tax Payment Number for Company -echo $faker->inn; // 7813540735 - -//Generate a Russian Tax Code for Company -echo $faker->kpp; // 781301001 -``` - -### `Faker\Provider\sv_SE\Payment` - -```php -bankAccountNumber; // "SE5018548608468284909192" -``` - -### `Faker\Provider\sv_SE\Person` - -```php -personalIdentityNumber() // '950910-0799' - -//Since the numbers are different for male and female persons, optionally you can specify gender. -echo $faker->personalIdentityNumber('female') // '950910-0781' -``` -### `Faker\Provider\tr_TR\Person` - -```php -tcNo // '55300634882' - -``` - - -### `Faker\Provider\zh_CN\Payment` - -```php -bank; // '中国建设银行' -``` - -### `Faker\Provider\uk_UA\Payment` - -```php -bank; // "Ощадбанк" -``` - -### `Faker\Provider\zh_TW\Person` - -```php -personalIdentityNumber; // A223456789 -``` - -### `Faker\Provider\zh_TW\Company` - -```php -VAT; //23456789 -``` - - -## Third-Party Libraries Extending/Based On Faker - -* Symfony bundles: - * [`willdurand/faker-bundle`](https://github.com/willdurand/BazingaFakerBundle): Put the awesome Faker library into the Symfony2 DIC and populate your database with fake data. - * [`hautelook/alice-bundle`](https://github.com/hautelook/AliceBundle), [`h4cc/alice-fixtures-bundle`](https://github.com/h4cc/AliceFixturesBundle): Bundles for using [`nelmio/alice`](https://packagist.org/packages/nelmio/alice) and Faker with data fixtures. Able to use Doctrine ORM as well as Doctrine MongoDB ODM. -* [`emanueleminotto/faker-service-provider`](https://github.com/EmanueleMinotto/FakerServiceProvider): Faker Service Provider for Silex -* [`bit3/faker-cli`](https://github.com/bit3/faker-cli): Command Line Tool for the Faker PHP library -* [`league/factory-muffin`](https://github.com/thephpleague/factory-muffin): enable the rapid creation of objects (PHP port of factory-girl) -* [`fzaninotto/company-name-generator`](https://github.com/fzaninotto/CompanyNameGenerator): Generate names for English tech companies with class -* [`emanueleminotto/faker-placehold-it-provider`](https://github.com/EmanueleMinotto/PlaceholdItProvider): Generate images using placehold.it -* [`spyrit/datalea`](https://github.com/spyrit/datalea) A highly customizable random test data generator web app -* [`frequenc1/newage-ipsum`](https://github.com/frequenc1/newage-ipsum): A new aged ipsum provider for the faker library inspired by http://sebpearce.com/bullshit/ -* [`prewk/xml-faker`](https://github.com/prewk/xml-faker): Create fake XML with Faker -* [`denheck/faker-context`](https://github.com/denheck/faker-context): Behat context using Faker to generate testdata -* [`swekaj/cron-expression-generator`](https://github.com/swekaj/CronExpressionGenerator): Faker provider for generating random, valid cron expressions. -* [`pragmafabrik/pomm-faker`](https://github.com/pragmafabrik/Pomm2Faker): Faker client for Pomm database framework (PostgreSQL) -* [`nelmio/alice`](https://github.com/nelmio/alice): Fixtures/object generator with a yaml DSL that can use Faker as data generator. -* [`ravage84/cakephp-fake-seeder`](https://github.com/ravage84/cakephp-fake-seeder) A CakePHP 2.x shell to seed your database with fake and/or fixed data. -* [`bheller/images-generator`](https://github.com/bruceheller/images-generator): An image generator provider using GD for placeholder type pictures -* [`pattern-lab/plugin-faker`](https://github.com/pattern-lab/plugin-php-faker): Pattern Lab is a Styleguide, Component Library, and Prototyping tool. This creates unique content each time Pattern Lab is generated. -* [`guidocella/eloquent-populator`](https://github.com/guidocella/eloquent-populator): Adapter for Laravel's Eloquent ORM. -* [`tamperdata/exiges`](https://github.com/tamperdata/exiges): Faker provider for generating random temperatures -* [`jzonta/faker-restaurant`](https://github.com/jzonta/FakerRestaurant): Faker for Food and Beverage names generate -* [`aalaap/faker-youtube`](https://github.com/aalaap/faker-youtube): Faker for YouTube URLs in various formats -* [`pelmered/fake-car`](https://github.com/pelmered/fake-car): Faker for cars and car data -* [`bluemmb/faker-picsum-photos-provider`](https://github.com/bluemmb/Faker-PicsumPhotos): Generate images using [picsum.photos](http://picsum.photos/) -* [`er1z/fakemock`](https://github.com/er1z/fakemock): Generate mocks using class-configuration and detection via Faker's guesser and Symfony asserts -* [`xvladqt/faker-lorem-flickr`](https://github.com/xvladxtremal/Faker-LoremFlickr): Generate images using [loremflickr.com](http://loremflickr.com/) -* [`metrakit/faker-eddy-malou`](https://github.com/Metrakit/faker-eddy-malou): Generate French Eddy Malou sentences & paragraphs -* [`drupol/belgian-national-number-faker`](https://github.com/drupol/belgian-national-number-faker): Generate fake Belgian national numbers -* [`elgentos/masquerade`](https://github.com/elgentos/masquerade): Configuration-based, platform-agnostic, locale-compatible data faker tool (out-of-the-box support for Magento 2) -* [`ottaviano/faker-gravatar`](https://github.com/ottaviano/faker-gravatar): Generate avatars using [Gravatar](https://en.gravatar.com/site/implement/images/) - -## License - -Faker is released under the MIT License. See the bundled LICENSE file for details. diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Calculator/Ean.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Calculator/Ean.php deleted file mode 100644 index a1e0c07..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Calculator/Ean.php +++ /dev/null @@ -1,55 +0,0 @@ -= 0; $i -= 2) { - $even += $digits[$i]; - } - - $odd = 0; - for ($i = $length - 2; $i >= 0; $i -= 2) { - $odd += $digits[$i]; - } - - return (10 - ((3 * $even + $odd) % 10)) % 10; - } - - /** - * Checks whether the provided number is an EAN compliant number and that - * the checksum is correct. - * - * @param string $ean An EAN number - * @return boolean - */ - public static function isValid($ean) - { - if (!preg_match(self::PATTERN, $ean)) { - return false; - } - - return self::checksum(substr($ean, 0, -1)) === intval(substr($ean, -1)); - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Calculator/Iban.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Calculator/Iban.php deleted file mode 100644 index 8a58231..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Calculator/Iban.php +++ /dev/null @@ -1,73 +0,0 @@ - 2, 2 => 4, 3 => 10, 4 => 3, 5 => 5, 6 => 9, 7 => 4, 8 => 6, 9 => 8); - $sum = 0; - for ($i = 1; $i <= 9; $i++) { - $sum += intval(substr($inn, $i-1, 1)) * $multipliers[$i]; - } - return strval(($sum % 11) % 10); - } - - /** - * Checks whether an INN has a valid checksum - * - * @param string $inn - * @return boolean - */ - public static function isValid($inn) - { - return self::checksum(substr($inn, 0, -1)) === substr($inn, -1, 1); - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Calculator/Luhn.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Calculator/Luhn.php deleted file mode 100644 index c37c6c1..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Calculator/Luhn.php +++ /dev/null @@ -1,75 +0,0 @@ -= 0; $i -= 2) { - $sum += $number{$i}; - } - for ($i = $length - 2; $i >= 0; $i -= 2) { - $sum += array_sum(str_split($number{$i} * 2)); - } - - return $sum % 10; - } - - /** - * @param $partialNumber - * @return string - */ - public static function computeCheckDigit($partialNumber) - { - $checkDigit = self::checksum($partialNumber . '0'); - if ($checkDigit === 0) { - return 0; - } - - return (string) (10 - $checkDigit); - } - - /** - * Checks whether a number (partial number + check digit) is Luhn compliant - * - * @param string $number - * @return bool - */ - public static function isValid($number) - { - return self::checksum($number) === 0; - } - - /** - * Generate a Luhn compliant number. - * - * @param string $partialValue - * - * @return string - */ - public static function generateLuhnNumber($partialValue) - { - if (!preg_match('/^\d+$/', $partialValue)) { - throw new InvalidArgumentException('Argument should be an integer.'); - } - return $partialValue . Luhn::computeCheckDigit($partialValue); - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Calculator/TCNo.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Calculator/TCNo.php deleted file mode 100644 index 392d455..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Calculator/TCNo.php +++ /dev/null @@ -1,52 +0,0 @@ - $digit) { - if ($index % 2 == 0) { - $evenSum += $digit; - } else { - $oddSum += $digit; - } - } - - $tenthDigit = (7 * $evenSum - $oddSum) % 10; - $eleventhDigit = ($evenSum + $oddSum + $tenthDigit) % 10; - - return $tenthDigit . $eleventhDigit; - } - - /** - * Checks whether an TCNo has a valid checksum - * - * @param string $tcNo - * @return boolean - */ - public static function isValid($tcNo) - { - return self::checksum(substr($tcNo, 0, -2)) === substr($tcNo, -2, 2); - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/DefaultGenerator.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/DefaultGenerator.php deleted file mode 100644 index eafd2ec..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/DefaultGenerator.php +++ /dev/null @@ -1,38 +0,0 @@ -optional(). - */ -class DefaultGenerator -{ - protected $default; - - public function __construct($default = null) - { - $this->default = $default; - } - - /** - * @param string $attribute - * - * @return mixed - */ - public function __get($attribute) - { - return $this->default; - } - - /** - * @param string $method - * @param array $attributes - * - * @return mixed - */ - public function __call($method, $attributes) - { - return $this->default; - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Documentor.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Documentor.php deleted file mode 100644 index e42bdf4..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Documentor.php +++ /dev/null @@ -1,66 +0,0 @@ -generator = $generator; - } - - /** - * @return array - */ - public function getFormatters() - { - $formatters = array(); - $providers = array_reverse($this->generator->getProviders()); - $providers[]= new Provider\Base($this->generator); - foreach ($providers as $provider) { - $providerClass = get_class($provider); - $formatters[$providerClass] = array(); - $refl = new \ReflectionObject($provider); - foreach ($refl->getMethods(\ReflectionMethod::IS_PUBLIC) as $reflmethod) { - if ($reflmethod->getDeclaringClass()->getName() == 'Faker\Provider\Base' && $providerClass != 'Faker\Provider\Base') { - continue; - } - $methodName = $reflmethod->name; - if ($reflmethod->isConstructor()) { - continue; - } - $parameters = array(); - foreach ($reflmethod->getParameters() as $reflparameter) { - $parameter = '$'. $reflparameter->getName(); - if ($reflparameter->isDefaultValueAvailable()) { - $parameter .= ' = ' . var_export($reflparameter->getDefaultValue(), true); - } - $parameters []= $parameter; - } - $parameters = $parameters ? '('. join(', ', $parameters) . ')' : ''; - try { - $example = $this->generator->format($methodName); - } catch (\InvalidArgumentException $e) { - $example = ''; - } - if (is_array($example)) { - $example = "array('". join("', '", $example) . "')"; - } elseif ($example instanceof \DateTime) { - $example = "DateTime('" . $example->format('Y-m-d H:i:s') . "')"; - } elseif ($example instanceof Generator || $example instanceof UniqueGenerator) { // modifier - $example = ''; - } else { - $example = var_export($example, true); - } - $formatters[$providerClass][$methodName . $parameters] = $example; - } - } - - return $formatters; - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Factory.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Factory.php deleted file mode 100644 index 1d68781..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Factory.php +++ /dev/null @@ -1,61 +0,0 @@ -addProvider(new $providerClassName($generator)); - } - - return $generator; - } - - /** - * @param string $provider - * @param string $locale - * @return string - */ - protected static function getProviderClassname($provider, $locale = '') - { - if ($providerClass = self::findProviderClassname($provider, $locale)) { - return $providerClass; - } - // fallback to default locale - if ($providerClass = self::findProviderClassname($provider, static::DEFAULT_LOCALE)) { - return $providerClass; - } - // fallback to no locale - if ($providerClass = self::findProviderClassname($provider)) { - return $providerClass; - } - throw new \InvalidArgumentException(sprintf('Unable to find provider "%s" with locale "%s"', $provider, $locale)); - } - - /** - * @param string $provider - * @param string $locale - * @return string - */ - protected static function findProviderClassname($provider, $locale = '') - { - $providerClass = 'Faker\\' . ($locale ? sprintf('Provider\%s\%s', $locale, $provider) : sprintf('Provider\%s', $provider)); - if (class_exists($providerClass, true)) { - return $providerClass; - } - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Generator.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Generator.php deleted file mode 100644 index 7c757c3..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Generator.php +++ /dev/null @@ -1,292 +0,0 @@ -providers, $provider); - } - - public function getProviders() - { - return $this->providers; - } - - public function seed($seed = null) - { - if ($seed === null) { - mt_srand(); - } else { - if (PHP_VERSION_ID < 70100) { - mt_srand((int) $seed); - } else { - mt_srand((int) $seed, MT_RAND_PHP); - } - } - } - - public function format($formatter, $arguments = array()) - { - return call_user_func_array($this->getFormatter($formatter), $arguments); - } - - /** - * @param string $formatter - * - * @return Callable - */ - public function getFormatter($formatter) - { - if (isset($this->formatters[$formatter])) { - return $this->formatters[$formatter]; - } - foreach ($this->providers as $provider) { - if (method_exists($provider, $formatter)) { - $this->formatters[$formatter] = array($provider, $formatter); - - return $this->formatters[$formatter]; - } - } - throw new \InvalidArgumentException(sprintf('Unknown formatter "%s"', $formatter)); - } - - /** - * Replaces tokens ('{{ tokenName }}') with the result from the token method call - * - * @param string $string String that needs to bet parsed - * @return string - */ - public function parse($string) - { - return preg_replace_callback('/\{\{\s?(\w+)\s?\}\}/u', array($this, 'callFormatWithMatches'), $string); - } - - protected function callFormatWithMatches($matches) - { - return $this->format($matches[1]); - } - - /** - * @param string $attribute - * - * @return mixed - */ - public function __get($attribute) - { - return $this->format($attribute); - } - - /** - * @param string $method - * @param array $attributes - * - * @return mixed - */ - public function __call($method, $attributes) - { - return $this->format($method, $attributes); - } - - public function __destruct() - { - $this->seed(); - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Guesser/Name.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Guesser/Name.php deleted file mode 100644 index 0b303db..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Guesser/Name.php +++ /dev/null @@ -1,156 +0,0 @@ -generator = $generator; - } - - /** - * @param string $name - * @param int|null $size Length of field, if known - * @return callable - */ - public function guessFormat($name, $size = null) - { - $name = Base::toLower($name); - $generator = $this->generator; - if (preg_match('/^is[_A-Z]/', $name)) { - return function () use ($generator) { - return $generator->boolean; - }; - } - if (preg_match('/(_a|A)t$/', $name)) { - return function () use ($generator) { - return $generator->dateTime; - }; - } - switch (str_replace('_', '', $name)) { - case 'firstname': - return function () use ($generator) { - return $generator->firstName; - }; - case 'lastname': - return function () use ($generator) { - return $generator->lastName; - }; - case 'username': - case 'login': - return function () use ($generator) { - return $generator->userName; - }; - case 'email': - case 'emailaddress': - return function () use ($generator) { - return $generator->email; - }; - case 'phonenumber': - case 'phone': - case 'telephone': - case 'telnumber': - return function () use ($generator) { - return $generator->phoneNumber; - }; - case 'address': - return function () use ($generator) { - return $generator->address; - }; - case 'city': - case 'town': - return function () use ($generator) { - return $generator->city; - }; - case 'streetaddress': - return function () use ($generator) { - return $generator->streetAddress; - }; - case 'postcode': - case 'zipcode': - return function () use ($generator) { - return $generator->postcode; - }; - case 'state': - return function () use ($generator) { - return $generator->state; - }; - case 'county': - if ($this->generator->locale == 'en_US') { - return function () use ($generator) { - return sprintf('%s County', $generator->city); - }; - } - - return function () use ($generator) { - return $generator->state; - }; - case 'country': - switch ($size) { - case 2: - return function () use ($generator) { - return $generator->countryCode; - }; - case 3: - return function () use ($generator) { - return $generator->countryISOAlpha3; - }; - case 5: - case 6: - return function () use ($generator) { - return $generator->locale; - }; - default: - return function () use ($generator) { - return $generator->country; - }; - } - break; - case 'locale': - return function () use ($generator) { - return $generator->locale; - }; - case 'currency': - case 'currencycode': - return function () use ($generator) { - return $generator->currencyCode; - }; - case 'url': - case 'website': - return function () use ($generator) { - return $generator->url; - }; - case 'company': - case 'companyname': - case 'employer': - return function () use ($generator) { - return $generator->company; - }; - case 'title': - if ($size !== null && $size <= 10) { - return function () use ($generator) { - return $generator->title; - }; - } - - return function () use ($generator) { - return $generator->sentence; - }; - case 'body': - case 'summary': - case 'article': - case 'description': - return function () use ($generator) { - return $generator->text; - }; - } - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/ORM/CakePHP/ColumnTypeGuesser.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/ORM/CakePHP/ColumnTypeGuesser.php deleted file mode 100644 index 0aa3413..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/ORM/CakePHP/ColumnTypeGuesser.php +++ /dev/null @@ -1,71 +0,0 @@ -generator = $generator; - } - - /** - * @return \Closure|null - */ - public function guessFormat($column, $table) - { - $generator = $this->generator; - $schema = $table->schema(); - - switch ($schema->columnType($column)) { - case 'boolean': - return function () use ($generator) { - return $generator->boolean; - }; - case 'integer': - return function () { - return mt_rand(0, intval('2147483647')); - }; - case 'biginteger': - return function () { - return mt_rand(0, intval('9223372036854775807')); - }; - case 'decimal': - case 'float': - return function () use ($generator) { - return $generator->randomFloat(); - }; - case 'uuid': - return function () use ($generator) { - return $generator->uuid(); - }; - case 'string': - if (method_exists($schema, 'getColumn')) { - $columnData = $schema->getColumn($column); - } else { - $columnData = $schema->column($column); - } - $length = $columnData['length']; - return function () use ($generator, $length) { - return $generator->text($length); - }; - case 'text': - return function () use ($generator) { - return $generator->text(); - }; - case 'date': - case 'datetime': - case 'timestamp': - case 'time': - return function () use ($generator) { - return $generator->datetime(); - }; - - case 'binary': - default: - return null; - } - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/ORM/CakePHP/EntityPopulator.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/ORM/CakePHP/EntityPopulator.php deleted file mode 100644 index 2ec312a..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/ORM/CakePHP/EntityPopulator.php +++ /dev/null @@ -1,166 +0,0 @@ -class = $class; - } - - /** - * @param string $name - */ - public function __get($name) - { - return $this->{$name}; - } - - /** - * @param string $name - */ - public function __set($name, $value) - { - $this->{$name} = $value; - } - - public function mergeColumnFormattersWith($columnFormatters) - { - $this->columnFormatters = array_merge($this->columnFormatters, $columnFormatters); - } - - public function mergeModifiersWith($modifiers) - { - $this->modifiers = array_merge($this->modifiers, $modifiers); - } - - /** - * @return array - */ - public function guessColumnFormatters($populator) - { - $formatters = []; - $class = $this->class; - $table = $this->getTable($class); - $schema = $table->schema(); - $pk = $schema->primaryKey(); - $guessers = $populator->getGuessers() + ['ColumnTypeGuesser' => new ColumnTypeGuesser($populator->getGenerator())]; - $isForeignKey = function ($column) use ($table) { - foreach ($table->associations()->type('BelongsTo') as $assoc) { - if ($column == $assoc->foreignKey()) { - return true; - } - } - return false; - }; - - - foreach ($schema->columns() as $column) { - if ($column == $pk[0] || $isForeignKey($column)) { - continue; - } - - foreach ($guessers as $guesser) { - if ($formatter = $guesser->guessFormat($column, $table)) { - $formatters[$column] = $formatter; - break; - } - } - } - - return $formatters; - } - - /** - * @return array - */ - public function guessModifiers() - { - $modifiers = []; - $table = $this->getTable($this->class); - - $belongsTo = $table->associations()->type('BelongsTo'); - foreach ($belongsTo as $assoc) { - $modifiers['belongsTo' . $assoc->name()] = function ($data, $insertedEntities) use ($assoc) { - $table = $assoc->target(); - $foreignModel = $table->alias(); - - $foreignKeys = []; - if (!empty($insertedEntities[$foreignModel])) { - $foreignKeys = $insertedEntities[$foreignModel]; - } else { - $foreignKeys = $table->find('all') - ->select(['id']) - ->map(function ($row) { - return $row->id; - }) - ->toArray(); - } - - if (empty($foreignKeys)) { - throw new \Exception(sprintf('%s belongsTo %s, which seems empty at this point.', $this->getTable($this->class)->table(), $assoc->table())); - } - - $foreignKey = $foreignKeys[array_rand($foreignKeys)]; - $data[$assoc->foreignKey()] = $foreignKey; - return $data; - }; - } - - // TODO check if TreeBehavior attached to modify lft/rgt cols - - return $modifiers; - } - - /** - * @param array $options - */ - public function execute($class, $insertedEntities, $options = []) - { - $table = $this->getTable($class); - $entity = $table->newEntity(); - - foreach ($this->columnFormatters as $column => $format) { - if (!is_null($format)) { - $entity->{$column} = is_callable($format) ? $format($insertedEntities, $table) : $format; - } - } - - foreach ($this->modifiers as $modifier) { - $entity = $modifier($entity, $insertedEntities); - } - - if (!$entity = $table->save($entity, $options)) { - throw new \RuntimeException("Failed saving $class record"); - } - - $pk = $table->primaryKey(); - if (is_string($pk)) { - return $entity->{$pk}; - } - - return $entity->{$pk[0]}; - } - - public function setConnection($name) - { - $this->connectionName = $name; - } - - protected function getTable($class) - { - $options = []; - if (!empty($this->connectionName)) { - $options['connection'] = $this->connectionName; - } - return TableRegistry::get($class, $options); - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/ORM/CakePHP/Populator.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/ORM/CakePHP/Populator.php deleted file mode 100644 index eda30a8..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/ORM/CakePHP/Populator.php +++ /dev/null @@ -1,109 +0,0 @@ -generator = $generator; - } - - /** - * @return \Faker\Generator - */ - public function getGenerator() - { - return $this->generator; - } - - /** - * @return array - */ - public function getGuessers() - { - return $this->guessers; - } - - /** - * @return $this - */ - public function removeGuesser($name) - { - if ($this->guessers[$name]) { - unset($this->guessers[$name]); - } - return $this; - } - - /** - * @return $this - * @throws \Exception - */ - public function addGuesser($class) - { - if (!is_object($class)) { - $class = new $class($this->generator); - } - - if (!method_exists($class, 'guessFormat')) { - throw new \Exception('Missing required custom guesser method: ' . get_class($class) . '::guessFormat()'); - } - - $this->guessers[get_class($class)] = $class; - return $this; - } - - /** - * @param array $customColumnFormatters - * @param array $customModifiers - * @return $this - */ - public function addEntity($entity, $number, $customColumnFormatters = [], $customModifiers = []) - { - if (!$entity instanceof EntityPopulator) { - $entity = new EntityPopulator($entity); - } - - $entity->columnFormatters = $entity->guessColumnFormatters($this); - if ($customColumnFormatters) { - $entity->mergeColumnFormattersWith($customColumnFormatters); - } - - $entity->modifiers = $entity->guessModifiers($this); - if ($customModifiers) { - $entity->mergeModifiersWith($customModifiers); - } - - $class = $entity->class; - $this->entities[$class] = $entity; - $this->quantities[$class] = $number; - return $this; - } - - /** - * @param array $options - * @return array - */ - public function execute($options = []) - { - $insertedEntities = []; - - foreach ($this->quantities as $class => $number) { - for ($i = 0; $i < $number; $i++) { - $insertedEntities[$class][] = $this->entities[$class]->execute($class, $insertedEntities, $options); - } - } - - return $insertedEntities; - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/ORM/Doctrine/ColumnTypeGuesser.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/ORM/Doctrine/ColumnTypeGuesser.php deleted file mode 100644 index bd608f9..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/ORM/Doctrine/ColumnTypeGuesser.php +++ /dev/null @@ -1,81 +0,0 @@ -generator = $generator; - } - - /** - * @param ClassMetadata $class - * @return \Closure|null - */ - public function guessFormat($fieldName, ClassMetadata $class) - { - $generator = $this->generator; - $type = $class->getTypeOfField($fieldName); - switch ($type) { - case 'boolean': - return function () use ($generator) { - return $generator->boolean; - }; - case 'decimal': - $size = isset($class->fieldMappings[$fieldName]['precision']) ? $class->fieldMappings[$fieldName]['precision'] : 2; - - return function () use ($generator, $size) { - return $generator->randomNumber($size + 2) / 100; - }; - case 'smallint': - return function () { - return mt_rand(0, 65535); - }; - case 'integer': - return function () { - return mt_rand(0, intval('2147483647')); - }; - case 'bigint': - return function () { - return mt_rand(0, intval('18446744073709551615')); - }; - case 'float': - return function () { - return mt_rand(0, intval('4294967295'))/mt_rand(1, intval('4294967295')); - }; - case 'string': - $size = isset($class->fieldMappings[$fieldName]['length']) ? $class->fieldMappings[$fieldName]['length'] : 255; - - return function () use ($generator, $size) { - return $generator->text($size); - }; - case 'text': - return function () use ($generator) { - return $generator->text; - }; - case 'datetime': - case 'date': - case 'time': - return function () use ($generator) { - return $generator->datetime; - }; - case 'datetime_immutable': - case 'date_immutable': - case 'time_immutable': - return function () use ($generator) { - return \DateTimeImmutable::createFromMutable($generator->datetime); - }; - default: - // no smart way to guess what the user expects here - return null; - } - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/ORM/Doctrine/EntityPopulator.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/ORM/Doctrine/EntityPopulator.php deleted file mode 100644 index bc703e5..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/ORM/Doctrine/EntityPopulator.php +++ /dev/null @@ -1,251 +0,0 @@ -class = $class; - } - - /** - * @return string - */ - public function getClass() - { - return $this->class->getName(); - } - - /** - * @param $columnFormatters - */ - public function setColumnFormatters($columnFormatters) - { - $this->columnFormatters = $columnFormatters; - } - - /** - * @return array - */ - public function getColumnFormatters() - { - return $this->columnFormatters; - } - - public function mergeColumnFormattersWith($columnFormatters) - { - $this->columnFormatters = array_merge($this->columnFormatters, $columnFormatters); - } - - /** - * @param array $modifiers - */ - public function setModifiers(array $modifiers) - { - $this->modifiers = $modifiers; - } - - /** - * @return array - */ - public function getModifiers() - { - return $this->modifiers; - } - - /** - * @param array $modifiers - */ - public function mergeModifiersWith(array $modifiers) - { - $this->modifiers = array_merge($this->modifiers, $modifiers); - } - - /** - * @param \Faker\Generator $generator - * @return array - */ - public function guessColumnFormatters(\Faker\Generator $generator) - { - $formatters = array(); - $nameGuesser = new \Faker\Guesser\Name($generator); - $columnTypeGuesser = new ColumnTypeGuesser($generator); - foreach ($this->class->getFieldNames() as $fieldName) { - if ($this->class->isIdentifier($fieldName) || !$this->class->hasField($fieldName)) { - continue; - } - - $size = isset($this->class->fieldMappings[$fieldName]['length']) ? $this->class->fieldMappings[$fieldName]['length'] : null; - if ($formatter = $nameGuesser->guessFormat($fieldName, $size)) { - $formatters[$fieldName] = $formatter; - continue; - } - if ($formatter = $columnTypeGuesser->guessFormat($fieldName, $this->class)) { - $formatters[$fieldName] = $formatter; - continue; - } - } - - foreach ($this->class->getAssociationNames() as $assocName) { - if ($this->class->isCollectionValuedAssociation($assocName)) { - continue; - } - - $relatedClass = $this->class->getAssociationTargetClass($assocName); - - $unique = $optional = false; - if ($this->class instanceof \Doctrine\ORM\Mapping\ClassMetadata) { - $mappings = $this->class->getAssociationMappings(); - foreach ($mappings as $mapping) { - if ($mapping['targetEntity'] == $relatedClass) { - if ($mapping['type'] == \Doctrine\ORM\Mapping\ClassMetadata::ONE_TO_ONE) { - $unique = true; - $optional = isset($mapping['joinColumns'][0]['nullable']) ? $mapping['joinColumns'][0]['nullable'] : false; - break; - } - } - } - } elseif ($this->class instanceof \Doctrine\ODM\MongoDB\Mapping\ClassMetadata) { - $mappings = $this->class->associationMappings; - foreach ($mappings as $mapping) { - if ($mapping['targetDocument'] == $relatedClass) { - if ($mapping['type'] == \Doctrine\ODM\MongoDB\Mapping\ClassMetadata::ONE && $mapping['association'] == \Doctrine\ODM\MongoDB\Mapping\ClassMetadata::REFERENCE_ONE) { - $unique = true; - $optional = isset($mapping['nullable']) ? $mapping['nullable'] : false; - break; - } - } - } - } - - $index = 0; - $formatters[$assocName] = function ($inserted) use ($relatedClass, &$index, $unique, $optional) { - - if (isset($inserted[$relatedClass])) { - if ($unique) { - $related = null; - if (isset($inserted[$relatedClass][$index]) || !$optional) { - $related = $inserted[$relatedClass][$index]; - } - - $index++; - - return $related; - } - - return $inserted[$relatedClass][mt_rand(0, count($inserted[$relatedClass]) - 1)]; - } - - return null; - }; - } - - return $formatters; - } - - /** - * Insert one new record using the Entity class. - * @param ObjectManager $manager - * @param bool $generateId - * @return EntityPopulator - */ - public function execute(ObjectManager $manager, $insertedEntities, $generateId = false) - { - $obj = $this->class->newInstance(); - - $this->fillColumns($obj, $insertedEntities); - $this->callMethods($obj, $insertedEntities); - - if ($generateId) { - $idsName = $this->class->getIdentifier(); - foreach ($idsName as $idName) { - $id = $this->generateId($obj, $idName, $manager); - $this->class->reflFields[$idName]->setValue($obj, $id); - } - } - - $manager->persist($obj); - - return $obj; - } - - private function fillColumns($obj, $insertedEntities) - { - foreach ($this->columnFormatters as $field => $format) { - if (null !== $format) { - // Add some extended debugging information to any errors thrown by the formatter - try { - $value = is_callable($format) ? $format($insertedEntities, $obj) : $format; - } catch (\InvalidArgumentException $ex) { - throw new \InvalidArgumentException(sprintf( - "Failed to generate a value for %s::%s: %s", - get_class($obj), - $field, - $ex->getMessage() - )); - } - // Try a standard setter if it's available, otherwise fall back on reflection - $setter = sprintf("set%s", ucfirst($field)); - if (is_callable(array($obj, $setter))) { - $obj->$setter($value); - } else { - $this->class->reflFields[$field]->setValue($obj, $value); - } - } - } - } - - private function callMethods($obj, $insertedEntities) - { - foreach ($this->getModifiers() as $modifier) { - $modifier($obj, $insertedEntities); - } - } - - /** - * @param ObjectManager $manager - * @return int|null - */ - private function generateId($obj, $column, ObjectManager $manager) - { - /* @var $repository \Doctrine\Common\Persistence\ObjectRepository */ - $repository = $manager->getRepository(get_class($obj)); - $result = $repository->createQueryBuilder('e') - ->select(sprintf('e.%s', $column)) - ->getQuery() - ->execute(); - $ids = array_map('current', $result->toArray()); - - $id = null; - do { - $id = mt_rand(); - } while (in_array($id, $ids)); - - return $id; - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/ORM/Doctrine/Populator.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/ORM/Doctrine/Populator.php deleted file mode 100644 index d4c5dfb..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/ORM/Doctrine/Populator.php +++ /dev/null @@ -1,110 +0,0 @@ -generator = $generator; - $this->manager = $manager; - $this->batchSize = $batchSize; - } - - /** - * Add an order for the generation of $number records for $entity. - * - * @param mixed $entity A Doctrine classname, or a \Faker\ORM\Doctrine\EntityPopulator instance - * @param int $number The number of entities to populate - */ - public function addEntity($entity, $number, $customColumnFormatters = array(), $customModifiers = array(), $generateId = false) - { - if (!$entity instanceof \Faker\ORM\Doctrine\EntityPopulator) { - if (null === $this->manager) { - throw new \InvalidArgumentException("No entity manager passed to Doctrine Populator."); - } - $entity = new \Faker\ORM\Doctrine\EntityPopulator($this->manager->getClassMetadata($entity)); - } - $entity->setColumnFormatters($entity->guessColumnFormatters($this->generator)); - if ($customColumnFormatters) { - $entity->mergeColumnFormattersWith($customColumnFormatters); - } - $entity->mergeModifiersWith($customModifiers); - $this->generateId[$entity->getClass()] = $generateId; - - $class = $entity->getClass(); - $this->entities[$class] = $entity; - $this->quantities[$class] = $number; - } - - /** - * Populate the database using all the Entity classes previously added. - * - * Please note that large amounts of data will result in more memory usage since the the Populator will return - * all newly created primary keys after executing. - * - * @param null|EntityManager $entityManager A Doctrine connection object - * - * @return array A list of the inserted PKs - */ - public function execute($entityManager = null) - { - if (null === $entityManager) { - $entityManager = $this->manager; - } - if (null === $entityManager) { - throw new \InvalidArgumentException("No entity manager passed to Doctrine Populator."); - } - - $insertedEntities = array(); - foreach ($this->quantities as $class => $number) { - $generateId = $this->generateId[$class]; - for ($i=0; $i < $number; $i++) { - $insertedEntities[$class][]= $this->entities[$class]->execute( - $entityManager, - $insertedEntities, - $generateId - ); - if (count($insertedEntities) % $this->batchSize === 0) { - $entityManager->flush(); - $entityManager->clear($class); - } - } - $entityManager->flush(); - $entityManager->clear($class); - } - - return $insertedEntities; - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/ORM/Mandango/ColumnTypeGuesser.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/ORM/Mandango/ColumnTypeGuesser.php deleted file mode 100644 index d318b0a..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/ORM/Mandango/ColumnTypeGuesser.php +++ /dev/null @@ -1,49 +0,0 @@ -generator = $generator; - } - - /** - * @return \Closure|null - */ - public function guessFormat($field) - { - $generator = $this->generator; - switch ($field['type']) { - case 'boolean': - return function () use ($generator) { - return $generator->boolean; - }; - case 'integer': - return function () { - return mt_rand(0, intval('4294967295')); - }; - case 'float': - return function () { - return mt_rand(0, intval('4294967295'))/mt_rand(1, intval('4294967295')); - }; - case 'string': - return function () use ($generator) { - return $generator->text(255); - }; - case 'date': - return function () use ($generator) { - return $generator->datetime; - }; - default: - // no smart way to guess what the user expects here - return null; - } - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/ORM/Mandango/EntityPopulator.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/ORM/Mandango/EntityPopulator.php deleted file mode 100644 index 667f5be..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/ORM/Mandango/EntityPopulator.php +++ /dev/null @@ -1,122 +0,0 @@ -class = $class; - } - - /** - * @return string - */ - public function getClass() - { - return $this->class; - } - - public function setColumnFormatters($columnFormatters) - { - $this->columnFormatters = $columnFormatters; - } - - /** - * @return array - */ - public function getColumnFormatters() - { - return $this->columnFormatters; - } - - public function mergeColumnFormattersWith($columnFormatters) - { - $this->columnFormatters = array_merge($this->columnFormatters, $columnFormatters); - } - - /** - * @param \Faker\Generator $generator - * @param Mandango $mandango - * @return array - */ - public function guessColumnFormatters(\Faker\Generator $generator, Mandango $mandango) - { - $formatters = array(); - $nameGuesser = new \Faker\Guesser\Name($generator); - $columnTypeGuesser = new \Faker\ORM\Mandango\ColumnTypeGuesser($generator); - - $metadata = $mandango->getMetadata($this->class); - - // fields - foreach ($metadata['fields'] as $fieldName => $field) { - if ($formatter = $nameGuesser->guessFormat($fieldName)) { - $formatters[$fieldName] = $formatter; - continue; - } - if ($formatter = $columnTypeGuesser->guessFormat($field)) { - $formatters[$fieldName] = $formatter; - continue; - } - } - - // references - foreach (array_merge($metadata['referencesOne'], $metadata['referencesMany']) as $referenceName => $reference) { - if (!isset($reference['class'])) { - continue; - } - $referenceClass = $reference['class']; - - $formatters[$referenceName] = function ($insertedEntities) use ($referenceClass) { - if (isset($insertedEntities[$referenceClass])) { - return Base::randomElement($insertedEntities[$referenceClass]); - } - }; - } - - return $formatters; - } - - /** - * Insert one new record using the Entity class. - * @param Mandango $mandango - */ - public function execute(Mandango $mandango, $insertedEntities) - { - $metadata = $mandango->getMetadata($this->class); - - $obj = $mandango->create($this->class); - foreach ($this->columnFormatters as $column => $format) { - if (null !== $format) { - $value = is_callable($format) ? $format($insertedEntities, $obj) : $format; - - if (isset($metadata['fields'][$column]) || - isset($metadata['referencesOne'][$column])) { - $obj->set($column, $value); - } - - if (isset($metadata['referencesMany'][$column])) { - $adder = 'add'.ucfirst($column); - $obj->$adder($value); - } - } - } - $mandango->persist($obj); - - return $obj; - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/ORM/Mandango/Populator.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/ORM/Mandango/Populator.php deleted file mode 100644 index 26736dc..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/ORM/Mandango/Populator.php +++ /dev/null @@ -1,65 +0,0 @@ -generator = $generator; - $this->mandango = $mandango; - } - - /** - * Add an order for the generation of $number records for $entity. - * - * @param mixed $entity A Propel ActiveRecord classname, or a \Faker\ORM\Propel\EntityPopulator instance - * @param int $number The number of entities to populate - */ - public function addEntity($entity, $number, $customColumnFormatters = array()) - { - if (!$entity instanceof \Faker\ORM\Mandango\EntityPopulator) { - $entity = new \Faker\ORM\Mandango\EntityPopulator($entity); - } - $entity->setColumnFormatters($entity->guessColumnFormatters($this->generator, $this->mandango)); - if ($customColumnFormatters) { - $entity->mergeColumnFormattersWith($customColumnFormatters); - } - $class = $entity->getClass(); - $this->entities[$class] = $entity; - $this->quantities[$class] = $number; - } - - /** - * Populate the database using all the Entity classes previously added. - * - * @return array A list of the inserted entities. - */ - public function execute() - { - $insertedEntities = array(); - foreach ($this->quantities as $class => $number) { - for ($i=0; $i < $number; $i++) { - $insertedEntities[$class][]= $this->entities[$class]->execute($this->mandango, $insertedEntities); - } - } - $this->mandango->flush(); - - return $insertedEntities; - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/ORM/Propel/ColumnTypeGuesser.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/ORM/Propel/ColumnTypeGuesser.php deleted file mode 100644 index 1df7049..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/ORM/Propel/ColumnTypeGuesser.php +++ /dev/null @@ -1,107 +0,0 @@ -generator = $generator; - } - - /** - * @param ColumnMap $column - * @return \Closure|null - */ - public function guessFormat(ColumnMap $column) - { - $generator = $this->generator; - if ($column->isTemporal()) { - if ($column->isEpochTemporal()) { - return function () use ($generator) { - return $generator->dateTime; - }; - } - - return function () use ($generator) { - return $generator->dateTimeAD; - }; - } - $type = $column->getType(); - switch ($type) { - case PropelColumnTypes::BOOLEAN: - case PropelColumnTypes::BOOLEAN_EMU: - return function () use ($generator) { - return $generator->boolean; - }; - case PropelColumnTypes::NUMERIC: - case PropelColumnTypes::DECIMAL: - $size = $column->getSize(); - - return function () use ($generator, $size) { - return $generator->randomNumber($size + 2) / 100; - }; - case PropelColumnTypes::TINYINT: - return function () { - return mt_rand(0, 127); - }; - case PropelColumnTypes::SMALLINT: - return function () { - return mt_rand(0, 32767); - }; - case PropelColumnTypes::INTEGER: - return function () { - return mt_rand(0, intval('2147483647')); - }; - case PropelColumnTypes::BIGINT: - return function () { - return mt_rand(0, intval('9223372036854775807')); - }; - case PropelColumnTypes::FLOAT: - return function () { - return mt_rand(0, intval('2147483647'))/mt_rand(1, intval('2147483647')); - }; - case PropelColumnTypes::DOUBLE: - case PropelColumnTypes::REAL: - return function () { - return mt_rand(0, intval('9223372036854775807'))/mt_rand(1, intval('9223372036854775807')); - }; - case PropelColumnTypes::CHAR: - case PropelColumnTypes::VARCHAR: - case PropelColumnTypes::BINARY: - case PropelColumnTypes::VARBINARY: - $size = $column->getSize(); - - return function () use ($generator, $size) { - return $generator->text($size); - }; - case PropelColumnTypes::LONGVARCHAR: - case PropelColumnTypes::LONGVARBINARY: - case PropelColumnTypes::CLOB: - case PropelColumnTypes::CLOB_EMU: - case PropelColumnTypes::BLOB: - return function () use ($generator) { - return $generator->text; - }; - case PropelColumnTypes::ENUM: - $valueSet = $column->getValueSet(); - - return function () use ($generator, $valueSet) { - return $generator->randomElement($valueSet); - }; - case PropelColumnTypes::OBJECT: - case PropelColumnTypes::PHP_ARRAY: - default: - // no smart way to guess what the user expects here - return null; - } - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/ORM/Propel/EntityPopulator.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/ORM/Propel/EntityPopulator.php deleted file mode 100644 index 1976a40..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/ORM/Propel/EntityPopulator.php +++ /dev/null @@ -1,191 +0,0 @@ -class = $class; - } - - /** - * @return string - */ - public function getClass() - { - return $this->class; - } - - public function setColumnFormatters($columnFormatters) - { - $this->columnFormatters = $columnFormatters; - } - - /** - * @return array - */ - public function getColumnFormatters() - { - return $this->columnFormatters; - } - - public function mergeColumnFormattersWith($columnFormatters) - { - $this->columnFormatters = array_merge($this->columnFormatters, $columnFormatters); - } - - /** - * @param \Faker\Generator $generator - * @return array - */ - public function guessColumnFormatters(\Faker\Generator $generator) - { - $formatters = array(); - $class = $this->class; - $peerClass = $class::PEER; - $tableMap = $peerClass::getTableMap(); - $nameGuesser = new \Faker\Guesser\Name($generator); - $columnTypeGuesser = new \Faker\ORM\Propel\ColumnTypeGuesser($generator); - foreach ($tableMap->getColumns() as $columnMap) { - // skip behavior columns, handled by modifiers - if ($this->isColumnBehavior($columnMap)) { - continue; - } - if ($columnMap->isForeignKey()) { - $relatedClass = $columnMap->getRelation()->getForeignTable()->getClassname(); - $formatters[$columnMap->getPhpName()] = function ($inserted) use ($relatedClass) { - return isset($inserted[$relatedClass]) ? $inserted[$relatedClass][mt_rand(0, count($inserted[$relatedClass]) - 1)] : null; - }; - continue; - } - if ($columnMap->isPrimaryKey()) { - continue; - } - if ($formatter = $nameGuesser->guessFormat($columnMap->getPhpName(), $columnMap->getSize())) { - $formatters[$columnMap->getPhpName()] = $formatter; - continue; - } - if ($formatter = $columnTypeGuesser->guessFormat($columnMap)) { - $formatters[$columnMap->getPhpName()] = $formatter; - continue; - } - } - - return $formatters; - } - - /** - * @param ColumnMap $columnMap - * @return bool - */ - protected function isColumnBehavior(ColumnMap $columnMap) - { - foreach ($columnMap->getTable()->getBehaviors() as $name => $params) { - $columnName = Base::toLower($columnMap->getName()); - switch ($name) { - case 'nested_set': - $columnNames = array($params['left_column'], $params['right_column'], $params['level_column']); - if (in_array($columnName, $columnNames)) { - return true; - } - break; - case 'timestampable': - $columnNames = array($params['create_column'], $params['update_column']); - if (in_array($columnName, $columnNames)) { - return true; - } - break; - } - } - - return false; - } - - public function setModifiers($modifiers) - { - $this->modifiers = $modifiers; - } - - /** - * @return array - */ - public function getModifiers() - { - return $this->modifiers; - } - - public function mergeModifiersWith($modifiers) - { - $this->modifiers = array_merge($this->modifiers, $modifiers); - } - - /** - * @param \Faker\Generator $generator - * @return array - */ - public function guessModifiers(\Faker\Generator $generator) - { - $modifiers = array(); - $class = $this->class; - $peerClass = $class::PEER; - $tableMap = $peerClass::getTableMap(); - foreach ($tableMap->getBehaviors() as $name => $params) { - switch ($name) { - case 'nested_set': - $modifiers['nested_set'] = function ($obj, $inserted) use ($class, $generator) { - if (isset($inserted[$class])) { - $queryClass = $class . 'Query'; - $parent = $queryClass::create()->findPk($generator->randomElement($inserted[$class])); - $obj->insertAsLastChildOf($parent); - } else { - $obj->makeRoot(); - } - }; - break; - case 'sortable': - $modifiers['sortable'] = function ($obj, $inserted) use ($class) { - $maxRank = isset($inserted[$class]) ? count($inserted[$class]) : 0; - $obj->insertAtRank(mt_rand(1, $maxRank + 1)); - }; - break; - } - } - - return $modifiers; - } - - /** - * Insert one new record using the Entity class. - */ - public function execute($con, $insertedEntities) - { - $obj = new $this->class(); - foreach ($this->getColumnFormatters() as $column => $format) { - if (null !== $format) { - $obj->setByName($column, is_callable($format) ? $format($insertedEntities, $obj) : $format); - } - } - foreach ($this->getModifiers() as $modifier) { - $modifier($obj, $insertedEntities); - } - $obj->save($con); - - return $obj->getPrimaryKey(); - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/ORM/Propel/Populator.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/ORM/Propel/Populator.php deleted file mode 100644 index 4285727..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/ORM/Propel/Populator.php +++ /dev/null @@ -1,89 +0,0 @@ -generator = $generator; - } - - /** - * Add an order for the generation of $number records for $entity. - * - * @param mixed $entity A Propel ActiveRecord classname, or a \Faker\ORM\Propel\EntityPopulator instance - * @param int $number The number of entities to populate - */ - public function addEntity($entity, $number, $customColumnFormatters = array(), $customModifiers = array()) - { - if (!$entity instanceof \Faker\ORM\Propel\EntityPopulator) { - $entity = new \Faker\ORM\Propel\EntityPopulator($entity); - } - $entity->setColumnFormatters($entity->guessColumnFormatters($this->generator)); - if ($customColumnFormatters) { - $entity->mergeColumnFormattersWith($customColumnFormatters); - } - $entity->setModifiers($entity->guessModifiers($this->generator)); - if ($customModifiers) { - $entity->mergeModifiersWith($customModifiers); - } - $class = $entity->getClass(); - $this->entities[$class] = $entity; - $this->quantities[$class] = $number; - } - - /** - * Populate the database using all the Entity classes previously added. - * - * @param PropelPDO $con A Propel connection object - * - * @return array A list of the inserted PKs - */ - public function execute($con = null) - { - if (null === $con) { - $con = $this->getConnection(); - } - $isInstancePoolingEnabled = \Propel::isInstancePoolingEnabled(); - \Propel::disableInstancePooling(); - $insertedEntities = array(); - $con->beginTransaction(); - foreach ($this->quantities as $class => $number) { - for ($i=0; $i < $number; $i++) { - $insertedEntities[$class][]= $this->entities[$class]->execute($con, $insertedEntities); - } - } - $con->commit(); - if ($isInstancePoolingEnabled) { - \Propel::enableInstancePooling(); - } - - return $insertedEntities; - } - - protected function getConnection() - { - // use the first connection available - $class = key($this->entities); - - if (!$class) { - throw new \RuntimeException('No class found from entities. Did you add entities to the Populator ?'); - } - - $peer = $class::PEER; - - return \Propel::getConnection($peer::DATABASE_NAME, \Propel::CONNECTION_WRITE); - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/ORM/Propel2/ColumnTypeGuesser.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/ORM/Propel2/ColumnTypeGuesser.php deleted file mode 100644 index 024965a..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/ORM/Propel2/ColumnTypeGuesser.php +++ /dev/null @@ -1,107 +0,0 @@ -generator = $generator; - } - - /** - * @param ColumnMap $column - * @return \Closure|null - */ - public function guessFormat(ColumnMap $column) - { - $generator = $this->generator; - if ($column->isTemporal()) { - if ($column->getType() == PropelTypes::BU_DATE || $column->getType() == PropelTypes::BU_TIMESTAMP) { - return function () use ($generator) { - return $generator->dateTime; - }; - } - - return function () use ($generator) { - return $generator->dateTimeAD; - }; - } - $type = $column->getType(); - switch ($type) { - case PropelTypes::BOOLEAN: - case PropelTypes::BOOLEAN_EMU: - return function () use ($generator) { - return $generator->boolean; - }; - case PropelTypes::NUMERIC: - case PropelTypes::DECIMAL: - $size = $column->getSize(); - - return function () use ($generator, $size) { - return $generator->randomNumber($size + 2) / 100; - }; - case PropelTypes::TINYINT: - return function () { - return mt_rand(0, 127); - }; - case PropelTypes::SMALLINT: - return function () { - return mt_rand(0, 32767); - }; - case PropelTypes::INTEGER: - return function () { - return mt_rand(0, intval('2147483647')); - }; - case PropelTypes::BIGINT: - return function () { - return mt_rand(0, intval('9223372036854775807')); - }; - case PropelTypes::FLOAT: - return function () { - return mt_rand(0, intval('2147483647'))/mt_rand(1, intval('2147483647')); - }; - case PropelTypes::DOUBLE: - case PropelTypes::REAL: - return function () { - return mt_rand(0, intval('9223372036854775807'))/mt_rand(1, intval('9223372036854775807')); - }; - case PropelTypes::CHAR: - case PropelTypes::VARCHAR: - case PropelTypes::BINARY: - case PropelTypes::VARBINARY: - $size = $column->getSize(); - - return function () use ($generator, $size) { - return $generator->text($size); - }; - case PropelTypes::LONGVARCHAR: - case PropelTypes::LONGVARBINARY: - case PropelTypes::CLOB: - case PropelTypes::CLOB_EMU: - case PropelTypes::BLOB: - return function () use ($generator) { - return $generator->text; - }; - case PropelTypes::ENUM: - $valueSet = $column->getValueSet(); - - return function () use ($generator, $valueSet) { - return $generator->randomElement($valueSet); - }; - case PropelTypes::OBJECT: - case PropelTypes::PHP_ARRAY: - default: - // no smart way to guess what the user expects here - return null; - } - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/ORM/Propel2/EntityPopulator.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/ORM/Propel2/EntityPopulator.php deleted file mode 100644 index df5b671..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/ORM/Propel2/EntityPopulator.php +++ /dev/null @@ -1,192 +0,0 @@ -class = $class; - } - - /** - * @return string - */ - public function getClass() - { - return $this->class; - } - - public function setColumnFormatters($columnFormatters) - { - $this->columnFormatters = $columnFormatters; - } - - /** - * @return array - */ - public function getColumnFormatters() - { - return $this->columnFormatters; - } - - public function mergeColumnFormattersWith($columnFormatters) - { - $this->columnFormatters = array_merge($this->columnFormatters, $columnFormatters); - } - - /** - * @param \Faker\Generator $generator - * @return array - */ - public function guessColumnFormatters(\Faker\Generator $generator) - { - $formatters = array(); - $class = $this->class; - $peerClass = $class::TABLE_MAP; - $tableMap = $peerClass::getTableMap(); - $nameGuesser = new \Faker\Guesser\Name($generator); - $columnTypeGuesser = new \Faker\ORM\Propel2\ColumnTypeGuesser($generator); - foreach ($tableMap->getColumns() as $columnMap) { - // skip behavior columns, handled by modifiers - if ($this->isColumnBehavior($columnMap)) { - continue; - } - if ($columnMap->isForeignKey()) { - $relatedClass = $columnMap->getRelation()->getForeignTable()->getClassname(); - $formatters[$columnMap->getPhpName()] = function ($inserted) use ($relatedClass) { - $relatedClass = trim($relatedClass, "\\"); - return isset($inserted[$relatedClass]) ? $inserted[$relatedClass][mt_rand(0, count($inserted[$relatedClass]) - 1)] : null; - }; - continue; - } - if ($columnMap->isPrimaryKey()) { - continue; - } - if ($formatter = $nameGuesser->guessFormat($columnMap->getPhpName(), $columnMap->getSize())) { - $formatters[$columnMap->getPhpName()] = $formatter; - continue; - } - if ($formatter = $columnTypeGuesser->guessFormat($columnMap)) { - $formatters[$columnMap->getPhpName()] = $formatter; - continue; - } - } - - return $formatters; - } - - /** - * @param ColumnMap $columnMap - * @return bool - */ - protected function isColumnBehavior(ColumnMap $columnMap) - { - foreach ($columnMap->getTable()->getBehaviors() as $name => $params) { - $columnName = Base::toLower($columnMap->getName()); - switch ($name) { - case 'nested_set': - $columnNames = array($params['left_column'], $params['right_column'], $params['level_column']); - if (in_array($columnName, $columnNames)) { - return true; - } - break; - case 'timestampable': - $columnNames = array($params['create_column'], $params['update_column']); - if (in_array($columnName, $columnNames)) { - return true; - } - break; - } - } - - return false; - } - - public function setModifiers($modifiers) - { - $this->modifiers = $modifiers; - } - - /** - * @return array - */ - public function getModifiers() - { - return $this->modifiers; - } - - public function mergeModifiersWith($modifiers) - { - $this->modifiers = array_merge($this->modifiers, $modifiers); - } - - /** - * @param \Faker\Generator $generator - * @return array - */ - public function guessModifiers(\Faker\Generator $generator) - { - $modifiers = array(); - $class = $this->class; - $peerClass = $class::TABLE_MAP; - $tableMap = $peerClass::getTableMap(); - foreach ($tableMap->getBehaviors() as $name => $params) { - switch ($name) { - case 'nested_set': - $modifiers['nested_set'] = function ($obj, $inserted) use ($class, $generator) { - if (isset($inserted[$class])) { - $queryClass = $class . 'Query'; - $parent = $queryClass::create()->findPk($generator->randomElement($inserted[$class])); - $obj->insertAsLastChildOf($parent); - } else { - $obj->makeRoot(); - } - }; - break; - case 'sortable': - $modifiers['sortable'] = function ($obj, $inserted) use ($class) { - $maxRank = isset($inserted[$class]) ? count($inserted[$class]) : 0; - $obj->insertAtRank(mt_rand(1, $maxRank + 1)); - }; - break; - } - } - - return $modifiers; - } - - /** - * Insert one new record using the Entity class. - */ - public function execute($con, $insertedEntities) - { - $obj = new $this->class(); - foreach ($this->getColumnFormatters() as $column => $format) { - if (null !== $format) { - $obj->setByName($column, is_callable($format) ? $format($insertedEntities, $obj) : $format); - } - } - foreach ($this->getModifiers() as $modifier) { - $modifier($obj, $insertedEntities); - } - $obj->save($con); - - return $obj->getPrimaryKey(); - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/ORM/Propel2/Populator.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/ORM/Propel2/Populator.php deleted file mode 100644 index c0efe3b..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/ORM/Propel2/Populator.php +++ /dev/null @@ -1,92 +0,0 @@ -generator = $generator; - } - - /** - * Add an order for the generation of $number records for $entity. - * - * @param mixed $entity A Propel ActiveRecord classname, or a \Faker\ORM\Propel2\EntityPopulator instance - * @param int $number The number of entities to populate - */ - public function addEntity($entity, $number, $customColumnFormatters = array(), $customModifiers = array()) - { - if (!$entity instanceof \Faker\ORM\Propel2\EntityPopulator) { - $entity = new \Faker\ORM\Propel2\EntityPopulator($entity); - } - $entity->setColumnFormatters($entity->guessColumnFormatters($this->generator)); - if ($customColumnFormatters) { - $entity->mergeColumnFormattersWith($customColumnFormatters); - } - $entity->setModifiers($entity->guessModifiers($this->generator)); - if ($customModifiers) { - $entity->mergeModifiersWith($customModifiers); - } - $class = $entity->getClass(); - $this->entities[$class] = $entity; - $this->quantities[$class] = $number; - } - - /** - * Populate the database using all the Entity classes previously added. - * - * @param PropelPDO $con A Propel connection object - * - * @return array A list of the inserted PKs - */ - public function execute($con = null) - { - if (null === $con) { - $con = $this->getConnection(); - } - $isInstancePoolingEnabled = Propel::isInstancePoolingEnabled(); - Propel::disableInstancePooling(); - $insertedEntities = array(); - $con->beginTransaction(); - foreach ($this->quantities as $class => $number) { - for ($i=0; $i < $number; $i++) { - $insertedEntities[$class][]= $this->entities[$class]->execute($con, $insertedEntities); - } - } - $con->commit(); - if ($isInstancePoolingEnabled) { - Propel::enableInstancePooling(); - } - - return $insertedEntities; - } - - protected function getConnection() - { - // use the first connection available - $class = key($this->entities); - - if (!$class) { - throw new \RuntimeException('No class found from entities. Did you add entities to the Populator ?'); - } - - $peer = $class::TABLE_MAP; - - return Propel::getConnection($peer::DATABASE_NAME, ServiceContainerInterface::CONNECTION_WRITE); - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/ORM/Spot/ColumnTypeGuesser.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/ORM/Spot/ColumnTypeGuesser.php deleted file mode 100644 index 716a9f2..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/ORM/Spot/ColumnTypeGuesser.php +++ /dev/null @@ -1,77 +0,0 @@ -generator = $generator; - } - - /** - * @param array $field - * @return \Closure|null - */ - public function guessFormat(array $field) - { - $generator = $this->generator; - $type = $field['type']; - switch ($type) { - case 'boolean': - return function () use ($generator) { - return $generator->boolean; - }; - case 'decimal': - $size = isset($field['precision']) ? $field['precision'] : 2; - - return function () use ($generator, $size) { - return $generator->randomNumber($size + 2) / 100; - }; - case 'smallint': - return function () use ($generator) { - return $generator->numberBetween(0, 65535); - }; - case 'integer': - return function () use ($generator) { - return $generator->numberBetween(0, intval('2147483647')); - }; - case 'bigint': - return function () use ($generator) { - return $generator->numberBetween(0, intval('18446744073709551615')); - }; - case 'float': - return function () use ($generator) { - return $generator->randomFloat(null, 0, intval('4294967295')); - }; - case 'string': - $size = isset($field['length']) ? $field['length'] : 255; - - return function () use ($generator, $size) { - return $generator->text($size); - }; - case 'text': - return function () use ($generator) { - return $generator->text; - }; - case 'datetime': - case 'date': - case 'time': - return function () use ($generator) { - return $generator->datetime; - }; - default: - // no smart way to guess what the user expects here - return null; - } - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/ORM/Spot/EntityPopulator.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/ORM/Spot/EntityPopulator.php deleted file mode 100644 index bc27e7b..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/ORM/Spot/EntityPopulator.php +++ /dev/null @@ -1,219 +0,0 @@ -mapper = $mapper; - $this->locator = $locator; - $this->useExistingData = $useExistingData; - } - - /** - * @return string - */ - public function getMapper() - { - return $this->mapper; - } - - /** - * @param $columnFormatters - */ - public function setColumnFormatters($columnFormatters) - { - $this->columnFormatters = $columnFormatters; - } - - /** - * @return array - */ - public function getColumnFormatters() - { - return $this->columnFormatters; - } - - /** - * @param $columnFormatters - */ - public function mergeColumnFormattersWith($columnFormatters) - { - $this->columnFormatters = array_merge($this->columnFormatters, $columnFormatters); - } - - /** - * @param array $modifiers - */ - public function setModifiers(array $modifiers) - { - $this->modifiers = $modifiers; - } - - /** - * @return array - */ - public function getModifiers() - { - return $this->modifiers; - } - - /** - * @param array $modifiers - */ - public function mergeModifiersWith(array $modifiers) - { - $this->modifiers = array_merge($this->modifiers, $modifiers); - } - - /** - * @param Generator $generator - * @return array - */ - public function guessColumnFormatters(Generator $generator) - { - $formatters = array(); - $nameGuesser = new Name($generator); - $columnTypeGuesser = new ColumnTypeGuesser($generator); - $fields = $this->mapper->fields(); - foreach ($fields as $fieldName => $field) { - if ($field['primary'] === true) { - continue; - } - if ($formatter = $nameGuesser->guessFormat($fieldName)) { - $formatters[$fieldName] = $formatter; - continue; - } - if ($formatter = $columnTypeGuesser->guessFormat($field)) { - $formatters[$fieldName] = $formatter; - continue; - } - } - $entityName = $this->mapper->entity(); - $entity = $this->mapper->build([]); - $relations = $entityName::relations($this->mapper, $entity); - foreach ($relations as $relation) { - // We don't need any other relation here. - if ($relation instanceof BelongsTo) { - $fieldName = $relation->localKey(); - $entityName = $relation->entityName(); - $field = $fields[$fieldName]; - $required = $field['required']; - - $locator = $this->locator; - - $formatters[$fieldName] = function ($inserted) use ($required, $entityName, $locator) { - if (!empty($inserted[$entityName])) { - return $inserted[$entityName][mt_rand(0, count($inserted[$entityName]) - 1)]->get('id'); - } - - if ($required && $this->useExistingData) { - // We did not add anything like this, but it's required, - // So let's find something existing in DB. - $mapper = $locator->mapper($entityName); - $records = $mapper->all()->limit(self::RELATED_FETCH_COUNT)->toArray(); - if (empty($records)) { - return null; - } - - return $records[mt_rand(0, count($records) - 1)]['id']; - } - - return null; - }; - } - } - - return $formatters; - } - - /** - * Insert one new record using the Entity class. - * - * @param $insertedEntities - * @return string - */ - public function execute($insertedEntities) - { - $obj = $this->mapper->build([]); - - $this->fillColumns($obj, $insertedEntities); - $this->callMethods($obj, $insertedEntities); - - $this->mapper->insert($obj); - - - return $obj; - } - - /** - * @param $obj - * @param $insertedEntities - */ - private function fillColumns($obj, $insertedEntities) - { - foreach ($this->columnFormatters as $field => $format) { - if (null !== $format) { - $value = is_callable($format) ? $format($insertedEntities, $obj) : $format; - $obj->set($field, $value); - } - } - } - - /** - * @param $obj - * @param $insertedEntities - */ - private function callMethods($obj, $insertedEntities) - { - foreach ($this->getModifiers() as $modifier) { - $modifier($obj, $insertedEntities); - } - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/ORM/Spot/Populator.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/ORM/Spot/Populator.php deleted file mode 100644 index c834b04..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/ORM/Spot/Populator.php +++ /dev/null @@ -1,88 +0,0 @@ -generator = $generator; - $this->locator = $locator; - } - - /** - * Add an order for the generation of $number records for $entity. - * - * @param $entityName string Name of Entity object to generate - * @param $number int The number of entities to populate - * @param $customColumnFormatters array - * @param $customModifiers array - * @param $useExistingData bool Should we use existing rows (e.g. roles) to populate relations? - */ - public function addEntity( - $entityName, - $number, - $customColumnFormatters = array(), - $customModifiers = array(), - $useExistingData = false - ) { - $mapper = $this->locator->mapper($entityName); - if (null === $mapper) { - throw new \InvalidArgumentException("No mapper can be found for entity " . $entityName); - } - $entity = new EntityPopulator($mapper, $this->locator, $useExistingData); - - $entity->setColumnFormatters($entity->guessColumnFormatters($this->generator)); - if ($customColumnFormatters) { - $entity->mergeColumnFormattersWith($customColumnFormatters); - } - $entity->mergeModifiersWith($customModifiers); - - $this->entities[$entityName] = $entity; - $this->quantities[$entityName] = $number; - } - - /** - * Populate the database using all the Entity classes previously added. - * - * @param Locator $locator A Spot locator - * - * @return array A list of the inserted PKs - */ - public function execute($locator = null) - { - if (null === $locator) { - $locator = $this->locator; - } - if (null === $locator) { - throw new \InvalidArgumentException("No entity manager passed to Spot Populator."); - } - - $insertedEntities = array(); - foreach ($this->quantities as $entityName => $number) { - for ($i = 0; $i < $number; $i++) { - $insertedEntities[$entityName][] = $this->entities[$entityName]->execute( - $insertedEntities - ); - } - } - - return $insertedEntities; - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/Address.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/Address.php deleted file mode 100644 index 24f538a..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/Address.php +++ /dev/null @@ -1,139 +0,0 @@ -generator->parse($format); - } - - /** - * @example 'Crist Parks' - */ - public function streetName() - { - $format = static::randomElement(static::$streetNameFormats); - - return $this->generator->parse($format); - } - - /** - * @example '791 Crist Parks' - */ - public function streetAddress() - { - $format = static::randomElement(static::$streetAddressFormats); - - return $this->generator->parse($format); - } - - /** - * @example 86039-9874 - */ - public static function postcode() - { - return static::toUpper(static::bothify(static::randomElement(static::$postcode))); - } - - /** - * @example '791 Crist Parks, Sashabury, IL 86039-9874' - */ - public function address() - { - $format = static::randomElement(static::$addressFormats); - - return $this->generator->parse($format); - } - - /** - * @example 'Japan' - */ - public static function country() - { - return static::randomElement(static::$country); - } - - /** - * @example '77.147489' - * @param float|int $min - * @param float|int $max - * @return float Uses signed degrees format (returns a float number between -90 and 90) - */ - public static function latitude($min = -90, $max = 90) - { - return static::randomFloat(6, $min, $max); - } - - /** - * @example '86.211205' - * @param float|int $min - * @param float|int $max - * @return float Uses signed degrees format (returns a float number between -180 and 180) - */ - public static function longitude($min = -180, $max = 180) - { - return static::randomFloat(6, $min, $max); - } - - /** - * @example array('77.147489', '86.211205') - * @return array | latitude, longitude - */ - public static function localCoordinates() - { - return array( - 'latitude' => static::latitude(), - 'longitude' => static::longitude() - ); - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/Barcode.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/Barcode.php deleted file mode 100644 index 05759a3..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/Barcode.php +++ /dev/null @@ -1,114 +0,0 @@ - $digit) { - $sums += $digit * $sequence[$n % 2]; - } - return (10 - $sums % 10) % 10; - } - - /** - * ISBN-10 check digit - * @link http://en.wikipedia.org/wiki/International_Standard_Book_Number#ISBN-10_check_digits - * - * @param string $input ISBN without check-digit - * @throws \LengthException When wrong input length passed - * - * @return integer Check digit - */ - protected static function isbnChecksum($input) - { - // We're calculating check digit for ISBN-10 - // so, the length of the input should be 9 - $length = 9; - - if (strlen($input) !== $length) { - throw new \LengthException(sprintf('Input length should be equal to %d', $length)); - } - - $digits = str_split($input); - array_walk( - $digits, - function (&$digit, $position) { - $digit = (10 - $position) * $digit; - } - ); - $result = (11 - array_sum($digits) % 11) % 11; - - // 10 is replaced by X - return ($result < 10)?$result:'X'; - } - - /** - * Get a random EAN13 barcode. - * @return string - * @example '4006381333931' - */ - public function ean13() - { - return $this->ean(13); - } - - /** - * Get a random EAN8 barcode. - * @return string - * @example '73513537' - */ - public function ean8() - { - return $this->ean(8); - } - - /** - * Get a random ISBN-10 code - * @link http://en.wikipedia.org/wiki/International_Standard_Book_Number - * - * @return string - * @example '4881416324' - */ - public function isbn10() - { - $code = static::numerify(str_repeat('#', 9)); - - return $code . static::isbnChecksum($code); - } - - /** - * Get a random ISBN-13 code - * @link http://en.wikipedia.org/wiki/International_Standard_Book_Number - * - * @return string - * @example '9790404436093' - */ - public function isbn13() - { - $code = '97' . static::numberBetween(8, 9) . static::numerify(str_repeat('#', 9)); - - return $code . static::eanChecksum($code); - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/Base.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/Base.php deleted file mode 100644 index 6765c80..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/Base.php +++ /dev/null @@ -1,612 +0,0 @@ -generator = $generator; - } - - /** - * Returns a random number between 0 and 9 - * - * @return integer - */ - public static function randomDigit() - { - return mt_rand(0, 9); - } - - /** - * Returns a random number between 1 and 9 - * - * @return integer - */ - public static function randomDigitNotNull() - { - return mt_rand(1, 9); - } - - /** - * Generates a random digit, which cannot be $except - * - * @param int $except - * @return int - */ - public static function randomDigitNot($except) - { - $result = self::numberBetween(0, 8); - if ($result >= $except) { - $result++; - } - return $result; - } - - /** - * Returns a random integer with 0 to $nbDigits digits. - * - * The maximum value returned is mt_getrandmax() - * - * @param integer $nbDigits Defaults to a random number between 1 and 9 - * @param boolean $strict Whether the returned number should have exactly $nbDigits - * @example 79907610 - * - * @return integer - */ - public static function randomNumber($nbDigits = null, $strict = false) - { - if (!is_bool($strict)) { - throw new \InvalidArgumentException('randomNumber() generates numbers of fixed width. To generate numbers between two boundaries, use numberBetween() instead.'); - } - if (null === $nbDigits) { - $nbDigits = static::randomDigitNotNull(); - } - $max = pow(10, $nbDigits) - 1; - if ($max > mt_getrandmax()) { - throw new \InvalidArgumentException('randomNumber() can only generate numbers up to mt_getrandmax()'); - } - if ($strict) { - return mt_rand(pow(10, $nbDigits - 1), $max); - } - - return mt_rand(0, $max); - } - - /** - * Return a random float number - * - * @param int $nbMaxDecimals - * @param int|float $min - * @param int|float $max - * @example 48.8932 - * - * @return float - */ - public static function randomFloat($nbMaxDecimals = null, $min = 0, $max = null) - { - if (null === $nbMaxDecimals) { - $nbMaxDecimals = static::randomDigit(); - } - - if (null === $max) { - $max = static::randomNumber(); - if ($min > $max) { - $max = $min; - } - } - - if ($min > $max) { - $tmp = $min; - $min = $max; - $max = $tmp; - } - - return round($min + mt_rand() / mt_getrandmax() * ($max - $min), $nbMaxDecimals); - } - - /** - * Returns a random number between $int1 and $int2 (any order) - * - * @param integer $int1 default to 0 - * @param integer $int2 defaults to 32 bit max integer, ie 2147483647 - * @example 79907610 - * - * @return integer - */ - public static function numberBetween($int1 = 0, $int2 = 2147483647) - { - $min = $int1 < $int2 ? $int1 : $int2; - $max = $int1 < $int2 ? $int2 : $int1; - return mt_rand($min, $max); - } - - /** - * Returns the passed value - * - * @param mixed $value - * - * @return mixed - */ - public static function passthrough($value) - { - return $value; - } - - /** - * Returns a random letter from a to z - * - * @return string - */ - public static function randomLetter() - { - return chr(mt_rand(97, 122)); - } - - /** - * Returns a random ASCII character (excluding accents and special chars) - */ - public static function randomAscii() - { - return chr(mt_rand(33, 126)); - } - - /** - * Returns randomly ordered subsequence of $count elements from a provided array - * - * @param array $array Array to take elements from. Defaults to a-c - * @param integer $count Number of elements to take. - * @param boolean $allowDuplicates Allow elements to be picked several times. Defaults to false - * @throws \LengthException When requesting more elements than provided - * - * @return array New array with $count elements from $array - */ - public static function randomElements($array = array('a', 'b', 'c'), $count = 1, $allowDuplicates = false) - { - $traversables = array(); - - if ($array instanceof \Traversable) { - foreach ($array as $element) { - $traversables[] = $element; - } - } - - $arr = count($traversables) ? $traversables : $array; - - $allKeys = array_keys($arr); - $numKeys = count($allKeys); - - if (!$allowDuplicates && $numKeys < $count) { - throw new \LengthException(sprintf('Cannot get %d elements, only %d in array', $count, $numKeys)); - } - - $highKey = $numKeys - 1; - $keys = $elements = array(); - $numElements = 0; - - while ($numElements < $count) { - $num = mt_rand(0, $highKey); - - if (!$allowDuplicates) { - if (isset($keys[$num])) { - continue; - } - $keys[$num] = true; - } - - $elements[] = $arr[$allKeys[$num]]; - $numElements++; - } - - return $elements; - } - - /** - * Returns a random element from a passed array - * - * @param array $array - * @return mixed - */ - public static function randomElement($array = array('a', 'b', 'c')) - { - if (!$array || ($array instanceof \Traversable && !count($array))) { - return null; - } - $elements = static::randomElements($array, 1); - - return $elements[0]; - } - - /** - * Returns a random key from a passed associative array - * - * @param array $array - * @return int|string|null - */ - public static function randomKey($array = array()) - { - if (!$array) { - return null; - } - $keys = array_keys($array); - $key = $keys[mt_rand(0, count($keys) - 1)]; - - return $key; - } - - /** - * Returns a shuffled version of the argument. - * - * This function accepts either an array, or a string. - * - * @example $faker->shuffle([1, 2, 3]); // [2, 1, 3] - * @example $faker->shuffle('hello, world'); // 'rlo,h eold!lw' - * - * @see shuffleArray() - * @see shuffleString() - * - * @param array|string $arg The set to shuffle - * @return array|string The shuffled set - */ - public static function shuffle($arg = '') - { - if (is_array($arg)) { - return static::shuffleArray($arg); - } - if (is_string($arg)) { - return static::shuffleString($arg); - } - throw new \InvalidArgumentException('shuffle() only supports strings or arrays'); - } - - /** - * Returns a shuffled version of the array. - * - * This function does not mutate the original array. It uses the - * Fisher–Yates algorithm, which is unbiased, together with a Mersenne - * twister random generator. This function is therefore more random than - * PHP's shuffle() function, and it is seedable. - * - * @link http://en.wikipedia.org/wiki/Fisher%E2%80%93Yates_shuffle - * - * @example $faker->shuffleArray([1, 2, 3]); // [2, 1, 3] - * - * @param array $array The set to shuffle - * @return array The shuffled set - */ - public static function shuffleArray($array = array()) - { - $shuffledArray = array(); - $i = 0; - reset($array); - foreach ($array as $key => $value) { - if ($i == 0) { - $j = 0; - } else { - $j = mt_rand(0, $i); - } - if ($j == $i) { - $shuffledArray[]= $value; - } else { - $shuffledArray[]= $shuffledArray[$j]; - $shuffledArray[$j] = $value; - } - $i++; - } - return $shuffledArray; - } - - /** - * Returns a shuffled version of the string. - * - * This function does not mutate the original string. It uses the - * Fisher–Yates algorithm, which is unbiased, together with a Mersenne - * twister random generator. This function is therefore more random than - * PHP's shuffle() function, and it is seedable. Additionally, it is - * UTF8 safe if the mb extension is available. - * - * @link http://en.wikipedia.org/wiki/Fisher%E2%80%93Yates_shuffle - * - * @example $faker->shuffleString('hello, world'); // 'rlo,h eold!lw' - * - * @param string $string The set to shuffle - * @param string $encoding The string encoding (defaults to UTF-8) - * @return string The shuffled set - */ - public static function shuffleString($string = '', $encoding = 'UTF-8') - { - if (function_exists('mb_strlen')) { - // UTF8-safe str_split() - $array = array(); - $strlen = mb_strlen($string, $encoding); - for ($i = 0; $i < $strlen; $i++) { - $array []= mb_substr($string, $i, 1, $encoding); - } - } else { - $array = str_split($string, 1); - } - return implode('', static::shuffleArray($array)); - } - - private static function replaceWildcard($string, $wildcard = '#', $callback = 'static::randomDigit') - { - if (($pos = strpos($string, $wildcard)) === false) { - return $string; - } - for ($i = $pos, $last = strrpos($string, $wildcard, $pos) + 1; $i < $last; $i++) { - if ($string[$i] === $wildcard) { - $string[$i] = call_user_func($callback); - } - } - return $string; - } - - /** - * Replaces all hash sign ('#') occurrences with a random number - * Replaces all percentage sign ('%') occurrences with a not null number - * - * @param string $string String that needs to bet parsed - * @return string - */ - public static function numerify($string = '###') - { - // instead of using randomDigit() several times, which is slow, - // count the number of hashes and generate once a large number - $toReplace = array(); - if (($pos = strpos($string, '#')) !== false) { - for ($i = $pos, $last = strrpos($string, '#', $pos) + 1; $i < $last; $i++) { - if ($string[$i] === '#') { - $toReplace[] = $i; - } - } - } - if ($nbReplacements = count($toReplace)) { - $maxAtOnce = strlen((string) mt_getrandmax()) - 1; - $numbers = ''; - $i = 0; - while ($i < $nbReplacements) { - $size = min($nbReplacements - $i, $maxAtOnce); - $numbers .= str_pad(static::randomNumber($size), $size, '0', STR_PAD_LEFT); - $i += $size; - } - for ($i = 0; $i < $nbReplacements; $i++) { - $string[$toReplace[$i]] = $numbers[$i]; - } - } - $string = self::replaceWildcard($string, '%', 'static::randomDigitNotNull'); - - return $string; - } - - /** - * Replaces all question mark ('?') occurrences with a random letter - * - * @param string $string String that needs to bet parsed - * @return string - */ - public static function lexify($string = '????') - { - return self::replaceWildcard($string, '?', 'static::randomLetter'); - } - - /** - * Replaces hash signs ('#') and question marks ('?') with random numbers and letters - * An asterisk ('*') is replaced with either a random number or a random letter - * - * @param string $string String that needs to bet parsed - * @return string - */ - public static function bothify($string = '## ??') - { - $string = self::replaceWildcard($string, '*', function () { - return mt_rand(0, 1) ? '#' : '?'; - }); - return static::lexify(static::numerify($string)); - } - - /** - * Replaces * signs with random numbers and letters and special characters - * - * @example $faker->asciify(''********'); // "s5'G!uC3" - * - * @param string $string String that needs to bet parsed - * @return string - */ - public static function asciify($string = '****') - { - return preg_replace_callback('/\*/u', 'static::randomAscii', $string); - } - - /** - * Transforms a basic regular expression into a random string satisfying the expression. - * - * @example $faker->regexify('[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}'); // sm0@y8k96a.ej - * - * Regex delimiters '/.../' and begin/end markers '^...$' are ignored. - * - * Only supports a small subset of the regex syntax. For instance, - * unicode, negated classes, unbounded ranges, subpatterns, back references, - * assertions, recursive patterns, and comments are not supported. Escaping - * support is extremely fragile. - * - * This method is also VERY slow. Use it only when no other formatter - * can generate the fake data you want. For instance, prefer calling - * `$faker->email` rather than `regexify` with the previous regular - * expression. - * - * Also note than `bothify` can probably do most of what this method does, - * but much faster. For instance, for a dummy email generation, try - * `$faker->bothify('?????????@???.???')`. - * - * @see https://github.com/icomefromthenet/ReverseRegex for a more robust implementation - * - * @param string $regex A regular expression (delimiters are optional) - * @return string - */ - public static function regexify($regex = '') - { - // ditch the anchors - $regex = preg_replace('/^\/?\^?/', '', $regex); - $regex = preg_replace('/\$?\/?$/', '', $regex); - // All {2} become {2,2} - $regex = preg_replace('/\{(\d+)\}/', '{\1,\1}', $regex); - // Single-letter quantifiers (?, *, +) become bracket quantifiers ({0,1}, {0,rand}, {1, rand}) - $regex = preg_replace('/(? 0 && $weight < 1 && mt_rand() / mt_getrandmax() <= $weight) { - return $this->generator; - } - - // new system with percentage - if (is_int($weight) && mt_rand(1, 100) <= $weight) { - return $this->generator; - } - - return new DefaultGenerator($default); - } - - /** - * Chainable method for making any formatter unique. - * - * - * // will never return twice the same value - * $faker->unique()->randomElement(array(1, 2, 3)); - * - * - * @param boolean $reset If set to true, resets the list of existing values - * @param integer $maxRetries Maximum number of retries to find a unique value, - * After which an OverflowException is thrown. - * @throws \OverflowException When no unique value can be found by iterating $maxRetries times - * - * @return UniqueGenerator A proxy class returning only non-existing values - */ - public function unique($reset = false, $maxRetries = 10000) - { - if ($reset || !$this->unique) { - $this->unique = new UniqueGenerator($this->generator, $maxRetries); - } - - return $this->unique; - } - - /** - * Chainable method for forcing any formatter to return only valid values. - * - * The value validity is determined by a function passed as first argument. - * - * - * $values = array(); - * $evenValidator = function ($digit) { - * return $digit % 2 === 0; - * }; - * for ($i=0; $i < 10; $i++) { - * $values []= $faker->valid($evenValidator)->randomDigit; - * } - * print_r($values); // [0, 4, 8, 4, 2, 6, 0, 8, 8, 6] - * - * - * @param Closure $validator A function returning true for valid values - * @param integer $maxRetries Maximum number of retries to find a unique value, - * After which an OverflowException is thrown. - * @throws \OverflowException When no valid value can be found by iterating $maxRetries times - * - * @return ValidGenerator A proxy class returning only valid values - */ - public function valid($validator = null, $maxRetries = 10000) - { - return new ValidGenerator($this->generator, $validator, $maxRetries); - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/Biased.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/Biased.php deleted file mode 100644 index d37dcef..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/Biased.php +++ /dev/null @@ -1,64 +0,0 @@ -generator->parse($format); - } - - /** - * @example 'Ltd' - * - * @return string - */ - public static function companySuffix() - { - return static::randomElement(static::$companySuffix); - } - - /** - * @example 'Job' - * - * @return string - */ - public function jobTitle() - { - $format = static::randomElement(static::$jobTitleFormat); - - return $this->generator->parse($format); - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/DateTime.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/DateTime.php deleted file mode 100644 index bde7f25..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/DateTime.php +++ /dev/null @@ -1,340 +0,0 @@ -getTimestamp(); - } - - return strtotime(empty($max) ? 'now' : $max); - } - - /** - * Get a timestamp between January 1, 1970 and now - * - * @param \DateTime|int|string $max maximum timestamp used as random end limit, default to "now" - * @return int - * - * @example 1061306726 - */ - public static function unixTime($max = 'now') - { - return mt_rand(0, static::getMaxTimestamp($max)); - } - - /** - * Get a datetime object for a date between January 1, 1970 and now - * - * @param \DateTime|int|string $max maximum timestamp used as random end limit, default to "now" - * @param string $timezone time zone in which the date time should be set, default to DateTime::$defaultTimezone, if set, otherwise the result of `date_default_timezone_get` - * @example DateTime('2005-08-16 20:39:21') - * @return \DateTime - * @see http://php.net/manual/en/timezones.php - * @see http://php.net/manual/en/function.date-default-timezone-get.php - */ - public static function dateTime($max = 'now', $timezone = null) - { - return static::setTimezone( - new \DateTime('@' . static::unixTime($max)), - $timezone - ); - } - - /** - * Get a datetime object for a date between January 1, 001 and now - * - * @param \DateTime|int|string $max maximum timestamp used as random end limit, default to "now" - * @param string|null $timezone time zone in which the date time should be set, default to DateTime::$defaultTimezone, if set, otherwise the result of `date_default_timezone_get` - * @example DateTime('1265-03-22 21:15:52') - * @return \DateTime - * @see http://php.net/manual/en/timezones.php - * @see http://php.net/manual/en/function.date-default-timezone-get.php - */ - public static function dateTimeAD($max = 'now', $timezone = null) - { - $min = (PHP_INT_SIZE>4 ? -62135597361 : -PHP_INT_MAX); - return static::setTimezone( - new \DateTime('@' . mt_rand($min, static::getMaxTimestamp($max))), - $timezone - ); - } - - /** - * get a date string formatted with ISO8601 - * - * @param \DateTime|int|string $max maximum timestamp used as random end limit, default to "now" - * @return string - * @example '2003-10-21T16:05:52+0000' - */ - public static function iso8601($max = 'now') - { - return static::date(\DateTime::ISO8601, $max); - } - - /** - * Get a date string between January 1, 1970 and now - * - * @param string $format - * @param \DateTime|int|string $max maximum timestamp used as random end limit, default to "now" - * @return string - * @example '2008-11-27' - */ - public static function date($format = 'Y-m-d', $max = 'now') - { - return static::dateTime($max)->format($format); - } - - /** - * Get a time string (24h format by default) - * - * @param string $format - * @param \DateTime|int|string $max maximum timestamp used as random end limit, default to "now" - * @return string - * @example '15:02:34' - */ - public static function time($format = 'H:i:s', $max = 'now') - { - return static::dateTime($max)->format($format); - } - - /** - * Get a DateTime object based on a random date between two given dates. - * Accepts date strings that can be recognized by strtotime(). - * - * @param \DateTime|string $startDate Defaults to 30 years ago - * @param \DateTime|string $endDate Defaults to "now" - * @param string|null $timezone time zone in which the date time should be set, default to DateTime::$defaultTimezone, if set, otherwise the result of `date_default_timezone_get` - * @example DateTime('1999-02-02 11:42:52') - * @return \DateTime - * @see http://php.net/manual/en/timezones.php - * @see http://php.net/manual/en/function.date-default-timezone-get.php - */ - public static function dateTimeBetween($startDate = '-30 years', $endDate = 'now', $timezone = null) - { - $startTimestamp = $startDate instanceof \DateTime ? $startDate->getTimestamp() : strtotime($startDate); - $endTimestamp = static::getMaxTimestamp($endDate); - - if ($startTimestamp > $endTimestamp) { - throw new \InvalidArgumentException('Start date must be anterior to end date.'); - } - - $timestamp = mt_rand($startTimestamp, $endTimestamp); - - return static::setTimezone( - new \DateTime('@' . $timestamp), - $timezone - ); - } - - /** - * Get a DateTime object based on a random date between one given date and - * an interval - * Accepts date string that can be recognized by strtotime(). - * - * @param \DateTime|string $date Defaults to 30 years ago - * @param string $interval Defaults to 5 days after - * @param string|null $timezone time zone in which the date time should be set, default to DateTime::$defaultTimezone, if set, otherwise the result of `date_default_timezone_get` - * @example dateTimeInInterval('1999-02-02 11:42:52', '+ 5 days') - * @return \DateTime - * @see http://php.net/manual/en/timezones.php - * @see http://php.net/manual/en/function.date-default-timezone-get.php - */ - public static function dateTimeInInterval($date = '-30 years', $interval = '+5 days', $timezone = null) - { - $intervalObject = \DateInterval::createFromDateString($interval); - $datetime = $date instanceof \DateTime ? $date : new \DateTime($date); - $otherDatetime = clone $datetime; - $otherDatetime->add($intervalObject); - - $begin = $datetime > $otherDatetime ? $otherDatetime : $datetime; - $end = $datetime===$begin ? $otherDatetime : $datetime; - - return static::dateTimeBetween( - $begin, - $end, - $timezone - ); - } - - /** - * @param \DateTime|int|string $max maximum timestamp used as random end limit, default to "now" - * @param string|null $timezone time zone in which the date time should be set, default to DateTime::$defaultTimezone, if set, otherwise the result of `date_default_timezone_get` - * @example DateTime('1964-04-04 11:02:02') - * @return \DateTime - */ - public static function dateTimeThisCentury($max = 'now', $timezone = null) - { - return static::dateTimeBetween('-100 year', $max, $timezone); - } - - /** - * @param \DateTime|int|string $max maximum timestamp used as random end limit, default to "now" - * @param string|null $timezone time zone in which the date time should be set, default to DateTime::$defaultTimezone, if set, otherwise the result of `date_default_timezone_get` - * @example DateTime('2010-03-10 05:18:58') - * @return \DateTime - */ - public static function dateTimeThisDecade($max = 'now', $timezone = null) - { - return static::dateTimeBetween('-10 year', $max, $timezone); - } - - /** - * @param \DateTime|int|string $max maximum timestamp used as random end limit, default to "now" - * @param string|null $timezone time zone in which the date time should be set, default to DateTime::$defaultTimezone, if set, otherwise the result of `date_default_timezone_get` - * @example DateTime('2011-09-19 09:24:37') - * @return \DateTime - */ - public static function dateTimeThisYear($max = 'now', $timezone = null) - { - return static::dateTimeBetween('-1 year', $max, $timezone); - } - - /** - * @param \DateTime|int|string $max maximum timestamp used as random end limit, default to "now" - * @param string|null $timezone time zone in which the date time should be set, default to DateTime::$defaultTimezone, if set, otherwise the result of `date_default_timezone_get` - * @example DateTime('2011-10-05 12:51:46') - * @return \DateTime - */ - public static function dateTimeThisMonth($max = 'now', $timezone = null) - { - return static::dateTimeBetween('-1 month', $max, $timezone); - } - - /** - * @param \DateTime|int|string $max maximum timestamp used as random end limit, default to "now" - * @return string - * @example 'am' - */ - public static function amPm($max = 'now') - { - return static::dateTime($max)->format('a'); - } - - /** - * @param \DateTime|int|string $max maximum timestamp used as random end limit, default to "now" - * @return string - * @example '22' - */ - public static function dayOfMonth($max = 'now') - { - return static::dateTime($max)->format('d'); - } - - /** - * @param \DateTime|int|string $max maximum timestamp used as random end limit, default to "now" - * @return string - * @example 'Tuesday' - */ - public static function dayOfWeek($max = 'now') - { - return static::dateTime($max)->format('l'); - } - - /** - * @param \DateTime|int|string $max maximum timestamp used as random end limit, default to "now" - * @return string - * @example '7' - */ - public static function month($max = 'now') - { - return static::dateTime($max)->format('m'); - } - - /** - * @param \DateTime|int|string $max maximum timestamp used as random end limit, default to "now" - * @return string - * @example 'September' - */ - public static function monthName($max = 'now') - { - return static::dateTime($max)->format('F'); - } - - /** - * @param \DateTime|int|string $max maximum timestamp used as random end limit, default to "now" - * @return string - * @example '1673' - */ - public static function year($max = 'now') - { - return static::dateTime($max)->format('Y'); - } - - /** - * @return string - * @example 'XVII' - */ - public static function century() - { - return static::randomElement(static::$century); - } - - /** - * @return string - * @example 'Europe/Paris' - */ - public static function timezone() - { - return static::randomElement(\DateTimeZone::listIdentifiers()); - } - - /** - * Internal method to set the time zone on a DateTime. - * - * @param \DateTime $dt - * @param string|null $timezone - * - * @return \DateTime - */ - private static function setTimezone(\DateTime $dt, $timezone) - { - return $dt->setTimezone(new \DateTimeZone(static::resolveTimezone($timezone))); - } - - /** - * Sets default time zone. - * - * @param string $timezone - * - * @return void - */ - public static function setDefaultTimezone($timezone = null) - { - static::$defaultTimezone = $timezone; - } - - /** - * Gets default time zone. - * - * @return string|null - */ - public static function getDefaultTimezone() - { - return static::$defaultTimezone; - } - - /** - * @param string|null $timezone - * @return null|string - */ - private static function resolveTimezone($timezone) - { - return ((null === $timezone) ? ((null === static::$defaultTimezone) ? date_default_timezone_get() : static::$defaultTimezone) : $timezone); - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/File.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/File.php deleted file mode 100644 index ba01594..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/File.php +++ /dev/null @@ -1,606 +0,0 @@ - file extension(s) - * @link http://svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime.types - */ - protected static $mimeTypes = array( - 'application/atom+xml' => 'atom', - 'application/ecmascript' => 'ecma', - 'application/emma+xml' => 'emma', - 'application/epub+zip' => 'epub', - 'application/java-archive' => 'jar', - 'application/java-vm' => 'class', - 'application/javascript' => 'js', - 'application/json' => 'json', - 'application/jsonml+json' => 'jsonml', - 'application/lost+xml' => 'lostxml', - 'application/mathml+xml' => 'mathml', - 'application/mets+xml' => 'mets', - 'application/mods+xml' => 'mods', - 'application/mp4' => 'mp4s', - 'application/msword' => array('doc', 'dot'), - 'application/octet-stream' => array( - 'bin', - 'dms', - 'lrf', - 'mar', - 'so', - 'dist', - 'distz', - 'pkg', - 'bpk', - 'dump', - 'elc', - 'deploy' - ), - 'application/ogg' => 'ogx', - 'application/omdoc+xml' => 'omdoc', - 'application/pdf' => 'pdf', - 'application/pgp-encrypted' => 'pgp', - 'application/pgp-signature' => array('asc', 'sig'), - 'application/pkix-pkipath' => 'pkipath', - 'application/pkixcmp' => 'pki', - 'application/pls+xml' => 'pls', - 'application/postscript' => array('ai', 'eps', 'ps'), - 'application/pskc+xml' => 'pskcxml', - 'application/rdf+xml' => 'rdf', - 'application/reginfo+xml' => 'rif', - 'application/rss+xml' => 'rss', - 'application/rtf' => 'rtf', - 'application/sbml+xml' => 'sbml', - 'application/vnd.adobe.air-application-installer-package+zip' => 'air', - 'application/vnd.adobe.xdp+xml' => 'xdp', - 'application/vnd.adobe.xfdf' => 'xfdf', - 'application/vnd.ahead.space' => 'ahead', - 'application/vnd.dart' => 'dart', - 'application/vnd.data-vision.rdz' => 'rdz', - 'application/vnd.dece.data' => array('uvf', 'uvvf', 'uvd', 'uvvd'), - 'application/vnd.dece.ttml+xml' => array('uvt', 'uvvt'), - 'application/vnd.dece.unspecified' => array('uvx', 'uvvx'), - 'application/vnd.dece.zip' => array('uvz', 'uvvz'), - 'application/vnd.denovo.fcselayout-link' => 'fe_launch', - 'application/vnd.dna' => 'dna', - 'application/vnd.dolby.mlp' => 'mlp', - 'application/vnd.dpgraph' => 'dpg', - 'application/vnd.dreamfactory' => 'dfac', - 'application/vnd.ds-keypoint' => 'kpxx', - 'application/vnd.dvb.ait' => 'ait', - 'application/vnd.dvb.service' => 'svc', - 'application/vnd.dynageo' => 'geo', - 'application/vnd.ecowin.chart' => 'mag', - 'application/vnd.enliven' => 'nml', - 'application/vnd.epson.esf' => 'esf', - 'application/vnd.epson.msf' => 'msf', - 'application/vnd.epson.quickanime' => 'qam', - 'application/vnd.epson.salt' => 'slt', - 'application/vnd.epson.ssf' => 'ssf', - 'application/vnd.ezpix-album' => 'ez2', - 'application/vnd.ezpix-package' => 'ez3', - 'application/vnd.fdf' => 'fdf', - 'application/vnd.fdsn.mseed' => 'mseed', - 'application/vnd.fdsn.seed' => array('seed', 'dataless'), - 'application/vnd.flographit' => 'gph', - 'application/vnd.fluxtime.clip' => 'ftc', - 'application/vnd.hal+xml' => 'hal', - 'application/vnd.hydrostatix.sof-data' => 'sfd-hdstx', - 'application/vnd.ibm.minipay' => 'mpy', - 'application/vnd.ibm.secure-container' => 'sc', - 'application/vnd.iccprofile' => array('icc', 'icm'), - 'application/vnd.igloader' => 'igl', - 'application/vnd.immervision-ivp' => 'ivp', - 'application/vnd.kde.karbon' => 'karbon', - 'application/vnd.kde.kchart' => 'chrt', - 'application/vnd.kde.kformula' => 'kfo', - 'application/vnd.kde.kivio' => 'flw', - 'application/vnd.kde.kontour' => 'kon', - 'application/vnd.kde.kpresenter' => array('kpr', 'kpt'), - 'application/vnd.kde.kspread' => 'ksp', - 'application/vnd.kde.kword' => array('kwd', 'kwt'), - 'application/vnd.kenameaapp' => 'htke', - 'application/vnd.kidspiration' => 'kia', - 'application/vnd.kinar' => array('kne', 'knp'), - 'application/vnd.koan' => array('skp', 'skd', 'skt', 'skm'), - 'application/vnd.kodak-descriptor' => 'sse', - 'application/vnd.las.las+xml' => 'lasxml', - 'application/vnd.llamagraphics.life-balance.desktop' => 'lbd', - 'application/vnd.llamagraphics.life-balance.exchange+xml' => 'lbe', - 'application/vnd.lotus-1-2-3' => '123', - 'application/vnd.lotus-approach' => 'apr', - 'application/vnd.lotus-freelance' => 'pre', - 'application/vnd.lotus-notes' => 'nsf', - 'application/vnd.lotus-organizer' => 'org', - 'application/vnd.lotus-screencam' => 'scm', - 'application/vnd.mozilla.xul+xml' => 'xul', - 'application/vnd.ms-artgalry' => 'cil', - 'application/vnd.ms-cab-compressed' => 'cab', - 'application/vnd.ms-excel' => array( - 'xls', - 'xlm', - 'xla', - 'xlc', - 'xlt', - 'xlw' - ), - 'application/vnd.ms-excel.addin.macroenabled.12' => 'xlam', - 'application/vnd.ms-excel.sheet.binary.macroenabled.12' => 'xlsb', - 'application/vnd.ms-excel.sheet.macroenabled.12' => 'xlsm', - 'application/vnd.ms-excel.template.macroenabled.12' => 'xltm', - 'application/vnd.ms-fontobject' => 'eot', - 'application/vnd.ms-htmlhelp' => 'chm', - 'application/vnd.ms-ims' => 'ims', - 'application/vnd.ms-lrm' => 'lrm', - 'application/vnd.ms-officetheme' => 'thmx', - 'application/vnd.ms-pki.seccat' => 'cat', - 'application/vnd.ms-pki.stl' => 'stl', - 'application/vnd.ms-powerpoint' => array('ppt', 'pps', 'pot'), - 'application/vnd.ms-powerpoint.addin.macroenabled.12' => 'ppam', - 'application/vnd.ms-powerpoint.presentation.macroenabled.12' => 'pptm', - 'application/vnd.ms-powerpoint.slide.macroenabled.12' => 'sldm', - 'application/vnd.ms-powerpoint.slideshow.macroenabled.12' => 'ppsm', - 'application/vnd.ms-powerpoint.template.macroenabled.12' => 'potm', - 'application/vnd.ms-project' => array('mpp', 'mpt'), - 'application/vnd.ms-word.document.macroenabled.12' => 'docm', - 'application/vnd.ms-word.template.macroenabled.12' => 'dotm', - 'application/vnd.ms-works' => array('wps', 'wks', 'wcm', 'wdb'), - 'application/vnd.ms-wpl' => 'wpl', - 'application/vnd.ms-xpsdocument' => 'xps', - 'application/vnd.mseq' => 'mseq', - 'application/vnd.musician' => 'mus', - 'application/vnd.oasis.opendocument.chart' => 'odc', - 'application/vnd.oasis.opendocument.chart-template' => 'otc', - 'application/vnd.oasis.opendocument.database' => 'odb', - 'application/vnd.oasis.opendocument.formula' => 'odf', - 'application/vnd.oasis.opendocument.formula-template' => 'odft', - 'application/vnd.oasis.opendocument.graphics' => 'odg', - 'application/vnd.oasis.opendocument.graphics-template' => 'otg', - 'application/vnd.oasis.opendocument.image' => 'odi', - 'application/vnd.oasis.opendocument.image-template' => 'oti', - 'application/vnd.oasis.opendocument.presentation' => 'odp', - 'application/vnd.oasis.opendocument.presentation-template' => 'otp', - 'application/vnd.oasis.opendocument.spreadsheet' => 'ods', - 'application/vnd.oasis.opendocument.spreadsheet-template' => 'ots', - 'application/vnd.oasis.opendocument.text' => 'odt', - 'application/vnd.oasis.opendocument.text-master' => 'odm', - 'application/vnd.oasis.opendocument.text-template' => 'ott', - 'application/vnd.oasis.opendocument.text-web' => 'oth', - 'application/vnd.olpc-sugar' => 'xo', - 'application/vnd.oma.dd2+xml' => 'dd2', - 'application/vnd.openofficeorg.extension' => 'oxt', - 'application/vnd.openxmlformats-officedocument.presentationml.presentation' => 'pptx', - 'application/vnd.openxmlformats-officedocument.presentationml.slide' => 'sldx', - 'application/vnd.openxmlformats-officedocument.presentationml.slideshow' => 'ppsx', - 'application/vnd.openxmlformats-officedocument.presentationml.template' => 'potx', - 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' => 'xlsx', - 'application/vnd.openxmlformats-officedocument.spreadsheetml.template' => 'xltx', - 'application/vnd.openxmlformats-officedocument.wordprocessingml.document' => 'docx', - 'application/vnd.openxmlformats-officedocument.wordprocessingml.template' => 'dotx', - 'application/vnd.pvi.ptid1' => 'ptid', - 'application/vnd.quark.quarkxpress' => array( - 'qxd', - 'qxt', - 'qwd', - 'qwt', - 'qxl', - 'qxb' - ), - 'application/vnd.realvnc.bed' => 'bed', - 'application/vnd.recordare.musicxml' => 'mxl', - 'application/vnd.recordare.musicxml+xml' => 'musicxml', - 'application/vnd.rig.cryptonote' => 'cryptonote', - 'application/vnd.rim.cod' => 'cod', - 'application/vnd.rn-realmedia' => 'rm', - 'application/vnd.rn-realmedia-vbr' => 'rmvb', - 'application/vnd.route66.link66+xml' => 'link66', - 'application/vnd.sailingtracker.track' => 'st', - 'application/vnd.seemail' => 'see', - 'application/vnd.sema' => 'sema', - 'application/vnd.semd' => 'semd', - 'application/vnd.semf' => 'semf', - 'application/vnd.shana.informed.formdata' => 'ifm', - 'application/vnd.shana.informed.formtemplate' => 'itp', - 'application/vnd.shana.informed.interchange' => 'iif', - 'application/vnd.shana.informed.package' => 'ipk', - 'application/vnd.simtech-mindmapper' => array('twd', 'twds'), - 'application/vnd.smaf' => 'mmf', - 'application/vnd.stepmania.stepchart' => 'sm', - 'application/vnd.sun.xml.calc' => 'sxc', - 'application/vnd.sun.xml.calc.template' => 'stc', - 'application/vnd.sun.xml.draw' => 'sxd', - 'application/vnd.sun.xml.draw.template' => 'std', - 'application/vnd.sun.xml.impress' => 'sxi', - 'application/vnd.sun.xml.impress.template' => 'sti', - 'application/vnd.sun.xml.math' => 'sxm', - 'application/vnd.sun.xml.writer' => 'sxw', - 'application/vnd.sun.xml.writer.global' => 'sxg', - 'application/vnd.sun.xml.writer.template' => 'stw', - 'application/vnd.sus-calendar' => array('sus', 'susp'), - 'application/vnd.svd' => 'svd', - 'application/vnd.symbian.install' => array('sis', 'sisx'), - 'application/vnd.syncml+xml' => 'xsm', - 'application/vnd.syncml.dm+wbxml' => 'bdm', - 'application/vnd.syncml.dm+xml' => 'xdm', - 'application/vnd.tao.intent-module-archive' => 'tao', - 'application/vnd.tcpdump.pcap' => array('pcap', 'cap', 'dmp'), - 'application/vnd.tmobile-livetv' => 'tmo', - 'application/vnd.trid.tpt' => 'tpt', - 'application/vnd.triscape.mxs' => 'mxs', - 'application/vnd.trueapp' => 'tra', - 'application/vnd.ufdl' => array('ufd', 'ufdl'), - 'application/vnd.uiq.theme' => 'utz', - 'application/vnd.umajin' => 'umj', - 'application/vnd.unity' => 'unityweb', - 'application/vnd.uoml+xml' => 'uoml', - 'application/vnd.vcx' => 'vcx', - 'application/vnd.visio' => array('vsd', 'vst', 'vss', 'vsw'), - 'application/vnd.visionary' => 'vis', - 'application/vnd.vsf' => 'vsf', - 'application/vnd.wap.wbxml' => 'wbxml', - 'application/vnd.wap.wmlc' => 'wmlc', - 'application/vnd.wap.wmlscriptc' => 'wmlsc', - 'application/vnd.webturbo' => 'wtb', - 'application/vnd.wolfram.player' => 'nbp', - 'application/vnd.wordperfect' => 'wpd', - 'application/vnd.wqd' => 'wqd', - 'application/vnd.wt.stf' => 'stf', - 'application/vnd.xara' => 'xar', - 'application/vnd.xfdl' => 'xfdl', - 'application/voicexml+xml' => 'vxml', - 'application/widget' => 'wgt', - 'application/winhlp' => 'hlp', - 'application/wsdl+xml' => 'wsdl', - 'application/wspolicy+xml' => 'wspolicy', - 'application/x-7z-compressed' => '7z', - 'application/x-bittorrent' => 'torrent', - 'application/x-blorb' => array('blb', 'blorb'), - 'application/x-bzip' => 'bz', - 'application/x-cdlink' => 'vcd', - 'application/x-cfs-compressed' => 'cfs', - 'application/x-chat' => 'chat', - 'application/x-chess-pgn' => 'pgn', - 'application/x-conference' => 'nsc', - 'application/x-cpio' => 'cpio', - 'application/x-csh' => 'csh', - 'application/x-debian-package' => array('deb', 'udeb'), - 'application/x-dgc-compressed' => 'dgc', - 'application/x-director' => array( - 'dir', - 'dcr', - 'dxr', - 'cst', - 'cct', - 'cxt', - 'w3d', - 'fgd', - 'swa' - ), - 'application/x-font-ttf' => array('ttf', 'ttc'), - 'application/x-font-type1' => array('pfa', 'pfb', 'pfm', 'afm'), - 'application/x-font-woff' => 'woff', - 'application/x-freearc' => 'arc', - 'application/x-futuresplash' => 'spl', - 'application/x-gca-compressed' => 'gca', - 'application/x-glulx' => 'ulx', - 'application/x-gnumeric' => 'gnumeric', - 'application/x-gramps-xml' => 'gramps', - 'application/x-gtar' => 'gtar', - 'application/x-hdf' => 'hdf', - 'application/x-install-instructions' => 'install', - 'application/x-iso9660-image' => 'iso', - 'application/x-java-jnlp-file' => 'jnlp', - 'application/x-latex' => 'latex', - 'application/x-lzh-compressed' => array('lzh', 'lha'), - 'application/x-mie' => 'mie', - 'application/x-mobipocket-ebook' => array('prc', 'mobi'), - 'application/x-ms-application' => 'application', - 'application/x-ms-shortcut' => 'lnk', - 'application/x-ms-wmd' => 'wmd', - 'application/x-ms-wmz' => 'wmz', - 'application/x-ms-xbap' => 'xbap', - 'application/x-msaccess' => 'mdb', - 'application/x-msbinder' => 'obd', - 'application/x-mscardfile' => 'crd', - 'application/x-msclip' => 'clp', - 'application/x-msdownload' => array('exe', 'dll', 'com', 'bat', 'msi'), - 'application/x-msmediaview' => array( - 'mvb', - 'm13', - 'm14' - ), - 'application/x-msmetafile' => array('wmf', 'wmz', 'emf', 'emz'), - 'application/x-rar-compressed' => 'rar', - 'application/x-research-info-systems' => 'ris', - 'application/x-sh' => 'sh', - 'application/x-shar' => 'shar', - 'application/x-shockwave-flash' => 'swf', - 'application/x-silverlight-app' => 'xap', - 'application/x-sql' => 'sql', - 'application/x-stuffit' => 'sit', - 'application/x-stuffitx' => 'sitx', - 'application/x-subrip' => 'srt', - 'application/x-sv4cpio' => 'sv4cpio', - 'application/x-sv4crc' => 'sv4crc', - 'application/x-t3vm-image' => 't3', - 'application/x-tads' => 'gam', - 'application/x-tar' => 'tar', - 'application/x-tcl' => 'tcl', - 'application/x-tex' => 'tex', - 'application/x-tex-tfm' => 'tfm', - 'application/x-texinfo' => array('texinfo', 'texi'), - 'application/x-tgif' => 'obj', - 'application/x-ustar' => 'ustar', - 'application/x-wais-source' => 'src', - 'application/x-x509-ca-cert' => array('der', 'crt'), - 'application/x-xfig' => 'fig', - 'application/x-xliff+xml' => 'xlf', - 'application/x-xpinstall' => 'xpi', - 'application/x-xz' => 'xz', - 'application/x-zmachine' => 'z1', - 'application/xaml+xml' => 'xaml', - 'application/xcap-diff+xml' => 'xdf', - 'application/xenc+xml' => 'xenc', - 'application/xhtml+xml' => array('xhtml', 'xht'), - 'application/xml' => array('xml', 'xsl'), - 'application/xml-dtd' => 'dtd', - 'application/xop+xml' => 'xop', - 'application/xproc+xml' => 'xpl', - 'application/xslt+xml' => 'xslt', - 'application/xspf+xml' => 'xspf', - 'application/xv+xml' => array('mxml', 'xhvml', 'xvml', 'xvm'), - 'application/yang' => 'yang', - 'application/yin+xml' => 'yin', - 'application/zip' => 'zip', - 'audio/adpcm' => 'adp', - 'audio/basic' => array('au', 'snd'), - 'audio/midi' => array('mid', 'midi', 'kar', 'rmi'), - 'audio/mp4' => 'mp4a', - 'audio/mpeg' => array( - 'mpga', - 'mp2', - 'mp2a', - 'mp3', - 'm2a', - 'm3a' - ), - 'audio/ogg' => array('oga', 'ogg', 'spx'), - 'audio/vnd.dece.audio' => array('uva', 'uvva'), - 'audio/vnd.rip' => 'rip', - 'audio/webm' => 'weba', - 'audio/x-aac' => 'aac', - 'audio/x-aiff' => array('aif', 'aiff', 'aifc'), - 'audio/x-caf' => 'caf', - 'audio/x-flac' => 'flac', - 'audio/x-matroska' => 'mka', - 'audio/x-mpegurl' => 'm3u', - 'audio/x-ms-wax' => 'wax', - 'audio/x-ms-wma' => 'wma', - 'audio/x-pn-realaudio' => array('ram', 'ra'), - 'audio/x-pn-realaudio-plugin' => 'rmp', - 'audio/x-wav' => 'wav', - 'audio/xm' => 'xm', - 'image/bmp' => 'bmp', - 'image/cgm' => 'cgm', - 'image/g3fax' => 'g3', - 'image/gif' => 'gif', - 'image/ief' => 'ief', - 'image/jpeg' => array('jpeg', 'jpg', 'jpe'), - 'image/ktx' => 'ktx', - 'image/png' => 'png', - 'image/prs.btif' => 'btif', - 'image/sgi' => 'sgi', - 'image/svg+xml' => array('svg', 'svgz'), - 'image/tiff' => array('tiff', 'tif'), - 'image/vnd.adobe.photoshop' => 'psd', - 'image/vnd.dece.graphic' => array('uvi', 'uvvi', 'uvg', 'uvvg'), - 'image/vnd.dvb.subtitle' => 'sub', - 'image/vnd.djvu' => array('djvu', 'djv'), - 'image/vnd.dwg' => 'dwg', - 'image/vnd.dxf' => 'dxf', - 'image/vnd.fastbidsheet' => 'fbs', - 'image/vnd.fpx' => 'fpx', - 'image/vnd.fst' => 'fst', - 'image/vnd.fujixerox.edmics-mmr' => 'mmr', - 'image/vnd.fujixerox.edmics-rlc' => 'rlc', - 'image/vnd.ms-modi' => 'mdi', - 'image/vnd.ms-photo' => 'wdp', - 'image/vnd.net-fpx' => 'npx', - 'image/vnd.wap.wbmp' => 'wbmp', - 'image/vnd.xiff' => 'xif', - 'image/webp' => 'webp', - 'image/x-3ds' => '3ds', - 'image/x-cmu-raster' => 'ras', - 'image/x-cmx' => 'cmx', - 'image/x-freehand' => array('fh', 'fhc', 'fh4', 'fh5', 'fh7'), - 'image/x-icon' => 'ico', - 'image/x-mrsid-image' => 'sid', - 'image/x-pcx' => 'pcx', - 'image/x-pict' => array('pic', 'pct'), - 'image/x-portable-anymap' => 'pnm', - 'image/x-portable-bitmap' => 'pbm', - 'image/x-portable-graymap' => 'pgm', - 'image/x-portable-pixmap' => 'ppm', - 'image/x-rgb' => 'rgb', - 'image/x-tga' => 'tga', - 'image/x-xbitmap' => 'xbm', - 'image/x-xpixmap' => 'xpm', - 'image/x-xwindowdump' => 'xwd', - 'message/rfc822' => array('eml', 'mime'), - 'model/iges' => array('igs', 'iges'), - 'model/mesh' => array('msh', 'mesh', 'silo'), - 'model/vnd.collada+xml' => 'dae', - 'model/vnd.dwf' => 'dwf', - 'model/vnd.gdl' => 'gdl', - 'model/vnd.gtw' => 'gtw', - 'model/vnd.mts' => 'mts', - 'model/vnd.vtu' => 'vtu', - 'model/vrml' => array('wrl', 'vrml'), - 'model/x3d+binary' => 'x3db', - 'model/x3d+vrml' => 'x3dv', - 'model/x3d+xml' => 'x3d', - 'text/cache-manifest' => 'appcache', - 'text/calendar' => array('ics', 'ifb'), - 'text/css' => 'css', - 'text/csv' => 'csv', - 'text/html' => array('html', 'htm'), - 'text/n3' => 'n3', - 'text/plain' => array( - 'txt', - 'text', - 'conf', - 'def', - 'list', - 'log', - 'in' - ), - 'text/prs.lines.tag' => 'dsc', - 'text/richtext' => 'rtx', - 'text/sgml' => array('sgml', 'sgm'), - 'text/tab-separated-values' => 'tsv', - 'text/troff' => array( - 't', - 'tr', - 'roff', - 'man', - 'me', - 'ms' - ), - 'text/turtle' => 'ttl', - 'text/uri-list' => array('uri', 'uris', 'urls'), - 'text/vcard' => 'vcard', - 'text/vnd.curl' => 'curl', - 'text/vnd.curl.dcurl' => 'dcurl', - 'text/vnd.curl.scurl' => 'scurl', - 'text/vnd.curl.mcurl' => 'mcurl', - 'text/vnd.dvb.subtitle' => 'sub', - 'text/vnd.fly' => 'fly', - 'text/vnd.fmi.flexstor' => 'flx', - 'text/vnd.graphviz' => 'gv', - 'text/vnd.in3d.3dml' => '3dml', - 'text/vnd.in3d.spot' => 'spot', - 'text/vnd.sun.j2me.app-descriptor' => 'jad', - 'text/vnd.wap.wml' => 'wml', - 'text/vnd.wap.wmlscript' => 'wmls', - 'text/x-asm' => array('s', 'asm'), - 'text/x-fortran' => array('f', 'for', 'f77', 'f90'), - 'text/x-java-source' => 'java', - 'text/x-opml' => 'opml', - 'text/x-pascal' => array('p', 'pas'), - 'text/x-nfo' => 'nfo', - 'text/x-setext' => 'etx', - 'text/x-sfv' => 'sfv', - 'text/x-uuencode' => 'uu', - 'text/x-vcalendar' => 'vcs', - 'text/x-vcard' => 'vcf', - 'video/3gpp' => '3gp', - 'video/3gpp2' => '3g2', - 'video/h261' => 'h261', - 'video/h263' => 'h263', - 'video/h264' => 'h264', - 'video/jpeg' => 'jpgv', - 'video/jpm' => array('jpm', 'jpgm'), - 'video/mj2' => 'mj2', - 'video/mp4' => 'mp4', - 'video/mpeg' => array('mpeg', 'mpg', 'mpe', 'm1v', 'm2v'), - 'video/ogg' => 'ogv', - 'video/quicktime' => array('qt', 'mov'), - 'video/vnd.dece.hd' => array('uvh', 'uvvh'), - 'video/vnd.dece.mobile' => array('uvm', 'uvvm'), - 'video/vnd.dece.pd' => array('uvp', 'uvvp'), - 'video/vnd.dece.sd' => array('uvs', 'uvvs'), - 'video/vnd.dece.video' => array('uvv', 'uvvv'), - 'video/vnd.dvb.file' => 'dvb', - 'video/vnd.fvt' => 'fvt', - 'video/vnd.mpegurl' => array('mxu', 'm4u'), - 'video/vnd.ms-playready.media.pyv' => 'pyv', - 'video/vnd.uvvu.mp4' => array('uvu', 'uvvu'), - 'video/vnd.vivo' => 'viv', - 'video/webm' => 'webm', - 'video/x-f4v' => 'f4v', - 'video/x-fli' => 'fli', - 'video/x-flv' => 'flv', - 'video/x-m4v' => 'm4v', - 'video/x-matroska' => array('mkv', 'mk3d', 'mks'), - 'video/x-mng' => 'mng', - 'video/x-ms-asf' => array('asf', 'asx'), - 'video/x-ms-vob' => 'vob', - 'video/x-ms-wm' => 'wm', - 'video/x-ms-wmv' => 'wmv', - 'video/x-ms-wmx' => 'wmx', - 'video/x-ms-wvx' => 'wvx', - 'video/x-msvideo' => 'avi', - 'video/x-sgi-movie' => 'movie', - ); - - /** - * Get a random MIME type - * - * @return string - * @example 'video/avi' - */ - public static function mimeType() - { - return static::randomElement(array_keys(static::$mimeTypes)); - } - - /** - * Get a random file extension (without a dot) - * - * @example avi - * @return string - */ - public static function fileExtension() - { - $random_extension = static::randomElement(array_values(static::$mimeTypes)); - - return is_array($random_extension) ? static::randomElement($random_extension) : $random_extension; - } - - /** - * Copy a random file from the source directory to the target directory and returns the filename/fullpath - * - * @param string $sourceDirectory The directory to look for random file taking - * @param string $targetDirectory - * @param boolean $fullPath Whether to have the full path or just the filename - * @return string - */ - public static function file($sourceDirectory = '/tmp', $targetDirectory = '/tmp', $fullPath = true) - { - if (!is_dir($sourceDirectory)) { - throw new \InvalidArgumentException(sprintf('Source directory %s does not exist or is not a directory.', $sourceDirectory)); - } - - if (!is_dir($targetDirectory)) { - throw new \InvalidArgumentException(sprintf('Target directory %s does not exist or is not a directory.', $targetDirectory)); - } - - if ($sourceDirectory == $targetDirectory) { - throw new \InvalidArgumentException('Source and target directories must differ.'); - } - - // Drop . and .. and reset array keys - $files = array_filter(array_values(array_diff(scandir($sourceDirectory), array('.', '..'))), function ($file) use ($sourceDirectory) { - return is_file($sourceDirectory . DIRECTORY_SEPARATOR . $file) && is_readable($sourceDirectory . DIRECTORY_SEPARATOR . $file); - }); - - if (empty($files)) { - throw new \InvalidArgumentException(sprintf('Source directory %s is empty.', $sourceDirectory)); - } - - $sourceFullPath = $sourceDirectory . DIRECTORY_SEPARATOR . static::randomElement($files); - - $destinationFile = Uuid::uuid() . '.' . pathinfo($sourceFullPath, PATHINFO_EXTENSION); - $destinationFullPath = $targetDirectory . DIRECTORY_SEPARATOR . $destinationFile; - - if (false === copy($sourceFullPath, $destinationFullPath)) { - return false; - } - - return $fullPath ? $destinationFullPath : $destinationFile; - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/HtmlLorem.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/HtmlLorem.php deleted file mode 100644 index 6219bc8..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/HtmlLorem.php +++ /dev/null @@ -1,276 +0,0 @@ -addProvider(new Lorem($generator)); - $generator->addProvider(new Internet($generator)); - } - - /** - * @param integer $maxDepth - * @param integer $maxWidth - * - * @return string - */ - public function randomHtml($maxDepth = 4, $maxWidth = 4) - { - $document = new \DOMDocument(); - $this->idGenerator = new UniqueGenerator($this->generator); - - $head = $document->createElement("head"); - $this->addRandomTitle($head); - - $body = $document->createElement("body"); - $this->addLoginForm($body); - $this->addRandomSubTree($body, $maxDepth, $maxWidth); - - $html = $document->createElement("html"); - $html->appendChild($head); - $html->appendChild($body); - - $document->appendChild($html); - return $document->saveHTML(); - } - - private function addRandomSubTree(\DOMElement $root, $maxDepth, $maxWidth) - { - $maxDepth--; - if ($maxDepth <= 0) { - return $root; - } - - $siblings = mt_rand(1, $maxWidth); - for ($i = 0; $i < $siblings; $i++) { - if ($maxDepth == 1) { - $this->addRandomLeaf($root); - } else { - $sibling = $root->ownerDocument->createElement("div"); - $root->appendChild($sibling); - $this->addRandomAttribute($sibling); - $this->addRandomSubTree($sibling, mt_rand(0, $maxDepth), $maxWidth); - } - } - return $root; - } - - private function addRandomLeaf(\DOMElement $node) - { - $rand = mt_rand(1, 10); - switch ($rand) { - case 1: - $this->addRandomP($node); - break; - case 2: - $this->addRandomA($node); - break; - case 3: - $this->addRandomSpan($node); - break; - case 4: - $this->addRandomUL($node); - break; - case 5: - $this->addRandomH($node); - break; - case 6: - $this->addRandomB($node); - break; - case 7: - $this->addRandomI($node); - break; - case 8: - $this->addRandomTable($node); - break; - default: - $this->addRandomText($node); - break; - } - } - - private function addRandomAttribute(\DOMElement $node) - { - $rand = mt_rand(1, 2); - switch ($rand) { - case 1: - $node->setAttribute("class", $this->generator->word); - break; - case 2: - $node->setAttribute("id", (string)$this->idGenerator->randomNumber(5)); - break; - } - } - - private function addRandomP(\DOMElement $element, $maxLength = 10) - { - - $node = $element->ownerDocument->createElement(static::P_TAG); - $node->textContent = $this->generator->sentence(mt_rand(1, $maxLength)); - $element->appendChild($node); - } - - private function addRandomText(\DOMElement $element, $maxLength = 10) - { - $text = $element->ownerDocument->createTextNode($this->generator->sentence(mt_rand(1, $maxLength))); - $element->appendChild($text); - } - - private function addRandomA(\DOMElement $element, $maxLength = 10) - { - $text = $element->ownerDocument->createTextNode($this->generator->sentence(mt_rand(1, $maxLength))); - $node = $element->ownerDocument->createElement(static::A_TAG); - $node->setAttribute("href", $this->generator->safeEmailDomain); - $node->appendChild($text); - $element->appendChild($node); - } - - private function addRandomTitle(\DOMElement $element, $maxLength = 10) - { - $text = $element->ownerDocument->createTextNode($this->generator->sentence(mt_rand(1, $maxLength))); - $node = $element->ownerDocument->createElement(static::TITLE_TAG); - $node->appendChild($text); - $element->appendChild($node); - } - - private function addRandomH(\DOMElement $element, $maxLength = 10) - { - $h = static::H_TAG . (string)mt_rand(1, 3); - $text = $element->ownerDocument->createTextNode($this->generator->sentence(mt_rand(1, $maxLength))); - $node = $element->ownerDocument->createElement($h); - $node->appendChild($text); - $element->appendChild($node); - } - - private function addRandomB(\DOMElement $element, $maxLength = 10) - { - $text = $element->ownerDocument->createTextNode($this->generator->sentence(mt_rand(1, $maxLength))); - $node = $element->ownerDocument->createElement(static::B_TAG); - $node->appendChild($text); - $element->appendChild($node); - } - - private function addRandomI(\DOMElement $element, $maxLength = 10) - { - $text = $element->ownerDocument->createTextNode($this->generator->sentence(mt_rand(1, $maxLength))); - $node = $element->ownerDocument->createElement(static::I_TAG); - $node->appendChild($text); - $element->appendChild($node); - } - - private function addRandomSpan(\DOMElement $element, $maxLength = 10) - { - $text = $element->ownerDocument->createTextNode($this->generator->sentence(mt_rand(1, $maxLength))); - $node = $element->ownerDocument->createElement(static::SPAN_TAG); - $node->appendChild($text); - $element->appendChild($node); - } - - private function addLoginForm(\DOMElement $element) - { - - $textInput = $element->ownerDocument->createElement(static::INPUT_TAG); - $textInput->setAttribute("type", "text"); - $textInput->setAttribute("id", "username"); - - $textLabel = $element->ownerDocument->createElement(static::LABEL_TAG); - $textLabel->setAttribute("for", "username"); - $textLabel->textContent = $this->generator->word; - - $passwordInput = $element->ownerDocument->createElement(static::INPUT_TAG); - $passwordInput->setAttribute("type", "password"); - $passwordInput->setAttribute("id", "password"); - - $passwordLabel = $element->ownerDocument->createElement(static::LABEL_TAG); - $passwordLabel->setAttribute("for", "password"); - $passwordLabel->textContent = $this->generator->word; - - $submit = $element->ownerDocument->createElement(static::INPUT_TAG); - $submit->setAttribute("type", "submit"); - $submit->setAttribute("value", $this->generator->word); - - $submit = $element->ownerDocument->createElement(static::FORM_TAG); - $submit->setAttribute("action", $this->generator->safeEmailDomain); - $submit->setAttribute("method", "POST"); - $submit->appendChild($textLabel); - $submit->appendChild($textInput); - $submit->appendChild($passwordLabel); - $submit->appendChild($passwordInput); - $element->appendChild($submit); - } - - private function addRandomTable(\DOMElement $element, $maxRows = 10, $maxCols = 6, $maxTitle = 4, $maxLength = 10) - { - $rows = mt_rand(1, $maxRows); - $cols = mt_rand(1, $maxCols); - - $table = $element->ownerDocument->createElement(static::TABLE_TAG); - $thead = $element->ownerDocument->createElement(static::THEAD_TAG); - $tbody = $element->ownerDocument->createElement(static::TBODY_TAG); - - $table->appendChild($thead); - $table->appendChild($tbody); - - $tr = $element->ownerDocument->createElement(static::TR_TAG); - $thead->appendChild($tr); - for ($i = 0; $i < $cols; $i++) { - $th = $element->ownerDocument->createElement(static::TH_TAG); - $th->textContent = $this->generator->sentence(mt_rand(1, $maxTitle)); - $tr->appendChild($th); - } - for ($i = 0; $i < $rows; $i++) { - $tr = $element->ownerDocument->createElement(static::TR_TAG); - $tbody->appendChild($tr); - for ($j = 0; $j < $cols; $j++) { - $th = $element->ownerDocument->createElement(static::TD_TAG); - $th->textContent = $this->generator->sentence(mt_rand(1, $maxLength)); - $tr->appendChild($th); - } - } - $element->appendChild($table); - } - - private function addRandomUL(\DOMElement $element, $maxItems = 11, $maxLength = 4) - { - $num = mt_rand(1, $maxItems); - $ul = $element->ownerDocument->createElement(static::UL_TAG); - for ($i = 0; $i < $num; $i++) { - $li = $element->ownerDocument->createElement(static::LI_TAG); - $li->textContent = $this->generator->sentence(mt_rand(1, $maxLength)); - $ul->appendChild($li); - } - $element->appendChild($ul); - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/Image.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/Image.php deleted file mode 100644 index 14f1b39..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/Image.php +++ /dev/null @@ -1,105 +0,0 @@ -generator->parse($format); - } - - /** - * @example 'jdoe@example.com' - */ - final public function safeEmail() - { - return preg_replace('/\s/u', '', $this->userName() . '@' . static::safeEmailDomain()); - } - - /** - * @example 'jdoe@gmail.com' - */ - public function freeEmail() - { - return preg_replace('/\s/u', '', $this->userName() . '@' . static::freeEmailDomain()); - } - - /** - * @example 'jdoe@dawson.com' - */ - public function companyEmail() - { - return preg_replace('/\s/u', '', $this->userName() . '@' . $this->domainName()); - } - - /** - * @example 'gmail.com' - */ - public static function freeEmailDomain() - { - return static::randomElement(static::$freeEmailDomain); - } - - /** - * @example 'example.org' - */ - final public static function safeEmailDomain() - { - $domains = array( - 'example.com', - 'example.org', - 'example.net' - ); - - return static::randomElement($domains); - } - /** - * @example 'jdoe' - */ - public function userName() - { - $format = static::randomElement(static::$userNameFormats); - $username = static::bothify($this->generator->parse($format)); - - $username = strtolower(static::transliterate($username)); - - // check if transliterate() didn't support the language and removed all letters - if (trim($username, '._') === '') { - throw new \Exception('userName failed with the selected locale. Try a different locale or activate the "intl" PHP extension.'); - } - - // clean possible trailing dots from first/last names - $username = str_replace('..', '.', $username); - $username = rtrim($username, '.'); - - return $username; - } - /** - * @example 'fY4èHdZv68' - */ - public function password($minLength = 6, $maxLength = 20) - { - $pattern = str_repeat('*', $this->numberBetween($minLength, $maxLength)); - - return $this->asciify($pattern); - } - - /** - * @example 'tiramisu.com' - */ - public function domainName() - { - return $this->domainWord() . '.' . $this->tld(); - } - - /** - * @example 'faber' - */ - public function domainWord() - { - $lastName = $this->generator->format('lastName'); - - $lastName = strtolower(static::transliterate($lastName)); - - // check if transliterate() didn't support the language and removed all letters - if (trim($lastName, '._') === '') { - throw new \Exception('domainWord failed with the selected locale. Try a different locale or activate the "intl" PHP extension.'); - } - - // clean possible trailing dot from last name - $lastName = rtrim($lastName, '.'); - - return $lastName; - } - - /** - * @example 'com' - */ - public function tld() - { - return static::randomElement(static::$tld); - } - - /** - * @example 'http://www.runolfsdottir.com/' - */ - public function url() - { - $format = static::randomElement(static::$urlFormats); - - return $this->generator->parse($format); - } - - /** - * @example 'aut-repellat-commodi-vel-itaque-nihil-id-saepe-nostrum' - */ - public function slug($nbWords = 6, $variableNbWords = true) - { - if ($nbWords <= 0) { - return ''; - } - if ($variableNbWords) { - $nbWords = (int) ($nbWords * mt_rand(60, 140) / 100) + 1; - } - $words = $this->generator->words($nbWords); - - return join('-', $words); - } - - /** - * @example '237.149.115.38' - */ - public function ipv4() - { - return long2ip(mt_rand(0, 1) == 0 ? mt_rand(-2147483648, -2) : mt_rand(16777216, 2147483647)); - } - - /** - * @example '35cd:186d:3e23:2986:ef9f:5b41:42a4:e6f1' - */ - public function ipv6() - { - $res = array(); - for ($i=0; $i < 8; $i++) { - $res []= dechex(mt_rand(0, "65535")); - } - - return join(':', $res); - } - - /** - * @example '10.1.1.17' - */ - public static function localIpv4() - { - if (static::numberBetween(0, 1) === 0) { - // 10.x.x.x range - return long2ip(static::numberBetween(ip2long("10.0.0.0"), ip2long("10.255.255.255"))); - } - - // 192.168.x.x range - return long2ip(static::numberBetween(ip2long("192.168.0.0"), ip2long("192.168.255.255"))); - } - - /** - * @example '32:F1:39:2F:D6:18' - */ - public static function macAddress() - { - for ($i=0; $i<6; $i++) { - $mac[] = sprintf('%02X', static::numberBetween(0, 0xff)); - } - $mac = implode(':', $mac); - - return $mac; - } - - protected static function transliterate($string) - { - if (0 === preg_match('/[^A-Za-z0-9_.]/', $string)) { - return $string; - } - - $transId = 'Any-Latin; Latin-ASCII; NFD; [:Nonspacing Mark:] Remove; NFC;'; - if (class_exists('Transliterator', false) && $transliterator = \Transliterator::create($transId)) { - $transString = $transliterator->transliterate($string); - } else { - $transString = static::toAscii($string); - } - - return preg_replace('/[^A-Za-z0-9_.]/u', '', $transString); - } - - protected static function toAscii($string) - { - static $arrayFrom, $arrayTo; - - if (empty($arrayFrom)) { - $transliterationTable = array( - 'IJ'=>'I', 'Ö'=>'O', 'Å’'=>'O', 'Ãœ'=>'U', 'ä'=>'a', 'æ'=>'a', - 'ij'=>'i', 'ö'=>'o', 'Å“'=>'o', 'ü'=>'u', 'ß'=>'s', 'Å¿'=>'s', - 'À'=>'A', 'Ã'=>'A', 'Â'=>'A', 'Ã'=>'A', 'Ä'=>'A', 'Ã…'=>'A', - 'Æ'=>'A', 'Ä€'=>'A', 'Ä„'=>'A', 'Ä‚'=>'A', 'Ç'=>'C', 'Ć'=>'C', - 'ÄŒ'=>'C', 'Ĉ'=>'C', 'ÄŠ'=>'C', 'ÄŽ'=>'D', 'Ä'=>'D', 'È'=>'E', - 'É'=>'E', 'Ê'=>'E', 'Ë'=>'E', 'Ä’'=>'E', 'Ę'=>'E', 'Äš'=>'E', - 'Ä”'=>'E', 'Ä–'=>'E', 'Äœ'=>'G', 'Äž'=>'G', 'Ä '=>'G', 'Ä¢'=>'G', - 'Ĥ'=>'H', 'Ħ'=>'H', 'ÃŒ'=>'I', 'Ã'=>'I', 'ÃŽ'=>'I', 'Ã'=>'I', - 'Ī'=>'I', 'Ĩ'=>'I', 'Ĭ'=>'I', 'Ä®'=>'I', 'Ä°'=>'I', 'Ä´'=>'J', - 'Ķ'=>'K', 'Ľ'=>'K', 'Ĺ'=>'K', 'Ä»'=>'K', 'Ä¿'=>'K', 'Å'=>'L', - 'Ñ'=>'N', 'Ń'=>'N', 'Ň'=>'N', 'Å…'=>'N', 'ÅŠ'=>'N', 'Ã’'=>'O', - 'Ó'=>'O', 'Ô'=>'O', 'Õ'=>'O', 'Ø'=>'O', 'ÅŒ'=>'O', 'Å'=>'O', - 'ÅŽ'=>'O', 'Å”'=>'R', 'Ř'=>'R', 'Å–'=>'R', 'Åš'=>'S', 'Åž'=>'S', - 'Åœ'=>'S', 'Ș'=>'S', 'Å '=>'S', 'Ť'=>'T', 'Å¢'=>'T', 'Ŧ'=>'T', - 'Èš'=>'T', 'Ù'=>'U', 'Ú'=>'U', 'Û'=>'U', 'Ū'=>'U', 'Å®'=>'U', - 'Å°'=>'U', 'Ŭ'=>'U', 'Ũ'=>'U', 'Ų'=>'U', 'Å´'=>'W', 'Ŷ'=>'Y', - 'Ÿ'=>'Y', 'Ã'=>'Y', 'Ź'=>'Z', 'Å»'=>'Z', 'Ž'=>'Z', 'à'=>'a', - 'á'=>'a', 'â'=>'a', 'ã'=>'a', 'Ä'=>'a', 'Ä…'=>'a', 'ă'=>'a', - 'Ã¥'=>'a', 'ç'=>'c', 'ć'=>'c', 'Ä'=>'c', 'ĉ'=>'c', 'Ä‹'=>'c', - 'Ä'=>'d', 'Ä‘'=>'d', 'è'=>'e', 'é'=>'e', 'ê'=>'e', 'ë'=>'e', - 'Ä“'=>'e', 'Ä™'=>'e', 'Ä›'=>'e', 'Ä•'=>'e', 'Ä—'=>'e', 'Æ’'=>'f', - 'Ä'=>'g', 'ÄŸ'=>'g', 'Ä¡'=>'g', 'Ä£'=>'g', 'Ä¥'=>'h', 'ħ'=>'h', - 'ì'=>'i', 'í'=>'i', 'î'=>'i', 'ï'=>'i', 'Ä«'=>'i', 'Ä©'=>'i', - 'Ä­'=>'i', 'į'=>'i', 'ı'=>'i', 'ĵ'=>'j', 'Ä·'=>'k', 'ĸ'=>'k', - 'Å‚'=>'l', 'ľ'=>'l', 'ĺ'=>'l', 'ļ'=>'l', 'Å€'=>'l', 'ñ'=>'n', - 'Å„'=>'n', 'ň'=>'n', 'ņ'=>'n', 'ʼn'=>'n', 'Å‹'=>'n', 'ò'=>'o', - 'ó'=>'o', 'ô'=>'o', 'õ'=>'o', 'ø'=>'o', 'Å'=>'o', 'Å‘'=>'o', - 'Å'=>'o', 'Å•'=>'r', 'Å™'=>'r', 'Å—'=>'r', 'Å›'=>'s', 'Å¡'=>'s', - 'Å¥'=>'t', 'ù'=>'u', 'ú'=>'u', 'û'=>'u', 'Å«'=>'u', 'ů'=>'u', - 'ű'=>'u', 'Å­'=>'u', 'Å©'=>'u', 'ų'=>'u', 'ŵ'=>'w', 'ÿ'=>'y', - 'ý'=>'y', 'Å·'=>'y', 'ż'=>'z', 'ź'=>'z', 'ž'=>'z', 'Α'=>'A', - 'Ά'=>'A', 'Ἀ'=>'A', 'Ἁ'=>'A', 'Ἂ'=>'A', 'Ἃ'=>'A', 'Ἄ'=>'A', - 'á¼'=>'A', 'Ἆ'=>'A', 'á¼'=>'A', 'ᾈ'=>'A', 'ᾉ'=>'A', 'ᾊ'=>'A', - 'ᾋ'=>'A', 'ᾌ'=>'A', 'á¾'=>'A', 'ᾎ'=>'A', 'á¾'=>'A', 'Ᾰ'=>'A', - 'á¾¹'=>'A', 'Ὰ'=>'A', 'á¾¼'=>'A', 'Î’'=>'B', 'Γ'=>'G', 'Δ'=>'D', - 'Ε'=>'E', 'Έ'=>'E', 'Ἐ'=>'E', 'á¼™'=>'E', 'Ἒ'=>'E', 'á¼›'=>'E', - 'Ἔ'=>'E', 'á¼'=>'E', 'Ὲ'=>'E', 'Ζ'=>'Z', 'Η'=>'I', 'Ή'=>'I', - 'Ἠ'=>'I', 'Ἡ'=>'I', 'Ἢ'=>'I', 'Ἣ'=>'I', 'Ἤ'=>'I', 'á¼­'=>'I', - 'á¼®'=>'I', 'Ἧ'=>'I', 'ᾘ'=>'I', 'á¾™'=>'I', 'ᾚ'=>'I', 'á¾›'=>'I', - 'ᾜ'=>'I', 'á¾'=>'I', 'ᾞ'=>'I', 'ᾟ'=>'I', 'á¿Š'=>'I', 'á¿Œ'=>'I', - 'Θ'=>'T', 'Ι'=>'I', 'Ί'=>'I', 'Ϊ'=>'I', 'Ἰ'=>'I', 'á¼¹'=>'I', - 'Ἲ'=>'I', 'á¼»'=>'I', 'á¼¼'=>'I', 'á¼½'=>'I', 'á¼¾'=>'I', 'Ἷ'=>'I', - 'Ῐ'=>'I', 'á¿™'=>'I', 'á¿š'=>'I', 'Κ'=>'K', 'Λ'=>'L', 'Îœ'=>'M', - 'Î'=>'N', 'Ξ'=>'K', 'Ο'=>'O', 'ÎŒ'=>'O', 'Ὀ'=>'O', 'Ὁ'=>'O', - 'Ὂ'=>'O', 'Ὃ'=>'O', 'Ὄ'=>'O', 'á½'=>'O', 'Ὸ'=>'O', 'Π'=>'P', - 'Ρ'=>'R', 'Ῥ'=>'R', 'Σ'=>'S', 'Τ'=>'T', 'Î¥'=>'Y', 'ÎŽ'=>'Y', - 'Ϋ'=>'Y', 'á½™'=>'Y', 'á½›'=>'Y', 'á½'=>'Y', 'Ὗ'=>'Y', 'Ῠ'=>'Y', - 'á¿©'=>'Y', 'Ὺ'=>'Y', 'Φ'=>'F', 'Χ'=>'X', 'Ψ'=>'P', 'Ω'=>'O', - 'Î'=>'O', 'Ὠ'=>'O', 'Ὡ'=>'O', 'Ὢ'=>'O', 'Ὣ'=>'O', 'Ὤ'=>'O', - 'á½­'=>'O', 'á½®'=>'O', 'Ὧ'=>'O', 'ᾨ'=>'O', 'ᾩ'=>'O', 'ᾪ'=>'O', - 'ᾫ'=>'O', 'ᾬ'=>'O', 'á¾­'=>'O', 'á¾®'=>'O', 'ᾯ'=>'O', 'Ὼ'=>'O', - 'ῼ'=>'O', 'α'=>'a', 'ά'=>'a', 'á¼€'=>'a', 'á¼'=>'a', 'ἂ'=>'a', - 'ἃ'=>'a', 'ἄ'=>'a', 'á¼…'=>'a', 'ἆ'=>'a', 'ἇ'=>'a', 'á¾€'=>'a', - 'á¾'=>'a', 'ᾂ'=>'a', 'ᾃ'=>'a', 'ᾄ'=>'a', 'á¾…'=>'a', 'ᾆ'=>'a', - 'ᾇ'=>'a', 'á½°'=>'a', 'á¾°'=>'a', 'á¾±'=>'a', 'á¾²'=>'a', 'á¾³'=>'a', - 'á¾´'=>'a', 'ᾶ'=>'a', 'á¾·'=>'a', 'β'=>'b', 'γ'=>'g', 'δ'=>'d', - 'ε'=>'e', 'έ'=>'e', 'á¼'=>'e', 'ἑ'=>'e', 'á¼’'=>'e', 'ἓ'=>'e', - 'á¼”'=>'e', 'ἕ'=>'e', 'á½²'=>'e', 'ζ'=>'z', 'η'=>'i', 'ή'=>'i', - 'á¼ '=>'i', 'ἡ'=>'i', 'á¼¢'=>'i', 'á¼£'=>'i', 'ἤ'=>'i', 'á¼¥'=>'i', - 'ἦ'=>'i', 'ἧ'=>'i', 'á¾'=>'i', 'ᾑ'=>'i', 'á¾’'=>'i', 'ᾓ'=>'i', - 'á¾”'=>'i', 'ᾕ'=>'i', 'á¾–'=>'i', 'á¾—'=>'i', 'á½´'=>'i', 'á¿‚'=>'i', - 'ῃ'=>'i', 'á¿„'=>'i', 'ῆ'=>'i', 'ῇ'=>'i', 'θ'=>'t', 'ι'=>'i', - 'ί'=>'i', 'ÏŠ'=>'i', 'Î'=>'i', 'á¼°'=>'i', 'á¼±'=>'i', 'á¼²'=>'i', - 'á¼³'=>'i', 'á¼´'=>'i', 'á¼µ'=>'i', 'ἶ'=>'i', 'á¼·'=>'i', 'ὶ'=>'i', - 'á¿'=>'i', 'á¿‘'=>'i', 'á¿’'=>'i', 'á¿–'=>'i', 'á¿—'=>'i', 'κ'=>'k', - 'λ'=>'l', 'μ'=>'m', 'ν'=>'n', 'ξ'=>'k', 'ο'=>'o', 'ÏŒ'=>'o', - 'á½€'=>'o', 'á½'=>'o', 'ὂ'=>'o', 'ὃ'=>'o', 'ὄ'=>'o', 'á½…'=>'o', - 'ὸ'=>'o', 'Ï€'=>'p', 'Ï'=>'r', 'ῤ'=>'r', 'á¿¥'=>'r', 'σ'=>'s', - 'Ï‚'=>'s', 'Ï„'=>'t', 'Ï…'=>'y', 'Ï'=>'y', 'Ï‹'=>'y', 'ΰ'=>'y', - 'á½'=>'y', 'ὑ'=>'y', 'á½’'=>'y', 'ὓ'=>'y', 'á½”'=>'y', 'ὕ'=>'y', - 'á½–'=>'y', 'á½—'=>'y', 'ὺ'=>'y', 'á¿ '=>'y', 'á¿¡'=>'y', 'á¿¢'=>'y', - 'ῦ'=>'y', 'ῧ'=>'y', 'φ'=>'f', 'χ'=>'x', 'ψ'=>'p', 'ω'=>'o', - 'ÏŽ'=>'o', 'á½ '=>'o', 'ὡ'=>'o', 'á½¢'=>'o', 'á½£'=>'o', 'ὤ'=>'o', - 'á½¥'=>'o', 'ὦ'=>'o', 'ὧ'=>'o', 'á¾ '=>'o', 'ᾡ'=>'o', 'á¾¢'=>'o', - 'á¾£'=>'o', 'ᾤ'=>'o', 'á¾¥'=>'o', 'ᾦ'=>'o', 'ᾧ'=>'o', 'á½¼'=>'o', - 'ῲ'=>'o', 'ῳ'=>'o', 'á¿´'=>'o', 'ῶ'=>'o', 'á¿·'=>'o', 'Ð'=>'A', - 'Б'=>'B', 'Ð’'=>'V', 'Г'=>'G', 'Д'=>'D', 'Е'=>'E', 'Ð'=>'E', - 'Ж'=>'Z', 'З'=>'Z', 'И'=>'I', 'Й'=>'I', 'К'=>'K', 'Л'=>'L', - 'Ðœ'=>'M', 'Ð'=>'N', 'О'=>'O', 'П'=>'P', 'Р'=>'R', 'С'=>'S', - 'Т'=>'T', 'У'=>'U', 'Ф'=>'F', 'Ð¥'=>'K', 'Ц'=>'T', 'Ч'=>'C', - 'Ш'=>'S', 'Щ'=>'S', 'Ы'=>'Y', 'Э'=>'E', 'Ю'=>'Y', 'Я'=>'Y', - 'а'=>'A', 'б'=>'B', 'в'=>'V', 'г'=>'G', 'д'=>'D', 'е'=>'E', - 'Ñ‘'=>'E', 'ж'=>'Z', 'з'=>'Z', 'и'=>'I', 'й'=>'I', 'к'=>'K', - 'л'=>'L', 'м'=>'M', 'н'=>'N', 'о'=>'O', 'п'=>'P', 'Ñ€'=>'R', - 'Ñ'=>'S', 'Ñ‚'=>'T', 'у'=>'U', 'Ñ„'=>'F', 'Ñ…'=>'K', 'ц'=>'T', - 'ч'=>'C', 'ш'=>'S', 'щ'=>'S', 'Ñ‹'=>'Y', 'Ñ'=>'E', 'ÑŽ'=>'Y', - 'Ñ'=>'Y', 'ð'=>'d', 'Ã'=>'D', 'þ'=>'t', 'Þ'=>'T', 'áƒ'=>'a', - 'ბ'=>'b', 'გ'=>'g', 'დ'=>'d', 'ე'=>'e', 'ვ'=>'v', 'ზ'=>'z', - 'თ'=>'t', 'ი'=>'i', 'კ'=>'k', 'ლ'=>'l', 'მ'=>'m', 'ნ'=>'n', - 'áƒ'=>'o', 'პ'=>'p', 'ჟ'=>'z', 'რ'=>'r', 'ს'=>'s', 'ტ'=>'t', - 'უ'=>'u', 'ფ'=>'p', 'ქ'=>'k', 'ღ'=>'g', 'ყ'=>'q', 'შ'=>'s', - 'ჩ'=>'c', 'ც'=>'t', 'ძ'=>'d', 'წ'=>'t', 'ჭ'=>'c', 'ხ'=>'k', - 'ჯ'=>'j', 'ჰ'=>'h', 'Å£'=>'t', 'ʼ'=>"'", '̧'=>'', 'ḩ'=>'h', - '‘'=>"'", '’'=>"'", 'ừ'=>'u', '/'=>'', 'ế'=>'e', 'ả'=>'a', - 'ị'=>'i', 'ậ'=>'a', 'ệ'=>'e', 'ỉ'=>'i', 'ồ'=>'o', 'á»'=>'e', - 'Æ¡'=>'o', 'ạ'=>'a', 'ẵ'=>'a', 'Æ°'=>'u', 'ằ'=>'a', 'ầ'=>'a', - 'ḑ'=>'d', 'Ḩ'=>'H', 'á¸'=>'D', 'È™'=>'s', 'È›'=>'t', 'á»™'=>'o', - 'ắ'=>'a', 'ÅŸ'=>'s', "'"=>'', 'Õ¸Ö‚'=>'u', 'Õ¡'=>'a', 'Õ¢'=>'b', - 'Õ£'=>'g', 'Õ¤'=>'d', 'Õ¥'=>'e', 'Õ¦'=>'z', 'Õ§'=>'e', 'Õ¨'=>'y', - 'Õ©'=>'t', 'Õª'=>'zh', 'Õ«'=>'i', 'Õ¬'=>'l', 'Õ­'=>'kh', 'Õ®'=>'ts', - 'Õ¯'=>'k', 'Õ°'=>'h', 'Õ±'=>'dz', 'Õ²'=>'gh', 'Õ³'=>'ch', 'Õ´'=>'m', - 'Õµ'=>'y', 'Õ¶'=>'n', 'Õ·'=>'sh', 'Õ¸'=>'o', 'Õ¹'=>'ch', 'Õº'=>'p', - 'Õ»'=>'j', 'Õ¼'=>'r', 'Õ½'=>'s', 'Õ¾'=>'v', 'Õ¿'=>'t', 'Ö€'=>'r', - 'Ö'=>'ts', 'Öƒ'=>'p', 'Ö„'=>'q', 'Ö‡'=>'ev', 'Ö…'=>'o', 'Ö†'=>'f', - ); - $arrayFrom = array_keys($transliterationTable); - $arrayTo = array_values($transliterationTable); - } - - return str_replace($arrayFrom, $arrayTo, $string); - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/Lorem.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/Lorem.php deleted file mode 100644 index b8c6dac..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/Lorem.php +++ /dev/null @@ -1,203 +0,0 @@ - array( - "4539###########", - "4556###########", - "4916###########", - "4532###########", - "4929###########", - "40240071#######", - "4485###########", - "4716###########", - "4##############" - ), - 'Visa Retired' => array( - "4539########", - "4556########", - "4916########", - "4532########", - "4929########", - "40240071####", - "4485########", - "4716########", - "4###########", - ), - 'MasterCard' => array( - "2221###########", - "23#############", - "24#############", - "25#############", - "26#############", - "2720###########", - "51#############", - "52#############", - "53#############", - "54#############", - "55#############" - ), - 'American Express' => array( - "34############", - "37############" - ), - 'Discover Card' => array( - "6011###########" - ), - ); - - /** - * @var array list of IBAN formats, source: @link https://www.swift.com/standards/data-standards/iban - */ - protected static $ibanFormats = array( - 'AD' => array(array('n', 4), array('n', 4), array('c', 12)), - 'AE' => array(array('n', 3), array('n', 16)), - 'AL' => array(array('n', 8), array('c', 16)), - 'AT' => array(array('n', 5), array('n', 11)), - 'AZ' => array(array('a', 4), array('c', 20)), - 'BA' => array(array('n', 3), array('n', 3), array('n', 8), array('n', 2)), - 'BE' => array(array('n', 3), array('n', 7), array('n', 2)), - 'BG' => array(array('a', 4), array('n', 4), array('n', 2), array('c', 8)), - 'BH' => array(array('a', 4), array('c', 14)), - 'BR' => array(array('n', 8), array('n', 5), array('n', 10), array('a', 1), array('c', 1)), - 'CH' => array(array('n', 5), array('c', 12)), - 'CR' => array(array('n', 3), array('n', 14)), - 'CY' => array(array('n', 3), array('n', 5), array('c', 16)), - 'CZ' => array(array('n', 4), array('n', 6), array('n', 10)), - 'DE' => array(array('n', 8), array('n', 10)), - 'DK' => array(array('n', 4), array('n', 9), array('n', 1)), - 'DO' => array(array('c', 4), array('n', 20)), - 'EE' => array(array('n', 2), array('n', 2), array('n', 11), array('n', 1)), - 'ES' => array(array('n', 4), array('n', 4), array('n', 1), array('n', 1), array('n', 10)), - 'FI' => array(array('n', 6), array('n', 7), array('n', 1)), - 'FR' => array(array('n', 5), array('n', 5), array('c', 11), array('n', 2)), - 'GB' => array(array('a', 4), array('n', 6), array('n', 8)), - 'GE' => array(array('a', 2), array('n', 16)), - 'GI' => array(array('a', 4), array('c', 15)), - 'GR' => array(array('n', 3), array('n', 4), array('c', 16)), - 'GT' => array(array('c', 4), array('c', 20)), - 'HR' => array(array('n', 7), array('n', 10)), - 'HU' => array(array('n', 3), array('n', 4), array('n', 1), array('n', 15), array('n', 1)), - 'IE' => array(array('a', 4), array('n', 6), array('n', 8)), - 'IL' => array(array('n', 3), array('n', 3), array('n', 13)), - 'IS' => array(array('n', 4), array('n', 2), array('n', 6), array('n', 10)), - 'IT' => array(array('a', 1), array('n', 5), array('n', 5), array('c', 12)), - 'KW' => array(array('a', 4), array('n', 22)), - 'KZ' => array(array('n', 3), array('c', 13)), - 'LB' => array(array('n', 4), array('c', 20)), - 'LI' => array(array('n', 5), array('c', 12)), - 'LT' => array(array('n', 5), array('n', 11)), - 'LU' => array(array('n', 3), array('c', 13)), - 'LV' => array(array('a', 4), array('c', 13)), - 'MC' => array(array('n', 5), array('n', 5), array('c', 11), array('n', 2)), - 'MD' => array(array('c', 2), array('c', 18)), - 'ME' => array(array('n', 3), array('n', 13), array('n', 2)), - 'MK' => array(array('n', 3), array('c', 10), array('n', 2)), - 'MR' => array(array('n', 5), array('n', 5), array('n', 11), array('n', 2)), - 'MT' => array(array('a', 4), array('n', 5), array('c', 18)), - 'MU' => array(array('a', 4), array('n', 2), array('n', 2), array('n', 12), array('n', 3), array('a', 3)), - 'NL' => array(array('a', 4), array('n', 10)), - 'NO' => array(array('n', 4), array('n', 6), array('n', 1)), - 'PK' => array(array('a', 4), array('c', 16)), - 'PL' => array(array('n', 8), array('n', 16)), - 'PS' => array(array('a', 4), array('c', 21)), - 'PT' => array(array('n', 4), array('n', 4), array('n', 11), array('n', 2)), - 'RO' => array(array('a', 4), array('c', 16)), - 'RS' => array(array('n', 3), array('n', 13), array('n', 2)), - 'SA' => array(array('n', 2), array('c', 18)), - 'SE' => array(array('n', 3), array('n', 16), array('n', 1)), - 'SI' => array(array('n', 5), array('n', 8), array('n', 2)), - 'SK' => array(array('n', 4), array('n', 6), array('n', 10)), - 'SM' => array(array('a', 1), array('n', 5), array('n', 5), array('c', 12)), - 'TN' => array(array('n', 2), array('n', 3), array('n', 13), array('n', 2)), - 'TR' => array(array('n', 5), array('n', 1), array('c', 16)), - 'VG' => array(array('a', 4), array('n', 16)), - ); - - /** - * @return string Returns a credit card vendor name - * - * @example 'MasterCard' - */ - public static function creditCardType() - { - return static::randomElement(static::$cardVendors); - } - - /** - * Returns the String of a credit card number. - * - * @param string $type Supporting any of 'Visa', 'MasterCard', 'American Express', and 'Discover' - * @param boolean $formatted Set to true if the output string should contain one separator every 4 digits - * @param string $separator Separator string for formatting card number. Defaults to dash (-). - * @return string - * - * @example '4485480221084675' - */ - public static function creditCardNumber($type = null, $formatted = false, $separator = '-') - { - if (is_null($type)) { - $type = static::creditCardType(); - } - $mask = static::randomElement(static::$cardParams[$type]); - - $number = static::numerify($mask); - $number .= Luhn::computeCheckDigit($number); - - if ($formatted) { - $p1 = substr($number, 0, 4); - $p2 = substr($number, 4, 4); - $p3 = substr($number, 8, 4); - $p4 = substr($number, 12); - $number = $p1 . $separator . $p2 . $separator . $p3 . $separator . $p4; - } - - return $number; - } - - /** - * @param boolean $valid True (by default) to get a valid expiration date, false to get a maybe valid date - * @return \DateTime - * @example 04/13 - */ - public function creditCardExpirationDate($valid = true) - { - if ($valid) { - return $this->generator->dateTimeBetween('now', '36 months'); - } - - return $this->generator->dateTimeBetween('-36 months', '36 months'); - } - - /** - * @param boolean $valid True (by default) to get a valid expiration date, false to get a maybe valid date - * @param string $expirationDateFormat - * @return string - * @example '04/13' - */ - public function creditCardExpirationDateString($valid = true, $expirationDateFormat = null) - { - return $this->creditCardExpirationDate($valid)->format(is_null($expirationDateFormat) ? static::$expirationDateFormat : $expirationDateFormat); - } - - /** - * @param boolean $valid True (by default) to get a valid expiration date, false to get a maybe valid date - * @return array - */ - public function creditCardDetails($valid = true) - { - $type = static::creditCardType(); - - return array( - 'type' => $type, - 'number' => static::creditCardNumber($type), - 'name' => $this->generator->name(), - 'expirationDate' => $this->creditCardExpirationDateString($valid) - ); - } - - /** - * International Bank Account Number (IBAN) - * - * @link http://en.wikipedia.org/wiki/International_Bank_Account_Number - * @param string $countryCode ISO 3166-1 alpha-2 country code - * @param string $prefix for generating bank account number of a specific bank - * @param integer $length total length without country code and 2 check digits - * @return string - */ - public static function iban($countryCode = null, $prefix = '', $length = null) - { - $countryCode = is_null($countryCode) ? self::randomKey(self::$ibanFormats) : strtoupper($countryCode); - - $format = !isset(static::$ibanFormats[$countryCode]) ? null : static::$ibanFormats[$countryCode]; - if ($length === null) { - if ($format === null) { - $length = 24; - } else { - $length = 0; - foreach ($format as $part) { - list($class, $groupCount) = $part; - $length += $groupCount; - } - } - } - if ($format === null) { - $format = array(array('n', $length)); - } - - $expandedFormat = ''; - foreach ($format as $item) { - list($class, $length) = $item; - $expandedFormat .= str_repeat($class, $length); - } - - $result = $prefix; - $expandedFormat = substr($expandedFormat, strlen($result)); - foreach (str_split($expandedFormat) as $class) { - switch ($class) { - default: - case 'c': - $result .= mt_rand(0, 100) <= 50 ? static::randomDigit() : strtoupper(static::randomLetter()); - break; - case 'a': - $result .= strtoupper(static::randomLetter()); - break; - case 'n': - $result .= static::randomDigit(); - break; - } - } - - $checksum = Iban::checksum($countryCode . '00' . $result); - - return $countryCode . $checksum . $result; - } - - /** - * Return the String of a SWIFT/BIC number - * - * @example 'RZTIAT22263' - * @link http://en.wikipedia.org/wiki/ISO_9362 - * @return string Swift/Bic number - */ - public static function swiftBicNumber() - { - return self::regexify("^([A-Z]){4}([A-Z]){2}([0-9A-Z]){2}([0-9A-Z]{3})?$"); - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/Person.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/Person.php deleted file mode 100644 index 9d875b6..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/Person.php +++ /dev/null @@ -1,126 +0,0 @@ -generator->parse($format); - } - - /** - * @param string|null $gender 'male', 'female' or null for any - * @return string - * @example 'John' - */ - public function firstName($gender = null) - { - if ($gender === static::GENDER_MALE) { - return static::firstNameMale(); - } elseif ($gender === static::GENDER_FEMALE) { - return static::firstNameFemale(); - } - - return $this->generator->parse(static::randomElement(static::$firstNameFormat)); - } - - public static function firstNameMale() - { - return static::randomElement(static::$firstNameMale); - } - - public static function firstNameFemale() - { - return static::randomElement(static::$firstNameFemale); - } - - /** - * @example 'Doe' - * @return string - */ - public function lastName() - { - return static::randomElement(static::$lastName); - } - - /** - * @example 'Mrs.' - * @param string|null $gender 'male', 'female' or null for any - * @return string - */ - public function title($gender = null) - { - if ($gender === static::GENDER_MALE) { - return static::titleMale(); - } elseif ($gender === static::GENDER_FEMALE) { - return static::titleFemale(); - } - - return $this->generator->parse(static::randomElement(static::$titleFormat)); - } - - /** - * @example 'Mr.' - */ - public static function titleMale() - { - return static::randomElement(static::$titleMale); - } - - /** - * @example 'Mrs.' - */ - public static function titleFemale() - { - return static::randomElement(static::$titleFemale); - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/PhoneNumber.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/PhoneNumber.php deleted file mode 100644 index d9d1f6b..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/PhoneNumber.php +++ /dev/null @@ -1,43 +0,0 @@ -generator->parse(static::randomElement(static::$formats))); - } - - /** - * @example +27113456789 - * @return string - */ - public function e164PhoneNumber() - { - $formats = array('+%############'); - return static::numerify($this->generator->parse(static::randomElement($formats))); - } - - /** - * International Mobile Equipment Identity (IMEI) - * - * @link http://en.wikipedia.org/wiki/International_Mobile_Station_Equipment_Identity - * @link http://imei-number.com/imei-validation-check/ - * @example '720084494799532' - * @return int $imei - */ - public function imei() - { - $imei = (string) static::numerify('##############'); - $imei .= Luhn::computeCheckDigit($imei); - return $imei; - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/Text.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/Text.php deleted file mode 100644 index 80aa02f..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/Text.php +++ /dev/null @@ -1,141 +0,0 @@ - 5) { - throw new \InvalidArgumentException('indexSize must be at most 5'); - } - - $words = $this->getConsecutiveWords($indexSize); - $result = array(); - $resultLength = 0; - // take a random starting point - $next = static::randomKey($words); - while ($resultLength < $maxNbChars && isset($words[$next])) { - // fetch a random word to append - $word = static::randomElement($words[$next]); - - // calculate next index - $currentWords = static::explode($next); - $currentWords[] = $word; - array_shift($currentWords); - $next = static::implode($currentWords); - - // ensure text starts with an uppercase letter - if ($resultLength == 0 && !static::validStart($word)) { - continue; - } - - // append the element - $result[] = $word; - $resultLength += static::strlen($word) + static::$separatorLen; - } - - // remove the element that caused the text to overflow - array_pop($result); - - // build result - $result = static::implode($result); - - return static::appendEnd($result); - } - - protected function getConsecutiveWords($indexSize) - { - if (!isset($this->consecutiveWords[$indexSize])) { - $parts = $this->getExplodedText(); - $words = array(); - $index = array(); - for ($i = 0; $i < $indexSize; $i++) { - $index[] = array_shift($parts); - } - - for ($i = 0, $count = count($parts); $i < $count; $i++) { - $stringIndex = static::implode($index); - if (!isset($words[$stringIndex])) { - $words[$stringIndex] = array(); - } - $word = $parts[$i]; - $words[$stringIndex][] = $word; - array_shift($index); - $index[] = $word; - } - // cache look up words for performance - $this->consecutiveWords[$indexSize] = $words; - } - - return $this->consecutiveWords[$indexSize]; - } - - protected function getExplodedText() - { - if ($this->explodedText === null) { - $this->explodedText = static::explode(preg_replace('/\s+/u', ' ', static::$baseText)); - } - - return $this->explodedText; - } - - protected static function explode($text) - { - return explode(static::$separator, $text); - } - - protected static function implode($words) - { - return implode(static::$separator, $words); - } - - protected static function strlen($text) - { - return function_exists('mb_strlen') ? mb_strlen($text, 'UTF-8') : strlen($text); - } - - protected static function validStart($word) - { - $isValid = true; - if (static::$textStartsWithUppercase) { - $isValid = preg_match('/^\p{Lu}/u', $word); - } - return $isValid; - } - - protected static function appendEnd($text) - { - return preg_replace("/([ ,-:;\x{2013}\x{2014}]+$)/us", '', $text).'.'; - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/UserAgent.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/UserAgent.php deleted file mode 100644 index d659f4b..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/UserAgent.php +++ /dev/null @@ -1,165 +0,0 @@ -> 8) | (($tLo & 0xff000000) >> 24); - $tMi = (($tMi & 0x00ff) << 8) | (($tMi & 0xff00) >> 8); - $tHi = (($tHi & 0x00ff) << 8) | (($tHi & 0xff00) >> 8); - } - - // apply version number - $tHi &= 0x0fff; - $tHi |= (3 << 12); - - // cast to string - $uuid = sprintf( - '%08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x', - $tLo, - $tMi, - $tHi, - $csHi, - $csLo, - $byte[10], - $byte[11], - $byte[12], - $byte[13], - $byte[14], - $byte[15] - ); - - return $uuid; - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/ar_JO/Address.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/ar_JO/Address.php deleted file mode 100644 index 6f4f258..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/ar_JO/Address.php +++ /dev/null @@ -1,152 +0,0 @@ -generator->parse($format)); - } - - /** - * @example 'wewebit.jo' - */ - public function domainName() - { - return static::randomElement(static::$lastNameAscii) . '.' . $this->tld(); - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/ar_JO/Person.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/ar_JO/Person.php deleted file mode 100644 index 7fcadb3..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/ar_JO/Person.php +++ /dev/null @@ -1,108 +0,0 @@ -generator->parse($format)); - } - - /** - * @example 'wewebit.jo' - */ - public function domainName() - { - return static::randomElement(static::$lastNameAscii) . '.' . $this->tld(); - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/ar_SA/Payment.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/ar_SA/Payment.php deleted file mode 100644 index d69b5d6..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/ar_SA/Payment.php +++ /dev/null @@ -1,19 +0,0 @@ -generator->parse(static::randomElement(static::$lastNameFormat)); - } - - public static function lastNameMale() - { - return static::randomElement(static::$lastNameMale); - } - - public static function lastNameFemale() - { - return static::randomElement(static::$lastNameFemale); - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/bg_BG/PhoneNumber.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/bg_BG/PhoneNumber.php deleted file mode 100644 index e5ec042..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/bg_BG/PhoneNumber.php +++ /dev/null @@ -1,20 +0,0 @@ -generator->parse($format)); - } - - /** - * Generates valid czech IÄŒO - * - * @see http://phpfashion.com/jak-overit-platne-ic-a-rodne-cislo - * @return string - */ - public function ico() - { - $ico = static::numerify('#######'); - $split = str_split($ico); - $prod = 0; - foreach (array(8, 7, 6, 5, 4, 3, 2) as $i => $p) { - $prod += $p * $split[$i]; - } - $mod = $prod % 11; - if ($mod === 0 || $mod === 10) { - return "{$ico}1"; - } elseif ($mod === 1) { - return "{$ico}0"; - } - - return $ico . (11 - $mod); - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/cs_CZ/DateTime.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/cs_CZ/DateTime.php deleted file mode 100644 index 4bd1508..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/cs_CZ/DateTime.php +++ /dev/null @@ -1,61 +0,0 @@ -format('w')]; - } - - /** - * @param \DateTime|int|string $max maximum timestamp used as random end limit, default to "now" - * @return string - * @example '2' - */ - public static function dayOfMonth($max = 'now') - { - return static::dateTime($max)->format('j'); - } - - /** - * Full date with inflected month - * @return string - * @example '16. listopadu 2003' - */ - public function formattedDate() - { - $format = static::randomElement(static::$formattedDateFormat); - - return $this->generator->parse($format); - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/cs_CZ/Internet.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/cs_CZ/Internet.php deleted file mode 100644 index d0d993d..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/cs_CZ/Internet.php +++ /dev/null @@ -1,9 +0,0 @@ -generator->boolean() ? static::GENDER_MALE : static::GENDER_FEMALE; - } - - $startTimestamp = strtotime("-${maxAge} year"); - $endTimestamp = strtotime("-${minAge} year"); - $randTimestamp = static::numberBetween($startTimestamp, $endTimestamp); - - $year = intval(date('Y', $randTimestamp)); - $month = intval(date('n', $randTimestamp)); - $day = intval(date('j', $randTimestamp)); - $suffix = static::numberBetween(0, 999); - - // women has +50 to month - if ($gender == static::GENDER_FEMALE) { - $month += 50; - } - // from year 2004 everyone has +20 to month when birth numbers in one day are exhausted - if ($year >= 2004 && $this->generator->boolean(10)) { - $month += 20; - } - - $birthNumber = sprintf('%02d%02d%02d%03d', $year % 100, $month, $day, $suffix); - - // from year 1954 birth number includes CRC - if ($year >= 1954) { - $crc = intval($birthNumber, 10) % 11; - if ($crc == 10) { - $crc = 0; - } - $birthNumber .= sprintf('%d', $crc); - } - - // add slash - if ($this->generator->boolean($slashProbability)) { - $birthNumber = substr($birthNumber, 0, 6) . '/' . substr($birthNumber, 6); - } - - return $birthNumber; - } - - public static function birthNumberMale() - { - return static::birthNumber(static::GENDER_MALE); - } - - public static function birthNumberFemale() - { - return static::birthNumber(static::GENDER_FEMALE); - } - - public function title($gender = null) - { - return static::titleMale(); - } - - /** - * replaced by specific unisex Czech title - */ - public static function titleMale() - { - return static::randomElement(static::$title); - } - - /** - * replaced by specific unisex Czech title - */ - public static function titleFemale() - { - return static::titleMale(); - } - - /** - * @param string|null $gender 'male', 'female' or null for any - * @example 'Albrecht' - */ - public function lastName($gender = null) - { - if ($gender === static::GENDER_MALE) { - return static::lastNameMale(); - } elseif ($gender === static::GENDER_FEMALE) { - return static::lastNameFemale(); - } - - return $this->generator->parse(static::randomElement(static::$lastNameFormat)); - } - - public static function lastNameMale() - { - return static::randomElement(static::$lastNameMale); - } - - public static function lastNameFemale() - { - return static::randomElement(static::$lastNameFemale); - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/cs_CZ/PhoneNumber.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/cs_CZ/PhoneNumber.php deleted file mode 100644 index 49ab429..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/cs_CZ/PhoneNumber.php +++ /dev/null @@ -1,14 +0,0 @@ - - */ -class Address extends \Faker\Provider\Address -{ - /** - * @var array Danish city suffixes. - */ - protected static $citySuffix = array( - 'sted', 'bjerg', 'borg', 'rød', 'lund', 'by', - ); - - /** - * @var array Danish street suffixes. - */ - protected static $streetSuffix = array( - 'vej', 'gade', 'skov', 'shaven', - ); - - /** - * @var array Danish street word suffixes. - */ - protected static $streetSuffixWord = array( - 'Vej', 'Gade', 'Allé', 'Boulevard', 'Plads', 'Have', - ); - - /** - * @var array Danish building numbers. - */ - protected static $buildingNumber = array( - '%##', '%#', '%#', '%', '%', '%', '%?', '% ?', - ); - - /** - * @var array Danish building level. - */ - protected static $buildingLevel = array( - 'st.', '%.', '%. sal.', - ); - - /** - * @var array Danish building sides. - */ - protected static $buildingSide = array( - 'tv.', 'th.', - ); - - /** - * @var array Danish zip code. - */ - protected static $postcode = array( - '%###' - ); - - /** - * @var array Danish cities. - */ - protected static $cityNames = array( - 'Aabenraa', 'Aabybro', 'Aakirkeby', 'Aalborg', 'Aalestrup', 'Aars', 'Aarup', 'Agedrup', 'Agerbæk', 'Agerskov', - 'Albertslund', 'Allerød', 'Allinge', 'AllingÃ¥bro', 'Almind', 'Anholt', 'Ansager', 'Arden', 'Asaa', 'Askeby', - 'Asnæs', 'Asperup', 'Assens', 'Augustenborg', 'Aulum', 'Auning', 'Bagenkop', 'Bagsværd', 'Balle', 'Ballerup', - 'Bandholm', 'Barrit', 'Beder', 'Bedsted', 'Bevtoft', 'Billum', 'Billund', 'Bindslev', 'Birkerød', 'Bjerringbro', - 'Bjert', 'Bjæverskov', 'Blokhus', 'Blommenslyst', 'BlÃ¥vand', 'Boeslunde', 'Bogense', 'Bogø', 'Bolderslev', 'Bording', - 'Borre', 'Borup', 'Brøndby', 'Brabrand', 'Bramming', 'Brande', 'Branderup', 'Bredebro', 'Bredsten', 'Brenderup', - 'Broager', 'Broby', 'Brovst', 'Bryrup', 'Brædstrup', 'Strand', 'Brønderslev', 'Brønshøj', 'Brørup', 'Bække', - 'Bækmarksbro', 'Bælum', 'Børkop', 'Bøvlingbjerg', 'Charlottenlund', 'Christiansfeld', 'Dalby', 'Dalmose', - 'Dannemare', 'DaugÃ¥rd', 'Dianalund', 'Dragør', 'Dronninglund', 'Dronningmølle', 'Dybvad', 'DyssegÃ¥rd', 'Ebberup', - 'Ebeltoft', 'Egernsund', 'Egtved', 'EgÃ¥', 'Ejby', 'Ejstrupholm', 'Engesvang', 'Errindlev', 'Erslev', 'Esbjerg', - 'Eskebjerg', 'Eskilstrup', 'Espergærde', 'Faaborg', 'Fanø', 'Farsø', 'Farum', 'Faxe', 'Ladeplads', 'Fejø', - 'Ferritslev', 'Fjenneslev', 'Fjerritslev', 'Flemming', 'Fredensborg', 'Fredericia', 'Frederiksberg', - 'Frederikshavn', 'Frederikssund', 'Frederiksværk', 'Frørup', 'Frøstrup', 'Fuglebjerg', 'Føllenslev', 'Føvling', - 'FÃ¥revejle', 'FÃ¥rup', 'FÃ¥rvang', 'Gadbjerg', 'Gadstrup', 'Galten', 'Gandrup', 'Gedser', 'Gedsted', 'Gedved', 'Gelsted', - 'Gentofte', 'Gesten', 'Gilleleje', 'Gislev', 'Gislinge', 'Gistrup', 'Give', 'Gjerlev', 'Gjern', 'Glamsbjerg', - 'Glejbjerg', 'Glesborg', 'Glostrup', 'Glumsø', 'Gram', 'Gredstedbro', 'Grenaa', 'Greve', 'Grevinge', 'Grindsted', - 'Græsted', 'GrÃ¥sten', 'Gudbjerg', 'Sydfyn', 'Gudhjem', 'Gudme', 'Guldborg', 'Gørding', 'Gørlev', 'Gørløse', - 'Haderslev', 'Haderup', 'Hadsten', 'Hadsund', 'Hals', 'Hammel', 'Hampen', 'Hanstholm', 'Harboøre', 'Harlev', 'Harndrup', - 'Harpelunde', 'Hasle', 'Haslev', 'Hasselager', 'Havdrup', 'Havndal', 'Hedehusene', 'Hedensted', 'Hejls', 'Hejnsvig', - 'Hellebæk', 'Hellerup', 'Helsinge', 'Helsingør', 'Hemmet', 'Henne', 'Herfølge', 'Herlev', 'Herlufmagle', 'Herning', - 'Hesselager', 'Hillerød', 'Hinnerup', 'Hirtshals', 'Hjallerup', 'Hjerm', 'Hjortshøj', 'Hjørring', 'Hobro', 'Holbæk', - 'Holeby', 'Holmegaard', 'Holstebro', 'Holsted', 'Holte', 'Horbelev', 'Hornbæk', 'Hornslet', 'Hornsyld', 'Horsens', - 'Horslunde', 'Hovborg', 'HovedgÃ¥rd', 'Humble', 'Humlebæk', 'Hundested', 'Hundslund', 'Hurup', 'Hvalsø', 'Hvide', - 'Sande', 'Hvidovre', 'Højbjerg', 'Højby', 'Højer', 'Højslev', 'Høng', 'Hørning', 'Hørsholm', 'Hørve', 'HÃ¥rlev', - 'Idestrup', 'Ikast', 'Ishøj', 'Janderup', 'Vestj', 'Jelling', 'Jerslev', 'Sjælland', 'Jerup', 'Jordrup', 'Juelsminde', - 'Jyderup', 'Jyllinge', 'Jystrup', 'Midtsj', 'Jægerspris', 'Kalundborg', 'Kalvehave', 'Karby', 'Karise', 'Karlslunde', - 'Karrebæksminde', 'Karup', 'Kastrup', 'Kerteminde', 'Kettinge', 'Kibæk', 'Kirke', 'Hyllinge', 'SÃ¥by', 'Kjellerup', - 'Klampenborg', 'Klarup', 'Klemensker', 'Klippinge', 'Klovborg', 'Knebel', 'Kokkedal', 'Kolding', 'Kolind', 'Kongens', - 'Lyngby', 'Kongerslev', 'Korsør', 'KrusÃ¥', 'KvistgÃ¥rd', 'Kværndrup', 'København', 'Køge', 'Langebæk', 'Langeskov', - 'LangÃ¥', 'Lejre', 'Lemming', 'Lemvig', 'Lille', 'Skensved', 'Lintrup', 'Liseleje', 'Lundby', 'Lunderskov', 'Lynge', - 'Lystrup', 'Læsø', 'Løgstrup', 'Løgstør', 'Løgumkloster', 'Løkken', 'Løsning', 'LÃ¥sby', 'Malling', 'Mariager', - 'Maribo', 'Marslev', 'Marstal', 'Martofte', 'Melby', 'Mern', 'Mesinge', 'Middelfart', 'Millinge', 'Morud', 'Munke', - 'Bjergby', 'Munkebo', 'Møldrup', 'Mørke', 'Mørkøv', 'MÃ¥løv', 'MÃ¥rslet', 'Nakskov', 'Nexø', 'Nibe', 'Nimtofte', - 'Nordborg', 'Nyborg', 'Nykøbing', 'Nyrup', 'Nysted', 'Nærum', 'Næstved', 'Nørager', 'Nørre', 'Aaby', 'Alslev', - 'Asmindrup', 'Nebel', 'Snede', 'Nørreballe', 'Nørresundby', 'Odder', 'Odense', 'Oksbøl', 'Otterup', 'Oure', 'Outrup', - 'Padborg', 'Pandrup', 'Præstø', 'Randbøl', 'Randers', 'Ranum', 'Rask', 'Mølle', 'Redsted', 'Regstrup', 'Ribe', 'Ringe', - 'Ringkøbing', 'Ringsted', 'Risskov', 'Roskilde', 'Roslev', 'Rude', 'Rudkøbing', 'Ruds', 'Vedby', 'Rungsted', 'Kyst', - 'Rynkeby', 'RyomgÃ¥rd', 'Ryslinge', 'Rødby', 'Rødding', 'Rødekro', 'Rødkærsbro', 'Rødovre', 'Rødvig', 'Stevns', - 'Rønde', 'Rønne', 'Rønnede', 'Rørvig', 'Sabro', 'Sakskøbing', 'Saltum', 'Samsø', 'Sandved', 'Sejerø', 'Silkeborg', - 'Sindal', 'Sjællands', 'Odde', 'Sjølund', 'Skagen', 'Skals', 'Skamby', 'Skanderborg', 'Skibby', 'Skive', 'Skjern', - 'Skodsborg', 'Skovlunde', 'Skælskør', 'Skærbæk', 'Skævinge', 'Skødstrup', 'Skørping', 'SkÃ¥rup', 'Slagelse', - 'Slangerup', 'Smørum', 'Snedsted', 'Snekkersten', 'Snertinge', 'Solbjerg', 'Solrød', 'Sommersted', 'Sorring', 'Sorø', - 'Spentrup', 'Spjald', 'Sporup', 'Spøttrup', 'Stakroge', 'Stege', 'Stenderup', 'Stenlille', 'Stenløse', 'Stenstrup', - 'Stensved', 'Stoholm', 'Jyll', 'Stokkemarke', 'Store', 'Fuglede', 'Heddinge', 'Merløse', 'Storvorde', 'Stouby', - 'Strandby', 'Struer', 'Strøby', 'Stubbekøbing', 'Støvring', 'Suldrup', 'Sulsted', 'Sunds', 'Svaneke', 'Svebølle', - 'Svendborg', 'Svenstrup', 'Svinninge', 'Sydals', 'Sæby', 'Søborg', 'Søby', 'Ærø', 'Søllested', 'Sønder', 'Felding', - 'Sønderborg', 'Søndersø', 'Sørvad', 'Taastrup', 'Tappernøje', 'Tarm', 'Terndrup', 'Them', 'Thisted', 'Thorsø', - 'Thyborøn', 'Thyholm', 'Tikøb', 'Tilst', 'Tinglev', 'Tistrup', 'Tisvildeleje', 'Tjele', 'Tjæreborg', 'Toftlund', - 'Tommerup', 'Toreby', 'Torrig', 'Tranbjerg', 'Tranekær', 'Trige', 'Trustrup', 'Tune', 'Tureby', 'Tylstrup', 'Tølløse', - 'Tønder', 'Tørring', 'TÃ¥rs', 'Ugerløse', 'Uldum', 'Ulfborg', 'Ullerslev', 'Ulstrup', 'Vadum', 'Valby', 'Vallensbæk', - 'Vamdrup', 'Vandel', 'Vanløse', 'Varde', 'Vedbæk', 'Veflinge', 'Vejby', 'Vejen', 'Vejers', 'Vejle', 'Vejstrup', - 'Veksø', 'Vemb', 'Vemmelev', 'Vesløs', 'Vestbjerg', 'Vester', 'Skerninge', 'Vesterborg', 'Vestervig', 'Viborg', 'Viby', - 'Videbæk', 'Vildbjerg', 'Vils', 'Vinderup', 'Vipperød', 'Virum', 'Vissenbjerg', 'Viuf', 'Vodskov', 'Vojens', 'Vonge', - 'Vorbasse', 'Vordingborg', 'Væggerløse', 'Værløse', 'Ærøskøbing', 'Ølgod', 'Ølsted', 'Ølstykke', 'Ørbæk', - 'Ørnhøj', 'Ørsted', 'Djurs', 'Østbirk', 'Øster', 'Assels', 'Ulslev', 'Østermarie', 'ØstervrÃ¥', 'Ã…byhøj', - 'Ã…lbæk', 'Ã…lsgÃ¥rde', 'Ã…rhus', 'Ã…rre', 'Ã…rslev', 'Haarby', 'NivÃ¥', 'Rømø', 'Omme', 'VrÃ¥', 'Ørum', - ); - - /** - * @var array Danish municipalities, called 'kommuner' in danish. - */ - protected static $kommuneNames = array( - 'København', 'Frederiksberg', 'Ballerup', 'Brøndby', 'Dragør', 'Gentofte', 'Gladsaxe', 'Glostrup', 'Herlev', - 'Albertslund', 'Hvidovre', 'Høje Taastrup', 'Lyngby-Taarbæk', 'Rødovre', 'Ishøj', 'TÃ¥rnby', 'Vallensbæk', - 'Allerød', 'Fredensborg', 'Helsingør', 'Hillerød', 'Hørsholm', 'Rudersdal', 'Egedal', 'Frederikssund', 'Greve', - 'Halsnæs', 'Roskilde', 'Solrød', 'Gribskov', 'Odsherred', 'Holbæk', 'Faxe', 'Kalundborg', 'Ringsted', 'Slagelse', - 'Stevns', 'Sorø', 'Lejre', 'Lolland', 'Næstved', 'Guldborgsund', 'Vordingborg', 'Bornholm', 'Middelfart', - 'Christiansø', 'Assens', 'Faaborg-Midtfyn', 'Kerteminde', 'Nyborg', 'Odense', 'Svendborg', 'Nordfyns', 'Langeland', - 'Ærø', 'Haderslev', 'Billund', 'Sønderborg', 'Tønder', 'Esbjerg', 'Fanø', 'Varde', 'Vejen', 'Aabenraa', - 'Fredericia', 'Horsens', 'Kolding', 'Vejle', 'Herning', 'Holstebro', 'Lemvig', 'Struer', 'Syddjurs', 'Furesø', - 'Norddjurs', 'Favrskov', 'Odder', 'Randers', 'Silkeborg', 'Samsø', 'Skanderborg', 'Aarhus', 'Ikast-Brande', - 'Ringkøbing-Skjern', 'Hedensted', 'Morsø', 'Skive', 'Thisted', 'Viborg', 'Brønderslev', 'Frederikshavn', - 'Vesthimmerlands', 'Læsø', 'Rebild', 'Mariagerfjord', 'Jammerbugt', 'Aalborg', 'Hjørring', 'Køge', - ); - - /** - * @var array Danish regions. - */ - protected static $regionNames = array( - 'Region Nordjylland', 'Region Midtjylland', 'Region Syddanmark', 'Region Hovedstaden', 'Region Sjælland', - ); - - /** - * @link https://github.com/umpirsky/country-list/blob/master/country/cldr/da_DK/country.php - * - * @var array Some countries in danish. - */ - protected static $country = array( - 'Andorra', 'Forenede Arabiske Emirater', 'Afghanistan', 'Antigua og Barbuda', 'Anguilla', 'Albanien', 'Armenien', - 'Hollandske Antiller', 'Angola', 'Antarktis', 'Argentina', 'Amerikansk Samoa', 'Østrig', 'Australien', 'Aruba', - 'Ã…land', 'Aserbajdsjan', 'Bosnien-Hercegovina', 'Barbados', 'Bangladesh', 'Belgien', 'Burkina Faso', 'Bulgarien', - 'Bahrain', 'Burundi', 'Benin', 'Saint Barthélemy', 'Bermuda', 'Brunei Darussalam', 'Bolivia', 'Brasilien', 'Bahamas', - 'Bhutan', 'Bouvetø', 'Botswana', 'Hviderusland', 'Belize', 'Canada', 'Cocosøerne', 'Congo-Kinshasa', - 'Centralafrikanske Republik', 'Congo', 'Schweiz', 'Elfenbenskysten', 'Cook-øerne', 'Chile', 'Cameroun', 'Kina', - 'Colombia', 'Costa Rica', 'Serbien og Montenegro', 'Cuba', 'Kap Verde', 'Juleøen', 'Cypern', 'Tjekkiet', 'Tyskland', - 'Djibouti', 'Danmark', 'Dominica', 'Den Dominikanske Republik', 'Algeriet', 'Ecuador', 'Estland', 'Egypten', - 'Vestsahara', 'Eritrea', 'Spanien', 'Etiopien', 'Finland', 'Fiji-øerne', 'Falklandsøerne', - 'Mikronesiens Forenede Stater', 'Færøerne', 'Frankrig', 'Gabon', 'Storbritannien', 'Grenada', 'Georgien', - 'Fransk Guyana', 'Guernsey', 'Ghana', 'Gibraltar', 'Grønland', 'Gambia', 'Guinea', 'Guadeloupe', 'Ækvatorialguinea', - 'Grækenland', 'South Georgia og De Sydlige Sandwichøer', 'Guatemala', 'Guam', 'Guinea-Bissau', 'Guyana', - 'SAR Hongkong', 'Heard- og McDonald-øerne', 'Honduras', 'Kroatien', 'Haiti', 'Ungarn', 'Indonesien', 'Irland', - 'Israel', 'Isle of Man', 'Indien', 'Det Britiske Territorium i Det Indiske Ocean', 'Irak', 'Iran', 'Island', - 'Italien', 'Jersey', 'Jamaica', 'Jordan', 'Japan', 'Kenya', 'Kirgisistan', 'Cambodja', 'Kiribati', 'Comorerne', - 'Saint Kitts og Nevis', 'Nordkorea', 'Sydkorea', 'Kuwait', 'Caymanøerne', 'Kasakhstan', 'Laos', 'Libanon', - 'Saint Lucia', 'Liechtenstein', 'Sri Lanka', 'Liberia', 'Lesotho', 'Litauen', 'Luxembourg', 'Letland', 'Libyen', - 'Marokko', 'Monaco', 'Republikken Moldova', 'Montenegro', 'Saint Martin', 'Madagaskar', 'Marshalløerne', - 'Republikken Makedonien', 'Mali', 'Myanmar', 'Mongoliet', 'SAR Macao', 'Nordmarianerne', 'Martinique', - 'Mauretanien', 'Montserrat', 'Malta', 'Mauritius', 'Maldiverne', 'Malawi', 'Mexico', 'Malaysia', 'Mozambique', - 'Namibia', 'Ny Caledonien', 'Niger', 'Norfolk Island', 'Nigeria', 'Nicaragua', 'Holland', 'Norge', 'Nepal', 'Nauru', - 'Niue', 'New Zealand', 'Oman', 'Panama', 'Peru', 'Fransk Polynesien', 'Papua Ny Guinea', 'Filippinerne', 'Pakistan', - 'Polen', 'Saint Pierre og Miquelon', 'Pitcairn', 'Puerto Rico', 'De palæstinensiske omrÃ¥der', 'Portugal', 'Palau', - 'Paraguay', 'Qatar', 'Reunion', 'Rumænien', 'Serbien', 'Rusland', 'Rwanda', 'Saudi-Arabien', 'Salomonøerne', - 'Seychellerne', 'Sudan', 'Sverige', 'Singapore', 'St. Helena', 'Slovenien', 'Svalbard og Jan Mayen', 'Slovakiet', - 'Sierra Leone', 'San Marino', 'Senegal', 'Somalia', 'Surinam', 'Sao Tome og Principe', 'El Salvador', 'Syrien', - 'Swaziland', 'Turks- og Caicosøerne', 'Tchad', 'Franske Besiddelser i Det Sydlige Indiske Ocean', 'Togo', - 'Thailand', 'Tadsjikistan', 'Tokelau', 'Timor-Leste', 'Turkmenistan', 'Tunesien', 'Tonga', 'Tyrkiet', - 'Trinidad og Tobago', 'Tuvalu', 'Taiwan', 'Tanzania', 'Ukraine', 'Uganda', 'De Mindre Amerikanske Oversøiske Øer', - 'USA', 'Uruguay', 'Usbekistan', 'Vatikanstaten', 'St. Vincent og Grenadinerne', 'Venezuela', - 'De britiske jomfruøer', 'De amerikanske jomfruøer', 'Vietnam', 'Vanuatu', 'Wallis og Futunaøerne', 'Samoa', - 'Yemen', 'Mayotte', 'Sydafrika', 'Zambia', 'Zimbabwe', - ); - - /** - * @var array Danish city format. - */ - protected static $cityFormats = array( - '{{cityName}}', - ); - - /** - * @var array Danish street's name formats. - */ - protected static $streetNameFormats = array( - '{{lastName}}{{streetSuffix}}', - '{{middleName}}{{streetSuffix}}', - '{{lastName}} {{streetSuffixWord}}', - '{{middleName}} {{streetSuffixWord}}', - ); - - /** - * @var array Danish street's address formats. - */ - protected static $streetAddressFormats = array( - '{{streetName}} {{buildingNumber}}', - '{{streetName}} {{buildingNumber}}, {{buildingLevel}}', - '{{streetName}} {{buildingNumber}}, {{buildingLevel}} {{buildingSide}}', - ); - - /** - * @var array Danish address format. - */ - protected static $addressFormats = array( - "{{streetAddress}}\n{{postcode}} {{city}}", - ); - - /** - * Randomly return a real city name. - * - * @return string - */ - public static function cityName() - { - return static::randomElement(static::$cityNames); - } - - /** - * Randomly return a suffix word. - * - * @return string - */ - public static function streetSuffixWord() - { - return static::randomElement(static::$streetSuffixWord); - } - - /** - * Randomly return a building number. - * - * @return string - */ - public static function buildingNumber() - { - return static::toUpper(static::bothify(static::randomElement(static::$buildingNumber))); - } - - /** - * Randomly return a building level. - * - * @return string - */ - public static function buildingLevel() - { - return static::numerify(static::randomElement(static::$buildingLevel)); - } - - /** - * Randomly return a side of the building. - * - * @return string - */ - public static function buildingSide() - { - return static::randomElement(static::$buildingSide); - } - - /** - * Randomly return a real municipality name, called 'kommune' in danish. - * - * @return string - */ - public static function kommune() - { - return static::randomElement(static::$kommuneNames); - } - - /** - * Randomly return a real region name. - * - * @return string - */ - public static function region() - { - return static::randomElement(static::$regionNames); - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/da_DK/Company.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/da_DK/Company.php deleted file mode 100644 index b9f289c..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/da_DK/Company.php +++ /dev/null @@ -1,70 +0,0 @@ - - */ -class Company extends \Faker\Provider\Company -{ - /** - * @var array Danish company name formats. - */ - protected static $formats = array( - '{{lastName}} {{companySuffix}}', - '{{lastName}} {{companySuffix}}', - '{{lastName}} {{companySuffix}}', - '{{firstname}} {{lastName}} {{companySuffix}}', - '{{middleName}} {{companySuffix}}', - '{{middleName}} {{companySuffix}}', - '{{middleName}} {{companySuffix}}', - '{{firstname}} {{middleName}} {{companySuffix}}', - '{{lastName}} & {{lastName}} {{companySuffix}}', - '{{lastName}} og {{lastName}} {{companySuffix}}', - '{{lastName}} & {{lastName}} {{companySuffix}}', - '{{lastName}} og {{lastName}} {{companySuffix}}', - '{{middleName}} & {{middleName}} {{companySuffix}}', - '{{middleName}} og {{middleName}} {{companySuffix}}', - '{{middleName}} & {{lastName}}', - '{{middleName}} og {{lastName}}', - ); - - /** - * @var array Company suffixes. - */ - protected static $companySuffix = array('ApS', 'A/S', 'I/S', 'K/S'); - - /** - * @link http://cvr.dk/Site/Forms/CMS/DisplayPage.aspx?pageid=60 - * - * @var string CVR number format. - */ - protected static $cvrFormat = '%#######'; - - /** - * @link http://cvr.dk/Site/Forms/CMS/DisplayPage.aspx?pageid=60 - * - * @var string P number (production number) format. - */ - protected static $pFormat = '%#########'; - - /** - * Generates a CVR number (8 digits). - * - * @return string - */ - public static function cvr() - { - return static::numerify(static::$cvrFormat); - } - - /** - * Generates a P entity number (10 digits). - * - * @return string - */ - public static function p() - { - return static::numerify(static::$pFormat); - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/da_DK/Internet.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/da_DK/Internet.php deleted file mode 100644 index 1f778de..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/da_DK/Internet.php +++ /dev/null @@ -1,30 +0,0 @@ - - */ -class Internet extends \Faker\Provider\Internet -{ - /** - * @var array Some safe email TLD. - */ - protected static $safeEmailTld = array( - 'org', 'com', 'net', 'dk', 'dk', 'dk', - ); - - /** - * @var array Some email domains in Denmark. - */ - protected static $freeEmailDomain = array( - 'gmail.com', 'yahoo.com', 'yahoo.dk', 'hotmail.com', 'hotmail.dk', 'mail.dk', 'live.dk' - ); - - /** - * @var array Some TLD. - */ - protected static $tld = array( - 'com', 'com', 'com', 'biz', 'info', 'net', 'org', 'dk', 'dk', 'dk', - ); -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/da_DK/Payment.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/da_DK/Payment.php deleted file mode 100644 index 6a5b6a8..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/da_DK/Payment.php +++ /dev/null @@ -1,19 +0,0 @@ - - */ -class Person extends \Faker\Provider\Person -{ - /** - * @var array Danish person name formats. - */ - protected static $maleNameFormats = array( - '{{firstNameMale}} {{lastName}}', - '{{firstNameMale}} {{lastName}}', - '{{firstNameMale}} {{lastName}}', - '{{firstNameMale}} {{middleName}} {{lastName}}', - '{{firstNameMale}} {{middleName}} {{lastName}}', - '{{firstNameMale}} {{middleName}}-{{middleName}} {{lastName}}', - '{{firstNameMale}} {{middleName}} {{middleName}}-{{lastName}}', - ); - - protected static $femaleNameFormats = array( - '{{firstNameFemale}} {{lastName}}', - '{{firstNameFemale}} {{lastName}}', - '{{firstNameFemale}} {{lastName}}', - '{{firstNameFemale}} {{middleName}} {{lastName}}', - '{{firstNameFemale}} {{middleName}} {{lastName}}', - '{{firstNameFemale}} {{middleName}}-{{middleName}} {{lastName}}', - '{{firstNameFemale}} {{middleName}} {{middleName}}-{{lastName}}', - ); - - /** - * @var array Danish first names. - */ - protected static $firstNameMale = array( - 'Aage', 'Adam', 'Adolf', 'Ahmad', 'Ahmed', 'Aksel', 'Albert', 'Alex', 'Alexander', 'Alf', 'Alfred', 'Ali', 'Allan', - 'Anders', 'Andreas', 'Anker', 'Anton', 'Arne', 'Arnold', 'Arthur', 'Asbjørn', 'Asger', 'August', 'Axel', 'Benjamin', - 'Benny', 'Bent', 'Bernhard', 'Birger', 'Bjarne', 'Bjørn', 'Bo', 'Brian', 'Bruno', 'Børge', 'Carl', 'Carlo', - 'Carsten', 'Casper', 'Charles', 'Chris', 'Christian', 'Christoffer', 'Christopher', 'Claus', 'Dan', 'Daniel', 'David', 'Dennis', - 'Ebbe', 'Edmund', 'Edvard', 'Egon', 'Einar', 'Ejvind', 'Elias', 'Emanuel', 'Emil', 'Erik', 'Erland', 'Erling', - 'Ernst', 'Esben', 'Ferdinand', 'Finn', 'Flemming', 'Frank', 'Freddy', 'Frederik', 'Frits', 'Fritz', 'Frode', 'Georg', - 'Gerhard', 'Gert', 'Gunnar', 'Gustav', 'Hans', 'Harald', 'Harry', 'Hassan', 'Heine', 'Heinrich', 'Helge', 'Helmer', - 'Helmuth', 'Henning', 'Henrik', 'Henry', 'Herman', 'Hermann', 'Holger', 'Hugo', 'Ib', 'Ibrahim', 'Ivan', 'Jack', - 'Jacob', 'Jakob', 'Jan', 'Janne', 'Jens', 'Jeppe', 'Jesper', 'Jimmi', 'Jimmy', 'Joachim', 'Johan', 'Johannes', - 'John', 'Johnny', 'Jon', 'Jonas', 'Jonathan', 'Josef', 'Jul', 'Julius', 'Jørgen', 'Jørn', 'Kai', 'Kaj', - 'Karl', 'Karlo', 'Karsten', 'Kasper', 'Kenneth', 'Kent', 'Kevin', 'Kjeld', 'Klaus', 'Knud', 'Kristian', 'Kristoffer', - 'Kurt', 'Lars', 'Lasse', 'Leif', 'Lennart', 'Leo', 'Leon', 'Louis', 'Lucas', 'Lukas', 'Mads', 'Magnus', - 'Malthe', 'Marc', 'Marcus', 'Marinus', 'Marius', 'Mark', 'Markus', 'Martin', 'Martinus', 'Mathias', 'Max', 'Michael', - 'Mikael', 'Mike', 'Mikkel', 'Mogens', 'Mohamad', 'Mohamed', 'Mohammad', 'Morten', 'Nick', 'Nicklas', 'Nicolai', 'Nicolaj', - 'Niels', 'Niklas', 'Nikolaj', 'Nils', 'Olaf', 'Olav', 'Ole', 'Oliver', 'Oscar', 'Oskar', 'Otto', 'Ove', - 'Palle', 'Patrick', 'Paul', 'Peder', 'Per', 'Peter', 'Philip', 'Poul', 'Preben', 'Rasmus', 'Rene', 'René', - 'Richard', 'Robert', 'Rolf', 'Rudolf', 'Rune', 'Sebastian', 'Sigurd', 'Simon', 'Simone', 'Steen', 'Stefan', 'Steffen', - 'Sten', 'Stig', 'Sune', 'Sven', 'Svend', 'Søren', 'Tage', 'Theodor', 'Thomas', 'Thor', 'Thorvald', 'Tim', - 'Tobias', 'Tom', 'Tommy', 'Tonny', 'Torben', 'Troels', 'Uffe', 'Ulrik', 'Vagn', 'Vagner', 'Valdemar', 'Vang', - 'Verner', 'Victor', 'Viktor', 'Villy', 'Walther', 'Werner', 'Wilhelm', 'William', 'Willy', 'Ã…ge', 'Bendt', 'Bjarke', - 'Chr', 'Eigil', 'Ejgil', 'Ejler', 'Ejnar', 'Ejner', 'Evald', 'Folmer', 'Gunner', 'Gurli', 'Hartvig', 'Herluf', 'Hjalmar', - 'Ingemann', 'Ingolf', 'Ingvard', 'Keld', 'Kresten', 'Laurids', 'Laurits', 'Lauritz', 'Ludvig', 'Lynge', 'Oluf', 'Osvald', - 'Povl', 'Richardt', 'Sigfred', 'Sofus', 'Thorkild', 'Viggo', 'Vilhelm', 'Villiam', - ); - - protected static $firstNameFemale = array( - 'Aase', 'Agathe', 'Agnes', 'Alberte', 'Alexandra', 'Alice', 'Alma', 'Amalie', 'Amanda', 'Andrea', 'Ane', 'Anette', 'Anita', - 'Anja', 'Ann', 'Anna', 'Annalise', 'Anne', 'Anne-Lise', 'Anne-Marie', 'Anne-Mette', 'Annelise', 'Annette', 'Anni', 'Annie', - 'Annika', 'Anny', 'Asta', 'Astrid', 'Augusta', 'Benedikte', 'Bente', 'Berit', 'Bertha', 'Betina', 'Bettina', 'Betty', - 'Birgit', 'Birgitte', 'Birte', 'Birthe', 'Bitten', 'Bodil', 'Britt', 'Britta', 'Camilla', 'Carina', 'Carla', 'Caroline', - 'Cathrine', 'Cecilie', 'Charlotte', 'Christa', 'Christen', 'Christiane', 'Christina', 'Christine', 'Clara', 'Conni', 'Connie', 'Conny', - 'Dagmar', 'Dagny', 'Diana', 'Ditte', 'Dora', 'Doris', 'Dorte', 'Dorthe', 'Ebba', 'Edel', 'Edith', 'Eleonora', - 'Eli', 'Elin', 'Eline', 'Elinor', 'Elisa', 'Elisabeth', 'Elise', 'Ella', 'Ellen', 'Ellinor', 'Elly', 'Elna', - 'Elsa', 'Else', 'Elsebeth', 'Elvira', 'Emilie', 'Emma', 'Emmy', 'Erna', 'Ester', 'Esther', 'Eva', 'Evelyn', - 'Frede', 'Frederikke', 'Freja', 'Frida', 'Gerda', 'Gertrud', 'Gitte', 'Grete', 'Grethe', 'Gudrun', 'Hanna', 'Hanne', - 'Hardy', 'Harriet', 'Hedvig', 'Heidi', 'Helen', 'Helena', 'Helene', 'Helga', 'Helle', 'Henny', 'Henriette', 'Herdis', - 'Hilda', 'Iben', 'Ida', 'Ilse', 'Ina', 'Inga', 'Inge', 'Ingeborg', 'Ingelise', 'Inger', 'Ingrid', 'Irene', - 'Iris', 'Irma', 'Isabella', 'Jane', 'Janni', 'Jannie', 'Jeanette', 'Jeanne', 'Jenny', 'Jes', 'Jette', 'Joan', - 'Johanna', 'Johanne', 'Jonna', 'Josefine', 'Josephine', 'Juliane', 'Julie', 'Jytte', 'Kaja', 'Kamilla', 'Karen', 'Karin', - 'Karina', 'Karla', 'Karoline', 'Kate', 'Kathrine', 'Katja', 'Katrine', 'Ketty', 'Kim', 'Kirsten', 'Kirstine', 'Klara', - 'Krista', 'Kristen', 'Kristina', 'Kristine', 'Laila', 'Laura', 'Laurine', 'Lea', 'Lena', 'Lene', 'Lilian', 'Lilli', - 'Lillian', 'Lilly', 'Linda', 'Line', 'Lis', 'Lisa', 'Lisbet', 'Lisbeth', 'Lise', 'Liselotte', 'Lissi', 'Lissy', - 'Liv', 'Lizzie', 'Lone', 'Lotte', 'Louise', 'Lydia', 'Lykke', 'Lærke', 'Magda', 'Magdalene', 'Mai', 'Maiken', - 'Maj', 'Maja', 'Majbritt', 'Malene', 'Maren', 'Margit', 'Margrethe', 'Maria', 'Mariane', 'Marianne', 'Marie', 'Marlene', - 'Martha', 'Martine', 'Mary', 'Mathilde', 'Matilde', 'Merete', 'Merethe', 'Meta', 'Mette', 'Mia', 'Michelle', 'Mie', - 'Mille', 'Minna', 'Mona', 'Monica', 'Nadia', 'Nancy', 'Nanna', 'Nicoline', 'Nikoline', 'Nina', 'Ninna', 'Oda', - 'Olga', 'Olivia', 'Orla', 'Paula', 'Pauline', 'Pernille', 'Petra', 'Pia', 'Poula', 'Ragnhild', 'Randi', 'Rasmine', - 'Rebecca', 'Rebekka', 'Rigmor', 'Rikke', 'Rita', 'Rosa', 'Rose', 'Ruth', 'Sabrina', 'Sandra', 'Sanne', 'Sara', - 'Sarah', 'Selma', 'Severin', 'Sidsel', 'Signe', 'Sigrid', 'Sine', 'Sofia', 'Sofie', 'Solveig', 'Solvejg', 'Sonja', - 'Sophie', 'Stephanie', 'Stine', 'Susan', 'Susanne', 'Tanja', 'Thea', 'Theodora', 'Therese', 'Thi', 'Thyra', 'Tina', - 'Tine', 'Tove', 'Trine', 'Ulla', 'Vera', 'Vibeke', 'Victoria', 'Viktoria', 'Viola', 'Vita', 'Vivi', 'Vivian', - 'Winnie', 'Yrsa', 'Yvonne', 'Agnete', 'Agnethe', 'Alfrida', 'Alvilda', 'Anine', 'Bolette', 'Dorthea', 'Gunhild', - 'Hansine', 'Inge-Lise', 'Jensine', 'Juel', 'Jørgine', 'Kamma', 'Kristiane', 'Maj-Britt', 'Margrete', 'Metha', 'Nielsine', - 'Oline', 'Petrea', 'Petrine', 'Pouline', 'Ragna', 'Sørine', 'Thora', 'Valborg', 'Vilhelmine', - ); - - /** - * @var array Danish middle names. - */ - protected static $middleName = array( - 'Møller', 'Lund', 'Holm', 'Jensen', 'Juul', 'Nielsen', 'Kjær', 'Hansen', 'Skov', 'Østergaard', 'Vestergaard', - 'Nørgaard', 'Dahl', 'Bach', 'Friis', 'Søndergaard', 'Andersen', 'Bech', 'Pedersen', 'Bruun', 'Nygaard', 'Winther', - 'Bang', 'Krogh', 'Schmidt', 'Christensen', 'Hedegaard', 'Toft', 'Damgaard', 'Holst', 'Sørensen', 'Juhl', 'Munk', - 'Skovgaard', 'Søgaard', 'Aagaard', 'Berg', 'Dam', 'Petersen', 'Lind', 'Overgaard', 'Brandt', 'Larsen', 'Bak', 'Schou', - 'Vinther', 'Bjerregaard', 'Riis', 'Bundgaard', 'Kruse', 'Mølgaard', 'Hjorth', 'Ravn', 'Madsen', 'Rasmussen', - 'Jørgensen', 'Kristensen', 'Bonde', 'Bay', 'Hougaard', 'Dalsgaard', 'Kjærgaard', 'Haugaard', 'Munch', 'Bjerre', 'Due', - 'Sloth', 'Leth', 'Kofoed', 'Thomsen', 'Kragh', 'Højgaard', 'Dalgaard', 'Hjort', 'Kirkegaard', 'Bøgh', 'Beck', 'Nissen', - 'Rask', 'Høj', 'Brix', 'Storm', 'Buch', 'Bisgaard', 'Birch', 'Gade', 'Kjærsgaard', 'Hald', 'Lindberg', 'Høgh', 'Falk', - 'Koch', 'Thorup', 'Borup', 'Knudsen', 'Vedel', 'Poulsen', 'Bøgelund', 'Juel', 'Frost', 'Hvid', 'Bjerg', 'Bæk', 'Elkjær', - 'Hartmann', 'Kirk', 'Sand', 'Sommer', 'Skou', 'Nedergaard', 'Meldgaard', 'Brink', 'Lindegaard', 'Fischer', 'Rye', - 'Hoffmann', 'Daugaard', 'Gram', 'Johansen', 'Meyer', 'Schultz', 'Fogh', 'Bloch', 'Lundgaard', 'Brøndum', 'Jessen', - 'Busk', 'Holmgaard', 'Lindholm', 'Krog', 'Egelund', 'Engelbrecht', 'Buus', 'Korsgaard', 'Ellegaard', 'Tang', 'Steen', - 'Kvist', 'Olsen', 'Nørregaard', 'Fuglsang', 'Wulff', 'Damsgaard', 'Hauge', 'Sonne', 'Skytte', 'Brun', 'Kronborg', - 'Abildgaard', 'Fabricius', 'Bille', 'Skaarup', 'Rahbek', 'Borg', 'Torp', 'Klitgaard', 'Nørskov', 'Greve', 'Hviid', - 'Mørch', 'Buhl', 'Rohde', 'Mørk', 'Vendelbo', 'Bjørn', 'Laursen', 'Egede', 'Rytter', 'Lehmann', 'Guldberg', 'Rosendahl', - 'Krarup', 'Krogsgaard', 'Westergaard', 'Rosendal', 'Fisker', 'Højer', 'Rosenberg', 'Svane', 'Storgaard', 'Pihl', - 'Mohamed', 'Bülow', 'Birk', 'Hammer', 'Bro', 'Kaas', 'Clausen', 'Nymann', 'Egholm', 'Ingemann', 'Haahr', 'Olesen', - 'Nøhr', 'Brinch', 'Bjerring', 'Christiansen', 'Schrøder', 'Guldager', 'Skjødt', 'Højlund', 'Ørum', 'Weber', - 'Bødker', 'Bruhn', 'Stampe', 'Astrup', 'Schack', 'Mikkelsen', 'Høyer', 'Husted', 'Skriver', 'Lindgaard', 'Yde', - 'Sylvest', 'Lykkegaard', 'Ploug', 'Gammelgaard', 'Pilgaard', 'Brogaard', 'Degn', 'Kaae', 'Kofod', 'Grønbæk', - 'Lundsgaard', 'Bagge', 'Lyng', 'Rømer', 'Kjeldgaard', 'Hovgaard', 'Groth', 'Hyldgaard', 'Ladefoged', 'Jacobsen', - 'Linde', 'Lange', 'Stokholm', 'Bredahl', 'Hein', 'Mose', 'Bækgaard', 'Sandberg', 'Klarskov', 'Kamp', 'Green', - 'Iversen', 'Riber', 'Smedegaard', 'Nyholm', 'Vad', 'Balle', 'Kjeldsen', 'Strøm', 'Borch', 'Lerche', 'Grønlund', - 'VestergÃ¥rd', 'ØstergÃ¥rd', 'Nyborg', 'Qvist', 'Damkjær', 'Kold', 'Sønderskov', 'Bank', - ); - - /** - * @var array Danish last names. - */ - protected static $lastName = array( - 'Jensen', 'Nielsen', 'Hansen', 'Pedersen', 'Andersen', 'Christensen', 'Larsen', 'Sørensen', 'Rasmussen', 'Petersen', - 'Jørgensen', 'Madsen', 'Kristensen', 'Olsen', 'Christiansen', 'Thomsen', 'Poulsen', 'Johansen', 'Knudsen', 'Mortensen', - 'Møller', 'Jacobsen', 'Jakobsen', 'Olesen', 'Frederiksen', 'Mikkelsen', 'Henriksen', 'Laursen', 'Lund', 'Schmidt', - 'Eriksen', 'Holm', 'Kristiansen', 'Clausen', 'Simonsen', 'Svendsen', 'Andreasen', 'Iversen', 'Jeppesen', 'Mogensen', - 'Jespersen', 'Nissen', 'Lauridsen', 'Frandsen', 'Østergaard', 'Jepsen', 'Kjær', 'Carlsen', 'Vestergaard', 'Jessen', - 'Nørgaard', 'Dahl', 'Christoffersen', 'Skov', 'Søndergaard', 'Bertelsen', 'Bruun', 'Lassen', 'Bach', 'Gregersen', - 'Friis', 'Johnsen', 'Steffensen', 'Kjeldsen', 'Bech', 'Krogh', 'Lauritsen', 'Danielsen', 'Mathiesen', 'Andresen', - 'Brandt', 'Winther', 'Toft', 'Ravn', 'Mathiasen', 'Dam', 'Holst', 'Nilsson', 'Lind', 'Berg', 'Schou', 'Overgaard', - 'Kristoffersen', 'Schultz', 'Klausen', 'Karlsen', 'Paulsen', 'Hermansen', 'Thorsen', 'Koch', 'Thygesen', 'Bak', 'Kruse', - 'Bang', 'Juhl', 'Davidsen', 'Berthelsen', 'Nygaard', 'Lorentzen', 'Villadsen', 'Lorenzen', 'Damgaard', 'Bjerregaard', - 'Lange', 'Hedegaard', 'Bendtsen', 'Lauritzen', 'Svensson', 'Justesen', 'Juul', 'Hald', 'Beck', 'Kofoed', 'Søgaard', - 'Meyer', 'Kjærgaard', 'Riis', 'Johannsen', 'Carstensen', 'Bonde', 'Ibsen', 'Fischer', 'Andersson', 'Bundgaard', - 'Johannesen', 'Eskildsen', 'Hemmingsen', 'Andreassen', 'Thomassen', 'Schrøder', 'Persson', 'Hjorth', 'Enevoldsen', - 'Nguyen', 'Henningsen', 'Jønsson', 'Olsson', 'Asmussen', 'Michelsen', 'Vinther', 'Markussen', 'Kragh', 'Thøgersen', - 'Johansson', 'Dalsgaard', 'Gade', 'Bjerre', 'Ali', 'Laustsen', 'Buch', 'Ludvigsen', 'Hougaard', 'Kirkegaard', 'Marcussen', - 'Mølgaard', 'Ipsen', 'Sommer', 'Ottosen', 'Müller', 'Krog', 'Hoffmann', 'Clemmensen', 'Nikolajsen', 'Brodersen', - 'Therkildsen', 'Leth', 'Michaelsen', 'Graversen', 'Frost', 'Dalgaard', 'Albertsen', 'Laugesen', 'Due', 'Ebbesen', - 'Munch', 'Svenningsen', 'Ottesen', 'Fisker', 'Albrechtsen', 'Axelsen', 'Erichsen', 'Sloth', 'Bentsen', 'Westergaard', - 'Bisgaard', 'Nicolaisen', 'Magnussen', 'Thuesen', 'Povlsen', 'Thorup', 'Høj', 'Bentzen', 'Johannessen', 'Vilhelmsen', - 'Isaksen', 'Bendixen', 'Ovesen', 'Villumsen', 'Lindberg', 'Thomasen', 'Kjærsgaard', 'Buhl', 'Kofod', 'Ahmed', 'Smith', - 'Storm', 'Christophersen', 'Bruhn', 'Matthiesen', 'Wagner', 'Bjerg', 'Gram', 'Nedergaard', 'Dinesen', 'Mouritsen', - 'Boesen', 'Borup', 'Abrahamsen', 'Wulff', 'Gravesen', 'Rask', 'Pallesen', 'Greve', 'Korsgaard', 'Haugaard', 'Josefsen', - 'Bæk', 'Espersen', 'Thrane', 'Mørch', 'Frank', 'Lynge', 'Rohde', 'Larsson', 'Hammer', 'Torp', 'Sonne', 'Boysen', 'Bay', - 'Pihl', 'Fabricius', 'Høyer', 'Birch', 'Skou', 'Kirk', 'Antonsen', 'Høgh', 'Damsgaard', 'Dall', 'Truelsen', 'Daugaard', - 'Fuglsang', 'Martinsen', 'Therkelsen', 'Jansen', 'Karlsson', 'Caspersen', 'Steen', 'Callesen', 'Balle', 'Bloch', 'Smidt', - 'Rahbek', 'Hjort', 'Bjørn', 'Skaarup', 'Sand', 'Storgaard', 'Willumsen', 'Busk', 'Hartmann', 'Ladefoged', 'Skovgaard', - 'Philipsen', 'Damm', 'Haagensen', 'Hviid', 'Duus', 'Kvist', 'Adamsen', 'Mathiassen', 'Degn', 'Borg', 'Brix', 'Troelsen', - 'Ditlevsen', 'Brøndum', 'Svane', 'Mohamed', 'Birk', 'Brink', 'Hassan', 'Vester', 'Elkjær', 'Lykke', 'Nørregaard', - 'Meldgaard', 'Mørk', 'Hvid', 'Abildgaard', 'Nicolajsen', 'Bengtsson', 'Stokholm', 'Ahmad', 'Wind', 'Rømer', 'Gundersen', - 'Carlsson', 'Grøn', 'Khan', 'Skytte', 'Bagger', 'Hendriksen', 'Rosenberg', 'Jonassen', 'Severinsen', 'Jürgensen', - 'Boisen', 'Groth', 'Bager', 'Fogh', 'Hussain', 'Samuelsen', 'Pilgaard', 'Bødker', 'Dideriksen', 'Brogaard', 'Lundberg', - 'Hansson', 'Schwartz', 'Tran', 'Skriver', 'Klitgaard', 'Hauge', 'Højgaard', 'Qvist', 'Voss', 'Strøm', 'Wolff', 'Krarup', - 'Green', 'Odgaard', 'Tønnesen', 'Blom', 'Gammelgaard', 'Jæger', 'Kramer', 'Astrup', 'Würtz', 'Lehmann', 'Koefoed', - 'Skøtt', 'Lundsgaard', 'Bøgh', 'Vang', 'Martinussen', 'Sandberg', 'Weber', 'Holmgaard', 'Bidstrup', 'Meier', 'Drejer', - 'Schneider', 'Joensen', 'Dupont', 'Lorentsen', 'Bro', 'Bagge', 'Terkelsen', 'Kaspersen', 'Keller', 'Eliasen', 'Lyberth', - 'Husted', 'Mouritzen', 'Krag', 'Kragelund', 'Nørskov', 'Vad', 'Jochumsen', 'Hein', 'Krogsgaard', 'Kaas', 'Tolstrup', - 'Ernst', 'Hermann', 'Børgesen', 'Skjødt', 'Holt', 'Buus', 'Gotfredsen', 'Kjeldgaard', 'Broberg', 'Roed', 'Sivertsen', - 'Bergmann', 'Bjerrum', 'Petersson', 'Smed', 'Jeremiassen', 'Nyborg', 'Borch', 'Foged', 'Terp', 'Mark', 'Busch', - 'Lundgaard', 'Boye', 'Yde', 'Hinrichsen', 'Matzen', 'Esbensen', 'Hertz', 'Westh', 'Holmberg', 'Geertsen', 'Raun', - 'Aagaard', 'Kock', 'Falk', 'Munk', - ); - - /** - * Randomly return a danish name. - * - * @return string - */ - public static function middleName() - { - return static::randomElement(static::$middleName); - } - - /** - * Randomly return a danish CPR number (Personnal identification number) format. - * - * @link http://cpr.dk/cpr/site.aspx?p=16 - * @link http://en.wikipedia.org/wiki/Personal_identification_number_%28Denmark%29 - * - * @return string - */ - public static function cpr() - { - $birthdate = new \DateTime('@' . mt_rand(0, time())); - - return sprintf('%s-%s', $birthdate->format('dmy'), static::numerify('%###')); - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/da_DK/PhoneNumber.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/da_DK/PhoneNumber.php deleted file mode 100644 index af96d3f..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/da_DK/PhoneNumber.php +++ /dev/null @@ -1,21 +0,0 @@ - - */ -class PhoneNumber extends \Faker\Provider\PhoneNumber -{ - /** - * @var array Danish phonenumber formats. - */ - protected static $formats = array( - '+45 ## ## ## ##', - '+45 #### ####', - '+45########', - '## ## ## ##', - '#### ####', - '########', - ); -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/de_AT/Address.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/de_AT/Address.php deleted file mode 100644 index 4a2272c..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/de_AT/Address.php +++ /dev/null @@ -1,127 +0,0 @@ - 'Aargau'), - array('AI' => 'Appenzell Innerrhoden'), - array('AR' => 'Appenzell Ausserrhoden'), - array('BE' => 'Bern'), - array('BL' => 'Basel-Landschaft'), - array('BS' => 'Basel-Stadt'), - array('FR' => 'Freiburg'), - array('GE' => 'Genf'), - array('GL' => 'Glarus'), - array('GR' => 'Graubünden'), - array('JU' => 'Jura',), - array('LU' => 'Luzern'), - array('NE' => 'Neuenburg'), - array('NW' => 'Nidwalden'), - array('OW' => 'Obwalden'), - array('SG' => 'St. Gallen'), - array('SH' => 'Schaffhausen'), - array('SO' => 'Solothurn'), - array('SZ' => 'Schwyz'), - array('TG' => 'Thurgau'), - array('TI' => 'Tessin'), - array('UR' => 'Uri'), - array('VD' => 'Waadt'), - array('VS' => 'Wallis'), - array('ZG' => 'Zug'), - array('ZH' => 'Zürich') - ); - - protected static $country = array( - 'Afghanistan', 'Alandinseln', 'Albanien', 'Algerien', 'Amerikanisch-Ozeanien', 'Amerikanisch-Samoa', 'Amerikanische Jungferninseln', 'Andorra', 'Angola', 'Anguilla', 'Antarktis', 'Antigua und Barbuda', 'Argentinien', 'Armenien', 'Aruba', 'Aserbaidschan', 'Australien', 'Ägypten', 'Äquatorialguinea', 'Äthiopien', 'Äusseres Ozeanien', - 'Bahamas', 'Bahrain', 'Bangladesch', 'Barbados', 'Belarus', 'Belgien', 'Belize', 'Benin', 'Bermuda', 'Bhutan', 'Bolivien', 'Bosnien und Herzegowina', 'Botsuana', 'Bouvetinsel', 'Brasilien', 'Britische Jungferninseln', 'Britisches Territorium im Indischen Ozean', 'Brunei Darussalam', 'Bulgarien', 'Burkina Faso', 'Burundi', - 'Chile', 'China', 'Cookinseln', 'Costa Rica', 'Côte d’Ivoire', - 'Demokratische Republik Kongo', 'Demokratische Volksrepublik Korea', 'Deutschland', 'Dominica', 'Dominikanische Republik', 'Dschibuti', 'Dänemark', - 'Ecuador', 'El Salvador', 'Eritrea', 'Estland', 'Europäische Union', - 'Falklandinseln', 'Fidschi', 'Finnland', 'Frankreich', 'Französisch-Guayana', 'Französisch-Polynesien', 'Französische Süd- und Antarktisgebiete', 'Färöer', - 'Gabun', 'Gambia', 'Georgien', 'Ghana', 'Gibraltar', 'Grenada', 'Griechenland', 'Grönland', 'Guadeloupe', 'Guam', 'Guatemala', 'Guernsey', 'Guinea', 'Guinea-Bissau', 'Guyana', - 'Haiti', 'Heard- und McDonald-Inseln', 'Honduras', - 'Indien', 'Indonesien', 'Irak', 'Iran', 'Irland', 'Island', 'Isle of Man', 'Israel', 'Italien', - 'Jamaika', 'Japan', 'Jemen', 'Jersey', 'Jordanien', - 'Kaimaninseln', 'Kambodscha', 'Kamerun', 'Kanada', 'Kap Verde', 'Kasachstan', 'Katar', 'Kenia', 'Kirgisistan', 'Kiribati', 'Kokosinseln', 'Kolumbien', 'Komoren', 'Kongo', 'Kroatien', 'Kuba', 'Kuwait', - 'Laos', 'Lesotho', 'Lettland', 'Libanon', 'Liberia', 'Libyen', 'Liechtenstein', 'Litauen', 'Luxemburg', - 'Madagaskar', 'Malawi', 'Malaysia', 'Malediven', 'Mali', 'Malta', 'Marokko', 'Marshallinseln', 'Martinique', 'Mauretanien', 'Mauritius', 'Mayotte', 'Mazedonien', 'Mexiko', 'Mikronesien', 'Monaco', 'Mongolei', 'Montenegro', 'Montserrat', 'Mosambik', 'Myanmar', - 'Namibia', 'Nauru', 'Nepal', 'Neukaledonien', 'Neuseeland', 'Nicaragua', 'Niederlande', 'Niederländische Antillen', 'Niger', 'Nigeria', 'Niue', 'Norfolkinsel', 'Norwegen', 'Nördliche Marianen', - 'Oman', 'Osttimor', 'Österreich', - 'Pakistan', 'Palau', 'Palästinensische Gebiete', 'Panama', 'Papua-Neuguinea', 'Paraguay', 'Peru', 'Philippinen', 'Pitcairn', 'Polen', 'Portugal', 'Puerto Rico', - 'Republik Korea', 'Republik Moldau', 'Ruanda', 'Rumänien', 'Russische Föderation', 'Réunion', - 'Salomonen', 'Sambia', 'Samoa', 'San Marino', 'Saudi-Arabien', 'Schweden', 'Schweiz', 'Senegal', 'Serbien', 'Serbien und Montenegro', 'Seychellen', 'Sierra Leone', 'Simbabwe', 'Singapur', 'Slowakei', 'Slowenien', 'Somalia', 'Sonderverwaltungszone Hongkong', 'Sonderverwaltungszone Macao', 'Spanien', 'Sri Lanka', 'St. Barthélemy', 'St. Helena', 'St. Kitts und Nevis', 'St. Lucia', 'St. Martin', 'St. Pierre und Miquelon', 'St. Vincent und die Grenadinen', 'Sudan', 'Suriname', 'Svalbard und Jan Mayen', 'Swasiland', 'Syrien', 'São Tomé und Príncipe', 'Südafrika', 'Südgeorgien und die Südlichen Sandwichinseln', - 'Tadschikistan', 'Taiwan', 'Tansania', 'Thailand', 'Togo', 'Tokelau', 'Tonga', 'Trinidad und Tobago', 'Tschad', 'Tschechische Republik', 'Tunesien', 'Turkmenistan', 'Turks- und Caicosinseln', 'Tuvalu', 'Türkei', - 'Uganda', 'Ukraine', 'Unbekannte oder ungültige Region', 'Ungarn', 'Uruguay', 'Usbekistan', - 'Vanuatu', 'Vatikanstadt', 'Venezuela', 'Vereinigte Arabische Emirate', 'Vereinigte Staaten', 'Vereinigtes Königreich', 'Vietnam', - 'Wallis und Futuna', 'Weihnachtsinsel', 'Westsahara', - 'Zentralafrikanische Republik', 'Zypern', - ); - - protected static $cityFormats = array( - '{{cityName}}', - ); - - protected static $streetNameFormats = array( - '{{lastName}}{{streetSuffixShort}}', - '{{cityName}}{{streetSuffixShort}}', - '{{firstName}}-{{lastName}}-{{streetSuffixLong}}' - ); - - protected static $streetAddressFormats = array( - '{{streetName}} {{buildingNumber}}', - ); - protected static $addressFormats = array( - "{{streetAddress}}\n{{postcode}} {{city}}", - ); - - /** - * Returns a random city name. - * @example Luzern - * @return string - */ - public function cityName() - { - return static::randomElement(static::$cityNames); - } - - /** - * Returns a random street suffix. - * @example str. - * @return string - */ - public function streetSuffixShort() - { - return static::randomElement(static::$streetSuffixShort); - } - - /** - * Returns a random street suffix. - * @example Strasse - * @return string - */ - public function streetSuffixLong() - { - return static::randomElement(static::$streetSuffixLong); - } - - /** - * Returns a canton - * @example array('BE' => 'Bern') - * @return array - */ - public static function canton() - { - return static::randomElement(static::$canton); - } - - /** - * Returns the abbreviation of a canton. - * @return string - */ - public static function cantonShort() - { - $canton = static::canton(); - return key($canton); - } - - /** - * Returns the name of canton. - * @return string - */ - public static function cantonName() - { - $canton = static::canton(); - return current($canton); - } - - public static function buildingNumber() - { - return static::regexify(self::numerify(static::randomElement(static::$buildingNumber))); - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/de_CH/Company.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/de_CH/Company.php deleted file mode 100644 index 604ec5a..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/de_CH/Company.php +++ /dev/null @@ -1,15 +0,0 @@ -generator->parse(static::randomElement(static::$lastNameFormat)); - } - - /** - * @example 'ΘεωδωÏόπουλος' - */ - public static function lastNameMale() - { - return static::randomElement(static::$lastNameMale); - } - - /** - * @example 'Κοκκίνου' - */ - public static function lastNameFemale() - { - return static::randomElement(static::$lastNameFemale); - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/el_GR/PhoneNumber.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/el_GR/PhoneNumber.php deleted file mode 100644 index f8cf8b3..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/el_GR/PhoneNumber.php +++ /dev/null @@ -1,85 +0,0 @@ -generator->parse(static::randomElement(static::$towns)); - } - - public function syllable() - { - return static::randomElement(static::$syllables); - } - - public function direction() - { - return static::randomElement(static::$directions); - } - - public function englishStreetName() - { - return static::randomElement(static::$englishStreetNames); - } - - public function villageSuffix() - { - return static::randomElement(static::$villageSuffixes); - } - - public function estateSuffix() - { - return static::randomElement(static::$estateSuffixes); - } - - public function village() - { - return $this->generator->parse(static::randomElement(static::$villageNameFormats)); - } - - public function estate() - { - return $this->generator->parse(static::randomElement(static::$estateNameFormats)); - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/en_HK/Internet.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/en_HK/Internet.php deleted file mode 100644 index 4d82d93..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/en_HK/Internet.php +++ /dev/null @@ -1,14 +0,0 @@ -generator->parse(static::randomElement(static::$societyNameFormat)); - } - /** - * @example Mumbai - */ - public function city() - { - return static::randomElement(static::$city); - } - /** - * @example Vaishali Nagar - */ - public function locality() - { - return $this->generator->parse(static::randomElement(static::$localityFormats)); - } - /* - * @example Kharadi - */ - public function localityName() - { - return $this->generator->parse(static::randomElement(static::$localityName)); - } - /** - * @example Nagar - */ - public function areaSuffix() - { - return static::randomElement(static::$areaSuffix); - } - - /** - * @example 'Delhi' - */ - public static function state() - { - return static::randomElement(static::$state); - } - - /** - * @example 'DL' - */ - public static function stateAbbr() - { - return static::randomElement(static::$stateAbbr); - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/en_IN/Internet.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/en_IN/Internet.php deleted file mode 100644 index 6ec1671..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/en_IN/Internet.php +++ /dev/null @@ -1,9 +0,0 @@ -generator->parse($format)); - } - - public function fixedLineNumber() - { - $format = static::randomElement(static::$fixedLineNumberFormats); - - return static::numerify($this->generator->parse($format)); - } - - public function voipNumber() - { - $format = static::randomElement(static::$voipNumber); - - return $this->generator->parse($format); - } - - public function internationalCodePrefix() - { - $format = static::randomElement(static::$internationalCodePrefix); - - return $this->generator->parse($format); - } - - public function zeroToEight() - { - return static::randomElement(static::$zeroToEight); - } - - public function oneToEight() - { - return static::randomElement(static::$oneToEight); - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/en_UG/Address.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/en_UG/Address.php deleted file mode 100644 index eb817e3..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/en_UG/Address.php +++ /dev/null @@ -1,101 +0,0 @@ -generator->parse($format)); - } - - /** - * NPA-format area code - * - * @see https://en.wikipedia.org/wiki/North_American_Numbering_Plan#Numbering_system - * - * @return string - */ - public static function areaCode() - { - $digits[] = self::numberBetween(2, 9); - $digits[] = self::randomDigit(); - $digits[] = self::randomDigitNot($digits[1]); - - return join('', $digits); - } - - /** - * NXX-format central office exchange code - * - * @see https://en.wikipedia.org/wiki/North_American_Numbering_Plan#Numbering_system - * - * @return string - */ - public static function exchangeCode() - { - $digits[] = self::numberBetween(2, 9); - $digits[] = self::randomDigit(); - - if ($digits[1] === 1) { - $digits[] = self::randomDigitNot(1); - } else { - $digits[] = self::randomDigit(); - } - - return join('', $digits); - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/en_US/Text.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/en_US/Text.php deleted file mode 100644 index b3c5258..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/en_US/Text.php +++ /dev/null @@ -1,3720 +0,0 @@ -format('Y'), - static::randomNumber(6, true), - static::randomElement(static::$legalEntities) - ); - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/en_ZA/Internet.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/en_ZA/Internet.php deleted file mode 100644 index 0c5c5f4..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/en_ZA/Internet.php +++ /dev/null @@ -1,18 +0,0 @@ -generator->dateTimeThisCentury(); - } - $birthDateString = $birthdate->format('ymd'); - switch (strtolower($gender)) { - case static::GENDER_FEMALE: - $genderDigit = self::numberBetween(0, 4); - break; - case static::GENDER_MALE: - $genderDigit = self::numberBetween(5, 9); - break; - default: - $genderDigit = self::numberBetween(0, 9); - } - $sequenceDigits = str_pad(self::randomNumber(3), 3, 0, STR_PAD_BOTH); - $citizenDigit = ($citizen === true) ? '0' : '1'; - $raceDigit = self::numberBetween(8, 9); - - $partialIdNumber = $birthDateString . $genderDigit . $sequenceDigits . $citizenDigit . $raceDigit; - - return $partialIdNumber . Luhn::computeCheckDigit($partialIdNumber); - } - - /** - * @see https://en.wikipedia.org/wiki/Driving_licence_in_South_Africa - * - * @return string - */ - public function licenceCode() - { - return static::randomElement(static::$licenceCodes); - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/en_ZA/PhoneNumber.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/en_ZA/PhoneNumber.php deleted file mode 100644 index 02a364d..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/en_ZA/PhoneNumber.php +++ /dev/null @@ -1,100 +0,0 @@ -generator->parse($format)); - } - - public function tollFreeNumber() - { - $format = static::randomElement(static::$specialFormats); - - return self::numerify($this->generator->parse($format)); - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/es_AR/Address.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/es_AR/Address.php deleted file mode 100644 index 70f503f..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/es_AR/Address.php +++ /dev/null @@ -1,68 +0,0 @@ -numberBetween(10000, 100000000); - } - - return $id . $separator . $this->numberBetween(80000000, 100000000); - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/es_VE/PhoneNumber.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/es_VE/PhoneNumber.php deleted file mode 100644 index 74caecc..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/es_VE/PhoneNumber.php +++ /dev/null @@ -1,29 +0,0 @@ - - */ -class Person extends \Faker\Provider\Person -{ - /** - * @link https://news.err.ee/114745/most-popular-baby-names-of-2014 - * @link https://www.stat.ee/public/apps/nimed/TOP - */ - protected static $firstNameMale = array( - "Andrei", "Aleksei", "Andres", "Alexander", "Aivar", "Aleksander", "Artur", "Andrus", "Ants", "Artjom", "Anatoli", "Anton", "Arvo", "Aare", "Ain", "Aleksandr", - "Dmitri", "Daniil", "Daniel", - "Eduard", "Erik", "Enn", - "Fjodorov", - "Gennadi", - "Heino", "Henri", "Hugo", - "Igor", "Indrek", "Ivan", "Ilja", - "Jüri", "Jaan", "Jevgeni", "Jaanus", "Janek", "Jaak", - "Kristjan", "Kalev", "Karl", "Kalle", "Kaido", "Kevin", "Konstantin", "Kaspar", "Kirill", "Kristo", "Kalju", "Kristofer", - "Lauri", "Lembit", "Laur", - "Martin", "Margus", "Maksim", "Marko", "Mati", "Meelis", "Mihhail", "Marek", "Mihkel", "Mart", "Madis", "Markus", "Mark", "Marten", - "Nikolai", "Nikita", "Nikolay", - "Oleg", "Oliver", "Oskar", - "Peeter", "Priit", "Pavel", - "Rein", "Roman", "Raivo", "Rasmus", "Raul", "Robert", "Riho", "Robin", "Romet", - "Sergei", "Sander", "Sergey", "Siim", "Silver", "Sebastian", - "Toomas", "Tarmo", "Tõnu", "Tiit", "Tanel", "Taavi", "Toivo", "Tõnis", - "Urmas", "Ãœlo", - "Vladimir", "Viktor", "Valeri", "Vello", "Vadim", "Vitali", "Vladislav", "VjatÅ¡eslav", "Victor", - ); - - /** - * @link https://news.err.ee/114745/most-popular-baby-names-of-2014 - * @link https://www.stat.ee/public/apps/nimed/TOP - */ - protected static $firstNameFemale = array( - "Aino", "Aleksandra", "Alisa", "Anastasia", "Anna", "Anne", "Anneli", "Anu", "Arina", "Annika", "Anastassia", "Alla", "Aili", "Alina", "Aime", "Antonina", - "Darja", "Diana", - "Elena", "Eliise", "Elisabeth", "Emma", "Ene", "Eve", "Eha", "Evi", - "Galina", - "Hanna", "Helen", "Heli", "Helle", "Helgi", - "Irina", "Inna", "Ingrid", - "Jekaterina", "Jelena", "Julia", "Jana", - "Kadri", "Katrin", "Kristi", "Kristiina", "Kristina", "Karin", "Kersti", "Kristel", "Kaja", "Külli", "Kätlin", "Krista", - "Laura", "Lenna", "Liisa", "Linda", "Lisandra", "Ljubov", "Ljudmila", "Liina", "Ljudmilla", "Larissa", "Liis", "Lea", "Laine", "Liudmila", - "Maie", "Malle", "Mare", "Maria", "Marina", "Marleen", "Marta", "Merike", "Mia", "Milana", "Mirtel", "Marika", "Merle", "Margit", "Milvi", "Maire", "Margarita", "Mari", "Maarja", - "Natalia", "Niina", "Nora", "Natalja", "Nadežda", "Nina", - "Olga", "Oksana", - "Piret", "Polina", "Pille", - "Reet", "Riina", - "Sandra", "Sirje", "Sofia", "Svetlana", "Silvi", - "Tamara", "Tatiana", "Tiina", "Tiiu", "Triin", "Tatjana", "Tiia", - "Ãœlle", "Urve", - "Valentina", "Viktoria", "Veera", "Veronika", "Vaike", - "Zinaida", - ); - - /** - * @link https://en.wikipedia.org/wiki/Category:Estonian-language_surnames - * @link https://www.stat.ee/public/apps/nimed/pere/TOP - */ - protected static $lastName = array( - "Aleksejev", "Andrejev", "Allik", "Aas", "Aleksandrov", "Aare", "Aarma", "Aas", "Aasmäe", "Aav", "Aavik", "Allik", "Alver", "Andrejeva", "Aleksejeva", "Aleksandrova", "Allik", "Aas", - "Bogdanova", "Bogdanov", - "Eenpalu", "Eskola", - "Fjodorov", "Fjodorov", "Fjodorova", "Fjodorova", - "Grigorjev", "Grigorjeva", - "Hunt", "Hein", "Hein", "Härma", - "Ivanov", "Ilves", "Ilves", "Ivanov", "Ivanova", "Ivanova", "Ilves", - "Jõgi", "Jakobson", "Jakovlev", "Jürgenson", "Jegorov", "Järv", "Johanson", "Järve", "Jakobson", "Jänes", "Järve", "Järvis", "Jõgi", "Jõgi", "Johanson", "Jürgenson", "Järv", "Jakovleva", "Jegorova", "Järve", "Jakobson", - "Kuzmina", "Kalda", "Kozlova", "Kruus", "Kask", "Kukk", "Kuznetsov", "Koppel", "Kaasik", "Kuusk", "Karu", "Kütt", "Kallas", "Kivi", "Kangur", "Kuusik", "Kõiv", "Kozlov", "Kull", "Kuzmin", "Kalda", "Kaaleste", "Kaasik", "Käbin", "Kalda", "Kaljulaid", "Kaljurand", "Kallas", "Kallaste", "Kangro", "Kangur", "Kapp", "Kärner", "Karu", "Kask", "Käsper", "Kass", "Keres", "Keskküla", "Kesküla", "Kikkas", "Kingsepp", "Kirs", "Kirsipuu", "Kivi", "Klavan", "Kõiv", "Kokk", "Kontaveit", "Koppel", "Korjus", "Kotkas", "Kreek", "Kross", "Kruus", "Kukk", "Kull", "Kütt", "Kuusik", "Kuusk", "Kuznetsov", "Kuznetsova", "Kask", "Kukk", "Kuznetsova", "Koppel", "Kaasik", "Kuusk", "Karu", "Kütt", "Kallas", "Kivi", "Kuusik", "Kangur", "Kõiv", "Kull", - "Luik", "Lepik", "Lepp", "Lõhmus", "Liiv", "Laur", "Leppik", "Lebedev", "Laas", "Laar", "Laht", "Lass", "Laur", "Laurits", "Lemsalu", "Lepik", "Lepmets", "Lepp", "Leppik", "Levandi", "Liiv", "Lill", "Lindmaa", "Linna", "Lipp", "Lippmaa", "Lõhmus", "Loo", "Lõoke", "Luik", "Luts", "Luik", "Lepik", "Lepp", "Lõhmus", "Laur", "Liiv", "Leppik", "Lebedeva", "Laas", - "Männik", "Mänd", "Mitt", "Makarova", "Mägi", "Mets", "Mihhailov", "Mölder", "Morozov", "Mitt", "Männik", "Mõttus", "Mänd", "Makarov", "Mägi", "Mälk", "Mänd", "Männik", "Margiste", "Mark", "Masing", "Mets", "Mihhailov", "Mihhailova", "Mölder", "Must", "Mägi", "Mets", "Mihhailova", "Mölder", "Morozova", - "Nikolajev", "Nõmm", "Nikitin", "Novikov", "Nõmmik", "Nurme", "Nurmsalu", "Nõmm", "Nikitina", "Nikolajeva", - "Orlova", "Orav", "Oja", "Ots", "Orav", "Orlov", "Oja", "Olesk", "Öpik", "Orav", "Ots", "Oja", "Ots", - "Petrov", "Pärn", "Põder", "Pavlov", "Popov", "Peterson", "Puusepp", "Paju", "Põld", "Pukk", "Paas", "Palm", "Pääsuke", "Padar", "Pärn", "Pavlov", "Pavlova", "Peebo", "Peetre", "Peterson", "Petrov", "Petrova", "Pihlak", "Piho", "Piip", "Põder", "Põld", "Popov", "Popova", "Poska", "Puhvel", "Pütsep", "Puusepp", "Petrova", "Pärn", "Pavlova", "Põder", "Peterson", "Popova", "Puusepp", "Paas", "Paju", "Pukk", "Parts", "Palm", "Põld", - "Romanova", "Rand", "Roos", "Rebane", "Raudsepp", "Raud", "Rand", "Roos", "Rätsep", "Raag", "Raud", "Raudsepp", "Rebane", "Reek", "Reinsalu", "Rooba", "Roolaid", "Rootare", "Rummo", "Rüütel", "Rüütli", "Rebane", "Raudsepp", "Raud", - "Saar", "Sepp", "Smirnov", "Stepanov", "Semjonov", "Sokolov", "Sild", "Sarapuu", "Saks", "Saar", "Salumäe", "Semjonov", "Sepp", "Sibul", "Siimar", "Simm", "Sirel", "Sisask", "Smirnov", "Smirnova", "Sokk", "Sokolov", "Soosaar", "Stepanov", "Stepanova", "Susi", "Saar", "Sepp", "Smirnova", "Stepanova", "Sokolova", "Saks", "Sarapuu", "Sild", "Semjonova", - "Tamme", "Tomson", "Tamm", "Teder", "Toom", "Tomson", "Tamme", "Talts", "Tamm", "Tamme", "Tarvas", "Teder", "Toom", "Toome", "Toots", "Tamm", "Teder", "Toom", - "Uibo", "Uibo", - "Vassiljev", "Vaher", "Volkov", "Valk", "Vaher", "Vahtra", "Vaino", "Vainola", "Välbe", "Valdma", "Väljas", "Valk", "Vassiljev", "Vassiljeva", "Vesik", "Veski", "Viiding", "Vitsut", "Võigemast", "Volkov", "Volkova", "Võsu", "Vassiljeva", "Vaher", "Volkova", - ); -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/fa_IR/Address.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/fa_IR/Address.php deleted file mode 100644 index f220913..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/fa_IR/Address.php +++ /dev/null @@ -1,100 +0,0 @@ -generator->parse($format); - } - - /** - * @example 'کد پستی' - */ - public static function postcodePrefix() - { - return static::randomElement(static::$postcodePrefix); - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/fa_IR/Company.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/fa_IR/Company.php deleted file mode 100644 index 0de47b3..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/fa_IR/Company.php +++ /dev/null @@ -1,57 +0,0 @@ -generator->parse($format)); - } - - /** - * @example 'ahmad.ir' - */ - public function domainName() - { - return static::randomElement(static::$lastNameAscii) . '.' . $this->tld(); - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/fa_IR/Person.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/fa_IR/Person.php deleted file mode 100644 index e332968..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/fa_IR/Person.php +++ /dev/null @@ -1,201 +0,0 @@ - 1; $i--) { - $sum += $subNationalCodeString[$count] * ($i); - $count++; - } - - if (($sum % 11) < 2) { - return $sum % 11; - } - return 11 - ($sum % 11); - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/fa_IR/PhoneNumber.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/fa_IR/PhoneNumber.php deleted file mode 100644 index fb80b1d..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/fa_IR/PhoneNumber.php +++ /dev/null @@ -1,75 +0,0 @@ - 5) { - throw new \InvalidArgumentException('indexSize must be at most 5'); - } - - $words = $this->getConsecutiveWords($indexSize); - $result = array(); - $resultLength = 0; - // take a random starting point - $next = static::randomKey($words); - while ($resultLength < $maxNbChars && isset($words[$next])) { - // fetch a random word to append - $word = static::randomElement($words[$next]); - - // calculate next index - $currentWords = explode(' ', $next); - - $currentWords[] = $word; - array_shift($currentWords); - $next = implode(' ', $currentWords); - - if ($resultLength == 0 && !preg_match('/^[\x{0600}-\x{06FF}]/u', $word)) { - continue; - } - // append the element - $result[] = $word; - $resultLength += strlen($word) + 1; - } - - // remove the element that caused the text to overflow - array_pop($result); - - // build result - $result = implode(' ', $result); - - return $result.'.'; - } - - /** - * License: Creative Commons Attribution-ShareAlike License - * - * Title: مدیر مدرسه - * Author: جلال آل‌احمد - * Language: Persian - * - * @see http://fa.wikisource.org/wiki/%D9%85%D8%AF%DB%8C%D8%B1_%D9%85%D8%AF%D8%B1%D8%B3%D9%87 - * @var string - */ - protected static $baseText = <<<'EOT' -از در Ú©Ù‡ وارد شدم سیگارم دستم بود. زورم آمد سلام کنم. همین طوری دنگم گرÙته بود قد باشم. رئیس Ùرهنگ Ú©Ù‡ اجازه‌ی نشستن داد، نگاهش لحظه‌ای روی دستم Ù…Ú©Ø« کرد Ùˆ بعد چیزی را Ú©Ù‡ می‌نوشت، تمام کرد Ùˆ می‌خواست متوجه من بشود Ú©Ù‡ رونویس Ø­Ú©Ù… را روی میزش گذاشته بودم. حرÙÛŒ نزدیم. رونویس را با کاغذهای ضمیمه‌اش زیر Ùˆ رو کرد Ùˆ بعد غبغب انداخت Ùˆ آرام Ùˆ مثلاً خالی از عصبانیت Ú¯Ùت: - -- جا نداریم آقا. این Ú©Ù‡ نمی‌شه! هر روز یه Ø­Ú©Ù… می‌دند دست یکی می‌Ùرستنش سراغ من... دیروز به آقای مدیر Ú©Ù„... - -حوصله‌ی این اباطیل را نداشتم. حرÙØ´ را بریدم Ú©Ù‡: - -- ممکنه خواهش کنم زیر همین ورقه مرقوم بÙرمایید؟ - -Ùˆ سیگارم را توی زیرسیگاری براق روی میزش تکاندم. روی میز، پاک Ùˆ مرتب بود. درست مثل اتاق همان مهمان‌خانه‌ی تازه‌عروس‌ها. هر چیز به جای خود Ùˆ نه یک ذره گرد. Ùقط خاکستر سیگار من زیادی بود. مثل تÙÛŒ در صورت تازه تراشیده‌ای.... قلم را برداشت Ùˆ زیر Ø­Ú©Ù… چیزی نوشت Ùˆ امضا کرد Ùˆ من از در آمده بودم بیرون. خلاص. تحمل این یکی را نداشتم. با اداهایش. پیدا بود Ú©Ù‡ تازه رئیس شده. زورکی غبغب می‌انداخت Ùˆ حرÙØ´ را آهسته توی چشم آدم می‌زد. انگار برای شنیدنش گوش لازم نیست. صد Ùˆ پنجاه تومان در کارگزینی Ú©Ù„ مایه گذاشته بودم تا این Ø­Ú©Ù… را به امضا رسانده بودم. توصیه هم برده بودم Ùˆ تازه دو ماه هم دویده بودم. مو، لای درزش نمی‌رÙت. می‌دانستم Ú©Ù‡ Ú†Ù‡ او بپذیرد، Ú†Ù‡ نپذیرد، کار تمام است. خودش هم می‌دانست. حتماً هم دستگیرش شد Ú©Ù‡ با این Ù†Ú© Ùˆ نالی Ú©Ù‡ می‌کرد، خودش را کن٠کرده. ولی کاری بود Ùˆ شده بود. در کارگزینی Ú©Ù„ØŒ سÙارش کرده بودند Ú©Ù‡ برای خالی نبودن عریضه رونویس را به رؤیت رئیس Ùرهنگ هم برسانم تازه این طور شد. Ùˆ گر نه بالی Ø­Ú©Ù… کارگزینی Ú©Ù„ Ú†Ù‡ کسی می‌توانست حرÙÛŒ بزند؟ یک وزارت خانه بود Ùˆ یک کارگزینی! شوخی Ú©Ù‡ نبود. ته دلم قرص‌تر از این‌ها بود Ú©Ù‡ محتاج به این استدلال‌ها باشم. اما به نظرم همه‌ی این تقصیرها از این سیگار لعنتی بود Ú©Ù‡ به خیال خودم خواسته بودم خرجش را از محل اضاÙÙ‡ حقوق شغل جدیدم در بیاورم. البته از معلمی، هم اÙقم نشسته بود. ده سال «الÙ.ب.» درس دادن Ùˆ قیاÙه‌های بهت‌زده‌ی بچه‌های مردم برای مزخرÙ‌ترین چرندی Ú©Ù‡ می‌گویی... Ùˆ استغناء با غین Ùˆ استقراء با قا٠و خراسانی Ùˆ هندی Ùˆ قدیمی‌ترین شعر دری Ùˆ صنعت ارسال مثل Ùˆ ردالعجز... Ùˆ از این مزخرÙات! دیدم دارم خر می‌شوم. Ú¯Ùتم مدیر بشوم. مدیر دبستان! دیگر نه درس خواهم داد Ùˆ نه مجبور خواهم بود برای Ùرار از اتلا٠وقت، در امتحان تجدیدی به هر احمق بی‌شعوری Ù‡Ùت بدهم تا ایام آخر تابستانم را Ú©Ù‡ لذیذترین تکه‌ی تعطیلات است، نجات داده باشم. این بود Ú©Ù‡ راه اÙتادم. رÙتم Ùˆ از اهلش پرسیدم. از یک کار چاق Ú©Ù†. دستم را توی دست کارگزینی گذاشت Ùˆ قول Ùˆ قرار Ùˆ طرÙین خوش Ùˆ خرم Ùˆ یک روز هم نشانی مدرسه را دستم دادند Ú©Ù‡ بروم وارسی، Ú©Ù‡ باب میلم هست یا نه. - -Ùˆ رÙتم. مدرسه دو طبقه بود Ùˆ نوساز بود Ùˆ در دامنه‌ی کوه تنها اÙتاده بود Ùˆ Ø¢Ùتاب‌رو بود. یک Ùرهنگ‌دوست خرپول، عمارتش را وسط زمین خودش ساخته بود Ùˆ بیست Ùˆ پنج سال هم در اختیار Ùرهنگ گذاشته بود Ú©Ù‡ مدرسه‌اش کنند Ùˆ رÙت Ùˆ آمد بشود Ùˆ جاده‌ها کوبیده بشود Ùˆ این قدر ازین بشودها بشود، تا دل ننه باباها بسوزد Ùˆ برای این‌که راه بچه‌هاشان را کوتاه بکنند، بیایند همان اطرا٠مدرسه را بخرند Ùˆ خانه بسازند Ùˆ زمین یارو از متری یک عباسی بشود صد تومان. یارو اسمش را هم روی دیوار مدرسه کاشی‌کاری کرده بود. هنوز در Ùˆ همسایه پیدا نکرده بودند Ú©Ù‡ حرÙ‌شان بشود Ùˆ لنگ Ùˆ پاچه‌ی سعدی Ùˆ باباطاهر را بکشند میان Ùˆ یک ورق دیگر از تاریخ‌الشعرا را بکوبند روی نبش دیوار کوچه‌شان. تابلوی مدرسه هم حسابی Ùˆ بزرگ Ùˆ خوانا. از صد متری داد می‌زد Ú©Ù‡ توانا بود هر.... هر Ú†Ù‡ دلتان بخواهد! با شیر Ùˆ خورشیدش Ú©Ù‡ آن بالا سر، سه پا ایستاده بود Ùˆ زورکی تعادل خودش را Ø­Ùظ می‌کرد Ùˆ خورشید خانم روی کولش با ابروهای پیوسته Ùˆ قمچیلی Ú©Ù‡ به دست داشت Ùˆ تا سه تیر پرتاب، اطرا٠مدرسه بیابان بود. درندشت Ùˆ بی آب Ùˆ آبادانی Ùˆ آن ته رو به شمال، ردی٠کاج‌های درهم Ùرو رÙته‌ای Ú©Ù‡ از سر دیوار Ú¯Ù„ÛŒ یک باغ پیدا بود روی آسمان لکه‌ی دراز Ùˆ تیره‌ای زده بود. حتماً تا بیست Ùˆ پنج سال دیگر همه‌ی این اطرا٠پر می‌شد Ùˆ بوق ماشین Ùˆ ونگ ونگ بچه‌ها Ùˆ Ùریاد لبویی Ùˆ زنگ روزنامه‌Ùروشی Ùˆ عربده‌ی Ú¯Ù„ به سر دارم خیار! نان یارو توی روغن بود. - -- راستی شاید متری ده دوازده شاهی بیشتر نخریده باشد؟ شاید هم زمین‌ها را همین جوری به ثبت داده باشد؟ هان؟ - -- احمق به توچه؟!... - -بله این Ùکرها را همان روزی کردم Ú©Ù‡ ناشناس به مدرسه سر زدم Ùˆ آخر سر هم به این نتیجه رسیدم Ú©Ù‡ مردم حق دارند جایی بخوابند Ú©Ù‡ آب زیرشان نرود. - -- تو اگر مردی، عرضه داشته باش مدیر همین مدرسه هم بشو. - -Ùˆ رÙته بودم Ùˆ دنبال کار را گرÙته بودم تا رسیده بودم به این‌جا. همان روز وارسی Ùهمیده بودم Ú©Ù‡ مدیر قبلی مدرسه زندانی است. لابد کله‌اش بوی قرمه‌سبزی می‌داده Ùˆ باز لابد حالا دارد Ú©Ùاره‌ی گناهانی را می‌دهد Ú©Ù‡ یا خودش نکرده یا آهنگری در بلخ کرده. جزو پر قیچی‌های رئیس Ùرهنگ هم کسی نبود Ú©Ù‡ با مدیرشان، اضاÙÙ‡ حقوقی نصیبش بشود Ùˆ ناچار سر Ùˆ دستی برای این کار بشکند. خارج از مرکز هم نداشت. این معلومات را توی کارگزینی به دست آورده بودم. هنوز «گه خوردم نامه‌نویسی» هم مد نشده بود Ú©Ù‡ بگویم یارو به این زودی‌ها از سولدونی در خواهد آمد. Ùکر نمی‌کردم Ú©Ù‡ دیگری هم برای این وسط بیابان دلش Ù„Ú© زده باشد با زمستان سختش Ùˆ با رÙت Ùˆ آمد دشوارش. - -این بود Ú©Ù‡ خیالم راحت بود. از همه‌ی این‌ها گذشته کارگزینی Ú©Ù„ مواÙقت کرده بود! دست است Ú©Ù‡ پیش از بلند شدن بوی اسکناس، آن جا هم دو سه تا عیب شرعی Ùˆ عرÙÛŒ گرÙته بودند Ùˆ مثلاً Ú¯Ùته بودن لابد کاسه‌ای زیر نیم کاسه است Ú©Ù‡ Ùلانی یعنی من، با ده سال سابقه‌ی تدریس، می‌خواهد مدیر دبستان بشود! غرض‌شان این بود Ú©Ù‡ لابد خل شدم Ú©Ù‡ از شغل مهم Ùˆ محترم دبیری دست می‌شویم. ماهی صد Ùˆ پنجاه تومان حق مقام در آن روزها پولی نبود Ú©Ù‡ بتوانم نادیده بگیرم. Ùˆ تازه اگر ندیده می‌گرÙتم چه؟ باز باید بر می‌گشتم به این کلاس‌ها Ùˆ این جور حماقت‌ها. این بود Ú©Ù‡ پیش رئیس Ùرهنگ، صا٠برگشتم به کارگزینی Ú©Ù„ØŒ سراغ آن Ú©Ù‡ بÙهمی Ù†Ùهمی، دلال کارم بود. Ùˆ رونویس Ø­Ú©Ù… را گذاشتم Ùˆ Ú¯Ùتم Ú©Ù‡ Ú†Ù‡ طور شد Ùˆ آمدم بیرون. - -دو روز بعد رÙتم سراغش. معلوم شد Ú©Ù‡ حدسم درست بوده است Ùˆ رئیس Ùرهنگ Ú¯Ùته بوده: «من از این لیسانسه‌های پر اÙاده نمی‌خواهم Ú©Ù‡ سیگار به دست توی هر اتاقی سر می‌کنند.» - -Ùˆ یارو برایش Ú¯Ùته بود Ú©Ù‡ اصلاً وابدا..! Ùلانی همچین Ùˆ همچون است Ùˆ مثقالی Ù‡Ùت صنار با دیگران Ùرق دارد Ùˆ این هندوانه‌ها Ùˆ خیال من راحت باشد Ùˆ پنج‌شنبه یک Ù‡Ùته‌ی دیگر خودم بروم پهلوی او... Ùˆ این کار را کردم. این بار رئیس Ùرهنگ جلوی پایم بلند شد Ú©Ù‡: «ای آقا... چرا اول Ù†Ùرمودید؟!...» Ùˆ از کارمندهایش گله کرد Ùˆ به قول خودش، مرا «در جریان موقعیت محل» گذاشت Ùˆ بعد با ماشین خودش مرا به مدرسه رساند Ùˆ Ú¯Ùت زنگ را زودتر از موعد زدند Ùˆ در حضور معلم‌ها Ùˆ ناظم، نطق غرایی در خصائل مدیر جدید – Ú©Ù‡ من باشم – کرد Ùˆ بعد هم مرا گذاشت Ùˆ رÙت با یک مدرسه‌ی شش کلاسه‌ی «نوبنیاد» Ùˆ یک ناظم Ùˆ Ù‡Ùت تا معلم Ùˆ دویست Ùˆ سی Ùˆ پنج تا شاگرد. دیگر حسابی مدیر مدرسه شده بودم! - -ناظم، جوان رشیدی بود Ú©Ù‡ بلند حر٠می‌زد Ùˆ به راحتی امر Ùˆ نهی می‌کرد Ùˆ بیا Ùˆ برویی داشت Ùˆ با شاگردهای درشت، روی هم ریخته بود Ú©Ù‡ خودشان ترتیب کارها را می‌دادند Ùˆ پیدا بود Ú©Ù‡ به سر خر احتیاجی ندارد Ùˆ بی‌مدیر هم می‌تواند گلیم مدرسه را از آب بکشد. معلم کلاس چهار خیلی گنده بود. دو تای یک آدم حسابی. توی دÙتر، اولین چیزی Ú©Ù‡ به چشم می‌آمد. از آن‌هایی Ú©Ù‡ اگر توی Ú©ÙˆÚ†Ù‡ ببینی، خیال می‌کنی مدیر Ú©Ù„ است. Ù„Ùظ قلم حر٠می‌زد Ùˆ شاید به همین دلیل بود Ú©Ù‡ وقتی رئیس Ùرهنگ رÙت Ùˆ تشریÙات را با خودش برد، از طر٠همکارانش تبریک ورود Ú¯Ùت Ùˆ اشاره کرد به اینکه «ان‌شاءالله زیر سایه‌ی سرکار، سال دیگر کلاس‌های دبیرستان را هم خواهیم داشت.» پیدا بود Ú©Ù‡ این هیکل کم‌کم دارد از سر دبستان زیادی می‌کند! وقتی حر٠می‌زد همه‌اش درین Ùکر بودم Ú©Ù‡ با نان آقا معلمی Ú†Ù‡ طور می‌شد چنین هیکلی به هم زد Ùˆ چنین سر Ùˆ تیپی داشت؟ Ùˆ راستش تصمیم گرÙتم Ú©Ù‡ از Ùردا صبح به صبح ریشم را بتراشم Ùˆ یخه‌ام تمیز باشد Ùˆ اتوی شلوارم تیز. - -معلم کلاس اول باریکه‌ای بود، سیاه سوخته. با ته ریشی Ùˆ سر ماشین کرده‌ای Ùˆ یخه‌ی بسته. بی‌کراوات. شبیه میرزابنویس‌های دم پست‌خانه. حتی نوکر باب می‌نمود. Ùˆ من آن روز نتوانستم بÙهمم وقتی حر٠می‌زند کجا را نگاه می‌کند. با هر جیغ کوتاهی Ú©Ù‡ می‌زد هرهر می‌خندید. با این قضیه نمی‌شد کاری کرد. معلم کلاس سه، یک جوان ترکه‌ای بود؛ بلند Ùˆ با صورت استخوانی Ùˆ ریش از ته تراشیده Ùˆ یخه‌ی بلند آهاردار. مثل ÙرÙره می‌جنبید. چشم‌هایش برق عجیبی می‌زد Ú©Ù‡ Ùقط از هوش نبود، چیزی از ناسلامتی در برق چشم‌هایش بود Ú©Ù‡ مرا واداشت از ناظم بپرسم مبادا مسلول باشد. البته مسلول نبود، تنها بود Ùˆ در دانشگاه درس می‌خواند. کلاس‌های پنجم Ùˆ ششم را دو Ù†Ùر با هم اداره می‌کردند. یکی Ùارسی Ùˆ شرعیات Ùˆ تاریخ، جغراÙÛŒ Ùˆ کاردستی Ùˆ این جور سرگرمی‌ها را می‌گÙت، Ú©Ù‡ جوانکی بود بریانتین زده، با شلوار پاچه تنگ Ùˆ پوشت Ùˆ کراوات زرد Ùˆ پهنی Ú©Ù‡ نعش یک لنگر بزرگ آن را روی سینه‌اش Ù†Ú¯Ù‡ داشته بود Ùˆ دائماً دستش حمایل موهای سرش بود Ùˆ دم به دم توی شیشه‌ها نگاه می‌کرد. Ùˆ آن دیگری Ú©Ù‡ حساب Ùˆ مرابحه Ùˆ چیزهای دیگر می‌گÙت، جوانی بود موقر Ùˆ سنگین مازندرانی به نظر می‌آمد Ùˆ به خودش اطمینان داشت. غیر از این‌ها، یک معلم ورزش هم داشتیم Ú©Ù‡ دو Ù‡Ùته بعد دیدمش Ùˆ اصÙهانی بود Ùˆ از آن قاچاق‌ها. - -رئیس Ùرهنگ Ú©Ù‡ رÙت، گرم Ùˆ نرم از همه‌شان حال Ùˆ احوال پرسیدم. بعد به همه سیگار تعار٠کردم. سراپا همکاری Ùˆ همدردی بود. از کار Ùˆ بار هر کدامشان پرسیدم. Ùقط همان معلم کلاس سه، دانشگاه می‌رÙت. آن Ú©Ù‡ لنگر به سینه انداخته بود، شب‌ها انگلیسی می‌خواند Ú©Ù‡ برود آمریکا. چای Ùˆ بساطی در کار نبود Ùˆ ربع ساعت‌های تÙریح، Ùقط توی دÙتر جمع می‌شدند Ùˆ دوباره از نو. Ùˆ این نمی‌شد. باید همه‌ی سنن را رعایت کرد. دست کردم Ùˆ یک پنج تومانی روی میز گذاشتم Ùˆ قرار شد قبل Ùˆ منقلی تهیه کنند Ùˆ خودشان چای را راه بیندازند. - -بعد از زنگ قرار شد من سر ص٠نطقی بکنم. ناظم قضیه را در دو سه کلمه برای بچه‌ها Ú¯Ùت Ú©Ù‡ من رسیدم Ùˆ همه دست زدند. چیزی نداشتم برایشان بگویم. Ùقط یادم است اشاره‌ای به این کردم Ú©Ù‡ مدیر خیلی دلش می‌خواست یکی از شما را به جای Ùرزند داشته باشد Ùˆ حالا نمی‌داند با این همه Ùرزند Ú†Ù‡ بکند؟! Ú©Ù‡ بی‌صدا خندیدند Ùˆ در میان صÙ‌های عقب یکی Ù¾Ú©ÛŒ زد به خنده. واهمه برم داشت Ú©Ù‡ «نه بابا. کار ساده‌ای هم نیست!» قبلاً Ùکر کرده بودم Ú©Ù‡ می‌روم Ùˆ Ùارغ از دردسر اداره‌ی کلاس، در اتاق را روی خودم می‌بندم Ùˆ کار خودم را می‌کنم. اما حالا می‌دیدم به این سادگی‌ها هم نیست. اگر Ùردا یکی‌شان زد سر اون یکی را شکست، اگر یکی زیر ماشین رÙت؛ اگر یکی از ایوان اÙتاد؛ Ú†Ù‡ خاکی به سرم خواهم ریخت؟ - -حالا من مانده بودم Ùˆ ناظم Ú©Ù‡ چیزی از لای در آهسته خزید تو. کسی بود؛ Ùراش مدرسه با قیاÙه‌ای دهاتی Ùˆ ریش نتراشیده Ùˆ قدی کوتاه Ùˆ گشاد گشاد راه می‌رÙت Ùˆ دست‌هایش را دور از بدن Ù†Ú¯Ù‡ می‌داشت. آمد Ùˆ همان کنار در ایستاد. صا٠توی چشمم نگاه می‌کرد. حال او را هم پرسیدم. هر Ú†Ù‡ بود او هم می‌توانست یک گوشه‌ی این بار را بگیرد. در یک دقیقه همه‌ی درد دل‌هایش را کرد Ùˆ التماس دعاهایش Ú©Ù‡ تمام شد، Ùرستادمش برایم چای درست کند Ùˆ بیاورد. بعد از آن من به ناظم پرداختم. سال پیش، از دانشسرای مقدماتی در آمده بود. یک سال گرمسار Ùˆ کرج کار کرده بود Ùˆ امسال آمده بود این‌جا. پدرش دو تا زن داشته. از اولی دو تا پسر Ú©Ù‡ هر دو تا چاقوکش از آب در آمده‌اند Ùˆ از دومی Ùقط او مانده بود Ú©Ù‡ درس‌خوان شده Ùˆ سرشناس Ùˆ نان مادرش را می‌دهد Ú©Ù‡ مریض است Ùˆ از پدر سال‌هاست Ú©Ù‡ خبری نیست Ùˆ... یک اتاق گرÙته‌اند به پنجاه تومان Ùˆ صد Ùˆ پنجاه تومان حقوق به جایی نمی‌رسد Ùˆ تازه زور Ú©Ù‡ بزند سه سال دیگر می‌تواند از حق ÙÙ†ÛŒ نظامت مدرسه استÙاده کند - -... بعد بلند شدیم Ú©Ù‡ به کلاس‌ها سرکشی کنیم. بعد با ناظم به تک تک کلاس‌ها سر زدیم در این میان من به یاد دوران دبستان خودم اÙتادم. در کلاس ششم را باز کردیم «... ت بی پدرو مادر» جوانک بریانتین زده خورد توی صورت‌مان. یکی از بچه‌ها صورتش مثل چغندر قرمز بود. لابد بزک Ùحش هنوز باقی بود. قرائت Ùارسی داشتند. معلم دستهایش توی جیبش بود Ùˆ سینه‌اش را پیش داده بود Ùˆ زبان به شکایت باز کرد: - -- آقای مدیر! اصلاً دوستی سرشون نمی‌شه. تو سَری می‌خوان. ملاحظه کنید بنده با Ú†Ù‡ صمیمیتی... - -حرÙØ´ را در تشدید «ایت» بریدم Ú©Ù‡: - -- صحیح می‌Ùرمایید. این بار به من ببخشید. - -Ùˆ از در آمدیم بیرون. بعد از آن به اطاقی Ú©Ù‡ در آینده مال من بود سر زدیم. بهتر از این نمی‌شد. بی سر Ùˆ صدا، Ø¢Ùتاب‌رو، دور اÙتاده. - -وسط حیاط، یک حوض بزرگ بود Ùˆ کم‌عمق. تنها قسمت ساختمان بود Ú©Ù‡ رعایت حال بچه‌های قد Ùˆ نیم قد در آن شده بود. دور حیاط دیوار بلندی بود درست مثل دیوار چین. سد مرتÙعی در مقابل Ùرار احتمالی Ùرهنگ Ùˆ ته حیاط مستراح Ùˆ اتاق Ùراش بغلش Ùˆ انبار زغال Ùˆ بعد هم یک کلاس. به مستراح هم سر کشیدیم. همه بی در Ùˆ سق٠و تیغه‌ای میان آن‌ها. نگاهی به ناظم کردم Ú©Ù‡ پا به پایم می‌آمد. Ú¯Ùت: - -- دردسر عجیبی شده آقا. تا حالا صد تا کاغذ به ادارÙردا صبح رÙتم مدرسه. بچه‌ها با صÙ‌هاشان به طر٠کلاس‌ها می‌رÙتند Ùˆ ناظم چوب به دست توی ایوان ایستاده بود Ùˆ توی دÙتر دو تا از معلم‌ها بودند. معلوم شد کار هر روزه‌شان است. ناظم را هم Ùرستادم سر یک کلاس دیگر Ùˆ خودم آمدم دم در مدرسه به قدم زدن؛ Ùکر کردم از هر طر٠که بیایند مرا این ته، دم در مدرسه خواهند دید Ùˆ تمام طول راه در این خجالت خواهند ماند Ùˆ دیگر دیر نخواهند آمد. یک سیاهی از ته جاده‌ی جنوبی پیداشد. جوانک بریانتین زده بود. مسلماً او هم مرا می‌دید، ولی آهسته‌تر از آن می‌آمد Ú©Ù‡ یک معلم تأخیر کرده جلوی مدیرش می‌آمد. جلوتر Ú©Ù‡ آمد حتی شنیدم Ú©Ù‡ سوت می‌زد. اما بی‌انصا٠چنان سلانه سلانه می‌آمد Ú©Ù‡ دیدم هیچ جای گذشت نیست. اصلاً محل سگ به من نمی‌گذاشت. داشتم از کوره در می‌رÙتم Ú©Ù‡ یک مرتبه احساس کردم تغییری در رÙتار خود داد Ùˆ تند کرد. - -به خیر گذشت Ùˆ گرنه خدا عالم است Ú†Ù‡ اتÙاقی می‌اÙتاد. سلام Ú©Ù‡ کرد مثل این Ú©Ù‡ می‌خواست چیزی بگوید Ú©Ù‡ پیش دستی کردم: - -- بÙرمایید آقا. بÙرمایید، بچه‌ها منتظرند. - -واقعاً به خیر گذشت. شاید اتوبوسش دیر کرده. شاید راه‌بندان بوده؛ جاده قرق بوده Ùˆ باز یک گردن‌کلÙتی از اقصای عالم می‌آمده Ú©Ù‡ ازین سÙره‌ی مرتضی علی بی‌نصیب نماند. به هر صورت در دل بخشیدمش. Ú†Ù‡ خوب شد Ú©Ù‡ بد Ùˆ بی‌راهی Ù†Ú¯Ùتی! Ú©Ù‡ از دور علم اÙراشته‌ی هیکل معلم کلاس چهارم نمایان شد. از همان ته مرا دیده بود. تقریباً می‌دوید. تحمل این یکی را نداشتم. «بدکاری می‌کنی. اول بسم‌الله Ùˆ مته به خشخاش!» رÙتم Ùˆ توی دÙتر نشستم Ùˆ خودم را به کاری مشغول کردم Ú©Ù‡ هن هن کنان رسید. چنان عرق از پیشانی‌اش می‌ریخت Ú©Ù‡ راستی خجالت کشیدم. یک لیوان آب از کوه به دستش دادم Ùˆ مسخ‌شده‌ی خنده‌اش را با آب به خوردش دادم Ùˆ بلند Ú©Ù‡ شد برود، Ú¯Ùتم: - -- عوضش دو کیلو لاغر شدید. - -برگشت نگاهی کرد Ùˆ خنده‌ای Ùˆ رÙت. ناگهان ناظم از در وارد شد Ùˆ از را Ù‡ نرسیده Ú¯Ùت: - -- دیدید آقا! این جوری می‌آند مدرسه. اون قرتی Ú©Ù‡ عین خیالش هم نبود آقا! اما این یکی... - -از او پرسیدم: - -- انگار هنوز دو تا از کلاس‌ها ولند؟ - -- بله آقا. کلاس سه ورزش دارند. Ú¯Ùتم بنشینند دیکته بنویسند آقا. معلم حساب پنج Ùˆ شش هم Ú©Ù‡ نیومده آقا. - -در همین حین یکی از عکس‌های بزرگ دخمه‌های هخامنشی را Ú©Ù‡ به دیوار کوبیده بود پس زد Ùˆ: - -- نگاه کنید آقا... - -روی Ú¯Ú† دیوار با مداد قرمز Ùˆ نه چندان درشت، به عجله Ùˆ ناشیانه علامت داس کشیده بودند. همچنین دنبال کرد: - -- از آثار دوره‌ی اوناست آقا. کارشون همین چیزها بود. روزنومه بÙروشند. تبلیغات کنند Ùˆ داس Ú†Ú©Ø´ بکشند آقا. رئیس‌شون رو Ú©Ù‡ گرÙتند Ú†Ù‡ جونی کندم آقا تا حالی‌شون کنم Ú©Ù‡ دست ور دارند آقا. Ùˆ از روی میز پرید پایین. - -- Ú¯Ùتم Ù…Ú¯Ù‡ باز هم هستند؟ - -- آره آقا، پس Ú†ÛŒ! یکی همین آقازاده Ú©Ù‡ هنوز نیومده آقا. هر روز نیم ساعت تأخیر داره آقا. یکی هم مثل کلاس سه. - -- خوب چرا تا حالا پاکش نکردی؟ - -- به! آخه آدم درد دلشو واسه‌ی Ú©ÛŒ بگه؟ آخه آقا در میان تو روی آدم می‌گند جاسوس، مأمور! باهاش حرÙÙ… شده آقا. کتک Ùˆ کتک‌کاری! - -Ùˆ بعد یک سخنرانی Ú©Ù‡ Ú†Ù‡ طور مدرسه را خراب کرده‌اند Ùˆ اعتماد اهل محله را Ú†Ù‡ طور از بین برده‌اند Ú©Ù‡ نه انجمنی، نه Ú©Ù…Ú©ÛŒ به بی‌بضاعت‌ها؛ Ùˆ از این حر٠ها. - -بعد از سخنرانی آقای ناظم دستمالم را دادم Ú©Ù‡ آن عکس‌ها را پاک کند Ùˆ بعد هم راه اÙتادم Ú©Ù‡ بروم سراغ اتاق خودم. در اتاقم را Ú©Ù‡ باز کردم، داشتم دماغم با بوی خاک نم کشیده‌اش اخت می‌کرد Ú©Ù‡ آخرین معلم هم آمد. آمدم توی ایوان Ùˆ با صدای بلند، جوری Ú©Ù‡ در تمام مدرسه بشنوند، ناظم را صدا زدم Ùˆ Ú¯Ùتم با قلم قرمز برای آقا یک ساعت تأخیر بگذارند.ه‌ی ساختمان نوشتیم آقا. می‌گند نمی‌شه پول دولت رو تو ملک دیگرون خرج کرد. - -- Ú¯Ùتم راست می‌گند. - -دیگه کاÙÛŒ بود. آمدیم بیرون. همان توی حیاط تا Ù†Ùسی تازه کنیم وضع مالی Ùˆ بودجه Ùˆ ازین حرÙ‌های مدرسه را پرسیدم. هر اتاق ماهی پانزده ریال حق نظاÙت داشت. لوازم‌التحریر Ùˆ دÙترها را هم اداره‌ی Ùرهنگ می‌داد. ماهی بیست Ùˆ پنج تومان هم برای آب خوردن داشتند Ú©Ù‡ هنوز وصول نشده بود. برای نصب هر بخاری سالی سه تومان. ماهی سی تومان هم تنخواه‌گردان مدرسه بود Ú©Ù‡ مثل پول آب سوخت شده بود Ùˆ حالا هم ماه دوم سال بود. اواخر آبان. حالیش کردم Ú©Ù‡ حوصله‌ی این کارها را ندارم Ùˆ غرضم را از مدیر شدن برایش خلاصه کردم Ùˆ Ú¯Ùتم حاضرم همه‌ی اختیارات را به او بدهم. «اصلاً انگار Ú©Ù‡ هنوز مدیر نیامده.» مهر مدرسه هم پهلوی خودش باشد. البته او را هنوز نمی‌شناختم. شنیده بودم Ú©Ù‡ مدیرها قبلاً ناظم خودشان را انتخاب می‌کنند، اما من نه کسی را سراغ داشتم Ùˆ نه حوصله‌اش را. Ø­Ú©Ù… خودم را هم به زور گرÙته بودم. سنگ‌هامان را وا کندیم Ùˆ به دÙتر رÙتیم Ùˆ چایی را Ú©Ù‡ Ùراش از بساط خانه‌اش درست کرده بود، خوردیم تا زنگ را زدند Ùˆ باز هم زدند Ùˆ من نگاهی به پرونده‌های شاگردها کردم Ú©Ù‡ هر کدام عبارت بود از دو برگ کاغذ. از همین دو سه برگ کاغذ دانستم Ú©Ù‡ اولیای بچه‌ها اغلب زارع Ùˆ باغبان Ùˆ اویارند Ùˆ قبل از این‌که زنگ آخر را بزنند Ùˆ مدرسه تعطیل بشود بیرون آمدم. برای روز اول خیلی زیاد بود. - -Ùردا صبح رÙتم مدرسه. بچه‌ها با صÙ‌هاشان به طر٠کلاس‌ها می‌رÙتند Ùˆ ناظم چوب به دست توی ایوان ایستاده بود Ùˆ توی دÙتر دو تا از معلم‌ها بودند. معلوم شد کار هر روزه‌شان است. ناظم را هم Ùرستادم سر یک کلاس دیگر Ùˆ خودم آمدم دم در مدرسه به قدم زدن؛ Ùکر کردم از هر طر٠که بیایند مرا این ته، دم در مدرسه خواهند دید Ùˆ تمام طول راه در این خجالت خواهند ماند Ùˆ دیگر دیر نخواهند آمد. یک سیاهی از ته جاده‌ی جنوبی پیداشد. جوانک بریانتین زده بود. مسلماً او هم مرا می‌دید، ولی آهسته‌تر از آن می‌آمد Ú©Ù‡ یک معلم تأخیر کرده جلوی مدیرش می‌آمد. جلوتر Ú©Ù‡ آمد حتی شنیدم Ú©Ù‡ سوت می‌زد. اما بی‌انصا٠چنان سلانه سلانه می‌آمد Ú©Ù‡ دیدم هیچ جای گذشت نیست. اصلاً محل سگ به من نمی‌گذاشت. داشتم از کوره در می‌رÙتم Ú©Ù‡ یک مرتبه احساس کردم تغییری در رÙتار خود داد Ùˆ تند کرد. - -به خیر گذشت Ùˆ گرنه خدا عالم است Ú†Ù‡ اتÙاقی می‌اÙتاد. سلام Ú©Ù‡ کرد مثل این Ú©Ù‡ می‌خواست چیزی بگوید Ú©Ù‡ پیش دستی کردم: - -- بÙرمایید آقا. بÙرمایید، بچه‌ها منتظرند. - -واقعاً به خیر گذشت. شاید اتوبوسش دیر کرده. شاید راه‌بندان بوده؛ جاده قرق بوده Ùˆ باز یک گردن‌کلÙتی از اقصای عالم می‌آمده Ú©Ù‡ ازین سÙره‌ی مرتضی علی بی‌نصیب نماند. به هر صورت در دل بخشیدمش. Ú†Ù‡ خوب شد Ú©Ù‡ بد Ùˆ بی‌راهی Ù†Ú¯Ùتی! Ú©Ù‡ از دور علم اÙراشته‌ی هیکل معلم کلاس چهارم نمایان شد. از همان ته مرا دیده بود. تقریباً می‌دوید. تحمل این یکی را نداشتم. «بدکاری می‌کنی. اول بسم‌الله Ùˆ مته به خشخاش!» رÙتم Ùˆ توی دÙتر نشستم Ùˆ خودم را به کاری مشغول کردم Ú©Ù‡ هن هن کنان رسید. چنان عرق از پیشانی‌اش می‌ریخت Ú©Ù‡ راستی خجالت کشیدم. یک لیوان آب از کوه به دستش دادم Ùˆ مسخ‌شده‌ی خنده‌اش را با آب به خوردش دادم Ùˆ بلند Ú©Ù‡ شد برود، Ú¯Ùتم: - -- عوضش دو کیلو لاغر شدید. - -برگشت نگاهی کرد Ùˆ خنده‌ای Ùˆ رÙت. ناگهان ناظم از در وارد شد Ùˆ از را Ù‡ نرسیده Ú¯Ùت: - -- دیدید آقا! این جوری می‌آند مدرسه. اون قرتی Ú©Ù‡ عین خیالش هم نبود آقا! اما این یکی... - -از او پرسیدم: - -- انگار هنوز دو تا از کلاس‌ها ولند؟ - -- بله آقا. کلاس سه ورزش دارند. Ú¯Ùتم بنشینند دیکته بنویسند آقا. معلم حساب پنج Ùˆ شش هم Ú©Ù‡ نیومده آقا. - -در همین حین یکی از عکس‌های بزرگ دخمه‌های هخامنشی را Ú©Ù‡ به دیوار کوبیده بود پس زد Ùˆ: - -- نگاه کنید آقا... - -روی Ú¯Ú† دیوار با مداد قرمز Ùˆ نه چندان درشت، به عجله Ùˆ ناشیانه علامت داس کشیده بودند. همچنین دنبال کرد: - -- از آثار دوره‌ی اوناست آقا. کارشون همین چیزها بود. روزنومه بÙروشند. تبلیغات کنند Ùˆ داس Ú†Ú©Ø´ بکشند آقا. رئیس‌شون رو Ú©Ù‡ گرÙتند Ú†Ù‡ جونی کندم آقا تا حالی‌شون کنم Ú©Ù‡ دست ور دارند آقا. Ùˆ از روی میز پرید پایین. - -- Ú¯Ùتم Ù…Ú¯Ù‡ باز هم هستند؟ - -- آره آقا، پس Ú†ÛŒ! یکی همین آقازاده Ú©Ù‡ هنوز نیومده آقا. هر روز نیم ساعت تأخیر داره آقا. یکی هم مثل کلاس سه. - -- خوب چرا تا حالا پاکش نکردی؟ - -- به! آخه آدم درد دلشو واسه‌ی Ú©ÛŒ بگه؟ آخه آقا در میان تو روی آدم می‌گند جاسوس، مأمور! باهاش حرÙÙ… شده آقا. کتک Ùˆ کتک‌کاری! - -Ùˆ بعد یک سخنرانی Ú©Ù‡ Ú†Ù‡ طور مدرسه را خراب کرده‌اند Ùˆ اعتماد اهل محله را Ú†Ù‡ طور از بین برده‌اند Ú©Ù‡ نه انجمنی، نه Ú©Ù…Ú©ÛŒ به بی‌بضاعت‌ها؛ Ùˆ از این حر٠ها. - -بعد از سخنرانی آقای ناظم دستمالم را دادم Ú©Ù‡ آن عکس‌ها را پاک کند Ùˆ بعد هم راه اÙتادم Ú©Ù‡ بروم سراغ اتاق خودم. در اتاقم را Ú©Ù‡ باز کردم، داشتم دماغم با بوی خاک نم کشیده‌اش اخت می‌کرد Ú©Ù‡ آخرین معلم هم آمد. آمدم توی ایوان Ùˆ با صدای بلند، جوری Ú©Ù‡ در تمام مدرسه بشنوند، ناظم را صدا زدم Ùˆ Ú¯Ùتم با قلم قرمز برای آقا یک ساعت تأخیر بگذارند. - -روز سوم باز اول وقت مدرسه بودم. هنوز از پشت دیوار نپیچیده بودم Ú©Ù‡ صدای سوز Ùˆ بریز بچه‌ها به پیشبازم آمد. تند کردم. پنج تا از بچه‌ها توی ایوان به خودشان می‌پیچیدند Ùˆ ناظم ترکه‌ای به دست داشت Ùˆ به نوبت به ک٠دست‌شان می‌زد. بچه‌ها التماس می‌کردند؛ گریه می‌کردند؛ اما دستشان را هم دراز می‌کردند. نزدیک بود داد بزنم یا با لگد بزنم Ùˆ ناظم را پرت کنم آن طرÙ. پشتش به من بود Ùˆ من را نمی‌دید. ناگهان زمزمه‌ای توی صÙ‌ها اÙتاد Ú©Ù‡ یک مرتبه مرا به صراÙت انداخت Ú©Ù‡ در مقام مدیریت مدرسه، به سختی می‌شود ناظم را کتک زد. این بود Ú©Ù‡ خشمم را Ùرو خوردم Ùˆ آرام از پله‌ها رÙتم بالا. ناظم، تازه متوجه من شده بود در همین حین دخالتم را کردم Ùˆ خواهش کردم این بار همه‌شان را به من ببخشند. - -نمی‌دانم Ú†Ù‡ کار خطایی از آنها سر زده بود Ú©Ù‡ ناظم را تا این حد عصبانی کرده بود. بچه‌ها سکسکه‌کنان رÙتند توی صÙ‌ها Ùˆ بعد زنگ را زدند Ùˆ صÙ‌ها رÙتند به کلاس‌ها Ùˆ دنبالشان هم معلم‌ها Ú©Ù‡ همه سر وقت حاضر بودند. نگاهی به ناظم انداختم Ú©Ù‡ تازه حالش سر جا آمده بود Ùˆ Ú¯Ùتم در آن حالی Ú©Ù‡ داشت، ممکن بود گردن یک کدامشان را بشکند. Ú©Ù‡ مرتبه براق شد: - -- اگه یک روز جلوشونو نگیرید سوارتون می‌شند آقا. نمی‌دونید Ú†Ù‡ قاطرهای چموشی شده‌اند آقا. - -مثل بچه مدرسه‌ای‌ها آقا آقا می‌کرد. موضوع را برگرداندم Ùˆ احوال مادرش را پرسیدم. خنده، صورتش را از هم باز کرد Ùˆ صدا زد Ùراش برایش آب بیاورد. یادم هست آن روز نیم ساعتی برای آقای ناظم صحبت کردم. پیرانه. Ùˆ او جوان بود Ùˆ زود می‌شد رامش کرد. بعد ازش خواستم Ú©Ù‡ ترکه‌ها را بشکند Ùˆ آن وقت من رÙتم سراغ اتاق خودم. - -در همان Ù‡Ùته‌ی اول به کارها وارد شدم. Ùردای زمستان Ùˆ نه تا بخاری زغال سنگی Ùˆ روزی چهار بار آب آوردن Ùˆ آب Ùˆ جاروی اتاق‌ها با یک Ùراش جور در نمی‌آید. یک Ùراش دیگر از اداره ÛŒ Ùرهنگ خواستم Ú©Ù‡ هر روز منتظر ورودش بودیم. بعد از ظهرها را نمی‌رÙتم. روزهای اول با دست Ùˆ دل لرزان، ولی سه چهار روزه جرأت پیدا کردم. احساس می‌کردم Ú©Ù‡ مدرسه زیاد هم محض خاطر من نمی‌گردد. کلاس اول هم یکسره بود Ùˆ به خاطر بچه‌های جغله دلهره‌ای نداشتم. در بیابان‌های اطرا٠مدرسه هم ماشینی آمد Ùˆ رÙت نداشت Ùˆ گرچه پست Ùˆ بلند بود اما به هر صورت از حیاط مدرسه Ú©Ù‡ بزرگ‌تر بود. معلم ها هم، هر بعد از ظهری دو تاشان به نوبت می‌رÙتند یک جوری باهم کنار آمده بودند. Ùˆ ترسی هم از این نبود Ú©Ù‡ بچه‌ها از علم Ùˆ Ùرهنگ ثقل سرد بکنند. یک روز هم بازرس آمد Ùˆ نیم ساعتی پیزر لای پالان هم گذاشتیم Ùˆ چای Ùˆ احترامات متقابل! Ùˆ در دÙتر بازرسی تصدیق کرد Ú©Ù‡ مدرسه «با وجود عدم وسایل» بسیار خوب اداره می‌شود. - -بچه‌ها مدام در مدرسه زمین می‌خوردند، بازی می‌کردند، زمین می‌خوردند. مثل اینکه تاتوله خورده بودند. ساده‌ترین Ø´Ú©Ù„ بازی‌هایشان در ربع ساعت‌های تÙریح، دعوا بود. Ùکر می‌کردم علت این همه زمین خوردن شاید این باشد Ú©Ù‡ بیش‌ترشان Ú©ÙØ´ حسابی ندارند. آن‌ها هم Ú©Ù‡ داشتند، بچه‌ننه بودند Ùˆ بلد نبودند بدوند Ùˆ حتی راه بروند. این بود Ú©Ù‡ روزی دو سه بار، دست Ùˆ پایی خراش بر می‌داشت. پرونده‌ی برق Ùˆ تلÙÙ† مدرسه را از بایگانی بسیار محقر مدرسه بیرون کشیده بودم Ùˆ خوانده بودم. اگر یک خرده می‌دویدی تا دو سه سال دیگر هم برق مدرسه درست می‌شد Ùˆ هم تلÙنش. دوباره سری به اداره ساختمان زدم Ùˆ موضوع را تازه کردم Ùˆ به رÙقایی Ú©Ù‡ دورادور در اداره‌ی برق Ùˆ تلÙÙ† داشتم، یکی دو بار رو انداختم Ú©Ù‡ اول خیال می‌کردند کار خودم را می‌خواهم به اسم مدرسه راه بیندازم Ùˆ ناچار رها کردم. این قدر بود Ú©Ù‡ ادای وظیÙه‌ای می‌کرد. مدرسه آب نداشت. نه آب خوراکی Ùˆ نه آب جاری. با هرزاب بهاره، آب انبار زیر حوض را می‌انباشتند Ú©Ù‡ تلمبه‌ای سرش بود Ùˆ حوض را با همان پر می‌کردند Ùˆ خود بچه‌ها. اما برای آب خوردن دو تا منبع صد لیتری داشتیم از آهن سÙید Ú©Ù‡ مثل امامزاده‌ای یا سقاخانه‌ای دو قلو، روی چهار پایه کنار حیاط بود Ùˆ روزی دو بار پر Ùˆ خالی می‌شد. این آب را از همان باغی می‌آوردیم Ú©Ù‡ ردی٠کاج‌هایش روی آسمان، لکه‌ی دراز سیاه انداخته بود. البته Ùراش می‌آورد. با یک سطل بزرگ Ùˆ یک آب‌پاش Ú©Ù‡ سوراخ بود Ùˆ تا به مدرسه می‌رسید، نص٠شده بود. هر دو را از جیب خودم دادم تعمیر کردند. - -یک روز هم مالک مدرسه آمد. پیرمردی موقر Ùˆ سنگین Ú©Ù‡ خیال می‌کرد برای سرکشی به خانه‌ی مستأجرنشینش آمده. از در وارد نشده Ùریادش بلند شد Ùˆ Ùحش را کشید به Ùراش Ùˆ به Ùرهنگ Ú©Ù‡ چرا بچه‌ها دیوار مدرسه را با زغال سیاه کرده‌اند واز همین توپ Ùˆ تشرش شناختمش. Ú©Ù„ÛŒ با او صحبت کردیم البته او دو برابر سن من را داشت. برایش چای هم آوردیم Ùˆ با معلم‌ها آشنا شد Ùˆ قول‌ها داد Ùˆ رÙت. کنه‌ای بود. درست یک پیرمرد. یک ساعت Ùˆ نیم درست نشست. ماهی یک بار هم این برنامه را داشتند Ú©Ù‡ بایست پیه‌اش را به تن می‌مالیدم. - -اما معلم‌ها. هر کدام یک ابلاغ بیست Ùˆ چهار ساعته در دست داشتند، ولی در برنامه به هر کدام‌شان بیست ساعت درس بیشتر نرسیده بود. Ú©Ù… Ú©Ù… قرار شد Ú©Ù‡ یک معلم از Ùرهنگ بخواهیم Ùˆ به هر کدام‌شان هجده ساعت درس بدهیم، به شرط آن‌که هیچ بعد از ظهری مدرسه تعطیل نباشد. حتی آن Ú©Ù‡ دانشگاه می‌رÙت می‌توانست با Ù‡Ùته‌ای هجده ساعت درس بسازد. Ùˆ دشوارترین کار همین بود Ú©Ù‡ با کدخدامنشی حل شد Ùˆ من یک معلم دیگر از Ùرهنگ خواستم. - -اواخر Ù‡Ùته‌ی دوم، Ùراش جدید آمد. مرد پنجاه ساله‌ای باریک Ùˆ زبر Ùˆ زرنگ Ú©Ù‡ شب‌کلاه می‌گذاشت Ùˆ لباس آبی می‌پوشید Ùˆ تسبیح می‌گرداند Ùˆ از هر کاری سر رشته داشت. آب خوردن را نوبتی می‌آوردند. مدرسه تر Ùˆ تمیز شد Ùˆ رونقی گرÙت. Ùراش جدید سرش توی حساب بود. هر دو مستخدم با هم تمام بخاری‌ها را راه انداختند Ùˆ یک کارگر هم برای Ú©Ù…Ú© به آن‌ها آمد. Ùراش قدیمی را چهار روز پشت سر هم، سر ظهر می‌Ùرستادیم اداره‌ی Ùرهنگ Ùˆ هر آن منتظر زغال بودیم. هنوز یک Ù‡Ùته از آمدن Ùراش جدید نگذشته بود Ú©Ù‡ صدای همه‌ی معلم‌ها در آمده بود. نه به هیچ کدامشان سلام می‌کرد Ùˆ نه به دنبال خرده Ùرمایش‌هایشان می‌رÙت. درست است Ú©Ù‡ به من سلام می‌کرد، اما معلم‌ها هم، لابد هر کدام در حدود من صاحب Ùضایل Ùˆ عنوان Ùˆ معلومات بودند Ú©Ù‡ از یک Ùراش مدرسه توقع سلام داشته باشند. اما انگار نه انگار. - -بدتر از همه این Ú©Ù‡ سر خر معلم‌ها بود. من Ú©Ù‡ از همان اول، خرجم را سوا کرده بودم Ùˆ آن‌ها را آزاد گذاشته بودم Ú©Ù‡ در مواقع بیکاری در دÙتر را روی خودشان ببندند Ùˆ هر Ú†Ù‡ می‌خواهند بگویند Ùˆ هر کاری می‌خواهند بکنند. اما او در Ùاصله‌ی ساعات درس، همچه Ú©Ù‡ معلم‌ها می‌آمدند، می‌آمد توی دÙتر Ùˆ همین طوری گوشه‌ی اتاق می‌ایستاد Ùˆ معلم‌ها کلاÙÙ‡ می‌شدند. نه می‌توانستند شلکلک‌های معلمی‌شان را در حضور او کنار بگذارند Ùˆ نه جرأت می‌کردند به او چیزی بگویند. بدزبان بود Ùˆ از عهده‌ی همه‌شان بر می‌آمد. یکی دوبار دنبال نخود سیاه Ùرستاده بودندش. اما زرنگ بود Ùˆ Ùوری کار را انجام می‌داد Ùˆ بر می‌گشت. حسابی موی دماغ شده بود. ده سال تجربه این حداقل را به من آموخته بود Ú©Ù‡ اگر معلم‌ها در ربع ساعت‌های تÙریح نتوانند بخندند، سر کلاس، بچه‌های مردم را کتک خواهند زد. این بود Ú©Ù‡ دخالت کردم. یک روز Ùراش جدید را صدا زدم. اول حال Ùˆ احوالپرسی Ùˆ بعد چند سال سابقه دارد Ùˆ چند تا بچه Ùˆ Ú†Ù‡ قدر می‌گیرد... Ú©Ù‡ قضیه حل شد. سی صد Ùˆ خرده‌ای حقوق می‌گرÙت. با بیست Ùˆ پنج سال سابقه. کار از همین جا خراب بود. پیدا بود Ú©Ù‡ معلم‌ها حق دارند او را غریبه بدانند. نه دیپلمی، نه کاغذپاره‌ای، هر Ú†Ù‡ باشد یک Ùراش Ú©Ù‡ بیشتر نبود! Ùˆ تازه قلدر هم بود Ùˆ حق هم داشت. اول به اشاره Ùˆ کنایه Ùˆ بعد با صراحت بهش Ùهماندم Ú©Ù‡ گر Ú†Ù‡ معلم جماعت اجر دنیایی ندارد، اما از او Ú©Ù‡ آدم متدین Ùˆ Ùهمیده‌ای است بعید است Ùˆ از این حرÙ‌ها... Ú©Ù‡ یک مرتبه پرید توی حرÙÙ… Ú©Ù‡: - -- ای آقا! Ú†Ù‡ می‌Ùرمایید؟ شما نه خودتون این کاره‌اید Ùˆ نه اینارو می‌شناسید. امروز می‌خواند سیگار براشون بخرم، Ùردا می‌Ùرستنم سراغ عرق. من این‌ها رو می‌شناسم. - -راست می‌گÙت. زودتر از همه، او دندان‌های مرا شمرده بود. Ùهمیده بود Ú©Ù‡ در مدرسه هیچ‌کاره‌ام. می‌خواستم کوتاه بیایم، ولی مدیر مدرسه بودن Ùˆ در مقابل یک Ùراش پررو ساکت ماندن!... Ú©Ù‡ خر خر کامیون زغال به دادم رسید. ترمز Ú©Ù‡ کرد Ùˆ صدا خوابید Ú¯Ùتم: - -- این حرÙ‌ها قباحت داره. معلم جماعت کجا پولش به عرق می‌رسه؟ حالا بدو زغال آورده‌اند. - -Ùˆ همین طور Ú©Ù‡ داشت بیرون می‌رÙت، اÙزودم: - -- دو روز دیگه Ú©Ù‡ محتاجت شدند Ùˆ ازت قرض خواستند با هم رÙیق می‌شید. - -Ùˆ آمدم توی ایوان. در بزرگ آهنی مدرسه را باز کرده بودند Ùˆ کامیون آمده بود تو Ùˆ داشتند بارش را جلوی انبار ته حیاط خالی می‌کردند Ùˆ راننده، کاغذی به دست ناظم داد Ú©Ù‡ نگاهی به آن انداخت Ùˆ مرا نشان داد Ú©Ù‡ در ایوان بالا ایستاده بودم Ùˆ Ùرستادش بالا. کاغذش را با سلام به دستم داد. بیجک زغال بود. رسید رسمی اداره‌ی Ùرهنگ بود در سه نسخه Ùˆ روی آن ورقه‌ی ماشین شده‌ی «باسکول» Ú©Ù‡ می‌گÙت کامیون Ùˆ محتویاتش جمعاً دوازده خروار است. اما رسیدهای رسمی اداری Ùرهنگ ساکت بودند. جای مقدار زغالی Ú©Ù‡ تحویل مدرسه داده شده بود، در هر سه نسخه خالی بود. پیدا بود Ú©Ù‡ تحویل گیرنده باید پرشان کند. همین کار را کردم. اوراق را بردم توی اتاق Ùˆ با خودنویسم عدد را روی هر سه ورق نوشتم Ùˆ امضا کردم Ùˆ به دست راننده دادم Ú©Ù‡ راه اÙتاد Ùˆ از همان بالا به ناظم Ú¯Ùتم: - -- اگر مهر هم بایست زد، خودت بزن بابا. - -Ùˆ رÙتم سراغ کارم Ú©Ù‡ ناگهان در باز شد Ùˆ ناظم آمد تو؛ بیجک زغال دستش بود Ùˆ: - -- Ù…Ú¯Ù‡ Ù†Ùهمیدین آقا؟ مخصوصاً جاش رو خالی گذاشته بودند آقا... - -Ù†Ùهمیده بودم. اما اگر هم Ùهمیده بودم، Ùرقی نمی‌کرد Ùˆ به هر صورت از چنین کودنی نا به هنگام از جا در رÙتم Ùˆ به شدت Ú¯Ùتم: - -- خوب؟ - -- هیچ Ú†ÛŒ آقا.... رسم‌شون همینه آقا. اگه باهاشون کنار نیایید کارمونو لنگ می‌گذارند آقا... - -Ú©Ù‡ از جا در رÙتم. به چنین صراحتی مرا Ú©Ù‡ مدیر مدرسه بودم در معامله شرکت می‌داد. Ùˆ Ùریاد زدم: - -- عجب! حالا سرکار برای من تکلی٠هم معین می‌کنید؟... خاک بر سر این Ùرهنگ با مدیرش Ú©Ù‡ من باشم! برو ورقه رو بده دست‌شون، گورشون رو Ú¯Ù… کنند. پدر سوخته‌ها... - -چنان Ùریاد زده بودم Ú©Ù‡ هیچ کس در مدرسه انتظار نداشت. مدیر سر به زیر Ùˆ پا به راهی بودم Ú©Ù‡ از همه خواهش می‌کردم Ùˆ حالا ناظم مدرسه، داشت به من یاد می‌داد Ú©Ù‡ به جای نه خروار زغال مثلا هجده خروار تحویل بگیرم Ùˆ بعد با اداره‌ی Ùرهنگ کنار بیایم. Ù‡ÛŒ Ù‡ÛŒ!.... تا ظهر هیچ کاری نتوانستم بکنم، جز این‌که چند بار متن استعÙانامه‌ام را بنویسم Ùˆ پاره کنم... قدم اول را این جور جلوی پای آدم می‌گذارند. - -بارندگی Ú©Ù‡ شروع شد دستور دادم بخاری‌ها را از Ù‡Ùت صبح بسوزانند. بچه‌ها همیشه زود می‌آمدند. حتی روزهای بارانی. مثل این‌که اول Ø¢Ùتاب از خانه بیرون‌شان می‌کنند. یا ناهارنخورده. خیلی سعی کردم یک روز زودتر از بچه‌ها مدرسه باشم. اما عاقبت نشد Ú©Ù‡ مدرسه را خالی از Ù†Ùس٠به علم‌آلوده‌ی بچه‌ها استنشاق کنم. از راه Ú©Ù‡ می‌رسیدند دور بخاری جمع می‌شدند Ùˆ گیوه‌هاشان را خشک می‌کردند. Ùˆ خیلی زود Ùهمیدم Ú©Ù‡ ظهر در مدرسه ماندن هم مسأله Ú©ÙØ´ بود. هر Ú©Ù‡ داشت نمی‌ماند.این قاعده در مورد معلم‌ها هم صدق می‌کرد اقلاً یک پول واکس جلو بودند. وقتی Ú©Ù‡ باران می‌بارید تمام کوهپایه Ùˆ بدتر از آن تمام حیاط مدرسه Ú¯Ù„ می‌شد. بازی Ùˆ دویدن متوق٠شده بود. مدرسه سوت Ùˆ کور بود. این جا هم مسأله Ú©ÙØ´ بود. چشم اغلبشان هم قرمز بود. پیدا بود باز آن روز صبح یک Ùصل گریه کرده‌اند Ùˆ در خانه‌شان علم صراطی بوده است. - -مدرسه داشت تخته می‌شد. عده‌ی غایب‌های صبح ده برابر شده بود Ùˆ ساعت اول هیچ معلمی نمی‌توانست درس بدهد. دست‌های ورم‌کرده Ùˆ سرمازده کار نمی‌کرد. حتی معلم کلاس اولمان هم می‌دانست Ú©Ù‡ Ùرهنگ Ùˆ معلومات مدارس ما صرÙاً تابع تمرین است. مشق Ùˆ تمرین. ده بار بیست بار. دست یخ‌کرده بیل Ùˆ رنده را هم نمی‌تواند به کار بگیرد Ú©Ù‡ خیلی هم زمخت‌اند Ùˆ دست پر Ú©Ù†. این بود Ú©Ù‡ به Ùکر اÙتادیم. Ùراش جدید واردتر از همه‌ی ما بود. یک روز در اتاق دÙتر، شورامانندی داشتیم Ú©Ù‡ البته او هم بود. خودش را کم‌کم تحمیل کرده بود. Ú¯Ùت حاضر است یکی از دÙم‌کلÙت‌های همسایه‌ی مدرسه را وادارد Ú©Ù‡ شن برایمان بÙرستد به شرط آن Ú©Ù‡ ما هم برویم Ùˆ از انجمن محلی برای بچه‌ها Ú©ÙØ´ Ùˆ لباس بخواهیم. قرار شد خودش قضیه را دنبال کند Ú©Ù‡ Ù‡Ùته‌ی آینده جلسه‌شان کجاست Ùˆ حتی بخواهد Ú©Ù‡ دعوت‌مانندی از ما بکنند. دو روز بعد سه تا کامیون شن آمد. دوتایش را توی حیاط مدرسه، خالی کردیم Ùˆ سومی را دم در مدرسه، Ùˆ خود بچه‌ها نیم ساعته پهنش کردند. با پا Ùˆ بیل Ùˆ هر Ú†Ù‡ Ú©Ù‡ به دست می‌رسید. - -عصر همان روز ما را به انجمن دعوت کردند. خود من Ùˆ ناظم باید می‌رÙتیم. معلم کلاس چهارم را هم با خودمان بردیم. خانه‌ای Ú©Ù‡ محل جلسه‌ی آن شب انجمن بود، درست مثل مدرسه، دور اÙتاده Ùˆ تنها بود. قالی‌ها Ùˆ کناره‌ها را به Ùرهنگ می‌آلودیم Ùˆ می‌رÙتیم. مثل این‌که سه تا سه تا روی هم انداخته بودند. اولی Ú©Ù‡ کثی٠شد دومی. به بالا Ú©Ù‡ رسیدیم یک حاجی آقا در حال نماز خواندن بود. Ùˆ صاحب‌خانه با لهجه‌ی غلیظ یزدی به استقبال‌مان آمد. همراهانم را معرÙÛŒ کردم Ùˆ لابد خودش Ùهمید مدیر کیست. برای ما چای آوردند. سیگارم را چاق کردم Ùˆ با صاحب‌خانه از قالی‌هایش حر٠زدیم. ناظم به بچه‌هایی می‌ماند Ú©Ù‡ در مجلس بزرگترها خوابشان می‌گیرد Ùˆ دل‌شان هم نمی‌خواست دست به سر شوند. سر اعضای انجمن باز شده بود. حاجی آقا صندوقدار بود. من Ùˆ ناظم عین دو Ø·Ùلان مسلم بودیم Ùˆ معلم کلاس چهارم عین خولی وسطمان نشسته. اغلب اعضای انجمن به زبان محلی صحبت می‌کردند Ùˆ رÙتار ناشی داشتند. حتی یک کدامشان نمی‌دانستند Ú©Ù‡ دست Ùˆ پاهای خود را Ú†Ù‡ جور ضبط Ùˆ ربط کنند. بلند بلند حر٠می‌زدند. درست مثل این‌که وزارتخانه‌ی دواب سه تا حیوان تازه برای باغ وحش محله‌شان وارد کرده. جلسه Ú©Ù‡ رسمی شد، صاحبخانه معرÙی‌مان کرد Ùˆ شروع کردند. مدام از خودشان صحبت می‌کردند از این‌که دزد دیشب Ùلان جا را گرÙته Ùˆ باید درخواست پاسبان شبانه کنیم Ùˆ... - -همین طور یک ساعت حر٠زدند Ùˆ به مهام امور رسیدگی کردند Ùˆ من Ùˆ معلم کلاس چهارم سیگار کشیدیم. انگار نه انگار Ú©Ù‡ ما هم بودیم. نوکرشان Ú©Ù‡ آمد استکان‌ها را جمع کند، چیزی روی جلد اشنو نوشتم Ùˆ برای صاحبخانه Ùرستادم Ú©Ù‡ یک مرتبه به صراÙت ما اÙتاد Ùˆ اجازه خواست Ùˆ: - -- آقایان عرضی دارند. بهتر است کارهای خودمان را بگذاریم برای بعد. - -مثلاً می‌خواست بÙهماند Ú©Ù‡ نباید همه‌ی حرÙ‌ها را در حضور ما زده باشند. Ùˆ اجازه دادند معلم کلاس چهار شروع کرد به نطق Ùˆ او هم شروع کرد Ú©Ù‡ هر Ú†Ù‡ باشد ما زیر سایه‌ی آقایانیم Ùˆ خوش‌آیند نیست Ú©Ù‡ بچه‌هایی باشند Ú©Ù‡ نه لباس داشته باشند Ùˆ نه Ú©ÙØ´ درست Ùˆ حسابی Ùˆ از این حرÙ‌ها Ùˆ مدام حر٠می‌زد. ناظم هم از Ú†Ùرت در آمد چیزهایی را Ú©Ù‡ از Ø­Ùظ کرده بود Ú¯Ùت Ùˆ التماس دعا Ùˆ کار را خراب کرد.تشری به ناظم زدم Ú©Ù‡ گدابازی را بگذارد کنار Ùˆ حالی‌شان کردم Ú©Ù‡ صحبت از تقاضا نیست Ùˆ گدایی. بلکه مدرسه دور اÙتاده است Ùˆ مستراح بی در Ùˆ پیکر Ùˆ از این اباطیل... Ú†Ù‡ خوب شد Ú©Ù‡ عصبانی نشدم. Ùˆ قرار شد Ú©Ù‡ پنج Ù†Ùرشان Ùردا عصر بیایند Ú©Ù‡ مدرسه را وارسی کنند Ùˆ تشکر Ùˆ اظهار خوشحالی Ùˆ در آمدیم. - -در تاریکی بیابان Ù‡Ùت تا سواری پشت در خانه ردی٠بودند Ùˆ راننده‌ها توی یکی از آن‌ها جمع شده بودند Ùˆ اسرار ارباب‌هاشان را به هم می‌گÙتند. در این حین من مدام به خودم می‌گÙتم من چرا رÙتم؟ به من چه؟ مگر من در بی Ú©ÙØ´ Ùˆ کلاهی‌شان مقصر بودم؟ می‌بینی احمق؟ مدیر مدرسه هم Ú©Ù‡ باشی باید شخصیت Ùˆ غرورت را لای زرورق بپیچی Ùˆ طاق کلاهت بگذاری Ú©Ù‡ اقلاً نپوسد. حتی اگر بخواهی یک معلم Ú©ÙˆÙتی باشی، نه چرا دور می‌زنی؟ حتی اگر یک Ùراش ماهی نود تومانی باشی، باید تا خرخره توی لجن Ùرو بروی.در همین حین Ú©Ù‡ من در Ùکر بودم ناظم Ú¯Ùت: - -- دیدید آقا Ú†Ù‡ طور باهامون رÙتار کردند؟ با یکی از قالی‌هاشون آقا تمام مدرسه رو می‌خرید. - -Ú¯Ùتم: - -- تا سر Ùˆ کارت با الÙ.ب است به‌پا قیاس Ù†Ú©Ù†ÛŒ. خودخوری می‌آره. - -Ùˆ معلم کلاس چهار Ú¯Ùت: - -- اگه Ùحشمون هم می‌دادند من باز هم راضی بودم، باید واقع‌بین بود. خدا کنه پشیمون نشند. - -بعد هم مدتی درد دل کردیم Ùˆ تا اتوبوس برسد Ùˆ سوار بشیم، معلوم شد Ú©Ù‡ معلم کلاس چهار با زنش متارکه کرده Ùˆ مادر ناظم را سرطانی تشخیص دادند. Ùˆ بعد هم شب بخیر... - -دو روز تمام مدرسه نرÙتم. خجالت می‌کشیدم توی صورت یک کدام‌شان نگاه کنم. Ùˆ در همین دو روز حاجی آقا با دو Ù†Ùر آمده بودند، مدرسه را وارسی Ùˆ صورت‌برداری Ùˆ ناظم می‌گÙت Ú©Ù‡ حتی بچه‌هایی هم Ú©Ù‡ Ú©ÙØ´ Ùˆ کلاهی داشتند پاره Ùˆ پوره آمده بودند. Ùˆ برای بچه‌ها Ú©ÙØ´ Ùˆ لباس خریدند. روزهای بعد احساس کردم زن‌هایی Ú©Ù‡ سر راهم لب جوی آب ظر٠می‌شستند، سلام می‌کنند Ùˆ یک بار هم دعای خیر یکی‌شان را از عقب سر شنیدم.اما چنان از خودم بدم آمده بود Ú©Ù‡ رغبتم نمی‌شد به Ú©ÙØ´ Ùˆ لباس‌هاشان نگاه کنم. قربان همان گیوه‌های پاره! بله، نان گدایی Ùرهنگ را نو نوار کرده بود. - -تازه از دردسرهای اول کار مدرسه Ùارغ شده بودم Ú©Ù‡ شنیدم Ú©Ù‡ یک روز صبح، یکی از اولیای اطÙال آمد. بعد از سلام Ùˆ احوالپرسی دست کرد توی جیبش Ùˆ شش تا عکس در آورد، گذاشت روی میزم. شش تا عکس زن لخت. لخت لخت Ùˆ هر کدام به یک حالت. یعنی چه؟ نگاه تندی به او کردم. آدم مرتبی بود. اداری مانند. کسر شأن خودم می‌دانستم Ú©Ù‡ این گوشه‌ی از زندگی را طبق دستور عکاس‌باشی Ùلان جنده‌خانه‌ی بندری ببینم. اما حالا یک مرد اتو کشیده‌ی مرتب آمده بود Ùˆ شش تا از همین عکس‌ها را روی میزم پهن کرده بود Ùˆ به انتظار آن Ú©Ù‡ وقاحت عکس‌ها چشم‌هایم را پر کند داشت سیگار چاق می‌کرد. - -حسابی غاÙلگیر شده بودم... حتماً تا هر شش تای عکس‌ها را ببینم، بیش از یک دقیقه طول کشید. همه از یک Ù†Ùر بود. به این Ùکر گریختم Ú©Ù‡ الان هزار ها یا میلیون ها نسخه‌ی آن، توی جیب Ú†Ù‡ جور آدم‌هایی است Ùˆ در کجاها Ùˆ Ú†Ù‡ قدر خوب بود Ú©Ù‡ همه‌ی این آدم‌ها را می‌شناختم یا می‌دیدم. بیش ازین نمی‌شد گریخت. یارو به تمام وزنه وقاحتش، جلوی رویم نشسته بود. سیگاری آتش زدم Ùˆ چشم به او دوختم. کلاÙÙ‡ بود Ùˆ پیدا بود برای کتک‌کاری هم آماده باشد. سرخ شده بود Ùˆ داشت در دود سیگارش تکیه‌گاهی برای جسارتی Ú©Ù‡ می‌خواست به خرج بدهد می‌جست. عکس‌ها را با یک ورقه از اباطیلی Ú©Ù‡ همان روز سیاه کرده بودم، پوشاندم Ùˆ بعد با لحنی Ú©Ù‡ دعوا را با آن شروع می‌کنند؛ پرسیدم: - -- خوب، غرض؟ - -Ùˆ صدایم توی اتاق پیچید. حرکتی از روی بیچارگی به خودش داد Ùˆ همه‌ی جسارت‌ها را با دستش توی جیبش کرد Ùˆ آرام‌تر از آن چیزی Ú©Ù‡ با خودش تو آورده بود، Ú¯Ùت: - -- Ú†Ù‡ عرض کنم؟... از معلم کلاس پنج تون بپرسید. - -Ú©Ù‡ راحت شدم Ùˆ او شروع کرد به این Ú©Ù‡ «این Ú†Ù‡ Ùرهنگی است؟ خراب بشود. پس بچه‌های مردم با Ú†Ù‡ اطمینانی به مدرسه بیایند؟ - -Ùˆ از این حرÙ‌ها... - -خلاصه این آقا معلم کاردستی کلاس پنجم، این عکس‌ها را داده به پسر آقا تا آن‌ها را روی تخته سه لایی بچسباند Ùˆ دورش را سمباده بکشد Ùˆ بیاورد. به هر صورت معلم کلاس پنج بی‌گدار به آب زده. Ùˆ حالا من Ú†Ù‡ بکنم؟ به او Ú†Ù‡ جوابی بدهم؟ بگویم معلم را اخراج می‌کنم؟ Ú©Ù‡ نه می‌توانم Ùˆ نه لزومی دارد. او Ú†Ù‡ بکند؟ حتماً در این شهر کسی را ندارد Ú©Ù‡ به این عکس‌ها دلخوش کرده. ولی آخر چرا این جور؟ یعنی این قدر احمق است Ú©Ù‡ حتی شاگردهایش را نمی‌شناسد؟... پاشدم ناظم را صدا بزنم Ú©Ù‡ خودش آمده بود بالا، توی ایوان منتظر ایستاده بود. من آخرین کسی بودم Ú©Ù‡ از هر اتÙاقی در مدرسه خبردار می‌شدم. حضور این ولی Ø·ÙÙ„ گیجم کرده بود Ú©Ù‡ چنین عکس‌هایی را از توی جیب پسرش، Ùˆ لابد به همین وقاحتی Ú©Ù‡ آن‌ها را روی میز من ریخت، در آورده بوده. وقتی Ùهمید هر دو در مانده‌ایم سوار بر اسب شد Ú©Ù‡ اله می‌کنم Ùˆ بله می‌کنم، در مدرسه را می‌بندم، Ùˆ از این جÙنگیات.... - -حتماً نمی‌دانست Ú©Ù‡ اگر در هر مدرسه بسته بشود، در یک اداره بسته شده است. اما من تا او بود نمی‌توانستم Ùکرم را جمع کنم. می‌خواست پسرش را بخواهیم تا شهادت بدهد Ùˆ Ú†Ù‡ جانی کندیم تا حالیش کنیم Ú©Ù‡ پسرش هر Ú†Ù‡ Ø®Ùت کشیده، بس است Ùˆ وعده‌ها دادیم Ú©Ù‡ معلمش را دم خورشید کباب کنیم Ùˆ از نان خوردن بیندازیم. یعنی اول ناظم شروع کرد Ú©Ù‡ از دست او دل پری داشت Ùˆ من هم دنبالش را گرÙتم. برای دک کردن او چاره‌ای جز این نبود. Ùˆ بعد رÙت، ما دو Ù†Ùری ماندیم با شش تا عکس زن لخت. حواسم Ú©Ù‡ جمع شد به ناظم سپردم صدایش را در نیاورد Ùˆ یک Ù‡Ùته‌ی تمام مطلب را با عکس‌ها، توی کشوی میزم Ù‚ÙÙ„ کردم Ùˆ بعد پسرک را صدا زدم. نه عزیزدÙردانه می‌نمود Ùˆ نه هیچ جور دیگر. داد می‌زد Ú©Ù‡ از خانواده‌ی عیال‌واری است. کم‌خونی Ùˆ Ùقر. دیدم معلمش زیاد هم بد تشخیص نداده. یعنی زیاد بی‌گدار به آب نزده. Ú¯Ùتم: - -- خواهر برادر هم داری؟ - -- Ø¢... Ø¢...آقا داریم آقا. - -- چند تا؟ - -- Ø¢... آقا چهار تا آقا. - -- عکس‌ها رو خودت به بابات نشون دادی؟ - -- نه به خدا آقا... به خدا قسم... - -- پس Ú†Ù‡ طور شد؟ - -Ùˆ دیدم از ترس دارد قالب تهی می‌کند. گرچه چوب‌های ناظم شکسته بود، اما ترس او از من Ú©Ù‡ مدیر باشم Ùˆ از ناظم Ùˆ از مدرسه Ùˆ از تنبیه سالم مانده بود. - -- نترس بابا. کاریت نداریم. تقصیر آقا معلمه Ú©Ù‡ عکس‌ها رو داده... تو کار بدی نکردی بابا جان. Ùهمیدی؟ اما می‌خواهم ببینم Ú†Ù‡ طور شد Ú©Ù‡ عکس‌ها دست بابات اÙتاد. - -- Ø¢.. Ø¢... آخه آقا... آخه... - -می‌دانستم Ú©Ù‡ باید Ú©Ù…Ú©Ø´ کنم تا به حر٠بیاید. - -Ú¯Ùتم: - -- می‌دونی بابا؟ عکس‌هام چیز بدی نبود. تو خودت Ùهمیدی Ú†ÛŒ بود؟ - -- آخه آقا...نه آقا.... خواهرم آقا... خواهرم می‌گÙت... - -- خواهرت؟ از تو کوچک‌تره؟ - -- نه آقا. بزرگ‌تره. می‌گÙتش Ú©Ù‡ آقا... می‌گÙتش Ú©Ù‡ آقا... هیچ Ú†ÛŒ سر عکس‌ها دعوامون شد. - -دیگر تمام بود. عکس‌ها را به خواهرش نشان داده بود Ú©Ù‡ لای دÙترچه پر بوده از عکس آرتیست‌ها. به او پز داده بوده. اما حاضر نبوده، حتی یکی از آن‌ها را به خواهرش بدهد. آدم مورد اعتماد معلم باشد Ùˆ چنین خبطی بکند؟ Ùˆ تازه جواب معلم را Ú†Ù‡ بدهد؟ ناچار خواهر او را لو داده بوده. بعد از او معلم را احضار کردم. علت احضار را می‌دانست. Ùˆ داد می‌زد Ú©Ù‡ چیزی ندارد بگوید. پس از یک Ù‡Ùته مهلت، هنوز از وقاحتی Ú©Ù‡ من پیدا کرده بودم، تا از آدم خلع سلاح‌شده‌ای مثل او، دست بر ندارم، در تعجب بود. به او سیگار تعار٠کردم Ùˆ این قصه را برایش تعری٠کردم Ú©Ù‡ در اوایل تأسیس وزارت معارÙØŒ یک روز به وزیر خبر می‌دهند Ú©Ù‡ Ùلان معلم با Ùلان بچه روابطی دارد. وزیر Ùوراً او را می‌خواهد Ùˆ حال Ùˆ احوال او را می‌پرسد Ùˆ این‌که چرا تا به حال زن نگرÙته Ùˆ ناچار تقصیر گردن بی‌پولی می‌اÙتد Ùˆ دستور Ú©Ù‡ Ùلان قدر به او Ú©Ù…Ú© کنند تا عروسی راه بیندازد Ùˆ خود او هم دعوت بشود Ùˆ قضیه به همین سادگی تمام می‌شود. Ùˆ بعد Ú¯Ùتم Ú©Ù‡ خیلی جوان‌ها هستند Ú©Ù‡ نمی‌توانند زن بگیرند Ùˆ وزرای Ùرهنگ هم این روزها گرÙتار مصاحبه‌های روزنامه‌ای Ùˆ رادیویی هستند. اما در نجیب‌خانه‌ها Ú©Ù‡ باز است Ùˆ ازین مزخرÙات... Ùˆ هم‌دردی Ùˆ نگذاشتم یک کلمه حر٠بزند. بعد هم عکس را Ú©Ù‡ توی پاکت گذاشته بودم، به دستش دادم Ùˆ وقاحت را با این جمله به حد اعلا رساندم Ú©Ù‡: - -- اگر به تخته نچسبونید، ضررشون کم‌تره. - -تا حقوقم به لیست اداره‌ی Ùرهنگ برسه، سه ماه طول کشید. Ùرهنگی‌های گداگشنه Ùˆ خزانه‌ی خالی Ùˆ دست‌های از پا درازتر! اما خوبیش این بود Ú©Ù‡ در مدرسه‌ی ما Ùراش جدیدمان پولدار بود Ùˆ به همه‌شان قرض داد. Ú©Ù… Ú©Ù… بانک مدرسه شده بود. از سیصد Ùˆ خرده‌ای تومان Ú©Ù‡ می‌گرÙت، پنجاه تومان را هم خرج نمی‌کرد. نه سیگار می‌کشید Ùˆ نه اهل سینما بود Ùˆ نه برج دیگری داشت. از این گذشته، باغبان یکی از دم‌کلÙت‌های همان اطرا٠بود Ùˆ باغی Ùˆ دستگاهی Ùˆ سور Ùˆ ساتی Ùˆ لابد آشپزخانه‌ی مرتبی. خیلی زود معلم‌ها Ùهمیدند Ú©Ù‡ یک Ùراش پولدار خیلی بیش‌تر به درد می‌خورد تا یک مدیر بی‌بو Ùˆ خاصیت. - -این از معلم‌ها. حقوق مرا هم هنوز از مرکز می‌دادند. با حقوق ماه بعد هم اسم مرا هم به لیست اداره منتقل کردند. درین مدت خودم برای خودم ورقه انجام کار می‌نوشتم Ùˆ امضا می‌کردم Ùˆ می‌رÙتم از مدرسه‌ای Ú©Ù‡ قبلاً در آن درس می‌دادم، حقوقم را می‌گرÙتم. سر Ùˆ صدای حقوق Ú©Ù‡ بلند می‌شد معلم‌ها مرتب می‌شدند Ùˆ کلاس ماهی سه چهار روز کاملاً دایر بود. تا ورقه‌ی انجام کار به دستشان بدهم. غیر از همان یک بار - در اوایل کار- Ú©Ù‡ برای معلم حساب پنج Ùˆ شش قرمز توی دÙتر گذاشتیم، دیگر با مداد قرمز کاری نداشتیم Ùˆ خیال همه‌شان راحت بود. وقتی برای گرÙتن حقوقم به اداره رÙتم، چنان شلوغی بود Ú©Ù‡ به خودم Ú¯Ùتم کاش اصلاً حقوقم را منتقل نکرده بودم. نه می‌توانستم سر ص٠بایستم Ùˆ نه می‌توانستم از حقوقم بگذرم. تازه مگر مواجب‌بگیر دولت چیزی جز یک انبان گشاده‌ی پای صندوق است؟..... Ùˆ اگر هم می‌ماندی با آن شلوغی باید تا دو بعداز ظهر سر پا بایستی. همه‌ی جیره‌خوارهای اداره بو برده بودند Ú©Ù‡ مدیرم. Ùˆ لابد آن‌قدر ساده لوح بودند Ú©Ù‡ Ùکر کنند روزی گذارشان به مدرسه‌ی ما بیÙتد. دنبال سÙته‌ها می‌گشتند، به حسابدار قبلی Ùحش می‌دادند، التماس می‌کردند Ú©Ù‡ این ماه را ندیده بگیرید Ùˆ همه‌ی حق Ùˆ حساب‌دان شده بودند Ùˆ یکی Ú©Ù‡ زودتر از نوبت پولش را می‌گرÙت صدای همه در می‌آمد. در لیست مدرسه، بزرگ‌ترین رقم مال من بود. درست مثل بزرگ‌ترین گناه در نامه‌ی عمل. دو برابر Ùراش جدیدمان حقوق می‌گرÙتم. از دیدن رقم‌های مردنی حقوق دیگران چنان خجالت کشیدم Ú©Ù‡ انگار مال آن‌ها را دزدیده‌ام. Ùˆ تازه خلوت Ú©Ù‡ شد Ùˆ ده پانزده تا امضا Ú©Ù‡ کردم، صندوق‌دار چشمش به من اÙتاد Ùˆ با یک معذرت، شش صد تومان پول دزدی را گذاشت ک٠دستم... مرده شور! - -هنوز بر٠اول نباریده بود Ú©Ù‡ یک روز عصر، معلم کلاس چهار رÙت زیر ماشین. زیر یک سواری. مثل همه‌ی عصرها من مدرسه نبودم. دم غروب بود Ú©Ù‡ Ùراش قدیمی مدرسه دم در خونه‌مون، خبرش را آورد. Ú©Ù‡ دویدم به طر٠لباسم Ùˆ تا حاضر بشوم، می‌شنیدم Ú©Ù‡ دارد قضیه را برای زنم تعری٠می‌کند. ماشین برای یکی از آمریکایی‌ها بوده. باقیش را از خانه Ú©Ù‡ در آمدیم برایم تعری٠کرد. گویا یارو خودش پشت Ùرمون بوده Ùˆ بعد هم هول شده Ùˆ در رÙته. بچه‌ها خبر را به مدرسه برگردانده‌اند Ùˆ تا Ùراش Ùˆ زنش برسند، جمعیت Ùˆ پاسبان‌ها سوارش کرده بودند Ùˆ Ùرستاده بوده‌اند مریض‌خانه. به اتوبوس Ú©Ù‡ رسیدم، دیدم لاک پشت است. Ùراش را مرخص کردم Ùˆ پریدم توی تاکسی. اول رÙتم سراغ پاسگاه جدید کلانتری. تعاری٠تکه Ùˆ پاره‌ای از پرونده مطلع بود. اما پرونده تصریحی نداشت Ú©Ù‡ راننده Ú©Ù‡ بوده. اما هیچ کس نمی‌دانست عاقبت Ú†Ù‡ بلایی بر سر معلم کلاس چهار ما آمده است. کشیک پاسگاه همین قدر مطلع بود Ú©Ù‡ درین جور موارد «طبق جریان اداری» اول می‌روند سرکلانتری، بعد دایره‌ی تصادÙات Ùˆ بعد بیمارستان. اگر آشنا در نمی‌آمدیم، کشیک پاسگاه مسلماً نمی‌گذاشت به پرونده نگاه Ú†Ù¾ بکنم. احساس کردم میان اهل محل کم‌کم دارم سرشناس می‌شوم. Ùˆ از این احساس خنده‌ام گرÙت. - -ساعت Û¸ دم در بیمارستان بودم، اگر سالم هم بود حتماً یه چیزیش شده بود. همان طور Ú©Ù‡ من یه چیزیم می‌شد. روی در بیمارستان نوشته شده بود: «از ساعت Û· به بعد ورود ممنوع». در زدم. از پشت در کسی همین آیه را صادر کرد. دیدم Ùایده ندارد Ùˆ باید از یک چیزی Ú©Ù…Ú© بگیرم. از قدرتی، از مقامی، از هیکلی، از یک چیزی. صدایم را Ú©Ù„Ùت کردم Ùˆ Ú¯Ùتم:« من...» می‌خواستم بگویم من مدیر مدرسه‌ام. ولی Ùوراً پشیمان شدم. یارو لابد می‌گÙت مدیر مدرسه کدام سگی است؟ این بود با Ú©Ù…ÛŒ Ù…Ú©Ø« Ùˆ طمطراق Ùراوان جمله‌ام را این طور تمام کردم: - -- ...بازرس وزارت Ùرهنگم. - -Ú©Ù‡ کلون صدایی کرد Ùˆ لای در باز شد. یارو با چشم‌هایش سلام کرد. رÙتم تو Ùˆ با همان صدا پرسیدم: - -- این معلمه مدرسه Ú©Ù‡ تصاد٠کرده... - -تا آخرش را خواند. یکی را صدا زد Ùˆ دنبالم Ùرستاد Ú©Ù‡ طبقه‌ی Ùلان، اتاق Ùلان. از حیاط به راهرو Ùˆ باز به حیاط دیگر Ú©Ù‡ نصÙØ´ را بر٠پوشانده بود Ùˆ من چنان می‌دویدم Ú©Ù‡ یارو از عقب سرم هن هن می‌کرد. طبقه‌ی اول Ùˆ دوم Ùˆ چهارم. چهار تا پله یکی. راهرو تاریک بود Ùˆ پر از بوهای مخصوص بود. هن هن کنان دری را نشان داد Ú©Ù‡ هل دادم Ùˆ رÙتم تو. بو تندتر بود Ùˆ تاریکی بیشتر. تالاری بود پر از تخت Ùˆ جیرجیر Ú©ÙØ´ Ùˆ خرخر یک Ù†Ùر. دور یک تخت چهار Ù†Ùر ایستاده بودند. حتماً خودش بود. پای تخت Ú©Ù‡ رسیدم، احساس کردم همه‌ی آنچه از خشونت Ùˆ تظاهر Ùˆ ابهت به Ú©Ù…Ú© خواسته بودم آب شد Ùˆ بر سر Ùˆ صورتم راه اÙتاد. Ùˆ این معلم کلاس چهارم مدرسه‌ام بود. سنگین Ùˆ با Ø´Ú©Ù… بر آمده دراز کشیده بود. خیلی کوتاه‌تر از زمانی Ú©Ù‡ سر پا بود به نظرم آمد. صورت Ùˆ سینه‌اش از روپوش چرک‌مÙرد بیرون بود. صورتش را Ú©Ù‡ شسته بودند کبود کبود بود، درست به رنگ جای سیلی روی صورت بچه‌ها. مرا Ú©Ù‡ دید، لبخند Ùˆ Ú†Ù‡ لبخندی! شاید می‌خواست بگوید مدرسه‌ای Ú©Ù‡ مدیرش عصرها سر کار نباشد، باید همین جورها هم باشد. خنده توی صورت او همین طور لرزید Ùˆ لرزید تا یخ زد. - -«آخر چرا تصاد٠کردی؟...» - -مثل این Ú©Ù‡ سوال را ازو کردم. اما وقتی Ú©Ù‡ دیدم نمی‌تواند حر٠بزند Ùˆ به جای هر جوابی همان خنده‌ی یخ‌بسته را روی صورت دارد، خودم را به عنوان او دم Ú†Ú© گرÙتم. «آخه چرا؟ چرا این هیکل مدیر Ú©Ù„ÛŒ را با خودت این قد این ور Ùˆ آن ور می‌بری تا بزنندت؟ تا زیرت کنند؟ مگر نمی‌دانستی Ú©Ù‡ معلم حق ندارد این قدر خوش‌هیکل باشد؟ آخر چرا تصاد٠کردی؟» به چنان عتاب Ùˆ خطابی این‌ها را می‌گÙتم Ú©Ù‡ هیچ مطمئن نیستم بلند بلند به خودش Ù†Ú¯Ùته باشم. Ùˆ یک مرتبه به کله‌ام زد Ú©Ù‡ «مبادا خودت چشمش زده باشی؟» Ùˆ بعد: «احمق خاک بر سر! بعد از سی Ùˆ چند سال عمر، تازه خراÙاتی شدی!» Ùˆ چنان از خودم بیزاریم گرÙت Ú©Ù‡ می‌خواستم به یکی Ùحش بدهم، کسی را بزنم. Ú©Ù‡ چشمم به دکتر کشیک اÙتاد. - -- مرده شور این مملکتو ببره. ساعت چهار تا حالا از تن این مرد خون می‌ره. Ø­ÛŒÙتون نیومد؟... - -دستی روی شانه‌ام نشست Ùˆ Ùریادم را خواباند. برگشتم پدرش بود. او هم می‌خندید. دو Ù†Ùر دیگر هم با او بودند. همه دهاتی‌وار؛ همه خوش قد Ùˆ قواره. حظ کردم! آن دو تا پسرهایش بودند یا برادرزاده‌هایش یا کسان دیگرش. تازه داشت Ú¯Ù„ از گلم می‌شکÙت Ú©Ù‡ شنیدم: - -- آقا Ú©ÛŒ باشند؟ - -این راهم دکتر کشیک Ú¯Ùت Ú©Ù‡ من باز سوار شدم: - -- مرا می‌گید آقا؟ من هیشکی. یک آقا مدیر Ú©ÙˆÙتی. این هم معلمم. - -Ú©Ù‡ یک مرتبه عقل Ù‡ÛŒ زد Ùˆ «پسر Ø®ÙÙ‡ شو» Ùˆ Ø®ÙÙ‡ شدم. بغض توی گلویم بود. دلم می‌خواست یک کلمه دیگر بگوید. یک کنایه بزند... نسبت به مهارت هیچ دکتری تا کنون نتوانسته‌ام قسم بخورم. دستش را دراز کرد Ú©Ù‡ به اکراه Ùشار دادم Ùˆ بعد شیشه‌ی بزرگی را نشانم داد Ú©Ù‡ وارونه بالای تخت آویزان بود Ùˆ خرÙهمم کرد Ú©Ù‡ این جوری غذا به او می‌رسانند Ùˆ عکس هم گرÙته‌اند Ùˆ تا Ùردا صبح اگر زخم‌ها چرک نکند، جا خواهند انداخت Ùˆ Ú¯Ú† خواهند کرد. Ú©Ù‡ یکی دیگر از راه رسید. گوشی به دست Ùˆ سÙید پوش Ùˆ معطر. با حرکاتی مثل آرتیست سینما. سلامم کرد. صدایش در ته ذهنم چیزی را مختصر تکانی داد. اما احتیاجی به کنجکاوی نبود. یکی از شاگردهای نمی‌دانم چند سال پیشم بود. خودش خودش را معرÙÛŒ کرد. آقای دکتر...! عجب روزگاری! هر تکه از وجودت را با مزخرÙÛŒ از انبان مزخرÙاتت، مثل ذره‌ای روزی در خاکی ریخته‌ای Ú©Ù‡ حالا سبز کرده. چشم داری احمق. این تویی Ú©Ù‡ روی تخت دراز کشیده‌ای. ده سال آزگار از پلکان ساعات Ùˆ دقایق عمرت هر لحظه یکی بالا رÙته Ùˆ تو Ùقط خستگی این بار را هنوز در تن داری. این جوجه‌ÙÚ©Ù„ÛŒ Ùˆ جوجه‌های دیگر Ú©Ù‡ نمی‌شناسی‌شان، همه از تخمی سر در آورده‌اند Ú©Ù‡ روزی حصار جوانی تو بوده Ùˆ حالا شکسته Ùˆ خالی مانده. دستش را گرÙتم Ùˆ کشیدمش کناری Ùˆ در گوشش هر Ú†Ù‡ بد Ùˆ بی‌راه می‌دانستم، به او Ùˆ همکارش Ùˆ شغلش دادم. مثلاً می‌خواستم سÙارش معلم کلاس چهار مدرسه‌ام را کرده باشم. بعد هم سری برای پدر تکان دادم Ùˆ گریختم. از در Ú©Ù‡ بیرون آمدم، حیاط بود Ùˆ هوای بارانی. از در بزرگ Ú©Ù‡ بیرون آمدم به این Ùکر می‌کردم Ú©Ù‡ «اصلا به تو چه؟ اصلاً چرا آمدی؟ می‌خواستی کنجکاوی‌ات را سیرکنی؟» Ùˆ دست آخر به این نتیجه رسیدم Ú©Ù‡ «طعمه‌ای برای میزنشین‌های شهربانی Ùˆ دادگستری به دست آمده Ùˆ تو نه می‌توانی این طعمه را از دستشان بیرون بیاوری Ùˆ نه هیچ کار دیگری می‌توانی بکنی...» - -Ùˆ داشتم سوار تاکسی می‌شدم تا برگردم خانه Ú©Ù‡ یک دÙعه به صراÙت اÙتادم Ú©Ù‡ اقلاً چرا نپرسیدی Ú†Ù‡ بلایی به سرش آمده؟» خواستم عقب‌گرد کنم، اما هیکل کبود معلم کلاس چهارم روی تخت بود Ùˆ دیدم نمی‌توانم. خجالت می‌کشیدم Ùˆ یا می‌ترسیدم. آن شب تا ساعت دو بیدار بودم Ùˆ Ùردا یک گزارش Ù…Ùصل به امضای مدیر مدرسه Ùˆ شهادت همه‌ی معلم‌ها برای اداره‌ی Ùرهنگ Ùˆ کلانتری محل Ùˆ بعد هم دوندگی در اداره‌ی بیمه Ùˆ قرار بر این Ú©Ù‡ روزی نه تومان بودجه برای خرج بیمارستان او بدهند Ùˆ عصر پس از مدتی رÙتم مدرسه Ùˆ کلاس‌ها را تعطیل کردم Ùˆ معلم‌ها Ùˆ بچه‌های ششم را Ùرستادم عیادتش Ùˆ دسته Ú¯Ù„ Ùˆ ازین بازی‌ها... Ùˆ یک ساعتی در مدرسه تنها ماندم Ùˆ Ùارغ از همه چیز برای خودم خیال باÙتم.... Ùˆ Ùردا صبح پدرش آمد سلام Ùˆ احوالپرسی Ùˆ Ú¯Ùت یک دست Ùˆ یک پایش شکسته Ùˆ Ú©Ù…ÛŒ خونریزی داخل مغز Ùˆ از طر٠یارو آمریکاییه آمده‌اند عیادتش Ùˆ وعده Ùˆ وعید Ú©Ù‡ وقتی خوب شد، در اصل چهار استخدامش کنند Ùˆ با زبان بی‌زبانی حالیم کرد Ú©Ù‡ گزارش را بیخود داده‌ام Ùˆ حالا هم داده‌ام، دنبالش نکنم Ùˆ رضایت طرÙین Ùˆ کاسه‌ی از آش داغ‌تر Ùˆ از این حرÙ‌ها... خاک بر سر مملکت. - -اوایل امر توجهی به بچه‌ها نداشتم. خیال می‌کردم اختلا٠سÙÙ†ÛŒ میان‌مان آن قدر هست Ú©Ù‡ کاری به کار همدیگر نداشته باشیم. همیشه سرم به کار خودم بود. در دÙتر را می‌بستم Ùˆ در گرمای بخاری دولت قلم صد تا یک غاز می‌زدم. اما این کار مرتب سه چهار Ù‡Ùته بیش‌تر دوام نکرد. خسته شدم. ناچار به مدرسه بیشتر می‌رسیدم. یاد روزهای قدیمی با دوستان قدیمی به خیر Ú†Ù‡ آدم‌های پاک Ùˆ بی‌آلایشی بودند، Ú†Ù‡ شخصیت‌های بی‌نام Ùˆ نشانی Ùˆ هر کدام با Ú†Ù‡ زبانی Ùˆ با Ú†Ù‡ ادا Ùˆ اطوارهای مخصوص به خودشان Ùˆ این جوان‌های Ú†Ù„Ùته‌ای. Ú†Ù‡ مقلدهای بی‌دردسری برای Ùرهنگی‌مابی! نه خبری از دیروزشان داشتند Ùˆ نه از املاک تازه‌ای Ú©Ù‡ با Ù‡Ùتاد واسطه به دست‌شان داده بودند، چیزی سرشان می‌شد. بدتر از همه بی‌دست Ùˆ پایی‌شان بود. آرام Ùˆ مرتب درست مثل واگن شاه عبدالعظیم می‌آمدند Ùˆ می‌رÙتند. Ùقط بلد بودند روزی ده دقیقه دیرتر بیایند Ùˆ همین. Ùˆ از این هم بدتر تنگ‌نظری‌شان بود. - -سه بار شاهد دعواهایی بودم Ú©Ù‡ سر یک گلدان میخک یا شمعدانی بود. بچه‌باغبان‌ها زیاد بودند Ùˆ هر کدام‌شان حداقل ماهی یک گلدان میخک یا شمعدانی می‌آوردند Ú©Ù‡ در آن بر٠و سرما نعمتی بود. اول تصمیم گرÙتم، مدرسه را با آن‌ها زینت دهم. ولی Ú†Ù‡ Ùایده؟ نه کسی آب‌شان می‌داد Ùˆ نه مواظبتی. Ùˆ باز بدتر از همه‌ی این‌ها، بی‌شخصیتی معلم‌ها بود Ú©Ù‡ درمانده‌ام کرده بود. دو کلمه نمی‌توانستند حر٠بزنند. عجب هیچ‌کاره‌هایی بودند! احساس کردم Ú©Ù‡ روز به روز در کلاس‌ها معلم‌ها به جای دانش‌آموزان جااÙتاده‌تر می‌شوند. در نتیجه Ú¯Ùتم بیش‌تر متوجه بچه‌ها باشم. - -آن‌ها Ú©Ù‡ تنها با ناظم سر Ùˆ کار داشتند Ùˆ مثل این بود Ú©Ù‡ به من Ùقط یک سلام نیمه‌جویده بدهکارند. با این همه نومیدکننده نبودند. توی Ú©ÙˆÚ†Ù‡ مواظب‌شان بودم. می‌خواستم حر٠و سخن‌ها Ùˆ درد دل‌ها Ùˆ اÙکارشان را از یک Ùحش نیمه‌کاره یا از یک ادای نیمه‌تمام حدس بزنم، Ú©Ù‡ سلام‌نکرده در می‌رÙتند. خیلی Ú©Ù… تنها به مدرسه می‌آمدند. پیدا بود Ú©Ù‡ سر راه همدیگر می‌ایستند یا در خانه‌ی یکدیگر می‌روند. سه چهار Ù†Ùرشان هم با اسکورت می‌آمدند. از بیست سی Ù†Ùری Ú©Ù‡ ناهار می‌ماندند، Ùقط دو Ù†Ùرشان چلو خورش می‌آوردند؛ Ùراش اولی مدرسه برایم خبر می‌آورد. بقیه گوشت‌کوبیده، پنیر گردوئی، دم پختکی Ùˆ از این جور چیزها. دو Ù†Ùرشان هم بودند Ú©Ù‡ نان سنگک خالی می‌آوردند. برادر بودند. پنجم Ùˆ سوم. صبح Ú©Ù‡ می‌آمدند، جیب‌هاشان باد کرده بود. سنگک را نص٠می‌کردند Ùˆ توی جیب‌هاشان می‌تپاندند Ùˆ ظهر می‌شد، مثل آن‌هایی Ú©Ù‡ ناهارشان را در خانه می‌خورند، می‌رÙتند بیرون. من Ùقط بیرون رÙتن‌شان را می‌دیدم. اما حتی همین‌ها هر کدام روزی، یکی دو قران از Ùراش مدرسه خرت Ùˆ خورت می‌خریدند. از همان Ùراش قدیمی مدرسه Ú©Ù‡ ماهی پنج تومان سرایداریش را وصول کرده بودم. هر روز Ú©Ù‡ وارد اتاقم می‌شدم پشت سر من می‌آمد بارانی‌ام را بر می‌داشت Ùˆ شروع می‌کرد به گزارش دادن، Ú©Ù‡ دیروز باز دو Ù†Ùر از معلم‌ها سر یک گلدان دعوا کرده‌اند یا مأمور Ùرماندار نظامی آمده یا دÙتردار عوض شده Ùˆ از این اباطیل... پیدا بود Ú©Ù‡ Ùراش جدید هم در مطالبی Ú©Ù‡ او می‌گÙت، سهمی دارد. - -یک روز در حین گزارش دادن، اشاره‌ای کرد به این مطلب Ú©Ù‡ دیروز عصر یکی از بچه‌های کلاس چهار دو تا کله قند به او Ùروخته است. درست مثل اینکه سر کلا٠را به دستم داده باشد پرسیدم: - -- چند؟ - -- دو تومنش دادم آقا. - -- زحمت کشیدی. Ù†Ú¯Ùتی از کجا آورده؟ - -- من Ú©Ù‡ ضامن بهشت Ùˆ جهنمش نبودم آقا. - -بعد پرسیدم: - -- چرا به آقای ناظم خبر ندادی؟ - -می‌دانستم Ú©Ù‡ هم او Ùˆ هم Ùراش جدید، ناظم را هووی خودشان می‌دانند Ùˆ خیلی چیزهاشان از او مخÙÛŒ بود. این بود Ú©Ù‡ میان من Ùˆ ناظم خاصه‌خرجی می‌کردند. در جوابم همین طور مردد مانده بود Ú©Ù‡ در باز شد Ùˆ Ùراش جدید آمد تو. Ú©Ù‡: - -- اگه خبرش می‌کرد آقا بایست سهمش رو می‌داد... - -اخمم را درهم کشیدم Ùˆ Ú¯Ùتم: - -- تو باز رÙتی تو Ú©ÙˆÚ© مردم! اونم این جوری سر نزده Ú©Ù‡ نمی‌آیند تو اتاق کسی، پیرمرد! - -Ùˆ بعد اسم پسرک را ازشان پرسیدم Ùˆ حالی‌شان کردم Ú©Ù‡ چندان مهم نیست Ùˆ Ùرستادمشان برایم چای بیاورند. بعد کارم را زودتر تمام کردم Ùˆ رÙتم به اتاق دÙتر احوالی از مادر ناظم پرسیدم Ùˆ به هوای ورق زدن پرونده‌ها Ùهمیدم Ú©Ù‡ پسرک شاگرد دوساله است Ùˆ پدرش تاجر بازار. بعد برگشتم به اتاقم. یادداشتی برای پدر نوشتم Ú©Ù‡ پس Ùردا صبح، بیاید مدرسه Ùˆ دادم دست Ùراش جدید Ú©Ù‡ خودش برساند Ùˆ رسیدش را بیاورد. - -Ùˆ پس Ùردا صبح یارو آمد. باید مدیر مدرسه بود تا دانست Ú©Ù‡ اولیای اطÙال Ú†Ù‡ راحت تن به کوچک‌ترین خرده‌Ùرمایش‌های مدرسه می‌دهند. حتم دارم Ú©Ù‡ اگر از اجرای ثبت هم دنبال‌شان بÙرستی به این زودی‌ها Ø¢Ùتابی نشوند. چهل Ùˆ پنج ساله مردی بود با یخه‌ی بسته بی‌کراوات Ùˆ پالتویی Ú©Ù‡ بیش‌تر به قبا می‌ماند. Ùˆ خجالتی می‌نمود. هنوز ننشسته، پرسیدم: - -- شما دو تا زن دارید آقا؟ - -درباره‌ی پسرش برای خودم پیش‌گویی‌هایی کرده بودم Ùˆ Ú¯Ùتم این طوری به او رودست می‌زنم. پیدا بود Ú©Ù‡ از سؤالم زیاد یکه نخورده است. Ú¯Ùتم برایش چای آوردند Ùˆ سیگاری تعارÙØ´ کردم Ú©Ù‡ ناشیانه دود کرد از ترس این Ú©Ù‡ مبادا جلویم در بیاید Ú©Ù‡ - به شما Ú†Ù‡ مربوط است Ùˆ از این اعتراض‌ها - امانش ندادم Ùˆ سؤالم را این جور دنبال کردم: - -- البته می‌بخشید. چون لابد به همین علت بچه شما دو سال در یک کلاس مانده. - -شروع کرده بودم برایش یک میتینگ بدهم Ú©Ù‡ پرید وسط حرÙÙ…: - -- به سر شما قسم، روزی چهار زار پول تو جیبی داره آقا. پدرسوخته‌ی نمک به حروم...! - -حالیش کردم Ú©Ù‡ علت، پول تو جیبی نیست Ùˆ خواستم Ú©Ù‡ عصبانی نشود Ùˆ قول گرÙتم Ú©Ù‡ اصلاً به روی پسرش هم نیاورد Ùˆ آن وقت میتینگم را برایش دادم Ú©Ù‡ لابد پسر در خانه مهر Ùˆ محبتی نمی‌بیند Ùˆ غیب‌گویی‌های دیگر... تا عاقبت یارو خجالتش ریخت Ùˆ سر٠درد دلش باز شد Ú©Ù‡ عÙریته زن اولش همچه بوده Ùˆ همچون بوده Ùˆ پسرش هم به خودش برده Ùˆ Ú©ÛŒ طلاقش داده Ùˆ از زن دومش چند تا بچه دارد Ùˆ این نره‌خر حالا باید برای خودش نان‌آور شده باشد Ùˆ زنش حق دارد Ú©Ù‡ با دو تا بچه‌ی خرده‌پا به او نرسد... من هم Ú©Ù„ÛŒ برایش صحبت کردم. چایی دومش را هم سر کشید Ùˆ قول‌هایش را Ú©Ù‡ داد Ùˆ رÙت، من به این Ùکر اÙتادم Ú©Ù‡ «نکند علمای تعلیم Ùˆ تربیت هم، همین جورها تخم دوزرده می‌کنند!» - -یک روز صبح Ú©Ù‡ رسیدم، ناظم هنوز نیامده بود. از این اتÙاق‌ها Ú©Ù… می‌اÙتاد. ده دقیقه‌ای از زنگ می‌گذشت Ùˆ معلم‌ها در دÙتر سرگرم اختلاط بودند. خودم هم وقتی معلم بودم به این مرض دچار بودم. اما وقتی مدیر شدم تازه Ùهمیدم Ú©Ù‡ معلم‌ها Ú†Ù‡ لذتی می‌برند. حق هم داشتند. آدم وقتی مجبور باشد Ø´Ú©Ù„Ú©ÛŒ را به صورت بگذارد Ú©Ù‡ نه دیگران از آن می‌خندند Ùˆ نه خود آدم لذتی می‌برد، پیداست Ú©Ù‡ رÙع تکلی٠می‌کند. زنگ را Ú¯Ùتم زدند Ùˆ بچه‌ها سر کلاس رÙتند. دو تا از کلاس‌ها بی‌معلم بود. یکی از ششمی‌ها را Ùرستادم سر کلاس سوم Ú©Ù‡ برای‌شان دیکته بگوید Ùˆ خودم رÙتم سر کلاس چهار. مدیر هم Ú©Ù‡ باشی، باز باید تمرین Ú©Ù†ÛŒ Ú©Ù‡ مبادا Ùوت Ùˆ ÙÙ† معلمی از یادت برود. در حال صحبت با بچه‌ها بودم Ú©Ù‡ Ùراش خبر آورد Ú©Ù‡ خانمی توی دÙتر منتظرم است. خیال کردم لابد همان زنکه‌ی بیکاره‌ای است Ú©Ù‡ Ù‡Ùته‌ای یک بار به هوای سرکشی، به وضع درس Ùˆ مشق بچه‌اش سری می‌زند. زن سÙیدرویی بود با چشم‌های درشت محزون Ùˆ موی بور. بیست Ùˆ پنج ساله هم نمی‌نمود. اما بچه‌اش کلاس سوم بود. روز اول Ú©Ù‡ دیدمش لباس نارنجی به تن داشت Ùˆ تن بزک کرده بود. از زیارت من خیلی خوشحال شد Ùˆ از مراتب Ùضل Ùˆ ادبم خبر داشت. - -خیلی ساده آمده بود تا با دو تا مرد حرÙÛŒ زده باشد. آن طور Ú©Ù‡ ناظم خبر می‌داد، یک سالی طلاق گرÙته بود Ùˆ روی هم رÙته آمد Ùˆ رÙتنش به مدرسه باعث دردسر بود. وسط بیابان Ùˆ مدرسه‌ای پر از معلم‌های عزب Ùˆ بی‌دست Ùˆ پا Ùˆ یک زن زیبا... ناچار جور در نمی‌آمد. این بود Ú©Ù‡ دÙعات بعد دست به سرش می‌کردم، اما از رو نمی‌رÙت. سراغ ناظم Ùˆ اتاق دÙتر را می‌گرÙت Ùˆ صبر می‌کرد تا زنگ را بزنند Ùˆ معلم‌ها جمع بشوند Ùˆ لابد حر٠و سخنی Ùˆ خنده‌ای Ùˆ بعد از معلم کلاس سوم سراغ کار Ùˆ بار Ùˆ بچه‌اش را می‌گرÙت Ùˆ زنگ بعد را Ú©Ù‡ می‌زدند، خداحاÙظی می‌کرد Ùˆ می‌رÙت. آزاری نداشت. با چشم‌هایش Ù†Ùس معلم‌ها را می‌برید. Ùˆ حالا باز هم همان زن بود Ùˆ آمده بود Ùˆ من تا از پلکان پایین بروم در ذهنم جملات زننده‌ای ردی٠می‌کردم، تا پایش را از مدرسه ببرد Ú©Ù‡ در را باز کردم Ùˆ سلام... - -عجب! او نبود. دخترک یکی دو ساله‌ای بود با دهان گشاد Ùˆ موهای زبرش را به زحمت عقب سرش گلوله کرده بود Ùˆ بÙهمی Ù†Ùهمی دستی توی صورتش برده بود. روی هم رÙته زشت نبود. اما داد می‌زد Ú©Ù‡ معلم است. Ú¯Ùتم Ú©Ù‡ مدیر مدرسه‌ام Ùˆ حکمش را داد دستم Ú©Ù‡ دانشسرا دیده بود Ùˆ تازه استخدام شده بود. برایمان معلم Ùرستاده بودند. خواستم بگویم «مگر رئیس Ùرهنگ نمی‌داند Ú©Ù‡ این جا بیش از حد مرد است» ولی دیدم لزومی ندارد Ùˆ Ùکر کردم این هم خودش تنوعی است. - -به هر صورت زنی بود Ùˆ می‌توانست محیط خشن مدرسه را Ú©Ù‡ به طرز ناشیانه‌ای پسرانه بود، لطاÙتی بدهد Ùˆ خوش‌آمد Ú¯Ùتم Ùˆ چای آوردند Ú©Ù‡ نخورد Ùˆ بردمش کلاس‌های سوم Ùˆ چهارم را نشانش دادم Ú©Ù‡ هر کدام را مایل است، قبول کند Ùˆ صحبت از هجده ساعت درس Ú©Ù‡ در انتظار او بود Ùˆ برگشتیم به دÙتر .پرسید غیر از او هم، معلم زن داریم. Ú¯Ùتم: - -- متأسÙانه راه مدرسه‌ی ما را برای پاشنه‌ی Ú©ÙØ´ خانم‌ها نساخته‌اند. - -Ú©Ù‡ خندید Ùˆ احساس کردم زورکی می‌خندد. بعد Ú©Ù…ÛŒ این دست Ùˆ آن دست کرد Ùˆ عاقبت: - -- آخه من شنیده بودم شما با معلماتون خیلی خوب تا می‌کنید. - -صدای جذابی داشت. Ùکر کردم حی٠که این صدا را پای تخته سیاه خراب خواهد کرد. Ùˆ Ú¯Ùتم: - -- اما نه این قدر Ú©Ù‡ مدرسه تعطیل بشود خانم! Ùˆ لابد به عرض‌تون رسیده Ú©Ù‡ همکارهای شما، خودشون نشسته‌اند Ùˆ تصمیم گرÙته‌اند Ú©Ù‡ هجده ساعت درس بدهند. بنده هیچ‌کاره‌ام. - -- اختیار دارید. - -Ùˆ Ù†Ùهمیدم با این «اختیار دارید» Ú†Ù‡ می‌خواست بگوید. اما پیدا بود Ú©Ù‡ بحث سر ساعات درس نیست. آناً تصمیم گرÙتم، امتحانی بکنم: - -- این را هم اطلاع داشته باشید Ú©Ù‡ Ùقط دو تا از معلم‌های ما متأهل‌اند. - -Ú©Ù‡ قرمز شد Ùˆ برای این Ú©Ù‡ کار دیگری نکرده باشد، برخاست Ùˆ حکمش را از روی میز برداشت. پا به پا می‌شد Ú©Ù‡ دیدم باید به دادش برسم. ساعت را از او پرسیدم. وقت زنگ بود. Ùراش را صدا کردم Ú©Ù‡ زنگ را بزند Ùˆ بعد به او Ú¯Ùتم، بهتر است مشورت دیگری هم با رئیس Ùرهنگ بکند Ùˆ ما به هر صورت خوشحال خواهیم شد Ú©Ù‡ اÙتخار همکاری با خانمی مثل ایشان را داشته باشیم Ùˆ خداحاÙظ شما. از در دÙتر Ú©Ù‡ بیرون رÙت، صدای زنگ برخاست Ùˆ معلم‌ها انگار موشان را آتش زده‌اند، به عجله رسیدند Ùˆ هر کدام از پشت سر، آن قدر او را پاییدند تا از در بزرگ آهنی مدرسه بیرون رÙت. - -Ùردا صبح معلوم شد Ú©Ù‡ ناظم، دنبال کار مادرش بوده است Ú©Ù‡ قرار بود بستری شود، تا جای سرطان گرÙته را یک دوره برق بگذارند. Ú©Ù„ کار بیمارستان را من به Ú©Ù…Ú© دوستانم انجام دادم Ùˆ موقع آن رسیده بود Ú©Ù‡ مادرش برود بیمارستان اما وحشتش گرÙته بود Ùˆ حاضر نبود به بیمارستان برود. Ùˆ ناظم می‌خواست رسماً دخالت کنم Ùˆ با هم برویم خانه‌شان Ùˆ با زبان چرب Ùˆ نرمی Ú©Ù‡ به قول ناظم داشتم مادرش را راضی کنم. چاره‌ای نبود. مدرسه را به معلم‌ها سپردیم Ùˆ راه اÙتادیم. بالاخره به خانه‌ی آن‌ها رسیدیم. خانه‌ای بسیار Ú©ÙˆÚ†Ú© Ùˆ اجاره‌ای. مادر با چشم‌های گود نشسته Ùˆ انگار زغال به صورت مالیده! سیاه نبود اما رنگش چنان تیره بود Ú©Ù‡ وحشتم گرÙت. اصلاً صورت نبود. زخم سیاه شده‌ای بود Ú©Ù‡ انگار از جای چشم‌ها Ùˆ دهان سر باز کرده است. Ú©Ù„ÛŒ با مادرش صحبت کردم. از پسرش Ùˆ Ú©Ù„ÛŒ دروغ Ùˆ دونگ، Ùˆ چادرش را روی چارقدش انداختیم Ùˆ علی... Ùˆ خلاصه در بیمارستان بستری شدند. - -Ùردا Ú©Ù‡ به مدرسه آمدم، ناظم سرحال بود Ùˆ پیدا بود Ú©Ù‡ از شر چیزی خلاص شده است Ùˆ خبر داد Ú©Ù‡ معلم کلاس سه را گرÙته‌اند. یک ماه Ùˆ خرده‌ای می‌شد Ú©Ù‡ مخÙÛŒ بود Ùˆ ما ورقه‌ی انجام کارش را به جانشین غیر رسمی‌اش داده بودیم Ùˆ حقوقش لنگ نشده بود Ùˆ تا خبر رسمی بشنود Ùˆ در روزنامه‌ای بیابد Ùˆ قضیه به اداره‌ی Ùرهنگ Ùˆ لیست حقوق بکشد، باز هم می‌دادیم. اما خبر Ú©Ù‡ رسمی شد، جانشین واجد شرایط هم نمی‌توانست بÙرستد Ùˆ باید طبق مقررات رÙتار می‌کردیم Ùˆ بدیش همین بود. Ú©Ù… Ú©Ù… احساس کردم Ú©Ù‡ مدرسه خلوت شده است Ùˆ کلاس‌ها اغلب اوقات بی‌کارند. جانشین معلم کلاس چهار هنوز سر Ùˆ صورتی به کارش نداده بود Ùˆ حالا یک کلاس دیگر هم بی‌معلم شد. این بود Ú©Ù‡ باز هم به سراغ رئیس Ùرهنگ رÙتم. معلوم شد آن دخترک ترسیده Ùˆ «نرسیده متلک پیچش کرده‌اید» رئیس Ùرهنگ این طور می‌گÙت. Ùˆ ترجیح داده بود همان زیر نظر خودش دÙترداری کند. Ùˆ بعد قول Ùˆ قرار Ùˆ Ùردا Ùˆ پس Ùردا Ùˆ عاقبت چهار روز دوندگی تا دو تا معلم گرÙتم. یکی جوانکی رشتی Ú©Ù‡ گذاشتیمش کلاس چهار Ùˆ دیگری باز یکی ازین آقاپسرهای بریانتین‌زده Ú©Ù‡ هر روز کراوات عوض می‌کرد، با نقش‌ها Ùˆ طرح‌های عجیب. عجب Ùرهنگ را با قرتی‌ها در آمیخته بودند! باداباد. او را هم گذاشتیم سر کلاس سه. اواخر بهمن، یک روز ناظم آمد اتاقم Ú©Ù‡ بودجه‌ی مدرسه را زنده کرده است. Ú¯Ùتم: - -- مبارکه، Ú†Ù‡ قدر گرÙتی؟ - -- هنوز هیچ Ú†ÛŒ آقا. قراره Ùردا سر ظهر بیاند این جا آقا Ùˆ همین جا قالش رو بکنند. - -Ùˆ Ùردا اصلاً مدرسه نرÙتم. حتماً می‌خواست من هم باشم Ùˆ در بده بستان ماهی پانزده قران، حق نظاÙت هر اتاق نظارت کنم Ùˆ از مدیریتم مایه بگذارم تا تنخواه‌گردان مدرسه Ùˆ حق آب Ùˆ دیگر پول‌های عقب‌اÙتاده وصول بشود... Ùردا سه Ù†Ùری آمده بودند مدرسه. ناهار هم به خرج ناظم خورده بودند. Ùˆ قرار دیگری برای یک سور حسابی گذاشته بودند Ùˆ رÙته بودند Ùˆ ناظم با زبان بی‌زبانی حالیم کرد Ú©Ù‡ این بار حتماً باید باشم Ùˆ آن طور Ú©Ù‡ می‌گÙت، جای شکرش باقی بود Ú©Ù‡ مراعات کرده بودند Ùˆ حق بوقی نخواسته بودند. اولین باری بود Ú©Ù‡ چنین اهمیتی پیدا می‌کردم. این هم یک مزیت دیگر مدیری مدرسه بود! سی صد تومان از بودجه‌ی دولت بسته به این بود Ú©Ù‡ به Ùلان مجلس بروی یا نروی. تا سه روز دیگر موعد سور بود، اصلاً یادم نیست Ú†Ù‡ کردم. اما همه‌اش در این Ùکر بودم Ú©Ù‡ بروم یا نروم؟ یک بار دیگر استعÙانامه‌ام را توی جیبم گذاشتم Ùˆ بی این Ú©Ù‡ صدایش را در بیاورم، روز سور هم نرÙتم. - -بعد دیدم این طور Ú©Ù‡ نمی‌شود. Ú¯Ùتم بروم قضایا را برای رئیس Ùرهنگ بگویم. Ùˆ رÙتم. سلام Ùˆ احوالپرسی نشستم. اما Ú†Ù‡ بگویم؟ بگویم چون نمی‌خواستم در خوردن سور شرکت کنم، استعÙا می‌دهم؟... دیدم چیزی ندارم Ú©Ù‡ بگویم. Ùˆ از این گذشته Ø®Ùت‌آور نبود Ú©Ù‡ به خاطر سیصد تومان جا بزنم Ùˆ استعÙا بدهم؟ Ùˆ «خداحاÙظ؛ Ùقط آمده بودم سلام عرض کنم.» Ùˆ از این دروغ‌ها Ùˆ استعÙانامه‌ام را توی جوی آب انداختم. اما ناظم؛ یک Ù‡Ùته‌ای مثل سگ بود. عصبانی، پر سر Ùˆ صدا Ùˆ شارت Ùˆ شورت! حتی نرÙتم احوال مادرش را بپرسم. یک Ù‡Ùته‌ی تمام می‌رÙتم Ùˆ در اتاقم را می‌بستم Ùˆ سوراخ‌های گوشم را می‌گرÙتم Ùˆ تا اÙز Ùˆ Ú†Ùزّ بچه‌ها بخوابد، از این سر تا آن سر اتاق را می‌کوبیدم. ده روز تمام، قلب من Ùˆ بچه‌ها با هم Ùˆ به یک اندازه از ترس Ùˆ وحشت تپید. تا عاقبت پول‌ها وصول شد. منتها به جای سیصد Ùˆ خرده‌ای، Ùقط صد Ùˆ پنجاه تومان. علت هم این بود Ú©Ù‡ در تنظیم صورت حساب‌ها اشتباهاتی رخ داده بود Ú©Ù‡ ناچار اصلاحش کرده بودند! - -غیر از آن زنی Ú©Ù‡ Ù‡Ùته‌ای یک بار به مدرسه سری می‌زد، از اولیای اطÙال دو سه Ù†Ùر دیگر هم بودند Ú©Ù‡ مرتب بودند. یکی همان پاسبانی Ú©Ù‡ با کمربند، پاهای پسرش را بست Ùˆ ÙÙ„Ú© کرد. یکی هم کارمند پست Ùˆ تلگراÙÛŒ بود Ú©Ù‡ ده روزی یک بار می‌آمد Ùˆ پدر همان بچه‌ی شیطان. Ùˆ یک استاد نجار Ú©Ù‡ پسرش کلاس اول بود Ùˆ خودش سواد داشت Ùˆ به آن می‌بالید Ùˆ کارآمد می‌نمود. یک مقنی هم بود درشت استخوان Ùˆ بلندقد Ú©Ù‡ بچه‌اش کلاس سوم بود Ùˆ Ù‡Ùته‌ای یک بار می‌آمد Ùˆ همان توی حیاط، ده پانزده دقیقه‌ای با Ùراش‌ها اختلاط می‌کرد Ùˆ بی سر Ùˆ صدا می‌رÙت. نه کاری داشت، نه چیزی از آدم می‌خواست Ùˆ همان طور Ú©Ù‡ آمده بود چند دقیقه‌ای را با Ùراش صحبت می‌کرد Ùˆ بعد Ù…ÛŒ رÙت. Ùقط یک روز نمی‌دانم چرا رÙته بود بالای دیوار مدرسه. البته اول Ùکر کردم مأمور اداره برق است ولی بعد متوجه شدم Ú©Ù‡ همان مرد مقنی است. بچه‌ها جیغ Ùˆ Ùریاد می‌کردند Ùˆ من همه‌اش درین Ùکر بودم Ú©Ù‡ Ú†Ù‡ طور به سر دیوار رÙته است؟ ماحصل داد Ùˆ Ùریادش این بود Ú©Ù‡ چرا اسم پسر او را برای گرÙتن Ú©ÙØ´ Ùˆ لباس به انجمن ندادیم. وقتی به او رسیدم نگاهی به او انداختم Ùˆ بعد تشری به ناظم Ùˆ معلم ها زدم Ú©Ù‡ ولش کردند Ùˆ بچه‌ها رÙتند سر کلاس Ùˆ بعد بی این Ú©Ù‡ نگاهی به او بکنم، Ú¯Ùتم: - -- خسته نباشی اوستا. - -Ùˆ همان طور Ú©Ù‡ به طر٠دÙتر می‌رÙتم رو به ناظم Ùˆ معلم‌ها اÙزودم: - -- لابد جواب درست Ùˆ حسابی نشنیده Ú©Ù‡ رÙته سر دیوار. - -Ú©Ù‡ پشت سرم گرپ صدایی آمد Ùˆ از در دÙتر Ú©Ù‡ رÙتم تو، او Ùˆ ناظم با هم وارد شدند. Ú¯Ùتم نشست. Ùˆ به جای این‌که حرÙÛŒ بزند به گریه اÙتاد. هرگز گمان نمی‌کردم از چنان قد Ùˆ قامتی صدای گریه در بیاید. این بود Ú©Ù‡ از اتاق بیرون آمدم Ùˆ Ùراش را صدا زدم Ú©Ù‡ آب برایش بیاورد Ùˆ حالش Ú©Ù‡ جا آمد، بیاوردش پهلوی من. اما دیگر از او خبری نشد Ú©Ù‡ نشد. نه آن روز Ùˆ نه هیچ روز دیگر. آن روز چند دقیقه‌ای بعد از شیشه‌ی اتاق خودم دیدمش Ú©Ù‡ دمش را لای پایش گذاشته بود از در مدرسه بیرون می‌رÙت Ùˆ Ùراش جدید آمد Ú©Ù‡ بله می‌گÙتند از پسرش پنج تومان خواسته بودند تا اسمش را برای Ú©ÙØ´ Ùˆ لباس به انجمن بدهند. پیدا بود باز توی Ú©ÙˆÚ© ناظم رÙته است. مرخصش کردم Ùˆ ناظم را خواستم. معلوم شد می‌خواسته ناظم را بزند. همین جوری Ùˆ بی‌مقدمه. - -اواخر بهمن بود Ú©Ù‡ یکی از روزهای برÙÛŒ با یکی دیگر از اولیای اطÙال آشنا شدم. یارو مرد بسیار کوتاهی بود؛ Ùرنگ مآب Ùˆ بزک کرده Ùˆ اتو کشیده Ú©Ù‡ ننشسته از تحصیلاتش Ùˆ از سÙرهای Ùرنگش حر٠زد. می‌خواست پسرش را آن وقت سال از مدرسه‌ی دیگر به آن جا بیاورد. پسرش از آن بچه‌هایی بود Ú©Ù‡ شیر Ùˆ مربای صبحانه‌اش را با قربان صدقه توی حلقشان می‌تپانند. کلاس دوم بود Ùˆ ثلث اول دو تا تجدید آورده بود. می‌گÙت در باغ ییلاقی‌اش Ú©Ù‡ نزدیک مدرسه است، باغبانی دارند Ú©Ù‡ پسرش شاگرد ماست Ùˆ درس‌خوان است Ùˆ پیدا است Ú©Ù‡ بچه‌ها زیر سایه شما خوب پیشرÙت می‌کنند. Ùˆ از این پیزرها. Ùˆ حال به خاطر همین بچه، توی این بر٠و سرما، آمده‌اند ساکن باغ ییلاقی شده‌اند. بلند شدم ناظم را صدا کردم Ùˆ دست او Ùˆ بچه‌اش را توی دست ناظم گذاشتم Ùˆ خداحاÙظ شما... Ùˆ نیم ساعت بعد ناظم برگشت Ú©Ù‡ یارو خانه‌ی شهرش را به یک دبیرستان اجاره داده، به ماهی سه هزار Ùˆ دویست تومان، Ùˆ التماس دعا داشته، یعنی معلم سرخانه می‌خواسته Ùˆ حتی بدش نمی‌آمده است Ú©Ù‡ خود مدیر زحمت بکشند Ùˆ ازین گنده‌گوزی‌ها... احساس کردم Ú©Ù‡ ناظم دهانش آب اÙتاده است. Ùˆ من به ناظم حالی کردم خودش برود بهتر است Ùˆ Ùقط کاری بکند Ú©Ù‡ نه صدای معلم‌ها در بیاید Ùˆ نه آخر سال، برای یک معدل ده احتیاجی به من بمیرم Ùˆ تو بمیری پیدا کند. همان روز عصر ناظم رÙته بود Ùˆ قرار Ùˆ مدار برای هر روز عصر یک ساعت به ماهی صد Ùˆ پنجاه تومان. - -دیگر دنیا به کام ناظم بود. حال مادرش هم بهتر بود Ùˆ از بیمارستان مرخصش کرده بودند Ùˆ به Ùکر زن گرÙتن اÙتاده بود. Ùˆ هر روز هم برای یک Ù†Ùر نقشه می‌کشید حتی برای من هم. یک روز در آمد Ú©Ù‡ چرا ما خودمان «انجمن خانه Ùˆ مدرسه» نداشته باشیم؟ نشسته بود Ùˆ حسابش را کرده بود دیده بود Ú©Ù‡ پنجاه شصت Ù†Ùری از اولیای مدرسه دستشان به دهان‌شان می‌رسد Ùˆ از آن هم Ú©Ù‡ به پسرش درس خصوصی می‌داد قول مساعد گرÙته بود. حالیش کردم Ú©Ù‡ مواظب حر٠و سخن اداره‌ای باشد Ùˆ هر کار دلش می‌خواهد بکند. کاغذ دعوت را هم برایش نوشتم با آب Ùˆ تاب Ùˆ خودش برای اداره‌ی Ùرهنگ، داد ماشین کردند Ùˆ به وسیله‌ی خود بچه‌ها Ùرستاد. Ùˆ جلسه با حضور بیست Ùˆ چند Ù†Ùری از اولیای بچه‌ها رسمی شد. خوبیش این بود Ú©Ù‡ پاسبان کشیک پاسگاه هم آمده بود Ùˆ دم در برای همه، پاشنه‌هایش را به هم می‌کوبید Ùˆ معلم‌ها گوش تا گوش نشسته بودند Ùˆ مجلس ابهتی داشت Ùˆ ناظم، چای Ùˆ شیرینی تهیه کرده بود Ùˆ چراغ زنبوری کرایه کرده بود Ùˆ باران هم گذاشت پشتش Ùˆ سالون برای اولین بار در عمرش به نوایی رسید. - -یک سرهنگ بود Ú©Ù‡ رئیسش کردیم Ùˆ آن زن را Ú©Ù‡ Ù‡Ùته‌ای یک بار می‌آمد نایب رئیس. آن Ú©Ù‡ ناظم به پسرش درس خصوصی می‌داد نیامده بود. اما پاکت سربسته‌ای به اسم مدیر Ùرستاده بود Ú©Ù‡ Ùی‌المجلس بازش کردیم. عذرخواهی از این‌که نتوانسته بود بیاید Ùˆ وجه ناقابلی جو٠پاکت. صد Ùˆ پنجاه تومان. Ùˆ پول را روی میز صندوق‌دار گذاشتیم Ú©Ù‡ ضبط Ùˆ ربط کند. نائب رئیس بزک کرده Ùˆ معطر شیرینی تعار٠می‌کرد Ùˆ معلم‌ها با هر بار Ú©Ù‡ شیرینی بر می‌داشتند، یک بار تا بناگوش سرخ می‌شدند Ùˆ Ùراش‌ها دست به دست چای می‌آوردند. - -در Ùکر بودم Ú©Ù‡ یک مرتبه احساس کردم، سیصد چهارصد تومان پول نقد، روی میز است Ùˆ هشت صد تومان هم تعهد کرده بودند. پیرزن صندوقدار Ú©Ù‡ کی٠پولش را همراهش نیاورده بود ناچار حضار تصویب کردند Ú©Ù‡ پول‌ها Ùعلاً پیش ناظم باشد. Ùˆ صورت مجلس مرتب شد Ùˆ امضاها ردی٠پای آن Ùˆ Ùردا Ùهمیدم Ú©Ù‡ ناظم همان شب روی خشت نشسته بوده Ùˆ به معلم‌ها سور داده بوده است. اولین کاری Ú©Ù‡ کردم رونوشت مجلس آن شب را برای اداره‌ی Ùرهنگ Ùرستادم. Ùˆ بعد همان استاد نجار را صدا کردم Ùˆ دستور دادم برای مستراح‌ها دو روزه در بسازد Ú©Ù‡ ناظم خیلی به سختی پولش را داد. Ùˆ بعد در کوچه‌ی مدرسه درخت کاشتیم. تور والیبال را تعویض Ùˆ تعدادی توپ در اختیار بچه‌ها گذاشتیم برای تمرین در بعد از ظهرها Ùˆ آمادگی برای مسابقه با دیگر مدارس Ùˆ در همین حین سر Ùˆ کله‌ی بازرس تربیت بدنی هم پیدا شد Ùˆ هر روز سرکشی Ùˆ بیا Ùˆ برو. تا یک روز Ú©Ù‡ به مدرسه رسیدم شنیدم Ú©Ù‡ از سالون سر Ùˆ صدا می‌آید. صدای هالتر بود. ناظم سر خود رÙته بود Ùˆ سرخود دویست سیصد تومان داده بود Ùˆ هالتر خریده بود Ùˆ بچه‌های لاغر زیر بار آن گردن خود را خرد می‌کردند. من در این میان حرÙÛŒ نزدم. می‌توانستم حرÙÛŒ بزنم؟ من چیکاره بودم؟ اصلاً به من Ú†Ù‡ ربطی داشت؟ هر کار Ú©Ù‡ دلشان می‌خواهد بکنند. مهم این بود Ú©Ù‡ سالون مدرسه رونقی گرÙته بود. ناظم هم راضی بود Ùˆ معلم‌ها هم. چون نه خبر از حسادتی بود Ùˆ نه حر٠و سخنی پیش آمد. Ùقط می‌بایست به ناظم سÙارش Ù…ÛŒ کردم Ú©Ù‡ Ùکر Ùراش‌ها هم باشد. - -Ú©Ù… Ú©Ù… خودمان را برای امتحان‌های ثلث دوم آماده می‌کردیم. این بود Ú©Ù‡ اوایل اسÙند، یک روز معلم‌ها را صدا زدم Ùˆ در شورا مانندی Ú©Ù‡ کردیم بی‌مقدمه برایشان داستان یکی از همکاران سابقم را Ú¯Ùتم Ú©Ù‡ هر وقت بیست می‌داد تا دو روز تب داشت. البته معلم‌ها خندیدند. ناچار تشویق شدم Ùˆ داستان آخوندی را Ú¯Ùتم Ú©Ù‡ در بچگی معلم شرعیاتمان بود Ùˆ زیر عبایش نمره می‌داد Ùˆ دستش چنان می‌لرزید Ú©Ù‡ عبا تکان می‌خورد Ùˆ درست ده دقیقه طول می‌کشید. Ùˆ تازه چند؟ بهترین شاگردها دوازده. Ùˆ البته باز هم خندیدند. Ú©Ù‡ این بار کلاÙه‌ام کرد. Ùˆ بعد حالیشان کردم Ú©Ù‡ بد نیست در طرح سؤال‌ها مشورت کنیم Ùˆ از این حرÙ‌ها... - -Ùˆ از شنبه‌ی بعد، امتحانات شروع شد. درست از نیمه‌ی دوم اسÙند. سؤال‌ها را سه Ù†Ùری می‌دیدیم. خودم با معلم هر کلاس Ùˆ ناظم. در سالون میزها را چیده بودیم البته از وقتی هالتردار شده بود خیلی زیباتر شده بود. در سالون کاردستی‌های بچه‌ها در همه جا به چشم می‌خورد. هر کسی هر چیزی را به عنوان کاردستی درست کرده بودند Ùˆ آورده بودند. Ú©Ù‡ برای این کاردستی‌ها Ú†Ù‡ پول‌ها Ú©Ù‡ خرج نشده بود Ùˆ Ú†Ù‡ دست‌ها Ú©Ù‡ نبریده بود Ùˆ Ú†Ù‡ دعواها Ú©Ù‡ نشده بود Ùˆ Ú†Ù‡ عرق‌ها Ú©Ù‡ ریخته نشده بود. پیش از هر امتحان Ú©Ù‡ می‌شد، خودم یک میتینگ برای بچه‌ها می‌دادم Ú©Ù‡ ترس از معلم Ùˆ امتحان بی‌جا است Ùˆ باید اعتماد به Ù†Ùس داشت Ùˆ ازین مزخرÙات....ولی مگر حر٠به گوش کسی می‌رÙت؟ از در Ú©Ù‡ وارد می‌شدند، چنان هجومی می‌بردند Ú©Ù‡ Ù†Ú¯Ùˆ! به جاهای دور از نظر. یک بار چنان بود Ú©Ù‡ احساس کردم مثل این‌که از ترس، لذت می‌برند. اگر معلم نبودی یا مدیر، به راحتی می‌توانستی حدس بزنی Ú©Ù‡ کی‌ها با هم قرار Ùˆ مداری دارند Ùˆ کدام یک پهلو دست کدام یک خواهد نشست. یکی دو بار کوشیدم بالای دست یکی‌شان بایستم Ùˆ ببینم Ú†Ù‡ می‌نویسد. ولی چنان مضطرب می‌شدند Ùˆ دستشان به لرزه می‌اÙتاد Ú©Ù‡ از نوشتن باز می‌ماندند. می‌دیدم Ú©Ù‡ این مردان آینده، درین کلاس‌ها Ùˆ امتحان‌ها آن قدر خواهند ترسید Ú©Ù‡ وقتی دیپلمه بشوند یا لیسانسه، اصلاً آدم نوع جدیدی خواهند شد. آدمی انباشته از وحشت، انبانی از ترس Ùˆ دلهره. به این ترتیب یک روز بیشتر دوام نیاوردم. چون دیدم نمی‌توانم قلب بچگانه‌ای داشته باشم تا با آن ترس Ùˆ وحشت بچه‌ها را درک کنم Ùˆ هم‌دردی نشان بدهم.این جور بود Ú©Ù‡ می‌دیدم Ú©Ù‡ معلم مدرسه هم نمی‌توانم باشم. - -دو روز قبل از عید کارنامه‌ها آماده بود Ùˆ منتظر امضای مدیر. دویست Ùˆ سی Ùˆ شش تا امضا اقلاً تا ظهر طول می‌کشید. پیش از آن هم تا می‌توانستم از امضای دÙترهای حضور Ùˆ غیاب می‌گریختم. خیلی از جیره‌خورهای دولت در ادارات دیگر یا در میان همکارانم دیده بودم Ú©Ù‡ در مواقع بیکاری تمرین امضا می‌کنند. پیش از آن نمی‌توانستم بÙهمم Ú†Ù‡ طور از مدیری یک مدرسه یا کارمندی ساده یک اداره می‌شود به وزارت رسید. یا اصلاً آرزویش را داشت. نیم‌قراضه امضای آماده Ùˆ هر کدام معر٠یک شخصیت، بعد نیم‌ذرع زبان چرب Ùˆ نرم Ú©Ù‡ با آن، مار را از سوراخ بیرون بکشی، یا همه جا را بلیسی Ùˆ یک دست هم قیاÙÙ‡. نه یک جور. دوازده جور. - -در این Ùکرها بودم Ú©Ù‡ ناگهان در میان کارنامه‌ها چشمم به یک اسم آشنا اÙتاد. به اسم پسران جناب سرهنگ Ú©Ù‡ رئیس انجمن بود. رÙتم توی نخ نمراتش. همه متوسط بود Ùˆ جای ایرادی نبود. Ùˆ یک مرتبه به صراÙت اÙتادم Ú©Ù‡ از اول سال تا به حال بچه‌های مدرسه را Ùقط به اعتبار وضع مالی پدرشان قضاوت کرده‌ام. درست مثل این پسر سرهنگ Ú©Ù‡ به اعتبار کیابیای پدرش درس نمی‌خواند. دیدم هر کدام Ú©Ù‡ پدرشان Ùقیرتر است به نظر من باهوش‌تر می‌آمده‌اند. البته ناظم با این حرÙ‌ها کاری نداشت. مر قانونی را عمل می‌کرد. از یکی چشم می‌پوشید به دیگری سخت می‌گرÙت. - -اما من مثل این Ú©Ù‡ قضاوتم را درباره‌ی بچه‌ها از پیش کرده باشم Ùˆ Ú†Ù‡ خوب بود Ú©Ù‡ نمره‌ها در اختیار من نبود Ùˆ آن یکی هم «انظباط» مال آخر سال بود. مسخره‌ترین کارها آن است Ú©Ù‡ کسی به اصلاح وضعی دست بزند، اما در قلمروی Ú©Ù‡ تا سر دماغش بیشتر نیست. Ùˆ تازه مدرسه‌ی من، این قلمروی Ùعالیت من، تا سر دماغم هم نبود. به همان توی ذهنم ختم می‌شد. وضعی را Ú©Ù‡ دیگران ترتیب داده بودند. به این ترتیب بعد از پنج شش ماه، می‌Ùهمیدم Ú©Ù‡ حسابم یک حساب عقلایی نبوده است. احساساتی بوده است. ضعÙ‌های احساساتی مرا خشونت‌های عملی ناظم جبران می‌کرد Ùˆ این بود Ú©Ù‡ جمعاً نمی‌توانستم ازو بگذرم. مرد عمل بود. کار را می‌برید Ùˆ پیش می‌رÙت. در زندگی Ùˆ در هر کاری، هر قدمی بر می‌داشت، برایش هد٠بود. Ùˆ چشم از وجوه دیگر قضیه می‌پوشید. این بود Ú©Ù‡ برش داشت. Ùˆ من نمی‌توانستم. چرا Ú©Ù‡ اصلاً مدیر نبودم. خلاص... - -Ùˆ کارنامه‌ی پسر سرهنگ را Ú©Ù‡ زیر دستم عرق کرده بود، به دقت Ùˆ احتیاج خشک کردم Ùˆ امضایی زیر آن گذاشتم به قدری بد خط Ùˆ مسخره بود Ú©Ù‡ به یاد امضای Ùراش جدیدمان اÙتادم. حتماً جناب سرهنگ کلاÙÙ‡ می‌شد Ú©Ù‡ چرا چنین آدم بی‌سوادی را با این خط Ùˆ ربط امضا مدیر مدرسه کرده‌اند. آخر یک جناب سرهنگ هم می‌داند Ú©Ù‡ امضای آدم معر٠شخصیت آدم است. - -اواخر تعطیلات نوروز رÙتم به ملاقات معلم ترکه‌ای کلاس سوم. ناظم Ú©Ù‡ با او میانه‌ی خوشی نداشت. ناچار با معلم حساب کلاس پنج Ùˆ شش قرار Ùˆ مداری گذاشته بودم Ú©Ù‡ مختصری علاقه‌ای هم به آن حر٠و سخن‌ها داشت. هم به وسیله‌ی او بود Ú©Ù‡ می‌دانستم نشانی‌اش کجا است Ùˆ توی کدام زندان است. در راه قبل از هر چیز خبر داد Ú©Ù‡ رئیس Ùرهنگ عوض شده Ùˆ این طور Ú©Ù‡ شایع است یکی از هم دوره‌ای‌های من، جایش آمده. Ú¯Ùتم: - -- عجب! چرا؟ Ù…Ú¯Ù‡ رئیس قبلی چپش Ú©Ù… بود؟ - -- Ú†Ù‡ عرض کنم. می‌گند پا تو Ú©ÙØ´ یکی از نماینده‌ها کرده. شما خبر ندارید؟ - -- Ú†Ù‡ طور؟ از کجا خبر داشته باشم؟ - -- هیچ Ú†ÛŒ... Ù…ÛŒ گند دو تا از کارچاق‌کن‌های انتخاباتی یارو از صندوق Ùرهنگ حقوق می‌گرÙته‌اند؛ شب عیدی رئیس Ùرهنگ حقوق‌شون رو زده. - -- عجب! پس اونم می‌خواسته اصلاحات کنه! بیچاره. - -Ùˆ بعد از این حر٠زدیم Ú©Ù‡ الحمدالله مدرسه مرتب است Ùˆ آرام Ùˆ معلم‌ها همکاری می‌کنند Ùˆ ناظم بیش از اندازه همه‌کاره شده است. Ùˆ من Ùهمیدم Ú©Ù‡ باز لابد مشتری خصوصی تازه‌ای پیدا شده است Ú©Ù‡ سر Ùˆ صدای همه همکارها بلند شده. دم در زندان شلوغ بود. کلاه مخملی‌ها، عم‌قزی گل‌بته‌ها، خاله خانباجی‌ها Ùˆ... اسم نوشتیم Ùˆ نوبت گرÙتیم Ùˆ به جای پاها، دست‌هامان زیر بار Ú©ÙˆÚ†Ú©ÛŒ Ú©Ù‡ داشتیم، خسته شد Ùˆ خواب رÙت تا نوبتمان شد. از این اتاق به آن اتاق Ùˆ عاقبت نرده‌های آهنی Ùˆ پشت آن معلم کلاس سه Ùˆ... عجب چاق شده بود!درست مثل یک آدم حسابی شده بود. خوشحال شدیم Ùˆ احوالپرسی Ùˆ تشکر؛ Ùˆ دیگر Ú†Ù‡ بگویم؟ بگویم چرا خودت را به دردسر انداختی؟ پیدا بود از مدرسه Ùˆ کلاس به او خوش‌تر می‌گذرد. ایمانی بود Ùˆ او آن را داشت Ùˆ خوشبخت بود Ùˆ دردسری نمی‌دید Ùˆ زندان حداقل برایش کلاس درس بود. عاقبت پرسیدم: - -- پرونده‌ای هم برات درست کردند یا هنوز بلاتکلیÙی؟ - -- امتحانمو دادم آقا مدیر، بد از آب در نیومد. - -- یعنی چه؟ - -- یعنی بی‌تکلی٠نیستم. چون اسمم تو لیست جیره‌ی زندون رÙته. خیالم راحته. چون سختی‌هاش گذشته. - -دیگر Ú†Ù‡ بگویم. دیدم چیزی ندارم خداحاÙظی کردم Ùˆ او را با معلم حساب تنها گذاشتم Ùˆ آمدم بیرون Ùˆ تا مدت ملاقات تمام بشود، دم در زندان قدم زدم Ùˆ به زندانی Ùکر کردم Ú©Ù‡ برای خودم ساخته بودم. یعنی آن خرپول Ùرهنگ‌دوست ساخته بود. Ùˆ من به میل Ùˆ رغبت خودم را در آن زندانی کرده بودم. این یکی را به ضرب دگنک این جا آورده بودند. ناچار حق داشت Ú©Ù‡ خیالش راحت باشد. اما من به میل Ùˆ رغبت رÙته بودم Ùˆ Ú†Ù‡ بکنم؟ ناظم Ú†Ù‡ طور؟ راستی اگر رئیس Ùرهنگ از هم دوره‌ای‌های خودم باشد؛ Ú†Ù‡ طور است بروم Ùˆ ازو بخواهم Ú©Ù‡ ناظم را جای من بگذارد، یا همین معلم حساب را؟... Ú©Ù‡ معلم حساب در آمد Ùˆ راه اÙتادیم. با او هم دیگر حرÙÛŒ نداشتم. سر پیچ خداحاÙظ شما Ùˆ تاکسی گرÙتم Ùˆ یک سر به اداره‌ی Ùرهنگ زدم. گرچه دهم عید بود، اما هنوز رÙت Ùˆ آمد سال نو تمام نشده بود. برو Ùˆ بیا Ùˆ شیرینی Ùˆ چای دو جانبه. رÙتم تو. سلام Ùˆ تبریک Ùˆ همین تعارÙات را پراندم. - -بله خودش بود. یکی از پخمه‌های کلاس. Ú©Ù‡ آخر سال سوم کشتیارش شدم دو بیت شعر را Ø­Ùظ کند، نتوانست Ú©Ù‡ نتوانست. Ùˆ حالا او رئیس بود Ùˆ من آقا مدیر. راستی حی٠از من، Ú©Ù‡ حتی وزیر چنین رئیس Ùرهنگ‌هایی باشم! میز همان طور پاک بود Ùˆ رÙته. اما زیرسیگاری انباشته از خاکستر Ùˆ ته سیگار. بلند شد Ùˆ چلپ Ùˆ چولوپ روبوسی کردیم Ùˆ پهلوی خودش جا باز کرد Ùˆ گوش تا گوش جیره‌خورهای Ùرهنگ تبریکات صمیمانه Ùˆ بدگویی از ماسبق Ùˆ هندوانه Ùˆ پیزرها! Ùˆ دو Ù†Ùر Ú©Ù‡ قد Ùˆ قواره‌شان به درد گود زورخانه می‌خورد یا پای صندوق انتخابات شیرینی به مردم می‌دادند. نزدیک بود شیرینی را توی ظرÙØ´ بیندازم Ú©Ù‡ دیدم بسیار احمقانه است. سیگارم Ú©Ù‡ تمام شد قضیه‌ی رئیس Ùرهنگ قبلی Ùˆ آن دو Ù†Ùر را در گوشی ازش پرسیدم، حرÙÛŒ نزد. Ùقط نگاهی می‌کرد Ú©Ù‡ شبیه التماس بود Ùˆ من Ùرصت جستم تا وضع معلم کلاس سوم را برایش روشن کنم Ùˆ از او بخواهم تا آن جا Ú©Ù‡ می‌تواند جلوی حقوقش را نگیرد. Ùˆ از در Ú©Ù‡ آمدم بیرون، تازه یادم آمد Ú©Ù‡ برای کار دیگری پیش رئیس Ùرهنگ بودم. - -باز دیروز اÙتضاحی به پا شد. معقول یک ماهه‌ی Ùروردین راحت بودیم. اول اردیبهشت ماه جلالی Ùˆ کوس رسوایی سر دیوار مدرسه. نزدیک آخر وقت یک جÙت پدر Ùˆ مادر، بچه‌شان در میان، وارد اتاق شدند. یکی بر اÙروخته Ùˆ دیگری رنگ Ùˆ رو باخته Ùˆ بچه‌شان عیناً مثل این عروسک‌های Ú©ÙˆÚ©ÛŒ. سلام Ùˆ علیک Ùˆ نشستند. خدایا دیگر Ú†Ù‡ اتÙاقی اÙتاده است؟ - -- Ú†Ù‡ خبر شده Ú©Ù‡ با خانوم سراÙرازمون کردید؟ - -مرد اشاره‌ای به زنش کرد Ú©Ù‡ بلند شد Ùˆ دست بچه را گرÙت Ùˆ رÙت بیرون Ùˆ من ماندم Ùˆ پدر. اما حر٠نمی‌زد. به خودش Ùرصت می‌داد تا عصبانیتش بپزد. سیگارم را در آوردم Ùˆ تعارÙØ´ کردم. مثل این Ú©Ù‡ مگس مزاحمی را از روی دماغش بپراند، سیگار را رد کرد Ùˆ من Ú©Ù‡ سیگارم را آتش می‌زدم، Ùکر کردم لابد دردی دارد Ú©Ù‡ چنین دست Ùˆ پا بسته Ùˆ چنین متکی به خانواده به مدرسه آمده. باز پرسیدم: - -- خوب، حالا Ú†Ù‡ Ùرمایش داشتید؟ - -Ú©Ù‡ یک مرتبه ترکید: - -- اگه من مدیر مدرسه بودم Ùˆ هم‌چه اتÙاقی می‌اÙتاد، شیکم خودمو پاره می‌کردم. خجالت بکش مرد! برو استعÙا بده. تا اهل محل نریختن تیکه تیکه‌ات کنند، دو تا گوشتو وردار Ùˆ دررو. بچه‌های مردم می‌آن این جا درس بخونن Ùˆ حسن اخلاق. نمی‌آن Ú©Ù‡... - -- این مزخرÙات کدومه آقا! حر٠حساب سرکار چیه؟ - -Ùˆ حرکتی کردم Ú©Ù‡ او را از در بیندازم بیرون. اما آخر باید می‌Ùهمیدم Ú†Ù‡ مرگش است. «ولی آخر با من Ú†Ù‡ کار دارد؟» - -- آبروی من رÙته. آبروی صد ساله‌ی خونواده‌ام رÙته. اگه در مدرسه‌ی تو رو تخته نکنم، تخم بابام نیستم. آخه من دیگه با این بچه Ú†ÛŒ کار کنم؟ تو این مدرسه ناموس مردم در خطره. کلانتری Ùهمیده؛ پزشک قانونی Ùهمیده؛ یک پرونده درست شده پنجاه ورق؛ تازه می‌گی حر٠حسابم چیه؟ حر٠حسابم اینه Ú©Ù‡ صندلی Ùˆ این مقام از سر تو زیاده. حر٠حسابم اینه Ú©Ù‡ می‌دم محاکمه‌ات کنند Ùˆ از نون خوردن بندازنت... - -او می‌گÙت Ùˆ من گوش می‌کردم Ùˆ مثل دو تا سگ هار به جان هم اÙتاده بودیم Ú©Ù‡ در باز شد Ùˆ ناظم آمد تو. به دادم رسید. در همان حال Ú©Ù‡ من Ùˆ پدر بچه در حال دعوا بودیم زن Ùˆ بچه همان آقا رÙته بودند Ùˆ قضایا را برای ناظم تعری٠کرده بودند Ùˆ او Ùرستاده بوده Ùاعل را از کلاس کشیده بودند بیرون... Ùˆ Ú¯Ùت Ú†Ù‡ طور است زنگ بزنیم Ùˆ جلوی بچه‌ها ادبش کنیم Ùˆ کردیم. یعنی این بار خود من رÙتم میدان. پسرک نره‌خری بود از پنجمی‌ها با لباس مرتب Ùˆ صورت سرخ Ùˆ سÙید Ùˆ سالکی به گونه. جلوی روی بچه‌ها کشیدمش زیر مشت Ùˆ لگد Ùˆ بعد سه تا از ترکه‌ها را Ú©Ù‡ Ùراش جدید Ùوری از باغ همسایه آورده بود، به سر Ùˆ صورتش خرد کردم. چنان وحشی شده بودم Ú©Ù‡ اگر ترکه‌ها نمی‌رسید، پسرک را کشته بودم. این هم بود Ú©Ù‡ ناظم به دادش رسید Ùˆ وساطت کرد Ùˆ لاشه‌اش را توی دÙتر بردند Ùˆ بچه‌ها را مرخص کردند Ùˆ من به اتاقم برگشتم Ùˆ با حالی زار روی صندلی اÙتادم، نه از پدر خبری بود Ùˆ نه از مادر Ùˆ نه از عروسک‌های کوکی‌شان Ú©Ù‡ ناموسش دست کاری شده بود. Ùˆ تازه احساس کردم Ú©Ù‡ این کتک‌کاری را باید به او می‌زدم. خیس عرق بودم Ùˆ دهانم تلخ بود. تمام Ùحش‌هایی Ú©Ù‡ می‌بایست به آن مردکه‌ی دبنگ می‌دادم Ùˆ نداده بودم، در دهانم رسوب کرده بود Ùˆ مثل دم مار تلخ شده بود. اصلاً چرا زدمش؟ چرا نگذاشتم مثل همیشه ناظم میدان‌داری کند Ú©Ù‡ هم کارکشته‌تر بود Ùˆ هم خونسردتر. لابد پسرک با دخترعمه‌اش هم نمی‌تواند بازی کند. لابد توی خانواده‌شان، دخترها سر ده دوازده سالگی باید از پسرهای هم سن رو بگیرند. نکند عیبی کرده باشد؟ Ùˆ یک مرتبه به صراÙت اÙتادم Ú©Ù‡ بروم ببینم Ú†Ù‡ بلایی به سرش آورده‌ام. بلند شدم Ùˆ یکی از Ùراش‌ها را صدا کردم Ú©Ù‡ Ùهمیدم روانه‌اش کرده‌اند. آبی آورد Ú©Ù‡ روی دستم می‌ریخت Ùˆ صورتم را می‌شستم Ùˆ می‌کوشیدم Ú©Ù‡ لرزش دست‌هایم را نبیند. Ùˆ در گوشم آهسته Ú¯Ùت Ú©Ù‡ پسر مدیر شرکت اتوبوسرانی است Ùˆ بدجوری کتک خورده Ùˆ آن‌ها خیلی سعی کرده‌اند Ú©Ù‡ تر Ùˆ تمیزش کنند... - -احمق مثلا داشت توی دل مرا خالی می‌کرد. نمی‌دانست Ú©Ù‡ من اول تصمیم را گرÙتم، بعد مثل سگ هار شدم. Ùˆ تازه می‌Ùهمیدم کسی را زده‌ام Ú©Ù‡ لیاقتش را داشته. حتماً از این اتÙاق‌ها جای دیگر هم می‌اÙتد. آدم بردارد پایین تنه بچه‌ی خودش را، یا به قول خودش ناموسش را بگذارد سر گذر Ú©Ù‡ کلانتر محل Ùˆ پزشک معاینه کنند! تا پرونده درست کنند؟ با این پدرو مادرها بچه‌ها حق دارند Ú©Ù‡ قرتی Ùˆ دزد Ùˆ دروغگو از آب در بیایند. این مدرسه‌ها را اول برای پدر Ùˆ مادرها باز کنند... - -با این اÙکار به خانه رسیدم. زنم در را Ú©Ù‡ باز کرد؛ چشم‌هایش گرد شد. همیشه وقتی می‌ترسد این طور می‌شود. برای اینکه خیال نکند آدم کشته‌ام، زود قضایا را برایش Ú¯Ùتم. Ùˆ دیدم Ú©Ù‡ در ماند. یعنی ساکت ماند. آب سرد، عرق بیدمشک، سیگار پشت سیگار Ùایده نداشت، لقمه از گلویم پایین نمی‌رÙت Ùˆ دست‌ها هنوز می‌لرزید. هر کدام به اندازه‌ی یک ماه Ùعالیت کرده بودند. با سیگار چهارم شروع کردم: - -- می‌دانی زن؟ بابای یارو پول‌داره. مسلماً کار به دادگستری Ùˆ این جور خنس‌ها می‌کشه. مدیریت Ú©Ù‡ الÙاتحه. اما خیلی دلم می‌خواد قضیه به دادگاه برسه. یک سال آزگار رو دل کشیده‌ام Ùˆ دیگه خسته شده‌ام. دلم می‌خواد یکی بپرسه چرا بچه‌ی مردم رو این طوری زدی، چرا تنبیه بدنی کردی! آخه یک مدیر مدرسه هم حرÙ‌هایی داره Ú©Ù‡ باید یک جایی بزنه... - -Ú©Ù‡ بلند شد Ùˆ رÙت سراغ تلÙÙ†. دو سه تا از دوستانم را Ú©Ù‡ در دادگستری کاره‌ای بودند، گرÙت Ùˆ خودم قضیه را برایشان Ú¯Ùتم Ú©Ù‡ مواظب باشند. Ùردا پسرک Ùاعل به مدرسه نیامده بود. Ùˆ ناظم برایم Ú¯Ùت Ú©Ù‡ قضیه ازین قرار بوده است Ú©Ù‡ دوتایی به هوای دیدن مجموعه تمبرهای Ùاعل با هم به خانه‌ای می‌روند Ùˆ قضایا همان جا اتÙاق می‌اÙتد Ùˆ داد Ùˆ هوار Ùˆ دخالت پدر Ùˆ مادرهای طرÙین Ùˆ خط Ùˆ نشان Ùˆ شبانه کلانتری؛ Ùˆ تمام اهل محل خبر دارند. او هم نظرش این بود Ú©Ù‡ کار به دادگستری خواهد کشید. - -Ùˆ من یک Ù‡Ùته‌ی تمام به انتظار اخطاریه‌ی دادگستری صبح Ùˆ عصر به مدرسه رÙتم Ùˆ مثل بخت‌النصر پشت پنجره ایستادم. اما در تمام این مدت نه از Ùاعل خبری شد، نه از Ù…Ùعول Ùˆ نه از پدر Ùˆ مادر ناموس‌پرست Ùˆ نه از مدیر شرکت اتوبوسرانی. انگار نه انگار Ú©Ù‡ اتÙاقی اÙتاده. بچه‌ها می‌آمدند Ùˆ می‌رÙتند؛ برای آب خوردن عجله می‌کردند؛ به جای بازی کتک‌کاری می‌کردند Ùˆ همه چیز مثل قبل بود. Ùقط من ماندم Ùˆ یک دنیا حر٠و انتظار. تا عاقبت رسید.... احضاریه‌ای با تعیین وقت قبلی برای دو روز بعد، در Ùلان شعبه Ùˆ پیش Ùلان بازپرس دادگستری. آخر کسی پیدا شده بود Ú©Ù‡ به حرÙÙ… گوش کند. - -تا دو روز بعد Ú©Ù‡ موعد احضار بود، اصلاً از خانه در نیامدم. نشستم Ùˆ ماحصل حرÙ‌هایم را روی کاغذ آوردم. حرÙ‌هایی Ú©Ù‡ با همه‌ی چرندی هر وزیر Ùرهنگی می‌توانست با آن یک برنامه‌ی Ù‡Ùت ساله برای کارش بریزد. Ùˆ سر ساعت معین رÙتم دادگستری. اتاق معین Ùˆ بازپرس معین. در را باز کردم Ùˆ سلام، Ùˆ تا آمدم خودم را معرÙÛŒ کنم Ùˆ احضاریه را در بیاورم، یارو پیش‌دستی کرد Ùˆ صندلی آورد Ùˆ چای سÙارش داد Ùˆ «احتیاجی به این حرÙ‌ها نیست Ùˆ قضیه‌ی Ú©ÙˆÚ†Ú© بود Ùˆ حل شد Ùˆ راضی به زحمت شما نبودیم...» - -Ú©Ù‡ عرق سرد بر بدن من نشست. چایی‌ام را Ú©Ù‡ خوردم، روی همان کاغذ نشان‌دار دادگستری استعÙانامه‌ام را نوشتم Ùˆ به نام هم‌کلاسی پخمه‌ام Ú©Ù‡ تازه رئیس شده بود، دم در پست کردم. -EOT; -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/fi_FI/Address.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/fi_FI/Address.php deleted file mode 100644 index 8e0829e..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/fi_FI/Address.php +++ /dev/null @@ -1,85 +0,0 @@ -format('dmy'); - - switch ((int)($birthdate->format('Y')/100)) { - case 18: - $centurySign = '+'; - break; - case 19: - $centurySign = '-'; - break; - case 20: - $centurySign = 'A'; - break; - default: - throw new \InvalidArgumentException('Year must be between 1800 and 2099 inclusive.'); - } - - $randomDigits = self::numberBetween(0, 89); - if ($gender && $gender == static::GENDER_MALE) { - if ($randomDigits === 0) { - $randomDigits .= static::randomElement(array(3,5,7,9)); - } else { - $randomDigits .= static::randomElement(array(1,3,5,7,9)); - } - } elseif ($gender && $gender == static::GENDER_FEMALE) { - if ($randomDigits === 0) { - $randomDigits .= static::randomElement(array(2,4,6,8)); - } else { - $randomDigits .= static::randomElement(array(0,2,4,6,8)); - } - } else { - if ($randomDigits === 0) { - $randomDigits .= self::numberBetween(2, 9); - } else { - $randomDigits .= (string)static::numerify('#'); - } - } - $randomDigits = str_pad($randomDigits, 3, '0', STR_PAD_LEFT); - - $checksum = $checksumCharacters[(int)($datePart . $randomDigits) % strlen($checksumCharacters)]; - - return $datePart . $centurySign . $randomDigits . $checksum; - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/fi_FI/PhoneNumber.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/fi_FI/PhoneNumber.php deleted file mode 100644 index a323074..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/fi_FI/PhoneNumber.php +++ /dev/null @@ -1,99 +0,0 @@ - 'Argovie'), - array('AI' => 'Appenzell Rhodes-Intérieures'), - array('AR' => 'Appenzell Rhodes-Extérieures'), - array('BE' => 'Berne'), - array('BL' => 'Bâle-Campagne'), - array('BS' => 'Bâle-Ville'), - array('FR' => 'Fribourg'), - array('GE' => 'Genève'), - array('GL' => 'Glaris'), - array('GR' => 'Grisons'), - array('JU' => 'Jura'), - array('LU' => 'Lucerne'), - array('NE' => 'Neuchâtel'), - array('NW' => 'Nidwald'), - array('OW' => 'Obwald'), - array('SG' => 'Saint-Gall'), - array('SH' => 'Schaffhouse'), - array('SO' => 'Soleure'), - array('SZ' => 'Schwytz'), - array('TG' => 'Thurgovie'), - array('TI' => 'Tessin'), - array('UR' => 'Uri'), - array('VD' => 'Vaud'), - array('VS' => 'Valais'), - array('ZG' => 'Zoug'), - array('ZH' => 'Zurich') - ); - - protected static $cityFormats = array( - '{{cityName}}', - ); - - protected static $streetNameFormats = array( - '{{streetPrefix}} {{lastName}}', - '{{streetPrefix}} de {{cityName}}', - '{{streetPrefix}} de {{lastName}}' - ); - - protected static $streetAddressFormats = array( - '{{streetName}} {{buildingNumber}}', - ); - protected static $addressFormats = array( - "{{streetAddress}}\n{{postcode}} {{city}}", - ); - - /** - * Returns a random street prefix - * @example Rue - * @return string - */ - public static function streetPrefix() - { - return static::randomElement(static::$streetPrefix); - } - - /** - * Returns a random city name. - * @example Luzern - * @return string - */ - public function cityName() - { - return static::randomElement(static::$cityNames); - } - - /** - * Returns a canton - * @example array('BE' => 'Bern') - * @return array - */ - public static function canton() - { - return static::randomElement(static::$canton); - } - - /** - * Returns the abbreviation of a canton. - * @return string - */ - public static function cantonShort() - { - $canton = static::canton(); - return key($canton); - } - - /** - * Returns the name of canton. - * @return string - */ - public static function cantonName() - { - $canton = static::canton(); - return current($canton); - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/fr_CH/Company.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/fr_CH/Company.php deleted file mode 100644 index a4e91ea..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/fr_CH/Company.php +++ /dev/null @@ -1,15 +0,0 @@ - 'Ain'), array('02' => 'Aisne'), array('03' => 'Allier'), array('04' => 'Alpes-de-Haute-Provence'), array('05' => 'Hautes-Alpes'), - array('06' => 'Alpes-Maritimes'), array('07' => 'Ardèche'), array('08' => 'Ardennes'), array('09' => 'Ariège'), array('10' => 'Aube'), - array('11' => 'Aude'), array('12' => 'Aveyron'), array('13' => 'Bouches-du-Rhône'), array('14' => 'Calvados'), array('15' => 'Cantal'), - array('16' => 'Charente'), array('17' => 'Charente-Maritime'), array('18' => 'Cher'), array('19' => 'Corrèze'), array('2A' => 'Corse-du-Sud'), - array('2B' => 'Haute-Corse'), array('21' => "Côte-d'Or"), array('22' => "Côtes-d'Armor"), array('23' => 'Creuse'), array('24' => 'Dordogne'), - array('25' => 'Doubs'), array('26' => 'Drôme'), array('27' => 'Eure'), array('28' => 'Eure-et-Loir'), array('29' => 'Finistère'), array('30' => 'Gard'), - array('31' => 'Haute-Garonne'), array('32' => 'Gers'), array('33' => 'Gironde'), array('34' => 'Hérault'), array('35' => 'Ille-et-Vilaine'), - array('36' => 'Indre'), array('37' => 'Indre-et-Loire'), array('38' => 'Isère'), array('39' => 'Jura'), array('40' => 'Landes'), array('41' => 'Loir-et-Cher'), - array('42' => 'Loire'), array('43' => 'Haute-Loire'), array('44' => 'Loire-Atlantique'), array('45' => 'Loiret'), array('46' => 'Lot'), - array('47' => 'Lot-et-Garonne'), array('48' => 'Lozère'), array('49' => 'Maine-et-Loire'), array('50' => 'Manche'), array('51' => 'Marne'), - array('52' => 'Haute-Marne'), array('53' => 'Mayenne'), array('54' => 'Meurthe-et-Moselle'), array('55' => 'Meuse'), array('56' => 'Morbihan'), - array('57' => 'Moselle'), array('58' => 'Nièvre'), array('59' => 'Nord'), array('60' => 'Oise'), array('61' => 'Orne'), array('62' => 'Pas-de-Calais'), - array('63' => 'Puy-de-Dôme'), array('64' => 'Pyrénées-Atlantiques'), array('65' => 'Hautes-Pyrénées'), array('66' => 'Pyrénées-Orientales'), - array('67' => 'Bas-Rhin'), array('68' => 'Haut-Rhin'), array('69' => 'Rhône'), array('70' => 'Haute-Saône'), array('71' => 'Saône-et-Loire'), - array('72' => 'Sarthe'), array('73' => 'Savoie'), array('74' => 'Haute-Savoie'), array('75' => 'Paris'), array('76' => 'Seine-Maritime'), - array('77' => 'Seine-et-Marne'), array('78' => 'Yvelines'), array('79' => 'Deux-Sèvres'), array('80' => 'Somme'), array('81' => 'Tarn'), - array('82' => 'Tarn-et-Garonne'), array('83' => 'Var'), array('84' => 'Vaucluse'), array('85' => 'Vendée'), array('86' => 'Vienne'), - array('87' => 'Haute-Vienne'), array('88' => 'Vosges'), array('89' => 'Yonne'), array('90' => 'Territoire de Belfort'), array('91' => 'Essonne'), - array('92' => 'Hauts-de-Seine'), array('93' => 'Seine-Saint-Denis'), array('94' => 'Val-de-Marne'), array('95' => "Val-d'Oise"), - array('971' => 'Guadeloupe'), array('972' => 'Martinique'), array('973' => 'Guyane'), array('974' => 'La Réunion'), array('976' => 'Mayotte') - ); - - protected static $secondaryAddressFormats = array('Apt. ###', 'Suite ###', 'Étage ###', "Bât. ###", "Chambre ###"); - - /** - * @example 'Appt. 350' - */ - public static function secondaryAddress() - { - return static::numerify(static::randomElement(static::$secondaryAddressFormats)); - } - - /** - * @example 'rue' - */ - public static function streetPrefix() - { - return static::randomElement(static::$streetPrefix); - } - - /** - * Randomly returns a french region. - * - * @example 'Guadeloupe' - * - * @return string - */ - public static function region() - { - return static::randomElement(static::$regions); - } - - /** - * Randomly returns a french department ('departmentNumber' => 'departmentName'). - * - * @example array('2B' => 'Haute-Corse') - * - * @return array - */ - public static function department() - { - return static::randomElement(static::$departments); - } - - /** - * Randomly returns a french department name. - * - * @example 'Ardèche' - * - * @return string - */ - public static function departmentName() - { - $randomDepartmentName = array_values(static::department()); - - return $randomDepartmentName[0]; - } - - /** - * Randomly returns a french department number. - * - * @example '59' - * - * @return string - */ - public static function departmentNumber() - { - $randomDepartmentNumber = array_keys(static::department()); - - return $randomDepartmentNumber[0]; - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/fr_FR/Company.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/fr_FR/Company.php deleted file mode 100644 index 9112802..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/fr_FR/Company.php +++ /dev/null @@ -1,476 +0,0 @@ -generator->parse($format)); - - if ($this->isCatchPhraseValid($catchPhrase)) { - break; - } - } while (true); - - return $catchPhrase; - } - - /** - * Generates a siret number (14 digits) that passes the Luhn check. - * - * @see http://fr.wikipedia.org/wiki/Syst%C3%A8me_d'identification_du_r%C3%A9pertoire_des_%C3%A9tablissements - * @return string - */ - public function siret($formatted = true) - { - $siret = self::siren(false); - $nicFormat = static::randomElement(static::$siretNicFormats); - $siret .= $this->numerify($nicFormat); - $siret .= Luhn::computeCheckDigit($siret); - if ($formatted) { - $siret = substr($siret, 0, 3) . ' ' . substr($siret, 3, 3) . ' ' . substr($siret, 6, 3) . ' ' . substr($siret, 9, 5); - } - - return $siret; - } - - /** - * Generates a siren number (9 digits) that passes the Luhn check. - * - * @see http://fr.wikipedia.org/wiki/Syst%C3%A8me_d%27identification_du_r%C3%A9pertoire_des_entreprises - * @return string - */ - public static function siren($formatted = true) - { - $siren = self::numerify('%#######'); - $siren .= Luhn::computeCheckDigit($siren); - if ($formatted) { - $siren = substr($siren, 0, 3) . ' ' . substr($siren, 3, 3) . ' ' . substr($siren, 6, 3); - } - - return $siren; - } - - /** - * @var array An array containing string which should not appear twice in a catch phrase. - */ - protected static $wordsWhichShouldNotAppearTwice = array('sécurité', 'simpl'); - - /** - * Validates a french catch phrase. - * - * @param string $catchPhrase The catch phrase to validate. - * - * @return boolean (true if valid, false otherwise) - */ - protected static function isCatchPhraseValid($catchPhrase) - { - foreach (static::$wordsWhichShouldNotAppearTwice as $word) { - // Fastest way to check if a piece of word does not appear twice. - $beginPos = strpos($catchPhrase, $word); - $endPos = strrpos($catchPhrase, $word); - - if ($beginPos !== false && $beginPos != $endPos) { - return false; - } - } - - return true; - } - - /** - * @link http://www.pole-emploi.fr/candidat/le-code-rome-et-les-fiches-metiers-@/article.jspz?id=60702 - * @note Randomly took 300 from this list - */ - protected static $jobTitleFormat = array( - 'Agent d\'accueil', - 'Agent d\'enquêtes', - 'Agent d\'entreposage', - 'Agent de curage', - 'Agro-économiste', - 'Aide couvreur', - 'Aide à domicile', - 'Aide-déménageur', - 'Ambassadeur', - 'Analyste télématique', - 'Animateur d\'écomusée', - 'Animateur web', - 'Appareilleur-gazier', - 'Archéologue', - 'Armurier d\'art', - 'Armurier spectacle', - 'Artificier spectacle', - 'Artiste dramatique', - 'Aspigiculteur', - 'Assistant de justice', - 'Assistant des ventes', - 'Assistant logistique', - 'Assistant styliste', - 'Assurance', - 'Auteur-adaptateur', - 'Billettiste voyages', - 'Brigadier', - 'Bruiteur', - 'Bâtonnier d\'art', - 'Bûcheron', - 'Cameraman', - 'Capitaine de pêche', - 'Carrier', - 'Caviste', - 'Chansonnier', - 'Chanteur', - 'Chargé de recherche', - 'Chasseur-bagagiste', - 'Chef de fabrication', - 'Chef de scierie', - 'Chef des ventes', - 'Chef du personnel', - 'Chef géographe', - 'Chef monteur son', - 'Chef porion', - 'Chiropraticien', - 'Choréologue', - 'Chromiste', - 'Cintrier-machiniste', - 'Clerc hors rang', - 'Coach sportif', - 'Coffreur béton armé', - 'Coffreur-ferrailleur', - 'Commandant de police', - 'Commandant marine', - 'Commis de coupe', - 'Comptable unique', - 'Conception et études', - 'Conducteur de jumbo', - 'Conseiller culinaire', - 'Conseiller funéraire', - 'Conseiller relooking', - 'Consultant ergonome', - 'Contrebassiste', - 'Convoyeur garde', - 'Copiste offset', - 'Corniste', - 'Costumier-habilleur', - 'Coutelier d\'art', - 'Cueilleur de cerises', - 'Céramiste concepteur', - 'Danse', - 'Danseur', - 'Data manager', - 'Dee-jay', - 'Designer produit', - 'Diététicien conseil', - 'Diététique', - 'Doreur sur métaux', - 'Décorateur-costumier', - 'Défloqueur d\'amiante', - 'Dégustateur', - 'Délégué vétérinaire', - 'Délégué à la tutelle', - 'Désamianteur', - 'Détective', - 'Développeur web', - 'Ecotoxicologue', - 'Elagueur-botteur', - 'Elagueur-grimpeur', - 'Elastiqueur', - 'Eleveur d\'insectes', - 'Eleveur de chats', - 'Eleveur de volailles', - 'Embouteilleur', - 'Employé d\'accueil', - 'Employé d\'étage', - 'Employé de snack-bar', - 'Endivier', - 'Endocrinologue', - 'Epithésiste', - 'Essayeur-retoucheur', - 'Etainier', - 'Etancheur', - 'Etancheur-bardeur', - 'Etiqueteur', - 'Expert back-office', - 'Exploitant de tennis', - 'Extraction', - 'Facteur', - 'Facteur de clavecins', - 'Facteur de secteur', - 'Fantaisiste', - 'Façadier-bardeur', - 'Façadier-ravaleur', - 'Feutier', - 'Finance', - 'Flaconneur', - 'Foreur pétrole', - 'Formateur d\'italien', - 'Fossoyeur', - 'Fraiseur', - 'Fraiseur mouliste', - 'Frigoriste maritime', - 'Fromager', - 'Galeriste', - 'Gardien de résidence', - 'Garçon de chenil', - 'Garçon de hall', - 'Gendarme mobile', - 'Guitariste', - 'Gynécologue', - 'Géodésien', - 'Géologue prospecteur', - 'Géomètre', - 'Géomètre du cadastre', - 'Gérant d\'hôtel', - 'Gérant de tutelle', - 'Gériatre', - 'Hydrothérapie', - 'Hématologue', - 'Hôte de caisse', - 'Ingénieur bâtiment', - 'Ingénieur du son', - 'Ingénieur géologue', - 'Ingénieur géomètre', - 'Ingénieur halieute', - 'Ingénieur logistique', - 'Instituteur', - 'Jointeur de placage', - 'Juge des enfants', - 'Juriste financier', - 'Kiwiculteur', - 'Lexicographe', - 'Liftier', - 'Litigeur transport', - 'Logistique', - 'Logopède', - 'Magicien', - 'Manager d\'artiste', - 'Mannequin détail', - 'Maquilleur spectacle', - 'Marbrier-poseur', - 'Marin grande pêche', - 'Matelassier', - 'Maçon', - 'Maçon-fumiste', - 'Maçonnerie', - 'Maître de ballet', - 'Maïeuticien', - 'Menuisier', - 'Miroitier', - 'Modéliste industriel', - 'Moellonneur', - 'Moniteur de sport', - 'Monteur audiovisuel', - 'Monteur de fermettes', - 'Monteur de palettes', - 'Monteur en siège', - 'Monteur prototypiste', - 'Monteur-frigoriste', - 'Monteur-truquiste', - 'Mouleur sable', - 'Mouliste drapeur', - 'Mécanicien-armurier', - 'Médecin du sport', - 'Médecin scolaire', - 'Médiateur judiciaire', - 'Médiathécaire', - 'Net surfeur surfeuse', - 'Oenologue', - 'Opérateur de plateau', - 'Opérateur du son', - 'Opérateur géomètre', - 'Opérateur piquage', - 'Opérateur vidéo', - 'Ouvrier d\'abattoir', - 'Ouvrier serriste', - 'Ouvrier sidérurgiste', - 'Palefrenier', - 'Paléontologue', - 'Pareur en abattoir', - 'Parfumeur', - 'Parqueteur', - 'Percepteur', - 'Photographe d\'art', - 'Pilote automobile', - 'Pilote de soutireuse', - 'Pilote fluvial', - 'Piqueur en ganterie', - 'Pisteur secouriste', - 'Pizzaïolo', - 'Plaquiste enduiseur', - 'Plasticien', - 'Plisseur', - 'Poissonnier-traiteur', - 'Pontonnier', - 'Porion', - 'Porteur de hottes', - 'Porteur de journaux', - 'Portier', - 'Poseur de granit', - 'Posticheur spectacle', - 'Potier', - 'Praticien dentaire', - 'Praticiens médicaux', - 'Premier clerc', - 'Preneur de son', - 'Primeuriste', - 'Professeur d\'italien', - 'Projeteur béton armé', - 'Promotion des ventes', - 'Présentateur radio', - 'Pyrotechnicien', - 'Pédicure pour bovin', - 'Pédologue', - 'Pédopsychiatre', - 'Quincaillier', - 'Radio chargeur', - 'Ramasseur d\'asperges', - 'Ramasseur d\'endives', - 'Ravaleur-ragréeur', - 'Recherche', - 'Recuiseur', - 'Relieur-doreur', - 'Responsable de salle', - 'Responsable télécoms', - 'Revenue Manager', - 'Rippeur spectacle', - 'Rogneur', - 'Récupérateur', - 'Rédacteur des débats', - 'Régleur funéraire', - 'Régleur sur tour', - 'Sapeur-pompier', - 'Scannériste', - 'Scripte télévision', - 'Sculpteur sur verre', - 'Scénariste', - 'Second de cuisine', - 'Secrétaire juridique', - 'Semencier', - 'Sertisseur', - 'Services funéraires', - 'Solier-moquettiste', - 'Sommelier', - 'Sophrologue', - 'Staffeur', - 'Story boarder', - 'Stratifieur', - 'Stucateur', - 'Styliste graphiste', - 'Surjeteur-raseur', - 'Séismologue', - 'Technicien agricole', - 'Technicien bovin', - 'Technicien géomètre', - 'Technicien plateau', - 'Technicien énergie', - 'Terminologue', - 'Testeur informatique', - 'Toiliste', - 'Topographe', - 'Toréro', - 'Traducteur d\'édition', - 'Traffic manager', - 'Trieur de métaux', - 'Turbinier', - 'Téléconseiller', - 'Tôlier-traceur', - 'Vendeur carreau', - 'Vendeur en lingerie', - 'Vendeur en meubles', - 'Vendeur en épicerie', - 'Verrier d\'art', - 'Verrier à la calotte', - 'Verrier à la main', - 'Verrier à main levée', - 'Vidéo-jockey', - 'Vitrier', - ); -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/fr_FR/Internet.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/fr_FR/Internet.php deleted file mode 100644 index 8e3024b..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/fr_FR/Internet.php +++ /dev/null @@ -1,9 +0,0 @@ -numberBetween(1, 2); - } - - $nir .= - // Year of birth (aa) - $this->numerify('##') . - // Mont of birth (mm) - sprintf('%02d', $this->numberBetween(1, 12)); - - // Department - $department = key(Address::department()); - $nir .= $department; - - // Town number, depends on department length - if (strlen($department) === 2) { - $nir .= $this->numerify('###'); - } elseif (strlen($department) === 3) { - $nir .= $this->numerify('##'); - } - - // Born number (depending of town and month of birth) - $nir .= $this->numerify('###'); - - /** - * The key for a given NIR is `97 - 97 % NIR` - * NIR has to be an integer, so we have to do a little replacment - * for departments 2A and 2B - */ - if ($department === '2A') { - $nirInteger = str_replace('2A', '19', $nir); - } elseif ($department === '2B') { - $nirInteger = str_replace('2B', '18', $nir); - } else { - $nirInteger = $nir; - } - $nir .= sprintf('%02d', 97 - $nirInteger % 97); - - // Format is x xx xx xx xxx xxx xx - if ($formatted) { - $nir = substr($nir, 0, 1) . ' ' . substr($nir, 1, 2) . ' ' . substr($nir, 3, 2) . ' ' . substr($nir, 5, 2) . ' ' . substr($nir, 7, 3). ' ' . substr($nir, 10, 3). ' ' . substr($nir, 13, 2); - } - - return $nir; - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/fr_FR/PhoneNumber.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/fr_FR/PhoneNumber.php deleted file mode 100644 index 7c0bd9d..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/fr_FR/PhoneNumber.php +++ /dev/null @@ -1,141 +0,0 @@ -phoneNumber07WithSeparator(); - $phoneNumber = str_replace(' ', '', $phoneNumber); - return $phoneNumber; - } - - /** - * Only 073 to 079 are acceptable prefixes with 07 - * - * @see http://www.arcep.fr/index.php?id=8146 - */ - public function phoneNumber07WithSeparator() - { - $phoneNumber = $this->generator->numberBetween(3, 9); - $phoneNumber .= $this->numerify('# ## ## ##'); - return $phoneNumber; - } - - public function phoneNumber08() - { - $phoneNumber = $this->phoneNumber08WithSeparator(); - $phoneNumber = str_replace(' ', '', $phoneNumber); - return $phoneNumber; - } - - /** - * Valid formats for 08: - * - * 0# ## ## ## - * 1# ## ## ## - * 2# ## ## ## - * 91 ## ## ## - * 92 ## ## ## - * 93 ## ## ## - * 97 ## ## ## - * 98 ## ## ## - * 99 ## ## ## - * - * Formats 089(4|6)## ## ## are valid, but will be - * attributed when other 089 resource ranges are exhausted. - * - * @see https://www.arcep.fr/index.php?id=8146#c9625 - * @see https://issuetracker.google.com/u/1/issues/73269839 - */ - public function phoneNumber08WithSeparator() - { - $regex = '([012]{1}\d{1}|(9[1-357-9])( \d{2}){3}'; - return $this->regexify($regex); - } - - /** - * @example '0601020304' - */ - public function mobileNumber() - { - $format = static::randomElement(static::$mobileFormats); - - return static::numerify($this->generator->parse($format)); - } - /** - * @example '0891951357' - */ - public function serviceNumber() - { - $format = static::randomElement(static::$serviceFormats); - - return static::numerify($this->generator->parse($format)); - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/fr_FR/Text.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/fr_FR/Text.php deleted file mode 100644 index 9403f16..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/fr_FR/Text.php +++ /dev/null @@ -1,15531 +0,0 @@ - static::latitude(46.262740, 47.564721), - 'longitude' => static::longitude(17.077949, 20.604560) - ); - } - - /* ----------- DATA -------------------- */ - - protected static $streetSuffix = array( - 'árok', 'átjáró', 'dűlÅ‘sor', 'dűlőút', 'erdÅ‘sor', 'fasor', 'forduló', 'gát', 'határsor', 'határút', 'híd', 'játszótér', 'kert', 'körönd', 'körtér', 'körút', 'köz', 'lakótelep', 'lejáró', 'lejtÅ‘', 'lépcsÅ‘', 'liget', 'mélyút', 'orom', 'országút', 'ösvény', 'park', 'part', 'pincesor', 'rakpart', 'sétány', 'sétaút', 'sor', 'sugárút', 'tér', 'tere', 'turistaút', 'udvar', 'út', 'útja', 'utca', 'üdülÅ‘part' - ); - protected static $postcode = array('####'); - protected static $state = array( - 'Budapest', 'Bács-Kiskun', 'Baranya', 'Békés', 'Borsod-Abaúj-Zemplén', 'Csongrád', 'Fejér', 'GyÅ‘r-Moson-Sopron', 'Hajdú-Bihar', 'Heves', 'Jász-Nagykun-Szolnok', 'Komárom-Esztergom', 'Nógrád', 'Pest', 'Somogy', 'Szabolcs-Szatmár-Bereg', 'Tolna', 'Vas', 'Veszprém', 'Zala' - ); - protected static $country = array( - 'Afganisztán', 'Albánia', 'Algéria', 'Amerikai Egyesült Ãllamok', 'Andorra', 'Angola', 'Antigua és Barbuda', 'Argentína', 'Ausztria', 'Ausztrália', 'Azerbajdzsán', - 'Bahama-szigetek', 'Bahrein', 'Banglades', 'Barbados', 'Belgium', 'Belize', 'Benin', 'Bhután', 'Bolívia', 'Bosznia-Hercegovina', 'Botswana', 'Brazília', 'Brunei', 'Bulgária', 'Burkina Faso', 'Burma', 'Burundi', - 'Chile', 'Ciprus', 'Costa Rica', 'Csehország', 'Csád', - 'Dominikai Köztársaság', 'Dominikai Közösség', 'Dzsibuti', 'Dánia', 'Dél-Afrika', 'Dél-Korea', 'Dél-Szudán', - 'Ecuador', 'EgyenlítÅ‘i-Guinea', 'Egyesült Arab Emírségek', 'Egyesült Királyság', 'Egyiptom', 'Elefántcsontpart', 'Eritrea', 'Etiópia', - 'Fehéroroszország', 'Fidzsi-szigetek', 'Finnország', 'Franciaország', 'Fülöp-szigetek', - 'Gabon', 'Gambia', 'Ghána', 'Grenada', 'Grúzia', 'Guatemala', 'Guinea', 'Guyana', 'Görögország', - 'Haiti', 'Hollandia', 'Horvátország', - 'India', 'Indonézia', 'Irak', 'Irán', 'Izland', 'Izrael', - 'Japán', 'Jemen', 'Jordánia', - 'Kambodzsa', 'Kamerun', 'Kanada', 'Katar', 'Kazahsztán', 'Kelet-Timor', 'Kenya', 'Kirgizisztán', 'Kiribati', 'Kolumbia', 'Kongói Demokratikus Köztársaság', 'Kongói Köztársaság', 'Kuba', 'Kuvait', 'Kína', 'Közép-Afrika', - 'Laosz', 'Lengyelország', 'Lesotho', 'Lettország', 'Libanon', 'Libéria', 'Liechtenstein', 'Litvánia', 'Luxemburg', 'Líbia', - 'Macedónia', 'Madagaszkár', 'Magyarország', 'Malawi', 'Maldív-szigetek', 'Mali', 'Malájzia', 'Marokkó', 'Marshall-szigetek', 'Mauritánia', 'Mexikó', 'Mikronézia', 'Moldova', 'Monaco', 'Mongólia', 'Montenegró', 'Mozambik', 'Málta', - 'Namíbia', 'Nauru', 'Nepál', 'Nicaragua', 'Niger', 'Nigéria', 'Norvégia', 'Németország', - 'Olaszország', 'Omán', 'Oroszország', - 'Pakisztán', 'Palau', 'Panama', 'Paraguay', 'Peru', 'Portugália', 'Pápua Új-Guinea', - 'Románia', 'Ruanda', - 'Saint Kitts és Nevis', 'Saint Vincent', 'Salamon-szigetek', 'Salvador', 'San Marino', 'Seychelle-szigetek', 'Spanyolország', 'Srí Lanka', 'Suriname', 'Svájc', 'Svédország', 'Szamoa', 'Szaúd-Arábia', 'Szenegál', 'Szerbia', 'Szingapúr', 'Szlovákia', 'Szlovénia', 'Szomália', 'Szudán', 'Szváziföld', 'Szíria', 'São Tomé és Príncipe', - 'Tadzsikisztán', 'Tanzánia', 'Thaiföld', 'Togo', 'Tonga', 'Trinidad és Tobago', 'Tunézia', 'Tuvalu', 'Törökország', 'Türkmenisztán', - 'Uganda', 'Ukrajna', 'Uruguay', - 'Vanuatu', 'Venezuela', 'Vietnám', - 'Zambia', 'Zimbabwe', 'Zöld-foki-szigetek', - 'Észak-Korea', 'Észtország', 'Ãrország', 'Örményország', 'Új-Zéland', 'Ãœzbegisztán' - ); - - /** - * Source: https://hu.wikipedia.org/wiki/Magyarorsz%C3%A1g_v%C3%A1rosainak_list%C3%A1ja - */ - protected static $capitals = array('Budapest'); - protected static $bigCities = array( - 'Békéscsaba', 'Debrecen', 'Dunaújváros', 'Eger', 'Érd', 'GyÅ‘r', 'HódmezÅ‘vásárhely', 'Kaposvár', 'Kecskemét', 'Miskolc', 'Nagykanizsa', 'Nyíregyháza', 'Pécs', 'Salgótarján', 'Sopron', 'Szeged', 'Székesfehérvár', 'Szekszárd', 'Szolnok', 'Szombathely', 'Tatabánya', 'Veszprém', 'Zalaegerszeg' - ); - protected static $smallerCities = array( - 'Ajka', 'Aszód', 'Bácsalmás', - 'Baja', 'Baktalórántháza', 'Balassagyarmat', 'Balatonalmádi', 'Balatonfüred', 'Balmazújváros', 'Barcs', 'Bátonyterenye', 'Békés', 'Bélapátfalva', 'Berettyóújfalu', 'Bicske', 'Bóly', 'Bonyhád', 'Budakeszi', - 'Cegléd', 'Celldömölk', 'Cigánd', 'Csenger', 'Csongrád', 'Csorna', 'Csurgó', - 'Dabas', 'Derecske', 'Devecser', 'Dombóvár', 'Dunakeszi', - 'Edelény', 'Encs', 'Enying', 'Esztergom', - 'Fehérgyarmat', 'Fonyód', 'Füzesabony', - 'Gárdony', 'GödöllÅ‘', 'Gönc', 'Gyál', 'GyomaendrÅ‘d', 'Gyöngyös', 'Gyula', - 'Hajdúböszörmény', 'Hajdúhadház', 'Hajdúnánás', 'Hajdúszoboszló', 'Hatvan', 'Heves', - 'Ibrány', - 'Jánoshalma', 'Jászapáti', 'Jászberény', - 'Kalocsa', 'Kapuvár', 'Karcag', 'Kazincbarcika', 'Kemecse', 'Keszthely', 'Kisbér', 'KiskÅ‘rös', 'Kiskunfélegyháza', 'Kiskunhalas', 'Kiskunmajsa', 'Kistelek', 'Kisvárda', 'Komárom', 'Komló', 'Körmend', 'KÅ‘szeg', 'Kunhegyes', 'Kunszentmárton', 'Kunszentmiklós', - 'Lenti', 'Letenye', - 'Makó', 'Marcali', 'Martonvásár', 'Mátészalka', 'MezÅ‘csát', 'MezÅ‘kovácsháza', 'MezÅ‘kövesd', 'MezÅ‘túr', 'Mohács', 'Monor', 'Mór', 'Mórahalom', 'Mosonmagyaróvár', - 'Nagyatád', 'Nagykálló', 'Nagykáta', 'NagykÅ‘rös', 'Nyíradony', 'Nyírbátor', - 'Orosháza', 'Oroszlány', 'Ózd', - 'Paks', 'Pannonhalma', 'Pápa', 'Pásztó', 'Pécsvárad', 'Pétervására', 'Pilisvörösvár', 'Polgárdi', 'Püspökladány', 'Putnok', - 'Ráckeve', 'Rétság', - 'Sárbogárd', 'Sarkad', 'Sárospatak', 'Sárvár', 'Sásd', 'Sátoraljaújhely', 'Sellye', 'Siklós', 'Siófok', 'Sümeg', 'Szarvas', 'Szécsény', 'Szeghalom', 'Szentendre', 'Szentes', 'Szentgotthárd', 'SzentlÅ‘rinc', 'Szerencs', 'Szigetszentmiklós', 'Szigetvár', 'Szikszó', 'Szob', - 'Tab', 'Tamási', 'Tapolca', 'Tata', 'Tét', 'Tiszafüred', 'Tiszakécske', 'Tiszaújváros', 'Tiszavasvári', 'Tokaj', 'Tolna', 'Törökszentmiklós', - 'Vác', 'Várpalota', 'Vásárosnamény', 'Vasvár', 'Vecsés', - 'Záhony', 'Zalaszentgrót', 'Zirc' - ); -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/hu_HU/Company.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/hu_HU/Company.php deleted file mode 100644 index 7131654..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/hu_HU/Company.php +++ /dev/null @@ -1,13 +0,0 @@ -generator->parse($format); - } - - public static function country() - { - return static::randomElement(static::$country); - } - - public static function postcode() - { - return static::toUpper(static::bothify(static::randomElement(static::$postcode))); - } - - public static function regionSuffix() - { - return static::randomElement(static::$regionSuffix); - } - - public static function region() - { - return static::randomElement(static::$region); - } - - public static function cityPrefix() - { - return static::randomElement(static::$cityPrefix); - } - - public function city() - { - return static::randomElement(static::$city); - } - - public function streetPrefix() - { - return static::randomElement(static::$streetPrefix); - } - - public static function street() - { - return static::randomElement(static::$street); - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/hy_AM/Color.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/hy_AM/Color.php deleted file mode 100644 index 16b68d8..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/hy_AM/Color.php +++ /dev/null @@ -1,12 +0,0 @@ -generator->parse(static::randomElement(static::$formats))); - } - - public function code() - { - return static::randomElement(static::$codes); - } - - /** - * @return mixed - */ - public function numberFormat() - { - return static::randomElement(static::$numberFormats); - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/id_ID/Address.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/id_ID/Address.php deleted file mode 100644 index 49fd1a7..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/id_ID/Address.php +++ /dev/null @@ -1,316 +0,0 @@ -generator->parse($format); - } - - public static function street() - { - return static::randomElement(static::$street); - } - - public static function buildingNumber() - { - return static::numberBetween(1, 999); - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/id_ID/Color.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/id_ID/Color.php deleted file mode 100644 index bb1444d..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/id_ID/Color.php +++ /dev/null @@ -1,41 +0,0 @@ -generator->parse($lastNameRandomElement); - } - - /** - * Return last name for male - * - * @access public - * @return string last name - */ - public static function lastNameMale() - { - return static::randomElement(static::$lastNameMale); - } - - /** - * Return last name for female - * - * @access public - * @return string last name - */ - public static function lastNameFemale() - { - return static::randomElement(static::$lastNameFemale); - } - - /** - * For academic title - * - * @access public - * @return string suffix - */ - public static function suffix() - { - return static::randomElement(static::$suffix); - } - - /** - * Generates Nomor Induk Kependudukan (NIK) - * - * @link https://en.wikipedia.org/wiki/National_identification_number#Indonesia - * - * @param null|string $gender - * @param null|\DateTime $birthDate - * @return string - */ - public function nik($gender = null, $birthDate = null) - { - # generate first numbers (region data) - $nik = $this->birthPlaceCode(); - $nik .= $this->generator->numerify('##'); - - if (!$birthDate) { - $birthDate = $this->generator->dateTimeBetween(); - } - - if (!$gender) { - $gender = $this->generator->randomElement(array(self::GENDER_MALE, self::GENDER_FEMALE)); - } - - # if gender is female, add 40 to days - if ($gender == self::GENDER_FEMALE) { - $nik .= $birthDate->format('d') + 40; - } else { - $nik .= $birthDate->format('d'); - } - - $nik .= $birthDate->format('my'); - - # add last random digits - $nik .= $this->generator->numerify('####'); - - return $nik; - } - - /** - * Generates birth place code for NIK - * - * @link https://id.wikipedia.org/wiki/Nomor_Induk_Kependudukan - * @link http://informasipedia.com/wilayah-indonesia/daftar-kabupaten-kota-di-indonesia/ - */ - protected function birthPlaceCode() - { - return static::randomElement(static::$birthPlaceCode); - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/id_ID/PhoneNumber.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/id_ID/PhoneNumber.php deleted file mode 100644 index de5c969..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/id_ID/PhoneNumber.php +++ /dev/null @@ -1,55 +0,0 @@ - - */ -class Address extends \Faker\Provider\Address -{ - /** - * @var array Countries in icelandic - */ - protected static $country = array( - 'Afganistan', 'Albanía', 'Alsír', 'Andorra', 'Angóla', 'Angvilla', 'Antígva og Barbúda', 'Argentína', - 'Armenía', 'Arúba', 'Aserbaídsjan', 'Austur-Kongó', 'Austurríki', 'Austur-Tímor', 'Ãlandseyjar', - 'Ãstralía', 'Bahamaeyjar', 'Bandaríkin', 'Bandaríska Samóa', 'Bangladess', 'Barbados', 'Barein', - 'Belgía', 'Belís', 'Benín', 'Bermúdaeyjar', 'Bosnía og Hersegóvína', 'Botsvana', 'Bouvet-eyja', 'Bólivía', - 'Brasilía', 'Bresku Indlandshafseyjar', 'Bretland', 'Brúnei', 'Búlgaría', 'Búrkína Fasó', 'Búrúndí', 'Bútan', - 'Cayman-eyjar', 'Chile', 'Cooks-eyjar', 'Danmörk', 'Djíbútí', 'Dóminíka', 'Dóminíska lýðveldið', 'Egyptaland', - 'Eistland', 'Ekvador', 'El Salvador', 'England', 'Erítrea', 'Eþíópía', 'Falklandseyjar', 'Filippseyjar', - 'Finnland', 'Fídjieyjar', 'Fílabeinsströndin', 'Frakkland', 'Franska Gvæjana', 'Franska Pólýnesía', - 'Frönsku suðlægu landsvæðin', 'Færeyjar', 'Gabon', 'Gambía', 'Gana', 'Georgía', 'Gíbraltar', 'Gínea', - 'Gínea-Bissá', 'Grenada', 'Grikkland', 'Grænhöfðaeyjar', 'Grænland', 'Gvadelúpeyjar', 'Gvam', 'Gvatemala', - 'Gvæjana', 'Haítí', 'Heard og McDonalds-eyjar', 'Holland', 'Hollensku Antillur', 'Hondúras', 'Hong Kong', - 'Hvíta-Rússland', 'Indland', 'Indónesía', 'Ãrak', 'Ãran', 'Ãrland', 'Ãsland', 'Ãsrael', 'Ãtalía', 'Jamaíka', - 'Japan', 'Jemen', 'Jólaey', 'Jómfrúaeyjar', 'Jórdanía', 'Kambódía', 'Kamerún', 'Kanada', 'Kasakstan', 'Katar', - 'Kenía', 'Kirgisistan', 'Kína', 'Kíribatí', 'Kongó', 'Austur-Kongó', 'Vestur-Kongó', 'Kostaríka', 'Kókoseyjar', - 'Kólumbía', 'Kómoreyjar', 'Kórea', 'Norður-Kórea;', 'Suður-Kórea', 'Króatía', 'Kúba', 'Kúveit', 'Kýpur', - 'Laos', 'Lesótó', 'Lettland', 'Liechtenstein', 'Litháen', 'Líbanon', 'Líbería', 'Líbía', 'Lúxemborg', - 'Madagaskar', 'Makaó', 'Makedónía', 'Malasía', 'Malaví', 'Maldíveyjar', 'Malí', 'Malta', 'Marokkó', - 'Marshall-eyjar', 'Martiník', 'Mayotte', 'Máritanía', 'Máritíus', 'Mexíkó', 'Mið-Afríkulýðveldið', - 'Miðbaugs-Gínea', 'Míkrónesía', 'Mjanmar', 'Moldóva', 'Mongólía', 'Montserrat', 'Mónakó', 'Mósambík', - 'Namibía', 'Nárú', 'Nepal', 'Niue', 'Níger', 'Nígería', 'Níkaragva', 'Norður-Ãrland', 'Norður-Kórea', - 'Norður-Maríanaeyjar', 'Noregur', 'Norfolkeyja', 'Nýja-Kaledónía', 'Nýja-Sjáland', 'Óman', 'Pakistan', - 'Palá', 'Palestína', 'Panama', 'Papúa Nýja-Gínea', 'Paragvæ', 'Páfagarður', 'Perú', 'Pitcairn', 'Portúgal', - 'Pólland', 'Púertó Ríkó', 'Réunion', 'Rúanda', 'Rúmenía', 'Rússland', 'Salómonseyjar', 'Sambía', - 'Sameinuðu arabísku furstadæmin', 'Samóa', 'San Marínó', 'Sankti Helena', 'Sankti Kristófer og Nevis', - 'Sankti Lúsía', 'Sankti Pierre og Miquelon', 'Sankti Vinsent og Grenadíneyjar', 'Saó Tóme og Prinsípe', - 'Sádi-Arabía', 'Senegal', 'Serbía', 'Seychelles-eyjar', 'Simbabve', 'Singapúr', 'Síerra Leóne', 'Skotland', - 'Slóvakía', 'Slóvenía', 'Smáeyjar Bandaríkjanna', 'Sómalía', 'Spánn', 'Srí Lanka', 'Suður-Afríka', - 'Suður-Georgía og Suður-Sandvíkureyjar', 'Suður-Kórea', 'Suðurskautslandið', 'Súdan', 'Súrínam', 'Jan Mayen', - 'Svartfjallaland', 'Svasíland', 'Sviss', 'Svíþjóð', 'Sýrland', 'Tadsjikistan', 'Taíland', 'Taívan', 'Tansanía', - 'Tékkland', 'Tonga', 'Tógó', 'Tókelá', 'Trínidad og Tóbagó', 'Tsjad', 'Tsjetsjenía', 'Turks- og Caicos-eyjar', - 'Túnis', 'Túrkmenistan', 'Túvalú', 'Tyrkland', 'Ungverjaland', 'Úganda', 'Úkraína', 'Úrúgvæ', 'Úsbekistan', - 'Vanúatú', 'Venesúela', 'Vestur-Kongó', 'Vestur-Sahara', 'Víetnam', 'Wales', 'Wallis- og Fútúnaeyjar', 'Þýskaland' - ); - - /** - * @var array Icelandic cities. - */ - protected static $cityNames = array( - 'Reykjavík', 'Seltjarnarnes', 'Vogar', 'Kópavogur', 'Garðabær', 'Hafnarfjörður', 'Reykjanesbær', 'Grindavík', - 'Sandgerði', 'Garður', 'Reykjanesbær', 'Mosfellsbær', 'Akranes', 'Borgarnes', 'Reykholt', 'Stykkishólmur', - 'Flatey', 'Grundarfjörður', 'Ólafsvík', 'Snæfellsbær', 'Hellissandur', 'Búðardalur', 'Reykhólahreppur', - 'Ãsafjörður', 'Hnífsdalur', 'Bolungarvík', 'Súðavík', 'Flateyri', 'Suðureyri', 'Patreksfjörður', - 'Tálknafjörður', 'Bíldudalur', 'Þingeyri', 'Staður', 'Hólmavík', 'Drangsnes', 'Ãrneshreppur', 'Hvammstangi', - 'Blönduós', 'Skagaströnd', 'Sauðárkrókur', 'Varmahlíð', 'Hofsós', 'Fljót', 'Siglufjörður', 'Akureyri', - 'Grenivík', 'Grímsey', 'Dalvík', 'Ólafsfjörður', 'Hrísey', 'Húsavík', 'Fosshóll', 'Laugar', 'Mývatn', - 'Kópasker', 'Raufarhöfn', 'Þórshöfn', 'Bakkafjörður', 'Vopnafjörður', 'Egilsstaðir', 'Seyðisfjörður', - 'Mjóifjörður', 'Borgarfjörður', 'Reyðarfjörður', 'Eskifjörður', 'Neskaupstaður', 'Fáskrúðsfjörður', - 'Stöðvarfjörður', 'Breiðdalsvík', 'Djúpivogur', 'Höfn', 'Selfoss', 'Hveragerði', 'Þorlákshöfn', 'Ölfus', - 'Eyrarbakki', 'Stokkseyri', 'Laugarvatn', 'Flúðir', 'Hella', 'Hvolsvöllur', 'Vík', 'Kirkjubæjarklaustur', - 'Vestmannaeyjar' - ); - - /** - * @var array Street name suffix. - */ - protected static $streetSuffix = array( - 'ás', 'bakki', 'braut', 'bær', 'brún', 'berg', 'fold', 'gata', 'gróf', - 'garðar', 'höfði', 'heimar', 'hamar', 'hólar', 'háls', 'kvísl', 'lækur', - 'leiti', 'land', 'múli', 'nes', 'rimi', 'stígur', 'stræti', 'stekkur', - 'slóð', 'skógar', 'sel', 'teigur', 'tún', 'vangur', 'vegur', 'vogur', - 'vað' - ); - - /** - * @var array Street name prefix. - */ - protected static $streetPrefix = array( - 'Aðal', 'Austur', 'Bakka', 'Braga', 'Báru', 'Brunn', 'Fiski', 'Leifs', - 'Týs', 'Birki', 'Suður', 'Norður', 'Vestur', 'Austur', 'Sanda', 'Skógar', - 'Stór', 'Sunnu', 'Tungu', 'Tangar', 'Úlfarfells', 'Vagn', 'Vind', 'Ysti', - 'Þing', 'Hamra', 'Hóla', 'Kríu', 'Iðu', 'Spóa', 'Starra', 'Uglu', 'Vals' - ); - - /** - * @var Icelandic zip code. - **/ - protected static $postcode = array( - '%##' - ); - - /** - * @var array Icelandic regions. - */ - protected static $regionNames = array( - 'Höfuðborgarsvæðið', 'Norðurland', 'Suðurland', 'Vesturland', 'Vestfirðir', 'Austurland', 'Suðurnes' - ); - - /** - * @var array Icelandic building numbers. - */ - protected static $buildingNumber = array( - '%##', '%#', '%#', '%', '%', '%', '%?', '% ?', - ); - - /** - * @var array Icelandic city format. - */ - protected static $cityFormats = array( - '{{cityName}}', - ); - - /** - * @var array Icelandic street's name formats. - */ - protected static $streetNameFormats = array( - '{{streetPrefix}}{{streetSuffix}}', - '{{streetPrefix}}{{streetSuffix}}', - '{{firstNameMale}}{{streetSuffix}}', - '{{firstNameFemale}}{{streetSuffix}}' - ); - - /** - * @var array Icelandic street's address formats. - */ - protected static $streetAddressFormats = array( - '{{streetName}} {{buildingNumber}}' - ); - - /** - * @var array Icelandic address format. - */ - protected static $addressFormats = array( - "{{streetAddress}}\n{{postcode}} {{city}}", - ); - - /** - * Randomly return a real city name. - * - * @return string - */ - public static function cityName() - { - return static::randomElement(static::$cityNames); - } - - /** - * Randomly return a street prefix. - * - * @return string - */ - public static function streetPrefix() - { - return static::randomElement(static::$streetPrefix); - } - - /** - * Randomly return a building number. - * - * @return string - */ - public static function buildingNumber() - { - return static::toUpper(static::bothify(static::randomElement(static::$buildingNumber))); - } - - /** - * Randomly return a real region name. - * - * @return string - */ - public static function region() - { - return static::randomElement(static::$regionNames); - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/is_IS/Company.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/is_IS/Company.php deleted file mode 100644 index 6b93451..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/is_IS/Company.php +++ /dev/null @@ -1,53 +0,0 @@ - - */ -class Company extends \Faker\Provider\Company -{ - /** - * @var array Danish company name formats. - */ - protected static $formats = array( - '{{lastName}} {{companySuffix}}', - '{{lastName}} {{companySuffix}}', - '{{lastName}} {{companySuffix}}', - '{{firstname}} {{lastName}} {{companySuffix}}', - '{{middleName}} {{companySuffix}}', - '{{middleName}} {{companySuffix}}', - '{{middleName}} {{companySuffix}}', - '{{firstname}} {{middleName}} {{companySuffix}}', - '{{lastName}} & {{lastName}} {{companySuffix}}', - '{{lastName}} og {{lastName}} {{companySuffix}}', - '{{lastName}} & {{lastName}} {{companySuffix}}', - '{{lastName}} og {{lastName}} {{companySuffix}}', - '{{middleName}} & {{middleName}} {{companySuffix}}', - '{{middleName}} og {{middleName}} {{companySuffix}}', - '{{middleName}} & {{lastName}}', - '{{middleName}} og {{lastName}}', - ); - - /** - * @var array Company suffixes. - */ - protected static $companySuffix = array('ehf.', 'hf.', 'sf.'); - - /** - * @link http://www.rsk.is/atvinnurekstur/virdisaukaskattur/ - * - * @var string VSK number format. - */ - protected static $vskFormat = '%####'; - - /** - * Generates a VSK number (5 digits). - * - * @return string - */ - public static function vsk() - { - return static::numerify(static::$vskFormat); - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/is_IS/Internet.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/is_IS/Internet.php deleted file mode 100644 index a265da6..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/is_IS/Internet.php +++ /dev/null @@ -1,23 +0,0 @@ - - */ -class Internet extends \Faker\Provider\Internet -{ - /** - * @var array Some email domains in Denmark. - */ - protected static $freeEmailDomain = array( - 'gmail.com', 'yahoo.com', 'hotmail.com', 'visir.is', 'simnet.is', 'internet.is' - ); - - /** - * @var array Some TLD. - */ - protected static $tld = array( - 'com', 'com', 'com', 'net', 'is', 'is', 'is', - ); -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/is_IS/Payment.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/is_IS/Payment.php deleted file mode 100644 index c119c38..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/is_IS/Payment.php +++ /dev/null @@ -1,19 +0,0 @@ - - */ -class Person extends \Faker\Provider\Person -{ - /** - * @var array Icelandic person name formats. - */ - protected static $maleNameFormats = array( - '{{firstNameMale}} {{lastNameMale}}', - '{{firstNameMale}} {{lastNameMale}}', - '{{firstNameMale}} {{middleName}} {{lastNameMale}}', - '{{firstNameMale}} {{middleName}} {{lastNameMale}}', - ); - - protected static $femaleNameFormats = array( - '{{firstNameFemale}} {{lastNameFemale}}', - '{{firstNameFemale}} {{lastNameFemale}}', - '{{firstNameFemale}} {{middleName}} {{lastNameFemale}}', - '{{firstNameFemale}} {{middleName}} {{lastNameFemale}}', - ); - - /** - * @var string Icelandic women names. - */ - protected static $firstNameFemale = array('Aagot', 'Abela', 'Abigael', 'Ada', 'Adda', 'Addý', 'Adela', 'Adelía', 'Adríana', 'Aðalbjörg', 'Aðalbjört', 'Aðalborg', 'Aðaldís', 'Aðalfríður', 'Aðalheiður', 'Aðalrós', 'Aðalsteina', 'Aðalsteinunn', 'Aðalveig', 'Agata', 'Agatha', 'Agða', 'Agla', 'Agnea', 'Agnes', 'Agneta', 'Alanta', 'Alba', 'Alberta', 'Albína', 'Alda', 'Aldís', 'Aldný', 'Aleta', 'Aletta', 'Alexa', 'Alexandra', 'Alexandría', 'Alexis', 'Alexía', 'Alfa', 'Alfífa', 'Alice', 'Alida', 'Alída', 'Alína', 'Alís', 'Alísa', 'Alla', 'Allý', 'Alma', 'Alrún', 'Alva', 'Alvilda', 'Amadea', 'Amal', 'Amalía', 'Amanda', 'Amelía', 'Amilía', 'Amíra', 'Amy', 'Amý', 'Analía', 'Anastasía', 'Andra', 'Andrá', 'Andrea', 'Anetta', 'Angela', 'Angelíka', 'Anika', 'Anita', 'Aníka', 'Anína', 'Aníta', 'Anja', 'Ann', 'Anna', 'Annabella', 'Annalísa', 'Anne', 'Annelí', 'Annetta', 'Anney', 'Annika', 'Annía', 'Anný', 'Antonía', 'Apríl', 'Ardís', 'Arey', 'Arinbjörg', 'Aris', 'Arisa', 'Aría', 'Aríanna', 'Aríella', 'Arín', 'Arína', 'Arís', 'Armenía', 'Arna', 'Arnbjörg', 'Arnborg', 'Arndís', 'Arney', 'Arnfinna', 'Arnfríður', 'Arngerður', 'Arngunnur', 'Arnheiður', 'Arnhildur', 'Arnika', 'Arnkatla', 'Arnlaug', 'Arnleif', 'Arnlín', 'Arnljót', 'Arnóra', 'Arnrós', 'Arnrún', 'Arnþóra', 'Arnþrúður', 'Asírí', 'Askja', 'Assa', 'Astrid', 'Atalía', 'Atena', 'Athena', 'Atla', 'Atlanta', 'Auðbjörg', 'Auðbjört', 'Auðdís', 'Auðlín', 'Auðna', 'Auðný', 'Auðrún', 'Auður', 'Aurora', 'Axelía', 'Axelma', 'Aþena', 'Ãgústa', 'Ãgústína', 'Ãlfdís', 'Ãlfey', 'Ãlfgerður', 'Ãlfheiður', 'Ãlfhildur', 'Ãlfrós', 'Ãlfrún', 'Ãlfsól', 'Ãrbjörg', 'Ãrbjört', 'Ãrdís', 'Ãrelía', 'Ãrlaug', 'Ãrmey', 'Ãrna', 'Ãrndís', 'Ãrney', 'Ãrnheiður', 'Ãrnína', 'Ãrný', 'Ãróra', 'Ãrsól', 'Ãrsæl', 'Ãrún', 'Ãrveig', 'Ãrvök', 'Ãrþóra', 'Ãsa', 'Ãsbjörg', 'Ãsborg', 'Ãsdís', 'Ãsfríður', 'Ãsgerður', 'Ãshildur', 'Ãskatla', 'Ãsla', 'Ãslaug', 'Ãsleif', 'Ãsný', 'Ãsrós', 'Ãsrún', 'Ãst', 'Ãsta', 'Ãstbjörg', 'Ãstbjört', 'Ãstdís', 'Ãstfríður', 'Ãstgerður', 'Ãstheiður', 'Ãsthildur', 'Ãstríður', 'Ãstrós', 'Ãstrún', 'Ãstveig', 'Ãstþóra', 'Ãstþrúður', 'Ãsvör', 'Baldey', 'Baldrún', 'Baldvina', 'Barbara', 'Barbára', 'Bassí', 'Bára', 'Bebba', 'Begga', 'Belinda', 'Bella', 'Benedikta', 'Bengta', 'Benidikta', 'Benía', 'Beníta', 'Benna', 'Benney', 'Benný', 'Benta', 'Bentey', 'Bentína', 'Bera', 'Bergdís', 'Bergey', 'Bergfríður', 'Bergheiður', 'Berghildur', 'Berglaug', 'Berglind', 'Berglín', 'Bergljót', 'Bergmannía', 'Bergný', 'Bergrán', 'Bergrín', 'Bergrós', 'Bergrún', 'Bergþóra', 'Berit', 'Bernódía', 'Berta', 'Bertha', 'Bessí', 'Bestla', 'Beta', 'Betanía', 'Betsý', 'Bettý', 'Bil', 'Birgit', 'Birgitta', 'Birna', 'Birta', 'Birtna', 'Bíbí', 'Bína', 'Bjargdís', 'Bjargey', 'Bjargheiður', 'Bjarghildur', 'Bjarglind', 'Bjarkey', 'Bjarklind', 'Bjarma', 'Bjarndís', 'Bjarney', 'Bjarnfríður', 'Bjarngerður', 'Bjarnheiður', 'Bjarnhildur', 'Bjarnlaug', 'Bjarnrún', 'Bjarnveig', 'Bjarný', 'Bjarnþóra', 'Bjarnþrúður', 'Bjartey', 'Bjartmey', 'Björg', 'Björgey', 'Björgheiður', 'Björghildur', 'Björk', 'Björney', 'Björnfríður', 'Björt', 'Bláey', 'Blíða', 'Blín', 'Blómey', 'Blædís', 'Blær', 'Bobba', 'Boga', 'Bogdís', 'Bogey', 'Bogga', 'Boghildur', 'Borg', 'Borgdís', 'Borghildur', 'Borgný', 'Borgrún', 'Borgþóra', 'Botnía', 'Bóel', 'Bót', 'Bóthildur', 'Braga', 'Braghildur', 'Branddís', 'Brá', 'Brák', 'Brigitta', 'Brimdís', 'Brimhildur', 'Brimrún', 'Brit', 'Britt', 'Britta', 'Bríana', 'Bríanna', 'Bríet', 'Bryndís', 'Brynfríður', 'Bryngerður', 'Brynheiður', 'Brynhildur', 'Brynja', 'Brynný', 'Burkney', 'Bylgja', 'Camilla', 'Carla', 'Carmen', 'Cecilia', 'Cecilía', 'Charlotta', 'Charlotte', 'Christina', 'Christine', 'Clara', 'Daðey', 'Daðína', 'Dagbjörg', 'Dagbjört', 'Dagfríður', 'Daggrós', 'Dagheiður', 'Dagmar', 'Dagmey', 'Dagný', 'Dagrún', 'Daldís', 'Daley', 'Dalía', 'Dalla', 'Dallilja', 'Dalrós', 'Dana', 'Daney', 'Danfríður', 'Danheiður', 'Danhildur', 'Danía', 'Daníela', 'Daníella', 'Dara', 'Debora', 'Debóra', 'Dendý', 'Didda', 'Dilja', 'Diljá', 'Dimmblá', 'Dimmey', 'Día', 'Díana', 'Díanna', 'Díma', 'Dís', 'Dísa', 'Dísella', 'Donna', 'Doris', 'Dorothea', 'Dóa', 'Dómhildur', 'Dóra', 'Dórey', 'Dóris', 'Dórothea', 'Dórótea', 'Dóróthea', 'Drauma', 'Draumey', 'Drífa', 'Droplaug', 'Drótt', 'Dröfn', 'Dúa', 'Dúfa', 'Dúna', 'Dýrborg', 'Dýrfinna', 'Dýrleif', 'Dýrley', 'Dýrunn', 'Dæja', 'Dögg', 'Dögun', 'Ebba', 'Ebonney', 'Edda', 'Edel', 'Edil', 'Edit', 'Edith', 'Eðna', 'Efemía', 'Egedía', 'Eggrún', 'Egla', 'Eiðný', 'Eiðunn', 'Eik', 'Einbjörg', 'Eindís', 'Einey', 'Einfríður', 'Einhildur', 'Einína', 'Einrún', 'Eir', 'Eirdís', 'Eirfinna', 'Eiríka', 'Eirný', 'Eirún', 'Elba', 'Eldbjörg', 'Eldey', 'Eldlilja', 'Eldrún', 'Eleina', 'Elektra', 'Elena', 'Elenborg', 'Elfa', 'Elfur', 'Elina', 'Elinborg', 'Elisabeth', 'Elía', 'Elíana', 'Elín', 'Elína', 'Elíná', 'Elínbet', 'Elínbjörg', 'Elínbjört', 'Elínborg', 'Elíndís', 'Elíngunnur', 'Elínheiður', 'Elínrós', 'Elírós', 'Elísa', 'Elísabet', 'Elísabeth', 'Elka', 'Ella', 'Ellen', 'Elley', 'Ellisif', 'Ellín', 'Elly', 'Ellý', 'Elma', 'Elna', 'Elsa', 'Elsabet', 'Elsie', 'Elsí', 'Elsý', 'Elva', 'Elvi', 'Elvíra', 'Elvý', 'Embla', 'Emelía', 'Emelíana', 'Emelína', 'Emeralda', 'Emilía', 'Emilíana', 'Emilíanna', 'Emilý', 'Emma', 'Emmý', 'Emý', 'Enea', 'Eneka', 'Engilbjört', 'Engilráð', 'Engilrós', 'Engla', 'Enika', 'Enja', 'Enóla', 'Eres', 'Erika', 'Erin', 'Erla', 'Erlen', 'Erlín', 'Erna', 'Esja', 'Esmeralda', 'Ester', 'Esther', 'Estiva', 'Ethel', 'Etna', 'Eufemía', 'Eva', 'Evelyn', 'Evey', 'Evfemía', 'Evgenía', 'Evíta', 'Evlalía', 'Ey', 'Eybjörg', 'Eybjört', 'Eydís', 'Eyfríður', 'Eygerður', 'Eygló', 'Eyhildur', 'Eyja', 'Eyjalín', 'Eyleif', 'Eylín', 'Eyrós', 'Eyrún', 'Eyveig', 'Eyvör', 'Eyþóra', 'Eyþrúður', 'Fanndís', 'Fanney', 'Fannlaug', 'Fanny', 'Fanný', 'Febrún', 'Fema', 'Filipía', 'Filippa', 'Filippía', 'Finna', 'Finnbjörg', 'Finnbjörk', 'Finnboga', 'Finnborg', 'Finndís', 'Finney', 'Finnfríður', 'Finnlaug', 'Finnrós', 'Fía', 'Fídes', 'Fífa', 'Fjalldís', 'Fjóla', 'Flóra', 'Folda', 'Fransiska', 'Franziska', 'Frán', 'Fregn', 'Freydís', 'Freygerður', 'Freyja', 'Freylaug', 'Freyleif', 'Friðbjörg', 'Friðbjört', 'Friðborg', 'Friðdís', 'Friðdóra', 'Friðey', 'Friðfinna', 'Friðgerður', 'Friðjóna', 'Friðlaug', 'Friðleif', 'Friðlín', 'Friðmey', 'Friðný', 'Friðrika', 'Friðrikka', 'Friðrós', 'Friðrún', 'Friðsemd', 'Friðveig', 'Friðþóra', 'Frigg', 'Fríða', 'Fríður', 'Frostrós', 'Fróðný', 'Fura', 'Fönn', 'Gabríela', 'Gabríella', 'Gauja', 'Gauthildur', 'Gefjun', 'Gefn', 'Geira', 'Geirbjörg', 'Geirdís', 'Geirfinna', 'Geirfríður', 'Geirhildur', 'Geirlaug', 'Geirlöð', 'Geirný', 'Geirríður', 'Geirrún', 'Geirþrúður', 'Georgía', 'Gerða', 'Gerður', 'Gestheiður', 'Gestný', 'Gestrún', 'Gillý', 'Gilslaug', 'Gissunn', 'Gía', 'Gígja', 'Gísela', 'Gísla', 'Gísley', 'Gíslína', 'Gíslný', 'Gíslrún', 'Gíslunn', 'Gíta', 'Gjaflaug', 'Gloría', 'Gló', 'Glóa', 'Glóbjört', 'Glódís', 'Glóð', 'Glóey', 'Gná', 'Góa', 'Gógó', 'Grein', 'Gret', 'Greta', 'Grélöð', 'Grét', 'Gréta', 'Gríma', 'Grímey', 'Grímheiður', 'Grímhildur', 'Gróa', 'Guðbjörg', 'Guðbjört', 'Guðborg', 'Guðdís', 'Guðfinna', 'Guðfríður', 'Guðjóna', 'Guðlaug', 'Guðleif', 'Guðlín', 'Guðmey', 'Guðmunda', 'Guðmundína', 'Guðný', 'Guðríður', 'Guðrún', 'Guðsteina', 'Guðveig', 'Gullbrá', 'Gullveig', 'Gullý', 'Gumma', 'Gunnbjörg', 'Gunnbjört', 'Gunnborg', 'Gunndís', 'Gunndóra', 'Gunnella', 'Gunnfinna', 'Gunnfríður', 'Gunnharða', 'Gunnheiður', 'Gunnhildur', 'Gunnjóna', 'Gunnlaug', 'Gunnleif', 'Gunnlöð', 'Gunnrún', 'Gunnur', 'Gunnveig', 'Gunnvör', 'Gunný', 'Gunnþóra', 'Gunnþórunn', 'Gurrý', 'Gúa', 'Gyða', 'Gyðja', 'Gyðríður', 'Gytta', 'Gæfa', 'Gæflaug', 'Hadda', 'Haddý', 'Hafbjörg', 'Hafborg', 'Hafdís', 'Hafey', 'Hafliða', 'Haflína', 'Hafný', 'Hafrós', 'Hafrún', 'Hafsteina', 'Hafþóra', 'Halla', 'Hallbera', 'Hallbjörg', 'Hallborg', 'Halldís', 'Halldóra', 'Halley', 'Hallfríður', 'Hallgerður', 'Hallgunnur', 'Hallkatla', 'Hallný', 'Hallrún', 'Hallveig', 'Hallvör', 'Hanna', 'Hanney', 'Hansa', 'Hansína', 'Harpa', 'Hauður', 'Hákonía', 'Heba', 'Hedda', 'Hedí', 'Heiða', 'Heiðbjörg', 'Heiðbjörk', 'Heiðbjört', 'Heiðbrá', 'Heiðdís', 'Heiðlaug', 'Heiðlóa', 'Heiðný', 'Heiðrós', 'Heiðrún', 'Heiður', 'Heiðveig', 'Hekla', 'Helen', 'Helena', 'Helga', 'Hella', 'Helma', 'Hendrikka', 'Henný', 'Henrietta', 'Henrika', 'Henríetta', 'Hera', 'Herbjörg', 'Herbjört', 'Herborg', 'Herdís', 'Herfríður', 'Hergerður', 'Herlaug', 'Hermína', 'Hersilía', 'Herta', 'Hertha', 'Hervör', 'Herþrúður', 'Hilda', 'Hildegard', 'Hildibjörg', 'Hildigerður', 'Hildigunnur', 'Hildiríður', 'Hildisif', 'Hildur', 'Hilma', 'Himinbjörg', 'Hind', 'Hinrika', 'Hinrikka', 'Hjalta', 'Hjaltey', 'Hjálmdís', 'Hjálmey', 'Hjálmfríður', 'Hjálmgerður', 'Hjálmrós', 'Hjálmrún', 'Hjálmveig', 'Hjördís', 'Hjörfríður', 'Hjörleif', 'Hjörný', 'Hjörtfríður', 'Hlaðgerður', 'Hlédís', 'Hlíf', 'Hlín', 'Hlökk', 'Hólmbjörg', 'Hólmdís', 'Hólmfríður', 'Hrafna', 'Hrafnborg', 'Hrafndís', 'Hrafney', 'Hrafngerður', 'Hrafnheiður', 'Hrafnhildur', 'Hrafnkatla', 'Hrafnlaug', 'Hrafntinna', 'Hraundís', 'Hrefna', 'Hreindís', 'Hróðný', 'Hrólfdís', 'Hrund', 'Hrönn', 'Hugbjörg', 'Hugbjört', 'Hugborg', 'Hugdís', 'Hugljúf', 'Hugrún', 'Huld', 'Hulda', 'Huldís', 'Huldrún', 'Húnbjörg', 'Húndís', 'Húngerður', 'Hvönn', 'Hödd', 'Högna', 'Hörn', 'Ida', 'Idda', 'Iða', 'Iðunn', 'Ilmur', 'Immý', 'Ina', 'Inda', 'India', 'Indiana', 'Indía', 'Indíana', 'Indíra', 'Indra', 'Inga', 'Ingdís', 'Ingeborg', 'Inger', 'Ingey', 'Ingheiður', 'Inghildur', 'Ingibjörg', 'Ingibjört', 'Ingiborg', 'Ingifinna', 'Ingifríður', 'Ingigerður', 'Ingilaug', 'Ingileif', 'Ingilín', 'Ingimaría', 'Ingimunda', 'Ingiríður', 'Ingirós', 'Ingisól', 'Ingiveig', 'Ingrid', 'Ingrún', 'Ingunn', 'Ingveldur', 'Inna', 'Irena', 'Irene', 'Irja', 'Irma', 'Irmý', 'Irpa', 'Isabel', 'Isabella', 'Ãda', 'Ãma', 'Ãna', 'Ãr', 'Ãren', 'Ãrena', 'Ãris', 'Ãrunn', 'Ãsabel', 'Ãsabella', 'Ãsadóra', 'Ãsafold', 'Ãsalind', 'Ãsbjörg', 'Ãsdís', 'Ãsey', 'Ãsfold', 'Ãsgerður', 'Ãshildur', 'Ãsis', 'Ãslaug', 'Ãsleif', 'Ãsmey', 'Ãsold', 'Ãsól', 'Ãsrún', 'Ãssól', 'Ãsveig', 'Ãunn', 'Ãva', 'Jakobína', 'Jana', 'Jane', 'Janetta', 'Jannika', 'Jara', 'Jarún', 'Jarþrúður', 'Jasmín', 'Járnbrá', 'Járngerður', 'Jenetta', 'Jenna', 'Jenný', 'Jensína', 'Jessý', 'Jovina', 'Jóa', 'Jóanna', 'Jódís', 'Jófríður', 'Jóhanna', 'Jólín', 'Jóna', 'Jónanna', 'Jónasína', 'Jónbjörg', 'Jónbjört', 'Jóndís', 'Jóndóra', 'Jóney', 'Jónfríður', 'Jóngerð', 'Jónheiður', 'Jónhildur', 'Jóninna', 'Jónída', 'Jónína', 'Jónný', 'Jóný', 'Jóra', 'Jóríður', 'Jórlaug', 'Jórunn', 'Jósebína', 'Jósefín', 'Jósefína', 'Judith', 'Júdea', 'Júdit', 'Júlía', 'Júlíana', 'Júlíanna', 'Júlíetta', 'Júlírós', 'Júnía', 'Júníana', 'Jökla', 'Jökulrós', 'Jörgína', 'Kaðlín', 'Kaja', 'Kalla', 'Kamilla', 'Kamí', 'Kamma', 'Kapitola', 'Kapítóla', 'Kara', 'Karen', 'Karin', 'Karitas', 'Karí', 'Karín', 'Karína', 'Karítas', 'Karla', 'Karlinna', 'Karlína', 'Karlotta', 'Karolína', 'Karó', 'Karólín', 'Karólína', 'Kassandra', 'Kata', 'Katarína', 'Katerína', 'Katharina', 'Kathinka', 'Katinka', 'Katla', 'Katrín', 'Katrína', 'Katý', 'Kára', 'Kellý', 'Kendra', 'Ketilbjörg', 'Ketilfríður', 'Ketilríður', 'Kiddý', 'Kira', 'Kirsten', 'Kirstín', 'Kittý', 'Kjalvör', 'Klara', 'Kládía', 'Klementína', 'Kleópatra', 'Kolbjörg', 'Kolbrá', 'Kolbrún', 'Koldís', 'Kolfinna', 'Kolfreyja', 'Kolgríma', 'Kolka', 'Konkordía', 'Konný', 'Korka', 'Kormlöð', 'Kornelía', 'Kókó', 'Krista', 'Kristbjörg', 'Kristborg', 'Kristel', 'Kristensa', 'Kristey', 'Kristfríður', 'Kristgerður', 'Kristin', 'Kristine', 'Kristíana', 'Kristíanna', 'Kristín', 'Kristína', 'Kristjana', 'Kristjóna', 'Kristlaug', 'Kristlind', 'Kristlín', 'Kristný', 'Kristólína', 'Kristrós', 'Kristrún', 'Kristveig', 'Kristvina', 'Kristþóra', 'Kría', 'Kæja', 'Laila', 'Laíla', 'Lana', 'Lara', 'Laufey', 'Laufheiður', 'Laufhildur', 'Lauga', 'Laugey', 'Laugheiður', 'Lára', 'Lárensína', 'Láretta', 'Lárey', 'Lea', 'Leikný', 'Leila', 'Lena', 'Leonóra', 'Leóna', 'Leónóra', 'Lilja', 'Liljá', 'Liljurós', 'Lill', 'Lilla', 'Lillian', 'Lillý', 'Lily', 'Lilý', 'Lind', 'Linda', 'Linddís', 'Lingný', 'Lisbeth', 'Listalín', 'Liv', 'Líba', 'Líf', 'Lífdís', 'Lín', 'Lína', 'Línbjörg', 'Líndís', 'Líneik', 'Líney', 'Línhildur', 'Lísa', 'Lísabet', 'Lísandra', 'Lísbet', 'Lísebet', 'Lív', 'Ljósbjörg', 'Ljósbrá', 'Ljótunn', 'Lofn', 'Loftveig', 'Logey', 'Lokbrá', 'Lotta', 'Louisa', 'Lousie', 'Lovísa', 'Lóa', 'Lóreley', 'Lukka', 'Lúcía', 'Lúðvíka', 'Lúísa', 'Lúna', 'Lúsinda', 'Lúsía', 'Lúvísa', 'Lydia', 'Lydía', 'Lyngheiður', 'Lýdía', 'Læla', 'Maddý', 'Magda', 'Magdalena', 'Magðalena', 'Magga', 'Maggey', 'Maggý', 'Magna', 'Magndís', 'Magnea', 'Magnes', 'Magney', 'Magnfríður', 'Magnheiður', 'Magnhildur', 'Magnúsína', 'Magný', 'Magnþóra', 'Maía', 'Maídís', 'Maísól', 'Maj', 'Maja', 'Malen', 'Malena', 'Malía', 'Malín', 'Malla', 'Manda', 'Manúela', 'Mara', 'Mardís', 'Marela', 'Marella', 'Maren', 'Marey', 'Marfríður', 'Margit', 'Margot', 'Margret', 'Margrét', 'Margrjet', 'Margunnur', 'Marheiður', 'Maria', 'Marie', 'Marikó', 'Marinella', 'Marit', 'Marí', 'María', 'Maríam', 'Marían', 'Maríana', 'Maríanna', 'Marín', 'Marína', 'Marínella', 'Maríon', 'Marísa', 'Marísól', 'Marít', 'Maríuerla', 'Marja', 'Markrún', 'Marlaug', 'Marlena', 'Marlín', 'Marlís', 'Marólína', 'Marsa', 'Marselía', 'Marselína', 'Marsibil', 'Marsilía', 'Marsý', 'Marta', 'Martha', 'Martína', 'Mary', 'Marý', 'Matta', 'Mattea', 'Matthea', 'Matthilda', 'Matthildur', 'Matthía', 'Mattíana', 'Mattína', 'Mattý', 'Maxima', 'Mábil', 'Málfríður', 'Málhildur', 'Málmfríður', 'Mánadís', 'Máney', 'Mára', 'Meda', 'Mekkin', 'Mekkín', 'Melinda', 'Melissa', 'Melkorka', 'Melrós', 'Messíana', 'Metta', 'Mey', 'Mikaela', 'Mikaelína', 'Mikkalína', 'Milda', 'Mildríður', 'Milla', 'Millý', 'Minerva', 'Minna', 'Minney', 'Minný', 'Miriam', 'Mirja', 'Mirjam', 'Mirra', 'Mist', 'Mía', 'Mínerva', 'Míra', 'Míranda', 'Mítra', 'Mjaðveig', 'Mjalldís', 'Mjallhvít', 'Mjöll', 'Mona', 'Monika', 'Módís', 'Móeiður', 'Móey', 'Móheiður', 'Móna', 'Mónika', 'Móníka', 'Munda', 'Mundheiður', 'Mundhildur', 'Mundína', 'Myrra', 'Mýr', 'Mýra', 'Mýrún', 'Mörk', 'Nadia', 'Nadía', 'Nadja', 'Nana', 'Nanna', 'Nanný', 'Nansý', 'Naomí', 'Naómí', 'Natalie', 'Natalía', 'Náttsól', 'Nella', 'Nellý', 'Nenna', 'Nicole', 'Niðbjörg', 'Nikíta', 'Nikoletta', 'Nikólína', 'Ninja', 'Ninna', 'Nína', 'Níní', 'Njála', 'Njóla', 'Norma', 'Nóa', 'Nóra', 'Nótt', 'Nýbjörg', 'Odda', 'Oddbjörg', 'Oddfreyja', 'Oddfríður', 'Oddgerður', 'Oddhildur', 'Oddlaug', 'Oddleif', 'Oddný', 'Oddrún', 'Oddveig', 'Oddvör', 'Oktavía', 'Októvía', 'Olga', 'Ollý', 'Ora', 'Orka', 'Ormheiður', 'Ormhildur', 'Otkatla', 'Otta', 'Óda', 'Ófelía', 'Óla', 'Ólafía', 'Ólafína', 'Ólavía', 'Ólivía', 'Ólína', 'Ólöf', 'Ósa', 'Ósk', 'Ótta', 'Pamela', 'París', 'Patricia', 'Patrisía', 'Pála', 'Páldís', 'Páley', 'Pálfríður', 'Pálhanna', 'Pálheiður', 'Pálhildur', 'Pálín', 'Pálína', 'Pálmey', 'Pálmfríður', 'Pálrún', 'Perla', 'Peta', 'Petra', 'Petrea', 'Petrína', 'Petronella', 'Petrónella', 'Petrós', 'Petrún', 'Petrúnella', 'Pétrína', 'Pétrún', 'Pía', 'Polly', 'Pollý', 'Pría', 'Rafney', 'Rafnhildur', 'Ragna', 'Ragnbjörg', 'Ragney', 'Ragnfríður', 'Ragnheiður', 'Ragnhildur', 'Rakel', 'Ramóna', 'Randalín', 'Randíður', 'Randý', 'Ranka', 'Rannva', 'Rannveig', 'Ráðhildur', 'Rán', 'Rebekka', 'Reginbjörg', 'Regína', 'Rein', 'Renata', 'Reyn', 'Reyndís', 'Reynheiður', 'Reynhildur', 'Rikka', 'Ripley', 'Rita', 'Ríkey', 'Rín', 'Ríta', 'Ronja', 'Rorí', 'Roxanna', 'Róberta', 'Róbjörg', 'Rós', 'Rósa', 'Rósalind', 'Rósanna', 'Rósbjörg', 'Rósborg', 'Róselía', 'Rósey', 'Rósfríður', 'Róshildur', 'Rósinkara', 'Rósinkransa', 'Róska', 'Róslaug', 'Róslind', 'Róslinda', 'Róslín', 'Rósmary', 'Rósmarý', 'Rósmunda', 'Rósný', 'Runný', 'Rut', 'Ruth', 'Rúbý', 'Rún', 'Rúna', 'Rúndís', 'Rúnhildur', 'Rúrí', 'Röfn', 'Rögn', 'Röskva', 'Sabína', 'Sabrína', 'Saga', 'Salbjörg', 'Saldís', 'Salgerður', 'Salín', 'Salína', 'Salka', 'Salma', 'Salný', 'Salome', 'Salóme', 'Salvör', 'Sandra', 'Sanna', 'Santía', 'Sara', 'Sarína', 'Sefanía', 'Selja', 'Selka', 'Selma', 'Senía', 'Septíma', 'Sera', 'Serena', 'Seselía', 'Sesilía', 'Sesselía', 'Sesselja', 'Sessilía', 'Sif', 'Sigdís', 'Sigdóra', 'Sigfríð', 'Sigfríður', 'Sigga', 'Siggerður', 'Sigmunda', 'Signa', 'Signhildur', 'Signý', 'Sigríður', 'Sigrún', 'Sigurást', 'Sigurásta', 'Sigurbára', 'Sigurbirna', 'Sigurbjörg', 'Sigurbjört', 'Sigurborg', 'Sigurdís', 'Sigurdóra', 'Sigurdríf', 'Sigurdrífa', 'Sigurða', 'Sigurey', 'Sigurfinna', 'Sigurfljóð', 'Sigurgeira', 'Sigurhanna', 'Sigurhelga', 'Sigurhildur', 'Sigurjóna', 'Sigurlaug', 'Sigurleif', 'Sigurlilja', 'Sigurlinn', 'Sigurlín', 'Sigurlína', 'Sigurmunda', 'Sigurnanna', 'Sigurósk', 'Sigurrós', 'Sigursteina', 'Sigurunn', 'Sigurveig', 'Sigurvina', 'Sigurþóra', 'Sigyn', 'Sigþóra', 'Sigþrúður', 'Silfa', 'Silfá', 'Silfrún', 'Silja', 'Silka', 'Silla', 'Silva', 'Silvana', 'Silvía', 'Sirra', 'Sirrý', 'Siv', 'Sía', 'Símonía', 'Sísí', 'Síta', 'Sjöfn', 'Skarpheiður', 'Skugga', 'Skuld', 'Skúla', 'Skúlína', 'Snjáfríður', 'Snjáka', 'Snjófríður', 'Snjólaug', 'Snorra', 'Snót', 'Snæbjörg', 'Snæbjört', 'Snæborg', 'Snæbrá', 'Snædís', 'Snæfríður', 'Snælaug', 'Snærós', 'Snærún', 'Soffía', 'Sofie', 'Sofía', 'Solveig', 'Sonja', 'Sonný', 'Sophia', 'Sophie', 'Sól', 'Sóla', 'Sólbjörg', 'Sólbjört', 'Sólborg', 'Sólbrá', 'Sólbrún', 'Sóldís', 'Sóldögg', 'Sóley', 'Sólfríður', 'Sólgerður', 'Sólhildur', 'Sólín', 'Sólkatla', 'Sóllilja', 'Sólný', 'Sólrós', 'Sólrún', 'Sólveig', 'Sólvör', 'Sónata', 'Stefana', 'Stefanía', 'Stefánný', 'Steina', 'Steinbjörg', 'Steinborg', 'Steindís', 'Steindóra', 'Steiney', 'Steinfríður', 'Steingerður', 'Steinhildur', 'Steinlaug', 'Steinrós', 'Steinrún', 'Steinunn', 'Steinvör', 'Steinþóra', 'Stella', 'Stígheiður', 'Stígrún', 'Stína', 'Stjarna', 'Styrgerður', 'Sumarlína', 'Sumarrós', 'Sunna', 'Sunnefa', 'Sunneva', 'Sunniva', 'Sunníva', 'Susan', 'Súla', 'Súsan', 'Súsanna', 'Svafa', 'Svala', 'Svalrún', 'Svana', 'Svanbjörg', 'Svanbjört', 'Svanborg', 'Svandís', 'Svaney', 'Svanfríður', 'Svanheiður', 'Svanhildur', 'Svanhvít', 'Svanlaug', 'Svanrós', 'Svanþrúður', 'Svava', 'Svea', 'Sveina', 'Sveinbjörg', 'Sveinborg', 'Sveindís', 'Sveiney', 'Sveinfríður', 'Sveingerður', 'Sveinhildur', 'Sveinlaug', 'Sveinrós', 'Sveinrún', 'Sveinsína', 'Sveinveig', 'Sylgja', 'Sylva', 'Sylvía', 'Sæbjörg', 'Sæbjört', 'Sæborg', 'Sædís', 'Sæfinna', 'Sæfríður', 'Sæhildur', 'Sælaug', 'Sæmunda', 'Sæný', 'Særós', 'Særún', 'Sæsól', 'Sæunn', 'Sævör', 'Sölva', 'Sölvey', 'Sölvína', 'Tala', 'Talía', 'Tamar', 'Tamara', 'Tanía', 'Tanja', 'Tanya', 'Tanya', 'Tara', 'Tea', 'Teitný', 'Tekla', 'Telma', 'Tera', 'Teresa', 'Teresía', 'Thea', 'Thelma', 'Theodóra', 'Theódóra', 'Theresa', 'Tindra', 'Tinna', 'Tirsa', 'Tía', 'Tíbrá', 'Tína', 'Todda', 'Torbjörg', 'Torfey', 'Torfheiður', 'Torfhildur', 'Tóbý', 'Tóka', 'Tóta', 'Tristana', 'Trú', 'Tryggva', 'Tryggvína', 'Týra', 'Ugla', 'Una', 'Undína', 'Unna', 'Unnbjörg', 'Unndís', 'Unnur', 'Urður', 'Úa', 'Úlfa', 'Úlfdís', 'Úlfey', 'Úlfheiður', 'Úlfhildur', 'Úlfrún', 'Úlla', 'Úna', 'Úndína', 'Úranía', 'Úrsúla', 'Vagna', 'Vagnbjörg', 'Vagnfríður', 'Vaka', 'Vala', 'Valbjörg', 'Valbjörk', 'Valbjört', 'Valborg', 'Valdheiður', 'Valdís', 'Valentína', 'Valería', 'Valey', 'Valfríður', 'Valgerða', 'Valgerður', 'Valhildur', 'Valka', 'Vallý', 'Valný', 'Valrós', 'Valrún', 'Valva', 'Valý', 'Valþrúður', 'Vanda', 'Vár', 'Veig', 'Veiga', 'Venus', 'Vera', 'Veronika', 'Verónika', 'Veróníka', 'Vetrarrós', 'Vébjörg', 'Védís', 'Végerður', 'Vélaug', 'Véný', 'Vibeka', 'Victoría', 'Viðja', 'Vigdís', 'Vigný', 'Viktoria', 'Viktoría', 'Vilborg', 'Vildís', 'Vilfríður', 'Vilgerður', 'Vilhelmína', 'Villa', 'Villimey', 'Vilma', 'Vilný', 'Vinbjörg', 'Vinný', 'Vinsý', 'Virginía', 'Víbekka', 'Víf', 'Vígdögg', 'Víggunnur', 'Víóla', 'Víóletta', 'Vísa', 'Von', 'Von', 'Voney', 'Vordís', 'Ylfa', 'Ylfur', 'Ylja', 'Ylva', 'Ynja', 'Yrja', 'Yrsa', 'Ãja', 'Ãma', 'Ãr', 'Ãrr', 'Þalía', 'Þeba', 'Þeódís', 'Þeódóra', 'Þjóðbjörg', 'Þjóðhildur', 'Þoka', 'Þorbjörg', 'Þorfinna', 'Þorgerður', 'Þorgríma', 'Þorkatla', 'Þorlaug', 'Þorleif', 'Þorsteina', 'Þorstína', 'Þóra', 'Þóranna', 'Þórarna', 'Þórbjörg', 'Þórdís', 'Þórða', 'Þórelfa', 'Þórelfur', 'Þórey', 'Þórfríður', 'Þórgunna', 'Þórgunnur', 'Þórhalla', 'Þórhanna', 'Þórheiður', 'Þórhildur', 'Þórkatla', 'Þórlaug', 'Þórleif', 'Þórný', 'Þórodda', 'Þórsteina', 'Þórsteinunn', 'Þórstína', 'Þórunn', 'Þórveig', 'Þórvör', 'Þrá', 'Þrúða', 'Þrúður', 'Þula', 'Þura', 'Þurí', 'Þuríður', 'Þurý', 'Þúfa', 'Þyri', 'Þyrí', 'Þöll', 'Ægileif', 'Æsa', 'Æsgerður', 'Ögmunda', 'Ögn', 'Ölrún', 'Ölveig', 'Örbrún', 'Örk', 'Ösp'); - - /** - * @var string Icelandic men names. - */ - protected static $firstNameMale = array('Aage', 'Abel', 'Abraham', 'Adam', 'Addi', 'Adel', 'Adíel', 'Adólf', 'Adrían', 'Adríel', 'Aðalberg', 'Aðalbergur', 'Aðalbert', 'Aðalbjörn', 'Aðalborgar', 'Aðalgeir', 'Aðalmundur', 'Aðalráður', 'Aðalsteinn', 'Aðólf', 'Agnar', 'Agni', 'Albert', 'Aldar', 'Alex', 'Alexander', 'Alexíus', 'Alfons', 'Alfred', 'Alfreð', 'Ali', 'Allan', 'Alli', 'Almar', 'Alrekur', 'Alvar', 'Alvin', 'Amír', 'Amos', 'Anders', 'Andreas', 'André', 'Andrés', 'Andri', 'Anes', 'Anfinn', 'Angantýr', 'Angi', 'Annar', 'Annarr', 'Annas', 'Annel', 'Annes', 'Anthony', 'Anton', 'Antoníus', 'Aran', 'Arent', 'Ares', 'Ari', 'Arilíus', 'Arinbjörn', 'Aríel', 'Aríus', 'Arnald', 'Arnaldur', 'Arnar', 'Arnberg', 'Arnbergur', 'Arnbjörn', 'Arndór', 'Arnes', 'Arnfinnur', 'Arnfreyr', 'Arngeir', 'Arngils', 'Arngrímur', 'Arnkell', 'Arnlaugur', 'Arnleifur', 'Arnljótur', 'Arnmóður', 'Arnmundur', 'Arnoddur', 'Arnold', 'Arnór', 'Arnsteinn', 'Arnúlfur', 'Arnviður', 'Arnþór', 'Aron', 'Arthur', 'Arthúr', 'Artúr', 'Asael', 'Askur', 'Aspar', 'Atlas', 'Atli', 'Auðbergur', 'Auðbert', 'Auðbjörn', 'Auðgeir', 'Auðkell', 'Auðmundur', 'Auðólfur', 'Auðun', 'Auðunn', 'Austar', 'Austmann', 'Austmar', 'Austri', 'Axel', 'Ãgúst', 'Ãki', 'Ãlfar', 'Ãlfgeir', 'Ãlfgrímur', 'Ãlfur', 'Ãlfþór', 'Ãmundi', 'Ãrbjartur', 'Ãrbjörn', 'Ãrelíus', 'Ãrgeir', 'Ãrgils', 'Ãrmann', 'Ãrni', 'Ãrsæll', 'Ãs', 'Ãsberg', 'Ãsbergur', 'Ãsbjörn', 'Ãsgautur', 'Ãsgeir', 'Ãsgils', 'Ãsgrímur', 'Ãsi', 'Ãskell', 'Ãslaugur', 'Ãslákur', 'Ãsmar', 'Ãsmundur', 'Ãsólfur', 'Ãsröður', 'Ãstbjörn', 'Ãstgeir', 'Ãstmar', 'Ãstmundur', 'Ãstráður', 'Ãstríkur', 'Ãstvald', 'Ãstvaldur', 'Ãstvar', 'Ãstvin', 'Ãstþór', 'Ãsvaldur', 'Ãsvarður', 'Ãsþór', 'Baldur', 'Baldvin', 'Baldwin', 'Baltasar', 'Bambi', 'Barði', 'Barri', 'Bassi', 'Bastían', 'Baugur', 'Bárður', 'Beinir', 'Beinteinn', 'Beitir', 'Bekan', 'Benedikt', 'Benidikt', 'Benjamín', 'Benoný', 'Benóní', 'Benóný', 'Bent', 'Berent', 'Berg', 'Bergfinnur', 'Berghreinn', 'Bergjón', 'Bergmann', 'Bergmar', 'Bergmundur', 'Bergsteinn', 'Bergsveinn', 'Bergur', 'Bergvin', 'Bergþór', 'Bernhard', 'Bernharð', 'Bernharður', 'Berni', 'Bernódus', 'Bersi', 'Bertel', 'Bertram', 'Bessi', 'Betúel', 'Bill', 'Birgir', 'Birkir', 'Birnir', 'Birtingur', 'Birtir', 'Bjargar', 'Bjargmundur', 'Bjargþór', 'Bjarkan', 'Bjarkar', 'Bjarki', 'Bjarmar', 'Bjarmi', 'Bjarnar', 'Bjarnfinnur', 'Bjarnfreður', 'Bjarnharður', 'Bjarnhéðinn', 'Bjarni', 'Bjarnlaugur', 'Bjarnleifur', 'Bjarnólfur', 'Bjarnsteinn', 'Bjarnþór', 'Bjartmann', 'Bjartmar', 'Bjartur', 'Bjartþór', 'Bjólan', 'Bjólfur', 'Björgmundur', 'Björgólfur', 'Björgúlfur', 'Björgvin', 'Björn', 'Björnólfur', 'Blængur', 'Blær', 'Blævar', 'Boði', 'Bogi', 'Bolli', 'Borgar', 'Borgúlfur', 'Borgþór', 'Bóas', 'Bói', 'Bótólfur', 'Bragi', 'Brandur', 'Breki', 'Bresi', 'Brestir', 'Brimar', 'Brimi', 'Brimir', 'Brími', 'Brjánn', 'Broddi', 'Bruno', 'Bryngeir', 'Brynjar', 'Brynjólfur', 'Brynjúlfur', 'Brynleifur', 'Brynsteinn', 'Bryntýr', 'Brynþór', 'Burkni', 'Búi', 'Búri', 'Bæring', 'Bæringur', 'Bæron', 'Böðvar', 'Börkur', 'Carl', 'Cecil', 'Christian', 'Christopher', 'Cýrus', 'Daði', 'Dagbjartur', 'Dagfari', 'Dagfinnur', 'Daggeir', 'Dagmann', 'Dagnýr', 'Dagur', 'Dagþór', 'Dalbert', 'Dalli', 'Dalmann', 'Dalmar', 'Dalvin', 'Damjan', 'Dan', 'Danelíus', 'Daniel', 'Danival', 'Daníel', 'Daníval', 'Dante', 'Daríus', 'Darri', 'Davíð', 'Demus', 'Deníel', 'Dennis', 'Diðrik', 'Díómedes', 'Dofri', 'Dolli', 'Dominik', 'Dómald', 'Dómaldi', 'Dómaldur', 'Dónald', 'Dónaldur', 'Dór', 'Dóri', 'Dósóþeus', 'Draupnir', 'Dreki', 'Drengur', 'Dufgus', 'Dufþakur', 'Dugfús', 'Dúi', 'Dúnn', 'Dvalinn', 'Dýri', 'Dýrmundur', 'Ebbi', 'Ebeneser', 'Ebenezer', 'Eberg', 'Edgar', 'Edilon', 'Edílon', 'Edvard', 'Edvin', 'Edward', 'Eðvald', 'Eðvar', 'Eðvarð', 'Efraím', 'Eggert', 'Eggþór', 'Egill', 'Eiðar', 'Eiður', 'Eikar', 'Eilífur', 'Einar', 'Einir', 'Einvarður', 'Einþór', 'Eiríkur', 'Eivin', 'Elberg', 'Elbert', 'Eldar', 'Eldgrímur', 'Eldjárn', 'Eldmar', 'Eldon', 'Eldór', 'Eldur', 'Elentínus', 'Elfar', 'Elfráður', 'Elimar', 'Elinór', 'Elis', 'Elí', 'Elías', 'Elíeser', 'Elímar', 'Elínbergur', 'Elínmundur', 'Elínór', 'Elís', 'Ellert', 'Elli', 'Elliði', 'Ellís', 'Elmar', 'Elvar', 'Elvin', 'Elvis', 'Emanúel', 'Embrek', 'Emerald', 'Emil', 'Emmanúel', 'Engilbert', 'Engilbjartur', 'Engiljón', 'Engill', 'Enok', 'Eric', 'Erik', 'Erlar', 'Erlendur', 'Erling', 'Erlingur', 'Ernestó', 'Ernir', 'Ernst', 'Eron', 'Erpur', 'Esekíel', 'Esjar', 'Esra', 'Estefan', 'Evald', 'Evan', 'Evert', 'Eyberg', 'Eyjólfur', 'Eylaugur', 'Eyleifur', 'Eymar', 'Eymundur', 'Eyríkur', 'Eysteinn', 'Eyvar', 'Eyvindur', 'Eyþór', 'Fabrisíus', 'Falgeir', 'Falur', 'Fannar', 'Fannberg', 'Fanngeir', 'Fáfnir', 'Fálki', 'Felix', 'Fengur', 'Fenrir', 'Ferdinand', 'Ferdínand', 'Fertram', 'Feykir', 'Filip', 'Filippus', 'Finn', 'Finnbjörn', 'Finnbogi', 'Finngeir', 'Finnjón', 'Finnlaugur', 'Finnur', 'Finnvarður', 'Fífill', 'Fjalar', 'Fjarki', 'Fjólar', 'Fjólmundur', 'Fjölnir', 'Fjölvar', 'Fjörnir', 'Flemming', 'Flosi', 'Flóki', 'Flórent', 'Flóvent', 'Forni', 'Fossmar', 'Fólki', 'Francis', 'Frank', 'Franklín', 'Frans', 'Franz', 'Fránn', 'Frár', 'Freybjörn', 'Freygarður', 'Freymar', 'Freymóður', 'Freymundur', 'Freyr', 'Freysteinn', 'Freyviður', 'Freyþór', 'Friðberg', 'Friðbergur', 'Friðbert', 'Friðbjörn', 'Friðfinnur', 'Friðgeir', 'Friðjón', 'Friðlaugur', 'Friðleifur', 'Friðmann', 'Friðmar', 'Friðmundur', 'Friðrik', 'Friðsteinn', 'Friður', 'Friðvin', 'Friðþjófur', 'Friðþór', 'Friedrich', 'Fritz', 'Frímann', 'Frosti', 'Fróði', 'Fróðmar', 'Funi', 'Fúsi', 'Fylkir', 'Gabriel', 'Gabríel', 'Gael', 'Galdur', 'Gamalíel', 'Garðar', 'Garibaldi', 'Garpur', 'Garri', 'Gaui', 'Gaukur', 'Gauti', 'Gautrekur', 'Gautur', 'Gautviður', 'Geir', 'Geirarður', 'Geirfinnur', 'Geirharður', 'Geirhjörtur', 'Geirhvatur', 'Geiri', 'Geirlaugur', 'Geirleifur', 'Geirmundur', 'Geirólfur', 'Geirröður', 'Geirtryggur', 'Geirvaldur', 'Geirþjófur', 'Geisli', 'Gellir', 'Georg', 'Gerald', 'Gerðar', 'Geri', 'Gestur', 'Gilbert', 'Gilmar', 'Gils', 'Gissur', 'Gizur', 'Gídeon', 'Gígjar', 'Gísli', 'Gjúki', 'Glói', 'Glúmur', 'Gneisti', 'Gnúpur', 'Gnýr', 'Goði', 'Goðmundur', 'Gottskálk', 'Gottsveinn', 'Gói', 'Grani', 'Grankell', 'Gregor', 'Greipur', 'Greppur', 'Gretar', 'Grettir', 'Grétar', 'Grímar', 'Grímkell', 'Grímlaugur', 'Grímnir', 'Grímólfur', 'Grímur', 'Grímúlfur', 'Guðberg', 'Guðbergur', 'Guðbjarni', 'Guðbjartur', 'Guðbjörn', 'Guðbrandur', 'Guðfinnur', 'Guðfreður', 'Guðgeir', 'Guðjón', 'Guðlaugur', 'Guðleifur', 'Guðleikur', 'Guðmann', 'Guðmar', 'Guðmon', 'Guðmundur', 'Guðni', 'Guðráður', 'Guðröður', 'Guðsteinn', 'Guðvarður', 'Guðveigur', 'Guðvin', 'Guðþór', 'Gumi', 'Gunnar', 'Gunnberg', 'Gunnbjörn', 'Gunndór', 'Gunngeir', 'Gunnhallur', 'Gunnlaugur', 'Gunnleifur', 'Gunnólfur', 'Gunnóli', 'Gunnröður', 'Gunnsteinn', 'Gunnvaldur', 'Gunnþór', 'Gustav', 'Gutti', 'Guttormur', 'Gústaf', 'Gústav', 'Gylfi', 'Gyrðir', 'Gýgjar', 'Gýmir', 'Haddi', 'Haddur', 'Hafberg', 'Hafgrímur', 'Hafliði', 'Hafnar', 'Hafni', 'Hafsteinn', 'Hafþór', 'Hagalín', 'Hagbarður', 'Hagbert', 'Haki', 'Hallberg', 'Hallbjörn', 'Halldór', 'Hallfreður', 'Hallgarður', 'Hallgeir', 'Hallgils', 'Hallgrímur', 'Hallkell', 'Hallmann', 'Hallmar', 'Hallmundur', 'Hallsteinn', 'Hallur', 'Hallvarður', 'Hallþór', 'Hamar', 'Hannes', 'Hannibal', 'Hans', 'Harald', 'Haraldur', 'Harri', 'Harry', 'Harrý', 'Hartmann', 'Hartvig', 'Hauksteinn', 'Haukur', 'Haukvaldur', 'Hákon', 'Háleygur', 'Hálfdan', 'Hálfdán', 'Hámundur', 'Hárekur', 'Hárlaugur', 'Hásteinn', 'Hávar', 'Hávarður', 'Hávarr', 'Hávarr', 'Heiðar', 'Heiðarr', 'Heiðberg', 'Heiðbert', 'Heiðlindur', 'Heiðmann', 'Heiðmar', 'Heiðmundur', 'Heiðrekur', 'Heikir', 'Heilmóður', 'Heimir', 'Heinrekur', 'Heisi', 'Hektor', 'Helgi', 'Helmút', 'Hemmert', 'Hendrik', 'Henning', 'Henrik', 'Henry', 'Henrý', 'Herbert', 'Herbjörn', 'Herfinnur', 'Hergeir', 'Hergill', 'Hergils', 'Herjólfur', 'Herlaugur', 'Herleifur', 'Herluf', 'Hermann', 'Hermóður', 'Hermundur', 'Hersir', 'Hersteinn', 'Hersveinn', 'Hervar', 'Hervarður', 'Hervin', 'Héðinn', 'Hilaríus', 'Hilbert', 'Hildar', 'Hildibergur', 'Hildibrandur', 'Hildigeir', 'Hildiglúmur', 'Hildimar', 'Hildimundur', 'Hildingur', 'Hildir', 'Hildiþór', 'Hilmar', 'Hilmir', 'Himri', 'Hinrik', 'Híram', 'Hjallkár', 'Hjalti', 'Hjarnar', 'Hjálmar', 'Hjálmgeir', 'Hjálmtýr', 'Hjálmur', 'Hjálmþór', 'Hjörleifur', 'Hjörtur', 'Hjörtþór', 'Hjörvar', 'Hleiðar', 'Hlégestur', 'Hlér', 'Hlini', 'Hlíðar', 'Hlíðberg', 'Hlífar', 'Hljómur', 'Hlynur', 'Hlöðmundur', 'Hlöður', 'Hlöðvarður', 'Hlöðver', 'Hnefill', 'Hnikar', 'Hnikarr', 'Holgeir', 'Holger', 'Holti', 'Hólm', 'Hólmar', 'Hólmbert', 'Hólmfastur', 'Hólmgeir', 'Hólmgrímur', 'Hólmkell', 'Hólmsteinn', 'Hólmþór', 'Hóseas', 'Hrafn', 'Hrafnar', 'Hrafnbergur', 'Hrafnkell', 'Hrafntýr', 'Hrannar', 'Hrappur', 'Hraunar', 'Hreggviður', 'Hreiðar', 'Hreiðmar', 'Hreimur', 'Hreinn', 'Hringur', 'Hrímnir', 'Hrollaugur', 'Hrolleifur', 'Hróaldur', 'Hróar', 'Hróbjartur', 'Hróðgeir', 'Hróðmar', 'Hróðólfur', 'Hróðvar', 'Hrói', 'Hrólfur', 'Hrómundur', 'Hrútur', 'Hrærekur', 'Hugberg', 'Hugi', 'Huginn', 'Hugleikur', 'Hugo', 'Hugó', 'Huldar', 'Huxley', 'Húbert', 'Húgó', 'Húmi', 'Húnbogi', 'Húni', 'Húnn', 'Húnröður', 'Hvannar', 'Hyltir', 'Hylur', 'Hængur', 'Hænir', 'Höður', 'Högni', 'Hörður', 'Höskuldur', 'Illugi', 'Immanúel', 'Indriði', 'Ingberg', 'Ingi', 'Ingiberg', 'Ingibergur', 'Ingibert', 'Ingibjartur', 'Ingibjörn', 'Ingileifur', 'Ingimagn', 'Ingimar', 'Ingimundur', 'Ingivaldur', 'Ingiþór', 'Ingjaldur', 'Ingmar', 'Ingólfur', 'Ingvaldur', 'Ingvar', 'Ingvi', 'Ingþór', 'Ismael', 'Issi', 'Ãan', 'Ãgor', 'Ãmi', 'Ãsak', 'Ãsar', 'Ãsarr', 'Ãsbjörn', 'Ãseldur', 'Ãsgeir', 'Ãsidór', 'Ãsleifur', 'Ãsmael', 'Ãsmar', 'Ãsólfur', 'Ãsrael', 'Ãvan', 'Ãvar', 'Jack', 'Jafet', 'Jaki', 'Jakob', 'Jakop', 'Jamil', 'Jan', 'Janus', 'Jarl', 'Jason', 'Járngrímur', 'Játgeir', 'Játmundur', 'Játvarður', 'Jenni', 'Jens', 'Jeremías', 'Jes', 'Jesper', 'Jochum', 'Johan', 'John', 'Joshua', 'Jóakim', 'Jóann', 'Jóel', 'Jóhann', 'Jóhannes', 'Jói', 'Jómar', 'Jómundur', 'Jón', 'Jónar', 'Jónas', 'Jónatan', 'Jónbjörn', 'Jóndór', 'Jóngeir', 'Jónmundur', 'Jónsteinn', 'Jónþór', 'Jósafat', 'Jósavin', 'Jósef', 'Jósep', 'Jósteinn', 'Jósúa', 'Jóvin', 'Julian', 'Júlí', 'Júlían', 'Júlíus', 'Júní', 'Júníus', 'Júrek', 'Jökull', 'Jörfi', 'Jörgen', 'Jörmundur', 'Jörri', 'Jörundur', 'Jörvar', 'Jörvi', 'Kaj', 'Kakali', 'Kaktus', 'Kaldi', 'Kaleb', 'Kali', 'Kalman', 'Kalmann', 'Kalmar', 'Kaprasíus', 'Karel', 'Karim', 'Karkur', 'Karl', 'Karles', 'Karli', 'Karvel', 'Kaspar', 'Kasper', 'Kastíel', 'Katarínus', 'Kató', 'Kár', 'Kári', 'Keran', 'Ketilbjörn', 'Ketill', 'Kilían', 'Kiljan', 'Kjalar', 'Kjallakur', 'Kjaran', 'Kjartan', 'Kjarval', 'Kjárr', 'Kjói', 'Klemens', 'Klemenz', 'Klængur', 'Knútur', 'Knörr', 'Koðrán', 'Koggi', 'Kolbeinn', 'Kolbjörn', 'Kolfinnur', 'Kolgrímur', 'Kolmar', 'Kolskeggur', 'Kolur', 'Kolviður', 'Konráð', 'Konstantínus', 'Kormákur', 'Kornelíus', 'Kort', 'Kópur', 'Kraki', 'Kris', 'Kristall', 'Kristberg', 'Kristbergur', 'Kristbjörn', 'Kristdór', 'Kristens', 'Krister', 'Kristfinnur', 'Kristgeir', 'Kristian', 'Kristinn', 'Kristján', 'Kristjón', 'Kristlaugur', 'Kristleifur', 'Kristmann', 'Kristmar', 'Kristmundur', 'Kristofer', 'Kristófer', 'Kristvaldur', 'Kristvarður', 'Kristvin', 'Kristþór', 'Krummi', 'Kveldúlfur', 'Lambert', 'Lars', 'Laufar', 'Laugi', 'Lauritz', 'Lár', 'Lárent', 'Lárentíus', 'Lárus', 'Leiðólfur', 'Leif', 'Leifur', 'Leiknir', 'Leo', 'Leon', 'Leonard', 'Leonhard', 'Leó', 'Leópold', 'Leví', 'Lér', 'Liljar', 'Lindar', 'Lindberg', 'Línberg', 'Líni', 'Ljósálfur', 'Ljótur', 'Ljúfur', 'Loðmundur', 'Loftur', 'Logi', 'Loki', 'Lórens', 'Lórenz', 'Ludvig', 'Lundi', 'Lúðvíg', 'Lúðvík', 'Lúkas', 'Lúter', 'Lúther', 'Lyngar', 'Lýður', 'Lýtingur', 'Maggi', 'Magngeir', 'Magni', 'Magnús', 'Magnþór', 'Makan', 'Manfred', 'Manfreð', 'Manúel', 'Mar', 'Marbjörn', 'Marel', 'Margeir', 'Margrímur', 'Mari', 'Marijón', 'Marinó', 'Marías', 'Marínó', 'Marís', 'Maríus', 'Marjón', 'Markó', 'Markús', 'Markþór', 'Maron', 'Marri', 'Mars', 'Marsellíus', 'Marteinn', 'Marten', 'Marthen', 'Martin', 'Marvin', 'Mathías', 'Matthías', 'Matti', 'Mattías', 'Max', 'Maximus', 'Máni', 'Már', 'Márus', 'Mekkinó', 'Melkíor', 'Melkólmur', 'Melrakki', 'Mensalder', 'Merkúr', 'Methúsalem', 'Metúsalem', 'Meyvant', 'Michael', 'Mikael', 'Mikjáll', 'Mikkael', 'Mikkel', 'Mildinberg', 'Mías', 'Mímir', 'Míó', 'Mír', 'Mjöllnir', 'Mjölnir', 'Moli', 'Morgan', 'Moritz', 'Mosi', 'Móði', 'Móri', 'Mórits', 'Móses', 'Muggur', 'Muni', 'Muninn', 'Múli', 'Myrkvi', 'Mýrkjartan', 'Mörður', 'Narfi', 'Natan', 'Natanael', 'Nataníel', 'Náttmörður', 'Náttúlfur', 'Neisti', 'Nenni', 'Neptúnus', 'Nicolas', 'Nikanor', 'Nikolai', 'Nikolas', 'Nikulás', 'Nils', 'Níels', 'Níls', 'Njáll', 'Njörður', 'Nonni', 'Norbert', 'Norðmann', 'Normann', 'Nóam', 'Nóel', 'Nói', 'Nóni', 'Nóri', 'Nóvember', 'Númi', 'Nývarð', 'Nökkvi', 'Oddbergur', 'Oddbjörn', 'Oddfreyr', 'Oddgeir', 'Oddi', 'Oddkell', 'Oddleifur', 'Oddmar', 'Oddsteinn', 'Oddur', 'Oddvar', 'Oddþór', 'Oktavíus', 'Októ', 'Októvíus', 'Olaf', 'Olav', 'Olgeir', 'Oliver', 'Olivert', 'Orfeus', 'Ormar', 'Ormur', 'Orri', 'Orvar', 'Otkell', 'Otri', 'Otti', 'Ottó', 'Otur', 'Óðinn', 'Ófeigur', 'Ólafur', 'Óli', 'Óliver', 'Ólíver', 'Ómar', 'Ómi', 'Óskar', 'Ósvald', 'Ósvaldur', 'Ósvífur', 'Óttar', 'Óttarr', 'Parmes', 'Patrek', 'Patrekur', 'Patrick', 'Patrik', 'Páll', 'Pálmar', 'Pálmi', 'Pedró', 'Per', 'Peter', 'Pétur', 'Pjetur', 'Príor', 'Rafael', 'Rafn', 'Rafnar', 'Rafnkell', 'Ragnar', 'Ragúel', 'Randver', 'Rannver', 'Rasmus', 'Ráðgeir', 'Ráðvarður', 'Refur', 'Reginbaldur', 'Reginn', 'Reidar', 'Reifnir', 'Reimar', 'Reinar', 'Reinhart', 'Reinhold', 'Reynald', 'Reynar', 'Reynir', 'Reyr', 'Richard', 'Rikharð', 'Rikharður', 'Ríkarður', 'Ríkharð', 'Ríkharður', 'Ríó', 'Robert', 'Rolf', 'Ronald', 'Róbert', 'Rólant', 'Róman', 'Rómeó', 'Rósant', 'Rósar', 'Rósberg', 'Rósenberg', 'Rósi', 'Rósinberg', 'Rósinkar', 'Rósinkrans', 'Rósmann', 'Rósmundur', 'Rudolf', 'Runi', 'Runólfur', 'Rúbar', 'Rúben', 'Rúdólf', 'Rúnar', 'Rúrik', 'Rútur', 'Röðull', 'Rögnvald', 'Rögnvaldur', 'Rögnvar', 'Rökkvi', 'Safír', 'Sakarías', 'Salmann', 'Salmar', 'Salómon', 'Salvar', 'Samson', 'Samúel', 'Sandel', 'Sandri', 'Sandur', 'Saxi', 'Sebastian', 'Sebastían', 'Seifur', 'Seimur', 'Sesar', 'Sesil', 'Sigbergur', 'Sigbert', 'Sigbjartur', 'Sigbjörn', 'Sigdór', 'Sigfastur', 'Sigfinnur', 'Sigfreður', 'Sigfús', 'Siggeir', 'Sighvatur', 'Sigjón', 'Siglaugur', 'Sigmann', 'Sigmar', 'Sigmundur', 'Signar', 'Sigri', 'Sigríkur', 'Sigsteinn', 'Sigtryggur', 'Sigtýr', 'Sigur', 'Sigurbaldur', 'Sigurberg', 'Sigurbergur', 'Sigurbjarni', 'Sigurbjartur', 'Sigurbjörn', 'Sigurbrandur', 'Sigurdór', 'Sigurður', 'Sigurfinnur', 'Sigurgeir', 'Sigurgestur', 'Sigurgísli', 'Sigurgrímur', 'Sigurhans', 'Sigurhjörtur', 'Sigurjón', 'Sigurkarl', 'Sigurlaugur', 'Sigurlás', 'Sigurleifur', 'Sigurliði', 'Sigurlinni', 'Sigurmann', 'Sigurmar', 'Sigurmon', 'Sigurmundur', 'Sigurnýas', 'Sigurnýjas', 'Siguroddur', 'Siguróli', 'Sigurpáll', 'Sigursteinn', 'Sigursveinn', 'Sigurvaldi', 'Sigurvin', 'Sigurþór', 'Sigvaldi', 'Sigvarður', 'Sigþór', 'Silli', 'Sindri', 'Símon', 'Sírnir', 'Sírus', 'Sívar', 'Sjafnar', 'Skafti', 'Skapti', 'Skarphéðinn', 'Skefill', 'Skeggi', 'Skíði', 'Skírnir', 'Skjöldur', 'Skorri', 'Skuggi', 'Skúli', 'Skúta', 'Skær', 'Skæringur', 'Smári', 'Smiður', 'Smyrill', 'Snjóki', 'Snjólaugur', 'Snjólfur', 'Snorri', 'Snæbjartur', 'Snæbjörn', 'Snæhólm', 'Snælaugur', 'Snær', 'Snæringur', 'Snævar', 'Snævarr', 'Snæþór', 'Soffanías', 'Sophanías', 'Sophus', 'Sófónías', 'Sófus', 'Sókrates', 'Sólberg', 'Sólbergur', 'Sólbjartur', 'Sólbjörn', 'Sólimann', 'Sólmar', 'Sólmundur', 'Sólon', 'Sólver', 'Sólvin', 'Spartakus', 'Sporði', 'Spói', 'Stanley', 'Stapi', 'Starkaður', 'Starri', 'Stefan', 'Stefán', 'Stefnir', 'Steinar', 'Steinarr', 'Steinberg', 'Steinbergur', 'Steinbjörn', 'Steindór', 'Steinfinnur', 'Steingrímur', 'Steini', 'Steinkell', 'Steinmann', 'Steinmar', 'Steinmóður', 'Steinn', 'Steinólfur', 'Steinröður', 'Steinvarður', 'Steinþór', 'Stirnir', 'Stígur', 'Stormur', 'Stórólfur', 'Sturla', 'Sturlaugur', 'Sturri', 'Styr', 'Styrbjörn', 'Styrkár', 'Styrmir', 'Styrr', 'Sumarliði', 'Svafar', 'Svali', 'Svan', 'Svanberg', 'Svanbergur', 'Svanbjörn', 'Svangeir', 'Svanhólm', 'Svani', 'Svanlaugur', 'Svanmundur', 'Svanur', 'Svanþór', 'Svavar', 'Sváfnir', 'Sveinar', 'Sveinberg', 'Sveinbjartur', 'Sveinbjörn', 'Sveinjón', 'Sveinlaugur', 'Sveinmar', 'Sveinn', 'Sveinungi', 'Sveinþór', 'Svend', 'Sverre', 'Sverrir', 'Svölnir', 'Svörfuður', 'Sýrus', 'Sæberg', 'Sæbergur', 'Sæbjörn', 'Sæi', 'Sælaugur', 'Sæmann', 'Sæmundur', 'Sær', 'Sævald', 'Sævaldur', 'Sævar', 'Sævarr', 'Sævin', 'Sæþór', 'Sölmundur', 'Sölvar', 'Sölvi', 'Sören', 'Sörli', 'Tandri', 'Tarfur', 'Teitur', 'Theodór', 'Theódór', 'Thomas', 'Thor', 'Thorberg', 'Thór', 'Tindar', 'Tindri', 'Tindur', 'Tinni', 'Tími', 'Tímon', 'Tímoteus', 'Tímóteus', 'Tístran', 'Tjaldur', 'Tjörfi', 'Tjörvi', 'Tobías', 'Tolli', 'Tonni', 'Torfi', 'Tóbías', 'Tói', 'Tóki', 'Tómas', 'Tór', 'Trausti', 'Tristan', 'Trostan', 'Trúmann', 'Tryggvi', 'Tumas', 'Tumi', 'Tyrfingur', 'Týr', 'Ubbi', 'Uggi', 'Ulrich', 'Uni', 'Unnar', 'Unnbjörn', 'Unndór', 'Unnsteinn', 'Unnþór', 'Urðar', 'Uxi', 'Úddi', 'Úlfar', 'Úlfgeir', 'Úlfhéðinn', 'Úlfkell', 'Úlfljótur', 'Úlftýr', 'Úlfur', 'Úlrik', 'Úranus', 'Vagn', 'Vakur', 'Valberg', 'Valbergur', 'Valbjörn', 'Valbrandur', 'Valdemar', 'Valdi', 'Valdimar', 'Valdór', 'Valentín', 'Valentínus', 'Valgarð', 'Valgarður', 'Valgeir', 'Valíant', 'Vallaður', 'Valmar', 'Valmundur', 'Valsteinn', 'Valter', 'Valtýr', 'Valur', 'Valves', 'Valþór', 'Varmar', 'Vatnar', 'Váli', 'Vápni', 'Veigar', 'Veigur', 'Ver', 'Vermundur', 'Vernharð', 'Vernharður', 'Vestar', 'Vestmar', 'Veturliði', 'Vébjörn', 'Végeir', 'Vékell', 'Vélaugur', 'Vémundur', 'Vésteinn', 'Victor', 'Viðar', 'Vigfús', 'Viggó', 'Vignir', 'Vigri', 'Vigtýr', 'Vigur', 'Vikar', 'Viktor', 'Vilberg', 'Vilbergur', 'Vilbert', 'Vilbjörn', 'Vilbogi', 'Vilbrandur', 'Vilgeir', 'Vilhelm', 'Vilhjálmur', 'Vili', 'Viljar', 'Vilji', 'Villi', 'Vilmar', 'Vilmundur', 'Vincent', 'Vinjar', 'Virgill', 'Víðar', 'Víðir', 'Vífill', 'Víglundur', 'Vígmar', 'Vígmundur', 'Vígsteinn', 'Vígþór', 'Víkingur', 'Vopni', 'Vorm', 'Vöggur', 'Völundur', 'Vörður', 'Vöttur', 'Walter', 'Werner', 'Wilhelm', 'Willard', 'William', 'Willum', 'Ylur', 'Ymir', 'Yngvar', 'Yngvi', 'Yrkill', 'Ãmir', 'Ãrar', 'Zakaría', 'Zakarías', 'Zophanías', 'Zophonías', 'Zóphanías', 'Zóphonías', 'Þangbrandur', 'Þengill', 'Þeyr', 'Þiðrandi', 'Þiðrik', 'Þinur', 'Þjálfi', 'Þjóðann', 'Þjóðbjörn', 'Þjóðgeir', 'Þjóðleifur', 'Þjóðmar', 'Þjóðólfur', 'Þjóðrekur', 'Þjóðvarður', 'Þjóstar', 'Þjóstólfur', 'Þorberg', 'Þorbergur', 'Þorbjörn', 'Þorbrandur', 'Þorfinnur', 'Þorgarður', 'Þorgautur', 'Þorgeir', 'Þorgestur', 'Þorgils', 'Þorgísl', 'Þorgnýr', 'Þorgrímur', 'Þorkell', 'Þorlaugur', 'Þorlákur', 'Þorleifur', 'Þorleikur', 'Þormar', 'Þormóður', 'Þormundur', 'Þorri', 'Þorsteinn', 'Þorvaldur', 'Þorvar', 'Þorvarður', 'Þór', 'Þórar', 'Þórarinn', 'Þórbergur', 'Þórbjörn', 'Þórður', 'Þórgnýr', 'Þórgrímur', 'Þórhaddur', 'Þórhalli', 'Þórhallur', 'Þórir', 'Þórlaugur', 'Þórleifur', 'Þórlindur', 'Þórmar', 'Þórmundur', 'Þóroddur', 'Þórormur', 'Þórólfur', 'Þórsteinn', 'Þórörn', 'Þrastar', 'Þráinn', 'Þrándur', 'Þróttur', 'Þrúðmar', 'Þrymur', 'Þröstur', 'Þyrnir', 'Ægir', 'Æsir', 'Ævar', 'Ævarr', 'Ögmundur', 'Ögri', 'Ölnir', 'Ölver', 'Ölvir', 'Öndólfur', 'Önundur', 'Örlaugur', 'Örlygur', 'Örn', 'Örnólfur', 'Örvar', 'Össur', 'Öxar'); - - /** - * @var string Icelandic middle names. - */ - protected static $middleName = array( - 'Aðaldal', 'Aldan', 'Arnberg', 'Arnfjörð', 'Austan', 'Austdal', 'Austfjörð', 'Ãss', 'Bakkdal', 'Bakkmann', 'Bald', 'Ben', 'Bergholt', 'Bergland', 'Bíldsfells', 'Bjarg', 'Bjarndal', 'Bjarnfjörð', 'Bláfeld', 'Blómkvist', 'Borgdal', 'Brekkmann', 'Brim', 'Brúnsteð', 'Dalhoff', 'Dan', 'Diljan', 'Ektavon', 'Eldberg', 'Elísberg', 'Elvan', 'Espólín', 'Eyhlíð', 'Eyvík', 'Falk', 'Finndal', 'Fossberg', 'Freydal', 'Friðhólm', 'Giljan', 'Gilsfjörð', 'Gnarr', 'Gnurr', 'Grendal', 'Grindvík', 'Gull', 'Haffjörð', 'Hafnes', 'Hafnfjörð', 'Har', 'Heimdal', 'Heimsberg', 'Helgfell', 'Herberg', 'Hildiberg', 'Hjaltdal', 'Hlíðkvist', 'Hnappdal', 'Hnífsdal', 'Hofland', 'Hofteig', 'Hornfjörð', 'Hólmberg', 'Hrafnan', 'Hrafndal', 'Hraunberg', 'Hreinberg', 'Hreindal', 'Hrútfjörð', 'Hvammdal', 'Hvítfeld', 'Höfðdal', 'Hörðdal', 'Ãshólm', 'Júl', 'Kjarrval', 'Knaran', 'Knarran', 'Krossdal', 'Laufkvist', 'Laufland', 'Laugdal', 'Laxfoss', 'Liljan', 'Linddal', 'Línberg', 'Ljós', 'Loðmfjörð', 'Lyngberg', 'Magdal', 'Magg', 'Matt', 'Miðdal', 'Miðvík', 'Mjófjörð', 'Móberg', 'Mýrmann', 'Nesmann', 'Norðland', 'Núpdal', 'Ólfjörð', 'Ósland', 'Ósmann', 'Reginbald', 'Reykfell', 'Reykfjörð', 'Reynholt', 'Salberg', 'Sandhólm', 'Seljan', 'Sigurhólm', 'Skagalín', 'Skíðdal', 'Snæberg', 'Snædahl', 'Sólan', 'Stardal', 'Stein', 'Steinbekk', 'Steinberg', 'Storm', 'Straumberg', 'Svanhild', 'Svarfdal', 'Sædal', 'Val', 'Valagils', 'Vald', 'Varmdal', 'Vatnsfjörð', 'Vattar', 'Vattnes', 'Viðfjörð', 'Vídalín', 'Víking', 'Vopnfjörð', 'Yngling', 'Þor', 'Önfjörð', 'Örbekk', 'Öxdal', 'Öxndal' - ); - - /** - * Randomly return a icelandic middle name. - * - * @return string - */ - public static function middleName() - { - return static::randomElement(static::$middleName); - } - - /** - * Generate prepared last name for further processing - * - * @return string - */ - public function lastName() - { - $name = static::firstNameMale(); - - if (substr($name, -2) === 'ur') { - $name = substr($name, 0, strlen($name) - 2); - } - - if (substr($name, -1) !== 's') { - $name .= 's'; - } - - return $name; - } - - /** - * Randomly return a icelandic last name for woman. - * - * @return string - */ - public function lastNameMale() - { - return $this->lastName().'son'; - } - - /** - * Randomly return a icelandic last name for man. - * - * @return string - */ - public function lastNameFemale() - { - return $this->lastName().'dóttir'; - } - - /** - * Randomly return a icelandic Kennitala (Social Security number) format. - * - * @link http://en.wikipedia.org/wiki/Kennitala - * - * @return string - */ - public static function ssn() - { - // random birth date - $birthdate = new \DateTime('@' . mt_rand(0, time())); - - // last four buffer - $lastFour = null; - - // security variable reference - $ref = '32765432'; - - // valid flag - $valid = false; - - while (! $valid) { - // make two random numbers - $rand = static::randomDigit().static::randomDigit(); - - // 8 char string with birth date and two random numbers - $tmp = $birthdate->format('dmy').$rand; - - // loop through temp string - for ($i = 7, $sum = 0; $i >= 0; $i--) { - // calculate security variable - $sum += ($tmp[$i] * $ref[$i]); - } - - // subtract 11 if not 11 - $chk = ($sum % 11 === 0) ? 0 : (11 - ($sum % 11)); - - if ($chk < 10) { - $lastFour = $rand.$chk.substr($birthdate->format('Y'), 1, 1); - - $valid = true; - } - } - - return sprintf('%s-%s', $birthdate->format('dmy'), $lastFour); - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/is_IS/PhoneNumber.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/is_IS/PhoneNumber.php deleted file mode 100644 index de91f74..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/is_IS/PhoneNumber.php +++ /dev/null @@ -1,20 +0,0 @@ - - */ -class PhoneNumber extends \Faker\Provider\PhoneNumber -{ - /** - * @var array Icelandic phone number formats. - */ - protected static $formats = array( - '+354 ### ####', - '+354 #######', - '+354#######', - '### ####', - '#######', - ); -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/it_CH/Address.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/it_CH/Address.php deleted file mode 100644 index 1eee3b6..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/it_CH/Address.php +++ /dev/null @@ -1,139 +0,0 @@ - 'Argovia'), - array('AI' => 'Appenzello Interno'), - array('AR' => 'Appenzello Esterno'), - array('BE' => 'Berna'), - array('BL' => 'Basilea Campagna'), - array('BS' => 'Basilea Città'), - array('FR' => 'Friburgo'), - array('GE' => 'Ginevra'), - array('GL' => 'Glarona'), - array('GR' => 'Grigioni'), - array('JU' => 'Giura'), - array('LU' => 'Lucerna'), - array('NE' => 'Neuchâtel'), - array('NW' => 'Nidvaldo'), - array('OW' => 'Obvaldo'), - array('SG' => 'San Gallo'), - array('SH' => 'Sciaffusa'), - array('SO' => 'Soletta'), - array('SZ' => 'Svitto'), - array('TG' => 'Turgovia'), - array('TI' => 'Ticino'), - array('UR' => 'Uri'), - array('VD' => 'Vaud'), - array('VS' => 'Vallese'), - array('ZG' => 'Zugo'), - array('ZH' => 'Zurigo') - ); - - protected static $cityFormats = array( - '{{cityName}}', - ); - - protected static $streetNameFormats = array( - '{{streetSuffix}} {{firstName}}', - '{{streetSuffix}} {{lastName}}' - ); - - protected static $streetAddressFormats = array( - '{{streetName}} {{buildingNumber}}', - ); - protected static $addressFormats = array( - "{{streetAddress}}\n{{postcode}} {{city}}", - ); - - /** - * Returns a random street prefix - * @example Via - * @return string - */ - public static function streetPrefix() - { - return static::randomElement(static::$streetPrefix); - } - - /** - * Returns a random city name. - * @example Luzern - * @return string - */ - public function cityName() - { - return static::randomElement(static::$cityNames); - } - - /** - * Returns a canton - * @example array('BE' => 'Bern') - * @return array - */ - public static function canton() - { - return static::randomElement(static::$canton); - } - - /** - * Returns the abbreviation of a canton. - * @return string - */ - public static function cantonShort() - { - $canton = static::canton(); - return key($canton); - } - - /** - * Returns the name of canton. - * @return string - */ - public static function cantonName() - { - $canton = static::canton(); - return current($canton); - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/it_CH/Company.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/it_CH/Company.php deleted file mode 100644 index 9a42b1c..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/it_CH/Company.php +++ /dev/null @@ -1,15 +0,0 @@ -generator->parse($format); - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/ja_JP/Company.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/ja_JP/Company.php deleted file mode 100644 index 937f375..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/ja_JP/Company.php +++ /dev/null @@ -1,17 +0,0 @@ -generator->parse($format)); - } - - /** - * @example 'yamada.jp' - */ - public function domainName() - { - return static::randomElement(static::$lastNameAscii) . '.' . $this->tld(); - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/ja_JP/Person.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/ja_JP/Person.php deleted file mode 100644 index 0db2db0..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/ja_JP/Person.php +++ /dev/null @@ -1,141 +0,0 @@ -generator->parse($format); - } - - /** - * @param string|null $gender 'male', 'female' or null for any - * @return string - * @example 'アキラ' - */ - public function firstKanaName($gender = null) - { - if ($gender === static::GENDER_MALE) { - return static::firstKanaNameMale(); - } elseif ($gender === static::GENDER_FEMALE) { - return static::firstKanaNameFemale(); - } - - return $this->generator->parse(static::randomElement(static::$firstKanaNameFormat)); - } - - /** - * @example 'アキラ' - */ - public static function firstKanaNameMale() - { - return static::randomElement(static::$firstKanaNameMale); - } - - /** - * @example 'アケミ' - */ - public static function firstKanaNameFemale() - { - return static::randomElement(static::$firstKanaNameFemale); - } - - /** - * @example 'アオタ' - */ - public static function lastKanaName() - { - return static::randomElement(static::$lastKanaName); - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/ja_JP/PhoneNumber.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/ja_JP/PhoneNumber.php deleted file mode 100644 index 9f03c56..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/ja_JP/PhoneNumber.php +++ /dev/null @@ -1,19 +0,0 @@ -generator->parse($format); - } - - public static function companyPrefix() - { - return static::randomElement(static::$companyPrefixes); - } - - public static function companyNameElement() - { - return static::randomElement(static::$companyElements); - } - - public static function companyNameSuffix() - { - return static::randomElement(static::$companyNameSuffixes); - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/ka_GE/DateTime.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/ka_GE/DateTime.php deleted file mode 100644 index 1a1a4dd..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/ka_GE/DateTime.php +++ /dev/null @@ -1,42 +0,0 @@ - 'კვირáƒ', - 'Monday' => 'áƒáƒ áƒ¨áƒáƒ‘áƒáƒ—ი', - 'Tuesday' => 'სáƒáƒ›áƒ¨áƒáƒ‘áƒáƒ—ი', - 'Wednesday' => 'áƒáƒ—ხშáƒáƒ‘áƒáƒ—ი', - 'Thursday' => 'ხუთშáƒáƒ‘áƒáƒ—ი', - 'Friday' => 'პáƒáƒ áƒáƒ¡áƒ™áƒ”ვი', - 'Saturday' => 'შáƒáƒ‘áƒáƒ—ი', - ); - $week = static::dateTime($max)->format('l'); - return isset($map[$week]) ? $map[$week] : $week; - } - - public static function monthName($max = 'now') - { - $map = array( - 'January' => 'იáƒáƒœáƒ•áƒáƒ áƒ˜', - 'February' => 'თებერვáƒáƒšáƒ˜', - 'March' => 'მáƒáƒ áƒ¢áƒ˜', - 'April' => 'áƒáƒžáƒ áƒ˜áƒšáƒ˜', - 'May' => 'მáƒáƒ˜áƒ¡áƒ˜', - 'June' => 'ივნისი', - 'July' => 'ივლისი', - 'August' => 'áƒáƒ’ვისტáƒ', - 'September' => 'სექტემბერი', - 'October' => 'áƒáƒ¥áƒ¢áƒáƒ›áƒ‘ერი', - 'November' => 'ნáƒáƒ”მბერი', - 'December' => 'დეკემბერი', - ); - $month = static::dateTime($max)->format('F'); - return isset($map[$month]) ? $map[$month] : $month; - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/ka_GE/Internet.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/ka_GE/Internet.php deleted file mode 100644 index 01b15c7..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/ka_GE/Internet.php +++ /dev/null @@ -1,15 +0,0 @@ -generator->parse($format); - } - - public static function companyPrefix() - { - return static::randomElement(static::$companyPrefixes); - } - - public static function companyNameElement() - { - return static::randomElement(static::$companyElements); - } - - public static function companyNameSuffix() - { - return static::randomElement(static::$companyNameSuffixes); - } - - /** - * National Business Identification Numbers - * - * @link http://egov.kz/wps/portal/Content?contentPath=%2Fegovcontent%2Fbus_business%2Ffor_businessmen%2Farticle%2Fbusiness_identification_number&lang=en - * @param \DateTime $registrationDate - * @return string 12 digits, like 150140000019 - */ - public static function businessIdentificationNumber(\DateTime $registrationDate = null) - { - if (!$registrationDate) { - $registrationDate = \Faker\Provider\DateTime::dateTimeThisYear(); - } - - $dateAsString = $registrationDate->format('ym'); - $legalEntityType = (string) static::numberBetween(4, 6); - $legalEntityAdditionalType = (string) static::numberBetween(0, 3); - $randomDigits = (string) static::numerify('######'); - - return $dateAsString . $legalEntityType . $legalEntityAdditionalType . $randomDigits; - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/kk_KZ/Internet.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/kk_KZ/Internet.php deleted file mode 100644 index 75999c2..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/kk_KZ/Internet.php +++ /dev/null @@ -1,9 +0,0 @@ - array( - self::CENTURY_19TH => self::MALE_CENTURY_19TH, - self::CENTURY_20TH => self::MALE_CENTURY_20TH, - self::CENTURY_21ST => self::MALE_CENTURY_21ST, - ), - self::GENDER_FEMALE => array( - self::CENTURY_19TH => self::FEMALE_CENTURY_19TH, - self::CENTURY_20TH => self::FEMALE_CENTURY_20TH, - self::CENTURY_21ST => self::FEMALE_CENTURY_21ST, - ), - ); - - /** - * @see https://ru.wikipedia.org/wiki/%D0%9A%D0%B0%D0%B7%D0%B0%D1%85%D1%81%D0%BA%D0%B0%D1%8F_%D1%84%D0%B0%D0%BC%D0%B8%D0%BB%D0%B8%D1%8F - * - * @var array - */ - protected static $maleNameFormats = array( - '{{lastName}}ұлы {{firstNameMale}}', - ); - - /** - * @see https://ru.wikipedia.org/wiki/%D0%9A%D0%B0%D0%B7%D0%B0%D1%85%D1%81%D0%BA%D0%B0%D1%8F_%D1%84%D0%B0%D0%BC%D0%B8%D0%BB%D0%B8%D1%8F - * - * @var array - */ - protected static $femaleNameFormats = array( - '{{lastName}}қызы {{firstNameFemale}}', - ); - - /** - * @see http://koshpendi.kz/index.php/nomad/imena/ - * - * @var array - */ - protected static $firstNameMale = array( - 'Ðылғазы', - 'Әбдіқадыр', - 'Бабағожа', - 'ҒайÑа', - 'Дәмен', - 'Егізбек', - 'Жазылбек', - 'Зұлпықар', - 'ИгіÑін', - 'Кәдіржан', - 'Қадырқан', - 'Латиф', - 'Мағаз', - 'Ðармағамбет', - 'Оңалбай', - 'ӨндіріÑ', - 'Пердебек', - 'Рақат', - 'Сағындық', - 'Танабай', - 'УайыÑ', - 'Ұйықбай', - 'Үрімбай', - 'Файзрахман', - 'Хангелді', - 'Шаттық', - 'ЫÑтамбақы', - 'Ібни', - ); - - /** - * @see http://koshpendi.kz/index.php/nomad/imena/ - * - * @var array - */ - protected static $firstNameFemale = array( - 'ÐÑылтаÑ', - 'Әужа', - 'Бүлдіршін', - 'Гүлшаш', - 'Ғафура', - 'Ділдә', - 'Еркежан', - 'Жібек', - 'Зылиқа', - 'Ирада', - 'КүнÑұлу', - 'Қырмызы', - 'Ләтипа', - 'Мүштәри', - 'Ðұршара', - 'Орынша', - 'ӨрзиÑ', - 'Перизат', - 'РухиÑ', - 'Сындыбала', - 'ТұрÑынай', - 'УәÑима', - 'ҰрқиÑ', - 'ҮриÑ', - 'Фируза', - 'Хафиза', - 'Шырынгүл', - 'ЫрыÑÑ‚Ñ‹', - 'Іңкәр', - ); - - /** - * @see http://koshpendi.kz/index.php/nomad/imena/ - * @see https://ru.wikipedia.org/wiki/%D0%9A%D0%B0%D0%B7%D0%B0%D1%85%D1%81%D0%BA%D0%B0%D1%8F_%D1%84%D0%B0%D0%BC%D0%B8%D0%BB%D0%B8%D1%8F - * - * @var array - */ - protected static $lastName = array( - 'Ðдырбай', - 'Әжібай', - 'Байбөрі', - 'Ғизат', - 'Ділдабек', - 'Ешмұхамбет', - 'Жігер', - 'ЗікіриÑ', - 'ИÑа', - 'Кунту', - 'Қыдыр', - 'Лұқпан', - 'Мышырбай', - 'ÐÑ‹Ñынбай', - 'Ошақбай', - 'Өтетілеу', - 'Пірәлі', - 'РүÑтем', - 'Сырмұхамбет', - 'ТілеміÑ', - 'Уәлі', - 'Ұлықбек', - 'Ò®Ñтем', - 'Фахир', - 'Ð¥Ò±Ñайын', - 'Шілдебай', - 'ЫÑтамбақы', - 'ІÑмет', - ); - - /** - * @param integer $year - * - * @return integer|null - */ - private static function getCenturyByYear($year) - { - if ($year >= 2000 && $year <= DateTime::year()) { - return self::CENTURY_21ST; - } elseif ($year >= 1900) { - return self::CENTURY_20TH; - } elseif ($year >= 1800) { - return self::CENTURY_19TH; - } - } - - /** - * National Individual Identification Numbers - * - * @link http://egov.kz/wps/portal/Content?contentPath=%2Fegovcontent%2Fcitizen_migration%2Fpassport_id_card%2Farticle%2Fiin_info&lang=en - * @link https://ru.wikipedia.org/wiki/%D0%98%D0%BD%D0%B4%D0%B8%D0%B2%D0%B8%D0%B4%D1%83%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9_%D0%B8%D0%B4%D0%B5%D0%BD%D1%82%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D1%8B%D0%B9_%D0%BD%D0%BE%D0%BC%D0%B5%D1%80 - * - * @param \DateTime $birthDate - * @param integer $gender - * - * @return string 12 digits, like 780322300455 - */ - public static function individualIdentificationNumber(\DateTime $birthDate = null, $gender = self::GENDER_MALE) - { - if (!$birthDate) { - $birthDate = DateTime::dateTimeBetween(); - } - - do { - $population = mt_rand(1000, 2000); - $century = self::getCenturyByYear((int) $birthDate->format('Y')); - - $iin = $birthDate->format('ymd'); - $iin .= (string) self::$genderCenturyMap[$gender][$century]; - $iin .= (string) $population; - $checksum = self::checkSum($iin); - } while ($checksum === 10); - - return $iin . (string) $checksum; - } - - /** - * @param string $iinValue - * - * @return integer - */ - public static function checkSum($iinValue) - { - $controlDigit = self::getControlDigit($iinValue, self::$firstSequenceBitWeights); - - if ($controlDigit === 10) { - return self::getControlDigit($iinValue, self::$secondSequenceBitWeights); - } - - return $controlDigit; - } - - /** - * @param string $iinValue - * @param array $sequence - * - * @return integer - */ - protected static function getControlDigit($iinValue, $sequence) - { - $sum = 0; - - for ($i = 0; $i <= 10; $i++) { - $sum += (int) $iinValue[$i] * $sequence[$i]; - } - - return $sum % 11; - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/kk_KZ/PhoneNumber.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/kk_KZ/PhoneNumber.php deleted file mode 100644 index edb38dd..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/kk_KZ/PhoneNumber.php +++ /dev/null @@ -1,16 +0,0 @@ -generator->parse($format)); - } - - /** - * @example 'kim.kr' - */ - public function domainName() - { - return static::randomElement(static::$lastNameAscii) . '.' . $this->tld(); - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/ko_KR/Person.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/ko_KR/Person.php deleted file mode 100644 index 92d858f..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/ko_KR/Person.php +++ /dev/null @@ -1,55 +0,0 @@ -generator->parse($format)); - } - - - - public function cellPhoneNumber() - { - $format = self::randomElement(array_slice(static::$formats, 6, 1)); - - return self::numerify($this->generator->parse($format)); - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/ko_KR/Text.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/ko_KR/Text.php deleted file mode 100644 index 5f5148e..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/ko_KR/Text.php +++ /dev/null @@ -1,1723 +0,0 @@ -ì— ë‚˜ì˜¤ëŠ” ìš”ê·€ì˜ ë¶ˆë¹› 모양으로 푸르무레 하게 í—ˆê³µì„ ë¹„ì¶”ì˜¤. ë™ê²½ì˜ 불바다는 ë‚´ 마ìŒì„ ë”ìš± ìŒì¹¨í•˜ê²Œ 하였소. -ì´ ë•Œì— ë’¤ì—ì„œ, -"모시모시(여보세요)." -하는 소리가 들렸소. ê·¸ê²ƒì€ í° ì €ê³ ë¦¬ë¥¼ ìž…ì€ í˜¸í…” ë³´ì´ì˜€ì†Œ. -"왜?" -하고 나는 고개만 ëŒë ¸ì†Œ. -"ì†ë‹˜ì´ 오셨습니다." -"ì†ë‹˜?" -하고 나는 ë³´ì´ì—게로 í•œ ê±¸ìŒ ê°€ê¹Œì´ ê°”ì†Œ. 나를 ì°¾ì„ ì†ë‹˜ì´ ì–´ë”” 있나 하고 나는 놀란 것ì´ì˜¤. -"따님께서 오셨습니다. 방으로 모셨습니다." -하고 ë³´ì´ëŠ” 들어가 버리고 ë§ì•˜ì†Œ. -"따님?" -하고 나는 ë”ìš± 놀ëžì†Œ. 순임ì´ê°€ 서울서 나를 ë”°ë¼ì™”나? ê·¸ê²ƒì€ ì•ˆ ë  ë§ì´ì˜¤. 순임ì´ê°€ ë‚´ 뒤를 ë”°ë¼ ë– ë‚¬ë”ë¼ë„ 아무리 빨리 ì™€ë„ ë‚´ì¼ì´ 아니면 못 ì™”ì„ ê²ƒì´ì˜¤. 그러면 누군가. ì •ìž„ì¸ê°€. ì •ìž„ì´ê°€ 병ì›ì—ì„œ 뛰어온 것ì¸ê°€. -나는 ë‘근거리는 ê°€ìŠ´ì„ ì–µì§€ë¡œ 진정하면서 ë‚´ ë°©ë¬¸ì„ ì—´ì—ˆì†Œ. -ê·¸ê²ƒì€ ì •ìž„ì´ì—ˆì†Œ. ì •ìž„ì€ ë‚´ê°€ 쓰다가 ë‘” 편지를 ë³´ê³  있다가 벌떡 ì¼ì–´ë‚˜ 내게 달려들어 안겨 버렸소. 나는 얼빠진 ë“¯ì´ ì •ìž„ì´ê°€ 하ë¼ëŠ” 대로 내버려ë‘었소. ê·¸ 편지는 부치려고 ì“´ ê²ƒë„ ì•„ë‹Œë° ê·¸ 편지를 ì •ìž„ì´ê°€ 본 ê²ƒì´ ì•ˆë˜ì—ˆë‹¤ê³  ìƒê°í•˜ì˜€ì†Œ. -형! 나를 ì±…ë§í•˜ì‹œì˜¤. 심히 부ë„러운 ë§ì´ì§€ë§ˆëŠ” 나는 ì •ìž„ì„ íž˜ê» ê»´ì•ˆì•„ 주고 싶었소. 나는 몇 번ì´ë‚˜ ì •ìž„ì˜ ë“±ì„ êµ½ì–´ ë³´ë©´ì„œ ë‚´ íŒ”ì— íž˜ì„ ë„£ìœ¼ë ¤ê³  하였소. ì •ìž„ì€ ì‹¬ížˆ 귀여웠소. ì •ìž„ì´ê°€ 그처럼 나를 사모하는 ê²ƒì´ ì‹¬ížˆ 기뻤소. 나는 ê°ì •ì´ 재우ì³ì„œ ëˆˆì´ ì•ˆ ë³´ì´ê³  ì •ì‹ ì´ ëª½ë¡±í•˜ì—¬ì§ì„ 깨달았소. 나는 아프고 쓰린 듯한 기ì¨ì„ 깨달았소. ì˜ì–´ë¡œ 엑스터시ë¼ë“ ì§€, 한문으로 ë¬´ì•„ì˜ ê²½ì§€ëž€ ì´ëŸ° ê²ƒì´ ì•„ë‹Œê°€ 하였소. 나는 사십 í‰ìƒì— ì´ëŸ¬í•œ ê²½í—˜ì„ ì²˜ìŒ í•œ 것ì´ì˜¤. -형! í˜•ì´ ì•„ì‹œë‹¤ì‹œí”¼ 나는 ë‚´ ì•„ë‚´ ì´ì™¸ì— ì Šì€ ì—¬ì„±ì—게 ì´ë ‡ê²Œ 안겨 본 ì¼ì´ 없소. 물론 안아 본 ì¼ë„ 없소. -그러나 형! 나는 나를 눌렀소. ë‚´ 타오르는 ì• ìš•ì„ ì°¨ë””ì°¬ ì´ì§€ì˜ 입김으로 불어서 ë„려고 애를 ì¼ì†Œ. -"글쎄 웬ì¼ì´ëƒ. 앓는 ê²ƒì´ ì´ ë°¤ì¤‘ì— ë¹„ë¥¼ 맞고 왜 나온단 ë§ì´ëƒ. 철없는 것 같으니." -하고 나는 ì•„ë²„ì§€ì˜ ìœ„ì—„ìœ¼ë¡œ ì •ìž„ì˜ ë‘ ì–´ê¹¨ë¥¼ 붙들어 ì•”ì²´ì–´ì— ì•‰í˜”ì†Œ. 그리고 ë‚˜ë„ í…Œì´ë¸”ì„ í•˜ë‚˜ 세워 ë‘ê³  맞ì€íŽ¸ì— 앉았소. -ì •ìž„ì€ ë¶€ë„러운 ë“¯ì´ ë‘ ì†ìœ¼ë¡œ ë‚¯ì„ ê°€ë¦¬ìš°ê³  ì œ ë¬´ë¦Žì— ì—Žë“œë ¤ 울기를 시작하오. -ì •ìž„ì€ ëˆ„ëŸ° ê°ˆìƒ‰ì˜ ì™¸íˆ¬ë¥¼ 입었소. ë¬´ì—‡ì„ íƒ€ê³  왔는지 모르지마는 구ë‘ì—는 꽤 ë§Žì´ ë¬¼ì´ ë¬»ê³  모ìžì—는 빗방울 ì–¼ë£©ì´ ë³´ì´ì˜¤. -"네가 ì´ëŸ¬ë‹¤ê°€ 다시 ë³‘ì´ ë”치면 어찌한단 ë§ì´ëƒ. ì•„ì´ê°€ 왜 그렇게 ì² ì´ ì—†ë‹ˆ?" -하고 나는 ë”ìš± 냉정한 ì–´ì¡°ë¡œ ì±…ë§í•˜ê³  ë°ìŠ¤í¬ ìœ„ì— ë†“ì¸ ë‚´ 편지 초를 집어 ë°•ë°• 찢어 버렸소. ì¢…ì´ ì°¢ëŠ” ì†Œë¦¬ì— ì •ìž„ì€ ìž ê¹ ê³ ê°œë¥¼ 들어서 처ìŒì—는 ë‚´ ì†ì„ ë³´ê³  다ìŒì—는 ë‚´ ì–¼êµ´ì„ ë³´ì•˜ì†Œ. 그러나 나는 모르는 체하고 ë„ë¡œ êµì˜ì— ëŒì•„와 앉아서 가만히 ëˆˆì„ ê°ì•˜ì†Œ. 그리고 ë„무지 í¥ë¶„ë˜ì§€ 아니한 ëª¨ì–‘ì„ ê¾¸ëª„ì†Œ. -형! 어떻게나 힘드는 ì¼ì´ì˜¤? 참으면 ì°¸ì„ìˆ˜ë¡ ë‚´ ì´ë¹¨ì´ 마주 부딪고, ì–¼êµ´ì˜ ê·¼ìœ¡ì€ ì”°ë£©ê±°ë¦¬ê³  ì†ì€ 불ëˆë¶ˆëˆ ì¥ì–´ì§€ì˜¤. -"ì •ë§ ë‚´ì¼ ê°€ì„¸ìš”?" -하고 아마 오 분 ë™ì•ˆì´ë‚˜ ì¹¨ë¬µì„ ì§€í‚¤ë‹¤ê°€ ì •ìž„ì´ê°€ 고개를 들고 물었소. -"그럼, 가야지." -하고 나는 빙그레 웃어 보였소. -"ì €ë„ ë°ë¦¬ê³  가세요!" -하는 ì •ìž„ì˜ ë§ì€ 마치 ì„œë¦¿ë°œì´ ë‚ ë¦¬ëŠ” 칼날과 같았소. 나는 ê¹œì§ ë†€ë¼ì„œ ì •ìž„ì„ ë°”ë¼ë³´ì•˜ì†Œ. ê·¸ì˜ ëˆˆì€ ë¹›ë‚˜ê³  ìž…ì€ ê¼­ 다물고 ì–¼êµ´ì˜ ê·¼ìœ¡ì€ íŒ½íŒ½í•˜ê²Œ 켕겼소. ì •ìž„ì˜ ì–¼êµ´ì—는 ì°¬ë°”ëžŒì´ ë„는 무서운 ê¸°ìš´ì´ ìžˆì—ˆì†Œ. -나는 즉ê°ì ìœ¼ë¡œ 죽기를 결심한 ì—¬ìžì˜ 모양ì´ë¼ê³  ìƒê°í•˜ì˜€ì†Œ. 열정으로 불ë©ì–´ë¦¬ê°€ ë˜ì—ˆë˜ ì •ìž„ì€ ë‚´ê°€ ë³´ì´ëŠ” 냉랭한 태ë„ë¡œ ë§ë¯¸ì•”ì•„ ê°‘ìžê¸° 얼어 버린 것 같았소. -"어디를?" -하고 나는 ì •ìž„ì˜ `ì €ë„ ë°ë¦¬ê³  가세요.' 하는 담대한 ë§ì— 놀ë¼ë©´ì„œ 물었소. -"어디든지, 아버지 가시는 ë°ë©´ 어디든지 저를 ë°ë¦¬ê³  가세요. 저는 아버지를 떠나서는 혼ìžì„œëŠ” 못 ì‚´ ê²ƒì„ ì§€ë‚˜ê°„ ë°˜ 달 ë™ì•ˆì— 잘 알았습니다. 아까 아버지 오셨다 가신 ë’¤ì— ìƒê°í•´ ë³´ë‹ˆê¹ ì•”ë§Œí•´ë„ ì•„ë²„ì§€ëŠ” 다시 ì €ì—게 와 보시지 아니하고 가실 것만 같애요. 그리고 저로 í•´ì„œ 아버지께서는 무슨 í° íƒ€ê²©ì„ ë‹¹í•˜ì‹  것만 같으셔요. ì²˜ìŒ ëµˆì˜¬ ì ì— ë²Œì¨ ê°€ìŠ´ì´ ëœ¨ë”했습니다. 그리고 ì—¬í–‰ì„ ë– ë‚˜ì‹ ë‹¤ëŠ” ë§ì”€ì„ 듣고는 반드시 무슨 í°ì¼ì´ 나셨ëŠë‹ˆë¼ê³ ë§Œ ìƒê°í–ˆìŠµë‹ˆë‹¤. 그리고 저어, 저로 í•´ì„œ 그러신 것만 같고, 저를 버리시고 í˜¼ìž ê°€ì‹œë ¤ëŠ” 것만 같고, 그래서 달려왔ë”니 여기 ì¨ ë†“ìœ¼ì‹  편지를 ë³´ê³  ê·¸ íŽ¸ì§€ì— ë‹¤ë¥¸ ë§ì”€ì€ ì–´ì°Œ ë든지, 네 ì¼ê¸°ë¥¼ 보았다 하신 ë§ì”€ì„ 보고는 다 알았습니다. 저와 í•œ ë°©ì— ìžˆëŠ” ì• ê°€ ì•”ë§Œí•´ë„ ì–´ë¨¸ë‹ˆ 스파ì¸ê°€ë´ìš”. 제가 ìž…ì›í•˜ê¸° ì „ì—ë„ ì œ 눈치를 슬슬 ë³´ê³  ë˜ ì±…ìƒ ì„œëžë„ 뒤지는 눈치가 ë³´ì´ê¸¸ëž˜ ì¼ê¸°ì±…ì€ ëŠ˜ 쇠 잠그는 ì„œëžì— 넣어 ë‘ì—ˆëŠ”ë° ì•„ë§ˆ 제가 ì •ì‹  ì—†ì´ ì•“ê³  누웠는 ë™ì•ˆì— ì œ 핸드백ì—ì„œ 쇳대를 í›”ì³ ê°”ë˜ê°€ë´ìš”. 그래서는 ê·¸ ì¼ê¸°ì±…ì„ êº¼ë‚´ì„œ 서울로 보냈나ë´ìš”. 그걸루 í•´ì„œ 아버지께서는 불명예스러운 ëˆ„ëª…ì„ ì“°ì‹œê³  í•™êµì¼ë„ 내놓으시게 ë˜ê³  ì§‘ë„ ë– ë‚˜ì‹œê²Œ ë˜ì…¨ë‚˜ë´ìš”. 다시는 ì§‘ì— ì•ˆ ëŒì•„오실 양으로 ê²°ì‹¬ì„ í•˜ì…¨ë‚˜ë´ìš”. 아까 병ì›ì—ì„œë„ í•˜ì‹œëŠ” ë§ì”€ì´ ëª¨ë‘ ìœ ì–¸í•˜ì‹œëŠ” 것만 같아서 í½ ì˜ì‹¬ì„ ê°€ì¡Œì—ˆëŠ”ë° ì§€ê¸ˆ ê·¸ ì“°ì‹œë˜ íŽ¸ì§€ë¥¼ 보고는 다 알았습니다. 그렇지만 그렇지만." -하고 웅변으로 ë‚´ë ¤ ë§í•˜ë˜ ì •ìž„ì€ ê°‘ìžê¸° 복받치는 ì—´ì •ì„ ì´ê¸°ì§€ 못하는 듯ì´, í•œ 번 í•œìˆ¨ì„ ì§€ìš°ê³ , -"그렇지만 저는 아버지를 ë”°ë¼ê°€ìš”. 절루 í•´ì„œ 아버지께서는 ì§‘ë„ ìžƒìœ¼ì‹œê³  ëª…ì˜ˆë„ ìžƒìœ¼ì‹œê³  ì‚¬ì—…ë„ ìžƒìœ¼ì‹œê³  ì¸ìƒì˜ 모든 ê²ƒì„ ë‹¤ 잃으셨으니 저는 아버지를 ë”°ë¼ê°€ìš”. 어디를 가시든지 저는 어린 딸로 아버지를 ë”°ë¼ë‹¤ë‹ˆë‹¤ê°€ 아버지께서 먼저 ëŒì•„가시면 ì €ë„ ë”°ë¼ ì£½ì–´ì„œ 아버지 ë°œ ë°‘ì— ë¬»íž í…Œì•¼ìš”. 제가 먼저 죽거든 제가 ë³‘ì´ ìžˆìœ¼ë‹ˆê¹ ë¬¼ë¡  제가 먼저 죽지요. ì£½ì–´ë„ ì¢‹ìŠµë‹ˆë‹¤. 병ì›ì—ì„œ 앓다가 í˜¼ìž ì£½ëŠ” ê±´ ì‹«ì–´ìš”. 아버지 ê³ì—ì„œ 죽으면 아버지께서, 오 ë‚´ 딸 ì •ìž„ì•„ 하시고 귀해 주시고 불ìŒížˆ 여겨 주시겠지요. 그리고 ì œ ëª¸ì„ ì–´ë””ë“ ì§€ ë•…ì— ë¬»ìœ¼ì‹œê³  `사랑하는 ë‚´ 딸 ì •ìž„ì˜ ë¬´ë¤'ì´ë¼ê³  패ë¼ë„ ì†ìˆ˜ 쓰셔서 세워 주시지 않겠습니까." -하고 ì •ìž„ì€ ë¹„ì­‰ë¹„ì­‰í•˜ë‹¤ê°€ 그만 무릎 ìœ„ì— ì—Žë”ì ¸ 울고 마오. -나는 다만 ì£½ì€ ì‚¬ëžŒ 모양으로 반쯤 ëˆˆì„ ê°ê³  앉아 있었소. 가슴 ì†ì—는 ì •ìž„ì˜ ê³ì—ì„œ 지지 않는 ì—´ì •ì„ í’ˆìœ¼ë©´ì„œë„ ì •ìž„ì˜ ë§ëŒ€ë¡œ ì •ìž„ì„ ë°ë¦¬ê³  ì•„ë¬´ë„ ëª¨ë¥´ëŠ” 곳으로 ê°€ 버리고 ì‹¶ìœ¼ë©´ì„œë„ ë‚˜ëŠ” ì´ ì—´ì •ì˜ ë¶ˆê¸¸ì„ ë‚´ 입김으로 꺼 버리지 아니하면 아니 ë˜ëŠ” 것ì´ì—ˆì†Œ. -"ì•„ì•„, 제가 왜 났어요? 왜 하나님께서 저를 세ìƒì— 보내셨어요? ì•„ë²„ì§€ì˜ ì¼ìƒì„ 파멸시키려 ë‚œ 것ì´ì§€ìš”? 제가 지금 죽어 버려서 ì•„ë²„ì§€ì˜ ëª…ì˜ˆë¥¼ 회복할 수 있다면 저는 죽어 버릴 í„°ì´ì•¼ìš”. 기ì˜ê²Œ 죽어 버리겠습니다. 제가 ì—¬ëŸ ì‚´ë¶€í„° 오늘날까지 ë°›ì€ ì€í˜œë¥¼ ì œ 목숨 하나로 ê°šì„ ìˆ˜ê°€ 있다면 저는 지금으로 죽어 버리겠습니다. 그렇지만 그렇지만……. -그렇지만 그렇지만 저는 다만 얼마ë¼ë„ 다만 하루ë¼ë„ 아버지 ê³ì—ì„œ ì‚´ê³  싶어요 다만 하루만ì´ë¼ë„, 아버지! 제가 왜 ì´ë ‡ìŠµë‹ˆê¹Œ, 네? 제가 어려서 ì´ë ‡ìŠµë‹ˆê¹Œ. 미친 ë…„ì´ ë˜ì–´ì„œ ì´ë ‡ìŠµë‹ˆê¹Œ. 아버지께서는 아실 테니 ë§ì”€í•´ 주세요. 하루만ì´ë¼ë„ 아버지를 모시고 아버지 ê³ì—ì„œ 살았으면 ì£½ì–´ë„ í•œì´ ì—†ê² ìŠµë‹ˆë‹¤. ì œ ìƒê°ì´ 잘못ì´ì•¼ìš”? ì œ ìƒê°ì´ 죄야요? 왜 죄입니까? 아버지, 저를 버리시고 í˜¼ìž ê°€ì‹œì§€ 마세요, 네? `ì •ìž„ì•„, 너를 ë°ë¦¬ê³  가마.' 하고 약ì†í•´ 주세요, 네." -ì •ìž„ì€ ì•„ì£¼ 담대하게 제가 í•˜ê³ ìž í•˜ëŠ” ë§ì„ 다 하오. ê·¸ 얌전한, ìˆ˜ì‚½í•œì •ìž„ì˜ ì†ì— ì–´ë”” 그러한 용기가 있었ë˜ê°€, ì°¸ ì´ìƒí•œ ì¼ì´ì˜¤. 나는 귀여운 어린 계집애 ì •ìž„ì˜ ì†ì— ì—‰í¼í•œ ì—¬ìžê°€ ë“¤ì–´ì•‰ì€ ê²ƒì„ ë°œê²¬í•˜ì˜€ì†Œ. 그가 몇 가지 재료(ë‚´ê°€ ì—¬í–‰ì„ ë– ë‚œë‹¤ëŠ” 것과 ì œ ì¼ê¸°ë¥¼ 보았다는 것)를 종합하여 나와 ì €ì™€ì˜ ìƒˆì—, ë˜ ê·¸ ë•Œë¬¸ì— ì–´ë– í•œ ì¼ì´ ì¼ì–´ë‚œ ê²ƒì„ ì¶”ì¸¡í•˜ëŠ” ê·¸ ìƒìƒë ¥ë„ 놀ëžê±°ë‹ˆì™€ 그렇게 ë‚´ ì•žì—서는 별로 ìž…ë„ ë²Œë¦¬ì§€ ì•„ë‹ˆí•˜ë˜ ê·¸ê°€ ì´ì²˜ëŸ¼ 담대하게 ì œ ì†ì— 있는 ë§ì„ ê±°ë¦¬ë‚Œì—†ì´ ë‹¤ í•´ 버리는 용기를 아니 놀랄 수 없었소. ë‚´ê°€, 사내요 ì–´ë¥¸ì¸ ë‚´ê°€ ë„리어 ì •ìž„ì—게 리드를 받고 ë†€ë¦¼ì„ ë°›ìŒì„ 깨달았소. -그러나 ì •ìž„ì„ ìœ„í•´ì„œë“ ì§€, 중년 남ìžì˜ ìœ„ì‹ ì„ ìœ„í•´ì„œë“ ì§€ 나는 ì˜ì§€ë ¥ìœ¼ë¡œ, ë„ë•ë ¥ìœ¼ë¡œ, ì •ìž„ì„ ëˆ„ë¥´ê³  훈계하지 아니하면 아니 ë˜ê² ë‹¤ê³  ìƒê°í•˜ì˜€ì†Œ. -"ì •ìž„ì•„." -하고 나는 비로소 ìž…ì„ ì—´ì–´ì„œ 불렀소. ë‚´ ì–´ì„±ì€ ìž¥ì¤‘í•˜ì˜€ì†Œ. 나는 í•  수 있는 ìœ„ì—„ì„ ë‹¤í•˜ì—¬ `ì •ìž„ì•„.' 하고 부른 것ì´ì˜¤. -"ì •ìž„ì•„, 네 ì†ì€ 다 알았다. 네 ë§ˆìŒ ë„¤ ëœ»ì€ ê·¸ë§Œí•˜ë©´ 다 알았다. 네가 나를 그처럼 ìƒê°í•´ 주는 ê²ƒì„ ê³ ë§™ê²Œ ìƒê°í•œë‹¤. 기ì˜ê²Œë„ ìƒê°í•œë‹¤. 그러나 ì •ìž„ì•„." -하고 나는 ì¼ì¸µ 태ë„와 소리를 엄숙하게 하여, -"네가 청하는 ë§ì€ 절대로 ë“¤ì„ ìˆ˜ 없는 ë§ì´ë‹¤. ë‚´ê°€ 너를 ì¹œë”¸ê°™ì´ ì‚¬ëž‘í•˜ê¸° ë•Œë¬¸ì— ë‚˜ëŠ” 너를 ë°ë¦¬ê³  가지 못하는 것ì´ë‹¤. 나는 세ìƒì—ì„œ 죽고 ì¡°ì„ ì—ì„œ 죽ë”ë¼ë„ 너는 죽어서 아니 ëœë‹¤. 차마 너까지는 죽ì´ê³  싶지 아니하단 ë§ì´ë‹¤. ë‚´ê°€ ì–´ë”” 가서 없어져 버리면 세ìƒì€ 네게 씌운 ëˆ„ëª…ì´ ì• ë§¤í•œ ì¤„ì„ ì•Œê²Œ ë  ê²ƒì´ ì•„ë‹ˆëƒ. 그리ë˜ë©´ 너는 ì¡°ì„ ì˜ ì¢‹ì€ ì¼ê¾¼ì´ ë˜ì–´ì„œ ì¼ë„ ë§Žì´ í•˜ê³  ë˜ ì‚¬ëž‘í•˜ëŠ” ë‚¨íŽ¸ì„ ë§žì•„ì„œ í–‰ë³µëœ ìƒí™œë„ í•  수 ìžˆì„ ê²ƒì´ ì•„ë‹ˆëƒ. ê·¸ê²ƒì´ ë‚´ê°€ 네게 ë°”ë¼ëŠ” 것ì´ë‹¤. ë‚´ê°€ ì–´ë”” ê°€ 있든지, ë‚´ê°€ ì‚´ì•„ 있는 ë™ì•ˆ 나는 네가 잘ë˜ëŠ” 것만, 행복ë˜ê²Œ 사는 것만 ë°”ë¼ë³´ê³  í˜¼ìž ê¸°ë»í•  ê²ƒì´ ì•„ë‹ˆëƒ. -네가 다 옳게 알았다. 나는 네 ë§ëŒ€ë¡œ ì¡°ì„ ì„ ì˜ì›ížˆ 떠나기로 하였다. 그렇지마는 나는 ì´ë ‡ê²Œ ëœ ê²ƒì„ ì¡°ê¸ˆë„ ìŠ¬í¼í•˜ì§€ 아니한다. 너를 위해서 ë‚´ê°€ 무슨 í¬ìƒì„ 한다고 하면 내게는 ê·¸ê²ƒì´ í° ê¸°ì¨ì´ë‹¤. ê·¸ë¿ ì•„ë‹ˆë¼, 나는 ì¸ì œëŠ” 세ìƒì´ 싫어졌다. ë” ì‚´ê¸°ê°€ 싫어졌다. ë‚´ê°€ ì‹­ì—¬ ë…„ ë™ì•ˆ ì „ìƒëª…ì„ ë°”ì³ì„œ êµìœ¡í•œ í•™ìƒë“¤ì—게까지 ë°°ì²™ì„ ë°›ì„ ë•Œì—는 나는 지금까지 살아온 ê²ƒì„ ìƒê°ë§Œ í•˜ì—¬ë„ ì§„ì €ë¦¬ê°€ 난다. 그렇지마는 나는 ì´ê²ƒì´ 다 ë‚´ê°€ 부족한 ë•Œë¬¸ì¸ ì¤„ì„ ìž˜ 안다. 나는 ì¡°ì„ ì„ ì›ë§í•œë‹¤ë“ ê°€, ë‚´ ë™í¬ë¥¼ ì›ë§í•œë‹¤ë“ ê°€, 그럴 ìƒê°ì€ 없다. ì›ë§ì„ 한다면 나 ìžì‹ ì˜ ë¶€ì¡±ì„ ì›ë§í•  ë¿ì´ë‹¤. ë‚´ê°€ ì›ì²´ êµìœ¡ì„ 한다든지 ë‚¨ì˜ ì§€ë„ìžê°€ ëœë‹¤ë“ ì§€ í•  ìžê²©ì´ ì—†ìŒì„ ì›ë§í•œë‹¤ë©´ ì›ë§í• ê¹Œ, ë‚´ê°€ 어떻게 ì¡°ì„ ì´ë‚˜ ì¡°ì„  ì‚¬ëžŒì„ ì›ë§í•˜ëŠëƒ. 그러니까 ì¸ì œ 내게 ë‚¨ì€ ì¼ì€ 나를 ì¡°ì„ ì—ì„œ 없애 버리는 것ì´ë‹¤. ê°ížˆ ì‹­ì—¬ ë…„ ê°„ êµìœ¡ê°€ë¼ê³  ìžì²˜í•´ ì˜¤ë˜ ê±°ì§“ë˜ê³  ì™¸ëžŒëœ ìƒí™œì„ ëŠì–´ 버리는 것ì´ë‹¤. 남편 ë…¸ë¦‡ë„ ëª» 하고 아버지 ë…¸ë¦‡ë„ ëª» 하는 ì‚¬ëžŒì´ ë‚¨ì˜ ìŠ¤ìŠ¹ì€ ì–´ë–»ê²Œ ë˜ê³  지ë„ìžëŠ” 어떻게 ë˜ëŠëƒ. 하니까 나는 ì´ì œ 세ìƒì„ 떠나 버리는 ê²ƒì´ ì¡°ê¸ˆë„ ìŠ¬í”„ì§€ 아니하고 ë„리어 ëª¸ì´ ê°€ëœ¬í•˜ê³  유쾌해지는 것 같다. -ì˜¤ì§ í•˜ë‚˜ 마ìŒì— 걸리는 ê²ƒì€ ë‚´ ì„ ë°°ìš” 사랑하는 ë™ì§€ì´ë˜ 남 ì„ ìƒì˜ 유ì¼í•œ 혈육ì´ë˜ 네게다가 ëˆ„ëª…ì„ ì”Œìš°ê³  가는 것ì´ë‹¤." -"그게 ì–´ë”” 아버지 잘못입니까?" -하고 ì •ìž„ì€ ìž…ìˆ ì„ ê¹¨ë¬¼ì—ˆì†Œ. -"ëª¨ë‘ ì œê°€ ì² ì´ ì—†ì–´ì„œ ì € 때문ì—……." -하고 ì •ìž„ì€ ëª¸ì„ ë–¨ê³  울었소. -"아니! 그렇게 ìƒê°í•˜ì§€ 마ë¼. ë‚´ê°€ 지금 세ìƒì„ 버릴 ë•Œì— ë¬´ìŠ¨ 기ì¨ì´ í•œ 가지 남는 ê²ƒì´ ìžˆë‹¤ê³  하면 너 하나가, ì´ ì„¸ìƒì—ì„œ ì˜¤ì§ ë„ˆ 하나가 나를 ë”°ë¼ ì£¼ëŠ” 것ì´ë‹¤. 아마 ë„ˆë„ ë‚˜ë¥¼ 잘못 알고 ë”°ë¼ ì£¼ëŠ” 것ì´ê² ì§€ë§ˆëŠ” 세ìƒì´ 다 나를 버리고, 처ìžê¹Œì§€ë„ 다 나를 버릴 ë•Œì— ì˜¤ì§ ë„ˆ 하나가 나를 소중히 알아 주니 ì–´ì°Œ 고맙지 ì•Šê² ëŠëƒ. 그러니까 ì •ìž„ì•„ 너는 ëª¸ì„ ì¡°ì‹¬í•˜ì—¬ì„œ ê±´ê°•ì„ íšŒë³µí•˜ì—¬ì„œ 오래 잘 ì‚´ê³ , 그리고 나를 ìƒê°í•´ 다오." -하고 ë‚˜ë„ ìš¸ì—ˆì†Œ. -형! ë‚´ê°€ ì •ìž„ì—게 ì´ëŸ° ë§ì„ í•œ ê²ƒì´ ìž˜ëª»ì´ì§€ìš”. 그러나 나는 ê·¸ ë•Œì— ì´ëŸ° ë§ì„ 아니 í•  수 없었소. 왜 그런고 하니, ê·¸ê²ƒì´ ë‚´ 진정ì´ë‹ˆê¹Œ. ë‚˜ë„ í•™êµ ì„ ìƒìœ¼ë¡œ, êµìž¥ìœ¼ë¡œ, ë˜ ì£¼ì œë„˜ê²Œ ì§€ì‚¬ë¡œì˜ ì¼ìƒì„ ë³´ë‚´ë…¸ë¼ê³  마치 ì˜¤ì§ ì–¼ìŒ ê°™ì€ ì˜ì§€ë ¥ë§Œ 가진 사람 모양으로 사십 í‰ìƒì„ ì‚´ì•„ 왔지마는 ë‚´ ì†ì—ë„ ì—´ì •ì€ ìžˆì—ˆë˜ ê²ƒì´ì˜¤. 다만 ê·¸ ì—´ì •ì„ ëˆ„ë¥´ê³  죽ì´ê³  ìžˆì—ˆì„ ë¿ì´ì˜¤. 물론 나는 아마 ì¼ìƒì— ì´ ì—´ì •ì˜ ê³ ì‚를 놓아 줄 ë‚ ì´ ì—†ê² ì§€ìš”. ë§Œì¼ ë‚´ê°€ ì´ ì—´ì •ì˜ ê³ ì‚를 놓아서 ìžìœ ë¡œ 달리게 한다고 하면 나는 ì´ ê²½ìš°ì— ì •ìž„ì„ ì•ˆê³ , ë‚´ 열정으로 ì •ìž„ì„ íƒœì›Œ 버렸ì„ëŠ”ì§€ë„ ëª¨ë¥´ì˜¤. 그러나 나는 ì •ìž„ì´ê°€ 열정으로 íƒˆìˆ˜ë¡ ë‚˜ëŠ” ë‚´ ì—´ì •ì˜ ê³ ì‚를 ë‘ ì†ìœ¼ë¡œ 꽉 붙들고 ì´ë¥¼ 악물고 매달릴 ê²°ì‹¬ì„ í•œ 것ì´ì˜¤. -ì—´í•œ ì‹œ! -"ì •ìž„ì•„. ì¸ì œ 병ì›ìœ¼ë¡œ 가거ë¼." -하고 나는 엄연하게 명령하였소. -"ë‚´ì¼ ì €ë¥¼ 보시고 떠나시지요?" -하고 ì •ìž„ì€ ëˆˆë¬¼ì„ ì”»ê³  물었소. -"그럼, Jì¡°êµìˆ˜ë„ 만나고 ë„ˆë„ ë³´ê³  떠나지." -하고 나는 거짓ë§ì„ 하였소. ì´ ê²½ìš°ì— ë‚´ê°€ 거짓ë§ìŸì´ë¼ëŠ” í° ì£„ì¸ì´ ë˜ëŠ” ê²ƒì´ ì •ìž„ì—게 대하여 ì •ìž„ì„ ìœ„í•˜ì—¬ 가장 ì˜³ì€ ì¼ì´ë¼ê³  ìƒê°í•œ 까닭ì´ì˜¤. -ì •ìž„ì€, 무서운 ì§ê°ë ¥ê³¼ ìƒìƒë ¥ì„ 가진 ì •ìž„ì€ ë‚´ ë§ì˜ ì§„ì‹¤ì„±ì„ ì˜ì‹¬í•˜ëŠ” ë“¯ì´ ë‚˜ë¥¼ 뚫어지게 ë°”ë¼ë³´ì•˜ì†Œ. 나는 차마 ì •ìž„ì˜ ì‹œì„ ì„ ë§ˆì£¼ 보지 못하여 외면하여 버렸소. -ì •ìž„ì€ ìˆ˜ê±´ìœ¼ë¡œ ëˆˆë¬¼ì„ ì”»ê³  ì²´ê²½ ì•žì— ê°€ì„œ í™”ìž¥ì„ ê³ ì¹˜ê³  그리고, -"저는 가요." -하고 ë‚´ ì•žì— í—ˆë¦¬ë¥¼ 굽혀서 작별 ì¸ì‚¬ë¥¼ 하였소. -"오, ê°€ ìžê±°ë¼." -하고 나는 극히 범연하게 대답하였소. 나는 ìžë¦¬ì˜·ì„ 입었기 ë•Œë¬¸ì— í˜„ê´€ê¹Œì§€ 작별할 ìˆ˜ë„ ì—†ì–´ì„œ ë³´ì´ë¥¼ 불러 ìžë™ì°¨ë¥¼ 하나 준비하ë¼ê³  명하고 ë‚´ ë°©ì—ì„œ 작별할 ìƒê°ì„ 하였소. -"ë‚´ì¼ ë³‘ì›ì— 오세요?" -하고 ì •ìž„ì€ ê³ ê°œë¥¼ 숙ì´ê³  낙루하였소. -"오, 가마." -하고 나는 ë˜ ê±°ì§“ë§ì„ 하였소. 세ìƒì„ 버리기로 결심한 ì‚¬ëžŒì˜ ê±°ì§“ë§ì€ í•˜ë‚˜ë‹˜ê»˜ì„œë„ ìš©ì„œí•˜ì‹œê² ì§€ìš”. 설사 ë‚´ê°€ 거짓ë§ì„ í•œ 죄로 ì§€ì˜¥ì— ê°„ë‹¤ 하ë”ë¼ë„ ì´ ê²½ìš°ì— ì •ìž„ì„ ìœ„í•˜ì—¬ 거짓ë§ì„ 아니 í•  수가 없지 않소? ë‚´ê°€ 거짓ë§ì„ 아니 하면 ì •ìž„ì€ ì•„ë‹ˆ ê°ˆ ê²ƒì´ ë¶„ëª…í•˜ì˜€ì†Œ. -"ì „ 가요." -하고 ì •ìž„ì€ ë˜ í•œ 번 ì ˆì„ í•˜ì˜€ìœ¼ë‚˜ 소리를 ë‚´ì–´ì„œ 울었소. -"울지 마ë¼! 몸 ìƒí•œë‹¤." -하고 나는 ì •ìž„ì—게 대한 ìµœí›„ì˜ ì¹œì ˆì„ ì •ìž„ì˜ ê³ì— í•œ ê±¸ìŒ ê°€ê¹Œì´ ê°€ì„œ 어깨를 ë˜ë‹¥ë˜ë‹¥í•˜ì—¬ 주고, 외투를 입혀 주었소. -"안녕히 주무세요." -하고 ì •ìž„ì€ ë¬¸ì„ ì—´ê³  나가 버렸소. -ì •ìž„ì˜ ê±¸ì–´ê°€ëŠ” 소리가 차차 멀어졌소. -나는 얼빠진 사람 모양으로 ê·¸ ìžë¦¬ì— ìš°ë‘커니 ì„œ 있었소. -ì°½ì— ë¶€ë”ªížˆëŠ” ë¹—ë°œ 소리가 들리고 ìžë™ì°¨ 소리가 먼 나ë¼ì—ì„œ 오는 ê²ƒê°™ì´ ë“¤ë¦¬ì˜¤. ì´ê²ƒì´ ì •ìž„ì´ê°€ 타고 가는 ìžë™ì°¨ 소리ì¸ê°€. 나는 ì •ìž„ì„ ë”°ë¼ê°€ì„œ 붙들어 오고 싶었소. ë‚´ 몸과 마ìŒì€ ì •ìž„ì„ ë”°ë¼ì„œ í—ˆê³µì— ë– ê°€ëŠ” 것 같았소. -ì•„ì•„ ì´ë ‡ê²Œ 나는 ì •ìž„ì„ ê³ì— ë‘ê³  싶ì„까. ì´ë ‡ê²Œ ë‚´ê°€ ì •ìž„ì˜ ê³ì— 있고 싶ì„까. 그러하건마는 나는 ì •ìž„ì„ ë–¼ì–´ 버리고 가지 아니하면 아니 ëœë‹¤! ê·¸ê²ƒì€ ì• ë“는 ì¼ì´ë‹¤. 기막히는 ì¼ì´ë‹¤! 그러나 ë‚´ ë„ë•ì  ì±…ìž„ì€ ì—„ì •í•˜ê²Œ 그렇게 명령하지 ì•ŠëŠëƒ. 나는 ì´ ë„ë•ì  ì±…ìž„ì˜ ëª…ë ¹ ê·¸ê²ƒì€ ë”위가 없는 명령ì´ë‹¤ ì„ í„¸ë만치ë¼ë„ 휘어서는 아니 ëœë‹¤. -그러나 ì •ìž„ì´ê°€ 호텔 현관까지 ìžë™ì°¨ë¥¼ 타기 ì „ì— í•œ 번만 ë” ë°”ë¼ë³´ëŠ” ê²ƒë„ ëª» í•  ì¼ì¼ê¹Œ. í•œ 번만, ìž ê¹ë§Œ ë” ë°”ë¼ë³´ëŠ” ê²ƒë„ ëª» í•  ì¼ì¼ê¹Œ. ìž ê¹ë§Œ ì¼ ë¶„ë§Œ 아니 ì¼ ì´ˆë§Œ í•œ 시그마ë¼ëŠ” 극히 ì§§ì€ ë™ì•ˆë§Œ ë°”ë¼ë³´ëŠ” ê²ƒë„ ëª» í•  ì¼ì¼ê¹Œ. 아니, ì •ìž„ì„ í•œ 시그마 ë™ì•ˆë§Œ ë” ë³´ê³  싶다 나는 ì´ë ‡ê²Œ ìƒê°í•˜ê³  벌떡 ì¼ì–´ë‚˜ì„œ ë„ì–´ì˜ í•¸ë“¤ì— ì†ì„ 대었소. -`안 ëœë‹¤! 옳잖다!' -하고 나는 ë‚´ ì†ŒíŒŒì— ëŒì•„와서 í„¸ì© ëª¸ì„ ë˜ì¡Œì†Œ. -`ìµœí›„ì˜ ìˆœê°„ì´ ì•„ë‹ˆëƒ. ìµœí›„ì˜ ìˆœê°„ì— ìš©ê°ížˆ ì´ê²¨ì•¼ í•  ê²ƒì´ ì•„ë‹ˆëƒ. ì•„ì„œë¼! ì•„ì„œë¼!' -하고 나는 í˜¼ìž ì£¼ë¨¹ì„ ë¶ˆëˆë¶ˆëˆ ì¥ì—ˆì†Œ. -ì´ ë•Œì— ì§œë°•ì§œë°• 하고 걸어오는 소리가 들리오. ë‚´ ê°€ìŠ´ì€ ìŒë°©ë§ì´ë¡œ ë‘들기는 ê²ƒê°™ì´ ë›°ì—ˆì†Œ. -`설마 ì •ìž„ì¼ê¹Œ.' -í•˜ë©´ì„œë„ ë‚˜ëŠ” ìˆ¨ì„ ì£½ì´ê³  귀를 기울였소. -ê·¸ ë°œìžêµ­ 소리는 분명 ë‚´ 문 ë°–ì— ì™€ì„œ 그쳤소. 그리고는 소리가 없었소. -`ë‚´ ê·€ì˜ í™˜ê°ì¸ê°€.' -하고 나는 í•œìˆ¨ì„ ë‚´ì‰¬ì—ˆì†Œ. -그러나 ë‹¤ìŒ ìˆœê°„ ë˜ ë‘ì–´ 번 ë¬¸ì„ ë‘드리는 소리가 들렸소. -"ì´ì—스." -하고 나는 대답하고 ë¬¸ì„ ë°”ë¼ë³´ì•˜ì†Œ. -ë¬¸ì´ ì—´ë ¸ì†Œ. -들어오는 ì´ëŠ” ì •ìž„ì´ì—ˆì†Œ. -"웬ì¼ì´ëƒ." -하고 나는 엄숙한 태ë„를 지었소. 그것으로 ì¼ ì´ˆì˜ ì¼ì²œë¶„지 ì¼ì´ë¼ë„ 다시 í•œ 번 ë³´ê³  ì‹¶ë˜ ì •ìž„ì„ ë³´ê³  기ì¨ì„ 카무플ë¼ì£¼í•œ 것ì´ì˜¤. -ì •ìž„ì€ ì„œìŠ´ì§€ ì•Šê³  ë‚´ ë’¤ì— ì™€ì„œ ë‚´ êµì˜ì— ëª¸ì„ ê¸°ëŒ€ë©°, -"ì•”ë§Œí•´ë„ ì˜¤ëŠ˜ì´ ë§ˆì§€ë§‰ì¸ ê²ƒë§Œ 같아서, 다시 뵈올 ê¸°ì•½ì€ ì—†ëŠ” 것만 같아서 가다가 ë„ë¡œ 왔습니다. í•œ 번만 ë” ëµ™ê³  ê°ˆ 양으로요. 그래 ë„ë¡œ ì™€ì„œë„ ë“¤ì–´ì˜¬ê¹Œ ë§ê¹Œ 하고 주저주저하다가 ì´ê²ƒì´ 마지막ì¸ë° 하고 용기를 ë‚´ì–´ì„œ 들어왔습니다. ë‚´ì¼ ì €ë¥¼ 보시고 가신다는 ê²ƒì´ ë¶€ëŸ¬ 하신 ë§ì”€ë§Œ 같고, 마지막 뵈옵고, ëµˆì˜¨ëŒ€ë„ ê·¸ëž˜ë„ í•œ 번 ë” ëµˆì˜µê¸°ë§Œ í•´ë„……." -하고 ì •ìž„ì˜ ë§ì€ ëì„ ì•„ë¬¼ì§€ 못하였소. 그는 ë‚´ 등 ë’¤ì— ì„œ 있기 ë•Œë¬¸ì— ê·¸ê°€ ì–´ë– í•œ í‘œì •ì„ í•˜ê³  있는지는 ë³¼ 수가 없었소. 나는 다만 ì•„ë²„ì§€ì˜ ìœ„ì—„ìœ¼ë¡œ ì •ë©´ì„ ë°”ë¼ë³´ê³  ìžˆì—ˆì„ ë¿ì´ì˜¤. -`ì •ìž„ì•„, ë‚˜ë„ ë„¤ê°€ ë³´ê³  싶었다. 네 뒤를 ë”°ë¼ê°€ê³  싶었다. ë‚´ 몸과 마ìŒì€ 네 뒤를 ë”°ë¼ì„œ 허공으로 날았다. 나는 너를 í•œ ì´ˆë¼ë„ í•œ ì´ˆì˜ ì²œë¶„ì§€ ì¼ ë™ì•ˆì´ë¼ë„ í•œ 번 ë” ë³´ê³  싶었다. ì •ìž„ì•„, ë‚´ ì§„ì •ì€ ë„ˆë¥¼ 언제든지 ë‚´ ê³ì— ë‘ê³  싶다. ì •ìž„ì•„, 지금 ë‚´ ìƒëª…ì´ ê°€ì§„ ê²ƒì€ ì˜¤ì§ ë„ˆë¿ì´ë‹¤.' -ì´ëŸ° ë§ì´ë¼ë„ 하고 싶었소. 그러나 ì´ëŸ° ë§ì„ 하여서는 아니 ë˜ì˜¤! ë§Œì¼ ë‚´ê°€ ì´ëŸ° ë§ì„ 하여 준다면 ì •ìž„ì´ê°€ 기ë»í•˜ê² ì§€ìš”. 그러나 나는 ì •ìž„ì´ì—게 ì´ëŸ° 기ì¨ì„ 주어서는 아니 ë˜ì˜¤! -나는 어디까지든지 ì•„ë²„ì§€ì˜ ìœ„ì—„, ì•„ë²„ì§€ì˜ ëƒ‰ì •í•¨ì„ ì•„ë‹ˆ 지켜서는 아니 ë˜ì˜¤. -그렇지마는 ë‚´ ê°€ìŠ´ì— íƒ€ì˜¤ë¥´ëŠ” ì´ë¦„ì§€ì„ ìˆ˜ 없는 ì—´ì •ì˜ ë¶ˆê¸¸ì€ ë‚´ ì´ì„±ê³¼ ì˜ì§€ë ¥ì„ 태워 버리려 하오. 나는 ëˆˆì´ ì•„ëœ©ì•„ëœ©í•¨ì„ ê¹¨ë‹«ì†Œ. 나는 ë‚´ ìƒëª…ì˜ ë¶ˆê¸¸ì´ ê¹œë°•ê¹œë°•í•¨ì„ ê¹¨ë‹«ì†Œ. -그렇지마는! ì•„ì•„ 그렇지마는 나는 ì´ ë„ë•ì  ì±…ìž„ì˜ ë¬´ìƒ ëª…ë ¹ì˜ ë°œë ¹ìžì¸ ì“´ ìž”ì„ ë§ˆì‹œì§€ 아니하여서는 아니 ë˜ëŠ” 것ì´ì˜¤. -`ì‚°! 바위!' -나는 ì •ì‹ ì„ ê°€ë‹¤ë“¬ì–´ì„œ ì´ê²ƒì„ 염하였소. -그러나 ì—´ì •ì˜ íŒŒë„ê°€ 치는 ê³³ì— ì‚°ì€ ì›€ì§ì´ì§€ 아니하오? 바위는 í”들리지 아니하오? 태산과 ë°˜ì„ì´ ê·¸ í° ë¶ˆê¸¸ì— íƒ€ì„œ 재가 ë˜ì§€ëŠ” 아니하오? ì¸ìƒì˜ 모든 힘 ê°€ìš´ë° ì—´ì •ë³´ë‹¤ ë” í­ë ¥ì ì¸ ê²ƒì´ ì–´ë”” 있소? ì•„ë§ˆë„ ìš°ì£¼ì˜ ëª¨ë“  힘 ê°€ìš´ë° ì‚¬ëžŒì˜ ì—´ì •ê³¼ ê°™ì´ í­ë ¥ì , 불가항력ì ì¸ ê²ƒì€ ì—†ìœ¼ë¦¬ë¼. 뇌성, 벽력, 글쎄 그것ì—나 비길까. ì°¨ë¼ë¦¬ 천체와 천체가 수학ì ìœ¼ë¡œ 계산할 수 없는 비ìƒí•œ ì†ë ¥ì„ 가지고 마주 달려들어서 ìš°ë¦¬ì˜ ê·€ë¡œ ë“¤ì„ ìˆ˜ 없는 í° ì†Œë¦¬ì™€ 우리가 굳다고 ì¼ì»«ëŠ” 금강ì„ì´ë¼ë„ ì¦ê¸°ë¥¼ 만들고야 ë§ ë§Œí•œ ì—´ì„ ë°œí•˜ëŠ” 충ëŒì˜ 순간ì—나 비길까. 형. 사람ì´ë¼ëŠ” 존재가 ìš°ì£¼ì˜ ëª¨ë“  존재 ì¤‘ì— ê°€ìž¥ 비ìƒí•œ ì¡´ìž¬ì¸ ê²ƒ 모양으로 ì‚¬ëžŒì˜ ì—´ì •ì˜ íž˜ì€ ìš°ì£¼ì˜ ëª¨ë“  신비한 힘 ê°€ìš´ë° ê°€ìž¥ 신비한 íž˜ì´ ì•„ë‹ˆê² ì†Œ? 대체 ìš°ì£¼ì˜ ëª¨ë“  íž˜ì€ ê·¸ê²ƒì´ ì•„ë¬´ë¦¬ í° íž˜ì´ë¼ê³  하ë”ë¼ë„ ì € ìžì‹ ì„ 깨뜨리는 ê²ƒì€ ì—†ì†Œ. 그렇지마는 사람ì´ë¼ëŠ” ì¡´ìž¬ì˜ ì—´ì •ì€ ëŠ¥ížˆ ì œ ìƒëª…ì„ ê¹¨ëœ¨ë ¤ 가루를 만들고 ì œ ìƒëª…ì„ ì‚´ë¼ì„œ 소지를 올리지 아니하오? 여보, 대체 ì´ì—ì„œ ë” í­ë ¥ì´ìš”, 신비ì ì¸ ê²ƒì´ ì–´ë”” 있단 ë§ì´ì˜¤. -ì´ ë•Œ ë‚´ ìƒíƒœ, 어깨 ë’¤ì—ì„œ 열정으로 타고 섰는 ì •ìž„ì„ ëŠë¼ëŠ” ë‚´ ìƒíƒœëŠ” 바야íë¡œ 대í­ë°œ, 대충ëŒì„ 기다리는 아슬아슬한 때가 아니었소. ë§Œì¼ ì¡°ê¸ˆë§Œì´ë¼ë„ ë‚´ê°€ ë‚´ ì—´ì •ì˜ ê³ ì‚ì— ëŠ¦ì¶¤ì„ ì¤€ë‹¤ê³  하면 무서운 대í­ë°œì´ ì¼ì–´ë‚¬ì„ 것ì´ì˜¤. -"ì •ìž„ì•„!" -하고 나는 충분히 마ìŒì„ 진정해 가지고 고개를 옆으로 ëŒë ¤ ì •ìž„ì˜ ì–¼êµ´ì„ ì°¾ì•˜ì†Œ. -"네ì—." -하고 ì •ìž„ì€ ìž…ì„ ì•½ê°„ ë‚´ ê·€ 가까ì´ë¡œ 가져와서 ê·¸ 씨근거리는 소리가 분명히 ë‚´ ê·€ì— ë“¤ë¦¬ê³  ê·¸ 후ëˆí›„ëˆí•˜ëŠ” 뜨거운 ìž…ê¹€ì´ ë‚´ 목과 ëº¨ì— ê°ê°ë˜ì—ˆì†Œ. -억지로 ì§„ì •í•˜ì˜€ë˜ ë‚´ ê°€ìŠ´ì€ ë‹¤ì‹œ 설레기를 시작하였소. ê·¸ 불규칙한 숨소리와 뜨거운 ìž…ê¹€ 때문ì´ì—ˆì„까. -"시간 늦는다. ì–´ì„œ 가거ë¼. ì´ ì•„ë²„ì§€ëŠ” 언제까지든지 너를 사랑하는 딸 ë¡œ 소중히 소중히 ê°€ìŠ´ì— í’ˆê³  있으마. ë˜ í›„ì¼ì— 다시 만날 ë•Œë„ ìžˆì„지 ì•„ëŠëƒ. 설사 다시 만날 때가 없다기로니 ê·¸ê²ƒì´ ë¬´ì—‡ì´ ê·¸ë¦¬ 대수ëƒ. ë‚˜ì´ ë§Žì€ ì‚¬ëžŒì€ ë¨¼ì € 죽고 ì Šì€ ì‚¬ëžŒì€ ì˜¤ëž˜ ì‚´ì•„ì„œ ì¸ìƒì˜ ì¼ì„ ë§Žì´ í•˜ëŠ” ê²ƒì´ ìˆœì„œê°€ 아니ëƒ. 너는 ëª¸ì´ ì•„ì§ ì•½í•˜ë‹ˆ 마ìŒì„ 잘 안정해서 ì–´ì„œ ê±´ê°•ì„ íšŒë³µí•˜ì—¬ë¼. 그리고 굳세게 굳세게, 힘있게 힘있게 ì‚´ì•„ 다오. ì¡°ì„ ì€ ì‚¬ëžŒì„ êµ¬í•œë‹¤. 나 ê°™ì€ ì‚¬ëžŒì€ ì¸ì œ ì¡°ì„ ì„œ ë” ì¼í•  ìžê²©ì„ 잃어버린 사람ì´ì§€ë§ˆëŠ” 네야 ì–´ë– ëƒ. 설사 누가 무슨 ë§ì„ í•´ì„œ í•™êµì—ì„œ 학비를 아니 준다거든 ë‚´ê°€ 네게 준 ìž¬ì‚°ì„ ê°€ì§€ê³  네 마ìŒëŒ€ë¡œ 공부를 하려무나. 네가 그렇게 í•´ 주어야 나를 위하는 것ì´ë‹¤. ìž ì¸ì œ 가거ë¼. 네 ì•žê¸¸ì´ ì–‘ì–‘í•˜ì§€ 아니하ëƒ. ìž ì¸ì œ 가거ë¼. 나는 ë‚´ì¼ ì•„ì¹¨ ë™ê²½ì„ 떠날란다. ìž ì–´ì„œ." -하고 나는 í™”í‰í•˜ê²Œ 웃는 낯으로 ì¼ì–´ì„°ì†Œ. -ì •ìž„ì€ ìš¸ë¨¹ìš¸ë¨¹í•˜ê³  고개를 숙ì´ì˜¤. -ë°–ì—서는 ë°”ëžŒì´ ì ì  강해져서 소리를 하고 ìœ ë¦¬ì°½ì„ í”드오. -"그럼, ì „ 가요." -하고 ì •ìž„ì€ ê³ ê°œë¥¼ 들었소. -"그래. ì–´ì„œ 가거ë¼. ë²Œì¨ ì—´í•œì‹œ ë°˜ì´ë‹¤. ë³‘ì› ë¬¸ì€ ì•„ë‹ˆ 닫니!" -ì •ìž„ì€ ëŒ€ë‹µì´ ì—†ì†Œ. -"ì–´ì„œ!" -하고 나는 ë³´ì´ë¥¼ 불러 ìžë™ì°¨ë¥¼ 하나 준비하ë¼ê³  ì¼ë €ì†Œ. -"ê°ˆëžë‹ˆë‹¤." -하고 ì •ìž„ì€ ê³ ê°œë¥¼ 숙여서 내게 ì¸ì‚¬ë¥¼ 하고 ë¬¸ì„ í–¥í•˜ì—¬ í•œ ê±¸ìŒ ê±·ë‹¤ê°€ ìž ê¹ ì£¼ì €í•˜ë”니, 다시 ëŒì•„서서, -"저를 í•œ 번만 안아 주셔요. 아버지가 어린 ë”¸ì„ ì•ˆë“¯ì´ í•œ 번만 안아 주셔요." -하고 ë‚´ 앞으로 ê°€ê¹Œì´ ì™€ 서오. -나는 íŒ”ì„ ë²Œë ¤ 주었소. ì •ìž„ì€ ë‚´ ê°€ìŠ´ì„ í–¥í•˜ê³  ëª¸ì„ ë˜ì¡Œì†Œ. 그리고 ì œ ì´ëº¨ ì €ëº¨ì„ ë‚´ ê°€ìŠ´ì— ëŒ€ê³  비ë³ì†Œ. 나는 ë‘ íŒ”ì„ ì •ìž„ì˜ ì–´ê¹¨ ìœ„ì— ê°€ë²¼ì´ ë†“ì•˜ì†Œ. -ì´ëŸ¬í•œ 지 몇 ë¶„ì´ ì§€ë‚¬ì†Œ. 아마 ì¼ ë¶„ë„ ë‹¤ 못 ë˜ì—ˆëŠ”지 모르오. -ì •ìž„ì€ ë‚´ 가슴ì—ì„œ 고개를 들어 나를 뚫어지게 우러러보ë”니, 다시 ë‚´ ê°€ìŠ´ì— ë‚¯ì„ ëŒ€ë”니 아마 ë‚´ ì‹¬ìž¥ì´ ë¬´ì„­ê²Œ 뛰는 소리를 ì •ìž„ì€ ë“¤ì—ˆì„ ê²ƒì´ì˜¤ ì •ìž„ì€ ë‹¤ì‹œ 고개를 들고, -"어디를 가시든지 편지나 주셔요." -하고 êµµì€ ëˆˆë¬¼ì„ ë–¨êµ¬ê³ ëŠ” 내게서 물러서서 ë˜ í•œ 번 절하고, -"안녕히 가셔요. 만주든지 ì•„ë ¹ì´ë“ ì§€ ì¡°ì„  사람 ë§Žì´ ì‚¬ëŠ” ê³³ì— ê°€ì…”ì„œ ì¼í•˜ê³  사셔요. ëŒì•„가실 ìƒê°ì€ 마셔요. 제가, 아버지 ë§ì”€ëŒ€ë¡œ í˜¼ìž ë–¨ì–´ì ¸ 있으니 ì•„ë²„ì§€ë„ ì œ ë§ì”€ëŒ€ë¡œ ëŒì•„가실 ìƒê°ì€ 마셔요, 네, 그렇다고 대답하셔요!" -하고는 ë˜ í•œ 번 ë‚´ ê°€ìŠ´ì— ëª¸ì„ ê¸°ëŒ€ì˜¤. -죽기를 결심한 나는 `오ëƒ, 그러마.' 하는 ëŒ€ë‹µì„ í•  수는 없었소. 그래서, -"오, ë‚´ ì‚´ë„ë¡ íž˜ì“°ë§ˆ." -하는 약ì†ì„ 주어서 ì •ìž„ì„ ëŒë ¤ë³´ëƒˆì†Œ. -ì •ìž„ì˜ ë°œìžêµ­ 소리가 안 들리게 ëœ ë•Œì— ë‚˜ëŠ” 빠른 걸ìŒìœ¼ë¡œ ì˜¥ìƒ ì •ì›ìœ¼ë¡œ 나갔소. 비가 막 뿌리오. -나는 ì •ìž„ì´ê°€ 타고 나가는 ìžë™ì°¨ë¼ë„ ë³¼ 양으로 호텔 현관 ì•žì´ ë³´ì´ëŠ” 꼭대기로 올ë¼ê°”소. í˜„ê´€ì„ ë– ë‚œ ìžë™ì°¨ 하나가 전찻길로 나서서는 ë¶ì„ 향하고 달아나서 순ì‹ê°„ì— ê·¸ ê½ë¬´ë‹ˆì— 달린 ë¶‰ì€ ë¶ˆì¡°ì°¨ 스러져 버리고 ë§ì•˜ì†Œ. -나는 미친 사람 모양으로, -"ì •ìž„ì•„, ì •ìž„ì•„!" -하고 ìˆ˜ì—†ì´ ë¶ˆë €ì†Œ. 나는 사 층ì´ë‚˜ ë˜ëŠ” ì´ ê¼­ëŒ€ê¸°ì—ì„œ 뛰어내려서 ì •ìž„ì´ê°€ 타고 ê°„ ìžë™ì°¨ì˜ 뒤를 따르고 싶었소. -"ì•„ì•„ ì˜ì›í•œ ì¸ìƒì˜ ì´ë³„!" -나는 ê·¸ 옥ìƒì— 얼마나 오래 ì„°ë˜ì§€ë¥¼ 모르오. ë‚´ 머리와 낯과 배스로브ì—서는 ë¬¼ì´ í르오. ë°©ì— ë“¤ì–´ì˜¤ë‹ˆ ì •ìž„ì´ê°€ ë¼ì¹˜ê³  ê°„ 향기와 추억만 남았소. -나는 ë°© 안 구ì„구ì„ì— ì •ìž„ì˜ ëª¨ì–‘ì´ ë³´ì´ëŠ” ê²ƒì„ ê¹¨ë‹¬ì•˜ì†Œ. 특별히 ì •ìž„ì´ê°€ 고개를 숙ì´ê³  ì„œ ìžˆë˜ ë‚´ êµì˜ ë’¤ì—는 분명히 갈색 외투를 ìž…ì€ ì •ìž„ì˜ ëª¨ì–‘ì´ ì™„ì—°í•˜ì˜¤. -"ì •ìž„ì•„!" -하고 나는 ê·¸ 곳으로 ë”°ë¼ê°€ì˜¤. 그러나 가면 거기는 ì •ìž„ì€ ì—†ì†Œ. -나는 êµì˜ì— 앉소. 그러면 ì •ìž„ì˜ ì”¨ê·¼ì”¨ê·¼í•˜ëŠ” 숨소리와 ë”ìš´ ìž…ê¹€ì´ ë¶„ëª… ë‚´ ì˜¤ë¥¸íŽ¸ì— ê°ê°ì´ ë˜ì˜¤. ì•„ì•„ 무서운 환ê°ì´ì—¬! -나는 ìžë¦¬ì— 눕소. 그리고 ì •ìž„ì˜ í™˜ê°ì„ 피하려고 ë¶ˆì„ ë„오. 그러면 ì •ìž„ì´ê°€ 내게 ì•ˆê¸°ë˜ ìžë¦¬ì¯¤ì— 환하게 ì •ìž„ì˜ ëª¨ì–‘ì´ ë‚˜íƒ€ë‚˜ì˜¤. -나는 ë¶ˆì„ ì¼œì˜¤. ë˜ ë¶ˆì„ ë„오. -ë‚ ì´ ë°ìž 나는 비가 ê°  ê²ƒì„ ë‹¤í–‰ìœ¼ë¡œ ë¹„í–‰ìž¥ì— ë‹¬ë ¤ê°€ì„œ 비행기를 얻어 탔소. -나는 다시 ì¡°ì„ ì˜ í•˜ëŠ˜ì„ í†µê³¼í•˜ê¸°ê°€ ì‹«ì–´ì„œ ë¶ê°•ì—ì„œ 비행기ì—ì„œ 내려서 ë¬¸ì‚¬ì— ì™€ì„œ 대련으로 가는 배를 탔소. -나는 대련ì—ì„œ 내려서 í•˜ë£»ë°¤ì„ ì—¬ê´€ì—ì„œ ìžê³ ëŠ” 곧 장춘 가는 ê¸‰í–‰ì„ íƒ”ì†Œ. 물론 아무ì—ê²Œë„ ì—½ì„œ í•œ 장 í•œ ì¼ ì—†ì—ˆì†Œ. ê·¸ê²ƒì€ ì¸ì—°ì„ ëŠì€ 세ìƒì— 대하여 ì—°ì—°í•œ 마ìŒì„ 가지는 ê²ƒì„ ë¶€ë„럽게 ìƒê°í•œ 까닭ì´ì˜¤. -차가 옛날ì—는 우리 ì¡°ìƒë„¤ê°€ ì‚´ê³  문화를 ì§“ë˜ ì˜› í„°ì „ì¸ ë§Œì£¼ì˜ ë²ŒíŒì„ 달릴 ë•Œì—는 ê°íšŒë„ 없지 아니하였소. 그러나 나는 지금 그런 한가한 ê°ìƒì„ 쓸 ê²¨ë¥¼ì´ ì—†ì†Œ. -ë‚´ê°€ 믿고 가는 ê³³ì€ í•˜ì–¼ë¹ˆì— ìžˆëŠ” ì–´ë–¤ 친구요. 그는 Rë¼ëŠ” 사람으로서 ê²½ìˆ ë…„ì— A씨 ë“±ì˜ ë§ëª…ê°ì„ ë”°ë¼ ë‚˜ê°”ë‹¤ê°€ ì•„ë¼ì‚¬ì—ì„œ 무관 í•™êµë¥¼ 졸업하고 ì•„ë¼ì‚¬ 사관으로서 구주 대전ì—ë„ ì¶œì •ì„ í•˜ì˜€ë‹¤ê°€, í˜ëª… 후ì—ë„ ì´ë‚´ ì ìœ„êµ°ì— ë¨¸ë¬¼ëŸ¬ì„œ 지금까지 소비ì—트 장êµë¡œ 있는 사람ì´ì˜¤. ì§€ê¸ˆì€ ìœ¡êµ° 소장ì´ë¼ë˜ê°€. -나는 í•˜ì–¼ë¹ˆì— ê·¸ ì‚¬ëžŒì„ ì°¾ì•„ê°€ëŠ” 것ì´ì˜¤. ê·¸ ì‚¬ëžŒì„ ì°¾ì•„ì•¼ ì•„ë¼ì‚¬ì— 들어갈 ì—¬í–‰ê¶Œì„ ì–»ì„ ê²ƒì´ìš”, ì—¬í–‰ê¶Œì„ ì–»ì–´ì•¼ ë‚´ê°€ í‰ì†Œì— ì´ìƒí•˜ê²Œë„ ê·¸ë¦¬ì›Œí•˜ë˜ ë°”ì´ì¹¼ 호를 ë³¼ 것ì´ì˜¤. -í•˜ì–¼ë¹ˆì— ë‚´ë¦° ê²ƒì€ í•´ê°€ 뉘엿뉘엿 넘어가는 ì„ì–‘ì´ì—ˆì†Œ. -나는 ì•ˆì¤‘ê·¼ì´ ì´ë“±ë°•ë¬¸(伊藤åšæ–‡:ì´í†  히로부미)ì„ ìœ ê³³ì´ ì–´ë”˜ê°€ 하고 벌íŒê³¼ ê°™ì´ ë„“ì€ í”Œëž«í¼ì— 내렸소. 과연 êµ­ì œ ë„ì‹œë¼ ì„œì–‘ 사람, 중국 사람, ì¼ë³¸ ì‚¬ëžŒì´ ê°ê¸° ì œ ë§ë¡œ 지껄ì´ì˜¤. ì•„ì•„ ì¡°ì„  ì‚¬ëžŒë„ ìžˆì„ ê²ƒì´ì˜¤ë§ˆëŠ” 다들 ì–‘ë³µì„ ìž…ê±°ë‚˜ ì²­ë³µì„ ìž…ê±°ë‚˜ 하고 ë˜ ì‚¬ëžŒì´ ë§Žì€ ê³³ì—서는 ë§ë„ 잘 하지 아니하여 ì•„ë¬´ìª¼ë¡ ì¡°ì„  ì‚¬ëžŒì¸ ê²ƒì„ í‘œì‹œí•˜ì§€ 아니하는 íŒì´ë¼ ê·¸ 골격과 í‘œì •ì„ ì‚´í”¼ê¸° ì „ì—는 ì–´ëŠ ê²ƒì´ ì¡°ì„  사람ì¸ì§€ ì•Œ ê¸¸ì´ ì—†ì†Œ. 아마 허름하게 차리고 기운 ì—†ì´, 비창한 ë¹›ì„ ë ê³  ì‚¬ëžŒì˜ ëˆˆì„ ìŠ¬ìŠ¬ 피하는 ì € 순하게 ìƒê¸´ ì‚¬ëžŒë“¤ì´ ì¡°ì„  사람ì´ê² ì§€ìš”. 언제나 í•œ 번 가는 곳마다 ë™ì–‘ì´ë“ ì§€, 서양ì´ë“ ì§€, -`나는 ì¡°ì„  사람ì´ì˜¤!' -하고 ë½ë‚´ê³  ë‹¤ë‹ ë‚ ì´ ìžˆì„까 하면 ëˆˆë¬¼ì´ ë‚˜ì˜¤. ë”구나, 하얼빈과 ê°™ì€ ê°ìƒ‰ ì¸ì¢…ì´ ëª¨ì—¬ì„œ ìƒì¡´ ê²½ìŸì„ 하는 ë§ˆë‹¹ì— ì„œì„œ ì´ëŸ° 비ê°ì´ 간절하오. ì•„ì•„ ì´ ë¶ˆìŒí•œ ìœ ëž‘ì˜ ë¬´ë¦¬ ì¤‘ì— ë‚˜ë„ í•˜ë‚˜ë¥¼ ë” ë³´íƒœëŠ”ê°€ 하면 ëˆˆë¬¼ì„ ì”»ì§€ 아니할 수 없었소. -나는 ì—­ì—ì„œ 나와서 ì–´ë–¤ ì•„ë¼ì‚¬ 병정 하나를 붙들고 Rì˜ ì•„ë¼ì‚¬ ì´ë¦„ì„ ë¶ˆë €ì†Œ. 그리고 ì•„ëŠëƒê³  ì˜ì–´ë¡œ 물었소. -ê·¸ ë³‘ì •ì€ ë‚´ ë§ì„ 잘못 알아들었는지, ë˜ëŠ” R를 모르는지 무엇ì´ë¼ê³  ì•„ë¼ì‚¬ë§ë¡œ 지껄ì´ëŠ” 모양ì´ë‚˜ 나는 물론 ê·¸ê²ƒì„ ì•Œì•„ë“¤ì„ ìˆ˜ê°€ 없었소. 그러나 나는 ê·¸ ë³‘ì •ì˜ í‘œì •ì—ì„œ 내게 호ì˜ë¥¼ 가진 ê²ƒì„ ì§ìž‘하고 í•œ 번 ë” ë¶„ëª…ížˆ, -"요십 알렉산드로비치 리가ì´." -ë¼ê³  불러 보았소. -ê·¸ ë³‘ì •ì€ ë¹™ê·¸ë ˆ 웃고 고개를 í”드오. ì´ ë‘ ì™¸êµ­ ì‚¬ëžŒì˜ ì´ìƒí•œ êµì„­ì— í¥ë¯¸ë¥¼ 가지고 여러 ì•„ë¼ì‚¬ 병정과 ë™ì–‘ ì‚¬ëžŒë“¤ì´ ì‹­ì—¬ ì¸ì´ë‚˜ 우리 ì£¼ìœ„ì— ëª¨ì—¬ë“œì˜¤. -ê·¸ ë³‘ì •ì´ ë‚˜ë¥¼ ë°”ë¼ë³´ê³  ë˜ í•œ 번 ê·¸ ì´ë¦„ì„ ë¶ˆëŸ¬ ë³´ë¼ëŠ” 모양 같기로 나는 ì´ë²ˆì—는 Rì˜ ì•„ë¼ì‚¬ ì´ë¦„ì— `제너럴'ì´ë¼ëŠ” ë§ì„ 붙여 불러 보았소. -그랬ë”니 ì–´ë–¤ 다른 ë³‘ì •ì´ ë›°ì–´ë“¤ë©°, -"게네ë¼ìš° 리가ì´!" -하고 안다는 í‘œì •ì„ í•˜ì˜¤. `게네ë¼ìš°'ë¼ëŠ” ê²ƒì´ ì•„ë§ˆ ì•„ë¼ì‚¬ë§ë¡œ 장군ì´ëž€ ë§ì¸ê°€ 하였소. -"예스. 예스." -하고 나는 기ì˜ê²Œ 대답하였소. 그리고는 ì•„ë¼ì‚¬ 병정들ë¼ë¦¬ 무ì—ë¼ê³  지껄ì´ë”니, ê·¸ ì¤‘ì— í•œ ë³‘ì •ì´ ë‚˜ì„œë©´ì„œ 고개를 ë„ë•ë„ë•í•˜ê³ , 제가 마차 하나를 불러서 나를 태우고 ì €ë„ íƒ€ê³  어디로 달려가오. -ê·¸ ì•„ë¼ì‚¬ ë³‘ì •ì€ ì¹œì ˆížˆ ì•Œì§€ë„ ëª»í•˜ëŠ” ë§ë¡œ ì´ê²ƒì €ê²ƒì„ 가리키면서 ì„¤ëª…ì„ í•˜ë”니 ë‚´ê°€ 못 알아듣는 ì¤„ì„ ìƒê°í•˜ê³  ë‚´ 어깨를 툭 치고 웃소. 어린애와 ê°™ì´ ìˆœí•œ 사람들ì´êµ¬ë‚˜ 하고 나는 고맙다는 표로 고개만 ë„ë•ë„ë•í•˜ì˜€ì†Œ. -어디로 어떻게 가는지 서양 시가로 달려가다가 ì–´ë–¤ í° ì €íƒ ì•žì— ì´ë¥´ëŸ¬ì„œ 마차를 ê·¸ 현관 앞으로 들ì´ëª°ì•˜ì†Œ. -현관ì—서는 ì¢…ì¡¸ì´ ë‚˜ì™”ì†Œ. ë‚´ê°€ ëª…í•¨ì„ ë“¤ì—¬ë³´ëƒˆë”니 ë¶€ê´€ì¸ ë“¯í•œ ì•„ë¼ì‚¬ 장êµê°€ 나와서 나를 으리으리한 ì‘접실로 ì¸ë„하였소. 얼마 있노ë¼ë‹ˆ ì¤‘ë…„ì´ ë„˜ì€ ì–´ë–¤ ëŒ€ìž¥ì´ ë‚˜ì˜¤ëŠ”ë° êµ°ë³µì— ì¹¼ëˆë§Œ 늘였소. -"ì´ê²Œ 누구요." -하고 ê·¸ ëŒ€ìž¥ì€ ë‹¬ë ¤ë“¤ì–´ì„œ 나를 껴안았소. ì´ì‹­ì˜¤ ë…„ ë§Œì— ë§Œë‚˜ëŠ” 우리는 서로 알아본 것ì´ì˜¤. -ì´ìœ½ê³  나는 ê·¸ì˜ ë¶€ì¸ê³¼ ìžë…€ë“¤ë„ 만났소. ê·¸ë“¤ì€ ë‹¤ ì•„ë¼ì‚¬ 사람ì´ì˜¤. -ì €ë…ì´ ëë‚œ ë’¤ì— ë‚˜ëŠ” Rì˜ ë¶€ì¸ê³¼ ë”¸ì˜ ìŒì•…ê³¼ 그림 구경과 ê¸°íƒ€ì˜ ê´€ëŒ€ë¥¼ 받고 ë‹¨ë‘˜ì´ ì´ì•¼ê¸°í•  기회를 얻었소. 경술년 당시 ì´ì•¼ê¸°ë„ 나오고, Aì”¨ì˜ ì´ì•¼ê¸°ë„ 나오고, Rì˜ ì‹ ì„¸ íƒ€ë ¹ë„ ë‚˜ì˜¤ê³ , ë‚´ ì´ì‹­ì˜¤ ë…„ ê°„ì˜ ìƒí™œ ì´ì•¼ê¸°ë„ 나오고, 소비ì—트 í˜ëª… ì´ì•¼ê¸°ë„ 나오고, 하얼빈 ì´ì•¼ê¸°ë„ 나오고, 우리네가 어려서 서로 ì‚¬ê·€ë˜ íšŒêµ¬ë‹´ë„ ë‚˜ì˜¤ê³  ì´ì•¼ê¸°ê°€ 그칠 바를 몰ëžì†Œ. "ì¡°ì„ ì€ ê·¸ë¦½ì§€ ì•Šì€ê°€." -하는 ë‚´ ë§ì— ì¾Œí™œí•˜ë˜ R는 고개를 숙ì´ê³  추연한 ë¹›ì„ ë³´ì˜€ì†Œ. -나는 Rì˜ ì¶”ì—°í•œ 태ë„를 아마 ê³ êµ­ì„ ê·¸ë¦¬ì›Œí•˜ëŠ” 것으로만 여겼소. 그래서 나는 그리 침ìŒí•˜ëŠ” ê²ƒì„ ë³´ê³ , -"얼마나 ê³ êµ­ì´ ê·¸ë¦½ê² ë‚˜. 나는 ê³ êµ­ì„ ë– ë‚œ 지가 ì¼ ì£¼ì¼ë„ 안 ë˜ê±´ë§ˆëŠ” 못 견디게 그리운ë°." -하고 ë™ì •í•˜ëŠ” ë§ì„ 하였소. -í–ˆë”니, ì´ ë§ ë³´ì‹œì˜¤. 그는 침ìŒì„ 깨뜨리고 고개를 ë²ˆì© ë“¤ë©°, -"아니! 나는 ê³ êµ­ì´ ì¡°ê¸ˆë„ ê·¸ë¦½ì§€ 아니하ì´. ë‚´ê°€ 지금 ìƒê°í•œ ê²ƒì€ ìžë„¤ ë§ì„ 듣고 ê³ êµ­ì´ ê·¸ë¦¬ìš´ê°€ 그리워할 ê²ƒì´ ìžˆëŠ”ê°€ë¥¼ ìƒê°í•´ 본 것ì¼ì„¸. 그랬ë”니 아무리 ìƒê°í•˜ì—¬ë„ 나는 ê³ êµ­ì´ ê·¸ë¦½ë‹¤ëŠ” ìƒê°ì„ 가질 수가 없어. 그야 어려서 ìžë¼ë‚  ë•Œì— ë³´ë˜ ê°•ì‚°ì´ë¼ë“ ì§€ ë‚´ ê¸°ì–µì— ë‚¨ì€ ì•„ëŠ” 사람들ì´ë¼ë“ ì§€, ë³´ê³  싶다 하는 ìƒê°ë„ 없지 아니하지마는 ê·¸ê²ƒì´ ê³ êµ­ì´ ê·¸ë¦¬ìš´ 것ì´ë¼ê³  í•  수가 있ì„까. ê·¸ ë°–ì—는 나는 아무리 ìƒê°í•˜ì—¬ë„ ê³ êµ­ì´ ê·¸ë¦¬ìš´ ê²ƒì„ ì°¾ì„ ê¸¸ì´ ì—†ë„¤. ë‚˜ë„ ì§€ê¸ˆ ìžë„¤ë¥¼ ë³´ê³  ë˜ ìžë„¤ ë§ì„ 듣고 오래 ìžŠì–´ë²„ë ¸ë˜ ê³ êµ­ì„ ì¢€ 그립게, 그립다 하게 ìƒê°í•˜ë ¤ê³  í•´ 보았지마는 ë„무지 나는 ê³ êµ­ì´ ê·¸ë¦½ë‹¤ëŠ” ìƒê°ì´ 나지 않네." -ì´ ë§ì— 나는 ê¹œì§ ë†€ëžì†Œ. 몸서리치게 무서웠소. 나는 í•´ì™¸ì— ì˜¤ëž˜ 표랑하는 ì‚¬ëžŒì€ ìœ¼ë ˆ ê³ êµ­ì„ ê·¸ë¦¬ì›Œí•  것으로 믿고 있었소. ê·¸ëŸ°ë° ì´ ì‚¬ëžŒì´, ì¼ì°ì€ ê³ êµ­ì„ ì‚¬ëž‘í•˜ì—¬ ëª©ìˆ¨ê¹Œì§€ë„ ë°”ì¹˜ë ¤ë˜ ì´ ì‚¬ëžŒì´ ë„무지 ì´ì²˜ëŸ¼ ê³ êµ­ì„ ìžŠì–´ë²„ë¦°ë‹¤ëŠ” ê²ƒì€ ë†€ë¼ìš´ ì •ë„를 지나서 괘씸하기 그지없었소. ë‚˜ë„ ë¹„ë¡ ì¡°ì„ ì„ ë– ë‚œë‹¤ê³ , ì˜ì›ížˆ 버린다고 나서기는 했지마는 나로는 죽기 ì „ì—는 아니 ë¹„ë¡ ì£½ë”ë¼ë„ 잊어버리지 못할 ê³ êµ­ì„ ìžŠì–´ë²„ë¦° Rì˜ ì‹¬ì‚¬ê°€ 난측하고 ì›ë§ìŠ¤ëŸ¬ì› ì†Œ. -"ê³ êµ­ì´ ê·¸ë¦½ì§€ê°€ ì•Šì•„?" -하고 Rì—게 묻는 ë‚´ 어성ì—는 격분한 ë¹›ì´ ìžˆì—ˆì†Œ. -"ì´ìƒí•˜ê²Œ ìƒê°í•˜ì‹œê² ì§€. 하지만 ê³ êµ­ì— ë¬´ìŠ¨ 그리울 ê²ƒì´ ìžˆë‹¨ ë§ì¸ê°€. ê·¸ 빈대 ë“는 오막살ì´ê°€ 그립단 ë§ì¸ê°€. 나무 í•œ ê°œ 없는 ì‚°ì´ ê·¸ë¦½ë‹¨ ë§ì¸ê°€. ë¬¼ë³´ë‹¤ë„ ëª¨ëž˜ê°€ ë§Žì€ ë‹¤ 늙어빠진 ê°œì²œì´ ê·¸ë¦½ë‹¨ ë§ì¸ê°€. ê·¸ 무기력하고 가난한, 시기 많고 싸우고 하는 ê·¸ ë°±ì„±ì„ ê·¸ë¦¬ì›Œí•œë‹¨ ë§ì¸ê°€. 그렇지 아니하면 무슨 그리워할 ìŒì•…ì´ ìžˆë‹¨ ë§ì¸ê°€, ë¯¸ìˆ ì´ ìžˆë‹¨ ë§ì¸ê°€, ë¬¸í•™ì´ ìžˆë‹¨ ë§ì¸ê°€, 사ìƒì´ 있단 ë§ì¸ê°€, 사모할 만한 ì¸ë¬¼ì´ 있단 ë§ì¸ê°€! ë‚ ë”러 ê³ êµ­ì˜ ë¬´ì—‡ì„ ê·¸ë¦¬ì›Œí•˜ëž€ ë§ì¸ê°€. 나는 ì¡°êµ­ì´ ì—†ëŠ” 사람ì¼ì„¸. ë‚´ê°€ 소비ì—트 êµ°ì¸ìœ¼ë¡œ 있으니 소비ì—트가 ë‚´ ì¡°êµ­ì´ê² ì§€. 그러나 진심으로 ë‚´ ì¡°êµ­ì´ë¼ëŠ” ìƒê°ì€ 나지 아니하네." -하고 ì €ë… ë¨¹ì„ ë•Œì— ì•½ê°„ ë¶‰ì—ˆë˜ Rì˜ ì–¼êµ´ì€ ì´ìƒí•œ í¥ë¶„으로 ë”ìš± 붉어지오.유 정유 ì • -R는 ë¨¹ë˜ ë‹´ë°°ë¥¼ 화나는 ë“¯ì´ ìž¬ë–¨ì´ì— 집어ë˜ì§€ë©°, -"ë‚´ê°€ í•˜ì–¼ë¹ˆì— ì˜¨ 지가 ì¸ì œ 겨우 삼사 ë…„ë°–ì— ì•ˆ ë˜ì§€ë§ˆëŠ” ì¡°ì„  사람 ë•Œë¬¸ì— ë‚˜ëŠ” 견딜 수가 없어. 와서 달ë¼ëŠ” ê²ƒë„ ë‹¬ë¼ëŠ” 것ì´ì§€ë§ˆëŠ” ì¡°ì„  ì‚¬ëžŒì´ ë˜ ì–´ì°Œí•˜ì˜€ëŠë‹ˆ ë˜ ì–´ì°Œí•˜ì˜€ëŠë‹ˆ 하는 불명예한 ë§ì„ ë“¤ì„ ë•Œì—는 나는 ê¸ˆì‹œì— ì£½ì–´ 버리고 싶단 ë§ì¼ì„¸. 내게 가장 불쾌한 ê²ƒì´ ìžˆë‹¤ê³  하면 ê·¸ê²ƒì€ ê³ êµ­ì´ë¼ëŠ” 기억과 ì¡°ì„  ì‚¬ëžŒì˜ ì¡´ìž´ì„¸. ë‚´ê°€ ë§Œì¼ ì–´ëŠ ë‚˜ë¼ì˜ ë…재ìžê°€ ëœë‹¤ê³  하면 나는 첫째로 ì¡°ì„ ì¸ ìž…êµ­ 금지를 단행하려네. ë§Œì¼ ì¡°ì„ ì´ë¼ëŠ” ê²ƒì„ ìžŠì–´ë²„ë¦´ ì•½ì´ ìžˆë‹¤ê³  하면 나는 ìƒëª…ê³¼ 바꾸어서ë¼ë„ 사 먹고 싶어." -하고 R는 약간 í¥ë¶„ëœ ì–´ì¡°ë¥¼ 늦추어서, -"ë‚˜ë„ ëª¨ìŠ¤í¬ë°”ì— ìžˆë‹¤ê°€ ì²˜ìŒ ì›ë™ì— ë‚˜ì™”ì„ ì ì—는 ê¸¸ì„ ë‹¤ë…€ë„ í˜¹ì‹œ ë™í¬ê°€ ëˆˆì— ëœ¨ì´ì§€ë‚˜ 아니하나 하고 찾았네. 그래서 어디서든지 ë™í¬ë¥¼ 만나면 ë°˜ê°€ì´ ì†ì„ 잡았지. 했지만 ì ì  ê·¸ë“¤ì€ ì˜¤ì§ ê·€ì°®ì€ ì¡´ìž¬ì— ì§€ë‚˜ì§€ 못하다는 ê²ƒì„ ì•Œì•˜ë‹¨ ë§ì¼ì„¸. ì¸ì œëŠ” ì¡°ì„  사람ì´ë¼ê³ ë§Œ 하면 만나기가 무섭고 ë”ì°ë”ì°í•˜ê³  진저리가 나는 걸 어떡허나. ìžë„¤ ëª…í•¨ì´ ë“¤ì–´ì˜¨ ë•Œì—ë„ ì¡°ì„  사람ì¸ê°€ 하고 ê°€ìŠ´ì´ ëœ¨ë”했네." -하고 R는 ì›ƒì§€ë„ ì•„ë‹ˆí•˜ì˜¤. ê·¸ì˜ ì–¼êµ´ì—는, êµ°ì¸ë‹¤ìš´ 기운찬 얼굴ì—는 ì¦ì˜¤ì™€ ë¶„ë…¸ì˜ ë¹›ì´ ë„˜ì³¤ì†Œ. -"ë‚˜ë„ ìžë„¤ ì§‘ì— í™˜ì˜ë°›ëŠ” 나그네는 ì•„ë‹ì„¸ê·¸ë ¤." -하고 나는 ì´ ê²¬ë””ê¸° 어려운 불쾌하고 무서운 공기를 완화하기 위하여 ë†ë‹´ì‚¼ì•„ í•œ 마디를 ë˜ì§€ê³  웃었소. -나는 Rì˜ ë§ì´ ê³¼ê²©í•¨ì— ë†€ëžì§€ë§ˆëŠ”, ë˜ ìƒê°í•˜ë©´ Rê°€ í•œ ë§ ê°€ìš´ë°ëŠ” ë“¤ì„ ë§Œí•œ ì´ìœ ë„ 없지 아니하오. ê·¸ê²ƒì„ ìƒê°í•  ë•Œì— ë‚˜ëŠ” R를 괘씸하게 ìƒê°í•˜ê¸° ì „ì— ë‚´ê°€ 버린다는 ì¡°ì„ ì„ ìœ„í•˜ì—¬ì„œ ê°€ìŠ´ì´ ì•„íŒ ì†Œ. 그렇지만 ì´ì œ 나 따위가 ê°€ìŠ´ì„ ì•„íŒŒí•œëŒ€ì•¼ 무슨 ì†Œìš©ì´ ìžˆì†Œ. ì¡°ì„ ì— ë‚¨ì•„ 계신 형ì´ë‚˜ Rì˜ ë§ì„ 참고삼아 쓰시기 ë°”ë¼ì˜¤. 어쨌으나 나는 Rì—게서 목ì í•œ ì—¬í–‰ê¶Œì„ ì–»ì—ˆì†Œ. Rì—게는 다만, -`나는 피곤한 ëª¸ì„ ì¢€ 정양하고 싶다. 나는 ë‚´ê°€ í‰ì†Œì— ì¦ê²¨í•˜ëŠ” ë°”ì´ì¹¼ 호반ì—ì„œ 눈과 ì–¼ìŒì˜ í•œê²¨ìš¸ì„ ì§€ë‚´ê³  싶다.' -는 ê²ƒì„ ì—¬í–‰ì˜ ì´ìœ ë¡œ 삼았소. -R는 ë‚˜ì˜ ì´ˆì·Œí•œ ëª¨ì–‘ì„ ì§ìž‘하고 ë‚´ 핑계를 그럴듯하게 아는 모양ì´ì—ˆì†Œ. 그리고 나ë”러, `ì´ì™• 정양하려거든 카프카 지방으로 가거ë¼. 거기는 기후 í’ê²½ë„ ì¢‹ê³  ë˜ ìš”ì–‘ì›ì˜ ì„¤ë¹„ë„ ìžˆë‹¤.'는 ê²ƒì„ ë§í•˜ì˜€ì†Œ. ë‚˜ë„ í†¨ìŠ¤í† ì´ì˜ 소설ì—ì„œ, ê¸°íƒ€ì˜ ì—¬í–‰ê¸° 등ì†ì—ì„œ ì´ ì§€ë°©ì— ê´€í•œ ë§ì„ 못 ë“¤ì€ ê²ƒì´ ì•„ë‹ˆë‚˜ 지금 ë‚´ 처지ì—는 그런 따뜻하고 경치 ì¢‹ì€ ì§€ë°©ì„ ê°€ë¦´ ì—¬ìœ ë„ ì—†ê³  ë˜ ê·¸ëŸ¬í•œ ì§€ë°©ë³´ë‹¤ë„ ëˆˆê³¼ ì–¼ìŒê³¼ ë°”ëžŒì˜ ì‹œë² ë¦¬ì•„ì˜ ê²¨ìš¸ì´ í•©ë‹¹í•œ 듯하였소. -그러나 나는 Rì˜ í˜¸ì˜ë¥¼ êµ³ì´ ì‚¬ì–‘í•  í•„ìš”ë„ ì—†ì–´ì„œ 그가 ì¨ ì£¼ëŠ” 대로 ì†Œê°œìž¥ì„ ë‹¤ 받아 넣었소. 그는 나를 처남 매부 ê°„ì´ë¼ê³  소개해 주었소. -나는 모스í¬ë°” 가는 ë‹¤ìŒ ê¸‰í–‰ì„ ê¸°ë‹¤ë¦¬ëŠ” ì‚¬í˜ ë™ì•ˆ Rì˜ ì§‘ì˜ ì†ì´ ë˜ì–´ì„œ Rë¶€ì²˜ì˜ ì¹œì ˆí•œ 대우를 받았소. -ê·¸ 후ì—는 나는 R와 ì¡°ì„ ì— ê´€í•œ í† ë¡ ì„ í•œ ì¼ì€ 없지마는 Rê°€ ì´ë¦„지어 ë§ì„ í•  ë•Œì—는 ì¡°ì„ ì„ ìžŠì—ˆë…¸ë¼, 그리워할 ê²ƒì´ ì—†ë…¸ë¼, 하지마는 무ì˜ì‹ì ìœ¼ë¡œ ë§ì„ í•  ë•Œì—는 ì¡°ì„ ì„ ëª» 잊고 ë˜ ì¡°ì„ ì„ ì—¬ëŸ¬ ì ìœ¼ë¡œ 그리워하는 ì–‘ì„ ë³´ì•˜ì†Œ. 나는 ê·¸ê²ƒìœ¼ë¡œì¨ ë§Œì¡±í•˜ê²Œ 여겼소. -나는 ê¸ˆìš”ì¼ ì˜¤í›„ 세시 모스í¬ë°” 가는 급행으로 í•˜ì–¼ë¹ˆì„ ë– ë‚¬ì†Œ. ì—­ë‘ì—는 R와 Rì˜ ê°€ì¡±ì´ ë‚˜ì™€ì„œ 꽃과 ê³¼ì¼ê³¼ 여러 가지 선물로 나를 전송하였소. R와 Rì˜ ê°€ì¡±ì€ ë‚˜ë¥¼ ì •ë§ í˜•ì œì˜ ì˜ˆë¡œ 대우하여 차가 떠나려 í•  ë•Œì— í¬ì˜¹ê³¼ 키스로 작별하여 주었소. -ì´ ë‚ ì€ í½ ë”°ëœ»í•˜ê³  ì¼ê¸°ê°€ ì¢‹ì€ ë‚ ì´ì—ˆì†Œ. í•˜ëŠ˜ì— êµ¬ë¦„ í•œ ì , ë•…ì— ë°”ëžŒ í•œ ì  ì—†ì´ ë§ˆì¹˜ ëŠ¦ì€ ë´„ë‚ ê³¼ ê°™ì´ ë”°ëœ»í•œ ë‚ ì´ì—ˆì†Œ. -차는 떠났소. íŒë‹¤ëŠ” ë‘¥ 안 íŒë‹¤ëŠ” ë‘¥ ë§ì½ ë§Žì€ ë™ì¤‘ë¡œ(ì§€ê¸ˆì€ ë¶ë§Œ ì² ë¡œë¼ê³  하오.)ì˜ êµ­ì œ ì—´ì°¨ì— ëª¸ì„ ì˜íƒí•œ 것ì´ì˜¤. -송화강(æ¾èŠ±æ±Ÿ:쑹화 ê°•)ì˜ ì² êµë¥¼ 건너오. ì•„ì•„ ê·¸ë¦¬ë„ ë‚¯ìµì€ 송화강! ì†¡í™”ê°•ì´ ì™œ ë‚¯ì´ ìµì†Œ. ì´ ì†¡í™”ê°•ì€ ë¶ˆí•¨ì‚°(장백산)ì— ê·¼ì›ì„ 발하여 광막한 ë¶ë§Œì£¼ì˜ ì‚¬ëžŒë„ ì—†ëŠ” 벌íŒì„ í˜¼ìž ì†Œë¦¬ë„ ì—†ì´ í˜ëŸ¬ê°€ëŠ” ê²ƒì´ ë‚´ 신세와 같소. ì´ ë¶ë§Œì£¼ì˜ 벌íŒì„ 만든 ìžê°€ 송화강ì´ì§€ë§ˆëŠ” 나는 그만한 íž˜ì´ ì—†ëŠ” ê²ƒì´ ë¶€ë„러울 ë¿ì´ì˜¤. ì´ ê´‘ë§‰í•œ ë¶ë§Œì˜ 벌íŒì„ ë‚´ ì†ìœ¼ë¡œ 개척하여서 ì¡°ì„  ì‚¬ëžŒì˜ ë‚™ì›ì„ ë§Œë“¤ìž í•˜ê³  ë½ë‚´ì–´ 볼까. ê·¸ê²ƒì€ í˜•ì´ í•˜ì‹œì˜¤. ë‚´ ì–´ë¦°ê²ƒì´ ìžë¼ê±°ë“  그놈ì—게나 그러한 ìƒê°ì„ 넣어 주시오. -ë™ì–‘ì˜ êµ­ì œì  ê´´ë¬¼ì¸ í•˜ì–¼ë¹ˆ ì‹œê°€ë„ ê¹Œë§£ê²Œ 안개ì—ì„œ 스러져 버리고 ë§ì•˜ì†Œ. 그러나 ê·¸ 시가를 싼 까만 ê¸°ìš´ì´ êµ­ì œì  í’ìš´ì„ í¬ìž¥í•œ 것ì´ë¼ê³  할까요. -ê°€ë„ê°€ë„ ë²ŒíŒ. ì„œë¦¬ë§žì€ ë§ˆë¥¸ 풀바다. 실개천 í•˜ë‚˜ë„ ì—†ëŠ” 메마른 사막. 어디를 ë³´ì•„ë„ ì‚° 하나 없으니 하늘과 ë•…ì´ ì°© 달ë¼ë¶™ì€ 듯한 천지. 구름 í•œ ì  ì—†ê±´ë§Œë„ ê·¸ í° íƒœì–‘ ê°€ì§€ê³ ë„ ë¯¸ì²˜ 다 비추지 못하여 지í‰ì„  호를 그린 지í‰ì„  위ì—는 í•­ìƒ í™©í˜¼ì´ ë– ë„는 듯한 세계. ì´ ì†ìœ¼ë¡œ ë‚´ê°€ ëª¸ì„ ë‹´ì€ ì—´ì°¨ëŠ” 서쪽으로 서쪽으로 í•´ê°€ 가는 걸ìŒì„ ë”°ë¼ì„œ 달리고 있소. 열차가 달리는 바퀴 ì†Œë¦¬ë„ ë°˜í–¥í•  ê³³ì´ ì—†ì–´ 힘없는 í•œìˆ¨ê°™ì´ ìŠ¤ëŸ¬ì§€ê³  마오. -ê¸°ì¨ ê°€ì§„ ì‚¬ëžŒì´ ì§€ë£¨í•´ì„œ 못 견딜 ì´ í’ê²½ì€ ë‚˜ê°™ì´ ìˆ˜ì‹¬ 가진 사람ì—게는 가장 ê³µìƒì˜ ë§ì„ ë‹¬ë¦¬ê¸°ì— í•©ë‹¹í•œ ê³³ì´ì˜¤. -ì´ ê³³ì—ë„ ì‚°ë„ ìžˆê³  ëƒ‡ë¬¼ë„ ìžˆê³  ì‚¼ë¦¼ë„ ìžˆê³  ê½ƒë„ í”¼ê³  ë‚ ì§ìŠ¹, 길ì§ìŠ¹ì´ ë‚ ê³  ê¸°ë˜ ë•Œë„ ìžˆì—ˆê² ì§€ìš”. ê·¸ëŸ¬ë˜ ê²ƒì´ ëª‡ë§Œ ë…„ 지나는 ë™ì•ˆì— ì‚°ì€ ë‚®ì•„ì§€ê³  ê³¨ì€ ë†’ì•„ì ¸ì„œ 마침내 ì´ ê¼´ì´ ëœ ê²ƒì¸ê°€ 하오. ë§Œì¼ í° íž˜ì´ ìžˆì–´ ì´ ê´‘ì•¼ë¥¼ 파낸다 하면 물 í르고 고기 ë†€ë˜ ê°•ê³¼, 울고 ì›ƒë˜ ìƒë¬¼ì´ ì‚´ë˜ ìžì·¨ê°€ ìžˆì„ ê²ƒì´ì˜¤. ì•„ì•„ ì´ ëª¨ë“  ê¸°ì–µì„ ê½‰ 품고 ì£½ì€ ë“¯ì´ ìž ìž í•œ 광야ì—! -ë‚´ê°€ 탄 차가 Fì—­ì— ë„ì°©í•˜ì˜€ì„ ë•Œì—는 ë¶ë§Œì£¼ ê´‘ì•¼ì˜ ì„ì–‘ì˜ ì•„ë¦„ë‹¤ì›€ì€ ê·¸ ê·¹ë„ì— ë‹¬í•œ 것 같았소. 둥긋한 지í‰ì„  ìœ„ì— ê±°ì˜ ê±¸ë¦° 커다란 í•´! 아마 ê·¸ 신비하고 ìž¥ì—„í•¨ì´ ë‚´ 경험으로는 ì´ ê³³ì—서밖ì—는 ë³¼ 수 없는 것ì´ë¼ê³ ìƒê°í•˜ì˜¤. ì´ê¸€ì´ê¸€ ì´ê¸€ì´ê¸€ ê·¸ëŸ¬ë©´ì„œë„ ë‘¥ê¸€ë‹¤ëŠ” 체모를 변치 아니하는 ê·¸ 지는 í•´! -게다가 먼 지í‰ì„ ìœ¼ë¡œë¶€í„° 기어드는 í™©í˜¼ì€ ì¸ì œëŠ” 대지를 ê±°ì˜ ë‹¤ ë®ì–´ 버려서 마른 풀로 ëœ ì§€ë©´ì€ ê°€ë­‡ê°€ë­‡í•œ ë¹›ì„ ë ê³  ì‚¬ë§‰ì˜ ê°€ëŠ” 모래를 ë¨¸ê¸ˆì€ ì§€ëŠ” í•´ì˜ ê´‘ì„ ì„ ë°˜ì‚¬í•˜ì—¬ì„œ 대기는 ì§™ì€ ìžì¤ë¹›ì„ 바탕으로 í•œ 가지ê°ìƒ‰ì˜ ëª…ì•”ì„ ê°€ì§„, ì˜¤ìƒ‰ì´ ì˜ë¡±í•œ, ë„무지 ë‚´ê°€ ì¼ì° 경험해 보지 못한 ìƒ‰ì±„ì˜ ì„¸ê³„ë¥¼ ì´ë£¨ì—ˆì†Œ. ì•„ 좋다! -ê·¸ ì†ì— 수ì€ê°™ì´ 빛나는, 수없는 ìž‘ê³  í° í˜¸ìˆ˜ë“¤ì˜ ë¹›! ê·¸ ì†ìœ¼ë¡œ 날아오는 수없고 ì´ë¦„ 모를 ìƒˆë“¤ì˜ ë–¼ë„ ì´ ì„¸ìƒì˜ 것ì´ë¼ê³ ëŠ” ìƒê°í•˜ì§€ 아니하오. -나는 ê±°ì˜ ë¬´ì˜ì‹ì ìœ¼ë¡œ ì°¨ì—ì„œ 뛰어내렸소. ê±°ì˜ ë– ë‚  ì‹œê°„ì´ ë‹¤ ë˜ì–´ì„œ ì§ì˜ ì¼ë¶€ë¶„ì€ ë¯¸ì²˜ ê°€ì§€ì§€ë„ ëª»í•˜ê³  뛰어내렸소. 반쯤 미친 것ì´ì˜¤. -정거장 ì•ž 조그마한 ì•„ë¼ì‚¬ ì‚¬ëžŒì˜ ì—¬ê´€ì—다가 ì§ì„ 맡겨 버리고 나는 ë‹¨ìž¥ì„ ëŒê³  ì² ë„ ì„ ë¡œë¥¼ ë›°ì–´ 건너서 í˜¸ìˆ˜ì˜ ìˆ˜ì€ë¹› 나는 ê³³ì„ ì°¾ì•„ì„œ 지향 ì—†ì´ ê±¸ì—ˆì†Œ. -í•œ 호수를 가서 ë³´ë©´ ë˜ ì € 편 호수가 ë” ì•„ë¦„ë‹¤ì›Œ ë³´ì´ì˜¤. ì›ì»¨ëŒ€ ì € 지는 í•´ê°€ 다 지기 ì „ì— ì´ ê´‘ì•¼ì— ìžˆëŠ” 호수를 다 ëŒì•„ë³´ê³  싶소. -ë‚´ê°€ 호숫 ê°€ì— ì„°ì„ ë•Œì— ê·¸ ê±°ìš¸ê°™ì´ ìž”ìž”í•œ í˜¸ìˆ˜ë©´ì— ë¹„ì¹˜ëŠ” ë‚´ 그림ìžì˜ 외로움ì´ì—¬, 그러나 아름다움ì´ì—¬! ê·¸ 호수는 ì˜ì›í•œ ìš°ì£¼ì˜ ì‹ ë¹„ë¥¼ 품고 í•˜ëŠ˜ì´ ì˜¤ë©´ 하늘ì„, 새가 오면 새를, êµ¬ë¦„ì´ ì˜¤ë©´ 구름ì„, 그리고 ë‚´ê°€ 오면 나를 비추지 아니하오. 나는 호수가 ë˜ê³  싶소. 그러나 형! 나는 ì´ í˜¸ìˆ˜ë©´ì—ì„œ 얼마나 ì •ìž„ì˜ ì–¼êµ´ì„ ì°¾ì•˜ê² ì†Œ. ê·¸ê²ƒì€ ë¬¼ë¦¬í•™ì ìœ¼ë¡œ 불가능한 ì¼ì´ê² ì§€ìš”. ë™ê²½ì˜ ë³‘ì‹¤ì— ëˆ„ì›Œ 있는 ì •ìž„ì˜ ëª¨ì–‘ì´ ëª½ê³  ì‚¬ë§‰ì˜ í˜¸ìˆ˜ë©´ì— ë¹„ì¹  리야 있겠소. 없겠지마는 나는 호수마다 ì •ìž„ì˜ ê·¸ë¦¼ìžë¥¼ 찾았소. 그러나 ë³´ì´ëŠ” ê²ƒì€ ì™¸ë¡œìš´ ë‚´ 그림ìžë¿ì´ì˜¤. -`ê°€ìž. ë없는 사막으로 í•œì—†ì´ ê°€ìž. 가다가 ë‚´ ê¸°ìš´ì´ ì§„í•˜ëŠ” ìžë¦¬ì— 나는 ë‚´ ì†ìœ¼ë¡œ 모래를 파고 ê·¸ ì†ì— ë‚´ ëª¸ì„ ë¬»ê³  죽어 버리ìž. ì‚´ì•„ì„œ 다시 ë³¼ 수 없는 ì •ìž„ì˜ ã€Œì´ë°ì•„ã€ë¥¼ 안고 ì´ ê¹¨ë—í•œ 광야ì—ì„œ 죽어 버리 ìž.' -하고 나는 지는 해를 향하고 한정 ì—†ì´ ê±¸ì—ˆì†Œ. ì‚¬ë§‰ì´ ë°›ì•˜ë˜ ë”°ëœ»í•œ ê¸°ìš´ì€ ì•„ì§ë„ 다 ì‹ì§€ëŠ” 아니하였소. 사막ì—는 바람 í•œ ì ë„ 없소. 소리 í•˜ë‚˜ë„ ì—†ì†Œ. ë°œìžêµ­ ë°‘ì—ì„œ 우는 마른 풀과 ëª¨ëž˜ì˜ ë°”ìŠ¤ë½ê±°ë¦¬ëŠ” 소리가 들릴 ë¿ì´ì˜¤. -나는 허리를 지í‰ì„ ì— 걸었소. ê·¸ 신비한 ê´‘ì„ ì€ ë‚´ 가슴으로부터 위ì—ë§Œì„ ë¹„ì¶”ê³  있소. -ë¬¸ë“ ë‚˜ëŠ” 해를 ë”°ë¼ê°€ëŠ” 별 ë‘ ê°œë¥¼ 보았소. 하나는 ì•žì„ ì„œê³  하나는 뒤를 섰소. ì•žì˜ ë³„ì€ ì¢€ í¬ê³  ë’¤ì˜ ë³„ì€ ì¢€ 작소. ì´ëŸ° ë³„ë“¤ì€ ì‚° ë§Žì€ ë‚˜ë¼ ë‹¤ì‹œ ë§í•˜ë©´ 서쪽 지í‰ì„ ì„ 보기 어려운 나ë¼ì—서만 ìƒìž¥í•œ 나로서는 보지 ëª»í•˜ë˜ ë³„ì´ì˜¤. 나는 ê·¸ ë³„ì˜ ì´ë¦„ì„ ëª¨ë¥´ì˜¤. `ë‘ ë³„'ì´ì˜¤. -í•´ê°€ 지í‰ì„ ì—ì„œ ëš ë–¨ì–´ì§€ìž ëŒ€ê¸°ì˜ ìžì¤ë¹›ì€ 남빛으로 변하였소. ì˜¤ì§ í•´ê°€ 금시 들어간 ìžë¦¬ì—만 주í™ë¹›ì˜ ì—¬ê´‘ì´ ìžˆì„ ë¿ì´ì˜¤. ë‚´ 눈앞ì—서는 남빛 안개가 피어오르는 듯하였소. ì•žì— ë³´ì´ëŠ” í˜¸ìˆ˜ë§Œì´ ìœ ë‚œížˆ 빛나오. ë˜ í•œ ë–¼ì˜ ì´ë¦„ 모를 ìƒˆë“¤ì´ ìˆ˜ë©´ì„ ìŠ¤ì¹˜ë©° ë‚  저문 ê²ƒì„ ë†€ë¼ëŠ” ë“¯ì´ ì–´ì§€ëŸ¬ì´ ë‚ ì•„ 지나가오. ê·¸ë“¤ì€ ì†Œë¦¬ë„ ì•„ë‹ˆ 하오. 날개치는 ì†Œë¦¬ë„ ì•„ë‹ˆ 들리오. ê·¸ê²ƒë“¤ì€ ì‚¬ë§‰ì˜ í™©í˜¼ì˜ í—ˆê¹¨ë¹„ì¸ ê²ƒ 같소. -나는 ìžê¾¸ 걷소. 해를 ë”°ë¥´ë˜ ë‚˜ëŠ” ë‘ ë³„ì„ ë”°ë¼ì„œ ìžê¾¸ 걷소. -ë³„ë“¤ì€ ì§„ 해를 ë”°ë¼ì„œ ë°”ì‚ ê±·ëŠ” ê²ƒë„ ê°™ê³ , 헤매는 나를 ì–´ë–¤ 나ë¼ë¡œ ë„는 ê²ƒë„ ê°™ì†Œ. -아니 ë‘ ë³„ ì¤‘ì— ì•žì„  ë³„ì´ í•œ 번 ë°˜ì§í•˜ê³ ëŠ” 최후로 í•œ 번 ë°˜ì§í•˜ê³ ëŠ” 지í‰ì„  ë°‘ì— ìˆ¨ì–´ 버리고 마오. ë’¤ì— ë‚¨ì€ ì™¸ë³„ì˜ ì™¸ë¡œì›€ì´ì—¬! 나는 울고 싶었소. 그러나 나는 하나만 ë‚¨ì€ ìž‘ì€ ë³„ 외로운 ìž‘ì€ ë³„ì„ ë”°ë¼ì„œ ë” ë¹¨ë¦¬ 걸ìŒì„ 걸었소. ê·¸ í•œ 별마저 넘어가 버리면 나는 어찌하오. -ë‚´ê°€ 웬ì¼ì´ì˜¤. 나는 ì‹œì¸ë„ 아니요, ì˜ˆìˆ ê°€ë„ ì•„ë‹ˆì˜¤. 나는 정으로 í–‰ë™í•œ ì¼ì€ 없다고 믿는 사람ì´ì˜¤. 그러나 형! ì´ ë•Œì— ë¯¸ì¹œ ê²ƒì´ ì•„ë‹ˆìš”, ë‚´ 가슴ì—는 무엇ì¸ì§€ 모를 ê²ƒì„ ë”°ë¥¼ 요샛ë§ë¡œ ì´ë¥¸ë°” ë™ê²½ìœ¼ë¡œ 찼소. -`ì•„ì•„ ì € ìž‘ì€ ë³„!' -ê·¸ê²ƒë„ ì§€í‰ì„ ì— 닿았소. -`ì•„ì•„ ì € ìž‘ì€ ë³„. 저것마저 넘어가면 나는 어찌하나.' -ì¸ì œëŠ” 어둡소. ê´‘ì•¼ì˜ í™©í˜¼ì€ ëª…ìƒ‰ë¿ì´ìš”, 순ì‹ê°„ì´ìš”, í•´ì§€ìž ì‹ ë¹„í•˜ë‹¤ê³  í•  만한 극히 ì§§ì€ ë™ì•ˆì— 아름다운 í™©í˜¼ì„ ì¡°ê¸ˆ ë³´ì´ê³ ëŠ” 곧 ì¹ ê³¼ ê°™ì€ ì•”í‘ì´ì˜¤. í˜¸ìˆ˜ì˜ ë¬¼ë§Œì´ ì–´ë””ì„œ ì€ë¹›ì„ 받았는지 뿌옇게 ë‚˜ë§Œì´ ìœ ì¼í•œ 존재다, ë‚˜ë§Œì´ ìœ ì¼í•œ ë¹›ì´ë‹¤ 하는 ë“¯ì´ ì¸ì œëŠ” 수ì€ë¹›ì´ ì•„ë‹ˆë¼ ë‚¨ë¹›ì„ ë°œí•˜ê³  ìžˆì„ ë¿ì´ì˜¤. -나는 ê·¸ 중 ë¹›ì„ ë§Žì´ ë°›ì€, ê·¸ 중 환해 ë³´ì´ëŠ” í˜¸ìˆ˜ë©´ì„ ì°¾ì•„ ë‘리번거리며, 그러나 빠른 걸ìŒìœ¼ë¡œ 헤매었소. 그러나 ë‚´ê°€ ì¢€ë” ë§‘ì€ í˜¸ìˆ˜ë©´ì„ ì°¾ëŠ” ë™ì•ˆì— ì´ ê´‘ì•¼ì˜ ì–´ë‘ ì€ ë”ìš±ë”ìš± 짙어지오. -나는 ì–´ë–¤ 조그마한 호숫 ê°€ì— íŽ„ì© ì•‰ì•˜ì†Œ. ë‚´ ì•žì—는 ì§™ì€ ë‚¨ë¹›ì˜ ìˆ˜ë©´ì— ì¡°ê·¸ë§ˆí•œ 거울만한 ë°ì€ ë°ê°€ 있소. 마치 ë‚´ 눈ì—ì„œ 무슨 ë¹›ì´ ë‚˜ì™€ì„œ, 아마 ì •ìž„ì„ ê·¸ë¦¬ì›Œí•˜ëŠ” ë¹›ì´ ë‚˜ì™€ì„œ ê·¸ ìˆ˜ë©´ì— ë°˜ì‚¬í•˜ëŠ” 듯ì´. 나는 í—ˆê²ì§€ê² ê·¸ 빤한 ìˆ˜ë©´ì„ ë“¤ì—¬ë‹¤ë³´ì•˜ì†Œ. 혹시나 ì •ìž„ì˜ ëª¨ì–‘ì´ ê±°ê¸° 나타나지나 아니할까 하고. 세ìƒì—는 그러한 기ì ë„ 있지 아니한가 하고. -물ì—는 ì •ìž„ì˜ ì–¼êµ´ì´ ì–´ë¥¸ê±°ë¦¬ëŠ” 것 같았소. ì´ë”°ê¸ˆ ì •ìž„ì˜ ëˆˆë„ ì–´ë¥¸ê±°ë¦¬ê³  ì½”ë„ ë²ˆëœ»ê±°ë¦¬ê³  ìž…ë„ ë²ˆëœ»ê±°ë¦¬ëŠ” 것 같소. 그러나 ìˆ˜ë©´ì€ ì ì  ì–´ë‘워 가서 ê·¸ 환ì˜ì¡°ì°¨ ë”ìš± í¬ë¯¸í•´ì§€ì˜¤. -나는 í˜¸ìˆ˜ë©´ì— ë¹¤í•˜ë˜ í•œ ì¡°ê°ì¡°ì°¨ 캄캄해지는 ê²ƒì„ ë³´ê³  ìˆ¨ì´ ë§‰íž ë“¯í•¨ì„ ê¹¨ë‹¬ìœ¼ë©´ì„œ 고개를 들었소. -고개를 들려고 í•  ë•Œì—, 형ì´ì—¬, ì´ìƒí•œ ì¼ë„ 다 있소. ê·¸ ìˆ˜ë©´ì— ì •ìž„ì˜ ëª¨ì–‘ì´, 얼굴만 아니ë¼, ê·¸ 몸 ì˜¨í†µì´ ê·¸ 어깨, 가슴, 팔, 다리까지ë„, ê·¸ 눈과 입까지ë„, ê·¸ ì–¼êµ´ì˜ í° ê²ƒê³¼ ìž…ìˆ ì´ ë¶ˆê·¸ë ˆí•œ 것까지ë„, 마치 환한 ëŒ€ë‚®ì— ì‹¤ë¬¼ì„ ëŒ€í•œ 모양으로 소ìƒí•˜ê²Œ 나타났소. -"ì •ìž„ì´!" -하고 나는 소리를 지르며 물로 뛰어들려 하였소. 그러나 형, ê·¸ ìˆœê°„ì— ì •ìž„ì˜ ëª¨ì–‘ì€ ì‚¬ë¼ì ¸ 버리고 ë§ì•˜ì†Œ. -나는 ì´ ì–´ë‘  ì†ì— ì–´ë”” ì •ìž„ì´ê°€ 나를 ë”°ë¼ì˜¨ ê²ƒê°™ì´ ìƒê°í–ˆì†Œ. 혹시나 ì •ìž„ì´ê°€ 죽어서 ê·¸ ëª¸ì€ ë™ê²½ì˜ 대학 병ì›ì— ë²—ì–´ ë‚´ì–´ë˜ì§€ê³  í˜¼ì´ ë¹ ì ¸ 나와서 ë¬¼ì— ë¹„ì¹˜ì—ˆë˜ ê²ƒì´ ì•„ë‹ê¹Œ, 나는 ê°€ìŠ´ì´ ìš¸ë ê±°ë¦¼ì„ 진정치 못하면서 호숫 ê°€ì—ì„œ 벌떡 ì¼ì–´ë‚˜ì„œ ì–´ë‘  ì†ì— ì •ìž„ì„ ë§Œì ¸ë³´ë ¤ëŠ” 듯ì´, ì–´ë‘워서 ëˆˆì— ë³´ì§€ëŠ” 못하ë”ë¼ë„ ìžê¾¸ 헤매노ë¼ë©´ ëª¸ì— ë¶€ë”ªížˆê¸°ë¼ë„ í•  것 같아서 함부로 헤매었소. 그리고는 ëˆˆì•žì— ë²ˆëœ»ê±°ë¦¬ëŠ” ì •ìž„ì˜ í™˜ì˜ì„ íŒ”ì„ ë²Œë ¤ì„œ 안고 소리를 ë‚´ì–´ì„œ 불렀소. -"ì •ìž„ì´, ì •ìž„ì´." -하고 나는 ìˆ˜ì—†ì´ ì •ìž„ì„ ë¶€ë¥´ë©´ì„œ 헤매었소. -그러나 형, ì´ê²ƒë„ 죄지요. ì´ê²ƒë„ 하나님께서 금하시는 ì¼ì´ì§€ìš”. 그러길래 ê´‘ì•¼ì— ì•„ì£¼ ì–´ë‘ ì´ ë®ì´ê³  새까만 í•˜ëŠ˜ì— ë³„ì´ ì´ì´í•˜ê²Œ 나고는 ì˜ ì •ìž„ì˜ í—›ê·¸ë¦¼ìžì¡°ì°¨ 아니 ë³´ì´ì§€ìš”. 나는 죄를 피해서 ì •ìž„ì„ ë– ë‚˜ì„œ 멀리 온 것ì´ë‹ˆ ì •ìž„ì˜ í—›ê·¸ë¦¼ìžë¥¼ ë”°ë¼ë‹¤ë‹ˆëŠ” ê²ƒë„ ì˜³ì§€ 않지요. -그렇지만 ë‚´ê°€ ì´ë ‡ê²Œ 혼ìžì„œ ì •ìž„ì„ ìƒê°ë§Œ 하는 것ì´ì•¼ 무슨 죄 ë  ê²ƒì´ ìžˆì„까요. ë‚´ê°€ ì •ìž„ì„ ë§Œ 리나 떠나서 ì´ë ‡ê²Œ 헛그림ìžë‚˜ 그리며 그리워하는 것ì´ì•¼ 무슨 죄가 ë ê¹Œìš”. 설사 죄가 ë˜ê¸°ë¡œì„œë‹ˆ 낸들 ì´ê²ƒê¹Œì§€ì•¼ 어찌하오. ë‚´ê°€ ë‚´ í˜¼ì„ ì£½ì—¬ 버리기 ì „ì—야 ë‚´ 힘으로 어찌하오. 설사 죄가 ë˜ì–´ì„œ ë‚´ê°€ ì§€ì˜¥ì˜ êº¼ì§€ì§€ 않는 유황불 ì†ì—ì„œ ì˜ì›í•œ í˜•ë²Œì„ ë°›ê²Œ ë˜ê¸°ë¡œì„œë‹ˆ ê·¸ê²ƒì„ ì–´ì°Œí•˜ì˜¤. 형, ì´ê²ƒ, ì´ê²ƒë„ ë§ì•„야 옳ì€ê°€ìš”. ì •ìž„ì˜ í—›ê·¸ë¦¼ìžê¹Œì§€ë„ ëŠì–´ 버려야 옳ì€ê°€ìš”. -ì´ ë•Œìš”. 바로 ì´ ë•Œìš”. ë‚´ ì•ž 수십 보나 ë ê¹Œ(캄캄한 ë°¤ì´ë¼ 먼지 가까운지 분명히 ì•Œ 수 없지마는) 하는 ê³³ì— ë‚œë°ì—†ëŠ” 등불 하나가 나서오. 나는 ê¹œì§ ë†€ë¼ì„œ ìš°ëš ì„°ì†Œ. ì´ ë¬´ì¸ì§€ê²½, ì´ ë°¤ì¤‘ì— ê°‘ìžê¸° ë³´ì´ëŠ” 등불 ê·¸ê²ƒì€ ë§ˆì¹˜ ì´ ì„¸ìƒ ê°™ì§€ 아니하였소. -ì € ë“±ë¶ˆì´ ì–´ë–¤ 등불ì¼ê¹Œ, ê·¸ ë“±ë¶ˆì´ ëª‡ ê±¸ìŒ ê°€ê¹Œì´ ì˜¤ë‹ˆ, ê·¸ 등불 ë’¤ì— ì‚¬ëžŒì˜ ë‹¤ë¦¬ê°€ ë³´ì´ì˜¤. -"누구요?" -하는 ê²ƒì€ ê·€ì— ìµì€ ì¡°ì„ ë§ì´ì˜¤. 어떻게 ì´ ëª½ê³ ì˜ ê´‘ì•¼ì—ì„œ ì¡°ì„ ë§ì„ 들ì„까 하고 나는 ë“±ë¶ˆì„ ì²˜ìŒ ë³¼ 때보다 ë”ìš± 놀ëžì†Œ. -"나는 ì§€ë‚˜ê°€ë˜ ì‚¬ëžŒì´ì˜¤." -하고 ë‚˜ë„ ë“±ë¶ˆì„ í–¥í•˜ì—¬ 마주 걸어갔소. -ê·¸ ì‚¬ëžŒì€ ë“±ë¶ˆì„ ë“¤ì–´ì„œ ë‚´ ì–¼êµ´ì„ ë¹„ì¶”ì–´ ë³´ë”니, -"당신 ì¡°ì„  사람ì´ì˜¤?" -하고 묻소. -"네, 나는 ì¡°ì„  사람ì´ì˜¤. ë‹¹ì‹ ë„ ìŒì„±ì„ 들으니 ì¡°ì„  사람ì¸ë°, 어떻게 ì´ëŸ° 광야ì—, ì•„ë‹Œ 밤중ì—, 여기 계시단 ë§ì´ì˜¤." -하고 나는 놀ë¼ëŠ” 표정 그대로 대답하였소. -"나는 ì´ ê·¼ë°©ì— ì‚¬ëŠ” 사람ì´ë‹ˆê¹Œ 여기 오는 ê²ƒë„ ìžˆì„ ì¼ì´ì§€ë§ˆëŠ” 당신ì´ì•¼ë§ë¡œ ì´ ì•„ë‹Œ 밤중ì—." -하고 육혈í¬ë¥¼ 집어넣고, ì†ì„ 내밀어서 내게 악수를 구하오. -나는 반갑게 ê·¸ì˜ ì†ì„ 잡았소. 그러나 나는 `ì£½ì„ ì§€ê²½ì— ì–´ë–»ê²Œ 오셨단 ë§ì´ì˜¤.' 하고, 그가 ë‚´ê°€ 무슨 ì•…ì˜ë¥¼ 가진 í‰í•œì´ ì•„ë‹Œ ì¤„ì„ ì•Œê³  ì†ì— ë¹¼ì–´ë“¤ì—ˆë˜ ìœ¡í˜ˆí¬ë¡œ 시기를 ìž ê¹ì´ë¼ë„ 노린 ê²ƒì„ ë¶ˆì¾Œí•˜ê²Œ ìƒê°í•˜ì˜€ë˜ 것ì´ì˜¤. -ê·¸ë„ ë‚´ ì´ë¦„ë„ ë¬»ì§€ 아니하고 ë˜ ë‚˜ë„ ê·¸ì˜ ì´ë¦„ì„ ë¬»ì§€ 아니하고 나는 ê·¸ì—게 ëŒë ¤ì„œ 그가 ì¸ë„하는 곳으로 갔소. ê·¸ ê³³ì´ëž€ ê²ƒì€ ì•„ê¹Œ ë“±ë¶ˆì´ ì²˜ìŒ ë‚˜íƒ€ë‚˜ë˜ ê³³ì¸ ë“¯í•œë°, 거기서 ë˜ í•œ 번 놀란 ê²ƒì€ ì–´ë–¤ 부ì¸ì´ 있는 것ì´ì˜¤. 남ìžëŠ” ì•„ë¼ì‚¬ì‹ ì–‘ë³µì„ ìž…ì—ˆìœ¼ë‚˜ 부ì¸ì€ 중국 옷 비슷한 ì˜·ì„ ìž…ì—ˆì†Œ. 남ìžëŠ” 나를 ëŒì–´ì„œ ê·¸ 부ì¸ì—게 ì¸ì‚¬í•˜ê²Œ 하고, -"ì´ëŠ” ë‚´ ì•„ë‚´ìš”." -하고 ë˜ ê·¸ ì•„ë‚´ë¼ëŠ” 부ì¸ì—게는, -"ì´ ì´ëŠ” ì¡°ì„  ì–‘ë°˜ì´ì˜¤. ì„±í•¨ì´ ë‰˜ì‹œì£ ?" -하고 그는 나를 ë°”ë¼ë³´ì˜¤. 나는, -"최ì„입니다." -하고 바로 대답하였소. -"ìµœì„ ì”¨?" -하고 ê·¸ 남ìžëŠ” ì†Œê°œí•˜ë˜ ê²ƒë„ ìžŠì–´ë²„ë¦¬ê³  ë‚´ ì–¼êµ´ì„ ë“¤ì—¬ë‹¤ë³´ì˜¤. -"네, 최ì„입니다." -"ì•„ â—â—í•™êµ êµìž¥ìœ¼ë¡œ 계신 ìµœì„ ì”¨." -하고 ê·¸ 남ìžëŠ” ë”ìš± 놀ë¼ì˜¤. -"네, 어떻게 ë‚´ ì´ë¦„ì„ ì•„ì„¸ìš”?" -하고 ë‚˜ë„ ê·¸ê°€ 혹시 아는 사람ì´ë‚˜ 아닌가 하고 등불 ë¹›ì— ì–¼êµ´ì„ ë“¤ì—¬ë‹¤ 보았으나 ë„무지 ê·¸ ì–¼êµ´ì´ ë³¸ ê¸°ì–µì´ ì—†ì†Œ. -"최 ì„ ìƒì„ ë‚´ê°€ 압니다. 남 ì„ ìƒí•œí…Œ ë§ì”€ì„ ë§Žì´ ë“¤ì—ˆì§€ìš”. ê·¸ëŸ°ë° ë‚¨ ì„ ìƒë„ ëŒì•„가신 지가 ë²Œì¨ ëª‡ 핸가." -하고 ê°ê°œë¬´ëŸ‰í•œ ë“¯ì´ ê·¸ 아내를 ëŒì•„보오. -"십오 ë…„ì´ì§€ìš”." -하고 ê³ì— ì„°ë˜ ë¶€ì¸ì´ ë§í•˜ì˜¤. -"ë²Œì¨ ì‹­ì˜¤ ë…„ì¸ê°€." -하고 ê·¸ 남ìžëŠ” 나를 ë³´ê³ , -"ì •ìž„ì´ ìž˜ ìžëžë‹ˆê¹Œ? ë²Œì¨ ì´ì‹­ì´ 넘었지." -하고 ë˜ ë¶€ì¸ì„ ëŒì•„보오. -"스물세 ì‚´ì´ì§€." -하고 부ì¸ì´ 확실치 아니한 ë“¯ì´ ëŒ€ë‹µí•˜ì˜¤. -"네, 스물세 살입니다. 지금 ë™ê²½ì— 있습니다. ë³‘ì´ ë‚˜ì„œ ìž…ì›í•œ ê²ƒì„ ë³´ê³  왔는ë°." -하고 나는 ë²ˆê°œê°™ì´ ì •ìž„ì˜ ë³‘ì‹¤ê³¼ ì •ìž„ì˜ í˜¸í…” 장면 ë“±ì„ ìƒê°í•˜ê³  ê°€ìŠ´ì´ ì„¤ë ˜ì„ ê¹¨ë‹¬ì•˜ì†Œ. ì˜ì™¸ì¸ ê³³ì—ì„œ ì˜ì™¸ì¸ ì‚¬ëžŒë“¤ì„ ë§Œë‚˜ì„œ ì •ìž„ì˜ ë§ì„ 하게 ëœ ê²ƒì„ ê¸°ë»í•˜ì˜€ì†Œ. -"무슨 병입니까. ì •ìž„ì´ê°€ 본래 ëª¸ì´ ì•½í•´ì„œ." -하고 부ì¸ì´ ì§ì ‘ 내게 묻소. -"네. ëª¸ì´ ì¢€ 약합니다. ë³‘ì´ ì¢€ ë‚˜ì€ ê²ƒì„ ë³´ê³  떠났습니다마는 염려가 ë©ë‹ˆë‹¤." -하고 나는 무ì˜ì‹ì¤‘ì— ê³ ê°œë¥¼ ë™ê²½ì´ 있는 방향으로 ëŒë ¸ì†Œ. 마치 고개를 ë™ìœ¼ë¡œ ëŒë¦¬ë©´ ì •ìž„ì´ê°€ ë³´ì´ê¸°ë‚˜ í•  것같ì´. -"ìž, 우리 집으로 갑시다." -하고 나는 ì•„ì§ ê·¸ì˜ ì„±ëª…ë„ ëª¨ë¥´ëŠ” 남ìžëŠ”, ê·¸ì˜ ì•„ë‚´ë¥¼ 재촉하ë”니, -"우리가 ì¡°ì„  ë™í¬ë¥¼ 만난 ê²ƒì´ ì‹­ì—¬ ë…„ 만ì´ì˜¤. ê·¸ëŸ°ë° ìµœ ì„ ìƒ, ì´ê²ƒì„ 좀 보시고 가시지요." -하고 그는 빙그레 웃으면서 나를 서너 ê±¸ìŒ ëŒê³  가오. 거기는 조그마한 무ë¤ì´ 있고 ê·¸ ì•žì—는 ì„ ìž ë†’ì´ë‚˜ ë˜ëŠ” 목패를 ì„¸ì› ëŠ”ë° ê·¸ 목패ì—는 `ë‘ ë³„ 무ë¤'ì´ë¼ëŠ” 넉 ìžë¥¼ ì¼ì†Œ. -ë‚´ê°€ ì´ìƒí•œ 눈으로 ê·¸ 무ë¤ê³¼ 목패를 ë³´ê³  있는 ê²ƒì„ ë³´ê³  그는, -"ì´ê²Œ 무슨 무ë¤ì¸ì§€ 아십니까?" -하고 유쾌하게 묻소. -"ë‘ ë³„ 무ë¤ì´ë¼ë‹ˆ 무슨 뜻ì¸ê°€ìš”?" -하고 ë‚˜ë„ ê·¸ì˜ ìœ ì¾Œí•œ í‘œì •ì— ì „ì—¼ì´ ë˜ì–´ì„œ 웃고 물었소. -"ì´ê²ƒì€ 우리 ë‘˜ì˜ ë¬´ë¤ì´ì™¸ë‹¤." -하고 그는 ì•„ë‚´ì˜ ì–´ê¹¨ë¥¼ 치며 유쾌하게 웃었소. 부ì¸ì€ 부ë„러운 ë“¯ì´ ì›ƒê³  고개를 숙ì´ì˜¤. -ë„무지 ëª¨ë‘ ê¿ˆ 같고 í™˜ì˜ ê°™ì†Œ. -"ìž ê°‘ì‹œë‹¤. ìžì„¸í•œ ë§ì€ 우리 ì§‘ì— ê°€ì„œ 합시다." -하고 서너 ê±¸ìŒ ì–´ë–¤ 방향으로 걸어가니 거기는 ë§ì„ 세 í•„ì´ë‚˜ 맨 마차가 있소. 몽고 ì‚¬ëžŒë“¤ì´ ê°€ì¡±ì„ ì‹£ê³  수초를 ë”°ë¼ ëŒì•„다니는 그러한 마차요. ì‚¿ìžë¦¬ë¡œ í™ì˜ˆí˜•ì˜ ì§€ë¶•ì„ ë§Œë“¤ê³  ê·¸ ì†ì— 들어가 앉게 ë˜ì—ˆì†Œ. ê·¸ì˜ ë¶€ì¸ê³¼ 나와는 ì´ ì§€ë¶• ì†ì— 들어앉고 그는 ì†ìˆ˜ ì–´ìžëŒ€ì— 앉아서 입으로 쮸쮸쮸쮸 하고 ë§ì„ 모오. ë“±ë¶ˆë„ êº¼ 버리고 캄캄한 ì†ìœ¼ë¡œ 달리오. -"ë¶ˆì´ ìžˆìœ¼ë©´ 군대ì—ì„œ ì˜ì‹¬ì„ 하지요. ë„ì ë†ˆì´ 엿보지요. 게다가 ë¶ˆì´ ìžˆìœ¼ë©´ ë„리어 ì•žì´ ì•ˆ ë³´ì¸ë‹¨ ë§ìš”. 쯧쯧쯧쯧!" -하는 소리가 들리오. -대체 ì´ ì‚¬ëžŒì€ ë¬´ìŠ¨ 사람ì¸ê°€. ë˜ ì´ ë¶€ì¸ì€ 무슨 사람ì¸ê°€ 하고 나는 ì–´ë‘ìš´ ì†ì—ì„œ í˜¼ìž ìƒê°í•˜ì˜€ì†Œ. 다만 ìž ì‹œ 본 ì¸ìƒìœ¼ë¡œ ë³´ì•„ì„œ ê·¸ë“¤ì€ í–‰ë³µëœ ë¶€ë¶€ì¸ ê²ƒ 같았소. ê·¸ë“¤ì´ ë¬´ì—‡ 하러 ì´ ì•„ë‹Œ ë°¤ì¤‘ì— ê´‘ì•¼ì— ë‚˜ì™”ë˜ê°€. ë˜ ê·¸ ì´ìƒì•¼ë¦‡í•œ ë‘ ë³„ 무ë¤ì´ëž€ 무엇ì¸ê°€. -나는 불현듯 ì§‘ì„ ìƒê°í•˜ì˜€ì†Œ. ë‚´ 아내와 ì–´ë¦°ê²ƒë“¤ì„ ìƒê°í•˜ì˜€ì†Œ. 가정과 사회ì—ì„œ 쫓겨난 ë‚´ê°€ 아니오. 쫓겨난 ìžì˜ ìƒê°ì€ 언제나 슬픔ë¿ì´ì—ˆì†Œ. -나는 ë‚´ 아내를 ì›ë§ì¹˜ 아니하오. 그는 ê²°ì½” ì•…í•œ ì—¬ìžê°€ 아니오. 다만 보통 ì—¬ìžìš”. 그는 질투 ë•Œë¬¸ì— ì´ì„±ì˜ íž˜ì„ ìžƒì€ ê²ƒì´ì˜¤. ì—¬ìžê°€ 질투 ë•Œë¬¸ì— ì´ì„±ì„ 잃는 ê²ƒì´ ì²œì§ì´ ì•„ë‹ê¹Œìš”. 그가 나를 사랑하길래 나를 위해서 질투를 가지는 ê²ƒì´ ì•„ë‹ˆì˜¤. -설사 질투가 그로 하여금 ì¹¼ì„ ë“¤ì–´ ë‚´ ê°€ìŠ´ì„ ì°Œë¥´ê²Œ 하였다 하ë”ë¼ë„ 나는 ê°ì‚¬í•œ ìƒê°ì„ 가지고 ëˆˆì„ ê°ì„ 것ì´ì˜¤. 사랑하는 ìžëŠ” 질투한다고 하오. 질투를 누르는 ê²ƒë„ ì•„ë¦„ë‹¤ìš´ ì¼ì´ì§€ë§ˆëŠ” ì§ˆíˆ¬ì— íƒ€ëŠ” ê²ƒë„ ì•„ë¦„ë‹¤ìš´ ì¼ì´ ì•„ë‹ê¹Œìš”. -ëœí¬ëŸ­ëœí¬ëŸ­ 하고 차바퀴가 ì² ë¡œê¸¸ì„ ë„˜ì–´ê°€ëŠ” 소리가 나ë”니 ì´ìœ½ê³  마차는 섰소. -ì•žì— ë¹¨ê°›ê²Œ ë¶ˆì´ ë¹„ì¹˜ì˜¤. -"ìž ì´ê²Œ 우리 집ì´ì˜¤." -하고 그가 마차ì—ì„œ 뛰어내리는 ì–‘ì´ ë³´ì´ì˜¤. ë‚´ë ¤ 보니까 ë‹¬ì´ ì˜¬ë¼ì˜¤ì˜¤. 굉장히 í° ë‹¬ì´, ë¶‰ì€ ë‹¬ì´ ì§€í‰ì„ ìœ¼ë¡œì„œ 넘ì„하고 올ë¼ì˜¤ì˜¤. -ë‹¬ë¹›ì— ë¹„ì¶”ì¸ ë°”ë¥¼ ë³´ë©´ 네모나게 ë‹´ ë‹´ì´ë¼ê¸°ë³´ë‹¤ëŠ” ì„±ì„ ë‘˜ëŸ¬ìŒ“ì€ ë‹¬ 뜨는 곳으로 열린 ëŒ€ë¬¸ì„ ë“¤ì–´ì„œì„œ ë„“ì€ ë§ˆë‹¹ì— ë‚´ë¦° ê²ƒì„ ë°œê²¬í•˜ì˜€ì†Œ. -"아버지!" -"엄마!" -하고 ì•„ì´ë“¤ì´ 뛰어나오오. ë§ë§Œí¼ì´ë‚˜ í° ê°œê°€ 네 놈ì´ë‚˜ 꼬리를 치고 나오오. ê·¸ë†ˆë“¤ì´ ì£¼ì¸ì§‘ 마차 소리를 알아듣고 짖지 아니한 모양ì´ì˜¤. -í° ì•„ì´ëŠ” 계집애로 ì—¬ë‚¨ì€ ì‚´, ìž‘ì€ ì•„ì´ëŠ” 사내로 육칠 세, ëª¨ë‘ ì¤‘êµ­ ì˜·ì„ ìž…ì—ˆì†Œ. -우리는 방으로 들어갔소. ë°©ì€ ì•„ë¼ì‚¬ì‹ 절반, ì¤‘êµ­ì‹ ì ˆë°˜ìœ¼ë¡œ ì„¸ê°„ì´ ë†“ì—¬ 있고 ë²½ì—는 ì¡°ì„  지ë„와 ë‹¨êµ°ì˜ ì´ˆìƒì´ 걸려 있소. -그들 부처는 지ë„와 단군 ì´ˆìƒ ì•žì— í—ˆë¦¬ë¥¼ 굽혀 배례하오. ë‚˜ë„ ë¬´ì˜ì‹ì ìœ¼ë¡œ 그대로 하였소. -그는 차를 마시며 ì´ë ‡ê²Œ ë§í•˜ì˜¤. -"우리는 ìžì‹ë“¤ì„ ì´ í¥ì•ˆë ¹ 가까운 무변 광야ì—ì„œ 기르는 것으로 ë‚™ì„ ì‚¼ê³  있지요. ì¡°ì„  ì‚¬ëžŒë“¤ì€ í•˜ë„ ë§ˆìŒì´ ìž‘ì•„ì„œ 걱정ì´ë‹ˆ ì´ëŸ° 호호탕탕한 ë„“ì€ ë²ŒíŒì—ì„œ 길러나면 마ìŒì´ 좀 커질까 하지요. ë˜ í¥ì•ˆë ¹ ë°‘ì—ì„œ 지나 중ì›ì„ 통ì¼í•œ ì œì™•ì´ ë§Žì´ ë‚¬ìœ¼ë‹ˆ 혹시나 ê·¸ 정기가 남아 있ì„까 하지요. 우리 ë¶€ì²˜ì˜ ìžì†ì´ 몇 대를 ë‘ê³  í¼ì§€ëŠ” ë™ì•ˆì—는 행여나 ë§ˆìŒ í° ì¸ë¬¼ì´ 하나 둘 날는지 알겠어요, 하하하하." -하고 그는 ì œ ë§ì„ 제가 비웃는 ë“¯ì´ í•œë°”íƒ• 웃고 나서, -"그러나 ì´ê±´ ë‚´ 진정ì´ì™¸ë‹¤. ìš°ë¦¬ë„ ì´ë ‡ê²Œ ê³ êµ­ì„ ë– ë‚˜ 있지마는 ê·¸ëž˜ë„ ê³ êµ­ 소ì‹ì´ ê¶ê¸ˆí•´ì„œ 신문 하나는 늘 보지요. 하지만 ì–´ë”” ì‹œì›í•œ 소ì‹ì´ 있어요. 그저 조리복소니가 ë˜ì–´ê°€ëŠ” ê²ƒì´ ì•„ë‹ˆë©´ 조그마한 ìƒê°ì„ 가지고, 눈곱만한 ì•¼ì‹¬ì„ ê°€ì§€ê³ , ì„œ 푼어치 안 ë˜ëŠ” ì´ìƒì„ 가지고 찧고 까불고 싸우고 하는 ê²ƒë°–ì— ì•ˆ ë³´ì´ë‹ˆ ì´ê±° ì–´ë”” ì‚´ 수가 있나. 그래서 나는 ë§ˆìŒ í° ìžì†ì„ 낳아서 길러 볼까 하고 ì´ë¥¼í…Œë©´ 새 ë¯¼ì¡±ì„ í•˜ë‚˜ 만들어 볼까 하고, 둘째 단군, 둘째 아브ë¼í•¨ì´ë‚˜ 하나 낳아 볼까 하고 하하하하앗하." -하고 유쾌하게, 그러나 비통하게 웃소. -나는 ì €ë…ì„ êµ¶ì–´ì„œ ë°°ê°€ 고프고, ë°¤ê¸¸ì„ ê±¸ì–´ì„œ ëª¸ì´ ê³¤í•œ ê²ƒë„ ìžŠê³  ê·¸ì˜ ë§ì„ 들었소. -부ì¸ì´ ê¹€ì´ ë¬´ëŸ­ë¬´ëŸ­ 나는 í˜¸ë–¡ì„ í° ëšë°°ê¸°ì— ë‹´ê³  김치를 ìž‘ì€ ëšë°°ê¸°ì— ë‹´ê³ , ë˜ ë¼ì§€ê³ ê¸° ì‚¶ì€ ê²ƒì„ í•œ ì ‘ì‹œ 담아다가 íƒìž ìœ„ì— ë†“ì†Œ. -건넌방ì´ë¼ê³  í•  만한 ë°©ì—ì„œ ì –ë¨¹ì´ ìš°ëŠ” 소리가 들리오. 부ì¸ì€ 삼십ì´ë‚˜ ë˜ì—ˆì„까, ë‚¨íŽ¸ì€ ì„œë¥¸ëŒ“ ë˜ì—ˆì„ 듯한 키가 í›¨ì© í¬ê³  눈과 코가 í¬ê³  ì†ë„ í° ê±´ìž¥í•œ 대장부요, ìŒì„±ì´ 부드러운 ê²ƒì´ ì²´ê²©ì— ì–´ìš¸ë¦¬ì§€ 아니하나 ê·¸ê²ƒì´ ì•„ë§ˆ ê·¸ì˜ ì •ì‹  ìƒí™œì´ ë†’ì€ í‘œê² ì§€ìš”. -"신문ì—ì„œ 최 ì„ ìƒì´ í•™êµë¥¼ 고만ë‘시게 ë˜ì—ˆë‹¤ëŠ” ë§ë„ 보았지요. 그러나 나는 ê·¸ê²ƒì´ ë‹¤ 최 ì„ ìƒì—게 대한 중ìƒì¸ ì¤„ì„ ì§ìž‘하였고, ë˜ ì˜¤ëŠ˜ ì´ë ‡ê²Œ 만나 보니까 ë”구나 ê·¸ê²ƒì´ ë‹¤ 중ìƒì¸ ì¤„ì„ ì•Œì§€ìš”." -하고 그는 확신 있는 ì–´ì¡°ë¡œ ë§í•˜ì˜¤. -"고맙습니다." -나는 ì´ë ‡ê²Œë°–ì— ëŒ€ë‹µí•  ë§ì´ 없었소. -"ì•„, 머, 고맙다고 하실 ê²ƒë„ ì—†ì§€ìš”." -하고 그는 머리를 뒤로 젖히고 한참ì´ë‚˜ ìƒê°ì„ 하ë”니 ìš°ì„  껄껄 한바탕 웃고 나서, -"ë‚´ê°€ 최 ì„ ìƒì´ 당하신 경우와 ê¼­ ê°™ì€ ê²½ìš°ë¥¼ 당하였거든요. ì´ë¥¼í…Œë©´ 과부 ì„¤ì›€ì€ ë™ë¬´ 과부가 안다는 것ì´ì§€ìš”." -하고 그는 ìžê¸°ì˜ ë‚´ë ¥ì„ ë§í•˜ê¸° 시작하오. -"ë‚´ ì§‘ì€ ë³¸ëž˜ 서울입니다. ë‚´ê°€ ì–´ë ¸ì„ ì ì— ë‚´ 선친께서 ì‹œêµ­ì— ëŒ€í•´ì„œ 불í‰ì„ 품고 당신 삼 í˜•ì œì˜ ê°€ì¡±ì„ ëŒê³  ìž¬ì‚°ì„ ëª¨ë‘ íŒ”ì•„ 가지고 ê°„ë„ì—를 건너오셨지요. ê°„ë„ì— ë§¨ 먼저 â—â—í•™êµë¥¼ 세운 ì´ê°€ ë‚´ 선친ì´ì§€ìš”." -여기까지 하는 ë§ì„ 듣고 나는 그가 누구ì¸ì§€ë¥¼ 알았소. 그는 R씨ë¼ê³  ê°„ë„ ê°œì²™ìžìš”, ê°„ë„ì— ì¡°ì„ ì¸ ë¬¸í™”ë¥¼ 세운 ì´ë¡œ 유명한 ì´ì˜ ì•„ë“¤ì¸ ê²ƒì´ ë¶„ëª…í•˜ì˜¤. 나는 ê·¸ì˜ ì´ë¦„ì´ ëˆ„êµ¬ì¸ì§€ë„ 물어 ë³¼ 것 ì—†ì´ ì•Œì•˜ì†Œ. -"ì•„ 그러십니까. 네, 그러세요." -하고 나는 ê°íƒ„하였소. -"네, ë‚´ ì„ ì¹œì„ í˜¹ 아실는지요. ì„ ì¹œì˜ ë§ì”€ì´ ë…¸ 그러신단 ë§ì”€ì•¼ìš”. ì¡°ì„  ì‚¬ëžŒì€ ì†ì´ ì¢ì•„ì„œ 못쓴다고 <ì •ê°ë¡>ì—ë„ ê·¸ëŸ° ë§ì´ 있다고 ì¡°ì„ ì€ ì‚°ì´ ë§Žê³  ë“¤ì´ ì¢ì•„ì„œ ì‚¬ëžŒì˜ ë§ˆìŒì´ ìž‘ì•„ì„œ í°ì¼í•˜ê¸°ê°€ 어렵고, í°ì‚¬ëžŒì´ 나기가 어렵다고. 웬만치 í°ì‚¬ëžŒì´ 나면 서로 시기해서 í°ì¼í•  새가 ì—†ì´ í•œë‹¤ê³  그렇게 <ì •ê°ë¡>ì—ë„ ìžˆë‹¤ë”êµ°ìš”. 그래서 선친께서 ìžì†ì—게나 í¬ë§ì„ 붙ì´ê³  ê°„ë„ë¡œ 오신 모양ì´ì§€ìš”. 거기서 ìžë¼ë‚¬ë‹¤ëŠ” ê²ƒì´ ë‚´ 꼴입니다마는, 아하하. -ë‚´ê°€ ìžë¼ì„œ 아버지께서 세우신 K여학êµì˜ êµì‚¬ë¡œ ìžˆì„ ë•Œ ì¼ìž…니다. 지금 ë‚´ 아내는 ê·¸ ë•Œ í•™ìƒìœ¼ë¡œ 있었구. ê·¸ëŸ¬ìž ë‚´ 아버지께서 ìž¬ì‚°ì´ ë‹¤ 없어져서 í•™êµë¥¼ ë…담하실 수가 없고, ë˜ ì–¼ë§ˆ 아니해서 아버지께서 ëŒì•„가시고 보니 í•™êµì—는 세력 ë‹¤íˆ¼ì´ ìƒê²¨ì„œ ì•„ë²„ì§€ì˜ í›„ê³„ìžë¡œ 추정ë˜ëŠ” 나를 배척하게 ë˜ì—ˆë‹¨ ë§ì”€ì´ì˜¤. 거기서 나를 배척하는 ìžë£Œë¥¼ ì‚¼ì€ ê²ƒì´ ë‚˜ì™€ 지금 ë‚´ ì•„ë‚´ê°€ ëœ í•™ìƒì˜ 관계란 것ì¸ë° ì´ê²ƒì€ ì „ì—° ë¬´ê·¼ì§€ì„¤ì¸ ê²ƒì€ ë§í•  ê²ƒë„ ì—†ì†Œ. ë‚˜ë„ ì´ê°ì´ìš”, 그는 처녀니까 혼ì¸ì„ 하ìžë©´ 못 í•  ê²ƒë„ ì—†ì§€ë§ˆëŠ” ê·¸ê²ƒì´ ì‚¬ì œ 관계ë¼ë©´ 중대 문제거든. 그래서 나는 단연히 사ì§ì„ 하고 ë‚´ê°€ 사ì§í•œ ê²ƒì€ ì œ 죄를 승ì¸í•œ 것ì´ë¼ 하여서 ê·¸ í•™ìƒ ì§€ê¸ˆ ë‚´ ì•„ë‚´ë„ ì¶œêµ ì²˜ë¶„ì„ ë‹¹í•œ 것ì´ì˜¤. 그러고 보니, ê·¸ ì—¬ìžì˜ 아버지 ë‚´ 장ì¸ì´ì§€ìš” ê·¸ ì—¬ìžì˜ 아버지는 나를 ì£½ì¼ ë†ˆê°™ì´ ì›ë§ì„ 하고 ê·¸ ë”¸ì„ ì£½ì¼ ë…„ì´ë¼ê³  ê°ê¸ˆì„ 하고 어쨌으나 조그마한 ê°„ë„ ì‚¬íšŒì—ì„œ í° íŒŒë¬¸ì„ ì¼ìœ¼ì¼°ë‹¨ ë§ì´ì˜¤. -ì´ ë¬¸ì œë¥¼ ë” í¬ê²Œ 만든 ê²ƒì€ ì§€ê¸ˆ ë‚´ ì•„ë‚´ì¸, ê·¸ ë”¸ì˜ ìžë°±ì´ì˜¤. 무어ë¼ê³  했는고 하니, 나는 ê·¸ ì‚¬ëžŒì„ ì‚¬ëž‘í•˜ì˜¤, ê·¸ 사람한테가 아니면 ì‹œì§‘ì„ ì•ˆ 가오, 하고 뻗댔단 ë§ìš”. -나는 ì´ ì—¬ìžê°€ ì´ë ‡ê²Œ 나를 ìƒê°í•˜ëŠ”ê°€ í•  ë•Œ ì˜ë¶„ì‹¬ì´ ë‚˜ì„œ 나는 어떻게 해서든지 ì´ ì—¬ìžì™€ 혼ì¸í•˜ë¦¬ë¼ê³  ê²°ì‹¬ì„ í•˜ì˜€ì†Œ. 나는 마침내 ì •ì‹ìœ¼ë¡œ K장로ë¼ëŠ” ë‚´ 장ì¸ì—게 ì²­í˜¼ì„ í•˜ì˜€ìœ¼ë‚˜ ë‹¨ë°•ì— ê±°ì ˆì„ ë‹¹í•˜ê³  ë§ì•˜ì§€ìš”. K장로는 ê·¸ ë”¸ì„ ê°„ë„ì— ë‘는 ê²ƒì´ ì˜³ì§€ 않다고 í•´ì„œ 서울로 보내기로 하였단 ë§ì„ 들었소. 그래서 나는 ìµœí›„ì˜ ê²°ì‹¬ìœ¼ë¡œ ê·¸ ì—¬ìž ì§€ê¸ˆ ë‚´ ì•„ë‚´ ëœ ì‚¬ëžŒì„ ë°ë¦¬ê³  ê°„ë„ì—ì„œ ë„ë§í•˜ì˜€ì†Œ. 하하하하. ë°¤ì¤‘ì— ë‹¨ë‘˜ì´ì„œ. -지금 같으면야 ì‚¬ì œê°„ì— ê²°í˜¼ì„ í•˜ê¸°ë¡œ 그리 í° ë¬¸ì œê°€ ë  ê²ƒì´ ì—†ì§€ë§ˆëŠ” ê·¸ ë•Œì— ì–´ë”” 그랬나요. ì‚¬ì œê°„ì— í˜¼ì¸ì´ëž€ ê²ƒì€ ë¶€ë…€ê°„ì— í˜¼ì¸í•œë‹¤ëŠ” 것과 ê°™ì´ ìƒê°í•˜ì˜€ì§€ìš”. ë”구나 ê·¸ ë•Œ ê°„ë„ ì‚¬íšŒì—는 ì²­êµë„ì  ì‚¬ìƒê³¼ 열렬한 ì• êµ­ì‹¬ì´ ìžˆì–´ì„œ ë„ë• í‘œì¤€ì´ ì—¬ê°„ 높지 아니하였지요. 그런 시대니까 ë‚´ê°€ ë‚´ ì œìžì¸ 여학ìƒì„ ë°ë¦¬ê³  달아난다는 ê²ƒì€ ì‚´ì¸ ê°•ë„를 하는 ì´ìƒìœ¼ë¡œ 무서운 ì¼ì´ì—ˆì§€ìš”. ì§€ê¸ˆë„ ë‚˜ëŠ” 그렇게 ìƒê°í•©ë‹ˆë‹¤ë§ˆëŠ”. -그래서 우리 ë‘ ì‚¬ëžŒì€ ìš°ë¦¬ ë‘ ì‚¬ëžŒì´ë¼ëŠ” ê²ƒë³´ë‹¤ë„ ë‚´ ìƒê°ì—는 어찌하였으나 나를 위해서 ì œ ëª©ìˆ¨ì„ ë²„ë¦¬ë ¤ëŠ” ê·¸ì—게 사실 ë‚˜ë„ ë§ˆìŒ ì†ìœ¼ë¡œëŠ” 그를 사랑하였지요. 다만 사제간ì´ë‹ˆê¹Œ ì˜ì›ížˆ 달할 수는 없는 사랑ì´ë¼ê³  단ë…í•˜ì˜€ì„ ë¿ì´ì§€ìš”. 그러니까 ë¹„ë¡ ë¶€ì²˜ ìƒí™œì€ 못 하ë”ë¼ë„ ë‚´ê°€ ê·¸ì˜ ì‚¬ëž‘ì„ ì•ˆë‹¤ëŠ” 것과 ë‚˜ë„ ê·¸ë¥¼ ì´ë§Œí¼ 사랑한다는 ê²ƒë§Œì„ ë³´ì—¬ 주ìžëŠ” 것ì´ì§€ìš”. -때는 마침 ê°€ì„ì´ì§€ë§ˆëŠ”, ëª¸ì— ì§€ë‹Œ ëˆë„ 얼마 없고 천신만고로 길림까지를 나와 가지고는 배를 타고 ì†¡í™”ê°•ì„ ë‚´ë ¤ì„œ í•˜ì–¼ë¹ˆì— ê°€ 가지고 ê±° 기서 간신히 ì¹˜íƒ€ê¹Œì§€ì˜ ì—¬ë¹„ì™€ ì—¬í–‰ê¶Œì„ ì–»ì–´ 가지고 차를 타고 떠나지 않았어요. ê·¸ê²ƒì´ ë°”ë¡œ ì‹­ì—¬ ë…„ ì „ 오늘ì´ëž€ ë§ì´ì˜¤." -ì´ ë•Œì— ë¶€ì¸ì´ 옥수수로 만든 국수와 ê°ìž ì‚¶ì€ ê²ƒì„ ê°€ì§€ê³  들어오오. -나는 Rì˜ ë§ì„ ë“£ë˜ ëì´ë¼ 유심히 부ì¸ì„ ë°”ë¼ë³´ì•˜ì†Œ. 그는 중키나 ë˜ëŠ” 둥근 ì–¼êµ´ì´ í˜ˆìƒ‰ì´ ì¢‹ê³  통통하여 미ì¸ì´ë¼ê¸°ë³´ë‹¤ëŠ” 씩씩한 ì—¬ìžìš”. 그런 ì¤‘ì— ì¡°ì„  ì—¬ìžë§Œì´ 가지는 아담하고 ì ìž–ì€ ë§›ì´ ìžˆì†Œ. -"앉으시지요. 지금 ë‘ ë¶„ê»˜ì„œ ì²˜ìŒ ì‚¬ëž‘í•˜ì‹œë˜ ë§ì”€ì„ 듣고 있습니다." -하고 나는 부ì¸ì—게 êµì˜ë¥¼ 권하였소. -"ì•„ì´, 그런 ë§ì”€ì€ 왜 하시오." -하고 부ì¸ì€ ê°‘ìžê¸° ì‹­ ë…„ì´ë‚˜ 어려지는 모양으로 수삽한 ë¹›ì„ ë³´ì´ê³  고개를 숙ì´ê³  달아나오. -"그래서요. 그래 ì˜¤ëŠ˜ì´ ê¸°ë…ì¼ì´ì™¸ë‹¤ê·¸ë ¤." -하고 ë‚˜ë„ ì›ƒì—ˆì†Œ. -"그렇지요. 우리는 해마다 ì˜¤ëŠ˜ì´ ì˜¤ë©´ 우리 무ë¤ì— 성묘를 가서 í•˜ë£»ë°¤ì„ ìƒˆìš°ì§€ìš”. ì˜¤ëŠ˜ì€ ì†ë‹˜ì´ 오셔서 ì¤‘ê°„ì— ëŒì•„왔지만, 하하하하." -하고 그는 유쾌하게 웃소. -"성묘ë¼ë‹ˆ?" -하고 나는 물었소. -"아까 ë³´ì‹  ë‘ ë³„ ë¬´ë¤ ë§ì´ì˜¤. ê·¸ê²ƒì´ ìš°ë¦¬ ë‚´ì™¸ì˜ ë¬´ë¤ì´ì§€ìš”. 하하하하." -"…………." -나는 ì˜ë¬¸ì„ 모르고 가만히 앉았소. -"ë‚´ ì´ì•¼ê¸°ë¥¼ 들으시지요. 그래 둘ì´ì„œ 차를 타고 오지 않았겠어요. 물론 여전히 ì„ ìƒë‹˜ê³¼ ì œìžì§€ìš”. 그렇지만 워낙 여러 ë‚  단둘ì´ì„œ ê°™ì´ ê³ ìƒì„ 하고 ì—¬í–‰ì„ í–ˆìœ¼ë‹ˆ ì‚¬ëž‘ì˜ ë¶ˆê¸¸ì´ íƒˆ 것ì´ì•¼ 물론 아니겠어요. 다만 사제ë¼ëŠ” êµ³ì€ ì˜ë¦¬ê°€ ê·¸ê²ƒì„ ê²‰ì— ë‚˜ì˜¤ì§€ 못하ë„ë¡ ëˆ„ë¥¸ 것ì´ì§€ìš”. â€¦â€¦ê·¸ëŸ°ë° ê¼­ ì˜¤ëŠ˜ê°™ì´ ì¢‹ì€ ë‚ ì¸ë° 여기는 대개 ì¼ê¸°ê°€ ì¼ì •í•©ë‹ˆë‹¤. 좀체로 비가 오는 ì¼ë„ 없고 í리는 ë‚ ë„ ì—†ì§€ìš”. í—Œë° Fì—­ì—를 오니까 ì°¸ ì„ì–‘ 경치가 좋단 ë§ì´ì˜¤. ê·¸ ë•Œì— ë¶ˆí˜„ë“¯, ì—ë¼ ì—¬ê¸°ì„œ 내려서 ì´ ì„ì–‘ ì†ì— ì € 호숫 ê°€ì— ë‘˜ì´ì„œ 헤매다가 깨ë—ì´ ì‚¬ì œì˜ ëª¸ìœ¼ë¡œ ì´ ê¹¨ë—í•œ ê´‘ì•¼ì— ë¬»í˜€ ë²„ë¦¬ìž í•˜ëŠ” ìƒê°ì´ 나겠지요. 그래 ê·¸ ë•Œ ë§ì„ ë‚´ ì•„ë‚´ ê·¸ ë•Œì—는 ì•„ì§ ì•„ë‚´ê°€ 아니지요 ë‚´ ì•„ë‚´ì—게 그런 ë§ì„ 하였ë”니 ì°¸ 좋다고 ë°•ìž¥ì„ í•˜ê³  ë‚´ ì–´ê¹¨ì— ë§¤ë‹¬ë¦¬ëŠ”êµ¬ë ¤. 그래서 우리 ë‘˜ì€ ì°¨ê°€ ê±°ì˜ ë– ë‚  ìž„ë°•í•´ì„œ ì°¨ì—ì„œ 뛰어내렸지요." -하고 그는 그때 ê´‘ê²½ì„ ëˆˆì•žì— ê·¸ë¦¬ëŠ” 모양으로 ë§ì„ ëŠê³  ìš°ë‘커니 í—ˆê³µì„ ë°”ë¼ë³´ì˜¤. 그러나 ê·¸ì˜ ìž… 언저리ì—는 유쾌한 회고ì—ì„œ 나오는 웃ìŒì´ì—ˆì†Œ. -"ì´ì•¼ê¸° 다 ë났어요?" -하고 부ì¸ì´ í¬ë°”스ë¼ëŠ” 청량 ìŒë£Œë¥¼ 들고 들어오오. -"아니오. ì´ì œë¶€í„°ê°€ 정통ì´ë‹ˆ ë‹¹ì‹ ë„ ê±°ê¸° 앉으시오. 지금 ì°¨ì—ì„œ 내린 ë°ê¹Œì§€ ì™”ëŠ”ë° ë‹¹ì‹ ë„ ì•‰ì•„ì„œ í•œ 파트를 맡으시오." -하고 R는 부ì¸ì˜ ì†ì„ ìž¡ì•„ì„œ ìžë¦¬ì— 앉히오. 부ì¸ë„ 웃으면서 앉소. -"최 ì„ ìƒ ì²˜ì§€ê°€ ê¼­ 나와 같단 ë§ìš”. ì •ìž„ì˜ ì²˜ì§€ê°€ 당신과 같고." -하고 그는 ë§ì„ 계ì†í•˜ì˜¤. -"그래 ì°¨ì—ì„œ 내려서 나는 ì´ ì–‘ë°˜í•˜ê³  ë¬¼ì„ ì°¾ì•„ 헤매었지요. ì•„ë”°, ì„ì–‘ì´ ì–´ë–»ê²Œ 좋ì€ì§€ ì´ ì–‘ë°˜ì€ ë°•ìž¥ì„ í•˜ê³  노래를 부르고 우리 ë‘˜ì€ ë§ˆì¹˜ 유쾌하게 산보하는 사람 같았지요." -"ì°¸ 좋았어요. ê·¸ ë•Œì—는 ì°¸ 좋았어요. ê·¸ ì„ì–‘ì— ë¹„ì¹œ 광야와 호수ë¼ëŠ” ê±´ 어떻게 좋ì€ì§€ ê·¸ ìˆ˜ì€ ê°™ì€ ë¬¼ ì†ì— 텀벙 뛰어들고 싶었어요. ê·¸ 후엔 해마다 ë³´ì•„ë„ ê·¸ë§Œ 못해." -하고 부ì¸ì´ ì°¸ê²¬ì„ í•˜ì˜¤. -ì•„ì´ë“¤ì€ 다 ìžëŠ” 모양ì´ì˜¤. -"그래 ì§€í–¥ì—†ì´ í—¤ë§¤ëŠ”ë° í•´ëŠ” 뉘엿뉘엿 넘어가구, ì–´ìŠ¤ë¦„ì€ ê¸°ì–´ë“¤ê³  ê·¸ ë•Œ 마침 하늘ì—는 별 ë‘˜ì´ ë‚˜íƒ€ë‚¬ë‹¨ ë§ì´ì•¼. ê·¸ê²ƒì„ ì´ ì—¬í•™ìƒì´ 먼저 ë³´ê³ ì„œ ê°‘ìžê¸° 추연해지면서 ì„ ìƒë‹˜ ì € 별 보셔요, ì•žì„  í° ë³„ì€ ì„ ìƒë‹˜ì´ 구 ë”°ë¼ê°€ëŠ” ìž‘ì€ ë³„ì€ ì €ì•¼ìš”, 하겠지요. ê·¸ ë§ì´, ë˜ ê·¸ 태ë„ê°€ 어떻게 가련한지. 그래서 나는 í•˜ëŠ˜ì„ ë°”ë¼ë³´ë‹ˆê¹ 과연 별 ë‘ ê°œê°€ 지는 해를 따르는 ë“¯ì´ ë”°ë¼ê°„다 ë§ìš”. ë§ì„ 듣고 보니 과연 우리 ì‹ ì„¸ì™€ë„ ê°™ì§€ ì•Šì•„ìš”? -그리고는 ì´ ì‚¬ëžŒì´ ë˜ ì´ëŸ½ë‹ˆë‹¤ê·¸ë ¤ `ì„ ìƒë‹˜, ì•žì„  í° ë³„ì€ ì•„ë¬´ë¦¬ ë”°ë¼ë„ ì € ìž‘ì€ ë³„ì€ ì˜ì›ížˆ ë”°ë¼ìž¡ì§€ 못하겠지요. ì˜ì›ížˆ ì˜ì›ížˆ ë”°ë¼ê°€ë‹¤ê°€ ë”°ë¼ê°€ë‹¤ê°€ 못 í•´ì„œ 마침내는 ì € ìž‘ì€ ë³„ì€ ì£½ì–´ì„œ ê²€ì€ ìž¬ê°€ ë˜ê³  ë§ê² ì§€ìš”? ì € ìž‘ì€ ë³„ì´ ì œ 신세와 어쩌면 그리 ê°™ì„까.' 하고 í•œíƒ„ì„ í•˜ê² ì§€ìš”. ê·¸ ë•Œì— í•œíƒ„ì„ í•˜ê³  ëˆˆë¬¼ì„ í˜ë¦¬ê³  섰는 어린 ì²˜ë…€ì˜ ì„ì–‘ë¹›ì— ë¹„ì·¬ ëª¨ì–‘ì„ ìƒìƒí•´ 보세요, 하하하하. ê·¸ ë•Œì—는 ë‹¹ì‹ ë„ ë¯¸ì¸ì´ì—ˆì†Œ. 하하하하." -하고 내외가 유쾌하게 웃는 ê²ƒì„ ë³´ë‹ˆ 나는 ë”ìš± ì ë§‰í•˜ì—¬ì§ì„ 깨달았소. 어쩌면 ê·¸ ì„ì–‘, ê·¸ ë‘ ë³„ì´ ì´ë“¤ì—게와 내게 ê¼­ ê°™ì€ ì¸ìƒì„ 주었ì„까 하니 참으로 ì´ìƒí•˜ë‹¤ 하였소. -"그래 ì¸ì œ." -하고 R는 다시 ì´ì•¼ê¸°ë¥¼ 계ì†í•˜ì˜¤. -"그래 ì¸ì œ 둘ì´ì„œ 그야ë§ë¡œ ê°ê°œë¬´ëŸ‰í•˜ê²Œ ë‘ ë³„ì„ ë°”ë¼ë³´ë©° 걸었지요. 그러다가 í•´ê°€ 넘어가고 ì•žì„  í° ë³„ì´ ë„˜ì–´ê°€ê³  그리고는 혼ìžì„œ 깜빡깜빡하고 ê°€ë˜ ìž‘ì€ ë³„ì´ ë„˜ì–´ê°€ë‹ˆ 우리는 그만 ë•…ì— ì£¼ì €ì•‰ì•˜ì†Œ. 거기가 어딘고 하니 ê·¸ ë‘ ë³„ 무ë¤ì´ 있는 ê³³ì´ì§€ìš”. `ì„ ìƒë‹˜ 저를 여기다가 파묻어 주시고 가셔요. ì„ ìƒë‹˜ ì†ìˆ˜ 저를 여기다가 묻어 놓고 ê°€ 주셔요.' 하고 ì´ ì‚¬ëžŒì´ ì¡°ë¥´ì§€ìš”." -하는 ê²ƒì„ ë¶€ì¸ì€, -"ë‚´ê°€ 언제." -하고 ë‚¨íŽ¸ì„ í˜ê²¨ë³´ì˜¤. -"그럼 무ì—ë¼ê³  했소? ì–´ë”” 본ì¸ì´ í•œ 번 옮겨 보오." -하고 Rê°€ ë§ì„ ëŠì†Œ. -"ê°„ë„를 ë– ë‚œ 지가 í•œ ë‹¬ì´ ë˜ë„ë¡ ë‹¨ë‘˜ì´ ë‹¤ë…€ë„ ìš”ë§Œí¼ë„ 귀해 주는 ì ì´ 안 뵈니 그럼 파묻어 달ë¼ê³  안 í•´ìš”?" -하고 부ì¸ì€ 웃소. -"í¥í¥." -하고 R는 부ì¸ì˜ ë§ì— 웃고 나서, -"ê·¸ ìžë¦¬ì— 묻어 달란 ë§ì„ 들으니까, 어떻게 측ì€í•œì§€, 그럼 ë‚˜ë„ í•¨ê»˜ 묻히ìžê³  그랬지요. 나는 ê·¸ ë•Œì— ì°¸ë§ ê·¸ ìžë¦¬ì— 함께 묻히고 싶었어요. 그래서 나는 ì†ìœ¼ë¡œ 곧 구ë©ì´ë¥¼ 팠지요. 떡가루 ê°™ì€ ëª¨ëž˜íŒì´ë‹ˆê¹Œ 파기는 íž˜ì´ ì•„ë‹ˆ 들겠지요. ì´ì´ë„ 물ë„러미 ë‚´ê°€ ë•…ì„ íŒŒëŠ” ê²ƒì„ ë³´ê³  ì„°ë”니만 ìžê¸°ë„ 파기를 시작하겠지요." -하고 내외가 다 웃소. -"그래 순ì‹ê°„ì—……." -하고 R는 ì´ì•¼ê¸°ë¥¼ 계ì†í•˜ì˜¤. -"순ì‹ê°„ì— ë‘˜ì´ ë“œëŸ¬ëˆ„ìš¸ 만한 구ë©ì´ë¥¼ 아마 ë‘ ìž ê¹Šì´ë‚˜ ë˜ê²Œ, 네모나게 파 놓고는 ë‚´ê°€ 들어가 누워 ë³´ê³  그러고는 ë˜ íŒŒê³  하여 아주 편안한 구ë©ì´ë¥¼ 파고 나서는 나는 아주 세ìƒì„ 하ì§í•  셈으로 ì‚¬ë°©ì„ ë‘˜ëŸ¬ë³´ ê³  사방ì´ëž˜ì•¼ ì»´ì»´í•œ ì–´ë‘ ë°–ì— ì—†ì§€ë§Œ ì‚¬ë°©ì„ ë‘˜ëŸ¬ë³´ê³ , ì´ë¥¼í…Œë©´ 세ìƒê³¼ ìž‘ë³„ì„ í•˜ê³  드러누웠지요. 지금 ì´ë ‡ê²Œ íšŒê³ ë‹´ì„ í•  ë•Œì—는 ìš°ìŠµê¸°ë„ í•˜ì§€ë§ˆëŠ” ê·¸ ë•Œì—는 참으로 종êµì ì´ë¼ í•  만한 엄숙ì´ì—ˆì†Œ. 그때 우리 ë‘˜ì˜ ì²˜ì§€ëŠ” ì•žë„ ì ˆë²½, ë’¤ë„ ì ˆë²½ì´ì–´ì„œ 죽는 ê¸¸ë°–ì— ì—†ì—ˆì§€ìš”. ë˜ ê·¸ë¿ ì•„ë‹ˆë¼ ì¸ìƒì˜ 가장 깨ë—하고 가장 ì‚¬ëž‘ì˜ ë§‘ì€ ì •ì´ íƒ€ê³  가장 기ì˜ê³ ë„ ìŠ¬í”„ê³ ë„ ì´ë¥¼í…Œë©´ 모든 ê°ì •ì´ ì ˆì •ì— ë‹¬í•˜ê³ , 그러한 ìˆœê°„ì— ëª©ìˆ¨ì„ ëŠì–´ 버리는 ê²ƒì´ ê°€ìž¥ ì¢‹ì€ ì¼ì´ìš”, 가장 마땅한 ì¼ê°™ì´ ìƒê°í•˜ì˜€ì§€ìš”. ê´‘ì•¼ì— ì•„ë¦„ë‹¤ìš´ í™©í˜¼ì´ ìˆœê°„ì— ìŠ¤ëŸ¬ì§€ëŠ” 모양으로 우리 ë‘ ìƒëª…ì˜ ì•„ë¦„ë‹¤ì›€ë„ ìˆœê°„ì— ìŠ¤ëŸ¬ì§€ìžëŠ” 우리는 ì² í•™ìžë„ ì‹œì¸ë„ 아니지마는 ìš°ë¦¬ë“¤ì˜ í™˜ê²½ì´ ìš°ë¦¬ 둘ì—게 그러한 ìƒê°ì„ 넣어 준 것ì´ì§€ìš”. -그래서 ë‚´ê°€ 가만히 드러누워 있는 ê²ƒì„ ì €ì´ê°€ 물ë„러미 ë³´ê³  있ë”니 ìžê¸°ë„ ë‚´ ê³ì— 들어와 눕겠지요. 그런 ë’¤ì—는 í™©í˜¼ì— ë‚¨ì€ ë¹›ë„ ë‹¤ 스러지고 아주 캄캄한 ì•”í‘ ì„¸ê³„ê°€ ë˜ì–´ 버렸지요. í•˜ëŠ˜ì— ì–´ë–»ê²Œ 그렇게 ë³„ì´ ë§Žì€ì§€. 가만히 í•˜ëŠ˜ì„ ë°”ë¼ë³´ë…¸ë¼ë©´ ì°¸ ë³„ì´ ë§Žì•„ìš”. 우주란 ì°¸ 커요. ê·¸ëŸ°ë° ì´ ëì—†ì´ í° ìš°ì£¼ì— í•œì—†ì´ ë§Žì€ ë³„ë“¤ì´ ë‹¤ ì œìžë¦¬ë¥¼ 지키고 ì œ ê¸¸ì„ ì§€ì¼œì„œ 서로 ë¶€ë”ªì§€ë„ ì•„ë‹ˆí•˜ê³  ëì—†ì´ ê¸´ ì‹œê°„ì— ì§ˆì„œë¥¼ 유지하고 있는 ê²ƒì„ ë³´ë©´ 우주ì—는 ì–´ë–¤ 주재하는 뜻, 섭리하는 ëœ»ì´ ìžˆë‹¤ 하는 ìƒê°ì´ 나겠지요. ë‚˜ë„ ì˜ˆìˆ˜êµì¸ì˜ 가정ì—ì„œ ìžë¼ë‚¬ì§€ë§ˆëŠ” ì´ ë•Œì²˜ëŸ¼ 하나님ì´ë¼ 할까 ì´ë¦„ì€ ë¬´ì—‡ì´ë¼ê³  하든지 ê°„ì— ìš°ì£¼ì˜ ì„­ë¦¬ìžì˜ 존재를 강렬하게 ì˜ì‹í•œ ì¼ì€ 없었지요. -그렇지만 `ì‚¬ëžŒì˜ ë§ˆìŒì— 비기면 저까짓 ë³„ë“¤ì´ ë‹¤ 무엇ì´ì˜¤?' 하고 그때 겨우 ì—´ì—¬ëŸ ì‚´ë°–ì— ì•ˆ ëœ ì´ì´ê°€ ë‚´ ê·€ì— ìž…ì„ ëŒ€ê³  ë§í•  ë•Œì—는 ë‚˜ë„ ì°¸ìœ¼ë¡œ 놀ëžìŠµë‹ˆë‹¤. 나ì´ëŠ” 나보다 오륙 ë…„ ìƒê´€ë°–ì— ì•ˆ ë˜ì§€ë§ˆëŠ” ì´ì‹­ 세 ë‚´ì™¸ì— ì˜¤ë¥™ ë…„ ìƒê´€ì´ ì ì€ 것ì¸ê°€ìš”? 게다가 나는 ì„ ìƒì´ìš” ìžê¸°ëŠ” í•™ìƒì´ë‹ˆê¹Œ 어린애로만 ì•Œì•˜ë˜ ê²ƒì´ ê·¸ëŸ° ë§ì„ 하니 놀ëžì§€ ì•Šì•„ìš”? 어째서 ì‚¬ëžŒì˜ ë§ˆìŒì´ í•˜ëŠ˜ë³´ë‹¤ë„ ë” ì´ìƒí• ê¹Œ 하고 ë‚´ê°€ 물으니까, ê·¸ ëŒ€ë‹µì´ `나는 무엇ì´ë¼ê³  설명할 수가 없지마는 ë‚´ ë§ˆìŒ ì†ì— ì¼ì–´ë‚˜ëŠ” ê²ƒì´ í•˜ëŠ˜ì´ë‚˜ ë•…ì— ì¼ì–´ë‚˜ëŠ” 모든 ê²ƒë³´ë‹¤ë„ ë” ì•„ë¦„ë‹µê³  ë” ì•Œ 수 없고 ë” ëœ¨ê²ê³  그런 것 같아요.' 그러겠지요. ìƒëª…ì´ëž€ 모든 아름다운 것 ì¤‘ì— ê°€ìž¥ 아름다운 것ì´ë¼ëŠ” ê²ƒì„ ë‚˜ëŠ” 깨달았어요. ê·¸ ë§ì—, `그렇다 하면 ì´ ì•„ë¦„ë‹µê³  신비한 ìƒëª…ì„ ë‚´ëŠ” 우주는 ë” ì•„ë¦„ë‹¤ìš´ ê²ƒì´ ì•„ë‹ˆì˜¤?' 하고 ë‚´ê°€ 반문하니까, 당신(부ì¸ì„ 향하여) ë§ì´, `ì „ 모르겠어요, 어쨌으나 ì „ 행복합니다. 저는 ì´ í–‰ë³µì„ ê¹¨ëœ¨ë¦¬ê³  싶지 않습니다. ë†“ì³ ë²„ë¦¬ê³  싶지 않습니다. ì´ í–‰ë³µ ì„ ìƒë‹˜ ê³ì— 있는 ì´ í–‰ë³µì„ ê½‰ 안고 죽고 싶어요.' 그러지 않았소?" -"누가 그랬어요? ì•„ì´ ë‚œ 다 잊어버렸어요." -하고 부ì¸ì€ 차를 따르오. R는 ì¸ì œëŠ” 하하하 하는 웃ìŒì¡°ì°¨ 잊어버리고, 부ì¸ì—게 ë†ë‹´ì„ 붙ì´ëŠ” 것조차 잊어버리고, 그야ë§ë¡œ 종êµì  엄숙 그대로ë§ì„ ì´ì–´, -"`ìž ì €ëŠ” ì•½ì„ ë¨¹ì–´ìš”.' 하고 ì†ì„ 입으로 가져가는 ë™ìž‘ì´ ê°í–‰ë˜ê² ì§€ìš”. 약ì´ëž€ ê²ƒì€ í•˜ì–¼ë¹ˆì—ì„œ 준비한 아편ì´ì§€ìš”. 하얼빈서 치타까지 가는 ë™ì•ˆì— í¥ì•ˆë ¹ì´ë‚˜ ì–´ëŠ ì‚¼ë¦¼ì§€ëŒ€ë‚˜ 어디서나 ì£½ì„ ìžë¦¬ë¥¼ ì°¾ìžê³  준비한 것ì´ë‹ˆê¹Œ. 나는 ìž… 근처로 가는 ê·¸ì˜ ì†ì„ 붙들었어요. 붙들면서 나는 `ìž ê¹ë§Œ 기다리오. 오늘 ë°¤ 안으로 ê·¸ ì•½ì„ ë¨¹ìœ¼ë©´ ê³ ë§Œì´ ì•„ë‹ˆì˜¤? ì´ í–‰ë³µëœ ìˆœê°„ì„ ìž ê¹ì´ë¼ë„ 늘립시다. 달 올ë¼ì˜¬ 때까지만.' 나는 ì´ë ‡ê²Œ ë§í–ˆì§€ìš”. `ì„ ìƒë‹˜ë„ 행복ë˜ì…”ìš”? ì„ ìƒë‹˜ì€ 불행ì´ì‹œì§€. ì € ë•Œë¬¸ì— ë¶ˆí–‰ì´ì‹œì§€. 저만 ì´ê³³ì— 묻어 주시구는 ì„ ìƒë‹˜ì€ 세ìƒì— ëŒì•„ê°€ 사셔요, 오래오래 사셔요, ì¼ ë§Žì´ í•˜ê³  사셔요.' 하고 울지 ì•Šê² ì–´ìš”. 나는 ê·¸ ë•Œì— ë‚´ ì•„ë‚´ê°€ í•˜ë˜ ë§ì„ í•œ ë§ˆë””ë„ ìžŠì§€ 아니합니다. ê·¸ ë§ì„ ë“£ë˜ ë•Œì˜ ë‚´ ì¸ìƒì€ 아마 ì¼ìƒ ë‘ê³  잊히지 아니하겠지요. -나는 ìžë°±í•©ë‹ˆë‹¤. ê·¸ ìˆœê°„ì— ë‚˜ëŠ” 처ìŒìœ¼ë¡œ ë‚´ 아내를 안고 키스를 하였지요. ë‚´ ì†ì— 눌리고 눌리고 쌓ì´ê³  í•˜ì˜€ë˜ ì—´ì •ì´ ê·¸ë§Œ ì¼ì‹œì— í­ë°œë˜ì—ˆë˜ 것ì´ì˜¤. ì•„ì•„ ì´ê²ƒì´ ìµœì´ˆì˜ ê²ƒì´ìš”, ë™ì‹œì— ìµœí›„ì˜ ê²ƒì´ë¡œêµ¬ë‚˜ í•  ë•Œì— ë‚´ 눈ì—서는 ë“는 듯한 ëˆˆë¬¼ì´ í˜ë €ì†Œì´ë‹¤. ë‘ ì‚¬ëžŒì˜ ì‹¬ìž¥ì´ ë›°ëŠ” 소리, ë‘ ì‚¬ëžŒì˜ í’€ë¬´ 불길 ê°™ì€ ìˆ¨ì†Œë¦¬. -ì´ìœ½ê³  ë‹¬ì´ ë– ì˜¬ë¼ ì™”ìŠµë‹ˆë‹¤. ê°€ì´ì—†ëŠ” 벌íŒì´ë‹ˆê¹Œ ë‹¬ì´ ëœ¨ë‹ˆê¹Œ ê°‘ìžê¸° 천지가 환해지고 우리 ë‘˜ì´ ì†ìœ¼ë¡œ 파서 쌓아 ë†“ì€ í™ë¬´ë”기가 ì´ ì‚° 없는 세ìƒì— ì‚°ì´ë‚˜ ë˜ëŠ” ê²ƒê°™ì´ ì¡°ê·¸ë§ˆí•œ ê²€ì€ ê·¸ë¦¼ìžë¥¼ 지고 있겠지요. `ìž ìš°ë¦¬ ë‹¬ë¹›ì„ ë ê³  좀 ëŒì•„다ë‹ê¹Œ.' 하고 나는 아내를 안아 ì¼ìœ¼ì¼°ì§€ìš”. ë‚´ íŒ”ì— ì•ˆê²¨ì„œ 고개를 뒤로 젖힌 ë‚´ ì•„ë‚´ì˜ ì–¼êµ´ì´ ë‹¬ë¹›ì— ë¹„ì¹œ ì–‘ì„ ë‚˜ëŠ” 잘 기억합니다. 실신한 듯한, 만족한 듯한, ê·¸ë¦¬ê³ ë„ ì ˆë§í•œ 듯한 ê·¸ í‘œì •ì„ ë¬´ì—‡ìœ¼ë¡œ 그릴지 모릅니다. ê·¸ë¦¼ë„ ê·¸ë¦´ 줄 모르고 ì¡°ê°ë„ í•  줄 모르고 ê¸€ë„ ì“¸ 줄 모르는 ë‚´ê°€ ê·¸ê²ƒì„ ì–´ë–»ê²Œ 그립니까. 그저 가슴 ì†ì— 품고 ì´ë ‡ê²Œ ì˜¤ëŠ˜ì˜ ë‚´ 아내를 ë°”ë¼ë³¼ ë¿ì´ì§€ìš”. -나는 ë‚´ 아내를 íŒ”ì— ê±¸ê³  네, 걸었다고 하는 ê²ƒì´ ê°€ìž¥ 합당하지 ìš” ì´ë ‡ê²Œ 팔ì—다 걸고 ë‹¬ë¹›ì„ ë°›ì€ í™©ëŸ‰í•œ 벌íŒ, 아무리 í•˜ì—¬ë„ í™˜í•˜ê²Œ ë°ì•„지지는 아니하는 벌íŒì„ 헤매었습니다. ì´ë”°ê¸ˆ ë‚´ ì•„ë‚´ê°€, `ì–´ì„œ 죽고 싶어요, ì „ 죽고만 싶어요.' 하는 ë§ì—는 ëŒ€ë‹µë„ ì•„ë‹ˆ 하고. 죽고 싶다는 ê·¸ ë§ì€ 물론 ì§„ì •ì¼ ê²ƒì´ì§€ìš”. 아무리 ë§‘ì€ ì¼ê¸°ë¼ 하ë”ë¼ë„ 오후가 ë˜ë©´ í려지는 법ì´ë‹ˆê¹Œ 오래 살아가는 ë™ì•ˆì— 늘 í•œ 모양으로 ì´ ìˆœê°„ê°™ì´ ê¹¨ë—하고 뜨거운 기분으로 ê°ˆ 수는 없지 ì•Šì•„ìš”? 불쾌한 ì¼ë„ ìƒê¸°ê³ , 보기 í‰í•œ ì¼ë„ ìƒê¸¸ëŠ”지 모르거든. 그러니까 ì´ ì™„ì „í•œ 깨ë—ê³¼ 완전한 사랑과 완전한 행복 ì†ì— 죽어 버리ìžëŠ” ëœ»ì„ ë‚˜ëŠ” 잘 알지요. ë”구나 ìš°ë¦¬ë“¤ì´ ì‚´ì•„ 남는대야 ì•žê¸¸ì´ ê¸°êµ¬í•˜ì§€ í‰íƒ„í•  리는 없지 아니해요? 그래서 나는 `죽지, 우리 ì´ ë‹¬ë°¤ì— ì‹¤ì»· ëŒì•„다니다가, ë” ëŒì•„다니기가 ì‹«ê±°ë“  ê·¸ 구ë©ì— ëŒì•„가서 ì•½ì„ ë¨¹ì시다.' ì´ë ‡ê²Œ ë§í•˜ê³  우리 ë‘˜ì€ í—¤ë§¸ì§€ìš”. ë‚®ì— ë³´ë©´ 어디까지나 í‰í‰í•œ 벌íŒì¸ 것만 같지마는 ë‹¬ë°¤ì— ë³´ë©´ ì´ ì‚¬ë§‰ì—ë„ ì•„ì§ ì±„ 스러지지 아니한 ì‚°ì˜ í˜•ì ì´ 남아 있어서 êµ°ë°êµ°ë° 거뭇거뭇한 그림ìžê°€ 있겠지요. ê·¸ ê·¸ë¦¼ìž ì†ì—는 걸어 들어가면 ì–´ë–¤ ë°ëŠ” 우리 í—ˆë¦¬ë§Œí¼ ê·¸ë¦¼ìžì— 가리우고 ì–´ë–¤ ë°ëŠ” 우리 ë‘˜ì„ ë‹¤ 가리워 버리는 ë°ë„ 있단 ë§ì•¼ìš”. 죽ìŒì˜ 그림ìžë¼ëŠ” ìƒê°ì´ 나면 ê·¸ëž˜ë„ ëª¸ì— ì†Œë¦„ì´ ë¼ì³ìš”. -차차 ë‹¬ì´ ë†’ì•„ì§€ê³  추위가 심해져서 ë°”ëžŒê²°ì´ ì§€ë‚˜ê°ˆ ë•Œì—는 눈ì—ì„œ ëˆˆë¬¼ì´ ë‚  지경ì´ì§€ìš”. ì›ì²´ 대기 ì¤‘ì— ìˆ˜ë¶„ì´ ì ìœ¼ë‹ˆê¹Œ ì„œë¦¬ë„ ë§Žì§€ 않지마는, ê·¸ëž˜ë„ ëŒ€ê¸° ì¤‘ì— ìžˆëŠ” ìˆ˜ë¶„ì€ ë‹¤ 얼어 버려서 ì–¼ìŒê°€ë£¨ê°€ ë˜ì—ˆëŠ” 게지요. 공중ì—는 ë°˜ì§ë°˜ì§í•˜ëŠ” 수정가루 ê°™ì€ ê²ƒì´ ë³´ìž…ë‹ˆë‹¤. ë‚®ì—는 ë•€ì´ íë¥´ë¦¬ë§Œí¼ ë¥ë˜ ì‚¬ë§‰ë„ ë°¤ì´ ë˜ë©´ ì´ë ‡ê²Œ ê¸°ì˜¨ì´ ë‚´ë ¤ê°€ì§€ìš”. 춥다고 ìƒê°ì€ í•˜ë©´ì„œë„ ì¶¥ë‹¤ëŠ” ë§ì€ 아니 하고 우리는 ì–´ë–¤ ë•Œì—는 ë‹¬ì„ ë”°ë¼ì„œ, ì–´ë–¤ ë•Œì—는 ë‹¬ì„ ë“±ì§€ê³ , ì–´ë–¤ ë•Œì—는 í˜¸ìˆ˜ì— ë¹„ì¹œ ë‹¬ì„ êµ½ì–´ë³´ê³ , ì´ ëª¨ì–‘ìœ¼ë¡œ í•œì—†ì´ ë§ë„ ì—†ì´ ëŒì•„다녔지요. ì´ ì„¸ìƒ ìƒëª…ì˜ ë§ˆì§€ë§‰ ìˆœê°„ì„ íž˜ê» ì˜ì‹í•˜ë ¤ëŠ” 듯ì´. -마침내 `나는 ë” ëª» 걸어요.' 하고 ì´ì´ê°€ ë‚´ ì–´ê¹¨ì— ë§¤ë‹¬ë ¤ 버리고 ë§ì•˜ì§€ìš”." -하고 Rê°€ 부ì¸ì„ ëŒì•„보니 부ì¸ì€ íŽ¸ë¬¼í•˜ë˜ ì†ì„ 쉬고, -"다리가 아픈 ì¤„ì€ ëª¨ë¥´ê² ëŠ”ë° ë‹¤ë¦¬ê°€ ì´ë¦¬ 뉘구 저리 뉘구 í•´ì„œ 걸ìŒì„ ê±¸ì„ ìˆ˜ê°€ 없었어요. 춥기는 하구." -하고 소리를 ë‚´ì–´ì„œ 웃소. -"그럴 ë§Œë„ í•˜ì§€." -하고 R는 긴장한 í‘œì •ì„ ì•½ê°„ 풀고 ì•‰ì€ ìžì„¸ë¥¼ ìž ê¹ ê³ ì¹˜ë©°, -"ê·¸ í›„ì— ê·¸ ë‚  ë°¤ ëŒì•„다닌 ê³³ì„ ë”듬어 보니까, ìžì„¸ížˆëŠ” ì•Œ 수 없지마는 삼십 리는 ë” ë˜ëŠ” 것 같거든. 다리가 아프지 아니할 리가 있나." -하고 차를 í•œ 모금 마시고 나서 ë§ì„ 계ì†í•˜ì˜¤. -"그래서 나는 ë‚´ 외투를 ë²—ì–´ì„œ, ì´ì´(부ì¸)를 싸서 어린애 ì•ˆë“¯ì´ ì•ˆê³  걸었지요. 외투로 쌌으니 ìžê¸°ë„ 춥지 않구, 나는 ë˜ ë¬´ê±°ìš´ ì§ì„ 안았으니 ë•€ì´ ë‚  지경ì´êµ¬, ê·¸ë¿ ì•„ë‹ˆë¼ ë‚´ê°€ 제게 주는 ìµœí›„ì˜ ì„œë¹„ìŠ¤ë¼ í•˜ë‹ˆ 기ì˜ê³ , ë§í•˜ìžë©´ ì¼ê±° 삼ë“ì´ì§€ìš”. 하하하하. 지난 ì¼ì´ë‹ˆ 웃지마는 ê·¸ ë•Œ ì‚¬ì •ì„ ìƒê°í•´ 보세요, 어떠했겠나." -하고 R는 약간 처참한 ë¹›ì„ ë ë©´ì„œ, -"그러니 ê·¸ 구ë©ì´ë¥¼ ì–´ë”” ì°¾ì„ ìˆ˜ê°€ 있나. 얼마를 찾아 ëŒì•„다니다가 아무 ë°ì„œë‚˜ ì£½ì„ ìƒê°ë„ í•´ 보았지마는 몸뚱ì´ë¥¼ 그냥 벌íŒì— 내놓고 죽고 싶지는 아니하고 ë˜ ê·¸ 구ë©ì´ê°€ 우리 ë‘ ì‚¬ëžŒì—게 특별한 ì˜ë¯¸ê°€ 있는 것 같아서 기어코 ê·¸ê²ƒì„ ì°¾ì•„ 내고야 ë§ì•˜ì§€ìš”. ê·¸ 때는 ë²Œì¨ ìƒˆë²½ì´ ê°€ê¹Œì› ë˜ ëª¨ì–‘ì´ì˜¤. ì—´ 시나 넘어서 뜬 í•˜í˜„ë‹¬ì´ ë‚®ì´ ê¸°ìš¸ì—ˆìœ¼ë‹ˆ 그렇지 ì•Šê² ì–´ìš”. ê·¸ 구ë©ì´ì— 와서 우리는 í•œ 번 ë” í•˜ëŠ˜ê³¼ 달과 별과, 그리고 ë§ˆìŒ ì†ì— 떠오른 사람들과 하ì§í•˜ê³  약 ë¨¹ì„ ì¤€ë¹„ë¥¼ 했지요. -ì•½ì„ ê²€ì€ ê³ ì•½ê³¼ ê°™ì€ ì•„íŽ¸ì„ ë§›ì´ ì“°ë‹¤ëŠ” ì•„íŽ¸ì„ ë¬¼ë„ ì—†ì´ ë¨¹ìœ¼ë ¤ 들었지요. -우리 ë‘˜ì€ ì•„ê¹Œ 모양으로 가지런히 누워서 í•˜ëŠ˜ì„ ë°”ë¼ë³´ì•˜ëŠ”ë° ë‹¬ì´ ë°ìœ¼ë‹ˆê¹Œ ë³´ì´ë˜ 별들 ì¤‘ì— ìˆ¨ì€ ë³„ì´ ë§Žê³  ë˜ ë³„ë“¤ì˜ ìœ„ì¹˜ 우리ì—게 낯ìµì€ ë¶ë‘칠성 ìžë¦¬ë„ ë³€í–ˆì„ ê²ƒ 아니야요. ì´ìƒí•œ ìƒê°ì´ 나요. 우리가 벌íŒìœ¼ë¡œ 헤매는 ë™ì•ˆì— 천지가 ëª¨ë‘ ë³€í•œ 것 같아요. 사실 변하였지요. ê·¸ 변한 ê²ƒì´ ìš°ìŠ¤ì›Œì„œ 나는 껄껄 웃었지요. 워낙 ë‚´ê°€ 웃ìŒì´ 좀 헤프지만 ì´ ë•Œì²˜ëŸ¼ 헤프게 실컷 웃어 본 ì¼ì€ 없습니다. -왜 웃ëŠëƒê³  ì•„ë‚´ê°€ 좀 ì„±ì„ ë‚¸ ë“¯ì´ ë¬»ê¸°ë¡œ, `천지와 ì¸ìƒì´ 변하는 ê²ƒì´ ìš°ìŠ¤ì›Œì„œ 웃었소.' 그랬지요. 그랬ë”니, `천지와 ì¸ìƒì€ 변할는지 몰ë¼ë„ ë‚´ 마ìŒì€ 안 변해요!' 하고 소리를 지르겠지요. í½ ë¶„ê°œí–ˆë˜ ëª¨ì–‘ì´ì•¼." -하고 R는 ê·¸ 아내를 보오. -"그럼 분개 안 í•´ìš”? ë‚¨ì€ ì£½ì„ ê²°ì‹¬ì„ í•˜ê³  발발 떨구 ìžˆëŠ”ë° ê³ì—ì„œ 껄껄거리고 웃으니, 어째 분하지가 ì•Šì•„ìš”. 나는 분해서 달아나려고 했어요." -하고 부ì¸ì€ ì•„ì§ë„ ë¶„í•¨ì´ ë‚¨ì€ ê²ƒê°™ì´ ë§í•˜ì˜¤. -"그래 달아나지 않았소?" -하고 R는 부ì¸ì´ 벌떡 ì¼ì–´ë‚˜ì„œ 비틀거리고 달아나는 í‰ë‚´ë¥¼ 팔과 다리로 ë‚´ê³  나서, -"ì´ëž˜ì„œ 죽는 ì‹œê°„ì´ ì§€ì²´ê°€ ë˜ì—ˆì§€ìš”. 그래서 ë‚´ê°€ 빌고 달래고 í•´ì„œ 가까스로 ì•ˆì •ì„ ì‹œí‚¤ê³  나니 ì†ì— ì¥ì—ˆë˜ ì•„íŽ¸ì´ ë•€ì— í‘¹ 젖었겠지요. ë‚´ê°€ ì›ƒì€ ê²ƒì€ ì£½ê¸° ì „ í•œ 번 천지와 ì¸ìƒì„ 웃어 버린 것ì¸ë° 그렇게 야단ì´ë‹ˆâ€¦â€¦ 하하하하." -R는 ì‹ì€ 차를 í•œ 모금 ë” ë§ˆì‹œë©°, -"ì°¸ ëª©ë„ ë§ˆë¥´ê¸°ë„ í•˜ë”니. ìž…ì—는 침 í•œ 방울 없고. 그러나 ëª»ë¬¼ì„ ë¨¹ì„ ìƒê°ë„ 없고. 나중ì—는 ë§ì„ 하려고 í•´ë„ í˜€ê°€ 안 ëŒì•„가겠지요. -ì´ëŸ¬ëŠ” ë™ì•ˆì— ë‹¬ë¹›ì´ í¬ë¯¸í•´ì§€ê¸¸ëž˜ 웬ì¼ì¸ê°€ 하고 고개를 ë²ˆì© ë“¤ì—ˆë”니 í•´ê°€ 떠오릅니다그려. 어떻게 붉고 둥글고 씩씩한지. `ì € í•´ 보오.' 하고 나는 기계ì ìœ¼ë¡œ 벌떡 ì¼ì–´ë‚˜ì„œ 구ë©ì´ì—ì„œ 뛰어나왔지요." -하고 빙그레 웃소. Rì˜ ë¹™ê·¸ë ˆ 웃는 ì–‘ì´ ì°¸ 좋았소. -"ë‚´ê°€ 뛰어나오는 ê²ƒì„ ë³´ê³  ì´ì´ë„ 뿌시시 ì¼ì–´ë‚¬ì§€ìš”. ê·¸ í•´! ê·¸ í•´ì˜ ìƒˆ ë¹›ì„ ë°›ëŠ” 하늘과 ë•…ì˜ ë¹›! 나는 ê·¸ê²ƒì„ í˜•ìš©í•  ë§ì„ 가지지 못합니다. 다만 íž˜ê» ì†Œë¦¬ì¹˜ê³  싶고 ê¸°ìš´ê» ë‹¬ìŒë°•ì§ˆì¹˜ê³  ì‹¶ì€ ìƒê°ì´ ë‚  ë¿ì´ì–´ìš”. -`우리 삽시다, 죽지 ë§ê³  삽시다, ì‚´ì•„ì„œ 새 세ìƒì„ 하나 만들어 봅시다.' ì´ë ‡ê²Œ ë§í•˜ì˜€ì§€ìš”. 하니까 ì´ì´ê°€ 처ìŒì—는 ê¹œì§ ë†€ë¼ëŠ” 것 같아요. 그러나 마침내 ì•„ë‚´ë„ ì£½ì„ ëœ»ì„ ë³€í•˜ì˜€ì§€ìš”. 그래서 남 ì„ ìƒì„ 청하여다가 ê·¸ ë§ì”€ì„ 여쭈었ë”니 남 ì„ ìƒê»˜ì„œ 고개를 ë„ë•ë„ë•í•˜ì‹œê³  우리 ë‘˜ì˜ í˜¼ì¸ ì£¼ë¡€ë¥¼ 하셨지요. ê·¸ 후 ì‹­ì—¬ ë…„ì— ìš°ë¦¬ëŠ” ë°­ 갈고 ì•„ì´ ê¸°ë¥´ê³  ì´ëŸ° ìƒí™œì„ 하고 ìžˆëŠ”ë° ì–¸ì œë‚˜ 여기 새 ë¯¼ì¡±ì´ ìƒê¸°ê³  누가 새 ë‹¨êµ°ì´ ë ëŠ”지요. 하하하하, 아하하하. 피곤하시겠습니다. ì´ì•¼ê¸°ê°€ 너무 길어서." -하고 R는 ë§ì„ ëŠì†Œ. -나는 R부처가 만류하는 ê²ƒë„ ë‹¤ 뿌리치고 여관으로 ëŒì•„왔소. R와 함께 달빛 ì†, ê°œ 짖는 소리 ì†ì„ 지나서 ì•„ë¼ì‚¬ ì‚¬ëžŒì˜ ì¡°ê·¸ë§ˆí•œ 여관으로 ëŒì•„왔소. 여관 주ì¸ë„ R를 아는 모양ì´ì–´ì„œ 반갑게 ì¸ì‚¬í•˜ê³  ë˜ ë‚´ê²Œ 대한 부íƒë„ 하는 모양ì¸ê°€ 보오. -R는 ë‚´ ë°©ì— ì˜¬ë¼ì™€ì„œ ë‚´ì¼ í•˜ë£¨ 지날 ì¼ë„ ì´ì•¼ê¸°í•˜ê³  ë˜ ë‚¨ ì„ ìƒê³¼ ì •ìž„ì—게 관한 ì´ì•¼ê¸°ë„ 하였으나, 나는 그가 무슨 ì´ì•¼ê¸°ë¥¼ 하는지 잘 ë“¤ì„ ë§Œí•œ 마ìŒì˜ ì—¬ìœ ë„ ì—†ì–´ì„œ ë§ˆìŒ ì—†ëŠ” ëŒ€ë‹µì„ í•  ë¿ì´ì—ˆì†Œ. -Rê°€ ëŒì•„ê°„ ë’¤ì— ë‚˜ëŠ” ì˜·ë„ ë²—ì§€ 아니하고 ì¹¨ëŒ€ì— ë“œëŸ¬ëˆ„ì› ì†Œ. 페치카를 때기는 í•œ 모양ì´ë‚˜ ë°©ì´ ì¨ëŠ˜í•˜ê¸° 그지없소. -`ê·¸ ë‘ ë³„ 무ë¤ì´ ì •ë§ R와 ê·¸ 여학ìƒê³¼ ë‘ ì‚¬ëžŒì´ ì˜ì›ížˆ 달치 못할 ê¿ˆì„ ì•ˆì€ ì±„ë¡œ 깨ë—하게 죽어서 묻힌 무ë¤ì´ì—ˆìœ¼ë©´ 얼마나 좋ì„까. ë§Œì¼ ê·¸ë ‡ë‹¤ 하면 ë‚´ì¼ í•œ 번 ë” ê°€ì„œ 보토ë¼ë„ 하고 오련마는.' -하고 나는 Rë¶€ì²˜ì˜ ìƒí™œì— 대하여 ì¼ì¢…ì˜ ë¶ˆë§Œê³¼ í™˜ë©¸ì„ ëŠê¼ˆì†Œ. -그리고 ë‚´ê°€ ì •ìž„ì„ ì—¬ê¸°ë‚˜ 시베리아나 ì–´ë–¤ 곳으로 불러다가 ë§Œì¼ R와 ê°™ì€ í‰ë‚´ë¥¼ 낸다 하면, 하고 ìƒê°í•´ 보고는 나는 진저리를 쳤소. 나는 내머리 ì†ì— 다시 그러한 ìƒê°ì´ í•œ ì¡°ê°ì´ë¼ë„ 들어올 ê²ƒì„ ë‘려워하였소. -ê¸‰í–‰ì„ ê¸°ë‹¤ë¦¬ìžë©´ ë˜ ì‚¬í˜ì„ 기다리지 아니하면 아니 ë˜ê¸°ë¡œ 나는 ì´íŠ¿ë‚  ìƒˆë²½ì— ë– ë‚˜ëŠ” 구간차를 타고 Fì—­ì„ ë– ë‚˜ 버렸소. Rì—게는 고맙다는 편지 í•œ ìž¥ë§Œì„ ì¨ ë†“ê³ . 나는 R를 ë” ë³´ê¸°ë¥¼ ì›ì¹˜ 아니하였소. ê·¸ê²ƒì€ ë°˜ë“œì‹œ R를 죄ì¸ìœ¼ë¡œ ë³´ì•„ì„œ 그런 ê²ƒì€ ì•„ë‹ˆì˜¤ë§ˆëŠ” 그저 나는 다시 R를 대면하기를 ì›ì¹˜ 아니한 것ì´ì˜¤. -나는 차가 Rì˜ ì§‘ ì•žì„ ì§€ë‚  ë•Œì—ë„ Rì˜ ì§‘ì— ëŒ€í•˜ì—¬ì„œëŠ” 외면하였소. -ì´ ëª¨ì–‘ìœ¼ë¡œ 나는 í¥ì•ˆë ¹ì„ 넘고, 하ì¼ë¼ë¥´ì˜ ì†”ë°­ì„ ì§€ë‚˜ì„œ 마침내 ì´ ê³³ì— ì˜¨ 것ì´ì˜¤. -형! 나는 ì¸ì œëŠ” ì´ íŽ¸ì§€ë¥¼ ë내오. ë” ì“¸ ë§ë„ 없거니와 ì¸ì œëŠ” ì´ê²ƒì„ ì“°ê¸°ë„ ì‹«ì¦ì´ 났소. -ì´ íŽ¸ì§€ë¥¼ 쓰기 시작할 ë•Œì—는 ë°”ì´ì¹¼ì— ë¬¼ê²°ì´ í‰ìš©í•˜ë”니 ì´ íŽ¸ì§€ë¥¼ ë내는 지금ì—는 ê°€ì˜ ê°€ê¹Œìš´ 물ì—는 ì–¼ìŒì´ 얼었소. 그리고 ì € 멀리 푸른 ë¬¼ì´ ëŠ ì‹¤ëŠ ì‹¤ 하얗게 눈 ë®ì¸ ì‚° 빛과 어울리게 ë˜ì—ˆì†Œ. -사í˜ì´ë‚˜ ì´ì–´ì„œ ì˜¤ë˜ ëˆˆì´ ë°¤ìƒˆì— ê°œê³  오늘 아침ì—는 칼날 ê°™ì€ ë°”ëžŒì´ ëˆˆì„ ë‚ ë¦¬ê³  있소. -나는 ì´ ì–¼ìŒ ìœ„ë¡œ 걸어서 ì € 푸른 물 있는 곳까지 가고 ì‹¶ì€ ìœ í˜¹ì„ ê¸ˆí•  수 없소. ë”구나 ì´ íŽ¸ì§€ë„ ë‹¤ ì“°ê³  나니, ì¸ì œëŠ” ë‚´ê°€ ì´ ì„¸ìƒì—ì„œ í•  마지막 ì¼ê¹Œì§€ 다 í•œ 것 같소. -ë‚´ê°€ ì´ ì•žì— ì–´ë””ë¡œ 가서 ì–´ì°Œ ë ëŠ”지는 ë‚˜ë„ ëª¨ë¥´ì§€ë§ˆëŠ” í¬ë¯¸í•œ 소ì›ì„ ë§í•˜ë©´ 눈 ë®ì¸ ì‹œë² ë¦¬ì•„ì˜ ì¸ì  없는 삼림 지대로 한정 ì—†ì´ í—¤ë§¤ë‹¤ê°€ 기운 진하는 ê³³ì—ì„œ ì´ ëª©ìˆ¨ì„ ë§ˆì¹˜ê³  싶소. -ìµœì„ êµ°ì€ `ë'ì´ë¼ëŠ” 글ìžë¥¼ ì¼ë‹¤ê°€ 지워 버리고 ë”´ 종ì´ì—다가 ì´ëŸ° ë§ì„ ì¼ë‹¤ -다 ì“°ê³  나니 ì´ëŸ° íŽ¸ì§€ë„ ë‹¤ 부질없는 ì¼ì´ì˜¤. ë‚´ê°€ ì´ëŸ° ë§ì„ 한대야 세ìƒì´ 믿어 줄 ë¦¬ë„ ì—†ì§€ 않소. ë§ì´ëž€ 소용 없는 것ì´ì˜¤. ë‚´ê°€ 아무리 ë‚´ ì•„ë‚´ì—게 ë§ì„ í–ˆì–´ë„ ì•„ë‹ˆ 믿었거든 ë‚´ ì•„ë‚´ë„ ë‚´ ë§ì„ 아니 믿었거든 하물며 세ìƒì´ ë‚´ ë§ì„ ë¯¿ì„ ë¦¬ê°€ 있소. 믿지 아니할 ë¿ ì•„ë‹ˆë¼ ë‚´ ë§ ì¤‘ì—ì„œ ìžê¸°ë„¤ 목ì ì— 필요한 ë¶€ë¶„ë§Œì€ ë¯¿ê³ , ë˜ ìžê¸°ë„¤ 목ì ì— 필요한 ë¶€ë¶„ì€ ë§ˆìŒëŒ€ë¡œ 고치고 뒤집고 보태고 í•  것ì´ë‹ˆê¹Œ, 나는 ì´ íŽ¸ì§€ë¥¼ ì“´ ê²ƒì´ í•œ 무ìµí•˜ê³  어리ì„ì€ ì¼ì¸ ì¤„ì„ ê¹¨ë‹¬ì•˜ì†Œ. -형ì´ì•¼ ì´ íŽ¸ì§€ë¥¼ 아니 보기로니 나를 안 믿겠소? ê·¸ 중ì—는 혹 í˜•ì´ ì§€ê¸ˆê¹Œì§€ ëª¨ë¥´ë˜ ìžë£Œë„ 없지 아니하니, 형만 í˜¼ìž ë³´ì‹œê³  형만 í˜¼ìž ë‚´ ì‚¬ì •ì„ ì•Œì•„ 주시면 다행ì´ê² ì†Œ. 세ìƒì— í•œ 믿는 친구를 가지는 ê²ƒì´ ì €ë§ˆë‹¤ 하는 ì¼ì´ê² ì†Œ? -나는 ì´ ì“¸ë°ì—†ëŠ” 편지를 몇 번ì´ë‚˜ ë¶ˆì‚´ë¼ ë²„ë¦¬ë ¤ê³  하였으나 ê·¸ëž˜ë„ ê±°ê¸°ë„ ì¼ì¢…ì˜ ì• ì°©ì‹¬ì´ ìƒê¸°ê³  ë¯¸ë ¨ì´ ìƒê¸°ëŠ”구려. 형 í•œ 분ì´ë¼ë„ ë³´ì—¬ 드리고 ì‹¶ì€ ë§ˆìŒì´ ìƒê¸°ëŠ”구려. ë‚´ê°€ Sí˜•ë¬´ì†Œì— ìž…ê°í•´ ìžˆì„ ì ì— 형무소 ë²½ì— ì£„ìˆ˜ê°€ ì†í†±ìœ¼ë¡œ ì„±ëª…ì„ ìƒˆê¸´ ê²ƒì„ ë³´ì•˜ì†Œ. ë’¤ì— ë¬¼ì—ˆë”니 ê·¸ê²ƒì€ í”히 사형수가 하는 짓ì´ë¼ê³ . 사형수가 êµìˆ˜ëŒ€ì— ëŒë ¤ 나가기 바로 ì „ì— í”히 ì†í†±ìœ¼ë¡œ ë‹´ë²¼ë½ì´ë‚˜ ë§ˆë£»ë°”ë‹¥ì— ì œ ì´ë¦„ì„ ìƒˆê¸°ëŠ” ì¼ì´ 있다고 하는 ë§ì„ 들었소. ë‚´ê°€ 형ì—게 쓰는 ì´ íŽ¸ì§€ë„ ê·¸ 심리와 비슷한 것ì¼ê¹Œìš”? -형! 나는 보통 사람보다는, 정보다는 지로, ìƒì‹ë³´ë‹¤ëŠ” ì´ë¡ ìœ¼ë¡œ, ì´í•´ë³´ë‹¤ëŠ” ì˜ë¦¬ë¡œ ì‚´ì•„ 왔다고 ìžì‹ í•˜ì˜¤. ì´ë¥¼í…Œë©´ 논리학ì ìœ¼ë¡œ 윤리학ì ìœ¼ë¡œ 살아온 것ì´ë¼ê³  할까. 나는 엄격한 êµì‚¬ìš”, êµìž¥ì´ì—ˆì†Œ. 내게는 ì˜ì§€ë ¥ê³¼ ì´ì§€ë ¥ë°–ì— ì—†ëŠ” 것 같았소. 그러한 ìƒí™œì„ 수십 ë…„ í•´ 오지 아니하였소? 나는 ì´ ì•žì— ëª‡ì‹­ ë…„ì„ ë” ì‚´ë”ë¼ë„ ë‚´ ì´ ì„±ê²©ì´ë‚˜ ìƒí™œ 태ë„ì—는 ë³€í•¨ì´ ì—†ìœ¼ë¦¬ë¼ê³  ìžì‹ í•˜ì˜€ì†Œ. ë¶ˆí˜¹ì§€ë…„ì´ ì§€ë‚¬ìœ¼ë‹ˆ 그렇게 ìƒê°í•˜ì˜€ì„ ê²ƒì´ ì•„ë‹ˆì˜¤? -ê·¸ëŸ°ë° í˜•! ì°¸ ì´ìƒí•œ ì¼ì´ 있소. ê·¸ê²ƒì€ ë‚´ê°€ 지금까지 처해 ìžˆë˜ í™˜ê²½ì„벗어나서 호호 탕탕하게 ë„“ì€ ì„¸ê³„ì— ì•Œëª¸ì„ ë‚´ì–´ë˜ì§ì„ 당하니 ë‚´ ë§ˆìŒ ì†ì—는 무서운 여러 가지 변화가 ì¼ì–´ë‚˜ëŠ”구려. 나는 ì´ ë§ë„ 형ì—게 아니 하려고 ìƒê°í•˜ì˜€ì†Œ. 노여워하지 마시오, ë‚´ê²Œê¹Œì§€ë„ ìˆ¨ê¸°ëŠëƒê³ . 그런 ê²ƒì´ ì•„ë‹ˆì˜¤, 형ì€ì»¤ë…• 나 ìžì‹ ì—ê²Œê¹Œì§€ë„ ìˆ¨ê¸°ë ¤ê³  í•˜ì˜€ë˜ ê²ƒì´ì˜¤. 혹시 그런 기다리지 아니 í•˜ì˜€ë˜ ì›, 그런 ìƒê°ì´ ë‚´ 마ìŒì˜ í•˜ëŠ˜ì— ì¼ì–´ë‚˜ë¦¬ë¼ê³  ìƒìƒë„ 아니하였ë˜, 그런 ìƒê°ì´ ì¼ì–´ë‚  ë•Œì—는 나는 스스로 놀ë¼ê³  스스로 슬í¼í•˜ì˜€ì†Œ. 그래서 스스로 숨기기로 하였소. -ê·¸ 숨긴다는 ê²ƒì´ ë¬´ì—‡ì´ëƒ 하면 ê·¸ê²ƒì€ ì—´ì •ì´ìš”, ì •ì˜ ë¶ˆê¸¸ì´ìš”, ì •ì˜ ê´‘í’ì´ìš”, ì •ì˜ ë¬¼ê²°ì´ì˜¤. ë§Œì¼ ë‚´ ì˜ì‹ì´ 세계를 í‰í™”로운 í’€ 있고, 꽃 있고, 나무 있는 벌íŒì´ë¼ê³  하면 거기 ë‚œë°ì—†ëŠ” 미친 ì§ìŠ¹ë“¤ì´ ë¶ˆì„ ë¿œê³  소리를 지르고 싸우고, ì˜ê°ì„ 하고 ë‚ ì³ì„œ, ì´ ë™ì‚°ì˜ í‰í™”ì˜ í™”ì´ˆë¥¼ 다 짓밟아 버리고 마는 그러한 모양과 같소. -형! ê·¸ ì´ìƒì•¼ë¦‡í•œ ì§ìŠ¹ë“¤ì´ 여태ê», 사십 ë…„ ê°„ì„ ì–´ëŠ êµ¬ì„ì— ìˆ¨ì–´ 있었소? 그러다가 ì¸ì œ 뛰어나와 ê°ê° ì œ 권리를 주장하오? -지금 ë‚´ 가슴 ì†ì€ ë“소. ë‚´ ëª¸ì€ ë°”ì§ ì—¬ìœ„ì—ˆì†Œ. ê·¸ê²ƒì€ ìƒë¦¬í•™ì ìœ¼ë¡œë‚˜ 심리학ì ìœ¼ë¡œë‚˜ 타는 것ì´ìš”, 연소하는 것ì´ì˜¤. 그래서 다만 ë‚´ ëª¸ì˜ ì§€ë°©ë§Œì´ íƒ€ëŠ” ê²ƒì´ ì•„ë‹ˆë¼, 골수까지 타고, ëª¸ì´ íƒˆ ë¿ì´ ì•„ë‹ˆë¼ ìƒëª… ê·¸ ë¬¼ê±´ì´ íƒ€ê³  있는 것ì´ì˜¤. 그러면 어찌할까. -지위, 명성, 습관, 시대 사조 등등으로 ì¼ìƒì— 눌리고 ëˆŒë ¸ë˜ ë‚´ ìžì•„ì˜ ì¼ë¶€ë¶„ì´ í˜ëª…ì„ ì¼ìœ¼í‚¨ 것ì´ì˜¤? í•œ ë²ˆë„ ìžìœ ë¡œ 권세를 부려 보지 못한 본능과 ê°ì •ë“¤ì´ ë‚´ ìƒëª…ì´ ë나기 ì „ì— í•œ 번 ë‚ ë›°ì–´ 보려는 것ì´ì˜¤. ì´ê²ƒì´ ì„ ì´ì˜¤? ì•…ì´ì˜¤? -ê·¸ë“¤ì€ ë‚´ê°€ 지금까지 옳다고 여기고 신성하다고 ì—¬ê¸°ë˜ ëª¨ë“  권위를 모조리 둘러엎으려고 드오. 그러나 형! 나는 ë„저히 ì´ í˜ëª…ì„ ìš©ì¸í•  수가 없소. 나는 죽기까지 버티기로 ê²°ì •ì„ í•˜ì˜€ì†Œ. ë‚´ ì†ì—ì„œ ë‘ ì„¸ë ¥ì´ ì‹¸ìš°ë‹¤ê°€ 싸우다가 승부가 ê²°ì •ì´ ëª» ëœë‹¤ë©´ 나는 ìŠ¹ë¶€ì˜ ê²°ì •ì„ ê¸°ë‹¤ë¦¬ì§€ 아니하고 살기를 그만ë‘려오. -나는 눈 ë®ì¸ 삼림 ì†ìœ¼ë¡œ 들어가려오. 나는 Vë¼ëŠ” 대삼림 지대가 ì–´ë””ì¸ ì¤„ë„ ì•Œê³  거기를 가려면 ì–´ëŠ ì •ê±°ìž¥ì—ì„œ 내릴 ê²ƒë„ ë‹¤ 알아 놓았소. -ë§Œì¼ ë‹¨ìˆœížˆ 죽는다 하면 구태여 멀리 찾아갈 í•„ìš”ë„ ì—†ì§€ë§ˆëŠ” ê·¸ëž˜ë„ ë‚˜ 혼ìžë¡œëŠ” ë‚´ 사ìƒê³¼ ê°ì •ì˜ ì²­ì‚°ì„ í•˜ê³  싶소. ì‚´ 수 있는 날까지 세ìƒì„ ë– ë‚œ ê³³ì—ì„œ 살다가 완전한 í•´ê²°ì„ ì–»ëŠ” ë‚  나는 í˜¹ì€ ìŠ¹ë¦¬ì˜, í˜¹ì€ íŒ¨ë°°ì˜ ì¢…ë§‰ì„ ë‹«ì¹  것ì´ì˜¤. ë§Œì¼ í•´ê²°ì´ ì•ˆ ë˜ë©´ 안 ë˜ëŠ” 대로 그치면 그만ì´ì§€ìš”. -나는 ì´ ë¶“ì„ ë†“ê¸° ì „ì— ì–´ì ¯ë°¤ì— ê¾¼ 꿈 ì´ì•¼ê¸° 하나는 하려오. ê¿ˆì´ í•˜ë„ ìˆ˜ìƒí•´ì„œ 마치 ë‚´ ì „ë„ì— ëŒ€í•œ ì‹ ì˜ ê³„ì‹œì™€ë„ ê°™ê¸°ë¡œ 하는 ë§ì´ì˜¤. ê·¸ ê¿ˆì€ ì´ëŸ¬í•˜ì˜€ì†Œ. -ë‚´ê°€ ê½ì´ê¹¨(꼬ì´ê¹Œë¼ëŠ” ì•„ë¼ì‚¬ë§ë¡œ 침대ë¼ëŠ” ë§ì´ ì¡°ì„  ë™í¬ì˜ 입으로 변한 ë§ì´ì˜¤.) ì§ì„ 지고 ì‚½ì„ ë©”ê³  ëˆˆì´ ë®ì¸ 삼림 ì†ì„ í˜¼ìž ê±¸ì—ˆì†Œ. ì´ ê½ì´ê¹¨ ì§ì´ëž€ ê²ƒì€ ê¸ˆì ê¾¼ë“¤ì´ ê·¸ 여행 ì¤‘ì— ì†Œìš©í’ˆ, 마른 ë¹µ, 소금, ë‚´ë³µ 등ì†ì„ 침대 ë§¤íŠ¸ë¦¬ìŠ¤ì— ë„£ì–´ì„œ 지고 다니는 것ì´ì˜¤. ì´ ì§í•˜ê³  삽 í•œ ê°œ, ë„ë¼ í•œ ê°œ, ê·¸ê²ƒì´ ì‹œë² ë¦¬ì•„ë¡œ ê¸ˆì„ ì°¾ì•„ 헤매는 ì¡°ì„  ë™í¬ë“¤ì˜ 행색ì´ì˜¤. ë‚´ê°€ ì´ë¥´ì¿ ì¸ í¬ì—ì„œ ì´ëŸ¬í•œ ë™í¬ë¥¼ ë§Œë‚¬ë˜ ê²ƒì´ ê¿ˆìœ¼ë¡œ ë˜ì–´ 나온 모양ì´ì˜¤. -나는 꿈ì—는 세ìƒì„ 다 잊어버린, 아주 깨ë—하고 침착한 사람으로 ì´ ê½ì´ê¹¨ ì§ì„ 지고 ì‚½ì„ ë©”ê³  ë°¤ì¸ì§€ ë‚®ì¸ì§€ ì•Œ 수 없으나 ë•…ì€ ëˆˆë¹›ìœ¼ë¡œ í¬ê³ , í•˜ëŠ˜ì€ êµ¬ë¦„ë¹›ìœ¼ë¡œ íšŒìƒ‰ì¸ ì‚¼ë¦¼ 지대를 í—ˆë•í—ˆë• 걸었소. ê¸¸ë„ ì—†ëŠ” ë°ë¥¼, ì¸ì ë„ 없는 ë°ë¥¼. -꿈ì—ë„ ë‚´ ëª¸ì€ í½ í”¼ê³¤í•´ì„œ 쉴 ìžë¦¬ë¥¼ 찾는 마ìŒì´ì—ˆì†Œ. -나는 마침내 ì–´ë–¤ ì–¸ë• ë°‘ í•œ êµ°ë°ë¥¼ 골ëžì†Œ. 그리고 ìƒì‹œì— ì´ì•¼ê¸°ì—ì„œ ë“¤ì€ ëŒ€ë¡œ 삽으로 ë‚´ê°€ 누울 ìžë¦¬ë§Œí•œ ëˆˆì„ ì¹˜ê³ , 그리고는 ë„ë¼ë¡œ ê³ì— ì„  나무 몇 개를 ì°ì–´ 누ì´ê³  거기다가 ë¶ˆì„ ë†“ê³  ê·¸ ë¶ˆê¹€ì— ë…¹ì€ ë•…ì„ ë‘ì–´ ìžë‚˜ 파내고 ê·¸ ì†ì— 드러누웠소. 훈훈한 ê²ƒì´ ì•„ì£¼ 편안하였소. -하늘ì—는 ë³„ì´ ë°˜ì§ê±°ë ¸ì†Œ. Fì—­ì—ì„œ ë³´ë˜ ë°”ì™€ ê°™ì´ í° ë³„ ìž‘ì€ ë³„ë„ ë³´ì´ê³  í‰ì‹œì— 보지 ëª»í•˜ë˜ ë¶‰ì€ ë³„, 푸른 별 ë“¤ë„ ë³´ì˜€ì†Œ. 나는 ì´ ì´ìƒí•œ 하늘, ì´ìƒí•œ ë³„ë“¤ì´ ìžˆëŠ” í•˜ëŠ˜ì„ ë³´ê³  드러누워 있노ë¼ë‹ˆê¹Œ ë¬¸ë“ ì–´ë””ì„œ ë°œìžêµ­ 소리가 들렸소. í‰í‰í‰í‰ 우루루루…… 나는 벌떡 ì¼ì–´ë‚˜ë ¤ 하였으나 ëª¸ì´ ì²œ ê·¼ì´ë‚˜ ë˜ì–´ì„œ 움ì§ì¼ 수가 없었소. 가까스로 고개를 조금 들고 보니 ë¿”ì´ ê¸¸ë‹¤ëž—ê³  ëˆˆì´ ë¶ˆê°™ì´ ë¶‰ì€ ì‚¬ìŠ´ì˜ ë–¼ê°€ ë¬´ì—‡ì— ë†€ëžëŠ”지 껑충껑충 ë›°ì–´ 지나가오. ì´ê²ƒì€ 아마 í¬ë¡œí¬íŠ¸í‚¨ì˜ <ìƒí˜¸ 부조론> ì†ì— ë§í•œ ì‹œë² ë¦¬ì•„ì˜ ì‚¬ìŠ´ì˜ ë–¼ê°€ ê¿ˆì´ ë˜ì–´ 나온 모양ì´ì˜¤. -그러ë”니 ê·¸ ì‚¬ìŠ´ì˜ ë–¼ê°€ 다 지나간 ë’¤ì—, ê·¸ ì‚¬ìŠ´ì˜ ë–¼ê°€ ì˜¤ë˜ ë°©í–¥ìœ¼ë¡œì„œ ì •ìž„ì´ê°€ 걸어오는 ê²ƒì´ ì•„ë‹ˆë¼ ìŠ¤ë¥´ë¥µ 하고 미ë„러져 오오. 마치 ì¸í˜•ì„ 밀어 주는 것같ì´. -"ì •ìž„ì•„!" -하고 나는 소리를 치고 ëª¸ì„ ì¼ìœ¼í‚¤ë ¤ 하였소. -ì •ìž„ì˜ ëª¨ì–‘ì€ ë‚˜ë¥¼ ìž ê¹ ë³´ê³ ëŠ” 미ë„러지는 ë“¯ì´ í˜ëŸ¬ê°€ 버리오. -나는 ì •ìž„ì•„, 정임아를 부르고 팔다리를 부둥거렸소. 그러다가 마침내 ë‚´ ëª¸ì´ ë²ˆì© ì¼ìœ¼ì¼œì§ì„ 깨달았소. 나는 ì •ìž„ì˜ ë’¤ë¥¼ ë”°ëžì†Œ. -나는 눈 위로 삼림 ì†ìœ¼ë¡œ ì •ìž„ì˜ ê·¸ë¦¼ìžë¥¼ ë”°ëžì†Œ. ë³´ì¼ ë“¯ 안 ë³´ì¼ ë“¯, ìž¡íž ë“¯ 안 ìž¡íž ë“¯, 나는 무거운 다리를 ëŒê³  ì •ìž„ì„ ë”°ëžì†Œ. -ì •ìž„ì€ ì´ ì¶”ìš´ ë‚ ì´ì–¸ë§Œ 눈과 ê°™ì´ í° ì˜·ì„ ìž…ì—ˆì†Œ. ê·¸ ì˜·ì€ ì˜›ë‚  로마 ì—¬ì¸ì˜ 옷과 ê°™ì´ ë°”ëžŒê²°ì— íŽ„ë ê±°ë ¸ì†Œ. -"오지 마세요. 저를 ë”°ë¼ì˜¤ì§€ 못하십니다." -하고 ì •ìž„ì€ ëˆˆë³´ë¼ ì†ì— 가리워 버리고 ë§ì•˜ì†Œ. 암만 ë¶ˆëŸ¬ë„ ëŒ€ë‹µì´ ì—†ê³  눈보ë¼ê°€ 다 지나간 ë’¤ì—ë„ ë¶‰ì€ ë³„, 푸른 별과 ë¿” 긴 ì‚¬ìŠ´ì˜ ë–¼ë¿ì´ì˜¤. ì •ìž„ì€ ë³´ì´ì§€ 아니하였소. 나는 미칠 ë“¯ì´ ì •ìž„ì„ ì°¾ê³  부르다가 ìž ì„ ê¹¨ì—ˆì†Œ. -ê¿ˆì€ ì´ê²ƒë¿ì´ì˜¤. ê¿ˆì„ ê¹¨ì–´ì„œ ì°½ ë°–ì„ ë°”ë¼ë³´ë‹ˆ ì–¼ìŒê³¼ ëˆˆì— ë®ì¸ ë°”ì´ì¹¼í˜¸ 위ì—는 ìƒˆë²½ì˜ ê²¨ìš¸ ë‹¬ì´ ë¹„ì¹˜ì–´ 있었소. ì € 멀리 검푸르게 ë³´ì´ëŠ” ê²ƒì´ ì±„ 얼어붙지 아니한 물ì´ê² ì§€ìš”. 오늘 ë°¤ì— ë°”ëžŒì´ ì—†ê³  ê¸°ì˜¨ì´ ë‚´ë¦¬ë©´ 그것마저 얼어붙ì„는지 모르지요. ë²Œì¨ ì‚´ì–¼ìŒì´ ìž¡í˜”ëŠ”ì§€ë„ ëª¨ë¥´ì§€ìš”. ì•„ì•„, ê·¸ ì†ì€ 얼마나 깊ì„까. 나는 ë°”ì´ì¹¼ì˜ 물 ì†ì´ ê´€ì‹¬ì´ ë˜ì–´ì„œ 못 견디겠소. -형! 나는 ìžë°±í•˜ì§€ 아니할 수 없소. ì´ ê¿ˆì€ ë‚´ 마ìŒì˜ ì–´ë–¤ ë¶€ë¶„ì„ ì„¤ëª…í•œ 것ì´ë¼ê³ . 그러나 형! 나는 ì´ê²ƒì„ 부정하려오. 굳세게 부정하려오. 나는 ì´ ê¿ˆì„ ë¶€ì •í•˜ë ¤ì˜¤. 억지로ë¼ë„ 부정하려오. 나는 ê²°ì½” ë‚´ ì†ì— ì¼ì–´ë‚œ í˜ëª…ì„ ìš©ì¸í•˜ì§€ 아니하려오. 나는 ê·¸ê²ƒì„ í˜ëª…으로 ì¸ì •í•˜ì§€ 아니하려오. 아니오! 아니오! ê·¸ê²ƒì€ ë°˜ëž€ì´ì˜¤! ë‚´ ì¸ê²©ì˜ 통ì¼ì— 대한 반란ì´ì˜¤. 단연코 무단ì ìœ¼ë¡œ 진정하지 아니하면 아니 ë  ë°˜ëž€ì´ì˜¤. 보시오! 나는 굳게 서서 í•œ 걸ìŒë„ 뒤로 물러서지 아니할 것ì´ì˜¤. 만ì¼ì— í˜•ì´ ê´‘ì•¼ì— êµ¬ë¥´ëŠ” ë‚´ 시체나 í•´ê³¨ì„ ë³¸ë‹¤ë“ ì§€, ë˜ëŠ” 무슨 ì¸ì—°ìœ¼ë¡œ ë‚´ 무ë¤ì„ 발견하는 ë‚ ì´ ìžˆë‹¤ê³  하면 ê·¸ ë•Œì— í˜•ì€ ë‚´ê°€ ì´ ëª¨ë“  ë°˜ëž€ì„ ì§„ì •í•œ ê°œì„ ì˜ êµ°ì£¼ë¡œ ì£½ì€ ê²ƒì„ ì•Œì•„ 주시오. -ì¸ì œ ë°”ì´ì¹¼ì— ê²¨ìš¸ì˜ ì„ì–‘ì´ ë¹„ì¹˜ì—ˆì†Œ. ëˆˆì„ ì¸ ë‚˜ì§€ë§‰í•œ ì‚°ë“¤ì´ ì§€ëŠ” í–‡ë¹›ì— ìžì¤ë¹›ì„ 발하고 있소. 극히 깨ë—하고 싸늘한 ê´‘ê²½ì´ì˜¤. 아디유! -ì´ íŽ¸ì§€ë¥¼ ìš°íŽ¸ì— ë¶€ì¹˜ê³ ëŠ” 나는 ìµœí›„ì˜ ë°©ëž‘ì˜ ê¸¸ì„ ë– ë‚˜ì˜¤. ì°¾ì„ ìˆ˜ë„ ì—†ê³ , 편지 ë°›ì„ ìˆ˜ë„ ì—†ëŠ” 곳으로. -부디 í‰ì•ˆížˆ 계시오. ì¼ ë§Žì´ í•˜ì‹œì˜¤. 부ì¸ê»˜ 문안 드리오. ë‚´ 가족과 ì •ìž„ì˜ ì¼ ë§¡ê¸°ì˜¤. 아디유! -ì´ê²ƒìœ¼ë¡œ ìµœì„ êµ°ì˜ íŽ¸ì§€ëŠ” ë났다. -나는 ì´ íŽ¸ì§€ë¥¼ 받고 울었다. ì´ê²ƒì´ ì¼ íŽ¸ì˜ ì†Œì„¤ì´ë¼ 하ë”ë¼ë„ 슬픈 ì¼ì´ì–´ë“ , 하물며 ë‚´ê°€ 가장 믿고 사랑하는 ì¹œêµ¬ì˜ ì¼ìž„ì—야. -ì´ íŽ¸ì§€ë¥¼ 받고 나는 곧 ìµœì„ êµ°ì˜ ì§‘ì„ ì°¾ì•˜ë‹¤. 주ì¸ì„ ìžƒì€ ì´ ì§‘ì—서는아ì´ë“¤ì´ 마당ì—ì„œ 떠들고 있었다. -"ì‚¼ì²­ë™ ì•„ìžì”¨ 오셨수. 어머니, ì‚¼ì²­ë™ ì•„ìžì”¨." -하고 ìµœì„ êµ°ì˜ ìž‘ì€ë”¸ì´ 나를 ë³´ê³  뛰어들어갔다. -최ì„ì˜ ë¶€ì¸ì´ 나와 나를 맞았다. -부ì¸ì€ ë¨¸ë¦¬ë„ ë¹—ì§€ 아니하고, 얼굴ì—는 ì¡°ê¸ˆë„ í™”ìž¥ì„ ì•„ë‹ˆí•˜ê³ , ë§¤ë¬´ì‹œë„ í˜ëŸ¬ë‚´ë¦´ 지경으로 ì •ëˆë˜ì§€ 못하였다. ì¼ ì£¼ì¼ì´ë‚˜ 못 만난 ë™ì•ˆì— 부ì¸ì˜ ëª¨ì–‘ì€ ë”ìš± 초췌하였다. -"ë…¸ì„헌테서 무슨 기별ì´ë‚˜ 있습니까." -하고 나는 무슨 ë§ë¡œ ë§ì„ 시작할지 몰ë¼ì„œ ì´ëŸ° ë§ì„ 하였다. -"아니오. 왜 ê·¸ì´ê°€ ì§‘ì— íŽ¸ì§€í•˜ë‚˜ìš”?" -하고 부ì¸ì€ 성난 ë¹›ì„ ë³´ì´ë©°, -"ì§‘ì„ ë– ë‚œ 지가 ê·¼ 사십 ì¼ì´ ë˜ê±´ë§Œ 엽서 í•œ 장 있나요. 집안 ì‹êµ¬ê°€ 다 죽기로 눈ì´ë‚˜ 깜ì§í•  ì¸ê°€ìš”. 그저 ì •ìž„ì´í—Œí…Œë§Œ 미ì³ì„œ 죽ì„지 살지를 모르지요." -하고 울먹울먹한다. -"잘못 아십니다. 부ì¸ê»˜ì„œ ë…¸ì„ì˜ ë§ˆìŒì„ 잘못 아십니다. 그런 ê²ƒì´ ì•„ë‹™ë‹ˆë‹¤." -하고 나는 확신 있는 ë“¯ì´ ë§ì„ 시작하였다. -"ë…¸ì„ì˜ ìƒê°ì„ 부ì¸ê»˜ì„œ 오해하신 ì¤„ì€ ë²Œì¨ë¶€í„° 알았지마는 오늘 ë…¸ì„ì˜ íŽ¸ì§€ë¥¼ 받아보고 ë”ìš± 분명히 알았습니다." -하고 나는 부ì¸ì˜ í‘œì •ì˜ ë³€í™”ë¥¼ 엿보았다. -"편지가 왔어요?" -하고 부ì¸ì€ 놀ë¼ë©´ì„œ, -"지금 ì–´ë”” 있어요? ì¼ë³¸ 있지요?" -하고 ì§ˆíˆ¬ì˜ ë¶ˆê¸¸ì„ ëˆˆìœ¼ë¡œ 토하였다. -"ì¼ë³¸ì´ 아닙니다. ë…¸ì„ì€ ì§€ê¸ˆ ì•„ë¼ì‚¬ì— 있습니다." -"ì•„ë¼ì‚¬ìš”?" -하고 부ì¸ì€ 놀ë¼ëŠ” ë¹›ì„ ë³´ì´ë”니, -"그럼 ì •ìž„ì´ë¥¼ ë°ë¦¬ê³  아주 ì•„ë¼ì‚¬ë¡œ 가케오치를 하였군요." -하고 히스테리컬한 웃ìŒì„ ë³´ì´ê³ ëŠ” ëª¸ì„ í•œ 번 떨었다. -부ì¸ì€ 남편과 ì •ìž„ì˜ ê´€ê³„ë¥¼ ë§í•  때마다 ì´ë ‡ê²Œ 경련ì ì¸ 웃ìŒì„ 웃고 ëª¸ì„ ë– ëŠ” ê²ƒì´ ë²„ë¦‡ì´ì—ˆë‹¤. -"아닙니다. ë…¸ì„ì€ í˜¼ìž ê°€ 있습니다. 그렇게 오해를 마세요." -하고 나는 ë³´ì— ì‹¼ 최ì„ì˜ íŽ¸ì§€ë¥¼ ë‚´ì–´ì„œ 부ì¸ì˜ 앞으로 밀어 놓으며, -"ì´ê²ƒì„ 보시면 다 아실 줄 압니다. 어쨌으나 ë…¸ì„ì€ ê²°ì½” ì •ìž„ì´ë¥¼ ë°ë¦¬ê³  ê°„ ê²ƒì´ ì•„ë‹ˆìš”, ë„리어 ì •ìž„ì´ë¥¼ 멀리 떠나서 ê°„ 것입니다. 그러나 ê·¸ë³´ë‹¤ë„ ì¤‘ëŒ€ 문제가 있습니다. ë…¸ì„ì€ ì´ íŽ¸ì§€ë¥¼ ë³´ë©´ ì£½ì„ ê²°ì‹¬ì„ í•œ 모양입니다." -하고 부ì¸ì˜ 주ì˜ë¥¼ 질투로부터 ê·¸ 남편ì—게 대한 ë™ì •ì— ëŒì–´ ë³´ë ¤ 하였다. -"í¥. 왜요? 시체 정사를 하나요? 좋겠습니다. 머리가 허연 ê²ƒì´ ë”¸ìžì‹ ê°™ì€ ê³„ì§‘ì• í—ˆêµ¬ 정사를 한다면 ê·¸ ê¼´ 좋겠습니다. 죽으ë¼ì§€ìš”. 죽으래요. 죽는 ê²ƒì´ ë‚«ì§€ìš”. 그리구 ì‚´ì•„ì„œ 무엇 í•´ìš”?" -ë‚´ ëœ»ì€ í‹€ë ¤ 버렸다. 부ì¸ì˜ 표정과 ë§ì—서는 ë”ìš±ë”ìš± ë…í•œ ì§ˆíˆ¬ì˜ ì•ˆê°œì™€ 싸늘한 ì–¼ìŒê°€ë£¨ê°€ 날았다. -나는 부ì¸ì˜ ì´ íƒœë„ì— ë°˜ê°ì„ ëŠê¼ˆë‹¤. 아무리 ì§ˆíˆ¬ì˜ ê°ì •ì´ 강하다 하기로, ì‚¬ëžŒì˜ ìƒëª…ì´ ì œ ë‚¨íŽ¸ì˜ ìƒëª…ì´ ìœ„íƒœí•¨ì—ë„ ë¶ˆêµ¬í•˜ê³  ì˜¤ì§ ì œ ì§ˆíˆ¬ì˜ ê°ì •ì—만 충실하려 하는 ê·¸ 태ë„ê°€ 불쾌하였다. 그래서 나는, -"나는 ê·¸ë§Œí¼ ë§ì”€í•´ 드렸으니 ë” í•  ë§ì”€ì€ 없습니다. 아무려나 ì¢€ë” ëƒ‰ì •í•˜ê²Œ ìƒê°í•´ 보세요. 그리고 ì´ê²ƒì„ ì½ì–´ 보세요." -하고 ì¼ì–´ë‚˜ì„œ 집으로 ëŒì•„와 버리고 ë§ì•˜ë‹¤. -ë„무지 불쾌하기 그지없는 ë‚ ì´ë‹¤. 최ì„ì˜ íƒœë„ê¹Œì§€ë„ ë¶ˆì¾Œí•˜ë‹¤. 달아나긴 왜 달아나? 죽기는 왜 죽어? 못난 것! 기운 없는 것! 하고 나는 최ì„ì´ê°€ ê³ì— 섰기나 í•œ 것처럼 ëˆˆì„ í˜ê¸°ê³  중얼거렸다. -최ì„ì˜ ë§ëŒ€ë¡œ 최ì„ì˜ ë¶€ì¸ì€ ì•…í•œ ì‚¬ëžŒì´ ì•„ë‹ˆìš”, 그저 ë³´í†µì¸ ì—¬ì„±ì¼ëŠ”지 모른다. 그렇다 하면 ì—¬ìžì˜ 마ìŒì´ëž€ ë„ˆë¬´ë„ ì§ˆíˆ¬ì˜ ì¢…ì´ ì•„ë‹ê¹Œ. 설사 남편 ë˜ëŠ” 최ì„ì˜ ì‚¬ëž‘ì´ ì•„ë‚´ë¡œë¶€í„° ì •ìž„ì—게로 옮아 갔다고 하ë”ë¼ë„ ê·¸ê²ƒì„ ì§ˆíˆ¬ë¡œ 회복하려는 ê²ƒì€ ì–´ë¦¬ì„ì€ ì¼ì´ë‹¤. ì´ë¯¸ ì‚¬ëž‘ì´ ë– ë‚œ ë‚¨íŽ¸ì„ ë„¤ 마ìŒëŒ€ë¡œ ê°€ê±°ë¼ í•˜ê³  ìžë°œì ìœ¼ë¡œ 내어버릴 것ì´ì§€ë§ˆëŠ” ê·¸ê²ƒì„ ëª» í•  ì‚¬ì •ì´ ìžˆë‹¤ê³  하면 모르는 체하고 내버려 둘 ê²ƒì´ ì•„ë‹Œê°€. ê·¸ëž˜ë„ ì´ê²ƒì€ 우리네 남ìžì˜ ì´ë¡ ì´ìš”, ì—¬ìžë¡œëŠ” ì´ëŸ° ê²½ìš°ì— ì§ˆíˆ¬ë¼ëŠ” ë°˜ì‘ë°–ì— ì—†ë„ë¡ ìƒê¸´ 것ì¼ê¹Œ 나는 ì´ëŸ° ìƒê°ì„ 하고 있었다. -시계가 아홉시를 친다. -남대문 ë°– ì •ê±°ìž¥ì„ ë– ë‚˜ëŠ” ì—´ì°¨ì˜ ê¸°ì  ì†Œë¦¬ê°€ 들린다. -나는 만주를 ìƒê°í•˜ê³ , 시베리아를 ìƒê°í•˜ê³  최ì„ì„ ìƒê°í•˜ì˜€ë‹¤. 마ìŒìœ¼ë¡œëŠ” ì •ìž„ì„ ì‚¬ëž‘í•˜ë©´ì„œ ê·¸ ì‚¬ëž‘ì„ ë°œí‘œí•  수 없어서 ì‹œë² ë¦¬ì•„ì˜ ëˆˆ ë®ì¸ 삼림 ì†ìœ¼ë¡œ 방황하는 최ì„ì˜ ëª¨ì–‘ì´ ìµœì„ì˜ ê¿ˆ ì´ì•¼ê¸°ì— 있는 대로 ëˆˆì•žì— ì„ í•˜ê²Œ 떠나온다. -`ì‚¬ëž‘ì€ ëª©ìˆ¨ì„ ë¹¼ì•—ëŠ”ë‹¤.' -하고 나는 사랑ì¼ëž˜ ì¼ì–´ë‚˜ëŠ” ì¸ìƒì˜ ë¹„ê·¹ì„ ìƒê°í•˜ì˜€ë‹¤. 그러나 최ì„ì˜ ê²½ìš°ëŠ” 보통 있는 ê³µì‹ê³¼ëŠ” 달ë¼ì„œ ì‚¬ëž‘ì„ ì£½ì´ê¸° 위해서 ì œ ëª©ìˆ¨ì„ ì£½ì´ëŠ” 것ì´ì—ˆë‹¤. 그렇다 하ë”ë¼ë„, -`ì‚¬ëž‘ì€ ëª©ìˆ¨ì„ ë¹¼ì•—ëŠ”ë‹¤.' -는 ë°ì—는 ë‹¤ë¦„ì´ ì—†ë‹¤. -나는 ë¶ˆì¾Œë„ í•˜ê³  ëª¸ë„ ìœ¼ìŠ¤ìŠ¤í•˜ì—¬ 얼른 ìžë¦¬ì— 누웠다. ë©°ëŠë¦¬ê°€ 들어온 뒤부터 사랑 ìƒí™œì„ 하는 지가 ë²Œì¨ ì˜¤ ë…„ì´ë‚˜ ë˜ì—ˆë‹¤. 우리 부처란 ì¸ì œëŠ” í•œ ì—­ì‚¬ì  ì¡´ìž¬ìš”, ìœ¤ë¦¬ì  ê´€ê³„ì— ë¶ˆê³¼í•˜ì˜€ë‹¤. 오래 사귄 친구와 ê°™ì€ ìµìˆ™í•¨ì´ 있고, ì§‘ì— ì—†ì§€ 못할 사람ì´ë¼ëŠ” í•„ìš”ê°ë„ 있지마는 ì Šì€ ë¶€ì²˜ê°€ 가지는 듯한 그런 ì •ì€ ë²Œì¨ ì—†ëŠ” 지 오래였다. ì•„ë‚´ë„ ë‚˜ë¥¼ 대하면 본체만체, ë‚˜ë„ ì•„ë‚´ë¥¼ 대하면 본체만체, 무슨 필요가 있어서 ë§ì„ 붙ì´ë”ë¼ë„ ì•„ë¬´ìª¼ë¡ ë“£ê¸° 싫기를 ì›í•˜ëŠ” ë“¯ì´ í†¡í†¡ ë‚´ë˜ì¡Œë‹¤. ì•„ë‚´ë„ ê·¼ëž˜ì— ì™€ì„œëŠ” ì˜·ë„ ì•„ë¬´ë ‡ê²Œë‚˜, ë¨¸ë¦¬ë„ ì•„ë¬´ë ‡ê²Œë‚˜, ì–´ë”” 출입할 때밖ì—는 ë„무지 í™”ìž¥ì„ ì•„ë‹ˆ 하였다. -그러나 그렇다고 우리 ë¶€ì²˜ì˜ ìƒˆê°€ 좋지 못한 ê²ƒë„ ì•„ë‹ˆì—ˆë‹¤. 서로 소중히 여기는 마ìŒë„ 있었다. ì•„ë‚´ê°€ ì•ˆì— ìžˆë‹¤ê³  ìƒê°í•˜ë©´ 마ìŒì´ 든든하고 ë˜ ì•„ë‚´ì˜ ë§ì— ì˜í•˜ê±´ëŒ€ ë‚´ê°€ ì‚¬ëž‘ì— ìžˆê±°ë‹ˆ 하면 마ìŒì´ 든든하다고 한다. -우리 ë¶€ì²˜ì˜ ê´€ê³„ëŠ” ì´ëŸ¬í•œ 관계다. -나는 í•œ ë°©ì—ì„œ í˜¼ìž ìž ì„ ìžëŠ” ê²ƒì´ ìŠµê´€ì´ ë˜ì–´ì„œ 누가 ê³ì— 있으면 ìž ì´ ìž˜ 들지 아니하였다. 혹시 ì–´ë¦°ê²ƒë“¤ì´ ë§¤ë¥¼ 얻어맞고 사랑으로 í”¼ë‚œì„ ì™€ì„œ 울다가 ë‚´ ìžë¦¬ì—ì„œ ìž ì´ ë“¤ë©´ 귀엽기는 ê·€ì—¬ì›Œë„ ìž ìžë¦¬ëŠ” 편안치 아니하였다. 나는 ì±…ì„ ë³´ê³  ê¸€ì„ ì“°ê³  ê³µìƒì„ 하고 있으면 족하였다. 내게는 아무 ì• ìš•ì  ìš”êµ¬ë„ ì—†ì—ˆë‹¤. ì´ê²ƒì€ ë‚´ ì •ë ¥ì´ ì‡ ëª¨í•œ 까닭ì¸ì§€ 모른다. -그러나 최ì„ì˜ íŽ¸ì§€ë¥¼ 본 ê·¸ ë‚  ë°¤ì—는 ë„무지 ìž ì´ ìž˜ 들지 아니하였다. 최ì„ì˜ íŽ¸ì§€ê°€ 최ì„ì˜ ê³ ë¯¼ì´ ë‚´ ì¡¸ë˜ ì˜ì‹ì— 무슨 ìžê·¹ì„ 준 듯하였다. ì ë§‰í•œ 듯하였다. 허전한 듯하였다. 무엇ì¸ì§€ 모르나 그리운 ê²ƒì´ ìžˆëŠ” 것 같았다. -"ì–´, ì´ê±° 안ë˜ì—ˆêµ°." -하고 나는 벌떡 ì¼ì–´ë‚˜ 담배를 피워 물었다. -"나으리 주무셔 곕시오?" -하고 ì•„ë²”ì´ ì „ë³´ë¥¼ 가지고 왔다. -"명조 경성 ì°© 남정임" -ì´ë¼ëŠ” 것ì´ì—ˆë‹¤. -"ì •ìž„ì´ê°€ 와?" -하고 나는 전보를 다시 ì½ì—ˆë‹¤. -최ì„ì˜ ê·¸ 편지를 ë³´ë©´ ìµœì„ ë¶€ì¸ì—게는 ì–´ë–¤ ë°˜ì‘ì´ ì¼ì–´ë‚˜ê³  ì •ìž„ì—게는 ì–´ë–¤ ë°˜ì‘ì´ ì¼ì–´ë‚ ê¹Œ, 하고 ìƒê°í•˜ë©´ ìžëª» 마ìŒì´ 편하지 못하였다. -ì´íŠ¿ë‚  ì•„ì¹¨ì— ë‚˜ëŠ” 부산서 오는 차를 맞으려고 정거장ì—를 나갔다. -차는 ì œ ì‹œê°„ì— ë“¤ì–´ì™”ë‹¤. ë‚¨ì •ìž„ì€ ìŠˆíŠ¸ì¼€ì´ìŠ¤ 하나를 들고 ì°¨ì—ì„œ 내렸다. ê²€ì€ ì™¸íˆ¬ì— ê²€ì€ ëª¨ìžë¥¼ ì“´ ê·¸ì˜ ì–¼êµ´ì€ ë”ìš± 해쓱해 보였다. -"ì„ ìƒë‹˜!" -하고 ì •ìž„ì€ ë‚˜ë¥¼ ë³´ê³  ì†ì— ë“¤ì—ˆë˜ ì§ì„ ë•…ë°”ë‹¥ì— ë‚´ë ¤ë†“ê³ , ë‚´ 앞으로 왔다. -"í’ëž‘ì´ë‚˜ 없었나?" -하고 나는 ë‚´ ì†ì— 잡힌 ì •ìž„ì˜ ì†ì´ 싸늘한 ê²ƒì„ ê·¼ì‹¬í•˜ì˜€ë‹¤. -"네. 아주 잔잔했습니다. ì €ê°™ì´ ì•½í•œ ì‚¬ëžŒë„ ë°–ì— ë‚˜ì™€ì„œ 바다 경치를 구경하였습니다." -하고 ì •ìž„ì€ ì‚¬êµì ì¸ 웃ìŒì„ 웃었다. 그러나 ê·¸ì˜ ëˆˆì—는 ëˆˆë¬¼ì´ ìžˆëŠ” 것 같았다. -"최 ì„ ìƒë‹˜ ì–´ë”” 계신지 아세요?" -하고 ì •ìž„ì€ ë‚˜ë¥¼ ë”°ë¼ ì„œë©´ì„œ 물었다. -"ë‚˜ë„ ì§€ê¸ˆê¹Œì§€ 몰ëžëŠ”ë° ì–´ì œ 편지를 하나 받았지." -하는 ê²ƒì´ ë‚´ 대답ì´ì—ˆë‹¤. -"네? 편지 받으셨어요? ì–´ë”” 계십니까?" -하고 ì •ìž„ì€ ê±¸ìŒì„ 멈추었다. -"ë‚˜ë„ ëª°ë¼." -하고 ë‚˜ë„ ì •ìž„ê³¼ ê°™ì´ ê±¸ìŒì„ 멈추고, -"ê·¸ 편지를 ì“´ ê³³ë„ ì•Œê³  부친 ê³³ë„ ì•Œì§€ë§ˆëŠ” 지금 어디로 갔는지 ê·¸ê²ƒì€ ëª¨ë¥´ì§€. ì°¾ì„ ìƒê°ë„ ë§ê³  편지할 ìƒê°ë„ ë§ë¼ê³  했으니까." -하고 사실대로 대답하였다. -"어디야요? ê·¸ 편지 부치신 ê³³ì´ ì–´ë””ì•¼ìš”? ì € ì´ ì°¨ë¡œ ë”°ë¼ê°ˆ 테야요." -하고 ì •ìž„ì€ ì¡°ê¸‰í•˜ì˜€ë‹¤. -"ê°ˆ ë•Œì—는 ê°€ë”ë¼ë„ ì´ ì°¨ì—야 ê°ˆ 수가 있나." -하고 나는 겨우 ì •ìž„ì„ ëŒê³  들어왔다. -ì •ìž„ì„ ì§‘ìœ¼ë¡œ ë°ë¦¬ê³  와서 대강 ë§ì„ 하고, ì´íŠ¿ë‚  새벽 차로 떠난다는 것ì„, -"가만 있어. 어떻게 계íšì„ 세워 가지고 해야지." -하여 가까스로 붙들어 놓았다. -ì•„ì¹¨ì„ ë¨¹ê³  나서 ìµœì„ ì§‘ì—를 ê°€ 보려고 í•  즈ìŒì— 순임ì´ê°€ 와서 마루 ëì— ì„  채로, -"ì„ ìƒë‹˜, 어머니가 ìž ê¹ë§Œ 오십시사구요." -하였다. -"ì •ìž„ì´ê°€ 왔다." -하고 ë‚´ê°€ 그러니까, -"ì •ìž„ì´ê°€ìš”?" -하고 ìˆœìž„ì€ ê¹œì§ ë†€ë¼ë©´ì„œ, -"ì •ìž„ì´ëŠ” 아버지 계신 ë°ë¥¼ 알아요?" -하고 물었다. -"ì •ìž„ì´ë„ 모른단다. 너 아버지는 ì‹œë² ë¦¬ì•„ì— ê³„ì‹œê³  ì •ìž„ì´ëŠ” ë™ê²½ 있다가 ì™”ëŠ”ë° ì•Œ 리가 있니?" -하고 나는 ìˆœìž„ì˜ ìƒê°ì„ 깨뜨리려 하였다. 순임ì€, -"ì •ìž„ì´ê°€ ì–´ë”” 있어요?" -하고 방들 있는 ê³³ì„ ë‘˜ëŸ¬ë³´ë©°, -"언제 왔어요?" -하고는 그제야 ì •ìž„ì—게 대한 반가운 ì •ì´ ë°œí•˜ëŠ” 듯ì´, -"ì •ìž„ì•„!" -하고 불러 본다. -"언니요? 여기 있수." -하고 ì •ìž„ì´ê°€ 머릿방 ë¬¸ì„ ì—´ê³  ì˜·ì„ ê°ˆì•„ìž…ë˜ ì±„ë¡œ 고개를 내어민다. -ìˆœìž„ì€ êµ¬ë‘를 ì°¨ë‚´ë²„ë¦¬ë“¯ì´ ë²—ì–´ 놓고 ì •ìž„ì˜ ë°©ìœ¼ë¡œ 뛰어들어간다. -나는 최ì„ì˜ ì§‘ì—를 ê°€ëŠë¼ê³  외투를 ìž…ê³  모ìžë¥¼ ì“°ê³  ì •ìž„ì˜ ë°©ë¬¸ì„ ì—´ì–´ 보았다. ë‘ ì²˜ë…€ëŠ” 울고 있었다. -"ì •ìž„ì´ë„ 가지. 아주머니 뵈러 안 ê°€?" -하고 나는 ì •ìž„ì„ ìž¬ì´‰í•˜ì˜€ë‹¤. -"ì„ ìƒë‹˜ 먼저 ê°€ 계셔요." -하고 순임ì´ê°€ ëˆˆë¬¼ì„ ì”»ê³  ì¼ì–´ë‚˜ë©´ì„œ, -"ì´ë”°ê°€ 제가 ì •ìž„ì´í—ˆêµ¬ 갑니다." -하고 내게 ëˆˆì„ ë”ì©ê±°ë ¤ 보였다. ê°‘ìžê¸° ì •ìž„ì´ê°€ 가면 어머니와 ì •ìž„ì´ì™€ 사ì´ì— ì–´ë– í•œ íŒŒëž€ì´ ì¼ì–´ë‚˜ì§€ë‚˜ 아니할까 하고 순임ì´ê°€ 염려하는 것ì´ì—ˆë‹¤. ìˆœìž„ë„ ì¸ì œëŠ” 노성하여졌다고 나는 ìƒê°í•˜ì˜€ë‹¤. -"ì„ ìƒë‹˜ ì´ íŽ¸ì§€ê°€ 다 ì°¸ë§ì¼ê¹Œìš”?" -하고 나를 보는 길로 ìµœì„ ë¶€ì¸ì´ 물었다. ìµœì„ ë¶€ì¸ì€ 히스테리를 ì¼ìœ¼í‚¨ 사람 모양으로 머리와 ì†ì„ 떨었다. -나는 ì°¸ë§ì´ëƒ 하는 ê²ƒì´ ë¬´ì—‡ì„ ê°€ë¦¬í‚¤ëŠ” ë§ì¸ì§€ 분명하지 아니하여서, -"ë…¸ì„ì´ ê±°ì§“ë§í•  사람입니까?" -하고 대체론으로 대답하였다. -"앉으십쇼. 앉으시란 ë§ì”€ë„ 안 하고." -하고 부ì¸ì€ 침착한 ëª¨ì–‘ì„ ë³´ì´ë ¤ê³  빙그레 웃었으나, ê·¸ê²ƒì€ ì‹¤íŒ¨ì˜€ë‹¤. -"그게 ì°¸ë§ì¼ê¹Œìš”? ì •ìž„ì´ê°€ 아기를 ë—€ ê²ƒì´ ì•„ë‹ˆë¼, íê°€ 나빠서 피를 토하고 ìž…ì›í•˜ì˜€ë‹¤ëŠ” 것ì´?" -하고 부ì¸ì€ 중대하다는 í‘œì •ì„ ê°€ì§€ê³  묻는다. -"그럼 ê·¸ê²ƒì´ ì°¸ë§ì´ 아니구요. ì•„ì§ë„ 그런 ì˜ì‹¬ì„ 가지고 계십니까. ì •ìž„ì´ì™€ í•œ ë°©ì— ìžˆëŠ” í•™ìƒì´ 모함한 것ì´ë¼ê³  안 그랬어요? 그게 ë§ì´ ë©ë‹ˆê¹Œ." -하고 ì–¸ì„±ì„ ë†’ì—¬ì„œ 대답하였다. -"그럼 왜 ì •ìž„ì´ê°€ 호텔ì—ì„œ 왜 아버지한테 í•œ 번 안아 달ë¼ê³  그래요? ê·¸ íŽ¸ì§€ì— ì“´ 대로 í•œ 번 안아만 보았ì„까요?" -ì´ê²ƒì€ 부ì¸ì˜ 둘째 물ìŒì´ì—ˆë‹¤. -"나는 ê·¸ë¿ì´ë¼ê³  믿습니다. ê·¸ê²ƒì´ ë„리어 깨ë—하다는 í‘œë¼ê³  믿습니다. 안 그렇습니까?" -하고 나는 딱하다는 í‘œì •ì„ í•˜ì˜€ë‹¤. -"글쎄요." -하고 부ì¸ì€ 한참ì´ë‚˜ ìƒê°í•˜ê³  있다가, -"ì •ë§ ì•  아버지가 í˜¼ìž ë‹¬ì•„ë‚¬ì„까요? ì •ìž„ì´ë¥¼ ë°ë¦¬ê³  가케오치한 ê²ƒì´ ì•„ë‹ê¹Œìš”? ê¼­ ê·¸ëž¬ì„ ê²ƒë§Œ ê°™ì€ë°." -하고 부ì¸ì€ 괴로운 í‘œì •ì„ ê°ì¶”려는 ë“¯ì´ ê³ ê°œë¥¼ 숙ì¸ë‹¤. -나는 남편ì—게 대한 ì•„ë‚´ì˜ ì˜ì‹¬ì´ 어떻게 깊ì€ê°€ì— 아니 놀랄 수가 없어서, -"í—ˆ." -하고 í•œ 마디 웃고, -"그렇게 수십 ë…„ ë™ì•ˆ 부부 ìƒí™œì„ í•˜ì‹œê³ ë„ ê·¸ë ‡ê²Œ ë…¸ì„ì˜ ì¸ê²©ì„ ëª°ë¼ ì£¼ì‹­ë‹ˆê¹Œ. 나는 부ì¸ê»˜ì„œ 하시는 ë§ì”€ì´ 부러 하시는 ë†ë‹´ìœ¼ë¡œë°–ì— ì•„ë‹ˆ 들립니다. ì •ìž„ì´ê°€ 지금 서울 있습니다." -하고 ë˜ í•œ 번 웃었다. ì •ë§ ê¸°ë§‰ížŒ 웃ìŒì´ì—ˆë‹¤. -"ì •ìž„ì´ê°€ 서울 있어요?" -하고 부ì¸ì€ íŽ„ì© ë›°ë©´ì„œ, -"ì–´ë”” 있다가 언제 왔습니까? 그게 ì •ë§ìž…니까?" -하고 ì˜ì•„í•œ ë¹›ì„ ë³´ì¸ë‹¤. ê¼­ 최ì„ì´í•˜ê³  함께 ë‹¬ì•„ë‚¬ì„ ì •ìž„ì´ê°€ ì„œìš¸ì— ìžˆì„ ë¦¬ê°€ 없는 것ì´ì—ˆë‹¤. -"ë™ê²½ì„œ 오늘 ì•„ì¹¨ì— ì™”ìŠµë‹ˆë‹¤. 지금 우리 집ì—ì„œ 순임ì´í—ˆêµ¬ ì´ì•¼ê¸°ë¥¼ 하고 있으니까 조금 있으면 뵈오러 올 것입니다." -하고 나는 ì •ìž„ì´ê°€ 분명히 서울 있는 ê²ƒì„ ì¼ì¼ì´ ì¦ê±°ë¥¼ 들어서 ì¦ëª…하였다. 그리고 우스운 ê²ƒì„ ì†ìœ¼ë¡œ 참았다. 그러나 ë‹¤ìŒ ìˆœê°„ì—는 ì´ ë³‘ë“¤ê³  ëŠ™ì€ ì•„ë‚´ì˜ ì§ˆíˆ¬ì™€ ì˜ì‹¬ìœ¼ë¡œ 괴로워서 ëœëœëœëœ 떨고 앉았는 ê²ƒì„ ê°€ì—¾ê²Œ ìƒê°í•˜ì˜€ë‹¤. -ì •ìž„ì´ê°€ 지금 ì„œìš¸ì— ìžˆëŠ” ê²ƒì´ ë” ì˜ì‹¬í•  여지가 없는 ì‚¬ì‹¤ìž„ì´ íŒëª…ë˜ë§¤, 부ì¸ì€ ë„리어 ë‚™ë§í•˜ëŠ” 듯하였다. 그가 ì œ 마ìŒëŒ€ë¡œ 그려 놓고 믿고 í•˜ë˜ ëª¨ë“  ì² í•™ì˜ ê³„í†µì´ ë¬´ë„ˆì§„ 것ì´ì—ˆë‹¤. -한참ì´ë‚˜ í©ì–´ì§„ ì •ì‹ ì„ ëª» 수습하는 ë“¯ì´ ì•‰ì•„ 있ë”니 아주 기운 없는 ì–´ì¡°ë¡œ, -"ì„ ìƒë‹˜ ì•  아버지가 ì •ë§ ì£½ì„까요? ì •ë§ ì˜ì˜ 집ì—를 안 ëŒì•„올까요?" -하고 묻는다. ê·¸ 눈ì—는 ë²Œì¨ ëˆˆë¬¼ì´ ì–´ë¦¬ì—ˆë‹¤. -"글쎄요. ë‚´ ìƒê° 같아서는 다시는 ì§‘ì— ëŒì•„오지 아니할 것 같습니다. ë˜ ê·¸ë§Œì¹˜ ë§ì‹ ì„ 했으니, ì´ì œ 무슨 낯으로 ëŒì•„옵니까. ë‚´ë¼ë„ 다시 ì§‘ì— ëŒì•„올 ìƒê°ì€ 아니 내겠습니다." -하고 나는 ì˜ì‹ì ìœ¼ë¡œ ì•…ì˜ë¥¼ 가지고 부ì¸ì˜ ê°€ìŠ´ì— ì¹¼ì„ í•˜ë‚˜ 박았다. -ê·¸ ì¹¼ì€ ë¶„ëª…ížˆ 부ì¸ì˜ ê°€ìŠ´ì— ì•„í”„ê²Œ 박힌 모양ì´ì—ˆë‹¤. -"ì„ ìƒë‹˜. 어떡하면 좋습니까. ì•  아버지가 죽지 않게 í•´ 주세요. 그렇지 ì•Šì•„ë„ ìˆœìž„ì´ë…„ì´ ì œê°€ ê±” 아버지를 달아나게나 í•œ 것처럼 ì›ë§ì„ 하는ë°ìš”. 그러다가 ì •ë…• 죽으면 어떻게 합니까. ì œì¼ ë”´ ìžì‹ë“¤ì˜ ì›ë§ì„ 들ì„ê¹Œë´ ê²ì´ 납니다. ì„ ìƒë‹˜, 어떻게 ì•  아버지를 붙들어다 주세요." -하고 마침내 ì°¸ì„ ìˆ˜ ì—†ì´ ìš¸ì—ˆë‹¤. ë§ì€ ë¹„ë¡ ìžì‹ë“¤ì˜ ì›ë§ì´ ë‘렵다고 하지마는 ì§ˆíˆ¬ì˜ ê°ì •ì´ 스러질 ë•Œì— ê·¸ì—게는 남편ì—게 대한 ì•„ë‚´ì˜ ì• ì •ì´ ë§‰í˜”ë˜ ë¬¼ê³¼ ê°™ì´ í„°ì ¸ 나온 것ì´ë¼ê³  나는 í•´ì„하였다. -"글쎄, ì–´ë”” 있는 줄 알고 찾습니까. ë…¸ì„ì˜ ì„±ë¯¸ì— í•œë²ˆ 아니 한다고 했으면 다시 편지할 리는 만무하다고 믿습니다." -하여 나는 부ì¸ì˜ ê°€ìŠ´ì— ë‘˜ì§¸ ì¹¼ë‚ ì„ ë°•ì•˜ë‹¤. -나는 ë¹„ë¡ ìµœì„ì˜ ë¶€ì¸ì´ 청하지 아니하ë”ë¼ë„ 최ì„ì„ ì°¾ìœ¼ëŸ¬ 떠나지 아니하면 아니 ë  ì˜ë¬´ë¥¼ 진다. ì‚° 최ì„ì„ ëª» ì°¾ë”ë¼ë„ 최ì„ì˜ ì‹œì²´ë¼ë„, 무ë¤ì´ë¼ë„, ì£½ì€ ìžë¦¬ë¼ë„, 마지막 ìžˆë˜ ê³³ì´ë¼ë„ 찾아보지 아니하면 아니 ë  ì˜ë¬´ë¥¼ 깨닫는다. -그러나 ì‹œêµ­ì´ ë³€í•˜ì—¬ ê·¸ ë•Œì—는 ì•„ë¼ì‚¬ì— 가는 ê²ƒì€ ì—¬ê°„ 곤란한 ì¼ì´ 아니었다. ê·¸ ë•Œì—는 ë¶ë§Œì˜ í’ìš´ì´ ê¸‰ë°•í•˜ì—¬ 만주리를 통과하기는 ì‚¬ì‹¤ìƒ ë¶ˆê°€ëŠ¥ì— ê°€ê¹Œì› ë‹¤. 마ì ì‚°(馬å å±±) ì¼íŒŒì˜ 군대가 í¥ì•ˆë ¹, 하ì¼ë¼ë¥´ ë“±ì§€ì— ì›…ê±°í•˜ì—¬ 언제 대충ëŒì´ í­ë°œë ëŠ”지 ëª¨ë¥´ë˜ ë•Œì˜€ë‹¤. ì´ ë•Œë¬¸ì— ì‹œë² ë¦¬ì•„ì— ë“¤ì–´ê°€ê¸°ëŠ” ê±°ì˜ ì ˆë§ ìƒíƒœë¼ê³  하겠고, ë˜ ê´€í—Œë„ ì•„ë¼ì‚¬ì— 들어가는 ì—¬í–‰ê¶Œì„ ìž˜ êµë¶€í•  것 같지 아니하였다. -부ì¸ì€ 울고, 나는 ì´ëŸ° ìƒê° 저런 ìƒê° 하고 있는 ë™ì•ˆì— 문 ë°–ì—는 순임ì´, ì •ìž„ì´ê°€ 들어오는 소리가 들렸다. -"ì•„ì´, ì •ìž„ì´ëƒ." -하고 부ì¸ì€ 반갑게 허리 굽혀 ì¸ì‚¬í•˜ëŠ” ì •ìž„ì˜ ì–´ê¹¨ì— ì†ì„ 대고, -"ìž ì•‰ì•„ë¼. 그래 ì¸ì œ ë³‘ì´ ì¢€ 나으ëƒâ€¦â€¦ 수척했구나. ë” ë…¸ì„±í•´ì§€êµ¬ ë°˜ ë…„ë„ ëª» ë˜ì—ˆëŠ”ë°." -하고 ì •ìž„ì—게 대하여 ì• ì •ì„ í‘œí•˜ëŠ” ê²ƒì„ ë³´ê³  나는 ì˜ì™¸ì§€ë§ˆëŠ” 다행으로 ìƒê°í•˜ì˜€ë‹¤. 나는 ì •ìž„ì´ê°€ 오면 보기 ì‹«ì€ í•œ ì‹ ì„ ì—°ì¶œí•˜ì§€ 않나 하고 ê·¼ì‹¬í•˜ì˜€ë˜ ê²ƒì´ë‹¤. -"í¬ ìž˜ ìžë¼ìš”?" -하고 ì •ìž„ì€ í•œì°¸ì´ë‚˜ 있다가 비로소 ìž…ì„ ì—´ì—ˆë‹¤. -"ì‘, 잘 있단다. 컸나 ê°€ ë³´ì•„ë¼." -하고 부ì¸ì€ ë”ìš± 반가운 í‘œì •ì„ ë³´ì¸ë‹¤. -"ì–´ëŠ ë°©ì´ì•¼?" -하고 ì •ìž„ì€ ì„ ë¬¼ ë³´í‰ì´ë¥¼ 들고 순임과 함께 나가 버린다. ì—¬ìžì¸ ì •ìž„ì€ í¬ì™€ 순임과 부ì¸ê³¼ ë˜ ìˆœìž„ì˜ ë‹¤ë¥¸ ë™ìƒì—게 선물 사 오는 ê²ƒì„ ìžŠì–´ë²„ë¦¬ì§€ 아니하였다. -ì •ìž„ê³¼ ìˆœìž„ì€ í•œ ì´ì‚¼ 분 있다가 ëŒì•„왔다. ë°–ì—ì„œ í¬ê°€ 무엇ì´ë¼ê³  지절대는 소리가 들린다. 아마 ì •ìž„ì´ê°€ 사다 준 ì„ ë¬¼ì„ ë°›ê³  좋아하는 모양ì´ë‹¤. -ì •ìž„ì€ ë“¤ê³  온 ë³´í‰ì´ì—ì„œ ì—¬ìžìš© 배스로브 하나를 ë‚´ì–´ì„œ 부ì¸ì—게주며, -"맞으실까?" -하였다. -"ì•„ì´ ê·¸ê±´ 무어ë¼ê³  사 왔니?" -하고 부ì¸ì€ 좋아ë¼ê³  ìž…ì–´ ë³´ê³ , ì´ë¦¬ ë³´ê³  저리 ë³´ê³  하면서, -"ë‚œ ì´ëŸ° ê±° ì²˜ìŒ ìž…ì–´ 본다." -하고 ìžê¾¸ ëˆì„ ë™ì—¬ë§¨ë‹¤. -"ì •ìž„ì´ê°€ ë‚œ 파ìžë§ˆë¥¼ 사다 주었어." -하고 ìˆœìž„ì€ ë”°ë¡œ ìŒŒë˜ êµµì€ ì¤„ 있는 융 파ìžë§ˆë¥¼ ë‚´ì–´ì„œ 경매장 사람 모양으로 í”들어 ë³´ì´ë©°, -"어머니 ê·¸ 배스로브 나 주우. 어머닌 늙ì€ì´ê°€ 그건 ìž…ì–´ì„œ 무엇 하우?" -하고 부ì¸ì´ ìž…ì€ ë°°ìŠ¤ë¡œë¸Œë¥¼ 벗겨서 제가 ìž…ê³  ë‘ í˜¸ì£¼ë¨¸ë‹ˆì— ì†ì„ 넣고 어기죽어기죽하고 서양 부ì¸ë„¤ í‰ë‚´ë¥¼ 낸다. -"저런 ë§ê´„량ì´ê°€ ë„ˆë„ ì •ìž„ì´ì²˜ëŸ¼ 좀 얌전해 ë³´ì•„ë¼." -하고 부ì¸ì€ ìˆœìž„ì„ í–¥í•˜ì—¬ ëˆˆì„ í˜ê¸´ë‹¤. -ì´ ëª¨ì–‘ìœ¼ë¡œ 부ì¸ê³¼ ì •ìž„ê³¼ì˜ ëŒ€ë©´ì€ ê°€ìž¥ ì›ë§Œí•˜ê²Œ ë˜ì—ˆë‹¤. -그러나 부ì¸ì€ ì •ìž„ì—게 최ì„ì˜ íŽ¸ì§€ë¥¼ ë³´ì´ê¸°ë¥¼ ì›ì¹˜ 아니하였다. 편지가 왔다는 ë§ì¡°ì°¨ ìž… ë°–ì— ë‚´ì§€ 아니하였다. 그러나 순임ì´ê°€ ì •ìž„ì—게 대하여 표하는 ì• ì •ì€ ì—¬ê°„ 깊지 아니하였다. ê·¸ ë‘˜ì€ í•˜ë£¨ ì¢…ì¼ ê°™ì´ ìžˆì—ˆë‹¤. ì •ìž„ì€ ê·¸ ë‚  ì €ë…ì— ë‚˜ë¥¼ ë³´ê³ , -"순임ì´í—Œí…Œ 최 ì„ ìƒë‹˜ 편지 ì‚¬ì—°ì€ ë‹¤ 들었어요. 순임ì´ê°€ ê·¸ 편지를 í›”ì³ë‹¤ê°€ 얼른얼른 몇 êµ°ë° ì½ì–´ë„ 보았습니다. 순임ì´ê°€ 저를 í½ ë™ì •í•˜ë©´ì„œ ì ˆë”러 최 ì„ ìƒì„ ë”°ë¼ê°€ ë³´ë¼ê³  그래요. í˜¼ìž ê°€ê¸°ê°€ 어려우면 ìžê¸°í—ˆêµ¬ ê°™ì´ ê°€ìžê³ . 가서 최 ì„ ìƒì„ ë°ë¦¬ê³  오ìžê³ . 어머니가 못 가게 하거든 몰래 ë‘˜ì´ ë„ë§í•´ ê°€ìžê³ . 그래서 그러ìžê³  그랬습니다. 안ë지요. ì„ ìƒë‹˜?" -하고 ì €í¬ë¼ë¦¬ ìž‘ì •ì€ ë‹¤ í•´ 놓고는 ìŠ¬ì© ë‚´ ì˜í–¥ì„ 물었다. -"ì Šì€ ì—¬ìž ë‹¨ë‘˜ì´ì„œ 먼 ì—¬í–‰ì„ ì–´ë–»ê²Œ 한단 ë§ì´ëƒ? 게다가 지금 ë¶ë§Œì£¼ 형세가 대단히 위급한 모양ì¸ë°. ë˜ ì •ìž„ì´ëŠ” ê·¸ ê±´ê°• 가지고 어디를 ê°€, ì´ ì¶”ìš´ 겨울ì—?" -하고 나는 ì´ëŸ° ë§ì´ 다 쓸ë°ì—†ëŠ” ë§ì¸ 줄 ì•Œë©´ì„œë„ ì–´ë¥¸ìœ¼ë¡œì„œ í•œ 마디 안 í•  수 없어서 하였다. ì •ìž„ì€ ë” ì œ ëœ»ì„ ì£¼ìž¥í•˜ì§€ë„ ì•„ë‹ˆí•˜ì˜€ë‹¤. -ê·¸ ë‚  ì €ë…ì— ì •ìž„ì€ ìˆœìž„ì˜ ì§‘ì—ì„œ 잤는지 ì§‘ì— ì˜¤ì§€ë¥¼ 아니하였다. -나는 ì´ ì¼ì„ 어찌하면 좋ì€ê°€, ì´ ë‘ ì—¬ìžì˜ í–‰ë™ì„ 어찌하면 좋ì€ê°€ 하고 í˜¼ìž ë™ë™ ìƒê°í•˜ê³  있었다. -ì´íŠ¿ë‚  나는 ê¶ê¸ˆí•´ì„œ 최ì„ì˜ ì§‘ì—를 ê°”ë”니 부ì¸ì´, -"우리 ìˆœìž„ì´ ëŒì— 갔어요?" -하고 ì˜ì™¸ì˜ ì§ˆë¬¸ì„ í•˜ì˜€ë‹¤. -"아니오." -하고 나는 놀ëžë‹¤. -"그럼, ì´ê²ƒë“¤ì´ 어딜 갔어요? ë‚œ ì •ìž„ì´í—ˆêµ¬ ëŒì—ì„œ ìž” 줄만 알았는ë°." -하고 부ì¸ì€ 무슨 불길한 것ì´ë‚˜ 본 ë“¯ì´ ëª¸ì„ ë–¤ë‹¤. 히스테리가 ì¼ì–´ë‚œ 것ì´ì—ˆë‹¤. -나는 ìž…ë§›ì„ ë‹¤ì‹œì—ˆë‹¤. 분명히 ì´ ë‘ ì—¬ìžê°€ 시베리아를 향하고 떠났구나 하였다. -ê·¸ ë‚ ì€ ì†Œì‹ì´ ì—†ì´ ì§€ë‚¬ë‹¤. ê·¸ ì´íŠ¿ë‚ ë„ 소ì‹ì´ ì—†ì´ ì§€ë‚¬ë‹¤. -ìµœì„ ë¶€ì¸ì€ 딸까지 잃어버리고 미친 ë“¯ì´ ìš¸ê³  애통하다가 머리를 싸매고 누워 버리고 ë§ì•˜ë‹¤. -ì •ìž„ì´ì™€ 순임ì´ê°€ 없어진 지 ì‚¬í˜ ë§Œì— ì•„ì¹¨ ìš°íŽ¸ì— íŽ¸ì§€ í•œ ìž¥ì„ ë°›ì•˜ë‹¤. ê·¸ 봉투는 봉천 ì•¼ë§ˆë„ í˜¸í…” 것ì´ì—ˆë‹¤. ê·¸ ì†ì—는 편지 ë‘ ìž¥ì´ ë“¤ì–´ 있었다. í•œ ìž¥ì€ , -ì„ ìƒë‹˜! 저는 아버지를 위하여, ì •ìž„ì„ ìœ„í•˜ì—¬ ì •ìž„ê³¼ ê°™ì´ ì§‘ì„ ë– ë‚¬ìŠµë‹ˆë‹¤. -어머님께서 슬í¼í•˜ì‹¤ ì¤„ì€ ì•Œì§€ë§ˆëŠ” ì €í¬ë“¤ì´ 다행히 아버지를 찾아서 모시고 오면 ì–´ë¨¸ë‹ˆê»˜ì„œë„ ê¸°ë»í•˜ì‹¤ ê²ƒì„ ë¯¿ìŠµë‹ˆë‹¤. ì €í¬ë“¤ì´ 가지 아니하고는 아버지는 ì‚´ì•„ì„œ ëŒì•„오실 것 같지 아니합니다. 아버지를 ì´ì²˜ëŸ¼ 불행하시게 í•œ 죄는 ì ˆë°˜ì€ ì–´ë¨¸ë‹ˆê»˜ 있고, ì ˆë°˜ì€ ì œê²Œ 있습니다. 저는 아버지 ì¼ì„ ìƒê°í•˜ë©´ ê°€ìŠ´ì´ ë¯¸ì–´ì§€ê³  ì´ê°€ 갈립니다. 저는 아무리 í•´ì„œë¼ë„ 아버지를 찾아내어야겠습니다. -저는 ì •ìž„ì„ ë¬´í•œížˆ ë™ì •í•©ë‹ˆë‹¤. 저는 어려서 ì •ìž„ì„ ë¯¸ì›Œí•˜ê³  아버지를 미워하였지마는 ì§€ê¸ˆì€ ì•„ë²„ì§€ì˜ ë§ˆìŒê³¼ ì •ìž„ì˜ ë§ˆìŒì„ 알아볼 만치 ìžëžìŠµë‹ˆë‹¤. -ì„ ìƒë‹˜! ì €í¬ë“¤ì€ ë‘˜ì´ ì†ì„ ìž¡ê³  어디를 가서든지 아버지를 찾아내겠습니다. í•˜ë‚˜ë‹˜ì˜ ì‚¬ìžê°€ ë‚®ì—는 êµ¬ë¦„ì´ ë˜ê³  ë°¤ì—는 ë³„ì´ ë˜ì–´ì„œ 반드시 ì €í¬ë“¤ì˜ ì•žê¸¸ì„ ì¸ë„í•  줄 믿습니다. -ì„ ìƒë‹˜, ì €í¬ ì–´ë¦°ê²ƒë“¤ì˜ ëœ»ì„ ë¶ˆìŒížˆ 여기셔서 ëˆ ì²œ ì›ë§Œ ì „ë³´ë¡œ ë³´ë‚´ 주시기를 ë°”ëžë‹ˆë‹¤. -ë§Œì¼ ë§Œì£¼ë¦¬ë¡œ 가는 ê¸¸ì´ ëŠì–´ì§€ë©´ 몽고로 ìžë™ì°¨ë¡œë¼ë„ 가려고 합니다. 아버지 íŽ¸ì§€ì— ì ížŒ Fì—­ì˜ R씨를 찾고, 그리고 ë°”ì´ì¹¼ í˜¸ë°˜ì˜ ë°”ì´ì¹¼ë¦¬ìŠ¤ì½”ì—를 찾아, ì´ ëª¨ì–‘ìœ¼ë¡œ 찾으면 반드시 아버지를 찾아 내고야 ë§ ê²ƒì„ ë¯¿ìŠµë‹ˆë‹¤. -ì„ ìƒë‹˜, ëˆ ì²œ ì›ë§Œ 봉천 ì•¼ë§ˆë„ í˜¸í…” 최순임 ì´ë¦„으로 ë¶€ì³ ì£¼ì„¸ìš”. 그리고 어머니헌테는 ì•„ì§ ë§ì”€ ë§ì•„ 주세요. -ì„ ìƒë‹˜. ì´ë ‡ê²Œ 걱정하시게 í•´ì„œ 미안합니다. 용서하세요. -순임 ìƒì„œ -ì´ë ‡ê²Œ ì¨ ìžˆë‹¤. ë˜ í•œ 장ì—는, -ì„ ìƒë‹˜! 저는 마침내 ëŒì•„오지 못할 ê¸¸ì„ ë– ë‚˜ë‚˜ì´ë‹¤. 어디든지 최 ì„ ìƒë‹˜ì„ 뵈옵는 ê³³ì—ì„œ ì´ ëª¸ì„ ë¬»ì–´ 버리려 하나ì´ë‹¤. 지금 ë˜ ëª¸ì— ì—´ì´ ë‚˜ëŠ” 모양ì´ìš”, í˜ˆë‹´ë„ ë³´ì´ì˜¤ë‚˜ 최 ì„ ìƒì„ 뵈올 때까지는 아무리 하여서ë¼ë„ ì´ ëª©ìˆ¨ì„ ë¶€ì§€í•˜ë ¤ 하오며, 최 ì„ ìƒì„ 뵈옵고 제가 진 ì€í˜œë¥¼ ê°ì‚¬í•˜ëŠ” í•œ ë§ì”€ë§Œ 사뢰면 고대 ì£½ì‚¬ì™€ë„ ì—¬í•œì´ ì—†ì„까 하나ì´ë‹¤. -순임 언니가 제게 주시는 사랑과 ë™ì •ì€ ì˜¤ì§ ëˆˆë¬¼ê³¼ ê°ê²©ë°–ì— ë” í‘œí•  ë§ì”€ì´ 없나ì´ë‹¤. 순임 언니가 저를 보호하여 주니 마ìŒì´ 든든하여ì´ë‹¤â€¦â€¦. -ì´ë¼ê³  하였다. -편지를 보아야 별로 놀랄 ê²ƒì€ ì—†ì—ˆë‹¤. 다만 ë§ê´„량ì´ë¡œë§Œ ì•Œì•˜ë˜ ìˆœìž„ì˜ ì†ì— ì–´ëŠìƒˆì— 그러한 ê°ì •ì´ 발달하였나 하는 ê²ƒì„ ë†€ëž„ ë¿ì´ì—ˆë‹¤. -그러나 ê±±ì •ì€ ì´ê²ƒì´ë‹¤. 순임ì´ë‚˜ ì •ìž„ì´ë‚˜ 다 ë‚´ê°€ ê°ë…해야 í•  ì²˜ì§€ì— ìžˆê±°ëŠ˜ ê·¸ë“¤ì´ ë§Œë¦¬ 긴 ì—¬í–‰ì„ ë– ë‚œë‹¤ê³  하니 ê°ë…ìžì¸ ë‚´ 태ë„를 어떻게 할까 하는 것ì´ë‹¤. -나는 편지를 받는 길로 ìš°ì„  ëˆ ì²œ ì›ì„ ì€í–‰ì— 가서 찾아다 놓았다. -ì•”ë§Œí•´ë„ ë‚´ê°€ ì„œìš¸ì— ê°€ë§Œížˆ 앉아서 ë‘ ì•„ì´ì—게 ëˆë§Œ ë¶€ì³ ì£¼ëŠ” ê²ƒì´ ì¸ì •ì— 어그러지는 것 같아서 나는 여러 가지로 ì£¼ì„ ì„ í•˜ì—¬ì„œ ì—¬í–‰ì˜ ì–‘í•´ë¥¼ 얻어 가지고 ë´‰ì²œì„ í–¥í•˜ì—¬ 떠났다. -ë‚´ê°€ ë´‰ì²œì— ë„ì°©í•œ ê²ƒì€ ë°¤ 열시가 지나서였다. 순임과 ì •ìž„ì€ ìžë¦¬ì˜· 바람으로 ë‚´ 방으로 달려와서 반가워하였다. ê·¸ë“¤ì´ ë°˜ê°€ì›Œí•˜ëŠ” ì–‘ì€ ì‹¤ë¡œ ëˆˆë¬¼ì´ í를 만하였다. -"ì•„ì´êµ¬ ì„ ìƒë‹˜!" -"ì•„ì´êµ¬ 어쩌면!" -하는 ê²ƒì´ ê·¸ë“¤ì˜ ë‚´ê²Œ 대한 ì¸ì‚¬ì˜ 전부였다. -"ì •ìž„ì´ ì–´ë– ì˜¤?" -하고 나는 ìˆœìž„ì˜ íŽ¸ì§€ì— ì •ìž„ì´ê°€ ì—´ì´ ìžˆë‹¨ ë§ì„ ìƒê°í•˜ì˜€ë‹¤. -"무어요. 괜찮습니다." -하고 ì •ìž„ì€ ì›ƒì—ˆë‹¤. -ì „ë“±ë¹›ì— ë³´ì´ëŠ” ì •ìž„ì˜ ì–¼êµ´ì€ ê·¸ì•¼ë§ë¡œ 대리ì„으로 ê¹Žì€ ë“¯í•˜ì˜€ë‹¤. 여위고 í•ê¸°ê°€ 없는 ê²ƒì´ ë”ìš± ì •ìž„ì˜ ìš©ëª¨ì— ì—„ìˆ™í•œ ë§›ì„ ì£¼ì—ˆë‹¤. -"ëˆ ê°€ì ¸ì˜¤ì…¨ì–´ìš”?" -하고 순임ì´ê°€ 어리광 절반으로 묻다가 ë‚´ê°€ 웃고 ëŒ€ë‹µì´ ì—†ìŒì„ ë³´ê³ , -"우리를 붙들러 오셨어요?" -하고 성내는 ì–‘ì„ ë³´ì¸ë‹¤. -"그래 둘ì´ì„œë“¤ 간다니 어떻게 간단 ë§ì¸ê°€. 시베리아가 ì–´ë–¤ ê³³ì— ë¶™ì—ˆëŠ”ì§€ ì•Œì§€ë„ ëª»í•˜ë©´ì„œ." -하고 나는 ë‘ ì‚¬ëžŒì´ ê·¸ë¦¬ 슬í¼í•˜ì§€ 아니하는 ìˆœê°„ì„ ë³´ëŠ” ê²ƒì´ ë‹¤í–‰í•˜ì—¬ì„œ ë†ë‹´ì‚¼ì•„ 물었다. -"왜 몰ë¼ìš”? 시베리아가 저기 아니야요?" -하고 순임ì´ê°€ ì‚°í•´ê´€ ìª½ì„ ê°€ë¦¬í‚¤ë©°, -"ìš°ë¦¬ë„ ì§€ë¦¬ì—ì„œ 배워서 다 알아요. 어저께 하루 ì¢…ì¼ ì§€ë„를 사다 놓고 연구를 하였답니다. 봉천서 ì‹ ê²½, 신경서 하얼빈, 하얼빈ì—ì„œ 만주리, 만주리ì—ì„œ ì´ë¥´ì¿ ì¸ í¬, 보세요, 잘 알지 않습니까. ë˜ ë§Œì¼ ì¤‘ë™ ì² ë„ê°€ 불통ì´ë©´ 어떻게 가는고 하니 여기서 ì‚°í•´ê´€ì„ ê°€ê³ , 산해관서 ë¶ê²½ì„ 가지요. 그리고는 ë¶ê²½ì„œ 장가구를 가지 않습니까. 장가구서 ìžë™ì°¨ë¥¼ 타고 몽고를 통과해서 가거든요. 잘 알지 않습니까." -하고 ì •ìž„ì˜ í—ˆë¦¬ë¥¼ 안으며, -"그렇지ì´?" -하고 ìžì‹  있는 ë“¯ì´ ì›ƒëŠ”ë‹¤. -"ë˜ ëª½ê³ ë¡œë„ ëª» 가게 ë˜ì–´ì„œ 구ë¼íŒŒë¥¼ ëŒê²Œ ë˜ë©´?" -하고 나는 êµì‚¬ê°€ ìƒë„ì—게 묻는 모양으로 물었다. -"네, ì € ì¸ë„양으로 í•´ì„œ 지중해로 í•´ì„œ 프랑스로 í•´ì„œ 그렇게 가지요." -"í—ˆ, 잘 아는구나." -하고 나는 웃었다. -"그렇게만 알아요? ë˜ í•´ì‚¼ìœ„ë¡œ í•´ì„œ 가는 ê¸¸ë„ ì•Œì•„ìš”. ì €í¬ë¥¼ 어린애로 아시네." -"잘못했소." -"하하." -"후후." -사실 ê·¸ë“¤ì€ ë²Œì¨ ì–´ë¦°ì• ë“¤ì€ ì•„ë‹ˆì—ˆë‹¤. ìˆœìž„ë„ ë²Œì¨ ê·¸ ì•„ë²„ì§€ì˜ ë§í•  수 없는 ì‚¬ì •ì— ë™ì •í•  나ì´ê°€ ë˜ì—ˆë‹¤. 순임ì´ê°€ 기어다닌 ê²ƒì€ ë³¸ 나로는 ì´ê²ƒë„ ì´ìƒí•˜ê²Œ 보였다. 나는 ë²Œì¨ ë‚˜ì´ ë§Žì•˜êµ¬ë‚˜ 하는 ìƒê°ì´ 나지 아니할 수 없었다. -나는 ìž  안 드는 í•˜ë£»ë°¤ì„ ì§€ë‚´ë©´ì„œ 옆방ì—ì„œ ì •ìž„ì´ê°€ ê¸°ì¹¨ì„ ì§“ëŠ” 소리를 들었다. ê·¸ 소리는 ë‚´ ê°€ìŠ´ì„ ì•„í”„ê²Œ 하였다. -ì´íŠ¿ë‚  나는 ë‘ ì‚¬ëžŒì—게 ëˆ ì²œ ì›ì„ 주어서 ì‹ ê²½ 가는 급행차를 태워 주었다. ëŒ€ë¥™ì˜ ì´ ê±´ì¡°í•˜ê³  추운 ê¸°í›„ì— ì •ìž„ì˜ ë³‘ë“  íê°€ 견디어 날까 하고 마ìŒì´ 놓ì´ì§€ 아니하였다. 그러나 나는 ê·¸ë“¤ì„ ê°€ë¼ê³  권할 수는 ìžˆì–´ë„ ê°€ì§€ ë§ë¼ê³  붙들 수는 없었다. 다만 ì œ 아버지, ì œ ì• ì¸ì„ 죽기 ì „ì— ë§Œë‚  수 있기만 빌 ë¿ì´ì—ˆë‹¤. -나는 ë‘ ì•„ì´ë¥¼ ë¶ìª½ìœ¼ë¡œ 떠나 ë³´ë‚´ê³  í˜¼ìž ì—¬ê´€ì— ë“¤ì–´ì™€ì„œ ë„무지 ì •ì‹ ì„ ì§„ì •í•˜ì§€ 못하여 ìˆ ì„ ë¨¹ê³  잊으려 하였다. 그러다가 ê·¸ ë‚  밤차로 서울로 ëŒì•„왔다. -ì´íŠ¿ë‚  ì•„ì¹¨ì— ë‚˜ëŠ” ìµœì„ ë¶€ì¸ì„ 찾아서 순임과 ì •ìž„ì´ê°€ 시베리아로 갔단 ë§ì„ 전하였다. -ê·¸ ë•Œì— ìµœ 부ì¸ì€ ê±°ì˜ ì•„ë¬´ ì •ì‹ ì´ ì—†ëŠ” 듯하였다. 아무 ë§ë„ 하지 아니하고 울고만 있었다. -얼마 있다가 부ì¸ì€, -"ê·¸ê²ƒë“¤ì´ ì €í¬ë“¤ë¼ë¦¬ 가서 괜찮ì„까요?" -하는 í•œ 마디를 í•  ë¿ì´ì—ˆë‹¤. -ë©°ì¹  í›„ì— ìˆœìž„ì—게서 편지가 왔다. ê·¸ê²ƒì€ í•˜ì–¼ë¹ˆì—ì„œ 부친 것ì´ì—ˆë‹¤. -í•˜ì–¼ë¹ˆì„ ì˜¤ëŠ˜ 떠납니다. í•˜ì–¼ë¹ˆì— ì™€ì„œ 아버지 친구 ë˜ì‹œëŠ” Rì†Œìž¥ì„ ë§Œë‚˜ëµˆì˜µê³  아버지 ì¼ì„ 물어 보았습니다. 그리고 ì €í¬ ë‘˜ì´ì„œ 찾아 떠났다는 ë§ì”€ì„ 하였ë”니 Rì†Œìž¥ì´ ëŒ€ë‹¨ížˆ ë™ì •í•˜ì—¬ì„œ ì—¬í–‰ê¶Œë„ ì¤€ë¹„í•´ 주시기로 ì €í¬ëŠ” 아버지를 찾아서 오늘 오후 모스í¬ë°” 가는 급행으로 떠납니다. 가다가 Fì—­ì— ë‚´ë¦¬ê¸°ëŠ” 어려울 듯합니다. ì •ìž„ì˜ ê±´ê°•ì´ ëŒ€ë‹¨ížˆ 좋지 못합니다. ì¼ê¸°ê°€ ê°‘ìžê¸° 추워지는 관계ì¸ì§€ ì •ìž„ì˜ ì‹ ì—´ì´ ì˜¤í›„ë©´ 삼십팔 ë„를 넘고 ê¸°ì¹¨ë„ ëŒ€ë‹¨í•©ë‹ˆë‹¤. 저는 염려가 ë˜ì–´ì„œ ì •ìž„ë”러 하얼빈ì—ì„œ ìž…ì›í•˜ì—¬ 조리를 하ë¼ê³  권하였지마는 ë„무지 듣지를 아니합니다. 어디까지든지 가는 대로 가다가 ë” ëª» 가게 ë˜ë©´ ê·¸ ê³³ì—ì„œ 죽는다고 합니다. -저는 ê·¸ ë™ì•ˆ ë©°ì¹  ì •ìž„ê³¼ ê°™ì´ ìžˆëŠ” ì¤‘ì— ì •ìž„ì´ê°€ 어떻게 아름답고 높고 굳세게 깨ë—í•œ ì—¬ìžì¸ ê²ƒì„ ë°œê²¬í•˜ì˜€ìŠµë‹ˆë‹¤. 저는 지금까지 ì •ìž„ì„ ëª°ë¼ë³¸ ê²ƒì„ ë¶€ë„럽게 ìƒê°í•©ë‹ˆë‹¤. 그리고 ë˜ ì œ 아버지께서 어떻게 갸륵한 어른ì´ì‹  ê²ƒì„ ì¸ì œì•¼ 깨달았습니다. ìžì‹ ëœ ì €ê¹Œì§€ë„ ì•„ë²„ì§€ì™€ ì •ìž„ê³¼ì˜ ê´€ê³„ë¥¼ ì˜ì‹¬í•˜ì˜€ìŠµë‹ˆë‹¤. ì˜ì‹¬í•˜ëŠ” 것보다는 세ìƒì—ì„œ ë§í•˜ëŠ” 대로 믿고 있었습니다. 그러나 ì •ìž„ì„ ë§Œë‚˜ ë³´ê³  ì •ìž„ì˜ ë§ì„ 듣고 아버지께서 ì„ ìƒë‹˜ê»˜ 드린 편지가 ëª¨ë‘ ì°¸ì¸ ê²ƒì„ ê¹¨ë‹¬ì•˜ìŠµë‹ˆë‹¤. 아버지께서는 ì¹œêµ¬ì˜ ì˜ì§€ 없는 ë”¸ì¸ ì •ìž„ì„ ë‹¹ì‹ ì˜ ì¹œí˜ˆìœ¡ì¸ ì €ì™€ ê¼­ ê°™ì´ ì‚¬ëž‘í•˜ë ¤ê³  하신 것ì´ì—ˆìŠµë‹ˆë‹¤. ê·¸ê²ƒì´ ì–¼ë§ˆë‚˜ 갸륵한 ì¼ìž…니까. ê·¸ëŸ°ë° ì œ 어머니와 저는 ê·¸ 갸륵하신 ì •ì‹ ì„ ëª°ë¼ë³´ê³  오해하였습니다. 어머니는 질투하시고 저는 시기하였습니다. ì´ê²ƒì´ 얼마나 아버지를 그렇게 갸륵하신 아버지를 몰ë¼ëµˆì˜¨ 것입니다. ì´ê²ƒì´ 얼마나 부ë„럽고 ì›í†µí•œ ì¼ìž…니까. -ì„ ìƒë‹˜ê»˜ì„œë„ 여러 번 ì•„ë²„ì§€ì˜ ì¸ê²©ì´ 높다는 ê²ƒì„ ì €í¬ ëª¨ë…€ì—게 설명해 주셨습니다마는 마ìŒì´ 막힌 저는 ì„ ìƒë‹˜ì˜ ë§ì”€ë„ 믿지 아니하였습니다. -ì„ ìƒë‹˜, ì •ìž„ì€ ì°¸ìœ¼ë¡œ 아버지를 사랑합니다. ì •ìž„ì—게는 ì´ ì„¸ìƒì— 아버지밖ì—는 사랑하는 ì•„ë¬´ê²ƒë„ ì—†ì´, 그렇게 외â—으로, 그렇게 열렬하게 아버지를 사모하고 사랑합니다. 저는 잘 압니다. ì •ìž„ì´ê°€ 처ìŒì—는 아버지로 ì‚¬ëž‘í•˜ì˜€ë˜ ê²ƒì„, 그러나 ì–´ëŠ ìƒˆì— ì •ìž„ì˜ ì•„ë²„ì§€ì—게 대한 ì‚¬ëž‘ì´ ë¬´ì—‡ì¸ì§€ 모를 사랑으로 변한 것ì„, ê·¸ê²ƒì´ ì—°ì• ëƒ í•˜ê³  물으면 ì •ìž„ì€ ì•„ë‹ˆë¼ê³  í•  것입니다. ì •ìž„ì˜ ê·¸ ëŒ€ë‹µì€ ê²°ì½” ê±°ì§“ì´ ì•„ë‹™ë‹ˆë‹¤. ì •ìž„ì€ ìˆ™ì„±í•˜ì§€ë§ˆëŠ” ì•„ì§ë„ 극히 순결합니다. ì •ìž„ì€ ë¶€ëª¨ë¥¼ ìžƒì€ í›„ì— ì•„ë²„ì§€ë°–ì— ì‚¬ëž‘í•œ ì‚¬ëžŒì´ ì—†ìŠµë‹ˆë‹¤. ë˜ ì•„ë²„ì§€ì—ê²Œë°–ì— ì‚¬ëž‘ë°›ë˜ ì¼ë„ 없습니다. ê·¸ëŸ¬ë‹ˆê¹ ì •ìž„ì€ ì•„ë²„ì§€ë¥¼ 그저 사랑합니다 ì „ì ìœ¼ë¡œ 사랑합니다. ì„ ìƒë‹˜, ì •ìž„ì˜ ì‚¬ëž‘ì—는 ì•„ë²„ì§€ì— ëŒ€í•œ ìžì‹ì˜ 사랑, 오ë¼ë¹„ì— ëŒ€í•œ 누ì´ì˜ 사랑, 사내 ì¹œêµ¬ì— ëŒ€í•œ ì—¬ìž ì¹œêµ¬ì˜ ì‚¬ëž‘, ì• ì¸ì— 대한 ì• ì¸ì˜ 사랑, ì´ ë°–ì— ì¡´ê²½í•˜ê³  숭배하는 ì„ ìƒì— 대한 ì œìžì˜ 사랑까지, ì‚¬ëž‘ì˜ ëª¨ë“  종류가 í¬í•¨ë˜ì–´ 있는 ê²ƒì„ ì €ëŠ” 발견하였습니다. -ì„ ìƒë‹˜, ì •ìž„ì˜ ì •ìƒì€ 차마 ë³¼ 수가 없습니다. ì•„ë²„ì§€ì˜ ì•ˆë¶€ë¥¼ 근심하는 ì–‘ì€ ì œ 몇십 배나 ë˜ëŠ”지 모르게 간절합니다. ì •ìž„ì€ ì € ë•Œë¬¸ì— ì•„ë²„ì§€ê°€ 불행하게 ë˜ì…¨ë‹¤ê³  í•´ì„œ 차마 ë³¼ 수 없게 애통하고 있습니다. ì§„ì •ì„ ë§ì”€í•˜ì˜¤ë©´ 저는 지금 ì•„ë²„ì§€ë³´ë‹¤ë„ ì–´ë¨¸ë‹ˆë³´ë‹¤ë„ ì •ìž„ì—게 가장 ë™ì •ì´ ëŒë¦½ë‹ˆë‹¤. ì„ ìƒë‹˜, 저는 아버지를 찾아가는 ê²ƒì´ ì•„ë‹ˆë¼ ì •ìž„ì„ ë•ê¸° 위하여 간호하기 위하여 가는 것 같습니다. -ì„ ìƒë‹˜, 저는 ì•„ì§ ì‚¬ëž‘ì´ëž€ ê²ƒì´ ë¬´ì—‡ì¸ì§€ë¥¼ 모릅니다. 그러나 ì •ìž„ì„ ë³´ê³  사랑ì´ëž€ ê²ƒì´ ì–´ë–»ê²Œ 신비하고 열렬하고 놀ë¼ìš´ 것ì¸ê°€ë¥¼ 안 것 같습니다. -ìˆœìž„ì˜ íŽ¸ì§€ëŠ” 계ì†ëœë‹¤. -ì„ ìƒë‹˜, í•˜ì–¼ë¹ˆì— ì˜¤ëŠ” ê¸¸ì— ì†¡í™”ê°• êµ½ì´ë¥¼ ë³¼ ë•Œì—는 ì •ìž„ì´ê°€ 어떻게나 울었는지, ê·¸ê²ƒì€ ì°¨ë§ˆ ë³¼ 수가 없었습니다. 아버지께서 ì†¡í™”ê°•ì„ ë³´ì‹œê³  ê°ìƒì´ 깊으셨ë”란 ê²ƒì„ ìƒê°í•œ 것입니다. 무ì¸ì§€ê²½ìœ¼ë¡œ, 허옇게 ëˆˆì´ ë®ì¸ 벌íŒìœ¼ë¡œ í˜ëŸ¬ê°€ëŠ” 송화강 êµ½ì´, ê·¸ê²ƒì€ ìŠ¬í”ˆ í’경입니다. 아버지께서 여기를 지나실 ë•Œì—는 마른 풀만 있는 ê´‘ì•¼ì˜€ì„ ê²ƒì´ë‹ˆ ê·¸ ë•Œì—는 ë”ìš± í™©ëŸ‰í•˜ì˜€ì„ ê²ƒì´ë¼ê³  ì •ìž„ì€ ë§í•˜ê³  ì›ë‹ˆë‹¤. -ì •ìž„ì€ ì œê°€ 아버지를 아는 것보다 아버지를 잘 아는 것 같습니다. í‰ì†Œì— 아버지와는 그리 ì ‘ì´‰ì´ ì—†ê±´ë§ˆëŠ” ì •ìž„ì€ ì•„ë²„ì§€ì˜ ì˜ì§€ë ¥, ì•„ë²„ì§€ì˜ ìˆ¨ì€ ì—´ì •, ì•„ë²„ì§€ì˜ ì„±ë¯¸ê¹Œì§€ 잘 압니다. 저는 ì •ìž„ì˜ ë§ì„ 듣고야 비로소 ì°¸ 그래, 하는 ê°íƒ„ì„ ë°œí•œ ì¼ì´ 여러 번 있습니다. -ì •ìž„ì˜ ë§ì„ 듣고야 비로소 아버지가 남보다 뛰어나신 ì¸ë¬¼ì¸ ê²ƒì„ ê¹¨ë‹¬ì•˜ìŠµë‹ˆë‹¤. 아버지는 ì •ì˜ê°ì´ 굳세고 겉으로는 싸늘하ë„ë¡ ì´ì§€ì ì´ì§€ë§ˆëŠ” ì†ì—는 불 ê°™ì€ ì—´ì •ì´ ìžˆìœ¼ì‹œê³ , 아버지는 쇠 ê°™ì€ ì˜ì§€ë ¥ê³¼ 칼날 ê°™ì€ íŒë‹¨ë ¥ì´ 있어서 언제나 ì£¼ì €í•˜ì‹¬ì´ ì—†ê³  ë˜ í”ë“¤ë¦¬ì‹¬ì´ ì—†ë‹¤ëŠ” 것, 아버지께서는 모든 ê²ƒì„ ìš©ì„œí•˜ê³  모든 ê²ƒì„ í˜¸ì˜ë¡œ í•´ì„하여서 누구를 미워하거나 ì›ë§í•˜ì‹¬ì´ 없는 등, ì •ìž„ì€ ì•„ë²„ì§€ì˜ ë§ˆìŒì˜ 목ë¡ê³¼ 설명서를 ë”°ë¡œ 외우는 것처럼 ì•„ë²„ì§€ì˜ ì„±ê²©ì„ ì„¤ëª…í•©ë‹ˆë‹¤. 듣고 ë³´ì•„ì„œ 비로소 ì•„ë²„ì§€ì˜ ë”¸ì¸ ì €ëŠ” ë‚´ 아버지가 ì–´ë–¤ 아버지ì¸ê°€ë¥¼ 알았습니다. -ì„ ìƒë‹˜, ì´í•´ê°€ ì‚¬ëž‘ì„ ë‚³ëŠ”ë‹¨ ë§ì”€ì´ 있지마는 저는 ì •ìž„ì„ ë³´ì•„ì„œ ì‚¬ëž‘ì´ ì´í•´ë¥¼ 낳는 ê²ƒì´ ì•„ë‹Œê°€ 합니다. -어쩌면 어머니와 저는 í‰ìƒì„ 아버지를 모시고 ìžˆìœ¼ë©´ì„œë„ ì•„ë²„ì§€ë¥¼ 몰ëžìŠµë‹ˆê¹Œ. ì´ì„±ì´ 무디고 ì–‘ì‹¬ì´ í려서 그랬습니까. ì •ìž„ì€ ì§„ì‹¤ë¡œ 존경할 ì—¬ìžìž…니다. 제가 남ìžë¼ 하ë”ë¼ë„ ì •ìž„ì„ ì•„ë‹ˆ 사랑하고는 못 견디겠습니다. -아버지는 분명 ì •ìž„ì„ ì‚¬ëž‘í•˜ì‹  것입니다. 처ìŒì—는 ì¹œêµ¬ì˜ ë”¸ë¡œ, 다ìŒì—는 친딸과 ê°™ì´, ë˜ ë‹¤ìŒì—는 무엇ì¸ì§€ 모르게 뜨거운 ì‚¬ëž‘ì´ ìƒê²¼ìœ¼ë¦¬ë¼ê³  믿습니다. ê·¸ê²ƒì„ ì•„ë²„ì§€ëŠ” ì£½ì¸ ê²ƒìž…ë‹ˆë‹¤. ê·¸ê²ƒì„ ì£½ì´ë ¤ê³  ì´ ë‹¬í•  수 없는 ì‚¬ëž‘ì„ ì£½ì´ë ¤ê³  시베리아로 달아나신 것입니다. ì¸ì œì•¼ 아버지께서 ì„ ìƒë‹˜ê»˜ 하신 íŽ¸ì§€ì˜ ëœ»ì´ ì•Œì•„ì§„ 것 같습니다. ë°±ì„¤ì´ ë®ì¸ ì‹œë² ë¦¬ì•„ì˜ ì‚¼ë¦¼ ì†ìœ¼ë¡œ í˜¼ìž í—¤ë§¤ë©° ì •ìž„ì—게로 향하는 ì‚¬ëž‘ì„ ì£½ì´ë ¤ê³  무진 애를 쓰시는 ê·¸ ì‹¬ì •ì´ ì•Œì•„ì§€ëŠ” 것 같습니다. -ì„ ìƒë‹˜ ì´ê²ƒì´ 얼마나 비참한 ì¼ìž…니까. 저는 ì •ìž„ì˜ ì§ì— 지니고 온 ì¼ê¸°ë¥¼ 보다가 ì´ëŸ¬í•œ êµ¬ì ˆì„ ë°œê²¬í•˜ì˜€ìŠµë‹ˆë‹¤. -ì„ ìƒë‹˜. 저는 세ì¸íŠ¸ ì˜¤ê±°ìŠ¤í‹´ì˜ <참회ë¡>ì„ ì ˆë°˜ì´ë‚˜ 다 ë³´ê³  ë‚˜ë„ ìž ì´ ë“¤ì§€ 아니합니다. ìž ì´ ë“¤ê¸° ì „ì— ì œê°€ í•­ìƒ ì¦ê²¨í•˜ëŠ” ì•„ë² ë§ˆë¦¬ì•„ì˜ ë…¸ëž˜ë¥¼ 유성기로 듣고 나서 오늘 ì¼ê¸°ë¥¼ 쓰려고 하니 슬픈 소리만 나옵니다. -사랑하는 어른ì´ì—¬. 저는 멀리서 ë‹¹ì‹ ì„ ì¡´ê²½í•˜ê³  신뢰하는 마ìŒì—서만 살아야 í•  ê²ƒì„ ìž˜ 압니다. 여기ì—ì„œ ì˜ì›í•œ 정지를 하지 아니하면 아니 ë©ë‹ˆë‹¤. ë¹„ë¡ ì œ ìƒëª…ì´ ê´´ë¡œì›€ìœ¼ë¡œ ëŠì–´ì§€ê³  ì œ í˜¼ì´ í”¼ì–´ 보지 못하고 스러져 버리ë”ë¼ë„ 저는 ì´ ë©€ë¦¬ì„œ ë°”ë¼ë³´ëŠ” 존경과 ì‹ ë¢°ì˜ ì‹¬ê²½ì—ì„œ í•œ ë°œìžêµ­ì´ë¼ë„ 옮기지 않아야 í•  ê²ƒì„ ìž˜ 압니다. 나를 위하여 놓여진 ìƒì˜ 궤ë„는 ë‚˜ì˜ ìƒëª…ì„ ë¶€ì¸í•˜ëŠ” ì–µì§€ì˜ ê¸¸ìž…ë‹ˆë‹¤. 제가 몇 ë…„ ì „ 기숙사 ë² ë“œì—ì„œ ì´ëŸ° ë°¤ì— ë‚´ë‹¤ë³´ë©´ ì¦ê²ê³  ì•„ë¦„ë‹µë˜ ë‚´ ìƒì˜ ê¿ˆì€ ë‹¤ 깨어졌습니다. -ì œ ì˜í˜¼ì˜ í•œ ì¡°ê°ì´ 먼 ì„¸ìƒ ì•Œì§€ 못할 세계로 떠다니고 있습니다. 잃어버린 ë§ˆìŒ ì¡°ê° ì–´ì°Œí•˜ë‹¤ê°€ 제가 ì´ë ‡ê²Œ ë˜ì—ˆëŠ”지 모릅니다. -피어 오르는 ìƒëª…ì˜ ê´‘ì±„ë¥¼ 스스로 ì‚¬í˜•ì— ì²˜í•˜ì§€ 아니하면 아니 ë  ë•Œ ì–´ì°Œ ìŠ¬í””ì´ ì—†ê² ìŠµë‹ˆê¹Œ. ì´ê²ƒì€ 현실로 ì‚¬ëžŒì˜ ìƒëª…ì„ ì£½ì´ëŠ” 것보다 ë” ë¬´ì„œìš´ 죄가 아니오리까. ë‚˜ì˜ ì„¸ê³„ì—ì„œ 처ìŒì´ìš” 마지막으로 발견한 ë¹›ì„ ì–´ë‘  ì†ì— 소멸해 버리ë¼ëŠ” ì´ ì¼ì´ 얼마나 떨리는 ì§ë¬´ì˜¤ë¦¬ê¹Œ. ì´ í—ˆê¹¨ë¹„ì˜ í˜•ì˜ ì‚¬ëžŒì´ ì‚´ê¸° 위하여 ë‚´ ì†ìœ¼ë¡œ ì¹¼ì„ ë“¤ì–´ ë‚´ ì˜í˜¼ì˜ 환í¬ë¥¼ ì³ì•¼ 옳습니까. 저는 í•˜ë‚˜ë‹˜ì„ ì›ë§í•©ë‹ˆë‹¤. -ì´ë ‡ê²Œ 씌어 있습니다. ì„ ìƒë‹˜ ì´ê²ƒì´ 얼마나 피 í르는 고백입니까. -ì„ ìƒë‹˜, 저는 ì •ìž„ì˜ ì´ ê³ ë°±ì„ ë³´ê³  무조건으로 ì •ìž„ì˜ ì‚¬ëž‘ì„ ì‹œì¸í•©ë‹ˆë‹¤. ì„ ìƒë‹˜, ì œ ëª©ìˆ¨ì„ ë°”ì³ì„œ 하는 ì¼ì— 누가 시비를 하겠습니까. ë”구나 ê·¸ ë™ê¸°ì— í‹°ëŒë§Œí¼ë„ 불순한 ê²ƒì´ ì—†ìŒì—야 무조건으로 ì‹œì¸í•˜ì§€ 아니하고 어찌합니까. -ë°”ë¼ê¸°ëŠ” ì •ìž„ì˜ ë³‘ì´ í¬ê²Œ ë˜ì§€ 아니하고 아버지께서 무사히 계셔서 ì†ížˆ 만나뵙게 ë˜ëŠ” 것입니다마는 ì•žê¸¸ì´ ë§ë§í•˜ì—¬ ê°€ìŠ´ì´ ë‘ê·¼ê±°ë¦¼ì„ ê¸ˆì¹˜ 못합니다. 게다가 ì˜¤ëŠ˜ì€ í•¨ë°•ëˆˆì´ í¼ë¶€ì–´ì„œ 천지가 온통 회색으로 í•œ ë¹›ì´ ë˜ì—ˆìœ¼ë‹ˆ ë”ìš± ì „ë„ê°€ 막막합니다. 그러나 ì„ ìƒë‹˜ 저는 앓는 ì •ìž„ì„ ë°ë¦¬ê³  ìš©ê°í•˜ê²Œ 시베리아 ê¸¸ì„ ë– ë‚©ë‹ˆë‹¤. -í•œ ì¼ ì£¼ì¼ í›„ì— ë˜ íŽ¸ì§€ í•œ ìž¥ì´ ì™”ë‹¤. ê·¸ê²ƒë„ ìˆœìž„ì˜ íŽ¸ì§€ì—¬ì„œ ì´ëŸ¬í•œ ë§ì´ 있었다. -……오늘 ìƒˆë²½ì— í¥ì•ˆë ¹ì„ 지났습니다. 플랫í¼ì˜ 한란계는 ì˜í•˜ ì´ì‹­ì‚¼ ë„를 가리켰습니다. ì‚¬ëžŒë“¤ì˜ ì–¼êµ´ì€ ì†œí„¸ì— ì„±ì—ê°€ 슬어서 남녀 노소 í•  것 ì—†ì´ í•˜ì–—ê²Œ ë¶„ì„ ë°”ë¥¸ 것 같습니다. ìœ ë¦¬ì— ë¹„ì¹œ ë‚´ ì–¼êµ´ë„ ê·¸ì™€ ê°™ì´ í° ê²ƒì„ ë³´ê³  놀ëžìŠµë‹ˆë‹¤. ìˆ¨ì„ ë“¤ì´ì‰´ ë•Œì—는 ì½”í„¸ì´ ì–¼ì–´ì„œ ìˆ¨ì´ ëŠê¸°ê³  ë°”ëžŒê²°ì´ ì§€ë‚˜ê°€ë©´ ëˆˆë¬¼ì´ ì–¼ì–´ì„œ 눈ì¹ì´ 마주 붙습니다. ì‚¬ëžŒë“¤ì€ í„¸ê³¼ ê°€ì£½ì— ì‹¸ì—¬ì„œ ê³°ê°™ì´ ë³´ìž…ë‹ˆë‹¤. -ë˜ ì´ëŸ° ë§ë„ 있었다. -ì•„ë¼ì‚¬ ê³„ì§‘ì• ë“¤ì´ ìš°ìœ ë³‘ë“¤ì„ í’ˆì— í’ˆê³  서서 ì†ë‹˜ì´ 사기를 기다리고 있습니다. ì €ë„ ë‘ ë³‘ì„ ì‚¬ì„œ ì •ìž„ì´ì™€ 나누어 먹었습니다. 우유는 따뜻합니다. ê·¸ê²ƒì„ ì‹ížˆì§€ 아니할 양으로 í’ˆì— í’ˆê³  ì„°ë˜ ê²ƒìž…ë‹ˆë‹¤. -ë˜ ì´ëŸ¬í•œ êµ¬ì ˆë„ ìžˆì—ˆë‹¤. -ì •ê±°ìž¥ì— ë‹¿ì„ ë•Œë§ˆë‹¤ ì €í¬ë“¤ì€ ë°–ì„ ë‚´ë‹¤ë´…ë‹ˆë‹¤. 행여나 아버지가 거기 계시지나 아니할까 하고요. 차가 어길 ë•Œì—는 ë”구나 마ìŒì´ 조입니다. 아버지가 ê·¸ 차를 타고 지나가시지나 아니하는가 하고요. 그리고는 ì •ìž„ì€ ì›ë‹ˆë‹¤. ê¼­ 뵈올 ì–´ë¥¸ì„ ë†“ì³ë‚˜ 버린 듯ì´. -그리고는 ì´ ì£¼ì¼ ë™ì•ˆì´ë‚˜ 소ì‹ì´ 없다가 편지 í•œ ìž¥ì´ ì™”ë‹¤. ê·¸ê²ƒì€ ì •ìž„ì˜ ê¸€ì”¨ì˜€ë‹¤. -ì„ ìƒë‹˜, 저는 지금 최 ì„ ìƒê»˜ì„œ ê³„ì‹œë˜ ë°”ì´ì¹¼ í˜¸ë°˜ì˜ ê·¸ ì§‘ì— ì™€ì„œ 홀로 누웠습니다. ìˆœìž„ì€ ì£¼ì¸ ë…¸íŒŒì™€ 함께 F역으로 최 ì„ ìƒì„ 찾아서 오늘 ì•„ì¹¨ì— ë– ë‚˜ê³  병든 저만 í˜¼ìž ëˆ„ì›Œì„œ ì–¼ìŒì— ì‹¸ì¸ ë°”ì´ì¹¼ í˜¸ì˜ ëˆˆë³´ë¼ì¹˜ëŠ” 바람 소리를 듣고 있습니다. ì—´ì€ ì‚¼ì‹­íŒ” ë„로부터 구 ë„ ì‚¬ì´ë¥¼ 오르내리고 ê¸°ì¹¨ì€ ë‚˜ê³  ëª¸ì˜ ê´´ë¡œì›€ì„ ê²¬ë”œ 수 없습니다. 그러하오나 ì„ ìƒë‹˜, 저는 í•˜ë‚˜ë‹˜ì„ ë¶ˆëŸ¬ì„œ 축ì›í•©ë‹ˆë‹¤. ì´ ì‹¤ë‚± ê°™ì€ ìƒëª…ì´ ë‹¤ 타 버리기 ì „ì— ìµœ ì„ ìƒì˜ ë‚¯ì„ ë‹¤ë§Œ ì¼ ì´ˆ ë™ì•ˆì´ë¼ë„ 보여지ì´ë¼ê³ . 그러하오나 ì„ ìƒë‹˜, ì´ ì¶•ì›ì´ ì´ë£¨ì–´ì§€ê² ìŠµë‹ˆê¹Œ. -저는 한사코 F역까지 가려 하였사오나 순임 í˜•ì´ ìš¸ê³  막사오며 ë˜ ì£¼ì¸ ë…¸íŒŒê°€ 본래 미국 사람과 ì‚´ë˜ ì‚¬ëžŒìœ¼ë¡œ ì˜ì–´ë¥¼ 알아서 순임 í˜•ì˜ ë„ì›€ì´ ë˜ê² ê¸°ë¡œ 저는 ì´ ê³³ì— ëˆ„ì›Œ 있습니다. 순임 í˜•ì€ ê¸°ì–´ì½” 아버지를 찾아 모시고 오마고 약ì†í•˜ì˜€ì‚¬ì˜¤ë‚˜ ì´ ë„“ì€ ì‹œë² ë¦¬ì•„ì—ì„œ ì–´ë”” 가서 찾겠습니까. -ì„ ìƒë‹˜, 저는 죽ìŒì„ 봅니다. 죽ìŒì´ 바로 ì œ ì•žì— ì™€ì„œ ì„  ê²ƒì„ ë´…ë‹ˆë‹¤. ê·¸ì˜ ì†ì€ ì œ 여윈 ì†ì„ 잡으려고 ë“¤ë¨¹ê±°ë¦¼ì„ ë´…ë‹ˆë‹¤. -ì„ ìƒë‹˜, ì£½ì€ ë’¤ì—ë„ ì˜ì‹ì´ 남습니까. ë§Œì¼ ì˜ì‹ì´ 남는다 하면 ì£½ì€ ë’¤ì—ë„ ì´ ì•„í””ê³¼ ê´´ë¡œì›€ì„ ê³„ì†í•˜ì§€ 아니하면 아니 ë©ë‹ˆê¹Œ. ì£½ì€ ë’¤ì—는 ì˜¤ì§ ì˜ì›í•œ ì–´ë‘ ê³¼ ìžŠì–´ë²„ë¦¼ì´ ìžˆìŠµë‹ˆê¹Œ. ì£½ì€ ë’¤ì—는 혹시나 ìƒì „ì— ë¨¹ì—ˆë˜ ë§ˆìŒì„ ìžìœ ë¡œ 펼 ë„리가 있습니까. ì´ ì„¸ìƒì—ì„œ 그립고 ì‚¬ëª¨í•˜ë˜ ì´ë¥¼ ì£½ì€ ë’¤ì—는 ìžìœ ë¡œ 만나 ë³´ê³  언제나 마ìŒê» ê°™ì´í•  수가 있습니까. 그런 ì¼ë„ 있습니까. ì´ëŸ° ì¼ì„ ë°”ë¼ëŠ” ê²ƒë„ ì£„ê°€ ë©ë‹ˆê¹Œ. -ì •ìž„ì˜ íŽ¸ì§€ëŠ” ë”ìš± ì ˆë§ì ì¸ ì–´ì¡°ë¡œ 찬다. -저는 ì²˜ìŒ ë³‘ì´ ë‚¬ì„ ë•Œì—는 죽는 ê²ƒì´ ì‹«ê³  무서웠습니다. 그러나 ì§€ê¸ˆì€ ì£½ëŠ” ê²ƒì´ ì¡°ê¸ˆë„ ë¬´ì„­ì§€ 아니합니다. 다만 차마 죽지 못하는 ê²ƒì´ í•œ. -하고는 `다만 차마' ì´í•˜ë¥¼ ë°•ë°• 지워 버렸다. 그리고는 새로 시작하여 나와내 가족ì—게 대한 ë¬¸ì•ˆì„ í•˜ê³ ëŠ” ëì„ ë§‰ì•˜ë‹¤. -나는 ì´ íŽ¸ì§€ë¥¼ 받고 울었다. 무슨 í° ë¹„ê·¹ì´ ê°€ê¹Œìš´ ê²ƒì„ ì˜ˆìƒí•˜ê²Œ 하였다. -ê·¸ 후 í•œ ì‹­ì—¬ ì¼ì´ë‚˜ 지나서 ì „ë³´ê°€ 왔다. ê·¸ê²ƒì€ ì˜ë¬¸ìœ¼ë¡œ 씌었는ë°, -"아버지 ë³‘ì´ ê¸‰í•˜ë‹¤. 나로는 ì–´ì©” 수 없다. ëˆ ê°€ì§€ê³  곧 오기를 바란다." -하고 ê·¸ ëì— B호텔ì´ë¼ê³  주소를 ì ì—ˆë‹¤. ì „ë³´ ë°œì‹ êµ­ì´ ì´ë¥´ì¿ ì¸ í¬ì¸ ê²ƒì„ ë³´ë‹ˆ B호텔ì´ë¼ í•¨ì€ ì´ë¥´ì¿ ì¸ í¬ì¸ ê²ƒì´ ë¶„ëª…í•˜ì˜€ë‹¤. -나는 ìµœì„ ë¶€ì¸ì—게 최ì„ì´ê°€ ì•„ì§ ì‚´ì•„ 있다는 ê²ƒì„ ì „í•˜ê³  곧 여행권 수ì†ì„ 하였다. ì ˆë§ìœ¼ë¡œ ì•Œì•˜ë˜ ì—¬í–‰ê¶Œì€ ì‚¬ì •ì´ ì‚¬ì •ì¸ë§Œí¼ 곧 발부ë˜ì—ˆë‹¤. -나는 비행기로 ì—¬ì˜ë„를 떠났다. ë°±ì„¤ì— ê°œê°œí•œ ë•…ì„, 남빛으로 푸른 바다를 굽어보는 ë™ì•ˆì— ëŒ€ë ¨ì„ ë“¤ëŸ¬ 거기서 다른 비행기를 갈아타고 봉천, ì‹ ê²½, í•˜ì–¼ë¹ˆì„ ê±°ì³, ì¹˜ì¹˜í•˜ì–¼ì— ë“¤ë €ë‹¤ê°€ 만주리로 급행하였다. -웅대한 ëŒ€ë¥™ì˜ ì„¤ê²½ë„ ë‚˜ì—게 아무러한 ì¸ìƒë„ 주지 못하였다. 다만 푸른 하늘과 í¬ê³  í‰í‰í•œ ë•…ê³¼ì˜ ì‚¬ì´ë¡œ 한량 ì—†ì´ í—ˆê³µì„ ë‚ ì•„ê°„ë‹¤ëŠ” ìƒê°ë°–ì— ì—†ì—ˆë‹¤. ê·¸ê²ƒì€ ì‚¬ëž‘í•˜ëŠ” ë‘ ì¹œêµ¬ê°€ ëª©ìˆ¨ì´ ê²½ê°ì— 달린 ê²ƒì„ ìƒê°í•  ë•Œì— ë§ˆìŒì— 아무 ì—¬ìœ ë„ ì—†ëŠ” 까닭ì´ì—ˆë‹¤. -만주리ì—ì„œë„ ë¹„í–‰ê¸°ë¥¼ 타려 하였으나 소비ì—트 ê´€í—Œì´ í—ˆë½ì„ 아니 하여 열차로 ê°ˆ ìˆ˜ë°–ì— ì—†ì—ˆë‹¤. -초조한 몇 ë°¤ì„ ì§€ë‚˜ê³  ì´ë¥´ì¿ ì¸ í¬ì— 내린 ê²ƒì´ ì˜¤ì „ ë‘ì‹œ. 나는 B호텔로 ì´ìŠ¤ë³´ìŠ¤ì¹˜ì¹´ë¼ëŠ” 마차를 몰았다. 죽ìŒê³¼ ê°™ì´ ê³ ìš”í•˜ê²Œ 눈 ì†ì— ìžëŠ” 시간ì—는 여기저기 ì „ë“±ì´ ë°˜ì§ê±°ë¦´ ë¿, ì´ë”°ê¸ˆ ë°¤ì˜ ì‹œê°€ë¥¼ 경계하는 ë³‘ì •ë“¤ì˜ ëˆˆì´ ë¬´ì„­ê²Œ 빛나는 ê²ƒì´ ë³´ì˜€ë‹¤. -B호텔ì—ì„œ 미스 ì´ˆì´(최 ì–‘)를 찾았으나 ìˆœìž„ì€ ì—†ê³  ì–´ë–¤ 서양 노파가 나와서, -"유 미스터 Y?" -하고 ì˜ì‹¬ìŠ¤ëŸ¬ìš´ 눈으로 나를 보았다. -그렇다는 ë‚´ ëŒ€ë‹µì„ ë“£ê³ ëŠ” 노파는 반갑게 ì†ì„ 내밀어서 ë‚´ ì†ì„ 잡았다. -나는 넉넉하지 못한 ì˜ì–´ë¡œ ê·¸ 노파ì—게서 최ì„ì´ê°€ ì•„ì§ ì‚´ì•˜ë‹¤ëŠ” ë§ê³¼ ì •ìž„ì˜ ì†Œì‹ì€ ë“¤ì€ ì§€ 오래ë¼ëŠ” ë§ê³¼ 최ì„ê³¼ ìˆœìž„ì€ ì—¬ê¸°ì„œ 삼십 마ì¼ì´ë‚˜ 떨어진 Fì—­ì—ì„œë„ ì°ë§¤ë¡œ ë” ê°€ëŠ” 삼림 ì†ì— 있다는 ë§ì„ 들었다. -나는 ê·¸ ë°¤ì„ ì—¬ê¸°ì„œ 지내고 ì´íŠ¿ë‚  ì•„ì¹¨ì— ë– ë‚˜ëŠ” 완행차로 ê·¸ 노파와 함께 ì´ë¥´ì¿ ì¸ í¬ë¥¼ 떠났다. -ì´ ë‚ ë„ ì²œì§€ëŠ” ì˜¤ì§ ëˆˆë¿ì´ì—ˆë‹¤. 차는 ê°€ë” ì‚¼ë¦¼ 중으로 가는 모양ì´ë‚˜ ëª¨ë‘ íšŒìƒ‰ë¹›ì— ê°€ë¦¬ì›Œì„œ 분명히 ë³´ì´ì§€ë¥¼ 아니하였다. -Fì—­ì´ë¼ëŠ” ê²ƒì€ ì‚¼ë¦¼ ì†ì— 있는 조그마한 정거장으로 집ì´ë¼ê³ ëŠ” 정거장 ì§‘ë°–ì— ì—†ì—ˆë‹¤. 역부 ë‘ì—‡ì´ í„¸ì˜·ì— í•˜ì–—ê²Œ ëˆˆì„ ë’¤ì“°ê³  졸리는 ë“¯ì´ ì˜¤ë½ê°€ë½í•  ë¿ì´ì—ˆë‹¤. -우리는 ì°ë§¤ 하나를 얻어 타고 어디가 길ì¸ì§€ ë¶„ëª…ì¹˜ë„ ì•„ë‹ˆí•œ 눈 ì†ìœ¼ë¡œ ë§ì„ 몰았다. -ë°”ëžŒì€ ì—†ëŠ” 듯하지마는 ê·¸ëž˜ë„ ëˆˆë°œì„ í•œíŽ¸ìœ¼ë¡œ 비ë¼ëŠ” 모양ì´ì–´ì„œ 아름드리 ë‚˜ë¬´ë“¤ì˜ í•œìª½ì€ í•˜ì–—ê²Œ 눈으로 쌓ì´ê³  í•œìª½ì€ ê²€ì€ ë¹›ì´ ë”ìš± ë‹ë³´ì˜€ë‹¤. ë°± ì²™ì€ ë„˜ì„ ë“¯í•œ 꼿꼿한 침엽수(전나무 따윈가)ë“¤ì´ ì–´ë””ê¹Œì§€ë“ ì§€, 하늘ì—ì„œ 곧 ë‚´ë ¤ë°•ì€ ëª» 모양으로, ìˆ˜ì—†ì´ ì„œ 있는 사ì´ë¡œ 우리 ì°ë§¤ëŠ” 간다. ë•…ì— ë®ì¸ ëˆˆì€ ìƒˆë¡œ 피워 ë†“ì€ ì†œê°™ì´ í¬ì§€ë§ˆëŠ” 하늘ì—ì„œ 내리는 ëˆˆì€ êµ¬ë¦„ë¹›ê³¼ 공기빛과 어울려서 ë°¥ ìž¦íž ë•Œì— êµ´ëšì—ì„œ 나오는 연기와 ê°™ì´ ì—°íšŒìƒ‰ì´ë‹¤. -ë°”ëžŒë„ ë¶ˆì§€ 아니하고 ìƒˆë„ ë‚ ì§€ 아니하건마는 나무 ë†’ì€ ê°€ì§€ì— ìŒ“ì¸ ëˆˆì´ ì´ë”°ê¸ˆ ë©ì¹˜ë¡œ 떨어져서는 고요한 수풀 ì†ì— ìž‘ì€ ë™ìš”를 ì¼ìœ¼í‚¨ë‹¤. -우리 ì°ë§¤ê°€ 가는 ê¸¸ì´ ìžì—°ìŠ¤ëŸ¬ìš´ 복잡한 커브를 ë„는 ê²ƒì„ ë³´ë©´ í•„ì‹œ ì–¼ìŒ ì–¸ 개천 위로 달리는 모양ì´ì—ˆë‹¤. -í•œ 시간ì´ë‚˜ 달린 ë’¤ì— ìš°ë¦¬ ì°ë§¤ëŠ” ëŠ¦ì€ ê²½ì‚¬ì§€ë¥¼ 올ëžë‹¤. ë§ì„ 어거하는 ì•„ë¼ì‚¬ ì‚¬ëžŒì€ ì­ˆì­ˆì­ˆì­ˆ, 후르르 하고 ì£¼ë¬¸ì„ ì™¸ìš°ë“¯ì´ ìž…ìœ¼ë¡œ ë§ì„ 재촉하고 ê³ ì‚를 ì´ë¦¬ 들고 저리 들어 ë§ì—게 ë°©í–¥ì„ ê°€ë¦¬í‚¬ ë¿ì´ìš”, 채ì°ì€ ë³´ì´ê¸°ë§Œí•˜ê³  í•œ ë²ˆë„ ì“°ì§€ 아니하였다. 그와 ë§ê³¼ëŠ” 완전히 뜻과 ì •ì´ ë§žëŠ” ë™ì§€ì¸ 듯하였다. -처ìŒì—는 몰ëžìœ¼ë‚˜ 차차 추워ì§ì„ 깨달았다. 발과 무르íŒì´ 시렸다. -"얼마나 머오?" -하고 나는 ì˜¤ëž˜ê°„ë§Œì— ìž…ì„ ì—´ì–´ì„œ 노파ì—게 물었다. 노파는 털수건으로 머리를 싸매고 깊숙한 눈만 남겨 가지고 실신한 사람 모양으로 허공만 ë°”ë¼ë³´ê³  있다가, ë‚´ê°€ 묻는 ë§ì— 비로소 ìž ì´ë‚˜ 깬 듯ì´, -"멀지 않소. ì¸ì   í•œ 십오 마ì¼." -하고는 나를 ë°”ë¼ë³´ì•˜ë‹¤. ê·¸ ëˆˆì€ ì•„ë§ˆ 웃는 모양ì´ì—ˆë‹¤. -ê·¸ 얼굴, ê·¸ 눈, ê·¸ ìŒì„±ì´ ëª¨ë‘ ì´ ë…¸íŒŒê°€ ì¸ìƒ í’íŒŒì˜ ìŠ¬í”ˆ ì¼ ê´´ë¡œìš´ ì¼ì— 부대ë¼ê³  지친 ê²ƒì„ í‘œí•˜ì˜€ë‹¤. 그리고 죽는 날까지 살아간다 하는 듯하였다. -경사지를 올ë¼ì„œì„œ 보니 ê·¸ê²ƒì€ í•œ 산등성ì´ì˜€ë‹¤. ë°©í–¥ì€ ì•Œ 수 없으나 우리가 가는 ë°©í–¥ì—는 ë” ë†’ì€ ë“±ì„±ì´ê°€ 있는 모양ì´ë‚˜ 다른 ê³³ì€ ë‹¤ ì´ë³´ë‹¤ ë‚®ì€ ê²ƒ 같아서 하얀 눈바다가 ëì—†ì´ ë³´ì´ëŠ” 듯하였다. ê·¸ 눈보ë¼ëŠ” ë“¤ì‘¹ë‚ ì‘¹ì´ ìžˆëŠ” ê²ƒì„ ë³´ë©´ ì‚¼ë¦¼ì˜ ê¼­ëŒ€ê¸°ì¸ ê²ƒì´ ë¶„ëª…í•˜ì˜€ë‹¤. ë”구나 여기저기 뾰족뾰족 ëˆˆì†¡ì´ ë¶™ì„ ìˆ˜ 없는 마른 나뭇가지가 거뭇거뭇 ë³´ì´ëŠ” ê²ƒì„ ë³´ì•„ì„œ 그러하였다. ë§Œì¼ ëˆˆì´ ê±·í˜€ 주었으면 얼마나 안계가 넓으랴, ìµœì„ êµ°ì´ ê³ ë¯¼í•˜ëŠ” ê°€ìŠ´ì„ ì•ˆê³  ì´ë¦¬ë¡œ 헤매었구나 하면서 나는 ëª©ì„ ë‘˜ëŸ¬ì„œ ì‚¬ë°©ì„ ë°”ë¼ë³´ì•˜ë‹¤. -우리는 ê·¸ 등성ì´ë¥¼ 내려갔다. ë§ì´ 미처 ë°œì„ ë•…ì— ë†“ì„ ìˆ˜ê°€ 없는 ì •ë„ë¡œ 빨리 내려갔다. 여기는 ì‚°ë¶ˆì´ ë‚¬ë˜ ìžë¦¬ì¸ 듯하여 거뭇거뭇 불탄 ìžêµ­ 있는 마른 ë‚˜ë¬´ë“¤ì´ ë“œë¬¸ë“œë¬¸ ì„œ 있었다. ê·¸ ë‚˜ë¬´ë“¤ì€ ì°ì–´ 가는 ì‚¬ëžŒë„ ì—†ìœ¼ë§¤ 저절로 ì©ì–´ì„œ 없어지기를 기다릴 ìˆ˜ë°–ì— ì—†ì—ˆë‹¤. ê·¸ë“¤ì€ ë‚˜ì„œ 아주 ì©ì–´ 버리기까지 천 ë…„ ì´ìƒì€ 걸린다고 하니 ë˜í•œ 장한 ì¼ì´ë‹¤. -ì´ ëŒ€ì‚¼ë¦¼ì— ë¶ˆì´ ë¶™ëŠ”ë‹¤ 하면 ê·¸ê²ƒì€ ìž¥ê´€ì¼ ê²ƒì´ë‹¤. ë‹¬ë°¤ì— ë†’ì€ ê³³ì—ì„œ ì´ ê²½ì¹˜ë¥¼ 내려다본다 하면 ê·¸ë„ ìž¥ê´€ì¼ ê²ƒì´ìš”, ì—¬ë¦„ì— í•œì°½ ê¸°ìš´ì„ íŽ¼ ë•Œë„ ìž¥ê´€ì¼ ê²ƒì´ë‹¤. 나는 ì˜¤ë‰´ì›”ê²½ì— ì‹œë² ë¦¬ì•„ë¥¼ 여행하는 ì´ë“¤ì´ ë없는 꽃바다를 보았다는 기ë¡ì„ ìƒê°í•˜ì˜€ë‹¤. -"저기요!" -하는 ë…¸íŒŒì˜ ë§ì— 나는 ìƒê°ì˜ ì¤„ì„ ëŠì—ˆë‹¤. 저기ë¼ê³  가리키는 ê³³ì„ ë³´ë‹ˆ 거기는 집ì´ë¼ê³  ìƒê°ë˜ëŠ” ë¬¼ê±´ì´ ë‚˜ë¬´ 사ì´ë¡œ 보였다. ì°½ì´ ìžˆìœ¼ë‹ˆ 분명 집ì´ì—ˆë‹¤. -우리 ì´ìŠ¤ë³´ìŠ¤ì¹˜ì¹´ê°€ ê°€ê¹Œì´ ì˜¤ëŠ” ê²ƒì„ ë³´ì•˜ëŠ”ì§€, ê·¸ 집 ê°™ì€ ë¬¼ê±´ì˜ ë¬¸ ê°™ì€ ê²ƒì´ ì—´ë¦¬ë©° ê²€ì€ ì™¸íˆ¬ ìž…ì€ ì—¬ìž í•˜ë‚˜ê°€ íŒ”ì„ í—ˆìš°ì ê±°ë¦¬ë©° 뛰어나온다. 아마 ì†Œë¦¬ë„ ì¹˜ëŠ” 모양ì´ê² ì§€ë§ˆëŠ” ê·¸ 소리는 아니 들렸다. 나는 ê·¸ê²ƒì´ ìˆœìž„ì¸ ì¤„ì„ ì–¼ë¥¸ 알았다. ë˜ ìˆœìž„ì´ë°–ì— ë  ì‚¬ëžŒë„ ì—†ì—ˆë‹¤. -ìˆœìž„ì€ í•œì°¸ 달ìŒë°•ì§ˆë¡œ 오다가 ëˆˆì´ ê¹Šì–´ì„œ 걸ìŒì„ 걷기가 íž˜ì´ ë“œëŠ”ì§€ 멈칫 섰다. ê·¸ì˜ ê²€ì€ ì™¸íˆ¬ëŠ” ì–´ëŠë§ í° ì ìœ¼ë¡œ 얼려져 가지고 어깨는 í¬ê²Œ ë˜ëŠ” ê²ƒì´ ë³´ì˜€ë‹¤. -ìˆœìž„ì˜ ê°¸ë¦„í•œ ì–¼êµ´ì´ ë³´ì˜€ë‹¤. -"ì„ ìƒë‹˜!" -하고 ìˆœìž„ë„ ë‚˜ë¥¼ 알아보고는 ë˜ íŒ”ì„ í—ˆìš°ì ê±°ë¦¬ë©° 소리를 질렀다. -ë‚˜ë„ ë°˜ê°€ì›Œì„œ 모ìžë¥¼ ë²—ì–´ 둘렀다. -"ì•„ì´ ì„ ìƒë‹˜!" -하고 ìˆœìž„ì€ ë‚´ê°€ ì°ë§¤ì—ì„œ ì¼ì–´ì„œê¸°ë„ ì „ì— ë‚´ê²Œ 와서 매달리며 울었다. -"아버지 ì–´ë– ì‹œëƒ?" -하고 나는 ìˆœìž„ì˜ ë“±ì„ ë‘드렸다. 나는 다리가 마비가 ë˜ì–´ì„œ 곧 ì¼ì–´ì„¤ 수가 없었다. -"아버지 ì–´ë– ì‹œëƒ?" -하고 나는 í•œ 번 ë” ë¬¼ì—ˆë‹¤. -ìˆœìž„ì€ ë²Œë–¡ ì¼ì–´ë‚˜ ë‘ ì£¼ë¨¹ìœ¼ë¡œ í르는 ëˆˆë¬¼ì„ ì³ë‚´ 버리며, -"대단하셔요." -í•˜ê³ ë„ ìš¸ìŒì„ 금치 못하였다. -노파는 ë²Œì¨ ì°ë§¤ì—ì„œ 내려서 기운 없는 걸ìŒìœ¼ë¡œ 비틀비틀 걷기를 시작하였다. -나는 ìˆœìž„ì„ ë”°ë¼ì„œ ì–¸ë•ì„ 오르며, -"그래 무슨 병환ì´ì‹œëƒ?" -하고 물었다. -"몰ë¼ìš”. ì‹ ì—´ì´ ëŒ€ë‹¨í•˜ì…”ìš”." -"ì •ì‹ ì€ ì°¨ë¦¬ì‹œë“ ?" -"ì²˜ìŒ ì œê°€ 여기 ì™”ì„ ì ì—는 그렇지 ì•Šë”니 요새ì—는 ê°€ë” í˜¼ìˆ˜ ìƒíƒœì— 빠지시는 모양ì´ì•¼ìš”." -ì´ë§Œí•œ 지ì‹ì„ 가지고 나는 최ì„ì´ê°€ 누워 있는 집 ì•žì— ë‹¤ë‹¤ëžë‹¤. -ì´ ì§‘ì€ í†µë‚˜ë¬´ë¥¼ 댓 ê°œ 우물 ì •ìžë¡œ 가로놓고 ì§€ë¶•ì€ ë¬´ì—‡ìœ¼ë¡œ 했는지 모르나 ëˆˆì´ ë®ì´ê³ , 문 하나 ì°½ 하나를 ë‚´ì—ˆëŠ”ë° ë¬¸ì€ ë‚˜ë¬´ê»ì§ˆì¸ 모양ì´ë‚˜ ì°½ì€ ì –ë¹› 나는 ìœ ë¦¬ì°½ì¸ ì¤„ 알았ë”니 ë’¤ì— ì•Œì•„ë³¸ì¦‰ ê·¸ê²ƒì€ ìœ ë¦¬ê°€ 아니요, ì–‘ëª©ì„ ë°”ë¥´ê³  ë¬¼ì„ ë¿œì–´ì„œ 얼려 ë†“ì€ ê²ƒì´ì—ˆë‹¤. 그리고 통나무와 통나무 틈바구니ì—는 쇠털과 ê°™ì€ ë§ˆë¥¸ í’€ì„ ê¼­ê¼­ ë°•ì•„ì„œ ë°”ëžŒì„ ë§‰ì•˜ë‹¤. -ë¬¸ì„ ì—´ê³  들어서니 ë¶€ì—Œì— ë“¤ì–´ì„œëŠ” 모양으로 ì‘¥ ë¹ ì¡ŒëŠ”ë° í™”ëˆí™”ëˆí•˜ëŠ” ê²ƒì´ í•œì¦ê³¼ 같다. 그렇지 ì•Šì•„ë„ ì¹¨ì¹¨í•œ ë‚ ì— ì–¸ 눈으로 ê´‘ì„  부족한 ë°©ì— ë“¤ì–´ì˜¤ë‹ˆ, 캄캄 절벽ì´ì–´ì„œ ì•„ë¬´ê²ƒë„ ë³´ì´ì§€ 아니하였다. -순임ì´ê°€ 앞서서 ì–‘ì´ˆì— ë¶ˆì„ ì¼ ë‹¤. 촛불 ë¹›ì€ ë°© 한편 쪽 침대ë¼ê³  í•  만한 ë†’ì€ ê³³ì— ë‹´ìš”ë¥¼ ë®ê³  누운 최ì„ì˜ ì‹œì²´ì™€ ê°™ì€ í° ì–¼êµ´ì„ ë¹„ì¶˜ë‹¤. -"아버지, 아버지 샌전 아저씨 오셨어요." -하고 ìˆœìž„ì€ ìµœì„ì˜ ê·€ì— ìž…ì„ ëŒ€ê³  가만히 불렀다. -그러나 ëŒ€ë‹µì´ ì—†ì—ˆë‹¤. -나는 최ì„ì˜ ì´ë§ˆë¥¼ 만져 보았다. 축축하게 ë•€ì´ í˜ë €ë‹¤. 그러나 그리 ë”ìš´ ì¤„ì€ ëª°ëžë‹¤. -ë°© ì•ˆì˜ ê³µê¸°ëŠ” ìˆ¨ì´ ë§‰íž ë“¯í•˜ì˜€ë‹¤. ê·¸ 난방 장치는 ì‚¼êµ¿ì˜ ì›ë¦¬ë¥¼ ì´ìš©í•œ 것ì´ì—ˆë‹¤. ëŒë©©ì´ë¡œ ì•„ê¶ì´ë¥¼ 쌓고 ê·¸ ìœ„ì— í° ëŒë©©ì´ë“¤ì„ ë§Žì´ ìŒ“ê³  거기다가 ë¶ˆì„ ë•Œì–´ì„œ 달게 í•œ ë’¤ì— ê±°ê¸° ëˆˆì„ ë¶€ì–´ 뜨거운 ì¦ê¸°ë¥¼ 발하는 것ì´ì—ˆë‹¤. -ì´ ê±´ì¶•ë²•ì€ ì¡°ì„  ë™í¬ë“¤ì´ 시베리아로 ê¸ˆê´‘ì„ ì°¾ì•„ë‹¤ë‹ˆë©´ì„œ 하는 법ì´ëž€ ë§ì„ 들었으나 최ì„ì´ê°€ 누구ì—게서 배워 가지고 ì–´ë–¤ 모양으로 지었는지는 최ì„ì˜ ë§ì„ 듣기 ì „ì—는 ì•Œ 수 없는 ì¼ì´ë‹¤. -나는 ë‚´ íž˜ì´ ë¯¸ì¹˜ëŠ” ë°ê¹Œì§€ 최ì„ì˜ ë³‘ ì¹˜ë£Œì— ëŒ€í•œ ì†ì„ ì“°ê³  어떻게 해서든지 ì´ë¥´ì¿ ì¸ í¬ì˜ 병ì›ìœ¼ë¡œ 최ì„ì„ ë°ë ¤ë‹¤ê°€ ìž…ì›ì‹œí‚¬ ë„리를 ê¶ë¦¬í•˜ì˜€ë‹¤. 그러나 냉정하게 ìƒê°í•˜ë©´ 최ì„ì€ ì‚´ì•„ë‚  ê°€ë§ì´ 없는 것만 같았다. -ë‚´ê°€ ê°„ 지 ì‚¬í˜ ë§Œì— ìµœì„ì€ ì²˜ìŒìœ¼ë¡œ ì •ì‹ ì„ ì°¨ë ¤ì„œ ëˆˆì„ ëœ¨ê³  나를 알아보았다. -그는 반가운 í‘œì •ì„ í•˜ê³  빙그레 웃기까지 하였다. -"다 ì¼ì—†ë‚˜?" -ì´ëŸ° ë§ë„ ì•Œì•„ë“¤ì„ ìˆ˜ê°€ 있었다. -그러나 심히 ê¸°ìš´ì´ ì—†ëŠ” 모양ì´ê¸°ë¡œ 나는 ë§Žì´ ë§ì„ 하지 아니하였다. -최ì„ì€ í•œì°¸ì´ë‚˜ ëˆˆì„ ê°ê³  있ë”니, -"ì •ìž„ì´ ì†Œì‹ ë“¤ì—ˆë‚˜?" -하였다. -"괜찮대요." -하고 ê³ì—ì„œ 순임ì´ê°€ ë§í•˜ì˜€ë‹¤. -그리고는 ë˜ í˜¼ëª½í•˜ëŠ” 듯하였다. -ê·¸ ë‚  ë˜ í•œ 번 최ì„ì€ ì •ì‹ ì„ ì°¨ë¦¬ê³  순임ë”러는 저리로 ê°€ë¼ëŠ” ëœ»ì„ í‘œí•˜ê³  나ë”러 귀를 ê°€ê¹Œì´ ëŒ€ë¼ëŠ” ëœ»ì„ ë³´ì´ê¸°ë¡œ 그대로 하였ë”니, -"ë‚´ 가방 ì†ì— ì¼ê¸°ê°€ 있으니 그걸 ìžë„¤ë§Œ 보고는 ë¶ˆì‚´ë¼ ë²„ë ¤. ë‚´ê°€ ì£½ì€ ë’¤ì—ë¼ë„ ê·¸ê²ƒì´ ì„¸ìƒ ì‚¬ëžŒì˜ ëˆˆì— ë“¤ë©´ 안 ë˜ì§€. 순임ì´ê°€ 볼까 ê±±ì •ì´ ë˜ì§€ë§ˆëŠ” ë‚´ê°€ ëª¸ì„ ê¼¼ì§í•  수가 있나." -하는 ëœ»ì„ ë§í•˜ì˜€ë‹¤. -"그러지." -하고 나는 고개를 ë„ë•ì—¬ 보였다. -그러고 ë‚œ ë’¤ì— ë‚˜ëŠ” 최ì„ì´ê°€ 시킨 대로 ê°€ë°©ì„ ì—´ê³  ì±…ë“¤ì„ ë’¤ì ¸ì„œ ê·¸ ì¼ê¸°ì±…ì´ë¼ëŠ” ê³µì±…ì„ êº¼ë‚´ì—ˆë‹¤. -"ìˆœìž„ì´ ë„ˆ ì´ê±° 보았니?" -하고 나는 ê³ì—ì„œ ë‚´ê°€ ì±… 찾는 ê²ƒì„ ë³´ê³  ì„°ë˜ ìˆœìž„ì—게 물었다. -"아니오. 그게 무어여요?" -하고 ìˆœìž„ì€ ë‚´ ì†ì— ë“  ì±…ì„ ë¹¼ì•—ìœ¼ë ¤ëŠ” ë“¯ì´ ì†ì„ 내밀었다. -나는 ìˆœìž„ì˜ ì†ì´ 닿지 ì•Šë„ë¡ ì±…ì„ í•œíŽ¸ìœ¼ë¡œ 비키며, -"ì´ê²ƒì´ 네 아버지 ì¼ê¸°ì¸ 모양ì¸ë° 너는 ë³´ì´ì§€ ë§ê³  나만 ë³´ë¼ê³  하셨다. 네 아버지가 네가 ì´ê²ƒì„ 보았ì„까 í•´ì„œ 염려를 í•˜ì‹œëŠ”ë° ì•ˆ 보았으면 다행ì´ë‹¤." -하고 나는 ê·¸ ì±…ì„ ë“¤ê³  밖으로 나왔다. -ë‚ ì´ ë°ë‹¤. 해는 ì¤‘ì²œì— ìžˆë‹¤. 중천ì´ëž˜ì•¼ ì € 남쪽 지í‰ì„  가까운 ë°ë‹¤. ë°¤ì´ ì—´ì—¬ëŸ ì‹œê°„, ë‚®ì´ ëŒ€ì—¬ì„¯ ì‹œê°„ë°–ì— ì•ˆ ë˜ëŠ” ë¶ìª½ 나ë¼ë‹¤. 멀건 햇빛ì´ë‹¤. -나는 ë³•ì´ ìž˜ 드는 ê³³ì„ ê³¨ë¼ì„œ ë‚˜ë¬´ì— ëª¸ì„ ê¸°ëŒ€ê³  최ì„ì˜ ì¼ê¸°ë¥¼ ì½ê¸° 시작하였다. ì½ì€ 중ì—ì„œ 몇 êµ¬ì ˆì„ ê³¨ë¼ ë³¼ê¹Œ. -"ì§‘ì´ ë‹¤ ë˜ì—ˆë‹¤. ì´ ì§‘ì€ ë‚´ê°€ ìƒì „ ì‚´ê³  ê·¸ ì†ì—ì„œ ì´ ì„¸ìƒì„ 마칠 집ì´ë‹¤. 마ìŒì´ 기ì˜ë‹¤. ì‹œë„러운 세ìƒì€ 여기서 멀지 아니하ëƒ. ë‚´ê°€ 여기 홀로 있기로 누가 ì°¾ì„ ì‚¬ëžŒë„ ì—†ì„ ê²ƒì´ë‹¤. ë‚´ê°€ 여기서 죽기로 누가 슬í¼í•´ 줄 ì‚¬ëžŒë„ ì—†ì„ ê²ƒì´ë‹¤. 때로 ê³°ì´ë‚˜ 찾아올까. ì§€ë‚˜ê°€ë˜ ì‚¬ìŠ´ì´ë‚˜ 들여다볼까. -ì´ê²ƒì´ ë‚´ 소ì›ì´ 아니ëƒ. 세ìƒì˜ ì‹œë„ëŸ¬ì›€ì„ ë– ë‚˜ëŠ” ê²ƒì´ ë‚´ 소ì›ì´ 아니ëƒ. ì´ ì†ì—ì„œ 나는 나를 ì´ê¸°ê¸°ë¥¼ 공부하ìž." -ì²«ë‚ ì€ ì´ëŸ° í‰ë²”í•œ 소리를 ì¼ë‹¤. -ê·¸ ì´íŠ¿ë‚ ì—는. -"어떻게나 나는 약한 사람ì¸ê³ . ì œ 마ìŒì„ 제가 지배하지 못하는 사람ì¸ê³ . 밤새ë„ë¡ ë‚˜ëŠ” ì •ìž„ì„ ìƒê°í•˜ì˜€ë‹¤. ì–´ë‘ìš´ í—ˆê³µì„ í–¥í•˜ì—¬ ì •ìž„ì„ ë¶ˆë €ë‹¤. ì •ìž„ì´ê°€ 나를 찾아서 ë™ê²½ì„ 떠나서 ì´ë¦¬ë¡œ 오지나 아니하나 하고 ìƒê°í•˜ì˜€ë‹¤. 어떻게나 부ë„러운 ì¼ì¸ê³ ? 어떻게나 ê°€ì¦í•œ ì¼ì¸ê³ ? -나는 아내를 ìƒê°í•˜ë ¤ 하였다. ì•„ì´ë“¤ì„ ìƒê°í•˜ë ¤ 하였다. 아내와 ì•„ì´ë“¤ì„ ìƒê°í•¨ìœ¼ë¡œ ì •ìž„ì˜ ìƒê°ì„ ì´ê¸°ë ¤ 하였다. -최ì„ì•„, 너는 ë‚¨íŽ¸ì´ ì•„ë‹ˆëƒ. 아버지가 아니ëƒ. ì •ìž„ì€ ë„¤ ë”¸ì´ ì•„ë‹ˆëƒ. ì´ëŸ° ìƒê°ì„ 하였다. -ê·¸ëž˜ë„ ì •ìž„ì˜ ì¼ë¥˜ì „ì€ ì•„ë‚´ì™€ ì•„ì´ë“¤ì˜ ìƒê°ì„ 밀치고 달려오는 절대 ìœ„ë ¥ì„ ê°€ì§„ 듯하였다. -ì•„, 나는 어떻게나 파렴치한 사람ì¸ê³ . ë‚˜ì´ ì‚¬ì‹­ì´ ë„˜ì–´ ì˜¤ì‹­ì„ ë°”ë¼ë³´ëŠ” ë†ˆì´ ì•„ë‹ˆëƒ. ì‚¬ì‹­ì— ë¶ˆí˜¹ì´ë¼ê³  아니 하ëŠëƒ. êµìœ¡ê°€ë¡œ 깨ë—í•œ êµì¸ìœ¼ë¡œ ì¼ìƒì„ ì‚´ì•„ 왔다고 ìžì²˜í•˜ëŠ” ë‚´ê°€ ì•„ë‹ˆëƒ í•˜ê³  나는 ë‚´ 입으로 ë‚´ ì†ê°€ë½ì„ 물어서 ë‘ êµ°ë°ë‚˜ 피를 내었다." -최ì„ì˜ ë‘˜ì§¸ ë‚  ì¼ê¸°ëŠ” 계ì†ëœë‹¤. -"ë‚´ ì†ê°€ë½ì—ì„œ 피가 ë‚  ë•Œì— ë‚˜ëŠ” 유쾌하였다. 나는 ìŠ¹ì²©ì˜ ê¸°ì¨ì„ 깨달았다. -그러나 ì•„ì•„ 그러나 ê·¸ 빨간, ì°¸íšŒì˜ í•ë°©ìš¸ ì†ì—ì„œë„ ì• ìš•ì˜ ë¶ˆê¸¸ì´ ì¼ì§€ 아니하는가. 나는 마침내 ì œë„í•  수 없는 ì¸ìƒì¸ê°€." -ì´ ì§‘ì— ë“  지 ë‘˜ì§¸ë‚ ì— ë²Œì¨ ì´ëŸ¬í•œ ë¹„ê´€ì  ë§ì„ 하였다. -ë˜ ë©°ì¹ ì„ ì§€ë‚œ ë’¤ ì¼ê¸°ì—, -"나는 ë™ê²½ìœ¼ë¡œ ëŒì•„가고 싶다. ì •ìž„ì˜ ê³ìœ¼ë¡œ 가고 싶다. 시베리아ì˜ê´‘ì•¼ì˜ ìœ í˜¹ë„ ì•„ë¬´ íž˜ì´ ì—†ë‹¤. ì–´ì ¯ë°¤ì€ ì‚¼ë¦¼ì˜ ì¢‹ì€ ë‹¬ì„ ë³´ì•˜ìœ¼ë‚˜ ê·¸ ë‹¬ì„ ì•„ë¦„ë‹µê²Œ ë³´ë ¤ 하였으나 아무리 í•˜ì—¬ë„ ì•„ë¦„ë‹µê²Œ ë³´ì´ì§€ë¥¼ 아니하였다. -하늘ì´ë‚˜ 달ì´ë‚˜ 삼림ì´ë‚˜ ëª¨ë‘ ë¬´ì˜ë¯¸í•œ 존재다. ì´ì²˜ëŸ¼ 무ì˜ë¯¸í•œ 존재를 나는 경험한 ì¼ì´ 없다. ê·¸ê²ƒì€ ë‹¤ë§Œ 기ì¨ì„ ìžì•„내지 아니할 ë¿ë”러 ìŠ¬í””ë„ ìžì•„내지 못하였다. ê·¸ê²ƒì€ ìž¿ë”미였다. ì•„ë¬´ë„ ë“£ëŠ” ì´ ì—†ëŠ” ë°ì„œ ë‚´ ì§„ì •ì„ ë§í•˜ë¼ë©´ ê·¸ê²ƒì€ ì´ ì²œì§€ì— ë‚´ê²Œ ì˜ë¯¸ 있는 ê²ƒì€ ì •ìž„ì´ë°–ì— ì—†ë‹¤ëŠ” 것ì´ë‹¤. -나는 ì •ìž„ì˜ ê³ì— 있고 싶다. ì •ìž„ì„ ë‚´ ê³ì— ë‘ê³  싶다. 왜? ê·¸ê²ƒì€ ë‚˜ë„ ëª¨ë¥¸ë‹¤. -ë§Œì¼ ì´ ì›€ ì†ì—ë¼ë„ ì •ìž„ì´ê°€ 있다 하면 얼마나 ì´ê²ƒì´ ì¦ê±°ìš´ ê³³ì´ ë ê¹Œ. -그러나 ì´ê²ƒì€ 불가능한 ì¼ì´ë‹¤. ì´ ì¼ì´ 있어서는 아니 ëœë‹¤. 나는 ì´ ìƒê°ì„ 죽여야 한다. 다시 ê±°ë‘를 못 하ë„ë¡ ëª©ìˆ¨ì„ ëŠì–´ 버려야 한다. -ì´ê²ƒì„ 나는 ì›í•œë‹¤. ì›í•˜ì§€ë§ˆëŠ” 내게는 ê·¸ íž˜ì´ ì—†ëŠ” 모양ì´ë‹¤. -나는 종êµë¥¼ ìƒê°í•˜ì—¬ 본다. ì² í•™ì„ ìƒê°í•˜ì—¬ 본다. ì¸ë¥˜ë¥¼ ìƒê°í•˜ì—¬ 본다. 나ë¼ë¥¼ ìƒê°í•˜ì—¬ 본다. ì´ê²ƒì„ 가지고 ë‚´ ì• ìš•ê³¼ 바꾸려고 ì• ì¨ ë³¸ë‹¤. 그렇지마는 내게 그러한 íž˜ì´ ì—†ë‹¤. 나는 완전히 í—¬í”Œë¦¬ìŠ¤í•¨ì„ ê¹¨ë‹«ëŠ”ë‹¤. -ì•„ì•„ 나는 어찌할꼬? -나는 못ìƒê¸´ 사람ì´ë‹¤. 그까짓 ê²ƒì„ ëª» ì´ê²¨? 그까짓 ê²ƒì„ ëª» ì´ê²¨? -나는 ì˜ˆìˆ˜ì˜ ê´‘ì•¼ì—ì„œì˜ ìœ í˜¹ì„ ìƒê°í•œë‹¤. 천하를 주마 하는 ìœ í˜¹ì„ ìƒê°í•œë‹¤. 나는 싯다르타 태ìžê°€ 왕ê¶ì„ 버리고 나온 ê²ƒì„ ìƒê°í•˜ê³ , ë˜ ìŠ¤í† ì•„ ì² í•™ìžì˜ ì˜ì§€ë ¥ì„ ìƒê°í•˜ì˜€ë‹¤. -그러나 나는 그러한 ìƒê°ìœ¼ë¡œë„ ì´ ìƒê°ì„ ì´ê¸¸ 수가 없는 것 같다. -나는 í˜ëª…가를 ìƒê°í•˜ì˜€ë‹¤. 모든 것 ì‚¬ëž‘ë„ ëª©ìˆ¨ë„ ë‹¤ 헌신ì§ê°™ì´ 집어ë˜ì§€ê³  피 í르는 마당으로 뛰어나가는 용사를 ìƒê°í•˜ì˜€ë‹¤. 나는 ì´ë없는 삼림 ì†ìœ¼ë¡œ í˜ëª…ì˜ ìš©ì‚¬ 모양으로 달ìŒë°•ì§ˆì¹˜ë‹¤ê°€ ê¸°ìš´ì´ ì§„í•œ ê³³ì—ì„œ 죽어 버리는 ê²ƒì´ ì†Œì›ì´ì—ˆë‹¤. 그러나 ê±°ê¸°ê¹Œì§€ë„ ì´ ìƒê°ì€ 따르지 아니할까. -나는 지금 곧 죽어 버릴까. 나는 육혈í¬ë¥¼ ì†ì— 들어 보았다. ì´ ë°©ì•„ì‡ ë¥¼ í•œ 번만 튕기면 ë‚´ ìƒëª…ì€ ì—†ì–´ì§€ëŠ” ê²ƒì´ ì•„ë‹Œê°€. 그리 ë˜ë©´ 모든 ì´ ë§ˆìŒì˜ 움ì§ìž„ì€ ì†Œë©¸ë˜ëŠ” ê²ƒì´ ì•„ë‹Œê°€. ì´ê²ƒìœ¼ë¡œ 만사가 í•´ê²°ë˜ëŠ” ê²ƒì´ ì•„ë‹Œê°€. -ì•„ 하나님ì´ì‹œì—¬, íž˜ì„ ì£¼ì‹œì˜µì†Œì„œ. 천하를 ì´ê¸°ëŠ” íž˜ë³´ë‹¤ë„ ë‚˜ ìžì‹ ì„ ì´ê¸°ëŠ” íž˜ì„ ì£¼ì‹œì˜µì†Œì„œ. ì´ ì£„ì¸ìœ¼ë¡œ 하여금 í•˜ë‚˜ë‹˜ì˜ ëˆˆì— ì˜ë¡­ê³  깨ë—í•œ 사람으로 ì´ ì¼ìƒì„ 마치게 하여 주시옵소서, ì´ë ‡ê²Œ 나는 기ë„를 한다. -그러나 하나님께서는 나를 버리셨다. 하나님께서는 내게 íž˜ì„ ì£¼ì‹œì§€ 아니하시었다. 나를 ì´ ë¹„ì°¸í•œ ìžë¦¬ì—ì„œ ì©ì–´ì ¸ 죽게 하시었다." -최ì„ì€ ì–´ë–¤ ë‚  ì¼ê¸°ì— ë˜ ì´ëŸ° ê²ƒë„ ì¼ë‹¤. ê·¸ê²ƒì€ ì˜ˆì „ 내게 보낸 íŽ¸ì§€ì— ìžˆë˜ ê¿ˆ ì´ì•¼ê¸°ë¥¼ ì—°ìƒì‹œí‚¤ëŠ” 것ì´ì—ˆë‹¤. ê·¸ê²ƒì€ ì´ëŸ¬í•˜ë‹¤. -"오늘 ë°¤ì€ ë‹¬ì´ ì¢‹ë‹¤. ì‹œë² ë¦¬ì•„ì˜ ê²¨ìš¸ 해는 ì°¸ 못ìƒê¸´ ì‚¬ëžŒê³¼ë„ ê°™ì´ ê¸°ìš´ì´ ì—†ì§€ë§ˆëŠ” 하얀 ë•…, 검푸른 í•˜ëŠ˜ì— ì €ìª½ 지í‰ì„ ì„ 향하고 í˜ëŸ¬ê°€ëŠ” ë°˜ë‹¬ì€ ì°¸ìœ¼ë¡œ ë§‘ìŒ ê·¸ê²ƒì´ì—ˆë‹¤. -나는 í‰ìƒ ì²˜ìŒ ì‹œ 비슷한 ê²ƒì„ ì§€ì—ˆë‹¤. -ìž„ê³¼ ì´ë³„í•˜ë˜ ë‚  ë°¤ì—는 남쪽 나ë¼ì— 바람비가 쳤네 -ìž„ 타신 ìžë™ì°¨ì˜ ë’·ë¶ˆì´ ë¹¨ê°„ ë’·ë¶ˆì´ ë¹—ë°œì— ì°¢ê²¼ë„¤ -ìž„ 떠나 í˜¼ìž í—¤ë§¤ëŠ” ì‹œë² ë¦¬ì•„ì˜ ì˜¤ëŠ˜ ë°¤ì—는 -지려는 ìª½ë‹¬ì´ ëˆˆ ë®ì¸ ì‚¼ë¦¼ì— ê±¸ë ¸êµ¬ë‚˜ -ì•„ì•„ ì € 쪽달ì´ì—¬ -억지로 ë°˜ì„ ê°ˆê²¨ì§„ ê²ƒë„ ê°™ì•„ë¼ -ì•„ì•„ ì € 쪽달ì´ì—¬ -잃어진 ì§ì„ 찾아 -차디찬 허공 ì†ì„ ì˜ì›ížˆ 헤매는 ê²ƒë„ ê°™êµ¬ë‚˜ -ë‚˜ë„ ì € 달과 ê°™ì´ ìžƒì–´ë²„ë¦° ë°˜ìª½ì„ ì°¾ì•„ 무ê¶í•œ 시간과 공간ì—ì„œ 헤매는 것만 같다. -ì—ìµ. ë‚´ê°€ 왜 ì´ë¦¬ 약한가. 어찌하여 í¬ë‚˜í° ë§Žì€ ì¼ì„ ëŒì•„보지 못하고 요만한 ì• ìš•ì˜ í¬ë¡œê°€ ë˜ëŠ”ê°€. -그러나 나는 차마 ê·¸ ë‹¬ì„ ë²„ë¦¬ê³  들어올 수가 없었다. ë‚´ê°€ 왜 ì´ë ‡ê²Œ 센티멘털하게 ë˜ì—ˆëŠ”ê³ . ë‚´ 쇠 ê°™ì€ ì˜ì§€ë ¥ì´ 어디로 갔는고. ë‚´ 누를 수 없는 ìžì¡´ì‹¬ì´ 어디로 갔는고. 나는 마치 ìœ ëª¨ì˜ ì†ì— 달린 젖먹ì´ì™€ë„ 같다. ë‚´ ì¼ì‹ ì€ ë„ì‹œ ì• ìš• ë©ì–´ë¦¬ë¡œ 화해 버린 것 같다. -ì´ë¥¸ë°” 사랑 사랑ì´ëž€ ë§ì€ 종êµì  ì˜ë¯¸ì¸ 것 ì´ì™¸ì—ë„ ìž…ì— ë‹´ê¸°ë„ ì‹«ì–´í•˜ë˜ ë§ì´ë‹¤ ì´ëŸ° ê²ƒì€ ë‚´ ì˜ì§€ë ¥ê³¼ ìžì¡´ì‹¬ì„ 녹여 버렸는가. ë˜ ì´ ë¶€ìžì—°í•œ ê³ ë…ì˜ ìƒí™œì´ 나를 ì´ë ‡ê²Œ ë‚´ ì¸ê²©ì„ ì´ë ‡ê²Œ 파괴하였는가. -그렇지 아니하면 ë‚´ ìžì¡´ì‹¬ì´ë¼ëŠ” 것ì´ë‚˜, ì˜ì§€ë ¥ì´ë¼ëŠ” 것ì´ë‚˜, ì¸ê²©ì´ë¼ëŠ” ê²ƒì´ ëª¨ë‘ ì„¸ìƒì˜ 습관과 ì‚¬ì¡°ì— íœ©ì“¸ë¦¬ë˜ ê²ƒì¸ê°€. ë‚¨ë“¤ì´ ê·¸ëŸ¬ë‹ˆê¹Œ ë‚¨ë“¤ì´ ì˜³ë‹¤ë‹ˆê¹Œ ë‚¨ë“¤ì´ ë¬´ì„œìš°ë‹ˆê¹Œ ì´ ì• ìš•ì˜ ë¬´ë¤ì— 회를 ë°œëžë˜ 것ì¸ê°€. 그러다가 ê³ ë…ê³¼ ë°˜ì„±ì˜ ê¸°íšŒë¥¼ 얻으매 모든 회칠과 ê°€ë©´ì„ ë–¼ì–´ 버리고 ë¹¨ê°€ë²—ì€ ì• ìš•ì˜ ë­‰í……ì´ê°€ 나온 것ì¸ê°€. -그렇다 하면, ì´ê²ƒì´ ì°¸ëœ ë‚˜ì¸ê°€. ì´ê²ƒì´ 하나님께서 지어 주신 ëŒ€ë¡œì˜ ë‚˜ì¸ê°€. ê°€ìŠ´ì— íƒ€ì˜¤ë¥´ëŠ” ì• ìš•ì˜ ë¶ˆê¸¸ ì´ ë¶ˆê¸¸ì´ ê³§ ë‚´ ì˜í˜¼ì˜ 불길ì¸ê°€. -어쩌면 ê·¸ 모든 ë†’ì€ ì´ìƒë“¤ ì¸ë¥˜ì— 대한, ë¯¼ì¡±ì— ëŒ€í•œ, ë„ë•ì— 대한, ì‹ ì•™ì— ëŒ€í•œ ê·¸ ë†’ì€ ì´ìƒë“¤ì´ ì´ë ‡ê²Œë„ 만만하게 마치 ë°”ëžŒì— ë¶ˆë¦¬ëŠ” 재 모양으로 ìžì·¨ë„ ì—†ì´ í©ì–´ì ¸ 버리고 ë§ê¹Œ. 그리고 ê·¸ ë’¤ì—는 í‰ì†Œì—ê·¸ë ‡ê²Œë„ ë¯¸ì›Œí•˜ê³  천히 ì—¬ê¸°ë˜ ì• ìš•ì˜ ê²€ì€ í™ë§Œ 남고 ë§ê¹Œ. -ì•„ì•„ ì € 눈 ë®ì¸ ë•…ì´ì—¬, 차고 ë§‘ì€ ë‹¬ì´ì—¬, 허공ì´ì—¬! 나는 너í¬ë“¤ì„ 부러워하노ë¼. -불êµë„ë“¤ì˜ í•´íƒˆì´ë¼ëŠ” ê²ƒì´ ì´ëŸ¬í•œ ì• ìš•ì´ ë¶ˆë¶™ëŠ” 지옥ì—ì„œ 눈과 ê°™ì´ ì‹¸ëŠ˜í•˜ê³  허공과 ê°™ì´ ë¹ˆ 곳으로 들어ê°ì„ ì´ë¦„ì¸ê°€. -ì„ê°€ì˜ íŒ” ë…„ ê°„ 설산 ê³ í–‰ì´ ì´ ì• ìš•ì˜ ë¿Œë¦¬ë¥¼ ëŠìœ¼ë ¤ 함ì´ë¼ 하고 ì˜ˆìˆ˜ì˜ ì‚¬ì‹­ ì¼ ê´‘ì•¼ì˜ ê³ í–‰ê³¼ ê²Ÿì„¸ë§ˆë„¤ì˜ ê³ ë¯¼ë„ ì´ ì• ìš•ì˜ ë¿Œë¦¬ 때문ì´ì—ˆë˜ê°€. -그러나 ê·¸ê²ƒì„ ì´ê¸°ì–´ 낸 ì‚¬ëžŒì´ ì²œì§€ 개벽 ì´ëž˜ì— 몇몇ì´ë‚˜ ë˜ì—ˆëŠ”ê³ ? 나 ê°™ì€ ê²ƒì´ ê·¸ ì¤‘ì— í•œ 사람 ë˜ê¸°ë¥¼ 바랄 수가 있ì„까. -나 같아서는 마침내 ì´ ì• ìš•ì˜ ë¶ˆê¸¸ì— ë‹¤ 타서 재가 ë˜ì–´ 버릴 것만 같다. ì•„ì•„ 어떻게나 힘있고 무서운 불길ì¸ê³ ." -ì´ëŸ¬í•œ ê³ ë¯¼ì˜ ìžë°±ë„ 있었다. -ë˜ ì–´ë–¤ ë‚  ì¼ê¸°ì—는 최ì„ì€ ì´ëŸ° ë§ì„ ì¼ë‹¤. -"나는 단연히 ë™ê²½ìœ¼ë¡œ ëŒì•„가기를 결심하였다." -그리고는 ê·¸ ì´íŠ¿ë‚ ì€, -"나는 단연히 ë™ê²½ìœ¼ë¡œ ëŒì•„가리란 ê²°ì‹¬ì„ í•œ ê²ƒì„ êµ³ì„¸ê²Œ 취소한다. 나는 ì´ëŸ¬í•œ ê²°ì‹¬ì„ í•˜ëŠ” 나 ìžì‹ ì„ 굳세게 부ì¸í•œë‹¤." -ë˜ ì´ëŸ° ë§ë„ 있다. -"나는 ì •ìž„ì„ ì‹œë² ë¦¬ì•„ë¡œ 부르련다." -ë˜ ê·¸ 다ìŒì—는, -"ì•„ì•„ 나는 í•˜ë£¨ë°”ì‚ ì£½ì–´ì•¼ 한다. ì´ ëª©ìˆ¨ì„ ì—°ìž¥í•˜ì˜€ë‹¤ê°€ëŠ” 무슨 ì¼ì„ 저지를는지 모른다. 나는 깨ë—하게 나를 ì´ê¸°ëŠ” ë„ë•ì  ì¸ê²©ìœ¼ë¡œ ì´ ì¼ìƒì„ 마ì³ì•¼ 한다. ì´ ë°–ì— ë‚´ ì‚¬ì—…ì´ ë¬´ì—‡ì´ëƒ." -ë˜ ì–´ë–¤ ê³³ì—는, -"ì•„ì•„ 무서운 하룻밤ì´ì—ˆë‹¤. 나는 지난 í•˜ë£»ë°¤ì„ ëˆ„ë¥¼ 수 없는 ì• ìš•ì˜ ë¶ˆê¸¸ì— íƒ”ë‹¤. 나는 ë‚´ 주먹으로 ë‚´ ê°€ìŠ´ì„ ë‘드리고 머리를 ë²½ì— ë¶€ë”ªì³¤ë‹¤. 나는 주먹으로 ë‹´ë²½ì„ ë‘드려 ì†ë“±ì´ 터져서 피가 í˜ë €ë‹¤. 나는 ë‚´ 머리카ë½ì„ ì¥ì–´ëœ¯ì—ˆë‹¤. 나는 ìˆ˜ì—†ì´ ë°œì„ êµ´ë €ë‹¤. 나는 ì´ ë¬´ì„œìš´ ìœ í˜¹ì„ ì´ê¸°ë ¤ê³  ë‚´ ëª¸ì„ ì•„í”„ê²Œ 하였다. 나는 견디다 못하여 ë¬¸ì„ ë°•ì°¨ê³  뛰어나갔다. ë°–ì—는 ë‹¬ì´ ìžˆê³  ëˆˆì´ ìžˆì—ˆë‹¤. 그러나 ëˆˆì€ í•ë¹›ì´ìš”, ë‹¬ì€ ì°Œê·¸ëŸ¬ì§„ 것 같았다. 나는 눈 ì†ìœ¼ë¡œ 달ìŒë°•ì§ˆì³¤ë‹¤. ë‹¬ì„ ë”°ë¼ì„œ 엎드러지며 ìžë¹ ì§€ë©° 달ìŒì§ˆì³¤ë‹¤. 나는 소리를 질렀다. 나는 미친 사람 같았다." -그러고는 어디까지 갔다가 ì–´ëŠ ë•Œì— ì–´ë– í•œ ì‹¬ê²½ì˜ ë³€í™”ë¥¼ 얻어 가지고 ëŒì•„왔다는 ë§ì€ ì“°ì´ì§€ 아니하였으나 최ì„ì˜ ë³‘ì˜ ì›ì¸ì„ 설명하는 것 같았다. -"ì—´ì´ ë‚˜ê³  ê¸°ì¹¨ì´ ë‚œë‹¤. ê°€ìŠ´ì´ ì•„í”„ë‹¤. ì´ê²ƒì´ íë ´ì´ ë˜ì–´ì„œ í˜¼ìž ê¹¨ë—하게 ì´ ìƒëª…ì„ ë§ˆì¹˜ê²Œ 하여 주소서 하고 빈다. 나는 오늘부터 먹고 마시기를 그치련다." -ì´ëŸ¬í•œ ë§ì„ ì¼ë‹¤. 그러고는, -"ì •ìž„, ì •ìž„, ì •ìž„, ì •ìž„." -하고 ì •ìž„ì˜ ì´ë¦„ì„ ìˆ˜ì—†ì´ ì“´ ê²ƒë„ ìžˆê³ , ì–´ë–¤ ë°ëŠ”, -"Overcome, Overcome." -하고 ì˜ì–´ë¡œ ì“´ ê²ƒë„ ìžˆì—ˆë‹¤. -그리고 마지막ì—, -"나는 죽ìŒê³¼ 대면하였다. 사í˜ì§¸ 굶고 ì•“ì€ ì˜¤ëŠ˜ì— ë‚˜ëŠ” 극히 맑고 침착한 정신으로 죽ìŒê³¼ 대면하였다. 죽ìŒì€ ê²€ì€ ì˜·ì„ ìž…ì—ˆìœ¼ë‚˜ ê·¸ 얼굴ì—는 ìžë¹„ì˜ í‘œì •ì´ ìžˆì—ˆë‹¤. 죽ìŒì€ 곧 ê²€ì€ ì˜·ì„ ìž…ì€ êµ¬ì›ì˜ ì†ì´ì—ˆë‹¤. 죽ìŒì€ 아름다운 그림ìžì˜€ë‹¤. 죽ìŒì€ 반가운 ì• ì¸ì´ìš”, ê²°ì½” 무서운 ì›ìˆ˜ê°€ 아니었다. 나는 죽ìŒì˜ ì†ì„ ìž¡ë…¸ë¼. ê°ì‚¬í•˜ëŠ” 마ìŒìœ¼ë¡œ 죽ìŒì˜ í’ˆì— ì•ˆê¸°ë…¸ë¼. 아멘." -ì´ê²ƒì„ ì“´ ë’¤ì—는 다시는 ì¼ê¸°ê°€ 없었다. ì´ê²ƒìœ¼ë¡œ 최ì„ì´ê°€ ê·¸ ë™ì•ˆ 지난 ì¼ì„ ì ì–´ë„ ì‹¬ë¦¬ì  ë³€í™”ë§Œì€ ëŒ€ê°• 추측할 수가 있었다. -다행히 최ì„ì˜ ë³‘ì€ ì ì  ëŒë¦¬ëŠ” 듯하였다. ì—´ë„ ë‚´ë¦¬ê³  ì‹ì€ë•€ë„ ëœ í˜ë ¸ë‹¤. 안 먹는다고 ê³ ì§‘í•˜ë˜ ìŒì‹ë„ 먹기를 시작하였다. -ì •ìž„ì—게로 ê°”ë˜ ë…¸íŒŒì—게서는 ì •ìž„ë„ ì—´ì´ ë‚´ë¦¬ê³  ì¼ì–´ë‚˜ ì•‰ì„ ë§Œí•˜ë‹¤ëŠ” 편지가 왔다. -나는 ë…¸íŒŒì˜ íŽ¸ì§€ë¥¼ 최ì„ì—게 ì½ì–´ 주었다. 최ì„ì€ ê·¸ 편지를 듣고 매우 í¥ë¶„하는 모양ì´ì—ˆìœ¼ë‚˜ 곧 안심하는 ë¹›ì„ ë³´ì˜€ë‹¤. -나는 최ì„ì˜ ë³‘ì´ ëŒë¦¬ëŠ” ê²ƒì„ ë³´ê³  ì •ìž„ì„ ì°¾ì•„ë³¼ 양으로 떠나려 하였으나 순임ì´ê°€ 듣지 아니하였다. 혼ìžì„œ 앓는 아버지를 맡아 가지고 ìžˆì„ ìˆ˜ëŠ” 없다는 것ì´ì—ˆë‹¤. 그래서 노파가 오기를 기다리기로 하였다. -나는 최ì„ì´ê°€ ë¨¹ì„ ìŒì‹ë„ ì‚´ 겸 우편국ì—ë„ ë“¤ë¥¼ 겸 시가까지 가기로 하고 ì´ ê³³ 온 지 ì¼ ì£¼ì¼ì´ë‚˜ 지나서 처ìŒìœ¼ë¡œ ì‚°ì—ì„œ 나왔다. -나는 ì´ë¥´ì¿ ì¸ í¬ì— 가서 최ì„ì„ ìœ„í•˜ì—¬ 약품과 ë¨¹ì„ ê²ƒì„ ì‚¬ê³  ë˜ ìˆœìž„ì„ ìœ„í•´ì„œë„ ë¨¹ì„ ê²ƒê³¼ ì˜ë³µê³¼ ë˜ í•˜ëª¨ë‹ˆì¹´ì™€ ì†í’ê¸ˆë„ ì‚¬ 가지고 ì •ê±°ìž¥ì— ë‚˜ì™€ì„œ ëŒì•„올 차를 기다리고 있었다. -나는 순후해 ë³´ì´ëŠ” ì•„ë¼ì‚¬ ì‚¬ëžŒë“¤ì´ ì •ê±°ìž¥ì—ì„œ 오ë½ê°€ë½í•˜ëŠ” ê²ƒì„ ë³´ê³  ì†ìœ¼ë¡œëŠ” 최ì„ì´ê°€ ë³‘ì´ ì¢€ ë‚˜ì€ ê²ƒì„ ë‹¤í–‰ìœ¼ë¡œ ìƒê°í•˜ê³ , ë˜ ìµœì„ê³¼ ì •ìž„ì˜ ìž¥ëž˜ê°€ ì–´ì°Œ ë ê¹Œ 하는 ê²ƒë„ ìƒê°í•˜ë©´ì„œ 뷔페(ì‹ë‹¹)ì—ì„œ 뜨거운 ì°¨ì´(ì°¨)를 마시고 있었다. -ì´ ë•Œì— ë°–ì„ ë°”ë¼ë³´ê³  ìžˆë˜ ë‚´ ëˆˆì€ ë¬¸ë“ ì´ìƒí•œ ê²ƒì„ ë³´ì•˜ë‹¤. ê·¸ê²ƒì€ ê·¸ 노파가 ì´ë¦¬ë¡œ 향하고 걸어오는 것ì¸ë° ê·¸ 노파와 íŒ”ì„ ê±¸ì€ ì Šì€ ì—¬ìžê°€ 있는 것ì´ë‹¤. 머리를 ê²€ì€ ìˆ˜ê±´ìœ¼ë¡œ 싸매고 ìž…ê³¼ 코를 가리웠으니 분명히 ì•Œ 수 없으나 í˜¹ì€ ì •ìž„ì´ë‚˜ 아닌가 í•  ìˆ˜ë°–ì— ì—†ì—ˆë‹¤. ì •ìž„ì´ê°€ 몸만 기ë™í•˜ê²Œ ë˜ë©´ 최ì„ì„ ë³´ëŸ¬ 올 ê²ƒì€ ì •ìž„ì˜ ì—´ì •ì ì¸ 성격으로 ë³´ì•„ì„œ 당연한 ì¼ì´ê¸° 때문ì´ì—ˆë‹¤. -나는 반쯤 ë¨¹ë˜ ì°¨ë¥¼ 놓고 뷔페 밖으로 뛰어나갔다. -"오 미시즈 체스터필드?" -하고 나는 노파 ì•žì— ì†ì„ 내어밀었다. 노파는 체스터필드ë¼ëŠ” 미국 ë‚¨íŽ¸ì˜ ì„±ì„ ë”°ë¼ì„œ 부르는 ê²ƒì„ ê¸°ì–µí•˜ì˜€ë‹¤. -"ì„ ìƒë‹˜!" -하는 ê²ƒì€ ì •ìž„ì´ì—ˆë‹¤. ê·¸ ì†Œë¦¬ë§Œì€ ë³€ì¹˜ 아니하였다. 나는 ê²€ì€ ìž¥ê°‘ì„ ë‚€ ì •ìž„ì˜ ì†ì„ 잡았다. 나는 여러 ë§ ì•„ë‹ˆí•˜ê³  노파와 ì •ìž„ì„ ë·”íŽ˜ë¡œ ëŒê³  들어왔다. -ëŠ™ì€ ë·”íŽ˜ ë³´ì´ëŠ” 번ì©ë²ˆì©í•˜ëŠ” 사모바르ì—ì„œ ì°¨ ë‘ ìž”ì„ ë”°ë¼ë‹¤ê°€ 노파와 ì •ìž„ì˜ ì•žì— ë†“ì•˜ë‹¤. -노파는 어린애ì—게 하는 모양으로 ì •ìž„ì˜ ìˆ˜ê±´ì„ ë²—ê²¨ 주었다. ê·¸ ì†ì—서는 해쓱하게 여윈 ì •ìž„ì˜ ì–¼êµ´ì´ ë‚˜ì™”ë‹¤. ë‘ ë³¼ì— ë¶ˆê·¸ë ˆí•˜ê²Œ í™í›ˆì´ ë„는 ê²ƒë„ ë³‘ 때문ì¸ê°€. -"ì–´ë•Œ? ì‹ ì—´ì€ ì—†ë‚˜?" -하고 나는 ì •ìž„ì—게 물었다. -"괜찮아요." -하고 ì •ìž„ì€ ì›ƒìœ¼ë©°, -"최 ì„ ìƒë‹˜ê»˜ì„œëŠ” 어떠세요?" -하고 묻는다. -"좀 나으신 모양ì´ì•¼. 그래서 나는 오늘 ì •ìž„ì„ ì¢€ 보러 가려고 í–ˆëŠ”ë° ì´ ì²´ìŠ¤í„°í•„ë“œ 부ì¸ê»˜ì„œ 아니 오시면 순임ì´ê°€ í˜¼ìž ìžˆì„ ìˆ˜ê°€ 없다고 í•´ì„œ, 그래 ì´ë ‡ê²Œ 최 ì„ ìƒ ìžì‹¤ ê²ƒì„ ì‚¬ 가지고 가는 길ì´ì•¼." -하고 ë§ì„ í•˜ë©´ì„œë„ ë‚˜ëŠ” ì •ìž„ì˜ ëˆˆê³¼ ìž…ê³¼ 목ì—ì„œ ê·¸ì˜ ë³‘ê³¼ 마ìŒì„ 알아보려고 애를 ì¼ë‹¤. -ì¤‘ë³‘ì„ ì•“ì€ ê¹ í•´ì„œëŠ” í•œ 달 ì „ 남대문서 ë³¼ 때보다 얼마 ë” ì´ˆì·Œí•œ 것 같지는 아니하였다. -"네ì—." -하고 ì •ìž„ì€ ê³ ê°œë¥¼ 숙였다. ê·¸ì˜ ì•ˆê²½ì•Œì—는 ì´ìŠ¬ì´ 맺혔다. -"ì„ ìƒë‹˜ ëŒì€ 다 안녕하셔요?" -"ì‘, ë‚´ê°€ ë– ë‚  ë•Œì—는 괜찮았어." -"최 ì„ ìƒë‹˜ ëŒë„?" -"ì‘." -"ì„ ìƒë‹˜ í½ì€ 애를 쓰셨어요." -하고 ì •ìž„ì€ ìš¸ìŒì¸ì§€ 웃ìŒì¸ì§€ 모를 웃ìŒì„ 웃는다. -ë§ì„ 모르는 노파는 우리가 하는 ë§ì„ 눈치나 채려는 ë“¯ì´ ë©€ê±°ë‹ˆ ë³´ê³  있다가 서투른 ì˜ì–´ë¡œ, -"ì•„ì§ ë¯¸ìŠ¤ ë‚¨ì€ ì‹ ì—´ì´ ìžˆë‹µë‹ˆë‹¤. ê·¸ëž˜ë„ ê°€ 본다고, ì£½ì–´ë„ ê°€ 본다고 ë‚´ ë§ì„ 안 듣고 ë”°ë¼ì™”지요." -하고 ì •ìž„ì—게 ì• ì • 있는 눈í˜ê¹€ì„ 주며, -"유 노티 ì°¨ì¼ë“œ(ë§ì½ê¾¼ì´)." -하고 ìž…ì„ ì”°ë£©í•˜ë©° ì •ìž„ì„ ì•ˆê²½ 위로 본다. -"니체워, 마뚜슈까(괜찮아요, 어머니)." -하고 ì •ìž„ì€ ë…¸íŒŒë¥¼ ë³´ê³  웃었다. ì •ìž„ì˜ ì„œì–‘ 사람ì—게 대한 í–‰ë™ì€ 서양ì‹ìœ¼ë¡œ 째었다고 ìƒê°í•˜ì˜€ë‹¤. -ì •ìž„ì€ ë„리어 유쾌한 ë¹›ì„ ë³´ì˜€ë‹¤. 다만 ê·¸ì˜ ë¶‰ì€ë¹› ë¤ ëˆˆê³¼ 마른 ìž…ìˆ ì´ ê·¸ì˜ ëª¸ì— ì—´ì´ ìžˆìŒì„ 보였다. 나는 ê·¸ì˜ ì†ëê³¼ ë°œëì´ ì‹¸ëŠ˜í•˜ê²Œ ì–¼ì—ˆì„ ê²ƒì„ ìƒìƒí•˜ì˜€ë‹¤. -마침 ì´ ë‚ ì€ ë‚ ì´ ì˜¨í™”í•˜ì˜€ë‹¤. ì—·ì€ í–‡ë¹›ë„ ì˜¤ëŠ˜ì€ ë‘꺼워진 듯하였다. -우리 세 ì‚¬ëžŒì€ Fì—­ì—ì„œ 내려서 ì°ë§¤ 하나를 얻어 타고 산으로 향하였다. ì‚°ë„ ì•„ë‹ˆì§€ë§ˆëŠ” ì‚° 있는 나ë¼ì—ì„œ ì‚´ë˜ ìš°ë¦¬ëŠ” 최ì„ì´ê°€ 사는 ê³³ì„ ì‚°ì´ë¼ê³  부르는 ìŠµê´€ì„ ì§€ì—ˆë‹¤. ì‚¼ë¦¼ì´ ìžˆìœ¼ë‹ˆ ì‚°ê°™ì´ ìƒê°ëœ 까닭ì´ì—ˆë‹¤. -노파가 오른편 ëì— ì•‰ê³ , 가운ë°ë‹¤ê°€ ì •ìž„ì„ ì•‰ížˆê³  왼편 ëì— ë‚´ê°€ 앉았다. -ì©Ÿì©Ÿì©Ÿ 하는 ì†Œë¦¬ì— ë§ì€ 달리기 시작하였다. í•œ í•„ì€ í‚¤ í° ë§ì´ìš”, í•œ í•„ì€ í‚¤ê°€ ìž‘ì€ ë§ì¸ë° 키 í° ë§ì€ 아마 ëŠ™ì€ êµ°ë§ˆ 퇴물ì¸ê°€ 싶게 허우대는 좋으나 ëª¸ì´ ì—¬ìœ„ê³  털ì—는 ìœ¤ì´ ì—†ì—ˆë‹¤. 조금만 올ë¼ê°€ëŠ” ê¸¸ì´ ë˜ì–´ë„ 고개를 숙ì´ê³  애를 ì¼ë‹¤. ìž‘ì€ ë§ì€ 까불어서 ê°€ë” ì±„ì°ìœ¼ë¡œ 얻어맞았다. -"ì•„ì´ ì‚¼ë¦¼ì´ ì¢‹ì•„ìš”." -하고 ì •ìž„ì€ ì •ë§ ê¸°ìœ ë“¯ì´ ë‚˜ë¥¼ ëŒì•„보았다. -"좋아?" -하고 나는 ë©‹ì—†ì´ ëŒ€ê¾¸í•˜ê³  나서, 후회ë˜ëŠ” 듯ì´, -"밤낮 삼림 ì†ì—서만 사니까 지루한ë°." -하는 ë§ì„ 붙였다. -"저는 ì € 눈 있는 삼림 ì†ìœ¼ë¡œ 한정 ì—†ì´ ê°€ê³  싶어요. 그러나 저는 ì¸ì œ ê¸°ìš´ì´ ì—†ìœ¼ë‹ˆê¹ ì›¬ê±¸ 그래 ë³´ê² ì–´ìš”?" -하고 í•œìˆ¨ì„ ì‰¬ì—ˆë‹¤. -"왜 그런 소릴 í•´. ì¸ì œ 나ì„걸." -하고 나는 ì •ìž„ì˜ ëˆˆì„ ë“¤ì—¬ë‹¤ë³´ì•˜ë‹¤. 마치 슬픈 눈물 방울ì´ë‚˜ 찾으려는 듯ì´. -"제가 ì§€ê¸ˆë„ ì—´ì´ ì‚¼ì‹­íŒ” ë„ê°€ 넘습니다. ì •ì‹ ì´ í릿해지는 ê²ƒì„ ë³´ë‹ˆê¹Œ 아마 ë” ì˜¬ë¼ê°€ë‚˜ ë´ìš”. ê·¸ëž˜ë„ ê´œì°®ì•„ìš”. 오늘 하루야 못 ì‚´ë¼ê³ ìš”. 오늘 하루만 ì‚´ë©´ 괜찮아요. 최 ì„ ìƒë‹˜ë§Œ í•œ 번 뵙고 죽으면 괜찮아요." -"왜 그런 소릴 í•´?" -하고 나는 ì±…ë§í•˜ëŠ” ë“¯ì´ ì–¸ì„±ì„ ë†’ì˜€ë‹¤. -ì •ìž„ì€ ê¸°ì¹¨ì„ ì‹œìž‘í•˜ì˜€ë‹¤. 한바탕 ê¸°ì¹¨ì„ í•˜ê³ ëŠ” ê¸°ìš´ì´ ì§„í•œ ë“¯ì´ ë…¸íŒŒì—게 기대며 ì¡°ì„ ë§ë¡œ, -"추워요." -하였다. ì´ ì—¬í–‰ì´ ì–´ë–»ê²Œ ì •ìž„ì˜ ë³‘ì— ì¢‹ì§€ 못할 ê²ƒì€ ì˜ì‚¬ê°€ ì•„ë‹Œ ë‚˜ë¡œë„ ì§ìž‘í•  수가 있었다. 그러나 나로는 ë” ì–´ì°Œí•  수가 없었다. -나는 외투를 ë²—ì–´ì„œ ì •ìž„ì—게 입혀 주고 노파는 ì •ìž„ì„ ì•ˆì•„ì„œ ëª¸ì´ ëœ í”들리ë„ë¡ ë˜ ì¶¥ì§€ ì•Šë„ë¡ í•˜ì˜€ë‹¤. -나는 ì •ìž„ì˜ ëª¨ì–‘ì„ ì• ì²˜ë¡œì›Œì„œ 차마 ë³¼ 수가 없었다. 그러나 ì´ê²ƒì€ 하나님밖ì—는 어찌할 ë„리가 없는 ì¼ì´ì—ˆë‹¤. -얼마를 지나서 ì •ìž„ì€ ê°‘ìžê¸° 고개를 들고 ì¼ì–´ë‚˜ë©°, -"ì¸ì œ ëª¸ì´ ì¢€ 녹았습니다. ì„ ìƒë‹˜ 추우시겠어요. ì´ ì™¸íˆ¬ 입으셔요." -하고 ê·¸ì˜ ìž…ë§Œ 웃는 웃ìŒì„ 웃었다. -"ë‚œ 춥지 ì•Šì•„. ì–´ì„œ ìž…ê³  있어." -하고 나는 ì •ìž„ì´ê°€ 외투를 벗는 ê²ƒì„ ë§‰ì•˜ë‹¤. ì •ìž„ì€ ë” ê³ ì§‘í•˜ë ¤ê³ ë„ ì•„ë‹ˆí•˜ê³ , -"ì„ ìƒë‹˜ ì‹œë² ë¦¬ì•„ì˜ ì‚¼ë¦¼ì€ ì°¸ 좋아요. 눈 ë®ì¸ ê²ƒì´ ë” ì¢‹ì€ ê²ƒ 같아요. 저는 ì´ ì¸ì  없고 ìžìœ ë¡œìš´ 삼림 ì†ìœ¼ë¡œ 헤매어 ë³´ê³  싶어요." -하고 아까 í•˜ë˜ ê²ƒê³¼ ê°™ì€ ë§ì„ ë˜ í•˜ì˜€ë‹¤. -"ë©°ì¹  잘 정양하여서, ë‚ ì´ë‚˜ 따뜻하거든 í•œ 번 산보나 í•´ 보지." -하고 나는 ì •ìž„ì˜ ë§ ëœ»ì´ ë‹¤ë¥¸ ë° ìžˆëŠ” ì¤„ì„ ì•Œë©´ì„œë„ ë¶€ëŸ¬ í‰ë²”하게 대답하였다. -ì •ìž„ì€ ëŒ€ë‹µì´ ì—†ì—ˆë‹¤. -"ì—¬ê¸°ì„œë„ ì•„ì§ ë©€ì–´ìš”?" -하고 ì •ìž„ì€ ëª¸ì´ í”들리는 ê²ƒì„ ì‹¬ížˆ 괴로워하는 모양으로 ë‘ ì†ì„ ìžë¦¬ì— 짚어 ëª¸ì„ ë²„í‹°ë©´ì„œ ë§í•˜ì˜€ë‹¤. -"고대야, 최 ì„ ìƒì´ 반가워할 í„°ì´ì§€. 오죽ì´ë‚˜ 반갑겠나." -하고 나는 ì •ìž„ì„ ìœ„ë¡œí•˜ëŠ” 뜻으로 ë§í•˜ì˜€ë‹¤. -"ì•„ì´ ì°¸ 미안해요. 제가 죄ì¸ì´ì•¼ìš”. ì € ë•Œë¬¸ì— ì• ë§¤í•œ ëˆ„ëª…ì„ ì“°ì‹œê³  저렇게 ì‚¬ì—…ë„ ë²„ë¦¬ì‹œê³  병환까지 나시니 저는 어떡허면 ì´ ì£„ë¥¼ 씻습니까?" -하고 눈물 ê³ ì¸ ëˆˆìœ¼ë¡œ ì •ìž„ì€ ë‚˜ë¥¼ ì³ë‹¤ë³´ì•˜ë‹¤. -나는 ì •ìž„ê³¼ 최ì„ì„ ì´ ìžìœ ë¡œìš´ ì‹œë² ë¦¬ì•„ì˜ ì‚¼ë¦¼ ì†ì— ë‹¨ë‘˜ì´ ì‚´ê²Œ 하고 싶었다. 그러나 최ì„ì€ ì‚´ì•„ë‚˜ê°€ê² ì§€ë§ˆëŠ” ì •ìž„ì´ê°€ ì‚´ì•„ë‚  수가 있ì„까, 하고 나는 ì •ìž„ì˜ ì–´ê¹¨ë¥¼ ë°”ë¼ë³´ì•˜ë‹¤. ê·¸ì˜ ëª©ìˆ¨ì€ ì‹¤ë‚± ê°™ì€ ê²ƒ 같았다. 바람받ì´ì— ë†“ì¸ ë“±ìž”ë¶ˆê³¼ë§Œ ê°™ì€ ê²ƒ 같았다. ì´ ëª©ìˆ¨ì´ ëŠì–´ì§€ê¸° ì „ì— ì‚¬ëž‘í•˜ëŠ” ì´ì˜ ì–¼êµ´ì„ í•œ 번 대하겠다는 ê²ƒë°–ì— ì•„ë¬´ 소ì›ì´ 없는 ì •ìž„ì€ ì°¸ìœ¼ë¡œ 가엾어서 ê°€ìŠ´ì´ ë¯¸ì–´ì§€ëŠ” 것 같았다. -"염려 ë§ì–´. 무슨 걱정ì´ì•¼? 최 ì„ ìƒë„ ë³‘ì´ ëŒë¦¬ê³  ì •ìž„ë„ ì¸ì œ 얼마 정양하면 ë‚˜ì„ ê²ƒ 아닌가. 아무 염려 ë§ì•„ìš”." -하고 나는 ë”ìš± 최ì„ê³¼ ì •ìž„ê³¼ ë‘ ì‚¬ëžŒì˜ ì‚¬ëž‘ì„ ë‹¬í•˜ê²Œ í•  ê²°ì‹¬ì„ í•˜ì˜€ë‹¤. 하나님께서 계시다면 ì´ ê°€ì—¾ì€ ê°„ì ˆí•œ ë‘ ì‚¬ëžŒì˜ ë§ˆìŒì„ 가슴 미어지게 아니 ìƒê°í•  리가 없다고 ìƒê°í•˜ì˜€ë‹¤. ìš°ì£¼ì˜ ëª¨ë“  ì¼ ì¤‘ì— ì •ìž„ì˜ ì •ê²½ë³´ë‹¤ ë” ìŠ¬í”„ê³  불ìŒí•œ ì •ê²½ì´ ë˜ ìžˆì„까 하였다. 차디찬 눈으로 ë®ì¸ ì‹œë² ë¦¬ì•„ì˜ ê´‘ì•¼ì— ë³‘ë“  ì •ìž„ì˜ ì‚¬ëž‘ìœ¼ë¡œ 타는 불똥과 ê°™ì´ ë‚ ì•„ê°€ëŠ” ì´ ì •ê²½ì€ ì¸ìƒì´ 가질 수 있는 최대한 ë¹„ê·¹ì¸ ê²ƒ 같았다. -ì •ìž„ì€ ì§€ì³ì„œ 고개를 숙ì´ê³  ìžˆë‹¤ê°€ë„ ê°€ë” ê³ ê°œë¥¼ 들어서는 기운 나는 ì–‘ì„ ë³´ì´ë ¤ê³ , 유쾌한 ì–‘ì„ ë³´ì´ë ¤ê³  애를 ì¼ë‹¤. -"ì € 나무 보셔요. 오백 ë…„ì€ ì‚´ì•˜ê² ì§€ìš”?" -ì´ëŸ° ë§ë„ 하였다. 그러나 ê·¸ê²ƒì€ ë‹¤ 억지로 지어서 하는 것ì´ì—ˆë‹¤. 그러다가는 ë˜ ê¸°ìš´ì´ ì§€ì³ì„œëŠ” 고개를 숙ì´ê³ , í˜¹ì€ ë…¸íŒŒì˜ ì–´ê¹¨ì— í˜¹ì€ ë‚´ ì–´ê¹¨ì— ì“°ëŸ¬ì¡Œë‹¤. -마침내 우리가 향하고 가는 ì›€ì§‘ì´ ë³´ì˜€ë‹¤. -"ì •ìž„ì´, 저기야." -하고 나는 ì›€ì§‘ì„ ê°€ë¦¬ì¼°ë‹¤. -"네ì—?" -하고 ì •ìž„ì€ ë‚´ ì†ê°€ë½ 가는 ê³³ì„ ë³´ê³  다ìŒì—는 ë‚´ ì–¼êµ´ì„ ë³´ì•˜ë‹¤. 잘 ë³´ì´ì§€ 않는 모양ì´ë‹¤. -"저기 저것 ë§ì•¼. 저기 ì € ê³ ìž‘ í° ì „ë‚˜ë¬´ ë‘ ê°œê°€ 있지 ì•Šì•„? ê·¸ 사ì´ë¡œ ë³´ì´ëŠ” ì €, 저거 ë§ì•¼. 옳지 옳지, ìˆœìž„ì´ ì§€ê¸ˆ 나오지 ì•Šì•„?" -하였다. -순임ì´ê°€ ë¬´ì—‡ì„ ê°€ì§€ëŸ¬ 나오는지 ë¬¸ì„ ì—´ê³  나와서는 ë°¥ 짓ëŠë¼ê³  지어 ë†“ì€ ì´ë¥¼í…Œë©´ 부엌ì—를 들어갔다가 나오는 ê¸¸ì— ì´ ìª½ì„ ë°”ë¼ë³´ë‹¤ê°€ 우리를 발견하였는지 몇 ê±¸ìŒ ë¹¨ë¦¬ 오다가는 서서 ë³´ê³  오다가는 서서 ë³´ë”니 ë‚´ê°€ 모ìžë¥¼ ë‚´ë‘르는 ê²ƒì„ ë³´ê³ ì•¼ 우리 ì¼í–‰ì¸ ê²ƒì„ í™•ì‹¤ížˆ 알고 달ìŒë°•ì§ˆì„ ì³ì„œ 나온다. -우리 ì°ë§¤ë¥¼ 만나ìž, -"ì •ìž„ì´ì•¼? 어쩌면 ì´ ì¶”ìš´ë°." -하고 ìˆœìž„ì€ ì •ìž„ì„ ì•ˆê³  ê·¸ 안경으로 ì •ìž„ì˜ ëˆˆì„ ë“¤ì—¬ë‹¤ë³¸ë‹¤. -"어쩌면 앓으면서 ì´ë ‡ê²Œ 와?" -하고 ìˆœìž„ì€ ë…¸íŒŒì™€ 나를 ì±…ë§í•˜ëŠ” ë“¯ì´ ëŒì•„보았다. -"아버지 ì–´ë– ì‹œëƒ?" -하고 나는 ì§ì„ 들고 앞서서 오면서 뒤따르는 순임ì—게 물었다. -"아버지요?" -하고 ìˆœìž„ì€ ì–´ë¥¸ì—게 대한 ê²½ì˜ë¥¼ 표하노ë¼ê³  ë‚´ ê³ì— 와서 걸으며, -"아버지께서 ì˜¤ëŠ˜ì€ ë§ì”€ì„ ë§Žì´ í•˜ì…¨ì–´ìš”. 순임ì´ê°€ ê³ ìƒí•˜ëŠ”구나 고맙다, ì´ëŸ° ë§ì”€ë„ 하시고, 지금 같아서는 ì¼ì–´ë‚  ê²ƒë„ ê°™ì€ë° ê¸°ìš´ì´ ì—†ì–´ì„œ, ì´ëŸ° ë§ì”€ë„ 하시고, ë˜ ì„ ìƒë‹˜ì´ ì´ë¥´ì¿ ì¸ í¬ì—를 들어가셨으니 ë¬´ì—‡ì„ ì‚¬ 오실 듯싶으ëƒ, 알아맞혀 ë³´ì•„ë¼, ì´ëŸ° ë†ë‹´ë„ 하시고, ì •ìž„ì´ê°€ 어떤가 í•œ 번 보았으면, ì´ëŸ° ë§ì”€ë„ 하시겠지요. ë˜ ìˆœìž„ì•„, ë‚´ê°€ 죽ë”ë¼ë„ ì •ìž„ì„ ë„¤ 친ë™ìƒìœ¼ë¡œ 알아서 부디 잘 사랑해 주어ë¼, ì •ìž„ì€ ë¶ˆìŒí•œ 애다, ì°¸ ì •ìž„ì€ ë¶ˆìŒí•´! ì´ëŸ° ë§ì”€ë„ 하시겠지요. 그렇게 여러 가지 ë§ì”€ì„ ë§Žì´ í•˜ì‹œë”니, 순임아 ë‚´ê°€ 죽거든 ì„ ìƒë‹˜ì„ 아버지로 알고 ê·¸ 지ë„를 받아ë¼, 그러시길래 제가 아버지 안 ëŒì•„가셔요! 그랬ë”니 아버지께서 웃으시면서, 죽지 ë§ê¹Œ, 하시고는 어째 ê°€ìŠ´ì´ ì¢€ ê±°ë¶í•œê°€, 하시ë”니 ìž ì´ ë“œì…¨ì–´ìš”. í•œ 시간ì´ë‚˜ ë˜ì—ˆì„까, 온." -집 ì•žì— ê±°ì˜ ë‹¤ 가서는 ìˆœìž„ì€ ì •ìž„ì˜ íŒ”ì„ ê¼ˆë˜ ê²ƒì„ ë†“ê³  빨리 집으로 뛰어들어갔다. -치마í­ì„ 펄럭거리고 뛰는 ì–‘ì—는 ì–´ë ¸ì„ ì  ë§ê´„ëŸ‰ì´ ìˆœìž„ì˜ ëª¨ìŠµì´ ë‚¨ì•„ 있어서 나는 í˜¼ìž ì›ƒì—ˆë‹¤. ìˆœìž„ì€ ì •ìž„ì´ê°€ 왔다는 ê¸°ìœ ì†Œì‹ì„ í•œ ì‹œê°ì´ë¼ë„ 빨리 아버지께 전하고 ì‹¶ì—ˆë˜ ê²ƒì´ë‹¤. -"아버지, 주무시우? ì •ìž„ì´ê°€ 왔어요. ì •ìž„ì´ê°€ 왔습니다." -하고 부르는 소리가 ë°–ì—ì„œë„ ë“¤ë ¸ë‹¤. -ë‚˜ë„ ë°©ì— ë“¤ì–´ì„œê³ , ì •ìž„ë„ ë’¤ë”°ë¼ ë“¤ì–´ì„œê³ , 노파는 부엌으로 ë¬¼ê±´ì„ ë‘러 들어갔다. -ë°©ì€ ì ˆë²½ê°™ì´ ì–´ë‘웠다. -"순임아, ë¶ˆì„ ì¢€ 켜려무나." -하고 최ì„ì˜ ì–¼êµ´ì„ ì°¾ëŠë¼ê³  ëˆˆì„ í¬ê²Œ 뜨고 고개를 숙ì´ë©°, -"ìžë‚˜? ì •ìž„ì´ê°€ 왔네." -하고 불렀다. -ì •ìž„ë„ ê³ì— 와서 선다. -최ì„ì€ ëŒ€ë‹µì´ ì—†ì—ˆë‹¤. -순임ì´ê°€ ì´›ë¶ˆì„ ì¼œìž ìµœì„ì˜ ì–¼êµ´ì´ í™˜í•˜ê²Œ 보였다. -"여보게, ì—¬ë´. ìžë‚˜?" -하고 나는 무서운 예ê°ì„ 가지면서 최ì„ì˜ ì–´ê¹¨ë¥¼ í”들었다. -ê·¸ê²ƒì´ ë¬´ì—‡ì¸ì§€ 모르지마는 최ì„ì€ ì‹œì²´ë¼ í•˜ëŠ” ê²ƒì„ ë‚˜ëŠ” ë‚´ ì†ì„ 통해서 깨달았다. -나는 ê¹œì§ ë†€ë¼ì„œ ì´ë¶ˆì„ 벗기고 최ì„ì˜ íŒ”ì„ ìž¡ì•„ ë§¥ì„ ì§šì–´ 보았다. 거기는 ë§¥ì´ ì—†ì—ˆë‹¤. -나는 최ì„ì˜ ìžë¦¬ì˜· ê°€ìŠ´ì„ í—¤ì¹˜ê³  귀를 ê°€ìŠ´ì— ëŒ€ì—ˆë‹¤. ê·¸ ì‚´ì€ ì–¼ìŒê³¼ ê°™ì´ ì°¨ê³  ê·¸ ê°€ìŠ´ì€ ê³ ìš”í•˜ì˜€ë‹¤. ì‹¬ìž¥ì€ ë›°ê¸°ë¥¼ 그친 것ì´ì—ˆë‹¤. -나는 최ì„ì˜ ê°€ìŠ´ì—ì„œ 귀를 떼고 ì¼ì–´ì„œë©´ì„œ, -"네 아버지는 ëŒì•„가셨다. 네 ì†ìœ¼ë¡œ 눈ì´ë‚˜ ê°ê²¨ 드려ë¼." -하였다. ë‚´ 눈ì—서는 ëˆˆë¬¼ì´ í˜ë €ë‹¤. -"ì„ ìƒë‹˜!" -하고 ì •ìž„ì€ ì „ì—°ížˆ 절제할 íž˜ì„ ìžƒì–´ë²„ë¦° ë“¯ì´ ìµœì„ì˜ ê°€ìŠ´ì— ì—Žì–´ì¡Œë‹¤. 그러고는 소리를 ë‚´ì–´ 울었다. 순임ì€, -"아버지, 아버지!" -하고 최ì„ì˜ ë² ê°œ ê³ì— ì´ë§ˆë¥¼ 대고 울었다. -ì•„ë¼ì‚¬ ë…¸íŒŒë„ ìš¸ì—ˆë‹¤. -ë°© 안ì—는 ì˜¤ì§ ìš¸ìŒ ì†Œë¦¬ë¿ì´ìš”, ë§ì´ 없었다. 최ì„ì€ ë²Œì¨ ì´ ìŠ¬í”ˆ ê´‘ê²½ë„ ëª°ë¼ë³´ëŠ” 사람ì´ì—ˆë‹¤. -최ì„ì´ê°€ ìžê¸°ì˜ ì‹¸ì›€ì„ ì´ê¸°ê³  죽었는지, ë˜ëŠ” ë까지 지다가 죽었는지 ê·¸ê²ƒì€ ì˜ì›í•œ 비밀ì´ì–´ì„œ ì•Œ ë„리가 없었다. 그러나 ì´ê²ƒë§Œì€ 확실하다 ê·¸ì˜ ì˜ì‹ì´ 마지막으로 ë나는 ìˆœê°„ì— ê·¸ì˜ ì˜ì‹ê¸°ì— ë– ì˜¤ë¥´ë˜ ì˜¤ì§ í•˜ë‚˜ê°€ ì •ìž„ì´ì—ˆìœ¼ë¦¬ë¼ëŠ” 것만ì€. -지금 ì •ìž„ì´ê°€ ê·¸ì˜ ê°€ìŠ´ì— ì—Žì–´ì ¸ 울지마는, ì •ìž„ì˜ ëœ¨ê±°ìš´ ëˆˆë¬¼ì´ ê·¸ì˜ ê°€ìŠ´ì„ ì ì‹œê±´ë§ˆëŠ” 최ì„ì˜ ê°€ìŠ´ì€ ë›¸ ì¤„ì„ ëª¨ë¥¸ë‹¤. ì´ê²ƒì´ 죽ìŒì´ëž€ 것ì´ë‹¤. -ë’¤ì— ê²½ì°°ì˜ê°€ 와서 검사한 ê²°ê³¼ì— ì˜í•˜ë©´, 최ì„ì€ í렴으로 ì•“ë˜ ê²°ê³¼ë¡œ 심장마비를 ì¼ìœ¼í‚¨ 것ì´ë¼ê³  하였다. -나는 최ì„ì˜ ìž¥ë¡€ë¥¼ ëë‚´ê³  순임과 ì •ìž„ì„ ë°ë¦¬ê³  오려 하였으나 ì •ìž„ì€ ë“£ì§€ 아니하고 노파와 ê°™ì´ ë°”ì´ì¹¼ 촌으로 ê°€ 버렸다. -그런 뒤로는 ì •ìž„ì—게서는 ì¼ì²´ ìŒì‹ ì´ 없다. 때때로 노파ì—게서 편지가 ì˜¤ëŠ”ë° ì •ìž„ì€ ìµœì„ì´ê°€ ìžˆë˜ ë°©ì— ê°€ë§Œížˆ 있다고만 하였다. -서투른 ì˜ì–´ê°€ ëœ»ì„ ì¶©ë¶„ížˆ 발표하지 못하는 것ì´ì—ˆë‹¤. -나는 ì •ìž„ì—게 안심하고 ë³‘ì„ ì¹˜ë£Œí•˜ë¼ëŠ” íŽ¸ì§€ë„ í•˜ê³  ëˆì´ 필요하거든 청구하ë¼ëŠ” íŽ¸ì§€ë„ í•˜ë‚˜ ì˜ ë‹µìž¥ì´ ì—†ë‹¤. -ë§Œì¼ ì •ìž„ì´ê°€ 죽었다는 ê¸°ë³„ì´ ì˜¤ë©´ 나는 í•œ 번 ë” ì‹œë² ë¦¬ì•„ì— ê°€ì„œ ë‘˜ì„ ê°€ì§€ëŸ°ížˆ 묻고 `ë‘ ë³„ 무ë¤'ì´ë¼ëŠ” 비를 세워 줄 ìƒê°ì´ë‹¤. 그러나 나는 ì •ìž„ì´ê°€ 조선으로 오기를 바란다. -ì—¬ëŸ¬ë¶„ì€ ìµœì„ê³¼ ì •ìž„ì—게 대한 ì´ ê¸°ë¡ì„ 믿고 ê·¸ ë‘ ì‚¬ëžŒì—게 대한 오해를 í’€ë¼. -EOT; -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/lt_LT/Address.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/lt_LT/Address.php deleted file mode 100644 index 5f44640..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/lt_LT/Address.php +++ /dev/null @@ -1,131 +0,0 @@ -generator->parse($format); - } - - public static function country() - { - return static::randomElement(static::$country); - } - - public static function postcode() - { - return static::toUpper(static::bothify(static::randomElement(static::$postcode))); - } - - public static function regionSuffix() - { - return static::randomElement(static::$regionSuffix); - } - - public static function region() - { - return static::randomElement(static::$region); - } - - public static function citySuffix() - { - return static::randomElement(static::$citySuffix); - } - - public function city() - { - return static::randomElement(static::$city); - } - - public static function streetSuffix() - { - return static::randomElement(static::$streetSuffix); - } - - public static function street() - { - return static::randomElement(static::$street); - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/lt_LT/Company.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/lt_LT/Company.php deleted file mode 100644 index 4a110c2..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/lt_LT/Company.php +++ /dev/null @@ -1,15 +0,0 @@ -generator->parse(static::randomElement(static::$lastNameFormat)); - } - - /** - * Return male last name - * @return string - * @example 'Vasiliauskas' - */ - public function lastNameMale() - { - return static::randomElement(static::$lastNameMale); - } - - /** - * Return female last name - * @return string - * @example 'ŽukauskaitÄ—' - */ - public function lastNameFemale() - { - return static::randomElement(static::$lastNameFemale); - } - - /** - * Return driver license number - * @return string - * @example 12345678 - */ - public function driverLicence() - { - return $this->bothify("########"); - } - - /** - * Return passport number - * @return string - * @example 12345678 - */ - public function passportNumber() - { - return $this->bothify("########"); - } - - /** - * National Personal Identity number (asmens kodas) - * @link https://en.wikipedia.org/wiki/National_identification_number#Lithuania - * @link https://lt.wikipedia.org/wiki/Asmens_kodas - * @param string [male|female] - * @param \DateTime $birthdate - * @param string $randomNumber three integers - * @return string on format XXXXXXXXXXX - */ - public function personalIdentityNumber($gender = 'male', \DateTime $birthdate = null, $randomNumber = '') - { - if (!$birthdate) { - $birthdate = \Faker\Provider\DateTime::dateTimeThisCentury(); - } - - $genderNumber = ($gender == 'male') ? 1 : 0; - $firstNumber = (int) floor($birthdate->format('Y') / 100) * 2 - 34 - $genderNumber; - - $datePart = $birthdate->format('ymd'); - $randomDigits = (string) ( ! $randomNumber || strlen($randomNumber) < 3) ? static::numerify('###') : substr($randomNumber, 0, 3); - $partOfPerosnalCode = $firstNumber . $datePart . $randomDigits; - - $sum = self::calculateSum($partOfPerosnalCode, 1); - $liekana = $sum % 11; - - if ($liekana !== 10) { - $lastNumber = $liekana; - return $firstNumber . $datePart . $randomDigits . $lastNumber; - } - - $sum = self::calculateSum($partOfPerosnalCode, 2); - $liekana = $sum % 11; - - $lastNumber = ($liekana !== 10) ? $liekana : 0; - return $firstNumber . $datePart . $randomDigits . $lastNumber; - } - - /** - * Calculate the sum of personal code - * @link https://en.wikipedia.org/wiki/National_identification_number#Lithuania - * @link https://lt.wikipedia.org/wiki/Asmens_kodas - * @param string $numbers - * @param int $time [1|2] - * @return int - */ - private static function calculateSum($numbers, $time = 1) - { - if ($time == 1) { - $multipliers = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 1 ); - } else { - $multipliers = array(3, 4, 5, 6, 7, 8, 9, 1, 2, 3 ); - } - - $sum = 0; - for ($i=1; $i <= 10; $i++) { - $sum += $numbers[$i-1] * $multipliers[$i-1]; - } - - return (int) $sum; - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/lt_LT/PhoneNumber.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/lt_LT/PhoneNumber.php deleted file mode 100644 index 752eb78..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/lt_LT/PhoneNumber.php +++ /dev/null @@ -1,17 +0,0 @@ -generator->parse($format); - } - - public static function country() - { - return static::randomElement(static::$country); - } - - public static function postcode() - { - return static::toUpper(static::bothify(static::randomElement(static::$postcode))); - } - - public static function regionSuffix() - { - return static::randomElement(static::$regionSuffix); - } - - public static function region() - { - return static::randomElement(static::$region); - } - - public static function cityPrefix() - { - return static::randomElement(static::$cityPrefix); - } - - public function city() - { - return static::randomElement(static::$city); - } - - public static function streetPrefix() - { - return static::randomElement(static::$streetPrefix); - } - - public static function street() - { - return static::randomElement(static::$street); - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/lv_LV/Color.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/lv_LV/Color.php deleted file mode 100644 index 99e681b..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/lv_LV/Color.php +++ /dev/null @@ -1,19 +0,0 @@ -format('dmy'); - $randomDigits = (string) static::numerify('####'); - - $checksum = Luhn::computeCheckDigit($datePart . $randomDigits); - - return $datePart . '-' . $randomDigits . $checksum; - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/lv_LV/PhoneNumber.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/lv_LV/PhoneNumber.php deleted file mode 100644 index 29c19f6..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/lv_LV/PhoneNumber.php +++ /dev/null @@ -1,15 +0,0 @@ - static::latitude(42.43, 42.45), - 'longitude' => static::longitude(19.16, 19.27) - ); - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/me_ME/Company.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/me_ME/Company.php deleted file mode 100644 index 1f80312..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/me_ME/Company.php +++ /dev/null @@ -1,49 +0,0 @@ -generator->parse(static::$idNumberFormat)); - } - - /** - * @return string - * @example 'Ф' - */ - public function alphabet() - { - return static::randomElement(static::$alphabet); - } - - /** - * @return string - * @example 'Э' - */ - public function namePrefix() - { - return static::randomElement(static::$namePrefix); - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/mn_MN/PhoneNumber.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/mn_MN/PhoneNumber.php deleted file mode 100644 index dd0bb4a..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/mn_MN/PhoneNumber.php +++ /dev/null @@ -1,13 +0,0 @@ - Townships - * @link https://en.wikipedia.org/wiki/Template:Johor > Townships - * @link https://en.wikipedia.org/wiki/Template:Kedah > Townships - * @link https://en.wikipedia.org/wiki/Template:Kelantan > Townships - * @link https://en.wikipedia.org/wiki/Template:Melaka > Townships - * @link https://en.wikipedia.org/wiki/Template:Negeri_Sembilan > Townships - * @link https://en.wikipedia.org/wiki/Template:Perak > Townships - * @link https://en.wikipedia.org/wiki/Template:Penang > Townships - * @link https://en.wikipedia.org/wiki/Template:Selangor > Townships - * @link https://en.wikipedia.org/wiki/Template:Terengganu > Townships - */ - protected static $townshipPrefix = array( - 'Alam','Apartment','Ara', - 'Bandar','Bandar','Bandar','Bandar','Bandar','Bandar', - 'Bandar Bukit','Bandar Seri','Bandar Sri','Bandar Baru','Batu','Bukit', - 'Desa','Damansara', - 'Kampung','Kampung Baru','Kampung Baru','Kondominium','Kota', - 'Laman','Lembah', - 'Medan', - 'Pandan','Pangsapuri','Petaling','Puncak', - 'Seri','Sri', - 'Taman','Taman','Taman','Taman','Taman','Taman', - 'Taman Desa', - ); - protected static $townshipSuffix = array( - 'Aman','Amanjaya','Anggerik','Angkasa','Antarabangsa','Awan', - 'Bahagia','Bangsar','Baru','Belakong','Bendahara','Bestari','Bintang','Brickfields', - 'Casa','Changkat','Country Heights', - 'Damansara','Damai','Dato Harun','Delima','Duta', - 'Flora', - 'Gembira','Genting', - 'Harmoni','Hartamas', - 'Impian','Indah','Intan', - 'Jasa','Jaya', - 'Keramat','Kerinchi','Kiara','Kinrara','Kuchai', - 'Laksamana', - 'Mahkota','Maluri','Manggis','Maxwell','Medan','Melawati','Menjalara','Meru','Mulia','Mutiara', - 'Pahlawan','Perdana','Pertama','Permai','Pelangi','Petaling','Pinang','Puchong','Puteri','Putra', - 'Rahman','Rahmat','Raya','Razak','Ria', - 'Saujana','Segambut','Selamat','Selatan','Semarak','Sentosa','Seputeh','Setapak','Setia Jaya','Sinar','Sungai Besi','Sungai Buaya','Sungai Long','Suria', - 'Tasik Puteri','Tengah','Timur','Tinggi','Tropika','Tun Hussein Onn','Tun Perak','Tunku', - 'Ulu','Utama','Utara', - 'Wangi', - ); - - /** - * @link https://en.wikipedia.org/wiki/Template:Greater_Kuala_Lumpur - * @link https://en.wikipedia.org/wiki/Template:Johor - * @link https://en.wikipedia.org/wiki/Template:Kedah - * @link https://en.wikipedia.org/wiki/Template:Kelantan - * @link https://en.wikipedia.org/wiki/Template:Labuan - * @link https://en.wikipedia.org/wiki/Template:Melaka - * @link https://en.wikipedia.org/wiki/Template:Negeri_Sembilan - * @link https://en.wikipedia.org/wiki/Template:Pahang - * @link https://en.wikipedia.org/wiki/Template:Perak - * @link https://en.wikipedia.org/wiki/Template:Perlis - * @link https://en.wikipedia.org/wiki/Template:Penang - * @link https://en.wikipedia.org/wiki/Template:Sabah - * @link https://en.wikipedia.org/wiki/Template:Sarawak - * @link https://en.wikipedia.org/wiki/Template:Selangor - * @link https://en.wikipedia.org/wiki/Template:Terengganu - */ - protected static $towns = array( - 'johor' => array( - 'Ayer Hitam', - 'Batu Pahat','Bukit Gambir','Bukit Kepong','Bukit Naning', - 'Desaru', - 'Endau', - 'Gelang Patah','Gemas Baharu', - 'Iskandar Puteri', - 'Jementah','Johor Lama','Johor Bahru', - 'Kempas','Kluang','Kota Iskandar','Kota Tinggi','Kukup','Kulai', - 'Labis ','Larkin','Layang-Layang', - 'Mersing','Muar', - 'Pagoh','Paloh','Parit Jawa','Pasir Gudang','Pekan Nanas','Permas Jaya','Pontian Kechil', - 'Renggam', - 'Segamat','Senai','Simpang Renggam','Skudai','Sri Gading', - 'Tangkak','Tebrau', - 'Ulu Tiram', - 'Yong Peng', - ), - 'kedah' => array( - 'Alor Setar', - 'Baling','Bukit Kayu Hitam', - 'Changlun', - 'Durian Burung', - 'Gurun', - 'Jitra', - 'Kepala Batas','Kuah','Kuala Kedah','Kuala Ketil','Kulim', - 'Langgar','Lunas', - 'Merbok', - 'Padang Serai','Pendang', - 'Serdang','Sintok','Sungai Petani', - 'Tawar, Baling', - 'Yan', - ), - 'kelantan' => array( - 'Bachok','Bunut Payong', - 'Dabong', - 'Gua Musang', - 'Jeli', - 'Ketereh','Kota Bharu','Kuala Krai', - 'Lojing', - 'Machang', - 'Pasir Mas','Pasir Puteh', - 'Rantau Panjang', - 'Salor', - 'Tok Bali', - 'Wakaf Bharu','Wakaf Che Yeh', - ), - 'kl' => array( - 'Ampang', - 'Bandar Tasik Selatan','Bandar Tun Razak','Bangsar','Batu','Brickfields','Bukit Bintang','Bukit Jalil','Bukit Tunku', - 'Cheras','Chow Kit', - 'Damansara Town Centre','Dang Wangi','Desa Petaling','Desa Tun Hussein Onn', - 'Jinjang', - 'Kampung Baru','Kampung Kasipillay','Kampung Pandan','Kampung Sungai Penchala','Kepong','KLCC','Kuchai Lama', - 'Lake Gardens','Lembah Pantai', - 'Medan Tuanku','Mid Valley City','Mont Kiara', - 'Pantai Dalam','Pudu', - 'Salak South','Segambut','Semarak','Sentul','Setapak','Setiawangsa','Seputeh','Sri Hartamas','Sri Petaling','Sungai Besi', - 'Taman Desa','Taman Melawati','Taman OUG','Taman Tun Dr Ismail','Taman U-Thant','Taman Wahyu','Titiwangsa','Tun Razak Exchange', - 'Wangsa Maju', - ), - 'labuan' => array( - 'Batu Manikar', - 'Kiamsam', - 'Layang-Layang', - 'Rancha-Rancha' - ), - 'melaka' => array( - 'Alor Gajah', - 'Bandaraya Melaka','Batu Berendam','Bukit Beruang','Bukit Katil', - 'Cheng', - 'Durian Tunggal', - 'Hang Tuah Jaya', - 'Jasin', - 'Klebang', - 'Lubuk China', - 'Masjid Tanah', - 'Naning', - 'Pekan Asahan', - 'Ramuan China', - 'Simpang Ampat', - 'Tanjung Bidara','Telok Mas', - 'Umbai', - ), - 'nsembilan' => array( - 'Ayer Kuning','Ampangan', - 'Bahau','Batang Benar', - 'Chembong', - 'Dangi', - 'Gemas', - 'Juasseh', - 'Kuala Pilah', - 'Labu','Lenggeng','Linggi', - 'Mantin', - 'Nilai', - 'Pajam','Pedas','Pengkalan Kempas','Port Dickson', - 'Rantau','Rompin', - 'Senawang','Seremban','Sungai Gadut', - 'Tampin','Tiroi', - ), - 'pahang' => array( - 'Bandar Tun Razak','Bentong','Brinchang','Bukit Fraser','Bukit Tinggi', - 'Chendor', - 'Gambang','Genting Highlands','Genting Sempah', - 'Jerantut', - 'Karak','Kemayan','Kota Shahbandar','Kuala Lipis','Kuala Pahang','Kuala Rompin','Kuantan', - 'Lanchang','Lubuk Paku', - 'Maran','Mengkuang','Mentakab', - 'Nenasi', - 'Panching', - 'Pekan','Penor', - 'Raub', - 'Sebertak','Sungai Lembing', - 'Tanah Rata','Tanjung Sepat','Tasik Chini','Temerloh','Teriang','Tringkap', - ), - 'penang' => array( - 'Air Itam', - 'Balik Pulau','Batu Ferringhi','Batu Kawan','Bayan Lepas','Bukit Mertajam','Butterworth', - 'Gelugor','George Town', - 'Jelutong', - 'Kepala Batas', - 'Nibong Tebal', - 'Permatang Pauh','Pulau Tikus', - 'Simpang Ampat', - 'Tanjung Bungah','Tanjung Tokong', - ), - 'perak' => array( - 'Ayer Tawar', - 'Bagan Serai','Batu Gajah','Behrang','Bidor','Bukit Gantang','Bukit Merah', - 'Changkat Jering','Chemor','Chenderiang', - 'Damar Laut', - 'Gerik','Gopeng','Gua Tempurung', - 'Hutan Melintang', - 'Ipoh', - 'Jelapang', - 'Kamunting','Kampar','Kuala Kangsar', - 'Lekir','Lenggong','Lumut', - 'Malim Nawar','Manong','Menglembu', - 'Pantai Remis','Parit','Parit Buntar','Pasir Salak','Proton City', - 'Simpang Pulai','Sitiawan','Slim River','Sungai Siput','Sungkai', - 'Taiping','Tambun','Tanjung Malim','Tanjung Rambutan','Tapah','Teluk Intan', - 'Ulu Bernam', - ), - 'perlis' => array( - 'Arau', - 'Beseri', - 'Chuping', - 'Kaki Bukit','Kangar','Kuala Perlis', - 'Mata Ayer', - 'Padang Besar', - 'Sanglang','Simpang Empat', - 'Wang Kelian', - ), - 'putrajaya' => array( - 'Precinct 1','Precinct 4','Precinct 5', - 'Precinct 6','Precinct 8','Precinct 10', - 'Precinct 11','Precinct 12','Precinct 13', - 'Precinct 16','Precinct 18','Precinct 19', - ), - 'sabah' => array( - 'Beaufort','Bingkor', - 'Donggongon', - 'Inanam', - 'Kinabatangan','Kota Belud','Kota Kinabalu','Kuala Penyu','Kimanis','Kundasang', - 'Lahad Datu','Likas','Lok Kawi', - 'Manggatal', - 'Nabawan', - 'Papar','Pitas', - 'Ranau', - 'Sandakan','Sapulut','Semporna','Sepanggar', - 'Tambunan','Tanjung Aru','Tawau','Tenom','Tuaran', - 'Weston', - ), - 'sarawak' => array( - 'Asajaya', - 'Ba\'kelalan','Bario','Batu Kawa','Batu Niah','Betong','Bintulu', - 'Dalat','Daro', - 'Engkilili', - 'Julau', - 'Kapit','Kota Samarahan','Kuching', - 'Lawas','Limbang','Lubok Antu', - 'Marudi','Matu','Miri', - 'Oya', - 'Pakan', - 'Sadong Jaya','Sematan','Sibu','Siburan','Song','Sri Aman','Sungai Tujoh', - 'Tanjung Kidurong','Tanjung Manis','Tatau', - ), - 'selangor' => array( - 'Ampang','Assam Jawa', - 'Balakong','Bandar Baru Bangi','Bandar Baru Selayang','Bandar Sunway','Bangi','Banting','Batang Kali','Batu Caves','Bestari Jaya','Bukit Lanjan', - 'Cheras','Cyberjaya', - 'Damansara','Dengkil', - 'Ijok', - 'Jenjarom', - 'Kajang','Kelana Jaya','Klang','Kuala Kubu Bharu','Kuala Selangor','Kuang', - 'Lagong', - 'Morib', - 'Pandamaran','Paya Jaras','Petaling Jaya','Port Klang','Puchong', - 'Rasa','Rawang', - 'Salak Tinggi','Sekinchan','Selayang','Semenyih','Sepang','Serendah','Seri Kembangan','Shah Alam','Subang','Subang Jaya','Sungai Buloh', - 'Tanjung Karang','Tanjung Sepat', - 'Ulu Klang','Ulu Yam', - ), - 'terengganu' => array( - 'Ajil', - 'Bandar Ketengah Jaya','Bandar Permaisuri','Bukit Besi','Bukit Payong', - 'Chukai', - 'Jerteh', - 'Kampung Raja','Kerteh','Kijal','Kuala Besut','Kuala Berang','Kuala Dungun','Kuala Terengganu', - 'Marang','Merchang', - 'Pasir Raja', - 'Rantau Abang', - 'Teluk Kalung', - 'Wakaf Tapai', - ) - ); - - /** - * @link https://en.wikipedia.org/wiki/States_and_federal_territories_of_Malaysia - */ - protected static $states = array( - 'johor' => array( - 'Johor Darul Ta\'zim', - 'Johor' - ), - 'kedah' => array( - 'Kedah Darul Aman', - 'Kedah' - ), - 'kelantan' => array( - 'Kelantan Darul Naim', - 'Kelantan' - ), - 'kl' => array( - 'KL', - 'Kuala Lumpur', - 'WP Kuala Lumpur' - ), - 'labuan' => array( - 'Labuan' - ), - 'melaka' => array( - 'Malacca', - 'Melaka' - ), - 'nsembilan' => array( - 'Negeri Sembilan Darul Khusus', - 'Negeri Sembilan' - ), - 'pahang' => array( - 'Pahang Darul Makmur', - 'Pahang' - ), - 'penang' => array( - 'Penang', - 'Pulau Pinang' - ), - 'perak' => array( - 'Perak Darul Ridzuan', - 'Perak' - ), - 'perlis' => array( - 'Perlis Indera Kayangan', - 'Perlis' - ), - 'putrajaya' => array( - 'Putrajaya' - ), - 'sabah' => array( - 'Sabah' - ), - 'sarawak' => array( - 'Sarawak' - ), - 'selangor' => array( - 'Selangor Darul Ehsan', - 'Selangor' - ), - 'terengganu' => array( - 'Terengganu Darul Iman', - 'Terengganu' - ) - ); - - /** - * @link https://ms.wikipedia.org/wiki/Senarai_negara_berdaulat - */ - protected static $country = array( - 'Abkhazia','Afghanistan','Afrika Selatan','Republik Afrika Tengah','Akrotiri dan Dhekelia','Albania','Algeria','Amerika Syarikat','Andorra','Angola','Antigua dan Barbuda','Arab Saudi','Argentina','Armenia','Australia','Austria','Azerbaijan', - 'Bahamas','Bahrain','Bangladesh','Barbados','Belanda','Belarus','Belgium','Belize','Benin','Bhutan','Bolivia','Bonaire','Bosnia dan Herzegovina','Botswana','Brazil','Brunei Darussalam','Bulgaria','Burkina Faso','Burundi', - 'Cameroon','Chad','Chile','Republik Rakyat China','Republik China di Taiwan','Colombia','Comoros','Republik Demokratik Congo','Republik Congo','Kepulauan Cook','Costa Rica','Côte d\'Ivoire (Ivory Coast)','Croatia','Cuba','Curaçao','Cyprus','Republik Turki Cyprus Utara','Republik Czech', - 'Denmark','Djibouti','Dominika','Republik Dominika', - 'Ecuador','El Salvador','Emiriah Arab Bersatu','Eritrea','Estonia', - 'Kepulauan Faroe','Fiji','Filipina','Finland', - 'Gabon','Gambia','Georgia','Ghana','Grenada','Greece (Yunani)','Guatemala','Guinea','Guinea-Bissau','Guinea Khatulistiwa','Guiana Perancis','Guyana', - 'Habsyah (Etiopia)','Haiti','Honduras','Hungary', - 'Iceland','India','Indonesia','Iran','Iraq','Ireland','Israel','Itali', - 'Jamaika','Jepun','Jerman','Jordan', - 'Kanada','Kazakhstan','Kemboja','Kenya','Kiribati','Korea Selatan','Korea Utara','Kosovo','Kuwait','Kyrgyzstan', - 'Laos','Latvia','Lesotho','Liberia','Libya','Liechtenstein','Lithuania','Lubnan','Luxembourg', - 'Macedonia','Madagaskar','Maghribi','Malawi','Malaysia','Maldives','Mali','Malta','Kepulauan Marshall','Mauritania','Mauritius','Mesir','Mexico','Persekutuan Micronesia','Moldova','Monaco','Montenegro','Mongolia','Mozambique','Myanmar', - 'Namibia','Nauru','Nepal','New Zealand','Nicaragua','Niger','Nigeria','Niue','Norway', - 'Oman','Ossetia Selatan', - 'Pakistan','Palau','Palestin','Panama','Papua New Guinea','Paraguay','Perancis','Peru','Poland','Portugal', - 'Qatar', - 'Romania','Russia','Rwanda', - 'Sahara Barat','Saint Kitts dan Nevis','Saint Lucia','Saint Vincent dan Grenadines','Samoa','San Marino','São Tomé dan Príncipe','Scotland','Senegal','Sepanyol','Serbia','Seychelles','Sierra Leone','Singapura','Slovakia','Slovenia','Kepulauan Solomon','Somalia','Somaliland','Sri Lanka','Sudan','Sudan Selatan','Suriname','Swaziland','Sweden','Switzerland','Syria', - 'Tajikistan','Tanjung Verde','Tanzania','Thailand','Timor Leste','Togo','Tonga','Transnistria','Trinidad dan Tobago','Tunisia','Turki','Turkmenistan','Tuvalu', - 'Uganda','Ukraine','United Kingdom','Uruguay','Uzbekistan', - 'Vanuatu','Kota Vatican','Venezuela','Vietnam', - 'Yaman', - 'Zambia','Zimbabwe', - ); - - /** - * Return a building prefix - * - * @example 'No.' - * - * @return @string - */ - public static function buildingPrefix() - { - return static::randomElement(static::$buildingPrefix); - } - - /** - * Return a building number - * - * @example '123' - * - * @return @string - */ - public static function buildingNumber() - { - return static::toUpper(static::lexify(static::numerify(static::randomElement(static::$buildingNumber)))); - } - - /** - * Return a street prefix - * - * @example 'Jalan' - */ - public function streetPrefix() - { - $format = static::randomElement(static::$streetPrefix); - - return $this->generator->parse($format); - } - - /** - * Return a complete streename - * - * @example 'Jalan Utama 7' - * - * @return @string - */ - public function streetName() - { - $format = static::toUpper(static::lexify(static::numerify(static::randomElement(static::$streetNameFormats)))); - - return $this->generator->parse($format); - } - - /** - * Return a randown township - * - * @example Taman Bahagia - * - * @return @string - */ - public function township() - { - $format = static::toUpper(static::lexify(static::numerify(static::randomElement(static::$townshipFormats)))); - - return $this->generator->parse($format); - } - - /** - * Return a township prefix abbreviation - * - * @example 'USJ' - * - * @return @string - */ - public function townshipPrefixAbbr() - { - return static::randomElement(static::$townshipPrefixAbbr); - } - - /** - * Return a township prefix - * - * @example 'Taman' - * - * @return @string - */ - public function townshipPrefix() - { - return static::randomElement(static::$townshipPrefix); - } - - /** - * Return a township suffix - * - * @example 'Bahagia' - */ - public function townshipSuffix() - { - return static::randomElement(static::$townshipSuffix); - } - - /** - * Return a postcode based on state - * - * @example '55100' - * @link https://en.wikipedia.org/wiki/Postal_codes_in_Malaysia#States - * - * @param null|string $state 'state' or null - * - * @return @string - */ - public static function postcode($state = null) - { - $format = array( - 'perlis' => array( // (01000 - 02800) - '0' . mt_rand(1000, 2800) - ), - 'kedah' => array( // (05000 - 09810) - '0' . mt_rand(5000, 9810) - ), - 'penang' => array( // (10000 - 14400) - mt_rand(10000, 14400) - ), - 'kelantan' => array( // (15000 - 18500) - mt_rand(15000, 18500) - ), - 'terengganu' => array( // (20000 - 24300) - mt_rand(20000, 24300) - ), - 'pahang' => array( // (25000 - 28800 | 39000 - 39200 | 49000, 69000) - mt_rand(25000, 28800), - mt_rand(39000, 39200), - mt_rand(49000, 69000) - ), - 'perak' => array( // (30000 - 36810) - mt_rand(30000, 36810) - ), - 'selangor' => array( // (40000 - 48300 | 63000 - 68100) - mt_rand(40000, 48300), - mt_rand(63000, 68100) - ), - 'kl' => array( // (50000 - 60000) - mt_rand(50000, 60000), - ), - 'putrajaya' => array( // (62000 - 62988) - mt_rand(62000, 62988) - ), - 'nsembilan' => array( // (70000 - 73509) - mt_rand(70000, 73509) - ), - 'melaka' => array( // (75000 - 78309) - mt_rand(75000, 78309) - ), - 'johor' => array( // (79000 - 86900) - mt_rand(79000, 86900) - ), - 'labuan' => array( // (87000 - 87033) - mt_rand(87000, 87033) - ), - 'sabah' => array( // (88000 - 91309) - mt_rand(88000, 91309) - ), - 'sarawak' => array( // (93000 - 98859) - mt_rand(93000, 98859) - ) - ); - - $postcode = is_null($state) ? static::randomElement($format) : $format[$state]; - return (string)static::randomElement($postcode); - } - - /** - * Return the complete town address with matching postcode and state - * - * @example 55100 Bukit Bintang, Kuala Lumpur - * - * @return @string - */ - public function townState() - { - $state = static::randomElement(array_keys(static::$states)); - $postcode = static::postcode($state); - $town = static::randomElement(static::$towns[$state]); - $state = static::randomElement(static::$states[$state]); - - return $postcode . ' ' . $town . ', ' . $state; - } - - /** - * Return a random city (town) - * - * @example 'Ampang' - * - * @return @string - */ - public function city() - { - $state = static::randomElement(array_keys(static::$towns)); - return static::randomElement(static::$towns[$state]); - } - - /** - * Return a random state - * - * @example 'Johor' - * - * @return @string - */ - public function state() - { - $state = static::randomElement(array_keys(static::$states)); - return static::randomElement(static::$states[$state]); - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/ms_MY/Company.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/ms_MY/Company.php deleted file mode 100644 index 0e68133..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/ms_MY/Company.php +++ /dev/null @@ -1,105 +0,0 @@ -generator->parse($formats); - } - - /** - * Return Peninsular prefix alphabet - * - * @example 'W' - * - * @return @string - */ - public static function peninsularPrefix() - { - return static::randomElement(static::$peninsularPrefix); - } - - /** - * Return Sarawak state prefix alphabet - * - * @example 'QA' - * - * @return @string - */ - public static function sarawakPrefix() - { - return static::randomElement(static::$sarawakPrefix); - } - - /** - * Return Sabah state prefix alphabet - * - * @example 'SA' - * - * @return @string - */ - public static function sabahPrefix() - { - return static::randomElement(static::$sabahPrefix); - } - - /** - * Return specialty licence plate prefix - * - * @example 'G1M' - * - * @return @string - */ - public static function specialPrefix() - { - return static::randomElement(static::$specialPrefix); - } - - /** - * Return a valid license plate alphabet - * - * @example 'A' - * - * @return @string - */ - public static function validAlphabet() - { - return static::randomElement(static::$validAlphabets); - } - - /** - * Return a valid number sequence between 1 and 9999 - * - * @example '1234' - * - * @return @integer - */ - public static function numberSequence() - { - return mt_rand(1, 9999); - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/ms_MY/Payment.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/ms_MY/Payment.php deleted file mode 100644 index 4a46af1..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/ms_MY/Payment.php +++ /dev/null @@ -1,244 +0,0 @@ -generator->parse($formats); - } - - /** - * Return a Malaysian Bank account number - * - * @example '1234567890123456' - * - * @return @string - */ - public function bankAccountNumber() - { - $formats = static::randomElement(static::$bankAccountNumberFormats); - - return static::numerify($formats); - } - - /** - * Return a Malaysian Local Bank - * - * @example 'Public Bank' - * - * @return @string - */ - public static function localBank() - { - return static::randomElement(static::$localBanks); - } - - /** - * Return a Malaysian Foreign Bank - * - * @example 'Citibank Berhad' - * - * @return @string - */ - public static function foreignBank() - { - return static::randomElement(static::$foreignBanks); - } - - /** - * Return a Malaysian Government Bank - * - * @example 'Bank Simpanan Nasional' - * - * @return @string - */ - public static function governmentBank() - { - return static::randomElement(static::$governmentBanks); - } - - /** - * Return a Malaysian insurance company - * - * @example 'AIA Malaysia' - * - * @return @string - */ - public static function insurance() - { - return static::randomElement(static::$insuranceCompanies); - } - - /** - * Return a Malaysian Bank SWIFT Code - * - * @example 'MBBEMYKLXXX' - * - * @return @string - */ - public static function swiftCode() - { - return static::toUpper(static::lexify(static::randomElement(static::$swiftCodes))); - } - - /** - * Return the Malaysian currency symbol - * - * @example 'RM' - * - * @return @string - */ - public static function currencySymbol() - { - return static::randomElement(static::$currencySymbol); - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/ms_MY/Person.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/ms_MY/Person.php deleted file mode 100644 index 28d1092..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/ms_MY/Person.php +++ /dev/null @@ -1,813 +0,0 @@ -generator->parse(static::randomElement($formats)); - } - - /** - * Return a Malaysian I.C. No. - * - * @example '890123-45-6789' - * - * @link https://en.wikipedia.org/wiki/Malaysian_identity_card#Structure_of_the_National_Registration_Identity_Card_Number_(NRIC) - * - * @param string|null $gender 'male', 'female' or null for any - * @param bool|string|null $hyphen true, false, or any separator characters - * - * @return string - */ - public static function myKadNumber($gender = null, $hyphen = false) - { - // year of birth - $yy = mt_rand(0, 99); - - // month of birth - $mm = DateTime::month(); - - // day of birth - $dd = DateTime::dayOfMonth(); - - // place of birth (1-59 except 17-20) - while (in_array($pb = mt_rand(1, 59), array(17, 18, 19, 20))) { - } - - // random number - $nnn = mt_rand(0, 999); - - // gender digit. Odd = MALE, Even = FEMALE - $g = mt_rand(0, 9); - //Credit: https://gist.github.com/mauris/3629548 - if ($gender === static::GENDER_MALE) { - $g = $g | 1; - } elseif ($gender === static::GENDER_FEMALE) { - $g = $g & ~1; - } - - // formatting with hyphen - if ($hyphen === true) { - $hyphen = "-"; - } elseif ($hyphen === false) { - $hyphen = ""; - } - - return sprintf("%02d%02d%02d%s%02d%s%03d%01d", $yy, $mm, $dd, $hyphen, $pb, $hyphen, $nnn, $g); - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/ms_MY/PhoneNumber.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/ms_MY/PhoneNumber.php deleted file mode 100644 index f89111d..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/ms_MY/PhoneNumber.php +++ /dev/null @@ -1,217 +0,0 @@ -generator->parse($format)); - } else { - return static::numerify($this->generator->parse($format)); - } - } - - /** - * Return prefix digits for 011 numbers - * - * @example '10' - * - * @return string - */ - public static function zeroOneOnePrefix() - { - return static::numerify(static::randomElement(static::$zeroOneOnePrefix)); - } - - /** - * Return prefix digits for 014 numbers - * - * @example '2' - * - * @return string - */ - public static function zeroOneFourPrefix() - { - return static::numerify(static::randomElement(static::$zeroOneFourPrefix)); - } - - /** - * Return prefix digits for 015 numbers - * - * @example '1' - * - * @return string - */ - public static function zeroOneFivePrefix() - { - return static::numerify(static::randomElement(static::$zeroOneFivePrefix)); - } - - /** - * Return a Malaysian Fixed Line Phone Number. - * - * @example '+603-4567-8912' - * - * @param bool $countryCodePrefix true, false - * @param bool $formatting true, false - * - * @return string - */ - public function fixedLineNumber($countryCodePrefix = true, $formatting = true) - { - if ($formatting) { - $format = static::randomElement(static::$fixedLineNumberFormatsWithFormatting); - } else { - $format = static::randomElement(static::$fixedLineNumberFormats); - } - - if ($countryCodePrefix) { - return static::countryCodePrefix($formatting) . static::numerify($this->generator->parse($format)); - } else { - return static::numerify($this->generator->parse($format)); - } - } - - /** - * Return a Malaysian VoIP Phone Number. - * - * @example '+6015-678-9234' - * - * @param bool $countryCodePrefix true, false - * @param bool $formatting true, false - * - * @return string - */ - public function voipNumber($countryCodePrefix = true, $formatting = true) - { - if ($formatting) { - $format = static::randomElement(static::$voipNumberWithFormatting); - } else { - $format = static::randomElement(static::$voipNumber); - } - - if ($countryCodePrefix) { - return static::countryCodePrefix($formatting) . static::numerify($this->generator->parse($format)); - } else { - return static::numerify($this->generator->parse($format)); - } - } - - /** - * Return a Malaysian Country Code Prefix. - * - * @example '+6' - * - * @param bool $formatting true, false - * - * @return string - */ - public static function countryCodePrefix($formatting = true) - { - if ($formatting) { - return static::randomElement(static::$plusSymbol) . static::randomElement(static::$countryCodePrefix); - } else { - return static::randomElement(static::$countryCodePrefix); - } - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/nb_NO/Address.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/nb_NO/Address.php deleted file mode 100644 index d1d8c9e..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/nb_NO/Address.php +++ /dev/null @@ -1,195 +0,0 @@ -format('dmy'); - - /** - * @todo These number should be random based on birth year - * @link http://no.wikipedia.org/wiki/F%C3%B8dselsnummer - */ - $randomDigits = (string)static::numerify('##'); - - switch ($gender) { - case static::GENDER_MALE: - $genderDigit = static::randomElement(array(1,3,5,7,9)); - break; - case static::GENDER_FEMALE: - $genderDigit = static::randomElement(array(0,2,4,6,8)); - break; - default: - $genderDigit = (string)static::numerify('#'); - } - - - $digits = $datePart.$randomDigits.$genderDigit; - - /** - * @todo Calculate modulo 11 of $digits - * @link http://no.wikipedia.org/wiki/F%C3%B8dselsnummer - */ - $checksum = (string)static::numerify('##'); - - - return $digits.$checksum; - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/nb_NO/PhoneNumber.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/nb_NO/PhoneNumber.php deleted file mode 100644 index c97e720..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/nb_NO/PhoneNumber.php +++ /dev/null @@ -1,41 +0,0 @@ -generator->parse($format)); - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/ne_NP/Address.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/ne_NP/Address.php deleted file mode 100644 index ee81af2..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/ne_NP/Address.php +++ /dev/null @@ -1,129 +0,0 @@ -format('ymd')); - $help = $date->format('Y') >= 2000 ? 2 : null; - - $check = intval($help.$dob.$middle); - $rest = sprintf('%02d', 97 - ($check % 97)); - - return $dob.$middle.$rest; - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/nl_BE/PhoneNumber.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/nl_BE/PhoneNumber.php deleted file mode 100644 index ac17f1b..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/nl_BE/PhoneNumber.php +++ /dev/null @@ -1,20 +0,0 @@ -generator->lastName; - break; - } - - if (0 !== static::numberBetween(0, 1)) { - return $companyName . ' ' . static::randomElement(static::$companySuffix); - } - - return $companyName; - } - - /** - * Belasting Toegevoegde Waarde (BTW) = VAT - * - * @example 'NL123456789B01' - * - * @see http://www.belastingdienst.nl/wps/wcm/connect/bldcontentnl/belastingdienst/zakelijk/btw/administratie_bijhouden/btw_nummers_controleren/uw_btw_nummer - * - * @return string VAT Number - */ - public static function vat() - { - return sprintf("%s%d%s%d", 'NL', self::randomNumber(9, true), 'B', self::randomNumber(2, true)); - } - - /** - * Alias dutch vat number format - * - * @return string - */ - public static function btw() - { - return self::vat(); - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/nl_NL/Internet.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/nl_NL/Internet.php deleted file mode 100644 index 8203b3b..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/nl_NL/Internet.php +++ /dev/null @@ -1,9 +0,0 @@ - 9) { - if ($nr[1] > 0) { - $nr[0] = 8; - $nr[1]--; - } else { - $nr[0] = 1; - $nr[1]++; - } - } - return implode('', array_reverse($nr)); - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/nl_NL/PhoneNumber.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/nl_NL/PhoneNumber.php deleted file mode 100644 index c27fe9b..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/nl_NL/PhoneNumber.php +++ /dev/null @@ -1,39 +0,0 @@ - 'Narodowy Bank Polski', - '102' => 'Powszechna Kasa OszczÄ™dnoÅ›ci Bank Polski SA', - '103' => 'Bank Handlowy w Warszawie SA', - '105' => 'ING Bank ÅšlÄ…ski SA', - '106' => 'Bank BPH SA', - '109' => 'Bank Zachodni WBK SA', - '113' => 'Bank Gospodarstwa Krajowego', - '114' => 'mBank SA', - '116' => 'Bank Millennium SA', - '122' => 'Bank Handlowo-Kredytowy Spółka Akcyjna w Katowicach w likwidacji', - '124' => 'Bank Polska Kasa Opieki SA', - '128' => 'HSBC Bank Polska SA', - '132' => 'Bank Pocztowy SA', - '147' => 'Euro Bank SA', - '154' => 'Bank Ochrony Åšrodowiska SA', - '158' => 'Mercedes-Benz Bank Polska SA', - '161' => 'SGB-Bank SA', - '167' => 'RBS Bank (Polska) SA', - '168' => 'PLUS BANK SA', - '175' => 'Raiffeisen Bank Polska SA', - '184' => 'Societe Generale SA OddziaÅ‚ w Polsce', - '187' => 'Nest Bank S.A.', - '189' => 'Pekao Bank Hipoteczny SA', - '191' => 'Deutsche Bank Polska SA', - '193' => 'BANK POLSKIEJ SPÓÅDZIELCZOÅšCI SA', - '194' => 'Credit Agricole Bank Polska SA', - '195' => 'Idea Bank SA', - '203' => 'Bank BGÅ» BNP Paribas SA', - '212' => 'Santander Consumer Bank SA', - '213' => 'VOLKSWAGEN BANK POLSKA SA', - '214' => 'FCA-Group Bank Polska SA', - '215' => 'mBank Hipoteczny SA', - '216' => 'Toyota Bank Polska SA', - '219' => 'DNB Bank Polska SA', - '224' => 'Banque PSA Finance SA OddziaÅ‚ w Polsce', - '225' => 'Svenska Handelsbanken AB SA OddziaÅ‚ w Polsce', - '229' => 'BPI Bank Polskich Inwestycji SA', - '232' => 'Nykredit Realkredit A/S SA - OddziaÅ‚ w Polsce', - '235' => 'BNP PARIBAS SA OddziaÅ‚ w Polsce', - '236' => 'Danske Bank A/S SA OddziaÅ‚ w Polsce', - '237' => 'Skandinaviska Enskilda Banken AB (SA) - OddziaÅ‚ w Polsce', - '239' => 'CAIXABANK, S.A. (SPÓÅKA AKCYJNA)ODDZIAÅ W POLSCE', - '241' => 'Elavon Financial Services Designated Activity Company (spółka z o.o. o wyznaczonym przedmiocie dziaÅ‚alnoÅ›ci) OddziaÅ‚ w Polsce', - '243' => 'BNP Paribas Securities Services SKA OddziaÅ‚ w Polsce', - '247' => 'HAITONG BANK, S.A. Spółka Akcyjna OddziaÅ‚ w Polsce', - '248' => 'Getin Noble Bank SA', - '249' => 'Alior Bank SA', - '251' => 'Aareal Bank Aktiengesellschaft (Spółka Akcyjna) - OddziaÅ‚ w Polsce', - '254' => 'Citibank Europe plc (Publiczna Spółka Akcyjna) OddziaÅ‚ w Polsce', - '255' => 'Ikano Bank AB (publ) Spółka Akcyjna OddziaÅ‚ w Polsce', - '256' => 'Nordea Bank AB SA OddziaÅ‚ w Polsce', - '257' => 'UBS Limited (spółka z ograniczonÄ… odpowiedzialnoÅ›ciÄ…) OddziaÅ‚ w Polsce', - '258' => 'J.P. Morgan Europe Limited Sp. z o.o. OddziaÅ‚ w Polsce', - '260' => 'Bank of China (Luxembourg) S.A. Spółka Akcyjna OddziaÅ‚ w Polsce', - '262' => 'Industrial and Commercial Bank of China (Europe) S.A. (Spółka Akcyjna) OddziaÅ‚ w Polsce', - '263' => 'Saxo Bank A/S Spółka Akcyjna OddziaÅ‚ w Polsce w likwidacji', - '264' => 'RCI Banque Spółka Akcyjna OddziaÅ‚ w Polsce', - '265' => 'EUROCLEAR Bank SA/NV (Spółka Akcyjna) - OddziaÅ‚ w Polsce', - '266' => 'Intesa Sanpaolo S.p.A. Spółka Akcyjna OddziaÅ‚ w Polsce', - '267' => 'Western Union International Bank GmbH, Sp. z o.o. OddziaÅ‚ w Polsce', - '269' => 'PKO Bank Hipoteczny SA', - '270' => 'TF BANK AB (Spółka z ograniczonÄ… odpowiedzialnoÅ›ciÄ…) OddziaÅ‚ w Polsce', - '271' => 'FCE Bank Spółka Akcyjna OddziaÅ‚ w Polsce', - '272' => 'AS Inbank Spółka Akcyjna - OddziaÅ‚ w Polsce', - '273' => 'China Construction Bank (Europe) S.A. (Spółka Akcyjna) OddziaÅ‚ w Polsce', - '274' => 'MUFG Bank (Europe) N.V. S.A. OddziaÅ‚ w Polsce', - '275' => 'John Deere Bank S.A. Spółka Akcyjna OddziaÅ‚ w Polsce', - ); - - /** - * @example 'Euro Bank SA' - */ - public static function bank() - { - return static::randomElement(static::$banks); - } - - /** - * International Bank Account Number (IBAN) - * @link http://en.wikipedia.org/wiki/International_Bank_Account_Number - * @param string $prefix for generating bank account number of a specific bank - * @param string $countryCode ISO 3166-1 alpha-2 country code - * @param integer $length total length without country code and 2 check digits - * @return string - */ - public static function bankAccountNumber($prefix = '', $countryCode = 'PL', $length = null) - { - return static::iban($countryCode, $prefix, $length); - } - - protected static function addBankCodeChecksum($iban, $countryCode = 'PL') - { - if ($countryCode != 'PL' || strlen($iban) <= 8) { - return $iban; - } - $checksum = 0; - $weights = array(7, 1, 3, 9, 7, 1, 3); - for ($i = 0; $i < 7; $i++) { - $checksum += $weights[$i] * (int) $iban[$i]; - } - $checksum = $checksum % 10; - - return substr($iban, 0, 7) . $checksum . substr($iban, 8); - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/pl_PL/Person.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/pl_PL/Person.php deleted file mode 100644 index 380f4d9..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/pl_PL/Person.php +++ /dev/null @@ -1,227 +0,0 @@ -generator->parse(static::randomElement(static::$lastNameFormat)); - } - - public static function lastNameMale() - { - return static::randomElement(static::$lastNameMale); - } - - public static function lastNameFemale() - { - return static::randomElement(static::$lastNameFemale); - } - - public function title($gender = null) - { - return static::randomElement(static::$title); - } - - /** - * replaced by specific unisex Polish title - */ - public static function titleMale() - { - return static::title(); - } - - /** - * replaced by specific unisex Polish title - */ - public static function titleFemale() - { - return static::title(); - } - - /** - * PESEL - Universal Electronic System for Registration of the Population - * @link http://en.wikipedia.org/wiki/PESEL - * @param DateTime $birthdate - * @param string $sex M for male or F for female - * @return string 11 digit number, like 44051401358 - */ - public static function pesel($birthdate = null, $sex = null) - { - if ($birthdate === null) { - $birthdate = \Faker\Provider\DateTime::dateTimeThisCentury(); - } - - $weights = array(1, 3, 7, 9, 1, 3, 7, 9, 1, 3); - $length = count($weights); - - $fullYear = (int) $birthdate->format('Y'); - $year = (int) $birthdate->format('y'); - $month = $birthdate->format('m') + (((int) ($fullYear/100) - 14) % 5) * 20; - $day = $birthdate->format('d'); - - $result = array((int) ($year / 10), $year % 10, (int) ($month / 10), $month % 10, (int) ($day / 10), $day % 10); - - for ($i = 6; $i < $length; $i++) { - $result[$i] = static::randomDigit(); - } - - $result[$length - 1] |= 1; - if ($sex == "F") { - $result[$length - 1] -= 1; - } - - $checksum = 0; - for ($i = 0; $i < $length; $i++) { - $checksum += $weights[$i] * $result[$i]; - } - $checksum = (10 - ($checksum % 10)) % 10; - $result[] = $checksum; - - return implode('', $result); - } - - /** - * National Identity Card number - * @link http://en.wikipedia.org/wiki/Polish_National_Identity_Card - * @return string 3 letters and 6 digits, like ABA300000 - */ - public static function personalIdentityNumber() - { - $range = str_split("ABCDEFGHIJKLMNPRSTUVWXYZ"); - $low = array("A", static::randomElement($range), static::randomElement($range)); - $high = array(static::randomDigit(), static::randomDigit(), static::randomDigit(), static::randomDigit(), static::randomDigit()); - $weights = array(7, 3, 1, 7, 3, 1, 7, 3); - $checksum = 0; - for ($i = 0, $size = count($low); $i < $size; $i++) { - $checksum += $weights[$i] * (ord($low[$i]) - 55); - } - for ($i = 0, $size = count($high); $i < $size; $i++) { - $checksum += $weights[$i+3] * $high[$i]; - } - $checksum %= 10; - - return implode('', $low).$checksum.implode('', $high); - } - - /** - * Taxpayer Identification Number (NIP in Polish) - * @link http://en.wikipedia.org/wiki/PESEL#Other_identifiers - * @link http://pl.wikipedia.org/wiki/NIP - * @return string 10 digit number - */ - public static function taxpayerIdentificationNumber() - { - $weights = array(6, 5, 7, 2, 3, 4, 5, 6, 7); - $result = array(); - do { - $result = array( - static::randomDigitNotNull(), static::randomDigitNotNull(), static::randomDigitNotNull(), - static::randomDigit(), static::randomDigit(), static::randomDigit(), - static::randomDigit(), static::randomDigit(), static::randomDigit(), - ); - $checksum = 0; - for ($i = 0, $size = count($result); $i < $size; $i++) { - $checksum += $weights[$i] * $result[$i]; - } - $checksum %= 11; - } while ($checksum == 10); - $result[] = $checksum; - - return implode('', $result); - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/pl_PL/PhoneNumber.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/pl_PL/PhoneNumber.php deleted file mode 100644 index 65bc5c0..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/pl_PL/PhoneNumber.php +++ /dev/null @@ -1,18 +0,0 @@ - - - Prof. Hart will answer or forward your message. - - We would prefer to send you information by email. - - - **The Legal Small Print** - - - (Three Pages) - - ***START**THE SMALL PRINT!**FOR PUBLIC DOMAIN EBOOKS**START*** - Why is this "Small Print!" statement here? You know: lawyers. - They tell us you might sue us if there is something wrong with - your copy of this eBook, even if you got it for free from - someone other than us, and even if what's wrong is not our - fault. So, among other things, this "Small Print!" statement - disclaims most of our liability to you. It also tells you how - you may distribute copies of this eBook if you want to. - - *BEFORE!* YOU USE OR READ THIS EBOOK - By using or reading any part of this PROJECT GUTENBERG-tm - eBook, you indicate that you understand, agree to and accept - this "Small Print!" statement. If you do not, you can receive - a refund of the money (if any) you paid for this eBook by - sending a request within 30 days of receiving it to the person - you got it from. If you received this eBook on a physical - medium (such as a disk), you must return it with your request. - - ABOUT PROJECT GUTENBERG-TM EBOOKS - This PROJECT GUTENBERG-tm eBook, like most PROJECT GUTENBERG-tm eBooks, - is a "public domain" work distributed by Professor Michael S. Hart - through the Project Gutenberg Association (the "Project"). - Among other things, this means that no one owns a United States copyright - on or for this work, so the Project (and you!) can copy and - distribute it in the United States without permission and - without paying copyright royalties. Special rules, set forth - below, apply if you wish to copy and distribute this eBook - under the "PROJECT GUTENBERG" trademark. - - Please do not use the "PROJECT GUTENBERG" trademark to market - any commercial products without permission. - - To create these eBooks, the Project expends considerable - efforts to identify, transcribe and proofread public domain - works. Despite these efforts, the Project's eBooks and any - medium they may be on may contain "Defects". Among other - things, Defects may take the form of incomplete, inaccurate or - corrupt data, transcription errors, a copyright or other - intellectual property infringement, a defective or damaged - disk or other eBook medium, a computer virus, or computer - codes that damage or cannot be read by your equipment. - - LIMITED WARRANTY; DISCLAIMER OF DAMAGES - But for the "Right of Replacement or Refund" described below, - [1] Michael Hart and the Foundation (and any other party you may - receive this eBook from as a PROJECT GUTENBERG-tm eBook) disclaims - all liability to you for damages, costs and expenses, including - legal fees, and [2] YOU HAVE NO REMEDIES FOR NEGLIGENCE OR - UNDER STRICT LIABILITY, OR FOR BREACH OF WARRANTY OR CONTRACT, - INCLUDING BUT NOT LIMITED TO INDIRECT, CONSEQUENTIAL, PUNITIVE - OR INCIDENTAL DAMAGES, EVEN IF YOU GIVE NOTICE OF THE - POSSIBILITY OF SUCH DAMAGES. - - If you discover a Defect in this eBook within 90 days of - receiving it, you can receive a refund of the money (if any) - you paid for it by sending an explanatory note within that - time to the person you received it from. If you received it - on a physical medium, you must return it with your note, and - such person may choose to alternatively give you a replacement - copy. If you received it electronically, such person may - choose to alternatively give you a second opportunity to - receive it electronically. - - THIS EBOOK IS OTHERWISE PROVIDED TO YOU "AS-IS". NO OTHER - WARRANTIES OF ANY KIND, EXPRESS OR IMPLIED, ARE MADE TO YOU AS - TO THE EBOOK OR ANY MEDIUM IT MAY BE ON, INCLUDING BUT NOT - LIMITED TO WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A - PARTICULAR PURPOSE. - - Some states do not allow disclaimers of implied warranties or - the exclusion or limitation of consequential damages, so the - above disclaimers and exclusions may not apply to you, and you - may have other legal rights. - - INDEMNITY - You will indemnify and hold Michael Hart, the Foundation, - and its trustees and agents, and any volunteers associated - with the production and distribution of Project Gutenberg-tm - texts harmless, from all liability, cost and expense, including - legal fees, that arise directly or indirectly from any of the - following that you do or cause: [1] distribution of this eBook, - [2] alteration, modification, or addition to the eBook, - or [3] any Defect. - - DISTRIBUTION UNDER "PROJECT GUTENBERG-tm" - You may distribute copies of this eBook electronically, or by - disk, book or any other medium if you either delete this - "Small Print!" and all other references to Project Gutenberg, - or: - - [1] Only give exact copies of it. Among other things, this - requires that you do not remove, alter or modify the - eBook or this "small print!" statement. You may however, - if you wish, distribute this eBook in machine readable - binary, compressed, mark-up, or proprietary form, - including any form resulting from conversion by word - processing or hypertext software, but only so long as - *EITHER*: - - [*] The eBook, when displayed, is clearly readable, and - does *not* contain characters other than those - intended by the author of the work, although tilde - (~), asterisk (*) and underline (_) characters may - be used to convey punctuation intended by the - author, and additional characters may be used to - indicate hypertext links; OR - - [*] The eBook may be readily converted by the reader at - no expense into plain ASCII, EBCDIC or equivalent - form by the program that displays the eBook (as is - the case, for instance, with most word processors); - OR - - [*] You provide, or agree to also provide on request at - no additional cost, fee or expense, a copy of the - eBook in its original plain ASCII form (or in EBCDIC - or other equivalent proprietary form). - - [2] Honor the eBook refund and replacement provisions of this - "Small Print!" statement. - - [3] Pay a trademark license fee to the Foundation of 20% of the - gross profits you derive calculated using the method you - already use to calculate your applicable taxes. If you - don't derive profits, no royalty is due. Royalties are - payable to "Project Gutenberg Literary Archive Foundation" - the 60 days following each date you prepare (or were - legally required to prepare) your annual (or equivalent - periodic) tax return. Please contact us beforehand to - let us know your plans and to work out the details. - - WHAT IF YOU *WANT* TO SEND MONEY EVEN IF YOU DON'T HAVE TO? - Project Gutenberg is dedicated to increasing the number of - public domain and licensed works that can be freely distributed - in machine readable form. - - The Project gratefully accepts contributions of money, time, - public domain materials, or royalty free copyright licenses. - Money should be paid to the: - "Project Gutenberg Literary Archive Foundation." - - If you are interested in contributing scanning equipment or - software or other items, please contact Michael Hart at: - hart@pobox.com - - [Portions of this eBook's header and trailer may be reprinted only - when distributed free of all fees. Copyright (C) 2001, 2002 by - Michael S. Hart. Project Gutenberg is a TradeMark and may not be - used in any sales of Project Gutenberg eBooks or other materials be - they hardware or software or any other related product without - express permission.] - - *END THE SMALL PRINT! FOR PUBLIC DOMAIN EBOOKS*Ver.02/11/02*END* - - */ -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/pt_BR/Address.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/pt_BR/Address.php deleted file mode 100644 index 68b6df0..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/pt_BR/Address.php +++ /dev/null @@ -1,154 +0,0 @@ -generator->numerify('########0001'); - $n .= check_digit($n); - $n .= check_digit($n); - - return $formatted? vsprintf('%d%d.%d%d%d.%d%d%d/%d%d%d%d-%d%d', str_split($n)) : $n; - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/pt_BR/Internet.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/pt_BR/Internet.php deleted file mode 100644 index 7481a6f..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/pt_BR/Internet.php +++ /dev/null @@ -1,9 +0,0 @@ - array( - "4##############" - ), - 'MasterCard' => array( - "5##############" - ), - 'American Express' => array( - "34############", - "37############" - ), - 'Discover Card' => array( - "6011###########", - "622############", - "64#############", - "65#############" - ), - 'Diners' => array( - "301############", - "301##########", - "305############", - "305##########", - "36#############", - "36###########", - "38#############", - "38###########", - ), - 'Elo' => array( - "636368#########", - "438935#########", - "504175#########", - "451416#########", - "636297#########", - "5067###########", - "4576###########", - "4011###########", - ), - 'Hipercard' => array( - "38#############", - "60#############", - ), - "Aura" => array( - "50#############" - ) - ); - - /** - * International Bank Account Number (IBAN) - * @link http://en.wikipedia.org/wiki/International_Bank_Account_Number - * @param string $prefix for generating bank account number of a specific bank - * @param string $countryCode ISO 3166-1 alpha-2 country code - * @param integer $length total length without country code and 2 check digits - * @return string - */ - public static function bankAccountNumber($prefix = '', $countryCode = 'BR', $length = null) - { - return static::iban($countryCode, $prefix, $length); - } - - - /** - * @see list of Brazilians banks (2018-02-15), source: https://pt.wikipedia.org/wiki/Lista_de_bancos_do_Brasil - */ - protected static $banks = array( - 'BADESUL Desenvolvimento S.A. – Agência de Fomento/RS', - 'Banco Central do Brasil', - 'Banco da Amazônia', - 'Banco de Brasília', - 'Banco de Desenvolvimento de Minas Gerais', - 'Banco de Desenvolvimento do Espírito Santo', - 'Banco de Desenvolvimento do Paraná', - 'Banco do Brasil', - 'Banco do Estado de Sergipe Banese Estadual', - 'Banco do Estado do Espírito Santo Banestes', - 'Banco do Estado do Pará', - 'Banco do Estado do Rio Grande do Sul', - 'Banco do Nordeste do Brasil', - 'Banco Nacional de Desenvolvimento Econômico e Social', - 'Banco Regional de Desenvolvimento do Extremo Sul', - 'Caixa Econômica Federal', - 'Banco ABN Amro S.A.', - 'Banco Alfa', - 'Banco Banif', - 'Banco BBM', - 'Banco BMG', - 'Banco Bonsucesso', - 'Banco BTG Pactual', - 'Banco Cacique', - 'Banco Caixa Geral - Brasil', - 'Banco Citibank', - 'Banco Credibel', - 'Banco Credit Suisse', - 'Góis Monteiro & Co', - 'Banco Fator', - 'Banco Fibra', - 'Agibank', - 'Banco Guanabara', - 'Banco Industrial do Brasil', - 'Banco Industrial e Comercial', - 'Banco Indusval', - 'Banco Inter', - 'Banco Itaú BBA', - 'Banco ItaúBank', - 'Banco Itaucred Financiamentos', - 'Banco Mercantil do Brasil', - 'Banco Modal Modal', - 'Banco Morada', - 'Banco Pan', - 'Banco Paulista', - 'Banco Pine', - 'Banco Renner', - 'Banco Ribeirão Preto', - 'Banco Safra', - 'Banco Santander', - 'Banco Sofisa', - 'Banco Topázio', - 'Banco Votorantim', - 'Bradesco Bradesco', - 'Itaú Unibanco', - 'Banco Original', - 'Banco Neon', - 'Nu Pagamentos S.A', - 'XP Investimentos Corretora de Câmbio Títulos e Valores Mobiliários S.A', - ); - - /** - * @example 'Banco Neon' - */ - public static function bank() - { - return static::randomElement(static::$banks); - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/pt_BR/Person.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/pt_BR/Person.php deleted file mode 100644 index be39a2e..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/pt_BR/Person.php +++ /dev/null @@ -1,133 +0,0 @@ -generator->numerify('#########'); - $n .= check_digit($n); - $n .= check_digit($n); - - return $formatted? vsprintf('%d%d%d.%d%d%d.%d%d%d-%d%d', str_split($n)) : $n; - } - - /** - * A random RG number, following Sao Paulo state's rules. - * @link http://pt.wikipedia.org/wiki/C%C3%A9dula_de_identidade - * @param bool $formatted If the number should have dots/dashes or not. - * @return string - */ - public function rg($formatted = true) - { - $n = $this->generator->numerify('########'); - $n .= check_digit($n); - - return $formatted? vsprintf('%d%d.%d%d%d.%d%d%d-%s', str_split($n)) : $n; - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/pt_BR/PhoneNumber.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/pt_BR/PhoneNumber.php deleted file mode 100644 index 4949eef..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/pt_BR/PhoneNumber.php +++ /dev/null @@ -1,137 +0,0 @@ - '')); - } - - return $number; - } - - /** - * Generates an 9-digit landline number without formatting characters. - * @param bool $formatted [def: true] If it should return a formatted number or not. - * @return string - */ - public static function landline($formatted = true) - { - $number = static::numerify(static::randomElement(static::$landlineFormats)); - - if (!$formatted) { - $number = strtr($number, array('-' => '')); - } - - return $number; - } - - /** - * Randomizes between cellphone and landline numbers. - * @param bool $formatted [def: true] If it should return a formatted number or not. - * @return mixed - */ - public static function phone($formatted = true) - { - $options = static::randomElement(array( - array('cellphone', false), - array('cellphone', true), - array('landline', null), - )); - - return call_user_func("static::{$options[0]}", $formatted, $options[1]); - } - - /** - * Generates a complete phone number. - * @param string $type [def: landline] One of "landline" or "cellphone". Defaults to "landline" on invalid values. - * @param bool $formatted [def: true] If the number should be formatted or not. - * @return string - */ - protected static function anyPhoneNumber($type, $formatted = true) - { - $area = static::areaCode(); - $number = ($type == 'cellphone')? - static::cellphone($formatted) : - static::landline($formatted); - - return $formatted? "($area) $number" : $area.$number; - } - - /** - * Concatenates {@link areaCode} and {@link cellphone} into a national cellphone number. - * @param bool $formatted [def: true] If it should return a formatted number or not. - * @return string - */ - public static function cellphoneNumber($formatted = true) - { - return static::anyPhoneNumber('cellphone', $formatted); - } - - /** - * Concatenates {@link areaCode} and {@link landline} into a national landline number. - * @param bool $formatted [def: true] If it should return a formatted number or not. - * @return string - */ - public static function landlineNumber($formatted = true) - { - return static::anyPhoneNumber('landline', $formatted); - } - - /** - * Randomizes between complete cellphone and landline numbers. - * @return mixed - */ - public function phoneNumber() - { - $method = static::randomElement(array('cellphoneNumber', 'landlineNumber')); - return call_user_func("static::$method", true); - } - - /** - * Randomizes between complete cellphone and landline numbers, cleared from formatting symbols. - * @return mixed - */ - public static function phoneNumberCleared() - { - $method = static::randomElement(array('cellphoneNumber', 'landlineNumber')); - return call_user_func("static::$method", false); - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/pt_BR/check_digit.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/pt_BR/check_digit.php deleted file mode 100644 index ab67db9..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/pt_BR/check_digit.php +++ /dev/null @@ -1,35 +0,0 @@ -= 12; - $verifier = 0; - - for ($i = 1; $i <= $length; $i++) { - if (!$second_algorithm) { - $multiplier = $i+1; - } else { - $multiplier = ($i >= 9)? $i-7 : $i+1; - } - $verifier += $numbers[$length-$i] * $multiplier; - } - - $verifier = 11 - ($verifier % 11); - if ($verifier >= 10) { - $verifier = 0; - } - - return $verifier; -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/pt_PT/Address.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/pt_PT/Address.php deleted file mode 100644 index d804ff2..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/pt_PT/Address.php +++ /dev/null @@ -1,124 +0,0 @@ - 0; $i--) { - $numbers[$i] = substr($number, $i - 1, 1); - $partial[$i] = $numbers[$i] * $factor; - $sum += $partial[$i]; - if ($factor == $base) { - $factor = 1; - } - $factor++; - } - $res = $sum % 11; - - if ($res == 0 || $res == 1) { - $digit = 0; - } else { - $digit = 11 - $res; - } - - return $digit; - } - - /** - * - * @link http://nomesportugueses.blogspot.pt/2012/01/lista-dos-cem-nomes-mais-usados-em.html - */ - - protected static $firstNameMale = array( - 'Rodrigo', 'João', 'Martim', 'Afonso', 'Tomás', 'Gonçalo', 'Francisco', 'Tiago', - 'Diogo', 'Guilherme', 'Pedro', 'Miguel', 'Rafael', 'Gabriel', 'Santiago', 'Dinis', - 'David', 'Duarte', 'José', 'Simão', 'Daniel', 'Lucas', 'Gustavo', 'André', 'Denis', - 'Salvador', 'António', 'Vasco', 'Henrique', 'Lourenço', 'Manuel', 'Eduardo', 'Bernardo', - 'Leandro', 'Luís', 'Diego', 'Leonardo', 'Alexandre', 'Rúben', 'Mateus', 'Ricardo', - 'Vicente', 'Filipe', 'Bruno', 'Nuno', 'Carlos', 'Rui', 'Hugo', 'Samuel', 'Ãlvaro', - 'Matias', 'Fábio', 'Ivo', 'Paulo', 'Jorge', 'Xavier', 'Marco', 'Isaac', 'Raúl','Benjamim', - 'Renato', 'Artur', 'Mário', 'Frederico', 'Cristiano', 'Ivan', 'Sérgio', 'Micael', - 'Vítor', 'Edgar', 'Kevin', 'Joaquim', 'Igor', 'Ângelo', 'Enzo', 'Valentim', 'Flávio', - 'Joel', 'Fernando', 'Sebastião', 'Tomé', 'César', 'Cláudio', 'Nelson', 'Lisandro', 'Jaime', - 'Gil', 'Mauro', 'Sandro', 'Hélder', 'Matheus', 'William', 'Gaspar', 'Márcio', - 'Martinho', 'Emanuel', 'Marcos', 'Telmo', 'Davi', 'Wilson' - ); - - protected static $firstNameFemale = array( - 'Maria', 'Leonor', 'Matilde', 'Mariana', 'Ana', 'Beatriz', 'Inês', 'Lara', 'Carolina', 'Margarida', - 'Joana', 'Sofia', 'Diana', 'Francisca', 'Laura', 'Sara', 'Madalena', 'Rita', 'Mafalda', 'Catarina', - 'Luana', 'Marta', 'Ãris', 'Alice', 'Bianca', 'Constança', 'Gabriela', 'Eva', 'Clara', 'Bruna', 'Daniela', - 'Iara', 'Filipa', 'Vitória', 'Ariana', 'Letícia', 'Bárbara', 'Camila', 'Rafaela', 'Carlota', 'Yara', - 'Núria', 'Raquel', 'Ema', 'Helena', 'Benedita', 'Érica', 'Isabel', 'Nicole', 'Lia', 'Alícia', 'Mara', - 'Jéssica', 'Soraia', 'Júlia', 'Luna', 'Victória', 'Luísa', 'Teresa', 'Miriam', 'Adriana', 'Melissa', - 'Andreia', 'Juliana', 'Alexandra', 'Yasmin', 'Tatiana', 'Leticia', 'Luciana', 'Eduarda', 'Cláudia', - 'Débora', 'Fabiana', 'Renata', 'Kyara', 'Kelly', 'Irina', 'Mélanie', 'Nádia', 'Cristiana', 'Liliana', - 'Patrícia', 'Vera', 'Doriana', 'Ângela', 'Mia', 'Erica', 'Mónica', 'Isabela', 'Salomé', 'Cátia', - 'Verónica', 'Violeta', 'Lorena', 'Érika', 'Vanessa', 'Iris', 'Anna', 'Viviane', 'Rebeca', 'Neuza', - ); - - protected static $lastName = array( - 'Abreu', 'Almeida', 'Alves', 'Amaral', 'Amorim', 'Andrade', 'Anjos', 'Antunes', 'Araújo', 'Assunção', - 'Azevedo', 'Baptista', 'Barbosa', 'Barros', 'Batista', 'Borges', 'Branco', 'Brito', 'Campos', 'Cardoso', - 'Carneiro', 'Carvalho', 'Castro', 'Coelho', 'Correia', 'Costa', 'Cruz', 'Cunha', 'Domingues', 'Esteves', - 'Faria', 'Fernandes', 'Ferreira', 'Figueiredo', 'Fonseca', 'Freitas', 'Garcia', 'Gaspar', 'Gomes', - 'Gonçalves', 'Guerreiro', 'Henriques', 'Jesus', 'Leal', 'Leite', 'Lima', 'Lopes', 'Loureiro', 'Lourenço', - 'Macedo', 'Machado', 'Magalhães', 'Maia', 'Marques', 'Martins', 'Matias', 'Matos', 'Melo', 'Mendes', - 'Miranda', 'Monteiro', 'Morais', 'Moreira', 'Mota', 'Moura', 'Nascimento', 'Neto', 'Neves', 'Nogueira', - 'Nunes', 'Oliveira', 'Pacheco', 'Paiva', 'Pereira', 'Pinheiro', 'Pinho', 'Pinto', 'Pires', 'Ramos', - 'Reis', 'Ribeiro', 'Rocha', 'Rodrigues', 'Santos', 'Silva', 'Simões', 'Soares', 'Sousa', - 'Sá', 'Tavares', 'Teixeira', 'Torres', 'Valente', 'Vaz', 'Vicente', 'Vieira', - ); -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/pt_PT/PhoneNumber.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/pt_PT/PhoneNumber.php deleted file mode 100644 index 618a01c..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/pt_PT/PhoneNumber.php +++ /dev/null @@ -1,50 +0,0 @@ -generator->parse($format); - } - - public function address() - { - $format = static::randomElement(static::$addressFormats); - - return $this->generator->parse($format); - } - - public function streetAddress() - { - $format = static::randomElement(static::$streetAddressFormats); - - return $this->generator->parse($format); - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/ro_MD/Payment.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/ro_MD/Payment.php deleted file mode 100644 index 5fb9543..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/ro_MD/Payment.php +++ /dev/null @@ -1,19 +0,0 @@ -generator->parse($format); - } - - /** - * @example 'Cluj' - */ - public function county() - { - return static::randomElement(static::$counties); - } - - public function address() - { - $format = static::randomElement(static::$addressFormats); - - return $this->generator->parse($format); - } - - public function streetAddress() - { - $format = static::randomElement(static::$streetAddressFormats); - - return $this->generator->parse($format); - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/ro_RO/Payment.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/ro_RO/Payment.php deleted file mode 100644 index 980e8bb..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/ro_RO/Payment.php +++ /dev/null @@ -1,19 +0,0 @@ - '01', 'AR' => '02', 'AG' => '03', 'B' => '40', 'BC' => '04', 'BH' => '05', - 'BN' => '06', 'BT' => '07', 'BV' => '08', 'BR' => '09', 'BZ' => '10', 'CS' => '11', - 'CL' => '51', 'CJ' => '12', 'CT' => '13', 'CV' => '14', 'DB' => '15', 'DJ' => '16', - 'GL' => '17', 'GR' => '52', 'GJ' => '18', 'HR' => '19', 'HD' => '20', 'IL' => '21', - 'IS' => '22', 'IF' => '23', 'MM' => '24', 'MH' => '25', 'MS' => '26', 'NT' => '27', - 'OT' => '28', 'PH' => '29', 'SM' => '30', 'SJ' => '31', 'SB' => '32', 'SV' => '33', - 'TR' => '34', 'TM' => '35', 'TL' => '36', 'VS' => '37', 'VL' => '38', 'VN' => '39', - - 'B1' => '41', 'B2' => '42', 'B3' => '43', 'B4' => '44', 'B5' => '45', 'B6' => '46' - ); - - /** - * Personal Numerical Code (CNP) - * - * @link http://ro.wikipedia.org/wiki/Cod_numeric_personal - * @example 1111111111118 - * - * @param null|string $gender Person::GENDER_MALE or Person::GENDER_FEMALE - * @param null|string $dateOfBirth (1800-2099) 'Y-m-d', 'Y-m', 'Y' I.E. '1981-06-16', '2085-03', '1900' - * @param null|string $county county code where the CNP was issued - * @param null|bool $isResident flag if the person resides in Romania - * @return string 13 digits CNP code - */ - public function cnp($gender = null, $dateOfBirth = null, $county = null, $isResident = true) - { - $genders = array(Person::GENDER_MALE, Person::GENDER_FEMALE); - if (empty($gender)) { - $gender = static::randomElement($genders); - } elseif (!in_array($gender, $genders)) { - throw new \InvalidArgumentException("Gender must be '{Person::GENDER_MALE}' or '{Person::GENDER_FEMALE}'"); - } - - $date = $this->getDateOfBirth($dateOfBirth); - - if (is_null($county)) { - $countyCode = static::randomElement(array_values(static::$cnpCountyCodes)); - } elseif (!array_key_exists($county, static::$cnpCountyCodes)) { - throw new \InvalidArgumentException("Invalid county code '{$county}' received"); - } else { - $countyCode = static::$cnpCountyCodes[$county]; - } - - $cnp = (string)$this->getGenderDigit($date, $gender, $isResident) - . $date->format('ymd') - . $countyCode - . static::numerify('##%') - ; - - $checksum = $this->getChecksumDigit($cnp); - - return $cnp.$checksum; - } - - /** - * @param $dateOfBirth - * @return \DateTime - */ - protected function getDateOfBirth($dateOfBirth) - { - if (empty($dateOfBirth)) { - $dateOfBirthParts = array(static::numberBetween(1800, 2099)); - } else { - $dateOfBirthParts = explode('-', $dateOfBirth); - } - $baseDate = \Faker\Provider\DateTime::dateTimeBetween("first day of {$dateOfBirthParts[0]}", "last day of {$dateOfBirthParts[0]}"); - - switch (count($dateOfBirthParts)) { - case 1: - $dateOfBirthParts[] = $baseDate->format('m'); - //don't break, we need the day also - case 2: - $dateOfBirthParts[] = $baseDate->format('d'); - //don't break, next line will - case 3: - break; - default: - throw new \InvalidArgumentException("Invalid date of birth - must be null or in the 'Y-m-d', 'Y-m', 'Y' format"); - } - - if ($dateOfBirthParts[0] < 1800 || $dateOfBirthParts[0] > 2099) { - throw new \InvalidArgumentException("Invalid date of birth - year must be between 1900 and 2099, '{$dateOfBirthParts[0]}' received"); - } - - $dateOfBirthFinal = implode('-', $dateOfBirthParts); - $date = \DateTime::createFromFormat('Y-m-d', $dateOfBirthFinal); - //a full (invalid) date might have been supplied, check if it converts - if ($date->format('Y-m-d') !== $dateOfBirthFinal) { - throw new \InvalidArgumentException("Invalid date of birth - '{$date->format('Y-m-d')}' generated based on '{$dateOfBirth}' received"); - } - - return $date; - } - - /** - * - * https://ro.wikipedia.org/wiki/Cod_numeric_personal#S - * - * @param \DateTime $dateOfBirth - * @param bool $isResident - * @param string $gender - * @return int - */ - protected static function getGenderDigit(\DateTime $dateOfBirth, $gender, $isResident) - { - if (!$isResident) { - return 9; - } - - if ($dateOfBirth->format('Y') < 1900) { - if ($gender == Person::GENDER_MALE) { - return 3; - } - return 4; - } - - if ($dateOfBirth->format('Y') < 2000) { - if ($gender == Person::GENDER_MALE) { - return 1; - } - return 2; - } - - if ($gender == Person::GENDER_MALE) { - return 5; - } - return 6; - } - - /** - * Calculates a checksum for the Personal Numerical Code (CNP). - * - * @param string $value 12 digit CNP - * @return int checksum digit - */ - protected function getChecksumDigit($value) - { - $checkNumber = 279146358279; - - $checksum = 0; - foreach (range(0, 11) as $digit) { - $checksum += (int)substr($value, $digit, 1) * (int)substr($checkNumber, $digit, 1); - } - $checksum = $checksum % 11; - - return $checksum == 10 ? 1 : $checksum; - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/ro_RO/PhoneNumber.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/ro_RO/PhoneNumber.php deleted file mode 100644 index 377e224..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/ro_RO/PhoneNumber.php +++ /dev/null @@ -1,66 +0,0 @@ - array( - '021#######', // Bucharest - '023#######', - '024#######', - '025#######', - '026#######', - '027#######', // non-geographic - '031#######', // Bucharest - '033#######', - '034#######', - '035#######', - '036#######', - '037#######', // non-geographic - ), - 'mobile' => array( - '07########', - ) - ); - - protected static $specialFormats = array( - 'toll-free' => array( - '0800######', - '0801######', // shared-cost numbers - '0802######', // personal numbering - '0806######', // virtual cards - '0807######', // pre-paid cards - '0870######', // internet dial-up - ), - 'premium-rate' => array( - '0900######', - '0903######', // financial information - '0906######', // adult entertainment - ) - ); - - /** - * @link http://en.wikipedia.org/wiki/Telephone_numbers_in_Romania#Last_years - */ - public function phoneNumber() - { - $type = static::randomElement(array_keys(static::$normalFormats)); - - return static::numerify(static::randomElement(static::$normalFormats[$type])); - } - - public static function tollFreePhoneNumber() - { - $number = static::numerify(static::randomElement(static::$specialFormats['toll-free'])); - - return $number; - } - - public static function premiumRatePhoneNumber() - { - $number = static::numerify(static::randomElement(static::$specialFormats['premium-rate'])); - - return $number; - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/ro_RO/Text.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/ro_RO/Text.php deleted file mode 100644 index 410c6f9..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/ro_RO/Text.php +++ /dev/null @@ -1,154 +0,0 @@ -generator->parse($format); - } - - public static function country() - { - return static::randomElement(static::$country); - } - - public static function postcode() - { - return static::toUpper(static::bothify(static::randomElement(static::$postcode))); - } - - public static function regionSuffix() - { - return static::randomElement(static::$regionSuffix); - } - - public static function region() - { - return static::randomElement(static::$region); - } - - public static function cityPrefix() - { - return static::randomElement(static::$cityPrefix); - } - - public function city() - { - return static::randomElement(static::$city); - } - - public static function streetPrefix() - { - return static::randomElement(static::$streetPrefix); - } - - public static function street() - { - return static::randomElement(static::$street); - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/ru_RU/Color.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/ru_RU/Color.php deleted file mode 100644 index e1af033..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/ru_RU/Color.php +++ /dev/null @@ -1,23 +0,0 @@ -generator->parse($format); - } - - public static function companyPrefix() - { - return static::randomElement(static::$companyPrefixes); - } - - public static function companyNameElement() - { - return static::randomElement(static::$companyElements); - } - - public static function companyNameSuffix() - { - return static::randomElement(static::$companyNameSuffixes); - } - - public static function inn($area_code = "") - { - if ($area_code === "" || intval($area_code) == 0) { - //Simple generation code for areas in Russian without check for valid - $area_code = static::numberBetween(1, 91); - } else { - $area_code = intval($area_code); - } - $area_code = str_pad($area_code, 2, '0', STR_PAD_LEFT); - $inn_base = $area_code . static::numerify('#######'); - return $inn_base . \Faker\Calculator\Inn::checksum($inn_base); - } - - public static function kpp($inn = "") - { - if ($inn == "" || strlen($inn) < 4) { - $inn = static::inn(); - } - return substr($inn, 0, 4) . "01001"; - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/ru_RU/Internet.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/ru_RU/Internet.php deleted file mode 100644 index 53870ee..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/ru_RU/Internet.php +++ /dev/null @@ -1,9 +0,0 @@ -.*<' | \ - * sed -r 's/—//' | sed -r 's/[\<\>]//g' | sed -r "s/(^|$)/'/g" | sed -r 's/$/,/' | sed -r 's/\&(laquo|raquo);/"/g' | \ - * sed -r 's/\s+/ /g'" - */ - protected static $banks = array( - 'Ðовый Промышленный Банк', - 'Ðовый Символ', - 'ÐокÑÑбанк', - 'ÐооÑфера', - 'Ðордеа Банк', - 'Ðота-Банк', - 'ÐС Банк', - 'ÐСТ-Банк', - 'ÐÑклиÑ-Банк', - 'Образование', - 'Объединенный Банк Промышленных ИнвеÑтиций', - 'Объединенный Банк РеÑпублики', - 'Объединенный Капитал', - 'Объединенный Кредитный Банк', - 'Объединенный Кредитный Банк МоÑковÑкий филиал', - 'Объединенный Ðациональный Банк', - 'Объединенный Резервный Банк', - 'Океан Банк', - 'ОЛМÐ-Банк', - 'Онего', - 'Оней Банк', - 'ОПМ-Банк', - 'Оргбанк', - 'Оренбург', - 'ОТП Банк', - 'ОФК Банк', - 'Охабанк', - 'Первобанк', - 'ПервомайÑкий', - 'ПервоуральÑкбанк', - 'Первый ДортранÑбанк', - 'Первый ИнвеÑтиционный банк', - 'Первый КлиентÑкий Банк', - 'Первый ЧешÑко-РоÑÑийÑкий Банк', - 'ПереÑвет', - 'Пермь', - 'ПетербургÑкий Социальный КоммерчеÑкий Банк', - 'Петрокоммерц', - 'ПИР Банк', - 'Платина', - 'Плато-Банк', - 'ÐŸÐ»ÑŽÑ Ð‘Ð°Ð½Ðº', - 'Пойдем!', - 'Почтобанк', - 'Прайм ФинанÑ', - 'Преодоление', - 'Приморье', - 'ПримÑоцбанк', - 'Примтеркомбанк', - 'Прио-Внешторгбанк', - 'Приобье', - 'ПриполÑрный', - 'ПриÑко Капитал Банк', - 'ПробизнеÑбанк', - 'ПроинвеÑтбанк', - 'Прокоммерцбанк', - 'ПроминвеÑтбанк', - 'Промрегионбанк', - 'ПромÑвÑзьбанк', - 'ПромÑвÑзьинвеÑтбанк', - 'ПромÑельхозбанк', - 'ПромтранÑбанк', - 'Промышленно-ФинанÑовое СотрудничеÑтво', - 'ПромÑнергобанк', - 'ПрофеÑÑионал Банк', - 'Профит Банк', - 'Прохладный', - 'ÐŸÑƒÐ»ÑŒÑ Ð¡Ñ‚Ð¾Ð»Ð¸Ñ†Ñ‹', - 'Радиотехбанк', - 'Развитие', - 'Развитие-Столица', - 'Райффайзенбанк', - 'РаÑчетно-Кредитный Банк', - 'РаÑчетный Дом', - 'РБÐ', - 'Региональный Банк РазвитиÑ', - 'Региональный Банк Сбережений', - 'Региональный КоммерчеÑкий Банк', - 'Региональный Кредит', - 'РегионфинанÑбанк', - 'Регнум', - 'Резерв', - 'РенеÑÑанÑ', - 'РенеÑÑÐ°Ð½Ñ ÐšÑ€ÐµÐ´Ð¸Ñ‚', - 'Рента-Банк', - 'РЕСО Кредит', - 'РеÑпубликанÑкий Кредитный ÐльÑнÑ', - 'РеÑурÑ-ТраÑÑ‚', - 'Риабанк', - 'Риал-Кредит', - 'РинвеÑтбанк', - 'РинвеÑтбанк МоÑковÑкий офиÑ', - 'РИТ-Банк', - 'РРБанк', - 'РоÑавтобанк', - 'РоÑбанк', - 'РоÑбизнеÑбанк', - 'РоÑгоÑÑтрах Банк', - 'РоÑдорбанк', - 'РоÑЕвроБанк', - 'РоÑинтерБанк', - 'РоÑпромбанк', - 'РоÑÑельхозбанк', - 'РоÑÑийÑÐºÐ°Ñ Ð¤Ð¸Ð½Ð°Ð½ÑÐ¾Ð²Ð°Ñ ÐšÐ¾Ñ€Ð¿Ð¾Ñ€Ð°Ñ†Ð¸Ñ', - 'РоÑÑийÑкий Капитал', - 'РоÑÑийÑкий Кредит', - 'РоÑÑийÑкий Ðациональный КоммерчеÑкий Банк', - 'РоÑÑита-Банк', - 'РоÑÑиÑ', - 'РоÑÑ‚ Банк', - 'РоÑтфинанÑ', - 'РоÑÑкÑимбанк', - 'РоÑÑнергобанк', - 'РоÑл Кредит Банк', - 'РСКБ', - 'РТС-Банк', - 'РУБанк', - 'Рублев', - 'Руна-Банк', - 'РунÑтбанк', - 'РуÑкобанк', - 'РуÑнарбанк', - 'РуÑÑкий Банк Сбережений', - 'РуÑÑкий Ипотечный Банк', - 'РуÑÑкий Международный Банк', - 'РуÑÑкий Ðациональный Банк', - 'РуÑÑкий Стандарт', - 'РуÑÑкий Торговый Банк', - 'РуÑÑкий ТраÑтовый Банк', - 'РуÑÑкий ФинанÑовый ÐльÑнÑ', - 'РуÑÑкий Элитарный Банк', - 'РуÑÑлавбанк', - 'РуÑÑобанк', - 'РуÑÑтройбанк', - 'РуÑÑ„Ð¸Ð½Ð°Ð½Ñ Ð‘Ð°Ð½Ðº', - 'РуÑÑŒ', - 'РуÑьРегионБанк', - 'РуÑьуниверÑалбанк', - 'РуÑЮгбанк', - 'РФИ Банк', - 'Саммит Банк', - 'Санкт-ПетербургÑкий Банк ИнвеÑтиций', - 'Саратов', - 'СаровбизнеÑбанк', - 'Сбербанк РоÑÑии', - 'СвÑзной Банк', - 'СвÑзь-Банк', - 'СДМ-Банк', - 'СеваÑтопольÑкий МорÑкой банк', - 'Северный Кредит', - 'Северный Ðародный Банк', - 'Северо-ВоÑточный ÐльÑнÑ', - 'Северо-Западный 1 ÐльÑÐ½Ñ Ð‘Ð°Ð½Ðº', - 'СеверÑтройбанк', - 'СевзапинвеÑтпромбанк', - 'Сельмашбанк', - 'СервиÑ-Резерв', - 'Сетелем Банк', - 'СИÐБ', - 'СибирÑкий Банк РеконÑтрукции и РазвитиÑ', - 'Сибнефтебанк', - 'СибÑоцбанк', - 'СибÑÑ', - 'СибÑÑ ÐœÐ¾ÑковÑкий офиÑ', - 'СинергиÑ', - 'Синко-Банк', - 'СиÑтема', - 'Сити ИнвеÑÑ‚ Банк', - 'Ситибанк', - 'СКÐ-Банк', - 'СКБ-Банк', - 'СлавиÑ', - 'СлавÑнбанк', - 'СлавÑнÑкий Кредит', - 'Смартбанк', - 'СМБ-Банк', - 'Смолевич', - 'СМП Банк', - 'СнежинÑкий', - 'Собинбанк', - 'Соверен Банк', - 'СоветÑкий', - 'Совкомбанк', - 'Современные Стандарты БизнеÑа', - 'СодружеÑтво', - 'СоколовÑкий', - 'Солид Банк', - 'СолидарноÑÑ‚ÑŒ (МоÑква)', - 'СолидарноÑÑ‚ÑŒ (Самара)', - 'СоцинвеÑтбанк', - 'СоцинвеÑтбанк МоÑковÑкий филиал', - 'Социум-Банк', - 'Союз', - 'Союзный', - 'СпецÑтройбанк', - 'Спиритбанк', - 'Спурт Банк', - 'Спутник', - 'СтавропольпромÑтройбанк', - 'Сталь Банк', - 'Стандарт-Кредит', - 'Стар ÐльÑнÑ', - 'СтарБанк', - 'СтарооÑкольÑкий Ðгропромбанк', - 'Старый Кремль', - 'Стелла-Банк', - 'Столичный Кредит', - 'СтратегиÑ', - 'Строительно-КоммерчеÑкий Банк', - 'СтройлеÑбанк', - 'Сумитомо Мицуи', - 'Сургутнефтегазбанк', - 'СЭБ Банк', - 'Таатта', - 'ТавричеÑкий', - 'Таганрогбанк', - 'Тагилбанк', - 'Тайдон', - 'Тайм Банк', - 'Тальменка-Банк', - 'Тальменка-Банк МоÑковÑкий филиал', - 'Тамбовкредитпромбанк', - 'Татагропромбанк', - 'ТатÑоцбанк', - 'Татфондбанк', - 'Ð¢Ð°ÑƒÑ€ÑƒÑ Ð‘Ð°Ð½Ðº', - 'ТверьУниверÑалБанк', - 'ТекÑбанк', - 'Темпбанк', - 'Тендер-Банк', - 'Терра', - 'ТетраполиÑ', - 'Тимер Банк', - 'Тинькофф Банк', - 'ТихоокеанÑкий Внешторгбанк', - 'Тойота Банк', - 'ТольÑттихимбанк', - 'ТомÑкпромÑтройбанк', - 'Торгово-Промышленный Банк КитаÑ', - 'Торговый ГородÑкой Банк', - 'ТоржокуниверÑалбанк', - 'ТранÑкапиталбанк', - 'ТранÑнациональный Банк', - 'ТранÑпортный', - 'ТранÑÑтройбанк', - 'ТраÑÑ‚ Капитал Банк', - 'Тройка-Д Банк', - 'ТульÑкий Промышленник', - 'ТульÑкий Промышленник МоÑковÑкий офиÑ', - 'ТульÑкий РаÑчетный Центр', - 'Турбобанк', - 'ТуÑар', - 'ТЭМБР-Банк', - 'ТЭСТ', - 'Углеметбанк', - 'Уздан', - 'Унифин', - 'Унифондбанк', - 'Уралкапиталбанк', - 'Уралприватбанк', - 'Уралпромбанк', - 'УралÑиб', - 'УралтранÑбанк', - 'УралфинанÑ', - 'УральÑкий Банк РеконÑтрукции и РазвитиÑ', - 'УральÑкий Межрегиональный Банк', - 'УральÑкий ФинанÑовый Дом', - 'Ури Банк', - 'УÑÑури', - 'ФДБ', - 'ФИÐ-Банк', - 'Финам Банк', - 'Ð¤Ð¸Ð½Ð°Ð½Ñ Ð‘Ð¸Ð·Ð½ÐµÑ Ð‘Ð°Ð½Ðº', - 'ФинанÑово-Промышленный Капитал', - 'ФинанÑовый Капитал', - 'ФинанÑовый Стандарт', - 'Ð¤Ð¸Ð½Ð°Ñ€Ñ Ð‘Ð°Ð½Ðº', - 'Финпромбанк (ФПБ Банк)', - 'ФинтраÑтбанк', - 'ФК Открытие (бывш. ÐОМОС-Банк)', - 'Флора-МоÑква', - 'ФолькÑваген Банк РуÑ', - 'ФондÑервиÑбанк', - 'Фора-Банк', - 'Форбанк', - 'Ð¤Ð¾Ñ€ÑƒÑ Ð‘Ð°Ð½Ðº', - 'Форштадт', - 'Фьючер', - 'ХакаÑÑкий Муниципальный Банк', - 'Ханты-МанÑийÑкий банк Открытие', - 'Химик', - 'Хлынов', - 'ХованÑкий', - 'ХолдинвеÑтбанк', - 'ХолмÑк', - 'Хоум Кредит Банк', - 'Центр-инвеÑÑ‚', - 'Центрально-ÐзиатÑкий', - 'Центрально-ЕвропейÑкий Банк', - 'Центркомбанк', - 'ЦентроКредит', - 'Церих', - 'Чайна КонÑтракшн', - 'ЧайнаÑельхозбанк', - 'Челиндбанк', - 'ЧелÑбинвеÑтбанк', - 'ЧерноморÑкий банк Ñ€Ð°Ð·Ð²Ð¸Ñ‚Ð¸Ñ Ð¸ реконÑтрукции', - 'Чувашкредитпромбанк', - 'Эйч-ЭÑ-Би-Си Банк (HSBC)', - 'Эко-ИнвеÑÑ‚', - 'Экономбанк', - 'ЭкономикÑ-Банк', - 'ЭкÑи-Банк', - 'ЭкÑперт Банк', - 'ЭкÑпобанк', - 'ЭкÑпреÑÑ-Волга', - 'ЭкÑпреÑÑ-Кредит', - 'Эл Банк', - 'Элита', - 'Эльбин', - 'Энергобанк', - 'Энергомашбанк', - 'ЭнерготранÑбанк', - 'Эно', - 'ЭнтузиаÑтбанк', - 'Эргобанк', - 'Ю Би Ð­Ñ Ð‘Ð°Ð½Ðº', - 'ЮГ-ИнвеÑтбанк', - 'Югра', - 'Южный Региональный Банк', - 'ЮМК', - 'ЮниаÑтрум Банк', - 'ЮниКредит Банк', - 'ЮниÑтрим', - 'Япы Креди Банк МоÑква', - 'ЯР-Банк', - 'Яринтербанк', - 'ЯроÑлавич', - 'K2 Банк', - 'ÐББ', - 'ÐбÑолют Банк', - 'Ðвангард', - 'ÐверÑ', - 'Ðвтоградбанк', - 'ÐвтоКредитБанк', - 'Ðвтоторгбанк', - 'Ðгроинкомбанк', - 'Ðгропромкредит', - 'ÐгророÑ', - 'ÐгроÑоюз', - 'Ðдамон Банк', - 'Ðдамон Банк МоÑковÑкий филиал', - 'Ðделантбанк', - 'ÐдмиралтейÑкий', - 'ÐзиатÑко-ТихоокеанÑкий Банк', - 'Ðзимут', - 'ÐÐ·Ð¸Ñ Ð‘Ð°Ð½Ðº', - 'ÐзиÑ-ИнвеÑÑ‚ Банк', - 'Ðй-Си-Ðй-Си-Ðй Банк (ICICI)', - 'Ðйви Банк', - 'ÐйМаниБанк', - 'Ðк БарÑ', - 'Ðкибанк', - 'Ðккобанк', - 'Ðкрополь', - 'ÐкÑонбанк', - 'Ðктив Банк', - 'ÐктивКапитал Банк', - 'ÐктивКапитал Банк МоÑковÑкий филиал', - 'ÐктивКапитал Банк Санкт-ПетербургÑкий филиал', - 'Ðкцент', - 'Ðкцепт', - 'ÐкциÑ', - 'Ðлданзолотобанк', - 'ÐлекÑандровÑкий', - 'Ðлеф-Банк', - 'Ðлжан', - 'ÐлмазÑргиÑнбанк', - 'ÐлтайБизнеÑ-Банк', - 'Ðлтайкапиталбанк', - 'Ðлтынбанк', - 'Ðльба ÐльÑнÑ', - 'Ðльта-Банк', - 'Ðльтернатива', - 'Ðльфа-Банк', - 'ÐМБ Банк', - 'ÐмерикÑн ЭкÑпреÑÑ Ð‘Ð°Ð½Ðº', - 'Ðнелик РУ', - 'Ðнкор Банк', - 'Ðнталбанк', - 'Ðпабанк', - 'ÐреÑбанк', - 'ÐрзамаÑ', - 'ÐркÑбанк', - 'ÐÑ€Ñенал', - 'ÐÑпект', - 'ÐÑÑоциациÑ', - 'БайкалБанк', - 'БайкалИнвеÑтБанк', - 'Байкалкредобанк', - 'Балаково-Банк', - 'БалтийÑкий Банк', - 'Балтика', - 'БалтинвеÑтбанк', - 'Банк "Ðкцент" МоÑковÑкий филиал', - 'Банк "МБÐ-МоÑква"', - 'Банк "Санкт-Петербург"', - 'Банк ÐВБ', - 'Банк БКФ', - 'Банк БФÐ', - 'Банк БЦК-МоÑква', - 'Банк Город', - 'Банк Жилищного ФинанÑированиÑ', - 'Банк Инноваций и РазвитиÑ', - 'Банк Интеза', - 'Банк ИТБ', - 'Банк Казани', - 'Банк ÐšÐ¸Ñ‚Ð°Ñ (ЭлоÑ)', - 'Банк Кредит СвиÑÑ', - 'Банк МБФИ', - 'Банк МоÑквы', - 'Банк на КраÑных Воротах', - 'Банк Оранжевый (бывш. ПромÑервиÑбанк)', - 'Банк оф Токио-МицубиÑи', - 'Банк Премьер Кредит', - 'Банк ÐŸÐ¡Ð Ð¤Ð¸Ð½Ð°Ð½Ñ Ð ÑƒÑ', - 'Банк Ð Ð°Ð·Ð²Ð¸Ñ‚Ð¸Ñ Ð¢ÐµÑ…Ð½Ð¾Ð»Ð¾Ð³Ð¸Ð¹', - 'Банк РаÑчетов и Сбережений', - 'Банк Раунд', - 'Банк РСИ', - 'Банк Сберегательно-кредитного ÑервиÑа', - 'Банк СГБ', - 'Банк Торгового ФинанÑированиÑ', - 'Банк ФинÑервиÑ', - 'Банк ЭкономичеÑкий Союз', - 'БанкирÑкий Дом', - 'Ð‘Ð°Ð½ÐºÑ…Ð°ÑƒÑ Ð­Ñ€Ð±Ðµ', - 'БашкомÑнаббанк', - 'Башпромбанк', - 'ББР Банк', - 'БелгородÑоцбанк', - 'Бенифит-Банк', - 'Берейт', - 'БеÑÑ‚ Ð­Ñ„Ñ„Ð¾Ñ€Ñ‚Ñ Ð‘Ð°Ð½Ðº', - 'Ð‘Ð¸Ð·Ð½ÐµÑ Ð´Ð»Ñ Ð‘Ð¸Ð·Ð½ÐµÑа', - 'Бинбанк', - 'БИÐБÐÐК кредитные карты', - 'Бинбанк МурманÑк', - 'БКС ИнвеÑтиционный Банк', - 'БМВ Банк', - 'БÐП Париба Банк', - 'БогородÑкий', - 'БогородÑкий Муниципальный Банк', - 'БратÑкий ÐÐКБ', - 'БСТ-Банк', - 'Булгар Банк', - 'Бум-Банк', - 'Бумеранг', - 'БФГ-Кредит', - 'БыÑтроБанк', - 'Вакобанк', - 'Вега-Банк', - 'Век', - 'Великие Луки Банк', - 'Венец', - 'ВерхневолжÑкий', - 'ВерхневолжÑкий КрымÑкий филиал', - 'ВерхневолжÑкий МоÑковÑкий филиал', - 'ВерхневолжÑкий ÐевÑкий филиал', - 'ВерхневолжÑкий ТавричеÑкий филиал', - 'ВерхневолжÑкий ЯроÑлавÑкий филиал', - 'ВеÑта', - 'ВеÑтинтербанк', - 'ВзаимодейÑтвие', - 'Викинг', - 'Витабанк', - 'ВитÑзь', - 'Вкабанк', - 'ВладбизнеÑбанк', - 'Владпромбанк', - 'Внешпромбанк', - 'Внешфинбанк', - 'ВнешÑкономбанк', - 'Военно-Промышленный Банк', - 'Возрождение', - 'Вокбанк', - 'Вологдабанк', - 'Вологжанин', - 'Воронеж', - 'ВоÑточно-ЕвропейÑкий ТраÑтовый Банк', - 'ВоÑточный ЭкÑпреÑÑ Ð‘Ð°Ð½Ðº', - 'ВоÑтСибтранÑкомбанк', - 'ВРБ МоÑква', - 'Ð’ÑероÑÑийÑкий Банк Ð Ð°Ð·Ð²Ð¸Ñ‚Ð¸Ñ Ð ÐµÐ³Ð¸Ð¾Ð½Ð¾Ð²', - 'ВТБ', - 'ВТБ 24', - 'ВУЗ-Банк', - 'Выборг-Банк', - 'Выборг-Банк МоÑковÑкий филиал', - 'Ð’Ñлтон Банк', - 'Ð’Ñтич', - 'Ð’Ñтка-Банк', - 'ГагаринÑкий', - 'Газбанк', - 'Газнефтьбанк', - 'Газпромбанк', - 'ГазÑтройбанк', - 'ГазтранÑбанк', - 'ГазÑнергобанк', - 'Ганзакомбанк', - 'Гарант-ИнвеÑÑ‚', - 'Гаранти Банк МоÑква', - 'Геленджик-Банк', - 'Генбанк', - 'Геобанк', - 'ГефеÑÑ‚', - 'ГлобуÑ', - 'ГлобÑкÑ', - 'Голдман Ð¡Ð°ÐºÑ Ð‘Ð°Ð½Ðº', - 'Горбанк', - 'ГПБ-Ипотека', - 'Гранд ИнвеÑÑ‚ Банк', - 'Гринкомбанк', - 'Гринфилдбанк', - 'ГриÑ-Банк', - 'Гута-Банк', - 'Далена', - 'Далетбанк', - 'Далта-Банк', - 'ДальневоÑточный Банк', - 'ДанÑке Банк', - 'Девон-Кредит', - 'ДельтаКредит', - 'Денизбанк МоÑква', - 'Держава', - 'Дж. П. ÐœÐ¾Ñ€Ð³Ð°Ð½ Банк', - 'ДжаÑÑ‚ Банк', - 'Джей Ñнд Ти Банк', - 'Дил-Банк', - 'Динамичные СиÑтемы', - 'Дойче Банк', - 'ДолинÑк', - 'Дом-Банк', - 'Дон-ТекÑбанк', - 'Донкомбанк', - 'Донхлеббанк', - 'Ð”Ð¾Ñ€Ð¸Ñ Ð‘Ð°Ð½Ðº', - 'Дружба', - 'ЕÐТП Банк', - 'ЕвразийÑкий Банк', - 'ЕвроазиатÑкий ИнвеÑтиционный Банк', - 'ЕвроÐкÑÐ¸Ñ Ð‘Ð°Ð½Ðº', - 'ЕвроальÑнÑ', - 'Еврокапитал-ÐльÑнÑ', - 'Еврокоммерц', - 'Еврокредит', - 'Евромет', - 'ЕвропейÑкий Стандарт', - 'Европлан Банк', - 'ЕвроÑитиБанк', - 'Ð•Ð²Ñ€Ð¾Ñ„Ð¸Ð½Ð°Ð½Ñ ÐœÐ¾Ñнарбанк', - 'ЕдинÑтвенный', - 'Единый Строительный Банк', - 'Екатеринбург', - 'ЕкатерининÑкий', - 'ЕниÑей', - 'ЕниÑейÑкий Объединенный Банк', - 'Ермак', - 'Живаго-Банк', - 'Жилкредит', - 'ЖилÑтройбанк', - 'ЗапÑибкомбанк', - 'Заречье', - 'Заубер Банк', - 'Земкомбанк', - 'ЗемÑкий Банк', - 'Зенит', - 'Зенит Сочи', - 'Зернобанк', - 'Зираат Банк', - 'Златкомбанк', - 'И.Д.Е.Ð. Банк', - 'Иваново', - 'Идеалбанк', - 'Ижкомбанк', - 'ИК Банк', - 'Икано Банк', - 'Инбанк', - 'ИнвеÑÑ‚-Экобанк', - 'ИнвеÑтиционный Банк Кубани', - 'ИнвеÑтиционный РеÑпубликанÑкий Банк', - 'ИнвеÑтиционный Союз', - 'ИнвеÑткапиталбанк', - 'ИнвеÑÑ‚Ñоцбанк', - 'ИнвеÑтторгбанк', - 'ИÐГ Банк', - 'ИндуÑтриальный Сберегательный Банк', - 'Инкаробанк', - 'Интерактивный Банк', - 'Интеркоммерц Банк', - 'Интеркоопбанк', - 'Интеркредит', - 'Интернациональный Торговый Банк', - 'ИнтерпрогреÑÑбанк', - 'Интерпромбанк', - 'Интехбанк', - 'ИнформпрогреÑÑ', - 'Ипозембанк', - 'ИпоТек Банк', - 'Иронбанк', - 'ИРС', - 'Итуруп', - 'Ишбанк', - 'Йошкар-Ола', - 'Калуга', - 'КамÑкий Горизонт', - 'КамÑкий КоммерчеÑкий Банк', - 'Камчаткомагропромбанк', - 'КанÑкий', - 'Капитал', - 'Капиталбанк', - 'Кедр', - 'КемÑоцинбанк', - 'КетовÑкий КоммерчеÑкий Банк', - 'Киви Банк', - 'КлаÑÑик Эконом Банк', - 'КлиентÑкий', - 'Кольцо Урала', - 'Коммерцбанк (ЕвразиÑ)', - 'КоммерчеÑкий Банк РазвитиÑ', - 'КоммерчеÑкий Индо Банк', - 'КонÑервативный КоммерчеÑкий Банк', - 'КонÑтанÑ-Банк', - 'Континенталь', - 'КонфидÑÐ½Ñ Ð‘Ð°Ð½Ðº', - 'Кор', - 'Кореа ЭкÑчендж Банк РуÑ', - 'КоролевÑкий Банк Шотландии', - 'КоÑмоÑ', - 'КоÑтромаÑелькомбанк', - 'Кошелев-Банк', - 'КрайинвеÑтбанк', - 'Кранбанк', - 'Креди Ðгриколь КИБ', - 'Кредит Европа Банк', - 'Кредит Урал Банк', - 'Кредит ЭкÑпреÑÑ', - 'Кредит-МоÑква', - 'КредитинвеÑÑ‚', - 'Кредо ФинанÑ', - 'Кредпромбанк', - 'КремлевÑкий', - 'КрокуÑ-Банк', - 'Крона-Банк', - 'КроÑна-Банк', - 'КроÑÑинвеÑтбанк', - 'КрыловÑкий', - 'КС Банк', - 'КубанÑкий УниверÑальный Банк', - 'Кубань Кредит', - 'Кубаньторгбанк', - 'КузбаÑÑхимбанк', - 'КузнецкбизнеÑбанк', - 'Кузнецкий', - 'Кузнецкий МоÑÑ‚', - 'Курган', - 'КурÑкпромбанк', - 'Лада-Кредит', - 'Лайтбанк', - 'Ланта-Банк', - 'Левобережный', - 'Легион', - 'Леноблбанк', - 'ЛеÑбанк', - 'Лето Банк', - 'Липецккомбанк', - 'ЛогоÑ', - 'Локо-Банк', - 'ЛÑнд-Банк', - 'Ðœ2Ðœ Прайвет Банк', - 'Майкопбанк', - 'МайÑкий', - 'ÐœÐК-Банк', - 'МакÑима', - 'МакÑимум', - 'ÐœÐСТ-Банк', - 'МаÑтер-Капитал', - 'МВС Банк', - 'МДМ Банк', - 'МегаполиÑ', - 'Международный Ðкционерный Банк', - 'Международный Банк РазвитиÑ', - 'Международный Банк Санкт-Петербурга (МБСП)', - 'Международный КоммерчеÑкий Банк', - 'Международный РаÑчетный Банк', - 'Международный Строительный Банк', - 'Международный ФинанÑовый Клуб', - 'МежотраÑÐ»ÐµÐ²Ð°Ñ Ð‘Ð°Ð½ÐºÐ¾Ð²ÑÐºÐ°Ñ ÐšÐ¾Ñ€Ð¿Ð¾Ñ€Ð°Ñ†Ð¸Ñ', - 'Межрегиональный Банк РеконÑтрукции', - 'Межрегиональный Клиринговый Банк', - 'Межрегиональный Почтовый Банк', - 'Межрегиональный промышленно-Ñтроительный банк', - 'Межрегионбанк', - 'МежтопÑнергобанк', - 'МежтраÑтбанк', - 'МерÑедеÑ-Бенц Банк РуÑ', - 'МеталлинвеÑтбанк', - 'Металлург', - 'Меткомбанк (КаменÑк-УральÑкий)', - 'Меткомбанк (Череповец)', - 'Метробанк', - 'Метрополь', - 'Мидзухо Банк', - 'Мико-Банк', - 'Милбанк', - 'Миллениум Банк', - 'Мир Ð‘Ð¸Ð·Ð½ÐµÑ Ð‘Ð°Ð½Ðº', - 'Мираф-Банк', - 'Мираф-Банк МоÑковÑкий филиал', - 'Миръ', - 'МихайловÑкий ПЖСБ', - 'Морган СтÑнли Банк', - 'МорÑкой Банк', - 'МоÑводоканалбанк', - 'МоÑква', - 'МоÑква-Сити', - 'МоÑковÑкий ВекÑельный Банк', - 'МоÑковÑкий ИндуÑтриальный Банк', - 'МоÑковÑкий КоммерчеÑкий Банк', - 'МоÑковÑкий Кредитный Банк', - 'МоÑковÑкий Ðациональный ИнвеÑтиционный Банк', - 'МоÑковÑкий ÐефтехимичеÑкий Банк', - 'МоÑковÑкий ОблаÑтной Банк', - 'МоÑковÑко-ПарижÑкий Банк', - 'МоÑковÑкое Ипотечное ÐгентÑтво', - 'МоÑкоммерцбанк', - 'МоÑÑтройÑкономбанк (Ðœ Банк)', - 'МоÑтранÑбанк', - 'МоÑуралбанк', - 'МС Банк РуÑ', - 'МСП Банк', - 'МТИ-Банк', - 'МТС Банк', - 'Муниципальный Камчатпрофитбанк', - 'МурманÑкий Социальный КоммерчеÑкий Банк', - 'МФБанк', - 'Ð-Банк', - 'Ðальчик', - 'Ðаратбанк', - 'Ðародный Банк', - 'Ðародный Банк РеÑпублики Тыва', - 'Ðародный Доверительный Банк', - 'Ðародный Земельно-Промышленный Банк', - 'Ðародный ИнвеÑтиционный Банк', - 'ÐатикÑÐ¸Ñ Ð‘Ð°Ð½Ðº', - 'ÐацинвеÑтпромбанк', - 'ÐÐ°Ñ†Ð¸Ð¾Ð½Ð°Ð»ÑŒÐ½Ð°Ñ Ð¤Ð°ÐºÑ‚Ð¾Ñ€Ð¸Ð½Ð³Ð¾Ð²Ð°Ñ ÐšÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ñ', - 'Ðациональный Банк "ТраÑÑ‚"', - 'Ðациональный Банк Взаимного Кредита', - 'Ðациональный Банк Сбережений', - 'Ðациональный Залоговый Банк', - 'Ðациональный Клиринговый Банк', - 'Ðациональный Клиринговый Центр', - 'Ðациональный Корпоративный Банк', - 'Ðациональный Резервный Банк', - 'Ðациональный Стандарт', - 'Ðаш Дом', - 'ÐБД-Банк', - 'ÐБК-Банк', - 'ÐеваÑтройинвеÑÑ‚', - 'ÐевÑкий Банк', - 'Ðейва', - 'Ðерюнгрибанк', - 'Ðефтепромбанк', - 'ÐефтÑной ÐльÑнÑ', - 'ÐижневолжÑкий КоммерчеÑкий Банк', - 'Ðико-Банк', - 'ÐК Банк', - 'ÐоваховКапиталБанк', - 'ÐовациÑ', - 'Ðовикомбанк', - 'Ðовобанк', - 'Ðовое ВремÑ', - 'Ðовокиб', - 'ÐовопокровÑкий', - 'Ðовый Век', - 'Ðовый Кредитный Союз', - 'Ðовый МоÑковÑкий Банк', - ); - - /** - * @example 'Ðовый МоÑковÑкий Банк' - */ - public static function bank() - { - return static::randomElement(static::$banks); - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/ru_RU/Person.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/ru_RU/Person.php deleted file mode 100644 index e02113d..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/ru_RU/Person.php +++ /dev/null @@ -1,179 +0,0 @@ -middleNameMale(); - } elseif ($gender === static::GENDER_FEMALE) { - return $this->middleNameFemale(); - } - - return $this->middleName(static::randomElement(array( - static::GENDER_MALE, - static::GENDER_FEMALE, - ))); - } - - /** - * Return last name for the specified gender. - * - * @param string|null $gender A gender of the last name should be generated - * for. If the argument is skipped a random gender will be used. - * @return string Last name - */ - public function lastName($gender = null) - { - $lastName = static::randomElement(static::$lastName); - - if (static::GENDER_FEMALE === $gender) { - return $lastName . 'a'; - } elseif (static::GENDER_MALE === $gender) { - return $lastName; - } - - return $lastName . static::randomElement(static::$lastNameSuffix); - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/ru_RU/PhoneNumber.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/ru_RU/PhoneNumber.php deleted file mode 100644 index c7477d7..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/ru_RU/PhoneNumber.php +++ /dev/null @@ -1,14 +0,0 @@ -generator->parse(static::randomElement(static::$lastNameFormat)); - } - - public static function lastNameMale() - { - return static::randomElement(static::$lastNameMale); - } - - public static function lastNameFemale() - { - return static::randomElement(static::$lastNameFemale); - } - - /** - * @example 'PhD' - */ - public static function suffix() - { - return static::randomElement(static::$suffix); - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/sk_SK/PhoneNumber.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/sk_SK/PhoneNumber.php deleted file mode 100644 index 1baf7cc..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/sk_SK/PhoneNumber.php +++ /dev/null @@ -1,15 +0,0 @@ -format('ymd'); - - if ($gender && $gender == static::GENDER_MALE) { - $randomDigits = (string)static::numerify('##') . static::randomElement(array(1,3,5,7,9)); - } elseif ($gender && $gender == static::GENDER_FEMALE) { - $randomDigits = (string)static::numerify('##') . static::randomElement(array(0,2,4,6,8)); - } else { - $randomDigits = (string)static::numerify('###'); - } - - - $checksum = Luhn::computeCheckDigit($datePart . $randomDigits); - - return $datePart . '-' . $randomDigits . $checksum; - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/sv_SE/PhoneNumber.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/sv_SE/PhoneNumber.php deleted file mode 100644 index d15e5dd..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/sv_SE/PhoneNumber.php +++ /dev/null @@ -1,37 +0,0 @@ -format('a') === 'am' ? 'öö' : 'ös'; - } - - public static function dayOfWeek($max = 'now') - { - $map = array( - 'Sunday' => 'Pazar', - 'Monday' => 'Pazartesi', - 'Tuesday' => 'Salı', - 'Wednesday' => 'ÇarÅŸamba', - 'Thursday' => 'PerÅŸembe', - 'Friday' => 'Cuma', - 'Saturday' => 'Cumartesi', - ); - $week = static::dateTime($max)->format('l'); - return isset($map[$week]) ? $map[$week] : $week; - } - - public static function monthName($max = 'now') - { - $map = array( - 'January' => 'Ocak', - 'February' => 'Åžubat', - 'March' => 'Mart', - 'April' => 'Nisan', - 'May' => 'Mayıs', - 'June' => 'Haziran', - 'July' => 'Temmuz', - 'August' => 'AÄŸustos', - 'September' => 'Eylül', - 'October' => 'Ekim', - 'November' => 'Kasım', - 'December' => 'Aralık', - ); - $month = static::dateTime($max)->format('F'); - return isset($map[$month]) ? $map[$month] : $month; - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/tr_TR/Internet.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/tr_TR/Internet.php deleted file mode 100644 index ef907d4..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/tr_TR/Internet.php +++ /dev/null @@ -1,9 +0,0 @@ -generator->parse($format); - } - - public static function streetPrefix() - { - return static::randomElement(static::$streetPrefix); - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/uk_UA/Color.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/uk_UA/Color.php deleted file mode 100644 index 197cc3b..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/uk_UA/Color.php +++ /dev/null @@ -1,23 +0,0 @@ -generator->parse($format); - } - - public static function companyPrefix() - { - return static::randomElement(static::$companyPrefix); - } - - public static function companyName() - { - return static::randomElement(static::$companyName); - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/uk_UA/Internet.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/uk_UA/Internet.php deleted file mode 100644 index 33214d6..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/uk_UA/Internet.php +++ /dev/null @@ -1,9 +0,0 @@ -middleNameMale(); - } elseif ($gender === static::GENDER_FEMALE) { - return $this->middleNameFemale(); - } - - return $this->middleName(static::randomElement(array( - static::GENDER_MALE, - static::GENDER_FEMALE, - ))); - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/uk_UA/PhoneNumber.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/uk_UA/PhoneNumber.php deleted file mode 100644 index 24187f3..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/uk_UA/PhoneNumber.php +++ /dev/null @@ -1,51 +0,0 @@ -generator->parse($format)); - } - - public function hamletPrefix() - { - return static::randomElement(static::$hamletPrefix); - } - - public function wardName() - { - $format = static::randomElement(static::$wardNameFormats); - - return static::bothify($this->generator->parse($format)); - } - - public function wardPrefix() - { - return static::randomElement(static::$wardPrefix); - } - - public function districtName() - { - $format = static::randomElement(static::$districtNameFormats); - - return static::bothify($this->generator->parse($format)); - } - - public function districtPrefix() - { - return static::randomElement(static::$districtPrefix); - } - - /** - * @example 'Hà Ná»™i' - */ - public function city() - { - return static::randomElement(static::$city); - } - - /** - * @example 'Bắc Giang' - */ - public static function province() - { - return static::randomElement(static::$province); - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/vi_VN/Color.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/vi_VN/Color.php deleted file mode 100644 index 4deaa2f..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/vi_VN/Color.php +++ /dev/null @@ -1,36 +0,0 @@ -generator->parse(static::randomElement(static::$middleNameFormat)); - } - - public static function middleNameMale() - { - return static::randomElement(static::$middleNameMale); - } - - public static function middleNameFemale() - { - return static::randomElement(static::$middleNameFemale); - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/vi_VN/PhoneNumber.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/vi_VN/PhoneNumber.php deleted file mode 100644 index 5f9f60a..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/vi_VN/PhoneNumber.php +++ /dev/null @@ -1,61 +0,0 @@ - array( - '0[a] ### ####', - '(0[a]) ### ####', - '0[a]-###-####', - '(0[a])###-####', - '84-[a]-###-####', - '(84)([a])###-####', - '+84-[a]-###-####', - ), - '8' => array( - '0[a] #### ####', - '(0[a]) #### ####', - '0[a]-####-####', - '(0[a])####-####', - '84-[a]-####-####', - '(84)([a])####-####', - '+84-[a]-####-####', - ), - ); - - public function phoneNumber() - { - $areaCode = static::randomElement(static::$areaCodes); - $areaCodeLength = strlen($areaCode); - $digits = 7; - - if ($areaCodeLength < 2) { - $digits = 8; - } - - return static::numerify(str_replace('[a]', $areaCode, static::randomElement(static::$formats[$digits]))); - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/zh_CN/Address.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/zh_CN/Address.php deleted file mode 100644 index 19d1c94..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/zh_CN/Address.php +++ /dev/null @@ -1,149 +0,0 @@ -city() . static::area(); - } - - public static function postcode() - { - $prefix = str_pad(mt_rand(1, 85), 2, 0, STR_PAD_LEFT); - $suffix = '00'; - - return $prefix . mt_rand(10, 88) . $suffix; - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/zh_CN/Color.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/zh_CN/Color.php deleted file mode 100644 index 12d29e3..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/zh_CN/Color.php +++ /dev/null @@ -1,66 +0,0 @@ -format('a') === 'am' ? '上åˆ' : '下åˆ'; - } - - public static function dayOfWeek($max = 'now') - { - $map = array( - 'Sunday' => '星期日', - 'Monday' => '星期一', - 'Tuesday' => '星期二', - 'Wednesday' => '星期三', - 'Thursday' => '星期四', - 'Friday' => '星期五', - 'Saturday' => '星期六', - ); - $week = static::dateTime($max)->format('l'); - return isset($map[$week]) ? $map[$week] : $week; - } - - public static function monthName($max = 'now') - { - $map = array( - 'January' => '一月', - 'February' => '二月', - 'March' => '三月', - 'April' => '四月', - 'May' => '五月', - 'June' => '六月', - 'July' => '七月', - 'August' => '八月', - 'September' => 'ä¹æœˆ', - 'October' => 'å月', - 'November' => 'å一月', - 'December' => 'å二月', - ); - $month = static::dateTime($max)->format('F'); - return isset($map[$month]) ? $map[$month] : $month; - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/zh_CN/Internet.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/zh_CN/Internet.php deleted file mode 100644 index ca10822..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/zh_CN/Internet.php +++ /dev/null @@ -1,24 +0,0 @@ - array( - 'æ¿æ©‹å€', '三é‡å€', '中和å€', '永和å€', - '新莊å€', '新店å€', '樹林å€', '鶯歌å€', - '三峽å€', 'æ·¡æ°´å€', 'æ±æ­¢å€', '瑞芳å€', - '土城å€', '蘆洲å€', '五股å€', 'æ³°å±±å€', - 'æž—å£å€', 'æ·±å‘å€', '石碇å€', 'åªæž—å€', - '三èŠå€', '石門å€', '八里å€', '平溪å€', - '雙溪å€', '貢寮å€', '金山å€', 'è¬é‡Œå€', - 'çƒä¾†å€', - ), - '宜蘭縣' => array( - '宜蘭市', 'ç¾…æ±éŽ®', '蘇澳鎮', '頭城鎮', 'ç¤æºªé„‰', - '壯åœé„‰', '員山鄉', '冬山鄉', '五çµé„‰', '三星鄉', - '大åŒé„‰', 'å—澳鄉', - ), - '桃園市' => array( - '桃園å€', '中壢å€', '大溪å€', '楊梅å€', '蘆竹å€', - '大園å€', '龜山å€', 'å…«å¾·å€', 'é¾æ½­å€', '平鎮å€', - '新屋å€', '觀音å€', '復興å€', - ), - '新竹縣' => array( - '竹北市', '竹æ±éŽ®', '新埔鎮', '關西鎮', 'æ¹–å£é„‰', - 'æ–°è±é„‰', '芎林鄉', '橫山鄉', '北埔鄉', '寶山鄉', - '峨眉鄉', '尖石鄉', '五峰鄉', - ), - '苗栗縣' => array( - '苗栗市', '苑裡鎮', '通霄鎮', '竹å—鎮', '頭份鎮', - '後é¾éŽ®', 'å“蘭鎮', '大湖鄉', '公館鄉', '銅鑼鄉', - 'å—庄鄉', '頭屋鄉', '三義鄉', '西湖鄉', '造橋鄉', - '三ç£é„‰', 'ç…潭鄉', '泰安鄉', - ), - '臺中市' => array( - 'è±åŽŸå€', 'æ±å‹¢å€', '大甲å€', '清水å€', '沙鹿å€', - '梧棲å€', 'åŽé‡Œå€', '神岡å€', 'æ½­å­å€', '大雅å€', - '新社å€', '石岡å€', '外埔å€', '大安å€', 'çƒæ—¥å€', - '大肚å€', 'é¾äº•å€', '霧峰å€', '太平å€', '大里å€', - '和平å€', '中å€', 'æ±å€', 'å—å€', '西å€', '北å€', - '西屯å€', 'å—屯å€', '北屯å€', - ), - '彰化縣' => array( - '彰化市', '鹿港鎮', '和美鎮', '線西鄉', '伸港鄉', - 'ç¦èˆˆé„‰', '秀水鄉', '花壇鄉', '芬園鄉', '員林鎮', - '溪湖鎮', '田中鎮', '大æ‘鄉', '埔鹽鄉', '埔心鄉', - 'æ°¸é–鄉', '社頭鄉', '二水鄉', '北斗鎮', '二林鎮', - '田尾鄉', '埤頭鄉', '芳苑鄉', '大城鄉', '竹塘鄉', - '溪州鄉', - ), - 'å—投縣' => array( - 'å—投市', '埔里鎮', 'è‰å±¯éŽ®', '竹山鎮', '集集鎮', - 'å間鄉', '鹿谷鄉', '中寮鄉', '魚池鄉', '國姓鄉', - '水里鄉', '信義鄉', 'ä»æ„›é„‰', - ), - '雲林縣' => array( - '斗六市', 'æ–—å—鎮', '虎尾鎮', '西螺鎮', '土庫鎮', - '北港鎮', 'å¤å‘鄉', '大埤鄉', '莿æ¡é„‰', '林內鄉', - '二崙鄉', '崙背鄉', '麥寮鄉', 'æ±å‹¢é„‰', '褒忠鄉', - '臺西鄉', '元長鄉', '四湖鄉', 'å£æ¹–鄉', '水林鄉', - ), - '嘉義縣' => array( - '太ä¿å¸‚', '朴å­å¸‚', '布袋鎮', '大林鎮', '民雄鄉', - '溪å£é„‰', '新港鄉', '六腳鄉', 'æ±çŸ³é„‰', '義竹鄉', - '鹿è‰é„‰', '水上鄉', '中埔鄉', '竹崎鄉', '梅山鄉', - '番路鄉', '大埔鄉', '阿里山鄉', - ), - '臺å—市' => array( - '新營å€', '鹽水å€', '白河å€', '柳營å€', '後å£å€', - 'æ±å±±å€', '麻豆å€', '下營å€', '六甲å€', '官田å€', - '大內å€', '佳里å€', '學甲å€', '西港å€', '七股å€', - 'å°‡è»å€', '北門å€', '新化å€', '善化å€', '新市å€', - '安定å€', '山上å€', '玉井å€', '楠西å€', 'å—化å€', - '左鎮å€', 'ä»å¾·å€', 'æ­¸ä»å€', '關廟å€', 'é¾å´Žå€', - '永康å€', 'æ±å€', 'å—å€', '西å€', '北å€', '中å€', - '安å—å€', '安平å€', - ), - '高雄市' => array( - '鳳山å€', '林園å€', '大寮å€', '大樹å€', '大社å€', - 'ä»æ­¦å€', 'é³¥æ¾å€', '岡山å€', 'æ©‹é ­å€', '燕巢å€', - '田寮å€', '阿蓮å€', '路竹å€', 'æ¹–å…§å€', '茄è£å€', - '永安å€', '彌陀å€', '梓官å€', 'æ——å±±å€', '美濃å€', - '六龜å€', '甲仙å€', 'æ‰æž—å€', '內門å€', '茂林å€', - '桃æºå€', '三民å€', '鹽埕å€', '鼓山å€', '左營å€', - '楠梓å€', '三民å€', '新興å€', 'å‰é‡‘å€', 'è‹“é›…å€', - 'å‰éŽ®å€', 'æ——æ´¥å€', 'å°æ¸¯å€', - ), - 'å±æ±ç¸£' => array( - 'å±æ±å¸‚', '潮州鎮', 'æ±æ¸¯éŽ®', 'æ†æ˜¥éŽ®', 'è¬ä¸¹é„‰', - '長治鄉', '麟洛鄉', 'ä¹å¦‚鄉', '里港鄉', '鹽埔鄉', - '高樹鄉', 'è¬å·’鄉', '內埔鄉', '竹田鄉', '新埤鄉', - '枋寮鄉', '新園鄉', 'å´é ‚鄉', '林邊鄉', 'å—州鄉', - '佳冬鄉', 'ç‰çƒé„‰', '車城鄉', '滿州鄉', '枋山鄉', - '三地門鄉', '霧臺鄉', '瑪家鄉', '泰武鄉', '來義鄉', - '春日鄉', 'ç…å­é„‰', '牡丹鄉', - ), - '臺æ±ç¸£' => array( - '臺æ±å¸‚', 'æˆåŠŸéŽ®', '關山鎮', 'å‘å—鄉', '鹿野鄉', - '池上鄉', 'æ±æ²³é„‰', '長濱鄉', '太麻里鄉', '大武鄉', - '綠島鄉', '海端鄉', '延平鄉', '金峰鄉', 'é”ä»é„‰', - '蘭嶼鄉', - ), - '花蓮縣' => array( - '花蓮市', '鳳林鎮', '玉里鎮', '新城鄉', 'å‰å®‰é„‰', - '壽è±é„‰', '光復鄉', 'è±æ¿±é„‰', '瑞穗鄉', '富里鄉', - '秀林鄉', 'è¬æ¦®é„‰', 'å“溪鄉', - ), - '澎湖縣' => array( - '馬公市', '湖西鄉', '白沙鄉', '西嶼鄉', '望安鄉', - '七美鄉', - ), - '基隆市' => array( - '中正å€', '七堵å€', 'æš–æš–å€', 'ä»æ„›å€', '中山å€', - '安樂å€', '信義å€', - ), - '新竹市' => array( - 'æ±å€', '北å€', '香山å€', - ), - '嘉義市' => array( - 'æ±å€', '西å€', - ), - '臺北市' => array( - 'æ¾å±±å€', '信義å€', '大安å€', '中山å€', '中正å€', - '大åŒå€', 'è¬è¯å€', '文山å€', 'å—港å€', '內湖å€', - '士林å€', '北投å€', - ), - '連江縣' => array( - 'å—竿鄉', '北竿鄉', '莒光鄉', 'æ±å¼•é„‰', - ), - '金門縣' => array( - '金城鎮', '金沙鎮', '金湖鎮', '金寧鄉', '烈嶼鄉', 'çƒåµé„‰', - ), - ); - - /** - * @link http://terms.naer.edu.tw/download/287/ - */ - protected static $country = array( - 'ä¸ä¸¹', '中éž', '丹麥', '伊朗', '冰島', '剛果', - '加彭', '北韓', 'å—éž', 'å¡é”', 'å°å°¼', 'å°åº¦', - 'å¤å·´', '哥德', '埃åŠ', '多哥', '寮國', '尼日', - '巴曼', 'å·´æž—', 'å·´ç´', '巴西', '希臘', '帛ç‰', - '德國', '挪å¨', 'æ·å…‹', '教廷', 'æ–æ¿Ÿ', '日本', - '智利', 'æ±åŠ ', '查德', '汶èŠ', '法國', '波蘭', - '波赫', '泰國', '海地', 'ç‘žå…¸', '瑞士', '祕魯', - '秘魯', 'ç´„æ—¦', 'ç´åŸƒ', '緬甸', '美國', 'è–å°¼', - 'è–æ™®', '肯亞', '芬蘭', '英國', 'è·è˜­', '葉門', - '蘇丹', '諾魯', 'è²å—', '越å—', '迦彭', - '迦ç´', '阿曼', '阿è¯', '韓國', '馬利', - '以色列', '以色利', '伊拉克', 'ä¿„ç¾…æ–¯', - '利比亞', '加拿大', '匈牙利', 'å—極洲', - 'å—蘇丹', '厄瓜多', 'å‰å¸ƒåœ°', 'å瓦魯', - '哈撒克', '哈薩克', '喀麥隆', '喬治亞', - '土庫曼', '土耳其', 'å¡”å‰å…‹', '塞席爾', - '墨西哥', '大西洋', '奧地利', '孟加拉', - '安哥拉', '安地å¡', '安é“爾', '尚比亞', - '尼伯爾', '尼泊爾', '巴哈馬', '巴拉圭', - '巴拿馬', 'å·´è²å¤š', '幾內亞', '愛爾蘭', - '所在國', '摩洛哥', 'æ‘©ç´å“¥', 'æ•åˆ©äºž', - '敘利亞', '新加å¡', 'æ±å¸æ±¶', '柬埔寨', - '比利時', '波扎那', '波札那', 'çƒå…‹è˜­', - 'çƒå¹²é”', 'çƒæ‹‰åœ­', '牙買加', 'ç…å­å±±', - '甘比亞', '盧安é”', '盧森堡', '科å¨ç‰¹', - '科索夫', '科索沃', '立陶宛', 'ç´è¥¿è˜­', - '維德角', '義大利', 'è–文森', '艾塞亞', - 'è²å¾‹è³“', 'è¬é‚£æœ', 'è‘¡è„牙', '蒲隆地', - '蓋亞ç´', '薩摩亞', '蘇利å—', '西ç­ç‰™', - 'è²é‡Œæ–¯', '賴索托', '辛巴å¨', '阿富汗', - '阿根廷', '馬其頓', '馬拉å¨', '馬爾他', - '黎巴嫩', '亞塞拜然', '亞美尼亞', 'ä¿åŠ åˆ©äºž', - 'å—斯拉夫', '厄利垂亞', 'å²ç“¦æ¿Ÿè˜­', 'å‰çˆ¾å‰æ–¯', - 'å‰é‡Œå·´æ–¯', '哥倫比亞', 'å¦å°šå°¼äºž', '塞內加爾', - '塞内加爾', '塞爾維亞', '多明尼加', '多米尼克', - '奈åŠåˆ©äºž', '委內瑞拉', 'å®éƒ½æ‹‰æ–¯', '尼加拉瓜', - '巴基斯å¦', '庫克群島', '愛沙尼亞', '拉脫維亞', - '摩爾多瓦', '摩里西斯', '斯洛ä¼å…‹', '斯里蘭å¡', - '格瑞那é”', '模里西斯', '波多黎å„', '澳大利亞', - 'çƒèŒ²åˆ¥å…‹', '玻利維亞', '瓜地馬拉', '白俄羅斯', - 'çªå°¼è¥¿äºž', 'ç´ç±³æ¯”亞', '索馬利亞', '索馬尼亞', - '羅馬尼亞', 'è–露西亞', 'è–馬利諾', '莫三比克', - '莫三鼻克', '葛摩è¯ç›Ÿ', '薩爾瓦多', '衣索比亞', - '西薩摩亞', '象牙海岸', '賴比瑞亞', '賽普勒斯', - '馬來西亞', '馬爾地夫', '克羅埃西亞', - '列支敦斯登', '哥斯大黎加', '布å‰ç´æ³•ç´¢', - '布å‰é‚£æ³•ç´¢', '幾內亞比索', '幾內亞比紹', - '斯洛維尼亞', '索羅門群島', '茅利塔尼亞', - '蒙特內哥羅', '赤é“幾內亞', '阿爾åŠåˆ©äºž', - '阿爾åŠå°¼äºž', '阿爾巴尼亞', '馬紹爾群島', - '馬é”加斯加', '密克羅尼西亞', 'æ²™çƒåœ°é˜¿æ‹‰ä¼¯', - 'åƒé‡Œé”åŠæ‰˜å·´å“¥', - ); - - protected static $postcode = array('###-##', '###'); - - public function street() - { - return static::randomElement(static::$street); - } - - public static function randomChineseNumber() - { - $digits = array( - '', '一', '二', '三', 'å››', '五', 'å…­', '七', 'å…«', 'ä¹', - ); - return $digits[static::randomDigitNotNull()]; - } - - public static function randomNumber2() - { - return static::randomNumber(2) + 1; - } - - public static function randomNumber3() - { - return static::randomNumber(3) + 1; - } - - public static function localLatitude() - { - return number_format(mt_rand(22000000, 25000000)/1000000, 6); - } - - public static function localLongitude() - { - return number_format(mt_rand(120000000, 122000000)/1000000, 6); - } - - public function city() - { - $county = static::randomElement(array_keys(static::$city)); - $city = static::randomElement(static::$city[$county]); - return $county.$city; - } - - public function state() - { - return '臺ç£çœ'; - } - - public static function stateAbbr() - { - return '臺'; - } - - public static function cityPrefix() - { - return ''; - } - - public static function citySuffix() - { - return ''; - } - - public static function secondaryAddress() - { - return (static::randomNumber(2)+1).static::randomElement(static::$secondaryAddressSuffix); - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/zh_TW/Color.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/zh_TW/Color.php deleted file mode 100644 index 7be5953..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/zh_TW/Color.php +++ /dev/null @@ -1,66 +0,0 @@ -generator->parse($format); - } - - public static function companyModifier() - { - return static::randomElement(static::$companyModifier); - } - - public static function companyPrefix() - { - return static::randomElement(static::$companyPrefix); - } - - public function catchPhrase() - { - return static::randomElement(static::$catchPhrase); - } - - public function bs() - { - $result = ''; - foreach (static::$bsWords as &$word) { - $result .= static::randomElement($word); - } - return $result; - } - - /** - * return standard VAT / Tax ID / Uniform Serial Number - * - * @example 28263822 - * - * @return int - */ - public function VAT() - { - return static::randomNumber(8, true); - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/zh_TW/DateTime.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/zh_TW/DateTime.php deleted file mode 100644 index 6df5e92..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/zh_TW/DateTime.php +++ /dev/null @@ -1,46 +0,0 @@ -format('a') === 'am' ? '上åˆ' : '下åˆ'; - } - - public static function dayOfWeek($max = 'now') - { - $map = array( - 'Sunday' => '星期日', - 'Monday' => '星期一', - 'Tuesday' => '星期二', - 'Wednesday' => '星期三', - 'Thursday' => '星期四', - 'Friday' => '星期五', - 'Saturday' => '星期六', - ); - $week = static::dateTime($max)->format('l'); - return isset($map[$week]) ? $map[$week] : $week; - } - - public static function monthName($max = 'now') - { - $map = array( - 'January' => '一月', - 'February' => '二月', - 'March' => '三月', - 'April' => '四月', - 'May' => '五月', - 'June' => '六月', - 'July' => '七月', - 'August' => '八月', - 'September' => 'ä¹æœˆ', - 'October' => 'å月', - 'November' => 'å一月', - 'December' => 'å二月', - ); - $month = static::dateTime($max)->format('F'); - return isset($map[$month]) ? $map[$month] : $month; - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/zh_TW/Internet.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/zh_TW/Internet.php deleted file mode 100644 index 4035ea8..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/zh_TW/Internet.php +++ /dev/null @@ -1,16 +0,0 @@ -userName(); - } - - public function domainWord() - { - return \Faker\Factory::create('en_US')->domainWord(); - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/zh_TW/Payment.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/zh_TW/Payment.php deleted file mode 100644 index 6b1a582..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/zh_TW/Payment.php +++ /dev/null @@ -1,11 +0,0 @@ -creditCardDetails($valid); - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/zh_TW/Person.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/zh_TW/Person.php deleted file mode 100644 index e0071be..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/zh_TW/Person.php +++ /dev/null @@ -1,201 +0,0 @@ - 10, - 'B' => 11, - 'C' => 12, - 'D' => 13, - 'E' => 14, - 'F' => 15, - 'G' => 16, - 'H' => 17, - 'I' => 34, - 'J' => 18, - 'K' => 19, - 'M' => 21, - 'N' => 22, - 'O' => 35, - 'P' => 23, - 'Q' => 24, - 'T' => 27, - 'U' => 28, - 'V' => 29, - 'W' => 32, - 'X' => 30, - 'Z' => 33 - ); - - /** - * @see https://zh.wikipedia.org/wiki/%E4%B8%AD%E8%8F%AF%E6%B0%91%E5%9C%8B%E5%9C%8B%E6%B0%91%E8%BA%AB%E5%88%86%E8%AD%89 - */ - public static $idDigitValidator = array(1, 9, 8, 7, 6, 5, 4, 3, 2, 1, 1); - - protected static $maleNameFormats = array( - '{{lastName}}{{firstNameMale}}', - ); - - protected static $femaleNameFormats = array( - '{{lastName}}{{firstNameFemale}}', - ); - - protected static $titleMale = array('先生', 'åšå£«', '教授'); - protected static $titleFemale = array('å°å§', '太太', 'åšå£«', '教授'); - - /** - * @link http://zh.wikipedia.org/wiki/%E7%99%BE%E5%AE%B6%E5%A7%93 - */ - protected static $lastName = array( - '趙', '錢', 'å­«', 'æŽ', '周', 'å³', 'é„­', '王', '馮', - '陳', '褚', 'è¡›', '蔣', '沈', '韓', '楊', '朱', '秦', - 'å°¤', '許', '何', 'å‘‚', 'æ–½', 'å¼µ', 'å­”', '曹', 'åš´', - 'è¯', '金', 'é­', '陶', '姜', '戚', 'è¬', 'é„’', 'å–»', - 'æŸ', 'æ°´', '竇', 'ç« ', '雲', '蘇', '潘', 'è‘›', - '奚', '范', 'å½­', '郎', 'é­¯', '韋', '昌', '馬', - 'è‹—', 'é³³', '花', 'æ–¹', 'ä¿ž', 'ä»»', 'è¢', '柳', - 'é…†', '鮑', 'å²', 'å”', 'è²»', '廉', '岑', 'è–›', - 'é›·', 'è³€', '倪', '湯', '滕', 'æ®·', 'ç¾…', 'ç•¢', - 'éƒ', 'é„”', '安', '常', '樂', '于', '時', 'å‚…', - 'çš®', 'åž', '齊', '康', 'ä¼', 'ä½™', 'å…ƒ', 'åœ', - '顧', 'å­Ÿ', 'å¹³', '黃', 'å’Œ', '穆', 'è•­', 'å°¹', - '姚', '邵', 'æ¹›', '汪', 'ç¥', '毛', '禹', 'ç‹„', - 'ç±³', 'è²', '明', '臧', '計', 'ä¼', 'æˆ', '戴', - '談', '宋', '茅', 'é¾', '熊', 'ç´€', '舒', '屈', - 'é …', 'ç¥', 'è‘£', 'æ¢', 'æœ', '阮', 'è—', 'é–”', - '席', 'å­£', '麻', 'å¼·', '賈', 'è·¯', 'å©', 'å±', - '江', 'ç«¥', 'é¡', '郭', '梅', 'ç››', 'æž—', 'åˆ', - 'é¾', 'å¾', '丘', '駱', '高', 'å¤', '蔡', 'ç”°', - '樊', '胡', '凌', 'éœ', '虞', 'è¬', '支', '柯', - 'æ˜', '管', '盧', '莫', '經', '房', '裘', '繆', - 'å¹²', '解', '應', 'å®—', 'ä¸', '宣', 'è³', '鄧', - 'éƒ', 'å–®', 'æ­', 'æ´ª', '包', '諸', 'å·¦', '石', - 'å´”', 'å‰', '鈕', 'é¾”', '程', '嵇', 'é‚¢', '滑', - '裴', '陸', '榮', 'ç¿', 'è€', '羊', 'æ–¼', '惠', - '甄', '麴', '家', 'å°', '芮', '羿', '儲', 'é³', - 'æ±²', 'é‚´', '糜', 'æ¾', '井', '段', '富', 'å·«', - 'çƒ', '焦', 'å·´', '弓', '牧', 'éš—', 'å±±', 'è°·', - '車', '侯', '宓', '蓬', 'å…¨', '郗', 'ç­', 'ä»°', - '秋', '仲', '伊', 'å®®', '甯', '仇', '欒', 'æš´', - '甘', '鈄', '厲', '戎', '祖', 'æ­¦', '符', '劉', - '景', '詹', 'æŸ', 'é¾', '葉', '幸', 'å¸', '韶', - '郜', '黎', 'è–Š', 'è–„', 'å°', '宿', '白', '懷', - 'è’²', 'é‚°', '從', 'é„‚', 'ç´¢', 'å’¸', 'ç±', 'è³´', - 'å“', 'è—º', 'å± ', 'è’™', 'æ± ', 'å–¬', 'é™°', '鬱', - '胥', '能', 'è’¼', 'é›™', 'èž', '莘', '黨', 'ç¿Ÿ', - 'è­š', 'è²¢', 'å‹ž', '逄', '姬', '申', '扶', 'å µ', - '冉', 'å®°', 'é…ˆ', 'é›', '郤', 'ç’©', 'æ¡‘', 'æ¡‚', - 'æ¿®', '牛', '壽', '通', 'é‚Š', '扈', '燕', '冀', - '郟', '浦', 'å°š', 'è¾²', '溫', '別', '莊', 'æ™', - '柴', 'çž¿', 'é–»', 'å……', 'æ…•', '連', '茹', 'ç¿’', - '宦', '艾', 'é­š', '容', 'å‘', 'å¤', '易', 'æ…Ž', - '戈', 'å»–', '庾', '終', '暨', 'å±…', 'è¡¡', 'æ­¥', - '都', '耿', '滿', '弘', '匡', '國', 'æ–‡', '寇', - '廣', '祿', 'é—•', 'æ±', 'æ­', '殳', '沃', '利', - '蔚', '越', '夔', '隆', '師', 'éž', '厙', 'è¶', - 'æ™', '勾', 'æ•–', 'èž', '冷', '訾', 'è¾›', 'é—ž', - 'é‚£', 'ç°¡', '饒', '空', '曾', '毋', 'æ²™', '乜', - '養', 'éž ', 'é ˆ', 'è±', 'å·¢', 'é—œ', 'è’¯', '相', - '查', 'åŽ', 'èŠ', 'ç´…', '游', '竺', '權', '逯', - 'è“‹', '益', 'æ¡“', 'å…¬', '万俟', 'å¸é¦¬', '上官', - 'æ­é™½', 'å¤ä¾¯', '諸葛', 'èžäºº', 'æ±æ–¹', '赫連', - '皇甫', 'å°‰é²', '公羊', '澹臺', '公冶', '宗政', - '濮陽', '淳于', '單于', '太å”', '申屠', '公孫', - '仲孫', 'è»’è½…', '令ç‹', 'é¾é›¢', '宇文', 'é•·å­«', - '慕容', '鮮于', '閭丘', 'å¸å¾’', 'å¸ç©º', '亓官', - 'å¸å¯‡', '仉', 'ç£', 'å­è»Š', 'é¡“å­«', '端木', '巫馬', - '公西', '漆雕', '樂正', '壤駟', '公良', 'æ‹“è·‹', - '夾谷', '宰父', 'ç©€æ¢', '晉', '楚', 'é–†', '法', - 'æ±', 'é„¢', '涂', '欽', '段干', '百里', 'æ±éƒ­', - 'å—é–€', '呼延', 'æ­¸', 'æµ·', '羊舌', '微生', 'å²³', - '帥', 'ç·±', '亢', 'æ³', '後', '有', 'ç´', 'æ¢ä¸˜', - '左丘', 'æ±é–€', '西門', '商', '牟', '佘', 'ä½´', - '伯', '賞', 'å—å®®', '墨', '哈', 'è­™', '笪', 'å¹´', - 'æ„›', '陽', '佟', '第五', '言', 'ç¦', - ); - - /** - * @link http://technology.chtsai.org/namefreq/ - */ - protected static $characterMale = array( - 'ä½³', 'ä¿Š', 'ä¿¡', 'å‰', 'å‚‘', '冠', 'å›', '哲', - '嘉', 'å¨', '宇', '安', 'å®', 'å®—', '宜', '家', - '庭', 'å»·', '建', 'å½¥', '心', 'å¿—', 'æ€', '承', - 'æ–‡', 'æŸ', '樺', 'ç‘‹', 'ç©Ž', '美', 'ç¿°', 'è¯', - 'è©©', '豪', 'è³¢', 'è»’', '銘', '霖', - ); - - protected static $characterFemale = array( - '伶', '佩', 'ä½³', 'ä¾', 'å„€', '冠', 'å›', '嘉', - '如', '娟', '婉', 'å©·', '安', '宜', '家', '庭', - '心', 'æ€', '怡', '惠', 'æ…§', 'æ–‡', '欣', '涵', - 'æ·‘', '玲', 'çŠ', 'çª', 'ç¬', 'ç‘œ', 'ç©Ž', 'ç­‘', - 'ç­±', '美', '芬', '芳', 'è¯', 'è', 'è±', '蓉', - 'è©©', '貞', 'éƒ', '鈺', 'é›…', '雯', 'éœ', '馨', - ); - - public static function randomName($pool, $n) - { - $name = ''; - for ($i = 0; $i < $n; ++$i) { - $name .= static::randomElement($pool); - } - return $name; - } - - public static function firstNameMale() - { - return static::randomName(static::$characterMale, mt_rand(1, 2)); - } - - public static function firstNameFemale() - { - return static::randomName(static::$characterFemale, mt_rand(1, 2)); - } - - public static function suffix() - { - return ''; - } - - /** - * @param string $gender Person::GENDER_MALE || Person::GENDER_FEMALE - * - * @see https://en.wikipedia.org/wiki/National_Identification_Card_(Republic_of_China) - * - * @return string Length 10 alphanumeric characters, begins with 1 latin character (birthplace), - * 1 number (gender) and then 8 numbers (the last one is check digit). - */ - public function personalIdentityNumber($gender = null) - { - $birthPlace = self::randomKey(self::$idBirthplaceCode); - $birthPlaceCode = self::$idBirthplaceCode[$birthPlace]; - - $gender = ($gender != null) ? $gender : self::randomElement(array(self::GENDER_FEMALE, self::GENDER_MALE)); - $genderCode = ($gender === self::GENDER_MALE) ? 1 : 2; - - $randomNumberCode = self::randomNumber(7, true); - - $codes = str_split($birthPlaceCode . $genderCode . $randomNumberCode); - $total = 0; - - foreach ($codes as $key => $code) { - $total += $code * self::$idDigitValidator[$key]; - } - - $checkSumDigit = 10 - ($total % 10); - - if ($checkSumDigit == 10) { - $checkSumDigit = 0; - } - - $id = $birthPlace . $genderCode . $randomNumberCode . $checkSumDigit; - - return $id; - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/zh_TW/PhoneNumber.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/zh_TW/PhoneNumber.php deleted file mode 100644 index 7c31a97..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/Provider/zh_TW/PhoneNumber.php +++ /dev/null @@ -1,19 +0,0 @@ - 251: - $temp .= $chars[++$i]; - // no break - case $ord > 247: - $temp .= $chars[++$i]; - // no break - case $ord > 239: - $temp .= $chars[++$i]; - // no break - case $ord > 223: - $temp .= $chars[++$i]; - // no break - case $ord > 191: - $temp .= $chars[++$i]; - // no break - } - - $encoding[] = $temp; - } - - return $encoding; - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/UniqueGenerator.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/UniqueGenerator.php deleted file mode 100644 index 431f765..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/UniqueGenerator.php +++ /dev/null @@ -1,58 +0,0 @@ -unique() - */ -class UniqueGenerator -{ - protected $generator; - protected $maxRetries; - protected $uniques = array(); - - /** - * @param Generator $generator - * @param integer $maxRetries - */ - public function __construct(Generator $generator, $maxRetries = 10000) - { - $this->generator = $generator; - $this->maxRetries = $maxRetries; - } - - /** - * Catch and proxy all generator calls but return only unique values - * @param string $attribute - * @return mixed - */ - public function __get($attribute) - { - return $this->__call($attribute, array()); - } - - /** - * Catch and proxy all generator calls with arguments but return only unique values - * @param string $name - * @param array $arguments - * @return mixed - */ - public function __call($name, $arguments) - { - if (!isset($this->uniques[$name])) { - $this->uniques[$name] = array(); - } - $i = 0; - do { - $res = call_user_func_array(array($this->generator, $name), $arguments); - $i++; - if ($i > $this->maxRetries) { - throw new \OverflowException(sprintf('Maximum retries of %d reached without finding a unique value', $this->maxRetries)); - } - } while (array_key_exists(serialize($res), $this->uniques[$name])); - $this->uniques[$name][serialize($res)]= null; - - return $res; - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/ValidGenerator.php b/paragonik-backend/vendor/fzaninotto/faker/src/Faker/ValidGenerator.php deleted file mode 100644 index 1352dfc..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/Faker/ValidGenerator.php +++ /dev/null @@ -1,65 +0,0 @@ -valid() - */ -class ValidGenerator -{ - protected $generator; - protected $validator; - protected $maxRetries; - - /** - * @param Generator $generator - * @param callable|null $validator - * @param integer $maxRetries - */ - public function __construct(Generator $generator, $validator = null, $maxRetries = 10000) - { - if (is_null($validator)) { - $validator = function () { - return true; - }; - } elseif (!is_callable($validator)) { - throw new \InvalidArgumentException('valid() only accepts callables as first argument'); - } - $this->generator = $generator; - $this->validator = $validator; - $this->maxRetries = $maxRetries; - } - - /** - * Catch and proxy all generator calls but return only valid values - * @param string $attribute - * - * @return mixed - */ - public function __get($attribute) - { - return $this->__call($attribute, array()); - } - - /** - * Catch and proxy all generator calls with arguments but return only valid values - * @param string $name - * @param array $arguments - * - * @return mixed - */ - public function __call($name, $arguments) - { - $i = 0; - do { - $res = call_user_func_array(array($this->generator, $name), $arguments); - $i++; - if ($i > $this->maxRetries) { - throw new \OverflowException(sprintf('Maximum retries of %d reached without finding a valid value', $this->maxRetries)); - } - } while (!call_user_func($this->validator, $res)); - - return $res; - } -} diff --git a/paragonik-backend/vendor/fzaninotto/faker/src/autoload.php b/paragonik-backend/vendor/fzaninotto/faker/src/autoload.php deleted file mode 100644 index f55914d..0000000 --- a/paragonik-backend/vendor/fzaninotto/faker/src/autoload.php +++ /dev/null @@ -1,26 +0,0 @@ -ignoringCase()); - -* Fixed Hamcrest_Core_IsInstanceOf to return false for native types. - -* Moved string-based matchers to Hamcrest_Text package. - StringContains, StringEndsWith, StringStartsWith, and SubstringMatcher - -* Hamcrest.php and Hamcrest_Matchers.php are now built from @factory doctags. - Added @factory doctag to every static factory method. - -* Hamcrest_Matchers and Hamcrest.php now import each matcher as-needed - and Hamcrest.php calls the matchers directly instead of Hamcrest_Matchers. - - -== Version 0.3.0: Released Jul 26 2010 == - -* Added running count to Hamcrest_MatcherAssert with methods to get and reset it. - This can be used by unit testing frameworks for reporting. - -* Added Hamcrest_Core_HasToString to assert return value of toString() or __toString(). - - assertThat($anObject, hasToString('foo')); - -* Added Hamcrest_Type_IsScalar to assert is_scalar(). - Matches values of type bool, int, float, double, and string. - - assertThat($count, scalarValue()); - assertThat('foo', scalarValue()); - -* Added Hamcrest_Collection package. - - - IsEmptyTraversable - - IsTraversableWithSize - - assertThat($iterator, emptyTraversable()); - assertThat($iterator, traversableWithSize(5)); - -* Added Hamcrest_Xml_HasXPath to assert XPath expressions or the content of nodes in an XML/HTML DOM. - - assertThat($dom, hasXPath('books/book/title')); - assertThat($dom, hasXPath('books/book[contains(title, "Alice")]', 3)); - assertThat($dom, hasXPath('books/book/title', 'Alice in Wonderland')); - assertThat($dom, hasXPath('count(books/book)', greaterThan(10))); - -* Added aliases to match the Java API. - - hasEntry() -> hasKeyValuePair() - hasValue() -> hasItemInArray() - contains() -> arrayContaining() - containsInAnyOrder() -> arrayContainingInAnyOrder() - -* Added optional subtype to Hamcrest_TypeSafeMatcher to enforce object class or resource type. - -* Hamcrest_TypeSafeDiagnosingMatcher now extends Hamcrest_TypeSafeMatcher. - - -== Version 0.2.0: Released Jul 14 2010 == - -Issues Fixed: 109, 111, 114, 115 - -* Description::appendValues() and appendValueList() accept Iterator and IteratorAggregate. [111] - BaseDescription::appendValue() handles IteratorAggregate. - -* assertThat() accepts a single boolean parameter and - wraps any non-Matcher third parameter with equalTo(). - -* Removed null return value from assertThat(). [114] - -* Fixed wrong variable name in contains(). [109] - -* Added Hamcrest_Core_IsSet to assert isset(). - - assertThat(array('foo' => 'bar'), set('foo')); - assertThat(array('foo' => 'bar'), notSet('bar')); - -* Added Hamcrest_Core_IsTypeOf to assert built-in types with gettype(). [115] - Types: array, boolean, double, integer, null, object, resource, and string. - Note that gettype() returns "double" for float values. - - assertThat($count, typeOf('integer')); - assertThat(3.14159, typeOf('double')); - assertThat(array('foo', 'bar'), typeOf('array')); - assertThat(new stdClass(), typeOf('object')); - -* Added type-specific matchers in new Hamcrest_Type package. - - - IsArray - - IsBoolean - - IsDouble (includes float values) - - IsInteger - - IsObject - - IsResource - - IsString - - assertThat($count, integerValue()); - assertThat(3.14159, floatValue()); - assertThat('foo', stringValue()); - -* Added Hamcrest_Type_IsNumeric to assert is_numeric(). - Matches values of type int and float/double or strings that are formatted as numbers. - - assertThat(5, numericValue()); - assertThat('-5e+3', numericValue()); - -* Added Hamcrest_Type_IsCallable to assert is_callable(). - - assertThat('preg_match', callable()); - assertThat(array('SomeClass', 'SomeMethod'), callable()); - assertThat(array($object, 'SomeMethod'), callable()); - assertThat($object, callable()); - assertThat(function ($x, $y) { return $x + $y; }, callable()); - -* Added Hamcrest_Text_MatchesPattern for regex matching with preg_match(). - - assertThat('foobar', matchesPattern('/o+b/')); - -* Added aliases: - - atLeast() for greaterThanOrEqualTo() - - atMost() for lessThanOrEqualTo() - - -== Version 0.1.0: Released Jul 7 2010 == - -* Created PEAR package - -* Core matchers - diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/LICENSE.txt b/paragonik-backend/vendor/hamcrest/hamcrest-php/LICENSE.txt deleted file mode 100644 index 91cd329..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/LICENSE.txt +++ /dev/null @@ -1,27 +0,0 @@ -BSD License - -Copyright (c) 2000-2014, www.hamcrest.org -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -Redistributions of source code must retain the above copyright notice, this list of -conditions and the following disclaimer. Redistributions in binary form must reproduce -the above copyright notice, this list of conditions and the following disclaimer in -the documentation and/or other materials provided with the distribution. - -Neither the name of Hamcrest nor the names of its contributors may be used to endorse -or promote products derived from this software without specific prior written -permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY -EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES -OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT -SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED -TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR -BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY -WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/README.md b/paragonik-backend/vendor/hamcrest/hamcrest-php/README.md deleted file mode 100644 index 0b07c71..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/README.md +++ /dev/null @@ -1,53 +0,0 @@ -This is the PHP port of Hamcrest Matchers -========================================= - -[![Build Status](https://travis-ci.org/hamcrest/hamcrest-php.png?branch=master)](https://travis-ci.org/hamcrest/hamcrest-php) -[![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/hamcrest/hamcrest-php/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/hamcrest/hamcrest-php/?branch=master) -[![Code Coverage](https://scrutinizer-ci.com/g/hamcrest/hamcrest-php/badges/coverage.png?b=master)](https://scrutinizer-ci.com/g/hamcrest/hamcrest-php/?branch=master) - -Hamcrest is a matching library originally written for Java, but -subsequently ported to many other languages. hamcrest-php is the -official PHP port of Hamcrest and essentially follows a literal -translation of the original Java API for Hamcrest, with a few -Exceptions, mostly down to PHP language barriers: - - 1. `instanceOf($theClass)` is actually `anInstanceOf($theClass)` - - 2. `both(containsString('a'))->and(containsString('b'))` - is actually `both(containsString('a'))->andAlso(containsString('b'))` - - 3. `either(containsString('a'))->or(containsString('b'))` - is actually `either(containsString('a'))->orElse(containsString('b'))` - - 4. Unless it would be non-semantic for a matcher to do so, hamcrest-php - allows dynamic typing for it's input, in "the PHP way". Exception are - where semantics surrounding the type itself would suggest otherwise, - such as stringContains() and greaterThan(). - - 5. Several official matchers have not been ported because they don't - make sense or don't apply in PHP: - - - `typeCompatibleWith($theClass)` - - `eventFrom($source)` - - `hasProperty($name)` ** - - `samePropertyValuesAs($obj)` ** - - 6. When most of the collections matchers are finally ported, PHP-specific - aliases will probably be created due to a difference in naming - conventions between Java's Arrays, Collections, Sets and Maps compared - with PHP's Arrays. - ---- -** [Unless we consider POPO's (Plain Old PHP Objects) akin to JavaBeans] - - The POPO thing is a joke. Java devs coin the term POJO's (Plain Old - Java Objects). - - -Usage ------ - -Hamcrest matchers are easy to use as: - -```php -Hamcrest_MatcherAssert::assertThat('a', Hamcrest_Matchers::equalToIgnoringCase('A')); -``` diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/TODO.txt b/paragonik-backend/vendor/hamcrest/hamcrest-php/TODO.txt deleted file mode 100644 index 92e1190..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/TODO.txt +++ /dev/null @@ -1,22 +0,0 @@ -Still TODO Before Complete for PHP ----------------------------------- - -Port: - - - Hamcrest_Collection_* - - IsCollectionWithSize - - IsEmptyCollection - - IsIn - - IsTraversableContainingInAnyOrder - - IsTraversableContainingInOrder - - IsMapContaining (aliases) - -Aliasing/Deprecation (questionable): - - - Find and fix any factory methods that start with "is". - -Namespaces: - - - Investigate adding PHP 5.3+ namespace support in a way that still permits - use in PHP 5.2. - - Other than a parallel codebase, I don't see how this could be possible. diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/composer.json b/paragonik-backend/vendor/hamcrest/hamcrest-php/composer.json deleted file mode 100644 index 5349f5f..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/composer.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "name": "hamcrest/hamcrest-php", - "type": "library", - "description": "This is the PHP port of Hamcrest Matchers", - "keywords": ["test"], - "license": "BSD", - "authors": [ - ], - - "autoload": { - "classmap": ["hamcrest"] - }, - "autoload-dev": { - "classmap": ["tests", "generator"] - }, - - "require": { - "php": "^5.3|^7.0" - }, - - "require-dev": { - "satooshi/php-coveralls": "^1.0", - "phpunit/php-file-iterator": "1.3.3", - "phpunit/phpunit": "~4.0" - }, - - "replace": { - "kodova/hamcrest-php": "*", - "davedevelopment/hamcrest-php": "*", - "cordoval/hamcrest-php": "*" - }, - - "extra": { - "branch-alias": { - "dev-master": "2.0-dev" - } - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/composer.lock b/paragonik-backend/vendor/hamcrest/hamcrest-php/composer.lock deleted file mode 100644 index 0581a4e..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/composer.lock +++ /dev/null @@ -1,1493 +0,0 @@ -{ - "_readme": [ - "This file locks the dependencies of your project to a known state", - "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", - "This file is @generated automatically" - ], - "hash": "52d9e3c2e238bdc2aab7f6e1d322e31d", - "content-hash": "ed113672807f01f40b4d9809b102dc31", - "packages": [], - "packages-dev": [ - { - "name": "doctrine/instantiator", - "version": "1.0.5", - "source": { - "type": "git", - "url": "https://github.com/doctrine/instantiator.git", - "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d", - "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d", - "shasum": "" - }, - "require": { - "php": ">=5.3,<8.0-DEV" - }, - "require-dev": { - "athletic/athletic": "~0.1.8", - "ext-pdo": "*", - "ext-phar": "*", - "phpunit/phpunit": "~4.0", - "squizlabs/php_codesniffer": "~2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com", - "homepage": "http://ocramius.github.com/" - } - ], - "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", - "homepage": "https://github.com/doctrine/instantiator", - "keywords": [ - "constructor", - "instantiate" - ], - "time": "2015-06-14 21:17:01" - }, - { - "name": "guzzle/guzzle", - "version": "v3.9.3", - "source": { - "type": "git", - "url": "https://github.com/guzzle/guzzle3.git", - "reference": "0645b70d953bc1c067bbc8d5bc53194706b628d9" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle3/zipball/0645b70d953bc1c067bbc8d5bc53194706b628d9", - "reference": "0645b70d953bc1c067bbc8d5bc53194706b628d9", - "shasum": "" - }, - "require": { - "ext-curl": "*", - "php": ">=5.3.3", - "symfony/event-dispatcher": "~2.1" - }, - "replace": { - "guzzle/batch": "self.version", - "guzzle/cache": "self.version", - "guzzle/common": "self.version", - "guzzle/http": "self.version", - "guzzle/inflection": "self.version", - "guzzle/iterator": "self.version", - "guzzle/log": "self.version", - "guzzle/parser": "self.version", - "guzzle/plugin": "self.version", - "guzzle/plugin-async": "self.version", - "guzzle/plugin-backoff": "self.version", - "guzzle/plugin-cache": "self.version", - "guzzle/plugin-cookie": "self.version", - "guzzle/plugin-curlauth": "self.version", - "guzzle/plugin-error-response": "self.version", - "guzzle/plugin-history": "self.version", - "guzzle/plugin-log": "self.version", - "guzzle/plugin-md5": "self.version", - "guzzle/plugin-mock": "self.version", - "guzzle/plugin-oauth": "self.version", - "guzzle/service": "self.version", - "guzzle/stream": "self.version" - }, - "require-dev": { - "doctrine/cache": "~1.3", - "monolog/monolog": "~1.0", - "phpunit/phpunit": "3.7.*", - "psr/log": "~1.0", - "symfony/class-loader": "~2.1", - "zendframework/zend-cache": "2.*,<2.3", - "zendframework/zend-log": "2.*,<2.3" - }, - "suggest": { - "guzzlehttp/guzzle": "Guzzle 5 has moved to a new package name. The package you have installed, Guzzle 3, is deprecated." - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.9-dev" - } - }, - "autoload": { - "psr-0": { - "Guzzle": "src/", - "Guzzle\\Tests": "tests/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - }, - { - "name": "Guzzle Community", - "homepage": "https://github.com/guzzle/guzzle/contributors" - } - ], - "description": "PHP HTTP client. This library is deprecated in favor of https://packagist.org/packages/guzzlehttp/guzzle", - "homepage": "http://guzzlephp.org/", - "keywords": [ - "client", - "curl", - "framework", - "http", - "http client", - "rest", - "web service" - ], - "time": "2015-03-18 18:23:50" - }, - { - "name": "phpdocumentor/reflection-docblock", - "version": "2.0.4", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "d68dbdc53dc358a816f00b300704702b2eaff7b8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/d68dbdc53dc358a816f00b300704702b2eaff7b8", - "reference": "d68dbdc53dc358a816f00b300704702b2eaff7b8", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "suggest": { - "dflydev/markdown": "~1.0", - "erusev/parsedown": "~1.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "psr-0": { - "phpDocumentor": [ - "src/" - ] - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mike van Riel", - "email": "mike.vanriel@naenius.com" - } - ], - "time": "2015-02-03 12:10:50" - }, - { - "name": "phpspec/prophecy", - "version": "v1.5.0", - "source": { - "type": "git", - "url": "https://github.com/phpspec/prophecy.git", - "reference": "4745ded9307786b730d7a60df5cb5a6c43cf95f7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/4745ded9307786b730d7a60df5cb5a6c43cf95f7", - "reference": "4745ded9307786b730d7a60df5cb5a6c43cf95f7", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "phpdocumentor/reflection-docblock": "~2.0", - "sebastian/comparator": "~1.1" - }, - "require-dev": { - "phpspec/phpspec": "~2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4.x-dev" - } - }, - "autoload": { - "psr-0": { - "Prophecy\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com", - "homepage": "http://everzet.com" - }, - { - "name": "Marcello Duarte", - "email": "marcello.duarte@gmail.com" - } - ], - "description": "Highly opinionated mocking framework for PHP 5.3+", - "homepage": "https://github.com/phpspec/prophecy", - "keywords": [ - "Double", - "Dummy", - "fake", - "mock", - "spy", - "stub" - ], - "time": "2015-08-13 10:07:40" - }, - { - "name": "phpunit/php-code-coverage", - "version": "2.2.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/eabf68b476ac7d0f73793aada060f1c1a9bf8979", - "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "phpunit/php-file-iterator": "~1.3", - "phpunit/php-text-template": "~1.2", - "phpunit/php-token-stream": "~1.3", - "sebastian/environment": "^1.3.2", - "sebastian/version": "~1.0" - }, - "require-dev": { - "ext-xdebug": ">=2.1.4", - "phpunit/phpunit": "~4" - }, - "suggest": { - "ext-dom": "*", - "ext-xdebug": ">=2.2.1", - "ext-xmlwriter": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.2.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", - "homepage": "https://github.com/sebastianbergmann/php-code-coverage", - "keywords": [ - "coverage", - "testing", - "xunit" - ], - "time": "2015-10-06 15:47:00" - }, - { - "name": "phpunit/php-file-iterator", - "version": "1.3.3", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "16a78140ed2fc01b945cfa539665fadc6a038029" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/16a78140ed2fc01b945cfa539665fadc6a038029", - "reference": "16a78140ed2fc01b945cfa539665fadc6a038029", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "autoload": { - "classmap": [ - "File/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "include-path": [ - "" - ], - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "FilterIterator implementation that filters files based on a list of suffixes.", - "homepage": "http://www.phpunit.de/", - "keywords": [ - "filesystem", - "iterator" - ], - "time": "2012-10-11 11:44:38" - }, - { - "name": "phpunit/php-text-template", - "version": "1.2.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Simple template engine.", - "homepage": "https://github.com/sebastianbergmann/php-text-template/", - "keywords": [ - "template" - ], - "time": "2015-06-21 13:50:34" - }, - { - "name": "phpunit/php-timer", - "version": "1.0.7", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "3e82f4e9fc92665fafd9157568e4dcb01d014e5b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3e82f4e9fc92665fafd9157568e4dcb01d014e5b", - "reference": "3e82f4e9fc92665fafd9157568e4dcb01d014e5b", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Utility class for timing", - "homepage": "https://github.com/sebastianbergmann/php-timer/", - "keywords": [ - "timer" - ], - "time": "2015-06-21 08:01:12" - }, - { - "name": "phpunit/php-token-stream", - "version": "1.4.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-token-stream.git", - "reference": "3144ae21711fb6cac0b1ab4cbe63b75ce3d4e8da" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/3144ae21711fb6cac0b1ab4cbe63b75ce3d4e8da", - "reference": "3144ae21711fb6cac0b1ab4cbe63b75ce3d4e8da", - "shasum": "" - }, - "require": { - "ext-tokenizer": "*", - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Wrapper around PHP's tokenizer extension.", - "homepage": "https://github.com/sebastianbergmann/php-token-stream/", - "keywords": [ - "tokenizer" - ], - "time": "2015-09-15 10:49:45" - }, - { - "name": "phpunit/phpunit", - "version": "4.5.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "d6429b0995b24a2d9dfe5587ee3a7071c1161af4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/d6429b0995b24a2d9dfe5587ee3a7071c1161af4", - "reference": "d6429b0995b24a2d9dfe5587ee3a7071c1161af4", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-json": "*", - "ext-pcre": "*", - "ext-reflection": "*", - "ext-spl": "*", - "php": ">=5.3.3", - "phpspec/prophecy": "~1.3,>=1.3.1", - "phpunit/php-code-coverage": "~2.0,>=2.0.11", - "phpunit/php-file-iterator": "~1.3.2", - "phpunit/php-text-template": "~1.2", - "phpunit/php-timer": "~1.0.2", - "phpunit/phpunit-mock-objects": "~2.3", - "sebastian/comparator": "~1.1", - "sebastian/diff": "~1.1", - "sebastian/environment": "~1.2", - "sebastian/exporter": "~1.2", - "sebastian/global-state": "~1.0", - "sebastian/version": "~1.0", - "symfony/yaml": "~2.0" - }, - "suggest": { - "phpunit/php-invoker": "~1.1" - }, - "bin": [ - "phpunit" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.5.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "The PHP Unit Testing framework.", - "homepage": "https://phpunit.de/", - "keywords": [ - "phpunit", - "testing", - "xunit" - ], - "time": "2015-03-29 09:24:05" - }, - { - "name": "phpunit/phpunit-mock-objects", - "version": "2.3.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", - "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/ac8e7a3db35738d56ee9a76e78a4e03d97628983", - "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "php": ">=5.3.3", - "phpunit/php-text-template": "~1.2", - "sebastian/exporter": "~1.2" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "suggest": { - "ext-soap": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.3.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Mock Object library for PHPUnit", - "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/", - "keywords": [ - "mock", - "xunit" - ], - "time": "2015-10-02 06:51:40" - }, - { - "name": "psr/log", - "version": "1.0.0", - "source": { - "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "fe0936ee26643249e916849d48e3a51d5f5e278b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/fe0936ee26643249e916849d48e3a51d5f5e278b", - "reference": "fe0936ee26643249e916849d48e3a51d5f5e278b", - "shasum": "" - }, - "type": "library", - "autoload": { - "psr-0": { - "Psr\\Log\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interface for logging libraries", - "keywords": [ - "log", - "psr", - "psr-3" - ], - "time": "2012-12-21 11:40:51" - }, - { - "name": "satooshi/php-coveralls", - "version": "v1.0.0", - "source": { - "type": "git", - "url": "https://github.com/satooshi/php-coveralls.git", - "reference": "3edbdbdb4f4cfab5cb9ce83655ff81432f2221a6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/satooshi/php-coveralls/zipball/3edbdbdb4f4cfab5cb9ce83655ff81432f2221a6", - "reference": "3edbdbdb4f4cfab5cb9ce83655ff81432f2221a6", - "shasum": "" - }, - "require": { - "ext-json": "*", - "ext-simplexml": "*", - "guzzle/guzzle": "^2.8|^3.0", - "php": ">=5.3.3", - "psr/log": "^1.0", - "symfony/config": "^2.4|^3.0", - "symfony/console": "^2.1|^3.0", - "symfony/stopwatch": "^2.2|^3.0", - "symfony/yaml": "^2.1|^3.0" - }, - "suggest": { - "symfony/http-kernel": "Allows Symfony integration" - }, - "bin": [ - "bin/coveralls" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "0.8-dev" - } - }, - "autoload": { - "psr-4": { - "Satooshi\\": "src/Satooshi/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Kitamura Satoshi", - "email": "with.no.parachute@gmail.com", - "homepage": "https://www.facebook.com/satooshi.jp" - } - ], - "description": "PHP client library for Coveralls API", - "homepage": "https://github.com/satooshi/php-coveralls", - "keywords": [ - "ci", - "coverage", - "github", - "test" - ], - "time": "2015-12-28 09:07:32" - }, - { - "name": "sebastian/comparator", - "version": "1.2.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "937efb279bd37a375bcadf584dec0726f84dbf22" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/937efb279bd37a375bcadf584dec0726f84dbf22", - "reference": "937efb279bd37a375bcadf584dec0726f84dbf22", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/diff": "~1.2", - "sebastian/exporter": "~1.2" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.2.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@2bepublished.at" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Provides the functionality to compare PHP values for equality", - "homepage": "http://www.github.com/sebastianbergmann/comparator", - "keywords": [ - "comparator", - "compare", - "equality" - ], - "time": "2015-07-26 15:48:44" - }, - { - "name": "sebastian/diff", - "version": "1.4.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/13edfd8706462032c2f52b4b862974dd46b71c9e", - "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.8" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Kore Nordmann", - "email": "mail@kore-nordmann.de" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Diff implementation", - "homepage": "https://github.com/sebastianbergmann/diff", - "keywords": [ - "diff" - ], - "time": "2015-12-08 07:14:41" - }, - { - "name": "sebastian/environment", - "version": "1.3.3", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "6e7133793a8e5a5714a551a8324337374be209df" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/6e7133793a8e5a5714a551a8324337374be209df", - "reference": "6e7133793a8e5a5714a551a8324337374be209df", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Provides functionality to handle HHVM/PHP environments", - "homepage": "http://www.github.com/sebastianbergmann/environment", - "keywords": [ - "Xdebug", - "environment", - "hhvm" - ], - "time": "2015-12-02 08:37:27" - }, - { - "name": "sebastian/exporter", - "version": "1.2.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "7ae5513327cb536431847bcc0c10edba2701064e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/7ae5513327cb536431847bcc0c10edba2701064e", - "reference": "7ae5513327cb536431847bcc0c10edba2701064e", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/recursion-context": "~1.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.2.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@2bepublished.at" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" - } - ], - "description": "Provides the functionality to export PHP variables for visualization", - "homepage": "http://www.github.com/sebastianbergmann/exporter", - "keywords": [ - "export", - "exporter" - ], - "time": "2015-06-21 07:55:53" - }, - { - "name": "sebastian/global-state", - "version": "1.1.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bc37d50fea7d017d3d340f230811c9f1d7280af4", - "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "suggest": { - "ext-uopz": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Snapshotting of global state", - "homepage": "http://www.github.com/sebastianbergmann/global-state", - "keywords": [ - "global state" - ], - "time": "2015-10-12 03:26:01" - }, - { - "name": "sebastian/recursion-context", - "version": "1.0.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "913401df809e99e4f47b27cdd781f4a258d58791" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/913401df809e99e4f47b27cdd781f4a258d58791", - "reference": "913401df809e99e4f47b27cdd781f4a258d58791", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" - } - ], - "description": "Provides functionality to recursively process PHP variables", - "homepage": "http://www.github.com/sebastianbergmann/recursion-context", - "time": "2015-11-11 19:50:13" - }, - { - "name": "sebastian/version", - "version": "1.0.6", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/version.git", - "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", - "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", - "shasum": "" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Library that helps with managing the version number of Git-hosted PHP projects", - "homepage": "https://github.com/sebastianbergmann/version", - "time": "2015-06-21 13:59:46" - }, - { - "name": "symfony/config", - "version": "v2.8.1", - "source": { - "type": "git", - "url": "https://github.com/symfony/config.git", - "reference": "17d4b2e64ce1c6ba7caa040f14469b3c44d7f7d2" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/config/zipball/17d4b2e64ce1c6ba7caa040f14469b3c44d7f7d2", - "reference": "17d4b2e64ce1c6ba7caa040f14469b3c44d7f7d2", - "shasum": "" - }, - "require": { - "php": ">=5.3.9", - "symfony/filesystem": "~2.3|~3.0.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.8-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Config\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Config Component", - "homepage": "https://symfony.com", - "time": "2015-12-26 13:37:56" - }, - { - "name": "symfony/console", - "version": "v2.8.1", - "source": { - "type": "git", - "url": "https://github.com/symfony/console.git", - "reference": "2e06a5ccb19dcf9b89f1c6a677a39a8df773635a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/2e06a5ccb19dcf9b89f1c6a677a39a8df773635a", - "reference": "2e06a5ccb19dcf9b89f1c6a677a39a8df773635a", - "shasum": "" - }, - "require": { - "php": ">=5.3.9", - "symfony/polyfill-mbstring": "~1.0" - }, - "require-dev": { - "psr/log": "~1.0", - "symfony/event-dispatcher": "~2.1|~3.0.0", - "symfony/process": "~2.1|~3.0.0" - }, - "suggest": { - "psr/log": "For using the console logger", - "symfony/event-dispatcher": "", - "symfony/process": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.8-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Console\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Console Component", - "homepage": "https://symfony.com", - "time": "2015-12-22 10:25:57" - }, - { - "name": "symfony/event-dispatcher", - "version": "v2.8.1", - "source": { - "type": "git", - "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "a5eb815363c0388e83247e7e9853e5dbc14999cc" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/a5eb815363c0388e83247e7e9853e5dbc14999cc", - "reference": "a5eb815363c0388e83247e7e9853e5dbc14999cc", - "shasum": "" - }, - "require": { - "php": ">=5.3.9" - }, - "require-dev": { - "psr/log": "~1.0", - "symfony/config": "~2.0,>=2.0.5|~3.0.0", - "symfony/dependency-injection": "~2.6|~3.0.0", - "symfony/expression-language": "~2.6|~3.0.0", - "symfony/stopwatch": "~2.3|~3.0.0" - }, - "suggest": { - "symfony/dependency-injection": "", - "symfony/http-kernel": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.8-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\EventDispatcher\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony EventDispatcher Component", - "homepage": "https://symfony.com", - "time": "2015-10-30 20:15:42" - }, - { - "name": "symfony/filesystem", - "version": "v2.8.1", - "source": { - "type": "git", - "url": "https://github.com/symfony/filesystem.git", - "reference": "a7ad724530a764d70c168d321ac226ba3d2f10fc" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/a7ad724530a764d70c168d321ac226ba3d2f10fc", - "reference": "a7ad724530a764d70c168d321ac226ba3d2f10fc", - "shasum": "" - }, - "require": { - "php": ">=5.3.9" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.8-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Filesystem\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Filesystem Component", - "homepage": "https://symfony.com", - "time": "2015-12-22 10:25:57" - }, - { - "name": "symfony/polyfill-mbstring", - "version": "v1.0.1", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "49ff736bd5d41f45240cec77b44967d76e0c3d25" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/49ff736bd5d41f45240cec77b44967d76e0c3d25", - "reference": "49ff736bd5d41f45240cec77b44967d76e0c3d25", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "suggest": { - "ext-mbstring": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Mbstring\\": "" - }, - "files": [ - "bootstrap.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for the Mbstring extension", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "mbstring", - "polyfill", - "portable", - "shim" - ], - "time": "2015-11-20 09:19:13" - }, - { - "name": "symfony/stopwatch", - "version": "v2.8.1", - "source": { - "type": "git", - "url": "https://github.com/symfony/stopwatch.git", - "reference": "5f1e2ebd1044da542d2b9510527836e8be92b1cb" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/stopwatch/zipball/5f1e2ebd1044da542d2b9510527836e8be92b1cb", - "reference": "5f1e2ebd1044da542d2b9510527836e8be92b1cb", - "shasum": "" - }, - "require": { - "php": ">=5.3.9" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.8-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Stopwatch\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Stopwatch Component", - "homepage": "https://symfony.com", - "time": "2015-10-30 20:15:42" - }, - { - "name": "symfony/yaml", - "version": "v2.8.1", - "source": { - "type": "git", - "url": "https://github.com/symfony/yaml.git", - "reference": "ac84cbb98b68a6abbc9f5149eb96ccc7b07b8966" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/ac84cbb98b68a6abbc9f5149eb96ccc7b07b8966", - "reference": "ac84cbb98b68a6abbc9f5149eb96ccc7b07b8966", - "shasum": "" - }, - "require": { - "php": ">=5.3.9" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.8-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Yaml\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Yaml Component", - "homepage": "https://symfony.com", - "time": "2015-12-26 13:37:56" - } - ], - "aliases": [], - "minimum-stability": "stable", - "stability-flags": [], - "prefer-stable": false, - "prefer-lowest": false, - "platform": { - "php": ">=5.3.2" - }, - "platform-dev": [] -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/generator/FactoryCall.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/generator/FactoryCall.php deleted file mode 100644 index 83965b2..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/generator/FactoryCall.php +++ /dev/null @@ -1,41 +0,0 @@ -method = $method; - $this->name = $name; - } - - public function getMethod() - { - return $this->method; - } - - public function getName() - { - return $this->name; - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/generator/FactoryClass.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/generator/FactoryClass.php deleted file mode 100644 index 0c6bf78..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/generator/FactoryClass.php +++ /dev/null @@ -1,72 +0,0 @@ -file = $file; - $this->reflector = $class; - $this->extractFactoryMethods(); - } - - public function extractFactoryMethods() - { - $this->methods = array(); - foreach ($this->getPublicStaticMethods() as $method) { - if ($method->isFactory()) { -// echo $this->getName() . '::' . $method->getName() . ' : ' . count($method->getCalls()) . PHP_EOL; - $this->methods[] = $method; - } - } - } - - public function getPublicStaticMethods() - { - $methods = array(); - foreach ($this->reflector->getMethods(ReflectionMethod::IS_STATIC) as $method) { - if ($method->isPublic() && $method->getDeclaringClass() == $this->reflector) { - $methods[] = new FactoryMethod($this, $method); - } - } - return $methods; - } - - public function getFile() - { - return $this->file; - } - - public function getName() - { - return $this->reflector->name; - } - - public function isFactory() - { - return !empty($this->methods); - } - - public function getMethods() - { - return $this->methods; - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/generator/FactoryFile.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/generator/FactoryFile.php deleted file mode 100644 index ac3d6c7..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/generator/FactoryFile.php +++ /dev/null @@ -1,122 +0,0 @@ -file = $file; - $this->indent = $indent; - } - - abstract public function addCall(FactoryCall $call); - - abstract public function build(); - - public function addFileHeader() - { - $this->code = ''; - $this->addPart('file_header'); - } - - public function addPart($name) - { - $this->addCode($this->readPart($name)); - } - - public function addCode($code) - { - $this->code .= $code; - } - - public function readPart($name) - { - return file_get_contents(__DIR__ . "/parts/$name.txt"); - } - - public function generateFactoryCall(FactoryCall $call) - { - $method = $call->getMethod(); - $code = $method->getComment($this->indent) . PHP_EOL; - $code .= $this->generateDeclaration($call->getName(), $method); - // $code .= $this->generateImport($method); - $code .= $this->generateCall($method); - $code .= $this->generateClosing(); - return $code; - } - - public function generateDeclaration($name, FactoryMethod $method) - { - $code = $this->indent . $this->getDeclarationModifiers() - . 'function ' . $name . '(' - . $this->generateDeclarationArguments($method) - . ')' . PHP_EOL . $this->indent . '{' . PHP_EOL; - return $code; - } - - public function getDeclarationModifiers() - { - return ''; - } - - public function generateDeclarationArguments(FactoryMethod $method) - { - if ($method->acceptsVariableArguments()) { - return '/* args... */'; - } else { - return $method->getParameterDeclarations(); - } - } - - public function generateImport(FactoryMethod $method) - { - return $this->indent . self::INDENT . "require_once '" . $method->getClass()->getFile() . "';" . PHP_EOL; - } - - public function generateCall(FactoryMethod $method) - { - $code = ''; - if ($method->acceptsVariableArguments()) { - $code .= $this->indent . self::INDENT . '$args = func_get_args();' . PHP_EOL; - } - - $code .= $this->indent . self::INDENT . 'return '; - if ($method->acceptsVariableArguments()) { - $code .= 'call_user_func_array(array(\'' - . '\\' . $method->getClassName() . '\', \'' - . $method->getName() . '\'), $args);' . PHP_EOL; - } else { - $code .= '\\' . $method->getClassName() . '::' - . $method->getName() . '(' - . $method->getParameterInvocations() . ');' . PHP_EOL; - } - - return $code; - } - - public function generateClosing() - { - return $this->indent . '}' . PHP_EOL; - } - - public function write() - { - file_put_contents($this->file, $this->code); - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/generator/FactoryGenerator.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/generator/FactoryGenerator.php deleted file mode 100644 index 37f80b6..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/generator/FactoryGenerator.php +++ /dev/null @@ -1,115 +0,0 @@ -path = $path; - $this->factoryFiles = array(); - } - - public function addFactoryFile(FactoryFile $factoryFile) - { - $this->factoryFiles[] = $factoryFile; - } - - public function generate() - { - $classes = $this->getClassesWithFactoryMethods(); - foreach ($classes as $class) { - foreach ($class->getMethods() as $method) { - foreach ($method->getCalls() as $call) { - foreach ($this->factoryFiles as $file) { - $file->addCall($call); - } - } - } - } - } - - public function write() - { - foreach ($this->factoryFiles as $file) { - $file->build(); - $file->write(); - } - } - - public function getClassesWithFactoryMethods() - { - $classes = array(); - $files = $this->getSortedFiles(); - foreach ($files as $file) { - $class = $this->getFactoryClass($file); - if ($class !== null) { - $classes[] = $class; - } - } - - return $classes; - } - - public function getSortedFiles() - { - $iter = \File_Iterator_Factory::getFileIterator($this->path, '.php'); - $files = array(); - foreach ($iter as $file) { - $files[] = $file; - } - sort($files, SORT_STRING); - - return $files; - } - - public function getFactoryClass($file) - { - $name = $this->getFactoryClassName($file); - if ($name !== null) { - require_once $file; - - if (class_exists($name)) { - $class = new FactoryClass(substr($file, strpos($file, 'Hamcrest/')), new ReflectionClass($name)); - if ($class->isFactory()) { - return $class; - } - } - } - - return null; - } - - public function getFactoryClassName($file) - { - $content = file_get_contents($file); - if (preg_match('/namespace\s+(.+);/', $content, $namespace) - && preg_match('/\n\s*class\s+(\w+)\s+extends\b/', $content, $className) - && preg_match('/@factory\b/', $content) - ) { - return $namespace[1] . '\\' . $className[1]; - } - - return null; - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/generator/FactoryMethod.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/generator/FactoryMethod.php deleted file mode 100644 index 44f8dc5..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/generator/FactoryMethod.php +++ /dev/null @@ -1,231 +0,0 @@ -class = $class; - $this->reflector = $reflector; - $this->extractCommentWithoutLeadingShashesAndStars(); - $this->extractFactoryNamesFromComment(); - $this->extractParameters(); - } - - public function extractCommentWithoutLeadingShashesAndStars() - { - $this->comment = explode("\n", $this->reflector->getDocComment()); - foreach ($this->comment as &$line) { - $line = preg_replace('#^\s*(/\\*+|\\*+/|\\*)\s?#', '', $line); - } - $this->trimLeadingBlankLinesFromComment(); - $this->trimTrailingBlankLinesFromComment(); - } - - public function trimLeadingBlankLinesFromComment() - { - while (count($this->comment) > 0) { - $line = array_shift($this->comment); - if (trim($line) != '') { - array_unshift($this->comment, $line); - break; - } - } - } - - public function trimTrailingBlankLinesFromComment() - { - while (count($this->comment) > 0) { - $line = array_pop($this->comment); - if (trim($line) != '') { - array_push($this->comment, $line); - break; - } - } - } - - public function extractFactoryNamesFromComment() - { - $this->calls = array(); - for ($i = 0; $i < count($this->comment); $i++) { - if ($this->extractFactoryNamesFromLine($this->comment[$i])) { - unset($this->comment[$i]); - } - } - $this->trimTrailingBlankLinesFromComment(); - } - - public function extractFactoryNamesFromLine($line) - { - if (preg_match('/^\s*@factory(\s+(.+))?$/', $line, $match)) { - $this->createCalls( - $this->extractFactoryNamesFromAnnotation( - isset($match[2]) ? trim($match[2]) : null - ) - ); - return true; - } - return false; - } - - public function extractFactoryNamesFromAnnotation($value) - { - $primaryName = $this->reflector->getName(); - if (empty($value)) { - return array($primaryName); - } - preg_match_all('/(\.{3}|-|[a-zA-Z_][a-zA-Z_0-9]*)/', $value, $match); - $names = $match[0]; - if (in_array('...', $names)) { - $this->isVarArgs = true; - } - if (!in_array('-', $names) && !in_array($primaryName, $names)) { - array_unshift($names, $primaryName); - } - return $names; - } - - public function createCalls(array $names) - { - $names = array_unique($names); - foreach ($names as $name) { - if ($name != '-' && $name != '...') { - $this->calls[] = new FactoryCall($this, $name); - } - } - } - - public function extractParameters() - { - $this->parameters = array(); - if (!$this->isVarArgs) { - foreach ($this->reflector->getParameters() as $parameter) { - $this->parameters[] = new FactoryParameter($this, $parameter); - } - } - } - - public function getParameterDeclarations() - { - if ($this->isVarArgs || !$this->hasParameters()) { - return ''; - } - $params = array(); - foreach ($this->parameters as /** @var $parameter FactoryParameter */ - $parameter) { - $params[] = $parameter->getDeclaration(); - } - return implode(', ', $params); - } - - public function getParameterInvocations() - { - if ($this->isVarArgs) { - return ''; - } - $params = array(); - foreach ($this->parameters as $parameter) { - $params[] = $parameter->getInvocation(); - } - return implode(', ', $params); - } - - - public function getClass() - { - return $this->class; - } - - public function getClassName() - { - return $this->class->getName(); - } - - public function getName() - { - return $this->reflector->name; - } - - public function isFactory() - { - return count($this->calls) > 0; - } - - public function getCalls() - { - return $this->calls; - } - - public function acceptsVariableArguments() - { - return $this->isVarArgs; - } - - public function hasParameters() - { - return !empty($this->parameters); - } - - public function getParameters() - { - return $this->parameters; - } - - public function getFullName() - { - return $this->getClassName() . '::' . $this->getName(); - } - - public function getCommentText() - { - return implode(PHP_EOL, $this->comment); - } - - public function getComment($indent = '') - { - $comment = $indent . '/**'; - foreach ($this->comment as $line) { - $comment .= PHP_EOL . rtrim($indent . ' * ' . $line); - } - $comment .= PHP_EOL . $indent . ' */'; - return $comment; - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/generator/FactoryParameter.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/generator/FactoryParameter.php deleted file mode 100644 index 93a76b3..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/generator/FactoryParameter.php +++ /dev/null @@ -1,69 +0,0 @@ -method = $method; - $this->reflector = $reflector; - } - - public function getDeclaration() - { - if ($this->reflector->isArray()) { - $code = 'array '; - } else { - $class = $this->reflector->getClass(); - if ($class !== null) { - $code = '\\' . $class->name . ' '; - } else { - $code = ''; - } - } - $code .= '$' . $this->reflector->name; - if ($this->reflector->isOptional()) { - $default = $this->reflector->getDefaultValue(); - if (is_null($default)) { - $default = 'null'; - } elseif (is_bool($default)) { - $default = $default ? 'true' : 'false'; - } elseif (is_string($default)) { - $default = "'" . $default . "'"; - } elseif (is_numeric($default)) { - $default = strval($default); - } elseif (is_array($default)) { - $default = 'array()'; - } else { - echo 'Warning: unknown default type for ' . $this->getMethod()->getFullName() . PHP_EOL; - var_dump($default); - $default = 'null'; - } - $code .= ' = ' . $default; - } - return $code; - } - - public function getInvocation() - { - return '$' . $this->reflector->name; - } - - public function getMethod() - { - return $this->method; - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/generator/GlobalFunctionFile.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/generator/GlobalFunctionFile.php deleted file mode 100644 index 5ee1b69..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/generator/GlobalFunctionFile.php +++ /dev/null @@ -1,42 +0,0 @@ -functions = ''; - } - - public function addCall(FactoryCall $call) - { - $this->functions .= PHP_EOL . $this->generateFactoryCall($call); - } - - public function build() - { - $this->addFileHeader(); - $this->addPart('functions_imports'); - $this->addPart('functions_header'); - $this->addCode($this->functions); - $this->addPart('functions_footer'); - } - - public function generateFactoryCall(FactoryCall $call) - { - $code = "if (!function_exists('{$call->getName()}')) {"; - $code.= parent::generateFactoryCall($call); - $code.= "}\n"; - - return $code; - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/generator/StaticMethodFile.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/generator/StaticMethodFile.php deleted file mode 100644 index 44cec02..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/generator/StaticMethodFile.php +++ /dev/null @@ -1,38 +0,0 @@ -methods = ''; - } - - public function addCall(FactoryCall $call) - { - $this->methods .= PHP_EOL . $this->generateFactoryCall($call); - } - - public function getDeclarationModifiers() - { - return 'public static '; - } - - public function build() - { - $this->addFileHeader(); - $this->addPart('matchers_imports'); - $this->addPart('matchers_header'); - $this->addCode($this->methods); - $this->addPart('matchers_footer'); - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/generator/parts/file_header.txt b/paragonik-backend/vendor/hamcrest/hamcrest-php/generator/parts/file_header.txt deleted file mode 100644 index 7b352e4..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/generator/parts/file_header.txt +++ /dev/null @@ -1,7 +0,0 @@ - - * //With an identifier - * assertThat("assertion identifier", $apple->flavour(), equalTo("tasty")); - * //Without an identifier - * assertThat($apple->flavour(), equalTo("tasty")); - * //Evaluating a boolean expression - * assertThat("some error", $a > $b); - * - */ - function assertThat() - { - $args = func_get_args(); - call_user_func_array( - array('Hamcrest\MatcherAssert', 'assertThat'), - $args - ); - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/generator/parts/functions_imports.txt b/paragonik-backend/vendor/hamcrest/hamcrest-php/generator/parts/functions_imports.txt deleted file mode 100644 index e69de29..0000000 diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/generator/parts/matchers_footer.txt b/paragonik-backend/vendor/hamcrest/hamcrest-php/generator/parts/matchers_footer.txt deleted file mode 100644 index 5c34318..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/generator/parts/matchers_footer.txt +++ /dev/null @@ -1 +0,0 @@ -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/generator/parts/matchers_header.txt b/paragonik-backend/vendor/hamcrest/hamcrest-php/generator/parts/matchers_header.txt deleted file mode 100644 index 4f8bb2b..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/generator/parts/matchers_header.txt +++ /dev/null @@ -1,7 +0,0 @@ - - -/** - * A series of static factories for all hamcrest matchers. - */ -class Matchers -{ diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/generator/parts/matchers_imports.txt b/paragonik-backend/vendor/hamcrest/hamcrest-php/generator/parts/matchers_imports.txt deleted file mode 100644 index 7dd6849..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/generator/parts/matchers_imports.txt +++ /dev/null @@ -1,2 +0,0 @@ - -namespace Hamcrest; \ No newline at end of file diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/generator/run.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/generator/run.php deleted file mode 100644 index 924d752..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/generator/run.php +++ /dev/null @@ -1,37 +0,0 @@ -addFactoryFile(new StaticMethodFile(STATIC_MATCHERS_FILE)); -$generator->addFactoryFile(new GlobalFunctionFile(GLOBAL_FUNCTIONS_FILE)); -$generator->generate(); -$generator->write(); diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest.php deleted file mode 100644 index 8a719eb..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest.php +++ /dev/null @@ -1,805 +0,0 @@ - - * //With an identifier - * assertThat("assertion identifier", $apple->flavour(), equalTo("tasty")); - * //Without an identifier - * assertThat($apple->flavour(), equalTo("tasty")); - * //Evaluating a boolean expression - * assertThat("some error", $a > $b); - * - */ - function assertThat() - { - $args = func_get_args(); - call_user_func_array( - array('Hamcrest\MatcherAssert', 'assertThat'), - $args - ); - } -} - -if (!function_exists('anArray')) { /** - * Evaluates to true only if each $matcher[$i] is satisfied by $array[$i]. - */ - function anArray(/* args... */) - { - $args = func_get_args(); - return call_user_func_array(array('\Hamcrest\Arrays\IsArray', 'anArray'), $args); - } -} - -if (!function_exists('hasItemInArray')) { /** - * Evaluates to true if any item in an array satisfies the given matcher. - * - * @param mixed $item as a {@link Hamcrest\Matcher} or a value. - * - * @return \Hamcrest\Arrays\IsArrayContaining - */ - function hasItemInArray($item) - { - return \Hamcrest\Arrays\IsArrayContaining::hasItemInArray($item); - } -} - -if (!function_exists('hasValue')) { /** - * Evaluates to true if any item in an array satisfies the given matcher. - * - * @param mixed $item as a {@link Hamcrest\Matcher} or a value. - * - * @return \Hamcrest\Arrays\IsArrayContaining - */ - function hasValue($item) - { - return \Hamcrest\Arrays\IsArrayContaining::hasItemInArray($item); - } -} - -if (!function_exists('arrayContainingInAnyOrder')) { /** - * An array with elements that match the given matchers. - */ - function arrayContainingInAnyOrder(/* args... */) - { - $args = func_get_args(); - return call_user_func_array(array('\Hamcrest\Arrays\IsArrayContainingInAnyOrder', 'arrayContainingInAnyOrder'), $args); - } -} - -if (!function_exists('containsInAnyOrder')) { /** - * An array with elements that match the given matchers. - */ - function containsInAnyOrder(/* args... */) - { - $args = func_get_args(); - return call_user_func_array(array('\Hamcrest\Arrays\IsArrayContainingInAnyOrder', 'arrayContainingInAnyOrder'), $args); - } -} - -if (!function_exists('arrayContaining')) { /** - * An array with elements that match the given matchers in the same order. - */ - function arrayContaining(/* args... */) - { - $args = func_get_args(); - return call_user_func_array(array('\Hamcrest\Arrays\IsArrayContainingInOrder', 'arrayContaining'), $args); - } -} - -if (!function_exists('contains')) { /** - * An array with elements that match the given matchers in the same order. - */ - function contains(/* args... */) - { - $args = func_get_args(); - return call_user_func_array(array('\Hamcrest\Arrays\IsArrayContainingInOrder', 'arrayContaining'), $args); - } -} - -if (!function_exists('hasKeyInArray')) { /** - * Evaluates to true if any key in an array matches the given matcher. - * - * @param mixed $key as a {@link Hamcrest\Matcher} or a value. - * - * @return \Hamcrest\Arrays\IsArrayContainingKey - */ - function hasKeyInArray($key) - { - return \Hamcrest\Arrays\IsArrayContainingKey::hasKeyInArray($key); - } -} - -if (!function_exists('hasKey')) { /** - * Evaluates to true if any key in an array matches the given matcher. - * - * @param mixed $key as a {@link Hamcrest\Matcher} or a value. - * - * @return \Hamcrest\Arrays\IsArrayContainingKey - */ - function hasKey($key) - { - return \Hamcrest\Arrays\IsArrayContainingKey::hasKeyInArray($key); - } -} - -if (!function_exists('hasKeyValuePair')) { /** - * Test if an array has both an key and value in parity with each other. - */ - function hasKeyValuePair($key, $value) - { - return \Hamcrest\Arrays\IsArrayContainingKeyValuePair::hasKeyValuePair($key, $value); - } -} - -if (!function_exists('hasEntry')) { /** - * Test if an array has both an key and value in parity with each other. - */ - function hasEntry($key, $value) - { - return \Hamcrest\Arrays\IsArrayContainingKeyValuePair::hasKeyValuePair($key, $value); - } -} - -if (!function_exists('arrayWithSize')) { /** - * Does array size satisfy a given matcher? - * - * @param \Hamcrest\Matcher|int $size as a {@link Hamcrest\Matcher} or a value. - * - * @return \Hamcrest\Arrays\IsArrayWithSize - */ - function arrayWithSize($size) - { - return \Hamcrest\Arrays\IsArrayWithSize::arrayWithSize($size); - } -} - -if (!function_exists('emptyArray')) { /** - * Matches an empty array. - */ - function emptyArray() - { - return \Hamcrest\Arrays\IsArrayWithSize::emptyArray(); - } -} - -if (!function_exists('nonEmptyArray')) { /** - * Matches an empty array. - */ - function nonEmptyArray() - { - return \Hamcrest\Arrays\IsArrayWithSize::nonEmptyArray(); - } -} - -if (!function_exists('emptyTraversable')) { /** - * Returns true if traversable is empty. - */ - function emptyTraversable() - { - return \Hamcrest\Collection\IsEmptyTraversable::emptyTraversable(); - } -} - -if (!function_exists('nonEmptyTraversable')) { /** - * Returns true if traversable is not empty. - */ - function nonEmptyTraversable() - { - return \Hamcrest\Collection\IsEmptyTraversable::nonEmptyTraversable(); - } -} - -if (!function_exists('traversableWithSize')) { /** - * Does traversable size satisfy a given matcher? - */ - function traversableWithSize($size) - { - return \Hamcrest\Collection\IsTraversableWithSize::traversableWithSize($size); - } -} - -if (!function_exists('allOf')) { /** - * Evaluates to true only if ALL of the passed in matchers evaluate to true. - */ - function allOf(/* args... */) - { - $args = func_get_args(); - return call_user_func_array(array('\Hamcrest\Core\AllOf', 'allOf'), $args); - } -} - -if (!function_exists('anyOf')) { /** - * Evaluates to true if ANY of the passed in matchers evaluate to true. - */ - function anyOf(/* args... */) - { - $args = func_get_args(); - return call_user_func_array(array('\Hamcrest\Core\AnyOf', 'anyOf'), $args); - } -} - -if (!function_exists('noneOf')) { /** - * Evaluates to false if ANY of the passed in matchers evaluate to true. - */ - function noneOf(/* args... */) - { - $args = func_get_args(); - return call_user_func_array(array('\Hamcrest\Core\AnyOf', 'noneOf'), $args); - } -} - -if (!function_exists('both')) { /** - * This is useful for fluently combining matchers that must both pass. - * For example: - *
-     *   assertThat($string, both(containsString("a"))->andAlso(containsString("b")));
-     * 
- */ - function both(\Hamcrest\Matcher $matcher) - { - return \Hamcrest\Core\CombinableMatcher::both($matcher); - } -} - -if (!function_exists('either')) { /** - * This is useful for fluently combining matchers where either may pass, - * for example: - *
-     *   assertThat($string, either(containsString("a"))->orElse(containsString("b")));
-     * 
- */ - function either(\Hamcrest\Matcher $matcher) - { - return \Hamcrest\Core\CombinableMatcher::either($matcher); - } -} - -if (!function_exists('describedAs')) { /** - * Wraps an existing matcher and overrides the description when it fails. - */ - function describedAs(/* args... */) - { - $args = func_get_args(); - return call_user_func_array(array('\Hamcrest\Core\DescribedAs', 'describedAs'), $args); - } -} - -if (!function_exists('everyItem')) { /** - * @param Matcher $itemMatcher - * A matcher to apply to every element in an array. - * - * @return \Hamcrest\Core\Every - * Evaluates to TRUE for a collection in which every item matches $itemMatcher - */ - function everyItem(\Hamcrest\Matcher $itemMatcher) - { - return \Hamcrest\Core\Every::everyItem($itemMatcher); - } -} - -if (!function_exists('hasToString')) { /** - * Does array size satisfy a given matcher? - */ - function hasToString($matcher) - { - return \Hamcrest\Core\HasToString::hasToString($matcher); - } -} - -if (!function_exists('is')) { /** - * Decorates another Matcher, retaining the behavior but allowing tests - * to be slightly more expressive. - * - * For example: assertThat($cheese, equalTo($smelly)) - * vs. assertThat($cheese, is(equalTo($smelly))) - */ - function is($value) - { - return \Hamcrest\Core\Is::is($value); - } -} - -if (!function_exists('anything')) { /** - * This matcher always evaluates to true. - * - * @param string $description A meaningful string used when describing itself. - * - * @return \Hamcrest\Core\IsAnything - */ - function anything($description = 'ANYTHING') - { - return \Hamcrest\Core\IsAnything::anything($description); - } -} - -if (!function_exists('hasItem')) { /** - * Test if the value is an array containing this matcher. - * - * Example: - *
-     * assertThat(array('a', 'b'), hasItem(equalTo('b')));
-     * //Convenience defaults to equalTo()
-     * assertThat(array('a', 'b'), hasItem('b'));
-     * 
- */ - function hasItem(/* args... */) - { - $args = func_get_args(); - return call_user_func_array(array('\Hamcrest\Core\IsCollectionContaining', 'hasItem'), $args); - } -} - -if (!function_exists('hasItems')) { /** - * Test if the value is an array containing elements that match all of these - * matchers. - * - * Example: - *
-     * assertThat(array('a', 'b', 'c'), hasItems(equalTo('a'), equalTo('b')));
-     * 
- */ - function hasItems(/* args... */) - { - $args = func_get_args(); - return call_user_func_array(array('\Hamcrest\Core\IsCollectionContaining', 'hasItems'), $args); - } -} - -if (!function_exists('equalTo')) { /** - * Is the value equal to another value, as tested by the use of the "==" - * comparison operator? - */ - function equalTo($item) - { - return \Hamcrest\Core\IsEqual::equalTo($item); - } -} - -if (!function_exists('identicalTo')) { /** - * Tests of the value is identical to $value as tested by the "===" operator. - */ - function identicalTo($value) - { - return \Hamcrest\Core\IsIdentical::identicalTo($value); - } -} - -if (!function_exists('anInstanceOf')) { /** - * Is the value an instance of a particular type? - * This version assumes no relationship between the required type and - * the signature of the method that sets it up, for example in - * assertThat($anObject, anInstanceOf('Thing')); - */ - function anInstanceOf($theClass) - { - return \Hamcrest\Core\IsInstanceOf::anInstanceOf($theClass); - } -} - -if (!function_exists('any')) { /** - * Is the value an instance of a particular type? - * This version assumes no relationship between the required type and - * the signature of the method that sets it up, for example in - * assertThat($anObject, anInstanceOf('Thing')); - */ - function any($theClass) - { - return \Hamcrest\Core\IsInstanceOf::anInstanceOf($theClass); - } -} - -if (!function_exists('not')) { /** - * Matches if value does not match $value. - */ - function not($value) - { - return \Hamcrest\Core\IsNot::not($value); - } -} - -if (!function_exists('nullValue')) { /** - * Matches if value is null. - */ - function nullValue() - { - return \Hamcrest\Core\IsNull::nullValue(); - } -} - -if (!function_exists('notNullValue')) { /** - * Matches if value is not null. - */ - function notNullValue() - { - return \Hamcrest\Core\IsNull::notNullValue(); - } -} - -if (!function_exists('sameInstance')) { /** - * Creates a new instance of IsSame. - * - * @param mixed $object - * The predicate evaluates to true only when the argument is - * this object. - * - * @return \Hamcrest\Core\IsSame - */ - function sameInstance($object) - { - return \Hamcrest\Core\IsSame::sameInstance($object); - } -} - -if (!function_exists('typeOf')) { /** - * Is the value a particular built-in type? - */ - function typeOf($theType) - { - return \Hamcrest\Core\IsTypeOf::typeOf($theType); - } -} - -if (!function_exists('set')) { /** - * Matches if value (class, object, or array) has named $property. - */ - function set($property) - { - return \Hamcrest\Core\Set::set($property); - } -} - -if (!function_exists('notSet')) { /** - * Matches if value (class, object, or array) does not have named $property. - */ - function notSet($property) - { - return \Hamcrest\Core\Set::notSet($property); - } -} - -if (!function_exists('closeTo')) { /** - * Matches if value is a number equal to $value within some range of - * acceptable error $delta. - */ - function closeTo($value, $delta) - { - return \Hamcrest\Number\IsCloseTo::closeTo($value, $delta); - } -} - -if (!function_exists('comparesEqualTo')) { /** - * The value is not > $value, nor < $value. - */ - function comparesEqualTo($value) - { - return \Hamcrest\Number\OrderingComparison::comparesEqualTo($value); - } -} - -if (!function_exists('greaterThan')) { /** - * The value is > $value. - */ - function greaterThan($value) - { - return \Hamcrest\Number\OrderingComparison::greaterThan($value); - } -} - -if (!function_exists('greaterThanOrEqualTo')) { /** - * The value is >= $value. - */ - function greaterThanOrEqualTo($value) - { - return \Hamcrest\Number\OrderingComparison::greaterThanOrEqualTo($value); - } -} - -if (!function_exists('atLeast')) { /** - * The value is >= $value. - */ - function atLeast($value) - { - return \Hamcrest\Number\OrderingComparison::greaterThanOrEqualTo($value); - } -} - -if (!function_exists('lessThan')) { /** - * The value is < $value. - */ - function lessThan($value) - { - return \Hamcrest\Number\OrderingComparison::lessThan($value); - } -} - -if (!function_exists('lessThanOrEqualTo')) { /** - * The value is <= $value. - */ - function lessThanOrEqualTo($value) - { - return \Hamcrest\Number\OrderingComparison::lessThanOrEqualTo($value); - } -} - -if (!function_exists('atMost')) { /** - * The value is <= $value. - */ - function atMost($value) - { - return \Hamcrest\Number\OrderingComparison::lessThanOrEqualTo($value); - } -} - -if (!function_exists('isEmptyString')) { /** - * Matches if value is a zero-length string. - */ - function isEmptyString() - { - return \Hamcrest\Text\IsEmptyString::isEmptyString(); - } -} - -if (!function_exists('emptyString')) { /** - * Matches if value is a zero-length string. - */ - function emptyString() - { - return \Hamcrest\Text\IsEmptyString::isEmptyString(); - } -} - -if (!function_exists('isEmptyOrNullString')) { /** - * Matches if value is null or a zero-length string. - */ - function isEmptyOrNullString() - { - return \Hamcrest\Text\IsEmptyString::isEmptyOrNullString(); - } -} - -if (!function_exists('nullOrEmptyString')) { /** - * Matches if value is null or a zero-length string. - */ - function nullOrEmptyString() - { - return \Hamcrest\Text\IsEmptyString::isEmptyOrNullString(); - } -} - -if (!function_exists('isNonEmptyString')) { /** - * Matches if value is a non-zero-length string. - */ - function isNonEmptyString() - { - return \Hamcrest\Text\IsEmptyString::isNonEmptyString(); - } -} - -if (!function_exists('nonEmptyString')) { /** - * Matches if value is a non-zero-length string. - */ - function nonEmptyString() - { - return \Hamcrest\Text\IsEmptyString::isNonEmptyString(); - } -} - -if (!function_exists('equalToIgnoringCase')) { /** - * Matches if value is a string equal to $string, regardless of the case. - */ - function equalToIgnoringCase($string) - { - return \Hamcrest\Text\IsEqualIgnoringCase::equalToIgnoringCase($string); - } -} - -if (!function_exists('equalToIgnoringWhiteSpace')) { /** - * Matches if value is a string equal to $string, regardless of whitespace. - */ - function equalToIgnoringWhiteSpace($string) - { - return \Hamcrest\Text\IsEqualIgnoringWhiteSpace::equalToIgnoringWhiteSpace($string); - } -} - -if (!function_exists('matchesPattern')) { /** - * Matches if value is a string that matches regular expression $pattern. - */ - function matchesPattern($pattern) - { - return \Hamcrest\Text\MatchesPattern::matchesPattern($pattern); - } -} - -if (!function_exists('containsString')) { /** - * Matches if value is a string that contains $substring. - */ - function containsString($substring) - { - return \Hamcrest\Text\StringContains::containsString($substring); - } -} - -if (!function_exists('containsStringIgnoringCase')) { /** - * Matches if value is a string that contains $substring regardless of the case. - */ - function containsStringIgnoringCase($substring) - { - return \Hamcrest\Text\StringContainsIgnoringCase::containsStringIgnoringCase($substring); - } -} - -if (!function_exists('stringContainsInOrder')) { /** - * Matches if value contains $substrings in a constrained order. - */ - function stringContainsInOrder(/* args... */) - { - $args = func_get_args(); - return call_user_func_array(array('\Hamcrest\Text\StringContainsInOrder', 'stringContainsInOrder'), $args); - } -} - -if (!function_exists('endsWith')) { /** - * Matches if value is a string that ends with $substring. - */ - function endsWith($substring) - { - return \Hamcrest\Text\StringEndsWith::endsWith($substring); - } -} - -if (!function_exists('startsWith')) { /** - * Matches if value is a string that starts with $substring. - */ - function startsWith($substring) - { - return \Hamcrest\Text\StringStartsWith::startsWith($substring); - } -} - -if (!function_exists('arrayValue')) { /** - * Is the value an array? - */ - function arrayValue() - { - return \Hamcrest\Type\IsArray::arrayValue(); - } -} - -if (!function_exists('booleanValue')) { /** - * Is the value a boolean? - */ - function booleanValue() - { - return \Hamcrest\Type\IsBoolean::booleanValue(); - } -} - -if (!function_exists('boolValue')) { /** - * Is the value a boolean? - */ - function boolValue() - { - return \Hamcrest\Type\IsBoolean::booleanValue(); - } -} - -if (!function_exists('callableValue')) { /** - * Is the value callable? - */ - function callableValue() - { - return \Hamcrest\Type\IsCallable::callableValue(); - } -} - -if (!function_exists('doubleValue')) { /** - * Is the value a float/double? - */ - function doubleValue() - { - return \Hamcrest\Type\IsDouble::doubleValue(); - } -} - -if (!function_exists('floatValue')) { /** - * Is the value a float/double? - */ - function floatValue() - { - return \Hamcrest\Type\IsDouble::doubleValue(); - } -} - -if (!function_exists('integerValue')) { /** - * Is the value an integer? - */ - function integerValue() - { - return \Hamcrest\Type\IsInteger::integerValue(); - } -} - -if (!function_exists('intValue')) { /** - * Is the value an integer? - */ - function intValue() - { - return \Hamcrest\Type\IsInteger::integerValue(); - } -} - -if (!function_exists('numericValue')) { /** - * Is the value a numeric? - */ - function numericValue() - { - return \Hamcrest\Type\IsNumeric::numericValue(); - } -} - -if (!function_exists('objectValue')) { /** - * Is the value an object? - */ - function objectValue() - { - return \Hamcrest\Type\IsObject::objectValue(); - } -} - -if (!function_exists('anObject')) { /** - * Is the value an object? - */ - function anObject() - { - return \Hamcrest\Type\IsObject::objectValue(); - } -} - -if (!function_exists('resourceValue')) { /** - * Is the value a resource? - */ - function resourceValue() - { - return \Hamcrest\Type\IsResource::resourceValue(); - } -} - -if (!function_exists('scalarValue')) { /** - * Is the value a scalar (boolean, integer, double, or string)? - */ - function scalarValue() - { - return \Hamcrest\Type\IsScalar::scalarValue(); - } -} - -if (!function_exists('stringValue')) { /** - * Is the value a string? - */ - function stringValue() - { - return \Hamcrest\Type\IsString::stringValue(); - } -} - -if (!function_exists('hasXPath')) { /** - * Wraps $matcher with {@link Hamcrest\Core\IsEqual) - * if it's not a matcher and the XPath in count() - * if it's an integer. - */ - function hasXPath($xpath, $matcher = null) - { - return \Hamcrest\Xml\HasXPath::hasXPath($xpath, $matcher); - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Arrays/IsArray.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Arrays/IsArray.php deleted file mode 100644 index 9ea5697..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Arrays/IsArray.php +++ /dev/null @@ -1,118 +0,0 @@ -_elementMatchers = $elementMatchers; - } - - protected function matchesSafely($array) - { - if (array_keys($array) != array_keys($this->_elementMatchers)) { - return false; - } - - /** @var $matcher \Hamcrest\Matcher */ - foreach ($this->_elementMatchers as $k => $matcher) { - if (!$matcher->matches($array[$k])) { - return false; - } - } - - return true; - } - - protected function describeMismatchSafely($actual, Description $mismatchDescription) - { - if (count($actual) != count($this->_elementMatchers)) { - $mismatchDescription->appendText('array length was ' . count($actual)); - - return; - } elseif (array_keys($actual) != array_keys($this->_elementMatchers)) { - $mismatchDescription->appendText('array keys were ') - ->appendValueList( - $this->descriptionStart(), - $this->descriptionSeparator(), - $this->descriptionEnd(), - array_keys($actual) - ) - ; - - return; - } - - /** @var $matcher \Hamcrest\Matcher */ - foreach ($this->_elementMatchers as $k => $matcher) { - if (!$matcher->matches($actual[$k])) { - $mismatchDescription->appendText('element ')->appendValue($k) - ->appendText(' was ')->appendValue($actual[$k]); - - return; - } - } - } - - public function describeTo(Description $description) - { - $description->appendList( - $this->descriptionStart(), - $this->descriptionSeparator(), - $this->descriptionEnd(), - $this->_elementMatchers - ); - } - - /** - * Evaluates to true only if each $matcher[$i] is satisfied by $array[$i]. - * - * @factory ... - */ - public static function anArray(/* args... */) - { - $args = func_get_args(); - - return new self(Util::createMatcherArray($args)); - } - - // -- Protected Methods - - protected function descriptionStart() - { - return '['; - } - - protected function descriptionSeparator() - { - return ', '; - } - - protected function descriptionEnd() - { - return ']'; - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Arrays/IsArrayContaining.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Arrays/IsArrayContaining.php deleted file mode 100644 index 0e4a1ed..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Arrays/IsArrayContaining.php +++ /dev/null @@ -1,63 +0,0 @@ -_elementMatcher = $elementMatcher; - } - - protected function matchesSafely($array) - { - foreach ($array as $element) { - if ($this->_elementMatcher->matches($element)) { - return true; - } - } - - return false; - } - - protected function describeMismatchSafely($array, Description $mismatchDescription) - { - $mismatchDescription->appendText('was ')->appendValue($array); - } - - public function describeTo(Description $description) - { - $description - ->appendText('an array containing ') - ->appendDescriptionOf($this->_elementMatcher) - ; - } - - /** - * Evaluates to true if any item in an array satisfies the given matcher. - * - * @param mixed $item as a {@link Hamcrest\Matcher} or a value. - * - * @return \Hamcrest\Arrays\IsArrayContaining - * @factory hasValue - */ - public static function hasItemInArray($item) - { - return new self(Util::wrapValueWithIsEqual($item)); - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Arrays/IsArrayContainingInAnyOrder.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Arrays/IsArrayContainingInAnyOrder.php deleted file mode 100644 index 9009026..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Arrays/IsArrayContainingInAnyOrder.php +++ /dev/null @@ -1,59 +0,0 @@ -_elementMatchers = $elementMatchers; - } - - protected function matchesSafelyWithDiagnosticDescription($array, Description $mismatchDescription) - { - $matching = new MatchingOnce($this->_elementMatchers, $mismatchDescription); - - foreach ($array as $element) { - if (!$matching->matches($element)) { - return false; - } - } - - return $matching->isFinished($array); - } - - public function describeTo(Description $description) - { - $description->appendList('[', ', ', ']', $this->_elementMatchers) - ->appendText(' in any order') - ; - } - - /** - * An array with elements that match the given matchers. - * - * @factory containsInAnyOrder ... - */ - public static function arrayContainingInAnyOrder(/* args... */) - { - $args = func_get_args(); - - return new self(Util::createMatcherArray($args)); - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Arrays/IsArrayContainingInOrder.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Arrays/IsArrayContainingInOrder.php deleted file mode 100644 index 6115740..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Arrays/IsArrayContainingInOrder.php +++ /dev/null @@ -1,57 +0,0 @@ -_elementMatchers = $elementMatchers; - } - - protected function matchesSafelyWithDiagnosticDescription($array, Description $mismatchDescription) - { - $series = new SeriesMatchingOnce($this->_elementMatchers, $mismatchDescription); - - foreach ($array as $element) { - if (!$series->matches($element)) { - return false; - } - } - - return $series->isFinished(); - } - - public function describeTo(Description $description) - { - $description->appendList('[', ', ', ']', $this->_elementMatchers); - } - - /** - * An array with elements that match the given matchers in the same order. - * - * @factory contains ... - */ - public static function arrayContaining(/* args... */) - { - $args = func_get_args(); - - return new self(Util::createMatcherArray($args)); - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Arrays/IsArrayContainingKey.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Arrays/IsArrayContainingKey.php deleted file mode 100644 index 523477e..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Arrays/IsArrayContainingKey.php +++ /dev/null @@ -1,75 +0,0 @@ -_keyMatcher = $keyMatcher; - } - - protected function matchesSafely($array) - { - foreach ($array as $key => $element) { - if ($this->_keyMatcher->matches($key)) { - return true; - } - } - - return false; - } - - protected function describeMismatchSafely($array, Description $mismatchDescription) - { - //Not using appendValueList() so that keys can be shown - $mismatchDescription->appendText('array was ') - ->appendText('[') - ; - $loop = false; - foreach ($array as $key => $value) { - if ($loop) { - $mismatchDescription->appendText(', '); - } - $mismatchDescription->appendValue($key)->appendText(' => ')->appendValue($value); - $loop = true; - } - $mismatchDescription->appendText(']'); - } - - public function describeTo(Description $description) - { - $description - ->appendText('array with key ') - ->appendDescriptionOf($this->_keyMatcher) - ; - } - - /** - * Evaluates to true if any key in an array matches the given matcher. - * - * @param mixed $key as a {@link Hamcrest\Matcher} or a value. - * - * @return \Hamcrest\Arrays\IsArrayContainingKey - * @factory hasKey - */ - public static function hasKeyInArray($key) - { - return new self(Util::wrapValueWithIsEqual($key)); - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Arrays/IsArrayContainingKeyValuePair.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Arrays/IsArrayContainingKeyValuePair.php deleted file mode 100644 index 9ac3eba..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Arrays/IsArrayContainingKeyValuePair.php +++ /dev/null @@ -1,80 +0,0 @@ -_keyMatcher = $keyMatcher; - $this->_valueMatcher = $valueMatcher; - } - - protected function matchesSafely($array) - { - foreach ($array as $key => $value) { - if ($this->_keyMatcher->matches($key) && $this->_valueMatcher->matches($value)) { - return true; - } - } - - return false; - } - - protected function describeMismatchSafely($array, Description $mismatchDescription) - { - //Not using appendValueList() so that keys can be shown - $mismatchDescription->appendText('array was ') - ->appendText('[') - ; - $loop = false; - foreach ($array as $key => $value) { - if ($loop) { - $mismatchDescription->appendText(', '); - } - $mismatchDescription->appendValue($key)->appendText(' => ')->appendValue($value); - $loop = true; - } - $mismatchDescription->appendText(']'); - } - - public function describeTo(Description $description) - { - $description->appendText('array containing [') - ->appendDescriptionOf($this->_keyMatcher) - ->appendText(' => ') - ->appendDescriptionOf($this->_valueMatcher) - ->appendText(']') - ; - } - - /** - * Test if an array has both an key and value in parity with each other. - * - * @factory hasEntry - */ - public static function hasKeyValuePair($key, $value) - { - return new self( - Util::wrapValueWithIsEqual($key), - Util::wrapValueWithIsEqual($value) - ); - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Arrays/IsArrayWithSize.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Arrays/IsArrayWithSize.php deleted file mode 100644 index 074375c..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Arrays/IsArrayWithSize.php +++ /dev/null @@ -1,73 +0,0 @@ -_elementMatchers = $elementMatchers; - $this->_mismatchDescription = $mismatchDescription; - } - - public function matches($item) - { - return $this->_isNotSurplus($item) && $this->_isMatched($item); - } - - public function isFinished($items) - { - if (empty($this->_elementMatchers)) { - return true; - } - - $this->_mismatchDescription - ->appendText('No item matches: ')->appendList('', ', ', '', $this->_elementMatchers) - ->appendText(' in ')->appendValueList('[', ', ', ']', $items) - ; - - return false; - } - - // -- Private Methods - - private function _isNotSurplus($item) - { - if (empty($this->_elementMatchers)) { - $this->_mismatchDescription->appendText('Not matched: ')->appendValue($item); - - return false; - } - - return true; - } - - private function _isMatched($item) - { - /** @var $matcher \Hamcrest\Matcher */ - foreach ($this->_elementMatchers as $i => $matcher) { - if ($matcher->matches($item)) { - unset($this->_elementMatchers[$i]); - - return true; - } - } - - $this->_mismatchDescription->appendText('Not matched: ')->appendValue($item); - - return false; - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Arrays/SeriesMatchingOnce.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Arrays/SeriesMatchingOnce.php deleted file mode 100644 index 12a912d..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Arrays/SeriesMatchingOnce.php +++ /dev/null @@ -1,75 +0,0 @@ -_elementMatchers = $elementMatchers; - $this->_keys = array_keys($elementMatchers); - $this->_mismatchDescription = $mismatchDescription; - } - - public function matches($item) - { - return $this->_isNotSurplus($item) && $this->_isMatched($item); - } - - public function isFinished() - { - if (!empty($this->_elementMatchers)) { - $nextMatcher = current($this->_elementMatchers); - $this->_mismatchDescription->appendText('No item matched: ')->appendDescriptionOf($nextMatcher); - - return false; - } - - return true; - } - - // -- Private Methods - - private function _isNotSurplus($item) - { - if (empty($this->_elementMatchers)) { - $this->_mismatchDescription->appendText('Not matched: ')->appendValue($item); - - return false; - } - - return true; - } - - private function _isMatched($item) - { - $this->_nextMatchKey = array_shift($this->_keys); - $nextMatcher = array_shift($this->_elementMatchers); - - if (!$nextMatcher->matches($item)) { - $this->_describeMismatch($nextMatcher, $item); - - return false; - } - - return true; - } - - private function _describeMismatch(Matcher $matcher, $item) - { - $this->_mismatchDescription->appendText('item with key ' . $this->_nextMatchKey . ': '); - $matcher->describeMismatch($item, $this->_mismatchDescription); - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/AssertionError.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/AssertionError.php deleted file mode 100644 index 3a2a0e7..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/AssertionError.php +++ /dev/null @@ -1,10 +0,0 @@ -append($text); - - return $this; - } - - public function appendDescriptionOf(SelfDescribing $value) - { - $value->describeTo($this); - - return $this; - } - - public function appendValue($value) - { - if (is_null($value)) { - $this->append('null'); - } elseif (is_string($value)) { - $this->_toPhpSyntax($value); - } elseif (is_float($value)) { - $this->append('<'); - $this->append($value); - $this->append('F>'); - } elseif (is_bool($value)) { - $this->append('<'); - $this->append($value ? 'true' : 'false'); - $this->append('>'); - } elseif (is_array($value) || $value instanceof \Iterator || $value instanceof \IteratorAggregate) { - $this->appendValueList('[', ', ', ']', $value); - } elseif (is_object($value) && !method_exists($value, '__toString')) { - $this->append('<'); - $this->append(get_class($value)); - $this->append('>'); - } else { - $this->append('<'); - $this->append($value); - $this->append('>'); - } - - return $this; - } - - public function appendValueList($start, $separator, $end, $values) - { - $list = array(); - foreach ($values as $v) { - $list[] = new SelfDescribingValue($v); - } - - $this->appendList($start, $separator, $end, $list); - - return $this; - } - - public function appendList($start, $separator, $end, $values) - { - $this->append($start); - - $separate = false; - - foreach ($values as $value) { - /*if (!($value instanceof Hamcrest\SelfDescribing)) { - $value = new Hamcrest\Internal\SelfDescribingValue($value); - }*/ - - if ($separate) { - $this->append($separator); - } - - $this->appendDescriptionOf($value); - - $separate = true; - } - - $this->append($end); - - return $this; - } - - // -- Protected Methods - - /** - * Append the String $str to the description. - */ - abstract protected function append($str); - - // -- Private Methods - - private function _toPhpSyntax($value) - { - $str = '"'; - for ($i = 0, $len = strlen($value); $i < $len; ++$i) { - switch ($value[$i]) { - case '"': - $str .= '\\"'; - break; - - case "\t": - $str .= '\\t'; - break; - - case "\r": - $str .= '\\r'; - break; - - case "\n": - $str .= '\\n'; - break; - - default: - $str .= $value[$i]; - } - } - $str .= '"'; - $this->append($str); - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/BaseMatcher.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/BaseMatcher.php deleted file mode 100644 index 286db3e..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/BaseMatcher.php +++ /dev/null @@ -1,25 +0,0 @@ -appendText('was ')->appendValue($item); - } - - public function __toString() - { - return StringDescription::toString($this); - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Collection/IsEmptyTraversable.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Collection/IsEmptyTraversable.php deleted file mode 100644 index 8ab58ea..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Collection/IsEmptyTraversable.php +++ /dev/null @@ -1,71 +0,0 @@ -_empty = $empty; - } - - public function matches($item) - { - if (!$item instanceof \Traversable) { - return false; - } - - foreach ($item as $value) { - return !$this->_empty; - } - - return $this->_empty; - } - - public function describeTo(Description $description) - { - $description->appendText($this->_empty ? 'an empty traversable' : 'a non-empty traversable'); - } - - /** - * Returns true if traversable is empty. - * - * @factory - */ - public static function emptyTraversable() - { - if (!self::$_INSTANCE) { - self::$_INSTANCE = new self; - } - - return self::$_INSTANCE; - } - - /** - * Returns true if traversable is not empty. - * - * @factory - */ - public static function nonEmptyTraversable() - { - if (!self::$_NOT_INSTANCE) { - self::$_NOT_INSTANCE = new self(false); - } - - return self::$_NOT_INSTANCE; - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Collection/IsTraversableWithSize.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Collection/IsTraversableWithSize.php deleted file mode 100644 index c95edc5..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Collection/IsTraversableWithSize.php +++ /dev/null @@ -1,47 +0,0 @@ -false. - */ -class AllOf extends DiagnosingMatcher -{ - - private $_matchers; - - public function __construct(array $matchers) - { - Util::checkAllAreMatchers($matchers); - - $this->_matchers = $matchers; - } - - public function matchesWithDiagnosticDescription($item, Description $mismatchDescription) - { - /** @var $matcher \Hamcrest\Matcher */ - foreach ($this->_matchers as $matcher) { - if (!$matcher->matches($item)) { - $mismatchDescription->appendDescriptionOf($matcher)->appendText(' '); - $matcher->describeMismatch($item, $mismatchDescription); - - return false; - } - } - - return true; - } - - public function describeTo(Description $description) - { - $description->appendList('(', ' and ', ')', $this->_matchers); - } - - /** - * Evaluates to true only if ALL of the passed in matchers evaluate to true. - * - * @factory ... - */ - public static function allOf(/* args... */) - { - $args = func_get_args(); - - return new self(Util::createMatcherArray($args)); - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Core/AnyOf.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Core/AnyOf.php deleted file mode 100644 index 4504279..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Core/AnyOf.php +++ /dev/null @@ -1,58 +0,0 @@ -true. - */ -class AnyOf extends ShortcutCombination -{ - - public function __construct(array $matchers) - { - parent::__construct($matchers); - } - - public function matches($item) - { - return $this->matchesWithShortcut($item, true); - } - - public function describeTo(Description $description) - { - $this->describeToWithOperator($description, 'or'); - } - - /** - * Evaluates to true if ANY of the passed in matchers evaluate to true. - * - * @factory ... - */ - public static function anyOf(/* args... */) - { - $args = func_get_args(); - - return new self(Util::createMatcherArray($args)); - } - - /** - * Evaluates to false if ANY of the passed in matchers evaluate to true. - * - * @factory ... - */ - public static function noneOf(/* args... */) - { - $args = func_get_args(); - - return IsNot::not( - new self(Util::createMatcherArray($args)) - ); - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Core/CombinableMatcher.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Core/CombinableMatcher.php deleted file mode 100644 index e3b4aa7..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Core/CombinableMatcher.php +++ /dev/null @@ -1,78 +0,0 @@ -_matcher = $matcher; - } - - public function matches($item) - { - return $this->_matcher->matches($item); - } - - public function describeTo(Description $description) - { - $description->appendDescriptionOf($this->_matcher); - } - - /** Diversion from Hamcrest-Java... Logical "and" not permitted */ - public function andAlso(Matcher $other) - { - return new self(new AllOf($this->_templatedListWith($other))); - } - - /** Diversion from Hamcrest-Java... Logical "or" not permitted */ - public function orElse(Matcher $other) - { - return new self(new AnyOf($this->_templatedListWith($other))); - } - - /** - * This is useful for fluently combining matchers that must both pass. - * For example: - *
-     *   assertThat($string, both(containsString("a"))->andAlso(containsString("b")));
-     * 
- * - * @factory - */ - public static function both(Matcher $matcher) - { - return new self($matcher); - } - - /** - * This is useful for fluently combining matchers where either may pass, - * for example: - *
-     *   assertThat($string, either(containsString("a"))->orElse(containsString("b")));
-     * 
- * - * @factory - */ - public static function either(Matcher $matcher) - { - return new self($matcher); - } - - // -- Private Methods - - private function _templatedListWith(Matcher $other) - { - return array($this->_matcher, $other); - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Core/DescribedAs.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Core/DescribedAs.php deleted file mode 100644 index 5b2583f..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Core/DescribedAs.php +++ /dev/null @@ -1,68 +0,0 @@ -_descriptionTemplate = $descriptionTemplate; - $this->_matcher = $matcher; - $this->_values = $values; - } - - public function matches($item) - { - return $this->_matcher->matches($item); - } - - public function describeTo(Description $description) - { - $textStart = 0; - while (preg_match(self::ARG_PATTERN, $this->_descriptionTemplate, $matches, PREG_OFFSET_CAPTURE, $textStart)) { - $text = $matches[0][0]; - $index = $matches[1][0]; - $offset = $matches[0][1]; - - $description->appendText(substr($this->_descriptionTemplate, $textStart, $offset - $textStart)); - $description->appendValue($this->_values[$index]); - - $textStart = $offset + strlen($text); - } - - if ($textStart < strlen($this->_descriptionTemplate)) { - $description->appendText(substr($this->_descriptionTemplate, $textStart)); - } - } - - /** - * Wraps an existing matcher and overrides the description when it fails. - * - * @factory ... - */ - public static function describedAs(/* $description, Hamcrest\Matcher $matcher, $values... */) - { - $args = func_get_args(); - $description = array_shift($args); - $matcher = array_shift($args); - $values = $args; - - return new self($description, $matcher, $values); - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Core/Every.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Core/Every.php deleted file mode 100644 index d686f8d..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Core/Every.php +++ /dev/null @@ -1,56 +0,0 @@ -_matcher = $matcher; - } - - protected function matchesSafelyWithDiagnosticDescription($items, Description $mismatchDescription) - { - foreach ($items as $item) { - if (!$this->_matcher->matches($item)) { - $mismatchDescription->appendText('an item '); - $this->_matcher->describeMismatch($item, $mismatchDescription); - - return false; - } - } - - return true; - } - - public function describeTo(Description $description) - { - $description->appendText('every item is ')->appendDescriptionOf($this->_matcher); - } - - /** - * @param Matcher $itemMatcher - * A matcher to apply to every element in an array. - * - * @return \Hamcrest\Core\Every - * Evaluates to TRUE for a collection in which every item matches $itemMatcher - * - * @factory - */ - public static function everyItem(Matcher $itemMatcher) - { - return new self($itemMatcher); - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Core/HasToString.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Core/HasToString.php deleted file mode 100644 index 45bd910..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Core/HasToString.php +++ /dev/null @@ -1,56 +0,0 @@ -toString(); - } - - return (string) $actual; - } - - /** - * Does array size satisfy a given matcher? - * - * @factory - */ - public static function hasToString($matcher) - { - return new self(Util::wrapValueWithIsEqual($matcher)); - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Core/Is.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Core/Is.php deleted file mode 100644 index 41266dc..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Core/Is.php +++ /dev/null @@ -1,57 +0,0 @@ -_matcher = $matcher; - } - - public function matches($arg) - { - return $this->_matcher->matches($arg); - } - - public function describeTo(Description $description) - { - $description->appendText('is ')->appendDescriptionOf($this->_matcher); - } - - public function describeMismatch($item, Description $mismatchDescription) - { - $this->_matcher->describeMismatch($item, $mismatchDescription); - } - - /** - * Decorates another Matcher, retaining the behavior but allowing tests - * to be slightly more expressive. - * - * For example: assertThat($cheese, equalTo($smelly)) - * vs. assertThat($cheese, is(equalTo($smelly))) - * - * @factory - */ - public static function is($value) - { - return new self(Util::wrapValueWithIsEqual($value)); - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Core/IsAnything.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Core/IsAnything.php deleted file mode 100644 index f20e6c0..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Core/IsAnything.php +++ /dev/null @@ -1,45 +0,0 @@ -true. - */ -class IsAnything extends BaseMatcher -{ - - private $_message; - - public function __construct($message = 'ANYTHING') - { - $this->_message = $message; - } - - public function matches($item) - { - return true; - } - - public function describeTo(Description $description) - { - $description->appendText($this->_message); - } - - /** - * This matcher always evaluates to true. - * - * @param string $description A meaningful string used when describing itself. - * - * @return \Hamcrest\Core\IsAnything - * @factory - */ - public static function anything($description = 'ANYTHING') - { - return new self($description); - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Core/IsCollectionContaining.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Core/IsCollectionContaining.php deleted file mode 100644 index 5e60426..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Core/IsCollectionContaining.php +++ /dev/null @@ -1,93 +0,0 @@ -_elementMatcher = $elementMatcher; - } - - protected function matchesSafely($items) - { - foreach ($items as $item) { - if ($this->_elementMatcher->matches($item)) { - return true; - } - } - - return false; - } - - protected function describeMismatchSafely($items, Description $mismatchDescription) - { - $mismatchDescription->appendText('was ')->appendValue($items); - } - - public function describeTo(Description $description) - { - $description - ->appendText('a collection containing ') - ->appendDescriptionOf($this->_elementMatcher) - ; - } - - /** - * Test if the value is an array containing this matcher. - * - * Example: - *
-     * assertThat(array('a', 'b'), hasItem(equalTo('b')));
-     * //Convenience defaults to equalTo()
-     * assertThat(array('a', 'b'), hasItem('b'));
-     * 
- * - * @factory ... - */ - public static function hasItem() - { - $args = func_get_args(); - $firstArg = array_shift($args); - - return new self(Util::wrapValueWithIsEqual($firstArg)); - } - - /** - * Test if the value is an array containing elements that match all of these - * matchers. - * - * Example: - *
-     * assertThat(array('a', 'b', 'c'), hasItems(equalTo('a'), equalTo('b')));
-     * 
- * - * @factory ... - */ - public static function hasItems(/* args... */) - { - $args = func_get_args(); - $matchers = array(); - - foreach ($args as $arg) { - $matchers[] = self::hasItem($arg); - } - - return AllOf::allOf($matchers); - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Core/IsEqual.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Core/IsEqual.php deleted file mode 100644 index 523fba0..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Core/IsEqual.php +++ /dev/null @@ -1,44 +0,0 @@ -_item = $item; - } - - public function matches($arg) - { - return (($arg == $this->_item) && ($this->_item == $arg)); - } - - public function describeTo(Description $description) - { - $description->appendValue($this->_item); - } - - /** - * Is the value equal to another value, as tested by the use of the "==" - * comparison operator? - * - * @factory - */ - public static function equalTo($item) - { - return new self($item); - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Core/IsIdentical.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Core/IsIdentical.php deleted file mode 100644 index 28f7b36..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Core/IsIdentical.php +++ /dev/null @@ -1,38 +0,0 @@ -_value = $value; - } - - public function describeTo(Description $description) - { - $description->appendValue($this->_value); - } - - /** - * Tests of the value is identical to $value as tested by the "===" operator. - * - * @factory - */ - public static function identicalTo($value) - { - return new self($value); - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Core/IsInstanceOf.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Core/IsInstanceOf.php deleted file mode 100644 index 7a5c92a..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Core/IsInstanceOf.php +++ /dev/null @@ -1,67 +0,0 @@ -_theClass = $theClass; - } - - protected function matchesWithDiagnosticDescription($item, Description $mismatchDescription) - { - if (!is_object($item)) { - $mismatchDescription->appendText('was ')->appendValue($item); - - return false; - } - - if (!($item instanceof $this->_theClass)) { - $mismatchDescription->appendText('[' . get_class($item) . '] ') - ->appendValue($item); - - return false; - } - - return true; - } - - public function describeTo(Description $description) - { - $description->appendText('an instance of ') - ->appendText($this->_theClass) - ; - } - - /** - * Is the value an instance of a particular type? - * This version assumes no relationship between the required type and - * the signature of the method that sets it up, for example in - * assertThat($anObject, anInstanceOf('Thing')); - * - * @factory any - */ - public static function anInstanceOf($theClass) - { - return new self($theClass); - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Core/IsNot.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Core/IsNot.php deleted file mode 100644 index 167f0d0..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Core/IsNot.php +++ /dev/null @@ -1,44 +0,0 @@ -_matcher = $matcher; - } - - public function matches($arg) - { - return !$this->_matcher->matches($arg); - } - - public function describeTo(Description $description) - { - $description->appendText('not ')->appendDescriptionOf($this->_matcher); - } - - /** - * Matches if value does not match $value. - * - * @factory - */ - public static function not($value) - { - return new self(Util::wrapValueWithIsEqual($value)); - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Core/IsNull.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Core/IsNull.php deleted file mode 100644 index 91a454c..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Core/IsNull.php +++ /dev/null @@ -1,56 +0,0 @@ -appendText('null'); - } - - /** - * Matches if value is null. - * - * @factory - */ - public static function nullValue() - { - if (!self::$_INSTANCE) { - self::$_INSTANCE = new self(); - } - - return self::$_INSTANCE; - } - - /** - * Matches if value is not null. - * - * @factory - */ - public static function notNullValue() - { - if (!self::$_NOT_INSTANCE) { - self::$_NOT_INSTANCE = IsNot::not(self::nullValue()); - } - - return self::$_NOT_INSTANCE; - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Core/IsSame.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Core/IsSame.php deleted file mode 100644 index 8107870..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Core/IsSame.php +++ /dev/null @@ -1,51 +0,0 @@ -_object = $object; - } - - public function matches($object) - { - return ($object === $this->_object) && ($this->_object === $object); - } - - public function describeTo(Description $description) - { - $description->appendText('sameInstance(') - ->appendValue($this->_object) - ->appendText(')') - ; - } - - /** - * Creates a new instance of IsSame. - * - * @param mixed $object - * The predicate evaluates to true only when the argument is - * this object. - * - * @return \Hamcrest\Core\IsSame - * @factory - */ - public static function sameInstance($object) - { - return new self($object); - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Core/IsTypeOf.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Core/IsTypeOf.php deleted file mode 100644 index d24f0f9..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Core/IsTypeOf.php +++ /dev/null @@ -1,71 +0,0 @@ -_theType = strtolower($theType); - } - - public function matches($item) - { - return strtolower(gettype($item)) == $this->_theType; - } - - public function describeTo(Description $description) - { - $description->appendText(self::getTypeDescription($this->_theType)); - } - - public function describeMismatch($item, Description $description) - { - if ($item === null) { - $description->appendText('was null'); - } else { - $description->appendText('was ') - ->appendText(self::getTypeDescription(strtolower(gettype($item)))) - ->appendText(' ') - ->appendValue($item) - ; - } - } - - public static function getTypeDescription($type) - { - if ($type == 'null') { - return 'null'; - } - - return (strpos('aeiou', substr($type, 0, 1)) === false ? 'a ' : 'an ') - . $type; - } - - /** - * Is the value a particular built-in type? - * - * @factory - */ - public static function typeOf($theType) - { - return new self($theType); - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Core/Set.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Core/Set.php deleted file mode 100644 index cdc45d5..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Core/Set.php +++ /dev/null @@ -1,95 +0,0 @@ - - * assertThat(array('a', 'b'), set('b')); - * assertThat($foo, set('bar')); - * assertThat('Server', notSet('defaultPort')); - * - * - * @todo Replace $property with a matcher and iterate all property names. - */ -class Set extends BaseMatcher -{ - - private $_property; - private $_not; - - public function __construct($property, $not = false) - { - $this->_property = $property; - $this->_not = $not; - } - - public function matches($item) - { - if ($item === null) { - return false; - } - $property = $this->_property; - if (is_array($item)) { - $result = isset($item[$property]); - } elseif (is_object($item)) { - $result = isset($item->$property); - } elseif (is_string($item)) { - $result = isset($item::$$property); - } else { - throw new \InvalidArgumentException('Must pass an object, array, or class name'); - } - - return $this->_not ? !$result : $result; - } - - public function describeTo(Description $description) - { - $description->appendText($this->_not ? 'unset property ' : 'set property ')->appendText($this->_property); - } - - public function describeMismatch($item, Description $description) - { - $value = ''; - if (!$this->_not) { - $description->appendText('was not set'); - } else { - $property = $this->_property; - if (is_array($item)) { - $value = $item[$property]; - } elseif (is_object($item)) { - $value = $item->$property; - } elseif (is_string($item)) { - $value = $item::$$property; - } - parent::describeMismatch($value, $description); - } - } - - /** - * Matches if value (class, object, or array) has named $property. - * - * @factory - */ - public static function set($property) - { - return new self($property); - } - - /** - * Matches if value (class, object, or array) does not have named $property. - * - * @factory - */ - public static function notSet($property) - { - return new self($property, true); - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Core/ShortcutCombination.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Core/ShortcutCombination.php deleted file mode 100644 index d93db74..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Core/ShortcutCombination.php +++ /dev/null @@ -1,43 +0,0 @@ - - */ - private $_matchers; - - public function __construct(array $matchers) - { - Util::checkAllAreMatchers($matchers); - - $this->_matchers = $matchers; - } - - protected function matchesWithShortcut($item, $shortcut) - { - /** @var $matcher \Hamcrest\Matcher */ - foreach ($this->_matchers as $matcher) { - if ($matcher->matches($item) == $shortcut) { - return $shortcut; - } - } - - return !$shortcut; - } - - public function describeToWithOperator(Description $description, $operator) - { - $description->appendList('(', ' ' . $operator . ' ', ')', $this->_matchers); - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Description.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Description.php deleted file mode 100644 index 9a482db..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Description.php +++ /dev/null @@ -1,70 +0,0 @@ -matchesWithDiagnosticDescription($item, new NullDescription()); - } - - public function describeMismatch($item, Description $mismatchDescription) - { - $this->matchesWithDiagnosticDescription($item, $mismatchDescription); - } - - abstract protected function matchesWithDiagnosticDescription($item, Description $mismatchDescription); -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/FeatureMatcher.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/FeatureMatcher.php deleted file mode 100644 index 59f6cc7..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/FeatureMatcher.php +++ /dev/null @@ -1,67 +0,0 @@ -featureValueOf() in a subclass to pull out the feature to be - * matched against. - */ -abstract class FeatureMatcher extends TypeSafeDiagnosingMatcher -{ - - private $_subMatcher; - private $_featureDescription; - private $_featureName; - - /** - * Constructor. - * - * @param string $type - * @param string $subtype - * @param \Hamcrest\Matcher $subMatcher The matcher to apply to the feature - * @param string $featureDescription Descriptive text to use in describeTo - * @param string $featureName Identifying text for mismatch message - */ - public function __construct($type, $subtype, Matcher $subMatcher, $featureDescription, $featureName) - { - parent::__construct($type, $subtype); - - $this->_subMatcher = $subMatcher; - $this->_featureDescription = $featureDescription; - $this->_featureName = $featureName; - } - - /** - * Implement this to extract the interesting feature. - * - * @param mixed $actual the target object - * - * @return mixed the feature to be matched - */ - abstract protected function featureValueOf($actual); - - public function matchesSafelyWithDiagnosticDescription($actual, Description $mismatchDescription) - { - $featureValue = $this->featureValueOf($actual); - - if (!$this->_subMatcher->matches($featureValue)) { - $mismatchDescription->appendText($this->_featureName) - ->appendText(' was ')->appendValue($featureValue); - - return false; - } - - return true; - } - - final public function describeTo(Description $description) - { - $description->appendText($this->_featureDescription)->appendText(' ') - ->appendDescriptionOf($this->_subMatcher) - ; - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Internal/SelfDescribingValue.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Internal/SelfDescribingValue.php deleted file mode 100644 index 995da71..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Internal/SelfDescribingValue.php +++ /dev/null @@ -1,27 +0,0 @@ -_value = $value; - } - - public function describeTo(Description $description) - { - $description->appendValue($this->_value); - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Matcher.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Matcher.php deleted file mode 100644 index e5dcf09..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Matcher.php +++ /dev/null @@ -1,50 +0,0 @@ - - * Matcher implementations should NOT directly implement this interface. - * Instead, extend the {@link Hamcrest\BaseMatcher} abstract class, - * which will ensure that the Matcher API can grow to support - * new features and remain compatible with all Matcher implementations. - *

- * For easy access to common Matcher implementations, use the static factory - * methods in {@link Hamcrest\CoreMatchers}. - * - * @see Hamcrest\CoreMatchers - * @see Hamcrest\BaseMatcher - */ -interface Matcher extends SelfDescribing -{ - - /** - * Evaluates the matcher for argument $item. - * - * @param mixed $item the object against which the matcher is evaluated. - * - * @return boolean true if $item matches, - * otherwise false. - * - * @see Hamcrest\BaseMatcher - */ - public function matches($item); - - /** - * Generate a description of why the matcher has not accepted the item. - * The description will be part of a larger description of why a matching - * failed, so it should be concise. - * This method assumes that matches($item) is false, but - * will not check this. - * - * @param mixed $item The item that the Matcher has rejected. - * @param Description $description - * @return - */ - public function describeMismatch($item, Description $description); -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/MatcherAssert.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/MatcherAssert.php deleted file mode 100644 index d546dbe..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/MatcherAssert.php +++ /dev/null @@ -1,118 +0,0 @@ - - * // With an identifier - * assertThat("apple flavour", $apple->flavour(), equalTo("tasty")); - * // Without an identifier - * assertThat($apple->flavour(), equalTo("tasty")); - * // Evaluating a boolean expression - * assertThat("some error", $a > $b); - * assertThat($a > $b); - * - */ - public static function assertThat(/* $args ... */) - { - $args = func_get_args(); - switch (count($args)) { - case 1: - self::$_count++; - if (!$args[0]) { - throw new AssertionError(); - } - break; - - case 2: - self::$_count++; - if ($args[1] instanceof Matcher) { - self::doAssert('', $args[0], $args[1]); - } elseif (!$args[1]) { - throw new AssertionError($args[0]); - } - break; - - case 3: - self::$_count++; - self::doAssert( - $args[0], - $args[1], - Util::wrapValueWithIsEqual($args[2]) - ); - break; - - default: - throw new \InvalidArgumentException('assertThat() requires one to three arguments'); - } - } - - /** - * Returns the number of assertions performed. - * - * @return int - */ - public static function getCount() - { - return self::$_count; - } - - /** - * Resets the number of assertions performed to zero. - */ - public static function resetCount() - { - self::$_count = 0; - } - - /** - * Performs the actual assertion logic. - * - * If $matcher doesn't match $actual, - * throws a {@link Hamcrest\AssertionError} with a description - * of the failure along with the optional $identifier. - * - * @param string $identifier added to the message upon failure - * @param mixed $actual value to compare against $matcher - * @param \Hamcrest\Matcher $matcher applied to $actual - * @throws AssertionError - */ - private static function doAssert($identifier, $actual, Matcher $matcher) - { - if (!$matcher->matches($actual)) { - $description = new StringDescription(); - if (!empty($identifier)) { - $description->appendText($identifier . PHP_EOL); - } - $description->appendText('Expected: ') - ->appendDescriptionOf($matcher) - ->appendText(PHP_EOL . ' but: '); - - $matcher->describeMismatch($actual, $description); - - throw new AssertionError((string) $description); - } - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Matchers.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Matchers.php deleted file mode 100644 index 23232e4..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Matchers.php +++ /dev/null @@ -1,713 +0,0 @@ - - * assertThat($string, both(containsString("a"))->andAlso(containsString("b"))); - * - */ - public static function both(\Hamcrest\Matcher $matcher) - { - return \Hamcrest\Core\CombinableMatcher::both($matcher); - } - - /** - * This is useful for fluently combining matchers where either may pass, - * for example: - *

-     *   assertThat($string, either(containsString("a"))->orElse(containsString("b")));
-     * 
- */ - public static function either(\Hamcrest\Matcher $matcher) - { - return \Hamcrest\Core\CombinableMatcher::either($matcher); - } - - /** - * Wraps an existing matcher and overrides the description when it fails. - */ - public static function describedAs(/* args... */) - { - $args = func_get_args(); - return call_user_func_array(array('\Hamcrest\Core\DescribedAs', 'describedAs'), $args); - } - - /** - * @param Matcher $itemMatcher - * A matcher to apply to every element in an array. - * - * @return \Hamcrest\Core\Every - * Evaluates to TRUE for a collection in which every item matches $itemMatcher - */ - public static function everyItem(\Hamcrest\Matcher $itemMatcher) - { - return \Hamcrest\Core\Every::everyItem($itemMatcher); - } - - /** - * Does array size satisfy a given matcher? - */ - public static function hasToString($matcher) - { - return \Hamcrest\Core\HasToString::hasToString($matcher); - } - - /** - * Decorates another Matcher, retaining the behavior but allowing tests - * to be slightly more expressive. - * - * For example: assertThat($cheese, equalTo($smelly)) - * vs. assertThat($cheese, is(equalTo($smelly))) - */ - public static function is($value) - { - return \Hamcrest\Core\Is::is($value); - } - - /** - * This matcher always evaluates to true. - * - * @param string $description A meaningful string used when describing itself. - * - * @return \Hamcrest\Core\IsAnything - */ - public static function anything($description = 'ANYTHING') - { - return \Hamcrest\Core\IsAnything::anything($description); - } - - /** - * Test if the value is an array containing this matcher. - * - * Example: - *
-     * assertThat(array('a', 'b'), hasItem(equalTo('b')));
-     * //Convenience defaults to equalTo()
-     * assertThat(array('a', 'b'), hasItem('b'));
-     * 
- */ - public static function hasItem(/* args... */) - { - $args = func_get_args(); - return call_user_func_array(array('\Hamcrest\Core\IsCollectionContaining', 'hasItem'), $args); - } - - /** - * Test if the value is an array containing elements that match all of these - * matchers. - * - * Example: - *
-     * assertThat(array('a', 'b', 'c'), hasItems(equalTo('a'), equalTo('b')));
-     * 
- */ - public static function hasItems(/* args... */) - { - $args = func_get_args(); - return call_user_func_array(array('\Hamcrest\Core\IsCollectionContaining', 'hasItems'), $args); - } - - /** - * Is the value equal to another value, as tested by the use of the "==" - * comparison operator? - */ - public static function equalTo($item) - { - return \Hamcrest\Core\IsEqual::equalTo($item); - } - - /** - * Tests of the value is identical to $value as tested by the "===" operator. - */ - public static function identicalTo($value) - { - return \Hamcrest\Core\IsIdentical::identicalTo($value); - } - - /** - * Is the value an instance of a particular type? - * This version assumes no relationship between the required type and - * the signature of the method that sets it up, for example in - * assertThat($anObject, anInstanceOf('Thing')); - */ - public static function anInstanceOf($theClass) - { - return \Hamcrest\Core\IsInstanceOf::anInstanceOf($theClass); - } - - /** - * Is the value an instance of a particular type? - * This version assumes no relationship between the required type and - * the signature of the method that sets it up, for example in - * assertThat($anObject, anInstanceOf('Thing')); - */ - public static function any($theClass) - { - return \Hamcrest\Core\IsInstanceOf::anInstanceOf($theClass); - } - - /** - * Matches if value does not match $value. - */ - public static function not($value) - { - return \Hamcrest\Core\IsNot::not($value); - } - - /** - * Matches if value is null. - */ - public static function nullValue() - { - return \Hamcrest\Core\IsNull::nullValue(); - } - - /** - * Matches if value is not null. - */ - public static function notNullValue() - { - return \Hamcrest\Core\IsNull::notNullValue(); - } - - /** - * Creates a new instance of IsSame. - * - * @param mixed $object - * The predicate evaluates to true only when the argument is - * this object. - * - * @return \Hamcrest\Core\IsSame - */ - public static function sameInstance($object) - { - return \Hamcrest\Core\IsSame::sameInstance($object); - } - - /** - * Is the value a particular built-in type? - */ - public static function typeOf($theType) - { - return \Hamcrest\Core\IsTypeOf::typeOf($theType); - } - - /** - * Matches if value (class, object, or array) has named $property. - */ - public static function set($property) - { - return \Hamcrest\Core\Set::set($property); - } - - /** - * Matches if value (class, object, or array) does not have named $property. - */ - public static function notSet($property) - { - return \Hamcrest\Core\Set::notSet($property); - } - - /** - * Matches if value is a number equal to $value within some range of - * acceptable error $delta. - */ - public static function closeTo($value, $delta) - { - return \Hamcrest\Number\IsCloseTo::closeTo($value, $delta); - } - - /** - * The value is not > $value, nor < $value. - */ - public static function comparesEqualTo($value) - { - return \Hamcrest\Number\OrderingComparison::comparesEqualTo($value); - } - - /** - * The value is > $value. - */ - public static function greaterThan($value) - { - return \Hamcrest\Number\OrderingComparison::greaterThan($value); - } - - /** - * The value is >= $value. - */ - public static function greaterThanOrEqualTo($value) - { - return \Hamcrest\Number\OrderingComparison::greaterThanOrEqualTo($value); - } - - /** - * The value is >= $value. - */ - public static function atLeast($value) - { - return \Hamcrest\Number\OrderingComparison::greaterThanOrEqualTo($value); - } - - /** - * The value is < $value. - */ - public static function lessThan($value) - { - return \Hamcrest\Number\OrderingComparison::lessThan($value); - } - - /** - * The value is <= $value. - */ - public static function lessThanOrEqualTo($value) - { - return \Hamcrest\Number\OrderingComparison::lessThanOrEqualTo($value); - } - - /** - * The value is <= $value. - */ - public static function atMost($value) - { - return \Hamcrest\Number\OrderingComparison::lessThanOrEqualTo($value); - } - - /** - * Matches if value is a zero-length string. - */ - public static function isEmptyString() - { - return \Hamcrest\Text\IsEmptyString::isEmptyString(); - } - - /** - * Matches if value is a zero-length string. - */ - public static function emptyString() - { - return \Hamcrest\Text\IsEmptyString::isEmptyString(); - } - - /** - * Matches if value is null or a zero-length string. - */ - public static function isEmptyOrNullString() - { - return \Hamcrest\Text\IsEmptyString::isEmptyOrNullString(); - } - - /** - * Matches if value is null or a zero-length string. - */ - public static function nullOrEmptyString() - { - return \Hamcrest\Text\IsEmptyString::isEmptyOrNullString(); - } - - /** - * Matches if value is a non-zero-length string. - */ - public static function isNonEmptyString() - { - return \Hamcrest\Text\IsEmptyString::isNonEmptyString(); - } - - /** - * Matches if value is a non-zero-length string. - */ - public static function nonEmptyString() - { - return \Hamcrest\Text\IsEmptyString::isNonEmptyString(); - } - - /** - * Matches if value is a string equal to $string, regardless of the case. - */ - public static function equalToIgnoringCase($string) - { - return \Hamcrest\Text\IsEqualIgnoringCase::equalToIgnoringCase($string); - } - - /** - * Matches if value is a string equal to $string, regardless of whitespace. - */ - public static function equalToIgnoringWhiteSpace($string) - { - return \Hamcrest\Text\IsEqualIgnoringWhiteSpace::equalToIgnoringWhiteSpace($string); - } - - /** - * Matches if value is a string that matches regular expression $pattern. - */ - public static function matchesPattern($pattern) - { - return \Hamcrest\Text\MatchesPattern::matchesPattern($pattern); - } - - /** - * Matches if value is a string that contains $substring. - */ - public static function containsString($substring) - { - return \Hamcrest\Text\StringContains::containsString($substring); - } - - /** - * Matches if value is a string that contains $substring regardless of the case. - */ - public static function containsStringIgnoringCase($substring) - { - return \Hamcrest\Text\StringContainsIgnoringCase::containsStringIgnoringCase($substring); - } - - /** - * Matches if value contains $substrings in a constrained order. - */ - public static function stringContainsInOrder(/* args... */) - { - $args = func_get_args(); - return call_user_func_array(array('\Hamcrest\Text\StringContainsInOrder', 'stringContainsInOrder'), $args); - } - - /** - * Matches if value is a string that ends with $substring. - */ - public static function endsWith($substring) - { - return \Hamcrest\Text\StringEndsWith::endsWith($substring); - } - - /** - * Matches if value is a string that starts with $substring. - */ - public static function startsWith($substring) - { - return \Hamcrest\Text\StringStartsWith::startsWith($substring); - } - - /** - * Is the value an array? - */ - public static function arrayValue() - { - return \Hamcrest\Type\IsArray::arrayValue(); - } - - /** - * Is the value a boolean? - */ - public static function booleanValue() - { - return \Hamcrest\Type\IsBoolean::booleanValue(); - } - - /** - * Is the value a boolean? - */ - public static function boolValue() - { - return \Hamcrest\Type\IsBoolean::booleanValue(); - } - - /** - * Is the value callable? - */ - public static function callableValue() - { - return \Hamcrest\Type\IsCallable::callableValue(); - } - - /** - * Is the value a float/double? - */ - public static function doubleValue() - { - return \Hamcrest\Type\IsDouble::doubleValue(); - } - - /** - * Is the value a float/double? - */ - public static function floatValue() - { - return \Hamcrest\Type\IsDouble::doubleValue(); - } - - /** - * Is the value an integer? - */ - public static function integerValue() - { - return \Hamcrest\Type\IsInteger::integerValue(); - } - - /** - * Is the value an integer? - */ - public static function intValue() - { - return \Hamcrest\Type\IsInteger::integerValue(); - } - - /** - * Is the value a numeric? - */ - public static function numericValue() - { - return \Hamcrest\Type\IsNumeric::numericValue(); - } - - /** - * Is the value an object? - */ - public static function objectValue() - { - return \Hamcrest\Type\IsObject::objectValue(); - } - - /** - * Is the value an object? - */ - public static function anObject() - { - return \Hamcrest\Type\IsObject::objectValue(); - } - - /** - * Is the value a resource? - */ - public static function resourceValue() - { - return \Hamcrest\Type\IsResource::resourceValue(); - } - - /** - * Is the value a scalar (boolean, integer, double, or string)? - */ - public static function scalarValue() - { - return \Hamcrest\Type\IsScalar::scalarValue(); - } - - /** - * Is the value a string? - */ - public static function stringValue() - { - return \Hamcrest\Type\IsString::stringValue(); - } - - /** - * Wraps $matcher with {@link Hamcrest\Core\IsEqual) - * if it's not a matcher and the XPath in count() - * if it's an integer. - */ - public static function hasXPath($xpath, $matcher = null) - { - return \Hamcrest\Xml\HasXPath::hasXPath($xpath, $matcher); - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/NullDescription.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/NullDescription.php deleted file mode 100644 index aae8e46..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/NullDescription.php +++ /dev/null @@ -1,43 +0,0 @@ -_value = $value; - $this->_delta = $delta; - } - - protected function matchesSafely($item) - { - return $this->_actualDelta($item) <= 0.0; - } - - protected function describeMismatchSafely($item, Description $mismatchDescription) - { - $mismatchDescription->appendValue($item) - ->appendText(' differed by ') - ->appendValue($this->_actualDelta($item)) - ; - } - - public function describeTo(Description $description) - { - $description->appendText('a numeric value within ') - ->appendValue($this->_delta) - ->appendText(' of ') - ->appendValue($this->_value) - ; - } - - /** - * Matches if value is a number equal to $value within some range of - * acceptable error $delta. - * - * @factory - */ - public static function closeTo($value, $delta) - { - return new self($value, $delta); - } - - // -- Private Methods - - private function _actualDelta($item) - { - return (abs(($item - $this->_value)) - $this->_delta); - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Number/OrderingComparison.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Number/OrderingComparison.php deleted file mode 100644 index 369d0cf..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Number/OrderingComparison.php +++ /dev/null @@ -1,132 +0,0 @@ -_value = $value; - $this->_minCompare = $minCompare; - $this->_maxCompare = $maxCompare; - } - - protected function matchesSafely($other) - { - $compare = $this->_compare($this->_value, $other); - - return ($this->_minCompare <= $compare) && ($compare <= $this->_maxCompare); - } - - protected function describeMismatchSafely($item, Description $mismatchDescription) - { - $mismatchDescription - ->appendValue($item)->appendText(' was ') - ->appendText($this->_comparison($this->_compare($this->_value, $item))) - ->appendText(' ')->appendValue($this->_value) - ; - } - - public function describeTo(Description $description) - { - $description->appendText('a value ') - ->appendText($this->_comparison($this->_minCompare)) - ; - if ($this->_minCompare != $this->_maxCompare) { - $description->appendText(' or ') - ->appendText($this->_comparison($this->_maxCompare)) - ; - } - $description->appendText(' ')->appendValue($this->_value); - } - - /** - * The value is not > $value, nor < $value. - * - * @factory - */ - public static function comparesEqualTo($value) - { - return new self($value, 0, 0); - } - - /** - * The value is > $value. - * - * @factory - */ - public static function greaterThan($value) - { - return new self($value, -1, -1); - } - - /** - * The value is >= $value. - * - * @factory atLeast - */ - public static function greaterThanOrEqualTo($value) - { - return new self($value, -1, 0); - } - - /** - * The value is < $value. - * - * @factory - */ - public static function lessThan($value) - { - return new self($value, 1, 1); - } - - /** - * The value is <= $value. - * - * @factory atMost - */ - public static function lessThanOrEqualTo($value) - { - return new self($value, 0, 1); - } - - // -- Private Methods - - private function _compare($left, $right) - { - $a = $left; - $b = $right; - - if ($a < $b) { - return -1; - } elseif ($a == $b) { - return 0; - } else { - return 1; - } - } - - private function _comparison($compare) - { - if ($compare > 0) { - return 'less than'; - } elseif ($compare == 0) { - return 'equal to'; - } else { - return 'greater than'; - } - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/SelfDescribing.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/SelfDescribing.php deleted file mode 100644 index 872fdf9..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/SelfDescribing.php +++ /dev/null @@ -1,23 +0,0 @@ -_out = (string) $out; - } - - public function __toString() - { - return $this->_out; - } - - /** - * Return the description of a {@link Hamcrest\SelfDescribing} object as a - * String. - * - * @param \Hamcrest\SelfDescribing $selfDescribing - * The object to be described. - * - * @return string - * The description of the object. - */ - public static function toString(SelfDescribing $selfDescribing) - { - $self = new self(); - - return (string) $self->appendDescriptionOf($selfDescribing); - } - - /** - * Alias for {@link toString()}. - */ - public static function asString(SelfDescribing $selfDescribing) - { - return self::toString($selfDescribing); - } - - // -- Protected Methods - - protected function append($str) - { - $this->_out .= $str; - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Text/IsEmptyString.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Text/IsEmptyString.php deleted file mode 100644 index 2ae61b9..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Text/IsEmptyString.php +++ /dev/null @@ -1,85 +0,0 @@ -_empty = $empty; - } - - public function matches($item) - { - return $this->_empty - ? ($item === '') - : is_string($item) && $item !== ''; - } - - public function describeTo(Description $description) - { - $description->appendText($this->_empty ? 'an empty string' : 'a non-empty string'); - } - - /** - * Matches if value is a zero-length string. - * - * @factory emptyString - */ - public static function isEmptyString() - { - if (!self::$_INSTANCE) { - self::$_INSTANCE = new self(true); - } - - return self::$_INSTANCE; - } - - /** - * Matches if value is null or a zero-length string. - * - * @factory nullOrEmptyString - */ - public static function isEmptyOrNullString() - { - if (!self::$_NULL_OR_EMPTY_INSTANCE) { - self::$_NULL_OR_EMPTY_INSTANCE = AnyOf::anyOf( - IsNull::nullvalue(), - self::isEmptyString() - ); - } - - return self::$_NULL_OR_EMPTY_INSTANCE; - } - - /** - * Matches if value is a non-zero-length string. - * - * @factory nonEmptyString - */ - public static function isNonEmptyString() - { - if (!self::$_NOT_INSTANCE) { - self::$_NOT_INSTANCE = new self(false); - } - - return self::$_NOT_INSTANCE; - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Text/IsEqualIgnoringCase.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Text/IsEqualIgnoringCase.php deleted file mode 100644 index 3836a8c..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Text/IsEqualIgnoringCase.php +++ /dev/null @@ -1,52 +0,0 @@ -_string = $string; - } - - protected function matchesSafely($item) - { - return strtolower($this->_string) === strtolower($item); - } - - protected function describeMismatchSafely($item, Description $mismatchDescription) - { - $mismatchDescription->appendText('was ')->appendText($item); - } - - public function describeTo(Description $description) - { - $description->appendText('equalToIgnoringCase(') - ->appendValue($this->_string) - ->appendText(')') - ; - } - - /** - * Matches if value is a string equal to $string, regardless of the case. - * - * @factory - */ - public static function equalToIgnoringCase($string) - { - return new self($string); - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Text/IsEqualIgnoringWhiteSpace.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Text/IsEqualIgnoringWhiteSpace.php deleted file mode 100644 index 853692b..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Text/IsEqualIgnoringWhiteSpace.php +++ /dev/null @@ -1,66 +0,0 @@ -_string = $string; - } - - protected function matchesSafely($item) - { - return (strtolower($this->_stripSpace($item)) - === strtolower($this->_stripSpace($this->_string))); - } - - protected function describeMismatchSafely($item, Description $mismatchDescription) - { - $mismatchDescription->appendText('was ')->appendText($item); - } - - public function describeTo(Description $description) - { - $description->appendText('equalToIgnoringWhiteSpace(') - ->appendValue($this->_string) - ->appendText(')') - ; - } - - /** - * Matches if value is a string equal to $string, regardless of whitespace. - * - * @factory - */ - public static function equalToIgnoringWhiteSpace($string) - { - return new self($string); - } - - // -- Private Methods - - private function _stripSpace($string) - { - $parts = preg_split("/[\r\n\t ]+/", $string); - foreach ($parts as $i => $part) { - $parts[$i] = trim($part, " \r\n\t"); - } - - return trim(implode(' ', $parts), " \r\n\t"); - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Text/MatchesPattern.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Text/MatchesPattern.php deleted file mode 100644 index fa0d68e..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Text/MatchesPattern.php +++ /dev/null @@ -1,40 +0,0 @@ -_substring, (string) $item) >= 1; - } - - protected function relationship() - { - return 'matching'; - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Text/StringContains.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Text/StringContains.php deleted file mode 100644 index b92786b..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Text/StringContains.php +++ /dev/null @@ -1,45 +0,0 @@ -_substring); - } - - /** - * Matches if value is a string that contains $substring. - * - * @factory - */ - public static function containsString($substring) - { - return new self($substring); - } - - // -- Protected Methods - - protected function evalSubstringOf($item) - { - return (false !== strpos((string) $item, $this->_substring)); - } - - protected function relationship() - { - return 'containing'; - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Text/StringContainsIgnoringCase.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Text/StringContainsIgnoringCase.php deleted file mode 100644 index 69f37c2..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Text/StringContainsIgnoringCase.php +++ /dev/null @@ -1,40 +0,0 @@ -_substring)); - } - - protected function relationship() - { - return 'containing in any case'; - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Text/StringContainsInOrder.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Text/StringContainsInOrder.php deleted file mode 100644 index e75de65..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Text/StringContainsInOrder.php +++ /dev/null @@ -1,66 +0,0 @@ -_substrings = $substrings; - } - - protected function matchesSafely($item) - { - $fromIndex = 0; - - foreach ($this->_substrings as $substring) { - if (false === $fromIndex = strpos($item, $substring, $fromIndex)) { - return false; - } - } - - return true; - } - - protected function describeMismatchSafely($item, Description $mismatchDescription) - { - $mismatchDescription->appendText('was ')->appendText($item); - } - - public function describeTo(Description $description) - { - $description->appendText('a string containing ') - ->appendValueList('', ', ', '', $this->_substrings) - ->appendText(' in order') - ; - } - - /** - * Matches if value contains $substrings in a constrained order. - * - * @factory ... - */ - public static function stringContainsInOrder(/* args... */) - { - $args = func_get_args(); - - if (isset($args[0]) && is_array($args[0])) { - $args = $args[0]; - } - - return new self($args); - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Text/StringEndsWith.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Text/StringEndsWith.php deleted file mode 100644 index f802ee4..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Text/StringEndsWith.php +++ /dev/null @@ -1,40 +0,0 @@ -_substring))) === $this->_substring); - } - - protected function relationship() - { - return 'ending with'; - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Text/StringStartsWith.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Text/StringStartsWith.php deleted file mode 100644 index 79c9565..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Text/StringStartsWith.php +++ /dev/null @@ -1,40 +0,0 @@ -_substring)) === $this->_substring); - } - - protected function relationship() - { - return 'starting with'; - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Text/SubstringMatcher.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Text/SubstringMatcher.php deleted file mode 100644 index e560ad6..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Text/SubstringMatcher.php +++ /dev/null @@ -1,45 +0,0 @@ -_substring = $substring; - } - - protected function matchesSafely($item) - { - return $this->evalSubstringOf($item); - } - - protected function describeMismatchSafely($item, Description $mismatchDescription) - { - $mismatchDescription->appendText('was "')->appendText($item)->appendText('"'); - } - - public function describeTo(Description $description) - { - $description->appendText('a string ') - ->appendText($this->relationship()) - ->appendText(' ') - ->appendValue($this->_substring) - ; - } - - abstract protected function evalSubstringOf($string); - - abstract protected function relationship(); -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Type/IsArray.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Type/IsArray.php deleted file mode 100644 index 9179102..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Type/IsArray.php +++ /dev/null @@ -1,32 +0,0 @@ -isHexadecimal($item)) { - return true; - } - - return is_numeric($item); - } - - /** - * Return if the string passed is a valid hexadecimal number. - * This check is necessary because PHP 7 doesn't recognize hexadecimal string as numeric anymore. - * - * @param mixed $item - * @return boolean - */ - private function isHexadecimal($item) - { - if (is_string($item) && preg_match('/^0x(.*)$/', $item, $matches)) { - return ctype_xdigit($matches[1]); - } - - return false; - } - - /** - * Is the value a numeric? - * - * @factory - */ - public static function numericValue() - { - return new self; - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Type/IsObject.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Type/IsObject.php deleted file mode 100644 index 65918fc..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Type/IsObject.php +++ /dev/null @@ -1,32 +0,0 @@ -matchesSafelyWithDiagnosticDescription($item, new NullDescription()); - } - - final public function describeMismatchSafely($item, Description $mismatchDescription) - { - $this->matchesSafelyWithDiagnosticDescription($item, $mismatchDescription); - } - - // -- Protected Methods - - /** - * Subclasses should implement these. The item will already have been checked for - * the specific type. - */ - abstract protected function matchesSafelyWithDiagnosticDescription($item, Description $mismatchDescription); -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/TypeSafeMatcher.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/TypeSafeMatcher.php deleted file mode 100644 index 56e299a..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/TypeSafeMatcher.php +++ /dev/null @@ -1,107 +0,0 @@ -_expectedType = $expectedType; - $this->_expectedSubtype = $expectedSubtype; - } - - final public function matches($item) - { - return $this->_isSafeType($item) && $this->matchesSafely($item); - } - - final public function describeMismatch($item, Description $mismatchDescription) - { - if (!$this->_isSafeType($item)) { - parent::describeMismatch($item, $mismatchDescription); - } else { - $this->describeMismatchSafely($item, $mismatchDescription); - } - } - - // -- Protected Methods - - /** - * The item will already have been checked for the specific type and subtype. - */ - abstract protected function matchesSafely($item); - - /** - * The item will already have been checked for the specific type and subtype. - */ - abstract protected function describeMismatchSafely($item, Description $mismatchDescription); - - // -- Private Methods - - private function _isSafeType($value) - { - switch ($this->_expectedType) { - - case self::TYPE_ANY: - return true; - - case self::TYPE_STRING: - return is_string($value) || is_numeric($value); - - case self::TYPE_NUMERIC: - return is_numeric($value) || is_string($value); - - case self::TYPE_ARRAY: - return is_array($value); - - case self::TYPE_OBJECT: - return is_object($value) - && ($this->_expectedSubtype === null - || $value instanceof $this->_expectedSubtype); - - case self::TYPE_RESOURCE: - return is_resource($value) - && ($this->_expectedSubtype === null - || get_resource_type($value) == $this->_expectedSubtype); - - case self::TYPE_BOOLEAN: - return true; - - default: - return true; - - } - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Util.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Util.php deleted file mode 100644 index 169b036..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Util.php +++ /dev/null @@ -1,76 +0,0 @@ - all items are - */ - public static function createMatcherArray(array $items) - { - //Extract single array item - if (count($items) == 1 && is_array($items[0])) { - $items = $items[0]; - } - - //Replace non-matchers - foreach ($items as &$item) { - if (!($item instanceof Matcher)) { - $item = Core\IsEqual::equalTo($item); - } - } - - return $items; - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Xml/HasXPath.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Xml/HasXPath.php deleted file mode 100644 index d9764e4..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Xml/HasXPath.php +++ /dev/null @@ -1,195 +0,0 @@ -_xpath = $xpath; - $this->_matcher = $matcher; - } - - /** - * Matches if the XPath matches against the DOM node and the matcher. - * - * @param string|\DOMNode $actual - * @param Description $mismatchDescription - * @return bool - */ - protected function matchesWithDiagnosticDescription($actual, Description $mismatchDescription) - { - if (is_string($actual)) { - $actual = $this->createDocument($actual); - } elseif (!$actual instanceof \DOMNode) { - $mismatchDescription->appendText('was ')->appendValue($actual); - - return false; - } - $result = $this->evaluate($actual); - if ($result instanceof \DOMNodeList) { - return $this->matchesContent($result, $mismatchDescription); - } else { - return $this->matchesExpression($result, $mismatchDescription); - } - } - - /** - * Creates and returns a DOMDocument from the given - * XML or HTML string. - * - * @param string $text - * @return \DOMDocument built from $text - * @throws \InvalidArgumentException if the document is not valid - */ - protected function createDocument($text) - { - $document = new \DOMDocument(); - if (preg_match('/^\s*<\?xml/', $text)) { - if (!@$document->loadXML($text)) { - throw new \InvalidArgumentException('Must pass a valid XML document'); - } - } else { - if (!@$document->loadHTML($text)) { - throw new \InvalidArgumentException('Must pass a valid HTML or XHTML document'); - } - } - - return $document; - } - - /** - * Applies the configured XPath to the DOM node and returns either - * the result if it's an expression or the node list if it's a query. - * - * @param \DOMNode $node context from which to issue query - * @return mixed result of expression or DOMNodeList from query - */ - protected function evaluate(\DOMNode $node) - { - if ($node instanceof \DOMDocument) { - $xpathDocument = new \DOMXPath($node); - - return $xpathDocument->evaluate($this->_xpath); - } else { - $xpathDocument = new \DOMXPath($node->ownerDocument); - - return $xpathDocument->evaluate($this->_xpath, $node); - } - } - - /** - * Matches if the list of nodes is not empty and the content of at least - * one node matches the configured matcher, if supplied. - * - * @param \DOMNodeList $nodes selected by the XPath query - * @param Description $mismatchDescription - * @return bool - */ - protected function matchesContent(\DOMNodeList $nodes, Description $mismatchDescription) - { - if ($nodes->length == 0) { - $mismatchDescription->appendText('XPath returned no results'); - } elseif ($this->_matcher === null) { - return true; - } else { - foreach ($nodes as $node) { - if ($this->_matcher->matches($node->textContent)) { - return true; - } - } - $content = array(); - foreach ($nodes as $node) { - $content[] = $node->textContent; - } - $mismatchDescription->appendText('XPath returned ') - ->appendValue($content); - } - - return false; - } - - /** - * Matches if the result of the XPath expression matches the configured - * matcher or evaluates to true if there is none. - * - * @param mixed $result result of the XPath expression - * @param Description $mismatchDescription - * @return bool - */ - protected function matchesExpression($result, Description $mismatchDescription) - { - if ($this->_matcher === null) { - if ($result) { - return true; - } - $mismatchDescription->appendText('XPath expression result was ') - ->appendValue($result); - } else { - if ($this->_matcher->matches($result)) { - return true; - } - $mismatchDescription->appendText('XPath expression result '); - $this->_matcher->describeMismatch($result, $mismatchDescription); - } - - return false; - } - - public function describeTo(Description $description) - { - $description->appendText('XML or HTML document with XPath "') - ->appendText($this->_xpath) - ->appendText('"'); - if ($this->_matcher !== null) { - $description->appendText(' '); - $this->_matcher->describeTo($description); - } - } - - /** - * Wraps $matcher with {@link Hamcrest\Core\IsEqual) - * if it's not a matcher and the XPath in count() - * if it's an integer. - * - * @factory - */ - public static function hasXPath($xpath, $matcher = null) - { - if ($matcher === null || $matcher instanceof Matcher) { - return new self($xpath, $matcher); - } elseif (is_int($matcher) && strpos($xpath, 'count(') !== 0) { - $xpath = 'count(' . $xpath . ')'; - } - - return new self($xpath, IsEqual::equalTo($matcher)); - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/AbstractMatcherTest.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/AbstractMatcherTest.php deleted file mode 100644 index 6c52c0e..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/AbstractMatcherTest.php +++ /dev/null @@ -1,66 +0,0 @@ -assertTrue($matcher->matches($arg), $message); - } - - public function assertDoesNotMatch(\Hamcrest\Matcher $matcher, $arg, $message) - { - $this->assertFalse($matcher->matches($arg), $message); - } - - public function assertDescription($expected, \Hamcrest\Matcher $matcher) - { - $description = new \Hamcrest\StringDescription(); - $description->appendDescriptionOf($matcher); - $this->assertEquals($expected, (string) $description, 'Expected description'); - } - - public function assertMismatchDescription($expected, \Hamcrest\Matcher $matcher, $arg) - { - $description = new \Hamcrest\StringDescription(); - $this->assertFalse( - $matcher->matches($arg), - 'Precondtion: Matcher should not match item' - ); - $matcher->describeMismatch($arg, $description); - $this->assertEquals( - $expected, - (string) $description, - 'Expected mismatch description' - ); - } - - public function testIsNullSafe() - { - //Should not generate any notices - $this->createMatcher()->matches(null); - $this->createMatcher()->describeMismatch( - null, - new \Hamcrest\NullDescription() - ); - } - - public function testCopesWithUnknownTypes() - { - //Should not generate any notices - $this->createMatcher()->matches(new UnknownType()); - $this->createMatcher()->describeMismatch( - new UnknownType(), - new NullDescription() - ); - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Array/IsArrayContainingInAnyOrderTest.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Array/IsArrayContainingInAnyOrderTest.php deleted file mode 100644 index 45d9f13..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Array/IsArrayContainingInAnyOrderTest.php +++ /dev/null @@ -1,54 +0,0 @@ -assertDescription('[<1>, <2>] in any order', containsInAnyOrder(array(1, 2))); - } - - public function testMatchesItemsInAnyOrder() - { - $this->assertMatches(containsInAnyOrder(array(1, 2, 3)), array(1, 2, 3), 'in order'); - $this->assertMatches(containsInAnyOrder(array(1, 2, 3)), array(3, 2, 1), 'out of order'); - $this->assertMatches(containsInAnyOrder(array(1)), array(1), 'single'); - } - - public function testAppliesMatchersInAnyOrder() - { - $this->assertMatches( - containsInAnyOrder(array(1, 2, 3)), - array(1, 2, 3), - 'in order' - ); - $this->assertMatches( - containsInAnyOrder(array(1, 2, 3)), - array(3, 2, 1), - 'out of order' - ); - $this->assertMatches( - containsInAnyOrder(array(1)), - array(1), - 'single' - ); - } - - public function testMismatchesItemsInAnyOrder() - { - $matcher = containsInAnyOrder(array(1, 2, 3)); - - $this->assertMismatchDescription('was null', $matcher, null); - $this->assertMismatchDescription('No item matches: <1>, <2>, <3> in []', $matcher, array()); - $this->assertMismatchDescription('No item matches: <2>, <3> in [<1>]', $matcher, array(1)); - $this->assertMismatchDescription('Not matched: <4>', $matcher, array(4, 3, 2, 1)); - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Array/IsArrayContainingInOrderTest.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Array/IsArrayContainingInOrderTest.php deleted file mode 100644 index 1868343..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Array/IsArrayContainingInOrderTest.php +++ /dev/null @@ -1,44 +0,0 @@ -assertDescription('[<1>, <2>]', arrayContaining(array(1, 2))); - } - - public function testMatchesItemsInOrder() - { - $this->assertMatches(arrayContaining(array(1, 2, 3)), array(1, 2, 3), 'in order'); - $this->assertMatches(arrayContaining(array(1)), array(1), 'single'); - } - - public function testAppliesMatchersInOrder() - { - $this->assertMatches( - arrayContaining(array(1, 2, 3)), - array(1, 2, 3), - 'in order' - ); - $this->assertMatches(arrayContaining(array(1)), array(1), 'single'); - } - - public function testMismatchesItemsInAnyOrder() - { - $matcher = arrayContaining(array(1, 2, 3)); - $this->assertMismatchDescription('was null', $matcher, null); - $this->assertMismatchDescription('No item matched: <1>', $matcher, array()); - $this->assertMismatchDescription('No item matched: <2>', $matcher, array(1)); - $this->assertMismatchDescription('item with key 0: was <4>', $matcher, array(4, 3, 2, 1)); - $this->assertMismatchDescription('item with key 2: was <4>', $matcher, array(1, 2, 4)); - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Array/IsArrayContainingKeyTest.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Array/IsArrayContainingKeyTest.php deleted file mode 100644 index 31770d8..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Array/IsArrayContainingKeyTest.php +++ /dev/null @@ -1,62 +0,0 @@ -1); - - $this->assertMatches(hasKey('a'), $array, 'Matches single key'); - } - - public function testMatchesArrayContainingKey() - { - $array = array('a'=>1, 'b'=>2, 'c'=>3); - - $this->assertMatches(hasKey('a'), $array, 'Matches a'); - $this->assertMatches(hasKey('c'), $array, 'Matches c'); - } - - public function testMatchesArrayContainingKeyWithIntegerKeys() - { - $array = array(1=>'A', 2=>'B'); - - assertThat($array, hasKey(1)); - } - - public function testMatchesArrayContainingKeyWithNumberKeys() - { - $array = array(1=>'A', 2=>'B'); - - assertThat($array, hasKey(1)); - - // very ugly version! - assertThat($array, IsArrayContainingKey::hasKeyInArray(2)); - } - - public function testHasReadableDescription() - { - $this->assertDescription('array with key "a"', hasKey('a')); - } - - public function testDoesNotMatchEmptyArray() - { - $this->assertMismatchDescription('array was []', hasKey('Foo'), array()); - } - - public function testDoesNotMatchArrayMissingKey() - { - $array = array('a'=>1, 'b'=>2, 'c'=>3); - - $this->assertMismatchDescription('array was ["a" => <1>, "b" => <2>, "c" => <3>]', hasKey('d'), $array); - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Array/IsArrayContainingKeyValuePairTest.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Array/IsArrayContainingKeyValuePairTest.php deleted file mode 100644 index a415f9f..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Array/IsArrayContainingKeyValuePairTest.php +++ /dev/null @@ -1,36 +0,0 @@ -1, 'b'=>2); - - $this->assertMatches(hasKeyValuePair(equalTo('a'), equalTo(1)), $array, 'matcherA'); - $this->assertMatches(hasKeyValuePair(equalTo('b'), equalTo(2)), $array, 'matcherB'); - $this->assertMismatchDescription( - 'array was ["a" => <1>, "b" => <2>]', - hasKeyValuePair(equalTo('c'), equalTo(3)), - $array - ); - } - - public function testDoesNotMatchNull() - { - $this->assertMismatchDescription('was null', hasKeyValuePair(anything(), anything()), null); - } - - public function testHasReadableDescription() - { - $this->assertDescription('array containing ["a" => <2>]', hasKeyValuePair(equalTo('a'), equalTo(2))); - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Array/IsArrayContainingTest.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Array/IsArrayContainingTest.php deleted file mode 100644 index 8d5bd81..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Array/IsArrayContainingTest.php +++ /dev/null @@ -1,50 +0,0 @@ -assertMatches( - hasItemInArray('a'), - array('a', 'b', 'c'), - "should matches array that contains 'a'" - ); - } - - public function testDoesNotMatchAnArrayThatDoesntContainAnElementMatchingTheGivenMatcher() - { - $this->assertDoesNotMatch( - hasItemInArray('a'), - array('b', 'c'), - "should not matches array that doesn't contain 'a'" - ); - $this->assertDoesNotMatch( - hasItemInArray('a'), - array(), - 'should not match empty array' - ); - } - - public function testDoesNotMatchNull() - { - $this->assertDoesNotMatch( - hasItemInArray('a'), - null, - 'should not match null' - ); - } - - public function testHasAReadableDescription() - { - $this->assertDescription('an array containing "a"', hasItemInArray('a')); - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Array/IsArrayTest.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Array/IsArrayTest.php deleted file mode 100644 index e4db53e..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Array/IsArrayTest.php +++ /dev/null @@ -1,89 +0,0 @@ -assertMatches( - anArray(array(equalTo('a'), equalTo('b'), equalTo('c'))), - array('a', 'b', 'c'), - 'should match array with matching elements' - ); - } - - public function testDoesNotMatchAnArrayWhenElementsDoNotMatch() - { - $this->assertDoesNotMatch( - anArray(array(equalTo('a'), equalTo('b'))), - array('b', 'c'), - 'should not match array with different elements' - ); - } - - public function testDoesNotMatchAnArrayOfDifferentSize() - { - $this->assertDoesNotMatch( - anArray(array(equalTo('a'), equalTo('b'))), - array('a', 'b', 'c'), - 'should not match larger array' - ); - $this->assertDoesNotMatch( - anArray(array(equalTo('a'), equalTo('b'))), - array('a'), - 'should not match smaller array' - ); - } - - public function testDoesNotMatchNull() - { - $this->assertDoesNotMatch( - anArray(array(equalTo('a'))), - null, - 'should not match null' - ); - } - - public function testHasAReadableDescription() - { - $this->assertDescription( - '["a", "b"]', - anArray(array(equalTo('a'), equalTo('b'))) - ); - } - - public function testHasAReadableMismatchDescriptionWhenKeysDontMatch() - { - $this->assertMismatchDescription( - 'array keys were [<1>, <2>]', - anArray(array(equalTo('a'), equalTo('b'))), - array(1 => 'a', 2 => 'b') - ); - } - - public function testSupportsMatchesAssociativeArrays() - { - $this->assertMatches( - anArray(array('x'=>equalTo('a'), 'y'=>equalTo('b'), 'z'=>equalTo('c'))), - array('x'=>'a', 'y'=>'b', 'z'=>'c'), - 'should match associative array with matching elements' - ); - } - - public function testDoesNotMatchAnAssociativeArrayWhenKeysDoNotMatch() - { - $this->assertDoesNotMatch( - anArray(array('x'=>equalTo('a'), 'y'=>equalTo('b'))), - array('x'=>'b', 'z'=>'c'), - 'should not match array with different keys' - ); - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Array/IsArrayWithSizeTest.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Array/IsArrayWithSizeTest.php deleted file mode 100644 index 8413c89..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Array/IsArrayWithSizeTest.php +++ /dev/null @@ -1,37 +0,0 @@ -assertMatches(arrayWithSize(equalTo(3)), array(1, 2, 3), 'correct size'); - $this->assertDoesNotMatch(arrayWithSize(equalTo(2)), array(1, 2, 3), 'incorrect size'); - } - - public function testProvidesConvenientShortcutForArrayWithSizeEqualTo() - { - $this->assertMatches(arrayWithSize(3), array(1, 2, 3), 'correct size'); - $this->assertDoesNotMatch(arrayWithSize(2), array(1, 2, 3), 'incorrect size'); - } - - public function testEmptyArray() - { - $this->assertMatches(emptyArray(), array(), 'correct size'); - $this->assertDoesNotMatch(emptyArray(), array(1), 'incorrect size'); - } - - public function testHasAReadableDescription() - { - $this->assertDescription('an array with size <3>', arrayWithSize(equalTo(3))); - $this->assertDescription('an empty array', emptyArray()); - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/BaseMatcherTest.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/BaseMatcherTest.php deleted file mode 100644 index 833e2c3..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/BaseMatcherTest.php +++ /dev/null @@ -1,23 +0,0 @@ -appendText('SOME DESCRIPTION'); - } - - public function testDescribesItselfWithToStringMethod() - { - $someMatcher = new \Hamcrest\SomeMatcher(); - $this->assertEquals('SOME DESCRIPTION', (string) $someMatcher); - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Collection/IsEmptyTraversableTest.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Collection/IsEmptyTraversableTest.php deleted file mode 100644 index 2f15fb4..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Collection/IsEmptyTraversableTest.php +++ /dev/null @@ -1,77 +0,0 @@ -assertMatches( - emptyTraversable(), - new \ArrayObject(array()), - 'an empty traversable' - ); - } - - public function testEmptyMatcherDoesNotMatchWhenNotEmpty() - { - $this->assertDoesNotMatch( - emptyTraversable(), - new \ArrayObject(array(1, 2, 3)), - 'a non-empty traversable' - ); - } - - public function testEmptyMatcherDoesNotMatchNull() - { - $this->assertDoesNotMatch( - emptyTraversable(), - null, - 'should not match null' - ); - } - - public function testEmptyMatcherHasAReadableDescription() - { - $this->assertDescription('an empty traversable', emptyTraversable()); - } - - public function testNonEmptyDoesNotMatchNull() - { - $this->assertDoesNotMatch( - nonEmptyTraversable(), - null, - 'should not match null' - ); - } - - public function testNonEmptyDoesNotMatchWhenEmpty() - { - $this->assertDoesNotMatch( - nonEmptyTraversable(), - new \ArrayObject(array()), - 'an empty traversable' - ); - } - - public function testNonEmptyMatchesWhenNotEmpty() - { - $this->assertMatches( - nonEmptyTraversable(), - new \ArrayObject(array(1, 2, 3)), - 'a non-empty traversable' - ); - } - - public function testNonEmptyNonEmptyMatcherHasAReadableDescription() - { - $this->assertDescription('a non-empty traversable', nonEmptyTraversable()); - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Collection/IsTraversableWithSizeTest.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Collection/IsTraversableWithSizeTest.php deleted file mode 100644 index c1c67a7..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Collection/IsTraversableWithSizeTest.php +++ /dev/null @@ -1,57 +0,0 @@ -assertMatches( - traversableWithSize(equalTo(3)), - new \ArrayObject(array(1, 2, 3)), - 'correct size' - ); - } - - public function testDoesNotMatchWhenSizeIsIncorrect() - { - $this->assertDoesNotMatch( - traversableWithSize(equalTo(2)), - new \ArrayObject(array(1, 2, 3)), - 'incorrect size' - ); - } - - public function testDoesNotMatchNull() - { - $this->assertDoesNotMatch( - traversableWithSize(3), - null, - 'should not match null' - ); - } - - public function testProvidesConvenientShortcutForTraversableWithSizeEqualTo() - { - $this->assertMatches( - traversableWithSize(3), - new \ArrayObject(array(1, 2, 3)), - 'correct size' - ); - } - - public function testHasAReadableDescription() - { - $this->assertDescription( - 'a traversable with size <3>', - traversableWithSize(equalTo(3)) - ); - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Core/AllOfTest.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Core/AllOfTest.php deleted file mode 100644 index 86b8c27..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Core/AllOfTest.php +++ /dev/null @@ -1,56 +0,0 @@ -assertDescription( - '("good" and "bad" and "ugly")', - allOf('good', 'bad', 'ugly') - ); - } - - public function testMismatchDescriptionDescribesFirstFailingMatch() - { - $this->assertMismatchDescription( - '"good" was "bad"', - allOf('bad', 'good'), - 'bad' - ); - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Core/AnyOfTest.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Core/AnyOfTest.php deleted file mode 100644 index 3d62b93..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Core/AnyOfTest.php +++ /dev/null @@ -1,79 +0,0 @@ -assertDescription( - '("good" or "bad" or "ugly")', - anyOf('good', 'bad', 'ugly') - ); - } - - public function testNoneOfEvaluatesToTheLogicalDisjunctionOfTwoOtherMatchers() - { - assertThat('good', not(noneOf('bad', 'good'))); - assertThat('good', not(noneOf('good', 'good'))); - assertThat('good', not(noneOf('good', 'bad'))); - - assertThat('good', noneOf('bad', startsWith('b'))); - } - - public function testNoneOfEvaluatesToTheLogicalDisjunctionOfManyOtherMatchers() - { - assertThat('good', not(noneOf('bad', 'good', 'bad', 'bad', 'bad'))); - assertThat('good', noneOf('bad', 'bad', 'bad', 'bad', 'bad')); - } - - public function testNoneOfSupportsMixedTypes() - { - $combined = noneOf( - equalTo(new \Hamcrest\Core\SampleBaseClass('good')), - equalTo(new \Hamcrest\Core\SampleBaseClass('ugly')), - equalTo(new \Hamcrest\Core\SampleSubClass('good')) - ); - - assertThat(new \Hamcrest\Core\SampleSubClass('bad'), $combined); - } - - public function testNoneOfHasAReadableDescription() - { - $this->assertDescription( - 'not ("good" or "bad" or "ugly")', - noneOf('good', 'bad', 'ugly') - ); - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Core/CombinableMatcherTest.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Core/CombinableMatcherTest.php deleted file mode 100644 index 4c22614..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Core/CombinableMatcherTest.php +++ /dev/null @@ -1,59 +0,0 @@ -_either_3_or_4 = \Hamcrest\Core\CombinableMatcher::either(equalTo(3))->orElse(equalTo(4)); - $this->_not_3_and_not_4 = \Hamcrest\Core\CombinableMatcher::both(not(equalTo(3)))->andAlso(not(equalTo(4))); - } - - protected function createMatcher() - { - return \Hamcrest\Core\CombinableMatcher::either(equalTo('irrelevant'))->orElse(equalTo('ignored')); - } - - public function testBothAcceptsAndRejects() - { - assertThat(2, $this->_not_3_and_not_4); - assertThat(3, not($this->_not_3_and_not_4)); - } - - public function testAcceptsAndRejectsThreeAnds() - { - $tripleAnd = $this->_not_3_and_not_4->andAlso(equalTo(2)); - assertThat(2, $tripleAnd); - assertThat(3, not($tripleAnd)); - } - - public function testBothDescribesItself() - { - $this->assertEquals('(not <3> and not <4>)', (string) $this->_not_3_and_not_4); - $this->assertMismatchDescription('was <3>', $this->_not_3_and_not_4, 3); - } - - public function testEitherAcceptsAndRejects() - { - assertThat(3, $this->_either_3_or_4); - assertThat(6, not($this->_either_3_or_4)); - } - - public function testAcceptsAndRejectsThreeOrs() - { - $orTriple = $this->_either_3_or_4->orElse(greaterThan(10)); - - assertThat(11, $orTriple); - assertThat(9, not($orTriple)); - } - - public function testEitherDescribesItself() - { - $this->assertEquals('(<3> or <4>)', (string) $this->_either_3_or_4); - $this->assertMismatchDescription('was <6>', $this->_either_3_or_4, 6); - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Core/DescribedAsTest.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Core/DescribedAsTest.php deleted file mode 100644 index 673ab41..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Core/DescribedAsTest.php +++ /dev/null @@ -1,36 +0,0 @@ -assertDescription('m1 description', $m1); - $this->assertDescription('m2 description', $m2); - } - - public function testAppendsValuesToDescription() - { - $m = describedAs('value 1 = %0, value 2 = %1', anything(), 33, 97); - - $this->assertDescription('value 1 = <33>, value 2 = <97>', $m); - } - - public function testDelegatesMatchingToAnotherMatcher() - { - $m1 = describedAs('irrelevant', anything()); - $m2 = describedAs('irrelevant', not(anything())); - - $this->assertTrue($m1->matches(new \stdClass())); - $this->assertFalse($m2->matches('hi')); - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Core/EveryTest.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Core/EveryTest.php deleted file mode 100644 index 5eb153c..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Core/EveryTest.php +++ /dev/null @@ -1,30 +0,0 @@ -assertEquals('every item is a string containing "a"', (string) $each); - - $this->assertMismatchDescription('an item was "BbB"', $each, array('BbB')); - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Core/HasToStringTest.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Core/HasToStringTest.php deleted file mode 100644 index e2e136d..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Core/HasToStringTest.php +++ /dev/null @@ -1,108 +0,0 @@ -assertMatches( - hasToString(equalTo('php')), - new \Hamcrest\Core\PhpForm(), - 'correct __toString' - ); - $this->assertMatches( - hasToString(equalTo('java')), - new \Hamcrest\Core\JavaForm(), - 'correct toString' - ); - } - - public function testPicksJavaOverPhpToString() - { - $this->assertMatches( - hasToString(equalTo('java')), - new \Hamcrest\Core\BothForms(), - 'correct toString' - ); - } - - public function testDoesNotMatchWhenToStringDoesNotMatch() - { - $this->assertDoesNotMatch( - hasToString(equalTo('mismatch')), - new \Hamcrest\Core\PhpForm(), - 'incorrect __toString' - ); - $this->assertDoesNotMatch( - hasToString(equalTo('mismatch')), - new \Hamcrest\Core\JavaForm(), - 'incorrect toString' - ); - $this->assertDoesNotMatch( - hasToString(equalTo('mismatch')), - new \Hamcrest\Core\BothForms(), - 'incorrect __toString' - ); - } - - public function testDoesNotMatchNull() - { - $this->assertDoesNotMatch( - hasToString(equalTo('a')), - null, - 'should not match null' - ); - } - - public function testProvidesConvenientShortcutForTraversableWithSizeEqualTo() - { - $this->assertMatches( - hasToString(equalTo('php')), - new \Hamcrest\Core\PhpForm(), - 'correct __toString' - ); - } - - public function testHasAReadableDescription() - { - $this->assertDescription( - 'an object with toString() "php"', - hasToString(equalTo('php')) - ); - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Core/IsAnythingTest.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Core/IsAnythingTest.php deleted file mode 100644 index f68032e..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Core/IsAnythingTest.php +++ /dev/null @@ -1,29 +0,0 @@ -assertDescription('ANYTHING', anything()); - } - - public function testCanOverrideDescription() - { - $description = 'description'; - $this->assertDescription($description, anything($description)); - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Core/IsCollectionContainingTest.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Core/IsCollectionContainingTest.php deleted file mode 100644 index a3929b5..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Core/IsCollectionContainingTest.php +++ /dev/null @@ -1,91 +0,0 @@ -assertMatches( - $itemMatcher, - array('a', 'b', 'c'), - "should match list that contains 'a'" - ); - } - - public function testDoesNotMatchCollectionThatDoesntContainAnElementMatchingTheGivenMatcher() - { - $matcher1 = hasItem(equalTo('a')); - $this->assertDoesNotMatch( - $matcher1, - array('b', 'c'), - "should not match list that doesn't contain 'a'" - ); - - $matcher2 = hasItem(equalTo('a')); - $this->assertDoesNotMatch( - $matcher2, - array(), - 'should not match the empty list' - ); - } - - public function testDoesNotMatchNull() - { - $this->assertDoesNotMatch( - hasItem(equalTo('a')), - null, - 'should not match null' - ); - } - - public function testHasAReadableDescription() - { - $this->assertDescription('a collection containing "a"', hasItem(equalTo('a'))); - } - - public function testMatchesAllItemsInCollection() - { - $matcher1 = hasItems(equalTo('a'), equalTo('b'), equalTo('c')); - $this->assertMatches( - $matcher1, - array('a', 'b', 'c'), - 'should match list containing all items' - ); - - $matcher2 = hasItems('a', 'b', 'c'); - $this->assertMatches( - $matcher2, - array('a', 'b', 'c'), - 'should match list containing all items (without matchers)' - ); - - $matcher3 = hasItems(equalTo('a'), equalTo('b'), equalTo('c')); - $this->assertMatches( - $matcher3, - array('c', 'b', 'a'), - 'should match list containing all items in any order' - ); - - $matcher4 = hasItems(equalTo('a'), equalTo('b'), equalTo('c')); - $this->assertMatches( - $matcher4, - array('e', 'c', 'b', 'a', 'd'), - 'should match list containing all items plus others' - ); - - $matcher5 = hasItems(equalTo('a'), equalTo('b'), equalTo('c')); - $this->assertDoesNotMatch( - $matcher5, - array('e', 'c', 'b', 'd'), // 'a' missing - 'should not match list unless it contains all items' - ); - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Core/IsEqualTest.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Core/IsEqualTest.php deleted file mode 100644 index 73e3ff0..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Core/IsEqualTest.php +++ /dev/null @@ -1,102 +0,0 @@ -_arg = $arg; - } - - public function __toString() - { - return $this->_arg; - } -} - -class IsEqualTest extends \Hamcrest\AbstractMatcherTest -{ - - protected function createMatcher() - { - return \Hamcrest\Core\IsEqual::equalTo('irrelevant'); - } - - public function testComparesObjectsUsingEqualityOperator() - { - assertThat("hi", equalTo("hi")); - assertThat("bye", not(equalTo("hi"))); - - assertThat(1, equalTo(1)); - assertThat(1, not(equalTo(2))); - - assertThat("2", equalTo(2)); - } - - public function testCanCompareNullValues() - { - assertThat(null, equalTo(null)); - - assertThat(null, not(equalTo('hi'))); - assertThat('hi', not(equalTo(null))); - } - - public function testComparesTheElementsOfAnArray() - { - $s1 = array('a', 'b'); - $s2 = array('a', 'b'); - $s3 = array('c', 'd'); - $s4 = array('a', 'b', 'c', 'd'); - - assertThat($s1, equalTo($s1)); - assertThat($s2, equalTo($s1)); - assertThat($s3, not(equalTo($s1))); - assertThat($s4, not(equalTo($s1))); - } - - public function testComparesTheElementsOfAnArrayOfPrimitiveTypes() - { - $i1 = array(1, 2); - $i2 = array(1, 2); - $i3 = array(3, 4); - $i4 = array(1, 2, 3, 4); - - assertThat($i1, equalTo($i1)); - assertThat($i2, equalTo($i1)); - assertThat($i3, not(equalTo($i1))); - assertThat($i4, not(equalTo($i1))); - } - - public function testRecursivelyTestsElementsOfArrays() - { - $i1 = array(array(1, 2), array(3, 4)); - $i2 = array(array(1, 2), array(3, 4)); - $i3 = array(array(5, 6), array(7, 8)); - $i4 = array(array(1, 2, 3, 4), array(3, 4)); - - assertThat($i1, equalTo($i1)); - assertThat($i2, equalTo($i1)); - assertThat($i3, not(equalTo($i1))); - assertThat($i4, not(equalTo($i1))); - } - - public function testIncludesTheResultOfCallingToStringOnItsArgumentInTheDescription() - { - $argumentDescription = 'ARGUMENT DESCRIPTION'; - $argument = new \Hamcrest\Core\DummyToStringClass($argumentDescription); - $this->assertDescription('<' . $argumentDescription . '>', equalTo($argument)); - } - - public function testReturnsAnObviousDescriptionIfCreatedWithANestedMatcherByMistake() - { - $innerMatcher = equalTo('NestedMatcher'); - $this->assertDescription('<' . (string) $innerMatcher . '>', equalTo($innerMatcher)); - } - - public function testReturnsGoodDescriptionIfCreatedWithNullReference() - { - $this->assertDescription('null', equalTo(null)); - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Core/IsIdenticalTest.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Core/IsIdenticalTest.php deleted file mode 100644 index 9cc2794..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Core/IsIdenticalTest.php +++ /dev/null @@ -1,30 +0,0 @@ -assertDescription('"ARG"', identicalTo('ARG')); - } - - public function testReturnsReadableDescriptionFromToStringWhenInitialisedWithNull() - { - $this->assertDescription('null', identicalTo(null)); - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Core/IsInstanceOfTest.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Core/IsInstanceOfTest.php deleted file mode 100644 index 7a5f095..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Core/IsInstanceOfTest.php +++ /dev/null @@ -1,51 +0,0 @@ -_baseClassInstance = new \Hamcrest\Core\SampleBaseClass('good'); - $this->_subClassInstance = new \Hamcrest\Core\SampleSubClass('good'); - } - - protected function createMatcher() - { - return \Hamcrest\Core\IsInstanceOf::anInstanceOf('stdClass'); - } - - public function testEvaluatesToTrueIfArgumentIsInstanceOfASpecificClass() - { - assertThat($this->_baseClassInstance, anInstanceOf('Hamcrest\Core\SampleBaseClass')); - assertThat($this->_subClassInstance, anInstanceOf('Hamcrest\Core\SampleSubClass')); - assertThat(null, not(anInstanceOf('Hamcrest\Core\SampleBaseClass'))); - assertThat(new \stdClass(), not(anInstanceOf('Hamcrest\Core\SampleBaseClass'))); - } - - public function testEvaluatesToFalseIfArgumentIsNotAnObject() - { - assertThat(null, not(anInstanceOf('Hamcrest\Core\SampleBaseClass'))); - assertThat(false, not(anInstanceOf('Hamcrest\Core\SampleBaseClass'))); - assertThat(5, not(anInstanceOf('Hamcrest\Core\SampleBaseClass'))); - assertThat('foo', not(anInstanceOf('Hamcrest\Core\SampleBaseClass'))); - assertThat(array(1, 2, 3), not(anInstanceOf('Hamcrest\Core\SampleBaseClass'))); - } - - public function testHasAReadableDescription() - { - $this->assertDescription('an instance of stdClass', anInstanceOf('stdClass')); - } - - public function testDecribesActualClassInMismatchMessage() - { - $this->assertMismatchDescription( - '[Hamcrest\Core\SampleBaseClass] ', - anInstanceOf('Hamcrest\Core\SampleSubClass'), - $this->_baseClassInstance - ); - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Core/IsNotTest.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Core/IsNotTest.php deleted file mode 100644 index 09d4a65..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Core/IsNotTest.php +++ /dev/null @@ -1,31 +0,0 @@ -assertMatches(not(equalTo('A')), 'B', 'should match'); - $this->assertDoesNotMatch(not(equalTo('B')), 'B', 'should not match'); - } - - public function testProvidesConvenientShortcutForNotEqualTo() - { - $this->assertMatches(not('A'), 'B', 'should match'); - $this->assertMatches(not('B'), 'A', 'should match'); - $this->assertDoesNotMatch(not('A'), 'A', 'should not match'); - $this->assertDoesNotMatch(not('B'), 'B', 'should not match'); - } - - public function testUsesDescriptionOfNegatedMatcherWithPrefix() - { - $this->assertDescription('not a value greater than <2>', not(greaterThan(2))); - $this->assertDescription('not "A"', not('A')); - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Core/IsNullTest.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Core/IsNullTest.php deleted file mode 100644 index bfa4255..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Core/IsNullTest.php +++ /dev/null @@ -1,20 +0,0 @@ -assertDescription('sameInstance("ARG")', sameInstance('ARG')); - } - - public function testReturnsReadableDescriptionFromToStringWhenInitialisedWithNull() - { - $this->assertDescription('sameInstance(null)', sameInstance(null)); - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Core/IsTest.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Core/IsTest.php deleted file mode 100644 index bbd848b..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Core/IsTest.php +++ /dev/null @@ -1,33 +0,0 @@ -assertMatches(is(equalTo(true)), true, 'should match'); - $this->assertMatches(is(equalTo(false)), false, 'should match'); - $this->assertDoesNotMatch(is(equalTo(true)), false, 'should not match'); - $this->assertDoesNotMatch(is(equalTo(false)), true, 'should not match'); - } - - public function testGeneratesIsPrefixInDescription() - { - $this->assertDescription('is ', is(equalTo(true))); - } - - public function testProvidesConvenientShortcutForIsEqualTo() - { - $this->assertMatches(is('A'), 'A', 'should match'); - $this->assertMatches(is('B'), 'B', 'should match'); - $this->assertDoesNotMatch(is('A'), 'B', 'should not match'); - $this->assertDoesNotMatch(is('B'), 'A', 'should not match'); - $this->assertDescription('is "A"', is('A')); - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Core/IsTypeOfTest.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Core/IsTypeOfTest.php deleted file mode 100644 index 3f48dea..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Core/IsTypeOfTest.php +++ /dev/null @@ -1,45 +0,0 @@ -assertDescription('a double', typeOf('double')); - $this->assertDescription('an integer', typeOf('integer')); - } - - public function testDecribesActualTypeInMismatchMessage() - { - $this->assertMismatchDescription('was null', typeOf('boolean'), null); - $this->assertMismatchDescription('was an integer <5>', typeOf('float'), 5); - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Core/SampleBaseClass.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Core/SampleBaseClass.php deleted file mode 100644 index c953e7c..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Core/SampleBaseClass.php +++ /dev/null @@ -1,18 +0,0 @@ -_arg = $arg; - } - - public function __toString() - { - return $this->_arg; - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Core/SampleSubClass.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Core/SampleSubClass.php deleted file mode 100644 index 822f1b6..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Core/SampleSubClass.php +++ /dev/null @@ -1,6 +0,0 @@ -_instanceProperty); - } - - protected function createMatcher() - { - return \Hamcrest\Core\Set::set('property_name'); - } - - public function testEvaluatesToTrueIfArrayPropertyIsSet() - { - assertThat(array('foo' => 'bar'), set('foo')); - } - - public function testNegatedEvaluatesToFalseIfArrayPropertyIsSet() - { - assertThat(array('foo' => 'bar'), not(notSet('foo'))); - } - - public function testEvaluatesToTrueIfClassPropertyIsSet() - { - self::$_classProperty = 'bar'; - assertThat('Hamcrest\Core\SetTest', set('_classProperty')); - } - - public function testNegatedEvaluatesToFalseIfClassPropertyIsSet() - { - self::$_classProperty = 'bar'; - assertThat('Hamcrest\Core\SetTest', not(notSet('_classProperty'))); - } - - public function testEvaluatesToTrueIfObjectPropertyIsSet() - { - $this->_instanceProperty = 'bar'; - assertThat($this, set('_instanceProperty')); - } - - public function testNegatedEvaluatesToFalseIfObjectPropertyIsSet() - { - $this->_instanceProperty = 'bar'; - assertThat($this, not(notSet('_instanceProperty'))); - } - - public function testEvaluatesToFalseIfArrayPropertyIsNotSet() - { - assertThat(array('foo' => 'bar'), not(set('baz'))); - } - - public function testNegatedEvaluatesToTrueIfArrayPropertyIsNotSet() - { - assertThat(array('foo' => 'bar'), notSet('baz')); - } - - public function testEvaluatesToFalseIfClassPropertyIsNotSet() - { - assertThat('Hamcrest\Core\SetTest', not(set('_classProperty'))); - } - - public function testNegatedEvaluatesToTrueIfClassPropertyIsNotSet() - { - assertThat('Hamcrest\Core\SetTest', notSet('_classProperty')); - } - - public function testEvaluatesToFalseIfObjectPropertyIsNotSet() - { - assertThat($this, not(set('_instanceProperty'))); - } - - public function testNegatedEvaluatesToTrueIfObjectPropertyIsNotSet() - { - assertThat($this, notSet('_instanceProperty')); - } - - public function testHasAReadableDescription() - { - $this->assertDescription('set property foo', set('foo')); - $this->assertDescription('unset property bar', notSet('bar')); - } - - public function testDecribesPropertySettingInMismatchMessage() - { - $this->assertMismatchDescription( - 'was not set', - set('bar'), - array('foo' => 'bar') - ); - $this->assertMismatchDescription( - 'was "bar"', - notSet('foo'), - array('foo' => 'bar') - ); - self::$_classProperty = 'bar'; - $this->assertMismatchDescription( - 'was "bar"', - notSet('_classProperty'), - 'Hamcrest\Core\SetTest' - ); - $this->_instanceProperty = 'bar'; - $this->assertMismatchDescription( - 'was "bar"', - notSet('_instanceProperty'), - $this - ); - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/FeatureMatcherTest.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/FeatureMatcherTest.php deleted file mode 100644 index 7543294..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/FeatureMatcherTest.php +++ /dev/null @@ -1,73 +0,0 @@ -_result = $result; - } - public function getResult() - { - return $this->_result; - } -} - -/* Test-specific subclass only */ -class ResultMatcher extends \Hamcrest\FeatureMatcher -{ - public function __construct() - { - parent::__construct(self::TYPE_ANY, null, equalTo('bar'), 'Thingy with result', 'result'); - } - public function featureValueOf($actual) - { - if ($actual instanceof \Hamcrest\Thingy) { - return $actual->getResult(); - } - } -} - -class FeatureMatcherTest extends \Hamcrest\AbstractMatcherTest -{ - - private $_resultMatcher; - - public function setUp() - { - $this->_resultMatcher = $this->_resultMatcher(); - } - - protected function createMatcher() - { - return $this->_resultMatcher(); - } - - public function testMatchesPartOfAnObject() - { - $this->assertMatches($this->_resultMatcher, new \Hamcrest\Thingy('bar'), 'feature'); - $this->assertDescription('Thingy with result "bar"', $this->_resultMatcher); - } - - public function testMismatchesPartOfAnObject() - { - $this->assertMismatchDescription( - 'result was "foo"', - $this->_resultMatcher, - new \Hamcrest\Thingy('foo') - ); - } - - public function testDoesNotGenerateNoticesForNull() - { - $this->assertMismatchDescription('result was null', $this->_resultMatcher, null); - } - - // -- Creation Methods - - private function _resultMatcher() - { - return new \Hamcrest\ResultMatcher(); - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/MatcherAssertTest.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/MatcherAssertTest.php deleted file mode 100644 index 2183712..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/MatcherAssertTest.php +++ /dev/null @@ -1,190 +0,0 @@ -getMessage()); - } - try { - \Hamcrest\MatcherAssert::assertThat(null); - self::fail('expected assertion failure'); - } catch (\Hamcrest\AssertionError $ex) { - self::assertEquals('', $ex->getMessage()); - } - try { - \Hamcrest\MatcherAssert::assertThat(''); - self::fail('expected assertion failure'); - } catch (\Hamcrest\AssertionError $ex) { - self::assertEquals('', $ex->getMessage()); - } - try { - \Hamcrest\MatcherAssert::assertThat(0); - self::fail('expected assertion failure'); - } catch (\Hamcrest\AssertionError $ex) { - self::assertEquals('', $ex->getMessage()); - } - try { - \Hamcrest\MatcherAssert::assertThat(0.0); - self::fail('expected assertion failure'); - } catch (\Hamcrest\AssertionError $ex) { - self::assertEquals('', $ex->getMessage()); - } - try { - \Hamcrest\MatcherAssert::assertThat(array()); - self::fail('expected assertion failure'); - } catch (\Hamcrest\AssertionError $ex) { - self::assertEquals('', $ex->getMessage()); - } - self::assertEquals(6, \Hamcrest\MatcherAssert::getCount(), 'assertion count'); - } - - public function testAssertThatWithIdentifierAndTrueArgPasses() - { - \Hamcrest\MatcherAssert::assertThat('identifier', true); - \Hamcrest\MatcherAssert::assertThat('identifier', 'non-empty'); - \Hamcrest\MatcherAssert::assertThat('identifier', 1); - \Hamcrest\MatcherAssert::assertThat('identifier', 3.14159); - \Hamcrest\MatcherAssert::assertThat('identifier', array(true)); - self::assertEquals(5, \Hamcrest\MatcherAssert::getCount(), 'assertion count'); - } - - public function testAssertThatWithIdentifierAndFalseArgFails() - { - try { - \Hamcrest\MatcherAssert::assertThat('identifier', false); - self::fail('expected assertion failure'); - } catch (\Hamcrest\AssertionError $ex) { - self::assertEquals('identifier', $ex->getMessage()); - } - try { - \Hamcrest\MatcherAssert::assertThat('identifier', null); - self::fail('expected assertion failure'); - } catch (\Hamcrest\AssertionError $ex) { - self::assertEquals('identifier', $ex->getMessage()); - } - try { - \Hamcrest\MatcherAssert::assertThat('identifier', ''); - self::fail('expected assertion failure'); - } catch (\Hamcrest\AssertionError $ex) { - self::assertEquals('identifier', $ex->getMessage()); - } - try { - \Hamcrest\MatcherAssert::assertThat('identifier', 0); - self::fail('expected assertion failure'); - } catch (\Hamcrest\AssertionError $ex) { - self::assertEquals('identifier', $ex->getMessage()); - } - try { - \Hamcrest\MatcherAssert::assertThat('identifier', 0.0); - self::fail('expected assertion failure'); - } catch (\Hamcrest\AssertionError $ex) { - self::assertEquals('identifier', $ex->getMessage()); - } - try { - \Hamcrest\MatcherAssert::assertThat('identifier', array()); - self::fail('expected assertion failure'); - } catch (\Hamcrest\AssertionError $ex) { - self::assertEquals('identifier', $ex->getMessage()); - } - self::assertEquals(6, \Hamcrest\MatcherAssert::getCount(), 'assertion count'); - } - - public function testAssertThatWithActualValueAndMatcherArgsThatMatchPasses() - { - \Hamcrest\MatcherAssert::assertThat(true, is(true)); - self::assertEquals(1, \Hamcrest\MatcherAssert::getCount(), 'assertion count'); - } - - public function testAssertThatWithActualValueAndMatcherArgsThatDontMatchFails() - { - $expected = 'expected'; - $actual = 'actual'; - - $expectedMessage = - 'Expected: "expected"' . PHP_EOL . - ' but: was "actual"'; - - try { - \Hamcrest\MatcherAssert::assertThat($actual, equalTo($expected)); - self::fail('expected assertion failure'); - } catch (\Hamcrest\AssertionError $ex) { - self::assertEquals($expectedMessage, $ex->getMessage()); - self::assertEquals(1, \Hamcrest\MatcherAssert::getCount(), 'assertion count'); - } - } - - public function testAssertThatWithIdentifierAndActualValueAndMatcherArgsThatMatchPasses() - { - \Hamcrest\MatcherAssert::assertThat('identifier', true, is(true)); - self::assertEquals(1, \Hamcrest\MatcherAssert::getCount(), 'assertion count'); - } - - public function testAssertThatWithIdentifierAndActualValueAndMatcherArgsThatDontMatchFails() - { - $expected = 'expected'; - $actual = 'actual'; - - $expectedMessage = - 'identifier' . PHP_EOL . - 'Expected: "expected"' . PHP_EOL . - ' but: was "actual"'; - - try { - \Hamcrest\MatcherAssert::assertThat('identifier', $actual, equalTo($expected)); - self::fail('expected assertion failure'); - } catch (\Hamcrest\AssertionError $ex) { - self::assertEquals($expectedMessage, $ex->getMessage()); - self::assertEquals(1, \Hamcrest\MatcherAssert::getCount(), 'assertion count'); - } - } - - public function testAssertThatWithNoArgsThrowsErrorAndDoesntIncrementCount() - { - try { - \Hamcrest\MatcherAssert::assertThat(); - self::fail('expected invalid argument exception'); - } catch (\InvalidArgumentException $ex) { - self::assertEquals(0, \Hamcrest\MatcherAssert::getCount(), 'assertion count'); - } - } - - public function testAssertThatWithFourArgsThrowsErrorAndDoesntIncrementCount() - { - try { - \Hamcrest\MatcherAssert::assertThat(1, 2, 3, 4); - self::fail('expected invalid argument exception'); - } catch (\InvalidArgumentException $ex) { - self::assertEquals(0, \Hamcrest\MatcherAssert::getCount(), 'assertion count'); - } - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Number/IsCloseToTest.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Number/IsCloseToTest.php deleted file mode 100644 index 987d552..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Number/IsCloseToTest.php +++ /dev/null @@ -1,27 +0,0 @@ -assertTrue($p->matches(1.0)); - $this->assertTrue($p->matches(0.5)); - $this->assertTrue($p->matches(1.5)); - - $this->assertDoesNotMatch($p, 2.0, 'too large'); - $this->assertMismatchDescription('<2F> differed by <0.5F>', $p, 2.0); - $this->assertDoesNotMatch($p, 0.0, 'number too small'); - $this->assertMismatchDescription('<0F> differed by <0.5F>', $p, 0.0); - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Number/OrderingComparisonTest.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Number/OrderingComparisonTest.php deleted file mode 100644 index a4c94d3..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Number/OrderingComparisonTest.php +++ /dev/null @@ -1,41 +0,0 @@ -_text = $text; - } - - public function describeTo(\Hamcrest\Description $description) - { - $description->appendText($this->_text); - } -} - -class StringDescriptionTest extends \PhpUnit_Framework_TestCase -{ - - private $_description; - - public function setUp() - { - $this->_description = new \Hamcrest\StringDescription(); - } - - public function testAppendTextAppendsTextInformation() - { - $this->_description->appendText('foo')->appendText('bar'); - $this->assertEquals('foobar', (string) $this->_description); - } - - public function testAppendValueCanAppendTextTypes() - { - $this->_description->appendValue('foo'); - $this->assertEquals('"foo"', (string) $this->_description); - } - - public function testSpecialCharactersAreEscapedForStringTypes() - { - $this->_description->appendValue("foo\\bar\"zip\r\n"); - $this->assertEquals('"foo\\bar\\"zip\r\n"', (string) $this->_description); - } - - public function testIntegerValuesCanBeAppended() - { - $this->_description->appendValue(42); - $this->assertEquals('<42>', (string) $this->_description); - } - - public function testFloatValuesCanBeAppended() - { - $this->_description->appendValue(42.78); - $this->assertEquals('<42.78F>', (string) $this->_description); - } - - public function testNullValuesCanBeAppended() - { - $this->_description->appendValue(null); - $this->assertEquals('null', (string) $this->_description); - } - - public function testArraysCanBeAppended() - { - $this->_description->appendValue(array('foo', 42.78)); - $this->assertEquals('["foo", <42.78F>]', (string) $this->_description); - } - - public function testObjectsCanBeAppended() - { - $this->_description->appendValue(new \stdClass()); - $this->assertEquals('', (string) $this->_description); - } - - public function testBooleanValuesCanBeAppended() - { - $this->_description->appendValue(false); - $this->assertEquals('', (string) $this->_description); - } - - public function testListsOfvaluesCanBeAppended() - { - $this->_description->appendValue(array('foo', 42.78)); - $this->assertEquals('["foo", <42.78F>]', (string) $this->_description); - } - - public function testIterableOfvaluesCanBeAppended() - { - $items = new \ArrayObject(array('foo', 42.78)); - $this->_description->appendValue($items); - $this->assertEquals('["foo", <42.78F>]', (string) $this->_description); - } - - public function testIteratorOfvaluesCanBeAppended() - { - $items = new \ArrayObject(array('foo', 42.78)); - $this->_description->appendValue($items->getIterator()); - $this->assertEquals('["foo", <42.78F>]', (string) $this->_description); - } - - public function testListsOfvaluesCanBeAppendedManually() - { - $this->_description->appendValueList('@start@', '@sep@ ', '@end@', array('foo', 42.78)); - $this->assertEquals('@start@"foo"@sep@ <42.78F>@end@', (string) $this->_description); - } - - public function testIterableOfvaluesCanBeAppendedManually() - { - $items = new \ArrayObject(array('foo', 42.78)); - $this->_description->appendValueList('@start@', '@sep@ ', '@end@', $items); - $this->assertEquals('@start@"foo"@sep@ <42.78F>@end@', (string) $this->_description); - } - - public function testIteratorOfvaluesCanBeAppendedManually() - { - $items = new \ArrayObject(array('foo', 42.78)); - $this->_description->appendValueList('@start@', '@sep@ ', '@end@', $items->getIterator()); - $this->assertEquals('@start@"foo"@sep@ <42.78F>@end@', (string) $this->_description); - } - - public function testSelfDescribingObjectsCanBeAppended() - { - $this->_description - ->appendDescriptionOf(new \Hamcrest\SampleSelfDescriber('foo')) - ->appendDescriptionOf(new \Hamcrest\SampleSelfDescriber('bar')) - ; - $this->assertEquals('foobar', (string) $this->_description); - } - - public function testSelfDescribingObjectsCanBeAppendedAsLists() - { - $this->_description->appendList('@start@', '@sep@ ', '@end@', array( - new \Hamcrest\SampleSelfDescriber('foo'), - new \Hamcrest\SampleSelfDescriber('bar') - )); - $this->assertEquals('@start@foo@sep@ bar@end@', (string) $this->_description); - } - - public function testSelfDescribingObjectsCanBeAppendedAsIteratedLists() - { - $items = new \ArrayObject(array( - new \Hamcrest\SampleSelfDescriber('foo'), - new \Hamcrest\SampleSelfDescriber('bar') - )); - $this->_description->appendList('@start@', '@sep@ ', '@end@', $items); - $this->assertEquals('@start@foo@sep@ bar@end@', (string) $this->_description); - } - - public function testSelfDescribingObjectsCanBeAppendedAsIterators() - { - $items = new \ArrayObject(array( - new \Hamcrest\SampleSelfDescriber('foo'), - new \Hamcrest\SampleSelfDescriber('bar') - )); - $this->_description->appendList('@start@', '@sep@ ', '@end@', $items->getIterator()); - $this->assertEquals('@start@foo@sep@ bar@end@', (string) $this->_description); - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Text/IsEmptyStringTest.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Text/IsEmptyStringTest.php deleted file mode 100644 index 8d5c56b..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Text/IsEmptyStringTest.php +++ /dev/null @@ -1,86 +0,0 @@ -assertDoesNotMatch(emptyString(), null, 'null'); - } - - public function testEmptyDoesNotMatchZero() - { - $this->assertDoesNotMatch(emptyString(), 0, 'zero'); - } - - public function testEmptyDoesNotMatchFalse() - { - $this->assertDoesNotMatch(emptyString(), false, 'false'); - } - - public function testEmptyDoesNotMatchEmptyArray() - { - $this->assertDoesNotMatch(emptyString(), array(), 'empty array'); - } - - public function testEmptyMatchesEmptyString() - { - $this->assertMatches(emptyString(), '', 'empty string'); - } - - public function testEmptyDoesNotMatchNonEmptyString() - { - $this->assertDoesNotMatch(emptyString(), 'foo', 'non-empty string'); - } - - public function testEmptyHasAReadableDescription() - { - $this->assertDescription('an empty string', emptyString()); - } - - public function testEmptyOrNullMatchesNull() - { - $this->assertMatches(nullOrEmptyString(), null, 'null'); - } - - public function testEmptyOrNullMatchesEmptyString() - { - $this->assertMatches(nullOrEmptyString(), '', 'empty string'); - } - - public function testEmptyOrNullDoesNotMatchNonEmptyString() - { - $this->assertDoesNotMatch(nullOrEmptyString(), 'foo', 'non-empty string'); - } - - public function testEmptyOrNullHasAReadableDescription() - { - $this->assertDescription('(null or an empty string)', nullOrEmptyString()); - } - - public function testNonEmptyDoesNotMatchNull() - { - $this->assertDoesNotMatch(nonEmptyString(), null, 'null'); - } - - public function testNonEmptyDoesNotMatchEmptyString() - { - $this->assertDoesNotMatch(nonEmptyString(), '', 'empty string'); - } - - public function testNonEmptyMatchesNonEmptyString() - { - $this->assertMatches(nonEmptyString(), 'foo', 'non-empty string'); - } - - public function testNonEmptyHasAReadableDescription() - { - $this->assertDescription('a non-empty string', nonEmptyString()); - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Text/IsEqualIgnoringCaseTest.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Text/IsEqualIgnoringCaseTest.php deleted file mode 100644 index 0539fd5..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Text/IsEqualIgnoringCaseTest.php +++ /dev/null @@ -1,40 +0,0 @@ -assertDescription( - 'equalToIgnoringCase("heLLo")', - equalToIgnoringCase('heLLo') - ); - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Text/IsEqualIgnoringWhiteSpaceTest.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Text/IsEqualIgnoringWhiteSpaceTest.php deleted file mode 100644 index 6c2304f..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Text/IsEqualIgnoringWhiteSpaceTest.php +++ /dev/null @@ -1,51 +0,0 @@ -_matcher = \Hamcrest\Text\IsEqualIgnoringWhiteSpace::equalToIgnoringWhiteSpace( - "Hello World how\n are we? " - ); - } - - protected function createMatcher() - { - return $this->_matcher; - } - - public function testPassesIfWordsAreSameButWhitespaceDiffers() - { - assertThat('Hello World how are we?', $this->_matcher); - assertThat(" Hello \rWorld \t how are\nwe?", $this->_matcher); - } - - public function testFailsIfTextOtherThanWhitespaceDiffers() - { - assertThat('Hello PLANET how are we?', not($this->_matcher)); - assertThat('Hello World how are we', not($this->_matcher)); - } - - public function testFailsIfWhitespaceIsAddedOrRemovedInMidWord() - { - assertThat('HelloWorld how are we?', not($this->_matcher)); - assertThat('Hello Wo rld how are we?', not($this->_matcher)); - } - - public function testFailsIfMatchingAgainstNull() - { - assertThat(null, not($this->_matcher)); - } - - public function testHasAReadableDescription() - { - $this->assertDescription( - "equalToIgnoringWhiteSpace(\"Hello World how\\n are we? \")", - $this->_matcher - ); - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Text/MatchesPatternTest.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Text/MatchesPatternTest.php deleted file mode 100644 index 4891598..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Text/MatchesPatternTest.php +++ /dev/null @@ -1,30 +0,0 @@ -assertDescription('a string matching "pattern"', matchesPattern('pattern')); - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Text/StringContainsIgnoringCaseTest.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Text/StringContainsIgnoringCaseTest.php deleted file mode 100644 index 3b5b08e..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Text/StringContainsIgnoringCaseTest.php +++ /dev/null @@ -1,80 +0,0 @@ -_stringContains = \Hamcrest\Text\StringContainsIgnoringCase::containsStringIgnoringCase( - strtolower(self::EXCERPT) - ); - } - - protected function createMatcher() - { - return $this->_stringContains; - } - - public function testEvaluatesToTrueIfArgumentContainsSpecifiedSubstring() - { - $this->assertTrue( - $this->_stringContains->matches(self::EXCERPT . 'END'), - 'should be true if excerpt at beginning' - ); - $this->assertTrue( - $this->_stringContains->matches('START' . self::EXCERPT), - 'should be true if excerpt at end' - ); - $this->assertTrue( - $this->_stringContains->matches('START' . self::EXCERPT . 'END'), - 'should be true if excerpt in middle' - ); - $this->assertTrue( - $this->_stringContains->matches(self::EXCERPT . self::EXCERPT), - 'should be true if excerpt is repeated' - ); - - $this->assertFalse( - $this->_stringContains->matches('Something else'), - 'should not be true if excerpt is not in string' - ); - $this->assertFalse( - $this->_stringContains->matches(substr(self::EXCERPT, 1)), - 'should not be true if part of excerpt is in string' - ); - } - - public function testEvaluatesToTrueIfArgumentIsEqualToSubstring() - { - $this->assertTrue( - $this->_stringContains->matches(self::EXCERPT), - 'should be true if excerpt is entire string' - ); - } - - public function testEvaluatesToTrueIfArgumentContainsExactSubstring() - { - $this->assertTrue( - $this->_stringContains->matches(strtolower(self::EXCERPT)), - 'should be false if excerpt is entire string ignoring case' - ); - $this->assertTrue( - $this->_stringContains->matches('START' . strtolower(self::EXCERPT) . 'END'), - 'should be false if excerpt is contained in string ignoring case' - ); - } - - public function testHasAReadableDescription() - { - $this->assertDescription( - 'a string containing in any case "' - . strtolower(self::EXCERPT) . '"', - $this->_stringContains - ); - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Text/StringContainsInOrderTest.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Text/StringContainsInOrderTest.php deleted file mode 100644 index 0be7062..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Text/StringContainsInOrderTest.php +++ /dev/null @@ -1,42 +0,0 @@ -_m = \Hamcrest\Text\StringContainsInOrder::stringContainsInOrder(array('a', 'b', 'c')); - } - - protected function createMatcher() - { - return $this->_m; - } - - public function testMatchesOnlyIfStringContainsGivenSubstringsInTheSameOrder() - { - $this->assertMatches($this->_m, 'abc', 'substrings in order'); - $this->assertMatches($this->_m, '1a2b3c4', 'substrings separated'); - - $this->assertDoesNotMatch($this->_m, 'cab', 'substrings out of order'); - $this->assertDoesNotMatch($this->_m, 'xyz', 'no substrings in string'); - $this->assertDoesNotMatch($this->_m, 'ac', 'substring missing'); - $this->assertDoesNotMatch($this->_m, '', 'empty string'); - } - - public function testAcceptsVariableArguments() - { - $this->assertMatches(stringContainsInOrder('a', 'b', 'c'), 'abc', 'substrings as variable arguments'); - } - - public function testHasAReadableDescription() - { - $this->assertDescription( - 'a string containing "a", "b", "c" in order', - $this->_m - ); - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Text/StringContainsTest.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Text/StringContainsTest.php deleted file mode 100644 index 203fd91..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Text/StringContainsTest.php +++ /dev/null @@ -1,86 +0,0 @@ -_stringContains = \Hamcrest\Text\StringContains::containsString(self::EXCERPT); - } - - protected function createMatcher() - { - return $this->_stringContains; - } - - public function testEvaluatesToTrueIfArgumentContainsSubstring() - { - $this->assertTrue( - $this->_stringContains->matches(self::EXCERPT . 'END'), - 'should be true if excerpt at beginning' - ); - $this->assertTrue( - $this->_stringContains->matches('START' . self::EXCERPT), - 'should be true if excerpt at end' - ); - $this->assertTrue( - $this->_stringContains->matches('START' . self::EXCERPT . 'END'), - 'should be true if excerpt in middle' - ); - $this->assertTrue( - $this->_stringContains->matches(self::EXCERPT . self::EXCERPT), - 'should be true if excerpt is repeated' - ); - - $this->assertFalse( - $this->_stringContains->matches('Something else'), - 'should not be true if excerpt is not in string' - ); - $this->assertFalse( - $this->_stringContains->matches(substr(self::EXCERPT, 1)), - 'should not be true if part of excerpt is in string' - ); - } - - public function testEvaluatesToTrueIfArgumentIsEqualToSubstring() - { - $this->assertTrue( - $this->_stringContains->matches(self::EXCERPT), - 'should be true if excerpt is entire string' - ); - } - - public function testEvaluatesToFalseIfArgumentContainsSubstringIgnoringCase() - { - $this->assertFalse( - $this->_stringContains->matches(strtolower(self::EXCERPT)), - 'should be false if excerpt is entire string ignoring case' - ); - $this->assertFalse( - $this->_stringContains->matches('START' . strtolower(self::EXCERPT) . 'END'), - 'should be false if excerpt is contained in string ignoring case' - ); - } - - public function testIgnoringCaseReturnsCorrectMatcher() - { - $this->assertTrue( - $this->_stringContains->ignoringCase()->matches('EXceRpT'), - 'should be true if excerpt is entire string ignoring case' - ); - } - - public function testHasAReadableDescription() - { - $this->assertDescription( - 'a string containing "' - . self::EXCERPT . '"', - $this->_stringContains - ); - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Text/StringEndsWithTest.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Text/StringEndsWithTest.php deleted file mode 100644 index fffa3c9..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Text/StringEndsWithTest.php +++ /dev/null @@ -1,62 +0,0 @@ -_stringEndsWith = \Hamcrest\Text\StringEndsWith::endsWith(self::EXCERPT); - } - - protected function createMatcher() - { - return $this->_stringEndsWith; - } - - public function testEvaluatesToTrueIfArgumentContainsSpecifiedSubstring() - { - $this->assertFalse( - $this->_stringEndsWith->matches(self::EXCERPT . 'END'), - 'should be false if excerpt at beginning' - ); - $this->assertTrue( - $this->_stringEndsWith->matches('START' . self::EXCERPT), - 'should be true if excerpt at end' - ); - $this->assertFalse( - $this->_stringEndsWith->matches('START' . self::EXCERPT . 'END'), - 'should be false if excerpt in middle' - ); - $this->assertTrue( - $this->_stringEndsWith->matches(self::EXCERPT . self::EXCERPT), - 'should be true if excerpt is at end and repeated' - ); - - $this->assertFalse( - $this->_stringEndsWith->matches('Something else'), - 'should be false if excerpt is not in string' - ); - $this->assertFalse( - $this->_stringEndsWith->matches(substr(self::EXCERPT, 0, strlen(self::EXCERPT) - 2)), - 'should be false if part of excerpt is at end of string' - ); - } - - public function testEvaluatesToTrueIfArgumentIsEqualToSubstring() - { - $this->assertTrue( - $this->_stringEndsWith->matches(self::EXCERPT), - 'should be true if excerpt is entire string' - ); - } - - public function testHasAReadableDescription() - { - $this->assertDescription('a string ending with "EXCERPT"', $this->_stringEndsWith); - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Text/StringStartsWithTest.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Text/StringStartsWithTest.php deleted file mode 100644 index fc3761b..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Text/StringStartsWithTest.php +++ /dev/null @@ -1,62 +0,0 @@ -_stringStartsWith = \Hamcrest\Text\StringStartsWith::startsWith(self::EXCERPT); - } - - protected function createMatcher() - { - return $this->_stringStartsWith; - } - - public function testEvaluatesToTrueIfArgumentContainsSpecifiedSubstring() - { - $this->assertTrue( - $this->_stringStartsWith->matches(self::EXCERPT . 'END'), - 'should be true if excerpt at beginning' - ); - $this->assertFalse( - $this->_stringStartsWith->matches('START' . self::EXCERPT), - 'should be false if excerpt at end' - ); - $this->assertFalse( - $this->_stringStartsWith->matches('START' . self::EXCERPT . 'END'), - 'should be false if excerpt in middle' - ); - $this->assertTrue( - $this->_stringStartsWith->matches(self::EXCERPT . self::EXCERPT), - 'should be true if excerpt is at beginning and repeated' - ); - - $this->assertFalse( - $this->_stringStartsWith->matches('Something else'), - 'should be false if excerpt is not in string' - ); - $this->assertFalse( - $this->_stringStartsWith->matches(substr(self::EXCERPT, 1)), - 'should be false if part of excerpt is at start of string' - ); - } - - public function testEvaluatesToTrueIfArgumentIsEqualToSubstring() - { - $this->assertTrue( - $this->_stringStartsWith->matches(self::EXCERPT), - 'should be true if excerpt is entire string' - ); - } - - public function testHasAReadableDescription() - { - $this->assertDescription('a string starting with "EXCERPT"', $this->_stringStartsWith); - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Type/IsArrayTest.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Type/IsArrayTest.php deleted file mode 100644 index d13c24d..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Type/IsArrayTest.php +++ /dev/null @@ -1,35 +0,0 @@ -assertDescription('an array', arrayValue()); - } - - public function testDecribesActualTypeInMismatchMessage() - { - $this->assertMismatchDescription('was null', arrayValue(), null); - $this->assertMismatchDescription('was a string "foo"', arrayValue(), 'foo'); - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Type/IsBooleanTest.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Type/IsBooleanTest.php deleted file mode 100644 index 24309fc..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Type/IsBooleanTest.php +++ /dev/null @@ -1,35 +0,0 @@ -assertDescription('a boolean', booleanValue()); - } - - public function testDecribesActualTypeInMismatchMessage() - { - $this->assertMismatchDescription('was null', booleanValue(), null); - $this->assertMismatchDescription('was a string "foo"', booleanValue(), 'foo'); - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Type/IsCallableTest.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Type/IsCallableTest.php deleted file mode 100644 index 5098e21..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Type/IsCallableTest.php +++ /dev/null @@ -1,103 +0,0 @@ -=')) { - $this->markTestSkipped('Closures require php 5.3'); - } - eval('assertThat(function () {}, callableValue());'); - } - - public function testEvaluatesToTrueIfArgumentImplementsInvoke() - { - if (!version_compare(PHP_VERSION, '5.3', '>=')) { - $this->markTestSkipped('Magic method __invoke() requires php 5.3'); - } - assertThat($this, callableValue()); - } - - public function testEvaluatesToFalseIfArgumentIsInvalidFunctionName() - { - if (function_exists('not_a_Hamcrest_function')) { - $this->markTestSkipped('Function "not_a_Hamcrest_function" must not exist'); - } - - assertThat('not_a_Hamcrest_function', not(callableValue())); - } - - public function testEvaluatesToFalseIfArgumentIsInvalidStaticMethodCallback() - { - assertThat( - array('Hamcrest\Type\IsCallableTest', 'noMethod'), - not(callableValue()) - ); - } - - public function testEvaluatesToFalseIfArgumentIsInvalidInstanceMethodCallback() - { - assertThat(array($this, 'noMethod'), not(callableValue())); - } - - public function testEvaluatesToFalseIfArgumentDoesntImplementInvoke() - { - assertThat(new \stdClass(), not(callableValue())); - } - - public function testEvaluatesToFalseIfArgumentDoesntMatchType() - { - assertThat(false, not(callableValue())); - assertThat(5.2, not(callableValue())); - } - - public function testHasAReadableDescription() - { - $this->assertDescription('a callable', callableValue()); - } - - public function testDecribesActualTypeInMismatchMessage() - { - $this->assertMismatchDescription( - 'was a string "invalid-function"', - callableValue(), - 'invalid-function' - ); - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Type/IsDoubleTest.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Type/IsDoubleTest.php deleted file mode 100644 index 85c2a96..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Type/IsDoubleTest.php +++ /dev/null @@ -1,35 +0,0 @@ -assertDescription('a double', doubleValue()); - } - - public function testDecribesActualTypeInMismatchMessage() - { - $this->assertMismatchDescription('was null', doubleValue(), null); - $this->assertMismatchDescription('was a string "foo"', doubleValue(), 'foo'); - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Type/IsIntegerTest.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Type/IsIntegerTest.php deleted file mode 100644 index ce5a51a..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Type/IsIntegerTest.php +++ /dev/null @@ -1,36 +0,0 @@ -assertDescription('an integer', integerValue()); - } - - public function testDecribesActualTypeInMismatchMessage() - { - $this->assertMismatchDescription('was null', integerValue(), null); - $this->assertMismatchDescription('was a string "foo"', integerValue(), 'foo'); - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Type/IsNumericTest.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Type/IsNumericTest.php deleted file mode 100644 index 1fd83ef..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Type/IsNumericTest.php +++ /dev/null @@ -1,53 +0,0 @@ -assertDescription('a number', numericValue()); - } - - public function testDecribesActualTypeInMismatchMessage() - { - $this->assertMismatchDescription('was null', numericValue(), null); - $this->assertMismatchDescription('was a string "foo"', numericValue(), 'foo'); - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Type/IsObjectTest.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Type/IsObjectTest.php deleted file mode 100644 index a3b617c..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Type/IsObjectTest.php +++ /dev/null @@ -1,34 +0,0 @@ -assertDescription('an object', objectValue()); - } - - public function testDecribesActualTypeInMismatchMessage() - { - $this->assertMismatchDescription('was null', objectValue(), null); - $this->assertMismatchDescription('was a string "foo"', objectValue(), 'foo'); - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Type/IsResourceTest.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Type/IsResourceTest.php deleted file mode 100644 index d6ea534..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Type/IsResourceTest.php +++ /dev/null @@ -1,34 +0,0 @@ -assertDescription('a resource', resourceValue()); - } - - public function testDecribesActualTypeInMismatchMessage() - { - $this->assertMismatchDescription('was null', resourceValue(), null); - $this->assertMismatchDescription('was a string "foo"', resourceValue(), 'foo'); - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Type/IsScalarTest.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Type/IsScalarTest.php deleted file mode 100644 index 72a188d..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Type/IsScalarTest.php +++ /dev/null @@ -1,39 +0,0 @@ -assertDescription('a scalar', scalarValue()); - } - - public function testDecribesActualTypeInMismatchMessage() - { - $this->assertMismatchDescription('was null', scalarValue(), null); - $this->assertMismatchDescription('was an array ["foo"]', scalarValue(), array('foo')); - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Type/IsStringTest.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Type/IsStringTest.php deleted file mode 100644 index 557d591..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Type/IsStringTest.php +++ /dev/null @@ -1,35 +0,0 @@ -assertDescription('a string', stringValue()); - } - - public function testDecribesActualTypeInMismatchMessage() - { - $this->assertMismatchDescription('was null', stringValue(), null); - $this->assertMismatchDescription('was a double <5.2F>', stringValue(), 5.2); - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/UtilTest.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/UtilTest.php deleted file mode 100644 index 0c2cd04..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/UtilTest.php +++ /dev/null @@ -1,80 +0,0 @@ -assertSame($matcher, $newMatcher); - } - - public function testWrapValueWithIsEqualWrapsPrimitive() - { - $matcher = \Hamcrest\Util::wrapValueWithIsEqual('foo'); - $this->assertInstanceOf('Hamcrest\Core\IsEqual', $matcher); - $this->assertTrue($matcher->matches('foo')); - } - - public function testCheckAllAreMatchersAcceptsMatchers() - { - \Hamcrest\Util::checkAllAreMatchers(array( - new \Hamcrest\Text\MatchesPattern('/fo+/'), - new \Hamcrest\Core\IsEqual('foo'), - )); - } - - /** - * @expectedException InvalidArgumentException - */ - public function testCheckAllAreMatchersFailsForPrimitive() - { - \Hamcrest\Util::checkAllAreMatchers(array( - new \Hamcrest\Text\MatchesPattern('/fo+/'), - 'foo', - )); - } - - private function callAndAssertCreateMatcherArray($items) - { - $matchers = \Hamcrest\Util::createMatcherArray($items); - $this->assertInternalType('array', $matchers); - $this->assertSameSize($items, $matchers); - foreach ($matchers as $matcher) { - $this->assertInstanceOf('\Hamcrest\Matcher', $matcher); - } - - return $matchers; - } - - public function testCreateMatcherArrayLeavesMatchersUntouched() - { - $matcher = new \Hamcrest\Text\MatchesPattern('/fo+/'); - $items = array($matcher); - $matchers = $this->callAndAssertCreateMatcherArray($items); - $this->assertSame($matcher, $matchers[0]); - } - - public function testCreateMatcherArrayWrapsPrimitiveWithIsEqualMatcher() - { - $matchers = $this->callAndAssertCreateMatcherArray(array('foo')); - $this->assertInstanceOf('Hamcrest\Core\IsEqual', $matchers[0]); - $this->assertTrue($matchers[0]->matches('foo')); - } - - public function testCreateMatcherArrayDoesntModifyOriginalArray() - { - $items = array('foo'); - $this->callAndAssertCreateMatcherArray($items); - $this->assertSame('foo', $items[0]); - } - - public function testCreateMatcherArrayUnwrapsSingleArrayElement() - { - $matchers = $this->callAndAssertCreateMatcherArray(array(array('foo'))); - $this->assertInstanceOf('Hamcrest\Core\IsEqual', $matchers[0]); - $this->assertTrue($matchers[0]->matches('foo')); - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Xml/HasXPathTest.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Xml/HasXPathTest.php deleted file mode 100644 index 6774887..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Xml/HasXPathTest.php +++ /dev/null @@ -1,198 +0,0 @@ - - - - alice - Alice Frankel - admin - - - bob - Bob Frankel - user - - - charlie - Charlie Chan - user - - -XML; - self::$doc = new \DOMDocument(); - self::$doc->loadXML(self::$xml); - - self::$html = << - - Home Page - - -

Heading

-

Some text

- - -HTML; - } - - protected function createMatcher() - { - return \Hamcrest\Xml\HasXPath::hasXPath('/users/user'); - } - - public function testMatchesWhenXPathIsFound() - { - assertThat('one match', self::$doc, hasXPath('user[id = "bob"]')); - assertThat('two matches', self::$doc, hasXPath('user[role = "user"]')); - } - - public function testDoesNotMatchWhenXPathIsNotFound() - { - assertThat( - 'no match', - self::$doc, - not(hasXPath('user[contains(id, "frank")]')) - ); - } - - public function testMatchesWhenExpressionWithoutMatcherEvaluatesToTrue() - { - assertThat( - 'one match', - self::$doc, - hasXPath('count(user[id = "bob"])') - ); - } - - public function testDoesNotMatchWhenExpressionWithoutMatcherEvaluatesToFalse() - { - assertThat( - 'no matches', - self::$doc, - not(hasXPath('count(user[id = "frank"])')) - ); - } - - public function testMatchesWhenExpressionIsEqual() - { - assertThat( - 'one match', - self::$doc, - hasXPath('count(user[id = "bob"])', 1) - ); - assertThat( - 'two matches', - self::$doc, - hasXPath('count(user[role = "user"])', 2) - ); - } - - public function testDoesNotMatchWhenExpressionIsNotEqual() - { - assertThat( - 'no match', - self::$doc, - not(hasXPath('count(user[id = "frank"])', 2)) - ); - assertThat( - 'one match', - self::$doc, - not(hasXPath('count(user[role = "admin"])', 2)) - ); - } - - public function testMatchesWhenContentMatches() - { - assertThat( - 'one match', - self::$doc, - hasXPath('user/name', containsString('ice')) - ); - assertThat( - 'two matches', - self::$doc, - hasXPath('user/role', equalTo('user')) - ); - } - - public function testDoesNotMatchWhenContentDoesNotMatch() - { - assertThat( - 'no match', - self::$doc, - not(hasXPath('user/name', containsString('Bobby'))) - ); - assertThat( - 'no matches', - self::$doc, - not(hasXPath('user/role', equalTo('owner'))) - ); - } - - public function testProvidesConvenientShortcutForHasXPathEqualTo() - { - assertThat('matches', self::$doc, hasXPath('count(user)', 3)); - assertThat('matches', self::$doc, hasXPath('user[2]/id', 'bob')); - } - - public function testProvidesConvenientShortcutForHasXPathCountEqualTo() - { - assertThat('matches', self::$doc, hasXPath('user[id = "charlie"]', 1)); - } - - public function testMatchesAcceptsXmlString() - { - assertThat('accepts XML string', self::$xml, hasXPath('user')); - } - - public function testMatchesAcceptsHtmlString() - { - assertThat('accepts HTML string', self::$html, hasXPath('body/h1', 'Heading')); - } - - public function testHasAReadableDescription() - { - $this->assertDescription( - 'XML or HTML document with XPath "/users/user"', - hasXPath('/users/user') - ); - $this->assertDescription( - 'XML or HTML document with XPath "count(/users/user)" <2>', - hasXPath('/users/user', 2) - ); - $this->assertDescription( - 'XML or HTML document with XPath "/users/user/name"' - . ' a string starting with "Alice"', - hasXPath('/users/user/name', startsWith('Alice')) - ); - } - - public function testHasAReadableMismatchDescription() - { - $this->assertMismatchDescription( - 'XPath returned no results', - hasXPath('/users/name'), - self::$doc - ); - $this->assertMismatchDescription( - 'XPath expression result was <3F>', - hasXPath('/users/user', 2), - self::$doc - ); - $this->assertMismatchDescription( - 'XPath returned ["alice", "bob", "charlie"]', - hasXPath('/users/user/id', 'Frank'), - self::$doc - ); - } -} diff --git a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/bootstrap.php b/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/bootstrap.php deleted file mode 100644 index bc4958d..0000000 --- a/paragonik-backend/vendor/hamcrest/hamcrest-php/tests/bootstrap.php +++ /dev/null @@ -1,11 +0,0 @@ - - - - . - - - - - - ../hamcrest - - - diff --git a/paragonik-backend/vendor/jakub-onderka/php-console-color/.gitignore b/paragonik-backend/vendor/jakub-onderka/php-console-color/.gitignore deleted file mode 100644 index 05ab16b..0000000 --- a/paragonik-backend/vendor/jakub-onderka/php-console-color/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -build -vendor -composer.lock diff --git a/paragonik-backend/vendor/jakub-onderka/php-console-color/.travis.yml b/paragonik-backend/vendor/jakub-onderka/php-console-color/.travis.yml deleted file mode 100644 index 49175a9..0000000 --- a/paragonik-backend/vendor/jakub-onderka/php-console-color/.travis.yml +++ /dev/null @@ -1,24 +0,0 @@ -language: php - -php: - - 5.4 - - 5.5 - - 5.6 - - 7.0 - - 7.1 - - 7.2 - -sudo: false - -cache: - directories: - - vendor - - $HOME/.composer/cache - -before_script: - - composer install --no-interaction --prefer-source - -script: - - ant phplint - - ant phpcs - - ant phpunit diff --git a/paragonik-backend/vendor/jakub-onderka/php-console-color/LICENSE b/paragonik-backend/vendor/jakub-onderka/php-console-color/LICENSE deleted file mode 100644 index 0954fc9..0000000 --- a/paragonik-backend/vendor/jakub-onderka/php-console-color/LICENSE +++ /dev/null @@ -1,27 +0,0 @@ -Copyright (c) 2014-2018, Jakub Onderka -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. diff --git a/paragonik-backend/vendor/jakub-onderka/php-console-color/README.md b/paragonik-backend/vendor/jakub-onderka/php-console-color/README.md deleted file mode 100644 index 39e55d9..0000000 --- a/paragonik-backend/vendor/jakub-onderka/php-console-color/README.md +++ /dev/null @@ -1,10 +0,0 @@ -PHP Console Color -================= - -[![Build Status](https://travis-ci.org/JakubOnderka/PHP-Console-Color.svg?branch=master)](https://travis-ci.org/JakubOnderka/PHP-Console-Color) - -Simple library for creating colored console ouput. - -See `example.php` how to use this library. - -![Example from Windows 10](https://user-images.githubusercontent.com/89590/40762008-687f909a-646c-11e8-88d6-e268a064be4c.png) \ No newline at end of file diff --git a/paragonik-backend/vendor/jakub-onderka/php-console-color/build.xml b/paragonik-backend/vendor/jakub-onderka/php-console-color/build.xml deleted file mode 100644 index bb4ba66..0000000 --- a/paragonik-backend/vendor/jakub-onderka/php-console-color/build.xml +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/paragonik-backend/vendor/jakub-onderka/php-console-color/composer.json b/paragonik-backend/vendor/jakub-onderka/php-console-color/composer.json deleted file mode 100644 index 6481cb5..0000000 --- a/paragonik-backend/vendor/jakub-onderka/php-console-color/composer.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "name": "jakub-onderka/php-console-color", - "license": "BSD-2-Clause", - "authors": [ - { - "name": "Jakub Onderka", - "email": "jakub.onderka@gmail.com" - } - ], - "autoload": { - "psr-4": {"JakubOnderka\\PhpConsoleColor\\": "src/"} - }, - "require": { - "php": ">=5.4.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.3", - "jakub-onderka/php-parallel-lint": "1.0", - "jakub-onderka/php-var-dump-check": "0.*", - "squizlabs/php_codesniffer": "1.*", - "jakub-onderka/php-code-style": "1.0" - } -} diff --git a/paragonik-backend/vendor/jakub-onderka/php-console-color/example.php b/paragonik-backend/vendor/jakub-onderka/php-console-color/example.php deleted file mode 100644 index 5e698a2..0000000 --- a/paragonik-backend/vendor/jakub-onderka/php-console-color/example.php +++ /dev/null @@ -1,38 +0,0 @@ -isSupported() ? 'Yes' : 'No') . "\n"; -echo "256 colors are supported: " . ($consoleColor->are256ColorsSupported() ? 'Yes' : 'No') . "\n\n"; - -if ($consoleColor->isSupported()) { - foreach ($consoleColor->getPossibleStyles() as $style) { - echo $consoleColor->apply($style, $style) . "\n"; - } -} - -echo "\n"; - -if ($consoleColor->are256ColorsSupported()) { - echo "Foreground colors:\n"; - for ($i = 1; $i <= 255; $i++) { - echo $consoleColor->apply("color_$i", str_pad($i, 6, ' ', STR_PAD_BOTH)); - - if ($i % 15 === 0) { - echo "\n"; - } - } - - echo "\nBackground colors:\n"; - - for ($i = 1; $i <= 255; $i++) { - echo $consoleColor->apply("bg_color_$i", str_pad($i, 6, ' ', STR_PAD_BOTH)); - - if ($i % 15 === 0) { - echo "\n"; - } - } - - echo "\n"; -} diff --git a/paragonik-backend/vendor/jakub-onderka/php-console-color/phpunit.xml b/paragonik-backend/vendor/jakub-onderka/php-console-color/phpunit.xml deleted file mode 100644 index f1105cc..0000000 --- a/paragonik-backend/vendor/jakub-onderka/php-console-color/phpunit.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - tests - - - - - - - vendor - - - diff --git a/paragonik-backend/vendor/jakub-onderka/php-console-color/src/ConsoleColor.php b/paragonik-backend/vendor/jakub-onderka/php-console-color/src/ConsoleColor.php deleted file mode 100644 index 90fd125..0000000 --- a/paragonik-backend/vendor/jakub-onderka/php-console-color/src/ConsoleColor.php +++ /dev/null @@ -1,287 +0,0 @@ - null, - 'bold' => '1', - 'dark' => '2', - 'italic' => '3', - 'underline' => '4', - 'blink' => '5', - 'reverse' => '7', - 'concealed' => '8', - - 'default' => '39', - 'black' => '30', - 'red' => '31', - 'green' => '32', - 'yellow' => '33', - 'blue' => '34', - 'magenta' => '35', - 'cyan' => '36', - 'light_gray' => '37', - - 'dark_gray' => '90', - 'light_red' => '91', - 'light_green' => '92', - 'light_yellow' => '93', - 'light_blue' => '94', - 'light_magenta' => '95', - 'light_cyan' => '96', - 'white' => '97', - - 'bg_default' => '49', - 'bg_black' => '40', - 'bg_red' => '41', - 'bg_green' => '42', - 'bg_yellow' => '43', - 'bg_blue' => '44', - 'bg_magenta' => '45', - 'bg_cyan' => '46', - 'bg_light_gray' => '47', - - 'bg_dark_gray' => '100', - 'bg_light_red' => '101', - 'bg_light_green' => '102', - 'bg_light_yellow' => '103', - 'bg_light_blue' => '104', - 'bg_light_magenta' => '105', - 'bg_light_cyan' => '106', - 'bg_white' => '107', - ); - - /** @var array */ - private $themes = array(); - - public function __construct() - { - $this->isSupported = $this->isSupported(); - } - - /** - * @param string|array $style - * @param string $text - * @return string - * @throws InvalidStyleException - * @throws \InvalidArgumentException - */ - public function apply($style, $text) - { - if (!$this->isStyleForced() && !$this->isSupported()) { - return $text; - } - - if (is_string($style)) { - $style = array($style); - } - if (!is_array($style)) { - throw new \InvalidArgumentException("Style must be string or array."); - } - - $sequences = array(); - - foreach ($style as $s) { - if (isset($this->themes[$s])) { - $sequences = array_merge($sequences, $this->themeSequence($s)); - } else if ($this->isValidStyle($s)) { - $sequences[] = $this->styleSequence($s); - } else { - throw new InvalidStyleException($s); - } - } - - $sequences = array_filter($sequences, function ($val) { - return $val !== null; - }); - - if (empty($sequences)) { - return $text; - } - - return $this->escSequence(implode(';', $sequences)) . $text . $this->escSequence(self::RESET_STYLE); - } - - /** - * @param bool $forceStyle - */ - public function setForceStyle($forceStyle) - { - $this->forceStyle = (bool) $forceStyle; - } - - /** - * @return bool - */ - public function isStyleForced() - { - return $this->forceStyle; - } - - /** - * @param array $themes - * @throws InvalidStyleException - * @throws \InvalidArgumentException - */ - public function setThemes(array $themes) - { - $this->themes = array(); - foreach ($themes as $name => $styles) { - $this->addTheme($name, $styles); - } - } - - /** - * @param string $name - * @param array|string $styles - * @throws \InvalidArgumentException - * @throws InvalidStyleException - */ - public function addTheme($name, $styles) - { - if (is_string($styles)) { - $styles = array($styles); - } - if (!is_array($styles)) { - throw new \InvalidArgumentException("Style must be string or array."); - } - - foreach ($styles as $style) { - if (!$this->isValidStyle($style)) { - throw new InvalidStyleException($style); - } - } - - $this->themes[$name] = $styles; - } - - /** - * @return array - */ - public function getThemes() - { - return $this->themes; - } - - /** - * @param string $name - * @return bool - */ - public function hasTheme($name) - { - return isset($this->themes[$name]); - } - - /** - * @param string $name - */ - public function removeTheme($name) - { - unset($this->themes[$name]); - } - - /** - * @return bool - */ - public function isSupported() - { - if (DIRECTORY_SEPARATOR === '\\') { - if (function_exists('sapi_windows_vt100_support') && @sapi_windows_vt100_support(STDOUT)) { - return true; - } elseif (getenv('ANSICON') !== false || getenv('ConEmuANSI') === 'ON') { - return true; - } - return false; - } else { - return function_exists('posix_isatty') && @posix_isatty(STDOUT); - } - } - - /** - * @return bool - */ - public function are256ColorsSupported() - { - if (DIRECTORY_SEPARATOR === '\\') { - return function_exists('sapi_windows_vt100_support') && @sapi_windows_vt100_support(STDOUT); - } else { - return strpos(getenv('TERM'), '256color') !== false; - } - } - - /** - * @return array - */ - public function getPossibleStyles() - { - return array_keys($this->styles); - } - - /** - * @param string $name - * @return string[] - */ - private function themeSequence($name) - { - $sequences = array(); - foreach ($this->themes[$name] as $style) { - $sequences[] = $this->styleSequence($style); - } - return $sequences; - } - - /** - * @param string $style - * @return string - */ - private function styleSequence($style) - { - if (array_key_exists($style, $this->styles)) { - return $this->styles[$style]; - } - - if (!$this->are256ColorsSupported()) { - return null; - } - - preg_match(self::COLOR256_REGEXP, $style, $matches); - - $type = $matches[1] === 'bg_' ? self::BACKGROUND : self::FOREGROUND; - $value = $matches[2]; - - return "$type;5;$value"; - } - - /** - * @param string $style - * @return bool - */ - private function isValidStyle($style) - { - return array_key_exists($style, $this->styles) || preg_match(self::COLOR256_REGEXP, $style); - } - - /** - * @param string|int $value - * @return string - */ - private function escSequence($value) - { - return "\033[{$value}m"; - } -} diff --git a/paragonik-backend/vendor/jakub-onderka/php-console-color/src/InvalidStyleException.php b/paragonik-backend/vendor/jakub-onderka/php-console-color/src/InvalidStyleException.php deleted file mode 100644 index 6f1586f..0000000 --- a/paragonik-backend/vendor/jakub-onderka/php-console-color/src/InvalidStyleException.php +++ /dev/null @@ -1,10 +0,0 @@ -isSupportedForce = $isSupported; - } - - public function isSupported() - { - return $this->isSupportedForce; - } - - public function setAre256ColorsSupported($are256ColorsSupported) - { - $this->are256ColorsSupportedForce = $are256ColorsSupported; - } - - public function are256ColorsSupported() - { - return $this->are256ColorsSupportedForce; - } -} - -class ConsoleColorTest extends \PHPUnit_Framework_TestCase -{ - /** @var ConsoleColorWithForceSupport */ - private $uut; - - protected function setUp() - { - $this->uut = new ConsoleColorWithForceSupport(); - } - - public function testNone() - { - $output = $this->uut->apply('none', 'text'); - $this->assertEquals("text", $output); - } - - public function testBold() - { - $output = $this->uut->apply('bold', 'text'); - $this->assertEquals("\033[1mtext\033[0m", $output); - } - - public function testBoldColorsAreNotSupported() - { - $this->uut->setIsSupported(false); - - $output = $this->uut->apply('bold', 'text'); - $this->assertEquals("text", $output); - } - - public function testBoldColorsAreNotSupportedButAreForced() - { - $this->uut->setIsSupported(false); - $this->uut->setForceStyle(true); - - $output = $this->uut->apply('bold', 'text'); - $this->assertEquals("\033[1mtext\033[0m", $output); - } - - public function testDark() - { - $output = $this->uut->apply('dark', 'text'); - $this->assertEquals("\033[2mtext\033[0m", $output); - } - - public function testBoldAndDark() - { - $output = $this->uut->apply(array('bold', 'dark'), 'text'); - $this->assertEquals("\033[1;2mtext\033[0m", $output); - } - - public function test256ColorForeground() - { - $output = $this->uut->apply('color_255', 'text'); - $this->assertEquals("\033[38;5;255mtext\033[0m", $output); - } - - public function test256ColorWithoutSupport() - { - $this->uut->setAre256ColorsSupported(false); - - $output = $this->uut->apply('color_255', 'text'); - $this->assertEquals("text", $output); - } - - public function test256ColorBackground() - { - $output = $this->uut->apply('bg_color_255', 'text'); - $this->assertEquals("\033[48;5;255mtext\033[0m", $output); - } - - public function test256ColorForegroundAndBackground() - { - $output = $this->uut->apply(array('color_200', 'bg_color_255'), 'text'); - $this->assertEquals("\033[38;5;200;48;5;255mtext\033[0m", $output); - } - - public function testSetOwnTheme() - { - $this->uut->setThemes(array('bold_dark' => array('bold', 'dark'))); - $output = $this->uut->apply(array('bold_dark'), 'text'); - $this->assertEquals("\033[1;2mtext\033[0m", $output); - } - - public function testAddOwnTheme() - { - $this->uut->addTheme('bold_own', 'bold'); - $output = $this->uut->apply(array('bold_own'), 'text'); - $this->assertEquals("\033[1mtext\033[0m", $output); - } - - public function testAddOwnThemeArray() - { - $this->uut->addTheme('bold_dark', array('bold', 'dark')); - $output = $this->uut->apply(array('bold_dark'), 'text'); - $this->assertEquals("\033[1;2mtext\033[0m", $output); - } - - public function testOwnWithStyle() - { - $this->uut->addTheme('bold_dark', array('bold', 'dark')); - $output = $this->uut->apply(array('bold_dark', 'italic'), 'text'); - $this->assertEquals("\033[1;2;3mtext\033[0m", $output); - } - - public function testHasAndRemoveTheme() - { - $this->assertFalse($this->uut->hasTheme('bold_dark')); - - $this->uut->addTheme('bold_dark', array('bold', 'dark')); - $this->assertTrue($this->uut->hasTheme('bold_dark')); - - $this->uut->removeTheme('bold_dark'); - $this->assertFalse($this->uut->hasTheme('bold_dark')); - } - - public function testApplyInvalidArgument() - { - $this->setExpectedException('\InvalidArgumentException'); - $this->uut->apply(new stdClass(), 'text'); - } - - public function testApplyInvalidStyleName() - { - $this->setExpectedException('\JakubOnderka\PhpConsoleColor\InvalidStyleException'); - $this->uut->apply('invalid', 'text'); - } - - public function testApplyInvalid256Color() - { - $this->setExpectedException('\JakubOnderka\PhpConsoleColor\InvalidStyleException'); - $this->uut->apply('color_2134', 'text'); - } - - public function testThemeInvalidStyle() - { - $this->setExpectedException('\JakubOnderka\PhpConsoleColor\InvalidStyleException'); - $this->uut->addTheme('invalid', array('invalid')); - } - - public function testForceStyle() - { - $this->assertFalse($this->uut->isStyleForced()); - $this->uut->setForceStyle(true); - $this->assertTrue($this->uut->isStyleForced()); - } - - public function testGetPossibleStyles() - { - $this->assertInternalType('array', $this->uut->getPossibleStyles()); - $this->assertNotEmpty($this->uut->getPossibleStyles()); - } -} - diff --git a/paragonik-backend/vendor/jakub-onderka/php-console-highlighter/.gitignore b/paragonik-backend/vendor/jakub-onderka/php-console-highlighter/.gitignore deleted file mode 100644 index 70f6ec0..0000000 --- a/paragonik-backend/vendor/jakub-onderka/php-console-highlighter/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -/.idea/ -/build/ -/vendor/ -/composer.lock \ No newline at end of file diff --git a/paragonik-backend/vendor/jakub-onderka/php-console-highlighter/.travis.yml b/paragonik-backend/vendor/jakub-onderka/php-console-highlighter/.travis.yml deleted file mode 100644 index c88c4ec..0000000 --- a/paragonik-backend/vendor/jakub-onderka/php-console-highlighter/.travis.yml +++ /dev/null @@ -1,22 +0,0 @@ -language: php - -php: - - 5.4 - - 5.5 - - 5.6 - - 7.0 - - 7.1 - - 7.2 - -sudo: false - -cache: - directories: - - vendor - - $HOME/.composer/cache - -before_script: - - composer install --no-interaction --prefer-source - -script: - - ant diff --git a/paragonik-backend/vendor/jakub-onderka/php-console-highlighter/LICENSE b/paragonik-backend/vendor/jakub-onderka/php-console-highlighter/LICENSE deleted file mode 100644 index 1a8317f..0000000 --- a/paragonik-backend/vendor/jakub-onderka/php-console-highlighter/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2013 Jakub Onderka - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. \ No newline at end of file diff --git a/paragonik-backend/vendor/jakub-onderka/php-console-highlighter/README.md b/paragonik-backend/vendor/jakub-onderka/php-console-highlighter/README.md deleted file mode 100644 index 1ef3d13..0000000 --- a/paragonik-backend/vendor/jakub-onderka/php-console-highlighter/README.md +++ /dev/null @@ -1,42 +0,0 @@ -PHP Console Highlighter -======================= - -Highlight PHP code in console (terminal). - -Example -------- -![Example](http://jakubonderka.github.io/php-console-highlight-example.png) - -Install -------- - -Just create a `composer.json` file and run the `php composer.phar install` command to install it: - -```json -{ - "require": { - "jakub-onderka/php-console-highlighter": "0.*" - } -} -``` - -Usage -------- -```php -getWholeFile($fileContent); -``` - ------- - -[![Downloads this Month](https://img.shields.io/packagist/dm/jakub-onderka/php-console-highlighter.svg)](https://packagist.org/packages/jakub-onderka/php-console-highlighter) -[![Build Status](https://travis-ci.org/JakubOnderka/PHP-Console-Highlighter.svg?branch=master)](https://travis-ci.org/JakubOnderka/PHP-Console-Highlighter) -[![License](https://poser.pugx.org/jakub-onderka/php-console-highlighter/license.svg)](https://packagist.org/packages/jakub-onderka/php-console-highlighter) diff --git a/paragonik-backend/vendor/jakub-onderka/php-console-highlighter/build.xml b/paragonik-backend/vendor/jakub-onderka/php-console-highlighter/build.xml deleted file mode 100644 index d656ea9..0000000 --- a/paragonik-backend/vendor/jakub-onderka/php-console-highlighter/build.xml +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/paragonik-backend/vendor/jakub-onderka/php-console-highlighter/composer.json b/paragonik-backend/vendor/jakub-onderka/php-console-highlighter/composer.json deleted file mode 100644 index 21c29f7..0000000 --- a/paragonik-backend/vendor/jakub-onderka/php-console-highlighter/composer.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "name": "jakub-onderka/php-console-highlighter", - "description": "Highlight PHP code in terminal", - "type": "library", - "license": "MIT", - "authors": [ - { - "name": "Jakub Onderka", - "email": "acci@acci.cz", - "homepage": "http://www.acci.cz/" - } - ], - "autoload": { - "psr-4": {"JakubOnderka\\PhpConsoleHighlighter\\": "src/"} - }, - "require": { - "php": ">=5.4.0", - "ext-tokenizer": "*", - "jakub-onderka/php-console-color": "~0.2" - }, - "require-dev": { - "phpunit/phpunit": "~4.0", - "jakub-onderka/php-parallel-lint": "~1.0", - "jakub-onderka/php-var-dump-check": "~0.1", - "squizlabs/php_codesniffer": "~1.5", - "jakub-onderka/php-code-style": "~1.0" - } -} diff --git a/paragonik-backend/vendor/jakub-onderka/php-console-highlighter/examples/snippet.php b/paragonik-backend/vendor/jakub-onderka/php-console-highlighter/examples/snippet.php deleted file mode 100644 index 1bf6ac3..0000000 --- a/paragonik-backend/vendor/jakub-onderka/php-console-highlighter/examples/snippet.php +++ /dev/null @@ -1,10 +0,0 @@ -getCodeSnippet($fileContent, 3); \ No newline at end of file diff --git a/paragonik-backend/vendor/jakub-onderka/php-console-highlighter/examples/whole_file.php b/paragonik-backend/vendor/jakub-onderka/php-console-highlighter/examples/whole_file.php deleted file mode 100644 index 2a023d8..0000000 --- a/paragonik-backend/vendor/jakub-onderka/php-console-highlighter/examples/whole_file.php +++ /dev/null @@ -1,10 +0,0 @@ -getWholeFile($fileContent); \ No newline at end of file diff --git a/paragonik-backend/vendor/jakub-onderka/php-console-highlighter/examples/whole_file_line_numbers.php b/paragonik-backend/vendor/jakub-onderka/php-console-highlighter/examples/whole_file_line_numbers.php deleted file mode 100644 index f9178f2..0000000 --- a/paragonik-backend/vendor/jakub-onderka/php-console-highlighter/examples/whole_file_line_numbers.php +++ /dev/null @@ -1,10 +0,0 @@ -getWholeFileWithLineNumbers($fileContent); \ No newline at end of file diff --git a/paragonik-backend/vendor/jakub-onderka/php-console-highlighter/phpunit.xml b/paragonik-backend/vendor/jakub-onderka/php-console-highlighter/phpunit.xml deleted file mode 100644 index 9c653a6..0000000 --- a/paragonik-backend/vendor/jakub-onderka/php-console-highlighter/phpunit.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - tests - - - - - - - vendor - - - diff --git a/paragonik-backend/vendor/jakub-onderka/php-console-highlighter/src/Highlighter.php b/paragonik-backend/vendor/jakub-onderka/php-console-highlighter/src/Highlighter.php deleted file mode 100644 index 47ce30d..0000000 --- a/paragonik-backend/vendor/jakub-onderka/php-console-highlighter/src/Highlighter.php +++ /dev/null @@ -1,263 +0,0 @@ - 'red', - self::TOKEN_COMMENT => 'yellow', - self::TOKEN_KEYWORD => 'green', - self::TOKEN_DEFAULT => 'default', - self::TOKEN_HTML => 'cyan', - - self::ACTUAL_LINE_MARK => 'red', - self::LINE_NUMBER => 'dark_gray', - ); - - /** - * @param ConsoleColor $color - * @throws \JakubOnderka\PhpConsoleColor\InvalidStyleException - */ - public function __construct(ConsoleColor $color) - { - $this->color = $color; - - foreach ($this->defaultTheme as $name => $styles) { - if (!$this->color->hasTheme($name)) { - $this->color->addTheme($name, $styles); - } - } - } - - /** - * @param string $source - * @param int $lineNumber - * @param int $linesBefore - * @param int $linesAfter - * @return string - * @throws \JakubOnderka\PhpConsoleColor\InvalidStyleException - * @throws \InvalidArgumentException - */ - public function getCodeSnippet($source, $lineNumber, $linesBefore = 2, $linesAfter = 2) - { - $tokenLines = $this->getHighlightedLines($source); - - $offset = $lineNumber - $linesBefore - 1; - $offset = max($offset, 0); - $length = $linesAfter + $linesBefore + 1; - $tokenLines = array_slice($tokenLines, $offset, $length, $preserveKeys = true); - - $lines = $this->colorLines($tokenLines); - - return $this->lineNumbers($lines, $lineNumber); - } - - /** - * @param string $source - * @return string - * @throws \JakubOnderka\PhpConsoleColor\InvalidStyleException - * @throws \InvalidArgumentException - */ - public function getWholeFile($source) - { - $tokenLines = $this->getHighlightedLines($source); - $lines = $this->colorLines($tokenLines); - return implode(PHP_EOL, $lines); - } - - /** - * @param string $source - * @return string - * @throws \JakubOnderka\PhpConsoleColor\InvalidStyleException - * @throws \InvalidArgumentException - */ - public function getWholeFileWithLineNumbers($source) - { - $tokenLines = $this->getHighlightedLines($source); - $lines = $this->colorLines($tokenLines); - return $this->lineNumbers($lines); - } - - /** - * @param string $source - * @return array - */ - private function getHighlightedLines($source) - { - $source = str_replace(array("\r\n", "\r"), "\n", $source); - $tokens = $this->tokenize($source); - return $this->splitToLines($tokens); - } - - /** - * @param string $source - * @return array - */ - private function tokenize($source) - { - $tokens = token_get_all($source); - - $output = array(); - $currentType = null; - $buffer = ''; - - foreach ($tokens as $token) { - if (is_array($token)) { - switch ($token[0]) { - case T_WHITESPACE: - break; - - case T_OPEN_TAG: - case T_OPEN_TAG_WITH_ECHO: - case T_CLOSE_TAG: - case T_STRING: - case T_VARIABLE: - - // Constants - case T_DIR: - case T_FILE: - case T_METHOD_C: - case T_DNUMBER: - case T_LNUMBER: - case T_NS_C: - case T_LINE: - case T_CLASS_C: - case T_FUNC_C: - case T_TRAIT_C: - $newType = self::TOKEN_DEFAULT; - break; - - case T_COMMENT: - case T_DOC_COMMENT: - $newType = self::TOKEN_COMMENT; - break; - - case T_ENCAPSED_AND_WHITESPACE: - case T_CONSTANT_ENCAPSED_STRING: - $newType = self::TOKEN_STRING; - break; - - case T_INLINE_HTML: - $newType = self::TOKEN_HTML; - break; - - default: - $newType = self::TOKEN_KEYWORD; - } - } else { - $newType = $token === '"' ? self::TOKEN_STRING : self::TOKEN_KEYWORD; - } - - if ($currentType === null) { - $currentType = $newType; - } - - if ($currentType !== $newType) { - $output[] = array($currentType, $buffer); - $buffer = ''; - $currentType = $newType; - } - - $buffer .= is_array($token) ? $token[1] : $token; - } - - if (isset($newType)) { - $output[] = array($newType, $buffer); - } - - return $output; - } - - /** - * @param array $tokens - * @return array - */ - private function splitToLines(array $tokens) - { - $lines = array(); - - $line = array(); - foreach ($tokens as $token) { - foreach (explode("\n", $token[1]) as $count => $tokenLine) { - if ($count > 0) { - $lines[] = $line; - $line = array(); - } - - if ($tokenLine === '') { - continue; - } - - $line[] = array($token[0], $tokenLine); - } - } - - $lines[] = $line; - - return $lines; - } - - /** - * @param array $tokenLines - * @return array - * @throws \JakubOnderka\PhpConsoleColor\InvalidStyleException - * @throws \InvalidArgumentException - */ - private function colorLines(array $tokenLines) - { - $lines = array(); - foreach ($tokenLines as $lineCount => $tokenLine) { - $line = ''; - foreach ($tokenLine as $token) { - list($tokenType, $tokenValue) = $token; - if ($this->color->hasTheme($tokenType)) { - $line .= $this->color->apply($tokenType, $tokenValue); - } else { - $line .= $tokenValue; - } - } - $lines[$lineCount] = $line; - } - - return $lines; - } - - /** - * @param array $lines - * @param null|int $markLine - * @return string - * @throws \JakubOnderka\PhpConsoleColor\InvalidStyleException - */ - private function lineNumbers(array $lines, $markLine = null) - { - end($lines); - $lineStrlen = strlen(key($lines) + 1); - - $snippet = ''; - foreach ($lines as $i => $line) { - if ($markLine !== null) { - $snippet .= ($markLine === $i + 1 ? $this->color->apply(self::ACTUAL_LINE_MARK, ' > ') : ' '); - } - - $snippet .= $this->color->apply(self::LINE_NUMBER, str_pad($i + 1, $lineStrlen, ' ', STR_PAD_LEFT) . '| '); - $snippet .= $line . PHP_EOL; - } - - return $snippet; - } -} \ No newline at end of file diff --git a/paragonik-backend/vendor/jakub-onderka/php-console-highlighter/tests/HigligterTest.php b/paragonik-backend/vendor/jakub-onderka/php-console-highlighter/tests/HigligterTest.php deleted file mode 100644 index 187beb6..0000000 --- a/paragonik-backend/vendor/jakub-onderka/php-console-highlighter/tests/HigligterTest.php +++ /dev/null @@ -1,274 +0,0 @@ -createMock('\JakubOnderka\PhpConsoleColor\ConsoleColor') - : $this->getMock('\JakubOnderka\PhpConsoleColor\ConsoleColor'); - - $mock->expects($this->any()) - ->method('apply') - ->will($this->returnCallback(function ($style, $text) { - return "<$style>$text"; - })); - - $mock->expects($this->any()) - ->method('hasTheme') - ->will($this->returnValue(true)); - - return $mock; - } - - protected function setUp() - { - $this->uut = new Highlighter($this->getConsoleColorMock()); - } - - protected function compare($original, $expected) - { - $output = $this->uut->getWholeFile($original); - $this->assertEquals($expected, $output); - } - - public function testVariable() - { - $this->compare( - << -echo \$a; -EOL - ); - } - - public function testInteger() - { - $this->compare( - << -echo 43; -EOL - ); - } - - public function testFloat() - { - $this->compare( - << -echo 43.3; -EOL - ); - } - - public function testHex() - { - $this->compare( - << -echo 0x43; -EOL - ); - } - - public function testBasicFunction() - { - $this->compare( - << -function plus(\$a, \$b) { - return \$a + \$b; -} -EOL - ); - } - - public function testStringNormal() - { - $this->compare( - << -echo 'Ahoj světe'; -EOL - ); - } - - public function testStringDouble() - { - $this->compare( - << -echo "Ahoj světe"; -EOL - ); - } - - public function testInstanceof() - { - $this->compare( - << -\$a instanceof stdClass; -EOL - ); - } - - /* - * Constants - */ - public function testConstant() - { - $constants = array( - '__FILE__', - '__LINE__', - '__CLASS__', - '__FUNCTION__', - '__METHOD__', - '__TRAIT__', - '__DIR__', - '__NAMESPACE__' - ); - - foreach ($constants as $constant) { - $this->compare( - << -$constant; -EOL - ); - } - } - - /* - * Comments - */ - public function testComment() - { - $this->compare( - << -/* Ahoj */ -EOL - ); - } - - public function testDocComment() - { - $this->compare( - << -/** Ahoj */ -EOL - ); - } - - public function testInlineComment() - { - $this->compare( - << -// Ahoj -EOL - ); - } - - public function testHashComment() - { - $this->compare( - << -# Ahoj -EOL - ); - } - - public function testEmpty() - { - $this->compare( - '' - , - '' - ); - } - - public function testWhitespace() - { - $this->compare( - ' ' - , - ' ' - ); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/LICENSE.md b/paragonik-backend/vendor/laravel/framework/LICENSE.md deleted file mode 100644 index 79810c8..0000000 --- a/paragonik-backend/vendor/laravel/framework/LICENSE.md +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) Taylor Otwell - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/paragonik-backend/vendor/laravel/framework/README.md b/paragonik-backend/vendor/laravel/framework/README.md deleted file mode 100644 index 581be17..0000000 --- a/paragonik-backend/vendor/laravel/framework/README.md +++ /dev/null @@ -1,45 +0,0 @@ -

- -

-Build Status -Total Downloads -Latest Stable Version -License -

- -## About Laravel - -> **Note:** This repository contains the core code of the Laravel framework. If you want to build an application using Laravel 5, visit the main [Laravel repository](https://github.com/laravel/laravel). - -Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable, creative experience to be truly fulfilling. Laravel attempts to take the pain out of development by easing common tasks used in the majority of web projects, such as: - -- [Simple, fast routing engine](https://laravel.com/docs/routing). -- [Powerful dependency injection container](https://laravel.com/docs/container). -- Multiple back-ends for [session](https://laravel.com/docs/session) and [cache](https://laravel.com/docs/cache) storage. -- Database agnostic [schema migrations](https://laravel.com/docs/migrations). -- [Robust background job processing](https://laravel.com/docs/queues). -- [Real-time event broadcasting](https://laravel.com/docs/broadcasting). - -Laravel is accessible, yet powerful, providing tools needed for large, robust applications. A superb combination of simplicity, elegance, and innovation gives you a complete toolset required to build any application with which you are tasked. - -## Learning Laravel - -Laravel has the most extensive and thorough documentation and video tutorial library of any modern web application framework. The [Laravel documentation](https://laravel.com/docs) is in-depth and complete, making it a breeze to get started learning the framework. - -If you're not in the mood to read, [Laracasts](https://laracasts.com) contains over 1100 video tutorials covering a range of topics including Laravel, modern PHP, unit testing, JavaScript, and more. Boost the skill level of yourself and your entire team by digging into our comprehensive video library. - -## Contributing - -Thank you for considering contributing to the Laravel framework! The contribution guide can be found in the [Laravel documentation](https://laravel.com/docs/contributions). - -## Code of Conduct - -In order to ensure that the Laravel community is welcoming to all, please review and abide by the [Code of Conduct](CODE_OF_CONDUCT.md). - -## Security Vulnerabilities - -Please review [our security policy](https://github.com/laravel/framework/security/policy) on how to report security vulnerabilities. - -## License - -The Laravel framework is open-sourced software licensed under the [MIT license](https://opensource.org/licenses/MIT). diff --git a/paragonik-backend/vendor/laravel/framework/SECURITY.md b/paragonik-backend/vendor/laravel/framework/SECURITY.md deleted file mode 100644 index 8325b1e..0000000 --- a/paragonik-backend/vendor/laravel/framework/SECURITY.md +++ /dev/null @@ -1,102 +0,0 @@ -# Security Policy - -**PLEASE DON'T DISCLOSE SECURITY-RELATED ISSUES PUBLICLY, [SEE BELOW](#reporting-a-vulnerability).** - -## Supported Versions - -Version | Security Fixes Until ---- | --- -5.8 | February 26th, 2020 -5.7 | September 4th, 2019 -5.6 | February 7th, 2019 -5.5 (LTS) | August 30th, 2020 -5.4 | January 24th, 2018 -5.3 | August 23rd, 2017 -5.2 | December 21st, 2016 -5.1 (LTS) | June 9th, 2018 -5.0 | February 4th, 2016 - -## Reporting a Vulnerability - -If you discover a security vulnerability within Laravel, please send an email to Taylor Otwell at taylor@laravel.com. All security vulnerabilities will be promptly addressed. - -### Public PGP Key - -``` ------BEGIN PGP PUBLIC KEY BLOCK----- -Version: OpenPGP v2.0.8 -Comment: https://sela.io/pgp/ - -xsFNBFugFSQBEACxEKhIY9IoJzcouVTIYKJfWFGvwFgbRjQWBiH3QdHId5vCrbWo -s2l+4Rv03gMG+yHLJ3rWElnNdRaNdQv59+lShrZF7Bvu7Zvc0mMNmFOM/mQ/K2Lt -OK/8bh6iwNNbEuyOhNQlarEy/w8hF8Yf55hBeu/rajGtcyURJDloQ/vNzcx4RWGK -G3CLr8ka7zPYIjIFUvHLt27mcYFF9F4/G7b4HKpn75ICKC4vPoQSaYNAHlHQBLFb -Jg/WPl93SySHLugU5F58sICs+fBZadXYQG5dWmbaF5OWB1K2XgRs45BQaBzf/8oS -qq0scN8wVhAdBeYlVFf0ImDOxGlZ2suLK1BKJboR6zCIkBAwufKss4NV1R9KSUMv -YGn3mq13PGme0QoIkvQkua5VjTwWfQx7wFDxZ3VQSsjIlbVyRL/Ac/hq71eAmiIR -t6ZMNMPFpuSwBfYimrXqqb4EOffrfsTzRenG1Cxm4jNZRzX/6P4an7F/euoqXeXZ -h37TiC7df+eHKcBI4mL+qOW4ibBqg8WwWPJ+jvuhANyQpRVzf3NNEOwJYCNbQPM/ -PbqYvMruAH+gg7uyu9u0jX3o/yLSxJMV7kF4x/SCDuBKIxSSUI4cgbjIlnxWLXZC -wl7KW4xAKkerO3wgIPnxNfxQoiYiEKA1c3PShWRA0wHIMt3rVRJxwGM4CwARAQAB -zRJ0YXlsb3JAbGFyYXZlbC5jb23CwXAEEwEKABoFAlugFSQCGy8DCwkHAxUKCAIe -AQIXgAIZAQAKCRDKAI7r/Ml7Zo0SD/9zwu9K87rbqXbvZ3TVu7TnN+z7mPvVBzl+ -SFEK360TYq8a4GosghZuGm4aNEyZ90CeUjPQwc5fHwa26tIwqgLRppsG21B/mZwu -0m8c5RaBFRFX/mCTEjlpvBkOwMJZ8f05nNdaktq6W98DbMN03neUwnpWlNSLeoNI -u4KYZmJopNFLEax5WGaaDpmqD1J+WDr/aPHx39MUAg2ZVuC3Gj/IjYZbD1nCh0xD -a09uDODje8a9uG33cKRBcKKPRLZjWEt5SWReLx0vsTuqJSWhCybHRBl9BQTc/JJR -gJu5V4X3f1IYMTNRm9GggxcXrlOAiDCjE2J8ZTUt0cSxedQFnNyGfKxe/l94oTFP -wwFHbdKhsSDZ1OyxPNIY5OHlMfMvvJaNbOw0xPPAEutPwr1aqX9sbgPeeiJwAdyw -mPw2x/wNQvKJITRv6atw56TtLxSevQIZGPHCYTSlsIoi9jqh9/6vfq2ruMDYItCq -+8uzei6TyH6w+fUpp/uFmcwZdrDwgNVqW+Ptu+pD2WmthqESF8UEQVoOv7OPgA5E -ofOMaeH2ND74r2UgcXjPxZuUp1RkhHE2jJeiuLtbvOgrWwv3KOaatyEbVl+zHA1e -1RHdJRJRPK+S7YThxxduqfOBX7E03arbbhHdS1HKhPwMc2e0hNnQDoNxQcv0GQp4 -2Y6UyCRaus7ATQRboBUkAQgA0h5j3EO2HNvp8YuT1t/VF00uUwbQaz2LIoZogqgC -14Eb77diuIPM9MnuG7bEOnNtPVMFXxI5UYBIlzhLMxf7pfbrsoR4lq7Ld+7KMzdm -eREqJRgUNfjZhtRZ9Z+jiFPr8AGpYxwmJk4v387uQGh1GC9JCc3CCLJoI62I9t/1 -K2b25KiOzW/FVZ/vYFj1WbISRd5GqS8SEFh4ifU79LUlJ/nEsFv4JxAXN9RqjU0e -H4S/m1Nb24UCtYAv1JKymcf5O0G7kOzvI0w06uKxk0hNwspjDcOebD8Vv9IdYtGl -0bn7PpBlVO1Az3s8s6Xoyyw+9Us+VLNtVka3fcrdaV/n0wARAQABwsKEBBgBCgAP -BQJboBUkBQkPCZwAAhsuASkJEMoAjuv8yXtmwF0gBBkBCgAGBQJboBUkAAoJEA1I -8aTLtYHmjpIH/A1ZKwTGetHFokJxsd2omvbqv+VtpAjnUbvZEi5g3yZXn+dHJV+K -UR/DNlfGxLWEcY6datJ3ziNzzD5u8zcPp2CqeTlCxOky8F74FjEL9tN/EqUbvvmR -td2LXsSFjHnLJRK5lYfZ3rnjKA5AjqC9MttILBovY2rI7lyVt67kbS3hMHi8AZl8 -EgihnHRJxGZjEUxyTxcB13nhfjAvxQq58LOj5754Rpe9ePSKbT8DNMjHbGpLrESz -cmyn0VzDMLfxg8AA9uQFMwdlKqve7yRZXzeqvy08AatUpJaL7DsS4LKOItwvBub6 -tHbCE3mqrUw5lSNyUahO3vOcMAHnF7fd4W++eA//WIQKnPX5t3CwCedKn8Qkb3Ow -oj8xUNl2T6kEtQJnO85lKBFXaMOUykopu6uB9EEXEr0ShdunOKX/UdDbkv46F2AB -7TtltDSLB6s/QeHExSb8Jo3qra86JkDUutWdJxV7DYFUttBga8I0GqdPu4yRRoc/ -0irVXsdDY9q7jz6l7fw8mSeJR96C0Puhk70t4M1Vg/tu/ONRarXQW7fJ8kl21PcD -UKNWWa242gji/+GLRI8AIpGMsBiX7pHhqmMMth3u7+ne5BZGGJz0uX+CzWboOHyq -kWgfY4a62t3hM0vwnUkl/D7VgSGy4LiKQrapd3LvU2uuEfFsMu3CDicZBRXPqoXj -PBjkkPKhwUTNlwEQrGF3QsZhNe0M9ptM2fC34qtxZtMIMB2NLvE4S621rmQ05oQv -sT0B9WgUL3GYRKdx700+ojHEuwZ79bcLgo1dezvkfPtu/++2CXtieFthDlWHy8x5 -XJJjI1pDfGO+BgX0rS3QrQEYlF/uPQynKwxe6cGI62eZ0ug0hNrPvKEcfMLVqBQv -w4VH6iGp9yNKMUOgAECLCs4YCxK+Eka9Prq/Gh4wuqjWiX8m66z8YvKf27sFL3fR -OwGaz3LsnRSxbk/8oSiZuOVLfn44XRcxsHebteZat23lwD93oq54rtKnlJgmZHJY -4vMgk1jpS4laGnvhZj7OwE0EW6AVJAEIAKJSrUvXRyK3XQnLp3Kfj82uj0St8Dt2 -h8BMeVbrAbg38wCN8XQZzVR9+bRZRR+aCzpKSqwhEQVtH7gdKgfdNdGNhG2DFAVk -SihMhQz190FKttUZgwY00enzD7uaaA5VwNAZzRIr8skwiASB7UoO+lIhrAYgcQCA -LpwCSMrUNB3gY1IVa2xi9FljEbS2uMABfOsTfl7z4L4T4DRv/ovDf+ihyZOXsXiH -RVoUTIpN8ZILCZiiKubE1sMj4fSQwCs06UyDy17HbOG5/dO9awR/LHW53O3nZCxE -JbCqr5iHa2MdHMC12+luxWJKD9DbVB01LiiPZCTkuKUDswCyi7otpVEAEQEAAcLC -hAQYAQoADwUCW6AVJAUJDwmcAAIbLgEpCRDKAI7r/Ml7ZsBdIAQZAQoABgUCW6AV -JAAKCRDxrCjKN7eORjt2B/9EnKVJ9lwB1JwXcQp6bZgJ21r6ghyXBssv24N9UF+v -5QDz/tuSkTsKK1UoBrBDEinF/xTP2z+xXIeyP4c3mthMHsYdMl7AaGpcCwVJiL62 -fZvd+AiYNX3C+Bepwnwoziyhx4uPaqoezSEMD8G2WQftt6Gqttmm0Di5RVysCECF -EyhkHwvCcbpXb5Qq+4XFzCUyaIZuGpe+oeO7U8B1CzOC16hEUu0Uhbk09Xt6dSbS -ZERoxFjrGU+6bk424MkZkKvNS8FdTN2s3kQuHoNmhbMY+fRzKX5JNrcQ4dQQufiB -zFcc2Ba0JVU0nYAMftTeT5ALakhwSqr3AcdD2avJZp3EYfYP/3smPGTeg1cDJV3E -WIlCtSlhbwviUjvWEWJUE+n9MjhoUNU0TJtHIliUYUajKMG/At5wJZTXJaKVUx32 -UCWr4ioKfSzlbp1ngBuFlvU7LgZRcKbBZWvKj/KRYpxpfvPyPElmegCjAk6oiZYV -LOV+jFfnMkk9PnR91ZZfTNx/bK+BwjOnO+g7oE8V2g2bA90vHdeSUHR52SnaVN/b -9ytt07R0f+YtyKojuPmlNsbyAaUYUtJ1o+XNCwdVxzarYEuUabhAfDiVTu9n8wTr -YVvnriSFOjNvOY9wdLAa56n7/qM8bzuGpoBS5SilXgJvITvQfWPvg7I9C3QhwK1S -F6B1uquQGbBSze2wlnMbKXmhyGLlv9XpOqpkkejQo3o58B+Sqj4B8DuYixSjoknr -pRbj8gqgqBKlcpf1wD5X9qCrl9vq19asVOHaKhiFZGxZIVbBpBOdvAKaMj4p/uln -yklN3YFIfgmGPYbL0elvXVn7XfvwSV1mCQV5LtMbLHsFf0VsA16UsG8A/tLWtwgt -0antzftRHXb+DI4qr+qEYKFkv9F3oCOXyH4QBhPA42EzKqhMXByEkEK9bu6skioL -mHhDQ7yHjTWcxstqQjkUQ0T/IF9ls+Sm5u7rVXEifpyI7MCb+76kSCDawesvInKt -WBGOG/qJGDlNiqBYYt2xNqzHCJoC -=zXOv ------END PGP PUBLIC KEY BLOCK----- -``` diff --git a/paragonik-backend/vendor/laravel/framework/composer.json b/paragonik-backend/vendor/laravel/framework/composer.json deleted file mode 100644 index 292998b..0000000 --- a/paragonik-backend/vendor/laravel/framework/composer.json +++ /dev/null @@ -1,145 +0,0 @@ -{ - "name": "laravel/framework", - "description": "The Laravel Framework.", - "keywords": ["framework", "laravel"], - "license": "MIT", - "homepage": "https://laravel.com", - "support": { - "issues": "https://github.com/laravel/framework/issues", - "source": "https://github.com/laravel/framework" - }, - "authors": [ - { - "name": "Taylor Otwell", - "email": "taylor@laravel.com" - } - ], - "require": { - "php": "^7.1.3", - "ext-json": "*", - "ext-mbstring": "*", - "ext-openssl": "*", - "doctrine/inflector": "^1.1", - "dragonmantank/cron-expression": "^2.0", - "egulias/email-validator": "^2.0", - "erusev/parsedown": "^1.7", - "league/flysystem": "^1.0.8", - "monolog/monolog": "^1.12", - "nesbot/carbon": "^1.26.3 || ^2.0", - "opis/closure": "^3.1", - "psr/container": "^1.0", - "psr/simple-cache": "^1.0", - "ramsey/uuid": "^3.7", - "swiftmailer/swiftmailer": "^6.0", - "symfony/console": "^4.2", - "symfony/debug": "^4.2", - "symfony/finder": "^4.2", - "symfony/http-foundation": "^4.2", - "symfony/http-kernel": "^4.2", - "symfony/process": "^4.2", - "symfony/routing": "^4.2", - "symfony/var-dumper": "^4.2", - "tijsverkoyen/css-to-inline-styles": "^2.2.1", - "vlucas/phpdotenv": "^3.3" - }, - "replace": { - "illuminate/auth": "self.version", - "illuminate/broadcasting": "self.version", - "illuminate/bus": "self.version", - "illuminate/cache": "self.version", - "illuminate/config": "self.version", - "illuminate/console": "self.version", - "illuminate/container": "self.version", - "illuminate/contracts": "self.version", - "illuminate/cookie": "self.version", - "illuminate/database": "self.version", - "illuminate/encryption": "self.version", - "illuminate/events": "self.version", - "illuminate/filesystem": "self.version", - "illuminate/hashing": "self.version", - "illuminate/http": "self.version", - "illuminate/log": "self.version", - "illuminate/mail": "self.version", - "illuminate/notifications": "self.version", - "illuminate/pagination": "self.version", - "illuminate/pipeline": "self.version", - "illuminate/queue": "self.version", - "illuminate/redis": "self.version", - "illuminate/routing": "self.version", - "illuminate/session": "self.version", - "illuminate/support": "self.version", - "illuminate/translation": "self.version", - "illuminate/validation": "self.version", - "illuminate/view": "self.version" - }, - "conflict": { - "tightenco/collect": "<5.5.33" - }, - "require-dev": { - "aws/aws-sdk-php": "^3.0", - "doctrine/dbal": "^2.6", - "filp/whoops": "^2.1.4", - "guzzlehttp/guzzle": "^6.3", - "league/flysystem-cached-adapter": "^1.0", - "mockery/mockery": "^1.0", - "moontoast/math": "^1.1", - "orchestra/testbench-core": "3.8.*", - "pda/pheanstalk": "^4.0", - "phpunit/phpunit": "^7.5|^8.0", - "predis/predis": "^1.1.1", - "symfony/css-selector": "^4.2", - "symfony/dom-crawler": "^4.2", - "true/punycode": "^2.1" - }, - "autoload": { - "files": [ - "src/Illuminate/Foundation/helpers.php", - "src/Illuminate/Support/helpers.php" - ], - "psr-4": { - "Illuminate\\": "src/Illuminate/" - } - }, - "autoload-dev": { - "files": [ - "tests/Database/stubs/MigrationCreatorFakeMigration.php" - ], - "psr-4": { - "Illuminate\\Tests\\": "tests/" - } - }, - "extra": { - "branch-alias": { - "dev-master": "5.8-dev" - } - }, - "suggest": { - "ext-gd": "Required to use Illuminate\\Http\\Testing\\FileFactory::image().", - "ext-pcntl": "Required to use all features of the queue worker.", - "ext-posix": "Required to use all features of the queue worker.", - "aws/aws-sdk-php": "Required to use the SQS queue driver and SES mail driver (^3.0).", - "doctrine/dbal": "Required to rename columns and drop SQLite columns (^2.6).", - "filp/whoops": "Required for friendly error pages in development (^2.1.4).", - "fzaninotto/faker": "Required to use the eloquent factory builder (^1.4).", - "guzzlehttp/guzzle": "Required to use the Mailgun and Mandrill mail drivers and the ping methods on schedules (^6.0).", - "laravel/tinker": "Required to use the tinker console command (^1.0).", - "league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (^1.0).", - "league/flysystem-cached-adapter": "Required to use the Flysystem cache (^1.0).", - "league/flysystem-rackspace": "Required to use the Flysystem Rackspace driver (^1.0).", - "league/flysystem-sftp": "Required to use the Flysystem SFTP driver (^1.0).", - "moontoast/math": "Required to use ordered UUIDs (^1.1).", - "nexmo/client": "Required to use the Nexmo transport (^1.0).", - "pda/pheanstalk": "Required to use the beanstalk queue driver (^4.0).", - "predis/predis": "Required to use the redis cache and queue drivers (^1.0).", - "pusher/pusher-php-server": "Required to use the Pusher broadcast driver (^3.0).", - "symfony/css-selector": "Required to use some of the crawler integration testing tools (^4.2).", - "symfony/dom-crawler": "Required to use most of the crawler integration testing tools (^4.2).", - "symfony/psr-http-message-bridge": "Required to use PSR-7 bridging features (^1.1).", - "wildbit/swiftmailer-postmark": "Required to use Postmark mail driver (^3.0)." - }, - "config": { - "sort-packages": true - }, - "minimum-stability": "dev", - "prefer-stable": true -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Access/AuthorizationException.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Access/AuthorizationException.php deleted file mode 100644 index dc0753e..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Access/AuthorizationException.php +++ /dev/null @@ -1,10 +0,0 @@ -policies = $policies; - $this->container = $container; - $this->abilities = $abilities; - $this->userResolver = $userResolver; - $this->afterCallbacks = $afterCallbacks; - $this->beforeCallbacks = $beforeCallbacks; - $this->guessPolicyNamesUsingCallback = $guessPolicyNamesUsingCallback; - } - - /** - * Determine if a given ability has been defined. - * - * @param string|array $ability - * @return bool - */ - public function has($ability) - { - $abilities = is_array($ability) ? $ability : func_get_args(); - - foreach ($abilities as $ability) { - if (! isset($this->abilities[$ability])) { - return false; - } - } - - return true; - } - - /** - * Define a new ability. - * - * @param string $ability - * @param callable|string $callback - * @return $this - * - * @throws \InvalidArgumentException - */ - public function define($ability, $callback) - { - if (is_callable($callback)) { - $this->abilities[$ability] = $callback; - } elseif (is_string($callback)) { - $this->stringCallbacks[$ability] = $callback; - - $this->abilities[$ability] = $this->buildAbilityCallback($ability, $callback); - } else { - throw new InvalidArgumentException("Callback must be a callable or a 'Class@method' string."); - } - - return $this; - } - - /** - * Define abilities for a resource. - * - * @param string $name - * @param string $class - * @param array|null $abilities - * @return $this - */ - public function resource($name, $class, array $abilities = null) - { - $abilities = $abilities ?: [ - 'viewAny' => 'viewAny', - 'view' => 'view', - 'create' => 'create', - 'update' => 'update', - 'delete' => 'delete', - ]; - - foreach ($abilities as $ability => $method) { - $this->define($name.'.'.$ability, $class.'@'.$method); - } - - return $this; - } - - /** - * Create the ability callback for a callback string. - * - * @param string $ability - * @param string $callback - * @return \Closure - */ - protected function buildAbilityCallback($ability, $callback) - { - return function () use ($ability, $callback) { - if (Str::contains($callback, '@')) { - [$class, $method] = Str::parseCallback($callback); - } else { - $class = $callback; - } - - $policy = $this->resolvePolicy($class); - - $arguments = func_get_args(); - - $user = array_shift($arguments); - - $result = $this->callPolicyBefore( - $policy, $user, $ability, $arguments - ); - - if (! is_null($result)) { - return $result; - } - - return isset($method) - ? $policy->{$method}(...func_get_args()) - : $policy(...func_get_args()); - }; - } - - /** - * Define a policy class for a given class type. - * - * @param string $class - * @param string $policy - * @return $this - */ - public function policy($class, $policy) - { - $this->policies[$class] = $policy; - - return $this; - } - - /** - * Register a callback to run before all Gate checks. - * - * @param callable $callback - * @return $this - */ - public function before(callable $callback) - { - $this->beforeCallbacks[] = $callback; - - return $this; - } - - /** - * Register a callback to run after all Gate checks. - * - * @param callable $callback - * @return $this - */ - public function after(callable $callback) - { - $this->afterCallbacks[] = $callback; - - return $this; - } - - /** - * Determine if the given ability should be granted for the current user. - * - * @param string $ability - * @param array|mixed $arguments - * @return bool - */ - public function allows($ability, $arguments = []) - { - return $this->check($ability, $arguments); - } - - /** - * Determine if the given ability should be denied for the current user. - * - * @param string $ability - * @param array|mixed $arguments - * @return bool - */ - public function denies($ability, $arguments = []) - { - return ! $this->allows($ability, $arguments); - } - - /** - * Determine if all of the given abilities should be granted for the current user. - * - * @param iterable|string $abilities - * @param array|mixed $arguments - * @return bool - */ - public function check($abilities, $arguments = []) - { - return collect($abilities)->every(function ($ability) use ($arguments) { - try { - return (bool) $this->raw($ability, $arguments); - } catch (AuthorizationException $e) { - return false; - } - }); - } - - /** - * Determine if any one of the given abilities should be granted for the current user. - * - * @param iterable|string $abilities - * @param array|mixed $arguments - * @return bool - */ - public function any($abilities, $arguments = []) - { - return collect($abilities)->contains(function ($ability) use ($arguments) { - return $this->check($ability, $arguments); - }); - } - - /** - * Determine if all of the given abilities should be denied for the current user. - * - * @param iterable|string $abilities - * @param array|mixed $arguments - * @return bool - */ - public function none($abilities, $arguments = []) - { - return ! $this->any($abilities, $arguments); - } - - /** - * Determine if the given ability should be granted for the current user. - * - * @param string $ability - * @param array|mixed $arguments - * @return \Illuminate\Auth\Access\Response - * - * @throws \Illuminate\Auth\Access\AuthorizationException - */ - public function authorize($ability, $arguments = []) - { - $result = $this->raw($ability, $arguments); - - if ($result instanceof Response) { - return $result; - } - - return $result ? $this->allow() : $this->deny(); - } - - /** - * Get the raw result from the authorization callback. - * - * @param string $ability - * @param array|mixed $arguments - * @return mixed - */ - public function raw($ability, $arguments = []) - { - $arguments = Arr::wrap($arguments); - - $user = $this->resolveUser(); - - // First we will call the "before" callbacks for the Gate. If any of these give - // back a non-null response, we will immediately return that result in order - // to let the developers override all checks for some authorization cases. - $result = $this->callBeforeCallbacks( - $user, $ability, $arguments - ); - - if (is_null($result)) { - $result = $this->callAuthCallback($user, $ability, $arguments); - } - - // After calling the authorization callback, we will call the "after" callbacks - // that are registered with the Gate, which allows a developer to do logging - // if that is required for this application. Then we'll return the result. - return $this->callAfterCallbacks( - $user, $ability, $arguments, $result - ); - } - - /** - * Determine whether the callback/method can be called with the given user. - * - * @param \Illuminate\Contracts\Auth\Authenticatable|null $user - * @param \Closure|string|array $class - * @param string|null $method - * @return bool - */ - protected function canBeCalledWithUser($user, $class, $method = null) - { - if (! is_null($user)) { - return true; - } - - if (! is_null($method)) { - return $this->methodAllowsGuests($class, $method); - } - - if (is_array($class)) { - $className = is_string($class[0]) ? $class[0] : get_class($class[0]); - - return $this->methodAllowsGuests($className, $class[1]); - } - - return $this->callbackAllowsGuests($class); - } - - /** - * Determine if the given class method allows guests. - * - * @param string $class - * @param string $method - * @return bool - */ - protected function methodAllowsGuests($class, $method) - { - try { - $reflection = new ReflectionClass($class); - - $method = $reflection->getMethod($method); - } catch (Exception $e) { - return false; - } - - if ($method) { - $parameters = $method->getParameters(); - - return isset($parameters[0]) && $this->parameterAllowsGuests($parameters[0]); - } - - return false; - } - - /** - * Determine if the callback allows guests. - * - * @param callable $callback - * @return bool - * - * @throws \ReflectionException - */ - protected function callbackAllowsGuests($callback) - { - $parameters = (new ReflectionFunction($callback))->getParameters(); - - return isset($parameters[0]) && $this->parameterAllowsGuests($parameters[0]); - } - - /** - * Determine if the given parameter allows guests. - * - * @param \ReflectionParameter $parameter - * @return bool - */ - protected function parameterAllowsGuests($parameter) - { - return ($parameter->getClass() && $parameter->allowsNull()) || - ($parameter->isDefaultValueAvailable() && is_null($parameter->getDefaultValue())); - } - - /** - * Resolve and call the appropriate authorization callback. - * - * @param \Illuminate\Contracts\Auth\Authenticatable|null $user - * @param string $ability - * @param array $arguments - * @return bool - */ - protected function callAuthCallback($user, $ability, array $arguments) - { - $callback = $this->resolveAuthCallback($user, $ability, $arguments); - - return $callback($user, ...$arguments); - } - - /** - * Call all of the before callbacks and return if a result is given. - * - * @param \Illuminate\Contracts\Auth\Authenticatable|null $user - * @param string $ability - * @param array $arguments - * @return bool|null - */ - protected function callBeforeCallbacks($user, $ability, array $arguments) - { - foreach ($this->beforeCallbacks as $before) { - if (! $this->canBeCalledWithUser($user, $before)) { - continue; - } - - if (! is_null($result = $before($user, $ability, $arguments))) { - return $result; - } - } - } - - /** - * Call all of the after callbacks with check result. - * - * @param \Illuminate\Contracts\Auth\Authenticatable $user - * @param string $ability - * @param array $arguments - * @param bool $result - * @return bool|null - */ - protected function callAfterCallbacks($user, $ability, array $arguments, $result) - { - foreach ($this->afterCallbacks as $after) { - if (! $this->canBeCalledWithUser($user, $after)) { - continue; - } - - $afterResult = $after($user, $ability, $result, $arguments); - - $result = $result ?? $afterResult; - } - - return $result; - } - - /** - * Resolve the callable for the given ability and arguments. - * - * @param \Illuminate\Contracts\Auth\Authenticatable|null $user - * @param string $ability - * @param array $arguments - * @return callable - */ - protected function resolveAuthCallback($user, $ability, array $arguments) - { - if (isset($arguments[0]) && - ! is_null($policy = $this->getPolicyFor($arguments[0])) && - $callback = $this->resolvePolicyCallback($user, $ability, $arguments, $policy)) { - return $callback; - } - - if (isset($this->stringCallbacks[$ability])) { - [$class, $method] = Str::parseCallback($this->stringCallbacks[$ability]); - - if ($this->canBeCalledWithUser($user, $class, $method ?: '__invoke')) { - return $this->abilities[$ability]; - } - } - - if (isset($this->abilities[$ability]) && - $this->canBeCalledWithUser($user, $this->abilities[$ability])) { - return $this->abilities[$ability]; - } - - return function () { - }; - } - - /** - * Get a policy instance for a given class. - * - * @param object|string $class - * @return mixed - */ - public function getPolicyFor($class) - { - if (is_object($class)) { - $class = get_class($class); - } - - if (! is_string($class)) { - return; - } - - if (isset($this->policies[$class])) { - return $this->resolvePolicy($this->policies[$class]); - } - - foreach ($this->guessPolicyName($class) as $guessedPolicy) { - if (class_exists($guessedPolicy)) { - return $this->resolvePolicy($guessedPolicy); - } - } - - foreach ($this->policies as $expected => $policy) { - if (is_subclass_of($class, $expected)) { - return $this->resolvePolicy($policy); - } - } - } - - /** - * Guess the policy name for the given class. - * - * @param string $class - * @return array - */ - protected function guessPolicyName($class) - { - if ($this->guessPolicyNamesUsingCallback) { - return Arr::wrap(call_user_func($this->guessPolicyNamesUsingCallback, $class)); - } - - $classDirname = str_replace('/', '\\', dirname(str_replace('\\', '/', $class))); - - return [$classDirname.'\\Policies\\'.class_basename($class).'Policy']; - } - - /** - * Specify a callback to be used to guess policy names. - * - * @param callable $callback - * @return $this - */ - public function guessPolicyNamesUsing(callable $callback) - { - $this->guessPolicyNamesUsingCallback = $callback; - - return $this; - } - - /** - * Build a policy class instance of the given type. - * - * @param object|string $class - * @return mixed - * - * @throws \Illuminate\Contracts\Container\BindingResolutionException - */ - public function resolvePolicy($class) - { - return $this->container->make($class); - } - - /** - * Resolve the callback for a policy check. - * - * @param \Illuminate\Contracts\Auth\Authenticatable $user - * @param string $ability - * @param array $arguments - * @param mixed $policy - * @return bool|callable - */ - protected function resolvePolicyCallback($user, $ability, array $arguments, $policy) - { - if (! is_callable([$policy, $this->formatAbilityToMethod($ability)])) { - return false; - } - - return function () use ($user, $ability, $arguments, $policy) { - // This callback will be responsible for calling the policy's before method and - // running this policy method if necessary. This is used to when objects are - // mapped to policy objects in the user's configurations or on this class. - $result = $this->callPolicyBefore( - $policy, $user, $ability, $arguments - ); - - // When we receive a non-null result from this before method, we will return it - // as the "final" results. This will allow developers to override the checks - // in this policy to return the result for all rules defined in the class. - if (! is_null($result)) { - return $result; - } - - $method = $this->formatAbilityToMethod($ability); - - return $this->callPolicyMethod($policy, $method, $user, $arguments); - }; - } - - /** - * Call the "before" method on the given policy, if applicable. - * - * @param mixed $policy - * @param \Illuminate\Contracts\Auth\Authenticatable $user - * @param string $ability - * @param array $arguments - * @return mixed - */ - protected function callPolicyBefore($policy, $user, $ability, $arguments) - { - if (! method_exists($policy, 'before')) { - return; - } - - if ($this->canBeCalledWithUser($user, $policy, 'before')) { - return $policy->before($user, $ability, ...$arguments); - } - } - - /** - * Call the appropriate method on the given policy. - * - * @param mixed $policy - * @param string $method - * @param \Illuminate\Contracts\Auth\Authenticatable|null $user - * @param array $arguments - * @return mixed - */ - protected function callPolicyMethod($policy, $method, $user, array $arguments) - { - // If this first argument is a string, that means they are passing a class name - // to the policy. We will remove the first argument from this argument array - // because this policy already knows what type of models it can authorize. - if (isset($arguments[0]) && is_string($arguments[0])) { - array_shift($arguments); - } - - if (! is_callable([$policy, $method])) { - return; - } - - if ($this->canBeCalledWithUser($user, $policy, $method)) { - return $policy->{$method}($user, ...$arguments); - } - } - - /** - * Format the policy ability into a method name. - * - * @param string $ability - * @return string - */ - protected function formatAbilityToMethod($ability) - { - return strpos($ability, '-') !== false ? Str::camel($ability) : $ability; - } - - /** - * Get a gate instance for the given user. - * - * @param \Illuminate\Contracts\Auth\Authenticatable|mixed $user - * @return static - */ - public function forUser($user) - { - $callback = function () use ($user) { - return $user; - }; - - return new static( - $this->container, $callback, $this->abilities, - $this->policies, $this->beforeCallbacks, $this->afterCallbacks, - $this->guessPolicyNamesUsingCallback - ); - } - - /** - * Resolve the user from the user resolver. - * - * @return mixed - */ - protected function resolveUser() - { - return call_user_func($this->userResolver); - } - - /** - * Get all of the defined abilities. - * - * @return array - */ - public function abilities() - { - return $this->abilities; - } - - /** - * Get all of the defined policies. - * - * @return array - */ - public function policies() - { - return $this->policies; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Access/HandlesAuthorization.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Access/HandlesAuthorization.php deleted file mode 100644 index 1a597bb..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Access/HandlesAuthorization.php +++ /dev/null @@ -1,30 +0,0 @@ -message = $message; - } - - /** - * Get the response message. - * - * @return string|null - */ - public function message() - { - return $this->message; - } - - /** - * Get the string representation of the message. - * - * @return string - */ - public function __toString() - { - return (string) $this->message(); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/AuthManager.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/AuthManager.php deleted file mode 100644 index 5cd29f1..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/AuthManager.php +++ /dev/null @@ -1,299 +0,0 @@ -app = $app; - - $this->userResolver = function ($guard = null) { - return $this->guard($guard)->user(); - }; - } - - /** - * Attempt to get the guard from the local cache. - * - * @param string|null $name - * @return \Illuminate\Contracts\Auth\Guard|\Illuminate\Contracts\Auth\StatefulGuard - */ - public function guard($name = null) - { - $name = $name ?: $this->getDefaultDriver(); - - return $this->guards[$name] ?? $this->guards[$name] = $this->resolve($name); - } - - /** - * Resolve the given guard. - * - * @param string $name - * @return \Illuminate\Contracts\Auth\Guard|\Illuminate\Contracts\Auth\StatefulGuard - * - * @throws \InvalidArgumentException - */ - protected function resolve($name) - { - $config = $this->getConfig($name); - - if (is_null($config)) { - throw new InvalidArgumentException("Auth guard [{$name}] is not defined."); - } - - if (isset($this->customCreators[$config['driver']])) { - return $this->callCustomCreator($name, $config); - } - - $driverMethod = 'create'.ucfirst($config['driver']).'Driver'; - - if (method_exists($this, $driverMethod)) { - return $this->{$driverMethod}($name, $config); - } - - throw new InvalidArgumentException( - "Auth driver [{$config['driver']}] for guard [{$name}] is not defined." - ); - } - - /** - * Call a custom driver creator. - * - * @param string $name - * @param array $config - * @return mixed - */ - protected function callCustomCreator($name, array $config) - { - return $this->customCreators[$config['driver']]($this->app, $name, $config); - } - - /** - * Create a session based authentication guard. - * - * @param string $name - * @param array $config - * @return \Illuminate\Auth\SessionGuard - */ - public function createSessionDriver($name, $config) - { - $provider = $this->createUserProvider($config['provider'] ?? null); - - $guard = new SessionGuard($name, $provider, $this->app['session.store']); - - // When using the remember me functionality of the authentication services we - // will need to be set the encryption instance of the guard, which allows - // secure, encrypted cookie values to get generated for those cookies. - if (method_exists($guard, 'setCookieJar')) { - $guard->setCookieJar($this->app['cookie']); - } - - if (method_exists($guard, 'setDispatcher')) { - $guard->setDispatcher($this->app['events']); - } - - if (method_exists($guard, 'setRequest')) { - $guard->setRequest($this->app->refresh('request', $guard, 'setRequest')); - } - - return $guard; - } - - /** - * Create a token based authentication guard. - * - * @param string $name - * @param array $config - * @return \Illuminate\Auth\TokenGuard - */ - public function createTokenDriver($name, $config) - { - // The token guard implements a basic API token based guard implementation - // that takes an API token field from the request and matches it to the - // user in the database or another persistence layer where users are. - $guard = new TokenGuard( - $this->createUserProvider($config['provider'] ?? null), - $this->app['request'], - $config['input_key'] ?? 'api_token', - $config['storage_key'] ?? 'api_token', - $config['hash'] ?? false - ); - - $this->app->refresh('request', $guard, 'setRequest'); - - return $guard; - } - - /** - * Get the guard configuration. - * - * @param string $name - * @return array - */ - protected function getConfig($name) - { - return $this->app['config']["auth.guards.{$name}"]; - } - - /** - * Get the default authentication driver name. - * - * @return string - */ - public function getDefaultDriver() - { - return $this->app['config']['auth.defaults.guard']; - } - - /** - * Set the default guard driver the factory should serve. - * - * @param string $name - * @return void - */ - public function shouldUse($name) - { - $name = $name ?: $this->getDefaultDriver(); - - $this->setDefaultDriver($name); - - $this->userResolver = function ($name = null) { - return $this->guard($name)->user(); - }; - } - - /** - * Set the default authentication driver name. - * - * @param string $name - * @return void - */ - public function setDefaultDriver($name) - { - $this->app['config']['auth.defaults.guard'] = $name; - } - - /** - * Register a new callback based request guard. - * - * @param string $driver - * @param callable $callback - * @return $this - */ - public function viaRequest($driver, callable $callback) - { - return $this->extend($driver, function () use ($callback) { - $guard = new RequestGuard($callback, $this->app['request'], $this->createUserProvider()); - - $this->app->refresh('request', $guard, 'setRequest'); - - return $guard; - }); - } - - /** - * Get the user resolver callback. - * - * @return \Closure - */ - public function userResolver() - { - return $this->userResolver; - } - - /** - * Set the callback to be used to resolve users. - * - * @param \Closure $userResolver - * @return $this - */ - public function resolveUsersUsing(Closure $userResolver) - { - $this->userResolver = $userResolver; - - return $this; - } - - /** - * Register a custom driver creator Closure. - * - * @param string $driver - * @param \Closure $callback - * @return $this - */ - public function extend($driver, Closure $callback) - { - $this->customCreators[$driver] = $callback; - - return $this; - } - - /** - * Register a custom provider creator Closure. - * - * @param string $name - * @param \Closure $callback - * @return $this - */ - public function provider($name, Closure $callback) - { - $this->customProviderCreators[$name] = $callback; - - return $this; - } - - /** - * Dynamically call the default driver instance. - * - * @param string $method - * @param array $parameters - * @return mixed - */ - public function __call($method, $parameters) - { - return $this->guard()->{$method}(...$parameters); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/AuthServiceProvider.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/AuthServiceProvider.php deleted file mode 100644 index dfc554b..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/AuthServiceProvider.php +++ /dev/null @@ -1,106 +0,0 @@ -registerAuthenticator(); - $this->registerUserResolver(); - $this->registerAccessGate(); - $this->registerRequestRebindHandler(); - $this->registerEventRebindHandler(); - } - - /** - * Register the authenticator services. - * - * @return void - */ - protected function registerAuthenticator() - { - $this->app->singleton('auth', function ($app) { - // Once the authentication service has actually been requested by the developer - // we will set a variable in the application indicating such. This helps us - // know that we need to set any queued cookies in the after event later. - $app['auth.loaded'] = true; - - return new AuthManager($app); - }); - - $this->app->singleton('auth.driver', function ($app) { - return $app['auth']->guard(); - }); - } - - /** - * Register a resolver for the authenticated user. - * - * @return void - */ - protected function registerUserResolver() - { - $this->app->bind( - AuthenticatableContract::class, function ($app) { - return call_user_func($app['auth']->userResolver()); - } - ); - } - - /** - * Register the access gate service. - * - * @return void - */ - protected function registerAccessGate() - { - $this->app->singleton(GateContract::class, function ($app) { - return new Gate($app, function () use ($app) { - return call_user_func($app['auth']->userResolver()); - }); - }); - } - - /** - * Handle the re-binding of the request binding. - * - * @return void - */ - protected function registerRequestRebindHandler() - { - $this->app->rebinding('request', function ($app, $request) { - $request->setUserResolver(function ($guard = null) use ($app) { - return call_user_func($app['auth']->userResolver(), $guard); - }); - }); - } - - /** - * Handle the re-binding of the event dispatcher binding. - * - * @return void - */ - protected function registerEventRebindHandler() - { - $this->app->rebinding('events', function ($app, $dispatcher) { - if (! $app->resolved('auth')) { - return; - } - - if (method_exists($guard = $app['auth']->guard(), 'setDispatcher')) { - $guard->setDispatcher($dispatcher); - } - }); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Authenticatable.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Authenticatable.php deleted file mode 100644 index d7578a3..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Authenticatable.php +++ /dev/null @@ -1,78 +0,0 @@ -getKeyName(); - } - - /** - * Get the unique identifier for the user. - * - * @return mixed - */ - public function getAuthIdentifier() - { - return $this->{$this->getAuthIdentifierName()}; - } - - /** - * Get the password for the user. - * - * @return string - */ - public function getAuthPassword() - { - return $this->password; - } - - /** - * Get the token value for the "remember me" session. - * - * @return string|null - */ - public function getRememberToken() - { - if (! empty($this->getRememberTokenName())) { - return (string) $this->{$this->getRememberTokenName()}; - } - } - - /** - * Set the token value for the "remember me" session. - * - * @param string $value - * @return void - */ - public function setRememberToken($value) - { - if (! empty($this->getRememberTokenName())) { - $this->{$this->getRememberTokenName()} = $value; - } - } - - /** - * Get the column name for the "remember me" token. - * - * @return string - */ - public function getRememberTokenName() - { - return $this->rememberTokenName; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/AuthenticationException.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/AuthenticationException.php deleted file mode 100644 index ef7dbee..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/AuthenticationException.php +++ /dev/null @@ -1,58 +0,0 @@ -guards = $guards; - $this->redirectTo = $redirectTo; - } - - /** - * Get the guards that were checked. - * - * @return array - */ - public function guards() - { - return $this->guards; - } - - /** - * Get the path the user should be redirected to. - * - * @return string - */ - public function redirectTo() - { - return $this->redirectTo; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Console/AuthMakeCommand.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Console/AuthMakeCommand.php deleted file mode 100644 index 5214a5c..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Console/AuthMakeCommand.php +++ /dev/null @@ -1,133 +0,0 @@ - 'auth/login.blade.php', - 'auth/register.stub' => 'auth/register.blade.php', - 'auth/verify.stub' => 'auth/verify.blade.php', - 'auth/passwords/email.stub' => 'auth/passwords/email.blade.php', - 'auth/passwords/reset.stub' => 'auth/passwords/reset.blade.php', - 'layouts/app.stub' => 'layouts/app.blade.php', - 'home.stub' => 'home.blade.php', - ]; - - /** - * Execute the console command. - * - * @return void - */ - public function handle() - { - $this->createDirectories(); - - $this->exportViews(); - - if (! $this->option('views')) { - file_put_contents( - app_path('Http/Controllers/HomeController.php'), - $this->compileControllerStub() - ); - - file_put_contents( - base_path('routes/web.php'), - file_get_contents(__DIR__.'/stubs/make/routes.stub'), - FILE_APPEND - ); - } - - $this->info('Authentication scaffolding generated successfully.'); - } - - /** - * Create the directories for the files. - * - * @return void - */ - protected function createDirectories() - { - if (! is_dir($directory = $this->getViewPath('layouts'))) { - mkdir($directory, 0755, true); - } - - if (! is_dir($directory = $this->getViewPath('auth/passwords'))) { - mkdir($directory, 0755, true); - } - } - - /** - * Export the authentication views. - * - * @return void - */ - protected function exportViews() - { - foreach ($this->views as $key => $value) { - if (file_exists($view = $this->getViewPath($value)) && ! $this->option('force')) { - if (! $this->confirm("The [{$value}] view already exists. Do you want to replace it?")) { - continue; - } - } - - copy( - __DIR__.'/stubs/make/views/'.$key, - $view - ); - } - } - - /** - * Compiles the HomeController stub. - * - * @return string - */ - protected function compileControllerStub() - { - return str_replace( - '{{namespace}}', - $this->getAppNamespace(), - file_get_contents(__DIR__.'/stubs/make/controllers/HomeController.stub') - ); - } - - /** - * Get full view path relative to the app's configured view path. - * - * @param string $path - * @return string - */ - protected function getViewPath($path) - { - return implode(DIRECTORY_SEPARATOR, [ - config('view.paths')[0] ?? resource_path('views'), $path, - ]); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Console/ClearResetsCommand.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Console/ClearResetsCommand.php deleted file mode 100644 index 57c3bd5..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Console/ClearResetsCommand.php +++ /dev/null @@ -1,34 +0,0 @@ -laravel['auth.password']->broker($this->argument('name'))->getRepository()->deleteExpired(); - - $this->info('Expired reset tokens cleared!'); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Console/stubs/make/controllers/HomeController.stub b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Console/stubs/make/controllers/HomeController.stub deleted file mode 100644 index 63a1e36..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Console/stubs/make/controllers/HomeController.stub +++ /dev/null @@ -1,28 +0,0 @@ -middleware('auth'); - } - - /** - * Show the application dashboard. - * - * @return \Illuminate\Contracts\Support\Renderable - */ - public function index() - { - return view('home'); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Console/stubs/make/routes.stub b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Console/stubs/make/routes.stub deleted file mode 100644 index 2c37ded..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Console/stubs/make/routes.stub +++ /dev/null @@ -1,4 +0,0 @@ - -Auth::routes(); - -Route::get('/home', 'HomeController@index')->name('home'); diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Console/stubs/make/views/auth/login.stub b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Console/stubs/make/views/auth/login.stub deleted file mode 100644 index c12b97e..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Console/stubs/make/views/auth/login.stub +++ /dev/null @@ -1,73 +0,0 @@ -@extends('layouts.app') - -@section('content') -
-
-
-
-
{{ __('Login') }}
- -
-
- @csrf - -
- - -
- - - @error('email') - - {{ $message }} - - @enderror -
-
- -
- - -
- - - @error('password') - - {{ $message }} - - @enderror -
-
- -
-
-
- - - -
-
-
- -
-
- - - @if (Route::has('password.request')) - - {{ __('Forgot Your Password?') }} - - @endif -
-
-
-
-
-
-
-
-@endsection diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Console/stubs/make/views/auth/passwords/email.stub b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Console/stubs/make/views/auth/passwords/email.stub deleted file mode 100644 index 1fea984..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Console/stubs/make/views/auth/passwords/email.stub +++ /dev/null @@ -1,47 +0,0 @@ -@extends('layouts.app') - -@section('content') -
-
-
-
-
{{ __('Reset Password') }}
- -
- @if (session('status')) - - @endif - -
- @csrf - -
- - -
- - - @error('email') - - {{ $message }} - - @enderror -
-
- -
-
- -
-
-
-
-
-
-
-
-@endsection diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Console/stubs/make/views/auth/passwords/reset.stub b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Console/stubs/make/views/auth/passwords/reset.stub deleted file mode 100644 index 989931d..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Console/stubs/make/views/auth/passwords/reset.stub +++ /dev/null @@ -1,65 +0,0 @@ -@extends('layouts.app') - -@section('content') -
-
-
-
-
{{ __('Reset Password') }}
- -
-
- @csrf - - - -
- - -
- - - @error('email') - - {{ $message }} - - @enderror -
-
- -
- - -
- - - @error('password') - - {{ $message }} - - @enderror -
-
- -
- - -
- -
-
- -
-
- -
-
-
-
-
-
-
-
-@endsection diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Console/stubs/make/views/auth/register.stub b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Console/stubs/make/views/auth/register.stub deleted file mode 100644 index d236a48..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Console/stubs/make/views/auth/register.stub +++ /dev/null @@ -1,77 +0,0 @@ -@extends('layouts.app') - -@section('content') -
-
-
-
-
{{ __('Register') }}
- -
-
- @csrf - -
- - -
- - - @error('name') - - {{ $message }} - - @enderror -
-
- -
- - -
- - - @error('email') - - {{ $message }} - - @enderror -
-
- -
- - -
- - - @error('password') - - {{ $message }} - - @enderror -
-
- -
- - -
- -
-
- -
-
- -
-
-
-
-
-
-
-
-@endsection diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Console/stubs/make/views/auth/verify.stub b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Console/stubs/make/views/auth/verify.stub deleted file mode 100644 index c742cb4..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Console/stubs/make/views/auth/verify.stub +++ /dev/null @@ -1,24 +0,0 @@ -@extends('layouts.app') - -@section('content') -
-
-
-
-
{{ __('Verify Your Email Address') }}
- -
- @if (session('resent')) - - @endif - - {{ __('Before proceeding, please check your email for a verification link.') }} - {{ __('If you did not receive the email') }}, {{ __('click here to request another') }}. -
-
-
-
-
-@endsection diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Console/stubs/make/views/home.stub b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Console/stubs/make/views/home.stub deleted file mode 100644 index 05dfca9..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Console/stubs/make/views/home.stub +++ /dev/null @@ -1,23 +0,0 @@ -@extends('layouts.app') - -@section('content') -
-
-
-
-
Dashboard
- -
- @if (session('status')) - - @endif - - You are logged in! -
-
-
-
-
-@endsection diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Console/stubs/make/views/layouts/app.stub b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Console/stubs/make/views/layouts/app.stub deleted file mode 100644 index 9224ba3..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Console/stubs/make/views/layouts/app.stub +++ /dev/null @@ -1,80 +0,0 @@ - - - - - - - - - - {{ config('app.name', 'Laravel') }} - - - - - - - - - - - - -
- - -
- @yield('content') -
-
- - diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/CreatesUserProviders.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/CreatesUserProviders.php deleted file mode 100644 index 46416b5..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/CreatesUserProviders.php +++ /dev/null @@ -1,94 +0,0 @@ -getProviderConfiguration($provider))) { - return; - } - - if (isset($this->customProviderCreators[$driver = ($config['driver'] ?? null)])) { - return call_user_func( - $this->customProviderCreators[$driver], $this->app, $config - ); - } - - switch ($driver) { - case 'database': - return $this->createDatabaseProvider($config); - case 'eloquent': - return $this->createEloquentProvider($config); - default: - throw new InvalidArgumentException( - "Authentication user provider [{$driver}] is not defined." - ); - } - } - - /** - * Get the user provider configuration. - * - * @param string|null $provider - * @return array|null - */ - protected function getProviderConfiguration($provider) - { - if ($provider = $provider ?: $this->getDefaultUserProvider()) { - return $this->app['config']['auth.providers.'.$provider]; - } - } - - /** - * Create an instance of the database user provider. - * - * @param array $config - * @return \Illuminate\Auth\DatabaseUserProvider - */ - protected function createDatabaseProvider($config) - { - $connection = $this->app['db']->connection(); - - return new DatabaseUserProvider($connection, $this->app['hash'], $config['table']); - } - - /** - * Create an instance of the Eloquent user provider. - * - * @param array $config - * @return \Illuminate\Auth\EloquentUserProvider - */ - protected function createEloquentProvider($config) - { - return new EloquentUserProvider($this->app['hash'], $config['model']); - } - - /** - * Get the default user provider name. - * - * @return string - */ - public function getDefaultUserProvider() - { - return $this->app['config']['auth.defaults.provider']; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/DatabaseUserProvider.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/DatabaseUserProvider.php deleted file mode 100644 index f8005b7..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/DatabaseUserProvider.php +++ /dev/null @@ -1,159 +0,0 @@ -conn = $conn; - $this->table = $table; - $this->hasher = $hasher; - } - - /** - * Retrieve a user by their unique identifier. - * - * @param mixed $identifier - * @return \Illuminate\Contracts\Auth\Authenticatable|null - */ - public function retrieveById($identifier) - { - $user = $this->conn->table($this->table)->find($identifier); - - return $this->getGenericUser($user); - } - - /** - * Retrieve a user by their unique identifier and "remember me" token. - * - * @param mixed $identifier - * @param string $token - * @return \Illuminate\Contracts\Auth\Authenticatable|null - */ - public function retrieveByToken($identifier, $token) - { - $user = $this->getGenericUser( - $this->conn->table($this->table)->find($identifier) - ); - - return $user && $user->getRememberToken() && hash_equals($user->getRememberToken(), $token) - ? $user : null; - } - - /** - * Update the "remember me" token for the given user in storage. - * - * @param \Illuminate\Contracts\Auth\Authenticatable $user - * @param string $token - * @return void - */ - public function updateRememberToken(UserContract $user, $token) - { - $this->conn->table($this->table) - ->where($user->getAuthIdentifierName(), $user->getAuthIdentifier()) - ->update([$user->getRememberTokenName() => $token]); - } - - /** - * Retrieve a user by the given credentials. - * - * @param array $credentials - * @return \Illuminate\Contracts\Auth\Authenticatable|null - */ - public function retrieveByCredentials(array $credentials) - { - if (empty($credentials) || - (count($credentials) === 1 && - array_key_exists('password', $credentials))) { - return; - } - - // First we will add each credential element to the query as a where clause. - // Then we can execute the query and, if we found a user, return it in a - // generic "user" object that will be utilized by the Guard instances. - $query = $this->conn->table($this->table); - - foreach ($credentials as $key => $value) { - if (Str::contains($key, 'password')) { - continue; - } - - if (is_array($value) || $value instanceof Arrayable) { - $query->whereIn($key, $value); - } else { - $query->where($key, $value); - } - } - - // Now we are ready to execute the query to see if we have an user matching - // the given credentials. If not, we will just return nulls and indicate - // that there are no matching users for these given credential arrays. - $user = $query->first(); - - return $this->getGenericUser($user); - } - - /** - * Get the generic user. - * - * @param mixed $user - * @return \Illuminate\Auth\GenericUser|null - */ - protected function getGenericUser($user) - { - if (! is_null($user)) { - return new GenericUser((array) $user); - } - } - - /** - * Validate a user against the given credentials. - * - * @param \Illuminate\Contracts\Auth\Authenticatable $user - * @param array $credentials - * @return bool - */ - public function validateCredentials(UserContract $user, array $credentials) - { - return $this->hasher->check( - $credentials['password'], $user->getAuthPassword() - ); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/EloquentUserProvider.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/EloquentUserProvider.php deleted file mode 100644 index e3c40e6..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/EloquentUserProvider.php +++ /dev/null @@ -1,218 +0,0 @@ -model = $model; - $this->hasher = $hasher; - } - - /** - * Retrieve a user by their unique identifier. - * - * @param mixed $identifier - * @return \Illuminate\Contracts\Auth\Authenticatable|null - */ - public function retrieveById($identifier) - { - $model = $this->createModel(); - - return $this->newModelQuery($model) - ->where($model->getAuthIdentifierName(), $identifier) - ->first(); - } - - /** - * Retrieve a user by their unique identifier and "remember me" token. - * - * @param mixed $identifier - * @param string $token - * @return \Illuminate\Contracts\Auth\Authenticatable|null - */ - public function retrieveByToken($identifier, $token) - { - $model = $this->createModel(); - - $retrievedModel = $this->newModelQuery($model)->where( - $model->getAuthIdentifierName(), $identifier - )->first(); - - if (! $retrievedModel) { - return; - } - - $rememberToken = $retrievedModel->getRememberToken(); - - return $rememberToken && hash_equals($rememberToken, $token) - ? $retrievedModel : null; - } - - /** - * Update the "remember me" token for the given user in storage. - * - * @param \Illuminate\Contracts\Auth\Authenticatable|\Illuminate\Database\Eloquent\Model $user - * @param string $token - * @return void - */ - public function updateRememberToken(UserContract $user, $token) - { - $user->setRememberToken($token); - - $timestamps = $user->timestamps; - - $user->timestamps = false; - - $user->save(); - - $user->timestamps = $timestamps; - } - - /** - * Retrieve a user by the given credentials. - * - * @param array $credentials - * @return \Illuminate\Contracts\Auth\Authenticatable|null - */ - public function retrieveByCredentials(array $credentials) - { - if (empty($credentials) || - (count($credentials) === 1 && - array_key_exists('password', $credentials))) { - return; - } - - // First we will add each credential element to the query as a where clause. - // Then we can execute the query and, if we found a user, return it in a - // Eloquent User "model" that will be utilized by the Guard instances. - $query = $this->newModelQuery(); - - foreach ($credentials as $key => $value) { - if (Str::contains($key, 'password')) { - continue; - } - - if (is_array($value) || $value instanceof Arrayable) { - $query->whereIn($key, $value); - } else { - $query->where($key, $value); - } - } - - return $query->first(); - } - - /** - * Validate a user against the given credentials. - * - * @param \Illuminate\Contracts\Auth\Authenticatable $user - * @param array $credentials - * @return bool - */ - public function validateCredentials(UserContract $user, array $credentials) - { - $plain = $credentials['password']; - - return $this->hasher->check($plain, $user->getAuthPassword()); - } - - /** - * Get a new query builder for the model instance. - * - * @param \Illuminate\Database\Eloquent\Model|null $model - * @return \Illuminate\Database\Eloquent\Builder - */ - protected function newModelQuery($model = null) - { - return is_null($model) - ? $this->createModel()->newQuery() - : $model->newQuery(); - } - - /** - * Create a new instance of the model. - * - * @return \Illuminate\Database\Eloquent\Model - */ - public function createModel() - { - $class = '\\'.ltrim($this->model, '\\'); - - return new $class; - } - - /** - * Gets the hasher implementation. - * - * @return \Illuminate\Contracts\Hashing\Hasher - */ - public function getHasher() - { - return $this->hasher; - } - - /** - * Sets the hasher implementation. - * - * @param \Illuminate\Contracts\Hashing\Hasher $hasher - * @return $this - */ - public function setHasher(HasherContract $hasher) - { - $this->hasher = $hasher; - - return $this; - } - - /** - * Gets the name of the Eloquent user model. - * - * @return string - */ - public function getModel() - { - return $this->model; - } - - /** - * Sets the name of the Eloquent user model. - * - * @param string $model - * @return $this - */ - public function setModel($model) - { - $this->model = $model; - - return $this; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Events/Attempting.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Events/Attempting.php deleted file mode 100644 index 3f911ba..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Events/Attempting.php +++ /dev/null @@ -1,42 +0,0 @@ -guard = $guard; - $this->remember = $remember; - $this->credentials = $credentials; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Events/Authenticated.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Events/Authenticated.php deleted file mode 100644 index faefcbe..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Events/Authenticated.php +++ /dev/null @@ -1,37 +0,0 @@ -user = $user; - $this->guard = $guard; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Events/Failed.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Events/Failed.php deleted file mode 100644 index 34f8124..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Events/Failed.php +++ /dev/null @@ -1,42 +0,0 @@ -user = $user; - $this->guard = $guard; - $this->credentials = $credentials; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Events/Lockout.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Events/Lockout.php deleted file mode 100644 index 347943f..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Events/Lockout.php +++ /dev/null @@ -1,26 +0,0 @@ -request = $request; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Events/Login.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Events/Login.php deleted file mode 100644 index 3005183..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Events/Login.php +++ /dev/null @@ -1,46 +0,0 @@ -user = $user; - $this->guard = $guard; - $this->remember = $remember; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Events/Logout.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Events/Logout.php deleted file mode 100644 index bc8c394..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Events/Logout.php +++ /dev/null @@ -1,37 +0,0 @@ -user = $user; - $this->guard = $guard; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Events/OtherDeviceLogout.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Events/OtherDeviceLogout.php deleted file mode 100644 index ea139a7..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Events/OtherDeviceLogout.php +++ /dev/null @@ -1,37 +0,0 @@ -user = $user; - $this->guard = $guard; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Events/PasswordReset.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Events/PasswordReset.php deleted file mode 100644 index f57b3c9..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Events/PasswordReset.php +++ /dev/null @@ -1,28 +0,0 @@ -user = $user; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Events/Registered.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Events/Registered.php deleted file mode 100644 index f84058c..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Events/Registered.php +++ /dev/null @@ -1,28 +0,0 @@ -user = $user; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Events/Verified.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Events/Verified.php deleted file mode 100644 index 1d6e4c0..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Events/Verified.php +++ /dev/null @@ -1,28 +0,0 @@ -user = $user; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/GenericUser.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/GenericUser.php deleted file mode 100644 index b6880c0..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/GenericUser.php +++ /dev/null @@ -1,134 +0,0 @@ -attributes = $attributes; - } - - /** - * Get the name of the unique identifier for the user. - * - * @return string - */ - public function getAuthIdentifierName() - { - return 'id'; - } - - /** - * Get the unique identifier for the user. - * - * @return mixed - */ - public function getAuthIdentifier() - { - $name = $this->getAuthIdentifierName(); - - return $this->attributes[$name]; - } - - /** - * Get the password for the user. - * - * @return string - */ - public function getAuthPassword() - { - return $this->attributes['password']; - } - - /** - * Get the "remember me" token value. - * - * @return string - */ - public function getRememberToken() - { - return $this->attributes[$this->getRememberTokenName()]; - } - - /** - * Set the "remember me" token value. - * - * @param string $value - * @return void - */ - public function setRememberToken($value) - { - $this->attributes[$this->getRememberTokenName()] = $value; - } - - /** - * Get the column name for the "remember me" token. - * - * @return string - */ - public function getRememberTokenName() - { - return 'remember_token'; - } - - /** - * Dynamically access the user's attributes. - * - * @param string $key - * @return mixed - */ - public function __get($key) - { - return $this->attributes[$key]; - } - - /** - * Dynamically set an attribute on the user. - * - * @param string $key - * @param mixed $value - * @return void - */ - public function __set($key, $value) - { - $this->attributes[$key] = $value; - } - - /** - * Dynamically check if a value is set on the user. - * - * @param string $key - * @return bool - */ - public function __isset($key) - { - return isset($this->attributes[$key]); - } - - /** - * Dynamically unset a value on the user. - * - * @param string $key - * @return void - */ - public function __unset($key) - { - unset($this->attributes[$key]); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/GuardHelpers.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/GuardHelpers.php deleted file mode 100644 index 8bfa77a..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/GuardHelpers.php +++ /dev/null @@ -1,118 +0,0 @@ -user())) { - return $user; - } - - throw new AuthenticationException; - } - - /** - * Determine if the guard has a user instance. - * - * @return bool - */ - public function hasUser() - { - return ! is_null($this->user); - } - - /** - * Determine if the current user is authenticated. - * - * @return bool - */ - public function check() - { - return ! is_null($this->user()); - } - - /** - * Determine if the current user is a guest. - * - * @return bool - */ - public function guest() - { - return ! $this->check(); - } - - /** - * Get the ID for the currently authenticated user. - * - * @return int|null - */ - public function id() - { - if ($this->user()) { - return $this->user()->getAuthIdentifier(); - } - } - - /** - * Set the current user. - * - * @param \Illuminate\Contracts\Auth\Authenticatable $user - * @return $this - */ - public function setUser(AuthenticatableContract $user) - { - $this->user = $user; - - return $this; - } - - /** - * Get the user provider used by the guard. - * - * @return \Illuminate\Contracts\Auth\UserProvider - */ - public function getProvider() - { - return $this->provider; - } - - /** - * Set the user provider used by the guard. - * - * @param \Illuminate\Contracts\Auth\UserProvider $provider - * @return void - */ - public function setProvider(UserProvider $provider) - { - $this->provider = $provider; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/LICENSE.md b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/LICENSE.md deleted file mode 100644 index 79810c8..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/LICENSE.md +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) Taylor Otwell - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Listeners/SendEmailVerificationNotification.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Listeners/SendEmailVerificationNotification.php deleted file mode 100644 index 12dfa69..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Listeners/SendEmailVerificationNotification.php +++ /dev/null @@ -1,22 +0,0 @@ -user instanceof MustVerifyEmail && ! $event->user->hasVerifiedEmail()) { - $event->user->sendEmailVerificationNotification(); - } - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php deleted file mode 100644 index 98b9bc6..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php +++ /dev/null @@ -1,82 +0,0 @@ -auth = $auth; - } - - /** - * Handle an incoming request. - * - * @param \Illuminate\Http\Request $request - * @param \Closure $next - * @param string[] ...$guards - * @return mixed - * - * @throws \Illuminate\Auth\AuthenticationException - */ - public function handle($request, Closure $next, ...$guards) - { - $this->authenticate($request, $guards); - - return $next($request); - } - - /** - * Determine if the user is logged in to any of the given guards. - * - * @param \Illuminate\Http\Request $request - * @param array $guards - * @return void - * - * @throws \Illuminate\Auth\AuthenticationException - */ - protected function authenticate($request, array $guards) - { - if (empty($guards)) { - $guards = [null]; - } - - foreach ($guards as $guard) { - if ($this->auth->guard($guard)->check()) { - return $this->auth->shouldUse($guard); - } - } - - throw new AuthenticationException( - 'Unauthenticated.', $guards, $this->redirectTo($request) - ); - } - - /** - * Get the path the user should be redirected to when they are not authenticated. - * - * @param \Illuminate\Http\Request $request - * @return string - */ - protected function redirectTo($request) - { - // - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Middleware/AuthenticateWithBasicAuth.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Middleware/AuthenticateWithBasicAuth.php deleted file mode 100644 index 92c81e6..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Middleware/AuthenticateWithBasicAuth.php +++ /dev/null @@ -1,45 +0,0 @@ -auth = $auth; - } - - /** - * Handle an incoming request. - * - * @param \Illuminate\Http\Request $request - * @param \Closure $next - * @param string|null $guard - * @param string|null $field - * @return mixed - * - * @throws \Symfony\Component\HttpKernel\Exception\UnauthorizedHttpException - */ - public function handle($request, Closure $next, $guard = null, $field = null) - { - $this->auth->guard($guard)->basic($field ?: 'email'); - - return $next($request); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authorize.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authorize.php deleted file mode 100644 index 00d8c95..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authorize.php +++ /dev/null @@ -1,93 +0,0 @@ -gate = $gate; - } - - /** - * Handle an incoming request. - * - * @param \Illuminate\Http\Request $request - * @param \Closure $next - * @param string $ability - * @param array|null ...$models - * @return mixed - * - * @throws \Illuminate\Auth\AuthenticationException - * @throws \Illuminate\Auth\Access\AuthorizationException - */ - public function handle($request, Closure $next, $ability, ...$models) - { - $this->gate->authorize($ability, $this->getGateArguments($request, $models)); - - return $next($request); - } - - /** - * Get the arguments parameter for the gate. - * - * @param \Illuminate\Http\Request $request - * @param array|null $models - * @return array|string|\Illuminate\Database\Eloquent\Model - */ - protected function getGateArguments($request, $models) - { - if (is_null($models)) { - return []; - } - - return collect($models)->map(function ($model) use ($request) { - return $model instanceof Model ? $model : $this->getModel($request, $model); - })->all(); - } - - /** - * Get the model to authorize. - * - * @param \Illuminate\Http\Request $request - * @param string $model - * @return \Illuminate\Database\Eloquent\Model|string - */ - protected function getModel($request, $model) - { - if ($this->isClassName($model)) { - return trim($model); - } else { - return $request->route($model, null) ?: - ((preg_match("/^['\"](.*)['\"]$/", trim($model), $matches)) ? $matches[1] : null); - } - } - - /** - * Checks if the given string looks like a fully qualified class name. - * - * @param string $value - * @return bool - */ - protected function isClassName($value) - { - return strpos($value, '\\') !== false; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Middleware/EnsureEmailIsVerified.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Middleware/EnsureEmailIsVerified.php deleted file mode 100644 index cec17c6..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Middleware/EnsureEmailIsVerified.php +++ /dev/null @@ -1,31 +0,0 @@ -user() || - ($request->user() instanceof MustVerifyEmail && - ! $request->user()->hasVerifiedEmail())) { - return $request->expectsJson() - ? abort(403, 'Your email address is not verified.') - : Redirect::route($redirectToRoute ?: 'verification.notice'); - } - - return $next($request); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/MustVerifyEmail.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/MustVerifyEmail.php deleted file mode 100644 index d7782cd..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/MustVerifyEmail.php +++ /dev/null @@ -1,38 +0,0 @@ -email_verified_at); - } - - /** - * Mark the given user's email as verified. - * - * @return bool - */ - public function markEmailAsVerified() - { - return $this->forceFill([ - 'email_verified_at' => $this->freshTimestamp(), - ])->save(); - } - - /** - * Send the email verification notification. - * - * @return void - */ - public function sendEmailVerificationNotification() - { - $this->notify(new Notifications\VerifyEmail); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Notifications/ResetPassword.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Notifications/ResetPassword.php deleted file mode 100644 index 1b0077e..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Notifications/ResetPassword.php +++ /dev/null @@ -1,77 +0,0 @@ -token = $token; - } - - /** - * Get the notification's channels. - * - * @param mixed $notifiable - * @return array|string - */ - public function via($notifiable) - { - return ['mail']; - } - - /** - * Build the mail representation of the notification. - * - * @param mixed $notifiable - * @return \Illuminate\Notifications\Messages\MailMessage - */ - public function toMail($notifiable) - { - if (static::$toMailCallback) { - return call_user_func(static::$toMailCallback, $notifiable, $this->token); - } - - return (new MailMessage) - ->subject(Lang::getFromJson('Reset Password Notification')) - ->line(Lang::getFromJson('You are receiving this email because we received a password reset request for your account.')) - ->action(Lang::getFromJson('Reset Password'), url(config('app.url').route('password.reset', ['token' => $this->token, 'email' => $notifiable->getEmailForPasswordReset()], false))) - ->line(Lang::getFromJson('This password reset link will expire in :count minutes.', ['count' => config('auth.passwords.'.config('auth.defaults.passwords').'.expire')])) - ->line(Lang::getFromJson('If you did not request a password reset, no further action is required.')); - } - - /** - * Set a callback that should be used when building the notification mail message. - * - * @param \Closure $callback - * @return void - */ - public static function toMailUsing($callback) - { - static::$toMailCallback = $callback; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Notifications/VerifyEmail.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Notifications/VerifyEmail.php deleted file mode 100644 index 494111e..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Notifications/VerifyEmail.php +++ /dev/null @@ -1,78 +0,0 @@ -verificationUrl($notifiable); - - if (static::$toMailCallback) { - return call_user_func(static::$toMailCallback, $notifiable, $verificationUrl); - } - - return (new MailMessage) - ->subject(Lang::getFromJson('Verify Email Address')) - ->line(Lang::getFromJson('Please click the button below to verify your email address.')) - ->action(Lang::getFromJson('Verify Email Address'), $verificationUrl) - ->line(Lang::getFromJson('If you did not create an account, no further action is required.')); - } - - /** - * Get the verification URL for the given notifiable. - * - * @param mixed $notifiable - * @return string - */ - protected function verificationUrl($notifiable) - { - return URL::temporarySignedRoute( - 'verification.verify', - Carbon::now()->addMinutes(Config::get('auth.verification.expire', 60)), - ['id' => $notifiable->getKey()] - ); - } - - /** - * Set a callback that should be used when building the notification mail message. - * - * @param \Closure $callback - * @return void - */ - public static function toMailUsing($callback) - { - static::$toMailCallback = $callback; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Passwords/CanResetPassword.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Passwords/CanResetPassword.php deleted file mode 100644 index 918a288..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Passwords/CanResetPassword.php +++ /dev/null @@ -1,29 +0,0 @@ -email; - } - - /** - * Send the password reset notification. - * - * @param string $token - * @return void - */ - public function sendPasswordResetNotification($token) - { - $this->notify(new ResetPasswordNotification($token)); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Passwords/DatabaseTokenRepository.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Passwords/DatabaseTokenRepository.php deleted file mode 100644 index c470175..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Passwords/DatabaseTokenRepository.php +++ /dev/null @@ -1,204 +0,0 @@ -table = $table; - $this->hasher = $hasher; - $this->hashKey = $hashKey; - $this->expires = $expires * 60; - $this->connection = $connection; - } - - /** - * Create a new token record. - * - * @param \Illuminate\Contracts\Auth\CanResetPassword $user - * @return string - */ - public function create(CanResetPasswordContract $user) - { - $email = $user->getEmailForPasswordReset(); - - $this->deleteExisting($user); - - // We will create a new, random token for the user so that we can e-mail them - // a safe link to the password reset form. Then we will insert a record in - // the database so that we can verify the token within the actual reset. - $token = $this->createNewToken(); - - $this->getTable()->insert($this->getPayload($email, $token)); - - return $token; - } - - /** - * Delete all existing reset tokens from the database. - * - * @param \Illuminate\Contracts\Auth\CanResetPassword $user - * @return int - */ - protected function deleteExisting(CanResetPasswordContract $user) - { - return $this->getTable()->where('email', $user->getEmailForPasswordReset())->delete(); - } - - /** - * Build the record payload for the table. - * - * @param string $email - * @param string $token - * @return array - */ - protected function getPayload($email, $token) - { - return ['email' => $email, 'token' => $this->hasher->make($token), 'created_at' => new Carbon]; - } - - /** - * Determine if a token record exists and is valid. - * - * @param \Illuminate\Contracts\Auth\CanResetPassword $user - * @param string $token - * @return bool - */ - public function exists(CanResetPasswordContract $user, $token) - { - $record = (array) $this->getTable()->where( - 'email', $user->getEmailForPasswordReset() - )->first(); - - return $record && - ! $this->tokenExpired($record['created_at']) && - $this->hasher->check($token, $record['token']); - } - - /** - * Determine if the token has expired. - * - * @param string $createdAt - * @return bool - */ - protected function tokenExpired($createdAt) - { - return Carbon::parse($createdAt)->addSeconds($this->expires)->isPast(); - } - - /** - * Delete a token record by user. - * - * @param \Illuminate\Contracts\Auth\CanResetPassword $user - * @return void - */ - public function delete(CanResetPasswordContract $user) - { - $this->deleteExisting($user); - } - - /** - * Delete expired tokens. - * - * @return void - */ - public function deleteExpired() - { - $expiredAt = Carbon::now()->subSeconds($this->expires); - - $this->getTable()->where('created_at', '<', $expiredAt)->delete(); - } - - /** - * Create a new token for the user. - * - * @return string - */ - public function createNewToken() - { - return hash_hmac('sha256', Str::random(40), $this->hashKey); - } - - /** - * Get the database connection instance. - * - * @return \Illuminate\Database\ConnectionInterface - */ - public function getConnection() - { - return $this->connection; - } - - /** - * Begin a new database query against the table. - * - * @return \Illuminate\Database\Query\Builder - */ - protected function getTable() - { - return $this->connection->table($this->table); - } - - /** - * Get the hasher instance. - * - * @return \Illuminate\Contracts\Hashing\Hasher - */ - public function getHasher() - { - return $this->hasher; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Passwords/PasswordBroker.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Passwords/PasswordBroker.php deleted file mode 100644 index cefb713..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Passwords/PasswordBroker.php +++ /dev/null @@ -1,242 +0,0 @@ -users = $users; - $this->tokens = $tokens; - } - - /** - * Send a password reset link to a user. - * - * @param array $credentials - * @return string - */ - public function sendResetLink(array $credentials) - { - // First we will check to see if we found a user at the given credentials and - // if we did not we will redirect back to this current URI with a piece of - // "flash" data in the session to indicate to the developers the errors. - $user = $this->getUser($credentials); - - if (is_null($user)) { - return static::INVALID_USER; - } - - // Once we have the reset token, we are ready to send the message out to this - // user with a link to reset their password. We will then redirect back to - // the current URI having nothing set in the session to indicate errors. - $user->sendPasswordResetNotification( - $this->tokens->create($user) - ); - - return static::RESET_LINK_SENT; - } - - /** - * Reset the password for the given token. - * - * @param array $credentials - * @param \Closure $callback - * @return mixed - */ - public function reset(array $credentials, Closure $callback) - { - // If the responses from the validate method is not a user instance, we will - // assume that it is a redirect and simply return it from this method and - // the user is properly redirected having an error message on the post. - $user = $this->validateReset($credentials); - - if (! $user instanceof CanResetPasswordContract) { - return $user; - } - - $password = $credentials['password']; - - // Once the reset has been validated, we'll call the given callback with the - // new password. This gives the user an opportunity to store the password - // in their persistent storage. Then we'll delete the token and return. - $callback($user, $password); - - $this->tokens->delete($user); - - return static::PASSWORD_RESET; - } - - /** - * Validate a password reset for the given credentials. - * - * @param array $credentials - * @return \Illuminate\Contracts\Auth\CanResetPassword|string - */ - protected function validateReset(array $credentials) - { - if (is_null($user = $this->getUser($credentials))) { - return static::INVALID_USER; - } - - if (! $this->validateNewPassword($credentials)) { - return static::INVALID_PASSWORD; - } - - if (! $this->tokens->exists($user, $credentials['token'])) { - return static::INVALID_TOKEN; - } - - return $user; - } - - /** - * Set a custom password validator. - * - * @param \Closure $callback - * @return void - */ - public function validator(Closure $callback) - { - $this->passwordValidator = $callback; - } - - /** - * Determine if the passwords match for the request. - * - * @param array $credentials - * @return bool - */ - public function validateNewPassword(array $credentials) - { - if (isset($this->passwordValidator)) { - [$password, $confirm] = [ - $credentials['password'], - $credentials['password_confirmation'], - ]; - - return call_user_func( - $this->passwordValidator, $credentials - ) && $password === $confirm; - } - - return $this->validatePasswordWithDefaults($credentials); - } - - /** - * Determine if the passwords are valid for the request. - * - * @param array $credentials - * @return bool - */ - protected function validatePasswordWithDefaults(array $credentials) - { - [$password, $confirm] = [ - $credentials['password'], - $credentials['password_confirmation'], - ]; - - return $password === $confirm && mb_strlen($password) >= 8; - } - - /** - * Get the user for the given credentials. - * - * @param array $credentials - * @return \Illuminate\Contracts\Auth\CanResetPassword|null - * - * @throws \UnexpectedValueException - */ - public function getUser(array $credentials) - { - $credentials = Arr::except($credentials, ['token']); - - $user = $this->users->retrieveByCredentials($credentials); - - if ($user && ! $user instanceof CanResetPasswordContract) { - throw new UnexpectedValueException('User must implement CanResetPassword interface.'); - } - - return $user; - } - - /** - * Create a new password reset token for the given user. - * - * @param \Illuminate\Contracts\Auth\CanResetPassword $user - * @return string - */ - public function createToken(CanResetPasswordContract $user) - { - return $this->tokens->create($user); - } - - /** - * Delete password reset tokens of the given user. - * - * @param \Illuminate\Contracts\Auth\CanResetPassword $user - * @return void - */ - public function deleteToken(CanResetPasswordContract $user) - { - $this->tokens->delete($user); - } - - /** - * Validate the given password reset token. - * - * @param \Illuminate\Contracts\Auth\CanResetPassword $user - * @param string $token - * @return bool - */ - public function tokenExists(CanResetPasswordContract $user, $token) - { - return $this->tokens->exists($user, $token); - } - - /** - * Get the password reset token repository implementation. - * - * @return \Illuminate\Auth\Passwords\TokenRepositoryInterface - */ - public function getRepository() - { - return $this->tokens; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Passwords/PasswordBrokerManager.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Passwords/PasswordBrokerManager.php deleted file mode 100644 index f73db6e..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Passwords/PasswordBrokerManager.php +++ /dev/null @@ -1,145 +0,0 @@ -app = $app; - } - - /** - * Attempt to get the broker from the local cache. - * - * @param string|null $name - * @return \Illuminate\Contracts\Auth\PasswordBroker - */ - public function broker($name = null) - { - $name = $name ?: $this->getDefaultDriver(); - - return $this->brokers[$name] ?? ($this->brokers[$name] = $this->resolve($name)); - } - - /** - * Resolve the given broker. - * - * @param string $name - * @return \Illuminate\Contracts\Auth\PasswordBroker - * - * @throws \InvalidArgumentException - */ - protected function resolve($name) - { - $config = $this->getConfig($name); - - if (is_null($config)) { - throw new InvalidArgumentException("Password resetter [{$name}] is not defined."); - } - - // The password broker uses a token repository to validate tokens and send user - // password e-mails, as well as validating that password reset process as an - // aggregate service of sorts providing a convenient interface for resets. - return new PasswordBroker( - $this->createTokenRepository($config), - $this->app['auth']->createUserProvider($config['provider'] ?? null) - ); - } - - /** - * Create a token repository instance based on the given configuration. - * - * @param array $config - * @return \Illuminate\Auth\Passwords\TokenRepositoryInterface - */ - protected function createTokenRepository(array $config) - { - $key = $this->app['config']['app.key']; - - if (Str::startsWith($key, 'base64:')) { - $key = base64_decode(substr($key, 7)); - } - - $connection = $config['connection'] ?? null; - - return new DatabaseTokenRepository( - $this->app['db']->connection($connection), - $this->app['hash'], - $config['table'], - $key, - $config['expire'] - ); - } - - /** - * Get the password broker configuration. - * - * @param string $name - * @return array - */ - protected function getConfig($name) - { - return $this->app['config']["auth.passwords.{$name}"]; - } - - /** - * Get the default password broker name. - * - * @return string - */ - public function getDefaultDriver() - { - return $this->app['config']['auth.defaults.passwords']; - } - - /** - * Set the default password broker name. - * - * @param string $name - * @return void - */ - public function setDefaultDriver($name) - { - $this->app['config']['auth.defaults.passwords'] = $name; - } - - /** - * Dynamically call the default driver instance. - * - * @param string $method - * @param array $parameters - * @return mixed - */ - public function __call($method, $parameters) - { - return $this->broker()->{$method}(...$parameters); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Passwords/PasswordResetServiceProvider.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Passwords/PasswordResetServiceProvider.php deleted file mode 100644 index 8df49f5..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Passwords/PasswordResetServiceProvider.php +++ /dev/null @@ -1,45 +0,0 @@ -registerPasswordBroker(); - } - - /** - * Register the password broker instance. - * - * @return void - */ - protected function registerPasswordBroker() - { - $this->app->singleton('auth.password', function ($app) { - return new PasswordBrokerManager($app); - }); - - $this->app->bind('auth.password.broker', function ($app) { - return $app->make('auth.password')->broker(); - }); - } - - /** - * Get the services provided by the provider. - * - * @return array - */ - public function provides() - { - return ['auth.password', 'auth.password.broker']; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Passwords/TokenRepositoryInterface.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Passwords/TokenRepositoryInterface.php deleted file mode 100644 index dcd06e8..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/Passwords/TokenRepositoryInterface.php +++ /dev/null @@ -1,40 +0,0 @@ -recaller = @unserialize($recaller, ['allowed_classes' => false]) ?: $recaller; - } - - /** - * Get the user ID from the recaller. - * - * @return string - */ - public function id() - { - return explode('|', $this->recaller, 3)[0]; - } - - /** - * Get the "remember token" token from the recaller. - * - * @return string - */ - public function token() - { - return explode('|', $this->recaller, 3)[1]; - } - - /** - * Get the password from the recaller. - * - * @return string - */ - public function hash() - { - return explode('|', $this->recaller, 3)[2]; - } - - /** - * Determine if the recaller is valid. - * - * @return bool - */ - public function valid() - { - return $this->properString() && $this->hasAllSegments(); - } - - /** - * Determine if the recaller is an invalid string. - * - * @return bool - */ - protected function properString() - { - return is_string($this->recaller) && Str::contains($this->recaller, '|'); - } - - /** - * Determine if the recaller has all segments. - * - * @return bool - */ - protected function hasAllSegments() - { - $segments = explode('|', $this->recaller); - - return count($segments) === 3 && trim($segments[0]) !== '' && trim($segments[1]) !== ''; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/RequestGuard.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/RequestGuard.php deleted file mode 100644 index 2adc2cc..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/RequestGuard.php +++ /dev/null @@ -1,87 +0,0 @@ -request = $request; - $this->callback = $callback; - $this->provider = $provider; - } - - /** - * Get the currently authenticated user. - * - * @return \Illuminate\Contracts\Auth\Authenticatable|null - */ - public function user() - { - // If we've already retrieved the user for the current request we can just - // return it back immediately. We do not want to fetch the user data on - // every call to this method because that would be tremendously slow. - if (! is_null($this->user)) { - return $this->user; - } - - return $this->user = call_user_func( - $this->callback, $this->request, $this->getProvider() - ); - } - - /** - * Validate a user's credentials. - * - * @param array $credentials - * @return bool - */ - public function validate(array $credentials = []) - { - return ! is_null((new static( - $this->callback, $credentials['request'], $this->getProvider() - ))->user()); - } - - /** - * Set the current request instance. - * - * @param \Illuminate\Http\Request $request - * @return $this - */ - public function setRequest(Request $request) - { - $this->request = $request; - - return $this; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/SessionGuard.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/SessionGuard.php deleted file mode 100644 index ccc68a2..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/SessionGuard.php +++ /dev/null @@ -1,801 +0,0 @@ -name = $name; - $this->session = $session; - $this->request = $request; - $this->provider = $provider; - } - - /** - * Get the currently authenticated user. - * - * @return \Illuminate\Contracts\Auth\Authenticatable|null - */ - public function user() - { - if ($this->loggedOut) { - return; - } - - // If we've already retrieved the user for the current request we can just - // return it back immediately. We do not want to fetch the user data on - // every call to this method because that would be tremendously slow. - if (! is_null($this->user)) { - return $this->user; - } - - $id = $this->session->get($this->getName()); - - // First we will try to load the user using the identifier in the session if - // one exists. Otherwise we will check for a "remember me" cookie in this - // request, and if one exists, attempt to retrieve the user using that. - if (! is_null($id) && $this->user = $this->provider->retrieveById($id)) { - $this->fireAuthenticatedEvent($this->user); - } - - // If the user is null, but we decrypt a "recaller" cookie we can attempt to - // pull the user data on that cookie which serves as a remember cookie on - // the application. Once we have a user we can return it to the caller. - if (is_null($this->user) && ! is_null($recaller = $this->recaller())) { - $this->user = $this->userFromRecaller($recaller); - - if ($this->user) { - $this->updateSession($this->user->getAuthIdentifier()); - - $this->fireLoginEvent($this->user, true); - } - } - - return $this->user; - } - - /** - * Pull a user from the repository by its "remember me" cookie token. - * - * @param \Illuminate\Auth\Recaller $recaller - * @return mixed - */ - protected function userFromRecaller($recaller) - { - if (! $recaller->valid() || $this->recallAttempted) { - return; - } - - // If the user is null, but we decrypt a "recaller" cookie we can attempt to - // pull the user data on that cookie which serves as a remember cookie on - // the application. Once we have a user we can return it to the caller. - $this->recallAttempted = true; - - $this->viaRemember = ! is_null($user = $this->provider->retrieveByToken( - $recaller->id(), $recaller->token() - )); - - return $user; - } - - /** - * Get the decrypted recaller cookie for the request. - * - * @return \Illuminate\Auth\Recaller|null - */ - protected function recaller() - { - if (is_null($this->request)) { - return; - } - - if ($recaller = $this->request->cookies->get($this->getRecallerName())) { - return new Recaller($recaller); - } - } - - /** - * Get the ID for the currently authenticated user. - * - * @return int|null - */ - public function id() - { - if ($this->loggedOut) { - return; - } - - return $this->user() - ? $this->user()->getAuthIdentifier() - : $this->session->get($this->getName()); - } - - /** - * Log a user into the application without sessions or cookies. - * - * @param array $credentials - * @return bool - */ - public function once(array $credentials = []) - { - $this->fireAttemptEvent($credentials); - - if ($this->validate($credentials)) { - $this->setUser($this->lastAttempted); - - return true; - } - - return false; - } - - /** - * Log the given user ID into the application without sessions or cookies. - * - * @param mixed $id - * @return \Illuminate\Contracts\Auth\Authenticatable|false - */ - public function onceUsingId($id) - { - if (! is_null($user = $this->provider->retrieveById($id))) { - $this->setUser($user); - - return $user; - } - - return false; - } - - /** - * Validate a user's credentials. - * - * @param array $credentials - * @return bool - */ - public function validate(array $credentials = []) - { - $this->lastAttempted = $user = $this->provider->retrieveByCredentials($credentials); - - return $this->hasValidCredentials($user, $credentials); - } - - /** - * Attempt to authenticate using HTTP Basic Auth. - * - * @param string $field - * @param array $extraConditions - * @return \Symfony\Component\HttpFoundation\Response|null - */ - public function basic($field = 'email', $extraConditions = []) - { - if ($this->check()) { - return; - } - - // If a username is set on the HTTP basic request, we will return out without - // interrupting the request lifecycle. Otherwise, we'll need to generate a - // request indicating that the given credentials were invalid for login. - if ($this->attemptBasic($this->getRequest(), $field, $extraConditions)) { - return; - } - - return $this->failedBasicResponse(); - } - - /** - * Perform a stateless HTTP Basic login attempt. - * - * @param string $field - * @param array $extraConditions - * @return \Symfony\Component\HttpFoundation\Response|null - */ - public function onceBasic($field = 'email', $extraConditions = []) - { - $credentials = $this->basicCredentials($this->getRequest(), $field); - - if (! $this->once(array_merge($credentials, $extraConditions))) { - return $this->failedBasicResponse(); - } - } - - /** - * Attempt to authenticate using basic authentication. - * - * @param \Symfony\Component\HttpFoundation\Request $request - * @param string $field - * @param array $extraConditions - * @return bool - */ - protected function attemptBasic(Request $request, $field, $extraConditions = []) - { - if (! $request->getUser()) { - return false; - } - - return $this->attempt(array_merge( - $this->basicCredentials($request, $field), $extraConditions - )); - } - - /** - * Get the credential array for a HTTP Basic request. - * - * @param \Symfony\Component\HttpFoundation\Request $request - * @param string $field - * @return array - */ - protected function basicCredentials(Request $request, $field) - { - return [$field => $request->getUser(), 'password' => $request->getPassword()]; - } - - /** - * Get the response for basic authentication. - * - * @return void - * - * @throws \Symfony\Component\HttpKernel\Exception\UnauthorizedHttpException - */ - protected function failedBasicResponse() - { - throw new UnauthorizedHttpException('Basic', 'Invalid credentials.'); - } - - /** - * Attempt to authenticate a user using the given credentials. - * - * @param array $credentials - * @param bool $remember - * @return bool - */ - public function attempt(array $credentials = [], $remember = false) - { - $this->fireAttemptEvent($credentials, $remember); - - $this->lastAttempted = $user = $this->provider->retrieveByCredentials($credentials); - - // If an implementation of UserInterface was returned, we'll ask the provider - // to validate the user against the given credentials, and if they are in - // fact valid we'll log the users into the application and return true. - if ($this->hasValidCredentials($user, $credentials)) { - $this->login($user, $remember); - - return true; - } - - // If the authentication attempt fails we will fire an event so that the user - // may be notified of any suspicious attempts to access their account from - // an unrecognized user. A developer may listen to this event as needed. - $this->fireFailedEvent($user, $credentials); - - return false; - } - - /** - * Determine if the user matches the credentials. - * - * @param mixed $user - * @param array $credentials - * @return bool - */ - protected function hasValidCredentials($user, $credentials) - { - return ! is_null($user) && $this->provider->validateCredentials($user, $credentials); - } - - /** - * Log the given user ID into the application. - * - * @param mixed $id - * @param bool $remember - * @return \Illuminate\Contracts\Auth\Authenticatable|false - */ - public function loginUsingId($id, $remember = false) - { - if (! is_null($user = $this->provider->retrieveById($id))) { - $this->login($user, $remember); - - return $user; - } - - return false; - } - - /** - * Log a user into the application. - * - * @param \Illuminate\Contracts\Auth\Authenticatable $user - * @param bool $remember - * @return void - */ - public function login(AuthenticatableContract $user, $remember = false) - { - $this->updateSession($user->getAuthIdentifier()); - - // If the user should be permanently "remembered" by the application we will - // queue a permanent cookie that contains the encrypted copy of the user - // identifier. We will then decrypt this later to retrieve the users. - if ($remember) { - $this->ensureRememberTokenIsSet($user); - - $this->queueRecallerCookie($user); - } - - // If we have an event dispatcher instance set we will fire an event so that - // any listeners will hook into the authentication events and run actions - // based on the login and logout events fired from the guard instances. - $this->fireLoginEvent($user, $remember); - - $this->setUser($user); - } - - /** - * Update the session with the given ID. - * - * @param string $id - * @return void - */ - protected function updateSession($id) - { - $this->session->put($this->getName(), $id); - - $this->session->migrate(true); - } - - /** - * Create a new "remember me" token for the user if one doesn't already exist. - * - * @param \Illuminate\Contracts\Auth\Authenticatable $user - * @return void - */ - protected function ensureRememberTokenIsSet(AuthenticatableContract $user) - { - if (empty($user->getRememberToken())) { - $this->cycleRememberToken($user); - } - } - - /** - * Queue the recaller cookie into the cookie jar. - * - * @param \Illuminate\Contracts\Auth\Authenticatable $user - * @return void - */ - protected function queueRecallerCookie(AuthenticatableContract $user) - { - $this->getCookieJar()->queue($this->createRecaller( - $user->getAuthIdentifier().'|'.$user->getRememberToken().'|'.$user->getAuthPassword() - )); - } - - /** - * Create a "remember me" cookie for a given ID. - * - * @param string $value - * @return \Symfony\Component\HttpFoundation\Cookie - */ - protected function createRecaller($value) - { - return $this->getCookieJar()->forever($this->getRecallerName(), $value); - } - - /** - * Log the user out of the application. - * - * @return void - */ - public function logout() - { - $user = $this->user(); - - // If we have an event dispatcher instance, we can fire off the logout event - // so any further processing can be done. This allows the developer to be - // listening for anytime a user signs out of this application manually. - $this->clearUserDataFromStorage(); - - if (! is_null($this->user) && ! empty($user->getRememberToken())) { - $this->cycleRememberToken($user); - } - - if (isset($this->events)) { - $this->events->dispatch(new Events\Logout($this->name, $user)); - } - - // Once we have fired the logout event we will clear the users out of memory - // so they are no longer available as the user is no longer considered as - // being signed into this application and should not be available here. - $this->user = null; - - $this->loggedOut = true; - } - - /** - * Remove the user data from the session and cookies. - * - * @return void - */ - protected function clearUserDataFromStorage() - { - $this->session->remove($this->getName()); - - if (! is_null($this->recaller())) { - $this->getCookieJar()->queue($this->getCookieJar() - ->forget($this->getRecallerName())); - } - } - - /** - * Refresh the "remember me" token for the user. - * - * @param \Illuminate\Contracts\Auth\Authenticatable $user - * @return void - */ - protected function cycleRememberToken(AuthenticatableContract $user) - { - $user->setRememberToken($token = Str::random(60)); - - $this->provider->updateRememberToken($user, $token); - } - - /** - * Invalidate other sessions for the current user. - * - * The application must be using the AuthenticateSession middleware. - * - * @param string $password - * @param string $attribute - * @return bool|null - */ - public function logoutOtherDevices($password, $attribute = 'password') - { - if (! $this->user()) { - return; - } - - $result = tap($this->user()->forceFill([ - $attribute => Hash::make($password), - ]))->save(); - - if ($this->recaller() || - $this->getCookieJar()->hasQueued($this->getRecallerName())) { - $this->queueRecallerCookie($this->user()); - } - - $this->fireOtherDeviceLogoutEvent($this->user()); - - return $result; - } - - /** - * Register an authentication attempt event listener. - * - * @param mixed $callback - * @return void - */ - public function attempting($callback) - { - if (isset($this->events)) { - $this->events->listen(Events\Attempting::class, $callback); - } - } - - /** - * Fire the attempt event with the arguments. - * - * @param array $credentials - * @param bool $remember - * @return void - */ - protected function fireAttemptEvent(array $credentials, $remember = false) - { - if (isset($this->events)) { - $this->events->dispatch(new Events\Attempting( - $this->name, $credentials, $remember - )); - } - } - - /** - * Fire the login event if the dispatcher is set. - * - * @param \Illuminate\Contracts\Auth\Authenticatable $user - * @param bool $remember - * @return void - */ - protected function fireLoginEvent($user, $remember = false) - { - if (isset($this->events)) { - $this->events->dispatch(new Events\Login( - $this->name, $user, $remember - )); - } - } - - /** - * Fire the authenticated event if the dispatcher is set. - * - * @param \Illuminate\Contracts\Auth\Authenticatable $user - * @return void - */ - protected function fireAuthenticatedEvent($user) - { - if (isset($this->events)) { - $this->events->dispatch(new Events\Authenticated( - $this->name, $user - )); - } - } - - /** - * Fire the other device logout event if the dispatcher is set. - * - * @param \Illuminate\Contracts\Auth\Authenticatable $user - * @return void - */ - protected function fireOtherDeviceLogoutEvent($user) - { - if (isset($this->events)) { - $this->events->dispatch(new Events\OtherDeviceLogout( - $this->name, $user - )); - } - } - - /** - * Fire the failed authentication attempt event with the given arguments. - * - * @param \Illuminate\Contracts\Auth\Authenticatable|null $user - * @param array $credentials - * @return void - */ - protected function fireFailedEvent($user, array $credentials) - { - if (isset($this->events)) { - $this->events->dispatch(new Events\Failed( - $this->name, $user, $credentials - )); - } - } - - /** - * Get the last user we attempted to authenticate. - * - * @return \Illuminate\Contracts\Auth\Authenticatable - */ - public function getLastAttempted() - { - return $this->lastAttempted; - } - - /** - * Get a unique identifier for the auth session value. - * - * @return string - */ - public function getName() - { - return 'login_'.$this->name.'_'.sha1(static::class); - } - - /** - * Get the name of the cookie used to store the "recaller". - * - * @return string - */ - public function getRecallerName() - { - return 'remember_'.$this->name.'_'.sha1(static::class); - } - - /** - * Determine if the user was authenticated via "remember me" cookie. - * - * @return bool - */ - public function viaRemember() - { - return $this->viaRemember; - } - - /** - * Get the cookie creator instance used by the guard. - * - * @return \Illuminate\Contracts\Cookie\QueueingFactory - * - * @throws \RuntimeException - */ - public function getCookieJar() - { - if (! isset($this->cookie)) { - throw new RuntimeException('Cookie jar has not been set.'); - } - - return $this->cookie; - } - - /** - * Set the cookie creator instance used by the guard. - * - * @param \Illuminate\Contracts\Cookie\QueueingFactory $cookie - * @return void - */ - public function setCookieJar(CookieJar $cookie) - { - $this->cookie = $cookie; - } - - /** - * Get the event dispatcher instance. - * - * @return \Illuminate\Contracts\Events\Dispatcher - */ - public function getDispatcher() - { - return $this->events; - } - - /** - * Set the event dispatcher instance. - * - * @param \Illuminate\Contracts\Events\Dispatcher $events - * @return void - */ - public function setDispatcher(Dispatcher $events) - { - $this->events = $events; - } - - /** - * Get the session store used by the guard. - * - * @return \Illuminate\Contracts\Session\Session - */ - public function getSession() - { - return $this->session; - } - - /** - * Return the currently cached user. - * - * @return \Illuminate\Contracts\Auth\Authenticatable|null - */ - public function getUser() - { - return $this->user; - } - - /** - * Set the current user. - * - * @param \Illuminate\Contracts\Auth\Authenticatable $user - * @return $this - */ - public function setUser(AuthenticatableContract $user) - { - $this->user = $user; - - $this->loggedOut = false; - - $this->fireAuthenticatedEvent($user); - - return $this; - } - - /** - * Get the current request instance. - * - * @return \Symfony\Component\HttpFoundation\Request - */ - public function getRequest() - { - return $this->request ?: Request::createFromGlobals(); - } - - /** - * Set the current request instance. - * - * @param \Symfony\Component\HttpFoundation\Request $request - * @return $this - */ - public function setRequest(Request $request) - { - $this->request = $request; - - return $this; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/TokenGuard.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/TokenGuard.php deleted file mode 100644 index 93fa257..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/TokenGuard.php +++ /dev/null @@ -1,149 +0,0 @@ -hash = $hash; - $this->request = $request; - $this->provider = $provider; - $this->inputKey = $inputKey; - $this->storageKey = $storageKey; - } - - /** - * Get the currently authenticated user. - * - * @return \Illuminate\Contracts\Auth\Authenticatable|null - */ - public function user() - { - // If we've already retrieved the user for the current request we can just - // return it back immediately. We do not want to fetch the user data on - // every call to this method because that would be tremendously slow. - if (! is_null($this->user)) { - return $this->user; - } - - $user = null; - - $token = $this->getTokenForRequest(); - - if (! empty($token)) { - $user = $this->provider->retrieveByCredentials([ - $this->storageKey => $this->hash ? hash('sha256', $token) : $token, - ]); - } - - return $this->user = $user; - } - - /** - * Get the token for the current request. - * - * @return string - */ - public function getTokenForRequest() - { - $token = $this->request->query($this->inputKey); - - if (empty($token)) { - $token = $this->request->input($this->inputKey); - } - - if (empty($token)) { - $token = $this->request->bearerToken(); - } - - if (empty($token)) { - $token = $this->request->getPassword(); - } - - return $token; - } - - /** - * Validate a user's credentials. - * - * @param array $credentials - * @return bool - */ - public function validate(array $credentials = []) - { - if (empty($credentials[$this->inputKey])) { - return false; - } - - $credentials = [$this->storageKey => $credentials[$this->inputKey]]; - - if ($this->provider->retrieveByCredentials($credentials)) { - return true; - } - - return false; - } - - /** - * Set the current request instance. - * - * @param \Illuminate\Http\Request $request - * @return $this - */ - public function setRequest(Request $request) - { - $this->request = $request; - - return $this; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/composer.json b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/composer.json deleted file mode 100644 index f9eaf68..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Auth/composer.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "name": "illuminate/auth", - "description": "The Illuminate Auth package.", - "license": "MIT", - "homepage": "https://laravel.com", - "support": { - "issues": "https://github.com/laravel/framework/issues", - "source": "https://github.com/laravel/framework" - }, - "authors": [ - { - "name": "Taylor Otwell", - "email": "taylor@laravel.com" - } - ], - "require": { - "php": "^7.1.3", - "illuminate/contracts": "5.8.*", - "illuminate/http": "5.8.*", - "illuminate/queue": "5.8.*", - "illuminate/support": "5.8.*" - }, - "autoload": { - "psr-4": { - "Illuminate\\Auth\\": "" - } - }, - "extra": { - "branch-alias": { - "dev-master": "5.8-dev" - } - }, - "suggest": { - "illuminate/console": "Required to use the auth:clear-resets command (5.8.*).", - "illuminate/queue": "Required to fire login / logout events (5.8.*).", - "illuminate/session": "Required to use the session based guard (5.8.*)." - }, - "config": { - "sort-packages": true - }, - "minimum-stability": "dev" -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Broadcasting/BroadcastController.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Broadcasting/BroadcastController.php deleted file mode 100644 index 486a602..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Broadcasting/BroadcastController.php +++ /dev/null @@ -1,25 +0,0 @@ -hasSession()) { - $request->session()->reflash(); - } - - return Broadcast::auth($request); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Broadcasting/BroadcastEvent.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Broadcasting/BroadcastEvent.php deleted file mode 100644 index eb790f0..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Broadcasting/BroadcastEvent.php +++ /dev/null @@ -1,111 +0,0 @@ -event = $event; - } - - /** - * Handle the queued job. - * - * @param \Illuminate\Contracts\Broadcasting\Broadcaster $broadcaster - * @return void - */ - public function handle(Broadcaster $broadcaster) - { - $name = method_exists($this->event, 'broadcastAs') - ? $this->event->broadcastAs() : get_class($this->event); - - $broadcaster->broadcast( - Arr::wrap($this->event->broadcastOn()), $name, - $this->getPayloadFromEvent($this->event) - ); - } - - /** - * Get the payload for the given event. - * - * @param mixed $event - * @return array - */ - protected function getPayloadFromEvent($event) - { - if (method_exists($event, 'broadcastWith')) { - return array_merge( - $event->broadcastWith(), ['socket' => data_get($event, 'socket')] - ); - } - - $payload = []; - - foreach ((new ReflectionClass($event))->getProperties(ReflectionProperty::IS_PUBLIC) as $property) { - $payload[$property->getName()] = $this->formatProperty($property->getValue($event)); - } - - unset($payload['broadcastQueue']); - - return $payload; - } - - /** - * Format the given value for a property. - * - * @param mixed $value - * @return mixed - */ - protected function formatProperty($value) - { - if ($value instanceof Arrayable) { - return $value->toArray(); - } - - return $value; - } - - /** - * Get the display name for the queued job. - * - * @return string - */ - public function displayName() - { - return get_class($this->event); - } - - /** - * Prepare the instance for cloning. - * - * @return void - */ - public function __clone() - { - $this->event = clone $this->event; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Broadcasting/BroadcastException.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Broadcasting/BroadcastException.php deleted file mode 100644 index 8fd55f7..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Broadcasting/BroadcastException.php +++ /dev/null @@ -1,10 +0,0 @@ -app = $app; - } - - /** - * Register the routes for handling broadcast authentication and sockets. - * - * @param array|null $attributes - * @return void - */ - public function routes(array $attributes = null) - { - if ($this->app->routesAreCached()) { - return; - } - - $attributes = $attributes ?: ['middleware' => ['web']]; - - $this->app['router']->group($attributes, function ($router) { - $router->match( - ['get', 'post'], '/broadcasting/auth', - '\\'.BroadcastController::class.'@authenticate' - ); - }); - } - - /** - * Get the socket ID for the given request. - * - * @param \Illuminate\Http\Request|null $request - * @return string|null - */ - public function socket($request = null) - { - if (! $request && ! $this->app->bound('request')) { - return; - } - - $request = $request ?: $this->app['request']; - - return $request->header('X-Socket-ID'); - } - - /** - * Begin broadcasting an event. - * - * @param mixed|null $event - * @return \Illuminate\Broadcasting\PendingBroadcast|void - */ - public function event($event = null) - { - return new PendingBroadcast($this->app->make('events'), $event); - } - - /** - * Queue the given event for broadcast. - * - * @param mixed $event - * @return void - */ - public function queue($event) - { - $connection = $event instanceof ShouldBroadcastNow ? 'sync' : null; - - if (is_null($connection) && isset($event->connection)) { - $connection = $event->connection; - } - - $queue = null; - - if (method_exists($event, 'broadcastQueue')) { - $queue = $event->broadcastQueue(); - } elseif (isset($event->broadcastQueue)) { - $queue = $event->broadcastQueue; - } elseif (isset($event->queue)) { - $queue = $event->queue; - } - - $this->app->make('queue')->connection($connection)->pushOn( - $queue, new BroadcastEvent(clone $event) - ); - } - - /** - * Get a driver instance. - * - * @param string|null $driver - * @return mixed - */ - public function connection($driver = null) - { - return $this->driver($driver); - } - - /** - * Get a driver instance. - * - * @param string|null $name - * @return mixed - */ - public function driver($name = null) - { - $name = $name ?: $this->getDefaultDriver(); - - return $this->drivers[$name] = $this->get($name); - } - - /** - * Attempt to get the connection from the local cache. - * - * @param string $name - * @return \Illuminate\Contracts\Broadcasting\Broadcaster - */ - protected function get($name) - { - return $this->drivers[$name] ?? $this->resolve($name); - } - - /** - * Resolve the given broadcaster. - * - * @param string $name - * @return \Illuminate\Contracts\Broadcasting\Broadcaster - * - * @throws \InvalidArgumentException - */ - protected function resolve($name) - { - $config = $this->getConfig($name); - - if (isset($this->customCreators[$config['driver']])) { - return $this->callCustomCreator($config); - } - - $driverMethod = 'create'.ucfirst($config['driver']).'Driver'; - - if (! method_exists($this, $driverMethod)) { - throw new InvalidArgumentException("Driver [{$config['driver']}] is not supported."); - } - - return $this->{$driverMethod}($config); - } - - /** - * Call a custom driver creator. - * - * @param array $config - * @return mixed - */ - protected function callCustomCreator(array $config) - { - return $this->customCreators[$config['driver']]($this->app, $config); - } - - /** - * Create an instance of the driver. - * - * @param array $config - * @return \Illuminate\Contracts\Broadcasting\Broadcaster - */ - protected function createPusherDriver(array $config) - { - $pusher = new Pusher( - $config['key'], $config['secret'], - $config['app_id'], $config['options'] ?? [] - ); - - if ($config['log'] ?? false) { - $pusher->setLogger($this->app->make(LoggerInterface::class)); - } - - return new PusherBroadcaster($pusher); - } - - /** - * Create an instance of the driver. - * - * @param array $config - * @return \Illuminate\Contracts\Broadcasting\Broadcaster - */ - protected function createRedisDriver(array $config) - { - return new RedisBroadcaster( - $this->app->make('redis'), $config['connection'] ?? null - ); - } - - /** - * Create an instance of the driver. - * - * @param array $config - * @return \Illuminate\Contracts\Broadcasting\Broadcaster - */ - protected function createLogDriver(array $config) - { - return new LogBroadcaster( - $this->app->make(LoggerInterface::class) - ); - } - - /** - * Create an instance of the driver. - * - * @param array $config - * @return \Illuminate\Contracts\Broadcasting\Broadcaster - */ - protected function createNullDriver(array $config) - { - return new NullBroadcaster; - } - - /** - * Get the connection configuration. - * - * @param string $name - * @return array - */ - protected function getConfig($name) - { - if (! is_null($name) && $name !== 'null') { - return $this->app['config']["broadcasting.connections.{$name}"]; - } - - return ['driver' => 'null']; - } - - /** - * Get the default driver name. - * - * @return string - */ - public function getDefaultDriver() - { - return $this->app['config']['broadcasting.default']; - } - - /** - * Set the default driver name. - * - * @param string $name - * @return void - */ - public function setDefaultDriver($name) - { - $this->app['config']['broadcasting.default'] = $name; - } - - /** - * Register a custom driver creator Closure. - * - * @param string $driver - * @param \Closure $callback - * @return $this - */ - public function extend($driver, Closure $callback) - { - $this->customCreators[$driver] = $callback; - - return $this; - } - - /** - * Dynamically call the default driver instance. - * - * @param string $method - * @param array $parameters - * @return mixed - */ - public function __call($method, $parameters) - { - return $this->driver()->$method(...$parameters); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Broadcasting/BroadcastServiceProvider.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Broadcasting/BroadcastServiceProvider.php deleted file mode 100644 index 56628ef..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Broadcasting/BroadcastServiceProvider.php +++ /dev/null @@ -1,45 +0,0 @@ -app->singleton(BroadcastManager::class, function ($app) { - return new BroadcastManager($app); - }); - - $this->app->singleton(BroadcasterContract::class, function ($app) { - return $app->make(BroadcastManager::class)->connection(); - }); - - $this->app->alias( - BroadcastManager::class, BroadcastingFactory::class - ); - } - - /** - * Get the services provided by the provider. - * - * @return array - */ - public function provides() - { - return [ - BroadcastManager::class, - BroadcastingFactory::class, - BroadcasterContract::class, - ]; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Broadcasting/Broadcasters/Broadcaster.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Broadcasting/Broadcasters/Broadcaster.php deleted file mode 100644 index 39b9ec1..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Broadcasting/Broadcasters/Broadcaster.php +++ /dev/null @@ -1,329 +0,0 @@ -channels[$channel] = $callback; - - $this->channelOptions[$channel] = $options; - - return $this; - } - - /** - * Authenticate the incoming request for a given channel. - * - * @param \Illuminate\Http\Request $request - * @param string $channel - * @return mixed - * - * @throws \Symfony\Component\HttpKernel\Exception\AccessDeniedHttpException - */ - protected function verifyUserCanAccessChannel($request, $channel) - { - foreach ($this->channels as $pattern => $callback) { - if (! $this->channelNameMatchesPattern($channel, $pattern)) { - continue; - } - - $parameters = $this->extractAuthParameters($pattern, $channel, $callback); - - $handler = $this->normalizeChannelHandlerToCallable($callback); - - if ($result = $handler($this->retrieveUser($request, $channel), ...$parameters)) { - return $this->validAuthenticationResponse($request, $result); - } - } - - throw new AccessDeniedHttpException; - } - - /** - * Extract the parameters from the given pattern and channel. - * - * @param string $pattern - * @param string $channel - * @param callable|string $callback - * @return array - */ - protected function extractAuthParameters($pattern, $channel, $callback) - { - $callbackParameters = $this->extractParameters($callback); - - return collect($this->extractChannelKeys($pattern, $channel))->reject(function ($value, $key) { - return is_numeric($key); - })->map(function ($value, $key) use ($callbackParameters) { - return $this->resolveBinding($key, $value, $callbackParameters); - })->values()->all(); - } - - /** - * Extracts the parameters out of what the user passed to handle the channel authentication. - * - * @param callable|string $callback - * @return \ReflectionParameter[] - * - * @throws \Exception - */ - protected function extractParameters($callback) - { - if (is_callable($callback)) { - return (new ReflectionFunction($callback))->getParameters(); - } elseif (is_string($callback)) { - return $this->extractParametersFromClass($callback); - } - - throw new Exception('Given channel handler is an unknown type.'); - } - - /** - * Extracts the parameters out of a class channel's "join" method. - * - * @param string $callback - * @return \ReflectionParameter[] - * - * @throws \Exception - */ - protected function extractParametersFromClass($callback) - { - $reflection = new ReflectionClass($callback); - - if (! $reflection->hasMethod('join')) { - throw new Exception('Class based channel must define a "join" method.'); - } - - return $reflection->getMethod('join')->getParameters(); - } - - /** - * Extract the channel keys from the incoming channel name. - * - * @param string $pattern - * @param string $channel - * @return array - */ - protected function extractChannelKeys($pattern, $channel) - { - preg_match('/^'.preg_replace('/\{(.*?)\}/', '(?<$1>[^\.]+)', $pattern).'/', $channel, $keys); - - return $keys; - } - - /** - * Resolve the given parameter binding. - * - * @param string $key - * @param string $value - * @param array $callbackParameters - * @return mixed - */ - protected function resolveBinding($key, $value, $callbackParameters) - { - $newValue = $this->resolveExplicitBindingIfPossible($key, $value); - - return $newValue === $value ? $this->resolveImplicitBindingIfPossible( - $key, $value, $callbackParameters - ) : $newValue; - } - - /** - * Resolve an explicit parameter binding if applicable. - * - * @param string $key - * @param mixed $value - * @return mixed - */ - protected function resolveExplicitBindingIfPossible($key, $value) - { - $binder = $this->binder(); - - if ($binder && $binder->getBindingCallback($key)) { - return call_user_func($binder->getBindingCallback($key), $value); - } - - return $value; - } - - /** - * Resolve an implicit parameter binding if applicable. - * - * @param string $key - * @param mixed $value - * @param array $callbackParameters - * @return mixed - * - * @throws \Symfony\Component\HttpKernel\Exception\AccessDeniedHttpException - */ - protected function resolveImplicitBindingIfPossible($key, $value, $callbackParameters) - { - foreach ($callbackParameters as $parameter) { - if (! $this->isImplicitlyBindable($key, $parameter)) { - continue; - } - - $instance = $parameter->getClass()->newInstance(); - - if (! $model = $instance->resolveRouteBinding($value)) { - throw new AccessDeniedHttpException; - } - - return $model; - } - - return $value; - } - - /** - * Determine if a given key and parameter is implicitly bindable. - * - * @param string $key - * @param \ReflectionParameter $parameter - * @return bool - */ - protected function isImplicitlyBindable($key, $parameter) - { - return $parameter->name === $key && $parameter->getClass() && - $parameter->getClass()->isSubclassOf(UrlRoutable::class); - } - - /** - * Format the channel array into an array of strings. - * - * @param array $channels - * @return array - */ - protected function formatChannels(array $channels) - { - return array_map(function ($channel) { - return (string) $channel; - }, $channels); - } - - /** - * Get the model binding registrar instance. - * - * @return \Illuminate\Contracts\Routing\BindingRegistrar - */ - protected function binder() - { - if (! $this->bindingRegistrar) { - $this->bindingRegistrar = Container::getInstance()->bound(BindingRegistrar::class) - ? Container::getInstance()->make(BindingRegistrar::class) : null; - } - - return $this->bindingRegistrar; - } - - /** - * Normalize the given callback into a callable. - * - * @param mixed $callback - * @return callable|\Closure - */ - protected function normalizeChannelHandlerToCallable($callback) - { - return is_callable($callback) ? $callback : function (...$args) use ($callback) { - return Container::getInstance() - ->make($callback) - ->join(...$args); - }; - } - - /** - * Retrieve the authenticated user using the configured guard (if any). - * - * @param \Illuminate\Http\Request $request - * @param string $channel - * @return mixed - */ - protected function retrieveUser($request, $channel) - { - $options = $this->retrieveChannelOptions($channel); - - $guards = $options['guards'] ?? null; - - if (is_null($guards)) { - return $request->user(); - } - - foreach (Arr::wrap($guards) as $guard) { - if ($user = $request->user($guard)) { - return $user; - } - } - } - - /** - * Retrieve options for a certain channel. - * - * @param string $channel - * @return array - */ - protected function retrieveChannelOptions($channel) - { - foreach ($this->channelOptions as $pattern => $options) { - if (! $this->channelNameMatchesPattern($channel, $pattern)) { - continue; - } - - return $options; - } - - return []; - } - - /** - * Check if channel name from request match a pattern from registered channels. - * - * @param string $channel - * @param string $pattern - * @return bool - */ - protected function channelNameMatchesPattern($channel, $pattern) - { - return Str::is(preg_replace('/\{(.*?)\}/', '*', $pattern), $channel); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Broadcasting/Broadcasters/LogBroadcaster.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Broadcasting/Broadcasters/LogBroadcaster.php deleted file mode 100644 index 50877dc..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Broadcasting/Broadcasters/LogBroadcaster.php +++ /dev/null @@ -1,54 +0,0 @@ -logger = $logger; - } - - /** - * {@inheritdoc} - */ - public function auth($request) - { - // - } - - /** - * {@inheritdoc} - */ - public function validAuthenticationResponse($request, $result) - { - // - } - - /** - * {@inheritdoc} - */ - public function broadcast(array $channels, $event, array $payload = []) - { - $channels = implode(', ', $this->formatChannels($channels)); - - $payload = json_encode($payload, JSON_PRETTY_PRINT); - - $this->logger->info('Broadcasting ['.$event.'] on channels ['.$channels.'] with payload:'.PHP_EOL.$payload); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Broadcasting/Broadcasters/NullBroadcaster.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Broadcasting/Broadcasters/NullBroadcaster.php deleted file mode 100644 index 6205c90..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Broadcasting/Broadcasters/NullBroadcaster.php +++ /dev/null @@ -1,30 +0,0 @@ -pusher = $pusher; - } - - /** - * Authenticate the incoming request for a given channel. - * - * @param \Illuminate\Http\Request $request - * @return mixed - * - * @throws \Symfony\Component\HttpKernel\Exception\AccessDeniedHttpException - */ - public function auth($request) - { - $channelName = $this->normalizeChannelName($request->channel_name); - - if ($this->isGuardedChannel($request->channel_name) && - ! $this->retrieveUser($request, $channelName)) { - throw new AccessDeniedHttpException; - } - - return parent::verifyUserCanAccessChannel( - $request, $channelName - ); - } - - /** - * Return the valid authentication response. - * - * @param \Illuminate\Http\Request $request - * @param mixed $result - * @return mixed - */ - public function validAuthenticationResponse($request, $result) - { - if (Str::startsWith($request->channel_name, 'private')) { - return $this->decodePusherResponse( - $request, $this->pusher->socket_auth($request->channel_name, $request->socket_id) - ); - } - - $channelName = $this->normalizeChannelName($request->channel_name); - - return $this->decodePusherResponse( - $request, - $this->pusher->presence_auth( - $request->channel_name, $request->socket_id, - $this->retrieveUser($request, $channelName)->getAuthIdentifier(), $result - ) - ); - } - - /** - * Decode the given Pusher response. - * - * @param \Illuminate\Http\Request $request - * @param mixed $response - * @return array - */ - protected function decodePusherResponse($request, $response) - { - if (! $request->input('callback', false)) { - return json_decode($response, true); - } - - return response()->json(json_decode($response, true)) - ->withCallback($request->callback); - } - - /** - * Broadcast the given event. - * - * @param array $channels - * @param string $event - * @param array $payload - * @return void - */ - public function broadcast(array $channels, $event, array $payload = []) - { - $socket = Arr::pull($payload, 'socket'); - - $response = $this->pusher->trigger( - $this->formatChannels($channels), $event, $payload, $socket, true - ); - - if ((is_array($response) && $response['status'] >= 200 && $response['status'] <= 299) - || $response === true) { - return; - } - - throw new BroadcastException( - is_bool($response) ? 'Failed to connect to Pusher.' : $response['body'] - ); - } - - /** - * Get the Pusher SDK instance. - * - * @return \Pusher\Pusher - */ - public function getPusher() - { - return $this->pusher; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Broadcasting/Broadcasters/RedisBroadcaster.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Broadcasting/Broadcasters/RedisBroadcaster.php deleted file mode 100644 index b001c1d..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Broadcasting/Broadcasters/RedisBroadcaster.php +++ /dev/null @@ -1,105 +0,0 @@ -redis = $redis; - $this->connection = $connection; - } - - /** - * Authenticate the incoming request for a given channel. - * - * @param \Illuminate\Http\Request $request - * @return mixed - * - * @throws \Symfony\Component\HttpKernel\Exception\AccessDeniedHttpException - */ - public function auth($request) - { - $channelName = $this->normalizeChannelName($request->channel_name); - - if ($this->isGuardedChannel($request->channel_name) && - ! $this->retrieveUser($request, $channelName)) { - throw new AccessDeniedHttpException; - } - - return parent::verifyUserCanAccessChannel( - $request, $channelName - ); - } - - /** - * Return the valid authentication response. - * - * @param \Illuminate\Http\Request $request - * @param mixed $result - * @return mixed - */ - public function validAuthenticationResponse($request, $result) - { - if (is_bool($result)) { - return json_encode($result); - } - - $channelName = $this->normalizeChannelName($request->channel_name); - - return json_encode(['channel_data' => [ - 'user_id' => $this->retrieveUser($request, $channelName)->getAuthIdentifier(), - 'user_info' => $result, - ]]); - } - - /** - * Broadcast the given event. - * - * @param array $channels - * @param string $event - * @param array $payload - * @return void - */ - public function broadcast(array $channels, $event, array $payload = []) - { - $connection = $this->redis->connection($this->connection); - - $payload = json_encode([ - 'event' => $event, - 'data' => $payload, - 'socket' => Arr::pull($payload, 'socket'), - ]); - - foreach ($this->formatChannels($channels) as $channel) { - $connection->publish($channel, $payload); - } - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Broadcasting/Broadcasters/UsePusherChannelConventions.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Broadcasting/Broadcasters/UsePusherChannelConventions.php deleted file mode 100644 index df43fac..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Broadcasting/Broadcasters/UsePusherChannelConventions.php +++ /dev/null @@ -1,36 +0,0 @@ -isGuardedChannel($channel)) { - return Str::startsWith($channel, 'private-') - ? Str::replaceFirst('private-', '', $channel) - : Str::replaceFirst('presence-', '', $channel); - } - - return $channel; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Broadcasting/Channel.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Broadcasting/Channel.php deleted file mode 100644 index 798d602..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Broadcasting/Channel.php +++ /dev/null @@ -1,34 +0,0 @@ -name = $name; - } - - /** - * Convert the channel instance to a string. - * - * @return string - */ - public function __toString() - { - return $this->name; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Broadcasting/InteractsWithSockets.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Broadcasting/InteractsWithSockets.php deleted file mode 100644 index 6be0791..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Broadcasting/InteractsWithSockets.php +++ /dev/null @@ -1,39 +0,0 @@ -socket = Broadcast::socket(); - - return $this; - } - - /** - * Broadcast the event to everyone. - * - * @return $this - */ - public function broadcastToEveryone() - { - $this->socket = null; - - return $this; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Broadcasting/LICENSE.md b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Broadcasting/LICENSE.md deleted file mode 100644 index 79810c8..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Broadcasting/LICENSE.md +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) Taylor Otwell - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Broadcasting/PendingBroadcast.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Broadcasting/PendingBroadcast.php deleted file mode 100644 index b755029..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Broadcasting/PendingBroadcast.php +++ /dev/null @@ -1,59 +0,0 @@ -event = $event; - $this->events = $events; - } - - /** - * Broadcast the event to everyone except the current user. - * - * @return $this - */ - public function toOthers() - { - if (method_exists($this->event, 'dontBroadcastToCurrentUser')) { - $this->event->dontBroadcastToCurrentUser(); - } - - return $this; - } - - /** - * Handle the object's destruction. - * - * @return void - */ - public function __destruct() - { - $this->events->dispatch($this->event); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Broadcasting/PresenceChannel.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Broadcasting/PresenceChannel.php deleted file mode 100644 index 22de12d..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Broadcasting/PresenceChannel.php +++ /dev/null @@ -1,17 +0,0 @@ -app->singleton(Dispatcher::class, function ($app) { - return new Dispatcher($app, function ($connection = null) use ($app) { - return $app[QueueFactoryContract::class]->connection($connection); - }); - }); - - $this->app->alias( - Dispatcher::class, DispatcherContract::class - ); - - $this->app->alias( - Dispatcher::class, QueueingDispatcherContract::class - ); - } - - /** - * Get the services provided by the provider. - * - * @return array - */ - public function provides() - { - return [ - Dispatcher::class, - DispatcherContract::class, - QueueingDispatcherContract::class, - ]; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Bus/Dispatcher.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Bus/Dispatcher.php deleted file mode 100644 index 1a7b9a4..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Bus/Dispatcher.php +++ /dev/null @@ -1,212 +0,0 @@ -container = $container; - $this->queueResolver = $queueResolver; - $this->pipeline = new Pipeline($container); - } - - /** - * Dispatch a command to its appropriate handler. - * - * @param mixed $command - * @return mixed - */ - public function dispatch($command) - { - if ($this->queueResolver && $this->commandShouldBeQueued($command)) { - return $this->dispatchToQueue($command); - } - - return $this->dispatchNow($command); - } - - /** - * Dispatch a command to its appropriate handler in the current process. - * - * @param mixed $command - * @param mixed $handler - * @return mixed - */ - public function dispatchNow($command, $handler = null) - { - if ($handler || $handler = $this->getCommandHandler($command)) { - $callback = function ($command) use ($handler) { - return $handler->handle($command); - }; - } else { - $callback = function ($command) { - return $this->container->call([$command, 'handle']); - }; - } - - return $this->pipeline->send($command)->through($this->pipes)->then($callback); - } - - /** - * Determine if the given command has a handler. - * - * @param mixed $command - * @return bool - */ - public function hasCommandHandler($command) - { - return array_key_exists(get_class($command), $this->handlers); - } - - /** - * Retrieve the handler for a command. - * - * @param mixed $command - * @return bool|mixed - */ - public function getCommandHandler($command) - { - if ($this->hasCommandHandler($command)) { - return $this->container->make($this->handlers[get_class($command)]); - } - - return false; - } - - /** - * Determine if the given command should be queued. - * - * @param mixed $command - * @return bool - */ - protected function commandShouldBeQueued($command) - { - return $command instanceof ShouldQueue; - } - - /** - * Dispatch a command to its appropriate handler behind a queue. - * - * @param mixed $command - * @return mixed - * - * @throws \RuntimeException - */ - public function dispatchToQueue($command) - { - $connection = $command->connection ?? null; - - $queue = call_user_func($this->queueResolver, $connection); - - if (! $queue instanceof Queue) { - throw new RuntimeException('Queue resolver did not return a Queue implementation.'); - } - - if (method_exists($command, 'queue')) { - return $command->queue($queue, $command); - } - - return $this->pushCommandToQueue($queue, $command); - } - - /** - * Push the command onto the given queue instance. - * - * @param \Illuminate\Contracts\Queue\Queue $queue - * @param mixed $command - * @return mixed - */ - protected function pushCommandToQueue($queue, $command) - { - if (isset($command->queue, $command->delay)) { - return $queue->laterOn($command->queue, $command->delay, $command); - } - - if (isset($command->queue)) { - return $queue->pushOn($command->queue, $command); - } - - if (isset($command->delay)) { - return $queue->later($command->delay, $command); - } - - return $queue->push($command); - } - - /** - * Set the pipes through which commands should be piped before dispatching. - * - * @param array $pipes - * @return $this - */ - public function pipeThrough(array $pipes) - { - $this->pipes = $pipes; - - return $this; - } - - /** - * Map a command to a handler. - * - * @param array $map - * @return $this - */ - public function map(array $map) - { - $this->handlers = array_merge($this->handlers, $map); - - return $this; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Bus/LICENSE.md b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Bus/LICENSE.md deleted file mode 100644 index 79810c8..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Bus/LICENSE.md +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) Taylor Otwell - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Bus/Queueable.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Bus/Queueable.php deleted file mode 100644 index 48cee18..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Bus/Queueable.php +++ /dev/null @@ -1,150 +0,0 @@ -connection = $connection; - - return $this; - } - - /** - * Set the desired queue for the job. - * - * @param string|null $queue - * @return $this - */ - public function onQueue($queue) - { - $this->queue = $queue; - - return $this; - } - - /** - * Set the desired connection for the chain. - * - * @param string|null $connection - * @return $this - */ - public function allOnConnection($connection) - { - $this->chainConnection = $connection; - $this->connection = $connection; - - return $this; - } - - /** - * Set the desired queue for the chain. - * - * @param string|null $queue - * @return $this - */ - public function allOnQueue($queue) - { - $this->chainQueue = $queue; - $this->queue = $queue; - - return $this; - } - - /** - * Set the desired delay for the job. - * - * @param \DateTimeInterface|\DateInterval|int|null $delay - * @return $this - */ - public function delay($delay) - { - $this->delay = $delay; - - return $this; - } - - /** - * Set the jobs that should run if this job is successful. - * - * @param array $chain - * @return $this - */ - public function chain($chain) - { - $this->chained = collect($chain)->map(function ($job) { - return serialize($job); - })->all(); - - return $this; - } - - /** - * Dispatch the next job on the chain. - * - * @return void - */ - public function dispatchNextJobInChain() - { - if (! empty($this->chained)) { - dispatch(tap(unserialize(array_shift($this->chained)), function ($next) { - $next->chained = $this->chained; - - $next->onConnection($next->connection ?: $this->chainConnection); - $next->onQueue($next->queue ?: $this->chainQueue); - - $next->chainConnection = $this->chainConnection; - $next->chainQueue = $this->chainQueue; - })); - } - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Bus/composer.json b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Bus/composer.json deleted file mode 100644 index d266246..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Bus/composer.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "name": "illuminate/bus", - "description": "The Illuminate Bus package.", - "license": "MIT", - "homepage": "https://laravel.com", - "support": { - "issues": "https://github.com/laravel/framework/issues", - "source": "https://github.com/laravel/framework" - }, - "authors": [ - { - "name": "Taylor Otwell", - "email": "taylor@laravel.com" - } - ], - "require": { - "php": "^7.1.3", - "illuminate/contracts": "5.8.*", - "illuminate/pipeline": "5.8.*", - "illuminate/support": "5.8.*" - }, - "autoload": { - "psr-4": { - "Illuminate\\Bus\\": "" - } - }, - "extra": { - "branch-alias": { - "dev-master": "5.8-dev" - } - }, - "config": { - "sort-packages": true - }, - "minimum-stability": "dev" -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cache/ApcStore.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cache/ApcStore.php deleted file mode 100644 index dc5e2f0..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cache/ApcStore.php +++ /dev/null @@ -1,130 +0,0 @@ -apc = $apc; - $this->prefix = $prefix; - } - - /** - * Retrieve an item from the cache by key. - * - * @param string|array $key - * @return mixed - */ - public function get($key) - { - $value = $this->apc->get($this->prefix.$key); - - if ($value !== false) { - return $value; - } - } - - /** - * Store an item in the cache for a given number of seconds. - * - * @param string $key - * @param mixed $value - * @param int $seconds - * @return bool - */ - public function put($key, $value, $seconds) - { - return $this->apc->put($this->prefix.$key, $value, $seconds); - } - - /** - * Increment the value of an item in the cache. - * - * @param string $key - * @param mixed $value - * @return int|bool - */ - public function increment($key, $value = 1) - { - return $this->apc->increment($this->prefix.$key, $value); - } - - /** - * Decrement the value of an item in the cache. - * - * @param string $key - * @param mixed $value - * @return int|bool - */ - public function decrement($key, $value = 1) - { - return $this->apc->decrement($this->prefix.$key, $value); - } - - /** - * Store an item in the cache indefinitely. - * - * @param string $key - * @param mixed $value - * @return bool - */ - public function forever($key, $value) - { - return $this->put($key, $value, 0); - } - - /** - * Remove an item from the cache. - * - * @param string $key - * @return bool - */ - public function forget($key) - { - return $this->apc->delete($this->prefix.$key); - } - - /** - * Remove all items from the cache. - * - * @return bool - */ - public function flush() - { - return $this->apc->flush(); - } - - /** - * Get the cache key prefix. - * - * @return string - */ - public function getPrefix() - { - return $this->prefix; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cache/ApcWrapper.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cache/ApcWrapper.php deleted file mode 100644 index 42e76aa..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cache/ApcWrapper.php +++ /dev/null @@ -1,92 +0,0 @@ -apcu = function_exists('apcu_fetch'); - } - - /** - * Get an item from the cache. - * - * @param string $key - * @return mixed - */ - public function get($key) - { - return $this->apcu ? apcu_fetch($key) : apc_fetch($key); - } - - /** - * Store an item in the cache. - * - * @param string $key - * @param mixed $value - * @param int $seconds - * @return array|bool - */ - public function put($key, $value, $seconds) - { - return $this->apcu ? apcu_store($key, $value, $seconds) : apc_store($key, $value, $seconds); - } - - /** - * Increment the value of an item in the cache. - * - * @param string $key - * @param mixed $value - * @return int|bool - */ - public function increment($key, $value) - { - return $this->apcu ? apcu_inc($key, $value) : apc_inc($key, $value); - } - - /** - * Decrement the value of an item in the cache. - * - * @param string $key - * @param mixed $value - * @return int|bool - */ - public function decrement($key, $value) - { - return $this->apcu ? apcu_dec($key, $value) : apc_dec($key, $value); - } - - /** - * Remove an item from the cache. - * - * @param string $key - * @return bool - */ - public function delete($key) - { - return $this->apcu ? apcu_delete($key) : apc_delete($key); - } - - /** - * Remove all items from the cache. - * - * @return bool - */ - public function flush() - { - return $this->apcu ? apcu_clear_cache() : apc_clear_cache('user'); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cache/ArrayStore.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cache/ArrayStore.php deleted file mode 100644 index f1f00d6..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cache/ArrayStore.php +++ /dev/null @@ -1,165 +0,0 @@ -storage[$key])) { - return; - } - - $item = $this->storage[$key]; - - $expiresAt = $item['expiresAt'] ?? 0; - - if ($expiresAt !== 0 && $this->currentTime() > $expiresAt) { - $this->forget($key); - - return; - } - - return $item['value']; - } - - /** - * Store an item in the cache for a given number of seconds. - * - * @param string $key - * @param mixed $value - * @param int $seconds - * @return bool - */ - public function put($key, $value, $seconds) - { - $this->storage[$key] = [ - 'value' => $value, - 'expiresAt' => $this->calculateExpiration($seconds), - ]; - - return true; - } - - /** - * Increment the value of an item in the cache. - * - * @param string $key - * @param mixed $value - * @return int - */ - public function increment($key, $value = 1) - { - if (! isset($this->storage[$key])) { - $this->forever($key, $value); - - return $this->storage[$key]['value']; - } - - $this->storage[$key]['value'] = ((int) $this->storage[$key]['value']) + $value; - - return $this->storage[$key]['value']; - } - - /** - * Decrement the value of an item in the cache. - * - * @param string $key - * @param mixed $value - * @return int - */ - public function decrement($key, $value = 1) - { - return $this->increment($key, $value * -1); - } - - /** - * Store an item in the cache indefinitely. - * - * @param string $key - * @param mixed $value - * @return bool - */ - public function forever($key, $value) - { - return $this->put($key, $value, 0); - } - - /** - * Remove an item from the cache. - * - * @param string $key - * @return bool - */ - public function forget($key) - { - if (array_key_exists($key, $this->storage)) { - unset($this->storage[$key]); - - return true; - } - - return false; - } - - /** - * Remove all items from the cache. - * - * @return bool - */ - public function flush() - { - $this->storage = []; - - return true; - } - - /** - * Get the cache key prefix. - * - * @return string - */ - public function getPrefix() - { - return ''; - } - - /** - * Get the expiration time of the key. - * - * @param int $seconds - * @return int - */ - protected function calculateExpiration($seconds) - { - return $this->toTimestamp($seconds); - } - - /** - * Get the UNIX timestamp for the given number of seconds. - * - * @param int $seconds - * @return int - */ - protected function toTimestamp($seconds) - { - return $seconds > 0 ? $this->availableAt($seconds) : 0; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cache/CacheManager.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cache/CacheManager.php deleted file mode 100644 index 8c72c81..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cache/CacheManager.php +++ /dev/null @@ -1,359 +0,0 @@ -app = $app; - } - - /** - * Get a cache store instance by name, wrapped in a repository. - * - * @param string|null $name - * @return \Illuminate\Contracts\Cache\Repository - */ - public function store($name = null) - { - $name = $name ?: $this->getDefaultDriver(); - - return $this->stores[$name] = $this->get($name); - } - - /** - * Get a cache driver instance. - * - * @param string|null $driver - * @return \Illuminate\Contracts\Cache\Repository - */ - public function driver($driver = null) - { - return $this->store($driver); - } - - /** - * Attempt to get the store from the local cache. - * - * @param string $name - * @return \Illuminate\Contracts\Cache\Repository - */ - protected function get($name) - { - return $this->stores[$name] ?? $this->resolve($name); - } - - /** - * Resolve the given store. - * - * @param string $name - * @return \Illuminate\Contracts\Cache\Repository - * - * @throws \InvalidArgumentException - */ - protected function resolve($name) - { - $config = $this->getConfig($name); - - if (is_null($config)) { - throw new InvalidArgumentException("Cache store [{$name}] is not defined."); - } - - if (isset($this->customCreators[$config['driver']])) { - return $this->callCustomCreator($config); - } else { - $driverMethod = 'create'.ucfirst($config['driver']).'Driver'; - - if (method_exists($this, $driverMethod)) { - return $this->{$driverMethod}($config); - } else { - throw new InvalidArgumentException("Driver [{$config['driver']}] is not supported."); - } - } - } - - /** - * Call a custom driver creator. - * - * @param array $config - * @return mixed - */ - protected function callCustomCreator(array $config) - { - return $this->customCreators[$config['driver']]($this->app, $config); - } - - /** - * Create an instance of the APC cache driver. - * - * @param array $config - * @return \Illuminate\Cache\Repository - */ - protected function createApcDriver(array $config) - { - $prefix = $this->getPrefix($config); - - return $this->repository(new ApcStore(new ApcWrapper, $prefix)); - } - - /** - * Create an instance of the array cache driver. - * - * @return \Illuminate\Cache\Repository - */ - protected function createArrayDriver() - { - return $this->repository(new ArrayStore); - } - - /** - * Create an instance of the file cache driver. - * - * @param array $config - * @return \Illuminate\Cache\Repository - */ - protected function createFileDriver(array $config) - { - return $this->repository(new FileStore($this->app['files'], $config['path'])); - } - - /** - * Create an instance of the Memcached cache driver. - * - * @param array $config - * @return \Illuminate\Cache\Repository - */ - protected function createMemcachedDriver(array $config) - { - $prefix = $this->getPrefix($config); - - $memcached = $this->app['memcached.connector']->connect( - $config['servers'], - $config['persistent_id'] ?? null, - $config['options'] ?? [], - array_filter($config['sasl'] ?? []) - ); - - return $this->repository(new MemcachedStore($memcached, $prefix)); - } - - /** - * Create an instance of the Null cache driver. - * - * @return \Illuminate\Cache\Repository - */ - protected function createNullDriver() - { - return $this->repository(new NullStore); - } - - /** - * Create an instance of the Redis cache driver. - * - * @param array $config - * @return \Illuminate\Cache\Repository - */ - protected function createRedisDriver(array $config) - { - $redis = $this->app['redis']; - - $connection = $config['connection'] ?? 'default'; - - return $this->repository(new RedisStore($redis, $this->getPrefix($config), $connection)); - } - - /** - * Create an instance of the database cache driver. - * - * @param array $config - * @return \Illuminate\Cache\Repository - */ - protected function createDatabaseDriver(array $config) - { - $connection = $this->app['db']->connection($config['connection'] ?? null); - - return $this->repository( - new DatabaseStore( - $connection, $config['table'], $this->getPrefix($config) - ) - ); - } - - /** - * Create an instance of the DynamoDB cache driver. - * - * @param array $config - * @return \Illuminate\Cache\Repository - */ - protected function createDynamodbDriver(array $config) - { - $dynamoConfig = [ - 'region' => $config['region'], - 'version' => 'latest', - 'endpoint' => $config['endpoint'] ?? null, - ]; - - if ($config['key'] && $config['secret']) { - $dynamoConfig['credentials'] = Arr::only( - $config, ['key', 'secret', 'token'] - ); - } - - return $this->repository( - new DynamoDbStore( - new DynamoDbClient($dynamoConfig), - $config['table'], - $config['attributes']['key'] ?? 'key', - $config['attributes']['value'] ?? 'value', - $config['attributes']['expiration'] ?? 'expires_at', - $this->getPrefix($config) - ) - ); - } - - /** - * Create a new cache repository with the given implementation. - * - * @param \Illuminate\Contracts\Cache\Store $store - * @return \Illuminate\Cache\Repository - */ - public function repository(Store $store) - { - $repository = new Repository($store); - - if ($this->app->bound(DispatcherContract::class)) { - $repository->setEventDispatcher( - $this->app[DispatcherContract::class] - ); - } - - return $repository; - } - - /** - * Get the cache prefix. - * - * @param array $config - * @return string - */ - protected function getPrefix(array $config) - { - return $config['prefix'] ?? $this->app['config']['cache.prefix']; - } - - /** - * Get the cache connection configuration. - * - * @param string $name - * @return array - */ - protected function getConfig($name) - { - return $this->app['config']["cache.stores.{$name}"]; - } - - /** - * Get the default cache driver name. - * - * @return string - */ - public function getDefaultDriver() - { - return $this->app['config']['cache.default']; - } - - /** - * Set the default cache driver name. - * - * @param string $name - * @return void - */ - public function setDefaultDriver($name) - { - $this->app['config']['cache.default'] = $name; - } - - /** - * Unset the given driver instances. - * - * @param array|string|null $name - * @return $this - */ - public function forgetDriver($name = null) - { - $name = $name ?? $this->getDefaultDriver(); - - foreach ((array) $name as $cacheName) { - if (isset($this->stores[$cacheName])) { - unset($this->stores[$cacheName]); - } - } - - return $this; - } - - /** - * Register a custom driver creator Closure. - * - * @param string $driver - * @param \Closure $callback - * @return $this - */ - public function extend($driver, Closure $callback) - { - $this->customCreators[$driver] = $callback->bindTo($this, $this); - - return $this; - } - - /** - * Dynamically call the default driver instance. - * - * @param string $method - * @param array $parameters - * @return mixed - */ - public function __call($method, $parameters) - { - return $this->store()->$method(...$parameters); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cache/CacheServiceProvider.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cache/CacheServiceProvider.php deleted file mode 100644 index 8b6e929..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cache/CacheServiceProvider.php +++ /dev/null @@ -1,41 +0,0 @@ -app->singleton('cache', function ($app) { - return new CacheManager($app); - }); - - $this->app->singleton('cache.store', function ($app) { - return $app['cache']->driver(); - }); - - $this->app->singleton('memcached.connector', function () { - return new MemcachedConnector; - }); - } - - /** - * Get the services provided by the provider. - * - * @return array - */ - public function provides() - { - return [ - 'cache', 'cache.store', 'memcached.connector', - ]; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cache/Console/CacheTableCommand.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cache/Console/CacheTableCommand.php deleted file mode 100644 index bde2d4b..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cache/Console/CacheTableCommand.php +++ /dev/null @@ -1,81 +0,0 @@ -files = $files; - $this->composer = $composer; - } - - /** - * Execute the console command. - * - * @return void - */ - public function handle() - { - $fullPath = $this->createBaseMigration(); - - $this->files->put($fullPath, $this->files->get(__DIR__.'/stubs/cache.stub')); - - $this->info('Migration created successfully!'); - - $this->composer->dumpAutoloads(); - } - - /** - * Create a base migration file for the table. - * - * @return string - */ - protected function createBaseMigration() - { - $name = 'create_cache_table'; - - $path = $this->laravel->databasePath().'/migrations'; - - return $this->laravel['migration.creator']->create($name, $path); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cache/Console/ClearCommand.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cache/Console/ClearCommand.php deleted file mode 100644 index 4feeb17..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cache/Console/ClearCommand.php +++ /dev/null @@ -1,145 +0,0 @@ -cache = $cache; - $this->files = $files; - } - - /** - * Execute the console command. - * - * @return void - */ - public function handle() - { - $this->laravel['events']->dispatch( - 'cache:clearing', [$this->argument('store'), $this->tags()] - ); - - $successful = $this->cache()->flush(); - - $this->flushFacades(); - - if (! $successful) { - return $this->error('Failed to clear cache. Make sure you have the appropriate permissions.'); - } - - $this->laravel['events']->dispatch( - 'cache:cleared', [$this->argument('store'), $this->tags()] - ); - - $this->info('Application cache cleared!'); - } - - /** - * Flush the real-time facades stored in the cache directory. - * - * @return void - */ - public function flushFacades() - { - if (! $this->files->exists($storagePath = storage_path('framework/cache'))) { - return; - } - - foreach ($this->files->files($storagePath) as $file) { - if (preg_match('/facade-.*\.php$/', $file)) { - $this->files->delete($file); - } - } - } - - /** - * Get the cache instance for the command. - * - * @return \Illuminate\Cache\Repository - */ - protected function cache() - { - $cache = $this->cache->store($this->argument('store')); - - return empty($this->tags()) ? $cache : $cache->tags($this->tags()); - } - - /** - * Get the tags passed to the command. - * - * @return array - */ - protected function tags() - { - return array_filter(explode(',', $this->option('tags'))); - } - - /** - * Get the console command arguments. - * - * @return array - */ - protected function getArguments() - { - return [ - ['store', InputArgument::OPTIONAL, 'The name of the store you would like to clear'], - ]; - } - - /** - * Get the console command options. - * - * @return array - */ - protected function getOptions() - { - return [ - ['tags', null, InputOption::VALUE_OPTIONAL, 'The cache tags you would like to clear', null], - ]; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cache/Console/ForgetCommand.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cache/Console/ForgetCommand.php deleted file mode 100644 index 646dc14..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cache/Console/ForgetCommand.php +++ /dev/null @@ -1,57 +0,0 @@ -cache = $cache; - } - - /** - * Execute the console command. - * - * @return void - */ - public function handle() - { - $this->cache->store($this->argument('store'))->forget( - $this->argument('key') - ); - - $this->info('The ['.$this->argument('key').'] key has been removed from the cache.'); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cache/Console/stubs/cache.stub b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cache/Console/stubs/cache.stub deleted file mode 100644 index 058afe6..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cache/Console/stubs/cache.stub +++ /dev/null @@ -1,32 +0,0 @@ -string('key')->unique(); - $table->mediumText('value'); - $table->integer('expiration'); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('cache'); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cache/DatabaseStore.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cache/DatabaseStore.php deleted file mode 100644 index a7de61b..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cache/DatabaseStore.php +++ /dev/null @@ -1,294 +0,0 @@ -table = $table; - $this->prefix = $prefix; - $this->connection = $connection; - } - - /** - * Retrieve an item from the cache by key. - * - * @param string|array $key - * @return mixed - */ - public function get($key) - { - $prefixed = $this->prefix.$key; - - $cache = $this->table()->where('key', '=', $prefixed)->first(); - - // If we have a cache record we will check the expiration time against current - // time on the system and see if the record has expired. If it has, we will - // remove the records from the database table so it isn't returned again. - if (is_null($cache)) { - return; - } - - $cache = is_array($cache) ? (object) $cache : $cache; - - // If this cache expiration date is past the current time, we will remove this - // item from the cache. Then we will return a null value since the cache is - // expired. We will use "Carbon" to make this comparison with the column. - if ($this->currentTime() >= $cache->expiration) { - $this->forget($key); - - return; - } - - return $this->unserialize($cache->value); - } - - /** - * Store an item in the cache for a given number of seconds. - * - * @param string $key - * @param mixed $value - * @param int $seconds - * @return bool - */ - public function put($key, $value, $seconds) - { - $key = $this->prefix.$key; - - $value = $this->serialize($value); - - $expiration = $this->getTime() + $seconds; - - try { - return $this->table()->insert(compact('key', 'value', 'expiration')); - } catch (Exception $e) { - $result = $this->table()->where('key', $key)->update(compact('value', 'expiration')); - - return $result > 0; - } - } - - /** - * Increment the value of an item in the cache. - * - * @param string $key - * @param mixed $value - * @return int|bool - */ - public function increment($key, $value = 1) - { - return $this->incrementOrDecrement($key, $value, function ($current, $value) { - return $current + $value; - }); - } - - /** - * Decrement the value of an item in the cache. - * - * @param string $key - * @param mixed $value - * @return int|bool - */ - public function decrement($key, $value = 1) - { - return $this->incrementOrDecrement($key, $value, function ($current, $value) { - return $current - $value; - }); - } - - /** - * Increment or decrement an item in the cache. - * - * @param string $key - * @param mixed $value - * @param \Closure $callback - * @return int|bool - */ - protected function incrementOrDecrement($key, $value, Closure $callback) - { - return $this->connection->transaction(function () use ($key, $value, $callback) { - $prefixed = $this->prefix.$key; - - $cache = $this->table()->where('key', $prefixed) - ->lockForUpdate()->first(); - - // If there is no value in the cache, we will return false here. Otherwise the - // value will be decrypted and we will proceed with this function to either - // increment or decrement this value based on the given action callbacks. - if (is_null($cache)) { - return false; - } - - $cache = is_array($cache) ? (object) $cache : $cache; - - $current = $this->unserialize($cache->value); - - // Here we'll call this callback function that was given to the function which - // is used to either increment or decrement the function. We use a callback - // so we do not have to recreate all this logic in each of the functions. - $new = $callback((int) $current, $value); - - if (! is_numeric($current)) { - return false; - } - - // Here we will update the values in the table. We will also encrypt the value - // since database cache values are encrypted by default with secure storage - // that can't be easily read. We will return the new value after storing. - $this->table()->where('key', $prefixed)->update([ - 'value' => $this->serialize($new), - ]); - - return $new; - }); - } - - /** - * Get the current system time. - * - * @return int - */ - protected function getTime() - { - return $this->currentTime(); - } - - /** - * Store an item in the cache indefinitely. - * - * @param string $key - * @param mixed $value - * @return bool - */ - public function forever($key, $value) - { - return $this->put($key, $value, 315360000); - } - - /** - * Remove an item from the cache. - * - * @param string $key - * @return bool - */ - public function forget($key) - { - $this->table()->where('key', '=', $this->prefix.$key)->delete(); - - return true; - } - - /** - * Remove all items from the cache. - * - * @return bool - */ - public function flush() - { - $this->table()->delete(); - - return true; - } - - /** - * Get a query builder for the cache table. - * - * @return \Illuminate\Database\Query\Builder - */ - protected function table() - { - return $this->connection->table($this->table); - } - - /** - * Get the underlying database connection. - * - * @return \Illuminate\Database\ConnectionInterface - */ - public function getConnection() - { - return $this->connection; - } - - /** - * Get the cache key prefix. - * - * @return string - */ - public function getPrefix() - { - return $this->prefix; - } - - /** - * Serialize the given value. - * - * @param mixed $value - * @return string - */ - protected function serialize($value) - { - $result = serialize($value); - - if ($this->connection instanceof PostgresConnection && Str::contains($result, "\0")) { - $result = base64_encode($result); - } - - return $result; - } - - /** - * Unserialize the given value. - * - * @param string $value - * @return mixed - */ - protected function unserialize($value) - { - if ($this->connection instanceof PostgresConnection && ! Str::contains($value, [':', ';'])) { - $value = base64_decode($value); - } - - return unserialize($value); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cache/DynamoDbLock.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cache/DynamoDbLock.php deleted file mode 100644 index abeabc1..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cache/DynamoDbLock.php +++ /dev/null @@ -1,73 +0,0 @@ -dynamo = $dynamo; - } - - /** - * Attempt to acquire the lock. - * - * @return bool - */ - public function acquire() - { - return $this->dynamo->add( - $this->name, $this->owner, $this->seconds - ); - } - - /** - * Release the lock. - * - * @return void - */ - public function release() - { - if ($this->isOwnedByCurrentProcess()) { - $this->dynamo->forget($this->name); - } - } - - /** - * Release this lock in disregard of ownership. - * - * @return void - */ - public function forceRelease() - { - $this->dynamo->forget($this->name); - } - - /** - * Returns the owner value written into the driver for this lock. - * - * @return mixed - */ - protected function getCurrentOwner() - { - return $this->dynamo->get($this->name); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cache/DynamoDbStore.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cache/DynamoDbStore.php deleted file mode 100644 index d5c84d6..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cache/DynamoDbStore.php +++ /dev/null @@ -1,525 +0,0 @@ -table = $table; - $this->dynamo = $dynamo; - $this->keyAttribute = $keyAttribute; - $this->valueAttribute = $valueAttribute; - $this->expirationAttribute = $expirationAttribute; - - $this->setPrefix($prefix); - } - - /** - * Retrieve an item from the cache by key. - * - * @param string $key - * @return mixed - */ - public function get($key) - { - $response = $this->dynamo->getItem([ - 'TableName' => $this->table, - 'ConsistentRead' => false, - 'Key' => [ - $this->keyAttribute => [ - 'S' => $this->prefix.$key, - ], - ], - ]); - - if (! isset($response['Item'])) { - return; - } - - if ($this->isExpired($response['Item'])) { - return; - } - - if (isset($response['Item'][$this->valueAttribute])) { - return $this->unserialize( - $response['Item'][$this->valueAttribute]['S'] ?? - $response['Item'][$this->valueAttribute]['N'] ?? - null - ); - } - } - - /** - * Retrieve multiple items from the cache by key. - * - * Items not found in the cache will have a null value. - * - * @param array $keys - * @return array - */ - public function many(array $keys) - { - $prefixedKeys = array_map(function ($key) { - return $this->prefix.$key; - }, $keys); - - $response = $this->dynamo->batchGetItem([ - 'RequestItems' => [ - $this->table => [ - 'ConsistentRead' => false, - 'Keys' => collect($prefixedKeys)->map(function ($key) { - return [ - $this->keyAttribute => [ - 'S' => $key, - ], - ]; - })->all(), - ], - ], - ]); - - $now = Carbon::now(); - - return array_merge(collect(array_flip($keys))->map(function () { - })->all(), collect($response['Responses'][$this->table])->mapWithKeys(function ($response) use ($now) { - if ($this->isExpired($response, $now)) { - $value = null; - } else { - $value = $this->unserialize( - $response[$this->valueAttribute]['S'] ?? - $response[$this->valueAttribute]['N'] ?? - null - ); - } - - return [Str::replaceFirst($this->prefix, '', $response[$this->keyAttribute]['S']) => $value]; - })->all()); - } - - /** - * Determine if the given item is expired. - * - * @param array $item - * @param \DateTimeInterface|null $expiration - * @return bool - */ - protected function isExpired(array $item, $expiration = null) - { - $expiration = $expiration ?: Carbon::now(); - - return isset($item[$this->expirationAttribute]) && - $expiration->getTimestamp() >= $item[$this->expirationAttribute]['N']; - } - - /** - * Store an item in the cache for a given number of seconds. - * - * @param string $key - * @param mixed $value - * @param int $seconds - * @return bool - */ - public function put($key, $value, $seconds) - { - $this->dynamo->putItem([ - 'TableName' => $this->table, - 'Item' => [ - $this->keyAttribute => [ - 'S' => $this->prefix.$key, - ], - $this->valueAttribute => [ - $this->type($value) => $this->serialize($value), - ], - $this->expirationAttribute => [ - 'N' => (string) $this->toTimestamp($seconds), - ], - ], - ]); - - return true; - } - - /** - * Store multiple items in the cache for a given number of $seconds. - * - * @param array $values - * @param int $seconds - * @return bool - */ - public function putMany(array $values, $seconds) - { - $expiration = $this->toTimestamp($seconds); - - $this->dynamo->batchWriteItem([ - 'RequestItems' => [ - $this->table => collect($values)->map(function ($value, $key) use ($expiration) { - return [ - 'PutRequest' => [ - 'Item' => [ - $this->keyAttribute => [ - 'S' => $this->prefix.$key, - ], - $this->valueAttribute => [ - $this->type($value) => $this->serialize($value), - ], - $this->expirationAttribute => [ - 'N' => (string) $expiration, - ], - ], - ], - ]; - })->values()->all(), - ], - ]); - - return true; - } - - /** - * Store an item in the cache if the key doesn't exist. - * - * @param string $key - * @param mixed $value - * @param int $seconds - * @return bool - */ - public function add($key, $value, $seconds) - { - try { - $this->dynamo->putItem([ - 'TableName' => $this->table, - 'Item' => [ - $this->keyAttribute => [ - 'S' => $this->prefix.$key, - ], - $this->valueAttribute => [ - $this->type($value) => $this->serialize($value), - ], - $this->expirationAttribute => [ - 'N' => (string) $this->toTimestamp($seconds), - ], - ], - 'ConditionExpression' => 'attribute_not_exists(#key) OR #expires_at < :now', - 'ExpressionAttributeNames' => [ - '#key' => $this->keyAttribute, - '#expires_at' => $this->expirationAttribute, - ], - 'ExpressionAttributeValues' => [ - ':now' => [ - 'N' => (string) Carbon::now()->getTimestamp(), - ], - ], - ]); - - return true; - } catch (DynamoDbException $e) { - if (Str::contains($e->getMessage(), 'ConditionalCheckFailed')) { - return false; - } - - throw $e; - } - } - - /** - * Increment the value of an item in the cache. - * - * @param string $key - * @param mixed $value - * @return int|bool - */ - public function increment($key, $value = 1) - { - try { - $response = $this->dynamo->updateItem([ - 'TableName' => $this->table, - 'Key' => [ - $this->keyAttribute => [ - 'S' => $this->prefix.$key, - ], - ], - 'ConditionExpression' => 'attribute_exists(#key) AND #expires_at > :now', - 'UpdateExpression' => 'SET #value = #value + :amount', - 'ExpressionAttributeNames' => [ - '#key' => $this->keyAttribute, - '#value' => $this->valueAttribute, - '#expires_at' => $this->expirationAttribute, - ], - 'ExpressionAttributeValues' => [ - ':now' => [ - 'N' => (string) Carbon::now()->getTimestamp(), - ], - ':amount' => [ - 'N' => (string) $value, - ], - ], - 'ReturnValues' => 'UPDATED_NEW', - ]); - - return (int) $response['Attributes'][$this->valueAttribute]['N']; - } catch (DynamoDbException $e) { - if (Str::contains($e->getMessage(), 'ConditionalCheckFailed')) { - return false; - } - - throw $e; - } - } - - /** - * Decrement the value of an item in the cache. - * - * @param string $key - * @param mixed $value - * @return int|bool - */ - public function decrement($key, $value = 1) - { - try { - $response = $this->dynamo->updateItem([ - 'TableName' => $this->table, - 'Key' => [ - $this->keyAttribute => [ - 'S' => $this->prefix.$key, - ], - ], - 'ConditionExpression' => 'attribute_exists(#key) AND #expires_at > :now', - 'UpdateExpression' => 'SET #value = #value - :amount', - 'ExpressionAttributeNames' => [ - '#key' => $this->keyAttribute, - '#value' => $this->valueAttribute, - '#expires_at' => $this->expirationAttribute, - ], - 'ExpressionAttributeValues' => [ - ':now' => [ - 'N' => (string) Carbon::now()->getTimestamp(), - ], - ':amount' => [ - 'N' => (string) $value, - ], - ], - 'ReturnValues' => 'UPDATED_NEW', - ]); - - return (int) $response['Attributes'][$this->valueAttribute]['N']; - } catch (DynamoDbException $e) { - if (Str::contains($e->getMessage(), 'ConditionalCheckFailed')) { - return false; - } - - throw $e; - } - } - - /** - * Store an item in the cache indefinitely. - * - * @param string $key - * @param mixed $value - * @return bool - */ - public function forever($key, $value) - { - return $this->put($key, $value, now()->addYears(5)->getTimestamp()); - } - - /** - * Get a lock instance. - * - * @param string $name - * @param int $seconds - * @param string|null $owner - * @return \Illuminate\Contracts\Cache\Lock - */ - public function lock($name, $seconds = 0, $owner = null) - { - return new DynamoDbLock($this, $this->prefix.$name, $seconds, $owner); - } - - /** - * Restore a lock instance using the owner identifier. - * - * @param string $name - * @param string $owner - * @return \Illuminate\Contracts\Cache\Lock - */ - public function restoreLock($name, $owner) - { - return $this->lock($name, 0, $owner); - } - - /** - * Remove an item from the cache. - * - * @param string $key - * @return bool - */ - public function forget($key) - { - $this->dynamo->deleteItem([ - 'TableName' => $this->table, - 'Key' => [ - $this->keyAttribute => [ - 'S' => $this->prefix.$key, - ], - ], - ]); - - return true; - } - - /** - * Remove all items from the cache. - * - * @return bool - */ - public function flush() - { - throw new RuntimeException('DynamoDb does not support flushing an entire table. Please create a new table.'); - } - - /** - * Get the UNIX timestamp for the given number of seconds. - * - * @param int $seconds - * @return int - */ - protected function toTimestamp($seconds) - { - return $seconds > 0 - ? $this->availableAt($seconds) - : Carbon::now()->getTimestamp(); - } - - /** - * Serialize the value. - * - * @param mixed $value - * @return mixed - */ - protected function serialize($value) - { - return is_numeric($value) ? (string) $value : serialize($value); - } - - /** - * Unserialize the value. - * - * @param mixed $value - * @return mixed - */ - protected function unserialize($value) - { - if (filter_var($value, FILTER_VALIDATE_INT) !== false) { - return (int) $value; - } - - if (is_numeric($value)) { - return (float) $value; - } - - return unserialize($value); - } - - /** - * Get the DynamoDB type for the given value. - * - * @param mixed $value - * @return string - */ - protected function type($value) - { - return is_numeric($value) ? 'N' : 'S'; - } - - /** - * Get the cache key prefix. - * - * @return string - */ - public function getPrefix() - { - return $this->prefix; - } - - /** - * Set the cache key prefix. - * - * @param string $prefix - * @return void - */ - public function setPrefix($prefix) - { - $this->prefix = ! empty($prefix) ? $prefix.':' : ''; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cache/Events/CacheEvent.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cache/Events/CacheEvent.php deleted file mode 100644 index 6c9d42c..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cache/Events/CacheEvent.php +++ /dev/null @@ -1,46 +0,0 @@ -key = $key; - $this->tags = $tags; - } - - /** - * Set the tags for the cache event. - * - * @param array $tags - * @return $this - */ - public function setTags($tags) - { - $this->tags = $tags; - - return $this; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cache/Events/CacheHit.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cache/Events/CacheHit.php deleted file mode 100644 index 976c9e4..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cache/Events/CacheHit.php +++ /dev/null @@ -1,28 +0,0 @@ -value = $value; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cache/Events/CacheMissed.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cache/Events/CacheMissed.php deleted file mode 100644 index d2a5c9f..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cache/Events/CacheMissed.php +++ /dev/null @@ -1,8 +0,0 @@ -value = $value; - $this->seconds = $seconds; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cache/FileStore.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cache/FileStore.php deleted file mode 100644 index 228d699..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cache/FileStore.php +++ /dev/null @@ -1,270 +0,0 @@ -files = $files; - $this->directory = $directory; - } - - /** - * Retrieve an item from the cache by key. - * - * @param string|array $key - * @return mixed - */ - public function get($key) - { - return $this->getPayload($key)['data'] ?? null; - } - - /** - * Store an item in the cache for a given number of seconds. - * - * @param string $key - * @param mixed $value - * @param int $seconds - * @return bool - */ - public function put($key, $value, $seconds) - { - $this->ensureCacheDirectoryExists($path = $this->path($key)); - - $result = $this->files->put( - $path, $this->expiration($seconds).serialize($value), true - ); - - return $result !== false && $result > 0; - } - - /** - * Create the file cache directory if necessary. - * - * @param string $path - * @return void - */ - protected function ensureCacheDirectoryExists($path) - { - if (! $this->files->exists(dirname($path))) { - $this->files->makeDirectory(dirname($path), 0777, true, true); - } - } - - /** - * Increment the value of an item in the cache. - * - * @param string $key - * @param mixed $value - * @return int - */ - public function increment($key, $value = 1) - { - $raw = $this->getPayload($key); - - return tap(((int) $raw['data']) + $value, function ($newValue) use ($key, $raw) { - $this->put($key, $newValue, $raw['time'] ?? 0); - }); - } - - /** - * Decrement the value of an item in the cache. - * - * @param string $key - * @param mixed $value - * @return int - */ - public function decrement($key, $value = 1) - { - return $this->increment($key, $value * -1); - } - - /** - * Store an item in the cache indefinitely. - * - * @param string $key - * @param mixed $value - * @return bool - */ - public function forever($key, $value) - { - return $this->put($key, $value, 0); - } - - /** - * Remove an item from the cache. - * - * @param string $key - * @return bool - */ - public function forget($key) - { - if ($this->files->exists($file = $this->path($key))) { - return $this->files->delete($file); - } - - return false; - } - - /** - * Remove all items from the cache. - * - * @return bool - */ - public function flush() - { - if (! $this->files->isDirectory($this->directory)) { - return false; - } - - foreach ($this->files->directories($this->directory) as $directory) { - if (! $this->files->deleteDirectory($directory)) { - return false; - } - } - - return true; - } - - /** - * Retrieve an item and expiry time from the cache by key. - * - * @param string $key - * @return array - */ - protected function getPayload($key) - { - $path = $this->path($key); - - // If the file doesn't exist, we obviously cannot return the cache so we will - // just return null. Otherwise, we'll get the contents of the file and get - // the expiration UNIX timestamps from the start of the file's contents. - try { - $expire = substr( - $contents = $this->files->get($path, true), 0, 10 - ); - } catch (Exception $e) { - return $this->emptyPayload(); - } - - // If the current time is greater than expiration timestamps we will delete - // the file and return null. This helps clean up the old files and keeps - // this directory much cleaner for us as old files aren't hanging out. - if ($this->currentTime() >= $expire) { - $this->forget($key); - - return $this->emptyPayload(); - } - - try { - $data = unserialize(substr($contents, 10)); - } catch (Exception $e) { - $this->forget($key); - - return $this->emptyPayload(); - } - - // Next, we'll extract the number of seconds that are remaining for a cache - // so that we can properly retain the time for things like the increment - // operation that may be performed on this cache on a later operation. - $time = $expire - $this->currentTime(); - - return compact('data', 'time'); - } - - /** - * Get a default empty payload for the cache. - * - * @return array - */ - protected function emptyPayload() - { - return ['data' => null, 'time' => null]; - } - - /** - * Get the full path for the given cache key. - * - * @param string $key - * @return string - */ - protected function path($key) - { - $parts = array_slice(str_split($hash = sha1($key), 2), 0, 2); - - return $this->directory.'/'.implode('/', $parts).'/'.$hash; - } - - /** - * Get the expiration time based on the given seconds. - * - * @param int $seconds - * @return int - */ - protected function expiration($seconds) - { - $time = $this->availableAt($seconds); - - return $seconds === 0 || $time > 9999999999 ? 9999999999 : $time; - } - - /** - * Get the Filesystem instance. - * - * @return \Illuminate\Filesystem\Filesystem - */ - public function getFilesystem() - { - return $this->files; - } - - /** - * Get the working directory of the cache. - * - * @return string - */ - public function getDirectory() - { - return $this->directory; - } - - /** - * Get the cache key prefix. - * - * @return string - */ - public function getPrefix() - { - return ''; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cache/LICENSE.md b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cache/LICENSE.md deleted file mode 100644 index 79810c8..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cache/LICENSE.md +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) Taylor Otwell - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cache/Lock.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cache/Lock.php deleted file mode 100644 index ccbfbaf..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cache/Lock.php +++ /dev/null @@ -1,147 +0,0 @@ -name = $name; - $this->owner = $owner; - $this->seconds = $seconds; - } - - /** - * Attempt to acquire the lock. - * - * @return bool - */ - abstract public function acquire(); - - /** - * Release the lock. - * - * @return void - */ - abstract public function release(); - - /** - * Returns the owner value written into the driver for this lock. - * - * @return string - */ - abstract protected function getCurrentOwner(); - - /** - * Attempt to acquire the lock. - * - * @param callable|null $callback - * @return mixed - */ - public function get($callback = null) - { - $result = $this->acquire(); - - if ($result && is_callable($callback)) { - try { - return $callback(); - } finally { - $this->release(); - } - } - - return $result; - } - - /** - * Attempt to acquire the lock for the given number of seconds. - * - * @param int $seconds - * @param callable|null $callback - * @return bool - * - * @throws \Illuminate\Contracts\Cache\LockTimeoutException - */ - public function block($seconds, $callback = null) - { - $starting = $this->currentTime(); - - while (! $this->acquire()) { - usleep(250 * 1000); - - if ($this->currentTime() - $seconds >= $starting) { - throw new LockTimeoutException; - } - } - - if (is_callable($callback)) { - try { - return $callback(); - } finally { - $this->release(); - } - } - - return true; - } - - /** - * Returns the current owner of the lock. - * - * @return string - */ - public function owner() - { - return $this->owner; - } - - /** - * Determines whether this lock is allowed to release the lock in the driver. - * - * @return bool - */ - protected function isOwnedByCurrentProcess() - { - return $this->getCurrentOwner() === $this->owner; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cache/LuaScripts.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cache/LuaScripts.php deleted file mode 100644 index 6d22fcd..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cache/LuaScripts.php +++ /dev/null @@ -1,25 +0,0 @@ -getMemcached( - $connectionId, $credentials, $options - ); - - if (! $memcached->getServerList()) { - // For each server in the array, we'll just extract the configuration and add - // the server to the Memcached connection. Once we have added all of these - // servers we'll verify the connection is successful and return it back. - foreach ($servers as $server) { - $memcached->addServer( - $server['host'], $server['port'], $server['weight'] - ); - } - } - - return $memcached; - } - - /** - * Get a new Memcached instance. - * - * @param string|null $connectionId - * @param array $credentials - * @param array $options - * @return \Memcached - */ - protected function getMemcached($connectionId, array $credentials, array $options) - { - $memcached = $this->createMemcachedInstance($connectionId); - - if (count($credentials) === 2) { - $this->setCredentials($memcached, $credentials); - } - - if (count($options)) { - $memcached->setOptions($options); - } - - return $memcached; - } - - /** - * Create the Memcached instance. - * - * @param string|null $connectionId - * @return \Memcached - */ - protected function createMemcachedInstance($connectionId) - { - return empty($connectionId) ? new Memcached : new Memcached($connectionId); - } - - /** - * Set the SASL credentials on the Memcached connection. - * - * @param \Memcached $memcached - * @param array $credentials - * @return void - */ - protected function setCredentials($memcached, $credentials) - { - [$username, $password] = $credentials; - - $memcached->setOption(Memcached::OPT_BINARY_PROTOCOL, true); - - $memcached->setSaslAuthData($username, $password); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cache/MemcachedLock.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cache/MemcachedLock.php deleted file mode 100644 index bf90abc..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cache/MemcachedLock.php +++ /dev/null @@ -1,73 +0,0 @@ -memcached = $memcached; - } - - /** - * Attempt to acquire the lock. - * - * @return bool - */ - public function acquire() - { - return $this->memcached->add( - $this->name, $this->owner, $this->seconds - ); - } - - /** - * Release the lock. - * - * @return void - */ - public function release() - { - if ($this->isOwnedByCurrentProcess()) { - $this->memcached->delete($this->name); - } - } - - /** - * Releases this lock in disregard of ownership. - * - * @return void - */ - public function forceRelease() - { - $this->memcached->delete($this->name); - } - - /** - * Returns the owner value written into the driver for this lock. - * - * @return mixed - */ - protected function getCurrentOwner() - { - return $this->memcached->get($this->name); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cache/MemcachedStore.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cache/MemcachedStore.php deleted file mode 100644 index 827f602..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cache/MemcachedStore.php +++ /dev/null @@ -1,279 +0,0 @@ -= 3.0.0. - * - * @var bool - */ - protected $onVersionThree; - - /** - * Create a new Memcached store. - * - * @param \Memcached $memcached - * @param string $prefix - * @return void - */ - public function __construct($memcached, $prefix = '') - { - $this->setPrefix($prefix); - $this->memcached = $memcached; - - $this->onVersionThree = (new ReflectionMethod('Memcached', 'getMulti')) - ->getNumberOfParameters() == 2; - } - - /** - * Retrieve an item from the cache by key. - * - * @param string $key - * @return mixed - */ - public function get($key) - { - $value = $this->memcached->get($this->prefix.$key); - - if ($this->memcached->getResultCode() == 0) { - return $value; - } - } - - /** - * Retrieve multiple items from the cache by key. - * - * Items not found in the cache will have a null value. - * - * @param array $keys - * @return array - */ - public function many(array $keys) - { - $prefixedKeys = array_map(function ($key) { - return $this->prefix.$key; - }, $keys); - - if ($this->onVersionThree) { - $values = $this->memcached->getMulti($prefixedKeys, Memcached::GET_PRESERVE_ORDER); - } else { - $null = null; - - $values = $this->memcached->getMulti($prefixedKeys, $null, Memcached::GET_PRESERVE_ORDER); - } - - if ($this->memcached->getResultCode() != 0) { - return array_fill_keys($keys, null); - } - - return array_combine($keys, $values); - } - - /** - * Store an item in the cache for a given number of seconds. - * - * @param string $key - * @param mixed $value - * @param int $seconds - * @return bool - */ - public function put($key, $value, $seconds) - { - return $this->memcached->set( - $this->prefix.$key, $value, $this->calculateExpiration($seconds) - ); - } - - /** - * Store multiple items in the cache for a given number of seconds. - * - * @param array $values - * @param int $seconds - * @return bool - */ - public function putMany(array $values, $seconds) - { - $prefixedValues = []; - - foreach ($values as $key => $value) { - $prefixedValues[$this->prefix.$key] = $value; - } - - return $this->memcached->setMulti( - $prefixedValues, $this->calculateExpiration($seconds) - ); - } - - /** - * Store an item in the cache if the key doesn't exist. - * - * @param string $key - * @param mixed $value - * @param int $seconds - * @return bool - */ - public function add($key, $value, $seconds) - { - return $this->memcached->add( - $this->prefix.$key, $value, $this->calculateExpiration($seconds) - ); - } - - /** - * Increment the value of an item in the cache. - * - * @param string $key - * @param mixed $value - * @return int|bool - */ - public function increment($key, $value = 1) - { - return $this->memcached->increment($this->prefix.$key, $value); - } - - /** - * Decrement the value of an item in the cache. - * - * @param string $key - * @param mixed $value - * @return int|bool - */ - public function decrement($key, $value = 1) - { - return $this->memcached->decrement($this->prefix.$key, $value); - } - - /** - * Store an item in the cache indefinitely. - * - * @param string $key - * @param mixed $value - * @return bool - */ - public function forever($key, $value) - { - return $this->put($key, $value, 0); - } - - /** - * Get a lock instance. - * - * @param string $name - * @param int $seconds - * @param string|null $owner - * @return \Illuminate\Contracts\Cache\Lock - */ - public function lock($name, $seconds = 0, $owner = null) - { - return new MemcachedLock($this->memcached, $this->prefix.$name, $seconds, $owner); - } - - /** - * Restore a lock instance using the owner identifier. - * - * @param string $name - * @param string $owner - * @return \Illuminate\Contracts\Cache\Lock - */ - public function restoreLock($name, $owner) - { - return $this->lock($name, 0, $owner); - } - - /** - * Remove an item from the cache. - * - * @param string $key - * @return bool - */ - public function forget($key) - { - return $this->memcached->delete($this->prefix.$key); - } - - /** - * Remove all items from the cache. - * - * @return bool - */ - public function flush() - { - return $this->memcached->flush(); - } - - /** - * Get the expiration time of the key. - * - * @param int $seconds - * @return int - */ - protected function calculateExpiration($seconds) - { - return $this->toTimestamp($seconds); - } - - /** - * Get the UNIX timestamp for the given number of seconds. - * - * @param int $seconds - * @return int - */ - protected function toTimestamp($seconds) - { - return $seconds > 0 ? $this->availableAt($seconds) : 0; - } - - /** - * Get the underlying Memcached connection. - * - * @return \Memcached - */ - public function getMemcached() - { - return $this->memcached; - } - - /** - * Get the cache key prefix. - * - * @return string - */ - public function getPrefix() - { - return $this->prefix; - } - - /** - * Set the cache key prefix. - * - * @param string $prefix - * @return void - */ - public function setPrefix($prefix) - { - $this->prefix = ! empty($prefix) ? $prefix.':' : ''; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cache/NullStore.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cache/NullStore.php deleted file mode 100644 index aa7a397..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cache/NullStore.php +++ /dev/null @@ -1,105 +0,0 @@ -cache = $cache; - } - - /** - * Determine if the given key has been "accessed" too many times. - * - * @param string $key - * @param int $maxAttempts - * @return bool - */ - public function tooManyAttempts($key, $maxAttempts) - { - if ($this->attempts($key) >= $maxAttempts) { - if ($this->cache->has($key.':timer')) { - return true; - } - - $this->resetAttempts($key); - } - - return false; - } - - /** - * Increment the counter for a given key for a given decay time. - * - * @param string $key - * @param int $decaySeconds - * @return int - */ - public function hit($key, $decaySeconds = 60) - { - $this->cache->add( - $key.':timer', $this->availableAt($decaySeconds), $decaySeconds - ); - - $added = $this->cache->add($key, 0, $decaySeconds); - - $hits = (int) $this->cache->increment($key); - - if (! $added && $hits == 1) { - $this->cache->put($key, 1, $decaySeconds); - } - - return $hits; - } - - /** - * Get the number of attempts for the given key. - * - * @param string $key - * @return mixed - */ - public function attempts($key) - { - return $this->cache->get($key, 0); - } - - /** - * Reset the number of attempts for the given key. - * - * @param string $key - * @return mixed - */ - public function resetAttempts($key) - { - return $this->cache->forget($key); - } - - /** - * Get the number of retries left for the given key. - * - * @param string $key - * @param int $maxAttempts - * @return int - */ - public function retriesLeft($key, $maxAttempts) - { - $attempts = $this->attempts($key); - - return $maxAttempts - $attempts; - } - - /** - * Clear the hits and lockout timer for the given key. - * - * @param string $key - * @return void - */ - public function clear($key) - { - $this->resetAttempts($key); - - $this->cache->forget($key.':timer'); - } - - /** - * Get the number of seconds until the "key" is accessible again. - * - * @param string $key - * @return int - */ - public function availableIn($key) - { - return $this->cache->get($key.':timer') - $this->currentTime(); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cache/RedisLock.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cache/RedisLock.php deleted file mode 100644 index d83d44d..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cache/RedisLock.php +++ /dev/null @@ -1,75 +0,0 @@ -redis = $redis; - } - - /** - * Attempt to acquire the lock. - * - * @return bool - */ - public function acquire() - { - $result = $this->redis->setnx($this->name, $this->owner); - - if ($result === 1 && $this->seconds > 0) { - $this->redis->expire($this->name, $this->seconds); - } - - return $result === 1; - } - - /** - * Release the lock. - * - * @return void - */ - public function release() - { - $this->redis->eval(LuaScripts::releaseLock(), 1, $this->name, $this->owner); - } - - /** - * Releases this lock in disregard of ownership. - * - * @return void - */ - public function forceRelease() - { - $this->redis->del($this->name); - } - - /** - * Returns the owner value written into the driver for this lock. - * - * @return string - */ - protected function getCurrentOwner() - { - return $this->redis->get($this->name); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cache/RedisStore.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cache/RedisStore.php deleted file mode 100644 index d3b19b0..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cache/RedisStore.php +++ /dev/null @@ -1,308 +0,0 @@ -redis = $redis; - $this->setPrefix($prefix); - $this->setConnection($connection); - } - - /** - * Retrieve an item from the cache by key. - * - * @param string|array $key - * @return mixed - */ - public function get($key) - { - $value = $this->connection()->get($this->prefix.$key); - - return ! is_null($value) ? $this->unserialize($value) : null; - } - - /** - * Retrieve multiple items from the cache by key. - * - * Items not found in the cache will have a null value. - * - * @param array $keys - * @return array - */ - public function many(array $keys) - { - $results = []; - - $values = $this->connection()->mget(array_map(function ($key) { - return $this->prefix.$key; - }, $keys)); - - foreach ($values as $index => $value) { - $results[$keys[$index]] = ! is_null($value) ? $this->unserialize($value) : null; - } - - return $results; - } - - /** - * Store an item in the cache for a given number of seconds. - * - * @param string $key - * @param mixed $value - * @param int $seconds - * @return bool - */ - public function put($key, $value, $seconds) - { - return (bool) $this->connection()->setex( - $this->prefix.$key, (int) max(1, $seconds), $this->serialize($value) - ); - } - - /** - * Store multiple items in the cache for a given number of seconds. - * - * @param array $values - * @param int $seconds - * @return bool - */ - public function putMany(array $values, $seconds) - { - $this->connection()->multi(); - - $manyResult = null; - - foreach ($values as $key => $value) { - $result = $this->put($key, $value, $seconds); - - $manyResult = is_null($manyResult) ? $result : $result && $manyResult; - } - - $this->connection()->exec(); - - return $manyResult ?: false; - } - - /** - * Store an item in the cache if the key doesn't exist. - * - * @param string $key - * @param mixed $value - * @param int $seconds - * @return bool - */ - public function add($key, $value, $seconds) - { - $lua = "return redis.call('exists',KEYS[1])<1 and redis.call('setex',KEYS[1],ARGV[2],ARGV[1])"; - - return (bool) $this->connection()->eval( - $lua, 1, $this->prefix.$key, $this->serialize($value), (int) max(1, $seconds) - ); - } - - /** - * Increment the value of an item in the cache. - * - * @param string $key - * @param mixed $value - * @return int - */ - public function increment($key, $value = 1) - { - return $this->connection()->incrby($this->prefix.$key, $value); - } - - /** - * Decrement the value of an item in the cache. - * - * @param string $key - * @param mixed $value - * @return int - */ - public function decrement($key, $value = 1) - { - return $this->connection()->decrby($this->prefix.$key, $value); - } - - /** - * Store an item in the cache indefinitely. - * - * @param string $key - * @param mixed $value - * @return bool - */ - public function forever($key, $value) - { - return (bool) $this->connection()->set($this->prefix.$key, $this->serialize($value)); - } - - /** - * Get a lock instance. - * - * @param string $name - * @param int $seconds - * @param string|null $owner - * @return \Illuminate\Contracts\Cache\Lock - */ - public function lock($name, $seconds = 0, $owner = null) - { - return new RedisLock($this->connection(), $this->prefix.$name, $seconds, $owner); - } - - /** - * Restore a lock instance using the owner identifier. - * - * @param string $name - * @param string $owner - * @return \Illuminate\Contracts\Cache\Lock - */ - public function restoreLock($name, $owner) - { - return $this->lock($name, 0, $owner); - } - - /** - * Remove an item from the cache. - * - * @param string $key - * @return bool - */ - public function forget($key) - { - return (bool) $this->connection()->del($this->prefix.$key); - } - - /** - * Remove all items from the cache. - * - * @return bool - */ - public function flush() - { - $this->connection()->flushdb(); - - return true; - } - - /** - * Begin executing a new tags operation. - * - * @param array|mixed $names - * @return \Illuminate\Cache\RedisTaggedCache - */ - public function tags($names) - { - return new RedisTaggedCache( - $this, new TagSet($this, is_array($names) ? $names : func_get_args()) - ); - } - - /** - * Get the Redis connection instance. - * - * @return \Predis\ClientInterface - */ - public function connection() - { - return $this->redis->connection($this->connection); - } - - /** - * Set the connection name to be used. - * - * @param string $connection - * @return void - */ - public function setConnection($connection) - { - $this->connection = $connection; - } - - /** - * Get the Redis database instance. - * - * @return \Illuminate\Contracts\Redis\Factory - */ - public function getRedis() - { - return $this->redis; - } - - /** - * Get the cache key prefix. - * - * @return string - */ - public function getPrefix() - { - return $this->prefix; - } - - /** - * Set the cache key prefix. - * - * @param string $prefix - * @return void - */ - public function setPrefix($prefix) - { - $this->prefix = ! empty($prefix) ? $prefix.':' : ''; - } - - /** - * Serialize the value. - * - * @param mixed $value - * @return mixed - */ - protected function serialize($value) - { - return is_numeric($value) ? $value : serialize($value); - } - - /** - * Unserialize the value. - * - * @param mixed $value - * @return mixed - */ - protected function unserialize($value) - { - return is_numeric($value) ? $value : unserialize($value); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cache/RedisTaggedCache.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cache/RedisTaggedCache.php deleted file mode 100644 index ed90db1..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cache/RedisTaggedCache.php +++ /dev/null @@ -1,198 +0,0 @@ -forever($key, $value); - } - - $this->pushStandardKeys($this->tags->getNamespace(), $key); - - return parent::put($key, $value, $ttl); - } - - /** - * Increment the value of an item in the cache. - * - * @param string $key - * @param mixed $value - * @return void - */ - public function increment($key, $value = 1) - { - $this->pushStandardKeys($this->tags->getNamespace(), $key); - - parent::increment($key, $value); - } - - /** - * Decrement the value of an item in the cache. - * - * @param string $key - * @param mixed $value - * @return void - */ - public function decrement($key, $value = 1) - { - $this->pushStandardKeys($this->tags->getNamespace(), $key); - - parent::decrement($key, $value); - } - - /** - * Store an item in the cache indefinitely. - * - * @param string $key - * @param mixed $value - * @return bool - */ - public function forever($key, $value) - { - $this->pushForeverKeys($this->tags->getNamespace(), $key); - - return parent::forever($key, $value); - } - - /** - * Remove all items from the cache. - * - * @return bool - */ - public function flush() - { - $this->deleteForeverKeys(); - $this->deleteStandardKeys(); - - return parent::flush(); - } - - /** - * Store standard key references into store. - * - * @param string $namespace - * @param string $key - * @return void - */ - protected function pushStandardKeys($namespace, $key) - { - $this->pushKeys($namespace, $key, self::REFERENCE_KEY_STANDARD); - } - - /** - * Store forever key references into store. - * - * @param string $namespace - * @param string $key - * @return void - */ - protected function pushForeverKeys($namespace, $key) - { - $this->pushKeys($namespace, $key, self::REFERENCE_KEY_FOREVER); - } - - /** - * Store a reference to the cache key against the reference key. - * - * @param string $namespace - * @param string $key - * @param string $reference - * @return void - */ - protected function pushKeys($namespace, $key, $reference) - { - $fullKey = $this->store->getPrefix().sha1($namespace).':'.$key; - - foreach (explode('|', $namespace) as $segment) { - $this->store->connection()->sadd($this->referenceKey($segment, $reference), $fullKey); - } - } - - /** - * Delete all of the items that were stored forever. - * - * @return void - */ - protected function deleteForeverKeys() - { - $this->deleteKeysByReference(self::REFERENCE_KEY_FOREVER); - } - - /** - * Delete all standard items. - * - * @return void - */ - protected function deleteStandardKeys() - { - $this->deleteKeysByReference(self::REFERENCE_KEY_STANDARD); - } - - /** - * Find and delete all of the items that were stored against a reference. - * - * @param string $reference - * @return void - */ - protected function deleteKeysByReference($reference) - { - foreach (explode('|', $this->tags->getNamespace()) as $segment) { - $this->deleteValues($segment = $this->referenceKey($segment, $reference)); - - $this->store->connection()->del($segment); - } - } - - /** - * Delete item keys that have been stored against a reference. - * - * @param string $referenceKey - * @return void - */ - protected function deleteValues($referenceKey) - { - $values = array_unique($this->store->connection()->smembers($referenceKey)); - - if (count($values) > 0) { - foreach (array_chunk($values, 1000) as $valuesChunk) { - call_user_func_array([$this->store->connection(), 'del'], $valuesChunk); - } - } - } - - /** - * Get the reference key for the segment. - * - * @param string $segment - * @param string $suffix - * @return string - */ - protected function referenceKey($segment, $suffix) - { - return $this->store->getPrefix().$segment.':'.$suffix; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cache/Repository.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cache/Repository.php deleted file mode 100644 index a0b7d2c..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cache/Repository.php +++ /dev/null @@ -1,648 +0,0 @@ -store = $store; - } - - /** - * Determine if an item exists in the cache. - * - * @param string $key - * @return bool - */ - public function has($key) - { - return ! is_null($this->get($key)); - } - - /** - * Determine if an item doesn't exist in the cache. - * - * @param string $key - * @return bool - */ - public function missing($key) - { - return ! $this->has($key); - } - - /** - * Retrieve an item from the cache by key. - * - * @param string $key - * @param mixed $default - * @return mixed - */ - public function get($key, $default = null) - { - if (is_array($key)) { - return $this->many($key); - } - - $value = $this->store->get($this->itemKey($key)); - - // If we could not find the cache value, we will fire the missed event and get - // the default value for this cache value. This default could be a callback - // so we will execute the value function which will resolve it if needed. - if (is_null($value)) { - $this->event(new CacheMissed($key)); - - $value = value($default); - } else { - $this->event(new CacheHit($key, $value)); - } - - return $value; - } - - /** - * Retrieve multiple items from the cache by key. - * - * Items not found in the cache will have a null value. - * - * @param array $keys - * @return array - */ - public function many(array $keys) - { - $values = $this->store->many(collect($keys)->map(function ($value, $key) { - return is_string($key) ? $key : $value; - })->values()->all()); - - return collect($values)->map(function ($value, $key) use ($keys) { - return $this->handleManyResult($keys, $key, $value); - })->all(); - } - - /** - * {@inheritdoc} - */ - public function getMultiple($keys, $default = null) - { - $defaults = []; - - foreach ($keys as $key) { - $defaults[$key] = $default; - } - - return $this->many($defaults); - } - - /** - * Handle a result for the "many" method. - * - * @param array $keys - * @param string $key - * @param mixed $value - * @return mixed - */ - protected function handleManyResult($keys, $key, $value) - { - // If we could not find the cache value, we will fire the missed event and get - // the default value for this cache value. This default could be a callback - // so we will execute the value function which will resolve it if needed. - if (is_null($value)) { - $this->event(new CacheMissed($key)); - - return isset($keys[$key]) ? value($keys[$key]) : null; - } - - // If we found a valid value we will fire the "hit" event and return the value - // back from this function. The "hit" event gives developers an opportunity - // to listen for every possible cache "hit" throughout this applications. - $this->event(new CacheHit($key, $value)); - - return $value; - } - - /** - * Retrieve an item from the cache and delete it. - * - * @param string $key - * @param mixed $default - * @return mixed - */ - public function pull($key, $default = null) - { - return tap($this->get($key, $default), function () use ($key) { - $this->forget($key); - }); - } - - /** - * Store an item in the cache. - * - * @param string $key - * @param mixed $value - * @param \DateTimeInterface|\DateInterval|int|null $ttl - * @return bool - */ - public function put($key, $value, $ttl = null) - { - if (is_array($key)) { - return $this->putMany($key, $value); - } - - if ($ttl === null) { - return $this->forever($key, $value); - } - - $seconds = $this->getSeconds($ttl); - - if ($seconds <= 0) { - return $this->forget($key); - } - - $result = $this->store->put($this->itemKey($key), $value, $seconds); - - if ($result) { - $this->event(new KeyWritten($key, $value, $seconds)); - } - - return $result; - } - - /** - * {@inheritdoc} - */ - public function set($key, $value, $ttl = null) - { - return $this->put($key, $value, $ttl); - } - - /** - * Store multiple items in the cache for a given number of seconds. - * - * @param array $values - * @param \DateTimeInterface|\DateInterval|int|null $ttl - * @return bool - */ - public function putMany(array $values, $ttl = null) - { - if ($ttl === null) { - return $this->putManyForever($values); - } - - $seconds = $this->getSeconds($ttl); - - if ($seconds <= 0) { - return $this->deleteMultiple(array_keys($values)); - } - - $result = $this->store->putMany($values, $seconds); - - if ($result) { - foreach ($values as $key => $value) { - $this->event(new KeyWritten($key, $value, $seconds)); - } - } - - return $result; - } - - /** - * Store multiple items in the cache indefinitely. - * - * @param array $values - * @return bool - */ - protected function putManyForever(array $values) - { - $result = true; - - foreach ($values as $key => $value) { - if (! $this->forever($key, $value)) { - $result = false; - } - } - - return $result; - } - - /** - * {@inheritdoc} - */ - public function setMultiple($values, $ttl = null) - { - return $this->putMany(is_array($values) ? $values : iterator_to_array($values), $ttl); - } - - /** - * Store an item in the cache if the key does not exist. - * - * @param string $key - * @param mixed $value - * @param \DateTimeInterface|\DateInterval|int|null $ttl - * @return bool - */ - public function add($key, $value, $ttl = null) - { - if ($ttl !== null) { - if ($this->getSeconds($ttl) <= 0) { - return false; - } - - // If the store has an "add" method we will call the method on the store so it - // has a chance to override this logic. Some drivers better support the way - // this operation should work with a total "atomic" implementation of it. - if (method_exists($this->store, 'add')) { - $seconds = $this->getSeconds($ttl); - - return $this->store->add( - $this->itemKey($key), $value, $seconds - ); - } - } - - // If the value did not exist in the cache, we will put the value in the cache - // so it exists for subsequent requests. Then, we will return true so it is - // easy to know if the value gets added. Otherwise, we will return false. - if (is_null($this->get($key))) { - return $this->put($key, $value, $ttl); - } - - return false; - } - - /** - * Increment the value of an item in the cache. - * - * @param string $key - * @param mixed $value - * @return int|bool - */ - public function increment($key, $value = 1) - { - return $this->store->increment($key, $value); - } - - /** - * Decrement the value of an item in the cache. - * - * @param string $key - * @param mixed $value - * @return int|bool - */ - public function decrement($key, $value = 1) - { - return $this->store->decrement($key, $value); - } - - /** - * Store an item in the cache indefinitely. - * - * @param string $key - * @param mixed $value - * @return bool - */ - public function forever($key, $value) - { - $result = $this->store->forever($this->itemKey($key), $value); - - if ($result) { - $this->event(new KeyWritten($key, $value)); - } - - return $result; - } - - /** - * Get an item from the cache, or execute the given Closure and store the result. - * - * @param string $key - * @param \DateTimeInterface|\DateInterval|int|null $ttl - * @param \Closure $callback - * @return mixed - */ - public function remember($key, $ttl, Closure $callback) - { - $value = $this->get($key); - - // If the item exists in the cache we will just return this immediately and if - // not we will execute the given Closure and cache the result of that for a - // given number of seconds so it's available for all subsequent requests. - if (! is_null($value)) { - return $value; - } - - $this->put($key, $value = $callback(), $ttl); - - return $value; - } - - /** - * Get an item from the cache, or execute the given Closure and store the result forever. - * - * @param string $key - * @param \Closure $callback - * @return mixed - */ - public function sear($key, Closure $callback) - { - return $this->rememberForever($key, $callback); - } - - /** - * Get an item from the cache, or execute the given Closure and store the result forever. - * - * @param string $key - * @param \Closure $callback - * @return mixed - */ - public function rememberForever($key, Closure $callback) - { - $value = $this->get($key); - - // If the item exists in the cache we will just return this immediately - // and if not we will execute the given Closure and cache the result - // of that forever so it is available for all subsequent requests. - if (! is_null($value)) { - return $value; - } - - $this->forever($key, $value = $callback()); - - return $value; - } - - /** - * Remove an item from the cache. - * - * @param string $key - * @return bool - */ - public function forget($key) - { - return tap($this->store->forget($this->itemKey($key)), function ($result) use ($key) { - if ($result) { - $this->event(new KeyForgotten($key)); - } - }); - } - - /** - * {@inheritdoc} - */ - public function delete($key) - { - return $this->forget($key); - } - - /** - * {@inheritdoc} - */ - public function deleteMultiple($keys) - { - $result = true; - - foreach ($keys as $key) { - if (! $this->forget($key)) { - $result = false; - } - } - - return $result; - } - - /** - * {@inheritdoc} - */ - public function clear() - { - return $this->store->flush(); - } - - /** - * Begin executing a new tags operation if the store supports it. - * - * @param array|mixed $names - * @return \Illuminate\Cache\TaggedCache - * - * @throws \BadMethodCallException - */ - public function tags($names) - { - if (! method_exists($this->store, 'tags')) { - throw new BadMethodCallException('This cache store does not support tagging.'); - } - - $cache = $this->store->tags(is_array($names) ? $names : func_get_args()); - - if (! is_null($this->events)) { - $cache->setEventDispatcher($this->events); - } - - return $cache->setDefaultCacheTime($this->default); - } - - /** - * Format the key for a cache item. - * - * @param string $key - * @return string - */ - protected function itemKey($key) - { - return $key; - } - - /** - * Get the default cache time. - * - * @return int - */ - public function getDefaultCacheTime() - { - return $this->default; - } - - /** - * Set the default cache time in seconds. - * - * @param int|null $seconds - * @return $this - */ - public function setDefaultCacheTime($seconds) - { - $this->default = $seconds; - - return $this; - } - - /** - * Get the cache store implementation. - * - * @return \Illuminate\Contracts\Cache\Store - */ - public function getStore() - { - return $this->store; - } - - /** - * Fire an event for this cache instance. - * - * @param string $event - * @return void - */ - protected function event($event) - { - if (isset($this->events)) { - $this->events->dispatch($event); - } - } - - /** - * Set the event dispatcher instance. - * - * @param \Illuminate\Contracts\Events\Dispatcher $events - * @return void - */ - public function setEventDispatcher(Dispatcher $events) - { - $this->events = $events; - } - - /** - * Determine if a cached value exists. - * - * @param string $key - * @return bool - */ - public function offsetExists($key) - { - return $this->has($key); - } - - /** - * Retrieve an item from the cache by key. - * - * @param string $key - * @return mixed - */ - public function offsetGet($key) - { - return $this->get($key); - } - - /** - * Store an item in the cache for the default time. - * - * @param string $key - * @param mixed $value - * @return void - */ - public function offsetSet($key, $value) - { - $this->put($key, $value, $this->default); - } - - /** - * Remove an item from the cache. - * - * @param string $key - * @return void - */ - public function offsetUnset($key) - { - $this->forget($key); - } - - /** - * Calculate the number of seconds for the given TTL. - * - * @param \DateTimeInterface|\DateInterval|int $ttl - * @return int - */ - protected function getSeconds($ttl) - { - $duration = $this->parseDateInterval($ttl); - - if ($duration instanceof DateTimeInterface) { - $duration = Carbon::now()->diffInRealSeconds($duration, false); - } - - return (int) $duration > 0 ? $duration : 0; - } - - /** - * Handle dynamic calls into macros or pass missing methods to the store. - * - * @param string $method - * @param array $parameters - * @return mixed - */ - public function __call($method, $parameters) - { - if (static::hasMacro($method)) { - return $this->macroCall($method, $parameters); - } - - return $this->store->$method(...$parameters); - } - - /** - * Clone cache repository instance. - * - * @return void - */ - public function __clone() - { - $this->store = clone $this->store; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cache/RetrievesMultipleKeys.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cache/RetrievesMultipleKeys.php deleted file mode 100644 index 5dd41ed..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cache/RetrievesMultipleKeys.php +++ /dev/null @@ -1,45 +0,0 @@ -get($key); - } - - return $return; - } - - /** - * Store multiple items in the cache for a given number of seconds. - * - * @param array $values - * @param int $seconds - * @return bool - */ - public function putMany(array $values, $seconds) - { - $manyResult = null; - - foreach ($values as $key => $value) { - $result = $this->put($key, $value, $seconds); - - $manyResult = is_null($manyResult) ? $result : $result && $manyResult; - } - - return $manyResult ?: false; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cache/TagSet.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cache/TagSet.php deleted file mode 100644 index 214d648..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cache/TagSet.php +++ /dev/null @@ -1,110 +0,0 @@ -store = $store; - $this->names = $names; - } - - /** - * Reset all tags in the set. - * - * @return void - */ - public function reset() - { - array_walk($this->names, [$this, 'resetTag']); - } - - /** - * Reset the tag and return the new tag identifier. - * - * @param string $name - * @return string - */ - public function resetTag($name) - { - $this->store->forever($this->tagKey($name), $id = str_replace('.', '', uniqid('', true))); - - return $id; - } - - /** - * Get a unique namespace that changes when any of the tags are flushed. - * - * @return string - */ - public function getNamespace() - { - return implode('|', $this->tagIds()); - } - - /** - * Get an array of tag identifiers for all of the tags in the set. - * - * @return array - */ - protected function tagIds() - { - return array_map([$this, 'tagId'], $this->names); - } - - /** - * Get the unique tag identifier for a given tag. - * - * @param string $name - * @return string - */ - public function tagId($name) - { - return $this->store->get($this->tagKey($name)) ?: $this->resetTag($name); - } - - /** - * Get the tag identifier key for a given tag. - * - * @param string $name - * @return string - */ - public function tagKey($name) - { - return 'tag:'.$name.':key'; - } - - /** - * Get all of the tag names in the set. - * - * @return array - */ - public function getNames() - { - return $this->names; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cache/TaggableStore.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cache/TaggableStore.php deleted file mode 100644 index 6a12b45..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cache/TaggableStore.php +++ /dev/null @@ -1,19 +0,0 @@ -tags = $tags; - } - - /** - * Store multiple items in the cache for a given number of seconds. - * - * @param array $values - * @param int|null $ttl - * @return bool - */ - public function putMany(array $values, $ttl = null) - { - if ($ttl === null) { - return $this->putManyForever($values); - } - - return $this->putManyAlias($values, $ttl); - } - - /** - * Increment the value of an item in the cache. - * - * @param string $key - * @param mixed $value - * @return void - */ - public function increment($key, $value = 1) - { - $this->store->increment($this->itemKey($key), $value); - } - - /** - * Decrement the value of an item in the cache. - * - * @param string $key - * @param mixed $value - * @return void - */ - public function decrement($key, $value = 1) - { - $this->store->decrement($this->itemKey($key), $value); - } - - /** - * Remove all items from the cache. - * - * @return bool - */ - public function flush() - { - $this->tags->reset(); - - return true; - } - - /** - * {@inheritdoc} - */ - protected function itemKey($key) - { - return $this->taggedItemKey($key); - } - - /** - * Get a fully qualified key for a tagged item. - * - * @param string $key - * @return string - */ - public function taggedItemKey($key) - { - return sha1($this->tags->getNamespace()).':'.$key; - } - - /** - * Fire an event for this cache instance. - * - * @param string $event - * @return void - */ - protected function event($event) - { - parent::event($event->setTags($this->tags->getNames())); - } - - /** - * Get the tag set instance. - * - * @return \Illuminate\Cache\TagSet - */ - public function getTags() - { - return $this->tags; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cache/composer.json b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cache/composer.json deleted file mode 100644 index 974782f..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cache/composer.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "name": "illuminate/cache", - "description": "The Illuminate Cache package.", - "license": "MIT", - "homepage": "https://laravel.com", - "support": { - "issues": "https://github.com/laravel/framework/issues", - "source": "https://github.com/laravel/framework" - }, - "authors": [ - { - "name": "Taylor Otwell", - "email": "taylor@laravel.com" - } - ], - "require": { - "php": "^7.1.3", - "illuminate/contracts": "5.8.*", - "illuminate/support": "5.8.*" - }, - "autoload": { - "psr-4": { - "Illuminate\\Cache\\": "" - } - }, - "extra": { - "branch-alias": { - "dev-master": "5.8-dev" - } - }, - "suggest": { - "illuminate/database": "Required to use the database cache driver (5.8.*).", - "illuminate/filesystem": "Required to use the file cache driver (5.8.*).", - "illuminate/redis": "Required to use the redis cache driver (5.8.*)." - }, - "config": { - "sort-packages": true - }, - "minimum-stability": "dev" -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Config/LICENSE.md b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Config/LICENSE.md deleted file mode 100644 index 79810c8..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Config/LICENSE.md +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) Taylor Otwell - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Config/Repository.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Config/Repository.php deleted file mode 100644 index cadcd64..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Config/Repository.php +++ /dev/null @@ -1,179 +0,0 @@ -items = $items; - } - - /** - * Determine if the given configuration value exists. - * - * @param string $key - * @return bool - */ - public function has($key) - { - return Arr::has($this->items, $key); - } - - /** - * Get the specified configuration value. - * - * @param array|string $key - * @param mixed $default - * @return mixed - */ - public function get($key, $default = null) - { - if (is_array($key)) { - return $this->getMany($key); - } - - return Arr::get($this->items, $key, $default); - } - - /** - * Get many configuration values. - * - * @param array $keys - * @return array - */ - public function getMany($keys) - { - $config = []; - - foreach ($keys as $key => $default) { - if (is_numeric($key)) { - [$key, $default] = [$default, null]; - } - - $config[$key] = Arr::get($this->items, $key, $default); - } - - return $config; - } - - /** - * Set a given configuration value. - * - * @param array|string $key - * @param mixed $value - * @return void - */ - public function set($key, $value = null) - { - $keys = is_array($key) ? $key : [$key => $value]; - - foreach ($keys as $key => $value) { - Arr::set($this->items, $key, $value); - } - } - - /** - * Prepend a value onto an array configuration value. - * - * @param string $key - * @param mixed $value - * @return void - */ - public function prepend($key, $value) - { - $array = $this->get($key); - - array_unshift($array, $value); - - $this->set($key, $array); - } - - /** - * Push a value onto an array configuration value. - * - * @param string $key - * @param mixed $value - * @return void - */ - public function push($key, $value) - { - $array = $this->get($key); - - $array[] = $value; - - $this->set($key, $array); - } - - /** - * Get all of the configuration items for the application. - * - * @return array - */ - public function all() - { - return $this->items; - } - - /** - * Determine if the given configuration option exists. - * - * @param string $key - * @return bool - */ - public function offsetExists($key) - { - return $this->has($key); - } - - /** - * Get a configuration option. - * - * @param string $key - * @return mixed - */ - public function offsetGet($key) - { - return $this->get($key); - } - - /** - * Set a configuration option. - * - * @param string $key - * @param mixed $value - * @return void - */ - public function offsetSet($key, $value) - { - $this->set($key, $value); - } - - /** - * Unset a configuration option. - * - * @param string $key - * @return void - */ - public function offsetUnset($key) - { - $this->set($key, null); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Config/composer.json b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Config/composer.json deleted file mode 100644 index 6611040..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Config/composer.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "name": "illuminate/config", - "description": "The Illuminate Config package.", - "license": "MIT", - "homepage": "https://laravel.com", - "support": { - "issues": "https://github.com/laravel/framework/issues", - "source": "https://github.com/laravel/framework" - }, - "authors": [ - { - "name": "Taylor Otwell", - "email": "taylor@laravel.com" - } - ], - "require": { - "php": "^7.1.3", - "illuminate/contracts": "5.8.*", - "illuminate/support": "5.8.*" - }, - "autoload": { - "psr-4": { - "Illuminate\\Config\\": "" - } - }, - "extra": { - "branch-alias": { - "dev-master": "5.8-dev" - } - }, - "config": { - "sort-packages": true - }, - "minimum-stability": "dev" -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Console/Application.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Console/Application.php deleted file mode 100644 index 4e6ba85..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Console/Application.php +++ /dev/null @@ -1,313 +0,0 @@ -laravel = $laravel; - $this->events = $events; - $this->setAutoExit(false); - $this->setCatchExceptions(false); - - $this->events->dispatch(new Events\ArtisanStarting($this)); - - $this->bootstrap(); - } - - /** - * {@inheritdoc} - */ - public function run(InputInterface $input = null, OutputInterface $output = null) - { - $commandName = $this->getCommandName( - $input = $input ?: new ArgvInput - ); - - $this->events->dispatch( - new Events\CommandStarting( - $commandName, $input, $output = $output ?: new ConsoleOutput - ) - ); - - $exitCode = parent::run($input, $output); - - $this->events->dispatch( - new Events\CommandFinished($commandName, $input, $output, $exitCode) - ); - - return $exitCode; - } - - /** - * Determine the proper PHP executable. - * - * @return string - */ - public static function phpBinary() - { - return ProcessUtils::escapeArgument((new PhpExecutableFinder)->find(false)); - } - - /** - * Determine the proper Artisan executable. - * - * @return string - */ - public static function artisanBinary() - { - return defined('ARTISAN_BINARY') ? ProcessUtils::escapeArgument(ARTISAN_BINARY) : 'artisan'; - } - - /** - * Format the given command as a fully-qualified executable command. - * - * @param string $string - * @return string - */ - public static function formatCommandString($string) - { - return sprintf('%s %s %s', static::phpBinary(), static::artisanBinary(), $string); - } - - /** - * Register a console "starting" bootstrapper. - * - * @param \Closure $callback - * @return void - */ - public static function starting(Closure $callback) - { - static::$bootstrappers[] = $callback; - } - - /** - * Bootstrap the console application. - * - * @return void - */ - protected function bootstrap() - { - foreach (static::$bootstrappers as $bootstrapper) { - $bootstrapper($this); - } - } - - /** - * Clear the console application bootstrappers. - * - * @return void - */ - public static function forgetBootstrappers() - { - static::$bootstrappers = []; - } - - /** - * Run an Artisan console command by name. - * - * @param string $command - * @param array $parameters - * @param \Symfony\Component\Console\Output\OutputInterface|null $outputBuffer - * @return int - * - * @throws \Symfony\Component\Console\Exception\CommandNotFoundException - */ - public function call($command, array $parameters = [], $outputBuffer = null) - { - [$command, $input] = $this->parseCommand($command, $parameters); - - if (! $this->has($command)) { - throw new CommandNotFoundException(sprintf('The command "%s" does not exist.', $command)); - } - - return $this->run( - $input, $this->lastOutput = $outputBuffer ?: new BufferedOutput - ); - } - - /** - * Parse the incoming Artisan command and its input. - * - * @param string $command - * @param array $parameters - * @return array - */ - protected function parseCommand($command, $parameters) - { - if (is_subclass_of($command, SymfonyCommand::class)) { - $callingClass = true; - - $command = $this->laravel->make($command)->getName(); - } - - if (! isset($callingClass) && empty($parameters)) { - $command = $this->getCommandName($input = new StringInput($command)); - } else { - array_unshift($parameters, $command); - - $input = new ArrayInput($parameters); - } - - return [$command, $input ?? null]; - } - - /** - * Get the output for the last run command. - * - * @return string - */ - public function output() - { - return $this->lastOutput && method_exists($this->lastOutput, 'fetch') - ? $this->lastOutput->fetch() - : ''; - } - - /** - * Add a command to the console. - * - * @param \Symfony\Component\Console\Command\Command $command - * @return \Symfony\Component\Console\Command\Command - */ - public function add(SymfonyCommand $command) - { - if ($command instanceof Command) { - $command->setLaravel($this->laravel); - } - - return $this->addToParent($command); - } - - /** - * Add the command to the parent instance. - * - * @param \Symfony\Component\Console\Command\Command $command - * @return \Symfony\Component\Console\Command\Command - */ - protected function addToParent(SymfonyCommand $command) - { - return parent::add($command); - } - - /** - * Add a command, resolving through the application. - * - * @param string $command - * @return \Symfony\Component\Console\Command\Command - */ - public function resolve($command) - { - return $this->add($this->laravel->make($command)); - } - - /** - * Resolve an array of commands through the application. - * - * @param array|mixed $commands - * @return $this - */ - public function resolveCommands($commands) - { - $commands = is_array($commands) ? $commands : func_get_args(); - - foreach ($commands as $command) { - $this->resolve($command); - } - - return $this; - } - - /** - * Get the default input definition for the application. - * - * This is used to add the --env option to every available command. - * - * @return \Symfony\Component\Console\Input\InputDefinition - */ - protected function getDefaultInputDefinition() - { - return tap(parent::getDefaultInputDefinition(), function ($definition) { - $definition->addOption($this->getEnvironmentOption()); - }); - } - - /** - * Get the global environment option for the definition. - * - * @return \Symfony\Component\Console\Input\InputOption - */ - protected function getEnvironmentOption() - { - $message = 'The environment the command should run under'; - - return new InputOption('--env', null, InputOption::VALUE_OPTIONAL, $message); - } - - /** - * Get the Laravel application instance. - * - * @return \Illuminate\Contracts\Foundation\Application - */ - public function getLaravel() - { - return $this->laravel; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Console/Command.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Console/Command.php deleted file mode 100644 index a15691e..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Console/Command.php +++ /dev/null @@ -1,632 +0,0 @@ - OutputInterface::VERBOSITY_VERBOSE, - 'vv' => OutputInterface::VERBOSITY_VERY_VERBOSE, - 'vvv' => OutputInterface::VERBOSITY_DEBUG, - 'quiet' => OutputInterface::VERBOSITY_QUIET, - 'normal' => OutputInterface::VERBOSITY_NORMAL, - ]; - - /** - * Create a new console command instance. - * - * @return void - */ - public function __construct() - { - // We will go ahead and set the name, description, and parameters on console - // commands just to make things a little easier on the developer. This is - // so they don't have to all be manually specified in the constructors. - if (isset($this->signature)) { - $this->configureUsingFluentDefinition(); - } else { - parent::__construct($this->name); - } - - // Once we have constructed the command, we'll set the description and other - // related properties of the command. If a signature wasn't used to build - // the command we'll set the arguments and the options on this command. - $this->setDescription($this->description); - - $this->setHidden($this->isHidden()); - - if (! isset($this->signature)) { - $this->specifyParameters(); - } - } - - /** - * Configure the console command using a fluent definition. - * - * @return void - */ - protected function configureUsingFluentDefinition() - { - [$name, $arguments, $options] = Parser::parse($this->signature); - - parent::__construct($this->name = $name); - - // After parsing the signature we will spin through the arguments and options - // and set them on this command. These will already be changed into proper - // instances of these "InputArgument" and "InputOption" Symfony classes. - $this->getDefinition()->addArguments($arguments); - $this->getDefinition()->addOptions($options); - } - - /** - * Specify the arguments and options on the command. - * - * @return void - */ - protected function specifyParameters() - { - // We will loop through all of the arguments and options for the command and - // set them all on the base command instance. This specifies what can get - // passed into these commands as "parameters" to control the execution. - foreach ($this->getArguments() as $arguments) { - call_user_func_array([$this, 'addArgument'], $arguments); - } - - foreach ($this->getOptions() as $options) { - call_user_func_array([$this, 'addOption'], $options); - } - } - - /** - * Run the console command. - * - * @param \Symfony\Component\Console\Input\InputInterface $input - * @param \Symfony\Component\Console\Output\OutputInterface $output - * @return int - */ - public function run(InputInterface $input, OutputInterface $output) - { - $this->output = $this->laravel->make( - OutputStyle::class, ['input' => $input, 'output' => $output] - ); - - return parent::run( - $this->input = $input, $this->output - ); - } - - /** - * Execute the console command. - * - * @param \Symfony\Component\Console\Input\InputInterface $input - * @param \Symfony\Component\Console\Output\OutputInterface $output - * @return mixed - */ - protected function execute(InputInterface $input, OutputInterface $output) - { - return $this->laravel->call([$this, 'handle']); - } - - /** - * Call another console command. - * - * @param string $command - * @param array $arguments - * @return int - */ - public function call($command, array $arguments = []) - { - $arguments['command'] = $command; - - return $this->getApplication()->find($command)->run( - $this->createInputFromArguments($arguments), $this->output - ); - } - - /** - * Call another console command silently. - * - * @param string $command - * @param array $arguments - * @return int - */ - public function callSilent($command, array $arguments = []) - { - $arguments['command'] = $command; - - return $this->getApplication()->find($command)->run( - $this->createInputFromArguments($arguments), new NullOutput - ); - } - - /** - * Create an input instance from the given arguments. - * - * @param array $arguments - * @return \Symfony\Component\Console\Input\ArrayInput - */ - protected function createInputFromArguments(array $arguments) - { - return tap(new ArrayInput(array_merge($this->context(), $arguments)), function ($input) { - if ($input->hasParameterOption(['--no-interaction'], true)) { - $input->setInteractive(false); - } - }); - } - - /** - * Get all of the context passed to the command. - * - * @return array - */ - protected function context() - { - return collect($this->option())->only([ - 'ansi', - 'no-ansi', - 'no-interaction', - 'quiet', - 'verbose', - ])->filter()->mapWithKeys(function ($value, $key) { - return ["--{$key}" => $value]; - })->all(); - } - - /** - * Determine if the given argument is present. - * - * @param string|int $name - * @return bool - */ - public function hasArgument($name) - { - return $this->input->hasArgument($name); - } - - /** - * Get the value of a command argument. - * - * @param string|null $key - * @return string|array|null - */ - public function argument($key = null) - { - if (is_null($key)) { - return $this->input->getArguments(); - } - - return $this->input->getArgument($key); - } - - /** - * Get all of the arguments passed to the command. - * - * @return array - */ - public function arguments() - { - return $this->argument(); - } - - /** - * Determine if the given option is present. - * - * @param string $name - * @return bool - */ - public function hasOption($name) - { - return $this->input->hasOption($name); - } - - /** - * Get the value of a command option. - * - * @param string|null $key - * @return string|array|bool|null - */ - public function option($key = null) - { - if (is_null($key)) { - return $this->input->getOptions(); - } - - return $this->input->getOption($key); - } - - /** - * Get all of the options passed to the command. - * - * @return array - */ - public function options() - { - return $this->option(); - } - - /** - * Confirm a question with the user. - * - * @param string $question - * @param bool $default - * @return bool - */ - public function confirm($question, $default = false) - { - return $this->output->confirm($question, $default); - } - - /** - * Prompt the user for input. - * - * @param string $question - * @param string|null $default - * @return mixed - */ - public function ask($question, $default = null) - { - return $this->output->ask($question, $default); - } - - /** - * Prompt the user for input with auto completion. - * - * @param string $question - * @param array $choices - * @param string|null $default - * @return mixed - */ - public function anticipate($question, array $choices, $default = null) - { - return $this->askWithCompletion($question, $choices, $default); - } - - /** - * Prompt the user for input with auto completion. - * - * @param string $question - * @param array $choices - * @param string|null $default - * @return mixed - */ - public function askWithCompletion($question, array $choices, $default = null) - { - $question = new Question($question, $default); - - $question->setAutocompleterValues($choices); - - return $this->output->askQuestion($question); - } - - /** - * Prompt the user for input but hide the answer from the console. - * - * @param string $question - * @param bool $fallback - * @return mixed - */ - public function secret($question, $fallback = true) - { - $question = new Question($question); - - $question->setHidden(true)->setHiddenFallback($fallback); - - return $this->output->askQuestion($question); - } - - /** - * Give the user a single choice from an array of answers. - * - * @param string $question - * @param array $choices - * @param string|null $default - * @param mixed|null $attempts - * @param bool|null $multiple - * @return string - */ - public function choice($question, array $choices, $default = null, $attempts = null, $multiple = null) - { - $question = new ChoiceQuestion($question, $choices, $default); - - $question->setMaxAttempts($attempts)->setMultiselect($multiple); - - return $this->output->askQuestion($question); - } - - /** - * Format input to textual table. - * - * @param array $headers - * @param \Illuminate\Contracts\Support\Arrayable|array $rows - * @param string $tableStyle - * @param array $columnStyles - * @return void - */ - public function table($headers, $rows, $tableStyle = 'default', array $columnStyles = []) - { - $table = new Table($this->output); - - if ($rows instanceof Arrayable) { - $rows = $rows->toArray(); - } - - $table->setHeaders((array) $headers)->setRows($rows)->setStyle($tableStyle); - - foreach ($columnStyles as $columnIndex => $columnStyle) { - $table->setColumnStyle($columnIndex, $columnStyle); - } - - $table->render(); - } - - /** - * Write a string as information output. - * - * @param string $string - * @param int|string|null $verbosity - * @return void - */ - public function info($string, $verbosity = null) - { - $this->line($string, 'info', $verbosity); - } - - /** - * Write a string as standard output. - * - * @param string $string - * @param string|null $style - * @param int|string|null $verbosity - * @return void - */ - public function line($string, $style = null, $verbosity = null) - { - $styled = $style ? "<$style>$string" : $string; - - $this->output->writeln($styled, $this->parseVerbosity($verbosity)); - } - - /** - * Write a string as comment output. - * - * @param string $string - * @param int|string|null $verbosity - * @return void - */ - public function comment($string, $verbosity = null) - { - $this->line($string, 'comment', $verbosity); - } - - /** - * Write a string as question output. - * - * @param string $string - * @param int|string|null $verbosity - * @return void - */ - public function question($string, $verbosity = null) - { - $this->line($string, 'question', $verbosity); - } - - /** - * Write a string as error output. - * - * @param string $string - * @param int|string|null $verbosity - * @return void - */ - public function error($string, $verbosity = null) - { - $this->line($string, 'error', $verbosity); - } - - /** - * Write a string as warning output. - * - * @param string $string - * @param int|string|null $verbosity - * @return void - */ - public function warn($string, $verbosity = null) - { - if (! $this->output->getFormatter()->hasStyle('warning')) { - $style = new OutputFormatterStyle('yellow'); - - $this->output->getFormatter()->setStyle('warning', $style); - } - - $this->line($string, 'warning', $verbosity); - } - - /** - * Write a string in an alert box. - * - * @param string $string - * @return void - */ - public function alert($string) - { - $length = Str::length(strip_tags($string)) + 12; - - $this->comment(str_repeat('*', $length)); - $this->comment('* '.$string.' *'); - $this->comment(str_repeat('*', $length)); - - $this->output->newLine(); - } - - /** - * Set the verbosity level. - * - * @param string|int $level - * @return void - */ - protected function setVerbosity($level) - { - $this->verbosity = $this->parseVerbosity($level); - } - - /** - * Get the verbosity level in terms of Symfony's OutputInterface level. - * - * @param string|int|null $level - * @return int - */ - protected function parseVerbosity($level = null) - { - if (isset($this->verbosityMap[$level])) { - $level = $this->verbosityMap[$level]; - } elseif (! is_int($level)) { - $level = $this->verbosity; - } - - return $level; - } - - /** - * {@inheritdoc} - */ - public function isHidden() - { - return $this->hidden; - } - - /** - * {@inheritdoc} - */ - public function setHidden($hidden) - { - parent::setHidden($this->hidden = $hidden); - - return $this; - } - - /** - * Get the console command arguments. - * - * @return array - */ - protected function getArguments() - { - return []; - } - - /** - * Get the console command options. - * - * @return array - */ - protected function getOptions() - { - return []; - } - - /** - * Get the output implementation. - * - * @return \Illuminate\Console\OutputStyle - */ - public function getOutput() - { - return $this->output; - } - - /** - * Get the Laravel application instance. - * - * @return \Illuminate\Contracts\Foundation\Application - */ - public function getLaravel() - { - return $this->laravel; - } - - /** - * Set the Laravel application instance. - * - * @param \Illuminate\Contracts\Container\Container $laravel - * @return void - */ - public function setLaravel($laravel) - { - $this->laravel = $laravel; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Console/ConfirmableTrait.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Console/ConfirmableTrait.php deleted file mode 100644 index 280747c..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Console/ConfirmableTrait.php +++ /dev/null @@ -1,54 +0,0 @@ -getDefaultConfirmCallback() : $callback; - - $shouldConfirm = $callback instanceof Closure ? call_user_func($callback) : $callback; - - if ($shouldConfirm) { - if ($this->hasOption('force') && $this->option('force')) { - return true; - } - - $this->alert($warning); - - $confirmed = $this->confirm('Do you really wish to run this command?'); - - if (! $confirmed) { - $this->comment('Command Cancelled!'); - - return false; - } - } - - return true; - } - - /** - * Get the default confirmation callback. - * - * @return \Closure - */ - protected function getDefaultConfirmCallback() - { - return function () { - return $this->getLaravel()->environment() === 'production'; - }; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Console/DetectsApplicationNamespace.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Console/DetectsApplicationNamespace.php deleted file mode 100644 index cb5e8e8..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Console/DetectsApplicationNamespace.php +++ /dev/null @@ -1,18 +0,0 @@ -getNamespace(); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Console/Events/ArtisanStarting.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Console/Events/ArtisanStarting.php deleted file mode 100644 index f228ac5..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Console/Events/ArtisanStarting.php +++ /dev/null @@ -1,24 +0,0 @@ -artisan = $artisan; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Console/Events/CommandFinished.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Console/Events/CommandFinished.php deleted file mode 100644 index ef066af..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Console/Events/CommandFinished.php +++ /dev/null @@ -1,54 +0,0 @@ -input = $input; - $this->output = $output; - $this->command = $command; - $this->exitCode = $exitCode; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Console/Events/CommandStarting.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Console/Events/CommandStarting.php deleted file mode 100644 index c6238b5..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Console/Events/CommandStarting.php +++ /dev/null @@ -1,45 +0,0 @@ -input = $input; - $this->output = $output; - $this->command = $command; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Console/GeneratorCommand.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Console/GeneratorCommand.php deleted file mode 100644 index ec5eb8c..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Console/GeneratorCommand.php +++ /dev/null @@ -1,253 +0,0 @@ -files = $files; - } - - /** - * Get the stub file for the generator. - * - * @return string - */ - abstract protected function getStub(); - - /** - * Execute the console command. - * - * @return bool|null - * @throws \Illuminate\Contracts\Filesystem\FileNotFoundException - */ - public function handle() - { - $name = $this->qualifyClass($this->getNameInput()); - - $path = $this->getPath($name); - - // First we will check to see if the class already exists. If it does, we don't want - // to create the class and overwrite the user's code. So, we will bail out so the - // code is untouched. Otherwise, we will continue generating this class' files. - if ((! $this->hasOption('force') || - ! $this->option('force')) && - $this->alreadyExists($this->getNameInput())) { - $this->error($this->type.' already exists!'); - - return false; - } - - // Next, we will generate the path to the location where this class' file should get - // written. Then, we will build the class and make the proper replacements on the - // stub files so that it gets the correctly formatted namespace and class name. - $this->makeDirectory($path); - - $this->files->put($path, $this->buildClass($name)); - - $this->info($this->type.' created successfully.'); - } - - /** - * Parse the class name and format according to the root namespace. - * - * @param string $name - * @return string - */ - protected function qualifyClass($name) - { - $name = ltrim($name, '\\/'); - - $rootNamespace = $this->rootNamespace(); - - if (Str::startsWith($name, $rootNamespace)) { - return $name; - } - - $name = str_replace('/', '\\', $name); - - return $this->qualifyClass( - $this->getDefaultNamespace(trim($rootNamespace, '\\')).'\\'.$name - ); - } - - /** - * Get the default namespace for the class. - * - * @param string $rootNamespace - * @return string - */ - protected function getDefaultNamespace($rootNamespace) - { - return $rootNamespace; - } - - /** - * Determine if the class already exists. - * - * @param string $rawName - * @return bool - */ - protected function alreadyExists($rawName) - { - return $this->files->exists($this->getPath($this->qualifyClass($rawName))); - } - - /** - * Get the destination class path. - * - * @param string $name - * @return string - */ - protected function getPath($name) - { - $name = Str::replaceFirst($this->rootNamespace(), '', $name); - - return $this->laravel['path'].'/'.str_replace('\\', '/', $name).'.php'; - } - - /** - * Build the directory for the class if necessary. - * - * @param string $path - * @return string - */ - protected function makeDirectory($path) - { - if (! $this->files->isDirectory(dirname($path))) { - $this->files->makeDirectory(dirname($path), 0777, true, true); - } - - return $path; - } - - /** - * Build the class with the given name. - * - * @param string $name - * @return string - * @throws \Illuminate\Contracts\Filesystem\FileNotFoundException - */ - protected function buildClass($name) - { - $stub = $this->files->get($this->getStub()); - - return $this->replaceNamespace($stub, $name)->replaceClass($stub, $name); - } - - /** - * Replace the namespace for the given stub. - * - * @param string $stub - * @param string $name - * @return $this - */ - protected function replaceNamespace(&$stub, $name) - { - $stub = str_replace( - ['DummyNamespace', 'DummyRootNamespace', 'NamespacedDummyUserModel'], - [$this->getNamespace($name), $this->rootNamespace(), $this->userProviderModel()], - $stub - ); - - return $this; - } - - /** - * Get the full namespace for a given class, without the class name. - * - * @param string $name - * @return string - */ - protected function getNamespace($name) - { - return trim(implode('\\', array_slice(explode('\\', $name), 0, -1)), '\\'); - } - - /** - * Replace the class name for the given stub. - * - * @param string $stub - * @param string $name - * @return string - */ - protected function replaceClass($stub, $name) - { - $class = str_replace($this->getNamespace($name).'\\', '', $name); - - return str_replace('DummyClass', $class, $stub); - } - - /** - * Get the desired class name from the input. - * - * @return string - */ - protected function getNameInput() - { - return trim($this->argument('name')); - } - - /** - * Get the root namespace for the class. - * - * @return string - */ - protected function rootNamespace() - { - return $this->laravel->getNamespace(); - } - - /** - * Get the model for the default guard's user provider. - * - * @return string|null - */ - protected function userProviderModel() - { - $guard = config('auth.defaults.guard'); - - $provider = config("auth.guards.{$guard}.provider"); - - return config("auth.providers.{$provider}.model"); - } - - /** - * Get the console command arguments. - * - * @return array - */ - protected function getArguments() - { - return [ - ['name', InputArgument::REQUIRED, 'The name of the class'], - ]; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Console/LICENSE.md b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Console/LICENSE.md deleted file mode 100644 index 79810c8..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Console/LICENSE.md +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) Taylor Otwell - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Console/OutputStyle.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Console/OutputStyle.php deleted file mode 100644 index 925e66d..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Console/OutputStyle.php +++ /dev/null @@ -1,71 +0,0 @@ -output = $output; - - parent::__construct($input, $output); - } - - /** - * Returns whether verbosity is quiet (-q). - * - * @return bool - */ - public function isQuiet() - { - return $this->output->isQuiet(); - } - - /** - * Returns whether verbosity is verbose (-v). - * - * @return bool - */ - public function isVerbose() - { - return $this->output->isVerbose(); - } - - /** - * Returns whether verbosity is very verbose (-vv). - * - * @return bool - */ - public function isVeryVerbose() - { - return $this->output->isVeryVerbose(); - } - - /** - * Returns whether verbosity is debug (-vvv). - * - * @return bool - */ - public function isDebug() - { - return $this->output->isDebug(); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Console/Parser.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Console/Parser.php deleted file mode 100644 index 7764310..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Console/Parser.php +++ /dev/null @@ -1,148 +0,0 @@ -cache = $cache; - } - - /** - * Attempt to obtain an event mutex for the given event. - * - * @param \Illuminate\Console\Scheduling\Event $event - * @return bool - */ - public function create(Event $event) - { - return $this->cache->store($this->store)->add( - $event->mutexName(), true, $event->expiresAt * 60 - ); - } - - /** - * Determine if an event mutex exists for the given event. - * - * @param \Illuminate\Console\Scheduling\Event $event - * @return bool - */ - public function exists(Event $event) - { - return $this->cache->store($this->store)->has($event->mutexName()); - } - - /** - * Clear the event mutex for the given event. - * - * @param \Illuminate\Console\Scheduling\Event $event - * @return void - */ - public function forget(Event $event) - { - $this->cache->store($this->store)->forget($event->mutexName()); - } - - /** - * Specify the cache store that should be used. - * - * @param string $store - * @return $this - */ - public function useStore($store) - { - $this->store = $store; - - return $this; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Console/Scheduling/CacheSchedulingMutex.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Console/Scheduling/CacheSchedulingMutex.php deleted file mode 100644 index 0dffb56..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Console/Scheduling/CacheSchedulingMutex.php +++ /dev/null @@ -1,75 +0,0 @@ -cache = $cache; - } - - /** - * Attempt to obtain a scheduling mutex for the given event. - * - * @param \Illuminate\Console\Scheduling\Event $event - * @param \DateTimeInterface $time - * @return bool - */ - public function create(Event $event, DateTimeInterface $time) - { - return $this->cache->store($this->store)->add( - $event->mutexName().$time->format('Hi'), true, 3600 - ); - } - - /** - * Determine if a scheduling mutex exists for the given event. - * - * @param \Illuminate\Console\Scheduling\Event $event - * @param \DateTimeInterface $time - * @return bool - */ - public function exists(Event $event, DateTimeInterface $time) - { - return $this->cache->store($this->store)->has( - $event->mutexName().$time->format('Hi') - ); - } - - /** - * Specify the cache store that should be used. - * - * @param string $store - * @return $this - */ - public function useStore($store) - { - $this->store = $store; - - return $this; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Console/Scheduling/CallbackEvent.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Console/Scheduling/CallbackEvent.php deleted file mode 100644 index a66b514..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Console/Scheduling/CallbackEvent.php +++ /dev/null @@ -1,166 +0,0 @@ -mutex = $mutex; - $this->callback = $callback; - $this->parameters = $parameters; - } - - /** - * Run the given event. - * - * @param \Illuminate\Contracts\Container\Container $container - * @return mixed - * - * @throws \Exception - */ - public function run(Container $container) - { - if ($this->description && $this->withoutOverlapping && - ! $this->mutex->create($this)) { - return; - } - - $pid = getmypid(); - - register_shutdown_function(function () use ($pid) { - if ($pid === getmypid()) { - $this->removeMutex(); - } - }); - - parent::callBeforeCallbacks($container); - - try { - $response = is_object($this->callback) - ? $container->call([$this->callback, '__invoke'], $this->parameters) - : $container->call($this->callback, $this->parameters); - } finally { - $this->removeMutex(); - - parent::callAfterCallbacks($container); - } - - return $response; - } - - /** - * Clear the mutex for the event. - * - * @return void - */ - protected function removeMutex() - { - if ($this->description && $this->withoutOverlapping) { - $this->mutex->forget($this); - } - } - - /** - * Do not allow the event to overlap each other. - * - * @param int $expiresAt - * @return $this - * - * @throws \LogicException - */ - public function withoutOverlapping($expiresAt = 1440) - { - if (! isset($this->description)) { - throw new LogicException( - "A scheduled event name is required to prevent overlapping. Use the 'name' method before 'withoutOverlapping'." - ); - } - - $this->withoutOverlapping = true; - - $this->expiresAt = $expiresAt; - - return $this->skip(function () { - return $this->mutex->exists($this); - }); - } - - /** - * Allow the event to only run on one server for each cron expression. - * - * @return $this - * - * @throws \LogicException - */ - public function onOneServer() - { - if (! isset($this->description)) { - throw new LogicException( - "A scheduled event name is required to only run on one server. Use the 'name' method before 'onOneServer'." - ); - } - - $this->onOneServer = true; - - return $this; - } - - /** - * Get the mutex name for the scheduled command. - * - * @return string - */ - public function mutexName() - { - return 'framework/schedule-'.sha1($this->description); - } - - /** - * Get the summary of the event for display. - * - * @return string - */ - public function getSummaryForDisplay() - { - if (is_string($this->description)) { - return $this->description; - } - - return is_string($this->callback) ? $this->callback : 'Closure'; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Console/Scheduling/CommandBuilder.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Console/Scheduling/CommandBuilder.php deleted file mode 100644 index df7cdf6..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Console/Scheduling/CommandBuilder.php +++ /dev/null @@ -1,71 +0,0 @@ -runInBackground) { - return $this->buildBackgroundCommand($event); - } - - return $this->buildForegroundCommand($event); - } - - /** - * Build the command for running the event in the foreground. - * - * @param \Illuminate\Console\Scheduling\Event $event - * @return string - */ - protected function buildForegroundCommand(Event $event) - { - $output = ProcessUtils::escapeArgument($event->output); - - return $this->ensureCorrectUser( - $event, $event->command.($event->shouldAppendOutput ? ' >> ' : ' > ').$output.' 2>&1' - ); - } - - /** - * Build the command for running the event in the background. - * - * @param \Illuminate\Console\Scheduling\Event $event - * @return string - */ - protected function buildBackgroundCommand(Event $event) - { - $output = ProcessUtils::escapeArgument($event->output); - - $redirect = $event->shouldAppendOutput ? ' >> ' : ' > '; - - $finished = Application::formatCommandString('schedule:finish').' "'.$event->mutexName().'"'; - - return $this->ensureCorrectUser($event, - '('.$event->command.$redirect.$output.' 2>&1 '.(windows_os() ? '&' : ';').' '.$finished.') > ' - .ProcessUtils::escapeArgument($event->getDefaultOutput()).' 2>&1 &' - ); - } - - /** - * Finalize the event's command syntax with the correct user. - * - * @param \Illuminate\Console\Scheduling\Event $event - * @param string $command - * @return string - */ - protected function ensureCorrectUser(Event $event, $command) - { - return $event->user && ! windows_os() ? 'sudo -u '.$event->user.' -- sh -c \''.$command.'\'' : $command; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Console/Scheduling/Event.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Console/Scheduling/Event.php deleted file mode 100644 index 510cbab..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Console/Scheduling/Event.php +++ /dev/null @@ -1,813 +0,0 @@ -mutex = $mutex; - $this->command = $command; - $this->timezone = $timezone; - - $this->output = $this->getDefaultOutput(); - } - - /** - * Get the default output depending on the OS. - * - * @return string - */ - public function getDefaultOutput() - { - return (DIRECTORY_SEPARATOR === '\\') ? 'NUL' : '/dev/null'; - } - - /** - * Run the given event. - * - * @param \Illuminate\Contracts\Container\Container $container - * @return void - */ - public function run(Container $container) - { - if ($this->withoutOverlapping && - ! $this->mutex->create($this)) { - return; - } - - $this->runInBackground - ? $this->runCommandInBackground($container) - : $this->runCommandInForeground($container); - } - - /** - * Get the mutex name for the scheduled command. - * - * @return string - */ - public function mutexName() - { - return 'framework'.DIRECTORY_SEPARATOR.'schedule-'.sha1($this->expression.$this->command); - } - - /** - * Run the command in the foreground. - * - * @param \Illuminate\Contracts\Container\Container $container - * @return void - */ - protected function runCommandInForeground(Container $container) - { - $this->callBeforeCallbacks($container); - - $this->exitCode = Process::fromShellCommandline($this->buildCommand(), base_path(), null, null, null)->run(); - - $this->callAfterCallbacks($container); - } - - /** - * Run the command in the background. - * - * @param \Illuminate\Contracts\Container\Container $container - * @return void - */ - protected function runCommandInBackground(Container $container) - { - $this->callBeforeCallbacks($container); - - Process::fromShellCommandline($this->buildCommand(), base_path(), null, null, null)->run(); - } - - /** - * Call all of the "before" callbacks for the event. - * - * @param \Illuminate\Contracts\Container\Container $container - * @return void - */ - public function callBeforeCallbacks(Container $container) - { - foreach ($this->beforeCallbacks as $callback) { - $container->call($callback); - } - } - - /** - * Call all of the "after" callbacks for the event. - * - * @param \Illuminate\Contracts\Container\Container $container - * @return void - */ - public function callAfterCallbacks(Container $container) - { - foreach ($this->afterCallbacks as $callback) { - $container->call($callback); - } - } - - /** - * Build the command string. - * - * @return string - */ - public function buildCommand() - { - return (new CommandBuilder)->buildCommand($this); - } - - /** - * Determine if the given event should run based on the Cron expression. - * - * @param \Illuminate\Contracts\Foundation\Application $app - * @return bool - */ - public function isDue($app) - { - if (! $this->runsInMaintenanceMode() && $app->isDownForMaintenance()) { - return false; - } - - return $this->expressionPasses() && - $this->runsInEnvironment($app->environment()); - } - - /** - * Determine if the event runs in maintenance mode. - * - * @return bool - */ - public function runsInMaintenanceMode() - { - return $this->evenInMaintenanceMode; - } - - /** - * Determine if the Cron expression passes. - * - * @return bool - */ - protected function expressionPasses() - { - $date = Carbon::now(); - - if ($this->timezone) { - $date->setTimezone($this->timezone); - } - - return CronExpression::factory($this->expression)->isDue($date->toDateTimeString()); - } - - /** - * Determine if the event runs in the given environment. - * - * @param string $environment - * @return bool - */ - public function runsInEnvironment($environment) - { - return empty($this->environments) || in_array($environment, $this->environments); - } - - /** - * Determine if the filters pass for the event. - * - * @param \Illuminate\Contracts\Foundation\Application $app - * @return bool - */ - public function filtersPass($app) - { - foreach ($this->filters as $callback) { - if (! $app->call($callback)) { - return false; - } - } - - foreach ($this->rejects as $callback) { - if ($app->call($callback)) { - return false; - } - } - - return true; - } - - /** - * Ensure that the output is stored on disk in a log file. - * - * @return $this - */ - public function storeOutput() - { - $this->ensureOutputIsBeingCaptured(); - - return $this; - } - - /** - * Send the output of the command to a given location. - * - * @param string $location - * @param bool $append - * @return $this - */ - public function sendOutputTo($location, $append = false) - { - $this->output = $location; - - $this->shouldAppendOutput = $append; - - return $this; - } - - /** - * Append the output of the command to a given location. - * - * @param string $location - * @return $this - */ - public function appendOutputTo($location) - { - return $this->sendOutputTo($location, true); - } - - /** - * E-mail the results of the scheduled operation. - * - * @param array|mixed $addresses - * @param bool $onlyIfOutputExists - * @return $this - * - * @throws \LogicException - */ - public function emailOutputTo($addresses, $onlyIfOutputExists = false) - { - $this->ensureOutputIsBeingCaptured(); - - $addresses = Arr::wrap($addresses); - - return $this->then(function (Mailer $mailer) use ($addresses, $onlyIfOutputExists) { - $this->emailOutput($mailer, $addresses, $onlyIfOutputExists); - }); - } - - /** - * E-mail the results of the scheduled operation if it produces output. - * - * @param array|mixed $addresses - * @return $this - * - * @throws \LogicException - */ - public function emailWrittenOutputTo($addresses) - { - return $this->emailOutputTo($addresses, true); - } - - /** - * E-mail the results of the scheduled operation if it fails. - * - * @param array|mixed $addresses - * @return $this - */ - public function emailOutputOnFailure($addresses) - { - $this->ensureOutputIsBeingCaptured(); - - $addresses = Arr::wrap($addresses); - - return $this->onFailure(function (Mailer $mailer) use ($addresses) { - $this->emailOutput($mailer, $addresses, false); - }); - } - - /** - * Ensure that the command output is being captured. - * - * @return void - */ - protected function ensureOutputIsBeingCaptured() - { - if (is_null($this->output) || $this->output == $this->getDefaultOutput()) { - $this->sendOutputTo(storage_path('logs/schedule-'.sha1($this->mutexName()).'.log')); - } - } - - /** - * E-mail the output of the event to the recipients. - * - * @param \Illuminate\Contracts\Mail\Mailer $mailer - * @param array $addresses - * @param bool $onlyIfOutputExists - * @return void - */ - protected function emailOutput(Mailer $mailer, $addresses, $onlyIfOutputExists = false) - { - $text = file_exists($this->output) ? file_get_contents($this->output) : ''; - - if ($onlyIfOutputExists && empty($text)) { - return; - } - - $mailer->raw($text, function ($m) use ($addresses) { - $m->to($addresses)->subject($this->getEmailSubject()); - }); - } - - /** - * Get the e-mail subject line for output results. - * - * @return string - */ - protected function getEmailSubject() - { - if ($this->description) { - return $this->description; - } - - return "Scheduled Job Output For [{$this->command}]"; - } - - /** - * Register a callback to ping a given URL before the job runs. - * - * @param string $url - * @return $this - */ - public function pingBefore($url) - { - return $this->before(function () use ($url) { - (new HttpClient)->get($url); - }); - } - - /** - * Register a callback to ping a given URL before the job runs if the given condition is true. - * - * @param bool $value - * @param string $url - * @return $this - */ - public function pingBeforeIf($value, $url) - { - return $value ? $this->pingBefore($url) : $this; - } - - /** - * Register a callback to ping a given URL after the job runs. - * - * @param string $url - * @return $this - */ - public function thenPing($url) - { - return $this->then(function () use ($url) { - (new HttpClient)->get($url); - }); - } - - /** - * Register a callback to ping a given URL after the job runs if the given condition is true. - * - * @param bool $value - * @param string $url - * @return $this - */ - public function thenPingIf($value, $url) - { - return $value ? $this->thenPing($url) : $this; - } - - /** - * Register a callback to ping a given URL if the operation succeeds. - * - * @param string $url - * @return $this - */ - public function pingOnSuccess($url) - { - return $this->onSuccess(function () use ($url) { - (new HttpClient)->get($url); - }); - } - - /** - * Register a callback to ping a given URL if the operation fails. - * - * @param string $url - * @return $this - */ - public function pingOnFailure($url) - { - return $this->onFailure(function () use ($url) { - (new HttpClient)->get($url); - }); - } - - /** - * State that the command should run in background. - * - * @return $this - */ - public function runInBackground() - { - $this->runInBackground = true; - - return $this; - } - - /** - * Set which user the command should run as. - * - * @param string $user - * @return $this - */ - public function user($user) - { - $this->user = $user; - - return $this; - } - - /** - * Limit the environments the command should run in. - * - * @param array|mixed $environments - * @return $this - */ - public function environments($environments) - { - $this->environments = is_array($environments) ? $environments : func_get_args(); - - return $this; - } - - /** - * State that the command should run even in maintenance mode. - * - * @return $this - */ - public function evenInMaintenanceMode() - { - $this->evenInMaintenanceMode = true; - - return $this; - } - - /** - * Do not allow the event to overlap each other. - * - * @param int $expiresAt - * @return $this - */ - public function withoutOverlapping($expiresAt = 1440) - { - $this->withoutOverlapping = true; - - $this->expiresAt = $expiresAt; - - return $this->then(function () { - $this->mutex->forget($this); - })->skip(function () { - return $this->mutex->exists($this); - }); - } - - /** - * Allow the event to only run on one server for each cron expression. - * - * @return $this - */ - public function onOneServer() - { - $this->onOneServer = true; - - return $this; - } - - /** - * Register a callback to further filter the schedule. - * - * @param \Closure|bool $callback - * @return $this - */ - public function when($callback) - { - $this->filters[] = is_callable($callback) ? $callback : function () use ($callback) { - return $callback; - }; - - return $this; - } - - /** - * Register a callback to further filter the schedule. - * - * @param \Closure|bool $callback - * @return $this - */ - public function skip($callback) - { - $this->rejects[] = is_callable($callback) ? $callback : function () use ($callback) { - return $callback; - }; - - return $this; - } - - /** - * Register a callback to be called before the operation. - * - * @param \Closure $callback - * @return $this - */ - public function before(Closure $callback) - { - $this->beforeCallbacks[] = $callback; - - return $this; - } - - /** - * Register a callback to be called after the operation. - * - * @param \Closure $callback - * @return $this - */ - public function after(Closure $callback) - { - return $this->then($callback); - } - - /** - * Register a callback to be called after the operation. - * - * @param \Closure $callback - * @return $this - */ - public function then(Closure $callback) - { - $this->afterCallbacks[] = $callback; - - return $this; - } - - /** - * Register a callback to be called if the operation succeeds. - * - * @param \Closure $callback - * @return $this - */ - public function onSuccess(Closure $callback) - { - return $this->then(function (Container $container) use ($callback) { - if (0 === $this->exitCode) { - $container->call($callback); - } - }); - } - - /** - * Register a callback to be called if the operation fails. - * - * @param \Closure $callback - * @return $this - */ - public function onFailure(Closure $callback) - { - return $this->then(function (Container $container) use ($callback) { - if (0 !== $this->exitCode) { - $container->call($callback); - } - }); - } - - /** - * Set the human-friendly description of the event. - * - * @param string $description - * @return $this - */ - public function name($description) - { - return $this->description($description); - } - - /** - * Set the human-friendly description of the event. - * - * @param string $description - * @return $this - */ - public function description($description) - { - $this->description = $description; - - return $this; - } - - /** - * Get the summary of the event for display. - * - * @return string - */ - public function getSummaryForDisplay() - { - if (is_string($this->description)) { - return $this->description; - } - - return $this->buildCommand(); - } - - /** - * Determine the next due date for an event. - * - * @param \DateTimeInterface|string $currentTime - * @param int $nth - * @param bool $allowCurrentDate - * @return \Illuminate\Support\Carbon - */ - public function nextRunDate($currentTime = 'now', $nth = 0, $allowCurrentDate = false) - { - return Date::instance(CronExpression::factory( - $this->getExpression() - )->getNextRunDate($currentTime, $nth, $allowCurrentDate, $this->timezone)); - } - - /** - * Get the Cron expression for the event. - * - * @return string - */ - public function getExpression() - { - return $this->expression; - } - - /** - * Set the event mutex implementation to be used. - * - * @param \Illuminate\Console\Scheduling\EventMutex $mutex - * @return $this - */ - public function preventOverlapsUsing(EventMutex $mutex) - { - $this->mutex = $mutex; - - return $this; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Console/Scheduling/EventMutex.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Console/Scheduling/EventMutex.php deleted file mode 100644 index 1840e24..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Console/Scheduling/EventMutex.php +++ /dev/null @@ -1,30 +0,0 @@ -expression = $expression; - - return $this; - } - - /** - * Schedule the event to run between start and end time. - * - * @param string $startTime - * @param string $endTime - * @return $this - */ - public function between($startTime, $endTime) - { - return $this->when($this->inTimeInterval($startTime, $endTime)); - } - - /** - * Schedule the event to not run between start and end time. - * - * @param string $startTime - * @param string $endTime - * @return $this - */ - public function unlessBetween($startTime, $endTime) - { - return $this->skip($this->inTimeInterval($startTime, $endTime)); - } - - /** - * Schedule the event to run between start and end time. - * - * @param string $startTime - * @param string $endTime - * @return \Closure - */ - private function inTimeInterval($startTime, $endTime) - { - return function () use ($startTime, $endTime) { - return Carbon::now($this->timezone)->between( - Carbon::parse($startTime, $this->timezone), - Carbon::parse($endTime, $this->timezone), - true - ); - }; - } - - /** - * Schedule the event to run every minute. - * - * @return $this - */ - public function everyMinute() - { - return $this->spliceIntoPosition(1, '*'); - } - - /** - * Schedule the event to run every five minutes. - * - * @return $this - */ - public function everyFiveMinutes() - { - return $this->spliceIntoPosition(1, '*/5'); - } - - /** - * Schedule the event to run every ten minutes. - * - * @return $this - */ - public function everyTenMinutes() - { - return $this->spliceIntoPosition(1, '*/10'); - } - - /** - * Schedule the event to run every fifteen minutes. - * - * @return $this - */ - public function everyFifteenMinutes() - { - return $this->spliceIntoPosition(1, '*/15'); - } - - /** - * Schedule the event to run every thirty minutes. - * - * @return $this - */ - public function everyThirtyMinutes() - { - return $this->spliceIntoPosition(1, '0,30'); - } - - /** - * Schedule the event to run hourly. - * - * @return $this - */ - public function hourly() - { - return $this->spliceIntoPosition(1, 0); - } - - /** - * Schedule the event to run hourly at a given offset in the hour. - * - * @param array|int $offset - * @return $this - */ - public function hourlyAt($offset) - { - $offset = is_array($offset) ? implode(',', $offset) : $offset; - - return $this->spliceIntoPosition(1, $offset); - } - - /** - * Schedule the event to run daily. - * - * @return $this - */ - public function daily() - { - return $this->spliceIntoPosition(1, 0) - ->spliceIntoPosition(2, 0); - } - - /** - * Schedule the command at a given time. - * - * @param string $time - * @return $this - */ - public function at($time) - { - return $this->dailyAt($time); - } - - /** - * Schedule the event to run daily at a given time (10:00, 19:30, etc). - * - * @param string $time - * @return $this - */ - public function dailyAt($time) - { - $segments = explode(':', $time); - - return $this->spliceIntoPosition(2, (int) $segments[0]) - ->spliceIntoPosition(1, count($segments) === 2 ? (int) $segments[1] : '0'); - } - - /** - * Schedule the event to run twice daily. - * - * @param int $first - * @param int $second - * @return $this - */ - public function twiceDaily($first = 1, $second = 13) - { - $hours = $first.','.$second; - - return $this->spliceIntoPosition(1, 0) - ->spliceIntoPosition(2, $hours); - } - - /** - * Schedule the event to run only on weekdays. - * - * @return $this - */ - public function weekdays() - { - return $this->spliceIntoPosition(5, '1-5'); - } - - /** - * Schedule the event to run only on weekends. - * - * @return $this - */ - public function weekends() - { - return $this->spliceIntoPosition(5, '0,6'); - } - - /** - * Schedule the event to run only on Mondays. - * - * @return $this - */ - public function mondays() - { - return $this->days(1); - } - - /** - * Schedule the event to run only on Tuesdays. - * - * @return $this - */ - public function tuesdays() - { - return $this->days(2); - } - - /** - * Schedule the event to run only on Wednesdays. - * - * @return $this - */ - public function wednesdays() - { - return $this->days(3); - } - - /** - * Schedule the event to run only on Thursdays. - * - * @return $this - */ - public function thursdays() - { - return $this->days(4); - } - - /** - * Schedule the event to run only on Fridays. - * - * @return $this - */ - public function fridays() - { - return $this->days(5); - } - - /** - * Schedule the event to run only on Saturdays. - * - * @return $this - */ - public function saturdays() - { - return $this->days(6); - } - - /** - * Schedule the event to run only on Sundays. - * - * @return $this - */ - public function sundays() - { - return $this->days(0); - } - - /** - * Schedule the event to run weekly. - * - * @return $this - */ - public function weekly() - { - return $this->spliceIntoPosition(1, 0) - ->spliceIntoPosition(2, 0) - ->spliceIntoPosition(5, 0); - } - - /** - * Schedule the event to run weekly on a given day and time. - * - * @param int $day - * @param string $time - * @return $this - */ - public function weeklyOn($day, $time = '0:0') - { - $this->dailyAt($time); - - return $this->spliceIntoPosition(5, $day); - } - - /** - * Schedule the event to run monthly. - * - * @return $this - */ - public function monthly() - { - return $this->spliceIntoPosition(1, 0) - ->spliceIntoPosition(2, 0) - ->spliceIntoPosition(3, 1); - } - - /** - * Schedule the event to run monthly on a given day and time. - * - * @param int $day - * @param string $time - * @return $this - */ - public function monthlyOn($day = 1, $time = '0:0') - { - $this->dailyAt($time); - - return $this->spliceIntoPosition(3, $day); - } - - /** - * Schedule the event to run twice monthly. - * - * @param int $first - * @param int $second - * @return $this - */ - public function twiceMonthly($first = 1, $second = 16) - { - $days = $first.','.$second; - - return $this->spliceIntoPosition(1, 0) - ->spliceIntoPosition(2, 0) - ->spliceIntoPosition(3, $days); - } - - /** - * Schedule the event to run quarterly. - * - * @return $this - */ - public function quarterly() - { - return $this->spliceIntoPosition(1, 0) - ->spliceIntoPosition(2, 0) - ->spliceIntoPosition(3, 1) - ->spliceIntoPosition(4, '1-12/3'); - } - - /** - * Schedule the event to run yearly. - * - * @return $this - */ - public function yearly() - { - return $this->spliceIntoPosition(1, 0) - ->spliceIntoPosition(2, 0) - ->spliceIntoPosition(3, 1) - ->spliceIntoPosition(4, 1); - } - - /** - * Set the days of the week the command should run on. - * - * @param array|mixed $days - * @return $this - */ - public function days($days) - { - $days = is_array($days) ? $days : func_get_args(); - - return $this->spliceIntoPosition(5, implode(',', $days)); - } - - /** - * Set the timezone the date should be evaluated on. - * - * @param \DateTimeZone|string $timezone - * @return $this - */ - public function timezone($timezone) - { - $this->timezone = $timezone; - - return $this; - } - - /** - * Splice the given value into the given position of the expression. - * - * @param int $position - * @param string $value - * @return $this - */ - protected function spliceIntoPosition($position, $value) - { - $segments = explode(' ', $this->expression); - - $segments[$position - 1] = $value; - - return $this->cron(implode(' ', $segments)); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Console/Scheduling/Schedule.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Console/Scheduling/Schedule.php deleted file mode 100644 index b2de551..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Console/Scheduling/Schedule.php +++ /dev/null @@ -1,209 +0,0 @@ -timezone = $timezone; - - $container = Container::getInstance(); - - $this->eventMutex = $container->bound(EventMutex::class) - ? $container->make(EventMutex::class) - : $container->make(CacheEventMutex::class); - - $this->schedulingMutex = $container->bound(SchedulingMutex::class) - ? $container->make(SchedulingMutex::class) - : $container->make(CacheSchedulingMutex::class); - } - - /** - * Add a new callback event to the schedule. - * - * @param string|callable $callback - * @param array $parameters - * @return \Illuminate\Console\Scheduling\CallbackEvent - */ - public function call($callback, array $parameters = []) - { - $this->events[] = $event = new CallbackEvent( - $this->eventMutex, $callback, $parameters - ); - - return $event; - } - - /** - * Add a new Artisan command event to the schedule. - * - * @param string $command - * @param array $parameters - * @return \Illuminate\Console\Scheduling\Event - */ - public function command($command, array $parameters = []) - { - if (class_exists($command)) { - $command = Container::getInstance()->make($command)->getName(); - } - - return $this->exec( - Application::formatCommandString($command), $parameters - ); - } - - /** - * Add a new job callback event to the schedule. - * - * @param object|string $job - * @param string|null $queue - * @param string|null $connection - * @return \Illuminate\Console\Scheduling\CallbackEvent - */ - public function job($job, $queue = null, $connection = null) - { - return $this->call(function () use ($job, $queue, $connection) { - $job = is_string($job) ? resolve($job) : $job; - - if ($job instanceof ShouldQueue) { - dispatch($job) - ->onConnection($connection ?? $job->connection) - ->onQueue($queue ?? $job->queue); - } else { - dispatch_now($job); - } - })->name(is_string($job) ? $job : get_class($job)); - } - - /** - * Add a new command event to the schedule. - * - * @param string $command - * @param array $parameters - * @return \Illuminate\Console\Scheduling\Event - */ - public function exec($command, array $parameters = []) - { - if (count($parameters)) { - $command .= ' '.$this->compileParameters($parameters); - } - - $this->events[] = $event = new Event($this->eventMutex, $command, $this->timezone); - - return $event; - } - - /** - * Compile parameters for a command. - * - * @param array $parameters - * @return string - */ - protected function compileParameters(array $parameters) - { - return collect($parameters)->map(function ($value, $key) { - if (is_array($value)) { - $value = collect($value)->map(function ($value) { - return ProcessUtils::escapeArgument($value); - })->implode(' '); - } elseif (! is_numeric($value) && ! preg_match('/^(-.$|--.*)/i', $value)) { - $value = ProcessUtils::escapeArgument($value); - } - - return is_numeric($key) ? $value : "{$key}={$value}"; - })->implode(' '); - } - - /** - * Determine if the server is allowed to run this event. - * - * @param \Illuminate\Console\Scheduling\Event $event - * @param \DateTimeInterface $time - * @return bool - */ - public function serverShouldRun(Event $event, DateTimeInterface $time) - { - return $this->schedulingMutex->create($event, $time); - } - - /** - * Get all of the events on the schedule that are due. - * - * @param \Illuminate\Contracts\Foundation\Application $app - * @return \Illuminate\Support\Collection - */ - public function dueEvents($app) - { - return collect($this->events)->filter->isDue($app); - } - - /** - * Get all of the events on the schedule. - * - * @return \Illuminate\Console\Scheduling\Event[] - */ - public function events() - { - return $this->events; - } - - /** - * Specify the cache store that should be used to store mutexes. - * - * @param string $store - * @return $this - */ - public function useCache($store) - { - if ($this->eventMutex instanceof CacheEventMutex) { - $this->eventMutex->useStore($store); - } - - if ($this->schedulingMutex instanceof CacheSchedulingMutex) { - $this->schedulingMutex->useStore($store); - } - - return $this; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Console/Scheduling/ScheduleFinishCommand.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Console/Scheduling/ScheduleFinishCommand.php deleted file mode 100644 index f697ea8..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Console/Scheduling/ScheduleFinishCommand.php +++ /dev/null @@ -1,61 +0,0 @@ -schedule = $schedule; - - parent::__construct(); - } - - /** - * Execute the console command. - * - * @return void - */ - public function handle() - { - collect($this->schedule->events())->filter(function ($value) { - return $value->mutexName() == $this->argument('id'); - })->each->callAfterCallbacks($this->laravel); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Console/Scheduling/ScheduleRunCommand.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Console/Scheduling/ScheduleRunCommand.php deleted file mode 100644 index 1340141..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Console/Scheduling/ScheduleRunCommand.php +++ /dev/null @@ -1,115 +0,0 @@ -schedule = $schedule; - - $this->startedAt = Date::now(); - - parent::__construct(); - } - - /** - * Execute the console command. - * - * @return void - */ - public function handle() - { - foreach ($this->schedule->dueEvents($this->laravel) as $event) { - if (! $event->filtersPass($this->laravel)) { - continue; - } - - if ($event->onOneServer) { - $this->runSingleServerEvent($event); - } else { - $this->runEvent($event); - } - - $this->eventsRan = true; - } - - if (! $this->eventsRan) { - $this->info('No scheduled commands are ready to run.'); - } - } - - /** - * Run the given single server event. - * - * @param \Illuminate\Console\Scheduling\Event $event - * @return void - */ - protected function runSingleServerEvent($event) - { - if ($this->schedule->serverShouldRun($event, $this->startedAt)) { - $this->runEvent($event); - } else { - $this->line('Skipping command (has already run on another server): '.$event->getSummaryForDisplay()); - } - } - - /** - * Run the given event. - * - * @param \Illuminate\Console\Scheduling\Event $event - * @return void - */ - protected function runEvent($event) - { - $this->line('Running scheduled command: '.$event->getSummaryForDisplay()); - - $event->run($this->laravel); - - $this->eventsRan = true; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Console/Scheduling/SchedulingMutex.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Console/Scheduling/SchedulingMutex.php deleted file mode 100644 index ab4e87d..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Console/Scheduling/SchedulingMutex.php +++ /dev/null @@ -1,26 +0,0 @@ -make($segments[0]), $method], $parameters - ); - } - - /** - * Call a method that has been bound to the container. - * - * @param \Illuminate\Container\Container $container - * @param callable $callback - * @param mixed $default - * @return mixed - */ - protected static function callBoundMethod($container, $callback, $default) - { - if (! is_array($callback)) { - return $default instanceof Closure ? $default() : $default; - } - - // Here we need to turn the array callable into a Class@method string we can use to - // examine the container and see if there are any method bindings for this given - // method. If there are, we can call this method binding callback immediately. - $method = static::normalizeMethod($callback); - - if ($container->hasMethodBinding($method)) { - return $container->callMethodBinding($method, $callback[0]); - } - - return $default instanceof Closure ? $default() : $default; - } - - /** - * Normalize the given callback into a Class@method string. - * - * @param callable $callback - * @return string - */ - protected static function normalizeMethod($callback) - { - $class = is_string($callback[0]) ? $callback[0] : get_class($callback[0]); - - return "{$class}@{$callback[1]}"; - } - - /** - * Get all dependencies for a given method. - * - * @param \Illuminate\Container\Container $container - * @param callable|string $callback - * @param array $parameters - * @return array - * - * @throws \ReflectionException - */ - protected static function getMethodDependencies($container, $callback, array $parameters = []) - { - $dependencies = []; - - foreach (static::getCallReflector($callback)->getParameters() as $parameter) { - static::addDependencyForCallParameter($container, $parameter, $parameters, $dependencies); - } - - return array_merge($dependencies, $parameters); - } - - /** - * Get the proper reflection instance for the given callback. - * - * @param callable|string $callback - * @return \ReflectionFunctionAbstract - * - * @throws \ReflectionException - */ - protected static function getCallReflector($callback) - { - if (is_string($callback) && strpos($callback, '::') !== false) { - $callback = explode('::', $callback); - } - - return is_array($callback) - ? new ReflectionMethod($callback[0], $callback[1]) - : new ReflectionFunction($callback); - } - - /** - * Get the dependency for the given call parameter. - * - * @param \Illuminate\Container\Container $container - * @param \ReflectionParameter $parameter - * @param array $parameters - * @param array $dependencies - * @return void - */ - protected static function addDependencyForCallParameter($container, $parameter, - array &$parameters, &$dependencies) - { - if (array_key_exists($parameter->name, $parameters)) { - $dependencies[] = $parameters[$parameter->name]; - - unset($parameters[$parameter->name]); - } elseif ($parameter->getClass() && array_key_exists($parameter->getClass()->name, $parameters)) { - $dependencies[] = $parameters[$parameter->getClass()->name]; - - unset($parameters[$parameter->getClass()->name]); - } elseif ($parameter->getClass()) { - $dependencies[] = $container->make($parameter->getClass()->name); - } elseif ($parameter->isDefaultValueAvailable()) { - $dependencies[] = $parameter->getDefaultValue(); - } - } - - /** - * Determine if the given string is in Class@method syntax. - * - * @param mixed $callback - * @return bool - */ - protected static function isCallableWithAtSign($callback) - { - return is_string($callback) && strpos($callback, '@') !== false; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Container/Container.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Container/Container.php deleted file mode 100644 index 7dc70f7..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Container/Container.php +++ /dev/null @@ -1,1277 +0,0 @@ -getAlias($c); - } - - return new ContextualBindingBuilder($this, $aliases); - } - - /** - * Determine if the given abstract type has been bound. - * - * @param string $abstract - * @return bool - */ - public function bound($abstract) - { - return isset($this->bindings[$abstract]) || - isset($this->instances[$abstract]) || - $this->isAlias($abstract); - } - - /** - * {@inheritdoc} - */ - public function has($id) - { - return $this->bound($id); - } - - /** - * Determine if the given abstract type has been resolved. - * - * @param string $abstract - * @return bool - */ - public function resolved($abstract) - { - if ($this->isAlias($abstract)) { - $abstract = $this->getAlias($abstract); - } - - return isset($this->resolved[$abstract]) || - isset($this->instances[$abstract]); - } - - /** - * Determine if a given type is shared. - * - * @param string $abstract - * @return bool - */ - public function isShared($abstract) - { - return isset($this->instances[$abstract]) || - (isset($this->bindings[$abstract]['shared']) && - $this->bindings[$abstract]['shared'] === true); - } - - /** - * Determine if a given string is an alias. - * - * @param string $name - * @return bool - */ - public function isAlias($name) - { - return isset($this->aliases[$name]); - } - - /** - * Register a binding with the container. - * - * @param string $abstract - * @param \Closure|string|null $concrete - * @param bool $shared - * @return void - */ - public function bind($abstract, $concrete = null, $shared = false) - { - $this->dropStaleInstances($abstract); - - // If no concrete type was given, we will simply set the concrete type to the - // abstract type. After that, the concrete type to be registered as shared - // without being forced to state their classes in both of the parameters. - if (is_null($concrete)) { - $concrete = $abstract; - } - - // If the factory is not a Closure, it means it is just a class name which is - // bound into this container to the abstract type and we will just wrap it - // up inside its own Closure to give us more convenience when extending. - if (! $concrete instanceof Closure) { - $concrete = $this->getClosure($abstract, $concrete); - } - - $this->bindings[$abstract] = compact('concrete', 'shared'); - - // If the abstract type was already resolved in this container we'll fire the - // rebound listener so that any objects which have already gotten resolved - // can have their copy of the object updated via the listener callbacks. - if ($this->resolved($abstract)) { - $this->rebound($abstract); - } - } - - /** - * Get the Closure to be used when building a type. - * - * @param string $abstract - * @param string $concrete - * @return \Closure - */ - protected function getClosure($abstract, $concrete) - { - return function ($container, $parameters = []) use ($abstract, $concrete) { - if ($abstract == $concrete) { - return $container->build($concrete); - } - - return $container->resolve( - $concrete, $parameters, $raiseEvents = false - ); - }; - } - - /** - * Determine if the container has a method binding. - * - * @param string $method - * @return bool - */ - public function hasMethodBinding($method) - { - return isset($this->methodBindings[$method]); - } - - /** - * Bind a callback to resolve with Container::call. - * - * @param array|string $method - * @param \Closure $callback - * @return void - */ - public function bindMethod($method, $callback) - { - $this->methodBindings[$this->parseBindMethod($method)] = $callback; - } - - /** - * Get the method to be bound in class@method format. - * - * @param array|string $method - * @return string - */ - protected function parseBindMethod($method) - { - if (is_array($method)) { - return $method[0].'@'.$method[1]; - } - - return $method; - } - - /** - * Get the method binding for the given method. - * - * @param string $method - * @param mixed $instance - * @return mixed - */ - public function callMethodBinding($method, $instance) - { - return call_user_func($this->methodBindings[$method], $instance, $this); - } - - /** - * Add a contextual binding to the container. - * - * @param string $concrete - * @param string $abstract - * @param \Closure|string $implementation - * @return void - */ - public function addContextualBinding($concrete, $abstract, $implementation) - { - $this->contextual[$concrete][$this->getAlias($abstract)] = $implementation; - } - - /** - * Register a binding if it hasn't already been registered. - * - * @param string $abstract - * @param \Closure|string|null $concrete - * @param bool $shared - * @return void - */ - public function bindIf($abstract, $concrete = null, $shared = false) - { - if (! $this->bound($abstract)) { - $this->bind($abstract, $concrete, $shared); - } - } - - /** - * Register a shared binding in the container. - * - * @param string $abstract - * @param \Closure|string|null $concrete - * @return void - */ - public function singleton($abstract, $concrete = null) - { - $this->bind($abstract, $concrete, true); - } - - /** - * "Extend" an abstract type in the container. - * - * @param string $abstract - * @param \Closure $closure - * @return void - * - * @throws \InvalidArgumentException - */ - public function extend($abstract, Closure $closure) - { - $abstract = $this->getAlias($abstract); - - if (isset($this->instances[$abstract])) { - $this->instances[$abstract] = $closure($this->instances[$abstract], $this); - - $this->rebound($abstract); - } else { - $this->extenders[$abstract][] = $closure; - - if ($this->resolved($abstract)) { - $this->rebound($abstract); - } - } - } - - /** - * Register an existing instance as shared in the container. - * - * @param string $abstract - * @param mixed $instance - * @return mixed - */ - public function instance($abstract, $instance) - { - $this->removeAbstractAlias($abstract); - - $isBound = $this->bound($abstract); - - unset($this->aliases[$abstract]); - - // We'll check to determine if this type has been bound before, and if it has - // we will fire the rebound callbacks registered with the container and it - // can be updated with consuming classes that have gotten resolved here. - $this->instances[$abstract] = $instance; - - if ($isBound) { - $this->rebound($abstract); - } - - return $instance; - } - - /** - * Remove an alias from the contextual binding alias cache. - * - * @param string $searched - * @return void - */ - protected function removeAbstractAlias($searched) - { - if (! isset($this->aliases[$searched])) { - return; - } - - foreach ($this->abstractAliases as $abstract => $aliases) { - foreach ($aliases as $index => $alias) { - if ($alias == $searched) { - unset($this->abstractAliases[$abstract][$index]); - } - } - } - } - - /** - * Assign a set of tags to a given binding. - * - * @param array|string $abstracts - * @param array|mixed ...$tags - * @return void - */ - public function tag($abstracts, $tags) - { - $tags = is_array($tags) ? $tags : array_slice(func_get_args(), 1); - - foreach ($tags as $tag) { - if (! isset($this->tags[$tag])) { - $this->tags[$tag] = []; - } - - foreach ((array) $abstracts as $abstract) { - $this->tags[$tag][] = $abstract; - } - } - } - - /** - * Resolve all of the bindings for a given tag. - * - * @param string $tag - * @return iterable - */ - public function tagged($tag) - { - if (! isset($this->tags[$tag])) { - return []; - } - - return new RewindableGenerator(function () use ($tag) { - foreach ($this->tags[$tag] as $abstract) { - yield $this->make($abstract); - } - }, count($this->tags[$tag])); - } - - /** - * Alias a type to a different name. - * - * @param string $abstract - * @param string $alias - * @return void - * - * @throws \LogicException - */ - public function alias($abstract, $alias) - { - if ($alias === $abstract) { - throw new LogicException("[{$abstract}] is aliased to itself."); - } - - $this->aliases[$alias] = $abstract; - - $this->abstractAliases[$abstract][] = $alias; - } - - /** - * Bind a new callback to an abstract's rebind event. - * - * @param string $abstract - * @param \Closure $callback - * @return mixed - */ - public function rebinding($abstract, Closure $callback) - { - $this->reboundCallbacks[$abstract = $this->getAlias($abstract)][] = $callback; - - if ($this->bound($abstract)) { - return $this->make($abstract); - } - } - - /** - * Refresh an instance on the given target and method. - * - * @param string $abstract - * @param mixed $target - * @param string $method - * @return mixed - */ - public function refresh($abstract, $target, $method) - { - return $this->rebinding($abstract, function ($app, $instance) use ($target, $method) { - $target->{$method}($instance); - }); - } - - /** - * Fire the "rebound" callbacks for the given abstract type. - * - * @param string $abstract - * @return void - */ - protected function rebound($abstract) - { - $instance = $this->make($abstract); - - foreach ($this->getReboundCallbacks($abstract) as $callback) { - call_user_func($callback, $this, $instance); - } - } - - /** - * Get the rebound callbacks for a given type. - * - * @param string $abstract - * @return array - */ - protected function getReboundCallbacks($abstract) - { - return $this->reboundCallbacks[$abstract] ?? []; - } - - /** - * Wrap the given closure such that its dependencies will be injected when executed. - * - * @param \Closure $callback - * @param array $parameters - * @return \Closure - */ - public function wrap(Closure $callback, array $parameters = []) - { - return function () use ($callback, $parameters) { - return $this->call($callback, $parameters); - }; - } - - /** - * Call the given Closure / class@method and inject its dependencies. - * - * @param callable|string $callback - * @param array $parameters - * @param string|null $defaultMethod - * @return mixed - */ - public function call($callback, array $parameters = [], $defaultMethod = null) - { - return BoundMethod::call($this, $callback, $parameters, $defaultMethod); - } - - /** - * Get a closure to resolve the given type from the container. - * - * @param string $abstract - * @return \Closure - */ - public function factory($abstract) - { - return function () use ($abstract) { - return $this->make($abstract); - }; - } - - /** - * An alias function name for make(). - * - * @param string $abstract - * @param array $parameters - * @return mixed - */ - public function makeWith($abstract, array $parameters = []) - { - return $this->make($abstract, $parameters); - } - - /** - * Resolve the given type from the container. - * - * @param string $abstract - * @param array $parameters - * @return mixed - * - * @throws \Illuminate\Contracts\Container\BindingResolutionException - */ - public function make($abstract, array $parameters = []) - { - return $this->resolve($abstract, $parameters); - } - - /** - * {@inheritdoc} - */ - public function get($id) - { - try { - return $this->resolve($id); - } catch (Exception $e) { - if ($this->has($id)) { - throw $e; - } - - throw new EntryNotFoundException($id); - } - } - - /** - * Resolve the given type from the container. - * - * @param string $abstract - * @param array $parameters - * @param bool $raiseEvents - * @return mixed - * - * @throws \Illuminate\Contracts\Container\BindingResolutionException - */ - protected function resolve($abstract, $parameters = [], $raiseEvents = true) - { - $abstract = $this->getAlias($abstract); - - $needsContextualBuild = ! empty($parameters) || ! is_null( - $this->getContextualConcrete($abstract) - ); - - // If an instance of the type is currently being managed as a singleton we'll - // just return an existing instance instead of instantiating new instances - // so the developer can keep using the same objects instance every time. - if (isset($this->instances[$abstract]) && ! $needsContextualBuild) { - return $this->instances[$abstract]; - } - - $this->with[] = $parameters; - - $concrete = $this->getConcrete($abstract); - - // We're ready to instantiate an instance of the concrete type registered for - // the binding. This will instantiate the types, as well as resolve any of - // its "nested" dependencies recursively until all have gotten resolved. - if ($this->isBuildable($concrete, $abstract)) { - $object = $this->build($concrete); - } else { - $object = $this->make($concrete); - } - - // If we defined any extenders for this type, we'll need to spin through them - // and apply them to the object being built. This allows for the extension - // of services, such as changing configuration or decorating the object. - foreach ($this->getExtenders($abstract) as $extender) { - $object = $extender($object, $this); - } - - // If the requested type is registered as a singleton we'll want to cache off - // the instances in "memory" so we can return it later without creating an - // entirely new instance of an object on each subsequent request for it. - if ($this->isShared($abstract) && ! $needsContextualBuild) { - $this->instances[$abstract] = $object; - } - - if ($raiseEvents) { - $this->fireResolvingCallbacks($abstract, $object); - } - - // Before returning, we will also set the resolved flag to "true" and pop off - // the parameter overrides for this build. After those two things are done - // we will be ready to return back the fully constructed class instance. - $this->resolved[$abstract] = true; - - array_pop($this->with); - - return $object; - } - - /** - * Get the concrete type for a given abstract. - * - * @param string $abstract - * @return mixed $concrete - */ - protected function getConcrete($abstract) - { - if (! is_null($concrete = $this->getContextualConcrete($abstract))) { - return $concrete; - } - - // If we don't have a registered resolver or concrete for the type, we'll just - // assume each type is a concrete name and will attempt to resolve it as is - // since the container should be able to resolve concretes automatically. - if (isset($this->bindings[$abstract])) { - return $this->bindings[$abstract]['concrete']; - } - - return $abstract; - } - - /** - * Get the contextual concrete binding for the given abstract. - * - * @param string $abstract - * @return \Closure|string|null - */ - protected function getContextualConcrete($abstract) - { - if (! is_null($binding = $this->findInContextualBindings($abstract))) { - return $binding; - } - - // Next we need to see if a contextual binding might be bound under an alias of the - // given abstract type. So, we will need to check if any aliases exist with this - // type and then spin through them and check for contextual bindings on these. - if (empty($this->abstractAliases[$abstract])) { - return; - } - - foreach ($this->abstractAliases[$abstract] as $alias) { - if (! is_null($binding = $this->findInContextualBindings($alias))) { - return $binding; - } - } - } - - /** - * Find the concrete binding for the given abstract in the contextual binding array. - * - * @param string $abstract - * @return \Closure|string|null - */ - protected function findInContextualBindings($abstract) - { - return $this->contextual[end($this->buildStack)][$abstract] ?? null; - } - - /** - * Determine if the given concrete is buildable. - * - * @param mixed $concrete - * @param string $abstract - * @return bool - */ - protected function isBuildable($concrete, $abstract) - { - return $concrete === $abstract || $concrete instanceof Closure; - } - - /** - * Instantiate a concrete instance of the given type. - * - * @param string $concrete - * @return mixed - * - * @throws \Illuminate\Contracts\Container\BindingResolutionException - */ - public function build($concrete) - { - // If the concrete type is actually a Closure, we will just execute it and - // hand back the results of the functions, which allows functions to be - // used as resolvers for more fine-tuned resolution of these objects. - if ($concrete instanceof Closure) { - return $concrete($this, $this->getLastParameterOverride()); - } - - $reflector = new ReflectionClass($concrete); - - // If the type is not instantiable, the developer is attempting to resolve - // an abstract type such as an Interface or Abstract Class and there is - // no binding registered for the abstractions so we need to bail out. - if (! $reflector->isInstantiable()) { - return $this->notInstantiable($concrete); - } - - $this->buildStack[] = $concrete; - - $constructor = $reflector->getConstructor(); - - // If there are no constructors, that means there are no dependencies then - // we can just resolve the instances of the objects right away, without - // resolving any other types or dependencies out of these containers. - if (is_null($constructor)) { - array_pop($this->buildStack); - - return new $concrete; - } - - $dependencies = $constructor->getParameters(); - - // Once we have all the constructor's parameters we can create each of the - // dependency instances and then use the reflection instances to make a - // new instance of this class, injecting the created dependencies in. - try { - $instances = $this->resolveDependencies($dependencies); - } catch (BindingResolutionException $e) { - array_pop($this->buildStack); - - throw $e; - } - - array_pop($this->buildStack); - - return $reflector->newInstanceArgs($instances); - } - - /** - * Resolve all of the dependencies from the ReflectionParameters. - * - * @param array $dependencies - * @return array - * - * @throws \Illuminate\Contracts\Container\BindingResolutionException - */ - protected function resolveDependencies(array $dependencies) - { - $results = []; - - foreach ($dependencies as $dependency) { - // If this dependency has a override for this particular build we will use - // that instead as the value. Otherwise, we will continue with this run - // of resolutions and let reflection attempt to determine the result. - if ($this->hasParameterOverride($dependency)) { - $results[] = $this->getParameterOverride($dependency); - - continue; - } - - // If the class is null, it means the dependency is a string or some other - // primitive type which we can not resolve since it is not a class and - // we will just bomb out with an error since we have no-where to go. - $results[] = is_null($dependency->getClass()) - ? $this->resolvePrimitive($dependency) - : $this->resolveClass($dependency); - } - - return $results; - } - - /** - * Determine if the given dependency has a parameter override. - * - * @param \ReflectionParameter $dependency - * @return bool - */ - protected function hasParameterOverride($dependency) - { - return array_key_exists( - $dependency->name, $this->getLastParameterOverride() - ); - } - - /** - * Get a parameter override for a dependency. - * - * @param \ReflectionParameter $dependency - * @return mixed - */ - protected function getParameterOverride($dependency) - { - return $this->getLastParameterOverride()[$dependency->name]; - } - - /** - * Get the last parameter override. - * - * @return array - */ - protected function getLastParameterOverride() - { - return count($this->with) ? end($this->with) : []; - } - - /** - * Resolve a non-class hinted primitive dependency. - * - * @param \ReflectionParameter $parameter - * @return mixed - * - * @throws \Illuminate\Contracts\Container\BindingResolutionException - */ - protected function resolvePrimitive(ReflectionParameter $parameter) - { - if (! is_null($concrete = $this->getContextualConcrete('$'.$parameter->name))) { - return $concrete instanceof Closure ? $concrete($this) : $concrete; - } - - if ($parameter->isDefaultValueAvailable()) { - return $parameter->getDefaultValue(); - } - - $this->unresolvablePrimitive($parameter); - } - - /** - * Resolve a class based dependency from the container. - * - * @param \ReflectionParameter $parameter - * @return mixed - * - * @throws \Illuminate\Contracts\Container\BindingResolutionException - */ - protected function resolveClass(ReflectionParameter $parameter) - { - try { - return $this->make($parameter->getClass()->name); - } - - // If we can not resolve the class instance, we will check to see if the value - // is optional, and if it is we will return the optional parameter value as - // the value of the dependency, similarly to how we do this with scalars. - catch (BindingResolutionException $e) { - if ($parameter->isOptional()) { - return $parameter->getDefaultValue(); - } - - throw $e; - } - } - - /** - * Throw an exception that the concrete is not instantiable. - * - * @param string $concrete - * @return void - * - * @throws \Illuminate\Contracts\Container\BindingResolutionException - */ - protected function notInstantiable($concrete) - { - if (! empty($this->buildStack)) { - $previous = implode(', ', $this->buildStack); - - $message = "Target [$concrete] is not instantiable while building [$previous]."; - } else { - $message = "Target [$concrete] is not instantiable."; - } - - throw new BindingResolutionException($message); - } - - /** - * Throw an exception for an unresolvable primitive. - * - * @param \ReflectionParameter $parameter - * @return void - * - * @throws \Illuminate\Contracts\Container\BindingResolutionException - */ - protected function unresolvablePrimitive(ReflectionParameter $parameter) - { - $message = "Unresolvable dependency resolving [$parameter] in class {$parameter->getDeclaringClass()->getName()}"; - - throw new BindingResolutionException($message); - } - - /** - * Register a new resolving callback. - * - * @param \Closure|string $abstract - * @param \Closure|null $callback - * @return void - */ - public function resolving($abstract, Closure $callback = null) - { - if (is_string($abstract)) { - $abstract = $this->getAlias($abstract); - } - - if (is_null($callback) && $abstract instanceof Closure) { - $this->globalResolvingCallbacks[] = $abstract; - } else { - $this->resolvingCallbacks[$abstract][] = $callback; - } - } - - /** - * Register a new after resolving callback for all types. - * - * @param \Closure|string $abstract - * @param \Closure|null $callback - * @return void - */ - public function afterResolving($abstract, Closure $callback = null) - { - if (is_string($abstract)) { - $abstract = $this->getAlias($abstract); - } - - if ($abstract instanceof Closure && is_null($callback)) { - $this->globalAfterResolvingCallbacks[] = $abstract; - } else { - $this->afterResolvingCallbacks[$abstract][] = $callback; - } - } - - /** - * Fire all of the resolving callbacks. - * - * @param string $abstract - * @param mixed $object - * @return void - */ - protected function fireResolvingCallbacks($abstract, $object) - { - $this->fireCallbackArray($object, $this->globalResolvingCallbacks); - - $this->fireCallbackArray( - $object, $this->getCallbacksForType($abstract, $object, $this->resolvingCallbacks) - ); - - $this->fireAfterResolvingCallbacks($abstract, $object); - } - - /** - * Fire all of the after resolving callbacks. - * - * @param string $abstract - * @param mixed $object - * @return void - */ - protected function fireAfterResolvingCallbacks($abstract, $object) - { - $this->fireCallbackArray($object, $this->globalAfterResolvingCallbacks); - - $this->fireCallbackArray( - $object, $this->getCallbacksForType($abstract, $object, $this->afterResolvingCallbacks) - ); - } - - /** - * Get all callbacks for a given type. - * - * @param string $abstract - * @param object $object - * @param array $callbacksPerType - * - * @return array - */ - protected function getCallbacksForType($abstract, $object, array $callbacksPerType) - { - $results = []; - - foreach ($callbacksPerType as $type => $callbacks) { - if ($type === $abstract || $object instanceof $type) { - $results = array_merge($results, $callbacks); - } - } - - return $results; - } - - /** - * Fire an array of callbacks with an object. - * - * @param mixed $object - * @param array $callbacks - * @return void - */ - protected function fireCallbackArray($object, array $callbacks) - { - foreach ($callbacks as $callback) { - $callback($object, $this); - } - } - - /** - * Get the container's bindings. - * - * @return array - */ - public function getBindings() - { - return $this->bindings; - } - - /** - * Get the alias for an abstract if available. - * - * @param string $abstract - * @return string - */ - public function getAlias($abstract) - { - if (! isset($this->aliases[$abstract])) { - return $abstract; - } - - return $this->getAlias($this->aliases[$abstract]); - } - - /** - * Get the extender callbacks for a given type. - * - * @param string $abstract - * @return array - */ - protected function getExtenders($abstract) - { - $abstract = $this->getAlias($abstract); - - return $this->extenders[$abstract] ?? []; - } - - /** - * Remove all of the extender callbacks for a given type. - * - * @param string $abstract - * @return void - */ - public function forgetExtenders($abstract) - { - unset($this->extenders[$this->getAlias($abstract)]); - } - - /** - * Drop all of the stale instances and aliases. - * - * @param string $abstract - * @return void - */ - protected function dropStaleInstances($abstract) - { - unset($this->instances[$abstract], $this->aliases[$abstract]); - } - - /** - * Remove a resolved instance from the instance cache. - * - * @param string $abstract - * @return void - */ - public function forgetInstance($abstract) - { - unset($this->instances[$abstract]); - } - - /** - * Clear all of the instances from the container. - * - * @return void - */ - public function forgetInstances() - { - $this->instances = []; - } - - /** - * Flush the container of all bindings and resolved instances. - * - * @return void - */ - public function flush() - { - $this->aliases = []; - $this->resolved = []; - $this->bindings = []; - $this->instances = []; - $this->abstractAliases = []; - } - - /** - * Get the globally available instance of the container. - * - * @return static - */ - public static function getInstance() - { - if (is_null(static::$instance)) { - static::$instance = new static; - } - - return static::$instance; - } - - /** - * Set the shared instance of the container. - * - * @param \Illuminate\Contracts\Container\Container|null $container - * @return \Illuminate\Contracts\Container\Container|static - */ - public static function setInstance(ContainerContract $container = null) - { - return static::$instance = $container; - } - - /** - * Determine if a given offset exists. - * - * @param string $key - * @return bool - */ - public function offsetExists($key) - { - return $this->bound($key); - } - - /** - * Get the value at a given offset. - * - * @param string $key - * @return mixed - */ - public function offsetGet($key) - { - return $this->make($key); - } - - /** - * Set the value at a given offset. - * - * @param string $key - * @param mixed $value - * @return void - */ - public function offsetSet($key, $value) - { - $this->bind($key, $value instanceof Closure ? $value : function () use ($value) { - return $value; - }); - } - - /** - * Unset the value at a given offset. - * - * @param string $key - * @return void - */ - public function offsetUnset($key) - { - unset($this->bindings[$key], $this->instances[$key], $this->resolved[$key]); - } - - /** - * Dynamically access container services. - * - * @param string $key - * @return mixed - */ - public function __get($key) - { - return $this[$key]; - } - - /** - * Dynamically set container services. - * - * @param string $key - * @param mixed $value - * @return void - */ - public function __set($key, $value) - { - $this[$key] = $value; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Container/ContextualBindingBuilder.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Container/ContextualBindingBuilder.php deleted file mode 100644 index ac280db..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Container/ContextualBindingBuilder.php +++ /dev/null @@ -1,70 +0,0 @@ -concrete = $concrete; - $this->container = $container; - } - - /** - * Define the abstract target that depends on the context. - * - * @param string $abstract - * @return $this - */ - public function needs($abstract) - { - $this->needs = $abstract; - - return $this; - } - - /** - * Define the implementation for the contextual binding. - * - * @param \Closure|string $implementation - * @return void - */ - public function give($implementation) - { - foreach (Arr::wrap($this->concrete) as $concrete) { - $this->container->addContextualBinding($concrete, $this->needs, $implementation); - } - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Container/EntryNotFoundException.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Container/EntryNotFoundException.php deleted file mode 100644 index 4266921..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Container/EntryNotFoundException.php +++ /dev/null @@ -1,11 +0,0 @@ -count = $count; - $this->generator = $generator; - } - - /** - * Get an iterator from the generator. - * - * @return mixed - */ - public function getIterator() - { - return ($this->generator)(); - } - - /** - * Get the total number of tagged services. - * - * @return int - */ - public function count() - { - if (is_callable($count = $this->count)) { - $this->count = $count(); - } - - return $this->count; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Container/composer.json b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Container/composer.json deleted file mode 100644 index 92f0063..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Container/composer.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "name": "illuminate/container", - "description": "The Illuminate Container package.", - "license": "MIT", - "homepage": "https://laravel.com", - "support": { - "issues": "https://github.com/laravel/framework/issues", - "source": "https://github.com/laravel/framework" - }, - "authors": [ - { - "name": "Taylor Otwell", - "email": "taylor@laravel.com" - } - ], - "require": { - "php": "^7.1.3", - "illuminate/contracts": "5.8.*", - "illuminate/support": "5.8.*", - "psr/container": "^1.0" - }, - "autoload": { - "psr-4": { - "Illuminate\\Container\\": "" - } - }, - "extra": { - "branch-alias": { - "dev-master": "5.8-dev" - } - }, - "config": { - "sort-packages": true - }, - "minimum-stability": "dev" -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Contracts/Auth/Access/Authorizable.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Contracts/Auth/Access/Authorizable.php deleted file mode 100644 index 2f9657c..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Contracts/Auth/Access/Authorizable.php +++ /dev/null @@ -1,15 +0,0 @@ -id = $id; - $this->class = $class; - $this->relations = $relations; - $this->connection = $connection; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Contracts/Debug/ExceptionHandler.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Contracts/Debug/ExceptionHandler.php deleted file mode 100644 index 975ed6c..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Contracts/Debug/ExceptionHandler.php +++ /dev/null @@ -1,42 +0,0 @@ -getPathAndDomain($path, $domain, $secure, $sameSite); - - $time = ($minutes == 0) ? 0 : $this->availableAt($minutes * 60); - - return new Cookie($name, $value, $time, $path, $domain, $secure, $httpOnly, $raw, $sameSite); - } - - /** - * Create a cookie that lasts "forever" (five years). - * - * @param string $name - * @param string $value - * @param string|null $path - * @param string|null $domain - * @param bool|null $secure - * @param bool $httpOnly - * @param bool $raw - * @param string|null $sameSite - * @return \Symfony\Component\HttpFoundation\Cookie - */ - public function forever($name, $value, $path = null, $domain = null, $secure = null, $httpOnly = true, $raw = false, $sameSite = null) - { - return $this->make($name, $value, 2628000, $path, $domain, $secure, $httpOnly, $raw, $sameSite); - } - - /** - * Expire the given cookie. - * - * @param string $name - * @param string|null $path - * @param string|null $domain - * @return \Symfony\Component\HttpFoundation\Cookie - */ - public function forget($name, $path = null, $domain = null) - { - return $this->make($name, null, -2628000, $path, $domain); - } - - /** - * Determine if a cookie has been queued. - * - * @param string $key - * @return bool - */ - public function hasQueued($key) - { - return ! is_null($this->queued($key)); - } - - /** - * Get a queued cookie instance. - * - * @param string $key - * @param mixed $default - * @return \Symfony\Component\HttpFoundation\Cookie - */ - public function queued($key, $default = null) - { - return Arr::get($this->queued, $key, $default); - } - - /** - * Queue a cookie to send with the next response. - * - * @param array $parameters - * @return void - */ - public function queue(...$parameters) - { - if (head($parameters) instanceof Cookie) { - $cookie = head($parameters); - } else { - $cookie = call_user_func_array([$this, 'make'], $parameters); - } - - $this->queued[$cookie->getName()] = $cookie; - } - - /** - * Remove a cookie from the queue. - * - * @param string $name - * @return void - */ - public function unqueue($name) - { - unset($this->queued[$name]); - } - - /** - * Get the path and domain, or the default values. - * - * @param string $path - * @param string $domain - * @param bool|null $secure - * @param string|null $sameSite - * @return array - */ - protected function getPathAndDomain($path, $domain, $secure = null, $sameSite = null) - { - return [$path ?: $this->path, $domain ?: $this->domain, is_bool($secure) ? $secure : $this->secure, $sameSite ?: $this->sameSite]; - } - - /** - * Set the default path and domain for the jar. - * - * @param string $path - * @param string $domain - * @param bool $secure - * @param string|null $sameSite - * @return $this - */ - public function setDefaultPathAndDomain($path, $domain, $secure = false, $sameSite = null) - { - [$this->path, $this->domain, $this->secure, $this->sameSite] = [$path, $domain, $secure, $sameSite]; - - return $this; - } - - /** - * Get the cookies which have been queued for the next request. - * - * @return \Symfony\Component\HttpFoundation\Cookie[] - */ - public function getQueuedCookies() - { - return $this->queued; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cookie/CookieServiceProvider.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cookie/CookieServiceProvider.php deleted file mode 100644 index 7c82dc1..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cookie/CookieServiceProvider.php +++ /dev/null @@ -1,24 +0,0 @@ -app->singleton('cookie', function ($app) { - $config = $app->make('config')->get('session'); - - return (new CookieJar)->setDefaultPathAndDomain( - $config['path'], $config['domain'], $config['secure'], $config['same_site'] ?? null - ); - }); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cookie/LICENSE.md b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cookie/LICENSE.md deleted file mode 100644 index 79810c8..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cookie/LICENSE.md +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) Taylor Otwell - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php deleted file mode 100644 index 4caa574..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php +++ /dev/null @@ -1,45 +0,0 @@ -cookies = $cookies; - } - - /** - * Handle an incoming request. - * - * @param \Illuminate\Http\Request $request - * @param \Closure $next - * @return mixed - */ - public function handle($request, Closure $next) - { - $response = $next($request); - - foreach ($this->cookies->getQueuedCookies() as $cookie) { - $response->headers->setCookie($cookie); - } - - return $response; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php deleted file mode 100644 index 1036a08..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php +++ /dev/null @@ -1,183 +0,0 @@ -encrypter = $encrypter; - } - - /** - * Disable encryption for the given cookie name(s). - * - * @param string|array $name - * @return void - */ - public function disableFor($name) - { - $this->except = array_merge($this->except, (array) $name); - } - - /** - * Handle an incoming request. - * - * @param \Illuminate\Http\Request $request - * @param \Closure $next - * @return \Symfony\Component\HttpFoundation\Response - */ - public function handle($request, Closure $next) - { - return $this->encrypt($next($this->decrypt($request))); - } - - /** - * Decrypt the cookies on the request. - * - * @param \Symfony\Component\HttpFoundation\Request $request - * @return \Symfony\Component\HttpFoundation\Request - */ - protected function decrypt(Request $request) - { - foreach ($request->cookies as $key => $cookie) { - if ($this->isDisabled($key)) { - continue; - } - - try { - $request->cookies->set($key, $this->decryptCookie($key, $cookie)); - } catch (DecryptException $e) { - $request->cookies->set($key, null); - } - } - - return $request; - } - - /** - * Decrypt the given cookie and return the value. - * - * @param string $name - * @param string|array $cookie - * @return string|array - */ - protected function decryptCookie($name, $cookie) - { - return is_array($cookie) - ? $this->decryptArray($cookie) - : $this->encrypter->decrypt($cookie, static::serialized($name)); - } - - /** - * Decrypt an array based cookie. - * - * @param array $cookie - * @return array - */ - protected function decryptArray(array $cookie) - { - $decrypted = []; - - foreach ($cookie as $key => $value) { - if (is_string($value)) { - $decrypted[$key] = $this->encrypter->decrypt($value, static::serialized($key)); - } - } - - return $decrypted; - } - - /** - * Encrypt the cookies on an outgoing response. - * - * @param \Symfony\Component\HttpFoundation\Response $response - * @return \Symfony\Component\HttpFoundation\Response - */ - protected function encrypt(Response $response) - { - foreach ($response->headers->getCookies() as $cookie) { - if ($this->isDisabled($cookie->getName())) { - continue; - } - - $response->headers->setCookie($this->duplicate( - $cookie, $this->encrypter->encrypt($cookie->getValue(), static::serialized($cookie->getName())) - )); - } - - return $response; - } - - /** - * Duplicate a cookie with a new value. - * - * @param \Symfony\Component\HttpFoundation\Cookie $cookie - * @param mixed $value - * @return \Symfony\Component\HttpFoundation\Cookie - */ - protected function duplicate(Cookie $cookie, $value) - { - return new Cookie( - $cookie->getName(), $value, $cookie->getExpiresTime(), - $cookie->getPath(), $cookie->getDomain(), $cookie->isSecure(), - $cookie->isHttpOnly(), $cookie->isRaw(), $cookie->getSameSite() - ); - } - - /** - * Determine whether encryption has been disabled for the given cookie. - * - * @param string $name - * @return bool - */ - public function isDisabled($name) - { - return in_array($name, $this->except); - } - - /** - * Determine if the cookie contents should be serialized. - * - * @param string $name - * @return bool - */ - public static function serialized($name) - { - return static::$serialize; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cookie/composer.json b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cookie/composer.json deleted file mode 100644 index e6c6b9a..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Cookie/composer.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "name": "illuminate/cookie", - "description": "The Illuminate Cookie package.", - "license": "MIT", - "homepage": "https://laravel.com", - "support": { - "issues": "https://github.com/laravel/framework/issues", - "source": "https://github.com/laravel/framework" - }, - "authors": [ - { - "name": "Taylor Otwell", - "email": "taylor@laravel.com" - } - ], - "require": { - "php": "^7.1.3", - "illuminate/contracts": "5.8.*", - "illuminate/support": "5.8.*", - "symfony/http-foundation": "^4.2", - "symfony/http-kernel": "^4.2" - }, - "autoload": { - "psr-4": { - "Illuminate\\Cookie\\": "" - } - }, - "extra": { - "branch-alias": { - "dev-master": "5.8-dev" - } - }, - "config": { - "sort-packages": true - }, - "minimum-stability": "dev" -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Capsule/Manager.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Capsule/Manager.php deleted file mode 100644 index 1157243..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Capsule/Manager.php +++ /dev/null @@ -1,201 +0,0 @@ -setupContainer($container ?: new Container); - - // Once we have the container setup, we will setup the default configuration - // options in the container "config" binding. This will make the database - // manager work correctly out of the box without extreme configuration. - $this->setupDefaultConfiguration(); - - $this->setupManager(); - } - - /** - * Setup the default database configuration options. - * - * @return void - */ - protected function setupDefaultConfiguration() - { - $this->container['config']['database.fetch'] = PDO::FETCH_OBJ; - - $this->container['config']['database.default'] = 'default'; - } - - /** - * Build the database manager instance. - * - * @return void - */ - protected function setupManager() - { - $factory = new ConnectionFactory($this->container); - - $this->manager = new DatabaseManager($this->container, $factory); - } - - /** - * Get a connection instance from the global manager. - * - * @param string|null $connection - * @return \Illuminate\Database\Connection - */ - public static function connection($connection = null) - { - return static::$instance->getConnection($connection); - } - - /** - * Get a fluent query builder instance. - * - * @param string $table - * @param string|null $connection - * @return \Illuminate\Database\Query\Builder - */ - public static function table($table, $connection = null) - { - return static::$instance->connection($connection)->table($table); - } - - /** - * Get a schema builder instance. - * - * @param string|null $connection - * @return \Illuminate\Database\Schema\Builder - */ - public static function schema($connection = null) - { - return static::$instance->connection($connection)->getSchemaBuilder(); - } - - /** - * Get a registered connection instance. - * - * @param string|null $name - * @return \Illuminate\Database\Connection - */ - public function getConnection($name = null) - { - return $this->manager->connection($name); - } - - /** - * Register a connection with the manager. - * - * @param array $config - * @param string $name - * @return void - */ - public function addConnection(array $config, $name = 'default') - { - $connections = $this->container['config']['database.connections']; - - $connections[$name] = $config; - - $this->container['config']['database.connections'] = $connections; - } - - /** - * Bootstrap Eloquent so it is ready for usage. - * - * @return void - */ - public function bootEloquent() - { - Eloquent::setConnectionResolver($this->manager); - - // If we have an event dispatcher instance, we will go ahead and register it - // with the Eloquent ORM, allowing for model callbacks while creating and - // updating "model" instances; however, it is not necessary to operate. - if ($dispatcher = $this->getEventDispatcher()) { - Eloquent::setEventDispatcher($dispatcher); - } - } - - /** - * Set the fetch mode for the database connections. - * - * @param int $fetchMode - * @return $this - */ - public function setFetchMode($fetchMode) - { - $this->container['config']['database.fetch'] = $fetchMode; - - return $this; - } - - /** - * Get the database manager instance. - * - * @return \Illuminate\Database\DatabaseManager - */ - public function getDatabaseManager() - { - return $this->manager; - } - - /** - * Get the current event dispatcher instance. - * - * @return \Illuminate\Contracts\Events\Dispatcher|null - */ - public function getEventDispatcher() - { - if ($this->container->bound('events')) { - return $this->container['events']; - } - } - - /** - * Set the event dispatcher instance to be used by connections. - * - * @param \Illuminate\Contracts\Events\Dispatcher $dispatcher - * @return void - */ - public function setEventDispatcher(Dispatcher $dispatcher) - { - $this->container->instance('events', $dispatcher); - } - - /** - * Dynamically pass methods to the default connection. - * - * @param string $method - * @param array $parameters - * @return mixed - */ - public static function __callStatic($method, $parameters) - { - return static::connection()->$method(...$parameters); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Concerns/BuildsQueries.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Concerns/BuildsQueries.php deleted file mode 100644 index f68ab43..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Concerns/BuildsQueries.php +++ /dev/null @@ -1,161 +0,0 @@ -enforceOrderBy(); - - $page = 1; - - do { - // We'll execute the query for the given page and get the results. If there are - // no results we can just break and return from here. When there are results - // we will call the callback with the current chunk of these results here. - $results = $this->forPage($page, $count)->get(); - - $countResults = $results->count(); - - if ($countResults == 0) { - break; - } - - // On each chunk result set, we will pass them to the callback and then let the - // developer take care of everything within the callback, which allows us to - // keep the memory low for spinning through large result sets for working. - if ($callback($results, $page) === false) { - return false; - } - - unset($results); - - $page++; - } while ($countResults == $count); - - return true; - } - - /** - * Execute a callback over each item while chunking. - * - * @param callable $callback - * @param int $count - * @return bool - */ - public function each(callable $callback, $count = 1000) - { - return $this->chunk($count, function ($results) use ($callback) { - foreach ($results as $key => $value) { - if ($callback($value, $key) === false) { - return false; - } - } - }); - } - - /** - * Execute the query and get the first result. - * - * @param array $columns - * @return \Illuminate\Database\Eloquent\Model|object|static|null - */ - public function first($columns = ['*']) - { - return $this->take(1)->get($columns)->first(); - } - - /** - * Apply the callback's query changes if the given "value" is true. - * - * @param mixed $value - * @param callable $callback - * @param callable|null $default - * @return mixed|$this - */ - public function when($value, $callback, $default = null) - { - if ($value) { - return $callback($this, $value) ?: $this; - } elseif ($default) { - return $default($this, $value) ?: $this; - } - - return $this; - } - - /** - * Pass the query to a given callback. - * - * @param callable $callback - * @return \Illuminate\Database\Query\Builder - */ - public function tap($callback) - { - return $this->when(true, $callback); - } - - /** - * Apply the callback's query changes if the given "value" is false. - * - * @param mixed $value - * @param callable $callback - * @param callable|null $default - * @return mixed|$this - */ - public function unless($value, $callback, $default = null) - { - if (! $value) { - return $callback($this, $value) ?: $this; - } elseif ($default) { - return $default($this, $value) ?: $this; - } - - return $this; - } - - /** - * Create a new length-aware paginator instance. - * - * @param \Illuminate\Support\Collection $items - * @param int $total - * @param int $perPage - * @param int $currentPage - * @param array $options - * @return \Illuminate\Pagination\LengthAwarePaginator - */ - protected function paginator($items, $total, $perPage, $currentPage, $options) - { - return Container::getInstance()->makeWith(LengthAwarePaginator::class, compact( - 'items', 'total', 'perPage', 'currentPage', 'options' - )); - } - - /** - * Create a new simple paginator instance. - * - * @param \Illuminate\Support\Collection $items - * @param int $perPage - * @param int $currentPage - * @param array $options - * @return \Illuminate\Pagination\Paginator - */ - protected function simplePaginator($items, $perPage, $currentPage, $options) - { - return Container::getInstance()->makeWith(Paginator::class, compact( - 'items', 'perPage', 'currentPage', 'options' - )); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Concerns/ManagesTransactions.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Concerns/ManagesTransactions.php deleted file mode 100644 index f8a3d66..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Concerns/ManagesTransactions.php +++ /dev/null @@ -1,242 +0,0 @@ -beginTransaction(); - - // We'll simply execute the given callback within a try / catch block and if we - // catch any exception we can rollback this transaction so that none of this - // gets actually persisted to a database or stored in a permanent fashion. - try { - return tap($callback($this), function () { - $this->commit(); - }); - } - - // If we catch an exception we'll rollback this transaction and try again if we - // are not out of attempts. If we are out of attempts we will just throw the - // exception back out and let the developer handle an uncaught exceptions. - catch (Exception $e) { - $this->handleTransactionException( - $e, $currentAttempt, $attempts - ); - } catch (Throwable $e) { - $this->rollBack(); - - throw $e; - } - } - } - - /** - * Handle an exception encountered when running a transacted statement. - * - * @param \Exception $e - * @param int $currentAttempt - * @param int $maxAttempts - * @return void - * - * @throws \Exception - */ - protected function handleTransactionException($e, $currentAttempt, $maxAttempts) - { - // On a deadlock, MySQL rolls back the entire transaction so we can't just - // retry the query. We have to throw this exception all the way out and - // let the developer handle it in another way. We will decrement too. - if ($this->causedByDeadlock($e) && - $this->transactions > 1) { - $this->transactions--; - - throw $e; - } - - // If there was an exception we will rollback this transaction and then we - // can check if we have exceeded the maximum attempt count for this and - // if we haven't we will return and try this query again in our loop. - $this->rollBack(); - - if ($this->causedByDeadlock($e) && - $currentAttempt < $maxAttempts) { - return; - } - - throw $e; - } - - /** - * Start a new database transaction. - * - * @return void - * - * @throws \Exception - */ - public function beginTransaction() - { - $this->createTransaction(); - - $this->transactions++; - - $this->fireConnectionEvent('beganTransaction'); - } - - /** - * Create a transaction within the database. - * - * @return void - */ - protected function createTransaction() - { - if ($this->transactions == 0) { - try { - $this->getPdo()->beginTransaction(); - } catch (Exception $e) { - $this->handleBeginTransactionException($e); - } - } elseif ($this->transactions >= 1 && $this->queryGrammar->supportsSavepoints()) { - $this->createSavepoint(); - } - } - - /** - * Create a save point within the database. - * - * @return void - */ - protected function createSavepoint() - { - $this->getPdo()->exec( - $this->queryGrammar->compileSavepoint('trans'.($this->transactions + 1)) - ); - } - - /** - * Handle an exception from a transaction beginning. - * - * @param \Throwable $e - * @return void - * - * @throws \Exception - */ - protected function handleBeginTransactionException($e) - { - if ($this->causedByLostConnection($e)) { - $this->reconnect(); - - $this->pdo->beginTransaction(); - } else { - throw $e; - } - } - - /** - * Commit the active database transaction. - * - * @return void - */ - public function commit() - { - if ($this->transactions == 1) { - $this->getPdo()->commit(); - } - - $this->transactions = max(0, $this->transactions - 1); - - $this->fireConnectionEvent('committed'); - } - - /** - * Rollback the active database transaction. - * - * @param int|null $toLevel - * @return void - * - * @throws \Exception - */ - public function rollBack($toLevel = null) - { - // We allow developers to rollback to a certain transaction level. We will verify - // that this given transaction level is valid before attempting to rollback to - // that level. If it's not we will just return out and not attempt anything. - $toLevel = is_null($toLevel) - ? $this->transactions - 1 - : $toLevel; - - if ($toLevel < 0 || $toLevel >= $this->transactions) { - return; - } - - // Next, we will actually perform this rollback within this database and fire the - // rollback event. We will also set the current transaction level to the given - // level that was passed into this method so it will be right from here out. - try { - $this->performRollBack($toLevel); - } catch (Exception $e) { - $this->handleRollBackException($e); - } - - $this->transactions = $toLevel; - - $this->fireConnectionEvent('rollingBack'); - } - - /** - * Perform a rollback within the database. - * - * @param int $toLevel - * @return void - */ - protected function performRollBack($toLevel) - { - if ($toLevel == 0) { - $this->getPdo()->rollBack(); - } elseif ($this->queryGrammar->supportsSavepoints()) { - $this->getPdo()->exec( - $this->queryGrammar->compileSavepointRollBack('trans'.($toLevel + 1)) - ); - } - } - - /** - * Handle an exception from a rollback. - * - * @param \Exception $e - * - * @throws \Exception - */ - protected function handleRollBackException($e) - { - if ($this->causedByLostConnection($e)) { - $this->transactions = 0; - } - - throw $e; - } - - /** - * Get the number of active transactions. - * - * @return int - */ - public function transactionLevel() - { - return $this->transactions; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/ConfigurationUrlParser.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/ConfigurationUrlParser.php deleted file mode 100644 index bc7c624..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/ConfigurationUrlParser.php +++ /dev/null @@ -1,10 +0,0 @@ -pdo = $pdo; - - // First we will setup the default properties. We keep track of the DB - // name we are connected to since it is needed when some reflective - // type commands are run such as checking whether a table exists. - $this->database = $database; - - $this->tablePrefix = $tablePrefix; - - $this->config = $config; - - // We need to initialize a query grammar and the query post processors - // which are both very important parts of the database abstractions - // so we initialize these to their default values while starting. - $this->useDefaultQueryGrammar(); - - $this->useDefaultPostProcessor(); - } - - /** - * Set the query grammar to the default implementation. - * - * @return void - */ - public function useDefaultQueryGrammar() - { - $this->queryGrammar = $this->getDefaultQueryGrammar(); - } - - /** - * Get the default query grammar instance. - * - * @return \Illuminate\Database\Query\Grammars\Grammar - */ - protected function getDefaultQueryGrammar() - { - return new QueryGrammar; - } - - /** - * Set the schema grammar to the default implementation. - * - * @return void - */ - public function useDefaultSchemaGrammar() - { - $this->schemaGrammar = $this->getDefaultSchemaGrammar(); - } - - /** - * Get the default schema grammar instance. - * - * @return \Illuminate\Database\Schema\Grammars\Grammar - */ - protected function getDefaultSchemaGrammar() - { - // - } - - /** - * Set the query post processor to the default implementation. - * - * @return void - */ - public function useDefaultPostProcessor() - { - $this->postProcessor = $this->getDefaultPostProcessor(); - } - - /** - * Get the default post processor instance. - * - * @return \Illuminate\Database\Query\Processors\Processor - */ - protected function getDefaultPostProcessor() - { - return new Processor; - } - - /** - * Get a schema builder instance for the connection. - * - * @return \Illuminate\Database\Schema\Builder - */ - public function getSchemaBuilder() - { - if (is_null($this->schemaGrammar)) { - $this->useDefaultSchemaGrammar(); - } - - return new SchemaBuilder($this); - } - - /** - * Begin a fluent query against a database table. - * - * @param string $table - * @return \Illuminate\Database\Query\Builder - */ - public function table($table) - { - return $this->query()->from($table); - } - - /** - * Get a new query builder instance. - * - * @return \Illuminate\Database\Query\Builder - */ - public function query() - { - return new QueryBuilder( - $this, $this->getQueryGrammar(), $this->getPostProcessor() - ); - } - - /** - * Run a select statement and return a single result. - * - * @param string $query - * @param array $bindings - * @param bool $useReadPdo - * @return mixed - */ - public function selectOne($query, $bindings = [], $useReadPdo = true) - { - $records = $this->select($query, $bindings, $useReadPdo); - - return array_shift($records); - } - - /** - * Run a select statement against the database. - * - * @param string $query - * @param array $bindings - * @return array - */ - public function selectFromWriteConnection($query, $bindings = []) - { - return $this->select($query, $bindings, false); - } - - /** - * Run a select statement against the database. - * - * @param string $query - * @param array $bindings - * @param bool $useReadPdo - * @return array - */ - public function select($query, $bindings = [], $useReadPdo = true) - { - return $this->run($query, $bindings, function ($query, $bindings) use ($useReadPdo) { - if ($this->pretending()) { - return []; - } - - // For select statements, we'll simply execute the query and return an array - // of the database result set. Each element in the array will be a single - // row from the database table, and will either be an array or objects. - $statement = $this->prepared($this->getPdoForSelect($useReadPdo) - ->prepare($query)); - - $this->bindValues($statement, $this->prepareBindings($bindings)); - - $statement->execute(); - - return $statement->fetchAll(); - }); - } - - /** - * Run a select statement against the database and returns a generator. - * - * @param string $query - * @param array $bindings - * @param bool $useReadPdo - * @return \Generator - */ - public function cursor($query, $bindings = [], $useReadPdo = true) - { - $statement = $this->run($query, $bindings, function ($query, $bindings) use ($useReadPdo) { - if ($this->pretending()) { - return []; - } - - // First we will create a statement for the query. Then, we will set the fetch - // mode and prepare the bindings for the query. Once that's done we will be - // ready to execute the query against the database and return the cursor. - $statement = $this->prepared($this->getPdoForSelect($useReadPdo) - ->prepare($query)); - - $this->bindValues( - $statement, $this->prepareBindings($bindings) - ); - - // Next, we'll execute the query against the database and return the statement - // so we can return the cursor. The cursor will use a PHP generator to give - // back one row at a time without using a bunch of memory to render them. - $statement->execute(); - - return $statement; - }); - - while ($record = $statement->fetch()) { - yield $record; - } - } - - /** - * Configure the PDO prepared statement. - * - * @param \PDOStatement $statement - * @return \PDOStatement - */ - protected function prepared(PDOStatement $statement) - { - $statement->setFetchMode($this->fetchMode); - - $this->event(new Events\StatementPrepared( - $this, $statement - )); - - return $statement; - } - - /** - * Get the PDO connection to use for a select query. - * - * @param bool $useReadPdo - * @return \PDO - */ - protected function getPdoForSelect($useReadPdo = true) - { - return $useReadPdo ? $this->getReadPdo() : $this->getPdo(); - } - - /** - * Run an insert statement against the database. - * - * @param string $query - * @param array $bindings - * @return bool - */ - public function insert($query, $bindings = []) - { - return $this->statement($query, $bindings); - } - - /** - * Run an update statement against the database. - * - * @param string $query - * @param array $bindings - * @return int - */ - public function update($query, $bindings = []) - { - return $this->affectingStatement($query, $bindings); - } - - /** - * Run a delete statement against the database. - * - * @param string $query - * @param array $bindings - * @return int - */ - public function delete($query, $bindings = []) - { - return $this->affectingStatement($query, $bindings); - } - - /** - * Execute an SQL statement and return the boolean result. - * - * @param string $query - * @param array $bindings - * @return bool - */ - public function statement($query, $bindings = []) - { - return $this->run($query, $bindings, function ($query, $bindings) { - if ($this->pretending()) { - return true; - } - - $statement = $this->getPdo()->prepare($query); - - $this->bindValues($statement, $this->prepareBindings($bindings)); - - $this->recordsHaveBeenModified(); - - return $statement->execute(); - }); - } - - /** - * Run an SQL statement and get the number of rows affected. - * - * @param string $query - * @param array $bindings - * @return int - */ - public function affectingStatement($query, $bindings = []) - { - return $this->run($query, $bindings, function ($query, $bindings) { - if ($this->pretending()) { - return 0; - } - - // For update or delete statements, we want to get the number of rows affected - // by the statement and return that back to the developer. We'll first need - // to execute the statement and then we'll use PDO to fetch the affected. - $statement = $this->getPdo()->prepare($query); - - $this->bindValues($statement, $this->prepareBindings($bindings)); - - $statement->execute(); - - $this->recordsHaveBeenModified( - ($count = $statement->rowCount()) > 0 - ); - - return $count; - }); - } - - /** - * Run a raw, unprepared query against the PDO connection. - * - * @param string $query - * @return bool - */ - public function unprepared($query) - { - return $this->run($query, [], function ($query) { - if ($this->pretending()) { - return true; - } - - $this->recordsHaveBeenModified( - $change = $this->getPdo()->exec($query) !== false - ); - - return $change; - }); - } - - /** - * Execute the given callback in "dry run" mode. - * - * @param \Closure $callback - * @return array - */ - public function pretend(Closure $callback) - { - return $this->withFreshQueryLog(function () use ($callback) { - $this->pretending = true; - - // Basically to make the database connection "pretend", we will just return - // the default values for all the query methods, then we will return an - // array of queries that were "executed" within the Closure callback. - $callback($this); - - $this->pretending = false; - - return $this->queryLog; - }); - } - - /** - * Execute the given callback in "dry run" mode. - * - * @param \Closure $callback - * @return array - */ - protected function withFreshQueryLog($callback) - { - $loggingQueries = $this->loggingQueries; - - // First we will back up the value of the logging queries property and then - // we'll be ready to run callbacks. This query log will also get cleared - // so we will have a new log of all the queries that are executed now. - $this->enableQueryLog(); - - $this->queryLog = []; - - // Now we'll execute this callback and capture the result. Once it has been - // executed we will restore the value of query logging and give back the - // value of the callback so the original callers can have the results. - $result = $callback(); - - $this->loggingQueries = $loggingQueries; - - return $result; - } - - /** - * Bind values to their parameters in the given statement. - * - * @param \PDOStatement $statement - * @param array $bindings - * @return void - */ - public function bindValues($statement, $bindings) - { - foreach ($bindings as $key => $value) { - $statement->bindValue( - is_string($key) ? $key : $key + 1, $value, - is_int($value) ? PDO::PARAM_INT : PDO::PARAM_STR - ); - } - } - - /** - * Prepare the query bindings for execution. - * - * @param array $bindings - * @return array - */ - public function prepareBindings(array $bindings) - { - $grammar = $this->getQueryGrammar(); - - foreach ($bindings as $key => $value) { - // We need to transform all instances of DateTimeInterface into the actual - // date string. Each query grammar maintains its own date string format - // so we'll just ask the grammar for the format to get from the date. - if ($value instanceof DateTimeInterface) { - $bindings[$key] = $value->format($grammar->getDateFormat()); - } elseif (is_bool($value)) { - $bindings[$key] = (int) $value; - } - } - - return $bindings; - } - - /** - * Run a SQL statement and log its execution context. - * - * @param string $query - * @param array $bindings - * @param \Closure $callback - * @return mixed - * - * @throws \Illuminate\Database\QueryException - */ - protected function run($query, $bindings, Closure $callback) - { - $this->reconnectIfMissingConnection(); - - $start = microtime(true); - - // Here we will run this query. If an exception occurs we'll determine if it was - // caused by a connection that has been lost. If that is the cause, we'll try - // to re-establish connection and re-run the query with a fresh connection. - try { - $result = $this->runQueryCallback($query, $bindings, $callback); - } catch (QueryException $e) { - $result = $this->handleQueryException( - $e, $query, $bindings, $callback - ); - } - - // Once we have run the query we will calculate the time that it took to run and - // then log the query, bindings, and execution time so we will report them on - // the event that the developer needs them. We'll log time in milliseconds. - $this->logQuery( - $query, $bindings, $this->getElapsedTime($start) - ); - - return $result; - } - - /** - * Run a SQL statement. - * - * @param string $query - * @param array $bindings - * @param \Closure $callback - * @return mixed - * - * @throws \Illuminate\Database\QueryException - */ - protected function runQueryCallback($query, $bindings, Closure $callback) - { - // To execute the statement, we'll simply call the callback, which will actually - // run the SQL against the PDO connection. Then we can calculate the time it - // took to execute and log the query SQL, bindings and time in our memory. - try { - $result = $callback($query, $bindings); - } - - // If an exception occurs when attempting to run a query, we'll format the error - // message to include the bindings with SQL, which will make this exception a - // lot more helpful to the developer instead of just the database's errors. - catch (Exception $e) { - throw new QueryException( - $query, $this->prepareBindings($bindings), $e - ); - } - - return $result; - } - - /** - * Log a query in the connection's query log. - * - * @param string $query - * @param array $bindings - * @param float|null $time - * @return void - */ - public function logQuery($query, $bindings, $time = null) - { - $this->event(new QueryExecuted($query, $bindings, $time, $this)); - - if ($this->loggingQueries) { - $this->queryLog[] = compact('query', 'bindings', 'time'); - } - } - - /** - * Get the elapsed time since a given starting point. - * - * @param int $start - * @return float - */ - protected function getElapsedTime($start) - { - return round((microtime(true) - $start) * 1000, 2); - } - - /** - * Handle a query exception. - * - * @param \Illuminate\Database\QueryException $e - * @param string $query - * @param array $bindings - * @param \Closure $callback - * @return mixed - * - * @throws \Illuminate\Database\QueryException - */ - protected function handleQueryException(QueryException $e, $query, $bindings, Closure $callback) - { - if ($this->transactions >= 1) { - throw $e; - } - - return $this->tryAgainIfCausedByLostConnection( - $e, $query, $bindings, $callback - ); - } - - /** - * Handle a query exception that occurred during query execution. - * - * @param \Illuminate\Database\QueryException $e - * @param string $query - * @param array $bindings - * @param \Closure $callback - * @return mixed - * - * @throws \Illuminate\Database\QueryException - */ - protected function tryAgainIfCausedByLostConnection(QueryException $e, $query, $bindings, Closure $callback) - { - if ($this->causedByLostConnection($e->getPrevious())) { - $this->reconnect(); - - return $this->runQueryCallback($query, $bindings, $callback); - } - - throw $e; - } - - /** - * Reconnect to the database. - * - * @return void - * - * @throws \LogicException - */ - public function reconnect() - { - if (is_callable($this->reconnector)) { - $this->doctrineConnection = null; - - return call_user_func($this->reconnector, $this); - } - - throw new LogicException('Lost connection and no reconnector available.'); - } - - /** - * Reconnect to the database if a PDO connection is missing. - * - * @return void - */ - protected function reconnectIfMissingConnection() - { - if (is_null($this->pdo)) { - $this->reconnect(); - } - } - - /** - * Disconnect from the underlying PDO connection. - * - * @return void - */ - public function disconnect() - { - $this->setPdo(null)->setReadPdo(null); - } - - /** - * Register a database query listener with the connection. - * - * @param \Closure $callback - * @return void - */ - public function listen(Closure $callback) - { - if (isset($this->events)) { - $this->events->listen(Events\QueryExecuted::class, $callback); - } - } - - /** - * Fire an event for this connection. - * - * @param string $event - * @return array|null - */ - protected function fireConnectionEvent($event) - { - if (! isset($this->events)) { - return; - } - - switch ($event) { - case 'beganTransaction': - return $this->events->dispatch(new Events\TransactionBeginning($this)); - case 'committed': - return $this->events->dispatch(new Events\TransactionCommitted($this)); - case 'rollingBack': - return $this->events->dispatch(new Events\TransactionRolledBack($this)); - } - } - - /** - * Fire the given event if possible. - * - * @param mixed $event - * @return void - */ - protected function event($event) - { - if (isset($this->events)) { - $this->events->dispatch($event); - } - } - - /** - * Get a new raw query expression. - * - * @param mixed $value - * @return \Illuminate\Database\Query\Expression - */ - public function raw($value) - { - return new Expression($value); - } - - /** - * Indicate if any records have been modified. - * - * @param bool $value - * @return void - */ - public function recordsHaveBeenModified($value = true) - { - if (! $this->recordsModified) { - $this->recordsModified = $value; - } - } - - /** - * Is Doctrine available? - * - * @return bool - */ - public function isDoctrineAvailable() - { - return class_exists('Doctrine\DBAL\Connection'); - } - - /** - * Get a Doctrine Schema Column instance. - * - * @param string $table - * @param string $column - * @return \Doctrine\DBAL\Schema\Column - */ - public function getDoctrineColumn($table, $column) - { - $schema = $this->getDoctrineSchemaManager(); - - return $schema->listTableDetails($table)->getColumn($column); - } - - /** - * Get the Doctrine DBAL schema manager for the connection. - * - * @return \Doctrine\DBAL\Schema\AbstractSchemaManager - */ - public function getDoctrineSchemaManager() - { - return $this->getDoctrineDriver()->getSchemaManager($this->getDoctrineConnection()); - } - - /** - * Get the Doctrine DBAL database connection instance. - * - * @return \Doctrine\DBAL\Connection - */ - public function getDoctrineConnection() - { - if (is_null($this->doctrineConnection)) { - $driver = $this->getDoctrineDriver(); - - $this->doctrineConnection = new DoctrineConnection(array_filter([ - 'pdo' => $this->getPdo(), - 'dbname' => $this->getConfig('database'), - 'driver' => $driver->getName(), - 'serverVersion' => $this->getConfig('server_version'), - ]), $driver); - } - - return $this->doctrineConnection; - } - - /** - * Get the current PDO connection. - * - * @return \PDO - */ - public function getPdo() - { - if ($this->pdo instanceof Closure) { - return $this->pdo = call_user_func($this->pdo); - } - - return $this->pdo; - } - - /** - * Get the current PDO connection used for reading. - * - * @return \PDO - */ - public function getReadPdo() - { - if ($this->transactions > 0) { - return $this->getPdo(); - } - - if ($this->recordsModified && $this->getConfig('sticky')) { - return $this->getPdo(); - } - - if ($this->readPdo instanceof Closure) { - return $this->readPdo = call_user_func($this->readPdo); - } - - return $this->readPdo ?: $this->getPdo(); - } - - /** - * Set the PDO connection. - * - * @param \PDO|\Closure|null $pdo - * @return $this - */ - public function setPdo($pdo) - { - $this->transactions = 0; - - $this->pdo = $pdo; - - return $this; - } - - /** - * Set the PDO connection used for reading. - * - * @param \PDO|\Closure|null $pdo - * @return $this - */ - public function setReadPdo($pdo) - { - $this->readPdo = $pdo; - - return $this; - } - - /** - * Set the reconnect instance on the connection. - * - * @param callable $reconnector - * @return $this - */ - public function setReconnector(callable $reconnector) - { - $this->reconnector = $reconnector; - - return $this; - } - - /** - * Get the database connection name. - * - * @return string|null - */ - public function getName() - { - return $this->getConfig('name'); - } - - /** - * Get an option from the configuration options. - * - * @param string|null $option - * @return mixed - */ - public function getConfig($option = null) - { - return Arr::get($this->config, $option); - } - - /** - * Get the PDO driver name. - * - * @return string - */ - public function getDriverName() - { - return $this->getConfig('driver'); - } - - /** - * Get the query grammar used by the connection. - * - * @return \Illuminate\Database\Query\Grammars\Grammar - */ - public function getQueryGrammar() - { - return $this->queryGrammar; - } - - /** - * Set the query grammar used by the connection. - * - * @param \Illuminate\Database\Query\Grammars\Grammar $grammar - * @return $this - */ - public function setQueryGrammar(Query\Grammars\Grammar $grammar) - { - $this->queryGrammar = $grammar; - - return $this; - } - - /** - * Get the schema grammar used by the connection. - * - * @return \Illuminate\Database\Schema\Grammars\Grammar - */ - public function getSchemaGrammar() - { - return $this->schemaGrammar; - } - - /** - * Set the schema grammar used by the connection. - * - * @param \Illuminate\Database\Schema\Grammars\Grammar $grammar - * @return $this - */ - public function setSchemaGrammar(Schema\Grammars\Grammar $grammar) - { - $this->schemaGrammar = $grammar; - - return $this; - } - - /** - * Get the query post processor used by the connection. - * - * @return \Illuminate\Database\Query\Processors\Processor - */ - public function getPostProcessor() - { - return $this->postProcessor; - } - - /** - * Set the query post processor used by the connection. - * - * @param \Illuminate\Database\Query\Processors\Processor $processor - * @return $this - */ - public function setPostProcessor(Processor $processor) - { - $this->postProcessor = $processor; - - return $this; - } - - /** - * Get the event dispatcher used by the connection. - * - * @return \Illuminate\Contracts\Events\Dispatcher - */ - public function getEventDispatcher() - { - return $this->events; - } - - /** - * Set the event dispatcher instance on the connection. - * - * @param \Illuminate\Contracts\Events\Dispatcher $events - * @return $this - */ - public function setEventDispatcher(Dispatcher $events) - { - $this->events = $events; - - return $this; - } - - /** - * Unset the event dispatcher for this connection. - * - * @return void - */ - public function unsetEventDispatcher() - { - $this->events = null; - } - - /** - * Determine if the connection is in a "dry run". - * - * @return bool - */ - public function pretending() - { - return $this->pretending === true; - } - - /** - * Get the connection query log. - * - * @return array - */ - public function getQueryLog() - { - return $this->queryLog; - } - - /** - * Clear the query log. - * - * @return void - */ - public function flushQueryLog() - { - $this->queryLog = []; - } - - /** - * Enable the query log on the connection. - * - * @return void - */ - public function enableQueryLog() - { - $this->loggingQueries = true; - } - - /** - * Disable the query log on the connection. - * - * @return void - */ - public function disableQueryLog() - { - $this->loggingQueries = false; - } - - /** - * Determine whether we're logging queries. - * - * @return bool - */ - public function logging() - { - return $this->loggingQueries; - } - - /** - * Get the name of the connected database. - * - * @return string - */ - public function getDatabaseName() - { - return $this->database; - } - - /** - * Set the name of the connected database. - * - * @param string $database - * @return $this - */ - public function setDatabaseName($database) - { - $this->database = $database; - - return $this; - } - - /** - * Get the table prefix for the connection. - * - * @return string - */ - public function getTablePrefix() - { - return $this->tablePrefix; - } - - /** - * Set the table prefix in use by the connection. - * - * @param string $prefix - * @return $this - */ - public function setTablePrefix($prefix) - { - $this->tablePrefix = $prefix; - - $this->getQueryGrammar()->setTablePrefix($prefix); - - return $this; - } - - /** - * Set the table prefix and return the grammar. - * - * @param \Illuminate\Database\Grammar $grammar - * @return \Illuminate\Database\Grammar - */ - public function withTablePrefix(Grammar $grammar) - { - $grammar->setTablePrefix($this->tablePrefix); - - return $grammar; - } - - /** - * Register a connection resolver. - * - * @param string $driver - * @param \Closure $callback - * @return void - */ - public static function resolverFor($driver, Closure $callback) - { - static::$resolvers[$driver] = $callback; - } - - /** - * Get the connection resolver for the given driver. - * - * @param string $driver - * @return mixed - */ - public static function getResolver($driver) - { - return static::$resolvers[$driver] ?? null; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/ConnectionInterface.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/ConnectionInterface.php deleted file mode 100644 index 56127e1..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/ConnectionInterface.php +++ /dev/null @@ -1,162 +0,0 @@ - $connection) { - $this->addConnection($name, $connection); - } - } - - /** - * Get a database connection instance. - * - * @param string|null $name - * @return \Illuminate\Database\ConnectionInterface - */ - public function connection($name = null) - { - if (is_null($name)) { - $name = $this->getDefaultConnection(); - } - - return $this->connections[$name]; - } - - /** - * Add a connection to the resolver. - * - * @param string $name - * @param \Illuminate\Database\ConnectionInterface $connection - * @return void - */ - public function addConnection($name, ConnectionInterface $connection) - { - $this->connections[$name] = $connection; - } - - /** - * Check if a connection has been registered. - * - * @param string $name - * @return bool - */ - public function hasConnection($name) - { - return isset($this->connections[$name]); - } - - /** - * Get the default connection name. - * - * @return string - */ - public function getDefaultConnection() - { - return $this->default; - } - - /** - * Set the default connection name. - * - * @param string $name - * @return void - */ - public function setDefaultConnection($name) - { - $this->default = $name; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/ConnectionResolverInterface.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/ConnectionResolverInterface.php deleted file mode 100644 index b31e5a7..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/ConnectionResolverInterface.php +++ /dev/null @@ -1,29 +0,0 @@ -container = $container; - } - - /** - * Establish a PDO connection based on the configuration. - * - * @param array $config - * @param string|null $name - * @return \Illuminate\Database\Connection - */ - public function make(array $config, $name = null) - { - $config = $this->parseConfig($config, $name); - - if (isset($config['read'])) { - return $this->createReadWriteConnection($config); - } - - return $this->createSingleConnection($config); - } - - /** - * Parse and prepare the database configuration. - * - * @param array $config - * @param string $name - * @return array - */ - protected function parseConfig(array $config, $name) - { - return Arr::add(Arr::add($config, 'prefix', ''), 'name', $name); - } - - /** - * Create a single database connection instance. - * - * @param array $config - * @return \Illuminate\Database\Connection - */ - protected function createSingleConnection(array $config) - { - $pdo = $this->createPdoResolver($config); - - return $this->createConnection( - $config['driver'], $pdo, $config['database'], $config['prefix'], $config - ); - } - - /** - * Create a single database connection instance. - * - * @param array $config - * @return \Illuminate\Database\Connection - */ - protected function createReadWriteConnection(array $config) - { - $connection = $this->createSingleConnection($this->getWriteConfig($config)); - - return $connection->setReadPdo($this->createReadPdo($config)); - } - - /** - * Create a new PDO instance for reading. - * - * @param array $config - * @return \Closure - */ - protected function createReadPdo(array $config) - { - return $this->createPdoResolver($this->getReadConfig($config)); - } - - /** - * Get the read configuration for a read / write connection. - * - * @param array $config - * @return array - */ - protected function getReadConfig(array $config) - { - return $this->mergeReadWriteConfig( - $config, $this->getReadWriteConfig($config, 'read') - ); - } - - /** - * Get the read configuration for a read / write connection. - * - * @param array $config - * @return array - */ - protected function getWriteConfig(array $config) - { - return $this->mergeReadWriteConfig( - $config, $this->getReadWriteConfig($config, 'write') - ); - } - - /** - * Get a read / write level configuration. - * - * @param array $config - * @param string $type - * @return array - */ - protected function getReadWriteConfig(array $config, $type) - { - return isset($config[$type][0]) - ? Arr::random($config[$type]) - : $config[$type]; - } - - /** - * Merge a configuration for a read / write connection. - * - * @param array $config - * @param array $merge - * @return array - */ - protected function mergeReadWriteConfig(array $config, array $merge) - { - return Arr::except(array_merge($config, $merge), ['read', 'write']); - } - - /** - * Create a new Closure that resolves to a PDO instance. - * - * @param array $config - * @return \Closure - */ - protected function createPdoResolver(array $config) - { - return array_key_exists('host', $config) - ? $this->createPdoResolverWithHosts($config) - : $this->createPdoResolverWithoutHosts($config); - } - - /** - * Create a new Closure that resolves to a PDO instance with a specific host or an array of hosts. - * - * @param array $config - * @return \Closure - */ - protected function createPdoResolverWithHosts(array $config) - { - return function () use ($config) { - foreach (Arr::shuffle($hosts = $this->parseHosts($config)) as $key => $host) { - $config['host'] = $host; - - try { - return $this->createConnector($config)->connect($config); - } catch (PDOException $e) { - continue; - } - } - - throw $e; - }; - } - - /** - * Parse the hosts configuration item into an array. - * - * @param array $config - * @return array - */ - protected function parseHosts(array $config) - { - $hosts = Arr::wrap($config['host']); - - if (empty($hosts)) { - throw new InvalidArgumentException('Database hosts array is empty.'); - } - - return $hosts; - } - - /** - * Create a new Closure that resolves to a PDO instance where there is no configured host. - * - * @param array $config - * @return \Closure - */ - protected function createPdoResolverWithoutHosts(array $config) - { - return function () use ($config) { - return $this->createConnector($config)->connect($config); - }; - } - - /** - * Create a connector instance based on the configuration. - * - * @param array $config - * @return \Illuminate\Database\Connectors\ConnectorInterface - * - * @throws \InvalidArgumentException - */ - public function createConnector(array $config) - { - if (! isset($config['driver'])) { - throw new InvalidArgumentException('A driver must be specified.'); - } - - if ($this->container->bound($key = "db.connector.{$config['driver']}")) { - return $this->container->make($key); - } - - switch ($config['driver']) { - case 'mysql': - return new MySqlConnector; - case 'pgsql': - return new PostgresConnector; - case 'sqlite': - return new SQLiteConnector; - case 'sqlsrv': - return new SqlServerConnector; - } - - throw new InvalidArgumentException("Unsupported driver [{$config['driver']}]"); - } - - /** - * Create a new connection instance. - * - * @param string $driver - * @param \PDO|\Closure $connection - * @param string $database - * @param string $prefix - * @param array $config - * @return \Illuminate\Database\Connection - * - * @throws \InvalidArgumentException - */ - protected function createConnection($driver, $connection, $database, $prefix = '', array $config = []) - { - if ($resolver = Connection::getResolver($driver)) { - return $resolver($connection, $database, $prefix, $config); - } - - switch ($driver) { - case 'mysql': - return new MySqlConnection($connection, $database, $prefix, $config); - case 'pgsql': - return new PostgresConnection($connection, $database, $prefix, $config); - case 'sqlite': - return new SQLiteConnection($connection, $database, $prefix, $config); - case 'sqlsrv': - return new SqlServerConnection($connection, $database, $prefix, $config); - } - - throw new InvalidArgumentException("Unsupported driver [{$driver}]"); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php deleted file mode 100644 index ab0903d..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php +++ /dev/null @@ -1,139 +0,0 @@ - PDO::CASE_NATURAL, - PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, - PDO::ATTR_ORACLE_NULLS => PDO::NULL_NATURAL, - PDO::ATTR_STRINGIFY_FETCHES => false, - PDO::ATTR_EMULATE_PREPARES => false, - ]; - - /** - * Create a new PDO connection. - * - * @param string $dsn - * @param array $config - * @param array $options - * @return \PDO - * - * @throws \Exception - */ - public function createConnection($dsn, array $config, array $options) - { - [$username, $password] = [ - $config['username'] ?? null, $config['password'] ?? null, - ]; - - try { - return $this->createPdoConnection( - $dsn, $username, $password, $options - ); - } catch (Exception $e) { - return $this->tryAgainIfCausedByLostConnection( - $e, $dsn, $username, $password, $options - ); - } - } - - /** - * Create a new PDO connection instance. - * - * @param string $dsn - * @param string $username - * @param string $password - * @param array $options - * @return \PDO - */ - protected function createPdoConnection($dsn, $username, $password, $options) - { - if (class_exists(PDOConnection::class) && ! $this->isPersistentConnection($options)) { - return new PDOConnection($dsn, $username, $password, $options); - } - - return new PDO($dsn, $username, $password, $options); - } - - /** - * Determine if the connection is persistent. - * - * @param array $options - * @return bool - */ - protected function isPersistentConnection($options) - { - return isset($options[PDO::ATTR_PERSISTENT]) && - $options[PDO::ATTR_PERSISTENT]; - } - - /** - * Handle an exception that occurred during connect execution. - * - * @param \Throwable $e - * @param string $dsn - * @param string $username - * @param string $password - * @param array $options - * @return \PDO - * - * @throws \Exception - */ - protected function tryAgainIfCausedByLostConnection(Throwable $e, $dsn, $username, $password, $options) - { - if ($this->causedByLostConnection($e)) { - return $this->createPdoConnection($dsn, $username, $password, $options); - } - - throw $e; - } - - /** - * Get the PDO options based on the configuration. - * - * @param array $config - * @return array - */ - public function getOptions(array $config) - { - $options = $config['options'] ?? []; - - return array_diff_key($this->options, $options) + $options; - } - - /** - * Get the default PDO connection options. - * - * @return array - */ - public function getDefaultOptions() - { - return $this->options; - } - - /** - * Set the default PDO connection options. - * - * @param array $options - * @return void - */ - public function setDefaultOptions(array $options) - { - $this->options = $options; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Connectors/ConnectorInterface.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Connectors/ConnectorInterface.php deleted file mode 100644 index 08597ac..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Connectors/ConnectorInterface.php +++ /dev/null @@ -1,14 +0,0 @@ -getDsn($config); - - $options = $this->getOptions($config); - - // We need to grab the PDO options that should be used while making the brand - // new connection instance. The PDO options control various aspects of the - // connection's behavior, and some might be specified by the developers. - $connection = $this->createConnection($dsn, $config, $options); - - if (! empty($config['database'])) { - $connection->exec("use `{$config['database']}`;"); - } - - $this->configureEncoding($connection, $config); - - // Next, we will check to see if a timezone has been specified in this config - // and if it has we will issue a statement to modify the timezone with the - // database. Setting this DB timezone is an optional configuration item. - $this->configureTimezone($connection, $config); - - $this->setModes($connection, $config); - - return $connection; - } - - /** - * Set the connection character set and collation. - * - * @param \PDO $connection - * @param array $config - * @return void - */ - protected function configureEncoding($connection, array $config) - { - if (! isset($config['charset'])) { - return $connection; - } - - $connection->prepare( - "set names '{$config['charset']}'".$this->getCollation($config) - )->execute(); - } - - /** - * Get the collation for the configuration. - * - * @param array $config - * @return string - */ - protected function getCollation(array $config) - { - return isset($config['collation']) ? " collate '{$config['collation']}'" : ''; - } - - /** - * Set the timezone on the connection. - * - * @param \PDO $connection - * @param array $config - * @return void - */ - protected function configureTimezone($connection, array $config) - { - if (isset($config['timezone'])) { - $connection->prepare('set time_zone="'.$config['timezone'].'"')->execute(); - } - } - - /** - * Create a DSN string from a configuration. - * - * Chooses socket or host/port based on the 'unix_socket' config value. - * - * @param array $config - * @return string - */ - protected function getDsn(array $config) - { - return $this->hasSocket($config) - ? $this->getSocketDsn($config) - : $this->getHostDsn($config); - } - - /** - * Determine if the given configuration array has a UNIX socket value. - * - * @param array $config - * @return bool - */ - protected function hasSocket(array $config) - { - return isset($config['unix_socket']) && ! empty($config['unix_socket']); - } - - /** - * Get the DSN string for a socket configuration. - * - * @param array $config - * @return string - */ - protected function getSocketDsn(array $config) - { - return "mysql:unix_socket={$config['unix_socket']};dbname={$config['database']}"; - } - - /** - * Get the DSN string for a host / port configuration. - * - * @param array $config - * @return string - */ - protected function getHostDsn(array $config) - { - extract($config, EXTR_SKIP); - - return isset($port) - ? "mysql:host={$host};port={$port};dbname={$database}" - : "mysql:host={$host};dbname={$database}"; - } - - /** - * Set the modes for the connection. - * - * @param \PDO $connection - * @param array $config - * @return void - */ - protected function setModes(PDO $connection, array $config) - { - if (isset($config['modes'])) { - $this->setCustomModes($connection, $config); - } elseif (isset($config['strict'])) { - if ($config['strict']) { - $connection->prepare($this->strictMode($connection))->execute(); - } else { - $connection->prepare("set session sql_mode='NO_ENGINE_SUBSTITUTION'")->execute(); - } - } - } - - /** - * Set the custom modes on the connection. - * - * @param \PDO $connection - * @param array $config - * @return void - */ - protected function setCustomModes(PDO $connection, array $config) - { - $modes = implode(',', $config['modes']); - - $connection->prepare("set session sql_mode='{$modes}'")->execute(); - } - - /** - * Get the query to enable strict mode. - * - * @param \PDO $connection - * @return string - */ - protected function strictMode(PDO $connection) - { - if (version_compare($connection->getAttribute(PDO::ATTR_SERVER_VERSION), '8.0.11') >= 0) { - return "set session sql_mode='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'"; - } - - return "set session sql_mode='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'"; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Connectors/PostgresConnector.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Connectors/PostgresConnector.php deleted file mode 100644 index c80fea6..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Connectors/PostgresConnector.php +++ /dev/null @@ -1,176 +0,0 @@ - PDO::CASE_NATURAL, - PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, - PDO::ATTR_ORACLE_NULLS => PDO::NULL_NATURAL, - PDO::ATTR_STRINGIFY_FETCHES => false, - ]; - - /** - * Establish a database connection. - * - * @param array $config - * @return \PDO - */ - public function connect(array $config) - { - // First we'll create the basic DSN and connection instance connecting to the - // using the configuration option specified by the developer. We will also - // set the default character set on the connections to UTF-8 by default. - $connection = $this->createConnection( - $this->getDsn($config), $config, $this->getOptions($config) - ); - - $this->configureEncoding($connection, $config); - - // Next, we will check to see if a timezone has been specified in this config - // and if it has we will issue a statement to modify the timezone with the - // database. Setting this DB timezone is an optional configuration item. - $this->configureTimezone($connection, $config); - - $this->configureSchema($connection, $config); - - // Postgres allows an application_name to be set by the user and this name is - // used to when monitoring the application with pg_stat_activity. So we'll - // determine if the option has been specified and run a statement if so. - $this->configureApplicationName($connection, $config); - - return $connection; - } - - /** - * Set the connection character set and collation. - * - * @param \PDO $connection - * @param array $config - * @return void - */ - protected function configureEncoding($connection, $config) - { - if (! isset($config['charset'])) { - return; - } - - $connection->prepare("set names '{$config['charset']}'")->execute(); - } - - /** - * Set the timezone on the connection. - * - * @param \PDO $connection - * @param array $config - * @return void - */ - protected function configureTimezone($connection, array $config) - { - if (isset($config['timezone'])) { - $timezone = $config['timezone']; - - $connection->prepare("set time zone '{$timezone}'")->execute(); - } - } - - /** - * Set the schema on the connection. - * - * @param \PDO $connection - * @param array $config - * @return void - */ - protected function configureSchema($connection, $config) - { - if (isset($config['schema'])) { - $schema = $this->formatSchema($config['schema']); - - $connection->prepare("set search_path to {$schema}")->execute(); - } - } - - /** - * Format the schema for the DSN. - * - * @param array|string $schema - * @return string - */ - protected function formatSchema($schema) - { - if (is_array($schema)) { - return '"'.implode('", "', $schema).'"'; - } - - return '"'.$schema.'"'; - } - - /** - * Set the schema on the connection. - * - * @param \PDO $connection - * @param array $config - * @return void - */ - protected function configureApplicationName($connection, $config) - { - if (isset($config['application_name'])) { - $applicationName = $config['application_name']; - - $connection->prepare("set application_name to '$applicationName'")->execute(); - } - } - - /** - * Create a DSN string from a configuration. - * - * @param array $config - * @return string - */ - protected function getDsn(array $config) - { - // First we will create the basic DSN setup as well as the port if it is in - // in the configuration options. This will give us the basic DSN we will - // need to establish the PDO connections and return them back for use. - extract($config, EXTR_SKIP); - - $host = isset($host) ? "host={$host};" : ''; - - $dsn = "pgsql:{$host}dbname={$database}"; - - // If a port was specified, we will add it to this Postgres DSN connections - // format. Once we have done that we are ready to return this connection - // string back out for usage, as this has been fully constructed here. - if (isset($config['port'])) { - $dsn .= ";port={$port}"; - } - - return $this->addSslOptions($dsn, $config); - } - - /** - * Add the SSL options to the DSN. - * - * @param string $dsn - * @param array $config - * @return string - */ - protected function addSslOptions($dsn, array $config) - { - foreach (['sslmode', 'sslcert', 'sslkey', 'sslrootcert'] as $option) { - if (isset($config[$option])) { - $dsn .= ";{$option}={$config[$option]}"; - } - } - - return $dsn; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Connectors/SQLiteConnector.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Connectors/SQLiteConnector.php deleted file mode 100644 index 90dc16b..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Connectors/SQLiteConnector.php +++ /dev/null @@ -1,39 +0,0 @@ -getOptions($config); - - // SQLite supports "in-memory" databases that only last as long as the owning - // connection does. These are useful for tests or for short lifetime store - // querying. In-memory databases may only have a single open connection. - if ($config['database'] === ':memory:') { - return $this->createConnection('sqlite::memory:', $config, $options); - } - - $path = realpath($config['database']); - - // Here we'll verify that the SQLite database exists before going any further - // as the developer probably wants to know if the database exists and this - // SQLite driver will not throw any exception if it does not by default. - if ($path === false) { - throw new InvalidArgumentException("Database ({$config['database']}) does not exist."); - } - - return $this->createConnection("sqlite:{$path}", $config, $options); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Connectors/SqlServerConnector.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Connectors/SqlServerConnector.php deleted file mode 100644 index 6d6ac2d..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Connectors/SqlServerConnector.php +++ /dev/null @@ -1,185 +0,0 @@ - PDO::CASE_NATURAL, - PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, - PDO::ATTR_ORACLE_NULLS => PDO::NULL_NATURAL, - PDO::ATTR_STRINGIFY_FETCHES => false, - ]; - - /** - * Establish a database connection. - * - * @param array $config - * @return \PDO - */ - public function connect(array $config) - { - $options = $this->getOptions($config); - - return $this->createConnection($this->getDsn($config), $config, $options); - } - - /** - * Create a DSN string from a configuration. - * - * @param array $config - * @return string - */ - protected function getDsn(array $config) - { - // First we will create the basic DSN setup as well as the port if it is in - // in the configuration options. This will give us the basic DSN we will - // need to establish the PDO connections and return them back for use. - if ($this->prefersOdbc($config)) { - return $this->getOdbcDsn($config); - } - - if (in_array('sqlsrv', $this->getAvailableDrivers())) { - return $this->getSqlSrvDsn($config); - } else { - return $this->getDblibDsn($config); - } - } - - /** - * Determine if the database configuration prefers ODBC. - * - * @param array $config - * @return bool - */ - protected function prefersOdbc(array $config) - { - return in_array('odbc', $this->getAvailableDrivers()) && - ($config['odbc'] ?? null) === true; - } - - /** - * Get the DSN string for a DbLib connection. - * - * @param array $config - * @return string - */ - protected function getDblibDsn(array $config) - { - return $this->buildConnectString('dblib', array_merge([ - 'host' => $this->buildHostString($config, ':'), - 'dbname' => $config['database'], - ], Arr::only($config, ['appname', 'charset', 'version']))); - } - - /** - * Get the DSN string for an ODBC connection. - * - * @param array $config - * @return string - */ - protected function getOdbcDsn(array $config) - { - return isset($config['odbc_datasource_name']) - ? 'odbc:'.$config['odbc_datasource_name'] : ''; - } - - /** - * Get the DSN string for a SqlSrv connection. - * - * @param array $config - * @return string - */ - protected function getSqlSrvDsn(array $config) - { - $arguments = [ - 'Server' => $this->buildHostString($config, ','), - ]; - - if (isset($config['database'])) { - $arguments['Database'] = $config['database']; - } - - if (isset($config['readonly'])) { - $arguments['ApplicationIntent'] = 'ReadOnly'; - } - - if (isset($config['pooling']) && $config['pooling'] === false) { - $arguments['ConnectionPooling'] = '0'; - } - - if (isset($config['appname'])) { - $arguments['APP'] = $config['appname']; - } - - if (isset($config['encrypt'])) { - $arguments['Encrypt'] = $config['encrypt']; - } - - if (isset($config['trust_server_certificate'])) { - $arguments['TrustServerCertificate'] = $config['trust_server_certificate']; - } - - if (isset($config['multiple_active_result_sets']) && $config['multiple_active_result_sets'] === false) { - $arguments['MultipleActiveResultSets'] = 'false'; - } - - if (isset($config['transaction_isolation'])) { - $arguments['TransactionIsolation'] = $config['transaction_isolation']; - } - - if (isset($config['multi_subnet_failover'])) { - $arguments['MultiSubnetFailover'] = $config['multi_subnet_failover']; - } - - return $this->buildConnectString('sqlsrv', $arguments); - } - - /** - * Build a connection string from the given arguments. - * - * @param string $driver - * @param array $arguments - * @return string - */ - protected function buildConnectString($driver, array $arguments) - { - return $driver.':'.implode(';', array_map(function ($key) use ($arguments) { - return sprintf('%s=%s', $key, $arguments[$key]); - }, array_keys($arguments))); - } - - /** - * Build a host string from the given configuration. - * - * @param array $config - * @param string $separator - * @return string - */ - protected function buildHostString(array $config, $separator) - { - if (empty($config['port'])) { - return $config['host']; - } - - return $config['host'].$separator.$config['port']; - } - - /** - * Get the available PDO drivers. - * - * @return array - */ - protected function getAvailableDrivers() - { - return PDO::getAvailableDrivers(); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Console/Factories/FactoryMakeCommand.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Console/Factories/FactoryMakeCommand.php deleted file mode 100644 index 725a69c..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Console/Factories/FactoryMakeCommand.php +++ /dev/null @@ -1,94 +0,0 @@ -option('model') - ? $this->qualifyClass($this->option('model')) - : trim($this->rootNamespace(), '\\').'\\Model'; - - $model = class_basename($namespaceModel); - - return str_replace( - [ - 'NamespacedDummyModel', - 'DummyModel', - ], - [ - $namespaceModel, - $model, - ], - parent::buildClass($name) - ); - } - - /** - * Get the destination class path. - * - * @param string $name - * @return string - */ - protected function getPath($name) - { - $name = str_replace( - ['\\', '/'], '', $this->argument('name') - ); - - return $this->laravel->databasePath()."/factories/{$name}.php"; - } - - /** - * Get the console command options. - * - * @return array - */ - protected function getOptions() - { - return [ - ['model', 'm', InputOption::VALUE_OPTIONAL, 'The name of the model'], - ]; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Console/Factories/stubs/factory.stub b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Console/Factories/stubs/factory.stub deleted file mode 100644 index eee3086..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Console/Factories/stubs/factory.stub +++ /dev/null @@ -1,12 +0,0 @@ -define(DummyModel::class, function (Faker $faker) { - return [ - // - ]; -}); diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/BaseCommand.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/BaseCommand.php deleted file mode 100644 index 6c4f255..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/BaseCommand.php +++ /dev/null @@ -1,51 +0,0 @@ -input->hasOption('path') && $this->option('path')) { - return collect($this->option('path'))->map(function ($path) { - return ! $this->usingRealPath() - ? $this->laravel->basePath().'/'.$path - : $path; - })->all(); - } - - return array_merge( - $this->migrator->paths(), [$this->getMigrationPath()] - ); - } - - /** - * Determine if the given path(s) are pre-resolved "real" paths. - * - * @return bool - */ - protected function usingRealPath() - { - return $this->input->hasOption('realpath') && $this->option('realpath'); - } - - /** - * Get the path to the migration directory. - * - * @return string - */ - protected function getMigrationPath() - { - return $this->laravel->databasePath().DIRECTORY_SEPARATOR.'migrations'; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/FreshCommand.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/FreshCommand.php deleted file mode 100644 index e936c98..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/FreshCommand.php +++ /dev/null @@ -1,152 +0,0 @@ -confirmToProceed()) { - return; - } - - $database = $this->input->getOption('database'); - - if ($this->option('drop-views')) { - $this->dropAllViews($database); - - $this->info('Dropped all views successfully.'); - } - - $this->dropAllTables($database); - - $this->info('Dropped all tables successfully.'); - - if ($this->option('drop-types')) { - $this->dropAllTypes($database); - - $this->info('Dropped all types successfully.'); - } - - $this->call('migrate', array_filter([ - '--database' => $database, - '--path' => $this->input->getOption('path'), - '--realpath' => $this->input->getOption('realpath'), - '--force' => true, - '--step' => $this->option('step'), - ])); - - if ($this->needsSeeding()) { - $this->runSeeder($database); - } - } - - /** - * Drop all of the database tables. - * - * @param string $database - * @return void - */ - protected function dropAllTables($database) - { - $this->laravel['db']->connection($database) - ->getSchemaBuilder() - ->dropAllTables(); - } - - /** - * Drop all of the database views. - * - * @param string $database - * @return void - */ - protected function dropAllViews($database) - { - $this->laravel['db']->connection($database) - ->getSchemaBuilder() - ->dropAllViews(); - } - - /** - * Drop all of the database types. - * - * @param string $database - * @return void - */ - protected function dropAllTypes($database) - { - $this->laravel['db']->connection($database) - ->getSchemaBuilder() - ->dropAllTypes(); - } - - /** - * Determine if the developer has requested database seeding. - * - * @return bool - */ - protected function needsSeeding() - { - return $this->option('seed') || $this->option('seeder'); - } - - /** - * Run the database seeder command. - * - * @param string $database - * @return void - */ - protected function runSeeder($database) - { - $this->call('db:seed', array_filter([ - '--database' => $database, - '--class' => $this->option('seeder') ?: 'DatabaseSeeder', - '--force' => true, - ])); - } - - /** - * Get the console command options. - * - * @return array - */ - protected function getOptions() - { - return [ - ['database', null, InputOption::VALUE_OPTIONAL, 'The database connection to use'], - ['drop-views', null, InputOption::VALUE_NONE, 'Drop all tables and views'], - ['drop-types', null, InputOption::VALUE_NONE, 'Drop all tables and types (Postgres only)'], - ['force', null, InputOption::VALUE_NONE, 'Force the operation to run when in production'], - ['path', null, InputOption::VALUE_OPTIONAL, 'The path to the migrations files to be executed'], - ['realpath', null, InputOption::VALUE_NONE, 'Indicate any provided migration file paths are pre-resolved absolute paths'], - ['seed', null, InputOption::VALUE_NONE, 'Indicates if the seed task should be re-run'], - ['seeder', null, InputOption::VALUE_OPTIONAL, 'The class name of the root seeder'], - ['step', null, InputOption::VALUE_NONE, 'Force the migrations to be run so they can be rolled back individually'], - ]; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/InstallCommand.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/InstallCommand.php deleted file mode 100644 index 354d7a1..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/InstallCommand.php +++ /dev/null @@ -1,70 +0,0 @@ -repository = $repository; - } - - /** - * Execute the console command. - * - * @return void - */ - public function handle() - { - $this->repository->setSource($this->input->getOption('database')); - - $this->repository->createRepository(); - - $this->info('Migration table created successfully.'); - } - - /** - * Get the console command options. - * - * @return array - */ - protected function getOptions() - { - return [ - ['database', null, InputOption::VALUE_OPTIONAL, 'The database connection to use'], - ]; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/MigrateCommand.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/MigrateCommand.php deleted file mode 100644 index 9fa978d..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/MigrateCommand.php +++ /dev/null @@ -1,97 +0,0 @@ -migrator = $migrator; - } - - /** - * Execute the console command. - * - * @return void - */ - public function handle() - { - if (! $this->confirmToProceed()) { - return; - } - - $this->prepareDatabase(); - - // Next, we will check to see if a path option has been defined. If it has - // we will use the path relative to the root of this installation folder - // so that migrations may be run for any path within the applications. - $this->migrator->setOutput($this->output) - ->run($this->getMigrationPaths(), [ - 'pretend' => $this->option('pretend'), - 'step' => $this->option('step'), - ]); - - // Finally, if the "seed" option has been given, we will re-run the database - // seed task to re-populate the database, which is convenient when adding - // a migration and a seed at the same time, as it is only this command. - if ($this->option('seed') && ! $this->option('pretend')) { - $this->call('db:seed', ['--force' => true]); - } - } - - /** - * Prepare the migration database for running. - * - * @return void - */ - protected function prepareDatabase() - { - $this->migrator->setConnection($this->option('database')); - - if (! $this->migrator->repositoryExists()) { - $this->call('migrate:install', array_filter([ - '--database' => $this->option('database'), - ])); - } - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/MigrateMakeCommand.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/MigrateMakeCommand.php deleted file mode 100644 index c41986d..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/MigrateMakeCommand.php +++ /dev/null @@ -1,145 +0,0 @@ -creator = $creator; - $this->composer = $composer; - } - - /** - * Execute the console command. - * - * @return void - */ - public function handle() - { - // It's possible for the developer to specify the tables to modify in this - // schema operation. The developer may also specify if this table needs - // to be freshly created so we can create the appropriate migrations. - $name = Str::snake(trim($this->input->getArgument('name'))); - - $table = $this->input->getOption('table'); - - $create = $this->input->getOption('create') ?: false; - - // If no table was given as an option but a create option is given then we - // will use the "create" option as the table name. This allows the devs - // to pass a table name into this option as a short-cut for creating. - if (! $table && is_string($create)) { - $table = $create; - - $create = true; - } - - // Next, we will attempt to guess the table name if this the migration has - // "create" in the name. This will allow us to provide a convenient way - // of creating migrations that create new tables for the application. - if (! $table) { - [$table, $create] = TableGuesser::guess($name); - } - - // Now we are ready to write the migration out to disk. Once we've written - // the migration out, we will dump-autoload for the entire framework to - // make sure that the migrations are registered by the class loaders. - $this->writeMigration($name, $table, $create); - - $this->composer->dumpAutoloads(); - } - - /** - * Write the migration file to disk. - * - * @param string $name - * @param string $table - * @param bool $create - * @return string - */ - protected function writeMigration($name, $table, $create) - { - $file = $this->creator->create( - $name, $this->getMigrationPath(), $table, $create - ); - - if (! $this->option('fullpath')) { - $file = pathinfo($file, PATHINFO_FILENAME); - } - - $this->line("Created Migration: {$file}"); - } - - /** - * Get migration path (either specified by '--path' option or default location). - * - * @return string - */ - protected function getMigrationPath() - { - if (! is_null($targetPath = $this->input->getOption('path'))) { - return ! $this->usingRealPath() - ? $this->laravel->basePath().'/'.$targetPath - : $targetPath; - } - - return parent::getMigrationPath(); - } - - /** - * Determine if the given path(s) are pre-resolved "real" paths. - * - * @return bool - */ - protected function usingRealPath() - { - return $this->input->hasOption('realpath') && $this->option('realpath'); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/RefreshCommand.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/RefreshCommand.php deleted file mode 100644 index d27bb15..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/RefreshCommand.php +++ /dev/null @@ -1,155 +0,0 @@ -confirmToProceed()) { - return; - } - - // Next we'll gather some of the options so that we can have the right options - // to pass to the commands. This includes options such as which database to - // use and the path to use for the migration. Then we'll run the command. - $database = $this->input->getOption('database'); - - $path = $this->input->getOption('path'); - - // If the "step" option is specified it means we only want to rollback a small - // number of migrations before migrating again. For example, the user might - // only rollback and remigrate the latest four migrations instead of all. - $step = $this->input->getOption('step') ?: 0; - - if ($step > 0) { - $this->runRollback($database, $path, $step); - } else { - $this->runReset($database, $path); - } - - // The refresh command is essentially just a brief aggregate of a few other of - // the migration commands and just provides a convenient wrapper to execute - // them in succession. We'll also see if we need to re-seed the database. - $this->call('migrate', array_filter([ - '--database' => $database, - '--path' => $path, - '--realpath' => $this->input->getOption('realpath'), - '--force' => true, - ])); - - if ($this->needsSeeding()) { - $this->runSeeder($database); - } - } - - /** - * Run the rollback command. - * - * @param string $database - * @param string $path - * @param int $step - * @return void - */ - protected function runRollback($database, $path, $step) - { - $this->call('migrate:rollback', array_filter([ - '--database' => $database, - '--path' => $path, - '--realpath' => $this->input->getOption('realpath'), - '--step' => $step, - '--force' => true, - ])); - } - - /** - * Run the reset command. - * - * @param string $database - * @param string $path - * @return void - */ - protected function runReset($database, $path) - { - $this->call('migrate:reset', array_filter([ - '--database' => $database, - '--path' => $path, - '--realpath' => $this->input->getOption('realpath'), - '--force' => true, - ])); - } - - /** - * Determine if the developer has requested database seeding. - * - * @return bool - */ - protected function needsSeeding() - { - return $this->option('seed') || $this->option('seeder'); - } - - /** - * Run the database seeder command. - * - * @param string $database - * @return void - */ - protected function runSeeder($database) - { - $this->call('db:seed', array_filter([ - '--database' => $database, - '--class' => $this->option('seeder') ?: 'DatabaseSeeder', - '--force' => true, - ])); - } - - /** - * Get the console command options. - * - * @return array - */ - protected function getOptions() - { - return [ - ['database', null, InputOption::VALUE_OPTIONAL, 'The database connection to use'], - - ['force', null, InputOption::VALUE_NONE, 'Force the operation to run when in production'], - - ['path', null, InputOption::VALUE_OPTIONAL, 'The path to the migrations files to be executed'], - - ['realpath', null, InputOption::VALUE_NONE, 'Indicate any provided migration file paths are pre-resolved absolute paths'], - - ['seed', null, InputOption::VALUE_NONE, 'Indicates if the seed task should be re-run'], - - ['seeder', null, InputOption::VALUE_OPTIONAL, 'The class name of the root seeder'], - - ['step', null, InputOption::VALUE_OPTIONAL, 'The number of migrations to be reverted & re-run'], - ]; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/ResetCommand.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/ResetCommand.php deleted file mode 100644 index 2880380..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/ResetCommand.php +++ /dev/null @@ -1,91 +0,0 @@ -migrator = $migrator; - } - - /** - * Execute the console command. - * - * @return void - */ - public function handle() - { - if (! $this->confirmToProceed()) { - return; - } - - $this->migrator->setConnection($this->option('database')); - - // First, we'll make sure that the migration table actually exists before we - // start trying to rollback and re-run all of the migrations. If it's not - // present we'll just bail out with an info message for the developers. - if (! $this->migrator->repositoryExists()) { - return $this->comment('Migration table not found.'); - } - - $this->migrator->setOutput($this->output)->reset( - $this->getMigrationPaths(), $this->option('pretend') - ); - } - - /** - * Get the console command options. - * - * @return array - */ - protected function getOptions() - { - return [ - ['database', null, InputOption::VALUE_OPTIONAL, 'The database connection to use'], - - ['force', null, InputOption::VALUE_NONE, 'Force the operation to run when in production'], - - ['path', null, InputOption::VALUE_OPTIONAL | InputOption::VALUE_IS_ARRAY, 'The path(s) to the migrations files to be executed'], - - ['realpath', null, InputOption::VALUE_NONE, 'Indicate any provided migration file paths are pre-resolved absolute paths'], - - ['pretend', null, InputOption::VALUE_NONE, 'Dump the SQL queries that would be run'], - ]; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/RollbackCommand.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/RollbackCommand.php deleted file mode 100644 index 65a50eb..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/RollbackCommand.php +++ /dev/null @@ -1,89 +0,0 @@ -migrator = $migrator; - } - - /** - * Execute the console command. - * - * @return void - */ - public function handle() - { - if (! $this->confirmToProceed()) { - return; - } - - $this->migrator->setConnection($this->option('database')); - - $this->migrator->setOutput($this->output)->rollback( - $this->getMigrationPaths(), [ - 'pretend' => $this->option('pretend'), - 'step' => (int) $this->option('step'), - ] - ); - } - - /** - * Get the console command options. - * - * @return array - */ - protected function getOptions() - { - return [ - ['database', null, InputOption::VALUE_OPTIONAL, 'The database connection to use'], - - ['force', null, InputOption::VALUE_NONE, 'Force the operation to run when in production'], - - ['path', null, InputOption::VALUE_OPTIONAL | InputOption::VALUE_IS_ARRAY, 'The path(s) to the migrations files to be executed'], - - ['realpath', null, InputOption::VALUE_NONE, 'Indicate any provided migration file paths are pre-resolved absolute paths'], - - ['pretend', null, InputOption::VALUE_NONE, 'Dump the SQL queries that would be run'], - - ['step', null, InputOption::VALUE_OPTIONAL, 'The number of migrations to be reverted'], - ]; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/StatusCommand.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/StatusCommand.php deleted file mode 100644 index 0040fe5..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/StatusCommand.php +++ /dev/null @@ -1,113 +0,0 @@ -migrator = $migrator; - } - - /** - * Execute the console command. - * - * @return void - */ - public function handle() - { - $this->migrator->setConnection($this->option('database')); - - if (! $this->migrator->repositoryExists()) { - return $this->error('Migration table not found.'); - } - - $ran = $this->migrator->getRepository()->getRan(); - - $batches = $this->migrator->getRepository()->getMigrationBatches(); - - if (count($migrations = $this->getStatusFor($ran, $batches)) > 0) { - $this->table(['Ran?', 'Migration', 'Batch'], $migrations); - } else { - $this->error('No migrations found'); - } - } - - /** - * Get the status for the given ran migrations. - * - * @param array $ran - * @param array $batches - * @return \Illuminate\Support\Collection - */ - protected function getStatusFor(array $ran, array $batches) - { - return Collection::make($this->getAllMigrationFiles()) - ->map(function ($migration) use ($ran, $batches) { - $migrationName = $this->migrator->getMigrationName($migration); - - return in_array($migrationName, $ran) - ? ['Yes', $migrationName, $batches[$migrationName]] - : ['No', $migrationName]; - }); - } - - /** - * Get an array of all of the migration files. - * - * @return array - */ - protected function getAllMigrationFiles() - { - return $this->migrator->getMigrationFiles($this->getMigrationPaths()); - } - - /** - * Get the console command options. - * - * @return array - */ - protected function getOptions() - { - return [ - ['database', null, InputOption::VALUE_OPTIONAL, 'The database connection to use'], - - ['path', null, InputOption::VALUE_OPTIONAL | InputOption::VALUE_IS_ARRAY, 'The path(s) to the migrations files to use'], - - ['realpath', null, InputOption::VALUE_NONE, 'Indicate any provided migration file paths are pre-resolved absolute paths'], - ]; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/TableGuesser.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/TableGuesser.php deleted file mode 100644 index 82dfbdd..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/TableGuesser.php +++ /dev/null @@ -1,37 +0,0 @@ -resolver = $resolver; - } - - /** - * Execute the console command. - * - * @return void - */ - public function handle() - { - if (! $this->confirmToProceed()) { - return; - } - - $this->resolver->setDefaultConnection($this->getDatabase()); - - Model::unguarded(function () { - $this->getSeeder()->__invoke(); - }); - - $this->info('Database seeding completed successfully.'); - } - - /** - * Get a seeder instance from the container. - * - * @return \Illuminate\Database\Seeder - */ - protected function getSeeder() - { - $class = $this->laravel->make($this->input->getOption('class')); - - return $class->setContainer($this->laravel)->setCommand($this); - } - - /** - * Get the name of the database connection to use. - * - * @return string - */ - protected function getDatabase() - { - $database = $this->input->getOption('database'); - - return $database ?: $this->laravel['config']['database.default']; - } - - /** - * Get the console command options. - * - * @return array - */ - protected function getOptions() - { - return [ - ['class', null, InputOption::VALUE_OPTIONAL, 'The class name of the root seeder', 'DatabaseSeeder'], - - ['database', null, InputOption::VALUE_OPTIONAL, 'The database connection to seed'], - - ['force', null, InputOption::VALUE_NONE, 'Force the operation to run when in production'], - ]; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Console/Seeds/SeederMakeCommand.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Console/Seeds/SeederMakeCommand.php deleted file mode 100644 index 6e85e3e..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Console/Seeds/SeederMakeCommand.php +++ /dev/null @@ -1,96 +0,0 @@ -composer = $composer; - } - - /** - * Execute the console command. - * - * @return void - */ - public function handle() - { - parent::handle(); - - $this->composer->dumpAutoloads(); - } - - /** - * Get the stub file for the generator. - * - * @return string - */ - protected function getStub() - { - return __DIR__.'/stubs/seeder.stub'; - } - - /** - * Get the destination class path. - * - * @param string $name - * @return string - */ - protected function getPath($name) - { - return $this->laravel->databasePath().'/seeds/'.$name.'.php'; - } - - /** - * Parse the class name and format according to the root namespace. - * - * @param string $name - * @return string - */ - protected function qualifyClass($name) - { - return $name; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Console/Seeds/stubs/seeder.stub b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Console/Seeds/stubs/seeder.stub deleted file mode 100644 index 4aa3845..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Console/Seeds/stubs/seeder.stub +++ /dev/null @@ -1,16 +0,0 @@ -app = $app; - $this->factory = $factory; - - $this->reconnector = function ($connection) { - $this->reconnect($connection->getName()); - }; - } - - /** - * Get a database connection instance. - * - * @param string|null $name - * @return \Illuminate\Database\Connection - */ - public function connection($name = null) - { - [$database, $type] = $this->parseConnectionName($name); - - $name = $name ?: $database; - - // If we haven't created this connection, we'll create it based on the config - // provided in the application. Once we've created the connections we will - // set the "fetch mode" for PDO which determines the query return types. - if (! isset($this->connections[$name])) { - $this->connections[$name] = $this->configure( - $this->makeConnection($database), $type - ); - } - - return $this->connections[$name]; - } - - /** - * Parse the connection into an array of the name and read / write type. - * - * @param string $name - * @return array - */ - protected function parseConnectionName($name) - { - $name = $name ?: $this->getDefaultConnection(); - - return Str::endsWith($name, ['::read', '::write']) - ? explode('::', $name, 2) : [$name, null]; - } - - /** - * Make the database connection instance. - * - * @param string $name - * @return \Illuminate\Database\Connection - */ - protected function makeConnection($name) - { - $config = $this->configuration($name); - - // First we will check by the connection name to see if an extension has been - // registered specifically for that connection. If it has we will call the - // Closure and pass it the config allowing it to resolve the connection. - if (isset($this->extensions[$name])) { - return call_user_func($this->extensions[$name], $config, $name); - } - - // Next we will check to see if an extension has been registered for a driver - // and will call the Closure if so, which allows us to have a more generic - // resolver for the drivers themselves which applies to all connections. - if (isset($this->extensions[$driver = $config['driver']])) { - return call_user_func($this->extensions[$driver], $config, $name); - } - - return $this->factory->make($config, $name); - } - - /** - * Get the configuration for a connection. - * - * @param string $name - * @return array - * - * @throws \InvalidArgumentException - */ - protected function configuration($name) - { - $name = $name ?: $this->getDefaultConnection(); - - // To get the database connection configuration, we will just pull each of the - // connection configurations and get the configurations for the given name. - // If the configuration doesn't exist, we'll throw an exception and bail. - $connections = $this->app['config']['database.connections']; - - if (is_null($config = Arr::get($connections, $name))) { - throw new InvalidArgumentException("Database [{$name}] not configured."); - } - - return (new ConfigurationUrlParser) - ->parseConfiguration($config); - } - - /** - * Prepare the database connection instance. - * - * @param \Illuminate\Database\Connection $connection - * @param string $type - * @return \Illuminate\Database\Connection - */ - protected function configure(Connection $connection, $type) - { - $connection = $this->setPdoForType($connection, $type); - - // First we'll set the fetch mode and a few other dependencies of the database - // connection. This method basically just configures and prepares it to get - // used by the application. Once we're finished we'll return it back out. - if ($this->app->bound('events')) { - $connection->setEventDispatcher($this->app['events']); - } - - // Here we'll set a reconnector callback. This reconnector can be any callable - // so we will set a Closure to reconnect from this manager with the name of - // the connection, which will allow us to reconnect from the connections. - $connection->setReconnector($this->reconnector); - - return $connection; - } - - /** - * Prepare the read / write mode for database connection instance. - * - * @param \Illuminate\Database\Connection $connection - * @param string|null $type - * @return \Illuminate\Database\Connection - */ - protected function setPdoForType(Connection $connection, $type = null) - { - if ($type === 'read') { - $connection->setPdo($connection->getReadPdo()); - } elseif ($type === 'write') { - $connection->setReadPdo($connection->getPdo()); - } - - return $connection; - } - - /** - * Disconnect from the given database and remove from local cache. - * - * @param string|null $name - * @return void - */ - public function purge($name = null) - { - $name = $name ?: $this->getDefaultConnection(); - - $this->disconnect($name); - - unset($this->connections[$name]); - } - - /** - * Disconnect from the given database. - * - * @param string|null $name - * @return void - */ - public function disconnect($name = null) - { - if (isset($this->connections[$name = $name ?: $this->getDefaultConnection()])) { - $this->connections[$name]->disconnect(); - } - } - - /** - * Reconnect to the given database. - * - * @param string|null $name - * @return \Illuminate\Database\Connection - */ - public function reconnect($name = null) - { - $this->disconnect($name = $name ?: $this->getDefaultConnection()); - - if (! isset($this->connections[$name])) { - return $this->connection($name); - } - - return $this->refreshPdoConnections($name); - } - - /** - * Refresh the PDO connections on a given connection. - * - * @param string $name - * @return \Illuminate\Database\Connection - */ - protected function refreshPdoConnections($name) - { - $fresh = $this->makeConnection($name); - - return $this->connections[$name] - ->setPdo($fresh->getPdo()) - ->setReadPdo($fresh->getReadPdo()); - } - - /** - * Get the default connection name. - * - * @return string - */ - public function getDefaultConnection() - { - return $this->app['config']['database.default']; - } - - /** - * Set the default connection name. - * - * @param string $name - * @return void - */ - public function setDefaultConnection($name) - { - $this->app['config']['database.default'] = $name; - } - - /** - * Get all of the support drivers. - * - * @return array - */ - public function supportedDrivers() - { - return ['mysql', 'pgsql', 'sqlite', 'sqlsrv']; - } - - /** - * Get all of the drivers that are actually available. - * - * @return array - */ - public function availableDrivers() - { - return array_intersect( - $this->supportedDrivers(), - str_replace('dblib', 'sqlsrv', PDO::getAvailableDrivers()) - ); - } - - /** - * Register an extension connection resolver. - * - * @param string $name - * @param callable $resolver - * @return void - */ - public function extend($name, callable $resolver) - { - $this->extensions[$name] = $resolver; - } - - /** - * Return all of the created connections. - * - * @return array - */ - public function getConnections() - { - return $this->connections; - } - - /** - * Set the database reconnector callback. - * - * @param callable $reconnector - * @return void - */ - public function setReconnector(callable $reconnector) - { - $this->reconnector = $reconnector; - } - - /** - * Dynamically pass methods to the default connection. - * - * @param string $method - * @param array $parameters - * @return mixed - */ - public function __call($method, $parameters) - { - return $this->connection()->$method(...$parameters); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/DatabaseServiceProvider.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/DatabaseServiceProvider.php deleted file mode 100644 index a8ee7b0..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/DatabaseServiceProvider.php +++ /dev/null @@ -1,99 +0,0 @@ -app['db']); - - Model::setEventDispatcher($this->app['events']); - } - - /** - * Register the service provider. - * - * @return void - */ - public function register() - { - Model::clearBootedModels(); - - $this->registerConnectionServices(); - - $this->registerEloquentFactory(); - - $this->registerQueueableEntityResolver(); - } - - /** - * Register the primary database bindings. - * - * @return void - */ - protected function registerConnectionServices() - { - // The connection factory is used to create the actual connection instances on - // the database. We will inject the factory into the manager so that it may - // make the connections while they are actually needed and not of before. - $this->app->singleton('db.factory', function ($app) { - return new ConnectionFactory($app); - }); - - // The database manager is used to resolve various connections, since multiple - // connections might be managed. It also implements the connection resolver - // interface which may be used by other components requiring connections. - $this->app->singleton('db', function ($app) { - return new DatabaseManager($app, $app['db.factory']); - }); - - $this->app->bind('db.connection', function ($app) { - return $app['db']->connection(); - }); - } - - /** - * Register the Eloquent factory instance in the container. - * - * @return void - */ - protected function registerEloquentFactory() - { - $this->app->singleton(FakerGenerator::class, function ($app) { - return FakerFactory::create($app['config']->get('app.faker_locale', 'en_US')); - }); - - $this->app->singleton(EloquentFactory::class, function ($app) { - return EloquentFactory::construct( - $app->make(FakerGenerator::class), $this->app->databasePath('factories') - ); - }); - } - - /** - * Register the queueable entity resolver implementation. - * - * @return void - */ - protected function registerQueueableEntityResolver() - { - $this->app->singleton(EntityResolver::class, function () { - return new QueueEntityResolver; - }); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/DetectsDeadlocks.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/DetectsDeadlocks.php deleted file mode 100644 index a8193ee..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/DetectsDeadlocks.php +++ /dev/null @@ -1,32 +0,0 @@ -getMessage(); - - return Str::contains($message, [ - 'Deadlock found when trying to get lock', - 'deadlock detected', - 'The database file is locked', - 'database is locked', - 'database table is locked', - 'A table in the database is locked', - 'has been chosen as the deadlock victim', - 'Lock wait timeout exceeded; try restarting transaction', - 'WSREP detected deadlock/conflict and aborted the transaction. Try restarting the transaction', - ]); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/DetectsLostConnections.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/DetectsLostConnections.php deleted file mode 100644 index 7a69bec..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/DetectsLostConnections.php +++ /dev/null @@ -1,43 +0,0 @@ -getMessage(); - - return Str::contains($message, [ - 'server has gone away', - 'no connection to the server', - 'Lost connection', - 'is dead or not enabled', - 'Error while sending', - 'decryption failed or bad record mac', - 'server closed the connection unexpectedly', - 'SSL connection has been closed unexpectedly', - 'Error writing data to the connection', - 'Resource deadlock avoided', - 'Transaction() on null', - 'child connection forced to terminate due to client_idle_limit', - 'query_wait_timeout', - 'reset by peer', - 'Physical connection is not usable', - 'TCP Provider: Error code 0x68', - 'ORA-03114', - 'Packets out of order. Expected', - 'Adaptive Server connection failed', - 'Communication link failure', - ]); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php deleted file mode 100644 index 051b5aa..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php +++ /dev/null @@ -1,1398 +0,0 @@ -query = $query; - } - - /** - * Create and return an un-saved model instance. - * - * @param array $attributes - * @return \Illuminate\Database\Eloquent\Model - */ - public function make(array $attributes = []) - { - return $this->newModelInstance($attributes); - } - - /** - * Register a new global scope. - * - * @param string $identifier - * @param \Illuminate\Database\Eloquent\Scope|\Closure $scope - * @return $this - */ - public function withGlobalScope($identifier, $scope) - { - $this->scopes[$identifier] = $scope; - - if (method_exists($scope, 'extend')) { - $scope->extend($this); - } - - return $this; - } - - /** - * Remove a registered global scope. - * - * @param \Illuminate\Database\Eloquent\Scope|string $scope - * @return $this - */ - public function withoutGlobalScope($scope) - { - if (! is_string($scope)) { - $scope = get_class($scope); - } - - unset($this->scopes[$scope]); - - $this->removedScopes[] = $scope; - - return $this; - } - - /** - * Remove all or passed registered global scopes. - * - * @param array|null $scopes - * @return $this - */ - public function withoutGlobalScopes(array $scopes = null) - { - if (! is_array($scopes)) { - $scopes = array_keys($this->scopes); - } - - foreach ($scopes as $scope) { - $this->withoutGlobalScope($scope); - } - - return $this; - } - - /** - * Get an array of global scopes that were removed from the query. - * - * @return array - */ - public function removedScopes() - { - return $this->removedScopes; - } - - /** - * Add a where clause on the primary key to the query. - * - * @param mixed $id - * @return $this - */ - public function whereKey($id) - { - if (is_array($id) || $id instanceof Arrayable) { - $this->query->whereIn($this->model->getQualifiedKeyName(), $id); - - return $this; - } - - return $this->where($this->model->getQualifiedKeyName(), '=', $id); - } - - /** - * Add a where clause on the primary key to the query. - * - * @param mixed $id - * @return $this - */ - public function whereKeyNot($id) - { - if (is_array($id) || $id instanceof Arrayable) { - $this->query->whereNotIn($this->model->getQualifiedKeyName(), $id); - - return $this; - } - - return $this->where($this->model->getQualifiedKeyName(), '!=', $id); - } - - /** - * Add a basic where clause to the query. - * - * @param string|array|\Closure $column - * @param mixed $operator - * @param mixed $value - * @param string $boolean - * @return $this - */ - public function where($column, $operator = null, $value = null, $boolean = 'and') - { - if ($column instanceof Closure) { - $column($query = $this->model->newModelQuery()); - - $this->query->addNestedWhereQuery($query->getQuery(), $boolean); - } else { - $this->query->where(...func_get_args()); - } - - return $this; - } - - /** - * Add an "or where" clause to the query. - * - * @param \Closure|array|string $column - * @param mixed $operator - * @param mixed $value - * @return \Illuminate\Database\Eloquent\Builder|static - */ - public function orWhere($column, $operator = null, $value = null) - { - [$value, $operator] = $this->query->prepareValueAndOperator( - $value, $operator, func_num_args() === 2 - ); - - return $this->where($column, $operator, $value, 'or'); - } - - /** - * Add an "order by" clause for a timestamp to the query. - * - * @param string $column - * @return $this - */ - public function latest($column = null) - { - if (is_null($column)) { - $column = $this->model->getCreatedAtColumn() ?? 'created_at'; - } - - $this->query->latest($column); - - return $this; - } - - /** - * Add an "order by" clause for a timestamp to the query. - * - * @param string $column - * @return $this - */ - public function oldest($column = null) - { - if (is_null($column)) { - $column = $this->model->getCreatedAtColumn() ?? 'created_at'; - } - - $this->query->oldest($column); - - return $this; - } - - /** - * Create a collection of models from plain arrays. - * - * @param array $items - * @return \Illuminate\Database\Eloquent\Collection - */ - public function hydrate(array $items) - { - $instance = $this->newModelInstance(); - - return $instance->newCollection(array_map(function ($item) use ($instance) { - return $instance->newFromBuilder($item); - }, $items)); - } - - /** - * Create a collection of models from a raw query. - * - * @param string $query - * @param array $bindings - * @return \Illuminate\Database\Eloquent\Collection - */ - public function fromQuery($query, $bindings = []) - { - return $this->hydrate( - $this->query->getConnection()->select($query, $bindings) - ); - } - - /** - * Find a model by its primary key. - * - * @param mixed $id - * @param array $columns - * @return \Illuminate\Database\Eloquent\Model|\Illuminate\Database\Eloquent\Collection|static[]|static|null - */ - public function find($id, $columns = ['*']) - { - if (is_array($id) || $id instanceof Arrayable) { - return $this->findMany($id, $columns); - } - - return $this->whereKey($id)->first($columns); - } - - /** - * Find multiple models by their primary keys. - * - * @param \Illuminate\Contracts\Support\Arrayable|array $ids - * @param array $columns - * @return \Illuminate\Database\Eloquent\Collection - */ - public function findMany($ids, $columns = ['*']) - { - $ids = $ids instanceof Arrayable ? $ids->toArray() : $ids; - - if (empty($ids)) { - return $this->model->newCollection(); - } - - return $this->whereKey($ids)->get($columns); - } - - /** - * Find a model by its primary key or throw an exception. - * - * @param mixed $id - * @param array $columns - * @return \Illuminate\Database\Eloquent\Model|\Illuminate\Database\Eloquent\Collection|static|static[] - * - * @throws \Illuminate\Database\Eloquent\ModelNotFoundException - */ - public function findOrFail($id, $columns = ['*']) - { - $result = $this->find($id, $columns); - - if (is_array($id)) { - if (count($result) === count(array_unique($id))) { - return $result; - } - } elseif (! is_null($result)) { - return $result; - } - - throw (new ModelNotFoundException)->setModel( - get_class($this->model), $id - ); - } - - /** - * Find a model by its primary key or return fresh model instance. - * - * @param mixed $id - * @param array $columns - * @return \Illuminate\Database\Eloquent\Model|static - */ - public function findOrNew($id, $columns = ['*']) - { - if (! is_null($model = $this->find($id, $columns))) { - return $model; - } - - return $this->newModelInstance(); - } - - /** - * Get the first record matching the attributes or instantiate it. - * - * @param array $attributes - * @param array $values - * @return \Illuminate\Database\Eloquent\Model|static - */ - public function firstOrNew(array $attributes, array $values = []) - { - if (! is_null($instance = $this->where($attributes)->first())) { - return $instance; - } - - return $this->newModelInstance($attributes + $values); - } - - /** - * Get the first record matching the attributes or create it. - * - * @param array $attributes - * @param array $values - * @return \Illuminate\Database\Eloquent\Model|static - */ - public function firstOrCreate(array $attributes, array $values = []) - { - if (! is_null($instance = $this->where($attributes)->first())) { - return $instance; - } - - return tap($this->newModelInstance($attributes + $values), function ($instance) { - $instance->save(); - }); - } - - /** - * Create or update a record matching the attributes, and fill it with values. - * - * @param array $attributes - * @param array $values - * @return \Illuminate\Database\Eloquent\Model|static - */ - public function updateOrCreate(array $attributes, array $values = []) - { - return tap($this->firstOrNew($attributes), function ($instance) use ($values) { - $instance->fill($values)->save(); - }); - } - - /** - * Execute the query and get the first result or throw an exception. - * - * @param array $columns - * @return \Illuminate\Database\Eloquent\Model|static - * - * @throws \Illuminate\Database\Eloquent\ModelNotFoundException - */ - public function firstOrFail($columns = ['*']) - { - if (! is_null($model = $this->first($columns))) { - return $model; - } - - throw (new ModelNotFoundException)->setModel(get_class($this->model)); - } - - /** - * Execute the query and get the first result or call a callback. - * - * @param \Closure|array $columns - * @param \Closure|null $callback - * @return \Illuminate\Database\Eloquent\Model|static|mixed - */ - public function firstOr($columns = ['*'], Closure $callback = null) - { - if ($columns instanceof Closure) { - $callback = $columns; - - $columns = ['*']; - } - - if (! is_null($model = $this->first($columns))) { - return $model; - } - - return call_user_func($callback); - } - - /** - * Get a single column's value from the first result of a query. - * - * @param string $column - * @return mixed - */ - public function value($column) - { - if ($result = $this->first([$column])) { - return $result->{$column}; - } - } - - /** - * Execute the query as a "select" statement. - * - * @param array $columns - * @return \Illuminate\Database\Eloquent\Collection|static[] - */ - public function get($columns = ['*']) - { - $builder = $this->applyScopes(); - - // If we actually found models we will also eager load any relationships that - // have been specified as needing to be eager loaded, which will solve the - // n+1 query issue for the developers to avoid running a lot of queries. - if (count($models = $builder->getModels($columns)) > 0) { - $models = $builder->eagerLoadRelations($models); - } - - return $builder->getModel()->newCollection($models); - } - - /** - * Get the hydrated models without eager loading. - * - * @param array $columns - * @return \Illuminate\Database\Eloquent\Model[]|static[] - */ - public function getModels($columns = ['*']) - { - return $this->model->hydrate( - $this->query->get($columns)->all() - )->all(); - } - - /** - * Eager load the relationships for the models. - * - * @param array $models - * @return array - */ - public function eagerLoadRelations(array $models) - { - foreach ($this->eagerLoad as $name => $constraints) { - // For nested eager loads we'll skip loading them here and they will be set as an - // eager load on the query to retrieve the relation so that they will be eager - // loaded on that query, because that is where they get hydrated as models. - if (strpos($name, '.') === false) { - $models = $this->eagerLoadRelation($models, $name, $constraints); - } - } - - return $models; - } - - /** - * Eagerly load the relationship on a set of models. - * - * @param array $models - * @param string $name - * @param \Closure $constraints - * @return array - */ - protected function eagerLoadRelation(array $models, $name, Closure $constraints) - { - // First we will "back up" the existing where conditions on the query so we can - // add our eager constraints. Then we will merge the wheres that were on the - // query back to it in order that any where conditions might be specified. - $relation = $this->getRelation($name); - - $relation->addEagerConstraints($models); - - $constraints($relation); - - // Once we have the results, we just match those back up to their parent models - // using the relationship instance. Then we just return the finished arrays - // of models which have been eagerly hydrated and are readied for return. - return $relation->match( - $relation->initRelation($models, $name), - $relation->getEager(), $name - ); - } - - /** - * Get the relation instance for the given relation name. - * - * @param string $name - * @return \Illuminate\Database\Eloquent\Relations\Relation - */ - public function getRelation($name) - { - // We want to run a relationship query without any constrains so that we will - // not have to remove these where clauses manually which gets really hacky - // and error prone. We don't want constraints because we add eager ones. - $relation = Relation::noConstraints(function () use ($name) { - try { - return $this->getModel()->newInstance()->$name(); - } catch (BadMethodCallException $e) { - throw RelationNotFoundException::make($this->getModel(), $name); - } - }); - - $nested = $this->relationsNestedUnder($name); - - // If there are nested relationships set on the query, we will put those onto - // the query instances so that they can be handled after this relationship - // is loaded. In this way they will all trickle down as they are loaded. - if (count($nested) > 0) { - $relation->getQuery()->with($nested); - } - - return $relation; - } - - /** - * Get the deeply nested relations for a given top-level relation. - * - * @param string $relation - * @return array - */ - protected function relationsNestedUnder($relation) - { - $nested = []; - - // We are basically looking for any relationships that are nested deeper than - // the given top-level relationship. We will just check for any relations - // that start with the given top relations and adds them to our arrays. - foreach ($this->eagerLoad as $name => $constraints) { - if ($this->isNestedUnder($relation, $name)) { - $nested[substr($name, strlen($relation.'.'))] = $constraints; - } - } - - return $nested; - } - - /** - * Determine if the relationship is nested. - * - * @param string $relation - * @param string $name - * @return bool - */ - protected function isNestedUnder($relation, $name) - { - return Str::contains($name, '.') && Str::startsWith($name, $relation.'.'); - } - - /** - * Get a generator for the given query. - * - * @return \Generator - */ - public function cursor() - { - foreach ($this->applyScopes()->query->cursor() as $record) { - yield $this->newModelInstance()->newFromBuilder($record); - } - } - - /** - * Chunk the results of a query by comparing numeric IDs. - * - * @param int $count - * @param callable $callback - * @param string|null $column - * @param string|null $alias - * @return bool - */ - public function chunkById($count, callable $callback, $column = null, $alias = null) - { - $column = is_null($column) ? $this->getModel()->getKeyName() : $column; - - $alias = is_null($alias) ? $column : $alias; - - $lastId = null; - - do { - $clone = clone $this; - - // We'll execute the query for the given page and get the results. If there are - // no results we can just break and return from here. When there are results - // we will call the callback with the current chunk of these results here. - $results = $clone->forPageAfterId($count, $lastId, $column)->get(); - - $countResults = $results->count(); - - if ($countResults == 0) { - break; - } - - // On each chunk result set, we will pass them to the callback and then let the - // developer take care of everything within the callback, which allows us to - // keep the memory low for spinning through large result sets for working. - if ($callback($results) === false) { - return false; - } - - $lastId = $results->last()->{$alias}; - - unset($results); - } while ($countResults == $count); - - return true; - } - - /** - * Add a generic "order by" clause if the query doesn't already have one. - * - * @return void - */ - protected function enforceOrderBy() - { - if (empty($this->query->orders) && empty($this->query->unionOrders)) { - $this->orderBy($this->model->getQualifiedKeyName(), 'asc'); - } - } - - /** - * Get an array with the values of a given column. - * - * @param string $column - * @param string|null $key - * @return \Illuminate\Support\Collection - */ - public function pluck($column, $key = null) - { - $results = $this->toBase()->pluck($column, $key); - - // If the model has a mutator for the requested column, we will spin through - // the results and mutate the values so that the mutated version of these - // columns are returned as you would expect from these Eloquent models. - if (! $this->model->hasGetMutator($column) && - ! $this->model->hasCast($column) && - ! in_array($column, $this->model->getDates())) { - return $results; - } - - return $results->map(function ($value) use ($column) { - return $this->model->newFromBuilder([$column => $value])->{$column}; - }); - } - - /** - * Paginate the given query. - * - * @param int $perPage - * @param array $columns - * @param string $pageName - * @param int|null $page - * @return \Illuminate\Contracts\Pagination\LengthAwarePaginator - * - * @throws \InvalidArgumentException - */ - public function paginate($perPage = null, $columns = ['*'], $pageName = 'page', $page = null) - { - $page = $page ?: Paginator::resolveCurrentPage($pageName); - - $perPage = $perPage ?: $this->model->getPerPage(); - - $results = ($total = $this->toBase()->getCountForPagination()) - ? $this->forPage($page, $perPage)->get($columns) - : $this->model->newCollection(); - - return $this->paginator($results, $total, $perPage, $page, [ - 'path' => Paginator::resolveCurrentPath(), - 'pageName' => $pageName, - ]); - } - - /** - * Paginate the given query into a simple paginator. - * - * @param int $perPage - * @param array $columns - * @param string $pageName - * @param int|null $page - * @return \Illuminate\Contracts\Pagination\Paginator - */ - public function simplePaginate($perPage = null, $columns = ['*'], $pageName = 'page', $page = null) - { - $page = $page ?: Paginator::resolveCurrentPage($pageName); - - $perPage = $perPage ?: $this->model->getPerPage(); - - // Next we will set the limit and offset for this query so that when we get the - // results we get the proper section of results. Then, we'll create the full - // paginator instances for these results with the given page and per page. - $this->skip(($page - 1) * $perPage)->take($perPage + 1); - - return $this->simplePaginator($this->get($columns), $perPage, $page, [ - 'path' => Paginator::resolveCurrentPath(), - 'pageName' => $pageName, - ]); - } - - /** - * Save a new model and return the instance. - * - * @param array $attributes - * @return \Illuminate\Database\Eloquent\Model|$this - */ - public function create(array $attributes = []) - { - return tap($this->newModelInstance($attributes), function ($instance) { - $instance->save(); - }); - } - - /** - * Save a new model and return the instance. Allow mass-assignment. - * - * @param array $attributes - * @return \Illuminate\Database\Eloquent\Model|$this - */ - public function forceCreate(array $attributes) - { - return $this->model->unguarded(function () use ($attributes) { - return $this->newModelInstance()->create($attributes); - }); - } - - /** - * Update a record in the database. - * - * @param array $values - * @return int - */ - public function update(array $values) - { - return $this->toBase()->update($this->addUpdatedAtColumn($values)); - } - - /** - * Increment a column's value by a given amount. - * - * @param string $column - * @param float|int $amount - * @param array $extra - * @return int - */ - public function increment($column, $amount = 1, array $extra = []) - { - return $this->toBase()->increment( - $column, $amount, $this->addUpdatedAtColumn($extra) - ); - } - - /** - * Decrement a column's value by a given amount. - * - * @param string $column - * @param float|int $amount - * @param array $extra - * @return int - */ - public function decrement($column, $amount = 1, array $extra = []) - { - return $this->toBase()->decrement( - $column, $amount, $this->addUpdatedAtColumn($extra) - ); - } - - /** - * Add the "updated at" column to an array of values. - * - * @param array $values - * @return array - */ - protected function addUpdatedAtColumn(array $values) - { - if (! $this->model->usesTimestamps() || - is_null($this->model->getUpdatedAtColumn())) { - return $values; - } - - $column = $this->model->getUpdatedAtColumn(); - - $values = array_merge( - [$column => $this->model->freshTimestampString()], - $values - ); - - $segments = preg_split('/\s+as\s+/i', $this->query->from); - - $qualifiedColumn = end($segments).'.'.$column; - - $values[$qualifiedColumn] = $values[$column]; - - unset($values[$column]); - - return $values; - } - - /** - * Delete a record from the database. - * - * @return mixed - */ - public function delete() - { - if (isset($this->onDelete)) { - return call_user_func($this->onDelete, $this); - } - - return $this->toBase()->delete(); - } - - /** - * Run the default delete function on the builder. - * - * Since we do not apply scopes here, the row will actually be deleted. - * - * @return mixed - */ - public function forceDelete() - { - return $this->query->delete(); - } - - /** - * Register a replacement for the default delete function. - * - * @param \Closure $callback - * @return void - */ - public function onDelete(Closure $callback) - { - $this->onDelete = $callback; - } - - /** - * Call the given local model scopes. - * - * @param array $scopes - * @return static|mixed - */ - public function scopes(array $scopes) - { - $builder = $this; - - foreach ($scopes as $scope => $parameters) { - // If the scope key is an integer, then the scope was passed as the value and - // the parameter list is empty, so we will format the scope name and these - // parameters here. Then, we'll be ready to call the scope on the model. - if (is_int($scope)) { - [$scope, $parameters] = [$parameters, []]; - } - - // Next we'll pass the scope callback to the callScope method which will take - // care of grouping the "wheres" properly so the logical order doesn't get - // messed up when adding scopes. Then we'll return back out the builder. - $builder = $builder->callScope( - [$this->model, 'scope'.ucfirst($scope)], - (array) $parameters - ); - } - - return $builder; - } - - /** - * Apply the scopes to the Eloquent builder instance and return it. - * - * @return static - */ - public function applyScopes() - { - if (! $this->scopes) { - return $this; - } - - $builder = clone $this; - - foreach ($this->scopes as $identifier => $scope) { - if (! isset($builder->scopes[$identifier])) { - continue; - } - - $builder->callScope(function (self $builder) use ($scope) { - // If the scope is a Closure we will just go ahead and call the scope with the - // builder instance. The "callScope" method will properly group the clauses - // that are added to this query so "where" clauses maintain proper logic. - if ($scope instanceof Closure) { - $scope($builder); - } - - // If the scope is a scope object, we will call the apply method on this scope - // passing in the builder and the model instance. After we run all of these - // scopes we will return back the builder instance to the outside caller. - if ($scope instanceof Scope) { - $scope->apply($builder, $this->getModel()); - } - }); - } - - return $builder; - } - - /** - * Apply the given scope on the current builder instance. - * - * @param callable $scope - * @param array $parameters - * @return mixed - */ - protected function callScope(callable $scope, $parameters = []) - { - array_unshift($parameters, $this); - - $query = $this->getQuery(); - - // We will keep track of how many wheres are on the query before running the - // scope so that we can properly group the added scope constraints in the - // query as their own isolated nested where statement and avoid issues. - $originalWhereCount = is_null($query->wheres) - ? 0 : count($query->wheres); - - $result = $scope(...array_values($parameters)) ?? $this; - - if (count((array) $query->wheres) > $originalWhereCount) { - $this->addNewWheresWithinGroup($query, $originalWhereCount); - } - - return $result; - } - - /** - * Nest where conditions by slicing them at the given where count. - * - * @param \Illuminate\Database\Query\Builder $query - * @param int $originalWhereCount - * @return void - */ - protected function addNewWheresWithinGroup(QueryBuilder $query, $originalWhereCount) - { - // Here, we totally remove all of the where clauses since we are going to - // rebuild them as nested queries by slicing the groups of wheres into - // their own sections. This is to prevent any confusing logic order. - $allWheres = $query->wheres; - - $query->wheres = []; - - $this->groupWhereSliceForScope( - $query, array_slice($allWheres, 0, $originalWhereCount) - ); - - $this->groupWhereSliceForScope( - $query, array_slice($allWheres, $originalWhereCount) - ); - } - - /** - * Slice where conditions at the given offset and add them to the query as a nested condition. - * - * @param \Illuminate\Database\Query\Builder $query - * @param array $whereSlice - * @return void - */ - protected function groupWhereSliceForScope(QueryBuilder $query, $whereSlice) - { - $whereBooleans = collect($whereSlice)->pluck('boolean'); - - // Here we'll check if the given subset of where clauses contains any "or" - // booleans and in this case create a nested where expression. That way - // we don't add any unnecessary nesting thus keeping the query clean. - if ($whereBooleans->contains('or')) { - $query->wheres[] = $this->createNestedWhere( - $whereSlice, $whereBooleans->first() - ); - } else { - $query->wheres = array_merge($query->wheres, $whereSlice); - } - } - - /** - * Create a where array with nested where conditions. - * - * @param array $whereSlice - * @param string $boolean - * @return array - */ - protected function createNestedWhere($whereSlice, $boolean = 'and') - { - $whereGroup = $this->getQuery()->forNestedWhere(); - - $whereGroup->wheres = $whereSlice; - - return ['type' => 'Nested', 'query' => $whereGroup, 'boolean' => $boolean]; - } - - /** - * Set the relationships that should be eager loaded. - * - * @param mixed $relations - * @return $this - */ - public function with($relations) - { - $eagerLoad = $this->parseWithRelations(is_string($relations) ? func_get_args() : $relations); - - $this->eagerLoad = array_merge($this->eagerLoad, $eagerLoad); - - return $this; - } - - /** - * Prevent the specified relations from being eager loaded. - * - * @param mixed $relations - * @return $this - */ - public function without($relations) - { - $this->eagerLoad = array_diff_key($this->eagerLoad, array_flip( - is_string($relations) ? func_get_args() : $relations - )); - - return $this; - } - - /** - * Create a new instance of the model being queried. - * - * @param array $attributes - * @return \Illuminate\Database\Eloquent\Model|static - */ - public function newModelInstance($attributes = []) - { - return $this->model->newInstance($attributes)->setConnection( - $this->query->getConnection()->getName() - ); - } - - /** - * Parse a list of relations into individuals. - * - * @param array $relations - * @return array - */ - protected function parseWithRelations(array $relations) - { - $results = []; - - foreach ($relations as $name => $constraints) { - // If the "name" value is a numeric key, we can assume that no - // constraints have been specified. We'll just put an empty - // Closure there, so that we can treat them all the same. - if (is_numeric($name)) { - $name = $constraints; - - [$name, $constraints] = Str::contains($name, ':') - ? $this->createSelectWithConstraint($name) - : [$name, function () { - // - }]; - } - - // We need to separate out any nested includes, which allows the developers - // to load deep relationships using "dots" without stating each level of - // the relationship with its own key in the array of eager-load names. - $results = $this->addNestedWiths($name, $results); - - $results[$name] = $constraints; - } - - return $results; - } - - /** - * Create a constraint to select the given columns for the relation. - * - * @param string $name - * @return array - */ - protected function createSelectWithConstraint($name) - { - return [explode(':', $name)[0], function ($query) use ($name) { - $query->select(explode(',', explode(':', $name)[1])); - }]; - } - - /** - * Parse the nested relationships in a relation. - * - * @param string $name - * @param array $results - * @return array - */ - protected function addNestedWiths($name, $results) - { - $progress = []; - - // If the relation has already been set on the result array, we will not set it - // again, since that would override any constraints that were already placed - // on the relationships. We will only set the ones that are not specified. - foreach (explode('.', $name) as $segment) { - $progress[] = $segment; - - if (! isset($results[$last = implode('.', $progress)])) { - $results[$last] = function () { - // - }; - } - } - - return $results; - } - - /** - * Get the underlying query builder instance. - * - * @return \Illuminate\Database\Query\Builder - */ - public function getQuery() - { - return $this->query; - } - - /** - * Set the underlying query builder instance. - * - * @param \Illuminate\Database\Query\Builder $query - * @return $this - */ - public function setQuery($query) - { - $this->query = $query; - - return $this; - } - - /** - * Get a base query builder instance. - * - * @return \Illuminate\Database\Query\Builder - */ - public function toBase() - { - return $this->applyScopes()->getQuery(); - } - - /** - * Get the relationships being eagerly loaded. - * - * @return array - */ - public function getEagerLoads() - { - return $this->eagerLoad; - } - - /** - * Set the relationships being eagerly loaded. - * - * @param array $eagerLoad - * @return $this - */ - public function setEagerLoads(array $eagerLoad) - { - $this->eagerLoad = $eagerLoad; - - return $this; - } - - /** - * Get the model instance being queried. - * - * @return \Illuminate\Database\Eloquent\Model|static - */ - public function getModel() - { - return $this->model; - } - - /** - * Set a model instance for the model being queried. - * - * @param \Illuminate\Database\Eloquent\Model $model - * @return $this - */ - public function setModel(Model $model) - { - $this->model = $model; - - $this->query->from($model->getTable()); - - return $this; - } - - /** - * Qualify the given column name by the model's table. - * - * @param string $column - * @return string - */ - public function qualifyColumn($column) - { - return $this->model->qualifyColumn($column); - } - - /** - * Get the given macro by name. - * - * @param string $name - * @return \Closure - */ - public function getMacro($name) - { - return Arr::get($this->localMacros, $name); - } - - /** - * Dynamically access builder proxies. - * - * @param string $key - * @return mixed - * - * @throws \Exception - */ - public function __get($key) - { - if ($key === 'orWhere') { - return new HigherOrderBuilderProxy($this, $key); - } - - throw new Exception("Property [{$key}] does not exist on the Eloquent builder instance."); - } - - /** - * Dynamically handle calls into the query instance. - * - * @param string $method - * @param array $parameters - * @return mixed - */ - public function __call($method, $parameters) - { - if ($method === 'macro') { - $this->localMacros[$parameters[0]] = $parameters[1]; - - return; - } - - if (isset($this->localMacros[$method])) { - array_unshift($parameters, $this); - - return $this->localMacros[$method](...$parameters); - } - - if (isset(static::$macros[$method])) { - if (static::$macros[$method] instanceof Closure) { - return call_user_func_array(static::$macros[$method]->bindTo($this, static::class), $parameters); - } - - return call_user_func_array(static::$macros[$method], $parameters); - } - - if (method_exists($this->model, $scope = 'scope'.ucfirst($method))) { - return $this->callScope([$this->model, $scope], $parameters); - } - - if (in_array($method, $this->passthru)) { - return $this->toBase()->{$method}(...$parameters); - } - - $this->forwardCallTo($this->query, $method, $parameters); - - return $this; - } - - /** - * Dynamically handle calls into the query instance. - * - * @param string $method - * @param array $parameters - * @return mixed - * - * @throws \BadMethodCallException - */ - public static function __callStatic($method, $parameters) - { - if ($method === 'macro') { - static::$macros[$parameters[0]] = $parameters[1]; - - return; - } - - if (! isset(static::$macros[$method])) { - static::throwBadMethodCallException($method); - } - - if (static::$macros[$method] instanceof Closure) { - return call_user_func_array(Closure::bind(static::$macros[$method], null, static::class), $parameters); - } - - return call_user_func_array(static::$macros[$method], $parameters); - } - - /** - * Force a clone of the underlying query builder when cloning. - * - * @return void - */ - public function __clone() - { - $this->query = clone $this->query; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Collection.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Collection.php deleted file mode 100644 index cbbf3c5..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Collection.php +++ /dev/null @@ -1,582 +0,0 @@ -getKey(); - } - - if ($key instanceof Arrayable) { - $key = $key->toArray(); - } - - if (is_array($key)) { - if ($this->isEmpty()) { - return new static; - } - - return $this->whereIn($this->first()->getKeyName(), $key); - } - - return Arr::first($this->items, function ($model) use ($key) { - return $model->getKey() == $key; - }, $default); - } - - /** - * Load a set of relationships onto the collection. - * - * @param array|string $relations - * @return $this - */ - public function load($relations) - { - if ($this->isNotEmpty()) { - if (is_string($relations)) { - $relations = func_get_args(); - } - - $query = $this->first()->newQueryWithoutRelationships()->with($relations); - - $this->items = $query->eagerLoadRelations($this->items); - } - - return $this; - } - - /** - * Load a set of relationship counts onto the collection. - * - * @param array|string $relations - * @return $this - */ - public function loadCount($relations) - { - if ($this->isEmpty()) { - return $this; - } - - $models = $this->first()->newModelQuery() - ->whereKey($this->modelKeys()) - ->select($this->first()->getKeyName()) - ->withCount(...func_get_args()) - ->get(); - - $attributes = Arr::except( - array_keys($models->first()->getAttributes()), - $models->first()->getKeyName() - ); - - $models->each(function ($model) use ($attributes) { - $this->find($model->getKey())->forceFill( - Arr::only($model->getAttributes(), $attributes) - )->syncOriginalAttributes($attributes); - }); - - return $this; - } - - /** - * Load a set of relationships onto the collection if they are not already eager loaded. - * - * @param array|string $relations - * @return $this - */ - public function loadMissing($relations) - { - if (is_string($relations)) { - $relations = func_get_args(); - } - - foreach ($relations as $key => $value) { - if (is_numeric($key)) { - $key = $value; - } - - $segments = explode('.', explode(':', $key)[0]); - - if (Str::contains($key, ':')) { - $segments[count($segments) - 1] .= ':'.explode(':', $key)[1]; - } - - $path = []; - - foreach ($segments as $segment) { - $path[] = [$segment => $segment]; - } - - if (is_callable($value)) { - $path[count($segments) - 1][end($segments)] = $value; - } - - $this->loadMissingRelation($this, $path); - } - - return $this; - } - - /** - * Load a relationship path if it is not already eager loaded. - * - * @param \Illuminate\Database\Eloquent\Collection $models - * @param array $path - * @return void - */ - protected function loadMissingRelation(self $models, array $path) - { - $relation = array_shift($path); - - $name = explode(':', key($relation))[0]; - - if (is_string(reset($relation))) { - $relation = reset($relation); - } - - $models->filter(function ($model) use ($name) { - return ! is_null($model) && ! $model->relationLoaded($name); - })->load($relation); - - if (empty($path)) { - return; - } - - $models = $models->pluck($name); - - if ($models->first() instanceof BaseCollection) { - $models = $models->collapse(); - } - - $this->loadMissingRelation(new static($models), $path); - } - - /** - * Load a set of relationships onto the mixed relationship collection. - * - * @param string $relation - * @param array $relations - * @return $this - */ - public function loadMorph($relation, $relations) - { - $this->pluck($relation) - ->filter() - ->groupBy(function ($model) { - return get_class($model); - }) - ->each(function ($models, $className) use ($relations) { - static::make($models)->load($relations[$className] ?? []); - }); - - return $this; - } - - /** - * Determine if a key exists in the collection. - * - * @param mixed $key - * @param mixed $operator - * @param mixed $value - * @return bool - */ - public function contains($key, $operator = null, $value = null) - { - if (func_num_args() > 1 || $this->useAsCallable($key)) { - return parent::contains(...func_get_args()); - } - - if ($key instanceof Model) { - return parent::contains(function ($model) use ($key) { - return $model->is($key); - }); - } - - return parent::contains(function ($model) use ($key) { - return $model->getKey() == $key; - }); - } - - /** - * Get the array of primary keys. - * - * @return array - */ - public function modelKeys() - { - return array_map(function ($model) { - return $model->getKey(); - }, $this->items); - } - - /** - * Merge the collection with the given items. - * - * @param \ArrayAccess|array $items - * @return static - */ - public function merge($items) - { - $dictionary = $this->getDictionary(); - - foreach ($items as $item) { - $dictionary[$item->getKey()] = $item; - } - - return new static(array_values($dictionary)); - } - - /** - * Run a map over each of the items. - * - * @param callable $callback - * @return \Illuminate\Support\Collection|static - */ - public function map(callable $callback) - { - $result = parent::map($callback); - - return $result->contains(function ($item) { - return ! $item instanceof Model; - }) ? $result->toBase() : $result; - } - - /** - * Reload a fresh model instance from the database for all the entities. - * - * @param array|string $with - * @return static - */ - public function fresh($with = []) - { - if ($this->isEmpty()) { - return new static; - } - - $model = $this->first(); - - $freshModels = $model->newQueryWithoutScopes() - ->with(is_string($with) ? func_get_args() : $with) - ->whereIn($model->getKeyName(), $this->modelKeys()) - ->get() - ->getDictionary(); - - return $this->map(function ($model) use ($freshModels) { - return $model->exists && isset($freshModels[$model->getKey()]) - ? $freshModels[$model->getKey()] : null; - }); - } - - /** - * Diff the collection with the given items. - * - * @param \ArrayAccess|array $items - * @return static - */ - public function diff($items) - { - $diff = new static; - - $dictionary = $this->getDictionary($items); - - foreach ($this->items as $item) { - if (! isset($dictionary[$item->getKey()])) { - $diff->add($item); - } - } - - return $diff; - } - - /** - * Intersect the collection with the given items. - * - * @param \ArrayAccess|array $items - * @return static - */ - public function intersect($items) - { - $intersect = new static; - - $dictionary = $this->getDictionary($items); - - foreach ($this->items as $item) { - if (isset($dictionary[$item->getKey()])) { - $intersect->add($item); - } - } - - return $intersect; - } - - /** - * Return only unique items from the collection. - * - * @param string|callable|null $key - * @param bool $strict - * @return static|\Illuminate\Support\Collection - */ - public function unique($key = null, $strict = false) - { - if (! is_null($key)) { - return parent::unique($key, $strict); - } - - return new static(array_values($this->getDictionary())); - } - - /** - * Returns only the models from the collection with the specified keys. - * - * @param mixed $keys - * @return static - */ - public function only($keys) - { - if (is_null($keys)) { - return new static($this->items); - } - - $dictionary = Arr::only($this->getDictionary(), $keys); - - return new static(array_values($dictionary)); - } - - /** - * Returns all models in the collection except the models with specified keys. - * - * @param mixed $keys - * @return static - */ - public function except($keys) - { - $dictionary = Arr::except($this->getDictionary(), $keys); - - return new static(array_values($dictionary)); - } - - /** - * Make the given, typically visible, attributes hidden across the entire collection. - * - * @param array|string $attributes - * @return $this - */ - public function makeHidden($attributes) - { - return $this->each->addHidden($attributes); - } - - /** - * Make the given, typically hidden, attributes visible across the entire collection. - * - * @param array|string $attributes - * @return $this - */ - public function makeVisible($attributes) - { - return $this->each->makeVisible($attributes); - } - - /** - * Get a dictionary keyed by primary keys. - * - * @param \ArrayAccess|array|null $items - * @return array - */ - public function getDictionary($items = null) - { - $items = is_null($items) ? $this->items : $items; - - $dictionary = []; - - foreach ($items as $value) { - $dictionary[$value->getKey()] = $value; - } - - return $dictionary; - } - - /** - * The following methods are intercepted to always return base collections. - */ - - /** - * Get an array with the values of a given key. - * - * @param string $value - * @param string|null $key - * @return \Illuminate\Support\Collection - */ - public function pluck($value, $key = null) - { - return $this->toBase()->pluck($value, $key); - } - - /** - * Get the keys of the collection items. - * - * @return \Illuminate\Support\Collection - */ - public function keys() - { - return $this->toBase()->keys(); - } - - /** - * Zip the collection together with one or more arrays. - * - * @param mixed ...$items - * @return \Illuminate\Support\Collection - */ - public function zip($items) - { - return call_user_func_array([$this->toBase(), 'zip'], func_get_args()); - } - - /** - * Collapse the collection of items into a single array. - * - * @return \Illuminate\Support\Collection - */ - public function collapse() - { - return $this->toBase()->collapse(); - } - - /** - * Get a flattened array of the items in the collection. - * - * @param int $depth - * @return \Illuminate\Support\Collection - */ - public function flatten($depth = INF) - { - return $this->toBase()->flatten($depth); - } - - /** - * Flip the items in the collection. - * - * @return \Illuminate\Support\Collection - */ - public function flip() - { - return $this->toBase()->flip(); - } - - /** - * Pad collection to the specified length with a value. - * - * @param int $size - * @param mixed $value - * @return \Illuminate\Support\Collection - */ - public function pad($size, $value) - { - return $this->toBase()->pad($size, $value); - } - - /** - * Get the comparison function to detect duplicates. - * - * @param bool $strict - * @return \Closure - */ - protected function duplicateComparator($strict) - { - return function ($a, $b) { - return $a->is($b); - }; - } - - /** - * Get the type of the entities being queued. - * - * @return string|null - * - * @throws \LogicException - */ - public function getQueueableClass() - { - if ($this->isEmpty()) { - return; - } - - $class = get_class($this->first()); - - $this->each(function ($model) use ($class) { - if (get_class($model) !== $class) { - throw new LogicException('Queueing collections with multiple model types is not supported.'); - } - }); - - return $class; - } - - /** - * Get the identifiers for all of the entities. - * - * @return array - */ - public function getQueueableIds() - { - if ($this->isEmpty()) { - return []; - } - - return $this->first() instanceof QueueableEntity - ? $this->map->getQueueableId()->all() - : $this->modelKeys(); - } - - /** - * Get the relationships of the entities being queued. - * - * @return array - */ - public function getQueueableRelations() - { - return $this->isNotEmpty() ? $this->first()->getQueueableRelations() : []; - } - - /** - * Get the connection of the entities being queued. - * - * @return string|null - * - * @throws \LogicException - */ - public function getQueueableConnection() - { - if ($this->isEmpty()) { - return; - } - - $connection = $this->first()->getConnectionName(); - - $this->each(function ($model) use ($connection) { - if ($model->getConnectionName() !== $connection) { - throw new LogicException('Queueing collections with multiple model connections is not supported.'); - } - }); - - return $connection; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/GuardsAttributes.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/GuardsAttributes.php deleted file mode 100644 index b9095c0..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/GuardsAttributes.php +++ /dev/null @@ -1,193 +0,0 @@ -fillable; - } - - /** - * Set the fillable attributes for the model. - * - * @param array $fillable - * @return $this - */ - public function fillable(array $fillable) - { - $this->fillable = $fillable; - - return $this; - } - - /** - * Get the guarded attributes for the model. - * - * @return array - */ - public function getGuarded() - { - return $this->guarded; - } - - /** - * Set the guarded attributes for the model. - * - * @param array $guarded - * @return $this - */ - public function guard(array $guarded) - { - $this->guarded = $guarded; - - return $this; - } - - /** - * Disable all mass assignable restrictions. - * - * @param bool $state - * @return void - */ - public static function unguard($state = true) - { - static::$unguarded = $state; - } - - /** - * Enable the mass assignment restrictions. - * - * @return void - */ - public static function reguard() - { - static::$unguarded = false; - } - - /** - * Determine if current state is "unguarded". - * - * @return bool - */ - public static function isUnguarded() - { - return static::$unguarded; - } - - /** - * Run the given callable while being unguarded. - * - * @param callable $callback - * @return mixed - */ - public static function unguarded(callable $callback) - { - if (static::$unguarded) { - return $callback(); - } - - static::unguard(); - - try { - return $callback(); - } finally { - static::reguard(); - } - } - - /** - * Determine if the given attribute may be mass assigned. - * - * @param string $key - * @return bool - */ - public function isFillable($key) - { - if (static::$unguarded) { - return true; - } - - // If the key is in the "fillable" array, we can of course assume that it's - // a fillable attribute. Otherwise, we will check the guarded array when - // we need to determine if the attribute is black-listed on the model. - if (in_array($key, $this->getFillable())) { - return true; - } - - // If the attribute is explicitly listed in the "guarded" array then we can - // return false immediately. This means this attribute is definitely not - // fillable and there is no point in going any further in this method. - if ($this->isGuarded($key)) { - return false; - } - - return empty($this->getFillable()) && - ! Str::startsWith($key, '_'); - } - - /** - * Determine if the given key is guarded. - * - * @param string $key - * @return bool - */ - public function isGuarded($key) - { - return in_array($key, $this->getGuarded()) || $this->getGuarded() == ['*']; - } - - /** - * Determine if the model is totally guarded. - * - * @return bool - */ - public function totallyGuarded() - { - return count($this->getFillable()) === 0 && $this->getGuarded() == ['*']; - } - - /** - * Get the fillable attributes of a given array. - * - * @param array $attributes - * @return array - */ - protected function fillableFromArray(array $attributes) - { - if (count($this->getFillable()) > 0 && ! static::$unguarded) { - return array_intersect_key($attributes, array_flip($this->getFillable())); - } - - return $attributes; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/HasAttributes.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/HasAttributes.php deleted file mode 100644 index f69af67..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/HasAttributes.php +++ /dev/null @@ -1,1249 +0,0 @@ -addDateAttributesToArray( - $attributes = $this->getArrayableAttributes() - ); - - $attributes = $this->addMutatedAttributesToArray( - $attributes, $mutatedAttributes = $this->getMutatedAttributes() - ); - - // Next we will handle any casts that have been setup for this model and cast - // the values to their appropriate type. If the attribute has a mutator we - // will not perform the cast on those attributes to avoid any confusion. - $attributes = $this->addCastAttributesToArray( - $attributes, $mutatedAttributes - ); - - // Here we will grab all of the appended, calculated attributes to this model - // as these attributes are not really in the attributes array, but are run - // when we need to array or JSON the model for convenience to the coder. - foreach ($this->getArrayableAppends() as $key) { - $attributes[$key] = $this->mutateAttributeForArray($key, null); - } - - return $attributes; - } - - /** - * Add the date attributes to the attributes array. - * - * @param array $attributes - * @return array - */ - protected function addDateAttributesToArray(array $attributes) - { - foreach ($this->getDates() as $key) { - if (! isset($attributes[$key])) { - continue; - } - - $attributes[$key] = $this->serializeDate( - $this->asDateTime($attributes[$key]) - ); - } - - return $attributes; - } - - /** - * Add the mutated attributes to the attributes array. - * - * @param array $attributes - * @param array $mutatedAttributes - * @return array - */ - protected function addMutatedAttributesToArray(array $attributes, array $mutatedAttributes) - { - foreach ($mutatedAttributes as $key) { - // We want to spin through all the mutated attributes for this model and call - // the mutator for the attribute. We cache off every mutated attributes so - // we don't have to constantly check on attributes that actually change. - if (! array_key_exists($key, $attributes)) { - continue; - } - - // Next, we will call the mutator for this attribute so that we can get these - // mutated attribute's actual values. After we finish mutating each of the - // attributes we will return this final array of the mutated attributes. - $attributes[$key] = $this->mutateAttributeForArray( - $key, $attributes[$key] - ); - } - - return $attributes; - } - - /** - * Add the casted attributes to the attributes array. - * - * @param array $attributes - * @param array $mutatedAttributes - * @return array - */ - protected function addCastAttributesToArray(array $attributes, array $mutatedAttributes) - { - foreach ($this->getCasts() as $key => $value) { - if (! array_key_exists($key, $attributes) || in_array($key, $mutatedAttributes)) { - continue; - } - - // Here we will cast the attribute. Then, if the cast is a date or datetime cast - // then we will serialize the date for the array. This will convert the dates - // to strings based on the date format specified for these Eloquent models. - $attributes[$key] = $this->castAttribute( - $key, $attributes[$key] - ); - - // If the attribute cast was a date or a datetime, we will serialize the date as - // a string. This allows the developers to customize how dates are serialized - // into an array without affecting how they are persisted into the storage. - if ($attributes[$key] && - ($value === 'date' || $value === 'datetime')) { - $attributes[$key] = $this->serializeDate($attributes[$key]); - } - - if ($attributes[$key] && $this->isCustomDateTimeCast($value)) { - $attributes[$key] = $attributes[$key]->format(explode(':', $value, 2)[1]); - } - } - - return $attributes; - } - - /** - * Get an attribute array of all arrayable attributes. - * - * @return array - */ - protected function getArrayableAttributes() - { - return $this->getArrayableItems($this->attributes); - } - - /** - * Get all of the appendable values that are arrayable. - * - * @return array - */ - protected function getArrayableAppends() - { - if (! count($this->appends)) { - return []; - } - - return $this->getArrayableItems( - array_combine($this->appends, $this->appends) - ); - } - - /** - * Get the model's relationships in array form. - * - * @return array - */ - public function relationsToArray() - { - $attributes = []; - - foreach ($this->getArrayableRelations() as $key => $value) { - // If the values implements the Arrayable interface we can just call this - // toArray method on the instances which will convert both models and - // collections to their proper array form and we'll set the values. - if ($value instanceof Arrayable) { - $relation = $value->toArray(); - } - - // If the value is null, we'll still go ahead and set it in this list of - // attributes since null is used to represent empty relationships if - // if it a has one or belongs to type relationships on the models. - elseif (is_null($value)) { - $relation = $value; - } - - // If the relationships snake-casing is enabled, we will snake case this - // key so that the relation attribute is snake cased in this returned - // array to the developers, making this consistent with attributes. - if (static::$snakeAttributes) { - $key = Str::snake($key); - } - - // If the relation value has been set, we will set it on this attributes - // list for returning. If it was not arrayable or null, we'll not set - // the value on the array because it is some type of invalid value. - if (isset($relation) || is_null($value)) { - $attributes[$key] = $relation; - } - - unset($relation); - } - - return $attributes; - } - - /** - * Get an attribute array of all arrayable relations. - * - * @return array - */ - protected function getArrayableRelations() - { - return $this->getArrayableItems($this->relations); - } - - /** - * Get an attribute array of all arrayable values. - * - * @param array $values - * @return array - */ - protected function getArrayableItems(array $values) - { - if (count($this->getVisible()) > 0) { - $values = array_intersect_key($values, array_flip($this->getVisible())); - } - - if (count($this->getHidden()) > 0) { - $values = array_diff_key($values, array_flip($this->getHidden())); - } - - return $values; - } - - /** - * Get an attribute from the model. - * - * @param string $key - * @return mixed - */ - public function getAttribute($key) - { - if (! $key) { - return; - } - - // If the attribute exists in the attribute array or has a "get" mutator we will - // get the attribute's value. Otherwise, we will proceed as if the developers - // are asking for a relationship's value. This covers both types of values. - if (array_key_exists($key, $this->attributes) || - $this->hasGetMutator($key)) { - return $this->getAttributeValue($key); - } - - // Here we will determine if the model base class itself contains this given key - // since we don't want to treat any of those methods as relationships because - // they are all intended as helper methods and none of these are relations. - if (method_exists(self::class, $key)) { - return; - } - - return $this->getRelationValue($key); - } - - /** - * Get a plain attribute (not a relationship). - * - * @param string $key - * @return mixed - */ - public function getAttributeValue($key) - { - $value = $this->getAttributeFromArray($key); - - // If the attribute has a get mutator, we will call that then return what - // it returns as the value, which is useful for transforming values on - // retrieval from the model to a form that is more useful for usage. - if ($this->hasGetMutator($key)) { - return $this->mutateAttribute($key, $value); - } - - // If the attribute exists within the cast array, we will convert it to - // an appropriate native PHP type dependant upon the associated value - // given with the key in the pair. Dayle made this comment line up. - if ($this->hasCast($key)) { - return $this->castAttribute($key, $value); - } - - // If the attribute is listed as a date, we will convert it to a DateTime - // instance on retrieval, which makes it quite convenient to work with - // date fields without having to create a mutator for each property. - if (in_array($key, $this->getDates()) && - ! is_null($value)) { - return $this->asDateTime($value); - } - - return $value; - } - - /** - * Get an attribute from the $attributes array. - * - * @param string $key - * @return mixed - */ - protected function getAttributeFromArray($key) - { - return $this->attributes[$key] ?? null; - } - - /** - * Get a relationship. - * - * @param string $key - * @return mixed - */ - public function getRelationValue($key) - { - // If the key already exists in the relationships array, it just means the - // relationship has already been loaded, so we'll just return it out of - // here because there is no need to query within the relations twice. - if ($this->relationLoaded($key)) { - return $this->relations[$key]; - } - - // If the "attribute" exists as a method on the model, we will just assume - // it is a relationship and will load and return results from the query - // and hydrate the relationship's value on the "relationships" array. - if (method_exists($this, $key)) { - return $this->getRelationshipFromMethod($key); - } - } - - /** - * Get a relationship value from a method. - * - * @param string $method - * @return mixed - * - * @throws \LogicException - */ - protected function getRelationshipFromMethod($method) - { - $relation = $this->$method(); - - if (! $relation instanceof Relation) { - if (is_null($relation)) { - throw new LogicException(sprintf( - '%s::%s must return a relationship instance, but "null" was returned. Was the "return" keyword used?', static::class, $method - )); - } - - throw new LogicException(sprintf( - '%s::%s must return a relationship instance.', static::class, $method - )); - } - - return tap($relation->getResults(), function ($results) use ($method) { - $this->setRelation($method, $results); - }); - } - - /** - * Determine if a get mutator exists for an attribute. - * - * @param string $key - * @return bool - */ - public function hasGetMutator($key) - { - return method_exists($this, 'get'.Str::studly($key).'Attribute'); - } - - /** - * Get the value of an attribute using its mutator. - * - * @param string $key - * @param mixed $value - * @return mixed - */ - protected function mutateAttribute($key, $value) - { - return $this->{'get'.Str::studly($key).'Attribute'}($value); - } - - /** - * Get the value of an attribute using its mutator for array conversion. - * - * @param string $key - * @param mixed $value - * @return mixed - */ - protected function mutateAttributeForArray($key, $value) - { - $value = $this->mutateAttribute($key, $value); - - return $value instanceof Arrayable ? $value->toArray() : $value; - } - - /** - * Cast an attribute to a native PHP type. - * - * @param string $key - * @param mixed $value - * @return mixed - */ - protected function castAttribute($key, $value) - { - if (is_null($value)) { - return $value; - } - - switch ($this->getCastType($key)) { - case 'int': - case 'integer': - return (int) $value; - case 'real': - case 'float': - case 'double': - return $this->fromFloat($value); - case 'decimal': - return $this->asDecimal($value, explode(':', $this->getCasts()[$key], 2)[1]); - case 'string': - return (string) $value; - case 'bool': - case 'boolean': - return (bool) $value; - case 'object': - return $this->fromJson($value, true); - case 'array': - case 'json': - return $this->fromJson($value); - case 'collection': - return new BaseCollection($this->fromJson($value)); - case 'date': - return $this->asDate($value); - case 'datetime': - case 'custom_datetime': - return $this->asDateTime($value); - case 'timestamp': - return $this->asTimestamp($value); - default: - return $value; - } - } - - /** - * Get the type of cast for a model attribute. - * - * @param string $key - * @return string - */ - protected function getCastType($key) - { - if ($this->isCustomDateTimeCast($this->getCasts()[$key])) { - return 'custom_datetime'; - } - - if ($this->isDecimalCast($this->getCasts()[$key])) { - return 'decimal'; - } - - return trim(strtolower($this->getCasts()[$key])); - } - - /** - * Determine if the cast type is a custom date time cast. - * - * @param string $cast - * @return bool - */ - protected function isCustomDateTimeCast($cast) - { - return strncmp($cast, 'date:', 5) === 0 || - strncmp($cast, 'datetime:', 9) === 0; - } - - /** - * Determine if the cast type is a decimal cast. - * - * @param string $cast - * @return bool - */ - protected function isDecimalCast($cast) - { - return strncmp($cast, 'decimal:', 8) === 0; - } - - /** - * Set a given attribute on the model. - * - * @param string $key - * @param mixed $value - * @return mixed - */ - public function setAttribute($key, $value) - { - // First we will check for the presence of a mutator for the set operation - // which simply lets the developers tweak the attribute as it is set on - // the model, such as "json_encoding" an listing of data for storage. - if ($this->hasSetMutator($key)) { - return $this->setMutatedAttributeValue($key, $value); - } - - // If an attribute is listed as a "date", we'll convert it from a DateTime - // instance into a form proper for storage on the database tables using - // the connection grammar's date format. We will auto set the values. - elseif ($value && $this->isDateAttribute($key)) { - $value = $this->fromDateTime($value); - } - - if ($this->isJsonCastable($key) && ! is_null($value)) { - $value = $this->castAttributeAsJson($key, $value); - } - - // If this attribute contains a JSON ->, we'll set the proper value in the - // attribute's underlying array. This takes care of properly nesting an - // attribute in the array's value in the case of deeply nested items. - if (Str::contains($key, '->')) { - return $this->fillJsonAttribute($key, $value); - } - - $this->attributes[$key] = $value; - - return $this; - } - - /** - * Determine if a set mutator exists for an attribute. - * - * @param string $key - * @return bool - */ - public function hasSetMutator($key) - { - return method_exists($this, 'set'.Str::studly($key).'Attribute'); - } - - /** - * Set the value of an attribute using its mutator. - * - * @param string $key - * @param mixed $value - * @return mixed - */ - protected function setMutatedAttributeValue($key, $value) - { - return $this->{'set'.Str::studly($key).'Attribute'}($value); - } - - /** - * Determine if the given attribute is a date or date castable. - * - * @param string $key - * @return bool - */ - protected function isDateAttribute($key) - { - return in_array($key, $this->getDates(), true) || - $this->isDateCastable($key); - } - - /** - * Set a given JSON attribute on the model. - * - * @param string $key - * @param mixed $value - * @return $this - */ - public function fillJsonAttribute($key, $value) - { - [$key, $path] = explode('->', $key, 2); - - $this->attributes[$key] = $this->asJson($this->getArrayAttributeWithValue( - $path, $key, $value - )); - - return $this; - } - - /** - * Get an array attribute with the given key and value set. - * - * @param string $path - * @param string $key - * @param mixed $value - * @return $this - */ - protected function getArrayAttributeWithValue($path, $key, $value) - { - return tap($this->getArrayAttributeByKey($key), function (&$array) use ($path, $value) { - Arr::set($array, str_replace('->', '.', $path), $value); - }); - } - - /** - * Get an array attribute or return an empty array if it is not set. - * - * @param string $key - * @return array - */ - protected function getArrayAttributeByKey($key) - { - return isset($this->attributes[$key]) ? - $this->fromJson($this->attributes[$key]) : []; - } - - /** - * Cast the given attribute to JSON. - * - * @param string $key - * @param mixed $value - * @return string - */ - protected function castAttributeAsJson($key, $value) - { - $value = $this->asJson($value); - - if ($value === false) { - throw JsonEncodingException::forAttribute( - $this, $key, json_last_error_msg() - ); - } - - return $value; - } - - /** - * Encode the given value as JSON. - * - * @param mixed $value - * @return string - */ - protected function asJson($value) - { - return json_encode($value); - } - - /** - * Decode the given JSON back into an array or object. - * - * @param string $value - * @param bool $asObject - * @return mixed - */ - public function fromJson($value, $asObject = false) - { - return json_decode($value, ! $asObject); - } - - /** - * Decode the given float. - * - * @param mixed $value - * @return mixed - */ - public function fromFloat($value) - { - switch ((string) $value) { - case 'Infinity': - return INF; - case '-Infinity': - return -INF; - case 'NaN': - return NAN; - default: - return (float) $value; - } - } - - /** - * Return a decimal as string. - * - * @param float $value - * @param int $decimals - * @return string - */ - protected function asDecimal($value, $decimals) - { - return number_format($value, $decimals, '.', ''); - } - - /** - * Return a timestamp as DateTime object with time set to 00:00:00. - * - * @param mixed $value - * @return \Illuminate\Support\Carbon - */ - protected function asDate($value) - { - return $this->asDateTime($value)->startOfDay(); - } - - /** - * Return a timestamp as DateTime object. - * - * @param mixed $value - * @return \Illuminate\Support\Carbon - */ - protected function asDateTime($value) - { - // If this value is already a Carbon instance, we shall just return it as is. - // This prevents us having to re-instantiate a Carbon instance when we know - // it already is one, which wouldn't be fulfilled by the DateTime check. - if ($value instanceof Carbon || $value instanceof CarbonInterface) { - return Date::instance($value); - } - - // If the value is already a DateTime instance, we will just skip the rest of - // these checks since they will be a waste of time, and hinder performance - // when checking the field. We will just return the DateTime right away. - if ($value instanceof DateTimeInterface) { - return Date::parse( - $value->format('Y-m-d H:i:s.u'), $value->getTimezone() - ); - } - - // If this value is an integer, we will assume it is a UNIX timestamp's value - // and format a Carbon object from this timestamp. This allows flexibility - // when defining your date fields as they might be UNIX timestamps here. - if (is_numeric($value)) { - return Date::createFromTimestamp($value); - } - - // If the value is in simply year, month, day format, we will instantiate the - // Carbon instances from that format. Again, this provides for simple date - // fields on the database, while still supporting Carbonized conversion. - if ($this->isStandardDateFormat($value)) { - return Date::instance(Carbon::createFromFormat('Y-m-d', $value)->startOfDay()); - } - - $format = $this->getDateFormat(); - - // https://bugs.php.net/bug.php?id=75577 - if (version_compare(PHP_VERSION, '7.3.0-dev', '<')) { - $format = str_replace('.v', '.u', $format); - } - - // Finally, we will just assume this date is in the format used by default on - // the database connection and use that format to create the Carbon object - // that is returned back out to the developers after we convert it here. - return Date::createFromFormat($format, $value); - } - - /** - * Determine if the given value is a standard date format. - * - * @param string $value - * @return bool - */ - protected function isStandardDateFormat($value) - { - return preg_match('/^(\d{4})-(\d{1,2})-(\d{1,2})$/', $value); - } - - /** - * Convert a DateTime to a storable string. - * - * @param mixed $value - * @return string|null - */ - public function fromDateTime($value) - { - return empty($value) ? $value : $this->asDateTime($value)->format( - $this->getDateFormat() - ); - } - - /** - * Return a timestamp as unix timestamp. - * - * @param mixed $value - * @return int - */ - protected function asTimestamp($value) - { - return $this->asDateTime($value)->getTimestamp(); - } - - /** - * Prepare a date for array / JSON serialization. - * - * @param \DateTimeInterface $date - * @return string - */ - protected function serializeDate(DateTimeInterface $date) - { - return $date->format($this->getDateFormat()); - } - - /** - * Get the attributes that should be converted to dates. - * - * @return array - */ - public function getDates() - { - $defaults = [static::CREATED_AT, static::UPDATED_AT]; - - return $this->usesTimestamps() - ? array_unique(array_merge($this->dates, $defaults)) - : $this->dates; - } - - /** - * Get the format for database stored dates. - * - * @return string - */ - public function getDateFormat() - { - return $this->dateFormat ?: $this->getConnection()->getQueryGrammar()->getDateFormat(); - } - - /** - * Set the date format used by the model. - * - * @param string $format - * @return $this - */ - public function setDateFormat($format) - { - $this->dateFormat = $format; - - return $this; - } - - /** - * Determine whether an attribute should be cast to a native type. - * - * @param string $key - * @param array|string|null $types - * @return bool - */ - public function hasCast($key, $types = null) - { - if (array_key_exists($key, $this->getCasts())) { - return $types ? in_array($this->getCastType($key), (array) $types, true) : true; - } - - return false; - } - - /** - * Get the casts array. - * - * @return array - */ - public function getCasts() - { - if ($this->getIncrementing()) { - return array_merge([$this->getKeyName() => $this->getKeyType()], $this->casts); - } - - return $this->casts; - } - - /** - * Determine whether a value is Date / DateTime castable for inbound manipulation. - * - * @param string $key - * @return bool - */ - protected function isDateCastable($key) - { - return $this->hasCast($key, ['date', 'datetime']); - } - - /** - * Determine whether a value is JSON castable for inbound manipulation. - * - * @param string $key - * @return bool - */ - protected function isJsonCastable($key) - { - return $this->hasCast($key, ['array', 'json', 'object', 'collection']); - } - - /** - * Get all of the current attributes on the model. - * - * @return array - */ - public function getAttributes() - { - return $this->attributes; - } - - /** - * Set the array of model attributes. No checking is done. - * - * @param array $attributes - * @param bool $sync - * @return $this - */ - public function setRawAttributes(array $attributes, $sync = false) - { - $this->attributes = $attributes; - - if ($sync) { - $this->syncOriginal(); - } - - return $this; - } - - /** - * Get the model's original attribute values. - * - * @param string|null $key - * @param mixed $default - * @return mixed|array - */ - public function getOriginal($key = null, $default = null) - { - return Arr::get($this->original, $key, $default); - } - - /** - * Get a subset of the model's attributes. - * - * @param array|mixed $attributes - * @return array - */ - public function only($attributes) - { - $results = []; - - foreach (is_array($attributes) ? $attributes : func_get_args() as $attribute) { - $results[$attribute] = $this->getAttribute($attribute); - } - - return $results; - } - - /** - * Sync the original attributes with the current. - * - * @return $this - */ - public function syncOriginal() - { - $this->original = $this->attributes; - - return $this; - } - - /** - * Sync a single original attribute with its current value. - * - * @param string $attribute - * @return $this - */ - public function syncOriginalAttribute($attribute) - { - return $this->syncOriginalAttributes($attribute); - } - - /** - * Sync multiple original attribute with their current values. - * - * @param array|string $attributes - * @return $this - */ - public function syncOriginalAttributes($attributes) - { - $attributes = is_array($attributes) ? $attributes : func_get_args(); - - foreach ($attributes as $attribute) { - $this->original[$attribute] = $this->attributes[$attribute]; - } - - return $this; - } - - /** - * Sync the changed attributes. - * - * @return $this - */ - public function syncChanges() - { - $this->changes = $this->getDirty(); - - return $this; - } - - /** - * Determine if the model or any of the given attribute(s) have been modified. - * - * @param array|string|null $attributes - * @return bool - */ - public function isDirty($attributes = null) - { - return $this->hasChanges( - $this->getDirty(), is_array($attributes) ? $attributes : func_get_args() - ); - } - - /** - * Determine if the model and all the given attribute(s) have remained the same. - * - * @param array|string|null $attributes - * @return bool - */ - public function isClean($attributes = null) - { - return ! $this->isDirty(...func_get_args()); - } - - /** - * Determine if the model or any of the given attribute(s) have been modified. - * - * @param array|string|null $attributes - * @return bool - */ - public function wasChanged($attributes = null) - { - return $this->hasChanges( - $this->getChanges(), is_array($attributes) ? $attributes : func_get_args() - ); - } - - /** - * Determine if any of the given attributes were changed. - * - * @param array $changes - * @param array|string|null $attributes - * @return bool - */ - protected function hasChanges($changes, $attributes = null) - { - // If no specific attributes were provided, we will just see if the dirty array - // already contains any attributes. If it does we will just return that this - // count is greater than zero. Else, we need to check specific attributes. - if (empty($attributes)) { - return count($changes) > 0; - } - - // Here we will spin through every attribute and see if this is in the array of - // dirty attributes. If it is, we will return true and if we make it through - // all of the attributes for the entire array we will return false at end. - foreach (Arr::wrap($attributes) as $attribute) { - if (array_key_exists($attribute, $changes)) { - return true; - } - } - - return false; - } - - /** - * Get the attributes that have been changed since last sync. - * - * @return array - */ - public function getDirty() - { - $dirty = []; - - foreach ($this->getAttributes() as $key => $value) { - if (! $this->originalIsEquivalent($key, $value)) { - $dirty[$key] = $value; - } - } - - return $dirty; - } - - /** - * Get the attributes that were changed. - * - * @return array - */ - public function getChanges() - { - return $this->changes; - } - - /** - * Determine if the new and old values for a given key are equivalent. - * - * @param string $key - * @param mixed $current - * @return bool - */ - public function originalIsEquivalent($key, $current) - { - if (! array_key_exists($key, $this->original)) { - return false; - } - - $original = $this->getOriginal($key); - - if ($current === $original) { - return true; - } elseif (is_null($current)) { - return false; - } elseif ($this->isDateAttribute($key)) { - return $this->fromDateTime($current) === - $this->fromDateTime($original); - } elseif ($this->hasCast($key)) { - return $this->castAttribute($key, $current) === - $this->castAttribute($key, $original); - } - - return is_numeric($current) && is_numeric($original) - && strcmp((string) $current, (string) $original) === 0; - } - - /** - * Append attributes to query when building a query. - * - * @param array|string $attributes - * @return $this - */ - public function append($attributes) - { - $this->appends = array_unique( - array_merge($this->appends, is_string($attributes) ? func_get_args() : $attributes) - ); - - return $this; - } - - /** - * Set the accessors to append to model arrays. - * - * @param array $appends - * @return $this - */ - public function setAppends(array $appends) - { - $this->appends = $appends; - - return $this; - } - - /** - * Get the mutated attributes for a given instance. - * - * @return array - */ - public function getMutatedAttributes() - { - $class = static::class; - - if (! isset(static::$mutatorCache[$class])) { - static::cacheMutatedAttributes($class); - } - - return static::$mutatorCache[$class]; - } - - /** - * Extract and cache all the mutated attributes of a class. - * - * @param string $class - * @return void - */ - public static function cacheMutatedAttributes($class) - { - static::$mutatorCache[$class] = collect(static::getMutatorMethods($class))->map(function ($match) { - return lcfirst(static::$snakeAttributes ? Str::snake($match) : $match); - })->all(); - } - - /** - * Get all of the attribute mutator methods. - * - * @param mixed $class - * @return array - */ - protected static function getMutatorMethods($class) - { - preg_match_all('/(?<=^|;)get([^;]+?)Attribute(;|$)/', implode(';', get_class_methods($class)), $matches); - - return $matches[1]; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/HasEvents.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/HasEvents.php deleted file mode 100644 index 3c9d2a1..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/HasEvents.php +++ /dev/null @@ -1,412 +0,0 @@ -registerObserver($class); - } - } - - /** - * Register a single observer with the model. - * - * @param object|string $class - * @return void - * - * @throws \RuntimeException - */ - protected function registerObserver($class) - { - $className = $this->resolveObserverClassName($class); - - // When registering a model observer, we will spin through the possible events - // and determine if this observer has that method. If it does, we will hook - // it into the model's event system, making it convenient to watch these. - foreach ($this->getObservableEvents() as $event) { - if (method_exists($class, $event)) { - static::registerModelEvent($event, $className.'@'.$event); - } - } - } - - /** - * Resolve the observer's class name from an object or string. - * - * @param object|string $class - * @return string - * - * @throws \InvalidArgumentException - */ - private function resolveObserverClassName($class) - { - if (is_object($class)) { - return get_class($class); - } - - if (class_exists($class)) { - return $class; - } - - throw new InvalidArgumentException('Unable to find observer: '.$class); - } - - /** - * Get the observable event names. - * - * @return array - */ - public function getObservableEvents() - { - return array_merge( - [ - 'retrieved', 'creating', 'created', 'updating', 'updated', - 'saving', 'saved', 'restoring', 'restored', 'replicating', - 'deleting', 'deleted', 'forceDeleted', - ], - $this->observables - ); - } - - /** - * Set the observable event names. - * - * @param array $observables - * @return $this - */ - public function setObservableEvents(array $observables) - { - $this->observables = $observables; - - return $this; - } - - /** - * Add an observable event name. - * - * @param array|mixed $observables - * @return void - */ - public function addObservableEvents($observables) - { - $this->observables = array_unique(array_merge( - $this->observables, is_array($observables) ? $observables : func_get_args() - )); - } - - /** - * Remove an observable event name. - * - * @param array|mixed $observables - * @return void - */ - public function removeObservableEvents($observables) - { - $this->observables = array_diff( - $this->observables, is_array($observables) ? $observables : func_get_args() - ); - } - - /** - * Register a model event with the dispatcher. - * - * @param string $event - * @param \Closure|string $callback - * @return void - */ - protected static function registerModelEvent($event, $callback) - { - if (isset(static::$dispatcher)) { - $name = static::class; - - static::$dispatcher->listen("eloquent.{$event}: {$name}", $callback); - } - } - - /** - * Fire the given event for the model. - * - * @param string $event - * @param bool $halt - * @return mixed - */ - protected function fireModelEvent($event, $halt = true) - { - if (! isset(static::$dispatcher)) { - return true; - } - - // First, we will get the proper method to call on the event dispatcher, and then we - // will attempt to fire a custom, object based event for the given event. If that - // returns a result we can return that result, or we'll call the string events. - $method = $halt ? 'until' : 'dispatch'; - - $result = $this->filterModelEventResults( - $this->fireCustomModelEvent($event, $method) - ); - - if ($result === false) { - return false; - } - - return ! empty($result) ? $result : static::$dispatcher->{$method}( - "eloquent.{$event}: ".static::class, $this - ); - } - - /** - * Fire a custom model event for the given event. - * - * @param string $event - * @param string $method - * @return mixed|null - */ - protected function fireCustomModelEvent($event, $method) - { - if (! isset($this->dispatchesEvents[$event])) { - return; - } - - $result = static::$dispatcher->$method(new $this->dispatchesEvents[$event]($this)); - - if (! is_null($result)) { - return $result; - } - } - - /** - * Filter the model event results. - * - * @param mixed $result - * @return mixed - */ - protected function filterModelEventResults($result) - { - if (is_array($result)) { - $result = array_filter($result, function ($response) { - return ! is_null($response); - }); - } - - return $result; - } - - /** - * Register a retrieved model event with the dispatcher. - * - * @param \Closure|string $callback - * @return void - */ - public static function retrieved($callback) - { - static::registerModelEvent('retrieved', $callback); - } - - /** - * Register a saving model event with the dispatcher. - * - * @param \Closure|string $callback - * @return void - */ - public static function saving($callback) - { - static::registerModelEvent('saving', $callback); - } - - /** - * Register a saved model event with the dispatcher. - * - * @param \Closure|string $callback - * @return void - */ - public static function saved($callback) - { - static::registerModelEvent('saved', $callback); - } - - /** - * Register an updating model event with the dispatcher. - * - * @param \Closure|string $callback - * @return void - */ - public static function updating($callback) - { - static::registerModelEvent('updating', $callback); - } - - /** - * Register an updated model event with the dispatcher. - * - * @param \Closure|string $callback - * @return void - */ - public static function updated($callback) - { - static::registerModelEvent('updated', $callback); - } - - /** - * Register a creating model event with the dispatcher. - * - * @param \Closure|string $callback - * @return void - */ - public static function creating($callback) - { - static::registerModelEvent('creating', $callback); - } - - /** - * Register a created model event with the dispatcher. - * - * @param \Closure|string $callback - * @return void - */ - public static function created($callback) - { - static::registerModelEvent('created', $callback); - } - - /** - * Register a replicating model event with the dispatcher. - * - * @param \Closure|string $callback - * @return void - */ - public static function replicating($callback) - { - static::registerModelEvent('replicating', $callback); - } - - /** - * Register a deleting model event with the dispatcher. - * - * @param \Closure|string $callback - * @return void - */ - public static function deleting($callback) - { - static::registerModelEvent('deleting', $callback); - } - - /** - * Register a deleted model event with the dispatcher. - * - * @param \Closure|string $callback - * @return void - */ - public static function deleted($callback) - { - static::registerModelEvent('deleted', $callback); - } - - /** - * Remove all of the event listeners for the model. - * - * @return void - */ - public static function flushEventListeners() - { - if (! isset(static::$dispatcher)) { - return; - } - - $instance = new static; - - foreach ($instance->getObservableEvents() as $event) { - static::$dispatcher->forget("eloquent.{$event}: ".static::class); - } - - foreach (array_values($instance->dispatchesEvents) as $event) { - static::$dispatcher->forget($event); - } - } - - /** - * Get the event dispatcher instance. - * - * @return \Illuminate\Contracts\Events\Dispatcher - */ - public static function getEventDispatcher() - { - return static::$dispatcher; - } - - /** - * Set the event dispatcher instance. - * - * @param \Illuminate\Contracts\Events\Dispatcher $dispatcher - * @return void - */ - public static function setEventDispatcher(Dispatcher $dispatcher) - { - static::$dispatcher = $dispatcher; - } - - /** - * Unset the event dispatcher for models. - * - * @return void - */ - public static function unsetEventDispatcher() - { - static::$dispatcher = null; - } - - /** - * Execute a callback without firing any model events for any model type. - * - * @param callable $callback - * @return mixed - */ - public static function withoutEvents(callable $callback) - { - $dispatcher = static::getEventDispatcher(); - - static::unsetEventDispatcher(); - - try { - return $callback(); - } finally { - if ($dispatcher) { - static::setEventDispatcher($dispatcher); - } - } - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/HasGlobalScopes.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/HasGlobalScopes.php deleted file mode 100644 index 97a549f..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/HasGlobalScopes.php +++ /dev/null @@ -1,71 +0,0 @@ -newRelatedInstance($related); - - $foreignKey = $foreignKey ?: $this->getForeignKey(); - - $localKey = $localKey ?: $this->getKeyName(); - - return $this->newHasOne($instance->newQuery(), $this, $instance->getTable().'.'.$foreignKey, $localKey); - } - - /** - * Instantiate a new HasOne relationship. - * - * @param \Illuminate\Database\Eloquent\Builder $query - * @param \Illuminate\Database\Eloquent\Model $parent - * @param string $foreignKey - * @param string $localKey - * @return \Illuminate\Database\Eloquent\Relations\HasOne - */ - protected function newHasOne(Builder $query, Model $parent, $foreignKey, $localKey) - { - return new HasOne($query, $parent, $foreignKey, $localKey); - } - - /** - * Define a has-one-through relationship. - * - * @param string $related - * @param string $through - * @param string|null $firstKey - * @param string|null $secondKey - * @param string|null $localKey - * @param string|null $secondLocalKey - * @return \Illuminate\Database\Eloquent\Relations\HasOneThrough - */ - public function hasOneThrough($related, $through, $firstKey = null, $secondKey = null, $localKey = null, $secondLocalKey = null) - { - $through = new $through; - - $firstKey = $firstKey ?: $this->getForeignKey(); - - $secondKey = $secondKey ?: $through->getForeignKey(); - - return $this->newHasOneThrough( - $this->newRelatedInstance($related)->newQuery(), $this, $through, - $firstKey, $secondKey, $localKey ?: $this->getKeyName(), - $secondLocalKey ?: $through->getKeyName() - ); - } - - /** - * Instantiate a new HasOneThrough relationship. - * - * @param \Illuminate\Database\Eloquent\Builder $query - * @param \Illuminate\Database\Eloquent\Model $farParent - * @param \Illuminate\Database\Eloquent\Model $throughParent - * @param string $firstKey - * @param string $secondKey - * @param string $localKey - * @param string $secondLocalKey - * @return \Illuminate\Database\Eloquent\Relations\HasOneThrough - */ - protected function newHasOneThrough(Builder $query, Model $farParent, Model $throughParent, $firstKey, $secondKey, $localKey, $secondLocalKey) - { - return new HasOneThrough($query, $farParent, $throughParent, $firstKey, $secondKey, $localKey, $secondLocalKey); - } - - /** - * Define a polymorphic one-to-one relationship. - * - * @param string $related - * @param string $name - * @param string $type - * @param string $id - * @param string $localKey - * @return \Illuminate\Database\Eloquent\Relations\MorphOne - */ - public function morphOne($related, $name, $type = null, $id = null, $localKey = null) - { - $instance = $this->newRelatedInstance($related); - - [$type, $id] = $this->getMorphs($name, $type, $id); - - $table = $instance->getTable(); - - $localKey = $localKey ?: $this->getKeyName(); - - return $this->newMorphOne($instance->newQuery(), $this, $table.'.'.$type, $table.'.'.$id, $localKey); - } - - /** - * Instantiate a new MorphOne relationship. - * - * @param \Illuminate\Database\Eloquent\Builder $query - * @param \Illuminate\Database\Eloquent\Model $parent - * @param string $type - * @param string $id - * @param string $localKey - * @return \Illuminate\Database\Eloquent\Relations\MorphOne - */ - protected function newMorphOne(Builder $query, Model $parent, $type, $id, $localKey) - { - return new MorphOne($query, $parent, $type, $id, $localKey); - } - - /** - * Define an inverse one-to-one or many relationship. - * - * @param string $related - * @param string $foreignKey - * @param string $ownerKey - * @param string $relation - * @return \Illuminate\Database\Eloquent\Relations\BelongsTo - */ - public function belongsTo($related, $foreignKey = null, $ownerKey = null, $relation = null) - { - // If no relation name was given, we will use this debug backtrace to extract - // the calling method's name and use that as the relationship name as most - // of the time this will be what we desire to use for the relationships. - if (is_null($relation)) { - $relation = $this->guessBelongsToRelation(); - } - - $instance = $this->newRelatedInstance($related); - - // If no foreign key was supplied, we can use a backtrace to guess the proper - // foreign key name by using the name of the relationship function, which - // when combined with an "_id" should conventionally match the columns. - if (is_null($foreignKey)) { - $foreignKey = Str::snake($relation).'_'.$instance->getKeyName(); - } - - // Once we have the foreign key names, we'll just create a new Eloquent query - // for the related models and returns the relationship instance which will - // actually be responsible for retrieving and hydrating every relations. - $ownerKey = $ownerKey ?: $instance->getKeyName(); - - return $this->newBelongsTo( - $instance->newQuery(), $this, $foreignKey, $ownerKey, $relation - ); - } - - /** - * Instantiate a new BelongsTo relationship. - * - * @param \Illuminate\Database\Eloquent\Builder $query - * @param \Illuminate\Database\Eloquent\Model $child - * @param string $foreignKey - * @param string $ownerKey - * @param string $relation - * @return \Illuminate\Database\Eloquent\Relations\BelongsTo - */ - protected function newBelongsTo(Builder $query, Model $child, $foreignKey, $ownerKey, $relation) - { - return new BelongsTo($query, $child, $foreignKey, $ownerKey, $relation); - } - - /** - * Define a polymorphic, inverse one-to-one or many relationship. - * - * @param string $name - * @param string $type - * @param string $id - * @param string $ownerKey - * @return \Illuminate\Database\Eloquent\Relations\MorphTo - */ - public function morphTo($name = null, $type = null, $id = null, $ownerKey = null) - { - // If no name is provided, we will use the backtrace to get the function name - // since that is most likely the name of the polymorphic interface. We can - // use that to get both the class and foreign key that will be utilized. - $name = $name ?: $this->guessBelongsToRelation(); - - [$type, $id] = $this->getMorphs( - Str::snake($name), $type, $id - ); - - // If the type value is null it is probably safe to assume we're eager loading - // the relationship. In this case we'll just pass in a dummy query where we - // need to remove any eager loads that may already be defined on a model. - return empty($class = $this->{$type}) - ? $this->morphEagerTo($name, $type, $id, $ownerKey) - : $this->morphInstanceTo($class, $name, $type, $id, $ownerKey); - } - - /** - * Define a polymorphic, inverse one-to-one or many relationship. - * - * @param string $name - * @param string $type - * @param string $id - * @param string $ownerKey - * @return \Illuminate\Database\Eloquent\Relations\MorphTo - */ - protected function morphEagerTo($name, $type, $id, $ownerKey) - { - return $this->newMorphTo( - $this->newQuery()->setEagerLoads([]), $this, $id, $ownerKey, $type, $name - ); - } - - /** - * Define a polymorphic, inverse one-to-one or many relationship. - * - * @param string $target - * @param string $name - * @param string $type - * @param string $id - * @param string $ownerKey - * @return \Illuminate\Database\Eloquent\Relations\MorphTo - */ - protected function morphInstanceTo($target, $name, $type, $id, $ownerKey) - { - $instance = $this->newRelatedInstance( - static::getActualClassNameForMorph($target) - ); - - return $this->newMorphTo( - $instance->newQuery(), $this, $id, $ownerKey ?? $instance->getKeyName(), $type, $name - ); - } - - /** - * Instantiate a new MorphTo relationship. - * - * @param \Illuminate\Database\Eloquent\Builder $query - * @param \Illuminate\Database\Eloquent\Model $parent - * @param string $foreignKey - * @param string $ownerKey - * @param string $type - * @param string $relation - * @return \Illuminate\Database\Eloquent\Relations\MorphTo - */ - protected function newMorphTo(Builder $query, Model $parent, $foreignKey, $ownerKey, $type, $relation) - { - return new MorphTo($query, $parent, $foreignKey, $ownerKey, $type, $relation); - } - - /** - * Retrieve the actual class name for a given morph class. - * - * @param string $class - * @return string - */ - public static function getActualClassNameForMorph($class) - { - return Arr::get(Relation::morphMap() ?: [], $class, $class); - } - - /** - * Guess the "belongs to" relationship name. - * - * @return string - */ - protected function guessBelongsToRelation() - { - [$one, $two, $caller] = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, 3); - - return $caller['function']; - } - - /** - * Define a one-to-many relationship. - * - * @param string $related - * @param string $foreignKey - * @param string $localKey - * @return \Illuminate\Database\Eloquent\Relations\HasMany - */ - public function hasMany($related, $foreignKey = null, $localKey = null) - { - $instance = $this->newRelatedInstance($related); - - $foreignKey = $foreignKey ?: $this->getForeignKey(); - - $localKey = $localKey ?: $this->getKeyName(); - - return $this->newHasMany( - $instance->newQuery(), $this, $instance->getTable().'.'.$foreignKey, $localKey - ); - } - - /** - * Instantiate a new HasMany relationship. - * - * @param \Illuminate\Database\Eloquent\Builder $query - * @param \Illuminate\Database\Eloquent\Model $parent - * @param string $foreignKey - * @param string $localKey - * @return \Illuminate\Database\Eloquent\Relations\HasMany - */ - protected function newHasMany(Builder $query, Model $parent, $foreignKey, $localKey) - { - return new HasMany($query, $parent, $foreignKey, $localKey); - } - - /** - * Define a has-many-through relationship. - * - * @param string $related - * @param string $through - * @param string|null $firstKey - * @param string|null $secondKey - * @param string|null $localKey - * @param string|null $secondLocalKey - * @return \Illuminate\Database\Eloquent\Relations\HasManyThrough - */ - public function hasManyThrough($related, $through, $firstKey = null, $secondKey = null, $localKey = null, $secondLocalKey = null) - { - $through = new $through; - - $firstKey = $firstKey ?: $this->getForeignKey(); - - $secondKey = $secondKey ?: $through->getForeignKey(); - - return $this->newHasManyThrough( - $this->newRelatedInstance($related)->newQuery(), $this, $through, - $firstKey, $secondKey, $localKey ?: $this->getKeyName(), - $secondLocalKey ?: $through->getKeyName() - ); - } - - /** - * Instantiate a new HasManyThrough relationship. - * - * @param \Illuminate\Database\Eloquent\Builder $query - * @param \Illuminate\Database\Eloquent\Model $farParent - * @param \Illuminate\Database\Eloquent\Model $throughParent - * @param string $firstKey - * @param string $secondKey - * @param string $localKey - * @param string $secondLocalKey - * @return \Illuminate\Database\Eloquent\Relations\HasManyThrough - */ - protected function newHasManyThrough(Builder $query, Model $farParent, Model $throughParent, $firstKey, $secondKey, $localKey, $secondLocalKey) - { - return new HasManyThrough($query, $farParent, $throughParent, $firstKey, $secondKey, $localKey, $secondLocalKey); - } - - /** - * Define a polymorphic one-to-many relationship. - * - * @param string $related - * @param string $name - * @param string $type - * @param string $id - * @param string $localKey - * @return \Illuminate\Database\Eloquent\Relations\MorphMany - */ - public function morphMany($related, $name, $type = null, $id = null, $localKey = null) - { - $instance = $this->newRelatedInstance($related); - - // Here we will gather up the morph type and ID for the relationship so that we - // can properly query the intermediate table of a relation. Finally, we will - // get the table and create the relationship instances for the developers. - [$type, $id] = $this->getMorphs($name, $type, $id); - - $table = $instance->getTable(); - - $localKey = $localKey ?: $this->getKeyName(); - - return $this->newMorphMany($instance->newQuery(), $this, $table.'.'.$type, $table.'.'.$id, $localKey); - } - - /** - * Instantiate a new MorphMany relationship. - * - * @param \Illuminate\Database\Eloquent\Builder $query - * @param \Illuminate\Database\Eloquent\Model $parent - * @param string $type - * @param string $id - * @param string $localKey - * @return \Illuminate\Database\Eloquent\Relations\MorphMany - */ - protected function newMorphMany(Builder $query, Model $parent, $type, $id, $localKey) - { - return new MorphMany($query, $parent, $type, $id, $localKey); - } - - /** - * Define a many-to-many relationship. - * - * @param string $related - * @param string $table - * @param string $foreignPivotKey - * @param string $relatedPivotKey - * @param string $parentKey - * @param string $relatedKey - * @param string $relation - * @return \Illuminate\Database\Eloquent\Relations\BelongsToMany - */ - public function belongsToMany($related, $table = null, $foreignPivotKey = null, $relatedPivotKey = null, - $parentKey = null, $relatedKey = null, $relation = null) - { - // If no relationship name was passed, we will pull backtraces to get the - // name of the calling function. We will use that function name as the - // title of this relation since that is a great convention to apply. - if (is_null($relation)) { - $relation = $this->guessBelongsToManyRelation(); - } - - // First, we'll need to determine the foreign key and "other key" for the - // relationship. Once we have determined the keys we'll make the query - // instances as well as the relationship instances we need for this. - $instance = $this->newRelatedInstance($related); - - $foreignPivotKey = $foreignPivotKey ?: $this->getForeignKey(); - - $relatedPivotKey = $relatedPivotKey ?: $instance->getForeignKey(); - - // If no table name was provided, we can guess it by concatenating the two - // models using underscores in alphabetical order. The two model names - // are transformed to snake case from their default CamelCase also. - if (is_null($table)) { - $table = $this->joiningTable($related, $instance); - } - - return $this->newBelongsToMany( - $instance->newQuery(), $this, $table, $foreignPivotKey, - $relatedPivotKey, $parentKey ?: $this->getKeyName(), - $relatedKey ?: $instance->getKeyName(), $relation - ); - } - - /** - * Instantiate a new BelongsToMany relationship. - * - * @param \Illuminate\Database\Eloquent\Builder $query - * @param \Illuminate\Database\Eloquent\Model $parent - * @param string $table - * @param string $foreignPivotKey - * @param string $relatedPivotKey - * @param string $parentKey - * @param string $relatedKey - * @param string $relationName - * @return \Illuminate\Database\Eloquent\Relations\BelongsToMany - */ - protected function newBelongsToMany(Builder $query, Model $parent, $table, $foreignPivotKey, $relatedPivotKey, - $parentKey, $relatedKey, $relationName = null) - { - return new BelongsToMany($query, $parent, $table, $foreignPivotKey, $relatedPivotKey, $parentKey, $relatedKey, $relationName); - } - - /** - * Define a polymorphic many-to-many relationship. - * - * @param string $related - * @param string $name - * @param string $table - * @param string $foreignPivotKey - * @param string $relatedPivotKey - * @param string $parentKey - * @param string $relatedKey - * @param bool $inverse - * @return \Illuminate\Database\Eloquent\Relations\MorphToMany - */ - public function morphToMany($related, $name, $table = null, $foreignPivotKey = null, - $relatedPivotKey = null, $parentKey = null, - $relatedKey = null, $inverse = false) - { - $caller = $this->guessBelongsToManyRelation(); - - // First, we will need to determine the foreign key and "other key" for the - // relationship. Once we have determined the keys we will make the query - // instances, as well as the relationship instances we need for these. - $instance = $this->newRelatedInstance($related); - - $foreignPivotKey = $foreignPivotKey ?: $name.'_id'; - - $relatedPivotKey = $relatedPivotKey ?: $instance->getForeignKey(); - - // Now we're ready to create a new query builder for this related model and - // the relationship instances for this relation. This relations will set - // appropriate query constraints then entirely manages the hydrations. - if (! $table) { - $words = preg_split('/(_)/u', $name, -1, PREG_SPLIT_DELIM_CAPTURE); - - $lastWord = array_pop($words); - - $table = implode('', $words).Str::plural($lastWord); - } - - return $this->newMorphToMany( - $instance->newQuery(), $this, $name, $table, - $foreignPivotKey, $relatedPivotKey, $parentKey ?: $this->getKeyName(), - $relatedKey ?: $instance->getKeyName(), $caller, $inverse - ); - } - - /** - * Instantiate a new MorphToMany relationship. - * - * @param \Illuminate\Database\Eloquent\Builder $query - * @param \Illuminate\Database\Eloquent\Model $parent - * @param string $name - * @param string $table - * @param string $foreignPivotKey - * @param string $relatedPivotKey - * @param string $parentKey - * @param string $relatedKey - * @param string $relationName - * @param bool $inverse - * @return \Illuminate\Database\Eloquent\Relations\MorphToMany - */ - protected function newMorphToMany(Builder $query, Model $parent, $name, $table, $foreignPivotKey, - $relatedPivotKey, $parentKey, $relatedKey, - $relationName = null, $inverse = false) - { - return new MorphToMany($query, $parent, $name, $table, $foreignPivotKey, $relatedPivotKey, $parentKey, $relatedKey, - $relationName, $inverse); - } - - /** - * Define a polymorphic, inverse many-to-many relationship. - * - * @param string $related - * @param string $name - * @param string $table - * @param string $foreignPivotKey - * @param string $relatedPivotKey - * @param string $parentKey - * @param string $relatedKey - * @return \Illuminate\Database\Eloquent\Relations\MorphToMany - */ - public function morphedByMany($related, $name, $table = null, $foreignPivotKey = null, - $relatedPivotKey = null, $parentKey = null, $relatedKey = null) - { - $foreignPivotKey = $foreignPivotKey ?: $this->getForeignKey(); - - // For the inverse of the polymorphic many-to-many relations, we will change - // the way we determine the foreign and other keys, as it is the opposite - // of the morph-to-many method since we're figuring out these inverses. - $relatedPivotKey = $relatedPivotKey ?: $name.'_id'; - - return $this->morphToMany( - $related, $name, $table, $foreignPivotKey, - $relatedPivotKey, $parentKey, $relatedKey, true - ); - } - - /** - * Get the relationship name of the belongsToMany relationship. - * - * @return string|null - */ - protected function guessBelongsToManyRelation() - { - $caller = Arr::first(debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS), function ($trace) { - return ! in_array( - $trace['function'], - array_merge(static::$manyMethods, ['guessBelongsToManyRelation']) - ); - }); - - return ! is_null($caller) ? $caller['function'] : null; - } - - /** - * Get the joining table name for a many-to-many relation. - * - * @param string $related - * @param \Illuminate\Database\Eloquent\Model|null $instance - * @return string - */ - public function joiningTable($related, $instance = null) - { - // The joining table name, by convention, is simply the snake cased models - // sorted alphabetically and concatenated with an underscore, so we can - // just sort the models and join them together to get the table name. - $segments = [ - $instance ? $instance->joiningTableSegment() - : Str::snake(class_basename($related)), - $this->joiningTableSegment(), - ]; - - // Now that we have the model names in an array we can just sort them and - // use the implode function to join them together with an underscores, - // which is typically used by convention within the database system. - sort($segments); - - return strtolower(implode('_', $segments)); - } - - /** - * Get this model's half of the intermediate table name for belongsToMany relationships. - * - * @return string - */ - public function joiningTableSegment() - { - return Str::snake(class_basename($this)); - } - - /** - * Determine if the model touches a given relation. - * - * @param string $relation - * @return bool - */ - public function touches($relation) - { - return in_array($relation, $this->touches); - } - - /** - * Touch the owning relations of the model. - * - * @return void - */ - public function touchOwners() - { - foreach ($this->touches as $relation) { - $this->$relation()->touch(); - - if ($this->$relation instanceof self) { - $this->$relation->fireModelEvent('saved', false); - - $this->$relation->touchOwners(); - } elseif ($this->$relation instanceof Collection) { - $this->$relation->each(function (Model $relation) { - $relation->touchOwners(); - }); - } - } - } - - /** - * Get the polymorphic relationship columns. - * - * @param string $name - * @param string $type - * @param string $id - * @return array - */ - protected function getMorphs($name, $type, $id) - { - return [$type ?: $name.'_type', $id ?: $name.'_id']; - } - - /** - * Get the class name for polymorphic relations. - * - * @return string - */ - public function getMorphClass() - { - $morphMap = Relation::morphMap(); - - if (! empty($morphMap) && in_array(static::class, $morphMap)) { - return array_search(static::class, $morphMap, true); - } - - return static::class; - } - - /** - * Create a new model instance for a related model. - * - * @param string $class - * @return mixed - */ - protected function newRelatedInstance($class) - { - return tap(new $class, function ($instance) { - if (! $instance->getConnectionName()) { - $instance->setConnection($this->connection); - } - }); - } - - /** - * Get all the loaded relations for the instance. - * - * @return array - */ - public function getRelations() - { - return $this->relations; - } - - /** - * Get a specified relationship. - * - * @param string $relation - * @return mixed - */ - public function getRelation($relation) - { - return $this->relations[$relation]; - } - - /** - * Determine if the given relation is loaded. - * - * @param string $key - * @return bool - */ - public function relationLoaded($key) - { - return array_key_exists($key, $this->relations); - } - - /** - * Set the given relationship on the model. - * - * @param string $relation - * @param mixed $value - * @return $this - */ - public function setRelation($relation, $value) - { - $this->relations[$relation] = $value; - - return $this; - } - - /** - * Unset a loaded relationship. - * - * @param string $relation - * @return $this - */ - public function unsetRelation($relation) - { - unset($this->relations[$relation]); - - return $this; - } - - /** - * Set the entire relations array on the model. - * - * @param array $relations - * @return $this - */ - public function setRelations(array $relations) - { - $this->relations = $relations; - - return $this; - } - - /** - * Get the relationships that are touched on save. - * - * @return array - */ - public function getTouchedRelations() - { - return $this->touches; - } - - /** - * Set the relationships that are touched on save. - * - * @param array $touches - * @return $this - */ - public function setTouchedRelations(array $touches) - { - $this->touches = $touches; - - return $this; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/HasTimestamps.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/HasTimestamps.php deleted file mode 100644 index 6c44a73..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/HasTimestamps.php +++ /dev/null @@ -1,126 +0,0 @@ -usesTimestamps()) { - return false; - } - - $this->updateTimestamps(); - - return $this->save(); - } - - /** - * Update the creation and update timestamps. - * - * @return void - */ - protected function updateTimestamps() - { - $time = $this->freshTimestamp(); - - if (! is_null(static::UPDATED_AT) && ! $this->isDirty(static::UPDATED_AT)) { - $this->setUpdatedAt($time); - } - - if (! $this->exists && ! is_null(static::CREATED_AT) && - ! $this->isDirty(static::CREATED_AT)) { - $this->setCreatedAt($time); - } - } - - /** - * Set the value of the "created at" attribute. - * - * @param mixed $value - * @return $this - */ - public function setCreatedAt($value) - { - $this->{static::CREATED_AT} = $value; - - return $this; - } - - /** - * Set the value of the "updated at" attribute. - * - * @param mixed $value - * @return $this - */ - public function setUpdatedAt($value) - { - $this->{static::UPDATED_AT} = $value; - - return $this; - } - - /** - * Get a fresh timestamp for the model. - * - * @return \Illuminate\Support\Carbon - */ - public function freshTimestamp() - { - return Date::now(); - } - - /** - * Get a fresh timestamp for the model. - * - * @return string - */ - public function freshTimestampString() - { - return $this->fromDateTime($this->freshTimestamp()); - } - - /** - * Determine if the model uses timestamps. - * - * @return bool - */ - public function usesTimestamps() - { - return $this->timestamps; - } - - /** - * Get the name of the "created at" column. - * - * @return string - */ - public function getCreatedAtColumn() - { - return static::CREATED_AT; - } - - /** - * Get the name of the "updated at" column. - * - * @return string - */ - public function getUpdatedAtColumn() - { - return static::UPDATED_AT; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/HidesAttributes.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/HidesAttributes.php deleted file mode 100644 index 7bd9ef9..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/HidesAttributes.php +++ /dev/null @@ -1,126 +0,0 @@ -hidden; - } - - /** - * Set the hidden attributes for the model. - * - * @param array $hidden - * @return $this - */ - public function setHidden(array $hidden) - { - $this->hidden = $hidden; - - return $this; - } - - /** - * Add hidden attributes for the model. - * - * @param array|string|null $attributes - * @return void - */ - public function addHidden($attributes = null) - { - $this->hidden = array_merge( - $this->hidden, is_array($attributes) ? $attributes : func_get_args() - ); - } - - /** - * Get the visible attributes for the model. - * - * @return array - */ - public function getVisible() - { - return $this->visible; - } - - /** - * Set the visible attributes for the model. - * - * @param array $visible - * @return $this - */ - public function setVisible(array $visible) - { - $this->visible = $visible; - - return $this; - } - - /** - * Add visible attributes for the model. - * - * @param array|string|null $attributes - * @return void - */ - public function addVisible($attributes = null) - { - $this->visible = array_merge( - $this->visible, is_array($attributes) ? $attributes : func_get_args() - ); - } - - /** - * Make the given, typically hidden, attributes visible. - * - * @param array|string $attributes - * @return $this - */ - public function makeVisible($attributes) - { - $this->hidden = array_diff($this->hidden, (array) $attributes); - - if (! empty($this->visible)) { - $this->addVisible($attributes); - } - - return $this; - } - - /** - * Make the given, typically visible, attributes hidden. - * - * @param array|string $attributes - * @return $this - */ - public function makeHidden($attributes) - { - $attributes = (array) $attributes; - - $this->visible = array_diff($this->visible, $attributes); - - $this->hidden = array_unique(array_merge($this->hidden, $attributes)); - - return $this; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/QueriesRelationships.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/QueriesRelationships.php deleted file mode 100644 index c7173a8..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/QueriesRelationships.php +++ /dev/null @@ -1,490 +0,0 @@ -=', $count = 1, $boolean = 'and', Closure $callback = null) - { - if (is_string($relation)) { - if (strpos($relation, '.') !== false) { - return $this->hasNested($relation, $operator, $count, $boolean, $callback); - } - - $relation = $this->getRelationWithoutConstraints($relation); - } - - if ($relation instanceof MorphTo) { - throw new RuntimeException('Please use whereHasMorph() for MorphTo relationships.'); - } - - // If we only need to check for the existence of the relation, then we can optimize - // the subquery to only run a "where exists" clause instead of this full "count" - // clause. This will make these queries run much faster compared with a count. - $method = $this->canUseExistsForExistenceCheck($operator, $count) - ? 'getRelationExistenceQuery' - : 'getRelationExistenceCountQuery'; - - $hasQuery = $relation->{$method}( - $relation->getRelated()->newQueryWithoutRelationships(), $this - ); - - // Next we will call any given callback as an "anonymous" scope so they can get the - // proper logical grouping of the where clauses if needed by this Eloquent query - // builder. Then, we will be ready to finalize and return this query instance. - if ($callback) { - $hasQuery->callScope($callback); - } - - return $this->addHasWhere( - $hasQuery, $relation, $operator, $count, $boolean - ); - } - - /** - * Add nested relationship count / exists conditions to the query. - * - * Sets up recursive call to whereHas until we finish the nested relation. - * - * @param string $relations - * @param string $operator - * @param int $count - * @param string $boolean - * @param \Closure|null $callback - * @return \Illuminate\Database\Eloquent\Builder|static - */ - protected function hasNested($relations, $operator = '>=', $count = 1, $boolean = 'and', $callback = null) - { - $relations = explode('.', $relations); - - $doesntHave = $operator === '<' && $count === 1; - - if ($doesntHave) { - $operator = '>='; - $count = 1; - } - - $closure = function ($q) use (&$closure, &$relations, $operator, $count, $callback) { - // In order to nest "has", we need to add count relation constraints on the - // callback Closure. We'll do this by simply passing the Closure its own - // reference to itself so it calls itself recursively on each segment. - count($relations) > 1 - ? $q->whereHas(array_shift($relations), $closure) - : $q->has(array_shift($relations), $operator, $count, 'and', $callback); - }; - - return $this->has(array_shift($relations), $doesntHave ? '<' : '>=', 1, $boolean, $closure); - } - - /** - * Add a relationship count / exists condition to the query with an "or". - * - * @param string $relation - * @param string $operator - * @param int $count - * @return \Illuminate\Database\Eloquent\Builder|static - */ - public function orHas($relation, $operator = '>=', $count = 1) - { - return $this->has($relation, $operator, $count, 'or'); - } - - /** - * Add a relationship count / exists condition to the query. - * - * @param string $relation - * @param string $boolean - * @param \Closure|null $callback - * @return \Illuminate\Database\Eloquent\Builder|static - */ - public function doesntHave($relation, $boolean = 'and', Closure $callback = null) - { - return $this->has($relation, '<', 1, $boolean, $callback); - } - - /** - * Add a relationship count / exists condition to the query with an "or". - * - * @param string $relation - * @return \Illuminate\Database\Eloquent\Builder|static - */ - public function orDoesntHave($relation) - { - return $this->doesntHave($relation, 'or'); - } - - /** - * Add a relationship count / exists condition to the query with where clauses. - * - * @param string $relation - * @param \Closure|null $callback - * @param string $operator - * @param int $count - * @return \Illuminate\Database\Eloquent\Builder|static - */ - public function whereHas($relation, Closure $callback = null, $operator = '>=', $count = 1) - { - return $this->has($relation, $operator, $count, 'and', $callback); - } - - /** - * Add a relationship count / exists condition to the query with where clauses and an "or". - * - * @param string $relation - * @param \Closure $callback - * @param string $operator - * @param int $count - * @return \Illuminate\Database\Eloquent\Builder|static - */ - public function orWhereHas($relation, Closure $callback = null, $operator = '>=', $count = 1) - { - return $this->has($relation, $operator, $count, 'or', $callback); - } - - /** - * Add a relationship count / exists condition to the query with where clauses. - * - * @param string $relation - * @param \Closure|null $callback - * @return \Illuminate\Database\Eloquent\Builder|static - */ - public function whereDoesntHave($relation, Closure $callback = null) - { - return $this->doesntHave($relation, 'and', $callback); - } - - /** - * Add a relationship count / exists condition to the query with where clauses and an "or". - * - * @param string $relation - * @param \Closure $callback - * @return \Illuminate\Database\Eloquent\Builder|static - */ - public function orWhereDoesntHave($relation, Closure $callback = null) - { - return $this->doesntHave($relation, 'or', $callback); - } - - /** - * Add a polymorphic relationship count / exists condition to the query. - * - * @param string $relation - * @param string|array $types - * @param string $operator - * @param int $count - * @param string $boolean - * @param \Closure|null $callback - * @return \Illuminate\Database\Eloquent\Builder|static - */ - public function hasMorph($relation, $types, $operator = '>=', $count = 1, $boolean = 'and', Closure $callback = null) - { - $relation = $this->getRelationWithoutConstraints($relation); - - $types = (array) $types; - - if ($types === ['*']) { - $types = $this->model->newModelQuery()->distinct()->pluck($relation->getMorphType())->all(); - - foreach ($types as &$type) { - $type = Relation::getMorphedModel($type) ?? $type; - } - } - - return $this->where(function ($query) use ($relation, $callback, $operator, $count, $types) { - foreach ($types as $type) { - $query->orWhere(function ($query) use ($relation, $callback, $operator, $count, $type) { - $belongsTo = $this->getBelongsToRelation($relation, $type); - - if ($callback) { - $callback = function ($query) use ($callback, $type) { - return $callback($query, $type); - }; - } - - $query->where($relation->getMorphType(), '=', (new $type)->getMorphClass()) - ->whereHas($belongsTo, $callback, $operator, $count); - }); - } - }, null, null, $boolean); - } - - /** - * Get the BelongsTo relationship for a single polymorphic type. - * - * @param \Illuminate\Database\Eloquent\Relations\MorphTo $relation - * @param string $type - * @return \Illuminate\Database\Eloquent\Relations\BelongsTo - */ - protected function getBelongsToRelation(MorphTo $relation, $type) - { - $belongsTo = Relation::noConstraints(function () use ($relation, $type) { - return $this->model->belongsTo( - $type, - $relation->getForeignKeyName(), - $relation->getOwnerKeyName() - ); - }); - - $belongsTo->getQuery()->mergeConstraintsFrom($relation->getQuery()); - - return $belongsTo; - } - - /** - * Add a polymorphic relationship count / exists condition to the query with an "or". - * - * @param string $relation - * @param string|array $types - * @param string $operator - * @param int $count - * @return \Illuminate\Database\Eloquent\Builder|static - */ - public function orHasMorph($relation, $types, $operator = '>=', $count = 1) - { - return $this->hasMorph($relation, $types, $operator, $count, 'or'); - } - - /** - * Add a polymorphic relationship count / exists condition to the query. - * - * @param string $relation - * @param string|array $types - * @param string $boolean - * @param \Closure|null $callback - * @return \Illuminate\Database\Eloquent\Builder|static - */ - public function doesntHaveMorph($relation, $types, $boolean = 'and', Closure $callback = null) - { - return $this->hasMorph($relation, $types, '<', 1, $boolean, $callback); - } - - /** - * Add a polymorphic relationship count / exists condition to the query with an "or". - * - * @param string $relation - * @param string|array $types - * @return \Illuminate\Database\Eloquent\Builder|static - */ - public function orDoesntHaveMorph($relation, $types) - { - return $this->doesntHaveMorph($relation, $types, 'or'); - } - - /** - * Add a polymorphic relationship count / exists condition to the query with where clauses. - * - * @param string $relation - * @param string|array $types - * @param \Closure|null $callback - * @param string $operator - * @param int $count - * @return \Illuminate\Database\Eloquent\Builder|static - */ - public function whereHasMorph($relation, $types, Closure $callback = null, $operator = '>=', $count = 1) - { - return $this->hasMorph($relation, $types, $operator, $count, 'and', $callback); - } - - /** - * Add a polymorphic relationship count / exists condition to the query with where clauses and an "or". - * - * @param string $relation - * @param string|array $types - * @param \Closure $callback - * @param string $operator - * @param int $count - * @return \Illuminate\Database\Eloquent\Builder|static - */ - public function orWhereHasMorph($relation, $types, Closure $callback = null, $operator = '>=', $count = 1) - { - return $this->hasMorph($relation, $types, $operator, $count, 'or', $callback); - } - - /** - * Add a polymorphic relationship count / exists condition to the query with where clauses. - * - * @param string $relation - * @param string|array $types - * @param \Closure|null $callback - * @return \Illuminate\Database\Eloquent\Builder|static - */ - public function whereDoesntHaveMorph($relation, $types, Closure $callback = null) - { - return $this->doesntHaveMorph($relation, $types, 'and', $callback); - } - - /** - * Add a polymorphic relationship count / exists condition to the query with where clauses and an "or". - * - * @param string $relation - * @param string|array $types - * @param \Closure $callback - * @return \Illuminate\Database\Eloquent\Builder|static - */ - public function orWhereDoesntHaveMorph($relation, $types, Closure $callback = null) - { - return $this->doesntHaveMorph($relation, $types, 'or', $callback); - } - - /** - * Add subselect queries to count the relations. - * - * @param mixed $relations - * @return $this - */ - public function withCount($relations) - { - if (empty($relations)) { - return $this; - } - - if (is_null($this->query->columns)) { - $this->query->select([$this->query->from.'.*']); - } - - $relations = is_array($relations) ? $relations : func_get_args(); - - foreach ($this->parseWithRelations($relations) as $name => $constraints) { - // First we will determine if the name has been aliased using an "as" clause on the name - // and if it has we will extract the actual relationship name and the desired name of - // the resulting column. This allows multiple counts on the same relationship name. - $segments = explode(' ', $name); - - unset($alias); - - if (count($segments) === 3 && Str::lower($segments[1]) === 'as') { - [$name, $alias] = [$segments[0], $segments[2]]; - } - - $relation = $this->getRelationWithoutConstraints($name); - - // Here we will get the relationship count query and prepare to add it to the main query - // as a sub-select. First, we'll get the "has" query and use that to get the relation - // count query. We will normalize the relation name then append _count as the name. - $query = $relation->getRelationExistenceCountQuery( - $relation->getRelated()->newQuery(), $this - ); - - $query->callScope($constraints); - - $query = $query->mergeConstraintsFrom($relation->getQuery())->toBase(); - - if (count($query->columns) > 1) { - $query->columns = [$query->columns[0]]; - } - - // Finally we will add the proper result column alias to the query and run the subselect - // statement against the query builder. Then we will return the builder instance back - // to the developer for further constraint chaining that needs to take place on it. - $column = $alias ?? Str::snake($name.'_count'); - - $this->selectSub($query, $column); - } - - return $this; - } - - /** - * Add the "has" condition where clause to the query. - * - * @param \Illuminate\Database\Eloquent\Builder $hasQuery - * @param \Illuminate\Database\Eloquent\Relations\Relation $relation - * @param string $operator - * @param int $count - * @param string $boolean - * @return \Illuminate\Database\Eloquent\Builder|static - */ - protected function addHasWhere(Builder $hasQuery, Relation $relation, $operator, $count, $boolean) - { - $hasQuery->mergeConstraintsFrom($relation->getQuery()); - - return $this->canUseExistsForExistenceCheck($operator, $count) - ? $this->addWhereExistsQuery($hasQuery->toBase(), $boolean, $operator === '<' && $count === 1) - : $this->addWhereCountQuery($hasQuery->toBase(), $operator, $count, $boolean); - } - - /** - * Merge the where constraints from another query to the current query. - * - * @param \Illuminate\Database\Eloquent\Builder $from - * @return \Illuminate\Database\Eloquent\Builder|static - */ - public function mergeConstraintsFrom(Builder $from) - { - $whereBindings = $from->getQuery()->getRawBindings()['where'] ?? []; - - // Here we have some other query that we want to merge the where constraints from. We will - // copy over any where constraints on the query as well as remove any global scopes the - // query might have removed. Then we will return ourselves with the finished merging. - return $this->withoutGlobalScopes( - $from->removedScopes() - )->mergeWheres( - $from->getQuery()->wheres, $whereBindings - ); - } - - /** - * Add a sub-query count clause to this query. - * - * @param \Illuminate\Database\Query\Builder $query - * @param string $operator - * @param int $count - * @param string $boolean - * @return $this - */ - protected function addWhereCountQuery(QueryBuilder $query, $operator = '>=', $count = 1, $boolean = 'and') - { - $this->query->addBinding($query->getBindings(), 'where'); - - return $this->where( - new Expression('('.$query->toSql().')'), - $operator, - is_numeric($count) ? new Expression($count) : $count, - $boolean - ); - } - - /** - * Get the "has relation" base query instance. - * - * @param string $relation - * @return \Illuminate\Database\Eloquent\Relations\Relation - */ - protected function getRelationWithoutConstraints($relation) - { - return Relation::noConstraints(function () use ($relation) { - return $this->getModel()->{$relation}(); - }); - } - - /** - * Check if we can run an "exists" query to optimize performance. - * - * @param string $operator - * @param int $count - * @return bool - */ - protected function canUseExistsForExistenceCheck($operator, $count) - { - return ($operator === '>=' || $operator === '<') && $count === 1; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Factory.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Factory.php deleted file mode 100644 index 4ca3d62..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Factory.php +++ /dev/null @@ -1,326 +0,0 @@ -faker = $faker; - } - - /** - * Create a new factory container. - * - * @param \Faker\Generator $faker - * @param string|null $pathToFactories - * @return static - */ - public static function construct(Faker $faker, $pathToFactories = null) - { - $pathToFactories = $pathToFactories ?: database_path('factories'); - - return (new static($faker))->load($pathToFactories); - } - - /** - * Define a class with a given short-name. - * - * @param string $class - * @param string $name - * @param callable $attributes - * @return $this - */ - public function defineAs($class, $name, callable $attributes) - { - return $this->define($class, $attributes, $name); - } - - /** - * Define a class with a given set of attributes. - * - * @param string $class - * @param callable $attributes - * @param string $name - * @return $this - */ - public function define($class, callable $attributes, $name = 'default') - { - $this->definitions[$class][$name] = $attributes; - - return $this; - } - - /** - * Define a state with a given set of attributes. - * - * @param string $class - * @param string $state - * @param callable|array $attributes - * @return $this - */ - public function state($class, $state, $attributes) - { - $this->states[$class][$state] = $attributes; - - return $this; - } - - /** - * Define a callback to run after making a model. - * - * @param string $class - * @param callable $callback - * @param string $name - * @return $this - */ - public function afterMaking($class, callable $callback, $name = 'default') - { - $this->afterMaking[$class][$name][] = $callback; - - return $this; - } - - /** - * Define a callback to run after making a model with given state. - * - * @param string $class - * @param string $state - * @param callable $callback - * @return $this - */ - public function afterMakingState($class, $state, callable $callback) - { - return $this->afterMaking($class, $callback, $state); - } - - /** - * Define a callback to run after creating a model. - * - * @param string $class - * @param callable $callback - * @param string $name - * @return $this - */ - public function afterCreating($class, callable $callback, $name = 'default') - { - $this->afterCreating[$class][$name][] = $callback; - - return $this; - } - - /** - * Define a callback to run after creating a model with given state. - * - * @param string $class - * @param string $state - * @param callable $callback - * @return $this - */ - public function afterCreatingState($class, $state, callable $callback) - { - return $this->afterCreating($class, $callback, $state); - } - - /** - * Create an instance of the given model and persist it to the database. - * - * @param string $class - * @param array $attributes - * @return mixed - */ - public function create($class, array $attributes = []) - { - return $this->of($class)->create($attributes); - } - - /** - * Create an instance of the given model and type and persist it to the database. - * - * @param string $class - * @param string $name - * @param array $attributes - * @return mixed - */ - public function createAs($class, $name, array $attributes = []) - { - return $this->of($class, $name)->create($attributes); - } - - /** - * Create an instance of the given model. - * - * @param string $class - * @param array $attributes - * @return mixed - */ - public function make($class, array $attributes = []) - { - return $this->of($class)->make($attributes); - } - - /** - * Create an instance of the given model and type. - * - * @param string $class - * @param string $name - * @param array $attributes - * @return mixed - */ - public function makeAs($class, $name, array $attributes = []) - { - return $this->of($class, $name)->make($attributes); - } - - /** - * Get the raw attribute array for a given named model. - * - * @param string $class - * @param string $name - * @param array $attributes - * @return array - */ - public function rawOf($class, $name, array $attributes = []) - { - return $this->raw($class, $attributes, $name); - } - - /** - * Get the raw attribute array for a given model. - * - * @param string $class - * @param array $attributes - * @param string $name - * @return array - */ - public function raw($class, array $attributes = [], $name = 'default') - { - return array_merge( - call_user_func($this->definitions[$class][$name], $this->faker), $attributes - ); - } - - /** - * Create a builder for the given model. - * - * @param string $class - * @param string $name - * @return \Illuminate\Database\Eloquent\FactoryBuilder - */ - public function of($class, $name = 'default') - { - return new FactoryBuilder( - $class, $name, $this->definitions, $this->states, - $this->afterMaking, $this->afterCreating, $this->faker - ); - } - - /** - * Load factories from path. - * - * @param string $path - * @return $this - */ - public function load($path) - { - $factory = $this; - - if (is_dir($path)) { - foreach (Finder::create()->files()->name('*.php')->in($path) as $file) { - require $file->getRealPath(); - } - } - - return $factory; - } - - /** - * Determine if the given offset exists. - * - * @param string $offset - * @return bool - */ - public function offsetExists($offset) - { - return isset($this->definitions[$offset]); - } - - /** - * Get the value of the given offset. - * - * @param string $offset - * @return mixed - */ - public function offsetGet($offset) - { - return $this->make($offset); - } - - /** - * Set the given offset to the given value. - * - * @param string $offset - * @param callable $value - * @return void - */ - public function offsetSet($offset, $value) - { - $this->define($offset, $value); - } - - /** - * Unset the value at the given offset. - * - * @param string $offset - * @return void - */ - public function offsetUnset($offset) - { - unset($this->definitions[$offset]); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/FactoryBuilder.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/FactoryBuilder.php deleted file mode 100644 index 87bb0d8..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/FactoryBuilder.php +++ /dev/null @@ -1,448 +0,0 @@ -name = $name; - $this->class = $class; - $this->faker = $faker; - $this->states = $states; - $this->definitions = $definitions; - $this->afterMaking = $afterMaking; - $this->afterCreating = $afterCreating; - } - - /** - * Set the amount of models you wish to create / make. - * - * @param int $amount - * @return $this - */ - public function times($amount) - { - $this->amount = $amount; - - return $this; - } - - /** - * Set the state to be applied to the model. - * - * @param string $state - * @return $this - */ - public function state($state) - { - return $this->states([$state]); - } - - /** - * Set the states to be applied to the model. - * - * @param array|mixed $states - * @return $this - */ - public function states($states) - { - $this->activeStates = is_array($states) ? $states : func_get_args(); - - return $this; - } - - /** - * Set the database connection on which the model instance should be persisted. - * - * @param string $name - * @return $this - */ - public function connection($name) - { - $this->connection = $name; - - return $this; - } - - /** - * Create a model and persist it in the database if requested. - * - * @param array $attributes - * @return \Closure - */ - public function lazy(array $attributes = []) - { - return function () use ($attributes) { - return $this->create($attributes); - }; - } - - /** - * Create a collection of models and persist them to the database. - * - * @param array $attributes - * @return mixed - */ - public function create(array $attributes = []) - { - $results = $this->make($attributes); - - if ($results instanceof Model) { - $this->store(collect([$results])); - - $this->callAfterCreating(collect([$results])); - } else { - $this->store($results); - - $this->callAfterCreating($results); - } - - return $results; - } - - /** - * Set the connection name on the results and store them. - * - * @param \Illuminate\Support\Collection $results - * @return void - */ - protected function store($results) - { - $results->each(function ($model) { - if (! isset($this->connection)) { - $model->setConnection($model->newQueryWithoutScopes()->getConnection()->getName()); - } - - $model->save(); - }); - } - - /** - * Create a collection of models. - * - * @param array $attributes - * @return mixed - */ - public function make(array $attributes = []) - { - if ($this->amount === null) { - return tap($this->makeInstance($attributes), function ($instance) { - $this->callAfterMaking(collect([$instance])); - }); - } - - if ($this->amount < 1) { - return (new $this->class)->newCollection(); - } - - $instances = (new $this->class)->newCollection(array_map(function () use ($attributes) { - return $this->makeInstance($attributes); - }, range(1, $this->amount))); - - $this->callAfterMaking($instances); - - return $instances; - } - - /** - * Create an array of raw attribute arrays. - * - * @param array $attributes - * @return mixed - */ - public function raw(array $attributes = []) - { - if ($this->amount === null) { - return $this->getRawAttributes($attributes); - } - - if ($this->amount < 1) { - return []; - } - - return array_map(function () use ($attributes) { - return $this->getRawAttributes($attributes); - }, range(1, $this->amount)); - } - - /** - * Get a raw attributes array for the model. - * - * @param array $attributes - * @return mixed - * - * @throws \InvalidArgumentException - */ - protected function getRawAttributes(array $attributes = []) - { - if (! isset($this->definitions[$this->class][$this->name])) { - throw new InvalidArgumentException("Unable to locate factory with name [{$this->name}] [{$this->class}]."); - } - - $definition = call_user_func( - $this->definitions[$this->class][$this->name], - $this->faker, $attributes - ); - - return $this->expandAttributes( - array_merge($this->applyStates($definition, $attributes), $attributes) - ); - } - - /** - * Make an instance of the model with the given attributes. - * - * @param array $attributes - * @return \Illuminate\Database\Eloquent\Model - */ - protected function makeInstance(array $attributes = []) - { - return Model::unguarded(function () use ($attributes) { - $instance = new $this->class( - $this->getRawAttributes($attributes) - ); - - if (isset($this->connection)) { - $instance->setConnection($this->connection); - } - - return $instance; - }); - } - - /** - * Apply the active states to the model definition array. - * - * @param array $definition - * @param array $attributes - * @return array - * - * @throws \InvalidArgumentException - */ - protected function applyStates(array $definition, array $attributes = []) - { - foreach ($this->activeStates as $state) { - if (! isset($this->states[$this->class][$state])) { - if ($this->stateHasAfterCallback($state)) { - continue; - } - - throw new InvalidArgumentException("Unable to locate [{$state}] state for [{$this->class}]."); - } - - $definition = array_merge( - $definition, - $this->stateAttributes($state, $attributes) - ); - } - - return $definition; - } - - /** - * Get the state attributes. - * - * @param string $state - * @param array $attributes - * @return array - */ - protected function stateAttributes($state, array $attributes) - { - $stateAttributes = $this->states[$this->class][$state]; - - if (! is_callable($stateAttributes)) { - return $stateAttributes; - } - - return call_user_func( - $stateAttributes, - $this->faker, $attributes - ); - } - - /** - * Expand all attributes to their underlying values. - * - * @param array $attributes - * @return array - */ - protected function expandAttributes(array $attributes) - { - foreach ($attributes as &$attribute) { - if (is_callable($attribute) && ! is_string($attribute) && ! is_array($attribute)) { - $attribute = $attribute($attributes); - } - - if ($attribute instanceof static) { - $attribute = $attribute->create()->getKey(); - } - - if ($attribute instanceof Model) { - $attribute = $attribute->getKey(); - } - } - - return $attributes; - } - - /** - * Run after making callbacks on a collection of models. - * - * @param \Illuminate\Support\Collection $models - * @return void - */ - public function callAfterMaking($models) - { - $this->callAfter($this->afterMaking, $models); - } - - /** - * Run after creating callbacks on a collection of models. - * - * @param \Illuminate\Support\Collection $models - * @return void - */ - public function callAfterCreating($models) - { - $this->callAfter($this->afterCreating, $models); - } - - /** - * Call after callbacks for each model and state. - * - * @param array $afterCallbacks - * @param \Illuminate\Support\Collection $models - * @return void - */ - protected function callAfter(array $afterCallbacks, $models) - { - $states = array_merge([$this->name], $this->activeStates); - - $models->each(function ($model) use ($states, $afterCallbacks) { - foreach ($states as $state) { - $this->callAfterCallbacks($afterCallbacks, $model, $state); - } - }); - } - - /** - * Call after callbacks for each model and state. - * - * @param array $afterCallbacks - * @param \Illuminate\Database\Eloquent\Model $model - * @param string $state - * @return void - */ - protected function callAfterCallbacks(array $afterCallbacks, $model, $state) - { - if (! isset($afterCallbacks[$this->class][$state])) { - return; - } - - foreach ($afterCallbacks[$this->class][$state] as $callback) { - $callback($model, $this->faker); - } - } - - /** - * Determine if the given state has an "after" callback. - * - * @param string $state - * @return bool - */ - protected function stateHasAfterCallback($state) - { - return isset($this->afterMaking[$this->class][$state]) || - isset($this->afterCreating[$this->class][$state]); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/HigherOrderBuilderProxy.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/HigherOrderBuilderProxy.php deleted file mode 100644 index 179d4a3..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/HigherOrderBuilderProxy.php +++ /dev/null @@ -1,49 +0,0 @@ -method = $method; - $this->builder = $builder; - } - - /** - * Proxy a scope call onto the query builder. - * - * @param string $method - * @param array $parameters - * @return mixed - */ - public function __call($method, $parameters) - { - return $this->builder->{$this->method}(function ($value) use ($method, $parameters) { - return $value->{$method}(...$parameters); - }); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/JsonEncodingException.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/JsonEncodingException.php deleted file mode 100644 index 5878b0f..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/JsonEncodingException.php +++ /dev/null @@ -1,35 +0,0 @@ -getKey().'] to JSON: '.$message); - } - - /** - * Create a new JSON encoding exception for an attribute. - * - * @param mixed $model - * @param mixed $key - * @param string $message - * @return static - */ - public static function forAttribute($model, $key, $message) - { - $class = get_class($model); - - return new static("Unable to encode attribute [{$key}] for model [{$class}] to JSON: {$message}."); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/MassAssignmentException.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/MassAssignmentException.php deleted file mode 100644 index 7c81aae..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/MassAssignmentException.php +++ /dev/null @@ -1,10 +0,0 @@ -bootIfNotBooted(); - - $this->initializeTraits(); - - $this->syncOriginal(); - - $this->fill($attributes); - } - - /** - * Check if the model needs to be booted and if so, do it. - * - * @return void - */ - protected function bootIfNotBooted() - { - if (! isset(static::$booted[static::class])) { - static::$booted[static::class] = true; - - $this->fireModelEvent('booting', false); - - static::boot(); - - $this->fireModelEvent('booted', false); - } - } - - /** - * The "booting" method of the model. - * - * @return void - */ - protected static function boot() - { - static::bootTraits(); - } - - /** - * Boot all of the bootable traits on the model. - * - * @return void - */ - protected static function bootTraits() - { - $class = static::class; - - $booted = []; - - static::$traitInitializers[$class] = []; - - foreach (class_uses_recursive($class) as $trait) { - $method = 'boot'.class_basename($trait); - - if (method_exists($class, $method) && ! in_array($method, $booted)) { - forward_static_call([$class, $method]); - - $booted[] = $method; - } - - if (method_exists($class, $method = 'initialize'.class_basename($trait))) { - static::$traitInitializers[$class][] = $method; - - static::$traitInitializers[$class] = array_unique( - static::$traitInitializers[$class] - ); - } - } - } - - /** - * Initialize any initializable traits on the model. - * - * @return void - */ - protected function initializeTraits() - { - foreach (static::$traitInitializers[static::class] as $method) { - $this->{$method}(); - } - } - - /** - * Clear the list of booted models so they will be re-booted. - * - * @return void - */ - public static function clearBootedModels() - { - static::$booted = []; - - static::$globalScopes = []; - } - - /** - * Disables relationship model touching for the current class during given callback scope. - * - * @param callable $callback - * @return void - */ - public static function withoutTouching(callable $callback) - { - static::withoutTouchingOn([static::class], $callback); - } - - /** - * Disables relationship model touching for the given model classes during given callback scope. - * - * @param array $models - * @param callable $callback - * @return void - */ - public static function withoutTouchingOn(array $models, callable $callback) - { - static::$ignoreOnTouch = array_values(array_merge(static::$ignoreOnTouch, $models)); - - try { - call_user_func($callback); - } finally { - static::$ignoreOnTouch = array_values(array_diff(static::$ignoreOnTouch, $models)); - } - } - - /** - * Determine if the given model is ignoring touches. - * - * @param string|null $class - * @return bool - */ - public static function isIgnoringTouch($class = null) - { - $class = $class ?: static::class; - - if (! get_class_vars($class)['timestamps'] || ! $class::UPDATED_AT) { - return true; - } - - foreach (static::$ignoreOnTouch as $ignoredClass) { - if ($class === $ignoredClass || is_subclass_of($class, $ignoredClass)) { - return true; - } - } - - return false; - } - - /** - * Fill the model with an array of attributes. - * - * @param array $attributes - * @return $this - * - * @throws \Illuminate\Database\Eloquent\MassAssignmentException - */ - public function fill(array $attributes) - { - $totallyGuarded = $this->totallyGuarded(); - - foreach ($this->fillableFromArray($attributes) as $key => $value) { - $key = $this->removeTableFromKey($key); - - // The developers may choose to place some attributes in the "fillable" array - // which means only those attributes may be set through mass assignment to - // the model, and all others will just get ignored for security reasons. - if ($this->isFillable($key)) { - $this->setAttribute($key, $value); - } elseif ($totallyGuarded) { - throw new MassAssignmentException(sprintf( - 'Add [%s] to fillable property to allow mass assignment on [%s].', - $key, get_class($this) - )); - } - } - - return $this; - } - - /** - * Fill the model with an array of attributes. Force mass assignment. - * - * @param array $attributes - * @return $this - */ - public function forceFill(array $attributes) - { - return static::unguarded(function () use ($attributes) { - return $this->fill($attributes); - }); - } - - /** - * Qualify the given column name by the model's table. - * - * @param string $column - * @return string - */ - public function qualifyColumn($column) - { - if (Str::contains($column, '.')) { - return $column; - } - - return $this->getTable().'.'.$column; - } - - /** - * Remove the table name from a given key. - * - * @param string $key - * @return string - */ - protected function removeTableFromKey($key) - { - return Str::contains($key, '.') ? last(explode('.', $key)) : $key; - } - - /** - * Create a new instance of the given model. - * - * @param array $attributes - * @param bool $exists - * @return static - */ - public function newInstance($attributes = [], $exists = false) - { - // This method just provides a convenient way for us to generate fresh model - // instances of this current model. It is particularly useful during the - // hydration of new objects via the Eloquent query builder instances. - $model = new static((array) $attributes); - - $model->exists = $exists; - - $model->setConnection( - $this->getConnectionName() - ); - - $model->setTable($this->getTable()); - - return $model; - } - - /** - * Create a new model instance that is existing. - * - * @param array $attributes - * @param string|null $connection - * @return static - */ - public function newFromBuilder($attributes = [], $connection = null) - { - $model = $this->newInstance([], true); - - $model->setRawAttributes((array) $attributes, true); - - $model->setConnection($connection ?: $this->getConnectionName()); - - $model->fireModelEvent('retrieved', false); - - return $model; - } - - /** - * Begin querying the model on a given connection. - * - * @param string|null $connection - * @return \Illuminate\Database\Eloquent\Builder - */ - public static function on($connection = null) - { - // First we will just create a fresh instance of this model, and then we can set the - // connection on the model so that it is used for the queries we execute, as well - // as being set on every relation we retrieve without a custom connection name. - $instance = new static; - - $instance->setConnection($connection); - - return $instance->newQuery(); - } - - /** - * Begin querying the model on the write connection. - * - * @return \Illuminate\Database\Query\Builder - */ - public static function onWriteConnection() - { - return static::query()->useWritePdo(); - } - - /** - * Get all of the models from the database. - * - * @param array|mixed $columns - * @return \Illuminate\Database\Eloquent\Collection|static[] - */ - public static function all($columns = ['*']) - { - return static::query()->get( - is_array($columns) ? $columns : func_get_args() - ); - } - - /** - * Begin querying a model with eager loading. - * - * @param array|string $relations - * @return \Illuminate\Database\Eloquent\Builder|static - */ - public static function with($relations) - { - return static::query()->with( - is_string($relations) ? func_get_args() : $relations - ); - } - - /** - * Eager load relations on the model. - * - * @param array|string $relations - * @return $this - */ - public function load($relations) - { - $query = $this->newQueryWithoutRelationships()->with( - is_string($relations) ? func_get_args() : $relations - ); - - $query->eagerLoadRelations([$this]); - - return $this; - } - - /** - * Eager load relations on the model if they are not already eager loaded. - * - * @param array|string $relations - * @return $this - */ - public function loadMissing($relations) - { - $relations = is_string($relations) ? func_get_args() : $relations; - - $this->newCollection([$this])->loadMissing($relations); - - return $this; - } - - /** - * Eager load relation counts on the model. - * - * @param array|string $relations - * @return $this - */ - public function loadCount($relations) - { - $relations = is_string($relations) ? func_get_args() : $relations; - - $this->newCollection([$this])->loadCount($relations); - - return $this; - } - - /** - * Increment a column's value by a given amount. - * - * @param string $column - * @param float|int $amount - * @param array $extra - * @return int - */ - protected function increment($column, $amount = 1, array $extra = []) - { - return $this->incrementOrDecrement($column, $amount, $extra, 'increment'); - } - - /** - * Decrement a column's value by a given amount. - * - * @param string $column - * @param float|int $amount - * @param array $extra - * @return int - */ - protected function decrement($column, $amount = 1, array $extra = []) - { - return $this->incrementOrDecrement($column, $amount, $extra, 'decrement'); - } - - /** - * Run the increment or decrement method on the model. - * - * @param string $column - * @param float|int $amount - * @param array $extra - * @param string $method - * @return int - */ - protected function incrementOrDecrement($column, $amount, $extra, $method) - { - $query = $this->newQueryWithoutRelationships(); - - if (! $this->exists) { - return $query->{$method}($column, $amount, $extra); - } - - $this->incrementOrDecrementAttributeValue($column, $amount, $extra, $method); - - return $query->where( - $this->getKeyName(), $this->getKey() - )->{$method}($column, $amount, $extra); - } - - /** - * Increment the underlying attribute value and sync with original. - * - * @param string $column - * @param float|int $amount - * @param array $extra - * @param string $method - * @return void - */ - protected function incrementOrDecrementAttributeValue($column, $amount, $extra, $method) - { - $this->{$column} = $this->{$column} + ($method === 'increment' ? $amount : $amount * -1); - - $this->forceFill($extra); - - $this->syncOriginalAttribute($column); - } - - /** - * Update the model in the database. - * - * @param array $attributes - * @param array $options - * @return bool - */ - public function update(array $attributes = [], array $options = []) - { - if (! $this->exists) { - return false; - } - - return $this->fill($attributes)->save($options); - } - - /** - * Save the model and all of its relationships. - * - * @return bool - */ - public function push() - { - if (! $this->save()) { - return false; - } - - // To sync all of the relationships to the database, we will simply spin through - // the relationships and save each model via this "push" method, which allows - // us to recurse into all of these nested relations for the model instance. - foreach ($this->relations as $models) { - $models = $models instanceof Collection - ? $models->all() : [$models]; - - foreach (array_filter($models) as $model) { - if (! $model->push()) { - return false; - } - } - } - - return true; - } - - /** - * Save the model to the database. - * - * @param array $options - * @return bool - */ - public function save(array $options = []) - { - $query = $this->newModelQuery(); - - // If the "saving" event returns false we'll bail out of the save and return - // false, indicating that the save failed. This provides a chance for any - // listeners to cancel save operations if validations fail or whatever. - if ($this->fireModelEvent('saving') === false) { - return false; - } - - // If the model already exists in the database we can just update our record - // that is already in this database using the current IDs in this "where" - // clause to only update this model. Otherwise, we'll just insert them. - if ($this->exists) { - $saved = $this->isDirty() ? - $this->performUpdate($query) : true; - } - - // If the model is brand new, we'll insert it into our database and set the - // ID attribute on the model to the value of the newly inserted row's ID - // which is typically an auto-increment value managed by the database. - else { - $saved = $this->performInsert($query); - - if (! $this->getConnectionName() && - $connection = $query->getConnection()) { - $this->setConnection($connection->getName()); - } - } - - // If the model is successfully saved, we need to do a few more things once - // that is done. We will call the "saved" method here to run any actions - // we need to happen after a model gets successfully saved right here. - if ($saved) { - $this->finishSave($options); - } - - return $saved; - } - - /** - * Save the model to the database using transaction. - * - * @param array $options - * @return bool - * - * @throws \Throwable - */ - public function saveOrFail(array $options = []) - { - return $this->getConnection()->transaction(function () use ($options) { - return $this->save($options); - }); - } - - /** - * Perform any actions that are necessary after the model is saved. - * - * @param array $options - * @return void - */ - protected function finishSave(array $options) - { - $this->fireModelEvent('saved', false); - - if ($this->isDirty() && ($options['touch'] ?? true)) { - $this->touchOwners(); - } - - $this->syncOriginal(); - } - - /** - * Perform a model update operation. - * - * @param \Illuminate\Database\Eloquent\Builder $query - * @return bool - */ - protected function performUpdate(Builder $query) - { - // If the updating event returns false, we will cancel the update operation so - // developers can hook Validation systems into their models and cancel this - // operation if the model does not pass validation. Otherwise, we update. - if ($this->fireModelEvent('updating') === false) { - return false; - } - - // First we need to create a fresh query instance and touch the creation and - // update timestamp on the model which are maintained by us for developer - // convenience. Then we will just continue saving the model instances. - if ($this->usesTimestamps()) { - $this->updateTimestamps(); - } - - // Once we have run the update operation, we will fire the "updated" event for - // this model instance. This will allow developers to hook into these after - // models are updated, giving them a chance to do any special processing. - $dirty = $this->getDirty(); - - if (count($dirty) > 0) { - $this->setKeysForSaveQuery($query)->update($dirty); - - $this->syncChanges(); - - $this->fireModelEvent('updated', false); - } - - return true; - } - - /** - * Set the keys for a save update query. - * - * @param \Illuminate\Database\Eloquent\Builder $query - * @return \Illuminate\Database\Eloquent\Builder - */ - protected function setKeysForSaveQuery(Builder $query) - { - $query->where($this->getKeyName(), '=', $this->getKeyForSaveQuery()); - - return $query; - } - - /** - * Get the primary key value for a save query. - * - * @return mixed - */ - protected function getKeyForSaveQuery() - { - return $this->original[$this->getKeyName()] - ?? $this->getKey(); - } - - /** - * Perform a model insert operation. - * - * @param \Illuminate\Database\Eloquent\Builder $query - * @return bool - */ - protected function performInsert(Builder $query) - { - if ($this->fireModelEvent('creating') === false) { - return false; - } - - // First we'll need to create a fresh query instance and touch the creation and - // update timestamps on this model, which are maintained by us for developer - // convenience. After, we will just continue saving these model instances. - if ($this->usesTimestamps()) { - $this->updateTimestamps(); - } - - // If the model has an incrementing key, we can use the "insertGetId" method on - // the query builder, which will give us back the final inserted ID for this - // table from the database. Not all tables have to be incrementing though. - $attributes = $this->getAttributes(); - - if ($this->getIncrementing()) { - $this->insertAndSetId($query, $attributes); - } - - // If the table isn't incrementing we'll simply insert these attributes as they - // are. These attribute arrays must contain an "id" column previously placed - // there by the developer as the manually determined key for these models. - else { - if (empty($attributes)) { - return true; - } - - $query->insert($attributes); - } - - // We will go ahead and set the exists property to true, so that it is set when - // the created event is fired, just in case the developer tries to update it - // during the event. This will allow them to do so and run an update here. - $this->exists = true; - - $this->wasRecentlyCreated = true; - - $this->fireModelEvent('created', false); - - return true; - } - - /** - * Insert the given attributes and set the ID on the model. - * - * @param \Illuminate\Database\Eloquent\Builder $query - * @param array $attributes - * @return void - */ - protected function insertAndSetId(Builder $query, $attributes) - { - $id = $query->insertGetId($attributes, $keyName = $this->getKeyName()); - - $this->setAttribute($keyName, $id); - } - - /** - * Destroy the models for the given IDs. - * - * @param \Illuminate\Support\Collection|array|int $ids - * @return int - */ - public static function destroy($ids) - { - // We'll initialize a count here so we will return the total number of deletes - // for the operation. The developers can then check this number as a boolean - // type value or get this total count of records deleted for logging, etc. - $count = 0; - - if ($ids instanceof BaseCollection) { - $ids = $ids->all(); - } - - $ids = is_array($ids) ? $ids : func_get_args(); - - // We will actually pull the models from the database table and call delete on - // each of them individually so that their events get fired properly with a - // correct set of attributes in case the developers wants to check these. - $key = ($instance = new static)->getKeyName(); - - foreach ($instance->whereIn($key, $ids)->get() as $model) { - if ($model->delete()) { - $count++; - } - } - - return $count; - } - - /** - * Delete the model from the database. - * - * @return bool|null - * - * @throws \Exception - */ - public function delete() - { - if (is_null($this->getKeyName())) { - throw new Exception('No primary key defined on model.'); - } - - // If the model doesn't exist, there is nothing to delete so we'll just return - // immediately and not do anything else. Otherwise, we will continue with a - // deletion process on the model, firing the proper events, and so forth. - if (! $this->exists) { - return; - } - - if ($this->fireModelEvent('deleting') === false) { - return false; - } - - // Here, we'll touch the owning models, verifying these timestamps get updated - // for the models. This will allow any caching to get broken on the parents - // by the timestamp. Then we will go ahead and delete the model instance. - $this->touchOwners(); - - $this->performDeleteOnModel(); - - // Once the model has been deleted, we will fire off the deleted event so that - // the developers may hook into post-delete operations. We will then return - // a boolean true as the delete is presumably successful on the database. - $this->fireModelEvent('deleted', false); - - return true; - } - - /** - * Force a hard delete on a soft deleted model. - * - * This method protects developers from running forceDelete when trait is missing. - * - * @return bool|null - */ - public function forceDelete() - { - return $this->delete(); - } - - /** - * Perform the actual delete query on this model instance. - * - * @return void - */ - protected function performDeleteOnModel() - { - $this->setKeysForSaveQuery($this->newModelQuery())->delete(); - - $this->exists = false; - } - - /** - * Begin querying the model. - * - * @return \Illuminate\Database\Eloquent\Builder - */ - public static function query() - { - return (new static)->newQuery(); - } - - /** - * Get a new query builder for the model's table. - * - * @return \Illuminate\Database\Eloquent\Builder - */ - public function newQuery() - { - return $this->registerGlobalScopes($this->newQueryWithoutScopes()); - } - - /** - * Get a new query builder that doesn't have any global scopes or eager loading. - * - * @return \Illuminate\Database\Eloquent\Builder|static - */ - public function newModelQuery() - { - return $this->newEloquentBuilder( - $this->newBaseQueryBuilder() - )->setModel($this); - } - - /** - * Get a new query builder with no relationships loaded. - * - * @return \Illuminate\Database\Eloquent\Builder - */ - public function newQueryWithoutRelationships() - { - return $this->registerGlobalScopes($this->newModelQuery()); - } - - /** - * Register the global scopes for this builder instance. - * - * @param \Illuminate\Database\Eloquent\Builder $builder - * @return \Illuminate\Database\Eloquent\Builder - */ - public function registerGlobalScopes($builder) - { - foreach ($this->getGlobalScopes() as $identifier => $scope) { - $builder->withGlobalScope($identifier, $scope); - } - - return $builder; - } - - /** - * Get a new query builder that doesn't have any global scopes. - * - * @return \Illuminate\Database\Eloquent\Builder|static - */ - public function newQueryWithoutScopes() - { - return $this->newModelQuery() - ->with($this->with) - ->withCount($this->withCount); - } - - /** - * Get a new query instance without a given scope. - * - * @param \Illuminate\Database\Eloquent\Scope|string $scope - * @return \Illuminate\Database\Eloquent\Builder - */ - public function newQueryWithoutScope($scope) - { - return $this->newQuery()->withoutGlobalScope($scope); - } - - /** - * Get a new query to restore one or more models by their queueable IDs. - * - * @param array|int $ids - * @return \Illuminate\Database\Eloquent\Builder - */ - public function newQueryForRestoration($ids) - { - return is_array($ids) - ? $this->newQueryWithoutScopes()->whereIn($this->getQualifiedKeyName(), $ids) - : $this->newQueryWithoutScopes()->whereKey($ids); - } - - /** - * Create a new Eloquent query builder for the model. - * - * @param \Illuminate\Database\Query\Builder $query - * @return \Illuminate\Database\Eloquent\Builder|static - */ - public function newEloquentBuilder($query) - { - return new Builder($query); - } - - /** - * Get a new query builder instance for the connection. - * - * @return \Illuminate\Database\Query\Builder - */ - protected function newBaseQueryBuilder() - { - return $this->getConnection()->query(); - } - - /** - * Create a new Eloquent Collection instance. - * - * @param array $models - * @return \Illuminate\Database\Eloquent\Collection - */ - public function newCollection(array $models = []) - { - return new Collection($models); - } - - /** - * Create a new pivot model instance. - * - * @param \Illuminate\Database\Eloquent\Model $parent - * @param array $attributes - * @param string $table - * @param bool $exists - * @param string|null $using - * @return \Illuminate\Database\Eloquent\Relations\Pivot - */ - public function newPivot(self $parent, array $attributes, $table, $exists, $using = null) - { - return $using ? $using::fromRawAttributes($parent, $attributes, $table, $exists) - : Pivot::fromAttributes($parent, $attributes, $table, $exists); - } - - /** - * Convert the model instance to an array. - * - * @return array - */ - public function toArray() - { - return array_merge($this->attributesToArray(), $this->relationsToArray()); - } - - /** - * Convert the model instance to JSON. - * - * @param int $options - * @return string - * - * @throws \Illuminate\Database\Eloquent\JsonEncodingException - */ - public function toJson($options = 0) - { - $json = json_encode($this->jsonSerialize(), $options); - - if (JSON_ERROR_NONE !== json_last_error()) { - throw JsonEncodingException::forModel($this, json_last_error_msg()); - } - - return $json; - } - - /** - * Convert the object into something JSON serializable. - * - * @return array - */ - public function jsonSerialize() - { - return $this->toArray(); - } - - /** - * Reload a fresh model instance from the database. - * - * @param array|string $with - * @return static|null - */ - public function fresh($with = []) - { - if (! $this->exists) { - return; - } - - return static::newQueryWithoutScopes() - ->with(is_string($with) ? func_get_args() : $with) - ->where($this->getKeyName(), $this->getKey()) - ->first(); - } - - /** - * Reload the current model instance with fresh attributes from the database. - * - * @return $this - */ - public function refresh() - { - if (! $this->exists) { - return $this; - } - - $this->setRawAttributes( - static::newQueryWithoutScopes()->findOrFail($this->getKey())->attributes - ); - - $this->load(collect($this->relations)->except('pivot')->keys()->toArray()); - - $this->syncOriginal(); - - return $this; - } - - /** - * Clone the model into a new, non-existing instance. - * - * @param array|null $except - * @return static - */ - public function replicate(array $except = null) - { - $defaults = [ - $this->getKeyName(), - $this->getCreatedAtColumn(), - $this->getUpdatedAtColumn(), - ]; - - $attributes = Arr::except( - $this->attributes, $except ? array_unique(array_merge($except, $defaults)) : $defaults - ); - - return tap(new static, function ($instance) use ($attributes) { - $instance->setRawAttributes($attributes); - - $instance->setRelations($this->relations); - - $instance->fireModelEvent('replicating', false); - }); - } - - /** - * Determine if two models have the same ID and belong to the same table. - * - * @param \Illuminate\Database\Eloquent\Model|null $model - * @return bool - */ - public function is($model) - { - return ! is_null($model) && - $this->getKey() === $model->getKey() && - $this->getTable() === $model->getTable() && - $this->getConnectionName() === $model->getConnectionName(); - } - - /** - * Determine if two models are not the same. - * - * @param \Illuminate\Database\Eloquent\Model|null $model - * @return bool - */ - public function isNot($model) - { - return ! $this->is($model); - } - - /** - * Get the database connection for the model. - * - * @return \Illuminate\Database\Connection - */ - public function getConnection() - { - return static::resolveConnection($this->getConnectionName()); - } - - /** - * Get the current connection name for the model. - * - * @return string|null - */ - public function getConnectionName() - { - return $this->connection; - } - - /** - * Set the connection associated with the model. - * - * @param string|null $name - * @return $this - */ - public function setConnection($name) - { - $this->connection = $name; - - return $this; - } - - /** - * Resolve a connection instance. - * - * @param string|null $connection - * @return \Illuminate\Database\Connection - */ - public static function resolveConnection($connection = null) - { - return static::$resolver->connection($connection); - } - - /** - * Get the connection resolver instance. - * - * @return \Illuminate\Database\ConnectionResolverInterface - */ - public static function getConnectionResolver() - { - return static::$resolver; - } - - /** - * Set the connection resolver instance. - * - * @param \Illuminate\Database\ConnectionResolverInterface $resolver - * @return void - */ - public static function setConnectionResolver(Resolver $resolver) - { - static::$resolver = $resolver; - } - - /** - * Unset the connection resolver for models. - * - * @return void - */ - public static function unsetConnectionResolver() - { - static::$resolver = null; - } - - /** - * Get the table associated with the model. - * - * @return string - */ - public function getTable() - { - return $this->table ?? Str::snake(Str::pluralStudly(class_basename($this))); - } - - /** - * Set the table associated with the model. - * - * @param string $table - * @return $this - */ - public function setTable($table) - { - $this->table = $table; - - return $this; - } - - /** - * Get the primary key for the model. - * - * @return string - */ - public function getKeyName() - { - return $this->primaryKey; - } - - /** - * Set the primary key for the model. - * - * @param string $key - * @return $this - */ - public function setKeyName($key) - { - $this->primaryKey = $key; - - return $this; - } - - /** - * Get the table qualified key name. - * - * @return string - */ - public function getQualifiedKeyName() - { - return $this->qualifyColumn($this->getKeyName()); - } - - /** - * Get the auto-incrementing key type. - * - * @return string - */ - public function getKeyType() - { - return $this->keyType; - } - - /** - * Set the data type for the primary key. - * - * @param string $type - * @return $this - */ - public function setKeyType($type) - { - $this->keyType = $type; - - return $this; - } - - /** - * Get the value indicating whether the IDs are incrementing. - * - * @return bool - */ - public function getIncrementing() - { - return $this->incrementing; - } - - /** - * Set whether IDs are incrementing. - * - * @param bool $value - * @return $this - */ - public function setIncrementing($value) - { - $this->incrementing = $value; - - return $this; - } - - /** - * Get the value of the model's primary key. - * - * @return mixed - */ - public function getKey() - { - return $this->getAttribute($this->getKeyName()); - } - - /** - * Get the queueable identity for the entity. - * - * @return mixed - */ - public function getQueueableId() - { - return $this->getKey(); - } - - /** - * Get the queueable relationships for the entity. - * - * @return array - */ - public function getQueueableRelations() - { - $relations = []; - - foreach ($this->getRelations() as $key => $relation) { - if (! method_exists($this, $key)) { - continue; - } - - $relations[] = $key; - - if ($relation instanceof QueueableCollection) { - foreach ($relation->getQueueableRelations() as $collectionValue) { - $relations[] = $key.'.'.$collectionValue; - } - } - - if ($relation instanceof QueueableEntity) { - foreach ($relation->getQueueableRelations() as $entityKey => $entityValue) { - $relations[] = $key.'.'.$entityValue; - } - } - } - - return array_unique($relations); - } - - /** - * Get the queueable connection for the entity. - * - * @return string|null - */ - public function getQueueableConnection() - { - return $this->getConnectionName(); - } - - /** - * Get the value of the model's route key. - * - * @return mixed - */ - public function getRouteKey() - { - return $this->getAttribute($this->getRouteKeyName()); - } - - /** - * Get the route key for the model. - * - * @return string - */ - public function getRouteKeyName() - { - return $this->getKeyName(); - } - - /** - * Retrieve the model for a bound value. - * - * @param mixed $value - * @return \Illuminate\Database\Eloquent\Model|null - */ - public function resolveRouteBinding($value) - { - return $this->where($this->getRouteKeyName(), $value)->first(); - } - - /** - * Get the default foreign key name for the model. - * - * @return string - */ - public function getForeignKey() - { - return Str::snake(class_basename($this)).'_'.$this->getKeyName(); - } - - /** - * Get the number of models to return per page. - * - * @return int - */ - public function getPerPage() - { - return $this->perPage; - } - - /** - * Set the number of models to return per page. - * - * @param int $perPage - * @return $this - */ - public function setPerPage($perPage) - { - $this->perPage = $perPage; - - return $this; - } - - /** - * Dynamically retrieve attributes on the model. - * - * @param string $key - * @return mixed - */ - public function __get($key) - { - return $this->getAttribute($key); - } - - /** - * Dynamically set attributes on the model. - * - * @param string $key - * @param mixed $value - * @return void - */ - public function __set($key, $value) - { - $this->setAttribute($key, $value); - } - - /** - * Determine if the given attribute exists. - * - * @param mixed $offset - * @return bool - */ - public function offsetExists($offset) - { - return ! is_null($this->getAttribute($offset)); - } - - /** - * Get the value for a given offset. - * - * @param mixed $offset - * @return mixed - */ - public function offsetGet($offset) - { - return $this->getAttribute($offset); - } - - /** - * Set the value for a given offset. - * - * @param mixed $offset - * @param mixed $value - * @return void - */ - public function offsetSet($offset, $value) - { - $this->setAttribute($offset, $value); - } - - /** - * Unset the value for a given offset. - * - * @param mixed $offset - * @return void - */ - public function offsetUnset($offset) - { - unset($this->attributes[$offset], $this->relations[$offset]); - } - - /** - * Determine if an attribute or relation exists on the model. - * - * @param string $key - * @return bool - */ - public function __isset($key) - { - return $this->offsetExists($key); - } - - /** - * Unset an attribute on the model. - * - * @param string $key - * @return void - */ - public function __unset($key) - { - $this->offsetUnset($key); - } - - /** - * Handle dynamic method calls into the model. - * - * @param string $method - * @param array $parameters - * @return mixed - */ - public function __call($method, $parameters) - { - if (in_array($method, ['increment', 'decrement'])) { - return $this->$method(...$parameters); - } - - return $this->forwardCallTo($this->newQuery(), $method, $parameters); - } - - /** - * Handle dynamic static method calls into the method. - * - * @param string $method - * @param array $parameters - * @return mixed - */ - public static function __callStatic($method, $parameters) - { - return (new static)->$method(...$parameters); - } - - /** - * Convert the model to its string representation. - * - * @return string - */ - public function __toString() - { - return $this->toJson(); - } - - /** - * When a model is being unserialized, check if it needs to be booted. - * - * @return void - */ - public function __wakeup() - { - $this->bootIfNotBooted(); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/ModelNotFoundException.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/ModelNotFoundException.php deleted file mode 100644 index c3db824..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/ModelNotFoundException.php +++ /dev/null @@ -1,66 +0,0 @@ -model = $model; - $this->ids = Arr::wrap($ids); - - $this->message = "No query results for model [{$model}]"; - - if (count($this->ids) > 0) { - $this->message .= ' '.implode(', ', $this->ids); - } else { - $this->message .= '.'; - } - - return $this; - } - - /** - * Get the affected Eloquent model. - * - * @return string - */ - public function getModel() - { - return $this->model; - } - - /** - * Get the affected Eloquent model IDs. - * - * @return int|array - */ - public function getIds() - { - return $this->ids; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/QueueEntityResolver.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/QueueEntityResolver.php deleted file mode 100644 index 22fccf2..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/QueueEntityResolver.php +++ /dev/null @@ -1,29 +0,0 @@ -find($id); - - if ($instance) { - return $instance; - } - - throw new EntityNotFoundException($type, $id); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/RelationNotFoundException.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/RelationNotFoundException.php deleted file mode 100644 index 088429c..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/RelationNotFoundException.php +++ /dev/null @@ -1,41 +0,0 @@ -model = $model; - $instance->relation = $relation; - - return $instance; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/BelongsTo.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/BelongsTo.php deleted file mode 100644 index a498924..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/BelongsTo.php +++ /dev/null @@ -1,382 +0,0 @@ -ownerKey = $ownerKey; - $this->relationName = $relationName; - $this->foreignKey = $foreignKey; - - // In the underlying base relationship class, this variable is referred to as - // the "parent" since most relationships are not inversed. But, since this - // one is we will create a "child" variable for much better readability. - $this->child = $child; - - parent::__construct($query, $child); - } - - /** - * Get the results of the relationship. - * - * @return mixed - */ - public function getResults() - { - if (is_null($this->child->{$this->foreignKey})) { - return $this->getDefaultFor($this->parent); - } - - return $this->query->first() ?: $this->getDefaultFor($this->parent); - } - - /** - * Set the base constraints on the relation query. - * - * @return void - */ - public function addConstraints() - { - if (static::$constraints) { - // For belongs to relationships, which are essentially the inverse of has one - // or has many relationships, we need to actually query on the primary key - // of the related models matching on the foreign key that's on a parent. - $table = $this->related->getTable(); - - $this->query->where($table.'.'.$this->ownerKey, '=', $this->child->{$this->foreignKey}); - } - } - - /** - * Set the constraints for an eager load of the relation. - * - * @param array $models - * @return void - */ - public function addEagerConstraints(array $models) - { - // We'll grab the primary key name of the related models since it could be set to - // a non-standard name and not "id". We will then construct the constraint for - // our eagerly loading query so it returns the proper models from execution. - $key = $this->related->getTable().'.'.$this->ownerKey; - - $whereIn = $this->whereInMethod($this->related, $this->ownerKey); - - $this->query->{$whereIn}($key, $this->getEagerModelKeys($models)); - } - - /** - * Gather the keys from an array of related models. - * - * @param array $models - * @return array - */ - protected function getEagerModelKeys(array $models) - { - $keys = []; - - // First we need to gather all of the keys from the parent models so we know what - // to query for via the eager loading query. We will add them to an array then - // execute a "where in" statement to gather up all of those related records. - foreach ($models as $model) { - if (! is_null($value = $model->{$this->foreignKey})) { - $keys[] = $value; - } - } - - sort($keys); - - return array_values(array_unique($keys)); - } - - /** - * Initialize the relation on a set of models. - * - * @param array $models - * @param string $relation - * @return array - */ - public function initRelation(array $models, $relation) - { - foreach ($models as $model) { - $model->setRelation($relation, $this->getDefaultFor($model)); - } - - return $models; - } - - /** - * Match the eagerly loaded results to their parents. - * - * @param array $models - * @param \Illuminate\Database\Eloquent\Collection $results - * @param string $relation - * @return array - */ - public function match(array $models, Collection $results, $relation) - { - $foreign = $this->foreignKey; - - $owner = $this->ownerKey; - - // First we will get to build a dictionary of the child models by their primary - // key of the relationship, then we can easily match the children back onto - // the parents using that dictionary and the primary key of the children. - $dictionary = []; - - foreach ($results as $result) { - $dictionary[$result->getAttribute($owner)] = $result; - } - - // Once we have the dictionary constructed, we can loop through all the parents - // and match back onto their children using these keys of the dictionary and - // the primary key of the children to map them onto the correct instances. - foreach ($models as $model) { - if (isset($dictionary[$model->{$foreign}])) { - $model->setRelation($relation, $dictionary[$model->{$foreign}]); - } - } - - return $models; - } - - /** - * Update the parent model on the relationship. - * - * @param array $attributes - * @return mixed - */ - public function update(array $attributes) - { - return $this->getResults()->fill($attributes)->save(); - } - - /** - * Associate the model instance to the given parent. - * - * @param \Illuminate\Database\Eloquent\Model|int|string $model - * @return \Illuminate\Database\Eloquent\Model - */ - public function associate($model) - { - $ownerKey = $model instanceof Model ? $model->getAttribute($this->ownerKey) : $model; - - $this->child->setAttribute($this->foreignKey, $ownerKey); - - if ($model instanceof Model) { - $this->child->setRelation($this->relationName, $model); - } elseif ($this->child->isDirty($this->foreignKey)) { - $this->child->unsetRelation($this->relationName); - } - - return $this->child; - } - - /** - * Dissociate previously associated model from the given parent. - * - * @return \Illuminate\Database\Eloquent\Model - */ - public function dissociate() - { - $this->child->setAttribute($this->foreignKey, null); - - return $this->child->setRelation($this->relationName, null); - } - - /** - * Add the constraints for a relationship query. - * - * @param \Illuminate\Database\Eloquent\Builder $query - * @param \Illuminate\Database\Eloquent\Builder $parentQuery - * @param array|mixed $columns - * @return \Illuminate\Database\Eloquent\Builder - */ - public function getRelationExistenceQuery(Builder $query, Builder $parentQuery, $columns = ['*']) - { - if ($parentQuery->getQuery()->from == $query->getQuery()->from) { - return $this->getRelationExistenceQueryForSelfRelation($query, $parentQuery, $columns); - } - - return $query->select($columns)->whereColumn( - $this->getQualifiedForeignKeyName(), '=', $query->qualifyColumn($this->ownerKey) - ); - } - - /** - * Add the constraints for a relationship query on the same table. - * - * @param \Illuminate\Database\Eloquent\Builder $query - * @param \Illuminate\Database\Eloquent\Builder $parentQuery - * @param array|mixed $columns - * @return \Illuminate\Database\Eloquent\Builder - */ - public function getRelationExistenceQueryForSelfRelation(Builder $query, Builder $parentQuery, $columns = ['*']) - { - $query->select($columns)->from( - $query->getModel()->getTable().' as '.$hash = $this->getRelationCountHash() - ); - - $query->getModel()->setTable($hash); - - return $query->whereColumn( - $hash.'.'.$this->ownerKey, '=', $this->getQualifiedForeignKeyName() - ); - } - - /** - * Get a relationship join table hash. - * - * @return string - */ - public function getRelationCountHash() - { - return 'laravel_reserved_'.static::$selfJoinCount++; - } - - /** - * Determine if the related model has an auto-incrementing ID. - * - * @return bool - */ - protected function relationHasIncrementingId() - { - return $this->related->getIncrementing() && - $this->related->getKeyType() === 'int'; - } - - /** - * Make a new related instance for the given model. - * - * @param \Illuminate\Database\Eloquent\Model $parent - * @return \Illuminate\Database\Eloquent\Model - */ - protected function newRelatedInstanceFor(Model $parent) - { - return $this->related->newInstance(); - } - - /** - * Get the child of the relationship. - * - * @return \Illuminate\Database\Eloquent\Model - */ - public function getChild() - { - return $this->child; - } - - /** - * Get the foreign key of the relationship. - * - * @return string - */ - public function getForeignKeyName() - { - return $this->foreignKey; - } - - /** - * Get the fully qualified foreign key of the relationship. - * - * @return string - */ - public function getQualifiedForeignKeyName() - { - return $this->child->qualifyColumn($this->foreignKey); - } - - /** - * Get the associated key of the relationship. - * - * @return string - */ - public function getOwnerKeyName() - { - return $this->ownerKey; - } - - /** - * Get the fully qualified associated key of the relationship. - * - * @return string - */ - public function getQualifiedOwnerKeyName() - { - return $this->related->qualifyColumn($this->ownerKey); - } - - /** - * Get the name of the relationship. - * - * @return string - */ - public function getRelationName() - { - return $this->relationName; - } - - /** - * Get the name of the relationship. - * - * @return string - * @deprecated The getRelationName() method should be used instead. Will be removed in Laravel 6.0. - */ - public function getRelation() - { - return $this->relationName; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/BelongsToMany.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/BelongsToMany.php deleted file mode 100644 index 1716481..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/BelongsToMany.php +++ /dev/null @@ -1,1136 +0,0 @@ -parentKey = $parentKey; - $this->relatedKey = $relatedKey; - $this->relationName = $relationName; - $this->relatedPivotKey = $relatedPivotKey; - $this->foreignPivotKey = $foreignPivotKey; - $this->table = $this->resolveTableName($table); - - parent::__construct($query, $parent); - } - - /** - * Attempt to resolve the intermediate table name from the given string. - * - * @param string $table - * @return string - */ - protected function resolveTableName($table) - { - if (! Str::contains($table, '\\') || ! class_exists($table)) { - return $table; - } - - $model = new $table; - - if (! $model instanceof Model) { - return $table; - } - - if ($model instanceof Pivot) { - $this->using($table); - } - - return $model->getTable(); - } - - /** - * Set the base constraints on the relation query. - * - * @return void - */ - public function addConstraints() - { - $this->performJoin(); - - if (static::$constraints) { - $this->addWhereConstraints(); - } - } - - /** - * Set the join clause for the relation query. - * - * @param \Illuminate\Database\Eloquent\Builder|null $query - * @return $this - */ - protected function performJoin($query = null) - { - $query = $query ?: $this->query; - - // We need to join to the intermediate table on the related model's primary - // key column with the intermediate table's foreign key for the related - // model instance. Then we can set the "where" for the parent models. - $baseTable = $this->related->getTable(); - - $key = $baseTable.'.'.$this->relatedKey; - - $query->join($this->table, $key, '=', $this->getQualifiedRelatedPivotKeyName()); - - return $this; - } - - /** - * Set the where clause for the relation query. - * - * @return $this - */ - protected function addWhereConstraints() - { - $this->query->where( - $this->getQualifiedForeignPivotKeyName(), '=', $this->parent->{$this->parentKey} - ); - - return $this; - } - - /** - * Set the constraints for an eager load of the relation. - * - * @param array $models - * @return void - */ - public function addEagerConstraints(array $models) - { - $whereIn = $this->whereInMethod($this->parent, $this->parentKey); - - $this->query->{$whereIn}( - $this->getQualifiedForeignPivotKeyName(), - $this->getKeys($models, $this->parentKey) - ); - } - - /** - * Initialize the relation on a set of models. - * - * @param array $models - * @param string $relation - * @return array - */ - public function initRelation(array $models, $relation) - { - foreach ($models as $model) { - $model->setRelation($relation, $this->related->newCollection()); - } - - return $models; - } - - /** - * Match the eagerly loaded results to their parents. - * - * @param array $models - * @param \Illuminate\Database\Eloquent\Collection $results - * @param string $relation - * @return array - */ - public function match(array $models, Collection $results, $relation) - { - $dictionary = $this->buildDictionary($results); - - // Once we have an array dictionary of child objects we can easily match the - // children back to their parent using the dictionary and the keys on the - // the parent models. Then we will return the hydrated models back out. - foreach ($models as $model) { - if (isset($dictionary[$key = $model->{$this->parentKey}])) { - $model->setRelation( - $relation, $this->related->newCollection($dictionary[$key]) - ); - } - } - - return $models; - } - - /** - * Build model dictionary keyed by the relation's foreign key. - * - * @param \Illuminate\Database\Eloquent\Collection $results - * @return array - */ - protected function buildDictionary(Collection $results) - { - // First we will build a dictionary of child models keyed by the foreign key - // of the relation so that we will easily and quickly match them to their - // parents without having a possibly slow inner loops for every models. - $dictionary = []; - - foreach ($results as $result) { - $dictionary[$result->{$this->accessor}->{$this->foreignPivotKey}][] = $result; - } - - return $dictionary; - } - - /** - * Get the class being used for pivot models. - * - * @return string - */ - public function getPivotClass() - { - return $this->using ?? Pivot::class; - } - - /** - * Specify the custom pivot model to use for the relationship. - * - * @param string $class - * @return $this - */ - public function using($class) - { - $this->using = $class; - - return $this; - } - - /** - * Specify the custom pivot accessor to use for the relationship. - * - * @param string $accessor - * @return $this - */ - public function as($accessor) - { - $this->accessor = $accessor; - - return $this; - } - - /** - * Set a where clause for a pivot table column. - * - * @param string $column - * @param string $operator - * @param mixed $value - * @param string $boolean - * @return $this - */ - public function wherePivot($column, $operator = null, $value = null, $boolean = 'and') - { - $this->pivotWheres[] = func_get_args(); - - return $this->where($this->table.'.'.$column, $operator, $value, $boolean); - } - - /** - * Set a "where in" clause for a pivot table column. - * - * @param string $column - * @param mixed $values - * @param string $boolean - * @param bool $not - * @return $this - */ - public function wherePivotIn($column, $values, $boolean = 'and', $not = false) - { - $this->pivotWhereIns[] = func_get_args(); - - return $this->whereIn($this->table.'.'.$column, $values, $boolean, $not); - } - - /** - * Set an "or where" clause for a pivot table column. - * - * @param string $column - * @param string $operator - * @param mixed $value - * @return $this - */ - public function orWherePivot($column, $operator = null, $value = null) - { - return $this->wherePivot($column, $operator, $value, 'or'); - } - - /** - * Set a where clause for a pivot table column. - * - * In addition, new pivot records will receive this value. - * - * @param string|array $column - * @param mixed $value - * @return $this - */ - public function withPivotValue($column, $value = null) - { - if (is_array($column)) { - foreach ($column as $name => $value) { - $this->withPivotValue($name, $value); - } - - return $this; - } - - if (is_null($value)) { - throw new InvalidArgumentException('The provided value may not be null.'); - } - - $this->pivotValues[] = compact('column', 'value'); - - return $this->wherePivot($column, '=', $value); - } - - /** - * Set an "or where in" clause for a pivot table column. - * - * @param string $column - * @param mixed $values - * @return $this - */ - public function orWherePivotIn($column, $values) - { - return $this->wherePivotIn($column, $values, 'or'); - } - - /** - * Find a related model by its primary key or return new instance of the related model. - * - * @param mixed $id - * @param array $columns - * @return \Illuminate\Support\Collection|\Illuminate\Database\Eloquent\Model - */ - public function findOrNew($id, $columns = ['*']) - { - if (is_null($instance = $this->find($id, $columns))) { - $instance = $this->related->newInstance(); - } - - return $instance; - } - - /** - * Get the first related model record matching the attributes or instantiate it. - * - * @param array $attributes - * @return \Illuminate\Database\Eloquent\Model - */ - public function firstOrNew(array $attributes) - { - if (is_null($instance = $this->where($attributes)->first())) { - $instance = $this->related->newInstance($attributes); - } - - return $instance; - } - - /** - * Get the first related record matching the attributes or create it. - * - * @param array $attributes - * @param array $joining - * @param bool $touch - * @return \Illuminate\Database\Eloquent\Model - */ - public function firstOrCreate(array $attributes, array $joining = [], $touch = true) - { - if (is_null($instance = $this->where($attributes)->first())) { - $instance = $this->create($attributes, $joining, $touch); - } - - return $instance; - } - - /** - * Create or update a related record matching the attributes, and fill it with values. - * - * @param array $attributes - * @param array $values - * @param array $joining - * @param bool $touch - * @return \Illuminate\Database\Eloquent\Model - */ - public function updateOrCreate(array $attributes, array $values = [], array $joining = [], $touch = true) - { - if (is_null($instance = $this->where($attributes)->first())) { - return $this->create($values, $joining, $touch); - } - - $instance->fill($values); - - $instance->save(['touch' => false]); - - return $instance; - } - - /** - * Find a related model by its primary key. - * - * @param mixed $id - * @param array $columns - * @return \Illuminate\Database\Eloquent\Model|\Illuminate\Database\Eloquent\Collection|null - */ - public function find($id, $columns = ['*']) - { - return is_array($id) ? $this->findMany($id, $columns) : $this->where( - $this->getRelated()->getQualifiedKeyName(), '=', $id - )->first($columns); - } - - /** - * Find multiple related models by their primary keys. - * - * @param mixed $ids - * @param array $columns - * @return \Illuminate\Database\Eloquent\Collection - */ - public function findMany($ids, $columns = ['*']) - { - return empty($ids) ? $this->getRelated()->newCollection() : $this->whereIn( - $this->getRelated()->getQualifiedKeyName(), $ids - )->get($columns); - } - - /** - * Find a related model by its primary key or throw an exception. - * - * @param mixed $id - * @param array $columns - * @return \Illuminate\Database\Eloquent\Model|\Illuminate\Database\Eloquent\Collection - * - * @throws \Illuminate\Database\Eloquent\ModelNotFoundException - */ - public function findOrFail($id, $columns = ['*']) - { - $result = $this->find($id, $columns); - - if (is_array($id)) { - if (count($result) === count(array_unique($id))) { - return $result; - } - } elseif (! is_null($result)) { - return $result; - } - - throw (new ModelNotFoundException)->setModel(get_class($this->related), $id); - } - - /** - * Execute the query and get the first result. - * - * @param array $columns - * @return mixed - */ - public function first($columns = ['*']) - { - $results = $this->take(1)->get($columns); - - return count($results) > 0 ? $results->first() : null; - } - - /** - * Execute the query and get the first result or throw an exception. - * - * @param array $columns - * @return \Illuminate\Database\Eloquent\Model|static - * - * @throws \Illuminate\Database\Eloquent\ModelNotFoundException - */ - public function firstOrFail($columns = ['*']) - { - if (! is_null($model = $this->first($columns))) { - return $model; - } - - throw (new ModelNotFoundException)->setModel(get_class($this->related)); - } - - /** - * Get the results of the relationship. - * - * @return mixed - */ - public function getResults() - { - return ! is_null($this->parent->{$this->parentKey}) - ? $this->get() - : $this->related->newCollection(); - } - - /** - * Execute the query as a "select" statement. - * - * @param array $columns - * @return \Illuminate\Database\Eloquent\Collection - */ - public function get($columns = ['*']) - { - // First we'll add the proper select columns onto the query so it is run with - // the proper columns. Then, we will get the results and hydrate out pivot - // models with the result of those columns as a separate model relation. - $builder = $this->query->applyScopes(); - - $columns = $builder->getQuery()->columns ? [] : $columns; - - $models = $builder->addSelect( - $this->shouldSelect($columns) - )->getModels(); - - $this->hydratePivotRelation($models); - - // If we actually found models we will also eager load any relationships that - // have been specified as needing to be eager loaded. This will solve the - // n + 1 query problem for the developer and also increase performance. - if (count($models) > 0) { - $models = $builder->eagerLoadRelations($models); - } - - return $this->related->newCollection($models); - } - - /** - * Get the select columns for the relation query. - * - * @param array $columns - * @return array - */ - protected function shouldSelect(array $columns = ['*']) - { - if ($columns == ['*']) { - $columns = [$this->related->getTable().'.*']; - } - - return array_merge($columns, $this->aliasedPivotColumns()); - } - - /** - * Get the pivot columns for the relation. - * - * "pivot_" is prefixed ot each column for easy removal later. - * - * @return array - */ - protected function aliasedPivotColumns() - { - $defaults = [$this->foreignPivotKey, $this->relatedPivotKey]; - - return collect(array_merge($defaults, $this->pivotColumns))->map(function ($column) { - return $this->table.'.'.$column.' as pivot_'.$column; - })->unique()->all(); - } - - /** - * Get a paginator for the "select" statement. - * - * @param int $perPage - * @param array $columns - * @param string $pageName - * @param int|null $page - * @return \Illuminate\Contracts\Pagination\LengthAwarePaginator - */ - public function paginate($perPage = null, $columns = ['*'], $pageName = 'page', $page = null) - { - $this->query->addSelect($this->shouldSelect($columns)); - - return tap($this->query->paginate($perPage, $columns, $pageName, $page), function ($paginator) { - $this->hydratePivotRelation($paginator->items()); - }); - } - - /** - * Paginate the given query into a simple paginator. - * - * @param int $perPage - * @param array $columns - * @param string $pageName - * @param int|null $page - * @return \Illuminate\Contracts\Pagination\Paginator - */ - public function simplePaginate($perPage = null, $columns = ['*'], $pageName = 'page', $page = null) - { - $this->query->addSelect($this->shouldSelect($columns)); - - return tap($this->query->simplePaginate($perPage, $columns, $pageName, $page), function ($paginator) { - $this->hydratePivotRelation($paginator->items()); - }); - } - - /** - * Chunk the results of the query. - * - * @param int $count - * @param callable $callback - * @return bool - */ - public function chunk($count, callable $callback) - { - $this->query->addSelect($this->shouldSelect()); - - return $this->query->chunk($count, function ($results) use ($callback) { - $this->hydratePivotRelation($results->all()); - - return $callback($results); - }); - } - - /** - * Chunk the results of a query by comparing numeric IDs. - * - * @param int $count - * @param callable $callback - * @param string|null $column - * @param string|null $alias - * @return bool - */ - public function chunkById($count, callable $callback, $column = null, $alias = null) - { - $this->query->addSelect($this->shouldSelect()); - - $column = $column ?? $this->getRelated()->qualifyColumn( - $this->getRelatedKeyName() - ); - - $alias = $alias ?? $this->getRelatedKeyName(); - - return $this->query->chunkById($count, function ($results) use ($callback) { - $this->hydratePivotRelation($results->all()); - - return $callback($results); - }, $column, $alias); - } - - /** - * Execute a callback over each item while chunking. - * - * @param callable $callback - * @param int $count - * @return bool - */ - public function each(callable $callback, $count = 1000) - { - return $this->chunk($count, function ($results) use ($callback) { - foreach ($results as $key => $value) { - if ($callback($value, $key) === false) { - return false; - } - } - }); - } - - /** - * Hydrate the pivot table relationship on the models. - * - * @param array $models - * @return void - */ - protected function hydratePivotRelation(array $models) - { - // To hydrate the pivot relationship, we will just gather the pivot attributes - // and create a new Pivot model, which is basically a dynamic model that we - // will set the attributes, table, and connections on it so it will work. - foreach ($models as $model) { - $model->setRelation($this->accessor, $this->newExistingPivot( - $this->migratePivotAttributes($model) - )); - } - } - - /** - * Get the pivot attributes from a model. - * - * @param \Illuminate\Database\Eloquent\Model $model - * @return array - */ - protected function migratePivotAttributes(Model $model) - { - $values = []; - - foreach ($model->getAttributes() as $key => $value) { - // To get the pivots attributes we will just take any of the attributes which - // begin with "pivot_" and add those to this arrays, as well as unsetting - // them from the parent's models since they exist in a different table. - if (strpos($key, 'pivot_') === 0) { - $values[substr($key, 6)] = $value; - - unset($model->$key); - } - } - - return $values; - } - - /** - * If we're touching the parent model, touch. - * - * @return void - */ - public function touchIfTouching() - { - if ($this->touchingParent()) { - $this->getParent()->touch(); - } - - if ($this->getParent()->touches($this->relationName)) { - $this->touch(); - } - } - - /** - * Determine if we should touch the parent on sync. - * - * @return bool - */ - protected function touchingParent() - { - return $this->getRelated()->touches($this->guessInverseRelation()); - } - - /** - * Attempt to guess the name of the inverse of the relation. - * - * @return string - */ - protected function guessInverseRelation() - { - return Str::camel(Str::pluralStudly(class_basename($this->getParent()))); - } - - /** - * Touch all of the related models for the relationship. - * - * E.g.: Touch all roles associated with this user. - * - * @return void - */ - public function touch() - { - $key = $this->getRelated()->getKeyName(); - - $columns = [ - $this->related->getUpdatedAtColumn() => $this->related->freshTimestampString(), - ]; - - // If we actually have IDs for the relation, we will run the query to update all - // the related model's timestamps, to make sure these all reflect the changes - // to the parent models. This will help us keep any caching synced up here. - if (count($ids = $this->allRelatedIds()) > 0) { - $this->getRelated()->newQueryWithoutRelationships()->whereIn($key, $ids)->update($columns); - } - } - - /** - * Get all of the IDs for the related models. - * - * @return \Illuminate\Support\Collection - */ - public function allRelatedIds() - { - return $this->newPivotQuery()->pluck($this->relatedPivotKey); - } - - /** - * Save a new model and attach it to the parent model. - * - * @param \Illuminate\Database\Eloquent\Model $model - * @param array $pivotAttributes - * @param bool $touch - * @return \Illuminate\Database\Eloquent\Model - */ - public function save(Model $model, array $pivotAttributes = [], $touch = true) - { - $model->save(['touch' => false]); - - $this->attach($model, $pivotAttributes, $touch); - - return $model; - } - - /** - * Save an array of new models and attach them to the parent model. - * - * @param \Illuminate\Support\Collection|array $models - * @param array $pivotAttributes - * @return array - */ - public function saveMany($models, array $pivotAttributes = []) - { - foreach ($models as $key => $model) { - $this->save($model, (array) ($pivotAttributes[$key] ?? []), false); - } - - $this->touchIfTouching(); - - return $models; - } - - /** - * Create a new instance of the related model. - * - * @param array $attributes - * @param array $joining - * @param bool $touch - * @return \Illuminate\Database\Eloquent\Model - */ - public function create(array $attributes = [], array $joining = [], $touch = true) - { - $instance = $this->related->newInstance($attributes); - - // Once we save the related model, we need to attach it to the base model via - // through intermediate table so we'll use the existing "attach" method to - // accomplish this which will insert the record and any more attributes. - $instance->save(['touch' => false]); - - $this->attach($instance, $joining, $touch); - - return $instance; - } - - /** - * Create an array of new instances of the related models. - * - * @param array $records - * @param array $joinings - * @return array - */ - public function createMany(array $records, array $joinings = []) - { - $instances = []; - - foreach ($records as $key => $record) { - $instances[] = $this->create($record, (array) ($joinings[$key] ?? []), false); - } - - $this->touchIfTouching(); - - return $instances; - } - - /** - * Add the constraints for a relationship query. - * - * @param \Illuminate\Database\Eloquent\Builder $query - * @param \Illuminate\Database\Eloquent\Builder $parentQuery - * @param array|mixed $columns - * @return \Illuminate\Database\Eloquent\Builder - */ - public function getRelationExistenceQuery(Builder $query, Builder $parentQuery, $columns = ['*']) - { - if ($parentQuery->getQuery()->from == $query->getQuery()->from) { - return $this->getRelationExistenceQueryForSelfJoin($query, $parentQuery, $columns); - } - - $this->performJoin($query); - - return parent::getRelationExistenceQuery($query, $parentQuery, $columns); - } - - /** - * Add the constraints for a relationship query on the same table. - * - * @param \Illuminate\Database\Eloquent\Builder $query - * @param \Illuminate\Database\Eloquent\Builder $parentQuery - * @param array|mixed $columns - * @return \Illuminate\Database\Eloquent\Builder - */ - public function getRelationExistenceQueryForSelfJoin(Builder $query, Builder $parentQuery, $columns = ['*']) - { - $query->select($columns); - - $query->from($this->related->getTable().' as '.$hash = $this->getRelationCountHash()); - - $this->related->setTable($hash); - - $this->performJoin($query); - - return parent::getRelationExistenceQuery($query, $parentQuery, $columns); - } - - /** - * Get the key for comparing against the parent key in "has" query. - * - * @return string - */ - public function getExistenceCompareKey() - { - return $this->getQualifiedForeignPivotKeyName(); - } - - /** - * Get a relationship join table hash. - * - * @return string - */ - public function getRelationCountHash() - { - return 'laravel_reserved_'.static::$selfJoinCount++; - } - - /** - * Specify that the pivot table has creation and update timestamps. - * - * @param mixed $createdAt - * @param mixed $updatedAt - * @return $this - */ - public function withTimestamps($createdAt = null, $updatedAt = null) - { - $this->withTimestamps = true; - - $this->pivotCreatedAt = $createdAt; - $this->pivotUpdatedAt = $updatedAt; - - return $this->withPivot($this->createdAt(), $this->updatedAt()); - } - - /** - * Get the name of the "created at" column. - * - * @return string - */ - public function createdAt() - { - return $this->pivotCreatedAt ?: $this->parent->getCreatedAtColumn(); - } - - /** - * Get the name of the "updated at" column. - * - * @return string - */ - public function updatedAt() - { - return $this->pivotUpdatedAt ?: $this->parent->getUpdatedAtColumn(); - } - - /** - * Get the foreign key for the relation. - * - * @return string - */ - public function getForeignPivotKeyName() - { - return $this->foreignPivotKey; - } - - /** - * Get the fully qualified foreign key for the relation. - * - * @return string - */ - public function getQualifiedForeignPivotKeyName() - { - return $this->table.'.'.$this->foreignPivotKey; - } - - /** - * Get the "related key" for the relation. - * - * @return string - */ - public function getRelatedPivotKeyName() - { - return $this->relatedPivotKey; - } - - /** - * Get the fully qualified "related key" for the relation. - * - * @return string - */ - public function getQualifiedRelatedPivotKeyName() - { - return $this->table.'.'.$this->relatedPivotKey; - } - - /** - * Get the parent key for the relationship. - * - * @return string - */ - public function getParentKeyName() - { - return $this->parentKey; - } - - /** - * Get the fully qualified parent key name for the relation. - * - * @return string - */ - public function getQualifiedParentKeyName() - { - return $this->parent->qualifyColumn($this->parentKey); - } - - /** - * Get the related key for the relationship. - * - * @return string - */ - public function getRelatedKeyName() - { - return $this->relatedKey; - } - - /** - * Get the intermediate table for the relationship. - * - * @return string - */ - public function getTable() - { - return $this->table; - } - - /** - * Get the relationship name for the relationship. - * - * @return string - */ - public function getRelationName() - { - return $this->relationName; - } - - /** - * Get the name of the pivot accessor for this relationship. - * - * @return string - */ - public function getPivotAccessor() - { - return $this->accessor; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/Concerns/AsPivot.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/Concerns/AsPivot.php deleted file mode 100644 index 605e8cf..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/Concerns/AsPivot.php +++ /dev/null @@ -1,304 +0,0 @@ -timestamps = $instance->hasTimestampAttributes($attributes); - - // The pivot model is a "dynamic" model since we will set the tables dynamically - // for the instance. This allows it work for any intermediate tables for the - // many to many relationship that are defined by this developer's classes. - $instance->setConnection($parent->getConnectionName()) - ->setTable($table) - ->forceFill($attributes) - ->syncOriginal(); - - // We store off the parent instance so we will access the timestamp column names - // for the model, since the pivot model timestamps aren't easily configurable - // from the developer's point of view. We can use the parents to get these. - $instance->pivotParent = $parent; - - $instance->exists = $exists; - - return $instance; - } - - /** - * Create a new pivot model from raw values returned from a query. - * - * @param \Illuminate\Database\Eloquent\Model $parent - * @param array $attributes - * @param string $table - * @param bool $exists - * @return static - */ - public static function fromRawAttributes(Model $parent, $attributes, $table, $exists = false) - { - $instance = static::fromAttributes($parent, [], $table, $exists); - - $instance->timestamps = $instance->hasTimestampAttributes($attributes); - - $instance->setRawAttributes($attributes, true); - - return $instance; - } - - /** - * Set the keys for a save update query. - * - * @param \Illuminate\Database\Eloquent\Builder $query - * @return \Illuminate\Database\Eloquent\Builder - */ - protected function setKeysForSaveQuery(Builder $query) - { - if (isset($this->attributes[$this->getKeyName()])) { - return parent::setKeysForSaveQuery($query); - } - - $query->where($this->foreignKey, $this->getOriginal( - $this->foreignKey, $this->getAttribute($this->foreignKey) - )); - - return $query->where($this->relatedKey, $this->getOriginal( - $this->relatedKey, $this->getAttribute($this->relatedKey) - )); - } - - /** - * Delete the pivot model record from the database. - * - * @return int - */ - public function delete() - { - if (isset($this->attributes[$this->getKeyName()])) { - return (int) parent::delete(); - } - - if ($this->fireModelEvent('deleting') === false) { - return 0; - } - - $this->touchOwners(); - - return tap($this->getDeleteQuery()->delete(), function () { - $this->fireModelEvent('deleted', false); - }); - } - - /** - * Get the query builder for a delete operation on the pivot. - * - * @return \Illuminate\Database\Eloquent\Builder - */ - protected function getDeleteQuery() - { - return $this->newQueryWithoutRelationships()->where([ - $this->foreignKey => $this->getOriginal($this->foreignKey, $this->getAttribute($this->foreignKey)), - $this->relatedKey => $this->getOriginal($this->relatedKey, $this->getAttribute($this->relatedKey)), - ]); - } - - /** - * Get the table associated with the model. - * - * @return string - */ - public function getTable() - { - if (! isset($this->table)) { - $this->setTable(str_replace( - '\\', '', Str::snake(Str::singular(class_basename($this))) - )); - } - - return $this->table; - } - - /** - * Get the foreign key column name. - * - * @return string - */ - public function getForeignKey() - { - return $this->foreignKey; - } - - /** - * Get the "related key" column name. - * - * @return string - */ - public function getRelatedKey() - { - return $this->relatedKey; - } - - /** - * Get the "related key" column name. - * - * @return string - */ - public function getOtherKey() - { - return $this->getRelatedKey(); - } - - /** - * Set the key names for the pivot model instance. - * - * @param string $foreignKey - * @param string $relatedKey - * @return $this - */ - public function setPivotKeys($foreignKey, $relatedKey) - { - $this->foreignKey = $foreignKey; - - $this->relatedKey = $relatedKey; - - return $this; - } - - /** - * Determine if the pivot model or given attributes has timestamp attributes. - * - * @param array|null $attributes - * @return bool - */ - public function hasTimestampAttributes($attributes = null) - { - return array_key_exists($this->getCreatedAtColumn(), $attributes ?? $this->attributes); - } - - /** - * Get the name of the "created at" column. - * - * @return string - */ - public function getCreatedAtColumn() - { - return $this->pivotParent - ? $this->pivotParent->getCreatedAtColumn() - : parent::getCreatedAtColumn(); - } - - /** - * Get the name of the "updated at" column. - * - * @return string - */ - public function getUpdatedAtColumn() - { - return $this->pivotParent - ? $this->pivotParent->getUpdatedAtColumn() - : parent::getUpdatedAtColumn(); - } - - /** - * Get the queueable identity for the entity. - * - * @return mixed - */ - public function getQueueableId() - { - if (isset($this->attributes[$this->getKeyName()])) { - return $this->getKey(); - } - - return sprintf( - '%s:%s:%s:%s', - $this->foreignKey, $this->getAttribute($this->foreignKey), - $this->relatedKey, $this->getAttribute($this->relatedKey) - ); - } - - /** - * Get a new query to restore one or more models by their queueable IDs. - * - * @param int[]|string[]|string $ids - * @return \Illuminate\Database\Eloquent\Builder - */ - public function newQueryForRestoration($ids) - { - if (is_array($ids)) { - return $this->newQueryForCollectionRestoration($ids); - } - - if (! Str::contains($ids, ':')) { - return parent::newQueryForRestoration($ids); - } - - $segments = explode(':', $ids); - - return $this->newQueryWithoutScopes() - ->where($segments[0], $segments[1]) - ->where($segments[2], $segments[3]); - } - - /** - * Get a new query to restore multiple models by their queueable IDs. - * - * @param int[]|string[] $ids - * @return \Illuminate\Database\Eloquent\Builder - */ - protected function newQueryForCollectionRestoration(array $ids) - { - if (! Str::contains($ids[0], ':')) { - return parent::newQueryForRestoration($ids); - } - - $query = $this->newQueryWithoutScopes(); - - foreach ($ids as $id) { - $segments = explode(':', $id); - - $query->orWhere(function ($query) use ($segments) { - return $query->where($segments[0], $segments[1]) - ->where($segments[2], $segments[3]); - }); - } - - return $query; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/Concerns/InteractsWithPivotTable.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/Concerns/InteractsWithPivotTable.php deleted file mode 100644 index 70cf998..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/Concerns/InteractsWithPivotTable.php +++ /dev/null @@ -1,665 +0,0 @@ - [], 'detached' => [], - ]; - - $records = $this->formatRecordsList($this->parseIds($ids)); - - // Next, we will determine which IDs should get removed from the join table by - // checking which of the given ID/records is in the list of current records - // and removing all of those rows from this "intermediate" joining table. - $detach = array_values(array_intersect( - $this->newPivotQuery()->pluck($this->relatedPivotKey)->all(), - array_keys($records) - )); - - if (count($detach) > 0) { - $this->detach($detach, false); - - $changes['detached'] = $this->castKeys($detach); - } - - // Finally, for all of the records which were not "detached", we'll attach the - // records into the intermediate table. Then, we will add those attaches to - // this change list and get ready to return these results to the callers. - $attach = array_diff_key($records, array_flip($detach)); - - if (count($attach) > 0) { - $this->attach($attach, [], false); - - $changes['attached'] = array_keys($attach); - } - - // Once we have finished attaching or detaching the records, we will see if we - // have done any attaching or detaching, and if we have we will touch these - // relationships if they are configured to touch on any database updates. - if ($touch && (count($changes['attached']) || - count($changes['detached']))) { - $this->touchIfTouching(); - } - - return $changes; - } - - /** - * Sync the intermediate tables with a list of IDs without detaching. - * - * @param \Illuminate\Support\Collection|\Illuminate\Database\Eloquent\Model|array $ids - * @return array - */ - public function syncWithoutDetaching($ids) - { - return $this->sync($ids, false); - } - - /** - * Sync the intermediate tables with a list of IDs or collection of models. - * - * @param \Illuminate\Support\Collection|\Illuminate\Database\Eloquent\Model|array $ids - * @param bool $detaching - * @return array - */ - public function sync($ids, $detaching = true) - { - $changes = [ - 'attached' => [], 'detached' => [], 'updated' => [], - ]; - - // First we need to attach any of the associated models that are not currently - // in this joining table. We'll spin through the given IDs, checking to see - // if they exist in the array of current ones, and if not we will insert. - $current = $this->getCurrentlyAttachedPivots() - ->pluck($this->relatedPivotKey)->all(); - - $detach = array_diff($current, array_keys( - $records = $this->formatRecordsList($this->parseIds($ids)) - )); - - // Next, we will take the differences of the currents and given IDs and detach - // all of the entities that exist in the "current" array but are not in the - // array of the new IDs given to the method which will complete the sync. - if ($detaching && count($detach) > 0) { - $this->detach($detach); - - $changes['detached'] = $this->castKeys($detach); - } - - // Now we are finally ready to attach the new records. Note that we'll disable - // touching until after the entire operation is complete so we don't fire a - // ton of touch operations until we are totally done syncing the records. - $changes = array_merge( - $changes, $this->attachNew($records, $current, false) - ); - - // Once we have finished attaching or detaching the records, we will see if we - // have done any attaching or detaching, and if we have we will touch these - // relationships if they are configured to touch on any database updates. - if (count($changes['attached']) || - count($changes['updated'])) { - $this->touchIfTouching(); - } - - return $changes; - } - - /** - * Format the sync / toggle record list so that it is keyed by ID. - * - * @param array $records - * @return array - */ - protected function formatRecordsList(array $records) - { - return collect($records)->mapWithKeys(function ($attributes, $id) { - if (! is_array($attributes)) { - [$id, $attributes] = [$attributes, []]; - } - - return [$id => $attributes]; - })->all(); - } - - /** - * Attach all of the records that aren't in the given current records. - * - * @param array $records - * @param array $current - * @param bool $touch - * @return array - */ - protected function attachNew(array $records, array $current, $touch = true) - { - $changes = ['attached' => [], 'updated' => []]; - - foreach ($records as $id => $attributes) { - // If the ID is not in the list of existing pivot IDs, we will insert a new pivot - // record, otherwise, we will just update this existing record on this joining - // table, so that the developers will easily update these records pain free. - if (! in_array($id, $current)) { - $this->attach($id, $attributes, $touch); - - $changes['attached'][] = $this->castKey($id); - } - - // Now we'll try to update an existing pivot record with the attributes that were - // given to the method. If the model is actually updated we will add it to the - // list of updated pivot records so we return them back out to the consumer. - elseif (count($attributes) > 0 && - $this->updateExistingPivot($id, $attributes, $touch)) { - $changes['updated'][] = $this->castKey($id); - } - } - - return $changes; - } - - /** - * Update an existing pivot record on the table. - * - * @param mixed $id - * @param array $attributes - * @param bool $touch - * @return int - */ - public function updateExistingPivot($id, array $attributes, $touch = true) - { - if ($this->using && empty($this->pivotWheres) && empty($this->pivotWhereIns)) { - return $this->updateExistingPivotUsingCustomClass($id, $attributes, $touch); - } - - if (in_array($this->updatedAt(), $this->pivotColumns)) { - $attributes = $this->addTimestampsToAttachment($attributes, true); - } - - $updated = $this->newPivotStatementForId($this->parseId($id))->update( - $this->castAttributes($attributes) - ); - - if ($touch) { - $this->touchIfTouching(); - } - - return $updated; - } - - /** - * Update an existing pivot record on the table via a custom class. - * - * @param mixed $id - * @param array $attributes - * @param bool $touch - * @return int - */ - protected function updateExistingPivotUsingCustomClass($id, array $attributes, $touch) - { - $pivot = $this->getCurrentlyAttachedPivots() - ->where($this->foreignPivotKey, $this->parent->{$this->parentKey}) - ->where($this->relatedPivotKey, $this->parseId($id)) - ->first(); - - $updated = $pivot ? $pivot->fill($attributes)->isDirty() : false; - - $this->newPivot([ - $this->foreignPivotKey => $this->parent->{$this->parentKey}, - $this->relatedPivotKey => $this->parseId($id), - ], true)->fill($attributes)->save(); - - if ($touch) { - $this->touchIfTouching(); - } - - return (int) $updated; - } - - /** - * Attach a model to the parent. - * - * @param mixed $id - * @param array $attributes - * @param bool $touch - * @return void - */ - public function attach($id, array $attributes = [], $touch = true) - { - if ($this->using) { - $this->attachUsingCustomClass($id, $attributes); - } else { - // Here we will insert the attachment records into the pivot table. Once we have - // inserted the records, we will touch the relationships if necessary and the - // function will return. We can parse the IDs before inserting the records. - $this->newPivotStatement()->insert($this->formatAttachRecords( - $this->parseIds($id), $attributes - )); - } - - if ($touch) { - $this->touchIfTouching(); - } - } - - /** - * Attach a model to the parent using a custom class. - * - * @param mixed $id - * @param array $attributes - * @return void - */ - protected function attachUsingCustomClass($id, array $attributes) - { - $records = $this->formatAttachRecords( - $this->parseIds($id), $attributes - ); - - foreach ($records as $record) { - $this->newPivot($record, false)->save(); - } - } - - /** - * Create an array of records to insert into the pivot table. - * - * @param array $ids - * @param array $attributes - * @return array - */ - protected function formatAttachRecords($ids, array $attributes) - { - $records = []; - - $hasTimestamps = ($this->hasPivotColumn($this->createdAt()) || - $this->hasPivotColumn($this->updatedAt())); - - // To create the attachment records, we will simply spin through the IDs given - // and create a new record to insert for each ID. Each ID may actually be a - // key in the array, with extra attributes to be placed in other columns. - foreach ($ids as $key => $value) { - $records[] = $this->formatAttachRecord( - $key, $value, $attributes, $hasTimestamps - ); - } - - return $records; - } - - /** - * Create a full attachment record payload. - * - * @param int $key - * @param mixed $value - * @param array $attributes - * @param bool $hasTimestamps - * @return array - */ - protected function formatAttachRecord($key, $value, $attributes, $hasTimestamps) - { - [$id, $attributes] = $this->extractAttachIdAndAttributes($key, $value, $attributes); - - return array_merge( - $this->baseAttachRecord($id, $hasTimestamps), $this->castAttributes($attributes) - ); - } - - /** - * Get the attach record ID and extra attributes. - * - * @param mixed $key - * @param mixed $value - * @param array $attributes - * @return array - */ - protected function extractAttachIdAndAttributes($key, $value, array $attributes) - { - return is_array($value) - ? [$key, array_merge($value, $attributes)] - : [$value, $attributes]; - } - - /** - * Create a new pivot attachment record. - * - * @param int $id - * @param bool $timed - * @return array - */ - protected function baseAttachRecord($id, $timed) - { - $record[$this->relatedPivotKey] = $id; - - $record[$this->foreignPivotKey] = $this->parent->{$this->parentKey}; - - // If the record needs to have creation and update timestamps, we will make - // them by calling the parent model's "freshTimestamp" method which will - // provide us with a fresh timestamp in this model's preferred format. - if ($timed) { - $record = $this->addTimestampsToAttachment($record); - } - - foreach ($this->pivotValues as $value) { - $record[$value['column']] = $value['value']; - } - - return $record; - } - - /** - * Set the creation and update timestamps on an attach record. - * - * @param array $record - * @param bool $exists - * @return array - */ - protected function addTimestampsToAttachment(array $record, $exists = false) - { - $fresh = $this->parent->freshTimestamp(); - - if ($this->using) { - $pivotModel = new $this->using; - - $fresh = $fresh->format($pivotModel->getDateFormat()); - } - - if (! $exists && $this->hasPivotColumn($this->createdAt())) { - $record[$this->createdAt()] = $fresh; - } - - if ($this->hasPivotColumn($this->updatedAt())) { - $record[$this->updatedAt()] = $fresh; - } - - return $record; - } - - /** - * Determine whether the given column is defined as a pivot column. - * - * @param string $column - * @return bool - */ - public function hasPivotColumn($column) - { - return in_array($column, $this->pivotColumns); - } - - /** - * Detach models from the relationship. - * - * @param mixed $ids - * @param bool $touch - * @return int - */ - public function detach($ids = null, $touch = true) - { - if ($this->using && ! empty($ids) && empty($this->pivotWheres) && empty($this->pivotWhereIns)) { - $results = $this->detachUsingCustomClass($ids); - } else { - $query = $this->newPivotQuery(); - - // If associated IDs were passed to the method we will only delete those - // associations, otherwise all of the association ties will be broken. - // We'll return the numbers of affected rows when we do the deletes. - if (! is_null($ids)) { - $ids = $this->parseIds($ids); - - if (empty($ids)) { - return 0; - } - - $query->whereIn($this->relatedPivotKey, (array) $ids); - } - - // Once we have all of the conditions set on the statement, we are ready - // to run the delete on the pivot table. Then, if the touch parameter - // is true, we will go ahead and touch all related models to sync. - $results = $query->delete(); - } - - if ($touch) { - $this->touchIfTouching(); - } - - return $results; - } - - /** - * Detach models from the relationship using a custom class. - * - * @param mixed $ids - * @return int - */ - protected function detachUsingCustomClass($ids) - { - $results = 0; - - foreach ($this->parseIds($ids) as $id) { - $results += $this->newPivot([ - $this->foreignPivotKey => $this->parent->{$this->parentKey}, - $this->relatedPivotKey => $id, - ], true)->delete(); - } - - return $results; - } - - /** - * Get the pivot models that are currently attached. - * - * @return \Illuminate\Support\Collection - */ - protected function getCurrentlyAttachedPivots() - { - return $this->currentlyAttached ?: $this->newPivotQuery()->get()->map(function ($record) { - $class = $this->using ? $this->using : Pivot::class; - - return (new $class)->setRawAttributes((array) $record, true); - }); - } - - /** - * Create a new pivot model instance. - * - * @param array $attributes - * @param bool $exists - * @return \Illuminate\Database\Eloquent\Relations\Pivot - */ - public function newPivot(array $attributes = [], $exists = false) - { - $pivot = $this->related->newPivot( - $this->parent, $attributes, $this->table, $exists, $this->using - ); - - return $pivot->setPivotKeys($this->foreignPivotKey, $this->relatedPivotKey); - } - - /** - * Create a new existing pivot model instance. - * - * @param array $attributes - * @return \Illuminate\Database\Eloquent\Relations\Pivot - */ - public function newExistingPivot(array $attributes = []) - { - return $this->newPivot($attributes, true); - } - - /** - * Get a new plain query builder for the pivot table. - * - * @return \Illuminate\Database\Query\Builder - */ - public function newPivotStatement() - { - return $this->query->getQuery()->newQuery()->from($this->table); - } - - /** - * Get a new pivot statement for a given "other" ID. - * - * @param mixed $id - * @return \Illuminate\Database\Query\Builder - */ - public function newPivotStatementForId($id) - { - return $this->newPivotQuery()->whereIn($this->relatedPivotKey, $this->parseIds($id)); - } - - /** - * Create a new query builder for the pivot table. - * - * @return \Illuminate\Database\Query\Builder - */ - protected function newPivotQuery() - { - $query = $this->newPivotStatement(); - - foreach ($this->pivotWheres as $arguments) { - call_user_func_array([$query, 'where'], $arguments); - } - - foreach ($this->pivotWhereIns as $arguments) { - call_user_func_array([$query, 'whereIn'], $arguments); - } - - return $query->where($this->foreignPivotKey, $this->parent->{$this->parentKey}); - } - - /** - * Set the columns on the pivot table to retrieve. - * - * @param array|mixed $columns - * @return $this - */ - public function withPivot($columns) - { - $this->pivotColumns = array_merge( - $this->pivotColumns, is_array($columns) ? $columns : func_get_args() - ); - - return $this; - } - - /** - * Get all of the IDs from the given mixed value. - * - * @param mixed $value - * @return array - */ - protected function parseIds($value) - { - if ($value instanceof Model) { - return [$value->{$this->relatedKey}]; - } - - if ($value instanceof Collection) { - return $value->pluck($this->relatedKey)->all(); - } - - if ($value instanceof BaseCollection) { - return $value->toArray(); - } - - return (array) $value; - } - - /** - * Get the ID from the given mixed value. - * - * @param mixed $value - * @return mixed - */ - protected function parseId($value) - { - return $value instanceof Model ? $value->{$this->relatedKey} : $value; - } - - /** - * Cast the given keys to integers if they are numeric and string otherwise. - * - * @param array $keys - * @return array - */ - protected function castKeys(array $keys) - { - return array_map(function ($v) { - return $this->castKey($v); - }, $keys); - } - - /** - * Cast the given key to convert to primary key type. - * - * @param mixed $key - * @return mixed - */ - protected function castKey($key) - { - return $this->getTypeSwapValue( - $this->related->getKeyType(), - $key - ); - } - - /** - * Cast the given pivot attributes. - * - * @param array $attributes - * @return array - */ - protected function castAttributes($attributes) - { - return $this->using - ? $this->newPivot()->fill($attributes)->getAttributes() - : $attributes; - } - - /** - * Converts a given value to a given type value. - * - * @param string $type - * @param mixed $value - * @return mixed - */ - protected function getTypeSwapValue($type, $value) - { - switch (strtolower($type)) { - case 'int': - case 'integer': - return (int) $value; - case 'real': - case 'float': - case 'double': - return (float) $value; - case 'string': - return (string) $value; - default: - return $value; - } - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/Concerns/SupportsDefaultModels.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/Concerns/SupportsDefaultModels.php deleted file mode 100644 index 74e758f..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/Concerns/SupportsDefaultModels.php +++ /dev/null @@ -1,63 +0,0 @@ -withDefault = $callback; - - return $this; - } - - /** - * Get the default value for this relation. - * - * @param \Illuminate\Database\Eloquent\Model $parent - * @return \Illuminate\Database\Eloquent\Model|null - */ - protected function getDefaultFor(Model $parent) - { - if (! $this->withDefault) { - return; - } - - $instance = $this->newRelatedInstanceFor($parent); - - if (is_callable($this->withDefault)) { - return call_user_func($this->withDefault, $instance, $parent) ?: $instance; - } - - if (is_array($this->withDefault)) { - $instance->forceFill($this->withDefault); - } - - return $instance; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/HasMany.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/HasMany.php deleted file mode 100644 index 8971a7d..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/HasMany.php +++ /dev/null @@ -1,49 +0,0 @@ -getParentKey()) - ? $this->query->get() - : $this->related->newCollection(); - } - - /** - * Initialize the relation on a set of models. - * - * @param array $models - * @param string $relation - * @return array - */ - public function initRelation(array $models, $relation) - { - foreach ($models as $model) { - $model->setRelation($relation, $this->related->newCollection()); - } - - return $models; - } - - /** - * Match the eagerly loaded results to their parents. - * - * @param array $models - * @param \Illuminate\Database\Eloquent\Collection $results - * @param string $relation - * @return array - */ - public function match(array $models, Collection $results, $relation) - { - return $this->matchMany($models, $results, $relation); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/HasManyThrough.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/HasManyThrough.php deleted file mode 100644 index 873ea89..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/HasManyThrough.php +++ /dev/null @@ -1,655 +0,0 @@ -localKey = $localKey; - $this->firstKey = $firstKey; - $this->secondKey = $secondKey; - $this->farParent = $farParent; - $this->throughParent = $throughParent; - $this->secondLocalKey = $secondLocalKey; - - parent::__construct($query, $throughParent); - } - - /** - * Set the base constraints on the relation query. - * - * @return void - */ - public function addConstraints() - { - $localValue = $this->farParent[$this->localKey]; - - $this->performJoin(); - - if (static::$constraints) { - $this->query->where($this->getQualifiedFirstKeyName(), '=', $localValue); - } - } - - /** - * Set the join clause on the query. - * - * @param \Illuminate\Database\Eloquent\Builder|null $query - * @return void - */ - protected function performJoin(Builder $query = null) - { - $query = $query ?: $this->query; - - $farKey = $this->getQualifiedFarKeyName(); - - $query->join($this->throughParent->getTable(), $this->getQualifiedParentKeyName(), '=', $farKey); - - if ($this->throughParentSoftDeletes()) { - $query->whereNull($this->throughParent->getQualifiedDeletedAtColumn()); - } - } - - /** - * Get the fully qualified parent key name. - * - * @return string - */ - public function getQualifiedParentKeyName() - { - return $this->parent->qualifyColumn($this->secondLocalKey); - } - - /** - * Determine whether "through" parent of the relation uses Soft Deletes. - * - * @return bool - */ - public function throughParentSoftDeletes() - { - return in_array(SoftDeletes::class, class_uses_recursive($this->throughParent)); - } - - /** - * Set the constraints for an eager load of the relation. - * - * @param array $models - * @return void - */ - public function addEagerConstraints(array $models) - { - $whereIn = $this->whereInMethod($this->farParent, $this->localKey); - - $this->query->{$whereIn}( - $this->getQualifiedFirstKeyName(), $this->getKeys($models, $this->localKey) - ); - } - - /** - * Initialize the relation on a set of models. - * - * @param array $models - * @param string $relation - * @return array - */ - public function initRelation(array $models, $relation) - { - foreach ($models as $model) { - $model->setRelation($relation, $this->related->newCollection()); - } - - return $models; - } - - /** - * Match the eagerly loaded results to their parents. - * - * @param array $models - * @param \Illuminate\Database\Eloquent\Collection $results - * @param string $relation - * @return array - */ - public function match(array $models, Collection $results, $relation) - { - $dictionary = $this->buildDictionary($results); - - // Once we have the dictionary we can simply spin through the parent models to - // link them up with their children using the keyed dictionary to make the - // matching very convenient and easy work. Then we'll just return them. - foreach ($models as $model) { - if (isset($dictionary[$key = $model->getAttribute($this->localKey)])) { - $model->setRelation( - $relation, $this->related->newCollection($dictionary[$key]) - ); - } - } - - return $models; - } - - /** - * Build model dictionary keyed by the relation's foreign key. - * - * @param \Illuminate\Database\Eloquent\Collection $results - * @return array - */ - protected function buildDictionary(Collection $results) - { - $dictionary = []; - - // First we will create a dictionary of models keyed by the foreign key of the - // relationship as this will allow us to quickly access all of the related - // models without having to do nested looping which will be quite slow. - foreach ($results as $result) { - $dictionary[$result->laravel_through_key][] = $result; - } - - return $dictionary; - } - - /** - * Get the first related model record matching the attributes or instantiate it. - * - * @param array $attributes - * @return \Illuminate\Database\Eloquent\Model - */ - public function firstOrNew(array $attributes) - { - if (is_null($instance = $this->where($attributes)->first())) { - $instance = $this->related->newInstance($attributes); - } - - return $instance; - } - - /** - * Create or update a related record matching the attributes, and fill it with values. - * - * @param array $attributes - * @param array $values - * @return \Illuminate\Database\Eloquent\Model - */ - public function updateOrCreate(array $attributes, array $values = []) - { - $instance = $this->firstOrNew($attributes); - - $instance->fill($values)->save(); - - return $instance; - } - - /** - * Execute the query and get the first related model. - * - * @param array $columns - * @return mixed - */ - public function first($columns = ['*']) - { - $results = $this->take(1)->get($columns); - - return count($results) > 0 ? $results->first() : null; - } - - /** - * Execute the query and get the first result or throw an exception. - * - * @param array $columns - * @return \Illuminate\Database\Eloquent\Model|static - * - * @throws \Illuminate\Database\Eloquent\ModelNotFoundException - */ - public function firstOrFail($columns = ['*']) - { - if (! is_null($model = $this->first($columns))) { - return $model; - } - - throw (new ModelNotFoundException)->setModel(get_class($this->related)); - } - - /** - * Find a related model by its primary key. - * - * @param mixed $id - * @param array $columns - * @return \Illuminate\Database\Eloquent\Model|\Illuminate\Database\Eloquent\Collection|null - */ - public function find($id, $columns = ['*']) - { - if (is_array($id)) { - return $this->findMany($id, $columns); - } - - return $this->where( - $this->getRelated()->getQualifiedKeyName(), '=', $id - )->first($columns); - } - - /** - * Find multiple related models by their primary keys. - * - * @param mixed $ids - * @param array $columns - * @return \Illuminate\Database\Eloquent\Collection - */ - public function findMany($ids, $columns = ['*']) - { - if (empty($ids)) { - return $this->getRelated()->newCollection(); - } - - return $this->whereIn( - $this->getRelated()->getQualifiedKeyName(), $ids - )->get($columns); - } - - /** - * Find a related model by its primary key or throw an exception. - * - * @param mixed $id - * @param array $columns - * @return \Illuminate\Database\Eloquent\Model|\Illuminate\Database\Eloquent\Collection - * - * @throws \Illuminate\Database\Eloquent\ModelNotFoundException - */ - public function findOrFail($id, $columns = ['*']) - { - $result = $this->find($id, $columns); - - if (is_array($id)) { - if (count($result) === count(array_unique($id))) { - return $result; - } - } elseif (! is_null($result)) { - return $result; - } - - throw (new ModelNotFoundException)->setModel(get_class($this->related), $id); - } - - /** - * Get the results of the relationship. - * - * @return mixed - */ - public function getResults() - { - return ! is_null($this->farParent->{$this->localKey}) - ? $this->get() - : $this->related->newCollection(); - } - - /** - * Execute the query as a "select" statement. - * - * @param array $columns - * @return \Illuminate\Database\Eloquent\Collection - */ - public function get($columns = ['*']) - { - $builder = $this->prepareQueryBuilder($columns); - - $models = $builder->getModels(); - - // If we actually found models we will also eager load any relationships that - // have been specified as needing to be eager loaded. This will solve the - // n + 1 query problem for the developer and also increase performance. - if (count($models) > 0) { - $models = $builder->eagerLoadRelations($models); - } - - return $this->related->newCollection($models); - } - - /** - * Get a paginator for the "select" statement. - * - * @param int $perPage - * @param array $columns - * @param string $pageName - * @param int $page - * @return \Illuminate\Contracts\Pagination\LengthAwarePaginator - */ - public function paginate($perPage = null, $columns = ['*'], $pageName = 'page', $page = null) - { - $this->query->addSelect($this->shouldSelect($columns)); - - return $this->query->paginate($perPage, $columns, $pageName, $page); - } - - /** - * Paginate the given query into a simple paginator. - * - * @param int $perPage - * @param array $columns - * @param string $pageName - * @param int|null $page - * @return \Illuminate\Contracts\Pagination\Paginator - */ - public function simplePaginate($perPage = null, $columns = ['*'], $pageName = 'page', $page = null) - { - $this->query->addSelect($this->shouldSelect($columns)); - - return $this->query->simplePaginate($perPage, $columns, $pageName, $page); - } - - /** - * Set the select clause for the relation query. - * - * @param array $columns - * @return array - */ - protected function shouldSelect(array $columns = ['*']) - { - if ($columns == ['*']) { - $columns = [$this->related->getTable().'.*']; - } - - return array_merge($columns, [$this->getQualifiedFirstKeyName().' as laravel_through_key']); - } - - /** - * Chunk the results of the query. - * - * @param int $count - * @param callable $callback - * @return bool - */ - public function chunk($count, callable $callback) - { - return $this->prepareQueryBuilder()->chunk($count, $callback); - } - - /** - * Chunk the results of a query by comparing numeric IDs. - * - * @param int $count - * @param callable $callback - * @param string|null $column - * @param string|null $alias - * @return bool - */ - public function chunkById($count, callable $callback, $column = null, $alias = null) - { - $column = $column ?? $this->getRelated()->getQualifiedKeyName(); - - $alias = $alias ?? $this->getRelated()->getKeyName(); - - return $this->prepareQueryBuilder()->chunkById($count, $callback, $column, $alias); - } - - /** - * Get a generator for the given query. - * - * @return \Generator - */ - public function cursor() - { - return $this->prepareQueryBuilder()->cursor(); - } - - /** - * Execute a callback over each item while chunking. - * - * @param callable $callback - * @param int $count - * @return bool - */ - public function each(callable $callback, $count = 1000) - { - return $this->chunk($count, function ($results) use ($callback) { - foreach ($results as $key => $value) { - if ($callback($value, $key) === false) { - return false; - } - } - }); - } - - /** - * Prepare the query builder for query execution. - * - * @param array $columns - * @return \Illuminate\Database\Eloquent\Builder - */ - protected function prepareQueryBuilder($columns = ['*']) - { - $builder = $this->query->applyScopes(); - - return $builder->addSelect( - $this->shouldSelect($builder->getQuery()->columns ? [] : $columns) - ); - } - - /** - * Add the constraints for a relationship query. - * - * @param \Illuminate\Database\Eloquent\Builder $query - * @param \Illuminate\Database\Eloquent\Builder $parentQuery - * @param array|mixed $columns - * @return \Illuminate\Database\Eloquent\Builder - */ - public function getRelationExistenceQuery(Builder $query, Builder $parentQuery, $columns = ['*']) - { - if ($parentQuery->getQuery()->from === $query->getQuery()->from) { - return $this->getRelationExistenceQueryForSelfRelation($query, $parentQuery, $columns); - } - - if ($parentQuery->getQuery()->from === $this->throughParent->getTable()) { - return $this->getRelationExistenceQueryForThroughSelfRelation($query, $parentQuery, $columns); - } - - $this->performJoin($query); - - return $query->select($columns)->whereColumn( - $this->getQualifiedLocalKeyName(), '=', $this->getQualifiedFirstKeyName() - ); - } - - /** - * Add the constraints for a relationship query on the same table. - * - * @param \Illuminate\Database\Eloquent\Builder $query - * @param \Illuminate\Database\Eloquent\Builder $parentQuery - * @param array|mixed $columns - * @return \Illuminate\Database\Eloquent\Builder - */ - public function getRelationExistenceQueryForSelfRelation(Builder $query, Builder $parentQuery, $columns = ['*']) - { - $query->from($query->getModel()->getTable().' as '.$hash = $this->getRelationCountHash()); - - $query->join($this->throughParent->getTable(), $this->getQualifiedParentKeyName(), '=', $hash.'.'.$this->secondKey); - - if ($this->throughParentSoftDeletes()) { - $query->whereNull($this->throughParent->getQualifiedDeletedAtColumn()); - } - - $query->getModel()->setTable($hash); - - return $query->select($columns)->whereColumn( - $parentQuery->getQuery()->from.'.'.$this->localKey, '=', $this->getQualifiedFirstKeyName() - ); - } - - /** - * Add the constraints for a relationship query on the same table as the through parent. - * - * @param \Illuminate\Database\Eloquent\Builder $query - * @param \Illuminate\Database\Eloquent\Builder $parentQuery - * @param array|mixed $columns - * @return \Illuminate\Database\Eloquent\Builder - */ - public function getRelationExistenceQueryForThroughSelfRelation(Builder $query, Builder $parentQuery, $columns = ['*']) - { - $table = $this->throughParent->getTable().' as '.$hash = $this->getRelationCountHash(); - - $query->join($table, $hash.'.'.$this->secondLocalKey, '=', $this->getQualifiedFarKeyName()); - - if ($this->throughParentSoftDeletes()) { - $query->whereNull($hash.'.'.$this->throughParent->getDeletedAtColumn()); - } - - return $query->select($columns)->whereColumn( - $parentQuery->getQuery()->from.'.'.$this->localKey, '=', $hash.'.'.$this->firstKey - ); - } - - /** - * Get a relationship join table hash. - * - * @return string - */ - public function getRelationCountHash() - { - return 'laravel_reserved_'.static::$selfJoinCount++; - } - - /** - * Get the qualified foreign key on the related model. - * - * @return string - */ - public function getQualifiedFarKeyName() - { - return $this->getQualifiedForeignKeyName(); - } - - /** - * Get the foreign key on the "through" model. - * - * @return string - */ - public function getFirstKeyName() - { - return $this->firstKey; - } - - /** - * Get the qualified foreign key on the "through" model. - * - * @return string - */ - public function getQualifiedFirstKeyName() - { - return $this->throughParent->qualifyColumn($this->firstKey); - } - - /** - * Get the foreign key on the related model. - * - * @return string - */ - public function getForeignKeyName() - { - return $this->secondKey; - } - - /** - * Get the qualified foreign key on the related model. - * - * @return string - */ - public function getQualifiedForeignKeyName() - { - return $this->related->qualifyColumn($this->secondKey); - } - - /** - * Get the local key on the far parent model. - * - * @return string - */ - public function getLocalKeyName() - { - return $this->localKey; - } - - /** - * Get the qualified local key on the far parent model. - * - * @return string - */ - public function getQualifiedLocalKeyName() - { - return $this->farParent->qualifyColumn($this->localKey); - } - - /** - * Get the local key on the intermediary model. - * - * @return string - */ - public function getSecondLocalKeyName() - { - return $this->secondLocalKey; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/HasOne.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/HasOne.php deleted file mode 100644 index e4763ff..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/HasOne.php +++ /dev/null @@ -1,68 +0,0 @@ -getParentKey())) { - return $this->getDefaultFor($this->parent); - } - - return $this->query->first() ?: $this->getDefaultFor($this->parent); - } - - /** - * Initialize the relation on a set of models. - * - * @param array $models - * @param string $relation - * @return array - */ - public function initRelation(array $models, $relation) - { - foreach ($models as $model) { - $model->setRelation($relation, $this->getDefaultFor($model)); - } - - return $models; - } - - /** - * Match the eagerly loaded results to their parents. - * - * @param array $models - * @param \Illuminate\Database\Eloquent\Collection $results - * @param string $relation - * @return array - */ - public function match(array $models, Collection $results, $relation) - { - return $this->matchOne($models, $results, $relation); - } - - /** - * Make a new related instance for the given model. - * - * @param \Illuminate\Database\Eloquent\Model $parent - * @return \Illuminate\Database\Eloquent\Model - */ - public function newRelatedInstanceFor(Model $parent) - { - return $this->related->newInstance()->setAttribute( - $this->getForeignKeyName(), $parent->{$this->localKey} - ); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/HasOneOrMany.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/HasOneOrMany.php deleted file mode 100644 index af59df9..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/HasOneOrMany.php +++ /dev/null @@ -1,420 +0,0 @@ -localKey = $localKey; - $this->foreignKey = $foreignKey; - - parent::__construct($query, $parent); - } - - /** - * Create and return an un-saved instance of the related model. - * - * @param array $attributes - * @return \Illuminate\Database\Eloquent\Model - */ - public function make(array $attributes = []) - { - return tap($this->related->newInstance($attributes), function ($instance) { - $this->setForeignAttributesForCreate($instance); - }); - } - - /** - * Set the base constraints on the relation query. - * - * @return void - */ - public function addConstraints() - { - if (static::$constraints) { - $this->query->where($this->foreignKey, '=', $this->getParentKey()); - - $this->query->whereNotNull($this->foreignKey); - } - } - - /** - * Set the constraints for an eager load of the relation. - * - * @param array $models - * @return void - */ - public function addEagerConstraints(array $models) - { - $whereIn = $this->whereInMethod($this->parent, $this->localKey); - - $this->query->{$whereIn}( - $this->foreignKey, $this->getKeys($models, $this->localKey) - ); - } - - /** - * Match the eagerly loaded results to their single parents. - * - * @param array $models - * @param \Illuminate\Database\Eloquent\Collection $results - * @param string $relation - * @return array - */ - public function matchOne(array $models, Collection $results, $relation) - { - return $this->matchOneOrMany($models, $results, $relation, 'one'); - } - - /** - * Match the eagerly loaded results to their many parents. - * - * @param array $models - * @param \Illuminate\Database\Eloquent\Collection $results - * @param string $relation - * @return array - */ - public function matchMany(array $models, Collection $results, $relation) - { - return $this->matchOneOrMany($models, $results, $relation, 'many'); - } - - /** - * Match the eagerly loaded results to their many parents. - * - * @param array $models - * @param \Illuminate\Database\Eloquent\Collection $results - * @param string $relation - * @param string $type - * @return array - */ - protected function matchOneOrMany(array $models, Collection $results, $relation, $type) - { - $dictionary = $this->buildDictionary($results); - - // Once we have the dictionary we can simply spin through the parent models to - // link them up with their children using the keyed dictionary to make the - // matching very convenient and easy work. Then we'll just return them. - foreach ($models as $model) { - if (isset($dictionary[$key = $model->getAttribute($this->localKey)])) { - $model->setRelation( - $relation, $this->getRelationValue($dictionary, $key, $type) - ); - } - } - - return $models; - } - - /** - * Get the value of a relationship by one or many type. - * - * @param array $dictionary - * @param string $key - * @param string $type - * @return mixed - */ - protected function getRelationValue(array $dictionary, $key, $type) - { - $value = $dictionary[$key]; - - return $type === 'one' ? reset($value) : $this->related->newCollection($value); - } - - /** - * Build model dictionary keyed by the relation's foreign key. - * - * @param \Illuminate\Database\Eloquent\Collection $results - * @return array - */ - protected function buildDictionary(Collection $results) - { - $foreign = $this->getForeignKeyName(); - - return $results->mapToDictionary(function ($result) use ($foreign) { - return [$result->{$foreign} => $result]; - })->all(); - } - - /** - * Find a model by its primary key or return new instance of the related model. - * - * @param mixed $id - * @param array $columns - * @return \Illuminate\Support\Collection|\Illuminate\Database\Eloquent\Model - */ - public function findOrNew($id, $columns = ['*']) - { - if (is_null($instance = $this->find($id, $columns))) { - $instance = $this->related->newInstance(); - - $this->setForeignAttributesForCreate($instance); - } - - return $instance; - } - - /** - * Get the first related model record matching the attributes or instantiate it. - * - * @param array $attributes - * @param array $values - * @return \Illuminate\Database\Eloquent\Model - */ - public function firstOrNew(array $attributes, array $values = []) - { - if (is_null($instance = $this->where($attributes)->first())) { - $instance = $this->related->newInstance($attributes + $values); - - $this->setForeignAttributesForCreate($instance); - } - - return $instance; - } - - /** - * Get the first related record matching the attributes or create it. - * - * @param array $attributes - * @param array $values - * @return \Illuminate\Database\Eloquent\Model - */ - public function firstOrCreate(array $attributes, array $values = []) - { - if (is_null($instance = $this->where($attributes)->first())) { - $instance = $this->create($attributes + $values); - } - - return $instance; - } - - /** - * Create or update a related record matching the attributes, and fill it with values. - * - * @param array $attributes - * @param array $values - * @return \Illuminate\Database\Eloquent\Model - */ - public function updateOrCreate(array $attributes, array $values = []) - { - return tap($this->firstOrNew($attributes), function ($instance) use ($values) { - $instance->fill($values); - - $instance->save(); - }); - } - - /** - * Attach a model instance to the parent model. - * - * @param \Illuminate\Database\Eloquent\Model $model - * @return \Illuminate\Database\Eloquent\Model|false - */ - public function save(Model $model) - { - $this->setForeignAttributesForCreate($model); - - return $model->save() ? $model : false; - } - - /** - * Attach a collection of models to the parent instance. - * - * @param iterable $models - * @return iterable - */ - public function saveMany($models) - { - foreach ($models as $model) { - $this->save($model); - } - - return $models; - } - - /** - * Create a new instance of the related model. - * - * @param array $attributes - * @return \Illuminate\Database\Eloquent\Model - */ - public function create(array $attributes = []) - { - return tap($this->related->newInstance($attributes), function ($instance) { - $this->setForeignAttributesForCreate($instance); - - $instance->save(); - }); - } - - /** - * Create a Collection of new instances of the related model. - * - * @param array $records - * @return \Illuminate\Database\Eloquent\Collection - */ - public function createMany(array $records) - { - $instances = $this->related->newCollection(); - - foreach ($records as $record) { - $instances->push($this->create($record)); - } - - return $instances; - } - - /** - * Set the foreign ID for creating a related model. - * - * @param \Illuminate\Database\Eloquent\Model $model - * @return void - */ - protected function setForeignAttributesForCreate(Model $model) - { - $model->setAttribute($this->getForeignKeyName(), $this->getParentKey()); - } - - /** - * Add the constraints for a relationship query. - * - * @param \Illuminate\Database\Eloquent\Builder $query - * @param \Illuminate\Database\Eloquent\Builder $parentQuery - * @param array|mixed $columns - * @return \Illuminate\Database\Eloquent\Builder - */ - public function getRelationExistenceQuery(Builder $query, Builder $parentQuery, $columns = ['*']) - { - if ($query->getQuery()->from == $parentQuery->getQuery()->from) { - return $this->getRelationExistenceQueryForSelfRelation($query, $parentQuery, $columns); - } - - return parent::getRelationExistenceQuery($query, $parentQuery, $columns); - } - - /** - * Add the constraints for a relationship query on the same table. - * - * @param \Illuminate\Database\Eloquent\Builder $query - * @param \Illuminate\Database\Eloquent\Builder $parentQuery - * @param array|mixed $columns - * @return \Illuminate\Database\Eloquent\Builder - */ - public function getRelationExistenceQueryForSelfRelation(Builder $query, Builder $parentQuery, $columns = ['*']) - { - $query->from($query->getModel()->getTable().' as '.$hash = $this->getRelationCountHash()); - - $query->getModel()->setTable($hash); - - return $query->select($columns)->whereColumn( - $this->getQualifiedParentKeyName(), '=', $hash.'.'.$this->getForeignKeyName() - ); - } - - /** - * Get a relationship join table hash. - * - * @return string - */ - public function getRelationCountHash() - { - return 'laravel_reserved_'.static::$selfJoinCount++; - } - - /** - * Get the key for comparing against the parent key in "has" query. - * - * @return string - */ - public function getExistenceCompareKey() - { - return $this->getQualifiedForeignKeyName(); - } - - /** - * Get the key value of the parent's local key. - * - * @return mixed - */ - public function getParentKey() - { - return $this->parent->getAttribute($this->localKey); - } - - /** - * Get the fully qualified parent key name. - * - * @return string - */ - public function getQualifiedParentKeyName() - { - return $this->parent->qualifyColumn($this->localKey); - } - - /** - * Get the plain foreign key. - * - * @return string - */ - public function getForeignKeyName() - { - $segments = explode('.', $this->getQualifiedForeignKeyName()); - - return end($segments); - } - - /** - * Get the foreign key for the relationship. - * - * @return string - */ - public function getQualifiedForeignKeyName() - { - return $this->foreignKey; - } - - /** - * Get the local key for the relationship. - * - * @return string - */ - public function getLocalKeyName() - { - return $this->localKey; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/HasOneThrough.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/HasOneThrough.php deleted file mode 100644 index 86bd35d..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/HasOneThrough.php +++ /dev/null @@ -1,76 +0,0 @@ -first() ?: $this->getDefaultFor($this->farParent); - } - - /** - * Initialize the relation on a set of models. - * - * @param array $models - * @param string $relation - * @return array - */ - public function initRelation(array $models, $relation) - { - foreach ($models as $model) { - $model->setRelation($relation, $this->getDefaultFor($model)); - } - - return $models; - } - - /** - * Match the eagerly loaded results to their parents. - * - * @param array $models - * @param \Illuminate\Database\Eloquent\Collection $results - * @param string $relation - * @return array - */ - public function match(array $models, Collection $results, $relation) - { - $dictionary = $this->buildDictionary($results); - - // Once we have the dictionary we can simply spin through the parent models to - // link them up with their children using the keyed dictionary to make the - // matching very convenient and easy work. Then we'll just return them. - foreach ($models as $model) { - if (isset($dictionary[$key = $model->getAttribute($this->localKey)])) { - $value = $dictionary[$key]; - $model->setRelation( - $relation, reset($value) - ); - } - } - - return $models; - } - - /** - * Make a new related instance for the given model. - * - * @param \Illuminate\Database\Eloquent\Model $parent - * @return \Illuminate\Database\Eloquent\Model - */ - public function newRelatedInstanceFor(Model $parent) - { - return $this->related->newInstance(); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/MorphMany.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/MorphMany.php deleted file mode 100644 index a4c6376..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/MorphMany.php +++ /dev/null @@ -1,49 +0,0 @@ -getParentKey()) - ? $this->query->get() - : $this->related->newCollection(); - } - - /** - * Initialize the relation on a set of models. - * - * @param array $models - * @param string $relation - * @return array - */ - public function initRelation(array $models, $relation) - { - foreach ($models as $model) { - $model->setRelation($relation, $this->related->newCollection()); - } - - return $models; - } - - /** - * Match the eagerly loaded results to their parents. - * - * @param array $models - * @param \Illuminate\Database\Eloquent\Collection $results - * @param string $relation - * @return array - */ - public function match(array $models, Collection $results, $relation) - { - return $this->matchMany($models, $results, $relation); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/MorphOne.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/MorphOne.php deleted file mode 100644 index 0327ffa..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/MorphOne.php +++ /dev/null @@ -1,68 +0,0 @@ -getParentKey())) { - return $this->getDefaultFor($this->parent); - } - - return $this->query->first() ?: $this->getDefaultFor($this->parent); - } - - /** - * Initialize the relation on a set of models. - * - * @param array $models - * @param string $relation - * @return array - */ - public function initRelation(array $models, $relation) - { - foreach ($models as $model) { - $model->setRelation($relation, $this->getDefaultFor($model)); - } - - return $models; - } - - /** - * Match the eagerly loaded results to their parents. - * - * @param array $models - * @param \Illuminate\Database\Eloquent\Collection $results - * @param string $relation - * @return array - */ - public function match(array $models, Collection $results, $relation) - { - return $this->matchOne($models, $results, $relation); - } - - /** - * Make a new related instance for the given model. - * - * @param \Illuminate\Database\Eloquent\Model $parent - * @return \Illuminate\Database\Eloquent\Model - */ - public function newRelatedInstanceFor(Model $parent) - { - return $this->related->newInstance() - ->setAttribute($this->getForeignKeyName(), $parent->{$this->localKey}) - ->setAttribute($this->getMorphType(), $this->morphClass); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/MorphOneOrMany.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/MorphOneOrMany.php deleted file mode 100644 index 03a776b..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/MorphOneOrMany.php +++ /dev/null @@ -1,127 +0,0 @@ -morphType = $type; - - $this->morphClass = $parent->getMorphClass(); - - parent::__construct($query, $parent, $id, $localKey); - } - - /** - * Set the base constraints on the relation query. - * - * @return void - */ - public function addConstraints() - { - if (static::$constraints) { - parent::addConstraints(); - - $this->query->where($this->morphType, $this->morphClass); - } - } - - /** - * Set the constraints for an eager load of the relation. - * - * @param array $models - * @return void - */ - public function addEagerConstraints(array $models) - { - parent::addEagerConstraints($models); - - $this->query->where($this->morphType, $this->morphClass); - } - - /** - * Set the foreign ID and type for creating a related model. - * - * @param \Illuminate\Database\Eloquent\Model $model - * @return void - */ - protected function setForeignAttributesForCreate(Model $model) - { - $model->{$this->getForeignKeyName()} = $this->getParentKey(); - - $model->{$this->getMorphType()} = $this->morphClass; - } - - /** - * Get the relationship query. - * - * @param \Illuminate\Database\Eloquent\Builder $query - * @param \Illuminate\Database\Eloquent\Builder $parentQuery - * @param array|mixed $columns - * @return \Illuminate\Database\Eloquent\Builder - */ - public function getRelationExistenceQuery(Builder $query, Builder $parentQuery, $columns = ['*']) - { - return parent::getRelationExistenceQuery($query, $parentQuery, $columns)->where( - $query->qualifyColumn($this->getMorphType()), $this->morphClass - ); - } - - /** - * Get the foreign key "type" name. - * - * @return string - */ - public function getQualifiedMorphType() - { - return $this->morphType; - } - - /** - * Get the plain morph type name without the table. - * - * @return string - */ - public function getMorphType() - { - return last(explode('.', $this->morphType)); - } - - /** - * Get the class name of the parent model. - * - * @return string - */ - public function getMorphClass() - { - return $this->morphClass; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/MorphPivot.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/MorphPivot.php deleted file mode 100644 index d649554..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/MorphPivot.php +++ /dev/null @@ -1,150 +0,0 @@ -where($this->morphType, $this->morphClass); - - return parent::setKeysForSaveQuery($query); - } - - /** - * Delete the pivot model record from the database. - * - * @return int - */ - public function delete() - { - $query = $this->getDeleteQuery(); - - $query->where($this->morphType, $this->morphClass); - - return $query->delete(); - } - - /** - * Set the morph type for the pivot. - * - * @param string $morphType - * @return $this - */ - public function setMorphType($morphType) - { - $this->morphType = $morphType; - - return $this; - } - - /** - * Set the morph class for the pivot. - * - * @param string $morphClass - * @return \Illuminate\Database\Eloquent\Relations\MorphPivot - */ - public function setMorphClass($morphClass) - { - $this->morphClass = $morphClass; - - return $this; - } - - /** - * Get the queueable identity for the entity. - * - * @return mixed - */ - public function getQueueableId() - { - if (isset($this->attributes[$this->getKeyName()])) { - return $this->getKey(); - } - - return sprintf( - '%s:%s:%s:%s:%s:%s', - $this->foreignKey, $this->getAttribute($this->foreignKey), - $this->relatedKey, $this->getAttribute($this->relatedKey), - $this->morphType, $this->morphClass - ); - } - - /** - * Get a new query to restore one or more models by their queueable IDs. - * - * @param array|int $ids - * @return \Illuminate\Database\Eloquent\Builder - */ - public function newQueryForRestoration($ids) - { - if (is_array($ids)) { - return $this->newQueryForCollectionRestoration($ids); - } - - if (! Str::contains($ids, ':')) { - return parent::newQueryForRestoration($ids); - } - - $segments = explode(':', $ids); - - return $this->newQueryWithoutScopes() - ->where($segments[0], $segments[1]) - ->where($segments[2], $segments[3]) - ->where($segments[4], $segments[5]); - } - - /** - * Get a new query to restore multiple models by their queueable IDs. - * - * @param array $ids - * @return \Illuminate\Database\Eloquent\Builder - */ - protected function newQueryForCollectionRestoration(array $ids) - { - if (! Str::contains($ids[0], ':')) { - return parent::newQueryForRestoration($ids); - } - - $query = $this->newQueryWithoutScopes(); - - foreach ($ids as $id) { - $segments = explode(':', $id); - - $query->orWhere(function ($query) use ($segments) { - return $query->where($segments[0], $segments[1]) - ->where($segments[2], $segments[3]) - ->where($segments[4], $segments[5]); - }); - } - - return $query; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/MorphTo.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/MorphTo.php deleted file mode 100644 index 521730b..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/MorphTo.php +++ /dev/null @@ -1,326 +0,0 @@ -morphType = $type; - - parent::__construct($query, $parent, $foreignKey, $ownerKey, $relation); - } - - /** - * Set the constraints for an eager load of the relation. - * - * @param array $models - * @return void - */ - public function addEagerConstraints(array $models) - { - $this->buildDictionary($this->models = Collection::make($models)); - } - - /** - * Build a dictionary with the models. - * - * @param \Illuminate\Database\Eloquent\Collection $models - * @return void - */ - protected function buildDictionary(Collection $models) - { - foreach ($models as $model) { - if ($model->{$this->morphType}) { - $this->dictionary[$model->{$this->morphType}][$model->{$this->foreignKey}][] = $model; - } - } - } - - /** - * Get the results of the relationship. - * - * Called via eager load method of Eloquent query builder. - * - * @return mixed - */ - public function getEager() - { - foreach (array_keys($this->dictionary) as $type) { - $this->matchToMorphParents($type, $this->getResultsByType($type)); - } - - return $this->models; - } - - /** - * Get all of the relation results for a type. - * - * @param string $type - * @return \Illuminate\Database\Eloquent\Collection - */ - protected function getResultsByType($type) - { - $instance = $this->createModelByType($type); - - $ownerKey = $this->ownerKey ?? $instance->getKeyName(); - - $query = $this->replayMacros($instance->newQuery()) - ->mergeConstraintsFrom($this->getQuery()) - ->with(array_merge( - $this->getQuery()->getEagerLoads(), - (array) ($this->morphableEagerLoads[get_class($instance)] ?? []) - )); - - $whereIn = $this->whereInMethod($instance, $ownerKey); - - return $query->{$whereIn}( - $instance->getTable().'.'.$ownerKey, $this->gatherKeysByType($type) - )->get(); - } - - /** - * Gather all of the foreign keys for a given type. - * - * @param string $type - * @return array - */ - protected function gatherKeysByType($type) - { - return collect($this->dictionary[$type])->map(function ($models) { - return head($models)->{$this->foreignKey}; - })->values()->unique()->all(); - } - - /** - * Create a new model instance by type. - * - * @param string $type - * @return \Illuminate\Database\Eloquent\Model - */ - public function createModelByType($type) - { - $class = Model::getActualClassNameForMorph($type); - - return new $class; - } - - /** - * Match the eagerly loaded results to their parents. - * - * @param array $models - * @param \Illuminate\Database\Eloquent\Collection $results - * @param string $relation - * @return array - */ - public function match(array $models, Collection $results, $relation) - { - return $models; - } - - /** - * Match the results for a given type to their parents. - * - * @param string $type - * @param \Illuminate\Database\Eloquent\Collection $results - * @return void - */ - protected function matchToMorphParents($type, Collection $results) - { - foreach ($results as $result) { - $ownerKey = ! is_null($this->ownerKey) ? $result->{$this->ownerKey} : $result->getKey(); - - if (isset($this->dictionary[$type][$ownerKey])) { - foreach ($this->dictionary[$type][$ownerKey] as $model) { - $model->setRelation($this->relationName, $result); - } - } - } - } - - /** - * Associate the model instance to the given parent. - * - * @param \Illuminate\Database\Eloquent\Model $model - * @return \Illuminate\Database\Eloquent\Model - */ - public function associate($model) - { - $this->parent->setAttribute( - $this->foreignKey, $model instanceof Model ? $model->getKey() : null - ); - - $this->parent->setAttribute( - $this->morphType, $model instanceof Model ? $model->getMorphClass() : null - ); - - return $this->parent->setRelation($this->relationName, $model); - } - - /** - * Dissociate previously associated model from the given parent. - * - * @return \Illuminate\Database\Eloquent\Model - */ - public function dissociate() - { - $this->parent->setAttribute($this->foreignKey, null); - - $this->parent->setAttribute($this->morphType, null); - - return $this->parent->setRelation($this->relationName, null); - } - - /** - * Touch all of the related models for the relationship. - * - * @return void - */ - public function touch() - { - if (! is_null($this->child->{$this->foreignKey})) { - parent::touch(); - } - } - - /** - * Make a new related instance for the given model. - * - * @param \Illuminate\Database\Eloquent\Model $parent - * @return \Illuminate\Database\Eloquent\Model - */ - protected function newRelatedInstanceFor(Model $parent) - { - return $parent->{$this->getRelationName()}()->getRelated()->newInstance(); - } - - /** - * Get the foreign key "type" name. - * - * @return string - */ - public function getMorphType() - { - return $this->morphType; - } - - /** - * Get the dictionary used by the relationship. - * - * @return array - */ - public function getDictionary() - { - return $this->dictionary; - } - - /** - * Specify which relations to load for a given morph type. - * - * @param array $with - * @return \Illuminate\Database\Eloquent\Relations\MorphTo - */ - public function morphWith(array $with) - { - $this->morphableEagerLoads = array_merge( - $this->morphableEagerLoads, $with - ); - - return $this; - } - - /** - * Replay stored macro calls on the actual related instance. - * - * @param \Illuminate\Database\Eloquent\Builder $query - * @return \Illuminate\Database\Eloquent\Builder - */ - protected function replayMacros(Builder $query) - { - foreach ($this->macroBuffer as $macro) { - $query->{$macro['method']}(...$macro['parameters']); - } - - return $query; - } - - /** - * Handle dynamic method calls to the relationship. - * - * @param string $method - * @param array $parameters - * @return mixed - */ - public function __call($method, $parameters) - { - try { - $result = parent::__call($method, $parameters); - - if (in_array($method, ['select', 'selectRaw', 'selectSub', 'addSelect', 'withoutGlobalScopes'])) { - $this->macroBuffer[] = compact('method', 'parameters'); - } - - return $result; - } - - // If we tried to call a method that does not exist on the parent Builder instance, - // we'll assume that we want to call a query macro (e.g. withTrashed) that only - // exists on related models. We will just store the call and replay it later. - catch (BadMethodCallException $e) { - $this->macroBuffer[] = compact('method', 'parameters'); - - return $this; - } - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/MorphToMany.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/MorphToMany.php deleted file mode 100644 index e487af0..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/MorphToMany.php +++ /dev/null @@ -1,194 +0,0 @@ -inverse = $inverse; - $this->morphType = $name.'_type'; - $this->morphClass = $inverse ? $query->getModel()->getMorphClass() : $parent->getMorphClass(); - - parent::__construct( - $query, $parent, $table, $foreignPivotKey, - $relatedPivotKey, $parentKey, $relatedKey, $relationName - ); - } - - /** - * Set the where clause for the relation query. - * - * @return $this - */ - protected function addWhereConstraints() - { - parent::addWhereConstraints(); - - $this->query->where($this->table.'.'.$this->morphType, $this->morphClass); - - return $this; - } - - /** - * Set the constraints for an eager load of the relation. - * - * @param array $models - * @return void - */ - public function addEagerConstraints(array $models) - { - parent::addEagerConstraints($models); - - $this->query->where($this->table.'.'.$this->morphType, $this->morphClass); - } - - /** - * Create a new pivot attachment record. - * - * @param int $id - * @param bool $timed - * @return array - */ - protected function baseAttachRecord($id, $timed) - { - return Arr::add( - parent::baseAttachRecord($id, $timed), $this->morphType, $this->morphClass - ); - } - - /** - * Add the constraints for a relationship count query. - * - * @param \Illuminate\Database\Eloquent\Builder $query - * @param \Illuminate\Database\Eloquent\Builder $parentQuery - * @param array|mixed $columns - * @return \Illuminate\Database\Eloquent\Builder - */ - public function getRelationExistenceQuery(Builder $query, Builder $parentQuery, $columns = ['*']) - { - return parent::getRelationExistenceQuery($query, $parentQuery, $columns)->where( - $this->table.'.'.$this->morphType, $this->morphClass - ); - } - - /** - * Create a new query builder for the pivot table. - * - * @return \Illuminate\Database\Query\Builder - */ - protected function newPivotQuery() - { - return parent::newPivotQuery()->where($this->morphType, $this->morphClass); - } - - /** - * Create a new pivot model instance. - * - * @param array $attributes - * @param bool $exists - * @return \Illuminate\Database\Eloquent\Relations\Pivot - */ - public function newPivot(array $attributes = [], $exists = false) - { - $using = $this->using; - - $pivot = $using ? $using::fromRawAttributes($this->parent, $attributes, $this->table, $exists) - : MorphPivot::fromAttributes($this->parent, $attributes, $this->table, $exists); - - $pivot->setPivotKeys($this->foreignPivotKey, $this->relatedPivotKey) - ->setMorphType($this->morphType) - ->setMorphClass($this->morphClass); - - return $pivot; - } - - /** - * Get the pivot columns for the relation. - * - * "pivot_" is prefixed at each column for easy removal later. - * - * @return array - */ - protected function aliasedPivotColumns() - { - $defaults = [$this->foreignPivotKey, $this->relatedPivotKey, $this->morphType]; - - return collect(array_merge($defaults, $this->pivotColumns))->map(function ($column) { - return $this->table.'.'.$column.' as pivot_'.$column; - })->unique()->all(); - } - - /** - * Get the foreign key "type" name. - * - * @return string - */ - public function getMorphType() - { - return $this->morphType; - } - - /** - * Get the class name of the parent model. - * - * @return string - */ - public function getMorphClass() - { - return $this->morphClass; - } - - /** - * Get the indicator for a reverse relationship. - * - * @return bool - */ - public function getInverse() - { - return $this->inverse; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/Pivot.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/Pivot.php deleted file mode 100644 index a65ecde..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/Pivot.php +++ /dev/null @@ -1,25 +0,0 @@ -query = $query; - $this->parent = $parent; - $this->related = $query->getModel(); - - $this->addConstraints(); - } - - /** - * Run a callback with constraints disabled on the relation. - * - * @param \Closure $callback - * @return mixed - */ - public static function noConstraints(Closure $callback) - { - $previous = static::$constraints; - - static::$constraints = false; - - // When resetting the relation where clause, we want to shift the first element - // off of the bindings, leaving only the constraints that the developers put - // as "extra" on the relationships, and not original relation constraints. - try { - return call_user_func($callback); - } finally { - static::$constraints = $previous; - } - } - - /** - * Set the base constraints on the relation query. - * - * @return void - */ - abstract public function addConstraints(); - - /** - * Set the constraints for an eager load of the relation. - * - * @param array $models - * @return void - */ - abstract public function addEagerConstraints(array $models); - - /** - * Initialize the relation on a set of models. - * - * @param array $models - * @param string $relation - * @return array - */ - abstract public function initRelation(array $models, $relation); - - /** - * Match the eagerly loaded results to their parents. - * - * @param array $models - * @param \Illuminate\Database\Eloquent\Collection $results - * @param string $relation - * @return array - */ - abstract public function match(array $models, Collection $results, $relation); - - /** - * Get the results of the relationship. - * - * @return mixed - */ - abstract public function getResults(); - - /** - * Get the relationship for eager loading. - * - * @return \Illuminate\Database\Eloquent\Collection - */ - public function getEager() - { - return $this->get(); - } - - /** - * Execute the query as a "select" statement. - * - * @param array $columns - * @return \Illuminate\Database\Eloquent\Collection - */ - public function get($columns = ['*']) - { - return $this->query->get($columns); - } - - /** - * Touch all of the related models for the relationship. - * - * @return void - */ - public function touch() - { - $model = $this->getRelated(); - - if (! $model::isIgnoringTouch()) { - $this->rawUpdate([ - $model->getUpdatedAtColumn() => $model->freshTimestampString(), - ]); - } - } - - /** - * Run a raw update against the base query. - * - * @param array $attributes - * @return int - */ - public function rawUpdate(array $attributes = []) - { - return $this->query->withoutGlobalScopes()->update($attributes); - } - - /** - * Add the constraints for a relationship count query. - * - * @param \Illuminate\Database\Eloquent\Builder $query - * @param \Illuminate\Database\Eloquent\Builder $parentQuery - * @return \Illuminate\Database\Eloquent\Builder - */ - public function getRelationExistenceCountQuery(Builder $query, Builder $parentQuery) - { - return $this->getRelationExistenceQuery( - $query, $parentQuery, new Expression('count(*)') - )->setBindings([], 'select'); - } - - /** - * Add the constraints for an internal relationship existence query. - * - * Essentially, these queries compare on column names like whereColumn. - * - * @param \Illuminate\Database\Eloquent\Builder $query - * @param \Illuminate\Database\Eloquent\Builder $parentQuery - * @param array|mixed $columns - * @return \Illuminate\Database\Eloquent\Builder - */ - public function getRelationExistenceQuery(Builder $query, Builder $parentQuery, $columns = ['*']) - { - return $query->select($columns)->whereColumn( - $this->getQualifiedParentKeyName(), '=', $this->getExistenceCompareKey() - ); - } - - /** - * Get all of the primary keys for an array of models. - * - * @param array $models - * @param string $key - * @return array - */ - protected function getKeys(array $models, $key = null) - { - return collect($models)->map(function ($value) use ($key) { - return $key ? $value->getAttribute($key) : $value->getKey(); - })->values()->unique(null, true)->sort()->all(); - } - - /** - * Get the underlying query for the relation. - * - * @return \Illuminate\Database\Eloquent\Builder - */ - public function getQuery() - { - return $this->query; - } - - /** - * Get the base query builder driving the Eloquent builder. - * - * @return \Illuminate\Database\Query\Builder - */ - public function getBaseQuery() - { - return $this->query->getQuery(); - } - - /** - * Get the parent model of the relation. - * - * @return \Illuminate\Database\Eloquent\Model - */ - public function getParent() - { - return $this->parent; - } - - /** - * Get the fully qualified parent key name. - * - * @return string - */ - public function getQualifiedParentKeyName() - { - return $this->parent->getQualifiedKeyName(); - } - - /** - * Get the related model of the relation. - * - * @return \Illuminate\Database\Eloquent\Model - */ - public function getRelated() - { - return $this->related; - } - - /** - * Get the name of the "created at" column. - * - * @return string - */ - public function createdAt() - { - return $this->parent->getCreatedAtColumn(); - } - - /** - * Get the name of the "updated at" column. - * - * @return string - */ - public function updatedAt() - { - return $this->parent->getUpdatedAtColumn(); - } - - /** - * Get the name of the related model's "updated at" column. - * - * @return string - */ - public function relatedUpdatedAt() - { - return $this->related->getUpdatedAtColumn(); - } - - /** - * Get the name of the "where in" method for eager loading. - * - * @param \Illuminate\Database\Eloquent\Model $model - * @param string $key - * @return string - */ - protected function whereInMethod(Model $model, $key) - { - return $model->getKeyName() === last(explode('.', $key)) - && $model->getIncrementing() - && in_array($model->getKeyType(), ['int', 'integer']) - ? 'whereIntegerInRaw' - : 'whereIn'; - } - - /** - * Set or get the morph map for polymorphic relations. - * - * @param array|null $map - * @param bool $merge - * @return array - */ - public static function morphMap(array $map = null, $merge = true) - { - $map = static::buildMorphMapFromModels($map); - - if (is_array($map)) { - static::$morphMap = $merge && static::$morphMap - ? $map + static::$morphMap : $map; - } - - return static::$morphMap; - } - - /** - * Builds a table-keyed array from model class names. - * - * @param string[]|null $models - * @return array|null - */ - protected static function buildMorphMapFromModels(array $models = null) - { - if (is_null($models) || Arr::isAssoc($models)) { - return $models; - } - - return array_combine(array_map(function ($model) { - return (new $model)->getTable(); - }, $models), $models); - } - - /** - * Get the model associated with a custom polymorphic type. - * - * @param string $alias - * @return string|null - */ - public static function getMorphedModel($alias) - { - return static::$morphMap[$alias] ?? null; - } - - /** - * Handle dynamic method calls to the relationship. - * - * @param string $method - * @param array $parameters - * @return mixed - */ - public function __call($method, $parameters) - { - if (static::hasMacro($method)) { - return $this->macroCall($method, $parameters); - } - - $result = $this->forwardCallTo($this->query, $method, $parameters); - - if ($result === $this->query) { - return $this; - } - - return $result; - } - - /** - * Force a clone of the underlying query builder when cloning. - * - * @return void - */ - public function __clone() - { - $this->query = clone $this->query; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Scope.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Scope.php deleted file mode 100644 index 63cba6a..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Scope.php +++ /dev/null @@ -1,15 +0,0 @@ -dates[] = $this->getDeletedAtColumn(); - } - - /** - * Force a hard delete on a soft deleted model. - * - * @return bool|null - */ - public function forceDelete() - { - $this->forceDeleting = true; - - return tap($this->delete(), function ($deleted) { - $this->forceDeleting = false; - - if ($deleted) { - $this->fireModelEvent('forceDeleted', false); - } - }); - } - - /** - * Perform the actual delete query on this model instance. - * - * @return mixed - */ - protected function performDeleteOnModel() - { - if ($this->forceDeleting) { - $this->exists = false; - - return $this->setKeysForSaveQuery($this->newModelQuery())->forceDelete(); - } - - return $this->runSoftDelete(); - } - - /** - * Perform the actual delete query on this model instance. - * - * @return void - */ - protected function runSoftDelete() - { - $query = $this->setKeysForSaveQuery($this->newModelQuery()); - - $time = $this->freshTimestamp(); - - $columns = [$this->getDeletedAtColumn() => $this->fromDateTime($time)]; - - $this->{$this->getDeletedAtColumn()} = $time; - - if ($this->timestamps && ! is_null($this->getUpdatedAtColumn())) { - $this->{$this->getUpdatedAtColumn()} = $time; - - $columns[$this->getUpdatedAtColumn()] = $this->fromDateTime($time); - } - - $query->update($columns); - } - - /** - * Restore a soft-deleted model instance. - * - * @return bool|null - */ - public function restore() - { - // If the restoring event does not return false, we will proceed with this - // restore operation. Otherwise, we bail out so the developer will stop - // the restore totally. We will clear the deleted timestamp and save. - if ($this->fireModelEvent('restoring') === false) { - return false; - } - - $this->{$this->getDeletedAtColumn()} = null; - - // Once we have saved the model, we will fire the "restored" event so this - // developer will do anything they need to after a restore operation is - // totally finished. Then we will return the result of the save call. - $this->exists = true; - - $result = $this->save(); - - $this->fireModelEvent('restored', false); - - return $result; - } - - /** - * Determine if the model instance has been soft-deleted. - * - * @return bool - */ - public function trashed() - { - return ! is_null($this->{$this->getDeletedAtColumn()}); - } - - /** - * Register a restoring model event with the dispatcher. - * - * @param \Closure|string $callback - * @return void - */ - public static function restoring($callback) - { - static::registerModelEvent('restoring', $callback); - } - - /** - * Register a restored model event with the dispatcher. - * - * @param \Closure|string $callback - * @return void - */ - public static function restored($callback) - { - static::registerModelEvent('restored', $callback); - } - - /** - * Determine if the model is currently force deleting. - * - * @return bool - */ - public function isForceDeleting() - { - return $this->forceDeleting; - } - - /** - * Get the name of the "deleted at" column. - * - * @return string - */ - public function getDeletedAtColumn() - { - return defined('static::DELETED_AT') ? static::DELETED_AT : 'deleted_at'; - } - - /** - * Get the fully qualified "deleted at" column. - * - * @return string - */ - public function getQualifiedDeletedAtColumn() - { - return $this->qualifyColumn($this->getDeletedAtColumn()); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/SoftDeletingScope.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/SoftDeletingScope.php deleted file mode 100644 index 0d51696..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/SoftDeletingScope.php +++ /dev/null @@ -1,131 +0,0 @@ -whereNull($model->getQualifiedDeletedAtColumn()); - } - - /** - * Extend the query builder with the needed functions. - * - * @param \Illuminate\Database\Eloquent\Builder $builder - * @return void - */ - public function extend(Builder $builder) - { - foreach ($this->extensions as $extension) { - $this->{"add{$extension}"}($builder); - } - - $builder->onDelete(function (Builder $builder) { - $column = $this->getDeletedAtColumn($builder); - - return $builder->update([ - $column => $builder->getModel()->freshTimestampString(), - ]); - }); - } - - /** - * Get the "deleted at" column for the builder. - * - * @param \Illuminate\Database\Eloquent\Builder $builder - * @return string - */ - protected function getDeletedAtColumn(Builder $builder) - { - if (count((array) $builder->getQuery()->joins) > 0) { - return $builder->getModel()->getQualifiedDeletedAtColumn(); - } - - return $builder->getModel()->getDeletedAtColumn(); - } - - /** - * Add the restore extension to the builder. - * - * @param \Illuminate\Database\Eloquent\Builder $builder - * @return void - */ - protected function addRestore(Builder $builder) - { - $builder->macro('restore', function (Builder $builder) { - $builder->withTrashed(); - - return $builder->update([$builder->getModel()->getDeletedAtColumn() => null]); - }); - } - - /** - * Add the with-trashed extension to the builder. - * - * @param \Illuminate\Database\Eloquent\Builder $builder - * @return void - */ - protected function addWithTrashed(Builder $builder) - { - $builder->macro('withTrashed', function (Builder $builder, $withTrashed = true) { - if (! $withTrashed) { - return $builder->withoutTrashed(); - } - - return $builder->withoutGlobalScope($this); - }); - } - - /** - * Add the without-trashed extension to the builder. - * - * @param \Illuminate\Database\Eloquent\Builder $builder - * @return void - */ - protected function addWithoutTrashed(Builder $builder) - { - $builder->macro('withoutTrashed', function (Builder $builder) { - $model = $builder->getModel(); - - $builder->withoutGlobalScope($this)->whereNull( - $model->getQualifiedDeletedAtColumn() - ); - - return $builder; - }); - } - - /** - * Add the only-trashed extension to the builder. - * - * @param \Illuminate\Database\Eloquent\Builder $builder - * @return void - */ - protected function addOnlyTrashed(Builder $builder) - { - $builder->macro('onlyTrashed', function (Builder $builder) { - $model = $builder->getModel(); - - $builder->withoutGlobalScope($this)->whereNotNull( - $model->getQualifiedDeletedAtColumn() - ); - - return $builder; - }); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Events/ConnectionEvent.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Events/ConnectionEvent.php deleted file mode 100644 index 818c785..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Events/ConnectionEvent.php +++ /dev/null @@ -1,32 +0,0 @@ -connection = $connection; - $this->connectionName = $connection->getName(); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Events/MigrationEnded.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Events/MigrationEnded.php deleted file mode 100644 index a90a4cc..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Events/MigrationEnded.php +++ /dev/null @@ -1,8 +0,0 @@ -method = $method; - $this->migration = $migration; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Events/MigrationStarted.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Events/MigrationStarted.php deleted file mode 100644 index 3f206b4..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Events/MigrationStarted.php +++ /dev/null @@ -1,8 +0,0 @@ -sql = $sql; - $this->time = $time; - $this->bindings = $bindings; - $this->connection = $connection; - $this->connectionName = $connection->getName(); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Events/StatementPrepared.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Events/StatementPrepared.php deleted file mode 100644 index 2f60323..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Events/StatementPrepared.php +++ /dev/null @@ -1,33 +0,0 @@ -statement = $statement; - $this->connection = $connection; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Events/TransactionBeginning.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Events/TransactionBeginning.php deleted file mode 100644 index 3287b5c..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Events/TransactionBeginning.php +++ /dev/null @@ -1,8 +0,0 @@ -isExpression($table)) { - return $this->wrap($this->tablePrefix.$table, true); - } - - return $this->getValue($table); - } - - /** - * Wrap a value in keyword identifiers. - * - * @param \Illuminate\Database\Query\Expression|string $value - * @param bool $prefixAlias - * @return string - */ - public function wrap($value, $prefixAlias = false) - { - if ($this->isExpression($value)) { - return $this->getValue($value); - } - - // If the value being wrapped has a column alias we will need to separate out - // the pieces so we can wrap each of the segments of the expression on its - // own, and then join these both back together using the "as" connector. - if (stripos($value, ' as ') !== false) { - return $this->wrapAliasedValue($value, $prefixAlias); - } - - return $this->wrapSegments(explode('.', $value)); - } - - /** - * Wrap a value that has an alias. - * - * @param string $value - * @param bool $prefixAlias - * @return string - */ - protected function wrapAliasedValue($value, $prefixAlias = false) - { - $segments = preg_split('/\s+as\s+/i', $value); - - // If we are wrapping a table we need to prefix the alias with the table prefix - // as well in order to generate proper syntax. If this is a column of course - // no prefix is necessary. The condition will be true when from wrapTable. - if ($prefixAlias) { - $segments[1] = $this->tablePrefix.$segments[1]; - } - - return $this->wrap( - $segments[0]).' as '.$this->wrapValue($segments[1] - ); - } - - /** - * Wrap the given value segments. - * - * @param array $segments - * @return string - */ - protected function wrapSegments($segments) - { - return collect($segments)->map(function ($segment, $key) use ($segments) { - return $key == 0 && count($segments) > 1 - ? $this->wrapTable($segment) - : $this->wrapValue($segment); - })->implode('.'); - } - - /** - * Wrap a single string in keyword identifiers. - * - * @param string $value - * @return string - */ - protected function wrapValue($value) - { - if ($value !== '*') { - return '"'.str_replace('"', '""', $value).'"'; - } - - return $value; - } - - /** - * Convert an array of column names into a delimited string. - * - * @param array $columns - * @return string - */ - public function columnize(array $columns) - { - return implode(', ', array_map([$this, 'wrap'], $columns)); - } - - /** - * Create query parameter place-holders for an array. - * - * @param array $values - * @return string - */ - public function parameterize(array $values) - { - return implode(', ', array_map([$this, 'parameter'], $values)); - } - - /** - * Get the appropriate query parameter place-holder for a value. - * - * @param mixed $value - * @return string - */ - public function parameter($value) - { - return $this->isExpression($value) ? $this->getValue($value) : '?'; - } - - /** - * Quote the given string literal. - * - * @param string|array $value - * @return string - */ - public function quoteString($value) - { - if (is_array($value)) { - return implode(', ', array_map([$this, __FUNCTION__], $value)); - } - - return "'$value'"; - } - - /** - * Determine if the given value is a raw expression. - * - * @param mixed $value - * @return bool - */ - public function isExpression($value) - { - return $value instanceof Expression; - } - - /** - * Get the value of a raw expression. - * - * @param \Illuminate\Database\Query\Expression $expression - * @return string - */ - public function getValue($expression) - { - return $expression->getValue(); - } - - /** - * Get the format for database stored dates. - * - * @return string - */ - public function getDateFormat() - { - return 'Y-m-d H:i:s'; - } - - /** - * Get the grammar's table prefix. - * - * @return string - */ - public function getTablePrefix() - { - return $this->tablePrefix; - } - - /** - * Set the grammar's table prefix. - * - * @param string $prefix - * @return $this - */ - public function setTablePrefix($prefix) - { - $this->tablePrefix = $prefix; - - return $this; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/LICENSE.md b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/LICENSE.md deleted file mode 100644 index 79810c8..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/LICENSE.md +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) Taylor Otwell - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/MigrationServiceProvider.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/MigrationServiceProvider.php deleted file mode 100644 index 212827c..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/MigrationServiceProvider.php +++ /dev/null @@ -1,81 +0,0 @@ -registerRepository(); - - $this->registerMigrator(); - - $this->registerCreator(); - } - - /** - * Register the migration repository service. - * - * @return void - */ - protected function registerRepository() - { - $this->app->singleton('migration.repository', function ($app) { - $table = $app['config']['database.migrations']; - - return new DatabaseMigrationRepository($app['db'], $table); - }); - } - - /** - * Register the migrator service. - * - * @return void - */ - protected function registerMigrator() - { - // The migrator is responsible for actually running and rollback the migration - // files in the application. We'll pass in our database connection resolver - // so the migrator can resolve any of these connections when it needs to. - $this->app->singleton('migrator', function ($app) { - $repository = $app['migration.repository']; - - return new Migrator($repository, $app['db'], $app['files'], $app['events']); - }); - } - - /** - * Register the migration creator. - * - * @return void - */ - protected function registerCreator() - { - $this->app->singleton('migration.creator', function ($app) { - return new MigrationCreator($app['files']); - }); - } - - /** - * Get the services provided by the provider. - * - * @return array - */ - public function provides() - { - return [ - 'migrator', 'migration.repository', 'migration.creator', - ]; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Migrations/DatabaseMigrationRepository.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Migrations/DatabaseMigrationRepository.php deleted file mode 100644 index 1ace1a6..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Migrations/DatabaseMigrationRepository.php +++ /dev/null @@ -1,212 +0,0 @@ -table = $table; - $this->resolver = $resolver; - } - - /** - * Get the completed migrations. - * - * @return array - */ - public function getRan() - { - return $this->table() - ->orderBy('batch', 'asc') - ->orderBy('migration', 'asc') - ->pluck('migration')->all(); - } - - /** - * Get list of migrations. - * - * @param int $steps - * @return array - */ - public function getMigrations($steps) - { - $query = $this->table()->where('batch', '>=', '1'); - - return $query->orderBy('batch', 'desc') - ->orderBy('migration', 'desc') - ->take($steps)->get()->all(); - } - - /** - * Get the last migration batch. - * - * @return array - */ - public function getLast() - { - $query = $this->table()->where('batch', $this->getLastBatchNumber()); - - return $query->orderBy('migration', 'desc')->get()->all(); - } - - /** - * Get the completed migrations with their batch numbers. - * - * @return array - */ - public function getMigrationBatches() - { - return $this->table() - ->orderBy('batch', 'asc') - ->orderBy('migration', 'asc') - ->pluck('batch', 'migration')->all(); - } - - /** - * Log that a migration was run. - * - * @param string $file - * @param int $batch - * @return void - */ - public function log($file, $batch) - { - $record = ['migration' => $file, 'batch' => $batch]; - - $this->table()->insert($record); - } - - /** - * Remove a migration from the log. - * - * @param object $migration - * @return void - */ - public function delete($migration) - { - $this->table()->where('migration', $migration->migration)->delete(); - } - - /** - * Get the next migration batch number. - * - * @return int - */ - public function getNextBatchNumber() - { - return $this->getLastBatchNumber() + 1; - } - - /** - * Get the last migration batch number. - * - * @return int - */ - public function getLastBatchNumber() - { - return $this->table()->max('batch'); - } - - /** - * Create the migration repository data store. - * - * @return void - */ - public function createRepository() - { - $schema = $this->getConnection()->getSchemaBuilder(); - - $schema->create($this->table, function ($table) { - // The migrations table is responsible for keeping track of which of the - // migrations have actually run for the application. We'll create the - // table to hold the migration file's path as well as the batch ID. - $table->increments('id'); - $table->string('migration'); - $table->integer('batch'); - }); - } - - /** - * Determine if the migration repository exists. - * - * @return bool - */ - public function repositoryExists() - { - $schema = $this->getConnection()->getSchemaBuilder(); - - return $schema->hasTable($this->table); - } - - /** - * Get a query builder for the migration table. - * - * @return \Illuminate\Database\Query\Builder - */ - protected function table() - { - return $this->getConnection()->table($this->table)->useWritePdo(); - } - - /** - * Get the connection resolver instance. - * - * @return \Illuminate\Database\ConnectionResolverInterface - */ - public function getConnectionResolver() - { - return $this->resolver; - } - - /** - * Resolve the database connection instance. - * - * @return \Illuminate\Database\Connection - */ - public function getConnection() - { - return $this->resolver->connection($this->connection); - } - - /** - * Set the information source to gather data. - * - * @param string $name - * @return void - */ - public function setSource($name) - { - $this->connection = $name; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Migrations/Migration.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Migrations/Migration.php deleted file mode 100644 index a58f784..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Migrations/Migration.php +++ /dev/null @@ -1,30 +0,0 @@ -connection; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Migrations/MigrationCreator.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Migrations/MigrationCreator.php deleted file mode 100644 index 015a0dd..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Migrations/MigrationCreator.php +++ /dev/null @@ -1,204 +0,0 @@ -files = $files; - } - - /** - * Create a new migration at the given path. - * - * @param string $name - * @param string $path - * @param string|null $table - * @param bool $create - * @return string - * - * @throws \Exception - */ - public function create($name, $path, $table = null, $create = false) - { - $this->ensureMigrationDoesntAlreadyExist($name); - - // First we will get the stub file for the migration, which serves as a type - // of template for the migration. Once we have those we will populate the - // various place-holders, save the file, and run the post create event. - $stub = $this->getStub($table, $create); - - $this->files->put( - $path = $this->getPath($name, $path), - $this->populateStub($name, $stub, $table) - ); - - // Next, we will fire any hooks that are supposed to fire after a migration is - // created. Once that is done we'll be ready to return the full path to the - // migration file so it can be used however it's needed by the developer. - $this->firePostCreateHooks($table); - - return $path; - } - - /** - * Ensure that a migration with the given name doesn't already exist. - * - * @param string $name - * @return void - * - * @throws \InvalidArgumentException - */ - protected function ensureMigrationDoesntAlreadyExist($name) - { - if (class_exists($className = $this->getClassName($name))) { - throw new InvalidArgumentException("A {$className} class already exists."); - } - } - - /** - * Get the migration stub file. - * - * @param string|null $table - * @param bool $create - * @return string - */ - protected function getStub($table, $create) - { - if (is_null($table)) { - return $this->files->get($this->stubPath().'/blank.stub'); - } - - // We also have stubs for creating new tables and modifying existing tables - // to save the developer some typing when they are creating a new tables - // or modifying existing tables. We'll grab the appropriate stub here. - $stub = $create ? 'create.stub' : 'update.stub'; - - return $this->files->get($this->stubPath()."/{$stub}"); - } - - /** - * Populate the place-holders in the migration stub. - * - * @param string $name - * @param string $stub - * @param string|null $table - * @return string - */ - protected function populateStub($name, $stub, $table) - { - $stub = str_replace('DummyClass', $this->getClassName($name), $stub); - - // Here we will replace the table place-holders with the table specified by - // the developer, which is useful for quickly creating a tables creation - // or update migration from the console instead of typing it manually. - if (! is_null($table)) { - $stub = str_replace('DummyTable', $table, $stub); - } - - return $stub; - } - - /** - * Get the class name of a migration name. - * - * @param string $name - * @return string - */ - protected function getClassName($name) - { - return Str::studly($name); - } - - /** - * Get the full path to the migration. - * - * @param string $name - * @param string $path - * @return string - */ - protected function getPath($name, $path) - { - return $path.'/'.$this->getDatePrefix().'_'.$name.'.php'; - } - - /** - * Fire the registered post create hooks. - * - * @param string|null $table - * @return void - */ - protected function firePostCreateHooks($table) - { - foreach ($this->postCreate as $callback) { - call_user_func($callback, $table); - } - } - - /** - * Register a post migration create hook. - * - * @param \Closure $callback - * @return void - */ - public function afterCreate(Closure $callback) - { - $this->postCreate[] = $callback; - } - - /** - * Get the date prefix for the migration. - * - * @return string - */ - protected function getDatePrefix() - { - return date('Y_m_d_His'); - } - - /** - * Get the path to the stubs. - * - * @return string - */ - public function stubPath() - { - return __DIR__.'/stubs'; - } - - /** - * Get the filesystem instance. - * - * @return \Illuminate\Filesystem\Filesystem - */ - public function getFilesystem() - { - return $this->files; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Migrations/MigrationRepositoryInterface.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Migrations/MigrationRepositoryInterface.php deleted file mode 100644 index 410326a..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Migrations/MigrationRepositoryInterface.php +++ /dev/null @@ -1,81 +0,0 @@ -files = $files; - $this->events = $dispatcher; - $this->resolver = $resolver; - $this->repository = $repository; - } - - /** - * Run the pending migrations at a given path. - * - * @param array|string $paths - * @param array $options - * @return array - */ - public function run($paths = [], array $options = []) - { - // Once we grab all of the migration files for the path, we will compare them - // against the migrations that have already been run for this package then - // run each of the outstanding migrations against a database connection. - $files = $this->getMigrationFiles($paths); - - $this->requireFiles($migrations = $this->pendingMigrations( - $files, $this->repository->getRan() - )); - - // Once we have all these migrations that are outstanding we are ready to run - // we will go ahead and run them "up". This will execute each migration as - // an operation against a database. Then we'll return this list of them. - $this->runPending($migrations, $options); - - return $migrations; - } - - /** - * Get the migration files that have not yet run. - * - * @param array $files - * @param array $ran - * @return array - */ - protected function pendingMigrations($files, $ran) - { - return Collection::make($files) - ->reject(function ($file) use ($ran) { - return in_array($this->getMigrationName($file), $ran); - })->values()->all(); - } - - /** - * Run an array of migrations. - * - * @param array $migrations - * @param array $options - * @return void - */ - public function runPending(array $migrations, array $options = []) - { - // First we will just make sure that there are any migrations to run. If there - // aren't, we will just make a note of it to the developer so they're aware - // that all of the migrations have been run against this database system. - if (count($migrations) === 0) { - $this->note('Nothing to migrate.'); - - return; - } - - // Next, we will get the next batch number for the migrations so we can insert - // correct batch number in the database migrations repository when we store - // each migration's execution. We will also extract a few of the options. - $batch = $this->repository->getNextBatchNumber(); - - $pretend = $options['pretend'] ?? false; - - $step = $options['step'] ?? false; - - $this->fireMigrationEvent(new MigrationsStarted); - - // Once we have the array of migrations, we will spin through them and run the - // migrations "up" so the changes are made to the databases. We'll then log - // that the migration was run so we don't repeat it next time we execute. - foreach ($migrations as $file) { - $this->runUp($file, $batch, $pretend); - - if ($step) { - $batch++; - } - } - - $this->fireMigrationEvent(new MigrationsEnded); - } - - /** - * Run "up" a migration instance. - * - * @param string $file - * @param int $batch - * @param bool $pretend - * @return void - */ - protected function runUp($file, $batch, $pretend) - { - // First we will resolve a "real" instance of the migration class from this - // migration file name. Once we have the instances we can run the actual - // command such as "up" or "down", or we can just simulate the action. - $migration = $this->resolve( - $name = $this->getMigrationName($file) - ); - - if ($pretend) { - return $this->pretendToRun($migration, 'up'); - } - - $this->note("Migrating: {$name}"); - - $startTime = microtime(true); - - $this->runMigration($migration, 'up'); - - $runTime = round(microtime(true) - $startTime, 2); - - // Once we have run a migrations class, we will log that it was run in this - // repository so that we don't try to run it next time we do a migration - // in the application. A migration repository keeps the migrate order. - $this->repository->log($name, $batch); - - $this->note("Migrated: {$name} ({$runTime} seconds)"); - } - - /** - * Rollback the last migration operation. - * - * @param array|string $paths - * @param array $options - * @return array - */ - public function rollback($paths = [], array $options = []) - { - // We want to pull in the last batch of migrations that ran on the previous - // migration operation. We'll then reverse those migrations and run each - // of them "down" to reverse the last migration "operation" which ran. - $migrations = $this->getMigrationsForRollback($options); - - if (count($migrations) === 0) { - $this->note('Nothing to rollback.'); - - return []; - } - - return $this->rollbackMigrations($migrations, $paths, $options); - } - - /** - * Get the migrations for a rollback operation. - * - * @param array $options - * @return array - */ - protected function getMigrationsForRollback(array $options) - { - if (($steps = $options['step'] ?? 0) > 0) { - return $this->repository->getMigrations($steps); - } - - return $this->repository->getLast(); - } - - /** - * Rollback the given migrations. - * - * @param array $migrations - * @param array|string $paths - * @param array $options - * @return array - */ - protected function rollbackMigrations(array $migrations, $paths, array $options) - { - $rolledBack = []; - - $this->requireFiles($files = $this->getMigrationFiles($paths)); - - $this->fireMigrationEvent(new MigrationsStarted); - - // Next we will run through all of the migrations and call the "down" method - // which will reverse each migration in order. This getLast method on the - // repository already returns these migration's names in reverse order. - foreach ($migrations as $migration) { - $migration = (object) $migration; - - if (! $file = Arr::get($files, $migration->migration)) { - $this->note("Migration not found: {$migration->migration}"); - - continue; - } - - $rolledBack[] = $file; - - $this->runDown( - $file, $migration, - $options['pretend'] ?? false - ); - } - - $this->fireMigrationEvent(new MigrationsEnded); - - return $rolledBack; - } - - /** - * Rolls all of the currently applied migrations back. - * - * @param array|string $paths - * @param bool $pretend - * @return array - */ - public function reset($paths = [], $pretend = false) - { - // Next, we will reverse the migration list so we can run them back in the - // correct order for resetting this database. This will allow us to get - // the database back into its "empty" state ready for the migrations. - $migrations = array_reverse($this->repository->getRan()); - - if (count($migrations) === 0) { - $this->note('Nothing to rollback.'); - - return []; - } - - return $this->resetMigrations($migrations, $paths, $pretend); - } - - /** - * Reset the given migrations. - * - * @param array $migrations - * @param array $paths - * @param bool $pretend - * @return array - */ - protected function resetMigrations(array $migrations, array $paths, $pretend = false) - { - // Since the getRan method that retrieves the migration name just gives us the - // migration name, we will format the names into objects with the name as a - // property on the objects so that we can pass it to the rollback method. - $migrations = collect($migrations)->map(function ($m) { - return (object) ['migration' => $m]; - })->all(); - - return $this->rollbackMigrations( - $migrations, $paths, compact('pretend') - ); - } - - /** - * Run "down" a migration instance. - * - * @param string $file - * @param object $migration - * @param bool $pretend - * @return void - */ - protected function runDown($file, $migration, $pretend) - { - // First we will get the file name of the migration so we can resolve out an - // instance of the migration. Once we get an instance we can either run a - // pretend execution of the migration or we can run the real migration. - $instance = $this->resolve( - $name = $this->getMigrationName($file) - ); - - $this->note("Rolling back: {$name}"); - - if ($pretend) { - return $this->pretendToRun($instance, 'down'); - } - - $startTime = microtime(true); - - $this->runMigration($instance, 'down'); - - $runTime = round(microtime(true) - $startTime, 2); - - // Once we have successfully run the migration "down" we will remove it from - // the migration repository so it will be considered to have not been run - // by the application then will be able to fire by any later operation. - $this->repository->delete($migration); - - $this->note("Rolled back: {$name} ({$runTime} seconds)"); - } - - /** - * Run a migration inside a transaction if the database supports it. - * - * @param object $migration - * @param string $method - * @return void - */ - protected function runMigration($migration, $method) - { - $connection = $this->resolveConnection( - $migration->getConnection() - ); - - $callback = function () use ($migration, $method) { - if (method_exists($migration, $method)) { - $this->fireMigrationEvent(new MigrationStarted($migration, $method)); - - $migration->{$method}(); - - $this->fireMigrationEvent(new MigrationEnded($migration, $method)); - } - }; - - $this->getSchemaGrammar($connection)->supportsSchemaTransactions() - && $migration->withinTransaction - ? $connection->transaction($callback) - : $callback(); - } - - /** - * Pretend to run the migrations. - * - * @param object $migration - * @param string $method - * @return void - */ - protected function pretendToRun($migration, $method) - { - foreach ($this->getQueries($migration, $method) as $query) { - $name = get_class($migration); - - $this->note("{$name}: {$query['query']}"); - } - } - - /** - * Get all of the queries that would be run for a migration. - * - * @param object $migration - * @param string $method - * @return array - */ - protected function getQueries($migration, $method) - { - // Now that we have the connections we can resolve it and pretend to run the - // queries against the database returning the array of raw SQL statements - // that would get fired against the database system for this migration. - $db = $this->resolveConnection( - $migration->getConnection() - ); - - return $db->pretend(function () use ($migration, $method) { - if (method_exists($migration, $method)) { - $migration->{$method}(); - } - }); - } - - /** - * Resolve a migration instance from a file. - * - * @param string $file - * @return object - */ - public function resolve($file) - { - $class = Str::studly(implode('_', array_slice(explode('_', $file), 4))); - - return new $class; - } - - /** - * Get all of the migration files in a given path. - * - * @param string|array $paths - * @return array - */ - public function getMigrationFiles($paths) - { - return Collection::make($paths)->flatMap(function ($path) { - return Str::endsWith($path, '.php') ? [$path] : $this->files->glob($path.'/*_*.php'); - })->filter()->sortBy(function ($file) { - return $this->getMigrationName($file); - })->values()->keyBy(function ($file) { - return $this->getMigrationName($file); - })->all(); - } - - /** - * Require in all the migration files in a given path. - * - * @param array $files - * @return void - */ - public function requireFiles(array $files) - { - foreach ($files as $file) { - $this->files->requireOnce($file); - } - } - - /** - * Get the name of the migration. - * - * @param string $path - * @return string - */ - public function getMigrationName($path) - { - return str_replace('.php', '', basename($path)); - } - - /** - * Register a custom migration path. - * - * @param string $path - * @return void - */ - public function path($path) - { - $this->paths = array_unique(array_merge($this->paths, [$path])); - } - - /** - * Get all of the custom migration paths. - * - * @return array - */ - public function paths() - { - return $this->paths; - } - - /** - * Get the default connection name. - * - * @return string - */ - public function getConnection() - { - return $this->connection; - } - - /** - * Set the default connection name. - * - * @param string $name - * @return void - */ - public function setConnection($name) - { - if (! is_null($name)) { - $this->resolver->setDefaultConnection($name); - } - - $this->repository->setSource($name); - - $this->connection = $name; - } - - /** - * Resolve the database connection instance. - * - * @param string $connection - * @return \Illuminate\Database\Connection - */ - public function resolveConnection($connection) - { - return $this->resolver->connection($connection ?: $this->connection); - } - - /** - * Get the schema grammar out of a migration connection. - * - * @param \Illuminate\Database\Connection $connection - * @return \Illuminate\Database\Schema\Grammars\Grammar - */ - protected function getSchemaGrammar($connection) - { - if (is_null($grammar = $connection->getSchemaGrammar())) { - $connection->useDefaultSchemaGrammar(); - - $grammar = $connection->getSchemaGrammar(); - } - - return $grammar; - } - - /** - * Get the migration repository instance. - * - * @return \Illuminate\Database\Migrations\MigrationRepositoryInterface - */ - public function getRepository() - { - return $this->repository; - } - - /** - * Determine if the migration repository exists. - * - * @return bool - */ - public function repositoryExists() - { - return $this->repository->repositoryExists(); - } - - /** - * Get the file system instance. - * - * @return \Illuminate\Filesystem\Filesystem - */ - public function getFilesystem() - { - return $this->files; - } - - /** - * Set the output implementation that should be used by the console. - * - * @param \Illuminate\Console\OutputStyle $output - * @return $this - */ - public function setOutput(OutputStyle $output) - { - $this->output = $output; - - return $this; - } - - /** - * Write a note to the console's output. - * - * @param string $message - * @return void - */ - protected function note($message) - { - if ($this->output) { - $this->output->writeln($message); - } - } - - /** - * Fire the given event for the migration. - * - * @param \Illuminate\Contracts\Database\Events\MigrationEvent $event - * @return void - */ - public function fireMigrationEvent($event) - { - if ($this->events) { - $this->events->dispatch($event); - } - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Migrations/stubs/blank.stub b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Migrations/stubs/blank.stub deleted file mode 100644 index da4ce82..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Migrations/stubs/blank.stub +++ /dev/null @@ -1,28 +0,0 @@ -bigIncrements('id'); - $table->timestamps(); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('DummyTable'); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Migrations/stubs/update.stub b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Migrations/stubs/update.stub deleted file mode 100644 index 1fd4f6e..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Migrations/stubs/update.stub +++ /dev/null @@ -1,32 +0,0 @@ -withTablePrefix(new QueryGrammar); - } - - /** - * Get a schema builder instance for the connection. - * - * @return \Illuminate\Database\Schema\MySqlBuilder - */ - public function getSchemaBuilder() - { - if (is_null($this->schemaGrammar)) { - $this->useDefaultSchemaGrammar(); - } - - return new MySqlBuilder($this); - } - - /** - * Get the default schema grammar instance. - * - * @return \Illuminate\Database\Schema\Grammars\MySqlGrammar - */ - protected function getDefaultSchemaGrammar() - { - return $this->withTablePrefix(new SchemaGrammar); - } - - /** - * Get the default post processor instance. - * - * @return \Illuminate\Database\Query\Processors\MySqlProcessor - */ - protected function getDefaultPostProcessor() - { - return new MySqlProcessor; - } - - /** - * Get the Doctrine DBAL driver. - * - * @return \Doctrine\DBAL\Driver\PDOMySql\Driver - */ - protected function getDoctrineDriver() - { - return new DoctrineDriver; - } - - /** - * Bind values to their parameters in the given statement. - * - * @param \PDOStatement $statement - * @param array $bindings - * @return void - */ - public function bindValues($statement, $bindings) - { - foreach ($bindings as $key => $value) { - $statement->bindValue( - is_string($key) ? $key : $key + 1, $value, - is_int($value) || is_float($value) ? PDO::PARAM_INT : PDO::PARAM_STR - ); - } - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/PostgresConnection.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/PostgresConnection.php deleted file mode 100644 index 01804a7..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/PostgresConnection.php +++ /dev/null @@ -1,66 +0,0 @@ -withTablePrefix(new QueryGrammar); - } - - /** - * Get a schema builder instance for the connection. - * - * @return \Illuminate\Database\Schema\PostgresBuilder - */ - public function getSchemaBuilder() - { - if (is_null($this->schemaGrammar)) { - $this->useDefaultSchemaGrammar(); - } - - return new PostgresBuilder($this); - } - - /** - * Get the default schema grammar instance. - * - * @return \Illuminate\Database\Schema\Grammars\PostgresGrammar - */ - protected function getDefaultSchemaGrammar() - { - return $this->withTablePrefix(new SchemaGrammar); - } - - /** - * Get the default post processor instance. - * - * @return \Illuminate\Database\Query\Processors\PostgresProcessor - */ - protected function getDefaultPostProcessor() - { - return new PostgresProcessor; - } - - /** - * Get the Doctrine DBAL driver. - * - * @return \Doctrine\DBAL\Driver\PDOPgSql\Driver - */ - protected function getDoctrineDriver() - { - return new DoctrineDriver; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php deleted file mode 100644 index 9d2cea5..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php +++ /dev/null @@ -1,3057 +0,0 @@ - [], - 'from' => [], - 'join' => [], - 'where' => [], - 'having' => [], - 'order' => [], - 'union' => [], - ]; - - /** - * An aggregate function and column to be run. - * - * @var array - */ - public $aggregate; - - /** - * The columns that should be returned. - * - * @var array - */ - public $columns; - - /** - * Indicates if the query returns distinct results. - * - * @var bool - */ - public $distinct = false; - - /** - * The table which the query is targeting. - * - * @var string - */ - public $from; - - /** - * The table joins for the query. - * - * @var array - */ - public $joins; - - /** - * The where constraints for the query. - * - * @var array - */ - public $wheres = []; - - /** - * The groupings for the query. - * - * @var array - */ - public $groups; - - /** - * The having constraints for the query. - * - * @var array - */ - public $havings; - - /** - * The orderings for the query. - * - * @var array - */ - public $orders; - - /** - * The maximum number of records to return. - * - * @var int - */ - public $limit; - - /** - * The number of records to skip. - * - * @var int - */ - public $offset; - - /** - * The query union statements. - * - * @var array - */ - public $unions; - - /** - * The maximum number of union records to return. - * - * @var int - */ - public $unionLimit; - - /** - * The number of union records to skip. - * - * @var int - */ - public $unionOffset; - - /** - * The orderings for the union query. - * - * @var array - */ - public $unionOrders; - - /** - * Indicates whether row locking is being used. - * - * @var string|bool - */ - public $lock; - - /** - * All of the available clause operators. - * - * @var array - */ - public $operators = [ - '=', '<', '>', '<=', '>=', '<>', '!=', '<=>', - 'like', 'like binary', 'not like', 'ilike', - '&', '|', '^', '<<', '>>', - 'rlike', 'not rlike', 'regexp', 'not regexp', - '~', '~*', '!~', '!~*', 'similar to', - 'not similar to', 'not ilike', '~~*', '!~~*', - ]; - - /** - * Whether use write pdo for select. - * - * @var bool - */ - public $useWritePdo = false; - - /** - * Create a new query builder instance. - * - * @param \Illuminate\Database\ConnectionInterface $connection - * @param \Illuminate\Database\Query\Grammars\Grammar|null $grammar - * @param \Illuminate\Database\Query\Processors\Processor|null $processor - * @return void - */ - public function __construct(ConnectionInterface $connection, - Grammar $grammar = null, - Processor $processor = null) - { - $this->connection = $connection; - $this->grammar = $grammar ?: $connection->getQueryGrammar(); - $this->processor = $processor ?: $connection->getPostProcessor(); - } - - /** - * Set the columns to be selected. - * - * @param array|mixed $columns - * @return $this - */ - public function select($columns = ['*']) - { - $this->columns = is_array($columns) ? $columns : func_get_args(); - - return $this; - } - - /** - * Add a subselect expression to the query. - * - * @param \Closure|\Illuminate\Database\Query\Builder|string $query - * @param string $as - * @return \Illuminate\Database\Query\Builder|static - * - * @throws \InvalidArgumentException - */ - public function selectSub($query, $as) - { - [$query, $bindings] = $this->createSub($query); - - return $this->selectRaw( - '('.$query.') as '.$this->grammar->wrap($as), $bindings - ); - } - - /** - * Add a new "raw" select expression to the query. - * - * @param string $expression - * @param array $bindings - * @return \Illuminate\Database\Query\Builder|static - */ - public function selectRaw($expression, array $bindings = []) - { - $this->addSelect(new Expression($expression)); - - if ($bindings) { - $this->addBinding($bindings, 'select'); - } - - return $this; - } - - /** - * Makes "from" fetch from a subquery. - * - * @param \Closure|\Illuminate\Database\Query\Builder|string $query - * @param string $as - * @return \Illuminate\Database\Query\Builder|static - * - * @throws \InvalidArgumentException - */ - public function fromSub($query, $as) - { - [$query, $bindings] = $this->createSub($query); - - return $this->fromRaw('('.$query.') as '.$this->grammar->wrapTable($as), $bindings); - } - - /** - * Add a raw from clause to the query. - * - * @param string $expression - * @param mixed $bindings - * @return \Illuminate\Database\Query\Builder|static - */ - public function fromRaw($expression, $bindings = []) - { - $this->from = new Expression($expression); - - $this->addBinding($bindings, 'from'); - - return $this; - } - - /** - * Creates a subquery and parse it. - * - * @param \Closure|\Illuminate\Database\Query\Builder|string $query - * @return array - */ - protected function createSub($query) - { - // If the given query is a Closure, we will execute it while passing in a new - // query instance to the Closure. This will give the developer a chance to - // format and work with the query before we cast it to a raw SQL string. - if ($query instanceof Closure) { - $callback = $query; - - $callback($query = $this->forSubQuery()); - } - - return $this->parseSub($query); - } - - /** - * Parse the subquery into SQL and bindings. - * - * @param mixed $query - * @return array - */ - protected function parseSub($query) - { - if ($query instanceof self || $query instanceof EloquentBuilder) { - return [$query->toSql(), $query->getBindings()]; - } elseif (is_string($query)) { - return [$query, []]; - } else { - throw new InvalidArgumentException; - } - } - - /** - * Add a new select column to the query. - * - * @param array|mixed $column - * @return $this - */ - public function addSelect($column) - { - $column = is_array($column) ? $column : func_get_args(); - - $this->columns = array_merge((array) $this->columns, $column); - - return $this; - } - - /** - * Force the query to only return distinct results. - * - * @return $this - */ - public function distinct() - { - $this->distinct = true; - - return $this; - } - - /** - * Set the table which the query is targeting. - * - * @param string $table - * @return $this - */ - public function from($table) - { - $this->from = $table; - - return $this; - } - - /** - * Add a join clause to the query. - * - * @param string $table - * @param \Closure|string $first - * @param string|null $operator - * @param string|null $second - * @param string $type - * @param bool $where - * @return $this - */ - public function join($table, $first, $operator = null, $second = null, $type = 'inner', $where = false) - { - $join = $this->newJoinClause($this, $type, $table); - - // If the first "column" of the join is really a Closure instance the developer - // is trying to build a join with a complex "on" clause containing more than - // one condition, so we'll add the join and call a Closure with the query. - if ($first instanceof Closure) { - call_user_func($first, $join); - - $this->joins[] = $join; - - $this->addBinding($join->getBindings(), 'join'); - } - - // If the column is simply a string, we can assume the join simply has a basic - // "on" clause with a single condition. So we will just build the join with - // this simple join clauses attached to it. There is not a join callback. - else { - $method = $where ? 'where' : 'on'; - - $this->joins[] = $join->$method($first, $operator, $second); - - $this->addBinding($join->getBindings(), 'join'); - } - - return $this; - } - - /** - * Add a "join where" clause to the query. - * - * @param string $table - * @param \Closure|string $first - * @param string $operator - * @param string $second - * @param string $type - * @return \Illuminate\Database\Query\Builder|static - */ - public function joinWhere($table, $first, $operator, $second, $type = 'inner') - { - return $this->join($table, $first, $operator, $second, $type, true); - } - - /** - * Add a subquery join clause to the query. - * - * @param \Closure|\Illuminate\Database\Query\Builder|string $query - * @param string $as - * @param \Closure|string $first - * @param string|null $operator - * @param string|null $second - * @param string $type - * @param bool $where - * @return \Illuminate\Database\Query\Builder|static - * - * @throws \InvalidArgumentException - */ - public function joinSub($query, $as, $first, $operator = null, $second = null, $type = 'inner', $where = false) - { - [$query, $bindings] = $this->createSub($query); - - $expression = '('.$query.') as '.$this->grammar->wrapTable($as); - - $this->addBinding($bindings, 'join'); - - return $this->join(new Expression($expression), $first, $operator, $second, $type, $where); - } - - /** - * Add a left join to the query. - * - * @param string $table - * @param \Closure|string $first - * @param string|null $operator - * @param string|null $second - * @return \Illuminate\Database\Query\Builder|static - */ - public function leftJoin($table, $first, $operator = null, $second = null) - { - return $this->join($table, $first, $operator, $second, 'left'); - } - - /** - * Add a "join where" clause to the query. - * - * @param string $table - * @param \Closure|string $first - * @param string $operator - * @param string $second - * @return \Illuminate\Database\Query\Builder|static - */ - public function leftJoinWhere($table, $first, $operator, $second) - { - return $this->joinWhere($table, $first, $operator, $second, 'left'); - } - - /** - * Add a subquery left join to the query. - * - * @param \Closure|\Illuminate\Database\Query\Builder|string $query - * @param string $as - * @param \Closure|string $first - * @param string|null $operator - * @param string|null $second - * @return \Illuminate\Database\Query\Builder|static - */ - public function leftJoinSub($query, $as, $first, $operator = null, $second = null) - { - return $this->joinSub($query, $as, $first, $operator, $second, 'left'); - } - - /** - * Add a right join to the query. - * - * @param string $table - * @param \Closure|string $first - * @param string|null $operator - * @param string|null $second - * @return \Illuminate\Database\Query\Builder|static - */ - public function rightJoin($table, $first, $operator = null, $second = null) - { - return $this->join($table, $first, $operator, $second, 'right'); - } - - /** - * Add a "right join where" clause to the query. - * - * @param string $table - * @param \Closure|string $first - * @param string $operator - * @param string $second - * @return \Illuminate\Database\Query\Builder|static - */ - public function rightJoinWhere($table, $first, $operator, $second) - { - return $this->joinWhere($table, $first, $operator, $second, 'right'); - } - - /** - * Add a subquery right join to the query. - * - * @param \Closure|\Illuminate\Database\Query\Builder|string $query - * @param string $as - * @param \Closure|string $first - * @param string|null $operator - * @param string|null $second - * @return \Illuminate\Database\Query\Builder|static - */ - public function rightJoinSub($query, $as, $first, $operator = null, $second = null) - { - return $this->joinSub($query, $as, $first, $operator, $second, 'right'); - } - - /** - * Add a "cross join" clause to the query. - * - * @param string $table - * @param \Closure|string|null $first - * @param string|null $operator - * @param string|null $second - * @return \Illuminate\Database\Query\Builder|static - */ - public function crossJoin($table, $first = null, $operator = null, $second = null) - { - if ($first) { - return $this->join($table, $first, $operator, $second, 'cross'); - } - - $this->joins[] = $this->newJoinClause($this, 'cross', $table); - - return $this; - } - - /** - * Get a new join clause. - * - * @param \Illuminate\Database\Query\Builder $parentQuery - * @param string $type - * @param string $table - * @return \Illuminate\Database\Query\JoinClause - */ - protected function newJoinClause(self $parentQuery, $type, $table) - { - return new JoinClause($parentQuery, $type, $table); - } - - /** - * Merge an array of where clauses and bindings. - * - * @param array $wheres - * @param array $bindings - * @return void - */ - public function mergeWheres($wheres, $bindings) - { - $this->wheres = array_merge($this->wheres, (array) $wheres); - - $this->bindings['where'] = array_values( - array_merge($this->bindings['where'], (array) $bindings) - ); - } - - /** - * Add a basic where clause to the query. - * - * @param string|array|\Closure $column - * @param mixed $operator - * @param mixed $value - * @param string $boolean - * @return $this - */ - public function where($column, $operator = null, $value = null, $boolean = 'and') - { - // If the column is an array, we will assume it is an array of key-value pairs - // and can add them each as a where clause. We will maintain the boolean we - // received when the method was called and pass it into the nested where. - if (is_array($column)) { - return $this->addArrayOfWheres($column, $boolean); - } - - // Here we will make some assumptions about the operator. If only 2 values are - // passed to the method, we will assume that the operator is an equals sign - // and keep going. Otherwise, we'll require the operator to be passed in. - [$value, $operator] = $this->prepareValueAndOperator( - $value, $operator, func_num_args() === 2 - ); - - // If the columns is actually a Closure instance, we will assume the developer - // wants to begin a nested where statement which is wrapped in parenthesis. - // We'll add that Closure to the query then return back out immediately. - if ($column instanceof Closure) { - return $this->whereNested($column, $boolean); - } - - // If the given operator is not found in the list of valid operators we will - // assume that the developer is just short-cutting the '=' operators and - // we will set the operators to '=' and set the values appropriately. - if ($this->invalidOperator($operator)) { - [$value, $operator] = [$operator, '=']; - } - - // If the value is a Closure, it means the developer is performing an entire - // sub-select within the query and we will need to compile the sub-select - // within the where clause to get the appropriate query record results. - if ($value instanceof Closure) { - return $this->whereSub($column, $operator, $value, $boolean); - } - - // If the value is "null", we will just assume the developer wants to add a - // where null clause to the query. So, we will allow a short-cut here to - // that method for convenience so the developer doesn't have to check. - if (is_null($value)) { - return $this->whereNull($column, $boolean, $operator !== '='); - } - - $type = 'Basic'; - - // If the column is making a JSON reference we'll check to see if the value - // is a boolean. If it is, we'll add the raw boolean string as an actual - // value to the query to ensure this is properly handled by the query. - if (Str::contains($column, '->') && is_bool($value)) { - $value = new Expression($value ? 'true' : 'false'); - - if (is_string($column)) { - $type = 'JsonBoolean'; - } - } - - // Now that we are working with just a simple query we can put the elements - // in our array and add the query binding to our array of bindings that - // will be bound to each SQL statements when it is finally executed. - $this->wheres[] = compact( - 'type', 'column', 'operator', 'value', 'boolean' - ); - - if (! $value instanceof Expression) { - $this->addBinding($value, 'where'); - } - - return $this; - } - - /** - * Add an array of where clauses to the query. - * - * @param array $column - * @param string $boolean - * @param string $method - * @return $this - */ - protected function addArrayOfWheres($column, $boolean, $method = 'where') - { - return $this->whereNested(function ($query) use ($column, $method, $boolean) { - foreach ($column as $key => $value) { - if (is_numeric($key) && is_array($value)) { - $query->{$method}(...array_values($value)); - } else { - $query->$method($key, '=', $value, $boolean); - } - } - }, $boolean); - } - - /** - * Prepare the value and operator for a where clause. - * - * @param string $value - * @param string $operator - * @param bool $useDefault - * @return array - * - * @throws \InvalidArgumentException - */ - public function prepareValueAndOperator($value, $operator, $useDefault = false) - { - if ($useDefault) { - return [$operator, '=']; - } elseif ($this->invalidOperatorAndValue($operator, $value)) { - throw new InvalidArgumentException('Illegal operator and value combination.'); - } - - return [$value, $operator]; - } - - /** - * Determine if the given operator and value combination is legal. - * - * Prevents using Null values with invalid operators. - * - * @param string $operator - * @param mixed $value - * @return bool - */ - protected function invalidOperatorAndValue($operator, $value) - { - return is_null($value) && in_array($operator, $this->operators) && - ! in_array($operator, ['=', '<>', '!=']); - } - - /** - * Determine if the given operator is supported. - * - * @param string $operator - * @return bool - */ - protected function invalidOperator($operator) - { - return ! in_array(strtolower($operator), $this->operators, true) && - ! in_array(strtolower($operator), $this->grammar->getOperators(), true); - } - - /** - * Add an "or where" clause to the query. - * - * @param string|array|\Closure $column - * @param mixed $operator - * @param mixed $value - * @return \Illuminate\Database\Query\Builder|static - */ - public function orWhere($column, $operator = null, $value = null) - { - [$value, $operator] = $this->prepareValueAndOperator( - $value, $operator, func_num_args() === 2 - ); - - return $this->where($column, $operator, $value, 'or'); - } - - /** - * Add a "where" clause comparing two columns to the query. - * - * @param string|array $first - * @param string|null $operator - * @param string|null $second - * @param string|null $boolean - * @return \Illuminate\Database\Query\Builder|static - */ - public function whereColumn($first, $operator = null, $second = null, $boolean = 'and') - { - // If the column is an array, we will assume it is an array of key-value pairs - // and can add them each as a where clause. We will maintain the boolean we - // received when the method was called and pass it into the nested where. - if (is_array($first)) { - return $this->addArrayOfWheres($first, $boolean, 'whereColumn'); - } - - // If the given operator is not found in the list of valid operators we will - // assume that the developer is just short-cutting the '=' operators and - // we will set the operators to '=' and set the values appropriately. - if ($this->invalidOperator($operator)) { - [$second, $operator] = [$operator, '=']; - } - - // Finally, we will add this where clause into this array of clauses that we - // are building for the query. All of them will be compiled via a grammar - // once the query is about to be executed and run against the database. - $type = 'Column'; - - $this->wheres[] = compact( - 'type', 'first', 'operator', 'second', 'boolean' - ); - - return $this; - } - - /** - * Add an "or where" clause comparing two columns to the query. - * - * @param string|array $first - * @param string|null $operator - * @param string|null $second - * @return \Illuminate\Database\Query\Builder|static - */ - public function orWhereColumn($first, $operator = null, $second = null) - { - return $this->whereColumn($first, $operator, $second, 'or'); - } - - /** - * Add a raw where clause to the query. - * - * @param string $sql - * @param mixed $bindings - * @param string $boolean - * @return $this - */ - public function whereRaw($sql, $bindings = [], $boolean = 'and') - { - $this->wheres[] = ['type' => 'raw', 'sql' => $sql, 'boolean' => $boolean]; - - $this->addBinding((array) $bindings, 'where'); - - return $this; - } - - /** - * Add a raw or where clause to the query. - * - * @param string $sql - * @param mixed $bindings - * @return \Illuminate\Database\Query\Builder|static - */ - public function orWhereRaw($sql, $bindings = []) - { - return $this->whereRaw($sql, $bindings, 'or'); - } - - /** - * Add a "where in" clause to the query. - * - * @param string $column - * @param mixed $values - * @param string $boolean - * @param bool $not - * @return $this - */ - public function whereIn($column, $values, $boolean = 'and', $not = false) - { - $type = $not ? 'NotIn' : 'In'; - - // If the value is a query builder instance we will assume the developer wants to - // look for any values that exists within this given query. So we will add the - // query accordingly so that this query is properly executed when it is run. - if ($values instanceof self || - $values instanceof EloquentBuilder || - $values instanceof Closure) { - [$query, $bindings] = $this->createSub($values); - - $values = [new Expression($query)]; - - $this->addBinding($bindings, 'where'); - } - - // Next, if the value is Arrayable we need to cast it to its raw array form so we - // have the underlying array value instead of an Arrayable object which is not - // able to be added as a binding, etc. We will then add to the wheres array. - if ($values instanceof Arrayable) { - $values = $values->toArray(); - } - - $this->wheres[] = compact('type', 'column', 'values', 'boolean'); - - // Finally we'll add a binding for each values unless that value is an expression - // in which case we will just skip over it since it will be the query as a raw - // string and not as a parameterized place-holder to be replaced by the PDO. - $this->addBinding($this->cleanBindings($values), 'where'); - - return $this; - } - - /** - * Add an "or where in" clause to the query. - * - * @param string $column - * @param mixed $values - * @return \Illuminate\Database\Query\Builder|static - */ - public function orWhereIn($column, $values) - { - return $this->whereIn($column, $values, 'or'); - } - - /** - * Add a "where not in" clause to the query. - * - * @param string $column - * @param mixed $values - * @param string $boolean - * @return \Illuminate\Database\Query\Builder|static - */ - public function whereNotIn($column, $values, $boolean = 'and') - { - return $this->whereIn($column, $values, $boolean, true); - } - - /** - * Add an "or where not in" clause to the query. - * - * @param string $column - * @param mixed $values - * @return \Illuminate\Database\Query\Builder|static - */ - public function orWhereNotIn($column, $values) - { - return $this->whereNotIn($column, $values, 'or'); - } - - /** - * Add a where in with a sub-select to the query. - * - * @param string $column - * @param \Closure $callback - * @param string $boolean - * @param bool $not - * @return $this - */ - protected function whereInSub($column, Closure $callback, $boolean, $not) - { - $type = $not ? 'NotInSub' : 'InSub'; - - // To create the exists sub-select, we will actually create a query and call the - // provided callback with the query so the developer may set any of the query - // conditions they want for the in clause, then we'll put it in this array. - call_user_func($callback, $query = $this->forSubQuery()); - - $this->wheres[] = compact('type', 'column', 'query', 'boolean'); - - $this->addBinding($query->getBindings(), 'where'); - - return $this; - } - - /** - * Add an external sub-select to the query. - * - * @param string $column - * @param \Illuminate\Database\Query\Builder|static $query - * @param string $boolean - * @param bool $not - * @return $this - */ - protected function whereInExistingQuery($column, $query, $boolean, $not) - { - $type = $not ? 'NotInSub' : 'InSub'; - - $this->wheres[] = compact('type', 'column', 'query', 'boolean'); - - $this->addBinding($query->getBindings(), 'where'); - - return $this; - } - - /** - * Add a "where in raw" clause for integer values to the query. - * - * @param string $column - * @param \Illuminate\Contracts\Support\Arrayable|array $values - * @param string $boolean - * @param bool $not - * @return $this - */ - public function whereIntegerInRaw($column, $values, $boolean = 'and', $not = false) - { - $type = $not ? 'NotInRaw' : 'InRaw'; - - if ($values instanceof Arrayable) { - $values = $values->toArray(); - } - - foreach ($values as &$value) { - $value = (int) $value; - } - - $this->wheres[] = compact('type', 'column', 'values', 'boolean'); - - return $this; - } - - /** - * Add a "where not in raw" clause for integer values to the query. - * - * @param string $column - * @param \Illuminate\Contracts\Support\Arrayable|array $values - * @param string $boolean - * @return $this - */ - public function whereIntegerNotInRaw($column, $values, $boolean = 'and') - { - return $this->whereIntegerInRaw($column, $values, $boolean, true); - } - - /** - * Add a "where null" clause to the query. - * - * @param string|array $columns - * @param string $boolean - * @param bool $not - * @return $this - */ - public function whereNull($columns, $boolean = 'and', $not = false) - { - $type = $not ? 'NotNull' : 'Null'; - - foreach (Arr::wrap($columns) as $column) { - $this->wheres[] = compact('type', 'column', 'boolean'); - } - - return $this; - } - - /** - * Add an "or where null" clause to the query. - * - * @param string $column - * @return \Illuminate\Database\Query\Builder|static - */ - public function orWhereNull($column) - { - return $this->whereNull($column, 'or'); - } - - /** - * Add a "where not null" clause to the query. - * - * @param string $column - * @param string $boolean - * @return \Illuminate\Database\Query\Builder|static - */ - public function whereNotNull($column, $boolean = 'and') - { - return $this->whereNull($column, $boolean, true); - } - - /** - * Add a where between statement to the query. - * - * @param string $column - * @param array $values - * @param string $boolean - * @param bool $not - * @return $this - */ - public function whereBetween($column, array $values, $boolean = 'and', $not = false) - { - $type = 'between'; - - $this->wheres[] = compact('type', 'column', 'values', 'boolean', 'not'); - - $this->addBinding($this->cleanBindings($values), 'where'); - - return $this; - } - - /** - * Add an or where between statement to the query. - * - * @param string $column - * @param array $values - * @return \Illuminate\Database\Query\Builder|static - */ - public function orWhereBetween($column, array $values) - { - return $this->whereBetween($column, $values, 'or'); - } - - /** - * Add a where not between statement to the query. - * - * @param string $column - * @param array $values - * @param string $boolean - * @return \Illuminate\Database\Query\Builder|static - */ - public function whereNotBetween($column, array $values, $boolean = 'and') - { - return $this->whereBetween($column, $values, $boolean, true); - } - - /** - * Add an or where not between statement to the query. - * - * @param string $column - * @param array $values - * @return \Illuminate\Database\Query\Builder|static - */ - public function orWhereNotBetween($column, array $values) - { - return $this->whereNotBetween($column, $values, 'or'); - } - - /** - * Add an "or where not null" clause to the query. - * - * @param string $column - * @return \Illuminate\Database\Query\Builder|static - */ - public function orWhereNotNull($column) - { - return $this->whereNotNull($column, 'or'); - } - - /** - * Add a "where date" statement to the query. - * - * @param string $column - * @param string $operator - * @param \DateTimeInterface|string|null $value - * @param string $boolean - * @return \Illuminate\Database\Query\Builder|static - */ - public function whereDate($column, $operator, $value = null, $boolean = 'and') - { - [$value, $operator] = $this->prepareValueAndOperator( - $value, $operator, func_num_args() === 2 - ); - - if ($value instanceof DateTimeInterface) { - $value = $value->format('Y-m-d'); - } - - return $this->addDateBasedWhere('Date', $column, $operator, $value, $boolean); - } - - /** - * Add an "or where date" statement to the query. - * - * @param string $column - * @param string $operator - * @param \DateTimeInterface|string|null $value - * @return \Illuminate\Database\Query\Builder|static - */ - public function orWhereDate($column, $operator, $value = null) - { - [$value, $operator] = $this->prepareValueAndOperator( - $value, $operator, func_num_args() === 2 - ); - - return $this->whereDate($column, $operator, $value, 'or'); - } - - /** - * Add a "where time" statement to the query. - * - * @param string $column - * @param string $operator - * @param \DateTimeInterface|string|null $value - * @param string $boolean - * @return \Illuminate\Database\Query\Builder|static - */ - public function whereTime($column, $operator, $value = null, $boolean = 'and') - { - [$value, $operator] = $this->prepareValueAndOperator( - $value, $operator, func_num_args() === 2 - ); - - if ($value instanceof DateTimeInterface) { - $value = $value->format('H:i:s'); - } - - return $this->addDateBasedWhere('Time', $column, $operator, $value, $boolean); - } - - /** - * Add an "or where time" statement to the query. - * - * @param string $column - * @param string $operator - * @param \DateTimeInterface|string|null $value - * @return \Illuminate\Database\Query\Builder|static - */ - public function orWhereTime($column, $operator, $value = null) - { - [$value, $operator] = $this->prepareValueAndOperator( - $value, $operator, func_num_args() === 2 - ); - - return $this->whereTime($column, $operator, $value, 'or'); - } - - /** - * Add a "where day" statement to the query. - * - * @param string $column - * @param string $operator - * @param \DateTimeInterface|string|null $value - * @param string $boolean - * @return \Illuminate\Database\Query\Builder|static - */ - public function whereDay($column, $operator, $value = null, $boolean = 'and') - { - [$value, $operator] = $this->prepareValueAndOperator( - $value, $operator, func_num_args() === 2 - ); - - if ($value instanceof DateTimeInterface) { - $value = $value->format('d'); - } - - if (! $value instanceof Expression) { - $value = str_pad($value, 2, '0', STR_PAD_LEFT); - } - - return $this->addDateBasedWhere('Day', $column, $operator, $value, $boolean); - } - - /** - * Add an "or where day" statement to the query. - * - * @param string $column - * @param string $operator - * @param \DateTimeInterface|string|null $value - * @return \Illuminate\Database\Query\Builder|static - */ - public function orWhereDay($column, $operator, $value = null) - { - [$value, $operator] = $this->prepareValueAndOperator( - $value, $operator, func_num_args() === 2 - ); - - return $this->whereDay($column, $operator, $value, 'or'); - } - - /** - * Add a "where month" statement to the query. - * - * @param string $column - * @param string $operator - * @param \DateTimeInterface|string|null $value - * @param string $boolean - * @return \Illuminate\Database\Query\Builder|static - */ - public function whereMonth($column, $operator, $value = null, $boolean = 'and') - { - [$value, $operator] = $this->prepareValueAndOperator( - $value, $operator, func_num_args() === 2 - ); - - if ($value instanceof DateTimeInterface) { - $value = $value->format('m'); - } - - if (! $value instanceof Expression) { - $value = str_pad($value, 2, '0', STR_PAD_LEFT); - } - - return $this->addDateBasedWhere('Month', $column, $operator, $value, $boolean); - } - - /** - * Add an "or where month" statement to the query. - * - * @param string $column - * @param string $operator - * @param \DateTimeInterface|string|null $value - * @return \Illuminate\Database\Query\Builder|static - */ - public function orWhereMonth($column, $operator, $value = null) - { - [$value, $operator] = $this->prepareValueAndOperator( - $value, $operator, func_num_args() === 2 - ); - - return $this->whereMonth($column, $operator, $value, 'or'); - } - - /** - * Add a "where year" statement to the query. - * - * @param string $column - * @param string $operator - * @param \DateTimeInterface|string|int|null $value - * @param string $boolean - * @return \Illuminate\Database\Query\Builder|static - */ - public function whereYear($column, $operator, $value = null, $boolean = 'and') - { - [$value, $operator] = $this->prepareValueAndOperator( - $value, $operator, func_num_args() === 2 - ); - - if ($value instanceof DateTimeInterface) { - $value = $value->format('Y'); - } - - return $this->addDateBasedWhere('Year', $column, $operator, $value, $boolean); - } - - /** - * Add an "or where year" statement to the query. - * - * @param string $column - * @param string $operator - * @param \DateTimeInterface|string|int|null $value - * @return \Illuminate\Database\Query\Builder|static - */ - public function orWhereYear($column, $operator, $value = null) - { - [$value, $operator] = $this->prepareValueAndOperator( - $value, $operator, func_num_args() === 2 - ); - - return $this->whereYear($column, $operator, $value, 'or'); - } - - /** - * Add a date based (year, month, day, time) statement to the query. - * - * @param string $type - * @param string $column - * @param string $operator - * @param mixed $value - * @param string $boolean - * @return $this - */ - protected function addDateBasedWhere($type, $column, $operator, $value, $boolean = 'and') - { - $this->wheres[] = compact('column', 'type', 'boolean', 'operator', 'value'); - - if (! $value instanceof Expression) { - $this->addBinding($value, 'where'); - } - - return $this; - } - - /** - * Add a nested where statement to the query. - * - * @param \Closure $callback - * @param string $boolean - * @return \Illuminate\Database\Query\Builder|static - */ - public function whereNested(Closure $callback, $boolean = 'and') - { - call_user_func($callback, $query = $this->forNestedWhere()); - - return $this->addNestedWhereQuery($query, $boolean); - } - - /** - * Create a new query instance for nested where condition. - * - * @return \Illuminate\Database\Query\Builder - */ - public function forNestedWhere() - { - return $this->newQuery()->from($this->from); - } - - /** - * Add another query builder as a nested where to the query builder. - * - * @param \Illuminate\Database\Query\Builder|static $query - * @param string $boolean - * @return $this - */ - public function addNestedWhereQuery($query, $boolean = 'and') - { - if (count($query->wheres)) { - $type = 'Nested'; - - $this->wheres[] = compact('type', 'query', 'boolean'); - - $this->addBinding($query->getRawBindings()['where'], 'where'); - } - - return $this; - } - - /** - * Add a full sub-select to the query. - * - * @param string $column - * @param string $operator - * @param \Closure $callback - * @param string $boolean - * @return $this - */ - protected function whereSub($column, $operator, Closure $callback, $boolean) - { - $type = 'Sub'; - - // Once we have the query instance we can simply execute it so it can add all - // of the sub-select's conditions to itself, and then we can cache it off - // in the array of where clauses for the "main" parent query instance. - call_user_func($callback, $query = $this->forSubQuery()); - - $this->wheres[] = compact( - 'type', 'column', 'operator', 'query', 'boolean' - ); - - $this->addBinding($query->getBindings(), 'where'); - - return $this; - } - - /** - * Add an exists clause to the query. - * - * @param \Closure $callback - * @param string $boolean - * @param bool $not - * @return $this - */ - public function whereExists(Closure $callback, $boolean = 'and', $not = false) - { - $query = $this->forSubQuery(); - - // Similar to the sub-select clause, we will create a new query instance so - // the developer may cleanly specify the entire exists query and we will - // compile the whole thing in the grammar and insert it into the SQL. - call_user_func($callback, $query); - - return $this->addWhereExistsQuery($query, $boolean, $not); - } - - /** - * Add an or exists clause to the query. - * - * @param \Closure $callback - * @param bool $not - * @return \Illuminate\Database\Query\Builder|static - */ - public function orWhereExists(Closure $callback, $not = false) - { - return $this->whereExists($callback, 'or', $not); - } - - /** - * Add a where not exists clause to the query. - * - * @param \Closure $callback - * @param string $boolean - * @return \Illuminate\Database\Query\Builder|static - */ - public function whereNotExists(Closure $callback, $boolean = 'and') - { - return $this->whereExists($callback, $boolean, true); - } - - /** - * Add a where not exists clause to the query. - * - * @param \Closure $callback - * @return \Illuminate\Database\Query\Builder|static - */ - public function orWhereNotExists(Closure $callback) - { - return $this->orWhereExists($callback, true); - } - - /** - * Add an exists clause to the query. - * - * @param \Illuminate\Database\Query\Builder $query - * @param string $boolean - * @param bool $not - * @return $this - */ - public function addWhereExistsQuery(self $query, $boolean = 'and', $not = false) - { - $type = $not ? 'NotExists' : 'Exists'; - - $this->wheres[] = compact('type', 'query', 'boolean'); - - $this->addBinding($query->getBindings(), 'where'); - - return $this; - } - - /** - * Adds a where condition using row values. - * - * @param array $columns - * @param string $operator - * @param array $values - * @param string $boolean - * @return $this - */ - public function whereRowValues($columns, $operator, $values, $boolean = 'and') - { - if (count($columns) !== count($values)) { - throw new InvalidArgumentException('The number of columns must match the number of values'); - } - - $type = 'RowValues'; - - $this->wheres[] = compact('type', 'columns', 'operator', 'values', 'boolean'); - - $this->addBinding($this->cleanBindings($values)); - - return $this; - } - - /** - * Adds a or where condition using row values. - * - * @param array $columns - * @param string $operator - * @param array $values - * @return $this - */ - public function orWhereRowValues($columns, $operator, $values) - { - return $this->whereRowValues($columns, $operator, $values, 'or'); - } - - /** - * Add a "where JSON contains" clause to the query. - * - * @param string $column - * @param mixed $value - * @param string $boolean - * @param bool $not - * @return $this - */ - public function whereJsonContains($column, $value, $boolean = 'and', $not = false) - { - $type = 'JsonContains'; - - $this->wheres[] = compact('type', 'column', 'value', 'boolean', 'not'); - - if (! $value instanceof Expression) { - $this->addBinding($this->grammar->prepareBindingForJsonContains($value)); - } - - return $this; - } - - /** - * Add a "or where JSON contains" clause to the query. - * - * @param string $column - * @param mixed $value - * @return $this - */ - public function orWhereJsonContains($column, $value) - { - return $this->whereJsonContains($column, $value, 'or'); - } - - /** - * Add a "where JSON not contains" clause to the query. - * - * @param string $column - * @param mixed $value - * @param string $boolean - * @return $this - */ - public function whereJsonDoesntContain($column, $value, $boolean = 'and') - { - return $this->whereJsonContains($column, $value, $boolean, true); - } - - /** - * Add a "or where JSON not contains" clause to the query. - * - * @param string $column - * @param mixed $value - * @return $this - */ - public function orWhereJsonDoesntContain($column, $value) - { - return $this->whereJsonDoesntContain($column, $value, 'or'); - } - - /** - * Add a "where JSON length" clause to the query. - * - * @param string $column - * @param mixed $operator - * @param mixed $value - * @param string $boolean - * @return $this - */ - public function whereJsonLength($column, $operator, $value = null, $boolean = 'and') - { - $type = 'JsonLength'; - - [$value, $operator] = $this->prepareValueAndOperator( - $value, $operator, func_num_args() === 2 - ); - - $this->wheres[] = compact('type', 'column', 'operator', 'value', 'boolean'); - - if (! $value instanceof Expression) { - $this->addBinding($value); - } - - return $this; - } - - /** - * Add a "or where JSON length" clause to the query. - * - * @param string $column - * @param mixed $operator - * @param mixed $value - * @return $this - */ - public function orWhereJsonLength($column, $operator, $value = null) - { - [$value, $operator] = $this->prepareValueAndOperator( - $value, $operator, func_num_args() === 2 - ); - - return $this->whereJsonLength($column, $operator, $value, 'or'); - } - - /** - * Handles dynamic "where" clauses to the query. - * - * @param string $method - * @param array $parameters - * @return $this - */ - public function dynamicWhere($method, $parameters) - { - $finder = substr($method, 5); - - $segments = preg_split( - '/(And|Or)(?=[A-Z])/', $finder, -1, PREG_SPLIT_DELIM_CAPTURE - ); - - // The connector variable will determine which connector will be used for the - // query condition. We will change it as we come across new boolean values - // in the dynamic method strings, which could contain a number of these. - $connector = 'and'; - - $index = 0; - - foreach ($segments as $segment) { - // If the segment is not a boolean connector, we can assume it is a column's name - // and we will add it to the query as a new constraint as a where clause, then - // we can keep iterating through the dynamic method string's segments again. - if ($segment !== 'And' && $segment !== 'Or') { - $this->addDynamic($segment, $connector, $parameters, $index); - - $index++; - } - - // Otherwise, we will store the connector so we know how the next where clause we - // find in the query should be connected to the previous ones, meaning we will - // have the proper boolean connector to connect the next where clause found. - else { - $connector = $segment; - } - } - - return $this; - } - - /** - * Add a single dynamic where clause statement to the query. - * - * @param string $segment - * @param string $connector - * @param array $parameters - * @param int $index - * @return void - */ - protected function addDynamic($segment, $connector, $parameters, $index) - { - // Once we have parsed out the columns and formatted the boolean operators we - // are ready to add it to this query as a where clause just like any other - // clause on the query. Then we'll increment the parameter index values. - $bool = strtolower($connector); - - $this->where(Str::snake($segment), '=', $parameters[$index], $bool); - } - - /** - * Add a "group by" clause to the query. - * - * @param array ...$groups - * @return $this - */ - public function groupBy(...$groups) - { - foreach ($groups as $group) { - $this->groups = array_merge( - (array) $this->groups, - Arr::wrap($group) - ); - } - - return $this; - } - - /** - * Add a "having" clause to the query. - * - * @param string $column - * @param string|null $operator - * @param string|null $value - * @param string $boolean - * @return $this - */ - public function having($column, $operator = null, $value = null, $boolean = 'and') - { - $type = 'Basic'; - - // Here we will make some assumptions about the operator. If only 2 values are - // passed to the method, we will assume that the operator is an equals sign - // and keep going. Otherwise, we'll require the operator to be passed in. - [$value, $operator] = $this->prepareValueAndOperator( - $value, $operator, func_num_args() === 2 - ); - - // If the given operator is not found in the list of valid operators we will - // assume that the developer is just short-cutting the '=' operators and - // we will set the operators to '=' and set the values appropriately. - if ($this->invalidOperator($operator)) { - [$value, $operator] = [$operator, '=']; - } - - $this->havings[] = compact('type', 'column', 'operator', 'value', 'boolean'); - - if (! $value instanceof Expression) { - $this->addBinding($value, 'having'); - } - - return $this; - } - - /** - * Add a "or having" clause to the query. - * - * @param string $column - * @param string|null $operator - * @param string|null $value - * @return \Illuminate\Database\Query\Builder|static - */ - public function orHaving($column, $operator = null, $value = null) - { - [$value, $operator] = $this->prepareValueAndOperator( - $value, $operator, func_num_args() === 2 - ); - - return $this->having($column, $operator, $value, 'or'); - } - - /** - * Add a "having between " clause to the query. - * - * @param string $column - * @param array $values - * @param string $boolean - * @param bool $not - * @return \Illuminate\Database\Query\Builder|static - */ - public function havingBetween($column, array $values, $boolean = 'and', $not = false) - { - $type = 'between'; - - $this->havings[] = compact('type', 'column', 'values', 'boolean', 'not'); - - $this->addBinding($this->cleanBindings($values), 'having'); - - return $this; - } - - /** - * Add a raw having clause to the query. - * - * @param string $sql - * @param array $bindings - * @param string $boolean - * @return $this - */ - public function havingRaw($sql, array $bindings = [], $boolean = 'and') - { - $type = 'Raw'; - - $this->havings[] = compact('type', 'sql', 'boolean'); - - $this->addBinding($bindings, 'having'); - - return $this; - } - - /** - * Add a raw or having clause to the query. - * - * @param string $sql - * @param array $bindings - * @return \Illuminate\Database\Query\Builder|static - */ - public function orHavingRaw($sql, array $bindings = []) - { - return $this->havingRaw($sql, $bindings, 'or'); - } - - /** - * Add an "order by" clause to the query. - * - * @param string $column - * @param string $direction - * @return $this - * - * @throws \InvalidArgumentException - */ - public function orderBy($column, $direction = 'asc') - { - $direction = strtolower($direction); - - if (! in_array($direction, ['asc', 'desc'], true)) { - throw new InvalidArgumentException('Order direction must be "asc" or "desc".'); - } - - $this->{$this->unions ? 'unionOrders' : 'orders'}[] = [ - 'column' => $column, - 'direction' => $direction, - ]; - - return $this; - } - - /** - * Add a descending "order by" clause to the query. - * - * @param string $column - * @return $this - */ - public function orderByDesc($column) - { - return $this->orderBy($column, 'desc'); - } - - /** - * Add an "order by" clause for a timestamp to the query. - * - * @param string $column - * @return \Illuminate\Database\Query\Builder|static - */ - public function latest($column = 'created_at') - { - return $this->orderBy($column, 'desc'); - } - - /** - * Add an "order by" clause for a timestamp to the query. - * - * @param string $column - * @return \Illuminate\Database\Query\Builder|static - */ - public function oldest($column = 'created_at') - { - return $this->orderBy($column, 'asc'); - } - - /** - * Put the query's results in random order. - * - * @param string $seed - * @return $this - */ - public function inRandomOrder($seed = '') - { - return $this->orderByRaw($this->grammar->compileRandom($seed)); - } - - /** - * Add a raw "order by" clause to the query. - * - * @param string $sql - * @param array $bindings - * @return $this - */ - public function orderByRaw($sql, $bindings = []) - { - $type = 'Raw'; - - $this->{$this->unions ? 'unionOrders' : 'orders'}[] = compact('type', 'sql'); - - $this->addBinding($bindings, 'order'); - - return $this; - } - - /** - * Alias to set the "offset" value of the query. - * - * @param int $value - * @return \Illuminate\Database\Query\Builder|static - */ - public function skip($value) - { - return $this->offset($value); - } - - /** - * Set the "offset" value of the query. - * - * @param int $value - * @return $this - */ - public function offset($value) - { - $property = $this->unions ? 'unionOffset' : 'offset'; - - $this->$property = max(0, $value); - - return $this; - } - - /** - * Alias to set the "limit" value of the query. - * - * @param int $value - * @return \Illuminate\Database\Query\Builder|static - */ - public function take($value) - { - return $this->limit($value); - } - - /** - * Set the "limit" value of the query. - * - * @param int $value - * @return $this - */ - public function limit($value) - { - $property = $this->unions ? 'unionLimit' : 'limit'; - - if ($value >= 0) { - $this->$property = $value; - } - - return $this; - } - - /** - * Set the limit and offset for a given page. - * - * @param int $page - * @param int $perPage - * @return \Illuminate\Database\Query\Builder|static - */ - public function forPage($page, $perPage = 15) - { - return $this->skip(($page - 1) * $perPage)->take($perPage); - } - - /** - * Constrain the query to the previous "page" of results before a given ID. - * - * @param int $perPage - * @param int|null $lastId - * @param string $column - * @return \Illuminate\Database\Query\Builder|static - */ - public function forPageBeforeId($perPage = 15, $lastId = 0, $column = 'id') - { - $this->orders = $this->removeExistingOrdersFor($column); - - if (! is_null($lastId)) { - $this->where($column, '<', $lastId); - } - - return $this->orderBy($column, 'desc') - ->take($perPage); - } - - /** - * Constrain the query to the next "page" of results after a given ID. - * - * @param int $perPage - * @param int|null $lastId - * @param string $column - * @return \Illuminate\Database\Query\Builder|static - */ - public function forPageAfterId($perPage = 15, $lastId = 0, $column = 'id') - { - $this->orders = $this->removeExistingOrdersFor($column); - - if (! is_null($lastId)) { - $this->where($column, '>', $lastId); - } - - return $this->orderBy($column, 'asc') - ->take($perPage); - } - - /** - * Get an array with all orders with a given column removed. - * - * @param string $column - * @return array - */ - protected function removeExistingOrdersFor($column) - { - return Collection::make($this->orders) - ->reject(function ($order) use ($column) { - return isset($order['column']) - ? $order['column'] === $column : false; - })->values()->all(); - } - - /** - * Add a union statement to the query. - * - * @param \Illuminate\Database\Query\Builder|\Closure $query - * @param bool $all - * @return \Illuminate\Database\Query\Builder|static - */ - public function union($query, $all = false) - { - if ($query instanceof Closure) { - call_user_func($query, $query = $this->newQuery()); - } - - $this->unions[] = compact('query', 'all'); - - $this->addBinding($query->getBindings(), 'union'); - - return $this; - } - - /** - * Add a union all statement to the query. - * - * @param \Illuminate\Database\Query\Builder|\Closure $query - * @return \Illuminate\Database\Query\Builder|static - */ - public function unionAll($query) - { - return $this->union($query, true); - } - - /** - * Lock the selected rows in the table. - * - * @param string|bool $value - * @return $this - */ - public function lock($value = true) - { - $this->lock = $value; - - if (! is_null($this->lock)) { - $this->useWritePdo(); - } - - return $this; - } - - /** - * Lock the selected rows in the table for updating. - * - * @return \Illuminate\Database\Query\Builder - */ - public function lockForUpdate() - { - return $this->lock(true); - } - - /** - * Share lock the selected rows in the table. - * - * @return \Illuminate\Database\Query\Builder - */ - public function sharedLock() - { - return $this->lock(false); - } - - /** - * Get the SQL representation of the query. - * - * @return string - */ - public function toSql() - { - return $this->grammar->compileSelect($this); - } - - /** - * Execute a query for a single record by ID. - * - * @param int|string $id - * @param array $columns - * @return mixed|static - */ - public function find($id, $columns = ['*']) - { - return $this->where('id', '=', $id)->first($columns); - } - - /** - * Get a single column's value from the first result of a query. - * - * @param string $column - * @return mixed - */ - public function value($column) - { - $result = (array) $this->first([$column]); - - return count($result) > 0 ? reset($result) : null; - } - - /** - * Execute the query as a "select" statement. - * - * @param array|string $columns - * @return \Illuminate\Support\Collection - */ - public function get($columns = ['*']) - { - return collect($this->onceWithColumns(Arr::wrap($columns), function () { - return $this->processor->processSelect($this, $this->runSelect()); - })); - } - - /** - * Run the query as a "select" statement against the connection. - * - * @return array - */ - protected function runSelect() - { - return $this->connection->select( - $this->toSql(), $this->getBindings(), ! $this->useWritePdo - ); - } - - /** - * Paginate the given query into a simple paginator. - * - * @param int $perPage - * @param array $columns - * @param string $pageName - * @param int|null $page - * @return \Illuminate\Contracts\Pagination\LengthAwarePaginator - */ - public function paginate($perPage = 15, $columns = ['*'], $pageName = 'page', $page = null) - { - $page = $page ?: Paginator::resolveCurrentPage($pageName); - - $total = $this->getCountForPagination(); - - $results = $total ? $this->forPage($page, $perPage)->get($columns) : collect(); - - return $this->paginator($results, $total, $perPage, $page, [ - 'path' => Paginator::resolveCurrentPath(), - 'pageName' => $pageName, - ]); - } - - /** - * Get a paginator only supporting simple next and previous links. - * - * This is more efficient on larger data-sets, etc. - * - * @param int $perPage - * @param array $columns - * @param string $pageName - * @param int|null $page - * @return \Illuminate\Contracts\Pagination\Paginator - */ - public function simplePaginate($perPage = 15, $columns = ['*'], $pageName = 'page', $page = null) - { - $page = $page ?: Paginator::resolveCurrentPage($pageName); - - $this->skip(($page - 1) * $perPage)->take($perPage + 1); - - return $this->simplePaginator($this->get($columns), $perPage, $page, [ - 'path' => Paginator::resolveCurrentPath(), - 'pageName' => $pageName, - ]); - } - - /** - * Get the count of the total records for the paginator. - * - * @param array $columns - * @return int - */ - public function getCountForPagination($columns = ['*']) - { - $results = $this->runPaginationCountQuery($columns); - - // Once we have run the pagination count query, we will get the resulting count and - // take into account what type of query it was. When there is a group by we will - // just return the count of the entire results set since that will be correct. - if (isset($this->groups)) { - return count($results); - } elseif (! isset($results[0])) { - return 0; - } elseif (is_object($results[0])) { - return (int) $results[0]->aggregate; - } - - return (int) array_change_key_case((array) $results[0])['aggregate']; - } - - /** - * Run a pagination count query. - * - * @param array $columns - * @return array - */ - protected function runPaginationCountQuery($columns = ['*']) - { - $without = $this->unions ? ['orders', 'limit', 'offset'] : ['columns', 'orders', 'limit', 'offset']; - - return $this->cloneWithout($without) - ->cloneWithoutBindings($this->unions ? ['order'] : ['select', 'order']) - ->setAggregate('count', $this->withoutSelectAliases($columns)) - ->get()->all(); - } - - /** - * Remove the column aliases since they will break count queries. - * - * @param array $columns - * @return array - */ - protected function withoutSelectAliases(array $columns) - { - return array_map(function ($column) { - return is_string($column) && ($aliasPosition = stripos($column, ' as ')) !== false - ? substr($column, 0, $aliasPosition) : $column; - }, $columns); - } - - /** - * Get a generator for the given query. - * - * @return \Generator - */ - public function cursor() - { - if (is_null($this->columns)) { - $this->columns = ['*']; - } - - return $this->connection->cursor( - $this->toSql(), $this->getBindings(), ! $this->useWritePdo - ); - } - - /** - * Chunk the results of a query by comparing numeric IDs. - * - * @param int $count - * @param callable $callback - * @param string $column - * @param string|null $alias - * @return bool - */ - public function chunkById($count, callable $callback, $column = 'id', $alias = null) - { - $alias = $alias ?: $column; - - $lastId = null; - - do { - $clone = clone $this; - - // We'll execute the query for the given page and get the results. If there are - // no results we can just break and return from here. When there are results - // we will call the callback with the current chunk of these results here. - $results = $clone->forPageAfterId($count, $lastId, $column)->get(); - - $countResults = $results->count(); - - if ($countResults == 0) { - break; - } - - // On each chunk result set, we will pass them to the callback and then let the - // developer take care of everything within the callback, which allows us to - // keep the memory low for spinning through large result sets for working. - if ($callback($results) === false) { - return false; - } - - $lastId = $results->last()->{$alias}; - - unset($results); - } while ($countResults == $count); - - return true; - } - - /** - * Throw an exception if the query doesn't have an orderBy clause. - * - * @return void - * - * @throws \RuntimeException - */ - protected function enforceOrderBy() - { - if (empty($this->orders) && empty($this->unionOrders)) { - throw new RuntimeException('You must specify an orderBy clause when using this function.'); - } - } - - /** - * Get an array with the values of a given column. - * - * @param string $column - * @param string|null $key - * @return \Illuminate\Support\Collection - */ - public function pluck($column, $key = null) - { - // First, we will need to select the results of the query accounting for the - // given columns / key. Once we have the results, we will be able to take - // the results and get the exact data that was requested for the query. - $queryResult = $this->onceWithColumns( - is_null($key) ? [$column] : [$column, $key], - function () { - return $this->processor->processSelect( - $this, $this->runSelect() - ); - } - ); - - if (empty($queryResult)) { - return collect(); - } - - // If the columns are qualified with a table or have an alias, we cannot use - // those directly in the "pluck" operations since the results from the DB - // are only keyed by the column itself. We'll strip the table out here. - $column = $this->stripTableForPluck($column); - - $key = $this->stripTableForPluck($key); - - return is_array($queryResult[0]) - ? $this->pluckFromArrayColumn($queryResult, $column, $key) - : $this->pluckFromObjectColumn($queryResult, $column, $key); - } - - /** - * Strip off the table name or alias from a column identifier. - * - * @param string $column - * @return string|null - */ - protected function stripTableForPluck($column) - { - return is_null($column) ? $column : last(preg_split('~\.| ~', $column)); - } - - /** - * Retrieve column values from rows represented as objects. - * - * @param array $queryResult - * @param string $column - * @param string $key - * @return \Illuminate\Support\Collection - */ - protected function pluckFromObjectColumn($queryResult, $column, $key) - { - $results = []; - - if (is_null($key)) { - foreach ($queryResult as $row) { - $results[] = $row->$column; - } - } else { - foreach ($queryResult as $row) { - $results[$row->$key] = $row->$column; - } - } - - return collect($results); - } - - /** - * Retrieve column values from rows represented as arrays. - * - * @param array $queryResult - * @param string $column - * @param string $key - * @return \Illuminate\Support\Collection - */ - protected function pluckFromArrayColumn($queryResult, $column, $key) - { - $results = []; - - if (is_null($key)) { - foreach ($queryResult as $row) { - $results[] = $row[$column]; - } - } else { - foreach ($queryResult as $row) { - $results[$row[$key]] = $row[$column]; - } - } - - return collect($results); - } - - /** - * Concatenate values of a given column as a string. - * - * @param string $column - * @param string $glue - * @return string - */ - public function implode($column, $glue = '') - { - return $this->pluck($column)->implode($glue); - } - - /** - * Determine if any rows exist for the current query. - * - * @return bool - */ - public function exists() - { - $results = $this->connection->select( - $this->grammar->compileExists($this), $this->getBindings(), ! $this->useWritePdo - ); - - // If the results has rows, we will get the row and see if the exists column is a - // boolean true. If there is no results for this query we will return false as - // there are no rows for this query at all and we can return that info here. - if (isset($results[0])) { - $results = (array) $results[0]; - - return (bool) $results['exists']; - } - - return false; - } - - /** - * Determine if no rows exist for the current query. - * - * @return bool - */ - public function doesntExist() - { - return ! $this->exists(); - } - - /** - * Retrieve the "count" result of the query. - * - * @param string $columns - * @return int - */ - public function count($columns = '*') - { - return (int) $this->aggregate(__FUNCTION__, Arr::wrap($columns)); - } - - /** - * Retrieve the minimum value of a given column. - * - * @param string $column - * @return mixed - */ - public function min($column) - { - return $this->aggregate(__FUNCTION__, [$column]); - } - - /** - * Retrieve the maximum value of a given column. - * - * @param string $column - * @return mixed - */ - public function max($column) - { - return $this->aggregate(__FUNCTION__, [$column]); - } - - /** - * Retrieve the sum of the values of a given column. - * - * @param string $column - * @return mixed - */ - public function sum($column) - { - $result = $this->aggregate(__FUNCTION__, [$column]); - - return $result ?: 0; - } - - /** - * Retrieve the average of the values of a given column. - * - * @param string $column - * @return mixed - */ - public function avg($column) - { - return $this->aggregate(__FUNCTION__, [$column]); - } - - /** - * Alias for the "avg" method. - * - * @param string $column - * @return mixed - */ - public function average($column) - { - return $this->avg($column); - } - - /** - * Execute an aggregate function on the database. - * - * @param string $function - * @param array $columns - * @return mixed - */ - public function aggregate($function, $columns = ['*']) - { - $results = $this->cloneWithout($this->unions ? [] : ['columns']) - ->cloneWithoutBindings($this->unions ? [] : ['select']) - ->setAggregate($function, $columns) - ->get($columns); - - if (! $results->isEmpty()) { - return array_change_key_case((array) $results[0])['aggregate']; - } - } - - /** - * Execute a numeric aggregate function on the database. - * - * @param string $function - * @param array $columns - * @return float|int - */ - public function numericAggregate($function, $columns = ['*']) - { - $result = $this->aggregate($function, $columns); - - // If there is no result, we can obviously just return 0 here. Next, we will check - // if the result is an integer or float. If it is already one of these two data - // types we can just return the result as-is, otherwise we will convert this. - if (! $result) { - return 0; - } - - if (is_int($result) || is_float($result)) { - return $result; - } - - // If the result doesn't contain a decimal place, we will assume it is an int then - // cast it to one. When it does we will cast it to a float since it needs to be - // cast to the expected data type for the developers out of pure convenience. - return strpos((string) $result, '.') === false - ? (int) $result : (float) $result; - } - - /** - * Set the aggregate property without running the query. - * - * @param string $function - * @param array $columns - * @return $this - */ - protected function setAggregate($function, $columns) - { - $this->aggregate = compact('function', 'columns'); - - if (empty($this->groups)) { - $this->orders = null; - - $this->bindings['order'] = []; - } - - return $this; - } - - /** - * Execute the given callback while selecting the given columns. - * - * After running the callback, the columns are reset to the original value. - * - * @param array $columns - * @param callable $callback - * @return mixed - */ - protected function onceWithColumns($columns, $callback) - { - $original = $this->columns; - - if (is_null($original)) { - $this->columns = $columns; - } - - $result = $callback(); - - $this->columns = $original; - - return $result; - } - - /** - * Insert a new record into the database. - * - * @param array $values - * @return bool - */ - public function insert(array $values) - { - // Since every insert gets treated like a batch insert, we will make sure the - // bindings are structured in a way that is convenient when building these - // inserts statements by verifying these elements are actually an array. - if (empty($values)) { - return true; - } - - if (! is_array(reset($values))) { - $values = [$values]; - } - - // Here, we will sort the insert keys for every record so that each insert is - // in the same order for the record. We need to make sure this is the case - // so there are not any errors or problems when inserting these records. - else { - foreach ($values as $key => $value) { - ksort($value); - - $values[$key] = $value; - } - } - - // Finally, we will run this query against the database connection and return - // the results. We will need to also flatten these bindings before running - // the query so they are all in one huge, flattened array for execution. - return $this->connection->insert( - $this->grammar->compileInsert($this, $values), - $this->cleanBindings(Arr::flatten($values, 1)) - ); - } - - /** - * Insert a new record into the database while ignoring errors. - * - * @param array $values - * @return int - */ - public function insertOrIgnore(array $values) - { - if (empty($values)) { - return 0; - } - - if (! is_array(reset($values))) { - $values = [$values]; - } else { - foreach ($values as $key => $value) { - ksort($value); - $values[$key] = $value; - } - } - - return $this->connection->affectingStatement( - $this->grammar->compileInsertOrIgnore($this, $values), - $this->cleanBindings(Arr::flatten($values, 1)) - ); - } - - /** - * Insert a new record and get the value of the primary key. - * - * @param array $values - * @param string|null $sequence - * @return int - */ - public function insertGetId(array $values, $sequence = null) - { - $sql = $this->grammar->compileInsertGetId($this, $values, $sequence); - - $values = $this->cleanBindings($values); - - return $this->processor->processInsertGetId($this, $sql, $values, $sequence); - } - - /** - * Insert new records into the table using a subquery. - * - * @param array $columns - * @param \Closure|\Illuminate\Database\Query\Builder|string $query - * @return bool - */ - public function insertUsing(array $columns, $query) - { - [$sql, $bindings] = $this->createSub($query); - - return $this->connection->insert( - $this->grammar->compileInsertUsing($this, $columns, $sql), - $this->cleanBindings($bindings) - ); - } - - /** - * Update a record in the database. - * - * @param array $values - * @return int - */ - public function update(array $values) - { - $sql = $this->grammar->compileUpdate($this, $values); - - return $this->connection->update($sql, $this->cleanBindings( - $this->grammar->prepareBindingsForUpdate($this->bindings, $values) - )); - } - - /** - * Insert or update a record matching the attributes, and fill it with values. - * - * @param array $attributes - * @param array $values - * @return bool - */ - public function updateOrInsert(array $attributes, array $values = []) - { - if (! $this->where($attributes)->exists()) { - return $this->insert(array_merge($attributes, $values)); - } - - if (empty($values)) { - return true; - } - - return (bool) $this->take(1)->update($values); - } - - /** - * Increment a column's value by a given amount. - * - * @param string $column - * @param float|int $amount - * @param array $extra - * @return int - */ - public function increment($column, $amount = 1, array $extra = []) - { - if (! is_numeric($amount)) { - throw new InvalidArgumentException('Non-numeric value passed to increment method.'); - } - - $wrapped = $this->grammar->wrap($column); - - $columns = array_merge([$column => $this->raw("$wrapped + $amount")], $extra); - - return $this->update($columns); - } - - /** - * Decrement a column's value by a given amount. - * - * @param string $column - * @param float|int $amount - * @param array $extra - * @return int - */ - public function decrement($column, $amount = 1, array $extra = []) - { - if (! is_numeric($amount)) { - throw new InvalidArgumentException('Non-numeric value passed to decrement method.'); - } - - $wrapped = $this->grammar->wrap($column); - - $columns = array_merge([$column => $this->raw("$wrapped - $amount")], $extra); - - return $this->update($columns); - } - - /** - * Delete a record from the database. - * - * @param mixed $id - * @return int - */ - public function delete($id = null) - { - // If an ID is passed to the method, we will set the where clause to check the - // ID to let developers to simply and quickly remove a single row from this - // database without manually specifying the "where" clauses on the query. - if (! is_null($id)) { - $this->where($this->from.'.id', '=', $id); - } - - return $this->connection->delete( - $this->grammar->compileDelete($this), $this->cleanBindings( - $this->grammar->prepareBindingsForDelete($this->bindings) - ) - ); - } - - /** - * Run a truncate statement on the table. - * - * @return void - */ - public function truncate() - { - foreach ($this->grammar->compileTruncate($this) as $sql => $bindings) { - $this->connection->statement($sql, $bindings); - } - } - - /** - * Get a new instance of the query builder. - * - * @return \Illuminate\Database\Query\Builder - */ - public function newQuery() - { - return new static($this->connection, $this->grammar, $this->processor); - } - - /** - * Create a new query instance for a sub-query. - * - * @return \Illuminate\Database\Query\Builder - */ - protected function forSubQuery() - { - return $this->newQuery(); - } - - /** - * Create a raw database expression. - * - * @param mixed $value - * @return \Illuminate\Database\Query\Expression - */ - public function raw($value) - { - return $this->connection->raw($value); - } - - /** - * Get the current query value bindings in a flattened array. - * - * @return array - */ - public function getBindings() - { - return Arr::flatten($this->bindings); - } - - /** - * Get the raw array of bindings. - * - * @return array - */ - public function getRawBindings() - { - return $this->bindings; - } - - /** - * Set the bindings on the query builder. - * - * @param array $bindings - * @param string $type - * @return $this - * - * @throws \InvalidArgumentException - */ - public function setBindings(array $bindings, $type = 'where') - { - if (! array_key_exists($type, $this->bindings)) { - throw new InvalidArgumentException("Invalid binding type: {$type}."); - } - - $this->bindings[$type] = $bindings; - - return $this; - } - - /** - * Add a binding to the query. - * - * @param mixed $value - * @param string $type - * @return $this - * - * @throws \InvalidArgumentException - */ - public function addBinding($value, $type = 'where') - { - if (! array_key_exists($type, $this->bindings)) { - throw new InvalidArgumentException("Invalid binding type: {$type}."); - } - - if (is_array($value)) { - $this->bindings[$type] = array_values(array_merge($this->bindings[$type], $value)); - } else { - $this->bindings[$type][] = $value; - } - - return $this; - } - - /** - * Merge an array of bindings into our bindings. - * - * @param \Illuminate\Database\Query\Builder $query - * @return $this - */ - public function mergeBindings(self $query) - { - $this->bindings = array_merge_recursive($this->bindings, $query->bindings); - - return $this; - } - - /** - * Remove all of the expressions from a list of bindings. - * - * @param array $bindings - * @return array - */ - protected function cleanBindings(array $bindings) - { - return array_values(array_filter($bindings, function ($binding) { - return ! $binding instanceof Expression; - })); - } - - /** - * Get the database connection instance. - * - * @return \Illuminate\Database\ConnectionInterface - */ - public function getConnection() - { - return $this->connection; - } - - /** - * Get the database query processor instance. - * - * @return \Illuminate\Database\Query\Processors\Processor - */ - public function getProcessor() - { - return $this->processor; - } - - /** - * Get the query grammar instance. - * - * @return \Illuminate\Database\Query\Grammars\Grammar - */ - public function getGrammar() - { - return $this->grammar; - } - - /** - * Use the write pdo for query. - * - * @return $this - */ - public function useWritePdo() - { - $this->useWritePdo = true; - - return $this; - } - - /** - * Clone the query without the given properties. - * - * @param array $properties - * @return static - */ - public function cloneWithout(array $properties) - { - return tap(clone $this, function ($clone) use ($properties) { - foreach ($properties as $property) { - $clone->{$property} = null; - } - }); - } - - /** - * Clone the query without the given bindings. - * - * @param array $except - * @return static - */ - public function cloneWithoutBindings(array $except) - { - return tap(clone $this, function ($clone) use ($except) { - foreach ($except as $type) { - $clone->bindings[$type] = []; - } - }); - } - - /** - * Dump the current SQL and bindings. - * - * @return $this - */ - public function dump() - { - dump($this->toSql(), $this->getBindings()); - - return $this; - } - - /** - * Die and dump the current SQL and bindings. - * - * @return void - */ - public function dd() - { - dd($this->toSql(), $this->getBindings()); - } - - /** - * Handle dynamic method calls into the method. - * - * @param string $method - * @param array $parameters - * @return mixed - * - * @throws \BadMethodCallException - */ - public function __call($method, $parameters) - { - if (static::hasMacro($method)) { - return $this->macroCall($method, $parameters); - } - - if (Str::startsWith($method, 'where')) { - return $this->dynamicWhere($method, $parameters); - } - - static::throwBadMethodCallException($method); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Query/Expression.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Query/Expression.php deleted file mode 100644 index de69029..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Query/Expression.php +++ /dev/null @@ -1,44 +0,0 @@ -value = $value; - } - - /** - * Get the value of the expression. - * - * @return mixed - */ - public function getValue() - { - return $this->value; - } - - /** - * Get the value of the expression. - * - * @return string - */ - public function __toString() - { - return (string) $this->getValue(); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Query/Grammars/Grammar.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Query/Grammars/Grammar.php deleted file mode 100644 index 0d8241f..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Query/Grammars/Grammar.php +++ /dev/null @@ -1,1183 +0,0 @@ -unions && $query->aggregate) { - return $this->compileUnionAggregate($query); - } - - // If the query does not have any columns set, we'll set the columns to the - // * character to just get all of the columns from the database. Then we - // can build the query and concatenate all the pieces together as one. - $original = $query->columns; - - if (is_null($query->columns)) { - $query->columns = ['*']; - } - - // To compile the query, we'll spin through each component of the query and - // see if that component exists. If it does we'll just call the compiler - // function for the component which is responsible for making the SQL. - $sql = trim($this->concatenate( - $this->compileComponents($query)) - ); - - $query->columns = $original; - - return $sql; - } - - /** - * Compile the components necessary for a select clause. - * - * @param \Illuminate\Database\Query\Builder $query - * @return array - */ - protected function compileComponents(Builder $query) - { - $sql = []; - - foreach ($this->selectComponents as $component) { - // To compile the query, we'll spin through each component of the query and - // see if that component exists. If it does we'll just call the compiler - // function for the component which is responsible for making the SQL. - if (isset($query->$component) && ! is_null($query->$component)) { - $method = 'compile'.ucfirst($component); - - $sql[$component] = $this->$method($query, $query->$component); - } - } - - return $sql; - } - - /** - * Compile an aggregated select clause. - * - * @param \Illuminate\Database\Query\Builder $query - * @param array $aggregate - * @return string - */ - protected function compileAggregate(Builder $query, $aggregate) - { - $column = $this->columnize($aggregate['columns']); - - // If the query has a "distinct" constraint and we're not asking for all columns - // we need to prepend "distinct" onto the column name so that the query takes - // it into account when it performs the aggregating operations on the data. - if ($query->distinct && $column !== '*') { - $column = 'distinct '.$column; - } - - return 'select '.$aggregate['function'].'('.$column.') as aggregate'; - } - - /** - * Compile the "select *" portion of the query. - * - * @param \Illuminate\Database\Query\Builder $query - * @param array $columns - * @return string|null - */ - protected function compileColumns(Builder $query, $columns) - { - // If the query is actually performing an aggregating select, we will let that - // compiler handle the building of the select clauses, as it will need some - // more syntax that is best handled by that function to keep things neat. - if (! is_null($query->aggregate)) { - return; - } - - $select = $query->distinct ? 'select distinct ' : 'select '; - - return $select.$this->columnize($columns); - } - - /** - * Compile the "from" portion of the query. - * - * @param \Illuminate\Database\Query\Builder $query - * @param string $table - * @return string - */ - protected function compileFrom(Builder $query, $table) - { - return 'from '.$this->wrapTable($table); - } - - /** - * Compile the "join" portions of the query. - * - * @param \Illuminate\Database\Query\Builder $query - * @param array $joins - * @return string - */ - protected function compileJoins(Builder $query, $joins) - { - return collect($joins)->map(function ($join) use ($query) { - $table = $this->wrapTable($join->table); - - $nestedJoins = is_null($join->joins) ? '' : ' '.$this->compileJoins($query, $join->joins); - - $tableAndNestedJoins = is_null($join->joins) ? $table : '('.$table.$nestedJoins.')'; - - return trim("{$join->type} join {$tableAndNestedJoins} {$this->compileWheres($join)}"); - })->implode(' '); - } - - /** - * Compile the "where" portions of the query. - * - * @param \Illuminate\Database\Query\Builder $query - * @return string - */ - protected function compileWheres(Builder $query) - { - // Each type of where clauses has its own compiler function which is responsible - // for actually creating the where clauses SQL. This helps keep the code nice - // and maintainable since each clause has a very small method that it uses. - if (is_null($query->wheres)) { - return ''; - } - - // If we actually have some where clauses, we will strip off the first boolean - // operator, which is added by the query builders for convenience so we can - // avoid checking for the first clauses in each of the compilers methods. - if (count($sql = $this->compileWheresToArray($query)) > 0) { - return $this->concatenateWhereClauses($query, $sql); - } - - return ''; - } - - /** - * Get an array of all the where clauses for the query. - * - * @param \Illuminate\Database\Query\Builder $query - * @return array - */ - protected function compileWheresToArray($query) - { - return collect($query->wheres)->map(function ($where) use ($query) { - return $where['boolean'].' '.$this->{"where{$where['type']}"}($query, $where); - })->all(); - } - - /** - * Format the where clause statements into one string. - * - * @param \Illuminate\Database\Query\Builder $query - * @param array $sql - * @return string - */ - protected function concatenateWhereClauses($query, $sql) - { - $conjunction = $query instanceof JoinClause ? 'on' : 'where'; - - return $conjunction.' '.$this->removeLeadingBoolean(implode(' ', $sql)); - } - - /** - * Compile a raw where clause. - * - * @param \Illuminate\Database\Query\Builder $query - * @param array $where - * @return string - */ - protected function whereRaw(Builder $query, $where) - { - return $where['sql']; - } - - /** - * Compile a basic where clause. - * - * @param \Illuminate\Database\Query\Builder $query - * @param array $where - * @return string - */ - protected function whereBasic(Builder $query, $where) - { - $value = $this->parameter($where['value']); - - return $this->wrap($where['column']).' '.$where['operator'].' '.$value; - } - - /** - * Compile a "where in" clause. - * - * @param \Illuminate\Database\Query\Builder $query - * @param array $where - * @return string - */ - protected function whereIn(Builder $query, $where) - { - if (! empty($where['values'])) { - return $this->wrap($where['column']).' in ('.$this->parameterize($where['values']).')'; - } - - return '0 = 1'; - } - - /** - * Compile a "where not in" clause. - * - * @param \Illuminate\Database\Query\Builder $query - * @param array $where - * @return string - */ - protected function whereNotIn(Builder $query, $where) - { - if (! empty($where['values'])) { - return $this->wrap($where['column']).' not in ('.$this->parameterize($where['values']).')'; - } - - return '1 = 1'; - } - - /** - * Compile a "where not in raw" clause. - * - * For safety, whereIntegerInRaw ensures this method is only used with integer values. - * - * @param \Illuminate\Database\Query\Builder $query - * @param array $where - * @return string - */ - protected function whereNotInRaw(Builder $query, $where) - { - if (! empty($where['values'])) { - return $this->wrap($where['column']).' not in ('.implode(', ', $where['values']).')'; - } - - return '1 = 1'; - } - - /** - * Compile a where in sub-select clause. - * - * @param \Illuminate\Database\Query\Builder $query - * @param array $where - * @return string - */ - protected function whereInSub(Builder $query, $where) - { - return $this->wrap($where['column']).' in ('.$this->compileSelect($where['query']).')'; - } - - /** - * Compile a where not in sub-select clause. - * - * @param \Illuminate\Database\Query\Builder $query - * @param array $where - * @return string - */ - protected function whereNotInSub(Builder $query, $where) - { - return $this->wrap($where['column']).' not in ('.$this->compileSelect($where['query']).')'; - } - - /** - * Compile a "where in raw" clause. - * - * For safety, whereIntegerInRaw ensures this method is only used with integer values. - * - * @param \Illuminate\Database\Query\Builder $query - * @param array $where - * @return string - */ - protected function whereInRaw(Builder $query, $where) - { - if (! empty($where['values'])) { - return $this->wrap($where['column']).' in ('.implode(', ', $where['values']).')'; - } - - return '0 = 1'; - } - - /** - * Compile a "where null" clause. - * - * @param \Illuminate\Database\Query\Builder $query - * @param array $where - * @return string - */ - protected function whereNull(Builder $query, $where) - { - return $this->wrap($where['column']).' is null'; - } - - /** - * Compile a "where not null" clause. - * - * @param \Illuminate\Database\Query\Builder $query - * @param array $where - * @return string - */ - protected function whereNotNull(Builder $query, $where) - { - return $this->wrap($where['column']).' is not null'; - } - - /** - * Compile a "between" where clause. - * - * @param \Illuminate\Database\Query\Builder $query - * @param array $where - * @return string - */ - protected function whereBetween(Builder $query, $where) - { - $between = $where['not'] ? 'not between' : 'between'; - - $min = $this->parameter(reset($where['values'])); - - $max = $this->parameter(end($where['values'])); - - return $this->wrap($where['column']).' '.$between.' '.$min.' and '.$max; - } - - /** - * Compile a "where date" clause. - * - * @param \Illuminate\Database\Query\Builder $query - * @param array $where - * @return string - */ - protected function whereDate(Builder $query, $where) - { - return $this->dateBasedWhere('date', $query, $where); - } - - /** - * Compile a "where time" clause. - * - * @param \Illuminate\Database\Query\Builder $query - * @param array $where - * @return string - */ - protected function whereTime(Builder $query, $where) - { - return $this->dateBasedWhere('time', $query, $where); - } - - /** - * Compile a "where day" clause. - * - * @param \Illuminate\Database\Query\Builder $query - * @param array $where - * @return string - */ - protected function whereDay(Builder $query, $where) - { - return $this->dateBasedWhere('day', $query, $where); - } - - /** - * Compile a "where month" clause. - * - * @param \Illuminate\Database\Query\Builder $query - * @param array $where - * @return string - */ - protected function whereMonth(Builder $query, $where) - { - return $this->dateBasedWhere('month', $query, $where); - } - - /** - * Compile a "where year" clause. - * - * @param \Illuminate\Database\Query\Builder $query - * @param array $where - * @return string - */ - protected function whereYear(Builder $query, $where) - { - return $this->dateBasedWhere('year', $query, $where); - } - - /** - * Compile a date based where clause. - * - * @param string $type - * @param \Illuminate\Database\Query\Builder $query - * @param array $where - * @return string - */ - protected function dateBasedWhere($type, Builder $query, $where) - { - $value = $this->parameter($where['value']); - - return $type.'('.$this->wrap($where['column']).') '.$where['operator'].' '.$value; - } - - /** - * Compile a where clause comparing two columns.. - * - * @param \Illuminate\Database\Query\Builder $query - * @param array $where - * @return string - */ - protected function whereColumn(Builder $query, $where) - { - return $this->wrap($where['first']).' '.$where['operator'].' '.$this->wrap($where['second']); - } - - /** - * Compile a nested where clause. - * - * @param \Illuminate\Database\Query\Builder $query - * @param array $where - * @return string - */ - protected function whereNested(Builder $query, $where) - { - // Here we will calculate what portion of the string we need to remove. If this - // is a join clause query, we need to remove the "on" portion of the SQL and - // if it is a normal query we need to take the leading "where" of queries. - $offset = $query instanceof JoinClause ? 3 : 6; - - return '('.substr($this->compileWheres($where['query']), $offset).')'; - } - - /** - * Compile a where condition with a sub-select. - * - * @param \Illuminate\Database\Query\Builder $query - * @param array $where - * @return string - */ - protected function whereSub(Builder $query, $where) - { - $select = $this->compileSelect($where['query']); - - return $this->wrap($where['column']).' '.$where['operator']." ($select)"; - } - - /** - * Compile a where exists clause. - * - * @param \Illuminate\Database\Query\Builder $query - * @param array $where - * @return string - */ - protected function whereExists(Builder $query, $where) - { - return 'exists ('.$this->compileSelect($where['query']).')'; - } - - /** - * Compile a where exists clause. - * - * @param \Illuminate\Database\Query\Builder $query - * @param array $where - * @return string - */ - protected function whereNotExists(Builder $query, $where) - { - return 'not exists ('.$this->compileSelect($where['query']).')'; - } - - /** - * Compile a where row values condition. - * - * @param \Illuminate\Database\Query\Builder $query - * @param array $where - * @return string - */ - protected function whereRowValues(Builder $query, $where) - { - $columns = $this->columnize($where['columns']); - - $values = $this->parameterize($where['values']); - - return '('.$columns.') '.$where['operator'].' ('.$values.')'; - } - - /** - * Compile a "where JSON boolean" clause. - * - * @param \Illuminate\Database\Query\Builder $query - * @param array $where - * @return string - */ - protected function whereJsonBoolean(Builder $query, $where) - { - $column = $this->wrapJsonBooleanSelector($where['column']); - - $value = $this->wrapJsonBooleanValue( - $this->parameter($where['value']) - ); - - return $column.' '.$where['operator'].' '.$value; - } - - /** - * Compile a "where JSON contains" clause. - * - * @param \Illuminate\Database\Query\Builder $query - * @param array $where - * @return string - */ - protected function whereJsonContains(Builder $query, $where) - { - $not = $where['not'] ? 'not ' : ''; - - return $not.$this->compileJsonContains( - $where['column'], $this->parameter($where['value']) - ); - } - - /** - * Compile a "JSON contains" statement into SQL. - * - * @param string $column - * @param string $value - * @return string - * - * @throws \RuntimeException - */ - protected function compileJsonContains($column, $value) - { - throw new RuntimeException('This database engine does not support JSON contains operations.'); - } - - /** - * Prepare the binding for a "JSON contains" statement. - * - * @param mixed $binding - * @return string - */ - public function prepareBindingForJsonContains($binding) - { - return json_encode($binding); - } - - /** - * Compile a "where JSON length" clause. - * - * @param \Illuminate\Database\Query\Builder $query - * @param array $where - * @return string - */ - protected function whereJsonLength(Builder $query, $where) - { - return $this->compileJsonLength( - $where['column'], $where['operator'], $this->parameter($where['value']) - ); - } - - /** - * Compile a "JSON length" statement into SQL. - * - * @param string $column - * @param string $operator - * @param string $value - * @return string - * - * @throws \RuntimeException - */ - protected function compileJsonLength($column, $operator, $value) - { - throw new RuntimeException('This database engine does not support JSON length operations.'); - } - - /** - * Compile the "group by" portions of the query. - * - * @param \Illuminate\Database\Query\Builder $query - * @param array $groups - * @return string - */ - protected function compileGroups(Builder $query, $groups) - { - return 'group by '.$this->columnize($groups); - } - - /** - * Compile the "having" portions of the query. - * - * @param \Illuminate\Database\Query\Builder $query - * @param array $havings - * @return string - */ - protected function compileHavings(Builder $query, $havings) - { - $sql = implode(' ', array_map([$this, 'compileHaving'], $havings)); - - return 'having '.$this->removeLeadingBoolean($sql); - } - - /** - * Compile a single having clause. - * - * @param array $having - * @return string - */ - protected function compileHaving(array $having) - { - // If the having clause is "raw", we can just return the clause straight away - // without doing any more processing on it. Otherwise, we will compile the - // clause into SQL based on the components that make it up from builder. - if ($having['type'] === 'Raw') { - return $having['boolean'].' '.$having['sql']; - } elseif ($having['type'] === 'between') { - return $this->compileHavingBetween($having); - } - - return $this->compileBasicHaving($having); - } - - /** - * Compile a basic having clause. - * - * @param array $having - * @return string - */ - protected function compileBasicHaving($having) - { - $column = $this->wrap($having['column']); - - $parameter = $this->parameter($having['value']); - - return $having['boolean'].' '.$column.' '.$having['operator'].' '.$parameter; - } - - /** - * Compile a "between" having clause. - * - * @param array $having - * @return string - */ - protected function compileHavingBetween($having) - { - $between = $having['not'] ? 'not between' : 'between'; - - $column = $this->wrap($having['column']); - - $min = $this->parameter(head($having['values'])); - - $max = $this->parameter(last($having['values'])); - - return $having['boolean'].' '.$column.' '.$between.' '.$min.' and '.$max; - } - - /** - * Compile the "order by" portions of the query. - * - * @param \Illuminate\Database\Query\Builder $query - * @param array $orders - * @return string - */ - protected function compileOrders(Builder $query, $orders) - { - if (! empty($orders)) { - return 'order by '.implode(', ', $this->compileOrdersToArray($query, $orders)); - } - - return ''; - } - - /** - * Compile the query orders to an array. - * - * @param \Illuminate\Database\Query\Builder $query - * @param array $orders - * @return array - */ - protected function compileOrdersToArray(Builder $query, $orders) - { - return array_map(function ($order) { - return $order['sql'] ?? $this->wrap($order['column']).' '.$order['direction']; - }, $orders); - } - - /** - * Compile the random statement into SQL. - * - * @param string $seed - * @return string - */ - public function compileRandom($seed) - { - return 'RANDOM()'; - } - - /** - * Compile the "limit" portions of the query. - * - * @param \Illuminate\Database\Query\Builder $query - * @param int $limit - * @return string - */ - protected function compileLimit(Builder $query, $limit) - { - return 'limit '.(int) $limit; - } - - /** - * Compile the "offset" portions of the query. - * - * @param \Illuminate\Database\Query\Builder $query - * @param int $offset - * @return string - */ - protected function compileOffset(Builder $query, $offset) - { - return 'offset '.(int) $offset; - } - - /** - * Compile the "union" queries attached to the main query. - * - * @param \Illuminate\Database\Query\Builder $query - * @return string - */ - protected function compileUnions(Builder $query) - { - $sql = ''; - - foreach ($query->unions as $union) { - $sql .= $this->compileUnion($union); - } - - if (! empty($query->unionOrders)) { - $sql .= ' '.$this->compileOrders($query, $query->unionOrders); - } - - if (isset($query->unionLimit)) { - $sql .= ' '.$this->compileLimit($query, $query->unionLimit); - } - - if (isset($query->unionOffset)) { - $sql .= ' '.$this->compileOffset($query, $query->unionOffset); - } - - return ltrim($sql); - } - - /** - * Compile a single union statement. - * - * @param array $union - * @return string - */ - protected function compileUnion(array $union) - { - $conjunction = $union['all'] ? ' union all ' : ' union '; - - return $conjunction.$union['query']->toSql(); - } - - /** - * Compile a union aggregate query into SQL. - * - * @param \Illuminate\Database\Query\Builder $query - * @return string - */ - protected function compileUnionAggregate(Builder $query) - { - $sql = $this->compileAggregate($query, $query->aggregate); - - $query->aggregate = null; - - return $sql.' from ('.$this->compileSelect($query).') as '.$this->wrapTable('temp_table'); - } - - /** - * Compile an exists statement into SQL. - * - * @param \Illuminate\Database\Query\Builder $query - * @return string - */ - public function compileExists(Builder $query) - { - $select = $this->compileSelect($query); - - return "select exists({$select}) as {$this->wrap('exists')}"; - } - - /** - * Compile an insert statement into SQL. - * - * @param \Illuminate\Database\Query\Builder $query - * @param array $values - * @return string - */ - public function compileInsert(Builder $query, array $values) - { - // Essentially we will force every insert to be treated as a batch insert which - // simply makes creating the SQL easier for us since we can utilize the same - // basic routine regardless of an amount of records given to us to insert. - $table = $this->wrapTable($query->from); - - if (! is_array(reset($values))) { - $values = [$values]; - } - - $columns = $this->columnize(array_keys(reset($values))); - - // We need to build a list of parameter place-holders of values that are bound - // to the query. Each insert should have the exact same amount of parameter - // bindings so we will loop through the record and parameterize them all. - $parameters = collect($values)->map(function ($record) { - return '('.$this->parameterize($record).')'; - })->implode(', '); - - return "insert into $table ($columns) values $parameters"; - } - - /** - * Compile an insert ignore statement into SQL. - * - * @param \Illuminate\Database\Query\Builder $query - * @param array $values - * @return string - */ - public function compileInsertOrIgnore(Builder $query, array $values) - { - throw new RuntimeException('This database engine does not support inserting while ignoring errors.'); - } - - /** - * Compile an insert and get ID statement into SQL. - * - * @param \Illuminate\Database\Query\Builder $query - * @param array $values - * @param string $sequence - * @return string - */ - public function compileInsertGetId(Builder $query, $values, $sequence) - { - return $this->compileInsert($query, $values); - } - - /** - * Compile an insert statement using a subquery into SQL. - * - * @param \Illuminate\Database\Query\Builder $query - * @param array $columns - * @param string $sql - * @return string - */ - public function compileInsertUsing(Builder $query, array $columns, string $sql) - { - return "insert into {$this->wrapTable($query->from)} ({$this->columnize($columns)}) $sql"; - } - - /** - * Compile an update statement into SQL. - * - * @param \Illuminate\Database\Query\Builder $query - * @param array $values - * @return string - */ - public function compileUpdate(Builder $query, $values) - { - $table = $this->wrapTable($query->from); - - // Each one of the columns in the update statements needs to be wrapped in the - // keyword identifiers, also a place-holder needs to be created for each of - // the values in the list of bindings so we can make the sets statements. - $columns = collect($values)->map(function ($value, $key) { - return $this->wrap($key).' = '.$this->parameter($value); - })->implode(', '); - - // If the query has any "join" clauses, we will setup the joins on the builder - // and compile them so we can attach them to this update, as update queries - // can get join statements to attach to other tables when they're needed. - $joins = ''; - - if (isset($query->joins)) { - $joins = ' '.$this->compileJoins($query, $query->joins); - } - - // Of course, update queries may also be constrained by where clauses so we'll - // need to compile the where clauses and attach it to the query so only the - // intended records are updated by the SQL statements we generate to run. - $wheres = $this->compileWheres($query); - - return trim("update {$table}{$joins} set $columns $wheres"); - } - - /** - * Prepare the bindings for an update statement. - * - * @param array $bindings - * @param array $values - * @return array - */ - public function prepareBindingsForUpdate(array $bindings, array $values) - { - $cleanBindings = Arr::except($bindings, ['select', 'join']); - - return array_values( - array_merge($bindings['join'], $values, Arr::flatten($cleanBindings)) - ); - } - - /** - * Compile a delete statement into SQL. - * - * @param \Illuminate\Database\Query\Builder $query - * @return string - */ - public function compileDelete(Builder $query) - { - $wheres = is_array($query->wheres) ? $this->compileWheres($query) : ''; - - return trim("delete from {$this->wrapTable($query->from)} $wheres"); - } - - /** - * Prepare the bindings for a delete statement. - * - * @param array $bindings - * @return array - */ - public function prepareBindingsForDelete(array $bindings) - { - return Arr::flatten( - Arr::except($bindings, 'select') - ); - } - - /** - * Compile a truncate table statement into SQL. - * - * @param \Illuminate\Database\Query\Builder $query - * @return array - */ - public function compileTruncate(Builder $query) - { - return ['truncate '.$this->wrapTable($query->from) => []]; - } - - /** - * Compile the lock into SQL. - * - * @param \Illuminate\Database\Query\Builder $query - * @param bool|string $value - * @return string - */ - protected function compileLock(Builder $query, $value) - { - return is_string($value) ? $value : ''; - } - - /** - * Determine if the grammar supports savepoints. - * - * @return bool - */ - public function supportsSavepoints() - { - return true; - } - - /** - * Compile the SQL statement to define a savepoint. - * - * @param string $name - * @return string - */ - public function compileSavepoint($name) - { - return 'SAVEPOINT '.$name; - } - - /** - * Compile the SQL statement to execute a savepoint rollback. - * - * @param string $name - * @return string - */ - public function compileSavepointRollBack($name) - { - return 'ROLLBACK TO SAVEPOINT '.$name; - } - - /** - * Wrap a value in keyword identifiers. - * - * @param \Illuminate\Database\Query\Expression|string $value - * @param bool $prefixAlias - * @return string - */ - public function wrap($value, $prefixAlias = false) - { - if ($this->isExpression($value)) { - return $this->getValue($value); - } - - // If the value being wrapped has a column alias we will need to separate out - // the pieces so we can wrap each of the segments of the expression on its - // own, and then join these both back together using the "as" connector. - if (stripos($value, ' as ') !== false) { - return $this->wrapAliasedValue($value, $prefixAlias); - } - - // If the given value is a JSON selector we will wrap it differently than a - // traditional value. We will need to split this path and wrap each part - // wrapped, etc. Otherwise, we will simply wrap the value as a string. - if ($this->isJsonSelector($value)) { - return $this->wrapJsonSelector($value); - } - - return $this->wrapSegments(explode('.', $value)); - } - - /** - * Wrap the given JSON selector. - * - * @param string $value - * @return string - */ - protected function wrapJsonSelector($value) - { - throw new RuntimeException('This database engine does not support JSON operations.'); - } - - /** - * Wrap the given JSON selector for boolean values. - * - * @param string $value - * @return string - */ - protected function wrapJsonBooleanSelector($value) - { - return $this->wrapJsonSelector($value); - } - - /** - * Wrap the given JSON boolean value. - * - * @param string $value - * @return string - */ - protected function wrapJsonBooleanValue($value) - { - return $value; - } - - /** - * Split the given JSON selector into the field and the optional path and wrap them separately. - * - * @param string $column - * @return array - */ - protected function wrapJsonFieldAndPath($column) - { - $parts = explode('->', $column, 2); - - $field = $this->wrap($parts[0]); - - $path = count($parts) > 1 ? ', '.$this->wrapJsonPath($parts[1], '->') : ''; - - return [$field, $path]; - } - - /** - * Wrap the given JSON path. - * - * @param string $value - * @param string $delimiter - * @return string - */ - protected function wrapJsonPath($value, $delimiter = '->') - { - $value = preg_replace("/([\\\\]+)?\\'/", "\\'", $value); - - return '\'$."'.str_replace($delimiter, '"."', $value).'"\''; - } - - /** - * Determine if the given string is a JSON selector. - * - * @param string $value - * @return bool - */ - protected function isJsonSelector($value) - { - return Str::contains($value, '->'); - } - - /** - * Concatenate an array of segments, removing empties. - * - * @param array $segments - * @return string - */ - protected function concatenate($segments) - { - return implode(' ', array_filter($segments, function ($value) { - return (string) $value !== ''; - })); - } - - /** - * Remove the leading boolean from a statement. - * - * @param string $value - * @return string - */ - protected function removeLeadingBoolean($value) - { - return preg_replace('/and |or /i', '', $value, 1); - } - - /** - * Get the grammar specific operators. - * - * @return array - */ - public function getOperators() - { - return $this->operators; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Query/Grammars/MySqlGrammar.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Query/Grammars/MySqlGrammar.php deleted file mode 100644 index 3b6462a..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Query/Grammars/MySqlGrammar.php +++ /dev/null @@ -1,334 +0,0 @@ -unions && $query->aggregate) { - return $this->compileUnionAggregate($query); - } - - $sql = parent::compileSelect($query); - - if ($query->unions) { - $sql = '('.$sql.') '.$this->compileUnions($query); - } - - return $sql; - } - - /** - * Compile an insert ignore statement into SQL. - * - * @param \Illuminate\Database\Query\Builder $query - * @param array $values - * @return string - */ - public function compileInsertOrIgnore(Builder $query, array $values) - { - return Str::replaceFirst('insert', 'insert ignore', $this->compileInsert($query, $values)); - } - - /** - * Compile a "JSON contains" statement into SQL. - * - * @param string $column - * @param string $value - * @return string - */ - protected function compileJsonContains($column, $value) - { - [$field, $path] = $this->wrapJsonFieldAndPath($column); - - return 'json_contains('.$field.', '.$value.$path.')'; - } - - /** - * Compile a "JSON length" statement into SQL. - * - * @param string $column - * @param string $operator - * @param string $value - * @return string - */ - protected function compileJsonLength($column, $operator, $value) - { - [$field, $path] = $this->wrapJsonFieldAndPath($column); - - return 'json_length('.$field.$path.') '.$operator.' '.$value; - } - - /** - * Compile a single union statement. - * - * @param array $union - * @return string - */ - protected function compileUnion(array $union) - { - $conjunction = $union['all'] ? ' union all ' : ' union '; - - return $conjunction.'('.$union['query']->toSql().')'; - } - - /** - * Compile the random statement into SQL. - * - * @param string $seed - * @return string - */ - public function compileRandom($seed) - { - return 'RAND('.$seed.')'; - } - - /** - * Compile the lock into SQL. - * - * @param \Illuminate\Database\Query\Builder $query - * @param bool|string $value - * @return string - */ - protected function compileLock(Builder $query, $value) - { - if (! is_string($value)) { - return $value ? 'for update' : 'lock in share mode'; - } - - return $value; - } - - /** - * Compile an update statement into SQL. - * - * @param \Illuminate\Database\Query\Builder $query - * @param array $values - * @return string - */ - public function compileUpdate(Builder $query, $values) - { - $table = $this->wrapTable($query->from); - - // Each one of the columns in the update statements needs to be wrapped in the - // keyword identifiers, also a place-holder needs to be created for each of - // the values in the list of bindings so we can make the sets statements. - $columns = $this->compileUpdateColumns($values); - - // If the query has any "join" clauses, we will setup the joins on the builder - // and compile them so we can attach them to this update, as update queries - // can get join statements to attach to other tables when they're needed. - $joins = ''; - - if (isset($query->joins)) { - $joins = ' '.$this->compileJoins($query, $query->joins); - } - - // Of course, update queries may also be constrained by where clauses so we'll - // need to compile the where clauses and attach it to the query so only the - // intended records are updated by the SQL statements we generate to run. - $where = $this->compileWheres($query); - - $sql = rtrim("update {$table}{$joins} set $columns $where"); - - // If the query has an order by clause we will compile it since MySQL supports - // order bys on update statements. We'll compile them using the typical way - // of compiling order bys. Then they will be appended to the SQL queries. - if (! empty($query->orders)) { - $sql .= ' '.$this->compileOrders($query, $query->orders); - } - - // Updates on MySQL also supports "limits", which allow you to easily update a - // single record very easily. This is not supported by all database engines - // so we have customized this update compiler here in order to add it in. - if (isset($query->limit)) { - $sql .= ' '.$this->compileLimit($query, $query->limit); - } - - return rtrim($sql); - } - - /** - * Compile all of the columns for an update statement. - * - * @param array $values - * @return string - */ - protected function compileUpdateColumns($values) - { - return collect($values)->map(function ($value, $key) { - if ($this->isJsonSelector($key)) { - return $this->compileJsonUpdateColumn($key, new JsonExpression($value)); - } - - return $this->wrap($key).' = '.$this->parameter($value); - })->implode(', '); - } - - /** - * Prepares a JSON column being updated using the JSON_SET function. - * - * @param string $key - * @param \Illuminate\Database\Query\JsonExpression $value - * @return string - */ - protected function compileJsonUpdateColumn($key, JsonExpression $value) - { - [$field, $path] = $this->wrapJsonFieldAndPath($key); - - return "{$field} = json_set({$field}{$path}, {$value->getValue()})"; - } - - /** - * Prepare the bindings for an update statement. - * - * Booleans, integers, and doubles are inserted into JSON updates as raw values. - * - * @param array $bindings - * @param array $values - * @return array - */ - public function prepareBindingsForUpdate(array $bindings, array $values) - { - $values = collect($values)->reject(function ($value, $column) { - return $this->isJsonSelector($column) && is_bool($value); - })->all(); - - return parent::prepareBindingsForUpdate($bindings, $values); - } - - /** - * Compile a delete statement into SQL. - * - * @param \Illuminate\Database\Query\Builder $query - * @return string - */ - public function compileDelete(Builder $query) - { - $table = $this->wrapTable($query->from); - - $where = is_array($query->wheres) ? $this->compileWheres($query) : ''; - - return isset($query->joins) - ? $this->compileDeleteWithJoins($query, $table, $where) - : $this->compileDeleteWithoutJoins($query, $table, $where); - } - - /** - * Compile a delete query that does not use joins. - * - * @param \Illuminate\Database\Query\Builder $query - * @param string $table - * @param string $where - * @return string - */ - protected function compileDeleteWithoutJoins($query, $table, $where) - { - $sql = trim("delete from {$table} {$where}"); - - // When using MySQL, delete statements may contain order by statements and limits - // so we will compile both of those here. Once we have finished compiling this - // we will return the completed SQL statement so it will be executed for us. - if (! empty($query->orders)) { - $sql .= ' '.$this->compileOrders($query, $query->orders); - } - - if (isset($query->limit)) { - $sql .= ' '.$this->compileLimit($query, $query->limit); - } - - return $sql; - } - - /** - * Compile a delete query that uses joins. - * - * @param \Illuminate\Database\Query\Builder $query - * @param string $table - * @param string $where - * @return string - */ - protected function compileDeleteWithJoins($query, $table, $where) - { - $joins = ' '.$this->compileJoins($query, $query->joins); - - $alias = stripos($table, ' as ') !== false - ? explode(' as ', $table)[1] : $table; - - return trim("delete {$alias} from {$table}{$joins} {$where}"); - } - - /** - * Wrap a single string in keyword identifiers. - * - * @param string $value - * @return string - */ - protected function wrapValue($value) - { - return $value === '*' ? $value : '`'.str_replace('`', '``', $value).'`'; - } - - /** - * Wrap the given JSON selector. - * - * @param string $value - * @return string - */ - protected function wrapJsonSelector($value) - { - [$field, $path] = $this->wrapJsonFieldAndPath($value); - - return 'json_unquote(json_extract('.$field.$path.'))'; - } - - /** - * Wrap the given JSON selector for boolean values. - * - * @param string $value - * @return string - */ - protected function wrapJsonBooleanSelector($value) - { - [$field, $path] = $this->wrapJsonFieldAndPath($value); - - return 'json_extract('.$field.$path.')'; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Query/Grammars/PostgresGrammar.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Query/Grammars/PostgresGrammar.php deleted file mode 100644 index 839d6e5..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Query/Grammars/PostgresGrammar.php +++ /dev/null @@ -1,504 +0,0 @@ -', '<=', '>=', '<>', '!=', - 'like', 'not like', 'between', 'ilike', 'not ilike', - '~', '&', '|', '#', '<<', '>>', '<<=', '>>=', - '&&', '@>', '<@', '?', '?|', '?&', '||', '-', '-', '#-', - 'is distinct from', 'is not distinct from', - ]; - - /** - * {@inheritdoc} - * - * @param \Illuminate\Database\Query\Builder $query - * @param array $where - * @return string - */ - protected function whereBasic(Builder $query, $where) - { - if (Str::contains(strtolower($where['operator']), 'like')) { - return sprintf( - '%s::text %s %s', - $this->wrap($where['column']), - $where['operator'], - $this->parameter($where['value']) - ); - } - - return parent::whereBasic($query, $where); - } - - /** - * Compile a "where date" clause. - * - * @param \Illuminate\Database\Query\Builder $query - * @param array $where - * @return string - */ - protected function whereDate(Builder $query, $where) - { - $value = $this->parameter($where['value']); - - return $this->wrap($where['column']).'::date '.$where['operator'].' '.$value; - } - - /** - * Compile a "where time" clause. - * - * @param \Illuminate\Database\Query\Builder $query - * @param array $where - * @return string - */ - protected function whereTime(Builder $query, $where) - { - $value = $this->parameter($where['value']); - - return $this->wrap($where['column']).'::time '.$where['operator'].' '.$value; - } - - /** - * Compile a date based where clause. - * - * @param string $type - * @param \Illuminate\Database\Query\Builder $query - * @param array $where - * @return string - */ - protected function dateBasedWhere($type, Builder $query, $where) - { - $value = $this->parameter($where['value']); - - return 'extract('.$type.' from '.$this->wrap($where['column']).') '.$where['operator'].' '.$value; - } - - /** - * Compile a select query into SQL. - * - * @param \Illuminate\Database\Query\Builder $query - * @return string - */ - public function compileSelect(Builder $query) - { - if ($query->unions && $query->aggregate) { - return $this->compileUnionAggregate($query); - } - - $sql = parent::compileSelect($query); - - if ($query->unions) { - $sql = '('.$sql.') '.$this->compileUnions($query); - } - - return $sql; - } - - /** - * Compile a single union statement. - * - * @param array $union - * @return string - */ - protected function compileUnion(array $union) - { - $conjunction = $union['all'] ? ' union all ' : ' union '; - - return $conjunction.'('.$union['query']->toSql().')'; - } - - /** - * Compile a "JSON contains" statement into SQL. - * - * @param string $column - * @param string $value - * @return string - */ - protected function compileJsonContains($column, $value) - { - $column = str_replace('->>', '->', $this->wrap($column)); - - return '('.$column.')::jsonb @> '.$value; - } - - /** - * Compile a "JSON length" statement into SQL. - * - * @param string $column - * @param string $operator - * @param string $value - * @return string - */ - protected function compileJsonLength($column, $operator, $value) - { - $column = str_replace('->>', '->', $this->wrap($column)); - - return 'json_array_length(('.$column.')::json) '.$operator.' '.$value; - } - - /** - * Compile the lock into SQL. - * - * @param \Illuminate\Database\Query\Builder $query - * @param bool|string $value - * @return string - */ - protected function compileLock(Builder $query, $value) - { - if (! is_string($value)) { - return $value ? 'for update' : 'for share'; - } - - return $value; - } - - /** - * {@inheritdoc} - */ - public function compileInsert(Builder $query, array $values) - { - $table = $this->wrapTable($query->from); - - return empty($values) - ? "insert into {$table} DEFAULT VALUES" - : parent::compileInsert($query, $values); - } - - /** - * Compile an insert ignore statement into SQL. - * - * @param \Illuminate\Database\Query\Builder $query - * @param array $values - * @return string - */ - public function compileInsertOrIgnore(Builder $query, array $values) - { - return $this->compileInsert($query, $values).' on conflict do nothing'; - } - - /** - * Compile an insert and get ID statement into SQL. - * - * @param \Illuminate\Database\Query\Builder $query - * @param array $values - * @param string $sequence - * @return string - */ - public function compileInsertGetId(Builder $query, $values, $sequence) - { - return $this->compileInsert($query, $values).' returning '.$this->wrap($sequence ?: 'id'); - } - - /** - * Compile an update statement into SQL. - * - * @param \Illuminate\Database\Query\Builder $query - * @param array $values - * @return string - */ - public function compileUpdate(Builder $query, $values) - { - $table = $this->wrapTable($query->from); - - // Each one of the columns in the update statements needs to be wrapped in the - // keyword identifiers, also a place-holder needs to be created for each of - // the values in the list of bindings so we can make the sets statements. - $columns = $this->compileUpdateColumns($query, $values); - - $from = $this->compileUpdateFrom($query); - - $where = $this->compileUpdateWheres($query); - - return trim("update {$table} set {$columns}{$from} {$where}"); - } - - /** - * Compile the columns for the update statement. - * - * @param \Illuminate\Database\Query\Builder $query - * @param array $values - * @return string - */ - protected function compileUpdateColumns($query, $values) - { - // When gathering the columns for an update statement, we'll wrap each of the - // columns and convert it to a parameter value. Then we will concatenate a - // list of the columns that can be added into this update query clauses. - return collect($values)->map(function ($value, $key) { - $column = last(explode('.', $key)); - - if ($this->isJsonSelector($key)) { - return $this->compileJsonUpdateColumn($column, $value); - } - - return $this->wrap($column).' = '.$this->parameter($value); - })->implode(', '); - } - - /** - * Prepares a JSON column being updated using the JSONB_SET function. - * - * @param string $key - * @param mixed $value - * @return string - */ - protected function compileJsonUpdateColumn($key, $value) - { - $parts = explode('->', $key); - - $field = $this->wrap(array_shift($parts)); - - $path = '\'{"'.implode('","', $parts).'"}\''; - - return "{$field} = jsonb_set({$field}::jsonb, {$path}, {$this->parameter($value)})"; - } - - /** - * Compile the "from" clause for an update with a join. - * - * @param \Illuminate\Database\Query\Builder $query - * @return string|null - */ - protected function compileUpdateFrom(Builder $query) - { - if (! isset($query->joins)) { - return ''; - } - - // When using Postgres, updates with joins list the joined tables in the from - // clause, which is different than other systems like MySQL. Here, we will - // compile out the tables that are joined and add them to a from clause. - $froms = collect($query->joins)->map(function ($join) { - return $this->wrapTable($join->table); - })->all(); - - if (count($froms) > 0) { - return ' from '.implode(', ', $froms); - } - } - - /** - * Compile the additional where clauses for updates with joins. - * - * @param \Illuminate\Database\Query\Builder $query - * @return string - */ - protected function compileUpdateWheres(Builder $query) - { - $baseWheres = $this->compileWheres($query); - - if (! isset($query->joins)) { - return $baseWheres; - } - - // Once we compile the join constraints, we will either use them as the where - // clause or append them to the existing base where clauses. If we need to - // strip the leading boolean we will do so when using as the only where. - $joinWheres = $this->compileUpdateJoinWheres($query); - - if (trim($baseWheres) == '') { - return 'where '.$this->removeLeadingBoolean($joinWheres); - } - - return $baseWheres.' '.$joinWheres; - } - - /** - * Compile the "join" clause where clauses for an update. - * - * @param \Illuminate\Database\Query\Builder $query - * @return string - */ - protected function compileUpdateJoinWheres(Builder $query) - { - $joinWheres = []; - - // Here we will just loop through all of the join constraints and compile them - // all out then implode them. This should give us "where" like syntax after - // everything has been built and then we will join it to the real wheres. - foreach ($query->joins as $join) { - foreach ($join->wheres as $where) { - $method = "where{$where['type']}"; - - $joinWheres[] = $where['boolean'].' '.$this->$method($query, $where); - } - } - - return implode(' ', $joinWheres); - } - - /** - * Prepare the bindings for an update statement. - * - * @param array $bindings - * @param array $values - * @return array - */ - public function prepareBindingsForUpdate(array $bindings, array $values) - { - $values = collect($values)->map(function ($value, $column) { - return $this->isJsonSelector($column) && ! $this->isExpression($value) - ? json_encode($value) - : $value; - })->all(); - - $bindingsWithoutWhere = Arr::except($bindings, ['select', 'where']); - - return array_values( - array_merge($values, $bindings['where'], Arr::flatten($bindingsWithoutWhere)) - ); - } - - /** - * Compile a delete statement into SQL. - * - * @param \Illuminate\Database\Query\Builder $query - * @return string - */ - public function compileDelete(Builder $query) - { - $table = $this->wrapTable($query->from); - - return isset($query->joins) - ? $this->compileDeleteWithJoins($query, $table) - : parent::compileDelete($query); - } - - /** - * Compile a delete query that uses joins. - * - * @param \Illuminate\Database\Query\Builder $query - * @param string $table - * @return string - */ - protected function compileDeleteWithJoins($query, $table) - { - $using = ' USING '.collect($query->joins)->map(function ($join) { - return $this->wrapTable($join->table); - })->implode(', '); - - $where = $this->compileUpdateWheres($query); - - return trim("delete from {$table}{$using} {$where}"); - } - - /** - * Prepare the bindings for a delete statement. - * - * @param array $bindings - * @return array - */ - public function prepareBindingsForDelete(array $bindings) - { - $bindingsWithoutWhere = Arr::except($bindings, ['select', 'where']); - - return array_values( - array_merge($bindings['where'], Arr::flatten($bindingsWithoutWhere)) - ); - } - - /** - * Compile a truncate table statement into SQL. - * - * @param \Illuminate\Database\Query\Builder $query - * @return array - */ - public function compileTruncate(Builder $query) - { - return ['truncate '.$this->wrapTable($query->from).' restart identity cascade' => []]; - } - - /** - * Wrap the given JSON selector. - * - * @param string $value - * @return string - */ - protected function wrapJsonSelector($value) - { - $path = explode('->', $value); - - $field = $this->wrapSegments(explode('.', array_shift($path))); - - $wrappedPath = $this->wrapJsonPathAttributes($path); - - $attribute = array_pop($wrappedPath); - - if (! empty($wrappedPath)) { - return $field.'->'.implode('->', $wrappedPath).'->>'.$attribute; - } - - return $field.'->>'.$attribute; - } - - /** - *Wrap the given JSON selector for boolean values. - * - * @param string $value - * @return string - */ - protected function wrapJsonBooleanSelector($value) - { - $selector = str_replace( - '->>', '->', - $this->wrapJsonSelector($value) - ); - - return '('.$selector.')::jsonb'; - } - - /** - * Wrap the given JSON boolean value. - * - * @param string $value - * @return string - */ - protected function wrapJsonBooleanValue($value) - { - return "'".$value."'::jsonb"; - } - - /** - * Wrap the attributes of the give JSON path. - * - * @param array $path - * @return array - */ - protected function wrapJsonPathAttributes($path) - { - return array_map(function ($attribute) { - return "'$attribute'"; - }, $path); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Query/Grammars/SQLiteGrammar.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Query/Grammars/SQLiteGrammar.php deleted file mode 100644 index a678213..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Query/Grammars/SQLiteGrammar.php +++ /dev/null @@ -1,309 +0,0 @@ -', '<=', '>=', '<>', '!=', - 'like', 'not like', 'ilike', - '&', '|', '<<', '>>', - ]; - - /** - * Compile a select query into SQL. - * - * @param \Illuminate\Database\Query\Builder $query - * @return string - */ - public function compileSelect(Builder $query) - { - if ($query->unions && $query->aggregate) { - return $this->compileUnionAggregate($query); - } - - $sql = parent::compileSelect($query); - - if ($query->unions) { - $sql = 'select * from ('.$sql.') '.$this->compileUnions($query); - } - - return $sql; - } - - /** - * Compile a single union statement. - * - * @param array $union - * @return string - */ - protected function compileUnion(array $union) - { - $conjunction = $union['all'] ? ' union all ' : ' union '; - - return $conjunction.'select * from ('.$union['query']->toSql().')'; - } - - /** - * Compile a "where date" clause. - * - * @param \Illuminate\Database\Query\Builder $query - * @param array $where - * @return string - */ - protected function whereDate(Builder $query, $where) - { - return $this->dateBasedWhere('%Y-%m-%d', $query, $where); - } - - /** - * Compile a "where day" clause. - * - * @param \Illuminate\Database\Query\Builder $query - * @param array $where - * @return string - */ - protected function whereDay(Builder $query, $where) - { - return $this->dateBasedWhere('%d', $query, $where); - } - - /** - * Compile a "where month" clause. - * - * @param \Illuminate\Database\Query\Builder $query - * @param array $where - * @return string - */ - protected function whereMonth(Builder $query, $where) - { - return $this->dateBasedWhere('%m', $query, $where); - } - - /** - * Compile a "where year" clause. - * - * @param \Illuminate\Database\Query\Builder $query - * @param array $where - * @return string - */ - protected function whereYear(Builder $query, $where) - { - return $this->dateBasedWhere('%Y', $query, $where); - } - - /** - * Compile a "where time" clause. - * - * @param \Illuminate\Database\Query\Builder $query - * @param array $where - * @return string - */ - protected function whereTime(Builder $query, $where) - { - return $this->dateBasedWhere('%H:%M:%S', $query, $where); - } - - /** - * Compile a date based where clause. - * - * @param string $type - * @param \Illuminate\Database\Query\Builder $query - * @param array $where - * @return string - */ - protected function dateBasedWhere($type, Builder $query, $where) - { - $value = $this->parameter($where['value']); - - return "strftime('{$type}', {$this->wrap($where['column'])}) {$where['operator']} cast({$value} as text)"; - } - - /** - * Compile a "JSON length" statement into SQL. - * - * @param string $column - * @param string $operator - * @param string $value - * @return string - */ - protected function compileJsonLength($column, $operator, $value) - { - [$field, $path] = $this->wrapJsonFieldAndPath($column); - - return 'json_array_length('.$field.$path.') '.$operator.' '.$value; - } - - /** - * Compile an insert statement into SQL. - * - * @param \Illuminate\Database\Query\Builder $query - * @param array $values - * @return string - */ - public function compileInsert(Builder $query, array $values) - { - $table = $this->wrapTable($query->from); - - return empty($values) - ? "insert into {$table} DEFAULT VALUES" - : parent::compileInsert($query, $values); - } - - /** - * Compile an insert ignore statement into SQL. - * - * @param \Illuminate\Database\Query\Builder $query - * @param array $values - * @return string - */ - public function compileInsertOrIgnore(Builder $query, array $values) - { - return Str::replaceFirst('insert', 'insert or ignore', $this->compileInsert($query, $values)); - } - - /** - * Compile an update statement into SQL. - * - * @param \Illuminate\Database\Query\Builder $query - * @param array $values - * @return string - */ - public function compileUpdate(Builder $query, $values) - { - $table = $this->wrapTable($query->from); - - $columns = collect($values)->map(function ($value, $key) { - return $this->wrap(Str::after($key, '.')).' = '.$this->parameter($value); - })->implode(', '); - - if (isset($query->joins) || isset($query->limit)) { - return $this->compileUpdateWithJoinsOrLimit($query, $columns); - } - - return trim("update {$table} set {$columns} {$this->compileWheres($query)}"); - } - - /** - * Compile an update statement with joins or limit into SQL. - * - * @param \Illuminate\Database\Query\Builder $query - * @param string $columns - * @return string - */ - protected function compileUpdateWithJoinsOrLimit(Builder $query, $columns) - { - $segments = preg_split('/\s+as\s+/i', $query->from); - - $alias = $segments[1] ?? $segments[0]; - - $selectSql = parent::compileSelect($query->select($alias.'.rowid')); - - return "update {$this->wrapTable($query->from)} set {$columns} where {$this->wrap('rowid')} in ({$selectSql})"; - } - - /** - * Prepare the bindings for an update statement. - * - * @param array $bindings - * @param array $values - * @return array - */ - public function prepareBindingsForUpdate(array $bindings, array $values) - { - $cleanBindings = Arr::except($bindings, 'select'); - - return array_values( - array_merge($values, Arr::flatten($cleanBindings)) - ); - } - - /** - * Compile a delete statement into SQL. - * - * @param \Illuminate\Database\Query\Builder $query - * @return string - */ - public function compileDelete(Builder $query) - { - if (isset($query->joins) || isset($query->limit)) { - return $this->compileDeleteWithJoinsOrLimit($query); - } - - $wheres = is_array($query->wheres) ? $this->compileWheres($query) : ''; - - return trim("delete from {$this->wrapTable($query->from)} $wheres"); - } - - /** - * Compile a delete statement with joins or limit into SQL. - * - * @param \Illuminate\Database\Query\Builder $query - * @return string - */ - protected function compileDeleteWithJoinsOrLimit(Builder $query) - { - $segments = preg_split('/\s+as\s+/i', $query->from); - - $alias = $segments[1] ?? $segments[0]; - - $selectSql = parent::compileSelect($query->select($alias.'.rowid')); - - return "delete from {$this->wrapTable($query->from)} where {$this->wrap('rowid')} in ({$selectSql})"; - } - - /** - * Compile a truncate table statement into SQL. - * - * @param \Illuminate\Database\Query\Builder $query - * @return array - */ - public function compileTruncate(Builder $query) - { - return [ - 'delete from sqlite_sequence where name = ?' => [$query->from], - 'delete from '.$this->wrapTable($query->from) => [], - ]; - } - - /** - * Wrap the given JSON selector. - * - * @param string $value - * @return string - */ - protected function wrapJsonSelector($value) - { - [$field, $path] = $this->wrapJsonFieldAndPath($value); - - return 'json_extract('.$field.$path.')'; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Query/Grammars/SqlServerGrammar.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Query/Grammars/SqlServerGrammar.php deleted file mode 100644 index 56f917a..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Query/Grammars/SqlServerGrammar.php +++ /dev/null @@ -1,511 +0,0 @@ -', '<=', '>=', '!<', '!>', '<>', '!=', - 'like', 'not like', 'ilike', - '&', '&=', '|', '|=', '^', '^=', - ]; - - /** - * Compile a select query into SQL. - * - * @param \Illuminate\Database\Query\Builder $query - * @return string - */ - public function compileSelect(Builder $query) - { - if (! $query->offset) { - return parent::compileSelect($query); - } - - // If an offset is present on the query, we will need to wrap the query in - // a big "ANSI" offset syntax block. This is very nasty compared to the - // other database systems but is necessary for implementing features. - if (is_null($query->columns)) { - $query->columns = ['*']; - } - - return $this->compileAnsiOffset( - $query, $this->compileComponents($query) - ); - } - - /** - * Compile the "select *" portion of the query. - * - * @param \Illuminate\Database\Query\Builder $query - * @param array $columns - * @return string|null - */ - protected function compileColumns(Builder $query, $columns) - { - if (! is_null($query->aggregate)) { - return; - } - - $select = $query->distinct ? 'select distinct ' : 'select '; - - // If there is a limit on the query, but not an offset, we will add the top - // clause to the query, which serves as a "limit" type clause within the - // SQL Server system similar to the limit keywords available in MySQL. - if ($query->limit > 0 && $query->offset <= 0) { - $select .= 'top '.$query->limit.' '; - } - - return $select.$this->columnize($columns); - } - - /** - * Compile the "from" portion of the query. - * - * @param \Illuminate\Database\Query\Builder $query - * @param string $table - * @return string - */ - protected function compileFrom(Builder $query, $table) - { - $from = parent::compileFrom($query, $table); - - if (is_string($query->lock)) { - return $from.' '.$query->lock; - } - - if (! is_null($query->lock)) { - return $from.' with(rowlock,'.($query->lock ? 'updlock,' : '').'holdlock)'; - } - - return $from; - } - - /** - * Compile a "where date" clause. - * - * @param \Illuminate\Database\Query\Builder $query - * @param array $where - * @return string - */ - protected function whereDate(Builder $query, $where) - { - $value = $this->parameter($where['value']); - - return 'cast('.$this->wrap($where['column']).' as date) '.$where['operator'].' '.$value; - } - - /** - * Compile a "where time" clause. - * - * @param \Illuminate\Database\Query\Builder $query - * @param array $where - * @return string - */ - protected function whereTime(Builder $query, $where) - { - $value = $this->parameter($where['value']); - - return 'cast('.$this->wrap($where['column']).' as time) '.$where['operator'].' '.$value; - } - - /** - * Compile a "JSON contains" statement into SQL. - * - * @param string $column - * @param string $value - * @return string - */ - protected function compileJsonContains($column, $value) - { - [$field, $path] = $this->wrapJsonFieldAndPath($column); - - return $value.' in (select [value] from openjson('.$field.$path.'))'; - } - - /** - * Prepare the binding for a "JSON contains" statement. - * - * @param mixed $binding - * @return string - */ - public function prepareBindingForJsonContains($binding) - { - return is_bool($binding) ? json_encode($binding) : $binding; - } - - /** - * Compile a "JSON length" statement into SQL. - * - * @param string $column - * @param string $operator - * @param string $value - * @return string - */ - protected function compileJsonLength($column, $operator, $value) - { - [$field, $path] = $this->wrapJsonFieldAndPath($column); - - return '(select count(*) from openjson('.$field.$path.')) '.$operator.' '.$value; - } - - /** - * Create a full ANSI offset clause for the query. - * - * @param \Illuminate\Database\Query\Builder $query - * @param array $components - * @return string - */ - protected function compileAnsiOffset(Builder $query, $components) - { - // An ORDER BY clause is required to make this offset query work, so if one does - // not exist we'll just create a dummy clause to trick the database and so it - // does not complain about the queries for not having an "order by" clause. - if (empty($components['orders'])) { - $components['orders'] = 'order by (select 0)'; - } - - // We need to add the row number to the query so we can compare it to the offset - // and limit values given for the statements. So we will add an expression to - // the "select" that will give back the row numbers on each of the records. - $components['columns'] .= $this->compileOver($components['orders']); - - unset($components['orders']); - - // Next we need to calculate the constraints that should be placed on the query - // to get the right offset and limit from our query but if there is no limit - // set we will just handle the offset only since that is all that matters. - $sql = $this->concatenate($components); - - return $this->compileTableExpression($sql, $query); - } - - /** - * Compile the over statement for a table expression. - * - * @param string $orderings - * @return string - */ - protected function compileOver($orderings) - { - return ", row_number() over ({$orderings}) as row_num"; - } - - /** - * Compile a common table expression for a query. - * - * @param string $sql - * @param \Illuminate\Database\Query\Builder $query - * @return string - */ - protected function compileTableExpression($sql, $query) - { - $constraint = $this->compileRowConstraint($query); - - return "select * from ({$sql}) as temp_table where row_num {$constraint} order by row_num"; - } - - /** - * Compile the limit / offset row constraint for a query. - * - * @param \Illuminate\Database\Query\Builder $query - * @return string - */ - protected function compileRowConstraint($query) - { - $start = $query->offset + 1; - - if ($query->limit > 0) { - $finish = $query->offset + $query->limit; - - return "between {$start} and {$finish}"; - } - - return ">= {$start}"; - } - - /** - * Compile the random statement into SQL. - * - * @param string $seed - * @return string - */ - public function compileRandom($seed) - { - return 'NEWID()'; - } - - /** - * Compile the "limit" portions of the query. - * - * @param \Illuminate\Database\Query\Builder $query - * @param int $limit - * @return string - */ - protected function compileLimit(Builder $query, $limit) - { - return ''; - } - - /** - * Compile the "offset" portions of the query. - * - * @param \Illuminate\Database\Query\Builder $query - * @param int $offset - * @return string - */ - protected function compileOffset(Builder $query, $offset) - { - return ''; - } - - /** - * Compile the lock into SQL. - * - * @param \Illuminate\Database\Query\Builder $query - * @param bool|string $value - * @return string - */ - protected function compileLock(Builder $query, $value) - { - return ''; - } - - /** - * Compile an exists statement into SQL. - * - * @param \Illuminate\Database\Query\Builder $query - * @return string - */ - public function compileExists(Builder $query) - { - $existsQuery = clone $query; - - $existsQuery->columns = []; - - return $this->compileSelect($existsQuery->selectRaw('1 [exists]')->limit(1)); - } - - /** - * Compile a delete statement into SQL. - * - * @param \Illuminate\Database\Query\Builder $query - * @return string - */ - public function compileDelete(Builder $query) - { - $table = $this->wrapTable($query->from); - - $where = is_array($query->wheres) ? $this->compileWheres($query) : ''; - - return isset($query->joins) - ? $this->compileDeleteWithJoins($query, $table, $where) - : trim("delete from {$table} {$where}"); - } - - /** - * Compile a delete statement with joins into SQL. - * - * @param \Illuminate\Database\Query\Builder $query - * @param string $table - * @param string $where - * @return string - */ - protected function compileDeleteWithJoins(Builder $query, $table, $where) - { - $joins = ' '.$this->compileJoins($query, $query->joins); - - $alias = stripos($table, ' as ') !== false - ? explode(' as ', $table)[1] : $table; - - return trim("delete {$alias} from {$table}{$joins} {$where}"); - } - - /** - * Compile a truncate table statement into SQL. - * - * @param \Illuminate\Database\Query\Builder $query - * @return array - */ - public function compileTruncate(Builder $query) - { - return ['truncate table '.$this->wrapTable($query->from) => []]; - } - - /** - * Compile an update statement into SQL. - * - * @param \Illuminate\Database\Query\Builder $query - * @param array $values - * @return string - */ - public function compileUpdate(Builder $query, $values) - { - [$table, $alias] = $this->parseUpdateTable($query->from); - - // Each one of the columns in the update statements needs to be wrapped in the - // keyword identifiers, also a place-holder needs to be created for each of - // the values in the list of bindings so we can make the sets statements. - $columns = collect($values)->map(function ($value, $key) { - return $this->wrap($key).' = '.$this->parameter($value); - })->implode(', '); - - // If the query has any "join" clauses, we will setup the joins on the builder - // and compile them so we can attach them to this update, as update queries - // can get join statements to attach to other tables when they're needed. - $joins = ''; - - if (isset($query->joins)) { - $joins = ' '.$this->compileJoins($query, $query->joins); - } - - // Of course, update queries may also be constrained by where clauses so we'll - // need to compile the where clauses and attach it to the query so only the - // intended records are updated by the SQL statements we generate to run. - $where = $this->compileWheres($query); - - if (! empty($joins)) { - return trim("update {$alias} set {$columns} from {$table}{$joins} {$where}"); - } - - return trim("update {$table}{$joins} set $columns $where"); - } - - /** - * Get the table and alias for the given table. - * - * @param string $table - * @return array - */ - protected function parseUpdateTable($table) - { - $table = $alias = $this->wrapTable($table); - - if (stripos($table, '] as [') !== false) { - $alias = '['.explode('] as [', $table)[1]; - } - - return [$table, $alias]; - } - - /** - * Prepare the bindings for an update statement. - * - * @param array $bindings - * @param array $values - * @return array - */ - public function prepareBindingsForUpdate(array $bindings, array $values) - { - $cleanBindings = Arr::except($bindings, 'select'); - - return array_values( - array_merge($values, Arr::flatten($cleanBindings)) - ); - } - - /** - * Compile the SQL statement to define a savepoint. - * - * @param string $name - * @return string - */ - public function compileSavepoint($name) - { - return 'SAVE TRANSACTION '.$name; - } - - /** - * Compile the SQL statement to execute a savepoint rollback. - * - * @param string $name - * @return string - */ - public function compileSavepointRollBack($name) - { - return 'ROLLBACK TRANSACTION '.$name; - } - - /** - * Get the format for database stored dates. - * - * @return string - */ - public function getDateFormat() - { - return 'Y-m-d H:i:s.v'; - } - - /** - * Wrap a single string in keyword identifiers. - * - * @param string $value - * @return string - */ - protected function wrapValue($value) - { - return $value === '*' ? $value : '['.str_replace(']', ']]', $value).']'; - } - - /** - * Wrap the given JSON selector. - * - * @param string $value - * @return string - */ - protected function wrapJsonSelector($value) - { - [$field, $path] = $this->wrapJsonFieldAndPath($value); - - return 'json_value('.$field.$path.')'; - } - - /** - * Wrap the given JSON boolean value. - * - * @param string $value - * @return string - */ - protected function wrapJsonBooleanValue($value) - { - return "'".$value."'"; - } - - /** - * Wrap a table in keyword identifiers. - * - * @param \Illuminate\Database\Query\Expression|string $table - * @return string - */ - public function wrapTable($table) - { - if (! $this->isExpression($table)) { - return $this->wrapTableValuedFunction(parent::wrapTable($table)); - } - - return $this->getValue($table); - } - - /** - * Wrap a table in keyword identifiers. - * - * @param string $table - * @return string - */ - protected function wrapTableValuedFunction($table) - { - if (preg_match('/^(.+?)(\(.*?\))]$/', $table, $matches) === 1) { - $table = $matches[1].']'.$matches[2]; - } - - return $table; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Query/JoinClause.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Query/JoinClause.php deleted file mode 100644 index 4e17842..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Query/JoinClause.php +++ /dev/null @@ -1,146 +0,0 @@ -type = $type; - $this->table = $table; - $this->parentClass = get_class($parentQuery); - $this->parentGrammar = $parentQuery->getGrammar(); - $this->parentProcessor = $parentQuery->getProcessor(); - $this->parentConnection = $parentQuery->getConnection(); - - parent::__construct( - $this->parentConnection, $this->parentGrammar, $this->parentProcessor - ); - } - - /** - * Add an "on" clause to the join. - * - * On clauses can be chained, e.g. - * - * $join->on('contacts.user_id', '=', 'users.id') - * ->on('contacts.info_id', '=', 'info.id') - * - * will produce the following SQL: - * - * on `contacts`.`user_id` = `users`.`id` and `contacts`.`info_id` = `info`.`id` - * - * @param \Closure|string $first - * @param string|null $operator - * @param string|null $second - * @param string $boolean - * @return $this - * - * @throws \InvalidArgumentException - */ - public function on($first, $operator = null, $second = null, $boolean = 'and') - { - if ($first instanceof Closure) { - return $this->whereNested($first, $boolean); - } - - return $this->whereColumn($first, $operator, $second, $boolean); - } - - /** - * Add an "or on" clause to the join. - * - * @param \Closure|string $first - * @param string|null $operator - * @param string|null $second - * @return \Illuminate\Database\Query\JoinClause - */ - public function orOn($first, $operator = null, $second = null) - { - return $this->on($first, $operator, $second, 'or'); - } - - /** - * Get a new instance of the join clause builder. - * - * @return \Illuminate\Database\Query\JoinClause - */ - public function newQuery() - { - return new static($this->newParentQuery(), $this->type, $this->table); - } - - /** - * Create a new query instance for sub-query. - * - * @return \Illuminate\Database\Query\Builder - */ - protected function forSubQuery() - { - return $this->newParentQuery()->newQuery(); - } - - /** - * Create a new parent query instance. - * - * @return \Illuminate\Database\Query\Builder - */ - protected function newParentQuery() - { - $class = $this->parentClass; - - return new $class($this->parentConnection, $this->parentGrammar, $this->parentProcessor); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Query/JsonExpression.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Query/JsonExpression.php deleted file mode 100644 index 3d68ee6..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Query/JsonExpression.php +++ /dev/null @@ -1,51 +0,0 @@ -getJsonBindingParameter($value) - ); - } - - /** - * Translate the given value into the appropriate JSON binding parameter. - * - * @param mixed $value - * @return string - * - * @throws \InvalidArgumentException - */ - protected function getJsonBindingParameter($value) - { - if ($value instanceof Expression) { - return $value->getValue(); - } - - switch ($type = gettype($value)) { - case 'boolean': - return $value ? 'true' : 'false'; - case 'NULL': - case 'integer': - case 'double': - case 'string': - return '?'; - case 'object': - case 'array': - return '?'; - } - - throw new InvalidArgumentException("JSON value is of illegal type: {$type}"); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/MySqlProcessor.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/MySqlProcessor.php deleted file mode 100644 index ce91838..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/MySqlProcessor.php +++ /dev/null @@ -1,19 +0,0 @@ -column_name; - }, $results); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/PostgresProcessor.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/PostgresProcessor.php deleted file mode 100644 index 356f0ca..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/PostgresProcessor.php +++ /dev/null @@ -1,41 +0,0 @@ -getConnection()->selectFromWriteConnection($sql, $values)[0]; - - $sequence = $sequence ?: 'id'; - - $id = is_object($result) ? $result->{$sequence} : $result[$sequence]; - - return is_numeric($id) ? (int) $id : $id; - } - - /** - * Process the results of a column listing query. - * - * @param array $results - * @return array - */ - public function processColumnListing($results) - { - return array_map(function ($result) { - return ((object) $result)->column_name; - }, $results); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/Processor.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/Processor.php deleted file mode 100644 index 5e318d3..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/Processor.php +++ /dev/null @@ -1,49 +0,0 @@ -getConnection()->insert($sql, $values); - - $id = $query->getConnection()->getPdo()->lastInsertId($sequence); - - return is_numeric($id) ? (int) $id : $id; - } - - /** - * Process the results of a column listing query. - * - * @param array $results - * @return array - */ - public function processColumnListing($results) - { - return $results; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/SQLiteProcessor.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/SQLiteProcessor.php deleted file mode 100644 index 65da1df..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/SQLiteProcessor.php +++ /dev/null @@ -1,19 +0,0 @@ -name; - }, $results); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/SqlServerProcessor.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/SqlServerProcessor.php deleted file mode 100644 index fab071d..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/SqlServerProcessor.php +++ /dev/null @@ -1,70 +0,0 @@ -getConnection(); - - $connection->insert($sql, $values); - - if ($connection->getConfig('odbc') === true) { - $id = $this->processInsertGetIdForOdbc($connection); - } else { - $id = $connection->getPdo()->lastInsertId(); - } - - return is_numeric($id) ? (int) $id : $id; - } - - /** - * Process an "insert get ID" query for ODBC. - * - * @param \Illuminate\Database\Connection $connection - * @return int - * - * @throws \Exception - */ - protected function processInsertGetIdForOdbc(Connection $connection) - { - $result = $connection->selectFromWriteConnection( - 'SELECT CAST(COALESCE(SCOPE_IDENTITY(), @@IDENTITY) AS int) AS insertid' - ); - - if (! $result) { - throw new Exception('Unable to retrieve lastInsertID for ODBC.'); - } - - $row = $result[0]; - - return is_object($row) ? $row->insertid : $row['insertid']; - } - - /** - * Process the results of a column listing query. - * - * @param array $results - * @return array - */ - public function processColumnListing($results) - { - return array_map(function ($result) { - return ((object) $result)->name; - }, $results); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/QueryException.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/QueryException.php deleted file mode 100644 index 9a3687d..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/QueryException.php +++ /dev/null @@ -1,78 +0,0 @@ -sql = $sql; - $this->bindings = $bindings; - $this->code = $previous->getCode(); - $this->message = $this->formatMessage($sql, $bindings, $previous); - - if ($previous instanceof PDOException) { - $this->errorInfo = $previous->errorInfo; - } - } - - /** - * Format the SQL error message. - * - * @param string $sql - * @param array $bindings - * @param \Exception $previous - * @return string - */ - protected function formatMessage($sql, $bindings, $previous) - { - return $previous->getMessage().' (SQL: '.Str::replaceArray('?', $bindings, $sql).')'; - } - - /** - * Get the SQL for the query. - * - * @return string - */ - public function getSql() - { - return $this->sql; - } - - /** - * Get the bindings for the query. - * - * @return array - */ - public function getBindings() - { - return $this->bindings; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/README.md b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/README.md deleted file mode 100644 index 7d59ab7..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/README.md +++ /dev/null @@ -1,69 +0,0 @@ -## Illuminate Database - -The Illuminate Database component is a full database toolkit for PHP, providing an expressive query builder, ActiveRecord style ORM, and schema builder. It currently supports MySQL, Postgres, SQL Server, and SQLite. It also serves as the database layer of the Laravel PHP framework. - -### Usage Instructions - -First, create a new "Capsule" manager instance. Capsule aims to make configuring the library for usage outside of the Laravel framework as easy as possible. - -```PHP -use Illuminate\Database\Capsule\Manager as Capsule; - -$capsule = new Capsule; - -$capsule->addConnection([ - 'driver' => 'mysql', - 'host' => 'localhost', - 'database' => 'database', - 'username' => 'root', - 'password' => 'password', - 'charset' => 'utf8', - 'collation' => 'utf8_unicode_ci', - 'prefix' => '', -]); - -// Set the event dispatcher used by Eloquent models... (optional) -use Illuminate\Events\Dispatcher; -use Illuminate\Container\Container; -$capsule->setEventDispatcher(new Dispatcher(new Container)); - -// Make this Capsule instance available globally via static methods... (optional) -$capsule->setAsGlobal(); - -// Setup the Eloquent ORM... (optional; unless you've used setEventDispatcher()) -$capsule->bootEloquent(); -``` - -> `composer require "illuminate/events"` required when you need to use observers with Eloquent. - -Once the Capsule instance has been registered. You may use it like so: - -**Using The Query Builder** - -```PHP -$users = Capsule::table('users')->where('votes', '>', 100)->get(); -``` -Other core methods may be accessed directly from the Capsule in the same manner as from the DB facade: -```PHP -$results = Capsule::select('select * from users where id = ?', [1]); -``` - -**Using The Schema Builder** - -```PHP -Capsule::schema()->create('users', function ($table) { - $table->increments('id'); - $table->string('email')->unique(); - $table->timestamps(); -}); -``` - -**Using The Eloquent ORM** - -```PHP -class User extends Illuminate\Database\Eloquent\Model {} - -$users = User::where('votes', '>', 1)->get(); -``` - -For further documentation on using the various database facilities this library provides, consult the [Laravel framework documentation](https://laravel.com/docs). diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/SQLiteConnection.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/SQLiteConnection.php deleted file mode 100644 index 21f890d..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/SQLiteConnection.php +++ /dev/null @@ -1,100 +0,0 @@ -getForeignKeyConstraintsConfigurationValue(); - - if ($enableForeignKeyConstraints === null) { - return; - } - - $enableForeignKeyConstraints - ? $this->getSchemaBuilder()->enableForeignKeyConstraints() - : $this->getSchemaBuilder()->disableForeignKeyConstraints(); - } - - /** - * Get the default query grammar instance. - * - * @return \Illuminate\Database\Query\Grammars\SQLiteGrammar - */ - protected function getDefaultQueryGrammar() - { - return $this->withTablePrefix(new QueryGrammar); - } - - /** - * Get a schema builder instance for the connection. - * - * @return \Illuminate\Database\Schema\SQLiteBuilder - */ - public function getSchemaBuilder() - { - if (is_null($this->schemaGrammar)) { - $this->useDefaultSchemaGrammar(); - } - - return new SQLiteBuilder($this); - } - - /** - * Get the default schema grammar instance. - * - * @return \Illuminate\Database\Schema\Grammars\SQLiteGrammar - */ - protected function getDefaultSchemaGrammar() - { - return $this->withTablePrefix(new SchemaGrammar); - } - - /** - * Get the default post processor instance. - * - * @return \Illuminate\Database\Query\Processors\SQLiteProcessor - */ - protected function getDefaultPostProcessor() - { - return new SQLiteProcessor; - } - - /** - * Get the Doctrine DBAL driver. - * - * @return \Doctrine\DBAL\Driver\PDOSqlite\Driver - */ - protected function getDoctrineDriver() - { - return new DoctrineDriver; - } - - /** - * Get the database connection foreign key constraints configuration option. - * - * @return bool|null - */ - protected function getForeignKeyConstraintsConfigurationValue() - { - return $this->getConfig('foreign_key_constraints'); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Schema/Blueprint.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Schema/Blueprint.php deleted file mode 100644 index a08f5be..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Schema/Blueprint.php +++ /dev/null @@ -1,1439 +0,0 @@ -table = $table; - $this->prefix = $prefix; - - if (! is_null($callback)) { - $callback($this); - } - } - - /** - * Execute the blueprint against the database. - * - * @param \Illuminate\Database\Connection $connection - * @param \Illuminate\Database\Schema\Grammars\Grammar $grammar - * @return void - */ - public function build(Connection $connection, Grammar $grammar) - { - foreach ($this->toSql($connection, $grammar) as $statement) { - $connection->statement($statement); - } - } - - /** - * Get the raw SQL statements for the blueprint. - * - * @param \Illuminate\Database\Connection $connection - * @param \Illuminate\Database\Schema\Grammars\Grammar $grammar - * @return array - */ - public function toSql(Connection $connection, Grammar $grammar) - { - $this->addImpliedCommands($grammar); - - $statements = []; - - // Each type of command has a corresponding compiler function on the schema - // grammar which is used to build the necessary SQL statements to build - // the blueprint element, so we'll just call that compilers function. - $this->ensureCommandsAreValid($connection); - - foreach ($this->commands as $command) { - $method = 'compile'.ucfirst($command->name); - - if (method_exists($grammar, $method)) { - if (! is_null($sql = $grammar->$method($this, $command, $connection))) { - $statements = array_merge($statements, (array) $sql); - } - } - } - - return $statements; - } - - /** - * Ensure the commands on the blueprint are valid for the connection type. - * - * @param \Illuminate\Database\Connection $connection - * @return void - * - * @throws \BadMethodCallException - */ - protected function ensureCommandsAreValid(Connection $connection) - { - if ($connection instanceof SQLiteConnection) { - if ($this->commandsNamed(['dropColumn', 'renameColumn'])->count() > 1) { - throw new BadMethodCallException( - "SQLite doesn't support multiple calls to dropColumn / renameColumn in a single modification." - ); - } - - if ($this->commandsNamed(['dropForeign'])->count() > 0) { - throw new BadMethodCallException( - "SQLite doesn't support dropping foreign keys (you would need to re-create the table)." - ); - } - } - } - - /** - * Get all of the commands matching the given names. - * - * @param array $names - * @return \Illuminate\Support\Collection - */ - protected function commandsNamed(array $names) - { - return collect($this->commands)->filter(function ($command) use ($names) { - return in_array($command->name, $names); - }); - } - - /** - * Add the commands that are implied by the blueprint's state. - * - * @param \Illuminate\Database\Schema\Grammars\Grammar $grammar - * @return void - */ - protected function addImpliedCommands(Grammar $grammar) - { - if (count($this->getAddedColumns()) > 0 && ! $this->creating()) { - array_unshift($this->commands, $this->createCommand('add')); - } - - if (count($this->getChangedColumns()) > 0 && ! $this->creating()) { - array_unshift($this->commands, $this->createCommand('change')); - } - - $this->addFluentIndexes(); - - $this->addFluentCommands($grammar); - } - - /** - * Add the index commands fluently specified on columns. - * - * @return void - */ - protected function addFluentIndexes() - { - foreach ($this->columns as $column) { - foreach (['primary', 'unique', 'index', 'spatialIndex'] as $index) { - // If the index has been specified on the given column, but is simply equal - // to "true" (boolean), no name has been specified for this index so the - // index method can be called without a name and it will generate one. - if ($column->{$index} === true) { - $this->{$index}($column->name); - - continue 2; - } - - // If the index has been specified on the given column, and it has a string - // value, we'll go ahead and call the index method and pass the name for - // the index since the developer specified the explicit name for this. - elseif (isset($column->{$index})) { - $this->{$index}($column->name, $column->{$index}); - - continue 2; - } - } - } - } - - /** - * Add the fluent commands specified on any columns. - * - * @param \Illuminate\Database\Schema\Grammars\Grammar $grammar - * @return void - */ - public function addFluentCommands(Grammar $grammar) - { - foreach ($this->columns as $column) { - foreach ($grammar->getFluentCommands() as $commandName) { - $attributeName = lcfirst($commandName); - - if (! isset($column->{$attributeName})) { - continue; - } - - $value = $column->{$attributeName}; - - $this->addCommand( - $commandName, compact('value', 'column') - ); - } - } - } - - /** - * Determine if the blueprint has a create command. - * - * @return bool - */ - protected function creating() - { - return collect($this->commands)->contains(function ($command) { - return $command->name === 'create'; - }); - } - - /** - * Indicate that the table needs to be created. - * - * @return \Illuminate\Support\Fluent - */ - public function create() - { - return $this->addCommand('create'); - } - - /** - * Indicate that the table needs to be temporary. - * - * @return void - */ - public function temporary() - { - $this->temporary = true; - } - - /** - * Indicate that the table should be dropped. - * - * @return \Illuminate\Support\Fluent - */ - public function drop() - { - return $this->addCommand('drop'); - } - - /** - * Indicate that the table should be dropped if it exists. - * - * @return \Illuminate\Support\Fluent - */ - public function dropIfExists() - { - return $this->addCommand('dropIfExists'); - } - - /** - * Indicate that the given columns should be dropped. - * - * @param array|mixed $columns - * @return \Illuminate\Support\Fluent - */ - public function dropColumn($columns) - { - $columns = is_array($columns) ? $columns : func_get_args(); - - return $this->addCommand('dropColumn', compact('columns')); - } - - /** - * Indicate that the given columns should be renamed. - * - * @param string $from - * @param string $to - * @return \Illuminate\Support\Fluent - */ - public function renameColumn($from, $to) - { - return $this->addCommand('renameColumn', compact('from', 'to')); - } - - /** - * Indicate that the given primary key should be dropped. - * - * @param string|array|null $index - * @return \Illuminate\Support\Fluent - */ - public function dropPrimary($index = null) - { - return $this->dropIndexCommand('dropPrimary', 'primary', $index); - } - - /** - * Indicate that the given unique key should be dropped. - * - * @param string|array $index - * @return \Illuminate\Support\Fluent - */ - public function dropUnique($index) - { - return $this->dropIndexCommand('dropUnique', 'unique', $index); - } - - /** - * Indicate that the given index should be dropped. - * - * @param string|array $index - * @return \Illuminate\Support\Fluent - */ - public function dropIndex($index) - { - return $this->dropIndexCommand('dropIndex', 'index', $index); - } - - /** - * Indicate that the given spatial index should be dropped. - * - * @param string|array $index - * @return \Illuminate\Support\Fluent - */ - public function dropSpatialIndex($index) - { - return $this->dropIndexCommand('dropSpatialIndex', 'spatialIndex', $index); - } - - /** - * Indicate that the given foreign key should be dropped. - * - * @param string|array $index - * @return \Illuminate\Support\Fluent - */ - public function dropForeign($index) - { - return $this->dropIndexCommand('dropForeign', 'foreign', $index); - } - - /** - * Indicate that the given indexes should be renamed. - * - * @param string $from - * @param string $to - * @return \Illuminate\Support\Fluent - */ - public function renameIndex($from, $to) - { - return $this->addCommand('renameIndex', compact('from', 'to')); - } - - /** - * Indicate that the timestamp columns should be dropped. - * - * @return void - */ - public function dropTimestamps() - { - $this->dropColumn('created_at', 'updated_at'); - } - - /** - * Indicate that the timestamp columns should be dropped. - * - * @return void - */ - public function dropTimestampsTz() - { - $this->dropTimestamps(); - } - - /** - * Indicate that the soft delete column should be dropped. - * - * @param string $column - * @return void - */ - public function dropSoftDeletes($column = 'deleted_at') - { - $this->dropColumn($column); - } - - /** - * Indicate that the soft delete column should be dropped. - * - * @param string $column - * @return void - */ - public function dropSoftDeletesTz($column = 'deleted_at') - { - $this->dropSoftDeletes($column); - } - - /** - * Indicate that the remember token column should be dropped. - * - * @return void - */ - public function dropRememberToken() - { - $this->dropColumn('remember_token'); - } - - /** - * Indicate that the polymorphic columns should be dropped. - * - * @param string $name - * @param string|null $indexName - * @return void - */ - public function dropMorphs($name, $indexName = null) - { - $this->dropIndex($indexName ?: $this->createIndexName('index', ["{$name}_type", "{$name}_id"])); - - $this->dropColumn("{$name}_type", "{$name}_id"); - } - - /** - * Rename the table to a given name. - * - * @param string $to - * @return \Illuminate\Support\Fluent - */ - public function rename($to) - { - return $this->addCommand('rename', compact('to')); - } - - /** - * Specify the primary key(s) for the table. - * - * @param string|array $columns - * @param string|null $name - * @param string|null $algorithm - * @return \Illuminate\Support\Fluent - */ - public function primary($columns, $name = null, $algorithm = null) - { - return $this->indexCommand('primary', $columns, $name, $algorithm); - } - - /** - * Specify a unique index for the table. - * - * @param string|array $columns - * @param string|null $name - * @param string|null $algorithm - * @return \Illuminate\Support\Fluent - */ - public function unique($columns, $name = null, $algorithm = null) - { - return $this->indexCommand('unique', $columns, $name, $algorithm); - } - - /** - * Specify an index for the table. - * - * @param string|array $columns - * @param string|null $name - * @param string|null $algorithm - * @return \Illuminate\Support\Fluent - */ - public function index($columns, $name = null, $algorithm = null) - { - return $this->indexCommand('index', $columns, $name, $algorithm); - } - - /** - * Specify a spatial index for the table. - * - * @param string|array $columns - * @param string|null $name - * @return \Illuminate\Support\Fluent - */ - public function spatialIndex($columns, $name = null) - { - return $this->indexCommand('spatialIndex', $columns, $name); - } - - /** - * Specify a foreign key for the table. - * - * @param string|array $columns - * @param string|null $name - * @return \Illuminate\Support\Fluent|\Illuminate\Database\Schema\ForeignKeyDefinition - */ - public function foreign($columns, $name = null) - { - return $this->indexCommand('foreign', $columns, $name); - } - - /** - * Create a new auto-incrementing integer (4-byte) column on the table. - * - * @param string $column - * @return \Illuminate\Database\Schema\ColumnDefinition - */ - public function increments($column) - { - return $this->unsignedInteger($column, true); - } - - /** - * Create a new auto-incrementing integer (4-byte) column on the table. - * - * @param string $column - * @return \Illuminate\Database\Schema\ColumnDefinition - */ - public function integerIncrements($column) - { - return $this->unsignedInteger($column, true); - } - - /** - * Create a new auto-incrementing tiny integer (1-byte) column on the table. - * - * @param string $column - * @return \Illuminate\Database\Schema\ColumnDefinition - */ - public function tinyIncrements($column) - { - return $this->unsignedTinyInteger($column, true); - } - - /** - * Create a new auto-incrementing small integer (2-byte) column on the table. - * - * @param string $column - * @return \Illuminate\Database\Schema\ColumnDefinition - */ - public function smallIncrements($column) - { - return $this->unsignedSmallInteger($column, true); - } - - /** - * Create a new auto-incrementing medium integer (3-byte) column on the table. - * - * @param string $column - * @return \Illuminate\Database\Schema\ColumnDefinition - */ - public function mediumIncrements($column) - { - return $this->unsignedMediumInteger($column, true); - } - - /** - * Create a new auto-incrementing big integer (8-byte) column on the table. - * - * @param string $column - * @return \Illuminate\Database\Schema\ColumnDefinition - */ - public function bigIncrements($column) - { - return $this->unsignedBigInteger($column, true); - } - - /** - * Create a new char column on the table. - * - * @param string $column - * @param int|null $length - * @return \Illuminate\Database\Schema\ColumnDefinition - */ - public function char($column, $length = null) - { - $length = $length ?: Builder::$defaultStringLength; - - return $this->addColumn('char', $column, compact('length')); - } - - /** - * Create a new string column on the table. - * - * @param string $column - * @param int|null $length - * @return \Illuminate\Database\Schema\ColumnDefinition - */ - public function string($column, $length = null) - { - $length = $length ?: Builder::$defaultStringLength; - - return $this->addColumn('string', $column, compact('length')); - } - - /** - * Create a new text column on the table. - * - * @param string $column - * @return \Illuminate\Database\Schema\ColumnDefinition - */ - public function text($column) - { - return $this->addColumn('text', $column); - } - - /** - * Create a new medium text column on the table. - * - * @param string $column - * @return \Illuminate\Database\Schema\ColumnDefinition - */ - public function mediumText($column) - { - return $this->addColumn('mediumText', $column); - } - - /** - * Create a new long text column on the table. - * - * @param string $column - * @return \Illuminate\Database\Schema\ColumnDefinition - */ - public function longText($column) - { - return $this->addColumn('longText', $column); - } - - /** - * Create a new integer (4-byte) column on the table. - * - * @param string $column - * @param bool $autoIncrement - * @param bool $unsigned - * @return \Illuminate\Database\Schema\ColumnDefinition - */ - public function integer($column, $autoIncrement = false, $unsigned = false) - { - return $this->addColumn('integer', $column, compact('autoIncrement', 'unsigned')); - } - - /** - * Create a new tiny integer (1-byte) column on the table. - * - * @param string $column - * @param bool $autoIncrement - * @param bool $unsigned - * @return \Illuminate\Database\Schema\ColumnDefinition - */ - public function tinyInteger($column, $autoIncrement = false, $unsigned = false) - { - return $this->addColumn('tinyInteger', $column, compact('autoIncrement', 'unsigned')); - } - - /** - * Create a new small integer (2-byte) column on the table. - * - * @param string $column - * @param bool $autoIncrement - * @param bool $unsigned - * @return \Illuminate\Database\Schema\ColumnDefinition - */ - public function smallInteger($column, $autoIncrement = false, $unsigned = false) - { - return $this->addColumn('smallInteger', $column, compact('autoIncrement', 'unsigned')); - } - - /** - * Create a new medium integer (3-byte) column on the table. - * - * @param string $column - * @param bool $autoIncrement - * @param bool $unsigned - * @return \Illuminate\Database\Schema\ColumnDefinition - */ - public function mediumInteger($column, $autoIncrement = false, $unsigned = false) - { - return $this->addColumn('mediumInteger', $column, compact('autoIncrement', 'unsigned')); - } - - /** - * Create a new big integer (8-byte) column on the table. - * - * @param string $column - * @param bool $autoIncrement - * @param bool $unsigned - * @return \Illuminate\Database\Schema\ColumnDefinition - */ - public function bigInteger($column, $autoIncrement = false, $unsigned = false) - { - return $this->addColumn('bigInteger', $column, compact('autoIncrement', 'unsigned')); - } - - /** - * Create a new unsigned integer (4-byte) column on the table. - * - * @param string $column - * @param bool $autoIncrement - * @return \Illuminate\Database\Schema\ColumnDefinition - */ - public function unsignedInteger($column, $autoIncrement = false) - { - return $this->integer($column, $autoIncrement, true); - } - - /** - * Create a new unsigned tiny integer (1-byte) column on the table. - * - * @param string $column - * @param bool $autoIncrement - * @return \Illuminate\Database\Schema\ColumnDefinition - */ - public function unsignedTinyInteger($column, $autoIncrement = false) - { - return $this->tinyInteger($column, $autoIncrement, true); - } - - /** - * Create a new unsigned small integer (2-byte) column on the table. - * - * @param string $column - * @param bool $autoIncrement - * @return \Illuminate\Database\Schema\ColumnDefinition - */ - public function unsignedSmallInteger($column, $autoIncrement = false) - { - return $this->smallInteger($column, $autoIncrement, true); - } - - /** - * Create a new unsigned medium integer (3-byte) column on the table. - * - * @param string $column - * @param bool $autoIncrement - * @return \Illuminate\Database\Schema\ColumnDefinition - */ - public function unsignedMediumInteger($column, $autoIncrement = false) - { - return $this->mediumInteger($column, $autoIncrement, true); - } - - /** - * Create a new unsigned big integer (8-byte) column on the table. - * - * @param string $column - * @param bool $autoIncrement - * @return \Illuminate\Database\Schema\ColumnDefinition - */ - public function unsignedBigInteger($column, $autoIncrement = false) - { - return $this->bigInteger($column, $autoIncrement, true); - } - - /** - * Create a new float column on the table. - * - * @param string $column - * @param int $total - * @param int $places - * @return \Illuminate\Database\Schema\ColumnDefinition - */ - public function float($column, $total = 8, $places = 2) - { - return $this->addColumn('float', $column, compact('total', 'places')); - } - - /** - * Create a new double column on the table. - * - * @param string $column - * @param int|null $total - * @param int|null $places - * @return \Illuminate\Database\Schema\ColumnDefinition - */ - public function double($column, $total = null, $places = null) - { - return $this->addColumn('double', $column, compact('total', 'places')); - } - - /** - * Create a new decimal column on the table. - * - * @param string $column - * @param int $total - * @param int $places - * @return \Illuminate\Database\Schema\ColumnDefinition - */ - public function decimal($column, $total = 8, $places = 2) - { - return $this->addColumn('decimal', $column, compact('total', 'places')); - } - - /** - * Create a new unsigned decimal column on the table. - * - * @param string $column - * @param int $total - * @param int $places - * @return \Illuminate\Database\Schema\ColumnDefinition - */ - public function unsignedDecimal($column, $total = 8, $places = 2) - { - return $this->addColumn('decimal', $column, [ - 'total' => $total, 'places' => $places, 'unsigned' => true, - ]); - } - - /** - * Create a new boolean column on the table. - * - * @param string $column - * @return \Illuminate\Database\Schema\ColumnDefinition - */ - public function boolean($column) - { - return $this->addColumn('boolean', $column); - } - - /** - * Create a new enum column on the table. - * - * @param string $column - * @param array $allowed - * @return \Illuminate\Database\Schema\ColumnDefinition - */ - public function enum($column, array $allowed) - { - return $this->addColumn('enum', $column, compact('allowed')); - } - - /** - * Create a new set column on the table. - * - * @param string $column - * @param array $allowed - * @return \Illuminate\Database\Schema\ColumnDefinition - */ - public function set($column, array $allowed) - { - return $this->addColumn('set', $column, compact('allowed')); - } - - /** - * Create a new json column on the table. - * - * @param string $column - * @return \Illuminate\Database\Schema\ColumnDefinition - */ - public function json($column) - { - return $this->addColumn('json', $column); - } - - /** - * Create a new jsonb column on the table. - * - * @param string $column - * @return \Illuminate\Database\Schema\ColumnDefinition - */ - public function jsonb($column) - { - return $this->addColumn('jsonb', $column); - } - - /** - * Create a new date column on the table. - * - * @param string $column - * @return \Illuminate\Database\Schema\ColumnDefinition - */ - public function date($column) - { - return $this->addColumn('date', $column); - } - - /** - * Create a new date-time column on the table. - * - * @param string $column - * @param int $precision - * @return \Illuminate\Database\Schema\ColumnDefinition - */ - public function dateTime($column, $precision = 0) - { - return $this->addColumn('dateTime', $column, compact('precision')); - } - - /** - * Create a new date-time column (with time zone) on the table. - * - * @param string $column - * @param int $precision - * @return \Illuminate\Database\Schema\ColumnDefinition - */ - public function dateTimeTz($column, $precision = 0) - { - return $this->addColumn('dateTimeTz', $column, compact('precision')); - } - - /** - * Create a new time column on the table. - * - * @param string $column - * @param int $precision - * @return \Illuminate\Database\Schema\ColumnDefinition - */ - public function time($column, $precision = 0) - { - return $this->addColumn('time', $column, compact('precision')); - } - - /** - * Create a new time column (with time zone) on the table. - * - * @param string $column - * @param int $precision - * @return \Illuminate\Database\Schema\ColumnDefinition - */ - public function timeTz($column, $precision = 0) - { - return $this->addColumn('timeTz', $column, compact('precision')); - } - - /** - * Create a new timestamp column on the table. - * - * @param string $column - * @param int $precision - * @return \Illuminate\Database\Schema\ColumnDefinition - */ - public function timestamp($column, $precision = 0) - { - return $this->addColumn('timestamp', $column, compact('precision')); - } - - /** - * Create a new timestamp (with time zone) column on the table. - * - * @param string $column - * @param int $precision - * @return \Illuminate\Database\Schema\ColumnDefinition - */ - public function timestampTz($column, $precision = 0) - { - return $this->addColumn('timestampTz', $column, compact('precision')); - } - - /** - * Add nullable creation and update timestamps to the table. - * - * @param int $precision - * @return void - */ - public function timestamps($precision = 0) - { - $this->timestamp('created_at', $precision)->nullable(); - - $this->timestamp('updated_at', $precision)->nullable(); - } - - /** - * Add nullable creation and update timestamps to the table. - * - * Alias for self::timestamps(). - * - * @param int $precision - * @return void - */ - public function nullableTimestamps($precision = 0) - { - $this->timestamps($precision); - } - - /** - * Add creation and update timestampTz columns to the table. - * - * @param int $precision - * @return void - */ - public function timestampsTz($precision = 0) - { - $this->timestampTz('created_at', $precision)->nullable(); - - $this->timestampTz('updated_at', $precision)->nullable(); - } - - /** - * Add a "deleted at" timestamp for the table. - * - * @param string $column - * @param int $precision - * @return \Illuminate\Database\Schema\ColumnDefinition - */ - public function softDeletes($column = 'deleted_at', $precision = 0) - { - return $this->timestamp($column, $precision)->nullable(); - } - - /** - * Add a "deleted at" timestampTz for the table. - * - * @param string $column - * @param int $precision - * @return \Illuminate\Database\Schema\ColumnDefinition - */ - public function softDeletesTz($column = 'deleted_at', $precision = 0) - { - return $this->timestampTz($column, $precision)->nullable(); - } - - /** - * Create a new year column on the table. - * - * @param string $column - * @return \Illuminate\Database\Schema\ColumnDefinition - */ - public function year($column) - { - return $this->addColumn('year', $column); - } - - /** - * Create a new binary column on the table. - * - * @param string $column - * @return \Illuminate\Database\Schema\ColumnDefinition - */ - public function binary($column) - { - return $this->addColumn('binary', $column); - } - - /** - * Create a new uuid column on the table. - * - * @param string $column - * @return \Illuminate\Database\Schema\ColumnDefinition - */ - public function uuid($column) - { - return $this->addColumn('uuid', $column); - } - - /** - * Create a new IP address column on the table. - * - * @param string $column - * @return \Illuminate\Database\Schema\ColumnDefinition - */ - public function ipAddress($column) - { - return $this->addColumn('ipAddress', $column); - } - - /** - * Create a new MAC address column on the table. - * - * @param string $column - * @return \Illuminate\Database\Schema\ColumnDefinition - */ - public function macAddress($column) - { - return $this->addColumn('macAddress', $column); - } - - /** - * Create a new geometry column on the table. - * - * @param string $column - * @return \Illuminate\Database\Schema\ColumnDefinition - */ - public function geometry($column) - { - return $this->addColumn('geometry', $column); - } - - /** - * Create a new point column on the table. - * - * @param string $column - * @param int|null $srid - * @return \Illuminate\Database\Schema\ColumnDefinition - */ - public function point($column, $srid = null) - { - return $this->addColumn('point', $column, compact('srid')); - } - - /** - * Create a new linestring column on the table. - * - * @param string $column - * @return \Illuminate\Database\Schema\ColumnDefinition - */ - public function lineString($column) - { - return $this->addColumn('linestring', $column); - } - - /** - * Create a new polygon column on the table. - * - * @param string $column - * @return \Illuminate\Database\Schema\ColumnDefinition - */ - public function polygon($column) - { - return $this->addColumn('polygon', $column); - } - - /** - * Create a new geometrycollection column on the table. - * - * @param string $column - * @return \Illuminate\Database\Schema\ColumnDefinition - */ - public function geometryCollection($column) - { - return $this->addColumn('geometrycollection', $column); - } - - /** - * Create a new multipoint column on the table. - * - * @param string $column - * @return \Illuminate\Database\Schema\ColumnDefinition - */ - public function multiPoint($column) - { - return $this->addColumn('multipoint', $column); - } - - /** - * Create a new multilinestring column on the table. - * - * @param string $column - * @return \Illuminate\Database\Schema\ColumnDefinition - */ - public function multiLineString($column) - { - return $this->addColumn('multilinestring', $column); - } - - /** - * Create a new multipolygon column on the table. - * - * @param string $column - * @return \Illuminate\Database\Schema\ColumnDefinition - */ - public function multiPolygon($column) - { - return $this->addColumn('multipolygon', $column); - } - - /** - * Create a new generated, computed column on the table. - * - * @param string $column - * @param string $expression - * @return \Illuminate\Database\Schema\ColumnDefinition - */ - public function computed($column, $expression) - { - return $this->addColumn('computed', $column, compact('expression')); - } - - /** - * Add the proper columns for a polymorphic table. - * - * @param string $name - * @param string|null $indexName - * @return void - */ - public function morphs($name, $indexName = null) - { - $this->string("{$name}_type"); - - $this->unsignedBigInteger("{$name}_id"); - - $this->index(["{$name}_type", "{$name}_id"], $indexName); - } - - /** - * Add nullable columns for a polymorphic table. - * - * @param string $name - * @param string|null $indexName - * @return void - */ - public function nullableMorphs($name, $indexName = null) - { - $this->string("{$name}_type")->nullable(); - - $this->unsignedBigInteger("{$name}_id")->nullable(); - - $this->index(["{$name}_type", "{$name}_id"], $indexName); - } - - /** - * Add the proper columns for a polymorphic table using UUIDs. - * - * @param string $name - * @param string|null $indexName - * @return void - */ - public function uuidMorphs($name, $indexName = null) - { - $this->string("{$name}_type"); - - $this->uuid("{$name}_id"); - - $this->index(["{$name}_type", "{$name}_id"], $indexName); - } - - /** - * Add nullable columns for a polymorphic table using UUIDs. - * - * @param string $name - * @param string|null $indexName - * @return void - */ - public function nullableUuidMorphs($name, $indexName = null) - { - $this->string("{$name}_type")->nullable(); - - $this->uuid("{$name}_id")->nullable(); - - $this->index(["{$name}_type", "{$name}_id"], $indexName); - } - - /** - * Adds the `remember_token` column to the table. - * - * @return \Illuminate\Database\Schema\ColumnDefinition - */ - public function rememberToken() - { - return $this->string('remember_token', 100)->nullable(); - } - - /** - * Add a new index command to the blueprint. - * - * @param string $type - * @param string|array $columns - * @param string $index - * @param string|null $algorithm - * @return \Illuminate\Support\Fluent - */ - protected function indexCommand($type, $columns, $index, $algorithm = null) - { - $columns = (array) $columns; - - // If no name was specified for this index, we will create one using a basic - // convention of the table name, followed by the columns, followed by an - // index type, such as primary or index, which makes the index unique. - $index = $index ?: $this->createIndexName($type, $columns); - - return $this->addCommand( - $type, compact('index', 'columns', 'algorithm') - ); - } - - /** - * Create a new drop index command on the blueprint. - * - * @param string $command - * @param string $type - * @param string|array $index - * @return \Illuminate\Support\Fluent - */ - protected function dropIndexCommand($command, $type, $index) - { - $columns = []; - - // If the given "index" is actually an array of columns, the developer means - // to drop an index merely by specifying the columns involved without the - // conventional name, so we will build the index name from the columns. - if (is_array($index)) { - $index = $this->createIndexName($type, $columns = $index); - } - - return $this->indexCommand($command, $columns, $index); - } - - /** - * Create a default index name for the table. - * - * @param string $type - * @param array $columns - * @return string - */ - protected function createIndexName($type, array $columns) - { - $index = strtolower($this->prefix.$this->table.'_'.implode('_', $columns).'_'.$type); - - return str_replace(['-', '.'], '_', $index); - } - - /** - * Add a new column to the blueprint. - * - * @param string $type - * @param string $name - * @param array $parameters - * @return \Illuminate\Database\Schema\ColumnDefinition - */ - public function addColumn($type, $name, array $parameters = []) - { - $this->columns[] = $column = new ColumnDefinition( - array_merge(compact('type', 'name'), $parameters) - ); - - return $column; - } - - /** - * Remove a column from the schema blueprint. - * - * @param string $name - * @return $this - */ - public function removeColumn($name) - { - $this->columns = array_values(array_filter($this->columns, function ($c) use ($name) { - return $c['name'] != $name; - })); - - return $this; - } - - /** - * Add a new command to the blueprint. - * - * @param string $name - * @param array $parameters - * @return \Illuminate\Support\Fluent - */ - protected function addCommand($name, array $parameters = []) - { - $this->commands[] = $command = $this->createCommand($name, $parameters); - - return $command; - } - - /** - * Create a new Fluent command. - * - * @param string $name - * @param array $parameters - * @return \Illuminate\Support\Fluent - */ - protected function createCommand($name, array $parameters = []) - { - return new Fluent(array_merge(compact('name'), $parameters)); - } - - /** - * Get the table the blueprint describes. - * - * @return string - */ - public function getTable() - { - return $this->table; - } - - /** - * Get the columns on the blueprint. - * - * @return \Illuminate\Database\Schema\ColumnDefinition[] - */ - public function getColumns() - { - return $this->columns; - } - - /** - * Get the commands on the blueprint. - * - * @return \Illuminate\Support\Fluent[] - */ - public function getCommands() - { - return $this->commands; - } - - /** - * Get the columns on the blueprint that should be added. - * - * @return \Illuminate\Database\Schema\ColumnDefinition[] - */ - public function getAddedColumns() - { - return array_filter($this->columns, function ($column) { - return ! $column->change; - }); - } - - /** - * Get the columns on the blueprint that should be changed. - * - * @return \Illuminate\Database\Schema\ColumnDefinition[] - */ - public function getChangedColumns() - { - return array_filter($this->columns, function ($column) { - return (bool) $column->change; - }); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Schema/Builder.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Schema/Builder.php deleted file mode 100644 index 8cdf0cf..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Schema/Builder.php +++ /dev/null @@ -1,362 +0,0 @@ -connection = $connection; - $this->grammar = $connection->getSchemaGrammar(); - } - - /** - * Set the default string length for migrations. - * - * @param int $length - * @return void - */ - public static function defaultStringLength($length) - { - static::$defaultStringLength = $length; - } - - /** - * Determine if the given table exists. - * - * @param string $table - * @return bool - */ - public function hasTable($table) - { - $table = $this->connection->getTablePrefix().$table; - - return count($this->connection->selectFromWriteConnection( - $this->grammar->compileTableExists(), [$table] - )) > 0; - } - - /** - * Determine if the given table has a given column. - * - * @param string $table - * @param string $column - * @return bool - */ - public function hasColumn($table, $column) - { - return in_array( - strtolower($column), array_map('strtolower', $this->getColumnListing($table)) - ); - } - - /** - * Determine if the given table has given columns. - * - * @param string $table - * @param array $columns - * @return bool - */ - public function hasColumns($table, array $columns) - { - $tableColumns = array_map('strtolower', $this->getColumnListing($table)); - - foreach ($columns as $column) { - if (! in_array(strtolower($column), $tableColumns)) { - return false; - } - } - - return true; - } - - /** - * Get the data type for the given column name. - * - * @param string $table - * @param string $column - * @return string - */ - public function getColumnType($table, $column) - { - $table = $this->connection->getTablePrefix().$table; - - return $this->connection->getDoctrineColumn($table, $column)->getType()->getName(); - } - - /** - * Get the column listing for a given table. - * - * @param string $table - * @return array - */ - public function getColumnListing($table) - { - $results = $this->connection->selectFromWriteConnection($this->grammar->compileColumnListing( - $this->connection->getTablePrefix().$table - )); - - return $this->connection->getPostProcessor()->processColumnListing($results); - } - - /** - * Modify a table on the schema. - * - * @param string $table - * @param \Closure $callback - * @return void - */ - public function table($table, Closure $callback) - { - $this->build($this->createBlueprint($table, $callback)); - } - - /** - * Create a new table on the schema. - * - * @param string $table - * @param \Closure $callback - * @return void - */ - public function create($table, Closure $callback) - { - $this->build(tap($this->createBlueprint($table), function ($blueprint) use ($callback) { - $blueprint->create(); - - $callback($blueprint); - })); - } - - /** - * Drop a table from the schema. - * - * @param string $table - * @return void - */ - public function drop($table) - { - $this->build(tap($this->createBlueprint($table), function ($blueprint) { - $blueprint->drop(); - })); - } - - /** - * Drop a table from the schema if it exists. - * - * @param string $table - * @return void - */ - public function dropIfExists($table) - { - $this->build(tap($this->createBlueprint($table), function ($blueprint) { - $blueprint->dropIfExists(); - })); - } - - /** - * Drop all tables from the database. - * - * @return void - * - * @throws \LogicException - */ - public function dropAllTables() - { - throw new LogicException('This database driver does not support dropping all tables.'); - } - - /** - * Drop all views from the database. - * - * @return void - * - * @throws \LogicException - */ - public function dropAllViews() - { - throw new LogicException('This database driver does not support dropping all views.'); - } - - /** - * Drop all types from the database. - * - * @return void - * - * @throws \LogicException - */ - public function dropAllTypes() - { - throw new LogicException('This database driver does not support dropping all types.'); - } - - /** - * Rename a table on the schema. - * - * @param string $from - * @param string $to - * @return void - */ - public function rename($from, $to) - { - $this->build(tap($this->createBlueprint($from), function ($blueprint) use ($to) { - $blueprint->rename($to); - })); - } - - /** - * Enable foreign key constraints. - * - * @return bool - */ - public function enableForeignKeyConstraints() - { - return $this->connection->statement( - $this->grammar->compileEnableForeignKeyConstraints() - ); - } - - /** - * Disable foreign key constraints. - * - * @return bool - */ - public function disableForeignKeyConstraints() - { - return $this->connection->statement( - $this->grammar->compileDisableForeignKeyConstraints() - ); - } - - /** - * Execute the blueprint to build / modify the table. - * - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @return void - */ - protected function build(Blueprint $blueprint) - { - $blueprint->build($this->connection, $this->grammar); - } - - /** - * Create a new command set with a Closure. - * - * @param string $table - * @param \Closure|null $callback - * @return \Illuminate\Database\Schema\Blueprint - */ - protected function createBlueprint($table, Closure $callback = null) - { - $prefix = $this->connection->getConfig('prefix_indexes') - ? $this->connection->getConfig('prefix') - : ''; - - if (isset($this->resolver)) { - return call_user_func($this->resolver, $table, $callback, $prefix); - } - - return new Blueprint($table, $callback, $prefix); - } - - /** - * Register a custom Doctrine mapping type. - * - * @param string $class - * @param string $name - * @param string $type - * @return void - * - * @throws \Doctrine\DBAL\DBALException - */ - public function registerCustomDoctrineType($class, $name, $type) - { - if (! $this->connection->isDoctrineAvailable()) { - throw new RuntimeException( - 'Registering a custom Doctrine type requires Doctrine DBAL (doctrine/dbal).' - ); - } - - if (! Type::hasType($name)) { - Type::addType($name, $class); - - $this->connection - ->getDoctrineSchemaManager() - ->getDatabasePlatform() - ->registerDoctrineTypeMapping($type, $name); - } - } - - /** - * Get the database connection instance. - * - * @return \Illuminate\Database\Connection - */ - public function getConnection() - { - return $this->connection; - } - - /** - * Set the database connection instance. - * - * @param \Illuminate\Database\Connection $connection - * @return $this - */ - public function setConnection(Connection $connection) - { - $this->connection = $connection; - - return $this; - } - - /** - * Set the Schema Blueprint resolver callback. - * - * @param \Closure $resolver - * @return void - */ - public function blueprintResolver(Closure $resolver) - { - $this->resolver = $resolver; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Schema/ColumnDefinition.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Schema/ColumnDefinition.php deleted file mode 100644 index 00e1dad..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Schema/ColumnDefinition.php +++ /dev/null @@ -1,33 +0,0 @@ -isDoctrineAvailable()) { - throw new RuntimeException(sprintf( - 'Changing columns for table "%s" requires Doctrine DBAL; install "doctrine/dbal".', - $blueprint->getTable() - )); - } - - $tableDiff = static::getChangedDiff( - $grammar, $blueprint, $schema = $connection->getDoctrineSchemaManager() - ); - - if ($tableDiff !== false) { - return (array) $schema->getDatabasePlatform()->getAlterTableSQL($tableDiff); - } - - return []; - } - - /** - * Get the Doctrine table difference for the given changes. - * - * @param \Illuminate\Database\Schema\Grammars\Grammar $grammar - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @param \Doctrine\DBAL\Schema\AbstractSchemaManager $schema - * @return \Doctrine\DBAL\Schema\TableDiff|bool - */ - protected static function getChangedDiff($grammar, Blueprint $blueprint, SchemaManager $schema) - { - $current = $schema->listTableDetails($grammar->getTablePrefix().$blueprint->getTable()); - - return (new Comparator)->diffTable( - $current, static::getTableWithColumnChanges($blueprint, $current) - ); - } - - /** - * Get a copy of the given Doctrine table after making the column changes. - * - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @param \Doctrine\DBAL\Schema\Table $table - * @return \Doctrine\DBAL\Schema\Table - */ - protected static function getTableWithColumnChanges(Blueprint $blueprint, Table $table) - { - $table = clone $table; - - foreach ($blueprint->getChangedColumns() as $fluent) { - $column = static::getDoctrineColumn($table, $fluent); - - // Here we will spin through each fluent column definition and map it to the proper - // Doctrine column definitions - which is necessary because Laravel and Doctrine - // use some different terminology for various column attributes on the tables. - foreach ($fluent->getAttributes() as $key => $value) { - if (! is_null($option = static::mapFluentOptionToDoctrine($key))) { - if (method_exists($column, $method = 'set'.ucfirst($option))) { - $column->{$method}(static::mapFluentValueToDoctrine($option, $value)); - continue; - } - - $column->setCustomSchemaOption($option, static::mapFluentValueToDoctrine($option, $value)); - } - } - } - - return $table; - } - - /** - * Get the Doctrine column instance for a column change. - * - * @param \Doctrine\DBAL\Schema\Table $table - * @param \Illuminate\Support\Fluent $fluent - * @return \Doctrine\DBAL\Schema\Column - */ - protected static function getDoctrineColumn(Table $table, Fluent $fluent) - { - return $table->changeColumn( - $fluent['name'], static::getDoctrineColumnChangeOptions($fluent) - )->getColumn($fluent['name']); - } - - /** - * Get the Doctrine column change options. - * - * @param \Illuminate\Support\Fluent $fluent - * @return array - */ - protected static function getDoctrineColumnChangeOptions(Fluent $fluent) - { - $options = ['type' => static::getDoctrineColumnType($fluent['type'])]; - - if (in_array($fluent['type'], ['text', 'mediumText', 'longText'])) { - $options['length'] = static::calculateDoctrineTextLength($fluent['type']); - } - - if (in_array($fluent['type'], ['json', 'binary'])) { - $options['customSchemaOptions'] = [ - 'collation' => '', - ]; - } - - return $options; - } - - /** - * Get the doctrine column type. - * - * @param string $type - * @return \Doctrine\DBAL\Types\Type - */ - protected static function getDoctrineColumnType($type) - { - $type = strtolower($type); - - switch ($type) { - case 'biginteger': - $type = 'bigint'; - break; - case 'smallinteger': - $type = 'smallint'; - break; - case 'mediumtext': - case 'longtext': - $type = 'text'; - break; - case 'binary': - $type = 'blob'; - break; - } - - return Type::getType($type); - } - - /** - * Calculate the proper column length to force the Doctrine text type. - * - * @param string $type - * @return int - */ - protected static function calculateDoctrineTextLength($type) - { - switch ($type) { - case 'mediumText': - return 65535 + 1; - case 'longText': - return 16777215 + 1; - default: - return 255 + 1; - } - } - - /** - * Get the matching Doctrine option for a given Fluent attribute name. - * - * @param string $attribute - * @return string|null - */ - protected static function mapFluentOptionToDoctrine($attribute) - { - switch ($attribute) { - case 'type': - case 'name': - return; - case 'nullable': - return 'notnull'; - case 'total': - return 'precision'; - case 'places': - return 'scale'; - default: - return $attribute; - } - } - - /** - * Get the matching Doctrine value for a given Fluent attribute. - * - * @param string $option - * @param mixed $value - * @return mixed - */ - protected static function mapFluentValueToDoctrine($option, $value) - { - return $option === 'notnull' ? ! $value : $value; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Schema/Grammars/Grammar.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Schema/Grammars/Grammar.php deleted file mode 100644 index 0f81731..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Schema/Grammars/Grammar.php +++ /dev/null @@ -1,286 +0,0 @@ -wrapTable($blueprint), - $this->wrap($command->index) - ); - - // Once we have the initial portion of the SQL statement we will add on the - // key name, table name, and referenced columns. These will complete the - // main portion of the SQL statement and this SQL will almost be done. - $sql .= sprintf('foreign key (%s) references %s (%s)', - $this->columnize($command->columns), - $this->wrapTable($command->on), - $this->columnize((array) $command->references) - ); - - // Once we have the basic foreign key creation statement constructed we can - // build out the syntax for what should happen on an update or delete of - // the affected columns, which will get something like "cascade", etc. - if (! is_null($command->onDelete)) { - $sql .= " on delete {$command->onDelete}"; - } - - if (! is_null($command->onUpdate)) { - $sql .= " on update {$command->onUpdate}"; - } - - return $sql; - } - - /** - * Compile the blueprint's column definitions. - * - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @return array - */ - protected function getColumns(Blueprint $blueprint) - { - $columns = []; - - foreach ($blueprint->getAddedColumns() as $column) { - // Each of the column types have their own compiler functions which are tasked - // with turning the column definition into its SQL format for this platform - // used by the connection. The column's modifiers are compiled and added. - $sql = $this->wrap($column).' '.$this->getType($column); - - $columns[] = $this->addModifiers($sql, $blueprint, $column); - } - - return $columns; - } - - /** - * Get the SQL for the column data type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function getType(Fluent $column) - { - return $this->{'type'.ucfirst($column->type)}($column); - } - - /** - * Create the column definition for a generated, computed column type. - * - * @param \Illuminate\Support\Fluent $column - * @return void - * - * @throws \RuntimeException - */ - protected function typeComputed(Fluent $column) - { - throw new RuntimeException('This database driver does not support the computed type.'); - } - - /** - * Add the column modifiers to the definition. - * - * @param string $sql - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function addModifiers($sql, Blueprint $blueprint, Fluent $column) - { - foreach ($this->modifiers as $modifier) { - if (method_exists($this, $method = "modify{$modifier}")) { - $sql .= $this->{$method}($blueprint, $column); - } - } - - return $sql; - } - - /** - * Get the primary key command if it exists on the blueprint. - * - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @param string $name - * @return \Illuminate\Support\Fluent|null - */ - protected function getCommandByName(Blueprint $blueprint, $name) - { - $commands = $this->getCommandsByName($blueprint, $name); - - if (count($commands) > 0) { - return reset($commands); - } - } - - /** - * Get all of the commands with a given name. - * - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @param string $name - * @return array - */ - protected function getCommandsByName(Blueprint $blueprint, $name) - { - return array_filter($blueprint->getCommands(), function ($value) use ($name) { - return $value->name == $name; - }); - } - - /** - * Add a prefix to an array of values. - * - * @param string $prefix - * @param array $values - * @return array - */ - public function prefixArray($prefix, array $values) - { - return array_map(function ($value) use ($prefix) { - return $prefix.' '.$value; - }, $values); - } - - /** - * Wrap a table in keyword identifiers. - * - * @param mixed $table - * @return string - */ - public function wrapTable($table) - { - return parent::wrapTable( - $table instanceof Blueprint ? $table->getTable() : $table - ); - } - - /** - * Wrap a value in keyword identifiers. - * - * @param \Illuminate\Database\Query\Expression|string $value - * @param bool $prefixAlias - * @return string - */ - public function wrap($value, $prefixAlias = false) - { - return parent::wrap( - $value instanceof Fluent ? $value->name : $value, $prefixAlias - ); - } - - /** - * Format a value so that it can be used in "default" clauses. - * - * @param mixed $value - * @return string - */ - protected function getDefaultValue($value) - { - if ($value instanceof Expression) { - return $value; - } - - return is_bool($value) - ? "'".(int) $value."'" - : "'".(string) $value."'"; - } - - /** - * Create an empty Doctrine DBAL TableDiff from the Blueprint. - * - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @param \Doctrine\DBAL\Schema\AbstractSchemaManager $schema - * @return \Doctrine\DBAL\Schema\TableDiff - */ - public function getDoctrineTableDiff(Blueprint $blueprint, SchemaManager $schema) - { - $table = $this->getTablePrefix().$blueprint->getTable(); - - return tap(new TableDiff($table), function ($tableDiff) use ($schema, $table) { - $tableDiff->fromTable = $schema->listTableDetails($table); - }); - } - - /** - * Get the fluent commands for the grammar. - * - * @return array - */ - public function getFluentCommands() - { - return $this->fluentCommands; - } - - /** - * Check if this Grammar supports schema changes wrapped in a transaction. - * - * @return bool - */ - public function supportsSchemaTransactions() - { - return $this->transactions; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Schema/Grammars/MySqlGrammar.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Schema/Grammars/MySqlGrammar.php deleted file mode 100644 index dc933c9..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Schema/Grammars/MySqlGrammar.php +++ /dev/null @@ -1,1045 +0,0 @@ -compileCreateTable( - $blueprint, $command, $connection - ); - - // Once we have the primary SQL, we can add the encoding option to the SQL for - // the table. Then, we can check if a storage engine has been supplied for - // the table. If so, we will add the engine declaration to the SQL query. - $sql = $this->compileCreateEncoding( - $sql, $connection, $blueprint - ); - - // Finally, we will append the engine configuration onto this SQL statement as - // the final thing we do before returning this finished SQL. Once this gets - // added the query will be ready to execute against the real connections. - return $this->compileCreateEngine( - $sql, $connection, $blueprint - ); - } - - /** - * Create the main create table clause. - * - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @param \Illuminate\Support\Fluent $command - * @param \Illuminate\Database\Connection $connection - * @return string - */ - protected function compileCreateTable($blueprint, $command, $connection) - { - return sprintf('%s table %s (%s)', - $blueprint->temporary ? 'create temporary' : 'create', - $this->wrapTable($blueprint), - implode(', ', $this->getColumns($blueprint)) - ); - } - - /** - * Append the character set specifications to a command. - * - * @param string $sql - * @param \Illuminate\Database\Connection $connection - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @return string - */ - protected function compileCreateEncoding($sql, Connection $connection, Blueprint $blueprint) - { - // First we will set the character set if one has been set on either the create - // blueprint itself or on the root configuration for the connection that the - // table is being created on. We will add these to the create table query. - if (isset($blueprint->charset)) { - $sql .= ' default character set '.$blueprint->charset; - } elseif (! is_null($charset = $connection->getConfig('charset'))) { - $sql .= ' default character set '.$charset; - } - - // Next we will add the collation to the create table statement if one has been - // added to either this create table blueprint or the configuration for this - // connection that the query is targeting. We'll add it to this SQL query. - if (isset($blueprint->collation)) { - $sql .= " collate '{$blueprint->collation}'"; - } elseif (! is_null($collation = $connection->getConfig('collation'))) { - $sql .= " collate '{$collation}'"; - } - - return $sql; - } - - /** - * Append the engine specifications to a command. - * - * @param string $sql - * @param \Illuminate\Database\Connection $connection - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @return string - */ - protected function compileCreateEngine($sql, Connection $connection, Blueprint $blueprint) - { - if (isset($blueprint->engine)) { - return $sql.' engine = '.$blueprint->engine; - } elseif (! is_null($engine = $connection->getConfig('engine'))) { - return $sql.' engine = '.$engine; - } - - return $sql; - } - - /** - * Compile an add column command. - * - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @param \Illuminate\Support\Fluent $command - * @return string - */ - public function compileAdd(Blueprint $blueprint, Fluent $command) - { - $columns = $this->prefixArray('add', $this->getColumns($blueprint)); - - return 'alter table '.$this->wrapTable($blueprint).' '.implode(', ', $columns); - } - - /** - * Compile a primary key command. - * - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @param \Illuminate\Support\Fluent $command - * @return string - */ - public function compilePrimary(Blueprint $blueprint, Fluent $command) - { - $command->name(null); - - return $this->compileKey($blueprint, $command, 'primary key'); - } - - /** - * Compile a unique key command. - * - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @param \Illuminate\Support\Fluent $command - * @return string - */ - public function compileUnique(Blueprint $blueprint, Fluent $command) - { - return $this->compileKey($blueprint, $command, 'unique'); - } - - /** - * Compile a plain index key command. - * - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @param \Illuminate\Support\Fluent $command - * @return string - */ - public function compileIndex(Blueprint $blueprint, Fluent $command) - { - return $this->compileKey($blueprint, $command, 'index'); - } - - /** - * Compile a spatial index key command. - * - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @param \Illuminate\Support\Fluent $command - * @return string - */ - public function compileSpatialIndex(Blueprint $blueprint, Fluent $command) - { - return $this->compileKey($blueprint, $command, 'spatial index'); - } - - /** - * Compile an index creation command. - * - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @param \Illuminate\Support\Fluent $command - * @param string $type - * @return string - */ - protected function compileKey(Blueprint $blueprint, Fluent $command, $type) - { - return sprintf('alter table %s add %s %s%s(%s)', - $this->wrapTable($blueprint), - $type, - $this->wrap($command->index), - $command->algorithm ? ' using '.$command->algorithm : '', - $this->columnize($command->columns) - ); - } - - /** - * Compile a drop table command. - * - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @param \Illuminate\Support\Fluent $command - * @return string - */ - public function compileDrop(Blueprint $blueprint, Fluent $command) - { - return 'drop table '.$this->wrapTable($blueprint); - } - - /** - * Compile a drop table (if exists) command. - * - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @param \Illuminate\Support\Fluent $command - * @return string - */ - public function compileDropIfExists(Blueprint $blueprint, Fluent $command) - { - return 'drop table if exists '.$this->wrapTable($blueprint); - } - - /** - * Compile a drop column command. - * - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @param \Illuminate\Support\Fluent $command - * @return string - */ - public function compileDropColumn(Blueprint $blueprint, Fluent $command) - { - $columns = $this->prefixArray('drop', $this->wrapArray($command->columns)); - - return 'alter table '.$this->wrapTable($blueprint).' '.implode(', ', $columns); - } - - /** - * Compile a drop primary key command. - * - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @param \Illuminate\Support\Fluent $command - * @return string - */ - public function compileDropPrimary(Blueprint $blueprint, Fluent $command) - { - return 'alter table '.$this->wrapTable($blueprint).' drop primary key'; - } - - /** - * Compile a drop unique key command. - * - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @param \Illuminate\Support\Fluent $command - * @return string - */ - public function compileDropUnique(Blueprint $blueprint, Fluent $command) - { - $index = $this->wrap($command->index); - - return "alter table {$this->wrapTable($blueprint)} drop index {$index}"; - } - - /** - * Compile a drop index command. - * - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @param \Illuminate\Support\Fluent $command - * @return string - */ - public function compileDropIndex(Blueprint $blueprint, Fluent $command) - { - $index = $this->wrap($command->index); - - return "alter table {$this->wrapTable($blueprint)} drop index {$index}"; - } - - /** - * Compile a drop spatial index command. - * - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @param \Illuminate\Support\Fluent $command - * @return string - */ - public function compileDropSpatialIndex(Blueprint $blueprint, Fluent $command) - { - return $this->compileDropIndex($blueprint, $command); - } - - /** - * Compile a drop foreign key command. - * - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @param \Illuminate\Support\Fluent $command - * @return string - */ - public function compileDropForeign(Blueprint $blueprint, Fluent $command) - { - $index = $this->wrap($command->index); - - return "alter table {$this->wrapTable($blueprint)} drop foreign key {$index}"; - } - - /** - * Compile a rename table command. - * - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @param \Illuminate\Support\Fluent $command - * @return string - */ - public function compileRename(Blueprint $blueprint, Fluent $command) - { - $from = $this->wrapTable($blueprint); - - return "rename table {$from} to ".$this->wrapTable($command->to); - } - - /** - * Compile a rename index command. - * - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @param \Illuminate\Support\Fluent $command - * @return string - */ - public function compileRenameIndex(Blueprint $blueprint, Fluent $command) - { - return sprintf('alter table %s rename index %s to %s', - $this->wrapTable($blueprint), - $this->wrap($command->from), - $this->wrap($command->to) - ); - } - - /** - * Compile the SQL needed to drop all tables. - * - * @param array $tables - * @return string - */ - public function compileDropAllTables($tables) - { - return 'drop table '.implode(',', $this->wrapArray($tables)); - } - - /** - * Compile the SQL needed to drop all views. - * - * @param array $views - * @return string - */ - public function compileDropAllViews($views) - { - return 'drop view '.implode(',', $this->wrapArray($views)); - } - - /** - * Compile the SQL needed to retrieve all table names. - * - * @return string - */ - public function compileGetAllTables() - { - return 'SHOW FULL TABLES WHERE table_type = \'BASE TABLE\''; - } - - /** - * Compile the SQL needed to retrieve all view names. - * - * @return string - */ - public function compileGetAllViews() - { - return 'SHOW FULL TABLES WHERE table_type = \'VIEW\''; - } - - /** - * Compile the command to enable foreign key constraints. - * - * @return string - */ - public function compileEnableForeignKeyConstraints() - { - return 'SET FOREIGN_KEY_CHECKS=1;'; - } - - /** - * Compile the command to disable foreign key constraints. - * - * @return string - */ - public function compileDisableForeignKeyConstraints() - { - return 'SET FOREIGN_KEY_CHECKS=0;'; - } - - /** - * Create the column definition for a char type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeChar(Fluent $column) - { - return "char({$column->length})"; - } - - /** - * Create the column definition for a string type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeString(Fluent $column) - { - return "varchar({$column->length})"; - } - - /** - * Create the column definition for a text type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeText(Fluent $column) - { - return 'text'; - } - - /** - * Create the column definition for a medium text type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeMediumText(Fluent $column) - { - return 'mediumtext'; - } - - /** - * Create the column definition for a long text type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeLongText(Fluent $column) - { - return 'longtext'; - } - - /** - * Create the column definition for a big integer type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeBigInteger(Fluent $column) - { - return 'bigint'; - } - - /** - * Create the column definition for an integer type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeInteger(Fluent $column) - { - return 'int'; - } - - /** - * Create the column definition for a medium integer type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeMediumInteger(Fluent $column) - { - return 'mediumint'; - } - - /** - * Create the column definition for a tiny integer type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeTinyInteger(Fluent $column) - { - return 'tinyint'; - } - - /** - * Create the column definition for a small integer type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeSmallInteger(Fluent $column) - { - return 'smallint'; - } - - /** - * Create the column definition for a float type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeFloat(Fluent $column) - { - return $this->typeDouble($column); - } - - /** - * Create the column definition for a double type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeDouble(Fluent $column) - { - if ($column->total && $column->places) { - return "double({$column->total}, {$column->places})"; - } - - return 'double'; - } - - /** - * Create the column definition for a decimal type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeDecimal(Fluent $column) - { - return "decimal({$column->total}, {$column->places})"; - } - - /** - * Create the column definition for a boolean type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeBoolean(Fluent $column) - { - return 'tinyint(1)'; - } - - /** - * Create the column definition for an enumeration type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeEnum(Fluent $column) - { - return sprintf('enum(%s)', $this->quoteString($column->allowed)); - } - - /** - * Create the column definition for a set enumeration type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeSet(Fluent $column) - { - return sprintf('set(%s)', $this->quoteString($column->allowed)); - } - - /** - * Create the column definition for a json type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeJson(Fluent $column) - { - return 'json'; - } - - /** - * Create the column definition for a jsonb type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeJsonb(Fluent $column) - { - return 'json'; - } - - /** - * Create the column definition for a date type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeDate(Fluent $column) - { - return 'date'; - } - - /** - * Create the column definition for a date-time type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeDateTime(Fluent $column) - { - $columnType = $column->precision ? "datetime($column->precision)" : 'datetime'; - - return $column->useCurrent ? "$columnType default CURRENT_TIMESTAMP" : $columnType; - } - - /** - * Create the column definition for a date-time (with time zone) type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeDateTimeTz(Fluent $column) - { - return $this->typeDateTime($column); - } - - /** - * Create the column definition for a time type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeTime(Fluent $column) - { - return $column->precision ? "time($column->precision)" : 'time'; - } - - /** - * Create the column definition for a time (with time zone) type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeTimeTz(Fluent $column) - { - return $this->typeTime($column); - } - - /** - * Create the column definition for a timestamp type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeTimestamp(Fluent $column) - { - $columnType = $column->precision ? "timestamp($column->precision)" : 'timestamp'; - - return $column->useCurrent ? "$columnType default CURRENT_TIMESTAMP" : $columnType; - } - - /** - * Create the column definition for a timestamp (with time zone) type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeTimestampTz(Fluent $column) - { - return $this->typeTimestamp($column); - } - - /** - * Create the column definition for a year type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeYear(Fluent $column) - { - return 'year'; - } - - /** - * Create the column definition for a binary type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeBinary(Fluent $column) - { - return 'blob'; - } - - /** - * Create the column definition for a uuid type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeUuid(Fluent $column) - { - return 'char(36)'; - } - - /** - * Create the column definition for an IP address type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeIpAddress(Fluent $column) - { - return 'varchar(45)'; - } - - /** - * Create the column definition for a MAC address type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeMacAddress(Fluent $column) - { - return 'varchar(17)'; - } - - /** - * Create the column definition for a spatial Geometry type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - public function typeGeometry(Fluent $column) - { - return 'geometry'; - } - - /** - * Create the column definition for a spatial Point type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - public function typePoint(Fluent $column) - { - return 'point'; - } - - /** - * Create the column definition for a spatial LineString type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - public function typeLineString(Fluent $column) - { - return 'linestring'; - } - - /** - * Create the column definition for a spatial Polygon type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - public function typePolygon(Fluent $column) - { - return 'polygon'; - } - - /** - * Create the column definition for a spatial GeometryCollection type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - public function typeGeometryCollection(Fluent $column) - { - return 'geometrycollection'; - } - - /** - * Create the column definition for a spatial MultiPoint type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - public function typeMultiPoint(Fluent $column) - { - return 'multipoint'; - } - - /** - * Create the column definition for a spatial MultiLineString type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - public function typeMultiLineString(Fluent $column) - { - return 'multilinestring'; - } - - /** - * Create the column definition for a spatial MultiPolygon type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - public function typeMultiPolygon(Fluent $column) - { - return 'multipolygon'; - } - - /** - * Create the column definition for a generated, computed column type. - * - * @param \Illuminate\Support\Fluent $column - * @return void - * - * @throws \RuntimeException - */ - protected function typeComputed(Fluent $column) - { - throw new RuntimeException('This database driver requires a type, see the virtualAs / storedAs modifiers.'); - } - - /** - * Get the SQL for a generated virtual column modifier. - * - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @param \Illuminate\Support\Fluent $column - * @return string|null - */ - protected function modifyVirtualAs(Blueprint $blueprint, Fluent $column) - { - if (! is_null($column->virtualAs)) { - return " as ({$column->virtualAs})"; - } - } - - /** - * Get the SQL for a generated stored column modifier. - * - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @param \Illuminate\Support\Fluent $column - * @return string|null - */ - protected function modifyStoredAs(Blueprint $blueprint, Fluent $column) - { - if (! is_null($column->storedAs)) { - return " as ({$column->storedAs}) stored"; - } - } - - /** - * Get the SQL for an unsigned column modifier. - * - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @param \Illuminate\Support\Fluent $column - * @return string|null - */ - protected function modifyUnsigned(Blueprint $blueprint, Fluent $column) - { - if ($column->unsigned) { - return ' unsigned'; - } - } - - /** - * Get the SQL for a character set column modifier. - * - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @param \Illuminate\Support\Fluent $column - * @return string|null - */ - protected function modifyCharset(Blueprint $blueprint, Fluent $column) - { - if (! is_null($column->charset)) { - return ' character set '.$column->charset; - } - } - - /** - * Get the SQL for a collation column modifier. - * - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @param \Illuminate\Support\Fluent $column - * @return string|null - */ - protected function modifyCollate(Blueprint $blueprint, Fluent $column) - { - if (! is_null($column->collation)) { - return " collate '{$column->collation}'"; - } - } - - /** - * Get the SQL for a nullable column modifier. - * - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @param \Illuminate\Support\Fluent $column - * @return string|null - */ - protected function modifyNullable(Blueprint $blueprint, Fluent $column) - { - if (is_null($column->virtualAs) && is_null($column->storedAs)) { - return $column->nullable ? ' null' : ' not null'; - } - } - - /** - * Get the SQL for a default column modifier. - * - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @param \Illuminate\Support\Fluent $column - * @return string|null - */ - protected function modifyDefault(Blueprint $blueprint, Fluent $column) - { - if (! is_null($column->default)) { - return ' default '.$this->getDefaultValue($column->default); - } - } - - /** - * Get the SQL for an auto-increment column modifier. - * - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @param \Illuminate\Support\Fluent $column - * @return string|null - */ - protected function modifyIncrement(Blueprint $blueprint, Fluent $column) - { - if (in_array($column->type, $this->serials) && $column->autoIncrement) { - return ' auto_increment primary key'; - } - } - - /** - * Get the SQL for a "first" column modifier. - * - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @param \Illuminate\Support\Fluent $column - * @return string|null - */ - protected function modifyFirst(Blueprint $blueprint, Fluent $column) - { - if (! is_null($column->first)) { - return ' first'; - } - } - - /** - * Get the SQL for an "after" column modifier. - * - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @param \Illuminate\Support\Fluent $column - * @return string|null - */ - protected function modifyAfter(Blueprint $blueprint, Fluent $column) - { - if (! is_null($column->after)) { - return ' after '.$this->wrap($column->after); - } - } - - /** - * Get the SQL for a "comment" column modifier. - * - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @param \Illuminate\Support\Fluent $column - * @return string|null - */ - protected function modifyComment(Blueprint $blueprint, Fluent $column) - { - if (! is_null($column->comment)) { - return " comment '".addslashes($column->comment)."'"; - } - } - - /** - * Get the SQL for a SRID column modifier. - * - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @param \Illuminate\Support\Fluent $column - * @return string|null - */ - protected function modifySrid(Blueprint $blueprint, Fluent $column) - { - if (! is_null($column->srid) && is_int($column->srid) && $column->srid > 0) { - return ' srid '.$column->srid; - } - } - - /** - * Wrap a single string in keyword identifiers. - * - * @param string $value - * @return string - */ - protected function wrapValue($value) - { - if ($value !== '*') { - return '`'.str_replace('`', '``', $value).'`'; - } - - return $value; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Schema/Grammars/PostgresGrammar.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Schema/Grammars/PostgresGrammar.php deleted file mode 100644 index 6edf18e..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Schema/Grammars/PostgresGrammar.php +++ /dev/null @@ -1,935 +0,0 @@ -temporary ? 'create temporary' : 'create', - $this->wrapTable($blueprint), - implode(', ', $this->getColumns($blueprint)) - ); - } - - /** - * Compile a column addition command. - * - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @param \Illuminate\Support\Fluent $command - * @return string - */ - public function compileAdd(Blueprint $blueprint, Fluent $command) - { - return sprintf('alter table %s %s', - $this->wrapTable($blueprint), - implode(', ', $this->prefixArray('add column', $this->getColumns($blueprint))) - ); - } - - /** - * Compile a primary key command. - * - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @param \Illuminate\Support\Fluent $command - * @return string - */ - public function compilePrimary(Blueprint $blueprint, Fluent $command) - { - $columns = $this->columnize($command->columns); - - return 'alter table '.$this->wrapTable($blueprint)." add primary key ({$columns})"; - } - - /** - * Compile a unique key command. - * - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @param \Illuminate\Support\Fluent $command - * @return string - */ - public function compileUnique(Blueprint $blueprint, Fluent $command) - { - return sprintf('alter table %s add constraint %s unique (%s)', - $this->wrapTable($blueprint), - $this->wrap($command->index), - $this->columnize($command->columns) - ); - } - - /** - * Compile a plain index key command. - * - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @param \Illuminate\Support\Fluent $command - * @return string - */ - public function compileIndex(Blueprint $blueprint, Fluent $command) - { - return sprintf('create index %s on %s%s (%s)', - $this->wrap($command->index), - $this->wrapTable($blueprint), - $command->algorithm ? ' using '.$command->algorithm : '', - $this->columnize($command->columns) - ); - } - - /** - * Compile a spatial index key command. - * - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @param \Illuminate\Support\Fluent $command - * @return string - */ - public function compileSpatialIndex(Blueprint $blueprint, Fluent $command) - { - $command->algorithm = 'gist'; - - return $this->compileIndex($blueprint, $command); - } - - /** - * Compile a foreign key command. - * - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @param \Illuminate\Support\Fluent $command - * @return string - */ - public function compileForeign(Blueprint $blueprint, Fluent $command) - { - $sql = parent::compileForeign($blueprint, $command); - - if (! is_null($command->deferrable)) { - $sql .= $command->deferrable ? ' deferrable' : ' not deferrable'; - } - - if ($command->deferrable && ! is_null($command->initiallyImmediate)) { - $sql .= $command->initiallyImmediate ? ' initially immediate' : ' initially deferred'; - } - - if (! is_null($command->notValid)) { - $sql .= ' not valid'; - } - - return $sql; - } - - /** - * Compile a drop table command. - * - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @param \Illuminate\Support\Fluent $command - * @return string - */ - public function compileDrop(Blueprint $blueprint, Fluent $command) - { - return 'drop table '.$this->wrapTable($blueprint); - } - - /** - * Compile a drop table (if exists) command. - * - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @param \Illuminate\Support\Fluent $command - * @return string - */ - public function compileDropIfExists(Blueprint $blueprint, Fluent $command) - { - return 'drop table if exists '.$this->wrapTable($blueprint); - } - - /** - * Compile the SQL needed to drop all tables. - * - * @param array $tables - * @return string - */ - public function compileDropAllTables($tables) - { - return 'drop table "'.implode('","', $tables).'" cascade'; - } - - /** - * Compile the SQL needed to drop all views. - * - * @param array $views - * @return string - */ - public function compileDropAllViews($views) - { - return 'drop view "'.implode('","', $views).'" cascade'; - } - - /** - * Compile the SQL needed to drop all types. - * - * @param array $types - * @return string - */ - public function compileDropAllTypes($types) - { - return 'drop type "'.implode('","', $types).'" cascade'; - } - - /** - * Compile the SQL needed to retrieve all table names. - * - * @param string $schema - * @return string - */ - public function compileGetAllTables($schema) - { - return "select tablename from pg_catalog.pg_tables where schemaname = '{$schema}'"; - } - - /** - * Compile the SQL needed to retrieve all view names. - * - * @param string $schema - * @return string - */ - public function compileGetAllViews($schema) - { - return "select viewname from pg_catalog.pg_views where schemaname = '{$schema}'"; - } - - /** - * Compile the SQL needed to retrieve all type names. - * - * @return string - */ - public function compileGetAllTypes() - { - return 'select distinct pg_type.typname from pg_type inner join pg_enum on pg_enum.enumtypid = pg_type.oid'; - } - - /** - * Compile a drop column command. - * - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @param \Illuminate\Support\Fluent $command - * @return string - */ - public function compileDropColumn(Blueprint $blueprint, Fluent $command) - { - $columns = $this->prefixArray('drop column', $this->wrapArray($command->columns)); - - return 'alter table '.$this->wrapTable($blueprint).' '.implode(', ', $columns); - } - - /** - * Compile a drop primary key command. - * - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @param \Illuminate\Support\Fluent $command - * @return string - */ - public function compileDropPrimary(Blueprint $blueprint, Fluent $command) - { - $index = $this->wrap("{$blueprint->getTable()}_pkey"); - - return 'alter table '.$this->wrapTable($blueprint)." drop constraint {$index}"; - } - - /** - * Compile a drop unique key command. - * - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @param \Illuminate\Support\Fluent $command - * @return string - */ - public function compileDropUnique(Blueprint $blueprint, Fluent $command) - { - $index = $this->wrap($command->index); - - return "alter table {$this->wrapTable($blueprint)} drop constraint {$index}"; - } - - /** - * Compile a drop index command. - * - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @param \Illuminate\Support\Fluent $command - * @return string - */ - public function compileDropIndex(Blueprint $blueprint, Fluent $command) - { - return "drop index {$this->wrap($command->index)}"; - } - - /** - * Compile a drop spatial index command. - * - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @param \Illuminate\Support\Fluent $command - * @return string - */ - public function compileDropSpatialIndex(Blueprint $blueprint, Fluent $command) - { - return $this->compileDropIndex($blueprint, $command); - } - - /** - * Compile a drop foreign key command. - * - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @param \Illuminate\Support\Fluent $command - * @return string - */ - public function compileDropForeign(Blueprint $blueprint, Fluent $command) - { - $index = $this->wrap($command->index); - - return "alter table {$this->wrapTable($blueprint)} drop constraint {$index}"; - } - - /** - * Compile a rename table command. - * - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @param \Illuminate\Support\Fluent $command - * @return string - */ - public function compileRename(Blueprint $blueprint, Fluent $command) - { - $from = $this->wrapTable($blueprint); - - return "alter table {$from} rename to ".$this->wrapTable($command->to); - } - - /** - * Compile a rename index command. - * - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @param \Illuminate\Support\Fluent $command - * @return string - */ - public function compileRenameIndex(Blueprint $blueprint, Fluent $command) - { - return sprintf('alter index %s rename to %s', - $this->wrap($command->from), - $this->wrap($command->to) - ); - } - - /** - * Compile the command to enable foreign key constraints. - * - * @return string - */ - public function compileEnableForeignKeyConstraints() - { - return 'SET CONSTRAINTS ALL IMMEDIATE;'; - } - - /** - * Compile the command to disable foreign key constraints. - * - * @return string - */ - public function compileDisableForeignKeyConstraints() - { - return 'SET CONSTRAINTS ALL DEFERRED;'; - } - - /** - * Compile a comment command. - * - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @param \Illuminate\Support\Fluent $command - * @return string - */ - public function compileComment(Blueprint $blueprint, Fluent $command) - { - return sprintf('comment on column %s.%s is %s', - $this->wrapTable($blueprint), - $this->wrap($command->column->name), - "'".str_replace("'", "''", $command->value)."'" - ); - } - - /** - * Create the column definition for a char type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeChar(Fluent $column) - { - return "char({$column->length})"; - } - - /** - * Create the column definition for a string type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeString(Fluent $column) - { - return "varchar({$column->length})"; - } - - /** - * Create the column definition for a text type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeText(Fluent $column) - { - return 'text'; - } - - /** - * Create the column definition for a medium text type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeMediumText(Fluent $column) - { - return 'text'; - } - - /** - * Create the column definition for a long text type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeLongText(Fluent $column) - { - return 'text'; - } - - /** - * Create the column definition for an integer type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeInteger(Fluent $column) - { - return $this->generatableColumn('integer', $column); - } - - /** - * Create the column definition for a big integer type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeBigInteger(Fluent $column) - { - return $this->generatableColumn('bigint', $column); - } - - /** - * Create the column definition for a medium integer type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeMediumInteger(Fluent $column) - { - return $this->generatableColumn('integer', $column); - } - - /** - * Create the column definition for a tiny integer type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeTinyInteger(Fluent $column) - { - return $this->generatableColumn('smallint', $column); - } - - /** - * Create the column definition for a small integer type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeSmallInteger(Fluent $column) - { - return $this->generatableColumn('smallint', $column); - } - - /** - * Create the column definition for a generatable column. - * - * @param string $type - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function generatableColumn($type, Fluent $column) - { - if (! $column->autoIncrement && is_null($column->generatedAs)) { - return $type; - } - - if ($column->autoIncrement && is_null($column->generatedAs)) { - return with([ - 'integer' => 'serial', - 'bigint' => 'bigserial', - 'smallint' => 'smallserial', - ])[$type]; - } - - $options = ''; - - if (! is_bool($column->generatedAs) && ! empty($column->generatedAs)) { - $options = sprintf(' (%s)', $column->generatedAs); - } - - return sprintf( - '%s generated %s as identity%s', - $type, - $column->always ? 'always' : 'by default', - $options - ); - } - - /** - * Create the column definition for a float type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeFloat(Fluent $column) - { - return $this->typeDouble($column); - } - - /** - * Create the column definition for a double type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeDouble(Fluent $column) - { - return 'double precision'; - } - - /** - * Create the column definition for a real type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeReal(Fluent $column) - { - return 'real'; - } - - /** - * Create the column definition for a decimal type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeDecimal(Fluent $column) - { - return "decimal({$column->total}, {$column->places})"; - } - - /** - * Create the column definition for a boolean type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeBoolean(Fluent $column) - { - return 'boolean'; - } - - /** - * Create the column definition for an enumeration type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeEnum(Fluent $column) - { - return sprintf( - 'varchar(255) check ("%s" in (%s))', - $column->name, - $this->quoteString($column->allowed) - ); - } - - /** - * Create the column definition for a json type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeJson(Fluent $column) - { - return 'json'; - } - - /** - * Create the column definition for a jsonb type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeJsonb(Fluent $column) - { - return 'jsonb'; - } - - /** - * Create the column definition for a date type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeDate(Fluent $column) - { - return 'date'; - } - - /** - * Create the column definition for a date-time type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeDateTime(Fluent $column) - { - return $this->typeTimestamp($column); - } - - /** - * Create the column definition for a date-time (with time zone) type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeDateTimeTz(Fluent $column) - { - return $this->typeTimestampTz($column); - } - - /** - * Create the column definition for a time type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeTime(Fluent $column) - { - return "time($column->precision) without time zone"; - } - - /** - * Create the column definition for a time (with time zone) type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeTimeTz(Fluent $column) - { - return "time($column->precision) with time zone"; - } - - /** - * Create the column definition for a timestamp type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeTimestamp(Fluent $column) - { - $columnType = "timestamp($column->precision) without time zone"; - - return $column->useCurrent ? "$columnType default CURRENT_TIMESTAMP" : $columnType; - } - - /** - * Create the column definition for a timestamp (with time zone) type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeTimestampTz(Fluent $column) - { - $columnType = "timestamp($column->precision) with time zone"; - - return $column->useCurrent ? "$columnType default CURRENT_TIMESTAMP" : $columnType; - } - - /** - * Create the column definition for a year type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeYear(Fluent $column) - { - return $this->typeInteger($column); - } - - /** - * Create the column definition for a binary type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeBinary(Fluent $column) - { - return 'bytea'; - } - - /** - * Create the column definition for a uuid type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeUuid(Fluent $column) - { - return 'uuid'; - } - - /** - * Create the column definition for an IP address type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeIpAddress(Fluent $column) - { - return 'inet'; - } - - /** - * Create the column definition for a MAC address type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeMacAddress(Fluent $column) - { - return 'macaddr'; - } - - /** - * Create the column definition for a spatial Geometry type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeGeometry(Fluent $column) - { - return $this->formatPostGisType('geometry'); - } - - /** - * Create the column definition for a spatial Point type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typePoint(Fluent $column) - { - return $this->formatPostGisType('point'); - } - - /** - * Create the column definition for a spatial LineString type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeLineString(Fluent $column) - { - return $this->formatPostGisType('linestring'); - } - - /** - * Create the column definition for a spatial Polygon type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typePolygon(Fluent $column) - { - return $this->formatPostGisType('polygon'); - } - - /** - * Create the column definition for a spatial GeometryCollection type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeGeometryCollection(Fluent $column) - { - return $this->formatPostGisType('geometrycollection'); - } - - /** - * Create the column definition for a spatial MultiPoint type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeMultiPoint(Fluent $column) - { - return $this->formatPostGisType('multipoint'); - } - - /** - * Create the column definition for a spatial MultiLineString type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - public function typeMultiLineString(Fluent $column) - { - return $this->formatPostGisType('multilinestring'); - } - - /** - * Create the column definition for a spatial MultiPolygon type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeMultiPolygon(Fluent $column) - { - return $this->formatPostGisType('multipolygon'); - } - - /** - * Format the column definition for a PostGIS spatial type. - * - * @param string $type - * @return string - */ - private function formatPostGisType(string $type) - { - return "geography($type, 4326)"; - } - - /** - * Get the SQL for a collation column modifier. - * - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @param \Illuminate\Support\Fluent $column - * @return string|null - */ - protected function modifyCollate(Blueprint $blueprint, Fluent $column) - { - if (! is_null($column->collation)) { - return ' collate '.$this->wrapValue($column->collation); - } - } - - /** - * Get the SQL for a nullable column modifier. - * - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @param \Illuminate\Support\Fluent $column - * @return string|null - */ - protected function modifyNullable(Blueprint $blueprint, Fluent $column) - { - return $column->nullable ? ' null' : ' not null'; - } - - /** - * Get the SQL for a default column modifier. - * - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @param \Illuminate\Support\Fluent $column - * @return string|null - */ - protected function modifyDefault(Blueprint $blueprint, Fluent $column) - { - if (! is_null($column->default)) { - return ' default '.$this->getDefaultValue($column->default); - } - } - - /** - * Get the SQL for an auto-increment column modifier. - * - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @param \Illuminate\Support\Fluent $column - * @return string|null - */ - protected function modifyIncrement(Blueprint $blueprint, Fluent $column) - { - if ((in_array($column->type, $this->serials) || ($column->generatedAs !== null)) && $column->autoIncrement) { - return ' primary key'; - } - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Schema/Grammars/RenameColumn.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Schema/Grammars/RenameColumn.php deleted file mode 100644 index a07c4fe..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Schema/Grammars/RenameColumn.php +++ /dev/null @@ -1,69 +0,0 @@ -getDoctrineColumn( - $grammar->getTablePrefix().$blueprint->getTable(), $command->from - ); - - $schema = $connection->getDoctrineSchemaManager(); - - return (array) $schema->getDatabasePlatform()->getAlterTableSQL(static::getRenamedDiff( - $grammar, $blueprint, $command, $column, $schema - )); - } - - /** - * Get a new column instance with the new column name. - * - * @param \Illuminate\Database\Schema\Grammars\Grammar $grammar - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @param \Illuminate\Support\Fluent $command - * @param \Doctrine\DBAL\Schema\Column $column - * @param \Doctrine\DBAL\Schema\AbstractSchemaManager $schema - * @return \Doctrine\DBAL\Schema\TableDiff - */ - protected static function getRenamedDiff(Grammar $grammar, Blueprint $blueprint, Fluent $command, Column $column, SchemaManager $schema) - { - return static::setRenamedColumns( - $grammar->getDoctrineTableDiff($blueprint, $schema), $command, $column - ); - } - - /** - * Set the renamed columns on the table diff. - * - * @param \Doctrine\DBAL\Schema\TableDiff $tableDiff - * @param \Illuminate\Support\Fluent $command - * @param \Doctrine\DBAL\Schema\Column $column - * @return \Doctrine\DBAL\Schema\TableDiff - */ - protected static function setRenamedColumns(TableDiff $tableDiff, Fluent $command, Column $column) - { - $tableDiff->renamedColumns = [ - $command->from => new Column($command->to, $column->getType(), $column->toArray()), - ]; - - return $tableDiff; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Schema/Grammars/SQLiteGrammar.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Schema/Grammars/SQLiteGrammar.php deleted file mode 100644 index ac825e7..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Schema/Grammars/SQLiteGrammar.php +++ /dev/null @@ -1,860 +0,0 @@ -wrap(str_replace('.', '__', $table)).')'; - } - - /** - * Compile a create table command. - * - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @param \Illuminate\Support\Fluent $command - * @return string - */ - public function compileCreate(Blueprint $blueprint, Fluent $command) - { - return sprintf('%s table %s (%s%s%s)', - $blueprint->temporary ? 'create temporary' : 'create', - $this->wrapTable($blueprint), - implode(', ', $this->getColumns($blueprint)), - (string) $this->addForeignKeys($blueprint), - (string) $this->addPrimaryKeys($blueprint) - ); - } - - /** - * Get the foreign key syntax for a table creation statement. - * - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @return string|null - */ - protected function addForeignKeys(Blueprint $blueprint) - { - $foreigns = $this->getCommandsByName($blueprint, 'foreign'); - - return collect($foreigns)->reduce(function ($sql, $foreign) { - // Once we have all the foreign key commands for the table creation statement - // we'll loop through each of them and add them to the create table SQL we - // are building, since SQLite needs foreign keys on the tables creation. - $sql .= $this->getForeignKey($foreign); - - if (! is_null($foreign->onDelete)) { - $sql .= " on delete {$foreign->onDelete}"; - } - - // If this foreign key specifies the action to be taken on update we will add - // that to the statement here. We'll append it to this SQL and then return - // the SQL so we can keep adding any other foreign constraints onto this. - if (! is_null($foreign->onUpdate)) { - $sql .= " on update {$foreign->onUpdate}"; - } - - return $sql; - }, ''); - } - - /** - * Get the SQL for the foreign key. - * - * @param \Illuminate\Support\Fluent $foreign - * @return string - */ - protected function getForeignKey($foreign) - { - // We need to columnize the columns that the foreign key is being defined for - // so that it is a properly formatted list. Once we have done this, we can - // return the foreign key SQL declaration to the calling method for use. - return sprintf(', foreign key(%s) references %s(%s)', - $this->columnize($foreign->columns), - $this->wrapTable($foreign->on), - $this->columnize((array) $foreign->references) - ); - } - - /** - * Get the primary key syntax for a table creation statement. - * - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @return string|null - */ - protected function addPrimaryKeys(Blueprint $blueprint) - { - if (! is_null($primary = $this->getCommandByName($blueprint, 'primary'))) { - return ", primary key ({$this->columnize($primary->columns)})"; - } - } - - /** - * Compile alter table commands for adding columns. - * - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @param \Illuminate\Support\Fluent $command - * @return array - */ - public function compileAdd(Blueprint $blueprint, Fluent $command) - { - $columns = $this->prefixArray('add column', $this->getColumns($blueprint)); - - return collect($columns)->map(function ($column) use ($blueprint) { - return 'alter table '.$this->wrapTable($blueprint).' '.$column; - })->all(); - } - - /** - * Compile a unique key command. - * - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @param \Illuminate\Support\Fluent $command - * @return string - */ - public function compileUnique(Blueprint $blueprint, Fluent $command) - { - return sprintf('create unique index %s on %s (%s)', - $this->wrap($command->index), - $this->wrapTable($blueprint), - $this->columnize($command->columns) - ); - } - - /** - * Compile a plain index key command. - * - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @param \Illuminate\Support\Fluent $command - * @return string - */ - public function compileIndex(Blueprint $blueprint, Fluent $command) - { - return sprintf('create index %s on %s (%s)', - $this->wrap($command->index), - $this->wrapTable($blueprint), - $this->columnize($command->columns) - ); - } - - /** - * Compile a spatial index key command. - * - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @param \Illuminate\Support\Fluent $command - * - * @throws \RuntimeException - */ - public function compileSpatialIndex(Blueprint $blueprint, Fluent $command) - { - throw new RuntimeException('The database driver in use does not support spatial indexes.'); - } - - /** - * Compile a foreign key command. - * - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @param \Illuminate\Support\Fluent $command - * @return string - */ - public function compileForeign(Blueprint $blueprint, Fluent $command) - { - // Handled on table creation... - } - - /** - * Compile a drop table command. - * - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @param \Illuminate\Support\Fluent $command - * @return string - */ - public function compileDrop(Blueprint $blueprint, Fluent $command) - { - return 'drop table '.$this->wrapTable($blueprint); - } - - /** - * Compile a drop table (if exists) command. - * - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @param \Illuminate\Support\Fluent $command - * @return string - */ - public function compileDropIfExists(Blueprint $blueprint, Fluent $command) - { - return 'drop table if exists '.$this->wrapTable($blueprint); - } - - /** - * Compile the SQL needed to drop all tables. - * - * @return string - */ - public function compileDropAllTables() - { - return "delete from sqlite_master where type in ('table', 'index', 'trigger')"; - } - - /** - * Compile the SQL needed to drop all views. - * - * @return string - */ - public function compileDropAllViews() - { - return "delete from sqlite_master where type in ('view')"; - } - - /** - * Compile the SQL needed to rebuild the database. - * - * @return string - */ - public function compileRebuild() - { - return 'vacuum'; - } - - /** - * Compile a drop column command. - * - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @param \Illuminate\Support\Fluent $command - * @param \Illuminate\Database\Connection $connection - * @return array - */ - public function compileDropColumn(Blueprint $blueprint, Fluent $command, Connection $connection) - { - $tableDiff = $this->getDoctrineTableDiff( - $blueprint, $schema = $connection->getDoctrineSchemaManager() - ); - - foreach ($command->columns as $name) { - $tableDiff->removedColumns[$name] = $connection->getDoctrineColumn( - $this->getTablePrefix().$blueprint->getTable(), $name - ); - } - - return (array) $schema->getDatabasePlatform()->getAlterTableSQL($tableDiff); - } - - /** - * Compile a drop unique key command. - * - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @param \Illuminate\Support\Fluent $command - * @return string - */ - public function compileDropUnique(Blueprint $blueprint, Fluent $command) - { - $index = $this->wrap($command->index); - - return "drop index {$index}"; - } - - /** - * Compile a drop index command. - * - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @param \Illuminate\Support\Fluent $command - * @return string - */ - public function compileDropIndex(Blueprint $blueprint, Fluent $command) - { - $index = $this->wrap($command->index); - - return "drop index {$index}"; - } - - /** - * Compile a drop spatial index command. - * - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @param \Illuminate\Support\Fluent $command - * - * @throws \RuntimeException - */ - public function compileDropSpatialIndex(Blueprint $blueprint, Fluent $command) - { - throw new RuntimeException('The database driver in use does not support spatial indexes.'); - } - - /** - * Compile a rename table command. - * - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @param \Illuminate\Support\Fluent $command - * @return string - */ - public function compileRename(Blueprint $blueprint, Fluent $command) - { - $from = $this->wrapTable($blueprint); - - return "alter table {$from} rename to ".$this->wrapTable($command->to); - } - - /** - * Compile a rename index command. - * - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @param \Illuminate\Support\Fluent $command - * @param \Illuminate\Database\Connection $connection - * @return array - */ - public function compileRenameIndex(Blueprint $blueprint, Fluent $command, Connection $connection) - { - $schemaManager = $connection->getDoctrineSchemaManager(); - - $indexes = $schemaManager->listTableIndexes($this->getTablePrefix().$blueprint->getTable()); - - $index = Arr::get($indexes, $command->from); - - if (! $index) { - throw new RuntimeException("Index [{$command->from}] does not exist."); - } - - $newIndex = new Index( - $command->to, $index->getColumns(), $index->isUnique(), - $index->isPrimary(), $index->getFlags(), $index->getOptions() - ); - - $platform = $schemaManager->getDatabasePlatform(); - - return [ - $platform->getDropIndexSQL($command->from, $this->getTablePrefix().$blueprint->getTable()), - $platform->getCreateIndexSQL($newIndex, $this->getTablePrefix().$blueprint->getTable()), - ]; - } - - /** - * Compile the command to enable foreign key constraints. - * - * @return string - */ - public function compileEnableForeignKeyConstraints() - { - return 'PRAGMA foreign_keys = ON;'; - } - - /** - * Compile the command to disable foreign key constraints. - * - * @return string - */ - public function compileDisableForeignKeyConstraints() - { - return 'PRAGMA foreign_keys = OFF;'; - } - - /** - * Compile the SQL needed to enable a writable schema. - * - * @return string - */ - public function compileEnableWriteableSchema() - { - return 'PRAGMA writable_schema = 1;'; - } - - /** - * Compile the SQL needed to disable a writable schema. - * - * @return string - */ - public function compileDisableWriteableSchema() - { - return 'PRAGMA writable_schema = 0;'; - } - - /** - * Create the column definition for a char type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeChar(Fluent $column) - { - return 'varchar'; - } - - /** - * Create the column definition for a string type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeString(Fluent $column) - { - return 'varchar'; - } - - /** - * Create the column definition for a text type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeText(Fluent $column) - { - return 'text'; - } - - /** - * Create the column definition for a medium text type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeMediumText(Fluent $column) - { - return 'text'; - } - - /** - * Create the column definition for a long text type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeLongText(Fluent $column) - { - return 'text'; - } - - /** - * Create the column definition for a integer type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeInteger(Fluent $column) - { - return 'integer'; - } - - /** - * Create the column definition for a big integer type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeBigInteger(Fluent $column) - { - return 'integer'; - } - - /** - * Create the column definition for a medium integer type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeMediumInteger(Fluent $column) - { - return 'integer'; - } - - /** - * Create the column definition for a tiny integer type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeTinyInteger(Fluent $column) - { - return 'integer'; - } - - /** - * Create the column definition for a small integer type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeSmallInteger(Fluent $column) - { - return 'integer'; - } - - /** - * Create the column definition for a float type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeFloat(Fluent $column) - { - return 'float'; - } - - /** - * Create the column definition for a double type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeDouble(Fluent $column) - { - return 'float'; - } - - /** - * Create the column definition for a decimal type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeDecimal(Fluent $column) - { - return 'numeric'; - } - - /** - * Create the column definition for a boolean type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeBoolean(Fluent $column) - { - return 'tinyint(1)'; - } - - /** - * Create the column definition for an enumeration type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeEnum(Fluent $column) - { - return sprintf( - 'varchar check ("%s" in (%s))', - $column->name, - $this->quoteString($column->allowed) - ); - } - - /** - * Create the column definition for a json type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeJson(Fluent $column) - { - return 'text'; - } - - /** - * Create the column definition for a jsonb type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeJsonb(Fluent $column) - { - return 'text'; - } - - /** - * Create the column definition for a date type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeDate(Fluent $column) - { - return 'date'; - } - - /** - * Create the column definition for a date-time type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeDateTime(Fluent $column) - { - return $this->typeTimestamp($column); - } - - /** - * Create the column definition for a date-time (with time zone) type. - * - * Note: "SQLite does not have a storage class set aside for storing dates and/or times." - * @link https://www.sqlite.org/datatype3.html - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeDateTimeTz(Fluent $column) - { - return $this->typeDateTime($column); - } - - /** - * Create the column definition for a time type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeTime(Fluent $column) - { - return 'time'; - } - - /** - * Create the column definition for a time (with time zone) type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeTimeTz(Fluent $column) - { - return $this->typeTime($column); - } - - /** - * Create the column definition for a timestamp type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeTimestamp(Fluent $column) - { - return $column->useCurrent ? 'datetime default CURRENT_TIMESTAMP' : 'datetime'; - } - - /** - * Create the column definition for a timestamp (with time zone) type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeTimestampTz(Fluent $column) - { - return $this->typeTimestamp($column); - } - - /** - * Create the column definition for a year type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeYear(Fluent $column) - { - return $this->typeInteger($column); - } - - /** - * Create the column definition for a binary type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeBinary(Fluent $column) - { - return 'blob'; - } - - /** - * Create the column definition for a uuid type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeUuid(Fluent $column) - { - return 'varchar'; - } - - /** - * Create the column definition for an IP address type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeIpAddress(Fluent $column) - { - return 'varchar'; - } - - /** - * Create the column definition for a MAC address type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeMacAddress(Fluent $column) - { - return 'varchar'; - } - - /** - * Create the column definition for a spatial Geometry type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - public function typeGeometry(Fluent $column) - { - return 'geometry'; - } - - /** - * Create the column definition for a spatial Point type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - public function typePoint(Fluent $column) - { - return 'point'; - } - - /** - * Create the column definition for a spatial LineString type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - public function typeLineString(Fluent $column) - { - return 'linestring'; - } - - /** - * Create the column definition for a spatial Polygon type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - public function typePolygon(Fluent $column) - { - return 'polygon'; - } - - /** - * Create the column definition for a spatial GeometryCollection type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - public function typeGeometryCollection(Fluent $column) - { - return 'geometrycollection'; - } - - /** - * Create the column definition for a spatial MultiPoint type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - public function typeMultiPoint(Fluent $column) - { - return 'multipoint'; - } - - /** - * Create the column definition for a spatial MultiLineString type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - public function typeMultiLineString(Fluent $column) - { - return 'multilinestring'; - } - - /** - * Create the column definition for a spatial MultiPolygon type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - public function typeMultiPolygon(Fluent $column) - { - return 'multipolygon'; - } - - /** - * Get the SQL for a nullable column modifier. - * - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @param \Illuminate\Support\Fluent $column - * @return string|null - */ - protected function modifyNullable(Blueprint $blueprint, Fluent $column) - { - return $column->nullable ? ' null' : ' not null'; - } - - /** - * Get the SQL for a default column modifier. - * - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @param \Illuminate\Support\Fluent $column - * @return string|null - */ - protected function modifyDefault(Blueprint $blueprint, Fluent $column) - { - if (! is_null($column->default)) { - return ' default '.$this->getDefaultValue($column->default); - } - } - - /** - * Get the SQL for an auto-increment column modifier. - * - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @param \Illuminate\Support\Fluent $column - * @return string|null - */ - protected function modifyIncrement(Blueprint $blueprint, Fluent $column) - { - if (in_array($column->type, $this->serials) && $column->autoIncrement) { - return ' primary key autoincrement'; - } - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Schema/Grammars/SqlServerGrammar.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Schema/Grammars/SqlServerGrammar.php deleted file mode 100644 index 0f1d0c4..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Schema/Grammars/SqlServerGrammar.php +++ /dev/null @@ -1,857 +0,0 @@ -getColumns($blueprint)); - - return 'create table '.$this->wrapTable($blueprint)." ($columns)"; - } - - /** - * Compile a column addition table command. - * - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @param \Illuminate\Support\Fluent $command - * @return string - */ - public function compileAdd(Blueprint $blueprint, Fluent $command) - { - return sprintf('alter table %s add %s', - $this->wrapTable($blueprint), - implode(', ', $this->getColumns($blueprint)) - ); - } - - /** - * Compile a primary key command. - * - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @param \Illuminate\Support\Fluent $command - * @return string - */ - public function compilePrimary(Blueprint $blueprint, Fluent $command) - { - return sprintf('alter table %s add constraint %s primary key (%s)', - $this->wrapTable($blueprint), - $this->wrap($command->index), - $this->columnize($command->columns) - ); - } - - /** - * Compile a unique key command. - * - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @param \Illuminate\Support\Fluent $command - * @return string - */ - public function compileUnique(Blueprint $blueprint, Fluent $command) - { - return sprintf('create unique index %s on %s (%s)', - $this->wrap($command->index), - $this->wrapTable($blueprint), - $this->columnize($command->columns) - ); - } - - /** - * Compile a plain index key command. - * - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @param \Illuminate\Support\Fluent $command - * @return string - */ - public function compileIndex(Blueprint $blueprint, Fluent $command) - { - return sprintf('create index %s on %s (%s)', - $this->wrap($command->index), - $this->wrapTable($blueprint), - $this->columnize($command->columns) - ); - } - - /** - * Compile a spatial index key command. - * - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @param \Illuminate\Support\Fluent $command - * @return string - */ - public function compileSpatialIndex(Blueprint $blueprint, Fluent $command) - { - return sprintf('create spatial index %s on %s (%s)', - $this->wrap($command->index), - $this->wrapTable($blueprint), - $this->columnize($command->columns) - ); - } - - /** - * Compile a drop table command. - * - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @param \Illuminate\Support\Fluent $command - * @return string - */ - public function compileDrop(Blueprint $blueprint, Fluent $command) - { - return 'drop table '.$this->wrapTable($blueprint); - } - - /** - * Compile a drop table (if exists) command. - * - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @param \Illuminate\Support\Fluent $command - * @return string - */ - public function compileDropIfExists(Blueprint $blueprint, Fluent $command) - { - return sprintf('if exists (select * from INFORMATION_SCHEMA.TABLES where TABLE_NAME = %s) drop table %s', - "'".str_replace("'", "''", $this->getTablePrefix().$blueprint->getTable())."'", - $this->wrapTable($blueprint) - ); - } - - /** - * Compile the SQL needed to drop all tables. - * - * @return string - */ - public function compileDropAllTables() - { - return "EXEC sp_msforeachtable 'DROP TABLE ?'"; - } - - /** - * Compile a drop column command. - * - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @param \Illuminate\Support\Fluent $command - * @return string - */ - public function compileDropColumn(Blueprint $blueprint, Fluent $command) - { - $columns = $this->wrapArray($command->columns); - - return 'alter table '.$this->wrapTable($blueprint).' drop column '.implode(', ', $columns); - } - - /** - * Compile a drop primary key command. - * - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @param \Illuminate\Support\Fluent $command - * @return string - */ - public function compileDropPrimary(Blueprint $blueprint, Fluent $command) - { - $index = $this->wrap($command->index); - - return "alter table {$this->wrapTable($blueprint)} drop constraint {$index}"; - } - - /** - * Compile a drop unique key command. - * - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @param \Illuminate\Support\Fluent $command - * @return string - */ - public function compileDropUnique(Blueprint $blueprint, Fluent $command) - { - $index = $this->wrap($command->index); - - return "drop index {$index} on {$this->wrapTable($blueprint)}"; - } - - /** - * Compile a drop index command. - * - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @param \Illuminate\Support\Fluent $command - * @return string - */ - public function compileDropIndex(Blueprint $blueprint, Fluent $command) - { - $index = $this->wrap($command->index); - - return "drop index {$index} on {$this->wrapTable($blueprint)}"; - } - - /** - * Compile a drop spatial index command. - * - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @param \Illuminate\Support\Fluent $command - * @return string - */ - public function compileDropSpatialIndex(Blueprint $blueprint, Fluent $command) - { - return $this->compileDropIndex($blueprint, $command); - } - - /** - * Compile a drop foreign key command. - * - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @param \Illuminate\Support\Fluent $command - * @return string - */ - public function compileDropForeign(Blueprint $blueprint, Fluent $command) - { - $index = $this->wrap($command->index); - - return "alter table {$this->wrapTable($blueprint)} drop constraint {$index}"; - } - - /** - * Compile a rename table command. - * - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @param \Illuminate\Support\Fluent $command - * @return string - */ - public function compileRename(Blueprint $blueprint, Fluent $command) - { - $from = $this->wrapTable($blueprint); - - return "sp_rename {$from}, ".$this->wrapTable($command->to); - } - - /** - * Compile a rename index command. - * - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @param \Illuminate\Support\Fluent $command - * @return string - */ - public function compileRenameIndex(Blueprint $blueprint, Fluent $command) - { - return sprintf("sp_rename N'%s', %s, N'INDEX'", - $this->wrap($blueprint->getTable().'.'.$command->from), - $this->wrap($command->to) - ); - } - - /** - * Compile the command to enable foreign key constraints. - * - * @return string - */ - public function compileEnableForeignKeyConstraints() - { - return 'EXEC sp_msforeachtable @command1="print \'?\'", @command2="ALTER TABLE ? WITH CHECK CHECK CONSTRAINT all";'; - } - - /** - * Compile the command to disable foreign key constraints. - * - * @return string - */ - public function compileDisableForeignKeyConstraints() - { - return 'EXEC sp_msforeachtable "ALTER TABLE ? NOCHECK CONSTRAINT all";'; - } - - /** - * Compile the command to drop all foreign keys. - * - * @return string - */ - public function compileDropAllForeignKeys() - { - return "DECLARE @sql NVARCHAR(MAX) = N''; - SELECT @sql += 'ALTER TABLE ' + QUOTENAME(OBJECT_NAME(parent_object_id)) - + ' DROP CONSTRAINT ' + QUOTENAME(name) + ';' - FROM sys.foreign_keys; - - EXEC sp_executesql @sql;"; - } - - /** - * Create the column definition for a char type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeChar(Fluent $column) - { - return "nchar({$column->length})"; - } - - /** - * Create the column definition for a string type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeString(Fluent $column) - { - return "nvarchar({$column->length})"; - } - - /** - * Create the column definition for a text type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeText(Fluent $column) - { - return 'nvarchar(max)'; - } - - /** - * Create the column definition for a medium text type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeMediumText(Fluent $column) - { - return 'nvarchar(max)'; - } - - /** - * Create the column definition for a long text type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeLongText(Fluent $column) - { - return 'nvarchar(max)'; - } - - /** - * Create the column definition for an integer type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeInteger(Fluent $column) - { - return 'int'; - } - - /** - * Create the column definition for a big integer type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeBigInteger(Fluent $column) - { - return 'bigint'; - } - - /** - * Create the column definition for a medium integer type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeMediumInteger(Fluent $column) - { - return 'int'; - } - - /** - * Create the column definition for a tiny integer type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeTinyInteger(Fluent $column) - { - return 'tinyint'; - } - - /** - * Create the column definition for a small integer type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeSmallInteger(Fluent $column) - { - return 'smallint'; - } - - /** - * Create the column definition for a float type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeFloat(Fluent $column) - { - return 'float'; - } - - /** - * Create the column definition for a double type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeDouble(Fluent $column) - { - return 'float'; - } - - /** - * Create the column definition for a decimal type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeDecimal(Fluent $column) - { - return "decimal({$column->total}, {$column->places})"; - } - - /** - * Create the column definition for a boolean type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeBoolean(Fluent $column) - { - return 'bit'; - } - - /** - * Create the column definition for an enumeration type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeEnum(Fluent $column) - { - return sprintf( - 'nvarchar(255) check ("%s" in (%s))', - $column->name, - $this->quoteString($column->allowed) - ); - } - - /** - * Create the column definition for a json type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeJson(Fluent $column) - { - return 'nvarchar(max)'; - } - - /** - * Create the column definition for a jsonb type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeJsonb(Fluent $column) - { - return 'nvarchar(max)'; - } - - /** - * Create the column definition for a date type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeDate(Fluent $column) - { - return 'date'; - } - - /** - * Create the column definition for a date-time type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeDateTime(Fluent $column) - { - return $this->typeTimestamp($column); - } - - /** - * Create the column definition for a date-time (with time zone) type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeDateTimeTz(Fluent $column) - { - return $this->typeTimestampTz($column); - } - - /** - * Create the column definition for a time type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeTime(Fluent $column) - { - return $column->precision ? "time($column->precision)" : 'time'; - } - - /** - * Create the column definition for a time (with time zone) type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeTimeTz(Fluent $column) - { - return $this->typeTime($column); - } - - /** - * Create the column definition for a timestamp type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeTimestamp(Fluent $column) - { - $columnType = $column->precision ? "datetime2($column->precision)" : 'datetime'; - - return $column->useCurrent ? "$columnType default CURRENT_TIMESTAMP" : $columnType; - } - - /** - * Create the column definition for a timestamp (with time zone) type. - * - * @link https://msdn.microsoft.com/en-us/library/bb630289(v=sql.120).aspx - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeTimestampTz(Fluent $column) - { - $columnType = $column->precision ? "datetimeoffset($column->precision)" : 'datetimeoffset'; - - return $column->useCurrent ? "$columnType default CURRENT_TIMESTAMP" : $columnType; - } - - /** - * Create the column definition for a year type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeYear(Fluent $column) - { - return $this->typeInteger($column); - } - - /** - * Create the column definition for a binary type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeBinary(Fluent $column) - { - return 'varbinary(max)'; - } - - /** - * Create the column definition for a uuid type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeUuid(Fluent $column) - { - return 'uniqueidentifier'; - } - - /** - * Create the column definition for an IP address type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeIpAddress(Fluent $column) - { - return 'nvarchar(45)'; - } - - /** - * Create the column definition for a MAC address type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - protected function typeMacAddress(Fluent $column) - { - return 'nvarchar(17)'; - } - - /** - * Create the column definition for a spatial Geometry type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - public function typeGeometry(Fluent $column) - { - return 'geography'; - } - - /** - * Create the column definition for a spatial Point type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - public function typePoint(Fluent $column) - { - return 'geography'; - } - - /** - * Create the column definition for a spatial LineString type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - public function typeLineString(Fluent $column) - { - return 'geography'; - } - - /** - * Create the column definition for a spatial Polygon type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - public function typePolygon(Fluent $column) - { - return 'geography'; - } - - /** - * Create the column definition for a spatial GeometryCollection type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - public function typeGeometryCollection(Fluent $column) - { - return 'geography'; - } - - /** - * Create the column definition for a spatial MultiPoint type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - public function typeMultiPoint(Fluent $column) - { - return 'geography'; - } - - /** - * Create the column definition for a spatial MultiLineString type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - public function typeMultiLineString(Fluent $column) - { - return 'geography'; - } - - /** - * Create the column definition for a spatial MultiPolygon type. - * - * @param \Illuminate\Support\Fluent $column - * @return string - */ - public function typeMultiPolygon(Fluent $column) - { - return 'geography'; - } - - /** - * Create the column definition for a generated, computed column type. - * - * @param \Illuminate\Support\Fluent $column - * @return string|null - */ - protected function typeComputed(Fluent $column) - { - return "as ({$column->expression})"; - } - - /** - * Get the SQL for a collation column modifier. - * - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @param \Illuminate\Support\Fluent $column - * @return string|null - */ - protected function modifyCollate(Blueprint $blueprint, Fluent $column) - { - if (! is_null($column->collation)) { - return ' collate '.$column->collation; - } - } - - /** - * Get the SQL for a nullable column modifier. - * - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @param \Illuminate\Support\Fluent $column - * @return string|null - */ - protected function modifyNullable(Blueprint $blueprint, Fluent $column) - { - if ($column->type !== 'computed') { - return $column->nullable ? ' null' : ' not null'; - } - } - - /** - * Get the SQL for a default column modifier. - * - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @param \Illuminate\Support\Fluent $column - * @return string|null - */ - protected function modifyDefault(Blueprint $blueprint, Fluent $column) - { - if (! is_null($column->default)) { - return ' default '.$this->getDefaultValue($column->default); - } - } - - /** - * Get the SQL for an auto-increment column modifier. - * - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @param \Illuminate\Support\Fluent $column - * @return string|null - */ - protected function modifyIncrement(Blueprint $blueprint, Fluent $column) - { - if (in_array($column->type, $this->serials) && $column->autoIncrement) { - return ' identity primary key'; - } - } - - /** - * Get the SQL for a generated stored column modifier. - * - * @param \Illuminate\Database\Schema\Blueprint $blueprint - * @param \Illuminate\Support\Fluent $column - * @return string|null - */ - protected function modifyPersisted(Blueprint $blueprint, Fluent $column) - { - if ($column->persisted) { - return ' persisted'; - } - } - - /** - * Wrap a table in keyword identifiers. - * - * @param \Illuminate\Database\Query\Expression|string $table - * @return string - */ - public function wrapTable($table) - { - if ($table instanceof Blueprint && $table->temporary) { - $this->setTablePrefix('#'); - } - - return parent::wrapTable($table); - } - - /** - * Quote the given string literal. - * - * @param string|array $value - * @return string - */ - public function quoteString($value) - { - if (is_array($value)) { - return implode(', ', array_map([$this, __FUNCTION__], $value)); - } - - return "N'$value'"; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Schema/MySqlBuilder.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Schema/MySqlBuilder.php deleted file mode 100644 index 85f3e92..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Schema/MySqlBuilder.php +++ /dev/null @@ -1,114 +0,0 @@ -connection->getTablePrefix().$table; - - return count($this->connection->select( - $this->grammar->compileTableExists(), [$this->connection->getDatabaseName(), $table] - )) > 0; - } - - /** - * Get the column listing for a given table. - * - * @param string $table - * @return array - */ - public function getColumnListing($table) - { - $table = $this->connection->getTablePrefix().$table; - - $results = $this->connection->select( - $this->grammar->compileColumnListing(), [$this->connection->getDatabaseName(), $table] - ); - - return $this->connection->getPostProcessor()->processColumnListing($results); - } - - /** - * Drop all tables from the database. - * - * @return void - */ - public function dropAllTables() - { - $tables = []; - - foreach ($this->getAllTables() as $row) { - $row = (array) $row; - - $tables[] = reset($row); - } - - if (empty($tables)) { - return; - } - - $this->disableForeignKeyConstraints(); - - $this->connection->statement( - $this->grammar->compileDropAllTables($tables) - ); - - $this->enableForeignKeyConstraints(); - } - - /** - * Drop all views from the database. - * - * @return void - */ - public function dropAllViews() - { - $views = []; - - foreach ($this->getAllViews() as $row) { - $row = (array) $row; - - $views[] = reset($row); - } - - if (empty($views)) { - return; - } - - $this->connection->statement( - $this->grammar->compileDropAllViews($views) - ); - } - - /** - * Get all of the table names for the database. - * - * @return array - */ - protected function getAllTables() - { - return $this->connection->select( - $this->grammar->compileGetAllTables() - ); - } - - /** - * Get all of the view names for the database. - * - * @return array - */ - protected function getAllViews() - { - return $this->connection->select( - $this->grammar->compileGetAllViews() - ); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Schema/PostgresBuilder.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Schema/PostgresBuilder.php deleted file mode 100644 index af03af7..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Schema/PostgresBuilder.php +++ /dev/null @@ -1,175 +0,0 @@ -parseSchemaAndTable($table); - - $table = $this->connection->getTablePrefix().$table; - - return count($this->connection->select( - $this->grammar->compileTableExists(), [$schema, $table] - )) > 0; - } - - /** - * Drop all tables from the database. - * - * @return void - */ - public function dropAllTables() - { - $tables = []; - - $excludedTables = ['spatial_ref_sys']; - - foreach ($this->getAllTables() as $row) { - $row = (array) $row; - - $table = reset($row); - - if (! in_array($table, $excludedTables)) { - $tables[] = $table; - } - } - - if (empty($tables)) { - return; - } - - $this->connection->statement( - $this->grammar->compileDropAllTables($tables) - ); - } - - /** - * Drop all views from the database. - * - * @return void - */ - public function dropAllViews() - { - $views = []; - - foreach ($this->getAllViews() as $row) { - $row = (array) $row; - - $views[] = reset($row); - } - - if (empty($views)) { - return; - } - - $this->connection->statement( - $this->grammar->compileDropAllViews($views) - ); - } - - /** - * Drop all types from the database. - */ - public function dropAllTypes() - { - $types = []; - - foreach ($this->getAllTypes() as $row) { - $row = (array) $row; - - $types[] = reset($row); - } - - if (empty($types)) { - return; - } - - $this->connection->statement( - $this->grammar->compileDropAllTypes($types) - ); - } - - /** - * Get all of the table names for the database. - * - * @return array - */ - protected function getAllTables() - { - return $this->connection->select( - $this->grammar->compileGetAllTables($this->connection->getConfig('schema')) - ); - } - - /** - * Get all of the view names for the database. - * - * @return array - */ - protected function getAllViews() - { - return $this->connection->select( - $this->grammar->compileGetAllViews($this->connection->getConfig('schema')) - ); - } - - /** - * Get all of the type names for the database. - * - * @return array - */ - protected function getAllTypes() - { - return $this->connection->select( - $this->grammar->compileGetAllTypes() - ); - } - - /** - * Get the column listing for a given table. - * - * @param string $table - * @return array - */ - public function getColumnListing($table) - { - [$schema, $table] = $this->parseSchemaAndTable($table); - - $table = $this->connection->getTablePrefix().$table; - - $results = $this->connection->select( - $this->grammar->compileColumnListing(), [$schema, $table] - ); - - return $this->connection->getPostProcessor()->processColumnListing($results); - } - - /** - * Parse the table name and extract the schema and table. - * - * @param string $table - * @return array - */ - protected function parseSchemaAndTable($table) - { - $table = explode('.', $table); - - if (is_array($schema = $this->connection->getConfig('schema'))) { - if (in_array($table[0], $schema)) { - return [array_shift($table), implode('.', $table)]; - } - - $schema = head($schema); - } - - return [$schema ?: 'public', implode('.', $table)]; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Schema/SQLiteBuilder.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Schema/SQLiteBuilder.php deleted file mode 100644 index 78b6b9c..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Schema/SQLiteBuilder.php +++ /dev/null @@ -1,52 +0,0 @@ -connection->getDatabaseName() !== ':memory:') { - return $this->refreshDatabaseFile(); - } - - $this->connection->select($this->grammar->compileEnableWriteableSchema()); - - $this->connection->select($this->grammar->compileDropAllTables()); - - $this->connection->select($this->grammar->compileDisableWriteableSchema()); - - $this->connection->select($this->grammar->compileRebuild()); - } - - /** - * Drop all views from the database. - * - * @return void - */ - public function dropAllViews() - { - $this->connection->select($this->grammar->compileEnableWriteableSchema()); - - $this->connection->select($this->grammar->compileDropAllViews()); - - $this->connection->select($this->grammar->compileDisableWriteableSchema()); - - $this->connection->select($this->grammar->compileRebuild()); - } - - /** - * Empty the database file. - * - * @return void - */ - public function refreshDatabaseFile() - { - file_put_contents($this->connection->getDatabaseName(), ''); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Schema/SqlServerBuilder.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Schema/SqlServerBuilder.php deleted file mode 100644 index b9d3b27..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Schema/SqlServerBuilder.php +++ /dev/null @@ -1,18 +0,0 @@ -connection->statement($this->grammar->compileDropAllForeignKeys()); - - $this->connection->statement($this->grammar->compileDropAllTables()); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Seeder.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Seeder.php deleted file mode 100644 index c415c89..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/Seeder.php +++ /dev/null @@ -1,127 +0,0 @@ -resolve($class); - - if ($silent === false && isset($this->command)) { - $this->command->getOutput()->writeln('Seeding: '.get_class($seeder)); - } - - $seeder->__invoke(); - } - - return $this; - } - - /** - * Silently seed the given connection from the given path. - * - * @param array|string $class - * @return void - */ - public function callSilent($class) - { - $this->call($class, true); - } - - /** - * Resolve an instance of the given seeder class. - * - * @param string $class - * @return \Illuminate\Database\Seeder - */ - protected function resolve($class) - { - if (isset($this->container)) { - $instance = $this->container->make($class); - - $instance->setContainer($this->container); - } else { - $instance = new $class; - } - - if (isset($this->command)) { - $instance->setCommand($this->command); - } - - return $instance; - } - - /** - * Set the IoC container instance. - * - * @param \Illuminate\Container\Container $container - * @return $this - */ - public function setContainer(Container $container) - { - $this->container = $container; - - return $this; - } - - /** - * Set the console command instance. - * - * @param \Illuminate\Console\Command $command - * @return $this - */ - public function setCommand(Command $command) - { - $this->command = $command; - - return $this; - } - - /** - * Run the database seeds. - * - * @return mixed - * - * @throws \InvalidArgumentException - */ - public function __invoke() - { - if (! method_exists($this, 'run')) { - throw new InvalidArgumentException('Method [run] missing from '.get_class($this)); - } - - return isset($this->container) - ? $this->container->call([$this, 'run']) - : $this->run(); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/SqlServerConnection.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/SqlServerConnection.php deleted file mode 100644 index db5a0be..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/SqlServerConnection.php +++ /dev/null @@ -1,113 +0,0 @@ -getDriverName() === 'sqlsrv') { - return parent::transaction($callback); - } - - $this->getPdo()->exec('BEGIN TRAN'); - - // We'll simply execute the given callback within a try / catch block - // and if we catch any exception we can rollback the transaction - // so that none of the changes are persisted to the database. - try { - $result = $callback($this); - - $this->getPdo()->exec('COMMIT TRAN'); - } - - // If we catch an exception, we will roll back so nothing gets messed - // up in the database. Then we'll re-throw the exception so it can - // be handled how the developer sees fit for their applications. - catch (Exception $e) { - $this->getPdo()->exec('ROLLBACK TRAN'); - - throw $e; - } catch (Throwable $e) { - $this->getPdo()->exec('ROLLBACK TRAN'); - - throw $e; - } - - return $result; - } - } - - /** - * Get the default query grammar instance. - * - * @return \Illuminate\Database\Query\Grammars\SqlServerGrammar - */ - protected function getDefaultQueryGrammar() - { - return $this->withTablePrefix(new QueryGrammar); - } - - /** - * Get a schema builder instance for the connection. - * - * @return \Illuminate\Database\Schema\SqlServerBuilder - */ - public function getSchemaBuilder() - { - if (is_null($this->schemaGrammar)) { - $this->useDefaultSchemaGrammar(); - } - - return new SqlServerBuilder($this); - } - - /** - * Get the default schema grammar instance. - * - * @return \Illuminate\Database\Schema\Grammars\SqlServerGrammar - */ - protected function getDefaultSchemaGrammar() - { - return $this->withTablePrefix(new SchemaGrammar); - } - - /** - * Get the default post processor instance. - * - * @return \Illuminate\Database\Query\Processors\SqlServerProcessor - */ - protected function getDefaultPostProcessor() - { - return new SqlServerProcessor; - } - - /** - * Get the Doctrine DBAL driver. - * - * @return \Doctrine\DBAL\Driver\PDOSqlsrv\Driver - */ - protected function getDoctrineDriver() - { - return new DoctrineDriver; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/composer.json b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/composer.json deleted file mode 100644 index 288dba5..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Database/composer.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "name": "illuminate/database", - "description": "The Illuminate Database package.", - "license": "MIT", - "homepage": "https://laravel.com", - "support": { - "issues": "https://github.com/laravel/framework/issues", - "source": "https://github.com/laravel/framework" - }, - "keywords": ["laravel", "database", "sql", "orm"], - "authors": [ - { - "name": "Taylor Otwell", - "email": "taylor@laravel.com" - } - ], - "require": { - "php": "^7.1.3", - "ext-json": "*", - "illuminate/container": "5.8.*", - "illuminate/contracts": "5.8.*", - "illuminate/support": "5.8.*" - }, - "autoload": { - "psr-4": { - "Illuminate\\Database\\": "" - } - }, - "extra": { - "branch-alias": { - "dev-master": "5.8-dev" - } - }, - "suggest": { - "doctrine/dbal": "Required to rename columns and drop SQLite columns (^2.6).", - "fzaninotto/faker": "Required to use the eloquent factory builder (^1.4).", - "illuminate/console": "Required to use the database commands (5.8.*).", - "illuminate/events": "Required to use the observers with Eloquent (5.8.*).", - "illuminate/filesystem": "Required to use the migrations (5.8.*).", - "illuminate/pagination": "Required to paginate the result set (5.8.*)." - }, - "config": { - "sort-packages": true - }, - "minimum-stability": "dev" -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Encryption/Encrypter.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Encryption/Encrypter.php deleted file mode 100644 index 5aa16a0..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Encryption/Encrypter.php +++ /dev/null @@ -1,255 +0,0 @@ -key = $key; - $this->cipher = $cipher; - } else { - throw new RuntimeException('The only supported ciphers are AES-128-CBC and AES-256-CBC with the correct key lengths.'); - } - } - - /** - * Determine if the given key and cipher combination is valid. - * - * @param string $key - * @param string $cipher - * @return bool - */ - public static function supported($key, $cipher) - { - $length = mb_strlen($key, '8bit'); - - return ($cipher === 'AES-128-CBC' && $length === 16) || - ($cipher === 'AES-256-CBC' && $length === 32); - } - - /** - * Create a new encryption key for the given cipher. - * - * @param string $cipher - * @return string - */ - public static function generateKey($cipher) - { - return random_bytes($cipher === 'AES-128-CBC' ? 16 : 32); - } - - /** - * Encrypt the given value. - * - * @param mixed $value - * @param bool $serialize - * @return string - * - * @throws \Illuminate\Contracts\Encryption\EncryptException - */ - public function encrypt($value, $serialize = true) - { - $iv = random_bytes(openssl_cipher_iv_length($this->cipher)); - - // First we will encrypt the value using OpenSSL. After this is encrypted we - // will proceed to calculating a MAC for the encrypted value so that this - // value can be verified later as not having been changed by the users. - $value = \openssl_encrypt( - $serialize ? serialize($value) : $value, - $this->cipher, $this->key, 0, $iv - ); - - if ($value === false) { - throw new EncryptException('Could not encrypt the data.'); - } - - // Once we get the encrypted value we'll go ahead and base64_encode the input - // vector and create the MAC for the encrypted value so we can then verify - // its authenticity. Then, we'll JSON the data into the "payload" array. - $mac = $this->hash($iv = base64_encode($iv), $value); - - $json = json_encode(compact('iv', 'value', 'mac')); - - if (json_last_error() !== JSON_ERROR_NONE) { - throw new EncryptException('Could not encrypt the data.'); - } - - return base64_encode($json); - } - - /** - * Encrypt a string without serialization. - * - * @param string $value - * @return string - * - * @throws \Illuminate\Contracts\Encryption\EncryptException - */ - public function encryptString($value) - { - return $this->encrypt($value, false); - } - - /** - * Decrypt the given value. - * - * @param string $payload - * @param bool $unserialize - * @return mixed - * - * @throws \Illuminate\Contracts\Encryption\DecryptException - */ - public function decrypt($payload, $unserialize = true) - { - $payload = $this->getJsonPayload($payload); - - $iv = base64_decode($payload['iv']); - - // Here we will decrypt the value. If we are able to successfully decrypt it - // we will then unserialize it and return it out to the caller. If we are - // unable to decrypt this value we will throw out an exception message. - $decrypted = \openssl_decrypt( - $payload['value'], $this->cipher, $this->key, 0, $iv - ); - - if ($decrypted === false) { - throw new DecryptException('Could not decrypt the data.'); - } - - return $unserialize ? unserialize($decrypted) : $decrypted; - } - - /** - * Decrypt the given string without unserialization. - * - * @param string $payload - * @return string - * - * @throws \Illuminate\Contracts\Encryption\DecryptException - */ - public function decryptString($payload) - { - return $this->decrypt($payload, false); - } - - /** - * Create a MAC for the given value. - * - * @param string $iv - * @param mixed $value - * @return string - */ - protected function hash($iv, $value) - { - return hash_hmac('sha256', $iv.$value, $this->key); - } - - /** - * Get the JSON array from the given payload. - * - * @param string $payload - * @return array - * - * @throws \Illuminate\Contracts\Encryption\DecryptException - */ - protected function getJsonPayload($payload) - { - $payload = json_decode(base64_decode($payload), true); - - // If the payload is not valid JSON or does not have the proper keys set we will - // assume it is invalid and bail out of the routine since we will not be able - // to decrypt the given value. We'll also check the MAC for this encryption. - if (! $this->validPayload($payload)) { - throw new DecryptException('The payload is invalid.'); - } - - if (! $this->validMac($payload)) { - throw new DecryptException('The MAC is invalid.'); - } - - return $payload; - } - - /** - * Verify that the encryption payload is valid. - * - * @param mixed $payload - * @return bool - */ - protected function validPayload($payload) - { - return is_array($payload) && isset($payload['iv'], $payload['value'], $payload['mac']) && - strlen(base64_decode($payload['iv'], true)) === openssl_cipher_iv_length($this->cipher); - } - - /** - * Determine if the MAC for the given payload is valid. - * - * @param array $payload - * @return bool - */ - protected function validMac(array $payload) - { - $calculated = $this->calculateMac($payload, $bytes = random_bytes(16)); - - return hash_equals( - hash_hmac('sha256', $payload['mac'], $bytes, true), $calculated - ); - } - - /** - * Calculate the hash of the given payload. - * - * @param array $payload - * @param string $bytes - * @return string - */ - protected function calculateMac($payload, $bytes) - { - return hash_hmac( - 'sha256', $this->hash($payload['iv'], $payload['value']), $bytes, true - ); - } - - /** - * Get the encryption key. - * - * @return string - */ - public function getKey() - { - return $this->key; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Encryption/EncryptionServiceProvider.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Encryption/EncryptionServiceProvider.php deleted file mode 100644 index ad7b93d..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Encryption/EncryptionServiceProvider.php +++ /dev/null @@ -1,50 +0,0 @@ -app->singleton('encrypter', function ($app) { - $config = $app->make('config')->get('app'); - - // If the key starts with "base64:", we will need to decode the key before handing - // it off to the encrypter. Keys may be base-64 encoded for presentation and we - // want to make sure to convert them back to the raw bytes before encrypting. - if (Str::startsWith($key = $this->key($config), 'base64:')) { - $key = base64_decode(substr($key, 7)); - } - - return new Encrypter($key, $config['cipher']); - }); - } - - /** - * Extract the encryption key from the given configuration. - * - * @param array $config - * @return string - * - * @throws \RuntimeException - */ - protected function key(array $config) - { - return tap($config['key'], function ($key) { - if (empty($key)) { - throw new RuntimeException( - 'No application encryption key has been specified.' - ); - } - }); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Encryption/LICENSE.md b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Encryption/LICENSE.md deleted file mode 100644 index 79810c8..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Encryption/LICENSE.md +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) Taylor Otwell - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Encryption/composer.json b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Encryption/composer.json deleted file mode 100644 index 1421c26..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Encryption/composer.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "name": "illuminate/encryption", - "description": "The Illuminate Encryption package.", - "license": "MIT", - "homepage": "https://laravel.com", - "support": { - "issues": "https://github.com/laravel/framework/issues", - "source": "https://github.com/laravel/framework" - }, - "authors": [ - { - "name": "Taylor Otwell", - "email": "taylor@laravel.com" - } - ], - "require": { - "php": "^7.1.3", - "ext-json": "*", - "ext-mbstring": "*", - "ext-openssl": "*", - "illuminate/contracts": "5.8.*", - "illuminate/support": "5.8.*" - }, - "autoload": { - "psr-4": { - "Illuminate\\Encryption\\": "" - } - }, - "extra": { - "branch-alias": { - "dev-master": "5.8-dev" - } - }, - "config": { - "sort-packages": true - }, - "minimum-stability": "dev" -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Events/CallQueuedListener.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Events/CallQueuedListener.php deleted file mode 100644 index be0fee3..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Events/CallQueuedListener.php +++ /dev/null @@ -1,160 +0,0 @@ -data = $data; - $this->class = $class; - $this->method = $method; - } - - /** - * Handle the queued job. - * - * @param \Illuminate\Container\Container $container - * @return void - */ - public function handle(Container $container) - { - $this->prepareData(); - - $handler = $this->setJobInstanceIfNecessary( - $this->job, $container->make($this->class) - ); - - call_user_func_array( - [$handler, $this->method], $this->data - ); - } - - /** - * Set the job instance of the given class if necessary. - * - * @param \Illuminate\Contracts\Queue\Job $job - * @param mixed $instance - * @return mixed - */ - protected function setJobInstanceIfNecessary(Job $job, $instance) - { - if (in_array(InteractsWithQueue::class, class_uses_recursive($instance))) { - $instance->setJob($job); - } - - return $instance; - } - - /** - * Call the failed method on the job instance. - * - * The event instance and the exception will be passed. - * - * @param \Exception $e - * @return void - */ - public function failed($e) - { - $this->prepareData(); - - $handler = Container::getInstance()->make($this->class); - - $parameters = array_merge($this->data, [$e]); - - if (method_exists($handler, 'failed')) { - call_user_func_array([$handler, 'failed'], $parameters); - } - } - - /** - * Unserialize the data if needed. - * - * @return void - */ - protected function prepareData() - { - if (is_string($this->data)) { - $this->data = unserialize($this->data); - } - } - - /** - * Get the display name for the queued job. - * - * @return string - */ - public function displayName() - { - return $this->class; - } - - /** - * Prepare the instance for cloning. - * - * @return void - */ - public function __clone() - { - $this->data = array_map(function ($data) { - return is_object($data) ? clone $data : $data; - }, $this->data); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Events/Dispatcher.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Events/Dispatcher.php deleted file mode 100644 index 95826c0..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Events/Dispatcher.php +++ /dev/null @@ -1,560 +0,0 @@ -container = $container ?: new Container; - } - - /** - * Register an event listener with the dispatcher. - * - * @param string|array $events - * @param mixed $listener - * @return void - */ - public function listen($events, $listener) - { - foreach ((array) $events as $event) { - if (Str::contains($event, '*')) { - $this->setupWildcardListen($event, $listener); - } else { - $this->listeners[$event][] = $this->makeListener($listener); - } - } - } - - /** - * Setup a wildcard listener callback. - * - * @param string $event - * @param mixed $listener - * @return void - */ - protected function setupWildcardListen($event, $listener) - { - $this->wildcards[$event][] = $this->makeListener($listener, true); - - $this->wildcardsCache = []; - } - - /** - * Determine if a given event has listeners. - * - * @param string $eventName - * @return bool - */ - public function hasListeners($eventName) - { - return isset($this->listeners[$eventName]) || isset($this->wildcards[$eventName]); - } - - /** - * Register an event and payload to be fired later. - * - * @param string $event - * @param array $payload - * @return void - */ - public function push($event, $payload = []) - { - $this->listen($event.'_pushed', function () use ($event, $payload) { - $this->dispatch($event, $payload); - }); - } - - /** - * Flush a set of pushed events. - * - * @param string $event - * @return void - */ - public function flush($event) - { - $this->dispatch($event.'_pushed'); - } - - /** - * Register an event subscriber with the dispatcher. - * - * @param object|string $subscriber - * @return void - */ - public function subscribe($subscriber) - { - $subscriber = $this->resolveSubscriber($subscriber); - - $subscriber->subscribe($this); - } - - /** - * Resolve the subscriber instance. - * - * @param object|string $subscriber - * @return mixed - */ - protected function resolveSubscriber($subscriber) - { - if (is_string($subscriber)) { - return $this->container->make($subscriber); - } - - return $subscriber; - } - - /** - * Fire an event until the first non-null response is returned. - * - * @param string|object $event - * @param mixed $payload - * @return array|null - */ - public function until($event, $payload = []) - { - return $this->dispatch($event, $payload, true); - } - - /** - * Fire an event and call the listeners. - * - * @param string|object $event - * @param mixed $payload - * @param bool $halt - * @return array|null - */ - public function dispatch($event, $payload = [], $halt = false) - { - // When the given "event" is actually an object we will assume it is an event - // object and use the class as the event name and this event itself as the - // payload to the handler, which makes object based events quite simple. - [$event, $payload] = $this->parseEventAndPayload( - $event, $payload - ); - - if ($this->shouldBroadcast($payload)) { - $this->broadcastEvent($payload[0]); - } - - $responses = []; - - foreach ($this->getListeners($event) as $listener) { - $response = $listener($event, $payload); - - // If a response is returned from the listener and event halting is enabled - // we will just return this response, and not call the rest of the event - // listeners. Otherwise we will add the response on the response list. - if ($halt && ! is_null($response)) { - return $response; - } - - // If a boolean false is returned from a listener, we will stop propagating - // the event to any further listeners down in the chain, else we keep on - // looping through the listeners and firing every one in our sequence. - if ($response === false) { - break; - } - - $responses[] = $response; - } - - return $halt ? null : $responses; - } - - /** - * Parse the given event and payload and prepare them for dispatching. - * - * @param mixed $event - * @param mixed $payload - * @return array - */ - protected function parseEventAndPayload($event, $payload) - { - if (is_object($event)) { - [$payload, $event] = [[$event], get_class($event)]; - } - - return [$event, Arr::wrap($payload)]; - } - - /** - * Determine if the payload has a broadcastable event. - * - * @param array $payload - * @return bool - */ - protected function shouldBroadcast(array $payload) - { - return isset($payload[0]) && - $payload[0] instanceof ShouldBroadcast && - $this->broadcastWhen($payload[0]); - } - - /** - * Check if event should be broadcasted by condition. - * - * @param mixed $event - * @return bool - */ - protected function broadcastWhen($event) - { - return method_exists($event, 'broadcastWhen') - ? $event->broadcastWhen() : true; - } - - /** - * Broadcast the given event class. - * - * @param \Illuminate\Contracts\Broadcasting\ShouldBroadcast $event - * @return void - */ - protected function broadcastEvent($event) - { - $this->container->make(BroadcastFactory::class)->queue($event); - } - - /** - * Get all of the listeners for a given event name. - * - * @param string $eventName - * @return array - */ - public function getListeners($eventName) - { - $listeners = $this->listeners[$eventName] ?? []; - - $listeners = array_merge( - $listeners, - $this->wildcardsCache[$eventName] ?? $this->getWildcardListeners($eventName) - ); - - return class_exists($eventName, false) - ? $this->addInterfaceListeners($eventName, $listeners) - : $listeners; - } - - /** - * Get the wildcard listeners for the event. - * - * @param string $eventName - * @return array - */ - protected function getWildcardListeners($eventName) - { - $wildcards = []; - - foreach ($this->wildcards as $key => $listeners) { - if (Str::is($key, $eventName)) { - $wildcards = array_merge($wildcards, $listeners); - } - } - - return $this->wildcardsCache[$eventName] = $wildcards; - } - - /** - * Add the listeners for the event's interfaces to the given array. - * - * @param string $eventName - * @param array $listeners - * @return array - */ - protected function addInterfaceListeners($eventName, array $listeners = []) - { - foreach (class_implements($eventName) as $interface) { - if (isset($this->listeners[$interface])) { - foreach ($this->listeners[$interface] as $names) { - $listeners = array_merge($listeners, (array) $names); - } - } - } - - return $listeners; - } - - /** - * Register an event listener with the dispatcher. - * - * @param \Closure|string $listener - * @param bool $wildcard - * @return \Closure - */ - public function makeListener($listener, $wildcard = false) - { - if (is_string($listener)) { - return $this->createClassListener($listener, $wildcard); - } - - return function ($event, $payload) use ($listener, $wildcard) { - if ($wildcard) { - return $listener($event, $payload); - } - - return $listener(...array_values($payload)); - }; - } - - /** - * Create a class based listener using the IoC container. - * - * @param string $listener - * @param bool $wildcard - * @return \Closure - */ - public function createClassListener($listener, $wildcard = false) - { - return function ($event, $payload) use ($listener, $wildcard) { - if ($wildcard) { - return call_user_func($this->createClassCallable($listener), $event, $payload); - } - - return call_user_func_array( - $this->createClassCallable($listener), $payload - ); - }; - } - - /** - * Create the class based event callable. - * - * @param string $listener - * @return callable - */ - protected function createClassCallable($listener) - { - [$class, $method] = $this->parseClassCallable($listener); - - if ($this->handlerShouldBeQueued($class)) { - return $this->createQueuedHandlerCallable($class, $method); - } - - return [$this->container->make($class), $method]; - } - - /** - * Parse the class listener into class and method. - * - * @param string $listener - * @return array - */ - protected function parseClassCallable($listener) - { - return Str::parseCallback($listener, 'handle'); - } - - /** - * Determine if the event handler class should be queued. - * - * @param string $class - * @return bool - */ - protected function handlerShouldBeQueued($class) - { - try { - return (new ReflectionClass($class))->implementsInterface( - ShouldQueue::class - ); - } catch (Exception $e) { - return false; - } - } - - /** - * Create a callable for putting an event handler on the queue. - * - * @param string $class - * @param string $method - * @return \Closure - */ - protected function createQueuedHandlerCallable($class, $method) - { - return function () use ($class, $method) { - $arguments = array_map(function ($a) { - return is_object($a) ? clone $a : $a; - }, func_get_args()); - - if ($this->handlerWantsToBeQueued($class, $arguments)) { - $this->queueHandler($class, $method, $arguments); - } - }; - } - - /** - * Determine if the event handler wants to be queued. - * - * @param string $class - * @param array $arguments - * @return bool - */ - protected function handlerWantsToBeQueued($class, $arguments) - { - if (method_exists($class, 'shouldQueue')) { - return $this->container->make($class)->shouldQueue($arguments[0]); - } - - return true; - } - - /** - * Queue the handler class. - * - * @param string $class - * @param string $method - * @param array $arguments - * @return void - */ - protected function queueHandler($class, $method, $arguments) - { - [$listener, $job] = $this->createListenerAndJob($class, $method, $arguments); - - $connection = $this->resolveQueue()->connection( - $listener->connection ?? null - ); - - $queue = $listener->queue ?? null; - - isset($listener->delay) - ? $connection->laterOn($queue, $listener->delay, $job) - : $connection->pushOn($queue, $job); - } - - /** - * Create the listener and job for a queued listener. - * - * @param string $class - * @param string $method - * @param array $arguments - * @return array - */ - protected function createListenerAndJob($class, $method, $arguments) - { - $listener = (new ReflectionClass($class))->newInstanceWithoutConstructor(); - - return [$listener, $this->propagateListenerOptions( - $listener, new CallQueuedListener($class, $method, $arguments) - )]; - } - - /** - * Propagate listener options to the job. - * - * @param mixed $listener - * @param mixed $job - * @return mixed - */ - protected function propagateListenerOptions($listener, $job) - { - return tap($job, function ($job) use ($listener) { - $job->tries = $listener->tries ?? null; - $job->timeout = $listener->timeout ?? null; - $job->timeoutAt = method_exists($listener, 'retryUntil') - ? $listener->retryUntil() : null; - }); - } - - /** - * Remove a set of listeners from the dispatcher. - * - * @param string $event - * @return void - */ - public function forget($event) - { - if (Str::contains($event, '*')) { - unset($this->wildcards[$event]); - } else { - unset($this->listeners[$event]); - } - } - - /** - * Forget all of the pushed listeners. - * - * @return void - */ - public function forgetPushed() - { - foreach ($this->listeners as $key => $value) { - if (Str::endsWith($key, '_pushed')) { - $this->forget($key); - } - } - } - - /** - * Get the queue implementation from the resolver. - * - * @return \Illuminate\Contracts\Queue\Queue - */ - protected function resolveQueue() - { - return call_user_func($this->queueResolver); - } - - /** - * Set the queue resolver implementation. - * - * @param callable $resolver - * @return $this - */ - public function setQueueResolver(callable $resolver) - { - $this->queueResolver = $resolver; - - return $this; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Events/EventServiceProvider.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Events/EventServiceProvider.php deleted file mode 100644 index fa3ed6f..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Events/EventServiceProvider.php +++ /dev/null @@ -1,23 +0,0 @@ -app->singleton('events', function ($app) { - return (new Dispatcher($app))->setQueueResolver(function () use ($app) { - return $app->make(QueueFactoryContract::class); - }); - }); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Events/LICENSE.md b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Events/LICENSE.md deleted file mode 100644 index 79810c8..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Events/LICENSE.md +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) Taylor Otwell - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Events/composer.json b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Events/composer.json deleted file mode 100644 index d75f2c1..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Events/composer.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "name": "illuminate/events", - "description": "The Illuminate Events package.", - "license": "MIT", - "homepage": "https://laravel.com", - "support": { - "issues": "https://github.com/laravel/framework/issues", - "source": "https://github.com/laravel/framework" - }, - "authors": [ - { - "name": "Taylor Otwell", - "email": "taylor@laravel.com" - } - ], - "require": { - "php": "^7.1.3", - "illuminate/container": "5.8.*", - "illuminate/contracts": "5.8.*", - "illuminate/support": "5.8.*" - }, - "autoload": { - "psr-4": { - "Illuminate\\Events\\": "" - } - }, - "extra": { - "branch-alias": { - "dev-master": "5.8-dev" - } - }, - "config": { - "sort-packages": true - }, - "minimum-stability": "dev" -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Filesystem/Cache.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Filesystem/Cache.php deleted file mode 100644 index 46cabc3..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Filesystem/Cache.php +++ /dev/null @@ -1,70 +0,0 @@ -key = $key; - $this->expire = $expire; - $this->repository = $repository; - } - - /** - * Load the cache. - * - * @return void - */ - public function load() - { - $contents = $this->repository->get($this->key); - - if (! is_null($contents)) { - $this->setFromStorage($contents); - } - } - - /** - * Persist the cache. - * - * @return void - */ - public function save() - { - $contents = $this->getForStorage(); - - $this->repository->put($this->key, $contents, $this->expire); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php deleted file mode 100644 index 6ed474e..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php +++ /dev/null @@ -1,609 +0,0 @@ -isFile($path)) { - return $lock ? $this->sharedGet($path) : file_get_contents($path); - } - - throw new FileNotFoundException("File does not exist at path {$path}"); - } - - /** - * Get contents of a file with shared access. - * - * @param string $path - * @return string - */ - public function sharedGet($path) - { - $contents = ''; - - $handle = fopen($path, 'rb'); - - if ($handle) { - try { - if (flock($handle, LOCK_SH)) { - clearstatcache(true, $path); - - $contents = fread($handle, $this->size($path) ?: 1); - - flock($handle, LOCK_UN); - } - } finally { - fclose($handle); - } - } - - return $contents; - } - - /** - * Get the returned value of a file. - * - * @param string $path - * @return mixed - * - * @throws \Illuminate\Contracts\Filesystem\FileNotFoundException - */ - public function getRequire($path) - { - if ($this->isFile($path)) { - return require $path; - } - - throw new FileNotFoundException("File does not exist at path {$path}"); - } - - /** - * Require the given file once. - * - * @param string $file - * @return mixed - */ - public function requireOnce($file) - { - require_once $file; - } - - /** - * Get the MD5 hash of the file at the given path. - * - * @param string $path - * @return string - */ - public function hash($path) - { - return md5_file($path); - } - - /** - * Write the contents of a file. - * - * @param string $path - * @param string $contents - * @param bool $lock - * @return int|bool - */ - public function put($path, $contents, $lock = false) - { - return file_put_contents($path, $contents, $lock ? LOCK_EX : 0); - } - - /** - * Write the contents of a file, replacing it atomically if it already exists. - * - * @param string $path - * @param string $content - * @return void - */ - public function replace($path, $content) - { - // If the path already exists and is a symlink, get the real path... - clearstatcache(true, $path); - - $path = realpath($path) ?: $path; - - $tempPath = tempnam(dirname($path), basename($path)); - - // Fix permissions of tempPath because `tempnam()` creates it with permissions set to 0600... - chmod($tempPath, 0777 - umask()); - - file_put_contents($tempPath, $content); - - rename($tempPath, $path); - } - - /** - * Prepend to a file. - * - * @param string $path - * @param string $data - * @return int - */ - public function prepend($path, $data) - { - if ($this->exists($path)) { - return $this->put($path, $data.$this->get($path)); - } - - return $this->put($path, $data); - } - - /** - * Append to a file. - * - * @param string $path - * @param string $data - * @return int - */ - public function append($path, $data) - { - return file_put_contents($path, $data, FILE_APPEND); - } - - /** - * Get or set UNIX mode of a file or directory. - * - * @param string $path - * @param int|null $mode - * @return mixed - */ - public function chmod($path, $mode = null) - { - if ($mode) { - return chmod($path, $mode); - } - - return substr(sprintf('%o', fileperms($path)), -4); - } - - /** - * Delete the file at a given path. - * - * @param string|array $paths - * @return bool - */ - public function delete($paths) - { - $paths = is_array($paths) ? $paths : func_get_args(); - - $success = true; - - foreach ($paths as $path) { - try { - if (! @unlink($path)) { - $success = false; - } - } catch (ErrorException $e) { - $success = false; - } - } - - return $success; - } - - /** - * Move a file to a new location. - * - * @param string $path - * @param string $target - * @return bool - */ - public function move($path, $target) - { - return rename($path, $target); - } - - /** - * Copy a file to a new location. - * - * @param string $path - * @param string $target - * @return bool - */ - public function copy($path, $target) - { - return copy($path, $target); - } - - /** - * Create a hard link to the target file or directory. - * - * @param string $target - * @param string $link - * @return void - */ - public function link($target, $link) - { - if (! windows_os()) { - return symlink($target, $link); - } - - $mode = $this->isDirectory($target) ? 'J' : 'H'; - - exec("mklink /{$mode} ".escapeshellarg($link).' '.escapeshellarg($target)); - } - - /** - * Extract the file name from a file path. - * - * @param string $path - * @return string - */ - public function name($path) - { - return pathinfo($path, PATHINFO_FILENAME); - } - - /** - * Extract the trailing name component from a file path. - * - * @param string $path - * @return string - */ - public function basename($path) - { - return pathinfo($path, PATHINFO_BASENAME); - } - - /** - * Extract the parent directory from a file path. - * - * @param string $path - * @return string - */ - public function dirname($path) - { - return pathinfo($path, PATHINFO_DIRNAME); - } - - /** - * Extract the file extension from a file path. - * - * @param string $path - * @return string - */ - public function extension($path) - { - return pathinfo($path, PATHINFO_EXTENSION); - } - - /** - * Get the file type of a given file. - * - * @param string $path - * @return string - */ - public function type($path) - { - return filetype($path); - } - - /** - * Get the mime-type of a given file. - * - * @param string $path - * @return string|false - */ - public function mimeType($path) - { - return finfo_file(finfo_open(FILEINFO_MIME_TYPE), $path); - } - - /** - * Get the file size of a given file. - * - * @param string $path - * @return int - */ - public function size($path) - { - return filesize($path); - } - - /** - * Get the file's last modification time. - * - * @param string $path - * @return int - */ - public function lastModified($path) - { - return filemtime($path); - } - - /** - * Determine if the given path is a directory. - * - * @param string $directory - * @return bool - */ - public function isDirectory($directory) - { - return is_dir($directory); - } - - /** - * Determine if the given path is readable. - * - * @param string $path - * @return bool - */ - public function isReadable($path) - { - return is_readable($path); - } - - /** - * Determine if the given path is writable. - * - * @param string $path - * @return bool - */ - public function isWritable($path) - { - return is_writable($path); - } - - /** - * Determine if the given path is a file. - * - * @param string $file - * @return bool - */ - public function isFile($file) - { - return is_file($file); - } - - /** - * Find path names matching a given pattern. - * - * @param string $pattern - * @param int $flags - * @return array - */ - public function glob($pattern, $flags = 0) - { - return glob($pattern, $flags); - } - - /** - * Get an array of all files in a directory. - * - * @param string $directory - * @param bool $hidden - * @return \Symfony\Component\Finder\SplFileInfo[] - */ - public function files($directory, $hidden = false) - { - return iterator_to_array( - Finder::create()->files()->ignoreDotFiles(! $hidden)->in($directory)->depth(0)->sortByName(), - false - ); - } - - /** - * Get all of the files from the given directory (recursive). - * - * @param string $directory - * @param bool $hidden - * @return \Symfony\Component\Finder\SplFileInfo[] - */ - public function allFiles($directory, $hidden = false) - { - return iterator_to_array( - Finder::create()->files()->ignoreDotFiles(! $hidden)->in($directory)->sortByName(), - false - ); - } - - /** - * Get all of the directories within a given directory. - * - * @param string $directory - * @return array - */ - public function directories($directory) - { - $directories = []; - - foreach (Finder::create()->in($directory)->directories()->depth(0)->sortByName() as $dir) { - $directories[] = $dir->getPathname(); - } - - return $directories; - } - - /** - * Create a directory. - * - * @param string $path - * @param int $mode - * @param bool $recursive - * @param bool $force - * @return bool - */ - public function makeDirectory($path, $mode = 0755, $recursive = false, $force = false) - { - if ($force) { - return @mkdir($path, $mode, $recursive); - } - - return mkdir($path, $mode, $recursive); - } - - /** - * Move a directory. - * - * @param string $from - * @param string $to - * @param bool $overwrite - * @return bool - */ - public function moveDirectory($from, $to, $overwrite = false) - { - if ($overwrite && $this->isDirectory($to) && ! $this->deleteDirectory($to)) { - return false; - } - - return @rename($from, $to) === true; - } - - /** - * Copy a directory from one location to another. - * - * @param string $directory - * @param string $destination - * @param int|null $options - * @return bool - */ - public function copyDirectory($directory, $destination, $options = null) - { - if (! $this->isDirectory($directory)) { - return false; - } - - $options = $options ?: FilesystemIterator::SKIP_DOTS; - - // If the destination directory does not actually exist, we will go ahead and - // create it recursively, which just gets the destination prepared to copy - // the files over. Once we make the directory we'll proceed the copying. - if (! $this->isDirectory($destination)) { - $this->makeDirectory($destination, 0777, true); - } - - $items = new FilesystemIterator($directory, $options); - - foreach ($items as $item) { - // As we spin through items, we will check to see if the current file is actually - // a directory or a file. When it is actually a directory we will need to call - // back into this function recursively to keep copying these nested folders. - $target = $destination.'/'.$item->getBasename(); - - if ($item->isDir()) { - $path = $item->getPathname(); - - if (! $this->copyDirectory($path, $target, $options)) { - return false; - } - } - - // If the current items is just a regular file, we will just copy this to the new - // location and keep looping. If for some reason the copy fails we'll bail out - // and return false, so the developer is aware that the copy process failed. - else { - if (! $this->copy($item->getPathname(), $target)) { - return false; - } - } - } - - return true; - } - - /** - * Recursively delete a directory. - * - * The directory itself may be optionally preserved. - * - * @param string $directory - * @param bool $preserve - * @return bool - */ - public function deleteDirectory($directory, $preserve = false) - { - if (! $this->isDirectory($directory)) { - return false; - } - - $items = new FilesystemIterator($directory); - - foreach ($items as $item) { - // If the item is a directory, we can just recurse into the function and - // delete that sub-directory otherwise we'll just delete the file and - // keep iterating through each file until the directory is cleaned. - if ($item->isDir() && ! $item->isLink()) { - $this->deleteDirectory($item->getPathname()); - } - - // If the item is just a file, we can go ahead and delete it since we're - // just looping through and waxing all of the files in this directory - // and calling directories recursively, so we delete the real path. - else { - $this->delete($item->getPathname()); - } - } - - if (! $preserve) { - @rmdir($directory); - } - - return true; - } - - /** - * Remove all of the directories within a given directory. - * - * @param string $directory - * @return bool - */ - public function deleteDirectories($directory) - { - $allDirectories = $this->directories($directory); - - if (! empty($allDirectories)) { - foreach ($allDirectories as $directoryName) { - $this->deleteDirectory($directoryName); - } - - return true; - } - - return false; - } - - /** - * Empty the specified directory of all files and folders. - * - * @param string $directory - * @return bool - */ - public function cleanDirectory($directory) - { - return $this->deleteDirectory($directory, true); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php deleted file mode 100644 index 9198c75..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php +++ /dev/null @@ -1,744 +0,0 @@ -driver = $driver; - } - - /** - * Assert that the given file exists. - * - * @param string|array $path - * @return $this - */ - public function assertExists($path) - { - $paths = Arr::wrap($path); - - foreach ($paths as $path) { - PHPUnit::assertTrue( - $this->exists($path), "Unable to find a file at path [{$path}]." - ); - } - - return $this; - } - - /** - * Assert that the given file does not exist. - * - * @param string|array $path - * @return $this - */ - public function assertMissing($path) - { - $paths = Arr::wrap($path); - - foreach ($paths as $path) { - PHPUnit::assertFalse( - $this->exists($path), "Found unexpected file at path [{$path}]." - ); - } - - return $this; - } - - /** - * Determine if a file exists. - * - * @param string $path - * @return bool - */ - public function exists($path) - { - return $this->driver->has($path); - } - - /** - * Get the full path for the file at the given "short" path. - * - * @param string $path - * @return string - */ - public function path($path) - { - return $this->driver->getAdapter()->getPathPrefix().$path; - } - - /** - * Get the contents of a file. - * - * @param string $path - * @return string - * - * @throws \Illuminate\Contracts\Filesystem\FileNotFoundException - */ - public function get($path) - { - try { - return $this->driver->read($path); - } catch (FileNotFoundException $e) { - throw new ContractFileNotFoundException($path, $e->getCode(), $e); - } - } - - /** - * Create a streamed response for a given file. - * - * @param string $path - * @param string|null $name - * @param array|null $headers - * @param string|null $disposition - * @return \Symfony\Component\HttpFoundation\StreamedResponse - */ - public function response($path, $name = null, array $headers = [], $disposition = 'inline') - { - $response = new StreamedResponse; - - $filename = $name ?? basename($path); - - $disposition = $response->headers->makeDisposition( - $disposition, $filename, $this->fallbackName($filename) - ); - - $response->headers->replace($headers + [ - 'Content-Type' => $this->mimeType($path), - 'Content-Length' => $this->size($path), - 'Content-Disposition' => $disposition, - ]); - - $response->setCallback(function () use ($path) { - $stream = $this->readStream($path); - fpassthru($stream); - fclose($stream); - }); - - return $response; - } - - /** - * Create a streamed download response for a given file. - * - * @param string $path - * @param string|null $name - * @param array|null $headers - * @return \Symfony\Component\HttpFoundation\StreamedResponse - */ - public function download($path, $name = null, array $headers = []) - { - return $this->response($path, $name, $headers, 'attachment'); - } - - /** - * Convert the string to ASCII characters that are equivalent to the given name. - * - * @param string $name - * @return string - */ - protected function fallbackName($name) - { - return str_replace('%', '', Str::ascii($name)); - } - - /** - * Write the contents of a file. - * - * @param string $path - * @param string|resource $contents - * @param mixed $options - * @return bool - */ - public function put($path, $contents, $options = []) - { - $options = is_string($options) - ? ['visibility' => $options] - : (array) $options; - - // If the given contents is actually a file or uploaded file instance than we will - // automatically store the file using a stream. This provides a convenient path - // for the developer to store streams without managing them manually in code. - if ($contents instanceof File || - $contents instanceof UploadedFile) { - return $this->putFile($path, $contents, $options); - } - - return is_resource($contents) - ? $this->driver->putStream($path, $contents, $options) - : $this->driver->put($path, $contents, $options); - } - - /** - * Store the uploaded file on the disk. - * - * @param string $path - * @param \Illuminate\Http\File|\Illuminate\Http\UploadedFile $file - * @param array $options - * @return string|false - */ - public function putFile($path, $file, $options = []) - { - return $this->putFileAs($path, $file, $file->hashName(), $options); - } - - /** - * Store the uploaded file on the disk with a given name. - * - * @param string $path - * @param \Illuminate\Http\File|\Illuminate\Http\UploadedFile $file - * @param string $name - * @param array $options - * @return string|false - */ - public function putFileAs($path, $file, $name, $options = []) - { - $stream = fopen($file->getRealPath(), 'r'); - - // Next, we will format the path of the file and store the file using a stream since - // they provide better performance than alternatives. Once we write the file this - // stream will get closed automatically by us so the developer doesn't have to. - $result = $this->put( - $path = trim($path.'/'.$name, '/'), $stream, $options - ); - - if (is_resource($stream)) { - fclose($stream); - } - - return $result ? $path : false; - } - - /** - * Get the visibility for the given path. - * - * @param string $path - * @return string - */ - public function getVisibility($path) - { - if ($this->driver->getVisibility($path) == AdapterInterface::VISIBILITY_PUBLIC) { - return FilesystemContract::VISIBILITY_PUBLIC; - } - - return FilesystemContract::VISIBILITY_PRIVATE; - } - - /** - * Set the visibility for the given path. - * - * @param string $path - * @param string $visibility - * @return bool - */ - public function setVisibility($path, $visibility) - { - return $this->driver->setVisibility($path, $this->parseVisibility($visibility)); - } - - /** - * Prepend to a file. - * - * @param string $path - * @param string $data - * @param string $separator - * @return bool - */ - public function prepend($path, $data, $separator = PHP_EOL) - { - if ($this->exists($path)) { - return $this->put($path, $data.$separator.$this->get($path)); - } - - return $this->put($path, $data); - } - - /** - * Append to a file. - * - * @param string $path - * @param string $data - * @param string $separator - * @return bool - */ - public function append($path, $data, $separator = PHP_EOL) - { - if ($this->exists($path)) { - return $this->put($path, $this->get($path).$separator.$data); - } - - return $this->put($path, $data); - } - - /** - * Delete the file at a given path. - * - * @param string|array $paths - * @return bool - */ - public function delete($paths) - { - $paths = is_array($paths) ? $paths : func_get_args(); - - $success = true; - - foreach ($paths as $path) { - try { - if (! $this->driver->delete($path)) { - $success = false; - } - } catch (FileNotFoundException $e) { - $success = false; - } - } - - return $success; - } - - /** - * Copy a file to a new location. - * - * @param string $from - * @param string $to - * @return bool - */ - public function copy($from, $to) - { - return $this->driver->copy($from, $to); - } - - /** - * Move a file to a new location. - * - * @param string $from - * @param string $to - * @return bool - */ - public function move($from, $to) - { - return $this->driver->rename($from, $to); - } - - /** - * Get the file size of a given file. - * - * @param string $path - * @return int - */ - public function size($path) - { - return $this->driver->getSize($path); - } - - /** - * Get the mime-type of a given file. - * - * @param string $path - * @return string|false - */ - public function mimeType($path) - { - return $this->driver->getMimetype($path); - } - - /** - * Get the file's last modification time. - * - * @param string $path - * @return int - */ - public function lastModified($path) - { - return $this->driver->getTimestamp($path); - } - - /** - * Get the URL for the file at the given path. - * - * @param string $path - * @return string - * - * @throws \RuntimeException - */ - public function url($path) - { - $adapter = $this->driver->getAdapter(); - - if ($adapter instanceof CachedAdapter) { - $adapter = $adapter->getAdapter(); - } - - if (method_exists($adapter, 'getUrl')) { - return $adapter->getUrl($path); - } elseif (method_exists($this->driver, 'getUrl')) { - return $this->driver->getUrl($path); - } elseif ($adapter instanceof AwsS3Adapter) { - return $this->getAwsUrl($adapter, $path); - } elseif ($adapter instanceof RackspaceAdapter) { - return $this->getRackspaceUrl($adapter, $path); - } elseif ($adapter instanceof LocalAdapter) { - return $this->getLocalUrl($path); - } else { - throw new RuntimeException('This driver does not support retrieving URLs.'); - } - } - - /** - * {@inheritdoc} - */ - public function readStream($path) - { - try { - return $this->driver->readStream($path) ?: null; - } catch (FileNotFoundException $e) { - throw new ContractFileNotFoundException($e->getMessage(), $e->getCode(), $e); - } - } - - /** - * {@inheritdoc} - */ - public function writeStream($path, $resource, array $options = []) - { - try { - return $this->driver->writeStream($path, $resource, $options); - } catch (FileExistsException $e) { - throw new ContractFileExistsException($e->getMessage(), $e->getCode(), $e); - } - } - - /** - * Get the URL for the file at the given path. - * - * @param \League\Flysystem\AwsS3v3\AwsS3Adapter $adapter - * @param string $path - * @return string - */ - protected function getAwsUrl($adapter, $path) - { - // If an explicit base URL has been set on the disk configuration then we will use - // it as the base URL instead of the default path. This allows the developer to - // have full control over the base path for this filesystem's generated URLs. - if (! is_null($url = $this->driver->getConfig()->get('url'))) { - return $this->concatPathToUrl($url, $adapter->getPathPrefix().$path); - } - - return $adapter->getClient()->getObjectUrl( - $adapter->getBucket(), $adapter->getPathPrefix().$path - ); - } - - /** - * Get the URL for the file at the given path. - * - * @param \League\Flysystem\Rackspace\RackspaceAdapter $adapter - * @param string $path - * @return string - */ - protected function getRackspaceUrl($adapter, $path) - { - return (string) $adapter->getContainer()->getObject($path)->getPublicUrl(); - } - - /** - * Get the URL for the file at the given path. - * - * @param string $path - * @return string - */ - protected function getLocalUrl($path) - { - $config = $this->driver->getConfig(); - - // If an explicit base URL has been set on the disk configuration then we will use - // it as the base URL instead of the default path. This allows the developer to - // have full control over the base path for this filesystem's generated URLs. - if ($config->has('url')) { - return $this->concatPathToUrl($config->get('url'), $path); - } - - $path = '/storage/'.$path; - - // If the path contains "storage/public", it probably means the developer is using - // the default disk to generate the path instead of the "public" disk like they - // are really supposed to use. We will remove the public from this path here. - if (Str::contains($path, '/storage/public/')) { - return Str::replaceFirst('/public/', '/', $path); - } - - return $path; - } - - /** - * Get a temporary URL for the file at the given path. - * - * @param string $path - * @param \DateTimeInterface $expiration - * @param array $options - * @return string - * - * @throws \RuntimeException - */ - public function temporaryUrl($path, $expiration, array $options = []) - { - $adapter = $this->driver->getAdapter(); - - if ($adapter instanceof CachedAdapter) { - $adapter = $adapter->getAdapter(); - } - - if (method_exists($adapter, 'getTemporaryUrl')) { - return $adapter->getTemporaryUrl($path, $expiration, $options); - } elseif ($adapter instanceof AwsS3Adapter) { - return $this->getAwsTemporaryUrl($adapter, $path, $expiration, $options); - } elseif ($adapter instanceof RackspaceAdapter) { - return $this->getRackspaceTemporaryUrl($adapter, $path, $expiration, $options); - } else { - throw new RuntimeException('This driver does not support creating temporary URLs.'); - } - } - - /** - * Get a temporary URL for the file at the given path. - * - * @param \League\Flysystem\AwsS3v3\AwsS3Adapter $adapter - * @param string $path - * @param \DateTimeInterface $expiration - * @param array $options - * @return string - */ - public function getAwsTemporaryUrl($adapter, $path, $expiration, $options) - { - $client = $adapter->getClient(); - - $command = $client->getCommand('GetObject', array_merge([ - 'Bucket' => $adapter->getBucket(), - 'Key' => $adapter->getPathPrefix().$path, - ], $options)); - - return (string) $client->createPresignedRequest( - $command, $expiration - )->getUri(); - } - - /** - * Get a temporary URL for the file at the given path. - * - * @param \League\Flysystem\Rackspace\RackspaceAdapter $adapter - * @param string $path - * @param \DateTimeInterface $expiration - * @param array $options - * @return string - */ - public function getRackspaceTemporaryUrl($adapter, $path, $expiration, $options) - { - return $adapter->getContainer()->getObject($path)->getTemporaryUrl( - Carbon::now()->diffInSeconds($expiration), - $options['method'] ?? 'GET', - $options['forcePublicUrl'] ?? true - ); - } - - /** - * Concatenate a path to a URL. - * - * @param string $url - * @param string $path - * @return string - */ - protected function concatPathToUrl($url, $path) - { - return rtrim($url, '/').'/'.ltrim($path, '/'); - } - - /** - * Get an array of all files in a directory. - * - * @param string|null $directory - * @param bool $recursive - * @return array - */ - public function files($directory = null, $recursive = false) - { - $contents = $this->driver->listContents($directory, $recursive); - - return $this->filterContentsByType($contents, 'file'); - } - - /** - * Get all of the files from the given directory (recursive). - * - * @param string|null $directory - * @return array - */ - public function allFiles($directory = null) - { - return $this->files($directory, true); - } - - /** - * Get all of the directories within a given directory. - * - * @param string|null $directory - * @param bool $recursive - * @return array - */ - public function directories($directory = null, $recursive = false) - { - $contents = $this->driver->listContents($directory, $recursive); - - return $this->filterContentsByType($contents, 'dir'); - } - - /** - * Get all (recursive) of the directories within a given directory. - * - * @param string|null $directory - * @return array - */ - public function allDirectories($directory = null) - { - return $this->directories($directory, true); - } - - /** - * Create a directory. - * - * @param string $path - * @return bool - */ - public function makeDirectory($path) - { - return $this->driver->createDir($path); - } - - /** - * Recursively delete a directory. - * - * @param string $directory - * @return bool - */ - public function deleteDirectory($directory) - { - return $this->driver->deleteDir($directory); - } - - /** - * Flush the Flysystem cache. - * - * @return void - */ - public function flushCache() - { - $adapter = $this->driver->getAdapter(); - - if ($adapter instanceof CachedAdapter) { - $adapter->getCache()->flush(); - } - } - - /** - * Get the Flysystem driver. - * - * @return \League\Flysystem\FilesystemInterface - */ - public function getDriver() - { - return $this->driver; - } - - /** - * Filter directory contents by type. - * - * @param array $contents - * @param string $type - * @return array - */ - protected function filterContentsByType($contents, $type) - { - return Collection::make($contents) - ->where('type', $type) - ->pluck('path') - ->values() - ->all(); - } - - /** - * Parse the given visibility value. - * - * @param string|null $visibility - * @return string|null - * - * @throws \InvalidArgumentException - */ - protected function parseVisibility($visibility) - { - if (is_null($visibility)) { - return; - } - - switch ($visibility) { - case FilesystemContract::VISIBILITY_PUBLIC: - return AdapterInterface::VISIBILITY_PUBLIC; - case FilesystemContract::VISIBILITY_PRIVATE: - return AdapterInterface::VISIBILITY_PRIVATE; - } - - throw new InvalidArgumentException("Unknown visibility: {$visibility}"); - } - - /** - * Pass dynamic methods call onto Flysystem. - * - * @param string $method - * @param array $parameters - * @return mixed - * - * @throws \BadMethodCallException - */ - public function __call($method, array $parameters) - { - return call_user_func_array([$this->driver, $method], $parameters); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemManager.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemManager.php deleted file mode 100644 index 5164701..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemManager.php +++ /dev/null @@ -1,401 +0,0 @@ -app = $app; - } - - /** - * Get a filesystem instance. - * - * @param string|null $name - * @return \Illuminate\Contracts\Filesystem\Filesystem - */ - public function drive($name = null) - { - return $this->disk($name); - } - - /** - * Get a filesystem instance. - * - * @param string|null $name - * @return \Illuminate\Contracts\Filesystem\Filesystem - */ - public function disk($name = null) - { - $name = $name ?: $this->getDefaultDriver(); - - return $this->disks[$name] = $this->get($name); - } - - /** - * Get a default cloud filesystem instance. - * - * @return \Illuminate\Contracts\Filesystem\Filesystem - */ - public function cloud() - { - $name = $this->getDefaultCloudDriver(); - - return $this->disks[$name] = $this->get($name); - } - - /** - * Attempt to get the disk from the local cache. - * - * @param string $name - * @return \Illuminate\Contracts\Filesystem\Filesystem - */ - protected function get($name) - { - return $this->disks[$name] ?? $this->resolve($name); - } - - /** - * Resolve the given disk. - * - * @param string $name - * @return \Illuminate\Contracts\Filesystem\Filesystem - * - * @throws \InvalidArgumentException - */ - protected function resolve($name) - { - $config = $this->getConfig($name); - - if (isset($this->customCreators[$config['driver']])) { - return $this->callCustomCreator($config); - } - - $driverMethod = 'create'.ucfirst($config['driver']).'Driver'; - - if (method_exists($this, $driverMethod)) { - return $this->{$driverMethod}($config); - } else { - throw new InvalidArgumentException("Driver [{$config['driver']}] is not supported."); - } - } - - /** - * Call a custom driver creator. - * - * @param array $config - * @return \Illuminate\Contracts\Filesystem\Filesystem - */ - protected function callCustomCreator(array $config) - { - $driver = $this->customCreators[$config['driver']]($this->app, $config); - - if ($driver instanceof FilesystemInterface) { - return $this->adapt($driver); - } - - return $driver; - } - - /** - * Create an instance of the local driver. - * - * @param array $config - * @return \Illuminate\Contracts\Filesystem\Filesystem - */ - public function createLocalDriver(array $config) - { - $permissions = $config['permissions'] ?? []; - - $links = ($config['links'] ?? null) === 'skip' - ? LocalAdapter::SKIP_LINKS - : LocalAdapter::DISALLOW_LINKS; - - return $this->adapt($this->createFlysystem(new LocalAdapter( - $config['root'], $config['lock'] ?? LOCK_EX, $links, $permissions - ), $config)); - } - - /** - * Create an instance of the ftp driver. - * - * @param array $config - * @return \Illuminate\Contracts\Filesystem\Filesystem - */ - public function createFtpDriver(array $config) - { - return $this->adapt($this->createFlysystem( - new FtpAdapter($config), $config - )); - } - - /** - * Create an instance of the sftp driver. - * - * @param array $config - * @return \Illuminate\Contracts\Filesystem\Filesystem - */ - public function createSftpDriver(array $config) - { - return $this->adapt($this->createFlysystem( - new SftpAdapter($config), $config - )); - } - - /** - * Create an instance of the Amazon S3 driver. - * - * @param array $config - * @return \Illuminate\Contracts\Filesystem\Cloud - */ - public function createS3Driver(array $config) - { - $s3Config = $this->formatS3Config($config); - - $root = $s3Config['root'] ?? null; - - $options = $config['options'] ?? []; - - return $this->adapt($this->createFlysystem( - new S3Adapter(new S3Client($s3Config), $s3Config['bucket'], $root, $options), $config - )); - } - - /** - * Format the given S3 configuration with the default options. - * - * @param array $config - * @return array - */ - protected function formatS3Config(array $config) - { - $config += ['version' => 'latest']; - - if (! empty($config['key']) && ! empty($config['secret'])) { - $config['credentials'] = Arr::only($config, ['key', 'secret', 'token']); - } - - return $config; - } - - /** - * Create an instance of the Rackspace driver. - * - * @param array $config - * @return \Illuminate\Contracts\Filesystem\Cloud - */ - public function createRackspaceDriver(array $config) - { - $client = new Rackspace($config['endpoint'], [ - 'username' => $config['username'], 'apiKey' => $config['key'], - ], $config['options'] ?? []); - - $root = $config['root'] ?? null; - - return $this->adapt($this->createFlysystem( - new RackspaceAdapter($this->getRackspaceContainer($client, $config), $root), $config - )); - } - - /** - * Get the Rackspace Cloud Files container. - * - * @param \OpenCloud\Rackspace $client - * @param array $config - * @return \OpenCloud\ObjectStore\Resource\Container - */ - protected function getRackspaceContainer(Rackspace $client, array $config) - { - $urlType = $config['url_type'] ?? null; - - $store = $client->objectStoreService('cloudFiles', $config['region'], $urlType); - - return $store->getContainer($config['container']); - } - - /** - * Create a Flysystem instance with the given adapter. - * - * @param \League\Flysystem\AdapterInterface $adapter - * @param array $config - * @return \League\Flysystem\FilesystemInterface - */ - protected function createFlysystem(AdapterInterface $adapter, array $config) - { - $cache = Arr::pull($config, 'cache'); - - $config = Arr::only($config, ['visibility', 'disable_asserts', 'url']); - - if ($cache) { - $adapter = new CachedAdapter($adapter, $this->createCacheStore($cache)); - } - - return new Flysystem($adapter, count($config) > 0 ? $config : null); - } - - /** - * Create a cache store instance. - * - * @param mixed $config - * @return \League\Flysystem\Cached\CacheInterface - * - * @throws \InvalidArgumentException - */ - protected function createCacheStore($config) - { - if ($config === true) { - return new MemoryStore; - } - - return new Cache( - $this->app['cache']->store($config['store']), - $config['prefix'] ?? 'flysystem', - $config['expire'] ?? null - ); - } - - /** - * Adapt the filesystem implementation. - * - * @param \League\Flysystem\FilesystemInterface $filesystem - * @return \Illuminate\Contracts\Filesystem\Filesystem - */ - protected function adapt(FilesystemInterface $filesystem) - { - return new FilesystemAdapter($filesystem); - } - - /** - * Set the given disk instance. - * - * @param string $name - * @param mixed $disk - * @return $this - */ - public function set($name, $disk) - { - $this->disks[$name] = $disk; - - return $this; - } - - /** - * Get the filesystem connection configuration. - * - * @param string $name - * @return array - */ - protected function getConfig($name) - { - return $this->app['config']["filesystems.disks.{$name}"]; - } - - /** - * Get the default driver name. - * - * @return string - */ - public function getDefaultDriver() - { - return $this->app['config']['filesystems.default']; - } - - /** - * Get the default cloud driver name. - * - * @return string - */ - public function getDefaultCloudDriver() - { - return $this->app['config']['filesystems.cloud']; - } - - /** - * Unset the given disk instances. - * - * @param array|string $disk - * @return $this - */ - public function forgetDisk($disk) - { - foreach ((array) $disk as $diskName) { - unset($this->disks[$diskName]); - } - - return $this; - } - - /** - * Register a custom driver creator Closure. - * - * @param string $driver - * @param \Closure $callback - * @return $this - */ - public function extend($driver, Closure $callback) - { - $this->customCreators[$driver] = $callback; - - return $this; - } - - /** - * Dynamically call the default driver instance. - * - * @param string $method - * @param array $parameters - * @return mixed - */ - public function __call($method, $parameters) - { - return $this->disk()->$method(...$parameters); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemServiceProvider.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemServiceProvider.php deleted file mode 100644 index 6932270..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemServiceProvider.php +++ /dev/null @@ -1,82 +0,0 @@ -registerNativeFilesystem(); - - $this->registerFlysystem(); - } - - /** - * Register the native filesystem implementation. - * - * @return void - */ - protected function registerNativeFilesystem() - { - $this->app->singleton('files', function () { - return new Filesystem; - }); - } - - /** - * Register the driver based filesystem. - * - * @return void - */ - protected function registerFlysystem() - { - $this->registerManager(); - - $this->app->singleton('filesystem.disk', function () { - return $this->app['filesystem']->disk($this->getDefaultDriver()); - }); - - $this->app->singleton('filesystem.cloud', function () { - return $this->app['filesystem']->disk($this->getCloudDriver()); - }); - } - - /** - * Register the filesystem manager. - * - * @return void - */ - protected function registerManager() - { - $this->app->singleton('filesystem', function () { - return new FilesystemManager($this->app); - }); - } - - /** - * Get the default file driver. - * - * @return string - */ - protected function getDefaultDriver() - { - return $this->app['config']['filesystems.default']; - } - - /** - * Get the default cloud based file driver. - * - * @return string - */ - protected function getCloudDriver() - { - return $this->app['config']['filesystems.cloud']; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Filesystem/LICENSE.md b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Filesystem/LICENSE.md deleted file mode 100644 index 79810c8..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Filesystem/LICENSE.md +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) Taylor Otwell - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Filesystem/composer.json b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Filesystem/composer.json deleted file mode 100644 index 2bafd57..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Filesystem/composer.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "name": "illuminate/filesystem", - "description": "The Illuminate Filesystem package.", - "license": "MIT", - "homepage": "https://laravel.com", - "support": { - "issues": "https://github.com/laravel/framework/issues", - "source": "https://github.com/laravel/framework" - }, - "authors": [ - { - "name": "Taylor Otwell", - "email": "taylor@laravel.com" - } - ], - "require": { - "php": "^7.1.3", - "illuminate/contracts": "5.8.*", - "illuminate/support": "5.8.*", - "symfony/finder": "^4.2" - }, - "autoload": { - "psr-4": { - "Illuminate\\Filesystem\\": "" - } - }, - "extra": { - "branch-alias": { - "dev-master": "5.8-dev" - } - }, - "suggest": { - "league/flysystem": "Required to use the Flysystem local and FTP drivers (^1.0).", - "league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (^1.0).", - "league/flysystem-cached-adapter": "Required to use the Flysystem cache (^1.0).", - "league/flysystem-rackspace": "Required to use the Flysystem Rackspace driver (^1.0).", - "league/flysystem-sftp": "Required to use the Flysystem SFTP driver (^1.0)." - }, - "config": { - "sort-packages": true - }, - "minimum-stability": "dev" -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/AliasLoader.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/AliasLoader.php deleted file mode 100644 index 63f3891..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/AliasLoader.php +++ /dev/null @@ -1,243 +0,0 @@ -aliases = $aliases; - } - - /** - * Get or create the singleton alias loader instance. - * - * @param array $aliases - * @return \Illuminate\Foundation\AliasLoader - */ - public static function getInstance(array $aliases = []) - { - if (is_null(static::$instance)) { - return static::$instance = new static($aliases); - } - - $aliases = array_merge(static::$instance->getAliases(), $aliases); - - static::$instance->setAliases($aliases); - - return static::$instance; - } - - /** - * Load a class alias if it is registered. - * - * @param string $alias - * @return bool|null - */ - public function load($alias) - { - if (static::$facadeNamespace && strpos($alias, static::$facadeNamespace) === 0) { - $this->loadFacade($alias); - - return true; - } - - if (isset($this->aliases[$alias])) { - return class_alias($this->aliases[$alias], $alias); - } - } - - /** - * Load a real-time facade for the given alias. - * - * @param string $alias - * @return void - */ - protected function loadFacade($alias) - { - require $this->ensureFacadeExists($alias); - } - - /** - * Ensure that the given alias has an existing real-time facade class. - * - * @param string $alias - * @return string - */ - protected function ensureFacadeExists($alias) - { - if (file_exists($path = storage_path('framework/cache/facade-'.sha1($alias).'.php'))) { - return $path; - } - - file_put_contents($path, $this->formatFacadeStub( - $alias, file_get_contents(__DIR__.'/stubs/facade.stub') - )); - - return $path; - } - - /** - * Format the facade stub with the proper namespace and class. - * - * @param string $alias - * @param string $stub - * @return string - */ - protected function formatFacadeStub($alias, $stub) - { - $replacements = [ - str_replace('/', '\\', dirname(str_replace('\\', '/', $alias))), - class_basename($alias), - substr($alias, strlen(static::$facadeNamespace)), - ]; - - return str_replace( - ['DummyNamespace', 'DummyClass', 'DummyTarget'], $replacements, $stub - ); - } - - /** - * Add an alias to the loader. - * - * @param string $class - * @param string $alias - * @return void - */ - public function alias($class, $alias) - { - $this->aliases[$class] = $alias; - } - - /** - * Register the loader on the auto-loader stack. - * - * @return void - */ - public function register() - { - if (! $this->registered) { - $this->prependToLoaderStack(); - - $this->registered = true; - } - } - - /** - * Prepend the load method to the auto-loader stack. - * - * @return void - */ - protected function prependToLoaderStack() - { - spl_autoload_register([$this, 'load'], true, true); - } - - /** - * Get the registered aliases. - * - * @return array - */ - public function getAliases() - { - return $this->aliases; - } - - /** - * Set the registered aliases. - * - * @param array $aliases - * @return void - */ - public function setAliases(array $aliases) - { - $this->aliases = $aliases; - } - - /** - * Indicates if the loader has been registered. - * - * @return bool - */ - public function isRegistered() - { - return $this->registered; - } - - /** - * Set the "registered" state of the loader. - * - * @param bool $value - * @return void - */ - public function setRegistered($value) - { - $this->registered = $value; - } - - /** - * Set the real-time facade namespace. - * - * @param string $namespace - * @return void - */ - public static function setFacadeNamespace($namespace) - { - static::$facadeNamespace = rtrim($namespace, '\\').'\\'; - } - - /** - * Set the value of the singleton alias loader. - * - * @param \Illuminate\Foundation\AliasLoader $loader - * @return void - */ - public static function setInstance($loader) - { - static::$instance = $loader; - } - - /** - * Clone method. - * - * @return void - */ - private function __clone() - { - // - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Application.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Application.php deleted file mode 100644 index da9e919..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Application.php +++ /dev/null @@ -1,1219 +0,0 @@ -setBasePath($basePath); - } - - $this->registerBaseBindings(); - $this->registerBaseServiceProviders(); - $this->registerCoreContainerAliases(); - } - - /** - * Get the version number of the application. - * - * @return string - */ - public function version() - { - return static::VERSION; - } - - /** - * Register the basic bindings into the container. - * - * @return void - */ - protected function registerBaseBindings() - { - static::setInstance($this); - - $this->instance('app', $this); - - $this->instance(Container::class, $this); - $this->singleton(Mix::class); - - $this->instance(PackageManifest::class, new PackageManifest( - new Filesystem, $this->basePath(), $this->getCachedPackagesPath() - )); - } - - /** - * Register all of the base service providers. - * - * @return void - */ - protected function registerBaseServiceProviders() - { - $this->register(new EventServiceProvider($this)); - $this->register(new LogServiceProvider($this)); - $this->register(new RoutingServiceProvider($this)); - } - - /** - * Run the given array of bootstrap classes. - * - * @param string[] $bootstrappers - * @return void - */ - public function bootstrapWith(array $bootstrappers) - { - $this->hasBeenBootstrapped = true; - - foreach ($bootstrappers as $bootstrapper) { - $this['events']->dispatch('bootstrapping: '.$bootstrapper, [$this]); - - $this->make($bootstrapper)->bootstrap($this); - - $this['events']->dispatch('bootstrapped: '.$bootstrapper, [$this]); - } - } - - /** - * Register a callback to run after loading the environment. - * - * @param \Closure $callback - * @return void - */ - public function afterLoadingEnvironment(Closure $callback) - { - return $this->afterBootstrapping( - LoadEnvironmentVariables::class, $callback - ); - } - - /** - * Register a callback to run before a bootstrapper. - * - * @param string $bootstrapper - * @param \Closure $callback - * @return void - */ - public function beforeBootstrapping($bootstrapper, Closure $callback) - { - $this['events']->listen('bootstrapping: '.$bootstrapper, $callback); - } - - /** - * Register a callback to run after a bootstrapper. - * - * @param string $bootstrapper - * @param \Closure $callback - * @return void - */ - public function afterBootstrapping($bootstrapper, Closure $callback) - { - $this['events']->listen('bootstrapped: '.$bootstrapper, $callback); - } - - /** - * Determine if the application has been bootstrapped before. - * - * @return bool - */ - public function hasBeenBootstrapped() - { - return $this->hasBeenBootstrapped; - } - - /** - * Set the base path for the application. - * - * @param string $basePath - * @return $this - */ - public function setBasePath($basePath) - { - $this->basePath = rtrim($basePath, '\/'); - - $this->bindPathsInContainer(); - - return $this; - } - - /** - * Bind all of the application paths in the container. - * - * @return void - */ - protected function bindPathsInContainer() - { - $this->instance('path', $this->path()); - $this->instance('path.base', $this->basePath()); - $this->instance('path.lang', $this->langPath()); - $this->instance('path.config', $this->configPath()); - $this->instance('path.public', $this->publicPath()); - $this->instance('path.storage', $this->storagePath()); - $this->instance('path.database', $this->databasePath()); - $this->instance('path.resources', $this->resourcePath()); - $this->instance('path.bootstrap', $this->bootstrapPath()); - } - - /** - * Get the path to the application "app" directory. - * - * @param string $path - * @return string - */ - public function path($path = '') - { - $appPath = $this->appPath ?: $this->basePath.DIRECTORY_SEPARATOR.'app'; - - return $appPath.($path ? DIRECTORY_SEPARATOR.$path : $path); - } - - /** - * Set the application directory. - * - * @param string $path - * @return $this - */ - public function useAppPath($path) - { - $this->appPath = $path; - - $this->instance('path', $path); - - return $this; - } - - /** - * Get the base path of the Laravel installation. - * - * @param string $path Optionally, a path to append to the base path - * @return string - */ - public function basePath($path = '') - { - return $this->basePath.($path ? DIRECTORY_SEPARATOR.$path : $path); - } - - /** - * Get the path to the bootstrap directory. - * - * @param string $path Optionally, a path to append to the bootstrap path - * @return string - */ - public function bootstrapPath($path = '') - { - return $this->basePath.DIRECTORY_SEPARATOR.'bootstrap'.($path ? DIRECTORY_SEPARATOR.$path : $path); - } - - /** - * Get the path to the application configuration files. - * - * @param string $path Optionally, a path to append to the config path - * @return string - */ - public function configPath($path = '') - { - return $this->basePath.DIRECTORY_SEPARATOR.'config'.($path ? DIRECTORY_SEPARATOR.$path : $path); - } - - /** - * Get the path to the database directory. - * - * @param string $path Optionally, a path to append to the database path - * @return string - */ - public function databasePath($path = '') - { - return ($this->databasePath ?: $this->basePath.DIRECTORY_SEPARATOR.'database').($path ? DIRECTORY_SEPARATOR.$path : $path); - } - - /** - * Set the database directory. - * - * @param string $path - * @return $this - */ - public function useDatabasePath($path) - { - $this->databasePath = $path; - - $this->instance('path.database', $path); - - return $this; - } - - /** - * Get the path to the language files. - * - * @return string - */ - public function langPath() - { - return $this->resourcePath().DIRECTORY_SEPARATOR.'lang'; - } - - /** - * Get the path to the public / web directory. - * - * @return string - */ - public function publicPath() - { - return $this->basePath.DIRECTORY_SEPARATOR.'public'; - } - - /** - * Get the path to the storage directory. - * - * @return string - */ - public function storagePath() - { - return $this->storagePath ?: $this->basePath.DIRECTORY_SEPARATOR.'storage'; - } - - /** - * Set the storage directory. - * - * @param string $path - * @return $this - */ - public function useStoragePath($path) - { - $this->storagePath = $path; - - $this->instance('path.storage', $path); - - return $this; - } - - /** - * Get the path to the resources directory. - * - * @param string $path - * @return string - */ - public function resourcePath($path = '') - { - return $this->basePath.DIRECTORY_SEPARATOR.'resources'.($path ? DIRECTORY_SEPARATOR.$path : $path); - } - - /** - * Get the path to the environment file directory. - * - * @return string - */ - public function environmentPath() - { - return $this->environmentPath ?: $this->basePath; - } - - /** - * Set the directory for the environment file. - * - * @param string $path - * @return $this - */ - public function useEnvironmentPath($path) - { - $this->environmentPath = $path; - - return $this; - } - - /** - * Set the environment file to be loaded during bootstrapping. - * - * @param string $file - * @return $this - */ - public function loadEnvironmentFrom($file) - { - $this->environmentFile = $file; - - return $this; - } - - /** - * Get the environment file the application is using. - * - * @return string - */ - public function environmentFile() - { - return $this->environmentFile ?: '.env'; - } - - /** - * Get the fully qualified path to the environment file. - * - * @return string - */ - public function environmentFilePath() - { - return $this->environmentPath().DIRECTORY_SEPARATOR.$this->environmentFile(); - } - - /** - * Get or check the current application environment. - * - * @param string|array $environments - * @return string|bool - */ - public function environment(...$environments) - { - if (count($environments) > 0) { - $patterns = is_array($environments[0]) ? $environments[0] : $environments; - - return Str::is($patterns, $this['env']); - } - - return $this['env']; - } - - /** - * Determine if application is in local environment. - * - * @return bool - */ - public function isLocal() - { - return $this['env'] === 'local'; - } - - /** - * Determine if application is in production environment. - * - * @return bool - */ - public function isProduction() - { - return $this['env'] === 'production'; - } - - /** - * Detect the application's current environment. - * - * @param \Closure $callback - * @return string - */ - public function detectEnvironment(Closure $callback) - { - $args = $_SERVER['argv'] ?? null; - - return $this['env'] = (new EnvironmentDetector)->detect($callback, $args); - } - - /** - * Determine if the application is running in the console. - * - * @return bool - */ - public function runningInConsole() - { - if (isset($_ENV['APP_RUNNING_IN_CONSOLE'])) { - return $_ENV['APP_RUNNING_IN_CONSOLE'] === 'true'; - } - - return php_sapi_name() === 'cli' || php_sapi_name() === 'phpdbg'; - } - - /** - * Determine if the application is running unit tests. - * - * @return bool - */ - public function runningUnitTests() - { - return $this['env'] === 'testing'; - } - - /** - * Register all of the configured providers. - * - * @return void - */ - public function registerConfiguredProviders() - { - $providers = Collection::make($this->config['app.providers']) - ->partition(function ($provider) { - return Str::startsWith($provider, 'Illuminate\\'); - }); - - $providers->splice(1, 0, [$this->make(PackageManifest::class)->providers()]); - - (new ProviderRepository($this, new Filesystem, $this->getCachedServicesPath())) - ->load($providers->collapse()->toArray()); - } - - /** - * Register a service provider with the application. - * - * @param \Illuminate\Support\ServiceProvider|string $provider - * @param bool $force - * @return \Illuminate\Support\ServiceProvider - */ - public function register($provider, $force = false) - { - if (($registered = $this->getProvider($provider)) && ! $force) { - return $registered; - } - - // If the given "provider" is a string, we will resolve it, passing in the - // application instance automatically for the developer. This is simply - // a more convenient way of specifying your service provider classes. - if (is_string($provider)) { - $provider = $this->resolveProvider($provider); - } - - $provider->register(); - - // If there are bindings / singletons set as properties on the provider we - // will spin through them and register them with the application, which - // serves as a convenience layer while registering a lot of bindings. - if (property_exists($provider, 'bindings')) { - foreach ($provider->bindings as $key => $value) { - $this->bind($key, $value); - } - } - - if (property_exists($provider, 'singletons')) { - foreach ($provider->singletons as $key => $value) { - $this->singleton($key, $value); - } - } - - $this->markAsRegistered($provider); - - // If the application has already booted, we will call this boot method on - // the provider class so it has an opportunity to do its boot logic and - // will be ready for any usage by this developer's application logic. - if ($this->isBooted()) { - $this->bootProvider($provider); - } - - return $provider; - } - - /** - * Get the registered service provider instance if it exists. - * - * @param \Illuminate\Support\ServiceProvider|string $provider - * @return \Illuminate\Support\ServiceProvider|null - */ - public function getProvider($provider) - { - return array_values($this->getProviders($provider))[0] ?? null; - } - - /** - * Get the registered service provider instances if any exist. - * - * @param \Illuminate\Support\ServiceProvider|string $provider - * @return array - */ - public function getProviders($provider) - { - $name = is_string($provider) ? $provider : get_class($provider); - - return Arr::where($this->serviceProviders, function ($value) use ($name) { - return $value instanceof $name; - }); - } - - /** - * Resolve a service provider instance from the class name. - * - * @param string $provider - * @return \Illuminate\Support\ServiceProvider - */ - public function resolveProvider($provider) - { - return new $provider($this); - } - - /** - * Mark the given provider as registered. - * - * @param \Illuminate\Support\ServiceProvider $provider - * @return void - */ - protected function markAsRegistered($provider) - { - $this->serviceProviders[] = $provider; - - $this->loadedProviders[get_class($provider)] = true; - } - - /** - * Load and boot all of the remaining deferred providers. - * - * @return void - */ - public function loadDeferredProviders() - { - // We will simply spin through each of the deferred providers and register each - // one and boot them if the application has booted. This should make each of - // the remaining services available to this application for immediate use. - foreach ($this->deferredServices as $service => $provider) { - $this->loadDeferredProvider($service); - } - - $this->deferredServices = []; - } - - /** - * Load the provider for a deferred service. - * - * @param string $service - * @return void - */ - public function loadDeferredProvider($service) - { - if (! $this->isDeferredService($service)) { - return; - } - - $provider = $this->deferredServices[$service]; - - // If the service provider has not already been loaded and registered we can - // register it with the application and remove the service from this list - // of deferred services, since it will already be loaded on subsequent. - if (! isset($this->loadedProviders[$provider])) { - $this->registerDeferredProvider($provider, $service); - } - } - - /** - * Register a deferred provider and service. - * - * @param string $provider - * @param string|null $service - * @return void - */ - public function registerDeferredProvider($provider, $service = null) - { - // Once the provider that provides the deferred service has been registered we - // will remove it from our local list of the deferred services with related - // providers so that this container does not try to resolve it out again. - if ($service) { - unset($this->deferredServices[$service]); - } - - $this->register($instance = new $provider($this)); - - if (! $this->isBooted()) { - $this->booting(function () use ($instance) { - $this->bootProvider($instance); - }); - } - } - - /** - * Resolve the given type from the container. - * - * (Overriding Container::make) - * - * @param string $abstract - * @param array $parameters - * @return mixed - */ - public function make($abstract, array $parameters = []) - { - $abstract = $this->getAlias($abstract); - - if ($this->isDeferredService($abstract) && ! isset($this->instances[$abstract])) { - $this->loadDeferredProvider($abstract); - } - - return parent::make($abstract, $parameters); - } - - /** - * Determine if the given abstract type has been bound. - * - * (Overriding Container::bound) - * - * @param string $abstract - * @return bool - */ - public function bound($abstract) - { - return $this->isDeferredService($abstract) || parent::bound($abstract); - } - - /** - * Determine if the application has booted. - * - * @return bool - */ - public function isBooted() - { - return $this->booted; - } - - /** - * Boot the application's service providers. - * - * @return void - */ - public function boot() - { - if ($this->isBooted()) { - return; - } - - // Once the application has booted we will also fire some "booted" callbacks - // for any listeners that need to do work after this initial booting gets - // finished. This is useful when ordering the boot-up processes we run. - $this->fireAppCallbacks($this->bootingCallbacks); - - array_walk($this->serviceProviders, function ($p) { - $this->bootProvider($p); - }); - - $this->booted = true; - - $this->fireAppCallbacks($this->bootedCallbacks); - } - - /** - * Boot the given service provider. - * - * @param \Illuminate\Support\ServiceProvider $provider - * @return mixed - */ - protected function bootProvider(ServiceProvider $provider) - { - if (method_exists($provider, 'boot')) { - return $this->call([$provider, 'boot']); - } - } - - /** - * Register a new boot listener. - * - * @param callable $callback - * @return void - */ - public function booting($callback) - { - $this->bootingCallbacks[] = $callback; - } - - /** - * Register a new "booted" listener. - * - * @param callable $callback - * @return void - */ - public function booted($callback) - { - $this->bootedCallbacks[] = $callback; - - if ($this->isBooted()) { - $this->fireAppCallbacks([$callback]); - } - } - - /** - * Call the booting callbacks for the application. - * - * @param callable[] $callbacks - * @return void - */ - protected function fireAppCallbacks(array $callbacks) - { - foreach ($callbacks as $callback) { - call_user_func($callback, $this); - } - } - - /** - * {@inheritdoc} - */ - public function handle(SymfonyRequest $request, $type = self::MASTER_REQUEST, $catch = true) - { - return $this[HttpKernelContract::class]->handle(Request::createFromBase($request)); - } - - /** - * Determine if middleware has been disabled for the application. - * - * @return bool - */ - public function shouldSkipMiddleware() - { - return $this->bound('middleware.disable') && - $this->make('middleware.disable') === true; - } - - /** - * Get the path to the cached services.php file. - * - * @return string - */ - public function getCachedServicesPath() - { - return $_ENV['APP_SERVICES_CACHE'] ?? $this->bootstrapPath().'/cache/services.php'; - } - - /** - * Get the path to the cached packages.php file. - * - * @return string - */ - public function getCachedPackagesPath() - { - return $_ENV['APP_PACKAGES_CACHE'] ?? $this->bootstrapPath().'/cache/packages.php'; - } - - /** - * Determine if the application configuration is cached. - * - * @return bool - */ - public function configurationIsCached() - { - return file_exists($this->getCachedConfigPath()); - } - - /** - * Get the path to the configuration cache file. - * - * @return string - */ - public function getCachedConfigPath() - { - return $_ENV['APP_CONFIG_CACHE'] ?? $this->bootstrapPath().'/cache/config.php'; - } - - /** - * Determine if the application routes are cached. - * - * @return bool - */ - public function routesAreCached() - { - return $this['files']->exists($this->getCachedRoutesPath()); - } - - /** - * Get the path to the routes cache file. - * - * @return string - */ - public function getCachedRoutesPath() - { - return $_ENV['APP_ROUTES_CACHE'] ?? $this->bootstrapPath().'/cache/routes.php'; - } - - /** - * Determine if the application events are cached. - * - * @return bool - */ - public function eventsAreCached() - { - return $this['files']->exists($this->getCachedEventsPath()); - } - - /** - * Get the path to the events cache file. - * - * @return string - */ - public function getCachedEventsPath() - { - return $_ENV['APP_EVENTS_CACHE'] ?? $this->bootstrapPath().'/cache/events.php'; - } - - /** - * Determine if the application is currently down for maintenance. - * - * @return bool - */ - public function isDownForMaintenance() - { - return file_exists($this->storagePath().'/framework/down'); - } - - /** - * Throw an HttpException with the given data. - * - * @param int $code - * @param string $message - * @param array $headers - * @return void - * - * @throws \Symfony\Component\HttpKernel\Exception\HttpException - */ - public function abort($code, $message = '', array $headers = []) - { - if ($code == 404) { - throw new NotFoundHttpException($message); - } - - throw new HttpException($code, $message, null, $headers); - } - - /** - * Register a terminating callback with the application. - * - * @param callable|string $callback - * @return $this - */ - public function terminating($callback) - { - $this->terminatingCallbacks[] = $callback; - - return $this; - } - - /** - * Terminate the application. - * - * @return void - */ - public function terminate() - { - foreach ($this->terminatingCallbacks as $terminating) { - $this->call($terminating); - } - } - - /** - * Get the service providers that have been loaded. - * - * @return array - */ - public function getLoadedProviders() - { - return $this->loadedProviders; - } - - /** - * Get the application's deferred services. - * - * @return array - */ - public function getDeferredServices() - { - return $this->deferredServices; - } - - /** - * Set the application's deferred services. - * - * @param array $services - * @return void - */ - public function setDeferredServices(array $services) - { - $this->deferredServices = $services; - } - - /** - * Add an array of services to the application's deferred services. - * - * @param array $services - * @return void - */ - public function addDeferredServices(array $services) - { - $this->deferredServices = array_merge($this->deferredServices, $services); - } - - /** - * Determine if the given service is a deferred service. - * - * @param string $service - * @return bool - */ - public function isDeferredService($service) - { - return isset($this->deferredServices[$service]); - } - - /** - * Configure the real-time facade namespace. - * - * @param string $namespace - * @return void - */ - public function provideFacades($namespace) - { - AliasLoader::setFacadeNamespace($namespace); - } - - /** - * Get the current application locale. - * - * @return string - */ - public function getLocale() - { - return $this['config']->get('app.locale'); - } - - /** - * Set the current application locale. - * - * @param string $locale - * @return void - */ - public function setLocale($locale) - { - $this['config']->set('app.locale', $locale); - - $this['translator']->setLocale($locale); - - $this['events']->dispatch(new Events\LocaleUpdated($locale)); - } - - /** - * Determine if application locale is the given locale. - * - * @param string $locale - * @return bool - */ - public function isLocale($locale) - { - return $this->getLocale() == $locale; - } - - /** - * Register the core class aliases in the container. - * - * @return void - */ - public function registerCoreContainerAliases() - { - foreach ([ - 'app' => [self::class, \Illuminate\Contracts\Container\Container::class, \Illuminate\Contracts\Foundation\Application::class, \Psr\Container\ContainerInterface::class], - 'auth' => [\Illuminate\Auth\AuthManager::class, \Illuminate\Contracts\Auth\Factory::class], - 'auth.driver' => [\Illuminate\Contracts\Auth\Guard::class], - 'blade.compiler' => [\Illuminate\View\Compilers\BladeCompiler::class], - 'cache' => [\Illuminate\Cache\CacheManager::class, \Illuminate\Contracts\Cache\Factory::class], - 'cache.store' => [\Illuminate\Cache\Repository::class, \Illuminate\Contracts\Cache\Repository::class], - 'config' => [\Illuminate\Config\Repository::class, \Illuminate\Contracts\Config\Repository::class], - 'cookie' => [\Illuminate\Cookie\CookieJar::class, \Illuminate\Contracts\Cookie\Factory::class, \Illuminate\Contracts\Cookie\QueueingFactory::class], - 'encrypter' => [\Illuminate\Encryption\Encrypter::class, \Illuminate\Contracts\Encryption\Encrypter::class], - 'db' => [\Illuminate\Database\DatabaseManager::class], - 'db.connection' => [\Illuminate\Database\Connection::class, \Illuminate\Database\ConnectionInterface::class], - 'events' => [\Illuminate\Events\Dispatcher::class, \Illuminate\Contracts\Events\Dispatcher::class], - 'files' => [\Illuminate\Filesystem\Filesystem::class], - 'filesystem' => [\Illuminate\Filesystem\FilesystemManager::class, \Illuminate\Contracts\Filesystem\Factory::class], - 'filesystem.disk' => [\Illuminate\Contracts\Filesystem\Filesystem::class], - 'filesystem.cloud' => [\Illuminate\Contracts\Filesystem\Cloud::class], - 'hash' => [\Illuminate\Hashing\HashManager::class], - 'hash.driver' => [\Illuminate\Contracts\Hashing\Hasher::class], - 'translator' => [\Illuminate\Translation\Translator::class, \Illuminate\Contracts\Translation\Translator::class], - 'log' => [\Illuminate\Log\LogManager::class, \Psr\Log\LoggerInterface::class], - 'mailer' => [\Illuminate\Mail\Mailer::class, \Illuminate\Contracts\Mail\Mailer::class, \Illuminate\Contracts\Mail\MailQueue::class], - 'auth.password' => [\Illuminate\Auth\Passwords\PasswordBrokerManager::class, \Illuminate\Contracts\Auth\PasswordBrokerFactory::class], - 'auth.password.broker' => [\Illuminate\Auth\Passwords\PasswordBroker::class, \Illuminate\Contracts\Auth\PasswordBroker::class], - 'queue' => [\Illuminate\Queue\QueueManager::class, \Illuminate\Contracts\Queue\Factory::class, \Illuminate\Contracts\Queue\Monitor::class], - 'queue.connection' => [\Illuminate\Contracts\Queue\Queue::class], - 'queue.failer' => [\Illuminate\Queue\Failed\FailedJobProviderInterface::class], - 'redirect' => [\Illuminate\Routing\Redirector::class], - 'redis' => [\Illuminate\Redis\RedisManager::class, \Illuminate\Contracts\Redis\Factory::class], - 'request' => [\Illuminate\Http\Request::class, \Symfony\Component\HttpFoundation\Request::class], - 'router' => [\Illuminate\Routing\Router::class, \Illuminate\Contracts\Routing\Registrar::class, \Illuminate\Contracts\Routing\BindingRegistrar::class], - 'session' => [\Illuminate\Session\SessionManager::class], - 'session.store' => [\Illuminate\Session\Store::class, \Illuminate\Contracts\Session\Session::class], - 'url' => [\Illuminate\Routing\UrlGenerator::class, \Illuminate\Contracts\Routing\UrlGenerator::class], - 'validator' => [\Illuminate\Validation\Factory::class, \Illuminate\Contracts\Validation\Factory::class], - 'view' => [\Illuminate\View\Factory::class, \Illuminate\Contracts\View\Factory::class], - ] as $key => $aliases) { - foreach ($aliases as $alias) { - $this->alias($key, $alias); - } - } - } - - /** - * Flush the container of all bindings and resolved instances. - * - * @return void - */ - public function flush() - { - parent::flush(); - - $this->buildStack = []; - $this->loadedProviders = []; - $this->bootedCallbacks = []; - $this->bootingCallbacks = []; - $this->deferredServices = []; - $this->reboundCallbacks = []; - $this->serviceProviders = []; - $this->resolvingCallbacks = []; - $this->afterResolvingCallbacks = []; - $this->globalResolvingCallbacks = []; - } - - /** - * Get the application namespace. - * - * @return string - * - * @throws \RuntimeException - */ - public function getNamespace() - { - if (! is_null($this->namespace)) { - return $this->namespace; - } - - $composer = json_decode(file_get_contents($this->basePath('composer.json')), true); - - foreach ((array) data_get($composer, 'autoload.psr-4') as $namespace => $path) { - foreach ((array) $path as $pathChoice) { - if (realpath($this->path()) === realpath($this->basePath($pathChoice))) { - return $this->namespace = $namespace; - } - } - } - - throw new RuntimeException('Unable to detect application namespace.'); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Auth/Access/Authorizable.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Auth/Access/Authorizable.php deleted file mode 100644 index 9e8e33b..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Auth/Access/Authorizable.php +++ /dev/null @@ -1,44 +0,0 @@ -forUser($this)->check($ability, $arguments); - } - - /** - * Determine if the entity does not have a given ability. - * - * @param string $ability - * @param array|mixed $arguments - * @return bool - */ - public function cant($ability, $arguments = []) - { - return ! $this->can($ability, $arguments); - } - - /** - * Determine if the entity does not have a given ability. - * - * @param string $ability - * @param array|mixed $arguments - * @return bool - */ - public function cannot($ability, $arguments = []) - { - return $this->cant($ability, $arguments); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Auth/Access/AuthorizesRequests.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Auth/Access/AuthorizesRequests.php deleted file mode 100644 index 9930d90..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Auth/Access/AuthorizesRequests.php +++ /dev/null @@ -1,126 +0,0 @@ -parseAbilityAndArguments($ability, $arguments); - - return app(Gate::class)->authorize($ability, $arguments); - } - - /** - * Authorize a given action for a user. - * - * @param \Illuminate\Contracts\Auth\Authenticatable|mixed $user - * @param mixed $ability - * @param mixed|array $arguments - * @return \Illuminate\Auth\Access\Response - * - * @throws \Illuminate\Auth\Access\AuthorizationException - */ - public function authorizeForUser($user, $ability, $arguments = []) - { - [$ability, $arguments] = $this->parseAbilityAndArguments($ability, $arguments); - - return app(Gate::class)->forUser($user)->authorize($ability, $arguments); - } - - /** - * Guesses the ability's name if it wasn't provided. - * - * @param mixed $ability - * @param mixed|array $arguments - * @return array - */ - protected function parseAbilityAndArguments($ability, $arguments) - { - if (is_string($ability) && strpos($ability, '\\') === false) { - return [$ability, $arguments]; - } - - $method = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, 3)[2]['function']; - - return [$this->normalizeGuessedAbilityName($method), $ability]; - } - - /** - * Normalize the ability name that has been guessed from the method name. - * - * @param string $ability - * @return string - */ - protected function normalizeGuessedAbilityName($ability) - { - $map = $this->resourceAbilityMap(); - - return $map[$ability] ?? $ability; - } - - /** - * Authorize a resource action based on the incoming request. - * - * @param string $model - * @param string|null $parameter - * @param array $options - * @param \Illuminate\Http\Request|null $request - * @return void - */ - public function authorizeResource($model, $parameter = null, array $options = [], $request = null) - { - $parameter = $parameter ?: Str::snake(class_basename($model)); - - $middleware = []; - - foreach ($this->resourceAbilityMap() as $method => $ability) { - $modelName = in_array($method, $this->resourceMethodsWithoutModels()) ? $model : $parameter; - - $middleware["can:{$ability},{$modelName}"][] = $method; - } - - foreach ($middleware as $middlewareName => $methods) { - $this->middleware($middlewareName, $options)->only($methods); - } - } - - /** - * Get the map of resource methods to ability names. - * - * @return array - */ - protected function resourceAbilityMap() - { - return [ - 'show' => 'view', - 'create' => 'create', - 'store' => 'create', - 'edit' => 'update', - 'update' => 'update', - 'destroy' => 'delete', - ]; - } - - /** - * Get the list of resource methods which do not have model parameters. - * - * @return array - */ - protected function resourceMethodsWithoutModels() - { - return ['index', 'create', 'store']; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Auth/AuthenticatesUsers.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Auth/AuthenticatesUsers.php deleted file mode 100644 index 6ad55f6..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Auth/AuthenticatesUsers.php +++ /dev/null @@ -1,185 +0,0 @@ -validateLogin($request); - - // If the class is using the ThrottlesLogins trait, we can automatically throttle - // the login attempts for this application. We'll key this by the username and - // the IP address of the client making these requests into this application. - if (method_exists($this, 'hasTooManyLoginAttempts') && - $this->hasTooManyLoginAttempts($request)) { - $this->fireLockoutEvent($request); - - return $this->sendLockoutResponse($request); - } - - if ($this->attemptLogin($request)) { - return $this->sendLoginResponse($request); - } - - // If the login attempt was unsuccessful we will increment the number of attempts - // to login and redirect the user back to the login form. Of course, when this - // user surpasses their maximum number of attempts they will get locked out. - $this->incrementLoginAttempts($request); - - return $this->sendFailedLoginResponse($request); - } - - /** - * Validate the user login request. - * - * @param \Illuminate\Http\Request $request - * @return void - * - * @throws \Illuminate\Validation\ValidationException - */ - protected function validateLogin(Request $request) - { - $request->validate([ - $this->username() => 'required|string', - 'password' => 'required|string', - ]); - } - - /** - * Attempt to log the user into the application. - * - * @param \Illuminate\Http\Request $request - * @return bool - */ - protected function attemptLogin(Request $request) - { - return $this->guard()->attempt( - $this->credentials($request), $request->filled('remember') - ); - } - - /** - * Get the needed authorization credentials from the request. - * - * @param \Illuminate\Http\Request $request - * @return array - */ - protected function credentials(Request $request) - { - return $request->only($this->username(), 'password'); - } - - /** - * Send the response after the user was authenticated. - * - * @param \Illuminate\Http\Request $request - * @return \Illuminate\Http\Response - */ - protected function sendLoginResponse(Request $request) - { - $request->session()->regenerate(); - - $this->clearLoginAttempts($request); - - return $this->authenticated($request, $this->guard()->user()) - ?: redirect()->intended($this->redirectPath()); - } - - /** - * The user has been authenticated. - * - * @param \Illuminate\Http\Request $request - * @param mixed $user - * @return mixed - */ - protected function authenticated(Request $request, $user) - { - // - } - - /** - * Get the failed login response instance. - * - * @param \Illuminate\Http\Request $request - * @return \Symfony\Component\HttpFoundation\Response - * - * @throws \Illuminate\Validation\ValidationException - */ - protected function sendFailedLoginResponse(Request $request) - { - throw ValidationException::withMessages([ - $this->username() => [trans('auth.failed')], - ]); - } - - /** - * Get the login username to be used by the controller. - * - * @return string - */ - public function username() - { - return 'email'; - } - - /** - * Log the user out of the application. - * - * @param \Illuminate\Http\Request $request - * @return \Illuminate\Http\Response - */ - public function logout(Request $request) - { - $this->guard()->logout(); - - $request->session()->invalidate(); - - return $this->loggedOut($request) ?: redirect('/'); - } - - /** - * The user has logged out of the application. - * - * @param \Illuminate\Http\Request $request - * @return mixed - */ - protected function loggedOut(Request $request) - { - // - } - - /** - * Get the guard to be used during authentication. - * - * @return \Illuminate\Contracts\Auth\StatefulGuard - */ - protected function guard() - { - return Auth::guard(); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Auth/RedirectsUsers.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Auth/RedirectsUsers.php deleted file mode 100644 index cc99229..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Auth/RedirectsUsers.php +++ /dev/null @@ -1,20 +0,0 @@ -redirectTo(); - } - - return property_exists($this, 'redirectTo') ? $this->redirectTo : '/home'; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Auth/RegistersUsers.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Auth/RegistersUsers.php deleted file mode 100644 index f3238f2..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Auth/RegistersUsers.php +++ /dev/null @@ -1,62 +0,0 @@ -validator($request->all())->validate(); - - event(new Registered($user = $this->create($request->all()))); - - $this->guard()->login($user); - - return $this->registered($request, $user) - ?: redirect($this->redirectPath()); - } - - /** - * Get the guard to be used during registration. - * - * @return \Illuminate\Contracts\Auth\StatefulGuard - */ - protected function guard() - { - return Auth::guard(); - } - - /** - * The user has been registered. - * - * @param \Illuminate\Http\Request $request - * @param mixed $user - * @return mixed - */ - protected function registered(Request $request, $user) - { - // - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Auth/ResetsPasswords.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Auth/ResetsPasswords.php deleted file mode 100644 index 9cb780d..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Auth/ResetsPasswords.php +++ /dev/null @@ -1,162 +0,0 @@ -with( - ['token' => $token, 'email' => $request->email] - ); - } - - /** - * Reset the given user's password. - * - * @param \Illuminate\Http\Request $request - * @return \Illuminate\Http\RedirectResponse|\Illuminate\Http\JsonResponse - */ - public function reset(Request $request) - { - $request->validate($this->rules(), $this->validationErrorMessages()); - - // Here we will attempt to reset the user's password. If it is successful we - // will update the password on an actual user model and persist it to the - // database. Otherwise we will parse the error and return the response. - $response = $this->broker()->reset( - $this->credentials($request), function ($user, $password) { - $this->resetPassword($user, $password); - } - ); - - // If the password was successfully reset, we will redirect the user back to - // the application's home authenticated view. If there is an error we can - // redirect them back to where they came from with their error message. - return $response == Password::PASSWORD_RESET - ? $this->sendResetResponse($request, $response) - : $this->sendResetFailedResponse($request, $response); - } - - /** - * Get the password reset validation rules. - * - * @return array - */ - protected function rules() - { - return [ - 'token' => 'required', - 'email' => 'required|email', - 'password' => 'required|confirmed|min:8', - ]; - } - - /** - * Get the password reset validation error messages. - * - * @return array - */ - protected function validationErrorMessages() - { - return []; - } - - /** - * Get the password reset credentials from the request. - * - * @param \Illuminate\Http\Request $request - * @return array - */ - protected function credentials(Request $request) - { - return $request->only( - 'email', 'password', 'password_confirmation', 'token' - ); - } - - /** - * Reset the given user's password. - * - * @param \Illuminate\Contracts\Auth\CanResetPassword $user - * @param string $password - * @return void - */ - protected function resetPassword($user, $password) - { - $user->password = Hash::make($password); - - $user->setRememberToken(Str::random(60)); - - $user->save(); - - event(new PasswordReset($user)); - - $this->guard()->login($user); - } - - /** - * Get the response for a successful password reset. - * - * @param \Illuminate\Http\Request $request - * @param string $response - * @return \Illuminate\Http\RedirectResponse|\Illuminate\Http\JsonResponse - */ - protected function sendResetResponse(Request $request, $response) - { - return redirect($this->redirectPath()) - ->with('status', trans($response)); - } - - /** - * Get the response for a failed password reset. - * - * @param \Illuminate\Http\Request $request - * @param string $response - * @return \Illuminate\Http\RedirectResponse|\Illuminate\Http\JsonResponse - */ - protected function sendResetFailedResponse(Request $request, $response) - { - return redirect()->back() - ->withInput($request->only('email')) - ->withErrors(['email' => trans($response)]); - } - - /** - * Get the broker to be used during password reset. - * - * @return \Illuminate\Contracts\Auth\PasswordBroker - */ - public function broker() - { - return Password::broker(); - } - - /** - * Get the guard to be used during password reset. - * - * @return \Illuminate\Contracts\Auth\StatefulGuard - */ - protected function guard() - { - return Auth::guard(); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Auth/SendsPasswordResetEmails.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Auth/SendsPasswordResetEmails.php deleted file mode 100644 index 070c648..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Auth/SendsPasswordResetEmails.php +++ /dev/null @@ -1,99 +0,0 @@ -validateEmail($request); - - // We will send the password reset link to this user. Once we have attempted - // to send the link, we will examine the response then see the message we - // need to show to the user. Finally, we'll send out a proper response. - $response = $this->broker()->sendResetLink( - $this->credentials($request) - ); - - return $response == Password::RESET_LINK_SENT - ? $this->sendResetLinkResponse($request, $response) - : $this->sendResetLinkFailedResponse($request, $response); - } - - /** - * Validate the email for the given request. - * - * @param \Illuminate\Http\Request $request - * @return void - */ - protected function validateEmail(Request $request) - { - $request->validate(['email' => 'required|email']); - } - - /** - * Get the needed authentication credentials from the request. - * - * @param \Illuminate\Http\Request $request - * @return array - */ - protected function credentials(Request $request) - { - return $request->only('email'); - } - - /** - * Get the response for a successful password reset link. - * - * @param \Illuminate\Http\Request $request - * @param string $response - * @return \Illuminate\Http\RedirectResponse|\Illuminate\Http\JsonResponse - */ - protected function sendResetLinkResponse(Request $request, $response) - { - return back()->with('status', trans($response)); - } - - /** - * Get the response for a failed password reset link. - * - * @param \Illuminate\Http\Request $request - * @param string $response - * @return \Illuminate\Http\RedirectResponse|\Illuminate\Http\JsonResponse - */ - protected function sendResetLinkFailedResponse(Request $request, $response) - { - return back() - ->withInput($request->only('email')) - ->withErrors(['email' => trans($response)]); - } - - /** - * Get the broker to be used during password reset. - * - * @return \Illuminate\Contracts\Auth\PasswordBroker - */ - public function broker() - { - return Password::broker(); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Auth/ThrottlesLogins.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Auth/ThrottlesLogins.php deleted file mode 100644 index 6d7e56c..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Auth/ThrottlesLogins.php +++ /dev/null @@ -1,122 +0,0 @@ -limiter()->tooManyAttempts( - $this->throttleKey($request), $this->maxAttempts() - ); - } - - /** - * Increment the login attempts for the user. - * - * @param \Illuminate\Http\Request $request - * @return void - */ - protected function incrementLoginAttempts(Request $request) - { - $this->limiter()->hit( - $this->throttleKey($request), $this->decayMinutes() * 60 - ); - } - - /** - * Redirect the user after determining they are locked out. - * - * @param \Illuminate\Http\Request $request - * @return void - * - * @throws \Illuminate\Validation\ValidationException - */ - protected function sendLockoutResponse(Request $request) - { - $seconds = $this->limiter()->availableIn( - $this->throttleKey($request) - ); - - throw ValidationException::withMessages([ - $this->username() => [Lang::get('auth.throttle', ['seconds' => $seconds])], - ])->status(Response::HTTP_TOO_MANY_REQUESTS); - } - - /** - * Clear the login locks for the given user credentials. - * - * @param \Illuminate\Http\Request $request - * @return void - */ - protected function clearLoginAttempts(Request $request) - { - $this->limiter()->clear($this->throttleKey($request)); - } - - /** - * Fire an event when a lockout occurs. - * - * @param \Illuminate\Http\Request $request - * @return void - */ - protected function fireLockoutEvent(Request $request) - { - event(new Lockout($request)); - } - - /** - * Get the throttle key for the given request. - * - * @param \Illuminate\Http\Request $request - * @return string - */ - protected function throttleKey(Request $request) - { - return Str::lower($request->input($this->username())).'|'.$request->ip(); - } - - /** - * Get the rate limiter instance. - * - * @return \Illuminate\Cache\RateLimiter - */ - protected function limiter() - { - return app(RateLimiter::class); - } - - /** - * Get the maximum number of attempts to allow. - * - * @return int - */ - public function maxAttempts() - { - return property_exists($this, 'maxAttempts') ? $this->maxAttempts : 5; - } - - /** - * Get the number of minutes to throttle for. - * - * @return int - */ - public function decayMinutes() - { - return property_exists($this, 'decayMinutes') ? $this->decayMinutes : 1; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Auth/User.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Auth/User.php deleted file mode 100644 index c816436..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Auth/User.php +++ /dev/null @@ -1,20 +0,0 @@ -user()->hasVerifiedEmail() - ? redirect($this->redirectPath()) - : view('auth.verify'); - } - - /** - * Mark the authenticated user's email address as verified. - * - * @param \Illuminate\Http\Request $request - * @return \Illuminate\Http\Response - * @throws \Illuminate\Auth\Access\AuthorizationException - */ - public function verify(Request $request) - { - if ($request->route('id') != $request->user()->getKey()) { - throw new AuthorizationException; - } - - if ($request->user()->hasVerifiedEmail()) { - return redirect($this->redirectPath()); - } - - if ($request->user()->markEmailAsVerified()) { - event(new Verified($request->user())); - } - - return redirect($this->redirectPath())->with('verified', true); - } - - /** - * Resend the email verification notification. - * - * @param \Illuminate\Http\Request $request - * @return \Illuminate\Http\Response - */ - public function resend(Request $request) - { - if ($request->user()->hasVerifiedEmail()) { - return redirect($this->redirectPath()); - } - - $request->user()->sendEmailVerificationNotification(); - - return back()->with('resent', true); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/BootProviders.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/BootProviders.php deleted file mode 100644 index 2c0bcb0..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/BootProviders.php +++ /dev/null @@ -1,19 +0,0 @@ -boot(); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php deleted file mode 100644 index ad57634..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php +++ /dev/null @@ -1,172 +0,0 @@ -app = $app; - - error_reporting(-1); - - set_error_handler([$this, 'handleError']); - - set_exception_handler([$this, 'handleException']); - - register_shutdown_function([$this, 'handleShutdown']); - - if (! $app->environment('testing')) { - ini_set('display_errors', 'Off'); - } - } - - /** - * Convert PHP errors to ErrorException instances. - * - * @param int $level - * @param string $message - * @param string $file - * @param int $line - * @param array $context - * @return void - * - * @throws \ErrorException - */ - public function handleError($level, $message, $file = '', $line = 0, $context = []) - { - if (error_reporting() & $level) { - throw new ErrorException($message, 0, $level, $file, $line); - } - } - - /** - * Handle an uncaught exception from the application. - * - * Note: Most exceptions can be handled via the try / catch block in - * the HTTP and Console kernels. But, fatal error exceptions must - * be handled differently since they are not normal exceptions. - * - * @param \Throwable $e - * @return void - */ - public function handleException($e) - { - if (! $e instanceof Exception) { - $e = new FatalThrowableError($e); - } - - try { - self::$reservedMemory = null; - - $this->getExceptionHandler()->report($e); - } catch (Exception $e) { - // - } - - if ($this->app->runningInConsole()) { - $this->renderForConsole($e); - } else { - $this->renderHttpResponse($e); - } - } - - /** - * Render an exception to the console. - * - * @param \Exception $e - * @return void - */ - protected function renderForConsole(Exception $e) - { - $this->getExceptionHandler()->renderForConsole(new ConsoleOutput, $e); - } - - /** - * Render an exception as an HTTP response and send it. - * - * @param \Exception $e - * @return void - */ - protected function renderHttpResponse(Exception $e) - { - $this->getExceptionHandler()->render($this->app['request'], $e)->send(); - } - - /** - * Handle the PHP shutdown event. - * - * @return void - */ - public function handleShutdown() - { - if (! is_null($error = error_get_last()) && $this->isFatal($error['type'])) { - $this->handleException($this->fatalExceptionFromError($error, 0)); - } - } - - /** - * Create a new fatal exception instance from an error array. - * - * @param array $error - * @param int|null $traceOffset - * @return \Symfony\Component\Debug\Exception\FatalErrorException - */ - protected function fatalExceptionFromError(array $error, $traceOffset = null) - { - return new FatalErrorException( - $error['message'], $error['type'], 0, $error['file'], $error['line'], $traceOffset - ); - } - - /** - * Determine if the error type is fatal. - * - * @param int $type - * @return bool - */ - protected function isFatal($type) - { - return in_array($type, [E_COMPILE_ERROR, E_CORE_ERROR, E_ERROR, E_PARSE]); - } - - /** - * Get an instance of the exception handler. - * - * @return \Illuminate\Contracts\Debug\ExceptionHandler - */ - protected function getExceptionHandler() - { - return $this->app->make(ExceptionHandler::class); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/LoadConfiguration.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/LoadConfiguration.php deleted file mode 100644 index 8f4653d..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/LoadConfiguration.php +++ /dev/null @@ -1,116 +0,0 @@ -getCachedConfigPath())) { - $items = require $cached; - - $loadedFromCache = true; - } - - // Next we will spin through all of the configuration files in the configuration - // directory and load each one into the repository. This will make all of the - // options available to the developer for use in various parts of this app. - $app->instance('config', $config = new Repository($items)); - - if (! isset($loadedFromCache)) { - $this->loadConfigurationFiles($app, $config); - } - - // Finally, we will set the application's environment based on the configuration - // values that were loaded. We will pass a callback which will be used to get - // the environment in a web context where an "--env" switch is not present. - $app->detectEnvironment(function () use ($config) { - return $config->get('app.env', 'production'); - }); - - date_default_timezone_set($config->get('app.timezone', 'UTC')); - - mb_internal_encoding('UTF-8'); - } - - /** - * Load the configuration items from all of the files. - * - * @param \Illuminate\Contracts\Foundation\Application $app - * @param \Illuminate\Contracts\Config\Repository $repository - * @return void - * - * @throws \Exception - */ - protected function loadConfigurationFiles(Application $app, RepositoryContract $repository) - { - $files = $this->getConfigurationFiles($app); - - if (! isset($files['app'])) { - throw new Exception('Unable to load the "app" configuration file.'); - } - - foreach ($files as $key => $path) { - $repository->set($key, require $path); - } - } - - /** - * Get all of the configuration files for the application. - * - * @param \Illuminate\Contracts\Foundation\Application $app - * @return array - */ - protected function getConfigurationFiles(Application $app) - { - $files = []; - - $configPath = realpath($app->configPath()); - - foreach (Finder::create()->files()->name('*.php')->in($configPath) as $file) { - $directory = $this->getNestedDirectory($file, $configPath); - - $files[$directory.basename($file->getRealPath(), '.php')] = $file->getRealPath(); - } - - ksort($files, SORT_NATURAL); - - return $files; - } - - /** - * Get the configuration file nesting path. - * - * @param \SplFileInfo $file - * @param string $configPath - * @return string - */ - protected function getNestedDirectory(SplFileInfo $file, $configPath) - { - $directory = $file->getPath(); - - if ($nested = trim(str_replace($configPath, '', $directory), DIRECTORY_SEPARATOR)) { - $nested = str_replace(DIRECTORY_SEPARATOR, '.', $nested).'.'; - } - - return $nested; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/LoadEnvironmentVariables.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/LoadEnvironmentVariables.php deleted file mode 100644 index b39bbf8..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/LoadEnvironmentVariables.php +++ /dev/null @@ -1,111 +0,0 @@ -configurationIsCached()) { - return; - } - - $this->checkForSpecificEnvironmentFile($app); - - try { - $this->createDotenv($app)->safeLoad(); - } catch (InvalidFileException $e) { - $this->writeErrorAndDie($e); - } - } - - /** - * Detect if a custom environment file matching the APP_ENV exists. - * - * @param \Illuminate\Contracts\Foundation\Application $app - * @return void - */ - protected function checkForSpecificEnvironmentFile($app) - { - if ($app->runningInConsole() && ($input = new ArgvInput)->hasParameterOption('--env')) { - if ($this->setEnvironmentFilePath( - $app, $app->environmentFile().'.'.$input->getParameterOption('--env') - )) { - return; - } - } - - if (! env('APP_ENV')) { - return; - } - - $this->setEnvironmentFilePath( - $app, $app->environmentFile().'.'.env('APP_ENV') - ); - } - - /** - * Load a custom environment file. - * - * @param \Illuminate\Contracts\Foundation\Application $app - * @param string $file - * @return bool - */ - protected function setEnvironmentFilePath($app, $file) - { - if (file_exists($app->environmentPath().'/'.$file)) { - $app->loadEnvironmentFrom($file); - - return true; - } - - return false; - } - - /** - * Create a Dotenv instance. - * - * @param \Illuminate\Contracts\Foundation\Application $app - * @return \Dotenv\Dotenv - */ - protected function createDotenv($app) - { - return Dotenv::create( - $app->environmentPath(), - $app->environmentFile(), - new DotenvFactory([new EnvConstAdapter, new ServerConstAdapter, new PutenvAdapter]) - ); - } - - /** - * Write the error information to the screen and exit. - * - * @param \Dotenv\Exception\InvalidFileException $e - * @return void - */ - protected function writeErrorAndDie(InvalidFileException $e) - { - $output = (new ConsoleOutput)->getErrorOutput(); - - $output->writeln('The environment file is invalid!'); - $output->writeln($e->getMessage()); - - die(1); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/RegisterFacades.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/RegisterFacades.php deleted file mode 100644 index 62a42d0..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/RegisterFacades.php +++ /dev/null @@ -1,29 +0,0 @@ -make('config')->get('app.aliases', []), - $app->make(PackageManifest::class)->aliases() - ))->register(); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/RegisterProviders.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/RegisterProviders.php deleted file mode 100644 index f18375c..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/RegisterProviders.php +++ /dev/null @@ -1,19 +0,0 @@ -registerConfiguredProviders(); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/SetRequestForConsole.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/SetRequestForConsole.php deleted file mode 100644 index fda735b..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/SetRequestForConsole.php +++ /dev/null @@ -1,35 +0,0 @@ -make('config')->get('app.url', 'http://localhost'); - - $components = parse_url($uri); - - $server = $_SERVER; - - if (isset($components['path'])) { - $server = array_merge($server, [ - 'SCRIPT_FILENAME' => $components['path'], - 'SCRIPT_NAME' => $components['path'], - ]); - } - - $app->instance('request', Request::create( - $uri, 'GET', [], [], [], $server - )); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Bus/Dispatchable.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Bus/Dispatchable.php deleted file mode 100644 index 6dd992e..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Bus/Dispatchable.php +++ /dev/null @@ -1,39 +0,0 @@ -dispatchNow(new static(...func_get_args())); - } - - /** - * Set the jobs that should run if this job is successful. - * - * @param array $chain - * @return \Illuminate\Foundation\Bus\PendingChain - */ - public static function withChain($chain) - { - return new PendingChain(static::class, $chain); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Bus/DispatchesJobs.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Bus/DispatchesJobs.php deleted file mode 100644 index 46d6e5b..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Bus/DispatchesJobs.php +++ /dev/null @@ -1,30 +0,0 @@ -dispatch($job); - } - - /** - * Dispatch a job to its appropriate handler in the current process. - * - * @param mixed $job - * @return mixed - */ - public function dispatchNow($job) - { - return app(Dispatcher::class)->dispatchNow($job); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Bus/PendingChain.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Bus/PendingChain.php deleted file mode 100644 index b345536..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Bus/PendingChain.php +++ /dev/null @@ -1,45 +0,0 @@ -class = $class; - $this->chain = $chain; - } - - /** - * Dispatch the job with the given arguments. - * - * @return \Illuminate\Foundation\Bus\PendingDispatch - */ - public function dispatch() - { - return (new PendingDispatch( - new $this->class(...func_get_args()) - ))->chain($this->chain); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Bus/PendingDispatch.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Bus/PendingDispatch.php deleted file mode 100644 index 3c3879d..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Bus/PendingDispatch.php +++ /dev/null @@ -1,114 +0,0 @@ -job = $job; - } - - /** - * Set the desired connection for the job. - * - * @param string|null $connection - * @return $this - */ - public function onConnection($connection) - { - $this->job->onConnection($connection); - - return $this; - } - - /** - * Set the desired queue for the job. - * - * @param string|null $queue - * @return $this - */ - public function onQueue($queue) - { - $this->job->onQueue($queue); - - return $this; - } - - /** - * Set the desired connection for the chain. - * - * @param string|null $connection - * @return $this - */ - public function allOnConnection($connection) - { - $this->job->allOnConnection($connection); - - return $this; - } - - /** - * Set the desired queue for the chain. - * - * @param string|null $queue - * @return $this - */ - public function allOnQueue($queue) - { - $this->job->allOnQueue($queue); - - return $this; - } - - /** - * Set the desired delay for the job. - * - * @param \DateTimeInterface|\DateInterval|int|null $delay - * @return $this - */ - public function delay($delay) - { - $this->job->delay($delay); - - return $this; - } - - /** - * Set the jobs that should run if this job is successful. - * - * @param array $chain - * @return $this - */ - public function chain($chain) - { - $this->job->chain($chain); - - return $this; - } - - /** - * Handle the object's destruction. - * - * @return void - */ - public function __destruct() - { - app(Dispatcher::class)->dispatch($this->job); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/ComposerScripts.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/ComposerScripts.php deleted file mode 100644 index fcda187..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/ComposerScripts.php +++ /dev/null @@ -1,65 +0,0 @@ -getComposer()->getConfig()->get('vendor-dir').'/autoload.php'; - - static::clearCompiled(); - } - - /** - * Handle the post-update Composer event. - * - * @param \Composer\Script\Event $event - * @return void - */ - public static function postUpdate(Event $event) - { - require_once $event->getComposer()->getConfig()->get('vendor-dir').'/autoload.php'; - - static::clearCompiled(); - } - - /** - * Handle the post-autoload-dump Composer event. - * - * @param \Composer\Script\Event $event - * @return void - */ - public static function postAutoloadDump(Event $event) - { - require_once $event->getComposer()->getConfig()->get('vendor-dir').'/autoload.php'; - - static::clearCompiled(); - } - - /** - * Clear the cached Laravel bootstrapping files. - * - * @return void - */ - protected static function clearCompiled() - { - $laravel = new Application(getcwd()); - - if (file_exists($servicesPath = $laravel->getCachedServicesPath())) { - @unlink($servicesPath); - } - - if (file_exists($packagesPath = $laravel->getCachedPackagesPath())) { - @unlink($packagesPath); - } - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/AppNameCommand.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/AppNameCommand.php deleted file mode 100644 index 1c0d359..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/AppNameCommand.php +++ /dev/null @@ -1,296 +0,0 @@ -files = $files; - $this->composer = $composer; - } - - /** - * Execute the console command. - * - * @return void - */ - public function handle() - { - $this->currentRoot = trim($this->laravel->getNamespace(), '\\'); - - $this->setAppDirectoryNamespace(); - $this->setBootstrapNamespaces(); - $this->setConfigNamespaces(); - $this->setComposerNamespace(); - $this->setDatabaseFactoryNamespaces(); - - $this->info('Application namespace set!'); - - $this->composer->dumpAutoloads(); - - $this->call('optimize:clear'); - } - - /** - * Set the namespace on the files in the app directory. - * - * @return void - */ - protected function setAppDirectoryNamespace() - { - $files = Finder::create() - ->in($this->laravel['path']) - ->contains($this->currentRoot) - ->name('*.php'); - - foreach ($files as $file) { - $this->replaceNamespace($file->getRealPath()); - } - } - - /** - * Replace the App namespace at the given path. - * - * @param string $path - * @return void - */ - protected function replaceNamespace($path) - { - $search = [ - 'namespace '.$this->currentRoot.';', - $this->currentRoot.'\\', - ]; - - $replace = [ - 'namespace '.$this->argument('name').';', - $this->argument('name').'\\', - ]; - - $this->replaceIn($path, $search, $replace); - } - - /** - * Set the bootstrap namespaces. - * - * @return void - */ - protected function setBootstrapNamespaces() - { - $search = [ - $this->currentRoot.'\\Http', - $this->currentRoot.'\\Console', - $this->currentRoot.'\\Exceptions', - ]; - - $replace = [ - $this->argument('name').'\\Http', - $this->argument('name').'\\Console', - $this->argument('name').'\\Exceptions', - ]; - - $this->replaceIn($this->getBootstrapPath(), $search, $replace); - } - - /** - * Set the namespace in the appropriate configuration files. - * - * @return void - */ - protected function setConfigNamespaces() - { - $this->setAppConfigNamespaces(); - $this->setAuthConfigNamespace(); - $this->setServicesConfigNamespace(); - } - - /** - * Set the application provider namespaces. - * - * @return void - */ - protected function setAppConfigNamespaces() - { - $search = [ - $this->currentRoot.'\\Providers', - $this->currentRoot.'\\Http\\Controllers\\', - ]; - - $replace = [ - $this->argument('name').'\\Providers', - $this->argument('name').'\\Http\\Controllers\\', - ]; - - $this->replaceIn($this->getConfigPath('app'), $search, $replace); - } - - /** - * Set the authentication User namespace. - * - * @return void - */ - protected function setAuthConfigNamespace() - { - $this->replaceIn( - $this->getConfigPath('auth'), - $this->currentRoot.'\\User', - $this->argument('name').'\\User' - ); - } - - /** - * Set the services User namespace. - * - * @return void - */ - protected function setServicesConfigNamespace() - { - $this->replaceIn( - $this->getConfigPath('services'), - $this->currentRoot.'\\User', - $this->argument('name').'\\User' - ); - } - - /** - * Set the PSR-4 namespace in the Composer file. - * - * @return void - */ - protected function setComposerNamespace() - { - $this->replaceIn( - $this->getComposerPath(), - str_replace('\\', '\\\\', $this->currentRoot).'\\\\', - str_replace('\\', '\\\\', $this->argument('name')).'\\\\' - ); - } - - /** - * Set the namespace in database factory files. - * - * @return void - */ - protected function setDatabaseFactoryNamespaces() - { - $files = Finder::create() - ->in(database_path('factories')) - ->contains($this->currentRoot) - ->name('*.php'); - - foreach ($files as $file) { - $this->replaceIn( - $file->getRealPath(), - $this->currentRoot, $this->argument('name') - ); - } - } - - /** - * Replace the given string in the given file. - * - * @param string $path - * @param string|array $search - * @param string|array $replace - * @return void - */ - protected function replaceIn($path, $search, $replace) - { - if ($this->files->exists($path)) { - $this->files->put($path, str_replace($search, $replace, $this->files->get($path))); - } - } - - /** - * Get the path to the bootstrap/app.php file. - * - * @return string - */ - protected function getBootstrapPath() - { - return $this->laravel->bootstrapPath().'/app.php'; - } - - /** - * Get the path to the Composer.json file. - * - * @return string - */ - protected function getComposerPath() - { - return base_path('composer.json'); - } - - /** - * Get the path to the given configuration file. - * - * @param string $name - * @return string - */ - protected function getConfigPath($name) - { - return $this->laravel['path.config'].'/'.$name.'.php'; - } - - /** - * Get the console command arguments. - * - * @return array - */ - protected function getArguments() - { - return [ - ['name', InputArgument::REQUIRED, 'The desired namespace'], - ]; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/ChannelMakeCommand.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/ChannelMakeCommand.php deleted file mode 100644 index 202d81c..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/ChannelMakeCommand.php +++ /dev/null @@ -1,65 +0,0 @@ -userProviderModel()), - parent::buildClass($name) - ); - } - - /** - * Get the stub file for the generator. - * - * @return string - */ - protected function getStub() - { - return __DIR__.'/stubs/channel.stub'; - } - - /** - * Get the default namespace for the class. - * - * @param string $rootNamespace - * @return string - */ - protected function getDefaultNamespace($rootNamespace) - { - return $rootNamespace.'\Broadcasting'; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/ClearCompiledCommand.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/ClearCompiledCommand.php deleted file mode 100644 index 399a44d..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/ClearCompiledCommand.php +++ /dev/null @@ -1,40 +0,0 @@ -laravel->getCachedServicesPath())) { - @unlink($servicesPath); - } - - if (file_exists($packagesPath = $this->laravel->getCachedPackagesPath())) { - @unlink($packagesPath); - } - - $this->info('Compiled services and packages files removed!'); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/ClosureCommand.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/ClosureCommand.php deleted file mode 100644 index 1e34b86..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/ClosureCommand.php +++ /dev/null @@ -1,71 +0,0 @@ -callback = $callback; - $this->signature = $signature; - - parent::__construct(); - } - - /** - * Execute the console command. - * - * @param \Symfony\Component\Console\Input\InputInterface $input - * @param \Symfony\Component\Console\Output\OutputInterface $output - * @return mixed - */ - protected function execute(InputInterface $input, OutputInterface $output) - { - $inputs = array_merge($input->getArguments(), $input->getOptions()); - - $parameters = []; - - foreach ((new ReflectionFunction($this->callback))->getParameters() as $parameter) { - if (isset($inputs[$parameter->name])) { - $parameters[$parameter->name] = $inputs[$parameter->name]; - } - } - - return $this->laravel->call( - $this->callback->bindTo($this, $this), $parameters - ); - } - - /** - * Set the description for the command. - * - * @param string $description - * @return $this - */ - public function describe($description) - { - $this->setDescription($description); - - return $this; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/ConfigCacheCommand.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/ConfigCacheCommand.php deleted file mode 100644 index 714921c..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/ConfigCacheCommand.php +++ /dev/null @@ -1,92 +0,0 @@ -files = $files; - } - - /** - * Execute the console command. - * - * @return void - * - * @throws \LogicException - */ - public function handle() - { - $this->call('config:clear'); - - $config = $this->getFreshConfiguration(); - - $configPath = $this->laravel->getCachedConfigPath(); - - $this->files->put( - $configPath, 'files->delete($configPath); - - throw new LogicException('Your configuration files are not serializable.', 0, $e); - } - - $this->info('Configuration cached successfully!'); - } - - /** - * Boot a fresh copy of the application configuration. - * - * @return array - */ - protected function getFreshConfiguration() - { - $app = require $this->laravel->bootstrapPath().'/app.php'; - - $app->useStoragePath($this->laravel->storagePath()); - - $app->make(ConsoleKernelContract::class)->bootstrap(); - - return $app['config']->all(); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/ConfigClearCommand.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/ConfigClearCommand.php deleted file mode 100644 index d20e2d8..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/ConfigClearCommand.php +++ /dev/null @@ -1,55 +0,0 @@ -files = $files; - } - - /** - * Execute the console command. - * - * @return void - */ - public function handle() - { - $this->files->delete($this->laravel->getCachedConfigPath()); - - $this->info('Configuration cache cleared!'); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/ConsoleMakeCommand.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/ConsoleMakeCommand.php deleted file mode 100644 index 54183e9..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/ConsoleMakeCommand.php +++ /dev/null @@ -1,90 +0,0 @@ -option('command'), $stub); - } - - /** - * Get the stub file for the generator. - * - * @return string - */ - protected function getStub() - { - return __DIR__.'/stubs/console.stub'; - } - - /** - * Get the default namespace for the class. - * - * @param string $rootNamespace - * @return string - */ - protected function getDefaultNamespace($rootNamespace) - { - return $rootNamespace.'\Console\Commands'; - } - - /** - * Get the console command arguments. - * - * @return array - */ - protected function getArguments() - { - return [ - ['name', InputArgument::REQUIRED, 'The name of the command'], - ]; - } - - /** - * Get the console command options. - * - * @return array - */ - protected function getOptions() - { - return [ - ['command', null, InputOption::VALUE_OPTIONAL, 'The terminal command that should be assigned', 'command:name'], - ]; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/DownCommand.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/DownCommand.php deleted file mode 100644 index 50f8a6d..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/DownCommand.php +++ /dev/null @@ -1,77 +0,0 @@ -getDownFilePayload(), - JSON_PRETTY_PRINT)); - - $this->comment('Application is now in maintenance mode.'); - } catch (Exception $e) { - $this->error('Failed to enter maintenance mode.'); - - $this->error($e->getMessage()); - - return 1; - } - } - - /** - * Get the payload to be placed in the "down" file. - * - * @return array - */ - protected function getDownFilePayload() - { - return [ - 'time' => $this->currentTime(), - 'message' => $this->option('message'), - 'retry' => $this->getRetryTime(), - 'allowed' => $this->option('allow'), - ]; - } - - /** - * Get the number of seconds the client should wait before retrying their request. - * - * @return int|null - */ - protected function getRetryTime() - { - $retry = $this->option('retry'); - - return is_numeric($retry) && $retry > 0 ? (int) $retry : null; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/EnvironmentCommand.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/EnvironmentCommand.php deleted file mode 100644 index ab3bb32..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/EnvironmentCommand.php +++ /dev/null @@ -1,32 +0,0 @@ -line('Current application environment: '.$this->laravel['env'].''); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/EventCacheCommand.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/EventCacheCommand.php deleted file mode 100644 index 310b40a..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/EventCacheCommand.php +++ /dev/null @@ -1,58 +0,0 @@ -call('event:clear'); - - file_put_contents( - $this->laravel->getCachedEventsPath(), - 'getEvents(), true).';' - ); - - $this->info('Events cached successfully!'); - } - - /** - * Get all of the events and listeners configured for the application. - * - * @return array - */ - protected function getEvents() - { - $events = []; - - foreach ($this->laravel->getProviders(EventServiceProvider::class) as $provider) { - $providerEvents = array_merge_recursive($provider->shouldDiscoverEvents() ? $provider->discoverEvents() : [], $provider->listens()); - - $events[get_class($provider)] = $providerEvents; - } - - return $events; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/EventClearCommand.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/EventClearCommand.php deleted file mode 100644 index a5fe4e6..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/EventClearCommand.php +++ /dev/null @@ -1,57 +0,0 @@ -files = $files; - } - - /** - * Execute the console command. - * - * @return void - * - * @throws \RuntimeException - */ - public function handle() - { - $this->files->delete($this->laravel->getCachedEventsPath()); - - $this->info('Cached events cleared!'); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/EventGenerateCommand.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/EventGenerateCommand.php deleted file mode 100644 index 0c6a4a7..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/EventGenerateCommand.php +++ /dev/null @@ -1,78 +0,0 @@ -laravel->getProviders(EventServiceProvider::class); - - foreach ($providers as $provider) { - foreach ($provider->listens() as $event => $listeners) { - $this->makeEventAndListeners($event, $listeners); - } - } - - $this->info('Events and listeners generated successfully!'); - } - - /** - * Make the event and listeners for the given event. - * - * @param string $event - * @param array $listeners - * @return void - */ - protected function makeEventAndListeners($event, $listeners) - { - if (! Str::contains($event, '\\')) { - return; - } - - $this->callSilent('make:event', ['name' => $event]); - - $this->makeListeners($event, $listeners); - } - - /** - * Make the listeners for the given event. - * - * @param string $event - * @param array $listeners - * @return void - */ - protected function makeListeners($event, $listeners) - { - foreach ($listeners as $listener) { - $listener = preg_replace('/@.+$/', '', $listener); - - $this->callSilent('make:listener', array_filter( - ['name' => $listener, '--event' => $event] - )); - } - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/EventListCommand.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/EventListCommand.php deleted file mode 100644 index f2c87ef..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/EventListCommand.php +++ /dev/null @@ -1,91 +0,0 @@ -getEvents(); - - if (empty($events)) { - return $this->error("Your application doesn't have any events matching the given criteria."); - } - - $this->table(['Event', 'Listeners'], $events); - } - - /** - * Get all of the events and listeners configured for the application. - * - * @return array - */ - protected function getEvents() - { - $events = []; - - foreach ($this->laravel->getProviders(EventServiceProvider::class) as $provider) { - $providerEvents = array_merge_recursive($provider->discoverEvents(), $provider->listens()); - - $events = array_merge_recursive($events, $providerEvents); - } - - if ($this->filteringByEvent()) { - $events = $this->filterEvents($events); - } - - return collect($events)->map(function ($listeners, $event) { - return ['Event' => $event, 'Listeners' => implode(PHP_EOL, $listeners)]; - })->sortBy('Event')->values()->toArray(); - } - - /** - * Filter the given events using the provided event name filter. - * - * @param array $events - * @return array - */ - protected function filterEvents(array $events) - { - if (! $eventName = $this->option('event')) { - return $events; - } - - return collect($events)->filter(function ($listeners, $event) use ($eventName) { - return Str::contains($event, $eventName); - })->toArray(); - } - - /** - * Determine whether the user is filtering by an event name. - * - * @return bool - */ - protected function filteringByEvent() - { - return ! empty($this->option('event')); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/EventMakeCommand.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/EventMakeCommand.php deleted file mode 100644 index f18719a..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/EventMakeCommand.php +++ /dev/null @@ -1,61 +0,0 @@ -option('render')) { - return $this->option('report') - ? __DIR__.'/stubs/exception-render-report.stub' - : __DIR__.'/stubs/exception-render.stub'; - } - - return $this->option('report') - ? __DIR__.'/stubs/exception-report.stub' - : __DIR__.'/stubs/exception.stub'; - } - - /** - * Determine if the class already exists. - * - * @param string $rawName - * @return bool - */ - protected function alreadyExists($rawName) - { - return class_exists($this->rootNamespace().'Exceptions\\'.$rawName); - } - - /** - * Get the default namespace for the class. - * - * @param string $rootNamespace - * @return string - */ - protected function getDefaultNamespace($rootNamespace) - { - return $rootNamespace.'\Exceptions'; - } - - /** - * Get the console command options. - * - * @return array - */ - protected function getOptions() - { - return [ - ['render', null, InputOption::VALUE_NONE, 'Create the exception with an empty render method'], - - ['report', null, InputOption::VALUE_NONE, 'Create the exception with an empty report method'], - ]; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/JobMakeCommand.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/JobMakeCommand.php deleted file mode 100644 index 60d942e..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/JobMakeCommand.php +++ /dev/null @@ -1,65 +0,0 @@ -option('sync') - ? __DIR__.'/stubs/job.stub' - : __DIR__.'/stubs/job-queued.stub'; - } - - /** - * Get the default namespace for the class. - * - * @param string $rootNamespace - * @return string - */ - protected function getDefaultNamespace($rootNamespace) - { - return $rootNamespace.'\Jobs'; - } - - /** - * Get the console command options. - * - * @return array - */ - protected function getOptions() - { - return [ - ['sync', null, InputOption::VALUE_NONE, 'Indicates that job should be synchronous'], - ]; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php deleted file mode 100644 index ea8a107..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php +++ /dev/null @@ -1,392 +0,0 @@ -app = $app; - $this->events = $events; - - $this->app->booted(function () { - $this->defineConsoleSchedule(); - }); - } - - /** - * Define the application's command schedule. - * - * @return void - */ - protected function defineConsoleSchedule() - { - $this->app->singleton(Schedule::class, function ($app) { - return (new Schedule($this->scheduleTimezone())) - ->useCache($this->scheduleCache()); - }); - - $schedule = $this->app->make(Schedule::class); - - $this->schedule($schedule); - } - - /** - * Get the name of the cache store that should manage scheduling mutexes. - * - * @return string - */ - protected function scheduleCache() - { - return $_ENV['SCHEDULE_CACHE_DRIVER'] ?? null; - } - - /** - * Run the console application. - * - * @param \Symfony\Component\Console\Input\InputInterface $input - * @param \Symfony\Component\Console\Output\OutputInterface|null $output - * @return int - */ - public function handle($input, $output = null) - { - try { - $this->bootstrap(); - - return $this->getArtisan()->run($input, $output); - } catch (Exception $e) { - $this->reportException($e); - - $this->renderException($output, $e); - - return 1; - } catch (Throwable $e) { - $e = new FatalThrowableError($e); - - $this->reportException($e); - - $this->renderException($output, $e); - - return 1; - } - } - - /** - * Terminate the application. - * - * @param \Symfony\Component\Console\Input\InputInterface $input - * @param int $status - * @return void - */ - public function terminate($input, $status) - { - $this->app->terminate(); - } - - /** - * Define the application's command schedule. - * - * @param \Illuminate\Console\Scheduling\Schedule $schedule - * @return void - */ - protected function schedule(Schedule $schedule) - { - // - } - - /** - * Get the timezone that should be used by default for scheduled events. - * - * @return \DateTimeZone|string|null - */ - protected function scheduleTimezone() - { - $config = $this->app['config']; - - return $config->get('app.schedule_timezone', $config->get('app.timezone')); - } - - /** - * Register the Closure based commands for the application. - * - * @return void - */ - protected function commands() - { - // - } - - /** - * Register a Closure based command with the application. - * - * @param string $signature - * @param \Closure $callback - * @return \Illuminate\Foundation\Console\ClosureCommand - */ - public function command($signature, Closure $callback) - { - $command = new ClosureCommand($signature, $callback); - - Artisan::starting(function ($artisan) use ($command) { - $artisan->add($command); - }); - - return $command; - } - - /** - * Register all of the commands in the given directory. - * - * @param array|string $paths - * @return void - */ - protected function load($paths) - { - $paths = array_unique(Arr::wrap($paths)); - - $paths = array_filter($paths, function ($path) { - return is_dir($path); - }); - - if (empty($paths)) { - return; - } - - $namespace = $this->app->getNamespace(); - - foreach ((new Finder)->in($paths)->files() as $command) { - $command = $namespace.str_replace( - ['/', '.php'], - ['\\', ''], - Str::after($command->getPathname(), realpath(app_path()).DIRECTORY_SEPARATOR) - ); - - if (is_subclass_of($command, Command::class) && - ! (new ReflectionClass($command))->isAbstract()) { - Artisan::starting(function ($artisan) use ($command) { - $artisan->resolve($command); - }); - } - } - } - - /** - * Register the given command with the console application. - * - * @param \Symfony\Component\Console\Command\Command $command - * @return void - */ - public function registerCommand($command) - { - $this->getArtisan()->add($command); - } - - /** - * Run an Artisan console command by name. - * - * @param string $command - * @param array $parameters - * @param \Symfony\Component\Console\Output\OutputInterface|null $outputBuffer - * @return int - * - * @throws \Symfony\Component\Console\Exception\CommandNotFoundException - */ - public function call($command, array $parameters = [], $outputBuffer = null) - { - $this->bootstrap(); - - return $this->getArtisan()->call($command, $parameters, $outputBuffer); - } - - /** - * Queue the given console command. - * - * @param string $command - * @param array $parameters - * @return \Illuminate\Foundation\Bus\PendingDispatch - */ - public function queue($command, array $parameters = []) - { - return QueuedCommand::dispatch(func_get_args()); - } - - /** - * Get all of the commands registered with the console. - * - * @return array - */ - public function all() - { - $this->bootstrap(); - - return $this->getArtisan()->all(); - } - - /** - * Get the output for the last run command. - * - * @return string - */ - public function output() - { - $this->bootstrap(); - - return $this->getArtisan()->output(); - } - - /** - * Bootstrap the application for artisan commands. - * - * @return void - */ - public function bootstrap() - { - if (! $this->app->hasBeenBootstrapped()) { - $this->app->bootstrapWith($this->bootstrappers()); - } - - $this->app->loadDeferredProviders(); - - if (! $this->commandsLoaded) { - $this->commands(); - - $this->commandsLoaded = true; - } - } - - /** - * Get the Artisan application instance. - * - * @return \Illuminate\Console\Application - */ - protected function getArtisan() - { - if (is_null($this->artisan)) { - return $this->artisan = (new Artisan($this->app, $this->events, $this->app->version())) - ->resolveCommands($this->commands); - } - - return $this->artisan; - } - - /** - * Set the Artisan application instance. - * - * @param \Illuminate\Console\Application $artisan - * @return void - */ - public function setArtisan($artisan) - { - $this->artisan = $artisan; - } - - /** - * Get the bootstrap classes for the application. - * - * @return array - */ - protected function bootstrappers() - { - return $this->bootstrappers; - } - - /** - * Report the exception to the exception handler. - * - * @param \Exception $e - * @return void - */ - protected function reportException(Exception $e) - { - $this->app[ExceptionHandler::class]->report($e); - } - - /** - * Render the given exception. - * - * @param \Symfony\Component\Console\Output\OutputInterface $output - * @param \Exception $e - * @return void - */ - protected function renderException($output, Exception $e) - { - $this->app[ExceptionHandler::class]->renderForConsole($output, $e); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/KeyGenerateCommand.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/KeyGenerateCommand.php deleted file mode 100644 index 99492f0..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/KeyGenerateCommand.php +++ /dev/null @@ -1,111 +0,0 @@ -generateRandomKey(); - - if ($this->option('show')) { - return $this->line(''.$key.''); - } - - // Next, we will replace the application key in the environment file so it is - // automatically setup for this developer. This key gets generated using a - // secure random byte generator and is later base64 encoded for storage. - if (! $this->setKeyInEnvironmentFile($key)) { - return; - } - - $this->laravel['config']['app.key'] = $key; - - $this->info('Application key set successfully.'); - } - - /** - * Generate a random key for the application. - * - * @return string - */ - protected function generateRandomKey() - { - return 'base64:'.base64_encode( - Encrypter::generateKey($this->laravel['config']['app.cipher']) - ); - } - - /** - * Set the application key in the environment file. - * - * @param string $key - * @return bool - */ - protected function setKeyInEnvironmentFile($key) - { - $currentKey = $this->laravel['config']['app.key']; - - if (strlen($currentKey) !== 0 && (! $this->confirmToProceed())) { - return false; - } - - $this->writeNewEnvironmentFileWith($key); - - return true; - } - - /** - * Write a new environment file with the given key. - * - * @param string $key - * @return void - */ - protected function writeNewEnvironmentFileWith($key) - { - file_put_contents($this->laravel->environmentFilePath(), preg_replace( - $this->keyReplacementPattern(), - 'APP_KEY='.$key, - file_get_contents($this->laravel->environmentFilePath()) - )); - } - - /** - * Get a regex pattern that will match env APP_KEY with any random key. - * - * @return string - */ - protected function keyReplacementPattern() - { - $escaped = preg_quote('='.$this->laravel['config']['app.key'], '/'); - - return "/^APP_KEY{$escaped}/m"; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/ListenerMakeCommand.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/ListenerMakeCommand.php deleted file mode 100644 index 7fed4e6..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/ListenerMakeCommand.php +++ /dev/null @@ -1,112 +0,0 @@ -option('event'); - - if (! Str::startsWith($event, [ - $this->laravel->getNamespace(), - 'Illuminate', - '\\', - ])) { - $event = $this->laravel->getNamespace().'Events\\'.$event; - } - - $stub = str_replace( - 'DummyEvent', class_basename($event), parent::buildClass($name) - ); - - return str_replace( - 'DummyFullEvent', trim($event, '\\'), $stub - ); - } - - /** - * Get the stub file for the generator. - * - * @return string - */ - protected function getStub() - { - if ($this->option('queued')) { - return $this->option('event') - ? __DIR__.'/stubs/listener-queued.stub' - : __DIR__.'/stubs/listener-queued-duck.stub'; - } - - return $this->option('event') - ? __DIR__.'/stubs/listener.stub' - : __DIR__.'/stubs/listener-duck.stub'; - } - - /** - * Determine if the class already exists. - * - * @param string $rawName - * @return bool - */ - protected function alreadyExists($rawName) - { - return class_exists($rawName); - } - - /** - * Get the default namespace for the class. - * - * @param string $rootNamespace - * @return string - */ - protected function getDefaultNamespace($rootNamespace) - { - return $rootNamespace.'\Listeners'; - } - - /** - * Get the console command options. - * - * @return array - */ - protected function getOptions() - { - return [ - ['event', 'e', InputOption::VALUE_OPTIONAL, 'The event class being listened for'], - - ['queued', null, InputOption::VALUE_NONE, 'Indicates the event listener should be queued'], - ]; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/MailMakeCommand.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/MailMakeCommand.php deleted file mode 100644 index d401a9e..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/MailMakeCommand.php +++ /dev/null @@ -1,116 +0,0 @@ -option('force')) { - return; - } - - if ($this->option('markdown')) { - $this->writeMarkdownTemplate(); - } - } - - /** - * Write the Markdown template for the mailable. - * - * @return void - */ - protected function writeMarkdownTemplate() - { - $path = resource_path('views/'.str_replace('.', '/', $this->option('markdown'))).'.blade.php'; - - if (! $this->files->isDirectory(dirname($path))) { - $this->files->makeDirectory(dirname($path), 0755, true); - } - - $this->files->put($path, file_get_contents(__DIR__.'/stubs/markdown.stub')); - } - - /** - * Build the class with the given name. - * - * @param string $name - * @return string - */ - protected function buildClass($name) - { - $class = parent::buildClass($name); - - if ($this->option('markdown')) { - $class = str_replace('DummyView', $this->option('markdown'), $class); - } - - return $class; - } - - /** - * Get the stub file for the generator. - * - * @return string - */ - protected function getStub() - { - return $this->option('markdown') - ? __DIR__.'/stubs/markdown-mail.stub' - : __DIR__.'/stubs/mail.stub'; - } - - /** - * Get the default namespace for the class. - * - * @param string $rootNamespace - * @return string - */ - protected function getDefaultNamespace($rootNamespace) - { - return $rootNamespace.'\Mail'; - } - - /** - * Get the console command options. - * - * @return array - */ - protected function getOptions() - { - return [ - ['force', 'f', InputOption::VALUE_NONE, 'Create the class even if the mailable already exists'], - - ['markdown', 'm', InputOption::VALUE_OPTIONAL, 'Create a new Markdown template for the mailable'], - ]; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/ModelMakeCommand.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/ModelMakeCommand.php deleted file mode 100644 index c011699..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/ModelMakeCommand.php +++ /dev/null @@ -1,151 +0,0 @@ -option('force')) { - return false; - } - - if ($this->option('all')) { - $this->input->setOption('factory', true); - $this->input->setOption('migration', true); - $this->input->setOption('controller', true); - $this->input->setOption('resource', true); - } - - if ($this->option('factory')) { - $this->createFactory(); - } - - if ($this->option('migration')) { - $this->createMigration(); - } - - if ($this->option('controller') || $this->option('resource')) { - $this->createController(); - } - } - - /** - * Create a model factory for the model. - * - * @return void - */ - protected function createFactory() - { - $factory = Str::studly(class_basename($this->argument('name'))); - - $this->call('make:factory', [ - 'name' => "{$factory}Factory", - '--model' => $this->qualifyClass($this->getNameInput()), - ]); - } - - /** - * Create a migration file for the model. - * - * @return void - */ - protected function createMigration() - { - $table = Str::snake(Str::pluralStudly(class_basename($this->argument('name')))); - - if ($this->option('pivot')) { - $table = Str::singular($table); - } - - $this->call('make:migration', [ - 'name' => "create_{$table}_table", - '--create' => $table, - ]); - } - - /** - * Create a controller for the model. - * - * @return void - */ - protected function createController() - { - $controller = Str::studly(class_basename($this->argument('name'))); - - $modelName = $this->qualifyClass($this->getNameInput()); - - $this->call('make:controller', [ - 'name' => "{$controller}Controller", - '--model' => $this->option('resource') ? $modelName : null, - ]); - } - - /** - * Get the stub file for the generator. - * - * @return string - */ - protected function getStub() - { - if ($this->option('pivot')) { - return __DIR__.'/stubs/pivot.model.stub'; - } - - return __DIR__.'/stubs/model.stub'; - } - - /** - * Get the console command options. - * - * @return array - */ - protected function getOptions() - { - return [ - ['all', 'a', InputOption::VALUE_NONE, 'Generate a migration, factory, and resource controller for the model'], - - ['controller', 'c', InputOption::VALUE_NONE, 'Create a new controller for the model'], - - ['factory', 'f', InputOption::VALUE_NONE, 'Create a new factory for the model'], - - ['force', null, InputOption::VALUE_NONE, 'Create the class even if the model already exists'], - - ['migration', 'm', InputOption::VALUE_NONE, 'Create a new migration file for the model'], - - ['pivot', 'p', InputOption::VALUE_NONE, 'Indicates if the generated model should be a custom intermediate table model'], - - ['resource', 'r', InputOption::VALUE_NONE, 'Indicates if the generated controller should be a resource controller'], - ]; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/NotificationMakeCommand.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/NotificationMakeCommand.php deleted file mode 100644 index 40e9d84..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/NotificationMakeCommand.php +++ /dev/null @@ -1,116 +0,0 @@ -option('force')) { - return; - } - - if ($this->option('markdown')) { - $this->writeMarkdownTemplate(); - } - } - - /** - * Write the Markdown template for the mailable. - * - * @return void - */ - protected function writeMarkdownTemplate() - { - $path = resource_path('views/'.str_replace('.', '/', $this->option('markdown'))).'.blade.php'; - - if (! $this->files->isDirectory(dirname($path))) { - $this->files->makeDirectory(dirname($path), 0755, true); - } - - $this->files->put($path, file_get_contents(__DIR__.'/stubs/markdown.stub')); - } - - /** - * Build the class with the given name. - * - * @param string $name - * @return string - */ - protected function buildClass($name) - { - $class = parent::buildClass($name); - - if ($this->option('markdown')) { - $class = str_replace('DummyView', $this->option('markdown'), $class); - } - - return $class; - } - - /** - * Get the stub file for the generator. - * - * @return string - */ - protected function getStub() - { - return $this->option('markdown') - ? __DIR__.'/stubs/markdown-notification.stub' - : __DIR__.'/stubs/notification.stub'; - } - - /** - * Get the default namespace for the class. - * - * @param string $rootNamespace - * @return string - */ - protected function getDefaultNamespace($rootNamespace) - { - return $rootNamespace.'\Notifications'; - } - - /** - * Get the console command options. - * - * @return array - */ - protected function getOptions() - { - return [ - ['force', 'f', InputOption::VALUE_NONE, 'Create the class even if the notification already exists'], - - ['markdown', 'm', InputOption::VALUE_OPTIONAL, 'Create a new Markdown template for the notification'], - ]; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/ObserverMakeCommand.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/ObserverMakeCommand.php deleted file mode 100644 index 77a8162..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/ObserverMakeCommand.php +++ /dev/null @@ -1,113 +0,0 @@ -option('model'); - - return $model ? $this->replaceModel($stub, $model) : $stub; - } - - /** - * Get the stub file for the generator. - * - * @return string - */ - protected function getStub() - { - return $this->option('model') - ? __DIR__.'/stubs/observer.stub' - : __DIR__.'/stubs/observer.plain.stub'; - } - - /** - * Replace the model for the given stub. - * - * @param string $stub - * @param string $model - * @return string - */ - protected function replaceModel($stub, $model) - { - $model = str_replace('/', '\\', $model); - - $namespaceModel = $this->laravel->getNamespace().$model; - - if (Str::startsWith($model, '\\')) { - $stub = str_replace('NamespacedDummyModel', trim($model, '\\'), $stub); - } else { - $stub = str_replace('NamespacedDummyModel', $namespaceModel, $stub); - } - - $stub = str_replace( - "use {$namespaceModel};\nuse {$namespaceModel};", "use {$namespaceModel};", $stub - ); - - $model = class_basename(trim($model, '\\')); - - $stub = str_replace('DocDummyModel', Str::snake($model, ' '), $stub); - - $stub = str_replace('DummyModel', $model, $stub); - - return str_replace('dummyModel', Str::camel($model), $stub); - } - - /** - * Get the default namespace for the class. - * - * @param string $rootNamespace - * @return string - */ - protected function getDefaultNamespace($rootNamespace) - { - return $rootNamespace.'\Observers'; - } - - /** - * Get the console command arguments. - * - * @return array - */ - protected function getOptions() - { - return [ - ['model', 'm', InputOption::VALUE_OPTIONAL, 'The model that the observer applies to.'], - ]; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/OptimizeClearCommand.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/OptimizeClearCommand.php deleted file mode 100644 index 0bd92df..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/OptimizeClearCommand.php +++ /dev/null @@ -1,38 +0,0 @@ -call('view:clear'); - $this->call('cache:clear'); - $this->call('route:clear'); - $this->call('config:clear'); - $this->call('clear-compiled'); - - $this->info('Caches cleared successfully!'); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/OptimizeCommand.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/OptimizeCommand.php deleted file mode 100644 index af5d731..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/OptimizeCommand.php +++ /dev/null @@ -1,35 +0,0 @@ -call('config:cache'); - $this->call('route:cache'); - - $this->info('Files cached successfully!'); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/PackageDiscoverCommand.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/PackageDiscoverCommand.php deleted file mode 100644 index 3ef8f01..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/PackageDiscoverCommand.php +++ /dev/null @@ -1,40 +0,0 @@ -build(); - - foreach (array_keys($manifest->manifest) as $package) { - $this->line("Discovered Package: {$package}"); - } - - $this->info('Package manifest generated successfully.'); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/PolicyMakeCommand.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/PolicyMakeCommand.php deleted file mode 100644 index 1d4f07e..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/PolicyMakeCommand.php +++ /dev/null @@ -1,144 +0,0 @@ -replaceUserNamespace( - parent::buildClass($name) - ); - - $model = $this->option('model'); - - return $model ? $this->replaceModel($stub, $model) : $stub; - } - - /** - * Replace the User model namespace. - * - * @param string $stub - * @return string - */ - protected function replaceUserNamespace($stub) - { - $model = $this->userProviderModel(); - - if (! $model) { - return $stub; - } - - return str_replace( - $this->rootNamespace().'User', - $model, - $stub - ); - } - - /** - * Replace the model for the given stub. - * - * @param string $stub - * @param string $model - * @return string - */ - protected function replaceModel($stub, $model) - { - $model = str_replace('/', '\\', $model); - - $namespaceModel = $this->laravel->getNamespace().$model; - - if (Str::startsWith($model, '\\')) { - $stub = str_replace('NamespacedDummyModel', trim($model, '\\'), $stub); - } else { - $stub = str_replace('NamespacedDummyModel', $namespaceModel, $stub); - } - - $stub = str_replace( - "use {$namespaceModel};\nuse {$namespaceModel};", "use {$namespaceModel};", $stub - ); - - $model = class_basename(trim($model, '\\')); - - $dummyUser = class_basename($this->userProviderModel()); - - $dummyModel = Str::camel($model) === 'user' ? 'model' : $model; - - $stub = str_replace('DocDummyModel', Str::snake($dummyModel, ' '), $stub); - - $stub = str_replace('DummyModel', $model, $stub); - - $stub = str_replace('dummyModel', Str::camel($dummyModel), $stub); - - $stub = str_replace('DummyUser', $dummyUser, $stub); - - return str_replace('DocDummyPluralModel', Str::snake(Str::pluralStudly($dummyModel), ' '), $stub); - } - - /** - * Get the stub file for the generator. - * - * @return string - */ - protected function getStub() - { - return $this->option('model') - ? __DIR__.'/stubs/policy.stub' - : __DIR__.'/stubs/policy.plain.stub'; - } - - /** - * Get the default namespace for the class. - * - * @param string $rootNamespace - * @return string - */ - protected function getDefaultNamespace($rootNamespace) - { - return $rootNamespace.'\Policies'; - } - - /** - * Get the console command arguments. - * - * @return array - */ - protected function getOptions() - { - return [ - ['model', 'm', InputOption::VALUE_OPTIONAL, 'The model that the policy applies to'], - ]; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/PresetCommand.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/PresetCommand.php deleted file mode 100644 index 9c7e6c1..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/PresetCommand.php +++ /dev/null @@ -1,96 +0,0 @@ -argument('type'))) { - return call_user_func(static::$macros[$this->argument('type')], $this); - } - - if (! in_array($this->argument('type'), ['none', 'bootstrap', 'vue', 'react'])) { - throw new InvalidArgumentException('Invalid preset.'); - } - - return $this->{$this->argument('type')}(); - } - - /** - * Install the "fresh" preset. - * - * @return void - */ - protected function none() - { - Presets\None::install(); - - $this->info('Frontend scaffolding removed successfully.'); - } - - /** - * Install the "bootstrap" preset. - * - * @return void - */ - protected function bootstrap() - { - Presets\Bootstrap::install(); - - $this->info('Bootstrap scaffolding installed successfully.'); - $this->comment('Please run "npm install && npm run dev" to compile your fresh scaffolding.'); - } - - /** - * Install the "vue" preset. - * - * @return void - */ - protected function vue() - { - Presets\Vue::install(); - - $this->info('Vue scaffolding installed successfully.'); - $this->comment('Please run "npm install && npm run dev" to compile your fresh scaffolding.'); - } - - /** - * Install the "react" preset. - * - * @return void - */ - protected function react() - { - Presets\React::install(); - - $this->info('React scaffolding installed successfully.'); - $this->comment('Please run "npm install && npm run dev" to compile your fresh scaffolding.'); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/Presets/Bootstrap.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/Presets/Bootstrap.php deleted file mode 100644 index 248e2f2..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/Presets/Bootstrap.php +++ /dev/null @@ -1,44 +0,0 @@ - '^4.0.0', - 'jquery' => '^3.2', - 'popper.js' => '^1.12', - ] + $packages; - } - - /** - * Update the Sass files for the application. - * - * @return void - */ - protected static function updateSass() - { - copy(__DIR__.'/bootstrap-stubs/_variables.scss', resource_path('sass/_variables.scss')); - copy(__DIR__.'/bootstrap-stubs/app.scss', resource_path('sass/app.scss')); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/Presets/None.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/Presets/None.php deleted file mode 100644 index 63e813e..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/Presets/None.php +++ /dev/null @@ -1,72 +0,0 @@ -deleteDirectory(resource_path('js/components')); - $filesystem->delete(resource_path('sass/_variables.scss')); - $filesystem->deleteDirectory(base_path('node_modules')); - $filesystem->deleteDirectory(public_path('css')); - $filesystem->deleteDirectory(public_path('js')); - }); - } - - /** - * Update the given package array. - * - * @param array $packages - * @return array - */ - protected static function updatePackageArray(array $packages) - { - unset( - $packages['bootstrap'], - $packages['jquery'], - $packages['popper.js'], - $packages['vue'], - $packages['vue-template-compiler'], - $packages['@babel/preset-react'], - $packages['react'], - $packages['react-dom'] - ); - - return $packages; - } - - /** - * Write the stubs for the Sass and JavaScript files. - * - * @return void - */ - protected static function updateBootstrapping() - { - file_put_contents(resource_path('sass/app.scss'), ''.PHP_EOL); - copy(__DIR__.'/none-stubs/app.js', resource_path('js/app.js')); - copy(__DIR__.'/none-stubs/bootstrap.js', resource_path('js/bootstrap.js')); - } - - /** - * Update the Webpack configuration. - * - * @return void - */ - protected static function updateWebpackConfiguration() - { - copy(__DIR__.'/none-stubs/webpack.mix.js', base_path('webpack.mix.js')); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/Presets/Preset.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/Presets/Preset.php deleted file mode 100644 index efa0817..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/Presets/Preset.php +++ /dev/null @@ -1,65 +0,0 @@ -isDirectory($directory = resource_path('js/components'))) { - $filesystem->makeDirectory($directory, 0755, true); - } - } - - /** - * Update the "package.json" file. - * - * @param bool $dev - * @return void - */ - protected static function updatePackages($dev = true) - { - if (! file_exists(base_path('package.json'))) { - return; - } - - $configurationKey = $dev ? 'devDependencies' : 'dependencies'; - - $packages = json_decode(file_get_contents(base_path('package.json')), true); - - $packages[$configurationKey] = static::updatePackageArray( - array_key_exists($configurationKey, $packages) ? $packages[$configurationKey] : [], - $configurationKey - ); - - ksort($packages[$configurationKey]); - - file_put_contents( - base_path('package.json'), - json_encode($packages, JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT).PHP_EOL - ); - } - - /** - * Remove the installed Node modules. - * - * @return void - */ - protected static function removeNodeModules() - { - tap(new Filesystem, function ($files) { - $files->deleteDirectory(base_path('node_modules')); - - $files->delete(base_path('yarn.lock')); - }); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/Presets/React.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/Presets/React.php deleted file mode 100644 index f1e81ce..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/Presets/React.php +++ /dev/null @@ -1,76 +0,0 @@ - '^7.0.0', - 'react' => '^16.2.0', - 'react-dom' => '^16.2.0', - ] + Arr::except($packages, ['vue', 'vue-template-compiler']); - } - - /** - * Update the Webpack configuration. - * - * @return void - */ - protected static function updateWebpackConfiguration() - { - copy(__DIR__.'/react-stubs/webpack.mix.js', base_path('webpack.mix.js')); - } - - /** - * Update the example component. - * - * @return void - */ - protected static function updateComponent() - { - (new Filesystem)->delete( - resource_path('js/components/ExampleComponent.vue') - ); - - copy( - __DIR__.'/react-stubs/Example.js', - resource_path('js/components/Example.js') - ); - } - - /** - * Update the bootstrapping files. - * - * @return void - */ - protected static function updateBootstrapping() - { - copy(__DIR__.'/react-stubs/app.js', resource_path('js/app.js')); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/Presets/Vue.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/Presets/Vue.php deleted file mode 100644 index 6d79fa1..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/Presets/Vue.php +++ /dev/null @@ -1,76 +0,0 @@ - '^2.5.17'] + Arr::except($packages, [ - '@babel/preset-react', - 'react', - 'react-dom', - ]); - } - - /** - * Update the Webpack configuration. - * - * @return void - */ - protected static function updateWebpackConfiguration() - { - copy(__DIR__.'/vue-stubs/webpack.mix.js', base_path('webpack.mix.js')); - } - - /** - * Update the example component. - * - * @return void - */ - protected static function updateComponent() - { - (new Filesystem)->delete( - resource_path('js/components/Example.js') - ); - - copy( - __DIR__.'/vue-stubs/ExampleComponent.vue', - resource_path('js/components/ExampleComponent.vue') - ); - } - - /** - * Update the bootstrapping files. - * - * @return void - */ - protected static function updateBootstrapping() - { - copy(__DIR__.'/vue-stubs/app.js', resource_path('js/app.js')); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/Presets/bootstrap-stubs/_variables.scss b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/Presets/bootstrap-stubs/_variables.scss deleted file mode 100644 index 0407ab5..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/Presets/bootstrap-stubs/_variables.scss +++ /dev/null @@ -1,19 +0,0 @@ -// Body -$body-bg: #f8fafc; - -// Typography -$font-family-sans-serif: 'Nunito', sans-serif; -$font-size-base: 0.9rem; -$line-height-base: 1.6; - -// Colors -$blue: #3490dc; -$indigo: #6574cd; -$purple: #9561e2; -$pink: #f66d9b; -$red: #e3342f; -$orange: #f6993f; -$yellow: #ffed4a; -$green: #38c172; -$teal: #4dc0b5; -$cyan: #6cb2eb; diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/Presets/bootstrap-stubs/app.scss b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/Presets/bootstrap-stubs/app.scss deleted file mode 100644 index 3f1850e..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/Presets/bootstrap-stubs/app.scss +++ /dev/null @@ -1,13 +0,0 @@ -// Fonts -@import url('https://fonts.googleapis.com/css?family=Nunito'); - -// Variables -@import 'variables'; - -// Bootstrap -@import '~bootstrap/scss/bootstrap'; - -.navbar-laravel { - background-color: #fff; - box-shadow: 0 2px 4px rgba(0, 0, 0, 0.04); -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/Presets/none-stubs/app.js b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/Presets/none-stubs/app.js deleted file mode 100644 index 31d6f63..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/Presets/none-stubs/app.js +++ /dev/null @@ -1,7 +0,0 @@ -/** - * First, we will load all of this project's Javascript utilities and other - * dependencies. Then, we will be ready to develop a robust and powerful - * application frontend using useful Laravel and JavaScript libraries. - */ - -require('./bootstrap'); diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/Presets/none-stubs/bootstrap.js b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/Presets/none-stubs/bootstrap.js deleted file mode 100644 index 0c8a1b5..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/Presets/none-stubs/bootstrap.js +++ /dev/null @@ -1,42 +0,0 @@ -window._ = require('lodash'); - -/** - * We'll load the axios HTTP library which allows us to easily issue requests - * to our Laravel back-end. This library automatically handles sending the - * CSRF token as a header based on the value of the "XSRF" token cookie. - */ - -window.axios = require('axios'); - -window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; - -/** - * Next we will register the CSRF Token as a common header with Axios so that - * all outgoing HTTP requests automatically have it attached. This is just - * a simple convenience so we don't have to attach every token manually. - */ - -let token = document.head.querySelector('meta[name="csrf-token"]'); - -if (token) { - window.axios.defaults.headers.common['X-CSRF-TOKEN'] = token.content; -} else { - console.error('CSRF token not found: https://laravel.com/docs/csrf#csrf-x-csrf-token'); -} - -/** - * Echo exposes an expressive API for subscribing to channels and listening - * for events that are broadcast by Laravel. Echo and event broadcasting - * allows your team to easily build robust real-time web applications. - */ - -// import Echo from 'laravel-echo' - -// window.Pusher = require('pusher-js'); - -// window.Echo = new Echo({ -// broadcaster: 'pusher', -// key: process.env.MIX_PUSHER_APP_KEY, -// cluster: process.env.MIX_PUSHER_APP_CLUSTER, -// encrypted: true -// }); diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/Presets/none-stubs/webpack.mix.js b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/Presets/none-stubs/webpack.mix.js deleted file mode 100644 index 19a48fa..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/Presets/none-stubs/webpack.mix.js +++ /dev/null @@ -1,15 +0,0 @@ -const mix = require('laravel-mix'); - -/* - |-------------------------------------------------------------------------- - | Mix Asset Management - |-------------------------------------------------------------------------- - | - | Mix provides a clean, fluent API for defining some Webpack build steps - | for your Laravel application. By default, we are compiling the Sass - | file for the application as well as bundling up all the JS files. - | - */ - -mix.js('resources/js/app.js', 'public/js') - .sass('resources/sass/app.scss', 'public/css'); diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/Presets/react-stubs/Example.js b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/Presets/react-stubs/Example.js deleted file mode 100644 index eac7e85..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/Presets/react-stubs/Example.js +++ /dev/null @@ -1,24 +0,0 @@ -import React, { Component } from 'react'; -import ReactDOM from 'react-dom'; - -export default class Example extends Component { - render() { - return ( -
-
-
-
-
Example Component
- -
I'm an example component!
-
-
-
-
- ); - } -} - -if (document.getElementById('example')) { - ReactDOM.render(, document.getElementById('example')); -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/Presets/react-stubs/app.js b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/Presets/react-stubs/app.js deleted file mode 100644 index a5f91ab..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/Presets/react-stubs/app.js +++ /dev/null @@ -1,15 +0,0 @@ -/** - * First we will load all of this project's JavaScript dependencies which - * includes React and other helpers. It's a great starting point while - * building robust, powerful web applications using React + Laravel. - */ - -require('./bootstrap'); - -/** - * Next, we will create a fresh React component instance and attach it to - * the page. Then, you may begin adding components to this application - * or customize the JavaScript scaffolding to fit your unique needs. - */ - -require('./components/Example'); diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/Presets/react-stubs/webpack.mix.js b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/Presets/react-stubs/webpack.mix.js deleted file mode 100644 index cc075aa..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/Presets/react-stubs/webpack.mix.js +++ /dev/null @@ -1,15 +0,0 @@ -const mix = require('laravel-mix'); - -/* - |-------------------------------------------------------------------------- - | Mix Asset Management - |-------------------------------------------------------------------------- - | - | Mix provides a clean, fluent API for defining some Webpack build steps - | for your Laravel application. By default, we are compiling the Sass - | file for the application as well as bundling up all the JS files. - | - */ - -mix.react('resources/js/app.js', 'public/js') - .sass('resources/sass/app.scss', 'public/css'); diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/Presets/vue-stubs/ExampleComponent.vue b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/Presets/vue-stubs/ExampleComponent.vue deleted file mode 100644 index 3fb9f9a..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/Presets/vue-stubs/ExampleComponent.vue +++ /dev/null @@ -1,23 +0,0 @@ - - - diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/Presets/vue-stubs/app.js b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/Presets/vue-stubs/app.js deleted file mode 100644 index aa19e31..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/Presets/vue-stubs/app.js +++ /dev/null @@ -1,32 +0,0 @@ -/** - * First we will load all of this project's JavaScript dependencies which - * includes Vue and other libraries. It is a great starting point when - * building robust, powerful web applications using Vue and Laravel. - */ - -require('./bootstrap'); - -window.Vue = require('vue'); - -/** - * The following block of code may be used to automatically register your - * Vue components. It will recursively scan this directory for the Vue - * components and automatically register them with their "basename". - * - * Eg. ./components/ExampleComponent.vue -> - */ - -// const files = require.context('./', true, /\.vue$/i) -// files.keys().map(key => Vue.component(key.split('/').pop().split('.')[0], files(key).default)) - -Vue.component('example-component', require('./components/ExampleComponent.vue').default); - -/** - * Next, we will create a fresh Vue application instance and attach it to - * the page. Then, you may begin adding components to this application - * or customize the JavaScript scaffolding to fit your unique needs. - */ - -const app = new Vue({ - el: '#app', -}); diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/Presets/vue-stubs/webpack.mix.js b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/Presets/vue-stubs/webpack.mix.js deleted file mode 100644 index 19a48fa..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/Presets/vue-stubs/webpack.mix.js +++ /dev/null @@ -1,15 +0,0 @@ -const mix = require('laravel-mix'); - -/* - |-------------------------------------------------------------------------- - | Mix Asset Management - |-------------------------------------------------------------------------- - | - | Mix provides a clean, fluent API for defining some Webpack build steps - | for your Laravel application. By default, we are compiling the Sass - | file for the application as well as bundling up all the JS files. - | - */ - -mix.js('resources/js/app.js', 'public/js') - .sass('resources/sass/app.scss', 'public/css'); diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/ProviderMakeCommand.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/ProviderMakeCommand.php deleted file mode 100644 index fa887ed..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/ProviderMakeCommand.php +++ /dev/null @@ -1,50 +0,0 @@ -data = $data; - } - - /** - * Handle the job. - * - * @param \Illuminate\Contracts\Console\Kernel $kernel - * @return void - */ - public function handle(KernelContract $kernel) - { - call_user_func_array([$kernel, 'call'], $this->data); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/RequestMakeCommand.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/RequestMakeCommand.php deleted file mode 100644 index 95b7a87..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/RequestMakeCommand.php +++ /dev/null @@ -1,50 +0,0 @@ -collection()) { - $this->type = 'Resource collection'; - } - - parent::handle(); - } - - /** - * Get the stub file for the generator. - * - * @return string - */ - protected function getStub() - { - return $this->collection() - ? __DIR__.'/stubs/resource-collection.stub' - : __DIR__.'/stubs/resource.stub'; - } - - /** - * Determine if the command is generating a resource collection. - * - * @return bool - */ - protected function collection() - { - return $this->option('collection') || - Str::endsWith($this->argument('name'), 'Collection'); - } - - /** - * Get the default namespace for the class. - * - * @param string $rootNamespace - * @return string - */ - protected function getDefaultNamespace($rootNamespace) - { - return $rootNamespace.'\Http\Resources'; - } - - /** - * Get the console command options. - * - * @return array - */ - protected function getOptions() - { - return [ - ['collection', 'c', InputOption::VALUE_NONE, 'Create a resource collection'], - ]; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/RouteCacheCommand.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/RouteCacheCommand.php deleted file mode 100644 index 9d86f16..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/RouteCacheCommand.php +++ /dev/null @@ -1,109 +0,0 @@ -files = $files; - } - - /** - * Execute the console command. - * - * @return void - */ - public function handle() - { - $this->call('route:clear'); - - $routes = $this->getFreshApplicationRoutes(); - - if (count($routes) === 0) { - return $this->error("Your application doesn't have any routes."); - } - - foreach ($routes as $route) { - $route->prepareForSerialization(); - } - - $this->files->put( - $this->laravel->getCachedRoutesPath(), $this->buildRouteCacheFile($routes) - ); - - $this->info('Routes cached successfully!'); - } - - /** - * Boot a fresh copy of the application and get the routes. - * - * @return \Illuminate\Routing\RouteCollection - */ - protected function getFreshApplicationRoutes() - { - return tap($this->getFreshApplication()['router']->getRoutes(), function ($routes) { - $routes->refreshNameLookups(); - $routes->refreshActionLookups(); - }); - } - - /** - * Get a fresh application instance. - * - * @return \Illuminate\Contracts\Foundation\Application - */ - protected function getFreshApplication() - { - return tap(require $this->laravel->bootstrapPath().'/app.php', function ($app) { - $app->make(ConsoleKernelContract::class)->bootstrap(); - }); - } - - /** - * Build the route cache file. - * - * @param \Illuminate\Routing\RouteCollection $routes - * @return string - */ - protected function buildRouteCacheFile(RouteCollection $routes) - { - $stub = $this->files->get(__DIR__.'/stubs/routes.stub'); - - return str_replace('{{routes}}', base64_encode(serialize($routes)), $stub); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/RouteClearCommand.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/RouteClearCommand.php deleted file mode 100644 index 03fab1d..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/RouteClearCommand.php +++ /dev/null @@ -1,55 +0,0 @@ -files = $files; - } - - /** - * Execute the console command. - * - * @return void - */ - public function handle() - { - $this->files->delete($this->laravel->getCachedRoutesPath()); - - $this->info('Route cache cleared!'); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/RouteListCommand.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/RouteListCommand.php deleted file mode 100644 index dd83e98..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/RouteListCommand.php +++ /dev/null @@ -1,264 +0,0 @@ -router = $router; - } - - /** - * Execute the console command. - * - * @return void - */ - public function handle() - { - if (empty($this->router->getRoutes())) { - return $this->error("Your application doesn't have any routes."); - } - - if (empty($routes = $this->getRoutes())) { - return $this->error("Your application doesn't have any routes matching the given criteria."); - } - - $this->displayRoutes($routes); - } - - /** - * Compile the routes into a displayable format. - * - * @return array - */ - protected function getRoutes() - { - $routes = collect($this->router->getRoutes())->map(function ($route) { - return $this->getRouteInformation($route); - })->filter()->all(); - - if ($sort = $this->option('sort')) { - $routes = $this->sortRoutes($sort, $routes); - } - - if ($this->option('reverse')) { - $routes = array_reverse($routes); - } - - return $this->pluckColumns($routes); - } - - /** - * Get the route information for a given route. - * - * @param \Illuminate\Routing\Route $route - * @return array - */ - protected function getRouteInformation(Route $route) - { - return $this->filterRoute([ - 'domain' => $route->domain(), - 'method' => implode('|', $route->methods()), - 'uri' => $route->uri(), - 'name' => $route->getName(), - 'action' => ltrim($route->getActionName(), '\\'), - 'middleware' => $this->getMiddleware($route), - ]); - } - - /** - * Sort the routes by a given element. - * - * @param string $sort - * @param array $routes - * @return array - */ - protected function sortRoutes($sort, array $routes) - { - return Arr::sort($routes, function ($route) use ($sort) { - return $route[$sort]; - }); - } - - /** - * Remove unnecessary columns from the routes. - * - * @param array $routes - * @return array - */ - protected function pluckColumns(array $routes) - { - return array_map(function ($route) { - return Arr::only($route, $this->getColumns()); - }, $routes); - } - - /** - * Display the route information on the console. - * - * @param array $routes - * @return void - */ - protected function displayRoutes(array $routes) - { - if ($this->option('json')) { - $this->line(json_encode(array_values($routes))); - - return; - } - - $this->table($this->getHeaders(), $routes); - } - - /** - * Get before filters. - * - * @param \Illuminate\Routing\Route $route - * @return string - */ - protected function getMiddleware($route) - { - return collect($route->gatherMiddleware())->map(function ($middleware) { - return $middleware instanceof Closure ? 'Closure' : $middleware; - })->implode(','); - } - - /** - * Filter the route by URI and / or name. - * - * @param array $route - * @return array|null - */ - protected function filterRoute(array $route) - { - if (($this->option('name') && ! Str::contains($route['name'], $this->option('name'))) || - $this->option('path') && ! Str::contains($route['uri'], $this->option('path')) || - $this->option('method') && ! Str::contains($route['method'], strtoupper($this->option('method')))) { - return; - } - - return $route; - } - - /** - * Get the table headers for the visible columns. - * - * @return array - */ - protected function getHeaders() - { - return Arr::only($this->headers, array_keys($this->getColumns())); - } - - /** - * Get the column names to show (lowercase table headers). - * - * @return array - */ - protected function getColumns() - { - $availableColumns = array_map('strtolower', $this->headers); - - if ($this->option('compact')) { - return array_intersect($availableColumns, $this->compactColumns); - } - - if ($columns = $this->option('columns')) { - return array_intersect($availableColumns, $this->parseColumns($columns)); - } - - return $availableColumns; - } - - /** - * Parse the column list. - * - * @param array $columns - * @return array - */ - protected function parseColumns(array $columns) - { - $results = []; - - foreach ($columns as $i => $column) { - if (Str::contains($column, ',')) { - $results = array_merge($results, explode(',', $column)); - } else { - $results[] = $column; - } - } - - return $results; - } - - /** - * Get the console command options. - * - * @return array - */ - protected function getOptions() - { - return [ - ['columns', null, InputOption::VALUE_OPTIONAL | InputOption::VALUE_IS_ARRAY, 'Columns to include in the route table'], - ['compact', 'c', InputOption::VALUE_NONE, 'Only show method, URI and action columns'], - ['json', null, InputOption::VALUE_NONE, 'Output the route list as JSON'], - ['method', null, InputOption::VALUE_OPTIONAL, 'Filter the routes by method'], - ['name', null, InputOption::VALUE_OPTIONAL, 'Filter the routes by name'], - ['path', null, InputOption::VALUE_OPTIONAL, 'Filter the routes by path'], - ['reverse', 'r', InputOption::VALUE_NONE, 'Reverse the ordering of the routes'], - ['sort', null, InputOption::VALUE_OPTIONAL, 'The column (domain, method, uri, name, action, middleware) to sort by', 'uri'], - ]; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/RuleMakeCommand.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/RuleMakeCommand.php deleted file mode 100644 index 2b69953..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/RuleMakeCommand.php +++ /dev/null @@ -1,50 +0,0 @@ -line("Laravel development server started: host()}:{$this->port()}>"); - - passthru($this->serverCommand(), $status); - - if ($status && $this->canTryAnotherPort()) { - $this->portOffset += 1; - - return $this->handle(); - } - - return $status; - } - - /** - * Get the full server command. - * - * @return string - */ - protected function serverCommand() - { - return sprintf('%s -S %s:%s %s', - ProcessUtils::escapeArgument((new PhpExecutableFinder)->find(false)), - $this->host(), - $this->port(), - ProcessUtils::escapeArgument(base_path('server.php')) - ); - } - - /** - * Get the host for the command. - * - * @return string - */ - protected function host() - { - return $this->input->getOption('host'); - } - - /** - * Get the port for the command. - * - * @return string - */ - protected function port() - { - $port = $this->input->getOption('port') ?: 8000; - - return $port + $this->portOffset; - } - - /** - * Check if command has reached its max amount of port tries. - * - * @return bool - */ - protected function canTryAnotherPort() - { - return is_null($this->input->getOption('port')) && - ($this->input->getOption('tries') > $this->portOffset); - } - - /** - * Get the console command options. - * - * @return array - */ - protected function getOptions() - { - return [ - ['host', null, InputOption::VALUE_OPTIONAL, 'The host address to serve the application on', '127.0.0.1'], - - ['port', null, InputOption::VALUE_OPTIONAL, 'The port to serve the application on', $_ENV['SERVER_PORT'] ?? null], - - ['tries', null, InputOption::VALUE_OPTIONAL, 'The max number of ports to attempt to serve from', 10], - ]; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/StorageLinkCommand.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/StorageLinkCommand.php deleted file mode 100644 index 11e5c14..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/StorageLinkCommand.php +++ /dev/null @@ -1,40 +0,0 @@ -error('The "public/storage" directory already exists.'); - } - - $this->laravel->make('files')->link( - storage_path('app/public'), public_path('storage') - ); - - $this->info('The [public/storage] directory has been linked.'); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/TestMakeCommand.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/TestMakeCommand.php deleted file mode 100644 index ea08d7c..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/TestMakeCommand.php +++ /dev/null @@ -1,82 +0,0 @@ -option('unit')) { - return __DIR__.'/stubs/unit-test.stub'; - } - - return __DIR__.'/stubs/test.stub'; - } - - /** - * Get the destination class path. - * - * @param string $name - * @return string - */ - protected function getPath($name) - { - $name = Str::replaceFirst($this->rootNamespace(), '', $name); - - return base_path('tests').str_replace('\\', '/', $name).'.php'; - } - - /** - * Get the default namespace for the class. - * - * @param string $rootNamespace - * @return string - */ - protected function getDefaultNamespace($rootNamespace) - { - if ($this->option('unit')) { - return $rootNamespace.'\Unit'; - } else { - return $rootNamespace.'\Feature'; - } - } - - /** - * Get the root namespace for the class. - * - * @return string - */ - protected function rootNamespace() - { - return 'Tests'; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/UpCommand.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/UpCommand.php deleted file mode 100644 index 9f65992..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/UpCommand.php +++ /dev/null @@ -1,49 +0,0 @@ -comment('Application is already up.'); - - return true; - } - - unlink(storage_path('framework/down')); - - $this->info('Application is now live.'); - } catch (Exception $e) { - $this->error('Failed to disable maintenance mode.'); - - $this->error($e->getMessage()); - - return 1; - } - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/VendorPublishCommand.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/VendorPublishCommand.php deleted file mode 100644 index 5c878cd..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/VendorPublishCommand.php +++ /dev/null @@ -1,275 +0,0 @@ -files = $files; - } - - /** - * Execute the console command. - * - * @return void - */ - public function handle() - { - $this->determineWhatShouldBePublished(); - - foreach ($this->tags ?: [null] as $tag) { - $this->publishTag($tag); - } - - $this->info('Publishing complete.'); - } - - /** - * Determine the provider or tag(s) to publish. - * - * @return void - */ - protected function determineWhatShouldBePublished() - { - if ($this->option('all')) { - return; - } - - [$this->provider, $this->tags] = [ - $this->option('provider'), (array) $this->option('tag'), - ]; - - if (! $this->provider && ! $this->tags) { - $this->promptForProviderOrTag(); - } - } - - /** - * Prompt for which provider or tag to publish. - * - * @return void - */ - protected function promptForProviderOrTag() - { - $choice = $this->choice( - "Which provider or tag's files would you like to publish?", - $choices = $this->publishableChoices() - ); - - if ($choice == $choices[0] || is_null($choice)) { - return; - } - - $this->parseChoice($choice); - } - - /** - * The choices available via the prompt. - * - * @return array - */ - protected function publishableChoices() - { - return array_merge( - ['Publish files from all providers and tags listed below'], - preg_filter('/^/', 'Provider: ', Arr::sort(ServiceProvider::publishableProviders())), - preg_filter('/^/', 'Tag: ', Arr::sort(ServiceProvider::publishableGroups())) - ); - } - - /** - * Parse the answer that was given via the prompt. - * - * @param string $choice - * @return void - */ - protected function parseChoice($choice) - { - [$type, $value] = explode(': ', strip_tags($choice)); - - if ($type === 'Provider') { - $this->provider = $value; - } elseif ($type === 'Tag') { - $this->tags = [$value]; - } - } - - /** - * Publishes the assets for a tag. - * - * @param string $tag - * @return mixed - */ - protected function publishTag($tag) - { - foreach ($this->pathsToPublish($tag) as $from => $to) { - $this->publishItem($from, $to); - } - } - - /** - * Get all of the paths to publish. - * - * @param string $tag - * @return array - */ - protected function pathsToPublish($tag) - { - return ServiceProvider::pathsToPublish( - $this->provider, $tag - ); - } - - /** - * Publish the given item from and to the given location. - * - * @param string $from - * @param string $to - * @return void - */ - protected function publishItem($from, $to) - { - if ($this->files->isFile($from)) { - return $this->publishFile($from, $to); - } elseif ($this->files->isDirectory($from)) { - return $this->publishDirectory($from, $to); - } - - $this->error("Can't locate path: <{$from}>"); - } - - /** - * Publish the file to the given path. - * - * @param string $from - * @param string $to - * @return void - */ - protected function publishFile($from, $to) - { - if (! $this->files->exists($to) || $this->option('force')) { - $this->createParentDirectory(dirname($to)); - - $this->files->copy($from, $to); - - $this->status($from, $to, 'File'); - } - } - - /** - * Publish the directory to the given directory. - * - * @param string $from - * @param string $to - * @return void - */ - protected function publishDirectory($from, $to) - { - $this->moveManagedFiles(new MountManager([ - 'from' => new Flysystem(new LocalAdapter($from)), - 'to' => new Flysystem(new LocalAdapter($to)), - ])); - - $this->status($from, $to, 'Directory'); - } - - /** - * Move all the files in the given MountManager. - * - * @param \League\Flysystem\MountManager $manager - * @return void - */ - protected function moveManagedFiles($manager) - { - foreach ($manager->listContents('from://', true) as $file) { - if ($file['type'] === 'file' && (! $manager->has('to://'.$file['path']) || $this->option('force'))) { - $manager->put('to://'.$file['path'], $manager->read('from://'.$file['path'])); - } - } - } - - /** - * Create the directory to house the published files if needed. - * - * @param string $directory - * @return void - */ - protected function createParentDirectory($directory) - { - if (! $this->files->isDirectory($directory)) { - $this->files->makeDirectory($directory, 0755, true); - } - } - - /** - * Write a status message to the console. - * - * @param string $from - * @param string $to - * @param string $type - * @return void - */ - protected function status($from, $to, $type) - { - $from = str_replace(base_path(), '', realpath($from)); - - $to = str_replace(base_path(), '', realpath($to)); - - $this->line('Copied '.$type.' ['.$from.'] To ['.$to.']'); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/ViewCacheCommand.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/ViewCacheCommand.php deleted file mode 100644 index 19e0ab5..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/ViewCacheCommand.php +++ /dev/null @@ -1,87 +0,0 @@ -call('view:clear'); - - $this->paths()->each(function ($path) { - $this->compileViews($this->bladeFilesIn([$path])); - }); - - $this->info('Blade templates cached successfully!'); - } - - /** - * Compile the given view files. - * - * @param \Illuminate\Support\Collection $views - * @return void - */ - protected function compileViews(Collection $views) - { - $compiler = $this->laravel['view']->getEngineResolver()->resolve('blade')->getCompiler(); - - $views->map(function (SplFileInfo $file) use ($compiler) { - $compiler->compile($file->getRealPath()); - }); - } - - /** - * Get the Blade files in the given path. - * - * @param array $paths - * @return \Illuminate\Support\Collection - */ - protected function bladeFilesIn(array $paths) - { - return collect( - Finder::create() - ->in($paths) - ->exclude('vendor') - ->name('*.blade.php') - ->files() - ); - } - - /** - * Get all of the possible view paths. - * - * @return \Illuminate\Support\Collection - */ - protected function paths() - { - $finder = $this->laravel['view']->getFinder(); - - return collect($finder->getPaths())->merge( - collect($finder->getHints())->flatten() - ); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/ViewClearCommand.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/ViewClearCommand.php deleted file mode 100644 index 251e393..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/ViewClearCommand.php +++ /dev/null @@ -1,66 +0,0 @@ -files = $files; - } - - /** - * Execute the console command. - * - * @return void - * - * @throws \RuntimeException - */ - public function handle() - { - $path = $this->laravel['config']['view.compiled']; - - if (! $path) { - throw new RuntimeException('View path not found.'); - } - - foreach ($this->files->glob("{$path}/*") as $view) { - $this->files->delete($view); - } - - $this->info('Compiled views cleared!'); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/stubs/channel.stub b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/stubs/channel.stub deleted file mode 100644 index bf261cc..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/stubs/channel.stub +++ /dev/null @@ -1,29 +0,0 @@ -view('view.name'); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/stubs/markdown-mail.stub b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/stubs/markdown-mail.stub deleted file mode 100644 index 25a0cdc..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/stubs/markdown-mail.stub +++ /dev/null @@ -1,33 +0,0 @@ -markdown('DummyView'); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/stubs/markdown-notification.stub b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/stubs/markdown-notification.stub deleted file mode 100644 index f554b2c..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/stubs/markdown-notification.stub +++ /dev/null @@ -1,58 +0,0 @@ -markdown('DummyView'); - } - - /** - * Get the array representation of the notification. - * - * @param mixed $notifiable - * @return array - */ - public function toArray($notifiable) - { - return [ - // - ]; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/stubs/markdown.stub b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/stubs/markdown.stub deleted file mode 100644 index bc41428..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/stubs/markdown.stub +++ /dev/null @@ -1,12 +0,0 @@ -@component('mail::message') -# Introduction - -The body of your message. - -@component('mail::button', ['url' => '']) -Button Text -@endcomponent - -Thanks,
-{{ config('app.name') }} -@endcomponent diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/stubs/model.stub b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/stubs/model.stub deleted file mode 100644 index f01a833..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/stubs/model.stub +++ /dev/null @@ -1,10 +0,0 @@ -line('The introduction to the notification.') - ->action('Notification Action', url('/')) - ->line('Thank you for using our application!'); - } - - /** - * Get the array representation of the notification. - * - * @param mixed $notifiable - * @return array - */ - public function toArray($notifiable) - { - return [ - // - ]; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/stubs/observer.plain.stub b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/stubs/observer.plain.stub deleted file mode 100644 index daae325..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/stubs/observer.plain.stub +++ /dev/null @@ -1,8 +0,0 @@ -setRoutes( - unserialize(base64_decode('{{routes}}')) -); diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/stubs/rule.stub b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/stubs/rule.stub deleted file mode 100644 index 826af0d..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/stubs/rule.stub +++ /dev/null @@ -1,40 +0,0 @@ -get('/'); - - $response->assertStatus(200); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/stubs/unit-test.stub b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/stubs/unit-test.stub deleted file mode 100644 index 00deed8..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/stubs/unit-test.stub +++ /dev/null @@ -1,20 +0,0 @@ -assertTrue(true); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/EnvironmentDetector.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/EnvironmentDetector.php deleted file mode 100644 index 2ff154c..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/EnvironmentDetector.php +++ /dev/null @@ -1,74 +0,0 @@ -detectConsoleEnvironment($callback, $consoleArgs); - } - - return $this->detectWebEnvironment($callback); - } - - /** - * Set the application environment for a web request. - * - * @param \Closure $callback - * @return string - */ - protected function detectWebEnvironment(Closure $callback) - { - return call_user_func($callback); - } - - /** - * Set the application environment from command-line arguments. - * - * @param \Closure $callback - * @param array $args - * @return string - */ - protected function detectConsoleEnvironment(Closure $callback, array $args) - { - // First we will check if an environment argument was passed via console arguments - // and if it was that automatically overrides as the environment. Otherwise, we - // will check the environment as a "web" request like a typical HTTP request. - if (! is_null($value = $this->getEnvironmentArgument($args))) { - return $value; - } - - return $this->detectWebEnvironment($callback); - } - - /** - * Get the environment argument from the console. - * - * @param array $args - * @return string|null - */ - protected function getEnvironmentArgument(array $args) - { - foreach ($args as $i => $value) { - if ($value === '--env') { - return $args[$i + 1] ?? null; - } - - if (Str::startsWith($value, '--env')) { - return head(array_slice(explode('=', $value), 1)); - } - } - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Events/DiscoverEvents.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Events/DiscoverEvents.php deleted file mode 100644 index 497a8af..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Events/DiscoverEvents.php +++ /dev/null @@ -1,80 +0,0 @@ -files()->in($listenerPath), $basePath - ))->mapToDictionary(function ($event, $listener) { - return [$event => $listener]; - })->all(); - } - - /** - * Get all of the listeners and their corresponding events. - * - * @param iterable $listeners - * @param string $basePath - * @return array - */ - protected static function getListenerEvents($listeners, $basePath) - { - $listenerEvents = []; - - foreach ($listeners as $listener) { - $listener = new ReflectionClass( - static::classFromFile($listener, $basePath) - ); - - if (! $listener->isInstantiable()) { - continue; - } - - foreach ($listener->getMethods(ReflectionMethod::IS_PUBLIC) as $method) { - if (! Str::is('handle*', $method->name) || - ! isset($method->getParameters()[0])) { - continue; - } - - $listenerEvents[$listener->name.'@'.$method->name] = - optional($method->getParameters()[0]->getClass())->name; - } - } - - return array_filter($listenerEvents); - } - - /** - * Extract the class name from the given file path. - * - * @param \SplFileInfo $file - * @param string $basePath - * @return string - */ - protected static function classFromFile(SplFileInfo $file, $basePath) - { - $class = trim(Str::replaceFirst($basePath, '', $file->getRealPath()), DIRECTORY_SEPARATOR); - - return str_replace( - [DIRECTORY_SEPARATOR, ucfirst(basename(app()->path())).'\\'], - ['\\', app()->getNamespace()], - ucfirst(Str::replaceLast('.php', '', $class)) - ); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Events/Dispatchable.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Events/Dispatchable.php deleted file mode 100644 index 0018295..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Events/Dispatchable.php +++ /dev/null @@ -1,26 +0,0 @@ -locale = $locale; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php deleted file mode 100644 index 59221de..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php +++ /dev/null @@ -1,492 +0,0 @@ -container = $container; - } - - /** - * Report or log an exception. - * - * @param \Exception $e - * @return mixed - * - * @throws \Exception - */ - public function report(Exception $e) - { - if ($this->shouldntReport($e)) { - return; - } - - if (is_callable($reportCallable = [$e, 'report'])) { - return $this->container->call($reportCallable); - } - - try { - $logger = $this->container->make(LoggerInterface::class); - } catch (Exception $ex) { - throw $e; - } - - $logger->error( - $e->getMessage(), - array_merge($this->context(), ['exception' => $e] - )); - } - - /** - * Determine if the exception should be reported. - * - * @param \Exception $e - * @return bool - */ - public function shouldReport(Exception $e) - { - return ! $this->shouldntReport($e); - } - - /** - * Determine if the exception is in the "do not report" list. - * - * @param \Exception $e - * @return bool - */ - protected function shouldntReport(Exception $e) - { - $dontReport = array_merge($this->dontReport, $this->internalDontReport); - - return ! is_null(Arr::first($dontReport, function ($type) use ($e) { - return $e instanceof $type; - })); - } - - /** - * Get the default context variables for logging. - * - * @return array - */ - protected function context() - { - try { - return array_filter([ - 'userId' => Auth::id(), - // 'email' => optional(Auth::user())->email, - ]); - } catch (Throwable $e) { - return []; - } - } - - /** - * Render an exception into a response. - * - * @param \Illuminate\Http\Request $request - * @param \Exception $e - * @return \Illuminate\Http\Response|\Symfony\Component\HttpFoundation\Response - */ - public function render($request, Exception $e) - { - if (method_exists($e, 'render') && $response = $e->render($request)) { - return Router::toResponse($request, $response); - } elseif ($e instanceof Responsable) { - return $e->toResponse($request); - } - - $e = $this->prepareException($e); - - if ($e instanceof HttpResponseException) { - return $e->getResponse(); - } elseif ($e instanceof AuthenticationException) { - return $this->unauthenticated($request, $e); - } elseif ($e instanceof ValidationException) { - return $this->convertValidationExceptionToResponse($e, $request); - } - - return $request->expectsJson() - ? $this->prepareJsonResponse($request, $e) - : $this->prepareResponse($request, $e); - } - - /** - * Prepare exception for rendering. - * - * @param \Exception $e - * @return \Exception - */ - protected function prepareException(Exception $e) - { - if ($e instanceof ModelNotFoundException) { - $e = new NotFoundHttpException($e->getMessage(), $e); - } elseif ($e instanceof AuthorizationException) { - $e = new AccessDeniedHttpException($e->getMessage(), $e); - } elseif ($e instanceof TokenMismatchException) { - $e = new HttpException(419, $e->getMessage(), $e); - } elseif ($e instanceof SuspiciousOperationException) { - $e = new NotFoundHttpException('Bad hostname provided.', $e); - } - - return $e; - } - - /** - * Convert an authentication exception into a response. - * - * @param \Illuminate\Http\Request $request - * @param \Illuminate\Auth\AuthenticationException $exception - * @return \Symfony\Component\HttpFoundation\Response - */ - protected function unauthenticated($request, AuthenticationException $exception) - { - return $request->expectsJson() - ? response()->json(['message' => $exception->getMessage()], 401) - : redirect()->guest($exception->redirectTo() ?? route('login')); - } - - /** - * Create a response object from the given validation exception. - * - * @param \Illuminate\Validation\ValidationException $e - * @param \Illuminate\Http\Request $request - * @return \Symfony\Component\HttpFoundation\Response - */ - protected function convertValidationExceptionToResponse(ValidationException $e, $request) - { - if ($e->response) { - return $e->response; - } - - return $request->expectsJson() - ? $this->invalidJson($request, $e) - : $this->invalid($request, $e); - } - - /** - * Convert a validation exception into a response. - * - * @param \Illuminate\Http\Request $request - * @param \Illuminate\Validation\ValidationException $exception - * @return \Illuminate\Http\Response - */ - protected function invalid($request, ValidationException $exception) - { - return redirect($exception->redirectTo ?? url()->previous()) - ->withInput(Arr::except($request->input(), $this->dontFlash)) - ->withErrors($exception->errors(), $exception->errorBag); - } - - /** - * Convert a validation exception into a JSON response. - * - * @param \Illuminate\Http\Request $request - * @param \Illuminate\Validation\ValidationException $exception - * @return \Illuminate\Http\JsonResponse - */ - protected function invalidJson($request, ValidationException $exception) - { - return response()->json([ - 'message' => $exception->getMessage(), - 'errors' => $exception->errors(), - ], $exception->status); - } - - /** - * Prepare a response for the given exception. - * - * @param \Illuminate\Http\Request $request - * @param \Exception $e - * @return \Symfony\Component\HttpFoundation\Response - */ - protected function prepareResponse($request, Exception $e) - { - if (! $this->isHttpException($e) && config('app.debug')) { - return $this->toIlluminateResponse($this->convertExceptionToResponse($e), $e); - } - - if (! $this->isHttpException($e)) { - $e = new HttpException(500, $e->getMessage()); - } - - return $this->toIlluminateResponse( - $this->renderHttpException($e), $e - ); - } - - /** - * Create a Symfony response for the given exception. - * - * @param \Exception $e - * @return \Symfony\Component\HttpFoundation\Response - */ - protected function convertExceptionToResponse(Exception $e) - { - return SymfonyResponse::create( - $this->renderExceptionContent($e), - $this->isHttpException($e) ? $e->getStatusCode() : 500, - $this->isHttpException($e) ? $e->getHeaders() : [] - ); - } - - /** - * Get the response content for the given exception. - * - * @param \Exception $e - * @return string - */ - protected function renderExceptionContent(Exception $e) - { - try { - return config('app.debug') && class_exists(Whoops::class) - ? $this->renderExceptionWithWhoops($e) - : $this->renderExceptionWithSymfony($e, config('app.debug')); - } catch (Exception $e) { - return $this->renderExceptionWithSymfony($e, config('app.debug')); - } - } - - /** - * Render an exception to a string using "Whoops". - * - * @param \Exception $e - * @return string - */ - protected function renderExceptionWithWhoops(Exception $e) - { - return tap(new Whoops, function ($whoops) { - $whoops->pushHandler($this->whoopsHandler()); - - $whoops->writeToOutput(false); - - $whoops->allowQuit(false); - })->handleException($e); - } - - /** - * Get the Whoops handler for the application. - * - * @return \Whoops\Handler\Handler - */ - protected function whoopsHandler() - { - try { - return app(HandlerInterface::class); - } catch (BindingResolutionException $e) { - return (new WhoopsHandler)->forDebug(); - } - } - - /** - * Render an exception to a string using Symfony. - * - * @param \Exception $e - * @param bool $debug - * @return string - */ - protected function renderExceptionWithSymfony(Exception $e, $debug) - { - return (new SymfonyExceptionHandler($debug))->getHtml( - FlattenException::create($e) - ); - } - - /** - * Render the given HttpException. - * - * @param \Symfony\Component\HttpKernel\Exception\HttpExceptionInterface $e - * @return \Symfony\Component\HttpFoundation\Response - */ - protected function renderHttpException(HttpExceptionInterface $e) - { - $this->registerErrorViewPaths(); - - if (view()->exists($view = "errors::{$e->getStatusCode()}")) { - return response()->view($view, [ - 'errors' => new ViewErrorBag, - 'exception' => $e, - ], $e->getStatusCode(), $e->getHeaders()); - } - - return $this->convertExceptionToResponse($e); - } - - /** - * Register the error template hint paths. - * - * @return void - */ - protected function registerErrorViewPaths() - { - $paths = collect(config('view.paths')); - - View::replaceNamespace('errors', $paths->map(function ($path) { - return "{$path}/errors"; - })->push(__DIR__.'/views')->all()); - } - - /** - * Map the given exception into an Illuminate response. - * - * @param \Symfony\Component\HttpFoundation\Response $response - * @param \Exception $e - * @return \Illuminate\Http\Response - */ - protected function toIlluminateResponse($response, Exception $e) - { - if ($response instanceof SymfonyRedirectResponse) { - $response = new RedirectResponse( - $response->getTargetUrl(), $response->getStatusCode(), $response->headers->all() - ); - } else { - $response = new Response( - $response->getContent(), $response->getStatusCode(), $response->headers->all() - ); - } - - return $response->withException($e); - } - - /** - * Prepare a JSON response for the given exception. - * - * @param \Illuminate\Http\Request $request - * @param \Exception $e - * @return \Illuminate\Http\JsonResponse - */ - protected function prepareJsonResponse($request, Exception $e) - { - return new JsonResponse( - $this->convertExceptionToArray($e), - $this->isHttpException($e) ? $e->getStatusCode() : 500, - $this->isHttpException($e) ? $e->getHeaders() : [], - JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES - ); - } - - /** - * Convert the given exception to an array. - * - * @param \Exception $e - * @return array - */ - protected function convertExceptionToArray(Exception $e) - { - return config('app.debug') ? [ - 'message' => $e->getMessage(), - 'exception' => get_class($e), - 'file' => $e->getFile(), - 'line' => $e->getLine(), - 'trace' => collect($e->getTrace())->map(function ($trace) { - return Arr::except($trace, ['args']); - })->all(), - ] : [ - 'message' => $this->isHttpException($e) ? $e->getMessage() : 'Server Error', - ]; - } - - /** - * Render an exception to the console. - * - * @param \Symfony\Component\Console\Output\OutputInterface $output - * @param \Exception $e - * @return void - */ - public function renderForConsole($output, Exception $e) - { - (new ConsoleApplication)->renderException($e, $output); - } - - /** - * Determine if the given exception is an HTTP exception. - * - * @param \Exception $e - * @return bool - */ - protected function isHttpException(Exception $e) - { - return $e instanceof HttpExceptionInterface; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/WhoopsHandler.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/WhoopsHandler.php deleted file mode 100644 index b94a7ac..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/WhoopsHandler.php +++ /dev/null @@ -1,86 +0,0 @@ -handleUnconditionally(true); - - $this->registerApplicationPaths($handler) - ->registerBlacklist($handler) - ->registerEditor($handler); - }); - } - - /** - * Register the application paths with the handler. - * - * @param \Whoops\Handler\PrettyPageHandler $handler - * @return $this - */ - protected function registerApplicationPaths($handler) - { - $handler->setApplicationPaths( - array_flip($this->directoriesExceptVendor()) - ); - - return $this; - } - - /** - * Get the application paths except for the "vendor" directory. - * - * @return array - */ - protected function directoriesExceptVendor() - { - return Arr::except( - array_flip((new Filesystem)->directories(base_path())), - [base_path('vendor')] - ); - } - - /** - * Register the blacklist with the handler. - * - * @param \Whoops\Handler\PrettyPageHandler $handler - * @return $this - */ - protected function registerBlacklist($handler) - { - foreach (config('app.debug_blacklist', []) as $key => $secrets) { - foreach ($secrets as $secret) { - $handler->blacklist($key, $secret); - } - } - - return $this; - } - - /** - * Register the editor with the handler. - * - * @param \Whoops\Handler\PrettyPageHandler $handler - * @return $this - */ - protected function registerEditor($handler) - { - if (config('app.editor', false)) { - $handler->setEditor(config('app.editor')); - } - - return $this; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/views/401.blade.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/views/401.blade.php deleted file mode 100644 index 5c586db..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/views/401.blade.php +++ /dev/null @@ -1,5 +0,0 @@ -@extends('errors::minimal') - -@section('title', __('Unauthorized')) -@section('code', '401') -@section('message', __('Unauthorized')) diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/views/403.blade.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/views/403.blade.php deleted file mode 100644 index a5506f0..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/views/403.blade.php +++ /dev/null @@ -1,5 +0,0 @@ -@extends('errors::minimal') - -@section('title', __('Forbidden')) -@section('code', '403') -@section('message', __($exception->getMessage() ?: 'Forbidden')) diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/views/404.blade.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/views/404.blade.php deleted file mode 100644 index 7549540..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/views/404.blade.php +++ /dev/null @@ -1,5 +0,0 @@ -@extends('errors::minimal') - -@section('title', __('Not Found')) -@section('code', '404') -@section('message', __('Not Found')) diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/views/419.blade.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/views/419.blade.php deleted file mode 100644 index c09216e..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/views/419.blade.php +++ /dev/null @@ -1,5 +0,0 @@ -@extends('errors::minimal') - -@section('title', __('Page Expired')) -@section('code', '419') -@section('message', __('Page Expired')) diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/views/429.blade.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/views/429.blade.php deleted file mode 100644 index f01b07b..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/views/429.blade.php +++ /dev/null @@ -1,5 +0,0 @@ -@extends('errors::minimal') - -@section('title', __('Too Many Requests')) -@section('code', '429') -@section('message', __('Too Many Requests')) diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/views/500.blade.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/views/500.blade.php deleted file mode 100644 index d9e95d9..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/views/500.blade.php +++ /dev/null @@ -1,5 +0,0 @@ -@extends('errors::minimal') - -@section('title', __('Server Error')) -@section('code', '500') -@section('message', __('Server Error')) diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/views/503.blade.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/views/503.blade.php deleted file mode 100644 index acd3810..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/views/503.blade.php +++ /dev/null @@ -1,5 +0,0 @@ -@extends('errors::minimal') - -@section('title', __('Service Unavailable')) -@section('code', '503') -@section('message', __($exception->getMessage() ?: 'Service Unavailable')) diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/views/illustrated-layout.blade.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/views/illustrated-layout.blade.php deleted file mode 100644 index 64eb7cb..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/views/illustrated-layout.blade.php +++ /dev/null @@ -1,486 +0,0 @@ - - - - - - - @yield('title') - - - - - - - - - -
-
-
-
- @yield('code', __('Oh no')) -
- -
- -

- @yield('message') -

- - - - -
-
- -
- @yield('image') -
-
- - diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/views/layout.blade.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/views/layout.blade.php deleted file mode 100644 index 2c51d4f..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/views/layout.blade.php +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - @yield('title') - - - - - - - - - -
-
-
- @yield('message') -
-
-
- - diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/views/minimal.blade.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/views/minimal.blade.php deleted file mode 100644 index b63ac2b..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/views/minimal.blade.php +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - @yield('title') - - - - - - - - - -
-
- @yield('code') -
- -
- @yield('message') -
-
- - diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Events/RequestHandled.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Events/RequestHandled.php deleted file mode 100644 index d6f71e0..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Events/RequestHandled.php +++ /dev/null @@ -1,33 +0,0 @@ -request = $request; - $this->response = $response; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Exceptions/MaintenanceModeException.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Exceptions/MaintenanceModeException.php deleted file mode 100644 index 45c76b2..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Exceptions/MaintenanceModeException.php +++ /dev/null @@ -1,55 +0,0 @@ -wentDownAt = Date::createFromTimestamp($time); - - if ($retryAfter) { - $this->retryAfter = $retryAfter; - - $this->willBeAvailableAt = Date::instance(Carbon::createFromTimestamp($time)->addRealSeconds($this->retryAfter)); - } - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/FormRequest.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/FormRequest.php deleted file mode 100644 index a67b2c3..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/FormRequest.php +++ /dev/null @@ -1,249 +0,0 @@ -validator) { - return $this->validator; - } - - $factory = $this->container->make(ValidationFactory::class); - - if (method_exists($this, 'validator')) { - $validator = $this->container->call([$this, 'validator'], compact('factory')); - } else { - $validator = $this->createDefaultValidator($factory); - } - - if (method_exists($this, 'withValidator')) { - $this->withValidator($validator); - } - - $this->setValidator($validator); - - return $this->validator; - } - - /** - * Create the default validator instance. - * - * @param \Illuminate\Contracts\Validation\Factory $factory - * @return \Illuminate\Contracts\Validation\Validator - */ - protected function createDefaultValidator(ValidationFactory $factory) - { - return $factory->make( - $this->validationData(), $this->container->call([$this, 'rules']), - $this->messages(), $this->attributes() - ); - } - - /** - * Get data to be validated from the request. - * - * @return array - */ - protected function validationData() - { - return $this->all(); - } - - /** - * Handle a failed validation attempt. - * - * @param \Illuminate\Contracts\Validation\Validator $validator - * @return void - * - * @throws \Illuminate\Validation\ValidationException - */ - protected function failedValidation(Validator $validator) - { - throw (new ValidationException($validator)) - ->errorBag($this->errorBag) - ->redirectTo($this->getRedirectUrl()); - } - - /** - * Get the URL to redirect to on a validation error. - * - * @return string - */ - protected function getRedirectUrl() - { - $url = $this->redirector->getUrlGenerator(); - - if ($this->redirect) { - return $url->to($this->redirect); - } elseif ($this->redirectRoute) { - return $url->route($this->redirectRoute); - } elseif ($this->redirectAction) { - return $url->action($this->redirectAction); - } - - return $url->previous(); - } - - /** - * Determine if the request passes the authorization check. - * - * @return bool - */ - protected function passesAuthorization() - { - if (method_exists($this, 'authorize')) { - return $this->container->call([$this, 'authorize']); - } - - return true; - } - - /** - * Handle a failed authorization attempt. - * - * @return void - * - * @throws \Illuminate\Auth\Access\AuthorizationException - */ - protected function failedAuthorization() - { - throw new AuthorizationException('This action is unauthorized.'); - } - - /** - * Get the validated data from the request. - * - * @return array - */ - public function validated() - { - return $this->validator->validated(); - } - - /** - * Get custom messages for validator errors. - * - * @return array - */ - public function messages() - { - return []; - } - - /** - * Get custom attributes for validator errors. - * - * @return array - */ - public function attributes() - { - return []; - } - - /** - * Set the Validator instance. - * - * @param \Illuminate\Contracts\Validation\Validator $validator - * @return $this - */ - public function setValidator(Validator $validator) - { - $this->validator = $validator; - - return $this; - } - - /** - * Set the Redirector instance. - * - * @param \Illuminate\Routing\Redirector $redirector - * @return $this - */ - public function setRedirector(Redirector $redirector) - { - $this->redirector = $redirector; - - return $this; - } - - /** - * Set the container implementation. - * - * @param \Illuminate\Contracts\Container\Container $container - * @return $this - */ - public function setContainer(Container $container) - { - $this->container = $container; - - return $this; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php deleted file mode 100644 index 022dd8e..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php +++ /dev/null @@ -1,358 +0,0 @@ -app = $app; - $this->router = $router; - - $router->middlewarePriority = $this->middlewarePriority; - - foreach ($this->middlewareGroups as $key => $middleware) { - $router->middlewareGroup($key, $middleware); - } - - foreach ($this->routeMiddleware as $key => $middleware) { - $router->aliasMiddleware($key, $middleware); - } - } - - /** - * Handle an incoming HTTP request. - * - * @param \Illuminate\Http\Request $request - * @return \Illuminate\Http\Response - */ - public function handle($request) - { - try { - $request->enableHttpMethodParameterOverride(); - - $response = $this->sendRequestThroughRouter($request); - } catch (Exception $e) { - $this->reportException($e); - - $response = $this->renderException($request, $e); - } catch (Throwable $e) { - $this->reportException($e = new FatalThrowableError($e)); - - $response = $this->renderException($request, $e); - } - - $this->app['events']->dispatch( - new Events\RequestHandled($request, $response) - ); - - return $response; - } - - /** - * Send the given request through the middleware / router. - * - * @param \Illuminate\Http\Request $request - * @return \Illuminate\Http\Response - */ - protected function sendRequestThroughRouter($request) - { - $this->app->instance('request', $request); - - Facade::clearResolvedInstance('request'); - - $this->bootstrap(); - - return (new Pipeline($this->app)) - ->send($request) - ->through($this->app->shouldSkipMiddleware() ? [] : $this->middleware) - ->then($this->dispatchToRouter()); - } - - /** - * Bootstrap the application for HTTP requests. - * - * @return void - */ - public function bootstrap() - { - if (! $this->app->hasBeenBootstrapped()) { - $this->app->bootstrapWith($this->bootstrappers()); - } - } - - /** - * Get the route dispatcher callback. - * - * @return \Closure - */ - protected function dispatchToRouter() - { - return function ($request) { - $this->app->instance('request', $request); - - return $this->router->dispatch($request); - }; - } - - /** - * Call the terminate method on any terminable middleware. - * - * @param \Illuminate\Http\Request $request - * @param \Illuminate\Http\Response $response - * @return void - */ - public function terminate($request, $response) - { - $this->terminateMiddleware($request, $response); - - $this->app->terminate(); - } - - /** - * Call the terminate method on any terminable middleware. - * - * @param \Illuminate\Http\Request $request - * @param \Illuminate\Http\Response $response - * @return void - */ - protected function terminateMiddleware($request, $response) - { - $middlewares = $this->app->shouldSkipMiddleware() ? [] : array_merge( - $this->gatherRouteMiddleware($request), - $this->middleware - ); - - foreach ($middlewares as $middleware) { - if (! is_string($middleware)) { - continue; - } - - [$name] = $this->parseMiddleware($middleware); - - $instance = $this->app->make($name); - - if (method_exists($instance, 'terminate')) { - $instance->terminate($request, $response); - } - } - } - - /** - * Gather the route middleware for the given request. - * - * @param \Illuminate\Http\Request $request - * @return array - */ - protected function gatherRouteMiddleware($request) - { - if ($route = $request->route()) { - return $this->router->gatherRouteMiddleware($route); - } - - return []; - } - - /** - * Parse a middleware string to get the name and parameters. - * - * @param string $middleware - * @return array - */ - protected function parseMiddleware($middleware) - { - [$name, $parameters] = array_pad(explode(':', $middleware, 2), 2, []); - - if (is_string($parameters)) { - $parameters = explode(',', $parameters); - } - - return [$name, $parameters]; - } - - /** - * Determine if the kernel has a given middleware. - * - * @param string $middleware - * @return bool - */ - public function hasMiddleware($middleware) - { - return in_array($middleware, $this->middleware); - } - - /** - * Add a new middleware to beginning of the stack if it does not already exist. - * - * @param string $middleware - * @return $this - */ - public function prependMiddleware($middleware) - { - if (array_search($middleware, $this->middleware) === false) { - array_unshift($this->middleware, $middleware); - } - - return $this; - } - - /** - * Add a new middleware to end of the stack if it does not already exist. - * - * @param string $middleware - * @return $this - */ - public function pushMiddleware($middleware) - { - if (array_search($middleware, $this->middleware) === false) { - $this->middleware[] = $middleware; - } - - return $this; - } - - /** - * Get the bootstrap classes for the application. - * - * @return array - */ - protected function bootstrappers() - { - return $this->bootstrappers; - } - - /** - * Report the exception to the exception handler. - * - * @param \Exception $e - * @return void - */ - protected function reportException(Exception $e) - { - $this->app[ExceptionHandler::class]->report($e); - } - - /** - * Render the exception to a response. - * - * @param \Illuminate\Http\Request $request - * @param \Exception $e - * @return \Symfony\Component\HttpFoundation\Response - */ - protected function renderException($request, Exception $e) - { - return $this->app[ExceptionHandler::class]->render($request, $e); - } - - /** - * Get the application's route middleware groups. - * - * @return array - */ - public function getMiddlewareGroups() - { - return $this->middlewareGroups; - } - - /** - * Get the application's route middleware. - * - * @return array - */ - public function getRouteMiddleware() - { - return $this->routeMiddleware; - } - - /** - * Get the Laravel application instance. - * - * @return \Illuminate\Contracts\Foundation\Application - */ - public function getApplication() - { - return $this->app; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php deleted file mode 100644 index 037e5a4..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php +++ /dev/null @@ -1,85 +0,0 @@ -app = $app; - } - - /** - * Handle an incoming request. - * - * @param \Illuminate\Http\Request $request - * @param \Closure $next - * @return mixed - * - * @throws \Symfony\Component\HttpKernel\Exception\HttpException - */ - public function handle($request, Closure $next) - { - if ($this->app->isDownForMaintenance()) { - $data = json_decode(file_get_contents($this->app->storagePath().'/framework/down'), true); - - if (isset($data['allowed']) && IpUtils::checkIp($request->ip(), (array) $data['allowed'])) { - return $next($request); - } - - if ($this->inExceptArray($request)) { - return $next($request); - } - - throw new MaintenanceModeException($data['time'], $data['retry'], $data['message']); - } - - return $next($request); - } - - /** - * Determine if the request has a URI that should be accessible in maintenance mode. - * - * @param \Illuminate\Http\Request $request - * @return bool - */ - protected function inExceptArray($request) - { - foreach ($this->except as $except) { - if ($except !== '/') { - $except = trim($except, '/'); - } - - if ($request->fullUrlIs($except) || $request->is($except)) { - return true; - } - } - - return false; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php deleted file mode 100644 index 813c9cf..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php +++ /dev/null @@ -1,18 +0,0 @@ -clean($request); - - return $next($request); - } - - /** - * Clean the request's data. - * - * @param \Illuminate\Http\Request $request - * @return void - */ - protected function clean($request) - { - $this->cleanParameterBag($request->query); - - if ($request->isJson()) { - $this->cleanParameterBag($request->json()); - } elseif ($request->request !== $request->query) { - $this->cleanParameterBag($request->request); - } - } - - /** - * Clean the data in the parameter bag. - * - * @param \Symfony\Component\HttpFoundation\ParameterBag $bag - * @return void - */ - protected function cleanParameterBag(ParameterBag $bag) - { - $bag->replace($this->cleanArray($bag->all())); - } - - /** - * Clean the data in the given array. - * - * @param array $data - * @param string $keyPrefix - * @return array - */ - protected function cleanArray(array $data, $keyPrefix = '') - { - return collect($data)->map(function ($value, $key) use ($keyPrefix) { - return $this->cleanValue($keyPrefix.$key, $value); - })->all(); - } - - /** - * Clean the given value. - * - * @param string $key - * @param mixed $value - * @return mixed - */ - protected function cleanValue($key, $value) - { - if (is_array($value)) { - return $this->cleanArray($value, $key.'.'); - } - - return $this->transform($key, $value); - } - - /** - * Transform the given value. - * - * @param string $key - * @param mixed $value - * @return mixed - */ - protected function transform($key, $value) - { - return $value; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php deleted file mode 100644 index 4c8d1dd..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php +++ /dev/null @@ -1,31 +0,0 @@ -except, true)) { - return $value; - } - - return is_string($value) ? trim($value) : $value; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php deleted file mode 100644 index adc5f5a..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php +++ /dev/null @@ -1,55 +0,0 @@ -getPostMaxSize(); - - if ($max > 0 && $request->server('CONTENT_LENGTH') > $max) { - throw new PostTooLargeException; - } - - return $next($request); - } - - /** - * Determine the server 'post_max_size' as bytes. - * - * @return int - */ - protected function getPostMaxSize() - { - if (is_numeric($postMaxSize = ini_get('post_max_size'))) { - return (int) $postMaxSize; - } - - $metric = strtoupper(substr($postMaxSize, -1)); - $postMaxSize = (int) $postMaxSize; - - switch ($metric) { - case 'K': - return $postMaxSize * 1024; - case 'M': - return $postMaxSize * 1048576; - case 'G': - return $postMaxSize * 1073741824; - default: - return $postMaxSize; - } - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php deleted file mode 100644 index beb7946..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php +++ /dev/null @@ -1,199 +0,0 @@ -app = $app; - $this->encrypter = $encrypter; - } - - /** - * Handle an incoming request. - * - * @param \Illuminate\Http\Request $request - * @param \Closure $next - * @return mixed - * - * @throws \Illuminate\Session\TokenMismatchException - */ - public function handle($request, Closure $next) - { - if ( - $this->isReading($request) || - $this->runningUnitTests() || - $this->inExceptArray($request) || - $this->tokensMatch($request) - ) { - return tap($next($request), function ($response) use ($request) { - if ($this->shouldAddXsrfTokenCookie()) { - $this->addCookieToResponse($request, $response); - } - }); - } - - throw new TokenMismatchException('CSRF token mismatch.'); - } - - /** - * Determine if the HTTP request uses a ‘read’ verb. - * - * @param \Illuminate\Http\Request $request - * @return bool - */ - protected function isReading($request) - { - return in_array($request->method(), ['HEAD', 'GET', 'OPTIONS']); - } - - /** - * Determine if the application is running unit tests. - * - * @return bool - */ - protected function runningUnitTests() - { - return $this->app->runningInConsole() && $this->app->runningUnitTests(); - } - - /** - * Determine if the request has a URI that should pass through CSRF verification. - * - * @param \Illuminate\Http\Request $request - * @return bool - */ - protected function inExceptArray($request) - { - foreach ($this->except as $except) { - if ($except !== '/') { - $except = trim($except, '/'); - } - - if ($request->fullUrlIs($except) || $request->is($except)) { - return true; - } - } - - return false; - } - - /** - * Determine if the session and input CSRF tokens match. - * - * @param \Illuminate\Http\Request $request - * @return bool - */ - protected function tokensMatch($request) - { - $token = $this->getTokenFromRequest($request); - - return is_string($request->session()->token()) && - is_string($token) && - hash_equals($request->session()->token(), $token); - } - - /** - * Get the CSRF token from the request. - * - * @param \Illuminate\Http\Request $request - * @return string - */ - protected function getTokenFromRequest($request) - { - $token = $request->input('_token') ?: $request->header('X-CSRF-TOKEN'); - - if (! $token && $header = $request->header('X-XSRF-TOKEN')) { - $token = $this->encrypter->decrypt($header, static::serialized()); - } - - return $token; - } - - /** - * Determine if the cookie should be added to the response. - * - * @return bool - */ - public function shouldAddXsrfTokenCookie() - { - return $this->addHttpCookie; - } - - /** - * Add the CSRF token to the response cookies. - * - * @param \Illuminate\Http\Request $request - * @param \Symfony\Component\HttpFoundation\Response $response - * @return \Symfony\Component\HttpFoundation\Response - */ - protected function addCookieToResponse($request, $response) - { - $config = config('session'); - - $response->headers->setCookie( - new Cookie( - 'XSRF-TOKEN', $request->session()->token(), $this->availableAt(60 * $config['lifetime']), - $config['path'], $config['domain'], $config['secure'], false, false, $config['same_site'] ?? null - ) - ); - - return $response; - } - - /** - * Determine if the cookie contents should be serialized. - * - * @return bool - */ - public static function serialized() - { - return EncryptCookies::serialized('XSRF-TOKEN'); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Inspiring.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Inspiring.php deleted file mode 100644 index 61258cb..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Inspiring.php +++ /dev/null @@ -1,38 +0,0 @@ -random(); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Mix.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Mix.php deleted file mode 100644 index ec15178..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Mix.php +++ /dev/null @@ -1,68 +0,0 @@ -get('app.debug')) { - report($exception); - - return $path; - } else { - throw $exception; - } - } - - return new HtmlString(app('config')->get('app.mix_url').$manifestDirectory.$manifest[$path]); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/PackageManifest.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/PackageManifest.php deleted file mode 100644 index a091372..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/PackageManifest.php +++ /dev/null @@ -1,175 +0,0 @@ -files = $files; - $this->basePath = $basePath; - $this->manifestPath = $manifestPath; - $this->vendorPath = $basePath.'/vendor'; - } - - /** - * Get all of the service provider class names for all packages. - * - * @return array - */ - public function providers() - { - return collect($this->getManifest())->flatMap(function ($configuration) { - return (array) ($configuration['providers'] ?? []); - })->filter()->all(); - } - - /** - * Get all of the aliases for all packages. - * - * @return array - */ - public function aliases() - { - return collect($this->getManifest())->flatMap(function ($configuration) { - return (array) ($configuration['aliases'] ?? []); - })->filter()->all(); - } - - /** - * Get the current package manifest. - * - * @return array - */ - protected function getManifest() - { - if (! is_null($this->manifest)) { - return $this->manifest; - } - - if (! file_exists($this->manifestPath)) { - $this->build(); - } - - $this->files->get($this->manifestPath); - - return $this->manifest = file_exists($this->manifestPath) ? - $this->files->getRequire($this->manifestPath) : []; - } - - /** - * Build the manifest and write it to disk. - * - * @return void - */ - public function build() - { - $packages = []; - - if ($this->files->exists($path = $this->vendorPath.'/composer/installed.json')) { - $packages = json_decode($this->files->get($path), true); - } - - $ignoreAll = in_array('*', $ignore = $this->packagesToIgnore()); - - $this->write(collect($packages)->mapWithKeys(function ($package) { - return [$this->format($package['name']) => $package['extra']['laravel'] ?? []]; - })->each(function ($configuration) use (&$ignore) { - $ignore = array_merge($ignore, $configuration['dont-discover'] ?? []); - })->reject(function ($configuration, $package) use ($ignore, $ignoreAll) { - return $ignoreAll || in_array($package, $ignore); - })->filter()->all()); - } - - /** - * Format the given package name. - * - * @param string $package - * @return string - */ - protected function format($package) - { - return str_replace($this->vendorPath.'/', '', $package); - } - - /** - * Get all of the package names that should be ignored. - * - * @return array - */ - protected function packagesToIgnore() - { - if (! file_exists($this->basePath.'/composer.json')) { - return []; - } - - return json_decode(file_get_contents( - $this->basePath.'/composer.json' - ), true)['extra']['laravel']['dont-discover'] ?? []; - } - - /** - * Write the given manifest array to disk. - * - * @param array $manifest - * @return void - * - * @throws \Exception - */ - protected function write(array $manifest) - { - if (! is_writable(dirname($this->manifestPath))) { - throw new Exception('The '.dirname($this->manifestPath).' directory must be present and writable.'); - } - - $this->files->replace( - $this->manifestPath, 'app = $app; - $this->files = $files; - $this->manifestPath = $manifestPath; - } - - /** - * Register the application service providers. - * - * @param array $providers - * @return void - */ - public function load(array $providers) - { - $manifest = $this->loadManifest(); - - // First we will load the service manifest, which contains information on all - // service providers registered with the application and which services it - // provides. This is used to know which services are "deferred" loaders. - if ($this->shouldRecompile($manifest, $providers)) { - $manifest = $this->compileManifest($providers); - } - - // Next, we will register events to load the providers for each of the events - // that it has requested. This allows the service provider to defer itself - // while still getting automatically loaded when a certain event occurs. - foreach ($manifest['when'] as $provider => $events) { - $this->registerLoadEvents($provider, $events); - } - - // We will go ahead and register all of the eagerly loaded providers with the - // application so their services can be registered with the application as - // a provided service. Then we will set the deferred service list on it. - foreach ($manifest['eager'] as $provider) { - $this->app->register($provider); - } - - $this->app->addDeferredServices($manifest['deferred']); - } - - /** - * Load the service provider manifest JSON file. - * - * @return array|null - */ - public function loadManifest() - { - // The service manifest is a file containing a JSON representation of every - // service provided by the application and whether its provider is using - // deferred loading or should be eagerly loaded on each request to us. - if ($this->files->exists($this->manifestPath)) { - $manifest = $this->files->getRequire($this->manifestPath); - - if ($manifest) { - return array_merge(['when' => []], $manifest); - } - } - } - - /** - * Determine if the manifest should be compiled. - * - * @param array $manifest - * @param array $providers - * @return bool - */ - public function shouldRecompile($manifest, $providers) - { - return is_null($manifest) || $manifest['providers'] != $providers; - } - - /** - * Register the load events for the given provider. - * - * @param string $provider - * @param array $events - * @return void - */ - protected function registerLoadEvents($provider, array $events) - { - if (count($events) < 1) { - return; - } - - $this->app->make('events')->listen($events, function () use ($provider) { - $this->app->register($provider); - }); - } - - /** - * Compile the application service manifest file. - * - * @param array $providers - * @return array - */ - protected function compileManifest($providers) - { - // The service manifest should contain a list of all of the providers for - // the application so we can compare it on each request to the service - // and determine if the manifest should be recompiled or is current. - $manifest = $this->freshManifest($providers); - - foreach ($providers as $provider) { - $instance = $this->createProvider($provider); - - // When recompiling the service manifest, we will spin through each of the - // providers and check if it's a deferred provider or not. If so we'll - // add it's provided services to the manifest and note the provider. - if ($instance->isDeferred()) { - foreach ($instance->provides() as $service) { - $manifest['deferred'][$service] = $provider; - } - - $manifest['when'][$provider] = $instance->when(); - } - - // If the service providers are not deferred, we will simply add it to an - // array of eagerly loaded providers that will get registered on every - // request to this application instead of "lazy" loading every time. - else { - $manifest['eager'][] = $provider; - } - } - - return $this->writeManifest($manifest); - } - - /** - * Create a fresh service manifest data structure. - * - * @param array $providers - * @return array - */ - protected function freshManifest(array $providers) - { - return ['providers' => $providers, 'eager' => [], 'deferred' => []]; - } - - /** - * Write the service manifest file to disk. - * - * @param array $manifest - * @return array - * - * @throws \Exception - */ - public function writeManifest($manifest) - { - if (! is_writable($dirname = dirname($this->manifestPath))) { - throw new Exception("The {$dirname} directory must be present and writable."); - } - - $this->files->replace( - $this->manifestPath, ' []], $manifest); - } - - /** - * Create a new provider instance. - * - * @param string $provider - * @return \Illuminate\Support\ServiceProvider - */ - public function createProvider($provider) - { - return new $provider($this->app); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Providers/ArtisanServiceProvider.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Providers/ArtisanServiceProvider.php deleted file mode 100644 index 110d5e8..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Providers/ArtisanServiceProvider.php +++ /dev/null @@ -1,1059 +0,0 @@ - 'command.cache.clear', - 'CacheForget' => 'command.cache.forget', - 'ClearCompiled' => 'command.clear-compiled', - 'ClearResets' => 'command.auth.resets.clear', - 'ConfigCache' => 'command.config.cache', - 'ConfigClear' => 'command.config.clear', - 'Down' => 'command.down', - 'Environment' => 'command.environment', - 'EventCache' => 'command.event.cache', - 'EventClear' => 'command.event.clear', - 'EventList' => 'command.event.list', - 'KeyGenerate' => 'command.key.generate', - 'Migrate' => 'command.migrate', - 'MigrateFresh' => 'command.migrate.fresh', - 'MigrateInstall' => 'command.migrate.install', - 'MigrateRefresh' => 'command.migrate.refresh', - 'MigrateReset' => 'command.migrate.reset', - 'MigrateRollback' => 'command.migrate.rollback', - 'MigrateStatus' => 'command.migrate.status', - 'Optimize' => 'command.optimize', - 'OptimizeClear' => 'command.optimize.clear', - 'PackageDiscover' => 'command.package.discover', - 'Preset' => 'command.preset', - 'QueueFailed' => 'command.queue.failed', - 'QueueFlush' => 'command.queue.flush', - 'QueueForget' => 'command.queue.forget', - 'QueueListen' => 'command.queue.listen', - 'QueueRestart' => 'command.queue.restart', - 'QueueRetry' => 'command.queue.retry', - 'QueueWork' => 'command.queue.work', - 'RouteCache' => 'command.route.cache', - 'RouteClear' => 'command.route.clear', - 'RouteList' => 'command.route.list', - 'Seed' => 'command.seed', - 'ScheduleFinish' => ScheduleFinishCommand::class, - 'ScheduleRun' => ScheduleRunCommand::class, - 'StorageLink' => 'command.storage.link', - 'Up' => 'command.up', - 'ViewCache' => 'command.view.cache', - 'ViewClear' => 'command.view.clear', - ]; - - /** - * The commands to be registered. - * - * @var array - */ - protected $devCommands = [ - 'AppName' => 'command.app.name', - 'AuthMake' => 'command.auth.make', - 'CacheTable' => 'command.cache.table', - 'ChannelMake' => 'command.channel.make', - 'ConsoleMake' => 'command.console.make', - 'ControllerMake' => 'command.controller.make', - 'EventGenerate' => 'command.event.generate', - 'EventMake' => 'command.event.make', - 'ExceptionMake' => 'command.exception.make', - 'FactoryMake' => 'command.factory.make', - 'JobMake' => 'command.job.make', - 'ListenerMake' => 'command.listener.make', - 'MailMake' => 'command.mail.make', - 'MiddlewareMake' => 'command.middleware.make', - 'MigrateMake' => 'command.migrate.make', - 'ModelMake' => 'command.model.make', - 'NotificationMake' => 'command.notification.make', - 'NotificationTable' => 'command.notification.table', - 'ObserverMake' => 'command.observer.make', - 'PolicyMake' => 'command.policy.make', - 'ProviderMake' => 'command.provider.make', - 'QueueFailedTable' => 'command.queue.failed-table', - 'QueueTable' => 'command.queue.table', - 'RequestMake' => 'command.request.make', - 'ResourceMake' => 'command.resource.make', - 'RuleMake' => 'command.rule.make', - 'SeederMake' => 'command.seeder.make', - 'SessionTable' => 'command.session.table', - 'Serve' => 'command.serve', - 'TestMake' => 'command.test.make', - 'VendorPublish' => 'command.vendor.publish', - ]; - - /** - * Register the service provider. - * - * @return void - */ - public function register() - { - $this->registerCommands(array_merge( - $this->commands, $this->devCommands - )); - } - - /** - * Register the given commands. - * - * @param array $commands - * @return void - */ - protected function registerCommands(array $commands) - { - foreach (array_keys($commands) as $command) { - call_user_func_array([$this, "register{$command}Command"], []); - } - - $this->commands(array_values($commands)); - } - - /** - * Register the command. - * - * @return void - */ - protected function registerAppNameCommand() - { - $this->app->singleton('command.app.name', function ($app) { - return new AppNameCommand($app['composer'], $app['files']); - }); - } - - /** - * Register the command. - * - * @return void - */ - protected function registerAuthMakeCommand() - { - $this->app->singleton('command.auth.make', function () { - return new AuthMakeCommand; - }); - } - - /** - * Register the command. - * - * @return void - */ - protected function registerCacheClearCommand() - { - $this->app->singleton('command.cache.clear', function ($app) { - return new CacheClearCommand($app['cache'], $app['files']); - }); - } - - /** - * Register the command. - * - * @return void - */ - protected function registerCacheForgetCommand() - { - $this->app->singleton('command.cache.forget', function ($app) { - return new CacheForgetCommand($app['cache']); - }); - } - - /** - * Register the command. - * - * @return void - */ - protected function registerCacheTableCommand() - { - $this->app->singleton('command.cache.table', function ($app) { - return new CacheTableCommand($app['files'], $app['composer']); - }); - } - - /** - * Register the command. - * - * @return void - */ - protected function registerChannelMakeCommand() - { - $this->app->singleton('command.channel.make', function ($app) { - return new ChannelMakeCommand($app['files']); - }); - } - - /** - * Register the command. - * - * @return void - */ - protected function registerClearCompiledCommand() - { - $this->app->singleton('command.clear-compiled', function () { - return new ClearCompiledCommand; - }); - } - - /** - * Register the command. - * - * @return void - */ - protected function registerClearResetsCommand() - { - $this->app->singleton('command.auth.resets.clear', function () { - return new ClearResetsCommand; - }); - } - - /** - * Register the command. - * - * @return void - */ - protected function registerConfigCacheCommand() - { - $this->app->singleton('command.config.cache', function ($app) { - return new ConfigCacheCommand($app['files']); - }); - } - - /** - * Register the command. - * - * @return void - */ - protected function registerConfigClearCommand() - { - $this->app->singleton('command.config.clear', function ($app) { - return new ConfigClearCommand($app['files']); - }); - } - - /** - * Register the command. - * - * @return void - */ - protected function registerConsoleMakeCommand() - { - $this->app->singleton('command.console.make', function ($app) { - return new ConsoleMakeCommand($app['files']); - }); - } - - /** - * Register the command. - * - * @return void - */ - protected function registerControllerMakeCommand() - { - $this->app->singleton('command.controller.make', function ($app) { - return new ControllerMakeCommand($app['files']); - }); - } - - /** - * Register the command. - * - * @return void - */ - protected function registerEventGenerateCommand() - { - $this->app->singleton('command.event.generate', function () { - return new EventGenerateCommand; - }); - } - - /** - * Register the command. - * - * @return void - */ - protected function registerEventMakeCommand() - { - $this->app->singleton('command.event.make', function ($app) { - return new EventMakeCommand($app['files']); - }); - } - - /** - * Register the command. - * - * @return void - */ - protected function registerExceptionMakeCommand() - { - $this->app->singleton('command.exception.make', function ($app) { - return new ExceptionMakeCommand($app['files']); - }); - } - - /** - * Register the command. - * - * @return void - */ - protected function registerFactoryMakeCommand() - { - $this->app->singleton('command.factory.make', function ($app) { - return new FactoryMakeCommand($app['files']); - }); - } - - /** - * Register the command. - * - * @return void - */ - protected function registerDownCommand() - { - $this->app->singleton('command.down', function () { - return new DownCommand; - }); - } - - /** - * Register the command. - * - * @return void - */ - protected function registerEnvironmentCommand() - { - $this->app->singleton('command.environment', function () { - return new EnvironmentCommand; - }); - } - - /** - * Register the command. - * - * @return void - */ - protected function registerEventCacheCommand() - { - $this->app->singleton('command.event.cache', function () { - return new EventCacheCommand; - }); - } - - /** - * Register the command. - * - * @return void - */ - protected function registerEventClearCommand() - { - $this->app->singleton('command.event.clear', function ($app) { - return new EventClearCommand($app['files']); - }); - } - - /** - * Register the command. - * - * @return void - */ - protected function registerEventListCommand() - { - $this->app->singleton('command.event.list', function () { - return new EventListCommand(); - }); - } - - /** - * Register the command. - * - * @return void - */ - protected function registerJobMakeCommand() - { - $this->app->singleton('command.job.make', function ($app) { - return new JobMakeCommand($app['files']); - }); - } - - /** - * Register the command. - * - * @return void - */ - protected function registerKeyGenerateCommand() - { - $this->app->singleton('command.key.generate', function () { - return new KeyGenerateCommand; - }); - } - - /** - * Register the command. - * - * @return void - */ - protected function registerListenerMakeCommand() - { - $this->app->singleton('command.listener.make', function ($app) { - return new ListenerMakeCommand($app['files']); - }); - } - - /** - * Register the command. - * - * @return void - */ - protected function registerMailMakeCommand() - { - $this->app->singleton('command.mail.make', function ($app) { - return new MailMakeCommand($app['files']); - }); - } - - /** - * Register the command. - * - * @return void - */ - protected function registerMiddlewareMakeCommand() - { - $this->app->singleton('command.middleware.make', function ($app) { - return new MiddlewareMakeCommand($app['files']); - }); - } - - /** - * Register the command. - * - * @return void - */ - protected function registerMigrateCommand() - { - $this->app->singleton('command.migrate', function ($app) { - return new MigrateCommand($app['migrator']); - }); - } - - /** - * Register the command. - * - * @return void - */ - protected function registerMigrateFreshCommand() - { - $this->app->singleton('command.migrate.fresh', function () { - return new MigrateFreshCommand; - }); - } - - /** - * Register the command. - * - * @return void - */ - protected function registerMigrateInstallCommand() - { - $this->app->singleton('command.migrate.install', function ($app) { - return new MigrateInstallCommand($app['migration.repository']); - }); - } - - /** - * Register the command. - * - * @return void - */ - protected function registerMigrateMakeCommand() - { - $this->app->singleton('command.migrate.make', function ($app) { - // Once we have the migration creator registered, we will create the command - // and inject the creator. The creator is responsible for the actual file - // creation of the migrations, and may be extended by these developers. - $creator = $app['migration.creator']; - - $composer = $app['composer']; - - return new MigrateMakeCommand($creator, $composer); - }); - } - - /** - * Register the command. - * - * @return void - */ - protected function registerMigrateRefreshCommand() - { - $this->app->singleton('command.migrate.refresh', function () { - return new MigrateRefreshCommand; - }); - } - - /** - * Register the command. - * - * @return void - */ - protected function registerMigrateResetCommand() - { - $this->app->singleton('command.migrate.reset', function ($app) { - return new MigrateResetCommand($app['migrator']); - }); - } - - /** - * Register the command. - * - * @return void - */ - protected function registerMigrateRollbackCommand() - { - $this->app->singleton('command.migrate.rollback', function ($app) { - return new MigrateRollbackCommand($app['migrator']); - }); - } - - /** - * Register the command. - * - * @return void - */ - protected function registerMigrateStatusCommand() - { - $this->app->singleton('command.migrate.status', function ($app) { - return new MigrateStatusCommand($app['migrator']); - }); - } - - /** - * Register the command. - * - * @return void - */ - protected function registerModelMakeCommand() - { - $this->app->singleton('command.model.make', function ($app) { - return new ModelMakeCommand($app['files']); - }); - } - - /** - * Register the command. - * - * @return void - */ - protected function registerNotificationMakeCommand() - { - $this->app->singleton('command.notification.make', function ($app) { - return new NotificationMakeCommand($app['files']); - }); - } - - /** - * Register the command. - * - * @return void - */ - protected function registerNotificationTableCommand() - { - $this->app->singleton('command.notification.table', function ($app) { - return new NotificationTableCommand($app['files'], $app['composer']); - }); - } - - /** - * Register the command. - * - * @return void - */ - protected function registerOptimizeCommand() - { - $this->app->singleton('command.optimize', function () { - return new OptimizeCommand; - }); - } - - /** - * Register the command. - * - * @return void - */ - protected function registerObserverMakeCommand() - { - $this->app->singleton('command.observer.make', function ($app) { - return new ObserverMakeCommand($app['files']); - }); - } - - /** - * Register the command. - * - * @return void - */ - protected function registerOptimizeClearCommand() - { - $this->app->singleton('command.optimize.clear', function () { - return new OptimizeClearCommand; - }); - } - - /** - * Register the command. - * - * @return void - */ - protected function registerPackageDiscoverCommand() - { - $this->app->singleton('command.package.discover', function () { - return new PackageDiscoverCommand; - }); - } - - /** - * Register the command. - * - * @return void - */ - protected function registerPolicyMakeCommand() - { - $this->app->singleton('command.policy.make', function ($app) { - return new PolicyMakeCommand($app['files']); - }); - } - - /** - * Register the command. - * - * @return void - */ - protected function registerPresetCommand() - { - $this->app->singleton('command.preset', function () { - return new PresetCommand; - }); - } - - /** - * Register the command. - * - * @return void - */ - protected function registerProviderMakeCommand() - { - $this->app->singleton('command.provider.make', function ($app) { - return new ProviderMakeCommand($app['files']); - }); - } - - /** - * Register the command. - * - * @return void - */ - protected function registerQueueFailedCommand() - { - $this->app->singleton('command.queue.failed', function () { - return new ListFailedQueueCommand; - }); - } - - /** - * Register the command. - * - * @return void - */ - protected function registerQueueForgetCommand() - { - $this->app->singleton('command.queue.forget', function () { - return new ForgetFailedQueueCommand; - }); - } - - /** - * Register the command. - * - * @return void - */ - protected function registerQueueFlushCommand() - { - $this->app->singleton('command.queue.flush', function () { - return new FlushFailedQueueCommand; - }); - } - - /** - * Register the command. - * - * @return void - */ - protected function registerQueueListenCommand() - { - $this->app->singleton('command.queue.listen', function ($app) { - return new QueueListenCommand($app['queue.listener']); - }); - } - - /** - * Register the command. - * - * @return void - */ - protected function registerQueueRestartCommand() - { - $this->app->singleton('command.queue.restart', function () { - return new QueueRestartCommand; - }); - } - - /** - * Register the command. - * - * @return void - */ - protected function registerQueueRetryCommand() - { - $this->app->singleton('command.queue.retry', function () { - return new QueueRetryCommand; - }); - } - - /** - * Register the command. - * - * @return void - */ - protected function registerQueueWorkCommand() - { - $this->app->singleton('command.queue.work', function ($app) { - return new QueueWorkCommand($app['queue.worker']); - }); - } - - /** - * Register the command. - * - * @return void - */ - protected function registerQueueFailedTableCommand() - { - $this->app->singleton('command.queue.failed-table', function ($app) { - return new FailedTableCommand($app['files'], $app['composer']); - }); - } - - /** - * Register the command. - * - * @return void - */ - protected function registerQueueTableCommand() - { - $this->app->singleton('command.queue.table', function ($app) { - return new TableCommand($app['files'], $app['composer']); - }); - } - - /** - * Register the command. - * - * @return void - */ - protected function registerRequestMakeCommand() - { - $this->app->singleton('command.request.make', function ($app) { - return new RequestMakeCommand($app['files']); - }); - } - - /** - * Register the command. - * - * @return void - */ - protected function registerResourceMakeCommand() - { - $this->app->singleton('command.resource.make', function ($app) { - return new ResourceMakeCommand($app['files']); - }); - } - - /** - * Register the command. - * - * @return void - */ - protected function registerRuleMakeCommand() - { - $this->app->singleton('command.rule.make', function ($app) { - return new RuleMakeCommand($app['files']); - }); - } - - /** - * Register the command. - * - * @return void - */ - protected function registerSeederMakeCommand() - { - $this->app->singleton('command.seeder.make', function ($app) { - return new SeederMakeCommand($app['files'], $app['composer']); - }); - } - - /** - * Register the command. - * - * @return void - */ - protected function registerSessionTableCommand() - { - $this->app->singleton('command.session.table', function ($app) { - return new SessionTableCommand($app['files'], $app['composer']); - }); - } - - /** - * Register the command. - * - * @return void - */ - protected function registerStorageLinkCommand() - { - $this->app->singleton('command.storage.link', function () { - return new StorageLinkCommand; - }); - } - - /** - * Register the command. - * - * @return void - */ - protected function registerRouteCacheCommand() - { - $this->app->singleton('command.route.cache', function ($app) { - return new RouteCacheCommand($app['files']); - }); - } - - /** - * Register the command. - * - * @return void - */ - protected function registerRouteClearCommand() - { - $this->app->singleton('command.route.clear', function ($app) { - return new RouteClearCommand($app['files']); - }); - } - - /** - * Register the command. - * - * @return void - */ - protected function registerRouteListCommand() - { - $this->app->singleton('command.route.list', function ($app) { - return new RouteListCommand($app['router']); - }); - } - - /** - * Register the command. - * - * @return void - */ - protected function registerSeedCommand() - { - $this->app->singleton('command.seed', function ($app) { - return new SeedCommand($app['db']); - }); - } - - /** - * Register the command. - * - * @return void - */ - protected function registerScheduleFinishCommand() - { - $this->app->singleton(ScheduleFinishCommand::class); - } - - /** - * Register the command. - * - * @return void - */ - protected function registerScheduleRunCommand() - { - $this->app->singleton(ScheduleRunCommand::class); - } - - /** - * Register the command. - * - * @return void - */ - protected function registerServeCommand() - { - $this->app->singleton('command.serve', function () { - return new ServeCommand; - }); - } - - /** - * Register the command. - * - * @return void - */ - protected function registerTestMakeCommand() - { - $this->app->singleton('command.test.make', function ($app) { - return new TestMakeCommand($app['files']); - }); - } - - /** - * Register the command. - * - * @return void - */ - protected function registerUpCommand() - { - $this->app->singleton('command.up', function () { - return new UpCommand; - }); - } - - /** - * Register the command. - * - * @return void - */ - protected function registerVendorPublishCommand() - { - $this->app->singleton('command.vendor.publish', function ($app) { - return new VendorPublishCommand($app['files']); - }); - } - - /** - * Register the command. - * - * @return void - */ - protected function registerViewCacheCommand() - { - $this->app->singleton('command.view.cache', function () { - return new ViewCacheCommand; - }); - } - - /** - * Register the command. - * - * @return void - */ - protected function registerViewClearCommand() - { - $this->app->singleton('command.view.clear', function ($app) { - return new ViewClearCommand($app['files']); - }); - } - - /** - * Get the services provided by the provider. - * - * @return array - */ - public function provides() - { - return array_merge(array_values($this->commands), array_values($this->devCommands)); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Providers/ComposerServiceProvider.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Providers/ComposerServiceProvider.php deleted file mode 100644 index 6b05c25..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Providers/ComposerServiceProvider.php +++ /dev/null @@ -1,32 +0,0 @@ -app->singleton('composer', function ($app) { - return new Composer($app['files'], $app->basePath()); - }); - } - - /** - * Get the services provided by the provider. - * - * @return array - */ - public function provides() - { - return ['composer']; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Providers/ConsoleSupportServiceProvider.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Providers/ConsoleSupportServiceProvider.php deleted file mode 100644 index f360838..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Providers/ConsoleSupportServiceProvider.php +++ /dev/null @@ -1,21 +0,0 @@ -app->afterResolving(ValidatesWhenResolved::class, function ($resolved) { - $resolved->validateResolved(); - }); - - $this->app->resolving(FormRequest::class, function ($request, $app) { - $request = FormRequest::createFrom($app['request'], $request); - - $request->setContainer($app)->setRedirector($app->make(Redirector::class)); - }); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Providers/FoundationServiceProvider.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Providers/FoundationServiceProvider.php deleted file mode 100644 index fc00885..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Providers/FoundationServiceProvider.php +++ /dev/null @@ -1,68 +0,0 @@ -app->runningInConsole()) { - $this->publishes([ - __DIR__.'/../Exceptions/views' => $this->app->resourcePath('views/errors/'), - ], 'laravel-errors'); - } - } - - /** - * Register the service provider. - * - * @return void - */ - public function register() - { - parent::register(); - - $this->registerRequestValidation(); - $this->registerRequestSignatureValidation(); - } - - /** - * Register the "validate" macro on the request. - * - * @return void - */ - public function registerRequestValidation() - { - Request::macro('validate', function (array $rules, ...$params) { - return validator()->validate($this->all(), $rules, ...$params); - }); - } - - /** - * Register the "hasValidSignature" macro on the request. - * - * @return void - */ - public function registerRequestSignatureValidation() - { - Request::macro('hasValidSignature', function ($absolute = true) { - return URL::hasValidSignature($this, $absolute); - }); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Support/Providers/AuthServiceProvider.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Support/Providers/AuthServiceProvider.php deleted file mode 100644 index ac32319..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Support/Providers/AuthServiceProvider.php +++ /dev/null @@ -1,38 +0,0 @@ -policies as $key => $value) { - Gate::policy($key, $value); - } - } - - /** - * Get the policies defined on the provider. - * - * @return array - */ - public function policies() - { - return $this->policies; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Support/Providers/EventServiceProvider.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Support/Providers/EventServiceProvider.php deleted file mode 100644 index f38eb04..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Support/Providers/EventServiceProvider.php +++ /dev/null @@ -1,126 +0,0 @@ -getEvents(); - - foreach ($events as $event => $listeners) { - foreach (array_unique($listeners) as $listener) { - Event::listen($event, $listener); - } - } - - foreach ($this->subscribe as $subscriber) { - Event::subscribe($subscriber); - } - } - - /** - * Get the events and handlers. - * - * @return array - */ - public function listens() - { - return $this->listen; - } - - /** - * Get the discovered events and listeners for the application. - * - * @return array - */ - public function getEvents() - { - if ($this->app->eventsAreCached()) { - $cache = require $this->app->getCachedEventsPath(); - - return $cache[get_class($this)] ?? []; - } else { - return array_merge_recursive( - $this->discoveredEvents(), - $this->listens() - ); - } - } - - /** - * Get the discovered events for the application. - * - * @return array - */ - protected function discoveredEvents() - { - return $this->shouldDiscoverEvents() - ? $this->discoverEvents() - : []; - } - - /** - * Determine if events and listeners should be automatically discovered. - * - * @return bool - */ - public function shouldDiscoverEvents() - { - return false; - } - - /** - * Discover the events and listeners for the application. - * - * @return array - */ - public function discoverEvents() - { - return collect($this->discoverEventsWithin()) - ->reject(function ($directory) { - return ! is_dir($directory); - }) - ->reduce(function ($discovered, $directory) { - return array_merge_recursive( - $discovered, - DiscoverEvents::within($directory, base_path()) - ); - }, []); - } - - /** - * Get the listener directories that should be used to discover events. - * - * @return array - */ - protected function discoverEventsWithin() - { - return [ - $this->app->path('Listeners'), - ]; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Support/Providers/RouteServiceProvider.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Support/Providers/RouteServiceProvider.php deleted file mode 100644 index c86ad8c..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Support/Providers/RouteServiceProvider.php +++ /dev/null @@ -1,104 +0,0 @@ -setRootControllerNamespace(); - - if ($this->routesAreCached()) { - $this->loadCachedRoutes(); - } else { - $this->loadRoutes(); - - $this->app->booted(function () { - $this->app['router']->getRoutes()->refreshNameLookups(); - $this->app['router']->getRoutes()->refreshActionLookups(); - }); - } - } - - /** - * Set the root controller namespace for the application. - * - * @return void - */ - protected function setRootControllerNamespace() - { - if (! is_null($this->namespace)) { - $this->app[UrlGenerator::class]->setRootControllerNamespace($this->namespace); - } - } - - /** - * Determine if the application routes are cached. - * - * @return bool - */ - protected function routesAreCached() - { - return $this->app->routesAreCached(); - } - - /** - * Load the cached routes for the application. - * - * @return void - */ - protected function loadCachedRoutes() - { - $this->app->booted(function () { - require $this->app->getCachedRoutesPath(); - }); - } - - /** - * Load the application routes. - * - * @return void - */ - protected function loadRoutes() - { - if (method_exists($this, 'map')) { - $this->app->call([$this, 'map']); - } - } - - /** - * Pass dynamic methods onto the router instance. - * - * @param string $method - * @param array $parameters - * @return mixed - */ - public function __call($method, $parameters) - { - return $this->forwardCallTo( - $this->app->make(Router::class), $method, $parameters - ); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Testing/Assert.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Testing/Assert.php deleted file mode 100644 index 0e51ba5..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Testing/Assert.php +++ /dev/null @@ -1,42 +0,0 @@ -be($user, $driver); - } - - /** - * Set the currently logged in user for the application. - * - * @param \Illuminate\Contracts\Auth\Authenticatable $user - * @param string|null $driver - * @return $this - */ - public function be(UserContract $user, $driver = null) - { - if (isset($user->wasRecentlyCreated) && $user->wasRecentlyCreated) { - $user->wasRecentlyCreated = false; - } - - $this->app['auth']->guard($driver)->setUser($user); - - $this->app['auth']->shouldUse($driver); - - return $this; - } - - /** - * Assert that the user is authenticated. - * - * @param string|null $guard - * @return $this - */ - public function assertAuthenticated($guard = null) - { - $this->assertTrue($this->isAuthenticated($guard), 'The user is not authenticated'); - - return $this; - } - - /** - * Assert that the user is not authenticated. - * - * @param string|null $guard - * @return $this - */ - public function assertGuest($guard = null) - { - $this->assertFalse($this->isAuthenticated($guard), 'The user is authenticated'); - - return $this; - } - - /** - * Return true if the user is authenticated, false otherwise. - * - * @param string|null $guard - * @return bool - */ - protected function isAuthenticated($guard = null) - { - return $this->app->make('auth')->guard($guard)->check(); - } - - /** - * Assert that the user is authenticated as the given user. - * - * @param \Illuminate\Contracts\Auth\Authenticatable $user - * @param string|null $guard - * @return $this - */ - public function assertAuthenticatedAs($user, $guard = null) - { - $expected = $this->app->make('auth')->guard($guard)->user(); - - $this->assertNotNull($expected, 'The current user is not authenticated.'); - - $this->assertInstanceOf( - get_class($expected), $user, - 'The currently authenticated user is not who was expected' - ); - - $this->assertSame( - $expected->getAuthIdentifier(), $user->getAuthIdentifier(), - 'The currently authenticated user is not who was expected' - ); - - return $this; - } - - /** - * Assert that the given credentials are valid. - * - * @param array $credentials - * @param string|null $guard - * @return $this - */ - public function assertCredentials(array $credentials, $guard = null) - { - $this->assertTrue( - $this->hasCredentials($credentials, $guard), 'The given credentials are invalid.' - ); - - return $this; - } - - /** - * Assert that the given credentials are invalid. - * - * @param array $credentials - * @param string|null $guard - * @return $this - */ - public function assertInvalidCredentials(array $credentials, $guard = null) - { - $this->assertFalse( - $this->hasCredentials($credentials, $guard), 'The given credentials are valid.' - ); - - return $this; - } - - /** - * Return true if the credentials are valid, false otherwise. - * - * @param array $credentials - * @param string|null $guard - * @return bool - */ - protected function hasCredentials(array $credentials, $guard = null) - { - $provider = $this->app->make('auth')->guard($guard)->getProvider(); - - $user = $provider->retrieveByCredentials($credentials); - - return $user && $provider->validateCredentials($user, $credentials); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Testing/Concerns/InteractsWithConsole.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Testing/Concerns/InteractsWithConsole.php deleted file mode 100644 index 5e962e8..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Testing/Concerns/InteractsWithConsole.php +++ /dev/null @@ -1,72 +0,0 @@ -mockConsoleOutput) { - return $this->app[Kernel::class]->call($command, $parameters); - } - - $this->beforeApplicationDestroyed(function () { - if (count($this->expectedQuestions)) { - $this->fail('Question "'.Arr::first($this->expectedQuestions)[0].'" was not asked.'); - } - - if (count($this->expectedOutput)) { - $this->fail('Output "'.Arr::first($this->expectedOutput).'" was not printed.'); - } - }); - - return new PendingCommand($this, $this->app, $command, $parameters); - } - - /** - * Disable mocking the console output. - * - * @return $this - */ - protected function withoutMockingConsoleOutput() - { - $this->mockConsoleOutput = false; - - $this->app->offsetUnset(OutputStyle::class); - - return $this; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Testing/Concerns/InteractsWithContainer.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Testing/Concerns/InteractsWithContainer.php deleted file mode 100644 index 9077601..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Testing/Concerns/InteractsWithContainer.php +++ /dev/null @@ -1,59 +0,0 @@ -instance($abstract, $instance); - } - - /** - * Register an instance of an object in the container. - * - * @param string $abstract - * @param object $instance - * @return object - */ - protected function instance($abstract, $instance) - { - $this->app->instance($abstract, $instance); - - return $instance; - } - - /** - * Mock an instance of an object in the container. - * - * @param string $abstract - * @param \Closure|null $mock - * @return object - */ - protected function mock($abstract, Closure $mock = null) - { - return $this->instance($abstract, Mockery::mock(...array_filter(func_get_args()))); - } - - /** - * Spy an instance of an object in the container. - * - * @param string $abstract - * @param \Closure|null $mock - * @return object - */ - protected function spy($abstract, Closure $mock = null) - { - return $this->instance($abstract, Mockery::spy(...array_filter(func_get_args()))); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Testing/Concerns/InteractsWithDatabase.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Testing/Concerns/InteractsWithDatabase.php deleted file mode 100644 index 17914ba..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Testing/Concerns/InteractsWithDatabase.php +++ /dev/null @@ -1,99 +0,0 @@ -assertThat( - $table, new HasInDatabase($this->getConnection($connection), $data) - ); - - return $this; - } - - /** - * Assert that a given where condition does not exist in the database. - * - * @param string $table - * @param array $data - * @param string|null $connection - * @return $this - */ - protected function assertDatabaseMissing($table, array $data, $connection = null) - { - $constraint = new ReverseConstraint( - new HasInDatabase($this->getConnection($connection), $data) - ); - - $this->assertThat($table, $constraint); - - return $this; - } - - /** - * Assert the given record has been deleted. - * - * @param string|\Illuminate\Database\Eloquent\Model $table - * @param array $data - * @param string|null $connection - * @return $this - */ - protected function assertSoftDeleted($table, array $data = [], $connection = null) - { - if ($table instanceof Model) { - return $this->assertSoftDeleted($table->getTable(), [$table->getKeyName() => $table->getKey()], $table->getConnectionName()); - } - - $this->assertThat( - $table, new SoftDeletedInDatabase($this->getConnection($connection), $data) - ); - - return $this; - } - - /** - * Get the database connection. - * - * @param string|null $connection - * @return \Illuminate\Database\Connection - */ - protected function getConnection($connection = null) - { - $database = $this->app->make('db'); - - $connection = $connection ?: $database->getDefaultConnection(); - - return $database->connection($connection); - } - - /** - * Seed a given database connection. - * - * @param array|string $class - * @return $this - */ - public function seed($class = 'DatabaseSeeder') - { - foreach (Arr::wrap($class) as $class) { - $this->artisan('db:seed', ['--class' => $class, '--no-interaction' => true]); - } - - return $this; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Testing/Concerns/InteractsWithExceptionHandling.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Testing/Concerns/InteractsWithExceptionHandling.php deleted file mode 100644 index ee75e34..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Testing/Concerns/InteractsWithExceptionHandling.php +++ /dev/null @@ -1,147 +0,0 @@ -originalExceptionHandler) { - $this->app->instance(ExceptionHandler::class, $this->originalExceptionHandler); - } - - return $this; - } - - /** - * Only handle the given exceptions via the exception handler. - * - * @param array $exceptions - * @return $this - */ - protected function handleExceptions(array $exceptions) - { - return $this->withoutExceptionHandling($exceptions); - } - - /** - * Only handle validation exceptions via the exception handler. - * - * @return $this - */ - protected function handleValidationExceptions() - { - return $this->handleExceptions([ValidationException::class]); - } - - /** - * Disable exception handling for the test. - * - * @param array $except - * @return $this - */ - protected function withoutExceptionHandling(array $except = []) - { - if ($this->originalExceptionHandler == null) { - $this->originalExceptionHandler = app(ExceptionHandler::class); - } - - $this->app->instance(ExceptionHandler::class, new class($this->originalExceptionHandler, $except) implements ExceptionHandler { - protected $except; - protected $originalHandler; - - /** - * Create a new class instance. - * - * @param \Illuminate\Contracts\Debug\ExceptionHandler $originalHandler - * @param array $except - * @return void - */ - public function __construct($originalHandler, $except = []) - { - $this->except = $except; - $this->originalHandler = $originalHandler; - } - - /** - * Report the given exception. - * - * @param \Exception $e - * @return void - */ - public function report(Exception $e) - { - // - } - - /** - * Determine if the exception should be reported. - * - * @param \Exception $e - * @return bool - */ - public function shouldReport(Exception $e) - { - return false; - } - - /** - * Render the given exception. - * - * @param \Illuminate\Http\Request $request - * @param \Exception $e - * @return mixed - * - * @throws \Symfony\Component\HttpKernel\Exception\NotFoundHttpException|\Exception - */ - public function render($request, Exception $e) - { - if ($e instanceof NotFoundHttpException) { - throw new NotFoundHttpException( - "{$request->method()} {$request->url()}", null, $e->getCode() - ); - } - - foreach ($this->except as $class) { - if ($e instanceof $class) { - return $this->originalHandler->render($request, $e); - } - } - - throw $e; - } - - /** - * Render the exception for the console. - * - * @param \Symfony\Component\Console\Output\OutputInterface $output - * @param \Exception $e - * @return void - */ - public function renderForConsole($output, Exception $e) - { - (new ConsoleApplication)->renderException($e, $output); - } - }); - - return $this; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Testing/Concerns/InteractsWithRedis.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Testing/Concerns/InteractsWithRedis.php deleted file mode 100644 index 8ad0323..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Testing/Concerns/InteractsWithRedis.php +++ /dev/null @@ -1,110 +0,0 @@ -app ?? new Application; - $host = getenv('REDIS_HOST') ?: '127.0.0.1'; - $port = getenv('REDIS_PORT') ?: 6379; - - if (static::$connectionFailedOnceWithDefaultsSkip) { - $this->markTestSkipped('Trying default host/port failed, please set environment variable REDIS_HOST & REDIS_PORT to enable '.__CLASS__); - - return; - } - - foreach ($this->redisDriverProvider() as $driver) { - $this->redis[$driver[0]] = new RedisManager($app, $driver[0], [ - 'cluster' => false, - 'default' => [ - 'host' => $host, - 'port' => $port, - 'database' => 5, - 'timeout' => 0.5, - ], - ]); - } - - try { - $this->redis['predis']->connection()->flushdb(); - } catch (Exception $e) { - if ($host === '127.0.0.1' && $port === 6379 && getenv('REDIS_HOST') === false) { - static::$connectionFailedOnceWithDefaultsSkip = true; - $this->markTestSkipped('Trying default host/port failed, please set environment variable REDIS_HOST & REDIS_PORT to enable '.__CLASS__); - } - } - } - - /** - * Teardown redis connection. - * - * @return void - */ - public function tearDownRedis() - { - $this->redis['predis']->connection()->flushdb(); - - foreach ($this->redisDriverProvider() as $driver) { - $this->redis[$driver[0]]->connection()->disconnect(); - } - } - - /** - * Get redis driver provider. - * - * @return array - */ - public function redisDriverProvider() - { - $providers = [ - ['predis'], - ]; - - if (extension_loaded('redis')) { - $providers[] = ['phpredis']; - } - - return $providers; - } - - /** - * Run test if redis is available. - * - * @param callable $callback - * @return void - */ - public function ifRedisAvailable($callback) - { - $this->setUpRedis(); - - $callback(); - - $this->tearDownRedis(); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Testing/Concerns/InteractsWithSession.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Testing/Concerns/InteractsWithSession.php deleted file mode 100644 index 9d72e7c..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Testing/Concerns/InteractsWithSession.php +++ /dev/null @@ -1,64 +0,0 @@ -session($data); - - return $this; - } - - /** - * Set the session to the given array. - * - * @param array $data - * @return $this - */ - public function session(array $data) - { - $this->startSession(); - - foreach ($data as $key => $value) { - $this->app['session']->put($key, $value); - } - - return $this; - } - - /** - * Start the session for the application. - * - * @return $this - */ - protected function startSession() - { - if (! $this->app['session']->isStarted()) { - $this->app['session']->start(); - } - - return $this; - } - - /** - * Flush all of the current session data. - * - * @return $this - */ - public function flushSession() - { - $this->startSession(); - - $this->app['session']->flush(); - - return $this; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Testing/Concerns/MakesHttpRequests.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Testing/Concerns/MakesHttpRequests.php deleted file mode 100644 index 29e752a..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Testing/Concerns/MakesHttpRequests.php +++ /dev/null @@ -1,490 +0,0 @@ -defaultHeaders = array_merge($this->defaultHeaders, $headers); - - return $this; - } - - /** - * Add a header to be sent with the request. - * - * @param string $name - * @param string $value - * @return $this - */ - public function withHeader(string $name, string $value) - { - $this->defaultHeaders[$name] = $value; - - return $this; - } - - /** - * Flush all the configured headers. - * - * @return $this - */ - public function flushHeaders() - { - $this->defaultHeaders = []; - - return $this; - } - - /** - * Define a set of server variables to be sent with the requests. - * - * @param array $server - * @return $this - */ - public function withServerVariables(array $server) - { - $this->serverVariables = $server; - - return $this; - } - - /** - * Disable middleware for the test. - * - * @param string|array|null $middleware - * @return $this - */ - public function withoutMiddleware($middleware = null) - { - if (is_null($middleware)) { - $this->app->instance('middleware.disable', true); - - return $this; - } - - foreach ((array) $middleware as $abstract) { - $this->app->instance($abstract, new class { - public function handle($request, $next) - { - return $next($request); - } - }); - } - - return $this; - } - - /** - * Enable the given middleware for the test. - * - * @param string|array|null $middleware - * @return $this - */ - public function withMiddleware($middleware = null) - { - if (is_null($middleware)) { - unset($this->app['middleware.disable']); - - return $this; - } - - foreach ((array) $middleware as $abstract) { - unset($this->app[$abstract]); - } - - return $this; - } - - /** - * Automatically follow any redirects returned from the response. - * - * @return $this - */ - public function followingRedirects() - { - $this->followRedirects = true; - - return $this; - } - - /** - * Set the referer header and previous URL session value in order to simulate a previous request. - * - * @param string $url - * @return $this - */ - public function from(string $url) - { - $this->app['session']->setPreviousUrl($url); - - return $this->withHeader('referer', $url); - } - - /** - * Visit the given URI with a GET request. - * - * @param string $uri - * @param array $headers - * @return \Illuminate\Foundation\Testing\TestResponse - */ - public function get($uri, array $headers = []) - { - $server = $this->transformHeadersToServerVars($headers); - - return $this->call('GET', $uri, [], [], [], $server); - } - - /** - * Visit the given URI with a GET request, expecting a JSON response. - * - * @param string $uri - * @param array $headers - * @return \Illuminate\Foundation\Testing\TestResponse - */ - public function getJson($uri, array $headers = []) - { - return $this->json('GET', $uri, [], $headers); - } - - /** - * Visit the given URI with a POST request. - * - * @param string $uri - * @param array $data - * @param array $headers - * @return \Illuminate\Foundation\Testing\TestResponse - */ - public function post($uri, array $data = [], array $headers = []) - { - $server = $this->transformHeadersToServerVars($headers); - - return $this->call('POST', $uri, $data, [], [], $server); - } - - /** - * Visit the given URI with a POST request, expecting a JSON response. - * - * @param string $uri - * @param array $data - * @param array $headers - * @return \Illuminate\Foundation\Testing\TestResponse - */ - public function postJson($uri, array $data = [], array $headers = []) - { - return $this->json('POST', $uri, $data, $headers); - } - - /** - * Visit the given URI with a PUT request. - * - * @param string $uri - * @param array $data - * @param array $headers - * @return \Illuminate\Foundation\Testing\TestResponse - */ - public function put($uri, array $data = [], array $headers = []) - { - $server = $this->transformHeadersToServerVars($headers); - - return $this->call('PUT', $uri, $data, [], [], $server); - } - - /** - * Visit the given URI with a PUT request, expecting a JSON response. - * - * @param string $uri - * @param array $data - * @param array $headers - * @return \Illuminate\Foundation\Testing\TestResponse - */ - public function putJson($uri, array $data = [], array $headers = []) - { - return $this->json('PUT', $uri, $data, $headers); - } - - /** - * Visit the given URI with a PATCH request. - * - * @param string $uri - * @param array $data - * @param array $headers - * @return \Illuminate\Foundation\Testing\TestResponse - */ - public function patch($uri, array $data = [], array $headers = []) - { - $server = $this->transformHeadersToServerVars($headers); - - return $this->call('PATCH', $uri, $data, [], [], $server); - } - - /** - * Visit the given URI with a PATCH request, expecting a JSON response. - * - * @param string $uri - * @param array $data - * @param array $headers - * @return \Illuminate\Foundation\Testing\TestResponse - */ - public function patchJson($uri, array $data = [], array $headers = []) - { - return $this->json('PATCH', $uri, $data, $headers); - } - - /** - * Visit the given URI with a DELETE request. - * - * @param string $uri - * @param array $data - * @param array $headers - * @return \Illuminate\Foundation\Testing\TestResponse - */ - public function delete($uri, array $data = [], array $headers = []) - { - $server = $this->transformHeadersToServerVars($headers); - - return $this->call('DELETE', $uri, $data, [], [], $server); - } - - /** - * Visit the given URI with a DELETE request, expecting a JSON response. - * - * @param string $uri - * @param array $data - * @param array $headers - * @return \Illuminate\Foundation\Testing\TestResponse - */ - public function deleteJson($uri, array $data = [], array $headers = []) - { - return $this->json('DELETE', $uri, $data, $headers); - } - - /** - * Visit the given URI with a OPTION request. - * - * @param string $uri - * @param array $data - * @param array $headers - * @return \Illuminate\Foundation\Testing\TestResponse - */ - public function option($uri, array $data = [], array $headers = []) - { - $server = $this->transformHeadersToServerVars($headers); - - return $this->call('OPTION', $uri, $data, [], [], $server); - } - - /** - * Visit the given URI with a OPTION request, expecting a JSON response. - * - * @param string $uri - * @param array $data - * @param array $headers - * @return \Illuminate\Foundation\Testing\TestResponse - */ - public function optionJson($uri, array $data = [], array $headers = []) - { - return $this->json('OPTION', $uri, $data, $headers); - } - - /** - * Call the given URI with a JSON request. - * - * @param string $method - * @param string $uri - * @param array $data - * @param array $headers - * @return \Illuminate\Foundation\Testing\TestResponse - */ - public function json($method, $uri, array $data = [], array $headers = []) - { - $files = $this->extractFilesFromDataArray($data); - - $content = json_encode($data); - - $headers = array_merge([ - 'CONTENT_LENGTH' => mb_strlen($content, '8bit'), - 'CONTENT_TYPE' => 'application/json', - 'Accept' => 'application/json', - ], $headers); - - return $this->call( - $method, $uri, [], [], $files, $this->transformHeadersToServerVars($headers), $content - ); - } - - /** - * Call the given URI and return the Response. - * - * @param string $method - * @param string $uri - * @param array $parameters - * @param array $cookies - * @param array $files - * @param array $server - * @param string|null $content - * @return \Illuminate\Foundation\Testing\TestResponse - */ - public function call($method, $uri, $parameters = [], $cookies = [], $files = [], $server = [], $content = null) - { - $kernel = $this->app->make(HttpKernel::class); - - $files = array_merge($files, $this->extractFilesFromDataArray($parameters)); - - $symfonyRequest = SymfonyRequest::create( - $this->prepareUrlForRequest($uri), $method, $parameters, - $cookies, $files, array_replace($this->serverVariables, $server), $content - ); - - $response = $kernel->handle( - $request = Request::createFromBase($symfonyRequest) - ); - - if ($this->followRedirects) { - $response = $this->followRedirects($response); - } - - $kernel->terminate($request, $response); - - return $this->createTestResponse($response); - } - - /** - * Turn the given URI into a fully qualified URL. - * - * @param string $uri - * @return string - */ - protected function prepareUrlForRequest($uri) - { - if (Str::startsWith($uri, '/')) { - $uri = substr($uri, 1); - } - - if (! Str::startsWith($uri, 'http')) { - $uri = config('app.url').'/'.$uri; - } - - return trim($uri, '/'); - } - - /** - * Transform headers array to array of $_SERVER vars with HTTP_* format. - * - * @param array $headers - * @return array - */ - protected function transformHeadersToServerVars(array $headers) - { - return collect(array_merge($this->defaultHeaders, $headers))->mapWithKeys(function ($value, $name) { - $name = strtr(strtoupper($name), '-', '_'); - - return [$this->formatServerHeaderKey($name) => $value]; - })->all(); - } - - /** - * Format the header name for the server array. - * - * @param string $name - * @return string - */ - protected function formatServerHeaderKey($name) - { - if (! Str::startsWith($name, 'HTTP_') && $name !== 'CONTENT_TYPE' && $name !== 'REMOTE_ADDR') { - return 'HTTP_'.$name; - } - - return $name; - } - - /** - * Extract the file uploads from the given data array. - * - * @param array $data - * @return array - */ - protected function extractFilesFromDataArray(&$data) - { - $files = []; - - foreach ($data as $key => $value) { - if ($value instanceof SymfonyUploadedFile) { - $files[$key] = $value; - - unset($data[$key]); - } - - if (is_array($value)) { - $files[$key] = $this->extractFilesFromDataArray($value); - - $data[$key] = $value; - } - } - - return $files; - } - - /** - * Follow a redirect chain until a non-redirect is received. - * - * @param \Illuminate\Http\Response $response - * @return \Illuminate\Http\Response|\Illuminate\Foundation\Testing\TestResponse - */ - protected function followRedirects($response) - { - while ($response->isRedirect()) { - $response = $this->get($response->headers->get('Location')); - } - - $this->followRedirects = false; - - return $response; - } - - /** - * Create the test response instance from the given response. - * - * @param \Illuminate\Http\Response $response - * @return \Illuminate\Foundation\Testing\TestResponse - */ - protected function createTestResponse($response) - { - return TestResponse::fromBaseResponse($response); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Testing/Concerns/MocksApplicationServices.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Testing/Concerns/MocksApplicationServices.php deleted file mode 100644 index 0dd37f7..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Testing/Concerns/MocksApplicationServices.php +++ /dev/null @@ -1,283 +0,0 @@ -withoutEvents(); - - $this->beforeApplicationDestroyed(function () use ($events) { - $fired = $this->getFiredEvents($events); - - $this->assertEmpty( - $eventsNotFired = array_diff($events, $fired), - 'These expected events were not fired: ['.implode(', ', $eventsNotFired).']' - ); - }); - - return $this; - } - - /** - * Specify a list of events that should not be fired for the given operation. - * - * These events will be mocked, so that handlers will not actually be executed. - * - * @param array|string $events - * @return $this - */ - public function doesntExpectEvents($events) - { - $events = is_array($events) ? $events : func_get_args(); - - $this->withoutEvents(); - - $this->beforeApplicationDestroyed(function () use ($events) { - $this->assertEmpty( - $fired = $this->getFiredEvents($events), - 'These unexpected events were fired: ['.implode(', ', $fired).']' - ); - }); - - return $this; - } - - /** - * Mock the event dispatcher so all events are silenced and collected. - * - * @return $this - */ - protected function withoutEvents() - { - $mock = Mockery::mock(EventsDispatcherContract::class)->shouldIgnoreMissing(); - - $mock->shouldReceive('dispatch', 'until')->andReturnUsing(function ($called) { - $this->firedEvents[] = $called; - }); - - $this->app->instance('events', $mock); - - return $this; - } - - /** - * Filter the given events against the fired events. - * - * @param array $events - * @return array - */ - protected function getFiredEvents(array $events) - { - return $this->getDispatched($events, $this->firedEvents); - } - - /** - * Specify a list of jobs that should be dispatched for the given operation. - * - * These jobs will be mocked, so that handlers will not actually be executed. - * - * @param array|string $jobs - * @return $this - */ - protected function expectsJobs($jobs) - { - $jobs = is_array($jobs) ? $jobs : func_get_args(); - - $this->withoutJobs(); - - $this->beforeApplicationDestroyed(function () use ($jobs) { - $dispatched = $this->getDispatchedJobs($jobs); - - $this->assertEmpty( - $jobsNotDispatched = array_diff($jobs, $dispatched), - 'These expected jobs were not dispatched: ['.implode(', ', $jobsNotDispatched).']' - ); - }); - - return $this; - } - - /** - * Specify a list of jobs that should not be dispatched for the given operation. - * - * These jobs will be mocked, so that handlers will not actually be executed. - * - * @param array|string $jobs - * @return $this - */ - protected function doesntExpectJobs($jobs) - { - $jobs = is_array($jobs) ? $jobs : func_get_args(); - - $this->withoutJobs(); - - $this->beforeApplicationDestroyed(function () use ($jobs) { - $this->assertEmpty( - $dispatched = $this->getDispatchedJobs($jobs), - 'These unexpected jobs were dispatched: ['.implode(', ', $dispatched).']' - ); - }); - - return $this; - } - - /** - * Mock the job dispatcher so all jobs are silenced and collected. - * - * @return $this - */ - protected function withoutJobs() - { - $mock = Mockery::mock(BusDispatcherContract::class)->shouldIgnoreMissing(); - - $mock->shouldReceive('dispatch', 'dispatchNow')->andReturnUsing(function ($dispatched) { - $this->dispatchedJobs[] = $dispatched; - }); - - $this->app->instance( - BusDispatcherContract::class, $mock - ); - - return $this; - } - - /** - * Filter the given jobs against the dispatched jobs. - * - * @param array $jobs - * @return array - */ - protected function getDispatchedJobs(array $jobs) - { - return $this->getDispatched($jobs, $this->dispatchedJobs); - } - - /** - * Filter the given classes against an array of dispatched classes. - * - * @param array $classes - * @param array $dispatched - * @return array - */ - protected function getDispatched(array $classes, array $dispatched) - { - return array_filter($classes, function ($class) use ($dispatched) { - return $this->wasDispatched($class, $dispatched); - }); - } - - /** - * Check if the given class exists in an array of dispatched classes. - * - * @param string $needle - * @param array $haystack - * @return bool - */ - protected function wasDispatched($needle, array $haystack) - { - foreach ($haystack as $dispatched) { - if ((is_string($dispatched) && ($dispatched === $needle || is_subclass_of($dispatched, $needle))) || - $dispatched instanceof $needle) { - return true; - } - } - - return false; - } - - /** - * Mock the notification dispatcher so all notifications are silenced. - * - * @return $this - */ - protected function withoutNotifications() - { - $mock = Mockery::mock(NotificationDispatcher::class); - - $mock->shouldReceive('send')->andReturnUsing(function ($notifiable, $instance, $channels = []) { - $this->dispatchedNotifications[] = compact( - 'notifiable', 'instance', 'channels' - ); - }); - - $this->app->instance(NotificationDispatcher::class, $mock); - - return $this; - } - - /** - * Specify a notification that is expected to be dispatched. - * - * @param mixed $notifiable - * @param string $notification - * @return $this - */ - protected function expectsNotification($notifiable, $notification) - { - $this->withoutNotifications(); - - $this->beforeApplicationDestroyed(function () use ($notifiable, $notification) { - foreach ($this->dispatchedNotifications as $dispatched) { - $notified = $dispatched['notifiable']; - - if (($notified === $notifiable || - $notified->getKey() == $notifiable->getKey()) && - get_class($dispatched['instance']) === $notification - ) { - return $this; - } - } - - $this->fail('The following expected notification were not dispatched: ['.$notification.']'); - }); - - return $this; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Testing/Constraints/HasInDatabase.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Testing/Constraints/HasInDatabase.php deleted file mode 100644 index b88f342..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Testing/Constraints/HasInDatabase.php +++ /dev/null @@ -1,103 +0,0 @@ -data = $data; - - $this->database = $database; - } - - /** - * Check if the data is found in the given table. - * - * @param string $table - * @return bool - */ - public function matches($table): bool - { - return $this->database->table($table)->where($this->data)->count() > 0; - } - - /** - * Get the description of the failure. - * - * @param string $table - * @return string - */ - public function failureDescription($table): string - { - return sprintf( - "a row in the table [%s] matches the attributes %s.\n\n%s", - $table, $this->toString(JSON_PRETTY_PRINT), $this->getAdditionalInfo($table) - ); - } - - /** - * Get additional info about the records found in the database table. - * - * @param string $table - * @return string - */ - protected function getAdditionalInfo($table) - { - $results = $this->database->table($table)->get(); - - if ($results->isEmpty()) { - return 'The table is empty'; - } - - $description = 'Found: '.json_encode($results->take($this->show), JSON_PRETTY_PRINT); - - if ($results->count() > $this->show) { - $description .= sprintf(' and %s others', $results->count() - $this->show); - } - - return $description; - } - - /** - * Get a string representation of the object. - * - * @param int $options - * @return string - */ - public function toString($options = 0): string - { - return json_encode($this->data, $options); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Testing/Constraints/SeeInOrder.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Testing/Constraints/SeeInOrder.php deleted file mode 100644 index 8c0cb18..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Testing/Constraints/SeeInOrder.php +++ /dev/null @@ -1,88 +0,0 @@ -content = $content; - } - - /** - * Determine if the rule passes validation. - * - * @param array $values - * @return bool - */ - public function matches($values) : bool - { - $position = 0; - - foreach ($values as $value) { - if (empty($value)) { - continue; - } - - $valuePosition = mb_strpos($this->content, $value, $position); - - if ($valuePosition === false || $valuePosition < $position) { - $this->failedValue = $value; - - return false; - } - - $position = $valuePosition + mb_strlen($value); - } - - return true; - } - - /** - * Get the description of the failure. - * - * @param array $values - * @return string - */ - public function failureDescription($values) : string - { - return sprintf( - 'Failed asserting that \'%s\' contains "%s" in specified order.', - $this->content, - $this->failedValue - ); - } - - /** - * Get a string representation of the object. - * - * @return string - */ - public function toString() : string - { - return (new ReflectionClass($this))->name; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Testing/Constraints/SoftDeletedInDatabase.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Testing/Constraints/SoftDeletedInDatabase.php deleted file mode 100644 index abab48c..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Testing/Constraints/SoftDeletedInDatabase.php +++ /dev/null @@ -1,103 +0,0 @@ -data = $data; - - $this->database = $database; - } - - /** - * Check if the data is found in the given table. - * - * @param string $table - * @return bool - */ - public function matches($table): bool - { - return $this->database->table($table) - ->where($this->data)->whereNotNull('deleted_at')->count() > 0; - } - - /** - * Get the description of the failure. - * - * @param string $table - * @return string - */ - public function failureDescription($table): string - { - return sprintf( - "any soft deleted row in the table [%s] matches the attributes %s.\n\n%s", - $table, $this->toString(), $this->getAdditionalInfo($table) - ); - } - - /** - * Get additional info about the records found in the database table. - * - * @param string $table - * @return string - */ - protected function getAdditionalInfo($table) - { - $results = $this->database->table($table)->get(); - - if ($results->isEmpty()) { - return 'The table is empty'; - } - - $description = 'Found: '.json_encode($results->take($this->show), JSON_PRETTY_PRINT); - - if ($results->count() > $this->show) { - $description .= sprintf(' and %s others', $results->count() - $this->show); - } - - return $description; - } - - /** - * Get a string representation of the object. - * - * @return string - */ - public function toString(): string - { - return json_encode($this->data); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Testing/DatabaseMigrations.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Testing/DatabaseMigrations.php deleted file mode 100644 index 889a453..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Testing/DatabaseMigrations.php +++ /dev/null @@ -1,26 +0,0 @@ -artisan('migrate:fresh'); - - $this->app[Kernel::class]->setArtisan(null); - - $this->beforeApplicationDestroyed(function () { - $this->artisan('migrate:rollback'); - - RefreshDatabaseState::$migrated = false; - }); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Testing/DatabaseTransactions.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Testing/DatabaseTransactions.php deleted file mode 100644 index 9870153..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Testing/DatabaseTransactions.php +++ /dev/null @@ -1,40 +0,0 @@ -app->make('db'); - - foreach ($this->connectionsToTransact() as $name) { - $database->connection($name)->beginTransaction(); - } - - $this->beforeApplicationDestroyed(function () use ($database) { - foreach ($this->connectionsToTransact() as $name) { - $connection = $database->connection($name); - - $connection->rollBack(); - $connection->disconnect(); - } - }); - } - - /** - * The database connections that should have transactions. - * - * @return array - */ - protected function connectionsToTransact() - { - return property_exists($this, 'connectionsToTransact') - ? $this->connectionsToTransact : [null]; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Testing/PendingCommand.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Testing/PendingCommand.php deleted file mode 100644 index 379eba1..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Testing/PendingCommand.php +++ /dev/null @@ -1,222 +0,0 @@ -app = $app; - $this->test = $test; - $this->command = $command; - $this->parameters = $parameters; - } - - /** - * Specify a question that should be asked when the command runs. - * - * @param string $question - * @param string $answer - * @return $this - */ - public function expectsQuestion($question, $answer) - { - $this->test->expectedQuestions[] = [$question, $answer]; - - return $this; - } - - /** - * Specify output that should be printed when the command runs. - * - * @param string $output - * @return $this - */ - public function expectsOutput($output) - { - $this->test->expectedOutput[] = $output; - - return $this; - } - - /** - * Assert that the command has the given exit code. - * - * @param int $exitCode - * @return $this - */ - public function assertExitCode($exitCode) - { - $this->expectedExitCode = $exitCode; - - return $this; - } - - /** - * Execute the command. - * - * @return int - */ - public function execute() - { - return $this->run(); - } - - /** - * Execute the command. - * - * @return int - */ - public function run() - { - $this->hasExecuted = true; - - $this->mockConsoleOutput(); - - try { - $exitCode = $this->app[Kernel::class]->call($this->command, $this->parameters); - } catch (NoMatchingExpectationException $e) { - if ($e->getMethodName() === 'askQuestion') { - $this->test->fail('Unexpected question "'.$e->getActualArguments()[0]->getQuestion().'" was asked.'); - } - - throw $e; - } - - if ($this->expectedExitCode !== null) { - $this->test->assertEquals( - $this->expectedExitCode, $exitCode, - "Expected status code {$this->expectedExitCode} but received {$exitCode}." - ); - } - - return $exitCode; - } - - /** - * Mock the application's console output. - * - * @return void - */ - protected function mockConsoleOutput() - { - $mock = Mockery::mock(OutputStyle::class.'[askQuestion]', [ - (new ArrayInput($this->parameters)), $this->createABufferedOutputMock(), - ]); - - foreach ($this->test->expectedQuestions as $i => $question) { - $mock->shouldReceive('askQuestion') - ->once() - ->ordered() - ->with(Mockery::on(function ($argument) use ($question) { - return $argument->getQuestion() == $question[0]; - })) - ->andReturnUsing(function () use ($question, $i) { - unset($this->test->expectedQuestions[$i]); - - return $question[1]; - }); - } - - $this->app->bind(OutputStyle::class, function () use ($mock) { - return $mock; - }); - } - - /** - * Create a mock for the buffered output. - * - * @return \Mockery\MockInterface - */ - private function createABufferedOutputMock() - { - $mock = Mockery::mock(BufferedOutput::class.'[doWrite]') - ->shouldAllowMockingProtectedMethods() - ->shouldIgnoreMissing(); - - foreach ($this->test->expectedOutput as $i => $output) { - $mock->shouldReceive('doWrite') - ->once() - ->ordered() - ->with($output, Mockery::any()) - ->andReturnUsing(function () use ($i) { - unset($this->test->expectedOutput[$i]); - }); - } - - return $mock; - } - - /** - * Handle the object's destruction. - * - * @return void - */ - public function __destruct() - { - if ($this->hasExecuted) { - return; - } - - $this->run(); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Testing/RefreshDatabase.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Testing/RefreshDatabase.php deleted file mode 100644 index e968ad9..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Testing/RefreshDatabase.php +++ /dev/null @@ -1,129 +0,0 @@ -usingInMemoryDatabase() - ? $this->refreshInMemoryDatabase() - : $this->refreshTestDatabase(); - } - - /** - * Determine if an in-memory database is being used. - * - * @return bool - */ - protected function usingInMemoryDatabase() - { - $default = config('database.default'); - - return config("database.connections.$default.database") === ':memory:'; - } - - /** - * Refresh the in-memory database. - * - * @return void - */ - protected function refreshInMemoryDatabase() - { - $this->artisan('migrate'); - - $this->app[Kernel::class]->setArtisan(null); - } - - /** - * Refresh a conventional test database. - * - * @return void - */ - protected function refreshTestDatabase() - { - if (! RefreshDatabaseState::$migrated) { - $this->artisan('migrate:fresh', [ - '--drop-views' => $this->shouldDropViews(), - '--drop-types' => $this->shouldDropTypes(), - ]); - - $this->app[Kernel::class]->setArtisan(null); - - RefreshDatabaseState::$migrated = true; - } - - $this->beginDatabaseTransaction(); - } - - /** - * Begin a database transaction on the testing database. - * - * @return void - */ - public function beginDatabaseTransaction() - { - $database = $this->app->make('db'); - - foreach ($this->connectionsToTransact() as $name) { - $connection = $database->connection($name); - $dispatcher = $connection->getEventDispatcher(); - - $connection->unsetEventDispatcher(); - $connection->beginTransaction(); - $connection->setEventDispatcher($dispatcher); - } - - $this->beforeApplicationDestroyed(function () use ($database) { - foreach ($this->connectionsToTransact() as $name) { - $connection = $database->connection($name); - $dispatcher = $connection->getEventDispatcher(); - - $connection->unsetEventDispatcher(); - $connection->rollback(); - $connection->setEventDispatcher($dispatcher); - $connection->disconnect(); - } - }); - } - - /** - * The database connections that should have transactions. - * - * @return array - */ - protected function connectionsToTransact() - { - return property_exists($this, 'connectionsToTransact') - ? $this->connectionsToTransact : [null]; - } - - /** - * Determine if views should be dropped when refreshing the database. - * - * @return bool - */ - protected function shouldDropViews() - { - return property_exists($this, 'dropViews') - ? $this->dropViews : false; - } - - /** - * Determine if types should be dropped when refreshing the database. - * - * @return bool - */ - protected function shouldDropTypes() - { - return property_exists($this, 'dropTypes') - ? $this->dropTypes : false; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Testing/RefreshDatabaseState.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Testing/RefreshDatabaseState.php deleted file mode 100644 index 1f33087..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Testing/RefreshDatabaseState.php +++ /dev/null @@ -1,13 +0,0 @@ -app) { - $this->refreshApplication(); - } - - $this->setUpTraits(); - - foreach ($this->afterApplicationCreatedCallbacks as $callback) { - call_user_func($callback); - } - - Facade::clearResolvedInstances(); - - Model::setEventDispatcher($this->app['events']); - - $this->setUpHasRun = true; - } - - /** - * Refresh the application instance. - * - * @return void - */ - protected function refreshApplication() - { - $this->app = $this->createApplication(); - } - - /** - * Boot the testing helper traits. - * - * @return array - */ - protected function setUpTraits() - { - $uses = array_flip(class_uses_recursive(static::class)); - - if (isset($uses[RefreshDatabase::class])) { - $this->refreshDatabase(); - } - - if (isset($uses[DatabaseMigrations::class])) { - $this->runDatabaseMigrations(); - } - - if (isset($uses[DatabaseTransactions::class])) { - $this->beginDatabaseTransaction(); - } - - if (isset($uses[WithoutMiddleware::class])) { - $this->disableMiddlewareForAllTests(); - } - - if (isset($uses[WithoutEvents::class])) { - $this->disableEventsForAllTests(); - } - - if (isset($uses[WithFaker::class])) { - $this->setUpFaker(); - } - - return $uses; - } - - /** - * Clean up the testing environment before the next test. - * - * @return void - */ - protected function tearDown(): void - { - if ($this->app) { - $this->callBeforeApplicationDestroyedCallbacks(); - - $this->app->flush(); - - $this->app = null; - } - - $this->setUpHasRun = false; - - if (property_exists($this, 'serverVariables')) { - $this->serverVariables = []; - } - - if (property_exists($this, 'defaultHeaders')) { - $this->defaultHeaders = []; - } - - if (class_exists('Mockery')) { - if ($container = Mockery::getContainer()) { - $this->addToAssertionCount($container->mockery_getExpectationCount()); - } - - try { - Mockery::close(); - } catch (InvalidCountException $e) { - if (! Str::contains($e->getMethodName(), ['doWrite', 'askQuestion'])) { - throw $e; - } - } - } - - if (class_exists(Carbon::class)) { - Carbon::setTestNow(); - } - - if (class_exists(CarbonImmutable::class)) { - CarbonImmutable::setTestNow(); - } - - $this->afterApplicationCreatedCallbacks = []; - $this->beforeApplicationDestroyedCallbacks = []; - - Artisan::forgetBootstrappers(); - - if ($this->callbackException) { - throw $this->callbackException; - } - } - - /** - * Register a callback to be run after the application is created. - * - * @param callable $callback - * @return void - */ - public function afterApplicationCreated(callable $callback) - { - $this->afterApplicationCreatedCallbacks[] = $callback; - - if ($this->setUpHasRun) { - call_user_func($callback); - } - } - - /** - * Register a callback to be run before the application is destroyed. - * - * @param callable $callback - * @return void - */ - protected function beforeApplicationDestroyed(callable $callback) - { - $this->beforeApplicationDestroyedCallbacks[] = $callback; - } - - /** - * Execute the application's pre-destruction callbacks. - * - * @return void - */ - protected function callBeforeApplicationDestroyedCallbacks() - { - foreach ($this->beforeApplicationDestroyedCallbacks as $callback) { - try { - call_user_func($callback); - } catch (\Throwable $e) { - if (! $this->callbackException) { - $this->callbackException = $e; - } - } - } - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Testing/TestResponse.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Testing/TestResponse.php deleted file mode 100644 index 8a6a947..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Testing/TestResponse.php +++ /dev/null @@ -1,1175 +0,0 @@ -baseResponse = $response; - } - - /** - * Create a new TestResponse from another response. - * - * @param \Illuminate\Http\Response $response - * @return static - */ - public static function fromBaseResponse($response) - { - return new static($response); - } - - /** - * Assert that the response has a successful status code. - * - * @return $this - */ - public function assertSuccessful() - { - PHPUnit::assertTrue( - $this->isSuccessful(), - 'Response status code ['.$this->getStatusCode().'] is not a successful status code.' - ); - - return $this; - } - - /** - * Assert that the response has a 200 status code. - * - * @return $this - */ - public function assertOk() - { - PHPUnit::assertTrue( - $this->isOk(), - 'Response status code ['.$this->getStatusCode().'] does not match expected 200 status code.' - ); - - return $this; - } - - /** - * Assert that the response has a not found status code. - * - * @return $this - */ - public function assertNotFound() - { - PHPUnit::assertTrue( - $this->isNotFound(), - 'Response status code ['.$this->getStatusCode().'] is not a not found status code.' - ); - - return $this; - } - - /** - * Assert that the response has a forbidden status code. - * - * @return $this - */ - public function assertForbidden() - { - PHPUnit::assertTrue( - $this->isForbidden(), - 'Response status code ['.$this->getStatusCode().'] is not a forbidden status code.' - ); - - return $this; - } - - /** - * Assert that the response has an unauthorized status code. - * - * @return $this - */ - public function assertUnauthorized() - { - $actual = $this->getStatusCode(); - - PHPUnit::assertTrue( - 401 === $actual, - 'Response status code ['.$actual.'] is not an unauthorized status code.' - ); - - return $this; - } - - /** - * Assert that the response has the given status code. - * - * @param int $status - * @return $this - */ - public function assertStatus($status) - { - $actual = $this->getStatusCode(); - - PHPUnit::assertTrue( - $actual === $status, - "Expected status code {$status} but received {$actual}." - ); - - return $this; - } - - /** - * Assert whether the response is redirecting to a given URI. - * - * @param string|null $uri - * @return $this - */ - public function assertRedirect($uri = null) - { - PHPUnit::assertTrue( - $this->isRedirect(), 'Response status code ['.$this->getStatusCode().'] is not a redirect status code.' - ); - - if (! is_null($uri)) { - $this->assertLocation($uri); - } - - return $this; - } - - /** - * Asserts that the response contains the given header and equals the optional value. - * - * @param string $headerName - * @param mixed $value - * @return $this - */ - public function assertHeader($headerName, $value = null) - { - PHPUnit::assertTrue( - $this->headers->has($headerName), "Header [{$headerName}] not present on response." - ); - - $actual = $this->headers->get($headerName); - - if (! is_null($value)) { - PHPUnit::assertEquals( - $value, $this->headers->get($headerName), - "Header [{$headerName}] was found, but value [{$actual}] does not match [{$value}]." - ); - } - - return $this; - } - - /** - * Asserts that the response does not contains the given header. - * - * @param string $headerName - * @return $this - */ - public function assertHeaderMissing($headerName) - { - PHPUnit::assertFalse( - $this->headers->has($headerName), "Unexpected header [{$headerName}] is present on response." - ); - - return $this; - } - - /** - * Assert that the current location header matches the given URI. - * - * @param string $uri - * @return $this - */ - public function assertLocation($uri) - { - PHPUnit::assertEquals( - app('url')->to($uri), app('url')->to($this->headers->get('Location')) - ); - - return $this; - } - - /** - * Asserts that the response contains the given cookie and equals the optional value. - * - * @param string $cookieName - * @param mixed $value - * @return $this - */ - public function assertPlainCookie($cookieName, $value = null) - { - $this->assertCookie($cookieName, $value, false); - - return $this; - } - - /** - * Asserts that the response contains the given cookie and equals the optional value. - * - * @param string $cookieName - * @param mixed $value - * @param bool $encrypted - * @param bool $unserialize - * @return $this - */ - public function assertCookie($cookieName, $value = null, $encrypted = true, $unserialize = false) - { - PHPUnit::assertNotNull( - $cookie = $this->getCookie($cookieName), - "Cookie [{$cookieName}] not present on response." - ); - - if (! $cookie || is_null($value)) { - return $this; - } - - $cookieValue = $cookie->getValue(); - - $actual = $encrypted - ? app('encrypter')->decrypt($cookieValue, $unserialize) : $cookieValue; - - PHPUnit::assertEquals( - $value, $actual, - "Cookie [{$cookieName}] was found, but value [{$actual}] does not match [{$value}]." - ); - - return $this; - } - - /** - * Asserts that the response contains the given cookie and is expired. - * - * @param string $cookieName - * @return $this - */ - public function assertCookieExpired($cookieName) - { - PHPUnit::assertNotNull( - $cookie = $this->getCookie($cookieName), - "Cookie [{$cookieName}] not present on response." - ); - - $expiresAt = Carbon::createFromTimestamp($cookie->getExpiresTime()); - - PHPUnit::assertTrue( - $expiresAt->lessThan(Carbon::now()), - "Cookie [{$cookieName}] is not expired, it expires at [{$expiresAt}]." - ); - - return $this; - } - - /** - * Asserts that the response contains the given cookie and is not expired. - * - * @param string $cookieName - * @return $this - */ - public function assertCookieNotExpired($cookieName) - { - PHPUnit::assertNotNull( - $cookie = $this->getCookie($cookieName), - "Cookie [{$cookieName}] not present on response." - ); - - $expiresAt = Carbon::createFromTimestamp($cookie->getExpiresTime()); - - PHPUnit::assertTrue( - $expiresAt->greaterThan(Carbon::now()), - "Cookie [{$cookieName}] is expired, it expired at [{$expiresAt}]." - ); - - return $this; - } - - /** - * Asserts that the response does not contains the given cookie. - * - * @param string $cookieName - * @return $this - */ - public function assertCookieMissing($cookieName) - { - PHPUnit::assertNull( - $this->getCookie($cookieName), - "Cookie [{$cookieName}] is present on response." - ); - - return $this; - } - - /** - * Get the given cookie from the response. - * - * @param string $cookieName - * @return \Symfony\Component\HttpFoundation\Cookie|null - */ - protected function getCookie($cookieName) - { - foreach ($this->headers->getCookies() as $cookie) { - if ($cookie->getName() === $cookieName) { - return $cookie; - } - } - } - - /** - * Assert that the given string is contained within the response. - * - * @param string $value - * @return $this - */ - public function assertSee($value) - { - PHPUnit::assertStringContainsString((string) $value, $this->getContent()); - - return $this; - } - - /** - * Assert that the given strings are contained in order within the response. - * - * @param array $values - * @return $this - */ - public function assertSeeInOrder(array $values) - { - PHPUnit::assertThat($values, new SeeInOrder($this->getContent())); - - return $this; - } - - /** - * Assert that the given string is contained within the response text. - * - * @param string $value - * @return $this - */ - public function assertSeeText($value) - { - PHPUnit::assertStringContainsString((string) $value, strip_tags($this->getContent())); - - return $this; - } - - /** - * Assert that the given strings are contained in order within the response text. - * - * @param array $values - * @return $this - */ - public function assertSeeTextInOrder(array $values) - { - PHPUnit::assertThat($values, new SeeInOrder(strip_tags($this->getContent()))); - - return $this; - } - - /** - * Assert that the given string is not contained within the response. - * - * @param string $value - * @return $this - */ - public function assertDontSee($value) - { - PHPUnit::assertStringNotContainsString((string) $value, $this->getContent()); - - return $this; - } - - /** - * Assert that the given string is not contained within the response text. - * - * @param string $value - * @return $this - */ - public function assertDontSeeText($value) - { - PHPUnit::assertStringNotContainsString((string) $value, strip_tags($this->getContent())); - - return $this; - } - - /** - * Assert that the response is a superset of the given JSON. - * - * @param array $data - * @param bool $strict - * @return $this - */ - public function assertJson(array $data, $strict = false) - { - PHPUnit::assertArraySubset( - $data, $this->decodeResponseJson(), $strict, $this->assertJsonMessage($data) - ); - - return $this; - } - - /** - * Get the assertion message for assertJson. - * - * @param array $data - * @return string - */ - protected function assertJsonMessage(array $data) - { - $expected = json_encode($data, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES); - - $actual = json_encode($this->decodeResponseJson(), JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES); - - return 'Unable to find JSON: '.PHP_EOL.PHP_EOL. - "[{$expected}]".PHP_EOL.PHP_EOL. - 'within response JSON:'.PHP_EOL.PHP_EOL. - "[{$actual}].".PHP_EOL.PHP_EOL; - } - - /** - * Assert that the response has the exact given JSON. - * - * @param array $data - * @return $this - */ - public function assertExactJson(array $data) - { - $actual = json_encode(Arr::sortRecursive( - (array) $this->decodeResponseJson() - )); - - PHPUnit::assertEquals(json_encode(Arr::sortRecursive($data)), $actual); - - return $this; - } - - /** - * Assert that the response contains the given JSON fragment. - * - * @param array $data - * @return $this - */ - public function assertJsonFragment(array $data) - { - $actual = json_encode(Arr::sortRecursive( - (array) $this->decodeResponseJson() - )); - - foreach (Arr::sortRecursive($data) as $key => $value) { - $expected = $this->jsonSearchStrings($key, $value); - - PHPUnit::assertTrue( - Str::contains($actual, $expected), - 'Unable to find JSON fragment: '.PHP_EOL.PHP_EOL. - '['.json_encode([$key => $value]).']'.PHP_EOL.PHP_EOL. - 'within'.PHP_EOL.PHP_EOL. - "[{$actual}]." - ); - } - - return $this; - } - - /** - * Assert that the response does not contain the given JSON fragment. - * - * @param array $data - * @param bool $exact - * @return $this - */ - public function assertJsonMissing(array $data, $exact = false) - { - if ($exact) { - return $this->assertJsonMissingExact($data); - } - - $actual = json_encode(Arr::sortRecursive( - (array) $this->decodeResponseJson() - )); - - foreach (Arr::sortRecursive($data) as $key => $value) { - $unexpected = $this->jsonSearchStrings($key, $value); - - PHPUnit::assertFalse( - Str::contains($actual, $unexpected), - 'Found unexpected JSON fragment: '.PHP_EOL.PHP_EOL. - '['.json_encode([$key => $value]).']'.PHP_EOL.PHP_EOL. - 'within'.PHP_EOL.PHP_EOL. - "[{$actual}]." - ); - } - - return $this; - } - - /** - * Assert that the response does not contain the exact JSON fragment. - * - * @param array $data - * @return $this - */ - public function assertJsonMissingExact(array $data) - { - $actual = json_encode(Arr::sortRecursive( - (array) $this->decodeResponseJson() - )); - - foreach (Arr::sortRecursive($data) as $key => $value) { - $unexpected = $this->jsonSearchStrings($key, $value); - - if (! Str::contains($actual, $unexpected)) { - return $this; - } - } - - PHPUnit::fail( - 'Found unexpected JSON fragment: '.PHP_EOL.PHP_EOL. - '['.json_encode($data).']'.PHP_EOL.PHP_EOL. - 'within'.PHP_EOL.PHP_EOL. - "[{$actual}]." - ); - } - - /** - * Get the strings we need to search for when examining the JSON. - * - * @param string $key - * @param string $value - * @return array - */ - protected function jsonSearchStrings($key, $value) - { - $needle = substr(json_encode([$key => $value]), 1, -1); - - return [ - $needle.']', - $needle.'}', - $needle.',', - ]; - } - - /** - * Assert that the response has a given JSON structure. - * - * @param array|null $structure - * @param array|null $responseData - * @return $this - */ - public function assertJsonStructure(array $structure = null, $responseData = null) - { - if (is_null($structure)) { - return $this->assertExactJson($this->json()); - } - - if (is_null($responseData)) { - $responseData = $this->decodeResponseJson(); - } - - foreach ($structure as $key => $value) { - if (is_array($value) && $key === '*') { - PHPUnit::assertIsArray($responseData); - - foreach ($responseData as $responseDataItem) { - $this->assertJsonStructure($structure['*'], $responseDataItem); - } - } elseif (is_array($value)) { - PHPUnit::assertArrayHasKey($key, $responseData); - - $this->assertJsonStructure($structure[$key], $responseData[$key]); - } else { - PHPUnit::assertArrayHasKey($value, $responseData); - } - } - - return $this; - } - - /** - * Assert that the response JSON has the expected count of items at the given key. - * - * @param int $count - * @param string|null $key - * @return $this - */ - public function assertJsonCount(int $count, $key = null) - { - if ($key) { - PHPUnit::assertCount( - $count, data_get($this->json(), $key), - "Failed to assert that the response count matched the expected {$count}" - ); - - return $this; - } - - PHPUnit::assertCount($count, - $this->json(), - "Failed to assert that the response count matched the expected {$count}" - ); - - return $this; - } - - /** - * Assert that the response has the given JSON validation errors. - * - * @param string|array $errors - * @return $this - */ - public function assertJsonValidationErrors($errors) - { - $errors = Arr::wrap($errors); - - PHPUnit::assertNotEmpty($errors, 'No validation errors were provided.'); - - $jsonErrors = $this->json()['errors'] ?? []; - - $errorMessage = $jsonErrors - ? 'Response has the following JSON validation errors:'. - PHP_EOL.PHP_EOL.json_encode($jsonErrors, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE).PHP_EOL - : 'Response does not have JSON validation errors.'; - - foreach ($errors as $key => $value) { - PHPUnit::assertArrayHasKey( - (is_int($key)) ? $value : $key, - $jsonErrors, - "Failed to find a validation error in the response for key: '{$value}'".PHP_EOL.PHP_EOL.$errorMessage - ); - - if (! is_int($key)) { - $hasError = false; - - foreach (Arr::wrap($jsonErrors[$key]) as $jsonErrorMessage) { - if (Str::contains($jsonErrorMessage, $value)) { - $hasError = true; - - break; - } - } - - if (! $hasError) { - PHPUnit::fail( - "Failed to find a validation error in the response for key and message: '$key' => '$value'".PHP_EOL.PHP_EOL.$errorMessage - ); - } - } - } - - return $this; - } - - /** - * Assert that the response has no JSON validation errors for the given keys. - * - * @param string|array|null $keys - * @return $this - */ - public function assertJsonMissingValidationErrors($keys = null) - { - if ($this->getContent() === '') { - PHPUnit::assertTrue(true); - - return $this; - } - - $json = $this->json(); - - if (! array_key_exists('errors', $json)) { - PHPUnit::assertArrayNotHasKey('errors', $json); - - return $this; - } - - $errors = $json['errors']; - - if (is_null($keys) && count($errors) > 0) { - PHPUnit::fail( - 'Response has unexpected validation errors: '.PHP_EOL.PHP_EOL. - json_encode($errors, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE) - ); - } - - foreach (Arr::wrap($keys) as $key) { - PHPUnit::assertFalse( - isset($errors[$key]), - "Found unexpected validation error for key: '{$key}'" - ); - } - - return $this; - } - - /** - * Validate and return the decoded response JSON. - * - * @param string|null $key - * @return mixed - */ - public function decodeResponseJson($key = null) - { - $decodedResponse = json_decode($this->getContent(), true); - - if (is_null($decodedResponse) || $decodedResponse === false) { - if ($this->exception) { - throw $this->exception; - } else { - PHPUnit::fail('Invalid JSON was returned from the route.'); - } - } - - return data_get($decodedResponse, $key); - } - - /** - * Validate and return the decoded response JSON. - * - * @param string|null $key - * @return mixed - */ - public function json($key = null) - { - return $this->decodeResponseJson($key); - } - - /** - * Assert that the response view equals the given value. - * - * @param string $value - * @return $this - */ - public function assertViewIs($value) - { - $this->ensureResponseHasView(); - - PHPUnit::assertEquals($value, $this->original->name()); - - return $this; - } - - /** - * Assert that the response view has a given piece of bound data. - * - * @param string|array $key - * @param mixed $value - * @return $this - */ - public function assertViewHas($key, $value = null) - { - if (is_array($key)) { - return $this->assertViewHasAll($key); - } - - $this->ensureResponseHasView(); - - if (is_null($value)) { - PHPUnit::assertArrayHasKey($key, $this->original->gatherData()); - } elseif ($value instanceof Closure) { - PHPUnit::assertTrue($value($this->original->gatherData()[$key])); - } elseif ($value instanceof Model) { - PHPUnit::assertTrue($value->is($this->original->gatherData()[$key])); - } else { - PHPUnit::assertEquals($value, $this->original->gatherData()[$key]); - } - - return $this; - } - - /** - * Assert that the response view has a given list of bound data. - * - * @param array $bindings - * @return $this - */ - public function assertViewHasAll(array $bindings) - { - foreach ($bindings as $key => $value) { - if (is_int($key)) { - $this->assertViewHas($value); - } else { - $this->assertViewHas($key, $value); - } - } - - return $this; - } - - /** - * Get a piece of data from the original view. - * - * @param string $key - * @return mixed - */ - public function viewData($key) - { - $this->ensureResponseHasView(); - - return $this->original->gatherData()[$key]; - } - - /** - * Assert that the response view is missing a piece of bound data. - * - * @param string $key - * @return $this - */ - public function assertViewMissing($key) - { - $this->ensureResponseHasView(); - - PHPUnit::assertArrayNotHasKey($key, $this->original->gatherData()); - - return $this; - } - - /** - * Ensure that the response has a view as its original content. - * - * @return $this - */ - protected function ensureResponseHasView() - { - if (! isset($this->original) || ! $this->original instanceof View) { - return PHPUnit::fail('The response is not a view.'); - } - - return $this; - } - - /** - * Assert that the session has a given value. - * - * @param string|array $key - * @param mixed $value - * @return $this - */ - public function assertSessionHas($key, $value = null) - { - if (is_array($key)) { - return $this->assertSessionHasAll($key); - } - - if (is_null($value)) { - PHPUnit::assertTrue( - $this->session()->has($key), - "Session is missing expected key [{$key}]." - ); - } elseif ($value instanceof Closure) { - PHPUnit::assertTrue($value($this->session()->get($key))); - } else { - PHPUnit::assertEquals($value, $this->session()->get($key)); - } - - return $this; - } - - /** - * Assert that the session has a given list of values. - * - * @param array $bindings - * @return $this - */ - public function assertSessionHasAll(array $bindings) - { - foreach ($bindings as $key => $value) { - if (is_int($key)) { - $this->assertSessionHas($value); - } else { - $this->assertSessionHas($key, $value); - } - } - - return $this; - } - - /** - * Assert that the session has a given value in the flashed input array. - * - * @param string|array $key - * @param mixed $value - * @return $this - */ - public function assertSessionHasInput($key, $value = null) - { - if (is_array($key)) { - foreach ($key as $k => $v) { - if (is_int($k)) { - $this->assertSessionHasInput($v); - } else { - $this->assertSessionHasInput($k, $v); - } - } - - return $this; - } - - if (is_null($value)) { - PHPUnit::assertTrue( - $this->session()->getOldInput($key), - "Session is missing expected key [{$key}]." - ); - } elseif ($value instanceof Closure) { - PHPUnit::assertTrue($value($this->session()->getOldInput($key))); - } else { - PHPUnit::assertEquals($value, $this->session()->getOldInput($key)); - } - - return $this; - } - - /** - * Assert that the session has the given errors. - * - * @param string|array $keys - * @param mixed $format - * @param string $errorBag - * @return $this - */ - public function assertSessionHasErrors($keys = [], $format = null, $errorBag = 'default') - { - $this->assertSessionHas('errors'); - - $keys = (array) $keys; - - $errors = $this->session()->get('errors')->getBag($errorBag); - - foreach ($keys as $key => $value) { - if (is_int($key)) { - PHPUnit::assertTrue($errors->has($value), "Session missing error: $value"); - } else { - PHPUnit::assertContains($value, $errors->get($key, $format)); - } - } - - return $this; - } - - /** - * Assert that the session is missing the given errors. - * - * @param string|array $keys - * @param string|null $format - * @param string $errorBag - * @return $this - */ - public function assertSessionDoesntHaveErrors($keys = [], $format = null, $errorBag = 'default') - { - $keys = (array) $keys; - - if (empty($keys)) { - return $this->assertSessionHasNoErrors(); - } - - if (is_null($this->session()->get('errors'))) { - PHPUnit::assertTrue(true); - - return $this; - } - - $errors = $this->session()->get('errors')->getBag($errorBag); - - foreach ($keys as $key => $value) { - if (is_int($key)) { - PHPUnit::assertFalse($errors->has($value), "Session has unexpected error: $value"); - } else { - PHPUnit::assertNotContains($value, $errors->get($key, $format)); - } - } - - return $this; - } - - /** - * Assert that the session has no errors. - * - * @return $this - */ - public function assertSessionHasNoErrors() - { - $hasErrors = $this->session()->has('errors'); - - $errors = $hasErrors ? $this->session()->get('errors')->all() : []; - - PHPUnit::assertFalse( - $hasErrors, - 'Session has unexpected errors: '.PHP_EOL.PHP_EOL. - json_encode($errors, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE) - ); - - return $this; - } - - /** - * Assert that the session has the given errors. - * - * @param string $errorBag - * @param string|array $keys - * @param mixed $format - * @return $this - */ - public function assertSessionHasErrorsIn($errorBag, $keys = [], $format = null) - { - return $this->assertSessionHasErrors($keys, $format, $errorBag); - } - - /** - * Assert that the session does not have a given key. - * - * @param string|array $key - * @return $this - */ - public function assertSessionMissing($key) - { - if (is_array($key)) { - foreach ($key as $value) { - $this->assertSessionMissing($value); - } - } else { - PHPUnit::assertFalse( - $this->session()->has($key), - "Session has unexpected key [{$key}]." - ); - } - - return $this; - } - - /** - * Get the current session store. - * - * @return \Illuminate\Session\Store - */ - protected function session() - { - return app('session.store'); - } - - /** - * Dump the content from the response. - * - * @return $this - */ - public function dump() - { - $content = $this->getContent(); - - $json = json_decode($content); - - if (json_last_error() === JSON_ERROR_NONE) { - $content = $json; - } - - dump($content); - - return $this; - } - - /** - * Dump the headers from the response. - * - * @return $this - */ - public function dumpHeaders() - { - dump($this->headers->all()); - - return $this; - } - - /** - * Get the streamed content from the response. - * - * @return string - */ - public function streamedContent() - { - if (! is_null($this->streamedContent)) { - return $this->streamedContent; - } - - if (! $this->baseResponse instanceof StreamedResponse) { - PHPUnit::fail('The response is not a streamed response.'); - } - - ob_start(); - - $this->sendContent(); - - return $this->streamedContent = ob_get_clean(); - } - - /** - * Dynamically access base response parameters. - * - * @param string $key - * @return mixed - */ - public function __get($key) - { - return $this->baseResponse->{$key}; - } - - /** - * Proxy isset() checks to the underlying base response. - * - * @param string $key - * @return mixed - */ - public function __isset($key) - { - return isset($this->baseResponse->{$key}); - } - - /** - * Handle dynamic calls into macros or pass missing methods to the base response. - * - * @param string $method - * @param array $args - * @return mixed - */ - public function __call($method, $args) - { - if (static::hasMacro($method)) { - return $this->macroCall($method, $args); - } - - return $this->baseResponse->{$method}(...$args); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Testing/WithFaker.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Testing/WithFaker.php deleted file mode 100644 index f4fcfee..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Testing/WithFaker.php +++ /dev/null @@ -1,47 +0,0 @@ -faker = $this->makeFaker(); - } - - /** - * Get the default Faker instance for a given locale. - * - * @param string|null $locale - * @return \Faker\Generator - */ - protected function faker($locale = null) - { - return is_null($locale) ? $this->faker : $this->makeFaker($locale); - } - - /** - * Create a Faker instance for the given locale. - * - * @param string|null $locale - * @return \Faker\Generator - */ - protected function makeFaker($locale = null) - { - return Factory::create($locale ?? Factory::DEFAULT_LOCALE); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Testing/WithoutEvents.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Testing/WithoutEvents.php deleted file mode 100644 index fa5df3c..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Testing/WithoutEvents.php +++ /dev/null @@ -1,22 +0,0 @@ -withoutEvents(); - } else { - throw new Exception('Unable to disable events. ApplicationTrait not used.'); - } - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Testing/WithoutMiddleware.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Testing/WithoutMiddleware.php deleted file mode 100644 index 269b532..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Testing/WithoutMiddleware.php +++ /dev/null @@ -1,22 +0,0 @@ -withoutMiddleware(); - } else { - throw new Exception('Unable to disable middleware. MakesHttpRequests trait not used.'); - } - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Validation/ValidatesRequests.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Validation/ValidatesRequests.php deleted file mode 100644 index 89ab3d1..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/Validation/ValidatesRequests.php +++ /dev/null @@ -1,83 +0,0 @@ -getValidationFactory()->make($request->all(), $validator); - } - - return $validator->validate(); - } - - /** - * Validate the given request with the given rules. - * - * @param \Illuminate\Http\Request $request - * @param array $rules - * @param array $messages - * @param array $customAttributes - * @return array - * - * @throws \Illuminate\Validation\ValidationException - */ - public function validate(Request $request, array $rules, - array $messages = [], array $customAttributes = []) - { - return $this->getValidationFactory()->make( - $request->all(), $rules, $messages, $customAttributes - )->validate(); - } - - /** - * Validate the given request with the given rules. - * - * @param string $errorBag - * @param \Illuminate\Http\Request $request - * @param array $rules - * @param array $messages - * @param array $customAttributes - * @return array - * - * @throws \Illuminate\Validation\ValidationException - */ - public function validateWithBag($errorBag, Request $request, array $rules, - array $messages = [], array $customAttributes = []) - { - try { - return $this->validate($request, $rules, $messages, $customAttributes); - } catch (ValidationException $e) { - $e->errorBag = $errorBag; - - throw $e; - } - } - - /** - * Get a validation factory instance. - * - * @return \Illuminate\Contracts\Validation\Factory - */ - protected function getValidationFactory() - { - return app(Factory::class); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php deleted file mode 100644 index b5edd0a..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php +++ /dev/null @@ -1,973 +0,0 @@ -toResponse(request())); - } - - app()->abort($code, $message, $headers); - } -} - -if (! function_exists('abort_if')) { - /** - * Throw an HttpException with the given data if the given condition is true. - * - * @param bool $boolean - * @param int $code - * @param string $message - * @param array $headers - * @return void - * - * @throws \Symfony\Component\HttpKernel\Exception\HttpException - * @throws \Symfony\Component\HttpKernel\Exception\NotFoundHttpException - */ - function abort_if($boolean, $code, $message = '', array $headers = []) - { - if ($boolean) { - abort($code, $message, $headers); - } - } -} - -if (! function_exists('abort_unless')) { - /** - * Throw an HttpException with the given data unless the given condition is true. - * - * @param bool $boolean - * @param int $code - * @param string $message - * @param array $headers - * @return void - * - * @throws \Symfony\Component\HttpKernel\Exception\HttpException - * @throws \Symfony\Component\HttpKernel\Exception\NotFoundHttpException - */ - function abort_unless($boolean, $code, $message = '', array $headers = []) - { - if (! $boolean) { - abort($code, $message, $headers); - } - } -} - -if (! function_exists('action')) { - /** - * Generate the URL to a controller action. - * - * @param string|array $name - * @param mixed $parameters - * @param bool $absolute - * @return string - */ - function action($name, $parameters = [], $absolute = true) - { - return app('url')->action($name, $parameters, $absolute); - } -} - -if (! function_exists('app')) { - /** - * Get the available container instance. - * - * @param string|null $abstract - * @param array $parameters - * @return mixed|\Illuminate\Contracts\Foundation\Application - */ - function app($abstract = null, array $parameters = []) - { - if (is_null($abstract)) { - return Container::getInstance(); - } - - return Container::getInstance()->make($abstract, $parameters); - } -} - -if (! function_exists('app_path')) { - /** - * Get the path to the application folder. - * - * @param string $path - * @return string - */ - function app_path($path = '') - { - return app('path').($path ? DIRECTORY_SEPARATOR.$path : $path); - } -} - -if (! function_exists('asset')) { - /** - * Generate an asset path for the application. - * - * @param string $path - * @param bool|null $secure - * @return string - */ - function asset($path, $secure = null) - { - return app('url')->asset($path, $secure); - } -} - -if (! function_exists('auth')) { - /** - * Get the available auth instance. - * - * @param string|null $guard - * @return \Illuminate\Contracts\Auth\Factory|\Illuminate\Contracts\Auth\Guard|\Illuminate\Contracts\Auth\StatefulGuard - */ - function auth($guard = null) - { - if (is_null($guard)) { - return app(AuthFactory::class); - } - - return app(AuthFactory::class)->guard($guard); - } -} - -if (! function_exists('back')) { - /** - * Create a new redirect response to the previous location. - * - * @param int $status - * @param array $headers - * @param mixed $fallback - * @return \Illuminate\Http\RedirectResponse - */ - function back($status = 302, $headers = [], $fallback = false) - { - return app('redirect')->back($status, $headers, $fallback); - } -} - -if (! function_exists('base_path')) { - /** - * Get the path to the base of the install. - * - * @param string $path - * @return string - */ - function base_path($path = '') - { - return app()->basePath().($path ? DIRECTORY_SEPARATOR.$path : $path); - } -} - -if (! function_exists('bcrypt')) { - /** - * Hash the given value against the bcrypt algorithm. - * - * @param string $value - * @param array $options - * @return string - */ - function bcrypt($value, $options = []) - { - return app('hash')->driver('bcrypt')->make($value, $options); - } -} - -if (! function_exists('broadcast')) { - /** - * Begin broadcasting an event. - * - * @param mixed|null $event - * @return \Illuminate\Broadcasting\PendingBroadcast - */ - function broadcast($event = null) - { - return app(BroadcastFactory::class)->event($event); - } -} - -if (! function_exists('cache')) { - /** - * Get / set the specified cache value. - * - * If an array is passed, we'll assume you want to put to the cache. - * - * @param dynamic key|key,default|data,expiration|null - * @return mixed|\Illuminate\Cache\CacheManager - * - * @throws \Exception - */ - function cache() - { - $arguments = func_get_args(); - - if (empty($arguments)) { - return app('cache'); - } - - if (is_string($arguments[0])) { - return app('cache')->get(...$arguments); - } - - if (! is_array($arguments[0])) { - throw new Exception( - 'When setting a value in the cache, you must pass an array of key / value pairs.' - ); - } - - if (! isset($arguments[1])) { - throw new Exception( - 'You must specify an expiration time when setting a value in the cache.' - ); - } - - return app('cache')->put(key($arguments[0]), reset($arguments[0]), $arguments[1]); - } -} - -if (! function_exists('config')) { - /** - * Get / set the specified configuration value. - * - * If an array is passed as the key, we will assume you want to set an array of values. - * - * @param array|string|null $key - * @param mixed $default - * @return mixed|\Illuminate\Config\Repository - */ - function config($key = null, $default = null) - { - if (is_null($key)) { - return app('config'); - } - - if (is_array($key)) { - return app('config')->set($key); - } - - return app('config')->get($key, $default); - } -} - -if (! function_exists('config_path')) { - /** - * Get the configuration path. - * - * @param string $path - * @return string - */ - function config_path($path = '') - { - return app()->make('path.config').($path ? DIRECTORY_SEPARATOR.$path : $path); - } -} - -if (! function_exists('cookie')) { - /** - * Create a new cookie instance. - * - * @param string|null $name - * @param string|null $value - * @param int $minutes - * @param string|null $path - * @param string|null $domain - * @param bool $secure - * @param bool $httpOnly - * @param bool $raw - * @param string|null $sameSite - * @return \Illuminate\Cookie\CookieJar|\Symfony\Component\HttpFoundation\Cookie - */ - function cookie($name = null, $value = null, $minutes = 0, $path = null, $domain = null, $secure = false, $httpOnly = true, $raw = false, $sameSite = null) - { - $cookie = app(CookieFactory::class); - - if (is_null($name)) { - return $cookie; - } - - return $cookie->make($name, $value, $minutes, $path, $domain, $secure, $httpOnly, $raw, $sameSite); - } -} - -if (! function_exists('csrf_field')) { - /** - * Generate a CSRF token form field. - * - * @return \Illuminate\Support\HtmlString - */ - function csrf_field() - { - return new HtmlString(''); - } -} - -if (! function_exists('csrf_token')) { - /** - * Get the CSRF token value. - * - * @return string - * - * @throws \RuntimeException - */ - function csrf_token() - { - $session = app('session'); - - if (isset($session)) { - return $session->token(); - } - - throw new RuntimeException('Application session store not set.'); - } -} - -if (! function_exists('database_path')) { - /** - * Get the database path. - * - * @param string $path - * @return string - */ - function database_path($path = '') - { - return app()->databasePath($path); - } -} - -if (! function_exists('decrypt')) { - /** - * Decrypt the given value. - * - * @param string $value - * @param bool $unserialize - * @return mixed - */ - function decrypt($value, $unserialize = true) - { - return app('encrypter')->decrypt($value, $unserialize); - } -} - -if (! function_exists('dispatch')) { - /** - * Dispatch a job to its appropriate handler. - * - * @param mixed $job - * @return \Illuminate\Foundation\Bus\PendingDispatch - */ - function dispatch($job) - { - if ($job instanceof Closure) { - $job = new CallQueuedClosure(new SerializableClosure($job)); - } - - return new PendingDispatch($job); - } -} - -if (! function_exists('dispatch_now')) { - /** - * Dispatch a command to its appropriate handler in the current process. - * - * @param mixed $job - * @param mixed $handler - * @return mixed - */ - function dispatch_now($job, $handler = null) - { - return app(Dispatcher::class)->dispatchNow($job, $handler); - } -} - -if (! function_exists('elixir')) { - /** - * Get the path to a versioned Elixir file. - * - * @param string $file - * @param string $buildDirectory - * @return string - * - * @throws \InvalidArgumentException - */ - function elixir($file, $buildDirectory = 'build') - { - static $manifest = []; - static $manifestPath; - - if (empty($manifest) || $manifestPath !== $buildDirectory) { - $path = public_path($buildDirectory.'/rev-manifest.json'); - - if (file_exists($path)) { - $manifest = json_decode(file_get_contents($path), true); - $manifestPath = $buildDirectory; - } - } - - $file = ltrim($file, '/'); - - if (isset($manifest[$file])) { - return '/'.trim($buildDirectory.'/'.$manifest[$file], '/'); - } - - $unversioned = public_path($file); - - if (file_exists($unversioned)) { - return '/'.trim($file, '/'); - } - - throw new InvalidArgumentException("File {$file} not defined in asset manifest."); - } -} - -if (! function_exists('encrypt')) { - /** - * Encrypt the given value. - * - * @param mixed $value - * @param bool $serialize - * @return string - */ - function encrypt($value, $serialize = true) - { - return app('encrypter')->encrypt($value, $serialize); - } -} - -if (! function_exists('event')) { - /** - * Dispatch an event and call the listeners. - * - * @param string|object $event - * @param mixed $payload - * @param bool $halt - * @return array|null - */ - function event(...$args) - { - return app('events')->dispatch(...$args); - } -} - -if (! function_exists('factory')) { - /** - * Create a model factory builder for a given class, name, and amount. - * - * @param dynamic class|class,name|class,amount|class,name,amount - * @return \Illuminate\Database\Eloquent\FactoryBuilder - */ - function factory() - { - $factory = app(EloquentFactory::class); - - $arguments = func_get_args(); - - if (isset($arguments[1]) && is_string($arguments[1])) { - return $factory->of($arguments[0], $arguments[1])->times($arguments[2] ?? null); - } elseif (isset($arguments[1])) { - return $factory->of($arguments[0])->times($arguments[1]); - } - - return $factory->of($arguments[0]); - } -} - -if (! function_exists('info')) { - /** - * Write some information to the log. - * - * @param string $message - * @param array $context - * @return void - */ - function info($message, $context = []) - { - app('log')->info($message, $context); - } -} - -if (! function_exists('logger')) { - /** - * Log a debug message to the logs. - * - * @param string|null $message - * @param array $context - * @return \Illuminate\Log\LogManager|null - */ - function logger($message = null, array $context = []) - { - if (is_null($message)) { - return app('log'); - } - - return app('log')->debug($message, $context); - } -} - -if (! function_exists('logs')) { - /** - * Get a log driver instance. - * - * @param string|null $driver - * @return \Illuminate\Log\LogManager|\Psr\Log\LoggerInterface - */ - function logs($driver = null) - { - return $driver ? app('log')->driver($driver) : app('log'); - } -} - -if (! function_exists('method_field')) { - /** - * Generate a form field to spoof the HTTP verb used by forms. - * - * @param string $method - * @return \Illuminate\Support\HtmlString - */ - function method_field($method) - { - return new HtmlString(''); - } -} - -if (! function_exists('mix')) { - /** - * Get the path to a versioned Mix file. - * - * @param string $path - * @param string $manifestDirectory - * @return \Illuminate\Support\HtmlString|string - * - * @throws \Exception - */ - function mix($path, $manifestDirectory = '') - { - return app(Mix::class)(...func_get_args()); - } -} - -if (! function_exists('now')) { - /** - * Create a new Carbon instance for the current time. - * - * @param \DateTimeZone|string|null $tz - * @return \Illuminate\Support\Carbon - */ - function now($tz = null) - { - return Date::now($tz); - } -} - -if (! function_exists('old')) { - /** - * Retrieve an old input item. - * - * @param string|null $key - * @param mixed $default - * @return mixed - */ - function old($key = null, $default = null) - { - return app('request')->old($key, $default); - } -} - -if (! function_exists('policy')) { - /** - * Get a policy instance for a given class. - * - * @param object|string $class - * @return mixed - * - * @throws \InvalidArgumentException - */ - function policy($class) - { - return app(Gate::class)->getPolicyFor($class); - } -} - -if (! function_exists('public_path')) { - /** - * Get the path to the public folder. - * - * @param string $path - * @return string - */ - function public_path($path = '') - { - return app()->make('path.public').($path ? DIRECTORY_SEPARATOR.ltrim($path, DIRECTORY_SEPARATOR) : $path); - } -} - -if (! function_exists('redirect')) { - /** - * Get an instance of the redirector. - * - * @param string|null $to - * @param int $status - * @param array $headers - * @param bool|null $secure - * @return \Illuminate\Routing\Redirector|\Illuminate\Http\RedirectResponse - */ - function redirect($to = null, $status = 302, $headers = [], $secure = null) - { - if (is_null($to)) { - return app('redirect'); - } - - return app('redirect')->to($to, $status, $headers, $secure); - } -} - -if (! function_exists('report')) { - /** - * Report an exception. - * - * @param \Throwable $exception - * @return void - */ - function report($exception) - { - if ($exception instanceof Throwable && - ! $exception instanceof Exception) { - $exception = new FatalThrowableError($exception); - } - - app(ExceptionHandler::class)->report($exception); - } -} - -if (! function_exists('request')) { - /** - * Get an instance of the current request or an input item from the request. - * - * @param array|string|null $key - * @param mixed $default - * @return \Illuminate\Http\Request|string|array - */ - function request($key = null, $default = null) - { - if (is_null($key)) { - return app('request'); - } - - if (is_array($key)) { - return app('request')->only($key); - } - - $value = app('request')->__get($key); - - return is_null($value) ? value($default) : $value; - } -} - -if (! function_exists('rescue')) { - /** - * Catch a potential exception and return a default value. - * - * @param callable $callback - * @param mixed $rescue - * @param bool $report - * @return mixed - */ - function rescue(callable $callback, $rescue = null, $report = true) - { - try { - return $callback(); - } catch (Throwable $e) { - if ($report) { - report($e); - } - - return value($rescue); - } - } -} - -if (! function_exists('resolve')) { - /** - * Resolve a service from the container. - * - * @param string $name - * @param array $parameters - * @return mixed - */ - function resolve($name, array $parameters = []) - { - return app($name, $parameters); - } -} - -if (! function_exists('resource_path')) { - /** - * Get the path to the resources folder. - * - * @param string $path - * @return string - */ - function resource_path($path = '') - { - return app()->resourcePath($path); - } -} - -if (! function_exists('response')) { - /** - * Return a new response from the application. - * - * @param \Illuminate\View\View|string|array|null $content - * @param int $status - * @param array $headers - * @return \Illuminate\Http\Response|\Illuminate\Contracts\Routing\ResponseFactory - */ - function response($content = '', $status = 200, array $headers = []) - { - $factory = app(ResponseFactory::class); - - if (func_num_args() === 0) { - return $factory; - } - - return $factory->make($content, $status, $headers); - } -} - -if (! function_exists('route')) { - /** - * Generate the URL to a named route. - * - * @param array|string $name - * @param mixed $parameters - * @param bool $absolute - * @return string - */ - function route($name, $parameters = [], $absolute = true) - { - return app('url')->route($name, $parameters, $absolute); - } -} - -if (! function_exists('secure_asset')) { - /** - * Generate an asset path for the application. - * - * @param string $path - * @return string - */ - function secure_asset($path) - { - return asset($path, true); - } -} - -if (! function_exists('secure_url')) { - /** - * Generate a HTTPS url for the application. - * - * @param string $path - * @param mixed $parameters - * @return string - */ - function secure_url($path, $parameters = []) - { - return url($path, $parameters, true); - } -} - -if (! function_exists('session')) { - /** - * Get / set the specified session value. - * - * If an array is passed as the key, we will assume you want to set an array of values. - * - * @param array|string|null $key - * @param mixed $default - * @return mixed|\Illuminate\Session\Store|\Illuminate\Session\SessionManager - */ - function session($key = null, $default = null) - { - if (is_null($key)) { - return app('session'); - } - - if (is_array($key)) { - return app('session')->put($key); - } - - return app('session')->get($key, $default); - } -} - -if (! function_exists('storage_path')) { - /** - * Get the path to the storage folder. - * - * @param string $path - * @return string - */ - function storage_path($path = '') - { - return app('path.storage').($path ? DIRECTORY_SEPARATOR.$path : $path); - } -} - -if (! function_exists('today')) { - /** - * Create a new Carbon instance for the current date. - * - * @param \DateTimeZone|string|null $tz - * @return \Illuminate\Support\Carbon - */ - function today($tz = null) - { - return Date::today($tz); - } -} - -if (! function_exists('trans')) { - /** - * Translate the given message. - * - * @param string|null $key - * @param array $replace - * @param string|null $locale - * @return \Illuminate\Contracts\Translation\Translator|string|array|null - */ - function trans($key = null, $replace = [], $locale = null) - { - if (is_null($key)) { - return app('translator'); - } - - return app('translator')->trans($key, $replace, $locale); - } -} - -if (! function_exists('trans_choice')) { - /** - * Translates the given message based on a count. - * - * @param string $key - * @param int|array|\Countable $number - * @param array $replace - * @param string|null $locale - * @return string - */ - function trans_choice($key, $number, array $replace = [], $locale = null) - { - return app('translator')->transChoice($key, $number, $replace, $locale); - } -} - -if (! function_exists('__')) { - /** - * Translate the given message. - * - * @param string $key - * @param array $replace - * @param string|null $locale - * @return string|array|null - */ - function __($key, $replace = [], $locale = null) - { - return app('translator')->getFromJson($key, $replace, $locale); - } -} - -if (! function_exists('url')) { - /** - * Generate a url for the application. - * - * @param string $path - * @param mixed $parameters - * @param bool|null $secure - * @return \Illuminate\Contracts\Routing\UrlGenerator|string - */ - function url($path = null, $parameters = [], $secure = null) - { - if (is_null($path)) { - return app(UrlGenerator::class); - } - - return app(UrlGenerator::class)->to($path, $parameters, $secure); - } -} - -if (! function_exists('validator')) { - /** - * Create a new Validator instance. - * - * @param array $data - * @param array $rules - * @param array $messages - * @param array $customAttributes - * @return \Illuminate\Contracts\Validation\Validator|\Illuminate\Contracts\Validation\Factory - */ - function validator(array $data = [], array $rules = [], array $messages = [], array $customAttributes = []) - { - $factory = app(ValidationFactory::class); - - if (func_num_args() === 0) { - return $factory; - } - - return $factory->make($data, $rules, $messages, $customAttributes); - } -} - -if (! function_exists('view')) { - /** - * Get the evaluated view contents for the given view. - * - * @param string|null $view - * @param \Illuminate\Contracts\Support\Arrayable|array $data - * @param array $mergeData - * @return \Illuminate\View\View|\Illuminate\Contracts\View\Factory - */ - function view($view = null, $data = [], $mergeData = []) - { - $factory = app(ViewFactory::class); - - if (func_num_args() === 0) { - return $factory; - } - - return $factory->make($view, $data, $mergeData); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/stubs/facade.stub b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/stubs/facade.stub deleted file mode 100644 index aadbe74..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Foundation/stubs/facade.stub +++ /dev/null @@ -1,21 +0,0 @@ -verifyAlgorithm && $this->info($hashedValue)['algoName'] !== 'argon2id') { - throw new RuntimeException('This password does not use the Argon2id algorithm.'); - } - - if (strlen($hashedValue) === 0) { - return false; - } - - return password_verify($value, $hashedValue); - } - - /** - * Get the algorithm that should be used for hashing. - * - * @return int - */ - protected function algorithm() - { - return PASSWORD_ARGON2ID; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Hashing/ArgonHasher.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Hashing/ArgonHasher.php deleted file mode 100644 index 66b3930..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Hashing/ArgonHasher.php +++ /dev/null @@ -1,190 +0,0 @@ -time = $options['time'] ?? $this->time; - $this->memory = $options['memory'] ?? $this->memory; - $this->threads = $options['threads'] ?? $this->threads; - $this->verifyAlgorithm = $options['verify'] ?? $this->verifyAlgorithm; - } - - /** - * Hash the given value. - * - * @param string $value - * @param array $options - * @return string - * - * @throws \RuntimeException - */ - public function make($value, array $options = []) - { - $hash = password_hash($value, $this->algorithm(), [ - 'memory_cost' => $this->memory($options), - 'time_cost' => $this->time($options), - 'threads' => $this->threads($options), - ]); - - if ($hash === false) { - throw new RuntimeException('Argon2 hashing not supported.'); - } - - return $hash; - } - - /** - * Get the algorithm that should be used for hashing. - * - * @return int - */ - protected function algorithm() - { - return PASSWORD_ARGON2I; - } - - /** - * Check the given plain value against a hash. - * - * @param string $value - * @param string $hashedValue - * @param array $options - * @return bool - */ - public function check($value, $hashedValue, array $options = []) - { - if ($this->verifyAlgorithm && $this->info($hashedValue)['algoName'] !== 'argon2i') { - throw new RuntimeException('This password does not use the Argon2i algorithm.'); - } - - return parent::check($value, $hashedValue, $options); - } - - /** - * Check if the given hash has been hashed using the given options. - * - * @param string $hashedValue - * @param array $options - * @return bool - */ - public function needsRehash($hashedValue, array $options = []) - { - return password_needs_rehash($hashedValue, $this->algorithm(), [ - 'memory_cost' => $this->memory($options), - 'time_cost' => $this->time($options), - 'threads' => $this->threads($options), - ]); - } - - /** - * Set the default password memory factor. - * - * @param int $memory - * @return $this - */ - public function setMemory(int $memory) - { - $this->memory = $memory; - - return $this; - } - - /** - * Set the default password timing factor. - * - * @param int $time - * @return $this - */ - public function setTime(int $time) - { - $this->time = $time; - - return $this; - } - - /** - * Set the default password threads factor. - * - * @param int $threads - * @return $this - */ - public function setThreads(int $threads) - { - $this->threads = $threads; - - return $this; - } - - /** - * Extract the memory cost value from the options array. - * - * @param array $options - * @return int - */ - protected function memory(array $options) - { - return $options['memory'] ?? $this->memory; - } - - /** - * Extract the time cost value from the options array. - * - * @param array $options - * @return int - */ - protected function time(array $options) - { - return $options['time'] ?? $this->time; - } - - /** - * Extract the threads value from the options array. - * - * @param array $options - * @return int - */ - protected function threads(array $options) - { - return $options['threads'] ?? $this->threads; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Hashing/BcryptHasher.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Hashing/BcryptHasher.php deleted file mode 100644 index c853915..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Hashing/BcryptHasher.php +++ /dev/null @@ -1,114 +0,0 @@ -rounds = $options['rounds'] ?? $this->rounds; - $this->verifyAlgorithm = $options['verify'] ?? $this->verifyAlgorithm; - } - - /** - * Hash the given value. - * - * @param string $value - * @param array $options - * @return string - * - * @throws \RuntimeException - */ - public function make($value, array $options = []) - { - $hash = password_hash($value, PASSWORD_BCRYPT, [ - 'cost' => $this->cost($options), - ]); - - if ($hash === false) { - throw new RuntimeException('Bcrypt hashing not supported.'); - } - - return $hash; - } - - /** - * Check the given plain value against a hash. - * - * @param string $value - * @param string $hashedValue - * @param array $options - * @return bool - * - * @throws \RuntimeException - */ - public function check($value, $hashedValue, array $options = []) - { - if ($this->verifyAlgorithm && $this->info($hashedValue)['algoName'] !== 'bcrypt') { - throw new RuntimeException('This password does not use the Bcrypt algorithm.'); - } - - return parent::check($value, $hashedValue, $options); - } - - /** - * Check if the given hash has been hashed using the given options. - * - * @param string $hashedValue - * @param array $options - * @return bool - */ - public function needsRehash($hashedValue, array $options = []) - { - return password_needs_rehash($hashedValue, PASSWORD_BCRYPT, [ - 'cost' => $this->cost($options), - ]); - } - - /** - * Set the default password work factor. - * - * @param int $rounds - * @return $this - */ - public function setRounds($rounds) - { - $this->rounds = (int) $rounds; - - return $this; - } - - /** - * Extract the cost value from the options array. - * - * @param array $options - * @return int - */ - protected function cost(array $options = []) - { - return $options['rounds'] ?? $this->rounds; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Hashing/HashManager.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Hashing/HashManager.php deleted file mode 100644 index 4dbae34..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Hashing/HashManager.php +++ /dev/null @@ -1,97 +0,0 @@ -app['config']['hashing.bcrypt'] ?? []); - } - - /** - * Create an instance of the Argon2i hash Driver. - * - * @return \Illuminate\Hashing\ArgonHasher - */ - public function createArgonDriver() - { - return new ArgonHasher($this->app['config']['hashing.argon'] ?? []); - } - - /** - * Create an instance of the Argon2id hash Driver. - * - * @return \Illuminate\Hashing\Argon2IdHasher - */ - public function createArgon2idDriver() - { - return new Argon2IdHasher($this->app['config']['hashing.argon'] ?? []); - } - - /** - * Get information about the given hashed value. - * - * @param string $hashedValue - * @return array - */ - public function info($hashedValue) - { - return $this->driver()->info($hashedValue); - } - - /** - * Hash the given value. - * - * @param string $value - * @param array $options - * @return string - */ - public function make($value, array $options = []) - { - return $this->driver()->make($value, $options); - } - - /** - * Check the given plain value against a hash. - * - * @param string $value - * @param string $hashedValue - * @param array $options - * @return bool - */ - public function check($value, $hashedValue, array $options = []) - { - return $this->driver()->check($value, $hashedValue, $options); - } - - /** - * Check if the given hash has been hashed using the given options. - * - * @param string $hashedValue - * @param array $options - * @return bool - */ - public function needsRehash($hashedValue, array $options = []) - { - return $this->driver()->needsRehash($hashedValue, $options); - } - - /** - * Get the default driver name. - * - * @return string - */ - public function getDefaultDriver() - { - return $this->app['config']['hashing.driver'] ?? 'bcrypt'; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Hashing/HashServiceProvider.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Hashing/HashServiceProvider.php deleted file mode 100644 index 123b25f..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Hashing/HashServiceProvider.php +++ /dev/null @@ -1,35 +0,0 @@ -app->singleton('hash', function ($app) { - return new HashManager($app); - }); - - $this->app->singleton('hash.driver', function ($app) { - return $app['hash']->driver(); - }); - } - - /** - * Get the services provided by the provider. - * - * @return array - */ - public function provides() - { - return ['hash', 'hash.driver']; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Hashing/LICENSE.md b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Hashing/LICENSE.md deleted file mode 100644 index 79810c8..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Hashing/LICENSE.md +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) Taylor Otwell - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Hashing/composer.json b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Hashing/composer.json deleted file mode 100644 index 4da36ba..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Hashing/composer.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "name": "illuminate/hashing", - "description": "The Illuminate Hashing package.", - "license": "MIT", - "homepage": "https://laravel.com", - "support": { - "issues": "https://github.com/laravel/framework/issues", - "source": "https://github.com/laravel/framework" - }, - "authors": [ - { - "name": "Taylor Otwell", - "email": "taylor@laravel.com" - } - ], - "require": { - "php": "^7.1.3", - "illuminate/contracts": "5.8.*", - "illuminate/support": "5.8.*" - }, - "autoload": { - "psr-4": { - "Illuminate\\Hashing\\": "" - } - }, - "extra": { - "branch-alias": { - "dev-master": "5.8-dev" - } - }, - "config": { - "sort-packages": true - }, - "minimum-stability": "dev" -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Http/Concerns/InteractsWithContentTypes.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Http/Concerns/InteractsWithContentTypes.php deleted file mode 100644 index be760a2..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Http/Concerns/InteractsWithContentTypes.php +++ /dev/null @@ -1,171 +0,0 @@ -header('CONTENT_TYPE'), ['/json', '+json']); - } - - /** - * Determine if the current request probably expects a JSON response. - * - * @return bool - */ - public function expectsJson() - { - return ($this->ajax() && ! $this->pjax() && $this->acceptsAnyContentType()) || $this->wantsJson(); - } - - /** - * Determine if the current request is asking for JSON. - * - * @return bool - */ - public function wantsJson() - { - $acceptable = $this->getAcceptableContentTypes(); - - return isset($acceptable[0]) && Str::contains($acceptable[0], ['/json', '+json']); - } - - /** - * Determines whether the current requests accepts a given content type. - * - * @param string|array $contentTypes - * @return bool - */ - public function accepts($contentTypes) - { - $accepts = $this->getAcceptableContentTypes(); - - if (count($accepts) === 0) { - return true; - } - - $types = (array) $contentTypes; - - foreach ($accepts as $accept) { - if ($accept === '*/*' || $accept === '*') { - return true; - } - - foreach ($types as $type) { - if ($this->matchesType($accept, $type) || $accept === strtok($type, '/').'/*') { - return true; - } - } - } - - return false; - } - - /** - * Return the most suitable content type from the given array based on content negotiation. - * - * @param string|array $contentTypes - * @return string|null - */ - public function prefers($contentTypes) - { - $accepts = $this->getAcceptableContentTypes(); - - $contentTypes = (array) $contentTypes; - - foreach ($accepts as $accept) { - if (in_array($accept, ['*/*', '*'])) { - return $contentTypes[0]; - } - - foreach ($contentTypes as $contentType) { - $type = $contentType; - - if (! is_null($mimeType = $this->getMimeType($contentType))) { - $type = $mimeType; - } - - if ($this->matchesType($type, $accept) || $accept === strtok($type, '/').'/*') { - return $contentType; - } - } - } - } - - /** - * Determine if the current request accepts any content type. - * - * @return bool - */ - public function acceptsAnyContentType() - { - $acceptable = $this->getAcceptableContentTypes(); - - return count($acceptable) === 0 || ( - isset($acceptable[0]) && ($acceptable[0] === '*/*' || $acceptable[0] === '*') - ); - } - - /** - * Determines whether a request accepts JSON. - * - * @return bool - */ - public function acceptsJson() - { - return $this->accepts('application/json'); - } - - /** - * Determines whether a request accepts HTML. - * - * @return bool - */ - public function acceptsHtml() - { - return $this->accepts('text/html'); - } - - /** - * Get the data format expected in the response. - * - * @param string $default - * @return string - */ - public function format($default = 'html') - { - foreach ($this->getAcceptableContentTypes() as $type) { - if ($format = $this->getFormat($type)) { - return $format; - } - } - - return $default; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Http/Concerns/InteractsWithFlashData.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Http/Concerns/InteractsWithFlashData.php deleted file mode 100644 index 25e11a9..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Http/Concerns/InteractsWithFlashData.php +++ /dev/null @@ -1,64 +0,0 @@ -hasSession() ? $this->session()->getOldInput($key, $default) : $default; - } - - /** - * Flash the input for the current request to the session. - * - * @return void - */ - public function flash() - { - $this->session()->flashInput($this->input()); - } - - /** - * Flash only some of the input to the session. - * - * @param array|mixed $keys - * @return void - */ - public function flashOnly($keys) - { - $this->session()->flashInput( - $this->only(is_array($keys) ? $keys : func_get_args()) - ); - } - - /** - * Flash only some of the input to the session. - * - * @param array|mixed $keys - * @return void - */ - public function flashExcept($keys) - { - $this->session()->flashInput( - $this->except(is_array($keys) ? $keys : func_get_args()) - ); - } - - /** - * Flush all of the old input from the session. - * - * @return void - */ - public function flush() - { - $this->session()->flashInput([]); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Http/Concerns/InteractsWithInput.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Http/Concerns/InteractsWithInput.php deleted file mode 100644 index 3b87626..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Http/Concerns/InteractsWithInput.php +++ /dev/null @@ -1,393 +0,0 @@ -retrieveItem('server', $key, $default); - } - - /** - * Determine if a header is set on the request. - * - * @param string $key - * @return bool - */ - public function hasHeader($key) - { - return ! is_null($this->header($key)); - } - - /** - * Retrieve a header from the request. - * - * @param string|null $key - * @param string|array|null $default - * @return string|array|null - */ - public function header($key = null, $default = null) - { - return $this->retrieveItem('headers', $key, $default); - } - - /** - * Get the bearer token from the request headers. - * - * @return string|null - */ - public function bearerToken() - { - $header = $this->header('Authorization', ''); - - if (Str::startsWith($header, 'Bearer ')) { - return Str::substr($header, 7); - } - } - - /** - * Determine if the request contains a given input item key. - * - * @param string|array $key - * @return bool - */ - public function exists($key) - { - return $this->has($key); - } - - /** - * Determine if the request contains a given input item key. - * - * @param string|array $key - * @return bool - */ - public function has($key) - { - $keys = is_array($key) ? $key : func_get_args(); - - $input = $this->all(); - - foreach ($keys as $value) { - if (! Arr::has($input, $value)) { - return false; - } - } - - return true; - } - - /** - * Determine if the request contains any of the given inputs. - * - * @param string|array $keys - * @return bool - */ - public function hasAny($keys) - { - $keys = is_array($keys) ? $keys : func_get_args(); - - $input = $this->all(); - - foreach ($keys as $key) { - if (Arr::has($input, $key)) { - return true; - } - } - - return false; - } - - /** - * Determine if the request contains a non-empty value for an input item. - * - * @param string|array $key - * @return bool - */ - public function filled($key) - { - $keys = is_array($key) ? $key : func_get_args(); - - foreach ($keys as $value) { - if ($this->isEmptyString($value)) { - return false; - } - } - - return true; - } - - /** - * Determine if the request contains a non-empty value for any of the given inputs. - * - * @param string|array $keys - * @return bool - */ - public function anyFilled($keys) - { - $keys = is_array($keys) ? $keys : func_get_args(); - - foreach ($keys as $key) { - if ($this->filled($key)) { - return true; - } - } - - return false; - } - - /** - * Determine if the given input key is an empty string for "has". - * - * @param string $key - * @return bool - */ - protected function isEmptyString($key) - { - $value = $this->input($key); - - return ! is_bool($value) && ! is_array($value) && trim((string) $value) === ''; - } - - /** - * Get the keys for all of the input and files. - * - * @return array - */ - public function keys() - { - return array_merge(array_keys($this->input()), $this->files->keys()); - } - - /** - * Get all of the input and files for the request. - * - * @param array|mixed|null $keys - * @return array - */ - public function all($keys = null) - { - $input = array_replace_recursive($this->input(), $this->allFiles()); - - if (! $keys) { - return $input; - } - - $results = []; - - foreach (is_array($keys) ? $keys : func_get_args() as $key) { - Arr::set($results, $key, Arr::get($input, $key)); - } - - return $results; - } - - /** - * Retrieve an input item from the request. - * - * @param string|null $key - * @param string|array|null $default - * @return string|array|null - */ - public function input($key = null, $default = null) - { - return data_get( - $this->getInputSource()->all() + $this->query->all(), $key, $default - ); - } - - /** - * Get a subset containing the provided keys with values from the input data. - * - * @param array|mixed $keys - * @return array - */ - public function only($keys) - { - $results = []; - - $input = $this->all(); - - $placeholder = new stdClass; - - foreach (is_array($keys) ? $keys : func_get_args() as $key) { - $value = data_get($input, $key, $placeholder); - - if ($value !== $placeholder) { - Arr::set($results, $key, $value); - } - } - - return $results; - } - - /** - * Get all of the input except for a specified array of items. - * - * @param array|mixed $keys - * @return array - */ - public function except($keys) - { - $keys = is_array($keys) ? $keys : func_get_args(); - - $results = $this->all(); - - Arr::forget($results, $keys); - - return $results; - } - - /** - * Retrieve a query string item from the request. - * - * @param string|null $key - * @param string|array|null $default - * @return string|array|null - */ - public function query($key = null, $default = null) - { - return $this->retrieveItem('query', $key, $default); - } - - /** - * Retrieve a request payload item from the request. - * - * @param string|null $key - * @param string|array|null $default - * @return string|array|null - */ - public function post($key = null, $default = null) - { - return $this->retrieveItem('request', $key, $default); - } - - /** - * Determine if a cookie is set on the request. - * - * @param string $key - * @return bool - */ - public function hasCookie($key) - { - return ! is_null($this->cookie($key)); - } - - /** - * Retrieve a cookie from the request. - * - * @param string|null $key - * @param string|array|null $default - * @return string|array|null - */ - public function cookie($key = null, $default = null) - { - return $this->retrieveItem('cookies', $key, $default); - } - - /** - * Get an array of all of the files on the request. - * - * @return array - */ - public function allFiles() - { - $files = $this->files->all(); - - return $this->convertedFiles = $this->convertedFiles ?? $this->convertUploadedFiles($files); - } - - /** - * Convert the given array of Symfony UploadedFiles to custom Laravel UploadedFiles. - * - * @param array $files - * @return array - */ - protected function convertUploadedFiles(array $files) - { - return array_map(function ($file) { - if (is_null($file) || (is_array($file) && empty(array_filter($file)))) { - return $file; - } - - return is_array($file) - ? $this->convertUploadedFiles($file) - : UploadedFile::createFromBase($file); - }, $files); - } - - /** - * Determine if the uploaded data contains a file. - * - * @param string $key - * @return bool - */ - public function hasFile($key) - { - if (! is_array($files = $this->file($key))) { - $files = [$files]; - } - - foreach ($files as $file) { - if ($this->isValidFile($file)) { - return true; - } - } - - return false; - } - - /** - * Check that the given file is a valid file instance. - * - * @param mixed $file - * @return bool - */ - protected function isValidFile($file) - { - return $file instanceof SplFileInfo && $file->getPath() !== ''; - } - - /** - * Retrieve a file from the request. - * - * @param string|null $key - * @param mixed $default - * @return \Illuminate\Http\UploadedFile|\Illuminate\Http\UploadedFile[]|array|null - */ - public function file($key = null, $default = null) - { - return data_get($this->allFiles(), $key, $default); - } - - /** - * Retrieve a parameter item from a given source. - * - * @param string $source - * @param string $key - * @param string|array|null $default - * @return string|array|null - */ - protected function retrieveItem($source, $key, $default) - { - if (is_null($key)) { - return $this->$source->all(); - } - - return $this->$source->get($key, $default); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Http/Exceptions/HttpResponseException.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Http/Exceptions/HttpResponseException.php deleted file mode 100644 index b27052f..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Http/Exceptions/HttpResponseException.php +++ /dev/null @@ -1,37 +0,0 @@ -response = $response; - } - - /** - * Get the underlying response instance. - * - * @return \Symfony\Component\HttpFoundation\Response - */ - public function getResponse() - { - return $this->response; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Http/Exceptions/PostTooLargeException.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Http/Exceptions/PostTooLargeException.php deleted file mode 100644 index 640b8ec..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Http/Exceptions/PostTooLargeException.php +++ /dev/null @@ -1,23 +0,0 @@ -getRealPath(); - } - - /** - * Get the file's extension. - * - * @return string - */ - public function extension() - { - return $this->guessExtension(); - } - - /** - * Get a filename for the file. - * - * @param string|null $path - * @return string - */ - public function hashName($path = null) - { - if ($path) { - $path = rtrim($path, '/').'/'; - } - - $hash = $this->hashName ?: $this->hashName = Str::random(40); - - if ($extension = $this->guessExtension()) { - $extension = '.'.$extension; - } - - return $path.$hash.$extension; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Http/JsonResponse.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Http/JsonResponse.php deleted file mode 100644 index 9baf417..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Http/JsonResponse.php +++ /dev/null @@ -1,121 +0,0 @@ -encodingOptions = $options; - - parent::__construct($data, $status, $headers); - } - - /** - * Sets the JSONP callback. - * - * @param string|null $callback - * @return $this - */ - public function withCallback($callback = null) - { - return $this->setCallback($callback); - } - - /** - * Get the json_decoded data from the response. - * - * @param bool $assoc - * @param int $depth - * @return mixed - */ - public function getData($assoc = false, $depth = 512) - { - return json_decode($this->data, $assoc, $depth); - } - - /** - * {@inheritdoc} - */ - public function setData($data = []) - { - $this->original = $data; - - if ($data instanceof Jsonable) { - $this->data = $data->toJson($this->encodingOptions); - } elseif ($data instanceof JsonSerializable) { - $this->data = json_encode($data->jsonSerialize(), $this->encodingOptions); - } elseif ($data instanceof Arrayable) { - $this->data = json_encode($data->toArray(), $this->encodingOptions); - } else { - $this->data = json_encode($data, $this->encodingOptions); - } - - if (! $this->hasValidJson(json_last_error())) { - throw new InvalidArgumentException(json_last_error_msg()); - } - - return $this->update(); - } - - /** - * Determine if an error occurred during JSON encoding. - * - * @param int $jsonError - * @return bool - */ - protected function hasValidJson($jsonError) - { - if ($jsonError === JSON_ERROR_NONE) { - return true; - } - - return $this->hasEncodingOption(JSON_PARTIAL_OUTPUT_ON_ERROR) && - in_array($jsonError, [ - JSON_ERROR_RECURSION, - JSON_ERROR_INF_OR_NAN, - JSON_ERROR_UNSUPPORTED_TYPE, - ]); - } - - /** - * {@inheritdoc} - */ - public function setEncodingOptions($options) - { - $this->encodingOptions = (int) $options; - - return $this->setData($this->getData()); - } - - /** - * Determine if a JSON encoding option is set. - * - * @param int $option - * @return bool - */ - public function hasEncodingOption($option) - { - return (bool) ($this->encodingOptions & $option); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Http/LICENSE.md b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Http/LICENSE.md deleted file mode 100644 index 79810c8..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Http/LICENSE.md +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) Taylor Otwell - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/CheckResponseForModifications.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/CheckResponseForModifications.php deleted file mode 100644 index 2a93e21..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/CheckResponseForModifications.php +++ /dev/null @@ -1,27 +0,0 @@ -isNotModified($request); - } - - return $response; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/FrameGuard.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/FrameGuard.php deleted file mode 100644 index 66edce4..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/FrameGuard.php +++ /dev/null @@ -1,24 +0,0 @@ -headers->set('X-Frame-Options', 'SAMEORIGIN', false); - - return $response; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/SetCacheHeaders.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/SetCacheHeaders.php deleted file mode 100644 index fe04fe6..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/SetCacheHeaders.php +++ /dev/null @@ -1,55 +0,0 @@ -isMethodCacheable() || ! $response->getContent()) { - return $response; - } - - if (is_string($options)) { - $options = $this->parseOptions($options); - } - - if (isset($options['etag']) && $options['etag'] === true) { - $options['etag'] = md5($response->getContent()); - } - - $response->setCache($options); - $response->isNotModified($request); - - return $response; - } - - /** - * Parse the given header options. - * - * @param string $options - * @return array - */ - protected function parseOptions($options) - { - return collect(explode(';', $options))->mapWithKeys(function ($option) { - $data = explode('=', $option, 2); - - return [$data[0] => $data[1] ?? true]; - })->all(); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Http/RedirectResponse.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Http/RedirectResponse.php deleted file mode 100644 index 1a7ec14..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Http/RedirectResponse.php +++ /dev/null @@ -1,236 +0,0 @@ - $value]; - - foreach ($key as $k => $v) { - $this->session->flash($k, $v); - } - - return $this; - } - - /** - * Add multiple cookies to the response. - * - * @param array $cookies - * @return $this - */ - public function withCookies(array $cookies) - { - foreach ($cookies as $cookie) { - $this->headers->setCookie($cookie); - } - - return $this; - } - - /** - * Flash an array of input to the session. - * - * @param array|null $input - * @return $this - */ - public function withInput(array $input = null) - { - $this->session->flashInput($this->removeFilesFromInput( - ! is_null($input) ? $input : $this->request->input() - )); - - return $this; - } - - /** - * Remove all uploaded files form the given input array. - * - * @param array $input - * @return array - */ - protected function removeFilesFromInput(array $input) - { - foreach ($input as $key => $value) { - if (is_array($value)) { - $input[$key] = $this->removeFilesFromInput($value); - } - - if ($value instanceof SymfonyUploadedFile) { - unset($input[$key]); - } - } - - return $input; - } - - /** - * Flash an array of input to the session. - * - * @return $this - */ - public function onlyInput() - { - return $this->withInput($this->request->only(func_get_args())); - } - - /** - * Flash an array of input to the session. - * - * @return $this - */ - public function exceptInput() - { - return $this->withInput($this->request->except(func_get_args())); - } - - /** - * Flash a container of errors to the session. - * - * @param \Illuminate\Contracts\Support\MessageProvider|array|string $provider - * @param string $key - * @return $this - */ - public function withErrors($provider, $key = 'default') - { - $value = $this->parseErrors($provider); - - $errors = $this->session->get('errors', new ViewErrorBag); - - if (! $errors instanceof ViewErrorBag) { - $errors = new ViewErrorBag; - } - - $this->session->flash( - 'errors', $errors->put($key, $value) - ); - - return $this; - } - - /** - * Parse the given errors into an appropriate value. - * - * @param \Illuminate\Contracts\Support\MessageProvider|array|string $provider - * @return \Illuminate\Support\MessageBag - */ - protected function parseErrors($provider) - { - if ($provider instanceof MessageProvider) { - return $provider->getMessageBag(); - } - - return new MessageBag((array) $provider); - } - - /** - * Get the original response content. - * - * @return null - */ - public function getOriginalContent() - { - // - } - - /** - * Get the request instance. - * - * @return \Illuminate\Http\Request|null - */ - public function getRequest() - { - return $this->request; - } - - /** - * Set the request instance. - * - * @param \Illuminate\Http\Request $request - * @return void - */ - public function setRequest(Request $request) - { - $this->request = $request; - } - - /** - * Get the session store instance. - * - * @return \Illuminate\Session\Store|null - */ - public function getSession() - { - return $this->session; - } - - /** - * Set the session store instance. - * - * @param \Illuminate\Session\Store $session - * @return void - */ - public function setSession(SessionStore $session) - { - $this->session = $session; - } - - /** - * Dynamically bind flash data in the session. - * - * @param string $method - * @param array $parameters - * @return mixed - * - * @throws \BadMethodCallException - */ - public function __call($method, $parameters) - { - if (static::hasMacro($method)) { - return $this->macroCall($method, $parameters); - } - - if (Str::startsWith($method, 'with')) { - return $this->with(Str::snake(substr($method, 4)), $parameters[0]); - } - - static::throwBadMethodCallException($method); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Http/Request.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Http/Request.php deleted file mode 100644 index 7c28934..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Http/Request.php +++ /dev/null @@ -1,701 +0,0 @@ -getMethod(); - } - - /** - * Get the root URL for the application. - * - * @return string - */ - public function root() - { - return rtrim($this->getSchemeAndHttpHost().$this->getBaseUrl(), '/'); - } - - /** - * Get the URL (no query string) for the request. - * - * @return string - */ - public function url() - { - return rtrim(preg_replace('/\?.*/', '', $this->getUri()), '/'); - } - - /** - * Get the full URL for the request. - * - * @return string - */ - public function fullUrl() - { - $query = $this->getQueryString(); - - $question = $this->getBaseUrl().$this->getPathInfo() === '/' ? '/?' : '?'; - - return $query ? $this->url().$question.$query : $this->url(); - } - - /** - * Get the full URL for the request with the added query string parameters. - * - * @param array $query - * @return string - */ - public function fullUrlWithQuery(array $query) - { - $question = $this->getBaseUrl().$this->getPathInfo() === '/' ? '/?' : '?'; - - return count($this->query()) > 0 - ? $this->url().$question.Arr::query(array_merge($this->query(), $query)) - : $this->fullUrl().$question.Arr::query($query); - } - - /** - * Get the current path info for the request. - * - * @return string - */ - public function path() - { - $pattern = trim($this->getPathInfo(), '/'); - - return $pattern == '' ? '/' : $pattern; - } - - /** - * Get the current decoded path info for the request. - * - * @return string - */ - public function decodedPath() - { - return rawurldecode($this->path()); - } - - /** - * Get a segment from the URI (1 based index). - * - * @param int $index - * @param string|null $default - * @return string|null - */ - public function segment($index, $default = null) - { - return Arr::get($this->segments(), $index - 1, $default); - } - - /** - * Get all of the segments for the request path. - * - * @return array - */ - public function segments() - { - $segments = explode('/', $this->decodedPath()); - - return array_values(array_filter($segments, function ($value) { - return $value !== ''; - })); - } - - /** - * Determine if the current request URI matches a pattern. - * - * @param mixed ...$patterns - * @return bool - */ - public function is(...$patterns) - { - $path = $this->decodedPath(); - - foreach ($patterns as $pattern) { - if (Str::is($pattern, $path)) { - return true; - } - } - - return false; - } - - /** - * Determine if the route name matches a given pattern. - * - * @param mixed ...$patterns - * @return bool - */ - public function routeIs(...$patterns) - { - return $this->route() && $this->route()->named(...$patterns); - } - - /** - * Determine if the current request URL and query string matches a pattern. - * - * @param mixed ...$patterns - * @return bool - */ - public function fullUrlIs(...$patterns) - { - $url = $this->fullUrl(); - - foreach ($patterns as $pattern) { - if (Str::is($pattern, $url)) { - return true; - } - } - - return false; - } - - /** - * Determine if the request is the result of an AJAX call. - * - * @return bool - */ - public function ajax() - { - return $this->isXmlHttpRequest(); - } - - /** - * Determine if the request is the result of an PJAX call. - * - * @return bool - */ - public function pjax() - { - return $this->headers->get('X-PJAX') == true; - } - - /** - * Determine if the request is the result of an prefetch call. - * - * @return bool - */ - public function prefetch() - { - return strcasecmp($this->server->get('HTTP_X_MOZ'), 'prefetch') === 0 || - strcasecmp($this->headers->get('Purpose'), 'prefetch') === 0; - } - - /** - * Determine if the request is over HTTPS. - * - * @return bool - */ - public function secure() - { - return $this->isSecure(); - } - - /** - * Get the client IP address. - * - * @return string|null - */ - public function ip() - { - return $this->getClientIp(); - } - - /** - * Get the client IP addresses. - * - * @return array - */ - public function ips() - { - return $this->getClientIps(); - } - - /** - * Get the client user agent. - * - * @return string - */ - public function userAgent() - { - return $this->headers->get('User-Agent'); - } - - /** - * Merge new input into the current request's input array. - * - * @param array $input - * @return $this - */ - public function merge(array $input) - { - $this->getInputSource()->add($input); - - return $this; - } - - /** - * Replace the input for the current request. - * - * @param array $input - * @return $this - */ - public function replace(array $input) - { - $this->getInputSource()->replace($input); - - return $this; - } - - /** - * This method belongs to Symfony HttpFoundation and is not usually needed when using Laravel. - * - * Instead, you may use the "input" method. - * - * @param string $key - * @param mixed $default - * @return mixed - */ - public function get($key, $default = null) - { - return parent::get($key, $default); - } - - /** - * Get the JSON payload for the request. - * - * @param string|null $key - * @param mixed $default - * @return \Symfony\Component\HttpFoundation\ParameterBag|mixed - */ - public function json($key = null, $default = null) - { - if (! isset($this->json)) { - $this->json = new ParameterBag((array) json_decode($this->getContent(), true)); - } - - if (is_null($key)) { - return $this->json; - } - - return data_get($this->json->all(), $key, $default); - } - - /** - * Get the input source for the request. - * - * @return \Symfony\Component\HttpFoundation\ParameterBag - */ - protected function getInputSource() - { - if ($this->isJson()) { - return $this->json(); - } - - return in_array($this->getRealMethod(), ['GET', 'HEAD']) ? $this->query : $this->request; - } - - /** - * Create a new request instance from the given Laravel request. - * - * @param \Illuminate\Http\Request $from - * @param \Illuminate\Http\Request|null $to - * @return static - */ - public static function createFrom(self $from, $to = null) - { - $request = $to ?: new static; - - $files = $from->files->all(); - - $files = is_array($files) ? array_filter($files) : $files; - - $request->initialize( - $from->query->all(), - $from->request->all(), - $from->attributes->all(), - $from->cookies->all(), - $files, - $from->server->all(), - $from->getContent() - ); - - $request->headers->replace($from->headers->all()); - - $request->setJson($from->json()); - - if ($session = $from->getSession()) { - $request->setLaravelSession($session); - } - - $request->setUserResolver($from->getUserResolver()); - - $request->setRouteResolver($from->getRouteResolver()); - - return $request; - } - - /** - * Create an Illuminate request from a Symfony instance. - * - * @param \Symfony\Component\HttpFoundation\Request $request - * @return static - */ - public static function createFromBase(SymfonyRequest $request) - { - if ($request instanceof static) { - return $request; - } - - $newRequest = (new static)->duplicate( - $request->query->all(), $request->request->all(), $request->attributes->all(), - $request->cookies->all(), $request->files->all(), $request->server->all() - ); - - $newRequest->headers->replace($request->headers->all()); - - $newRequest->content = $request->content; - - $newRequest->request = $newRequest->getInputSource(); - - return $newRequest; - } - - /** - * {@inheritdoc} - */ - public function duplicate(array $query = null, array $request = null, array $attributes = null, array $cookies = null, array $files = null, array $server = null) - { - return parent::duplicate($query, $request, $attributes, $cookies, $this->filterFiles($files), $server); - } - - /** - * Filter the given array of files, removing any empty values. - * - * @param mixed $files - * @return mixed - */ - protected function filterFiles($files) - { - if (! $files) { - return; - } - - foreach ($files as $key => $file) { - if (is_array($file)) { - $files[$key] = $this->filterFiles($files[$key]); - } - - if (empty($files[$key])) { - unset($files[$key]); - } - } - - return $files; - } - - /** - * Get the session associated with the request. - * - * @return \Illuminate\Session\Store - * - * @throws \RuntimeException - */ - public function session() - { - if (! $this->hasSession()) { - throw new RuntimeException('Session store not set on request.'); - } - - return $this->session; - } - - /** - * Get the session associated with the request. - * - * @return \Illuminate\Session\Store|null - */ - public function getSession() - { - return $this->session; - } - - /** - * Set the session instance on the request. - * - * @param \Illuminate\Contracts\Session\Session $session - * @return void - */ - public function setLaravelSession($session) - { - $this->session = $session; - } - - /** - * Get the user making the request. - * - * @param string|null $guard - * @return mixed - */ - public function user($guard = null) - { - return call_user_func($this->getUserResolver(), $guard); - } - - /** - * Get the route handling the request. - * - * @param string|null $param - * @param mixed $default - * @return \Illuminate\Routing\Route|object|string - */ - public function route($param = null, $default = null) - { - $route = call_user_func($this->getRouteResolver()); - - if (is_null($route) || is_null($param)) { - return $route; - } - - return $route->parameter($param, $default); - } - - /** - * Get a unique fingerprint for the request / route / IP address. - * - * @return string - * - * @throws \RuntimeException - */ - public function fingerprint() - { - if (! $route = $this->route()) { - throw new RuntimeException('Unable to generate fingerprint. Route unavailable.'); - } - - return sha1(implode('|', array_merge( - $route->methods(), - [$route->getDomain(), $route->uri(), $this->ip()] - ))); - } - - /** - * Set the JSON payload for the request. - * - * @param \Symfony\Component\HttpFoundation\ParameterBag $json - * @return $this - */ - public function setJson($json) - { - $this->json = $json; - - return $this; - } - - /** - * Get the user resolver callback. - * - * @return \Closure - */ - public function getUserResolver() - { - return $this->userResolver ?: function () { - // - }; - } - - /** - * Set the user resolver callback. - * - * @param \Closure $callback - * @return $this - */ - public function setUserResolver(Closure $callback) - { - $this->userResolver = $callback; - - return $this; - } - - /** - * Get the route resolver callback. - * - * @return \Closure - */ - public function getRouteResolver() - { - return $this->routeResolver ?: function () { - // - }; - } - - /** - * Set the route resolver callback. - * - * @param \Closure $callback - * @return $this - */ - public function setRouteResolver(Closure $callback) - { - $this->routeResolver = $callback; - - return $this; - } - - /** - * Get all of the input and files for the request. - * - * @return array - */ - public function toArray() - { - return $this->all(); - } - - /** - * Determine if the given offset exists. - * - * @param string $offset - * @return bool - */ - public function offsetExists($offset) - { - return Arr::has( - $this->all() + $this->route()->parameters(), - $offset - ); - } - - /** - * Get the value at the given offset. - * - * @param string $offset - * @return mixed - */ - public function offsetGet($offset) - { - return $this->__get($offset); - } - - /** - * Set the value at the given offset. - * - * @param string $offset - * @param mixed $value - * @return void - */ - public function offsetSet($offset, $value) - { - $this->getInputSource()->set($offset, $value); - } - - /** - * Remove the value at the given offset. - * - * @param string $offset - * @return void - */ - public function offsetUnset($offset) - { - $this->getInputSource()->remove($offset); - } - - /** - * Check if an input element is set on the request. - * - * @param string $key - * @return bool - */ - public function __isset($key) - { - return ! is_null($this->__get($key)); - } - - /** - * Get an input element from the request. - * - * @param string $key - * @return mixed - */ - public function __get($key) - { - return Arr::get($this->all(), $key, function () use ($key) { - return $this->route($key); - }); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Http/Resources/CollectsResources.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Http/Resources/CollectsResources.php deleted file mode 100644 index 66e6a8b..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Http/Resources/CollectsResources.php +++ /dev/null @@ -1,59 +0,0 @@ -collects(); - - $this->collection = $collects && ! $resource->first() instanceof $collects - ? $resource->mapInto($collects) - : $resource->toBase(); - - return $resource instanceof AbstractPaginator - ? $resource->setCollection($this->collection) - : $this->collection; - } - - /** - * Get the resource that this resource collects. - * - * @return string|null - */ - protected function collects() - { - if ($this->collects) { - return $this->collects; - } - - if (Str::endsWith(class_basename($this), 'Collection') && - class_exists($class = Str::replaceLast('Collection', '', get_class($this)))) { - return $class; - } - } - - /** - * Get an iterator for the resource collection. - * - * @return \ArrayIterator - */ - public function getIterator() - { - return $this->collection->getIterator(); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Http/Resources/ConditionallyLoadsAttributes.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Http/Resources/ConditionallyLoadsAttributes.php deleted file mode 100644 index 0f6e188..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Http/Resources/ConditionallyLoadsAttributes.php +++ /dev/null @@ -1,226 +0,0 @@ - $value) { - $index++; - - if (is_array($value)) { - $data[$key] = $this->filter($value); - - continue; - } - - if (is_numeric($key) && $value instanceof MergeValue) { - return $this->mergeData( - $data, $index, $this->filter($value->data), - array_values($value->data) === $value->data - ); - } - - if ($value instanceof self && is_null($value->resource)) { - $data[$key] = null; - } - } - - return $this->removeMissingValues($data); - } - - /** - * Merge the given data in at the given index. - * - * @param array $data - * @param int $index - * @param array $merge - * @param bool $numericKeys - * @return array - */ - protected function mergeData($data, $index, $merge, $numericKeys) - { - if ($numericKeys) { - return $this->removeMissingValues(array_merge( - array_merge(array_slice($data, 0, $index, true), $merge), - $this->filter(array_values(array_slice($data, $index + 1, null, true))) - )); - } - - return $this->removeMissingValues(array_slice($data, 0, $index, true) + - $merge + - $this->filter(array_slice($data, $index + 1, null, true))); - } - - /** - * Remove the missing values from the filtered data. - * - * @param array $data - * @return array - */ - protected function removeMissingValues($data) - { - $numericKeys = true; - - foreach ($data as $key => $value) { - if (($value instanceof PotentiallyMissing && $value->isMissing()) || - ($value instanceof self && - $value->resource instanceof PotentiallyMissing && - $value->isMissing())) { - unset($data[$key]); - } else { - $numericKeys = $numericKeys && is_numeric($key); - } - } - - if (property_exists($this, 'preserveKeys') && $this->preserveKeys === true) { - return $data; - } - - return $numericKeys ? array_values($data) : $data; - } - - /** - * Retrieve a value based on a given condition. - * - * @param bool $condition - * @param mixed $value - * @param mixed $default - * @return \Illuminate\Http\Resources\MissingValue|mixed - */ - protected function when($condition, $value, $default = null) - { - if ($condition) { - return value($value); - } - - return func_num_args() === 3 ? value($default) : new MissingValue; - } - - /** - * Merge a value into the array. - * - * @param mixed $value - * @return \Illuminate\Http\Resources\MergeValue|mixed - */ - protected function merge($value) - { - return $this->mergeWhen(true, $value); - } - - /** - * Merge a value based on a given condition. - * - * @param bool $condition - * @param mixed $value - * @return \Illuminate\Http\Resources\MergeValue|mixed - */ - protected function mergeWhen($condition, $value) - { - return $condition ? new MergeValue(value($value)) : new MissingValue; - } - - /** - * Merge the given attributes. - * - * @param array $attributes - * @return \Illuminate\Http\Resources\MergeValue - */ - protected function attributes($attributes) - { - return new MergeValue( - Arr::only($this->resource->toArray(), $attributes) - ); - } - - /** - * Retrieve a relationship if it has been loaded. - * - * @param string $relationship - * @param mixed $value - * @param mixed $default - * @return \Illuminate\Http\Resources\MissingValue|mixed - */ - protected function whenLoaded($relationship, $value = null, $default = null) - { - if (func_num_args() < 3) { - $default = new MissingValue; - } - - if (! $this->resource->relationLoaded($relationship)) { - return value($default); - } - - if (func_num_args() === 1) { - return $this->resource->{$relationship}; - } - - if ($this->resource->{$relationship} === null) { - return; - } - - return value($value); - } - - /** - * Execute a callback if the given pivot table has been loaded. - * - * @param string $table - * @param mixed $value - * @param mixed $default - * @return \Illuminate\Http\Resources\MissingValue|mixed - */ - protected function whenPivotLoaded($table, $value, $default = null) - { - return $this->whenPivotLoadedAs('pivot', ...func_get_args()); - } - - /** - * Execute a callback if the given pivot table with a custom accessor has been loaded. - * - * @param string $accessor - * @param string $table - * @param mixed $value - * @param mixed $default - * @return \Illuminate\Http\Resources\MissingValue|mixed - */ - protected function whenPivotLoadedAs($accessor, $table, $value, $default = null) - { - if (func_num_args() === 3) { - $default = new MissingValue; - } - - return $this->when( - $this->resource->$accessor && - ($this->resource->$accessor instanceof $table || - $this->resource->$accessor->getTable() === $table), - ...[$value, $default] - ); - } - - /** - * Transform the given value if it is present. - * - * @param mixed $value - * @param callable $callback - * @param mixed $default - * @return mixed - */ - protected function transform($value, callable $callback, $default = null) - { - return transform( - $value, $callback, func_num_args() === 3 ? $default : new MissingValue - ); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Http/Resources/DelegatesToResource.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Http/Resources/DelegatesToResource.php deleted file mode 100644 index 036a143..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Http/Resources/DelegatesToResource.php +++ /dev/null @@ -1,134 +0,0 @@ -resource->getRouteKey(); - } - - /** - * Get the route key for the resource. - * - * @return string - */ - public function getRouteKeyName() - { - return $this->resource->getRouteKeyName(); - } - - /** - * Retrieve the model for a bound value. - * - * @param mixed $value - * @return void - * - * @throws \Exception - */ - public function resolveRouteBinding($value) - { - throw new Exception('Resources may not be implicitly resolved from route bindings.'); - } - - /** - * Determine if the given attribute exists. - * - * @param mixed $offset - * @return bool - */ - public function offsetExists($offset) - { - return isset($this->resource[$offset]); - } - - /** - * Get the value for a given offset. - * - * @param mixed $offset - * @return mixed - */ - public function offsetGet($offset) - { - return $this->resource[$offset]; - } - - /** - * Set the value for a given offset. - * - * @param mixed $offset - * @param mixed $value - * @return void - */ - public function offsetSet($offset, $value) - { - $this->resource[$offset] = $value; - } - - /** - * Unset the value for a given offset. - * - * @param mixed $offset - * @return void - */ - public function offsetUnset($offset) - { - unset($this->resource[$offset]); - } - - /** - * Determine if an attribute exists on the resource. - * - * @param string $key - * @return bool - */ - public function __isset($key) - { - return isset($this->resource->{$key}); - } - - /** - * Unset an attribute on the resource. - * - * @param string $key - * @return void - */ - public function __unset($key) - { - unset($this->resource->{$key}); - } - - /** - * Dynamically get properties from the underlying resource. - * - * @param string $key - * @return mixed - */ - public function __get($key) - { - return $this->resource->{$key}; - } - - /** - * Dynamically pass method calls to the underlying resource. - * - * @param string $method - * @param array $parameters - * @return mixed - */ - public function __call($method, $parameters) - { - return $this->forwardCallTo($this->resource, $method, $parameters); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Http/Resources/Json/AnonymousResourceCollection.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Http/Resources/Json/AnonymousResourceCollection.php deleted file mode 100644 index a583136..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Http/Resources/Json/AnonymousResourceCollection.php +++ /dev/null @@ -1,27 +0,0 @@ -collects = $collects; - - parent::__construct($resource); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Http/Resources/Json/JsonResource.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Http/Resources/Json/JsonResource.php deleted file mode 100644 index 1228c9b..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Http/Resources/Json/JsonResource.php +++ /dev/null @@ -1,213 +0,0 @@ -resource = $resource; - } - - /** - * Create a new resource instance. - * - * @param mixed ...$parameters - * @return static - */ - public static function make(...$parameters) - { - return new static(...$parameters); - } - - /** - * Create new anonymous resource collection. - * - * @param mixed $resource - * @return \Illuminate\Http\Resources\Json\AnonymousResourceCollection - */ - public static function collection($resource) - { - return tap(new AnonymousResourceCollection($resource, static::class), function ($collection) { - if (property_exists(static::class, 'preserveKeys')) { - $collection->preserveKeys = (new static([]))->preserveKeys === true; - } - }); - } - - /** - * Resolve the resource to an array. - * - * @param \Illuminate\Http\Request|null $request - * @return array - */ - public function resolve($request = null) - { - $data = $this->toArray( - $request = $request ?: Container::getInstance()->make('request') - ); - - if ($data instanceof Arrayable) { - $data = $data->toArray(); - } elseif ($data instanceof JsonSerializable) { - $data = $data->jsonSerialize(); - } - - return $this->filter((array) $data); - } - - /** - * Transform the resource into an array. - * - * @param \Illuminate\Http\Request $request - * @return array - */ - public function toArray($request) - { - if (is_null($this->resource)) { - return []; - } - - return is_array($this->resource) - ? $this->resource - : $this->resource->toArray(); - } - - /** - * Get any additional data that should be returned with the resource array. - * - * @param \Illuminate\Http\Request $request - * @return array - */ - public function with($request) - { - return $this->with; - } - - /** - * Add additional meta data to the resource response. - * - * @param array $data - * @return $this - */ - public function additional(array $data) - { - $this->additional = $data; - - return $this; - } - - /** - * Customize the response for a request. - * - * @param \Illuminate\Http\Request $request - * @param \Illuminate\Http\JsonResponse $response - * @return void - */ - public function withResponse($request, $response) - { - // - } - - /** - * Set the string that should wrap the outer-most resource array. - * - * @param string $value - * @return void - */ - public static function wrap($value) - { - static::$wrap = $value; - } - - /** - * Disable wrapping of the outer-most resource array. - * - * @return void - */ - public static function withoutWrapping() - { - static::$wrap = null; - } - - /** - * Transform the resource into an HTTP response. - * - * @param \Illuminate\Http\Request|null $request - * @return \Illuminate\Http\JsonResponse - */ - public function response($request = null) - { - return $this->toResponse( - $request ?: Container::getInstance()->make('request') - ); - } - - /** - * Create an HTTP response that represents the object. - * - * @param \Illuminate\Http\Request $request - * @return \Illuminate\Http\JsonResponse - */ - public function toResponse($request) - { - return (new ResourceResponse($this))->toResponse($request); - } - - /** - * Prepare the resource for JSON serialization. - * - * @return array - */ - public function jsonSerialize() - { - return $this->resolve(Container::getInstance()->make('request')); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Http/Resources/Json/PaginatedResourceResponse.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Http/Resources/Json/PaginatedResourceResponse.php deleted file mode 100644 index 596a4cb..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Http/Resources/Json/PaginatedResourceResponse.php +++ /dev/null @@ -1,82 +0,0 @@ -json( - $this->wrap( - $this->resource->resolve($request), - array_merge_recursive( - $this->paginationInformation($request), - $this->resource->with($request), - $this->resource->additional - ) - ), - $this->calculateStatus() - ), function ($response) use ($request) { - $response->original = $this->resource->resource->pluck('resource'); - - $this->resource->withResponse($request, $response); - }); - } - - /** - * Add the pagination information to the response. - * - * @param \Illuminate\Http\Request $request - * @return array - */ - protected function paginationInformation($request) - { - $paginated = $this->resource->resource->toArray(); - - return [ - 'links' => $this->paginationLinks($paginated), - 'meta' => $this->meta($paginated), - ]; - } - - /** - * Get the pagination links for the response. - * - * @param array $paginated - * @return array - */ - protected function paginationLinks($paginated) - { - return [ - 'first' => $paginated['first_page_url'] ?? null, - 'last' => $paginated['last_page_url'] ?? null, - 'prev' => $paginated['prev_page_url'] ?? null, - 'next' => $paginated['next_page_url'] ?? null, - ]; - } - - /** - * Gather the meta data for the response. - * - * @param array $paginated - * @return array - */ - protected function meta($paginated) - { - return Arr::except($paginated, [ - 'data', - 'first_page_url', - 'last_page_url', - 'prev_page_url', - 'next_page_url', - ]); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Http/Resources/Json/Resource.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Http/Resources/Json/Resource.php deleted file mode 100644 index 49f6744..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Http/Resources/Json/Resource.php +++ /dev/null @@ -1,8 +0,0 @@ -resource = $this->collectResource($resource); - } - - /** - * Return the count of items in the resource collection. - * - * @return int - */ - public function count() - { - return $this->collection->count(); - } - - /** - * Transform the resource into a JSON array. - * - * @param \Illuminate\Http\Request $request - * @return array - */ - public function toArray($request) - { - return $this->collection->map->toArray($request)->all(); - } - - /** - * Create an HTTP response that represents the object. - * - * @param \Illuminate\Http\Request $request - * @return \Illuminate\Http\JsonResponse - */ - public function toResponse($request) - { - return $this->resource instanceof AbstractPaginator - ? (new PaginatedResourceResponse($this))->toResponse($request) - : parent::toResponse($request); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Http/Resources/Json/ResourceResponse.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Http/Resources/Json/ResourceResponse.php deleted file mode 100644 index d3acb4e..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Http/Resources/Json/ResourceResponse.php +++ /dev/null @@ -1,120 +0,0 @@ -resource = $resource; - } - - /** - * Create an HTTP response that represents the object. - * - * @param \Illuminate\Http\Request $request - * @return \Illuminate\Http\JsonResponse - */ - public function toResponse($request) - { - return tap(response()->json( - $this->wrap( - $this->resource->resolve($request), - $this->resource->with($request), - $this->resource->additional - ), - $this->calculateStatus() - ), function ($response) use ($request) { - $response->original = $this->resource->resource; - - $this->resource->withResponse($request, $response); - }); - } - - /** - * Wrap the given data if necessary. - * - * @param array $data - * @param array $with - * @param array $additional - * @return array - */ - protected function wrap($data, $with = [], $additional = []) - { - if ($data instanceof Collection) { - $data = $data->all(); - } - - if ($this->haveDefaultWrapperAndDataIsUnwrapped($data)) { - $data = [$this->wrapper() => $data]; - } elseif ($this->haveAdditionalInformationAndDataIsUnwrapped($data, $with, $additional)) { - $data = [($this->wrapper() ?? 'data') => $data]; - } - - return array_merge_recursive($data, $with, $additional); - } - - /** - * Determine if we have a default wrapper and the given data is unwrapped. - * - * @param array $data - * @return bool - */ - protected function haveDefaultWrapperAndDataIsUnwrapped($data) - { - return $this->wrapper() && ! array_key_exists($this->wrapper(), $data); - } - - /** - * Determine if "with" data has been added and our data is unwrapped. - * - * @param array $data - * @param array $with - * @param array $additional - * @return bool - */ - protected function haveAdditionalInformationAndDataIsUnwrapped($data, $with, $additional) - { - return (! empty($with) || ! empty($additional)) && - (! $this->wrapper() || - ! array_key_exists($this->wrapper(), $data)); - } - - /** - * Get the default data wrapper for the resource. - * - * @return string - */ - protected function wrapper() - { - return get_class($this->resource)::$wrap; - } - - /** - * Calculate the appropriate status code for the response. - * - * @return int - */ - protected function calculateStatus() - { - return $this->resource->resource instanceof Model && - $this->resource->resource->wasRecentlyCreated ? 201 : 200; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Http/Resources/MergeValue.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Http/Resources/MergeValue.php deleted file mode 100644 index 4570170..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Http/Resources/MergeValue.php +++ /dev/null @@ -1,33 +0,0 @@ -data = $data->all(); - } elseif ($data instanceof JsonSerializable) { - $this->data = $data->jsonSerialize(); - } else { - $this->data = $data; - } - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Http/Resources/MissingValue.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Http/Resources/MissingValue.php deleted file mode 100644 index d0d8dfa..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Http/Resources/MissingValue.php +++ /dev/null @@ -1,16 +0,0 @@ -original = $content; - - // If the content is "JSONable" we will set the appropriate header and convert - // the content to JSON. This is useful when returning something like models - // from routes that will be automatically transformed to their JSON form. - if ($this->shouldBeJson($content)) { - $this->header('Content-Type', 'application/json'); - - $content = $this->morphToJson($content); - } - - // If this content implements the "Renderable" interface then we will call the - // render method on the object so we will avoid any "__toString" exceptions - // that might be thrown and have their errors obscured by PHP's handling. - elseif ($content instanceof Renderable) { - $content = $content->render(); - } - - parent::setContent($content); - - return $this; - } - - /** - * Determine if the given content should be turned into JSON. - * - * @param mixed $content - * @return bool - */ - protected function shouldBeJson($content) - { - return $content instanceof Arrayable || - $content instanceof Jsonable || - $content instanceof ArrayObject || - $content instanceof JsonSerializable || - is_array($content); - } - - /** - * Morph the given content into JSON. - * - * @param mixed $content - * @return string - */ - protected function morphToJson($content) - { - if ($content instanceof Jsonable) { - return $content->toJson(); - } elseif ($content instanceof Arrayable) { - return json_encode($content->toArray()); - } - - return json_encode($content); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Http/ResponseTrait.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Http/ResponseTrait.php deleted file mode 100644 index 21cd4c5..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Http/ResponseTrait.php +++ /dev/null @@ -1,151 +0,0 @@ -getStatusCode(); - } - - /** - * Get the content of the response. - * - * @return string - */ - public function content() - { - return $this->getContent(); - } - - /** - * Get the original response content. - * - * @return mixed - */ - public function getOriginalContent() - { - $original = $this->original; - - return $original instanceof self ? $original->{__FUNCTION__}() : $original; - } - - /** - * Set a header on the Response. - * - * @param string $key - * @param array|string $values - * @param bool $replace - * @return $this - */ - public function header($key, $values, $replace = true) - { - $this->headers->set($key, $values, $replace); - - return $this; - } - - /** - * Add an array of headers to the response. - * - * @param \Symfony\Component\HttpFoundation\HeaderBag|array $headers - * @return $this - */ - public function withHeaders($headers) - { - if ($headers instanceof HeaderBag) { - $headers = $headers->all(); - } - - foreach ($headers as $key => $value) { - $this->headers->set($key, $value); - } - - return $this; - } - - /** - * Add a cookie to the response. - * - * @param \Symfony\Component\HttpFoundation\Cookie|mixed $cookie - * @return $this - */ - public function cookie($cookie) - { - return call_user_func_array([$this, 'withCookie'], func_get_args()); - } - - /** - * Add a cookie to the response. - * - * @param \Symfony\Component\HttpFoundation\Cookie|mixed $cookie - * @return $this - */ - public function withCookie($cookie) - { - if (is_string($cookie) && function_exists('cookie')) { - $cookie = call_user_func_array('cookie', func_get_args()); - } - - $this->headers->setCookie($cookie); - - return $this; - } - - /** - * Get the callback of the response. - * - * @return string|null - */ - public function getCallback() - { - return $this->callback ?? null; - } - - /** - * Set the exception to attach to the response. - * - * @param \Exception $e - * @return $this - */ - public function withException(Exception $e) - { - $this->exception = $e; - - return $this; - } - - /** - * Throws the response in a HttpResponseException instance. - * - * @throws \Illuminate\Http\Exceptions\HttpResponseException - */ - public function throwResponse() - { - throw new HttpResponseException($this); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Http/Testing/File.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Http/Testing/File.php deleted file mode 100644 index 4b1140c..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Http/Testing/File.php +++ /dev/null @@ -1,115 +0,0 @@ -name = $name; - $this->tempFile = $tempFile; - - parent::__construct( - $this->tempFilePath(), $name, $this->getMimeType(), - null, true - ); - } - - /** - * Create a new fake file. - * - * @param string $name - * @param int $kilobytes - * @return \Illuminate\Http\Testing\File - */ - public static function create($name, $kilobytes = 0) - { - return (new FileFactory)->create($name, $kilobytes); - } - - /** - * Create a new fake image. - * - * @param string $name - * @param int $width - * @param int $height - * @return \Illuminate\Http\Testing\File - */ - public static function image($name, $width = 10, $height = 10) - { - return (new FileFactory)->image($name, $width, $height); - } - - /** - * Set the "size" of the file in kilobytes. - * - * @param int $kilobytes - * @return $this - */ - public function size($kilobytes) - { - $this->sizeToReport = $kilobytes * 1024; - - return $this; - } - - /** - * Get the size of the file. - * - * @return int - */ - public function getSize() - { - return $this->sizeToReport ?: parent::getSize(); - } - - /** - * Get the MIME type for the file. - * - * @return string - */ - public function getMimeType() - { - return MimeType::from($this->name); - } - - /** - * Get the path to the temporary file. - * - * @return string - */ - protected function tempFilePath() - { - return stream_get_meta_data($this->tempFile)['uri']; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Http/Testing/FileFactory.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Http/Testing/FileFactory.php deleted file mode 100644 index c79617e..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Http/Testing/FileFactory.php +++ /dev/null @@ -1,65 +0,0 @@ -sizeToReport = $kilobytes * 1024; - }); - } - - /** - * Create a new fake image. - * - * @param string $name - * @param int $width - * @param int $height - * @return \Illuminate\Http\Testing\File - */ - public function image($name, $width = 10, $height = 10) - { - return new File($name, $this->generateImage( - $width, $height, Str::endsWith(Str::lower($name), ['.jpg', '.jpeg']) ? 'jpeg' : 'png' - )); - } - - /** - * Generate a dummy image of the given width and height. - * - * @param int $width - * @param int $height - * @param string $type - * @return resource - */ - protected function generateImage($width, $height, $type) - { - return tap(tmpfile(), function ($temp) use ($width, $height, $type) { - ob_start(); - - $image = imagecreatetruecolor($width, $height); - - switch ($type) { - case 'jpeg': - imagejpeg($image); - break; - case 'png': - imagepng($image); - break; - } - - fwrite($temp, ob_get_clean()); - }); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Http/Testing/MimeType.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Http/Testing/MimeType.php deleted file mode 100644 index af1fc60..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Http/Testing/MimeType.php +++ /dev/null @@ -1,827 +0,0 @@ - 'application/andrew-inset', - 'aw' => 'application/applixware', - 'atom' => 'application/atom+xml', - 'atomcat' => 'application/atomcat+xml', - 'atomsvc' => 'application/atomsvc+xml', - 'ccxml' => 'application/ccxml+xml', - 'cdmia' => 'application/cdmi-capability', - 'cdmic' => 'application/cdmi-container', - 'cdmid' => 'application/cdmi-domain', - 'cdmio' => 'application/cdmi-object', - 'cdmiq' => 'application/cdmi-queue', - 'cu' => 'application/cu-seeme', - 'davmount' => 'application/davmount+xml', - 'dbk' => 'application/docbook+xml', - 'dssc' => 'application/dssc+der', - 'xdssc' => 'application/dssc+xml', - 'ecma' => 'application/ecmascript', - 'emma' => 'application/emma+xml', - 'epub' => 'application/epub+zip', - 'exi' => 'application/exi', - 'pfr' => 'application/font-tdpfr', - 'gml' => 'application/gml+xml', - 'gpx' => 'application/gpx+xml', - 'gxf' => 'application/gxf', - 'stk' => 'application/hyperstudio', - 'ink' => 'application/inkml+xml', - 'ipfix' => 'application/ipfix', - 'jar' => 'application/java-archive', - 'ser' => 'application/java-serialized-object', - 'class' => 'application/java-vm', - 'js' => 'application/javascript', - 'json' => 'application/json', - 'jsonml' => 'application/jsonml+json', - 'lostxml' => 'application/lost+xml', - 'hqx' => 'application/mac-binhex40', - 'cpt' => 'application/mac-compactpro', - 'mads' => 'application/mads+xml', - 'mrc' => 'application/marc', - 'mrcx' => 'application/marcxml+xml', - 'ma' => 'application/mathematica', - 'mathml' => 'application/mathml+xml', - 'mbox' => 'application/mbox', - 'mscml' => 'application/mediaservercontrol+xml', - 'metalink' => 'application/metalink+xml', - 'meta4' => 'application/metalink4+xml', - 'mets' => 'application/mets+xml', - 'mods' => 'application/mods+xml', - 'm21' => 'application/mp21', - 'mp4s' => 'application/mp4', - 'doc' => 'application/msword', - 'mxf' => 'application/mxf', - 'bin' => 'application/octet-stream', - 'oda' => 'application/oda', - 'opf' => 'application/oebps-package+xml', - 'ogx' => 'application/ogg', - 'omdoc' => 'application/omdoc+xml', - 'onetoc' => 'application/onenote', - 'oxps' => 'application/oxps', - 'xer' => 'application/patch-ops-error+xml', - 'pdf' => 'application/pdf', - 'pgp' => 'application/pgp-encrypted', - 'asc' => 'application/pgp-signature', - 'prf' => 'application/pics-rules', - 'p10' => 'application/pkcs10', - 'p7m' => 'application/pkcs7-mime', - 'p7s' => 'application/pkcs7-signature', - 'p8' => 'application/pkcs8', - 'ac' => 'application/pkix-attr-cert', - 'cer' => 'application/pkix-cert', - 'crl' => 'application/pkix-crl', - 'pkipath' => 'application/pkix-pkipath', - 'pki' => 'application/pkixcmp', - 'pls' => 'application/pls+xml', - 'ai' => 'application/postscript', - 'cww' => 'application/prs.cww', - 'pskcxml' => 'application/pskc+xml', - 'rdf' => 'application/rdf+xml', - 'rif' => 'application/reginfo+xml', - 'rnc' => 'application/relax-ng-compact-syntax', - 'rl' => 'application/resource-lists+xml', - 'rld' => 'application/resource-lists-diff+xml', - 'rs' => 'application/rls-services+xml', - 'gbr' => 'application/rpki-ghostbusters', - 'mft' => 'application/rpki-manifest', - 'roa' => 'application/rpki-roa', - 'rsd' => 'application/rsd+xml', - 'rss' => 'application/rss+xml', - 'sbml' => 'application/sbml+xml', - 'scq' => 'application/scvp-cv-request', - 'scs' => 'application/scvp-cv-response', - 'spq' => 'application/scvp-vp-request', - 'spp' => 'application/scvp-vp-response', - 'sdp' => 'application/sdp', - 'setpay' => 'application/set-payment-initiation', - 'setreg' => 'application/set-registration-initiation', - 'shf' => 'application/shf+xml', - 'smi' => 'application/smil+xml', - 'rq' => 'application/sparql-query', - 'srx' => 'application/sparql-results+xml', - 'gram' => 'application/srgs', - 'grxml' => 'application/srgs+xml', - 'sru' => 'application/sru+xml', - 'ssdl' => 'application/ssdl+xml', - 'ssml' => 'application/ssml+xml', - 'tei' => 'application/tei+xml', - 'tfi' => 'application/thraud+xml', - 'tsd' => 'application/timestamped-data', - 'plb' => 'application/vnd.3gpp.pic-bw-large', - 'psb' => 'application/vnd.3gpp.pic-bw-small', - 'pvb' => 'application/vnd.3gpp.pic-bw-var', - 'tcap' => 'application/vnd.3gpp2.tcap', - 'pwn' => 'application/vnd.3m.post-it-notes', - 'aso' => 'application/vnd.accpac.simply.aso', - 'imp' => 'application/vnd.accpac.simply.imp', - 'acu' => 'application/vnd.acucobol', - 'atc' => 'application/vnd.acucorp', - 'air' => 'application/vnd.adobe.air-application-installer-package+zip', - 'fcdt' => 'application/vnd.adobe.formscentral.fcdt', - 'fxp' => 'application/vnd.adobe.fxp', - 'xdp' => 'application/vnd.adobe.xdp+xml', - 'xfdf' => 'application/vnd.adobe.xfdf', - 'ahead' => 'application/vnd.ahead.space', - 'azf' => 'application/vnd.airzip.filesecure.azf', - 'azs' => 'application/vnd.airzip.filesecure.azs', - 'azw' => 'application/vnd.amazon.ebook', - 'acc' => 'application/vnd.americandynamics.acc', - 'ami' => 'application/vnd.amiga.ami', - 'apk' => 'application/vnd.android.package-archive', - 'cii' => 'application/vnd.anser-web-certificate-issue-initiation', - 'fti' => 'application/vnd.anser-web-funds-transfer-initiation', - 'atx' => 'application/vnd.antix.game-component', - 'mpkg' => 'application/vnd.apple.installer+xml', - 'm3u8' => 'application/vnd.apple.mpegurl', - 'swi' => 'application/vnd.aristanetworks.swi', - 'iota' => 'application/vnd.astraea-software.iota', - 'aep' => 'application/vnd.audiograph', - 'mpm' => 'application/vnd.blueice.multipass', - 'bmi' => 'application/vnd.bmi', - 'rep' => 'application/vnd.businessobjects', - 'cdxml' => 'application/vnd.chemdraw+xml', - 'mmd' => 'application/vnd.chipnuts.karaoke-mmd', - 'cdy' => 'application/vnd.cinderella', - 'cla' => 'application/vnd.claymore', - 'rp9' => 'application/vnd.cloanto.rp9', - 'c4g' => 'application/vnd.clonk.c4group', - 'c11amc' => 'application/vnd.cluetrust.cartomobile-config', - 'c11amz' => 'application/vnd.cluetrust.cartomobile-config-pkg', - 'csp' => 'application/vnd.commonspace', - 'cdbcmsg' => 'application/vnd.contact.cmsg', - 'cmc' => 'application/vnd.cosmocaller', - 'clkx' => 'application/vnd.crick.clicker', - 'clkk' => 'application/vnd.crick.clicker.keyboard', - 'clkp' => 'application/vnd.crick.clicker.palette', - 'clkt' => 'application/vnd.crick.clicker.template', - 'clkw' => 'application/vnd.crick.clicker.wordbank', - 'wbs' => 'application/vnd.criticaltools.wbs+xml', - 'pml' => 'application/vnd.ctc-posml', - 'ppd' => 'application/vnd.cups-ppd', - 'car' => 'application/vnd.curl.car', - 'pcurl' => 'application/vnd.curl.pcurl', - 'dart' => 'application/vnd.dart', - 'rdz' => 'application/vnd.data-vision.rdz', - 'uvf' => 'application/vnd.dece.data', - 'uvt' => 'application/vnd.dece.ttml+xml', - 'uvx' => 'application/vnd.dece.unspecified', - 'uvz' => 'application/vnd.dece.zip', - 'fe_launch' => 'application/vnd.denovo.fcselayout-link', - 'dna' => 'application/vnd.dna', - 'mlp' => 'application/vnd.dolby.mlp', - 'dpg' => 'application/vnd.dpgraph', - 'dfac' => 'application/vnd.dreamfactory', - 'kpxx' => 'application/vnd.ds-keypoint', - 'ait' => 'application/vnd.dvb.ait', - 'svc' => 'application/vnd.dvb.service', - 'geo' => 'application/vnd.dynageo', - 'mag' => 'application/vnd.ecowin.chart', - 'nml' => 'application/vnd.enliven', - 'esf' => 'application/vnd.epson.esf', - 'msf' => 'application/vnd.epson.msf', - 'qam' => 'application/vnd.epson.quickanime', - 'slt' => 'application/vnd.epson.salt', - 'ssf' => 'application/vnd.epson.ssf', - 'es3' => 'application/vnd.eszigno3+xml', - 'ez2' => 'application/vnd.ezpix-album', - 'ez3' => 'application/vnd.ezpix-package', - 'fdf' => 'application/vnd.fdf', - 'mseed' => 'application/vnd.fdsn.mseed', - 'seed' => 'application/vnd.fdsn.seed', - 'gph' => 'application/vnd.flographit', - 'ftc' => 'application/vnd.fluxtime.clip', - 'fm' => 'application/vnd.framemaker', - 'fnc' => 'application/vnd.frogans.fnc', - 'ltf' => 'application/vnd.frogans.ltf', - 'fsc' => 'application/vnd.fsc.weblaunch', - 'oas' => 'application/vnd.fujitsu.oasys', - 'oa2' => 'application/vnd.fujitsu.oasys2', - 'oa3' => 'application/vnd.fujitsu.oasys3', - 'fg5' => 'application/vnd.fujitsu.oasysgp', - 'bh2' => 'application/vnd.fujitsu.oasysprs', - 'ddd' => 'application/vnd.fujixerox.ddd', - 'xdw' => 'application/vnd.fujixerox.docuworks', - 'xbd' => 'application/vnd.fujixerox.docuworks.binder', - 'fzs' => 'application/vnd.fuzzysheet', - 'txd' => 'application/vnd.genomatix.tuxedo', - 'ggb' => 'application/vnd.geogebra.file', - 'ggt' => 'application/vnd.geogebra.tool', - 'gex' => 'application/vnd.geometry-explorer', - 'gxt' => 'application/vnd.geonext', - 'g2w' => 'application/vnd.geoplan', - 'g3w' => 'application/vnd.geospace', - 'gmx' => 'application/vnd.gmx', - 'kml' => 'application/vnd.google-earth.kml+xml', - 'kmz' => 'application/vnd.google-earth.kmz', - 'gqf' => 'application/vnd.grafeq', - 'gac' => 'application/vnd.groove-account', - 'ghf' => 'application/vnd.groove-help', - 'gim' => 'application/vnd.groove-identity-message', - 'grv' => 'application/vnd.groove-injector', - 'gtm' => 'application/vnd.groove-tool-message', - 'tpl' => 'application/vnd.groove-tool-template', - 'vcg' => 'application/vnd.groove-vcard', - 'hal' => 'application/vnd.hal+xml', - 'zmm' => 'application/vnd.handheld-entertainment+xml', - 'hbci' => 'application/vnd.hbci', - 'les' => 'application/vnd.hhe.lesson-player', - 'hpgl' => 'application/vnd.hp-hpgl', - 'hpid' => 'application/vnd.hp-hpid', - 'hps' => 'application/vnd.hp-hps', - 'jlt' => 'application/vnd.hp-jlyt', - 'pcl' => 'application/vnd.hp-pcl', - 'pclxl' => 'application/vnd.hp-pclxl', - 'sfd-hdstx' => 'application/vnd.hydrostatix.sof-data', - 'mpy' => 'application/vnd.ibm.minipay', - 'afp' => 'application/vnd.ibm.modcap', - 'irm' => 'application/vnd.ibm.rights-management', - 'sc' => 'application/vnd.ibm.secure-container', - 'icc' => 'application/vnd.iccprofile', - 'igl' => 'application/vnd.igloader', - 'ivp' => 'application/vnd.immervision-ivp', - 'ivu' => 'application/vnd.immervision-ivu', - 'igm' => 'application/vnd.insors.igm', - 'xpw' => 'application/vnd.intercon.formnet', - 'i2g' => 'application/vnd.intergeo', - 'qbo' => 'application/vnd.intu.qbo', - 'qfx' => 'application/vnd.intu.qfx', - 'rcprofile' => 'application/vnd.ipunplugged.rcprofile', - 'irp' => 'application/vnd.irepository.package+xml', - 'xpr' => 'application/vnd.is-xpr', - 'fcs' => 'application/vnd.isac.fcs', - 'jam' => 'application/vnd.jam', - 'rms' => 'application/vnd.jcp.javame.midlet-rms', - 'jisp' => 'application/vnd.jisp', - 'joda' => 'application/vnd.joost.joda-archive', - 'ktz' => 'application/vnd.kahootz', - 'karbon' => 'application/vnd.kde.karbon', - 'chrt' => 'application/vnd.kde.kchart', - 'kfo' => 'application/vnd.kde.kformula', - 'flw' => 'application/vnd.kde.kivio', - 'kon' => 'application/vnd.kde.kontour', - 'kpr' => 'application/vnd.kde.kpresenter', - 'ksp' => 'application/vnd.kde.kspread', - 'kwd' => 'application/vnd.kde.kword', - 'htke' => 'application/vnd.kenameaapp', - 'kia' => 'application/vnd.kidspiration', - 'kne' => 'application/vnd.kinar', - 'skp' => 'application/vnd.koan', - 'sse' => 'application/vnd.kodak-descriptor', - 'lasxml' => 'application/vnd.las.las+xml', - 'lbd' => 'application/vnd.llamagraphics.life-balance.desktop', - 'lbe' => 'application/vnd.llamagraphics.life-balance.exchange+xml', - '123' => 'application/vnd.lotus-1-2-3', - 'apr' => 'application/vnd.lotus-approach', - 'pre' => 'application/vnd.lotus-freelance', - 'nsf' => 'application/vnd.lotus-notes', - 'org' => 'application/vnd.lotus-organizer', - 'scm' => 'application/vnd.lotus-screencam', - 'lwp' => 'application/vnd.lotus-wordpro', - 'portpkg' => 'application/vnd.macports.portpkg', - 'mcd' => 'application/vnd.mcd', - 'mc1' => 'application/vnd.medcalcdata', - 'cdkey' => 'application/vnd.mediastation.cdkey', - 'mwf' => 'application/vnd.mfer', - 'mfm' => 'application/vnd.mfmp', - 'flo' => 'application/vnd.micrografx.flo', - 'igx' => 'application/vnd.micrografx.igx', - 'mif' => 'application/vnd.mif', - 'daf' => 'application/vnd.mobius.daf', - 'dis' => 'application/vnd.mobius.dis', - 'mbk' => 'application/vnd.mobius.mbk', - 'mqy' => 'application/vnd.mobius.mqy', - 'msl' => 'application/vnd.mobius.msl', - 'plc' => 'application/vnd.mobius.plc', - 'txf' => 'application/vnd.mobius.txf', - 'mpn' => 'application/vnd.mophun.application', - 'mpc' => 'application/vnd.mophun.certificate', - 'xul' => 'application/vnd.mozilla.xul+xml', - 'cil' => 'application/vnd.ms-artgalry', - 'cab' => 'application/vnd.ms-cab-compressed', - 'xls' => 'application/vnd.ms-excel', - 'xlam' => 'application/vnd.ms-excel.addin.macroenabled.12', - 'xlsb' => 'application/vnd.ms-excel.sheet.binary.macroenabled.12', - 'xlsm' => 'application/vnd.ms-excel.sheet.macroenabled.12', - 'xltm' => 'application/vnd.ms-excel.template.macroenabled.12', - 'eot' => 'application/vnd.ms-fontobject', - 'chm' => 'application/vnd.ms-htmlhelp', - 'ims' => 'application/vnd.ms-ims', - 'lrm' => 'application/vnd.ms-lrm', - 'thmx' => 'application/vnd.ms-officetheme', - 'cat' => 'application/vnd.ms-pki.seccat', - 'stl' => 'application/vnd.ms-pki.stl', - 'ppt' => 'application/vnd.ms-powerpoint', - 'ppam' => 'application/vnd.ms-powerpoint.addin.macroenabled.12', - 'pptm' => 'application/vnd.ms-powerpoint.presentation.macroenabled.12', - 'sldm' => 'application/vnd.ms-powerpoint.slide.macroenabled.12', - 'ppsm' => 'application/vnd.ms-powerpoint.slideshow.macroenabled.12', - 'potm' => 'application/vnd.ms-powerpoint.template.macroenabled.12', - 'mpp' => 'application/vnd.ms-project', - 'docm' => 'application/vnd.ms-word.document.macroenabled.12', - 'dotm' => 'application/vnd.ms-word.template.macroenabled.12', - 'wps' => 'application/vnd.ms-works', - 'wpl' => 'application/vnd.ms-wpl', - 'xps' => 'application/vnd.ms-xpsdocument', - 'mseq' => 'application/vnd.mseq', - 'mus' => 'application/vnd.musician', - 'msty' => 'application/vnd.muvee.style', - 'taglet' => 'application/vnd.mynfc', - 'nlu' => 'application/vnd.neurolanguage.nlu', - 'ntf' => 'application/vnd.nitf', - 'nnd' => 'application/vnd.noblenet-directory', - 'nns' => 'application/vnd.noblenet-sealer', - 'nnw' => 'application/vnd.noblenet-web', - 'ngdat' => 'application/vnd.nokia.n-gage.data', - 'n-gage' => 'application/vnd.nokia.n-gage.symbian.install', - 'rpst' => 'application/vnd.nokia.radio-preset', - 'rpss' => 'application/vnd.nokia.radio-presets', - 'edm' => 'application/vnd.novadigm.edm', - 'edx' => 'application/vnd.novadigm.edx', - 'ext' => 'application/vnd.novadigm.ext', - 'odc' => 'application/vnd.oasis.opendocument.chart', - 'otc' => 'application/vnd.oasis.opendocument.chart-template', - 'odb' => 'application/vnd.oasis.opendocument.database', - 'odf' => 'application/vnd.oasis.opendocument.formula', - 'odft' => 'application/vnd.oasis.opendocument.formula-template', - 'odg' => 'application/vnd.oasis.opendocument.graphics', - 'otg' => 'application/vnd.oasis.opendocument.graphics-template', - 'odi' => 'application/vnd.oasis.opendocument.image', - 'oti' => 'application/vnd.oasis.opendocument.image-template', - 'odp' => 'application/vnd.oasis.opendocument.presentation', - 'otp' => 'application/vnd.oasis.opendocument.presentation-template', - 'ods' => 'application/vnd.oasis.opendocument.spreadsheet', - 'ots' => 'application/vnd.oasis.opendocument.spreadsheet-template', - 'odt' => 'application/vnd.oasis.opendocument.text', - 'odm' => 'application/vnd.oasis.opendocument.text-master', - 'ott' => 'application/vnd.oasis.opendocument.text-template', - 'oth' => 'application/vnd.oasis.opendocument.text-web', - 'xo' => 'application/vnd.olpc-sugar', - 'dd2' => 'application/vnd.oma.dd2+xml', - 'oxt' => 'application/vnd.openofficeorg.extension', - 'pptx' => 'application/vnd.openxmlformats-officedocument.presentationml.presentation', - 'sldx' => 'application/vnd.openxmlformats-officedocument.presentationml.slide', - 'ppsx' => 'application/vnd.openxmlformats-officedocument.presentationml.slideshow', - 'potx' => 'application/vnd.openxmlformats-officedocument.presentationml.template', - 'xlsx' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', - 'xltx' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.template', - 'docx' => 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', - 'dotx' => 'application/vnd.openxmlformats-officedocument.wordprocessingml.template', - 'mgp' => 'application/vnd.osgeo.mapguide.package', - 'dp' => 'application/vnd.osgi.dp', - 'esa' => 'application/vnd.osgi.subsystem', - 'pdb' => 'application/vnd.palm', - 'paw' => 'application/vnd.pawaafile', - 'str' => 'application/vnd.pg.format', - 'ei6' => 'application/vnd.pg.osasli', - 'efif' => 'application/vnd.picsel', - 'wg' => 'application/vnd.pmi.widget', - 'plf' => 'application/vnd.pocketlearn', - 'pbd' => 'application/vnd.powerbuilder6', - 'box' => 'application/vnd.previewsystems.box', - 'mgz' => 'application/vnd.proteus.magazine', - 'qps' => 'application/vnd.publishare-delta-tree', - 'ptid' => 'application/vnd.pvi.ptid1', - 'qxd' => 'application/vnd.quark.quarkxpress', - 'bed' => 'application/vnd.realvnc.bed', - 'mxl' => 'application/vnd.recordare.musicxml', - 'musicxml' => 'application/vnd.recordare.musicxml+xml', - 'cryptonote' => 'application/vnd.rig.cryptonote', - 'cod' => 'application/vnd.rim.cod', - 'rm' => 'application/vnd.rn-realmedia', - 'rmvb' => 'application/vnd.rn-realmedia-vbr', - 'link66' => 'application/vnd.route66.link66+xml', - 'st' => 'application/vnd.sailingtracker.track', - 'see' => 'application/vnd.seemail', - 'sema' => 'application/vnd.sema', - 'semd' => 'application/vnd.semd', - 'semf' => 'application/vnd.semf', - 'ifm' => 'application/vnd.shana.informed.formdata', - 'itp' => 'application/vnd.shana.informed.formtemplate', - 'iif' => 'application/vnd.shana.informed.interchange', - 'ipk' => 'application/vnd.shana.informed.package', - 'twd' => 'application/vnd.simtech-mindmapper', - 'mmf' => 'application/vnd.smaf', - 'teacher' => 'application/vnd.smart.teacher', - 'sdkm' => 'application/vnd.solent.sdkm+xml', - 'dxp' => 'application/vnd.spotfire.dxp', - 'sfs' => 'application/vnd.spotfire.sfs', - 'sdc' => 'application/vnd.stardivision.calc', - 'sda' => 'application/vnd.stardivision.draw', - 'sdd' => 'application/vnd.stardivision.impress', - 'smf' => 'application/vnd.stardivision.math', - 'sdw' => 'application/vnd.stardivision.writer', - 'sgl' => 'application/vnd.stardivision.writer-global', - 'smzip' => 'application/vnd.stepmania.package', - 'sm' => 'application/vnd.stepmania.stepchart', - 'sxc' => 'application/vnd.sun.xml.calc', - 'stc' => 'application/vnd.sun.xml.calc.template', - 'sxd' => 'application/vnd.sun.xml.draw', - 'std' => 'application/vnd.sun.xml.draw.template', - 'sxi' => 'application/vnd.sun.xml.impress', - 'sti' => 'application/vnd.sun.xml.impress.template', - 'sxm' => 'application/vnd.sun.xml.math', - 'sxw' => 'application/vnd.sun.xml.writer', - 'sxg' => 'application/vnd.sun.xml.writer.global', - 'stw' => 'application/vnd.sun.xml.writer.template', - 'sus' => 'application/vnd.sus-calendar', - 'svd' => 'application/vnd.svd', - 'sis' => 'application/vnd.symbian.install', - 'xsm' => 'application/vnd.syncml+xml', - 'bdm' => 'application/vnd.syncml.dm+wbxml', - 'xdm' => 'application/vnd.syncml.dm+xml', - 'tao' => 'application/vnd.tao.intent-module-archive', - 'pcap' => 'application/vnd.tcpdump.pcap', - 'tmo' => 'application/vnd.tmobile-livetv', - 'tpt' => 'application/vnd.trid.tpt', - 'mxs' => 'application/vnd.triscape.mxs', - 'tra' => 'application/vnd.trueapp', - 'ufd' => 'application/vnd.ufdl', - 'utz' => 'application/vnd.uiq.theme', - 'umj' => 'application/vnd.umajin', - 'unityweb' => 'application/vnd.unity', - 'uoml' => 'application/vnd.uoml+xml', - 'vcx' => 'application/vnd.vcx', - 'vsd' => 'application/vnd.visio', - 'vis' => 'application/vnd.visionary', - 'vsf' => 'application/vnd.vsf', - 'wbxml' => 'application/vnd.wap.wbxml', - 'wmlc' => 'application/vnd.wap.wmlc', - 'wmlsc' => 'application/vnd.wap.wmlscriptc', - 'wtb' => 'application/vnd.webturbo', - 'nbp' => 'application/vnd.wolfram.player', - 'wpd' => 'application/vnd.wordperfect', - 'wqd' => 'application/vnd.wqd', - 'stf' => 'application/vnd.wt.stf', - 'xar' => 'application/vnd.xara', - 'xfdl' => 'application/vnd.xfdl', - 'hvd' => 'application/vnd.yamaha.hv-dic', - 'hvs' => 'application/vnd.yamaha.hv-script', - 'hvp' => 'application/vnd.yamaha.hv-voice', - 'osf' => 'application/vnd.yamaha.openscoreformat', - 'osfpvg' => 'application/vnd.yamaha.openscoreformat.osfpvg+xml', - 'saf' => 'application/vnd.yamaha.smaf-audio', - 'spf' => 'application/vnd.yamaha.smaf-phrase', - 'cmp' => 'application/vnd.yellowriver-custom-menu', - 'zir' => 'application/vnd.zul', - 'zaz' => 'application/vnd.zzazz.deck+xml', - 'vxml' => 'application/voicexml+xml', - 'wgt' => 'application/widget', - 'hlp' => 'application/winhlp', - 'wsdl' => 'application/wsdl+xml', - 'wspolicy' => 'application/wspolicy+xml', - '7z' => 'application/x-7z-compressed', - 'abw' => 'application/x-abiword', - 'ace' => 'application/x-ace-compressed', - 'dmg' => 'application/x-apple-diskimage', - 'aab' => 'application/x-authorware-bin', - 'aam' => 'application/x-authorware-map', - 'aas' => 'application/x-authorware-seg', - 'bcpio' => 'application/x-bcpio', - 'torrent' => 'application/x-bittorrent', - 'blb' => 'application/x-blorb', - 'bz' => 'application/x-bzip', - 'bz2' => 'application/x-bzip2', - 'cbr' => 'application/x-cbr', - 'vcd' => 'application/x-cdlink', - 'cfs' => 'application/x-cfs-compressed', - 'chat' => 'application/x-chat', - 'pgn' => 'application/x-chess-pgn', - 'nsc' => 'application/x-conference', - 'cpio' => 'application/x-cpio', - 'csh' => 'application/x-csh', - 'deb' => 'application/x-debian-package', - 'dgc' => 'application/x-dgc-compressed', - 'dir' => 'application/x-director', - 'wad' => 'application/x-doom', - 'ncx' => 'application/x-dtbncx+xml', - 'dtb' => 'application/x-dtbook+xml', - 'res' => 'application/x-dtbresource+xml', - 'dvi' => 'application/x-dvi', - 'evy' => 'application/x-envoy', - 'eva' => 'application/x-eva', - 'bdf' => 'application/x-font-bdf', - 'gsf' => 'application/x-font-ghostscript', - 'psf' => 'application/x-font-linux-psf', - 'otf' => 'application/x-font-otf', - 'pcf' => 'application/x-font-pcf', - 'snf' => 'application/x-font-snf', - 'ttf' => 'application/x-font-ttf', - 'pfa' => 'application/x-font-type1', - 'woff' => 'application/x-font-woff', - 'arc' => 'application/x-freearc', - 'spl' => 'application/x-futuresplash', - 'gca' => 'application/x-gca-compressed', - 'ulx' => 'application/x-glulx', - 'gnumeric' => 'application/x-gnumeric', - 'gramps' => 'application/x-gramps-xml', - 'gtar' => 'application/x-gtar', - 'hdf' => 'application/x-hdf', - 'install' => 'application/x-install-instructions', - 'iso' => 'application/x-iso9660-image', - 'jnlp' => 'application/x-java-jnlp-file', - 'latex' => 'application/x-latex', - 'lzh' => 'application/x-lzh-compressed', - 'mie' => 'application/x-mie', - 'prc' => 'application/x-mobipocket-ebook', - 'application' => 'application/x-ms-application', - 'lnk' => 'application/x-ms-shortcut', - 'wmd' => 'application/x-ms-wmd', - 'wmz' => 'application/x-ms-wmz', - 'xbap' => 'application/x-ms-xbap', - 'mdb' => 'application/x-msaccess', - 'obd' => 'application/x-msbinder', - 'crd' => 'application/x-mscardfile', - 'clp' => 'application/x-msclip', - 'exe' => 'application/x-msdownload', - 'mvb' => 'application/x-msmediaview', - 'wmf' => 'application/x-msmetafile', - 'mny' => 'application/x-msmoney', - 'pub' => 'application/x-mspublisher', - 'scd' => 'application/x-msschedule', - 'trm' => 'application/x-msterminal', - 'wri' => 'application/x-mswrite', - 'nc' => 'application/x-netcdf', - 'nzb' => 'application/x-nzb', - 'p12' => 'application/x-pkcs12', - 'p7b' => 'application/x-pkcs7-certificates', - 'p7r' => 'application/x-pkcs7-certreqresp', - 'rar' => 'application/x-rar', - 'ris' => 'application/x-research-info-systems', - 'sh' => 'application/x-sh', - 'shar' => 'application/x-shar', - 'swf' => 'application/x-shockwave-flash', - 'xap' => 'application/x-silverlight-app', - 'sql' => 'application/x-sql', - 'sit' => 'application/x-stuffit', - 'sitx' => 'application/x-stuffitx', - 'srt' => 'application/x-subrip', - 'sv4cpio' => 'application/x-sv4cpio', - 'sv4crc' => 'application/x-sv4crc', - 't3' => 'application/x-t3vm-image', - 'gam' => 'application/x-tads', - 'tar' => 'application/x-tar', - 'tcl' => 'application/x-tcl', - 'tex' => 'application/x-tex', - 'tfm' => 'application/x-tex-tfm', - 'texinfo' => 'application/x-texinfo', - 'obj' => 'application/x-tgif', - 'ustar' => 'application/x-ustar', - 'src' => 'application/x-wais-source', - 'der' => 'application/x-x509-ca-cert', - 'fig' => 'application/x-xfig', - 'xlf' => 'application/x-xliff+xml', - 'xpi' => 'application/x-xpinstall', - 'xz' => 'application/x-xz', - 'z1' => 'application/x-zmachine', - 'xaml' => 'application/xaml+xml', - 'xdf' => 'application/xcap-diff+xml', - 'xenc' => 'application/xenc+xml', - 'xhtml' => 'application/xhtml+xml', - 'xml' => 'application/xml', - 'dtd' => 'application/xml-dtd', - 'xop' => 'application/xop+xml', - 'xpl' => 'application/xproc+xml', - 'xslt' => 'application/xslt+xml', - 'xspf' => 'application/xspf+xml', - 'mxml' => 'application/xv+xml', - 'yang' => 'application/yang', - 'yin' => 'application/yin+xml', - 'zip' => 'application/zip', - 'adp' => 'audio/adpcm', - 'au' => 'audio/basic', - 'mid' => 'audio/midi', - 'mp3' => 'audio/mpeg', - 'mp4a' => 'audio/mp4', - 'mpga' => 'audio/mpeg', - 'oga' => 'audio/ogg', - 's3m' => 'audio/s3m', - 'sil' => 'audio/silk', - 'uva' => 'audio/vnd.dece.audio', - 'eol' => 'audio/vnd.digital-winds', - 'dra' => 'audio/vnd.dra', - 'dts' => 'audio/vnd.dts', - 'dtshd' => 'audio/vnd.dts.hd', - 'lvp' => 'audio/vnd.lucent.voice', - 'pya' => 'audio/vnd.ms-playready.media.pya', - 'ecelp4800' => 'audio/vnd.nuera.ecelp4800', - 'ecelp7470' => 'audio/vnd.nuera.ecelp7470', - 'ecelp9600' => 'audio/vnd.nuera.ecelp9600', - 'rip' => 'audio/vnd.rip', - 'weba' => 'audio/webm', - 'aac' => 'audio/x-aac', - 'aif' => 'audio/x-aiff', - 'caf' => 'audio/x-caf', - 'flac' => 'audio/x-flac', - 'mka' => 'audio/x-matroska', - 'm3u' => 'audio/x-mpegurl', - 'wax' => 'audio/x-ms-wax', - 'wma' => 'audio/x-ms-wma', - 'ram' => 'audio/x-pn-realaudio', - 'rmp' => 'audio/x-pn-realaudio-plugin', - 'wav' => 'audio/x-wav', - 'xm' => 'audio/xm', - 'cdx' => 'chemical/x-cdx', - 'cif' => 'chemical/x-cif', - 'cmdf' => 'chemical/x-cmdf', - 'cml' => 'chemical/x-cml', - 'csml' => 'chemical/x-csml', - 'xyz' => 'chemical/x-xyz', - 'bmp' => 'image/bmp', - 'cgm' => 'image/cgm', - 'g3' => 'image/g3fax', - 'gif' => 'image/gif', - 'ief' => 'image/ief', - 'jpg' => 'image/jpeg', - 'jpeg' => 'image/jpeg', - 'ktx' => 'image/ktx', - 'png' => 'image/png', - 'btif' => 'image/prs.btif', - 'sgi' => 'image/sgi', - 'svg' => 'image/svg+xml', - 'tiff' => 'image/tiff', - 'psd' => 'image/vnd.adobe.photoshop', - 'uvi' => 'image/vnd.dece.graphic', - 'djvu' => 'image/vnd.djvu', - 'dwg' => 'image/vnd.dwg', - 'dxf' => 'image/vnd.dxf', - 'fbs' => 'image/vnd.fastbidsheet', - 'fpx' => 'image/vnd.fpx', - 'fst' => 'image/vnd.fst', - 'mmr' => 'image/vnd.fujixerox.edmics-mmr', - 'rlc' => 'image/vnd.fujixerox.edmics-rlc', - 'mdi' => 'image/vnd.ms-modi', - 'wdp' => 'image/vnd.ms-photo', - 'npx' => 'image/vnd.net-fpx', - 'wbmp' => 'image/vnd.wap.wbmp', - 'xif' => 'image/vnd.xiff', - 'webp' => 'image/webp', - '3ds' => 'image/x-3ds', - 'ras' => 'image/x-cmu-raster', - 'cmx' => 'image/x-cmx', - 'fh' => 'image/x-freehand', - 'ico' => 'image/x-icon', - 'sid' => 'image/x-mrsid-image', - 'pcx' => 'image/x-pcx', - 'pic' => 'image/x-pict', - 'pnm' => 'image/x-portable-anymap', - 'pbm' => 'image/x-portable-bitmap', - 'pgm' => 'image/x-portable-graymap', - 'ppm' => 'image/x-portable-pixmap', - 'rgb' => 'image/x-rgb', - 'tga' => 'image/x-tga', - 'xbm' => 'image/x-xbitmap', - 'xpm' => 'image/x-xpixmap', - 'xwd' => 'image/x-xwindowdump', - 'eml' => 'message/rfc822', - 'igs' => 'model/iges', - 'msh' => 'model/mesh', - 'dae' => 'model/vnd.collada+xml', - 'dwf' => 'model/vnd.dwf', - 'gdl' => 'model/vnd.gdl', - 'gtw' => 'model/vnd.gtw', - 'mts' => 'model/vnd.mts', - 'vtu' => 'model/vnd.vtu', - 'wrl' => 'model/vrml', - 'x3db' => 'model/x3d+binary', - 'x3dv' => 'model/x3d+vrml', - 'x3d' => 'model/x3d+xml', - 'appcache' => 'text/cache-manifest', - 'ics' => 'text/calendar', - 'css' => 'text/css', - 'csv' => 'text/csv', - 'html' => 'text/html', - 'n3' => 'text/n3', - 'txt' => 'text/plain', - 'dsc' => 'text/prs.lines.tag', - 'rtx' => 'text/richtext', - 'rtf' => 'text/rtf', - 'sgml' => 'text/sgml', - 'tsv' => 'text/tab-separated-values', - 't' => 'text/troff', - 'ttl' => 'text/turtle', - 'uri' => 'text/uri-list', - 'vcard' => 'text/vcard', - 'curl' => 'text/vnd.curl', - 'dcurl' => 'text/vnd.curl.dcurl', - 'scurl' => 'text/vnd.curl.scurl', - 'mcurl' => 'text/vnd.curl.mcurl', - 'sub' => 'text/vnd.dvb.subtitle', - 'fly' => 'text/vnd.fly', - 'flx' => 'text/vnd.fmi.flexstor', - 'gv' => 'text/vnd.graphviz', - '3dml' => 'text/vnd.in3d.3dml', - 'spot' => 'text/vnd.in3d.spot', - 'jad' => 'text/vnd.sun.j2me.app-descriptor', - 'wml' => 'text/vnd.wap.wml', - 'wmls' => 'text/vnd.wap.wmlscript', - 's' => 'text/x-asm', - 'c' => 'text/x-c', - 'f' => 'text/x-fortran', - 'p' => 'text/x-pascal', - 'java' => 'text/x-java-source', - 'opml' => 'text/x-opml', - 'nfo' => 'text/x-nfo', - 'etx' => 'text/x-setext', - 'sfv' => 'text/x-sfv', - 'uu' => 'text/x-uuencode', - 'vcs' => 'text/x-vcalendar', - 'vcf' => 'text/x-vcard', - '3gp' => 'video/3gpp', - '3g2' => 'video/3gpp2', - 'h261' => 'video/h261', - 'h263' => 'video/h263', - 'h264' => 'video/h264', - 'jpgv' => 'video/jpeg', - 'jpm' => 'video/jpm', - 'mj2' => 'video/mj2', - 'mp4' => 'video/mp4', - 'mpeg' => 'video/mpeg', - 'ogv' => 'video/ogg', - 'mov' => 'video/quicktime', - 'qt' => 'video/quicktime', - 'uvh' => 'video/vnd.dece.hd', - 'uvm' => 'video/vnd.dece.mobile', - 'uvp' => 'video/vnd.dece.pd', - 'uvs' => 'video/vnd.dece.sd', - 'uvv' => 'video/vnd.dece.video', - 'dvb' => 'video/vnd.dvb.file', - 'fvt' => 'video/vnd.fvt', - 'mxu' => 'video/vnd.mpegurl', - 'pyv' => 'video/vnd.ms-playready.media.pyv', - 'uvu' => 'video/vnd.uvvu.mp4', - 'viv' => 'video/vnd.vivo', - 'webm' => 'video/webm', - 'f4v' => 'video/x-f4v', - 'fli' => 'video/x-fli', - 'flv' => 'video/x-flv', - 'm4v' => 'video/x-m4v', - 'mkv' => 'video/x-matroska', - 'mng' => 'video/x-mng', - 'asf' => 'video/x-ms-asf', - 'vob' => 'video/x-ms-vob', - 'wm' => 'video/x-ms-wm', - 'wmv' => 'video/x-ms-wmv', - 'wmx' => 'video/x-ms-wmx', - 'wvx' => 'video/x-ms-wvx', - 'avi' => 'video/x-msvideo', - 'movie' => 'video/x-sgi-movie', - 'smv' => 'video/x-smv', - 'ice' => 'x-conference/x-cooltalk', - ]; - - /** - * Get the MIME type for a file based on the file's extension. - * - * @param string $filename - * @return string - */ - public static function from($filename) - { - $extension = pathinfo($filename, PATHINFO_EXTENSION); - - return self::getMimeTypeFromExtension($extension); - } - - /** - * Get the MIME type for a given extension or return all mimes. - * - * @param string|null $extension - * @return string|array - */ - public static function get($extension = null) - { - return $extension ? self::getMimeTypeFromExtension($extension) : self::$mimes; - } - - /** - * Search for the extension of a given MIME type. - * - * @param string $mimeType - * @return string|null - */ - public static function search($mimeType) - { - return array_search($mimeType, self::$mimes) ?: null; - } - - /** - * Get the MIME type for a given extension. - * - * @param string $extension - * @return string - */ - protected static function getMimeTypeFromExtension($extension) - { - return self::$mimes[$extension] ?? 'application/octet-stream'; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Http/UploadedFile.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Http/UploadedFile.php deleted file mode 100644 index 7962209..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Http/UploadedFile.php +++ /dev/null @@ -1,148 +0,0 @@ -storeAs($path, $this->hashName(), $this->parseOptions($options)); - } - - /** - * Store the uploaded file on a filesystem disk with public visibility. - * - * @param string $path - * @param array|string $options - * @return string|false - */ - public function storePublicly($path, $options = []) - { - $options = $this->parseOptions($options); - - $options['visibility'] = 'public'; - - return $this->storeAs($path, $this->hashName(), $options); - } - - /** - * Store the uploaded file on a filesystem disk with public visibility. - * - * @param string $path - * @param string $name - * @param array|string $options - * @return string|false - */ - public function storePubliclyAs($path, $name, $options = []) - { - $options = $this->parseOptions($options); - - $options['visibility'] = 'public'; - - return $this->storeAs($path, $name, $options); - } - - /** - * Store the uploaded file on a filesystem disk. - * - * @param string $path - * @param string $name - * @param array|string $options - * @return string|false - */ - public function storeAs($path, $name, $options = []) - { - $options = $this->parseOptions($options); - - $disk = Arr::pull($options, 'disk'); - - return Container::getInstance()->make(FilesystemFactory::class)->disk($disk)->putFileAs( - $path, $this, $name, $options - ); - } - - /** - * Get the contents of the uploaded file. - * - * @return bool|string - * - * @throws \Illuminate\Contracts\Filesystem\FileNotFoundException - */ - public function get() - { - if (! $this->isValid()) { - throw new FileNotFoundException("File does not exist at path {$this->getPathname()}"); - } - - return file_get_contents($this->getPathname()); - } - - /** - * Get the file's extension supplied by the client. - * - * @return string - */ - public function clientExtension() - { - return $this->guessClientExtension(); - } - - /** - * Create a new file instance from a base instance. - * - * @param \Symfony\Component\HttpFoundation\File\UploadedFile $file - * @param bool $test - * @return static - */ - public static function createFromBase(SymfonyUploadedFile $file, $test = false) - { - return $file instanceof static ? $file : new static( - $file->getPathname(), - $file->getClientOriginalName(), - $file->getClientMimeType(), - $file->getError(), - $test - ); - } - - /** - * Parse and format the given options. - * - * @param array|string $options - * @return array - */ - protected function parseOptions($options) - { - if (is_string($options)) { - $options = ['disk' => $options]; - } - - return $options; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Http/composer.json b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Http/composer.json deleted file mode 100644 index eb9ba21..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Http/composer.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "name": "illuminate/http", - "description": "The Illuminate Http package.", - "license": "MIT", - "homepage": "https://laravel.com", - "support": { - "issues": "https://github.com/laravel/framework/issues", - "source": "https://github.com/laravel/framework" - }, - "authors": [ - { - "name": "Taylor Otwell", - "email": "taylor@laravel.com" - } - ], - "require": { - "php": "^7.1.3", - "ext-json": "*", - "illuminate/session": "5.8.*", - "illuminate/support": "5.8.*", - "symfony/http-foundation": "^4.2", - "symfony/http-kernel": "^4.2" - }, - "autoload": { - "psr-4": { - "Illuminate\\Http\\": "" - } - }, - "suggest": { - "ext-gd": "Required to use Illuminate\\Http\\Testing\\FileFactory::image()." - }, - "extra": { - "branch-alias": { - "dev-master": "5.8-dev" - } - }, - "config": { - "sort-packages": true - }, - "minimum-stability": "dev" -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Log/Events/MessageLogged.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Log/Events/MessageLogged.php deleted file mode 100644 index 312b343..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Log/Events/MessageLogged.php +++ /dev/null @@ -1,42 +0,0 @@ -level = $level; - $this->message = $message; - $this->context = $context; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Log/LICENSE.md b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Log/LICENSE.md deleted file mode 100644 index 79810c8..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Log/LICENSE.md +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) Taylor Otwell - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Log/LogManager.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Log/LogManager.php deleted file mode 100644 index 13b5f89..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Log/LogManager.php +++ /dev/null @@ -1,585 +0,0 @@ -app = $app; - } - - /** - * Create a new, on-demand aggregate logger instance. - * - * @param array $channels - * @param string|null $channel - * @return \Psr\Log\LoggerInterface - */ - public function stack(array $channels, $channel = null) - { - return new Logger( - $this->createStackDriver(compact('channels', 'channel')), - $this->app['events'] - ); - } - - /** - * Get a log channel instance. - * - * @param string|null $channel - * @return mixed - */ - public function channel($channel = null) - { - return $this->driver($channel); - } - - /** - * Get a log driver instance. - * - * @param string|null $driver - * @return mixed - */ - public function driver($driver = null) - { - return $this->get($driver ?? $this->getDefaultDriver()); - } - - /** - * Attempt to get the log from the local cache. - * - * @param string $name - * @return \Psr\Log\LoggerInterface - */ - protected function get($name) - { - try { - return $this->channels[$name] ?? with($this->resolve($name), function ($logger) use ($name) { - return $this->channels[$name] = $this->tap($name, new Logger($logger, $this->app['events'])); - }); - } catch (Throwable $e) { - return tap($this->createEmergencyLogger(), function ($logger) use ($e) { - $logger->emergency('Unable to create configured logger. Using emergency logger.', [ - 'exception' => $e, - ]); - }); - } - } - - /** - * Apply the configured taps for the logger. - * - * @param string $name - * @param \Illuminate\Log\Logger $logger - * @return \Illuminate\Log\Logger - */ - protected function tap($name, Logger $logger) - { - foreach ($this->configurationFor($name)['tap'] ?? [] as $tap) { - [$class, $arguments] = $this->parseTap($tap); - - $this->app->make($class)->__invoke($logger, ...explode(',', $arguments)); - } - - return $logger; - } - - /** - * Parse the given tap class string into a class name and arguments string. - * - * @param string $tap - * @return array - */ - protected function parseTap($tap) - { - return Str::contains($tap, ':') ? explode(':', $tap, 2) : [$tap, '']; - } - - /** - * Create an emergency log handler to avoid white screens of death. - * - * @return \Psr\Log\LoggerInterface - */ - protected function createEmergencyLogger() - { - return new Logger(new Monolog('laravel', $this->prepareHandlers([new StreamHandler( - $this->app->storagePath().'/logs/laravel.log', $this->level(['level' => 'debug']) - )])), $this->app['events']); - } - - /** - * Resolve the given log instance by name. - * - * @param string $name - * @return \Psr\Log\LoggerInterface - * - * @throws \InvalidArgumentException - */ - protected function resolve($name) - { - $config = $this->configurationFor($name); - - if (is_null($config)) { - throw new InvalidArgumentException("Log [{$name}] is not defined."); - } - - if (isset($this->customCreators[$config['driver']])) { - return $this->callCustomCreator($config); - } - - $driverMethod = 'create'.ucfirst($config['driver']).'Driver'; - - if (method_exists($this, $driverMethod)) { - return $this->{$driverMethod}($config); - } - - throw new InvalidArgumentException("Driver [{$config['driver']}] is not supported."); - } - - /** - * Call a custom driver creator. - * - * @param array $config - * @return mixed - */ - protected function callCustomCreator(array $config) - { - return $this->customCreators[$config['driver']]($this->app, $config); - } - - /** - * Create a custom log driver instance. - * - * @param array $config - * @return \Psr\Log\LoggerInterface - */ - protected function createCustomDriver(array $config) - { - $factory = is_callable($via = $config['via']) ? $via : $this->app->make($via); - - return $factory($config); - } - - /** - * Create an aggregate log driver instance. - * - * @param array $config - * @return \Psr\Log\LoggerInterface - */ - protected function createStackDriver(array $config) - { - $handlers = collect($config['channels'])->flatMap(function ($channel) { - return $this->channel($channel)->getHandlers(); - })->all(); - - if ($config['ignore_exceptions'] ?? false) { - $handlers = [new WhatFailureGroupHandler($handlers)]; - } - - return new Monolog($this->parseChannel($config), $handlers); - } - - /** - * Create an instance of the single file log driver. - * - * @param array $config - * @return \Psr\Log\LoggerInterface - */ - protected function createSingleDriver(array $config) - { - return new Monolog($this->parseChannel($config), [ - $this->prepareHandler( - new StreamHandler( - $config['path'], $this->level($config), - $config['bubble'] ?? true, $config['permission'] ?? null, $config['locking'] ?? false - ), $config - ), - ]); - } - - /** - * Create an instance of the daily file log driver. - * - * @param array $config - * @return \Psr\Log\LoggerInterface - */ - protected function createDailyDriver(array $config) - { - return new Monolog($this->parseChannel($config), [ - $this->prepareHandler(new RotatingFileHandler( - $config['path'], $config['days'] ?? 7, $this->level($config), - $config['bubble'] ?? true, $config['permission'] ?? null, $config['locking'] ?? false - ), $config), - ]); - } - - /** - * Create an instance of the Slack log driver. - * - * @param array $config - * @return \Psr\Log\LoggerInterface - */ - protected function createSlackDriver(array $config) - { - return new Monolog($this->parseChannel($config), [ - $this->prepareHandler(new SlackWebhookHandler( - $config['url'], - $config['channel'] ?? null, - $config['username'] ?? 'Laravel', - $config['attachment'] ?? true, - $config['emoji'] ?? ':boom:', - $config['short'] ?? false, - $config['context'] ?? true, - $this->level($config), - $config['bubble'] ?? true, - $config['exclude_fields'] ?? [] - ), $config), - ]); - } - - /** - * Create an instance of the syslog log driver. - * - * @param array $config - * @return \Psr\Log\LoggerInterface - */ - protected function createSyslogDriver(array $config) - { - return new Monolog($this->parseChannel($config), [ - $this->prepareHandler(new SyslogHandler( - Str::snake($this->app['config']['app.name'], '-'), - $config['facility'] ?? LOG_USER, $this->level($config) - ), $config), - ]); - } - - /** - * Create an instance of the "error log" log driver. - * - * @param array $config - * @return \Psr\Log\LoggerInterface - */ - protected function createErrorlogDriver(array $config) - { - return new Monolog($this->parseChannel($config), [ - $this->prepareHandler(new ErrorLogHandler( - $config['type'] ?? ErrorLogHandler::OPERATING_SYSTEM, $this->level($config) - )), - ]); - } - - /** - * Create an instance of any handler available in Monolog. - * - * @param array $config - * @return \Psr\Log\LoggerInterface - * - * @throws \InvalidArgumentException - * @throws \Illuminate\Contracts\Container\BindingResolutionException - */ - protected function createMonologDriver(array $config) - { - if (! is_a($config['handler'], HandlerInterface::class, true)) { - throw new InvalidArgumentException( - $config['handler'].' must be an instance of '.HandlerInterface::class - ); - } - - $with = array_merge( - ['level' => $this->level($config)], - $config['with'] ?? [], - $config['handler_with'] ?? [] - ); - - return new Monolog($this->parseChannel($config), [$this->prepareHandler( - $this->app->make($config['handler'], $with), $config - )]); - } - - /** - * Prepare the handlers for usage by Monolog. - * - * @param array $handlers - * @return array - */ - protected function prepareHandlers(array $handlers) - { - foreach ($handlers as $key => $handler) { - $handlers[$key] = $this->prepareHandler($handler); - } - - return $handlers; - } - - /** - * Prepare the handler for usage by Monolog. - * - * @param \Monolog\Handler\HandlerInterface $handler - * @param array $config - * @return \Monolog\Handler\HandlerInterface - */ - protected function prepareHandler(HandlerInterface $handler, array $config = []) - { - if (! isset($config['formatter'])) { - $handler->setFormatter($this->formatter()); - } elseif ($config['formatter'] !== 'default') { - $handler->setFormatter($this->app->make($config['formatter'], $config['formatter_with'] ?? [])); - } - - return $handler; - } - - /** - * Get a Monolog formatter instance. - * - * @return \Monolog\Formatter\FormatterInterface - */ - protected function formatter() - { - return tap(new LineFormatter(null, null, true, true), function ($formatter) { - $formatter->includeStacktraces(); - }); - } - - /** - * Get fallback log channel name. - * - * @return string - */ - protected function getFallbackChannelName() - { - return $this->app->bound('env') ? $this->app->environment() : 'production'; - } - - /** - * Get the log connection configuration. - * - * @param string $name - * @return array - */ - protected function configurationFor($name) - { - return $this->app['config']["logging.channels.{$name}"]; - } - - /** - * Get the default log driver name. - * - * @return string - */ - public function getDefaultDriver() - { - return $this->app['config']['logging.default']; - } - - /** - * Set the default log driver name. - * - * @param string $name - * @return void - */ - public function setDefaultDriver($name) - { - $this->app['config']['logging.default'] = $name; - } - - /** - * Register a custom driver creator Closure. - * - * @param string $driver - * @param \Closure $callback - * @return $this - */ - public function extend($driver, Closure $callback) - { - $this->customCreators[$driver] = $callback->bindTo($this, $this); - - return $this; - } - - /** - * System is unusable. - * - * @param string $message - * @param array $context - * - * @return void - */ - public function emergency($message, array $context = []) - { - $this->driver()->emergency($message, $context); - } - - /** - * Action must be taken immediately. - * - * Example: Entire website down, database unavailable, etc. This should - * trigger the SMS alerts and wake you up. - * - * @param string $message - * @param array $context - * - * @return void - */ - public function alert($message, array $context = []) - { - $this->driver()->alert($message, $context); - } - - /** - * Critical conditions. - * - * Example: Application component unavailable, unexpected exception. - * - * @param string $message - * @param array $context - * - * @return void - */ - public function critical($message, array $context = []) - { - $this->driver()->critical($message, $context); - } - - /** - * Runtime errors that do not require immediate action but should typically - * be logged and monitored. - * - * @param string $message - * @param array $context - * - * @return void - */ - public function error($message, array $context = []) - { - $this->driver()->error($message, $context); - } - - /** - * Exceptional occurrences that are not errors. - * - * Example: Use of deprecated APIs, poor use of an API, undesirable things - * that are not necessarily wrong. - * - * @param string $message - * @param array $context - * - * @return void - */ - public function warning($message, array $context = []) - { - $this->driver()->warning($message, $context); - } - - /** - * Normal but significant events. - * - * @param string $message - * @param array $context - * - * @return void - */ - public function notice($message, array $context = []) - { - $this->driver()->notice($message, $context); - } - - /** - * Interesting events. - * - * Example: User logs in, SQL logs. - * - * @param string $message - * @param array $context - * - * @return void - */ - public function info($message, array $context = []) - { - $this->driver()->info($message, $context); - } - - /** - * Detailed debug information. - * - * @param string $message - * @param array $context - * - * @return void - */ - public function debug($message, array $context = []) - { - $this->driver()->debug($message, $context); - } - - /** - * Logs with an arbitrary level. - * - * @param mixed $level - * @param string $message - * @param array $context - * - * @return void - */ - public function log($level, $message, array $context = []) - { - $this->driver()->log($level, $message, $context); - } - - /** - * Dynamically call the default driver instance. - * - * @param string $method - * @param array $parameters - * @return mixed - */ - public function __call($method, $parameters) - { - return $this->driver()->$method(...$parameters); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Log/LogServiceProvider.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Log/LogServiceProvider.php deleted file mode 100644 index cd07392..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Log/LogServiceProvider.php +++ /dev/null @@ -1,20 +0,0 @@ -app->singleton('log', function () { - return new LogManager($this->app); - }); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Log/Logger.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Log/Logger.php deleted file mode 100644 index 6d5fdca..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Log/Logger.php +++ /dev/null @@ -1,275 +0,0 @@ -logger = $logger; - $this->dispatcher = $dispatcher; - } - - /** - * Log an emergency message to the logs. - * - * @param string $message - * @param array $context - * @return void - */ - public function emergency($message, array $context = []) - { - $this->writeLog(__FUNCTION__, $message, $context); - } - - /** - * Log an alert message to the logs. - * - * @param string $message - * @param array $context - * @return void - */ - public function alert($message, array $context = []) - { - $this->writeLog(__FUNCTION__, $message, $context); - } - - /** - * Log a critical message to the logs. - * - * @param string $message - * @param array $context - * @return void - */ - public function critical($message, array $context = []) - { - $this->writeLog(__FUNCTION__, $message, $context); - } - - /** - * Log an error message to the logs. - * - * @param string $message - * @param array $context - * @return void - */ - public function error($message, array $context = []) - { - $this->writeLog(__FUNCTION__, $message, $context); - } - - /** - * Log a warning message to the logs. - * - * @param string $message - * @param array $context - * @return void - */ - public function warning($message, array $context = []) - { - $this->writeLog(__FUNCTION__, $message, $context); - } - - /** - * Log a notice to the logs. - * - * @param string $message - * @param array $context - * @return void - */ - public function notice($message, array $context = []) - { - $this->writeLog(__FUNCTION__, $message, $context); - } - - /** - * Log an informational message to the logs. - * - * @param string $message - * @param array $context - * @return void - */ - public function info($message, array $context = []) - { - $this->writeLog(__FUNCTION__, $message, $context); - } - - /** - * Log a debug message to the logs. - * - * @param string $message - * @param array $context - * @return void - */ - public function debug($message, array $context = []) - { - $this->writeLog(__FUNCTION__, $message, $context); - } - - /** - * Log a message to the logs. - * - * @param string $level - * @param string $message - * @param array $context - * @return void - */ - public function log($level, $message, array $context = []) - { - $this->writeLog($level, $message, $context); - } - - /** - * Dynamically pass log calls into the writer. - * - * @param string $level - * @param string $message - * @param array $context - * @return void - */ - public function write($level, $message, array $context = []) - { - $this->writeLog($level, $message, $context); - } - - /** - * Write a message to the log. - * - * @param string $level - * @param string $message - * @param array $context - * @return void - */ - protected function writeLog($level, $message, $context) - { - $this->fireLogEvent($level, $message = $this->formatMessage($message), $context); - - $this->logger->{$level}($message, $context); - } - - /** - * Register a new callback handler for when a log event is triggered. - * - * @param \Closure $callback - * @return void - * - * @throws \RuntimeException - */ - public function listen(Closure $callback) - { - if (! isset($this->dispatcher)) { - throw new RuntimeException('Events dispatcher has not been set.'); - } - - $this->dispatcher->listen(MessageLogged::class, $callback); - } - - /** - * Fires a log event. - * - * @param string $level - * @param string $message - * @param array $context - * @return void - */ - protected function fireLogEvent($level, $message, array $context = []) - { - // If the event dispatcher is set, we will pass along the parameters to the - // log listeners. These are useful for building profilers or other tools - // that aggregate all of the log messages for a given "request" cycle. - if (isset($this->dispatcher)) { - $this->dispatcher->dispatch(new MessageLogged($level, $message, $context)); - } - } - - /** - * Format the parameters for the logger. - * - * @param mixed $message - * @return mixed - */ - protected function formatMessage($message) - { - if (is_array($message)) { - return var_export($message, true); - } elseif ($message instanceof Jsonable) { - return $message->toJson(); - } elseif ($message instanceof Arrayable) { - return var_export($message->toArray(), true); - } - - return $message; - } - - /** - * Get the underlying logger implementation. - * - * @return \Psr\Log\LoggerInterface - */ - public function getLogger() - { - return $this->logger; - } - - /** - * Get the event dispatcher instance. - * - * @return \Illuminate\Contracts\Events\Dispatcher - */ - public function getEventDispatcher() - { - return $this->dispatcher; - } - - /** - * Set the event dispatcher instance. - * - * @param \Illuminate\Contracts\Events\Dispatcher $dispatcher - * @return void - */ - public function setEventDispatcher(Dispatcher $dispatcher) - { - $this->dispatcher = $dispatcher; - } - - /** - * Dynamically proxy method calls to the underlying logger. - * - * @param string $method - * @param array $parameters - * @return mixed - */ - public function __call($method, $parameters) - { - return $this->logger->{$method}(...$parameters); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Log/ParsesLogConfiguration.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Log/ParsesLogConfiguration.php deleted file mode 100644 index f40cf6b..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Log/ParsesLogConfiguration.php +++ /dev/null @@ -1,62 +0,0 @@ - Monolog::DEBUG, - 'info' => Monolog::INFO, - 'notice' => Monolog::NOTICE, - 'warning' => Monolog::WARNING, - 'error' => Monolog::ERROR, - 'critical' => Monolog::CRITICAL, - 'alert' => Monolog::ALERT, - 'emergency' => Monolog::EMERGENCY, - ]; - - /** - * Get fallback log channel name. - * - * @return string - */ - abstract protected function getFallbackChannelName(); - - /** - * Parse the string level into a Monolog constant. - * - * @param array $config - * @return int - * - * @throws \InvalidArgumentException - */ - protected function level(array $config) - { - $level = $config['level'] ?? 'debug'; - - if (isset($this->levels[$level])) { - return $this->levels[$level]; - } - - throw new InvalidArgumentException('Invalid log level.'); - } - - /** - * Extract the log channel from the given configuration. - * - * @param array $config - * @return string - */ - protected function parseChannel(array $config) - { - return $config['name'] ?? $this->getFallbackChannelName(); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Log/composer.json b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Log/composer.json deleted file mode 100644 index 578cf5d..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Log/composer.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "name": "illuminate/log", - "description": "The Illuminate Log package.", - "license": "MIT", - "homepage": "https://laravel.com", - "support": { - "issues": "https://github.com/laravel/framework/issues", - "source": "https://github.com/laravel/framework" - }, - "authors": [ - { - "name": "Taylor Otwell", - "email": "taylor@laravel.com" - } - ], - "require": { - "php": "^7.1.3", - "illuminate/contracts": "5.8.*", - "illuminate/support": "5.8.*", - "monolog/monolog": "^1.12" - }, - "autoload": { - "psr-4": { - "Illuminate\\Log\\": "" - } - }, - "extra": { - "branch-alias": { - "dev-master": "5.8-dev" - } - }, - "config": { - "sort-packages": true - }, - "minimum-stability": "dev" -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/Events/MessageSending.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/Events/MessageSending.php deleted file mode 100644 index cff4521..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/Events/MessageSending.php +++ /dev/null @@ -1,33 +0,0 @@ -data = $data; - $this->message = $message; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/Events/MessageSent.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/Events/MessageSent.php deleted file mode 100644 index 9dee09c..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/Events/MessageSent.php +++ /dev/null @@ -1,33 +0,0 @@ -data = $data; - $this->message = $message; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/LICENSE.md b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/LICENSE.md deleted file mode 100644 index 79810c8..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/LICENSE.md +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) Taylor Otwell - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/MailServiceProvider.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/MailServiceProvider.php deleted file mode 100644 index 0f9e0fe..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/MailServiceProvider.php +++ /dev/null @@ -1,146 +0,0 @@ -registerSwiftMailer(); - $this->registerIlluminateMailer(); - $this->registerMarkdownRenderer(); - } - - /** - * Register the Illuminate mailer instance. - * - * @return void - */ - protected function registerIlluminateMailer() - { - $this->app->singleton('mailer', function () { - $config = $this->app->make('config')->get('mail'); - - // Once we have create the mailer instance, we will set a container instance - // on the mailer. This allows us to resolve mailer classes via containers - // for maximum testability on said classes instead of passing Closures. - $mailer = new Mailer( - $this->app['view'], - $this->app['swift.mailer'], - $this->app['events'] - ); - - if ($this->app->bound('queue')) { - $mailer->setQueue($this->app['queue']); - } - - // Next we will set all of the global addresses on this mailer, which allows - // for easy unification of all "from" addresses as well as easy debugging - // of sent messages since they get be sent into a single email address. - foreach (['from', 'reply_to', 'to'] as $type) { - $this->setGlobalAddress($mailer, $config, $type); - } - - return $mailer; - }); - } - - /** - * Set a global address on the mailer by type. - * - * @param \Illuminate\Mail\Mailer $mailer - * @param array $config - * @param string $type - * @return void - */ - protected function setGlobalAddress($mailer, array $config, $type) - { - $address = Arr::get($config, $type); - - if (is_array($address) && isset($address['address'])) { - $mailer->{'always'.Str::studly($type)}($address['address'], $address['name']); - } - } - - /** - * Register the Swift Mailer instance. - * - * @return void - */ - public function registerSwiftMailer() - { - $this->registerSwiftTransport(); - - // Once we have the transporter registered, we will register the actual Swift - // mailer instance, passing in the transport instances, which allows us to - // override this transporter instances during app start-up if necessary. - $this->app->singleton('swift.mailer', function () { - if ($domain = $this->app->make('config')->get('mail.domain')) { - Swift_DependencyContainer::getInstance() - ->register('mime.idgenerator.idright') - ->asValue($domain); - } - - return new Swift_Mailer($this->app['swift.transport']->driver()); - }); - } - - /** - * Register the Swift Transport instance. - * - * @return void - */ - protected function registerSwiftTransport() - { - $this->app->singleton('swift.transport', function () { - return new TransportManager($this->app); - }); - } - - /** - * Register the Markdown renderer instance. - * - * @return void - */ - protected function registerMarkdownRenderer() - { - if ($this->app->runningInConsole()) { - $this->publishes([ - __DIR__.'/resources/views' => $this->app->resourcePath('views/vendor/mail'), - ], 'laravel-mail'); - } - - $this->app->singleton(Markdown::class, function () { - $config = $this->app->make('config'); - - return new Markdown($this->app->make('view'), [ - 'theme' => $config->get('mail.markdown.theme', 'default'), - 'paths' => $config->get('mail.markdown.paths', []), - ]); - }); - } - - /** - * Get the services provided by the provider. - * - * @return array - */ - public function provides() - { - return [ - 'mailer', 'swift.mailer', 'swift.transport', Markdown::class, - ]; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/Mailable.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/Mailable.php deleted file mode 100644 index e5bebd5..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/Mailable.php +++ /dev/null @@ -1,845 +0,0 @@ -withLocale($this->locale, function () use ($mailer) { - Container::getInstance()->call([$this, 'build']); - - return $mailer->send($this->buildView(), $this->buildViewData(), function ($message) { - $this->buildFrom($message) - ->buildRecipients($message) - ->buildSubject($message) - ->runCallbacks($message) - ->buildAttachments($message); - }); - }); - } - - /** - * Queue the message for sending. - * - * @param \Illuminate\Contracts\Queue\Factory $queue - * @return mixed - */ - public function queue(Queue $queue) - { - if (isset($this->delay)) { - return $this->later($this->delay, $queue); - } - - $connection = property_exists($this, 'connection') ? $this->connection : null; - - $queueName = property_exists($this, 'queue') ? $this->queue : null; - - return $queue->connection($connection)->pushOn( - $queueName ?: null, new SendQueuedMailable($this) - ); - } - - /** - * Deliver the queued message after the given delay. - * - * @param \DateTimeInterface|\DateInterval|int $delay - * @param \Illuminate\Contracts\Queue\Factory $queue - * @return mixed - */ - public function later($delay, Queue $queue) - { - $connection = property_exists($this, 'connection') ? $this->connection : null; - - $queueName = property_exists($this, 'queue') ? $this->queue : null; - - return $queue->connection($connection)->laterOn( - $queueName ?: null, $delay, new SendQueuedMailable($this) - ); - } - - /** - * Render the mailable into a view. - * - * @return \Illuminate\View\View - * - * @throws \ReflectionException - */ - public function render() - { - return $this->withLocale($this->locale, function () { - Container::getInstance()->call([$this, 'build']); - - return Container::getInstance()->make('mailer')->render( - $this->buildView(), $this->buildViewData() - ); - }); - } - - /** - * Build the view for the message. - * - * @return array|string - * - * @throws \ReflectionException - */ - protected function buildView() - { - if (isset($this->html)) { - return array_filter([ - 'html' => new HtmlString($this->html), - 'text' => $this->textView ?? null, - ]); - } - - if (isset($this->markdown)) { - return $this->buildMarkdownView(); - } - - if (isset($this->view, $this->textView)) { - return [$this->view, $this->textView]; - } elseif (isset($this->textView)) { - return ['text' => $this->textView]; - } - - return $this->view; - } - - /** - * Build the Markdown view for the message. - * - * @return array - * - * @throws \ReflectionException - */ - protected function buildMarkdownView() - { - $markdown = Container::getInstance()->make(Markdown::class); - - if (isset($this->theme)) { - $markdown->theme($this->theme); - } - - $data = $this->buildViewData(); - - return [ - 'html' => $markdown->render($this->markdown, $data), - 'text' => $this->buildMarkdownText($markdown, $data), - ]; - } - - /** - * Build the view data for the message. - * - * @return array - * - * @throws \ReflectionException - */ - public function buildViewData() - { - $data = $this->viewData; - - if (static::$viewDataCallback) { - $data = array_merge($data, call_user_func(static::$viewDataCallback, $this)); - } - - foreach ((new ReflectionClass($this))->getProperties(ReflectionProperty::IS_PUBLIC) as $property) { - if ($property->getDeclaringClass()->getName() !== self::class) { - $data[$property->getName()] = $property->getValue($this); - } - } - - return $data; - } - - /** - * Build the text view for a Markdown message. - * - * @param \Illuminate\Mail\Markdown $markdown - * @param array $data - * @return string - */ - protected function buildMarkdownText($markdown, $data) - { - return $this->textView - ?? $markdown->renderText($this->markdown, $data); - } - - /** - * Add the sender to the message. - * - * @param \Illuminate\Mail\Message $message - * @return $this - */ - protected function buildFrom($message) - { - if (! empty($this->from)) { - $message->from($this->from[0]['address'], $this->from[0]['name']); - } - - return $this; - } - - /** - * Add all of the recipients to the message. - * - * @param \Illuminate\Mail\Message $message - * @return $this - */ - protected function buildRecipients($message) - { - foreach (['to', 'cc', 'bcc', 'replyTo'] as $type) { - foreach ($this->{$type} as $recipient) { - $message->{$type}($recipient['address'], $recipient['name']); - } - } - - return $this; - } - - /** - * Set the subject for the message. - * - * @param \Illuminate\Mail\Message $message - * @return $this - */ - protected function buildSubject($message) - { - if ($this->subject) { - $message->subject($this->subject); - } else { - $message->subject(Str::title(Str::snake(class_basename($this), ' '))); - } - - return $this; - } - - /** - * Add all of the attachments to the message. - * - * @param \Illuminate\Mail\Message $message - * @return $this - */ - protected function buildAttachments($message) - { - foreach ($this->attachments as $attachment) { - $message->attach($attachment['file'], $attachment['options']); - } - - foreach ($this->rawAttachments as $attachment) { - $message->attachData( - $attachment['data'], $attachment['name'], $attachment['options'] - ); - } - - $this->buildDiskAttachments($message); - - return $this; - } - - /** - * Add all of the disk attachments to the message. - * - * @param \Illuminate\Mail\Message $message - * @return void - */ - protected function buildDiskAttachments($message) - { - foreach ($this->diskAttachments as $attachment) { - $storage = Container::getInstance()->make( - FilesystemFactory::class - )->disk($attachment['disk']); - - $message->attachData( - $storage->get($attachment['path']), - $attachment['name'] ?? basename($attachment['path']), - array_merge(['mime' => $storage->mimeType($attachment['path'])], $attachment['options']) - ); - } - } - - /** - * Run the callbacks for the message. - * - * @param \Illuminate\Mail\Message $message - * @return $this - */ - protected function runCallbacks($message) - { - foreach ($this->callbacks as $callback) { - $callback($message->getSwiftMessage()); - } - - return $this; - } - - /** - * Set the locale of the message. - * - * @param string $locale - * @return $this - */ - public function locale($locale) - { - $this->locale = $locale; - - return $this; - } - - /** - * Set the priority of this message. - * - * The value is an integer where 1 is the highest priority and 5 is the lowest. - * - * @param int $level - * @return $this - */ - public function priority($level = 3) - { - $this->callbacks[] = function ($message) use ($level) { - $message->setPriority($level); - }; - - return $this; - } - - /** - * Set the sender of the message. - * - * @param object|array|string $address - * @param string|null $name - * @return $this - */ - public function from($address, $name = null) - { - return $this->setAddress($address, $name, 'from'); - } - - /** - * Determine if the given recipient is set on the mailable. - * - * @param object|array|string $address - * @param string|null $name - * @return bool - */ - public function hasFrom($address, $name = null) - { - return $this->hasRecipient($address, $name, 'from'); - } - - /** - * Set the recipients of the message. - * - * @param object|array|string $address - * @param string|null $name - * @return $this - */ - public function to($address, $name = null) - { - return $this->setAddress($address, $name, 'to'); - } - - /** - * Determine if the given recipient is set on the mailable. - * - * @param object|array|string $address - * @param string|null $name - * @return bool - */ - public function hasTo($address, $name = null) - { - return $this->hasRecipient($address, $name, 'to'); - } - - /** - * Set the recipients of the message. - * - * @param object|array|string $address - * @param string|null $name - * @return $this - */ - public function cc($address, $name = null) - { - return $this->setAddress($address, $name, 'cc'); - } - - /** - * Determine if the given recipient is set on the mailable. - * - * @param object|array|string $address - * @param string|null $name - * @return bool - */ - public function hasCc($address, $name = null) - { - return $this->hasRecipient($address, $name, 'cc'); - } - - /** - * Set the recipients of the message. - * - * @param object|array|string $address - * @param string|null $name - * @return $this - */ - public function bcc($address, $name = null) - { - return $this->setAddress($address, $name, 'bcc'); - } - - /** - * Determine if the given recipient is set on the mailable. - * - * @param object|array|string $address - * @param string|null $name - * @return bool - */ - public function hasBcc($address, $name = null) - { - return $this->hasRecipient($address, $name, 'bcc'); - } - - /** - * Set the "reply to" address of the message. - * - * @param object|array|string $address - * @param string|null $name - * @return $this - */ - public function replyTo($address, $name = null) - { - return $this->setAddress($address, $name, 'replyTo'); - } - - /** - * Determine if the given replyTo is set on the mailable. - * - * @param object|array|string $address - * @param string|null $name - * @return bool - */ - public function hasReplyTo($address, $name = null) - { - return $this->hasRecipient($address, $name, 'replyTo'); - } - - /** - * Set the recipients of the message. - * - * All recipients are stored internally as [['name' => ?, 'address' => ?]] - * - * @param object|array|string $address - * @param string|null $name - * @param string $property - * @return $this - */ - protected function setAddress($address, $name = null, $property = 'to') - { - foreach ($this->addressesToArray($address, $name) as $recipient) { - $recipient = $this->normalizeRecipient($recipient); - - $this->{$property}[] = [ - 'name' => $recipient->name ?? null, - 'address' => $recipient->email, - ]; - } - - return $this; - } - - /** - * Convert the given recipient arguments to an array. - * - * @param object|array|string $address - * @param string|null $name - * @return array - */ - protected function addressesToArray($address, $name) - { - if (! is_array($address) && ! $address instanceof Collection) { - $address = is_string($name) ? [['name' => $name, 'email' => $address]] : [$address]; - } - - return $address; - } - - /** - * Convert the given recipient into an object. - * - * @param mixed $recipient - * @return object - */ - protected function normalizeRecipient($recipient) - { - if (is_array($recipient)) { - return (object) $recipient; - } elseif (is_string($recipient)) { - return (object) ['email' => $recipient]; - } - - return $recipient; - } - - /** - * Determine if the given recipient is set on the mailable. - * - * @param object|array|string $address - * @param string|null $name - * @param string $property - * @return bool - */ - protected function hasRecipient($address, $name = null, $property = 'to') - { - $expected = $this->normalizeRecipient( - $this->addressesToArray($address, $name)[0] - ); - - $expected = [ - 'name' => $expected->name ?? null, - 'address' => $expected->email, - ]; - - return collect($this->{$property})->contains(function ($actual) use ($expected) { - if (! isset($expected['name'])) { - return $actual['address'] == $expected['address']; - } - - return $actual == $expected; - }); - } - - /** - * Set the subject of the message. - * - * @param string $subject - * @return $this - */ - public function subject($subject) - { - $this->subject = $subject; - - return $this; - } - - /** - * Set the Markdown template for the message. - * - * @param string $view - * @param array $data - * @return $this - */ - public function markdown($view, array $data = []) - { - $this->markdown = $view; - $this->viewData = array_merge($this->viewData, $data); - - return $this; - } - - /** - * Set the view and view data for the message. - * - * @param string $view - * @param array $data - * @return $this - */ - public function view($view, array $data = []) - { - $this->view = $view; - $this->viewData = array_merge($this->viewData, $data); - - return $this; - } - - /** - * Set the rendered HTML content for the message. - * - * @param string $html - * @return $this - */ - public function html($html) - { - $this->html = $html; - - return $this; - } - - /** - * Set the plain text view for the message. - * - * @param string $textView - * @param array $data - * @return $this - */ - public function text($textView, array $data = []) - { - $this->textView = $textView; - $this->viewData = array_merge($this->viewData, $data); - - return $this; - } - - /** - * Set the view data for the message. - * - * @param string|array $key - * @param mixed $value - * @return $this - */ - public function with($key, $value = null) - { - if (is_array($key)) { - $this->viewData = array_merge($this->viewData, $key); - } else { - $this->viewData[$key] = $value; - } - - return $this; - } - - /** - * Attach a file to the message. - * - * @param string $file - * @param array $options - * @return $this - */ - public function attach($file, array $options = []) - { - $this->attachments[] = compact('file', 'options'); - - return $this; - } - - /** - * Attach a file to the message from storage. - * - * @param string $path - * @param string|null $name - * @param array $options - * @return $this - */ - public function attachFromStorage($path, $name = null, array $options = []) - { - return $this->attachFromStorageDisk(null, $path, $name, $options); - } - - /** - * Attach a file to the message from storage. - * - * @param string $disk - * @param string $path - * @param string|null $name - * @param array $options - * @return $this - */ - public function attachFromStorageDisk($disk, $path, $name = null, array $options = []) - { - $this->diskAttachments[] = [ - 'disk' => $disk, - 'path' => $path, - 'name' => $name ?? basename($path), - 'options' => $options, - ]; - - return $this; - } - - /** - * Attach in-memory data as an attachment. - * - * @param string $data - * @param string $name - * @param array $options - * @return $this - */ - public function attachData($data, $name, array $options = []) - { - $this->rawAttachments[] = compact('data', 'name', 'options'); - - return $this; - } - - /** - * Register a callback to be called with the Swift message instance. - * - * @param callable $callback - * @return $this - */ - public function withSwiftMessage($callback) - { - $this->callbacks[] = $callback; - - return $this; - } - - /** - * Register a callback to be called while building the view data. - * - * @param callable $callback - * @return void - */ - public static function buildViewDataUsing(callable $callback) - { - static::$viewDataCallback = $callback; - } - - /** - * Dynamically bind parameters to the message. - * - * @param string $method - * @param array $parameters - * @return $this - * - * @throws \BadMethodCallException - */ - public function __call($method, $parameters) - { - if (Str::startsWith($method, 'with')) { - return $this->with(Str::camel(substr($method, 4)), $parameters[0]); - } - - static::throwBadMethodCallException($method); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/Mailer.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/Mailer.php deleted file mode 100644 index a088d3f..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/Mailer.php +++ /dev/null @@ -1,589 +0,0 @@ -views = $views; - $this->swift = $swift; - $this->events = $events; - } - - /** - * Set the global from address and name. - * - * @param string $address - * @param string|null $name - * @return void - */ - public function alwaysFrom($address, $name = null) - { - $this->from = compact('address', 'name'); - } - - /** - * Set the global reply-to address and name. - * - * @param string $address - * @param string|null $name - * @return void - */ - public function alwaysReplyTo($address, $name = null) - { - $this->replyTo = compact('address', 'name'); - } - - /** - * Set the global to address and name. - * - * @param string $address - * @param string|null $name - * @return void - */ - public function alwaysTo($address, $name = null) - { - $this->to = compact('address', 'name'); - } - - /** - * Begin the process of mailing a mailable class instance. - * - * @param mixed $users - * @return \Illuminate\Mail\PendingMail - */ - public function to($users) - { - return (new PendingMail($this))->to($users); - } - - /** - * Begin the process of mailing a mailable class instance. - * - * @param mixed $users - * @return \Illuminate\Mail\PendingMail - */ - public function cc($users) - { - return (new PendingMail($this))->cc($users); - } - - /** - * Begin the process of mailing a mailable class instance. - * - * @param mixed $users - * @return \Illuminate\Mail\PendingMail - */ - public function bcc($users) - { - return (new PendingMail($this))->bcc($users); - } - - /** - * Send a new message with only an HTML part. - * - * @param string $html - * @param mixed $callback - * @return void - */ - public function html($html, $callback) - { - return $this->send(['html' => new HtmlString($html)], [], $callback); - } - - /** - * Send a new message with only a raw text part. - * - * @param string $text - * @param mixed $callback - * @return void - */ - public function raw($text, $callback) - { - return $this->send(['raw' => $text], [], $callback); - } - - /** - * Send a new message with only a plain part. - * - * @param string $view - * @param array $data - * @param mixed $callback - * @return void - */ - public function plain($view, array $data, $callback) - { - return $this->send(['text' => $view], $data, $callback); - } - - /** - * Render the given message as a view. - * - * @param string|array $view - * @param array $data - * @return string - */ - public function render($view, array $data = []) - { - // First we need to parse the view, which could either be a string or an array - // containing both an HTML and plain text versions of the view which should - // be used when sending an e-mail. We will extract both of them out here. - [$view, $plain, $raw] = $this->parseView($view); - - $data['message'] = $this->createMessage(); - - return $this->renderView($view ?: $plain, $data); - } - - /** - * Send a new message using a view. - * - * @param string|array|\Illuminate\Contracts\Mail\Mailable $view - * @param array $data - * @param \Closure|string|null $callback - * @return void - */ - public function send($view, array $data = [], $callback = null) - { - if ($view instanceof MailableContract) { - return $this->sendMailable($view); - } - - // First we need to parse the view, which could either be a string or an array - // containing both an HTML and plain text versions of the view which should - // be used when sending an e-mail. We will extract both of them out here. - [$view, $plain, $raw] = $this->parseView($view); - - $data['message'] = $message = $this->createMessage(); - - // Once we have retrieved the view content for the e-mail we will set the body - // of this message using the HTML type, which will provide a simple wrapper - // to creating view based emails that are able to receive arrays of data. - call_user_func($callback, $message); - - $this->addContent($message, $view, $plain, $raw, $data); - - // If a global "to" address has been set, we will set that address on the mail - // message. This is primarily useful during local development in which each - // message should be delivered into a single mail address for inspection. - if (isset($this->to['address'])) { - $this->setGlobalToAndRemoveCcAndBcc($message); - } - - // Next we will determine if the message should be sent. We give the developer - // one final chance to stop this message and then we will send it to all of - // its recipients. We will then fire the sent event for the sent message. - $swiftMessage = $message->getSwiftMessage(); - - if ($this->shouldSendMessage($swiftMessage, $data)) { - $this->sendSwiftMessage($swiftMessage); - - $this->dispatchSentEvent($message, $data); - } - } - - /** - * Send the given mailable. - * - * @param \Illuminate\Contracts\Mail\Mailable $mailable - * @return mixed - */ - protected function sendMailable(MailableContract $mailable) - { - return $mailable instanceof ShouldQueue - ? $mailable->queue($this->queue) - : $mailable->send($this); - } - - /** - * Parse the given view name or array. - * - * @param string|array $view - * @return array - * - * @throws \InvalidArgumentException - */ - protected function parseView($view) - { - if (is_string($view)) { - return [$view, null, null]; - } - - // If the given view is an array with numeric keys, we will just assume that - // both a "pretty" and "plain" view were provided, so we will return this - // array as is, since it should contain both views with numerical keys. - if (is_array($view) && isset($view[0])) { - return [$view[0], $view[1], null]; - } - - // If this view is an array but doesn't contain numeric keys, we will assume - // the views are being explicitly specified and will extract them via the - // named keys instead, allowing the developers to use one or the other. - if (is_array($view)) { - return [ - $view['html'] ?? null, - $view['text'] ?? null, - $view['raw'] ?? null, - ]; - } - - throw new InvalidArgumentException('Invalid view.'); - } - - /** - * Add the content to a given message. - * - * @param \Illuminate\Mail\Message $message - * @param string $view - * @param string $plain - * @param string $raw - * @param array $data - * @return void - */ - protected function addContent($message, $view, $plain, $raw, $data) - { - if (isset($view)) { - $message->setBody($this->renderView($view, $data), 'text/html'); - } - - if (isset($plain)) { - $method = isset($view) ? 'addPart' : 'setBody'; - - $message->$method($this->renderView($plain, $data), 'text/plain'); - } - - if (isset($raw)) { - $method = (isset($view) || isset($plain)) ? 'addPart' : 'setBody'; - - $message->$method($raw, 'text/plain'); - } - } - - /** - * Render the given view. - * - * @param string $view - * @param array $data - * @return string - */ - protected function renderView($view, $data) - { - return $view instanceof Htmlable - ? $view->toHtml() - : $this->views->make($view, $data)->render(); - } - - /** - * Set the global "to" address on the given message. - * - * @param \Illuminate\Mail\Message $message - * @return void - */ - protected function setGlobalToAndRemoveCcAndBcc($message) - { - $message->to($this->to['address'], $this->to['name'], true); - $message->cc(null, null, true); - $message->bcc(null, null, true); - } - - /** - * Queue a new e-mail message for sending. - * - * @param \Illuminate\Contracts\Mail\Mailable $view - * @param string|null $queue - * @return mixed - * - * @throws \InvalidArgumentException - */ - public function queue($view, $queue = null) - { - if (! $view instanceof MailableContract) { - throw new InvalidArgumentException('Only mailables may be queued.'); - } - - if (is_string($queue)) { - $view->onQueue($queue); - } - - return $view->queue($this->queue); - } - - /** - * Queue a new e-mail message for sending on the given queue. - * - * @param string $queue - * @param \Illuminate\Contracts\Mail\Mailable $view - * @return mixed - */ - public function onQueue($queue, $view) - { - return $this->queue($view, $queue); - } - - /** - * Queue a new e-mail message for sending on the given queue. - * - * This method didn't match rest of framework's "onQueue" phrasing. Added "onQueue". - * - * @param string $queue - * @param \Illuminate\Contracts\Mail\Mailable $view - * @return mixed - */ - public function queueOn($queue, $view) - { - return $this->onQueue($queue, $view); - } - - /** - * Queue a new e-mail message for sending after (n) seconds. - * - * @param \DateTimeInterface|\DateInterval|int $delay - * @param \Illuminate\Contracts\Mail\Mailable $view - * @param string|null $queue - * @return mixed - * - * @throws \InvalidArgumentException - */ - public function later($delay, $view, $queue = null) - { - if (! $view instanceof MailableContract) { - throw new InvalidArgumentException('Only mailables may be queued.'); - } - - return $view->later($delay, is_null($queue) ? $this->queue : $queue); - } - - /** - * Queue a new e-mail message for sending after (n) seconds on the given queue. - * - * @param string $queue - * @param \DateTimeInterface|\DateInterval|int $delay - * @param \Illuminate\Contracts\Mail\Mailable $view - * @return mixed - */ - public function laterOn($queue, $delay, $view) - { - return $this->later($delay, $view, $queue); - } - - /** - * Create a new message instance. - * - * @return \Illuminate\Mail\Message - */ - protected function createMessage() - { - $message = new Message($this->swift->createMessage('message')); - - // If a global from address has been specified we will set it on every message - // instance so the developer does not have to repeat themselves every time - // they create a new message. We'll just go ahead and push this address. - if (! empty($this->from['address'])) { - $message->from($this->from['address'], $this->from['name']); - } - - // When a global reply address was specified we will set this on every message - // instance so the developer does not have to repeat themselves every time - // they create a new message. We will just go ahead and push this address. - if (! empty($this->replyTo['address'])) { - $message->replyTo($this->replyTo['address'], $this->replyTo['name']); - } - - return $message; - } - - /** - * Send a Swift Message instance. - * - * @param \Swift_Message $message - * @return int|null - */ - protected function sendSwiftMessage($message) - { - try { - return $this->swift->send($message, $this->failedRecipients); - } finally { - $this->forceReconnection(); - } - } - - /** - * Determines if the message can be sent. - * - * @param \Swift_Message $message - * @param array $data - * @return bool - */ - protected function shouldSendMessage($message, $data = []) - { - if (! $this->events) { - return true; - } - - return $this->events->until( - new Events\MessageSending($message, $data) - ) !== false; - } - - /** - * Dispatch the message sent event. - * - * @param \Illuminate\Mail\Message $message - * @param array $data - * @return void - */ - protected function dispatchSentEvent($message, $data = []) - { - if ($this->events) { - $this->events->dispatch( - new Events\MessageSent($message->getSwiftMessage(), $data) - ); - } - } - - /** - * Force the transport to re-connect. - * - * This will prevent errors in daemon queue situations. - * - * @return void - */ - protected function forceReconnection() - { - $this->getSwiftMailer()->getTransport()->stop(); - } - - /** - * Get the array of failed recipients. - * - * @return array - */ - public function failures() - { - return $this->failedRecipients; - } - - /** - * Get the Swift Mailer instance. - * - * @return \Swift_Mailer - */ - public function getSwiftMailer() - { - return $this->swift; - } - - /** - * Get the view factory instance. - * - * @return \Illuminate\Contracts\View\Factory - */ - public function getViewFactory() - { - return $this->views; - } - - /** - * Set the Swift Mailer instance. - * - * @param \Swift_Mailer $swift - * @return void - */ - public function setSwiftMailer($swift) - { - $this->swift = $swift; - } - - /** - * Set the queue manager instance. - * - * @param \Illuminate\Contracts\Queue\Factory $queue - * @return $this - */ - public function setQueue(QueueContract $queue) - { - $this->queue = $queue; - - return $this; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/Markdown.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/Markdown.php deleted file mode 100644 index d25c599..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/Markdown.php +++ /dev/null @@ -1,160 +0,0 @@ -view = $view; - $this->theme = $options['theme'] ?? 'default'; - $this->loadComponentsFrom($options['paths'] ?? []); - } - - /** - * Render the Markdown template into HTML. - * - * @param string $view - * @param array $data - * @param \TijsVerkoyen\CssToInlineStyles\CssToInlineStyles|null $inliner - * @return \Illuminate\Support\HtmlString - */ - public function render($view, array $data = [], $inliner = null) - { - $this->view->flushFinderCache(); - - $contents = $this->view->replaceNamespace( - 'mail', $this->htmlComponentPaths() - )->make($view, $data)->render(); - - return new HtmlString(($inliner ?: new CssToInlineStyles)->convert( - $contents, $this->view->make('mail::themes.'.$this->theme)->render() - )); - } - - /** - * Render the Markdown template into text. - * - * @param string $view - * @param array $data - * @return \Illuminate\Support\HtmlString - */ - public function renderText($view, array $data = []) - { - $this->view->flushFinderCache(); - - $contents = $this->view->replaceNamespace( - 'mail', $this->textComponentPaths() - )->make($view, $data)->render(); - - return new HtmlString( - html_entity_decode(preg_replace("/[\r\n]{2,}/", "\n\n", $contents), ENT_QUOTES, 'UTF-8') - ); - } - - /** - * Parse the given Markdown text into HTML. - * - * @param string $text - * @return \Illuminate\Support\HtmlString - */ - public static function parse($text) - { - $parsedown = new Parsedown; - - return new HtmlString($parsedown->text($text)); - } - - /** - * Get the HTML component paths. - * - * @return array - */ - public function htmlComponentPaths() - { - return array_map(function ($path) { - return $path.'/html'; - }, $this->componentPaths()); - } - - /** - * Get the text component paths. - * - * @return array - */ - public function textComponentPaths() - { - return array_map(function ($path) { - return $path.'/text'; - }, $this->componentPaths()); - } - - /** - * Get the component paths. - * - * @return array - */ - protected function componentPaths() - { - return array_unique(array_merge($this->componentPaths, [ - __DIR__.'/resources/views', - ])); - } - - /** - * Register new mail component paths. - * - * @param array $paths - * @return void - */ - public function loadComponentsFrom(array $paths = []) - { - $this->componentPaths = $paths; - } - - /** - * Set the default theme to be used. - * - * @param string $theme - * @return $this - */ - public function theme($theme) - { - $this->theme = $theme; - - return $this; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/Message.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/Message.php deleted file mode 100644 index 94c9dce..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/Message.php +++ /dev/null @@ -1,329 +0,0 @@ -swift = $swift; - } - - /** - * Add a "from" address to the message. - * - * @param string|array $address - * @param string|null $name - * @return $this - */ - public function from($address, $name = null) - { - $this->swift->setFrom($address, $name); - - return $this; - } - - /** - * Set the "sender" of the message. - * - * @param string|array $address - * @param string|null $name - * @return $this - */ - public function sender($address, $name = null) - { - $this->swift->setSender($address, $name); - - return $this; - } - - /** - * Set the "return path" of the message. - * - * @param string $address - * @return $this - */ - public function returnPath($address) - { - $this->swift->setReturnPath($address); - - return $this; - } - - /** - * Add a recipient to the message. - * - * @param string|array $address - * @param string|null $name - * @param bool $override - * @return $this - */ - public function to($address, $name = null, $override = false) - { - if ($override) { - $this->swift->setTo($address, $name); - - return $this; - } - - return $this->addAddresses($address, $name, 'To'); - } - - /** - * Add a carbon copy to the message. - * - * @param string|array $address - * @param string|null $name - * @param bool $override - * @return $this - */ - public function cc($address, $name = null, $override = false) - { - if ($override) { - $this->swift->setCc($address, $name); - - return $this; - } - - return $this->addAddresses($address, $name, 'Cc'); - } - - /** - * Add a blind carbon copy to the message. - * - * @param string|array $address - * @param string|null $name - * @param bool $override - * @return $this - */ - public function bcc($address, $name = null, $override = false) - { - if ($override) { - $this->swift->setBcc($address, $name); - - return $this; - } - - return $this->addAddresses($address, $name, 'Bcc'); - } - - /** - * Add a reply to address to the message. - * - * @param string|array $address - * @param string|null $name - * @return $this - */ - public function replyTo($address, $name = null) - { - return $this->addAddresses($address, $name, 'ReplyTo'); - } - - /** - * Add a recipient to the message. - * - * @param string|array $address - * @param string $name - * @param string $type - * @return $this - */ - protected function addAddresses($address, $name, $type) - { - if (is_array($address)) { - $this->swift->{"set{$type}"}($address, $name); - } else { - $this->swift->{"add{$type}"}($address, $name); - } - - return $this; - } - - /** - * Set the subject of the message. - * - * @param string $subject - * @return $this - */ - public function subject($subject) - { - $this->swift->setSubject($subject); - - return $this; - } - - /** - * Set the message priority level. - * - * @param int $level - * @return $this - */ - public function priority($level) - { - $this->swift->setPriority($level); - - return $this; - } - - /** - * Attach a file to the message. - * - * @param string $file - * @param array $options - * @return $this - */ - public function attach($file, array $options = []) - { - $attachment = $this->createAttachmentFromPath($file); - - return $this->prepAttachment($attachment, $options); - } - - /** - * Create a Swift Attachment instance. - * - * @param string $file - * @return \Swift_Mime_Attachment - */ - protected function createAttachmentFromPath($file) - { - return Swift_Attachment::fromPath($file); - } - - /** - * Attach in-memory data as an attachment. - * - * @param string $data - * @param string $name - * @param array $options - * @return $this - */ - public function attachData($data, $name, array $options = []) - { - $attachment = $this->createAttachmentFromData($data, $name); - - return $this->prepAttachment($attachment, $options); - } - - /** - * Create a Swift Attachment instance from data. - * - * @param string $data - * @param string $name - * @return \Swift_Attachment - */ - protected function createAttachmentFromData($data, $name) - { - return new Swift_Attachment($data, $name); - } - - /** - * Embed a file in the message and get the CID. - * - * @param string $file - * @return string - */ - public function embed($file) - { - if (isset($this->embeddedFiles[$file])) { - return $this->embeddedFiles[$file]; - } - - return $this->embeddedFiles[$file] = $this->swift->embed( - Swift_Image::fromPath($file) - ); - } - - /** - * Embed in-memory data in the message and get the CID. - * - * @param string $data - * @param string $name - * @param string|null $contentType - * @return string - */ - public function embedData($data, $name, $contentType = null) - { - $image = new Swift_Image($data, $name, $contentType); - - return $this->swift->embed($image); - } - - /** - * Prepare and attach the given attachment. - * - * @param \Swift_Attachment $attachment - * @param array $options - * @return $this - */ - protected function prepAttachment($attachment, $options = []) - { - // First we will check for a MIME type on the message, which instructs the - // mail client on what type of attachment the file is so that it may be - // downloaded correctly by the user. The MIME option is not required. - if (isset($options['mime'])) { - $attachment->setContentType($options['mime']); - } - - // If an alternative name was given as an option, we will set that on this - // attachment so that it will be downloaded with the desired names from - // the developer, otherwise the default file names will get assigned. - if (isset($options['as'])) { - $attachment->setFilename($options['as']); - } - - $this->swift->attach($attachment); - - return $this; - } - - /** - * Get the underlying Swift Message instance. - * - * @return \Swift_Message - */ - public function getSwiftMessage() - { - return $this->swift; - } - - /** - * Dynamically pass missing methods to the Swift instance. - * - * @param string $method - * @param array $parameters - * @return mixed - */ - public function __call($method, $parameters) - { - return $this->forwardCallTo($this->swift, $method, $parameters); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/PendingMail.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/PendingMail.php deleted file mode 100644 index 017ccb9..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/PendingMail.php +++ /dev/null @@ -1,183 +0,0 @@ -mailer = $mailer; - } - - /** - * Set the locale of the message. - * - * @param string $locale - * @return $this - */ - public function locale($locale) - { - $this->locale = $locale; - - return $this; - } - - /** - * Set the recipients of the message. - * - * @param mixed $users - * @return $this - */ - public function to($users) - { - $this->to = $users; - - if (! $this->locale && $users instanceof HasLocalePreference) { - $this->locale($users->preferredLocale()); - } - - return $this; - } - - /** - * Set the recipients of the message. - * - * @param mixed $users - * @return $this - */ - public function cc($users) - { - $this->cc = $users; - - return $this; - } - - /** - * Set the recipients of the message. - * - * @param mixed $users - * @return $this - */ - public function bcc($users) - { - $this->bcc = $users; - - return $this; - } - - /** - * Send a new mailable message instance. - * - * @param \Illuminate\Contracts\Mail\Mailable $mailable - * - * @return mixed - */ - public function send(MailableContract $mailable) - { - if ($mailable instanceof ShouldQueue) { - return $this->queue($mailable); - } - - return $this->mailer->send($this->fill($mailable)); - } - - /** - * Send a mailable message immediately. - * - * @param \Illuminate\Contracts\Mail\Mailable $mailable; - * @return mixed - */ - public function sendNow(MailableContract $mailable) - { - return $this->mailer->send($this->fill($mailable)); - } - - /** - * Push the given mailable onto the queue. - * - * @param \Illuminate\Contracts\Mail\Mailable $mailable; - * @return mixed - */ - public function queue(MailableContract $mailable) - { - $mailable = $this->fill($mailable); - - if (isset($mailable->delay)) { - return $this->mailer->later($mailable->delay, $mailable); - } - - return $this->mailer->queue($mailable); - } - - /** - * Deliver the queued message after the given delay. - * - * @param \DateTimeInterface|\DateInterval|int $delay - * @param \Illuminate\Contracts\Mail\Mailable $mailable; - * @return mixed - */ - public function later($delay, MailableContract $mailable) - { - return $this->mailer->later($delay, $this->fill($mailable)); - } - - /** - * Populate the mailable with the addresses. - * - * @param \Illuminate\Contracts\Mail\Mailable $mailable; - * @return \Illuminate\Mail\Mailable - */ - protected function fill(MailableContract $mailable) - { - return $mailable->to($this->to) - ->cc($this->cc) - ->bcc($this->bcc) - ->locale($this->locale); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/SendQueuedMailable.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/SendQueuedMailable.php deleted file mode 100644 index 8ab68f4..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/SendQueuedMailable.php +++ /dev/null @@ -1,101 +0,0 @@ -mailable = $mailable; - $this->tries = property_exists($mailable, 'tries') ? $mailable->tries : null; - $this->timeout = property_exists($mailable, 'timeout') ? $mailable->timeout : null; - } - - /** - * Handle the queued job. - * - * @param \Illuminate\Contracts\Mail\Mailer $mailer - * @return void - */ - public function handle(MailerContract $mailer) - { - $this->mailable->send($mailer); - } - - /** - * Get the display name for the queued job. - * - * @return string - */ - public function displayName() - { - return get_class($this->mailable); - } - - /** - * Call the failed method on the mailable instance. - * - * @param \Exception $e - * @return void - */ - public function failed($e) - { - if (method_exists($this->mailable, 'failed')) { - $this->mailable->failed($e); - } - } - - /** - * Get the retry delay for the mailable object. - * - * @return mixed - */ - public function retryAfter() - { - if (! method_exists($this->mailable, 'retryAfter') && ! isset($this->mailable->retryAfter)) { - return; - } - - return $this->mailable->retryAfter ?? $this->mailable->retryAfter(); - } - - /** - * Prepare the instance for cloning. - * - * @return void - */ - public function __clone() - { - $this->mailable = clone $this->mailable; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/Transport/ArrayTransport.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/Transport/ArrayTransport.php deleted file mode 100644 index 766af83..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/Transport/ArrayTransport.php +++ /dev/null @@ -1,58 +0,0 @@ -messages = new Collection; - } - - /** - * {@inheritdoc} - */ - public function send(Swift_Mime_SimpleMessage $message, &$failedRecipients = null) - { - $this->beforeSendPerformed($message); - - $this->messages[] = $message; - - return $this->numberOfRecipients($message); - } - - /** - * Retrieve the collection of messages. - * - * @return \Illuminate\Support\Collection - */ - public function messages() - { - return $this->messages; - } - - /** - * Clear all of the messages from the local collection. - * - * @return \Illuminate\Support\Collection - */ - public function flush() - { - return $this->messages = new Collection; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/Transport/LogTransport.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/Transport/LogTransport.php deleted file mode 100644 index fb796d5..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/Transport/LogTransport.php +++ /dev/null @@ -1,69 +0,0 @@ -logger = $logger; - } - - /** - * {@inheritdoc} - */ - public function send(Swift_Mime_SimpleMessage $message, &$failedRecipients = null) - { - $this->beforeSendPerformed($message); - - $this->logger->debug($this->getMimeEntityString($message)); - - $this->sendPerformed($message); - - return $this->numberOfRecipients($message); - } - - /** - * Get a loggable string out of a Swiftmailer entity. - * - * @param \Swift_Mime_SimpleMimeEntity $entity - * @return string - */ - protected function getMimeEntityString(Swift_Mime_SimpleMimeEntity $entity) - { - $string = (string) $entity->getHeaders().PHP_EOL.$entity->getBody(); - - foreach ($entity->getChildren() as $children) { - $string .= PHP_EOL.PHP_EOL.$this->getMimeEntityString($children); - } - - return $string; - } - - /** - * Get the logger for the LogTransport instance. - * - * @return \Psr\Log\LoggerInterface - */ - public function logger() - { - return $this->logger; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/Transport/MailgunTransport.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/Transport/MailgunTransport.php deleted file mode 100644 index 5026cbb..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/Transport/MailgunTransport.php +++ /dev/null @@ -1,211 +0,0 @@ -key = $key; - $this->client = $client; - $this->endpoint = $endpoint ?? 'api.mailgun.net'; - - $this->setDomain($domain); - } - - /** - * {@inheritdoc} - */ - public function send(Swift_Mime_SimpleMessage $message, &$failedRecipients = null) - { - $this->beforeSendPerformed($message); - - $to = $this->getTo($message); - - $message->setBcc([]); - - $response = $this->client->request( - 'POST', - "https://{$this->endpoint}/v3/{$this->domain}/messages.mime", - $this->payload($message, $to) - ); - - $message->getHeaders()->addTextHeader( - 'X-Mailgun-Message-ID', $this->getMessageId($response) - ); - - $this->sendPerformed($message); - - return $this->numberOfRecipients($message); - } - - /** - * Get the HTTP payload for sending the Mailgun message. - * - * @param \Swift_Mime_SimpleMessage $message - * @param string $to - * @return array - */ - protected function payload(Swift_Mime_SimpleMessage $message, $to) - { - return [ - 'auth' => [ - 'api', - $this->key, - ], - 'multipart' => [ - [ - 'name' => 'to', - 'contents' => $to, - ], - [ - 'name' => 'message', - 'contents' => $message->toString(), - 'filename' => 'message.mime', - ], - ], - ]; - } - - /** - * Get the "to" payload field for the API request. - * - * @param \Swift_Mime_SimpleMessage $message - * @return string - */ - protected function getTo(Swift_Mime_SimpleMessage $message) - { - return collect($this->allContacts($message))->map(function ($display, $address) { - return $display ? $display." <{$address}>" : $address; - })->values()->implode(','); - } - - /** - * Get all of the contacts for the message. - * - * @param \Swift_Mime_SimpleMessage $message - * @return array - */ - protected function allContacts(Swift_Mime_SimpleMessage $message) - { - return array_merge( - (array) $message->getTo(), (array) $message->getCc(), (array) $message->getBcc() - ); - } - - /** - * Get the message ID from the response. - * - * @param \Psr\Http\Message\ResponseInterface $response - * @return string - */ - protected function getMessageId($response) - { - return object_get( - json_decode($response->getBody()->getContents()), 'id' - ); - } - - /** - * Get the API key being used by the transport. - * - * @return string - */ - public function getKey() - { - return $this->key; - } - - /** - * Set the API key being used by the transport. - * - * @param string $key - * @return string - */ - public function setKey($key) - { - return $this->key = $key; - } - - /** - * Get the domain being used by the transport. - * - * @return string - */ - public function getDomain() - { - return $this->domain; - } - - /** - * Set the domain being used by the transport. - * - * @param string $domain - * @return string - */ - public function setDomain($domain) - { - return $this->domain = $domain; - } - - /** - * Get the API endpoint being used by the transport. - * - * @return string - */ - public function getEndpoint() - { - return $this->endpoint; - } - - /** - * Set the API endpoint being used by the transport. - * - * @param string $endpoint - * @return string - */ - public function setEndpoint($endpoint) - { - return $this->endpoint = $endpoint; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/Transport/MandrillTransport.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/Transport/MandrillTransport.php deleted file mode 100644 index e8e6ae1..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/Transport/MandrillTransport.php +++ /dev/null @@ -1,105 +0,0 @@ -key = $key; - $this->client = $client; - } - - /** - * {@inheritdoc} - */ - public function send(Swift_Mime_SimpleMessage $message, &$failedRecipients = null) - { - $this->beforeSendPerformed($message); - - $this->client->request('POST', 'https://mandrillapp.com/api/1.0/messages/send-raw.json', [ - 'form_params' => [ - 'key' => $this->key, - 'to' => $this->getTo($message), - 'raw_message' => $message->toString(), - 'async' => true, - ], - ]); - - $this->sendPerformed($message); - - return $this->numberOfRecipients($message); - } - - /** - * Get all the addresses this message should be sent to. - * - * Note that Mandrill still respects CC, BCC headers in raw message itself. - * - * @param \Swift_Mime_SimpleMessage $message - * @return array - */ - protected function getTo(Swift_Mime_SimpleMessage $message) - { - $to = []; - - if ($message->getTo()) { - $to = array_merge($to, array_keys($message->getTo())); - } - - if ($message->getCc()) { - $to = array_merge($to, array_keys($message->getCc())); - } - - if ($message->getBcc()) { - $to = array_merge($to, array_keys($message->getBcc())); - } - - return $to; - } - - /** - * Get the API key being used by the transport. - * - * @return string - */ - public function getKey() - { - return $this->key; - } - - /** - * Set the API key being used by the transport. - * - * @param string $key - * @return string - */ - public function setKey($key) - { - return $this->key = $key; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/Transport/SesTransport.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/Transport/SesTransport.php deleted file mode 100644 index 0dc8584..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/Transport/SesTransport.php +++ /dev/null @@ -1,92 +0,0 @@ -ses = $ses; - $this->options = $options; - } - - /** - * {@inheritdoc} - */ - public function send(Swift_Mime_SimpleMessage $message, &$failedRecipients = null) - { - $this->beforeSendPerformed($message); - - $result = $this->ses->sendRawEmail( - array_merge( - $this->options, [ - 'Source' => key($message->getSender() ?: $message->getFrom()), - 'RawMessage' => [ - 'Data' => $message->toString(), - ], - ] - ) - ); - - $message->getHeaders()->addTextHeader('X-SES-Message-ID', $result->get('MessageId')); - - $this->sendPerformed($message); - - return $this->numberOfRecipients($message); - } - - /** - * Get the Amazon SES client for the SesTransport instance. - * - * @return \Aws\Ses\SesClient - */ - public function ses() - { - return $this->ses; - } - - /** - * Get the transmission options being used by the transport. - * - * @return array - */ - public function getOptions() - { - return $this->options; - } - - /** - * Set the transmission options being used by the transport. - * - * @param array $options - * @return array - */ - public function setOptions(array $options) - { - return $this->options = $options; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/Transport/SparkPostTransport.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/Transport/SparkPostTransport.php deleted file mode 100644 index a2358f1..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/Transport/SparkPostTransport.php +++ /dev/null @@ -1,169 +0,0 @@ -key = $key; - $this->client = $client; - $this->options = $options; - } - - /** - * {@inheritdoc} - */ - public function send(Swift_Mime_SimpleMessage $message, &$failedRecipients = null) - { - $this->beforeSendPerformed($message); - - $recipients = $this->getRecipients($message); - - $message->setBcc([]); - - $response = $this->client->request('POST', $this->getEndpoint(), [ - 'headers' => [ - 'Authorization' => $this->key, - ], - 'json' => array_merge([ - 'recipients' => $recipients, - 'content' => [ - 'email_rfc822' => $message->toString(), - ], - ], $this->options), - ]); - - $message->getHeaders()->addTextHeader( - 'X-SparkPost-Transmission-ID', $this->getTransmissionId($response) - ); - - $this->sendPerformed($message); - - return $this->numberOfRecipients($message); - } - - /** - * Get all the addresses this message should be sent to. - * - * Note that SparkPost still respects CC, BCC headers in raw message itself. - * - * @param \Swift_Mime_SimpleMessage $message - * @return array - */ - protected function getRecipients(Swift_Mime_SimpleMessage $message) - { - $recipients = []; - - foreach ((array) $message->getTo() as $email => $name) { - $recipients[] = ['address' => compact('name', 'email')]; - } - - foreach ((array) $message->getCc() as $email => $name) { - $recipients[] = ['address' => compact('name', 'email')]; - } - - foreach ((array) $message->getBcc() as $email => $name) { - $recipients[] = ['address' => compact('name', 'email')]; - } - - return $recipients; - } - - /** - * Get the transmission ID from the response. - * - * @param \GuzzleHttp\Psr7\Response $response - * @return string - */ - protected function getTransmissionId($response) - { - return object_get( - json_decode($response->getBody()->getContents()), 'results.id' - ); - } - - /** - * Get the API key being used by the transport. - * - * @return string - */ - public function getKey() - { - return $this->key; - } - - /** - * Set the API key being used by the transport. - * - * @param string $key - * @return string - */ - public function setKey($key) - { - return $this->key = $key; - } - - /** - * Get the SparkPost API endpoint. - * - * @return string - */ - public function getEndpoint() - { - return $this->getOptions()['endpoint'] ?? 'https://api.sparkpost.com/api/v1/transmissions'; - } - - /** - * Get the transmission options being used by the transport. - * - * @return array - */ - public function getOptions() - { - return $this->options; - } - - /** - * Set the transmission options being used by the transport. - * - * @param array $options - * @return array - */ - public function setOptions(array $options) - { - return $this->options = $options; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/Transport/Transport.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/Transport/Transport.php deleted file mode 100644 index bc25749..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/Transport/Transport.php +++ /dev/null @@ -1,108 +0,0 @@ -plugins, $plugin); - } - - /** - * Iterate through registered plugins and execute plugins' methods. - * - * @param \Swift_Mime_SimpleMessage $message - * @return void - */ - protected function beforeSendPerformed(Swift_Mime_SimpleMessage $message) - { - $event = new Swift_Events_SendEvent($this, $message); - - foreach ($this->plugins as $plugin) { - if (method_exists($plugin, 'beforeSendPerformed')) { - $plugin->beforeSendPerformed($event); - } - } - } - - /** - * Iterate through registered plugins and execute plugins' methods. - * - * @param \Swift_Mime_SimpleMessage $message - * @return void - */ - protected function sendPerformed(Swift_Mime_SimpleMessage $message) - { - $event = new Swift_Events_SendEvent($this, $message); - - foreach ($this->plugins as $plugin) { - if (method_exists($plugin, 'sendPerformed')) { - $plugin->sendPerformed($event); - } - } - } - - /** - * Get the number of recipients. - * - * @param \Swift_Mime_SimpleMessage $message - * @return int - */ - protected function numberOfRecipients(Swift_Mime_SimpleMessage $message) - { - return count(array_merge( - (array) $message->getTo(), (array) $message->getCc(), (array) $message->getBcc() - )); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/TransportManager.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/TransportManager.php deleted file mode 100644 index 206727c..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/TransportManager.php +++ /dev/null @@ -1,245 +0,0 @@ -app->make('config')->get('mail'); - - // The Swift SMTP transport instance will allow us to use any SMTP backend - // for delivering mail such as Sendgrid, Amazon SES, or a custom server - // a developer has available. We will just pass this configured host. - $transport = new SmtpTransport($config['host'], $config['port']); - - if (isset($config['encryption'])) { - $transport->setEncryption($config['encryption']); - } - - // Once we have the transport we will check for the presence of a username - // and password. If we have it we will set the credentials on the Swift - // transporter instance so that we'll properly authenticate delivery. - if (isset($config['username'])) { - $transport->setUsername($config['username']); - - $transport->setPassword($config['password']); - } - - return $this->configureSmtpDriver($transport, $config); - } - - /** - * Configure the additional SMTP driver options. - * - * @param \Swift_SmtpTransport $transport - * @param array $config - * @return \Swift_SmtpTransport - */ - protected function configureSmtpDriver($transport, $config) - { - if (isset($config['stream'])) { - $transport->setStreamOptions($config['stream']); - } - - if (isset($config['source_ip'])) { - $transport->setSourceIp($config['source_ip']); - } - - if (isset($config['local_domain'])) { - $transport->setLocalDomain($config['local_domain']); - } - - return $transport; - } - - /** - * Create an instance of the Sendmail Swift Transport driver. - * - * @return \Swift_SendmailTransport - */ - protected function createSendmailDriver() - { - return new SendmailTransport($this->app['config']['mail']['sendmail']); - } - - /** - * Create an instance of the Amazon SES Swift Transport driver. - * - * @return \Illuminate\Mail\Transport\SesTransport - */ - protected function createSesDriver() - { - $config = array_merge($this->app['config']->get('services.ses', []), [ - 'version' => 'latest', 'service' => 'email', - ]); - - return new SesTransport( - new SesClient($this->addSesCredentials($config)), - $config['options'] ?? [] - ); - } - - /** - * Add the SES credentials to the configuration array. - * - * @param array $config - * @return array - */ - protected function addSesCredentials(array $config) - { - if (! empty($config['key']) && ! empty($config['secret'])) { - $config['credentials'] = Arr::only($config, ['key', 'secret', 'token']); - } - - return $config; - } - - /** - * Create an instance of the Mail Swift Transport driver. - * - * @return \Swift_SendmailTransport - */ - protected function createMailDriver() - { - return new SendmailTransport; - } - - /** - * Create an instance of the Mailgun Swift Transport driver. - * - * @return \Illuminate\Mail\Transport\MailgunTransport - */ - protected function createMailgunDriver() - { - $config = $this->app['config']->get('services.mailgun', []); - - return new MailgunTransport( - $this->guzzle($config), - $config['secret'], - $config['domain'], - $config['endpoint'] ?? null - ); - } - - /** - * Create an instance of the Mandrill Swift Transport driver. - * - * @return \Illuminate\Mail\Transport\MandrillTransport - */ - protected function createMandrillDriver() - { - $config = $this->app['config']->get('services.mandrill', []); - - return new MandrillTransport( - $this->guzzle($config), $config['secret'] - ); - } - - /** - * Create an instance of the SparkPost Swift Transport driver. - * - * @return \Illuminate\Mail\Transport\SparkPostTransport - */ - protected function createSparkPostDriver() - { - $config = $this->app['config']->get('services.sparkpost', []); - - return new SparkPostTransport( - $this->guzzle($config), $config['secret'], $config['options'] ?? [] - ); - } - - /** - * Create an instance of the Postmark Swift Transport driver. - * - * @return \Swift_Transport - */ - protected function createPostmarkDriver() - { - return new PostmarkTransport( - $this->app['config']->get('services.postmark.token') - ); - } - - /** - * Create an instance of the Log Swift Transport driver. - * - * @return \Illuminate\Mail\Transport\LogTransport - */ - protected function createLogDriver() - { - $logger = $this->app->make(LoggerInterface::class); - - if ($logger instanceof LogManager) { - $logger = $logger->channel($this->app['config']['mail.log_channel']); - } - - return new LogTransport($logger); - } - - /** - * Create an instance of the Array Swift Transport Driver. - * - * @return \Illuminate\Mail\Transport\ArrayTransport - */ - protected function createArrayDriver() - { - return new ArrayTransport; - } - - /** - * Get a fresh Guzzle HTTP client instance. - * - * @param array $config - * @return \GuzzleHttp\Client - */ - protected function guzzle($config) - { - return new HttpClient(Arr::add( - $config['guzzle'] ?? [], 'connect_timeout', 60 - )); - } - - /** - * Get the default mail driver name. - * - * @return string - */ - public function getDefaultDriver() - { - return $this->app['config']['mail.driver']; - } - - /** - * Set the default mail driver name. - * - * @param string $name - * @return void - */ - public function setDefaultDriver($name) - { - $this->app['config']['mail.driver'] = $name; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/composer.json b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/composer.json deleted file mode 100644 index c04704a..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/composer.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "name": "illuminate/mail", - "description": "The Illuminate Mail package.", - "license": "MIT", - "homepage": "https://laravel.com", - "support": { - "issues": "https://github.com/laravel/framework/issues", - "source": "https://github.com/laravel/framework" - }, - "authors": [ - { - "name": "Taylor Otwell", - "email": "taylor@laravel.com" - } - ], - "require": { - "php": "^7.1.3", - "ext-json": "*", - "erusev/parsedown": "^1.7", - "illuminate/container": "5.8.*", - "illuminate/contracts": "5.8.*", - "illuminate/support": "5.8.*", - "psr/log": "^1.0", - "swiftmailer/swiftmailer": "^6.0", - "tijsverkoyen/css-to-inline-styles": "^2.2.1" - }, - "autoload": { - "psr-4": { - "Illuminate\\Mail\\": "" - } - }, - "extra": { - "branch-alias": { - "dev-master": "5.8-dev" - } - }, - "suggest": { - "aws/aws-sdk-php": "Required to use the SES mail driver (^3.0).", - "guzzlehttp/guzzle": "Required to use the Mailgun and Mandrill mail drivers (^6.0).", - "wildbit/swiftmailer-postmark": "Required to use Postmark mail driver (^3.0)." - }, - "config": { - "sort-packages": true - }, - "minimum-stability": "dev" -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/resources/views/html/button.blade.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/resources/views/html/button.blade.php deleted file mode 100644 index 512c1d8..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/resources/views/html/button.blade.php +++ /dev/null @@ -1,19 +0,0 @@ - - - - - diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/resources/views/html/footer.blade.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/resources/views/html/footer.blade.php deleted file mode 100644 index 33f7dad..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/resources/views/html/footer.blade.php +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/resources/views/html/header.blade.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/resources/views/html/header.blade.php deleted file mode 100644 index eefabab..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/resources/views/html/header.blade.php +++ /dev/null @@ -1,7 +0,0 @@ - - - - {{ $slot }} - - - diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/resources/views/html/layout.blade.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/resources/views/html/layout.blade.php deleted file mode 100644 index eded495..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/resources/views/html/layout.blade.php +++ /dev/null @@ -1,54 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/resources/views/html/message.blade.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/resources/views/html/message.blade.php deleted file mode 100644 index 1ae9ed8..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/resources/views/html/message.blade.php +++ /dev/null @@ -1,27 +0,0 @@ -@component('mail::layout') - {{-- Header --}} - @slot('header') - @component('mail::header', ['url' => config('app.url')]) - {{ config('app.name') }} - @endcomponent - @endslot - - {{-- Body --}} - {{ $slot }} - - {{-- Subcopy --}} - @isset($subcopy) - @slot('subcopy') - @component('mail::subcopy') - {{ $subcopy }} - @endcomponent - @endslot - @endisset - - {{-- Footer --}} - @slot('footer') - @component('mail::footer') - © {{ date('Y') }} {{ config('app.name') }}. @lang('All rights reserved.') - @endcomponent - @endslot -@endcomponent diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/resources/views/html/panel.blade.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/resources/views/html/panel.blade.php deleted file mode 100644 index 783af16..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/resources/views/html/panel.blade.php +++ /dev/null @@ -1,13 +0,0 @@ - - - - - diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/resources/views/html/promotion.blade.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/resources/views/html/promotion.blade.php deleted file mode 100644 index f78b358..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/resources/views/html/promotion.blade.php +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/resources/views/html/promotion/button.blade.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/resources/views/html/promotion/button.blade.php deleted file mode 100644 index 1dcb2ee..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/resources/views/html/promotion/button.blade.php +++ /dev/null @@ -1,13 +0,0 @@ - - - - -
- - - - -
- {{ $slot }} -
-
diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/resources/views/html/subcopy.blade.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/resources/views/html/subcopy.blade.php deleted file mode 100644 index f559e8f..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/resources/views/html/subcopy.blade.php +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/resources/views/html/table.blade.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/resources/views/html/table.blade.php deleted file mode 100644 index a5f3348..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/resources/views/html/table.blade.php +++ /dev/null @@ -1,3 +0,0 @@ -
-{{ Illuminate\Mail\Markdown::parse($slot) }} -
diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/resources/views/html/themes/default.css b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/resources/views/html/themes/default.css deleted file mode 100644 index e5a4471..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/resources/views/html/themes/default.css +++ /dev/null @@ -1,292 +0,0 @@ -/* Base */ - -body, -body *:not(html):not(style):not(br):not(tr):not(code) { - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, - 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; - box-sizing: border-box; -} - -body { - background-color: #f8fafc; - color: #74787e; - height: 100%; - hyphens: auto; - line-height: 1.4; - margin: 0; - -moz-hyphens: auto; - -ms-word-break: break-all; - width: 100% !important; - -webkit-hyphens: auto; - -webkit-text-size-adjust: none; - word-break: break-all; - word-break: break-word; -} - -p, -ul, -ol, -blockquote { - line-height: 1.4; - text-align: left; -} - -a { - color: #3869d4; -} - -a img { - border: none; -} - -/* Typography */ - -h1 { - color: #3d4852; - font-size: 19px; - font-weight: bold; - margin-top: 0; - text-align: left; -} - -h2 { - color: #3d4852; - font-size: 16px; - font-weight: bold; - margin-top: 0; - text-align: left; -} - -h3 { - color: #3d4852; - font-size: 14px; - font-weight: bold; - margin-top: 0; - text-align: left; -} - -p { - color: #3d4852; - font-size: 16px; - line-height: 1.5em; - margin-top: 0; - text-align: left; -} - -p.sub { - font-size: 12px; -} - -img { - max-width: 100%; -} - -/* Layout */ - -.wrapper { - background-color: #f8fafc; - margin: 0; - padding: 0; - width: 100%; - -premailer-cellpadding: 0; - -premailer-cellspacing: 0; - -premailer-width: 100%; -} - -.content { - margin: 0; - padding: 0; - width: 100%; - -premailer-cellpadding: 0; - -premailer-cellspacing: 0; - -premailer-width: 100%; -} - -/* Header */ - -.header { - padding: 25px 0; - text-align: center; -} - -.header a { - color: #bbbfc3; - font-size: 19px; - font-weight: bold; - text-decoration: none; - text-shadow: 0 1px 0 white; -} - -/* Body */ - -.body { - background-color: #ffffff; - border-bottom: 1px solid #edeff2; - border-top: 1px solid #edeff2; - margin: 0; - padding: 0; - width: 100%; - -premailer-cellpadding: 0; - -premailer-cellspacing: 0; - -premailer-width: 100%; -} - -.inner-body { - background-color: #ffffff; - margin: 0 auto; - padding: 0; - width: 570px; - -premailer-cellpadding: 0; - -premailer-cellspacing: 0; - -premailer-width: 570px; -} - -/* Subcopy */ - -.subcopy { - border-top: 1px solid #edeff2; - margin-top: 25px; - padding-top: 25px; -} - -.subcopy p { - font-size: 12px; -} - -/* Footer */ - -.footer { - margin: 0 auto; - padding: 0; - text-align: center; - width: 570px; - -premailer-cellpadding: 0; - -premailer-cellspacing: 0; - -premailer-width: 570px; -} - -.footer p { - color: #aeaeae; - font-size: 12px; - text-align: center; -} - -/* Tables */ - -.table table { - margin: 30px auto; - width: 100%; - -premailer-cellpadding: 0; - -premailer-cellspacing: 0; - -premailer-width: 100%; -} - -.table th { - border-bottom: 1px solid #edeff2; - padding-bottom: 8px; - margin: 0; -} - -.table td { - color: #74787e; - font-size: 15px; - line-height: 18px; - padding: 10px 0; - margin: 0; -} - -.content-cell { - padding: 35px; -} - -/* Buttons */ - -.action { - margin: 30px auto; - padding: 0; - text-align: center; - width: 100%; - -premailer-cellpadding: 0; - -premailer-cellspacing: 0; - -premailer-width: 100%; -} - -.button { - border-radius: 3px; - box-shadow: 0 2px 3px rgba(0, 0, 0, 0.16); - color: #fff; - display: inline-block; - text-decoration: none; - -webkit-text-size-adjust: none; -} - -.button-blue, -.button-primary { - background-color: #3490dc; - border-top: 10px solid #3490dc; - border-right: 18px solid #3490dc; - border-bottom: 10px solid #3490dc; - border-left: 18px solid #3490dc; -} - -.button-green, -.button-success { - background-color: #38c172; - border-top: 10px solid #38c172; - border-right: 18px solid #38c172; - border-bottom: 10px solid #38c172; - border-left: 18px solid #38c172; -} - -.button-red, -.button-error { - background-color: #e3342f; - border-top: 10px solid #e3342f; - border-right: 18px solid #e3342f; - border-bottom: 10px solid #e3342f; - border-left: 18px solid #e3342f; -} - -/* Panels */ - -.panel { - margin: 0 0 21px; -} - -.panel-content { - background-color: #f1f5f8; - padding: 16px; -} - -.panel-item { - padding: 0; -} - -.panel-item p:last-of-type { - margin-bottom: 0; - padding-bottom: 0; -} - -/* Promotions */ - -.promotion { - background-color: #ffffff; - border: 2px dashed #9ba2ab; - margin: 0; - margin-bottom: 25px; - margin-top: 25px; - padding: 24px; - width: 100%; - -premailer-cellpadding: 0; - -premailer-cellspacing: 0; - -premailer-width: 100%; -} - -.promotion h1 { - text-align: center; -} - -.promotion p { - font-size: 15px; - text-align: center; -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/resources/views/text/button.blade.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/resources/views/text/button.blade.php deleted file mode 100644 index 97444eb..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/resources/views/text/button.blade.php +++ /dev/null @@ -1 +0,0 @@ -{{ $slot }}: {{ $url }} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/resources/views/text/footer.blade.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/resources/views/text/footer.blade.php deleted file mode 100644 index 3338f62..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/resources/views/text/footer.blade.php +++ /dev/null @@ -1 +0,0 @@ -{{ $slot }} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/resources/views/text/header.blade.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/resources/views/text/header.blade.php deleted file mode 100644 index aaa3e57..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/resources/views/text/header.blade.php +++ /dev/null @@ -1 +0,0 @@ -[{{ $slot }}]({{ $url }}) diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/resources/views/text/layout.blade.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/resources/views/text/layout.blade.php deleted file mode 100644 index 9378baa..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/resources/views/text/layout.blade.php +++ /dev/null @@ -1,9 +0,0 @@ -{!! strip_tags($header) !!} - -{!! strip_tags($slot) !!} -@isset($subcopy) - -{!! strip_tags($subcopy) !!} -@endisset - -{!! strip_tags($footer) !!} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/resources/views/text/message.blade.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/resources/views/text/message.blade.php deleted file mode 100644 index 1ae9ed8..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/resources/views/text/message.blade.php +++ /dev/null @@ -1,27 +0,0 @@ -@component('mail::layout') - {{-- Header --}} - @slot('header') - @component('mail::header', ['url' => config('app.url')]) - {{ config('app.name') }} - @endcomponent - @endslot - - {{-- Body --}} - {{ $slot }} - - {{-- Subcopy --}} - @isset($subcopy) - @slot('subcopy') - @component('mail::subcopy') - {{ $subcopy }} - @endcomponent - @endslot - @endisset - - {{-- Footer --}} - @slot('footer') - @component('mail::footer') - © {{ date('Y') }} {{ config('app.name') }}. @lang('All rights reserved.') - @endcomponent - @endslot -@endcomponent diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/resources/views/text/panel.blade.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/resources/views/text/panel.blade.php deleted file mode 100644 index 3338f62..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/resources/views/text/panel.blade.php +++ /dev/null @@ -1 +0,0 @@ -{{ $slot }} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/resources/views/text/promotion.blade.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/resources/views/text/promotion.blade.php deleted file mode 100644 index 3338f62..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/resources/views/text/promotion.blade.php +++ /dev/null @@ -1 +0,0 @@ -{{ $slot }} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/resources/views/text/promotion/button.blade.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/resources/views/text/promotion/button.blade.php deleted file mode 100644 index aaa3e57..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/resources/views/text/promotion/button.blade.php +++ /dev/null @@ -1 +0,0 @@ -[{{ $slot }}]({{ $url }}) diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/resources/views/text/subcopy.blade.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/resources/views/text/subcopy.blade.php deleted file mode 100644 index 3338f62..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/resources/views/text/subcopy.blade.php +++ /dev/null @@ -1 +0,0 @@ -{{ $slot }} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/resources/views/text/table.blade.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/resources/views/text/table.blade.php deleted file mode 100644 index 3338f62..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Mail/resources/views/text/table.blade.php +++ /dev/null @@ -1 +0,0 @@ -{{ $slot }} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Notifications/Action.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Notifications/Action.php deleted file mode 100644 index 071db2d..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Notifications/Action.php +++ /dev/null @@ -1,33 +0,0 @@ -url = $url; - $this->text = $text; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Notifications/AnonymousNotifiable.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Notifications/AnonymousNotifiable.php deleted file mode 100644 index d820239..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Notifications/AnonymousNotifiable.php +++ /dev/null @@ -1,72 +0,0 @@ -routes[$channel] = $route; - - return $this; - } - - /** - * Send the given notification. - * - * @param mixed $notification - * @return void - */ - public function notify($notification) - { - app(Dispatcher::class)->send($this, $notification); - } - - /** - * Send the given notification immediately. - * - * @param mixed $notification - * @return void - */ - public function notifyNow($notification) - { - app(Dispatcher::class)->sendNow($this, $notification); - } - - /** - * Get the notification routing information for the given driver. - * - * @param string $driver - * @return mixed - */ - public function routeNotificationFor($driver) - { - return $this->routes[$driver] ?? null; - } - - /** - * Get the value of the notifiable's primary key. - * - * @return mixed - */ - public function getKey() - { - // - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Notifications/ChannelManager.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Notifications/ChannelManager.php deleted file mode 100644 index 7a89146..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Notifications/ChannelManager.php +++ /dev/null @@ -1,162 +0,0 @@ -app->make(Bus::class), $this->app->make(Dispatcher::class), $this->locale) - )->send($notifiables, $notification); - } - - /** - * Send the given notification immediately. - * - * @param \Illuminate\Support\Collection|array|mixed $notifiables - * @param mixed $notification - * @param array|null $channels - * @return void - */ - public function sendNow($notifiables, $notification, array $channels = null) - { - return (new NotificationSender( - $this, $this->app->make(Bus::class), $this->app->make(Dispatcher::class), $this->locale) - )->sendNow($notifiables, $notification, $channels); - } - - /** - * Get a channel instance. - * - * @param string|null $name - * @return mixed - */ - public function channel($name = null) - { - return $this->driver($name); - } - - /** - * Create an instance of the database driver. - * - * @return \Illuminate\Notifications\Channels\DatabaseChannel - */ - protected function createDatabaseDriver() - { - return $this->app->make(Channels\DatabaseChannel::class); - } - - /** - * Create an instance of the broadcast driver. - * - * @return \Illuminate\Notifications\Channels\BroadcastChannel - */ - protected function createBroadcastDriver() - { - return $this->app->make(Channels\BroadcastChannel::class); - } - - /** - * Create an instance of the mail driver. - * - * @return \Illuminate\Notifications\Channels\MailChannel - */ - protected function createMailDriver() - { - return $this->app->make(Channels\MailChannel::class); - } - - /** - * Create a new driver instance. - * - * @param string $driver - * @return mixed - * - * @throws \InvalidArgumentException - */ - protected function createDriver($driver) - { - try { - return parent::createDriver($driver); - } catch (InvalidArgumentException $e) { - if (class_exists($driver)) { - return $this->app->make($driver); - } - - throw $e; - } - } - - /** - * Get the default channel driver name. - * - * @return string - */ - public function getDefaultDriver() - { - return $this->defaultChannel; - } - - /** - * Get the default channel driver name. - * - * @return string - */ - public function deliversVia() - { - return $this->getDefaultDriver(); - } - - /** - * Set the default channel driver name. - * - * @param string $channel - * @return void - */ - public function deliverVia($channel) - { - $this->defaultChannel = $channel; - } - - /** - * Set the locale of notifications. - * - * @param string $locale - * @return $this - */ - public function locale($locale) - { - $this->locale = $locale; - - return $this; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Notifications/Channels/BroadcastChannel.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Notifications/Channels/BroadcastChannel.php deleted file mode 100644 index d3f5861..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Notifications/Channels/BroadcastChannel.php +++ /dev/null @@ -1,75 +0,0 @@ -events = $events; - } - - /** - * Send the given notification. - * - * @param mixed $notifiable - * @param \Illuminate\Notifications\Notification $notification - * @return array|null - */ - public function send($notifiable, Notification $notification) - { - $message = $this->getData($notifiable, $notification); - - $event = new BroadcastNotificationCreated( - $notifiable, $notification, is_array($message) ? $message : $message->data - ); - - if ($message instanceof BroadcastMessage) { - $event->onConnection($message->connection) - ->onQueue($message->queue); - } - - return $this->events->dispatch($event); - } - - /** - * Get the data for the notification. - * - * @param mixed $notifiable - * @param \Illuminate\Notifications\Notification $notification - * @return mixed - * - * @throws \RuntimeException - */ - protected function getData($notifiable, Notification $notification) - { - if (method_exists($notification, 'toBroadcast')) { - return $notification->toBroadcast($notifiable); - } - - if (method_exists($notification, 'toArray')) { - return $notification->toArray($notifiable); - } - - throw new RuntimeException('Notification is missing toArray method.'); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Notifications/Channels/DatabaseChannel.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Notifications/Channels/DatabaseChannel.php deleted file mode 100644 index 1019e5a..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Notifications/Channels/DatabaseChannel.php +++ /dev/null @@ -1,63 +0,0 @@ -routeNotificationFor('database', $notification)->create( - $this->buildPayload($notifiable, $notification) - ); - } - - /** - * Get the data for the notification. - * - * @param mixed $notifiable - * @param \Illuminate\Notifications\Notification $notification - * @return array - * - * @throws \RuntimeException - */ - protected function getData($notifiable, Notification $notification) - { - if (method_exists($notification, 'toDatabase')) { - return is_array($data = $notification->toDatabase($notifiable)) - ? $data : $data->data; - } - - if (method_exists($notification, 'toArray')) { - return $notification->toArray($notifiable); - } - - throw new RuntimeException('Notification is missing toDatabase / toArray method.'); - } - - /** - * Build an array payload for the DatabaseNotification Model. - * - * @param mixed $notifiable - * @param \Illuminate\Notifications\Notification $notification - * @return array - */ - protected function buildPayload($notifiable, Notification $notification) - { - return [ - 'id' => $notification->id, - 'type' => get_class($notification), - 'data' => $this->getData($notifiable, $notification), - 'read_at' => null, - ]; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Notifications/Channels/MailChannel.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Notifications/Channels/MailChannel.php deleted file mode 100644 index e37931c..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Notifications/Channels/MailChannel.php +++ /dev/null @@ -1,250 +0,0 @@ -mailer = $mailer; - $this->markdown = $markdown; - } - - /** - * Send the given notification. - * - * @param mixed $notifiable - * @param \Illuminate\Notifications\Notification $notification - * @return void - */ - public function send($notifiable, Notification $notification) - { - $message = $notification->toMail($notifiable); - - if (! $notifiable->routeNotificationFor('mail', $notification) && - ! $message instanceof Mailable) { - return; - } - - if ($message instanceof Mailable) { - return $message->send($this->mailer); - } - - $this->mailer->send( - $this->buildView($message), - array_merge($message->data(), $this->additionalMessageData($notification)), - $this->messageBuilder($notifiable, $notification, $message) - ); - } - - /** - * Get the mailer Closure for the message. - * - * @param mixed $notifiable - * @param \Illuminate\Notifications\Notification $notification - * @param \Illuminate\Notifications\Messages\MailMessage $message - * @return \Closure - */ - protected function messageBuilder($notifiable, $notification, $message) - { - return function ($mailMessage) use ($notifiable, $notification, $message) { - $this->buildMessage($mailMessage, $notifiable, $notification, $message); - }; - } - - /** - * Build the notification's view. - * - * @param \Illuminate\Notifications\Messages\MailMessage $message - * @return string|array - */ - protected function buildView($message) - { - if ($message->view) { - return $message->view; - } - - if (property_exists($message, 'theme') && ! is_null($message->theme)) { - $this->markdown->theme($message->theme); - } - - return [ - 'html' => $this->markdown->render($message->markdown, $message->data()), - 'text' => $this->markdown->renderText($message->markdown, $message->data()), - ]; - } - - /** - * Get additional meta-data to pass along with the view data. - * - * @param \Illuminate\Notifications\Notification $notification - * @return array - */ - protected function additionalMessageData($notification) - { - return [ - '__laravel_notification' => get_class($notification), - '__laravel_notification_queued' => in_array( - ShouldQueue::class, class_implements($notification) - ), - ]; - } - - /** - * Build the mail message. - * - * @param \Illuminate\Mail\Message $mailMessage - * @param mixed $notifiable - * @param \Illuminate\Notifications\Notification $notification - * @param \Illuminate\Notifications\Messages\MailMessage $message - * @return void - */ - protected function buildMessage($mailMessage, $notifiable, $notification, $message) - { - $this->addressMessage($mailMessage, $notifiable, $notification, $message); - - $mailMessage->subject($message->subject ?: Str::title( - Str::snake(class_basename($notification), ' ') - )); - - $this->addAttachments($mailMessage, $message); - - if (! is_null($message->priority)) { - $mailMessage->setPriority($message->priority); - } - - $this->runCallbacks($mailMessage, $message); - } - - /** - * Address the mail message. - * - * @param \Illuminate\Mail\Message $mailMessage - * @param mixed $notifiable - * @param \Illuminate\Notifications\Notification $notification - * @param \Illuminate\Notifications\Messages\MailMessage $message - * @return void - */ - protected function addressMessage($mailMessage, $notifiable, $notification, $message) - { - $this->addSender($mailMessage, $message); - - $mailMessage->to($this->getRecipients($notifiable, $notification, $message)); - - if (! empty($message->cc)) { - foreach ($message->cc as $cc) { - $mailMessage->cc($cc[0], Arr::get($cc, 1)); - } - } - - if (! empty($message->bcc)) { - foreach ($message->bcc as $bcc) { - $mailMessage->bcc($bcc[0], Arr::get($bcc, 1)); - } - } - } - - /** - * Add the "from" and "reply to" addresses to the message. - * - * @param \Illuminate\Mail\Message $mailMessage - * @param \Illuminate\Notifications\Messages\MailMessage $message - * @return void - */ - protected function addSender($mailMessage, $message) - { - if (! empty($message->from)) { - $mailMessage->from($message->from[0], Arr::get($message->from, 1)); - } - - if (! empty($message->replyTo)) { - foreach ($message->replyTo as $replyTo) { - $mailMessage->replyTo($replyTo[0], Arr::get($replyTo, 1)); - } - } - } - - /** - * Get the recipients of the given message. - * - * @param mixed $notifiable - * @param \Illuminate\Notifications\Notification $notification - * @param \Illuminate\Notifications\Messages\MailMessage $message - * @return mixed - */ - protected function getRecipients($notifiable, $notification, $message) - { - if (is_string($recipients = $notifiable->routeNotificationFor('mail', $notification))) { - $recipients = [$recipients]; - } - - return collect($recipients)->mapWithKeys(function ($recipient, $email) { - return is_numeric($email) - ? [$email => (is_string($recipient) ? $recipient : $recipient->email)] - : [$email => $recipient]; - })->all(); - } - - /** - * Add the attachments to the message. - * - * @param \Illuminate\Mail\Message $mailMessage - * @param \Illuminate\Notifications\Messages\MailMessage $message - * @return void - */ - protected function addAttachments($mailMessage, $message) - { - foreach ($message->attachments as $attachment) { - $mailMessage->attach($attachment['file'], $attachment['options']); - } - - foreach ($message->rawAttachments as $attachment) { - $mailMessage->attachData($attachment['data'], $attachment['name'], $attachment['options']); - } - } - - /** - * Run the callbacks for the message. - * - * @param \Illuminate\Mail\Message $mailMessage - * @param \Illuminate\Notifications\Messages\MailMessage $message - * @return $this - */ - protected function runCallbacks($mailMessage, $message) - { - foreach ($message->callbacks as $callback) { - $callback($mailMessage->getSwiftMessage()); - } - - return $this; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Notifications/Console/NotificationTableCommand.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Notifications/Console/NotificationTableCommand.php deleted file mode 100644 index 2398280..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Notifications/Console/NotificationTableCommand.php +++ /dev/null @@ -1,81 +0,0 @@ -files = $files; - $this->composer = $composer; - } - - /** - * Execute the console command. - * - * @return void - */ - public function handle() - { - $fullPath = $this->createBaseMigration(); - - $this->files->put($fullPath, $this->files->get(__DIR__.'/stubs/notifications.stub')); - - $this->info('Migration created successfully!'); - - $this->composer->dumpAutoloads(); - } - - /** - * Create a base migration file for the notifications. - * - * @return string - */ - protected function createBaseMigration() - { - $name = 'create_notifications_table'; - - $path = $this->laravel->databasePath().'/migrations'; - - return $this->laravel['migration.creator']->create($name, $path); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Notifications/Console/stubs/notifications.stub b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Notifications/Console/stubs/notifications.stub deleted file mode 100644 index fb16d5b..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Notifications/Console/stubs/notifications.stub +++ /dev/null @@ -1,35 +0,0 @@ -uuid('id')->primary(); - $table->string('type'); - $table->morphs('notifiable'); - $table->text('data'); - $table->timestamp('read_at')->nullable(); - $table->timestamps(); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('notifications'); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Notifications/DatabaseNotification.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Notifications/DatabaseNotification.php deleted file mode 100644 index 1c1b6bb..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Notifications/DatabaseNotification.php +++ /dev/null @@ -1,102 +0,0 @@ - 'array', - 'read_at' => 'datetime', - ]; - - /** - * Get the notifiable entity that the notification belongs to. - */ - public function notifiable() - { - return $this->morphTo(); - } - - /** - * Mark the notification as read. - * - * @return void - */ - public function markAsRead() - { - if (is_null($this->read_at)) { - $this->forceFill(['read_at' => $this->freshTimestamp()])->save(); - } - } - - /** - * Mark the notification as unread. - * - * @return void - */ - public function markAsUnread() - { - if (! is_null($this->read_at)) { - $this->forceFill(['read_at' => null])->save(); - } - } - - /** - * Determine if a notification has been read. - * - * @return bool - */ - public function read() - { - return $this->read_at !== null; - } - - /** - * Determine if a notification has not been read. - * - * @return bool - */ - public function unread() - { - return $this->read_at === null; - } - - /** - * Create a new database notification collection instance. - * - * @param array $models - * @return \Illuminate\Notifications\DatabaseNotificationCollection - */ - public function newCollection(array $models = []) - { - return new DatabaseNotificationCollection($models); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Notifications/DatabaseNotificationCollection.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Notifications/DatabaseNotificationCollection.php deleted file mode 100644 index fc7b470..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Notifications/DatabaseNotificationCollection.php +++ /dev/null @@ -1,32 +0,0 @@ -each(function ($notification) { - $notification->markAsRead(); - }); - } - - /** - * Mark all notifications as unread. - * - * @return void - */ - public function markAsUnread() - { - $this->each(function ($notification) { - $notification->markAsUnread(); - }); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Notifications/Events/BroadcastNotificationCreated.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Notifications/Events/BroadcastNotificationCreated.php deleted file mode 100644 index d58ae77..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Notifications/Events/BroadcastNotificationCreated.php +++ /dev/null @@ -1,106 +0,0 @@ -data = $data; - $this->notifiable = $notifiable; - $this->notification = $notification; - } - - /** - * Get the channels the event should broadcast on. - * - * @return array - */ - public function broadcastOn() - { - $channels = $this->notification->broadcastOn(); - - if (! empty($channels)) { - return $channels; - } - - return [new PrivateChannel($this->channelName())]; - } - - /** - * Get the broadcast channel name for the event. - * - * @return string - */ - protected function channelName() - { - if (method_exists($this->notifiable, 'receivesBroadcastNotificationsOn')) { - return $this->notifiable->receivesBroadcastNotificationsOn($this->notification); - } - - $class = str_replace('\\', '.', get_class($this->notifiable)); - - return $class.'.'.$this->notifiable->getKey(); - } - - /** - * Get the data that should be sent with the broadcasted event. - * - * @return array - */ - public function broadcastWith() - { - return array_merge($this->data, [ - 'id' => $this->notification->id, - 'type' => $this->broadcastType(), - ]); - } - - /** - * Get the type of the notification being broadcast. - * - * @return string - */ - public function broadcastType() - { - return method_exists($this->notification, 'broadcastType') - ? $this->notification->broadcastType() - : get_class($this->notification); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Notifications/Events/NotificationFailed.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Notifications/Events/NotificationFailed.php deleted file mode 100644 index b69e1c5..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Notifications/Events/NotificationFailed.php +++ /dev/null @@ -1,56 +0,0 @@ -data = $data; - $this->channel = $channel; - $this->notifiable = $notifiable; - $this->notification = $notification; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Notifications/Events/NotificationSending.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Notifications/Events/NotificationSending.php deleted file mode 100644 index 6efd1d0..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Notifications/Events/NotificationSending.php +++ /dev/null @@ -1,47 +0,0 @@ -channel = $channel; - $this->notifiable = $notifiable; - $this->notification = $notification; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Notifications/Events/NotificationSent.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Notifications/Events/NotificationSent.php deleted file mode 100644 index 4f09069..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Notifications/Events/NotificationSent.php +++ /dev/null @@ -1,56 +0,0 @@ -channel = $channel; - $this->response = $response; - $this->notifiable = $notifiable; - $this->notification = $notification; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Notifications/HasDatabaseNotifications.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Notifications/HasDatabaseNotifications.php deleted file mode 100644 index 981d8e5..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Notifications/HasDatabaseNotifications.php +++ /dev/null @@ -1,36 +0,0 @@ -morphMany(DatabaseNotification::class, 'notifiable')->orderBy('created_at', 'desc'); - } - - /** - * Get the entity's read notifications. - * - * @return \Illuminate\Database\Query\Builder - */ - public function readNotifications() - { - return $this->notifications()->whereNotNull('read_at'); - } - - /** - * Get the entity's unread notifications. - * - * @return \Illuminate\Database\Query\Builder - */ - public function unreadNotifications() - { - return $this->notifications()->whereNull('read_at'); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Notifications/LICENSE.md b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Notifications/LICENSE.md deleted file mode 100644 index 79810c8..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Notifications/LICENSE.md +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) Taylor Otwell - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Notifications/Messages/BroadcastMessage.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Notifications/Messages/BroadcastMessage.php deleted file mode 100644 index 9884a8f..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Notifications/Messages/BroadcastMessage.php +++ /dev/null @@ -1,41 +0,0 @@ -data = $data; - } - - /** - * Set the message data. - * - * @param array $data - * @return $this - */ - public function data($data) - { - $this->data = $data; - - return $this; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Notifications/Messages/DatabaseMessage.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Notifications/Messages/DatabaseMessage.php deleted file mode 100644 index 55707a7..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Notifications/Messages/DatabaseMessage.php +++ /dev/null @@ -1,24 +0,0 @@ -data = $data; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Notifications/Messages/MailMessage.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Notifications/Messages/MailMessage.php deleted file mode 100644 index 75b1381..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Notifications/Messages/MailMessage.php +++ /dev/null @@ -1,335 +0,0 @@ -view = $view; - $this->viewData = $data; - - $this->markdown = null; - - return $this; - } - - /** - * Set the Markdown template for the notification. - * - * @param string $view - * @param array $data - * @return $this - */ - public function markdown($view, array $data = []) - { - $this->markdown = $view; - $this->viewData = $data; - - $this->view = null; - - return $this; - } - - /** - * Set the default markdown template. - * - * @param string $template - * @return $this - */ - public function template($template) - { - $this->markdown = $template; - - return $this; - } - - /** - * Set the theme to use with the Markdown template. - * - * @param string $theme - * @return $this - */ - public function theme($theme) - { - $this->theme = $theme; - - return $this; - } - - /** - * Set the from address for the mail message. - * - * @param string $address - * @param string|null $name - * @return $this - */ - public function from($address, $name = null) - { - $this->from = [$address, $name]; - - return $this; - } - - /** - * Set the "reply to" address of the message. - * - * @param array|string $address - * @param string|null $name - * @return $this - */ - public function replyTo($address, $name = null) - { - if ($this->arrayOfAddresses($address)) { - $this->replyTo += $this->parseAddresses($address); - } else { - $this->replyTo[] = [$address, $name]; - } - - return $this; - } - - /** - * Set the cc address for the mail message. - * - * @param array|string $address - * @param string|null $name - * @return $this - */ - public function cc($address, $name = null) - { - if ($this->arrayOfAddresses($address)) { - $this->cc += $this->parseAddresses($address); - } else { - $this->cc[] = [$address, $name]; - } - - return $this; - } - - /** - * Set the bcc address for the mail message. - * - * @param array|string $address - * @param string|null $name - * @return $this - */ - public function bcc($address, $name = null) - { - if ($this->arrayOfAddresses($address)) { - $this->bcc += $this->parseAddresses($address); - } else { - $this->bcc[] = [$address, $name]; - } - - return $this; - } - - /** - * Attach a file to the message. - * - * @param string $file - * @param array $options - * @return $this - */ - public function attach($file, array $options = []) - { - $this->attachments[] = compact('file', 'options'); - - return $this; - } - - /** - * Attach in-memory data as an attachment. - * - * @param string $data - * @param string $name - * @param array $options - * @return $this - */ - public function attachData($data, $name, array $options = []) - { - $this->rawAttachments[] = compact('data', 'name', 'options'); - - return $this; - } - - /** - * Set the priority of this message. - * - * The value is an integer where 1 is the highest priority and 5 is the lowest. - * - * @param int $level - * @return $this - */ - public function priority($level) - { - $this->priority = $level; - - return $this; - } - - /** - * Get the data array for the mail message. - * - * @return array - */ - public function data() - { - return array_merge($this->toArray(), $this->viewData); - } - - /** - * Parse the multi-address array into the necessary format. - * - * @param array $value - * @return array - */ - protected function parseAddresses($value) - { - return collect($value)->map(function ($address, $name) { - return [$address, is_numeric($name) ? null : $name]; - })->values()->all(); - } - - /** - * Determine if the given "address" is actually an array of addresses. - * - * @param mixed $address - * @return bool - */ - protected function arrayOfAddresses($address) - { - return is_array($address) || - $address instanceof Arrayable || - $address instanceof Traversable; - } - - /** - * Render the mail notification message into an HTML string. - * - * @return string - */ - public function render() - { - if (isset($this->view)) { - return Container::getInstance()->make('mailer')->render( - $this->view, $this->data() - ); - } - - return Container::getInstance() - ->make(Markdown::class) - ->render($this->markdown, $this->data()); - } - - /** - * Register a callback to be called with the Swift message instance. - * - * @param callable $callback - * @return $this - */ - public function withSwiftMessage($callback) - { - $this->callbacks[] = $callback; - - return $this; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Notifications/Messages/SimpleMessage.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Notifications/Messages/SimpleMessage.php deleted file mode 100644 index 395983c..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Notifications/Messages/SimpleMessage.php +++ /dev/null @@ -1,224 +0,0 @@ -level = 'success'; - - return $this; - } - - /** - * Indicate that the notification gives information about an error. - * - * @return $this - */ - public function error() - { - $this->level = 'error'; - - return $this; - } - - /** - * Set the "level" of the notification (success, error, etc.). - * - * @param string $level - * @return $this - */ - public function level($level) - { - $this->level = $level; - - return $this; - } - - /** - * Set the subject of the notification. - * - * @param string $subject - * @return $this - */ - public function subject($subject) - { - $this->subject = $subject; - - return $this; - } - - /** - * Set the greeting of the notification. - * - * @param string $greeting - * @return $this - */ - public function greeting($greeting) - { - $this->greeting = $greeting; - - return $this; - } - - /** - * Set the salutation of the notification. - * - * @param string $salutation - * @return $this - */ - public function salutation($salutation) - { - $this->salutation = $salutation; - - return $this; - } - - /** - * Add a line of text to the notification. - * - * @param mixed $line - * @return $this - */ - public function line($line) - { - return $this->with($line); - } - - /** - * Add a line of text to the notification. - * - * @param mixed $line - * @return $this - */ - public function with($line) - { - if ($line instanceof Action) { - $this->action($line->text, $line->url); - } elseif (! $this->actionText) { - $this->introLines[] = $this->formatLine($line); - } else { - $this->outroLines[] = $this->formatLine($line); - } - - return $this; - } - - /** - * Format the given line of text. - * - * @param \Illuminate\Contracts\Support\Htmlable|string|array $line - * @return \Illuminate\Contracts\Support\Htmlable|string - */ - protected function formatLine($line) - { - if ($line instanceof Htmlable) { - return $line; - } - - if (is_array($line)) { - return implode(' ', array_map('trim', $line)); - } - - return trim(implode(' ', array_map('trim', preg_split('/\\r\\n|\\r|\\n/', $line)))); - } - - /** - * Configure the "call to action" button. - * - * @param string $text - * @param string $url - * @return $this - */ - public function action($text, $url) - { - $this->actionText = $text; - $this->actionUrl = $url; - - return $this; - } - - /** - * Get an array representation of the message. - * - * @return array - */ - public function toArray() - { - return [ - 'level' => $this->level, - 'subject' => $this->subject, - 'greeting' => $this->greeting, - 'salutation' => $this->salutation, - 'introLines' => $this->introLines, - 'outroLines' => $this->outroLines, - 'actionText' => $this->actionText, - 'actionUrl' => $this->actionUrl, - ]; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Notifications/Notifiable.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Notifications/Notifiable.php deleted file mode 100644 index 82381e1..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Notifications/Notifiable.php +++ /dev/null @@ -1,8 +0,0 @@ -locale = $locale; - - return $this; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Notifications/NotificationSender.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Notifications/NotificationSender.php deleted file mode 100644 index bce025b..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Notifications/NotificationSender.php +++ /dev/null @@ -1,216 +0,0 @@ -bus = $bus; - $this->events = $events; - $this->locale = $locale; - $this->manager = $manager; - } - - /** - * Send the given notification to the given notifiable entities. - * - * @param \Illuminate\Support\Collection|array|mixed $notifiables - * @param mixed $notification - * @return void - */ - public function send($notifiables, $notification) - { - $notifiables = $this->formatNotifiables($notifiables); - - if ($notification instanceof ShouldQueue) { - return $this->queueNotification($notifiables, $notification); - } - - return $this->sendNow($notifiables, $notification); - } - - /** - * Send the given notification immediately. - * - * @param \Illuminate\Support\Collection|array|mixed $notifiables - * @param mixed $notification - * @param array|null $channels - * @return void - */ - public function sendNow($notifiables, $notification, array $channels = null) - { - $notifiables = $this->formatNotifiables($notifiables); - - $original = clone $notification; - - foreach ($notifiables as $notifiable) { - if (empty($viaChannels = $channels ?: $notification->via($notifiable))) { - continue; - } - - $this->withLocale($this->preferredLocale($notifiable, $notification), function () use ($viaChannels, $notifiable, $original) { - $notificationId = Str::uuid()->toString(); - - foreach ((array) $viaChannels as $channel) { - $this->sendToNotifiable($notifiable, $notificationId, clone $original, $channel); - } - }); - } - } - - /** - * Get the notifiable's preferred locale for the notification. - * - * @param mixed $notifiable - * @param mixed $notification - * @return string|null - */ - protected function preferredLocale($notifiable, $notification) - { - return $notification->locale ?? $this->locale ?? value(function () use ($notifiable) { - if ($notifiable instanceof HasLocalePreference) { - return $notifiable->preferredLocale(); - } - }); - } - - /** - * Send the given notification to the given notifiable via a channel. - * - * @param mixed $notifiable - * @param string $id - * @param mixed $notification - * @param string $channel - * @return void - */ - protected function sendToNotifiable($notifiable, $id, $notification, $channel) - { - if (! $notification->id) { - $notification->id = $id; - } - - if (! $this->shouldSendNotification($notifiable, $notification, $channel)) { - return; - } - - $response = $this->manager->driver($channel)->send($notifiable, $notification); - - $this->events->dispatch( - new Events\NotificationSent($notifiable, $notification, $channel, $response) - ); - } - - /** - * Determines if the notification can be sent. - * - * @param mixed $notifiable - * @param mixed $notification - * @param string $channel - * @return bool - */ - protected function shouldSendNotification($notifiable, $notification, $channel) - { - return $this->events->until( - new Events\NotificationSending($notifiable, $notification, $channel) - ) !== false; - } - - /** - * Queue the given notification instances. - * - * @param mixed $notifiables - * @param array[\Illuminate\Notifications\Channels\Notification] $notification - * @return void - */ - protected function queueNotification($notifiables, $notification) - { - $notifiables = $this->formatNotifiables($notifiables); - - $original = clone $notification; - - foreach ($notifiables as $notifiable) { - $notificationId = Str::uuid()->toString(); - - foreach ((array) $original->via($notifiable) as $channel) { - $notification = clone $original; - - $notification->id = $notificationId; - - if (! is_null($this->locale)) { - $notification->locale = $this->locale; - } - - $this->bus->dispatch( - (new SendQueuedNotifications($notifiable, $notification, [$channel])) - ->onConnection($notification->connection) - ->onQueue($notification->queue) - ->delay($notification->delay) - ); - } - } - } - - /** - * Format the notifiables into a Collection / array if necessary. - * - * @param mixed $notifiables - * @return \Illuminate\Database\Eloquent\Collection|array - */ - protected function formatNotifiables($notifiables) - { - if (! $notifiables instanceof Collection && ! is_array($notifiables)) { - return $notifiables instanceof Model - ? new ModelCollection([$notifiables]) : [$notifiables]; - } - - return $notifiables; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Notifications/NotificationServiceProvider.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Notifications/NotificationServiceProvider.php deleted file mode 100644 index e8909f4..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Notifications/NotificationServiceProvider.php +++ /dev/null @@ -1,46 +0,0 @@ -loadViewsFrom(__DIR__.'/resources/views', 'notifications'); - - if ($this->app->runningInConsole()) { - $this->publishes([ - __DIR__.'/resources/views' => $this->app->resourcePath('views/vendor/notifications'), - ], 'laravel-notifications'); - } - } - - /** - * Register the service provider. - * - * @return void - */ - public function register() - { - $this->app->singleton(ChannelManager::class, function ($app) { - return new ChannelManager($app); - }); - - $this->app->alias( - ChannelManager::class, DispatcherContract::class - ); - - $this->app->alias( - ChannelManager::class, FactoryContract::class - ); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Notifications/RoutesNotifications.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Notifications/RoutesNotifications.php deleted file mode 100644 index 80df2ea..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Notifications/RoutesNotifications.php +++ /dev/null @@ -1,55 +0,0 @@ -send($this, $instance); - } - - /** - * Send the given notification immediately. - * - * @param mixed $instance - * @param array|null $channels - * @return void - */ - public function notifyNow($instance, array $channels = null) - { - app(Dispatcher::class)->sendNow($this, $instance, $channels); - } - - /** - * Get the notification routing information for the given driver. - * - * @param string $driver - * @param \Illuminate\Notifications\Notification|null $notification - * @return mixed - */ - public function routeNotificationFor($driver, $notification = null) - { - if (method_exists($this, $method = 'routeNotificationFor'.Str::studly($driver))) { - return $this->{$method}($notification); - } - - switch ($driver) { - case 'database': - return $this->notifications(); - case 'mail': - return $this->email; - case 'nexmo': - return $this->phone_number; - } - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Notifications/SendQueuedNotifications.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Notifications/SendQueuedNotifications.php deleted file mode 100644 index 4f48874..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Notifications/SendQueuedNotifications.php +++ /dev/null @@ -1,123 +0,0 @@ -channels = $channels; - $this->notifiables = $notifiables; - $this->notification = $notification; - $this->tries = property_exists($notification, 'tries') ? $notification->tries : null; - $this->timeout = property_exists($notification, 'timeout') ? $notification->timeout : null; - } - - /** - * Send the notifications. - * - * @param \Illuminate\Notifications\ChannelManager $manager - * @return void - */ - public function handle(ChannelManager $manager) - { - $manager->sendNow($this->notifiables, $this->notification, $this->channels); - } - - /** - * Get the display name for the queued job. - * - * @return string - */ - public function displayName() - { - return get_class($this->notification); - } - - /** - * Call the failed method on the notification instance. - * - * @param \Exception $e - * @return void - */ - public function failed($e) - { - if (method_exists($this->notification, 'failed')) { - $this->notification->failed($e); - } - } - - /** - * Get the retry delay for the notification. - * - * @return mixed - */ - public function retryAfter() - { - if (! method_exists($this->notification, 'retryAfter') && ! isset($this->notification->retryAfter)) { - return; - } - - return $this->notification->retryAfter ?? $this->notification->retryAfter(); - } - - /** - * Prepare the instance for cloning. - * - * @return void - */ - public function __clone() - { - $this->notifiables = clone $this->notifiables; - $this->notification = clone $this->notification; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Notifications/composer.json b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Notifications/composer.json deleted file mode 100644 index 7501add..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Notifications/composer.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "name": "illuminate/notifications", - "description": "The Illuminate Notifications package.", - "license": "MIT", - "homepage": "https://laravel.com", - "support": { - "issues": "https://github.com/laravel/framework/issues", - "source": "https://github.com/laravel/framework" - }, - "authors": [ - { - "name": "Taylor Otwell", - "email": "taylor@laravel.com" - } - ], - "require": { - "php": "^7.1.3", - "illuminate/broadcasting": "5.8.*", - "illuminate/bus": "5.8.*", - "illuminate/container": "5.8.*", - "illuminate/contracts": "5.8.*", - "illuminate/filesystem": "5.8.*", - "illuminate/mail": "5.8.*", - "illuminate/queue": "5.8.*", - "illuminate/support": "5.8.*" - }, - "autoload": { - "psr-4": { - "Illuminate\\Notifications\\": "" - } - }, - "extra": { - "branch-alias": { - "dev-master": "5.8-dev" - } - }, - "suggest": { - "illuminate/database": "Required to use the database transport (5.8.*)." - }, - "config": { - "sort-packages": true - }, - "minimum-stability": "dev" -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Notifications/resources/views/email.blade.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Notifications/resources/views/email.blade.php deleted file mode 100644 index e46a284..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Notifications/resources/views/email.blade.php +++ /dev/null @@ -1,63 +0,0 @@ -@component('mail::message') -{{-- Greeting --}} -@if (! empty($greeting)) -# {{ $greeting }} -@else -@if ($level === 'error') -# @lang('Whoops!') -@else -# @lang('Hello!') -@endif -@endif - -{{-- Intro Lines --}} -@foreach ($introLines as $line) -{{ $line }} - -@endforeach - -{{-- Action Button --}} -@isset($actionText) - -@component('mail::button', ['url' => $actionUrl, 'color' => $color]) -{{ $actionText }} -@endcomponent -@endisset - -{{-- Outro Lines --}} -@foreach ($outroLines as $line) -{{ $line }} - -@endforeach - -{{-- Salutation --}} -@if (! empty($salutation)) -{{ $salutation }} -@else -@lang('Regards'),
-{{ config('app.name') }} -@endif - -{{-- Subcopy --}} -@isset($actionText) -@slot('subcopy') -@lang( - "If you’re having trouble clicking the \":actionText\" button, copy and paste the URL below\n". - 'into your web browser: [:actionURL](:actionURL)', - [ - 'actionText' => $actionText, - 'actionURL' => $actionUrl, - ] -) -@endslot -@endisset -@endcomponent diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Pagination/AbstractPaginator.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Pagination/AbstractPaginator.php deleted file mode 100644 index cf0c42c..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Pagination/AbstractPaginator.php +++ /dev/null @@ -1,659 +0,0 @@ -= 1 && filter_var($page, FILTER_VALIDATE_INT) !== false; - } - - /** - * Get the URL for the previous page. - * - * @return string|null - */ - public function previousPageUrl() - { - if ($this->currentPage() > 1) { - return $this->url($this->currentPage() - 1); - } - } - - /** - * Create a range of pagination URLs. - * - * @param int $start - * @param int $end - * @return array - */ - public function getUrlRange($start, $end) - { - return collect(range($start, $end))->mapWithKeys(function ($page) { - return [$page => $this->url($page)]; - })->all(); - } - - /** - * Get the URL for a given page number. - * - * @param int $page - * @return string - */ - public function url($page) - { - if ($page <= 0) { - $page = 1; - } - - // If we have any extra query string key / value pairs that need to be added - // onto the URL, we will put them in query string form and then attach it - // to the URL. This allows for extra information like sortings storage. - $parameters = [$this->pageName => $page]; - - if (count($this->query) > 0) { - $parameters = array_merge($this->query, $parameters); - } - - return $this->path - .(Str::contains($this->path, '?') ? '&' : '?') - .Arr::query($parameters) - .$this->buildFragment(); - } - - /** - * Get / set the URL fragment to be appended to URLs. - * - * @param string|null $fragment - * @return $this|string|null - */ - public function fragment($fragment = null) - { - if (is_null($fragment)) { - return $this->fragment; - } - - $this->fragment = $fragment; - - return $this; - } - - /** - * Add a set of query string values to the paginator. - * - * @param array|string|null $key - * @param string|null $value - * @return $this - */ - public function appends($key, $value = null) - { - if (is_null($key)) { - return $this; - } - - if (is_array($key)) { - return $this->appendArray($key); - } - - return $this->addQuery($key, $value); - } - - /** - * Add an array of query string values. - * - * @param array $keys - * @return $this - */ - protected function appendArray(array $keys) - { - foreach ($keys as $key => $value) { - $this->addQuery($key, $value); - } - - return $this; - } - - /** - * Add a query string value to the paginator. - * - * @param string $key - * @param string $value - * @return $this - */ - protected function addQuery($key, $value) - { - if ($key !== $this->pageName) { - $this->query[$key] = $value; - } - - return $this; - } - - /** - * Build the full fragment portion of a URL. - * - * @return string - */ - protected function buildFragment() - { - return $this->fragment ? '#'.$this->fragment : ''; - } - - /** - * Load a set of relationships onto the mixed relationship collection. - * - * @param string $relation - * @param array $relations - * @return $this - */ - public function loadMorph($relation, $relations) - { - $this->getCollection()->loadMorph($relation, $relations); - - return $this; - } - - /** - * Get the slice of items being paginated. - * - * @return array - */ - public function items() - { - return $this->items->all(); - } - - /** - * Get the number of the first item in the slice. - * - * @return int - */ - public function firstItem() - { - return count($this->items) > 0 ? ($this->currentPage - 1) * $this->perPage + 1 : null; - } - - /** - * Get the number of the last item in the slice. - * - * @return int - */ - public function lastItem() - { - return count($this->items) > 0 ? $this->firstItem() + $this->count() - 1 : null; - } - - /** - * Get the number of items shown per page. - * - * @return int - */ - public function perPage() - { - return $this->perPage; - } - - /** - * Determine if there are enough items to split into multiple pages. - * - * @return bool - */ - public function hasPages() - { - return $this->currentPage() != 1 || $this->hasMorePages(); - } - - /** - * Determine if the paginator is on the first page. - * - * @return bool - */ - public function onFirstPage() - { - return $this->currentPage() <= 1; - } - - /** - * Get the current page. - * - * @return int - */ - public function currentPage() - { - return $this->currentPage; - } - - /** - * Get the query string variable used to store the page. - * - * @return string - */ - public function getPageName() - { - return $this->pageName; - } - - /** - * Set the query string variable used to store the page. - * - * @param string $name - * @return $this - */ - public function setPageName($name) - { - $this->pageName = $name; - - return $this; - } - - /** - * Set the base path to assign to all URLs. - * - * @param string $path - * @return $this - */ - public function withPath($path) - { - return $this->setPath($path); - } - - /** - * Set the base path to assign to all URLs. - * - * @param string $path - * @return $this - */ - public function setPath($path) - { - $this->path = $path; - - return $this; - } - - /** - * Set the number of links to display on each side of current page link. - * - * @param int $count - * @return $this - */ - public function onEachSide($count) - { - $this->onEachSide = $count; - - return $this; - } - - /** - * Resolve the current request path or return the default value. - * - * @param string $default - * @return string - */ - public static function resolveCurrentPath($default = '/') - { - if (isset(static::$currentPathResolver)) { - return call_user_func(static::$currentPathResolver); - } - - return $default; - } - - /** - * Set the current request path resolver callback. - * - * @param \Closure $resolver - * @return void - */ - public static function currentPathResolver(Closure $resolver) - { - static::$currentPathResolver = $resolver; - } - - /** - * Resolve the current page or return the default value. - * - * @param string $pageName - * @param int $default - * @return int - */ - public static function resolveCurrentPage($pageName = 'page', $default = 1) - { - if (isset(static::$currentPageResolver)) { - return call_user_func(static::$currentPageResolver, $pageName); - } - - return $default; - } - - /** - * Set the current page resolver callback. - * - * @param \Closure $resolver - * @return void - */ - public static function currentPageResolver(Closure $resolver) - { - static::$currentPageResolver = $resolver; - } - - /** - * Get an instance of the view factory from the resolver. - * - * @return \Illuminate\Contracts\View\Factory - */ - public static function viewFactory() - { - return call_user_func(static::$viewFactoryResolver); - } - - /** - * Set the view factory resolver callback. - * - * @param \Closure $resolver - * @return void - */ - public static function viewFactoryResolver(Closure $resolver) - { - static::$viewFactoryResolver = $resolver; - } - - /** - * Set the default pagination view. - * - * @param string $view - * @return void - */ - public static function defaultView($view) - { - static::$defaultView = $view; - } - - /** - * Set the default "simple" pagination view. - * - * @param string $view - * @return void - */ - public static function defaultSimpleView($view) - { - static::$defaultSimpleView = $view; - } - - /** - * Indicate that Bootstrap 3 styling should be used for generated links. - * - * @return void - */ - public static function useBootstrapThree() - { - static::defaultView('pagination::default'); - static::defaultSimpleView('pagination::simple-default'); - } - - /** - * Get an iterator for the items. - * - * @return \ArrayIterator - */ - public function getIterator() - { - return $this->items->getIterator(); - } - - /** - * Determine if the list of items is empty. - * - * @return bool - */ - public function isEmpty() - { - return $this->items->isEmpty(); - } - - /** - * Determine if the list of items is not empty. - * - * @return bool - */ - public function isNotEmpty() - { - return $this->items->isNotEmpty(); - } - - /** - * Get the number of items for the current page. - * - * @return int - */ - public function count() - { - return $this->items->count(); - } - - /** - * Get the paginator's underlying collection. - * - * @return \Illuminate\Support\Collection - */ - public function getCollection() - { - return $this->items; - } - - /** - * Set the paginator's underlying collection. - * - * @param \Illuminate\Support\Collection $collection - * @return $this - */ - public function setCollection(Collection $collection) - { - $this->items = $collection; - - return $this; - } - - /** - * Get the paginator options. - * - * @return array - */ - public function getOptions() - { - return $this->options; - } - - /** - * Determine if the given item exists. - * - * @param mixed $key - * @return bool - */ - public function offsetExists($key) - { - return $this->items->has($key); - } - - /** - * Get the item at the given offset. - * - * @param mixed $key - * @return mixed - */ - public function offsetGet($key) - { - return $this->items->get($key); - } - - /** - * Set the item at the given offset. - * - * @param mixed $key - * @param mixed $value - * @return void - */ - public function offsetSet($key, $value) - { - $this->items->put($key, $value); - } - - /** - * Unset the item at the given key. - * - * @param mixed $key - * @return void - */ - public function offsetUnset($key) - { - $this->items->forget($key); - } - - /** - * Render the contents of the paginator to HTML. - * - * @return string - */ - public function toHtml() - { - return (string) $this->render(); - } - - /** - * Make dynamic calls into the collection. - * - * @param string $method - * @param array $parameters - * @return mixed - */ - public function __call($method, $parameters) - { - return $this->forwardCallTo($this->getCollection(), $method, $parameters); - } - - /** - * Render the contents of the paginator when casting to string. - * - * @return string - */ - public function __toString() - { - return (string) $this->render(); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Pagination/LICENSE.md b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Pagination/LICENSE.md deleted file mode 100644 index 79810c8..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Pagination/LICENSE.md +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) Taylor Otwell - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Pagination/LengthAwarePaginator.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Pagination/LengthAwarePaginator.php deleted file mode 100644 index 5ce4042..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Pagination/LengthAwarePaginator.php +++ /dev/null @@ -1,201 +0,0 @@ -options = $options; - - foreach ($options as $key => $value) { - $this->{$key} = $value; - } - - $this->total = $total; - $this->perPage = $perPage; - $this->lastPage = max((int) ceil($total / $perPage), 1); - $this->path = $this->path !== '/' ? rtrim($this->path, '/') : $this->path; - $this->currentPage = $this->setCurrentPage($currentPage, $this->pageName); - $this->items = $items instanceof Collection ? $items : Collection::make($items); - } - - /** - * Get the current page for the request. - * - * @param int $currentPage - * @param string $pageName - * @return int - */ - protected function setCurrentPage($currentPage, $pageName) - { - $currentPage = $currentPage ?: static::resolveCurrentPage($pageName); - - return $this->isValidPageNumber($currentPage) ? (int) $currentPage : 1; - } - - /** - * Render the paginator using the given view. - * - * @param string|null $view - * @param array $data - * @return \Illuminate\Support\HtmlString - */ - public function links($view = null, $data = []) - { - return $this->render($view, $data); - } - - /** - * Render the paginator using the given view. - * - * @param string|null $view - * @param array $data - * @return \Illuminate\Support\HtmlString - */ - public function render($view = null, $data = []) - { - return new HtmlString(static::viewFactory()->make($view ?: static::$defaultView, array_merge($data, [ - 'paginator' => $this, - 'elements' => $this->elements(), - ]))->render()); - } - - /** - * Get the array of elements to pass to the view. - * - * @return array - */ - protected function elements() - { - $window = UrlWindow::make($this); - - return array_filter([ - $window['first'], - is_array($window['slider']) ? '...' : null, - $window['slider'], - is_array($window['last']) ? '...' : null, - $window['last'], - ]); - } - - /** - * Get the total number of items being paginated. - * - * @return int - */ - public function total() - { - return $this->total; - } - - /** - * Determine if there are more items in the data source. - * - * @return bool - */ - public function hasMorePages() - { - return $this->currentPage() < $this->lastPage(); - } - - /** - * Get the URL for the next page. - * - * @return string|null - */ - public function nextPageUrl() - { - if ($this->lastPage() > $this->currentPage()) { - return $this->url($this->currentPage() + 1); - } - } - - /** - * Get the last page. - * - * @return int - */ - public function lastPage() - { - return $this->lastPage; - } - - /** - * Get the instance as an array. - * - * @return array - */ - public function toArray() - { - return [ - 'current_page' => $this->currentPage(), - 'data' => $this->items->toArray(), - 'first_page_url' => $this->url(1), - 'from' => $this->firstItem(), - 'last_page' => $this->lastPage(), - 'last_page_url' => $this->url($this->lastPage()), - 'next_page_url' => $this->nextPageUrl(), - 'path' => $this->path, - 'per_page' => $this->perPage(), - 'prev_page_url' => $this->previousPageUrl(), - 'to' => $this->lastItem(), - 'total' => $this->total(), - ]; - } - - /** - * Convert the object into something JSON serializable. - * - * @return array - */ - public function jsonSerialize() - { - return $this->toArray(); - } - - /** - * Convert the object to its JSON representation. - * - * @param int $options - * @return string - */ - public function toJson($options = 0) - { - return json_encode($this->jsonSerialize(), $options); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Pagination/PaginationServiceProvider.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Pagination/PaginationServiceProvider.php deleted file mode 100644 index ed58ccf..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Pagination/PaginationServiceProvider.php +++ /dev/null @@ -1,50 +0,0 @@ -loadViewsFrom(__DIR__.'/resources/views', 'pagination'); - - if ($this->app->runningInConsole()) { - $this->publishes([ - __DIR__.'/resources/views' => $this->app->resourcePath('views/vendor/pagination'), - ], 'laravel-pagination'); - } - } - - /** - * Register the service provider. - * - * @return void - */ - public function register() - { - Paginator::viewFactoryResolver(function () { - return $this->app['view']; - }); - - Paginator::currentPathResolver(function () { - return $this->app['request']->url(); - }); - - Paginator::currentPageResolver(function ($pageName = 'page') { - $page = $this->app['request']->input($pageName); - - if (filter_var($page, FILTER_VALIDATE_INT) !== false && (int) $page >= 1) { - return (int) $page; - } - - return 1; - }); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Pagination/Paginator.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Pagination/Paginator.php deleted file mode 100644 index 89c8fca..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Pagination/Paginator.php +++ /dev/null @@ -1,179 +0,0 @@ -options = $options; - - foreach ($options as $key => $value) { - $this->{$key} = $value; - } - - $this->perPage = $perPage; - $this->currentPage = $this->setCurrentPage($currentPage); - $this->path = $this->path !== '/' ? rtrim($this->path, '/') : $this->path; - - $this->setItems($items); - } - - /** - * Get the current page for the request. - * - * @param int $currentPage - * @return int - */ - protected function setCurrentPage($currentPage) - { - $currentPage = $currentPage ?: static::resolveCurrentPage(); - - return $this->isValidPageNumber($currentPage) ? (int) $currentPage : 1; - } - - /** - * Set the items for the paginator. - * - * @param mixed $items - * @return void - */ - protected function setItems($items) - { - $this->items = $items instanceof Collection ? $items : Collection::make($items); - - $this->hasMore = $this->items->count() > $this->perPage; - - $this->items = $this->items->slice(0, $this->perPage); - } - - /** - * Get the URL for the next page. - * - * @return string|null - */ - public function nextPageUrl() - { - if ($this->hasMorePages()) { - return $this->url($this->currentPage() + 1); - } - } - - /** - * Render the paginator using the given view. - * - * @param string|null $view - * @param array $data - * @return string - */ - public function links($view = null, $data = []) - { - return $this->render($view, $data); - } - - /** - * Render the paginator using the given view. - * - * @param string|null $view - * @param array $data - * @return string - */ - public function render($view = null, $data = []) - { - return new HtmlString( - static::viewFactory()->make($view ?: static::$defaultSimpleView, array_merge($data, [ - 'paginator' => $this, - ]))->render() - ); - } - - /** - * Manually indicate that the paginator does have more pages. - * - * @param bool $hasMore - * @return $this - */ - public function hasMorePagesWhen($hasMore = true) - { - $this->hasMore = $hasMore; - - return $this; - } - - /** - * Determine if there are more items in the data source. - * - * @return bool - */ - public function hasMorePages() - { - return $this->hasMore; - } - - /** - * Get the instance as an array. - * - * @return array - */ - public function toArray() - { - return [ - 'current_page' => $this->currentPage(), - 'data' => $this->items->toArray(), - 'first_page_url' => $this->url(1), - 'from' => $this->firstItem(), - 'next_page_url' => $this->nextPageUrl(), - 'path' => $this->path, - 'per_page' => $this->perPage(), - 'prev_page_url' => $this->previousPageUrl(), - 'to' => $this->lastItem(), - ]; - } - - /** - * Convert the object into something JSON serializable. - * - * @return array - */ - public function jsonSerialize() - { - return $this->toArray(); - } - - /** - * Convert the object to its JSON representation. - * - * @param int $options - * @return string - */ - public function toJson($options = 0) - { - return json_encode($this->jsonSerialize(), $options); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Pagination/UrlWindow.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Pagination/UrlWindow.php deleted file mode 100644 index 0fd3aa8..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Pagination/UrlWindow.php +++ /dev/null @@ -1,218 +0,0 @@ -paginator = $paginator; - } - - /** - * Create a new URL window instance. - * - * @param \Illuminate\Contracts\Pagination\LengthAwarePaginator $paginator - * @return array - */ - public static function make(PaginatorContract $paginator) - { - return (new static($paginator))->get(); - } - - /** - * Get the window of URLs to be shown. - * - * @return array - */ - public function get() - { - $onEachSide = $this->paginator->onEachSide; - - if ($this->paginator->lastPage() < ($onEachSide * 2) + 6) { - return $this->getSmallSlider(); - } - - return $this->getUrlSlider($onEachSide); - } - - /** - * Get the slider of URLs there are not enough pages to slide. - * - * @return array - */ - protected function getSmallSlider() - { - return [ - 'first' => $this->paginator->getUrlRange(1, $this->lastPage()), - 'slider' => null, - 'last' => null, - ]; - } - - /** - * Create a URL slider links. - * - * @param int $onEachSide - * @return array - */ - protected function getUrlSlider($onEachSide) - { - $window = $onEachSide * 2; - - if (! $this->hasPages()) { - return ['first' => null, 'slider' => null, 'last' => null]; - } - - // If the current page is very close to the beginning of the page range, we will - // just render the beginning of the page range, followed by the last 2 of the - // links in this list, since we will not have room to create a full slider. - if ($this->currentPage() <= $window) { - return $this->getSliderTooCloseToBeginning($window); - } - - // If the current page is close to the ending of the page range we will just get - // this first couple pages, followed by a larger window of these ending pages - // since we're too close to the end of the list to create a full on slider. - elseif ($this->currentPage() > ($this->lastPage() - $window)) { - return $this->getSliderTooCloseToEnding($window); - } - - // If we have enough room on both sides of the current page to build a slider we - // will surround it with both the beginning and ending caps, with this window - // of pages in the middle providing a Google style sliding paginator setup. - return $this->getFullSlider($onEachSide); - } - - /** - * Get the slider of URLs when too close to beginning of window. - * - * @param int $window - * @return array - */ - protected function getSliderTooCloseToBeginning($window) - { - return [ - 'first' => $this->paginator->getUrlRange(1, $window + 2), - 'slider' => null, - 'last' => $this->getFinish(), - ]; - } - - /** - * Get the slider of URLs when too close to ending of window. - * - * @param int $window - * @return array - */ - protected function getSliderTooCloseToEnding($window) - { - $last = $this->paginator->getUrlRange( - $this->lastPage() - ($window + 2), - $this->lastPage() - ); - - return [ - 'first' => $this->getStart(), - 'slider' => null, - 'last' => $last, - ]; - } - - /** - * Get the slider of URLs when a full slider can be made. - * - * @param int $onEachSide - * @return array - */ - protected function getFullSlider($onEachSide) - { - return [ - 'first' => $this->getStart(), - 'slider' => $this->getAdjacentUrlRange($onEachSide), - 'last' => $this->getFinish(), - ]; - } - - /** - * Get the page range for the current page window. - * - * @param int $onEachSide - * @return array - */ - public function getAdjacentUrlRange($onEachSide) - { - return $this->paginator->getUrlRange( - $this->currentPage() - $onEachSide, - $this->currentPage() + $onEachSide - ); - } - - /** - * Get the starting URLs of a pagination slider. - * - * @return array - */ - public function getStart() - { - return $this->paginator->getUrlRange(1, 2); - } - - /** - * Get the ending URLs of a pagination slider. - * - * @return array - */ - public function getFinish() - { - return $this->paginator->getUrlRange( - $this->lastPage() - 1, - $this->lastPage() - ); - } - - /** - * Determine if the underlying paginator being presented has pages to show. - * - * @return bool - */ - public function hasPages() - { - return $this->paginator->lastPage() > 1; - } - - /** - * Get the current page from the paginator. - * - * @return int - */ - protected function currentPage() - { - return $this->paginator->currentPage(); - } - - /** - * Get the last page from the paginator. - * - * @return int - */ - protected function lastPage() - { - return $this->paginator->lastPage(); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Pagination/composer.json b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Pagination/composer.json deleted file mode 100644 index 78ca8de..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Pagination/composer.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "name": "illuminate/pagination", - "description": "The Illuminate Pagination package.", - "license": "MIT", - "homepage": "https://laravel.com", - "support": { - "issues": "https://github.com/laravel/framework/issues", - "source": "https://github.com/laravel/framework" - }, - "authors": [ - { - "name": "Taylor Otwell", - "email": "taylor@laravel.com" - } - ], - "require": { - "php": "^7.1.3", - "ext-json": "*", - "illuminate/contracts": "5.8.*", - "illuminate/support": "5.8.*" - }, - "autoload": { - "psr-4": { - "Illuminate\\Pagination\\": "" - } - }, - "extra": { - "branch-alias": { - "dev-master": "5.8-dev" - } - }, - "config": { - "sort-packages": true - }, - "minimum-stability": "dev" -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Pagination/resources/views/bootstrap-4.blade.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Pagination/resources/views/bootstrap-4.blade.php deleted file mode 100644 index 044bbaa..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Pagination/resources/views/bootstrap-4.blade.php +++ /dev/null @@ -1,44 +0,0 @@ -@if ($paginator->hasPages()) - -@endif diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Pagination/resources/views/default.blade.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Pagination/resources/views/default.blade.php deleted file mode 100644 index e59847a..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Pagination/resources/views/default.blade.php +++ /dev/null @@ -1,44 +0,0 @@ -@if ($paginator->hasPages()) - -@endif diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Pagination/resources/views/semantic-ui.blade.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Pagination/resources/views/semantic-ui.blade.php deleted file mode 100644 index ef0dbb1..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Pagination/resources/views/semantic-ui.blade.php +++ /dev/null @@ -1,36 +0,0 @@ -@if ($paginator->hasPages()) - -@endif diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Pagination/resources/views/simple-bootstrap-4.blade.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Pagination/resources/views/simple-bootstrap-4.blade.php deleted file mode 100644 index cc30c9b..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Pagination/resources/views/simple-bootstrap-4.blade.php +++ /dev/null @@ -1,25 +0,0 @@ -@if ($paginator->hasPages()) - -@endif diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Pagination/resources/views/simple-default.blade.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Pagination/resources/views/simple-default.blade.php deleted file mode 100644 index bdf2fe8..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Pagination/resources/views/simple-default.blade.php +++ /dev/null @@ -1,17 +0,0 @@ -@if ($paginator->hasPages()) - -@endif diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Hub.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Hub.php deleted file mode 100644 index 87331a5..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Hub.php +++ /dev/null @@ -1,74 +0,0 @@ -container = $container; - } - - /** - * Define the default named pipeline. - * - * @param \Closure $callback - * @return void - */ - public function defaults(Closure $callback) - { - return $this->pipeline('default', $callback); - } - - /** - * Define a new named pipeline. - * - * @param string $name - * @param \Closure $callback - * @return void - */ - public function pipeline($name, Closure $callback) - { - $this->pipelines[$name] = $callback; - } - - /** - * Send an object through one of the available pipelines. - * - * @param mixed $object - * @param string|null $pipeline - * @return mixed - */ - public function pipe($object, $pipeline = null) - { - $pipeline = $pipeline ?: 'default'; - - return call_user_func( - $this->pipelines[$pipeline], new Pipeline($this->container), $object - ); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Pipeline/LICENSE.md b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Pipeline/LICENSE.md deleted file mode 100644 index 79810c8..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Pipeline/LICENSE.md +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) Taylor Otwell - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php deleted file mode 100644 index 626f87b..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php +++ /dev/null @@ -1,205 +0,0 @@ -container = $container; - } - - /** - * Set the object being sent through the pipeline. - * - * @param mixed $passable - * @return $this - */ - public function send($passable) - { - $this->passable = $passable; - - return $this; - } - - /** - * Set the array of pipes. - * - * @param array|mixed $pipes - * @return $this - */ - public function through($pipes) - { - $this->pipes = is_array($pipes) ? $pipes : func_get_args(); - - return $this; - } - - /** - * Set the method to call on the pipes. - * - * @param string $method - * @return $this - */ - public function via($method) - { - $this->method = $method; - - return $this; - } - - /** - * Run the pipeline with a final destination callback. - * - * @param \Closure $destination - * @return mixed - */ - public function then(Closure $destination) - { - $pipeline = array_reduce( - array_reverse($this->pipes), $this->carry(), $this->prepareDestination($destination) - ); - - return $pipeline($this->passable); - } - - /** - * Run the pipeline and return the result. - * - * @return mixed - */ - public function thenReturn() - { - return $this->then(function ($passable) { - return $passable; - }); - } - - /** - * Get the final piece of the Closure onion. - * - * @param \Closure $destination - * @return \Closure - */ - protected function prepareDestination(Closure $destination) - { - return function ($passable) use ($destination) { - return $destination($passable); - }; - } - - /** - * Get a Closure that represents a slice of the application onion. - * - * @return \Closure - */ - protected function carry() - { - return function ($stack, $pipe) { - return function ($passable) use ($stack, $pipe) { - if (is_callable($pipe)) { - // If the pipe is an instance of a Closure, we will just call it directly but - // otherwise we'll resolve the pipes out of the container and call it with - // the appropriate method and arguments, returning the results back out. - return $pipe($passable, $stack); - } elseif (! is_object($pipe)) { - [$name, $parameters] = $this->parsePipeString($pipe); - - // If the pipe is a string we will parse the string and resolve the class out - // of the dependency injection container. We can then build a callable and - // execute the pipe function giving in the parameters that are required. - $pipe = $this->getContainer()->make($name); - - $parameters = array_merge([$passable, $stack], $parameters); - } else { - // If the pipe is already an object we'll just make a callable and pass it to - // the pipe as-is. There is no need to do any extra parsing and formatting - // since the object we're given was already a fully instantiated object. - $parameters = [$passable, $stack]; - } - - $response = method_exists($pipe, $this->method) - ? $pipe->{$this->method}(...$parameters) - : $pipe(...$parameters); - - return $response instanceof Responsable - ? $response->toResponse($this->getContainer()->make(Request::class)) - : $response; - }; - }; - } - - /** - * Parse full pipe string to get name and parameters. - * - * @param string $pipe - * @return array - */ - protected function parsePipeString($pipe) - { - [$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []); - - if (is_string($parameters)) { - $parameters = explode(',', $parameters); - } - - return [$name, $parameters]; - } - - /** - * Get the container instance. - * - * @return \Illuminate\Contracts\Container\Container - * - * @throws \RuntimeException - */ - protected function getContainer() - { - if (! $this->container) { - throw new RuntimeException('A container instance has not been passed to the Pipeline.'); - } - - return $this->container; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Pipeline/PipelineServiceProvider.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Pipeline/PipelineServiceProvider.php deleted file mode 100644 index e0c633e..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Pipeline/PipelineServiceProvider.php +++ /dev/null @@ -1,34 +0,0 @@ -app->singleton( - PipelineHubContract::class, Hub::class - ); - } - - /** - * Get the services provided by the provider. - * - * @return array - */ - public function provides() - { - return [ - PipelineHubContract::class, - ]; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Pipeline/composer.json b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Pipeline/composer.json deleted file mode 100644 index 65d3085..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Pipeline/composer.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "name": "illuminate/pipeline", - "description": "The Illuminate Pipeline package.", - "license": "MIT", - "homepage": "https://laravel.com", - "support": { - "issues": "https://github.com/laravel/framework/issues", - "source": "https://github.com/laravel/framework" - }, - "authors": [ - { - "name": "Taylor Otwell", - "email": "taylor@laravel.com" - } - ], - "require": { - "php": "^7.1.3", - "illuminate/contracts": "5.8.*", - "illuminate/support": "5.8.*" - }, - "autoload": { - "psr-4": { - "Illuminate\\Pipeline\\": "" - } - }, - "extra": { - "branch-alias": { - "dev-master": "5.8-dev" - } - }, - "config": { - "sort-packages": true - }, - "minimum-stability": "dev" -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/BeanstalkdQueue.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/BeanstalkdQueue.php deleted file mode 100644 index 32a2dce..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/BeanstalkdQueue.php +++ /dev/null @@ -1,172 +0,0 @@ -default = $default; - $this->blockFor = $blockFor; - $this->timeToRun = $timeToRun; - $this->pheanstalk = $pheanstalk; - } - - /** - * Get the size of the queue. - * - * @param string|null $queue - * @return int - */ - public function size($queue = null) - { - $queue = $this->getQueue($queue); - - return (int) $this->pheanstalk->statsTube($queue)->current_jobs_ready; - } - - /** - * Push a new job onto the queue. - * - * @param string $job - * @param mixed $data - * @param string|null $queue - * @return mixed - */ - public function push($job, $data = '', $queue = null) - { - return $this->pushRaw($this->createPayload($job, $this->getQueue($queue), $data), $queue); - } - - /** - * Push a raw payload onto the queue. - * - * @param string $payload - * @param string|null $queue - * @param array $options - * @return mixed - */ - public function pushRaw($payload, $queue = null, array $options = []) - { - return $this->pheanstalk->useTube($this->getQueue($queue))->put( - $payload, Pheanstalk::DEFAULT_PRIORITY, Pheanstalk::DEFAULT_DELAY, $this->timeToRun - ); - } - - /** - * Push a new job onto the queue after a delay. - * - * @param \DateTimeInterface|\DateInterval|int $delay - * @param string $job - * @param mixed $data - * @param string|null $queue - * @return mixed - */ - public function later($delay, $job, $data = '', $queue = null) - { - $pheanstalk = $this->pheanstalk->useTube($this->getQueue($queue)); - - return $pheanstalk->put( - $this->createPayload($job, $this->getQueue($queue), $data), - Pheanstalk::DEFAULT_PRIORITY, - $this->secondsUntil($delay), - $this->timeToRun - ); - } - - /** - * Pop the next job off of the queue. - * - * @param string|null $queue - * @return \Illuminate\Contracts\Queue\Job|null - */ - public function pop($queue = null) - { - $queue = $this->getQueue($queue); - - $job = $this->pheanstalk->watchOnly($queue)->reserveWithTimeout($this->blockFor); - - if ($job instanceof PheanstalkJob) { - return new BeanstalkdJob( - $this->container, $this->pheanstalk, $job, $this->connectionName, $queue - ); - } - } - - /** - * Delete a message from the Beanstalk queue. - * - * @param string $queue - * @param string $id - * @return void - */ - public function deleteMessage($queue, $id) - { - $queue = $this->getQueue($queue); - - $this->pheanstalk->useTube($queue)->delete(new PheanstalkJob($id, '')); - } - - /** - * Get the queue or return the default. - * - * @param string|null $queue - * @return string - */ - public function getQueue($queue) - { - return $queue ?: $this->default; - } - - /** - * Get the underlying Pheanstalk instance. - * - * @return \Pheanstalk\Pheanstalk - */ - public function getPheanstalk() - { - return $this->pheanstalk; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/CallQueuedClosure.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/CallQueuedClosure.php deleted file mode 100644 index 616e7ed..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/CallQueuedClosure.php +++ /dev/null @@ -1,62 +0,0 @@ -closure = $closure; - } - - /** - * Execute the job. - * - * @param \Illuminate\Contracts\Container\Container $container - * @return void - */ - public function handle(Container $container) - { - $container->call($this->closure->getClosure()); - } - - /** - * Get the display name for the queued job. - * - * @return string - */ - public function displayName() - { - $reflection = new ReflectionFunction($this->closure->getClosure()); - - return 'Closure ('.basename($reflection->getFileName()).':'.$reflection->getStartLine().')'; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/CallQueuedHandler.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/CallQueuedHandler.php deleted file mode 100644 index 340b120..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/CallQueuedHandler.php +++ /dev/null @@ -1,150 +0,0 @@ -dispatcher = $dispatcher; - } - - /** - * Handle the queued job. - * - * @param \Illuminate\Contracts\Queue\Job $job - * @param array $data - * @return void - */ - public function call(Job $job, array $data) - { - try { - $command = $this->setJobInstanceIfNecessary( - $job, unserialize($data['command']) - ); - } catch (ModelNotFoundException $e) { - return $this->handleModelNotFound($job, $e); - } - - $this->dispatcher->dispatchNow( - $command, $this->resolveHandler($job, $command) - ); - - if (! $job->hasFailed() && ! $job->isReleased()) { - $this->ensureNextJobInChainIsDispatched($command); - } - - if (! $job->isDeletedOrReleased()) { - $job->delete(); - } - } - - /** - * Resolve the handler for the given command. - * - * @param \Illuminate\Contracts\Queue\Job $job - * @param mixed $command - * @return mixed - */ - protected function resolveHandler($job, $command) - { - $handler = $this->dispatcher->getCommandHandler($command) ?: null; - - if ($handler) { - $this->setJobInstanceIfNecessary($job, $handler); - } - - return $handler; - } - - /** - * Set the job instance of the given class if necessary. - * - * @param \Illuminate\Contracts\Queue\Job $job - * @param mixed $instance - * @return mixed - */ - protected function setJobInstanceIfNecessary(Job $job, $instance) - { - if (in_array(InteractsWithQueue::class, class_uses_recursive($instance))) { - $instance->setJob($job); - } - - return $instance; - } - - /** - * Ensure the next job in the chain is dispatched if applicable. - * - * @param mixed $command - * @return void - */ - protected function ensureNextJobInChainIsDispatched($command) - { - if (method_exists($command, 'dispatchNextJobInChain')) { - $command->dispatchNextJobInChain(); - } - } - - /** - * Handle a model not found exception. - * - * @param \Illuminate\Contracts\Queue\Job $job - * @param \Exception $e - * @return void - */ - protected function handleModelNotFound(Job $job, $e) - { - $class = $job->resolveName(); - - try { - $shouldDelete = (new ReflectionClass($class)) - ->getDefaultProperties()['deleteWhenMissingModels'] ?? false; - } catch (Exception $e) { - $shouldDelete = false; - } - - if ($shouldDelete) { - return $job->delete(); - } - - return $job->fail($e); - } - - /** - * Call the failed method on the job instance. - * - * The exception that caused the failure will be passed. - * - * @param array $data - * @param \Exception $e - * @return void - */ - public function failed(array $data, $e) - { - $command = unserialize($data['command']); - - if (method_exists($command, 'failed')) { - $command->failed($e); - } - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/Capsule/Manager.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/Capsule/Manager.php deleted file mode 100644 index ca510a5..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/Capsule/Manager.php +++ /dev/null @@ -1,187 +0,0 @@ -setupContainer($container ?: new Container); - - // Once we have the container setup, we will setup the default configuration - // options in the container "config" bindings. This just makes this queue - // manager behave correctly since all the correct binding are in place. - $this->setupDefaultConfiguration(); - - $this->setupManager(); - - $this->registerConnectors(); - } - - /** - * Setup the default queue configuration options. - * - * @return void - */ - protected function setupDefaultConfiguration() - { - $this->container['config']['queue.default'] = 'default'; - } - - /** - * Build the queue manager instance. - * - * @return void - */ - protected function setupManager() - { - $this->manager = new QueueManager($this->container); - } - - /** - * Register the default connectors that the component ships with. - * - * @return void - */ - protected function registerConnectors() - { - $provider = new QueueServiceProvider($this->container); - - $provider->registerConnectors($this->manager); - } - - /** - * Get a connection instance from the global manager. - * - * @param string|null $connection - * @return \Illuminate\Contracts\Queue\Queue - */ - public static function connection($connection = null) - { - return static::$instance->getConnection($connection); - } - - /** - * Push a new job onto the queue. - * - * @param string $job - * @param mixed $data - * @param string|null $queue - * @param string|null $connection - * @return mixed - */ - public static function push($job, $data = '', $queue = null, $connection = null) - { - return static::$instance->connection($connection)->push($job, $data, $queue); - } - - /** - * Push a new an array of jobs onto the queue. - * - * @param array $jobs - * @param mixed $data - * @param string|null $queue - * @param string|null $connection - * @return mixed - */ - public static function bulk($jobs, $data = '', $queue = null, $connection = null) - { - return static::$instance->connection($connection)->bulk($jobs, $data, $queue); - } - - /** - * Push a new job onto the queue after a delay. - * - * @param \DateTimeInterface|\DateInterval|int $delay - * @param string $job - * @param mixed $data - * @param string|null $queue - * @param string|null $connection - * @return mixed - */ - public static function later($delay, $job, $data = '', $queue = null, $connection = null) - { - return static::$instance->connection($connection)->later($delay, $job, $data, $queue); - } - - /** - * Get a registered connection instance. - * - * @param string|null $name - * @return \Illuminate\Contracts\Queue\Queue - */ - public function getConnection($name = null) - { - return $this->manager->connection($name); - } - - /** - * Register a connection with the manager. - * - * @param array $config - * @param string $name - * @return void - */ - public function addConnection(array $config, $name = 'default') - { - $this->container['config']["queue.connections.{$name}"] = $config; - } - - /** - * Get the queue manager instance. - * - * @return \Illuminate\Queue\QueueManager - */ - public function getQueueManager() - { - return $this->manager; - } - - /** - * Pass dynamic instance methods to the manager. - * - * @param string $method - * @param array $parameters - * @return mixed - */ - public function __call($method, $parameters) - { - return $this->manager->$method(...$parameters); - } - - /** - * Dynamically pass methods to the default connection. - * - * @param string $method - * @param array $parameters - * @return mixed - */ - public static function __callStatic($method, $parameters) - { - return static::connection()->$method(...$parameters); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/Connectors/BeanstalkdConnector.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/Connectors/BeanstalkdConnector.php deleted file mode 100644 index 38673ed..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/Connectors/BeanstalkdConnector.php +++ /dev/null @@ -1,41 +0,0 @@ -pheanstalk($config), - $config['queue'], - $config['retry_after'] ?? Pheanstalk::DEFAULT_TTR, - $config['block_for'] ?? 0 - ); - } - - /** - * Create a Pheanstalk instance. - * - * @param array $config - * @return \Pheanstalk\Pheanstalk - */ - protected function pheanstalk(array $config) - { - return Pheanstalk::create( - $config['host'], - $config['port'] ?? Pheanstalk::DEFAULT_PORT, - $config['timeout'] ?? Connection::DEFAULT_CONNECT_TIMEOUT - ); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/Connectors/ConnectorInterface.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/Connectors/ConnectorInterface.php deleted file mode 100644 index 617bf09..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/Connectors/ConnectorInterface.php +++ /dev/null @@ -1,14 +0,0 @@ -connections = $connections; - } - - /** - * Establish a queue connection. - * - * @param array $config - * @return \Illuminate\Contracts\Queue\Queue - */ - public function connect(array $config) - { - return new DatabaseQueue( - $this->connections->connection($config['connection'] ?? null), - $config['table'], - $config['queue'], - $config['retry_after'] ?? 60 - ); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/Connectors/NullConnector.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/Connectors/NullConnector.php deleted file mode 100644 index 39de480..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/Connectors/NullConnector.php +++ /dev/null @@ -1,19 +0,0 @@ -redis = $redis; - $this->connection = $connection; - } - - /** - * Establish a queue connection. - * - * @param array $config - * @return \Illuminate\Contracts\Queue\Queue - */ - public function connect(array $config) - { - return new RedisQueue( - $this->redis, $config['queue'], - $config['connection'] ?? $this->connection, - $config['retry_after'] ?? 60, - $config['block_for'] ?? null - ); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/Connectors/SqsConnector.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/Connectors/SqsConnector.php deleted file mode 100644 index d95ca80..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/Connectors/SqsConnector.php +++ /dev/null @@ -1,46 +0,0 @@ -getDefaultConfiguration($config); - - if (! empty($config['key']) && ! empty($config['secret'])) { - $config['credentials'] = Arr::only($config, ['key', 'secret', 'token']); - } - - return new SqsQueue( - new SqsClient($config), $config['queue'], $config['prefix'] ?? '' - ); - } - - /** - * Get the default configuration for SQS. - * - * @param array $config - * @return array - */ - protected function getDefaultConfiguration(array $config) - { - return array_merge([ - 'version' => 'latest', - 'http' => [ - 'timeout' => 60, - 'connect_timeout' => 60, - ], - ], $config); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/Connectors/SyncConnector.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/Connectors/SyncConnector.php deleted file mode 100644 index 4269b80..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/Connectors/SyncConnector.php +++ /dev/null @@ -1,19 +0,0 @@ -files = $files; - $this->composer = $composer; - } - - /** - * Execute the console command. - * - * @return void - */ - public function handle() - { - $table = $this->laravel['config']['queue.failed.table']; - - $this->replaceMigration( - $this->createBaseMigration($table), $table, Str::studly($table) - ); - - $this->info('Migration created successfully!'); - - $this->composer->dumpAutoloads(); - } - - /** - * Create a base migration file for the table. - * - * @param string $table - * @return string - */ - protected function createBaseMigration($table = 'failed_jobs') - { - return $this->laravel['migration.creator']->create( - 'create_'.$table.'_table', $this->laravel->databasePath().'/migrations' - ); - } - - /** - * Replace the generated migration with the failed job table stub. - * - * @param string $path - * @param string $table - * @param string $tableClassName - * @return void - */ - protected function replaceMigration($path, $table, $tableClassName) - { - $stub = str_replace( - ['{{table}}', '{{tableClassName}}'], - [$table, $tableClassName], - $this->files->get(__DIR__.'/stubs/failed_jobs.stub') - ); - - $this->files->put($path, $stub); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/Console/FlushFailedCommand.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/Console/FlushFailedCommand.php deleted file mode 100644 index 550b860..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/Console/FlushFailedCommand.php +++ /dev/null @@ -1,34 +0,0 @@ -laravel['queue.failer']->flush(); - - $this->info('All failed jobs deleted successfully!'); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/Console/ForgetFailedCommand.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/Console/ForgetFailedCommand.php deleted file mode 100644 index b8eecb9..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/Console/ForgetFailedCommand.php +++ /dev/null @@ -1,36 +0,0 @@ -laravel['queue.failer']->forget($this->argument('id'))) { - $this->info('Failed job deleted successfully!'); - } else { - $this->error('No failed job matches the given ID.'); - } - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/Console/ListFailedCommand.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/Console/ListFailedCommand.php deleted file mode 100644 index c8fbbd1..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/Console/ListFailedCommand.php +++ /dev/null @@ -1,114 +0,0 @@ -getFailedJobs()) === 0) { - return $this->info('No failed jobs!'); - } - - $this->displayFailedJobs($jobs); - } - - /** - * Compile the failed jobs into a displayable format. - * - * @return array - */ - protected function getFailedJobs() - { - $failed = $this->laravel['queue.failer']->all(); - - return collect($failed)->map(function ($failed) { - return $this->parseFailedJob((array) $failed); - })->filter()->all(); - } - - /** - * Parse the failed job row. - * - * @param array $failed - * @return array - */ - protected function parseFailedJob(array $failed) - { - $row = array_values(Arr::except($failed, ['payload', 'exception'])); - - array_splice($row, 3, 0, $this->extractJobName($failed['payload'])); - - return $row; - } - - /** - * Extract the failed job name from payload. - * - * @param string $payload - * @return string|null - */ - private function extractJobName($payload) - { - $payload = json_decode($payload, true); - - if ($payload && (! isset($payload['data']['command']))) { - return $payload['job'] ?? null; - } elseif ($payload && isset($payload['data']['command'])) { - return $this->matchJobName($payload); - } - } - - /** - * Match the job name from the payload. - * - * @param array $payload - * @return string - */ - protected function matchJobName($payload) - { - preg_match('/"([^"]+)"/', $payload['data']['command'], $matches); - - return $matches[1] ?? $payload['job'] ?? null; - } - - /** - * Display the failed jobs in the console. - * - * @param array $jobs - * @return void - */ - protected function displayFailedJobs(array $jobs) - { - $this->table($this->headers, $jobs); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/Console/ListenCommand.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/Console/ListenCommand.php deleted file mode 100644 index fca4cd0..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/Console/ListenCommand.php +++ /dev/null @@ -1,114 +0,0 @@ -setOutputHandler($this->listener = $listener); - } - - /** - * Execute the console command. - * - * @return void - */ - public function handle() - { - // We need to get the right queue for the connection which is set in the queue - // configuration file for the application. We will pull it based on the set - // connection being run for the queue operation currently being executed. - $queue = $this->getQueue( - $connection = $this->input->getArgument('connection') - ); - - $this->listener->listen( - $connection, $queue, $this->gatherOptions() - ); - } - - /** - * Get the name of the queue connection to listen on. - * - * @param string $connection - * @return string - */ - protected function getQueue($connection) - { - $connection = $connection ?: $this->laravel['config']['queue.default']; - - return $this->input->getOption('queue') ?: $this->laravel['config']->get( - "queue.connections.{$connection}.queue", 'default' - ); - } - - /** - * Get the listener options for the command. - * - * @return \Illuminate\Queue\ListenerOptions - */ - protected function gatherOptions() - { - return new ListenerOptions( - $this->option('env'), $this->option('delay'), - $this->option('memory'), $this->option('timeout'), - $this->option('sleep'), $this->option('tries'), - $this->option('force') - ); - } - - /** - * Set the options on the queue listener. - * - * @param \Illuminate\Queue\Listener $listener - * @return void - */ - protected function setOutputHandler(Listener $listener) - { - $listener->setOutputHandler(function ($type, $line) { - $this->output->write($line); - }); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/Console/RestartCommand.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/Console/RestartCommand.php deleted file mode 100644 index 1b34041..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/Console/RestartCommand.php +++ /dev/null @@ -1,37 +0,0 @@ -laravel['cache']->forever('illuminate:queue:restart', $this->currentTime()); - - $this->info('Broadcasting queue restart signal.'); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/Console/RetryCommand.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/Console/RetryCommand.php deleted file mode 100644 index 96fb9e3..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/Console/RetryCommand.php +++ /dev/null @@ -1,93 +0,0 @@ -getJobIds() as $id) { - $job = $this->laravel['queue.failer']->find($id); - - if (is_null($job)) { - $this->error("Unable to find failed job with ID [{$id}]."); - } else { - $this->retryJob($job); - - $this->info("The failed job [{$id}] has been pushed back onto the queue!"); - - $this->laravel['queue.failer']->forget($id); - } - } - } - - /** - * Get the job IDs to be retried. - * - * @return array - */ - protected function getJobIds() - { - $ids = (array) $this->argument('id'); - - if (count($ids) === 1 && $ids[0] === 'all') { - $ids = Arr::pluck($this->laravel['queue.failer']->all(), 'id'); - } - - return $ids; - } - - /** - * Retry the queue job. - * - * @param \stdClass $job - * @return void - */ - protected function retryJob($job) - { - $this->laravel['queue']->connection($job->connection)->pushRaw( - $this->resetAttempts($job->payload), $job->queue - ); - } - - /** - * Reset the payload attempts. - * - * Applicable to Redis jobs which store attempts in their payload. - * - * @param string $payload - * @return string - */ - protected function resetAttempts($payload) - { - $payload = json_decode($payload, true); - - if (isset($payload['attempts'])) { - $payload['attempts'] = 0; - } - - return json_encode($payload); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/Console/TableCommand.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/Console/TableCommand.php deleted file mode 100644 index 50f1f01..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/Console/TableCommand.php +++ /dev/null @@ -1,102 +0,0 @@ -files = $files; - $this->composer = $composer; - } - - /** - * Execute the console command. - * - * @return void - */ - public function handle() - { - $table = $this->laravel['config']['queue.connections.database.table']; - - $this->replaceMigration( - $this->createBaseMigration($table), $table, Str::studly($table) - ); - - $this->info('Migration created successfully!'); - - $this->composer->dumpAutoloads(); - } - - /** - * Create a base migration file for the table. - * - * @param string $table - * @return string - */ - protected function createBaseMigration($table = 'jobs') - { - return $this->laravel['migration.creator']->create( - 'create_'.$table.'_table', $this->laravel->databasePath().'/migrations' - ); - } - - /** - * Replace the generated migration with the job table stub. - * - * @param string $path - * @param string $table - * @param string $tableClassName - * @return void - */ - protected function replaceMigration($path, $table, $tableClassName) - { - $stub = str_replace( - ['{{table}}', '{{tableClassName}}'], - [$table, $tableClassName], - $this->files->get(__DIR__.'/stubs/jobs.stub') - ); - - $this->files->put($path, $stub); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/Console/WorkCommand.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/Console/WorkCommand.php deleted file mode 100644 index 6761615..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/Console/WorkCommand.php +++ /dev/null @@ -1,216 +0,0 @@ -worker = $worker; - } - - /** - * Execute the console command. - * - * @return void - */ - public function handle() - { - if ($this->downForMaintenance() && $this->option('once')) { - return $this->worker->sleep($this->option('sleep')); - } - - // We'll listen to the processed and failed events so we can write information - // to the console as jobs are processed, which will let the developer watch - // which jobs are coming through a queue and be informed on its progress. - $this->listenForEvents(); - - $connection = $this->argument('connection') - ?: $this->laravel['config']['queue.default']; - - // We need to get the right queue for the connection which is set in the queue - // configuration file for the application. We will pull it based on the set - // connection being run for the queue operation currently being executed. - $queue = $this->getQueue($connection); - - $this->runWorker( - $connection, $queue - ); - } - - /** - * Run the worker instance. - * - * @param string $connection - * @param string $queue - * @return array - */ - protected function runWorker($connection, $queue) - { - $this->worker->setCache($this->laravel['cache']->driver()); - - return $this->worker->{$this->option('once') ? 'runNextJob' : 'daemon'}( - $connection, $queue, $this->gatherWorkerOptions() - ); - } - - /** - * Gather all of the queue worker options as a single object. - * - * @return \Illuminate\Queue\WorkerOptions - */ - protected function gatherWorkerOptions() - { - return new WorkerOptions( - $this->option('delay'), $this->option('memory'), - $this->option('timeout'), $this->option('sleep'), - $this->option('tries'), $this->option('force'), - $this->option('stop-when-empty') - ); - } - - /** - * Listen for the queue events in order to update the console output. - * - * @return void - */ - protected function listenForEvents() - { - $this->laravel['events']->listen(JobProcessing::class, function ($event) { - $this->writeOutput($event->job, 'starting'); - }); - - $this->laravel['events']->listen(JobProcessed::class, function ($event) { - $this->writeOutput($event->job, 'success'); - }); - - $this->laravel['events']->listen(JobFailed::class, function ($event) { - $this->writeOutput($event->job, 'failed'); - - $this->logFailedJob($event); - }); - } - - /** - * Write the status output for the queue worker. - * - * @param \Illuminate\Contracts\Queue\Job $job - * @param string $status - * @return void - */ - protected function writeOutput(Job $job, $status) - { - switch ($status) { - case 'starting': - return $this->writeStatus($job, 'Processing', 'comment'); - case 'success': - return $this->writeStatus($job, 'Processed', 'info'); - case 'failed': - return $this->writeStatus($job, 'Failed', 'error'); - } - } - - /** - * Format the status output for the queue worker. - * - * @param \Illuminate\Contracts\Queue\Job $job - * @param string $status - * @param string $type - * @return void - */ - protected function writeStatus(Job $job, $status, $type) - { - $this->output->writeln(sprintf( - "<{$type}>[%s][%s] %s %s", - Carbon::now()->format('Y-m-d H:i:s'), - $job->getJobId(), - str_pad("{$status}:", 11), $job->resolveName() - )); - } - - /** - * Store a failed job event. - * - * @param \Illuminate\Queue\Events\JobFailed $event - * @return void - */ - protected function logFailedJob(JobFailed $event) - { - $this->laravel['queue.failer']->log( - $event->connectionName, $event->job->getQueue(), - $event->job->getRawBody(), $event->exception - ); - } - - /** - * Get the queue name for the worker. - * - * @param string $connection - * @return string - */ - protected function getQueue($connection) - { - return $this->option('queue') ?: $this->laravel['config']->get( - "queue.connections.{$connection}.queue", 'default' - ); - } - - /** - * Determine if the worker should run in maintenance mode. - * - * @return bool - */ - protected function downForMaintenance() - { - return $this->option('force') ? false : $this->laravel->isDownForMaintenance(); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/Console/stubs/failed_jobs.stub b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/Console/stubs/failed_jobs.stub deleted file mode 100644 index 037b5ee..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/Console/stubs/failed_jobs.stub +++ /dev/null @@ -1,35 +0,0 @@ -bigIncrements('id'); - $table->text('connection'); - $table->text('queue'); - $table->longText('payload'); - $table->longText('exception'); - $table->timestamp('failed_at')->useCurrent(); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('{{table}}'); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/Console/stubs/jobs.stub b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/Console/stubs/jobs.stub deleted file mode 100644 index 8440beb..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/Console/stubs/jobs.stub +++ /dev/null @@ -1,36 +0,0 @@ -bigIncrements('id'); - $table->string('queue')->index(); - $table->longText('payload'); - $table->unsignedTinyInteger('attempts'); - $table->unsignedInteger('reserved_at')->nullable(); - $table->unsignedInteger('available_at'); - $table->unsignedInteger('created_at'); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('{{table}}'); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/DatabaseQueue.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/DatabaseQueue.php deleted file mode 100644 index 23e871f..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/DatabaseQueue.php +++ /dev/null @@ -1,325 +0,0 @@ -table = $table; - $this->default = $default; - $this->database = $database; - $this->retryAfter = $retryAfter; - } - - /** - * Get the size of the queue. - * - * @param string|null $queue - * @return int - */ - public function size($queue = null) - { - return $this->database->table($this->table) - ->where('queue', $this->getQueue($queue)) - ->count(); - } - - /** - * Push a new job onto the queue. - * - * @param string $job - * @param mixed $data - * @param string|null $queue - * @return mixed - */ - public function push($job, $data = '', $queue = null) - { - return $this->pushToDatabase($queue, $this->createPayload( - $job, $this->getQueue($queue), $data - )); - } - - /** - * Push a raw payload onto the queue. - * - * @param string $payload - * @param string|null $queue - * @param array $options - * @return mixed - */ - public function pushRaw($payload, $queue = null, array $options = []) - { - return $this->pushToDatabase($queue, $payload); - } - - /** - * Push a new job onto the queue after a delay. - * - * @param \DateTimeInterface|\DateInterval|int $delay - * @param string $job - * @param mixed $data - * @param string|null $queue - * @return void - */ - public function later($delay, $job, $data = '', $queue = null) - { - return $this->pushToDatabase($queue, $this->createPayload( - $job, $this->getQueue($queue), $data - ), $delay); - } - - /** - * Push an array of jobs onto the queue. - * - * @param array $jobs - * @param mixed $data - * @param string|null $queue - * @return mixed - */ - public function bulk($jobs, $data = '', $queue = null) - { - $queue = $this->getQueue($queue); - - $availableAt = $this->availableAt(); - - return $this->database->table($this->table)->insert(collect((array) $jobs)->map( - function ($job) use ($queue, $data, $availableAt) { - return $this->buildDatabaseRecord($queue, $this->createPayload($job, $this->getQueue($queue), $data), $availableAt); - } - )->all()); - } - - /** - * Release a reserved job back onto the queue. - * - * @param string $queue - * @param \Illuminate\Queue\Jobs\DatabaseJobRecord $job - * @param int $delay - * @return mixed - */ - public function release($queue, $job, $delay) - { - return $this->pushToDatabase($queue, $job->payload, $delay, $job->attempts); - } - - /** - * Push a raw payload to the database with a given delay. - * - * @param string|null $queue - * @param string $payload - * @param \DateTimeInterface|\DateInterval|int $delay - * @param int $attempts - * @return mixed - */ - protected function pushToDatabase($queue, $payload, $delay = 0, $attempts = 0) - { - return $this->database->table($this->table)->insertGetId($this->buildDatabaseRecord( - $this->getQueue($queue), $payload, $this->availableAt($delay), $attempts - )); - } - - /** - * Create an array to insert for the given job. - * - * @param string|null $queue - * @param string $payload - * @param int $availableAt - * @param int $attempts - * @return array - */ - protected function buildDatabaseRecord($queue, $payload, $availableAt, $attempts = 0) - { - return [ - 'queue' => $queue, - 'attempts' => $attempts, - 'reserved_at' => null, - 'available_at' => $availableAt, - 'created_at' => $this->currentTime(), - 'payload' => $payload, - ]; - } - - /** - * Pop the next job off of the queue. - * - * @param string|null $queue - * @return \Illuminate\Contracts\Queue\Job|null - * - * @throws \Exception|\Throwable - */ - public function pop($queue = null) - { - $queue = $this->getQueue($queue); - - return $this->database->transaction(function () use ($queue) { - if ($job = $this->getNextAvailableJob($queue)) { - return $this->marshalJob($queue, $job); - } - }); - } - - /** - * Get the next available job for the queue. - * - * @param string|null $queue - * @return \Illuminate\Queue\Jobs\DatabaseJobRecord|null - */ - protected function getNextAvailableJob($queue) - { - $job = $this->database->table($this->table) - ->lockForUpdate() - ->where('queue', $this->getQueue($queue)) - ->where(function ($query) { - $this->isAvailable($query); - $this->isReservedButExpired($query); - }) - ->orderBy('id', 'asc') - ->first(); - - return $job ? new DatabaseJobRecord((object) $job) : null; - } - - /** - * Modify the query to check for available jobs. - * - * @param \Illuminate\Database\Query\Builder $query - * @return void - */ - protected function isAvailable($query) - { - $query->where(function ($query) { - $query->whereNull('reserved_at') - ->where('available_at', '<=', $this->currentTime()); - }); - } - - /** - * Modify the query to check for jobs that are reserved but have expired. - * - * @param \Illuminate\Database\Query\Builder $query - * @return void - */ - protected function isReservedButExpired($query) - { - $expiration = Carbon::now()->subSeconds($this->retryAfter)->getTimestamp(); - - $query->orWhere(function ($query) use ($expiration) { - $query->where('reserved_at', '<=', $expiration); - }); - } - - /** - * Marshal the reserved job into a DatabaseJob instance. - * - * @param string $queue - * @param \Illuminate\Queue\Jobs\DatabaseJobRecord $job - * @return \Illuminate\Queue\Jobs\DatabaseJob - */ - protected function marshalJob($queue, $job) - { - $job = $this->markJobAsReserved($job); - - return new DatabaseJob( - $this->container, $this, $job, $this->connectionName, $queue - ); - } - - /** - * Mark the given job ID as reserved. - * - * @param \Illuminate\Queue\Jobs\DatabaseJobRecord $job - * @return \Illuminate\Queue\Jobs\DatabaseJobRecord - */ - protected function markJobAsReserved($job) - { - $this->database->table($this->table)->where('id', $job->id)->update([ - 'reserved_at' => $job->touch(), - 'attempts' => $job->increment(), - ]); - - return $job; - } - - /** - * Delete a reserved job from the queue. - * - * @param string $queue - * @param string $id - * @return void - * - * @throws \Exception|\Throwable - */ - public function deleteReserved($queue, $id) - { - $this->database->transaction(function () use ($id) { - if ($this->database->table($this->table)->lockForUpdate()->find($id)) { - $this->database->table($this->table)->where('id', $id)->delete(); - } - }); - } - - /** - * Get the queue or return the default. - * - * @param string|null $queue - * @return string - */ - public function getQueue($queue) - { - return $queue ?: $this->default; - } - - /** - * Get the underlying database instance. - * - * @return \Illuminate\Database\Connection - */ - public function getDatabase() - { - return $this->database; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/Events/JobExceptionOccurred.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/Events/JobExceptionOccurred.php deleted file mode 100644 index dc7940e..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/Events/JobExceptionOccurred.php +++ /dev/null @@ -1,42 +0,0 @@ -job = $job; - $this->exception = $exception; - $this->connectionName = $connectionName; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/Events/JobFailed.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/Events/JobFailed.php deleted file mode 100644 index 49b84f7..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/Events/JobFailed.php +++ /dev/null @@ -1,42 +0,0 @@ -job = $job; - $this->exception = $exception; - $this->connectionName = $connectionName; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/Events/JobProcessed.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/Events/JobProcessed.php deleted file mode 100644 index f8abefb..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/Events/JobProcessed.php +++ /dev/null @@ -1,33 +0,0 @@ -job = $job; - $this->connectionName = $connectionName; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/Events/JobProcessing.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/Events/JobProcessing.php deleted file mode 100644 index 3dd9724..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/Events/JobProcessing.php +++ /dev/null @@ -1,33 +0,0 @@ -job = $job; - $this->connectionName = $connectionName; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/Events/Looping.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/Events/Looping.php deleted file mode 100644 index f9538e4..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/Events/Looping.php +++ /dev/null @@ -1,33 +0,0 @@ -queue = $queue; - $this->connectionName = $connectionName; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/Events/WorkerStopping.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/Events/WorkerStopping.php deleted file mode 100644 index 6d49bb2..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/Events/WorkerStopping.php +++ /dev/null @@ -1,24 +0,0 @@ -status = $status; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/Failed/DatabaseFailedJobProvider.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/Failed/DatabaseFailedJobProvider.php deleted file mode 100644 index 794fc95..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/Failed/DatabaseFailedJobProvider.php +++ /dev/null @@ -1,117 +0,0 @@ -table = $table; - $this->resolver = $resolver; - $this->database = $database; - } - - /** - * Log a failed job into storage. - * - * @param string $connection - * @param string $queue - * @param string $payload - * @param \Exception $exception - * @return int|null - */ - public function log($connection, $queue, $payload, $exception) - { - $failed_at = Date::now(); - - $exception = (string) $exception; - - return $this->getTable()->insertGetId(compact( - 'connection', 'queue', 'payload', 'exception', 'failed_at' - )); - } - - /** - * Get a list of all of the failed jobs. - * - * @return array - */ - public function all() - { - return $this->getTable()->orderBy('id', 'desc')->get()->all(); - } - - /** - * Get a single failed job. - * - * @param mixed $id - * @return object|null - */ - public function find($id) - { - return $this->getTable()->find($id); - } - - /** - * Delete a single failed job from storage. - * - * @param mixed $id - * @return bool - */ - public function forget($id) - { - return $this->getTable()->where('id', $id)->delete() > 0; - } - - /** - * Flush all of the failed jobs from storage. - * - * @return void - */ - public function flush() - { - $this->getTable()->delete(); - } - - /** - * Get a new query builder instance for the table. - * - * @return \Illuminate\Database\Query\Builder - */ - protected function getTable() - { - return $this->resolver->connection($this->database)->table($this->table); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/Failed/FailedJobProviderInterface.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/Failed/FailedJobProviderInterface.php deleted file mode 100644 index b818636..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/Failed/FailedJobProviderInterface.php +++ /dev/null @@ -1,47 +0,0 @@ -job ? $this->job->attempts() : 1; - } - - /** - * Delete the job from the queue. - * - * @return void - */ - public function delete() - { - if ($this->job) { - return $this->job->delete(); - } - } - - /** - * Fail the job from the queue. - * - * @param \Throwable|null $exception - * @return void - */ - public function fail($exception = null) - { - if ($this->job) { - $this->job->fail($exception); - } - } - - /** - * Release the job back into the queue. - * - * @param int $delay - * @return void - */ - public function release($delay = 0) - { - if ($this->job) { - return $this->job->release($delay); - } - } - - /** - * Set the base queue job instance. - * - * @param \Illuminate\Contracts\Queue\Job $job - * @return $this - */ - public function setJob(JobContract $job) - { - $this->job = $job; - - return $this; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/InvalidPayloadException.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/InvalidPayloadException.php deleted file mode 100644 index 788fa66..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/InvalidPayloadException.php +++ /dev/null @@ -1,19 +0,0 @@ -job = $job; - $this->queue = $queue; - $this->container = $container; - $this->pheanstalk = $pheanstalk; - $this->connectionName = $connectionName; - } - - /** - * Release the job back into the queue. - * - * @param int $delay - * @return void - */ - public function release($delay = 0) - { - parent::release($delay); - - $priority = Pheanstalk::DEFAULT_PRIORITY; - - $this->pheanstalk->release($this->job, $priority, $delay); - } - - /** - * Bury the job in the queue. - * - * @return void - */ - public function bury() - { - parent::release(); - - $this->pheanstalk->bury($this->job); - } - - /** - * Delete the job from the queue. - * - * @return void - */ - public function delete() - { - parent::delete(); - - $this->pheanstalk->delete($this->job); - } - - /** - * Get the number of times the job has been attempted. - * - * @return int - */ - public function attempts() - { - $stats = $this->pheanstalk->statsJob($this->job); - - return (int) $stats->reserves; - } - - /** - * Get the job identifier. - * - * @return int - */ - public function getJobId() - { - return $this->job->getId(); - } - - /** - * Get the raw body string for the job. - * - * @return string - */ - public function getRawBody() - { - return $this->job->getData(); - } - - /** - * Get the underlying Pheanstalk instance. - * - * @return \Pheanstalk\Pheanstalk - */ - public function getPheanstalk() - { - return $this->pheanstalk; - } - - /** - * Get the underlying Pheanstalk job. - * - * @return \Pheanstalk\Job - */ - public function getPheanstalkJob() - { - return $this->job; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/Jobs/DatabaseJob.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/Jobs/DatabaseJob.php deleted file mode 100644 index 9b57fb0..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/Jobs/DatabaseJob.php +++ /dev/null @@ -1,100 +0,0 @@ -job = $job; - $this->queue = $queue; - $this->database = $database; - $this->container = $container; - $this->connectionName = $connectionName; - } - - /** - * Release the job back into the queue. - * - * @param int $delay - * @return mixed - */ - public function release($delay = 0) - { - parent::release($delay); - - $this->delete(); - - return $this->database->release($this->queue, $this->job, $delay); - } - - /** - * Delete the job from the queue. - * - * @return void - */ - public function delete() - { - parent::delete(); - - $this->database->deleteReserved($this->queue, $this->job->id); - } - - /** - * Get the number of times the job has been attempted. - * - * @return int - */ - public function attempts() - { - return (int) $this->job->attempts; - } - - /** - * Get the job identifier. - * - * @return string - */ - public function getJobId() - { - return $this->job->id; - } - - /** - * Get the raw body string for the job. - * - * @return string - */ - public function getRawBody() - { - return $this->job->payload; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/Jobs/DatabaseJobRecord.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/Jobs/DatabaseJobRecord.php deleted file mode 100644 index b4b5725..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/Jobs/DatabaseJobRecord.php +++ /dev/null @@ -1,63 +0,0 @@ -record = $record; - } - - /** - * Increment the number of times the job has been attempted. - * - * @return int - */ - public function increment() - { - $this->record->attempts++; - - return $this->record->attempts; - } - - /** - * Update the "reserved at" timestamp of the job. - * - * @return int - */ - public function touch() - { - $this->record->reserved_at = $this->currentTime(); - - return $this->record->reserved_at; - } - - /** - * Dynamically access the underlying job information. - * - * @param string $key - * @return mixed - */ - public function __get($key) - { - return $this->record->{$key}; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/Jobs/Job.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/Jobs/Job.php deleted file mode 100644 index 27343a8..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/Jobs/Job.php +++ /dev/null @@ -1,319 +0,0 @@ -payload(); - - [$class, $method] = JobName::parse($payload['job']); - - ($this->instance = $this->resolve($class))->{$method}($this, $payload['data']); - } - - /** - * Delete the job from the queue. - * - * @return void - */ - public function delete() - { - $this->deleted = true; - } - - /** - * Determine if the job has been deleted. - * - * @return bool - */ - public function isDeleted() - { - return $this->deleted; - } - - /** - * Release the job back into the queue. - * - * @param int $delay - * @return void - */ - public function release($delay = 0) - { - $this->released = true; - } - - /** - * Determine if the job was released back into the queue. - * - * @return bool - */ - public function isReleased() - { - return $this->released; - } - - /** - * Determine if the job has been deleted or released. - * - * @return bool - */ - public function isDeletedOrReleased() - { - return $this->isDeleted() || $this->isReleased(); - } - - /** - * Determine if the job has been marked as a failure. - * - * @return bool - */ - public function hasFailed() - { - return $this->failed; - } - - /** - * Mark the job as "failed". - * - * @return void - */ - public function markAsFailed() - { - $this->failed = true; - } - - /** - * Delete the job, call the "failed" method, and raise the failed job event. - * - * @param \Throwable|null $e - * @return void - */ - public function fail($e = null) - { - $this->markAsFailed(); - - if ($this->isDeleted()) { - return; - } - - try { - // If the job has failed, we will delete it, call the "failed" method and then call - // an event indicating the job has failed so it can be logged if needed. This is - // to allow every developer to better keep monitor of their failed queue jobs. - $this->delete(); - - $this->failed($e); - } finally { - $this->resolve(Dispatcher::class)->dispatch(new JobFailed( - $this->connectionName, $this, $e ?: new ManuallyFailedException - )); - } - } - - /** - * Process an exception that caused the job to fail. - * - * @param \Throwable|null $e - * @return void - */ - protected function failed($e) - { - $payload = $this->payload(); - - [$class, $method] = JobName::parse($payload['job']); - - if (method_exists($this->instance = $this->resolve($class), 'failed')) { - $this->instance->failed($payload['data'], $e); - } - } - - /** - * Resolve the given class. - * - * @param string $class - * @return mixed - */ - protected function resolve($class) - { - return $this->container->make($class); - } - - /** - * Get the decoded body of the job. - * - * @return array - */ - public function payload() - { - return json_decode($this->getRawBody(), true); - } - - /** - * Get the number of times to attempt a job. - * - * @return int|null - */ - public function maxTries() - { - return $this->payload()['maxTries'] ?? null; - } - - /** - * Get the number of seconds to delay a failed job before retrying it. - * - * @return int|null - */ - public function delaySeconds() - { - return $this->payload()['delay'] ?? null; - } - - /** - * Get the number of seconds the job can run. - * - * @return int|null - */ - public function timeout() - { - return $this->payload()['timeout'] ?? null; - } - - /** - * Get the timestamp indicating when the job should timeout. - * - * @return int|null - */ - public function timeoutAt() - { - return $this->payload()['timeoutAt'] ?? null; - } - - /** - * Get the name of the queued job class. - * - * @return string - */ - public function getName() - { - return $this->payload()['job']; - } - - /** - * Get the resolved name of the queued job class. - * - * Resolves the name of "wrapped" jobs such as class-based handlers. - * - * @return string - */ - public function resolveName() - { - return JobName::resolve($this->getName(), $this->payload()); - } - - /** - * Get the name of the connection the job belongs to. - * - * @return string - */ - public function getConnectionName() - { - return $this->connectionName; - } - - /** - * Get the name of the queue the job belongs to. - * - * @return string - */ - public function getQueue() - { - return $this->queue; - } - - /** - * Get the service container instance. - * - * @return \Illuminate\Container\Container - */ - public function getContainer() - { - return $this->container; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/Jobs/JobName.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/Jobs/JobName.php deleted file mode 100644 index 0db53bb..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/Jobs/JobName.php +++ /dev/null @@ -1,35 +0,0 @@ -job = $job; - $this->redis = $redis; - $this->queue = $queue; - $this->reserved = $reserved; - $this->container = $container; - $this->connectionName = $connectionName; - - $this->decoded = $this->payload(); - } - - /** - * Get the raw body string for the job. - * - * @return string - */ - public function getRawBody() - { - return $this->job; - } - - /** - * Delete the job from the queue. - * - * @return void - */ - public function delete() - { - parent::delete(); - - $this->redis->deleteReserved($this->queue, $this); - } - - /** - * Release the job back into the queue. - * - * @param int $delay - * @return void - */ - public function release($delay = 0) - { - parent::release($delay); - - $this->redis->deleteAndRelease($this->queue, $this, $delay); - } - - /** - * Get the number of times the job has been attempted. - * - * @return int - */ - public function attempts() - { - return ($this->decoded['attempts'] ?? null) + 1; - } - - /** - * Get the job identifier. - * - * @return string - */ - public function getJobId() - { - return $this->decoded['id'] ?? null; - } - - /** - * Get the underlying Redis factory implementation. - * - * @return \Illuminate\Queue\RedisQueue - */ - public function getRedisQueue() - { - return $this->redis; - } - - /** - * Get the underlying reserved Redis job. - * - * @return string - */ - public function getReservedJob() - { - return $this->reserved; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/Jobs/SqsJob.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/Jobs/SqsJob.php deleted file mode 100644 index 962d758..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/Jobs/SqsJob.php +++ /dev/null @@ -1,124 +0,0 @@ -sqs = $sqs; - $this->job = $job; - $this->queue = $queue; - $this->container = $container; - $this->connectionName = $connectionName; - } - - /** - * Release the job back into the queue. - * - * @param int $delay - * @return void - */ - public function release($delay = 0) - { - parent::release($delay); - - $this->sqs->changeMessageVisibility([ - 'QueueUrl' => $this->queue, - 'ReceiptHandle' => $this->job['ReceiptHandle'], - 'VisibilityTimeout' => $delay, - ]); - } - - /** - * Delete the job from the queue. - * - * @return void - */ - public function delete() - { - parent::delete(); - - $this->sqs->deleteMessage([ - 'QueueUrl' => $this->queue, 'ReceiptHandle' => $this->job['ReceiptHandle'], - ]); - } - - /** - * Get the number of times the job has been attempted. - * - * @return int - */ - public function attempts() - { - return (int) $this->job['Attributes']['ApproximateReceiveCount']; - } - - /** - * Get the job identifier. - * - * @return string - */ - public function getJobId() - { - return $this->job['MessageId']; - } - - /** - * Get the raw body string for the job. - * - * @return string - */ - public function getRawBody() - { - return $this->job['Body']; - } - - /** - * Get the underlying SQS client instance. - * - * @return \Aws\Sqs\SqsClient - */ - public function getSqs() - { - return $this->sqs; - } - - /** - * Get the underlying raw SQS job. - * - * @return array - */ - public function getSqsJob() - { - return $this->job; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/Jobs/SyncJob.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/Jobs/SyncJob.php deleted file mode 100644 index 9aafb8a..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/Jobs/SyncJob.php +++ /dev/null @@ -1,91 +0,0 @@ -queue = $queue; - $this->payload = $payload; - $this->container = $container; - $this->connectionName = $connectionName; - } - - /** - * Release the job back into the queue. - * - * @param int $delay - * @return void - */ - public function release($delay = 0) - { - parent::release($delay); - } - - /** - * Get the number of times the job has been attempted. - * - * @return int - */ - public function attempts() - { - return 1; - } - - /** - * Get the job identifier. - * - * @return string - */ - public function getJobId() - { - return ''; - } - - /** - * Get the raw body string for the job. - * - * @return string - */ - public function getRawBody() - { - return $this->payload; - } - - /** - * Get the name of the queue the job belongs to. - * - * @return string - */ - public function getQueue() - { - return 'sync'; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/LICENSE.md b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/LICENSE.md deleted file mode 100644 index 79810c8..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/LICENSE.md +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) Taylor Otwell - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/Listener.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/Listener.php deleted file mode 100644 index 5bb5629..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/Listener.php +++ /dev/null @@ -1,230 +0,0 @@ -commandPath = $commandPath; - } - - /** - * Get the PHP binary. - * - * @return string - */ - protected function phpBinary() - { - return (new PhpExecutableFinder)->find(false); - } - - /** - * Get the Artisan binary. - * - * @return string - */ - protected function artisanBinary() - { - return defined('ARTISAN_BINARY') ? ARTISAN_BINARY : 'artisan'; - } - - /** - * Listen to the given queue connection. - * - * @param string $connection - * @param string $queue - * @param \Illuminate\Queue\ListenerOptions $options - * @return void - */ - public function listen($connection, $queue, ListenerOptions $options) - { - $process = $this->makeProcess($connection, $queue, $options); - - while (true) { - $this->runProcess($process, $options->memory); - } - } - - /** - * Create a new Symfony process for the worker. - * - * @param string $connection - * @param string $queue - * @param \Illuminate\Queue\ListenerOptions $options - * @return \Symfony\Component\Process\Process - */ - public function makeProcess($connection, $queue, ListenerOptions $options) - { - $command = $this->createCommand( - $connection, - $queue, - $options - ); - - // If the environment is set, we will append it to the command array so the - // workers will run under the specified environment. Otherwise, they will - // just run under the production environment which is not always right. - if (isset($options->environment)) { - $command = $this->addEnvironment($command, $options); - } - - return new Process( - $command, - $this->commandPath, - null, - null, - $options->timeout - ); - } - - /** - * Add the environment option to the given command. - * - * @param array $command - * @param \Illuminate\Queue\ListenerOptions $options - * @return array - */ - protected function addEnvironment($command, ListenerOptions $options) - { - return array_merge($command, ["--env={$options->environment}"]); - } - - /** - * Create the command with the listener options. - * - * @param string $connection - * @param string $queue - * @param \Illuminate\Queue\ListenerOptions $options - * @return array - */ - protected function createCommand($connection, $queue, ListenerOptions $options) - { - return array_filter([ - $this->phpBinary(), - $this->artisanBinary(), - 'queue:work', - $connection, - '--once', - "--queue={$queue}", - "--delay={$options->delay}", - "--memory={$options->memory}", - "--sleep={$options->sleep}", - "--tries={$options->maxTries}", - ], function ($value) { - return ! is_null($value); - }); - } - - /** - * Run the given process. - * - * @param \Symfony\Component\Process\Process $process - * @param int $memory - * @return void - */ - public function runProcess(Process $process, $memory) - { - $process->run(function ($type, $line) { - $this->handleWorkerOutput($type, $line); - }); - - // Once we have run the job we'll go check if the memory limit has been exceeded - // for the script. If it has, we will kill this script so the process manager - // will restart this with a clean slate of memory automatically on exiting. - if ($this->memoryExceeded($memory)) { - $this->stop(); - } - } - - /** - * Handle output from the worker process. - * - * @param int $type - * @param string $line - * @return void - */ - protected function handleWorkerOutput($type, $line) - { - if (isset($this->outputHandler)) { - call_user_func($this->outputHandler, $type, $line); - } - } - - /** - * Determine if the memory limit has been exceeded. - * - * @param int $memoryLimit - * @return bool - */ - public function memoryExceeded($memoryLimit) - { - return (memory_get_usage(true) / 1024 / 1024) >= $memoryLimit; - } - - /** - * Stop listening and bail out of the script. - * - * @return void - */ - public function stop() - { - die; - } - - /** - * Set the output handler callback. - * - * @param \Closure $outputHandler - * @return void - */ - public function setOutputHandler(Closure $outputHandler) - { - $this->outputHandler = $outputHandler; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/ListenerOptions.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/ListenerOptions.php deleted file mode 100644 index b15c13e..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/ListenerOptions.php +++ /dev/null @@ -1,32 +0,0 @@ -environment = $environment; - - parent::__construct($delay, $memory, $timeout, $sleep, $maxTries, $force); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/LuaScripts.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/LuaScripts.php deleted file mode 100644 index c031140..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/LuaScripts.php +++ /dev/null @@ -1,129 +0,0 @@ -push($job, $data, $queue); - } - - /** - * Push a new job onto the queue after a delay. - * - * @param string $queue - * @param \DateTimeInterface|\DateInterval|int $delay - * @param string $job - * @param mixed $data - * @return mixed - */ - public function laterOn($queue, $delay, $job, $data = '') - { - return $this->later($delay, $job, $data, $queue); - } - - /** - * Push an array of jobs onto the queue. - * - * @param array $jobs - * @param mixed $data - * @param string|null $queue - * @return void - */ - public function bulk($jobs, $data = '', $queue = null) - { - foreach ((array) $jobs as $job) { - $this->push($job, $data, $queue); - } - } - - /** - * Create a payload string from the given job and data. - * - * @param string|object $job - * @param string $queue - * @param mixed $data - * @return string - * - * @throws \Illuminate\Queue\InvalidPayloadException - */ - protected function createPayload($job, $queue, $data = '') - { - $payload = json_encode($this->createPayloadArray($job, $queue, $data)); - - if (JSON_ERROR_NONE !== json_last_error()) { - throw new InvalidPayloadException( - 'Unable to JSON encode payload. Error code: '.json_last_error() - ); - } - - return $payload; - } - - /** - * Create a payload array from the given job and data. - * - * @param string|object $job - * @param string $queue - * @param mixed $data - * @return array - */ - protected function createPayloadArray($job, $queue, $data = '') - { - return is_object($job) - ? $this->createObjectPayload($job, $queue) - : $this->createStringPayload($job, $queue, $data); - } - - /** - * Create a payload for an object-based queue handler. - * - * @param object $job - * @param string $queue - * @return array - */ - protected function createObjectPayload($job, $queue) - { - $payload = $this->withCreatePayloadHooks($queue, [ - 'displayName' => $this->getDisplayName($job), - 'job' => 'Illuminate\Queue\CallQueuedHandler@call', - 'maxTries' => $job->tries ?? null, - 'delay' => $this->getJobRetryDelay($job), - 'timeout' => $job->timeout ?? null, - 'timeoutAt' => $this->getJobExpiration($job), - 'data' => [ - 'commandName' => $job, - 'command' => $job, - ], - ]); - - return array_merge($payload, [ - 'data' => [ - 'commandName' => get_class($job), - 'command' => serialize(clone $job), - ], - ]); - } - - /** - * Get the display name for the given job. - * - * @param object $job - * @return string - */ - protected function getDisplayName($job) - { - return method_exists($job, 'displayName') - ? $job->displayName() : get_class($job); - } - - /** - * Get the retry delay for an object-based queue handler. - * - * @param mixed $job - * @return mixed - */ - public function getJobRetryDelay($job) - { - if (! method_exists($job, 'retryAfter') && ! isset($job->retryAfter)) { - return; - } - - $delay = $job->retryAfter ?? $job->retryAfter(); - - return $delay instanceof DateTimeInterface - ? $this->secondsUntil($delay) : $delay; - } - - /** - * Get the expiration timestamp for an object-based queue handler. - * - * @param mixed $job - * @return mixed - */ - public function getJobExpiration($job) - { - if (! method_exists($job, 'retryUntil') && ! isset($job->timeoutAt)) { - return; - } - - $expiration = $job->timeoutAt ?? $job->retryUntil(); - - return $expiration instanceof DateTimeInterface - ? $expiration->getTimestamp() : $expiration; - } - - /** - * Create a typical, string based queue payload array. - * - * @param string $job - * @param string $queue - * @param mixed $data - * @return array - */ - protected function createStringPayload($job, $queue, $data) - { - return $this->withCreatePayloadHooks($queue, [ - 'displayName' => is_string($job) ? explode('@', $job)[0] : null, - 'job' => $job, - 'maxTries' => null, - 'delay' => null, - 'timeout' => null, - 'data' => $data, - ]); - } - - /** - * Register a callback to be executed when creating job payloads. - * - * @param callable $callback - * @return void - */ - public static function createPayloadUsing($callback) - { - if (is_null($callback)) { - static::$createPayloadCallbacks = []; - } else { - static::$createPayloadCallbacks[] = $callback; - } - } - - /** - * Create the given payload using any registered payload hooks. - * - * @param string $queue - * @param array $payload - * @return array - */ - protected function withCreatePayloadHooks($queue, array $payload) - { - if (! empty(static::$createPayloadCallbacks)) { - foreach (static::$createPayloadCallbacks as $callback) { - $payload = array_merge($payload, call_user_func( - $callback, $this->getConnectionName(), $queue, $payload - )); - } - } - - return $payload; - } - - /** - * Get the connection name for the queue. - * - * @return string - */ - public function getConnectionName() - { - return $this->connectionName; - } - - /** - * Set the connection name for the queue. - * - * @param string $name - * @return $this - */ - public function setConnectionName($name) - { - $this->connectionName = $name; - - return $this; - } - - /** - * Set the IoC container instance. - * - * @param \Illuminate\Container\Container $container - * @return void - */ - public function setContainer(Container $container) - { - $this->container = $container; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/QueueManager.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/QueueManager.php deleted file mode 100644 index 758a430..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/QueueManager.php +++ /dev/null @@ -1,270 +0,0 @@ -app = $app; - } - - /** - * Register an event listener for the before job event. - * - * @param mixed $callback - * @return void - */ - public function before($callback) - { - $this->app['events']->listen(Events\JobProcessing::class, $callback); - } - - /** - * Register an event listener for the after job event. - * - * @param mixed $callback - * @return void - */ - public function after($callback) - { - $this->app['events']->listen(Events\JobProcessed::class, $callback); - } - - /** - * Register an event listener for the exception occurred job event. - * - * @param mixed $callback - * @return void - */ - public function exceptionOccurred($callback) - { - $this->app['events']->listen(Events\JobExceptionOccurred::class, $callback); - } - - /** - * Register an event listener for the daemon queue loop. - * - * @param mixed $callback - * @return void - */ - public function looping($callback) - { - $this->app['events']->listen(Events\Looping::class, $callback); - } - - /** - * Register an event listener for the failed job event. - * - * @param mixed $callback - * @return void - */ - public function failing($callback) - { - $this->app['events']->listen(Events\JobFailed::class, $callback); - } - - /** - * Register an event listener for the daemon queue stopping. - * - * @param mixed $callback - * @return void - */ - public function stopping($callback) - { - $this->app['events']->listen(Events\WorkerStopping::class, $callback); - } - - /** - * Determine if the driver is connected. - * - * @param string|null $name - * @return bool - */ - public function connected($name = null) - { - return isset($this->connections[$name ?: $this->getDefaultDriver()]); - } - - /** - * Resolve a queue connection instance. - * - * @param string|null $name - * @return \Illuminate\Contracts\Queue\Queue - */ - public function connection($name = null) - { - $name = $name ?: $this->getDefaultDriver(); - - // If the connection has not been resolved yet we will resolve it now as all - // of the connections are resolved when they are actually needed so we do - // not make any unnecessary connection to the various queue end-points. - if (! isset($this->connections[$name])) { - $this->connections[$name] = $this->resolve($name); - - $this->connections[$name]->setContainer($this->app); - } - - return $this->connections[$name]; - } - - /** - * Resolve a queue connection. - * - * @param string $name - * @return \Illuminate\Contracts\Queue\Queue - */ - protected function resolve($name) - { - $config = $this->getConfig($name); - - return $this->getConnector($config['driver']) - ->connect($config) - ->setConnectionName($name); - } - - /** - * Get the connector for a given driver. - * - * @param string $driver - * @return \Illuminate\Queue\Connectors\ConnectorInterface - * - * @throws \InvalidArgumentException - */ - protected function getConnector($driver) - { - if (! isset($this->connectors[$driver])) { - throw new InvalidArgumentException("No connector for [$driver]"); - } - - return call_user_func($this->connectors[$driver]); - } - - /** - * Add a queue connection resolver. - * - * @param string $driver - * @param \Closure $resolver - * @return void - */ - public function extend($driver, Closure $resolver) - { - return $this->addConnector($driver, $resolver); - } - - /** - * Add a queue connection resolver. - * - * @param string $driver - * @param \Closure $resolver - * @return void - */ - public function addConnector($driver, Closure $resolver) - { - $this->connectors[$driver] = $resolver; - } - - /** - * Get the queue connection configuration. - * - * @param string $name - * @return array - */ - protected function getConfig($name) - { - if (! is_null($name) && $name !== 'null') { - return $this->app['config']["queue.connections.{$name}"]; - } - - return ['driver' => 'null']; - } - - /** - * Get the name of the default queue connection. - * - * @return string - */ - public function getDefaultDriver() - { - return $this->app['config']['queue.default']; - } - - /** - * Set the name of the default queue connection. - * - * @param string $name - * @return void - */ - public function setDefaultDriver($name) - { - $this->app['config']['queue.default'] = $name; - } - - /** - * Get the full name for the given connection. - * - * @param string|null $connection - * @return string - */ - public function getName($connection = null) - { - return $connection ?: $this->getDefaultDriver(); - } - - /** - * Determine if the application is in maintenance mode. - * - * @return bool - */ - public function isDownForMaintenance() - { - return $this->app->isDownForMaintenance(); - } - - /** - * Dynamically pass calls to the default connection. - * - * @param string $method - * @param array $parameters - * @return mixed - */ - public function __call($method, $parameters) - { - return $this->connection()->$method(...$parameters); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/QueueServiceProvider.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/QueueServiceProvider.php deleted file mode 100644 index a20b0bc..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/QueueServiceProvider.php +++ /dev/null @@ -1,237 +0,0 @@ -registerManager(); - $this->registerConnection(); - $this->registerWorker(); - $this->registerListener(); - $this->registerFailedJobServices(); - $this->registerOpisSecurityKey(); - } - - /** - * Register the queue manager. - * - * @return void - */ - protected function registerManager() - { - $this->app->singleton('queue', function ($app) { - // Once we have an instance of the queue manager, we will register the various - // resolvers for the queue connectors. These connectors are responsible for - // creating the classes that accept queue configs and instantiate queues. - return tap(new QueueManager($app), function ($manager) { - $this->registerConnectors($manager); - }); - }); - } - - /** - * Register the default queue connection binding. - * - * @return void - */ - protected function registerConnection() - { - $this->app->singleton('queue.connection', function ($app) { - return $app['queue']->connection(); - }); - } - - /** - * Register the connectors on the queue manager. - * - * @param \Illuminate\Queue\QueueManager $manager - * @return void - */ - public function registerConnectors($manager) - { - foreach (['Null', 'Sync', 'Database', 'Redis', 'Beanstalkd', 'Sqs'] as $connector) { - $this->{"register{$connector}Connector"}($manager); - } - } - - /** - * Register the Null queue connector. - * - * @param \Illuminate\Queue\QueueManager $manager - * @return void - */ - protected function registerNullConnector($manager) - { - $manager->addConnector('null', function () { - return new NullConnector; - }); - } - - /** - * Register the Sync queue connector. - * - * @param \Illuminate\Queue\QueueManager $manager - * @return void - */ - protected function registerSyncConnector($manager) - { - $manager->addConnector('sync', function () { - return new SyncConnector; - }); - } - - /** - * Register the database queue connector. - * - * @param \Illuminate\Queue\QueueManager $manager - * @return void - */ - protected function registerDatabaseConnector($manager) - { - $manager->addConnector('database', function () { - return new DatabaseConnector($this->app['db']); - }); - } - - /** - * Register the Redis queue connector. - * - * @param \Illuminate\Queue\QueueManager $manager - * @return void - */ - protected function registerRedisConnector($manager) - { - $manager->addConnector('redis', function () { - return new RedisConnector($this->app['redis']); - }); - } - - /** - * Register the Beanstalkd queue connector. - * - * @param \Illuminate\Queue\QueueManager $manager - * @return void - */ - protected function registerBeanstalkdConnector($manager) - { - $manager->addConnector('beanstalkd', function () { - return new BeanstalkdConnector; - }); - } - - /** - * Register the Amazon SQS queue connector. - * - * @param \Illuminate\Queue\QueueManager $manager - * @return void - */ - protected function registerSqsConnector($manager) - { - $manager->addConnector('sqs', function () { - return new SqsConnector; - }); - } - - /** - * Register the queue worker. - * - * @return void - */ - protected function registerWorker() - { - $this->app->singleton('queue.worker', function () { - return new Worker( - $this->app['queue'], $this->app['events'], $this->app[ExceptionHandler::class] - ); - }); - } - - /** - * Register the queue listener. - * - * @return void - */ - protected function registerListener() - { - $this->app->singleton('queue.listener', function () { - return new Listener($this->app->basePath()); - }); - } - - /** - * Register the failed job services. - * - * @return void - */ - protected function registerFailedJobServices() - { - $this->app->singleton('queue.failer', function () { - $config = $this->app['config']['queue.failed']; - - return isset($config['table']) - ? $this->databaseFailedJobProvider($config) - : new NullFailedJobProvider; - }); - } - - /** - * Create a new database failed job provider. - * - * @param array $config - * @return \Illuminate\Queue\Failed\DatabaseFailedJobProvider - */ - protected function databaseFailedJobProvider($config) - { - return new DatabaseFailedJobProvider( - $this->app['db'], $config['database'], $config['table'] - ); - } - - /** - * Configure Opis Closure signing for security. - * - * @return void - */ - protected function registerOpisSecurityKey() - { - if (Str::startsWith($key = $this->app['config']->get('app.key'), 'base64:')) { - $key = base64_decode(substr($key, 7)); - } - - SerializableClosure::setSecretKey($key); - } - - /** - * Get the services provided by the provider. - * - * @return array - */ - public function provides() - { - return [ - 'queue', 'queue.worker', 'queue.listener', - 'queue.failer', 'queue.connection', - ]; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/README.md b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/README.md deleted file mode 100644 index 1999dd7..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/README.md +++ /dev/null @@ -1,34 +0,0 @@ -## Illuminate Queue - -The Laravel Queue component provides a unified API across a variety of different queue services. Queues allow you to defer the processing of a time consuming task, such as sending an e-mail, until a later time, thus drastically speeding up the web requests to your application. - -### Usage Instructions - -First, create a new Queue `Capsule` manager instance. Similar to the "Capsule" provided for the Eloquent ORM, the queue Capsule aims to make configuring the library for usage outside of the Laravel framework as easy as possible. - -```PHP -use Illuminate\Queue\Capsule\Manager as Queue; - -$queue = new Queue; - -$queue->addConnection([ - 'driver' => 'beanstalkd', - 'host' => 'localhost', - 'queue' => 'default', -]); - -// Make this Capsule instance available globally via static methods... (optional) -$queue->setAsGlobal(); -``` - -Once the Capsule instance has been registered. You may use it like so: - -```PHP -// As an instance... -$queue->push('SendEmail', ['message' => $message]); - -// If setAsGlobal has been called... -Queue::push('SendEmail', ['message' => $message]); -``` - -For further documentation on using the queue, consult the [Laravel framework documentation](https://laravel.com/docs). diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/RedisQueue.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/RedisQueue.php deleted file mode 100644 index e88f0ce..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/RedisQueue.php +++ /dev/null @@ -1,310 +0,0 @@ -redis = $redis; - $this->default = $default; - $this->blockFor = $blockFor; - $this->connection = $connection; - $this->retryAfter = $retryAfter; - } - - /** - * Get the size of the queue. - * - * @param string|null $queue - * @return int - */ - public function size($queue = null) - { - $queue = $this->getQueue($queue); - - return $this->getConnection()->eval( - LuaScripts::size(), 3, $queue, $queue.':delayed', $queue.':reserved' - ); - } - - /** - * Push a new job onto the queue. - * - * @param object|string $job - * @param mixed $data - * @param string|null $queue - * @return mixed - */ - public function push($job, $data = '', $queue = null) - { - return $this->pushRaw($this->createPayload($job, $this->getQueue($queue), $data), $queue); - } - - /** - * Push a raw payload onto the queue. - * - * @param string $payload - * @param string|null $queue - * @param array $options - * @return mixed - */ - public function pushRaw($payload, $queue = null, array $options = []) - { - $this->getConnection()->eval( - LuaScripts::push(), 2, $this->getQueue($queue), - $this->getQueue($queue).':notify', $payload - ); - - return json_decode($payload, true)['id'] ?? null; - } - - /** - * Push a new job onto the queue after a delay. - * - * @param \DateTimeInterface|\DateInterval|int $delay - * @param object|string $job - * @param mixed $data - * @param string|null $queue - * @return mixed - */ - public function later($delay, $job, $data = '', $queue = null) - { - return $this->laterRaw($delay, $this->createPayload($job, $this->getQueue($queue), $data), $queue); - } - - /** - * Push a raw job onto the queue after a delay. - * - * @param \DateTimeInterface|\DateInterval|int $delay - * @param string $payload - * @param string|null $queue - * @return mixed - */ - protected function laterRaw($delay, $payload, $queue = null) - { - $this->getConnection()->zadd( - $this->getQueue($queue).':delayed', $this->availableAt($delay), $payload - ); - - return json_decode($payload, true)['id'] ?? null; - } - - /** - * Create a payload string from the given job and data. - * - * @param string $job - * @param string $queue - * @param mixed $data - * @return string - */ - protected function createPayloadArray($job, $queue, $data = '') - { - return array_merge(parent::createPayloadArray($job, $queue, $data), [ - 'id' => $this->getRandomId(), - 'attempts' => 0, - ]); - } - - /** - * Pop the next job off of the queue. - * - * @param string|null $queue - * @return \Illuminate\Contracts\Queue\Job|null - */ - public function pop($queue = null) - { - $this->migrate($prefixed = $this->getQueue($queue)); - - if (empty($nextJob = $this->retrieveNextJob($prefixed))) { - return; - } - - [$job, $reserved] = $nextJob; - - if ($reserved) { - return new RedisJob( - $this->container, $this, $job, - $reserved, $this->connectionName, $queue ?: $this->default - ); - } - } - - /** - * Migrate any delayed or expired jobs onto the primary queue. - * - * @param string $queue - * @return void - */ - protected function migrate($queue) - { - $this->migrateExpiredJobs($queue.':delayed', $queue); - - if (! is_null($this->retryAfter)) { - $this->migrateExpiredJobs($queue.':reserved', $queue); - } - } - - /** - * Migrate the delayed jobs that are ready to the regular queue. - * - * @param string $from - * @param string $to - * @return array - */ - public function migrateExpiredJobs($from, $to) - { - return $this->getConnection()->eval( - LuaScripts::migrateExpiredJobs(), 3, $from, $to, $to.':notify', $this->currentTime() - ); - } - - /** - * Retrieve the next job from the queue. - * - * @param string $queue - * @param bool $block - * @return array - */ - protected function retrieveNextJob($queue, $block = true) - { - $nextJob = $this->getConnection()->eval( - LuaScripts::pop(), 3, $queue, $queue.':reserved', $queue.':notify', - $this->availableAt($this->retryAfter) - ); - - if (empty($nextJob)) { - return [null, null]; - } - - [$job, $reserved] = $nextJob; - - if (! $job && ! is_null($this->blockFor) && $block && - $this->getConnection()->blpop([$queue.':notify'], $this->blockFor)) { - return $this->retrieveNextJob($queue, false); - } - - return [$job, $reserved]; - } - - /** - * Delete a reserved job from the queue. - * - * @param string $queue - * @param \Illuminate\Queue\Jobs\RedisJob $job - * @return void - */ - public function deleteReserved($queue, $job) - { - $this->getConnection()->zrem($this->getQueue($queue).':reserved', $job->getReservedJob()); - } - - /** - * Delete a reserved job from the reserved queue and release it. - * - * @param string $queue - * @param \Illuminate\Queue\Jobs\RedisJob $job - * @param int $delay - * @return void - */ - public function deleteAndRelease($queue, $job, $delay) - { - $queue = $this->getQueue($queue); - - $this->getConnection()->eval( - LuaScripts::release(), 2, $queue.':delayed', $queue.':reserved', - $job->getReservedJob(), $this->availableAt($delay) - ); - } - - /** - * Get a random ID string. - * - * @return string - */ - protected function getRandomId() - { - return Str::random(32); - } - - /** - * Get the queue or return the default. - * - * @param string|null $queue - * @return string - */ - public function getQueue($queue) - { - return 'queues:'.($queue ?: $this->default); - } - - /** - * Get the connection for the queue. - * - * @return \Illuminate\Redis\Connections\Connection - */ - protected function getConnection() - { - return $this->redis->connection($this->connection); - } - - /** - * Get the underlying Redis instance. - * - * @return \Illuminate\Contracts\Redis\Factory - */ - public function getRedis() - { - return $this->redis; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/SerializableClosure.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/SerializableClosure.php deleted file mode 100644 index f8a1cf4..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/SerializableClosure.php +++ /dev/null @@ -1,40 +0,0 @@ - $value) { - $data[$key] = $this->getSerializedPropertyValue($value); - } - - return $data; - } - - /** - * Resolve the use variables after unserialization. - * - * @param array $data The Closure's transformed use variables - * @return array - */ - protected function resolveUseVariables($data) - { - foreach ($data as $key => $value) { - $data[$key] = $this->getRestoredPropertyValue($value); - } - - return $data; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/SerializesAndRestoresModelIdentifiers.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/SerializesAndRestoresModelIdentifiers.php deleted file mode 100644 index 44e6588..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/SerializesAndRestoresModelIdentifiers.php +++ /dev/null @@ -1,116 +0,0 @@ -getQueueableClass(), - $value->getQueueableIds(), - $value->getQueueableRelations(), - $value->getQueueableConnection() - ); - } - - if ($value instanceof QueueableEntity) { - return new ModelIdentifier( - get_class($value), - $value->getQueueableId(), - $value->getQueueableRelations(), - $value->getQueueableConnection() - ); - } - - return $value; - } - - /** - * Get the restored property value after deserialization. - * - * @param mixed $value - * @return mixed - */ - protected function getRestoredPropertyValue($value) - { - if (! $value instanceof ModelIdentifier) { - return $value; - } - - return is_array($value->id) - ? $this->restoreCollection($value) - : $this->restoreModel($value); - } - - /** - * Restore a queueable collection instance. - * - * @param \Illuminate\Contracts\Database\ModelIdentifier $value - * @return \Illuminate\Database\Eloquent\Collection - */ - protected function restoreCollection($value) - { - if (! $value->class || count($value->id) === 0) { - return new EloquentCollection; - } - - $collection = $this->getQueryForModelRestoration( - (new $value->class)->setConnection($value->connection), $value->id - )->useWritePdo()->get(); - - if (is_a($value->class, Pivot::class, true) || - in_array(AsPivot::class, class_uses($value->class))) { - return $collection; - } - - $collection = $collection->keyBy->getKey(); - - $collectionClass = get_class($collection); - - return new $collectionClass( - collect($value->id)->map(function ($id) use ($collection) { - return $collection[$id] ?? null; - })->filter() - ); - } - - /** - * Restore the model from the model identifier instance. - * - * @param \Illuminate\Contracts\Database\ModelIdentifier $value - * @return \Illuminate\Database\Eloquent\Model - */ - public function restoreModel($value) - { - return $this->getQueryForModelRestoration( - (new $value->class)->setConnection($value->connection), $value->id - )->useWritePdo()->firstOrFail()->load($value->relations ?? []); - } - - /** - * Get the query for model restoration. - * - * @param \Illuminate\Database\Eloquent\Model $model - * @param array|int $ids - * @return \Illuminate\Database\Eloquent\Builder - */ - protected function getQueryForModelRestoration($model, $ids) - { - return $model->newQueryForRestoration($ids); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/SerializesModels.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/SerializesModels.php deleted file mode 100644 index e083d6f..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/SerializesModels.php +++ /dev/null @@ -1,62 +0,0 @@ -getProperties(); - - foreach ($properties as $property) { - $property->setValue($this, $this->getSerializedPropertyValue( - $this->getPropertyValue($property) - )); - } - - return array_values(array_filter(array_map(function ($p) { - return $p->isStatic() ? null : $p->getName(); - }, $properties))); - } - - /** - * Restore the model after serialization. - * - * @return void - */ - public function __wakeup() - { - foreach ((new ReflectionClass($this))->getProperties() as $property) { - if ($property->isStatic()) { - continue; - } - - $property->setValue($this, $this->getRestoredPropertyValue( - $this->getPropertyValue($property) - )); - } - } - - /** - * Get the property value for the given property. - * - * @param \ReflectionProperty $property - * @return mixed - */ - protected function getPropertyValue(ReflectionProperty $property) - { - $property->setAccessible(true); - - return $property->getValue($this); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/SqsQueue.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/SqsQueue.php deleted file mode 100644 index b72a7b6..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/SqsQueue.php +++ /dev/null @@ -1,155 +0,0 @@ -sqs = $sqs; - $this->prefix = $prefix; - $this->default = $default; - } - - /** - * Get the size of the queue. - * - * @param string|null $queue - * @return int - */ - public function size($queue = null) - { - $response = $this->sqs->getQueueAttributes([ - 'QueueUrl' => $this->getQueue($queue), - 'AttributeNames' => ['ApproximateNumberOfMessages'], - ]); - - $attributes = $response->get('Attributes'); - - return (int) $attributes['ApproximateNumberOfMessages']; - } - - /** - * Push a new job onto the queue. - * - * @param string $job - * @param mixed $data - * @param string|null $queue - * @return mixed - */ - public function push($job, $data = '', $queue = null) - { - return $this->pushRaw($this->createPayload($job, $queue ?: $this->default, $data), $queue); - } - - /** - * Push a raw payload onto the queue. - * - * @param string $payload - * @param string|null $queue - * @param array $options - * @return mixed - */ - public function pushRaw($payload, $queue = null, array $options = []) - { - return $this->sqs->sendMessage([ - 'QueueUrl' => $this->getQueue($queue), 'MessageBody' => $payload, - ])->get('MessageId'); - } - - /** - * Push a new job onto the queue after a delay. - * - * @param \DateTimeInterface|\DateInterval|int $delay - * @param string $job - * @param mixed $data - * @param string|null $queue - * @return mixed - */ - public function later($delay, $job, $data = '', $queue = null) - { - return $this->sqs->sendMessage([ - 'QueueUrl' => $this->getQueue($queue), - 'MessageBody' => $this->createPayload($job, $queue ?: $this->default, $data), - 'DelaySeconds' => $this->secondsUntil($delay), - ])->get('MessageId'); - } - - /** - * Pop the next job off of the queue. - * - * @param string|null $queue - * @return \Illuminate\Contracts\Queue\Job|null - */ - public function pop($queue = null) - { - $response = $this->sqs->receiveMessage([ - 'QueueUrl' => $queue = $this->getQueue($queue), - 'AttributeNames' => ['ApproximateReceiveCount'], - ]); - - if (! is_null($response['Messages']) && count($response['Messages']) > 0) { - return new SqsJob( - $this->container, $this->sqs, $response['Messages'][0], - $this->connectionName, $queue - ); - } - } - - /** - * Get the queue or return the default. - * - * @param string|null $queue - * @return string - */ - public function getQueue($queue) - { - $queue = $queue ?: $this->default; - - return filter_var($queue, FILTER_VALIDATE_URL) === false - ? rtrim($this->prefix, '/').'/'.$queue : $queue; - } - - /** - * Get the underlying SQS instance. - * - * @return \Aws\Sqs\SqsClient - */ - public function getSqs() - { - return $this->sqs; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/SyncQueue.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/SyncQueue.php deleted file mode 100644 index c6e902f..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/SyncQueue.php +++ /dev/null @@ -1,161 +0,0 @@ -resolveJob($this->createPayload($job, $queue, $data), $queue); - - try { - $this->raiseBeforeJobEvent($queueJob); - - $queueJob->fire(); - - $this->raiseAfterJobEvent($queueJob); - } catch (Exception $e) { - $this->handleException($queueJob, $e); - } catch (Throwable $e) { - $this->handleException($queueJob, new FatalThrowableError($e)); - } - - return 0; - } - - /** - * Resolve a Sync job instance. - * - * @param string $payload - * @param string $queue - * @return \Illuminate\Queue\Jobs\SyncJob - */ - protected function resolveJob($payload, $queue) - { - return new SyncJob($this->container, $payload, $this->connectionName, $queue); - } - - /** - * Raise the before queue job event. - * - * @param \Illuminate\Contracts\Queue\Job $job - * @return void - */ - protected function raiseBeforeJobEvent(Job $job) - { - if ($this->container->bound('events')) { - $this->container['events']->dispatch(new Events\JobProcessing($this->connectionName, $job)); - } - } - - /** - * Raise the after queue job event. - * - * @param \Illuminate\Contracts\Queue\Job $job - * @return void - */ - protected function raiseAfterJobEvent(Job $job) - { - if ($this->container->bound('events')) { - $this->container['events']->dispatch(new Events\JobProcessed($this->connectionName, $job)); - } - } - - /** - * Raise the exception occurred queue job event. - * - * @param \Illuminate\Contracts\Queue\Job $job - * @param \Exception $e - * @return void - */ - protected function raiseExceptionOccurredJobEvent(Job $job, $e) - { - if ($this->container->bound('events')) { - $this->container['events']->dispatch(new Events\JobExceptionOccurred($this->connectionName, $job, $e)); - } - } - - /** - * Handle an exception that occurred while processing a job. - * - * @param \Illuminate\Queue\Jobs\Job $queueJob - * @param \Exception $e - * @return void - * - * @throws \Exception - */ - protected function handleException($queueJob, $e) - { - $this->raiseExceptionOccurredJobEvent($queueJob, $e); - - $queueJob->fail($e); - - throw $e; - } - - /** - * Push a raw payload onto the queue. - * - * @param string $payload - * @param string|null $queue - * @param array $options - * @return mixed - */ - public function pushRaw($payload, $queue = null, array $options = []) - { - // - } - - /** - * Push a new job onto the queue after a delay. - * - * @param \DateTimeInterface|\DateInterval|int $delay - * @param string $job - * @param mixed $data - * @param string|null $queue - * @return mixed - */ - public function later($delay, $job, $data = '', $queue = null) - { - return $this->push($job, $data, $queue); - } - - /** - * Pop the next job off of the queue. - * - * @param string|null $queue - * @return \Illuminate\Contracts\Queue\Job|null - */ - public function pop($queue = null) - { - // - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/Worker.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/Worker.php deleted file mode 100644 index d01e811..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/Worker.php +++ /dev/null @@ -1,652 +0,0 @@ -events = $events; - $this->manager = $manager; - $this->exceptions = $exceptions; - } - - /** - * Listen to the given queue in a loop. - * - * @param string $connectionName - * @param string $queue - * @param \Illuminate\Queue\WorkerOptions $options - * @return void - */ - public function daemon($connectionName, $queue, WorkerOptions $options) - { - if ($this->supportsAsyncSignals()) { - $this->listenForSignals(); - } - - $lastRestart = $this->getTimestampOfLastQueueRestart(); - - while (true) { - // Before reserving any jobs, we will make sure this queue is not paused and - // if it is we will just pause this worker for a given amount of time and - // make sure we do not need to kill this worker process off completely. - if (! $this->daemonShouldRun($options, $connectionName, $queue)) { - $this->pauseWorker($options, $lastRestart); - - continue; - } - - // First, we will attempt to get the next job off of the queue. We will also - // register the timeout handler and reset the alarm for this job so it is - // not stuck in a frozen state forever. Then, we can fire off this job. - $job = $this->getNextJob( - $this->manager->connection($connectionName), $queue - ); - - if ($this->supportsAsyncSignals()) { - $this->registerTimeoutHandler($job, $options); - } - - // If the daemon should run (not in maintenance mode, etc.), then we can run - // fire off this job for processing. Otherwise, we will need to sleep the - // worker so no more jobs are processed until they should be processed. - if ($job) { - $this->runJob($job, $connectionName, $options); - } else { - $this->sleep($options->sleep); - } - - // Finally, we will check to see if we have exceeded our memory limits or if - // the queue should restart based on other indications. If so, we'll stop - // this worker and let whatever is "monitoring" it restart the process. - $this->stopIfNecessary($options, $lastRestart, $job); - } - } - - /** - * Register the worker timeout handler. - * - * @param \Illuminate\Contracts\Queue\Job|null $job - * @param \Illuminate\Queue\WorkerOptions $options - * @return void - */ - protected function registerTimeoutHandler($job, WorkerOptions $options) - { - // We will register a signal handler for the alarm signal so that we can kill this - // process if it is running too long because it has frozen. This uses the async - // signals supported in recent versions of PHP to accomplish it conveniently. - pcntl_signal(SIGALRM, function () use ($job, $options) { - if ($job) { - $this->markJobAsFailedIfWillExceedMaxAttempts( - $job->getConnectionName(), $job, (int) $options->maxTries, $this->maxAttemptsExceededException($job) - ); - } - - $this->kill(1); - }); - - pcntl_alarm( - max($this->timeoutForJob($job, $options), 0) - ); - } - - /** - * Get the appropriate timeout for the given job. - * - * @param \Illuminate\Contracts\Queue\Job|null $job - * @param \Illuminate\Queue\WorkerOptions $options - * @return int - */ - protected function timeoutForJob($job, WorkerOptions $options) - { - return $job && ! is_null($job->timeout()) ? $job->timeout() : $options->timeout; - } - - /** - * Determine if the daemon should process on this iteration. - * - * @param \Illuminate\Queue\WorkerOptions $options - * @param string $connectionName - * @param string $queue - * @return bool - */ - protected function daemonShouldRun(WorkerOptions $options, $connectionName, $queue) - { - return ! (($this->manager->isDownForMaintenance() && ! $options->force) || - $this->paused || - $this->events->until(new Events\Looping($connectionName, $queue)) === false); - } - - /** - * Pause the worker for the current loop. - * - * @param \Illuminate\Queue\WorkerOptions $options - * @param int $lastRestart - * @return void - */ - protected function pauseWorker(WorkerOptions $options, $lastRestart) - { - $this->sleep($options->sleep > 0 ? $options->sleep : 1); - - $this->stopIfNecessary($options, $lastRestart); - } - - /** - * Stop the process if necessary. - * - * @param \Illuminate\Queue\WorkerOptions $options - * @param int $lastRestart - * @param mixed $job - */ - protected function stopIfNecessary(WorkerOptions $options, $lastRestart, $job = null) - { - if ($this->shouldQuit) { - $this->stop(); - } elseif ($this->memoryExceeded($options->memory)) { - $this->stop(12); - } elseif ($this->queueShouldRestart($lastRestart)) { - $this->stop(); - } elseif ($options->stopWhenEmpty && is_null($job)) { - $this->stop(); - } - } - - /** - * Process the next job on the queue. - * - * @param string $connectionName - * @param string $queue - * @param \Illuminate\Queue\WorkerOptions $options - * @return void - */ - public function runNextJob($connectionName, $queue, WorkerOptions $options) - { - $job = $this->getNextJob( - $this->manager->connection($connectionName), $queue - ); - - // If we're able to pull a job off of the stack, we will process it and then return - // from this method. If there is no job on the queue, we will "sleep" the worker - // for the specified number of seconds, then keep processing jobs after sleep. - if ($job) { - return $this->runJob($job, $connectionName, $options); - } - - $this->sleep($options->sleep); - } - - /** - * Get the next job from the queue connection. - * - * @param \Illuminate\Contracts\Queue\Queue $connection - * @param string $queue - * @return \Illuminate\Contracts\Queue\Job|null - */ - protected function getNextJob($connection, $queue) - { - try { - foreach (explode(',', $queue) as $queue) { - if (! is_null($job = $connection->pop($queue))) { - return $job; - } - } - } catch (Exception $e) { - $this->exceptions->report($e); - - $this->stopWorkerIfLostConnection($e); - - $this->sleep(1); - } catch (Throwable $e) { - $this->exceptions->report($e = new FatalThrowableError($e)); - - $this->stopWorkerIfLostConnection($e); - - $this->sleep(1); - } - } - - /** - * Process the given job. - * - * @param \Illuminate\Contracts\Queue\Job $job - * @param string $connectionName - * @param \Illuminate\Queue\WorkerOptions $options - * @return void - */ - protected function runJob($job, $connectionName, WorkerOptions $options) - { - try { - return $this->process($connectionName, $job, $options); - } catch (Exception $e) { - $this->exceptions->report($e); - - $this->stopWorkerIfLostConnection($e); - } catch (Throwable $e) { - $this->exceptions->report($e = new FatalThrowableError($e)); - - $this->stopWorkerIfLostConnection($e); - } - } - - /** - * Stop the worker if we have lost connection to a database. - * - * @param \Throwable $e - * @return void - */ - protected function stopWorkerIfLostConnection($e) - { - if ($this->causedByLostConnection($e)) { - $this->shouldQuit = true; - } - } - - /** - * Process the given job from the queue. - * - * @param string $connectionName - * @param \Illuminate\Contracts\Queue\Job $job - * @param \Illuminate\Queue\WorkerOptions $options - * @return void - * - * @throws \Throwable - */ - public function process($connectionName, $job, WorkerOptions $options) - { - try { - // First we will raise the before job event and determine if the job has already ran - // over its maximum attempt limits, which could primarily happen when this job is - // continually timing out and not actually throwing any exceptions from itself. - $this->raiseBeforeJobEvent($connectionName, $job); - - $this->markJobAsFailedIfAlreadyExceedsMaxAttempts( - $connectionName, $job, (int) $options->maxTries - ); - - if ($job->isDeleted()) { - return $this->raiseAfterJobEvent($connectionName, $job); - } - - // Here we will fire off the job and let it process. We will catch any exceptions so - // they can be reported to the developers logs, etc. Once the job is finished the - // proper events will be fired to let any listeners know this job has finished. - $job->fire(); - - $this->raiseAfterJobEvent($connectionName, $job); - } catch (Exception $e) { - $this->handleJobException($connectionName, $job, $options, $e); - } catch (Throwable $e) { - $this->handleJobException( - $connectionName, $job, $options, new FatalThrowableError($e) - ); - } - } - - /** - * Handle an exception that occurred while the job was running. - * - * @param string $connectionName - * @param \Illuminate\Contracts\Queue\Job $job - * @param \Illuminate\Queue\WorkerOptions $options - * @param \Exception $e - * @return void - * - * @throws \Exception - */ - protected function handleJobException($connectionName, $job, WorkerOptions $options, $e) - { - try { - // First, we will go ahead and mark the job as failed if it will exceed the maximum - // attempts it is allowed to run the next time we process it. If so we will just - // go ahead and mark it as failed now so we do not have to release this again. - if (! $job->hasFailed()) { - $this->markJobAsFailedIfWillExceedMaxAttempts( - $connectionName, $job, (int) $options->maxTries, $e - ); - } - - $this->raiseExceptionOccurredJobEvent( - $connectionName, $job, $e - ); - } finally { - // If we catch an exception, we will attempt to release the job back onto the queue - // so it is not lost entirely. This'll let the job be retried at a later time by - // another listener (or this same one). We will re-throw this exception after. - if (! $job->isDeleted() && ! $job->isReleased() && ! $job->hasFailed()) { - $job->release( - method_exists($job, 'delaySeconds') && ! is_null($job->delaySeconds()) - ? $job->delaySeconds() - : $options->delay - ); - } - } - - throw $e; - } - - /** - * Mark the given job as failed if it has exceeded the maximum allowed attempts. - * - * This will likely be because the job previously exceeded a timeout. - * - * @param string $connectionName - * @param \Illuminate\Contracts\Queue\Job $job - * @param int $maxTries - * @return void - */ - protected function markJobAsFailedIfAlreadyExceedsMaxAttempts($connectionName, $job, $maxTries) - { - $maxTries = ! is_null($job->maxTries()) ? $job->maxTries() : $maxTries; - - $timeoutAt = $job->timeoutAt(); - - if ($timeoutAt && Carbon::now()->getTimestamp() <= $timeoutAt) { - return; - } - - if (! $timeoutAt && ($maxTries === 0 || $job->attempts() <= $maxTries)) { - return; - } - - $this->failJob($job, $e = $this->maxAttemptsExceededException($job)); - - throw $e; - } - - /** - * Mark the given job as failed if it has exceeded the maximum allowed attempts. - * - * @param string $connectionName - * @param \Illuminate\Contracts\Queue\Job $job - * @param int $maxTries - * @param \Exception $e - * @return void - */ - protected function markJobAsFailedIfWillExceedMaxAttempts($connectionName, $job, $maxTries, $e) - { - $maxTries = ! is_null($job->maxTries()) ? $job->maxTries() : $maxTries; - - if ($job->timeoutAt() && $job->timeoutAt() <= Carbon::now()->getTimestamp()) { - $this->failJob($job, $e); - } - - if ($maxTries > 0 && $job->attempts() >= $maxTries) { - $this->failJob($job, $e); - } - } - - /** - * Mark the given job as failed and raise the relevant event. - * - * @param \Illuminate\Contracts\Queue\Job $job - * @param \Exception $e - * @return void - */ - protected function failJob($job, $e) - { - return $job->fail($e); - } - - /** - * Raise the before queue job event. - * - * @param string $connectionName - * @param \Illuminate\Contracts\Queue\Job $job - * @return void - */ - protected function raiseBeforeJobEvent($connectionName, $job) - { - $this->events->dispatch(new Events\JobProcessing( - $connectionName, $job - )); - } - - /** - * Raise the after queue job event. - * - * @param string $connectionName - * @param \Illuminate\Contracts\Queue\Job $job - * @return void - */ - protected function raiseAfterJobEvent($connectionName, $job) - { - $this->events->dispatch(new Events\JobProcessed( - $connectionName, $job - )); - } - - /** - * Raise the exception occurred queue job event. - * - * @param string $connectionName - * @param \Illuminate\Contracts\Queue\Job $job - * @param \Exception $e - * @return void - */ - protected function raiseExceptionOccurredJobEvent($connectionName, $job, $e) - { - $this->events->dispatch(new Events\JobExceptionOccurred( - $connectionName, $job, $e - )); - } - - /** - * Determine if the queue worker should restart. - * - * @param int|null $lastRestart - * @return bool - */ - protected function queueShouldRestart($lastRestart) - { - return $this->getTimestampOfLastQueueRestart() != $lastRestart; - } - - /** - * Get the last queue restart timestamp, or null. - * - * @return int|null - */ - protected function getTimestampOfLastQueueRestart() - { - if ($this->cache) { - return $this->cache->get('illuminate:queue:restart'); - } - } - - /** - * Enable async signals for the process. - * - * @return void - */ - protected function listenForSignals() - { - pcntl_async_signals(true); - - pcntl_signal(SIGTERM, function () { - $this->shouldQuit = true; - }); - - pcntl_signal(SIGUSR2, function () { - $this->paused = true; - }); - - pcntl_signal(SIGCONT, function () { - $this->paused = false; - }); - } - - /** - * Determine if "async" signals are supported. - * - * @return bool - */ - protected function supportsAsyncSignals() - { - return extension_loaded('pcntl'); - } - - /** - * Determine if the memory limit has been exceeded. - * - * @param int $memoryLimit - * @return bool - */ - public function memoryExceeded($memoryLimit) - { - return (memory_get_usage(true) / 1024 / 1024) >= $memoryLimit; - } - - /** - * Stop listening and bail out of the script. - * - * @param int $status - * @return void - */ - public function stop($status = 0) - { - $this->events->dispatch(new Events\WorkerStopping($status)); - - exit($status); - } - - /** - * Kill the process. - * - * @param int $status - * @return void - */ - public function kill($status = 0) - { - $this->events->dispatch(new Events\WorkerStopping($status)); - - if (extension_loaded('posix')) { - posix_kill(getmypid(), SIGKILL); - } - - exit($status); - } - - /** - * Create an instance of MaxAttemptsExceededException. - * - * @param \Illuminate\Contracts\Queue\Job|null $job - * @return \Illuminate\Queue\MaxAttemptsExceededException - */ - protected function maxAttemptsExceededException($job) - { - return new MaxAttemptsExceededException( - $job->resolveName().' has been attempted too many times or run too long. The job may have previously timed out.' - ); - } - - /** - * Sleep the script for a given number of seconds. - * - * @param int|float $seconds - * @return void - */ - public function sleep($seconds) - { - if ($seconds < 1) { - usleep($seconds * 1000000); - } else { - sleep($seconds); - } - } - - /** - * Set the cache repository implementation. - * - * @param \Illuminate\Contracts\Cache\Repository $cache - * @return void - */ - public function setCache(CacheContract $cache) - { - $this->cache = $cache; - } - - /** - * Get the queue manager instance. - * - * @return \Illuminate\Queue\QueueManager - */ - public function getManager() - { - return $this->manager; - } - - /** - * Set the queue manager instance. - * - * @param \Illuminate\Queue\QueueManager $manager - * @return void - */ - public function setManager(QueueManager $manager) - { - $this->manager = $manager; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/WorkerOptions.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/WorkerOptions.php deleted file mode 100644 index 8e51c4d..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/WorkerOptions.php +++ /dev/null @@ -1,78 +0,0 @@ -delay = $delay; - $this->sleep = $sleep; - $this->force = $force; - $this->memory = $memory; - $this->timeout = $timeout; - $this->maxTries = $maxTries; - $this->stopWhenEmpty = $stopWhenEmpty; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/composer.json b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/composer.json deleted file mode 100644 index 14d768d..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Queue/composer.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "name": "illuminate/queue", - "description": "The Illuminate Queue package.", - "license": "MIT", - "homepage": "https://laravel.com", - "support": { - "issues": "https://github.com/laravel/framework/issues", - "source": "https://github.com/laravel/framework" - }, - "authors": [ - { - "name": "Taylor Otwell", - "email": "taylor@laravel.com" - } - ], - "require": { - "php": "^7.1.3", - "ext-json": "*", - "illuminate/console": "5.8.*", - "illuminate/container": "5.8.*", - "illuminate/contracts": "5.8.*", - "illuminate/database": "5.8.*", - "illuminate/filesystem": "5.8.*", - "illuminate/support": "5.8.*", - "opis/closure": "^3.1", - "symfony/debug": "^4.2", - "symfony/process": "^4.2" - }, - "autoload": { - "psr-4": { - "Illuminate\\Queue\\": "" - } - }, - "extra": { - "branch-alias": { - "dev-master": "5.8-dev" - } - }, - "suggest": { - "ext-pcntl": "Required to use all features of the queue worker.", - "ext-posix": "Required to use all features of the queue worker.", - "aws/aws-sdk-php": "Required to use the SQS queue driver (^3.0).", - "illuminate/redis": "Required to use the Redis queue driver (5.8.*).", - "pda/pheanstalk": "Required to use the Beanstalk queue driver (^4.0)." - }, - "config": { - "sort-packages": true - }, - "minimum-stability": "dev" -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Redis/Connections/Connection.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Redis/Connections/Connection.php deleted file mode 100644 index e09c203..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Redis/Connections/Connection.php +++ /dev/null @@ -1,216 +0,0 @@ -client; - } - - /** - * Subscribe to a set of given channels for messages. - * - * @param array|string $channels - * @param \Closure $callback - * @return void - */ - public function subscribe($channels, Closure $callback) - { - return $this->createSubscription($channels, $callback, __FUNCTION__); - } - - /** - * Subscribe to a set of given channels with wildcards. - * - * @param array|string $channels - * @param \Closure $callback - * @return void - */ - public function psubscribe($channels, Closure $callback) - { - return $this->createSubscription($channels, $callback, __FUNCTION__); - } - - /** - * Run a command against the Redis database. - * - * @param string $method - * @param array $parameters - * @return mixed - */ - public function command($method, array $parameters = []) - { - $start = microtime(true); - - $result = $this->client->{$method}(...$parameters); - - $time = round((microtime(true) - $start) * 1000, 2); - - if (isset($this->events)) { - $this->event(new CommandExecuted($method, $parameters, $time, $this)); - } - - return $result; - } - - /** - * Fire the given event if possible. - * - * @param mixed $event - * @return void - */ - protected function event($event) - { - if (isset($this->events)) { - $this->events->dispatch($event); - } - } - - /** - * Register a Redis command listener with the connection. - * - * @param \Closure $callback - * @return void - */ - public function listen(Closure $callback) - { - if (isset($this->events)) { - $this->events->listen(CommandExecuted::class, $callback); - } - } - - /** - * Get the connection name. - * - * @return string|null - */ - public function getName() - { - return $this->name; - } - - /** - * Set the connections name. - * - * @param string $name - * @return $this - */ - public function setName($name) - { - $this->name = $name; - - return $this; - } - - /** - * Get the event dispatcher used by the connection. - * - * @return \Illuminate\Contracts\Events\Dispatcher - */ - public function getEventDispatcher() - { - return $this->events; - } - - /** - * Set the event dispatcher instance on the connection. - * - * @param \Illuminate\Contracts\Events\Dispatcher $events - * @return void - */ - public function setEventDispatcher(Dispatcher $events) - { - $this->events = $events; - } - - /** - * Unset the event dispatcher instance on the connection. - * - * @return void - */ - public function unsetEventDispatcher() - { - $this->events = null; - } - - /** - * Pass other method calls down to the underlying client. - * - * @param string $method - * @param array $parameters - * @return mixed - */ - public function __call($method, $parameters) - { - return $this->command($method, $parameters); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Redis/Connections/PhpRedisClusterConnection.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Redis/Connections/PhpRedisClusterConnection.php deleted file mode 100644 index e246fe6..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Redis/Connections/PhpRedisClusterConnection.php +++ /dev/null @@ -1,8 +0,0 @@ -client = $client; - } - - /** - * Returns the value of the given key. - * - * @param string $key - * @return string|null - */ - public function get($key) - { - $result = $this->command('get', [$key]); - - return $result !== false ? $result : null; - } - - /** - * Get the values of all the given keys. - * - * @param array $keys - * @return array - */ - public function mget(array $keys) - { - return array_map(function ($value) { - return $value !== false ? $value : null; - }, $this->command('mget', [$keys])); - } - - /** - * Determine if the given keys exist. - * - * @param dynamic $keys - * @return int - */ - public function exists(...$keys) - { - $keys = collect($keys)->map(function ($key) { - return $this->applyPrefix($key); - })->all(); - - return $this->executeRaw(array_merge(['exists'], $keys)); - } - - /** - * Set the string value in argument as value of the key. - * - * @param string $key - * @param mixed $value - * @param string|null $expireResolution - * @param int|null $expireTTL - * @param string|null $flag - * @return bool - */ - public function set($key, $value, $expireResolution = null, $expireTTL = null, $flag = null) - { - return $this->command('set', [ - $key, - $value, - $expireResolution ? [$flag, $expireResolution => $expireTTL] : null, - ]); - } - - /** - * Set the given key if it doesn't exist. - * - * @param string $key - * @param string $value - * @return int - */ - public function setnx($key, $value) - { - return (int) $this->command('setnx', [$key, $value]); - } - - /** - * Get the value of the given hash fields. - * - * @param string $key - * @param dynamic $dictionary - * @return array - */ - public function hmget($key, ...$dictionary) - { - if (count($dictionary) === 1) { - $dictionary = $dictionary[0]; - } - - return array_values($this->command('hmget', [$key, $dictionary])); - } - - /** - * Set the given hash fields to their respective values. - * - * @param string $key - * @param dynamic $dictionary - * @return int - */ - public function hmset($key, ...$dictionary) - { - if (count($dictionary) === 1) { - $dictionary = $dictionary[0]; - } else { - $input = collect($dictionary); - - $dictionary = $input->nth(2)->combine($input->nth(2, 1))->toArray(); - } - - return $this->command('hmset', [$key, $dictionary]); - } - - /** - * Set the given hash field if it doesn't exist. - * - * @param string $hash - * @param string $key - * @param string $value - * @return int - */ - public function hsetnx($hash, $key, $value) - { - return (int) $this->command('hsetnx', [$hash, $key, $value]); - } - - /** - * Removes the first count occurrences of the value element from the list. - * - * @param string $key - * @param int $count - * @param mixed $value - * @return int|false - */ - public function lrem($key, $count, $value) - { - return $this->command('lrem', [$key, $value, $count]); - } - - /** - * Removes and returns the first element of the list stored at key. - * - * @param dynamic $arguments - * @return array|null - */ - public function blpop(...$arguments) - { - $result = $this->command('blpop', $arguments); - - return empty($result) ? null : $result; - } - - /** - * Removes and returns the last element of the list stored at key. - * - * @param dynamic $arguments - * @return array|null - */ - public function brpop(...$arguments) - { - $result = $this->command('brpop', $arguments); - - return empty($result) ? null : $result; - } - - /** - * Removes and returns a random element from the set value at key. - * - * @param string $key - * @param int|null $count - * @return mixed|false - */ - public function spop($key, $count = null) - { - return $this->command('spop', [$key]); - } - - /** - * Add one or more members to a sorted set or update its score if it already exists. - * - * @param string $key - * @param dynamic $dictionary - * @return int - */ - public function zadd($key, ...$dictionary) - { - if (is_array(end($dictionary))) { - foreach (array_pop($dictionary) as $member => $score) { - $dictionary[] = $score; - $dictionary[] = $member; - } - } - - $key = $this->applyPrefix($key); - - return $this->executeRaw(array_merge(['zadd', $key], $dictionary)); - } - - /** - * Return elements with score between $min and $max. - * - * @param string $key - * @param mixed $min - * @param mixed $max - * @param array $options - * @return array - */ - public function zrangebyscore($key, $min, $max, $options = []) - { - if (isset($options['limit'])) { - $options['limit'] = [ - $options['limit']['offset'], - $options['limit']['count'], - ]; - } - - return $this->command('zRangeByScore', [$key, $min, $max, $options]); - } - - /** - * Return elements with score between $min and $max. - * - * @param string $key - * @param mixed $min - * @param mixed $max - * @param array $options - * @return array - */ - public function zrevrangebyscore($key, $min, $max, $options = []) - { - if (isset($options['limit'])) { - $options['limit'] = [ - $options['limit']['offset'], - $options['limit']['count'], - ]; - } - - return $this->command('zRevRangeByScore', [$key, $min, $max, $options]); - } - - /** - * Find the intersection between sets and store in a new set. - * - * @param string $output - * @param array $keys - * @param array $options - * @return int - */ - public function zinterstore($output, $keys, $options = []) - { - return $this->command('zinterstore', [$output, $keys, - $options['weights'] ?? null, - $options['aggregate'] ?? 'sum', - ]); - } - - /** - * Find the union between sets and store in a new set. - * - * @param string $output - * @param array $keys - * @param array $options - * @return int - */ - public function zunionstore($output, $keys, $options = []) - { - return $this->command('zunionstore', [$output, $keys, - $options['weights'] ?? null, - $options['aggregate'] ?? 'sum', - ]); - } - - /** - * Execute commands in a pipeline. - * - * @param callable|null $callback - * @return \Redis|array - */ - public function pipeline(callable $callback = null) - { - $pipeline = $this->client()->pipeline(); - - return is_null($callback) - ? $pipeline - : tap($pipeline, $callback)->exec(); - } - - /** - * Execute commands in a transaction. - * - * @param callable|null $callback - * @return \Redis|array - */ - public function transaction(callable $callback = null) - { - $transaction = $this->client()->multi(); - - return is_null($callback) - ? $transaction - : tap($transaction, $callback)->exec(); - } - - /** - * Evaluate a LUA script serverside, from the SHA1 hash of the script instead of the script itself. - * - * @param string $script - * @param int $numkeys - * @param mixed $arguments - * @return mixed - */ - public function evalsha($script, $numkeys, ...$arguments) - { - return $this->command('evalsha', [ - $this->script('load', $script), $arguments, $numkeys, - ]); - } - - /** - * Evaluate a script and return its result. - * - * @param string $script - * @param int $numberOfKeys - * @param dynamic $arguments - * @return mixed - */ - public function eval($script, $numberOfKeys, ...$arguments) - { - return $this->command('eval', [$script, $arguments, $numberOfKeys]); - } - - /** - * Subscribe to a set of given channels for messages. - * - * @param array|string $channels - * @param \Closure $callback - * @return void - */ - public function subscribe($channels, Closure $callback) - { - $this->client->subscribe((array) $channels, function ($redis, $channel, $message) use ($callback) { - $callback($message, $channel); - }); - } - - /** - * Subscribe to a set of given channels with wildcards. - * - * @param array|string $channels - * @param \Closure $callback - * @return void - */ - public function psubscribe($channels, Closure $callback) - { - $this->client->psubscribe((array) $channels, function ($redis, $pattern, $channel, $message) use ($callback) { - $callback($message, $channel); - }); - } - - /** - * Subscribe to a set of given channels for messages. - * - * @param array|string $channels - * @param \Closure $callback - * @param string $method - * @return void - */ - public function createSubscription($channels, Closure $callback, $method = 'subscribe') - { - // - } - - /** - * Flush the selected Redis database. - * - * @return void - */ - public function flushdb() - { - if (! $this->client instanceof RedisCluster) { - return $this->command('flushdb'); - } - - foreach ($this->client->_masters() as [$host, $port]) { - tap(new Redis)->connect($host, $port)->flushDb(); - } - } - - /** - * Execute a raw command. - * - * @param array $parameters - * @return mixed - */ - public function executeRaw(array $parameters) - { - return $this->command('rawCommand', $parameters); - } - - /** - * Disconnects from the Redis instance. - * - * @return void - */ - public function disconnect() - { - $this->client->close(); - } - - /** - * Apply prefix to the given key if necessary. - * - * @param string $key - * @return string - */ - private function applyPrefix($key) - { - $prefix = (string) $this->client->getOption(Redis::OPT_PREFIX); - - return $prefix.$key; - } - - /** - * Pass other method calls down to the underlying client. - * - * @param string $method - * @param array $parameters - * @return mixed - */ - public function __call($method, $parameters) - { - return parent::__call(strtolower($method), $parameters); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Redis/Connections/PredisClusterConnection.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Redis/Connections/PredisClusterConnection.php deleted file mode 100644 index 399be1e..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Redis/Connections/PredisClusterConnection.php +++ /dev/null @@ -1,8 +0,0 @@ -client = $client; - } - - /** - * Subscribe to a set of given channels for messages. - * - * @param array|string $channels - * @param \Closure $callback - * @param string $method - * @return void - */ - public function createSubscription($channels, Closure $callback, $method = 'subscribe') - { - $loop = $this->pubSubLoop(); - - call_user_func_array([$loop, $method], (array) $channels); - - foreach ($loop as $message) { - if ($message->kind === 'message' || $message->kind === 'pmessage') { - call_user_func($callback, $message->payload, $message->channel); - } - } - - unset($loop); - } - - /** - * Flush the selected Redis database. - * - * @return void - */ - public function flushdb() - { - if (! $this->client->getConnection() instanceof ClusterInterface) { - return $this->command('flushdb'); - } - - foreach ($this->getConnection() as $node) { - $node->executeCommand(new ServerFlushDatabase); - } - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Redis/Connectors/PhpRedisConnector.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Redis/Connectors/PhpRedisConnector.php deleted file mode 100644 index f5357a2..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Redis/Connectors/PhpRedisConnector.php +++ /dev/null @@ -1,151 +0,0 @@ -createClient(array_merge( - $config, $options, Arr::pull($config, 'options', []) - ))); - } - - /** - * Create a new clustered PhpRedis connection. - * - * @param array $config - * @param array $clusterOptions - * @param array $options - * @return \Illuminate\Redis\Connections\PhpRedisClusterConnection - */ - public function connectToCluster(array $config, array $clusterOptions, array $options) - { - $options = array_merge($options, $clusterOptions, Arr::pull($config, 'options', [])); - - return new PhpRedisClusterConnection($this->createRedisClusterInstance( - array_map([$this, 'buildClusterConnectionString'], $config), $options - )); - } - - /** - * Build a single cluster seed string from array. - * - * @param array $server - * @return string - */ - protected function buildClusterConnectionString(array $server) - { - return $server['host'].':'.$server['port'].'?'.Arr::query(Arr::only($server, [ - 'database', 'password', 'prefix', 'read_timeout', - ])); - } - - /** - * Create the Redis client instance. - * - * @param array $config - * @return \Redis - * - * @throws \LogicException - */ - protected function createClient(array $config) - { - return tap(new Redis, function ($client) use ($config) { - if ($client instanceof RedisFacade) { - throw new LogicException( - 'Please remove or rename the Redis facade alias in your "app" configuration file in order to avoid collision with the PHP Redis extension.' - ); - } - - $this->establishConnection($client, $config); - - if (! empty($config['password'])) { - $client->auth($config['password']); - } - - if (! empty($config['database'])) { - $client->select($config['database']); - } - - if (! empty($config['prefix'])) { - $client->setOption(Redis::OPT_PREFIX, $config['prefix']); - } - - if (! empty($config['read_timeout'])) { - $client->setOption(Redis::OPT_READ_TIMEOUT, $config['read_timeout']); - } - }); - } - - /** - * Establish a connection with the Redis host. - * - * @param \Redis $client - * @param array $config - * @return void - */ - protected function establishConnection($client, array $config) - { - $persistent = $config['persistent'] ?? false; - - $parameters = [ - $config['host'], - $config['port'], - Arr::get($config, 'timeout', 0.0), - $persistent ? Arr::get($config, 'persistent_id', null) : null, - Arr::get($config, 'retry_interval', 0), - ]; - - if (version_compare(phpversion('redis'), '3.1.3', '>=')) { - $parameters[] = Arr::get($config, 'read_timeout', 0.0); - } - - $client->{($persistent ? 'pconnect' : 'connect')}(...$parameters); - } - - /** - * Create a new redis cluster instance. - * - * @param array $servers - * @param array $options - * @return \RedisCluster - */ - protected function createRedisClusterInstance(array $servers, array $options) - { - if (version_compare(phpversion('redis'), '4.3.0', '>=')) { - return new RedisCluster( - null, - array_values($servers), - $options['timeout'] ?? 0, - $options['read_timeout'] ?? 0, - isset($options['persistent']) && $options['persistent'], - $options['password'] ?? null - ); - } - - return new RedisCluster( - null, - array_values($servers), - $options['timeout'] ?? 0, - $options['read_timeout'] ?? 0, - isset($options['persistent']) && $options['persistent'] - ); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Redis/Connectors/PredisConnector.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Redis/Connectors/PredisConnector.php deleted file mode 100644 index e349dcd..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Redis/Connectors/PredisConnector.php +++ /dev/null @@ -1,45 +0,0 @@ - 10.0], $options, Arr::pull($config, 'options', []) - ); - - return new PredisConnection(new Client($config, $formattedOptions)); - } - - /** - * Create a new clustered Predis connection. - * - * @param array $config - * @param array $clusterOptions - * @param array $options - * @return \Illuminate\Redis\Connections\PredisClusterConnection - */ - public function connectToCluster(array $config, array $clusterOptions, array $options) - { - $clusterSpecificOptions = Arr::pull($config, 'options', []); - - return new PredisClusterConnection(new Client(array_values($config), array_merge( - $options, $clusterOptions, $clusterSpecificOptions - ))); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Redis/Events/CommandExecuted.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Redis/Events/CommandExecuted.php deleted file mode 100644 index fa65719..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Redis/Events/CommandExecuted.php +++ /dev/null @@ -1,59 +0,0 @@ -time = $time; - $this->command = $command; - $this->parameters = $parameters; - $this->connection = $connection; - $this->connectionName = $connection->getName(); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Redis/LICENSE.md b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Redis/LICENSE.md deleted file mode 100644 index 79810c8..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Redis/LICENSE.md +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) Taylor Otwell - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Redis/Limiters/ConcurrencyLimiter.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Redis/Limiters/ConcurrencyLimiter.php deleted file mode 100644 index 871a69f..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Redis/Limiters/ConcurrencyLimiter.php +++ /dev/null @@ -1,167 +0,0 @@ -name = $name; - $this->redis = $redis; - $this->maxLocks = $maxLocks; - $this->releaseAfter = $releaseAfter; - } - - /** - * Attempt to acquire the lock for the given number of seconds. - * - * @param int $timeout - * @param callable|null $callback - * @return bool - * - * @throws \Illuminate\Contracts\Redis\LimiterTimeoutException - * @throws \Exception - */ - public function block($timeout, $callback = null) - { - $starting = time(); - - $id = Str::random(20); - - while (! $slot = $this->acquire($id)) { - if (time() - $timeout >= $starting) { - throw new LimiterTimeoutException; - } - - usleep(250 * 1000); - } - - if (is_callable($callback)) { - try { - return tap($callback(), function () use ($slot, $id) { - $this->release($slot, $id); - }); - } catch (Exception $exception) { - $this->release($slot, $id); - - throw $exception; - } - } - - return true; - } - - /** - * Attempt to acquire the lock. - * - * @param string $id A unique identifier for this lock - * - * @return mixed - */ - protected function acquire($id) - { - $slots = array_map(function ($i) { - return $this->name.$i; - }, range(1, $this->maxLocks)); - - return $this->redis->eval(...array_merge( - [$this->lockScript(), count($slots)], - array_merge($slots, [$this->name, $this->releaseAfter, $id]) - )); - } - - /** - * Get the Lua script for acquiring a lock. - * - * KEYS - The keys that represent available slots - * ARGV[1] - The limiter name - * ARGV[2] - The number of seconds the slot should be reserved - * ARGV[3] - The unique identifier for this lock - * - * @return string - */ - protected function lockScript() - { - return <<<'LUA' -for index, value in pairs(redis.call('mget', unpack(KEYS))) do - if not value then - redis.call('set', ARGV[1]..index, ARGV[3], "EX", ARGV[2]) - return ARGV[1]..index - end -end -LUA; - } - - /** - * Release the lock. - * - * @param string $key - * @param string $id - * @return void - */ - protected function release($key, $id) - { - $this->redis->eval($this->releaseScript(), 1, $key, $id); - } - - /** - * Get the Lua script to atomically release a lock. - * - * KEYS[1] - The name of the lock - * ARGV[1] - The unique identifier for this lock - * - * @return string - */ - protected function releaseScript() - { - return <<<'LUA' -if redis.call('get', KEYS[1]) == ARGV[1] -then - return redis.call('del', KEYS[1]) -else - return 0 -end -LUA; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Redis/Limiters/ConcurrencyLimiterBuilder.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Redis/Limiters/ConcurrencyLimiterBuilder.php deleted file mode 100644 index 10a614f..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Redis/Limiters/ConcurrencyLimiterBuilder.php +++ /dev/null @@ -1,122 +0,0 @@ -name = $name; - $this->connection = $connection; - } - - /** - * Set the maximum number of locks that can obtained per time window. - * - * @param int $maxLocks - * @return $this - */ - public function limit($maxLocks) - { - $this->maxLocks = $maxLocks; - - return $this; - } - - /** - * Set the number of seconds until the lock will be released. - * - * @param int $releaseAfter - * @return $this - */ - public function releaseAfter($releaseAfter) - { - $this->releaseAfter = $this->secondsUntil($releaseAfter); - - return $this; - } - - /** - * Set the amount of time to block until a lock is available. - * - * @param int $timeout - * @return $this - */ - public function block($timeout) - { - $this->timeout = $timeout; - - return $this; - } - - /** - * Execute the given callback if a lock is obtained, otherwise call the failure callback. - * - * @param callable $callback - * @param callable|null $failure - * @return mixed - * - * @throws \Illuminate\Contracts\Redis\LimiterTimeoutException - */ - public function then(callable $callback, callable $failure = null) - { - try { - return (new ConcurrencyLimiter( - $this->connection, $this->name, $this->maxLocks, $this->releaseAfter - ))->block($this->timeout, $callback); - } catch (LimiterTimeoutException $e) { - if ($failure) { - return $failure($e); - } - - throw $e; - } - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Redis/Limiters/DurationLimiter.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Redis/Limiters/DurationLimiter.php deleted file mode 100644 index 3c74087..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Redis/Limiters/DurationLimiter.php +++ /dev/null @@ -1,148 +0,0 @@ -name = $name; - $this->decay = $decay; - $this->redis = $redis; - $this->maxLocks = $maxLocks; - } - - /** - * Attempt to acquire the lock for the given number of seconds. - * - * @param int $timeout - * @param callable|null $callback - * @return bool - * - * @throws \Illuminate\Contracts\Redis\LimiterTimeoutException - */ - public function block($timeout, $callback = null) - { - $starting = time(); - - while (! $this->acquire()) { - if (time() - $timeout >= $starting) { - throw new LimiterTimeoutException; - } - - usleep(750 * 1000); - } - - if (is_callable($callback)) { - $callback(); - } - - return true; - } - - /** - * Attempt to acquire the lock. - * - * @return bool - */ - public function acquire() - { - $results = $this->redis->eval( - $this->luaScript(), 1, $this->name, microtime(true), time(), $this->decay, $this->maxLocks - ); - - $this->decaysAt = $results[1]; - - $this->remaining = max(0, $results[2]); - - return (bool) $results[0]; - } - - /** - * Get the Lua script for acquiring a lock. - * - * KEYS[1] - The limiter name - * ARGV[1] - Current time in microseconds - * ARGV[2] - Current time in seconds - * ARGV[3] - Duration of the bucket - * ARGV[4] - Allowed number of tasks - * - * @return string - */ - protected function luaScript() - { - return <<<'LUA' -local function reset() - redis.call('HMSET', KEYS[1], 'start', ARGV[2], 'end', ARGV[2] + ARGV[3], 'count', 1) - return redis.call('EXPIRE', KEYS[1], ARGV[3] * 2) -end - -if redis.call('EXISTS', KEYS[1]) == 0 then - return {reset(), ARGV[2] + ARGV[3], ARGV[4] - 1} -end - -if ARGV[1] >= redis.call('HGET', KEYS[1], 'start') and ARGV[1] <= redis.call('HGET', KEYS[1], 'end') then - return { - tonumber(redis.call('HINCRBY', KEYS[1], 'count', 1)) <= tonumber(ARGV[4]), - redis.call('HGET', KEYS[1], 'end'), - ARGV[4] - redis.call('HGET', KEYS[1], 'count') - } -end - -return {reset(), ARGV[2] + ARGV[3], ARGV[4] - 1} -LUA; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Redis/Limiters/DurationLimiterBuilder.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Redis/Limiters/DurationLimiterBuilder.php deleted file mode 100644 index 096e50c..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Redis/Limiters/DurationLimiterBuilder.php +++ /dev/null @@ -1,122 +0,0 @@ -name = $name; - $this->connection = $connection; - } - - /** - * Set the maximum number of locks that can obtained per time window. - * - * @param int $maxLocks - * @return $this - */ - public function allow($maxLocks) - { - $this->maxLocks = $maxLocks; - - return $this; - } - - /** - * Set the amount of time the lock window is maintained. - * - * @param int $decay - * @return $this - */ - public function every($decay) - { - $this->decay = $this->secondsUntil($decay); - - return $this; - } - - /** - * Set the amount of time to block until a lock is available. - * - * @param int $timeout - * @return $this - */ - public function block($timeout) - { - $this->timeout = $timeout; - - return $this; - } - - /** - * Execute the given callback if a lock is obtained, otherwise call the failure callback. - * - * @param callable $callback - * @param callable|null $failure - * @return mixed - * - * @throws \Illuminate\Contracts\Redis\LimiterTimeoutException - */ - public function then(callable $callback, callable $failure = null) - { - try { - return (new DurationLimiter( - $this->connection, $this->name, $this->maxLocks, $this->decay - ))->block($this->timeout, $callback); - } catch (LimiterTimeoutException $e) { - if ($failure) { - return $failure($e); - } - - throw $e; - } - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Redis/RedisManager.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Redis/RedisManager.php deleted file mode 100644 index f63fde1..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Redis/RedisManager.php +++ /dev/null @@ -1,256 +0,0 @@ -app = $app; - $this->driver = $driver; - $this->config = $config; - } - - /** - * Get a Redis connection by name. - * - * @param string|null $name - * @return \Illuminate\Redis\Connections\Connection - */ - public function connection($name = null) - { - $name = $name ?: 'default'; - - if (isset($this->connections[$name])) { - return $this->connections[$name]; - } - - return $this->connections[$name] = $this->configure( - $this->resolve($name), $name - ); - } - - /** - * Resolve the given connection by name. - * - * @param string|null $name - * @return \Illuminate\Redis\Connections\Connection - * - * @throws \InvalidArgumentException - */ - public function resolve($name = null) - { - $name = $name ?: 'default'; - - $options = $this->config['options'] ?? []; - - if (isset($this->config[$name])) { - return $this->connector()->connect( - $this->parseConnectionConfiguration($this->config[$name]), - $options - ); - } - - if (isset($this->config['clusters'][$name])) { - return $this->resolveCluster($name); - } - - throw new InvalidArgumentException("Redis connection [{$name}] not configured."); - } - - /** - * Resolve the given cluster connection by name. - * - * @param string $name - * @return \Illuminate\Redis\Connections\Connection - */ - protected function resolveCluster($name) - { - return $this->connector()->connectToCluster( - array_map(function ($config) { - return $this->parseConnectionConfiguration($config); - }, $this->config['clusters'][$name]), - $this->config['clusters']['options'] ?? [], - $this->config['options'] ?? [] - ); - } - - /** - * Configure the given connection to prepare it for commands. - * - * @param \Illuminate\Redis\Connections\Connection $connection - * @param string $name - * @return \Illuminate\Redis\Connections\Connection - */ - protected function configure(Connection $connection, $name) - { - $connection->setName($name); - - if ($this->events && $this->app->bound('events')) { - $connection->setEventDispatcher($this->app->make('events')); - } - - return $connection; - } - - /** - * Get the connector instance for the current driver. - * - * @return \Illuminate\Contracts\Redis\Connector - */ - protected function connector() - { - $customCreator = $this->customCreators[$this->driver] ?? null; - - if ($customCreator) { - return call_user_func($customCreator); - } - - switch ($this->driver) { - case 'predis': - return new Connectors\PredisConnector; - case 'phpredis': - return new Connectors\PhpRedisConnector; - } - } - - /** - * Parse the Redis connection configuration. - * - * @param mixed $config - * @return array - */ - protected function parseConnectionConfiguration($config) - { - $parsed = (new ConfigurationUrlParser)->parseConfiguration($config); - - return array_filter($parsed, function ($key) { - return ! in_array($key, ['driver', 'username'], true); - }, ARRAY_FILTER_USE_KEY); - } - - /** - * Return all of the created connections. - * - * @return array - */ - public function connections() - { - return $this->connections; - } - - /** - * Enable the firing of Redis command events. - * - * @return void - */ - public function enableEvents() - { - $this->events = true; - } - - /** - * Disable the firing of Redis command events. - * - * @return void - */ - public function disableEvents() - { - $this->events = false; - } - - /** - * Set the default driver. - * - * @param string $driver - * @return void - */ - public function setDriver($driver) - { - $this->driver = $driver; - } - - /** - * Register a custom driver creator Closure. - * - * @param string $driver - * @param \Closure $callback - * @return $this - */ - public function extend($driver, \Closure $callback) - { - $this->customCreators[$driver] = $callback->bindTo($this, $this); - - return $this; - } - - /** - * Pass methods onto the default Redis connection. - * - * @param string $method - * @param array $parameters - * @return mixed - */ - public function __call($method, $parameters) - { - return $this->connection()->{$method}(...$parameters); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Redis/RedisServiceProvider.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Redis/RedisServiceProvider.php deleted file mode 100644 index 46fe1bc..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Redis/RedisServiceProvider.php +++ /dev/null @@ -1,38 +0,0 @@ -app->singleton('redis', function ($app) { - $config = $app->make('config')->get('database.redis', []); - - return new RedisManager($app, Arr::pull($config, 'client', 'predis'), $config); - }); - - $this->app->bind('redis.connection', function ($app) { - return $app['redis']->connection(); - }); - } - - /** - * Get the services provided by the provider. - * - * @return array - */ - public function provides() - { - return ['redis', 'redis.connection']; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Redis/composer.json b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Redis/composer.json deleted file mode 100644 index a1ab184..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Redis/composer.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "name": "illuminate/redis", - "description": "The Illuminate Redis package.", - "license": "MIT", - "homepage": "https://laravel.com", - "support": { - "issues": "https://github.com/laravel/framework/issues", - "source": "https://github.com/laravel/framework" - }, - "authors": [ - { - "name": "Taylor Otwell", - "email": "taylor@laravel.com" - } - ], - "require": { - "php": "^7.1.3", - "illuminate/contracts": "5.8.*", - "illuminate/support": "5.8.*", - "predis/predis": "^1.0" - }, - "autoload": { - "psr-4": { - "Illuminate\\Redis\\": "" - } - }, - "extra": { - "branch-alias": { - "dev-master": "5.8-dev" - } - }, - "config": { - "sort-packages": true - }, - "minimum-stability": "dev" -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/Console/ControllerMakeCommand.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/Console/ControllerMakeCommand.php deleted file mode 100644 index 85ee7d3..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/Console/ControllerMakeCommand.php +++ /dev/null @@ -1,186 +0,0 @@ -option('parent')) { - $stub = '/stubs/controller.nested.stub'; - } elseif ($this->option('model')) { - $stub = '/stubs/controller.model.stub'; - } elseif ($this->option('invokable')) { - $stub = '/stubs/controller.invokable.stub'; - } elseif ($this->option('resource')) { - $stub = '/stubs/controller.stub'; - } - - if ($this->option('api') && is_null($stub)) { - $stub = '/stubs/controller.api.stub'; - } elseif ($this->option('api') && ! is_null($stub) && ! $this->option('invokable')) { - $stub = str_replace('.stub', '.api.stub', $stub); - } - - $stub = $stub ?? '/stubs/controller.plain.stub'; - - return __DIR__.$stub; - } - - /** - * Get the default namespace for the class. - * - * @param string $rootNamespace - * @return string - */ - protected function getDefaultNamespace($rootNamespace) - { - return $rootNamespace.'\Http\Controllers'; - } - - /** - * Build the class with the given name. - * - * Remove the base controller import if we are already in base namespace. - * - * @param string $name - * @return string - */ - protected function buildClass($name) - { - $controllerNamespace = $this->getNamespace($name); - - $replace = []; - - if ($this->option('parent')) { - $replace = $this->buildParentReplacements(); - } - - if ($this->option('model')) { - $replace = $this->buildModelReplacements($replace); - } - - $replace["use {$controllerNamespace}\Controller;\n"] = ''; - - return str_replace( - array_keys($replace), array_values($replace), parent::buildClass($name) - ); - } - - /** - * Build the replacements for a parent controller. - * - * @return array - */ - protected function buildParentReplacements() - { - $parentModelClass = $this->parseModel($this->option('parent')); - - if (! class_exists($parentModelClass)) { - if ($this->confirm("A {$parentModelClass} model does not exist. Do you want to generate it?", true)) { - $this->call('make:model', ['name' => $parentModelClass]); - } - } - - return [ - 'ParentDummyFullModelClass' => $parentModelClass, - 'ParentDummyModelClass' => class_basename($parentModelClass), - 'ParentDummyModelVariable' => lcfirst(class_basename($parentModelClass)), - ]; - } - - /** - * Build the model replacement values. - * - * @param array $replace - * @return array - */ - protected function buildModelReplacements(array $replace) - { - $modelClass = $this->parseModel($this->option('model')); - - if (! class_exists($modelClass)) { - if ($this->confirm("A {$modelClass} model does not exist. Do you want to generate it?", true)) { - $this->call('make:model', ['name' => $modelClass]); - } - } - - return array_merge($replace, [ - 'DummyFullModelClass' => $modelClass, - 'DummyModelClass' => class_basename($modelClass), - 'DummyModelVariable' => lcfirst(class_basename($modelClass)), - ]); - } - - /** - * Get the fully-qualified model class name. - * - * @param string $model - * @return string - * - * @throws \InvalidArgumentException - */ - protected function parseModel($model) - { - if (preg_match('([^A-Za-z0-9_/\\\\])', $model)) { - throw new InvalidArgumentException('Model name contains invalid characters.'); - } - - $model = trim(str_replace('/', '\\', $model), '\\'); - - if (! Str::startsWith($model, $rootNamespace = $this->laravel->getNamespace())) { - $model = $rootNamespace.$model; - } - - return $model; - } - - /** - * Get the console command options. - * - * @return array - */ - protected function getOptions() - { - return [ - ['model', 'm', InputOption::VALUE_OPTIONAL, 'Generate a resource controller for the given model.'], - ['resource', 'r', InputOption::VALUE_NONE, 'Generate a resource controller class.'], - ['invokable', 'i', InputOption::VALUE_NONE, 'Generate a single method, invokable controller class.'], - ['parent', 'p', InputOption::VALUE_OPTIONAL, 'Generate a nested resource controller class.'], - ['api', null, InputOption::VALUE_NONE, 'Exclude the create and edit methods from the controller.'], - ]; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/Console/MiddlewareMakeCommand.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/Console/MiddlewareMakeCommand.php deleted file mode 100644 index e41813d..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/Console/MiddlewareMakeCommand.php +++ /dev/null @@ -1,50 +0,0 @@ -middleware[] = [ - 'middleware' => $m, - 'options' => &$options, - ]; - } - - return new ControllerMiddlewareOptions($options); - } - - /** - * Get the middleware assigned to the controller. - * - * @return array - */ - public function getMiddleware() - { - return $this->middleware; - } - - /** - * Execute an action on the controller. - * - * @param string $method - * @param array $parameters - * @return \Symfony\Component\HttpFoundation\Response - */ - public function callAction($method, $parameters) - { - return call_user_func_array([$this, $method], $parameters); - } - - /** - * Handle calls to missing methods on the controller. - * - * @param string $method - * @param array $parameters - * @return mixed - * - * @throws \BadMethodCallException - */ - public function __call($method, $parameters) - { - throw new BadMethodCallException(sprintf( - 'Method %s::%s does not exist.', static::class, $method - )); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php deleted file mode 100644 index 673a333..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php +++ /dev/null @@ -1,81 +0,0 @@ -container = $container; - } - - /** - * Dispatch a request to a given controller and method. - * - * @param \Illuminate\Routing\Route $route - * @param mixed $controller - * @param string $method - * @return mixed - */ - public function dispatch(Route $route, $controller, $method) - { - $parameters = $this->resolveClassMethodDependencies( - $route->parametersWithoutNulls(), $controller, $method - ); - - if (method_exists($controller, 'callAction')) { - return $controller->callAction($method, $parameters); - } - - return $controller->{$method}(...array_values($parameters)); - } - - /** - * Get the middleware for the controller instance. - * - * @param \Illuminate\Routing\Controller $controller - * @param string $method - * @return array - */ - public function getMiddleware($controller, $method) - { - if (! method_exists($controller, 'getMiddleware')) { - return []; - } - - return collect($controller->getMiddleware())->reject(function ($data) use ($method) { - return static::methodExcludedByOptions($method, $data['options']); - })->pluck('middleware')->all(); - } - - /** - * Determine if the given options exclude a particular method. - * - * @param string $method - * @param array $options - * @return bool - */ - protected static function methodExcludedByOptions($method, array $options) - { - return (isset($options['only']) && ! in_array($method, (array) $options['only'])) || - (! empty($options['except']) && in_array($method, (array) $options['except'])); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/ControllerMiddlewareOptions.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/ControllerMiddlewareOptions.php deleted file mode 100644 index 13ef189..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/ControllerMiddlewareOptions.php +++ /dev/null @@ -1,50 +0,0 @@ -options = &$options; - } - - /** - * Set the controller methods the middleware should apply to. - * - * @param array|string|dynamic $methods - * @return $this - */ - public function only($methods) - { - $this->options['only'] = is_array($methods) ? $methods : func_get_args(); - - return $this; - } - - /** - * Set the controller methods the middleware should exclude. - * - * @param array|string|dynamic $methods - * @return $this - */ - public function except($methods) - { - $this->options['except'] = is_array($methods) ? $methods : func_get_args(); - - return $this; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/Events/RouteMatched.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/Events/RouteMatched.php deleted file mode 100644 index c848607..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/Events/RouteMatched.php +++ /dev/null @@ -1,33 +0,0 @@ -route = $route; - $this->request = $request; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/Exceptions/InvalidSignatureException.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/Exceptions/InvalidSignatureException.php deleted file mode 100644 index 06a35c5..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/Exceptions/InvalidSignatureException.php +++ /dev/null @@ -1,18 +0,0 @@ -getName()}] [URI: {$route->uri()}]."); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/ImplicitRouteBinding.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/ImplicitRouteBinding.php deleted file mode 100644 index 9ea3df5..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/ImplicitRouteBinding.php +++ /dev/null @@ -1,62 +0,0 @@ -parameters(); - - foreach ($route->signatureParameters(UrlRoutable::class) as $parameter) { - if (! $parameterName = static::getParameterName($parameter->name, $parameters)) { - continue; - } - - $parameterValue = $parameters[$parameterName]; - - if ($parameterValue instanceof UrlRoutable) { - continue; - } - - $instance = $container->make($parameter->getClass()->name); - - if (! $model = $instance->resolveRouteBinding($parameterValue)) { - throw (new ModelNotFoundException)->setModel(get_class($instance), [$parameterValue]); - } - - $route->setParameter($parameterName, $model); - } - } - - /** - * Return the parameter name if it exists in the given parameters. - * - * @param string $name - * @param array $parameters - * @return string|null - */ - protected static function getParameterName($name, $parameters) - { - if (array_key_exists($name, $parameters)) { - return $name; - } - - if (array_key_exists($snakedName = Str::snake($name), $parameters)) { - return $snakedName; - } - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/LICENSE.md b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/LICENSE.md deleted file mode 100644 index 79810c8..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/LICENSE.md +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) Taylor Otwell - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/Matching/HostValidator.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/Matching/HostValidator.php deleted file mode 100644 index 76f9d87..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/Matching/HostValidator.php +++ /dev/null @@ -1,25 +0,0 @@ -getCompiled()->getHostRegex())) { - return true; - } - - return preg_match($route->getCompiled()->getHostRegex(), $request->getHost()); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/Matching/MethodValidator.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/Matching/MethodValidator.php deleted file mode 100644 index f9cf155..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/Matching/MethodValidator.php +++ /dev/null @@ -1,21 +0,0 @@ -getMethod(), $route->methods()); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/Matching/SchemeValidator.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/Matching/SchemeValidator.php deleted file mode 100644 index fd5d5af..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/Matching/SchemeValidator.php +++ /dev/null @@ -1,27 +0,0 @@ -httpOnly()) { - return ! $request->secure(); - } elseif ($route->secure()) { - return $request->secure(); - } - - return true; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/Matching/UriValidator.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/Matching/UriValidator.php deleted file mode 100644 index 3aeb73b..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/Matching/UriValidator.php +++ /dev/null @@ -1,23 +0,0 @@ -path() === '/' ? '/' : '/'.$request->path(); - - return preg_match($route->getCompiled()->getRegex(), rawurldecode($path)); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/Matching/ValidatorInterface.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/Matching/ValidatorInterface.php deleted file mode 100644 index 0f178f1..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/Matching/ValidatorInterface.php +++ /dev/null @@ -1,18 +0,0 @@ -router = $router; - } - - /** - * Handle an incoming request. - * - * @param \Illuminate\Http\Request $request - * @param \Closure $next - * @return mixed - */ - public function handle($request, Closure $next) - { - $this->router->substituteBindings($route = $request->route()); - - $this->router->substituteImplicitBindings($route); - - return $next($request); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php deleted file mode 100644 index 17d47f4..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php +++ /dev/null @@ -1,197 +0,0 @@ -limiter = $limiter; - } - - /** - * Handle an incoming request. - * - * @param \Illuminate\Http\Request $request - * @param \Closure $next - * @param int|string $maxAttempts - * @param float|int $decayMinutes - * @return \Symfony\Component\HttpFoundation\Response - * - * @throws \Illuminate\Http\Exceptions\ThrottleRequestsException - */ - public function handle($request, Closure $next, $maxAttempts = 60, $decayMinutes = 1) - { - $key = $this->resolveRequestSignature($request); - - $maxAttempts = $this->resolveMaxAttempts($request, $maxAttempts); - - if ($this->limiter->tooManyAttempts($key, $maxAttempts)) { - throw $this->buildException($key, $maxAttempts); - } - - $this->limiter->hit($key, $decayMinutes * 60); - - $response = $next($request); - - return $this->addHeaders( - $response, $maxAttempts, - $this->calculateRemainingAttempts($key, $maxAttempts) - ); - } - - /** - * Resolve the number of attempts if the user is authenticated or not. - * - * @param \Illuminate\Http\Request $request - * @param int|string $maxAttempts - * @return int - */ - protected function resolveMaxAttempts($request, $maxAttempts) - { - if (Str::contains($maxAttempts, '|')) { - $maxAttempts = explode('|', $maxAttempts, 2)[$request->user() ? 1 : 0]; - } - - if (! is_numeric($maxAttempts) && $request->user()) { - $maxAttempts = $request->user()->{$maxAttempts}; - } - - return (int) $maxAttempts; - } - - /** - * Resolve request signature. - * - * @param \Illuminate\Http\Request $request - * @return string - * - * @throws \RuntimeException - */ - protected function resolveRequestSignature($request) - { - if ($user = $request->user()) { - return sha1($user->getAuthIdentifier()); - } - - if ($route = $request->route()) { - return sha1($route->getDomain().'|'.$request->ip()); - } - - throw new RuntimeException('Unable to generate the request signature. Route unavailable.'); - } - - /** - * Create a 'too many attempts' exception. - * - * @param string $key - * @param int $maxAttempts - * @return \Illuminate\Http\Exceptions\ThrottleRequestsException - */ - protected function buildException($key, $maxAttempts) - { - $retryAfter = $this->getTimeUntilNextRetry($key); - - $headers = $this->getHeaders( - $maxAttempts, - $this->calculateRemainingAttempts($key, $maxAttempts, $retryAfter), - $retryAfter - ); - - return new ThrottleRequestsException( - 'Too Many Attempts.', null, $headers - ); - } - - /** - * Get the number of seconds until the next retry. - * - * @param string $key - * @return int - */ - protected function getTimeUntilNextRetry($key) - { - return $this->limiter->availableIn($key); - } - - /** - * Add the limit header information to the given response. - * - * @param \Symfony\Component\HttpFoundation\Response $response - * @param int $maxAttempts - * @param int $remainingAttempts - * @param int|null $retryAfter - * @return \Symfony\Component\HttpFoundation\Response - */ - protected function addHeaders(Response $response, $maxAttempts, $remainingAttempts, $retryAfter = null) - { - $response->headers->add( - $this->getHeaders($maxAttempts, $remainingAttempts, $retryAfter) - ); - - return $response; - } - - /** - * Get the limit headers information. - * - * @param int $maxAttempts - * @param int $remainingAttempts - * @param int|null $retryAfter - * @return array - */ - protected function getHeaders($maxAttempts, $remainingAttempts, $retryAfter = null) - { - $headers = [ - 'X-RateLimit-Limit' => $maxAttempts, - 'X-RateLimit-Remaining' => $remainingAttempts, - ]; - - if (! is_null($retryAfter)) { - $headers['Retry-After'] = $retryAfter; - $headers['X-RateLimit-Reset'] = $this->availableAt($retryAfter); - } - - return $headers; - } - - /** - * Calculate the number of remaining attempts. - * - * @param string $key - * @param int $maxAttempts - * @param int|null $retryAfter - * @return int - */ - protected function calculateRemainingAttempts($key, $maxAttempts, $retryAfter = null) - { - if (is_null($retryAfter)) { - return $this->limiter->retriesLeft($key, $maxAttempts); - } - - return 0; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequestsWithRedis.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequestsWithRedis.php deleted file mode 100644 index fe2567f..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequestsWithRedis.php +++ /dev/null @@ -1,120 +0,0 @@ -redis = $redis; - } - - /** - * Handle an incoming request. - * - * @param \Illuminate\Http\Request $request - * @param \Closure $next - * @param int|string $maxAttempts - * @param float|int $decayMinutes - * @return mixed - * - * @throws \Symfony\Component\HttpKernel\Exception\HttpException - */ - public function handle($request, Closure $next, $maxAttempts = 60, $decayMinutes = 1) - { - $key = $this->resolveRequestSignature($request); - - $maxAttempts = $this->resolveMaxAttempts($request, $maxAttempts); - - if ($this->tooManyAttempts($key, $maxAttempts, $decayMinutes)) { - throw $this->buildException($key, $maxAttempts); - } - - $response = $next($request); - - return $this->addHeaders( - $response, $maxAttempts, - $this->calculateRemainingAttempts($key, $maxAttempts) - ); - } - - /** - * Determine if the given key has been "accessed" too many times. - * - * @param string $key - * @param int $maxAttempts - * @param int $decayMinutes - * @return mixed - */ - protected function tooManyAttempts($key, $maxAttempts, $decayMinutes) - { - $limiter = new DurationLimiter( - $this->redis, $key, $maxAttempts, $decayMinutes * 60 - ); - - return tap(! $limiter->acquire(), function () use ($limiter) { - [$this->decaysAt, $this->remaining] = [ - $limiter->decaysAt, $limiter->remaining, - ]; - }); - } - - /** - * Calculate the number of remaining attempts. - * - * @param string $key - * @param int $maxAttempts - * @param int|null $retryAfter - * @return int - */ - protected function calculateRemainingAttempts($key, $maxAttempts, $retryAfter = null) - { - if (is_null($retryAfter)) { - return $this->remaining; - } - - return 0; - } - - /** - * Get the number of seconds until the lock is released. - * - * @param string $key - * @return int - */ - protected function getTimeUntilNextRetry($key) - { - return $this->decaysAt - $this->currentTime(); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ValidateSignature.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ValidateSignature.php deleted file mode 100644 index 85de9a2..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ValidateSignature.php +++ /dev/null @@ -1,27 +0,0 @@ -hasValidSignature()) { - return $next($request); - } - - throw new InvalidSignatureException; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/MiddlewareNameResolver.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/MiddlewareNameResolver.php deleted file mode 100644 index 87ab42d..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/MiddlewareNameResolver.php +++ /dev/null @@ -1,85 +0,0 @@ -name = $name; - $this->options = $options; - $this->registrar = $registrar; - $this->controller = $controller; - } - - /** - * Set the methods the controller should apply to. - * - * @param array|string|dynamic $methods - * @return \Illuminate\Routing\PendingResourceRegistration - */ - public function only($methods) - { - $this->options['only'] = is_array($methods) ? $methods : func_get_args(); - - return $this; - } - - /** - * Set the methods the controller should exclude. - * - * @param array|string|dynamic $methods - * @return \Illuminate\Routing\PendingResourceRegistration - */ - public function except($methods) - { - $this->options['except'] = is_array($methods) ? $methods : func_get_args(); - - return $this; - } - - /** - * Set the route names for controller actions. - * - * @param array|string $names - * @return \Illuminate\Routing\PendingResourceRegistration - */ - public function names($names) - { - $this->options['names'] = $names; - - return $this; - } - - /** - * Set the route name for a controller action. - * - * @param string $method - * @param string $name - * @return \Illuminate\Routing\PendingResourceRegistration - */ - public function name($method, $name) - { - $this->options['names'][$method] = $name; - - return $this; - } - - /** - * Override the route parameter names. - * - * @param array|string $parameters - * @return \Illuminate\Routing\PendingResourceRegistration - */ - public function parameters($parameters) - { - $this->options['parameters'] = $parameters; - - return $this; - } - - /** - * Override a route parameter's name. - * - * @param string $previous - * @param string $new - * @return \Illuminate\Routing\PendingResourceRegistration - */ - public function parameter($previous, $new) - { - $this->options['parameters'][$previous] = $new; - - return $this; - } - - /** - * Set a middleware to the resource. - * - * @param mixed $middleware - * @return \Illuminate\Routing\PendingResourceRegistration - */ - public function middleware($middleware) - { - $this->options['middleware'] = $middleware; - - return $this; - } - - /** - * Register the resource route. - * - * @return \Illuminate\Routing\RouteCollection - */ - public function register() - { - $this->registered = true; - - return $this->registrar->register( - $this->name, $this->controller, $this->options - ); - } - - /** - * Handle the object's destruction. - * - * @return void - */ - public function __destruct() - { - if (! $this->registered) { - $this->register(); - } - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php deleted file mode 100644 index 17a7d8f..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php +++ /dev/null @@ -1,91 +0,0 @@ -handleException($passable, $e); - } catch (Throwable $e) { - return $this->handleException($passable, new FatalThrowableError($e)); - } - }; - } - - /** - * Get a Closure that represents a slice of the application onion. - * - * @return \Closure - */ - protected function carry() - { - return function ($stack, $pipe) { - return function ($passable) use ($stack, $pipe) { - try { - $slice = parent::carry(); - - $callable = $slice($stack, $pipe); - - return $callable($passable); - } catch (Exception $e) { - return $this->handleException($passable, $e); - } catch (Throwable $e) { - return $this->handleException($passable, new FatalThrowableError($e)); - } - }; - }; - } - - /** - * Handle the given exception. - * - * @param mixed $passable - * @param \Exception $e - * @return mixed - * - * @throws \Exception - */ - protected function handleException($passable, Exception $e) - { - if (! $this->container->bound(ExceptionHandler::class) || - ! $passable instanceof Request) { - throw $e; - } - - $handler = $this->container->make(ExceptionHandler::class); - - $handler->report($e); - - $response = $handler->render($passable, $e); - - if (method_exists($response, 'withException')) { - $response->withException($e); - } - - return $response; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/RedirectController.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/RedirectController.php deleted file mode 100644 index e825ddf..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/RedirectController.php +++ /dev/null @@ -1,21 +0,0 @@ -generator = $generator; - } - - /** - * Create a new redirect response to the "home" route. - * - * @param int $status - * @return \Illuminate\Http\RedirectResponse - */ - public function home($status = 302) - { - return $this->to($this->generator->route('home'), $status); - } - - /** - * Create a new redirect response to the previous location. - * - * @param int $status - * @param array $headers - * @param mixed $fallback - * @return \Illuminate\Http\RedirectResponse - */ - public function back($status = 302, $headers = [], $fallback = false) - { - return $this->createRedirect($this->generator->previous($fallback), $status, $headers); - } - - /** - * Create a new redirect response to the current URI. - * - * @param int $status - * @param array $headers - * @return \Illuminate\Http\RedirectResponse - */ - public function refresh($status = 302, $headers = []) - { - return $this->to($this->generator->getRequest()->path(), $status, $headers); - } - - /** - * Create a new redirect response, while putting the current URL in the session. - * - * @param string $path - * @param int $status - * @param array $headers - * @param bool|null $secure - * @return \Illuminate\Http\RedirectResponse - */ - public function guest($path, $status = 302, $headers = [], $secure = null) - { - $request = $this->generator->getRequest(); - - $intended = $request->method() === 'GET' && $request->route() && ! $request->expectsJson() - ? $this->generator->full() - : $this->generator->previous(); - - if ($intended) { - $this->setIntendedUrl($intended); - } - - return $this->to($path, $status, $headers, $secure); - } - - /** - * Create a new redirect response to the previously intended location. - * - * @param string $default - * @param int $status - * @param array $headers - * @param bool|null $secure - * @return \Illuminate\Http\RedirectResponse - */ - public function intended($default = '/', $status = 302, $headers = [], $secure = null) - { - $path = $this->session->pull('url.intended', $default); - - return $this->to($path, $status, $headers, $secure); - } - - /** - * Set the intended url. - * - * @param string $url - * @return void - */ - public function setIntendedUrl($url) - { - $this->session->put('url.intended', $url); - } - - /** - * Create a new redirect response to the given path. - * - * @param string $path - * @param int $status - * @param array $headers - * @param bool|null $secure - * @return \Illuminate\Http\RedirectResponse - */ - public function to($path, $status = 302, $headers = [], $secure = null) - { - return $this->createRedirect($this->generator->to($path, [], $secure), $status, $headers); - } - - /** - * Create a new redirect response to an external URL (no validation). - * - * @param string $path - * @param int $status - * @param array $headers - * @return \Illuminate\Http\RedirectResponse - */ - public function away($path, $status = 302, $headers = []) - { - return $this->createRedirect($path, $status, $headers); - } - - /** - * Create a new redirect response to the given HTTPS path. - * - * @param string $path - * @param int $status - * @param array $headers - * @return \Illuminate\Http\RedirectResponse - */ - public function secure($path, $status = 302, $headers = []) - { - return $this->to($path, $status, $headers, true); - } - - /** - * Create a new redirect response to a named route. - * - * @param string $route - * @param mixed $parameters - * @param int $status - * @param array $headers - * @return \Illuminate\Http\RedirectResponse - */ - public function route($route, $parameters = [], $status = 302, $headers = []) - { - return $this->to($this->generator->route($route, $parameters), $status, $headers); - } - - /** - * Create a new redirect response to a controller action. - * - * @param string|array $action - * @param mixed $parameters - * @param int $status - * @param array $headers - * @return \Illuminate\Http\RedirectResponse - */ - public function action($action, $parameters = [], $status = 302, $headers = []) - { - return $this->to($this->generator->action($action, $parameters), $status, $headers); - } - - /** - * Create a new redirect response. - * - * @param string $path - * @param int $status - * @param array $headers - * @return \Illuminate\Http\RedirectResponse - */ - protected function createRedirect($path, $status, $headers) - { - return tap(new RedirectResponse($path, $status, $headers), function ($redirect) { - if (isset($this->session)) { - $redirect->setSession($this->session); - } - - $redirect->setRequest($this->generator->getRequest()); - }); - } - - /** - * Get the URL generator instance. - * - * @return \Illuminate\Routing\UrlGenerator - */ - public function getUrlGenerator() - { - return $this->generator; - } - - /** - * Set the active session store. - * - * @param \Illuminate\Session\Store $session - * @return void - */ - public function setSession(SessionStore $session) - { - $this->session = $session; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/ResourceRegistrar.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/ResourceRegistrar.php deleted file mode 100644 index 33b74ec..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/ResourceRegistrar.php +++ /dev/null @@ -1,450 +0,0 @@ - 'create', - 'edit' => 'edit', - ]; - - /** - * Create a new resource registrar instance. - * - * @param \Illuminate\Routing\Router $router - * @return void - */ - public function __construct(Router $router) - { - $this->router = $router; - } - - /** - * Route a resource to a controller. - * - * @param string $name - * @param string $controller - * @param array $options - * @return \Illuminate\Routing\RouteCollection - */ - public function register($name, $controller, array $options = []) - { - if (isset($options['parameters']) && ! isset($this->parameters)) { - $this->parameters = $options['parameters']; - } - - // If the resource name contains a slash, we will assume the developer wishes to - // register these resource routes with a prefix so we will set that up out of - // the box so they don't have to mess with it. Otherwise, we will continue. - if (Str::contains($name, '/')) { - $this->prefixedResource($name, $controller, $options); - - return; - } - - // We need to extract the base resource from the resource name. Nested resources - // are supported in the framework, but we need to know what name to use for a - // place-holder on the route parameters, which should be the base resources. - $base = $this->getResourceWildcard(last(explode('.', $name))); - - $defaults = $this->resourceDefaults; - - $collection = new RouteCollection; - - foreach ($this->getResourceMethods($defaults, $options) as $m) { - $collection->add($this->{'addResource'.ucfirst($m)}( - $name, $base, $controller, $options - )); - } - - return $collection; - } - - /** - * Build a set of prefixed resource routes. - * - * @param string $name - * @param string $controller - * @param array $options - * @return void - */ - protected function prefixedResource($name, $controller, array $options) - { - [$name, $prefix] = $this->getResourcePrefix($name); - - // We need to extract the base resource from the resource name. Nested resources - // are supported in the framework, but we need to know what name to use for a - // place-holder on the route parameters, which should be the base resources. - $callback = function ($me) use ($name, $controller, $options) { - $me->resource($name, $controller, $options); - }; - - return $this->router->group(compact('prefix'), $callback); - } - - /** - * Extract the resource and prefix from a resource name. - * - * @param string $name - * @return array - */ - protected function getResourcePrefix($name) - { - $segments = explode('/', $name); - - // To get the prefix, we will take all of the name segments and implode them on - // a slash. This will generate a proper URI prefix for us. Then we take this - // last segment, which will be considered the final resources name we use. - $prefix = implode('/', array_slice($segments, 0, -1)); - - return [end($segments), $prefix]; - } - - /** - * Get the applicable resource methods. - * - * @param array $defaults - * @param array $options - * @return array - */ - protected function getResourceMethods($defaults, $options) - { - $methods = $defaults; - - if (isset($options['only'])) { - $methods = array_intersect($methods, (array) $options['only']); - } - - if (isset($options['except'])) { - $methods = array_diff($methods, (array) $options['except']); - } - - return $methods; - } - - /** - * Add the index method for a resourceful route. - * - * @param string $name - * @param string $base - * @param string $controller - * @param array $options - * @return \Illuminate\Routing\Route - */ - protected function addResourceIndex($name, $base, $controller, $options) - { - $uri = $this->getResourceUri($name); - - $action = $this->getResourceAction($name, $controller, 'index', $options); - - return $this->router->get($uri, $action); - } - - /** - * Add the create method for a resourceful route. - * - * @param string $name - * @param string $base - * @param string $controller - * @param array $options - * @return \Illuminate\Routing\Route - */ - protected function addResourceCreate($name, $base, $controller, $options) - { - $uri = $this->getResourceUri($name).'/'.static::$verbs['create']; - - $action = $this->getResourceAction($name, $controller, 'create', $options); - - return $this->router->get($uri, $action); - } - - /** - * Add the store method for a resourceful route. - * - * @param string $name - * @param string $base - * @param string $controller - * @param array $options - * @return \Illuminate\Routing\Route - */ - protected function addResourceStore($name, $base, $controller, $options) - { - $uri = $this->getResourceUri($name); - - $action = $this->getResourceAction($name, $controller, 'store', $options); - - return $this->router->post($uri, $action); - } - - /** - * Add the show method for a resourceful route. - * - * @param string $name - * @param string $base - * @param string $controller - * @param array $options - * @return \Illuminate\Routing\Route - */ - protected function addResourceShow($name, $base, $controller, $options) - { - $uri = $this->getResourceUri($name).'/{'.$base.'}'; - - $action = $this->getResourceAction($name, $controller, 'show', $options); - - return $this->router->get($uri, $action); - } - - /** - * Add the edit method for a resourceful route. - * - * @param string $name - * @param string $base - * @param string $controller - * @param array $options - * @return \Illuminate\Routing\Route - */ - protected function addResourceEdit($name, $base, $controller, $options) - { - $uri = $this->getResourceUri($name).'/{'.$base.'}/'.static::$verbs['edit']; - - $action = $this->getResourceAction($name, $controller, 'edit', $options); - - return $this->router->get($uri, $action); - } - - /** - * Add the update method for a resourceful route. - * - * @param string $name - * @param string $base - * @param string $controller - * @param array $options - * @return \Illuminate\Routing\Route - */ - protected function addResourceUpdate($name, $base, $controller, $options) - { - $uri = $this->getResourceUri($name).'/{'.$base.'}'; - - $action = $this->getResourceAction($name, $controller, 'update', $options); - - return $this->router->match(['PUT', 'PATCH'], $uri, $action); - } - - /** - * Add the destroy method for a resourceful route. - * - * @param string $name - * @param string $base - * @param string $controller - * @param array $options - * @return \Illuminate\Routing\Route - */ - protected function addResourceDestroy($name, $base, $controller, $options) - { - $uri = $this->getResourceUri($name).'/{'.$base.'}'; - - $action = $this->getResourceAction($name, $controller, 'destroy', $options); - - return $this->router->delete($uri, $action); - } - - /** - * Get the base resource URI for a given resource. - * - * @param string $resource - * @return string - */ - public function getResourceUri($resource) - { - if (! Str::contains($resource, '.')) { - return $resource; - } - - // Once we have built the base URI, we'll remove the parameter holder for this - // base resource name so that the individual route adders can suffix these - // paths however they need to, as some do not have any parameters at all. - $segments = explode('.', $resource); - - $uri = $this->getNestedResourceUri($segments); - - return str_replace('/{'.$this->getResourceWildcard(end($segments)).'}', '', $uri); - } - - /** - * Get the URI for a nested resource segment array. - * - * @param array $segments - * @return string - */ - protected function getNestedResourceUri(array $segments) - { - // We will spin through the segments and create a place-holder for each of the - // resource segments, as well as the resource itself. Then we should get an - // entire string for the resource URI that contains all nested resources. - return implode('/', array_map(function ($s) { - return $s.'/{'.$this->getResourceWildcard($s).'}'; - }, $segments)); - } - - /** - * Format a resource parameter for usage. - * - * @param string $value - * @return string - */ - public function getResourceWildcard($value) - { - if (isset($this->parameters[$value])) { - $value = $this->parameters[$value]; - } elseif (isset(static::$parameterMap[$value])) { - $value = static::$parameterMap[$value]; - } elseif ($this->parameters === 'singular' || static::$singularParameters) { - $value = Str::singular($value); - } - - return str_replace('-', '_', $value); - } - - /** - * Get the action array for a resource route. - * - * @param string $resource - * @param string $controller - * @param string $method - * @param array $options - * @return array - */ - protected function getResourceAction($resource, $controller, $method, $options) - { - $name = $this->getResourceRouteName($resource, $method, $options); - - $action = ['as' => $name, 'uses' => $controller.'@'.$method]; - - if (isset($options['middleware'])) { - $action['middleware'] = $options['middleware']; - } - - return $action; - } - - /** - * Get the name for a given resource. - * - * @param string $resource - * @param string $method - * @param array $options - * @return string - */ - protected function getResourceRouteName($resource, $method, $options) - { - $name = $resource; - - // If the names array has been provided to us we will check for an entry in the - // array first. We will also check for the specific method within this array - // so the names may be specified on a more "granular" level using methods. - if (isset($options['names'])) { - if (is_string($options['names'])) { - $name = $options['names']; - } elseif (isset($options['names'][$method])) { - return $options['names'][$method]; - } - } - - // If a global prefix has been assigned to all names for this resource, we will - // grab that so we can prepend it onto the name when we create this name for - // the resource action. Otherwise we'll just use an empty string for here. - $prefix = isset($options['as']) ? $options['as'].'.' : ''; - - return trim(sprintf('%s%s.%s', $prefix, $name, $method), '.'); - } - - /** - * Set or unset the unmapped global parameters to singular. - * - * @param bool $singular - * @return void - */ - public static function singularParameters($singular = true) - { - static::$singularParameters = (bool) $singular; - } - - /** - * Get the global parameter map. - * - * @return array - */ - public static function getParameters() - { - return static::$parameterMap; - } - - /** - * Set the global parameter mapping. - * - * @param array $parameters - * @return void - */ - public static function setParameters(array $parameters = []) - { - static::$parameterMap = $parameters; - } - - /** - * Get or set the action verbs used in the resource URIs. - * - * @param array $verbs - * @return array - */ - public static function verbs(array $verbs = []) - { - if (empty($verbs)) { - return static::$verbs; - } else { - static::$verbs = array_merge(static::$verbs, $verbs); - } - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/ResponseFactory.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/ResponseFactory.php deleted file mode 100644 index 58e04fa..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/ResponseFactory.php +++ /dev/null @@ -1,262 +0,0 @@ -view = $view; - $this->redirector = $redirector; - } - - /** - * Create a new response instance. - * - * @param string $content - * @param int $status - * @param array $headers - * @return \Illuminate\Http\Response - */ - public function make($content = '', $status = 200, array $headers = []) - { - return new Response($content, $status, $headers); - } - - /** - * Create a new "no content" response. - * - * @param int $status - * @param array $headers - * @return \Illuminate\Http\Response - */ - public function noContent($status = 204, array $headers = []) - { - return $this->make('', $status, $headers); - } - - /** - * Create a new response for a given view. - * - * @param string $view - * @param array $data - * @param int $status - * @param array $headers - * @return \Illuminate\Http\Response - */ - public function view($view, $data = [], $status = 200, array $headers = []) - { - return $this->make($this->view->make($view, $data), $status, $headers); - } - - /** - * Create a new JSON response instance. - * - * @param mixed $data - * @param int $status - * @param array $headers - * @param int $options - * @return \Illuminate\Http\JsonResponse - */ - public function json($data = [], $status = 200, array $headers = [], $options = 0) - { - return new JsonResponse($data, $status, $headers, $options); - } - - /** - * Create a new JSONP response instance. - * - * @param string $callback - * @param mixed $data - * @param int $status - * @param array $headers - * @param int $options - * @return \Illuminate\Http\JsonResponse - */ - public function jsonp($callback, $data = [], $status = 200, array $headers = [], $options = 0) - { - return $this->json($data, $status, $headers, $options)->setCallback($callback); - } - - /** - * Create a new streamed response instance. - * - * @param \Closure $callback - * @param int $status - * @param array $headers - * @return \Symfony\Component\HttpFoundation\StreamedResponse - */ - public function stream($callback, $status = 200, array $headers = []) - { - return new StreamedResponse($callback, $status, $headers); - } - - /** - * Create a new streamed response instance as a file download. - * - * @param \Closure $callback - * @param string|null $name - * @param array $headers - * @param string|null $disposition - * @return \Symfony\Component\HttpFoundation\StreamedResponse - */ - public function streamDownload($callback, $name = null, array $headers = [], $disposition = 'attachment') - { - $response = new StreamedResponse($callback, 200, $headers); - - if (! is_null($name)) { - $response->headers->set('Content-Disposition', $response->headers->makeDisposition( - $disposition, - $name, - $this->fallbackName($name) - )); - } - - return $response; - } - - /** - * Create a new file download response. - * - * @param \SplFileInfo|string $file - * @param string|null $name - * @param array $headers - * @param string|null $disposition - * @return \Symfony\Component\HttpFoundation\BinaryFileResponse - */ - public function download($file, $name = null, array $headers = [], $disposition = 'attachment') - { - $response = new BinaryFileResponse($file, 200, $headers, true, $disposition); - - if (! is_null($name)) { - return $response->setContentDisposition($disposition, $name, $this->fallbackName($name)); - } - - return $response; - } - - /** - * Convert the string to ASCII characters that are equivalent to the given name. - * - * @param string $name - * @return string - */ - protected function fallbackName($name) - { - return str_replace('%', '', Str::ascii($name)); - } - - /** - * Return the raw contents of a binary file. - * - * @param \SplFileInfo|string $file - * @param array $headers - * @return \Symfony\Component\HttpFoundation\BinaryFileResponse - */ - public function file($file, array $headers = []) - { - return new BinaryFileResponse($file, 200, $headers); - } - - /** - * Create a new redirect response to the given path. - * - * @param string $path - * @param int $status - * @param array $headers - * @param bool|null $secure - * @return \Illuminate\Http\RedirectResponse - */ - public function redirectTo($path, $status = 302, $headers = [], $secure = null) - { - return $this->redirector->to($path, $status, $headers, $secure); - } - - /** - * Create a new redirect response to a named route. - * - * @param string $route - * @param array $parameters - * @param int $status - * @param array $headers - * @return \Illuminate\Http\RedirectResponse - */ - public function redirectToRoute($route, $parameters = [], $status = 302, $headers = []) - { - return $this->redirector->route($route, $parameters, $status, $headers); - } - - /** - * Create a new redirect response to a controller action. - * - * @param string $action - * @param array $parameters - * @param int $status - * @param array $headers - * @return \Illuminate\Http\RedirectResponse - */ - public function redirectToAction($action, $parameters = [], $status = 302, $headers = []) - { - return $this->redirector->action($action, $parameters, $status, $headers); - } - - /** - * Create a new redirect response, while putting the current URL in the session. - * - * @param string $path - * @param int $status - * @param array $headers - * @param bool|null $secure - * @return \Illuminate\Http\RedirectResponse - */ - public function redirectGuest($path, $status = 302, $headers = [], $secure = null) - { - return $this->redirector->guest($path, $status, $headers, $secure); - } - - /** - * Create a new redirect response to the previously intended location. - * - * @param string $default - * @param int $status - * @param array $headers - * @param bool|null $secure - * @return \Illuminate\Http\RedirectResponse - */ - public function redirectToIntended($default = '/', $status = 302, $headers = [], $secure = null) - { - return $this->redirector->intended($default, $status, $headers, $secure); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/Route.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/Route.php deleted file mode 100644 index d5d1392..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/Route.php +++ /dev/null @@ -1,935 +0,0 @@ -uri = $uri; - $this->methods = (array) $methods; - $this->action = $this->parseAction($action); - - if (in_array('GET', $this->methods) && ! in_array('HEAD', $this->methods)) { - $this->methods[] = 'HEAD'; - } - - if (isset($this->action['prefix'])) { - $this->prefix($this->action['prefix']); - } - } - - /** - * Parse the route action into a standard array. - * - * @param callable|array|null $action - * @return array - * - * @throws \UnexpectedValueException - */ - protected function parseAction($action) - { - return RouteAction::parse($this->uri, $action); - } - - /** - * Run the route action and return the response. - * - * @return mixed - */ - public function run() - { - $this->container = $this->container ?: new Container; - - try { - if ($this->isControllerAction()) { - return $this->runController(); - } - - return $this->runCallable(); - } catch (HttpResponseException $e) { - return $e->getResponse(); - } - } - - /** - * Checks whether the route's action is a controller. - * - * @return bool - */ - protected function isControllerAction() - { - return is_string($this->action['uses']); - } - - /** - * Run the route action and return the response. - * - * @return mixed - */ - protected function runCallable() - { - $callable = $this->action['uses']; - - return $callable(...array_values($this->resolveMethodDependencies( - $this->parametersWithoutNulls(), new ReflectionFunction($this->action['uses']) - ))); - } - - /** - * Run the route action and return the response. - * - * @return mixed - * - * @throws \Symfony\Component\HttpKernel\Exception\NotFoundHttpException - */ - protected function runController() - { - return $this->controllerDispatcher()->dispatch( - $this, $this->getController(), $this->getControllerMethod() - ); - } - - /** - * Get the controller instance for the route. - * - * @return mixed - */ - public function getController() - { - if (! $this->controller) { - $class = $this->parseControllerCallback()[0]; - - $this->controller = $this->container->make(ltrim($class, '\\')); - } - - return $this->controller; - } - - /** - * Get the controller method used for the route. - * - * @return string - */ - protected function getControllerMethod() - { - return $this->parseControllerCallback()[1]; - } - - /** - * Parse the controller. - * - * @return array - */ - protected function parseControllerCallback() - { - return Str::parseCallback($this->action['uses']); - } - - /** - * Determine if the route matches given request. - * - * @param \Illuminate\Http\Request $request - * @param bool $includingMethod - * @return bool - */ - public function matches(Request $request, $includingMethod = true) - { - $this->compileRoute(); - - foreach ($this->getValidators() as $validator) { - if (! $includingMethod && $validator instanceof MethodValidator) { - continue; - } - - if (! $validator->matches($this, $request)) { - return false; - } - } - - return true; - } - - /** - * Compile the route into a Symfony CompiledRoute instance. - * - * @return \Symfony\Component\Routing\CompiledRoute - */ - protected function compileRoute() - { - if (! $this->compiled) { - $this->compiled = (new RouteCompiler($this))->compile(); - } - - return $this->compiled; - } - - /** - * Bind the route to a given request for execution. - * - * @param \Illuminate\Http\Request $request - * @return $this - */ - public function bind(Request $request) - { - $this->compileRoute(); - - $this->parameters = (new RouteParameterBinder($this)) - ->parameters($request); - - $this->originalParameters = $this->parameters; - - return $this; - } - - /** - * Determine if the route has parameters. - * - * @return bool - */ - public function hasParameters() - { - return isset($this->parameters); - } - - /** - * Determine a given parameter exists from the route. - * - * @param string $name - * @return bool - */ - public function hasParameter($name) - { - if ($this->hasParameters()) { - return array_key_exists($name, $this->parameters()); - } - - return false; - } - - /** - * Get a given parameter from the route. - * - * @param string $name - * @param mixed $default - * @return string|object - */ - public function parameter($name, $default = null) - { - return Arr::get($this->parameters(), $name, $default); - } - - /** - * Get original value of a given parameter from the route. - * - * @param string $name - * @param mixed $default - * @return string - */ - public function originalParameter($name, $default = null) - { - return Arr::get($this->originalParameters(), $name, $default); - } - - /** - * Set a parameter to the given value. - * - * @param string $name - * @param mixed $value - * @return void - */ - public function setParameter($name, $value) - { - $this->parameters(); - - $this->parameters[$name] = $value; - } - - /** - * Unset a parameter on the route if it is set. - * - * @param string $name - * @return void - */ - public function forgetParameter($name) - { - $this->parameters(); - - unset($this->parameters[$name]); - } - - /** - * Get the key / value list of parameters for the route. - * - * @return array - * - * @throws \LogicException - */ - public function parameters() - { - if (isset($this->parameters)) { - return $this->parameters; - } - - throw new LogicException('Route is not bound.'); - } - - /** - * Get the key / value list of original parameters for the route. - * - * @return array - * - * @throws \LogicException - */ - public function originalParameters() - { - if (isset($this->originalParameters)) { - return $this->originalParameters; - } - - throw new LogicException('Route is not bound.'); - } - - /** - * Get the key / value list of parameters without null values. - * - * @return array - */ - public function parametersWithoutNulls() - { - return array_filter($this->parameters(), function ($p) { - return ! is_null($p); - }); - } - - /** - * Get all of the parameter names for the route. - * - * @return array - */ - public function parameterNames() - { - if (isset($this->parameterNames)) { - return $this->parameterNames; - } - - return $this->parameterNames = $this->compileParameterNames(); - } - - /** - * Get the parameter names for the route. - * - * @return array - */ - protected function compileParameterNames() - { - preg_match_all('/\{(.*?)\}/', $this->getDomain().$this->uri, $matches); - - return array_map(function ($m) { - return trim($m, '?'); - }, $matches[1]); - } - - /** - * Get the parameters that are listed in the route / controller signature. - * - * @param string|null $subClass - * @return array - */ - public function signatureParameters($subClass = null) - { - return RouteSignatureParameters::fromAction($this->action, $subClass); - } - - /** - * Set a default value for the route. - * - * @param string $key - * @param mixed $value - * @return $this - */ - public function defaults($key, $value) - { - $this->defaults[$key] = $value; - - return $this; - } - - /** - * Set a regular expression requirement on the route. - * - * @param array|string $name - * @param string|null $expression - * @return $this - */ - public function where($name, $expression = null) - { - foreach ($this->parseWhere($name, $expression) as $name => $expression) { - $this->wheres[$name] = $expression; - } - - return $this; - } - - /** - * Parse arguments to the where method into an array. - * - * @param array|string $name - * @param string $expression - * @return array - */ - protected function parseWhere($name, $expression) - { - return is_array($name) ? $name : [$name => $expression]; - } - - /** - * Set a list of regular expression requirements on the route. - * - * @param array $wheres - * @return $this - */ - protected function whereArray(array $wheres) - { - foreach ($wheres as $name => $expression) { - $this->where($name, $expression); - } - - return $this; - } - - /** - * Mark this route as a fallback route. - * - * @return $this - */ - public function fallback() - { - $this->isFallback = true; - - return $this; - } - - /** - * Get the HTTP verbs the route responds to. - * - * @return array - */ - public function methods() - { - return $this->methods; - } - - /** - * Determine if the route only responds to HTTP requests. - * - * @return bool - */ - public function httpOnly() - { - return in_array('http', $this->action, true); - } - - /** - * Determine if the route only responds to HTTPS requests. - * - * @return bool - */ - public function httpsOnly() - { - return $this->secure(); - } - - /** - * Determine if the route only responds to HTTPS requests. - * - * @return bool - */ - public function secure() - { - return in_array('https', $this->action, true); - } - - /** - * Get or set the domain for the route. - * - * @param string|null $domain - * @return $this|string|null - */ - public function domain($domain = null) - { - if (is_null($domain)) { - return $this->getDomain(); - } - - $this->action['domain'] = $domain; - - return $this; - } - - /** - * Get the domain defined for the route. - * - * @return string|null - */ - public function getDomain() - { - return isset($this->action['domain']) - ? str_replace(['http://', 'https://'], '', $this->action['domain']) : null; - } - - /** - * Get the prefix of the route instance. - * - * @return string - */ - public function getPrefix() - { - return $this->action['prefix'] ?? null; - } - - /** - * Add a prefix to the route URI. - * - * @param string $prefix - * @return $this - */ - public function prefix($prefix) - { - $uri = rtrim($prefix, '/').'/'.ltrim($this->uri, '/'); - - $this->uri = trim($uri, '/'); - - return $this; - } - - /** - * Get the URI associated with the route. - * - * @return string - */ - public function uri() - { - return $this->uri; - } - - /** - * Set the URI that the route responds to. - * - * @param string $uri - * @return $this - */ - public function setUri($uri) - { - $this->uri = $uri; - - return $this; - } - - /** - * Get the name of the route instance. - * - * @return string - */ - public function getName() - { - return $this->action['as'] ?? null; - } - - /** - * Add or change the route name. - * - * @param string $name - * @return $this - */ - public function name($name) - { - $this->action['as'] = isset($this->action['as']) ? $this->action['as'].$name : $name; - - return $this; - } - - /** - * Determine whether the route's name matches the given patterns. - * - * @param mixed ...$patterns - * @return bool - */ - public function named(...$patterns) - { - if (is_null($routeName = $this->getName())) { - return false; - } - - foreach ($patterns as $pattern) { - if (Str::is($pattern, $routeName)) { - return true; - } - } - - return false; - } - - /** - * Set the handler for the route. - * - * @param \Closure|string $action - * @return $this - */ - public function uses($action) - { - $action = is_string($action) ? $this->addGroupNamespaceToStringUses($action) : $action; - - return $this->setAction(array_merge($this->action, $this->parseAction([ - 'uses' => $action, - 'controller' => $action, - ]))); - } - - /** - * Parse a string based action for the "uses" fluent method. - * - * @param string $action - * @return string - */ - protected function addGroupNamespaceToStringUses($action) - { - $groupStack = last($this->router->getGroupStack()); - - if (isset($groupStack['namespace']) && strpos($action, '\\') !== 0) { - return $groupStack['namespace'].'\\'.$action; - } - - return $action; - } - - /** - * Get the action name for the route. - * - * @return string - */ - public function getActionName() - { - return $this->action['controller'] ?? 'Closure'; - } - - /** - * Get the method name of the route action. - * - * @return string - */ - public function getActionMethod() - { - return Arr::last(explode('@', $this->getActionName())); - } - - /** - * Get the action array or one of its properties for the route. - * - * @param string|null $key - * @return mixed - */ - public function getAction($key = null) - { - return Arr::get($this->action, $key); - } - - /** - * Set the action array for the route. - * - * @param array $action - * @return $this - */ - public function setAction(array $action) - { - $this->action = $action; - - return $this; - } - - /** - * Get all middleware, including the ones from the controller. - * - * @return array - */ - public function gatherMiddleware() - { - if (! is_null($this->computedMiddleware)) { - return $this->computedMiddleware; - } - - $this->computedMiddleware = []; - - return $this->computedMiddleware = array_unique(array_merge( - $this->middleware(), $this->controllerMiddleware() - ), SORT_REGULAR); - } - - /** - * Get or set the middlewares attached to the route. - * - * @param array|string|null $middleware - * @return $this|array - */ - public function middleware($middleware = null) - { - if (is_null($middleware)) { - return (array) ($this->action['middleware'] ?? []); - } - - if (is_string($middleware)) { - $middleware = func_get_args(); - } - - $this->action['middleware'] = array_merge( - (array) ($this->action['middleware'] ?? []), $middleware - ); - - return $this; - } - - /** - * Get the middleware for the route's controller. - * - * @return array - */ - public function controllerMiddleware() - { - if (! $this->isControllerAction()) { - return []; - } - - return $this->controllerDispatcher()->getMiddleware( - $this->getController(), $this->getControllerMethod() - ); - } - - /** - * Get the dispatcher for the route's controller. - * - * @return \Illuminate\Routing\Contracts\ControllerDispatcher - */ - public function controllerDispatcher() - { - if ($this->container->bound(ControllerDispatcherContract::class)) { - return $this->container->make(ControllerDispatcherContract::class); - } - - return new ControllerDispatcher($this->container); - } - - /** - * Get the route validators for the instance. - * - * @return array - */ - public static function getValidators() - { - if (isset(static::$validators)) { - return static::$validators; - } - - // To match the route, we will use a chain of responsibility pattern with the - // validator implementations. We will spin through each one making sure it - // passes and then we will know if the route as a whole matches request. - return static::$validators = [ - new UriValidator, new MethodValidator, - new SchemeValidator, new HostValidator, - ]; - } - - /** - * Get the compiled version of the route. - * - * @return \Symfony\Component\Routing\CompiledRoute - */ - public function getCompiled() - { - return $this->compiled; - } - - /** - * Set the router instance on the route. - * - * @param \Illuminate\Routing\Router $router - * @return $this - */ - public function setRouter(Router $router) - { - $this->router = $router; - - return $this; - } - - /** - * Set the container instance on the route. - * - * @param \Illuminate\Container\Container $container - * @return $this - */ - public function setContainer(Container $container) - { - $this->container = $container; - - return $this; - } - - /** - * Prepare the route instance for serialization. - * - * @return void - * - * @throws \LogicException - */ - public function prepareForSerialization() - { - if ($this->action['uses'] instanceof Closure) { - throw new LogicException("Unable to prepare route [{$this->uri}] for serialization. Uses Closure."); - } - - $this->compileRoute(); - - unset($this->router, $this->container); - } - - /** - * Dynamically access route parameters. - * - * @param string $key - * @return mixed - */ - public function __get($key) - { - return $this->parameter($key); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/RouteAction.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/RouteAction.php deleted file mode 100644 index a839fcb..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/RouteAction.php +++ /dev/null @@ -1,94 +0,0 @@ - $action] : [ - 'uses' => $action[0].'@'.$action[1], - 'controller' => $action[0].'@'.$action[1], - ]; - } - - // If no "uses" property has been set, we will dig through the array to find a - // Closure instance within this list. We will set the first Closure we come - // across into the "uses" property that will get fired off by this route. - elseif (! isset($action['uses'])) { - $action['uses'] = static::findCallable($action); - } - - if (is_string($action['uses']) && ! Str::contains($action['uses'], '@')) { - $action['uses'] = static::makeInvokable($action['uses']); - } - - return $action; - } - - /** - * Get an action for a route that has no action. - * - * @param string $uri - * @return array - */ - protected static function missingAction($uri) - { - return ['uses' => function () use ($uri) { - throw new LogicException("Route for [{$uri}] has no action."); - }]; - } - - /** - * Find the callable in an action array. - * - * @param array $action - * @return callable - */ - protected static function findCallable(array $action) - { - return Arr::first($action, function ($value, $key) { - return is_callable($value) && is_numeric($key); - }); - } - - /** - * Make an action for an invokable controller. - * - * @param string $action - * @return string - * - * @throws \UnexpectedValueException - */ - protected static function makeInvokable($action) - { - if (! method_exists($action, '__invoke')) { - throw new UnexpectedValueException("Invalid route action: [{$action}]."); - } - - return $action.'@__invoke'; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/RouteBinding.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/RouteBinding.php deleted file mode 100644 index e2f284c..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/RouteBinding.php +++ /dev/null @@ -1,82 +0,0 @@ -make($class), $method]; - - return call_user_func($callable, $value, $route); - }; - } - - /** - * Create a Route model binding for a model. - * - * @param \Illuminate\Container\Container $container - * @param string $class - * @param \Closure|null $callback - * @return \Closure - */ - public static function forModel($container, $class, $callback = null) - { - return function ($value) use ($container, $class, $callback) { - if (is_null($value)) { - return; - } - - // For model binders, we will attempt to retrieve the models using the first - // method on the model instance. If we cannot retrieve the models we'll - // throw a not found exception otherwise we will return the instance. - $instance = $container->make($class); - - if ($model = $instance->resolveRouteBinding($value)) { - return $model; - } - - // If a callback was supplied to the method we will call that to determine - // what we should do when the model is not found. This just gives these - // developer a little greater flexibility to decide what will happen. - if ($callback instanceof Closure) { - return call_user_func($callback, $value); - } - - throw (new ModelNotFoundException)->setModel($class); - }; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/RouteCollection.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/RouteCollection.php deleted file mode 100644 index 47520fe..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/RouteCollection.php +++ /dev/null @@ -1,359 +0,0 @@ -addToCollections($route); - - $this->addLookups($route); - - return $route; - } - - /** - * Add the given route to the arrays of routes. - * - * @param \Illuminate\Routing\Route $route - * @return void - */ - protected function addToCollections($route) - { - $domainAndUri = $route->getDomain().$route->uri(); - - foreach ($route->methods() as $method) { - $this->routes[$method][$domainAndUri] = $route; - } - - $this->allRoutes[$method.$domainAndUri] = $route; - } - - /** - * Add the route to any look-up tables if necessary. - * - * @param \Illuminate\Routing\Route $route - * @return void - */ - protected function addLookups($route) - { - // If the route has a name, we will add it to the name look-up table so that we - // will quickly be able to find any route associate with a name and not have - // to iterate through every route every time we need to perform a look-up. - if ($name = $route->getName()) { - $this->nameList[$name] = $route; - } - - // When the route is routing to a controller we will also store the action that - // is used by the route. This will let us reverse route to controllers while - // processing a request and easily generate URLs to the given controllers. - $action = $route->getAction(); - - if (isset($action['controller'])) { - $this->addToActionList($action, $route); - } - } - - /** - * Add a route to the controller action dictionary. - * - * @param array $action - * @param \Illuminate\Routing\Route $route - * @return void - */ - protected function addToActionList($action, $route) - { - $this->actionList[trim($action['controller'], '\\')] = $route; - } - - /** - * Refresh the name look-up table. - * - * This is done in case any names are fluently defined or if routes are overwritten. - * - * @return void - */ - public function refreshNameLookups() - { - $this->nameList = []; - - foreach ($this->allRoutes as $route) { - if ($route->getName()) { - $this->nameList[$route->getName()] = $route; - } - } - } - - /** - * Refresh the action look-up table. - * - * This is done in case any actions are overwritten with new controllers. - * - * @return void - */ - public function refreshActionLookups() - { - $this->actionList = []; - - foreach ($this->allRoutes as $route) { - if (isset($route->getAction()['controller'])) { - $this->addToActionList($route->getAction(), $route); - } - } - } - - /** - * Find the first route matching a given request. - * - * @param \Illuminate\Http\Request $request - * @return \Illuminate\Routing\Route - * - * @throws \Symfony\Component\HttpKernel\Exception\NotFoundHttpException - */ - public function match(Request $request) - { - $routes = $this->get($request->getMethod()); - - // First, we will see if we can find a matching route for this current request - // method. If we can, great, we can just return it so that it can be called - // by the consumer. Otherwise we will check for routes with another verb. - $route = $this->matchAgainstRoutes($routes, $request); - - if (! is_null($route)) { - return $route->bind($request); - } - - // If no route was found we will now check if a matching route is specified by - // another HTTP verb. If it is we will need to throw a MethodNotAllowed and - // inform the user agent of which HTTP verb it should use for this route. - $others = $this->checkForAlternateVerbs($request); - - if (count($others) > 0) { - return $this->getRouteForMethods($request, $others); - } - - throw new NotFoundHttpException; - } - - /** - * Determine if a route in the array matches the request. - * - * @param array $routes - * @param \Illuminate\Http\Request $request - * @param bool $includingMethod - * @return \Illuminate\Routing\Route|null - */ - protected function matchAgainstRoutes(array $routes, $request, $includingMethod = true) - { - [$fallbacks, $routes] = collect($routes)->partition(function ($route) { - return $route->isFallback; - }); - - return $routes->merge($fallbacks)->first(function ($value) use ($request, $includingMethod) { - return $value->matches($request, $includingMethod); - }); - } - - /** - * Determine if any routes match on another HTTP verb. - * - * @param \Illuminate\Http\Request $request - * @return array - */ - protected function checkForAlternateVerbs($request) - { - $methods = array_diff(Router::$verbs, [$request->getMethod()]); - - // Here we will spin through all verbs except for the current request verb and - // check to see if any routes respond to them. If they do, we will return a - // proper error response with the correct headers on the response string. - $others = []; - - foreach ($methods as $method) { - if (! is_null($this->matchAgainstRoutes($this->get($method), $request, false))) { - $others[] = $method; - } - } - - return $others; - } - - /** - * Get a route (if necessary) that responds when other available methods are present. - * - * @param \Illuminate\Http\Request $request - * @param array $methods - * @return \Illuminate\Routing\Route - * - * @throws \Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException - */ - protected function getRouteForMethods($request, array $methods) - { - if ($request->method() === 'OPTIONS') { - return (new Route('OPTIONS', $request->path(), function () use ($methods) { - return new Response('', 200, ['Allow' => implode(',', $methods)]); - }))->bind($request); - } - - $this->methodNotAllowed($methods, $request->method()); - } - - /** - * Throw a method not allowed HTTP exception. - * - * @param array $others - * @param string $method - * @return void - * - * @throws \Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException - */ - protected function methodNotAllowed(array $others, $method) - { - throw new MethodNotAllowedHttpException( - $others, - sprintf( - 'The %s method is not supported for this route. Supported methods: %s.', - $method, - implode(', ', $others) - ) - ); - } - - /** - * Get routes from the collection by method. - * - * @param string|null $method - * @return array - */ - public function get($method = null) - { - return is_null($method) ? $this->getRoutes() : Arr::get($this->routes, $method, []); - } - - /** - * Determine if the route collection contains a given named route. - * - * @param string $name - * @return bool - */ - public function hasNamedRoute($name) - { - return ! is_null($this->getByName($name)); - } - - /** - * Get a route instance by its name. - * - * @param string $name - * @return \Illuminate\Routing\Route|null - */ - public function getByName($name) - { - return $this->nameList[$name] ?? null; - } - - /** - * Get a route instance by its controller action. - * - * @param string $action - * @return \Illuminate\Routing\Route|null - */ - public function getByAction($action) - { - return $this->actionList[$action] ?? null; - } - - /** - * Get all of the routes in the collection. - * - * @return array - */ - public function getRoutes() - { - return array_values($this->allRoutes); - } - - /** - * Get all of the routes keyed by their HTTP verb / method. - * - * @return array - */ - public function getRoutesByMethod() - { - return $this->routes; - } - - /** - * Get all of the routes keyed by their name. - * - * @return array - */ - public function getRoutesByName() - { - return $this->nameList; - } - - /** - * Get an iterator for the items. - * - * @return \ArrayIterator - */ - public function getIterator() - { - return new ArrayIterator($this->getRoutes()); - } - - /** - * Count the number of items in the collection. - * - * @return int - */ - public function count() - { - return count($this->getRoutes()); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/RouteCompiler.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/RouteCompiler.php deleted file mode 100644 index c191663..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/RouteCompiler.php +++ /dev/null @@ -1,54 +0,0 @@ -route = $route; - } - - /** - * Compile the route. - * - * @return \Symfony\Component\Routing\CompiledRoute - */ - public function compile() - { - $optionals = $this->getOptionalParameters(); - - $uri = preg_replace('/\{(\w+?)\?\}/', '{$1}', $this->route->uri()); - - return ( - new SymfonyRoute($uri, $optionals, $this->route->wheres, ['utf8' => true], $this->route->getDomain() ?: '') - )->compile(); - } - - /** - * Get the optional parameters for the route. - * - * @return array - */ - protected function getOptionalParameters() - { - preg_match_all('/\{(\w+?)\?\}/', $this->route->uri(), $matches); - - return isset($matches[1]) ? array_fill_keys($matches[1], null) : []; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/RouteDependencyResolverTrait.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/RouteDependencyResolverTrait.php deleted file mode 100644 index 2db31c0..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/RouteDependencyResolverTrait.php +++ /dev/null @@ -1,111 +0,0 @@ -resolveMethodDependencies( - $parameters, new ReflectionMethod($instance, $method) - ); - } - - /** - * Resolve the given method's type-hinted dependencies. - * - * @param array $parameters - * @param \ReflectionFunctionAbstract $reflector - * @return array - */ - public function resolveMethodDependencies(array $parameters, ReflectionFunctionAbstract $reflector) - { - $instanceCount = 0; - - $values = array_values($parameters); - - foreach ($reflector->getParameters() as $key => $parameter) { - $instance = $this->transformDependency( - $parameter, $parameters - ); - - if (! is_null($instance)) { - $instanceCount++; - - $this->spliceIntoParameters($parameters, $key, $instance); - } elseif (! isset($values[$key - $instanceCount]) && - $parameter->isDefaultValueAvailable()) { - $this->spliceIntoParameters($parameters, $key, $parameter->getDefaultValue()); - } - } - - return $parameters; - } - - /** - * Attempt to transform the given parameter into a class instance. - * - * @param \ReflectionParameter $parameter - * @param array $parameters - * @return mixed - */ - protected function transformDependency(ReflectionParameter $parameter, $parameters) - { - $class = $parameter->getClass(); - - // If the parameter has a type-hinted class, we will check to see if it is already in - // the list of parameters. If it is we will just skip it as it is probably a model - // binding and we do not want to mess with those; otherwise, we resolve it here. - if ($class && ! $this->alreadyInParameters($class->name, $parameters)) { - return $parameter->isDefaultValueAvailable() - ? $parameter->getDefaultValue() - : $this->container->make($class->name); - } - } - - /** - * Determine if an object of the given class is in a list of parameters. - * - * @param string $class - * @param array $parameters - * @return bool - */ - protected function alreadyInParameters($class, array $parameters) - { - return ! is_null(Arr::first($parameters, function ($value) use ($class) { - return $value instanceof $class; - })); - } - - /** - * Splice the given value into the parameter list. - * - * @param array $parameters - * @param string $offset - * @param mixed $value - * @return void - */ - protected function spliceIntoParameters(array &$parameters, $offset, $value) - { - array_splice( - $parameters, $offset, 0, [$value] - ); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/RouteFileRegistrar.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/RouteFileRegistrar.php deleted file mode 100644 index 7670b10..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/RouteFileRegistrar.php +++ /dev/null @@ -1,37 +0,0 @@ -router = $router; - } - - /** - * Require the given routes file. - * - * @param string $routes - * @return void - */ - public function register($routes) - { - $router = $this->router; - - require $routes; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/RouteGroup.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/RouteGroup.php deleted file mode 100644 index 4041f1f..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/RouteGroup.php +++ /dev/null @@ -1,95 +0,0 @@ - static::formatNamespace($new, $old), - 'prefix' => static::formatPrefix($new, $old), - 'where' => static::formatWhere($new, $old), - ]); - - return array_merge_recursive(Arr::except( - $old, ['namespace', 'prefix', 'where', 'as'] - ), $new); - } - - /** - * Format the namespace for the new group attributes. - * - * @param array $new - * @param array $old - * @return string|null - */ - protected static function formatNamespace($new, $old) - { - if (isset($new['namespace'])) { - return isset($old['namespace']) && strpos($new['namespace'], '\\') !== 0 - ? trim($old['namespace'], '\\').'\\'.trim($new['namespace'], '\\') - : trim($new['namespace'], '\\'); - } - - return $old['namespace'] ?? null; - } - - /** - * Format the prefix for the new group attributes. - * - * @param array $new - * @param array $old - * @return string|null - */ - protected static function formatPrefix($new, $old) - { - $old = $old['prefix'] ?? null; - - return isset($new['prefix']) ? trim($old, '/').'/'.trim($new['prefix'], '/') : $old; - } - - /** - * Format the "wheres" for the new group attributes. - * - * @param array $new - * @param array $old - * @return array - */ - protected static function formatWhere($new, $old) - { - return array_merge( - $old['where'] ?? [], - $new['where'] ?? [] - ); - } - - /** - * Format the "as" clause of the new group attributes. - * - * @param array $new - * @param array $old - * @return array - */ - protected static function formatAs($new, $old) - { - if (isset($old['as'])) { - $new['as'] = $old['as'].($new['as'] ?? ''); - } - - return $new; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/RouteParameterBinder.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/RouteParameterBinder.php deleted file mode 100644 index 53e766e..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/RouteParameterBinder.php +++ /dev/null @@ -1,120 +0,0 @@ -route = $route; - } - - /** - * Get the parameters for the route. - * - * @param \Illuminate\Http\Request $request - * @return array - */ - public function parameters($request) - { - // If the route has a regular expression for the host part of the URI, we will - // compile that and get the parameter matches for this domain. We will then - // merge them into this parameters array so that this array is completed. - $parameters = $this->bindPathParameters($request); - - // If the route has a regular expression for the host part of the URI, we will - // compile that and get the parameter matches for this domain. We will then - // merge them into this parameters array so that this array is completed. - if (! is_null($this->route->compiled->getHostRegex())) { - $parameters = $this->bindHostParameters( - $request, $parameters - ); - } - - return $this->replaceDefaults($parameters); - } - - /** - * Get the parameter matches for the path portion of the URI. - * - * @param \Illuminate\Http\Request $request - * @return array - */ - protected function bindPathParameters($request) - { - $path = '/'.ltrim($request->decodedPath(), '/'); - - preg_match($this->route->compiled->getRegex(), $path, $matches); - - return $this->matchToKeys(array_slice($matches, 1)); - } - - /** - * Extract the parameter list from the host part of the request. - * - * @param \Illuminate\Http\Request $request - * @param array $parameters - * @return array - */ - protected function bindHostParameters($request, $parameters) - { - preg_match($this->route->compiled->getHostRegex(), $request->getHost(), $matches); - - return array_merge($this->matchToKeys(array_slice($matches, 1)), $parameters); - } - - /** - * Combine a set of parameter matches with the route's keys. - * - * @param array $matches - * @return array - */ - protected function matchToKeys(array $matches) - { - if (empty($parameterNames = $this->route->parameterNames())) { - return []; - } - - $parameters = array_intersect_key($matches, array_flip($parameterNames)); - - return array_filter($parameters, function ($value) { - return is_string($value) && strlen($value) > 0; - }); - } - - /** - * Replace null parameters with their defaults. - * - * @param array $parameters - * @return array - */ - protected function replaceDefaults(array $parameters) - { - foreach ($parameters as $key => $value) { - $parameters[$key] = $value ?? Arr::get($this->route->defaults, $key); - } - - foreach ($this->route->defaults as $key => $value) { - if (! isset($parameters[$key])) { - $parameters[$key] = $value; - } - } - - return $parameters; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/RouteRegistrar.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/RouteRegistrar.php deleted file mode 100644 index 81e2385..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/RouteRegistrar.php +++ /dev/null @@ -1,200 +0,0 @@ - 'as', - ]; - - /** - * Create a new route registrar instance. - * - * @param \Illuminate\Routing\Router $router - * @return void - */ - public function __construct(Router $router) - { - $this->router = $router; - } - - /** - * Set the value for a given attribute. - * - * @param string $key - * @param mixed $value - * @return $this - * - * @throws \InvalidArgumentException - */ - public function attribute($key, $value) - { - if (! in_array($key, $this->allowedAttributes)) { - throw new InvalidArgumentException("Attribute [{$key}] does not exist."); - } - - $this->attributes[Arr::get($this->aliases, $key, $key)] = $value; - - return $this; - } - - /** - * Route a resource to a controller. - * - * @param string $name - * @param string $controller - * @param array $options - * @return \Illuminate\Routing\PendingResourceRegistration - */ - public function resource($name, $controller, array $options = []) - { - return $this->router->resource($name, $controller, $this->attributes + $options); - } - - /** - * Create a route group with shared attributes. - * - * @param \Closure|string $callback - * @return void - */ - public function group($callback) - { - $this->router->group($this->attributes, $callback); - } - - /** - * Register a new route with the given verbs. - * - * @param array|string $methods - * @param string $uri - * @param \Closure|array|string|null $action - * @return \Illuminate\Routing\Route - */ - public function match($methods, $uri, $action = null) - { - return $this->router->match($methods, $uri, $this->compileAction($action)); - } - - /** - * Register a new route with the router. - * - * @param string $method - * @param string $uri - * @param \Closure|array|string|null $action - * @return \Illuminate\Routing\Route - */ - protected function registerRoute($method, $uri, $action = null) - { - if (! is_array($action)) { - $action = array_merge($this->attributes, $action ? ['uses' => $action] : []); - } - - return $this->router->{$method}($uri, $this->compileAction($action)); - } - - /** - * Compile the action into an array including the attributes. - * - * @param \Closure|array|string|null $action - * @return array - */ - protected function compileAction($action) - { - if (is_null($action)) { - return $this->attributes; - } - - if (is_string($action) || $action instanceof Closure) { - $action = ['uses' => $action]; - } - - return array_merge($this->attributes, $action); - } - - /** - * Dynamically handle calls into the route registrar. - * - * @param string $method - * @param array $parameters - * @return \Illuminate\Routing\Route|$this - * - * @throws \BadMethodCallException - */ - public function __call($method, $parameters) - { - if (in_array($method, $this->passthru)) { - return $this->registerRoute($method, ...$parameters); - } - - if (in_array($method, $this->allowedAttributes)) { - if ($method === 'middleware') { - return $this->attribute($method, is_array($parameters[0]) ? $parameters[0] : $parameters); - } - - return $this->attribute($method, $parameters[0]); - } - - throw new BadMethodCallException(sprintf( - 'Method %s::%s does not exist.', static::class, $method - )); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/RouteSignatureParameters.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/RouteSignatureParameters.php deleted file mode 100644 index 4019df1..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/RouteSignatureParameters.php +++ /dev/null @@ -1,45 +0,0 @@ -getParameters(); - - return is_null($subClass) ? $parameters : array_filter($parameters, function ($p) use ($subClass) { - return $p->getClass() && $p->getClass()->isSubclassOf($subClass); - }); - } - - /** - * Get the parameters for the given class / method by string. - * - * @param string $uses - * @return array - */ - protected static function fromClassMethodString($uses) - { - [$class, $method] = Str::parseCallback($uses); - - if (! method_exists($class, $method) && is_callable($class, $method)) { - return []; - } - - return (new ReflectionMethod($class, $method))->getParameters(); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/RouteUrlGenerator.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/RouteUrlGenerator.php deleted file mode 100644 index 33d406e..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/RouteUrlGenerator.php +++ /dev/null @@ -1,314 +0,0 @@ - '/', - '%40' => '@', - '%3A' => ':', - '%3B' => ';', - '%2C' => ',', - '%3D' => '=', - '%2B' => '+', - '%21' => '!', - '%2A' => '*', - '%7C' => '|', - '%3F' => '?', - '%26' => '&', - '%23' => '#', - '%25' => '%', - ]; - - /** - * Create a new Route URL generator. - * - * @param \Illuminate\Routing\UrlGenerator $url - * @param \Illuminate\Http\Request $request - * @return void - */ - public function __construct($url, $request) - { - $this->url = $url; - $this->request = $request; - } - - /** - * Generate a URL for the given route. - * - * @param \Illuminate\Routing\Route $route - * @param array $parameters - * @param bool $absolute - * @return string - * - * @throws \Illuminate\Routing\Exceptions\UrlGenerationException - */ - public function to($route, $parameters = [], $absolute = false) - { - $domain = $this->getRouteDomain($route, $parameters); - - // First we will construct the entire URI including the root and query string. Once it - // has been constructed, we'll make sure we don't have any missing parameters or we - // will need to throw the exception to let the developers know one was not given. - $uri = $this->addQueryString($this->url->format( - $root = $this->replaceRootParameters($route, $domain, $parameters), - $this->replaceRouteParameters($route->uri(), $parameters), - $route - ), $parameters); - - if (preg_match('/\{.*?\}/', $uri)) { - throw UrlGenerationException::forMissingParameters($route); - } - - // Once we have ensured that there are no missing parameters in the URI we will encode - // the URI and prepare it for returning to the developer. If the URI is supposed to - // be absolute, we will return it as-is. Otherwise we will remove the URL's root. - $uri = strtr(rawurlencode($uri), $this->dontEncode); - - if (! $absolute) { - $uri = preg_replace('#^(//|[^/?])+#', '', $uri); - - if ($base = $this->request->getBaseUrl()) { - $uri = preg_replace('#^'.$base.'#i', '', $uri); - } - - return '/'.ltrim($uri, '/'); - } - - return $uri; - } - - /** - * Get the formatted domain for a given route. - * - * @param \Illuminate\Routing\Route $route - * @param array $parameters - * @return string - */ - protected function getRouteDomain($route, &$parameters) - { - return $route->getDomain() ? $this->formatDomain($route, $parameters) : null; - } - - /** - * Format the domain and port for the route and request. - * - * @param \Illuminate\Routing\Route $route - * @param array $parameters - * @return string - */ - protected function formatDomain($route, &$parameters) - { - return $this->addPortToDomain( - $this->getRouteScheme($route).$route->getDomain() - ); - } - - /** - * Get the scheme for the given route. - * - * @param \Illuminate\Routing\Route $route - * @return string - */ - protected function getRouteScheme($route) - { - if ($route->httpOnly()) { - return 'http://'; - } elseif ($route->httpsOnly()) { - return 'https://'; - } - - return $this->url->formatScheme(); - } - - /** - * Add the port to the domain if necessary. - * - * @param string $domain - * @return string - */ - protected function addPortToDomain($domain) - { - $secure = $this->request->isSecure(); - - $port = (int) $this->request->getPort(); - - return ($secure && $port === 443) || (! $secure && $port === 80) - ? $domain : $domain.':'.$port; - } - - /** - * Replace the parameters on the root path. - * - * @param \Illuminate\Routing\Route $route - * @param string $domain - * @param array $parameters - * @return string - */ - protected function replaceRootParameters($route, $domain, &$parameters) - { - $scheme = $this->getRouteScheme($route); - - return $this->replaceRouteParameters( - $this->url->formatRoot($scheme, $domain), $parameters - ); - } - - /** - * Replace all of the wildcard parameters for a route path. - * - * @param string $path - * @param array $parameters - * @return string - */ - protected function replaceRouteParameters($path, array &$parameters) - { - $path = $this->replaceNamedParameters($path, $parameters); - - $path = preg_replace_callback('/\{.*?\}/', function ($match) use (&$parameters) { - return (empty($parameters) && ! Str::endsWith($match[0], '?}')) - ? $match[0] - : array_shift($parameters); - }, $path); - - return trim(preg_replace('/\{.*?\?\}/', '', $path), '/'); - } - - /** - * Replace all of the named parameters in the path. - * - * @param string $path - * @param array $parameters - * @return string - */ - protected function replaceNamedParameters($path, &$parameters) - { - return preg_replace_callback('/\{(.*?)\??\}/', function ($m) use (&$parameters) { - if (isset($parameters[$m[1]])) { - return Arr::pull($parameters, $m[1]); - } elseif (isset($this->defaultParameters[$m[1]])) { - return $this->defaultParameters[$m[1]]; - } - - return $m[0]; - }, $path); - } - - /** - * Add a query string to the URI. - * - * @param string $uri - * @param array $parameters - * @return mixed|string - */ - protected function addQueryString($uri, array $parameters) - { - // If the URI has a fragment we will move it to the end of this URI since it will - // need to come after any query string that may be added to the URL else it is - // not going to be available. We will remove it then append it back on here. - if (! is_null($fragment = parse_url($uri, PHP_URL_FRAGMENT))) { - $uri = preg_replace('/#.*/', '', $uri); - } - - $uri .= $this->getRouteQueryString($parameters); - - return is_null($fragment) ? $uri : $uri."#{$fragment}"; - } - - /** - * Get the query string for a given route. - * - * @param array $parameters - * @return string - */ - protected function getRouteQueryString(array $parameters) - { - // First we will get all of the string parameters that are remaining after we - // have replaced the route wildcards. We'll then build a query string from - // these string parameters then use it as a starting point for the rest. - if (count($parameters) === 0) { - return ''; - } - - $query = Arr::query( - $keyed = $this->getStringParameters($parameters) - ); - - // Lastly, if there are still parameters remaining, we will fetch the numeric - // parameters that are in the array and add them to the query string or we - // will make the initial query string if it wasn't started with strings. - if (count($keyed) < count($parameters)) { - $query .= '&'.implode( - '&', $this->getNumericParameters($parameters) - ); - } - - return '?'.trim($query, '&'); - } - - /** - * Get the string parameters from a given list. - * - * @param array $parameters - * @return array - */ - protected function getStringParameters(array $parameters) - { - return array_filter($parameters, 'is_string', ARRAY_FILTER_USE_KEY); - } - - /** - * Get the numeric parameters from a given list. - * - * @param array $parameters - * @return array - */ - protected function getNumericParameters(array $parameters) - { - return array_filter($parameters, 'is_numeric', ARRAY_FILTER_USE_KEY); - } - - /** - * Set the default named parameters used by the URL generator. - * - * @param array $defaults - * @return void - */ - public function defaults(array $defaults) - { - $this->defaultParameters = array_merge( - $this->defaultParameters, $defaults - ); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php deleted file mode 100644 index 8c13059..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php +++ /dev/null @@ -1,1277 +0,0 @@ -events = $events; - $this->routes = new RouteCollection; - $this->container = $container ?: new Container; - } - - /** - * Register a new GET route with the router. - * - * @param string $uri - * @param \Closure|array|string|callable|null $action - * @return \Illuminate\Routing\Route - */ - public function get($uri, $action = null) - { - return $this->addRoute(['GET', 'HEAD'], $uri, $action); - } - - /** - * Register a new POST route with the router. - * - * @param string $uri - * @param \Closure|array|string|callable|null $action - * @return \Illuminate\Routing\Route - */ - public function post($uri, $action = null) - { - return $this->addRoute('POST', $uri, $action); - } - - /** - * Register a new PUT route with the router. - * - * @param string $uri - * @param \Closure|array|string|callable|null $action - * @return \Illuminate\Routing\Route - */ - public function put($uri, $action = null) - { - return $this->addRoute('PUT', $uri, $action); - } - - /** - * Register a new PATCH route with the router. - * - * @param string $uri - * @param \Closure|array|string|callable|null $action - * @return \Illuminate\Routing\Route - */ - public function patch($uri, $action = null) - { - return $this->addRoute('PATCH', $uri, $action); - } - - /** - * Register a new DELETE route with the router. - * - * @param string $uri - * @param \Closure|array|string|callable|null $action - * @return \Illuminate\Routing\Route - */ - public function delete($uri, $action = null) - { - return $this->addRoute('DELETE', $uri, $action); - } - - /** - * Register a new OPTIONS route with the router. - * - * @param string $uri - * @param \Closure|array|string|callable|null $action - * @return \Illuminate\Routing\Route - */ - public function options($uri, $action = null) - { - return $this->addRoute('OPTIONS', $uri, $action); - } - - /** - * Register a new route responding to all verbs. - * - * @param string $uri - * @param \Closure|array|string|callable|null $action - * @return \Illuminate\Routing\Route - */ - public function any($uri, $action = null) - { - return $this->addRoute(self::$verbs, $uri, $action); - } - - /** - * Register a new Fallback route with the router. - * - * @param \Closure|array|string|callable|null $action - * @return \Illuminate\Routing\Route - */ - public function fallback($action) - { - $placeholder = 'fallbackPlaceholder'; - - return $this->addRoute( - 'GET', "{{$placeholder}}", $action - )->where($placeholder, '.*')->fallback(); - } - - /** - * Create a redirect from one URI to another. - * - * @param string $uri - * @param string $destination - * @param int $status - * @return \Illuminate\Routing\Route - */ - public function redirect($uri, $destination, $status = 302) - { - return $this->any($uri, '\Illuminate\Routing\RedirectController') - ->defaults('destination', $destination) - ->defaults('status', $status); - } - - /** - * Create a permanent redirect from one URI to another. - * - * @param string $uri - * @param string $destination - * @return \Illuminate\Routing\Route - */ - public function permanentRedirect($uri, $destination) - { - return $this->redirect($uri, $destination, 301); - } - - /** - * Register a new route that returns a view. - * - * @param string $uri - * @param string $view - * @param array $data - * @return \Illuminate\Routing\Route - */ - public function view($uri, $view, $data = []) - { - return $this->match(['GET', 'HEAD'], $uri, '\Illuminate\Routing\ViewController') - ->defaults('view', $view) - ->defaults('data', $data); - } - - /** - * Register a new route with the given verbs. - * - * @param array|string $methods - * @param string $uri - * @param \Closure|array|string|callable|null $action - * @return \Illuminate\Routing\Route - */ - public function match($methods, $uri, $action = null) - { - return $this->addRoute(array_map('strtoupper', (array) $methods), $uri, $action); - } - - /** - * Register an array of resource controllers. - * - * @param array $resources - * @param array $options - * @return void - */ - public function resources(array $resources, array $options = []) - { - foreach ($resources as $name => $controller) { - $this->resource($name, $controller, $options); - } - } - - /** - * Route a resource to a controller. - * - * @param string $name - * @param string $controller - * @param array $options - * @return \Illuminate\Routing\PendingResourceRegistration - */ - public function resource($name, $controller, array $options = []) - { - if ($this->container && $this->container->bound(ResourceRegistrar::class)) { - $registrar = $this->container->make(ResourceRegistrar::class); - } else { - $registrar = new ResourceRegistrar($this); - } - - return new PendingResourceRegistration( - $registrar, $name, $controller, $options - ); - } - - /** - * Register an array of API resource controllers. - * - * @param array $resources - * @param array $options - * @return void - */ - public function apiResources(array $resources, array $options = []) - { - foreach ($resources as $name => $controller) { - $this->apiResource($name, $controller, $options); - } - } - - /** - * Route an API resource to a controller. - * - * @param string $name - * @param string $controller - * @param array $options - * @return \Illuminate\Routing\PendingResourceRegistration - */ - public function apiResource($name, $controller, array $options = []) - { - $only = ['index', 'show', 'store', 'update', 'destroy']; - - if (isset($options['except'])) { - $only = array_diff($only, (array) $options['except']); - } - - return $this->resource($name, $controller, array_merge([ - 'only' => $only, - ], $options)); - } - - /** - * Create a route group with shared attributes. - * - * @param array $attributes - * @param \Closure|string $routes - * @return void - */ - public function group(array $attributes, $routes) - { - $this->updateGroupStack($attributes); - - // Once we have updated the group stack, we'll load the provided routes and - // merge in the group's attributes when the routes are created. After we - // have created the routes, we will pop the attributes off the stack. - $this->loadRoutes($routes); - - array_pop($this->groupStack); - } - - /** - * Update the group stack with the given attributes. - * - * @param array $attributes - * @return void - */ - protected function updateGroupStack(array $attributes) - { - if (! empty($this->groupStack)) { - $attributes = $this->mergeWithLastGroup($attributes); - } - - $this->groupStack[] = $attributes; - } - - /** - * Merge the given array with the last group stack. - * - * @param array $new - * @return array - */ - public function mergeWithLastGroup($new) - { - return RouteGroup::merge($new, end($this->groupStack)); - } - - /** - * Load the provided routes. - * - * @param \Closure|string $routes - * @return void - */ - protected function loadRoutes($routes) - { - if ($routes instanceof Closure) { - $routes($this); - } else { - (new RouteFileRegistrar($this))->register($routes); - } - } - - /** - * Get the prefix from the last group on the stack. - * - * @return string - */ - public function getLastGroupPrefix() - { - if (! empty($this->groupStack)) { - $last = end($this->groupStack); - - return $last['prefix'] ?? ''; - } - - return ''; - } - - /** - * Add a route to the underlying route collection. - * - * @param array|string $methods - * @param string $uri - * @param \Closure|array|string|callable|null $action - * @return \Illuminate\Routing\Route - */ - public function addRoute($methods, $uri, $action) - { - return $this->routes->add($this->createRoute($methods, $uri, $action)); - } - - /** - * Create a new route instance. - * - * @param array|string $methods - * @param string $uri - * @param mixed $action - * @return \Illuminate\Routing\Route - */ - protected function createRoute($methods, $uri, $action) - { - // If the route is routing to a controller we will parse the route action into - // an acceptable array format before registering it and creating this route - // instance itself. We need to build the Closure that will call this out. - if ($this->actionReferencesController($action)) { - $action = $this->convertToControllerAction($action); - } - - $route = $this->newRoute( - $methods, $this->prefix($uri), $action - ); - - // If we have groups that need to be merged, we will merge them now after this - // route has already been created and is ready to go. After we're done with - // the merge we will be ready to return the route back out to the caller. - if ($this->hasGroupStack()) { - $this->mergeGroupAttributesIntoRoute($route); - } - - $this->addWhereClausesToRoute($route); - - return $route; - } - - /** - * Determine if the action is routing to a controller. - * - * @param array $action - * @return bool - */ - protected function actionReferencesController($action) - { - if (! $action instanceof Closure) { - return is_string($action) || (isset($action['uses']) && is_string($action['uses'])); - } - - return false; - } - - /** - * Add a controller based route action to the action array. - * - * @param array|string $action - * @return array - */ - protected function convertToControllerAction($action) - { - if (is_string($action)) { - $action = ['uses' => $action]; - } - - // Here we'll merge any group "uses" statement if necessary so that the action - // has the proper clause for this property. Then we can simply set the name - // of the controller on the action and return the action array for usage. - if (! empty($this->groupStack)) { - $action['uses'] = $this->prependGroupNamespace($action['uses']); - } - - // Here we will set this controller name on the action array just so we always - // have a copy of it for reference if we need it. This can be used while we - // search for a controller name or do some other type of fetch operation. - $action['controller'] = $action['uses']; - - return $action; - } - - /** - * Prepend the last group namespace onto the use clause. - * - * @param string $class - * @return string - */ - protected function prependGroupNamespace($class) - { - $group = end($this->groupStack); - - return isset($group['namespace']) && strpos($class, '\\') !== 0 - ? $group['namespace'].'\\'.$class : $class; - } - - /** - * Create a new Route object. - * - * @param array|string $methods - * @param string $uri - * @param mixed $action - * @return \Illuminate\Routing\Route - */ - protected function newRoute($methods, $uri, $action) - { - return (new Route($methods, $uri, $action)) - ->setRouter($this) - ->setContainer($this->container); - } - - /** - * Prefix the given URI with the last prefix. - * - * @param string $uri - * @return string - */ - protected function prefix($uri) - { - return trim(trim($this->getLastGroupPrefix(), '/').'/'.trim($uri, '/'), '/') ?: '/'; - } - - /** - * Add the necessary where clauses to the route based on its initial registration. - * - * @param \Illuminate\Routing\Route $route - * @return \Illuminate\Routing\Route - */ - protected function addWhereClausesToRoute($route) - { - $route->where(array_merge( - $this->patterns, $route->getAction()['where'] ?? [] - )); - - return $route; - } - - /** - * Merge the group stack with the controller action. - * - * @param \Illuminate\Routing\Route $route - * @return void - */ - protected function mergeGroupAttributesIntoRoute($route) - { - $route->setAction($this->mergeWithLastGroup($route->getAction())); - } - - /** - * Return the response returned by the given route. - * - * @param string $name - * @return \Illuminate\Http\Response|\Illuminate\Http\JsonResponse - */ - public function respondWithRoute($name) - { - $route = tap($this->routes->getByName($name))->bind($this->currentRequest); - - return $this->runRoute($this->currentRequest, $route); - } - - /** - * Dispatch the request to the application. - * - * @param \Illuminate\Http\Request $request - * @return \Illuminate\Http\Response|\Illuminate\Http\JsonResponse - */ - public function dispatch(Request $request) - { - $this->currentRequest = $request; - - return $this->dispatchToRoute($request); - } - - /** - * Dispatch the request to a route and return the response. - * - * @param \Illuminate\Http\Request $request - * @return \Illuminate\Http\Response|\Illuminate\Http\JsonResponse - */ - public function dispatchToRoute(Request $request) - { - return $this->runRoute($request, $this->findRoute($request)); - } - - /** - * Find the route matching a given request. - * - * @param \Illuminate\Http\Request $request - * @return \Illuminate\Routing\Route - */ - protected function findRoute($request) - { - $this->current = $route = $this->routes->match($request); - - $this->container->instance(Route::class, $route); - - return $route; - } - - /** - * Return the response for the given route. - * - * @param \Illuminate\Http\Request $request - * @param \Illuminate\Routing\Route $route - * @return \Illuminate\Http\Response|\Illuminate\Http\JsonResponse - */ - protected function runRoute(Request $request, Route $route) - { - $request->setRouteResolver(function () use ($route) { - return $route; - }); - - $this->events->dispatch(new Events\RouteMatched($route, $request)); - - return $this->prepareResponse($request, - $this->runRouteWithinStack($route, $request) - ); - } - - /** - * Run the given route within a Stack "onion" instance. - * - * @param \Illuminate\Routing\Route $route - * @param \Illuminate\Http\Request $request - * @return mixed - */ - protected function runRouteWithinStack(Route $route, Request $request) - { - $shouldSkipMiddleware = $this->container->bound('middleware.disable') && - $this->container->make('middleware.disable') === true; - - $middleware = $shouldSkipMiddleware ? [] : $this->gatherRouteMiddleware($route); - - return (new Pipeline($this->container)) - ->send($request) - ->through($middleware) - ->then(function ($request) use ($route) { - return $this->prepareResponse( - $request, $route->run() - ); - }); - } - - /** - * Gather the middleware for the given route with resolved class names. - * - * @param \Illuminate\Routing\Route $route - * @return array - */ - public function gatherRouteMiddleware(Route $route) - { - $middleware = collect($route->gatherMiddleware())->map(function ($name) { - return (array) MiddlewareNameResolver::resolve($name, $this->middleware, $this->middlewareGroups); - })->flatten(); - - return $this->sortMiddleware($middleware); - } - - /** - * Sort the given middleware by priority. - * - * @param \Illuminate\Support\Collection $middlewares - * @return array - */ - protected function sortMiddleware(Collection $middlewares) - { - return (new SortedMiddleware($this->middlewarePriority, $middlewares))->all(); - } - - /** - * Create a response instance from the given value. - * - * @param \Symfony\Component\HttpFoundation\Request $request - * @param mixed $response - * @return \Illuminate\Http\Response|\Illuminate\Http\JsonResponse - */ - public function prepareResponse($request, $response) - { - return static::toResponse($request, $response); - } - - /** - * Static version of prepareResponse. - * - * @param \Symfony\Component\HttpFoundation\Request $request - * @param mixed $response - * @return \Illuminate\Http\Response|\Illuminate\Http\JsonResponse - */ - public static function toResponse($request, $response) - { - if ($response instanceof Responsable) { - $response = $response->toResponse($request); - } - - if ($response instanceof PsrResponseInterface) { - $response = (new HttpFoundationFactory)->createResponse($response); - } elseif ($response instanceof Model && $response->wasRecentlyCreated) { - $response = new JsonResponse($response, 201); - } elseif (! $response instanceof SymfonyResponse && - ($response instanceof Arrayable || - $response instanceof Jsonable || - $response instanceof ArrayObject || - $response instanceof JsonSerializable || - is_array($response))) { - $response = new JsonResponse($response); - } elseif (! $response instanceof SymfonyResponse) { - $response = new Response($response); - } - - if ($response->getStatusCode() === Response::HTTP_NOT_MODIFIED) { - $response->setNotModified(); - } - - return $response->prepare($request); - } - - /** - * Substitute the route bindings onto the route. - * - * @param \Illuminate\Routing\Route $route - * @return \Illuminate\Routing\Route - * - * @throws \Illuminate\Database\Eloquent\ModelNotFoundException - */ - public function substituteBindings($route) - { - foreach ($route->parameters() as $key => $value) { - if (isset($this->binders[$key])) { - $route->setParameter($key, $this->performBinding($key, $value, $route)); - } - } - - return $route; - } - - /** - * Substitute the implicit Eloquent model bindings for the route. - * - * @param \Illuminate\Routing\Route $route - * @return void - * - * @throws \Illuminate\Database\Eloquent\ModelNotFoundException - */ - public function substituteImplicitBindings($route) - { - ImplicitRouteBinding::resolveForRoute($this->container, $route); - } - - /** - * Call the binding callback for the given key. - * - * @param string $key - * @param string $value - * @param \Illuminate\Routing\Route $route - * @return mixed - * - * @throws \Illuminate\Database\Eloquent\ModelNotFoundException - */ - protected function performBinding($key, $value, $route) - { - return call_user_func($this->binders[$key], $value, $route); - } - - /** - * Register a route matched event listener. - * - * @param string|callable $callback - * @return void - */ - public function matched($callback) - { - $this->events->listen(Events\RouteMatched::class, $callback); - } - - /** - * Get all of the defined middleware short-hand names. - * - * @return array - */ - public function getMiddleware() - { - return $this->middleware; - } - - /** - * Register a short-hand name for a middleware. - * - * @param string $name - * @param string $class - * @return $this - */ - public function aliasMiddleware($name, $class) - { - $this->middleware[$name] = $class; - - return $this; - } - - /** - * Check if a middlewareGroup with the given name exists. - * - * @param string $name - * @return bool - */ - public function hasMiddlewareGroup($name) - { - return array_key_exists($name, $this->middlewareGroups); - } - - /** - * Get all of the defined middleware groups. - * - * @return array - */ - public function getMiddlewareGroups() - { - return $this->middlewareGroups; - } - - /** - * Register a group of middleware. - * - * @param string $name - * @param array $middleware - * @return $this - */ - public function middlewareGroup($name, array $middleware) - { - $this->middlewareGroups[$name] = $middleware; - - return $this; - } - - /** - * Add a middleware to the beginning of a middleware group. - * - * If the middleware is already in the group, it will not be added again. - * - * @param string $group - * @param string $middleware - * @return $this - */ - public function prependMiddlewareToGroup($group, $middleware) - { - if (isset($this->middlewareGroups[$group]) && ! in_array($middleware, $this->middlewareGroups[$group])) { - array_unshift($this->middlewareGroups[$group], $middleware); - } - - return $this; - } - - /** - * Add a middleware to the end of a middleware group. - * - * If the middleware is already in the group, it will not be added again. - * - * @param string $group - * @param string $middleware - * @return $this - */ - public function pushMiddlewareToGroup($group, $middleware) - { - if (! array_key_exists($group, $this->middlewareGroups)) { - $this->middlewareGroups[$group] = []; - } - - if (! in_array($middleware, $this->middlewareGroups[$group])) { - $this->middlewareGroups[$group][] = $middleware; - } - - return $this; - } - - /** - * Add a new route parameter binder. - * - * @param string $key - * @param string|callable $binder - * @return void - */ - public function bind($key, $binder) - { - $this->binders[str_replace('-', '_', $key)] = RouteBinding::forCallback( - $this->container, $binder - ); - } - - /** - * Register a model binder for a wildcard. - * - * @param string $key - * @param string $class - * @param \Closure|null $callback - * @return void - */ - public function model($key, $class, Closure $callback = null) - { - $this->bind($key, RouteBinding::forModel($this->container, $class, $callback)); - } - - /** - * Get the binding callback for a given binding. - * - * @param string $key - * @return \Closure|null - */ - public function getBindingCallback($key) - { - if (isset($this->binders[$key = str_replace('-', '_', $key)])) { - return $this->binders[$key]; - } - } - - /** - * Get the global "where" patterns. - * - * @return array - */ - public function getPatterns() - { - return $this->patterns; - } - - /** - * Set a global where pattern on all routes. - * - * @param string $key - * @param string $pattern - * @return void - */ - public function pattern($key, $pattern) - { - $this->patterns[$key] = $pattern; - } - - /** - * Set a group of global where patterns on all routes. - * - * @param array $patterns - * @return void - */ - public function patterns($patterns) - { - foreach ($patterns as $key => $pattern) { - $this->pattern($key, $pattern); - } - } - - /** - * Determine if the router currently has a group stack. - * - * @return bool - */ - public function hasGroupStack() - { - return ! empty($this->groupStack); - } - - /** - * Get the current group stack for the router. - * - * @return array - */ - public function getGroupStack() - { - return $this->groupStack; - } - - /** - * Get a route parameter for the current route. - * - * @param string $key - * @param string|null $default - * @return mixed - */ - public function input($key, $default = null) - { - return $this->current()->parameter($key, $default); - } - - /** - * Get the request currently being dispatched. - * - * @return \Illuminate\Http\Request - */ - public function getCurrentRequest() - { - return $this->currentRequest; - } - - /** - * Get the currently dispatched route instance. - * - * @return \Illuminate\Routing\Route - */ - public function getCurrentRoute() - { - return $this->current(); - } - - /** - * Get the currently dispatched route instance. - * - * @return \Illuminate\Routing\Route|null - */ - public function current() - { - return $this->current; - } - - /** - * Check if a route with the given name exists. - * - * @param string $name - * @return bool - */ - public function has($name) - { - $names = is_array($name) ? $name : func_get_args(); - - foreach ($names as $value) { - if (! $this->routes->hasNamedRoute($value)) { - return false; - } - } - - return true; - } - - /** - * Get the current route name. - * - * @return string|null - */ - public function currentRouteName() - { - return $this->current() ? $this->current()->getName() : null; - } - - /** - * Alias for the "currentRouteNamed" method. - * - * @param mixed ...$patterns - * @return bool - */ - public function is(...$patterns) - { - return $this->currentRouteNamed(...$patterns); - } - - /** - * Determine if the current route matches a pattern. - * - * @param mixed ...$patterns - * @return bool - */ - public function currentRouteNamed(...$patterns) - { - return $this->current() && $this->current()->named(...$patterns); - } - - /** - * Get the current route action. - * - * @return string|null - */ - public function currentRouteAction() - { - if ($this->current()) { - return $this->current()->getAction()['controller'] ?? null; - } - } - - /** - * Alias for the "currentRouteUses" method. - * - * @param array ...$patterns - * @return bool - */ - public function uses(...$patterns) - { - foreach ($patterns as $pattern) { - if (Str::is($pattern, $this->currentRouteAction())) { - return true; - } - } - - return false; - } - - /** - * Determine if the current route action matches a given action. - * - * @param string $action - * @return bool - */ - public function currentRouteUses($action) - { - return $this->currentRouteAction() == $action; - } - - /** - * Register the typical authentication routes for an application. - * - * @param array $options - * @return void - */ - public function auth(array $options = []) - { - // Authentication Routes... - $this->get('login', 'Auth\LoginController@showLoginForm')->name('login'); - $this->post('login', 'Auth\LoginController@login'); - $this->post('logout', 'Auth\LoginController@logout')->name('logout'); - - // Registration Routes... - if ($options['register'] ?? true) { - $this->get('register', 'Auth\RegisterController@showRegistrationForm')->name('register'); - $this->post('register', 'Auth\RegisterController@register'); - } - - // Password Reset Routes... - if ($options['reset'] ?? true) { - $this->resetPassword(); - } - - // Email Verification Routes... - if ($options['verify'] ?? false) { - $this->emailVerification(); - } - } - - /** - * Register the typical reset password routes for an application. - * - * @return void - */ - public function resetPassword() - { - $this->get('password/reset', 'Auth\ForgotPasswordController@showLinkRequestForm')->name('password.request'); - $this->post('password/email', 'Auth\ForgotPasswordController@sendResetLinkEmail')->name('password.email'); - $this->get('password/reset/{token}', 'Auth\ResetPasswordController@showResetForm')->name('password.reset'); - $this->post('password/reset', 'Auth\ResetPasswordController@reset')->name('password.update'); - } - - /** - * Register the typical email verification routes for an application. - * - * @return void - */ - public function emailVerification() - { - $this->get('email/verify', 'Auth\VerificationController@show')->name('verification.notice'); - $this->get('email/verify/{id}', 'Auth\VerificationController@verify')->name('verification.verify'); - $this->get('email/resend', 'Auth\VerificationController@resend')->name('verification.resend'); - } - - /** - * Set the unmapped global resource parameters to singular. - * - * @param bool $singular - * @return void - */ - public function singularResourceParameters($singular = true) - { - ResourceRegistrar::singularParameters($singular); - } - - /** - * Set the global resource parameter mapping. - * - * @param array $parameters - * @return void - */ - public function resourceParameters(array $parameters = []) - { - ResourceRegistrar::setParameters($parameters); - } - - /** - * Get or set the verbs used in the resource URIs. - * - * @param array $verbs - * @return array|null - */ - public function resourceVerbs(array $verbs = []) - { - return ResourceRegistrar::verbs($verbs); - } - - /** - * Get the underlying route collection. - * - * @return \Illuminate\Routing\RouteCollection - */ - public function getRoutes() - { - return $this->routes; - } - - /** - * Set the route collection instance. - * - * @param \Illuminate\Routing\RouteCollection $routes - * @return void - */ - public function setRoutes(RouteCollection $routes) - { - foreach ($routes as $route) { - $route->setRouter($this)->setContainer($this->container); - } - - $this->routes = $routes; - - $this->container->instance('routes', $this->routes); - } - - /** - * Dynamically handle calls into the router instance. - * - * @param string $method - * @param array $parameters - * @return mixed - */ - public function __call($method, $parameters) - { - if (static::hasMacro($method)) { - return $this->macroCall($method, $parameters); - } - - if ($method === 'middleware') { - return (new RouteRegistrar($this))->attribute($method, is_array($parameters[0]) ? $parameters[0] : $parameters); - } - - return (new RouteRegistrar($this))->attribute($method, $parameters[0]); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/RoutingServiceProvider.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/RoutingServiceProvider.php deleted file mode 100644 index 2a3d522..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/RoutingServiceProvider.php +++ /dev/null @@ -1,167 +0,0 @@ -registerRouter(); - $this->registerUrlGenerator(); - $this->registerRedirector(); - $this->registerPsrRequest(); - $this->registerPsrResponse(); - $this->registerResponseFactory(); - $this->registerControllerDispatcher(); - } - - /** - * Register the router instance. - * - * @return void - */ - protected function registerRouter() - { - $this->app->singleton('router', function ($app) { - return new Router($app['events'], $app); - }); - } - - /** - * Register the URL generator service. - * - * @return void - */ - protected function registerUrlGenerator() - { - $this->app->singleton('url', function ($app) { - $routes = $app['router']->getRoutes(); - - // The URL generator needs the route collection that exists on the router. - // Keep in mind this is an object, so we're passing by references here - // and all the registered routes will be available to the generator. - $app->instance('routes', $routes); - - $url = new UrlGenerator( - $routes, $app->rebinding( - 'request', $this->requestRebinder() - ), $app['config']['app.asset_url'] - ); - - // Next we will set a few service resolvers on the URL generator so it can - // get the information it needs to function. This just provides some of - // the convenience features to this URL generator like "signed" URLs. - $url->setSessionResolver(function () { - return $this->app['session'] ?? null; - }); - - $url->setKeyResolver(function () { - return $this->app->make('config')->get('app.key'); - }); - - // If the route collection is "rebound", for example, when the routes stay - // cached for the application, we will need to rebind the routes on the - // URL generator instance so it has the latest version of the routes. - $app->rebinding('routes', function ($app, $routes) { - $app['url']->setRoutes($routes); - }); - - return $url; - }); - } - - /** - * Get the URL generator request rebinder. - * - * @return \Closure - */ - protected function requestRebinder() - { - return function ($app, $request) { - $app['url']->setRequest($request); - }; - } - - /** - * Register the Redirector service. - * - * @return void - */ - protected function registerRedirector() - { - $this->app->singleton('redirect', function ($app) { - $redirector = new Redirector($app['url']); - - // If the session is set on the application instance, we'll inject it into - // the redirector instance. This allows the redirect responses to allow - // for the quite convenient "with" methods that flash to the session. - if (isset($app['session.store'])) { - $redirector->setSession($app['session.store']); - } - - return $redirector; - }); - } - - /** - * Register a binding for the PSR-7 request implementation. - * - * @return void - */ - protected function registerPsrRequest() - { - $this->app->bind(ServerRequestInterface::class, function ($app) { - return (new DiactorosFactory)->createRequest($app->make('request')); - }); - } - - /** - * Register a binding for the PSR-7 response implementation. - * - * @return void - */ - protected function registerPsrResponse() - { - $this->app->bind(ResponseInterface::class, function () { - return new PsrResponse; - }); - } - - /** - * Register the response factory implementation. - * - * @return void - */ - protected function registerResponseFactory() - { - $this->app->singleton(ResponseFactoryContract::class, function ($app) { - return new ResponseFactory($app[ViewFactoryContract::class], $app['redirect']); - }); - } - - /** - * Register the controller dispatcher. - * - * @return void - */ - protected function registerControllerDispatcher() - { - $this->app->singleton(ControllerDispatcherContract::class, function ($app) { - return new ControllerDispatcher($app); - }); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/SortedMiddleware.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/SortedMiddleware.php deleted file mode 100644 index 6af28d5..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/SortedMiddleware.php +++ /dev/null @@ -1,84 +0,0 @@ -all(); - } - - $this->items = $this->sortMiddleware($priorityMap, $middlewares); - } - - /** - * Sort the middlewares by the given priority map. - * - * Each call to this method makes one discrete middleware movement if necessary. - * - * @param array $priorityMap - * @param array $middlewares - * @return array - */ - protected function sortMiddleware($priorityMap, $middlewares) - { - $lastIndex = 0; - - foreach ($middlewares as $index => $middleware) { - if (! is_string($middleware)) { - continue; - } - - $stripped = head(explode(':', $middleware)); - - if (in_array($stripped, $priorityMap)) { - $priorityIndex = array_search($stripped, $priorityMap); - - // This middleware is in the priority map. If we have encountered another middleware - // that was also in the priority map and was at a lower priority than the current - // middleware, we will move this middleware to be above the previous encounter. - if (isset($lastPriorityIndex) && $priorityIndex < $lastPriorityIndex) { - return $this->sortMiddleware( - $priorityMap, array_values($this->moveMiddleware($middlewares, $index, $lastIndex)) - ); - } - - // This middleware is in the priority map; but, this is the first middleware we have - // encountered from the map thus far. We'll save its current index plus its index - // from the priority map so we can compare against them on the next iterations. - $lastIndex = $index; - $lastPriorityIndex = $priorityIndex; - } - } - - return array_values(array_unique($middlewares, SORT_REGULAR)); - } - - /** - * Splice a middleware into a new position and remove the old entry. - * - * @param array $middlewares - * @param int $from - * @param int $to - * @return array - */ - protected function moveMiddleware($middlewares, $from, $to) - { - array_splice($middlewares, $to, 0, $middlewares[$from]); - - unset($middlewares[$from + 1]); - - return $middlewares; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/UrlGenerator.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/UrlGenerator.php deleted file mode 100644 index 850f2b4..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/UrlGenerator.php +++ /dev/null @@ -1,730 +0,0 @@ -routes = $routes; - $this->assetRoot = $assetRoot; - - $this->setRequest($request); - } - - /** - * Get the full URL for the current request. - * - * @return string - */ - public function full() - { - return $this->request->fullUrl(); - } - - /** - * Get the current URL for the request. - * - * @return string - */ - public function current() - { - return $this->to($this->request->getPathInfo()); - } - - /** - * Get the URL for the previous request. - * - * @param mixed $fallback - * @return string - */ - public function previous($fallback = false) - { - $referrer = $this->request->headers->get('referer'); - - $url = $referrer ? $this->to($referrer) : $this->getPreviousUrlFromSession(); - - if ($url) { - return $url; - } elseif ($fallback) { - return $this->to($fallback); - } - - return $this->to('/'); - } - - /** - * Get the previous URL from the session if possible. - * - * @return string|null - */ - protected function getPreviousUrlFromSession() - { - $session = $this->getSession(); - - return $session ? $session->previousUrl() : null; - } - - /** - * Generate an absolute URL to the given path. - * - * @param string $path - * @param mixed $extra - * @param bool|null $secure - * @return string - */ - public function to($path, $extra = [], $secure = null) - { - // First we will check if the URL is already a valid URL. If it is we will not - // try to generate a new one but will simply return the URL as is, which is - // convenient since developers do not always have to check if it's valid. - if ($this->isValidUrl($path)) { - return $path; - } - - $tail = implode('/', array_map( - 'rawurlencode', (array) $this->formatParameters($extra)) - ); - - // Once we have the scheme we will compile the "tail" by collapsing the values - // into a single string delimited by slashes. This just makes it convenient - // for passing the array of parameters to this URL as a list of segments. - $root = $this->formatRoot($this->formatScheme($secure)); - - [$path, $query] = $this->extractQueryString($path); - - return $this->format( - $root, '/'.trim($path.'/'.$tail, '/') - ).$query; - } - - /** - * Generate a secure, absolute URL to the given path. - * - * @param string $path - * @param array $parameters - * @return string - */ - public function secure($path, $parameters = []) - { - return $this->to($path, $parameters, true); - } - - /** - * Generate the URL to an application asset. - * - * @param string $path - * @param bool|null $secure - * @return string - */ - public function asset($path, $secure = null) - { - if ($this->isValidUrl($path)) { - return $path; - } - - // Once we get the root URL, we will check to see if it contains an index.php - // file in the paths. If it does, we will remove it since it is not needed - // for asset paths, but only for routes to endpoints in the application. - $root = $this->assetRoot - ? $this->assetRoot - : $this->formatRoot($this->formatScheme($secure)); - - return $this->removeIndex($root).'/'.trim($path, '/'); - } - - /** - * Generate the URL to a secure asset. - * - * @param string $path - * @return string - */ - public function secureAsset($path) - { - return $this->asset($path, true); - } - - /** - * Generate the URL to an asset from a custom root domain such as CDN, etc. - * - * @param string $root - * @param string $path - * @param bool|null $secure - * @return string - */ - public function assetFrom($root, $path, $secure = null) - { - // Once we get the root URL, we will check to see if it contains an index.php - // file in the paths. If it does, we will remove it since it is not needed - // for asset paths, but only for routes to endpoints in the application. - $root = $this->formatRoot($this->formatScheme($secure), $root); - - return $this->removeIndex($root).'/'.trim($path, '/'); - } - - /** - * Remove the index.php file from a path. - * - * @param string $root - * @return string - */ - protected function removeIndex($root) - { - $i = 'index.php'; - - return Str::contains($root, $i) ? str_replace('/'.$i, '', $root) : $root; - } - - /** - * Get the default scheme for a raw URL. - * - * @param bool|null $secure - * @return string - */ - public function formatScheme($secure = null) - { - if (! is_null($secure)) { - return $secure ? 'https://' : 'http://'; - } - - if (is_null($this->cachedScheme)) { - $this->cachedScheme = $this->forceScheme ?: $this->request->getScheme().'://'; - } - - return $this->cachedScheme; - } - - /** - * Create a signed route URL for a named route. - * - * @param string $name - * @param array $parameters - * @param \DateTimeInterface|\DateInterval|int|null $expiration - * @param bool $absolute - * @return string - */ - public function signedRoute($name, $parameters = [], $expiration = null, $absolute = true) - { - $parameters = $this->formatParameters($parameters); - - if ($expiration) { - $parameters = $parameters + ['expires' => $this->availableAt($expiration)]; - } - - ksort($parameters); - - $key = call_user_func($this->keyResolver); - - return $this->route($name, $parameters + [ - 'signature' => hash_hmac('sha256', $this->route($name, $parameters, $absolute), $key), - ], $absolute); - } - - /** - * Create a temporary signed route URL for a named route. - * - * @param string $name - * @param \DateTimeInterface|\DateInterval|int $expiration - * @param array $parameters - * @param bool $absolute - * @return string - */ - public function temporarySignedRoute($name, $expiration, $parameters = [], $absolute = true) - { - return $this->signedRoute($name, $parameters, $expiration, $absolute); - } - - /** - * Determine if the given request has a valid signature. - * - * @param \Illuminate\Http\Request $request - * @param bool $absolute - * @return bool - */ - public function hasValidSignature(Request $request, $absolute = true) - { - $url = $absolute ? $request->url() : '/'.$request->path(); - - $original = rtrim($url.'?'.Arr::query( - Arr::except($request->query(), 'signature') - ), '?'); - - $expires = $request->query('expires'); - - $signature = hash_hmac('sha256', $original, call_user_func($this->keyResolver)); - - return hash_equals($signature, (string) $request->query('signature', '')) && - ! ($expires && Carbon::now()->getTimestamp() > $expires); - } - - /** - * Get the URL to a named route. - * - * @param string $name - * @param mixed $parameters - * @param bool $absolute - * @return string - * - * @throws \InvalidArgumentException - */ - public function route($name, $parameters = [], $absolute = true) - { - if (! is_null($route = $this->routes->getByName($name))) { - return $this->toRoute($route, $parameters, $absolute); - } - - throw new InvalidArgumentException("Route [{$name}] not defined."); - } - - /** - * Get the URL for a given route instance. - * - * @param \Illuminate\Routing\Route $route - * @param mixed $parameters - * @param bool $absolute - * @return string - * - * @throws \Illuminate\Routing\Exceptions\UrlGenerationException - */ - protected function toRoute($route, $parameters, $absolute) - { - return $this->routeUrl()->to( - $route, $this->formatParameters($parameters), $absolute - ); - } - - /** - * Get the URL to a controller action. - * - * @param string|array $action - * @param mixed $parameters - * @param bool $absolute - * @return string - * - * @throws \InvalidArgumentException - */ - public function action($action, $parameters = [], $absolute = true) - { - if (is_null($route = $this->routes->getByAction($action = $this->formatAction($action)))) { - throw new InvalidArgumentException("Action {$action} not defined."); - } - - return $this->toRoute($route, $parameters, $absolute); - } - - /** - * Format the given controller action. - * - * @param string|array $action - * @return string - */ - protected function formatAction($action) - { - if (is_array($action)) { - $action = '\\'.implode('@', $action); - } - - if ($this->rootNamespace && strpos($action, '\\') !== 0) { - return $this->rootNamespace.'\\'.$action; - } else { - return trim($action, '\\'); - } - } - - /** - * Format the array of URL parameters. - * - * @param mixed|array $parameters - * @return array - */ - public function formatParameters($parameters) - { - $parameters = Arr::wrap($parameters); - - foreach ($parameters as $key => $parameter) { - if ($parameter instanceof UrlRoutable) { - $parameters[$key] = $parameter->getRouteKey(); - } - } - - return $parameters; - } - - /** - * Extract the query string from the given path. - * - * @param string $path - * @return array - */ - protected function extractQueryString($path) - { - if (($queryPosition = strpos($path, '?')) !== false) { - return [ - substr($path, 0, $queryPosition), - substr($path, $queryPosition), - ]; - } - - return [$path, '']; - } - - /** - * Get the base URL for the request. - * - * @param string $scheme - * @param string|null $root - * @return string - */ - public function formatRoot($scheme, $root = null) - { - if (is_null($root)) { - if (is_null($this->cachedRoot)) { - $this->cachedRoot = $this->forcedRoot ?: $this->request->root(); - } - - $root = $this->cachedRoot; - } - - $start = Str::startsWith($root, 'http://') ? 'http://' : 'https://'; - - return preg_replace('~'.$start.'~', $scheme, $root, 1); - } - - /** - * Format the given URL segments into a single URL. - * - * @param string $root - * @param string $path - * @param \Illuminate\Routing\Route|null $route - * @return string - */ - public function format($root, $path, $route = null) - { - $path = '/'.trim($path, '/'); - - if ($this->formatHostUsing) { - $root = call_user_func($this->formatHostUsing, $root, $route); - } - - if ($this->formatPathUsing) { - $path = call_user_func($this->formatPathUsing, $path, $route); - } - - return trim($root.$path, '/'); - } - - /** - * Determine if the given path is a valid URL. - * - * @param string $path - * @return bool - */ - public function isValidUrl($path) - { - if (! preg_match('~^(#|//|https?://|mailto:|tel:)~', $path)) { - return filter_var($path, FILTER_VALIDATE_URL) !== false; - } - - return true; - } - - /** - * Get the Route URL generator instance. - * - * @return \Illuminate\Routing\RouteUrlGenerator - */ - protected function routeUrl() - { - if (! $this->routeGenerator) { - $this->routeGenerator = new RouteUrlGenerator($this, $this->request); - } - - return $this->routeGenerator; - } - - /** - * Set the default named parameters used by the URL generator. - * - * @param array $defaults - * @return void - */ - public function defaults(array $defaults) - { - $this->routeUrl()->defaults($defaults); - } - - /** - * Get the default named parameters used by the URL generator. - * - * @return array - */ - public function getDefaultParameters() - { - return $this->routeUrl()->defaultParameters; - } - - /** - * Force the scheme for URLs. - * - * @param string $scheme - * @return void - */ - public function forceScheme($scheme) - { - $this->cachedScheme = null; - - $this->forceScheme = $scheme.'://'; - } - - /** - * Set the forced root URL. - * - * @param string $root - * @return void - */ - public function forceRootUrl($root) - { - $this->forcedRoot = rtrim($root, '/'); - - $this->cachedRoot = null; - } - - /** - * Set a callback to be used to format the host of generated URLs. - * - * @param \Closure $callback - * @return $this - */ - public function formatHostUsing(Closure $callback) - { - $this->formatHostUsing = $callback; - - return $this; - } - - /** - * Set a callback to be used to format the path of generated URLs. - * - * @param \Closure $callback - * @return $this - */ - public function formatPathUsing(Closure $callback) - { - $this->formatPathUsing = $callback; - - return $this; - } - - /** - * Get the path formatter being used by the URL generator. - * - * @return \Closure - */ - public function pathFormatter() - { - return $this->formatPathUsing ?: function ($path) { - return $path; - }; - } - - /** - * Get the request instance. - * - * @return \Illuminate\Http\Request - */ - public function getRequest() - { - return $this->request; - } - - /** - * Set the current request instance. - * - * @param \Illuminate\Http\Request $request - * @return void - */ - public function setRequest(Request $request) - { - $this->request = $request; - - $this->cachedRoot = null; - $this->cachedScheme = null; - $this->routeGenerator = null; - } - - /** - * Set the route collection. - * - * @param \Illuminate\Routing\RouteCollection $routes - * @return $this - */ - public function setRoutes(RouteCollection $routes) - { - $this->routes = $routes; - - return $this; - } - - /** - * Get the session implementation from the resolver. - * - * @return \Illuminate\Session\Store|null - */ - protected function getSession() - { - if ($this->sessionResolver) { - return call_user_func($this->sessionResolver); - } - } - - /** - * Set the session resolver for the generator. - * - * @param callable $sessionResolver - * @return $this - */ - public function setSessionResolver(callable $sessionResolver) - { - $this->sessionResolver = $sessionResolver; - - return $this; - } - - /** - * Set the encryption key resolver. - * - * @param callable $keyResolver - * @return $this - */ - public function setKeyResolver(callable $keyResolver) - { - $this->keyResolver = $keyResolver; - - return $this; - } - - /** - * Set the root controller namespace. - * - * @param string $rootNamespace - * @return $this - */ - public function setRootControllerNamespace($rootNamespace) - { - $this->rootNamespace = $rootNamespace; - - return $this; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/ViewController.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/ViewController.php deleted file mode 100644 index 232013f..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/ViewController.php +++ /dev/null @@ -1,39 +0,0 @@ -view = $view; - } - - /** - * Invoke the controller method. - * - * @param array $args - * @return \Illuminate\Contracts\View\View - */ - public function __invoke(...$args) - { - [$view, $data] = array_slice($args, -2); - - return $this->view->make($view, $data); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/composer.json b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/composer.json deleted file mode 100644 index ffe8019..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Routing/composer.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "name": "illuminate/routing", - "description": "The Illuminate Routing package.", - "license": "MIT", - "homepage": "https://laravel.com", - "support": { - "issues": "https://github.com/laravel/framework/issues", - "source": "https://github.com/laravel/framework" - }, - "authors": [ - { - "name": "Taylor Otwell", - "email": "taylor@laravel.com" - } - ], - "require": { - "php": "^7.1.3", - "ext-json": "*", - "illuminate/container": "5.8.*", - "illuminate/contracts": "5.8.*", - "illuminate/http": "5.8.*", - "illuminate/pipeline": "5.8.*", - "illuminate/session": "5.8.*", - "illuminate/support": "5.8.*", - "symfony/debug": "^4.2", - "symfony/http-foundation": "^4.2", - "symfony/http-kernel": "^4.2", - "symfony/routing": "^4.2" - }, - "autoload": { - "psr-4": { - "Illuminate\\Routing\\": "" - } - }, - "extra": { - "branch-alias": { - "dev-master": "5.8-dev" - } - }, - "suggest": { - "illuminate/console": "Required to use the make commands (5.8.*).", - "symfony/psr-http-message-bridge": "Required to psr7 bridging features (^1.1)." - }, - "config": { - "sort-packages": true - }, - "minimum-stability": "dev" -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Session/CacheBasedSessionHandler.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Session/CacheBasedSessionHandler.php deleted file mode 100644 index 2f7d33c..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Session/CacheBasedSessionHandler.php +++ /dev/null @@ -1,94 +0,0 @@ -cache = $cache; - $this->minutes = $minutes; - } - - /** - * {@inheritdoc} - */ - public function open($savePath, $sessionName) - { - return true; - } - - /** - * {@inheritdoc} - */ - public function close() - { - return true; - } - - /** - * {@inheritdoc} - */ - public function read($sessionId) - { - return $this->cache->get($sessionId, ''); - } - - /** - * {@inheritdoc} - */ - public function write($sessionId, $data) - { - return $this->cache->put($sessionId, $data, $this->minutes * 60); - } - - /** - * {@inheritdoc} - */ - public function destroy($sessionId) - { - return $this->cache->forget($sessionId); - } - - /** - * {@inheritdoc} - */ - public function gc($lifetime) - { - return true; - } - - /** - * Get the underlying cache repository. - * - * @return \Illuminate\Contracts\Cache\Repository - */ - public function getCache() - { - return $this->cache; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Session/Console/SessionTableCommand.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Session/Console/SessionTableCommand.php deleted file mode 100644 index e99f7d2..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Session/Console/SessionTableCommand.php +++ /dev/null @@ -1,81 +0,0 @@ -files = $files; - $this->composer = $composer; - } - - /** - * Execute the console command. - * - * @return void - */ - public function handle() - { - $fullPath = $this->createBaseMigration(); - - $this->files->put($fullPath, $this->files->get(__DIR__.'/stubs/database.stub')); - - $this->info('Migration created successfully!'); - - $this->composer->dumpAutoloads(); - } - - /** - * Create a base migration file for the session. - * - * @return string - */ - protected function createBaseMigration() - { - $name = 'create_sessions_table'; - - $path = $this->laravel->databasePath().'/migrations'; - - return $this->laravel['migration.creator']->create($name, $path); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Session/Console/stubs/database.stub b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Session/Console/stubs/database.stub deleted file mode 100644 index 3c8ebbd..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Session/Console/stubs/database.stub +++ /dev/null @@ -1,35 +0,0 @@ -string('id')->unique(); - $table->unsignedBigInteger('user_id')->nullable(); - $table->string('ip_address', 45)->nullable(); - $table->text('user_agent')->nullable(); - $table->text('payload'); - $table->integer('last_activity'); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('sessions'); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Session/CookieSessionHandler.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Session/CookieSessionHandler.php deleted file mode 100644 index e91053d..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Session/CookieSessionHandler.php +++ /dev/null @@ -1,121 +0,0 @@ -cookie = $cookie; - $this->minutes = $minutes; - } - - /** - * {@inheritdoc} - */ - public function open($savePath, $sessionName) - { - return true; - } - - /** - * {@inheritdoc} - */ - public function close() - { - return true; - } - - /** - * {@inheritdoc} - */ - public function read($sessionId) - { - $value = $this->request->cookies->get($sessionId) ?: ''; - - if (! is_null($decoded = json_decode($value, true)) && is_array($decoded)) { - if (isset($decoded['expires']) && $this->currentTime() <= $decoded['expires']) { - return $decoded['data']; - } - } - - return ''; - } - - /** - * {@inheritdoc} - */ - public function write($sessionId, $data) - { - $this->cookie->queue($sessionId, json_encode([ - 'data' => $data, - 'expires' => $this->availableAt($this->minutes * 60), - ]), $this->minutes); - - return true; - } - - /** - * {@inheritdoc} - */ - public function destroy($sessionId) - { - $this->cookie->queue($this->cookie->forget($sessionId)); - - return true; - } - - /** - * {@inheritdoc} - */ - public function gc($lifetime) - { - return true; - } - - /** - * Set the request instance. - * - * @param \Symfony\Component\HttpFoundation\Request $request - * @return void - */ - public function setRequest(Request $request) - { - $this->request = $request; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Session/DatabaseSessionHandler.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Session/DatabaseSessionHandler.php deleted file mode 100644 index 976c290..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Session/DatabaseSessionHandler.php +++ /dev/null @@ -1,294 +0,0 @@ -table = $table; - $this->minutes = $minutes; - $this->container = $container; - $this->connection = $connection; - } - - /** - * {@inheritdoc} - */ - public function open($savePath, $sessionName) - { - return true; - } - - /** - * {@inheritdoc} - */ - public function close() - { - return true; - } - - /** - * {@inheritdoc} - */ - public function read($sessionId) - { - $session = (object) $this->getQuery()->find($sessionId); - - if ($this->expired($session)) { - $this->exists = true; - - return ''; - } - - if (isset($session->payload)) { - $this->exists = true; - - return base64_decode($session->payload); - } - - return ''; - } - - /** - * Determine if the session is expired. - * - * @param \stdClass $session - * @return bool - */ - protected function expired($session) - { - return isset($session->last_activity) && - $session->last_activity < Carbon::now()->subMinutes($this->minutes)->getTimestamp(); - } - - /** - * {@inheritdoc} - */ - public function write($sessionId, $data) - { - $payload = $this->getDefaultPayload($data); - - if (! $this->exists) { - $this->read($sessionId); - } - - if ($this->exists) { - $this->performUpdate($sessionId, $payload); - } else { - $this->performInsert($sessionId, $payload); - } - - return $this->exists = true; - } - - /** - * Perform an insert operation on the session ID. - * - * @param string $sessionId - * @param string $payload - * @return bool|null - */ - protected function performInsert($sessionId, $payload) - { - try { - return $this->getQuery()->insert(Arr::set($payload, 'id', $sessionId)); - } catch (QueryException $e) { - $this->performUpdate($sessionId, $payload); - } - } - - /** - * Perform an update operation on the session ID. - * - * @param string $sessionId - * @param string $payload - * @return int - */ - protected function performUpdate($sessionId, $payload) - { - return $this->getQuery()->where('id', $sessionId)->update($payload); - } - - /** - * Get the default payload for the session. - * - * @param string $data - * @return array - */ - protected function getDefaultPayload($data) - { - $payload = [ - 'payload' => base64_encode($data), - 'last_activity' => $this->currentTime(), - ]; - - if (! $this->container) { - return $payload; - } - - return tap($payload, function (&$payload) { - $this->addUserInformation($payload) - ->addRequestInformation($payload); - }); - } - - /** - * Add the user information to the session payload. - * - * @param array $payload - * @return $this - */ - protected function addUserInformation(&$payload) - { - if ($this->container->bound(Guard::class)) { - $payload['user_id'] = $this->userId(); - } - - return $this; - } - - /** - * Get the currently authenticated user's ID. - * - * @return mixed - */ - protected function userId() - { - return $this->container->make(Guard::class)->id(); - } - - /** - * Add the request information to the session payload. - * - * @param array $payload - * @return $this - */ - protected function addRequestInformation(&$payload) - { - if ($this->container->bound('request')) { - $payload = array_merge($payload, [ - 'ip_address' => $this->ipAddress(), - 'user_agent' => $this->userAgent(), - ]); - } - - return $this; - } - - /** - * Get the IP address for the current request. - * - * @return string - */ - protected function ipAddress() - { - return $this->container->make('request')->ip(); - } - - /** - * Get the user agent for the current request. - * - * @return string - */ - protected function userAgent() - { - return substr((string) $this->container->make('request')->header('User-Agent'), 0, 500); - } - - /** - * {@inheritdoc} - */ - public function destroy($sessionId) - { - $this->getQuery()->where('id', $sessionId)->delete(); - - return true; - } - - /** - * {@inheritdoc} - */ - public function gc($lifetime) - { - $this->getQuery()->where('last_activity', '<=', $this->currentTime() - $lifetime)->delete(); - } - - /** - * Get a fresh query builder instance for the table. - * - * @return \Illuminate\Database\Query\Builder - */ - protected function getQuery() - { - return $this->connection->table($this->table); - } - - /** - * Set the existence state for the session. - * - * @param bool $value - * @return $this - */ - public function setExists($value) - { - $this->exists = $value; - - return $this; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Session/EncryptedStore.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Session/EncryptedStore.php deleted file mode 100644 index 078d13f..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Session/EncryptedStore.php +++ /dev/null @@ -1,69 +0,0 @@ -encrypter = $encrypter; - - parent::__construct($name, $handler, $id); - } - - /** - * Prepare the raw string data from the session for unserialization. - * - * @param string $data - * @return string - */ - protected function prepareForUnserialize($data) - { - try { - return $this->encrypter->decrypt($data); - } catch (DecryptException $e) { - return serialize([]); - } - } - - /** - * Prepare the serialized session data for storage. - * - * @param string $data - * @return string - */ - protected function prepareForStorage($data) - { - return $this->encrypter->encrypt($data); - } - - /** - * Get the encrypter instance. - * - * @return \Illuminate\Contracts\Encryption\Encrypter - */ - public function getEncrypter() - { - return $this->encrypter; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Session/ExistenceAwareInterface.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Session/ExistenceAwareInterface.php deleted file mode 100644 index 4a6bd98..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Session/ExistenceAwareInterface.php +++ /dev/null @@ -1,14 +0,0 @@ -path = $path; - $this->files = $files; - $this->minutes = $minutes; - } - - /** - * {@inheritdoc} - */ - public function open($savePath, $sessionName) - { - return true; - } - - /** - * {@inheritdoc} - */ - public function close() - { - return true; - } - - /** - * {@inheritdoc} - */ - public function read($sessionId) - { - if ($this->files->isFile($path = $this->path.'/'.$sessionId)) { - if ($this->files->lastModified($path) >= Carbon::now()->subMinutes($this->minutes)->getTimestamp()) { - return $this->files->sharedGet($path); - } - } - - return ''; - } - - /** - * {@inheritdoc} - */ - public function write($sessionId, $data) - { - $this->files->put($this->path.'/'.$sessionId, $data, true); - - return true; - } - - /** - * {@inheritdoc} - */ - public function destroy($sessionId) - { - $this->files->delete($this->path.'/'.$sessionId); - - return true; - } - - /** - * {@inheritdoc} - */ - public function gc($lifetime) - { - $files = Finder::create() - ->in($this->path) - ->files() - ->ignoreDotFiles(true) - ->date('<= now - '.$lifetime.' seconds'); - - foreach ($files as $file) { - $this->files->delete($file->getRealPath()); - } - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Session/LICENSE.md b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Session/LICENSE.md deleted file mode 100644 index 79810c8..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Session/LICENSE.md +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) Taylor Otwell - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Session/Middleware/AuthenticateSession.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Session/Middleware/AuthenticateSession.php deleted file mode 100644 index bdc4eb4..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Session/Middleware/AuthenticateSession.php +++ /dev/null @@ -1,96 +0,0 @@ -auth = $auth; - } - - /** - * Handle an incoming request. - * - * @param \Illuminate\Http\Request $request - * @param \Closure $next - * @return mixed - */ - public function handle($request, Closure $next) - { - if (! $request->user() || ! $request->session()) { - return $next($request); - } - - if ($this->auth->viaRemember()) { - $passwordHash = explode('|', $request->cookies->get($this->auth->getRecallerName()))[2]; - - if ($passwordHash != $request->user()->getAuthPassword()) { - $this->logout($request); - } - } - - if (! $request->session()->has('password_hash')) { - $this->storePasswordHashInSession($request); - } - - if ($request->session()->get('password_hash') !== $request->user()->getAuthPassword()) { - $this->logout($request); - } - - return tap($next($request), function () use ($request) { - $this->storePasswordHashInSession($request); - }); - } - - /** - * Store the user's current password hash in the session. - * - * @param \Illuminate\Http\Request $request - * @return void - */ - protected function storePasswordHashInSession($request) - { - if (! $request->user()) { - return; - } - - $request->session()->put([ - 'password_hash' => $request->user()->getAuthPassword(), - ]); - } - - /** - * Log the user out of the application. - * - * @param \Illuminate\Http\Request $request - * @return void - * - * @throws \Illuminate\Auth\AuthenticationException - */ - protected function logout($request) - { - $this->auth->logout(); - - $request->session()->flush(); - - throw new AuthenticationException; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php deleted file mode 100644 index dc44e94..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php +++ /dev/null @@ -1,219 +0,0 @@ -manager = $manager; - } - - /** - * Handle an incoming request. - * - * @param \Illuminate\Http\Request $request - * @param \Closure $next - * @return mixed - */ - public function handle($request, Closure $next) - { - if (! $this->sessionConfigured()) { - return $next($request); - } - - // If a session driver has been configured, we will need to start the session here - // so that the data is ready for an application. Note that the Laravel sessions - // do not make use of PHP "native" sessions in any way since they are crappy. - $request->setLaravelSession( - $session = $this->startSession($request) - ); - - $this->collectGarbage($session); - - $response = $next($request); - - $this->storeCurrentUrl($request, $session); - - $this->addCookieToResponse($response, $session); - - // Again, if the session has been configured we will need to close out the session - // so that the attributes may be persisted to some storage medium. We will also - // add the session identifier cookie to the application response headers now. - $this->saveSession($request); - - return $response; - } - - /** - * Start the session for the given request. - * - * @param \Illuminate\Http\Request $request - * @return \Illuminate\Contracts\Session\Session - */ - protected function startSession(Request $request) - { - return tap($this->getSession($request), function ($session) use ($request) { - $session->setRequestOnHandler($request); - - $session->start(); - }); - } - - /** - * Get the session implementation from the manager. - * - * @param \Illuminate\Http\Request $request - * @return \Illuminate\Contracts\Session\Session - */ - public function getSession(Request $request) - { - return tap($this->manager->driver(), function ($session) use ($request) { - $session->setId($request->cookies->get($session->getName())); - }); - } - - /** - * Remove the garbage from the session if necessary. - * - * @param \Illuminate\Contracts\Session\Session $session - * @return void - */ - protected function collectGarbage(Session $session) - { - $config = $this->manager->getSessionConfig(); - - // Here we will see if this request hits the garbage collection lottery by hitting - // the odds needed to perform garbage collection on any given request. If we do - // hit it, we'll call this handler to let it delete all the expired sessions. - if ($this->configHitsLottery($config)) { - $session->getHandler()->gc($this->getSessionLifetimeInSeconds()); - } - } - - /** - * Determine if the configuration odds hit the lottery. - * - * @param array $config - * @return bool - */ - protected function configHitsLottery(array $config) - { - return random_int(1, $config['lottery'][1]) <= $config['lottery'][0]; - } - - /** - * Store the current URL for the request if necessary. - * - * @param \Illuminate\Http\Request $request - * @param \Illuminate\Contracts\Session\Session $session - * @return void - */ - protected function storeCurrentUrl(Request $request, $session) - { - if ($request->method() === 'GET' && - $request->route() && - ! $request->ajax() && - ! $request->prefetch()) { - $session->setPreviousUrl($request->fullUrl()); - } - } - - /** - * Add the session cookie to the application response. - * - * @param \Symfony\Component\HttpFoundation\Response $response - * @param \Illuminate\Contracts\Session\Session $session - * @return void - */ - protected function addCookieToResponse(Response $response, Session $session) - { - if ($this->sessionIsPersistent($config = $this->manager->getSessionConfig())) { - $response->headers->setCookie(new Cookie( - $session->getName(), $session->getId(), $this->getCookieExpirationDate(), - $config['path'], $config['domain'], $config['secure'] ?? false, - $config['http_only'] ?? true, false, $config['same_site'] ?? null - )); - } - } - - /** - * Save the session data to storage. - * - * @param \Illuminate\Http\Request $request - * @return void - */ - protected function saveSession($request) - { - $this->manager->driver()->save(); - } - - /** - * Get the session lifetime in seconds. - * - * @return int - */ - protected function getSessionLifetimeInSeconds() - { - return ($this->manager->getSessionConfig()['lifetime'] ?? null) * 60; - } - - /** - * Get the cookie lifetime in seconds. - * - * @return \DateTimeInterface|int - */ - protected function getCookieExpirationDate() - { - $config = $this->manager->getSessionConfig(); - - return $config['expire_on_close'] ? 0 : Date::instance( - Carbon::now()->addRealMinutes($config['lifetime']) - ); - } - - /** - * Determine if a session driver has been configured. - * - * @return bool - */ - protected function sessionConfigured() - { - return ! is_null($this->manager->getSessionConfig()['driver'] ?? null); - } - - /** - * Determine if the configured session driver is persistent. - * - * @param array|null $config - * @return bool - */ - protected function sessionIsPersistent(array $config = null) - { - $config = $config ?: $this->manager->getSessionConfig(); - - return ! in_array($config['driver'], [null, 'array']); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Session/NullSessionHandler.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Session/NullSessionHandler.php deleted file mode 100644 index 56f567e..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Session/NullSessionHandler.php +++ /dev/null @@ -1,56 +0,0 @@ -buildSession(parent::callCustomCreator($driver)); - } - - /** - * Create an instance of the "array" session driver. - * - * @return \Illuminate\Session\Store - */ - protected function createArrayDriver() - { - return $this->buildSession(new NullSessionHandler); - } - - /** - * Create an instance of the "cookie" session driver. - * - * @return \Illuminate\Session\Store - */ - protected function createCookieDriver() - { - return $this->buildSession(new CookieSessionHandler( - $this->app['cookie'], $this->app['config']['session.lifetime'] - )); - } - - /** - * Create an instance of the file session driver. - * - * @return \Illuminate\Session\Store - */ - protected function createFileDriver() - { - return $this->createNativeDriver(); - } - - /** - * Create an instance of the file session driver. - * - * @return \Illuminate\Session\Store - */ - protected function createNativeDriver() - { - $lifetime = $this->app['config']['session.lifetime']; - - return $this->buildSession(new FileSessionHandler( - $this->app['files'], $this->app['config']['session.files'], $lifetime - )); - } - - /** - * Create an instance of the database session driver. - * - * @return \Illuminate\Session\Store - */ - protected function createDatabaseDriver() - { - $table = $this->app['config']['session.table']; - - $lifetime = $this->app['config']['session.lifetime']; - - return $this->buildSession(new DatabaseSessionHandler( - $this->getDatabaseConnection(), $table, $lifetime, $this->app - )); - } - - /** - * Get the database connection for the database driver. - * - * @return \Illuminate\Database\Connection - */ - protected function getDatabaseConnection() - { - $connection = $this->app['config']['session.connection']; - - return $this->app['db']->connection($connection); - } - - /** - * Create an instance of the APC session driver. - * - * @return \Illuminate\Session\Store - */ - protected function createApcDriver() - { - return $this->createCacheBased('apc'); - } - - /** - * Create an instance of the Memcached session driver. - * - * @return \Illuminate\Session\Store - */ - protected function createMemcachedDriver() - { - return $this->createCacheBased('memcached'); - } - - /** - * Create an instance of the Redis session driver. - * - * @return \Illuminate\Session\Store - */ - protected function createRedisDriver() - { - $handler = $this->createCacheHandler('redis'); - - $handler->getCache()->getStore()->setConnection( - $this->app['config']['session.connection'] - ); - - return $this->buildSession($handler); - } - - /** - * Create an instance of the DynamoDB session driver. - * - * @return \Illuminate\Session\Store - */ - protected function createDynamodbDriver() - { - return $this->createCacheBased('dynamodb'); - } - - /** - * Create an instance of a cache driven driver. - * - * @param string $driver - * @return \Illuminate\Session\Store - */ - protected function createCacheBased($driver) - { - return $this->buildSession($this->createCacheHandler($driver)); - } - - /** - * Create the cache based session handler instance. - * - * @param string $driver - * @return \Illuminate\Session\CacheBasedSessionHandler - */ - protected function createCacheHandler($driver) - { - $store = $this->app['config']->get('session.store') ?: $driver; - - return new CacheBasedSessionHandler( - clone $this->app['cache']->store($store), - $this->app['config']['session.lifetime'] - ); - } - - /** - * Build the session instance. - * - * @param \SessionHandlerInterface $handler - * @return \Illuminate\Session\Store - */ - protected function buildSession($handler) - { - return $this->app['config']['session.encrypt'] - ? $this->buildEncryptedSession($handler) - : new Store($this->app['config']['session.cookie'], $handler); - } - - /** - * Build the encrypted session instance. - * - * @param \SessionHandlerInterface $handler - * @return \Illuminate\Session\EncryptedStore - */ - protected function buildEncryptedSession($handler) - { - return new EncryptedStore( - $this->app['config']['session.cookie'], $handler, $this->app['encrypter'] - ); - } - - /** - * Get the session configuration. - * - * @return array - */ - public function getSessionConfig() - { - return $this->app['config']['session']; - } - - /** - * Get the default session driver name. - * - * @return string - */ - public function getDefaultDriver() - { - return $this->app['config']['session.driver']; - } - - /** - * Set the default session driver name. - * - * @param string $name - * @return void - */ - public function setDefaultDriver($name) - { - $this->app['config']['session.driver'] = $name; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Session/SessionServiceProvider.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Session/SessionServiceProvider.php deleted file mode 100644 index c858506..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Session/SessionServiceProvider.php +++ /dev/null @@ -1,50 +0,0 @@ -registerSessionManager(); - - $this->registerSessionDriver(); - - $this->app->singleton(StartSession::class); - } - - /** - * Register the session manager instance. - * - * @return void - */ - protected function registerSessionManager() - { - $this->app->singleton('session', function ($app) { - return new SessionManager($app); - }); - } - - /** - * Register the session driver instance. - * - * @return void - */ - protected function registerSessionDriver() - { - $this->app->singleton('session.store', function ($app) { - // First, we will create the session manager which is responsible for the - // creation of the various session drivers when they are needed by the - // application instance, and will resolve them on a lazy load basis. - return $app->make('session')->driver(); - }); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Session/Store.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Session/Store.php deleted file mode 100644 index 79f55ca..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Session/Store.php +++ /dev/null @@ -1,672 +0,0 @@ -setId($id); - $this->name = $name; - $this->handler = $handler; - } - - /** - * Start the session, reading the data from a handler. - * - * @return bool - */ - public function start() - { - $this->loadSession(); - - if (! $this->has('_token')) { - $this->regenerateToken(); - } - - return $this->started = true; - } - - /** - * Load the session data from the handler. - * - * @return void - */ - protected function loadSession() - { - $this->attributes = array_merge($this->attributes, $this->readFromHandler()); - } - - /** - * Read the session data from the handler. - * - * @return array - */ - protected function readFromHandler() - { - if ($data = $this->handler->read($this->getId())) { - $data = @unserialize($this->prepareForUnserialize($data)); - - if ($data !== false && ! is_null($data) && is_array($data)) { - return $data; - } - } - - return []; - } - - /** - * Prepare the raw string data from the session for unserialization. - * - * @param string $data - * @return string - */ - protected function prepareForUnserialize($data) - { - return $data; - } - - /** - * Save the session data to storage. - * - * @return void - */ - public function save() - { - $this->ageFlashData(); - - $this->handler->write($this->getId(), $this->prepareForStorage( - serialize($this->attributes) - )); - - $this->started = false; - } - - /** - * Prepare the serialized session data for storage. - * - * @param string $data - * @return string - */ - protected function prepareForStorage($data) - { - return $data; - } - - /** - * Age the flash data for the session. - * - * @return void - */ - public function ageFlashData() - { - $this->forget($this->get('_flash.old', [])); - - $this->put('_flash.old', $this->get('_flash.new', [])); - - $this->put('_flash.new', []); - } - - /** - * Get all of the session data. - * - * @return array - */ - public function all() - { - return $this->attributes; - } - - /** - * Get a subset of the session data. - * - * @param array $keys - * @return array - */ - public function only(array $keys) - { - return Arr::only($this->attributes, $keys); - } - - /** - * Checks if a key exists. - * - * @param string|array $key - * @return bool - */ - public function exists($key) - { - $placeholder = new stdClass; - - return ! collect(is_array($key) ? $key : func_get_args())->contains(function ($key) use ($placeholder) { - return $this->get($key, $placeholder) === $placeholder; - }); - } - - /** - * Checks if a key is present and not null. - * - * @param string|array $key - * @return bool - */ - public function has($key) - { - return ! collect(is_array($key) ? $key : func_get_args())->contains(function ($key) { - return is_null($this->get($key)); - }); - } - - /** - * Get an item from the session. - * - * @param string $key - * @param mixed $default - * @return mixed - */ - public function get($key, $default = null) - { - return Arr::get($this->attributes, $key, $default); - } - - /** - * Get the value of a given key and then forget it. - * - * @param string $key - * @param string|null $default - * @return mixed - */ - public function pull($key, $default = null) - { - return Arr::pull($this->attributes, $key, $default); - } - - /** - * Determine if the session contains old input. - * - * @param string|null $key - * @return bool - */ - public function hasOldInput($key = null) - { - $old = $this->getOldInput($key); - - return is_null($key) ? count($old) > 0 : ! is_null($old); - } - - /** - * Get the requested item from the flashed input array. - * - * @param string|null $key - * @param mixed $default - * @return mixed - */ - public function getOldInput($key = null, $default = null) - { - return Arr::get($this->get('_old_input', []), $key, $default); - } - - /** - * Replace the given session attributes entirely. - * - * @param array $attributes - * @return void - */ - public function replace(array $attributes) - { - $this->put($attributes); - } - - /** - * Put a key / value pair or array of key / value pairs in the session. - * - * @param string|array $key - * @param mixed $value - * @return void - */ - public function put($key, $value = null) - { - if (! is_array($key)) { - $key = [$key => $value]; - } - - foreach ($key as $arrayKey => $arrayValue) { - Arr::set($this->attributes, $arrayKey, $arrayValue); - } - } - - /** - * Get an item from the session, or store the default value. - * - * @param string $key - * @param \Closure $callback - * @return mixed - */ - public function remember($key, Closure $callback) - { - if (! is_null($value = $this->get($key))) { - return $value; - } - - return tap($callback(), function ($value) use ($key) { - $this->put($key, $value); - }); - } - - /** - * Push a value onto a session array. - * - * @param string $key - * @param mixed $value - * @return void - */ - public function push($key, $value) - { - $array = $this->get($key, []); - - $array[] = $value; - - $this->put($key, $array); - } - - /** - * Increment the value of an item in the session. - * - * @param string $key - * @param int $amount - * @return mixed - */ - public function increment($key, $amount = 1) - { - $this->put($key, $value = $this->get($key, 0) + $amount); - - return $value; - } - - /** - * Decrement the value of an item in the session. - * - * @param string $key - * @param int $amount - * @return int - */ - public function decrement($key, $amount = 1) - { - return $this->increment($key, $amount * -1); - } - - /** - * Flash a key / value pair to the session. - * - * @param string $key - * @param mixed $value - * @return void - */ - public function flash(string $key, $value = true) - { - $this->put($key, $value); - - $this->push('_flash.new', $key); - - $this->removeFromOldFlashData([$key]); - } - - /** - * Flash a key / value pair to the session for immediate use. - * - * @param string $key - * @param mixed $value - * @return void - */ - public function now($key, $value) - { - $this->put($key, $value); - - $this->push('_flash.old', $key); - } - - /** - * Reflash all of the session flash data. - * - * @return void - */ - public function reflash() - { - $this->mergeNewFlashes($this->get('_flash.old', [])); - - $this->put('_flash.old', []); - } - - /** - * Reflash a subset of the current flash data. - * - * @param array|mixed $keys - * @return void - */ - public function keep($keys = null) - { - $this->mergeNewFlashes($keys = is_array($keys) ? $keys : func_get_args()); - - $this->removeFromOldFlashData($keys); - } - - /** - * Merge new flash keys into the new flash array. - * - * @param array $keys - * @return void - */ - protected function mergeNewFlashes(array $keys) - { - $values = array_unique(array_merge($this->get('_flash.new', []), $keys)); - - $this->put('_flash.new', $values); - } - - /** - * Remove the given keys from the old flash data. - * - * @param array $keys - * @return void - */ - protected function removeFromOldFlashData(array $keys) - { - $this->put('_flash.old', array_diff($this->get('_flash.old', []), $keys)); - } - - /** - * Flash an input array to the session. - * - * @param array $value - * @return void - */ - public function flashInput(array $value) - { - $this->flash('_old_input', $value); - } - - /** - * Remove an item from the session, returning its value. - * - * @param string $key - * @return mixed - */ - public function remove($key) - { - return Arr::pull($this->attributes, $key); - } - - /** - * Remove one or many items from the session. - * - * @param string|array $keys - * @return void - */ - public function forget($keys) - { - Arr::forget($this->attributes, $keys); - } - - /** - * Remove all of the items from the session. - * - * @return void - */ - public function flush() - { - $this->attributes = []; - } - - /** - * Flush the session data and regenerate the ID. - * - * @return bool - */ - public function invalidate() - { - $this->flush(); - - return $this->migrate(true); - } - - /** - * Generate a new session identifier. - * - * @param bool $destroy - * @return bool - */ - public function regenerate($destroy = false) - { - return tap($this->migrate($destroy), function () { - $this->regenerateToken(); - }); - } - - /** - * Generate a new session ID for the session. - * - * @param bool $destroy - * @return bool - */ - public function migrate($destroy = false) - { - if ($destroy) { - $this->handler->destroy($this->getId()); - } - - $this->setExists(false); - - $this->setId($this->generateSessionId()); - - return true; - } - - /** - * Determine if the session has been started. - * - * @return bool - */ - public function isStarted() - { - return $this->started; - } - - /** - * Get the name of the session. - * - * @return string - */ - public function getName() - { - return $this->name; - } - - /** - * Set the name of the session. - * - * @param string $name - * @return void - */ - public function setName($name) - { - $this->name = $name; - } - - /** - * Get the current session ID. - * - * @return string - */ - public function getId() - { - return $this->id; - } - - /** - * Set the session ID. - * - * @param string $id - * @return void - */ - public function setId($id) - { - $this->id = $this->isValidId($id) ? $id : $this->generateSessionId(); - } - - /** - * Determine if this is a valid session ID. - * - * @param string $id - * @return bool - */ - public function isValidId($id) - { - return is_string($id) && ctype_alnum($id) && strlen($id) === 40; - } - - /** - * Get a new, random session ID. - * - * @return string - */ - protected function generateSessionId() - { - return Str::random(40); - } - - /** - * Set the existence of the session on the handler if applicable. - * - * @param bool $value - * @return void - */ - public function setExists($value) - { - if ($this->handler instanceof ExistenceAwareInterface) { - $this->handler->setExists($value); - } - } - - /** - * Get the CSRF token value. - * - * @return string - */ - public function token() - { - return $this->get('_token'); - } - - /** - * Regenerate the CSRF token value. - * - * @return void - */ - public function regenerateToken() - { - $this->put('_token', Str::random(40)); - } - - /** - * Get the previous URL from the session. - * - * @return string|null - */ - public function previousUrl() - { - return $this->get('_previous.url'); - } - - /** - * Set the "previous" URL in the session. - * - * @param string $url - * @return void - */ - public function setPreviousUrl($url) - { - $this->put('_previous.url', $url); - } - - /** - * Get the underlying session handler implementation. - * - * @return \SessionHandlerInterface - */ - public function getHandler() - { - return $this->handler; - } - - /** - * Determine if the session handler needs a request. - * - * @return bool - */ - public function handlerNeedsRequest() - { - return $this->handler instanceof CookieSessionHandler; - } - - /** - * Set the request on the handler instance. - * - * @param \Illuminate\Http\Request $request - * @return void - */ - public function setRequestOnHandler($request) - { - if ($this->handlerNeedsRequest()) { - $this->handler->setRequest($request); - } - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Session/TokenMismatchException.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Session/TokenMismatchException.php deleted file mode 100644 index 98d99a1..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Session/TokenMismatchException.php +++ /dev/null @@ -1,10 +0,0 @@ -instances = []; - - foreach ($this->providers as $provider) { - $this->instances[] = $this->app->register($provider); - } - } - - /** - * Get the services provided by the provider. - * - * @return array - */ - public function provides() - { - $provides = []; - - foreach ($this->providers as $provider) { - $instance = $this->app->resolveProvider($provider); - - $provides = array_merge($provides, $instance->provides()); - } - - return $provides; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/Arr.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/Arr.php deleted file mode 100644 index b21a3bb..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/Arr.php +++ /dev/null @@ -1,628 +0,0 @@ -all(); - } elseif (! is_array($values)) { - continue; - } - - $results[] = $values; - } - - return array_merge([], ...$results); - } - - /** - * Cross join the given arrays, returning all possible permutations. - * - * @param array ...$arrays - * @return array - */ - public static function crossJoin(...$arrays) - { - $results = [[]]; - - foreach ($arrays as $index => $array) { - $append = []; - - foreach ($results as $product) { - foreach ($array as $item) { - $product[$index] = $item; - - $append[] = $product; - } - } - - $results = $append; - } - - return $results; - } - - /** - * Divide an array into two arrays. One with keys and the other with values. - * - * @param array $array - * @return array - */ - public static function divide($array) - { - return [array_keys($array), array_values($array)]; - } - - /** - * Flatten a multi-dimensional associative array with dots. - * - * @param array $array - * @param string $prepend - * @return array - */ - public static function dot($array, $prepend = '') - { - $results = []; - - foreach ($array as $key => $value) { - if (is_array($value) && ! empty($value)) { - $results = array_merge($results, static::dot($value, $prepend.$key.'.')); - } else { - $results[$prepend.$key] = $value; - } - } - - return $results; - } - - /** - * Get all of the given array except for a specified array of keys. - * - * @param array $array - * @param array|string $keys - * @return array - */ - public static function except($array, $keys) - { - static::forget($array, $keys); - - return $array; - } - - /** - * Determine if the given key exists in the provided array. - * - * @param \ArrayAccess|array $array - * @param string|int $key - * @return bool - */ - public static function exists($array, $key) - { - if ($array instanceof ArrayAccess) { - return $array->offsetExists($key); - } - - return array_key_exists($key, $array); - } - - /** - * Return the first element in an array passing a given truth test. - * - * @param array $array - * @param callable|null $callback - * @param mixed $default - * @return mixed - */ - public static function first($array, callable $callback = null, $default = null) - { - if (is_null($callback)) { - if (empty($array)) { - return value($default); - } - - foreach ($array as $item) { - return $item; - } - } - - foreach ($array as $key => $value) { - if (call_user_func($callback, $value, $key)) { - return $value; - } - } - - return value($default); - } - - /** - * Return the last element in an array passing a given truth test. - * - * @param array $array - * @param callable|null $callback - * @param mixed $default - * @return mixed - */ - public static function last($array, callable $callback = null, $default = null) - { - if (is_null($callback)) { - return empty($array) ? value($default) : end($array); - } - - return static::first(array_reverse($array, true), $callback, $default); - } - - /** - * Flatten a multi-dimensional array into a single level. - * - * @param array $array - * @param int $depth - * @return array - */ - public static function flatten($array, $depth = INF) - { - $result = []; - - foreach ($array as $item) { - $item = $item instanceof Collection ? $item->all() : $item; - - if (! is_array($item)) { - $result[] = $item; - } else { - $values = $depth === 1 - ? array_values($item) - : static::flatten($item, $depth - 1); - - foreach ($values as $value) { - $result[] = $value; - } - } - } - - return $result; - } - - /** - * Remove one or many array items from a given array using "dot" notation. - * - * @param array $array - * @param array|string $keys - * @return void - */ - public static function forget(&$array, $keys) - { - $original = &$array; - - $keys = (array) $keys; - - if (count($keys) === 0) { - return; - } - - foreach ($keys as $key) { - // if the exact key exists in the top-level, remove it - if (static::exists($array, $key)) { - unset($array[$key]); - - continue; - } - - $parts = explode('.', $key); - - // clean up before each pass - $array = &$original; - - while (count($parts) > 1) { - $part = array_shift($parts); - - if (isset($array[$part]) && is_array($array[$part])) { - $array = &$array[$part]; - } else { - continue 2; - } - } - - unset($array[array_shift($parts)]); - } - } - - /** - * Get an item from an array using "dot" notation. - * - * @param \ArrayAccess|array $array - * @param string|int $key - * @param mixed $default - * @return mixed - */ - public static function get($array, $key, $default = null) - { - if (! static::accessible($array)) { - return value($default); - } - - if (is_null($key)) { - return $array; - } - - if (static::exists($array, $key)) { - return $array[$key]; - } - - if (strpos($key, '.') === false) { - return $array[$key] ?? value($default); - } - - foreach (explode('.', $key) as $segment) { - if (static::accessible($array) && static::exists($array, $segment)) { - $array = $array[$segment]; - } else { - return value($default); - } - } - - return $array; - } - - /** - * Check if an item or items exist in an array using "dot" notation. - * - * @param \ArrayAccess|array $array - * @param string|array $keys - * @return bool - */ - public static function has($array, $keys) - { - $keys = (array) $keys; - - if (! $array || $keys === []) { - return false; - } - - foreach ($keys as $key) { - $subKeyArray = $array; - - if (static::exists($array, $key)) { - continue; - } - - foreach (explode('.', $key) as $segment) { - if (static::accessible($subKeyArray) && static::exists($subKeyArray, $segment)) { - $subKeyArray = $subKeyArray[$segment]; - } else { - return false; - } - } - } - - return true; - } - - /** - * Determines if an array is associative. - * - * An array is "associative" if it doesn't have sequential numerical keys beginning with zero. - * - * @param array $array - * @return bool - */ - public static function isAssoc(array $array) - { - $keys = array_keys($array); - - return array_keys($keys) !== $keys; - } - - /** - * Get a subset of the items from the given array. - * - * @param array $array - * @param array|string $keys - * @return array - */ - public static function only($array, $keys) - { - return array_intersect_key($array, array_flip((array) $keys)); - } - - /** - * Pluck an array of values from an array. - * - * @param array $array - * @param string|array $value - * @param string|array|null $key - * @return array - */ - public static function pluck($array, $value, $key = null) - { - $results = []; - - [$value, $key] = static::explodePluckParameters($value, $key); - - foreach ($array as $item) { - $itemValue = data_get($item, $value); - - // If the key is "null", we will just append the value to the array and keep - // looping. Otherwise we will key the array using the value of the key we - // received from the developer. Then we'll return the final array form. - if (is_null($key)) { - $results[] = $itemValue; - } else { - $itemKey = data_get($item, $key); - - if (is_object($itemKey) && method_exists($itemKey, '__toString')) { - $itemKey = (string) $itemKey; - } - - $results[$itemKey] = $itemValue; - } - } - - return $results; - } - - /** - * Explode the "value" and "key" arguments passed to "pluck". - * - * @param string|array $value - * @param string|array|null $key - * @return array - */ - protected static function explodePluckParameters($value, $key) - { - $value = is_string($value) ? explode('.', $value) : $value; - - $key = is_null($key) || is_array($key) ? $key : explode('.', $key); - - return [$value, $key]; - } - - /** - * Push an item onto the beginning of an array. - * - * @param array $array - * @param mixed $value - * @param mixed $key - * @return array - */ - public static function prepend($array, $value, $key = null) - { - if (is_null($key)) { - array_unshift($array, $value); - } else { - $array = [$key => $value] + $array; - } - - return $array; - } - - /** - * Get a value from the array, and remove it. - * - * @param array $array - * @param string $key - * @param mixed $default - * @return mixed - */ - public static function pull(&$array, $key, $default = null) - { - $value = static::get($array, $key, $default); - - static::forget($array, $key); - - return $value; - } - - /** - * Get one or a specified number of random values from an array. - * - * @param array $array - * @param int|null $number - * @return mixed - * - * @throws \InvalidArgumentException - */ - public static function random($array, $number = null) - { - $requested = is_null($number) ? 1 : $number; - - $count = count($array); - - if ($requested > $count) { - throw new InvalidArgumentException( - "You requested {$requested} items, but there are only {$count} items available." - ); - } - - if (is_null($number)) { - return $array[array_rand($array)]; - } - - if ((int) $number === 0) { - return []; - } - - $keys = array_rand($array, $number); - - $results = []; - - foreach ((array) $keys as $key) { - $results[] = $array[$key]; - } - - return $results; - } - - /** - * Set an array item to a given value using "dot" notation. - * - * If no key is given to the method, the entire array will be replaced. - * - * @param array $array - * @param string $key - * @param mixed $value - * @return array - */ - public static function set(&$array, $key, $value) - { - if (is_null($key)) { - return $array = $value; - } - - $keys = explode('.', $key); - - while (count($keys) > 1) { - $key = array_shift($keys); - - // If the key doesn't exist at this depth, we will just create an empty array - // to hold the next value, allowing us to create the arrays to hold final - // values at the correct depth. Then we'll keep digging into the array. - if (! isset($array[$key]) || ! is_array($array[$key])) { - $array[$key] = []; - } - - $array = &$array[$key]; - } - - $array[array_shift($keys)] = $value; - - return $array; - } - - /** - * Shuffle the given array and return the result. - * - * @param array $array - * @param int|null $seed - * @return array - */ - public static function shuffle($array, $seed = null) - { - if (is_null($seed)) { - shuffle($array); - } else { - mt_srand($seed); - shuffle($array); - mt_srand(); - } - - return $array; - } - - /** - * Sort the array using the given callback or "dot" notation. - * - * @param array $array - * @param callable|string|null $callback - * @return array - */ - public static function sort($array, $callback = null) - { - return Collection::make($array)->sortBy($callback)->all(); - } - - /** - * Recursively sort an array by keys and values. - * - * @param array $array - * @return array - */ - public static function sortRecursive($array) - { - foreach ($array as &$value) { - if (is_array($value)) { - $value = static::sortRecursive($value); - } - } - - if (static::isAssoc($array)) { - ksort($array); - } else { - sort($array); - } - - return $array; - } - - /** - * Convert the array into a query string. - * - * @param array $array - * @return string - */ - public static function query($array) - { - return http_build_query($array, null, '&', PHP_QUERY_RFC3986); - } - - /** - * Filter the array using the given callback. - * - * @param array $array - * @param callable $callback - * @return array - */ - public static function where($array, callable $callback) - { - return array_filter($array, $callback, ARRAY_FILTER_USE_BOTH); - } - - /** - * If the given value is not an array and not null, wrap it in one. - * - * @param mixed $value - * @return array - */ - public static function wrap($value) - { - if (is_null($value)) { - return []; - } - - return is_array($value) ? $value : [$value]; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/Carbon.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/Carbon.php deleted file mode 100644 index 9383c3f..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/Carbon.php +++ /dev/null @@ -1,10 +0,0 @@ -items = $this->getArrayableItems($items); - } - - /** - * Create a new collection instance if the value isn't one already. - * - * @param mixed $items - * @return static - */ - public static function make($items = []) - { - return new static($items); - } - - /** - * Wrap the given value in a collection if applicable. - * - * @param mixed $value - * @return static - */ - public static function wrap($value) - { - return $value instanceof self - ? new static($value) - : new static(Arr::wrap($value)); - } - - /** - * Get the underlying items from the given collection if applicable. - * - * @param array|static $value - * @return array - */ - public static function unwrap($value) - { - return $value instanceof self ? $value->all() : $value; - } - - /** - * Create a new collection by invoking the callback a given amount of times. - * - * @param int $number - * @param callable $callback - * @return static - */ - public static function times($number, callable $callback = null) - { - if ($number < 1) { - return new static; - } - - if (is_null($callback)) { - return new static(range(1, $number)); - } - - return (new static(range(1, $number)))->map($callback); - } - - /** - * Get all of the items in the collection. - * - * @return array - */ - public function all() - { - return $this->items; - } - - /** - * Get the average value of a given key. - * - * @param callable|string|null $callback - * @return mixed - */ - public function avg($callback = null) - { - $callback = $this->valueRetriever($callback); - - $items = $this->map(function ($value) use ($callback) { - return $callback($value); - })->filter(function ($value) { - return ! is_null($value); - }); - - if ($count = $items->count()) { - return $items->sum() / $count; - } - } - - /** - * Alias for the "avg" method. - * - * @param callable|string|null $callback - * @return mixed - */ - public function average($callback = null) - { - return $this->avg($callback); - } - - /** - * Get the median of a given key. - * - * @param string|array|null $key - * @return mixed - */ - public function median($key = null) - { - $values = (isset($key) ? $this->pluck($key) : $this) - ->filter(function ($item) { - return ! is_null($item); - })->sort()->values(); - - $count = $values->count(); - - if ($count === 0) { - return; - } - - $middle = (int) ($count / 2); - - if ($count % 2) { - return $values->get($middle); - } - - return (new static([ - $values->get($middle - 1), $values->get($middle), - ]))->average(); - } - - /** - * Get the mode of a given key. - * - * @param string|array|null $key - * @return array|null - */ - public function mode($key = null) - { - if ($this->count() === 0) { - return; - } - - $collection = isset($key) ? $this->pluck($key) : $this; - - $counts = new self; - - $collection->each(function ($value) use ($counts) { - $counts[$value] = isset($counts[$value]) ? $counts[$value] + 1 : 1; - }); - - $sorted = $counts->sort(); - - $highestValue = $sorted->last(); - - return $sorted->filter(function ($value) use ($highestValue) { - return $value == $highestValue; - })->sort()->keys()->all(); - } - - /** - * Collapse the collection of items into a single array. - * - * @return static - */ - public function collapse() - { - return new static(Arr::collapse($this->items)); - } - - /** - * Alias for the "contains" method. - * - * @param mixed $key - * @param mixed $operator - * @param mixed $value - * @return bool - */ - public function some($key, $operator = null, $value = null) - { - return $this->contains(...func_get_args()); - } - - /** - * Determine if an item exists in the collection. - * - * @param mixed $key - * @param mixed $operator - * @param mixed $value - * @return bool - */ - public function contains($key, $operator = null, $value = null) - { - if (func_num_args() === 1) { - if ($this->useAsCallable($key)) { - $placeholder = new stdClass; - - return $this->first($key, $placeholder) !== $placeholder; - } - - return in_array($key, $this->items); - } - - return $this->contains($this->operatorForWhere(...func_get_args())); - } - - /** - * Determine if an item exists in the collection using strict comparison. - * - * @param mixed $key - * @param mixed $value - * @return bool - */ - public function containsStrict($key, $value = null) - { - if (func_num_args() === 2) { - return $this->contains(function ($item) use ($key, $value) { - return data_get($item, $key) === $value; - }); - } - - if ($this->useAsCallable($key)) { - return ! is_null($this->first($key)); - } - - return in_array($key, $this->items, true); - } - - /** - * Cross join with the given lists, returning all possible permutations. - * - * @param mixed ...$lists - * @return static - */ - public function crossJoin(...$lists) - { - return new static(Arr::crossJoin( - $this->items, ...array_map([$this, 'getArrayableItems'], $lists) - )); - } - - /** - * Dump the collection and end the script. - * - * @param mixed ...$args - * @return void - */ - public function dd(...$args) - { - call_user_func_array([$this, 'dump'], $args); - - die(1); - } - - /** - * Dump the collection. - * - * @return $this - */ - public function dump() - { - (new static(func_get_args())) - ->push($this) - ->each(function ($item) { - VarDumper::dump($item); - }); - - return $this; - } - - /** - * Get the items in the collection that are not present in the given items. - * - * @param mixed $items - * @return static - */ - public function diff($items) - { - return new static(array_diff($this->items, $this->getArrayableItems($items))); - } - - /** - * Get the items in the collection that are not present in the given items. - * - * @param mixed $items - * @param callable $callback - * @return static - */ - public function diffUsing($items, callable $callback) - { - return new static(array_udiff($this->items, $this->getArrayableItems($items), $callback)); - } - - /** - * Get the items in the collection whose keys and values are not present in the given items. - * - * @param mixed $items - * @return static - */ - public function diffAssoc($items) - { - return new static(array_diff_assoc($this->items, $this->getArrayableItems($items))); - } - - /** - * Get the items in the collection whose keys and values are not present in the given items. - * - * @param mixed $items - * @param callable $callback - * @return static - */ - public function diffAssocUsing($items, callable $callback) - { - return new static(array_diff_uassoc($this->items, $this->getArrayableItems($items), $callback)); - } - - /** - * Get the items in the collection whose keys are not present in the given items. - * - * @param mixed $items - * @return static - */ - public function diffKeys($items) - { - return new static(array_diff_key($this->items, $this->getArrayableItems($items))); - } - - /** - * Get the items in the collection whose keys are not present in the given items. - * - * @param mixed $items - * @param callable $callback - * @return static - */ - public function diffKeysUsing($items, callable $callback) - { - return new static(array_diff_ukey($this->items, $this->getArrayableItems($items), $callback)); - } - - /** - * Retrieve duplicate items from the collection. - * - * @param callable|null $callback - * @param bool $strict - * @return static - */ - public function duplicates($callback = null, $strict = false) - { - $items = $this->map($this->valueRetriever($callback)); - - $uniqueItems = $items->unique(null, $strict); - - $compare = $this->duplicateComparator($strict); - - $duplicates = new static; - - foreach ($items as $key => $value) { - if ($uniqueItems->isNotEmpty() && $compare($value, $uniqueItems->first())) { - $uniqueItems->shift(); - } else { - $duplicates[$key] = $value; - } - } - - return $duplicates; - } - - /** - * Retrieve duplicate items from the collection using strict comparison. - * - * @param callable|null $callback - * @return static - */ - public function duplicatesStrict($callback = null) - { - return $this->duplicates($callback, true); - } - - /** - * Get the comparison function to detect duplicates. - * - * @param bool $strict - * @return \Closure - */ - protected function duplicateComparator($strict) - { - if ($strict) { - return function ($a, $b) { - return $a === $b; - }; - } - - return function ($a, $b) { - return $a == $b; - }; - } - - /** - * Execute a callback over each item. - * - * @param callable $callback - * @return $this - */ - public function each(callable $callback) - { - foreach ($this->items as $key => $item) { - if ($callback($item, $key) === false) { - break; - } - } - - return $this; - } - - /** - * Execute a callback over each nested chunk of items. - * - * @param callable $callback - * @return static - */ - public function eachSpread(callable $callback) - { - return $this->each(function ($chunk, $key) use ($callback) { - $chunk[] = $key; - - return $callback(...$chunk); - }); - } - - /** - * Determine if all items in the collection pass the given test. - * - * @param string|callable $key - * @param mixed $operator - * @param mixed $value - * @return bool - */ - public function every($key, $operator = null, $value = null) - { - if (func_num_args() === 1) { - $callback = $this->valueRetriever($key); - - foreach ($this->items as $k => $v) { - if (! $callback($v, $k)) { - return false; - } - } - - return true; - } - - return $this->every($this->operatorForWhere(...func_get_args())); - } - - /** - * Get all items except for those with the specified keys. - * - * @param \Illuminate\Support\Collection|mixed $keys - * @return static - */ - public function except($keys) - { - if ($keys instanceof self) { - $keys = $keys->all(); - } elseif (! is_array($keys)) { - $keys = func_get_args(); - } - - return new static(Arr::except($this->items, $keys)); - } - - /** - * Run a filter over each of the items. - * - * @param callable|null $callback - * @return static - */ - public function filter(callable $callback = null) - { - if ($callback) { - return new static(Arr::where($this->items, $callback)); - } - - return new static(array_filter($this->items)); - } - - /** - * Apply the callback if the value is truthy. - * - * @param bool $value - * @param callable $callback - * @param callable $default - * @return static|mixed - */ - public function when($value, callable $callback, callable $default = null) - { - if ($value) { - return $callback($this, $value); - } elseif ($default) { - return $default($this, $value); - } - - return $this; - } - - /** - * Apply the callback if the collection is empty. - * - * @param callable $callback - * @param callable $default - * @return static|mixed - */ - public function whenEmpty(callable $callback, callable $default = null) - { - return $this->when($this->isEmpty(), $callback, $default); - } - - /** - * Apply the callback if the collection is not empty. - * - * @param callable $callback - * @param callable $default - * @return static|mixed - */ - public function whenNotEmpty(callable $callback, callable $default = null) - { - return $this->when($this->isNotEmpty(), $callback, $default); - } - - /** - * Apply the callback if the value is falsy. - * - * @param bool $value - * @param callable $callback - * @param callable $default - * @return static|mixed - */ - public function unless($value, callable $callback, callable $default = null) - { - return $this->when(! $value, $callback, $default); - } - - /** - * Apply the callback unless the collection is empty. - * - * @param callable $callback - * @param callable $default - * @return static|mixed - */ - public function unlessEmpty(callable $callback, callable $default = null) - { - return $this->whenNotEmpty($callback, $default); - } - - /** - * Apply the callback unless the collection is not empty. - * - * @param callable $callback - * @param callable $default - * @return static|mixed - */ - public function unlessNotEmpty(callable $callback, callable $default = null) - { - return $this->whenEmpty($callback, $default); - } - - /** - * Filter items by the given key value pair. - * - * @param string $key - * @param mixed $operator - * @param mixed $value - * @return static - */ - public function where($key, $operator = null, $value = null) - { - return $this->filter($this->operatorForWhere(...func_get_args())); - } - - /** - * Get an operator checker callback. - * - * @param string $key - * @param string $operator - * @param mixed $value - * @return \Closure - */ - protected function operatorForWhere($key, $operator = null, $value = null) - { - if (func_num_args() === 1) { - $value = true; - - $operator = '='; - } - - if (func_num_args() === 2) { - $value = $operator; - - $operator = '='; - } - - return function ($item) use ($key, $operator, $value) { - $retrieved = data_get($item, $key); - - $strings = array_filter([$retrieved, $value], function ($value) { - return is_string($value) || (is_object($value) && method_exists($value, '__toString')); - }); - - if (count($strings) < 2 && count(array_filter([$retrieved, $value], 'is_object')) == 1) { - return in_array($operator, ['!=', '<>', '!==']); - } - - switch ($operator) { - default: - case '=': - case '==': return $retrieved == $value; - case '!=': - case '<>': return $retrieved != $value; - case '<': return $retrieved < $value; - case '>': return $retrieved > $value; - case '<=': return $retrieved <= $value; - case '>=': return $retrieved >= $value; - case '===': return $retrieved === $value; - case '!==': return $retrieved !== $value; - } - }; - } - - /** - * Filter items by the given key value pair using strict comparison. - * - * @param string $key - * @param mixed $value - * @return static - */ - public function whereStrict($key, $value) - { - return $this->where($key, '===', $value); - } - - /** - * Filter items by the given key value pair. - * - * @param string $key - * @param mixed $values - * @param bool $strict - * @return static - */ - public function whereIn($key, $values, $strict = false) - { - $values = $this->getArrayableItems($values); - - return $this->filter(function ($item) use ($key, $values, $strict) { - return in_array(data_get($item, $key), $values, $strict); - }); - } - - /** - * Filter items by the given key value pair using strict comparison. - * - * @param string $key - * @param mixed $values - * @return static - */ - public function whereInStrict($key, $values) - { - return $this->whereIn($key, $values, true); - } - - /** - * Filter items such that the value of the given key is between the given values. - * - * @param string $key - * @param array $values - * @return static - */ - public function whereBetween($key, $values) - { - return $this->where($key, '>=', reset($values))->where($key, '<=', end($values)); - } - - /** - * Filter items such that the value of the given key is not between the given values. - * - * @param string $key - * @param array $values - * @return static - */ - public function whereNotBetween($key, $values) - { - return $this->filter(function ($item) use ($key, $values) { - return data_get($item, $key) < reset($values) || data_get($item, $key) > end($values); - }); - } - - /** - * Filter items by the given key value pair. - * - * @param string $key - * @param mixed $values - * @param bool $strict - * @return static - */ - public function whereNotIn($key, $values, $strict = false) - { - $values = $this->getArrayableItems($values); - - return $this->reject(function ($item) use ($key, $values, $strict) { - return in_array(data_get($item, $key), $values, $strict); - }); - } - - /** - * Filter items by the given key value pair using strict comparison. - * - * @param string $key - * @param mixed $values - * @return static - */ - public function whereNotInStrict($key, $values) - { - return $this->whereNotIn($key, $values, true); - } - - /** - * Filter the items, removing any items that don't match the given type. - * - * @param string $type - * @return static - */ - public function whereInstanceOf($type) - { - return $this->filter(function ($value) use ($type) { - return $value instanceof $type; - }); - } - - /** - * Get the first item from the collection passing the given truth test. - * - * @param callable|null $callback - * @param mixed $default - * @return mixed - */ - public function first(callable $callback = null, $default = null) - { - return Arr::first($this->items, $callback, $default); - } - - /** - * Get the first item by the given key value pair. - * - * @param string $key - * @param mixed $operator - * @param mixed $value - * @return mixed - */ - public function firstWhere($key, $operator = null, $value = null) - { - return $this->first($this->operatorForWhere(...func_get_args())); - } - - /** - * Get a flattened array of the items in the collection. - * - * @param int $depth - * @return static - */ - public function flatten($depth = INF) - { - return new static(Arr::flatten($this->items, $depth)); - } - - /** - * Flip the items in the collection. - * - * @return static - */ - public function flip() - { - return new static(array_flip($this->items)); - } - - /** - * Remove an item from the collection by key. - * - * @param string|array $keys - * @return $this - */ - public function forget($keys) - { - foreach ((array) $keys as $key) { - $this->offsetUnset($key); - } - - return $this; - } - - /** - * Get an item from the collection by key. - * - * @param mixed $key - * @param mixed $default - * @return mixed - */ - public function get($key, $default = null) - { - if ($this->offsetExists($key)) { - return $this->items[$key]; - } - - return value($default); - } - - /** - * Group an associative array by a field or using a callback. - * - * @param array|callable|string $groupBy - * @param bool $preserveKeys - * @return static - */ - public function groupBy($groupBy, $preserveKeys = false) - { - if (is_array($groupBy)) { - $nextGroups = $groupBy; - - $groupBy = array_shift($nextGroups); - } - - $groupBy = $this->valueRetriever($groupBy); - - $results = []; - - foreach ($this->items as $key => $value) { - $groupKeys = $groupBy($value, $key); - - if (! is_array($groupKeys)) { - $groupKeys = [$groupKeys]; - } - - foreach ($groupKeys as $groupKey) { - $groupKey = is_bool($groupKey) ? (int) $groupKey : $groupKey; - - if (! array_key_exists($groupKey, $results)) { - $results[$groupKey] = new static; - } - - $results[$groupKey]->offsetSet($preserveKeys ? $key : null, $value); - } - } - - $result = new static($results); - - if (! empty($nextGroups)) { - return $result->map->groupBy($nextGroups, $preserveKeys); - } - - return $result; - } - - /** - * Key an associative array by a field or using a callback. - * - * @param callable|string $keyBy - * @return static - */ - public function keyBy($keyBy) - { - $keyBy = $this->valueRetriever($keyBy); - - $results = []; - - foreach ($this->items as $key => $item) { - $resolvedKey = $keyBy($item, $key); - - if (is_object($resolvedKey)) { - $resolvedKey = (string) $resolvedKey; - } - - $results[$resolvedKey] = $item; - } - - return new static($results); - } - - /** - * Determine if an item exists in the collection by key. - * - * @param mixed $key - * @return bool - */ - public function has($key) - { - $keys = is_array($key) ? $key : func_get_args(); - - foreach ($keys as $value) { - if (! $this->offsetExists($value)) { - return false; - } - } - - return true; - } - - /** - * Concatenate values of a given key as a string. - * - * @param string $value - * @param string $glue - * @return string - */ - public function implode($value, $glue = null) - { - $first = $this->first(); - - if (is_array($first) || is_object($first)) { - return implode($glue, $this->pluck($value)->all()); - } - - return implode($value, $this->items); - } - - /** - * Intersect the collection with the given items. - * - * @param mixed $items - * @return static - */ - public function intersect($items) - { - return new static(array_intersect($this->items, $this->getArrayableItems($items))); - } - - /** - * Intersect the collection with the given items by key. - * - * @param mixed $items - * @return static - */ - public function intersectByKeys($items) - { - return new static(array_intersect_key( - $this->items, $this->getArrayableItems($items) - )); - } - - /** - * Determine if the collection is empty or not. - * - * @return bool - */ - public function isEmpty() - { - return empty($this->items); - } - - /** - * Determine if the collection is not empty. - * - * @return bool - */ - public function isNotEmpty() - { - return ! $this->isEmpty(); - } - - /** - * Determine if the given value is callable, but not a string. - * - * @param mixed $value - * @return bool - */ - protected function useAsCallable($value) - { - return ! is_string($value) && is_callable($value); - } - - /** - * Join all items from the collection using a string. The final items can use a separate glue string. - * - * @param string $glue - * @param string $finalGlue - * @return string - */ - public function join($glue, $finalGlue = '') - { - if ($finalGlue === '') { - return $this->implode($glue); - } - - $count = $this->count(); - - if ($count === 0) { - return ''; - } - - if ($count === 1) { - return $this->last(); - } - - $collection = new static($this->items); - - $finalItem = $collection->pop(); - - return $collection->implode($glue).$finalGlue.$finalItem; - } - - /** - * Get the keys of the collection items. - * - * @return static - */ - public function keys() - { - return new static(array_keys($this->items)); - } - - /** - * Get the last item from the collection. - * - * @param callable|null $callback - * @param mixed $default - * @return mixed - */ - public function last(callable $callback = null, $default = null) - { - return Arr::last($this->items, $callback, $default); - } - - /** - * Get the values of a given key. - * - * @param string|array $value - * @param string|null $key - * @return static - */ - public function pluck($value, $key = null) - { - return new static(Arr::pluck($this->items, $value, $key)); - } - - /** - * Run a map over each of the items. - * - * @param callable $callback - * @return static - */ - public function map(callable $callback) - { - $keys = array_keys($this->items); - - $items = array_map($callback, $this->items, $keys); - - return new static(array_combine($keys, $items)); - } - - /** - * Run a map over each nested chunk of items. - * - * @param callable $callback - * @return static - */ - public function mapSpread(callable $callback) - { - return $this->map(function ($chunk, $key) use ($callback) { - $chunk[] = $key; - - return $callback(...$chunk); - }); - } - - /** - * Run a dictionary map over the items. - * - * The callback should return an associative array with a single key/value pair. - * - * @param callable $callback - * @return static - */ - public function mapToDictionary(callable $callback) - { - $dictionary = []; - - foreach ($this->items as $key => $item) { - $pair = $callback($item, $key); - - $key = key($pair); - - $value = reset($pair); - - if (! isset($dictionary[$key])) { - $dictionary[$key] = []; - } - - $dictionary[$key][] = $value; - } - - return new static($dictionary); - } - - /** - * Run a grouping map over the items. - * - * The callback should return an associative array with a single key/value pair. - * - * @param callable $callback - * @return static - */ - public function mapToGroups(callable $callback) - { - $groups = $this->mapToDictionary($callback); - - return $groups->map([$this, 'make']); - } - - /** - * Run an associative map over each of the items. - * - * The callback should return an associative array with a single key/value pair. - * - * @param callable $callback - * @return static - */ - public function mapWithKeys(callable $callback) - { - $result = []; - - foreach ($this->items as $key => $value) { - $assoc = $callback($value, $key); - - foreach ($assoc as $mapKey => $mapValue) { - $result[$mapKey] = $mapValue; - } - } - - return new static($result); - } - - /** - * Map a collection and flatten the result by a single level. - * - * @param callable $callback - * @return static - */ - public function flatMap(callable $callback) - { - return $this->map($callback)->collapse(); - } - - /** - * Map the values into a new class. - * - * @param string $class - * @return static - */ - public function mapInto($class) - { - return $this->map(function ($value, $key) use ($class) { - return new $class($value, $key); - }); - } - - /** - * Get the max value of a given key. - * - * @param callable|string|null $callback - * @return mixed - */ - public function max($callback = null) - { - $callback = $this->valueRetriever($callback); - - return $this->filter(function ($value) { - return ! is_null($value); - })->reduce(function ($result, $item) use ($callback) { - $value = $callback($item); - - return is_null($result) || $value > $result ? $value : $result; - }); - } - - /** - * Merge the collection with the given items. - * - * @param mixed $items - * @return static - */ - public function merge($items) - { - return new static(array_merge($this->items, $this->getArrayableItems($items))); - } - - /** - * Recursively merge the collection with the given items. - * - * @param mixed $items - * @return static - */ - public function mergeRecursive($items) - { - return new static(array_merge_recursive($this->items, $this->getArrayableItems($items))); - } - - /** - * Create a collection by using this collection for keys and another for its values. - * - * @param mixed $values - * @return static - */ - public function combine($values) - { - return new static(array_combine($this->all(), $this->getArrayableItems($values))); - } - - /** - * Union the collection with the given items. - * - * @param mixed $items - * @return static - */ - public function union($items) - { - return new static($this->items + $this->getArrayableItems($items)); - } - - /** - * Get the min value of a given key. - * - * @param callable|string|null $callback - * @return mixed - */ - public function min($callback = null) - { - $callback = $this->valueRetriever($callback); - - return $this->map(function ($value) use ($callback) { - return $callback($value); - })->filter(function ($value) { - return ! is_null($value); - })->reduce(function ($result, $value) { - return is_null($result) || $value < $result ? $value : $result; - }); - } - - /** - * Create a new collection consisting of every n-th element. - * - * @param int $step - * @param int $offset - * @return static - */ - public function nth($step, $offset = 0) - { - $new = []; - - $position = 0; - - foreach ($this->items as $item) { - if ($position % $step === $offset) { - $new[] = $item; - } - - $position++; - } - - return new static($new); - } - - /** - * Get the items with the specified keys. - * - * @param mixed $keys - * @return static - */ - public function only($keys) - { - if (is_null($keys)) { - return new static($this->items); - } - - if ($keys instanceof self) { - $keys = $keys->all(); - } - - $keys = is_array($keys) ? $keys : func_get_args(); - - return new static(Arr::only($this->items, $keys)); - } - - /** - * "Paginate" the collection by slicing it into a smaller collection. - * - * @param int $page - * @param int $perPage - * @return static - */ - public function forPage($page, $perPage) - { - $offset = max(0, ($page - 1) * $perPage); - - return $this->slice($offset, $perPage); - } - - /** - * Partition the collection into two arrays using the given callback or key. - * - * @param callable|string $key - * @param mixed $operator - * @param mixed $value - * @return static - */ - public function partition($key, $operator = null, $value = null) - { - $partitions = [new static, new static]; - - $callback = func_num_args() === 1 - ? $this->valueRetriever($key) - : $this->operatorForWhere(...func_get_args()); - - foreach ($this->items as $key => $item) { - $partitions[(int) ! $callback($item, $key)][$key] = $item; - } - - return new static($partitions); - } - - /** - * Pass the collection to the given callback and return the result. - * - * @param callable $callback - * @return mixed - */ - public function pipe(callable $callback) - { - return $callback($this); - } - - /** - * Get and remove the last item from the collection. - * - * @return mixed - */ - public function pop() - { - return array_pop($this->items); - } - - /** - * Push an item onto the beginning of the collection. - * - * @param mixed $value - * @param mixed $key - * @return $this - */ - public function prepend($value, $key = null) - { - $this->items = Arr::prepend($this->items, $value, $key); - - return $this; - } - - /** - * Push an item onto the end of the collection. - * - * @param mixed $value - * @return $this - */ - public function push($value) - { - $this->offsetSet(null, $value); - - return $this; - } - - /** - * Push all of the given items onto the collection. - * - * @param iterable $source - * @return static - */ - public function concat($source) - { - $result = new static($this); - - foreach ($source as $item) { - $result->push($item); - } - - return $result; - } - - /** - * Get and remove an item from the collection. - * - * @param mixed $key - * @param mixed $default - * @return mixed - */ - public function pull($key, $default = null) - { - return Arr::pull($this->items, $key, $default); - } - - /** - * Put an item in the collection by key. - * - * @param mixed $key - * @param mixed $value - * @return $this - */ - public function put($key, $value) - { - $this->offsetSet($key, $value); - - return $this; - } - - /** - * Get one or a specified number of items randomly from the collection. - * - * @param int|null $number - * @return static|mixed - * - * @throws \InvalidArgumentException - */ - public function random($number = null) - { - if (is_null($number)) { - return Arr::random($this->items); - } - - return new static(Arr::random($this->items, $number)); - } - - /** - * Reduce the collection to a single value. - * - * @param callable $callback - * @param mixed $initial - * @return mixed - */ - public function reduce(callable $callback, $initial = null) - { - return array_reduce($this->items, $callback, $initial); - } - - /** - * Create a collection of all elements that do not pass a given truth test. - * - * @param callable|mixed $callback - * @return static - */ - public function reject($callback = true) - { - $useAsCallable = $this->useAsCallable($callback); - - return $this->filter(function ($value, $key) use ($callback, $useAsCallable) { - return $useAsCallable - ? ! $callback($value, $key) - : $value != $callback; - }); - } - - /** - * Replace the collection items with the given items. - * - * @param mixed $items - * @return static - */ - public function replace($items) - { - return new static(array_replace($this->items, $this->getArrayableItems($items))); - } - - /** - * Recursively replace the collection items with the given items. - * - * @param mixed $items - * @return static - */ - public function replaceRecursive($items) - { - return new static(array_replace_recursive($this->items, $this->getArrayableItems($items))); - } - - /** - * Reverse items order. - * - * @return static - */ - public function reverse() - { - return new static(array_reverse($this->items, true)); - } - - /** - * Search the collection for a given value and return the corresponding key if successful. - * - * @param mixed $value - * @param bool $strict - * @return mixed - */ - public function search($value, $strict = false) - { - if (! $this->useAsCallable($value)) { - return array_search($value, $this->items, $strict); - } - - foreach ($this->items as $key => $item) { - if (call_user_func($value, $item, $key)) { - return $key; - } - } - - return false; - } - - /** - * Get and remove the first item from the collection. - * - * @return mixed - */ - public function shift() - { - return array_shift($this->items); - } - - /** - * Shuffle the items in the collection. - * - * @param int $seed - * @return static - */ - public function shuffle($seed = null) - { - return new static(Arr::shuffle($this->items, $seed)); - } - - /** - * Slice the underlying collection array. - * - * @param int $offset - * @param int $length - * @return static - */ - public function slice($offset, $length = null) - { - return new static(array_slice($this->items, $offset, $length, true)); - } - - /** - * Split a collection into a certain number of groups. - * - * @param int $numberOfGroups - * @return static - */ - public function split($numberOfGroups) - { - if ($this->isEmpty()) { - return new static; - } - - $groups = new static; - - $groupSize = floor($this->count() / $numberOfGroups); - - $remain = $this->count() % $numberOfGroups; - - $start = 0; - - for ($i = 0; $i < $numberOfGroups; $i++) { - $size = $groupSize; - - if ($i < $remain) { - $size++; - } - - if ($size) { - $groups->push(new static(array_slice($this->items, $start, $size))); - - $start += $size; - } - } - - return $groups; - } - - /** - * Chunk the underlying collection array. - * - * @param int $size - * @return static - */ - public function chunk($size) - { - if ($size <= 0) { - return new static; - } - - $chunks = []; - - foreach (array_chunk($this->items, $size, true) as $chunk) { - $chunks[] = new static($chunk); - } - - return new static($chunks); - } - - /** - * Sort through each item with a callback. - * - * @param callable|null $callback - * @return static - */ - public function sort(callable $callback = null) - { - $items = $this->items; - - $callback - ? uasort($items, $callback) - : asort($items); - - return new static($items); - } - - /** - * Sort the collection using the given callback. - * - * @param callable|string $callback - * @param int $options - * @param bool $descending - * @return static - */ - public function sortBy($callback, $options = SORT_REGULAR, $descending = false) - { - $results = []; - - $callback = $this->valueRetriever($callback); - - // First we will loop through the items and get the comparator from a callback - // function which we were given. Then, we will sort the returned values and - // and grab the corresponding values for the sorted keys from this array. - foreach ($this->items as $key => $value) { - $results[$key] = $callback($value, $key); - } - - $descending ? arsort($results, $options) - : asort($results, $options); - - // Once we have sorted all of the keys in the array, we will loop through them - // and grab the corresponding model so we can set the underlying items list - // to the sorted version. Then we'll just return the collection instance. - foreach (array_keys($results) as $key) { - $results[$key] = $this->items[$key]; - } - - return new static($results); - } - - /** - * Sort the collection in descending order using the given callback. - * - * @param callable|string $callback - * @param int $options - * @return static - */ - public function sortByDesc($callback, $options = SORT_REGULAR) - { - return $this->sortBy($callback, $options, true); - } - - /** - * Sort the collection keys. - * - * @param int $options - * @param bool $descending - * @return static - */ - public function sortKeys($options = SORT_REGULAR, $descending = false) - { - $items = $this->items; - - $descending ? krsort($items, $options) : ksort($items, $options); - - return new static($items); - } - - /** - * Sort the collection keys in descending order. - * - * @param int $options - * @return static - */ - public function sortKeysDesc($options = SORT_REGULAR) - { - return $this->sortKeys($options, true); - } - - /** - * Splice a portion of the underlying collection array. - * - * @param int $offset - * @param int|null $length - * @param mixed $replacement - * @return static - */ - public function splice($offset, $length = null, $replacement = []) - { - if (func_num_args() === 1) { - return new static(array_splice($this->items, $offset)); - } - - return new static(array_splice($this->items, $offset, $length, $replacement)); - } - - /** - * Get the sum of the given values. - * - * @param callable|string|null $callback - * @return mixed - */ - public function sum($callback = null) - { - if (is_null($callback)) { - return array_sum($this->items); - } - - $callback = $this->valueRetriever($callback); - - return $this->reduce(function ($result, $item) use ($callback) { - return $result + $callback($item); - }, 0); - } - - /** - * Take the first or last {$limit} items. - * - * @param int $limit - * @return static - */ - public function take($limit) - { - if ($limit < 0) { - return $this->slice($limit, abs($limit)); - } - - return $this->slice(0, $limit); - } - - /** - * Pass the collection to the given callback and then return it. - * - * @param callable $callback - * @return $this - */ - public function tap(callable $callback) - { - $callback(new static($this->items)); - - return $this; - } - - /** - * Transform each item in the collection using a callback. - * - * @param callable $callback - * @return $this - */ - public function transform(callable $callback) - { - $this->items = $this->map($callback)->all(); - - return $this; - } - - /** - * Return only unique items from the collection array. - * - * @param string|callable|null $key - * @param bool $strict - * @return static - */ - public function unique($key = null, $strict = false) - { - $callback = $this->valueRetriever($key); - - $exists = []; - - return $this->reject(function ($item, $key) use ($callback, $strict, &$exists) { - if (in_array($id = $callback($item, $key), $exists, $strict)) { - return true; - } - - $exists[] = $id; - }); - } - - /** - * Return only unique items from the collection array using strict comparison. - * - * @param string|callable|null $key - * @return static - */ - public function uniqueStrict($key = null) - { - return $this->unique($key, true); - } - - /** - * Reset the keys on the underlying array. - * - * @return static - */ - public function values() - { - return new static(array_values($this->items)); - } - - /** - * Get a value retrieving callback. - * - * @param callable|string|null $value - * @return callable - */ - protected function valueRetriever($value) - { - if ($this->useAsCallable($value)) { - return $value; - } - - return function ($item) use ($value) { - return data_get($item, $value); - }; - } - - /** - * Zip the collection together with one or more arrays. - * - * e.g. new Collection([1, 2, 3])->zip([4, 5, 6]); - * => [[1, 4], [2, 5], [3, 6]] - * - * @param mixed ...$items - * @return static - */ - public function zip($items) - { - $arrayableItems = array_map(function ($items) { - return $this->getArrayableItems($items); - }, func_get_args()); - - $params = array_merge([function () { - return new static(func_get_args()); - }, $this->items], $arrayableItems); - - return new static(call_user_func_array('array_map', $params)); - } - - /** - * Pad collection to the specified length with a value. - * - * @param int $size - * @param mixed $value - * @return static - */ - public function pad($size, $value) - { - return new static(array_pad($this->items, $size, $value)); - } - - /** - * Get the collection of items as a plain array. - * - * @return array - */ - public function toArray() - { - return array_map(function ($value) { - return $value instanceof Arrayable ? $value->toArray() : $value; - }, $this->items); - } - - /** - * Convert the object into something JSON serializable. - * - * @return array - */ - public function jsonSerialize() - { - return array_map(function ($value) { - if ($value instanceof JsonSerializable) { - return $value->jsonSerialize(); - } elseif ($value instanceof Jsonable) { - return json_decode($value->toJson(), true); - } elseif ($value instanceof Arrayable) { - return $value->toArray(); - } - - return $value; - }, $this->items); - } - - /** - * Get the collection of items as JSON. - * - * @param int $options - * @return string - */ - public function toJson($options = 0) - { - return json_encode($this->jsonSerialize(), $options); - } - - /** - * Get an iterator for the items. - * - * @return \ArrayIterator - */ - public function getIterator() - { - return new ArrayIterator($this->items); - } - - /** - * Get a CachingIterator instance. - * - * @param int $flags - * @return \CachingIterator - */ - public function getCachingIterator($flags = CachingIterator::CALL_TOSTRING) - { - return new CachingIterator($this->getIterator(), $flags); - } - - /** - * Count the number of items in the collection. - * - * @return int - */ - public function count() - { - return count($this->items); - } - - /** - * Count the number of items in the collection using a given truth test. - * - * @param callable|null $callback - * @return static - */ - public function countBy($callback = null) - { - if (is_null($callback)) { - $callback = function ($value) { - return $value; - }; - } - - return new static($this->groupBy($callback)->map(function ($value) { - return $value->count(); - })); - } - - /** - * Add an item to the collection. - * - * @param mixed $item - * @return $this - */ - public function add($item) - { - $this->items[] = $item; - - return $this; - } - - /** - * Get a base Support collection instance from this collection. - * - * @return \Illuminate\Support\Collection - */ - public function toBase() - { - return new self($this); - } - - /** - * Determine if an item exists at an offset. - * - * @param mixed $key - * @return bool - */ - public function offsetExists($key) - { - return array_key_exists($key, $this->items); - } - - /** - * Get an item at a given offset. - * - * @param mixed $key - * @return mixed - */ - public function offsetGet($key) - { - return $this->items[$key]; - } - - /** - * Set the item at a given offset. - * - * @param mixed $key - * @param mixed $value - * @return void - */ - public function offsetSet($key, $value) - { - if (is_null($key)) { - $this->items[] = $value; - } else { - $this->items[$key] = $value; - } - } - - /** - * Unset the item at a given offset. - * - * @param string $key - * @return void - */ - public function offsetUnset($key) - { - unset($this->items[$key]); - } - - /** - * Convert the collection to its string representation. - * - * @return string - */ - public function __toString() - { - return $this->toJson(); - } - - /** - * Results array of items from Collection or Arrayable. - * - * @param mixed $items - * @return array - */ - protected function getArrayableItems($items) - { - if (is_array($items)) { - return $items; - } elseif ($items instanceof self) { - return $items->all(); - } elseif ($items instanceof Arrayable) { - return $items->toArray(); - } elseif ($items instanceof Jsonable) { - return json_decode($items->toJson(), true); - } elseif ($items instanceof JsonSerializable) { - return (array) $items->jsonSerialize(); - } elseif ($items instanceof Traversable) { - return iterator_to_array($items); - } - - return (array) $items; - } - - /** - * Add a method to the list of proxied methods. - * - * @param string $method - * @return void - */ - public static function proxy($method) - { - static::$proxies[] = $method; - } - - /** - * Dynamically access collection proxies. - * - * @param string $key - * @return mixed - * - * @throws \Exception - */ - public function __get($key) - { - if (! in_array($key, static::$proxies)) { - throw new Exception("Property [{$key}] does not exist on this collection instance."); - } - - return new HigherOrderCollectionProxy($this, $key); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/Composer.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/Composer.php deleted file mode 100644 index 63a00e9..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/Composer.php +++ /dev/null @@ -1,110 +0,0 @@ -files = $files; - $this->workingPath = $workingPath; - } - - /** - * Regenerate the Composer autoloader files. - * - * @param string|array $extra - * @return void - */ - public function dumpAutoloads($extra = '') - { - $extra = $extra ? (array) $extra : []; - - $command = array_merge($this->findComposer(), ['dump-autoload'], $extra); - - $this->getProcess($command)->run(); - } - - /** - * Regenerate the optimized Composer autoloader files. - * - * @return void - */ - public function dumpOptimized() - { - $this->dumpAutoloads('--optimize'); - } - - /** - * Get the composer command for the environment. - * - * @return array - */ - protected function findComposer() - { - if ($this->files->exists($this->workingPath.'/composer.phar')) { - return [$this->phpBinary(), 'composer.phar']; - } - - return ['composer']; - } - - /** - * Get the PHP binary. - * - * @return string - */ - protected function phpBinary() - { - return ProcessUtils::escapeArgument((new PhpExecutableFinder)->find(false)); - } - - /** - * Get a new Symfony process instance. - * - * @param array $command - * @return \Symfony\Component\Process\Process - */ - protected function getProcess(array $command) - { - return (new Process($command, $this->workingPath))->setTimeout(null); - } - - /** - * Set the working path used by the class. - * - * @param string $path - * @return $this - */ - public function setWorkingPath($path) - { - $this->workingPath = realpath($path); - - return $this; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/ConfigurationUrlParser.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/ConfigurationUrlParser.php deleted file mode 100644 index 308ff8f..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/ConfigurationUrlParser.php +++ /dev/null @@ -1,189 +0,0 @@ - 'sqlsrv', - 'mysql2' => 'mysql', // RDS - 'postgres' => 'pgsql', - 'postgresql' => 'pgsql', - 'sqlite3' => 'sqlite', - ]; - - /** - * Parse the database configuration, hydrating options using a database configuration URL if possible. - * - * @param array|string $config - * @return array - */ - public function parseConfiguration($config) - { - if (is_string($config)) { - $config = ['url' => $config]; - } - - $url = $config['url'] ?? null; - - $config = Arr::except($config, 'url'); - - if (! $url) { - return $config; - } - - $parsedUrl = $this->parseUrl($url); - - return array_merge( - $config, - $this->getPrimaryOptions($parsedUrl), - $this->getQueryOptions($parsedUrl) - ); - } - - /** - * Get the primary database connection options. - * - * @param array $url - * @return array - */ - protected function getPrimaryOptions($url) - { - return array_filter([ - 'driver' => $this->getDriver($url), - 'database' => $this->getDatabase($url), - 'host' => $url['host'] ?? null, - 'port' => $url['port'] ?? null, - 'username' => $url['user'] ?? null, - 'password' => $url['pass'] ?? null, - ], function ($value) { - return ! is_null($value); - }); - } - - /** - * Get the database driver from the URL. - * - * @param array $url - * @return string|null - */ - protected function getDriver($url) - { - $alias = $url['scheme'] ?? null; - - if (! $alias) { - return; - } - - return static::$driverAliases[$alias] ?? $alias; - } - - /** - * Get the database name from the URL. - * - * @param array $url - * @return string|null - */ - protected function getDatabase($url) - { - $path = $url['path'] ?? null; - - return $path ? substr($path, 1) : null; - } - - /** - * Get all of the additional database options from the query string. - * - * @param array $url - * @return array - */ - protected function getQueryOptions($url) - { - $queryString = $url['query'] ?? null; - - if (! $queryString) { - return []; - } - - $query = []; - - parse_str($queryString, $query); - - return $this->parseStringsToNativeTypes($query); - } - - /** - * Parse the string URL to an array of components. - * - * @param string $url - * @return array - */ - protected function parseUrl($url) - { - $url = preg_replace('#^(sqlite3?):///#', '$1://null/', $url); - - $parsedUrl = parse_url($url); - - if ($parsedUrl === false) { - throw new InvalidArgumentException('The database configuration URL is malformed.'); - } - - return $this->parseStringsToNativeTypes( - array_map('rawurldecode', $parsedUrl) - ); - } - - /** - * Convert string casted values to their native types. - * - * @param mixed $value - * @return mixed - */ - protected function parseStringsToNativeTypes($value) - { - if (is_array($value)) { - return array_map([$this, 'parseStringsToNativeTypes'], $value); - } - - if (! is_string($value)) { - return $value; - } - - $parsedValue = json_decode($value, true); - - if (json_last_error() === JSON_ERROR_NONE) { - return $parsedValue; - } - - return $value; - } - - /** - * Get all of the current drivers aliases. - * - * @return array - */ - public static function getDriverAliases() - { - return static::$driverAliases; - } - - /** - * Add the given driver alias to the driver aliases array. - * - * @param string $alias - * @param string $driver - * @return void - */ - public static function addDriverAlias($alias, $driver) - { - static::$driverAliases[$alias] = $driver; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/DateFactory.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/DateFactory.php deleted file mode 100644 index cb679c7..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/DateFactory.php +++ /dev/null @@ -1,230 +0,0 @@ -$method(...$parameters); - } - - $dateClass = static::$dateClass ?: $defaultClassName; - - // Check if date can be created using public class method... - if (method_exists($dateClass, $method) || - method_exists($dateClass, 'hasMacro') && $dateClass::hasMacro($method)) { - return $dateClass::$method(...$parameters); - } - - // If that fails, create the date with the default class.. - $date = $defaultClassName::$method(...$parameters); - - // If the configured class has an "instance" method, we'll try to pass our date into there... - if (method_exists($dateClass, 'instance')) { - return $dateClass::instance($date); - } - - // Otherwise, assume the configured class has a DateTime compatible constructor... - return new $dateClass($date->format('Y-m-d H:i:s.u'), $date->getTimezone()); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/Facades/App.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/Facades/App.php deleted file mode 100644 index 67e0b4c..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/Facades/App.php +++ /dev/null @@ -1,58 +0,0 @@ -make('router')->auth($options); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/Facades/Blade.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/Facades/Blade.php deleted file mode 100644 index 003176c..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/Facades/Blade.php +++ /dev/null @@ -1,36 +0,0 @@ -cookie($key, null)); - } - - /** - * Retrieve a cookie from the request. - * - * @param string $key - * @param mixed $default - * @return string|array|null - */ - public static function get($key = null, $default = null) - { - return static::$app['request']->cookie($key, $default); - } - - /** - * Get the registered name of the component. - * - * @return string - */ - protected static function getFacadeAccessor() - { - return 'cookie'; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/Facades/Crypt.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/Facades/Crypt.php deleted file mode 100644 index 20f269d..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/Facades/Crypt.php +++ /dev/null @@ -1,27 +0,0 @@ -afterResolving(static::getFacadeAccessor(), function ($service) use ($callback) { - $callback($service); - }); - } - - /** - * Convert the facade into a Mockery spy. - * - * @return \Mockery\MockInterface - */ - public static function spy() - { - if (! static::isMock()) { - $class = static::getMockableClass(); - - return tap($class ? Mockery::spy($class) : Mockery::spy(), function ($spy) { - static::swap($spy); - }); - } - } - - /** - * Initiate a mock expectation on the facade. - * - * @return \Mockery\Expectation - */ - public static function shouldReceive() - { - $name = static::getFacadeAccessor(); - - $mock = static::isMock() - ? static::$resolvedInstance[$name] - : static::createFreshMockInstance(); - - return $mock->shouldReceive(...func_get_args()); - } - - /** - * Create a fresh mock instance for the given class. - * - * @return \Mockery\Expectation - */ - protected static function createFreshMockInstance() - { - return tap(static::createMock(), function ($mock) { - static::swap($mock); - - $mock->shouldAllowMockingProtectedMethods(); - }); - } - - /** - * Create a fresh mock instance for the given class. - * - * @return \Mockery\MockInterface - */ - protected static function createMock() - { - $class = static::getMockableClass(); - - return $class ? Mockery::mock($class) : Mockery::mock(); - } - - /** - * Determines whether a mock is set as the instance of the facade. - * - * @return bool - */ - protected static function isMock() - { - $name = static::getFacadeAccessor(); - - return isset(static::$resolvedInstance[$name]) && - static::$resolvedInstance[$name] instanceof MockInterface; - } - - /** - * Get the mockable class for the bound instance. - * - * @return string|null - */ - protected static function getMockableClass() - { - if ($root = static::getFacadeRoot()) { - return get_class($root); - } - } - - /** - * Hotswap the underlying instance behind the facade. - * - * @param mixed $instance - * @return void - */ - public static function swap($instance) - { - static::$resolvedInstance[static::getFacadeAccessor()] = $instance; - - if (isset(static::$app)) { - static::$app->instance(static::getFacadeAccessor(), $instance); - } - } - - /** - * Get the root object behind the facade. - * - * @return mixed - */ - public static function getFacadeRoot() - { - return static::resolveFacadeInstance(static::getFacadeAccessor()); - } - - /** - * Get the registered name of the component. - * - * @return string - * - * @throws \RuntimeException - */ - protected static function getFacadeAccessor() - { - throw new RuntimeException('Facade does not implement getFacadeAccessor method.'); - } - - /** - * Resolve the facade root instance from the container. - * - * @param object|string $name - * @return mixed - */ - protected static function resolveFacadeInstance($name) - { - if (is_object($name)) { - return $name; - } - - if (isset(static::$resolvedInstance[$name])) { - return static::$resolvedInstance[$name]; - } - - if (static::$app) { - return static::$resolvedInstance[$name] = static::$app[$name]; - } - } - - /** - * Clear a resolved facade instance. - * - * @param string $name - * @return void - */ - public static function clearResolvedInstance($name) - { - unset(static::$resolvedInstance[$name]); - } - - /** - * Clear all of the resolved instances. - * - * @return void - */ - public static function clearResolvedInstances() - { - static::$resolvedInstance = []; - } - - /** - * Get the application instance behind the facade. - * - * @return \Illuminate\Contracts\Foundation\Application - */ - public static function getFacadeApplication() - { - return static::$app; - } - - /** - * Set the application instance. - * - * @param \Illuminate\Contracts\Foundation\Application $app - * @return void - */ - public static function setFacadeApplication($app) - { - static::$app = $app; - } - - /** - * Handle dynamic, static calls to the object. - * - * @param string $method - * @param array $args - * @return mixed - * - * @throws \RuntimeException - */ - public static function __callStatic($method, $args) - { - $instance = static::getFacadeRoot(); - - if (! $instance) { - throw new RuntimeException('A facade root has not been set.'); - } - - return $instance->$method(...$args); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/Facades/File.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/Facades/File.php deleted file mode 100644 index b0a52e6..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/Facades/File.php +++ /dev/null @@ -1,57 +0,0 @@ -input($key, $default); - } - - /** - * Get the registered name of the component. - * - * @return string - */ - protected static function getFacadeAccessor() - { - return 'request'; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/Facades/Lang.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/Facades/Lang.php deleted file mode 100644 index 5d53305..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/Facades/Lang.php +++ /dev/null @@ -1,25 +0,0 @@ -route($channel, $route); - } - - /** - * Get the registered name of the component. - * - * @return string - */ - protected static function getFacadeAccessor() - { - return ChannelManager::class; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/Facades/Password.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/Facades/Password.php deleted file mode 100644 index cbe9e24..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/Facades/Password.php +++ /dev/null @@ -1,61 +0,0 @@ -connection($name)->getSchemaBuilder(); - } - - /** - * Get a schema builder instance for the default connection. - * - * @return \Illuminate\Database\Schema\Builder - */ - protected static function getFacadeAccessor() - { - return static::$app['db']->connection()->getSchemaBuilder(); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/Facades/Session.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/Facades/Session.php deleted file mode 100644 index 4df35ce..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/Facades/Session.php +++ /dev/null @@ -1,43 +0,0 @@ -get('filesystems.default'); - - (new Filesystem)->cleanDirectory( - $root = storage_path('framework/testing/disks/'.$disk) - ); - - static::set($disk, $fake = self::createLocalDriver(['root' => $root])); - - return $fake; - } - - /** - * Replace the given disk with a persistent local testing disk. - * - * @param string|null $disk - * @return \Illuminate\Filesystem\Filesystem - */ - public static function persistentFake($disk = null) - { - $disk = $disk ?: self::$app['config']->get('filesystems.default'); - - static::set($disk, $fake = self::createLocalDriver([ - 'root' => storage_path('framework/testing/disks/'.$disk), - ])); - - return $fake; - } - - /** - * Get the registered name of the component. - * - * @return string - */ - protected static function getFacadeAccessor() - { - return 'filesystem'; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/Facades/URL.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/Facades/URL.php deleted file mode 100644 index baa2356..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/Facades/URL.php +++ /dev/null @@ -1,33 +0,0 @@ - $value) { - $this->attributes[$key] = $value; - } - } - - /** - * Get an attribute from the fluent instance. - * - * @param string $key - * @param mixed $default - * @return mixed - */ - public function get($key, $default = null) - { - if (array_key_exists($key, $this->attributes)) { - return $this->attributes[$key]; - } - - return value($default); - } - - /** - * Get the attributes from the fluent instance. - * - * @return array - */ - public function getAttributes() - { - return $this->attributes; - } - - /** - * Convert the fluent instance to an array. - * - * @return array - */ - public function toArray() - { - return $this->attributes; - } - - /** - * Convert the object into something JSON serializable. - * - * @return array - */ - public function jsonSerialize() - { - return $this->toArray(); - } - - /** - * Convert the fluent instance to JSON. - * - * @param int $options - * @return string - */ - public function toJson($options = 0) - { - return json_encode($this->jsonSerialize(), $options); - } - - /** - * Determine if the given offset exists. - * - * @param string $offset - * @return bool - */ - public function offsetExists($offset) - { - return isset($this->attributes[$offset]); - } - - /** - * Get the value for a given offset. - * - * @param string $offset - * @return mixed - */ - public function offsetGet($offset) - { - return $this->get($offset); - } - - /** - * Set the value at the given offset. - * - * @param string $offset - * @param mixed $value - * @return void - */ - public function offsetSet($offset, $value) - { - $this->attributes[$offset] = $value; - } - - /** - * Unset the value at the given offset. - * - * @param string $offset - * @return void - */ - public function offsetUnset($offset) - { - unset($this->attributes[$offset]); - } - - /** - * Handle dynamic calls to the fluent instance to set attributes. - * - * @param string $method - * @param array $parameters - * @return $this - */ - public function __call($method, $parameters) - { - $this->attributes[$method] = count($parameters) > 0 ? $parameters[0] : true; - - return $this; - } - - /** - * Dynamically retrieve the value of an attribute. - * - * @param string $key - * @return mixed - */ - public function __get($key) - { - return $this->get($key); - } - - /** - * Dynamically set the value of an attribute. - * - * @param string $key - * @param mixed $value - * @return void - */ - public function __set($key, $value) - { - $this->offsetSet($key, $value); - } - - /** - * Dynamically check if an attribute is set. - * - * @param string $key - * @return bool - */ - public function __isset($key) - { - return $this->offsetExists($key); - } - - /** - * Dynamically unset an attribute. - * - * @param string $key - * @return void - */ - public function __unset($key) - { - $this->offsetUnset($key); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/HigherOrderCollectionProxy.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/HigherOrderCollectionProxy.php deleted file mode 100644 index 7a781a0..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/HigherOrderCollectionProxy.php +++ /dev/null @@ -1,63 +0,0 @@ -method = $method; - $this->collection = $collection; - } - - /** - * Proxy accessing an attribute onto the collection items. - * - * @param string $key - * @return mixed - */ - public function __get($key) - { - return $this->collection->{$this->method}(function ($value) use ($key) { - return is_array($value) ? $value[$key] : $value->{$key}; - }); - } - - /** - * Proxy a method call onto the collection items. - * - * @param string $method - * @param array $parameters - * @return mixed - */ - public function __call($method, $parameters) - { - return $this->collection->{$this->method}(function ($value) use ($method, $parameters) { - return $value->{$method}(...$parameters); - }); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/HigherOrderTapProxy.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/HigherOrderTapProxy.php deleted file mode 100644 index bbf9b2e..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/HigherOrderTapProxy.php +++ /dev/null @@ -1,38 +0,0 @@ -target = $target; - } - - /** - * Dynamically pass method calls to the target. - * - * @param string $method - * @param array $parameters - * @return mixed - */ - public function __call($method, $parameters) - { - $this->target->{$method}(...$parameters); - - return $this->target; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/HtmlString.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/HtmlString.php deleted file mode 100644 index c13adfd..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/HtmlString.php +++ /dev/null @@ -1,46 +0,0 @@ -html = $html; - } - - /** - * Get the HTML string. - * - * @return string - */ - public function toHtml() - { - return $this->html; - } - - /** - * Get the HTML string. - * - * @return string - */ - public function __toString() - { - return $this->toHtml(); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/InteractsWithTime.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/InteractsWithTime.php deleted file mode 100644 index 2b617c3..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/InteractsWithTime.php +++ /dev/null @@ -1,64 +0,0 @@ -parseDateInterval($delay); - - return $delay instanceof DateTimeInterface - ? max(0, $delay->getTimestamp() - $this->currentTime()) - : (int) $delay; - } - - /** - * Get the "available at" UNIX timestamp. - * - * @param \DateTimeInterface|\DateInterval|int $delay - * @return int - */ - protected function availableAt($delay = 0) - { - $delay = $this->parseDateInterval($delay); - - return $delay instanceof DateTimeInterface - ? $delay->getTimestamp() - : Carbon::now()->addRealSeconds($delay)->getTimestamp(); - } - - /** - * If the given value is an interval, convert it to a DateTime instance. - * - * @param \DateTimeInterface|\DateInterval|int $delay - * @return \DateTimeInterface|int - */ - protected function parseDateInterval($delay) - { - if ($delay instanceof DateInterval) { - $delay = Carbon::now()->add($delay); - } - - return $delay; - } - - /** - * Get the current system time as a UNIX timestamp. - * - * @return int - */ - protected function currentTime() - { - return Carbon::now()->getTimestamp(); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/LICENSE.md b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/LICENSE.md deleted file mode 100644 index 79810c8..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/LICENSE.md +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) Taylor Otwell - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/Manager.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/Manager.php deleted file mode 100644 index 38e9308..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/Manager.php +++ /dev/null @@ -1,148 +0,0 @@ -app = $app; - } - - /** - * Get the default driver name. - * - * @return string - */ - abstract public function getDefaultDriver(); - - /** - * Get a driver instance. - * - * @param string $driver - * @return mixed - * - * @throws \InvalidArgumentException - */ - public function driver($driver = null) - { - $driver = $driver ?: $this->getDefaultDriver(); - - if (is_null($driver)) { - throw new InvalidArgumentException(sprintf( - 'Unable to resolve NULL driver for [%s].', static::class - )); - } - - // If the given driver has not been created before, we will create the instances - // here and cache it so we can return it next time very quickly. If there is - // already a driver created by this name, we'll just return that instance. - if (! isset($this->drivers[$driver])) { - $this->drivers[$driver] = $this->createDriver($driver); - } - - return $this->drivers[$driver]; - } - - /** - * Create a new driver instance. - * - * @param string $driver - * @return mixed - * - * @throws \InvalidArgumentException - */ - protected function createDriver($driver) - { - // First, we will determine if a custom driver creator exists for the given driver and - // if it does not we will check for a creator method for the driver. Custom creator - // callbacks allow developers to build their own "drivers" easily using Closures. - if (isset($this->customCreators[$driver])) { - return $this->callCustomCreator($driver); - } else { - $method = 'create'.Str::studly($driver).'Driver'; - - if (method_exists($this, $method)) { - return $this->$method(); - } - } - throw new InvalidArgumentException("Driver [$driver] not supported."); - } - - /** - * Call a custom driver creator. - * - * @param string $driver - * @return mixed - */ - protected function callCustomCreator($driver) - { - return $this->customCreators[$driver]($this->app); - } - - /** - * Register a custom driver creator Closure. - * - * @param string $driver - * @param \Closure $callback - * @return $this - */ - public function extend($driver, Closure $callback) - { - $this->customCreators[$driver] = $callback; - - return $this; - } - - /** - * Get all of the created "drivers". - * - * @return array - */ - public function getDrivers() - { - return $this->drivers; - } - - /** - * Dynamically call the default driver instance. - * - * @param string $method - * @param array $parameters - * @return mixed - */ - public function __call($method, $parameters) - { - return $this->driver()->$method(...$parameters); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/MessageBag.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/MessageBag.php deleted file mode 100644 index b20bd77..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/MessageBag.php +++ /dev/null @@ -1,404 +0,0 @@ - $value) { - $value = $value instanceof Arrayable ? $value->toArray() : (array) $value; - - $this->messages[$key] = array_unique($value); - } - } - - /** - * Get the keys present in the message bag. - * - * @return array - */ - public function keys() - { - return array_keys($this->messages); - } - - /** - * Add a message to the message bag. - * - * @param string $key - * @param string $message - * @return $this - */ - public function add($key, $message) - { - if ($this->isUnique($key, $message)) { - $this->messages[$key][] = $message; - } - - return $this; - } - - /** - * Determine if a key and message combination already exists. - * - * @param string $key - * @param string $message - * @return bool - */ - protected function isUnique($key, $message) - { - $messages = (array) $this->messages; - - return ! isset($messages[$key]) || ! in_array($message, $messages[$key]); - } - - /** - * Merge a new array of messages into the message bag. - * - * @param \Illuminate\Contracts\Support\MessageProvider|array $messages - * @return $this - */ - public function merge($messages) - { - if ($messages instanceof MessageProvider) { - $messages = $messages->getMessageBag()->getMessages(); - } - - $this->messages = array_merge_recursive($this->messages, $messages); - - return $this; - } - - /** - * Determine if messages exist for all of the given keys. - * - * @param array|string $key - * @return bool - */ - public function has($key) - { - if ($this->isEmpty()) { - return false; - } - - if (is_null($key)) { - return $this->any(); - } - - $keys = is_array($key) ? $key : func_get_args(); - - foreach ($keys as $key) { - if ($this->first($key) === '') { - return false; - } - } - - return true; - } - - /** - * Determine if messages exist for any of the given keys. - * - * @param array|string $keys - * @return bool - */ - public function hasAny($keys = []) - { - if ($this->isEmpty()) { - return false; - } - - $keys = is_array($keys) ? $keys : func_get_args(); - - foreach ($keys as $key) { - if ($this->has($key)) { - return true; - } - } - - return false; - } - - /** - * Get the first message from the message bag for a given key. - * - * @param string $key - * @param string $format - * @return string - */ - public function first($key = null, $format = null) - { - $messages = is_null($key) ? $this->all($format) : $this->get($key, $format); - - $firstMessage = Arr::first($messages, null, ''); - - return is_array($firstMessage) ? Arr::first($firstMessage) : $firstMessage; - } - - /** - * Get all of the messages from the message bag for a given key. - * - * @param string $key - * @param string $format - * @return array - */ - public function get($key, $format = null) - { - // If the message exists in the message bag, we will transform it and return - // the message. Otherwise, we will check if the key is implicit & collect - // all the messages that match the given key and output it as an array. - if (array_key_exists($key, $this->messages)) { - return $this->transform( - $this->messages[$key], $this->checkFormat($format), $key - ); - } - - if (Str::contains($key, '*')) { - return $this->getMessagesForWildcardKey($key, $format); - } - - return []; - } - - /** - * Get the messages for a wildcard key. - * - * @param string $key - * @param string|null $format - * @return array - */ - protected function getMessagesForWildcardKey($key, $format) - { - return collect($this->messages) - ->filter(function ($messages, $messageKey) use ($key) { - return Str::is($key, $messageKey); - }) - ->map(function ($messages, $messageKey) use ($format) { - return $this->transform( - $messages, $this->checkFormat($format), $messageKey - ); - })->all(); - } - - /** - * Get all of the messages for every key in the message bag. - * - * @param string $format - * @return array - */ - public function all($format = null) - { - $format = $this->checkFormat($format); - - $all = []; - - foreach ($this->messages as $key => $messages) { - $all = array_merge($all, $this->transform($messages, $format, $key)); - } - - return $all; - } - - /** - * Get all of the unique messages for every key in the message bag. - * - * @param string $format - * @return array - */ - public function unique($format = null) - { - return array_unique($this->all($format)); - } - - /** - * Format an array of messages. - * - * @param array $messages - * @param string $format - * @param string $messageKey - * @return array - */ - protected function transform($messages, $format, $messageKey) - { - return collect((array) $messages) - ->map(function ($message) use ($format, $messageKey) { - // We will simply spin through the given messages and transform each one - // replacing the :message place holder with the real message allowing - // the messages to be easily formatted to each developer's desires. - return str_replace([':message', ':key'], [$message, $messageKey], $format); - })->all(); - } - - /** - * Get the appropriate format based on the given format. - * - * @param string $format - * @return string - */ - protected function checkFormat($format) - { - return $format ?: $this->format; - } - - /** - * Get the raw messages in the message bag. - * - * @return array - */ - public function messages() - { - return $this->messages; - } - - /** - * Get the raw messages in the message bag. - * - * @return array - */ - public function getMessages() - { - return $this->messages(); - } - - /** - * Get the messages for the instance. - * - * @return \Illuminate\Support\MessageBag - */ - public function getMessageBag() - { - return $this; - } - - /** - * Get the default message format. - * - * @return string - */ - public function getFormat() - { - return $this->format; - } - - /** - * Set the default message format. - * - * @param string $format - * @return \Illuminate\Support\MessageBag - */ - public function setFormat($format = ':message') - { - $this->format = $format; - - return $this; - } - - /** - * Determine if the message bag has any messages. - * - * @return bool - */ - public function isEmpty() - { - return ! $this->any(); - } - - /** - * Determine if the message bag has any messages. - * - * @return bool - */ - public function isNotEmpty() - { - return $this->any(); - } - - /** - * Determine if the message bag has any messages. - * - * @return bool - */ - public function any() - { - return $this->count() > 0; - } - - /** - * Get the number of messages in the message bag. - * - * @return int - */ - public function count() - { - return count($this->messages, COUNT_RECURSIVE) - count($this->messages); - } - - /** - * Get the instance as an array. - * - * @return array - */ - public function toArray() - { - return $this->getMessages(); - } - - /** - * Convert the object into something JSON serializable. - * - * @return array - */ - public function jsonSerialize() - { - return $this->toArray(); - } - - /** - * Convert the object to its JSON representation. - * - * @param int $options - * @return string - */ - public function toJson($options = 0) - { - return json_encode($this->jsonSerialize(), $options); - } - - /** - * Convert the message bag to its string representation. - * - * @return string - */ - public function __toString() - { - return $this->toJson(); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/NamespacedItemResolver.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/NamespacedItemResolver.php deleted file mode 100644 index cc38957..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/NamespacedItemResolver.php +++ /dev/null @@ -1,102 +0,0 @@ -parsed[$key])) { - return $this->parsed[$key]; - } - - // If the key does not contain a double colon, it means the key is not in a - // namespace, and is just a regular configuration item. Namespaces are a - // tool for organizing configuration items for things such as modules. - if (strpos($key, '::') === false) { - $segments = explode('.', $key); - - $parsed = $this->parseBasicSegments($segments); - } else { - $parsed = $this->parseNamespacedSegments($key); - } - - // Once we have the parsed array of this key's elements, such as its groups - // and namespace, we will cache each array inside a simple list that has - // the key and the parsed array for quick look-ups for later requests. - return $this->parsed[$key] = $parsed; - } - - /** - * Parse an array of basic segments. - * - * @param array $segments - * @return array - */ - protected function parseBasicSegments(array $segments) - { - // The first segment in a basic array will always be the group, so we can go - // ahead and grab that segment. If there is only one total segment we are - // just pulling an entire group out of the array and not a single item. - $group = $segments[0]; - - // If there is more than one segment in this group, it means we are pulling - // a specific item out of a group and will need to return this item name - // as well as the group so we know which item to pull from the arrays. - $item = count($segments) === 1 - ? null - : implode('.', array_slice($segments, 1)); - - return [null, $group, $item]; - } - - /** - * Parse an array of namespaced segments. - * - * @param string $key - * @return array - */ - protected function parseNamespacedSegments($key) - { - [$namespace, $item] = explode('::', $key); - - // First we'll just explode the first segment to get the namespace and group - // since the item should be in the remaining segments. Once we have these - // two pieces of data we can proceed with parsing out the item's value. - $itemSegments = explode('.', $item); - - $groupAndItem = array_slice( - $this->parseBasicSegments($itemSegments), 1 - ); - - return array_merge([$namespace], $groupAndItem); - } - - /** - * Set the parsed value of a key. - * - * @param string $key - * @param array $parsed - * @return void - */ - public function setParsedKey($key, $parsed) - { - $this->parsed[$key] = $parsed; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/Optional.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/Optional.php deleted file mode 100644 index 5e0b7d9..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/Optional.php +++ /dev/null @@ -1,130 +0,0 @@ -value = $value; - } - - /** - * Dynamically access a property on the underlying object. - * - * @param string $key - * @return mixed - */ - public function __get($key) - { - if (is_object($this->value)) { - return $this->value->{$key} ?? null; - } - } - - /** - * Dynamically check a property exists on the underlying object. - * - * @param mixed $name - * @return bool - */ - public function __isset($name) - { - if (is_object($this->value)) { - return isset($this->value->{$name}); - } - - if (is_array($this->value) || $this->value instanceof ArrayObject) { - return isset($this->value[$name]); - } - - return false; - } - - /** - * Determine if an item exists at an offset. - * - * @param mixed $key - * @return bool - */ - public function offsetExists($key) - { - return Arr::accessible($this->value) && Arr::exists($this->value, $key); - } - - /** - * Get an item at a given offset. - * - * @param mixed $key - * @return mixed - */ - public function offsetGet($key) - { - return Arr::get($this->value, $key); - } - - /** - * Set the item at a given offset. - * - * @param mixed $key - * @param mixed $value - * @return void - */ - public function offsetSet($key, $value) - { - if (Arr::accessible($this->value)) { - $this->value[$key] = $value; - } - } - - /** - * Unset the item at a given offset. - * - * @param string $key - * @return void - */ - public function offsetUnset($key) - { - if (Arr::accessible($this->value)) { - unset($this->value[$key]); - } - } - - /** - * Dynamically pass a method to the underlying object. - * - * @param string $method - * @param array $parameters - * @return mixed - */ - public function __call($method, $parameters) - { - if (static::hasMacro($method)) { - return $this->macroCall($method, $parameters); - } - - if (is_object($this->value)) { - return $this->value->{$method}(...$parameters); - } - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/Pluralizer.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/Pluralizer.php deleted file mode 100644 index 01cba35..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/Pluralizer.php +++ /dev/null @@ -1,121 +0,0 @@ -app = $app; - } - - /** - * Register any application services. - * - * @return void - */ - public function register() - { - // - } - - /** - * Merge the given configuration with the existing configuration. - * - * @param string $path - * @param string $key - * @return void - */ - protected function mergeConfigFrom($path, $key) - { - $config = $this->app['config']->get($key, []); - - $this->app['config']->set($key, array_merge(require $path, $config)); - } - - /** - * Load the given routes file if routes are not already cached. - * - * @param string $path - * @return void - */ - protected function loadRoutesFrom($path) - { - if (! $this->app->routesAreCached()) { - require $path; - } - } - - /** - * Register a view file namespace. - * - * @param string|array $path - * @param string $namespace - * @return void - */ - protected function loadViewsFrom($path, $namespace) - { - if (is_array($this->app->config['view']['paths'])) { - foreach ($this->app->config['view']['paths'] as $viewPath) { - if (is_dir($appPath = $viewPath.'/vendor/'.$namespace)) { - $this->app['view']->addNamespace($namespace, $appPath); - } - } - } - - $this->app['view']->addNamespace($namespace, $path); - } - - /** - * Register a translation file namespace. - * - * @param string $path - * @param string $namespace - * @return void - */ - protected function loadTranslationsFrom($path, $namespace) - { - $this->app['translator']->addNamespace($namespace, $path); - } - - /** - * Register a JSON translation file path. - * - * @param string $path - * @return void - */ - protected function loadJsonTranslationsFrom($path) - { - $this->app['translator']->addJsonPath($path); - } - - /** - * Register a database migration path. - * - * @param array|string $paths - * @return void - */ - protected function loadMigrationsFrom($paths) - { - $this->app->afterResolving('migrator', function ($migrator) use ($paths) { - foreach ((array) $paths as $path) { - $migrator->path($path); - } - }); - } - - /** - * Register paths to be published by the publish command. - * - * @param array $paths - * @param mixed $groups - * @return void - */ - protected function publishes(array $paths, $groups = null) - { - $this->ensurePublishArrayInitialized($class = static::class); - - static::$publishes[$class] = array_merge(static::$publishes[$class], $paths); - - foreach ((array) $groups as $group) { - $this->addPublishGroup($group, $paths); - } - } - - /** - * Ensure the publish array for the service provider is initialized. - * - * @param string $class - * @return void - */ - protected function ensurePublishArrayInitialized($class) - { - if (! array_key_exists($class, static::$publishes)) { - static::$publishes[$class] = []; - } - } - - /** - * Add a publish group / tag to the service provider. - * - * @param string $group - * @param array $paths - * @return void - */ - protected function addPublishGroup($group, $paths) - { - if (! array_key_exists($group, static::$publishGroups)) { - static::$publishGroups[$group] = []; - } - - static::$publishGroups[$group] = array_merge( - static::$publishGroups[$group], $paths - ); - } - - /** - * Get the paths to publish. - * - * @param string $provider - * @param string $group - * @return array - */ - public static function pathsToPublish($provider = null, $group = null) - { - if (! is_null($paths = static::pathsForProviderOrGroup($provider, $group))) { - return $paths; - } - - return collect(static::$publishes)->reduce(function ($paths, $p) { - return array_merge($paths, $p); - }, []); - } - - /** - * Get the paths for the provider or group (or both). - * - * @param string|null $provider - * @param string|null $group - * @return array - */ - protected static function pathsForProviderOrGroup($provider, $group) - { - if ($provider && $group) { - return static::pathsForProviderAndGroup($provider, $group); - } elseif ($group && array_key_exists($group, static::$publishGroups)) { - return static::$publishGroups[$group]; - } elseif ($provider && array_key_exists($provider, static::$publishes)) { - return static::$publishes[$provider]; - } elseif ($group || $provider) { - return []; - } - } - - /** - * Get the paths for the provider and group. - * - * @param string $provider - * @param string $group - * @return array - */ - protected static function pathsForProviderAndGroup($provider, $group) - { - if (! empty(static::$publishes[$provider]) && ! empty(static::$publishGroups[$group])) { - return array_intersect_key(static::$publishes[$provider], static::$publishGroups[$group]); - } - - return []; - } - - /** - * Get the service providers available for publishing. - * - * @return array - */ - public static function publishableProviders() - { - return array_keys(static::$publishes); - } - - /** - * Get the groups available for publishing. - * - * @return array - */ - public static function publishableGroups() - { - return array_keys(static::$publishGroups); - } - - /** - * Register the package's custom Artisan commands. - * - * @param array|mixed $commands - * @return void - */ - public function commands($commands) - { - $commands = is_array($commands) ? $commands : func_get_args(); - - Artisan::starting(function ($artisan) use ($commands) { - $artisan->resolveCommands($commands); - }); - } - - /** - * Get the services provided by the provider. - * - * @return array - */ - public function provides() - { - return []; - } - - /** - * Get the events that trigger this service provider to register. - * - * @return array - */ - public function when() - { - return []; - } - - /** - * Determine if the provider is deferred. - * - * @return bool - */ - public function isDeferred() - { - return $this->defer || $this instanceof DeferrableProvider; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/Str.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/Str.php deleted file mode 100644 index 6567d36..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/Str.php +++ /dev/null @@ -1,770 +0,0 @@ - $val) { - $value = str_replace($val, $key, $value); - } - - return preg_replace('/[^\x20-\x7E]/u', '', $value); - } - - /** - * Get the portion of a string before a given value. - * - * @param string $subject - * @param string $search - * @return string - */ - public static function before($subject, $search) - { - return $search === '' ? $subject : explode($search, $subject)[0]; - } - - /** - * Convert a value to camel case. - * - * @param string $value - * @return string - */ - public static function camel($value) - { - if (isset(static::$camelCache[$value])) { - return static::$camelCache[$value]; - } - - return static::$camelCache[$value] = lcfirst(static::studly($value)); - } - - /** - * Determine if a given string contains a given substring. - * - * @param string $haystack - * @param string|array $needles - * @return bool - */ - public static function contains($haystack, $needles) - { - foreach ((array) $needles as $needle) { - if ($needle !== '' && mb_strpos($haystack, $needle) !== false) { - return true; - } - } - - return false; - } - - /** - * Determine if a given string contains all array values. - * - * @param string $haystack - * @param array $needles - * @return bool - */ - public static function containsAll($haystack, array $needles) - { - foreach ($needles as $needle) { - if (! static::contains($haystack, $needle)) { - return false; - } - } - - return true; - } - - /** - * Determine if a given string ends with a given substring. - * - * @param string $haystack - * @param string|array $needles - * @return bool - */ - public static function endsWith($haystack, $needles) - { - foreach ((array) $needles as $needle) { - if (substr($haystack, -strlen($needle)) === (string) $needle) { - return true; - } - } - - return false; - } - - /** - * Cap a string with a single instance of a given value. - * - * @param string $value - * @param string $cap - * @return string - */ - public static function finish($value, $cap) - { - $quoted = preg_quote($cap, '/'); - - return preg_replace('/(?:'.$quoted.')+$/u', '', $value).$cap; - } - - /** - * Determine if a given string matches a given pattern. - * - * @param string|array $pattern - * @param string $value - * @return bool - */ - public static function is($pattern, $value) - { - $patterns = Arr::wrap($pattern); - - if (empty($patterns)) { - return false; - } - - foreach ($patterns as $pattern) { - // If the given value is an exact match we can of course return true right - // from the beginning. Otherwise, we will translate asterisks and do an - // actual pattern match against the two strings to see if they match. - if ($pattern == $value) { - return true; - } - - $pattern = preg_quote($pattern, '#'); - - // Asterisks are translated into zero-or-more regular expression wildcards - // to make it convenient to check if the strings starts with the given - // pattern such as "library/*", making any string check convenient. - $pattern = str_replace('\*', '.*', $pattern); - - if (preg_match('#^'.$pattern.'\z#u', $value) === 1) { - return true; - } - } - - return false; - } - - /** - * Convert a string to kebab case. - * - * @param string $value - * @return string - */ - public static function kebab($value) - { - return static::snake($value, '-'); - } - - /** - * Return the length of the given string. - * - * @param string $value - * @param string $encoding - * @return int - */ - public static function length($value, $encoding = null) - { - if ($encoding) { - return mb_strlen($value, $encoding); - } - - return mb_strlen($value); - } - - /** - * Limit the number of characters in a string. - * - * @param string $value - * @param int $limit - * @param string $end - * @return string - */ - public static function limit($value, $limit = 100, $end = '...') - { - if (mb_strwidth($value, 'UTF-8') <= $limit) { - return $value; - } - - return rtrim(mb_strimwidth($value, 0, $limit, '', 'UTF-8')).$end; - } - - /** - * Convert the given string to lower-case. - * - * @param string $value - * @return string - */ - public static function lower($value) - { - return mb_strtolower($value, 'UTF-8'); - } - - /** - * Limit the number of words in a string. - * - * @param string $value - * @param int $words - * @param string $end - * @return string - */ - public static function words($value, $words = 100, $end = '...') - { - preg_match('/^\s*+(?:\S++\s*+){1,'.$words.'}/u', $value, $matches); - - if (! isset($matches[0]) || static::length($value) === static::length($matches[0])) { - return $value; - } - - return rtrim($matches[0]).$end; - } - - /** - * Parse a Class@method style callback into class and method. - * - * @param string $callback - * @param string|null $default - * @return array - */ - public static function parseCallback($callback, $default = null) - { - return static::contains($callback, '@') ? explode('@', $callback, 2) : [$callback, $default]; - } - - /** - * Get the plural form of an English word. - * - * @param string $value - * @param int $count - * @return string - */ - public static function plural($value, $count = 2) - { - return Pluralizer::plural($value, $count); - } - - /** - * Pluralize the last word of an English, studly caps case string. - * - * @param string $value - * @param int $count - * @return string - */ - public static function pluralStudly($value, $count = 2) - { - $parts = preg_split('/(.)(?=[A-Z])/u', $value, -1, PREG_SPLIT_DELIM_CAPTURE); - - $lastWord = array_pop($parts); - - return implode('', $parts).self::plural($lastWord, $count); - } - - /** - * Generate a more truly "random" alpha-numeric string. - * - * @param int $length - * @return string - */ - public static function random($length = 16) - { - $string = ''; - - while (($len = strlen($string)) < $length) { - $size = $length - $len; - - $bytes = random_bytes($size); - - $string .= substr(str_replace(['/', '+', '='], '', base64_encode($bytes)), 0, $size); - } - - return $string; - } - - /** - * Replace a given value in the string sequentially with an array. - * - * @param string $search - * @param array $replace - * @param string $subject - * @return string - */ - public static function replaceArray($search, array $replace, $subject) - { - $segments = explode($search, $subject); - - $result = array_shift($segments); - - foreach ($segments as $segment) { - $result .= (array_shift($replace) ?? $search).$segment; - } - - return $result; - } - - /** - * Replace the first occurrence of a given value in the string. - * - * @param string $search - * @param string $replace - * @param string $subject - * @return string - */ - public static function replaceFirst($search, $replace, $subject) - { - if ($search == '') { - return $subject; - } - - $position = strpos($subject, $search); - - if ($position !== false) { - return substr_replace($subject, $replace, $position, strlen($search)); - } - - return $subject; - } - - /** - * Replace the last occurrence of a given value in the string. - * - * @param string $search - * @param string $replace - * @param string $subject - * @return string - */ - public static function replaceLast($search, $replace, $subject) - { - $position = strrpos($subject, $search); - - if ($position !== false) { - return substr_replace($subject, $replace, $position, strlen($search)); - } - - return $subject; - } - - /** - * Begin a string with a single instance of a given value. - * - * @param string $value - * @param string $prefix - * @return string - */ - public static function start($value, $prefix) - { - $quoted = preg_quote($prefix, '/'); - - return $prefix.preg_replace('/^(?:'.$quoted.')+/u', '', $value); - } - - /** - * Convert the given string to upper-case. - * - * @param string $value - * @return string - */ - public static function upper($value) - { - return mb_strtoupper($value, 'UTF-8'); - } - - /** - * Convert the given string to title case. - * - * @param string $value - * @return string - */ - public static function title($value) - { - return mb_convert_case($value, MB_CASE_TITLE, 'UTF-8'); - } - - /** - * Get the singular form of an English word. - * - * @param string $value - * @return string - */ - public static function singular($value) - { - return Pluralizer::singular($value); - } - - /** - * Generate a URL friendly "slug" from a given string. - * - * @param string $title - * @param string $separator - * @param string|null $language - * @return string - */ - public static function slug($title, $separator = '-', $language = 'en') - { - $title = $language ? static::ascii($title, $language) : $title; - - // Convert all dashes/underscores into separator - $flip = $separator === '-' ? '_' : '-'; - - $title = preg_replace('!['.preg_quote($flip).']+!u', $separator, $title); - - // Replace @ with the word 'at' - $title = str_replace('@', $separator.'at'.$separator, $title); - - // Remove all characters that are not the separator, letters, numbers, or whitespace. - $title = preg_replace('![^'.preg_quote($separator).'\pL\pN\s]+!u', '', static::lower($title)); - - // Replace all separator characters and whitespace by a single separator - $title = preg_replace('!['.preg_quote($separator).'\s]+!u', $separator, $title); - - return trim($title, $separator); - } - - /** - * Convert a string to snake case. - * - * @param string $value - * @param string $delimiter - * @return string - */ - public static function snake($value, $delimiter = '_') - { - $key = $value; - - if (isset(static::$snakeCache[$key][$delimiter])) { - return static::$snakeCache[$key][$delimiter]; - } - - if (! ctype_lower($value)) { - $value = preg_replace('/\s+/u', '', ucwords($value)); - - $value = static::lower(preg_replace('/(.)(?=[A-Z])/u', '$1'.$delimiter, $value)); - } - - return static::$snakeCache[$key][$delimiter] = $value; - } - - /** - * Determine if a given string starts with a given substring. - * - * @param string $haystack - * @param string|array $needles - * @return bool - */ - public static function startsWith($haystack, $needles) - { - foreach ((array) $needles as $needle) { - if ($needle !== '' && substr($haystack, 0, strlen($needle)) === (string) $needle) { - return true; - } - } - - return false; - } - - /** - * Convert a value to studly caps case. - * - * @param string $value - * @return string - */ - public static function studly($value) - { - $key = $value; - - if (isset(static::$studlyCache[$key])) { - return static::$studlyCache[$key]; - } - - $value = ucwords(str_replace(['-', '_'], ' ', $value)); - - return static::$studlyCache[$key] = str_replace(' ', '', $value); - } - - /** - * Returns the portion of string specified by the start and length parameters. - * - * @param string $string - * @param int $start - * @param int|null $length - * @return string - */ - public static function substr($string, $start, $length = null) - { - return mb_substr($string, $start, $length, 'UTF-8'); - } - - /** - * Make a string's first character uppercase. - * - * @param string $string - * @return string - */ - public static function ucfirst($string) - { - return static::upper(static::substr($string, 0, 1)).static::substr($string, 1); - } - - /** - * Generate a UUID (version 4). - * - * @return \Ramsey\Uuid\UuidInterface - */ - public static function uuid() - { - return Uuid::uuid4(); - } - - /** - * Generate a time-ordered UUID (version 4). - * - * @return \Ramsey\Uuid\UuidInterface - */ - public static function orderedUuid() - { - $factory = new UuidFactory; - - $factory->setRandomGenerator(new CombGenerator( - $factory->getRandomGenerator(), - $factory->getNumberConverter() - )); - - $factory->setCodec(new TimestampFirstCombCodec( - $factory->getUuidBuilder() - )); - - return $factory->uuid4(); - } - - /** - * Returns the replacements for the ascii method. - * - * Note: Adapted from Stringy\Stringy. - * - * @see https://github.com/danielstjules/Stringy/blob/3.1.0/LICENSE.txt - * - * @return array - */ - protected static function charsArray() - { - static $charsArray; - - if (isset($charsArray)) { - return $charsArray; - } - - return $charsArray = [ - '0' => ['°', 'â‚€', 'Û°', 'ï¼'], - '1' => ['¹', 'â‚', 'Û±', '1'], - '2' => ['²', 'â‚‚', 'Û²', 'ï¼’'], - '3' => ['³', '₃', 'Û³', '3'], - '4' => ['â´', 'â‚„', 'Û´', 'Ù¤', 'ï¼”'], - '5' => ['âµ', 'â‚…', 'Ûµ', 'Ù¥', '5'], - '6' => ['â¶', '₆', 'Û¶', 'Ù¦', 'ï¼–'], - '7' => ['â·', '₇', 'Û·', 'ï¼—'], - '8' => ['â¸', '₈', 'Û¸', '8'], - '9' => ['â¹', '₉', 'Û¹', 'ï¼™'], - 'a' => ['à', 'á', 'ả', 'ã', 'ạ', 'ă', 'ắ', 'ằ', 'ẳ', 'ẵ', 'ặ', 'â', 'ấ', 'ầ', 'ẩ', 'ẫ', 'ậ', 'Ä', 'Ä…', 'Ã¥', 'α', 'ά', 'á¼€', 'á¼', 'ἂ', 'ἃ', 'ἄ', 'á¼…', 'ἆ', 'ἇ', 'á¾€', 'á¾', 'ᾂ', 'ᾃ', 'ᾄ', 'á¾…', 'ᾆ', 'ᾇ', 'á½°', 'ά', 'á¾°', 'á¾±', 'á¾²', 'á¾³', 'á¾´', 'ᾶ', 'á¾·', 'а', 'Ø£', 'အ', 'ာ', 'ါ', 'Ç»', 'ÇŽ', 'ª', 'áƒ', 'अ', 'ا', 'ï½', 'ä', '×'], - 'b' => ['б', 'β', 'ب', 'ဗ', 'ბ', 'b', 'ב'], - 'c' => ['ç', 'ć', 'Ä', 'ĉ', 'Ä‹', 'c'], - 'd' => ['Ä', 'ð', 'Ä‘', 'ÆŒ', 'È¡', 'É–', 'É—', 'áµ­', 'á¶', 'ᶑ', 'д', 'δ', 'د', 'ض', 'á€', 'ဒ', 'დ', 'd', 'ד'], - 'e' => ['é', 'è', 'ẻ', 'ẽ', 'ẹ', 'ê', 'ế', 'á»', 'ể', 'á»…', 'ệ', 'ë', 'Ä“', 'Ä™', 'Ä›', 'Ä•', 'Ä—', 'ε', 'έ', 'á¼', 'ἑ', 'á¼’', 'ἓ', 'á¼”', 'ἕ', 'á½²', 'έ', 'е', 'Ñ‘', 'Ñ', 'Ñ”', 'É™', 'ဧ', 'ေ', 'ဲ', 'ე', 'à¤', 'Ø¥', 'ئ', 'ï½…'], - 'f' => ['Ñ„', 'φ', 'Ù', 'Æ’', 'ფ', 'f', 'פ', '×£'], - 'g' => ['Ä', 'ÄŸ', 'Ä¡', 'Ä£', 'г', 'Ò‘', 'γ', 'ဂ', 'გ', 'Ú¯', 'g', '×’'], - 'h' => ['Ä¥', 'ħ', 'η', 'ή', 'Ø­', 'Ù‡', 'ဟ', 'ှ', 'ჰ', 'h', '×”'], - 'i' => ['í', 'ì', 'ỉ', 'Ä©', 'ị', 'î', 'ï', 'Ä«', 'Ä­', 'į', 'ı', 'ι', 'ί', 'ÏŠ', 'Î', 'á¼°', 'á¼±', 'á¼²', 'á¼³', 'á¼´', 'á¼µ', 'ἶ', 'á¼·', 'ὶ', 'ί', 'á¿', 'á¿‘', 'á¿’', 'Î', 'á¿–', 'á¿—', 'Ñ–', 'Ñ—', 'и', 'ဣ', 'ိ', 'ီ', 'ည်', 'Ç', 'ი', 'इ', 'ÛŒ', 'i', '×™'], - 'j' => ['ĵ', 'ј', 'Ј', 'ჯ', 'ج', 'j'], - 'k' => ['Ä·', 'ĸ', 'к', 'κ', 'Ķ', 'Ù‚', 'Ùƒ', 'က', 'კ', 'ქ', 'Ú©', 'k', 'ק'], - 'l' => ['Å‚', 'ľ', 'ĺ', 'ļ', 'Å€', 'л', 'λ', 'Ù„', 'လ', 'ლ', 'l', 'ל'], - 'm' => ['м', 'μ', 'Ù…', 'မ', 'მ', 'ï½', 'מ', '×'], - 'n' => ['ñ', 'Å„', 'ň', 'ņ', 'ʼn', 'Å‹', 'ν', 'н', 'Ù†', 'န', 'ნ', 'n', '× '], - 'o' => ['ó', 'ò', 'á»', 'õ', 'á»', 'ô', 'ố', 'ồ', 'ổ', 'á»—', 'á»™', 'Æ¡', 'á»›', 'á»', 'ở', 'ỡ', 'ợ', 'ø', 'Å', 'Å‘', 'Å', 'ο', 'á½€', 'á½', 'ὂ', 'ὃ', 'ὄ', 'á½…', 'ὸ', 'ÏŒ', 'о', 'Ùˆ', 'ို', 'Ç’', 'Ç¿', 'º', 'áƒ', 'ओ', 'ï½', 'ö'], - 'p' => ['п', 'Ï€', 'ပ', 'პ', 'Ù¾', 'ï½', 'פ', '×£'], - 'q' => ['ყ', 'q'], - 'r' => ['Å•', 'Å™', 'Å—', 'Ñ€', 'Ï', 'ر', 'რ', 'ï½’', 'ר'], - 's' => ['Å›', 'Å¡', 'ÅŸ', 'Ñ', 'σ', 'È™', 'Ï‚', 'س', 'ص', 'စ', 'Å¿', 'ს', 's', 'ס'], - 't' => ['Å¥', 'Å£', 'Ñ‚', 'Ï„', 'È›', 'ت', 'Ø·', 'ဋ', 'á€', 'ŧ', 'თ', 'ტ', 'ï½”', 'ת'], - 'u' => ['ú', 'ù', 'ủ', 'Å©', 'ụ', 'Æ°', 'ứ', 'ừ', 'á»­', 'ữ', 'á»±', 'û', 'Å«', 'ů', 'ű', 'Å­', 'ų', 'µ', 'у', 'ဉ', 'ု', 'ူ', 'Ç”', 'Ç–', 'ǘ', 'Çš', 'Çœ', 'უ', 'उ', 'u', 'Ñž', 'ü'], - 'v' => ['в', 'ვ', 'Ï', 'ï½–', 'ו'], - 'w' => ['ŵ', 'ω', 'ÏŽ', 'á€', 'ွ', 'ï½—'], - 'x' => ['χ', 'ξ', 'x'], - 'y' => ['ý', 'ỳ', 'á»·', 'ỹ', 'ỵ', 'ÿ', 'Å·', 'й', 'Ñ‹', 'Ï…', 'Ï‹', 'Ï', 'ΰ', 'ÙŠ', 'ယ', 'ï½™'], - 'z' => ['ź', 'ž', 'ż', 'з', 'ζ', 'ز', 'ဇ', 'ზ', 'z', '×–'], - 'aa' => ['ع', 'आ', 'Ø¢'], - 'ae' => ['æ', 'ǽ'], - 'ai' => ['à¤'], - 'ch' => ['ч', 'ჩ', 'ჭ', 'Ú†'], - 'dj' => ['Ñ’', 'Ä‘'], - 'dz' => ['ÑŸ', 'ძ', 'דז'], - 'ei' => ['à¤'], - 'gh' => ['غ', 'ღ'], - 'ii' => ['ई'], - 'ij' => ['ij'], - 'kh' => ['Ñ…', 'Ø®', 'ხ'], - 'lj' => ['Ñ™'], - 'nj' => ['Ñš'], - 'oe' => ['ö', 'Å“', 'ؤ'], - 'oi' => ['ऑ'], - 'oii' => ['ऒ'], - 'ps' => ['ψ'], - 'sh' => ['ш', 'შ', 'Ø´', 'ש'], - 'shch' => ['щ'], - 'ss' => ['ß'], - 'sx' => ['Å'], - 'th' => ['þ', 'Ï‘', 'θ', 'Ø«', 'Ø°', 'ظ'], - 'ts' => ['ц', 'ც', 'წ'], - 'ue' => ['ü'], - 'uu' => ['ऊ'], - 'ya' => ['Ñ'], - 'yu' => ['ÑŽ'], - 'zh' => ['ж', 'ჟ', 'Ú˜'], - '(c)' => ['©'], - 'A' => ['Ã', 'À', 'Ả', 'Ã', 'Ạ', 'Ä‚', 'Ắ', 'Ằ', 'Ẳ', 'Ẵ', 'Ặ', 'Â', 'Ấ', 'Ầ', 'Ẩ', 'Ẫ', 'Ậ', 'Ã…', 'Ä€', 'Ä„', 'Α', 'Ά', 'Ἀ', 'Ἁ', 'Ἂ', 'Ἃ', 'Ἄ', 'á¼', 'Ἆ', 'á¼', 'ᾈ', 'ᾉ', 'ᾊ', 'ᾋ', 'ᾌ', 'á¾', 'ᾎ', 'á¾', 'Ᾰ', 'á¾¹', 'Ὰ', 'Ά', 'á¾¼', 'Ð', 'Ǻ', 'Ç', 'A', 'Ä'], - 'B' => ['Б', 'Î’', 'ब', 'ï¼¢'], - 'C' => ['Ç', 'Ć', 'ÄŒ', 'Ĉ', 'ÄŠ', 'ï¼£'], - 'D' => ['ÄŽ', 'Ã', 'Ä', 'Ɖ', 'ÆŠ', 'Æ‹', 'á´…', 'á´†', 'Д', 'Δ', 'D'], - 'E' => ['É', 'È', 'Ẻ', 'Ẽ', 'Ẹ', 'Ê', 'Ế', 'Ề', 'Ể', 'Ễ', 'Ệ', 'Ë', 'Ä’', 'Ę', 'Äš', 'Ä”', 'Ä–', 'Ε', 'Έ', 'Ἐ', 'á¼™', 'Ἒ', 'á¼›', 'Ἔ', 'á¼', 'Έ', 'Ὲ', 'Е', 'Ð', 'Э', 'Є', 'Æ', 'ï¼¥'], - 'F' => ['Ф', 'Φ', 'F'], - 'G' => ['Äž', 'Ä ', 'Ä¢', 'Г', 'Ò', 'Γ', 'G'], - 'H' => ['Η', 'Ή', 'Ħ', 'H'], - 'I' => ['Ã', 'ÃŒ', 'Ỉ', 'Ĩ', 'Ị', 'ÃŽ', 'Ã', 'Ī', 'Ĭ', 'Ä®', 'Ä°', 'Ι', 'Ί', 'Ϊ', 'Ἰ', 'á¼¹', 'á¼»', 'á¼¼', 'á¼½', 'á¼¾', 'Ἷ', 'Ῐ', 'á¿™', 'á¿š', 'Ί', 'И', 'І', 'Ї', 'Ç', 'Ï’', 'I'], - 'J' => ['J'], - 'K' => ['К', 'Κ', 'K'], - 'L' => ['Ĺ', 'Å', 'Л', 'Λ', 'Ä»', 'Ľ', 'Ä¿', 'ल', 'L'], - 'M' => ['Ðœ', 'Îœ', 'ï¼­'], - 'N' => ['Ń', 'Ñ', 'Ň', 'Å…', 'ÅŠ', 'Ð', 'Î', 'ï¼®'], - 'O' => ['Ó', 'Ã’', 'Ỏ', 'Õ', 'Ọ', 'Ô', 'á»', 'á»’', 'á»”', 'á»–', 'Ộ', 'Æ ', 'Ớ', 'Ờ', 'Ở', 'á» ', 'Ợ', 'Ø', 'ÅŒ', 'Å', 'ÅŽ', 'Ο', 'ÎŒ', 'Ὀ', 'Ὁ', 'Ὂ', 'Ὃ', 'Ὄ', 'á½', 'Ὸ', 'ÎŒ', 'О', 'Ó¨', 'Ç‘', 'Ǿ', 'O', 'Ö'], - 'P' => ['П', 'Π', 'ï¼°'], - 'Q' => ['ï¼±'], - 'R' => ['Ř', 'Å”', 'Р', 'Ρ', 'Å–', 'ï¼²'], - 'S' => ['Åž', 'Åœ', 'Ș', 'Å ', 'Åš', 'С', 'Σ', 'ï¼³'], - 'T' => ['Ť', 'Å¢', 'Ŧ', 'Èš', 'Т', 'Τ', 'ï¼´'], - 'U' => ['Ú', 'Ù', 'Ủ', 'Ũ', 'Ụ', 'Ư', 'Ứ', 'Ừ', 'Ử', 'á»®', 'á»°', 'Û', 'Ū', 'Å®', 'Å°', 'Ŭ', 'Ų', 'У', 'Ç“', 'Ç•', 'Ç—', 'Ç™', 'Ç›', 'ï¼µ', 'ÐŽ', 'Ãœ'], - 'V' => ['Ð’', 'V'], - 'W' => ['Ω', 'Î', 'Å´', 'ï¼·'], - 'X' => ['Χ', 'Ξ', 'X'], - 'Y' => ['Ã', 'Ỳ', 'Ỷ', 'Ỹ', 'á»´', 'Ÿ', 'Ῠ', 'á¿©', 'Ὺ', 'ÎŽ', 'Ы', 'Й', 'Î¥', 'Ϋ', 'Ŷ', 'ï¼¹'], - 'Z' => ['Ź', 'Ž', 'Å»', 'З', 'Ζ', 'Z'], - 'AE' => ['Æ', 'Ǽ'], - 'Ch' => ['Ч'], - 'Dj' => ['Ђ'], - 'Dz' => ['Ð'], - 'Gx' => ['Äœ'], - 'Hx' => ['Ĥ'], - 'Ij' => ['IJ'], - 'Jx' => ['Ä´'], - 'Kh' => ['Ð¥'], - 'Lj' => ['Љ'], - 'Nj' => ['Њ'], - 'Oe' => ['Å’'], - 'Ps' => ['Ψ'], - 'Sh' => ['Ш', 'ש'], - 'Shch' => ['Щ'], - 'Ss' => ['ẞ'], - 'Th' => ['Þ', 'Θ', 'ת'], - 'Ts' => ['Ц'], - 'Ya' => ['Я', '×™×'], - 'Yu' => ['Ю', 'יו'], - 'Zh' => ['Ж'], - ' ' => ["\xC2\xA0", "\xE2\x80\x80", "\xE2\x80\x81", "\xE2\x80\x82", "\xE2\x80\x83", "\xE2\x80\x84", "\xE2\x80\x85", "\xE2\x80\x86", "\xE2\x80\x87", "\xE2\x80\x88", "\xE2\x80\x89", "\xE2\x80\x8A", "\xE2\x80\xAF", "\xE2\x81\x9F", "\xE3\x80\x80", "\xEF\xBE\xA0"], - ]; - } - - /** - * Returns the language specific replacements for the ascii method. - * - * Note: Adapted from Stringy\Stringy. - * - * @see https://github.com/danielstjules/Stringy/blob/3.1.0/LICENSE.txt - * - * @param string $language - * @return array|null - */ - protected static function languageSpecificCharsArray($language) - { - static $languageSpecific; - - if (! isset($languageSpecific)) { - $languageSpecific = [ - 'bg' => [ - ['Ñ…', 'Ð¥', 'щ', 'Щ', 'ÑŠ', 'Ъ', 'ÑŒ', 'Ь'], - ['h', 'H', 'sht', 'SHT', 'a', 'Ð', 'y', 'Y'], - ], - 'da' => [ - ['æ', 'ø', 'Ã¥', 'Æ', 'Ø', 'Ã…'], - ['ae', 'oe', 'aa', 'Ae', 'Oe', 'Aa'], - ], - 'de' => [ - ['ä', 'ö', 'ü', 'Ä', 'Ö', 'Ãœ'], - ['ae', 'oe', 'ue', 'AE', 'OE', 'UE'], - ], - 'he' => [ - ['×', 'ב', '×’', 'ד', '×”', 'ו'], - ['×–', '×—', 'ט', '×™', '×›', 'ל'], - ['מ', '× ', 'ס', '×¢', 'פ', 'צ'], - ['ק', 'ר', 'ש', 'ת', 'ן', '×¥', 'ך', '×', '×£'], - ], - 'ro' => [ - ['ă', 'â', 'î', 'È™', 'È›', 'Ä‚', 'Â', 'ÃŽ', 'Ș', 'Èš'], - ['a', 'a', 'i', 's', 't', 'A', 'A', 'I', 'S', 'T'], - ], - ]; - } - - return $languageSpecific[$language] ?? null; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/Testing/Fakes/BusFake.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/Testing/Fakes/BusFake.php deleted file mode 100644 index 4cd6deb..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/Testing/Fakes/BusFake.php +++ /dev/null @@ -1,165 +0,0 @@ -assertDispatchedTimes($command, $callback); - } - - PHPUnit::assertTrue( - $this->dispatched($command, $callback)->count() > 0, - "The expected [{$command}] job was not dispatched." - ); - } - - /** - * Assert if a job was pushed a number of times. - * - * @param string $command - * @param int $times - * @return void - */ - protected function assertDispatchedTimes($command, $times = 1) - { - PHPUnit::assertTrue( - ($count = $this->dispatched($command)->count()) === $times, - "The expected [{$command}] job was pushed {$count} times instead of {$times} times." - ); - } - - /** - * Determine if a job was dispatched based on a truth-test callback. - * - * @param string $command - * @param callable|null $callback - * @return void - */ - public function assertNotDispatched($command, $callback = null) - { - PHPUnit::assertTrue( - $this->dispatched($command, $callback)->count() === 0, - "The unexpected [{$command}] job was dispatched." - ); - } - - /** - * Get all of the jobs matching a truth-test callback. - * - * @param string $command - * @param callable|null $callback - * @return \Illuminate\Support\Collection - */ - public function dispatched($command, $callback = null) - { - if (! $this->hasDispatched($command)) { - return collect(); - } - - $callback = $callback ?: function () { - return true; - }; - - return collect($this->commands[$command])->filter(function ($command) use ($callback) { - return $callback($command); - }); - } - - /** - * Determine if there are any stored commands for a given class. - * - * @param string $command - * @return bool - */ - public function hasDispatched($command) - { - return isset($this->commands[$command]) && ! empty($this->commands[$command]); - } - - /** - * Dispatch a command to its appropriate handler. - * - * @param mixed $command - * @return mixed - */ - public function dispatch($command) - { - return $this->dispatchNow($command); - } - - /** - * Dispatch a command to its appropriate handler in the current process. - * - * @param mixed $command - * @param mixed $handler - * @return mixed - */ - public function dispatchNow($command, $handler = null) - { - $this->commands[get_class($command)][] = $command; - } - - /** - * Set the pipes commands should be piped through before dispatching. - * - * @param array $pipes - * @return $this - */ - public function pipeThrough(array $pipes) - { - return $this; - } - - /** - * Determine if the given command has a handler. - * - * @param mixed $command - * @return bool - */ - public function hasCommandHandler($command) - { - return false; - } - - /** - * Retrieve the handler for a command. - * - * @param mixed $command - * @return mixed - */ - public function getCommandHandler($command) - { - return false; - } - - /** - * Map a command to a handler. - * - * @param array $map - * @return $this - */ - public function map(array $map) - { - return $this; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/Testing/Fakes/EventFake.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/Testing/Fakes/EventFake.php deleted file mode 100644 index 8790fc5..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/Testing/Fakes/EventFake.php +++ /dev/null @@ -1,259 +0,0 @@ -dispatcher = $dispatcher; - - $this->eventsToFake = Arr::wrap($eventsToFake); - } - - /** - * Assert if an event was dispatched based on a truth-test callback. - * - * @param string $event - * @param callable|int|null $callback - * @return void - */ - public function assertDispatched($event, $callback = null) - { - if (is_int($callback)) { - return $this->assertDispatchedTimes($event, $callback); - } - - PHPUnit::assertTrue( - $this->dispatched($event, $callback)->count() > 0, - "The expected [{$event}] event was not dispatched." - ); - } - - /** - * Assert if a event was dispatched a number of times. - * - * @param string $event - * @param int $times - * @return void - */ - public function assertDispatchedTimes($event, $times = 1) - { - PHPUnit::assertTrue( - ($count = $this->dispatched($event)->count()) === $times, - "The expected [{$event}] event was dispatched {$count} times instead of {$times} times." - ); - } - - /** - * Determine if an event was dispatched based on a truth-test callback. - * - * @param string $event - * @param callable|null $callback - * @return void - */ - public function assertNotDispatched($event, $callback = null) - { - PHPUnit::assertTrue( - $this->dispatched($event, $callback)->count() === 0, - "The unexpected [{$event}] event was dispatched." - ); - } - - /** - * Get all of the events matching a truth-test callback. - * - * @param string $event - * @param callable|null $callback - * @return \Illuminate\Support\Collection - */ - public function dispatched($event, $callback = null) - { - if (! $this->hasDispatched($event)) { - return collect(); - } - - $callback = $callback ?: function () { - return true; - }; - - return collect($this->events[$event])->filter(function ($arguments) use ($callback) { - return $callback(...$arguments); - }); - } - - /** - * Determine if the given event has been dispatched. - * - * @param string $event - * @return bool - */ - public function hasDispatched($event) - { - return isset($this->events[$event]) && ! empty($this->events[$event]); - } - - /** - * Register an event listener with the dispatcher. - * - * @param string|array $events - * @param mixed $listener - * @return void - */ - public function listen($events, $listener) - { - $this->dispatcher->listen($events, $listener); - } - - /** - * Determine if a given event has listeners. - * - * @param string $eventName - * @return bool - */ - public function hasListeners($eventName) - { - return $this->dispatcher->hasListeners($eventName); - } - - /** - * Register an event and payload to be dispatched later. - * - * @param string $event - * @param array $payload - * @return void - */ - public function push($event, $payload = []) - { - // - } - - /** - * Register an event subscriber with the dispatcher. - * - * @param object|string $subscriber - * @return void - */ - public function subscribe($subscriber) - { - $this->dispatcher->subscribe($subscriber); - } - - /** - * Flush a set of pushed events. - * - * @param string $event - * @return void - */ - public function flush($event) - { - // - } - - /** - * Fire an event and call the listeners. - * - * @param string|object $event - * @param mixed $payload - * @param bool $halt - * @return array|null - */ - public function dispatch($event, $payload = [], $halt = false) - { - $name = is_object($event) ? get_class($event) : (string) $event; - - if ($this->shouldFakeEvent($name, $payload)) { - $this->events[$name][] = func_get_args(); - } else { - return $this->dispatcher->dispatch($event, $payload, $halt); - } - } - - /** - * Determine if an event should be faked or actually dispatched. - * - * @param string $eventName - * @param mixed $payload - * @return bool - */ - protected function shouldFakeEvent($eventName, $payload) - { - if (empty($this->eventsToFake)) { - return true; - } - - return collect($this->eventsToFake) - ->filter(function ($event) use ($eventName, $payload) { - return $event instanceof Closure - ? $event($eventName, $payload) - : $event === $eventName; - }) - ->isNotEmpty(); - } - - /** - * Remove a set of listeners from the dispatcher. - * - * @param string $event - * @return void - */ - public function forget($event) - { - // - } - - /** - * Forget all of the queued listeners. - * - * @return void - */ - public function forgetPushed() - { - // - } - - /** - * Dispatch an event and call the listeners. - * - * @param string|object $event - * @param mixed $payload - * @return void - */ - public function until($event, $payload = []) - { - return $this->dispatch($event, $payload, true); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/Testing/Fakes/MailFake.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/Testing/Fakes/MailFake.php deleted file mode 100644 index c363ae0..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/Testing/Fakes/MailFake.php +++ /dev/null @@ -1,336 +0,0 @@ -assertSentTimes($mailable, $callback); - } - - $message = "The expected [{$mailable}] mailable was not sent."; - - if (count($this->queuedMailables) > 0) { - $message .= ' Did you mean to use assertQueued() instead?'; - } - - PHPUnit::assertTrue( - $this->sent($mailable, $callback)->count() > 0, - $message - ); - } - - /** - * Assert if a mailable was sent a number of times. - * - * @param string $mailable - * @param int $times - * @return void - */ - protected function assertSentTimes($mailable, $times = 1) - { - PHPUnit::assertTrue( - ($count = $this->sent($mailable)->count()) === $times, - "The expected [{$mailable}] mailable was sent {$count} times instead of {$times} times." - ); - } - - /** - * Determine if a mailable was not sent based on a truth-test callback. - * - * @param string $mailable - * @param callable|null $callback - * @return void - */ - public function assertNotSent($mailable, $callback = null) - { - PHPUnit::assertTrue( - $this->sent($mailable, $callback)->count() === 0, - "The unexpected [{$mailable}] mailable was sent." - ); - } - - /** - * Assert that no mailables were sent. - * - * @return void - */ - public function assertNothingSent() - { - PHPUnit::assertEmpty($this->mailables, 'Mailables were sent unexpectedly.'); - } - - /** - * Assert if a mailable was queued based on a truth-test callback. - * - * @param string $mailable - * @param callable|int|null $callback - * @return void - */ - public function assertQueued($mailable, $callback = null) - { - if (is_numeric($callback)) { - return $this->assertQueuedTimes($mailable, $callback); - } - - PHPUnit::assertTrue( - $this->queued($mailable, $callback)->count() > 0, - "The expected [{$mailable}] mailable was not queued." - ); - } - - /** - * Assert if a mailable was queued a number of times. - * - * @param string $mailable - * @param int $times - * @return void - */ - protected function assertQueuedTimes($mailable, $times = 1) - { - PHPUnit::assertTrue( - ($count = $this->queued($mailable)->count()) === $times, - "The expected [{$mailable}] mailable was queued {$count} times instead of {$times} times." - ); - } - - /** - * Determine if a mailable was not queued based on a truth-test callback. - * - * @param string $mailable - * @param callable|null $callback - * @return void - */ - public function assertNotQueued($mailable, $callback = null) - { - PHPUnit::assertTrue( - $this->queued($mailable, $callback)->count() === 0, - "The unexpected [{$mailable}] mailable was queued." - ); - } - - /** - * Assert that no mailables were queued. - * - * @return void - */ - public function assertNothingQueued() - { - PHPUnit::assertEmpty($this->queuedMailables, 'Mailables were queued unexpectedly.'); - } - - /** - * Get all of the mailables matching a truth-test callback. - * - * @param string $mailable - * @param callable|null $callback - * @return \Illuminate\Support\Collection - */ - public function sent($mailable, $callback = null) - { - if (! $this->hasSent($mailable)) { - return collect(); - } - - $callback = $callback ?: function () { - return true; - }; - - return $this->mailablesOf($mailable)->filter(function ($mailable) use ($callback) { - return $callback($mailable); - }); - } - - /** - * Determine if the given mailable has been sent. - * - * @param string $mailable - * @return bool - */ - public function hasSent($mailable) - { - return $this->mailablesOf($mailable)->count() > 0; - } - - /** - * Get all of the queued mailables matching a truth-test callback. - * - * @param string $mailable - * @param callable|null $callback - * @return \Illuminate\Support\Collection - */ - public function queued($mailable, $callback = null) - { - if (! $this->hasQueued($mailable)) { - return collect(); - } - - $callback = $callback ?: function () { - return true; - }; - - return $this->queuedMailablesOf($mailable)->filter(function ($mailable) use ($callback) { - return $callback($mailable); - }); - } - - /** - * Determine if the given mailable has been queued. - * - * @param string $mailable - * @return bool - */ - public function hasQueued($mailable) - { - return $this->queuedMailablesOf($mailable)->count() > 0; - } - - /** - * Get all of the mailed mailables for a given type. - * - * @param string $type - * @return \Illuminate\Support\Collection - */ - protected function mailablesOf($type) - { - return collect($this->mailables)->filter(function ($mailable) use ($type) { - return $mailable instanceof $type; - }); - } - - /** - * Get all of the mailed mailables for a given type. - * - * @param string $type - * @return \Illuminate\Support\Collection - */ - protected function queuedMailablesOf($type) - { - return collect($this->queuedMailables)->filter(function ($mailable) use ($type) { - return $mailable instanceof $type; - }); - } - - /** - * Begin the process of mailing a mailable class instance. - * - * @param mixed $users - * @return \Illuminate\Mail\PendingMail - */ - public function to($users) - { - return (new PendingMailFake($this))->to($users); - } - - /** - * Begin the process of mailing a mailable class instance. - * - * @param mixed $users - * @return \Illuminate\Mail\PendingMail - */ - public function bcc($users) - { - return (new PendingMailFake($this))->bcc($users); - } - - /** - * Send a new message with only a raw text part. - * - * @param string $text - * @param \Closure|string $callback - * @return void - */ - public function raw($text, $callback) - { - // - } - - /** - * Send a new message using a view. - * - * @param string|array $view - * @param array $data - * @param \Closure|string $callback - * @return void - */ - public function send($view, array $data = [], $callback = null) - { - if (! $view instanceof Mailable) { - return; - } - - if ($view instanceof ShouldQueue) { - return $this->queue($view, $data); - } - - $this->mailables[] = $view; - } - - /** - * Queue a new e-mail message for sending. - * - * @param string|array $view - * @param string|null $queue - * @return mixed - */ - public function queue($view, $queue = null) - { - if (! $view instanceof Mailable) { - return; - } - - $this->queuedMailables[] = $view; - } - - /** - * Queue a new e-mail message for sending after (n) seconds. - * - * @param \DateTimeInterface|\DateInterval|int $delay - * @param string|array|\Illuminate\Contracts\Mail\Mailable $view - * @param string $queue - * @return mixed - */ - public function later($delay, $view, $queue = null) - { - $this->queue($view, $queue); - } - - /** - * Get the array of failed recipients. - * - * @return array - */ - public function failures() - { - return []; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/Testing/Fakes/NotificationFake.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/Testing/Fakes/NotificationFake.php deleted file mode 100644 index 713e79b..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/Testing/Fakes/NotificationFake.php +++ /dev/null @@ -1,246 +0,0 @@ -assertSentTo($singleNotifiable, $notification, $callback); - } - - return; - } - - if (is_numeric($callback)) { - return $this->assertSentToTimes($notifiable, $notification, $callback); - } - - PHPUnit::assertTrue( - $this->sent($notifiable, $notification, $callback)->count() > 0, - "The expected [{$notification}] notification was not sent." - ); - } - - /** - * Assert if a notification was sent a number of times. - * - * @param mixed $notifiable - * @param string $notification - * @param int $times - * @return void - */ - public function assertSentToTimes($notifiable, $notification, $times = 1) - { - PHPUnit::assertTrue( - ($count = $this->sent($notifiable, $notification)->count()) === $times, - "Expected [{$notification}] to be sent {$times} times, but was sent {$count} times." - ); - } - - /** - * Determine if a notification was sent based on a truth-test callback. - * - * @param mixed $notifiable - * @param string $notification - * @param callable|null $callback - * @return void - */ - public function assertNotSentTo($notifiable, $notification, $callback = null) - { - if (is_array($notifiable) || $notifiable instanceof Collection) { - foreach ($notifiable as $singleNotifiable) { - $this->assertNotSentTo($singleNotifiable, $notification, $callback); - } - - return; - } - - PHPUnit::assertTrue( - $this->sent($notifiable, $notification, $callback)->count() === 0, - "The unexpected [{$notification}] notification was sent." - ); - } - - /** - * Assert that no notifications were sent. - * - * @return void - */ - public function assertNothingSent() - { - PHPUnit::assertEmpty($this->notifications, 'Notifications were sent unexpectedly.'); - } - - /** - * Assert the total amount of times a notification was sent. - * - * @param int $expectedCount - * @param string $notification - * @return void - */ - public function assertTimesSent($expectedCount, $notification) - { - $actualCount = collect($this->notifications) - ->flatten(1) - ->reduce(function ($count, $sent) use ($notification) { - return $count + count($sent[$notification] ?? []); - }, 0); - - PHPUnit::assertSame( - $expectedCount, $actualCount, - "Expected [{$notification}] to be sent {$expectedCount} times, but was sent {$actualCount} times." - ); - } - - /** - * Get all of the notifications matching a truth-test callback. - * - * @param mixed $notifiable - * @param string $notification - * @param callable|null $callback - * @return \Illuminate\Support\Collection - */ - public function sent($notifiable, $notification, $callback = null) - { - if (! $this->hasSent($notifiable, $notification)) { - return collect(); - } - - $callback = $callback ?: function () { - return true; - }; - - $notifications = collect($this->notificationsFor($notifiable, $notification)); - - return $notifications->filter(function ($arguments) use ($callback) { - return $callback(...array_values($arguments)); - })->pluck('notification'); - } - - /** - * Determine if there are more notifications left to inspect. - * - * @param mixed $notifiable - * @param string $notification - * @return bool - */ - public function hasSent($notifiable, $notification) - { - return ! empty($this->notificationsFor($notifiable, $notification)); - } - - /** - * Get all of the notifications for a notifiable entity by type. - * - * @param mixed $notifiable - * @param string $notification - * @return array - */ - protected function notificationsFor($notifiable, $notification) - { - return $this->notifications[get_class($notifiable)][$notifiable->getKey()][$notification] ?? []; - } - - /** - * Send the given notification to the given notifiable entities. - * - * @param \Illuminate\Support\Collection|array|mixed $notifiables - * @param mixed $notification - * @return void - */ - public function send($notifiables, $notification) - { - return $this->sendNow($notifiables, $notification); - } - - /** - * Send the given notification immediately. - * - * @param \Illuminate\Support\Collection|array|mixed $notifiables - * @param mixed $notification - * @param array|null $channels - * @return void - */ - public function sendNow($notifiables, $notification, array $channels = null) - { - if (! $notifiables instanceof Collection && ! is_array($notifiables)) { - $notifiables = [$notifiables]; - } - - foreach ($notifiables as $notifiable) { - if (! $notification->id) { - $notification->id = Str::uuid()->toString(); - } - - $this->notifications[get_class($notifiable)][$notifiable->getKey()][get_class($notification)][] = [ - 'notification' => $notification, - 'channels' => $channels ?: $notification->via($notifiable), - 'notifiable' => $notifiable, - 'locale' => $notification->locale ?? $this->locale ?? value(function () use ($notifiable) { - if ($notifiable instanceof HasLocalePreference) { - return $notifiable->preferredLocale(); - } - }), - ]; - } - } - - /** - * Get a channel instance by name. - * - * @param string|null $name - * @return mixed - */ - public function channel($name = null) - { - // - } - - /** - * Set the locale of notifications. - * - * @param string $locale - * @return $this - */ - public function locale($locale) - { - $this->locale = $locale; - - return $this; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/Testing/Fakes/PendingMailFake.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/Testing/Fakes/PendingMailFake.php deleted file mode 100644 index 83f1d27..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/Testing/Fakes/PendingMailFake.php +++ /dev/null @@ -1,53 +0,0 @@ -mailer = $mailer; - } - - /** - * Send a new mailable message instance. - * - * @param \Illuminate\Contracts\Mail\Mailable $mailable; - * @return mixed - */ - public function send(Mailable $mailable) - { - return $this->sendNow($mailable); - } - - /** - * Send a mailable message immediately. - * - * @param \Illuminate\Contracts\Mail\Mailable $mailable; - * @return mixed - */ - public function sendNow(Mailable $mailable) - { - $this->mailer->send($this->fill($mailable)); - } - - /** - * Push the given mailable onto the queue. - * - * @param \Illuminate\Contracts\Mail\Mailable $mailable; - * @return mixed - */ - public function queue(Mailable $mailable) - { - return $this->mailer->queue($this->fill($mailable)); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/Testing/Fakes/QueueFake.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/Testing/Fakes/QueueFake.php deleted file mode 100644 index 8682cb5..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/Testing/Fakes/QueueFake.php +++ /dev/null @@ -1,377 +0,0 @@ -assertPushedTimes($job, $callback); - } - - PHPUnit::assertTrue( - $this->pushed($job, $callback)->count() > 0, - "The expected [{$job}] job was not pushed." - ); - } - - /** - * Assert if a job was pushed a number of times. - * - * @param string $job - * @param int $times - * @return void - */ - protected function assertPushedTimes($job, $times = 1) - { - PHPUnit::assertTrue( - ($count = $this->pushed($job)->count()) === $times, - "The expected [{$job}] job was pushed {$count} times instead of {$times} times." - ); - } - - /** - * Assert if a job was pushed based on a truth-test callback. - * - * @param string $queue - * @param string $job - * @param callable|null $callback - * @return void - */ - public function assertPushedOn($queue, $job, $callback = null) - { - return $this->assertPushed($job, function ($job, $pushedQueue) use ($callback, $queue) { - if ($pushedQueue !== $queue) { - return false; - } - - return $callback ? $callback(...func_get_args()) : true; - }); - } - - /** - * Assert if a job was pushed with chained jobs based on a truth-test callback. - * - * @param string $job - * @param array $expectedChain - * @param callable|null $callback - * @return void - */ - public function assertPushedWithChain($job, $expectedChain = [], $callback = null) - { - PHPUnit::assertTrue( - $this->pushed($job, $callback)->isNotEmpty(), - "The expected [{$job}] job was not pushed." - ); - - PHPUnit::assertTrue( - collect($expectedChain)->isNotEmpty(), - 'The expected chain can not be empty.' - ); - - $this->isChainOfObjects($expectedChain) - ? $this->assertPushedWithChainOfObjects($job, $expectedChain, $callback) - : $this->assertPushedWithChainOfClasses($job, $expectedChain, $callback); - } - - /** - * Assert if a job was pushed with chained jobs based on a truth-test callback. - * - * @param string $job - * @param array $expectedChain - * @param callable|null $callback - * @return void - */ - protected function assertPushedWithChainOfObjects($job, $expectedChain, $callback) - { - $chain = collect($expectedChain)->map(function ($job) { - return serialize($job); - })->all(); - - PHPUnit::assertTrue( - $this->pushed($job, $callback)->filter(function ($job) use ($chain) { - return $job->chained == $chain; - })->isNotEmpty(), - 'The expected chain was not pushed.' - ); - } - - /** - * Assert if a job was pushed with chained jobs based on a truth-test callback. - * - * @param string $job - * @param array $expectedChain - * @param callable|null $callback - * @return void - */ - protected function assertPushedWithChainOfClasses($job, $expectedChain, $callback) - { - $matching = $this->pushed($job, $callback)->map->chained->map(function ($chain) { - return collect($chain)->map(function ($job) { - return get_class(unserialize($job)); - }); - })->filter(function ($chain) use ($expectedChain) { - return $chain->all() === $expectedChain; - }); - - PHPUnit::assertTrue( - $matching->isNotEmpty(), 'The expected chain was not pushed.' - ); - } - - /** - * Determine if the given chain is entirely composed of objects. - * - * @param array $chain - * @return bool - */ - protected function isChainOfObjects($chain) - { - return ! collect($chain)->contains(function ($job) { - return ! is_object($job); - }); - } - - /** - * Determine if a job was pushed based on a truth-test callback. - * - * @param string $job - * @param callable|null $callback - * @return void - */ - public function assertNotPushed($job, $callback = null) - { - PHPUnit::assertTrue( - $this->pushed($job, $callback)->count() === 0, - "The unexpected [{$job}] job was pushed." - ); - } - - /** - * Assert that no jobs were pushed. - * - * @return void - */ - public function assertNothingPushed() - { - PHPUnit::assertEmpty($this->jobs, 'Jobs were pushed unexpectedly.'); - } - - /** - * Get all of the jobs matching a truth-test callback. - * - * @param string $job - * @param callable|null $callback - * @return \Illuminate\Support\Collection - */ - public function pushed($job, $callback = null) - { - if (! $this->hasPushed($job)) { - return collect(); - } - - $callback = $callback ?: function () { - return true; - }; - - return collect($this->jobs[$job])->filter(function ($data) use ($callback) { - return $callback($data['job'], $data['queue']); - })->pluck('job'); - } - - /** - * Determine if there are any stored jobs for a given class. - * - * @param string $job - * @return bool - */ - public function hasPushed($job) - { - return isset($this->jobs[$job]) && ! empty($this->jobs[$job]); - } - - /** - * Resolve a queue connection instance. - * - * @param mixed $value - * @return \Illuminate\Contracts\Queue\Queue - */ - public function connection($value = null) - { - return $this; - } - - /** - * Get the size of the queue. - * - * @param string|null $queue - * @return int - */ - public function size($queue = null) - { - return collect($this->jobs)->flatten(1)->filter(function ($job) use ($queue) { - return $job['queue'] === $queue; - })->count(); - } - - /** - * Push a new job onto the queue. - * - * @param string $job - * @param mixed $data - * @param string|null $queue - * @return mixed - */ - public function push($job, $data = '', $queue = null) - { - $this->jobs[is_object($job) ? get_class($job) : $job][] = [ - 'job' => $job, - 'queue' => $queue, - ]; - } - - /** - * Push a raw payload onto the queue. - * - * @param string $payload - * @param string|null $queue - * @param array $options - * @return mixed - */ - public function pushRaw($payload, $queue = null, array $options = []) - { - // - } - - /** - * Push a new job onto the queue after a delay. - * - * @param \DateTimeInterface|\DateInterval|int $delay - * @param string $job - * @param mixed $data - * @param string|null $queue - * @return mixed - */ - public function later($delay, $job, $data = '', $queue = null) - { - return $this->push($job, $data, $queue); - } - - /** - * Push a new job onto the queue. - * - * @param string $queue - * @param string $job - * @param mixed $data - * @return mixed - */ - public function pushOn($queue, $job, $data = '') - { - return $this->push($job, $data, $queue); - } - - /** - * Push a new job onto the queue after a delay. - * - * @param string $queue - * @param \DateTimeInterface|\DateInterval|int $delay - * @param string $job - * @param mixed $data - * @return mixed - */ - public function laterOn($queue, $delay, $job, $data = '') - { - return $this->push($job, $data, $queue); - } - - /** - * Pop the next job off of the queue. - * - * @param string|null $queue - * @return \Illuminate\Contracts\Queue\Job|null - */ - public function pop($queue = null) - { - // - } - - /** - * Push an array of jobs onto the queue. - * - * @param array $jobs - * @param mixed $data - * @param string|null $queue - * @return mixed - */ - public function bulk($jobs, $data = '', $queue = null) - { - foreach ($jobs as $job) { - $this->push($job, $data, $queue); - } - } - - /** - * Get the jobs that have been pushed. - * - * @return array - */ - public function pushedJobs() - { - return $this->jobs; - } - - /** - * Get the connection name for the queue. - * - * @return string - */ - public function getConnectionName() - { - // - } - - /** - * Set the connection name for the queue. - * - * @param string $name - * @return $this - */ - public function setConnectionName($name) - { - return $this; - } - - /** - * Override the QueueManager to prevent circular dependency. - * - * @param string $method - * @param array $parameters - * @return mixed - */ - public function __call($method, $parameters) - { - throw new BadMethodCallException(sprintf( - 'Call to undefined method %s::%s()', static::class, $method - )); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/Traits/CapsuleManagerTrait.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/Traits/CapsuleManagerTrait.php deleted file mode 100644 index 08089ef..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/Traits/CapsuleManagerTrait.php +++ /dev/null @@ -1,69 +0,0 @@ -container = $container; - - if (! $this->container->bound('config')) { - $this->container->instance('config', new Fluent); - } - } - - /** - * Make this capsule instance available globally. - * - * @return void - */ - public function setAsGlobal() - { - static::$instance = $this; - } - - /** - * Get the IoC container instance. - * - * @return \Illuminate\Contracts\Container\Container - */ - public function getContainer() - { - return $this->container; - } - - /** - * Set the IoC container instance. - * - * @param \Illuminate\Contracts\Container\Container $container - * @return void - */ - public function setContainer(Container $container) - { - $this->container = $container; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php deleted file mode 100644 index 3d0f122..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php +++ /dev/null @@ -1,54 +0,0 @@ -{$method}(...$parameters); - } catch (Error | BadMethodCallException $e) { - $pattern = '~^Call to undefined method (?P[^:]+)::(?P[^\(]+)\(\)$~'; - - if (! preg_match($pattern, $e->getMessage(), $matches)) { - throw $e; - } - - if ($matches['class'] != get_class($object) || - $matches['method'] != $method) { - throw $e; - } - - static::throwBadMethodCallException($method); - } - } - - /** - * Throw a bad method call exception for the given method. - * - * @param string $method - * @return void - * - * @throws \BadMethodCallException - */ - protected static function throwBadMethodCallException($method) - { - throw new BadMethodCallException(sprintf( - 'Call to undefined method %s::%s()', static::class, $method - )); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/Traits/Localizable.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/Traits/Localizable.php deleted file mode 100644 index b03276d..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/Traits/Localizable.php +++ /dev/null @@ -1,34 +0,0 @@ -getLocale(); - - try { - $app->setLocale($locale); - - return $callback(); - } finally { - $app->setLocale($original); - } - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/Traits/Macroable.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/Traits/Macroable.php deleted file mode 100644 index 0e85dc1..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/Traits/Macroable.php +++ /dev/null @@ -1,117 +0,0 @@ -getMethods( - ReflectionMethod::IS_PUBLIC | ReflectionMethod::IS_PROTECTED - ); - - foreach ($methods as $method) { - if ($replace || ! static::hasMacro($method->name)) { - $method->setAccessible(true); - static::macro($method->name, $method->invoke($mixin)); - } - } - } - - /** - * Checks if macro is registered. - * - * @param string $name - * @return bool - */ - public static function hasMacro($name) - { - return isset(static::$macros[$name]); - } - - /** - * Dynamically handle calls to the class. - * - * @param string $method - * @param array $parameters - * @return mixed - * - * @throws \BadMethodCallException - */ - public static function __callStatic($method, $parameters) - { - if (! static::hasMacro($method)) { - throw new BadMethodCallException(sprintf( - 'Method %s::%s does not exist.', static::class, $method - )); - } - - $macro = static::$macros[$method]; - - if ($macro instanceof Closure) { - return call_user_func_array(Closure::bind($macro, null, static::class), $parameters); - } - - return $macro(...$parameters); - } - - /** - * Dynamically handle calls to the class. - * - * @param string $method - * @param array $parameters - * @return mixed - * - * @throws \BadMethodCallException - */ - public function __call($method, $parameters) - { - if (! static::hasMacro($method)) { - throw new BadMethodCallException(sprintf( - 'Method %s::%s does not exist.', static::class, $method - )); - } - - $macro = static::$macros[$method]; - - if ($macro instanceof Closure) { - return call_user_func_array($macro->bindTo($this, static::class), $parameters); - } - - return $macro(...$parameters); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/Traits/Tappable.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/Traits/Tappable.php deleted file mode 100644 index e4a321c..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/Traits/Tappable.php +++ /dev/null @@ -1,17 +0,0 @@ -bags[$key]); - } - - /** - * Get a MessageBag instance from the bags. - * - * @param string $key - * @return \Illuminate\Contracts\Support\MessageBag - */ - public function getBag($key) - { - return Arr::get($this->bags, $key) ?: new MessageBag; - } - - /** - * Get all the bags. - * - * @return array - */ - public function getBags() - { - return $this->bags; - } - - /** - * Add a new MessageBag instance to the bags. - * - * @param string $key - * @param \Illuminate\Contracts\Support\MessageBag $bag - * @return $this - */ - public function put($key, MessageBagContract $bag) - { - $this->bags[$key] = $bag; - - return $this; - } - - /** - * Determine if the default message bag has any messages. - * - * @return bool - */ - public function any() - { - return $this->count() > 0; - } - - /** - * Get the number of messages in the default bag. - * - * @return int - */ - public function count() - { - return $this->getBag('default')->count(); - } - - /** - * Dynamically call methods on the default bag. - * - * @param string $method - * @param array $parameters - * @return mixed - */ - public function __call($method, $parameters) - { - return $this->getBag('default')->$method(...$parameters); - } - - /** - * Dynamically access a view error bag. - * - * @param string $key - * @return \Illuminate\Contracts\Support\MessageBag - */ - public function __get($key) - { - return $this->getBag($key); - } - - /** - * Dynamically set a view error bag. - * - * @param string $key - * @param \Illuminate\Contracts\Support\MessageBag $value - * @return void - */ - public function __set($key, $value) - { - $this->put($key, $value); - } - - /** - * Convert the default bag to its string representation. - * - * @return string - */ - public function __toString() - { - return (string) $this->getBag('default'); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/composer.json b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/composer.json deleted file mode 100644 index 16bd0a8..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/composer.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "name": "illuminate/support", - "description": "The Illuminate Support package.", - "license": "MIT", - "homepage": "https://laravel.com", - "support": { - "issues": "https://github.com/laravel/framework/issues", - "source": "https://github.com/laravel/framework" - }, - "authors": [ - { - "name": "Taylor Otwell", - "email": "taylor@laravel.com" - } - ], - "require": { - "php": "^7.1.3", - "ext-json": "*", - "ext-mbstring": "*", - "doctrine/inflector": "^1.1", - "illuminate/contracts": "5.8.*", - "nesbot/carbon": "^1.26.3 || ^2.0" - }, - "conflict": { - "tightenco/collect": "<5.5.33" - }, - "autoload": { - "psr-4": { - "Illuminate\\Support\\": "" - }, - "files": [ - "helpers.php" - ] - }, - "extra": { - "branch-alias": { - "dev-master": "5.8-dev" - } - }, - "suggest": { - "illuminate/filesystem": "Required to use the composer class (5.8.*).", - "moontoast/math": "Required to use ordered UUIDs (^1.1).", - "ramsey/uuid": "Required to use Str::uuid() (^3.7).", - "symfony/process": "Required to use the composer class (^4.2).", - "symfony/var-dumper": "Required to use the dd function (^4.2).", - "vlucas/phpdotenv": "Required to use the env helper (^3.3)." - }, - "config": { - "sort-packages": true - }, - "minimum-stability": "dev" -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/helpers.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/helpers.php deleted file mode 100644 index a3813c0..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Support/helpers.php +++ /dev/null @@ -1,1265 +0,0 @@ - $value) { - if (is_numeric($key)) { - $start++; - - $array[$start] = Arr::pull($array, $key); - } - } - - return $array; - } -} - -if (! function_exists('array_add')) { - /** - * Add an element to an array using "dot" notation if it doesn't exist. - * - * @param array $array - * @param string $key - * @param mixed $value - * @return array - * - * @deprecated Arr::add() should be used directly instead. Will be removed in Laravel 6.0. - */ - function array_add($array, $key, $value) - { - return Arr::add($array, $key, $value); - } -} - -if (! function_exists('array_collapse')) { - /** - * Collapse an array of arrays into a single array. - * - * @param array $array - * @return array - * - * @deprecated Arr::collapse() should be used directly instead. Will be removed in Laravel 6.0. - */ - function array_collapse($array) - { - return Arr::collapse($array); - } -} - -if (! function_exists('array_divide')) { - /** - * Divide an array into two arrays. One with keys and the other with values. - * - * @param array $array - * @return array - * - * @deprecated Arr::divide() should be used directly instead. Will be removed in Laravel 6.0. - */ - function array_divide($array) - { - return Arr::divide($array); - } -} - -if (! function_exists('array_dot')) { - /** - * Flatten a multi-dimensional associative array with dots. - * - * @param array $array - * @param string $prepend - * @return array - * - * @deprecated Arr::dot() should be used directly instead. Will be removed in Laravel 6.0. - */ - function array_dot($array, $prepend = '') - { - return Arr::dot($array, $prepend); - } -} - -if (! function_exists('array_except')) { - /** - * Get all of the given array except for a specified array of keys. - * - * @param array $array - * @param array|string $keys - * @return array - * - * @deprecated Arr::except() should be used directly instead. Will be removed in Laravel 6.0. - */ - function array_except($array, $keys) - { - return Arr::except($array, $keys); - } -} - -if (! function_exists('array_first')) { - /** - * Return the first element in an array passing a given truth test. - * - * @param array $array - * @param callable|null $callback - * @param mixed $default - * @return mixed - * - * @deprecated Arr::first() should be used directly instead. Will be removed in Laravel 6.0. - */ - function array_first($array, callable $callback = null, $default = null) - { - return Arr::first($array, $callback, $default); - } -} - -if (! function_exists('array_flatten')) { - /** - * Flatten a multi-dimensional array into a single level. - * - * @param array $array - * @param int $depth - * @return array - * - * @deprecated Arr::flatten() should be used directly instead. Will be removed in Laravel 6.0. - */ - function array_flatten($array, $depth = INF) - { - return Arr::flatten($array, $depth); - } -} - -if (! function_exists('array_forget')) { - /** - * Remove one or many array items from a given array using "dot" notation. - * - * @param array $array - * @param array|string $keys - * @return void - * - * @deprecated Arr::forget() should be used directly instead. Will be removed in Laravel 6.0. - */ - function array_forget(&$array, $keys) - { - return Arr::forget($array, $keys); - } -} - -if (! function_exists('array_get')) { - /** - * Get an item from an array using "dot" notation. - * - * @param \ArrayAccess|array $array - * @param string $key - * @param mixed $default - * @return mixed - * - * @deprecated Arr::get() should be used directly instead. Will be removed in Laravel 6.0. - */ - function array_get($array, $key, $default = null) - { - return Arr::get($array, $key, $default); - } -} - -if (! function_exists('array_has')) { - /** - * Check if an item or items exist in an array using "dot" notation. - * - * @param \ArrayAccess|array $array - * @param string|array $keys - * @return bool - * - * @deprecated Arr::has() should be used directly instead. Will be removed in Laravel 6.0. - */ - function array_has($array, $keys) - { - return Arr::has($array, $keys); - } -} - -if (! function_exists('array_last')) { - /** - * Return the last element in an array passing a given truth test. - * - * @param array $array - * @param callable|null $callback - * @param mixed $default - * @return mixed - * - * @deprecated Arr::last() should be used directly instead. Will be removed in Laravel 6.0. - */ - function array_last($array, callable $callback = null, $default = null) - { - return Arr::last($array, $callback, $default); - } -} - -if (! function_exists('array_only')) { - /** - * Get a subset of the items from the given array. - * - * @param array $array - * @param array|string $keys - * @return array - * - * @deprecated Arr::only() should be used directly instead. Will be removed in Laravel 6.0. - */ - function array_only($array, $keys) - { - return Arr::only($array, $keys); - } -} - -if (! function_exists('array_pluck')) { - /** - * Pluck an array of values from an array. - * - * @param array $array - * @param string|array $value - * @param string|array|null $key - * @return array - * - * @deprecated Arr::pluck() should be used directly instead. Will be removed in Laravel 6.0. - */ - function array_pluck($array, $value, $key = null) - { - return Arr::pluck($array, $value, $key); - } -} - -if (! function_exists('array_prepend')) { - /** - * Push an item onto the beginning of an array. - * - * @param array $array - * @param mixed $value - * @param mixed $key - * @return array - * - * @deprecated Arr::prepend() should be used directly instead. Will be removed in Laravel 6.0. - */ - function array_prepend($array, $value, $key = null) - { - return Arr::prepend($array, $value, $key); - } -} - -if (! function_exists('array_pull')) { - /** - * Get a value from the array, and remove it. - * - * @param array $array - * @param string $key - * @param mixed $default - * @return mixed - * - * @deprecated Arr::pull() should be used directly instead. Will be removed in Laravel 6.0. - */ - function array_pull(&$array, $key, $default = null) - { - return Arr::pull($array, $key, $default); - } -} - -if (! function_exists('array_random')) { - /** - * Get a random value from an array. - * - * @param array $array - * @param int|null $num - * @return mixed - * - * @deprecated Arr::random() should be used directly instead. Will be removed in Laravel 6.0. - */ - function array_random($array, $num = null) - { - return Arr::random($array, $num); - } -} - -if (! function_exists('array_set')) { - /** - * Set an array item to a given value using "dot" notation. - * - * If no key is given to the method, the entire array will be replaced. - * - * @param array $array - * @param string $key - * @param mixed $value - * @return array - * - * @deprecated Arr::set() should be used directly instead. Will be removed in Laravel 6.0. - */ - function array_set(&$array, $key, $value) - { - return Arr::set($array, $key, $value); - } -} - -if (! function_exists('array_sort')) { - /** - * Sort the array by the given callback or attribute name. - * - * @param array $array - * @param callable|string|null $callback - * @return array - * - * @deprecated Arr::sort() should be used directly instead. Will be removed in Laravel 6.0. - */ - function array_sort($array, $callback = null) - { - return Arr::sort($array, $callback); - } -} - -if (! function_exists('array_sort_recursive')) { - /** - * Recursively sort an array by keys and values. - * - * @param array $array - * @return array - * - * @deprecated Arr::sortRecursive() should be used directly instead. Will be removed in Laravel 6.0. - */ - function array_sort_recursive($array) - { - return Arr::sortRecursive($array); - } -} - -if (! function_exists('array_where')) { - /** - * Filter the array using the given callback. - * - * @param array $array - * @param callable $callback - * @return array - * - * @deprecated Arr::where() should be used directly instead. Will be removed in Laravel 6.0. - */ - function array_where($array, callable $callback) - { - return Arr::where($array, $callback); - } -} - -if (! function_exists('array_wrap')) { - /** - * If the given value is not an array, wrap it in one. - * - * @param mixed $value - * @return array - * - * @deprecated Arr::wrap() should be used directly instead. Will be removed in Laravel 6.0. - */ - function array_wrap($value) - { - return Arr::wrap($value); - } -} - -if (! function_exists('blank')) { - /** - * Determine if the given value is "blank". - * - * @param mixed $value - * @return bool - */ - function blank($value) - { - if (is_null($value)) { - return true; - } - - if (is_string($value)) { - return trim($value) === ''; - } - - if (is_numeric($value) || is_bool($value)) { - return false; - } - - if ($value instanceof Countable) { - return count($value) === 0; - } - - return empty($value); - } -} - -if (! function_exists('camel_case')) { - /** - * Convert a value to camel case. - * - * @param string $value - * @return string - * - * @deprecated Str::camel() should be used directly instead. Will be removed in Laravel 6.0. - */ - function camel_case($value) - { - return Str::camel($value); - } -} - -if (! function_exists('class_basename')) { - /** - * Get the class "basename" of the given object / class. - * - * @param string|object $class - * @return string - */ - function class_basename($class) - { - $class = is_object($class) ? get_class($class) : $class; - - return basename(str_replace('\\', '/', $class)); - } -} - -if (! function_exists('class_uses_recursive')) { - /** - * Returns all traits used by a class, its parent classes and trait of their traits. - * - * @param object|string $class - * @return array - */ - function class_uses_recursive($class) - { - if (is_object($class)) { - $class = get_class($class); - } - - $results = []; - - foreach (array_reverse(class_parents($class)) + [$class => $class] as $class) { - $results += trait_uses_recursive($class); - } - - return array_unique($results); - } -} - -if (! function_exists('collect')) { - /** - * Create a collection from the given value. - * - * @param mixed $value - * @return \Illuminate\Support\Collection - */ - function collect($value = null) - { - return new Collection($value); - } -} - -if (! function_exists('data_fill')) { - /** - * Fill in data where it's missing. - * - * @param mixed $target - * @param string|array $key - * @param mixed $value - * @return mixed - */ - function data_fill(&$target, $key, $value) - { - return data_set($target, $key, $value, false); - } -} - -if (! function_exists('data_get')) { - /** - * Get an item from an array or object using "dot" notation. - * - * @param mixed $target - * @param string|array|int $key - * @param mixed $default - * @return mixed - */ - function data_get($target, $key, $default = null) - { - if (is_null($key)) { - return $target; - } - - $key = is_array($key) ? $key : explode('.', $key); - - while (! is_null($segment = array_shift($key))) { - if ($segment === '*') { - if ($target instanceof Collection) { - $target = $target->all(); - } elseif (! is_array($target)) { - return value($default); - } - - $result = []; - - foreach ($target as $item) { - $result[] = data_get($item, $key); - } - - return in_array('*', $key) ? Arr::collapse($result) : $result; - } - - if (Arr::accessible($target) && Arr::exists($target, $segment)) { - $target = $target[$segment]; - } elseif (is_object($target) && isset($target->{$segment})) { - $target = $target->{$segment}; - } else { - return value($default); - } - } - - return $target; - } -} - -if (! function_exists('data_set')) { - /** - * Set an item on an array or object using dot notation. - * - * @param mixed $target - * @param string|array $key - * @param mixed $value - * @param bool $overwrite - * @return mixed - */ - function data_set(&$target, $key, $value, $overwrite = true) - { - $segments = is_array($key) ? $key : explode('.', $key); - - if (($segment = array_shift($segments)) === '*') { - if (! Arr::accessible($target)) { - $target = []; - } - - if ($segments) { - foreach ($target as &$inner) { - data_set($inner, $segments, $value, $overwrite); - } - } elseif ($overwrite) { - foreach ($target as &$inner) { - $inner = $value; - } - } - } elseif (Arr::accessible($target)) { - if ($segments) { - if (! Arr::exists($target, $segment)) { - $target[$segment] = []; - } - - data_set($target[$segment], $segments, $value, $overwrite); - } elseif ($overwrite || ! Arr::exists($target, $segment)) { - $target[$segment] = $value; - } - } elseif (is_object($target)) { - if ($segments) { - if (! isset($target->{$segment})) { - $target->{$segment} = []; - } - - data_set($target->{$segment}, $segments, $value, $overwrite); - } elseif ($overwrite || ! isset($target->{$segment})) { - $target->{$segment} = $value; - } - } else { - $target = []; - - if ($segments) { - data_set($target[$segment], $segments, $value, $overwrite); - } elseif ($overwrite) { - $target[$segment] = $value; - } - } - - return $target; - } -} - -if (! function_exists('e')) { - /** - * Encode HTML special characters in a string. - * - * @param \Illuminate\Contracts\Support\Htmlable|string $value - * @param bool $doubleEncode - * @return string - */ - function e($value, $doubleEncode = true) - { - if ($value instanceof Htmlable) { - return $value->toHtml(); - } - - return htmlspecialchars($value, ENT_QUOTES, 'UTF-8', $doubleEncode); - } -} - -if (! function_exists('ends_with')) { - /** - * Determine if a given string ends with a given substring. - * - * @param string $haystack - * @param string|array $needles - * @return bool - * - * @deprecated Str::endsWith() should be used directly instead. Will be removed in Laravel 6.0. - */ - function ends_with($haystack, $needles) - { - return Str::endsWith($haystack, $needles); - } -} - -if (! function_exists('env')) { - /** - * Gets the value of an environment variable. - * - * @param string $key - * @param mixed $default - * @return mixed - */ - function env($key, $default = null) - { - static $variables; - - if ($variables === null) { - $variables = (new DotenvFactory([new EnvConstAdapter, new PutenvAdapter, new ServerConstAdapter]))->createImmutable(); - } - - return Option::fromValue($variables->get($key)) - ->map(function ($value) { - switch (strtolower($value)) { - case 'true': - case '(true)': - return true; - case 'false': - case '(false)': - return false; - case 'empty': - case '(empty)': - return ''; - case 'null': - case '(null)': - return; - } - - if (preg_match('/\A([\'"])(.*)\1\z/', $value, $matches)) { - return $matches[2]; - } - - return $value; - }) - ->getOrCall(function () use ($default) { - return value($default); - }); - } -} - -if (! function_exists('filled')) { - /** - * Determine if a value is "filled". - * - * @param mixed $value - * @return bool - */ - function filled($value) - { - return ! blank($value); - } -} - -if (! function_exists('head')) { - /** - * Get the first element of an array. Useful for method chaining. - * - * @param array $array - * @return mixed - */ - function head($array) - { - return reset($array); - } -} - -if (! function_exists('kebab_case')) { - /** - * Convert a string to kebab case. - * - * @param string $value - * @return string - * - * @deprecated Str::kebab() should be used directly instead. Will be removed in Laravel 6.0. - */ - function kebab_case($value) - { - return Str::kebab($value); - } -} - -if (! function_exists('last')) { - /** - * Get the last element from an array. - * - * @param array $array - * @return mixed - */ - function last($array) - { - return end($array); - } -} - -if (! function_exists('object_get')) { - /** - * Get an item from an object using "dot" notation. - * - * @param object $object - * @param string $key - * @param mixed $default - * @return mixed - */ - function object_get($object, $key, $default = null) - { - if (is_null($key) || trim($key) == '') { - return $object; - } - - foreach (explode('.', $key) as $segment) { - if (! is_object($object) || ! isset($object->{$segment})) { - return value($default); - } - - $object = $object->{$segment}; - } - - return $object; - } -} - -if (! function_exists('optional')) { - /** - * Provide access to optional objects. - * - * @param mixed $value - * @param callable|null $callback - * @return mixed - */ - function optional($value = null, callable $callback = null) - { - if (is_null($callback)) { - return new Optional($value); - } elseif (! is_null($value)) { - return $callback($value); - } - } -} - -if (! function_exists('preg_replace_array')) { - /** - * Replace a given pattern with each value in the array in sequentially. - * - * @param string $pattern - * @param array $replacements - * @param string $subject - * @return string - */ - function preg_replace_array($pattern, array $replacements, $subject) - { - return preg_replace_callback($pattern, function () use (&$replacements) { - foreach ($replacements as $key => $value) { - return array_shift($replacements); - } - }, $subject); - } -} - -if (! function_exists('retry')) { - /** - * Retry an operation a given number of times. - * - * @param int $times - * @param callable $callback - * @param int $sleep - * @param callable $when - * @return mixed - * - * @throws \Exception - */ - function retry($times, callable $callback, $sleep = 0, $when = null) - { - $attempts = 0; - $times--; - - beginning: - $attempts++; - - try { - return $callback($attempts); - } catch (Exception $e) { - if (! $times || ($when && ! $when($e))) { - throw $e; - } - - $times--; - - if ($sleep) { - usleep($sleep * 1000); - } - - goto beginning; - } - } -} - -if (! function_exists('snake_case')) { - /** - * Convert a string to snake case. - * - * @param string $value - * @param string $delimiter - * @return string - * - * @deprecated Str::snake() should be used directly instead. Will be removed in Laravel 6.0. - */ - function snake_case($value, $delimiter = '_') - { - return Str::snake($value, $delimiter); - } -} - -if (! function_exists('starts_with')) { - /** - * Determine if a given string starts with a given substring. - * - * @param string $haystack - * @param string|array $needles - * @return bool - * - * @deprecated Str::startsWith() should be used directly instead. Will be removed in Laravel 6.0. - */ - function starts_with($haystack, $needles) - { - return Str::startsWith($haystack, $needles); - } -} - -if (! function_exists('str_after')) { - /** - * Return the remainder of a string after a given value. - * - * @param string $subject - * @param string $search - * @return string - * - * @deprecated Str::after() should be used directly instead. Will be removed in Laravel 6.0. - */ - function str_after($subject, $search) - { - return Str::after($subject, $search); - } -} - -if (! function_exists('str_before')) { - /** - * Get the portion of a string before a given value. - * - * @param string $subject - * @param string $search - * @return string - * - * @deprecated Str::before() should be used directly instead. Will be removed in Laravel 6.0. - */ - function str_before($subject, $search) - { - return Str::before($subject, $search); - } -} - -if (! function_exists('str_contains')) { - /** - * Determine if a given string contains a given substring. - * - * @param string $haystack - * @param string|array $needles - * @return bool - * - * @deprecated Str::contains() should be used directly instead. Will be removed in Laravel 6.0. - */ - function str_contains($haystack, $needles) - { - return Str::contains($haystack, $needles); - } -} - -if (! function_exists('str_finish')) { - /** - * Cap a string with a single instance of a given value. - * - * @param string $value - * @param string $cap - * @return string - * - * @deprecated Str::finish() should be used directly instead. Will be removed in Laravel 6.0. - */ - function str_finish($value, $cap) - { - return Str::finish($value, $cap); - } -} - -if (! function_exists('str_is')) { - /** - * Determine if a given string matches a given pattern. - * - * @param string|array $pattern - * @param string $value - * @return bool - * - * @deprecated Str::is() should be used directly instead. Will be removed in Laravel 6.0. - */ - function str_is($pattern, $value) - { - return Str::is($pattern, $value); - } -} - -if (! function_exists('str_limit')) { - /** - * Limit the number of characters in a string. - * - * @param string $value - * @param int $limit - * @param string $end - * @return string - * - * @deprecated Str::limit() should be used directly instead. Will be removed in Laravel 6.0. - */ - function str_limit($value, $limit = 100, $end = '...') - { - return Str::limit($value, $limit, $end); - } -} - -if (! function_exists('str_plural')) { - /** - * Get the plural form of an English word. - * - * @param string $value - * @param int $count - * @return string - * - * @deprecated Str::plural() should be used directly instead. Will be removed in Laravel 6.0. - */ - function str_plural($value, $count = 2) - { - return Str::plural($value, $count); - } -} - -if (! function_exists('str_random')) { - /** - * Generate a more truly "random" alpha-numeric string. - * - * @param int $length - * @return string - * - * @throws \RuntimeException - * - * @deprecated Str::random() should be used directly instead. Will be removed in Laravel 6.0. - */ - function str_random($length = 16) - { - return Str::random($length); - } -} - -if (! function_exists('str_replace_array')) { - /** - * Replace a given value in the string sequentially with an array. - * - * @param string $search - * @param array $replace - * @param string $subject - * @return string - * - * @deprecated Str::replaceArray() should be used directly instead. Will be removed in Laravel 6.0. - */ - function str_replace_array($search, array $replace, $subject) - { - return Str::replaceArray($search, $replace, $subject); - } -} - -if (! function_exists('str_replace_first')) { - /** - * Replace the first occurrence of a given value in the string. - * - * @param string $search - * @param string $replace - * @param string $subject - * @return string - * - * @deprecated Str::replaceFirst() should be used directly instead. Will be removed in Laravel 6.0. - */ - function str_replace_first($search, $replace, $subject) - { - return Str::replaceFirst($search, $replace, $subject); - } -} - -if (! function_exists('str_replace_last')) { - /** - * Replace the last occurrence of a given value in the string. - * - * @param string $search - * @param string $replace - * @param string $subject - * @return string - * - * @deprecated Str::replaceLast() should be used directly instead. Will be removed in Laravel 6.0. - */ - function str_replace_last($search, $replace, $subject) - { - return Str::replaceLast($search, $replace, $subject); - } -} - -if (! function_exists('str_singular')) { - /** - * Get the singular form of an English word. - * - * @param string $value - * @return string - * - * @deprecated Str::singular() should be used directly instead. Will be removed in Laravel 6.0. - */ - function str_singular($value) - { - return Str::singular($value); - } -} - -if (! function_exists('str_slug')) { - /** - * Generate a URL friendly "slug" from a given string. - * - * @param string $title - * @param string $separator - * @param string $language - * @return string - * - * @deprecated Str::slug() should be used directly instead. Will be removed in Laravel 6.0. - */ - function str_slug($title, $separator = '-', $language = 'en') - { - return Str::slug($title, $separator, $language); - } -} - -if (! function_exists('str_start')) { - /** - * Begin a string with a single instance of a given value. - * - * @param string $value - * @param string $prefix - * @return string - * - * @deprecated Str::start() should be used directly instead. Will be removed in Laravel 6.0. - */ - function str_start($value, $prefix) - { - return Str::start($value, $prefix); - } -} - -if (! function_exists('studly_case')) { - /** - * Convert a value to studly caps case. - * - * @param string $value - * @return string - * - * @deprecated Str::studly() should be used directly instead. Will be removed in Laravel 6.0. - */ - function studly_case($value) - { - return Str::studly($value); - } -} - -if (! function_exists('tap')) { - /** - * Call the given Closure with the given value then return the value. - * - * @param mixed $value - * @param callable|null $callback - * @return mixed - */ - function tap($value, $callback = null) - { - if (is_null($callback)) { - return new HigherOrderTapProxy($value); - } - - $callback($value); - - return $value; - } -} - -if (! function_exists('throw_if')) { - /** - * Throw the given exception if the given condition is true. - * - * @param mixed $condition - * @param \Throwable|string $exception - * @param array ...$parameters - * @return mixed - * - * @throws \Throwable - */ - function throw_if($condition, $exception, ...$parameters) - { - if ($condition) { - throw (is_string($exception) ? new $exception(...$parameters) : $exception); - } - - return $condition; - } -} - -if (! function_exists('throw_unless')) { - /** - * Throw the given exception unless the given condition is true. - * - * @param mixed $condition - * @param \Throwable|string $exception - * @param array ...$parameters - * @return mixed - * @throws \Throwable - */ - function throw_unless($condition, $exception, ...$parameters) - { - if (! $condition) { - throw (is_string($exception) ? new $exception(...$parameters) : $exception); - } - - return $condition; - } -} - -if (! function_exists('title_case')) { - /** - * Convert a value to title case. - * - * @param string $value - * @return string - * - * @deprecated Str::title() should be used directly instead. Will be removed in Laravel 6.0. - */ - function title_case($value) - { - return Str::title($value); - } -} - -if (! function_exists('trait_uses_recursive')) { - /** - * Returns all traits used by a trait and its traits. - * - * @param string $trait - * @return array - */ - function trait_uses_recursive($trait) - { - $traits = class_uses($trait); - - foreach ($traits as $trait) { - $traits += trait_uses_recursive($trait); - } - - return $traits; - } -} - -if (! function_exists('transform')) { - /** - * Transform the given value if it is present. - * - * @param mixed $value - * @param callable $callback - * @param mixed $default - * @return mixed|null - */ - function transform($value, callable $callback, $default = null) - { - if (filled($value)) { - return $callback($value); - } - - if (is_callable($default)) { - return $default($value); - } - - return $default; - } -} - -if (! function_exists('value')) { - /** - * Return the default value of the given value. - * - * @param mixed $value - * @return mixed - */ - function value($value) - { - return $value instanceof Closure ? $value() : $value; - } -} - -if (! function_exists('windows_os')) { - /** - * Determine whether the current environment is Windows based. - * - * @return bool - */ - function windows_os() - { - return strtolower(substr(PHP_OS, 0, 3)) === 'win'; - } -} - -if (! function_exists('with')) { - /** - * Return the given value, optionally passed through the given callback. - * - * @param mixed $value - * @param callable|null $callback - * @return mixed - */ - function with($value, callable $callback = null) - { - return is_null($callback) ? $value : $callback($value); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Translation/ArrayLoader.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Translation/ArrayLoader.php deleted file mode 100644 index 117e044..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Translation/ArrayLoader.php +++ /dev/null @@ -1,81 +0,0 @@ -messages[$namespace][$locale][$group] ?? []; - } - - /** - * Add a new namespace to the loader. - * - * @param string $namespace - * @param string $hint - * @return void - */ - public function addNamespace($namespace, $hint) - { - // - } - - /** - * Add a new JSON path to the loader. - * - * @param string $path - * @return void - */ - public function addJsonPath($path) - { - // - } - - /** - * Add messages to the loader. - * - * @param string $locale - * @param string $group - * @param array $messages - * @param string|null $namespace - * @return $this - */ - public function addMessages($locale, $group, array $messages, $namespace = null) - { - $namespace = $namespace ?: '*'; - - $this->messages[$namespace][$locale][$group] = $messages; - - return $this; - } - - /** - * Get an array of all the registered namespaces. - * - * @return array - */ - public function namespaces() - { - return []; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Translation/FileLoader.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Translation/FileLoader.php deleted file mode 100644 index 32c56c5..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Translation/FileLoader.php +++ /dev/null @@ -1,187 +0,0 @@ -path = $path; - $this->files = $files; - } - - /** - * Load the messages for the given locale. - * - * @param string $locale - * @param string $group - * @param string|null $namespace - * @return array - */ - public function load($locale, $group, $namespace = null) - { - if ($group === '*' && $namespace === '*') { - return $this->loadJsonPaths($locale); - } - - if (is_null($namespace) || $namespace === '*') { - return $this->loadPath($this->path, $locale, $group); - } - - return $this->loadNamespaced($locale, $group, $namespace); - } - - /** - * Load a namespaced translation group. - * - * @param string $locale - * @param string $group - * @param string $namespace - * @return array - */ - protected function loadNamespaced($locale, $group, $namespace) - { - if (isset($this->hints[$namespace])) { - $lines = $this->loadPath($this->hints[$namespace], $locale, $group); - - return $this->loadNamespaceOverrides($lines, $locale, $group, $namespace); - } - - return []; - } - - /** - * Load a local namespaced translation group for overrides. - * - * @param array $lines - * @param string $locale - * @param string $group - * @param string $namespace - * @return array - */ - protected function loadNamespaceOverrides(array $lines, $locale, $group, $namespace) - { - $file = "{$this->path}/vendor/{$namespace}/{$locale}/{$group}.php"; - - if ($this->files->exists($file)) { - return array_replace_recursive($lines, $this->files->getRequire($file)); - } - - return $lines; - } - - /** - * Load a locale from a given path. - * - * @param string $path - * @param string $locale - * @param string $group - * @return array - */ - protected function loadPath($path, $locale, $group) - { - if ($this->files->exists($full = "{$path}/{$locale}/{$group}.php")) { - return $this->files->getRequire($full); - } - - return []; - } - - /** - * Load a locale from the given JSON file path. - * - * @param string $locale - * @return array - * - * @throws \RuntimeException - */ - protected function loadJsonPaths($locale) - { - return collect(array_merge($this->jsonPaths, [$this->path])) - ->reduce(function ($output, $path) use ($locale) { - if ($this->files->exists($full = "{$path}/{$locale}.json")) { - $decoded = json_decode($this->files->get($full), true); - - if (is_null($decoded) || json_last_error() !== JSON_ERROR_NONE) { - throw new RuntimeException("Translation file [{$full}] contains an invalid JSON structure."); - } - - $output = array_merge($output, $decoded); - } - - return $output; - }, []); - } - - /** - * Add a new namespace to the loader. - * - * @param string $namespace - * @param string $hint - * @return void - */ - public function addNamespace($namespace, $hint) - { - $this->hints[$namespace] = $hint; - } - - /** - * Add a new JSON path to the loader. - * - * @param string $path - * @return void - */ - public function addJsonPath($path) - { - $this->jsonPaths[] = $path; - } - - /** - * Get an array of all the registered namespaces. - * - * @return array - */ - public function namespaces() - { - return $this->hints; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Translation/LICENSE.md b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Translation/LICENSE.md deleted file mode 100644 index 79810c8..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Translation/LICENSE.md +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) Taylor Otwell - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Translation/MessageSelector.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Translation/MessageSelector.php deleted file mode 100644 index 3f63a53..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Translation/MessageSelector.php +++ /dev/null @@ -1,412 +0,0 @@ -extract($segments, $number)) !== null) { - return trim($value); - } - - $segments = $this->stripConditions($segments); - - $pluralIndex = $this->getPluralIndex($locale, $number); - - if (count($segments) === 1 || ! isset($segments[$pluralIndex])) { - return $segments[0]; - } - - return $segments[$pluralIndex]; - } - - /** - * Extract a translation string using inline conditions. - * - * @param array $segments - * @param int $number - * @return mixed - */ - private function extract($segments, $number) - { - foreach ($segments as $part) { - if (! is_null($line = $this->extractFromString($part, $number))) { - return $line; - } - } - } - - /** - * Get the translation string if the condition matches. - * - * @param string $part - * @param int $number - * @return mixed - */ - private function extractFromString($part, $number) - { - preg_match('/^[\{\[]([^\[\]\{\}]*)[\}\]](.*)/s', $part, $matches); - - if (count($matches) !== 3) { - return; - } - - $condition = $matches[1]; - - $value = $matches[2]; - - if (Str::contains($condition, ',')) { - [$from, $to] = explode(',', $condition, 2); - - if ($to === '*' && $number >= $from) { - return $value; - } elseif ($from === '*' && $number <= $to) { - return $value; - } elseif ($number >= $from && $number <= $to) { - return $value; - } - } - - return $condition == $number ? $value : null; - } - - /** - * Strip the inline conditions from each segment, just leaving the text. - * - * @param array $segments - * @return array - */ - private function stripConditions($segments) - { - return collect($segments)->map(function ($part) { - return preg_replace('/^[\{\[]([^\[\]\{\}]*)[\}\]]/', '', $part); - })->all(); - } - - /** - * Get the index to use for pluralization. - * - * The plural rules are derived from code of the Zend Framework (2010-09-25), which - * is subject to the new BSD license (http://framework.zend.com/license/new-bsd) - * Copyright (c) 2005-2010 - Zend Technologies USA Inc. (http://www.zend.com) - * - * @param string $locale - * @param int $number - * @return int - */ - public function getPluralIndex($locale, $number) - { - switch ($locale) { - case 'az': - case 'az_AZ': - case 'bo': - case 'bo_CN': - case 'bo_IN': - case 'dz': - case 'dz_BT': - case 'id': - case 'id_ID': - case 'ja': - case 'ja_JP': - case 'jv': - case 'ka': - case 'ka_GE': - case 'km': - case 'km_KH': - case 'kn': - case 'kn_IN': - case 'ko': - case 'ko_KR': - case 'ms': - case 'ms_MY': - case 'th': - case 'th_TH': - case 'tr': - case 'tr_CY': - case 'tr_TR': - case 'vi': - case 'vi_VN': - case 'zh': - case 'zh_CN': - case 'zh_HK': - case 'zh_SG': - case 'zh_TW': - return 0; - case 'af': - case 'af_ZA': - case 'bn': - case 'bn_BD': - case 'bn_IN': - case 'bg': - case 'bg_BG': - case 'ca': - case 'ca_AD': - case 'ca_ES': - case 'ca_FR': - case 'ca_IT': - case 'da': - case 'da_DK': - case 'de': - case 'de_AT': - case 'de_BE': - case 'de_CH': - case 'de_DE': - case 'de_LI': - case 'de_LU': - case 'el': - case 'el_CY': - case 'el_GR': - case 'en': - case 'en_AG': - case 'en_AU': - case 'en_BW': - case 'en_CA': - case 'en_DK': - case 'en_GB': - case 'en_HK': - case 'en_IE': - case 'en_IN': - case 'en_NG': - case 'en_NZ': - case 'en_PH': - case 'en_SG': - case 'en_US': - case 'en_ZA': - case 'en_ZM': - case 'en_ZW': - case 'eo': - case 'eo_US': - case 'es': - case 'es_AR': - case 'es_BO': - case 'es_CL': - case 'es_CO': - case 'es_CR': - case 'es_CU': - case 'es_DO': - case 'es_EC': - case 'es_ES': - case 'es_GT': - case 'es_HN': - case 'es_MX': - case 'es_NI': - case 'es_PA': - case 'es_PE': - case 'es_PR': - case 'es_PY': - case 'es_SV': - case 'es_US': - case 'es_UY': - case 'es_VE': - case 'et': - case 'et_EE': - case 'eu': - case 'eu_ES': - case 'eu_FR': - case 'fa': - case 'fa_IR': - case 'fi': - case 'fi_FI': - case 'fo': - case 'fo_FO': - case 'fur': - case 'fur_IT': - case 'fy': - case 'fy_DE': - case 'fy_NL': - case 'gl': - case 'gl_ES': - case 'gu': - case 'gu_IN': - case 'ha': - case 'ha_NG': - case 'he': - case 'he_IL': - case 'hu': - case 'hu_HU': - case 'is': - case 'is_IS': - case 'it': - case 'it_CH': - case 'it_IT': - case 'ku': - case 'ku_TR': - case 'lb': - case 'lb_LU': - case 'ml': - case 'ml_IN': - case 'mn': - case 'mn_MN': - case 'mr': - case 'mr_IN': - case 'nah': - case 'nb': - case 'nb_NO': - case 'ne': - case 'ne_NP': - case 'nl': - case 'nl_AW': - case 'nl_BE': - case 'nl_NL': - case 'nn': - case 'nn_NO': - case 'no': - case 'om': - case 'om_ET': - case 'om_KE': - case 'or': - case 'or_IN': - case 'pa': - case 'pa_IN': - case 'pa_PK': - case 'pap': - case 'pap_AN': - case 'pap_AW': - case 'pap_CW': - case 'ps': - case 'ps_AF': - case 'pt': - case 'pt_BR': - case 'pt_PT': - case 'so': - case 'so_DJ': - case 'so_ET': - case 'so_KE': - case 'so_SO': - case 'sq': - case 'sq_AL': - case 'sq_MK': - case 'sv': - case 'sv_FI': - case 'sv_SE': - case 'sw': - case 'sw_KE': - case 'sw_TZ': - case 'ta': - case 'ta_IN': - case 'ta_LK': - case 'te': - case 'te_IN': - case 'tk': - case 'tk_TM': - case 'ur': - case 'ur_IN': - case 'ur_PK': - case 'zu': - case 'zu_ZA': - return ($number == 1) ? 0 : 1; - case 'am': - case 'am_ET': - case 'bh': - case 'fil': - case 'fil_PH': - case 'fr': - case 'fr_BE': - case 'fr_CA': - case 'fr_CH': - case 'fr_FR': - case 'fr_LU': - case 'gun': - case 'hi': - case 'hi_IN': - case 'hy': - case 'hy_AM': - case 'ln': - case 'ln_CD': - case 'mg': - case 'mg_MG': - case 'nso': - case 'nso_ZA': - case 'ti': - case 'ti_ER': - case 'ti_ET': - case 'wa': - case 'wa_BE': - case 'xbr': - return (($number == 0) || ($number == 1)) ? 0 : 1; - case 'be': - case 'be_BY': - case 'bs': - case 'bs_BA': - case 'hr': - case 'hr_HR': - case 'ru': - case 'ru_RU': - case 'ru_UA': - case 'sr': - case 'sr_ME': - case 'sr_RS': - case 'uk': - case 'uk_UA': - return (($number % 10 == 1) && ($number % 100 != 11)) ? 0 : ((($number % 10 >= 2) && ($number % 10 <= 4) && (($number % 100 < 10) || ($number % 100 >= 20))) ? 1 : 2); - case 'cs': - case 'cs_CZ': - case 'sk': - case 'sk_SK': - return ($number == 1) ? 0 : ((($number >= 2) && ($number <= 4)) ? 1 : 2); - case 'ga': - case 'ga_IE': - return ($number == 1) ? 0 : (($number == 2) ? 1 : 2); - case 'lt': - case 'lt_LT': - return (($number % 10 == 1) && ($number % 100 != 11)) ? 0 : ((($number % 10 >= 2) && (($number % 100 < 10) || ($number % 100 >= 20))) ? 1 : 2); - case 'sl': - case 'sl_SI': - return ($number % 100 == 1) ? 0 : (($number % 100 == 2) ? 1 : ((($number % 100 == 3) || ($number % 100 == 4)) ? 2 : 3)); - case 'mk': - case 'mk_MK': - return ($number % 10 == 1) ? 0 : 1; - case 'mt': - case 'mt_MT': - return ($number == 1) ? 0 : ((($number == 0) || (($number % 100 > 1) && ($number % 100 < 11))) ? 1 : ((($number % 100 > 10) && ($number % 100 < 20)) ? 2 : 3)); - case 'lv': - case 'lv_LV': - return ($number == 0) ? 0 : ((($number % 10 == 1) && ($number % 100 != 11)) ? 1 : 2); - case 'pl': - case 'pl_PL': - return ($number == 1) ? 0 : ((($number % 10 >= 2) && ($number % 10 <= 4) && (($number % 100 < 12) || ($number % 100 > 14))) ? 1 : 2); - case 'cy': - case 'cy_GB': - return ($number == 1) ? 0 : (($number == 2) ? 1 : ((($number == 8) || ($number == 11)) ? 2 : 3)); - case 'ro': - case 'ro_RO': - return ($number == 1) ? 0 : ((($number == 0) || (($number % 100 > 0) && ($number % 100 < 20))) ? 1 : 2); - case 'ar': - case 'ar_AE': - case 'ar_BH': - case 'ar_DZ': - case 'ar_EG': - case 'ar_IN': - case 'ar_IQ': - case 'ar_JO': - case 'ar_KW': - case 'ar_LB': - case 'ar_LY': - case 'ar_MA': - case 'ar_OM': - case 'ar_QA': - case 'ar_SA': - case 'ar_SD': - case 'ar_SS': - case 'ar_SY': - case 'ar_TN': - case 'ar_YE': - return ($number == 0) ? 0 : (($number == 1) ? 1 : (($number == 2) ? 2 : ((($number % 100 >= 3) && ($number % 100 <= 10)) ? 3 : ((($number % 100 >= 11) && ($number % 100 <= 99)) ? 4 : 5)))); - default: - return 0; - } - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Translation/TranslationServiceProvider.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Translation/TranslationServiceProvider.php deleted file mode 100644 index dea13c2..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Translation/TranslationServiceProvider.php +++ /dev/null @@ -1,56 +0,0 @@ -registerLoader(); - - $this->app->singleton('translator', function ($app) { - $loader = $app['translation.loader']; - - // When registering the translator component, we'll need to set the default - // locale as well as the fallback locale. So, we'll grab the application - // configuration so we can easily get both of these values from there. - $locale = $app['config']['app.locale']; - - $trans = new Translator($loader, $locale); - - $trans->setFallback($app['config']['app.fallback_locale']); - - return $trans; - }); - } - - /** - * Register the translation line loader. - * - * @return void - */ - protected function registerLoader() - { - $this->app->singleton('translation.loader', function ($app) { - return new FileLoader($app['files'], $app['path.lang']); - }); - } - - /** - * Get the services provided by the provider. - * - * @return array - */ - public function provides() - { - return ['translator', 'translation.loader']; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Translation/Translator.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Translation/Translator.php deleted file mode 100644 index b059612..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Translation/Translator.php +++ /dev/null @@ -1,490 +0,0 @@ -loader = $loader; - $this->locale = $locale; - } - - /** - * Determine if a translation exists for a given locale. - * - * @param string $key - * @param string|null $locale - * @return bool - */ - public function hasForLocale($key, $locale = null) - { - return $this->has($key, $locale, false); - } - - /** - * Determine if a translation exists. - * - * @param string $key - * @param string|null $locale - * @param bool $fallback - * @return bool - */ - public function has($key, $locale = null, $fallback = true) - { - return $this->get($key, [], $locale, $fallback) !== $key; - } - - /** - * Get the translation for a given key. - * - * @param string $key - * @param array $replace - * @param string|null $locale - * @return string|array - */ - public function trans($key, array $replace = [], $locale = null) - { - return $this->get($key, $replace, $locale); - } - - /** - * Get the translation for the given key. - * - * @param string $key - * @param array $replace - * @param string|null $locale - * @param bool $fallback - * @return string|array - */ - public function get($key, array $replace = [], $locale = null, $fallback = true) - { - [$namespace, $group, $item] = $this->parseKey($key); - - // Here we will get the locale that should be used for the language line. If one - // was not passed, we will use the default locales which was given to us when - // the translator was instantiated. Then, we can load the lines and return. - $locales = $fallback ? $this->localeArray($locale) - : [$locale ?: $this->locale]; - - foreach ($locales as $locale) { - if (! is_null($line = $this->getLine( - $namespace, $group, $locale, $item, $replace - ))) { - break; - } - } - - // If the line doesn't exist, we will return back the key which was requested as - // that will be quick to spot in the UI if language keys are wrong or missing - // from the application's language files. Otherwise we can return the line. - return $line ?? $key; - } - - /** - * Get the translation for a given key from the JSON translation files. - * - * @param string $key - * @param array $replace - * @param string|null $locale - * @return string|array - */ - public function getFromJson($key, array $replace = [], $locale = null) - { - $locale = $locale ?: $this->locale; - - // For JSON translations, there is only one file per locale, so we will simply load - // that file and then we will be ready to check the array for the key. These are - // only one level deep so we do not need to do any fancy searching through it. - $this->load('*', '*', $locale); - - $line = $this->loaded['*']['*'][$locale][$key] ?? null; - - // If we can't find a translation for the JSON key, we will attempt to translate it - // using the typical translation file. This way developers can always just use a - // helper such as __ instead of having to pick between trans or __ with views. - if (! isset($line)) { - $fallback = $this->get($key, $replace, $locale); - - if ($fallback !== $key) { - return $fallback; - } - } - - return $this->makeReplacements($line ?: $key, $replace); - } - - /** - * Get a translation according to an integer value. - * - * @param string $key - * @param int|array|\Countable $number - * @param array $replace - * @param string|null $locale - * @return string - */ - public function transChoice($key, $number, array $replace = [], $locale = null) - { - return $this->choice($key, $number, $replace, $locale); - } - - /** - * Get a translation according to an integer value. - * - * @param string $key - * @param int|array|\Countable $number - * @param array $replace - * @param string|null $locale - * @return string - */ - public function choice($key, $number, array $replace = [], $locale = null) - { - $line = $this->get( - $key, $replace, $locale = $this->localeForChoice($locale) - ); - - // If the given "number" is actually an array or countable we will simply count the - // number of elements in an instance. This allows developers to pass an array of - // items without having to count it on their end first which gives bad syntax. - if (is_array($number) || $number instanceof Countable) { - $number = count($number); - } - - $replace['count'] = $number; - - return $this->makeReplacements( - $this->getSelector()->choose($line, $number, $locale), $replace - ); - } - - /** - * Get the proper locale for a choice operation. - * - * @param string|null $locale - * @return string - */ - protected function localeForChoice($locale) - { - return $locale ?: $this->locale ?: $this->fallback; - } - - /** - * Retrieve a language line out the loaded array. - * - * @param string $namespace - * @param string $group - * @param string $locale - * @param string $item - * @param array $replace - * @return string|array|null - */ - protected function getLine($namespace, $group, $locale, $item, array $replace) - { - $this->load($namespace, $group, $locale); - - $line = Arr::get($this->loaded[$namespace][$group][$locale], $item); - - if (is_string($line)) { - return $this->makeReplacements($line, $replace); - } elseif (is_array($line) && count($line) > 0) { - foreach ($line as $key => $value) { - $line[$key] = $this->makeReplacements($value, $replace); - } - - return $line; - } - } - - /** - * Make the place-holder replacements on a line. - * - * @param string $line - * @param array $replace - * @return string - */ - protected function makeReplacements($line, array $replace) - { - if (empty($replace)) { - return $line; - } - - $replace = $this->sortReplacements($replace); - - foreach ($replace as $key => $value) { - $line = str_replace( - [':'.$key, ':'.Str::upper($key), ':'.Str::ucfirst($key)], - [$value, Str::upper($value), Str::ucfirst($value)], - $line - ); - } - - return $line; - } - - /** - * Sort the replacements array. - * - * @param array $replace - * @return array - */ - protected function sortReplacements(array $replace) - { - return (new Collection($replace))->sortBy(function ($value, $key) { - return mb_strlen($key) * -1; - })->all(); - } - - /** - * Add translation lines to the given locale. - * - * @param array $lines - * @param string $locale - * @param string $namespace - * @return void - */ - public function addLines(array $lines, $locale, $namespace = '*') - { - foreach ($lines as $key => $value) { - [$group, $item] = explode('.', $key, 2); - - Arr::set($this->loaded, "$namespace.$group.$locale.$item", $value); - } - } - - /** - * Load the specified language group. - * - * @param string $namespace - * @param string $group - * @param string $locale - * @return void - */ - public function load($namespace, $group, $locale) - { - if ($this->isLoaded($namespace, $group, $locale)) { - return; - } - - // The loader is responsible for returning the array of language lines for the - // given namespace, group, and locale. We'll set the lines in this array of - // lines that have already been loaded so that we can easily access them. - $lines = $this->loader->load($locale, $group, $namespace); - - $this->loaded[$namespace][$group][$locale] = $lines; - } - - /** - * Determine if the given group has been loaded. - * - * @param string $namespace - * @param string $group - * @param string $locale - * @return bool - */ - protected function isLoaded($namespace, $group, $locale) - { - return isset($this->loaded[$namespace][$group][$locale]); - } - - /** - * Add a new namespace to the loader. - * - * @param string $namespace - * @param string $hint - * @return void - */ - public function addNamespace($namespace, $hint) - { - $this->loader->addNamespace($namespace, $hint); - } - - /** - * Add a new JSON path to the loader. - * - * @param string $path - * @return void - */ - public function addJsonPath($path) - { - $this->loader->addJsonPath($path); - } - - /** - * Parse a key into namespace, group, and item. - * - * @param string $key - * @return array - */ - public function parseKey($key) - { - $segments = parent::parseKey($key); - - if (is_null($segments[0])) { - $segments[0] = '*'; - } - - return $segments; - } - - /** - * Get the array of locales to be checked. - * - * @param string|null $locale - * @return array - */ - protected function localeArray($locale) - { - return array_filter([$locale ?: $this->locale, $this->fallback]); - } - - /** - * Get the message selector instance. - * - * @return \Illuminate\Translation\MessageSelector - */ - public function getSelector() - { - if (! isset($this->selector)) { - $this->selector = new MessageSelector; - } - - return $this->selector; - } - - /** - * Set the message selector instance. - * - * @param \Illuminate\Translation\MessageSelector $selector - * @return void - */ - public function setSelector(MessageSelector $selector) - { - $this->selector = $selector; - } - - /** - * Get the language line loader implementation. - * - * @return \Illuminate\Contracts\Translation\Loader - */ - public function getLoader() - { - return $this->loader; - } - - /** - * Get the default locale being used. - * - * @return string - */ - public function locale() - { - return $this->getLocale(); - } - - /** - * Get the default locale being used. - * - * @return string - */ - public function getLocale() - { - return $this->locale; - } - - /** - * Set the default locale. - * - * @param string $locale - * @return void - */ - public function setLocale($locale) - { - $this->locale = $locale; - } - - /** - * Get the fallback locale being used. - * - * @return string - */ - public function getFallback() - { - return $this->fallback; - } - - /** - * Set the fallback locale being used. - * - * @param string $fallback - * @return void - */ - public function setFallback($fallback) - { - $this->fallback = $fallback; - } - - /** - * Set the loaded translation groups. - * - * @param array $loaded - * @return void - */ - public function setLoaded(array $loaded) - { - $this->loaded = $loaded; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Translation/composer.json b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Translation/composer.json deleted file mode 100644 index 22d4f1d..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Translation/composer.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "name": "illuminate/translation", - "description": "The Illuminate Translation package.", - "license": "MIT", - "homepage": "https://laravel.com", - "support": { - "issues": "https://github.com/laravel/framework/issues", - "source": "https://github.com/laravel/framework" - }, - "authors": [ - { - "name": "Taylor Otwell", - "email": "taylor@laravel.com" - } - ], - "require": { - "php": "^7.1.3", - "ext-json": "*", - "illuminate/contracts": "5.8.*", - "illuminate/filesystem": "5.8.*", - "illuminate/support": "5.8.*" - }, - "autoload": { - "psr-4": { - "Illuminate\\Translation\\": "" - } - }, - "extra": { - "branch-alias": { - "dev-master": "5.8-dev" - } - }, - "config": { - "sort-packages": true - }, - "minimum-stability": "dev" -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Validation/ClosureValidationRule.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Validation/ClosureValidationRule.php deleted file mode 100644 index 8f247fc..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Validation/ClosureValidationRule.php +++ /dev/null @@ -1,70 +0,0 @@ -callback = $callback; - } - - /** - * Determine if the validation rule passes. - * - * @param string $attribute - * @param mixed $value - * @return bool - */ - public function passes($attribute, $value) - { - $this->failed = false; - - $this->callback->__invoke($attribute, $value, function ($message) { - $this->failed = true; - - $this->message = $message; - }); - - return ! $this->failed; - } - - /** - * Get the validation error message. - * - * @return string - */ - public function message() - { - return $this->message; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Validation/Concerns/FilterEmailValidation.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Validation/Concerns/FilterEmailValidation.php deleted file mode 100644 index c76aeee..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Validation/Concerns/FilterEmailValidation.php +++ /dev/null @@ -1,43 +0,0 @@ -getInlineMessage($attribute, $rule); - - // First we will retrieve the custom message for the validation rule if one - // exists. If a custom validation message is being used we'll return the - // custom message, otherwise we'll keep searching for a valid message. - if (! is_null($inlineMessage)) { - return $inlineMessage; - } - - $lowerRule = Str::snake($rule); - - $customMessage = $this->getCustomMessageFromTranslator( - $customKey = "validation.custom.{$attribute}.{$lowerRule}" - ); - - // First we check for a custom defined validation message for the attribute - // and rule. This allows the developer to specify specific messages for - // only some attributes and rules that need to get specially formed. - if ($customMessage !== $customKey) { - return $customMessage; - } - - // If the rule being validated is a "size" rule, we will need to gather the - // specific error message for the type of attribute being validated such - // as a number, file or string which all have different message types. - elseif (in_array($rule, $this->sizeRules)) { - return $this->getSizeMessage($attribute, $rule); - } - - // Finally, if no developer specified messages have been set, and no other - // special messages apply for this rule, we will just pull the default - // messages out of the translator service for this validation rule. - $key = "validation.{$lowerRule}"; - - if ($key != ($value = $this->translator->trans($key))) { - return $value; - } - - return $this->getFromLocalArray( - $attribute, $lowerRule, $this->fallbackMessages - ) ?: $key; - } - - /** - * Get the proper inline error message for standard and size rules. - * - * @param string $attribute - * @param string $rule - * @return string|null - */ - protected function getInlineMessage($attribute, $rule) - { - $inlineEntry = $this->getFromLocalArray($attribute, Str::snake($rule)); - - return is_array($inlineEntry) && in_array($rule, $this->sizeRules) - ? $inlineEntry[$this->getAttributeType($attribute)] - : $inlineEntry; - } - - /** - * Get the inline message for a rule if it exists. - * - * @param string $attribute - * @param string $lowerRule - * @param array|null $source - * @return string|null - */ - protected function getFromLocalArray($attribute, $lowerRule, $source = null) - { - $source = $source ?: $this->customMessages; - - $keys = ["{$attribute}.{$lowerRule}", $lowerRule]; - - // First we will check for a custom message for an attribute specific rule - // message for the fields, then we will check for a general custom line - // that is not attribute specific. If we find either we'll return it. - foreach ($keys as $key) { - foreach (array_keys($source) as $sourceKey) { - if (Str::is($sourceKey, $key)) { - return $source[$sourceKey]; - } - } - } - } - - /** - * Get the custom error message from translator. - * - * @param string $key - * @return string - */ - protected function getCustomMessageFromTranslator($key) - { - if (($message = $this->translator->trans($key)) !== $key) { - return $message; - } - - // If an exact match was not found for the key, we will collapse all of these - // messages and loop through them and try to find a wildcard match for the - // given key. Otherwise, we will simply return the key's value back out. - $shortKey = preg_replace( - '/^validation\.custom\./', '', $key - ); - - return $this->getWildcardCustomMessages(Arr::dot( - (array) $this->translator->trans('validation.custom') - ), $shortKey, $key); - } - - /** - * Check the given messages for a wildcard key. - * - * @param array $messages - * @param string $search - * @param string $default - * @return string - */ - protected function getWildcardCustomMessages($messages, $search, $default) - { - foreach ($messages as $key => $message) { - if ($search === $key || (Str::contains($key, ['*']) && Str::is($key, $search))) { - return $message; - } - } - - return $default; - } - - /** - * Get the proper error message for an attribute and size rule. - * - * @param string $attribute - * @param string $rule - * @return string - */ - protected function getSizeMessage($attribute, $rule) - { - $lowerRule = Str::snake($rule); - - // There are three different types of size validations. The attribute may be - // either a number, file, or string so we will check a few things to know - // which type of value it is and return the correct line for that type. - $type = $this->getAttributeType($attribute); - - $key = "validation.{$lowerRule}.{$type}"; - - return $this->translator->trans($key); - } - - /** - * Get the data type of the given attribute. - * - * @param string $attribute - * @return string - */ - protected function getAttributeType($attribute) - { - // We assume that the attributes present in the file array are files so that - // means that if the attribute does not have a numeric rule and the files - // list doesn't have it we'll just consider it a string by elimination. - if ($this->hasRule($attribute, $this->numericRules)) { - return 'numeric'; - } elseif ($this->hasRule($attribute, ['Array'])) { - return 'array'; - } elseif ($this->getValue($attribute) instanceof UploadedFile) { - return 'file'; - } - - return 'string'; - } - - /** - * Replace all error message place-holders with actual values. - * - * @param string $message - * @param string $attribute - * @param string $rule - * @param array $parameters - * @return string - */ - public function makeReplacements($message, $attribute, $rule, $parameters) - { - $message = $this->replaceAttributePlaceholder( - $message, $this->getDisplayableAttribute($attribute) - ); - - $message = $this->replaceInputPlaceholder($message, $attribute); - - if (isset($this->replacers[Str::snake($rule)])) { - return $this->callReplacer($message, $attribute, Str::snake($rule), $parameters, $this); - } elseif (method_exists($this, $replacer = "replace{$rule}")) { - return $this->$replacer($message, $attribute, $rule, $parameters); - } - - return $message; - } - - /** - * Get the displayable name of the attribute. - * - * @param string $attribute - * @return string - */ - public function getDisplayableAttribute($attribute) - { - $primaryAttribute = $this->getPrimaryAttribute($attribute); - - $expectedAttributes = $attribute != $primaryAttribute - ? [$attribute, $primaryAttribute] : [$attribute]; - - foreach ($expectedAttributes as $name) { - // The developer may dynamically specify the array of custom attributes on this - // validator instance. If the attribute exists in this array it is used over - // the other ways of pulling the attribute name for this given attributes. - if (isset($this->customAttributes[$name])) { - return $this->customAttributes[$name]; - } - - // We allow for a developer to specify language lines for any attribute in this - // application, which allows flexibility for displaying a unique displayable - // version of the attribute name instead of the name used in an HTTP POST. - if ($line = $this->getAttributeFromTranslations($name)) { - return $line; - } - } - - // When no language line has been specified for the attribute and it is also - // an implicit attribute we will display the raw attribute's name and not - // modify it with any of these replacements before we display the name. - if (isset($this->implicitAttributes[$primaryAttribute])) { - return $attribute; - } - - return str_replace('_', ' ', Str::snake($attribute)); - } - - /** - * Get the given attribute from the attribute translations. - * - * @param string $name - * @return string - */ - protected function getAttributeFromTranslations($name) - { - return Arr::get($this->translator->trans('validation.attributes'), $name); - } - - /** - * Replace the :attribute placeholder in the given message. - * - * @param string $message - * @param string $value - * @return string - */ - protected function replaceAttributePlaceholder($message, $value) - { - return str_replace( - [':attribute', ':ATTRIBUTE', ':Attribute'], - [$value, Str::upper($value), Str::ucfirst($value)], - $message - ); - } - - /** - * Replace the :input placeholder in the given message. - * - * @param string $message - * @param string $attribute - * @return string - */ - protected function replaceInputPlaceholder($message, $attribute) - { - $actualValue = $this->getValue($attribute); - - if (is_scalar($actualValue) || is_null($actualValue)) { - $message = str_replace(':input', $actualValue, $message); - } - - return $message; - } - - /** - * Get the displayable name of the value. - * - * @param string $attribute - * @param mixed $value - * @return string - */ - public function getDisplayableValue($attribute, $value) - { - if (isset($this->customValues[$attribute][$value])) { - return $this->customValues[$attribute][$value]; - } - - $key = "validation.values.{$attribute}.{$value}"; - - if (($line = $this->translator->trans($key)) !== $key) { - return $line; - } - - if (is_bool($value)) { - return $value ? 'true' : 'false'; - } - - return $value; - } - - /** - * Transform an array of attributes to their displayable form. - * - * @param array $values - * @return array - */ - protected function getAttributeList(array $values) - { - $attributes = []; - - // For each attribute in the list we will simply get its displayable form as - // this is convenient when replacing lists of parameters like some of the - // replacement functions do when formatting out the validation message. - foreach ($values as $key => $value) { - $attributes[$key] = $this->getDisplayableAttribute($value); - } - - return $attributes; - } - - /** - * Call a custom validator message replacer. - * - * @param string $message - * @param string $attribute - * @param string $rule - * @param array $parameters - * @param \Illuminate\Validation\Validator $validator - * @return string|null - */ - protected function callReplacer($message, $attribute, $rule, $parameters, $validator) - { - $callback = $this->replacers[$rule]; - - if ($callback instanceof Closure) { - return call_user_func_array($callback, func_get_args()); - } elseif (is_string($callback)) { - return $this->callClassBasedReplacer($callback, $message, $attribute, $rule, $parameters, $validator); - } - } - - /** - * Call a class based validator message replacer. - * - * @param string $callback - * @param string $message - * @param string $attribute - * @param string $rule - * @param array $parameters - * @param \Illuminate\Validation\Validator $validator - * @return string - */ - protected function callClassBasedReplacer($callback, $message, $attribute, $rule, $parameters, $validator) - { - [$class, $method] = Str::parseCallback($callback, 'replace'); - - return call_user_func_array([$this->container->make($class), $method], array_slice(func_get_args(), 1)); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Validation/Concerns/ReplacesAttributes.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Validation/Concerns/ReplacesAttributes.php deleted file mode 100644 index fd9c208..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Validation/Concerns/ReplacesAttributes.php +++ /dev/null @@ -1,508 +0,0 @@ -replaceSame($message, $attribute, $rule, $parameters); - } - - /** - * Replace all place-holders for the digits rule. - * - * @param string $message - * @param string $attribute - * @param string $rule - * @param array $parameters - * @return string - */ - protected function replaceDigits($message, $attribute, $rule, $parameters) - { - return str_replace(':digits', $parameters[0], $message); - } - - /** - * Replace all place-holders for the digits (between) rule. - * - * @param string $message - * @param string $attribute - * @param string $rule - * @param array $parameters - * @return string - */ - protected function replaceDigitsBetween($message, $attribute, $rule, $parameters) - { - return $this->replaceBetween($message, $attribute, $rule, $parameters); - } - - /** - * Replace all place-holders for the min rule. - * - * @param string $message - * @param string $attribute - * @param string $rule - * @param array $parameters - * @return string - */ - protected function replaceMin($message, $attribute, $rule, $parameters) - { - return str_replace(':min', $parameters[0], $message); - } - - /** - * Replace all place-holders for the max rule. - * - * @param string $message - * @param string $attribute - * @param string $rule - * @param array $parameters - * @return string - */ - protected function replaceMax($message, $attribute, $rule, $parameters) - { - return str_replace(':max', $parameters[0], $message); - } - - /** - * Replace all place-holders for the in rule. - * - * @param string $message - * @param string $attribute - * @param string $rule - * @param array $parameters - * @return string - */ - protected function replaceIn($message, $attribute, $rule, $parameters) - { - foreach ($parameters as &$parameter) { - $parameter = $this->getDisplayableValue($attribute, $parameter); - } - - return str_replace(':values', implode(', ', $parameters), $message); - } - - /** - * Replace all place-holders for the not_in rule. - * - * @param string $message - * @param string $attribute - * @param string $rule - * @param array $parameters - * @return string - */ - protected function replaceNotIn($message, $attribute, $rule, $parameters) - { - return $this->replaceIn($message, $attribute, $rule, $parameters); - } - - /** - * Replace all place-holders for the in_array rule. - * - * @param string $message - * @param string $attribute - * @param string $rule - * @param array $parameters - * @return string - */ - protected function replaceInArray($message, $attribute, $rule, $parameters) - { - return str_replace(':other', $this->getDisplayableAttribute($parameters[0]), $message); - } - - /** - * Replace all place-holders for the mimetypes rule. - * - * @param string $message - * @param string $attribute - * @param string $rule - * @param array $parameters - * @return string - */ - protected function replaceMimetypes($message, $attribute, $rule, $parameters) - { - return str_replace(':values', implode(', ', $parameters), $message); - } - - /** - * Replace all place-holders for the mimes rule. - * - * @param string $message - * @param string $attribute - * @param string $rule - * @param array $parameters - * @return string - */ - protected function replaceMimes($message, $attribute, $rule, $parameters) - { - return str_replace(':values', implode(', ', $parameters), $message); - } - - /** - * Replace all place-holders for the required_with rule. - * - * @param string $message - * @param string $attribute - * @param string $rule - * @param array $parameters - * @return string - */ - protected function replaceRequiredWith($message, $attribute, $rule, $parameters) - { - return str_replace(':values', implode(' / ', $this->getAttributeList($parameters)), $message); - } - - /** - * Replace all place-holders for the required_with_all rule. - * - * @param string $message - * @param string $attribute - * @param string $rule - * @param array $parameters - * @return string - */ - protected function replaceRequiredWithAll($message, $attribute, $rule, $parameters) - { - return $this->replaceRequiredWith($message, $attribute, $rule, $parameters); - } - - /** - * Replace all place-holders for the required_without rule. - * - * @param string $message - * @param string $attribute - * @param string $rule - * @param array $parameters - * @return string - */ - protected function replaceRequiredWithout($message, $attribute, $rule, $parameters) - { - return $this->replaceRequiredWith($message, $attribute, $rule, $parameters); - } - - /** - * Replace all place-holders for the required_without_all rule. - * - * @param string $message - * @param string $attribute - * @param string $rule - * @param array $parameters - * @return string - */ - protected function replaceRequiredWithoutAll($message, $attribute, $rule, $parameters) - { - return $this->replaceRequiredWith($message, $attribute, $rule, $parameters); - } - - /** - * Replace all place-holders for the size rule. - * - * @param string $message - * @param string $attribute - * @param string $rule - * @param array $parameters - * @return string - */ - protected function replaceSize($message, $attribute, $rule, $parameters) - { - return str_replace(':size', $parameters[0], $message); - } - - /** - * Replace all place-holders for the gt rule. - * - * @param string $message - * @param string $attribute - * @param string $rule - * @param array $parameters - * @return string - */ - protected function replaceGt($message, $attribute, $rule, $parameters) - { - if (is_null($value = $this->getValue($parameters[0]))) { - return str_replace(':value', $this->getDisplayableAttribute($parameters[0]), $message); - } - - return str_replace(':value', $this->getSize($attribute, $value), $message); - } - - /** - * Replace all place-holders for the lt rule. - * - * @param string $message - * @param string $attribute - * @param string $rule - * @param array $parameters - * @return string - */ - protected function replaceLt($message, $attribute, $rule, $parameters) - { - if (is_null($value = $this->getValue($parameters[0]))) { - return str_replace(':value', $this->getDisplayableAttribute($parameters[0]), $message); - } - - return str_replace(':value', $this->getSize($attribute, $value), $message); - } - - /** - * Replace all place-holders for the gte rule. - * - * @param string $message - * @param string $attribute - * @param string $rule - * @param array $parameters - * @return string - */ - protected function replaceGte($message, $attribute, $rule, $parameters) - { - if (is_null($value = $this->getValue($parameters[0]))) { - return str_replace(':value', $this->getDisplayableAttribute($parameters[0]), $message); - } - - return str_replace(':value', $this->getSize($attribute, $value), $message); - } - - /** - * Replace all place-holders for the lte rule. - * - * @param string $message - * @param string $attribute - * @param string $rule - * @param array $parameters - * @return string - */ - protected function replaceLte($message, $attribute, $rule, $parameters) - { - if (is_null($value = $this->getValue($parameters[0]))) { - return str_replace(':value', $this->getDisplayableAttribute($parameters[0]), $message); - } - - return str_replace(':value', $this->getSize($attribute, $value), $message); - } - - /** - * Replace all place-holders for the required_if rule. - * - * @param string $message - * @param string $attribute - * @param string $rule - * @param array $parameters - * @return string - */ - protected function replaceRequiredIf($message, $attribute, $rule, $parameters) - { - $parameters[1] = $this->getDisplayableValue($parameters[0], Arr::get($this->data, $parameters[0])); - - $parameters[0] = $this->getDisplayableAttribute($parameters[0]); - - return str_replace([':other', ':value'], $parameters, $message); - } - - /** - * Replace all place-holders for the required_unless rule. - * - * @param string $message - * @param string $attribute - * @param string $rule - * @param array $parameters - * @return string - */ - protected function replaceRequiredUnless($message, $attribute, $rule, $parameters) - { - $other = $this->getDisplayableAttribute($parameters[0]); - - $values = []; - - foreach (array_slice($parameters, 1) as $value) { - $values[] = $this->getDisplayableValue($parameters[0], $value); - } - - return str_replace([':other', ':values'], [$other, implode(', ', $values)], $message); - } - - /** - * Replace all place-holders for the same rule. - * - * @param string $message - * @param string $attribute - * @param string $rule - * @param array $parameters - * @return string - */ - protected function replaceSame($message, $attribute, $rule, $parameters) - { - return str_replace(':other', $this->getDisplayableAttribute($parameters[0]), $message); - } - - /** - * Replace all place-holders for the before rule. - * - * @param string $message - * @param string $attribute - * @param string $rule - * @param array $parameters - * @return string - */ - protected function replaceBefore($message, $attribute, $rule, $parameters) - { - if (! strtotime($parameters[0])) { - return str_replace(':date', $this->getDisplayableAttribute($parameters[0]), $message); - } - - return str_replace(':date', $this->getDisplayableValue($attribute, $parameters[0]), $message); - } - - /** - * Replace all place-holders for the before_or_equal rule. - * - * @param string $message - * @param string $attribute - * @param string $rule - * @param array $parameters - * @return string - */ - protected function replaceBeforeOrEqual($message, $attribute, $rule, $parameters) - { - return $this->replaceBefore($message, $attribute, $rule, $parameters); - } - - /** - * Replace all place-holders for the after rule. - * - * @param string $message - * @param string $attribute - * @param string $rule - * @param array $parameters - * @return string - */ - protected function replaceAfter($message, $attribute, $rule, $parameters) - { - return $this->replaceBefore($message, $attribute, $rule, $parameters); - } - - /** - * Replace all place-holders for the after_or_equal rule. - * - * @param string $message - * @param string $attribute - * @param string $rule - * @param array $parameters - * @return string - */ - protected function replaceAfterOrEqual($message, $attribute, $rule, $parameters) - { - return $this->replaceBefore($message, $attribute, $rule, $parameters); - } - - /** - * Replace all place-holders for the date_equals rule. - * - * @param string $message - * @param string $attribute - * @param string $rule - * @param array $parameters - * @return string - */ - protected function replaceDateEquals($message, $attribute, $rule, $parameters) - { - return $this->replaceBefore($message, $attribute, $rule, $parameters); - } - - /** - * Replace all place-holders for the dimensions rule. - * - * @param string $message - * @param string $attribute - * @param string $rule - * @param array $parameters - * @return string - */ - protected function replaceDimensions($message, $attribute, $rule, $parameters) - { - $parameters = $this->parseNamedParameters($parameters); - - if (is_array($parameters)) { - foreach ($parameters as $key => $value) { - $message = str_replace(':'.$key, $value, $message); - } - } - - return $message; - } - - /** - * Replace all place-holders for the ends_with rule. - * - * @param string $message - * @param string $attribute - * @param string $rule - * @param array $parameters - * @return string - */ - protected function replaceEndsWith($message, $attribute, $rule, $parameters) - { - foreach ($parameters as &$parameter) { - $parameter = $this->getDisplayableValue($attribute, $parameter); - } - - return str_replace(':values', implode(', ', $parameters), $message); - } - - /** - * Replace all place-holders for the starts_with rule. - * - * @param string $message - * @param string $attribute - * @param string $rule - * @param array $parameters - * @return string - */ - protected function replaceStartsWith($message, $attribute, $rule, $parameters) - { - foreach ($parameters as &$parameter) { - $parameter = $this->getDisplayableValue($attribute, $parameter); - } - - return str_replace(':values', implode(', ', $parameters), $message); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Validation/Concerns/ValidatesAttributes.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Validation/Concerns/ValidatesAttributes.php deleted file mode 100644 index e2a04c9..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Validation/Concerns/ValidatesAttributes.php +++ /dev/null @@ -1,1793 +0,0 @@ -validateRequired($attribute, $value) && in_array($value, $acceptable, true); - } - - /** - * Validate that an attribute is an active URL. - * - * @param string $attribute - * @param mixed $value - * @return bool - */ - public function validateActiveUrl($attribute, $value) - { - if (! is_string($value)) { - return false; - } - - if ($url = parse_url($value, PHP_URL_HOST)) { - try { - return count(dns_get_record($url, DNS_A | DNS_AAAA)) > 0; - } catch (Exception $e) { - return false; - } - } - - return false; - } - - /** - * "Break" on first validation fail. - * - * Always returns true, just lets us put "bail" in rules. - * - * @return bool - */ - public function validateBail() - { - return true; - } - - /** - * Validate the date is before a given date. - * - * @param string $attribute - * @param mixed $value - * @param array $parameters - * @return bool - */ - public function validateBefore($attribute, $value, $parameters) - { - $this->requireParameterCount(1, $parameters, 'before'); - - return $this->compareDates($attribute, $value, $parameters, '<'); - } - - /** - * Validate the date is before or equal a given date. - * - * @param string $attribute - * @param mixed $value - * @param array $parameters - * @return bool - */ - public function validateBeforeOrEqual($attribute, $value, $parameters) - { - $this->requireParameterCount(1, $parameters, 'before_or_equal'); - - return $this->compareDates($attribute, $value, $parameters, '<='); - } - - /** - * Validate the date is after a given date. - * - * @param string $attribute - * @param mixed $value - * @param array $parameters - * @return bool - */ - public function validateAfter($attribute, $value, $parameters) - { - $this->requireParameterCount(1, $parameters, 'after'); - - return $this->compareDates($attribute, $value, $parameters, '>'); - } - - /** - * Validate the date is equal or after a given date. - * - * @param string $attribute - * @param mixed $value - * @param array $parameters - * @return bool - */ - public function validateAfterOrEqual($attribute, $value, $parameters) - { - $this->requireParameterCount(1, $parameters, 'after_or_equal'); - - return $this->compareDates($attribute, $value, $parameters, '>='); - } - - /** - * Compare a given date against another using an operator. - * - * @param string $attribute - * @param mixed $value - * @param array $parameters - * @param string $operator - * @return bool - */ - protected function compareDates($attribute, $value, $parameters, $operator) - { - if (! is_string($value) && ! is_numeric($value) && ! $value instanceof DateTimeInterface) { - return false; - } - - if ($format = $this->getDateFormat($attribute)) { - return $this->checkDateTimeOrder($format, $value, $parameters[0], $operator); - } - - if (! $date = $this->getDateTimestamp($parameters[0])) { - $date = $this->getDateTimestamp($this->getValue($parameters[0])); - } - - return $this->compare($this->getDateTimestamp($value), $date, $operator); - } - - /** - * Get the date format for an attribute if it has one. - * - * @param string $attribute - * @return string|null - */ - protected function getDateFormat($attribute) - { - if ($result = $this->getRule($attribute, 'DateFormat')) { - return $result[1][0]; - } - } - - /** - * Get the date timestamp. - * - * @param mixed $value - * @return int - */ - protected function getDateTimestamp($value) - { - if ($value instanceof DateTimeInterface) { - return $value->getTimestamp(); - } - - if ($this->isTestingRelativeDateTime($value)) { - $date = $this->getDateTime($value); - - if (! is_null($date)) { - return $date->getTimestamp(); - } - } - - return strtotime($value); - } - - /** - * Given two date/time strings, check that one is after the other. - * - * @param string $format - * @param string $first - * @param string $second - * @param string $operator - * @return bool - */ - protected function checkDateTimeOrder($format, $first, $second, $operator) - { - $firstDate = $this->getDateTimeWithOptionalFormat($format, $first); - - if (! $secondDate = $this->getDateTimeWithOptionalFormat($format, $second)) { - $secondDate = $this->getDateTimeWithOptionalFormat($format, $this->getValue($second)); - } - - return ($firstDate && $secondDate) && ($this->compare($firstDate, $secondDate, $operator)); - } - - /** - * Get a DateTime instance from a string. - * - * @param string $format - * @param string $value - * @return \DateTime|null - */ - protected function getDateTimeWithOptionalFormat($format, $value) - { - if ($date = DateTime::createFromFormat('!'.$format, $value)) { - return $date; - } - - return $this->getDateTime($value); - } - - /** - * Get a DateTime instance from a string with no format. - * - * @param string $value - * @return \DateTime|null - */ - protected function getDateTime($value) - { - try { - if ($this->isTestingRelativeDateTime($value)) { - return Date::parse($value); - } - - return date_create($value) ?: null; - } catch (Exception $e) { - // - } - } - - /** - * Check if the given value should be adjusted to Carbon::getTestNow(). - * - * @param mixed $value - * @return bool - */ - protected function isTestingRelativeDateTime($value) - { - return Carbon::hasTestNow() && is_string($value) && ( - $value === 'now' || Carbon::hasRelativeKeywords($value) - ); - } - - /** - * Validate that an attribute contains only alphabetic characters. - * - * @param string $attribute - * @param mixed $value - * @return bool - */ - public function validateAlpha($attribute, $value) - { - return is_string($value) && preg_match('/^[\pL\pM]+$/u', $value); - } - - /** - * Validate that an attribute contains only alpha-numeric characters, dashes, and underscores. - * - * @param string $attribute - * @param mixed $value - * @return bool - */ - public function validateAlphaDash($attribute, $value) - { - if (! is_string($value) && ! is_numeric($value)) { - return false; - } - - return preg_match('/^[\pL\pM\pN_-]+$/u', $value) > 0; - } - - /** - * Validate that an attribute contains only alpha-numeric characters. - * - * @param string $attribute - * @param mixed $value - * @return bool - */ - public function validateAlphaNum($attribute, $value) - { - if (! is_string($value) && ! is_numeric($value)) { - return false; - } - - return preg_match('/^[\pL\pM\pN]+$/u', $value) > 0; - } - - /** - * Validate that an attribute is an array. - * - * @param string $attribute - * @param mixed $value - * @return bool - */ - public function validateArray($attribute, $value) - { - return is_array($value); - } - - /** - * Validate the size of an attribute is between a set of values. - * - * @param string $attribute - * @param mixed $value - * @param array $parameters - * @return bool - */ - public function validateBetween($attribute, $value, $parameters) - { - $this->requireParameterCount(2, $parameters, 'between'); - - $size = $this->getSize($attribute, $value); - - return $size >= $parameters[0] && $size <= $parameters[1]; - } - - /** - * Validate that an attribute is a boolean. - * - * @param string $attribute - * @param mixed $value - * @return bool - */ - public function validateBoolean($attribute, $value) - { - $acceptable = [true, false, 0, 1, '0', '1']; - - return in_array($value, $acceptable, true); - } - - /** - * Validate that an attribute has a matching confirmation. - * - * @param string $attribute - * @param mixed $value - * @return bool - */ - public function validateConfirmed($attribute, $value) - { - return $this->validateSame($attribute, $value, [$attribute.'_confirmation']); - } - - /** - * Validate that an attribute is a valid date. - * - * @param string $attribute - * @param mixed $value - * @return bool - */ - public function validateDate($attribute, $value) - { - if ($value instanceof DateTimeInterface) { - return true; - } - - if ((! is_string($value) && ! is_numeric($value)) || strtotime($value) === false) { - return false; - } - - $date = date_parse($value); - - return checkdate($date['month'], $date['day'], $date['year']); - } - - /** - * Validate that an attribute matches a date format. - * - * @param string $attribute - * @param mixed $value - * @param array $parameters - * @return bool - */ - public function validateDateFormat($attribute, $value, $parameters) - { - $this->requireParameterCount(1, $parameters, 'date_format'); - - if (! is_string($value) && ! is_numeric($value)) { - return false; - } - - $format = $parameters[0]; - - $date = DateTime::createFromFormat('!'.$format, $value); - - return $date && $date->format($format) == $value; - } - - /** - * Validate that an attribute is equal to another date. - * - * @param string $attribute - * @param mixed $value - * @param array $parameters - * @return bool - */ - public function validateDateEquals($attribute, $value, $parameters) - { - $this->requireParameterCount(1, $parameters, 'date_equals'); - - return $this->compareDates($attribute, $value, $parameters, '='); - } - - /** - * Validate that an attribute is different from another attribute. - * - * @param string $attribute - * @param mixed $value - * @param array $parameters - * @return bool - */ - public function validateDifferent($attribute, $value, $parameters) - { - $this->requireParameterCount(1, $parameters, 'different'); - - foreach ($parameters as $parameter) { - if (! Arr::has($this->data, $parameter)) { - return false; - } - - $other = Arr::get($this->data, $parameter); - - if ($value === $other) { - return false; - } - } - - return true; - } - - /** - * Validate that an attribute has a given number of digits. - * - * @param string $attribute - * @param mixed $value - * @param array $parameters - * @return bool - */ - public function validateDigits($attribute, $value, $parameters) - { - $this->requireParameterCount(1, $parameters, 'digits'); - - return ! preg_match('/[^0-9]/', $value) - && strlen((string) $value) == $parameters[0]; - } - - /** - * Validate that an attribute is between a given number of digits. - * - * @param string $attribute - * @param mixed $value - * @param array $parameters - * @return bool - */ - public function validateDigitsBetween($attribute, $value, $parameters) - { - $this->requireParameterCount(2, $parameters, 'digits_between'); - - $length = strlen((string) $value); - - return ! preg_match('/[^0-9]/', $value) - && $length >= $parameters[0] && $length <= $parameters[1]; - } - - /** - * Validate the dimensions of an image matches the given values. - * - * @param string $attribute - * @param mixed $value - * @param array $parameters - * @return bool - */ - public function validateDimensions($attribute, $value, $parameters) - { - if ($this->isValidFileInstance($value) && $value->getClientMimeType() === 'image/svg+xml') { - return true; - } - - if (! $this->isValidFileInstance($value) || ! $sizeDetails = @getimagesize($value->getRealPath())) { - return false; - } - - $this->requireParameterCount(1, $parameters, 'dimensions'); - - [$width, $height] = $sizeDetails; - - $parameters = $this->parseNamedParameters($parameters); - - if ($this->failsBasicDimensionChecks($parameters, $width, $height) || - $this->failsRatioCheck($parameters, $width, $height)) { - return false; - } - - return true; - } - - /** - * Test if the given width and height fail any conditions. - * - * @param array $parameters - * @param int $width - * @param int $height - * @return bool - */ - protected function failsBasicDimensionChecks($parameters, $width, $height) - { - return (isset($parameters['width']) && $parameters['width'] != $width) || - (isset($parameters['min_width']) && $parameters['min_width'] > $width) || - (isset($parameters['max_width']) && $parameters['max_width'] < $width) || - (isset($parameters['height']) && $parameters['height'] != $height) || - (isset($parameters['min_height']) && $parameters['min_height'] > $height) || - (isset($parameters['max_height']) && $parameters['max_height'] < $height); - } - - /** - * Determine if the given parameters fail a dimension ratio check. - * - * @param array $parameters - * @param int $width - * @param int $height - * @return bool - */ - protected function failsRatioCheck($parameters, $width, $height) - { - if (! isset($parameters['ratio'])) { - return false; - } - - [$numerator, $denominator] = array_replace( - [1, 1], array_filter(sscanf($parameters['ratio'], '%f/%d')) - ); - - $precision = 1 / max($width, $height); - - return abs($numerator / $denominator - $width / $height) > $precision; - } - - /** - * Validate an attribute is unique among other values. - * - * @param string $attribute - * @param mixed $value - * @param array $parameters - * @return bool - */ - public function validateDistinct($attribute, $value, $parameters) - { - $data = Arr::except($this->getDistinctValues($attribute), $attribute); - - if (in_array('ignore_case', $parameters)) { - return empty(preg_grep('/^'.preg_quote($value, '/').'$/iu', $data)); - } - - return ! in_array($value, array_values($data)); - } - - /** - * Get the values to distinct between. - * - * @param string $attribute - * @return array - */ - protected function getDistinctValues($attribute) - { - $attributeName = $this->getPrimaryAttribute($attribute); - - if (! property_exists($this, 'distinctValues')) { - return $this->extractDistinctValues($attributeName); - } - - if (! array_key_exists($attributeName, $this->distinctValues)) { - $this->distinctValues[$attributeName] = $this->extractDistinctValues($attributeName); - } - - return $this->distinctValues[$attributeName]; - } - - /** - * Extract the distinct values from the data. - * - * @param string $attribute - * @return array - */ - protected function extractDistinctValues($attribute) - { - $attributeData = ValidationData::extractDataFromPath( - ValidationData::getLeadingExplicitAttributePath($attribute), $this->data - ); - - $pattern = str_replace('\*', '[^.]+', preg_quote($attribute, '#')); - - return Arr::where(Arr::dot($attributeData), function ($value, $key) use ($pattern) { - return (bool) preg_match('#^'.$pattern.'\z#u', $key); - }); - } - - /** - * Validate that an attribute is a valid e-mail address. - * - * @param string $attribute - * @param mixed $value - * @param array $parameters - * @return bool - */ - public function validateEmail($attribute, $value, $parameters) - { - if (! is_string($value) && ! (is_object($value) && method_exists($value, '__toString'))) { - return false; - } - - $validations = collect($parameters) - ->unique() - ->map(function ($validation) { - if ($validation === 'rfc') { - return new RFCValidation(); - } elseif ($validation === 'strict') { - return new NoRFCWarningsValidation(); - } elseif ($validation === 'dns') { - return new DNSCheckValidation(); - } elseif ($validation === 'spoof') { - return new SpoofCheckValidation(); - } elseif ($validation === 'filter') { - return new FilterEmailValidation(); - } - }) - ->values() - ->all() ?: [new RFCValidation()]; - - return (new EmailValidator)->isValid($value, new MultipleValidationWithAnd($validations)); - } - - /** - * Validate the existence of an attribute value in a database table. - * - * @param string $attribute - * @param mixed $value - * @param array $parameters - * @return bool - */ - public function validateExists($attribute, $value, $parameters) - { - $this->requireParameterCount(1, $parameters, 'exists'); - - [$connection, $table] = $this->parseTable($parameters[0]); - - // The second parameter position holds the name of the column that should be - // verified as existing. If this parameter is not specified we will guess - // that the columns being "verified" shares the given attribute's name. - $column = $this->getQueryColumn($parameters, $attribute); - - $expected = is_array($value) ? count(array_unique($value)) : 1; - - return $this->getExistCount( - $connection, $table, $column, $value, $parameters - ) >= $expected; - } - - /** - * Get the number of records that exist in storage. - * - * @param mixed $connection - * @param string $table - * @param string $column - * @param mixed $value - * @param array $parameters - * @return int - */ - protected function getExistCount($connection, $table, $column, $value, $parameters) - { - $verifier = $this->getPresenceVerifierFor($connection); - - $extra = $this->getExtraConditions( - array_values(array_slice($parameters, 2)) - ); - - if ($this->currentRule instanceof Exists) { - $extra = array_merge($extra, $this->currentRule->queryCallbacks()); - } - - return is_array($value) - ? $verifier->getMultiCount($table, $column, $value, $extra) - : $verifier->getCount($table, $column, $value, null, null, $extra); - } - - /** - * Validate the uniqueness of an attribute value on a given database table. - * - * If a database column is not specified, the attribute will be used. - * - * @param string $attribute - * @param mixed $value - * @param array $parameters - * @return bool - */ - public function validateUnique($attribute, $value, $parameters) - { - $this->requireParameterCount(1, $parameters, 'unique'); - - [$connection, $table] = $this->parseTable($parameters[0]); - - // The second parameter position holds the name of the column that needs to - // be verified as unique. If this parameter isn't specified we will just - // assume that this column to be verified shares the attribute's name. - $column = $this->getQueryColumn($parameters, $attribute); - - [$idColumn, $id] = [null, null]; - - if (isset($parameters[2])) { - [$idColumn, $id] = $this->getUniqueIds($parameters); - - if (! is_null($id)) { - $id = stripslashes($id); - } - } - - // The presence verifier is responsible for counting rows within this store - // mechanism which might be a relational database or any other permanent - // data store like Redis, etc. We will use it to determine uniqueness. - $verifier = $this->getPresenceVerifierFor($connection); - - $extra = $this->getUniqueExtra($parameters); - - if ($this->currentRule instanceof Unique) { - $extra = array_merge($extra, $this->currentRule->queryCallbacks()); - } - - return $verifier->getCount( - $table, $column, $value, $id, $idColumn, $extra - ) == 0; - } - - /** - * Get the excluded ID column and value for the unique rule. - * - * @param array $parameters - * @return array - */ - protected function getUniqueIds($parameters) - { - $idColumn = $parameters[3] ?? 'id'; - - return [$idColumn, $this->prepareUniqueId($parameters[2])]; - } - - /** - * Prepare the given ID for querying. - * - * @param mixed $id - * @return int - */ - protected function prepareUniqueId($id) - { - if (preg_match('/\[(.*)\]/', $id, $matches)) { - $id = $this->getValue($matches[1]); - } - - if (strtolower($id) === 'null') { - $id = null; - } - - if (filter_var($id, FILTER_VALIDATE_INT) !== false) { - $id = (int) $id; - } - - return $id; - } - - /** - * Get the extra conditions for a unique rule. - * - * @param array $parameters - * @return array - */ - protected function getUniqueExtra($parameters) - { - if (isset($parameters[4])) { - return $this->getExtraConditions(array_slice($parameters, 4)); - } - - return []; - } - - /** - * Parse the connection / table for the unique / exists rules. - * - * @param string $table - * @return array - */ - public function parseTable($table) - { - return Str::contains($table, '.') ? explode('.', $table, 2) : [null, $table]; - } - - /** - * Get the column name for an exists / unique query. - * - * @param array $parameters - * @param string $attribute - * @return bool - */ - public function getQueryColumn($parameters, $attribute) - { - return isset($parameters[1]) && $parameters[1] !== 'NULL' - ? $parameters[1] : $this->guessColumnForQuery($attribute); - } - - /** - * Guess the database column from the given attribute name. - * - * @param string $attribute - * @return string - */ - public function guessColumnForQuery($attribute) - { - if (in_array($attribute, Arr::collapse($this->implicitAttributes)) - && ! is_numeric($last = last(explode('.', $attribute)))) { - return $last; - } - - return $attribute; - } - - /** - * Get the extra conditions for a unique / exists rule. - * - * @param array $segments - * @return array - */ - protected function getExtraConditions(array $segments) - { - $extra = []; - - $count = count($segments); - - for ($i = 0; $i < $count; $i += 2) { - $extra[$segments[$i]] = $segments[$i + 1]; - } - - return $extra; - } - - /** - * Validate the given value is a valid file. - * - * @param string $attribute - * @param mixed $value - * @return bool - */ - public function validateFile($attribute, $value) - { - return $this->isValidFileInstance($value); - } - - /** - * Validate the given attribute is filled if it is present. - * - * @param string $attribute - * @param mixed $value - * @return bool - */ - public function validateFilled($attribute, $value) - { - if (Arr::has($this->data, $attribute)) { - return $this->validateRequired($attribute, $value); - } - - return true; - } - - /** - * Validate that an attribute is greater than another attribute. - * - * @param string $attribute - * @param mixed $value - * @param array $parameters - * @return bool - */ - public function validateGt($attribute, $value, $parameters) - { - $this->requireParameterCount(1, $parameters, 'gt'); - - $comparedToValue = $this->getValue($parameters[0]); - - $this->shouldBeNumeric($attribute, 'Gt'); - - if (is_null($comparedToValue) && (is_numeric($value) && is_numeric($parameters[0]))) { - return $this->getSize($attribute, $value) > $parameters[0]; - } - - if (! $this->isSameType($value, $comparedToValue)) { - return false; - } - - return $this->getSize($attribute, $value) > $this->getSize($attribute, $comparedToValue); - } - - /** - * Validate that an attribute is less than another attribute. - * - * @param string $attribute - * @param mixed $value - * @param array $parameters - * @return bool - */ - public function validateLt($attribute, $value, $parameters) - { - $this->requireParameterCount(1, $parameters, 'lt'); - - $comparedToValue = $this->getValue($parameters[0]); - - $this->shouldBeNumeric($attribute, 'Lt'); - - if (is_null($comparedToValue) && (is_numeric($value) && is_numeric($parameters[0]))) { - return $this->getSize($attribute, $value) < $parameters[0]; - } - - if (! $this->isSameType($value, $comparedToValue)) { - return false; - } - - return $this->getSize($attribute, $value) < $this->getSize($attribute, $comparedToValue); - } - - /** - * Validate that an attribute is greater than or equal another attribute. - * - * @param string $attribute - * @param mixed $value - * @param array $parameters - * @return bool - */ - public function validateGte($attribute, $value, $parameters) - { - $this->requireParameterCount(1, $parameters, 'gte'); - - $comparedToValue = $this->getValue($parameters[0]); - - $this->shouldBeNumeric($attribute, 'Gte'); - - if (is_null($comparedToValue) && (is_numeric($value) && is_numeric($parameters[0]))) { - return $this->getSize($attribute, $value) >= $parameters[0]; - } - - if (! $this->isSameType($value, $comparedToValue)) { - return false; - } - - return $this->getSize($attribute, $value) >= $this->getSize($attribute, $comparedToValue); - } - - /** - * Validate that an attribute is less than or equal another attribute. - * - * @param string $attribute - * @param mixed $value - * @param array $parameters - * @return bool - */ - public function validateLte($attribute, $value, $parameters) - { - $this->requireParameterCount(1, $parameters, 'lte'); - - $comparedToValue = $this->getValue($parameters[0]); - - $this->shouldBeNumeric($attribute, 'Lte'); - - if (is_null($comparedToValue) && (is_numeric($value) && is_numeric($parameters[0]))) { - return $this->getSize($attribute, $value) <= $parameters[0]; - } - - if (! $this->isSameType($value, $comparedToValue)) { - return false; - } - - return $this->getSize($attribute, $value) <= $this->getSize($attribute, $comparedToValue); - } - - /** - * Validate the MIME type of a file is an image MIME type. - * - * @param string $attribute - * @param mixed $value - * @return bool - */ - public function validateImage($attribute, $value) - { - return $this->validateMimes($attribute, $value, ['jpeg', 'png', 'gif', 'bmp', 'svg', 'webp']); - } - - /** - * Validate an attribute is contained within a list of values. - * - * @param string $attribute - * @param mixed $value - * @param array $parameters - * @return bool - */ - public function validateIn($attribute, $value, $parameters) - { - if (is_array($value) && $this->hasRule($attribute, 'Array')) { - foreach ($value as $element) { - if (is_array($element)) { - return false; - } - } - - return count(array_diff($value, $parameters)) === 0; - } - - return ! is_array($value) && in_array((string) $value, $parameters); - } - - /** - * Validate that the values of an attribute is in another attribute. - * - * @param string $attribute - * @param mixed $value - * @param array $parameters - * @return bool - */ - public function validateInArray($attribute, $value, $parameters) - { - $this->requireParameterCount(1, $parameters, 'in_array'); - - $explicitPath = ValidationData::getLeadingExplicitAttributePath($parameters[0]); - - $attributeData = ValidationData::extractDataFromPath($explicitPath, $this->data); - - $otherValues = Arr::where(Arr::dot($attributeData), function ($value, $key) use ($parameters) { - return Str::is($parameters[0], $key); - }); - - return in_array($value, $otherValues); - } - - /** - * Validate that an attribute is an integer. - * - * @param string $attribute - * @param mixed $value - * @return bool - */ - public function validateInteger($attribute, $value) - { - return filter_var($value, FILTER_VALIDATE_INT) !== false; - } - - /** - * Validate that an attribute is a valid IP. - * - * @param string $attribute - * @param mixed $value - * @return bool - */ - public function validateIp($attribute, $value) - { - return filter_var($value, FILTER_VALIDATE_IP) !== false; - } - - /** - * Validate that an attribute is a valid IPv4. - * - * @param string $attribute - * @param mixed $value - * @return bool - */ - public function validateIpv4($attribute, $value) - { - return filter_var($value, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4) !== false; - } - - /** - * Validate that an attribute is a valid IPv6. - * - * @param string $attribute - * @param mixed $value - * @return bool - */ - public function validateIpv6($attribute, $value) - { - return filter_var($value, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6) !== false; - } - - /** - * Validate the attribute is a valid JSON string. - * - * @param string $attribute - * @param mixed $value - * @return bool - */ - public function validateJson($attribute, $value) - { - if (! is_scalar($value) && ! method_exists($value, '__toString')) { - return false; - } - - json_decode($value); - - return json_last_error() === JSON_ERROR_NONE; - } - - /** - * Validate the size of an attribute is less than a maximum value. - * - * @param string $attribute - * @param mixed $value - * @param array $parameters - * @return bool - */ - public function validateMax($attribute, $value, $parameters) - { - $this->requireParameterCount(1, $parameters, 'max'); - - if ($value instanceof UploadedFile && ! $value->isValid()) { - return false; - } - - return $this->getSize($attribute, $value) <= $parameters[0]; - } - - /** - * Validate the guessed extension of a file upload is in a set of file extensions. - * - * @param string $attribute - * @param mixed $value - * @param array $parameters - * @return bool - */ - public function validateMimes($attribute, $value, $parameters) - { - if (! $this->isValidFileInstance($value)) { - return false; - } - - if ($this->shouldBlockPhpUpload($value, $parameters)) { - return false; - } - - return $value->getPath() !== '' && in_array($value->guessExtension(), $parameters); - } - - /** - * Validate the MIME type of a file upload attribute is in a set of MIME types. - * - * @param string $attribute - * @param mixed $value - * @param array $parameters - * @return bool - */ - public function validateMimetypes($attribute, $value, $parameters) - { - if (! $this->isValidFileInstance($value)) { - return false; - } - - if ($this->shouldBlockPhpUpload($value, $parameters)) { - return false; - } - - return $value->getPath() !== '' && - (in_array($value->getMimeType(), $parameters) || - in_array(explode('/', $value->getMimeType())[0].'/*', $parameters)); - } - - /** - * Check if PHP uploads are explicitly allowed. - * - * @param mixed $value - * @param array $parameters - * @return bool - */ - protected function shouldBlockPhpUpload($value, $parameters) - { - if (in_array('php', $parameters)) { - return false; - } - - $phpExtensions = [ - 'php', 'php3', 'php4', 'php5', 'phtml', - ]; - - return ($value instanceof UploadedFile) - ? in_array(trim(strtolower($value->getClientOriginalExtension())), $phpExtensions) - : in_array(trim(strtolower($value->getExtension())), $phpExtensions); - } - - /** - * Validate the size of an attribute is greater than a minimum value. - * - * @param string $attribute - * @param mixed $value - * @param array $parameters - * @return bool - */ - public function validateMin($attribute, $value, $parameters) - { - $this->requireParameterCount(1, $parameters, 'min'); - - return $this->getSize($attribute, $value) >= $parameters[0]; - } - - /** - * "Indicate" validation should pass if value is null. - * - * Always returns true, just lets us put "nullable" in rules. - * - * @return bool - */ - public function validateNullable() - { - return true; - } - - /** - * Validate an attribute is not contained within a list of values. - * - * @param string $attribute - * @param mixed $value - * @param array $parameters - * @return bool - */ - public function validateNotIn($attribute, $value, $parameters) - { - return ! $this->validateIn($attribute, $value, $parameters); - } - - /** - * Validate that an attribute is numeric. - * - * @param string $attribute - * @param mixed $value - * @return bool - */ - public function validateNumeric($attribute, $value) - { - return is_numeric($value); - } - - /** - * Validate that an attribute exists even if not filled. - * - * @param string $attribute - * @param mixed $value - * @return bool - */ - public function validatePresent($attribute, $value) - { - return Arr::has($this->data, $attribute); - } - - /** - * Validate that an attribute passes a regular expression check. - * - * @param string $attribute - * @param mixed $value - * @param array $parameters - * @return bool - */ - public function validateRegex($attribute, $value, $parameters) - { - if (! is_string($value) && ! is_numeric($value)) { - return false; - } - - $this->requireParameterCount(1, $parameters, 'regex'); - - return preg_match($parameters[0], $value) > 0; - } - - /** - * Validate that an attribute does not pass a regular expression check. - * - * @param string $attribute - * @param mixed $value - * @param array $parameters - * @return bool - */ - public function validateNotRegex($attribute, $value, $parameters) - { - if (! is_string($value) && ! is_numeric($value)) { - return false; - } - - $this->requireParameterCount(1, $parameters, 'not_regex'); - - return preg_match($parameters[0], $value) < 1; - } - - /** - * Validate that a required attribute exists. - * - * @param string $attribute - * @param mixed $value - * @return bool - */ - public function validateRequired($attribute, $value) - { - if (is_null($value)) { - return false; - } elseif (is_string($value) && trim($value) === '') { - return false; - } elseif ((is_array($value) || $value instanceof Countable) && count($value) < 1) { - return false; - } elseif ($value instanceof File) { - return (string) $value->getPath() !== ''; - } - - return true; - } - - /** - * Validate that an attribute exists when another attribute has a given value. - * - * @param string $attribute - * @param mixed $value - * @param mixed $parameters - * @return bool - */ - public function validateRequiredIf($attribute, $value, $parameters) - { - $this->requireParameterCount(2, $parameters, 'required_if'); - - $other = Arr::get($this->data, $parameters[0]); - - $values = array_slice($parameters, 1); - - if (is_bool($other)) { - $values = $this->convertValuesToBoolean($values); - } - - if (in_array($other, $values)) { - return $this->validateRequired($attribute, $value); - } - - return true; - } - - /** - * Convert the given values to boolean if they are string "true" / "false". - * - * @param array $values - * @return array - */ - protected function convertValuesToBoolean($values) - { - return array_map(function ($value) { - if ($value === 'true') { - return true; - } elseif ($value === 'false') { - return false; - } - - return $value; - }, $values); - } - - /** - * Validate that an attribute exists when another attribute does not have a given value. - * - * @param string $attribute - * @param mixed $value - * @param mixed $parameters - * @return bool - */ - public function validateRequiredUnless($attribute, $value, $parameters) - { - $this->requireParameterCount(2, $parameters, 'required_unless'); - - $data = Arr::get($this->data, $parameters[0]); - - $values = array_slice($parameters, 1); - - if (! in_array($data, $values)) { - return $this->validateRequired($attribute, $value); - } - - return true; - } - - /** - * Validate that an attribute exists when any other attribute exists. - * - * @param string $attribute - * @param mixed $value - * @param mixed $parameters - * @return bool - */ - public function validateRequiredWith($attribute, $value, $parameters) - { - if (! $this->allFailingRequired($parameters)) { - return $this->validateRequired($attribute, $value); - } - - return true; - } - - /** - * Validate that an attribute exists when all other attributes exists. - * - * @param string $attribute - * @param mixed $value - * @param mixed $parameters - * @return bool - */ - public function validateRequiredWithAll($attribute, $value, $parameters) - { - if (! $this->anyFailingRequired($parameters)) { - return $this->validateRequired($attribute, $value); - } - - return true; - } - - /** - * Validate that an attribute exists when another attribute does not. - * - * @param string $attribute - * @param mixed $value - * @param mixed $parameters - * @return bool - */ - public function validateRequiredWithout($attribute, $value, $parameters) - { - if ($this->anyFailingRequired($parameters)) { - return $this->validateRequired($attribute, $value); - } - - return true; - } - - /** - * Validate that an attribute exists when all other attributes do not. - * - * @param string $attribute - * @param mixed $value - * @param mixed $parameters - * @return bool - */ - public function validateRequiredWithoutAll($attribute, $value, $parameters) - { - if ($this->allFailingRequired($parameters)) { - return $this->validateRequired($attribute, $value); - } - - return true; - } - - /** - * Determine if any of the given attributes fail the required test. - * - * @param array $attributes - * @return bool - */ - protected function anyFailingRequired(array $attributes) - { - foreach ($attributes as $key) { - if (! $this->validateRequired($key, $this->getValue($key))) { - return true; - } - } - - return false; - } - - /** - * Determine if all of the given attributes fail the required test. - * - * @param array $attributes - * @return bool - */ - protected function allFailingRequired(array $attributes) - { - foreach ($attributes as $key) { - if ($this->validateRequired($key, $this->getValue($key))) { - return false; - } - } - - return true; - } - - /** - * Validate that two attributes match. - * - * @param string $attribute - * @param mixed $value - * @param array $parameters - * @return bool - */ - public function validateSame($attribute, $value, $parameters) - { - $this->requireParameterCount(1, $parameters, 'same'); - - $other = Arr::get($this->data, $parameters[0]); - - return $value === $other; - } - - /** - * Validate the size of an attribute. - * - * @param string $attribute - * @param mixed $value - * @param array $parameters - * @return bool - */ - public function validateSize($attribute, $value, $parameters) - { - $this->requireParameterCount(1, $parameters, 'size'); - - return $this->getSize($attribute, $value) == $parameters[0]; - } - - /** - * "Validate" optional attributes. - * - * Always returns true, just lets us put sometimes in rules. - * - * @return bool - */ - public function validateSometimes() - { - return true; - } - - /** - * Validate the attribute starts with a given substring. - * - * @param string $attribute - * @param mixed $value - * @param array $parameters - * @return bool - */ - public function validateStartsWith($attribute, $value, $parameters) - { - return Str::startsWith($value, $parameters); - } - - /** - * Validate the attribute ends with a given substring. - * - * @param string $attribute - * @param mixed $value - * @param array $parameters - * @return bool - */ - public function validateEndsWith($attribute, $value, $parameters) - { - return Str::endsWith($value, $parameters); - } - - /** - * Validate that an attribute is a string. - * - * @param string $attribute - * @param mixed $value - * @return bool - */ - public function validateString($attribute, $value) - { - return is_string($value); - } - - /** - * Validate that an attribute is a valid timezone. - * - * @param string $attribute - * @param mixed $value - * @return bool - */ - public function validateTimezone($attribute, $value) - { - try { - new DateTimeZone($value); - } catch (Exception $e) { - return false; - } catch (Throwable $e) { - return false; - } - - return true; - } - - /** - * Validate that an attribute is a valid URL. - * - * @param string $attribute - * @param mixed $value - * @return bool - */ - public function validateUrl($attribute, $value) - { - if (! is_string($value)) { - return false; - } - - /* - * This pattern is derived from Symfony\Component\Validator\Constraints\UrlValidator (2.7.4). - * - * (c) Fabien Potencier http://symfony.com - */ - $pattern = '~^ - ((aaa|aaas|about|acap|acct|acr|adiumxtra|afp|afs|aim|apt|attachment|aw|barion|beshare|bitcoin|blob|bolo|callto|cap|chrome|chrome-extension|cid|coap|coaps|com-eventbrite-attendee|content|crid|cvs|data|dav|dict|dlna-playcontainer|dlna-playsingle|dns|dntp|dtn|dvb|ed2k|example|facetime|fax|feed|feedready|file|filesystem|finger|fish|ftp|geo|gg|git|gizmoproject|go|gopher|gtalk|h323|ham|hcp|http|https|iax|icap|icon|im|imap|info|iotdisco|ipn|ipp|ipps|irc|irc6|ircs|iris|iris.beep|iris.lwz|iris.xpc|iris.xpcs|itms|jabber|jar|jms|keyparc|lastfm|ldap|ldaps|magnet|mailserver|mailto|maps|market|message|mid|mms|modem|ms-help|ms-settings|ms-settings-airplanemode|ms-settings-bluetooth|ms-settings-camera|ms-settings-cellular|ms-settings-cloudstorage|ms-settings-emailandaccounts|ms-settings-language|ms-settings-location|ms-settings-lock|ms-settings-nfctransactions|ms-settings-notifications|ms-settings-power|ms-settings-privacy|ms-settings-proximity|ms-settings-screenrotation|ms-settings-wifi|ms-settings-workplace|msnim|msrp|msrps|mtqp|mumble|mupdate|mvn|news|nfs|ni|nih|nntp|notes|oid|opaquelocktoken|pack|palm|paparazzi|pkcs11|platform|pop|pres|prospero|proxy|psyc|query|redis|rediss|reload|res|resource|rmi|rsync|rtmfp|rtmp|rtsp|rtsps|rtspu|secondlife|s3|service|session|sftp|sgn|shttp|sieve|sip|sips|skype|smb|sms|smtp|snews|snmp|soap.beep|soap.beeps|soldat|spotify|ssh|steam|stun|stuns|submit|svn|tag|teamspeak|tel|teliaeid|telnet|tftp|things|thismessage|tip|tn3270|turn|turns|tv|udp|unreal|urn|ut2004|vemmi|ventrilo|videotex|view-source|wais|webcal|ws|wss|wtai|wyciwyg|xcon|xcon-userid|xfire|xmlrpc\.beep|xmlrpc.beeps|xmpp|xri|ymsgr|z39\.50|z39\.50r|z39\.50s)):// # protocol - (([\pL\pN-]+:)?([\pL\pN-]+)@)? # basic auth - ( - ([\pL\pN\pS\-\.])+(\.?([\pL]|xn\-\-[\pL\pN-]+)+\.?) # a domain name - | # or - \d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3} # an IP address - | # or - \[ - (?:(?:(?:(?:(?:(?:(?:[0-9a-f]{1,4})):){6})(?:(?:(?:(?:(?:[0-9a-f]{1,4})):(?:(?:[0-9a-f]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:::(?:(?:(?:[0-9a-f]{1,4})):){5})(?:(?:(?:(?:(?:[0-9a-f]{1,4})):(?:(?:[0-9a-f]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:[0-9a-f]{1,4})))?::(?:(?:(?:[0-9a-f]{1,4})):){4})(?:(?:(?:(?:(?:[0-9a-f]{1,4})):(?:(?:[0-9a-f]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-f]{1,4})):){0,1}(?:(?:[0-9a-f]{1,4})))?::(?:(?:(?:[0-9a-f]{1,4})):){3})(?:(?:(?:(?:(?:[0-9a-f]{1,4})):(?:(?:[0-9a-f]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-f]{1,4})):){0,2}(?:(?:[0-9a-f]{1,4})))?::(?:(?:(?:[0-9a-f]{1,4})):){2})(?:(?:(?:(?:(?:[0-9a-f]{1,4})):(?:(?:[0-9a-f]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-f]{1,4})):){0,3}(?:(?:[0-9a-f]{1,4})))?::(?:(?:[0-9a-f]{1,4})):)(?:(?:(?:(?:(?:[0-9a-f]{1,4})):(?:(?:[0-9a-f]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-f]{1,4})):){0,4}(?:(?:[0-9a-f]{1,4})))?::)(?:(?:(?:(?:(?:[0-9a-f]{1,4})):(?:(?:[0-9a-f]{1,4})))|(?:(?:(?:(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9]))\.){3}(?:(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])))))))|(?:(?:(?:(?:(?:(?:[0-9a-f]{1,4})):){0,5}(?:(?:[0-9a-f]{1,4})))?::)(?:(?:[0-9a-f]{1,4})))|(?:(?:(?:(?:(?:(?:[0-9a-f]{1,4})):){0,6}(?:(?:[0-9a-f]{1,4})))?::)))) - \] # an IPv6 address - ) - (:[0-9]+)? # a port (optional) - (/?|/\S+|\?\S*|\#\S*) # a /, nothing, a / with something, a query or a fragment - $~ixu'; - - return preg_match($pattern, $value) > 0; - } - - /** - * Validate that an attribute is a valid UUID. - * - * @param string $attribute - * @param mixed $value - * @return bool - */ - public function validateUuid($attribute, $value) - { - if (! is_string($value)) { - return false; - } - - return preg_match('/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iD', $value) > 0; - } - - /** - * Get the size of an attribute. - * - * @param string $attribute - * @param mixed $value - * @return mixed - */ - protected function getSize($attribute, $value) - { - $hasNumeric = $this->hasRule($attribute, $this->numericRules); - - // This method will determine if the attribute is a number, string, or file and - // return the proper size accordingly. If it is a number, then number itself - // is the size. If it is a file, we take kilobytes, and for a string the - // entire length of the string will be considered the attribute size. - if (is_numeric($value) && $hasNumeric) { - return $value; - } elseif (is_array($value)) { - return count($value); - } elseif ($value instanceof File) { - return $value->getSize() / 1024; - } - - return mb_strlen($value); - } - - /** - * Check that the given value is a valid file instance. - * - * @param mixed $value - * @return bool - */ - public function isValidFileInstance($value) - { - if ($value instanceof UploadedFile && ! $value->isValid()) { - return false; - } - - return $value instanceof File; - } - - /** - * Determine if a comparison passes between the given values. - * - * @param mixed $first - * @param mixed $second - * @param string $operator - * @return bool - * - * @throws \InvalidArgumentException - */ - protected function compare($first, $second, $operator) - { - switch ($operator) { - case '<': - return $first < $second; - case '>': - return $first > $second; - case '<=': - return $first <= $second; - case '>=': - return $first >= $second; - case '=': - return $first == $second; - default: - throw new InvalidArgumentException; - } - } - - /** - * Parse named parameters to $key => $value items. - * - * @param array $parameters - * @return array - */ - protected function parseNamedParameters($parameters) - { - return array_reduce($parameters, function ($result, $item) { - [$key, $value] = array_pad(explode('=', $item, 2), 2, null); - - $result[$key] = $value; - - return $result; - }); - } - - /** - * Require a certain number of parameters to be present. - * - * @param int $count - * @param array $parameters - * @param string $rule - * @return void - * - * @throws \InvalidArgumentException - */ - public function requireParameterCount($count, $parameters, $rule) - { - if (count($parameters) < $count) { - throw new InvalidArgumentException("Validation rule $rule requires at least $count parameters."); - } - } - - /** - * Check if the parameters are of the same type. - * - * @param mixed $first - * @param mixed $second - * @return bool - */ - protected function isSameType($first, $second) - { - return gettype($first) == gettype($second); - } - - /** - * Adds the existing rule to the numericRules array if the attribute's value is numeric. - * - * @param string $attribute - * @param string $rule - * - * @return void - */ - protected function shouldBeNumeric($attribute, $rule) - { - if (is_numeric($this->getValue($attribute))) { - $this->numericRules[] = $rule; - } - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Validation/DatabasePresenceVerifier.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Validation/DatabasePresenceVerifier.php deleted file mode 100644 index 24e1124..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Validation/DatabasePresenceVerifier.php +++ /dev/null @@ -1,138 +0,0 @@ -db = $db; - } - - /** - * Count the number of objects in a collection having the given value. - * - * @param string $collection - * @param string $column - * @param string $value - * @param int|null $excludeId - * @param string|null $idColumn - * @param array $extra - * @return int - */ - public function getCount($collection, $column, $value, $excludeId = null, $idColumn = null, array $extra = []) - { - $query = $this->table($collection)->where($column, '=', $value); - - if (! is_null($excludeId) && $excludeId !== 'NULL') { - $query->where($idColumn ?: 'id', '<>', $excludeId); - } - - return $this->addConditions($query, $extra)->count(); - } - - /** - * Count the number of objects in a collection with the given values. - * - * @param string $collection - * @param string $column - * @param array $values - * @param array $extra - * @return int - */ - public function getMultiCount($collection, $column, array $values, array $extra = []) - { - $query = $this->table($collection)->whereIn($column, $values); - - return $this->addConditions($query, $extra)->distinct()->count($column); - } - - /** - * Add the given conditions to the query. - * - * @param \Illuminate\Database\Query\Builder $query - * @param array $conditions - * @return \Illuminate\Database\Query\Builder - */ - protected function addConditions($query, $conditions) - { - foreach ($conditions as $key => $value) { - if ($value instanceof Closure) { - $query->where(function ($query) use ($value) { - $value($query); - }); - } else { - $this->addWhere($query, $key, $value); - } - } - - return $query; - } - - /** - * Add a "where" clause to the given query. - * - * @param \Illuminate\Database\Query\Builder $query - * @param string $key - * @param string $extraValue - * @return void - */ - protected function addWhere($query, $key, $extraValue) - { - if ($extraValue === 'NULL') { - $query->whereNull($key); - } elseif ($extraValue === 'NOT_NULL') { - $query->whereNotNull($key); - } elseif (Str::startsWith($extraValue, '!')) { - $query->where($key, '!=', mb_substr($extraValue, 1)); - } else { - $query->where($key, $extraValue); - } - } - - /** - * Get a query builder for the given table. - * - * @param string $table - * @return \Illuminate\Database\Query\Builder - */ - public function table($table) - { - return $this->db->connection($this->connection)->table($table)->useWritePdo(); - } - - /** - * Set the connection to be used. - * - * @param string $connection - * @return void - */ - public function setConnection($connection) - { - $this->connection = $connection; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Validation/Factory.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Validation/Factory.php deleted file mode 100644 index adab0c4..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Validation/Factory.php +++ /dev/null @@ -1,283 +0,0 @@ -container = $container; - $this->translator = $translator; - } - - /** - * Create a new Validator instance. - * - * @param array $data - * @param array $rules - * @param array $messages - * @param array $customAttributes - * @return \Illuminate\Validation\Validator - */ - public function make(array $data, array $rules, array $messages = [], array $customAttributes = []) - { - $validator = $this->resolve( - $data, $rules, $messages, $customAttributes - ); - - // The presence verifier is responsible for checking the unique and exists data - // for the validator. It is behind an interface so that multiple versions of - // it may be written besides database. We'll inject it into the validator. - if (! is_null($this->verifier)) { - $validator->setPresenceVerifier($this->verifier); - } - - // Next we'll set the IoC container instance of the validator, which is used to - // resolve out class based validator extensions. If it is not set then these - // types of extensions will not be possible on these validation instances. - if (! is_null($this->container)) { - $validator->setContainer($this->container); - } - - $this->addExtensions($validator); - - return $validator; - } - - /** - * Validate the given data against the provided rules. - * - * @param array $data - * @param array $rules - * @param array $messages - * @param array $customAttributes - * @return array - * - * @throws \Illuminate\Validation\ValidationException - */ - public function validate(array $data, array $rules, array $messages = [], array $customAttributes = []) - { - return $this->make($data, $rules, $messages, $customAttributes)->validate(); - } - - /** - * Resolve a new Validator instance. - * - * @param array $data - * @param array $rules - * @param array $messages - * @param array $customAttributes - * @return \Illuminate\Validation\Validator - */ - protected function resolve(array $data, array $rules, array $messages, array $customAttributes) - { - if (is_null($this->resolver)) { - return new Validator($this->translator, $data, $rules, $messages, $customAttributes); - } - - return call_user_func($this->resolver, $this->translator, $data, $rules, $messages, $customAttributes); - } - - /** - * Add the extensions to a validator instance. - * - * @param \Illuminate\Validation\Validator $validator - * @return void - */ - protected function addExtensions(Validator $validator) - { - $validator->addExtensions($this->extensions); - - // Next, we will add the implicit extensions, which are similar to the required - // and accepted rule in that they are run even if the attributes is not in a - // array of data that is given to a validator instances via instantiation. - $validator->addImplicitExtensions($this->implicitExtensions); - - $validator->addDependentExtensions($this->dependentExtensions); - - $validator->addReplacers($this->replacers); - - $validator->setFallbackMessages($this->fallbackMessages); - } - - /** - * Register a custom validator extension. - * - * @param string $rule - * @param \Closure|string $extension - * @param string|null $message - * @return void - */ - public function extend($rule, $extension, $message = null) - { - $this->extensions[$rule] = $extension; - - if ($message) { - $this->fallbackMessages[Str::snake($rule)] = $message; - } - } - - /** - * Register a custom implicit validator extension. - * - * @param string $rule - * @param \Closure|string $extension - * @param string|null $message - * @return void - */ - public function extendImplicit($rule, $extension, $message = null) - { - $this->implicitExtensions[$rule] = $extension; - - if ($message) { - $this->fallbackMessages[Str::snake($rule)] = $message; - } - } - - /** - * Register a custom dependent validator extension. - * - * @param string $rule - * @param \Closure|string $extension - * @param string|null $message - * @return void - */ - public function extendDependent($rule, $extension, $message = null) - { - $this->dependentExtensions[$rule] = $extension; - - if ($message) { - $this->fallbackMessages[Str::snake($rule)] = $message; - } - } - - /** - * Register a custom validator message replacer. - * - * @param string $rule - * @param \Closure|string $replacer - * @return void - */ - public function replacer($rule, $replacer) - { - $this->replacers[$rule] = $replacer; - } - - /** - * Set the Validator instance resolver. - * - * @param \Closure $resolver - * @return void - */ - public function resolver(Closure $resolver) - { - $this->resolver = $resolver; - } - - /** - * Get the Translator implementation. - * - * @return \Illuminate\Contracts\Translation\Translator - */ - public function getTranslator() - { - return $this->translator; - } - - /** - * Get the Presence Verifier implementation. - * - * @return \Illuminate\Validation\PresenceVerifierInterface - */ - public function getPresenceVerifier() - { - return $this->verifier; - } - - /** - * Set the Presence Verifier implementation. - * - * @param \Illuminate\Validation\PresenceVerifierInterface $presenceVerifier - * @return void - */ - public function setPresenceVerifier(PresenceVerifierInterface $presenceVerifier) - { - $this->verifier = $presenceVerifier; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Validation/LICENSE.md b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Validation/LICENSE.md deleted file mode 100644 index 79810c8..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Validation/LICENSE.md +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) Taylor Otwell - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Validation/PresenceVerifierInterface.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Validation/PresenceVerifierInterface.php deleted file mode 100644 index dd073a0..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Validation/PresenceVerifierInterface.php +++ /dev/null @@ -1,30 +0,0 @@ -toArray(); - } - - return new Rules\In(is_array($values) ? $values : func_get_args()); - } - - /** - * Get a not_in constraint builder instance. - * - * @param \Illuminate\Contracts\Support\Arrayable|array|string $values - * @return \Illuminate\Validation\Rules\NotIn - */ - public static function notIn($values) - { - if ($values instanceof Arrayable) { - $values = $values->toArray(); - } - - return new Rules\NotIn(is_array($values) ? $values : func_get_args()); - } - - /** - * Get a required_if constraint builder instance. - * - * @param callable|bool $callback - * @return \Illuminate\Validation\Rules\RequiredIf - */ - public static function requiredIf($callback) - { - return new Rules\RequiredIf($callback); - } - - /** - * Get a unique constraint builder instance. - * - * @param string $table - * @param string $column - * @return \Illuminate\Validation\Rules\Unique - */ - public static function unique($table, $column = 'NULL') - { - return new Rules\Unique($table, $column); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Validation/Rules/DatabaseRule.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Validation/Rules/DatabaseRule.php deleted file mode 100644 index 3d12435..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Validation/Rules/DatabaseRule.php +++ /dev/null @@ -1,172 +0,0 @@ -table = $table; - $this->column = $column; - } - - /** - * Set a "where" constraint on the query. - * - * @param string|\Closure $column - * @param array|string|null $value - * @return $this - */ - public function where($column, $value = null) - { - if (is_array($value)) { - return $this->whereIn($column, $value); - } - - if ($column instanceof Closure) { - return $this->using($column); - } - - $this->wheres[] = compact('column', 'value'); - - return $this; - } - - /** - * Set a "where not" constraint on the query. - * - * @param string $column - * @param array|string $value - * @return $this - */ - public function whereNot($column, $value) - { - if (is_array($value)) { - return $this->whereNotIn($column, $value); - } - - return $this->where($column, '!'.$value); - } - - /** - * Set a "where null" constraint on the query. - * - * @param string $column - * @return $this - */ - public function whereNull($column) - { - return $this->where($column, 'NULL'); - } - - /** - * Set a "where not null" constraint on the query. - * - * @param string $column - * @return $this - */ - public function whereNotNull($column) - { - return $this->where($column, 'NOT_NULL'); - } - - /** - * Set a "where in" constraint on the query. - * - * @param string $column - * @param array $values - * @return $this - */ - public function whereIn($column, array $values) - { - return $this->where(function ($query) use ($column, $values) { - $query->whereIn($column, $values); - }); - } - - /** - * Set a "where not in" constraint on the query. - * - * @param string $column - * @param array $values - * @return $this - */ - public function whereNotIn($column, array $values) - { - return $this->where(function ($query) use ($column, $values) { - $query->whereNotIn($column, $values); - }); - } - - /** - * Register a custom query callback. - * - * @param \Closure $callback - * @return $this - */ - public function using(Closure $callback) - { - $this->using[] = $callback; - - return $this; - } - - /** - * Get the custom query callbacks for the rule. - * - * @return array - */ - public function queryCallbacks() - { - return $this->using; - } - - /** - * Format the where clauses. - * - * @return string - */ - protected function formatWheres() - { - return collect($this->wheres)->map(function ($where) { - return $where['column'].','.'"'.str_replace('"', '""', $where['value']).'"'; - })->implode(','); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Validation/Rules/Dimensions.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Validation/Rules/Dimensions.php deleted file mode 100644 index 354d071..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Validation/Rules/Dimensions.php +++ /dev/null @@ -1,131 +0,0 @@ -constraints = $constraints; - } - - /** - * Set the "width" constraint. - * - * @param int $value - * @return $this - */ - public function width($value) - { - $this->constraints['width'] = $value; - - return $this; - } - - /** - * Set the "height" constraint. - * - * @param int $value - * @return $this - */ - public function height($value) - { - $this->constraints['height'] = $value; - - return $this; - } - - /** - * Set the "min width" constraint. - * - * @param int $value - * @return $this - */ - public function minWidth($value) - { - $this->constraints['min_width'] = $value; - - return $this; - } - - /** - * Set the "min height" constraint. - * - * @param int $value - * @return $this - */ - public function minHeight($value) - { - $this->constraints['min_height'] = $value; - - return $this; - } - - /** - * Set the "max width" constraint. - * - * @param int $value - * @return $this - */ - public function maxWidth($value) - { - $this->constraints['max_width'] = $value; - - return $this; - } - - /** - * Set the "max height" constraint. - * - * @param int $value - * @return $this - */ - public function maxHeight($value) - { - $this->constraints['max_height'] = $value; - - return $this; - } - - /** - * Set the "ratio" constraint. - * - * @param float $value - * @return $this - */ - public function ratio($value) - { - $this->constraints['ratio'] = $value; - - return $this; - } - - /** - * Convert the rule to a validation string. - * - * @return string - */ - public function __toString() - { - $result = ''; - - foreach ($this->constraints as $key => $value) { - $result .= "$key=$value,"; - } - - return 'dimensions:'.substr($result, 0, -1); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Validation/Rules/Exists.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Validation/Rules/Exists.php deleted file mode 100644 index 72c3786..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Validation/Rules/Exists.php +++ /dev/null @@ -1,22 +0,0 @@ -table, - $this->column, - $this->formatWheres() - ), ','); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Validation/Rules/In.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Validation/Rules/In.php deleted file mode 100644 index 58086bf..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Validation/Rules/In.php +++ /dev/null @@ -1,45 +0,0 @@ -values = $values; - } - - /** - * Convert the rule to a validation string. - * - * @return string - * - * @see \Illuminate\Validation\ValidationRuleParser::parseParameters - */ - public function __toString() - { - $values = array_map(function ($value) { - return '"'.str_replace('"', '""', $value).'"'; - }, $this->values); - - return $this->rule.':'.implode(',', $values); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Validation/Rules/NotIn.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Validation/Rules/NotIn.php deleted file mode 100644 index edd1013..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Validation/Rules/NotIn.php +++ /dev/null @@ -1,43 +0,0 @@ -values = $values; - } - - /** - * Convert the rule to a validation string. - * - * @return string - */ - public function __toString() - { - $values = array_map(function ($value) { - return '"'.str_replace('"', '""', $value).'"'; - }, $this->values); - - return $this->rule.':'.implode(',', $values); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Validation/Rules/RequiredIf.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Validation/Rules/RequiredIf.php deleted file mode 100644 index c4a1001..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Validation/Rules/RequiredIf.php +++ /dev/null @@ -1,38 +0,0 @@ -condition = $condition; - } - - /** - * Convert the rule to a validation string. - * - * @return string - */ - public function __toString() - { - if (is_callable($this->condition)) { - return call_user_func($this->condition) ? 'required' : ''; - } - - return $this->condition ? 'required' : ''; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Validation/Rules/Unique.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Validation/Rules/Unique.php deleted file mode 100644 index 64e9102..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Validation/Rules/Unique.php +++ /dev/null @@ -1,74 +0,0 @@ -ignoreModel($id, $idColumn); - } - - $this->ignore = $id; - $this->idColumn = $idColumn ?? 'id'; - - return $this; - } - - /** - * Ignore the given model during the unique check. - * - * @param \Illuminate\Database\Eloquent\Model $model - * @param string|null $idColumn - * @return $this - */ - public function ignoreModel($model, $idColumn = null) - { - $this->idColumn = $idColumn ?? $model->getKeyName(); - $this->ignore = $model->{$this->idColumn}; - - return $this; - } - - /** - * Convert the rule to a validation string. - * - * @return string - */ - public function __toString() - { - return rtrim(sprintf('unique:%s,%s,%s,%s,%s', - $this->table, - $this->column, - $this->ignore ? '"'.addslashes($this->ignore).'"' : 'NULL', - $this->idColumn, - $this->formatWheres() - ), ','); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Validation/UnauthorizedException.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Validation/UnauthorizedException.php deleted file mode 100644 index ea8a6ec..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Validation/UnauthorizedException.php +++ /dev/null @@ -1,10 +0,0 @@ -prepareForValidation(); - - if (! $this->passesAuthorization()) { - $this->failedAuthorization(); - } - - $instance = $this->getValidatorInstance(); - - if ($instance->fails()) { - $this->failedValidation($instance); - } - - $this->passedValidation(); - } - - /** - * Prepare the data for validation. - * - * @return void - */ - protected function prepareForValidation() - { - // - } - - /** - * Get the validator instance for the request. - * - * @return \Illuminate\Validation\Validator - */ - protected function getValidatorInstance() - { - return $this->validator(); - } - - /** - * Handle a passed validation attempt. - * - * @return void - */ - protected function passedValidation() - { - // - } - - /** - * Handle a failed validation attempt. - * - * @param \Illuminate\Validation\Validator $validator - * @return void - * - * @throws \Illuminate\Validation\ValidationException - */ - protected function failedValidation(Validator $validator) - { - throw new ValidationException($validator); - } - - /** - * Determine if the request passes the authorization check. - * - * @return bool - */ - protected function passesAuthorization() - { - if (method_exists($this, 'authorize')) { - return $this->authorize(); - } - - return true; - } - - /** - * Handle a failed authorization attempt. - * - * @return void - * - * @throws \Illuminate\Validation\UnauthorizedException - */ - protected function failedAuthorization() - { - throw new UnauthorizedException; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Validation/ValidationData.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Validation/ValidationData.php deleted file mode 100644 index 74f5525..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Validation/ValidationData.php +++ /dev/null @@ -1,113 +0,0 @@ - $value) { - if ((bool) preg_match('/^'.$pattern.'/', $key, $matches)) { - $keys[] = $matches[0]; - } - } - - $keys = array_unique($keys); - - $data = []; - - foreach ($keys as $key) { - $data[$key] = Arr::get($masterData, $key); - } - - return $data; - } - - /** - * Extract data based on the given dot-notated path. - * - * Used to extract a sub-section of the data for faster iteration. - * - * @param string $attribute - * @param array $masterData - * @return array - */ - public static function extractDataFromPath($attribute, $masterData) - { - $results = []; - - $value = Arr::get($masterData, $attribute, '__missing__'); - - if ($value !== '__missing__') { - Arr::set($results, $attribute, $value); - } - - return $results; - } - - /** - * Get the explicit part of the attribute name. - * - * E.g. 'foo.bar.*.baz' -> 'foo.bar' - * - * Allows us to not spin through all of the flattened data for some operations. - * - * @param string $attribute - * @return string - */ - public static function getLeadingExplicitAttributePath($attribute) - { - return rtrim(explode('*', $attribute)[0], '.') ?: null; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Validation/ValidationException.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Validation/ValidationException.php deleted file mode 100644 index 460f959..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Validation/ValidationException.php +++ /dev/null @@ -1,138 +0,0 @@ -response = $response; - $this->errorBag = $errorBag; - $this->validator = $validator; - } - - /** - * Create a new validation exception from a plain array of messages. - * - * @param array $messages - * @return static - */ - public static function withMessages(array $messages) - { - return new static(tap(ValidatorFacade::make([], []), function ($validator) use ($messages) { - foreach ($messages as $key => $value) { - foreach (Arr::wrap($value) as $message) { - $validator->errors()->add($key, $message); - } - } - })); - } - - /** - * Get all of the validation error messages. - * - * @return array - */ - public function errors() - { - return $this->validator->errors()->messages(); - } - - /** - * Set the HTTP status code to be used for the response. - * - * @param int $status - * @return $this - */ - public function status($status) - { - $this->status = $status; - - return $this; - } - - /** - * Set the error bag on the exception. - * - * @param string $errorBag - * @return $this - */ - public function errorBag($errorBag) - { - $this->errorBag = $errorBag; - - return $this; - } - - /** - * Set the URL to redirect to on a validation error. - * - * @param string $url - * @return $this - */ - public function redirectTo($url) - { - $this->redirectTo = $url; - - return $this; - } - - /** - * Get the underlying response instance. - * - * @return \Symfony\Component\HttpFoundation\Response|null - */ - public function getResponse() - { - return $this->response; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Validation/ValidationRuleParser.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Validation/ValidationRuleParser.php deleted file mode 100644 index ef7bfb6..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Validation/ValidationRuleParser.php +++ /dev/null @@ -1,277 +0,0 @@ -data = $data; - } - - /** - * Parse the human-friendly rules into a full rules array for the validator. - * - * @param array $rules - * @return \stdClass - */ - public function explode($rules) - { - $this->implicitAttributes = []; - - $rules = $this->explodeRules($rules); - - return (object) [ - 'rules' => $rules, - 'implicitAttributes' => $this->implicitAttributes, - ]; - } - - /** - * Explode the rules into an array of explicit rules. - * - * @param array $rules - * @return array - */ - protected function explodeRules($rules) - { - foreach ($rules as $key => $rule) { - if (Str::contains($key, '*')) { - $rules = $this->explodeWildcardRules($rules, $key, [$rule]); - - unset($rules[$key]); - } else { - $rules[$key] = $this->explodeExplicitRule($rule); - } - } - - return $rules; - } - - /** - * Explode the explicit rule into an array if necessary. - * - * @param mixed $rule - * @return array - */ - protected function explodeExplicitRule($rule) - { - if (is_string($rule)) { - return explode('|', $rule); - } elseif (is_object($rule)) { - return [$this->prepareRule($rule)]; - } - - return array_map([$this, 'prepareRule'], $rule); - } - - /** - * Prepare the given rule for the Validator. - * - * @param mixed $rule - * @return mixed - */ - protected function prepareRule($rule) - { - if ($rule instanceof Closure) { - $rule = new ClosureValidationRule($rule); - } - - if (! is_object($rule) || - $rule instanceof RuleContract || - ($rule instanceof Exists && $rule->queryCallbacks()) || - ($rule instanceof Unique && $rule->queryCallbacks())) { - return $rule; - } - - return (string) $rule; - } - - /** - * Define a set of rules that apply to each element in an array attribute. - * - * @param array $results - * @param string $attribute - * @param string|array $rules - * @return array - */ - protected function explodeWildcardRules($results, $attribute, $rules) - { - $pattern = str_replace('\*', '[^\.]*', preg_quote($attribute)); - - $data = ValidationData::initializeAndGatherData($attribute, $this->data); - - foreach ($data as $key => $value) { - if (Str::startsWith($key, $attribute) || (bool) preg_match('/^'.$pattern.'\z/', $key)) { - foreach ((array) $rules as $rule) { - $this->implicitAttributes[$attribute][] = strval($key); - - $results = $this->mergeRules($results, $key, $rule); - } - } - } - - return $results; - } - - /** - * Merge additional rules into a given attribute(s). - * - * @param array $results - * @param string|array $attribute - * @param string|array $rules - * @return array - */ - public function mergeRules($results, $attribute, $rules = []) - { - if (is_array($attribute)) { - foreach ((array) $attribute as $innerAttribute => $innerRules) { - $results = $this->mergeRulesForAttribute($results, $innerAttribute, $innerRules); - } - - return $results; - } - - return $this->mergeRulesForAttribute( - $results, $attribute, $rules - ); - } - - /** - * Merge additional rules into a given attribute. - * - * @param array $results - * @param string $attribute - * @param string|array $rules - * @return array - */ - protected function mergeRulesForAttribute($results, $attribute, $rules) - { - $merge = head($this->explodeRules([$rules])); - - $results[$attribute] = array_merge( - isset($results[$attribute]) ? $this->explodeExplicitRule($results[$attribute]) : [], $merge - ); - - return $results; - } - - /** - * Extract the rule name and parameters from a rule. - * - * @param array|string $rules - * @return array - */ - public static function parse($rules) - { - if ($rules instanceof RuleContract) { - return [$rules, []]; - } - - if (is_array($rules)) { - $rules = static::parseArrayRule($rules); - } else { - $rules = static::parseStringRule($rules); - } - - $rules[0] = static::normalizeRule($rules[0]); - - return $rules; - } - - /** - * Parse an array based rule. - * - * @param array $rules - * @return array - */ - protected static function parseArrayRule(array $rules) - { - return [Str::studly(trim(Arr::get($rules, 0))), array_slice($rules, 1)]; - } - - /** - * Parse a string based rule. - * - * @param string $rules - * @return array - */ - protected static function parseStringRule($rules) - { - $parameters = []; - - // The format for specifying validation rules and parameters follows an - // easy {rule}:{parameters} formatting convention. For instance the - // rule "Max:3" states that the value may only be three letters. - if (strpos($rules, ':') !== false) { - [$rules, $parameter] = explode(':', $rules, 2); - - $parameters = static::parseParameters($rules, $parameter); - } - - return [Str::studly(trim($rules)), $parameters]; - } - - /** - * Parse a parameter list. - * - * @param string $rule - * @param string $parameter - * @return array - */ - protected static function parseParameters($rule, $parameter) - { - $rule = strtolower($rule); - - if (in_array($rule, ['regex', 'not_regex', 'notregex'], true)) { - return [$parameter]; - } - - return str_getcsv($parameter); - } - - /** - * Normalizes a rule so that we can accept short types. - * - * @param string $rule - * @return string - */ - protected static function normalizeRule($rule) - { - switch ($rule) { - case 'Int': - return 'Integer'; - case 'Bool': - return 'Boolean'; - default: - return $rule; - } - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Validation/ValidationServiceProvider.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Validation/ValidationServiceProvider.php deleted file mode 100644 index 0228ad6..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Validation/ValidationServiceProvider.php +++ /dev/null @@ -1,66 +0,0 @@ -registerPresenceVerifier(); - - $this->registerValidationFactory(); - } - - /** - * Register the validation factory. - * - * @return void - */ - protected function registerValidationFactory() - { - $this->app->singleton('validator', function ($app) { - $validator = new Factory($app['translator'], $app); - - // The validation presence verifier is responsible for determining the existence of - // values in a given data collection which is typically a relational database or - // other persistent data stores. It is used to check for "uniqueness" as well. - if (isset($app['db'], $app['validation.presence'])) { - $validator->setPresenceVerifier($app['validation.presence']); - } - - return $validator; - }); - } - - /** - * Register the database presence verifier. - * - * @return void - */ - protected function registerPresenceVerifier() - { - $this->app->singleton('validation.presence', function ($app) { - return new DatabasePresenceVerifier($app['db']); - }); - } - - /** - * Get the services provided by the provider. - * - * @return array - */ - public function provides() - { - return [ - 'validator', 'validation.presence', - ]; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Validation/Validator.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Validation/Validator.php deleted file mode 100644 index 21df90c..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Validation/Validator.php +++ /dev/null @@ -1,1191 +0,0 @@ -initialRules = $rules; - $this->translator = $translator; - $this->customMessages = $messages; - $this->data = $this->parseData($data); - $this->customAttributes = $customAttributes; - - $this->setRules($rules); - } - - /** - * Parse the data array, converting dots to ->. - * - * @param array $data - * @return array - */ - public function parseData(array $data) - { - $newData = []; - - foreach ($data as $key => $value) { - if (is_array($value)) { - $value = $this->parseData($value); - } - - // If the data key contains a dot, we will replace it with another character - // sequence so it doesn't interfere with dot processing when working with - // array based validation rules and array_dot later in the validations. - if (Str::contains($key, '.')) { - $newData[str_replace('.', '->', $key)] = $value; - } else { - $newData[$key] = $value; - } - } - - return $newData; - } - - /** - * Add an after validation callback. - * - * @param callable|string $callback - * @return $this - */ - public function after($callback) - { - $this->after[] = function () use ($callback) { - return call_user_func_array($callback, [$this]); - }; - - return $this; - } - - /** - * Determine if the data passes the validation rules. - * - * @return bool - */ - public function passes() - { - $this->messages = new MessageBag; - - [$this->distinctValues, $this->failedRules] = [[], []]; - - // We'll spin through each rule, validating the attributes attached to that - // rule. Any error messages will be added to the containers with each of - // the other error messages, returning true if we don't have messages. - foreach ($this->rules as $attribute => $rules) { - $attribute = str_replace('\.', '->', $attribute); - - foreach ($rules as $rule) { - $this->validateAttribute($attribute, $rule); - - if ($this->shouldStopValidating($attribute)) { - break; - } - } - } - - // Here we will spin through all of the "after" hooks on this validator and - // fire them off. This gives the callbacks a chance to perform all kinds - // of other validation that needs to get wrapped up in this operation. - foreach ($this->after as $after) { - call_user_func($after); - } - - return $this->messages->isEmpty(); - } - - /** - * Determine if the data fails the validation rules. - * - * @return bool - */ - public function fails() - { - return ! $this->passes(); - } - - /** - * Run the validator's rules against its data. - * - * @return array - * - * @throws \Illuminate\Validation\ValidationException - */ - public function validate() - { - if ($this->fails()) { - throw new ValidationException($this); - } - - return $this->validated(); - } - - /** - * Get the attributes and values that were validated. - * - * @return array - * - * @throws \Illuminate\Validation\ValidationException - */ - public function validated() - { - if ($this->invalid()) { - throw new ValidationException($this); - } - - $results = []; - - $missingValue = Str::random(10); - - foreach (array_keys($this->getRules()) as $key) { - $value = data_get($this->getData(), $key, $missingValue); - - if ($value !== $missingValue) { - Arr::set($results, $key, $value); - } - } - - return $results; - } - - /** - * Validate a given attribute against a rule. - * - * @param string $attribute - * @param string $rule - * @return void - */ - protected function validateAttribute($attribute, $rule) - { - $this->currentRule = $rule; - - [$rule, $parameters] = ValidationRuleParser::parse($rule); - - if ($rule == '') { - return; - } - - // First we will get the correct keys for the given attribute in case the field is nested in - // an array. Then we determine if the given rule accepts other field names as parameters. - // If so, we will replace any asterisks found in the parameters with the correct keys. - if (($keys = $this->getExplicitKeys($attribute)) && - $this->dependsOnOtherFields($rule)) { - $parameters = $this->replaceAsterisksInParameters($parameters, $keys); - } - - $value = $this->getValue($attribute); - - // If the attribute is a file, we will verify that the file upload was actually successful - // and if it wasn't we will add a failure for the attribute. Files may not successfully - // upload if they are too large based on PHP's settings so we will bail in this case. - if ($value instanceof UploadedFile && ! $value->isValid() && - $this->hasRule($attribute, array_merge($this->fileRules, $this->implicitRules)) - ) { - return $this->addFailure($attribute, 'uploaded', []); - } - - // If we have made it this far we will make sure the attribute is validatable and if it is - // we will call the validation method with the attribute. If a method returns false the - // attribute is invalid and we will add a failure message for this failing attribute. - $validatable = $this->isValidatable($rule, $attribute, $value); - - if ($rule instanceof RuleContract) { - return $validatable - ? $this->validateUsingCustomRule($attribute, $value, $rule) - : null; - } - - $method = "validate{$rule}"; - - if ($validatable && ! $this->$method($attribute, $value, $parameters, $this)) { - $this->addFailure($attribute, $rule, $parameters); - } - } - - /** - * Determine if the given rule depends on other fields. - * - * @param string $rule - * @return bool - */ - protected function dependsOnOtherFields($rule) - { - return in_array($rule, $this->dependentRules); - } - - /** - * Get the explicit keys from an attribute flattened with dot notation. - * - * E.g. 'foo.1.bar.spark.baz' -> [1, 'spark'] for 'foo.*.bar.*.baz' - * - * @param string $attribute - * @return array - */ - protected function getExplicitKeys($attribute) - { - $pattern = str_replace('\*', '([^\.]+)', preg_quote($this->getPrimaryAttribute($attribute), '/')); - - if (preg_match('/^'.$pattern.'/', $attribute, $keys)) { - array_shift($keys); - - return $keys; - } - - return []; - } - - /** - * Get the primary attribute name. - * - * For example, if "name.0" is given, "name.*" will be returned. - * - * @param string $attribute - * @return string - */ - protected function getPrimaryAttribute($attribute) - { - foreach ($this->implicitAttributes as $unparsed => $parsed) { - if (in_array($attribute, $parsed)) { - return $unparsed; - } - } - - return $attribute; - } - - /** - * Replace each field parameter which has asterisks with the given keys. - * - * @param array $parameters - * @param array $keys - * @return array - */ - protected function replaceAsterisksInParameters(array $parameters, array $keys) - { - return array_map(function ($field) use ($keys) { - return vsprintf(str_replace('*', '%s', $field), $keys); - }, $parameters); - } - - /** - * Determine if the attribute is validatable. - * - * @param object|string $rule - * @param string $attribute - * @param mixed $value - * @return bool - */ - protected function isValidatable($rule, $attribute, $value) - { - return $this->presentOrRuleIsImplicit($rule, $attribute, $value) && - $this->passesOptionalCheck($attribute) && - $this->isNotNullIfMarkedAsNullable($rule, $attribute) && - $this->hasNotFailedPreviousRuleIfPresenceRule($rule, $attribute); - } - - /** - * Determine if the field is present, or the rule implies required. - * - * @param object|string $rule - * @param string $attribute - * @param mixed $value - * @return bool - */ - protected function presentOrRuleIsImplicit($rule, $attribute, $value) - { - if (is_string($value) && trim($value) === '') { - return $this->isImplicit($rule); - } - - return $this->validatePresent($attribute, $value) || - $this->isImplicit($rule); - } - - /** - * Determine if a given rule implies the attribute is required. - * - * @param object|string $rule - * @return bool - */ - protected function isImplicit($rule) - { - return $rule instanceof ImplicitRule || - in_array($rule, $this->implicitRules); - } - - /** - * Determine if the attribute passes any optional check. - * - * @param string $attribute - * @return bool - */ - protected function passesOptionalCheck($attribute) - { - if (! $this->hasRule($attribute, ['Sometimes'])) { - return true; - } - - $data = ValidationData::initializeAndGatherData($attribute, $this->data); - - return array_key_exists($attribute, $data) - || array_key_exists($attribute, $this->data); - } - - /** - * Determine if the attribute fails the nullable check. - * - * @param string $rule - * @param string $attribute - * @return bool - */ - protected function isNotNullIfMarkedAsNullable($rule, $attribute) - { - if ($this->isImplicit($rule) || ! $this->hasRule($attribute, ['Nullable'])) { - return true; - } - - return ! is_null(Arr::get($this->data, $attribute, 0)); - } - - /** - * Determine if it's a necessary presence validation. - * - * This is to avoid possible database type comparison errors. - * - * @param string $rule - * @param string $attribute - * @return bool - */ - protected function hasNotFailedPreviousRuleIfPresenceRule($rule, $attribute) - { - return in_array($rule, ['Unique', 'Exists']) ? ! $this->messages->has($attribute) : true; - } - - /** - * Validate an attribute using a custom rule object. - * - * @param string $attribute - * @param mixed $value - * @param \Illuminate\Contracts\Validation\Rule $rule - * @return void - */ - protected function validateUsingCustomRule($attribute, $value, $rule) - { - if (! $rule->passes($attribute, $value)) { - $this->failedRules[$attribute][get_class($rule)] = []; - - $messages = $rule->message() ? (array) $rule->message() : [get_class($rule)]; - - foreach ($messages as $message) { - $this->messages->add($attribute, $this->makeReplacements( - $message, $attribute, get_class($rule), [] - )); - } - } - } - - /** - * Check if we should stop further validations on a given attribute. - * - * @param string $attribute - * @return bool - */ - protected function shouldStopValidating($attribute) - { - if ($this->hasRule($attribute, ['Bail'])) { - return $this->messages->has($attribute); - } - - if (isset($this->failedRules[$attribute]) && - array_key_exists('uploaded', $this->failedRules[$attribute])) { - return true; - } - - // In case the attribute has any rule that indicates that the field is required - // and that rule already failed then we should stop validation at this point - // as now there is no point in calling other rules with this field empty. - return $this->hasRule($attribute, $this->implicitRules) && - isset($this->failedRules[$attribute]) && - array_intersect(array_keys($this->failedRules[$attribute]), $this->implicitRules); - } - - /** - * Add a failed rule and error message to the collection. - * - * @param string $attribute - * @param string $rule - * @param array $parameters - * @return void - */ - public function addFailure($attribute, $rule, $parameters = []) - { - if (! $this->messages) { - $this->passes(); - } - - $this->messages->add($attribute, $this->makeReplacements( - $this->getMessage($attribute, $rule), $attribute, $rule, $parameters - )); - - $this->failedRules[$attribute][$rule] = $parameters; - } - - /** - * Returns the data which was valid. - * - * @return array - */ - public function valid() - { - if (! $this->messages) { - $this->passes(); - } - - return array_diff_key( - $this->data, $this->attributesThatHaveMessages() - ); - } - - /** - * Returns the data which was invalid. - * - * @return array - */ - public function invalid() - { - if (! $this->messages) { - $this->passes(); - } - - return array_intersect_key( - $this->data, $this->attributesThatHaveMessages() - ); - } - - /** - * Generate an array of all attributes that have messages. - * - * @return array - */ - protected function attributesThatHaveMessages() - { - return collect($this->messages()->toArray())->map(function ($message, $key) { - return explode('.', $key)[0]; - })->unique()->flip()->all(); - } - - /** - * Get the failed validation rules. - * - * @return array - */ - public function failed() - { - return $this->failedRules; - } - - /** - * Get the message container for the validator. - * - * @return \Illuminate\Support\MessageBag - */ - public function messages() - { - if (! $this->messages) { - $this->passes(); - } - - return $this->messages; - } - - /** - * An alternative more semantic shortcut to the message container. - * - * @return \Illuminate\Support\MessageBag - */ - public function errors() - { - return $this->messages(); - } - - /** - * Get the messages for the instance. - * - * @return \Illuminate\Support\MessageBag - */ - public function getMessageBag() - { - return $this->messages(); - } - - /** - * Determine if the given attribute has a rule in the given set. - * - * @param string $attribute - * @param string|array $rules - * @return bool - */ - public function hasRule($attribute, $rules) - { - return ! is_null($this->getRule($attribute, $rules)); - } - - /** - * Get a rule and its parameters for a given attribute. - * - * @param string $attribute - * @param string|array $rules - * @return array|null - */ - protected function getRule($attribute, $rules) - { - if (! array_key_exists($attribute, $this->rules)) { - return; - } - - $rules = (array) $rules; - - foreach ($this->rules[$attribute] as $rule) { - [$rule, $parameters] = ValidationRuleParser::parse($rule); - - if (in_array($rule, $rules)) { - return [$rule, $parameters]; - } - } - } - - /** - * Get the data under validation. - * - * @return array - */ - public function attributes() - { - return $this->getData(); - } - - /** - * Get the data under validation. - * - * @return array - */ - public function getData() - { - return $this->data; - } - - /** - * Set the data under validation. - * - * @param array $data - * @return $this - */ - public function setData(array $data) - { - $this->data = $this->parseData($data); - - $this->setRules($this->initialRules); - - return $this; - } - - /** - * Get the value of a given attribute. - * - * @param string $attribute - * @return mixed - */ - protected function getValue($attribute) - { - return Arr::get($this->data, $attribute); - } - - /** - * Get the validation rules. - * - * @return array - */ - public function getRules() - { - return $this->rules; - } - - /** - * Set the validation rules. - * - * @param array $rules - * @return $this - */ - public function setRules(array $rules) - { - $this->initialRules = $rules; - - $this->rules = []; - - $this->addRules($rules); - - return $this; - } - - /** - * Parse the given rules and merge them into current rules. - * - * @param array $rules - * @return void - */ - public function addRules($rules) - { - // The primary purpose of this parser is to expand any "*" rules to the all - // of the explicit rules needed for the given data. For example the rule - // names.* would get expanded to names.0, names.1, etc. for this data. - $response = (new ValidationRuleParser($this->data)) - ->explode($rules); - - $this->rules = array_merge_recursive( - $this->rules, $response->rules - ); - - $this->implicitAttributes = array_merge( - $this->implicitAttributes, $response->implicitAttributes - ); - } - - /** - * Add conditions to a given field based on a Closure. - * - * @param string|array $attribute - * @param string|array $rules - * @param callable $callback - * @return $this - */ - public function sometimes($attribute, $rules, callable $callback) - { - $payload = new Fluent($this->getData()); - - if (call_user_func($callback, $payload)) { - foreach ((array) $attribute as $key) { - $this->addRules([$key => $rules]); - } - } - - return $this; - } - - /** - * Register an array of custom validator extensions. - * - * @param array $extensions - * @return void - */ - public function addExtensions(array $extensions) - { - if ($extensions) { - $keys = array_map('\Illuminate\Support\Str::snake', array_keys($extensions)); - - $extensions = array_combine($keys, array_values($extensions)); - } - - $this->extensions = array_merge($this->extensions, $extensions); - } - - /** - * Register an array of custom implicit validator extensions. - * - * @param array $extensions - * @return void - */ - public function addImplicitExtensions(array $extensions) - { - $this->addExtensions($extensions); - - foreach ($extensions as $rule => $extension) { - $this->implicitRules[] = Str::studly($rule); - } - } - - /** - * Register an array of custom implicit validator extensions. - * - * @param array $extensions - * @return void - */ - public function addDependentExtensions(array $extensions) - { - $this->addExtensions($extensions); - - foreach ($extensions as $rule => $extension) { - $this->dependentRules[] = Str::studly($rule); - } - } - - /** - * Register a custom validator extension. - * - * @param string $rule - * @param \Closure|string $extension - * @return void - */ - public function addExtension($rule, $extension) - { - $this->extensions[Str::snake($rule)] = $extension; - } - - /** - * Register a custom implicit validator extension. - * - * @param string $rule - * @param \Closure|string $extension - * @return void - */ - public function addImplicitExtension($rule, $extension) - { - $this->addExtension($rule, $extension); - - $this->implicitRules[] = Str::studly($rule); - } - - /** - * Register a custom dependent validator extension. - * - * @param string $rule - * @param \Closure|string $extension - * @return void - */ - public function addDependentExtension($rule, $extension) - { - $this->addExtension($rule, $extension); - - $this->dependentRules[] = Str::studly($rule); - } - - /** - * Register an array of custom validator message replacers. - * - * @param array $replacers - * @return void - */ - public function addReplacers(array $replacers) - { - if ($replacers) { - $keys = array_map('\Illuminate\Support\Str::snake', array_keys($replacers)); - - $replacers = array_combine($keys, array_values($replacers)); - } - - $this->replacers = array_merge($this->replacers, $replacers); - } - - /** - * Register a custom validator message replacer. - * - * @param string $rule - * @param \Closure|string $replacer - * @return void - */ - public function addReplacer($rule, $replacer) - { - $this->replacers[Str::snake($rule)] = $replacer; - } - - /** - * Set the custom messages for the validator. - * - * @param array $messages - * @return $this - */ - public function setCustomMessages(array $messages) - { - $this->customMessages = array_merge($this->customMessages, $messages); - - return $this; - } - - /** - * Set the custom attributes on the validator. - * - * @param array $attributes - * @return $this - */ - public function setAttributeNames(array $attributes) - { - $this->customAttributes = $attributes; - - return $this; - } - - /** - * Add custom attributes to the validator. - * - * @param array $customAttributes - * @return $this - */ - public function addCustomAttributes(array $customAttributes) - { - $this->customAttributes = array_merge($this->customAttributes, $customAttributes); - - return $this; - } - - /** - * Set the custom values on the validator. - * - * @param array $values - * @return $this - */ - public function setValueNames(array $values) - { - $this->customValues = $values; - - return $this; - } - - /** - * Add the custom values for the validator. - * - * @param array $customValues - * @return $this - */ - public function addCustomValues(array $customValues) - { - $this->customValues = array_merge($this->customValues, $customValues); - - return $this; - } - - /** - * Set the fallback messages for the validator. - * - * @param array $messages - * @return void - */ - public function setFallbackMessages(array $messages) - { - $this->fallbackMessages = $messages; - } - - /** - * Get the Presence Verifier implementation. - * - * @return \Illuminate\Validation\PresenceVerifierInterface - * - * @throws \RuntimeException - */ - public function getPresenceVerifier() - { - if (! isset($this->presenceVerifier)) { - throw new RuntimeException('Presence verifier has not been set.'); - } - - return $this->presenceVerifier; - } - - /** - * Get the Presence Verifier implementation. - * - * @param string $connection - * @return \Illuminate\Validation\PresenceVerifierInterface - * - * @throws \RuntimeException - */ - public function getPresenceVerifierFor($connection) - { - return tap($this->getPresenceVerifier(), function ($verifier) use ($connection) { - $verifier->setConnection($connection); - }); - } - - /** - * Set the Presence Verifier implementation. - * - * @param \Illuminate\Validation\PresenceVerifierInterface $presenceVerifier - * @return void - */ - public function setPresenceVerifier(PresenceVerifierInterface $presenceVerifier) - { - $this->presenceVerifier = $presenceVerifier; - } - - /** - * Get the Translator implementation. - * - * @return \Illuminate\Contracts\Translation\Translator - */ - public function getTranslator() - { - return $this->translator; - } - - /** - * Set the Translator implementation. - * - * @param \Illuminate\Contracts\Translation\Translator $translator - * @return void - */ - public function setTranslator(Translator $translator) - { - $this->translator = $translator; - } - - /** - * Set the IoC container instance. - * - * @param \Illuminate\Contracts\Container\Container $container - * @return void - */ - public function setContainer(Container $container) - { - $this->container = $container; - } - - /** - * Call a custom validator extension. - * - * @param string $rule - * @param array $parameters - * @return bool|null - */ - protected function callExtension($rule, $parameters) - { - $callback = $this->extensions[$rule]; - - if (is_callable($callback)) { - return call_user_func_array($callback, $parameters); - } elseif (is_string($callback)) { - return $this->callClassBasedExtension($callback, $parameters); - } - } - - /** - * Call a class based validator extension. - * - * @param string $callback - * @param array $parameters - * @return bool - */ - protected function callClassBasedExtension($callback, $parameters) - { - [$class, $method] = Str::parseCallback($callback, 'validate'); - - return call_user_func_array([$this->container->make($class), $method], $parameters); - } - - /** - * Handle dynamic calls to class methods. - * - * @param string $method - * @param array $parameters - * @return mixed - * - * @throws \BadMethodCallException - */ - public function __call($method, $parameters) - { - $rule = Str::snake(substr($method, 8)); - - if (isset($this->extensions[$rule])) { - return $this->callExtension($rule, $parameters); - } - - throw new BadMethodCallException(sprintf( - 'Method %s::%s does not exist.', static::class, $method - )); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Validation/composer.json b/paragonik-backend/vendor/laravel/framework/src/Illuminate/Validation/composer.json deleted file mode 100644 index 986bcbe..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/Validation/composer.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "name": "illuminate/validation", - "description": "The Illuminate Validation package.", - "license": "MIT", - "homepage": "https://laravel.com", - "support": { - "issues": "https://github.com/laravel/framework/issues", - "source": "https://github.com/laravel/framework" - }, - "authors": [ - { - "name": "Taylor Otwell", - "email": "taylor@laravel.com" - } - ], - "require": { - "php": "^7.1.3", - "ext-json": "*", - "egulias/email-validator": "^2.0", - "illuminate/container": "5.8.*", - "illuminate/contracts": "5.8.*", - "illuminate/support": "5.8.*", - "illuminate/translation": "5.8.*", - "symfony/http-foundation": "^4.2" - }, - "autoload": { - "psr-4": { - "Illuminate\\Validation\\": "" - } - }, - "extra": { - "branch-alias": { - "dev-master": "5.8-dev" - } - }, - "suggest": { - "illuminate/database": "Required to use the database presence verifier (5.8.*)." - }, - "config": { - "sort-packages": true - }, - "minimum-stability": "dev" -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/Compilers/BladeCompiler.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/Compilers/BladeCompiler.php deleted file mode 100644 index 3db22bf..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/Compilers/BladeCompiler.php +++ /dev/null @@ -1,557 +0,0 @@ -setPath($path); - } - - if (! is_null($this->cachePath)) { - $contents = $this->compileString( - $this->files->get($this->getPath()) - ); - - if (! empty($this->getPath())) { - $tokens = $this->getOpenAndClosingPhpTokens($contents); - - // If the tokens we retrieved from the compiled contents have at least - // one opening tag and if that last token isn't the closing tag, we - // need to close the statement before adding the path at the end. - if ($tokens->isNotEmpty() && $tokens->last() !== T_CLOSE_TAG) { - $contents .= ' ?>'; - } - - $contents .= "getPath()} ENDPATH**/ ?>"; - } - - $this->files->put( - $this->getCompiledPath($this->getPath()), $contents - ); - } - } - - /** - * Get the open and closing PHP tag tokens from the given string. - * - * @param string $contents - * @return \Illuminate\Support\Collection - */ - protected function getOpenAndClosingPhpTokens($contents) - { - return collect(token_get_all($contents)) - ->pluck($tokenNumber = 0) - ->filter(function ($token) { - return in_array($token, [T_OPEN_TAG, T_OPEN_TAG_WITH_ECHO, T_CLOSE_TAG]); - }); - } - - /** - * Get the path currently being compiled. - * - * @return string - */ - public function getPath() - { - return $this->path; - } - - /** - * Set the path currently being compiled. - * - * @param string $path - * @return void - */ - public function setPath($path) - { - $this->path = $path; - } - - /** - * Compile the given Blade template contents. - * - * @param string $value - * @return string - */ - public function compileString($value) - { - if (strpos($value, '@verbatim') !== false) { - $value = $this->storeVerbatimBlocks($value); - } - - $this->footer = []; - - if (strpos($value, '@php') !== false) { - $value = $this->storePhpBlocks($value); - } - - $result = ''; - - // Here we will loop through all of the tokens returned by the Zend lexer and - // parse each one into the corresponding valid PHP. We will then have this - // template as the correctly rendered PHP that can be rendered natively. - foreach (token_get_all($value) as $token) { - $result .= is_array($token) ? $this->parseToken($token) : $token; - } - - if (! empty($this->rawBlocks)) { - $result = $this->restoreRawContent($result); - } - - // If there are any footer lines that need to get added to a template we will - // add them here at the end of the template. This gets used mainly for the - // template inheritance via the extends keyword that should be appended. - if (count($this->footer) > 0) { - $result = $this->addFooters($result); - } - - return $result; - } - - /** - * Store the verbatim blocks and replace them with a temporary placeholder. - * - * @param string $value - * @return string - */ - protected function storeVerbatimBlocks($value) - { - return preg_replace_callback('/(?storeRawBlock($matches[1]); - }, $value); - } - - /** - * Store the PHP blocks and replace them with a temporary placeholder. - * - * @param string $value - * @return string - */ - protected function storePhpBlocks($value) - { - return preg_replace_callback('/(?storeRawBlock(""); - }, $value); - } - - /** - * Store a raw block and return a unique raw placeholder. - * - * @param string $value - * @return string - */ - protected function storeRawBlock($value) - { - return $this->getRawPlaceholder( - array_push($this->rawBlocks, $value) - 1 - ); - } - - /** - * Replace the raw placeholders with the original code stored in the raw blocks. - * - * @param string $result - * @return string - */ - protected function restoreRawContent($result) - { - $result = preg_replace_callback('/'.$this->getRawPlaceholder('(\d+)').'/', function ($matches) { - return $this->rawBlocks[$matches[1]]; - }, $result); - - $this->rawBlocks = []; - - return $result; - } - - /** - * Get a placeholder to temporary mark the position of raw blocks. - * - * @param int|string $replace - * @return string - */ - protected function getRawPlaceholder($replace) - { - return str_replace('#', $replace, '@__raw_block_#__@'); - } - - /** - * Add the stored footers onto the given content. - * - * @param string $result - * @return string - */ - protected function addFooters($result) - { - return ltrim($result, PHP_EOL) - .PHP_EOL.implode(PHP_EOL, array_reverse($this->footer)); - } - - /** - * Parse the tokens from the template. - * - * @param array $token - * @return string - */ - protected function parseToken($token) - { - [$id, $content] = $token; - - if ($id == T_INLINE_HTML) { - foreach ($this->compilers as $type) { - $content = $this->{"compile{$type}"}($content); - } - } - - return $content; - } - - /** - * Execute the user defined extensions. - * - * @param string $value - * @return string - */ - protected function compileExtensions($value) - { - foreach ($this->extensions as $compiler) { - $value = call_user_func($compiler, $value, $this); - } - - return $value; - } - - /** - * Compile Blade statements that start with "@". - * - * @param string $value - * @return string - */ - protected function compileStatements($value) - { - return preg_replace_callback( - '/\B@(@?\w+(?:::\w+)?)([ \t]*)(\( ( (?>[^()]+) | (?3) )* \))?/x', function ($match) { - return $this->compileStatement($match); - }, $value - ); - } - - /** - * Compile a single Blade @ statement. - * - * @param array $match - * @return string - */ - protected function compileStatement($match) - { - if (Str::contains($match[1], '@')) { - $match[0] = isset($match[3]) ? $match[1].$match[3] : $match[1]; - } elseif (isset($this->customDirectives[$match[1]])) { - $match[0] = $this->callCustomDirective($match[1], Arr::get($match, 3)); - } elseif (method_exists($this, $method = 'compile'.ucfirst($match[1]))) { - $match[0] = $this->$method(Arr::get($match, 3)); - } - - return isset($match[3]) ? $match[0] : $match[0].$match[2]; - } - - /** - * Call the given directive with the given value. - * - * @param string $name - * @param string|null $value - * @return string - */ - protected function callCustomDirective($name, $value) - { - if (Str::startsWith($value, '(') && Str::endsWith($value, ')')) { - $value = Str::substr($value, 1, -1); - } - - return call_user_func($this->customDirectives[$name], trim($value)); - } - - /** - * Strip the parentheses from the given expression. - * - * @param string $expression - * @return string - */ - public function stripParentheses($expression) - { - if (Str::startsWith($expression, '(')) { - $expression = substr($expression, 1, -1); - } - - return $expression; - } - - /** - * Register a custom Blade compiler. - * - * @param callable $compiler - * @return void - */ - public function extend(callable $compiler) - { - $this->extensions[] = $compiler; - } - - /** - * Get the extensions used by the compiler. - * - * @return array - */ - public function getExtensions() - { - return $this->extensions; - } - - /** - * Register an "if" statement directive. - * - * @param string $name - * @param callable $callback - * @return void - */ - public function if($name, callable $callback) - { - $this->conditions[$name] = $callback; - - $this->directive($name, function ($expression) use ($name) { - return $expression !== '' - ? "" - : ""; - }); - - $this->directive('else'.$name, function ($expression) use ($name) { - return $expression !== '' - ? "" - : ""; - }); - - $this->directive('end'.$name, function () { - return ''; - }); - } - - /** - * Check the result of a condition. - * - * @param string $name - * @param array $parameters - * @return bool - */ - public function check($name, ...$parameters) - { - return call_user_func($this->conditions[$name], ...$parameters); - } - - /** - * Register a component alias directive. - * - * @param string $path - * @param string|null $alias - * @return void - */ - public function component($path, $alias = null) - { - $alias = $alias ?: Arr::last(explode('.', $path)); - - $this->directive($alias, function ($expression) use ($path) { - return $expression - ? "startComponent('{$path}', {$expression}); ?>" - : "startComponent('{$path}'); ?>"; - }); - - $this->directive('end'.$alias, function ($expression) { - return 'renderComponent(); ?>'; - }); - } - - /** - * Register an include alias directive. - * - * @param string $path - * @param string|null $alias - * @return void - */ - public function include($path, $alias = null) - { - $alias = $alias ?: Arr::last(explode('.', $path)); - - $this->directive($alias, function ($expression) use ($path) { - $expression = $this->stripParentheses($expression) ?: '[]'; - - return "make('{$path}', {$expression}, \Illuminate\Support\Arr::except(get_defined_vars(), ['__data', '__path']))->render(); ?>"; - }); - } - - /** - * Register a handler for custom directives. - * - * @param string $name - * @param callable $handler - * @return void - */ - public function directive($name, callable $handler) - { - if (! preg_match('/^\w+(?:::\w+)?$/x', $name)) { - throw new InvalidArgumentException("The directive name [{$name}] is not valid. Directive names must only contain alphanumeric characters and underscores."); - } - - $this->customDirectives[$name] = $handler; - } - - /** - * Get the list of custom directives. - * - * @return array - */ - public function getCustomDirectives() - { - return $this->customDirectives; - } - - /** - * Set the echo format to be used by the compiler. - * - * @param string $format - * @return void - */ - public function setEchoFormat($format) - { - $this->echoFormat = $format; - } - - /** - * Set the "echo" format to double encode entities. - * - * @return void - */ - public function withDoubleEncoding() - { - $this->setEchoFormat('e(%s, true)'); - } - - /** - * Set the "echo" format to not double encode entities. - * - * @return void - */ - public function withoutDoubleEncoding() - { - $this->setEchoFormat('e(%s, false)'); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/Compilers/Compiler.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/Compilers/Compiler.php deleted file mode 100644 index 9407419..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/Compilers/Compiler.php +++ /dev/null @@ -1,74 +0,0 @@ -files = $files; - $this->cachePath = $cachePath; - } - - /** - * Get the path to the compiled version of a view. - * - * @param string $path - * @return string - */ - public function getCompiledPath($path) - { - return $this->cachePath.'/'.sha1($path).'.php'; - } - - /** - * Determine if the view at the given path is expired. - * - * @param string $path - * @return bool - */ - public function isExpired($path) - { - $compiled = $this->getCompiledPath($path); - - // If the compiled file doesn't exist we will indicate that the view is expired - // so that it can be re-compiled. Else, we will verify the last modification - // of the views is less than the modification times of the compiled views. - if (! $this->files->exists($compiled)) { - return true; - } - - return $this->files->lastModified($path) >= - $this->files->lastModified($compiled); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/Compilers/CompilerInterface.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/Compilers/CompilerInterface.php deleted file mode 100644 index dfcb023..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/Compilers/CompilerInterface.php +++ /dev/null @@ -1,30 +0,0 @@ -check{$expression}): ?>"; - } - - /** - * Compile the cannot statements into valid PHP. - * - * @param string $expression - * @return string - */ - protected function compileCannot($expression) - { - return "denies{$expression}): ?>"; - } - - /** - * Compile the canany statements into valid PHP. - * - * @param string $expression - * @return string - */ - protected function compileCanany($expression) - { - return "any{$expression}): ?>"; - } - - /** - * Compile the else-can statements into valid PHP. - * - * @param string $expression - * @return string - */ - protected function compileElsecan($expression) - { - return "check{$expression}): ?>"; - } - - /** - * Compile the else-cannot statements into valid PHP. - * - * @param string $expression - * @return string - */ - protected function compileElsecannot($expression) - { - return "denies{$expression}): ?>"; - } - - /** - * Compile the else-canany statements into valid PHP. - * - * @param string $expression - * @return string - */ - protected function compileElsecanany($expression) - { - return "any{$expression}): ?>"; - } - - /** - * Compile the end-can statements into valid PHP. - * - * @return string - */ - protected function compileEndcan() - { - return ''; - } - - /** - * Compile the end-cannot statements into valid PHP. - * - * @return string - */ - protected function compileEndcannot() - { - return ''; - } - - /** - * Compile the end-canany statements into valid PHP. - * - * @return string - */ - protected function compileEndcanany() - { - return ''; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/Compilers/Concerns/CompilesComments.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/Compilers/Concerns/CompilesComments.php deleted file mode 100644 index 104a9c8..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/Compilers/Concerns/CompilesComments.php +++ /dev/null @@ -1,19 +0,0 @@ -contentTags[0], $this->contentTags[1]); - - return preg_replace($pattern, '', $value); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/Compilers/Concerns/CompilesComponents.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/Compilers/Concerns/CompilesComponents.php deleted file mode 100644 index 1ed3b9c..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/Compilers/Concerns/CompilesComponents.php +++ /dev/null @@ -1,69 +0,0 @@ -startComponent{$expression}; ?>"; - } - - /** - * Compile the end-component statements into valid PHP. - * - * @return string - */ - protected function compileEndComponent() - { - return 'renderComponent(); ?>'; - } - - /** - * Compile the slot statements into valid PHP. - * - * @param string $expression - * @return string - */ - protected function compileSlot($expression) - { - return "slot{$expression}; ?>"; - } - - /** - * Compile the end-slot statements into valid PHP. - * - * @return string - */ - protected function compileEndSlot() - { - return 'endSlot(); ?>'; - } - - /** - * Compile the component-first statements into valid PHP. - * - * @param string $expression - * @return string - */ - protected function compileComponentFirst($expression) - { - return "startComponentFirst{$expression}; ?>"; - } - - /** - * Compile the end-component-first statements into valid PHP. - * - * @return string - */ - protected function compileEndComponentFirst() - { - return $this->compileEndComponent(); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/Compilers/Concerns/CompilesConditionals.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/Compilers/Concerns/CompilesConditionals.php deleted file mode 100644 index d592ef1..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/Compilers/Concerns/CompilesConditionals.php +++ /dev/null @@ -1,230 +0,0 @@ -guard{$guard}->check()): ?>"; - } - - /** - * Compile the else-auth statements into valid PHP. - * - * @param string|null $guard - * @return string - */ - protected function compileElseAuth($guard = null) - { - $guard = is_null($guard) ? '()' : $guard; - - return "guard{$guard}->check()): ?>"; - } - - /** - * Compile the end-auth statements into valid PHP. - * - * @return string - */ - protected function compileEndAuth() - { - return ''; - } - - /** - * Compile the if-guest statements into valid PHP. - * - * @param string|null $guard - * @return string - */ - protected function compileGuest($guard = null) - { - $guard = is_null($guard) ? '()' : $guard; - - return "guard{$guard}->guest()): ?>"; - } - - /** - * Compile the else-guest statements into valid PHP. - * - * @param string|null $guard - * @return string - */ - protected function compileElseGuest($guard = null) - { - $guard = is_null($guard) ? '()' : $guard; - - return "guard{$guard}->guest()): ?>"; - } - - /** - * Compile the end-guest statements into valid PHP. - * - * @return string - */ - protected function compileEndGuest() - { - return ''; - } - - /** - * Compile the has-section statements into valid PHP. - * - * @param string $expression - * @return string - */ - protected function compileHasSection($expression) - { - return "yieldContent{$expression}))): ?>"; - } - - /** - * Compile the if statements into valid PHP. - * - * @param string $expression - * @return string - */ - protected function compileIf($expression) - { - return ""; - } - - /** - * Compile the unless statements into valid PHP. - * - * @param string $expression - * @return string - */ - protected function compileUnless($expression) - { - return ""; - } - - /** - * Compile the else-if statements into valid PHP. - * - * @param string $expression - * @return string - */ - protected function compileElseif($expression) - { - return ""; - } - - /** - * Compile the else statements into valid PHP. - * - * @return string - */ - protected function compileElse() - { - return ''; - } - - /** - * Compile the end-if statements into valid PHP. - * - * @return string - */ - protected function compileEndif() - { - return ''; - } - - /** - * Compile the end-unless statements into valid PHP. - * - * @return string - */ - protected function compileEndunless() - { - return ''; - } - - /** - * Compile the if-isset statements into valid PHP. - * - * @param string $expression - * @return string - */ - protected function compileIsset($expression) - { - return ""; - } - - /** - * Compile the end-isset statements into valid PHP. - * - * @return string - */ - protected function compileEndIsset() - { - return ''; - } - - /** - * Compile the switch statements into valid PHP. - * - * @param string $expression - * @return string - */ - protected function compileSwitch($expression) - { - $this->firstCaseInSwitch = true; - - return "firstCaseInSwitch) { - $this->firstCaseInSwitch = false; - - return "case {$expression}: ?>"; - } - - return ""; - } - - /** - * Compile the default statements in switch case into valid PHP. - * - * @return string - */ - protected function compileDefault() - { - return ''; - } - - /** - * Compile the end switch statements into valid PHP. - * - * @return string - */ - protected function compileEndSwitch() - { - return ''; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/Compilers/Concerns/CompilesEchos.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/Compilers/Concerns/CompilesEchos.php deleted file mode 100644 index 86f352e..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/Compilers/Concerns/CompilesEchos.php +++ /dev/null @@ -1,94 +0,0 @@ -getEchoMethods() as $method) { - $value = $this->$method($value); - } - - return $value; - } - - /** - * Get the echo methods in the proper order for compilation. - * - * @return array - */ - protected function getEchoMethods() - { - return [ - 'compileRawEchos', - 'compileEscapedEchos', - 'compileRegularEchos', - ]; - } - - /** - * Compile the "raw" echo statements. - * - * @param string $value - * @return string - */ - protected function compileRawEchos($value) - { - $pattern = sprintf('/(@)?%s\s*(.+?)\s*%s(\r?\n)?/s', $this->rawTags[0], $this->rawTags[1]); - - $callback = function ($matches) { - $whitespace = empty($matches[3]) ? '' : $matches[3].$matches[3]; - - return $matches[1] ? substr($matches[0], 1) : "{$whitespace}"; - }; - - return preg_replace_callback($pattern, $callback, $value); - } - - /** - * Compile the "regular" echo statements. - * - * @param string $value - * @return string - */ - protected function compileRegularEchos($value) - { - $pattern = sprintf('/(@)?%s\s*(.+?)\s*%s(\r?\n)?/s', $this->contentTags[0], $this->contentTags[1]); - - $callback = function ($matches) { - $whitespace = empty($matches[3]) ? '' : $matches[3].$matches[3]; - - $wrapped = sprintf($this->echoFormat, $matches[2]); - - return $matches[1] ? substr($matches[0], 1) : "{$whitespace}"; - }; - - return preg_replace_callback($pattern, $callback, $value); - } - - /** - * Compile the escaped echo statements. - * - * @param string $value - * @return string - */ - protected function compileEscapedEchos($value) - { - $pattern = sprintf('/(@)?%s\s*(.+?)\s*%s(\r?\n)?/s', $this->escapedTags[0], $this->escapedTags[1]); - - $callback = function ($matches) { - $whitespace = empty($matches[3]) ? '' : $matches[3].$matches[3]; - - return $matches[1] ? $matches[0] : "{$whitespace}"; - }; - - return preg_replace_callback($pattern, $callback, $value); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/Compilers/Concerns/CompilesErrors.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/Compilers/Concerns/CompilesErrors.php deleted file mode 100644 index 252871d..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/Compilers/Concerns/CompilesErrors.php +++ /dev/null @@ -1,34 +0,0 @@ -stripParentheses($expression); - - return 'has('.$expression.')) : -if (isset($message)) { $messageCache = $message; } -$message = $errors->first('.$expression.'); ?>'; - } - - /** - * Compile the enderror statements into valid PHP. - * - * @param string $expression - * @return string - */ - protected function compileEnderror($expression) - { - return ''; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/Compilers/Concerns/CompilesHelpers.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/Compilers/Concerns/CompilesHelpers.php deleted file mode 100644 index 979cadc..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/Compilers/Concerns/CompilesHelpers.php +++ /dev/null @@ -1,49 +0,0 @@ -'; - } - - /** - * Compile the "dd" statements into valid PHP. - * - * @param string $arguments - * @return string - */ - protected function compileDd($arguments) - { - return ""; - } - - /** - * Compile the "dump" statements into valid PHP. - * - * @param string $arguments - * @return string - */ - protected function compileDump($arguments) - { - return ""; - } - - /** - * Compile the method statements into valid PHP. - * - * @param string $method - * @return string - */ - protected function compileMethod($method) - { - return ""; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/Compilers/Concerns/CompilesIncludes.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/Compilers/Concerns/CompilesIncludes.php deleted file mode 100644 index fbb8b4a..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/Compilers/Concerns/CompilesIncludes.php +++ /dev/null @@ -1,69 +0,0 @@ -renderEach{$expression}; ?>"; - } - - /** - * Compile the include statements into valid PHP. - * - * @param string $expression - * @return string - */ - protected function compileInclude($expression) - { - $expression = $this->stripParentheses($expression); - - return "make({$expression}, \Illuminate\Support\Arr::except(get_defined_vars(), ['__data', '__path']))->render(); ?>"; - } - - /** - * Compile the include-if statements into valid PHP. - * - * @param string $expression - * @return string - */ - protected function compileIncludeIf($expression) - { - $expression = $this->stripParentheses($expression); - - return "exists({$expression})) echo \$__env->make({$expression}, \Illuminate\Support\Arr::except(get_defined_vars(), ['__data', '__path']))->render(); ?>"; - } - - /** - * Compile the include-when statements into valid PHP. - * - * @param string $expression - * @return string - */ - protected function compileIncludeWhen($expression) - { - $expression = $this->stripParentheses($expression); - - return "renderWhen($expression, \Illuminate\Support\Arr::except(get_defined_vars(), ['__data', '__path'])); ?>"; - } - - /** - * Compile the include-first statements into valid PHP. - * - * @param string $expression - * @return string - */ - protected function compileIncludeFirst($expression) - { - $expression = $this->stripParentheses($expression); - - return "first({$expression}, \Illuminate\Support\Arr::except(get_defined_vars(), ['__data', '__path']))->render(); ?>"; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/Compilers/Concerns/CompilesInjections.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/Compilers/Concerns/CompilesInjections.php deleted file mode 100644 index c295bcd..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/Compilers/Concerns/CompilesInjections.php +++ /dev/null @@ -1,23 +0,0 @@ -"; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/Compilers/Concerns/CompilesJson.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/Compilers/Concerns/CompilesJson.php deleted file mode 100644 index cf343e9..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/Compilers/Concerns/CompilesJson.php +++ /dev/null @@ -1,30 +0,0 @@ -stripParentheses($expression)); - - $options = isset($parts[1]) ? trim($parts[1]) : $this->encodingOptions; - - $depth = isset($parts[2]) ? trim($parts[2]) : 512; - - return ""; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/Compilers/Concerns/CompilesLayouts.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/Compilers/Concerns/CompilesLayouts.php deleted file mode 100644 index aaef617..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/Compilers/Concerns/CompilesLayouts.php +++ /dev/null @@ -1,116 +0,0 @@ -stripParentheses($expression); - - $echo = "make({$expression}, \Illuminate\Support\Arr::except(get_defined_vars(), ['__data', '__path']))->render(); ?>"; - - $this->footer[] = $echo; - - return ''; - } - - /** - * Compile the section statements into valid PHP. - * - * @param string $expression - * @return string - */ - protected function compileSection($expression) - { - $this->lastSection = trim($expression, "()'\" "); - - return "startSection{$expression}; ?>"; - } - - /** - * Replace the @parent directive to a placeholder. - * - * @return string - */ - protected function compileParent() - { - return ViewFactory::parentPlaceholder($this->lastSection ?: ''); - } - - /** - * Compile the yield statements into valid PHP. - * - * @param string $expression - * @return string - */ - protected function compileYield($expression) - { - return "yieldContent{$expression}; ?>"; - } - - /** - * Compile the show statements into valid PHP. - * - * @return string - */ - protected function compileShow() - { - return 'yieldSection(); ?>'; - } - - /** - * Compile the append statements into valid PHP. - * - * @return string - */ - protected function compileAppend() - { - return 'appendSection(); ?>'; - } - - /** - * Compile the overwrite statements into valid PHP. - * - * @return string - */ - protected function compileOverwrite() - { - return 'stopSection(true); ?>'; - } - - /** - * Compile the stop statements into valid PHP. - * - * @return string - */ - protected function compileStop() - { - return 'stopSection(); ?>'; - } - - /** - * Compile the end-section statements into valid PHP. - * - * @return string - */ - protected function compileEndsection() - { - return 'stopSection(); ?>'; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/Compilers/Concerns/CompilesLoops.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/Compilers/Concerns/CompilesLoops.php deleted file mode 100644 index 9f64c4f..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/Compilers/Concerns/CompilesLoops.php +++ /dev/null @@ -1,180 +0,0 @@ -forElseCounter; - - preg_match('/\( *(.*) +as *(.*)\)$/is', $expression, $matches); - - $iteratee = trim($matches[1]); - - $iteration = trim($matches[2]); - - $initLoop = "\$__currentLoopData = {$iteratee}; \$__env->addLoop(\$__currentLoopData);"; - - $iterateLoop = '$__env->incrementLoopIndices(); $loop = $__env->getLastLoop();'; - - return ""; - } - - /** - * Compile the for-else-empty and empty statements into valid PHP. - * - * @param string $expression - * @return string - */ - protected function compileEmpty($expression) - { - if ($expression) { - return ""; - } - - $empty = '$__empty_'.$this->forElseCounter--; - - return "popLoop(); \$loop = \$__env->getLastLoop(); if ({$empty}): ?>"; - } - - /** - * Compile the end-for-else statements into valid PHP. - * - * @return string - */ - protected function compileEndforelse() - { - return ''; - } - - /** - * Compile the end-empty statements into valid PHP. - * - * @return string - */ - protected function compileEndEmpty() - { - return ''; - } - - /** - * Compile the for statements into valid PHP. - * - * @param string $expression - * @return string - */ - protected function compileFor($expression) - { - return ""; - } - - /** - * Compile the for-each statements into valid PHP. - * - * @param string $expression - * @return string - */ - protected function compileForeach($expression) - { - preg_match('/\( *(.*) +as *(.*)\)$/is', $expression, $matches); - - $iteratee = trim($matches[1]); - - $iteration = trim($matches[2]); - - $initLoop = "\$__currentLoopData = {$iteratee}; \$__env->addLoop(\$__currentLoopData);"; - - $iterateLoop = '$__env->incrementLoopIndices(); $loop = $__env->getLastLoop();'; - - return ""; - } - - /** - * Compile the break statements into valid PHP. - * - * @param string $expression - * @return string - */ - protected function compileBreak($expression) - { - if ($expression) { - preg_match('/\(\s*(-?\d+)\s*\)$/', $expression, $matches); - - return $matches ? '' : ""; - } - - return ''; - } - - /** - * Compile the continue statements into valid PHP. - * - * @param string $expression - * @return string - */ - protected function compileContinue($expression) - { - if ($expression) { - preg_match('/\(\s*(-?\d+)\s*\)$/', $expression, $matches); - - return $matches ? '' : ""; - } - - return ''; - } - - /** - * Compile the end-for statements into valid PHP. - * - * @return string - */ - protected function compileEndfor() - { - return ''; - } - - /** - * Compile the end-for-each statements into valid PHP. - * - * @return string - */ - protected function compileEndforeach() - { - return 'popLoop(); $loop = $__env->getLastLoop(); ?>'; - } - - /** - * Compile the while statements into valid PHP. - * - * @param string $expression - * @return string - */ - protected function compileWhile($expression) - { - return ""; - } - - /** - * Compile the end-while statements into valid PHP. - * - * @return string - */ - protected function compileEndwhile() - { - return ''; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/Compilers/Concerns/CompilesRawPhp.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/Compilers/Concerns/CompilesRawPhp.php deleted file mode 100644 index 41c7edf..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/Compilers/Concerns/CompilesRawPhp.php +++ /dev/null @@ -1,32 +0,0 @@ -"; - } - - return '@php'; - } - - /** - * Compile the unset statements into valid PHP. - * - * @param string $expression - * @return string - */ - protected function compileUnset($expression) - { - return ""; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/Compilers/Concerns/CompilesStacks.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/Compilers/Concerns/CompilesStacks.php deleted file mode 100644 index 79a380e..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/Compilers/Concerns/CompilesStacks.php +++ /dev/null @@ -1,59 +0,0 @@ -yieldPushContent{$expression}; ?>"; - } - - /** - * Compile the push statements into valid PHP. - * - * @param string $expression - * @return string - */ - protected function compilePush($expression) - { - return "startPush{$expression}; ?>"; - } - - /** - * Compile the end-push statements into valid PHP. - * - * @return string - */ - protected function compileEndpush() - { - return 'stopPush(); ?>'; - } - - /** - * Compile the prepend statements into valid PHP. - * - * @param string $expression - * @return string - */ - protected function compilePrepend($expression) - { - return "startPrepend{$expression}; ?>"; - } - - /** - * Compile the end-prepend statements into valid PHP. - * - * @return string - */ - protected function compileEndprepend() - { - return 'stopPrepend(); ?>'; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/Compilers/Concerns/CompilesTranslations.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/Compilers/Concerns/CompilesTranslations.php deleted file mode 100644 index feb7e65..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/Compilers/Concerns/CompilesTranslations.php +++ /dev/null @@ -1,44 +0,0 @@ -startTranslation(); ?>'; - } elseif ($expression[1] === '[') { - return "startTranslation{$expression}; ?>"; - } - - return "getFromJson{$expression}; ?>"; - } - - /** - * Compile the end-lang statements into valid PHP. - * - * @return string - */ - protected function compileEndlang() - { - return 'renderTranslation(); ?>'; - } - - /** - * Compile the choice statements into valid PHP. - * - * @param string $expression - * @return string - */ - protected function compileChoice($expression) - { - return "choice{$expression}; ?>"; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/Concerns/ManagesComponents.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/Concerns/ManagesComponents.php deleted file mode 100644 index 7cfff70..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/Concerns/ManagesComponents.php +++ /dev/null @@ -1,145 +0,0 @@ -componentStack[] = $name; - - $this->componentData[$this->currentComponent()] = $data; - - $this->slots[$this->currentComponent()] = []; - } - } - - /** - * Get the first view that actually exists from the given list, and start a component. - * - * @param array $names - * @param array $data - * @return void - */ - public function startComponentFirst(array $names, array $data = []) - { - $name = Arr::first($names, function ($item) { - return $this->exists($item); - }); - - $this->startComponent($name, $data); - } - - /** - * Render the current component. - * - * @return string - */ - public function renderComponent() - { - $name = array_pop($this->componentStack); - - return $this->make($name, $this->componentData($name))->render(); - } - - /** - * Get the data for the given component. - * - * @param string $name - * @return array - */ - protected function componentData($name) - { - return array_merge( - $this->componentData[count($this->componentStack)], - ['slot' => new HtmlString(trim(ob_get_clean()))], - $this->slots[count($this->componentStack)] - ); - } - - /** - * Start the slot rendering process. - * - * @param string $name - * @param string|null $content - * @return void - */ - public function slot($name, $content = null) - { - if (func_num_args() === 2) { - $this->slots[$this->currentComponent()][$name] = $content; - } else { - if (ob_start()) { - $this->slots[$this->currentComponent()][$name] = ''; - - $this->slotStack[$this->currentComponent()][] = $name; - } - } - } - - /** - * Save the slot content for rendering. - * - * @return void - */ - public function endSlot() - { - last($this->componentStack); - - $currentSlot = array_pop( - $this->slotStack[$this->currentComponent()] - ); - - $this->slots[$this->currentComponent()] - [$currentSlot] = new HtmlString(trim(ob_get_clean())); - } - - /** - * Get the index for the current component. - * - * @return int - */ - protected function currentComponent() - { - return count($this->componentStack) - 1; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/Concerns/ManagesEvents.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/Concerns/ManagesEvents.php deleted file mode 100644 index 7e844b2..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/Concerns/ManagesEvents.php +++ /dev/null @@ -1,192 +0,0 @@ -addViewEvent($view, $callback, 'creating: '); - } - - return $creators; - } - - /** - * Register multiple view composers via an array. - * - * @param array $composers - * @return array - */ - public function composers(array $composers) - { - $registered = []; - - foreach ($composers as $callback => $views) { - $registered = array_merge($registered, $this->composer($views, $callback)); - } - - return $registered; - } - - /** - * Register a view composer event. - * - * @param array|string $views - * @param \Closure|string $callback - * @return array - */ - public function composer($views, $callback) - { - $composers = []; - - foreach ((array) $views as $view) { - $composers[] = $this->addViewEvent($view, $callback, 'composing: '); - } - - return $composers; - } - - /** - * Add an event for a given view. - * - * @param string $view - * @param \Closure|string $callback - * @param string $prefix - * @return \Closure|null - */ - protected function addViewEvent($view, $callback, $prefix = 'composing: ') - { - $view = $this->normalizeName($view); - - if ($callback instanceof Closure) { - $this->addEventListener($prefix.$view, $callback); - - return $callback; - } elseif (is_string($callback)) { - return $this->addClassEvent($view, $callback, $prefix); - } - } - - /** - * Register a class based view composer. - * - * @param string $view - * @param string $class - * @param string $prefix - * @return \Closure - */ - protected function addClassEvent($view, $class, $prefix) - { - $name = $prefix.$view; - - // When registering a class based view "composer", we will simply resolve the - // classes from the application IoC container then call the compose method - // on the instance. This allows for convenient, testable view composers. - $callback = $this->buildClassEventCallback( - $class, $prefix - ); - - $this->addEventListener($name, $callback); - - return $callback; - } - - /** - * Build a class based container callback Closure. - * - * @param string $class - * @param string $prefix - * @return \Closure - */ - protected function buildClassEventCallback($class, $prefix) - { - [$class, $method] = $this->parseClassEvent($class, $prefix); - - // Once we have the class and method name, we can build the Closure to resolve - // the instance out of the IoC container and call the method on it with the - // given arguments that are passed to the Closure as the composer's data. - return function () use ($class, $method) { - return call_user_func_array( - [$this->container->make($class), $method], func_get_args() - ); - }; - } - - /** - * Parse a class based composer name. - * - * @param string $class - * @param string $prefix - * @return array - */ - protected function parseClassEvent($class, $prefix) - { - return Str::parseCallback($class, $this->classEventMethodForPrefix($prefix)); - } - - /** - * Determine the class event method based on the given prefix. - * - * @param string $prefix - * @return string - */ - protected function classEventMethodForPrefix($prefix) - { - return Str::contains($prefix, 'composing') ? 'compose' : 'create'; - } - - /** - * Add a listener to the event dispatcher. - * - * @param string $name - * @param \Closure $callback - * @return void - */ - protected function addEventListener($name, $callback) - { - if (Str::contains($name, '*')) { - $callback = function ($name, array $data) use ($callback) { - return $callback($data[0]); - }; - } - - $this->events->listen($name, $callback); - } - - /** - * Call the composer for a given view. - * - * @param \Illuminate\Contracts\View\View $view - * @return void - */ - public function callComposer(ViewContract $view) - { - $this->events->dispatch('composing: '.$view->name(), [$view]); - } - - /** - * Call the creator for a given view. - * - * @param \Illuminate\Contracts\View\View $view - * @return void - */ - public function callCreator(ViewContract $view) - { - $this->events->dispatch('creating: '.$view->name(), [$view]); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/Concerns/ManagesLayouts.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/Concerns/ManagesLayouts.php deleted file mode 100644 index 391d051..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/Concerns/ManagesLayouts.php +++ /dev/null @@ -1,220 +0,0 @@ -sectionStack[] = $section; - } - } else { - $this->extendSection($section, $content instanceof View ? $content : e($content)); - } - } - - /** - * Inject inline content into a section. - * - * @param string $section - * @param string $content - * @return void - */ - public function inject($section, $content) - { - $this->startSection($section, $content); - } - - /** - * Stop injecting content into a section and return its contents. - * - * @return string - */ - public function yieldSection() - { - if (empty($this->sectionStack)) { - return ''; - } - - return $this->yieldContent($this->stopSection()); - } - - /** - * Stop injecting content into a section. - * - * @param bool $overwrite - * @return string - * - * @throws \InvalidArgumentException - */ - public function stopSection($overwrite = false) - { - if (empty($this->sectionStack)) { - throw new InvalidArgumentException('Cannot end a section without first starting one.'); - } - - $last = array_pop($this->sectionStack); - - if ($overwrite) { - $this->sections[$last] = ob_get_clean(); - } else { - $this->extendSection($last, ob_get_clean()); - } - - return $last; - } - - /** - * Stop injecting content into a section and append it. - * - * @return string - * - * @throws \InvalidArgumentException - */ - public function appendSection() - { - if (empty($this->sectionStack)) { - throw new InvalidArgumentException('Cannot end a section without first starting one.'); - } - - $last = array_pop($this->sectionStack); - - if (isset($this->sections[$last])) { - $this->sections[$last] .= ob_get_clean(); - } else { - $this->sections[$last] = ob_get_clean(); - } - - return $last; - } - - /** - * Append content to a given section. - * - * @param string $section - * @param string $content - * @return void - */ - protected function extendSection($section, $content) - { - if (isset($this->sections[$section])) { - $content = str_replace(static::parentPlaceholder($section), $content, $this->sections[$section]); - } - - $this->sections[$section] = $content; - } - - /** - * Get the string contents of a section. - * - * @param string $section - * @param string $default - * @return string - */ - public function yieldContent($section, $default = '') - { - $sectionContent = $default instanceof View ? $default : e($default); - - if (isset($this->sections[$section])) { - $sectionContent = $this->sections[$section]; - } - - $sectionContent = str_replace('@@parent', '--parent--holder--', $sectionContent); - - return str_replace( - '--parent--holder--', '@parent', str_replace(static::parentPlaceholder($section), '', $sectionContent) - ); - } - - /** - * Get the parent placeholder for the current request. - * - * @param string $section - * @return string - */ - public static function parentPlaceholder($section = '') - { - if (! isset(static::$parentPlaceholder[$section])) { - static::$parentPlaceholder[$section] = '##parent-placeholder-'.sha1($section).'##'; - } - - return static::$parentPlaceholder[$section]; - } - - /** - * Check if section exists. - * - * @param string $name - * @return bool - */ - public function hasSection($name) - { - return array_key_exists($name, $this->sections); - } - - /** - * Get the contents of a section. - * - * @param string $name - * @param string|null $default - * @return mixed - */ - public function getSection($name, $default = null) - { - return $this->getSections()[$name] ?? $default; - } - - /** - * Get the entire array of sections. - * - * @return array - */ - public function getSections() - { - return $this->sections; - } - - /** - * Flush all of the sections. - * - * @return void - */ - public function flushSections() - { - $this->sections = []; - $this->sectionStack = []; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/Concerns/ManagesLoops.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/Concerns/ManagesLoops.php deleted file mode 100644 index edd6363..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/Concerns/ManagesLoops.php +++ /dev/null @@ -1,94 +0,0 @@ -loopsStack); - - $this->loopsStack[] = [ - 'iteration' => 0, - 'index' => 0, - 'remaining' => $length ?? null, - 'count' => $length, - 'first' => true, - 'last' => isset($length) ? $length == 1 : null, - 'odd' => false, - 'even' => true, - 'depth' => count($this->loopsStack) + 1, - 'parent' => $parent ? (object) $parent : null, - ]; - } - - /** - * Increment the top loop's indices. - * - * @return void - */ - public function incrementLoopIndices() - { - $loop = $this->loopsStack[$index = count($this->loopsStack) - 1]; - - $this->loopsStack[$index] = array_merge($this->loopsStack[$index], [ - 'iteration' => $loop['iteration'] + 1, - 'index' => $loop['iteration'], - 'first' => $loop['iteration'] == 0, - 'odd' => ! $loop['odd'], - 'even' => ! $loop['even'], - 'remaining' => isset($loop['count']) ? $loop['remaining'] - 1 : null, - 'last' => isset($loop['count']) ? $loop['iteration'] == $loop['count'] - 1 : null, - ]); - } - - /** - * Pop a loop from the top of the loop stack. - * - * @return void - */ - public function popLoop() - { - array_pop($this->loopsStack); - } - - /** - * Get an instance of the last loop in the stack. - * - * @return \stdClass|null - */ - public function getLastLoop() - { - if ($last = Arr::last($this->loopsStack)) { - return (object) $last; - } - } - - /** - * Get the entire loop stack. - * - * @return array - */ - public function getLoopStack() - { - return $this->loopsStack; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/Concerns/ManagesStacks.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/Concerns/ManagesStacks.php deleted file mode 100644 index 4e063af..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/Concerns/ManagesStacks.php +++ /dev/null @@ -1,179 +0,0 @@ -pushStack[] = $section; - } - } else { - $this->extendPush($section, $content); - } - } - - /** - * Stop injecting content into a push section. - * - * @return string - * - * @throws \InvalidArgumentException - */ - public function stopPush() - { - if (empty($this->pushStack)) { - throw new InvalidArgumentException('Cannot end a push stack without first starting one.'); - } - - return tap(array_pop($this->pushStack), function ($last) { - $this->extendPush($last, ob_get_clean()); - }); - } - - /** - * Append content to a given push section. - * - * @param string $section - * @param string $content - * @return void - */ - protected function extendPush($section, $content) - { - if (! isset($this->pushes[$section])) { - $this->pushes[$section] = []; - } - - if (! isset($this->pushes[$section][$this->renderCount])) { - $this->pushes[$section][$this->renderCount] = $content; - } else { - $this->pushes[$section][$this->renderCount] .= $content; - } - } - - /** - * Start prepending content into a push section. - * - * @param string $section - * @param string $content - * @return void - */ - public function startPrepend($section, $content = '') - { - if ($content === '') { - if (ob_start()) { - $this->pushStack[] = $section; - } - } else { - $this->extendPrepend($section, $content); - } - } - - /** - * Stop prepending content into a push section. - * - * @return string - * - * @throws \InvalidArgumentException - */ - public function stopPrepend() - { - if (empty($this->pushStack)) { - throw new InvalidArgumentException('Cannot end a prepend operation without first starting one.'); - } - - return tap(array_pop($this->pushStack), function ($last) { - $this->extendPrepend($last, ob_get_clean()); - }); - } - - /** - * Prepend content to a given stack. - * - * @param string $section - * @param string $content - * @return void - */ - protected function extendPrepend($section, $content) - { - if (! isset($this->prepends[$section])) { - $this->prepends[$section] = []; - } - - if (! isset($this->prepends[$section][$this->renderCount])) { - $this->prepends[$section][$this->renderCount] = $content; - } else { - $this->prepends[$section][$this->renderCount] = $content.$this->prepends[$section][$this->renderCount]; - } - } - - /** - * Get the string contents of a push section. - * - * @param string $section - * @param string $default - * @return string - */ - public function yieldPushContent($section, $default = '') - { - if (! isset($this->pushes[$section]) && ! isset($this->prepends[$section])) { - return $default; - } - - $output = ''; - - if (isset($this->prepends[$section])) { - $output .= implode(array_reverse($this->prepends[$section])); - } - - if (isset($this->pushes[$section])) { - $output .= implode($this->pushes[$section]); - } - - return $output; - } - - /** - * Flush all of the stacks. - * - * @return void - */ - public function flushStacks() - { - $this->pushes = []; - $this->prepends = []; - $this->pushStack = []; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/Concerns/ManagesTranslations.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/Concerns/ManagesTranslations.php deleted file mode 100644 index 841c3fe..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/Concerns/ManagesTranslations.php +++ /dev/null @@ -1,38 +0,0 @@ -translationReplacements = $replacements; - } - - /** - * Render the current translation. - * - * @return string - */ - public function renderTranslation() - { - return $this->container->make('translator')->getFromJson( - trim(ob_get_clean()), $this->translationReplacements - ); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php deleted file mode 100644 index 2f7f84b..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php +++ /dev/null @@ -1,102 +0,0 @@ -compiler = $compiler; - } - - /** - * Get the evaluated contents of the view. - * - * @param string $path - * @param array $data - * @return string - */ - public function get($path, array $data = []) - { - $this->lastCompiled[] = $path; - - // If this given view has expired, which means it has simply been edited since - // it was last compiled, we will re-compile the views so we can evaluate a - // fresh copy of the view. We'll pass the compiler the path of the view. - if ($this->compiler->isExpired($path)) { - $this->compiler->compile($path); - } - - $compiled = $this->compiler->getCompiledPath($path); - - // Once we have the path to the compiled file, we will evaluate the paths with - // typical PHP just like any other templates. We also keep a stack of views - // which have been rendered for right exception messages to be generated. - $results = $this->evaluatePath($compiled, $data); - - array_pop($this->lastCompiled); - - return $results; - } - - /** - * Handle a view exception. - * - * @param \Exception $e - * @param int $obLevel - * @return void - * - * @throws \Exception - */ - protected function handleViewException(Exception $e, $obLevel) - { - $e = new ErrorException($this->getMessage($e), 0, 1, $e->getFile(), $e->getLine(), $e); - - parent::handleViewException($e, $obLevel); - } - - /** - * Get the exception message for an exception. - * - * @param \Exception $e - * @return string - */ - protected function getMessage(Exception $e) - { - return $e->getMessage().' (View: '.realpath(last($this->lastCompiled)).')'; - } - - /** - * Get the compiler implementation. - * - * @return \Illuminate\View\Compilers\CompilerInterface - */ - public function getCompiler() - { - return $this->compiler; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/Engines/Engine.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/Engines/Engine.php deleted file mode 100644 index bf5c748..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/Engines/Engine.php +++ /dev/null @@ -1,23 +0,0 @@ -lastRendered; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/Engines/EngineResolver.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/Engines/EngineResolver.php deleted file mode 100644 index 98d14ed..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/Engines/EngineResolver.php +++ /dev/null @@ -1,60 +0,0 @@ -resolved[$engine]); - - $this->resolvers[$engine] = $resolver; - } - - /** - * Resolve an engine instance by name. - * - * @param string $engine - * @return \Illuminate\Contracts\View\Engine - * - * @throws \InvalidArgumentException - */ - public function resolve($engine) - { - if (isset($this->resolved[$engine])) { - return $this->resolved[$engine]; - } - - if (isset($this->resolvers[$engine])) { - return $this->resolved[$engine] = call_user_func($this->resolvers[$engine]); - } - - throw new InvalidArgumentException("Engine [{$engine}] not found."); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/Engines/FileEngine.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/Engines/FileEngine.php deleted file mode 100644 index 360b543..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/Engines/FileEngine.php +++ /dev/null @@ -1,20 +0,0 @@ -evaluatePath($path, $data); - } - - /** - * Get the evaluated contents of the view at the given path. - * - * @param string $__path - * @param array $__data - * @return string - */ - protected function evaluatePath($__path, $__data) - { - $obLevel = ob_get_level(); - - ob_start(); - - extract($__data, EXTR_SKIP); - - // We'll evaluate the contents of the view inside a try/catch block so we can - // flush out any stray output that might get out before an error occurs or - // an exception is thrown. This prevents any partial views from leaking. - try { - include $__path; - } catch (Exception $e) { - $this->handleViewException($e, $obLevel); - } catch (Throwable $e) { - $this->handleViewException(new FatalThrowableError($e), $obLevel); - } - - return ltrim(ob_get_clean()); - } - - /** - * Handle a view exception. - * - * @param \Exception $e - * @param int $obLevel - * @return void - * - * @throws \Exception - */ - protected function handleViewException(Exception $e, $obLevel) - { - while (ob_get_level() > $obLevel) { - ob_end_clean(); - } - - throw $e; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/Factory.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/Factory.php deleted file mode 100644 index 09ba600..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/Factory.php +++ /dev/null @@ -1,568 +0,0 @@ - 'blade', - 'php' => 'php', - 'css' => 'file', - 'html' => 'file', - ]; - - /** - * The view composer events. - * - * @var array - */ - protected $composers = []; - - /** - * The number of active rendering operations. - * - * @var int - */ - protected $renderCount = 0; - - /** - * Create a new view factory instance. - * - * @param \Illuminate\View\Engines\EngineResolver $engines - * @param \Illuminate\View\ViewFinderInterface $finder - * @param \Illuminate\Contracts\Events\Dispatcher $events - * @return void - */ - public function __construct(EngineResolver $engines, ViewFinderInterface $finder, Dispatcher $events) - { - $this->finder = $finder; - $this->events = $events; - $this->engines = $engines; - - $this->share('__env', $this); - } - - /** - * Get the evaluated view contents for the given view. - * - * @param string $path - * @param \Illuminate\Contracts\Support\Arrayable|array $data - * @param array $mergeData - * @return \Illuminate\Contracts\View\View - */ - public function file($path, $data = [], $mergeData = []) - { - $data = array_merge($mergeData, $this->parseData($data)); - - return tap($this->viewInstance($path, $path, $data), function ($view) { - $this->callCreator($view); - }); - } - - /** - * Get the evaluated view contents for the given view. - * - * @param string $view - * @param \Illuminate\Contracts\Support\Arrayable|array $data - * @param array $mergeData - * @return \Illuminate\Contracts\View\View - */ - public function make($view, $data = [], $mergeData = []) - { - $path = $this->finder->find( - $view = $this->normalizeName($view) - ); - - // Next, we will create the view instance and call the view creator for the view - // which can set any data, etc. Then we will return the view instance back to - // the caller for rendering or performing other view manipulations on this. - $data = array_merge($mergeData, $this->parseData($data)); - - return tap($this->viewInstance($view, $path, $data), function ($view) { - $this->callCreator($view); - }); - } - - /** - * Get the first view that actually exists from the given list. - * - * @param array $views - * @param \Illuminate\Contracts\Support\Arrayable|array $data - * @param array $mergeData - * @return \Illuminate\Contracts\View\View - * - * @throws \InvalidArgumentException - */ - public function first(array $views, $data = [], $mergeData = []) - { - $view = Arr::first($views, function ($view) { - return $this->exists($view); - }); - - if (! $view) { - throw new InvalidArgumentException('None of the views in the given array exist.'); - } - - return $this->make($view, $data, $mergeData); - } - - /** - * Get the rendered content of the view based on a given condition. - * - * @param bool $condition - * @param string $view - * @param \Illuminate\Contracts\Support\Arrayable|array $data - * @param array $mergeData - * @return string - */ - public function renderWhen($condition, $view, $data = [], $mergeData = []) - { - if (! $condition) { - return ''; - } - - return $this->make($view, $this->parseData($data), $mergeData)->render(); - } - - /** - * Get the rendered contents of a partial from a loop. - * - * @param string $view - * @param array $data - * @param string $iterator - * @param string $empty - * @return string - */ - public function renderEach($view, $data, $iterator, $empty = 'raw|') - { - $result = ''; - - // If is actually data in the array, we will loop through the data and append - // an instance of the partial view to the final result HTML passing in the - // iterated value of this data array, allowing the views to access them. - if (count($data) > 0) { - foreach ($data as $key => $value) { - $result .= $this->make( - $view, ['key' => $key, $iterator => $value] - )->render(); - } - } - - // If there is no data in the array, we will render the contents of the empty - // view. Alternatively, the "empty view" could be a raw string that begins - // with "raw|" for convenience and to let this know that it is a string. - else { - $result = Str::startsWith($empty, 'raw|') - ? substr($empty, 4) - : $this->make($empty)->render(); - } - - return $result; - } - - /** - * Normalize a view name. - * - * @param string $name - * @return string - */ - protected function normalizeName($name) - { - return ViewName::normalize($name); - } - - /** - * Parse the given data into a raw array. - * - * @param mixed $data - * @return array - */ - protected function parseData($data) - { - return $data instanceof Arrayable ? $data->toArray() : $data; - } - - /** - * Create a new view instance from the given arguments. - * - * @param string $view - * @param string $path - * @param \Illuminate\Contracts\Support\Arrayable|array $data - * @return \Illuminate\Contracts\View\View - */ - protected function viewInstance($view, $path, $data) - { - return new View($this, $this->getEngineFromPath($path), $view, $path, $data); - } - - /** - * Determine if a given view exists. - * - * @param string $view - * @return bool - */ - public function exists($view) - { - try { - $this->finder->find($view); - } catch (InvalidArgumentException $e) { - return false; - } - - return true; - } - - /** - * Get the appropriate view engine for the given path. - * - * @param string $path - * @return \Illuminate\Contracts\View\Engine - * - * @throws \InvalidArgumentException - */ - public function getEngineFromPath($path) - { - if (! $extension = $this->getExtension($path)) { - throw new InvalidArgumentException("Unrecognized extension in file: {$path}"); - } - - $engine = $this->extensions[$extension]; - - return $this->engines->resolve($engine); - } - - /** - * Get the extension used by the view file. - * - * @param string $path - * @return string - */ - protected function getExtension($path) - { - $extensions = array_keys($this->extensions); - - return Arr::first($extensions, function ($value) use ($path) { - return Str::endsWith($path, '.'.$value); - }); - } - - /** - * Add a piece of shared data to the environment. - * - * @param array|string $key - * @param mixed|null $value - * @return mixed - */ - public function share($key, $value = null) - { - $keys = is_array($key) ? $key : [$key => $value]; - - foreach ($keys as $key => $value) { - $this->shared[$key] = $value; - } - - return $value; - } - - /** - * Increment the rendering counter. - * - * @return void - */ - public function incrementRender() - { - $this->renderCount++; - } - - /** - * Decrement the rendering counter. - * - * @return void - */ - public function decrementRender() - { - $this->renderCount--; - } - - /** - * Check if there are no active render operations. - * - * @return bool - */ - public function doneRendering() - { - return $this->renderCount == 0; - } - - /** - * Add a location to the array of view locations. - * - * @param string $location - * @return void - */ - public function addLocation($location) - { - $this->finder->addLocation($location); - } - - /** - * Add a new namespace to the loader. - * - * @param string $namespace - * @param string|array $hints - * @return $this - */ - public function addNamespace($namespace, $hints) - { - $this->finder->addNamespace($namespace, $hints); - - return $this; - } - - /** - * Prepend a new namespace to the loader. - * - * @param string $namespace - * @param string|array $hints - * @return $this - */ - public function prependNamespace($namespace, $hints) - { - $this->finder->prependNamespace($namespace, $hints); - - return $this; - } - - /** - * Replace the namespace hints for the given namespace. - * - * @param string $namespace - * @param string|array $hints - * @return $this - */ - public function replaceNamespace($namespace, $hints) - { - $this->finder->replaceNamespace($namespace, $hints); - - return $this; - } - - /** - * Register a valid view extension and its engine. - * - * @param string $extension - * @param string $engine - * @param \Closure|null $resolver - * @return void - */ - public function addExtension($extension, $engine, $resolver = null) - { - $this->finder->addExtension($extension); - - if (isset($resolver)) { - $this->engines->register($engine, $resolver); - } - - unset($this->extensions[$extension]); - - $this->extensions = array_merge([$extension => $engine], $this->extensions); - } - - /** - * Flush all of the factory state like sections and stacks. - * - * @return void - */ - public function flushState() - { - $this->renderCount = 0; - - $this->flushSections(); - $this->flushStacks(); - } - - /** - * Flush all of the section contents if done rendering. - * - * @return void - */ - public function flushStateIfDoneRendering() - { - if ($this->doneRendering()) { - $this->flushState(); - } - } - - /** - * Get the extension to engine bindings. - * - * @return array - */ - public function getExtensions() - { - return $this->extensions; - } - - /** - * Get the engine resolver instance. - * - * @return \Illuminate\View\Engines\EngineResolver - */ - public function getEngineResolver() - { - return $this->engines; - } - - /** - * Get the view finder instance. - * - * @return \Illuminate\View\ViewFinderInterface - */ - public function getFinder() - { - return $this->finder; - } - - /** - * Set the view finder instance. - * - * @param \Illuminate\View\ViewFinderInterface $finder - * @return void - */ - public function setFinder(ViewFinderInterface $finder) - { - $this->finder = $finder; - } - - /** - * Flush the cache of views located by the finder. - * - * @return void - */ - public function flushFinderCache() - { - $this->getFinder()->flush(); - } - - /** - * Get the event dispatcher instance. - * - * @return \Illuminate\Contracts\Events\Dispatcher - */ - public function getDispatcher() - { - return $this->events; - } - - /** - * Set the event dispatcher instance. - * - * @param \Illuminate\Contracts\Events\Dispatcher $events - * @return void - */ - public function setDispatcher(Dispatcher $events) - { - $this->events = $events; - } - - /** - * Get the IoC container instance. - * - * @return \Illuminate\Contracts\Container\Container - */ - public function getContainer() - { - return $this->container; - } - - /** - * Set the IoC container instance. - * - * @param \Illuminate\Contracts\Container\Container $container - * @return void - */ - public function setContainer(Container $container) - { - $this->container = $container; - } - - /** - * Get an item from the shared data. - * - * @param string $key - * @param mixed $default - * @return mixed - */ - public function shared($key, $default = null) - { - return Arr::get($this->shared, $key, $default); - } - - /** - * Get all of the shared data for the environment. - * - * @return array - */ - public function getShared() - { - return $this->shared; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/FileViewFinder.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/FileViewFinder.php deleted file mode 100644 index cffe087..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/FileViewFinder.php +++ /dev/null @@ -1,332 +0,0 @@ -files = $files; - $this->paths = array_map([$this, 'resolvePath'], $paths); - - if (isset($extensions)) { - $this->extensions = $extensions; - } - } - - /** - * Get the fully qualified location of the view. - * - * @param string $name - * @return string - */ - public function find($name) - { - if (isset($this->views[$name])) { - return $this->views[$name]; - } - - if ($this->hasHintInformation($name = trim($name))) { - return $this->views[$name] = $this->findNamespacedView($name); - } - - return $this->views[$name] = $this->findInPaths($name, $this->paths); - } - - /** - * Get the path to a template with a named path. - * - * @param string $name - * @return string - */ - protected function findNamespacedView($name) - { - [$namespace, $view] = $this->parseNamespaceSegments($name); - - return $this->findInPaths($view, $this->hints[$namespace]); - } - - /** - * Get the segments of a template with a named path. - * - * @param string $name - * @return array - * - * @throws \InvalidArgumentException - */ - protected function parseNamespaceSegments($name) - { - $segments = explode(static::HINT_PATH_DELIMITER, $name); - - if (count($segments) !== 2) { - throw new InvalidArgumentException("View [{$name}] has an invalid name."); - } - - if (! isset($this->hints[$segments[0]])) { - throw new InvalidArgumentException("No hint path defined for [{$segments[0]}]."); - } - - return $segments; - } - - /** - * Find the given view in the list of paths. - * - * @param string $name - * @param array $paths - * @return string - * - * @throws \InvalidArgumentException - */ - protected function findInPaths($name, $paths) - { - foreach ((array) $paths as $path) { - foreach ($this->getPossibleViewFiles($name) as $file) { - if ($this->files->exists($viewPath = $path.'/'.$file)) { - return $viewPath; - } - } - } - - throw new InvalidArgumentException("View [{$name}] not found."); - } - - /** - * Get an array of possible view files. - * - * @param string $name - * @return array - */ - protected function getPossibleViewFiles($name) - { - return array_map(function ($extension) use ($name) { - return str_replace('.', '/', $name).'.'.$extension; - }, $this->extensions); - } - - /** - * Add a location to the finder. - * - * @param string $location - * @return void - */ - public function addLocation($location) - { - $this->paths[] = $this->resolvePath($location); - } - - /** - * Prepend a location to the finder. - * - * @param string $location - * @return void - */ - public function prependLocation($location) - { - array_unshift($this->paths, $this->resolvePath($location)); - } - - /** - * Resolve the path. - * - * @param string $path - * @return string - */ - protected function resolvePath($path) - { - return realpath($path) ?: $path; - } - - /** - * Add a namespace hint to the finder. - * - * @param string $namespace - * @param string|array $hints - * @return void - */ - public function addNamespace($namespace, $hints) - { - $hints = (array) $hints; - - if (isset($this->hints[$namespace])) { - $hints = array_merge($this->hints[$namespace], $hints); - } - - $this->hints[$namespace] = $hints; - } - - /** - * Prepend a namespace hint to the finder. - * - * @param string $namespace - * @param string|array $hints - * @return void - */ - public function prependNamespace($namespace, $hints) - { - $hints = (array) $hints; - - if (isset($this->hints[$namespace])) { - $hints = array_merge($hints, $this->hints[$namespace]); - } - - $this->hints[$namespace] = $hints; - } - - /** - * Replace the namespace hints for the given namespace. - * - * @param string $namespace - * @param string|array $hints - * @return void - */ - public function replaceNamespace($namespace, $hints) - { - $this->hints[$namespace] = (array) $hints; - } - - /** - * Register an extension with the view finder. - * - * @param string $extension - * @return void - */ - public function addExtension($extension) - { - if (($index = array_search($extension, $this->extensions)) !== false) { - unset($this->extensions[$index]); - } - - array_unshift($this->extensions, $extension); - } - - /** - * Returns whether or not the view name has any hint information. - * - * @param string $name - * @return bool - */ - public function hasHintInformation($name) - { - return strpos($name, static::HINT_PATH_DELIMITER) > 0; - } - - /** - * Flush the cache of located views. - * - * @return void - */ - public function flush() - { - $this->views = []; - } - - /** - * Get the filesystem instance. - * - * @return \Illuminate\Filesystem\Filesystem - */ - public function getFilesystem() - { - return $this->files; - } - - /** - * Set the active view paths. - * - * @param array $paths - * @return $this - */ - public function setPaths($paths) - { - $this->paths = $paths; - - return $this; - } - - /** - * Get the active view paths. - * - * @return array - */ - public function getPaths() - { - return $this->paths; - } - - /** - * Get the views that have been located. - * - * @return array - */ - public function getViews() - { - return $this->views; - } - - /** - * Get the namespace to file path hints. - * - * @return array - */ - public function getHints() - { - return $this->hints; - } - - /** - * Get registered extensions. - * - * @return array - */ - public function getExtensions() - { - return $this->extensions; - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/LICENSE.md b/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/LICENSE.md deleted file mode 100644 index 79810c8..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/LICENSE.md +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) Taylor Otwell - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php deleted file mode 100644 index 618b7dd..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php +++ /dev/null @@ -1,51 +0,0 @@ -view = $view; - } - - /** - * Handle an incoming request. - * - * @param \Illuminate\Http\Request $request - * @param \Closure $next - * @return mixed - */ - public function handle($request, Closure $next) - { - // If the current session has an "errors" variable bound to it, we will share - // its value with all view instances so the views can easily access errors - // without having to bind. An empty bag is set when there aren't errors. - $this->view->share( - 'errors', $request->session()->get('errors') ?: new ViewErrorBag - ); - - // Putting the errors in the view for every view allows the developer to just - // assume that some errors are always available, which is convenient since - // they don't have to continually run checks for the presence of errors. - - return $next($request); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/View.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/View.php deleted file mode 100644 index 559b9c6..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/View.php +++ /dev/null @@ -1,429 +0,0 @@ -view = $view; - $this->path = $path; - $this->engine = $engine; - $this->factory = $factory; - - $this->data = $data instanceof Arrayable ? $data->toArray() : (array) $data; - } - - /** - * Get the string contents of the view. - * - * @param callable|null $callback - * @return array|string - * - * @throws \Throwable - */ - public function render(callable $callback = null) - { - try { - $contents = $this->renderContents(); - - $response = isset($callback) ? call_user_func($callback, $this, $contents) : null; - - // Once we have the contents of the view, we will flush the sections if we are - // done rendering all views so that there is nothing left hanging over when - // another view gets rendered in the future by the application developer. - $this->factory->flushStateIfDoneRendering(); - - return ! is_null($response) ? $response : $contents; - } catch (Exception $e) { - $this->factory->flushState(); - - throw $e; - } catch (Throwable $e) { - $this->factory->flushState(); - - throw $e; - } - } - - /** - * Get the contents of the view instance. - * - * @return string - */ - protected function renderContents() - { - // We will keep track of the amount of views being rendered so we can flush - // the section after the complete rendering operation is done. This will - // clear out the sections for any separate views that may be rendered. - $this->factory->incrementRender(); - - $this->factory->callComposer($this); - - $contents = $this->getContents(); - - // Once we've finished rendering the view, we'll decrement the render count - // so that each sections get flushed out next time a view is created and - // no old sections are staying around in the memory of an environment. - $this->factory->decrementRender(); - - return $contents; - } - - /** - * Get the evaluated contents of the view. - * - * @return string - */ - protected function getContents() - { - return $this->engine->get($this->path, $this->gatherData()); - } - - /** - * Get the data bound to the view instance. - * - * @return array - */ - public function gatherData() - { - $data = array_merge($this->factory->getShared(), $this->data); - - foreach ($data as $key => $value) { - if ($value instanceof Renderable) { - $data[$key] = $value->render(); - } - } - - return $data; - } - - /** - * Get the sections of the rendered view. - * - * @return array - * - * @throws \Throwable - */ - public function renderSections() - { - return $this->render(function () { - return $this->factory->getSections(); - }); - } - - /** - * Add a piece of data to the view. - * - * @param string|array $key - * @param mixed $value - * @return $this - */ - public function with($key, $value = null) - { - if (is_array($key)) { - $this->data = array_merge($this->data, $key); - } else { - $this->data[$key] = $value; - } - - return $this; - } - - /** - * Add a view instance to the view data. - * - * @param string $key - * @param string $view - * @param array $data - * @return $this - */ - public function nest($key, $view, array $data = []) - { - return $this->with($key, $this->factory->make($view, $data)); - } - - /** - * Add validation errors to the view. - * - * @param \Illuminate\Contracts\Support\MessageProvider|array $provider - * @return $this - */ - public function withErrors($provider) - { - $this->with('errors', $this->formatErrors($provider)); - - return $this; - } - - /** - * Format the given message provider into a MessageBag. - * - * @param \Illuminate\Contracts\Support\MessageProvider|array $provider - * @return \Illuminate\Support\MessageBag - */ - protected function formatErrors($provider) - { - return $provider instanceof MessageProvider - ? $provider->getMessageBag() : new MessageBag((array) $provider); - } - - /** - * Get the name of the view. - * - * @return string - */ - public function name() - { - return $this->getName(); - } - - /** - * Get the name of the view. - * - * @return string - */ - public function getName() - { - return $this->view; - } - - /** - * Get the array of view data. - * - * @return array - */ - public function getData() - { - return $this->data; - } - - /** - * Get the path to the view file. - * - * @return string - */ - public function getPath() - { - return $this->path; - } - - /** - * Set the path to the view. - * - * @param string $path - * @return void - */ - public function setPath($path) - { - $this->path = $path; - } - - /** - * Get the view factory instance. - * - * @return \Illuminate\View\Factory - */ - public function getFactory() - { - return $this->factory; - } - - /** - * Get the view's rendering engine. - * - * @return \Illuminate\Contracts\View\Engine - */ - public function getEngine() - { - return $this->engine; - } - - /** - * Determine if a piece of data is bound. - * - * @param string $key - * @return bool - */ - public function offsetExists($key) - { - return array_key_exists($key, $this->data); - } - - /** - * Get a piece of bound data to the view. - * - * @param string $key - * @return mixed - */ - public function offsetGet($key) - { - return $this->data[$key]; - } - - /** - * Set a piece of data on the view. - * - * @param string $key - * @param mixed $value - * @return void - */ - public function offsetSet($key, $value) - { - $this->with($key, $value); - } - - /** - * Unset a piece of data from the view. - * - * @param string $key - * @return void - */ - public function offsetUnset($key) - { - unset($this->data[$key]); - } - - /** - * Get a piece of data from the view. - * - * @param string $key - * @return mixed - */ - public function &__get($key) - { - return $this->data[$key]; - } - - /** - * Set a piece of data on the view. - * - * @param string $key - * @param mixed $value - * @return void - */ - public function __set($key, $value) - { - $this->with($key, $value); - } - - /** - * Check if a piece of data is bound to the view. - * - * @param string $key - * @return bool - */ - public function __isset($key) - { - return isset($this->data[$key]); - } - - /** - * Remove a piece of bound data from the view. - * - * @param string $key - * @return void - */ - public function __unset($key) - { - unset($this->data[$key]); - } - - /** - * Dynamically bind parameters to the view. - * - * @param string $method - * @param array $parameters - * @return \Illuminate\View\View - * - * @throws \BadMethodCallException - */ - public function __call($method, $parameters) - { - if (static::hasMacro($method)) { - return $this->macroCall($method, $parameters); - } - - if (! Str::startsWith($method, 'with')) { - throw new BadMethodCallException(sprintf( - 'Method %s::%s does not exist.', static::class, $method - )); - } - - return $this->with(Str::camel(substr($method, 4)), $parameters[0]); - } - - /** - * Get the string contents of the view. - * - * @return string - * - * @throws \Throwable - */ - public function __toString() - { - return $this->render(); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/ViewFinderInterface.php b/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/ViewFinderInterface.php deleted file mode 100644 index 7b8a849..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/ViewFinderInterface.php +++ /dev/null @@ -1,71 +0,0 @@ -registerFactory(); - - $this->registerViewFinder(); - - $this->registerEngineResolver(); - } - - /** - * Register the view environment. - * - * @return void - */ - public function registerFactory() - { - $this->app->singleton('view', function ($app) { - // Next we need to grab the engine resolver instance that will be used by the - // environment. The resolver will be used by an environment to get each of - // the various engine implementations such as plain PHP or Blade engine. - $resolver = $app['view.engine.resolver']; - - $finder = $app['view.finder']; - - $factory = $this->createFactory($resolver, $finder, $app['events']); - - // We will also set the container instance on this view environment since the - // view composers may be classes registered in the container, which allows - // for great testable, flexible composers for the application developer. - $factory->setContainer($app); - - $factory->share('app', $app); - - return $factory; - }); - } - - /** - * Create a new Factory Instance. - * - * @param \Illuminate\View\Engines\EngineResolver $resolver - * @param \Illuminate\View\ViewFinderInterface $finder - * @param \Illuminate\Contracts\Events\Dispatcher $events - * @return \Illuminate\View\Factory - */ - protected function createFactory($resolver, $finder, $events) - { - return new Factory($resolver, $finder, $events); - } - - /** - * Register the view finder implementation. - * - * @return void - */ - public function registerViewFinder() - { - $this->app->bind('view.finder', function ($app) { - return new FileViewFinder($app['files'], $app['config']['view.paths']); - }); - } - - /** - * Register the engine resolver instance. - * - * @return void - */ - public function registerEngineResolver() - { - $this->app->singleton('view.engine.resolver', function () { - $resolver = new EngineResolver; - - // Next, we will register the various view engines with the resolver so that the - // environment will resolve the engines needed for various views based on the - // extension of view file. We call a method for each of the view's engines. - foreach (['file', 'php', 'blade'] as $engine) { - $this->{'register'.ucfirst($engine).'Engine'}($resolver); - } - - return $resolver; - }); - } - - /** - * Register the file engine implementation. - * - * @param \Illuminate\View\Engines\EngineResolver $resolver - * @return void - */ - public function registerFileEngine($resolver) - { - $resolver->register('file', function () { - return new FileEngine; - }); - } - - /** - * Register the PHP engine implementation. - * - * @param \Illuminate\View\Engines\EngineResolver $resolver - * @return void - */ - public function registerPhpEngine($resolver) - { - $resolver->register('php', function () { - return new PhpEngine; - }); - } - - /** - * Register the Blade engine implementation. - * - * @param \Illuminate\View\Engines\EngineResolver $resolver - * @return void - */ - public function registerBladeEngine($resolver) - { - // The Compiler engine requires an instance of the CompilerInterface, which in - // this case will be the Blade compiler, so we'll first create the compiler - // instance to pass into the engine so it can compile the views properly. - $this->app->singleton('blade.compiler', function () { - return new BladeCompiler( - $this->app['files'], $this->app['config']['view.compiled'] - ); - }); - - $resolver->register('blade', function () { - return new CompilerEngine($this->app['blade.compiler']); - }); - } -} diff --git a/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/composer.json b/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/composer.json deleted file mode 100644 index d5c729b..0000000 --- a/paragonik-backend/vendor/laravel/framework/src/Illuminate/View/composer.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "name": "illuminate/view", - "description": "The Illuminate View package.", - "license": "MIT", - "homepage": "https://laravel.com", - "support": { - "issues": "https://github.com/laravel/framework/issues", - "source": "https://github.com/laravel/framework" - }, - "authors": [ - { - "name": "Taylor Otwell", - "email": "taylor@laravel.com" - } - ], - "require": { - "php": "^7.1.3", - "ext-json": "*", - "illuminate/container": "5.8.*", - "illuminate/contracts": "5.8.*", - "illuminate/events": "5.8.*", - "illuminate/filesystem": "5.8.*", - "illuminate/support": "5.8.*", - "symfony/debug": "^4.2" - }, - "autoload": { - "psr-4": { - "Illuminate\\View\\": "" - } - }, - "extra": { - "branch-alias": { - "dev-master": "5.8-dev" - } - }, - "config": { - "sort-packages": true - }, - "minimum-stability": "dev" -} diff --git a/paragonik-backend/vendor/laravel/tinker/.styleci.yml b/paragonik-backend/vendor/laravel/tinker/.styleci.yml deleted file mode 100644 index 215fbcf..0000000 --- a/paragonik-backend/vendor/laravel/tinker/.styleci.yml +++ /dev/null @@ -1,4 +0,0 @@ -php: - preset: laravel -js: true -css: true diff --git a/paragonik-backend/vendor/laravel/tinker/LICENSE.md b/paragonik-backend/vendor/laravel/tinker/LICENSE.md deleted file mode 100644 index 79810c8..0000000 --- a/paragonik-backend/vendor/laravel/tinker/LICENSE.md +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) Taylor Otwell - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/paragonik-backend/vendor/laravel/tinker/README.md b/paragonik-backend/vendor/laravel/tinker/README.md deleted file mode 100644 index 3a51325..0000000 --- a/paragonik-backend/vendor/laravel/tinker/README.md +++ /dev/null @@ -1,30 +0,0 @@ -

- -

-Build Status -Total Downloads -Latest Stable Version -License -

- -## Introduction - -Laravel Tinker is a powerful REPL for the Laravel framework. - -## Installation - -To get started with Laravel Tinker, simply run: - - composer require laravel/tinker - -## Basic Usage - -From your console, execute the `php artisan tinker` command. - -### Dispatching Jobs - -The `dispatch` helper function and `dispatch` method on the `Dispatchable` class depends on garbage collection to place the job on the queue. Therefore, when using `tinker`, you should use `Bus::dispatch` or `Queue::push` to dispatch jobs. - -## License - -Laravel Tinker is open-sourced software licensed under the [MIT license](https://opensource.org/licenses/MIT). diff --git a/paragonik-backend/vendor/laravel/tinker/composer.json b/paragonik-backend/vendor/laravel/tinker/composer.json deleted file mode 100644 index 0d14d46..0000000 --- a/paragonik-backend/vendor/laravel/tinker/composer.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "name": "laravel/tinker", - "description": "Powerful REPL for the Laravel framework.", - "keywords": ["tinker", "repl", "psysh", "laravel"], - "license": "MIT", - "authors": [ - { - "name": "Taylor Otwell", - "email": "taylor@laravel.com" - } - ], - "require": { - "php": ">=5.5.9", - "illuminate/console": "~5.1|^6.0", - "illuminate/contracts": "~5.1|^6.0", - "illuminate/support": "~5.1|^6.0", - "psy/psysh": "0.7.*|0.8.*|0.9.*", - "symfony/var-dumper": "~3.0|~4.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.0|~5.0" - }, - "autoload": { - "psr-4": { - "Laravel\\Tinker\\": "src/" - } - }, - "autoload-dev": { - "psr-4": { - "Laravel\\Tinker\\Tests\\": "tests/" - } - }, - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - }, - "laravel": { - "providers": [ - "Laravel\\Tinker\\TinkerServiceProvider" - ] - } - }, - "config": { - "sort-packages": true - }, - "suggest": { - "illuminate/database": "The Illuminate Database package (~5.1)." - } -} diff --git a/paragonik-backend/vendor/laravel/tinker/config/tinker.php b/paragonik-backend/vendor/laravel/tinker/config/tinker.php deleted file mode 100644 index 0d2bf00..0000000 --- a/paragonik-backend/vendor/laravel/tinker/config/tinker.php +++ /dev/null @@ -1,35 +0,0 @@ - [ - // App\Console\Commands\ExampleCommand::class, - ], - - /* - |-------------------------------------------------------------------------- - | Alias Blacklist - |-------------------------------------------------------------------------- - | - | Typically, Tinker automatically aliases classes as you require them in - | Tinker. However, you may wish to never alias certain classes, which - | you may accomplish by listing the classes in the following array. - | - */ - - 'dont_alias' => [ - 'App\Nova', - ], - -]; diff --git a/paragonik-backend/vendor/laravel/tinker/src/ClassAliasAutoloader.php b/paragonik-backend/vendor/laravel/tinker/src/ClassAliasAutoloader.php deleted file mode 100644 index 5afdb4f..0000000 --- a/paragonik-backend/vendor/laravel/tinker/src/ClassAliasAutoloader.php +++ /dev/null @@ -1,116 +0,0 @@ -shell = $shell; - - $vendorPath = dirname(dirname($classMapPath)); - - $classes = require $classMapPath; - - $excludedAliases = collect(config('tinker.dont_alias', [])); - - foreach ($classes as $class => $path) { - if (! Str::contains($class, '\\') || Str::startsWith($path, $vendorPath)) { - continue; - } - - if (! $excludedAliases->filter(function ($alias) use ($class) { - return Str::startsWith($class, $alias); - })->isEmpty()) { - continue; - } - - $name = class_basename($class); - - if (! isset($this->classes[$name])) { - $this->classes[$name] = $class; - } - } - } - - /** - * Find the closest class by name. - * - * @param string $class - * @return void - */ - public function aliasClass($class) - { - if (Str::contains($class, '\\')) { - return; - } - - $fullName = isset($this->classes[$class]) - ? $this->classes[$class] - : false; - - if ($fullName) { - $this->shell->writeStdout("[!] Aliasing '{$class}' to '{$fullName}' for this Tinker session.\n"); - - class_alias($fullName, $class); - } - } - - /** - * Unregister the alias loader instance. - * - * @return void - */ - public function unregister() - { - spl_autoload_unregister([$this, 'aliasClass']); - } - - /** - * Handle the destruction of the instance. - * - * @return void - */ - public function __destruct() - { - $this->unregister(); - } -} diff --git a/paragonik-backend/vendor/laravel/tinker/src/Console/TinkerCommand.php b/paragonik-backend/vendor/laravel/tinker/src/Console/TinkerCommand.php deleted file mode 100644 index c644dfe..0000000 --- a/paragonik-backend/vendor/laravel/tinker/src/Console/TinkerCommand.php +++ /dev/null @@ -1,129 +0,0 @@ -getApplication()->setCatchExceptions(false); - - $config = new Configuration([ - 'updateCheck' => 'never', - ]); - - $config->getPresenter()->addCasters( - $this->getCasters() - ); - - $shell = new Shell($config); - $shell->addCommands($this->getCommands()); - $shell->setIncludes($this->argument('include')); - - if (isset($_ENV['COMPOSER_VENDOR_DIR'])) { - $path = $_ENV['COMPOSER_VENDOR_DIR']; - } else { - $path = $this->getLaravel()->basePath().DIRECTORY_SEPARATOR.'vendor'; - } - - $path .= '/composer/autoload_classmap.php'; - - $loader = ClassAliasAutoloader::register($shell, $path); - - try { - $shell->run(); - } finally { - $loader->unregister(); - } - } - - /** - * Get artisan commands to pass through to PsySH. - * - * @return array - */ - protected function getCommands() - { - $commands = []; - - foreach ($this->getApplication()->all() as $name => $command) { - if (in_array($name, $this->commandWhitelist)) { - $commands[] = $command; - } - } - - foreach (config('tinker.commands', []) as $command) { - $commands[] = $this->getApplication()->resolve($command); - } - - return $commands; - } - - /** - * Get an array of Laravel tailored casters. - * - * @return array - */ - protected function getCasters() - { - $casters = [ - 'Illuminate\Support\Collection' => 'Laravel\Tinker\TinkerCaster::castCollection', - ]; - - if (class_exists('Illuminate\Database\Eloquent\Model')) { - $casters['Illuminate\Database\Eloquent\Model'] = 'Laravel\Tinker\TinkerCaster::castModel'; - } - - if (class_exists('Illuminate\Foundation\Application')) { - $casters['Illuminate\Foundation\Application'] = 'Laravel\Tinker\TinkerCaster::castApplication'; - } - - return $casters; - } - - /** - * Get the console command arguments. - * - * @return array - */ - protected function getArguments() - { - return [ - ['include', InputArgument::IS_ARRAY, 'Include file(s) before starting tinker'], - ]; - } -} diff --git a/paragonik-backend/vendor/laravel/tinker/src/TinkerCaster.php b/paragonik-backend/vendor/laravel/tinker/src/TinkerCaster.php deleted file mode 100644 index 42862e3..0000000 --- a/paragonik-backend/vendor/laravel/tinker/src/TinkerCaster.php +++ /dev/null @@ -1,95 +0,0 @@ -$property(); - - if (! is_null($val)) { - $results[Caster::PREFIX_VIRTUAL.$property] = $val; - } - } catch (Exception $e) { - // - } - } - - return $results; - } - - /** - * Get an array representing the properties of a collection. - * - * @param \Illuminate\Support\Collection $collection - * @return array - */ - public static function castCollection($collection) - { - return [ - Caster::PREFIX_VIRTUAL.'all' => $collection->all(), - ]; - } - - /** - * Get an array representing the properties of a model. - * - * @param \Illuminate\Database\Eloquent\Model $model - * @return array - */ - public static function castModel($model) - { - $attributes = array_merge( - $model->getAttributes(), $model->getRelations() - ); - - $visible = array_flip( - $model->getVisible() ?: array_diff(array_keys($attributes), $model->getHidden()) - ); - - $results = []; - - foreach (array_intersect_key($attributes, $visible) as $key => $value) { - $results[(isset($visible[$key]) ? Caster::PREFIX_VIRTUAL : Caster::PREFIX_PROTECTED).$key] = $value; - } - - return $results; - } -} diff --git a/paragonik-backend/vendor/laravel/tinker/src/TinkerServiceProvider.php b/paragonik-backend/vendor/laravel/tinker/src/TinkerServiceProvider.php deleted file mode 100644 index 7c62677..0000000 --- a/paragonik-backend/vendor/laravel/tinker/src/TinkerServiceProvider.php +++ /dev/null @@ -1,60 +0,0 @@ -app instanceof LaravelApplication && $this->app->runningInConsole()) { - $this->publishes([$source => config_path('tinker.php')]); - } elseif ($this->app instanceof LumenApplication) { - $this->app->configure('tinker'); - } - - $this->mergeConfigFrom($source, 'tinker'); - } - - /** - * Register the service provider. - * - * @return void - */ - public function register() - { - $this->app->singleton('command.tinker', function () { - return new TinkerCommand; - }); - - $this->commands(['command.tinker']); - } - - /** - * Get the services provided by the provider. - * - * @return array - */ - public function provides() - { - return ['command.tinker']; - } -} diff --git a/paragonik-backend/vendor/league/flysystem/LICENSE b/paragonik-backend/vendor/league/flysystem/LICENSE deleted file mode 100644 index f2684c8..0000000 --- a/paragonik-backend/vendor/league/flysystem/LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 2013-2019 Frank de Jonge - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is furnished -to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/paragonik-backend/vendor/league/flysystem/composer.json b/paragonik-backend/vendor/league/flysystem/composer.json deleted file mode 100644 index 84229e9..0000000 --- a/paragonik-backend/vendor/league/flysystem/composer.json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "name": "league/flysystem", - "description": "Filesystem abstraction: Many filesystems, one API.", - "keywords": [ - "filesystem", "filesystems", "files", "storage", "dropbox", "aws", - "abstraction", "s3", "ftp", "sftp", "remote", "webdav", - "file systems", "cloud", "cloud files", "rackspace", "copy.com" - ], - "license": "MIT", - "authors": [ - { - "name": "Frank de Jonge", - "email": "info@frenky.net" - } - ], - "require": { - "php": ">=5.5.9", - "ext-fileinfo": "*" - }, - "require-dev": { - "phpspec/phpspec": "^3.4", - "phpunit/phpunit": "^5.7.10" - }, - "autoload": { - "psr-4": { - "League\\Flysystem\\": "src/" - } - }, - "autoload-dev": { - "psr-4": { - "League\\Flysystem\\Stub\\": "stub/" - }, - "files": [ - "tests/PHPUnitHacks.php" - ] - }, - "suggest": { - "ext-fileinfo": "Required for MimeType", - "league/flysystem-eventable-filesystem": "Allows you to use EventableFilesystem", - "league/flysystem-rackspace": "Allows you to use Rackspace Cloud Files", - "league/flysystem-azure": "Allows you to use Windows Azure Blob storage", - "league/flysystem-webdav": "Allows you to use WebDAV storage", - "league/flysystem-aws-s3-v2": "Allows you to use S3 storage with AWS SDK v2", - "league/flysystem-aws-s3-v3": "Allows you to use S3 storage with AWS SDK v3", - "spatie/flysystem-dropbox": "Allows you to use Dropbox storage", - "srmklive/flysystem-dropbox-v2": "Allows you to use Dropbox storage for PHP 5 applications", - "league/flysystem-cached-adapter": "Flysystem adapter decorator for metadata caching", - "ext-ftp": "Allows you to use FTP server storage", - "ext-openssl": "Allows you to use FTPS server storage", - "league/flysystem-sftp": "Allows you to use SFTP server storage via phpseclib", - "league/flysystem-ziparchive": "Allows you to use ZipArchive adapter" - }, - "conflict": { - "league/flysystem-sftp": "<1.0.6" - }, - "extra": { - "branch-alias": { - "dev-master": "1.1-dev" - } - }, - "scripts": { - "phpstan": "php phpstan.php" - } -} diff --git a/paragonik-backend/vendor/league/flysystem/deprecations.md b/paragonik-backend/vendor/league/flysystem/deprecations.md deleted file mode 100644 index c336a42..0000000 --- a/paragonik-backend/vendor/league/flysystem/deprecations.md +++ /dev/null @@ -1,19 +0,0 @@ -# Deprecations - -This document lists all the planned deprecations. - -## Handlers will be removed in 2.0 - -The `Handler` type and associated calls will be removed in version 2.0. - -### Upgrade path - -You should create your own implementation for handling OOP usage, -but it's recommended to move away from using an OOP-style wrapper entirely. - -The reason for this is that it's too easy for implementation details (for -your application this is Flysystem) to leak into the application. The most -important part for Flysystem is that it improves portability and creates a -solid boundary between your application core and the infrastructure you use. -The OOP-style handling breaks this principle, therefore I want to stop -promoting it. diff --git a/paragonik-backend/vendor/league/flysystem/src/Adapter/AbstractAdapter.php b/paragonik-backend/vendor/league/flysystem/src/Adapter/AbstractAdapter.php deleted file mode 100644 index e577ac4..0000000 --- a/paragonik-backend/vendor/league/flysystem/src/Adapter/AbstractAdapter.php +++ /dev/null @@ -1,72 +0,0 @@ -pathPrefix = null; - - return; - } - - $this->pathPrefix = rtrim($prefix, '\\/') . $this->pathSeparator; - } - - /** - * Get the path prefix. - * - * @return string|null path prefix or null if pathPrefix is empty - */ - public function getPathPrefix() - { - return $this->pathPrefix; - } - - /** - * Prefix a path. - * - * @param string $path - * - * @return string prefixed path - */ - public function applyPathPrefix($path) - { - return $this->getPathPrefix() . ltrim($path, '\\/'); - } - - /** - * Remove a path prefix. - * - * @param string $path - * - * @return string path without the prefix - */ - public function removePathPrefix($path) - { - return substr($path, strlen($this->getPathPrefix())); - } -} diff --git a/paragonik-backend/vendor/league/flysystem/src/Adapter/AbstractFtpAdapter.php b/paragonik-backend/vendor/league/flysystem/src/Adapter/AbstractFtpAdapter.php deleted file mode 100644 index 578b491..0000000 --- a/paragonik-backend/vendor/league/flysystem/src/Adapter/AbstractFtpAdapter.php +++ /dev/null @@ -1,693 +0,0 @@ -safeStorage = new SafeStorage(); - $this->setConfig($config); - } - - /** - * Set the config. - * - * @param array $config - * - * @return $this - */ - public function setConfig(array $config) - { - foreach ($this->configurable as $setting) { - if ( ! isset($config[$setting])) { - continue; - } - - $method = 'set' . ucfirst($setting); - - if (method_exists($this, $method)) { - $this->$method($config[$setting]); - } - } - - return $this; - } - - /** - * Returns the host. - * - * @return string - */ - public function getHost() - { - return $this->host; - } - - /** - * Set the host. - * - * @param string $host - * - * @return $this - */ - public function setHost($host) - { - $this->host = $host; - - return $this; - } - - /** - * Set the public permission value. - * - * @param int $permPublic - * - * @return $this - */ - public function setPermPublic($permPublic) - { - $this->permPublic = $permPublic; - - return $this; - } - - /** - * Set the private permission value. - * - * @param int $permPrivate - * - * @return $this - */ - public function setPermPrivate($permPrivate) - { - $this->permPrivate = $permPrivate; - - return $this; - } - - /** - * Returns the ftp port. - * - * @return int - */ - public function getPort() - { - return $this->port; - } - - /** - * Returns the root folder to work from. - * - * @return string - */ - public function getRoot() - { - return $this->root; - } - - /** - * Set the ftp port. - * - * @param int|string $port - * - * @return $this - */ - public function setPort($port) - { - $this->port = (int) $port; - - return $this; - } - - /** - * Set the root folder to work from. - * - * @param string $root - * - * @return $this - */ - public function setRoot($root) - { - $this->root = rtrim($root, '\\/') . $this->separator; - - return $this; - } - - /** - * Returns the ftp username. - * - * @return string username - */ - public function getUsername() - { - $username = $this->safeStorage->retrieveSafely('username'); - - return $username !== null ? $username : 'anonymous'; - } - - /** - * Set ftp username. - * - * @param string $username - * - * @return $this - */ - public function setUsername($username) - { - $this->safeStorage->storeSafely('username', $username); - - return $this; - } - - /** - * Returns the password. - * - * @return string password - */ - public function getPassword() - { - return $this->safeStorage->retrieveSafely('password'); - } - - /** - * Set the ftp password. - * - * @param string $password - * - * @return $this - */ - public function setPassword($password) - { - $this->safeStorage->storeSafely('password', $password); - - return $this; - } - - /** - * Returns the amount of seconds before the connection will timeout. - * - * @return int - */ - public function getTimeout() - { - return $this->timeout; - } - - /** - * Set the amount of seconds before the connection should timeout. - * - * @param int $timeout - * - * @return $this - */ - public function setTimeout($timeout) - { - $this->timeout = (int) $timeout; - - return $this; - } - - /** - * Return the FTP system type. - * - * @return string - */ - public function getSystemType() - { - return $this->systemType; - } - - /** - * Set the FTP system type (windows or unix). - * - * @param string $systemType - * - * @return $this - */ - public function setSystemType($systemType) - { - $this->systemType = strtolower($systemType); - - return $this; - } - - /** - * True to enable timestamps for FTP servers that return unix-style listings. - * - * @param bool $bool - * - * @return $this - */ - public function setEnableTimestampsOnUnixListings($bool = false) - { - $this->enableTimestampsOnUnixListings = $bool; - - return $this; - } - - /** - * @inheritdoc - */ - public function listContents($directory = '', $recursive = false) - { - return $this->listDirectoryContents($directory, $recursive); - } - - abstract protected function listDirectoryContents($directory, $recursive = false); - - /** - * Normalize a directory listing. - * - * @param array $listing - * @param string $prefix - * - * @return array directory listing - */ - protected function normalizeListing(array $listing, $prefix = '') - { - $base = $prefix; - $result = []; - $listing = $this->removeDotDirectories($listing); - - while ($item = array_shift($listing)) { - if (preg_match('#^.*:$#', $item)) { - $base = preg_replace('~^\./*|:$~', '', $item); - continue; - } - - $result[] = $this->normalizeObject($item, $base); - } - - return $this->sortListing($result); - } - - /** - * Sort a directory listing. - * - * @param array $result - * - * @return array sorted listing - */ - protected function sortListing(array $result) - { - $compare = function ($one, $two) { - return strnatcmp($one['path'], $two['path']); - }; - - usort($result, $compare); - - return $result; - } - - /** - * Normalize a file entry. - * - * @param string $item - * @param string $base - * - * @return array normalized file array - * - * @throws NotSupportedException - */ - protected function normalizeObject($item, $base) - { - $systemType = $this->systemType ?: $this->detectSystemType($item); - - if ($systemType === 'unix') { - return $this->normalizeUnixObject($item, $base); - } elseif ($systemType === 'windows') { - return $this->normalizeWindowsObject($item, $base); - } - - throw NotSupportedException::forFtpSystemType($systemType); - } - - /** - * Normalize a Unix file entry. - * - * Given $item contains: - * '-rw-r--r-- 1 ftp ftp 409 Aug 19 09:01 file1.txt' - * - * This function will return: - * [ - * 'type' => 'file', - * 'path' => 'file1.txt', - * 'visibility' => 'public', - * 'size' => 409, - * 'timestamp' => 1566205260 - * ] - * - * @param string $item - * @param string $base - * - * @return array normalized file array - */ - protected function normalizeUnixObject($item, $base) - { - $item = preg_replace('#\s+#', ' ', trim($item), 7); - - if (count(explode(' ', $item, 9)) !== 9) { - throw new RuntimeException("Metadata can't be parsed from item '$item' , not enough parts."); - } - - list($permissions, /* $number */, /* $owner */, /* $group */, $size, $month, $day, $timeOrYear, $name) = explode(' ', $item, 9); - $type = $this->detectType($permissions); - $path = $base === '' ? $name : $base . $this->separator . $name; - - if ($type === 'dir') { - return compact('type', 'path'); - } - - $permissions = $this->normalizePermissions($permissions); - $visibility = $permissions & 0044 ? AdapterInterface::VISIBILITY_PUBLIC : AdapterInterface::VISIBILITY_PRIVATE; - $size = (int) $size; - - $result = compact('type', 'path', 'visibility', 'size'); - if ($this->enableTimestampsOnUnixListings) { - $timestamp = $this->normalizeUnixTimestamp($month, $day, $timeOrYear); - $result += compact('timestamp'); - } - - return $result; - } - - /** - * Only accurate to the minute (current year), or to the day. - * - * Inadequacies in timestamp accuracy are due to limitations of the FTP 'LIST' command - * - * Note: The 'MLSD' command is a machine-readable replacement for 'LIST' - * but many FTP servers do not support it :( - * - * @param string $month e.g. 'Aug' - * @param string $day e.g. '19' - * @param string $timeOrYear e.g. '09:01' OR '2015' - * - * @return int - */ - protected function normalizeUnixTimestamp($month, $day, $timeOrYear) - { - if (is_numeric($timeOrYear)) { - $year = $timeOrYear; - $hour = '00'; - $minute = '00'; - $seconds = '00'; - } else { - $year = date('Y'); - list($hour, $minute) = explode(':', $timeOrYear); - $seconds = '00'; - } - $dateTime = DateTime::createFromFormat('Y-M-j-G:i:s', "{$year}-{$month}-{$day}-{$hour}:{$minute}:{$seconds}"); - - return $dateTime->getTimestamp(); - } - - /** - * Normalize a Windows/DOS file entry. - * - * @param string $item - * @param string $base - * - * @return array normalized file array - */ - protected function normalizeWindowsObject($item, $base) - { - $item = preg_replace('#\s+#', ' ', trim($item), 3); - - if (count(explode(' ', $item, 4)) !== 4) { - throw new RuntimeException("Metadata can't be parsed from item '$item' , not enough parts."); - } - - list($date, $time, $size, $name) = explode(' ', $item, 4); - $path = $base === '' ? $name : $base . $this->separator . $name; - - // Check for the correct date/time format - $format = strlen($date) === 8 ? 'm-d-yH:iA' : 'Y-m-dH:i'; - $dt = DateTime::createFromFormat($format, $date . $time); - $timestamp = $dt ? $dt->getTimestamp() : (int) strtotime("$date $time"); - - if ($size === '') { - $type = 'dir'; - - return compact('type', 'path', 'timestamp'); - } - - $type = 'file'; - $visibility = AdapterInterface::VISIBILITY_PUBLIC; - $size = (int) $size; - - return compact('type', 'path', 'visibility', 'size', 'timestamp'); - } - - /** - * Get the system type from a listing item. - * - * @param string $item - * - * @return string the system type - */ - protected function detectSystemType($item) - { - return preg_match('/^[0-9]{2,4}-[0-9]{2}-[0-9]{2}/', $item) ? 'windows' : 'unix'; - } - - /** - * Get the file type from the permissions. - * - * @param string $permissions - * - * @return string file type - */ - protected function detectType($permissions) - { - return substr($permissions, 0, 1) === 'd' ? 'dir' : 'file'; - } - - /** - * Normalize a permissions string. - * - * @param string $permissions - * - * @return int - */ - protected function normalizePermissions($permissions) - { - // remove the type identifier - $permissions = substr($permissions, 1); - - // map the string rights to the numeric counterparts - $map = ['-' => '0', 'r' => '4', 'w' => '2', 'x' => '1']; - $permissions = strtr($permissions, $map); - - // split up the permission groups - $parts = str_split($permissions, 3); - - // convert the groups - $mapper = function ($part) { - return array_sum(str_split($part)); - }; - - // converts to decimal number - return octdec(implode('', array_map($mapper, $parts))); - } - - /** - * Filter out dot-directories. - * - * @param array $list - * - * @return array - */ - public function removeDotDirectories(array $list) - { - $filter = function ($line) { - return $line !== '' && ! preg_match('#.* \.(\.)?$|^total#', $line); - }; - - return array_filter($list, $filter); - } - - /** - * @inheritdoc - */ - public function has($path) - { - return $this->getMetadata($path); - } - - /** - * @inheritdoc - */ - public function getSize($path) - { - return $this->getMetadata($path); - } - - /** - * @inheritdoc - */ - public function getVisibility($path) - { - return $this->getMetadata($path); - } - - /** - * Ensure a directory exists. - * - * @param string $dirname - */ - public function ensureDirectory($dirname) - { - $dirname = (string) $dirname; - - if ($dirname !== '' && ! $this->has($dirname)) { - $this->createDir($dirname, new Config()); - } - } - - /** - * @return mixed - */ - public function getConnection() - { - $tries = 0; - - while ( ! $this->isConnected() && $tries < 3) { - $tries++; - $this->disconnect(); - $this->connect(); - } - - return $this->connection; - } - - /** - * Get the public permission value. - * - * @return int - */ - public function getPermPublic() - { - return $this->permPublic; - } - - /** - * Get the private permission value. - * - * @return int - */ - public function getPermPrivate() - { - return $this->permPrivate; - } - - /** - * Disconnect on destruction. - */ - public function __destruct() - { - $this->disconnect(); - } - - /** - * Establish a connection. - */ - abstract public function connect(); - - /** - * Close the connection. - */ - abstract public function disconnect(); - - /** - * Check if a connection is active. - * - * @return bool - */ - abstract public function isConnected(); -} diff --git a/paragonik-backend/vendor/league/flysystem/src/Adapter/CanOverwriteFiles.php b/paragonik-backend/vendor/league/flysystem/src/Adapter/CanOverwriteFiles.php deleted file mode 100644 index fd8d216..0000000 --- a/paragonik-backend/vendor/league/flysystem/src/Adapter/CanOverwriteFiles.php +++ /dev/null @@ -1,12 +0,0 @@ -transferMode = $mode; - - return $this; - } - - /** - * Set if Ssl is enabled. - * - * @param bool $ssl - * - * @return $this - */ - public function setSsl($ssl) - { - $this->ssl = (bool) $ssl; - - return $this; - } - - /** - * Set if passive mode should be used. - * - * @param bool $passive - */ - public function setPassive($passive = true) - { - $this->passive = $passive; - } - - /** - * @param bool $ignorePassiveAddress - */ - public function setIgnorePassiveAddress($ignorePassiveAddress) - { - $this->ignorePassiveAddress = $ignorePassiveAddress; - } - - /** - * @param bool $recurseManually - */ - public function setRecurseManually($recurseManually) - { - $this->recurseManually = $recurseManually; - } - - /** - * @param bool $utf8 - */ - public function setUtf8($utf8) - { - $this->utf8 = (bool) $utf8; - } - - /** - * Connect to the FTP server. - */ - public function connect() - { - if ($this->ssl) { - $this->connection = ftp_ssl_connect($this->getHost(), $this->getPort(), $this->getTimeout()); - } else { - $this->connection = ftp_connect($this->getHost(), $this->getPort(), $this->getTimeout()); - } - - if ( ! $this->connection) { - throw new RuntimeException('Could not connect to host: ' . $this->getHost() . ', port:' . $this->getPort()); - } - - $this->login(); - $this->setUtf8Mode(); - $this->setConnectionPassiveMode(); - $this->setConnectionRoot(); - $this->isPureFtpd = $this->isPureFtpdServer(); - } - - /** - * Set the connection to UTF-8 mode. - */ - protected function setUtf8Mode() - { - if ($this->utf8) { - $response = ftp_raw($this->connection, "OPTS UTF8 ON"); - if (substr($response[0], 0, 3) !== '200') { - throw new RuntimeException( - 'Could not set UTF-8 mode for connection: ' . $this->getHost() . '::' . $this->getPort() - ); - } - } - } - - /** - * Set the connections to passive mode. - * - * @throws RuntimeException - */ - protected function setConnectionPassiveMode() - { - if (is_bool($this->ignorePassiveAddress) && defined('FTP_USEPASVADDRESS')) { - ftp_set_option($this->connection, FTP_USEPASVADDRESS, ! $this->ignorePassiveAddress); - } - - if ( ! ftp_pasv($this->connection, $this->passive)) { - throw new RuntimeException( - 'Could not set passive mode for connection: ' . $this->getHost() . '::' . $this->getPort() - ); - } - } - - /** - * Set the connection root. - */ - protected function setConnectionRoot() - { - $root = $this->getRoot(); - $connection = $this->connection; - - if ($root && ! ftp_chdir($connection, $root)) { - throw new RuntimeException('Root is invalid or does not exist: ' . $this->getRoot()); - } - - // Store absolute path for further reference. - // This is needed when creating directories and - // initial root was a relative path, else the root - // would be relative to the chdir'd path. - $this->root = ftp_pwd($connection); - } - - /** - * Login. - * - * @throws RuntimeException - */ - protected function login() - { - set_error_handler(function () { - }); - $isLoggedIn = ftp_login( - $this->connection, - $this->getUsername(), - $this->getPassword() - ); - restore_error_handler(); - - if ( ! $isLoggedIn) { - $this->disconnect(); - throw new RuntimeException( - 'Could not login with connection: ' . $this->getHost() . '::' . $this->getPort( - ) . ', username: ' . $this->getUsername() - ); - } - } - - /** - * Disconnect from the FTP server. - */ - public function disconnect() - { - if (is_resource($this->connection)) { - ftp_close($this->connection); - } - - $this->connection = null; - } - - /** - * @inheritdoc - */ - public function write($path, $contents, Config $config) - { - $stream = fopen('php://temp', 'w+b'); - fwrite($stream, $contents); - rewind($stream); - $result = $this->writeStream($path, $stream, $config); - fclose($stream); - - if ($result === false) { - return false; - } - - $result['contents'] = $contents; - $result['mimetype'] = $config->get('mimetype') ?: Util::guessMimeType($path, $contents); - - return $result; - } - - /** - * @inheritdoc - */ - public function writeStream($path, $resource, Config $config) - { - $this->ensureDirectory(Util::dirname($path)); - - if ( ! ftp_fput($this->getConnection(), $path, $resource, $this->transferMode)) { - return false; - } - - if ($visibility = $config->get('visibility')) { - $this->setVisibility($path, $visibility); - } - - $type = 'file'; - - return compact('type', 'path', 'visibility'); - } - - /** - * @inheritdoc - */ - public function update($path, $contents, Config $config) - { - return $this->write($path, $contents, $config); - } - - /** - * @inheritdoc - */ - public function updateStream($path, $resource, Config $config) - { - return $this->writeStream($path, $resource, $config); - } - - /** - * @inheritdoc - */ - public function rename($path, $newpath) - { - return ftp_rename($this->getConnection(), $path, $newpath); - } - - /** - * @inheritdoc - */ - public function delete($path) - { - return ftp_delete($this->getConnection(), $path); - } - - /** - * @inheritdoc - */ - public function deleteDir($dirname) - { - $connection = $this->getConnection(); - $contents = array_reverse($this->listDirectoryContents($dirname, false)); - - foreach ($contents as $object) { - if ($object['type'] === 'file') { - if ( ! ftp_delete($connection, $object['path'])) { - return false; - } - } elseif ( ! $this->deleteDir($object['path'])) { - return false; - } - } - - return ftp_rmdir($connection, $dirname); - } - - /** - * @inheritdoc - */ - public function createDir($dirname, Config $config) - { - $connection = $this->getConnection(); - $directories = explode('/', $dirname); - - foreach ($directories as $directory) { - if (false === $this->createActualDirectory($directory, $connection)) { - $this->setConnectionRoot(); - - return false; - } - - ftp_chdir($connection, $directory); - } - - $this->setConnectionRoot(); - - return ['type' => 'dir', 'path' => $dirname]; - } - - /** - * Create a directory. - * - * @param string $directory - * @param resource $connection - * - * @return bool - */ - protected function createActualDirectory($directory, $connection) - { - // List the current directory - $listing = ftp_nlist($connection, '.') ?: []; - - foreach ($listing as $key => $item) { - if (preg_match('~^\./.*~', $item)) { - $listing[$key] = substr($item, 2); - } - } - - if (in_array($directory, $listing, true)) { - return true; - } - - return (boolean) ftp_mkdir($connection, $directory); - } - - /** - * @inheritdoc - */ - public function getMetadata($path) - { - if ($path === '') { - return ['type' => 'dir', 'path' => '']; - } - - if (@ftp_chdir($this->getConnection(), $path) === true) { - $this->setConnectionRoot(); - - return ['type' => 'dir', 'path' => $path]; - } - - $listing = $this->ftpRawlist('-A', str_replace('*', '\\*', $path)); - - if (empty($listing) || in_array('total 0', $listing, true)) { - return false; - } - - if (preg_match('/.* not found/', $listing[0])) { - return false; - } - - if (preg_match('/^total [0-9]*$/', $listing[0])) { - array_shift($listing); - } - - return $this->normalizeObject($listing[0], ''); - } - - /** - * @inheritdoc - */ - public function getMimetype($path) - { - if ( ! $metadata = $this->getMetadata($path)) { - return false; - } - - $metadata['mimetype'] = MimeType::detectByFilename($path); - - return $metadata; - } - - /** - * @inheritdoc - */ - public function getTimestamp($path) - { - $timestamp = ftp_mdtm($this->getConnection(), $path); - - return ($timestamp !== -1) ? ['path' => $path, 'timestamp' => $timestamp] : false; - } - - /** - * @inheritdoc - */ - public function read($path) - { - if ( ! $object = $this->readStream($path)) { - return false; - } - - $object['contents'] = stream_get_contents($object['stream']); - fclose($object['stream']); - unset($object['stream']); - - return $object; - } - - /** - * @inheritdoc - */ - public function readStream($path) - { - $stream = fopen('php://temp', 'w+b'); - $result = ftp_fget($this->getConnection(), $stream, $path, $this->transferMode); - rewind($stream); - - if ( ! $result) { - fclose($stream); - - return false; - } - - return ['type' => 'file', 'path' => $path, 'stream' => $stream]; - } - - /** - * @inheritdoc - */ - public function setVisibility($path, $visibility) - { - $mode = $visibility === AdapterInterface::VISIBILITY_PUBLIC ? $this->getPermPublic() : $this->getPermPrivate(); - - if ( ! ftp_chmod($this->getConnection(), $mode, $path)) { - return false; - } - - return compact('path', 'visibility'); - } - - /** - * @inheritdoc - * - * @param string $directory - */ - protected function listDirectoryContents($directory, $recursive = true) - { - $directory = str_replace('*', '\\*', $directory); - - if ($recursive && $this->recurseManually) { - return $this->listDirectoryContentsRecursive($directory); - } - - $options = $recursive ? '-alnR' : '-aln'; - $listing = $this->ftpRawlist($options, $directory); - - return $listing ? $this->normalizeListing($listing, $directory) : []; - } - - /** - * @inheritdoc - * - * @param string $directory - */ - protected function listDirectoryContentsRecursive($directory) - { - $listing = $this->normalizeListing($this->ftpRawlist('-aln', $directory) ?: [], $directory); - $output = []; - - foreach ($listing as $item) { - $output[] = $item; - if ($item['type'] !== 'dir') { - continue; - } - $output = array_merge($output, $this->listDirectoryContentsRecursive($item['path'])); - } - - return $output; - } - - /** - * Check if the connection is open. - * - * @return bool - * - * @throws ErrorException - */ - public function isConnected() - { - try { - return is_resource($this->connection) && ftp_rawlist($this->connection, $this->getRoot()) !== false; - } catch (ErrorException $e) { - if (strpos($e->getMessage(), 'ftp_rawlist') === false) { - throw $e; - } - - return false; - } - } - - /** - * @return bool - */ - protected function isPureFtpdServer() - { - $response = ftp_raw($this->connection, 'HELP'); - - return stripos(implode(' ', $response), 'Pure-FTPd') !== false; - } - - /** - * The ftp_rawlist function with optional escaping. - * - * @param string $options - * @param string $path - * - * @return array - */ - protected function ftpRawlist($options, $path) - { - $connection = $this->getConnection(); - - if ($this->isPureFtpd) { - $path = str_replace(' ', '\ ', $path); - } - - return ftp_rawlist($connection, $options . ' ' . $path); - } -} diff --git a/paragonik-backend/vendor/league/flysystem/src/Adapter/Ftpd.php b/paragonik-backend/vendor/league/flysystem/src/Adapter/Ftpd.php deleted file mode 100644 index d5349e4..0000000 --- a/paragonik-backend/vendor/league/flysystem/src/Adapter/Ftpd.php +++ /dev/null @@ -1,45 +0,0 @@ - 'dir', 'path' => '']; - } - if (@ftp_chdir($this->getConnection(), $path) === true) { - $this->setConnectionRoot(); - - return ['type' => 'dir', 'path' => $path]; - } - - if ( ! ($object = ftp_raw($this->getConnection(), 'STAT ' . $path)) || count($object) < 3) { - return false; - } - - if (substr($object[1], 0, 5) === "ftpd:") { - return false; - } - - return $this->normalizeObject($object[1], ''); - } - - /** - * @inheritdoc - */ - protected function listDirectoryContents($directory, $recursive = true) - { - $listing = ftp_rawlist($this->getConnection(), $directory, $recursive); - - if ($listing === false || ( ! empty($listing) && substr($listing[0], 0, 5) === "ftpd:")) { - return []; - } - - return $this->normalizeListing($listing, $directory); - } -} diff --git a/paragonik-backend/vendor/league/flysystem/src/Adapter/Local.php b/paragonik-backend/vendor/league/flysystem/src/Adapter/Local.php deleted file mode 100644 index c6e6fa8..0000000 --- a/paragonik-backend/vendor/league/flysystem/src/Adapter/Local.php +++ /dev/null @@ -1,528 +0,0 @@ - [ - 'public' => 0644, - 'private' => 0600, - ], - 'dir' => [ - 'public' => 0755, - 'private' => 0700, - ], - ]; - - /** - * @var string - */ - protected $pathSeparator = DIRECTORY_SEPARATOR; - - /** - * @var array - */ - protected $permissionMap; - - /** - * @var int - */ - protected $writeFlags; - - /** - * @var int - */ - private $linkHandling; - - /** - * Constructor. - * - * @param string $root - * @param int $writeFlags - * @param int $linkHandling - * @param array $permissions - * - * @throws LogicException - */ - public function __construct($root, $writeFlags = LOCK_EX, $linkHandling = self::DISALLOW_LINKS, array $permissions = []) - { - $root = is_link($root) ? realpath($root) : $root; - $this->permissionMap = array_replace_recursive(static::$permissions, $permissions); - $this->ensureDirectory($root); - - if ( ! is_dir($root) || ! is_readable($root)) { - throw new LogicException('The root path ' . $root . ' is not readable.'); - } - - $this->setPathPrefix($root); - $this->writeFlags = $writeFlags; - $this->linkHandling = $linkHandling; - } - - /** - * Ensure the root directory exists. - * - * @param string $root root directory path - * - * @return void - * - * @throws Exception in case the root directory can not be created - */ - protected function ensureDirectory($root) - { - if ( ! is_dir($root)) { - $umask = umask(0); - - if ( ! @mkdir($root, $this->permissionMap['dir']['public'], true)) { - $mkdirError = error_get_last(); - } - - umask($umask); - clearstatcache(false, $root); - - if ( ! is_dir($root)) { - $errorMessage = isset($mkdirError['message']) ? $mkdirError['message'] : ''; - throw new Exception(sprintf('Impossible to create the root directory "%s". %s', $root, $errorMessage)); - } - } - } - - /** - * @inheritdoc - */ - public function has($path) - { - $location = $this->applyPathPrefix($path); - - return file_exists($location); - } - - /** - * @inheritdoc - */ - public function write($path, $contents, Config $config) - { - $location = $this->applyPathPrefix($path); - $this->ensureDirectory(dirname($location)); - - if (($size = file_put_contents($location, $contents, $this->writeFlags)) === false) { - return false; - } - - $type = 'file'; - $result = compact('contents', 'type', 'size', 'path'); - - if ($visibility = $config->get('visibility')) { - $result['visibility'] = $visibility; - $this->setVisibility($path, $visibility); - } - - return $result; - } - - /** - * @inheritdoc - */ - public function writeStream($path, $resource, Config $config) - { - $location = $this->applyPathPrefix($path); - $this->ensureDirectory(dirname($location)); - $stream = fopen($location, 'w+b'); - - if ( ! $stream || stream_copy_to_stream($resource, $stream) === false || ! fclose($stream)) { - return false; - } - - $type = 'file'; - $result = compact('type', 'path'); - - if ($visibility = $config->get('visibility')) { - $this->setVisibility($path, $visibility); - $result['visibility'] = $visibility; - } - - return $result; - } - - /** - * @inheritdoc - */ - public function readStream($path) - { - $location = $this->applyPathPrefix($path); - $stream = fopen($location, 'rb'); - - return ['type' => 'file', 'path' => $path, 'stream' => $stream]; - } - - /** - * @inheritdoc - */ - public function updateStream($path, $resource, Config $config) - { - return $this->writeStream($path, $resource, $config); - } - - /** - * @inheritdoc - */ - public function update($path, $contents, Config $config) - { - $location = $this->applyPathPrefix($path); - $size = file_put_contents($location, $contents, $this->writeFlags); - - if ($size === false) { - return false; - } - - $type = 'file'; - - $result = compact('type', 'path', 'size', 'contents'); - - if ($mimetype = $config->get('mimetype') ?: Util::guessMimeType($path, $contents)) { - $result['mimetype'] = $mimetype; - } - - return $result; - } - - /** - * @inheritdoc - */ - public function read($path) - { - $location = $this->applyPathPrefix($path); - $contents = @file_get_contents($location); - - if ($contents === false) { - return false; - } - - return ['type' => 'file', 'path' => $path, 'contents' => $contents]; - } - - /** - * @inheritdoc - */ - public function rename($path, $newpath) - { - $location = $this->applyPathPrefix($path); - $destination = $this->applyPathPrefix($newpath); - $parentDirectory = $this->applyPathPrefix(Util::dirname($newpath)); - $this->ensureDirectory($parentDirectory); - - return rename($location, $destination); - } - - /** - * @inheritdoc - */ - public function copy($path, $newpath) - { - $location = $this->applyPathPrefix($path); - $destination = $this->applyPathPrefix($newpath); - $this->ensureDirectory(dirname($destination)); - - return copy($location, $destination); - } - - /** - * @inheritdoc - */ - public function delete($path) - { - $location = $this->applyPathPrefix($path); - - return @unlink($location); - } - - /** - * @inheritdoc - */ - public function listContents($directory = '', $recursive = false) - { - $result = []; - $location = $this->applyPathPrefix($directory); - - if ( ! is_dir($location)) { - return []; - } - - $iterator = $recursive ? $this->getRecursiveDirectoryIterator($location) : $this->getDirectoryIterator($location); - - foreach ($iterator as $file) { - $path = $this->getFilePath($file); - - if (preg_match('#(^|/|\\\\)\.{1,2}$#', $path)) { - continue; - } - - $result[] = $this->normalizeFileInfo($file); - } - - return array_filter($result); - } - - /** - * @inheritdoc - */ - public function getMetadata($path) - { - $location = $this->applyPathPrefix($path); - clearstatcache(false, $location); - $info = new SplFileInfo($location); - - return $this->normalizeFileInfo($info); - } - - /** - * @inheritdoc - */ - public function getSize($path) - { - return $this->getMetadata($path); - } - - /** - * @inheritdoc - */ - public function getMimetype($path) - { - $location = $this->applyPathPrefix($path); - $finfo = new Finfo(FILEINFO_MIME_TYPE); - $mimetype = $finfo->file($location); - - if (in_array($mimetype, ['application/octet-stream', 'inode/x-empty', 'application/x-empty'])) { - $mimetype = Util\MimeType::detectByFilename($location); - } - - return ['path' => $path, 'type' => 'file', 'mimetype' => $mimetype]; - } - - /** - * @inheritdoc - */ - public function getTimestamp($path) - { - return $this->getMetadata($path); - } - - /** - * @inheritdoc - */ - public function getVisibility($path) - { - $location = $this->applyPathPrefix($path); - clearstatcache(false, $location); - $permissions = octdec(substr(sprintf('%o', fileperms($location)), -4)); - $type = is_dir($location) ? 'dir' : 'file'; - - foreach ($this->permissionMap[$type] as $visibility => $visibilityPermissions) { - if ($visibilityPermissions == $permissions) { - return compact('path', 'visibility'); - } - } - - $visibility = substr(sprintf('%o', fileperms($location)), -4); - - return compact('path', 'visibility'); - } - - /** - * @inheritdoc - */ - public function setVisibility($path, $visibility) - { - $location = $this->applyPathPrefix($path); - $type = is_dir($location) ? 'dir' : 'file'; - $success = chmod($location, $this->permissionMap[$type][$visibility]); - - if ($success === false) { - return false; - } - - return compact('path', 'visibility'); - } - - /** - * @inheritdoc - */ - public function createDir($dirname, Config $config) - { - $location = $this->applyPathPrefix($dirname); - $umask = umask(0); - $visibility = $config->get('visibility', 'public'); - $return = ['path' => $dirname, 'type' => 'dir']; - - if ( ! is_dir($location)) { - if (false === @mkdir($location, $this->permissionMap['dir'][$visibility], true) - || false === is_dir($location)) { - $return = false; - } - } - - umask($umask); - - return $return; - } - - /** - * @inheritdoc - */ - public function deleteDir($dirname) - { - $location = $this->applyPathPrefix($dirname); - - if ( ! is_dir($location)) { - return false; - } - - $contents = $this->getRecursiveDirectoryIterator($location, RecursiveIteratorIterator::CHILD_FIRST); - - /** @var SplFileInfo $file */ - foreach ($contents as $file) { - $this->guardAgainstUnreadableFileInfo($file); - $this->deleteFileInfoObject($file); - } - - return rmdir($location); - } - - /** - * @param SplFileInfo $file - */ - protected function deleteFileInfoObject(SplFileInfo $file) - { - switch ($file->getType()) { - case 'dir': - rmdir($file->getRealPath()); - break; - case 'link': - unlink($file->getPathname()); - break; - default: - unlink($file->getRealPath()); - } - } - - /** - * Normalize the file info. - * - * @param SplFileInfo $file - * - * @return array|void - * - * @throws NotSupportedException - */ - protected function normalizeFileInfo(SplFileInfo $file) - { - if ( ! $file->isLink()) { - return $this->mapFileInfo($file); - } - - if ($this->linkHandling & self::DISALLOW_LINKS) { - throw NotSupportedException::forLink($file); - } - } - - /** - * Get the normalized path from a SplFileInfo object. - * - * @param SplFileInfo $file - * - * @return string - */ - protected function getFilePath(SplFileInfo $file) - { - $location = $file->getPathname(); - $path = $this->removePathPrefix($location); - - return trim(str_replace('\\', '/', $path), '/'); - } - - /** - * @param string $path - * @param int $mode - * - * @return RecursiveIteratorIterator - */ - protected function getRecursiveDirectoryIterator($path, $mode = RecursiveIteratorIterator::SELF_FIRST) - { - return new RecursiveIteratorIterator( - new RecursiveDirectoryIterator($path, FilesystemIterator::SKIP_DOTS), - $mode - ); - } - - /** - * @param string $path - * - * @return DirectoryIterator - */ - protected function getDirectoryIterator($path) - { - $iterator = new DirectoryIterator($path); - - return $iterator; - } - - /** - * @param SplFileInfo $file - * - * @return array - */ - protected function mapFileInfo(SplFileInfo $file) - { - $normalized = [ - 'type' => $file->getType(), - 'path' => $this->getFilePath($file), - ]; - - $normalized['timestamp'] = $file->getMTime(); - - if ($normalized['type'] === 'file') { - $normalized['size'] = $file->getSize(); - } - - return $normalized; - } - - /** - * @param SplFileInfo $file - * - * @throws UnreadableFileException - */ - protected function guardAgainstUnreadableFileInfo(SplFileInfo $file) - { - if ( ! $file->isReadable()) { - throw UnreadableFileException::forFileInfo($file); - } - } -} diff --git a/paragonik-backend/vendor/league/flysystem/src/Adapter/NullAdapter.php b/paragonik-backend/vendor/league/flysystem/src/Adapter/NullAdapter.php deleted file mode 100644 index 2527087..0000000 --- a/paragonik-backend/vendor/league/flysystem/src/Adapter/NullAdapter.php +++ /dev/null @@ -1,144 +0,0 @@ -get('visibility')) { - $result['visibility'] = $visibility; - } - - return $result; - } - - /** - * @inheritdoc - */ - public function update($path, $contents, Config $config) - { - return false; - } - - /** - * @inheritdoc - */ - public function read($path) - { - return false; - } - - /** - * @inheritdoc - */ - public function rename($path, $newpath) - { - return false; - } - - /** - * @inheritdoc - */ - public function delete($path) - { - return false; - } - - /** - * @inheritdoc - */ - public function listContents($directory = '', $recursive = false) - { - return []; - } - - /** - * @inheritdoc - */ - public function getMetadata($path) - { - return false; - } - - /** - * @inheritdoc - */ - public function getSize($path) - { - return false; - } - - /** - * @inheritdoc - */ - public function getMimetype($path) - { - return false; - } - - /** - * @inheritdoc - */ - public function getTimestamp($path) - { - return false; - } - - /** - * @inheritdoc - */ - public function getVisibility($path) - { - return false; - } - - /** - * @inheritdoc - */ - public function setVisibility($path, $visibility) - { - return compact('visibility'); - } - - /** - * @inheritdoc - */ - public function createDir($dirname, Config $config) - { - return ['path' => $dirname, 'type' => 'dir']; - } - - /** - * @inheritdoc - */ - public function deleteDir($dirname) - { - return false; - } -} diff --git a/paragonik-backend/vendor/league/flysystem/src/Adapter/Polyfill/NotSupportingVisibilityTrait.php b/paragonik-backend/vendor/league/flysystem/src/Adapter/Polyfill/NotSupportingVisibilityTrait.php deleted file mode 100644 index fc0a747..0000000 --- a/paragonik-backend/vendor/league/flysystem/src/Adapter/Polyfill/NotSupportingVisibilityTrait.php +++ /dev/null @@ -1,33 +0,0 @@ -readStream($path); - - if ($response === false || ! is_resource($response['stream'])) { - return false; - } - - $result = $this->writeStream($newpath, $response['stream'], new Config()); - - if ($result !== false && is_resource($response['stream'])) { - fclose($response['stream']); - } - - return $result !== false; - } - - // Required abstract method - - /** - * @param string $path - * - * @return resource - */ - abstract public function readStream($path); - - /** - * @param string $path - * @param resource $resource - * @param Config $config - * - * @return resource - */ - abstract public function writeStream($path, $resource, Config $config); -} diff --git a/paragonik-backend/vendor/league/flysystem/src/Adapter/Polyfill/StreamedReadingTrait.php b/paragonik-backend/vendor/league/flysystem/src/Adapter/Polyfill/StreamedReadingTrait.php deleted file mode 100644 index 2b31c01..0000000 --- a/paragonik-backend/vendor/league/flysystem/src/Adapter/Polyfill/StreamedReadingTrait.php +++ /dev/null @@ -1,44 +0,0 @@ -read($path)) { - return false; - } - - $stream = fopen('php://temp', 'w+b'); - fwrite($stream, $data['contents']); - rewind($stream); - $data['stream'] = $stream; - unset($data['contents']); - - return $data; - } - - /** - * Reads a file. - * - * @param string $path - * - * @return array|false - * - * @see League\Flysystem\ReadInterface::read() - */ - abstract public function read($path); -} diff --git a/paragonik-backend/vendor/league/flysystem/src/Adapter/Polyfill/StreamedTrait.php b/paragonik-backend/vendor/league/flysystem/src/Adapter/Polyfill/StreamedTrait.php deleted file mode 100644 index 8042496..0000000 --- a/paragonik-backend/vendor/league/flysystem/src/Adapter/Polyfill/StreamedTrait.php +++ /dev/null @@ -1,9 +0,0 @@ -stream($path, $resource, $config, 'write'); - } - - /** - * Update a file using a stream. - * - * @param string $path - * @param resource $resource - * @param Config $config Config object or visibility setting - * - * @return mixed false of file metadata - */ - public function updateStream($path, $resource, Config $config) - { - return $this->stream($path, $resource, $config, 'update'); - } - - // Required abstract methods - abstract public function write($pash, $contents, Config $config); - abstract public function update($pash, $contents, Config $config); -} diff --git a/paragonik-backend/vendor/league/flysystem/src/Adapter/SynologyFtp.php b/paragonik-backend/vendor/league/flysystem/src/Adapter/SynologyFtp.php deleted file mode 100644 index fe0d344..0000000 --- a/paragonik-backend/vendor/league/flysystem/src/Adapter/SynologyFtp.php +++ /dev/null @@ -1,8 +0,0 @@ -settings = $settings; - } - - /** - * Get a setting. - * - * @param string $key - * @param mixed $default - * - * @return mixed config setting or default when not found - */ - public function get($key, $default = null) - { - if ( ! array_key_exists($key, $this->settings)) { - return $this->getDefault($key, $default); - } - - return $this->settings[$key]; - } - - /** - * Check if an item exists by key. - * - * @param string $key - * - * @return bool - */ - public function has($key) - { - if (array_key_exists($key, $this->settings)) { - return true; - } - - return $this->fallback instanceof Config - ? $this->fallback->has($key) - : false; - } - - /** - * Try to retrieve a default setting from a config fallback. - * - * @param string $key - * @param mixed $default - * - * @return mixed config setting or default when not found - */ - protected function getDefault($key, $default) - { - if ( ! $this->fallback) { - return $default; - } - - return $this->fallback->get($key, $default); - } - - /** - * Set a setting. - * - * @param string $key - * @param mixed $value - * - * @return $this - */ - public function set($key, $value) - { - $this->settings[$key] = $value; - - return $this; - } - - /** - * Set the fallback. - * - * @param Config $fallback - * - * @return $this - */ - public function setFallback(Config $fallback) - { - $this->fallback = $fallback; - - return $this; - } -} diff --git a/paragonik-backend/vendor/league/flysystem/src/ConfigAwareTrait.php b/paragonik-backend/vendor/league/flysystem/src/ConfigAwareTrait.php deleted file mode 100644 index 202d605..0000000 --- a/paragonik-backend/vendor/league/flysystem/src/ConfigAwareTrait.php +++ /dev/null @@ -1,49 +0,0 @@ -config = $config ? Util::ensureConfig($config) : new Config; - } - - /** - * Get the Config. - * - * @return Config config object - */ - public function getConfig() - { - return $this->config; - } - - /** - * Convert a config array to a Config object with the correct fallback. - * - * @param array $config - * - * @return Config - */ - protected function prepareConfig(array $config) - { - $config = new Config($config); - $config->setFallback($this->getConfig()); - - return $config; - } -} diff --git a/paragonik-backend/vendor/league/flysystem/src/Directory.php b/paragonik-backend/vendor/league/flysystem/src/Directory.php deleted file mode 100644 index d4f90a8..0000000 --- a/paragonik-backend/vendor/league/flysystem/src/Directory.php +++ /dev/null @@ -1,31 +0,0 @@ -filesystem->deleteDir($this->path); - } - - /** - * List the directory contents. - * - * @param bool $recursive - * - * @return array|bool directory contents or false - */ - public function getContents($recursive = false) - { - return $this->filesystem->listContents($this->path, $recursive); - } -} diff --git a/paragonik-backend/vendor/league/flysystem/src/Exception.php b/paragonik-backend/vendor/league/flysystem/src/Exception.php deleted file mode 100644 index d4a9907..0000000 --- a/paragonik-backend/vendor/league/flysystem/src/Exception.php +++ /dev/null @@ -1,8 +0,0 @@ -filesystem->has($this->path); - } - - /** - * Read the file. - * - * @return string|false file contents - */ - public function read() - { - return $this->filesystem->read($this->path); - } - - /** - * Read the file as a stream. - * - * @return resource|false file stream - */ - public function readStream() - { - return $this->filesystem->readStream($this->path); - } - - /** - * Write the new file. - * - * @param string $content - * - * @return bool success boolean - */ - public function write($content) - { - return $this->filesystem->write($this->path, $content); - } - - /** - * Write the new file using a stream. - * - * @param resource $resource - * - * @return bool success boolean - */ - public function writeStream($resource) - { - return $this->filesystem->writeStream($this->path, $resource); - } - - /** - * Update the file contents. - * - * @param string $content - * - * @return bool success boolean - */ - public function update($content) - { - return $this->filesystem->update($this->path, $content); - } - - /** - * Update the file contents with a stream. - * - * @param resource $resource - * - * @return bool success boolean - */ - public function updateStream($resource) - { - return $this->filesystem->updateStream($this->path, $resource); - } - - /** - * Create the file or update if exists. - * - * @param string $content - * - * @return bool success boolean - */ - public function put($content) - { - return $this->filesystem->put($this->path, $content); - } - - /** - * Create the file or update if exists using a stream. - * - * @param resource $resource - * - * @return bool success boolean - */ - public function putStream($resource) - { - return $this->filesystem->putStream($this->path, $resource); - } - - /** - * Rename the file. - * - * @param string $newpath - * - * @return bool success boolean - */ - public function rename($newpath) - { - if ($this->filesystem->rename($this->path, $newpath)) { - $this->path = $newpath; - - return true; - } - - return false; - } - - /** - * Copy the file. - * - * @param string $newpath - * - * @return File|false new file or false - */ - public function copy($newpath) - { - if ($this->filesystem->copy($this->path, $newpath)) { - return new File($this->filesystem, $newpath); - } - - return false; - } - - /** - * Get the file's timestamp. - * - * @return string|false The timestamp or false on failure. - */ - public function getTimestamp() - { - return $this->filesystem->getTimestamp($this->path); - } - - /** - * Get the file's mimetype. - * - * @return string|false The file mime-type or false on failure. - */ - public function getMimetype() - { - return $this->filesystem->getMimetype($this->path); - } - - /** - * Get the file's visibility. - * - * @return string|false The visibility (public|private) or false on failure. - */ - public function getVisibility() - { - return $this->filesystem->getVisibility($this->path); - } - - /** - * Get the file's metadata. - * - * @return array|false The file metadata or false on failure. - */ - public function getMetadata() - { - return $this->filesystem->getMetadata($this->path); - } - - /** - * Get the file size. - * - * @return int|false The file size or false on failure. - */ - public function getSize() - { - return $this->filesystem->getSize($this->path); - } - - /** - * Delete the file. - * - * @return bool success boolean - */ - public function delete() - { - return $this->filesystem->delete($this->path); - } -} diff --git a/paragonik-backend/vendor/league/flysystem/src/FileExistsException.php b/paragonik-backend/vendor/league/flysystem/src/FileExistsException.php deleted file mode 100644 index c82e20c..0000000 --- a/paragonik-backend/vendor/league/flysystem/src/FileExistsException.php +++ /dev/null @@ -1,37 +0,0 @@ -path = $path; - - parent::__construct('File already exists at path: ' . $this->getPath(), $code, $previous); - } - - /** - * Get the path which was found. - * - * @return string - */ - public function getPath() - { - return $this->path; - } -} diff --git a/paragonik-backend/vendor/league/flysystem/src/FileNotFoundException.php b/paragonik-backend/vendor/league/flysystem/src/FileNotFoundException.php deleted file mode 100644 index 989df69..0000000 --- a/paragonik-backend/vendor/league/flysystem/src/FileNotFoundException.php +++ /dev/null @@ -1,37 +0,0 @@ -path = $path; - - parent::__construct('File not found at path: ' . $this->getPath(), $code, $previous); - } - - /** - * Get the path which was not found. - * - * @return string - */ - public function getPath() - { - return $this->path; - } -} diff --git a/paragonik-backend/vendor/league/flysystem/src/Filesystem.php b/paragonik-backend/vendor/league/flysystem/src/Filesystem.php deleted file mode 100644 index 18b590e..0000000 --- a/paragonik-backend/vendor/league/flysystem/src/Filesystem.php +++ /dev/null @@ -1,408 +0,0 @@ -adapter = $adapter; - $this->setConfig($config); - } - - /** - * Get the Adapter. - * - * @return AdapterInterface adapter - */ - public function getAdapter() - { - return $this->adapter; - } - - /** - * @inheritdoc - */ - public function has($path) - { - $path = Util::normalizePath($path); - - return strlen($path) === 0 ? false : (bool) $this->getAdapter()->has($path); - } - - /** - * @inheritdoc - */ - public function write($path, $contents, array $config = []) - { - $path = Util::normalizePath($path); - $this->assertAbsent($path); - $config = $this->prepareConfig($config); - - return (bool) $this->getAdapter()->write($path, $contents, $config); - } - - /** - * @inheritdoc - */ - public function writeStream($path, $resource, array $config = []) - { - if ( ! is_resource($resource)) { - throw new InvalidArgumentException(__METHOD__ . ' expects argument #2 to be a valid resource.'); - } - - $path = Util::normalizePath($path); - $this->assertAbsent($path); - $config = $this->prepareConfig($config); - - Util::rewindStream($resource); - - return (bool) $this->getAdapter()->writeStream($path, $resource, $config); - } - - /** - * @inheritdoc - */ - public function put($path, $contents, array $config = []) - { - $path = Util::normalizePath($path); - $config = $this->prepareConfig($config); - - if ( ! $this->getAdapter() instanceof CanOverwriteFiles && $this->has($path)) { - return (bool) $this->getAdapter()->update($path, $contents, $config); - } - - return (bool) $this->getAdapter()->write($path, $contents, $config); - } - - /** - * @inheritdoc - */ - public function putStream($path, $resource, array $config = []) - { - if ( ! is_resource($resource)) { - throw new InvalidArgumentException(__METHOD__ . ' expects argument #2 to be a valid resource.'); - } - - $path = Util::normalizePath($path); - $config = $this->prepareConfig($config); - Util::rewindStream($resource); - - if ( ! $this->getAdapter() instanceof CanOverwriteFiles && $this->has($path)) { - return (bool) $this->getAdapter()->updateStream($path, $resource, $config); - } - - return (bool) $this->getAdapter()->writeStream($path, $resource, $config); - } - - /** - * @inheritdoc - */ - public function readAndDelete($path) - { - $path = Util::normalizePath($path); - $this->assertPresent($path); - $contents = $this->read($path); - - if ($contents === false) { - return false; - } - - $this->delete($path); - - return $contents; - } - - /** - * @inheritdoc - */ - public function update($path, $contents, array $config = []) - { - $path = Util::normalizePath($path); - $config = $this->prepareConfig($config); - - $this->assertPresent($path); - - return (bool) $this->getAdapter()->update($path, $contents, $config); - } - - /** - * @inheritdoc - */ - public function updateStream($path, $resource, array $config = []) - { - if ( ! is_resource($resource)) { - throw new InvalidArgumentException(__METHOD__ . ' expects argument #2 to be a valid resource.'); - } - - $path = Util::normalizePath($path); - $config = $this->prepareConfig($config); - $this->assertPresent($path); - Util::rewindStream($resource); - - return (bool) $this->getAdapter()->updateStream($path, $resource, $config); - } - - /** - * @inheritdoc - */ - public function read($path) - { - $path = Util::normalizePath($path); - $this->assertPresent($path); - - if ( ! ($object = $this->getAdapter()->read($path))) { - return false; - } - - return $object['contents']; - } - - /** - * @inheritdoc - */ - public function readStream($path) - { - $path = Util::normalizePath($path); - $this->assertPresent($path); - - if ( ! $object = $this->getAdapter()->readStream($path)) { - return false; - } - - return $object['stream']; - } - - /** - * @inheritdoc - */ - public function rename($path, $newpath) - { - $path = Util::normalizePath($path); - $newpath = Util::normalizePath($newpath); - $this->assertPresent($path); - $this->assertAbsent($newpath); - - return (bool) $this->getAdapter()->rename($path, $newpath); - } - - /** - * @inheritdoc - */ - public function copy($path, $newpath) - { - $path = Util::normalizePath($path); - $newpath = Util::normalizePath($newpath); - $this->assertPresent($path); - $this->assertAbsent($newpath); - - return $this->getAdapter()->copy($path, $newpath); - } - - /** - * @inheritdoc - */ - public function delete($path) - { - $path = Util::normalizePath($path); - $this->assertPresent($path); - - return $this->getAdapter()->delete($path); - } - - /** - * @inheritdoc - */ - public function deleteDir($dirname) - { - $dirname = Util::normalizePath($dirname); - - if ($dirname === '') { - throw new RootViolationException('Root directories can not be deleted.'); - } - - return (bool) $this->getAdapter()->deleteDir($dirname); - } - - /** - * @inheritdoc - */ - public function createDir($dirname, array $config = []) - { - $dirname = Util::normalizePath($dirname); - $config = $this->prepareConfig($config); - - return (bool) $this->getAdapter()->createDir($dirname, $config); - } - - /** - * @inheritdoc - */ - public function listContents($directory = '', $recursive = false) - { - $directory = Util::normalizePath($directory); - $contents = $this->getAdapter()->listContents($directory, $recursive); - - return (new ContentListingFormatter($directory, $recursive, $this->config->get('case_sensitive', true))) - ->formatListing($contents); - } - - /** - * @inheritdoc - */ - public function getMimetype($path) - { - $path = Util::normalizePath($path); - $this->assertPresent($path); - - if (( ! $object = $this->getAdapter()->getMimetype($path)) || ! array_key_exists('mimetype', $object)) { - return false; - } - - return $object['mimetype']; - } - - /** - * @inheritdoc - */ - public function getTimestamp($path) - { - $path = Util::normalizePath($path); - $this->assertPresent($path); - - if (( ! $object = $this->getAdapter()->getTimestamp($path)) || ! array_key_exists('timestamp', $object)) { - return false; - } - - return $object['timestamp']; - } - - /** - * @inheritdoc - */ - public function getVisibility($path) - { - $path = Util::normalizePath($path); - $this->assertPresent($path); - - if (( ! $object = $this->getAdapter()->getVisibility($path)) || ! array_key_exists('visibility', $object)) { - return false; - } - - return $object['visibility']; - } - - /** - * @inheritdoc - */ - public function getSize($path) - { - $path = Util::normalizePath($path); - $this->assertPresent($path); - - if (( ! $object = $this->getAdapter()->getSize($path)) || ! array_key_exists('size', $object)) { - return false; - } - - return (int) $object['size']; - } - - /** - * @inheritdoc - */ - public function setVisibility($path, $visibility) - { - $path = Util::normalizePath($path); - $this->assertPresent($path); - - return (bool) $this->getAdapter()->setVisibility($path, $visibility); - } - - /** - * @inheritdoc - */ - public function getMetadata($path) - { - $path = Util::normalizePath($path); - $this->assertPresent($path); - - return $this->getAdapter()->getMetadata($path); - } - - /** - * @inheritdoc - */ - public function get($path, Handler $handler = null) - { - $path = Util::normalizePath($path); - - if ( ! $handler) { - $metadata = $this->getMetadata($path); - $handler = $metadata['type'] === 'file' ? new File($this, $path) : new Directory($this, $path); - } - - $handler->setPath($path); - $handler->setFilesystem($this); - - return $handler; - } - - /** - * Assert a file is present. - * - * @param string $path path to file - * - * @throws FileNotFoundException - * - * @return void - */ - public function assertPresent($path) - { - if ($this->config->get('disable_asserts', false) === false && ! $this->has($path)) { - throw new FileNotFoundException($path); - } - } - - /** - * Assert a file is absent. - * - * @param string $path path to file - * - * @throws FileExistsException - * - * @return void - */ - public function assertAbsent($path) - { - if ($this->config->get('disable_asserts', false) === false && $this->has($path)) { - throw new FileExistsException($path); - } - } -} diff --git a/paragonik-backend/vendor/league/flysystem/src/FilesystemInterface.php b/paragonik-backend/vendor/league/flysystem/src/FilesystemInterface.php deleted file mode 100644 index 09b811b..0000000 --- a/paragonik-backend/vendor/league/flysystem/src/FilesystemInterface.php +++ /dev/null @@ -1,284 +0,0 @@ -path = $path; - $this->filesystem = $filesystem; - } - - /** - * Check whether the entree is a directory. - * - * @return bool - */ - public function isDir() - { - return $this->getType() === 'dir'; - } - - /** - * Check whether the entree is a file. - * - * @return bool - */ - public function isFile() - { - return $this->getType() === 'file'; - } - - /** - * Retrieve the entree type (file|dir). - * - * @return string file or dir - */ - public function getType() - { - $metadata = $this->filesystem->getMetadata($this->path); - - return $metadata['type']; - } - - /** - * Set the Filesystem object. - * - * @param FilesystemInterface $filesystem - * - * @return $this - */ - public function setFilesystem(FilesystemInterface $filesystem) - { - $this->filesystem = $filesystem; - - return $this; - } - - /** - * Retrieve the Filesystem object. - * - * @return FilesystemInterface - */ - public function getFilesystem() - { - return $this->filesystem; - } - - /** - * Set the entree path. - * - * @param string $path - * - * @return $this - */ - public function setPath($path) - { - $this->path = $path; - - return $this; - } - - /** - * Retrieve the entree path. - * - * @return string path - */ - public function getPath() - { - return $this->path; - } - - /** - * Plugins pass-through. - * - * @param string $method - * @param array $arguments - * - * @return mixed - */ - public function __call($method, array $arguments) - { - array_unshift($arguments, $this->path); - $callback = [$this->filesystem, $method]; - - try { - return call_user_func_array($callback, $arguments); - } catch (BadMethodCallException $e) { - throw new BadMethodCallException( - 'Call to undefined method ' - . get_called_class() - . '::' . $method - ); - } - } -} diff --git a/paragonik-backend/vendor/league/flysystem/src/MountManager.php b/paragonik-backend/vendor/league/flysystem/src/MountManager.php deleted file mode 100644 index 620f540..0000000 --- a/paragonik-backend/vendor/league/flysystem/src/MountManager.php +++ /dev/null @@ -1,648 +0,0 @@ - Filesystem,] - * - * @throws InvalidArgumentException - */ - public function __construct(array $filesystems = []) - { - $this->mountFilesystems($filesystems); - } - - /** - * Mount filesystems. - * - * @param FilesystemInterface[] $filesystems [:prefix => Filesystem,] - * - * @throws InvalidArgumentException - * - * @return $this - */ - public function mountFilesystems(array $filesystems) - { - foreach ($filesystems as $prefix => $filesystem) { - $this->mountFilesystem($prefix, $filesystem); - } - - return $this; - } - - /** - * Mount filesystems. - * - * @param string $prefix - * @param FilesystemInterface $filesystem - * - * @throws InvalidArgumentException - * - * @return $this - */ - public function mountFilesystem($prefix, FilesystemInterface $filesystem) - { - if ( ! is_string($prefix)) { - throw new InvalidArgumentException(__METHOD__ . ' expects argument #1 to be a string.'); - } - - $this->filesystems[$prefix] = $filesystem; - - return $this; - } - - /** - * Get the filesystem with the corresponding prefix. - * - * @param string $prefix - * - * @throws FilesystemNotFoundException - * - * @return FilesystemInterface - */ - public function getFilesystem($prefix) - { - if ( ! isset($this->filesystems[$prefix])) { - throw new FilesystemNotFoundException('No filesystem mounted with prefix ' . $prefix); - } - - return $this->filesystems[$prefix]; - } - - /** - * Retrieve the prefix from an arguments array. - * - * @param array $arguments - * - * @throws InvalidArgumentException - * - * @return array [:prefix, :arguments] - */ - public function filterPrefix(array $arguments) - { - if (empty($arguments)) { - throw new InvalidArgumentException('At least one argument needed'); - } - - $path = array_shift($arguments); - - if ( ! is_string($path)) { - throw new InvalidArgumentException('First argument should be a string'); - } - - list($prefix, $path) = $this->getPrefixAndPath($path); - array_unshift($arguments, $path); - - return [$prefix, $arguments]; - } - - /** - * @param string $directory - * @param bool $recursive - * - * @throws InvalidArgumentException - * @throws FilesystemNotFoundException - * - * @return array - */ - public function listContents($directory = '', $recursive = false) - { - list($prefix, $directory) = $this->getPrefixAndPath($directory); - $filesystem = $this->getFilesystem($prefix); - $result = $filesystem->listContents($directory, $recursive); - - foreach ($result as &$file) { - $file['filesystem'] = $prefix; - } - - return $result; - } - - /** - * Call forwarder. - * - * @param string $method - * @param array $arguments - * - * @throws InvalidArgumentException - * @throws FilesystemNotFoundException - * - * @return mixed - */ - public function __call($method, $arguments) - { - list($prefix, $arguments) = $this->filterPrefix($arguments); - - return $this->invokePluginOnFilesystem($method, $arguments, $prefix); - } - - /** - * @param string $from - * @param string $to - * @param array $config - * - * @throws InvalidArgumentException - * @throws FilesystemNotFoundException - * @throws FileExistsException - * - * @return bool - */ - public function copy($from, $to, array $config = []) - { - list($prefixFrom, $from) = $this->getPrefixAndPath($from); - - $buffer = $this->getFilesystem($prefixFrom)->readStream($from); - - if ($buffer === false) { - return false; - } - - list($prefixTo, $to) = $this->getPrefixAndPath($to); - - $result = $this->getFilesystem($prefixTo)->writeStream($to, $buffer, $config); - - if (is_resource($buffer)) { - fclose($buffer); - } - - return $result; - } - - /** - * List with plugin adapter. - * - * @param array $keys - * @param string $directory - * @param bool $recursive - * - * @throws InvalidArgumentException - * @throws FilesystemNotFoundException - * - * @return array - */ - public function listWith(array $keys = [], $directory = '', $recursive = false) - { - list($prefix, $directory) = $this->getPrefixAndPath($directory); - $arguments = [$keys, $directory, $recursive]; - - return $this->invokePluginOnFilesystem('listWith', $arguments, $prefix); - } - - /** - * Move a file. - * - * @param string $from - * @param string $to - * @param array $config - * - * @throws InvalidArgumentException - * @throws FilesystemNotFoundException - * - * @return bool - */ - public function move($from, $to, array $config = []) - { - list($prefixFrom, $pathFrom) = $this->getPrefixAndPath($from); - list($prefixTo, $pathTo) = $this->getPrefixAndPath($to); - - if ($prefixFrom === $prefixTo) { - $filesystem = $this->getFilesystem($prefixFrom); - $renamed = $filesystem->rename($pathFrom, $pathTo); - - if ($renamed && isset($config['visibility'])) { - return $filesystem->setVisibility($pathTo, $config['visibility']); - } - - return $renamed; - } - - $copied = $this->copy($from, $to, $config); - - if ($copied) { - return $this->delete($from); - } - - return false; - } - - /** - * Invoke a plugin on a filesystem mounted on a given prefix. - * - * @param string $method - * @param array $arguments - * @param string $prefix - * - * @throws FilesystemNotFoundException - * - * @return mixed - */ - public function invokePluginOnFilesystem($method, $arguments, $prefix) - { - $filesystem = $this->getFilesystem($prefix); - - try { - return $this->invokePlugin($method, $arguments, $filesystem); - } catch (PluginNotFoundException $e) { - // Let it pass, it's ok, don't panic. - } - - $callback = [$filesystem, $method]; - - return call_user_func_array($callback, $arguments); - } - - /** - * @param string $path - * - * @throws InvalidArgumentException - * - * @return string[] [:prefix, :path] - */ - protected function getPrefixAndPath($path) - { - if (strpos($path, '://') < 1) { - throw new InvalidArgumentException('No prefix detected in path: ' . $path); - } - - return explode('://', $path, 2); - } - - /** - * Check whether a file exists. - * - * @param string $path - * - * @return bool - */ - public function has($path) - { - list($prefix, $path) = $this->getPrefixAndPath($path); - - return $this->getFilesystem($prefix)->has($path); - } - - /** - * Read a file. - * - * @param string $path The path to the file. - * - * @throws FileNotFoundException - * - * @return string|false The file contents or false on failure. - */ - public function read($path) - { - list($prefix, $path) = $this->getPrefixAndPath($path); - - return $this->getFilesystem($prefix)->read($path); - } - - /** - * Retrieves a read-stream for a path. - * - * @param string $path The path to the file. - * - * @throws FileNotFoundException - * - * @return resource|false The path resource or false on failure. - */ - public function readStream($path) - { - list($prefix, $path) = $this->getPrefixAndPath($path); - - return $this->getFilesystem($prefix)->readStream($path); - } - - /** - * Get a file's metadata. - * - * @param string $path The path to the file. - * - * @throws FileNotFoundException - * - * @return array|false The file metadata or false on failure. - */ - public function getMetadata($path) - { - list($prefix, $path) = $this->getPrefixAndPath($path); - - return $this->getFilesystem($prefix)->getMetadata($path); - } - - /** - * Get a file's size. - * - * @param string $path The path to the file. - * - * @throws FileNotFoundException - * - * @return int|false The file size or false on failure. - */ - public function getSize($path) - { - list($prefix, $path) = $this->getPrefixAndPath($path); - - return $this->getFilesystem($prefix)->getSize($path); - } - - /** - * Get a file's mime-type. - * - * @param string $path The path to the file. - * - * @throws FileNotFoundException - * - * @return string|false The file mime-type or false on failure. - */ - public function getMimetype($path) - { - list($prefix, $path) = $this->getPrefixAndPath($path); - - return $this->getFilesystem($prefix)->getMimetype($path); - } - - /** - * Get a file's timestamp. - * - * @param string $path The path to the file. - * - * @throws FileNotFoundException - * - * @return string|false The timestamp or false on failure. - */ - public function getTimestamp($path) - { - list($prefix, $path) = $this->getPrefixAndPath($path); - - return $this->getFilesystem($prefix)->getTimestamp($path); - } - - /** - * Get a file's visibility. - * - * @param string $path The path to the file. - * - * @throws FileNotFoundException - * - * @return string|false The visibility (public|private) or false on failure. - */ - public function getVisibility($path) - { - list($prefix, $path) = $this->getPrefixAndPath($path); - - return $this->getFilesystem($prefix)->getVisibility($path); - } - - /** - * Write a new file. - * - * @param string $path The path of the new file. - * @param string $contents The file contents. - * @param array $config An optional configuration array. - * - * @throws FileExistsException - * - * @return bool True on success, false on failure. - */ - public function write($path, $contents, array $config = []) - { - list($prefix, $path) = $this->getPrefixAndPath($path); - - return $this->getFilesystem($prefix)->write($path, $contents, $config); - } - - /** - * Write a new file using a stream. - * - * @param string $path The path of the new file. - * @param resource $resource The file handle. - * @param array $config An optional configuration array. - * - * @throws InvalidArgumentException If $resource is not a file handle. - * @throws FileExistsException - * - * @return bool True on success, false on failure. - */ - public function writeStream($path, $resource, array $config = []) - { - list($prefix, $path) = $this->getPrefixAndPath($path); - - return $this->getFilesystem($prefix)->writeStream($path, $resource, $config); - } - - /** - * Update an existing file. - * - * @param string $path The path of the existing file. - * @param string $contents The file contents. - * @param array $config An optional configuration array. - * - * @throws FileNotFoundException - * - * @return bool True on success, false on failure. - */ - public function update($path, $contents, array $config = []) - { - list($prefix, $path) = $this->getPrefixAndPath($path); - - return $this->getFilesystem($prefix)->update($path, $contents, $config); - } - - /** - * Update an existing file using a stream. - * - * @param string $path The path of the existing file. - * @param resource $resource The file handle. - * @param array $config An optional configuration array. - * - * @throws InvalidArgumentException If $resource is not a file handle. - * @throws FileNotFoundException - * - * @return bool True on success, false on failure. - */ - public function updateStream($path, $resource, array $config = []) - { - list($prefix, $path) = $this->getPrefixAndPath($path); - - return $this->getFilesystem($prefix)->updateStream($path, $resource, $config); - } - - /** - * Rename a file. - * - * @param string $path Path to the existing file. - * @param string $newpath The new path of the file. - * - * @throws FileExistsException Thrown if $newpath exists. - * @throws FileNotFoundException Thrown if $path does not exist. - * - * @return bool True on success, false on failure. - */ - public function rename($path, $newpath) - { - list($prefix, $path) = $this->getPrefixAndPath($path); - - return $this->getFilesystem($prefix)->rename($path, $newpath); - } - - /** - * Delete a file. - * - * @param string $path - * - * @throws FileNotFoundException - * - * @return bool True on success, false on failure. - */ - public function delete($path) - { - list($prefix, $path) = $this->getPrefixAndPath($path); - - return $this->getFilesystem($prefix)->delete($path); - } - - /** - * Delete a directory. - * - * @param string $dirname - * - * @throws RootViolationException Thrown if $dirname is empty. - * - * @return bool True on success, false on failure. - */ - public function deleteDir($dirname) - { - list($prefix, $dirname) = $this->getPrefixAndPath($dirname); - - return $this->getFilesystem($prefix)->deleteDir($dirname); - } - - /** - * Create a directory. - * - * @param string $dirname The name of the new directory. - * @param array $config An optional configuration array. - * - * @return bool True on success, false on failure. - */ - public function createDir($dirname, array $config = []) - { - list($prefix, $dirname) = $this->getPrefixAndPath($dirname); - - return $this->getFilesystem($prefix)->createDir($dirname); - } - - /** - * Set the visibility for a file. - * - * @param string $path The path to the file. - * @param string $visibility One of 'public' or 'private'. - * - * @throws FileNotFoundException - * - * @return bool True on success, false on failure. - */ - public function setVisibility($path, $visibility) - { - list($prefix, $path) = $this->getPrefixAndPath($path); - - return $this->getFilesystem($prefix)->setVisibility($path, $visibility); - } - - /** - * Create a file or update if exists. - * - * @param string $path The path to the file. - * @param string $contents The file contents. - * @param array $config An optional configuration array. - * - * @return bool True on success, false on failure. - */ - public function put($path, $contents, array $config = []) - { - list($prefix, $path) = $this->getPrefixAndPath($path); - - return $this->getFilesystem($prefix)->put($path, $contents, $config); - } - - /** - * Create a file or update if exists. - * - * @param string $path The path to the file. - * @param resource $resource The file handle. - * @param array $config An optional configuration array. - * - * @throws InvalidArgumentException Thrown if $resource is not a resource. - * - * @return bool True on success, false on failure. - */ - public function putStream($path, $resource, array $config = []) - { - list($prefix, $path) = $this->getPrefixAndPath($path); - - return $this->getFilesystem($prefix)->putStream($path, $resource, $config); - } - - /** - * Read and delete a file. - * - * @param string $path The path to the file. - * - * @throws FileNotFoundException - * - * @return string|false The file contents, or false on failure. - */ - public function readAndDelete($path) - { - list($prefix, $path) = $this->getPrefixAndPath($path); - - return $this->getFilesystem($prefix)->readAndDelete($path); - } - - /** - * Get a file/directory handler. - * - * @deprecated - * - * @param string $path The path to the file. - * @param Handler $handler An optional existing handler to populate. - * - * @return Handler Either a file or directory handler. - */ - public function get($path, Handler $handler = null) - { - list($prefix, $path) = $this->getPrefixAndPath($path); - - return $this->getFilesystem($prefix)->get($path); - } -} diff --git a/paragonik-backend/vendor/league/flysystem/src/NotSupportedException.php b/paragonik-backend/vendor/league/flysystem/src/NotSupportedException.php deleted file mode 100644 index 08f47f7..0000000 --- a/paragonik-backend/vendor/league/flysystem/src/NotSupportedException.php +++ /dev/null @@ -1,37 +0,0 @@ -getPathname()); - } - - /** - * Create a new exception for a link. - * - * @param string $systemType - * - * @return static - */ - public static function forFtpSystemType($systemType) - { - $message = "The FTP system type '$systemType' is currently not supported."; - - return new static($message); - } -} diff --git a/paragonik-backend/vendor/league/flysystem/src/Plugin/AbstractPlugin.php b/paragonik-backend/vendor/league/flysystem/src/Plugin/AbstractPlugin.php deleted file mode 100644 index 0d56789..0000000 --- a/paragonik-backend/vendor/league/flysystem/src/Plugin/AbstractPlugin.php +++ /dev/null @@ -1,24 +0,0 @@ -filesystem = $filesystem; - } -} diff --git a/paragonik-backend/vendor/league/flysystem/src/Plugin/EmptyDir.php b/paragonik-backend/vendor/league/flysystem/src/Plugin/EmptyDir.php deleted file mode 100644 index b5ae7f5..0000000 --- a/paragonik-backend/vendor/league/flysystem/src/Plugin/EmptyDir.php +++ /dev/null @@ -1,34 +0,0 @@ -filesystem->listContents($dirname, false); - - foreach ($listing as $item) { - if ($item['type'] === 'dir') { - $this->filesystem->deleteDir($item['path']); - } else { - $this->filesystem->delete($item['path']); - } - } - } -} diff --git a/paragonik-backend/vendor/league/flysystem/src/Plugin/ForcedCopy.php b/paragonik-backend/vendor/league/flysystem/src/Plugin/ForcedCopy.php deleted file mode 100644 index a41e9f3..0000000 --- a/paragonik-backend/vendor/league/flysystem/src/Plugin/ForcedCopy.php +++ /dev/null @@ -1,44 +0,0 @@ -filesystem->delete($newpath); - } catch (FileNotFoundException $e) { - // The destination path does not exist. That's ok. - $deleted = true; - } - - if ($deleted) { - return $this->filesystem->copy($path, $newpath); - } - - return false; - } -} diff --git a/paragonik-backend/vendor/league/flysystem/src/Plugin/ForcedRename.php b/paragonik-backend/vendor/league/flysystem/src/Plugin/ForcedRename.php deleted file mode 100644 index 3f51cd6..0000000 --- a/paragonik-backend/vendor/league/flysystem/src/Plugin/ForcedRename.php +++ /dev/null @@ -1,44 +0,0 @@ -filesystem->delete($newpath); - } catch (FileNotFoundException $e) { - // The destination path does not exist. That's ok. - $deleted = true; - } - - if ($deleted) { - return $this->filesystem->rename($path, $newpath); - } - - return false; - } -} diff --git a/paragonik-backend/vendor/league/flysystem/src/Plugin/GetWithMetadata.php b/paragonik-backend/vendor/league/flysystem/src/Plugin/GetWithMetadata.php deleted file mode 100644 index 6fe4f05..0000000 --- a/paragonik-backend/vendor/league/flysystem/src/Plugin/GetWithMetadata.php +++ /dev/null @@ -1,51 +0,0 @@ -filesystem->getMetadata($path); - - if ( ! $object) { - return false; - } - - $keys = array_diff($metadata, array_keys($object)); - - foreach ($keys as $key) { - if ( ! method_exists($this->filesystem, $method = 'get' . ucfirst($key))) { - throw new InvalidArgumentException('Could not fetch metadata: ' . $key); - } - - $object[$key] = $this->filesystem->{$method}($path); - } - - return $object; - } -} diff --git a/paragonik-backend/vendor/league/flysystem/src/Plugin/ListFiles.php b/paragonik-backend/vendor/league/flysystem/src/Plugin/ListFiles.php deleted file mode 100644 index 9669fe7..0000000 --- a/paragonik-backend/vendor/league/flysystem/src/Plugin/ListFiles.php +++ /dev/null @@ -1,35 +0,0 @@ -filesystem->listContents($directory, $recursive); - - $filter = function ($object) { - return $object['type'] === 'file'; - }; - - return array_values(array_filter($contents, $filter)); - } -} diff --git a/paragonik-backend/vendor/league/flysystem/src/Plugin/ListPaths.php b/paragonik-backend/vendor/league/flysystem/src/Plugin/ListPaths.php deleted file mode 100644 index 514bdf0..0000000 --- a/paragonik-backend/vendor/league/flysystem/src/Plugin/ListPaths.php +++ /dev/null @@ -1,36 +0,0 @@ -filesystem->listContents($directory, $recursive); - - foreach ($contents as $object) { - $result[] = $object['path']; - } - - return $result; - } -} diff --git a/paragonik-backend/vendor/league/flysystem/src/Plugin/ListWith.php b/paragonik-backend/vendor/league/flysystem/src/Plugin/ListWith.php deleted file mode 100644 index d90464e..0000000 --- a/paragonik-backend/vendor/league/flysystem/src/Plugin/ListWith.php +++ /dev/null @@ -1,60 +0,0 @@ -filesystem->listContents($directory, $recursive); - - foreach ($contents as $index => $object) { - if ($object['type'] === 'file') { - $missingKeys = array_diff($keys, array_keys($object)); - $contents[$index] = array_reduce($missingKeys, [$this, 'getMetadataByName'], $object); - } - } - - return $contents; - } - - /** - * Get a meta-data value by key name. - * - * @param array $object - * @param string $key - * - * @return array - */ - protected function getMetadataByName(array $object, $key) - { - $method = 'get' . ucfirst($key); - - if ( ! method_exists($this->filesystem, $method)) { - throw new \InvalidArgumentException('Could not get meta-data for key: ' . $key); - } - - $object[$key] = $this->filesystem->{$method}($object['path']); - - return $object; - } -} diff --git a/paragonik-backend/vendor/league/flysystem/src/Plugin/PluggableTrait.php b/paragonik-backend/vendor/league/flysystem/src/Plugin/PluggableTrait.php deleted file mode 100644 index 922edfe..0000000 --- a/paragonik-backend/vendor/league/flysystem/src/Plugin/PluggableTrait.php +++ /dev/null @@ -1,97 +0,0 @@ -plugins[$plugin->getMethod()] = $plugin; - - return $this; - } - - /** - * Find a specific plugin. - * - * @param string $method - * - * @throws PluginNotFoundException - * - * @return PluginInterface - */ - protected function findPlugin($method) - { - if ( ! isset($this->plugins[$method])) { - throw new PluginNotFoundException('Plugin not found for method: ' . $method); - } - - return $this->plugins[$method]; - } - - /** - * Invoke a plugin by method name. - * - * @param string $method - * @param array $arguments - * @param FilesystemInterface $filesystem - * - * @throws PluginNotFoundException - * - * @return mixed - */ - protected function invokePlugin($method, array $arguments, FilesystemInterface $filesystem) - { - $plugin = $this->findPlugin($method); - $plugin->setFilesystem($filesystem); - $callback = [$plugin, 'handle']; - - return call_user_func_array($callback, $arguments); - } - - /** - * Plugins pass-through. - * - * @param string $method - * @param array $arguments - * - * @throws BadMethodCallException - * - * @return mixed - */ - public function __call($method, array $arguments) - { - try { - return $this->invokePlugin($method, $arguments, $this); - } catch (PluginNotFoundException $e) { - throw new BadMethodCallException( - 'Call to undefined method ' - . get_class($this) - . '::' . $method - ); - } - } -} diff --git a/paragonik-backend/vendor/league/flysystem/src/Plugin/PluginNotFoundException.php b/paragonik-backend/vendor/league/flysystem/src/Plugin/PluginNotFoundException.php deleted file mode 100644 index fd1d7e7..0000000 --- a/paragonik-backend/vendor/league/flysystem/src/Plugin/PluginNotFoundException.php +++ /dev/null @@ -1,10 +0,0 @@ -hash = spl_object_hash($this); - static::$safeStorage[$this->hash] = []; - } - - public function storeSafely($key, $value) - { - static::$safeStorage[$this->hash][$key] = $value; - } - - public function retrieveSafely($key) - { - if (array_key_exists($key, static::$safeStorage[$this->hash])) { - return static::$safeStorage[$this->hash][$key]; - } - } - - public function __destruct() - { - unset(static::$safeStorage[$this->hash]); - } -} diff --git a/paragonik-backend/vendor/league/flysystem/src/UnreadableFileException.php b/paragonik-backend/vendor/league/flysystem/src/UnreadableFileException.php deleted file mode 100644 index e668033..0000000 --- a/paragonik-backend/vendor/league/flysystem/src/UnreadableFileException.php +++ /dev/null @@ -1,18 +0,0 @@ -getRealPath() - ) - ); - } -} diff --git a/paragonik-backend/vendor/league/flysystem/src/Util.php b/paragonik-backend/vendor/league/flysystem/src/Util.php deleted file mode 100644 index 2c77540..0000000 --- a/paragonik-backend/vendor/league/flysystem/src/Util.php +++ /dev/null @@ -1,349 +0,0 @@ - '']; - } - - /** - * Normalize a dirname return value. - * - * @param string $dirname - * - * @return string normalized dirname - */ - public static function normalizeDirname($dirname) - { - return $dirname === '.' ? '' : $dirname; - } - - /** - * Get a normalized dirname from a path. - * - * @param string $path - * - * @return string dirname - */ - public static function dirname($path) - { - return static::normalizeDirname(dirname($path)); - } - - /** - * Map result arrays. - * - * @param array $object - * @param array $map - * - * @return array mapped result - */ - public static function map(array $object, array $map) - { - $result = []; - - foreach ($map as $from => $to) { - if ( ! isset($object[$from])) { - continue; - } - - $result[$to] = $object[$from]; - } - - return $result; - } - - /** - * Normalize path. - * - * @param string $path - * - * @throws LogicException - * - * @return string - */ - public static function normalizePath($path) - { - return static::normalizeRelativePath($path); - } - - /** - * Normalize relative directories in a path. - * - * @param string $path - * - * @throws LogicException - * - * @return string - */ - public static function normalizeRelativePath($path) - { - $path = str_replace('\\', '/', $path); - $path = static::removeFunkyWhiteSpace($path); - - $parts = []; - - foreach (explode('/', $path) as $part) { - switch ($part) { - case '': - case '.': - break; - - case '..': - if (empty($parts)) { - throw new LogicException( - 'Path is outside of the defined root, path: [' . $path . ']' - ); - } - array_pop($parts); - break; - - default: - $parts[] = $part; - break; - } - } - - return implode('/', $parts); - } - - /** - * Removes unprintable characters and invalid unicode characters. - * - * @param string $path - * - * @return string $path - */ - protected static function removeFunkyWhiteSpace($path) - { - // We do this check in a loop, since removing invalid unicode characters - // can lead to new characters being created. - while (preg_match('#\p{C}+|^\./#u', $path)) { - $path = preg_replace('#\p{C}+|^\./#u', '', $path); - } - - return $path; - } - - /** - * Normalize prefix. - * - * @param string $prefix - * @param string $separator - * - * @return string normalized path - */ - public static function normalizePrefix($prefix, $separator) - { - return rtrim($prefix, $separator) . $separator; - } - - /** - * Get content size. - * - * @param string $contents - * - * @return int content size - */ - public static function contentSize($contents) - { - return defined('MB_OVERLOAD_STRING') ? mb_strlen($contents, '8bit') : strlen($contents); - } - - /** - * Guess MIME Type based on the path of the file and it's content. - * - * @param string $path - * @param string|resource $content - * - * @return string|null MIME Type or NULL if no extension detected - */ - public static function guessMimeType($path, $content) - { - $mimeType = MimeType::detectByContent($content); - - if ( ! (empty($mimeType) || in_array($mimeType, ['application/x-empty', 'text/plain', 'text/x-asm']))) { - return $mimeType; - } - - return MimeType::detectByFilename($path); - } - - /** - * Emulate directories. - * - * @param array $listing - * - * @return array listing with emulated directories - */ - public static function emulateDirectories(array $listing) - { - $directories = []; - $listedDirectories = []; - - foreach ($listing as $object) { - list($directories, $listedDirectories) = static::emulateObjectDirectories($object, $directories, $listedDirectories); - } - - $directories = array_diff(array_unique($directories), array_unique($listedDirectories)); - - foreach ($directories as $directory) { - $listing[] = static::pathinfo($directory) + ['type' => 'dir']; - } - - return $listing; - } - - /** - * Ensure a Config instance. - * - * @param null|array|Config $config - * - * @return Config config instance - * - * @throw LogicException - */ - public static function ensureConfig($config) - { - if ($config === null) { - return new Config(); - } - - if ($config instanceof Config) { - return $config; - } - - if (is_array($config)) { - return new Config($config); - } - - throw new LogicException('A config should either be an array or a Flysystem\Config object.'); - } - - /** - * Rewind a stream. - * - * @param resource $resource - */ - public static function rewindStream($resource) - { - if (ftell($resource) !== 0 && static::isSeekableStream($resource)) { - rewind($resource); - } - } - - public static function isSeekableStream($resource) - { - $metadata = stream_get_meta_data($resource); - - return $metadata['seekable']; - } - - /** - * Get the size of a stream. - * - * @param resource $resource - * - * @return int stream size - */ - public static function getStreamSize($resource) - { - $stat = fstat($resource); - - return $stat['size']; - } - - /** - * Emulate the directories of a single object. - * - * @param array $object - * @param array $directories - * @param array $listedDirectories - * - * @return array - */ - protected static function emulateObjectDirectories(array $object, array $directories, array $listedDirectories) - { - if ($object['type'] === 'dir') { - $listedDirectories[] = $object['path']; - } - - if (empty($object['dirname'])) { - return [$directories, $listedDirectories]; - } - - $parent = $object['dirname']; - - while ( ! empty($parent) && ! in_array($parent, $directories)) { - $directories[] = $parent; - $parent = static::dirname($parent); - } - - if (isset($object['type']) && $object['type'] === 'dir') { - $listedDirectories[] = $object['path']; - - return [$directories, $listedDirectories]; - } - - return [$directories, $listedDirectories]; - } - - /** - * Returns the trailing name component of the path. - * - * @param string $path - * - * @return string - */ - private static function basename($path) - { - $separators = DIRECTORY_SEPARATOR === '/' ? '/' : '\/'; - - $path = rtrim($path, $separators); - - $basename = preg_replace('#.*?([^' . preg_quote($separators, '#') . ']+$)#', '$1', $path); - - if (DIRECTORY_SEPARATOR === '/') { - return $basename; - } - // @codeCoverageIgnoreStart - // Extra Windows path munging. This is tested via AppVeyor, but code - // coverage is not reported. - - // Handle relative paths with drive letters. c:file.txt. - while (preg_match('#^[a-zA-Z]{1}:[^\\\/]#', $basename)) { - $basename = substr($basename, 2); - } - - // Remove colon for standalone drive letter names. - if (preg_match('#^[a-zA-Z]{1}:$#', $basename)) { - $basename = rtrim($basename, ':'); - } - - return $basename; - // @codeCoverageIgnoreEnd - } -} diff --git a/paragonik-backend/vendor/league/flysystem/src/Util/ContentListingFormatter.php b/paragonik-backend/vendor/league/flysystem/src/Util/ContentListingFormatter.php deleted file mode 100644 index ae0d3b9..0000000 --- a/paragonik-backend/vendor/league/flysystem/src/Util/ContentListingFormatter.php +++ /dev/null @@ -1,122 +0,0 @@ -directory = rtrim($directory, '/'); - $this->recursive = $recursive; - $this->caseSensitive = $caseSensitive; - } - - /** - * Format contents listing. - * - * @param array $listing - * - * @return array - */ - public function formatListing(array $listing) - { - $listing = array_filter(array_map([$this, 'addPathInfo'], $listing), [$this, 'isEntryOutOfScope']); - - return $this->sortListing(array_values($listing)); - } - - private function addPathInfo(array $entry) - { - return $entry + Util::pathinfo($entry['path']); - } - - /** - * Determine if the entry is out of scope. - * - * @param array $entry - * - * @return bool - */ - private function isEntryOutOfScope(array $entry) - { - if (empty($entry['path']) && $entry['path'] !== '0') { - return false; - } - - if ($this->recursive) { - return $this->residesInDirectory($entry); - } - - return $this->isDirectChild($entry); - } - - /** - * Check if the entry resides within the parent directory. - * - * @param array $entry - * - * @return bool - */ - private function residesInDirectory(array $entry) - { - if ($this->directory === '') { - return true; - } - - return $this->caseSensitive - ? strpos($entry['path'], $this->directory . '/') === 0 - : stripos($entry['path'], $this->directory . '/') === 0; - } - - /** - * Check if the entry is a direct child of the directory. - * - * @param array $entry - * - * @return bool - */ - private function isDirectChild(array $entry) - { - return $this->caseSensitive - ? $entry['dirname'] === $this->directory - : strcasecmp($this->directory, $entry['dirname']) === 0; - } - - /** - * @param array $listing - * - * @return array - */ - private function sortListing(array $listing) - { - usort($listing, function ($a, $b) { - return strcasecmp($a['path'], $b['path']); - }); - - return $listing; - } -} diff --git a/paragonik-backend/vendor/league/flysystem/src/Util/MimeType.php b/paragonik-backend/vendor/league/flysystem/src/Util/MimeType.php deleted file mode 100644 index a4bd5e2..0000000 --- a/paragonik-backend/vendor/league/flysystem/src/Util/MimeType.php +++ /dev/null @@ -1,245 +0,0 @@ - 'application/mac-binhex40', - 'cpt' => 'application/mac-compactpro', - 'csv' => 'text/csv', - 'bin' => 'application/octet-stream', - 'dms' => 'application/octet-stream', - 'lha' => 'application/octet-stream', - 'lzh' => 'application/octet-stream', - 'exe' => 'application/octet-stream', - 'class' => 'application/octet-stream', - 'psd' => 'application/x-photoshop', - 'so' => 'application/octet-stream', - 'sea' => 'application/octet-stream', - 'dll' => 'application/octet-stream', - 'oda' => 'application/oda', - 'pdf' => 'application/pdf', - 'ai' => 'application/pdf', - 'eps' => 'application/postscript', - 'epub' => 'application/epub+zip', - 'ps' => 'application/postscript', - 'smi' => 'application/smil', - 'smil' => 'application/smil', - 'mif' => 'application/vnd.mif', - 'xls' => 'application/vnd.ms-excel', - 'xlt' => 'application/vnd.ms-excel', - 'xla' => 'application/vnd.ms-excel', - 'ppt' => 'application/powerpoint', - 'pot' => 'application/vnd.ms-powerpoint', - 'pps' => 'application/vnd.ms-powerpoint', - 'ppa' => 'application/vnd.ms-powerpoint', - 'pptx' => 'application/vnd.openxmlformats-officedocument.presentationml.presentation', - 'potx' => 'application/vnd.openxmlformats-officedocument.presentationml.template', - 'ppsx' => 'application/vnd.openxmlformats-officedocument.presentationml.slideshow', - 'ppam' => 'application/vnd.ms-powerpoint.addin.macroEnabled.12', - 'pptm' => 'application/vnd.ms-powerpoint.presentation.macroEnabled.12', - 'potm' => 'application/vnd.ms-powerpoint.presentation.macroEnabled.12', - 'ppsm' => 'application/vnd.ms-powerpoint.slideshow.macroEnabled.12', - 'wbxml' => 'application/wbxml', - 'wmlc' => 'application/wmlc', - 'dcr' => 'application/x-director', - 'dir' => 'application/x-director', - 'dxr' => 'application/x-director', - 'dvi' => 'application/x-dvi', - 'gtar' => 'application/x-gtar', - 'gz' => 'application/x-gzip', - 'gzip' => 'application/x-gzip', - 'php' => 'application/x-httpd-php', - 'php4' => 'application/x-httpd-php', - 'php3' => 'application/x-httpd-php', - 'phtml' => 'application/x-httpd-php', - 'phps' => 'application/x-httpd-php-source', - 'js' => 'application/javascript', - 'swf' => 'application/x-shockwave-flash', - 'sit' => 'application/x-stuffit', - 'tar' => 'application/x-tar', - 'tgz' => 'application/x-tar', - 'z' => 'application/x-compress', - 'xhtml' => 'application/xhtml+xml', - 'xht' => 'application/xhtml+xml', - 'rdf' => 'application/rdf+xml', - 'zip' => 'application/x-zip', - 'rar' => 'application/x-rar', - 'mid' => 'audio/midi', - 'midi' => 'audio/midi', - 'mpga' => 'audio/mpeg', - 'mp2' => 'audio/mpeg', - 'mp3' => 'audio/mpeg', - 'aif' => 'audio/x-aiff', - 'aiff' => 'audio/x-aiff', - 'aifc' => 'audio/x-aiff', - 'ram' => 'audio/x-pn-realaudio', - 'rm' => 'audio/x-pn-realaudio', - 'rpm' => 'audio/x-pn-realaudio-plugin', - 'ra' => 'audio/x-realaudio', - 'rv' => 'video/vnd.rn-realvideo', - 'wav' => 'audio/x-wav', - 'jpg' => 'image/jpeg', - 'jpeg' => 'image/jpeg', - 'jpe' => 'image/jpeg', - 'png' => 'image/png', - 'gif' => 'image/gif', - 'bmp' => 'image/bmp', - 'tiff' => 'image/tiff', - 'tif' => 'image/tiff', - 'svg' => 'image/svg+xml', - 'css' => 'text/css', - 'html' => 'text/html', - 'htm' => 'text/html', - 'shtml' => 'text/html', - 'txt' => 'text/plain', - 'text' => 'text/plain', - 'log' => 'text/plain', - 'rtx' => 'text/richtext', - 'rtf' => 'text/rtf', - 'xml' => 'application/xml', - 'xsl' => 'application/xml', - 'dmn' => 'application/octet-stream', - 'bpmn' => 'application/octet-stream', - 'mpeg' => 'video/mpeg', - 'mpg' => 'video/mpeg', - 'mpe' => 'video/mpeg', - 'qt' => 'video/quicktime', - 'mov' => 'video/quicktime', - 'avi' => 'video/x-msvideo', - 'movie' => 'video/x-sgi-movie', - 'doc' => 'application/msword', - 'docx' => 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', - 'docm' => 'application/vnd.ms-word.template.macroEnabled.12', - 'dotm' => 'application/vnd.ms-word.template.macroEnabled.12', - 'dot' => 'application/msword', - 'dotx' => 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', - 'xlsx' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', - 'xltx' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.template', - 'xlsm' => 'application/vnd.ms-excel.sheet.macroEnabled.12', - 'xltm' => 'application/vnd.ms-excel.template.macroEnabled.12', - 'xlam' => 'application/vnd.ms-excel.addin.macroEnabled.12', - 'xlsb' => 'application/vnd.ms-excel.sheet.binary.macroEnabled.12', - 'word' => 'application/msword', - 'xl' => 'application/excel', - 'eml' => 'message/rfc822', - 'json' => 'application/json', - 'pem' => 'application/x-x509-user-cert', - 'p10' => 'application/x-pkcs10', - 'p12' => 'application/x-pkcs12', - 'p7a' => 'application/x-pkcs7-signature', - 'p7c' => 'application/pkcs7-mime', - 'p7m' => 'application/pkcs7-mime', - 'p7r' => 'application/x-pkcs7-certreqresp', - 'p7s' => 'application/pkcs7-signature', - 'crt' => 'application/x-x509-ca-cert', - 'crl' => 'application/pkix-crl', - 'der' => 'application/x-x509-ca-cert', - 'kdb' => 'application/octet-stream', - 'pgp' => 'application/pgp', - 'gpg' => 'application/gpg-keys', - 'sst' => 'application/octet-stream', - 'csr' => 'application/octet-stream', - 'rsa' => 'application/x-pkcs7', - 'cer' => 'application/pkix-cert', - '3g2' => 'video/3gpp2', - '3gp' => 'video/3gp', - 'mp4' => 'video/mp4', - 'm4a' => 'audio/x-m4a', - 'f4v' => 'video/mp4', - 'webm' => 'video/webm', - 'aac' => 'audio/x-acc', - 'm4u' => 'application/vnd.mpegurl', - 'm3u' => 'text/plain', - 'xspf' => 'application/xspf+xml', - 'vlc' => 'application/videolan', - 'wmv' => 'video/x-ms-wmv', - 'au' => 'audio/x-au', - 'ac3' => 'audio/ac3', - 'flac' => 'audio/x-flac', - 'ogg' => 'audio/ogg', - 'kmz' => 'application/vnd.google-earth.kmz', - 'kml' => 'application/vnd.google-earth.kml+xml', - 'ics' => 'text/calendar', - 'zsh' => 'text/x-scriptzsh', - '7zip' => 'application/x-7z-compressed', - 'cdr' => 'application/cdr', - 'wma' => 'audio/x-ms-wma', - 'jar' => 'application/java-archive', - 'tex' => 'application/x-tex', - 'latex' => 'application/x-latex', - 'odt' => 'application/vnd.oasis.opendocument.text', - 'ods' => 'application/vnd.oasis.opendocument.spreadsheet', - 'odp' => 'application/vnd.oasis.opendocument.presentation', - 'odg' => 'application/vnd.oasis.opendocument.graphics', - 'odc' => 'application/vnd.oasis.opendocument.chart', - 'odf' => 'application/vnd.oasis.opendocument.formula', - 'odi' => 'application/vnd.oasis.opendocument.image', - 'odm' => 'application/vnd.oasis.opendocument.text-master', - 'odb' => 'application/vnd.oasis.opendocument.database', - 'ott' => 'application/vnd.oasis.opendocument.text-template', - ]; - - /** - * Detects MIME Type based on given content. - * - * @param mixed $content - * - * @return string|null MIME Type or NULL if no mime type detected - */ - public static function detectByContent($content) - { - if ( ! class_exists('finfo') || ! is_string($content)) { - return null; - } - try { - $finfo = new finfo(FILEINFO_MIME_TYPE); - - return $finfo->buffer($content) ?: null; - // @codeCoverageIgnoreStart - } catch (ErrorException $e) { - // This is caused by an array to string conversion error. - } - } // @codeCoverageIgnoreEnd - - /** - * Detects MIME Type based on file extension. - * - * @param string $extension - * - * @return string|null MIME Type or NULL if no extension detected - */ - public static function detectByFileExtension($extension) - { - return isset(static::$extensionToMimeTypeMap[$extension]) - ? static::$extensionToMimeTypeMap[$extension] - : 'text/plain'; - } - - /** - * @param string $filename - * - * @return string|null MIME Type or NULL if no extension detected - */ - public static function detectByFilename($filename) - { - $extension = strtolower(pathinfo($filename, PATHINFO_EXTENSION)); - - return empty($extension) ? 'text/plain' : static::detectByFileExtension($extension); - } - - /** - * @return array Map of file extension to MIME Type - */ - public static function getExtensionToMimeTypeMap() - { - return static::$extensionToMimeTypeMap; - } -} diff --git a/paragonik-backend/vendor/league/flysystem/src/Util/StreamHasher.php b/paragonik-backend/vendor/league/flysystem/src/Util/StreamHasher.php deleted file mode 100644 index 938ec5d..0000000 --- a/paragonik-backend/vendor/league/flysystem/src/Util/StreamHasher.php +++ /dev/null @@ -1,36 +0,0 @@ -algo = $algo; - } - - /** - * @param resource $resource - * - * @return string - */ - public function hash($resource) - { - rewind($resource); - $context = hash_init($this->algo); - hash_update_stream($context, $resource); - fclose($resource); - - return hash_final($context); - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/.gitignore b/paragonik-backend/vendor/mockery/mockery/.gitignore deleted file mode 100644 index c6e9e51..0000000 --- a/paragonik-backend/vendor/mockery/mockery/.gitignore +++ /dev/null @@ -1,16 +0,0 @@ -*~ -pearfarm.spec -*.sublime-project -library/Hamcrest/* -composer.lock -vendor/ -composer.phar -test.php -build/ -phpunit.xml -*.DS_store -.idea/* -.php_cs.cache -docs/api -phpDocumentor.phar* -.phpunit.result.cache \ No newline at end of file diff --git a/paragonik-backend/vendor/mockery/mockery/.php_cs b/paragonik-backend/vendor/mockery/mockery/.php_cs deleted file mode 100644 index be098ba..0000000 --- a/paragonik-backend/vendor/mockery/mockery/.php_cs +++ /dev/null @@ -1,30 +0,0 @@ -in([ - 'library', - 'tests', - ]); - - return PhpCsFixer\Config::create() - ->setRules(array( - '@PSR2' => true, - )) - ->setUsingCache(true) - ->setFinder($finder) - ; -} - -$finder = DefaultFinder::create()->in( - [ - 'library', - 'tests', - ]); - -return Config::create() - ->level('psr2') - ->setUsingCache(true) - ->finder($finder); diff --git a/paragonik-backend/vendor/mockery/mockery/.phpstorm.meta.php b/paragonik-backend/vendor/mockery/mockery/.phpstorm.meta.php deleted file mode 100644 index 6c53f80..0000000 --- a/paragonik-backend/vendor/mockery/mockery/.phpstorm.meta.php +++ /dev/null @@ -1,11 +0,0 @@ -> ~/.phpenv/versions/"$(phpenv version-name)"/etc/conf.d/travis.ini - fi - -script: -- | - if [[ $TRAVIS_PHP_VERSION = 5.* ]]; then - ./vendor/bin/phpunit --coverage-text --coverage-clover="build/logs/clover.xml" --testsuite="Mockery Test Suite PHP56"; - else - ./vendor/bin/phpunit --coverage-text --coverage-clover="build/logs/clover.xml" --testsuite="Mockery Test Suite"; - fi - -after_success: - - composer require satooshi/php-coveralls - - vendor/bin/coveralls -v - - wget https://scrutinizer-ci.com/ocular.phar - - php ocular.phar code-coverage:upload --format=php-clover "build/logs/clover.xml" - - make apidocs - -notifications: - email: - - padraic.brady@gmail.com - - dave@atstsolutions.co.uk - - irc: irc.freenode.org#mockery -deploy: - overwrite: true - provider: pages - file_glob: true - file: docs/api/* - local_dir: docs/api - skip_cleanup: true - github_token: $GITHUB_TOKEN - on: - branch: master - php: '7.1' - condition: $DEPS = latest diff --git a/paragonik-backend/vendor/mockery/mockery/CHANGELOG.md b/paragonik-backend/vendor/mockery/mockery/CHANGELOG.md deleted file mode 100644 index 774c27e..0000000 --- a/paragonik-backend/vendor/mockery/mockery/CHANGELOG.md +++ /dev/null @@ -1,132 +0,0 @@ -# Change Log - -## 1.3.0 (2019-11-24) - -* Added capture `Mockery::capture` convenience matcher (#1020) -* Added `andReturnArg` to echo back an argument passed to a an expectation (#992) -* Improved exception debugging (#1000) -* Fixed `andSet` to not reuse properties between mock objects (#1012) - -## 1.2.4 (2019-09-30) - -* Fix a bug introduced with previous release, for empty method definition lists (#1009) - -## 1.2.3 (2019-08-07) - -* Allow mocking classes that have allows and expects methods (#868) -* Allow passing thru __call method in all mock types (experimental) (#969) -* Add support for `!` to blacklist methods (#959) -* Added `withSomeOfArgs` to partial match a list of args (#967) -* Fix chained demeter calls with type hint (#956) - -## 1.2.2 (2019-02-13) - -* Fix a BC breaking change for PHP 5.6/PHPUnit 5.7.27 (#947) - -## 1.2.1 (2019-02-07) - -* Support for PHPUnit 8 (#942) -* Allow mocking static methods called on instance (#938) - -## 1.2.0 (2018-10-02) - -* Starts counting default expectations towards count (#910) -* Adds workaround for some HHVM return types (#909) -* Adds PhpStorm metadata support for autocomplete etc (#904) -* Further attempts to support multiple PHPUnit versions (#903) -* Allows setting constructor expectations on instance mocks (#900) -* Adds workaround for HHVM memoization decorator (#893) -* Adds experimental support for callable spys (#712) - -## 1.1.0 (2018-05-08) - -* Allows use of string method names in allows and expects (#794) -* Finalises allows and expects syntax in API (#799) -* Search for handlers in a case instensitive way (#801) -* Deprecate allowMockingMethodsUnnecessarily (#808) -* Fix risky tests (#769) -* Fix namespace in TestListener (#812) -* Fixed conflicting mock names (#813) -* Clean elses (#819) -* Updated protected method mocking exception message (#826) -* Map of constants to mock (#829) -* Simplify foreach with `in_array` function (#830) -* Typehinted return value on Expectation#verify. (#832) -* Fix shouldNotHaveReceived with HigherOrderMessage (#842) -* Deprecates shouldDeferMissing (#839) -* Adds support for return type hints in Demeter chains (#848) -* Adds shouldNotReceive to composite expectation (#847) -* Fix internal error when using --static-backup (#845) -* Adds `andAnyOtherArgs` as an optional argument matcher (#860) -* Fixes namespace qualifying with namespaced named mocks (#872) -* Added possibility to add Constructor-Expections on hard dependencies, read: Mockery::mock('overload:...') (#781) - -## 1.0.0 (2017-09-06) - -* Destructors (`__destruct`) are stubbed out where it makes sense -* Allow passing a closure argument to `withArgs()` to validate multiple arguments at once. -* `Mockery\Adapter\Phpunit\TestListener` has been rewritten because it - incorrectly marked some tests as risky. It will no longer verify mock - expectations but instead check that tests do that themselves. PHPUnit 6 is - required if you want to use this fail safe. -* Removes SPL Class Loader -* Removed object recorder feature -* Bumped minimum PHP version to 5.6 -* `andThrow` will now throw anything `\Throwable` -* Adds `allows` and `expects` syntax -* Adds optional global helpers for `mock`, `namedMock` and `spy` -* Adds ability to create objects using traits -* `Mockery\Matcher\MustBe` was deprecated -* Marked `Mockery\MockInterface` as internal -* Subset matcher matches recursively -* BC BREAK - Spies return `null` by default from ignored (non-mocked) methods with nullable return type -* Removed extracting getter methods of object instances -* BC BREAK - Remove implicit regex matching when trying to match string arguments, introduce `\Mockery::pattern()` when regex matching is needed -* Fix Mockery not getting closed in cases of failing test cases -* Fix Mockery not setting properties on overloaded instance mocks -* BC BREAK - Fix Mockery not trying default expectations if there is any concrete expectation -* BC BREAK - Mockery's PHPUnit integration will mark a test as risky if it - thinks one it's exceptions has been swallowed in PHPUnit > 5.7.6. Use `$e->dismiss()` to dismiss. - -## 0.9.4 (XXXX-XX-XX) - -* `shouldIgnoreMissing` will respect global `allowMockingNonExistentMethods` - config -* Some support for variadic parameters -* Hamcrest is now a required dependency -* Instance mocks now respect `shouldIgnoreMissing` call on control instance -* This will be the *last version to support PHP 5.3* -* Added `Mockery\Adapter\Phpunit\MockeryPHPUnitIntegration` trait -* Added `makePartial` to `Mockery\MockInterface` as it was missing - -## 0.9.3 (2014-12-22) - -* Added a basic spy implementation -* Added `Mockery\Adapter\Phpunit\MockeryTestCase` for more reliable PHPUnit - integration - -## 0.9.2 (2014-09-03) - -* Some workarounds for the serialisation problems created by changes to PHP in 5.5.13, 5.4.29, - 5.6. -* Demeter chains attempt to reuse doubles as they see fit, so for foo->bar and - foo->baz, we'll attempt to use the same foo - -## 0.9.1 (2014-05-02) - -* Allow specifying consecutive exceptions to be thrown with `andThrowExceptions` -* Allow specifying methods which can be mocked when using - `Mockery\Configuration::allowMockingNonExistentMethods(false)` with - `Mockery\MockInterface::shouldAllowMockingMethod($methodName)` -* Added andReturnSelf method: `$mock->shouldReceive("foo")->andReturnSelf()` -* `shouldIgnoreMissing` now takes an optional value that will be return instead - of null, e.g. `$mock->shouldIgnoreMissing($mock)` - -## 0.9.0 (2014-02-05) - -* Allow mocking classes with final __wakeup() method -* Quick definitions are now always `byDefault` -* Allow mocking of protected methods with `shouldAllowMockingProtectedMethods` -* Support official Hamcrest package -* Generator completely rewritten -* Easily create named mocks with namedMock diff --git a/paragonik-backend/vendor/mockery/mockery/CONTRIBUTING.md b/paragonik-backend/vendor/mockery/mockery/CONTRIBUTING.md deleted file mode 100644 index b714f3f..0000000 --- a/paragonik-backend/vendor/mockery/mockery/CONTRIBUTING.md +++ /dev/null @@ -1,88 +0,0 @@ -# Contributing - - -We'd love you to help out with mockery and no contribution is too small. - - -## Reporting Bugs - -Issues can be reported on the [issue -tracker](https://github.com/padraic/mockery/issues). Please try and report any -bugs with a minimal reproducible example, it will make things easier for other -contributors and your problems will hopefully be resolved quickly. - - -## Requesting Features - -We're always interested to hear about your ideas and you can request features by -creating a ticket in the [issue -tracker](https://github.com/padraic/mockery/issues). We can't always guarantee -someone will jump on it straight away, but putting it out there to see if anyone -else is interested is a good idea. - -Likewise, if a feature you would like is already listed in -the issue tracker, add a :+1: so that other contributors know it's a feature -that would help others. - - -## Contributing code and documentation - -We loosely follow the -[PSR-1](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-1-basic-coding-standard.md) -and -[PSR-2](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-2-coding-style-guide.md) coding standards, -but we'll probably merge any code that looks close enough. - -* Fork the [repository](https://github.com/padraic/mockery) on GitHub -* Add the code for your feature or bug -* Add some tests for your feature or bug -* Optionally, but preferably, write some documentation -* Optionally, update the CHANGELOG.md file with your feature or - [BC](http://en.wikipedia.org/wiki/Backward_compatibility) break -* Send a [Pull - Request](https://help.github.com/articles/creating-a-pull-request) to the - correct target branch (see below) - -If you have a big change or would like to discuss something, create an issue in -the [issue tracker](https://github.com/padraic/mockery/issues) or jump in to -\#mockery on freenode - - -Any code you contribute must be licensed under the [BSD 3-Clause -License](http://opensource.org/licenses/BSD-3-Clause). - - -## Target Branch - -Mockery may have several active branches at any one time and roughly follows a -[Git Branching Model](https://igor.io/2013/10/21/git-branching-model.html). -Generally, if you're developing a new feature, you want to be targeting the -master branch, if it's a bug fix, you want to be targeting a release branch, -e.g. 0.8. - - -## Testing Mockery - -To run the unit tests for Mockery, clone the git repository, download Composer using -the instructions at [http://getcomposer.org/download/](http://getcomposer.org/download/), -then install the dependencies with `php /path/to/composer.phar install`. - -This will install the required PHPUnit and Hamcrest dev dependencies and create the -autoload files required by the unit tests. You may run the `vendor/bin/phpunit` command -to run the unit tests. If everything goes to plan, there will be no failed tests! - - -## Debugging Mockery - -Mockery and its code generation can be difficult to debug. A good start is to -use the `RequireLoader`, which will dump the code generated by mockery to a file -before requiring it, rather than using eval. This will help with stack traces, -and you will be able to open the mock class in your editor. - -``` php - -// tests/bootstrap.php - -Mockery::setLoader(new Mockery\Loader\RequireLoader(sys_get_temp_dir())); - -``` diff --git a/paragonik-backend/vendor/mockery/mockery/LICENSE b/paragonik-backend/vendor/mockery/mockery/LICENSE deleted file mode 100644 index 2e127a6..0000000 --- a/paragonik-backend/vendor/mockery/mockery/LICENSE +++ /dev/null @@ -1,27 +0,0 @@ -Copyright (c) 2010, Pádraic Brady -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - * The name of Pádraic Brady may not be used to endorse or promote - products derived from this software without specific prior written - permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/paragonik-backend/vendor/mockery/mockery/Makefile b/paragonik-backend/vendor/mockery/mockery/Makefile deleted file mode 100644 index 68ad533..0000000 --- a/paragonik-backend/vendor/mockery/mockery/Makefile +++ /dev/null @@ -1,56 +0,0 @@ -vendor/composer/installed.json: composer.json - composer install - -.PHONY: deps -deps: vendor/composer/installed.json - -.PHONY: test -test: deps - php vendor/bin/phpunit - -.PHONY: apidocs -apidocs: docs/api/index.html - -phpDocumentor.phar: - wget https://github.com/phpDocumentor/phpDocumentor2/releases/download/v3.0.0-alpha.3/phpDocumentor.phar - wget https://github.com/phpDocumentor/phpDocumentor2/releases/download/v3.0.0-alpha.3/phpDocumentor.phar.pubkey - -library_files=$(shell find library -name '*.php') -docs/api/index.html: vendor/composer/installed.json $(library_files) phpDocumentor.phar - php phpDocumentor.phar run -d library -t docs/api - -.PHONY: test-all -test-all: test-73 test-72 test-71 test-70 test-56 - -.PHONY: test-all-7 -test-all-7: test-73 test-72 test-71 test-70 - -.PHONY: test-73 -test-73: deps - docker run -it --rm -v "$$PWD":/opt/mockery -w /opt/mockery php:7.3-cli php vendor/bin/phpunit - -.PHONY: test-72 -test-72: deps - docker run -it --rm -v "$$PWD":/opt/mockery -w /opt/mockery php:7.2-cli php vendor/bin/phpunit - -.PHONY: test-71 -test-71: deps - docker run -it --rm -v "$$PWD":/opt/mockery -w /opt/mockery php:7.1-cli php vendor/bin/phpunit - -.PHONY: test-70 -test-70: deps - docker run -it --rm -v "$$PWD":/opt/mockery -w /opt/mockery php:7.0-cli php vendor/bin/phpunit - -.PHONY: test-56 -test-56: build56 - docker run -it --rm \ - -v "$$PWD/library":/opt/mockery/library \ - -v "$$PWD/tests":/opt/mockery/tests \ - -v "$$PWD/phpunit.xml.dist":/opt/mockery/phpunit.xml \ - -w /opt/mockery \ - mockery_php56 \ - php vendor/bin/phpunit - -.PHONY: build56 -build56: - docker build -t mockery_php56 -f "$$PWD/docker/php56/Dockerfile" . diff --git a/paragonik-backend/vendor/mockery/mockery/README.md b/paragonik-backend/vendor/mockery/mockery/README.md deleted file mode 100644 index 803f845..0000000 --- a/paragonik-backend/vendor/mockery/mockery/README.md +++ /dev/null @@ -1,284 +0,0 @@ -Mockery -======= - -[![Build Status](https://travis-ci.org/mockery/mockery.svg?branch=master)](https://travis-ci.org/mockery/mockery) -[![Latest Stable Version](https://poser.pugx.org/mockery/mockery/v/stable.svg)](https://packagist.org/packages/mockery/mockery) -[![Coverage Status](https://coveralls.io/repos/github/mockery/mockery/badge.svg)](https://coveralls.io/github/mockery/mockery) -[![Total Downloads](https://poser.pugx.org/mockery/mockery/downloads.svg)](https://packagist.org/packages/mockery/mockery) - -Mockery is a simple yet flexible PHP mock object framework for use in unit testing -with PHPUnit, PHPSpec or any other testing framework. Its core goal is to offer a -test double framework with a succinct API capable of clearly defining all possible -object operations and interactions using a human readable Domain Specific Language -(DSL). Designed as a drop in alternative to PHPUnit's phpunit-mock-objects library, -Mockery is easy to integrate with PHPUnit and can operate alongside -phpunit-mock-objects without the World ending. - -Mockery is released under a New BSD License. - -## Installation - -To install Mockery, run the command below and you will get the latest -version - -```sh -composer require --dev mockery/mockery -``` - -## Documentation - -In older versions, this README file was the documentation for Mockery. Over time -we have improved this, and have created an extensive documentation for you. Please -use this README file as a starting point for Mockery, but do read the documentation -to learn how to use Mockery. - -The current version can be seen at [docs.mockery.io](http://docs.mockery.io). - -## Test Doubles - -Test doubles (often called mocks) simulate the behaviour of real objects. They are -commonly utilised to offer test isolation, to stand in for objects which do not -yet exist, or to allow for the exploratory design of class APIs without -requiring actual implementation up front. - -The benefits of a test double framework are to allow for the flexible generation -and configuration of test doubles. They allow the setting of expected method calls -and/or return values using a flexible API which is capable of capturing every -possible real object behaviour in way that is stated as close as possible to a -natural language description. Use the `Mockery::mock` method to create a test -double. - -``` php -$double = Mockery::mock(); -``` - -If you need Mockery to create a test double to satisfy a particular type hint, -you can pass the type to the `mock` method. - -``` php -class Book {} - -interface BookRepository { - function find($id): Book; - function findAll(): array; - function add(Book $book): void; -} - -$double = Mockery::mock(BookRepository::class); -``` - -A detailed explanation of creating and working with test doubles is given in the -documentation, [Creating test doubles](http://docs.mockery.io/en/latest/reference/creating_test_doubles.html) -section. - -## Method Stubs 🎫 - -A method stub is a mechanism for having your test double return canned responses -to certain method calls. With stubs, you don't care how many times, if at all, -the method is called. Stubs are used to provide indirect input to the system -under test. - -``` php -$double->allows()->find(123)->andReturns(new Book()); - -$book = $double->find(123); -``` - -If you have used Mockery before, you might see something new in the example -above — we created a method stub using `allows`, instead of the "old" -`shouldReceive` syntax. This is a new feature of Mockery v1, but fear not, -the trusty ol' `shouldReceive` is still here. - -For new users of Mockery, the above example can also be written as: - -``` php -$double->shouldReceive('find')->with(123)->andReturn(new Book()); -$book = $double->find(123); -``` - -If your stub doesn't require specific arguments, you can also use this shortcut -for setting up multiple calls at once: - -``` php -$double->allows([ - "findAll" => [new Book(), new Book()], -]); -``` - -or - -``` php -$double->shouldReceive('findAll') - ->andReturn([new Book(), new Book()]); -``` - -You can also use this shortcut, which creates a double and sets up some stubs in -one call: - -``` php -$double = Mockery::mock(BookRepository::class, [ - "findAll" => [new Book(), new Book()], -]); -``` - -## Method Call Expectations 📲 - -A Method call expectation is a mechanism to allow you to verify that a -particular method has been called. You can specify the parameters and you can -also specify how many times you expect it to be called. Method call expectations -are used to verify indirect output of the system under test. - -``` php -$book = new Book(); - -$double = Mockery::mock(BookRepository::class); -$double->expects()->add($book); -``` - -During the test, Mockery accept calls to the `add` method as prescribed. -After you have finished exercising the system under test, you need to -tell Mockery to check that the method was called as expected, using the -`Mockery::close` method. One way to do that is to add it to your `tearDown` -method in PHPUnit. - -``` php - -public function tearDown() -{ - Mockery::close(); -} -``` - -The `expects()` method automatically sets up an expectation that the method call -(and matching parameters) is called **once and once only**. You can choose to change -this if you are expecting more calls. - -``` php -$double->expects()->add($book)->twice(); -``` - -If you have used Mockery before, you might see something new in the example -above — we created a method expectation using `expects`, instead of the "old" -`shouldReceive` syntax. This is a new feature of Mockery v1, but same as with -`accepts` in the previous section, it can be written in the "old" style. - -For new users of Mockery, the above example can also be written as: - -``` php -$double->shouldReceive('find') - ->with(123) - ->once() - ->andReturn(new Book()); -$book = $double->find(123); -``` - -A detailed explanation of declaring expectations on method calls, please -read the documentation, the [Expectation declarations](http://docs.mockery.io/en/latest/reference/expectations.html) -section. After that, you can also learn about the new `allows` and `expects` methods -in the [Alternative shouldReceive syntax](http://docs.mockery.io/en/latest/reference/alternative_should_receive_syntax.html) -section. - -It is worth mentioning that one way of setting up expectations is no better or worse -than the other. Under the hood, `allows` and `expects` are doing the same thing as -`shouldReceive`, at times in "less words", and as such it comes to a personal preference -of the programmer which way to use. - -## Test Spies ðŸ•µï¸ - -By default, all test doubles created with the `Mockery::mock` method will only -accept calls that they have been configured to `allow` or `expect` (or in other words, -calls that they `shouldReceive`). Sometimes we don't necessarily care about all of the -calls that are going to be made to an object. To facilitate this, we can tell Mockery -to ignore any calls it has not been told to expect or allow. To do so, we can tell a -test double `shouldIgnoreMissing`, or we can create the double using the `Mocker::spy` -shortcut. - -``` php -// $double = Mockery::mock()->shouldIgnoreMissing(); -$double = Mockery::spy(); - -$double->foo(); // null -$double->bar(); // null -``` - -Further to this, sometimes we want to have the object accept any call during the test execution -and then verify the calls afterwards. For these purposes, we need our test -double to act as a Spy. All mockery test doubles record the calls that are made -to them for verification afterwards by default: - -``` php -$double->baz(123); - -$double->shouldHaveReceived()->baz(123); // null -$double->shouldHaveReceived()->baz(12345); // Uncaught Exception Mockery\Exception\InvalidCountException... -``` - -Please refer to the [Spies](http://docs.mockery.io/en/latest/reference/spies.html) section -of the documentation to learn more about the spies. - -## Utilities 🔌 - -### Global Helpers - -Mockery ships with a handful of global helper methods, you just need to ask -Mockery to declare them. - -``` php -Mockery::globalHelpers(); - -$mock = mock(Some::class); -$spy = spy(Some::class); - -$spy->shouldHaveReceived() - ->foo(anyArgs()); -``` - -All of the global helpers are wrapped in a `!function_exists` call to avoid -conflicts. So if you already have a global function called `spy`, Mockery will -silently skip the declaring its own `spy` function. - -### Testing Traits - -As Mockery ships with code generation capabilities, it was trivial to add -functionality allowing users to create objects on the fly that use particular -traits. Any abstract methods defined by the trait will be created and can have -expectations or stubs configured like normal Test Doubles. - -``` php -trait Foo { - function foo() { - return $this->doFoo(); - } - - abstract function doFoo(); -} - -$double = Mockery::mock(Foo::class); -$double->allows()->doFoo()->andReturns(123); -$double->foo(); // int(123) -``` - -## Versioning - -The Mockery team attempts to adhere to [Semantic Versioning](http://semver.org), -however, some of Mockery's internals are considered private and will be open to -change at any time. Just because a class isn't final, or a method isn't marked -private, does not mean it constitutes part of the API we guarantee under the -versioning scheme. - -### Alternative Runtimes - -Mockery will attempt to continue support HHVM, but will not make any guarantees. - -## A new home for Mockery - -âš ï¸ï¸ Update your remotes! Mockery has transferred to a new location. While it was once -at `padraic/mockery`, it is now at `mockery/mockery`. While your -existing repositories will redirect transparently for any operations, take some -time to transition to the new URL. -```sh -$ git remote set-url upstream https://github.com/mockery/mockery.git -``` -Replace `upstream` with the name of the remote you use locally; `upstream` is commonly -used but you may be using something else. Run `git remote -v` to see what you're actually -using. diff --git a/paragonik-backend/vendor/mockery/mockery/composer.json b/paragonik-backend/vendor/mockery/mockery/composer.json deleted file mode 100644 index a2bbde9..0000000 --- a/paragonik-backend/vendor/mockery/mockery/composer.json +++ /dev/null @@ -1,57 +0,0 @@ -{ - "name": "mockery/mockery", - "description": "Mockery is a simple yet flexible PHP mock object framework", - "scripts": { - "docs": "phpdoc -d library -t docs/api" - }, - "keywords": [ - "bdd", - "library", - "mock", - "mock objects", - "mockery", - "stub", - "tdd", - "test", - "test double", - "testing" - ], - "homepage": "https://github.com/mockery/mockery", - "license": "BSD-3-Clause", - "authors": [ - { - "name": "Pádraic Brady", - "email": "padraic.brady@gmail.com", - "homepage": "http://blog.astrumfutura.com" - }, - { - "name": "Dave Marshall", - "email": "dave.marshall@atstsolutions.co.uk", - "homepage": "http://davedevelopment.co.uk" - } - ], - "require": { - "php": ">=5.6.0", - "lib-pcre": ">=7.0", - "hamcrest/hamcrest-php": "~2.0", - "sebastian/comparator": "^1.2.4|^3.0" - }, - "require-dev": { - "phpunit/phpunit": "~5.7.10|~6.5|~7.0|~8.0" - }, - "autoload": { - "psr-0": { - "Mockery": "library/" - } - }, - "autoload-dev": { - "psr-4": { - "test\\": "tests/" - } - }, - "extra": { - "branch-alias": { - "dev-master": "1.2.x-dev" - } - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/docker/php56/Dockerfile b/paragonik-backend/vendor/mockery/mockery/docker/php56/Dockerfile deleted file mode 100644 index 264c5c0..0000000 --- a/paragonik-backend/vendor/mockery/mockery/docker/php56/Dockerfile +++ /dev/null @@ -1,14 +0,0 @@ -FROM php:5.6-cli - -RUN apt-get update && \ - apt-get install -y git zip unzip && \ - apt-get -y autoremove && \ - apt-get clean && \ - curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer && \ - rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* - -WORKDIR /opt/mockery - -COPY composer.json ./ - -RUN composer install diff --git a/paragonik-backend/vendor/mockery/mockery/docs/.gitignore b/paragonik-backend/vendor/mockery/mockery/docs/.gitignore deleted file mode 100644 index e35d885..0000000 --- a/paragonik-backend/vendor/mockery/mockery/docs/.gitignore +++ /dev/null @@ -1 +0,0 @@ -_build diff --git a/paragonik-backend/vendor/mockery/mockery/docs/Makefile b/paragonik-backend/vendor/mockery/mockery/docs/Makefile deleted file mode 100644 index 9a8c940..0000000 --- a/paragonik-backend/vendor/mockery/mockery/docs/Makefile +++ /dev/null @@ -1,177 +0,0 @@ -# Makefile for Sphinx documentation -# - -# You can set these variables from the command line. -SPHINXOPTS = -SPHINXBUILD = sphinx-build -PAPER = -BUILDDIR = _build - -# User-friendly check for sphinx-build -ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1) -$(error The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD environment variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don't have Sphinx installed, grab it from http://sphinx-doc.org/) -endif - -# Internal variables. -PAPEROPT_a4 = -D latex_paper_size=a4 -PAPEROPT_letter = -D latex_paper_size=letter -ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . -# the i18n builder cannot share the environment and doctrees with the others -I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . - -.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext - -help: - @echo "Please use \`make ' where is one of" - @echo " html to make standalone HTML files" - @echo " dirhtml to make HTML files named index.html in directories" - @echo " singlehtml to make a single large HTML file" - @echo " pickle to make pickle files" - @echo " json to make JSON files" - @echo " htmlhelp to make HTML files and a HTML help project" - @echo " qthelp to make HTML files and a qthelp project" - @echo " devhelp to make HTML files and a Devhelp project" - @echo " epub to make an epub" - @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter" - @echo " latexpdf to make LaTeX files and run them through pdflatex" - @echo " latexpdfja to make LaTeX files and run them through platex/dvipdfmx" - @echo " text to make text files" - @echo " man to make manual pages" - @echo " texinfo to make Texinfo files" - @echo " info to make Texinfo files and run them through makeinfo" - @echo " gettext to make PO message catalogs" - @echo " changes to make an overview of all changed/added/deprecated items" - @echo " xml to make Docutils-native XML files" - @echo " pseudoxml to make pseudoxml-XML files for display purposes" - @echo " linkcheck to check all external links for integrity" - @echo " doctest to run all doctests embedded in the documentation (if enabled)" - -clean: - rm -rf $(BUILDDIR)/* - -html: - $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html - @echo - @echo "Build finished. The HTML pages are in $(BUILDDIR)/html." - -dirhtml: - $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml - @echo - @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml." - -singlehtml: - $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml - @echo - @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml." - -pickle: - $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle - @echo - @echo "Build finished; now you can process the pickle files." - -json: - $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json - @echo - @echo "Build finished; now you can process the JSON files." - -htmlhelp: - $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp - @echo - @echo "Build finished; now you can run HTML Help Workshop with the" \ - ".hhp project file in $(BUILDDIR)/htmlhelp." - -qthelp: - $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp - @echo - @echo "Build finished; now you can run "qcollectiongenerator" with the" \ - ".qhcp project file in $(BUILDDIR)/qthelp, like this:" - @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/MockeryDocs.qhcp" - @echo "To view the help file:" - @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/MockeryDocs.qhc" - -devhelp: - $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp - @echo - @echo "Build finished." - @echo "To view the help file:" - @echo "# mkdir -p $$HOME/.local/share/devhelp/MockeryDocs" - @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/MockeryDocs" - @echo "# devhelp" - -epub: - $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub - @echo - @echo "Build finished. The epub file is in $(BUILDDIR)/epub." - -latex: - $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex - @echo - @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex." - @echo "Run \`make' in that directory to run these through (pdf)latex" \ - "(use \`make latexpdf' here to do that automatically)." - -latexpdf: - $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex - @echo "Running LaTeX files through pdflatex..." - $(MAKE) -C $(BUILDDIR)/latex all-pdf - @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." - -latexpdfja: - $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex - @echo "Running LaTeX files through platex and dvipdfmx..." - $(MAKE) -C $(BUILDDIR)/latex all-pdf-ja - @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." - -text: - $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text - @echo - @echo "Build finished. The text files are in $(BUILDDIR)/text." - -man: - $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man - @echo - @echo "Build finished. The manual pages are in $(BUILDDIR)/man." - -texinfo: - $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo - @echo - @echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo." - @echo "Run \`make' in that directory to run these through makeinfo" \ - "(use \`make info' here to do that automatically)." - -info: - $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo - @echo "Running Texinfo files through makeinfo..." - make -C $(BUILDDIR)/texinfo info - @echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo." - -gettext: - $(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale - @echo - @echo "Build finished. The message catalogs are in $(BUILDDIR)/locale." - -changes: - $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes - @echo - @echo "The overview file is in $(BUILDDIR)/changes." - -linkcheck: - $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck - @echo - @echo "Link check complete; look for any errors in the above output " \ - "or in $(BUILDDIR)/linkcheck/output.txt." - -doctest: - $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest - @echo "Testing of doctests in the sources finished, look at the " \ - "results in $(BUILDDIR)/doctest/output.txt." - -xml: - $(SPHINXBUILD) -b xml $(ALLSPHINXOPTS) $(BUILDDIR)/xml - @echo - @echo "Build finished. The XML files are in $(BUILDDIR)/xml." - -pseudoxml: - $(SPHINXBUILD) -b pseudoxml $(ALLSPHINXOPTS) $(BUILDDIR)/pseudoxml - @echo - @echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml." diff --git a/paragonik-backend/vendor/mockery/mockery/docs/README.md b/paragonik-backend/vendor/mockery/mockery/docs/README.md deleted file mode 100644 index 63ca69d..0000000 --- a/paragonik-backend/vendor/mockery/mockery/docs/README.md +++ /dev/null @@ -1,4 +0,0 @@ -mockery-docs -============ - -Document for the PHP Mockery framework on readthedocs.org \ No newline at end of file diff --git a/paragonik-backend/vendor/mockery/mockery/docs/conf.py b/paragonik-backend/vendor/mockery/mockery/docs/conf.py deleted file mode 100644 index 901f040..0000000 --- a/paragonik-backend/vendor/mockery/mockery/docs/conf.py +++ /dev/null @@ -1,267 +0,0 @@ -# -*- coding: utf-8 -*- -# -# Mockery Docs documentation build configuration file, created by -# sphinx-quickstart on Mon Mar 3 14:04:26 2014. -# -# This file is execfile()d with the current directory set to its -# containing dir. -# -# Note that not all possible configuration values are present in this -# autogenerated file. -# -# All configuration values have a default; values that are commented out -# serve to show the default. - -import sys -import os - -# If extensions (or modules to document with autodoc) are in another directory, -# add these directories to sys.path here. If the directory is relative to the -# documentation root, use os.path.abspath to make it absolute, like shown here. -#sys.path.insert(0, os.path.abspath('.')) - -# -- General configuration ------------------------------------------------ - -# If your documentation needs a minimal Sphinx version, state it here. -#needs_sphinx = '1.0' - -# Add any Sphinx extension module names here, as strings. They can be -# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom -# ones. -extensions = [ - 'sphinx.ext.todo', -] - -# Add any paths that contain templates here, relative to this directory. -templates_path = ['_templates'] - -# The suffix of source filenames. -source_suffix = '.rst' - -# The encoding of source files. -#source_encoding = 'utf-8-sig' - -# The master toctree document. -master_doc = 'index' - -# General information about the project. -project = u'Mockery Docs' -copyright = u'Pádraic Brady, Dave Marshall and contributors' - -# The version info for the project you're documenting, acts as replacement for -# |version| and |release|, also used in various other places throughout the -# built documents. -# -# The short X.Y version. -version = '1.0' -# The full version, including alpha/beta/rc tags. -release = '1.0-alpha' - -# The language for content autogenerated by Sphinx. Refer to documentation -# for a list of supported languages. -#language = None - -# There are two options for replacing |today|: either, you set today to some -# non-false value, then it is used: -#today = '' -# Else, today_fmt is used as the format for a strftime call. -#today_fmt = '%B %d, %Y' - -# List of patterns, relative to source directory, that match files and -# directories to ignore when looking for source files. -exclude_patterns = ['_build'] - -# The reST default role (used for this markup: `text`) to use for all -# documents. -#default_role = None - -# If true, '()' will be appended to :func: etc. cross-reference text. -#add_function_parentheses = True - -# If true, the current module name will be prepended to all description -# unit titles (such as .. function::). -#add_module_names = True - -# If true, sectionauthor and moduleauthor directives will be shown in the -# output. They are ignored by default. -#show_authors = False - -# The name of the Pygments (syntax highlighting) style to use. -pygments_style = 'sphinx' - -# A list of ignored prefixes for module index sorting. -#modindex_common_prefix = [] - -# If true, keep warnings as "system message" paragraphs in the built documents. -#keep_warnings = False - - -# -- Options for HTML output ---------------------------------------------- - -# The theme to use for HTML and HTML Help pages. See the documentation for -# a list of builtin themes. -html_theme = 'default' - -# Theme options are theme-specific and customize the look and feel of a theme -# further. For a list of options available for each theme, see the -# documentation. -#html_theme_options = {} - -# Add any paths that contain custom themes here, relative to this directory. -#html_theme_path = [] - -# The name of an image file (within the static path) to use as favicon of the -# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 -# pixels large. -#html_favicon = None - -# Add any paths that contain custom static files (such as style sheets) here, -# relative to this directory. They are copied after the builtin static files, -# so a file named "default.css" will overwrite the builtin "default.css". -html_static_path = ['_static'] - -# Add any extra paths that contain custom files (such as robots.txt or -# .htaccess) here, relative to this directory. These files are copied -# directly to the root of the documentation. -#html_extra_path = [] - -# If not '', a 'Last updated on:' timestamp is inserted at every page bottom, -# using the given strftime format. -#html_last_updated_fmt = '%b %d, %Y' - -# If true, SmartyPants will be used to convert quotes and dashes to -# typographically correct entities. -#html_use_smartypants = True - -# Custom sidebar templates, maps document names to template names. -#html_sidebars = {} - -# Additional templates that should be rendered to pages, maps page names to -# template names. -#html_additional_pages = {} - -# If false, no module index is generated. -#html_domain_indices = True - -# If false, no index is generated. -#html_use_index = True - -# If true, the index is split into individual pages for each letter. -#html_split_index = False - -# If true, links to the reST sources are added to the pages. -#html_show_sourcelink = True - -# If true, "Created using Sphinx" is shown in the HTML footer. Default is True. -#html_show_sphinx = True - -# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True. -#html_show_copyright = True - -# If true, an OpenSearch description file will be output, and all pages will -# contain a tag referring to it. The value of this option must be the -# base URL from which the finished HTML is served. -#html_use_opensearch = '' - -# This is the file name suffix for HTML files (e.g. ".xhtml"). -#html_file_suffix = None - -# Output file base name for HTML help builder. -htmlhelp_basename = 'MockeryDocsdoc' - - -# -- Options for LaTeX output --------------------------------------------- - -latex_elements = { -# The paper size ('letterpaper' or 'a4paper'). -#'papersize': 'letterpaper', - -# The font size ('10pt', '11pt' or '12pt'). -#'pointsize': '10pt', - -# Additional stuff for the LaTeX preamble. -#'preamble': '', -} - -# Grouping the document tree into LaTeX files. List of tuples -# (source start file, target name, title, -# author, documentclass [howto, manual, or own class]). -latex_documents = [ - ('index', 'MockeryDocs.tex', u'Mockery Docs Documentation', - u'Pádraic Brady, Dave Marshall, Wouter, Graham Campbell', 'manual'), -] - -# The name of an image file (relative to this directory) to place at the top of -# the title page. -#latex_logo = None - -# For "manual" documents, if this is true, then toplevel headings are parts, -# not chapters. -#latex_use_parts = False - -# If true, show page references after internal links. -#latex_show_pagerefs = False - -# If true, show URL addresses after external links. -#latex_show_urls = False - -# Documents to append as an appendix to all manuals. -#latex_appendices = [] - -# If false, no module index is generated. -#latex_domain_indices = True - - -# -- Options for manual page output --------------------------------------- - -# One entry per manual page. List of tuples -# (source start file, name, description, authors, manual section). -man_pages = [ - ('index', 'mockerydocs', u'Mockery Docs Documentation', - [u'Pádraic Brady, Dave Marshall, Wouter, Graham Campbell'], 1) -] - -# If true, show URL addresses after external links. -#man_show_urls = False - - -# -- Options for Texinfo output ------------------------------------------- - -# Grouping the document tree into Texinfo files. List of tuples -# (source start file, target name, title, author, -# dir menu entry, description, category) -texinfo_documents = [ - ('index', 'MockeryDocs', u'Mockery Docs Documentation', - u'Pádraic Brady, Dave Marshall, Wouter, Graham Campbell', 'MockeryDocs', 'One line description of project.', - 'Miscellaneous'), -] - -# Documents to append as an appendix to all manuals. -#texinfo_appendices = [] - -# If false, no module index is generated. -#texinfo_domain_indices = True - -# How to display URL addresses: 'footnote', 'no', or 'inline'. -#texinfo_show_urls = 'footnote' - -# If true, do not generate a @detailmenu in the "Top" node's menu. -#texinfo_no_detailmenu = False - - -#on_rtd is whether we are on readthedocs.org, this line of code grabbed from docs.readthedocs.org -on_rtd = os.environ.get('READTHEDOCS', None) == 'True' - -if not on_rtd: # only import and set the theme if we're building docs locally - import sphinx_rtd_theme - html_theme = 'sphinx_rtd_theme' - html_theme_path = [sphinx_rtd_theme.get_html_theme_path()] - print sphinx_rtd_theme.get_html_theme_path() - -# load PhpLexer -from sphinx.highlighting import lexers -from pygments.lexers.web import PhpLexer - -# enable highlighting for PHP code not between by default -lexers['php'] = PhpLexer(startinline=True) -lexers['php-annotations'] = PhpLexer(startinline=True) diff --git a/paragonik-backend/vendor/mockery/mockery/docs/cookbook/big_parent_class.rst b/paragonik-backend/vendor/mockery/mockery/docs/cookbook/big_parent_class.rst deleted file mode 100644 index a27d532..0000000 --- a/paragonik-backend/vendor/mockery/mockery/docs/cookbook/big_parent_class.rst +++ /dev/null @@ -1,52 +0,0 @@ -.. index:: - single: Cookbook; Big Parent Class - -Big Parent Class -================ - -In some application code, especially older legacy code, we can come across some -classes that extend a "big parent class" - a parent class that knows and does -too much: - -.. code-block:: php - - class BigParentClass - { - public function doesEverything() - { - // sets up database connections - // writes to log files - } - } - - class ChildClass extends BigParentClass - { - public function doesOneThing() - { - // but calls on BigParentClass methods - $result = $this->doesEverything(); - // does something with $result - return $result; - } - } - -We want to test our ``ChildClass`` and its ``doesOneThing`` method, but the -problem is that it calls on ``BigParentClass::doesEverything()``. One way to -handle this would be to mock out **all** of the dependencies ``BigParentClass`` -has and needs, and then finally actually test our ``doesOneThing`` method. It's -an awful lot of work to do that. - -What we can do, is to do something... unconventional. We can create a runtime -partial test double of the ``ChildClass`` itself and mock only the parent's -``doesEverything()`` method: - -.. code-block:: php - - $childClass = \Mockery::mock('ChildClass')->makePartial(); - $childClass->shouldReceive('doesEverything') - ->andReturn('some result from parent'); - - $childClass->doesOneThing(); // string("some result from parent"); - -With this approach we mock out only the ``doesEverything()`` method, and all the -unmocked methods are called on the actual ``ChildClass`` instance. diff --git a/paragonik-backend/vendor/mockery/mockery/docs/cookbook/class_constants.rst b/paragonik-backend/vendor/mockery/mockery/docs/cookbook/class_constants.rst deleted file mode 100644 index 8f40193..0000000 --- a/paragonik-backend/vendor/mockery/mockery/docs/cookbook/class_constants.rst +++ /dev/null @@ -1,183 +0,0 @@ -.. index:: - single: Cookbook; Class Constants - -Class Constants -=============== - -When creating a test double for a class, Mockery does not create stubs out of -any class constants defined in the class we are mocking. Sometimes though, the -non-existence of these class constants, setup of the test, and the application -code itself, it can lead to undesired behavior, and even a PHP error: -``PHP Fatal error: Uncaught Error: Undefined class constant 'FOO' in ...``` - -While supporting class constants in Mockery would be possible, it does require -an awful lot of work, for a small number of use cases. - -Named Mocks ------------ - -We can, however, deal with these constants in a way supported by Mockery - by -using :ref:`creating-test-doubles-named-mocks`. - -A named mock is a test double that has a name of the class we want to mock, but -under it is a stubbed out class that mimics the real class with canned responses. - -Lets look at the following made up, but not impossible scenario: - -.. code-block:: php - - class Fetcher - { - const SUCCESS = 0; - const FAILURE = 1; - - public static function fetch() - { - // Fetcher gets something for us from somewhere... - return self::SUCCESS; - } - } - - class MyClass - { - public function doFetching() - { - $response = Fetcher::fetch(); - - if ($response == Fetcher::SUCCESS) { - echo "Thanks!" . PHP_EOL; - } else { - echo "Try again!" . PHP_EOL; - } - } - } - -Our ``MyClass`` calls a ``Fetcher`` that fetches some resource from somewhere - -maybe it downloads a file from a remote web service. Our ``MyClass`` prints out -a response message depending on the response from the ``Fetcher::fetch()`` call. - -When testing ``MyClass`` we don't really want ``Fetcher`` to go and download -random stuff from the internet every time we run our test suite. So we mock it -out: - -.. code-block:: php - - // Using alias: because fetch is called statically! - \Mockery::mock('alias:Fetcher') - ->shouldReceive('fetch') - ->andReturn(0); - - $myClass = new MyClass(); - $myClass->doFetching(); - -If we run this, our test will error out with a nasty -``PHP Fatal error: Uncaught Error: Undefined class constant 'SUCCESS' in ..``. - -Here's how a ``namedMock()`` can help us in a situation like this. - -We create a stub for the ``Fetcher`` class, stubbing out the class constants, -and then use ``namedMock()`` to create a mock named ``Fetcher`` based on our -stub: - -.. code-block:: php - - class FetcherStub - { - const SUCCESS = 0; - const FAILURE = 1; - } - - \Mockery::namedMock('Fetcher', 'FetcherStub') - ->shouldReceive('fetch') - ->andReturn(0); - - $myClass = new MyClass(); - $myClass->doFetching(); - -This works because under the hood, Mockery creates a class called ``Fetcher`` -that extends ``FetcherStub``. - -The same approach will work even if ``Fetcher::fetch()`` is not a static -dependency: - -.. code-block:: php - - class Fetcher - { - const SUCCESS = 0; - const FAILURE = 1; - - public function fetch() - { - // Fetcher gets something for us from somewhere... - return self::SUCCESS; - } - } - - class MyClass - { - public function doFetching($fetcher) - { - $response = $fetcher->fetch(); - - if ($response == Fetcher::SUCCESS) { - echo "Thanks!" . PHP_EOL; - } else { - echo "Try again!" . PHP_EOL; - } - } - } - -And the test will have something like this: - -.. code-block:: php - - class FetcherStub - { - const SUCCESS = 0; - const FAILURE = 1; - } - - $mock = \Mockery::mock('Fetcher', 'FetcherStub') - $mock->shouldReceive('fetch') - ->andReturn(0); - - $myClass = new MyClass(); - $myClass->doFetching($mock); - - -Constants Map -------------- - -Another way of mocking class constants can be with the use of the constants map configuration. - -Given a class with constants: - -.. code-block:: php - - class Fetcher - { - const SUCCESS = 0; - const FAILURE = 1; - - public function fetch() - { - // Fetcher gets something for us from somewhere... - return self::SUCCESS; - } - } - -It can be mocked with: - -.. code-block:: php - - \Mockery::getConfiguration()->setConstantsMap([ - 'Fetcher' => [ - 'SUCCESS' => 'success', - 'FAILURE' => 'fail', - ] - ]); - - $mock = \Mockery::mock('Fetcher'); - var_dump($mock::SUCCESS); // (string) 'success' - var_dump($mock::FAILURE); // (string) 'fail' diff --git a/paragonik-backend/vendor/mockery/mockery/docs/cookbook/default_expectations.rst b/paragonik-backend/vendor/mockery/mockery/docs/cookbook/default_expectations.rst deleted file mode 100644 index 2c6fcae..0000000 --- a/paragonik-backend/vendor/mockery/mockery/docs/cookbook/default_expectations.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. index:: - single: Cookbook; Default Mock Expectations - -Default Mock Expectations -========================= - -Often in unit testing, we end up with sets of tests which use the same object -dependency over and over again. Rather than mocking this class/object within -every single unit test (requiring a mountain of duplicate code), we can -instead define reusable default mocks within the test case's ``setup()`` -method. This even works where unit tests use varying expectations on the same -or similar mock object. - -How this works, is that you can define mocks with default expectations. Then, -in a later unit test, you can add or fine-tune expectations for that specific -test. Any expectation can be set as a default using the ``byDefault()`` -declaration. diff --git a/paragonik-backend/vendor/mockery/mockery/docs/cookbook/detecting_mock_objects.rst b/paragonik-backend/vendor/mockery/mockery/docs/cookbook/detecting_mock_objects.rst deleted file mode 100644 index 0210c69..0000000 --- a/paragonik-backend/vendor/mockery/mockery/docs/cookbook/detecting_mock_objects.rst +++ /dev/null @@ -1,13 +0,0 @@ -.. index:: - single: Cookbook; Detecting Mock Objects - -Detecting Mock Objects -====================== - -Users may find it useful to check whether a given object is a real object or a -simulated Mock Object. All Mockery mocks implement the -``\Mockery\MockInterface`` interface which can be used in a type check. - -.. code-block:: php - - assert($mightBeMocked instanceof \Mockery\MockInterface); diff --git a/paragonik-backend/vendor/mockery/mockery/docs/cookbook/index.rst b/paragonik-backend/vendor/mockery/mockery/docs/cookbook/index.rst deleted file mode 100644 index 034e39d..0000000 --- a/paragonik-backend/vendor/mockery/mockery/docs/cookbook/index.rst +++ /dev/null @@ -1,16 +0,0 @@ -Cookbook -======== - -.. toctree:: - :hidden: - - default_expectations - detecting_mock_objects - not_calling_the_constructor - mocking_hard_dependencies - class_constants - big_parent_class - mockery_on - mocking_class_within_class - -.. include:: map.rst.inc diff --git a/paragonik-backend/vendor/mockery/mockery/docs/cookbook/map.rst.inc b/paragonik-backend/vendor/mockery/mockery/docs/cookbook/map.rst.inc deleted file mode 100644 index c9dd99e..0000000 --- a/paragonik-backend/vendor/mockery/mockery/docs/cookbook/map.rst.inc +++ /dev/null @@ -1,7 +0,0 @@ -* :doc:`/cookbook/default_expectations` -* :doc:`/cookbook/detecting_mock_objects` -* :doc:`/cookbook/not_calling_the_constructor` -* :doc:`/cookbook/mocking_hard_dependencies` -* :doc:`/cookbook/class_constants` -* :doc:`/cookbook/big_parent_class` -* :doc:`/cookbook/mockery_on` diff --git a/paragonik-backend/vendor/mockery/mockery/docs/cookbook/mockery_on.rst b/paragonik-backend/vendor/mockery/mockery/docs/cookbook/mockery_on.rst deleted file mode 100644 index 631f124..0000000 --- a/paragonik-backend/vendor/mockery/mockery/docs/cookbook/mockery_on.rst +++ /dev/null @@ -1,85 +0,0 @@ -.. index:: - single: Cookbook; Complex Argument Matching With Mockery::on - -Complex Argument Matching With Mockery::on -========================================== - -When we need to do a more complex argument matching for an expected method call, -the ``\Mockery::on()`` matcher comes in really handy. It accepts a closure as an -argument and that closure in turn receives the argument passed in to the method, -when called. If the closure returns ``true``, Mockery will consider that the -argument has passed the expectation. If the closure returns ``false``, or a -"falsey" value, the expectation will not pass. - -The ``\Mockery::on()`` matcher can be used in various scenarios — validating -an array argument based on multiple keys and values, complex string matching... - -Say, for example, we have the following code. It doesn't do much; publishes a -post by setting the ``published`` flag in the database to ``1`` and sets the -``published_at`` to the current date and time: - -.. code-block:: php - - model = $model; - } - - public function publishPost($id) - { - $saveData = [ - 'post_id' => $id, - 'published' => 1, - 'published_at' => gmdate('Y-m-d H:i:s'), - ]; - $this->model->save($saveData); - } - } - -In a test we would mock the model and set some expectations on the call of the -``save()`` method: - -.. code-block:: php - - shouldReceive('save') - ->once() - ->with(\Mockery::on(function ($argument) use ($postId) { - $postIdIsSet = isset($argument['post_id']) && $argument['post_id'] === $postId; - $publishedFlagIsSet = isset($argument['published']) && $argument['published'] === 1; - $publishedAtIsSet = isset($argument['published_at']); - - return $postIdIsSet && $publishedFlagIsSet && $publishedAtIsSet; - })); - - $service = new \Service\Post($modelMock); - $service->publishPost($postId); - - \Mockery::close(); - -The important part of the example is inside the closure we pass to the -``\Mockery::on()`` matcher. The ``$argument`` is actually the ``$saveData`` argument -the ``save()`` method gets when it is called. We check for a couple of things in -this argument: - -* the post ID is set, and is same as the post ID we passed in to the - ``publishPost()`` method, -* the ``published`` flag is set, and is ``1``, and -* the ``published_at`` key is present. - -If any of these requirements is not satisfied, the closure will return ``false``, -the method call expectation will not be met, and Mockery will throw a -``NoMatchingExpectationException``. - -.. note:: - - This cookbook entry is an adaption of the blog post titled - `"Complex argument matching in Mockery" `_, - published by Robert Basic on his blog. diff --git a/paragonik-backend/vendor/mockery/mockery/docs/cookbook/mocking_class_within_class.rst b/paragonik-backend/vendor/mockery/mockery/docs/cookbook/mocking_class_within_class.rst deleted file mode 100644 index 09f2f56..0000000 --- a/paragonik-backend/vendor/mockery/mockery/docs/cookbook/mocking_class_within_class.rst +++ /dev/null @@ -1,146 +0,0 @@ -.. index:: - single: Cookbook; Mocking class within class - -.. _mocking-class-within-class: - -Mocking class within class -========================== - -Imagine a case where you need to create an instance of a class and use it -within the same method: - -.. code-block:: php - - // Point.php - setPoint($x1, $y1); - - $b = new Point(); - $b->setPoint($x2, $y1); - - $c = new Point(); - $c->setPoint($x2, $y2); - - $d = new Point(); - $d->setPoint($x1, $y2); - - $this->draw([$a, $b, $c, $d]); - } - - public function draw($points) { - echo "Do something with the points"; - } - } - -And that you want to test that a logic in ``Rectangle->create()`` calls -properly each used thing - in this case calls ``Point->setPoint()``, but -``Rectangle->draw()`` does some graphical stuff that you want to avoid calling. - -You set the mocks for ``App\Point`` and ``App\Rectangle``: - -.. code-block:: php - - shouldReceive("setPoint")->andThrow(Exception::class); - - $rect = Mockery::mock("App\Rectangle")->makePartial(); - $rect->shouldReceive("draw"); - - $rect->create(0, 0, 100, 100); // does not throw exception - Mockery::close(); - } - } - -and the test does not work. Why? The mocking relies on the class not being -present yet, but the class is autoloaded therefore the mock alone for -``App\Point`` is useless which you can see with ``echo`` being executed. - -Mocks however work for the first class in the order of loading i.e. -``App\Rectangle``, which loads the ``App\Point`` class. In more complex example -that would be a single point that initiates the whole loading (``use Class``) -such as:: - - A // main loading initiator - |- B // another loading initiator - | |-E - | +-G - | - |- C // another loading initiator - | +-F - | - +- D - -That basically means that the loading prevents mocking and for each such -a loading initiator there needs to be implemented a workaround. -Overloading is one approach, however it polutes the global state. In this case -we try to completely avoid the global state polution with custom -``new Class()`` behavior per loading initiator and that can be mocked easily -in few critical places. - -That being said, although we can't stop loading, we can return mocks. Let's -look at ``Rectangle->create()`` method: - -.. code-block:: php - - class Rectangle { - public function newPoint() { - return new Point(); - } - - public function create($x1, $y1, $x2, $y2) { - $a = $this->newPoint(); - $a->setPoint($x1, $y1); - ... - } - ... - } - -We create a custom function to encapsulate ``new`` keyword that would otherwise -just use the autoloaded class ``App\Point`` and in our test we mock that function -so that it returns our mock: - -.. code-block:: php - - shouldReceive("setPoint")->andThrow(Exception::class); - - $rect = Mockery::mock("App\Rectangle")->makePartial(); - $rect->shouldReceive("draw"); - - // pass the App\Point mock into App\Rectangle as an alternative - // to using new App\Point() in-place. - $rect->shouldReceive("newPoint")->andReturn($point); - - $this->expectException(Exception::class); - $rect->create(0, 0, 100, 100); - Mockery::close(); - } - } - -If we run this test now, it should pass. For more complex cases we'd find -the next loader in the program flow and proceed with wrapping and passing -mock instances with predefined behavior into already existing classes. diff --git a/paragonik-backend/vendor/mockery/mockery/docs/cookbook/mocking_hard_dependencies.rst b/paragonik-backend/vendor/mockery/mockery/docs/cookbook/mocking_hard_dependencies.rst deleted file mode 100644 index 3391d7b..0000000 --- a/paragonik-backend/vendor/mockery/mockery/docs/cookbook/mocking_hard_dependencies.rst +++ /dev/null @@ -1,137 +0,0 @@ -.. index:: - single: Cookbook; Mocking Hard Dependencies - -Mocking Hard Dependencies (new Keyword) -======================================= - -One prerequisite to mock hard dependencies is that the code we are trying to test uses autoloading. - -Let's take the following code for an example: - -.. code-block:: php - - sendSomething($param); - return $externalService->getSomething(); - } - } - -The way we can test this without doing any changes to the code itself is by creating :doc:`instance mocks ` by using the ``overload`` prefix. - -.. code-block:: php - - shouldReceive('sendSomething') - ->once() - ->with($param); - $externalMock->shouldReceive('getSomething') - ->once() - ->andReturn('Tested!'); - - $service = new \App\Service(); - - $result = $service->callExternalService($param); - - $this->assertSame('Tested!', $result); - } - } - -If we run this test now, it should pass. Mockery does its job and our ``App\Service`` will use the mocked external service instead of the real one. - -The problem with this is when we want to, for example, test the ``App\Service\External`` itself, or if we use that class somewhere else in our tests. - -When Mockery overloads a class, because of how PHP works with files, that overloaded class file must not be included otherwise Mockery will throw a "class already exists" exception. This is where autoloading kicks in and makes our job a lot easier. - -To make this possible, we'll tell PHPUnit to run the tests that have overloaded classes in separate processes and to not preserve global state. That way we'll avoid having the overloaded class included more than once. Of course this has its downsides as these tests will run slower. - -Our test example from above now becomes: - -.. code-block:: php - - shouldReceive('sendSomething') - ->once() - ->with($param); - $externalMock->shouldReceive('getSomething') - ->once() - ->andReturn('Tested!'); - - $service = new \App\Service(); - - $result = $service->callExternalService($param); - - $this->assertSame('Tested!', $result); - } - } - - - -Testing the constructor arguments of hard Dependencies ------------------------------------------------------- - -Sometimes we might want to ensure that the hard dependency is instantiated with -particular arguments. With overloaded mocks, we can set up expectations on the -constructor. - -.. code-block:: php - - allows('sendSomething'); - $externalMock->shouldReceive('__construct') - ->once() - ->with(5); - - $service = new \App\Service(); - $result = $service->callExternalService($param); - } - } - - -.. note:: - For more straightforward and single-process tests oriented way check - :ref:`mocking-class-within-class`. - -.. note:: - - This cookbook entry is an adaption of the blog post titled - `"Mocking hard dependencies with Mockery" `_, - published by Robert Basic on his blog. diff --git a/paragonik-backend/vendor/mockery/mockery/docs/cookbook/not_calling_the_constructor.rst b/paragonik-backend/vendor/mockery/mockery/docs/cookbook/not_calling_the_constructor.rst deleted file mode 100644 index b8157ae..0000000 --- a/paragonik-backend/vendor/mockery/mockery/docs/cookbook/not_calling_the_constructor.rst +++ /dev/null @@ -1,63 +0,0 @@ -.. index:: - single: Cookbook; Not Calling the Original Constructor - -Not Calling the Original Constructor -==================================== - -When creating generated partial test doubles, Mockery mocks out only the method -which we specifically told it to. This means that the original constructor of -the class we are mocking will be called. - -In some cases this is not a desired behavior, as the constructor might issue -calls to other methods, or other object collaborators, and as such, can create -undesired side-effects in the application's environment when running the tests. - -If this happens, we need to use runtime partial test doubles, as they don't -call the original constructor. - -.. code-block:: php - - class MyClass - { - public function __construct() - { - echo "Original constructor called." . PHP_EOL; - // Other side-effects can happen... - } - } - - // This will print "Original constructor called." - $mock = \Mockery::mock('MyClass[foo]'); - -A better approach is to use runtime partial doubles: - -.. code-block:: php - - class MyClass - { - public function __construct() - { - echo "Original constructor called." . PHP_EOL; - // Other side-effects can happen... - } - } - - // This will not print anything - $mock = \Mockery::mock('MyClass')->makePartial(); - $mock->shouldReceive('foo'); - -This is one of the reason why we don't recommend using generated partial test -doubles, but if possible, always use the runtime partials. - -Read more about :ref:`creating-test-doubles-partial-test-doubles`. - -.. note:: - - The way generated partial test doubles work, is a BC break. If you use a - really old version of Mockery, it might behave in a way that the constructor - is not being called for these generated partials. In the case if you upgrade - to a more recent version of Mockery, you'll probably have to change your - tests to use runtime partials, instead of generated ones. - - This change was introduced in early 2013, so it is highly unlikely that you - are using a Mockery from before that, so this should not be an issue. diff --git a/paragonik-backend/vendor/mockery/mockery/docs/getting_started/index.rst b/paragonik-backend/vendor/mockery/mockery/docs/getting_started/index.rst deleted file mode 100644 index 434755c..0000000 --- a/paragonik-backend/vendor/mockery/mockery/docs/getting_started/index.rst +++ /dev/null @@ -1,12 +0,0 @@ -Getting Started -=============== - -.. toctree:: - :hidden: - - installation - upgrading - simple_example - quick_reference - -.. include:: map.rst.inc diff --git a/paragonik-backend/vendor/mockery/mockery/docs/getting_started/installation.rst b/paragonik-backend/vendor/mockery/mockery/docs/getting_started/installation.rst deleted file mode 100644 index 8019567..0000000 --- a/paragonik-backend/vendor/mockery/mockery/docs/getting_started/installation.rst +++ /dev/null @@ -1,43 +0,0 @@ -.. index:: - single: Installation - -Installation -============ - -Mockery can be installed using Composer or by cloning it from its GitHub -repository. These two options are outlined below. - -Composer --------- - -You can read more about Composer on `getcomposer.org `_. -To install Mockery using Composer, first install Composer for your project -using the instructions on the `Composer download page `_. -You can then define your development dependency on Mockery using the suggested -parameters below. While every effort is made to keep the master branch stable, -you may prefer to use the current stable version tag instead (use the -``@stable`` tag). - -.. code-block:: json - - { - "require-dev": { - "mockery/mockery": "dev-master" - } - } - -To install, you then may call: - -.. code-block:: bash - - php composer.phar update - -This will install Mockery as a development dependency, meaning it won't be -installed when using ``php composer.phar update --no-dev`` in production. - -Git ---- - -The Git repository hosts the development version in its master branch. You can -install this using Composer by referencing ``dev-master`` as your preferred -version in your project's ``composer.json`` file as the earlier example shows. diff --git a/paragonik-backend/vendor/mockery/mockery/docs/getting_started/map.rst.inc b/paragonik-backend/vendor/mockery/mockery/docs/getting_started/map.rst.inc deleted file mode 100644 index 1055945..0000000 --- a/paragonik-backend/vendor/mockery/mockery/docs/getting_started/map.rst.inc +++ /dev/null @@ -1,4 +0,0 @@ -* :doc:`/getting_started/installation` -* :doc:`/getting_started/upgrading` -* :doc:`/getting_started/simple_example` -* :doc:`/getting_started/quick_reference` diff --git a/paragonik-backend/vendor/mockery/mockery/docs/getting_started/quick_reference.rst b/paragonik-backend/vendor/mockery/mockery/docs/getting_started/quick_reference.rst deleted file mode 100644 index e729a85..0000000 --- a/paragonik-backend/vendor/mockery/mockery/docs/getting_started/quick_reference.rst +++ /dev/null @@ -1,200 +0,0 @@ -.. index:: - single: Quick Reference - -Quick Reference -=============== - -The purpose of this page is to give a quick and short overview of some of the -most common Mockery features. - -Do read the :doc:`../reference/index` to learn about all the Mockery features. - -Integrate Mockery with PHPUnit, either by extending the ``MockeryTestCase``: - -.. code-block:: php - - use \Mockery\Adapter\Phpunit\MockeryTestCase; - - class MyTest extends MockeryTestCase - { - } - -or by using the ``MockeryPHPUnitIntegration`` trait: - -.. code-block:: php - - use \PHPUnit\Framework\TestCase; - use \Mockery\Adapter\Phpunit\MockeryPHPUnitIntegration; - - class MyTest extends TestCase - { - use MockeryPHPUnitIntegration; - } - -Creating a test double: - -.. code-block:: php - - $testDouble = \Mockery::mock('MyClass'); - -Creating a test double that implements a certain interface: - -.. code-block:: php - - $testDouble = \Mockery::mock('MyClass, MyInterface'); - -Expecting a method to be called on a test double: - -.. code-block:: php - - $testDouble = \Mockery::mock('MyClass'); - $testDouble->shouldReceive('foo'); - -Expecting a method to **not** be called on a test double: - -.. code-block:: php - - $testDouble = \Mockery::mock('MyClass'); - $testDouble->shouldNotReceive('foo'); - -Expecting a method to be called on a test double, once, with a certain argument, -and to return a value: - -.. code-block:: php - - $mock = \Mockery::mock('MyClass'); - $mock->shouldReceive('foo') - ->once() - ->with($arg) - ->andReturn($returnValue); - -Expecting a method to be called on a test double and to return a different value -for each successive call: - -.. code-block:: php - - $mock = \Mockery::mock('MyClass'); - $mock->shouldReceive('foo') - ->andReturn(1, 2, 3); - - $mock->foo(); // int(1); - $mock->foo(); // int(2); - $mock->foo(); // int(3); - $mock->foo(); // int(3); - -Creating a runtime partial test double: - -.. code-block:: php - - $mock = \Mockery::mock('MyClass')->makePartial(); - -Creating a spy: - -.. code-block:: php - - $spy = \Mockery::spy('MyClass'); - -Expecting that a spy should have received a method call: - -.. code-block:: php - - $spy = \Mockery::spy('MyClass'); - - $spy->foo(); - - $spy->shouldHaveReceived()->foo(); - -Not so simple examples -^^^^^^^^^^^^^^^^^^^^^^ - -Creating a mock object to return a sequence of values from a set of method -calls: - -.. code-block:: php - - use \Mockery\Adapter\Phpunit\MockeryTestCase; - - class SimpleTest extends MockeryTestCase - { - public function testSimpleMock() - { - $mock = \Mockery::mock(array('pi' => 3.1416, 'e' => 2.71)); - $this->assertEquals(3.1416, $mock->pi()); - $this->assertEquals(2.71, $mock->e()); - } - } - -Creating a mock object which returns a self-chaining Undefined object for a -method call: - -.. code-block:: php - - use \Mockery\Adapter\Phpunit\MockeryTestCase; - - class UndefinedTest extends MockeryTestCase - { - public function testUndefinedValues() - { - $mock = \Mockery::mock('mymock'); - $mock->shouldReceive('divideBy')->with(0)->andReturnUndefined(); - $this->assertTrue($mock->divideBy(0) instanceof \Mockery\Undefined); - } - } - -Creating a mock object with multiple query calls and a single update call: - -.. code-block:: php - - use \Mockery\Adapter\Phpunit\MockeryTestCase; - - class DbTest extends MockeryTestCase - { - public function testDbAdapter() - { - $mock = \Mockery::mock('db'); - $mock->shouldReceive('query')->andReturn(1, 2, 3); - $mock->shouldReceive('update')->with(5)->andReturn(NULL)->once(); - - // ... test code here using the mock - } - } - -Expecting all queries to be executed before any updates: - -.. code-block:: php - - use \Mockery\Adapter\Phpunit\MockeryTestCase; - - class DbTest extends MockeryTestCase - { - public function testQueryAndUpdateOrder() - { - $mock = \Mockery::mock('db'); - $mock->shouldReceive('query')->andReturn(1, 2, 3)->ordered(); - $mock->shouldReceive('update')->andReturn(NULL)->once()->ordered(); - - // ... test code here using the mock - } - } - -Creating a mock object where all queries occur after startup, but before finish, -and where queries are expected with several different params: - -.. code-block:: php - - use \Mockery\Adapter\Phpunit\MockeryTestCase; - - class DbTest extends MockeryTestCase - { - public function testOrderedQueries() - { - $db = \Mockery::mock('db'); - $db->shouldReceive('startup')->once()->ordered(); - $db->shouldReceive('query')->with('CPWR')->andReturn(12.3)->once()->ordered('queries'); - $db->shouldReceive('query')->with('MSFT')->andReturn(10.0)->once()->ordered('queries'); - $db->shouldReceive('query')->with(\Mockery::pattern("/^....$/"))->andReturn(3.3)->atLeast()->once()->ordered('queries'); - $db->shouldReceive('finish')->once()->ordered(); - - // ... test code here using the mock - } - } diff --git a/paragonik-backend/vendor/mockery/mockery/docs/getting_started/simple_example.rst b/paragonik-backend/vendor/mockery/mockery/docs/getting_started/simple_example.rst deleted file mode 100644 index 32ee269..0000000 --- a/paragonik-backend/vendor/mockery/mockery/docs/getting_started/simple_example.rst +++ /dev/null @@ -1,70 +0,0 @@ -.. index:: - single: Getting Started; Simple Example - -Simple Example -============== - -Imagine we have a ``Temperature`` class which samples the temperature of a -locale before reporting an average temperature. The data could come from a web -service or any other data source, but we do not have such a class at present. -We can, however, assume some basic interactions with such a class based on its -interaction with the ``Temperature`` class: - -.. code-block:: php - - class Temperature - { - private $service; - - public function __construct($service) - { - $this->service = $service; - } - - public function average() - { - $total = 0; - for ($i=0; $i<3; $i++) { - $total += $this->service->readTemp(); - } - return $total/3; - } - } - -Even without an actual service class, we can see how we expect it to operate. -When writing a test for the ``Temperature`` class, we can now substitute a -mock object for the real service which allows us to test the behaviour of the -``Temperature`` class without actually needing a concrete service instance. - -.. code-block:: php - - use \Mockery; - - class TemperatureTest extends \PHPUnit\Framework\TestCase - { - public function tearDown() - { - Mockery::close(); - } - - public function testGetsAverageTemperatureFromThreeServiceReadings() - { - $service = Mockery::mock('service'); - $service->shouldReceive('readTemp') - ->times(3) - ->andReturn(10, 12, 14); - - $temperature = new Temperature($service); - - $this->assertEquals(12, $temperature->average()); - } - } - -We create a mock object which our ``Temperature`` class will use and set some -expectations for that mock — that it should receive three calls to the ``readTemp`` -method, and these calls will return 10, 12, and 14 as results. - -.. note:: - - PHPUnit integration can remove the need for a ``tearDown()`` method. See - ":doc:`/reference/phpunit_integration`" for more information. diff --git a/paragonik-backend/vendor/mockery/mockery/docs/getting_started/upgrading.rst b/paragonik-backend/vendor/mockery/mockery/docs/getting_started/upgrading.rst deleted file mode 100644 index 7201e59..0000000 --- a/paragonik-backend/vendor/mockery/mockery/docs/getting_started/upgrading.rst +++ /dev/null @@ -1,82 +0,0 @@ -.. index:: - single: Upgrading - -Upgrading -========= - -Upgrading to 1.0.0 ------------------- - -Minimum PHP version -+++++++++++++++++++ - -As of Mockery 1.0.0 the minimum PHP version required is 5.6. - -Using Mockery with PHPUnit -++++++++++++++++++++++++++ - -In the "old days", 0.9.x and older, the way Mockery was integrated with PHPUnit was -through a PHPUnit listener. That listener would in turn call the ``\Mockery::close()`` -method for us. - -As of 1.0.0, PHPUnit test cases where we want to use Mockery, should either use the -``\Mockery\Adapter\Phpunit\MockeryPHPUnitIntegration`` trait, or extend the -``\Mockery\Adapter\Phpunit\MockeryTestCase`` test case. This will in turn call the -``\Mockery::close()`` method for us. - -Read the documentation for a detailed overview of ":doc:`/reference/phpunit_integration`". - -``\Mockery\Matcher\MustBe`` is deprecated -+++++++++++++++++++++++++++++++++++++++++ - -As of 1.0.0 the ``\Mockery\Matcher\MustBe`` matcher is deprecated and will be removed in -Mockery 2.0.0. We recommend instead to use the PHPUnit or Hamcrest equivalents of the -MustBe matcher. - -``allows`` and ``expects`` -++++++++++++++++++++++++++ - -As of 1.0.0, Mockery has two new methods to set up expectations: ``allows`` and ``expects``. -This means that these methods names are now "reserved" for Mockery, or in other words -classes you want to mock with Mockery, can't have methods called ``allows`` or ``expects``. - -Read more in the documentation about this ":doc:`/reference/alternative_should_receive_syntax`". - -No more implicit regex matching for string arguments -++++++++++++++++++++++++++++++++++++++++++++++++++++ - -When setting up string arguments in method expectations, Mockery 0.9.x and older, would try -to match arguments using a regular expression in a "last attempt" scenario. - -As of 1.0.0, Mockery will no longer attempt to do this regex matching, but will only try -first the identical operator ``===``, and failing that, the equals operator ``==``. - -If you want to match an argument using regular expressions, please use the new -``\Mockery\Matcher\Pattern`` matcher. Read more in the documentation about this -pattern matcher in the ":doc:`/reference/argument_validation`" section. - -``andThrow`` ``\Throwable`` -+++++++++++++++++++++++++++ - -As of 1.0.0, the ``andThrow`` can now throw any ``\Throwable``. - -Upgrading to 0.9 ----------------- - -The generator was completely rewritten, so any code with a deep integration to -mockery will need evaluating. - -Upgrading to 0.8 ----------------- - -Since the release of 0.8.0 the following behaviours were altered: - -1. The ``shouldIgnoreMissing()`` behaviour optionally applied to mock objects - returned an instance of ``\Mockery\Undefined`` when methods called did not - match a known expectation. Since 0.8.0, this behaviour was switched to - returning ``null`` instead. You can restore the 0.7.2 behaviour by using the - following: - - .. code-block:: php - - $mock = \Mockery::mock('stdClass')->shouldIgnoreMissing()->asUndefined(); diff --git a/paragonik-backend/vendor/mockery/mockery/docs/index.rst b/paragonik-backend/vendor/mockery/mockery/docs/index.rst deleted file mode 100644 index f8cbbd3..0000000 --- a/paragonik-backend/vendor/mockery/mockery/docs/index.rst +++ /dev/null @@ -1,76 +0,0 @@ -Mockery -======= - -Mockery is a simple yet flexible PHP mock object framework for use in unit -testing with PHPUnit, PHPSpec or any other testing framework. Its core goal is -to offer a test double framework with a succinct API capable of clearly -defining all possible object operations and interactions using a human -readable Domain Specific Language (DSL). Designed as a drop in alternative to -PHPUnit's phpunit-mock-objects library, Mockery is easy to integrate with -PHPUnit and can operate alongside phpunit-mock-objects without the World -ending. - -Mock Objects ------------- - -In unit tests, mock objects simulate the behaviour of real objects. They are -commonly utilised to offer test isolation, to stand in for objects which do -not yet exist, or to allow for the exploratory design of class APIs without -requiring actual implementation up front. - -The benefits of a mock object framework are to allow for the flexible -generation of such mock objects (and stubs). They allow the setting of -expected method calls and return values using a flexible API which is capable -of capturing every possible real object behaviour in way that is stated as -close as possible to a natural language description. - -Getting Started ---------------- - -Ready to dive into the Mockery framework? Then you can get started by reading -the "Getting Started" section! - -.. toctree:: - :hidden: - - getting_started/index - -.. include:: getting_started/map.rst.inc - -Reference ---------- - -The reference contains a complete overview of all features of the Mockery -framework. - -.. toctree:: - :hidden: - - reference/index - -.. include:: reference/map.rst.inc - -Mockery -------- - -Learn about Mockery's configuration, reserved method names, exceptions... - -.. toctree:: - :hidden: - - mockery/index - -.. include:: mockery/map.rst.inc - -Cookbook --------- - -Want to learn some easy tips and tricks? Take a look at the cookbook articles! - -.. toctree:: - :hidden: - - cookbook/index - -.. include:: cookbook/map.rst.inc - diff --git a/paragonik-backend/vendor/mockery/mockery/docs/mockery/configuration.rst b/paragonik-backend/vendor/mockery/mockery/docs/mockery/configuration.rst deleted file mode 100644 index 3a89579..0000000 --- a/paragonik-backend/vendor/mockery/mockery/docs/mockery/configuration.rst +++ /dev/null @@ -1,77 +0,0 @@ -.. index:: - single: Mockery; Configuration - -Mockery Global Configuration -============================ - -To allow for a degree of fine-tuning, Mockery utilises a singleton -configuration object to store a small subset of core behaviours. The two -currently present include: - -* Option to allow/disallow the mocking of methods which do not actually exist - fulfilled (i.e. unused) -* Setter/Getter for added a parameter map for internal PHP class methods - (``Reflection`` cannot detect these automatically) - -By default, the first behaviour is enabled. Of course, there are -situations where this can lead to unintended consequences. The mocking of -non-existent methods may allow mocks based on real classes/objects to fall out -of sync with the actual implementations, especially when some degree of -integration testing (testing of object wiring) is not being performed. - -You may allow or disallow this behaviour (whether for whole test suites or -just select tests) by using the following call: - -.. code-block:: php - - \Mockery::getConfiguration()->allowMockingNonExistentMethods(bool); - -Passing a true allows the behaviour, false disallows it. It takes effect -immediately until switched back. If the behaviour is detected when not allowed, -it will result in an Exception being thrown at that point. Note that disallowing -this behaviour should be carefully considered since it necessarily removes at -least some of Mockery's flexibility. - -The other two methods are: - -.. code-block:: php - - \Mockery::getConfiguration()->setInternalClassMethodParamMap($class, $method, array $paramMap) - \Mockery::getConfiguration()->getInternalClassMethodParamMap($class, $method) - -These are used to define parameters (i.e. the signature string of each) for the -methods of internal PHP classes (e.g. SPL, or PECL extension classes like -ext/mongo's MongoCollection. Reflection cannot analyse the parameters of internal -classes. Most of the time, you never need to do this. It's mainly needed where an -internal class method uses pass-by-reference for a parameter - you MUST in such -cases ensure the parameter signature includes the ``&`` symbol correctly as Mockery -won't correctly add it automatically for internal classes. - -Disabling reflection caching ----------------------------- - -Mockery heavily uses `"reflection" `_ -to do it's job. To speed up things, Mockery caches internally the information it -gathers via reflection. In some cases, this caching can cause problems. - -The **only** known situation when this occurs is when PHPUnit's ``--static-backup`` option -is used. If you use ``--static-backup`` and you get an error that looks like the -following: - -.. code-block:: php - - Error: Internal error: Failed to retrieve the reflection object - -We suggest turning off the reflection cache as so: - -.. code-block:: php - - \Mockery::getConfiguration()->disableReflectionCache(); - -Turning it back on can be done like so: - -.. code-block:: php - - \Mockery::getConfiguration()->enableReflectionCache(); - -In no other situation should you be required turn this reflection cache off. diff --git a/paragonik-backend/vendor/mockery/mockery/docs/mockery/exceptions.rst b/paragonik-backend/vendor/mockery/mockery/docs/mockery/exceptions.rst deleted file mode 100644 index 623b158..0000000 --- a/paragonik-backend/vendor/mockery/mockery/docs/mockery/exceptions.rst +++ /dev/null @@ -1,65 +0,0 @@ -.. index:: - single: Mockery; Exceptions - -Mockery Exceptions -================== - -Mockery throws three types of exceptions when it cannot verify a mock object. - -#. ``\Mockery\Exception\InvalidCountException`` -#. ``\Mockery\Exception\InvalidOrderException`` -#. ``\Mockery\Exception\NoMatchingExpectationException`` - -You can capture any of these exceptions in a try...catch block to query them -for specific information which is also passed along in the exception message -but is provided separately from getters should they be useful when logging or -reformatting output. - -\Mockery\Exception\InvalidCountException ----------------------------------------- - -The exception class is used when a method is called too many (or too few) -times and offers the following methods: - -* ``getMock()`` - return actual mock object -* ``getMockName()`` - return the name of the mock object -* ``getMethodName()`` - return the name of the method the failing expectation - is attached to -* ``getExpectedCount()`` - return expected calls -* ``getExpectedCountComparative()`` - returns a string, e.g. ``<=`` used to - compare to actual count -* ``getActualCount()`` - return actual calls made with given argument - constraints - -\Mockery\Exception\InvalidOrderException ----------------------------------------- - -The exception class is used when a method is called outside the expected order -set using the ``ordered()`` and ``globally()`` expectation modifiers. It -offers the following methods: - -* ``getMock()`` - return actual mock object -* ``getMockName()`` - return the name of the mock object -* ``getMethodName()`` - return the name of the method the failing expectation - is attached to -* ``getExpectedOrder()`` - returns an integer represented the expected index - for which this call was expected -* ``getActualOrder()`` - return the actual index at which this method call - occurred. - -\Mockery\Exception\NoMatchingExpectationException -------------------------------------------------- - -The exception class is used when a method call does not match any known -expectation. All expectations are uniquely identified in a mock object by the -method name and the list of expected arguments. You can disable this exception -and opt for returning NULL from all unexpected method calls by using the -earlier mentioned shouldIgnoreMissing() behaviour modifier. This exception -class offers the following methods: - -* ``getMock()`` - return actual mock object -* ``getMockName()`` - return the name of the mock object -* ``getMethodName()`` - return the name of the method the failing expectation - is attached to -* ``getActualArguments()`` - return actual arguments used to search for a - matching expectation diff --git a/paragonik-backend/vendor/mockery/mockery/docs/mockery/gotchas.rst b/paragonik-backend/vendor/mockery/mockery/docs/mockery/gotchas.rst deleted file mode 100644 index f23fd89..0000000 --- a/paragonik-backend/vendor/mockery/mockery/docs/mockery/gotchas.rst +++ /dev/null @@ -1,42 +0,0 @@ -.. index:: - single: Mockery; Gotchas - -Gotchas! -======== - -Mocking objects in PHP has its limitations and gotchas. Some functionality -can't be mocked or can't be mocked YET! If you locate such a circumstance, -please please (pretty please with sugar on top) create a new issue on GitHub -so it can be documented and resolved where possible. Here is a list to note: - -1. Classes containing public ``__wakeup()`` methods can be mocked but the - mocked ``__wakeup()`` method will perform no actions and cannot have - expectations set for it. This is necessary since Mockery must serialize and - unserialize objects to avoid some ``__construct()`` insanity and attempting - to mock a ``__wakeup()`` method as normal leads to a - ``BadMethodCallException`` being thrown. - -2. Mockery has two scenarios where real classes are replaced: Instance mocks - and alias mocks. Both will generate PHP fatal errors if the real class is - loaded, usually via a require or include statement. Only use these two mock - types where autoloading is in place and where classes are not explicitly - loaded on a per-file basis using ``require()``, ``require_once()``, etc. - -3. Internal PHP classes are not entirely capable of being fully analysed using - ``Reflection``. For example, ``Reflection`` cannot reveal details of - expected parameters to the methods of such internal classes. As a result, - there will be problems where a method parameter is defined to accept a - value by reference (Mockery cannot detect this condition and will assume a - pass by value on scalars and arrays). If references as internal class - method parameters are needed, you should use the - ``\Mockery\Configuration::setInternalClassMethodParamMap()`` method. - -4. Creating a mock implementing a certain interface with incorrect case in the - interface name, and then creating a second mock implementing the same - interface, but this time with the correct case, will have undefined behavior - due to PHP's ``class_exists`` and related functions being case insensitive. - Using the ``::class`` keyword in PHP can help you avoid these mistakes. - -The gotchas noted above are largely down to PHP's architecture and are assumed -to be unavoidable. But - if you figure out a solution (or a better one than -what may exist), let us know! diff --git a/paragonik-backend/vendor/mockery/mockery/docs/mockery/index.rst b/paragonik-backend/vendor/mockery/mockery/docs/mockery/index.rst deleted file mode 100644 index b698d6c..0000000 --- a/paragonik-backend/vendor/mockery/mockery/docs/mockery/index.rst +++ /dev/null @@ -1,12 +0,0 @@ -Mockery -======= - -.. toctree:: - :hidden: - - configuration - exceptions - reserved_method_names - gotchas - -.. include:: map.rst.inc diff --git a/paragonik-backend/vendor/mockery/mockery/docs/mockery/map.rst.inc b/paragonik-backend/vendor/mockery/mockery/docs/mockery/map.rst.inc deleted file mode 100644 index 46ffa97..0000000 --- a/paragonik-backend/vendor/mockery/mockery/docs/mockery/map.rst.inc +++ /dev/null @@ -1,4 +0,0 @@ -* :doc:`/mockery/configuration` -* :doc:`/mockery/exceptions` -* :doc:`/mockery/reserved_method_names` -* :doc:`/mockery/gotchas` diff --git a/paragonik-backend/vendor/mockery/mockery/docs/mockery/reserved_method_names.rst b/paragonik-backend/vendor/mockery/mockery/docs/mockery/reserved_method_names.rst deleted file mode 100644 index 112d6f0..0000000 --- a/paragonik-backend/vendor/mockery/mockery/docs/mockery/reserved_method_names.rst +++ /dev/null @@ -1,20 +0,0 @@ -.. index:: - single: Reserved Method Names - -Reserved Method Names -===================== - -As you may have noticed, Mockery uses a number of methods called directly on -all mock objects, for example ``shouldReceive()``. Such methods are necessary -in order to setup expectations on the given mock, and so they cannot be -implemented on the classes or objects being mocked without creating a method -name collision (reported as a PHP fatal error). The methods reserved by -Mockery are: - -* ``shouldReceive()`` -* ``shouldBeStrict()`` - -In addition, all mocks utilise a set of added methods and protected properties -which cannot exist on the class or object being mocked. These are far less -likely to cause collisions. All properties are prefixed with ``_mockery`` and -all method names with ``mockery_``. diff --git a/paragonik-backend/vendor/mockery/mockery/docs/reference/alternative_should_receive_syntax.rst b/paragonik-backend/vendor/mockery/mockery/docs/reference/alternative_should_receive_syntax.rst deleted file mode 100644 index 78c1e83..0000000 --- a/paragonik-backend/vendor/mockery/mockery/docs/reference/alternative_should_receive_syntax.rst +++ /dev/null @@ -1,91 +0,0 @@ -.. index:: - single: Alternative shouldReceive Syntax - -Alternative shouldReceive Syntax -================================ - -As of Mockery 1.0.0, we support calling methods as we would call any PHP method, -and not as string arguments to Mockery ``should*`` methods. - -The two Mockery methods that enable this are ``allows()`` and ``expects()``. - -Allows ------- - -We use ``allows()`` when we create stubs for methods that return a predefined -return value, but for these method stubs we don't care how many times, or if at -all, were they called. - -.. code-block:: php - - $mock = \Mockery::mock('MyClass'); - $mock->allows([ - 'name_of_method_1' => 'return value', - 'name_of_method_2' => 'return value', - ]); - -This is equivalent with the following ``shouldReceive`` syntax: - -.. code-block:: php - - $mock = \Mockery::mock('MyClass'); - $mock->shouldReceive([ - 'name_of_method_1' => 'return value', - 'name_of_method_2' => 'return value', - ]); - -Note that with this format, we also tell Mockery that we don't care about the -arguments to the stubbed methods. - -If we do care about the arguments, we would do it like so: - -.. code-block:: php - - $mock = \Mockery::mock('MyClass'); - $mock->allows() - ->name_of_method_1($arg1) - ->andReturn('return value'); - -This is equivalent with the following ``shouldReceive`` syntax: - -.. code-block:: php - - $mock = \Mockery::mock('MyClass'); - $mock->shouldReceive('name_of_method_1') - ->with($arg1) - ->andReturn('return value'); - -Expects -------- - -We use ``expects()`` when we want to verify that a particular method was called: - -.. code-block:: php - - $mock = \Mockery::mock('MyClass'); - $mock->expects() - ->name_of_method_1($arg1) - ->andReturn('return value'); - -This is equivalent with the following ``shouldReceive`` syntax: - -.. code-block:: php - - $mock = \Mockery::mock('MyClass'); - $mock->shouldReceive('name_of_method_1') - ->once() - ->with($arg1) - ->andReturn('return value'); - -By default ``expects()`` sets up an expectation that the method should be called -once and once only. If we expect more than one call to the method, we can change -that expectation: - -.. code-block:: php - - $mock = \Mockery::mock('MyClass'); - $mock->expects() - ->name_of_method_1($arg1) - ->twice() - ->andReturn('return value'); - diff --git a/paragonik-backend/vendor/mockery/mockery/docs/reference/argument_validation.rst b/paragonik-backend/vendor/mockery/mockery/docs/reference/argument_validation.rst deleted file mode 100644 index 622501a..0000000 --- a/paragonik-backend/vendor/mockery/mockery/docs/reference/argument_validation.rst +++ /dev/null @@ -1,338 +0,0 @@ -.. index:: - single: Argument Validation - -Argument Validation -=================== - -The arguments passed to the ``with()`` declaration when setting up an -expectation determine the criteria for matching method calls to expectations. -Thus, we can setup up many expectations for a single method, each -differentiated by the expected arguments. Such argument matching is done on a -"best fit" basis. This ensures explicit matches take precedence over -generalised matches. - -An explicit match is merely where the expected argument and the actual -argument are easily equated (i.e. using ``===`` or ``==``). More generalised -matches are possible using regular expressions, class hinting and the -available generic matchers. The purpose of generalised matchers is to allow -arguments be defined in non-explicit terms, e.g. ``Mockery::any()`` passed to -``with()`` will match **any** argument in that position. - -Mockery's generic matchers do not cover all possibilities but offers optional -support for the Hamcrest library of matchers. Hamcrest is a PHP port of the -similarly named Java library (which has been ported also to Python, Erlang, -etc). By using Hamcrest, Mockery does not need to duplicate Hamcrest's already -impressive utility which itself promotes a natural English DSL. - -The examples below show Mockery matchers and their Hamcrest equivalent, if there -is one. Hamcrest uses functions (no namespacing). - -.. note:: - - If you don't wish to use the global Hamcrest functions, they are all exposed - through the ``\Hamcrest\Matchers`` class as well, as static methods. Thus, - ``identicalTo($arg)`` is the same as ``\Hamcrest\Matchers::identicalTo($arg)`` - -The most common matcher is the ``with()`` matcher: - -.. code-block:: php - - $mock = \Mockery::mock('MyClass'); - $mock->shouldReceive('foo') - ->with(1): - -It tells mockery that it should receive a call to the ``foo`` method with the -integer ``1`` as an argument. In cases like this, Mockery first tries to match -the arguments using ``===`` (identical) comparison operator. If the argument is -a primitive, and if it fails the identical comparison, Mockery does a fallback -to the ``==`` (equals) comparison operator. - -When matching objects as arguments, Mockery only does the strict ``===`` -comparison, which means only the same ``$object`` will match: - -.. code-block:: php - - $object = new stdClass(); - $mock = \Mockery::mock('MyClass'); - $mock->shouldReceive("foo") - ->with($object); - - // Hamcrest equivalent - $mock->shouldReceive("foo") - ->with(identicalTo($object)); - -A different instance of ``stdClass`` will **not** match. - -.. note:: - - The ``Mockery\Matcher\MustBe`` matcher has been deprecated. - -If we need a loose comparison of objects, we can do that using Hamcrest's -``equalTo`` matcher: - -.. code-block:: php - - $mock->shouldReceive("foo") - ->with(equalTo(new stdClass)); - -In cases when we don't care about the type, or the value of an argument, just -that any argument is present, we use ``any()``: - -.. code-block:: php - - $mock = \Mockery::mock('MyClass'); - $mock->shouldReceive("foo") - ->with(\Mockery::any()); - - // Hamcrest equivalent - $mock->shouldReceive("foo") - ->with(anything()) - -Anything and everything passed in this argument slot is passed unconstrained. - -Validating Types and Resources ------------------------------- - -The ``type()`` matcher accepts any string which can be attached to ``is_`` to -form a valid type check. - -To match any PHP resource, we could do the following: - -.. code-block:: php - - $mock = \Mockery::mock('MyClass'); - $mock->shouldReceive("foo") - ->with(\Mockery::type('resource')); - - // Hamcrest equivalents - $mock->shouldReceive("foo") - ->with(resourceValue()); - $mock->shouldReceive("foo") - ->with(typeOf('resource')); - -It will return a ``true`` from an ``is_resource()`` call, if the provided -argument to the method is a PHP resource. For example, ``\Mockery::type('float')`` -or Hamcrest's ``floatValue()`` and ``typeOf('float')`` checks use ``is_float()``, -and ``\Mockery::type('callable')`` or Hamcrest's ``callable()`` uses -``is_callable()``. - -The ``type()`` matcher also accepts a class or interface name to be used in an -``instanceof`` evaluation of the actual argument. Hamcrest uses ``anInstanceOf()``. - -A full list of the type checkers is available at -`php.net `_ or browse Hamcrest's function -list in -`the Hamcrest code `_. - -.. _argument-validation-complex-argument-validation: - -Complex Argument Validation ---------------------------- - -If we want to perform a complex argument validation, the ``on()`` matcher is -invaluable. It accepts a closure (anonymous function) to which the actual -argument will be passed. - -.. code-block:: php - - $mock = \Mockery::mock('MyClass'); - $mock->shouldReceive("foo") - ->with(\Mockery::on(closure)); - -If the closure evaluates to (i.e. returns) boolean ``true`` then the argument is -assumed to have matched the expectation. - -.. code-block:: php - - $mock = \Mockery::mock('MyClass'); - - $mock->shouldReceive('foo') - ->with(\Mockery::on(function ($argument) { - if ($argument % 2 == 0) { - return true; - } - return false; - })); - - $mock->foo(4); // matches the expectation - $mock->foo(3); // throws a NoMatchingExpectationException - -.. note:: - - There is no Hamcrest version of the ``on()`` matcher. - -We can also perform argument validation by passing a closure to ``withArgs()`` -method. The closure will receive all arguments passed in the call to the expected -method and if it evaluates (i.e. returns) to boolean ``true``, then the list of -arguments is assumed to have matched the expectation: - -.. code-block:: php - - $mock = \Mockery::mock('MyClass'); - $mock->shouldReceive("foo") - ->withArgs(closure); - -The closure can also handle optional parameters, so if an optional parameter is -missing in the call to the expected method, it doesn't necessary means that the -list of arguments doesn't match the expectation. - -.. code-block:: php - - $closure = function ($odd, $even, $sum = null) { - $result = ($odd % 2 != 0) && ($even % 2 == 0); - if (!is_null($sum)) { - return $result && ($odd + $even == $sum); - } - return $result; - }; - - $mock = \Mockery::mock('MyClass'); - $mock->shouldReceive('foo')->withArgs($closure); - - $mock->foo(1, 2); // It matches the expectation: the optional argument is not needed - $mock->foo(1, 2, 3); // It also matches the expectation: the optional argument pass the validation - $mock->foo(1, 2, 4); // It doesn't match the expectation: the optional doesn't pass the validation - -.. note:: - - In previous versions, Mockery's ``with()`` would attempt to do a pattern - matching against the arguments, attempting to use the argument as a - regular expression. Over time this proved to be not such a great idea, so - we removed this functionality, and have introduced ``Mockery::pattern()`` - instead. - -If we would like to match an argument against a regular expression, we can use -the ``\Mockery::pattern()``: - -.. code-block:: php - - $mock = \Mockery::mock('MyClass'); - $mock->shouldReceive('foo') - ->with(\Mockery::pattern('/^foo/')); - - // Hamcrest equivalent - $mock->shouldReceive('foo') - with(matchesPattern('/^foo/')); - -The ``ducktype()`` matcher is an alternative to matching by class type: - -.. code-block:: php - - $mock = \Mockery::mock('MyClass'); - $mock->shouldReceive('foo') - ->with(\Mockery::ducktype('foo', 'bar')); - -It matches any argument which is an object containing the provided list of -methods to call. - -.. note:: - - There is no Hamcrest version of the ``ducktype()`` matcher. - -Capturing Arguments -------------------- - -If we want to perform multiple validations on a single argument, the ``capture`` -matcher provides a streamlined alternative to using the ``on()`` matcher. -It accepts a variable which the actual argument will be assigned. - -.. code-block:: php - - $mock = \Mockery::mock('MyClass'); - $mock->shouldReceive("foo") - ->with(\Mockery::capture($bar)); - -This will assign *any* argument passed to ``foo`` to the local ``$bar`` variable to -then perform additional validation using assertions. - -.. note:: - - The ``capture`` matcher always evaluates to ``true``. As such, we should always - perform additional argument validation. - -Additional Argument Matchers ----------------------------- - -The ``not()`` matcher matches any argument which is not equal or identical to -the matcher's parameter: - -.. code-block:: php - - $mock = \Mockery::mock('MyClass'); - $mock->shouldReceive('foo') - ->with(\Mockery::not(2)); - - // Hamcrest equivalent - $mock->shouldReceive('foo') - ->with(not(2)); - -``anyOf()`` matches any argument which equals any one of the given parameters: - -.. code-block:: php - - $mock = \Mockery::mock('MyClass'); - $mock->shouldReceive('foo') - ->with(\Mockery::anyOf(1, 2)); - - // Hamcrest equivalent - $mock->shouldReceive('foo') - ->with(anyOf(1,2)); - -``notAnyOf()`` matches any argument which is not equal or identical to any of -the given parameters: - -.. code-block:: php - - $mock = \Mockery::mock('MyClass'); - $mock->shouldReceive('foo') - ->with(\Mockery::notAnyOf(1, 2)); - -.. note:: - - There is no Hamcrest version of the ``notAnyOf()`` matcher. - -``subset()`` matches any argument which is any array containing the given array -subset: - -.. code-block:: php - - $mock = \Mockery::mock('MyClass'); - $mock->shouldReceive('foo') - ->with(\Mockery::subset(array(0 => 'foo'))); - -This enforces both key naming and values, i.e. both the key and value of each -actual element is compared. - -.. note:: - - There is no Hamcrest version of this functionality, though Hamcrest can check - a single entry using ``hasEntry()`` or ``hasKeyValuePair()``. - -``contains()`` matches any argument which is an array containing the listed -values: - -.. code-block:: php - - $mock = \Mockery::mock('MyClass'); - $mock->shouldReceive('foo') - ->with(\Mockery::contains(value1, value2)); - -The naming of keys is ignored. - -``hasKey()`` matches any argument which is an array containing the given key -name: - -.. code-block:: php - - $mock = \Mockery::mock('MyClass'); - $mock->shouldReceive('foo') - ->with(\Mockery::hasKey(key)); - -``hasValue()`` matches any argument which is an array containing the given -value: - -.. code-block:: php - - $mock = \Mockery::mock('MyClass'); - $mock->shouldReceive('foo') - ->with(\Mockery::hasValue(value)); diff --git a/paragonik-backend/vendor/mockery/mockery/docs/reference/creating_test_doubles.rst b/paragonik-backend/vendor/mockery/mockery/docs/reference/creating_test_doubles.rst deleted file mode 100644 index 6f8f8c3..0000000 --- a/paragonik-backend/vendor/mockery/mockery/docs/reference/creating_test_doubles.rst +++ /dev/null @@ -1,435 +0,0 @@ -.. index:: - single: Reference; Creating Test Doubles - -Creating Test Doubles -===================== - -Mockery's main goal is to help us create test doubles. It can create stubs, -mocks, and spies. - -Stubs and mocks are created the same. The difference between the two is that a -stub only returns a preset result when called, while a mock needs to have -expectations set on the method calls it expects to receive. - -Spies are a type of test doubles that keep track of the calls they received, and -allow us to inspect these calls after the fact. - -When creating a test double object, we can pass in an identifier as a name for -our test double. If we pass it no identifier, the test double name will be -unknown. Furthermore, the identifier does not have to be a class name. It is a -good practice, and our recommendation, to always name the test doubles with the -same name as the underlying class we are creating test doubles for. - -If the identifier we use for our test double is a name of an existing class, -the test double will inherit the type of the class (via inheritance), i.e. the -mock object will pass type hints or ``instanceof`` evaluations for the existing -class. This is useful when a test double must be of a specific type, to satisfy -the expectations our code has. - -Stubs and mocks ---------------- - -Stubs and mocks are created by calling the ``\Mockery::mock()`` method. The -following example shows how to create a stub, or a mock, object named "foo": - -.. code-block:: php - - $mock = \Mockery::mock('foo'); - -The mock object created like this is the loosest form of mocks possible, and is -an instance of ``\Mockery\MockInterface``. - -.. note:: - - All test doubles created with Mockery are an instance of - ``\Mockery\MockInterface``, regardless are they a stub, mock or a spy. - -To create a stub or a mock object with no name, we can call the ``mock()`` -method with no parameters: - -.. code-block:: php - - $mock = \Mockery::mock(); - -As we stated earlier, we don't recommend creating stub or mock objects without -a name. - -Classes, abstracts, interfaces -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -The recommended way to create a stub or a mock object is by using a name of -an existing class we want to create a test double of: - -.. code-block:: php - - $mock = \Mockery::mock('MyClass'); - -This stub or mock object will have the type of ``MyClass``, through inheritance. - -Stub or mock objects can be based on any concrete class, abstract class or even -an interface. The primary purpose is to ensure the mock object inherits a -specific type for type hinting. - -.. code-block:: php - - $mock = \Mockery::mock('MyInterface'); - -This stub or mock object will implement the ``MyInterface`` interface. - -.. note:: - - Classes marked final, or classes that have methods marked final cannot be - mocked fully. Mockery supports creating partial mocks for these cases. - Partial mocks will be explained later in the documentation. - -Mockery also supports creating stub or mock objects based on a single existing -class, which must implement one or more interfaces. We can do this by providing -a comma-separated list of the class and interfaces as the first argument to the -``\Mockery::mock()`` method: - -.. code-block:: php - - $mock = \Mockery::mock('MyClass, MyInterface, OtherInterface'); - -This stub or mock object will now be of type ``MyClass`` and implement the -``MyInterface`` and ``OtherInterface`` interfaces. - -.. note:: - - The class name doesn't need to be the first member of the list but it's a - friendly convention to use for readability. - -We can tell a mock to implement the desired interfaces by passing the list of -interfaces as the second argument: - -.. code-block:: php - - $mock = \Mockery::mock('MyClass', 'MyInterface, OtherInterface'); - -For all intents and purposes, this is the same as the previous example. - -Spies ------ - -The third type of test doubles Mockery supports are spies. The main difference -between spies and mock objects is that with spies we verify the calls made -against our test double after the calls were made. We would use a spy when we -don't necessarily care about all of the calls that are going to be made to an -object. - -A spy will return ``null`` for all method calls it receives. It is not possible -to tell a spy what will be the return value of a method call. If we do that, then -we would deal with a mock object, and not with a spy. - -We create a spy by calling the ``\Mockery::spy()`` method: - -.. code-block:: php - - $spy = \Mockery::spy('MyClass'); - -Just as with stubs or mocks, we can tell Mockery to base a spy on any concrete -or abstract class, or to implement any number of interfaces: - -.. code-block:: php - - $spy = \Mockery::spy('MyClass, MyInterface, OtherInterface'); - -This spy will now be of type ``MyClass`` and implement the ``MyInterface`` and -``OtherInterface`` interfaces. - -.. note:: - - The ``\Mockery::spy()`` method call is actually a shorthand for calling - ``\Mockery::mock()->shouldIgnoreMissing()``. The ``shouldIgnoreMissing`` - method is a "behaviour modifier". We'll discuss them a bit later. - -Mocks vs. Spies ---------------- - -Let's try and illustrate the difference between mocks and spies with the -following example: - -.. code-block:: php - - $mock = \Mockery::mock('MyClass'); - $spy = \Mockery::spy('MyClass'); - - $mock->shouldReceive('foo')->andReturn(42); - - $mockResult = $mock->foo(); - $spyResult = $spy->foo(); - - $spy->shouldHaveReceived()->foo(); - - var_dump($mockResult); // int(42) - var_dump($spyResult); // null - -As we can see from this example, with a mock object we set the call expectations -before the call itself, and we get the return result we expect it to return. -With a spy object on the other hand, we verify the call has happened after the -fact. The return result of a method call against a spy is always ``null``. - -We also have a dedicated chapter to :doc:`spies` only. - -.. _creating-test-doubles-partial-test-doubles: - -Partial Test Doubles --------------------- - -Partial doubles are useful when we want to stub out, set expectations for, or -spy on *some* methods of a class, but run the actual code for other methods. - -We differentiate between three types of partial test doubles: - - * runtime partial test doubles, - * generated partial test doubles, and - * proxied partial test doubles. - -Runtime partial test doubles -^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -What we call a runtime partial, involves creating a test double and then telling -it to make itself partial. Any method calls that the double hasn't been told to -allow or expect, will act as they would on a normal instance of the object. - -.. code-block:: php - - class Foo { - function foo() { return 123; } - function bar() { return $this->foo(); } - } - - $foo = mock(Foo::class)->makePartial(); - $foo->foo(); // int(123); - -We can then tell the test double to allow or expect calls as with any other -Mockery double. - -.. code-block:: php - - $foo->shouldReceive('foo')->andReturn(456); - $foo->bar(); // int(456) - -See the cookbook entry on :doc:`../cookbook/big_parent_class` for an example -usage of runtime partial test doubles. - -Generated partial test doubles -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -The second type of partial double we can create is what we call a generated -partial. With generated partials, we specifically tell Mockery which methods -we want to be able to allow or expect calls to. All other methods will run the -actual code *directly*, so stubs and expectations on these methods will not -work. - -.. code-block:: php - - class Foo { - function foo() { return 123; } - function bar() { return $this->foo(); } - } - - $foo = mock("Foo[foo]"); - - $foo->foo(); // error, no expectation set - - $foo->shouldReceive('foo')->andReturn(456); - $foo->foo(); // int(456) - - // setting an expectation for this has no effect - $foo->shouldReceive('bar')->andReturn(999); - $foo->bar(); // int(456) - -It's also possible to specify explicitly which methods to run directly using -the `!method` syntax: - -.. code-block:: php - - class Foo { - function foo() { return 123; } - function bar() { return $this->foo(); } - } - - $foo = mock("Foo[!foo]"); - - $foo->foo(); // int(123) - - $foo->bar(); // error, no expectation set - -.. note:: - - Even though we support generated partial test doubles, we do not recommend - using them. - - One of the reasons why is because a generated partial will call the original - constructor of the mocked class. This can have unwanted side-effects during - testing application code. - - See :doc:`../cookbook/not_calling_the_constructor` for more details. - -Proxied partial test doubles -^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -A proxied partial mock is a partial of last resort. We may encounter a class -which is simply not capable of being mocked because it has been marked as -final. Similarly, we may find a class with methods marked as final. In such a -scenario, we cannot simply extend the class and override methods to mock - we -need to get creative. - -.. code-block:: php - - $mock = \Mockery::mock(new MyClass); - -Yes, the new mock is a Proxy. It intercepts calls and reroutes them to the -proxied object (which we construct and pass in) for methods which are not -subject to any expectations. Indirectly, this allows us to mock methods -marked final since the Proxy is not subject to those limitations. The tradeoff -should be obvious - a proxied partial will fail any typehint checks for the -class being mocked since it cannot extend that class. - -.. _creating-test-doubles-aliasing: - -Aliasing --------- - -Prefixing the valid name of a class (which is NOT currently loaded) with -"alias:" will generate an "alias mock". Alias mocks create a class alias with -the given classname to stdClass and are generally used to enable the mocking -of public static methods. Expectations set on the new mock object which refer -to static methods will be used by all static calls to this class. - -.. code-block:: php - - $mock = \Mockery::mock('alias:MyClass'); - - -.. note:: - - Even though aliasing classes is supported, we do not recommend it. - -Overloading ------------ - -Prefixing the valid name of a class (which is NOT currently loaded) with -"overload:" will generate an alias mock (as with "alias:") except that created -new instances of that class will import any expectations set on the origin -mock (``$mock``). The origin mock is never verified since it's used an -expectation store for new instances. For this purpose we use the term "instance -mock" to differentiate it from the simpler "alias mock". - -In other words, an instance mock will "intercept" when a new instance of the -mocked class is created, then the mock will be used instead. This is useful -especially when mocking hard dependencies which will be discussed later. - -.. code-block:: php - - $mock = \Mockery::mock('overload:MyClass'); - -.. note:: - - Using alias/instance mocks across more than one test will generate a fatal - error since we can't have two classes of the same name. To avoid this, - run each test of this kind in a separate PHP process (which is supported - out of the box by both PHPUnit and PHPT). - - -.. _creating-test-doubles-named-mocks: - -Named Mocks ------------ - -The ``namedMock()`` method will generate a class called by the first argument, -so in this example ``MyClassName``. The rest of the arguments are treated in the -same way as the ``mock`` method: - -.. code-block:: php - - $mock = \Mockery::namedMock('MyClassName', 'DateTime'); - -This example would create a class called ``MyClassName`` that extends -``DateTime``. - -Named mocks are quite an edge case, but they can be useful when code depends -on the ``__CLASS__`` magic constant, or when we need two derivatives of an -abstract type, that are actually different classes. - -See the cookbook entry on :doc:`../cookbook/class_constants` for an example -usage of named mocks. - -.. note:: - - We can only create a named mock once, any subsequent calls to - ``namedMock``, with different arguments are likely to cause exceptions. - -.. _creating-test-doubles-constructor-arguments: - -Constructor Arguments ---------------------- - -Sometimes the mocked class has required constructor arguments. We can pass these -to Mockery as an indexed array, as the 2nd argument: - -.. code-block:: php - - $mock = \Mockery::mock('MyClass', [$constructorArg1, $constructorArg2]); - -or if we need the ``MyClass`` to implement an interface as well, as the 3rd -argument: - -.. code-block:: php - - $mock = \Mockery::mock('MyClass', 'MyInterface', [$constructorArg1, $constructorArg2]); - -Mockery now knows to pass in ``$constructorArg1`` and ``$constructorArg2`` as -arguments to the constructor. - -.. _creating-test-doubles-behavior-modifiers: - -Behavior Modifiers ------------------- - -When creating a mock object, we may wish to use some commonly preferred -behaviours that are not the default in Mockery. - -The use of the ``shouldIgnoreMissing()`` behaviour modifier will label this -mock object as a Passive Mock: - -.. code-block:: php - - \Mockery::mock('MyClass')->shouldIgnoreMissing(); - -In such a mock object, calls to methods which are not covered by expectations -will return ``null`` instead of the usual error about there being no expectation -matching the call. - -On PHP >= 7.0.0, methods with missing expectations that have a return type -will return either a mock of the object (if return type is a class) or a -"falsy" primitive value, e.g. empty string, empty array, zero for ints and -floats, false for bools, or empty closures. - -On PHP >= 7.1.0, methods with missing expectations and nullable return type -will return null. - -We can optionally prefer to return an object of type ``\Mockery\Undefined`` -(i.e. a ``null`` object) (which was the 0.7.2 behaviour) by using an -additional modifier: - -.. code-block:: php - - \Mockery::mock('MyClass')->shouldIgnoreMissing()->asUndefined(); - -The returned object is nothing more than a placeholder so if, by some act of -fate, it's erroneously used somewhere it shouldn't it will likely not pass a -logic check. - -We have encountered the ``makePartial()`` method before, as it is the method we -use to create runtime partial test doubles: - -.. code-block:: php - - \Mockery::mock('MyClass')->makePartial(); - -This form of mock object will defer all methods not subject to an expectation to -the parent class of the mock, i.e. ``MyClass``. Whereas the previous -``shouldIgnoreMissing()`` returned ``null``, this behaviour simply calls the -parent's matching method. diff --git a/paragonik-backend/vendor/mockery/mockery/docs/reference/demeter_chains.rst b/paragonik-backend/vendor/mockery/mockery/docs/reference/demeter_chains.rst deleted file mode 100644 index 1dad5ef..0000000 --- a/paragonik-backend/vendor/mockery/mockery/docs/reference/demeter_chains.rst +++ /dev/null @@ -1,38 +0,0 @@ -.. index:: - single: Mocking; Demeter Chains - -Mocking Demeter Chains And Fluent Interfaces -============================================ - -Both of these terms refer to the growing practice of invoking statements -similar to: - -.. code-block:: php - - $object->foo()->bar()->zebra()->alpha()->selfDestruct(); - -The long chain of method calls isn't necessarily a bad thing, assuming they -each link back to a local object the calling class knows. As a fun example, -Mockery's long chains (after the first ``shouldReceive()`` method) all call to -the same instance of ``\Mockery\Expectation``. However, sometimes this is not -the case and the chain is constantly crossing object boundaries. - -In either case, mocking such a chain can be a horrible task. To make it easier -Mockery supports demeter chain mocking. Essentially, we shortcut through the -chain and return a defined value from the final call. For example, let's -assume ``selfDestruct()`` returns the string "Ten!" to $object (an instance of -``CaptainsConsole``). Here's how we could mock it. - -.. code-block:: php - - $mock = \Mockery::mock('CaptainsConsole'); - $mock->shouldReceive('foo->bar->zebra->alpha->selfDestruct')->andReturn('Ten!'); - -The above expectation can follow any previously seen format or expectation, -except that the method name is simply the string of all expected chain calls -separated by ``->``. Mockery will automatically setup the chain of expected -calls with its final return values, regardless of whatever intermediary object -might be used in the real implementation. - -Arguments to all members of the chain (except the final call) are ignored in -this process. diff --git a/paragonik-backend/vendor/mockery/mockery/docs/reference/expectations.rst b/paragonik-backend/vendor/mockery/mockery/docs/reference/expectations.rst deleted file mode 100644 index e1b43d0..0000000 --- a/paragonik-backend/vendor/mockery/mockery/docs/reference/expectations.rst +++ /dev/null @@ -1,505 +0,0 @@ -.. index:: - single: Expectations - -Expectation Declarations -======================== - -.. note:: - - In order for our expectations to work we MUST call ``Mockery::close()``, - preferably in a callback method such as ``tearDown`` or ``_after`` - (depending on whether or not we're integrating Mockery with another - framework). This static call cleans up the Mockery container used by the - current test, and run any verification tasks needed for our expectations. - -Once we have created a mock object, we'll often want to start defining how -exactly it should behave (and how it should be called). This is where the -Mockery expectation declarations take over. - -Declaring Method Call Expectations ----------------------------------- - -To tell our test double to expect a call for a method with a given name, we use -the ``shouldReceive`` method: - -.. code-block:: php - - $mock = \Mockery::mock('MyClass'); - $mock->shouldReceive('name_of_method'); - -This is the starting expectation upon which all other expectations and -constraints are appended. - -We can declare more than one method call to be expected: - -.. code-block:: php - - $mock = \Mockery::mock('MyClass'); - $mock->shouldReceive('name_of_method_1', 'name_of_method_2'); - -All of these will adopt any chained expectations or constraints. - -It is possible to declare the expectations for the method calls, along with -their return values: - -.. code-block:: php - - $mock = \Mockery::mock('MyClass'); - $mock->shouldReceive([ - 'name_of_method_1' => 'return value 1', - 'name_of_method_2' => 'return value 2', - ]); - -There's also a shorthand way of setting up method call expectations and their -return values: - -.. code-block:: php - - $mock = \Mockery::mock('MyClass', ['name_of_method_1' => 'return value 1', 'name_of_method_2' => 'return value 2']); - -All of these will adopt any additional chained expectations or constraints. - -We can declare that a test double should not expect a call to the given method -name: - -.. code-block:: php - - $mock = \Mockery::mock('MyClass'); - $mock->shouldNotReceive('name_of_method'); - -This method is a convenience method for calling ``shouldReceive()->never()``. - -Declaring Method Argument Expectations --------------------------------------- - -For every method we declare expectation for, we can add constraints that the -defined expectations apply only to the method calls that match the expected -argument list: - -.. code-block:: php - - $mock = \Mockery::mock('MyClass'); - $mock->shouldReceive('name_of_method') - ->with($arg1, $arg2, ...); - // or - $mock->shouldReceive('name_of_method') - ->withArgs([$arg1, $arg2, ...]); - -We can add a lot more flexibility to argument matching using the built in -matcher classes (see later). For example, ``\Mockery::any()`` matches any -argument passed to that position in the ``with()`` parameter list. Mockery also -allows Hamcrest library matchers - for example, the Hamcrest function -``anything()`` is equivalent to ``\Mockery::any()``. - -It's important to note that this means all expectations attached only apply to -the given method when it is called with these exact arguments: - -.. code-block:: php - - $mock = \Mockery::mock('MyClass'); - - $mock->shouldReceive('foo')->with('Hello'); - - $mock->foo('Goodbye'); // throws a NoMatchingExpectationException - -This allows for setting up differing expectations based on the arguments -provided to expected calls. - -Argument matching with closures -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -Instead of providing a built-in matcher for each argument, we can provide a -closure that matches all passed arguments at once: - -.. code-block:: php - - $mock = \Mockery::mock('MyClass'); - $mock->shouldReceive('name_of_method') - ->withArgs(closure); - -The given closure receives all the arguments passed in the call to the expected -method. In this way, this expectation only applies to method calls where passed -arguments make the closure evaluate to true: - -.. code-block:: php - - $mock = \Mockery::mock('MyClass'); - - $mock->shouldReceive('foo')->withArgs(function ($arg) { - if ($arg % 2 == 0) { - return true; - } - return false; - }); - - $mock->foo(4); // matches the expectation - $mock->foo(3); // throws a NoMatchingExpectationException - -Argument matching with some of given values -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -We can provide expected arguments that match passed arguments when mocked method -is called. - -.. code-block:: php - - $mock = \Mockery::mock('MyClass'); - $mock->shouldReceive('name_of_method') - ->withSomeOfArgs(arg1, arg2, arg3, ...); - -The given expected arguments order doesn't matter. -Check if expected values are inclued or not, but type should be matched: - -.. code-block:: php - - $mock = \Mockery::mock('MyClass'); - $mock->shouldReceive('foo') - ->withSomeOfArgs(1, 2); - - $mock->foo(1, 2, 3); // matches the expectation - $mock->foo(3, 2, 1); // matches the expectation (passed order doesn't matter) - $mock->foo('1', '2'); // throws a NoMatchingExpectationException (type should be matched) - $mock->foo(3); // throws a NoMatchingExpectationException - -Any, or no arguments -^^^^^^^^^^^^^^^^^^^^ - -We can declare that the expectation matches a method call regardless of what -arguments are passed: - -.. code-block:: php - - $mock = \Mockery::mock('MyClass'); - $mock->shouldReceive('name_of_method') - ->withAnyArgs(); - -This is set by default unless otherwise specified. - -We can declare that the expectation matches method calls with zero arguments: - -.. code-block:: php - - $mock = \Mockery::mock('MyClass'); - $mock->shouldReceive('name_of_method') - ->withNoArgs(); - -Declaring Return Value Expectations ------------------------------------ - -For mock objects, we can tell Mockery what return values to return from the -expected method calls. - -For that we can use the ``andReturn()`` method: - -.. code-block:: php - - $mock = \Mockery::mock('MyClass'); - $mock->shouldReceive('name_of_method') - ->andReturn($value); - -This sets a value to be returned from the expected method call. - -It is possible to set up expectation for multiple return values. By providing -a sequence of return values, we tell Mockery what value to return on every -subsequent call to the method: - -.. code-block:: php - - $mock = \Mockery::mock('MyClass'); - $mock->shouldReceive('name_of_method') - ->andReturn($value1, $value2, ...) - -The first call will return ``$value1`` and the second call will return ``$value2``. - -If we call the method more times than the number of return values we declared, -Mockery will return the final value for any subsequent method call: - -.. code-block:: php - - $mock = \Mockery::mock('MyClass'); - - $mock->shouldReceive('foo')->andReturn(1, 2, 3); - - $mock->foo(); // int(1) - $mock->foo(); // int(2) - $mock->foo(); // int(3) - $mock->foo(); // int(3) - -The same can be achieved using the alternative syntax: - -.. code-block:: php - - $mock = \Mockery::mock('MyClass'); - $mock->shouldReceive('name_of_method') - ->andReturnValues([$value1, $value2, ...]) - -It accepts a simple array instead of a list of parameters. The order of return -is determined by the numerical index of the given array with the last array -member being returned on all calls once previous return values are exhausted. - -The following two options are primarily for communication with test readers: - -.. code-block:: php - - $mock = \Mockery::mock('MyClass'); - $mock->shouldReceive('name_of_method') - ->andReturnNull(); - // or - $mock->shouldReceive('name_of_method') - ->andReturn([null]); - -They mark the mock object method call as returning ``null`` or nothing. - -Sometimes we want to calculate the return results of the method calls, based on -the arguments passed to the method. We can do that with the ``andReturnUsing()`` -method which accepts one or more closure: - -.. code-block:: php - - $mock = \Mockery::mock('MyClass'); - $mock->shouldReceive('name_of_method') - ->andReturnUsing(closure, ...); - -Closures can be queued by passing them as extra parameters as for ``andReturn()``. - -Occasionally, it can be useful to echo back one of the arguments that a method -is called with. In this case we can use the ``andReturnArg()`` method; the -argument to be returned is specified by its index in the arguments list: - -.. code-block:: php - - $mock = \Mockery::mock('MyClass'); - $mock->shouldReceive('name_of_method') - ->andReturnArg(1); - -This returns the second argument (index #1) from the list of arguments when the -method is called. - -.. note:: - - We cannot currently mix ``andReturnUsing()`` or ``andReturnArg`` with - ``andReturn()``. - -If we are mocking fluid interfaces, the following method will be helpful: - -.. code-block:: php - - $mock = \Mockery::mock('MyClass'); - $mock->shouldReceive('name_of_method') - ->andReturnSelf(); - -It sets the return value to the mocked class name. - -Throwing Exceptions -------------------- - -We can tell the method of mock objects to throw exceptions: - -.. code-block:: php - - $mock = \Mockery::mock('MyClass'); - $mock->shouldReceive('name_of_method') - ->andThrow(new Exception); - -It will throw the given ``Exception`` object when called. - -Rather than an object, we can pass in the ``Exception`` class, message and/or code to -use when throwing an ``Exception`` from the mocked method: - -.. code-block:: php - - $mock = \Mockery::mock('MyClass'); - $mock->shouldReceive('name_of_method') - ->andThrow('exception_name', 'message', 123456789); - -.. _expectations-setting-public-properties: - -Setting Public Properties -------------------------- - -Used with an expectation so that when a matching method is called, we can cause -a mock object's public property to be set to a specified value, by using -``andSet()`` or ``set()``: - -.. code-block:: php - - $mock = \Mockery::mock('MyClass'); - $mock->shouldReceive('name_of_method') - ->andSet($property, $value); - // or - $mock->shouldReceive('name_of_method') - ->set($property, $value); - -In cases where we want to call the real method of the class that was mocked and -return its result, the ``passthru()`` method tells the expectation to bypass -a return queue: - -.. code-block:: php - - passthru() - -It allows expectation matching and call count validation to be applied against -real methods while still calling the real class method with the expected -arguments. - -Declaring Call Count Expectations ---------------------------------- - -Besides setting expectations on the arguments of the method calls, and the -return values of those same calls, we can set expectations on how many times -should any method be called. - -When a call count expectation is not met, a -``\Mockery\Expectation\InvalidCountException`` will be thrown. - -.. note:: - - It is absolutely required to call ``\Mockery::close()`` at the end of our - tests, for example in the ``tearDown()`` method of PHPUnit. Otherwise - Mockery will not verify the calls made against our mock objects. - -We can declare that the expected method may be called zero or more times: - -.. code-block:: php - - $mock = \Mockery::mock('MyClass'); - $mock->shouldReceive('name_of_method') - ->zeroOrMoreTimes(); - -This is the default for all methods unless otherwise set. - -To tell Mockery to expect an exact number of calls to a method, we can use the -following: - -.. code-block:: php - - $mock = \Mockery::mock('MyClass'); - $mock->shouldReceive('name_of_method') - ->times($n); - -where ``$n`` is the number of times the method should be called. - -A couple of most common cases got their shorthand methods. - -To declare that the expected method must be called one time only: - -.. code-block:: php - - $mock = \Mockery::mock('MyClass'); - $mock->shouldReceive('name_of_method') - ->once(); - -To declare that the expected method must be called two times: - -.. code-block:: php - - $mock = \Mockery::mock('MyClass'); - $mock->shouldReceive('name_of_method') - ->twice(); - -To declare that the expected method must never be called: - -.. code-block:: php - - $mock = \Mockery::mock('MyClass'); - $mock->shouldReceive('name_of_method') - ->never(); - -Call count modifiers -^^^^^^^^^^^^^^^^^^^^ - -The call count expectations can have modifiers set. - -If we want to tell Mockery the minimum number of times a method should be called, -we use ``atLeast()``: - -.. code-block:: php - - $mock = \Mockery::mock('MyClass'); - $mock->shouldReceive('name_of_method') - ->atLeast() - ->times(3); - -``atLeast()->times(3)`` means the call must be called at least three times -(given matching method args) but never less than three times. - -Similarly, we can tell Mockery the maximum number of times a method should be -called, using ``atMost()``: - -.. code-block:: php - - $mock = \Mockery::mock('MyClass'); - $mock->shouldReceive('name_of_method') - ->atMost() - ->times(3); - -``atMost()->times(3)`` means the call must be called no more than three times. -If the method gets no calls at all, the expectation will still be met. - -We can also set a range of call counts, using ``between()``: - -.. code-block:: php - - $mock = \Mockery::mock('MyClass'); - $mock->shouldReceive('name_of_method') - ->between($min, $max); - -This is actually identical to using ``atLeast()->times($min)->atMost()->times($max)`` -but is provided as a shorthand. It may be followed by a ``times()`` call with no -parameter to preserve the APIs natural language readability. - -Expectation Declaration Utilities ---------------------------------- - -Declares that this method is expected to be called in a specific order in -relation to similarly marked methods. - -.. code-block:: php - - ordered() - -The order is dictated by the order in which this modifier is actually used when -setting up mocks. - -Declares the method as belonging to an order group (which can be named or -numbered). Methods within a group can be called in any order, but the ordered -calls from outside the group are ordered in relation to the group: - -.. code-block:: php - - ordered(group) - -We can set up so that method1 is called before group1 which is in turn called -before method2. - -When called prior to ``ordered()`` or ``ordered(group)``, it declares this -ordering to apply across all mock objects (not just the current mock): - -.. code-block:: php - - globally() - -This allows for dictating order expectations across multiple mocks. - -The ``byDefault()`` marks an expectation as a default. Default expectations are -applied unless a non-default expectation is created: - -.. code-block:: php - - byDefault() - -These later expectations immediately replace the previously defined default. -This is useful so we can setup default mocks in our unit test ``setup()`` and -later tweak them in specific tests as needed. - -Returns the current mock object from an expectation chain: - -.. code-block:: php - - getMock() - -Useful where we prefer to keep mock setups as a single statement, e.g.: - -.. code-block:: php - - $mock = \Mockery::mock('foo')->shouldReceive('foo')->andReturn(1)->getMock(); diff --git a/paragonik-backend/vendor/mockery/mockery/docs/reference/final_methods_classes.rst b/paragonik-backend/vendor/mockery/mockery/docs/reference/final_methods_classes.rst deleted file mode 100644 index 3b2c443..0000000 --- a/paragonik-backend/vendor/mockery/mockery/docs/reference/final_methods_classes.rst +++ /dev/null @@ -1,28 +0,0 @@ -.. index:: - single: Mocking; Final Classes/Methods - -Dealing with Final Classes/Methods -================================== - -One of the primary restrictions of mock objects in PHP, is that mocking -classes or methods marked final is hard. The final keyword prevents methods so -marked from being replaced in subclasses (subclassing is how mock objects can -inherit the type of the class or object being mocked). - -The simplest solution is to not mark classes or methods as final! - -However, in a compromise between mocking functionality and type safety, -Mockery does allow creating "proxy mocks" from classes marked final, or from -classes with methods marked final. This offers all the usual mock object -goodness but the resulting mock will not inherit the class type of the object -being mocked, i.e. it will not pass any instanceof comparison. Methods marked -as final will be proxied to the original method, i.e., final methods can't be -mocked. - -We can create a proxy mock by passing the instantiated object we wish to -mock into ``\Mockery::mock()``, i.e. Mockery will then generate a Proxy to the -real object and selectively intercept method calls for the purposes of setting -and meeting expectations. - -See the :ref:`creating-test-doubles-partial-test-doubles` chapter, the subsection -about proxied partial test doubles. diff --git a/paragonik-backend/vendor/mockery/mockery/docs/reference/index.rst b/paragonik-backend/vendor/mockery/mockery/docs/reference/index.rst deleted file mode 100644 index 1e5bf04..0000000 --- a/paragonik-backend/vendor/mockery/mockery/docs/reference/index.rst +++ /dev/null @@ -1,22 +0,0 @@ -Reference -========= - -.. toctree:: - :hidden: - - creating_test_doubles - expectations - argument_validation - alternative_should_receive_syntax - spies - partial_mocks - protected_methods - public_properties - public_static_properties - pass_by_reference_behaviours - demeter_chains - final_methods_classes - magic_methods - phpunit_integration - -.. include:: map.rst.inc diff --git a/paragonik-backend/vendor/mockery/mockery/docs/reference/instance_mocking.rst b/paragonik-backend/vendor/mockery/mockery/docs/reference/instance_mocking.rst deleted file mode 100644 index 9d1aa28..0000000 --- a/paragonik-backend/vendor/mockery/mockery/docs/reference/instance_mocking.rst +++ /dev/null @@ -1,22 +0,0 @@ -.. index:: - single: Mocking; Instance - -Instance Mocking -================ - -Instance mocking means that a statement like: - -.. code-block:: php - - $obj = new \MyNamespace\Foo; - -...will actually generate a mock object. This is done by replacing the real -class with an instance mock (similar to an alias mock), as with mocking public -methods. The alias will import its expectations from the original mock of -that type (note that the original is never verified and should be ignored -after its expectations are setup). This lets you intercept instantiation where -you can't simply inject a replacement object. - -As before, this does not prevent a require statement from including the real -class and triggering a fatal PHP error. It's intended for use where -autoloading is the primary class loading mechanism. diff --git a/paragonik-backend/vendor/mockery/mockery/docs/reference/magic_methods.rst b/paragonik-backend/vendor/mockery/mockery/docs/reference/magic_methods.rst deleted file mode 100644 index 39591cf..0000000 --- a/paragonik-backend/vendor/mockery/mockery/docs/reference/magic_methods.rst +++ /dev/null @@ -1,16 +0,0 @@ -.. index:: - single: Mocking; Magic Methods - -PHP Magic Methods -================= - -PHP magic methods which are prefixed with a double underscore, e.g. -``__set()``, pose a particular problem in mocking and unit testing in general. -It is strongly recommended that unit tests and mock objects do not directly -refer to magic methods. Instead, refer only to the virtual methods and -properties these magic methods simulate. - -Following this piece of advice will ensure we are testing the real API of -classes and also ensures there is no conflict should Mockery override these -magic methods, which it will inevitably do in order to support its role in -intercepting method calls and properties. diff --git a/paragonik-backend/vendor/mockery/mockery/docs/reference/map.rst.inc b/paragonik-backend/vendor/mockery/mockery/docs/reference/map.rst.inc deleted file mode 100644 index 883bc3c..0000000 --- a/paragonik-backend/vendor/mockery/mockery/docs/reference/map.rst.inc +++ /dev/null @@ -1,14 +0,0 @@ -* :doc:`/reference/creating_test_doubles` -* :doc:`/reference/expectations` -* :doc:`/reference/argument_validation` -* :doc:`/reference/alternative_should_receive_syntax` -* :doc:`/reference/spies` -* :doc:`/reference/partial_mocks` -* :doc:`/reference/protected_methods` -* :doc:`/reference/public_properties` -* :doc:`/reference/public_static_properties` -* :doc:`/reference/pass_by_reference_behaviours` -* :doc:`/reference/demeter_chains` -* :doc:`/reference/final_methods_classes` -* :doc:`/reference/magic_methods` -* :doc:`/reference/phpunit_integration` diff --git a/paragonik-backend/vendor/mockery/mockery/docs/reference/partial_mocks.rst b/paragonik-backend/vendor/mockery/mockery/docs/reference/partial_mocks.rst deleted file mode 100644 index 457eb8d..0000000 --- a/paragonik-backend/vendor/mockery/mockery/docs/reference/partial_mocks.rst +++ /dev/null @@ -1,108 +0,0 @@ -.. index:: - single: Mocking; Partial Mocks - -Creating Partial Mocks -====================== - -Partial mocks are useful when we only need to mock several methods of an -object leaving the remainder free to respond to calls normally (i.e. as -implemented). Mockery implements three distinct strategies for creating -partials. Each has specific advantages and disadvantages so which strategy we -use will depend on our own preferences and the source code in need of -mocking. - -We have previously talked a bit about :ref:`creating-test-doubles-partial-test-doubles`, -but we'd like to expand on the subject a bit here. - -#. Runtime partial test doubles -#. Generated partial test doubles -#. Proxied Partial Mock - -Runtime partial test doubles ----------------------------- - -A runtime partial test double, also known as a passive partial mock, is a kind -of a default state of being for a mocked object. - -.. code-block:: php - - $mock = \Mockery::mock('MyClass')->makePartial(); - -With a runtime partial, we assume that all methods will simply defer to the -parent class (``MyClass``) original methods unless a method call matches a -known expectation. If we have no matching expectation for a specific method -call, that call is deferred to the class being mocked. Since the division -between mocked and unmocked calls depends entirely on the expectations we -define, there is no need to define which methods to mock in advance. - -See the cookbook entry on :doc:`../cookbook/big_parent_class` for an example -usage of runtime partial test doubles. - -Generated Partial Test Doubles ------------------------------- - -A generated partial test double, also known as a traditional partial mock, -defines ahead of time which methods of a class are to be mocked and which are -to be left unmocked (i.e. callable as normal). The syntax for creating -traditional mocks is: - -.. code-block:: php - - $mock = \Mockery::mock('MyClass[foo,bar]'); - -In the above example, the ``foo()`` and ``bar()`` methods of MyClass will be -mocked but no other MyClass methods are touched. We will need to define -expectations for the ``foo()`` and ``bar()`` methods to dictate their mocked -behaviour. - -Don't forget that we can pass in constructor arguments since unmocked methods -may rely on those! - -.. code-block:: php - - $mock = \Mockery::mock('MyNamespace\MyClass[foo]', array($arg1, $arg2)); - -See the :ref:`creating-test-doubles-constructor-arguments` section to read up -on them. - -.. note:: - - Even though we support generated partial test doubles, we do not recommend - using them. - -Proxied Partial Mock --------------------- - -A proxied partial mock is a partial of last resort. We may encounter a class -which is simply not capable of being mocked because it has been marked as -final. Similarly, we may find a class with methods marked as final. In such a -scenario, we cannot simply extend the class and override methods to mock - we -need to get creative. - -.. code-block:: php - - $mock = \Mockery::mock(new MyClass); - -Yes, the new mock is a Proxy. It intercepts calls and reroutes them to the -proxied object (which we construct and pass in) for methods which are not -subject to any expectations. Indirectly, this allows us to mock methods -marked final since the Proxy is not subject to those limitations. The tradeoff -should be obvious - a proxied partial will fail any typehint checks for the -class being mocked since it cannot extend that class. - -Special Internal Cases ----------------------- - -All mock objects, with the exception of Proxied Partials, allows us to make -any expectation call to the underlying real class method using the ``passthru()`` -expectation call. This will return values from the real call and bypass any -mocked return queue (which can simply be omitted obviously). - -There is a fourth kind of partial mock reserved for internal use. This is -automatically generated when we attempt to mock a class containing methods -marked final. Since we cannot override such methods, they are simply left -unmocked. Typically, we don't need to worry about this but if we really -really must mock a final method, the only possible means is through a Proxied -Partial Mock. SplFileInfo, for example, is a common class subject to this form -of automatic internal partial since it contains public final methods used -internally. diff --git a/paragonik-backend/vendor/mockery/mockery/docs/reference/pass_by_reference_behaviours.rst b/paragonik-backend/vendor/mockery/mockery/docs/reference/pass_by_reference_behaviours.rst deleted file mode 100644 index 5e2e457..0000000 --- a/paragonik-backend/vendor/mockery/mockery/docs/reference/pass_by_reference_behaviours.rst +++ /dev/null @@ -1,130 +0,0 @@ -.. index:: - single: Pass-By-Reference Method Parameter Behaviour - -Preserving Pass-By-Reference Method Parameter Behaviour -======================================================= - -PHP Class method may accept parameters by reference. In this case, changes -made to the parameter (a reference to the original variable passed to the -method) are reflected in the original variable. An example: - -.. code-block:: php - - class Foo - { - - public function bar(&$a) - { - $a++; - } - - } - - $baz = 1; - $foo = new Foo; - $foo->bar($baz); - - echo $baz; // will echo the integer 2 - -In the example above, the variable ``$baz`` is passed by reference to -``Foo::bar()`` (notice the ``&`` symbol in front of the parameter?). Any -change ``bar()`` makes to the parameter reference is reflected in the original -variable, ``$baz``. - -Mockery handles references correctly for all methods where it can analyse -the parameter (using ``Reflection``) to see if it is passed by reference. To -mock how a reference is manipulated by the class method, we can use a closure -argument matcher to manipulate it, i.e. ``\Mockery::on()`` - see the -:ref:`argument-validation-complex-argument-validation` chapter. - -There is an exception for internal PHP classes where Mockery cannot analyse -method parameters using ``Reflection`` (a limitation in PHP). To work around -this, we can explicitly declare method parameters for an internal class using -``\Mockery\Configuration::setInternalClassMethodParamMap()``. - -Here's an example using ``MongoCollection::insert()``. ``MongoCollection`` is -an internal class offered by the mongo extension from PECL. Its ``insert()`` -method accepts an array of data as the first parameter, and an optional -options array as the second parameter. The original data array is updated -(i.e. when a ``insert()`` pass-by-reference parameter) to include a new -``_id`` field. We can mock this behaviour using a configured parameter map (to -tell Mockery to expect a pass by reference parameter) and a ``Closure`` -attached to the expected method parameter to be updated. - -Here's a PHPUnit unit test verifying that this pass-by-reference behaviour is -preserved: - -.. code-block:: php - - public function testCanOverrideExpectedParametersOfInternalPHPClassesToPreserveRefs() - { - \Mockery::getConfiguration()->setInternalClassMethodParamMap( - 'MongoCollection', - 'insert', - array('&$data', '$options = array()') - ); - $m = \Mockery::mock('MongoCollection'); - $m->shouldReceive('insert')->with( - \Mockery::on(function(&$data) { - if (!is_array($data)) return false; - $data['_id'] = 123; - return true; - }), - \Mockery::any() - ); - - $data = array('a'=>1,'b'=>2); - $m->insert($data); - - $this->assertTrue(isset($data['_id'])); - $this->assertEquals(123, $data['_id']); - - \Mockery::resetContainer(); - } - -Protected Methods ------------------ - -When dealing with protected methods, and trying to preserve pass by reference -behavior for them, a different approach is required. - -.. code-block:: php - - class Model - { - public function test(&$data) - { - return $this->doTest($data); - } - - protected function doTest(&$data) - { - $data['something'] = 'wrong'; - return $this; - } - } - - class Test extends \PHPUnit\Framework\TestCase - { - public function testModel() - { - $mock = \Mockery::mock('Model[test]')->shouldAllowMockingProtectedMethods(); - - $mock->shouldReceive('test') - ->with(\Mockery::on(function(&$data) { - $data['something'] = 'wrong'; - return true; - })); - - $data = array('foo' => 'bar'); - - $mock->test($data); - $this->assertTrue(isset($data['something'])); - $this->assertEquals('wrong', $data['something']); - } - } - -This is quite an edge case, so we need to change the original code a little bit, -by creating a public method that will call our protected method, and then mock -that, instead of the protected method. This new public method will act as a -proxy to our protected method. diff --git a/paragonik-backend/vendor/mockery/mockery/docs/reference/phpunit_integration.rst b/paragonik-backend/vendor/mockery/mockery/docs/reference/phpunit_integration.rst deleted file mode 100644 index 7528b5a..0000000 --- a/paragonik-backend/vendor/mockery/mockery/docs/reference/phpunit_integration.rst +++ /dev/null @@ -1,151 +0,0 @@ -.. index:: - single: PHPUnit Integration - -PHPUnit Integration -=================== - -Mockery was designed as a simple-to-use *standalone* mock object framework, so -its need for integration with any testing framework is entirely optional. To -integrate Mockery, we need to define a ``tearDown()`` method for our tests -containing the following (we may use a shorter ``\Mockery`` namespace -alias): - -.. code-block:: php - - public function tearDown() { - \Mockery::close(); - } - -This static call cleans up the Mockery container used by the current test, and -run any verification tasks needed for our expectations. - -For some added brevity when it comes to using Mockery, we can also explicitly -use the Mockery namespace with a shorter alias. For example: - -.. code-block:: php - - use \Mockery as m; - - class SimpleTest extends \PHPUnit\Framework\TestCase - { - public function testSimpleMock() { - $mock = m::mock('simplemock'); - $mock->shouldReceive('foo')->with(5, m::any())->once()->andReturn(10); - - $this->assertEquals(10, $mock->foo(5)); - } - - public function tearDown() { - m::close(); - } - } - -Mockery ships with an autoloader so we don't need to litter our tests with -``require_once()`` calls. To use it, ensure Mockery is on our -``include_path`` and add the following to our test suite's ``Bootstrap.php`` -or ``TestHelper.php`` file: - -.. code-block:: php - - require_once 'Mockery/Loader.php'; - require_once 'Hamcrest/Hamcrest.php'; - - $loader = new \Mockery\Loader; - $loader->register(); - -If we are using Composer, we can simplify this to including the Composer -generated autoloader file: - -.. code-block:: php - - require __DIR__ . '/../vendor/autoload.php'; // assuming vendor is one directory up - -.. caution:: - - Prior to Hamcrest 1.0.0, the ``Hamcrest.php`` file name had a small "h" - (i.e. ``hamcrest.php``). If upgrading Hamcrest to 1.0.0 remember to check - the file name is updated for all your projects.) - -To integrate Mockery into PHPUnit and avoid having to call the close method -and have Mockery remove itself from code coverage reports, have your test case -extends the ``\Mockery\Adapter\Phpunit\MockeryTestCase``: - -.. code-block:: php - - class MyTest extends \Mockery\Adapter\Phpunit\MockeryTestCase - { - - } - -An alternative is to use the supplied trait: - -.. code-block:: php - - class MyTest extends \PHPUnit\Framework\TestCase - { - use \Mockery\Adapter\Phpunit\MockeryPHPUnitIntegration; - } - -Extending ``MockeryTestCase`` or using the ``MockeryPHPUnitIntegration`` -trait is **the recommended way** of integrating Mockery with PHPUnit, -since Mockery 1.0.0. - -PHPUnit listener ----------------- - -Before the 1.0.0 release, Mockery provided a PHPUnit listener that would -call ``Mockery::close()`` for us at the end of a test. This has changed -significantly since the 1.0.0 version. - -Now, Mockery provides a PHPUnit listener that makes tests fail if -``Mockery::close()`` has not been called. It can help identify tests where -we've forgotten to include the trait or extend the ``MockeryTestCase``. - -If we are using PHPUnit's XML configuration approach, we can include the -following to load the ``TestListener``: - -.. code-block:: xml - - - - - -Make sure Composer's or Mockery's autoloader is present in the bootstrap file -or we will need to also define a "file" attribute pointing to the file of the -``TestListener`` class. - -.. caution:: - - The ``TestListener`` will only work for PHPUnit 6+ versions. - - For PHPUnit versions 5 and lower, the test listener does not work. - -If we are creating the test suite programmatically we may add the listener -like this: - -.. code-block:: php - - // Create the suite. - $suite = new PHPUnit\Framework\TestSuite(); - - // Create the listener and add it to the suite. - $result = new PHPUnit\Framework\TestResult(); - $result->addListener(new \Mockery\Adapter\Phpunit\TestListener()); - - // Run the tests. - $suite->run($result); - -.. caution:: - - PHPUnit provides a functionality that allows - `tests to run in a separated process `_, - to ensure better isolation. Mockery verifies the mocks expectations using the - ``Mockery::close()`` method, and provides a PHPUnit listener, that automatically - calls this method for us after every test. - - However, this listener is not called in the right process when using - PHPUnit's process isolation, resulting in expectations that might not be - respected, but without raising any ``Mockery\Exception``. To avoid this, - we cannot rely on the supplied Mockery PHPUnit ``TestListener``, and we need - to explicitly call ``Mockery::close``. The easiest solution to include this - call in the ``tearDown()`` method, as explained previously. diff --git a/paragonik-backend/vendor/mockery/mockery/docs/reference/protected_methods.rst b/paragonik-backend/vendor/mockery/mockery/docs/reference/protected_methods.rst deleted file mode 100644 index ec4a5ba..0000000 --- a/paragonik-backend/vendor/mockery/mockery/docs/reference/protected_methods.rst +++ /dev/null @@ -1,26 +0,0 @@ -.. index:: - single: Mocking; Protected Methods - -Mocking Protected Methods -========================= - -By default, Mockery does not allow mocking protected methods. We do not recommend -mocking protected methods, but there are cases when there is no other solution. - -For those cases we have the ``shouldAllowMockingProtectedMethods()`` method. It -instructs Mockery to specifically allow mocking of protected methods, for that -one class only: - -.. code-block:: php - - class MyClass - { - protected function foo() - { - } - } - - $mock = \Mockery::mock('MyClass') - ->shouldAllowMockingProtectedMethods(); - $mock->shouldReceive('foo'); - diff --git a/paragonik-backend/vendor/mockery/mockery/docs/reference/public_properties.rst b/paragonik-backend/vendor/mockery/mockery/docs/reference/public_properties.rst deleted file mode 100644 index 3165668..0000000 --- a/paragonik-backend/vendor/mockery/mockery/docs/reference/public_properties.rst +++ /dev/null @@ -1,20 +0,0 @@ -.. index:: - single: Mocking; Public Properties - -Mocking Public Properties -========================= - -Mockery allows us to mock properties in several ways. One way is that we can set -a public property and its value on any mock object. The second is that we can -use the expectation methods ``set()`` and ``andSet()`` to set property values if -that expectation is ever met. - -You can read more about :ref:`expectations-setting-public-properties`. - -.. note:: - - In general, Mockery does not support mocking any magic methods since these - are generally not considered a public API (and besides it is a bit difficult - to differentiate them when you badly need them for mocking!). So please mock - virtual properties (those relying on ``__get()`` and ``__set()``) as if they - were actually declared on the class. diff --git a/paragonik-backend/vendor/mockery/mockery/docs/reference/public_static_properties.rst b/paragonik-backend/vendor/mockery/mockery/docs/reference/public_static_properties.rst deleted file mode 100644 index 2396efc..0000000 --- a/paragonik-backend/vendor/mockery/mockery/docs/reference/public_static_properties.rst +++ /dev/null @@ -1,15 +0,0 @@ -.. index:: - single: Mocking; Public Static Methods - -Mocking Public Static Methods -============================= - -Static methods are not called on real objects, so normal mock objects can't -mock them. Mockery supports class aliased mocks, mocks representing a class -name which would normally be loaded (via autoloading or a require statement) -in the system under test. These aliases block that loading (unless via a -require statement - so please use autoloading!) and allow Mockery to intercept -static method calls and add expectations for them. - -See the :ref:`creating-test-doubles-aliasing` section for more information on -creating aliased mocks, for the purpose of mocking public static methods. diff --git a/paragonik-backend/vendor/mockery/mockery/docs/reference/spies.rst b/paragonik-backend/vendor/mockery/mockery/docs/reference/spies.rst deleted file mode 100644 index 77f37f3..0000000 --- a/paragonik-backend/vendor/mockery/mockery/docs/reference/spies.rst +++ /dev/null @@ -1,154 +0,0 @@ -.. index:: - single: Reference; Spies - -Spies -===== - -Spies are a type of test doubles, but they differ from stubs or mocks in that, -that the spies record any interaction between the spy and the System Under Test -(SUT), and allow us to make assertions against those interactions after the fact. - -Creating a spy means we don't have to set up expectations for every method call -the double might receive during the test, some of which may not be relevant to -the current test. A spy allows us to make assertions about the calls we care -about for this test only, reducing the chances of over-specification and making -our tests more clear. - -Spies also allow us to follow the more familiar Arrange-Act-Assert or -Given-When-Then style within our tests. With mocks, we have to follow a less -familiar style, something along the lines of Arrange-Expect-Act-Assert, where -we have to tell our mocks what to expect before we act on the sut, then assert -that those expectations where met: - -.. code-block:: php - - // arrange - $mock = \Mockery::mock('MyDependency'); - $sut = new MyClass($mock); - - // expect - $mock->shouldReceive('foo') - ->once() - ->with('bar'); - - // act - $sut->callFoo(); - - // assert - \Mockery::close(); - -Spies allow us to skip the expect part and move the assertion to after we have -acted on the SUT, usually making our tests more readable: - -.. code-block:: php - - // arrange - $spy = \Mockery::spy('MyDependency'); - $sut = new MyClass($spy); - - // act - $sut->callFoo(); - - // assert - $spy->shouldHaveReceived() - ->foo() - ->with('bar'); - -On the other hand, spies are far less restrictive than mocks, meaning tests are -usually less precise, as they let us get away with more. This is usually a -good thing, they should only be as precise as they need to be, but while spies -make our tests more intent-revealing, they do tend to reveal less about the -design of the SUT. If we're having to setup lots of expectations for a mock, -in lots of different tests, our tests are trying to tell us something - the SUT -is doing too much and probably should be refactored. We don't get this with -spies, they simply ignore the calls that aren't relevant to them. - -Another downside to using spies is debugging. When a mock receives a call that -it wasn't expecting, it immediately throws an exception (failing fast), giving -us a nice stack trace or possibly even invoking our debugger. With spies, we're -simply asserting calls were made after the fact, so if the wrong calls were made, -we don't have quite the same just in time context we have with the mocks. - -Finally, if we need to define a return value for our test double, we can't do -that with a spy, only with a mock object. - -.. note:: - - This documentation page is an adaption of the blog post titled - `"Mockery Spies" `_, - published by Dave Marshall on his blog. Dave is the original author of spies - in Mockery. - -Spies Reference ---------------- - -To verify that a method was called on a spy, we use the ``shouldHaveReceived()`` -method: - -.. code-block:: php - - $spy->shouldHaveReceived('foo'); - -To verify that a method was **not** called on a spy, we use the -``shouldNotHaveReceived()`` method: - -.. code-block:: php - - $spy->shouldNotHaveReceived('foo'); - -We can also do argument matching with spies: - -.. code-block:: php - - $spy->shouldHaveReceived('foo') - ->with('bar'); - -Argument matching is also possible by passing in an array of arguments to -match: - -.. code-block:: php - - $spy->shouldHaveReceived('foo', ['bar']); - -Although when verifying a method was not called, the argument matching can only -be done by supplying the array of arguments as the 2nd argument to the -``shouldNotHaveReceived()`` method: - -.. code-block:: php - - $spy->shouldNotHaveReceived('foo', ['bar']); - -This is due to Mockery's internals. - -Finally, when expecting calls that should have been received, we can also verify -the number of calls: - -.. code-block:: php - - $spy->shouldHaveReceived('foo') - ->with('bar') - ->twice(); - -Alternative shouldReceive syntax -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -As of Mockery 1.0.0, we support calling methods as we would call any PHP method, -and not as string arguments to Mockery ``should*`` methods. - -In cases of spies, this only applies to the ``shouldHaveReceived()`` method: - -.. code-block:: php - - $spy->shouldHaveReceived() - ->foo('bar'); - -We can set expectation on number of calls as well: - -.. code-block:: php - - $spy->shouldHaveReceived() - ->foo('bar') - ->twice(); - -Unfortunately, due to limitations we can't support the same syntax for the -``shouldNotHaveReceived()`` method. diff --git a/paragonik-backend/vendor/mockery/mockery/library/Mockery.php b/paragonik-backend/vendor/mockery/mockery/library/Mockery.php deleted file mode 100644 index 297867e..0000000 --- a/paragonik-backend/vendor/mockery/mockery/library/Mockery.php +++ /dev/null @@ -1,971 +0,0 @@ -= 0) { - $builtInTypes[] = 'object'; - } - - return $builtInTypes; - } - - /** - * @param string $type - * @return bool - */ - public static function isBuiltInType($type) - { - return in_array($type, \Mockery::builtInTypes()); - } - - /** - * Static shortcut to \Mockery\Container::mock(). - * - * @param mixed ...$args - * - * @return \Mockery\MockInterface|\Mockery\LegacyMockInterface - */ - public static function mock(...$args) - { - return call_user_func_array(array(self::getContainer(), 'mock'), $args); - } - - /** - * Static and semantic shortcut for getting a mock from the container - * and applying the spy's expected behavior into it. - * - * @param mixed ...$args - * - * @return \Mockery\MockInterface|\Mockery\LegacyMockInterface - */ - public static function spy(...$args) - { - if (count($args) && $args[0] instanceof \Closure) { - $args[0] = new ClosureWrapper($args[0]); - } - - return call_user_func_array(array(self::getContainer(), 'mock'), $args)->shouldIgnoreMissing(); - } - - /** - * Static and Semantic shortcut to \Mockery\Container::mock(). - * - * @param mixed ...$args - * - * @return \Mockery\MockInterface|\Mockery\LegacyMockInterface - */ - public static function instanceMock(...$args) - { - return call_user_func_array(array(self::getContainer(), 'mock'), $args); - } - - /** - * Static shortcut to \Mockery\Container::mock(), first argument names the mock. - * - * @param mixed ...$args - * - * @return \Mockery\MockInterface|\Mockery\LegacyMockInterface - */ - public static function namedMock(...$args) - { - $name = array_shift($args); - - $builder = new MockConfigurationBuilder(); - $builder->setName($name); - - array_unshift($args, $builder); - - return call_user_func_array(array(self::getContainer(), 'mock'), $args); - } - - /** - * Static shortcut to \Mockery\Container::self(). - * - * @throws LogicException - * - * @return \Mockery\MockInterface|\Mockery\LegacyMockInterface - */ - public static function self() - { - if (is_null(self::$_container)) { - throw new \LogicException('You have not declared any mocks yet'); - } - - return self::$_container->self(); - } - - /** - * Static shortcut to closing up and verifying all mocks in the global - * container, and resetting the container static variable to null. - * - * @return void - */ - public static function close() - { - foreach (self::$_filesToCleanUp as $fileName) { - @unlink($fileName); - } - self::$_filesToCleanUp = []; - - if (is_null(self::$_container)) { - return; - } - - $container = self::$_container; - self::$_container = null; - - $container->mockery_teardown(); - $container->mockery_close(); - } - - /** - * Static fetching of a mock associated with a name or explicit class poser. - * - * @param string $name - * - * @return \Mockery\Mock - */ - public static function fetchMock($name) - { - return self::$_container->fetchMock($name); - } - - /** - * Lazy loader and getter for - * the container property. - * - * @return Mockery\Container - */ - public static function getContainer() - { - if (is_null(self::$_container)) { - self::$_container = new Mockery\Container(self::getGenerator(), self::getLoader()); - } - - return self::$_container; - } - - /** - * Setter for the $_generator static propery. - * - * @param \Mockery\Generator\Generator $generator - */ - public static function setGenerator(Generator $generator) - { - self::$_generator = $generator; - } - - /** - * Lazy loader method and getter for - * the generator property. - * - * @return Generator - */ - public static function getGenerator() - { - if (is_null(self::$_generator)) { - self::$_generator = self::getDefaultGenerator(); - } - - return self::$_generator; - } - - /** - * Creates and returns a default generator - * used inside this class. - * - * @return CachingGenerator - */ - public static function getDefaultGenerator() - { - return new CachingGenerator(StringManipulationGenerator::withDefaultPasses()); - } - - /** - * Setter for the $_loader static property. - * - * @param Loader $loader - */ - public static function setLoader(Loader $loader) - { - self::$_loader = $loader; - } - - /** - * Lazy loader method and getter for - * the $_loader property. - * - * @return Loader - */ - public static function getLoader() - { - if (is_null(self::$_loader)) { - self::$_loader = self::getDefaultLoader(); - } - - return self::$_loader; - } - - /** - * Gets an EvalLoader to be used as default. - * - * @return EvalLoader - */ - public static function getDefaultLoader() - { - return new EvalLoader(); - } - - /** - * Set the container. - * - * @param \Mockery\Container $container - * - * @return \Mockery\Container - */ - public static function setContainer(Mockery\Container $container) - { - return self::$_container = $container; - } - - /** - * Reset the container to null. - * - * @return void - */ - public static function resetContainer() - { - self::$_container = null; - } - - /** - * Return instance of ANY matcher. - * - * @return \Mockery\Matcher\Any - */ - public static function any() - { - return new \Mockery\Matcher\Any(); - } - - /** - * Return instance of AndAnyOtherArgs matcher. - * - * An alternative name to `andAnyOtherArgs` so - * the API stays closer to `any` as well. - * - * @return \Mockery\Matcher\AndAnyOtherArgs - */ - public static function andAnyOthers() - { - return new \Mockery\Matcher\AndAnyOtherArgs(); - } - - /** - * Return instance of AndAnyOtherArgs matcher. - * - * @return \Mockery\Matcher\AndAnyOtherArgs - */ - public static function andAnyOtherArgs() - { - return new \Mockery\Matcher\AndAnyOtherArgs(); - } - - /** - * Return instance of TYPE matcher. - * - * @param mixed $expected - * - * @return \Mockery\Matcher\Type - */ - public static function type($expected) - { - return new \Mockery\Matcher\Type($expected); - } - - /** - * Return instance of DUCKTYPE matcher. - * - * @param array ...$args - * - * @return \Mockery\Matcher\Ducktype - */ - public static function ducktype(...$args) - { - return new \Mockery\Matcher\Ducktype($args); - } - - /** - * Return instance of SUBSET matcher. - * - * @param array $part - * @param bool $strict - (Optional) True for strict comparison, false for loose - * - * @return \Mockery\Matcher\Subset - */ - public static function subset(array $part, $strict = true) - { - return new \Mockery\Matcher\Subset($part, $strict); - } - - /** - * Return instance of CONTAINS matcher. - * - * @param array ...$args - * - * @return \Mockery\Matcher\Contains - */ - public static function contains(...$args) - { - return new \Mockery\Matcher\Contains($args); - } - - /** - * Return instance of HASKEY matcher. - * - * @param mixed $key - * - * @return \Mockery\Matcher\HasKey - */ - public static function hasKey($key) - { - return new \Mockery\Matcher\HasKey($key); - } - - /** - * Return instance of HASVALUE matcher. - * - * @param mixed $val - * - * @return \Mockery\Matcher\HasValue - */ - public static function hasValue($val) - { - return new \Mockery\Matcher\HasValue($val); - } - - /** - * Return instance of CLOSURE matcher. - * - * @param $reference - * - * @return \Mockery\Matcher\Closure - */ - public static function capture(&$reference) - { - $closure = function ($argument) use (&$reference) { - $reference = $argument; - return true; - }; - - return new \Mockery\Matcher\Closure($closure); - } - - /** - * Return instance of CLOSURE matcher. - * - * @param mixed $closure - * - * @return \Mockery\Matcher\Closure - */ - public static function on($closure) - { - return new \Mockery\Matcher\Closure($closure); - } - - /** - * Return instance of MUSTBE matcher. - * - * @param mixed $expected - * - * @return \Mockery\Matcher\MustBe - */ - public static function mustBe($expected) - { - return new \Mockery\Matcher\MustBe($expected); - } - - /** - * Return instance of NOT matcher. - * - * @param mixed $expected - * - * @return \Mockery\Matcher\Not - */ - public static function not($expected) - { - return new \Mockery\Matcher\Not($expected); - } - - /** - * Return instance of ANYOF matcher. - * - * @param array ...$args - * - * @return \Mockery\Matcher\AnyOf - */ - public static function anyOf(...$args) - { - return new \Mockery\Matcher\AnyOf($args); - } - - /** - * Return instance of NOTANYOF matcher. - * - * @param array ...$args - * - * @return \Mockery\Matcher\NotAnyOf - */ - public static function notAnyOf(...$args) - { - return new \Mockery\Matcher\NotAnyOf($args); - } - - /** - * Return instance of PATTERN matcher. - * - * @param mixed $expected - * - * @return \Mockery\Matcher\Pattern - */ - public static function pattern($expected) - { - return new \Mockery\Matcher\Pattern($expected); - } - - /** - * Lazy loader and Getter for the global - * configuration container. - * - * @return \Mockery\Configuration - */ - public static function getConfiguration() - { - if (is_null(self::$_config)) { - self::$_config = new \Mockery\Configuration(); - } - - return self::$_config; - } - - /** - * Utility method to format method name and arguments into a string. - * - * @param string $method - * @param array $arguments - * - * @return string - */ - public static function formatArgs($method, array $arguments = null) - { - if (is_null($arguments)) { - return $method . '()'; - } - - $formattedArguments = array(); - foreach ($arguments as $argument) { - $formattedArguments[] = self::formatArgument($argument); - } - - return $method . '(' . implode(', ', $formattedArguments) . ')'; - } - - /** - * Gets the string representation - * of any passed argument. - * - * @param mixed $argument - * @param int $depth - * - * @return mixed - */ - private static function formatArgument($argument, $depth = 0) - { - if ($argument instanceof MatcherAbstract) { - return (string) $argument; - } - - if (is_object($argument)) { - return 'object(' . get_class($argument) . ')'; - } - - if (is_int($argument) || is_float($argument)) { - return $argument; - } - - if (is_array($argument)) { - if ($depth === 1) { - $argument = '[...]'; - } else { - $sample = array(); - foreach ($argument as $key => $value) { - $key = is_int($key) ? $key : "'$key'"; - $value = self::formatArgument($value, $depth + 1); - $sample[] = "$key => $value"; - } - - $argument = "[".implode(", ", $sample)."]"; - } - - return ((strlen($argument) > 1000) ? substr($argument, 0, 1000).'...]' : $argument); - } - - if (is_bool($argument)) { - return $argument ? 'true' : 'false'; - } - - if (is_resource($argument)) { - return 'resource(...)'; - } - - if (is_null($argument)) { - return 'NULL'; - } - - return "'".(string) $argument."'"; - } - - /** - * Utility function to format objects to printable arrays. - * - * @param array $objects - * - * @return string - */ - public static function formatObjects(array $objects = null) - { - static $formatting; - - if ($formatting) { - return '[Recursion]'; - } - - if (is_null($objects)) { - return ''; - } - - $objects = array_filter($objects, 'is_object'); - if (empty($objects)) { - return ''; - } - - $formatting = true; - $parts = array(); - - foreach ($objects as $object) { - $parts[get_class($object)] = self::objectToArray($object); - } - - $formatting = false; - - return 'Objects: ( ' . var_export($parts, true) . ')'; - } - - /** - * Utility function to turn public properties and public get* and is* method values into an array. - * - * @param object $object - * @param int $nesting - * - * @return array - */ - private static function objectToArray($object, $nesting = 3) - { - if ($nesting == 0) { - return array('...'); - } - - return array( - 'class' => get_class($object), - 'properties' => self::extractInstancePublicProperties($object, $nesting) - ); - } - - /** - * Returns all public instance properties. - * - * @param mixed $object - * @param int $nesting - * - * @return array - */ - private static function extractInstancePublicProperties($object, $nesting) - { - $reflection = new \ReflectionClass(get_class($object)); - $properties = $reflection->getProperties(\ReflectionProperty::IS_PUBLIC); - $cleanedProperties = array(); - - foreach ($properties as $publicProperty) { - if (!$publicProperty->isStatic()) { - $name = $publicProperty->getName(); - $cleanedProperties[$name] = self::cleanupNesting($object->$name, $nesting); - } - } - - return $cleanedProperties; - } - - /** - * Utility method used for recursively generating - * an object or array representation. - * - * @param mixed $argument - * @param int $nesting - * - * @return mixed - */ - private static function cleanupNesting($argument, $nesting) - { - if (is_object($argument)) { - $object = self::objectToArray($argument, $nesting - 1); - $object['class'] = get_class($argument); - - return $object; - } - - if (is_array($argument)) { - return self::cleanupArray($argument, $nesting - 1); - } - - return $argument; - } - - /** - * Utility method for recursively - * gerating a representation - * of the given array. - * - * @param array $argument - * @param int $nesting - * - * @return mixed - */ - private static function cleanupArray($argument, $nesting = 3) - { - if ($nesting == 0) { - return '...'; - } - - foreach ($argument as $key => $value) { - if (is_array($value)) { - $argument[$key] = self::cleanupArray($value, $nesting - 1); - } elseif (is_object($value)) { - $argument[$key] = self::objectToArray($value, $nesting - 1); - } - } - - return $argument; - } - - /** - * Utility function to parse shouldReceive() arguments and generate - * expectations from such as needed. - * - * @param Mockery\LegacyMockInterface $mock - * @param array ...$args - * @param callable $add - * @return \Mockery\CompositeExpectation - */ - public static function parseShouldReturnArgs(\Mockery\LegacyMockInterface $mock, $args, $add) - { - $composite = new \Mockery\CompositeExpectation(); - - foreach ($args as $arg) { - if (is_array($arg)) { - foreach ($arg as $k => $v) { - $expectation = self::buildDemeterChain($mock, $k, $add)->andReturn($v); - $composite->add($expectation); - } - } elseif (is_string($arg)) { - $expectation = self::buildDemeterChain($mock, $arg, $add); - $composite->add($expectation); - } - } - - return $composite; - } - - /** - * Sets up expectations on the members of the CompositeExpectation and - * builds up any demeter chain that was passed to shouldReceive. - * - * @param \Mockery\LegacyMockInterface $mock - * @param string $arg - * @param callable $add - * @throws Mockery\Exception - * @return \Mockery\ExpectationInterface - */ - protected static function buildDemeterChain(\Mockery\LegacyMockInterface $mock, $arg, $add) - { - /** @var Mockery\Container $container */ - $container = $mock->mockery_getContainer(); - $methodNames = explode('->', $arg); - reset($methodNames); - - if (!\Mockery::getConfiguration()->mockingNonExistentMethodsAllowed() - && !$mock->mockery_isAnonymous() - && !in_array(current($methodNames), $mock->mockery_getMockableMethods()) - ) { - throw new \Mockery\Exception( - 'Mockery\'s configuration currently forbids mocking the method ' - . current($methodNames) . ' as it does not exist on the class or object ' - . 'being mocked' - ); - } - - /** @var ExpectationInterface|null $expectations */ - $expectations = null; - - /** @var Callable $nextExp */ - $nextExp = function ($method) use ($add) { - return $add($method); - }; - - $parent = get_class($mock); - - while (true) { - $method = array_shift($methodNames); - $expectations = $mock->mockery_getExpectationsFor($method); - - if (is_null($expectations) || self::noMoreElementsInChain($methodNames)) { - $expectations = $nextExp($method); - if (self::noMoreElementsInChain($methodNames)) { - break; - } - - $mock = self::getNewDemeterMock($container, $parent, $method, $expectations); - } else { - $demeterMockKey = $container->getKeyOfDemeterMockFor($method, $parent); - if ($demeterMockKey) { - $mock = self::getExistingDemeterMock($container, $demeterMockKey); - } - } - - $parent .= '->' . $method; - - $nextExp = function ($n) use ($mock) { - return $mock->shouldReceive($n); - }; - } - - return $expectations; - } - - /** - * Gets a new demeter configured - * mock from the container. - * - * @param \Mockery\Container $container - * @param string $parent - * @param string $method - * @param Mockery\ExpectationInterface $exp - * - * @return \Mockery\Mock - */ - private static function getNewDemeterMock( - Mockery\Container $container, - $parent, - $method, - Mockery\ExpectationInterface $exp - ) { - $newMockName = 'demeter_' . md5($parent) . '_' . $method; - - if (version_compare(PHP_VERSION, '7.0.0') >= 0) { - $parRef = null; - $parRefMethod = null; - $parRefMethodRetType = null; - - $parentMock = $exp->getMock(); - if ($parentMock !== null) { - $parRef = new ReflectionObject($parentMock); - } - - if ($parRef !== null && $parRef->hasMethod($method)) { - $parRefMethod = $parRef->getMethod($method); - $parRefMethodRetType = $parRefMethod->getReturnType(); - - if ($parRefMethodRetType !== null) { - $nameBuilder = new MockNameBuilder(); - $nameBuilder->addPart('\\' . $newMockName); - $type = PHP_VERSION_ID >= 70100 ? $parRefMethodRetType->getName() : (string)$parRefMethodRetType; - $mock = self::namedMock($nameBuilder->build(), $type); - $exp->andReturn($mock); - - return $mock; - } - } - } - - $mock = $container->mock($newMockName); - $exp->andReturn($mock); - - return $mock; - } - - /** - * Gets an specific demeter mock from - * the ones kept by the container. - * - * @param \Mockery\Container $container - * @param string $demeterMockKey - * - * @return mixed - */ - private static function getExistingDemeterMock( - Mockery\Container $container, - $demeterMockKey - ) { - $mocks = $container->getMocks(); - $mock = $mocks[$demeterMockKey]; - - return $mock; - } - - /** - * Checks if the passed array representing a demeter - * chain with the method names is empty. - * - * @param array $methodNames - * - * @return bool - */ - private static function noMoreElementsInChain(array $methodNames) - { - return empty($methodNames); - } - - public static function declareClass($fqn) - { - return static::declareType($fqn, "class"); - } - - public static function declareInterface($fqn) - { - return static::declareType($fqn, "interface"); - } - - private static function declareType($fqn, $type) - { - $targetCode = "trait = new TestListenerTrait(); - } - - /** - * {@inheritdoc} - */ - public function endTest(\PHPUnit_Framework_Test $test, $time) - { - $this->trait->endTest($test, $time); - } - - /** - * {@inheritdoc} - */ - public function startTestSuite(\PHPUnit_Framework_TestSuite $suite) - { - $this->trait->startTestSuite(); - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Adapter/Phpunit/Legacy/TestListenerForV6.php b/paragonik-backend/vendor/mockery/mockery/library/Mockery/Adapter/Phpunit/Legacy/TestListenerForV6.php deleted file mode 100644 index 815b13c..0000000 --- a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Adapter/Phpunit/Legacy/TestListenerForV6.php +++ /dev/null @@ -1,51 +0,0 @@ -trait = new TestListenerTrait(); - } - - /** - * {@inheritdoc} - */ - public function endTest(Test $test, $time) - { - $this->trait->endTest($test, $time); - } - - /** - * {@inheritdoc} - */ - public function startTestSuite(TestSuite $suite) - { - $this->trait->startTestSuite(); - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Adapter/Phpunit/Legacy/TestListenerForV7.php b/paragonik-backend/vendor/mockery/mockery/library/Mockery/Adapter/Phpunit/Legacy/TestListenerForV7.php deleted file mode 100644 index d590825..0000000 --- a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Adapter/Phpunit/Legacy/TestListenerForV7.php +++ /dev/null @@ -1,55 +0,0 @@ -trait = new TestListenerTrait(); - } - - - /** - * {@inheritdoc} - */ - public function endTest(Test $test, float $time): void - { - $this->trait->endTest($test, $time); - } - - /** - * {@inheritdoc} - */ - public function startTestSuite(TestSuite $suite): void - { - $this->trait->startTestSuite(); - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Adapter/Phpunit/Legacy/TestListenerTrait.php b/paragonik-backend/vendor/mockery/mockery/library/Mockery/Adapter/Phpunit/Legacy/TestListenerTrait.php deleted file mode 100644 index 02b5d04..0000000 --- a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Adapter/Phpunit/Legacy/TestListenerTrait.php +++ /dev/null @@ -1,90 +0,0 @@ -getStatus() !== BaseTestRunner::STATUS_PASSED) { - // If the test didn't pass there is no guarantee that - // verifyMockObjects and assertPostConditions have been called. - // And even if it did, the point here is to prevent false - // negatives, not to make failing tests fail for more reasons. - return; - } - - try { - // The self() call is used as a sentinel. Anything that throws if - // the container is closed already will do. - \Mockery::self(); - } catch (\LogicException $_) { - return; - } - - $e = new ExpectationFailedException( - \sprintf( - "Mockery's expectations have not been verified. Make sure that \Mockery::close() is called at the end of the test. Consider using %s\MockeryPHPUnitIntegration or extending %s\MockeryTestCase.", - __NAMESPACE__, - __NAMESPACE__ - ) - ); - - /** @var \PHPUnit\Framework\TestResult $result */ - $result = $test->getTestResultObject(); - - if ($result !== null) { - $result->addFailure($test, $e, $time); - } - } - - public function startTestSuite() - { - Blacklist::$blacklistedClassNames[\Mockery::class] = 1; - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Adapter/Phpunit/MockeryPHPUnitIntegration.php b/paragonik-backend/vendor/mockery/mockery/library/Mockery/Adapter/Phpunit/MockeryPHPUnitIntegration.php deleted file mode 100644 index ec3955f..0000000 --- a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Adapter/Phpunit/MockeryPHPUnitIntegration.php +++ /dev/null @@ -1,96 +0,0 @@ -addMockeryExpectationsToAssertionCount(); - $this->checkMockeryExceptions(); - $this->closeMockery(); - - parent::assertPostConditions(); - } - - protected function addMockeryExpectationsToAssertionCount() - { - $this->addToAssertionCount(Mockery::getContainer()->mockery_getExpectationCount()); - } - - protected function checkMockeryExceptions() - { - if (!method_exists($this, "markAsRisky")) { - return; - } - - foreach (Mockery::getContainer()->mockery_thrownExceptions() as $e) { - if (!$e->dismissed()) { - $this->markAsRisky(); - } - } - } - - protected function closeMockery() - { - Mockery::close(); - $this->mockeryOpen = false; - } - - /** - * @before - */ - protected function startMockery() - { - $this->mockeryOpen = true; - } - - /** - * @after - */ - protected function purgeMockeryContainer() - { - if ($this->mockeryOpen) { - // post conditions wasn't called, so test probably failed - Mockery::close(); - } - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Adapter/Phpunit/MockeryPHPUnitIntegrationAssertPostConditionsForV7AndPrevious.php b/paragonik-backend/vendor/mockery/mockery/library/Mockery/Adapter/Phpunit/MockeryPHPUnitIntegrationAssertPostConditionsForV7AndPrevious.php deleted file mode 100644 index 52b7165..0000000 --- a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Adapter/Phpunit/MockeryPHPUnitIntegrationAssertPostConditionsForV7AndPrevious.php +++ /dev/null @@ -1,29 +0,0 @@ -mockeryAssertPostConditions(); - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Adapter/Phpunit/MockeryPHPUnitIntegrationAssertPostConditionsForV8.php b/paragonik-backend/vendor/mockery/mockery/library/Mockery/Adapter/Phpunit/MockeryPHPUnitIntegrationAssertPostConditionsForV8.php deleted file mode 100644 index 68d5551..0000000 --- a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Adapter/Phpunit/MockeryPHPUnitIntegrationAssertPostConditionsForV8.php +++ /dev/null @@ -1,31 +0,0 @@ -mockeryAssertPostConditions(); - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Adapter/Phpunit/MockeryTestCase.php b/paragonik-backend/vendor/mockery/mockery/library/Mockery/Adapter/Phpunit/MockeryTestCase.php deleted file mode 100644 index e79753b..0000000 --- a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Adapter/Phpunit/MockeryTestCase.php +++ /dev/null @@ -1,39 +0,0 @@ -mockeryTestSetUp(); - } - - protected function tearDown() - { - $this->mockeryTestTearDown(); - parent::tearDown(); - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Adapter/Phpunit/MockeryTestCaseSetUpForV8.php b/paragonik-backend/vendor/mockery/mockery/library/Mockery/Adapter/Phpunit/MockeryTestCaseSetUpForV8.php deleted file mode 100644 index f531e02..0000000 --- a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Adapter/Phpunit/MockeryTestCaseSetUpForV8.php +++ /dev/null @@ -1,38 +0,0 @@ -mockeryTestSetUp(); - } - - protected function tearDown() : void - { - $this->mockeryTestTearDown(); - parent::tearDown(); - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Adapter/Phpunit/TestListener.php b/paragonik-backend/vendor/mockery/mockery/library/Mockery/Adapter/Phpunit/TestListener.php deleted file mode 100644 index 180761a..0000000 --- a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Adapter/Phpunit/TestListener.php +++ /dev/null @@ -1,35 +0,0 @@ -closure = $closure; - } - - public function __invoke() - { - return call_user_func_array($this->closure, func_get_args()); - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/library/Mockery/CompositeExpectation.php b/paragonik-backend/vendor/mockery/mockery/library/Mockery/CompositeExpectation.php deleted file mode 100644 index 5231432..0000000 --- a/paragonik-backend/vendor/mockery/mockery/library/Mockery/CompositeExpectation.php +++ /dev/null @@ -1,154 +0,0 @@ -_expectations[] = $expectation; - } - - /** - * @param mixed ...$args - */ - public function andReturn(...$args) - { - return $this->__call(__FUNCTION__, $args); - } - - /** - * Set a return value, or sequential queue of return values - * - * @param mixed ...$args - * @return self - */ - public function andReturns(...$args) - { - return call_user_func_array([$this, 'andReturn'], $args); - } - - /** - * Intercept any expectation calls and direct against all expectations - * - * @param string $method - * @param array $args - * @return self - */ - public function __call($method, array $args) - { - foreach ($this->_expectations as $expectation) { - call_user_func_array(array($expectation, $method), $args); - } - return $this; - } - - /** - * Return order number of the first expectation - * - * @return int - */ - public function getOrderNumber() - { - reset($this->_expectations); - $first = current($this->_expectations); - return $first->getOrderNumber(); - } - - /** - * Return the parent mock of the first expectation - * - * @return \Mockery\MockInterface|\Mockery\LegacyMockInterface - */ - public function getMock() - { - reset($this->_expectations); - $first = current($this->_expectations); - return $first->getMock(); - } - - /** - * Mockery API alias to getMock - * - * @return \Mockery\LegacyMockInterface|\Mockery\MockInterface - */ - public function mock() - { - return $this->getMock(); - } - - /** - * Starts a new expectation addition on the first mock which is the primary - * target outside of a demeter chain - * - * @param mixed ...$args - * @return \Mockery\Expectation - */ - public function shouldReceive(...$args) - { - reset($this->_expectations); - $first = current($this->_expectations); - return call_user_func_array(array($first->getMock(), 'shouldReceive'), $args); - } - - /** - * Starts a new expectation addition on the first mock which is the primary - * target outside of a demeter chain - * - * @param mixed ...$args - * @return \Mockery\Expectation - */ - public function shouldNotReceive(...$args) - { - reset($this->_expectations); - $first = current($this->_expectations); - return call_user_func_array(array($first->getMock(), 'shouldNotReceive'), $args); - } - - /** - * Return the string summary of this composite expectation - * - * @return string - */ - public function __toString() - { - $return = '['; - $parts = array(); - foreach ($this->_expectations as $exp) { - $parts[] = (string) $exp; - } - $return .= implode(', ', $parts) . ']'; - return $return; - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Configuration.php b/paragonik-backend/vendor/mockery/mockery/library/Mockery/Configuration.php deleted file mode 100644 index eaf7ffe..0000000 --- a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Configuration.php +++ /dev/null @@ -1,190 +0,0 @@ -_allowMockingNonExistentMethod = (bool) $flag; - } - - /** - * Return flag indicating whether mocking non-existent methods allowed - * - * @return bool - */ - public function mockingNonExistentMethodsAllowed() - { - return $this->_allowMockingNonExistentMethod; - } - - /** - * @deprecated - * - * Set boolean to allow/prevent unnecessary mocking of methods - * - * @param bool $flag - */ - public function allowMockingMethodsUnnecessarily($flag = true) - { - trigger_error(sprintf("The %s method is deprecated and will be removed in a future version of Mockery", __METHOD__), E_USER_DEPRECATED); - - $this->_allowMockingMethodsUnnecessarily = (bool) $flag; - } - - /** - * Return flag indicating whether mocking non-existent methods allowed - * - * @return bool - */ - public function mockingMethodsUnnecessarilyAllowed() - { - trigger_error(sprintf("The %s method is deprecated and will be removed in a future version of Mockery", __METHOD__), E_USER_DEPRECATED); - - return $this->_allowMockingMethodsUnnecessarily; - } - - /** - * Set a parameter map (array of param signature strings) for the method - * of an internal PHP class. - * - * @param string $class - * @param string $method - * @param array $map - */ - public function setInternalClassMethodParamMap($class, $method, array $map) - { - if (!isset($this->_internalClassParamMap[strtolower($class)])) { - $this->_internalClassParamMap[strtolower($class)] = array(); - } - $this->_internalClassParamMap[strtolower($class)][strtolower($method)] = $map; - } - - /** - * Remove all overriden parameter maps from internal PHP classes. - */ - public function resetInternalClassMethodParamMaps() - { - $this->_internalClassParamMap = array(); - } - - /** - * Get the parameter map of an internal PHP class method - * - * @return array - */ - public function getInternalClassMethodParamMap($class, $method) - { - if (isset($this->_internalClassParamMap[strtolower($class)][strtolower($method)])) { - return $this->_internalClassParamMap[strtolower($class)][strtolower($method)]; - } - } - - public function getInternalClassMethodParamMaps() - { - return $this->_internalClassParamMap; - } - - public function setConstantsMap(array $map) - { - $this->_constantsMap = $map; - } - - public function getConstantsMap() - { - return $this->_constantsMap; - } - - /** - * Disable reflection caching - * - * It should be always enabled, except when using - * PHPUnit's --static-backup option. - * - * @see https://github.com/mockery/mockery/issues/268 - */ - public function disableReflectionCache() - { - $this->_reflectionCacheEnabled = false; - } - - /** - * Enable reflection caching - * - * It should be always enabled, except when using - * PHPUnit's --static-backup option. - * - * @see https://github.com/mockery/mockery/issues/268 - */ - public function enableReflectionCache() - { - $this->_reflectionCacheEnabled = true; - } - - /** - * Is reflection cache enabled? - */ - public function reflectionCacheEnabled() - { - return $this->_reflectionCacheEnabled; - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Container.php b/paragonik-backend/vendor/mockery/mockery/library/Mockery/Container.php deleted file mode 100644 index ae9c7d6..0000000 --- a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Container.php +++ /dev/null @@ -1,545 +0,0 @@ -_generator = $generator ?: \Mockery::getDefaultGenerator(); - $this->_loader = $loader ?: \Mockery::getDefaultLoader(); - } - - /** - * Generates a new mock object for this container - * - * I apologies in advance for this. A God Method just fits the API which - * doesn't require differentiating between classes, interfaces, abstracts, - * names or partials - just so long as it's something that can be mocked. - * I'll refactor it one day so it's easier to follow. - * - * @param array ...$args - * - * @return Mock - * @throws Exception\RuntimeException - */ - public function mock(...$args) - { - $expectationClosure = null; - $quickdefs = array(); - $constructorArgs = null; - $blocks = array(); - $class = null; - - if (count($args) > 1) { - $finalArg = end($args); - reset($args); - if (is_callable($finalArg) && is_object($finalArg)) { - $expectationClosure = array_pop($args); - } - } - - $builder = new MockConfigurationBuilder(); - - foreach ($args as $k => $arg) { - if ($arg instanceof MockConfigurationBuilder) { - $builder = $arg; - unset($args[$k]); - } - } - reset($args); - - $builder->setParameterOverrides(\Mockery::getConfiguration()->getInternalClassMethodParamMaps()); - $builder->setConstantsMap(\Mockery::getConfiguration()->getConstantsMap()); - - while (count($args) > 0) { - $arg = current($args); - // check for multiple interfaces - if (is_string($arg) && strpos($arg, ',') && !strpos($arg, ']')) { - $interfaces = explode(',', str_replace(' ', '', $arg)); - $builder->addTargets($interfaces); - array_shift($args); - - continue; - } elseif (is_string($arg) && substr($arg, 0, 6) == 'alias:') { - $name = array_shift($args); - $name = str_replace('alias:', '', $name); - $builder->addTarget('stdClass'); - $builder->setName($name); - continue; - } elseif (is_string($arg) && substr($arg, 0, 9) == 'overload:') { - $name = array_shift($args); - $name = str_replace('overload:', '', $name); - $builder->setInstanceMock(true); - $builder->addTarget('stdClass'); - $builder->setName($name); - continue; - } elseif (is_string($arg) && substr($arg, strlen($arg)-1, 1) == ']') { - $parts = explode('[', $arg); - if (!class_exists($parts[0], true) && !interface_exists($parts[0], true)) { - throw new \Mockery\Exception('Can only create a partial mock from' - . ' an existing class or interface'); - } - $class = $parts[0]; - $parts[1] = str_replace(' ', '', $parts[1]); - $partialMethods = array_filter(explode(',', strtolower(rtrim($parts[1], ']')))); - $builder->addTarget($class); - foreach ($partialMethods as $partialMethod) { - if ($partialMethod[0] === '!') { - $builder->addBlackListedMethod(substr($partialMethod, 1)); - continue; - } - $builder->addWhiteListedMethod($partialMethod); - } - array_shift($args); - continue; - } elseif (is_string($arg) && (class_exists($arg, true) || interface_exists($arg, true) || trait_exists($arg, true))) { - $class = array_shift($args); - $builder->addTarget($class); - continue; - } elseif (is_string($arg) && !\Mockery::getConfiguration()->mockingNonExistentMethodsAllowed() && (!class_exists($arg, true) && !interface_exists($arg, true))) { - throw new \Mockery\Exception("Mockery can't find '$arg' so can't mock it"); - } elseif (is_string($arg)) { - if (!$this->isValidClassName($arg)) { - throw new \Mockery\Exception('Class name contains invalid characters'); - } - $class = array_shift($args); - $builder->addTarget($class); - continue; - } elseif (is_object($arg)) { - $partial = array_shift($args); - $builder->addTarget($partial); - continue; - } elseif (is_array($arg) && !empty($arg) && array_keys($arg) !== range(0, count($arg) - 1)) { - // if associative array - if (array_key_exists(self::BLOCKS, $arg)) { - $blocks = $arg[self::BLOCKS]; - } - unset($arg[self::BLOCKS]); - $quickdefs = array_shift($args); - continue; - } elseif (is_array($arg)) { - $constructorArgs = array_shift($args); - continue; - } - - throw new \Mockery\Exception( - 'Unable to parse arguments sent to ' - . get_class($this) . '::mock()' - ); - } - - $builder->addBlackListedMethods($blocks); - - if (defined('HHVM_VERSION') - && ($class === 'Exception' || is_subclass_of($class, 'Exception'))) { - $builder->addBlackListedMethod("setTraceOptions"); - $builder->addBlackListedMethod("getTraceOptions"); - } - - if (!is_null($constructorArgs)) { - $builder->addBlackListedMethod("__construct"); // we need to pass through - } else { - $builder->setMockOriginalDestructor(true); - } - - if (!empty($partialMethods) && $constructorArgs === null) { - $constructorArgs = array(); - } - - $config = $builder->getMockConfiguration(); - - $this->checkForNamedMockClashes($config); - - $def = $this->getGenerator()->generate($config); - - if (class_exists($def->getClassName(), $attemptAutoload = false)) { - $rfc = new \ReflectionClass($def->getClassName()); - if (!$rfc->implementsInterface("Mockery\LegacyMockInterface")) { - throw new \Mockery\Exception\RuntimeException("Could not load mock {$def->getClassName()}, class already exists"); - } - } - - $this->getLoader()->load($def); - - $mock = $this->_getInstance($def->getClassName(), $constructorArgs); - $mock->mockery_init($this, $config->getTargetObject(), $config->isInstanceMock()); - - if (!empty($quickdefs)) { - $mock->shouldReceive($quickdefs)->byDefault(); - } - if (!empty($expectationClosure)) { - $expectationClosure($mock); - } - $this->rememberMock($mock); - return $mock; - } - - public function instanceMock() - { - } - - public function getLoader() - { - return $this->_loader; - } - - public function getGenerator() - { - return $this->_generator; - } - - /** - * @param string $method - * @param string $parent - * @return string|null - */ - public function getKeyOfDemeterMockFor($method, $parent) - { - $keys = array_keys($this->_mocks); - $match = preg_grep("/__demeter_" . md5($parent) . "_{$method}$/", $keys); - if (count($match) == 1) { - $res = array_values($match); - if (count($res) > 0) { - return $res[0]; - } - } - return null; - } - - /** - * @return array - */ - public function getMocks() - { - return $this->_mocks; - } - - /** - * Tear down tasks for this container - * - * @throws \Exception - * @return void - */ - public function mockery_teardown() - { - try { - $this->mockery_verify(); - } catch (\Exception $e) { - $this->mockery_close(); - throw $e; - } - } - - /** - * Verify the container mocks - * - * @return void - */ - public function mockery_verify() - { - foreach ($this->_mocks as $mock) { - $mock->mockery_verify(); - } - } - - /** - * Retrieves all exceptions thrown by mocks - * - * @return array - */ - public function mockery_thrownExceptions() - { - $e = []; - - foreach ($this->_mocks as $mock) { - $e = array_merge($e, $mock->mockery_thrownExceptions()); - } - - return $e; - } - - /** - * Reset the container to its original state - * - * @return void - */ - public function mockery_close() - { - foreach ($this->_mocks as $mock) { - $mock->mockery_teardown(); - } - $this->_mocks = array(); - } - - /** - * Fetch the next available allocation order number - * - * @return int - */ - public function mockery_allocateOrder() - { - $this->_allocatedOrder += 1; - return $this->_allocatedOrder; - } - - /** - * Set ordering for a group - * - * @param mixed $group - * @param int $order - */ - public function mockery_setGroup($group, $order) - { - $this->_groups[$group] = $order; - } - - /** - * Fetch array of ordered groups - * - * @return array - */ - public function mockery_getGroups() - { - return $this->_groups; - } - - /** - * Set current ordered number - * - * @param int $order - * @return int The current order number that was set - */ - public function mockery_setCurrentOrder($order) - { - $this->_currentOrder = $order; - return $this->_currentOrder; - } - - /** - * Get current ordered number - * - * @return int - */ - public function mockery_getCurrentOrder() - { - return $this->_currentOrder; - } - - /** - * Validate the current mock's ordering - * - * @param string $method - * @param int $order - * @throws \Mockery\Exception - * @return void - */ - public function mockery_validateOrder($method, $order, \Mockery\LegacyMockInterface $mock) - { - if ($order < $this->_currentOrder) { - $exception = new \Mockery\Exception\InvalidOrderException( - 'Method ' . $method . ' called out of order: expected order ' - . $order . ', was ' . $this->_currentOrder - ); - $exception->setMock($mock) - ->setMethodName($method) - ->setExpectedOrder($order) - ->setActualOrder($this->_currentOrder); - throw $exception; - } - $this->mockery_setCurrentOrder($order); - } - - /** - * Gets the count of expectations on the mocks - * - * @return int - */ - public function mockery_getExpectationCount() - { - $count = 0; - foreach ($this->_mocks as $mock) { - $count += $mock->mockery_getExpectationCount(); - } - return $count; - } - - /** - * Store a mock and set its container reference - * - * @param \Mockery\Mock $mock - * @return \Mockery\LegacyMockInterface|\Mockery\MockInterface - */ - public function rememberMock(\Mockery\LegacyMockInterface $mock) - { - if (!isset($this->_mocks[get_class($mock)])) { - $this->_mocks[get_class($mock)] = $mock; - } else { - /** - * This condition triggers for an instance mock where origin mock - * is already remembered - */ - $this->_mocks[] = $mock; - } - return $mock; - } - - /** - * Retrieve the last remembered mock object, which is the same as saying - * retrieve the current mock being programmed where you have yet to call - * mock() to change it - thus why the method name is "self" since it will be - * be used during the programming of the same mock. - * - * @return \Mockery\Mock - */ - public function self() - { - $mocks = array_values($this->_mocks); - $index = count($mocks) - 1; - return $mocks[$index]; - } - - /** - * Return a specific remembered mock according to the array index it - * was stored to in this container instance - * - * @return \Mockery\Mock - */ - public function fetchMock($reference) - { - if (isset($this->_mocks[$reference])) { - return $this->_mocks[$reference]; - } - } - - protected function _getInstance($mockName, $constructorArgs = null) - { - if ($constructorArgs !== null) { - $r = new \ReflectionClass($mockName); - return $r->newInstanceArgs($constructorArgs); - } - - try { - $instantiator = new Instantiator; - $instance = $instantiator->instantiate($mockName); - } catch (\Exception $ex) { - $internalMockName = $mockName . '_Internal'; - - if (!class_exists($internalMockName)) { - eval("class $internalMockName extends $mockName {" . - 'public function __construct() {}' . - '}'); - } - - $instance = new $internalMockName(); - } - - return $instance; - } - - protected function checkForNamedMockClashes($config) - { - $name = $config->getName(); - - if (!$name) { - return; - } - - $hash = $config->getHash(); - - if (isset($this->_namedMocks[$name])) { - if ($hash !== $this->_namedMocks[$name]) { - throw new \Mockery\Exception( - "The mock named '$name' has been already defined with a different mock configuration" - ); - } - } - - $this->_namedMocks[$name] = $hash; - } - - /** - * see http://php.net/manual/en/language.oop5.basic.php - * @param string $className - * @return bool - */ - public function isValidClassName($className) - { - $pos = strpos($className, '\\'); - if ($pos === 0) { - $className = substr($className, 1); // remove the first backslash - } - // all the namespaces and class name should match the regex - $invalidNames = array_filter(explode('\\', $className), function ($name) { - return !preg_match('/^[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*$/', $name); - }); - return empty($invalidNames); - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/library/Mockery/CountValidator/AtLeast.php b/paragonik-backend/vendor/mockery/mockery/library/Mockery/CountValidator/AtLeast.php deleted file mode 100644 index f6ac130..0000000 --- a/paragonik-backend/vendor/mockery/mockery/library/Mockery/CountValidator/AtLeast.php +++ /dev/null @@ -1,62 +0,0 @@ -_limit > $n) { - $exception = new Mockery\Exception\InvalidCountException( - 'Method ' . (string) $this->_expectation - . ' from ' . $this->_expectation->getMock()->mockery_getName() - . ' should be called' . PHP_EOL - . ' at least ' . $this->_limit . ' times but called ' . $n - . ' times.' - ); - $exception->setMock($this->_expectation->getMock()) - ->setMethodName((string) $this->_expectation) - ->setExpectedCountComparative('>=') - ->setExpectedCount($this->_limit) - ->setActualCount($n); - throw $exception; - } - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/library/Mockery/CountValidator/AtMost.php b/paragonik-backend/vendor/mockery/mockery/library/Mockery/CountValidator/AtMost.php deleted file mode 100644 index 4d23e28..0000000 --- a/paragonik-backend/vendor/mockery/mockery/library/Mockery/CountValidator/AtMost.php +++ /dev/null @@ -1,51 +0,0 @@ -_limit < $n) { - $exception = new Mockery\Exception\InvalidCountException( - 'Method ' . (string) $this->_expectation - . ' from ' . $this->_expectation->getMock()->mockery_getName() - . ' should be called' . PHP_EOL - . ' at most ' . $this->_limit . ' times but called ' . $n - . ' times.' - ); - $exception->setMock($this->_expectation->getMock()) - ->setMethodName((string) $this->_expectation) - ->setExpectedCountComparative('<=') - ->setExpectedCount($this->_limit) - ->setActualCount($n); - throw $exception; - } - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/library/Mockery/CountValidator/CountValidatorAbstract.php b/paragonik-backend/vendor/mockery/mockery/library/Mockery/CountValidator/CountValidatorAbstract.php deleted file mode 100644 index ae3b0bf..0000000 --- a/paragonik-backend/vendor/mockery/mockery/library/Mockery/CountValidator/CountValidatorAbstract.php +++ /dev/null @@ -1,69 +0,0 @@ -_expectation = $expectation; - $this->_limit = $limit; - } - - /** - * Checks if the validator can accept an additional nth call - * - * @param int $n - * @return bool - */ - public function isEligible($n) - { - return ($n < $this->_limit); - } - - /** - * Validate the call count against this validator - * - * @param int $n - * @return bool - */ - abstract public function validate($n); -} diff --git a/paragonik-backend/vendor/mockery/mockery/library/Mockery/CountValidator/Exact.php b/paragonik-backend/vendor/mockery/mockery/library/Mockery/CountValidator/Exact.php deleted file mode 100644 index 504f080..0000000 --- a/paragonik-backend/vendor/mockery/mockery/library/Mockery/CountValidator/Exact.php +++ /dev/null @@ -1,54 +0,0 @@ -_limit !== $n) { - $because = $this->_expectation->getExceptionMessage(); - - $exception = new Mockery\Exception\InvalidCountException( - 'Method ' . (string) $this->_expectation - . ' from ' . $this->_expectation->getMock()->mockery_getName() - . ' should be called' . PHP_EOL - . ' exactly ' . $this->_limit . ' times but called ' . $n - . ' times.' - . ($because ? ' Because ' . $this->_expectation->getExceptionMessage() : '') - ); - $exception->setMock($this->_expectation->getMock()) - ->setMethodName((string) $this->_expectation) - ->setExpectedCountComparative('=') - ->setExpectedCount($this->_limit) - ->setActualCount($n); - throw $exception; - } - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/library/Mockery/CountValidator/Exception.php b/paragonik-backend/vendor/mockery/mockery/library/Mockery/CountValidator/Exception.php deleted file mode 100644 index b43aad3..0000000 --- a/paragonik-backend/vendor/mockery/mockery/library/Mockery/CountValidator/Exception.php +++ /dev/null @@ -1,25 +0,0 @@ -dismissed = true; - - // we sometimes stack them - if ($this->getPrevious() && $this->getPrevious() instanceof BadMethodCallException) { - $this->getPrevious()->dismiss(); - } - } - - public function dismissed() - { - return $this->dismissed; - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Exception/InvalidArgumentException.php b/paragonik-backend/vendor/mockery/mockery/library/Mockery/Exception/InvalidArgumentException.php deleted file mode 100644 index ccf5c76..0000000 --- a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Exception/InvalidArgumentException.php +++ /dev/null @@ -1,25 +0,0 @@ -mockObject = $mock; - return $this; - } - - public function setMethodName($name) - { - $this->method = $name; - return $this; - } - - public function setActualCount($count) - { - $this->actual = $count; - return $this; - } - - public function setExpectedCount($count) - { - $this->expected = $count; - return $this; - } - - public function setExpectedCountComparative($comp) - { - if (!in_array($comp, array('=', '>', '<', '>=', '<='))) { - throw new RuntimeException( - 'Illegal comparative for expected call counts set: ' . $comp - ); - } - $this->expectedComparative = $comp; - return $this; - } - - public function getMock() - { - return $this->mockObject; - } - - public function getMethodName() - { - return $this->method; - } - - public function getActualCount() - { - return $this->actual; - } - - public function getExpectedCount() - { - return $this->expected; - } - - public function getMockName() - { - return $this->getMock()->mockery_getName(); - } - - public function getExpectedCountComparative() - { - return $this->expectedComparative; - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Exception/InvalidOrderException.php b/paragonik-backend/vendor/mockery/mockery/library/Mockery/Exception/InvalidOrderException.php deleted file mode 100644 index 50b8049..0000000 --- a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Exception/InvalidOrderException.php +++ /dev/null @@ -1,83 +0,0 @@ -mockObject = $mock; - return $this; - } - - public function setMethodName($name) - { - $this->method = $name; - return $this; - } - - public function setActualOrder($count) - { - $this->actual = $count; - return $this; - } - - public function setExpectedOrder($count) - { - $this->expected = $count; - return $this; - } - - public function getMock() - { - return $this->mockObject; - } - - public function getMethodName() - { - return $this->method; - } - - public function getActualOrder() - { - return $this->actual; - } - - public function getExpectedOrder() - { - return $this->expected; - } - - public function getMockName() - { - return $this->getMock()->mockery_getName(); - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Exception/NoMatchingExpectationException.php b/paragonik-backend/vendor/mockery/mockery/library/Mockery/Exception/NoMatchingExpectationException.php deleted file mode 100644 index 1cb6fca..0000000 --- a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Exception/NoMatchingExpectationException.php +++ /dev/null @@ -1,205 +0,0 @@ -setMock($mock); - $this->setMethodName($methodName); - $this->setActualArguments($actualArguments); - - $diffs = []; - foreach ($expectations as $expectation) { - $expectedArguments = $expectation->getExpectedArgs(); - - $diff = $this->diff( - $this->normalizeForDiff($expectedArguments), - $this->normalizeForDiff($actualArguments) - ); - if (null === $diff) { - // If we reach this, it means that the exception has not been - // raised by a non-strict equality. So the diff is null. - // We do the comparison again but this time comparing references - // of objects. - $diff = $this->diff( - $this->normalizeForStrictDiff($expectedArguments), - $this->normalizeForStrictDiff($actualArguments) - ); - } - - $diffs[] = sprintf( - "\n%s::%s with arguments%s", - $expectation->getMock()->mockery_getName(), - $expectation->getName(), - null !== $diff ? $diff : "\n### No diff ###" - ); - } - - $message = 'No matching expectation found for ' - . $this->getMockName() . '::' - . \Mockery::formatArgs($methodName, $actualArguments) - . '. Either the method was unexpected or its arguments matched' - . ' no expected argument list for this method.' - . PHP_EOL . PHP_EOL - . 'Here is the list of available expectations and their diff with actual input:' - . PHP_EOL - . implode('', $diffs); - - parent::__construct($message, 0, null); - } - - /** - * @return $this - */ - private function setMock(Mockery\MockInterface $mock) - { - $this->mockObject = $mock; - return $this; - } - - /** - * @param string $name - * - * @return $this - */ - private function setMethodName($name) - { - $this->method = $name; - return $this; - } - - /** - * @param array $count - * - * @return $this - */ - private function setActualArguments($count) - { - $this->actual = $count; - return $this; - } - - /** - * @return Mockery\MockInterface - */ - private function getMock() - { - return $this->mockObject; - } - - /** - * @return string - */ - private function getMockName() - { - return $this->getMock()->mockery_getName(); - } - - /** - * @param array $expectedArguments - * @param array $actualArguments - * - * @return string|null - */ - private function diff($expectedArguments, $actualArguments) - { - $comparatorFactory = new Factory(); - $comparator = $comparatorFactory->getComparatorFor( - $expectedArguments, - $actualArguments - ); - try { - $comparator->assertEquals($expectedArguments, $actualArguments); - } catch (ComparisonFailure $e) { - return $e->getDiff(); - } - - return null; - } - - /** - * @param array $args - * - * @return array - */ - private function normalizeForDiff($args) - { - // Wraps items with an IsEqual matcher if it isn't a matcher already - // in order to be sure to compare same nature objects. - return Util::createMatcherArray($args); - } - - /** - * @param array $args - * - * @return array - */ - private function normalizeForStrictDiff($args) - { - $normalized = []; - foreach ($args as $arg) { - if (!is_object($arg)) { - $normalizedArg = Util::createMatcherArray([$arg]); - $normalized[] = reset($normalizedArg); - continue; - } - - $objectRef = function_exists('spl_object_id') - ? spl_object_id($arg) - : spl_object_hash($arg); - - $normalized[] = get_class($arg).'#ref_'.$objectRef; - } - - return $normalized; - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Exception/RuntimeException.php b/paragonik-backend/vendor/mockery/mockery/library/Mockery/Exception/RuntimeException.php deleted file mode 100644 index 4b2f53c..0000000 --- a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Exception/RuntimeException.php +++ /dev/null @@ -1,25 +0,0 @@ -_mock = $mock; - $this->_name = $name; - $this->withAnyArgs(); - } - - /** - * Return a string with the method name and arguments formatted - * - * @param string $name Name of the expected method - * @param array $args List of arguments to the method - * @return string - */ - public function __toString() - { - return \Mockery::formatArgs($this->_name, $this->_expectedArgs); - } - - /** - * Verify the current call, i.e. that the given arguments match those - * of this expectation - * - * @param array $args - * @return mixed - */ - public function verifyCall(array $args) - { - $this->validateOrder(); - $this->_actualCount++; - if (true === $this->_passthru) { - return $this->_mock->mockery_callSubjectMethod($this->_name, $args); - } - - $return = $this->_getReturnValue($args); - $this->throwAsNecessary($return); - $this->_setValues(); - - return $return; - } - - /** - * Throws an exception if the expectation has been configured to do so - * - * @throws \Exception|\Throwable - * @return void - */ - private function throwAsNecessary($return) - { - if (!$this->_throw) { - return; - } - - $type = version_compare(PHP_VERSION, '7.0.0') >= 0 - ? "\Throwable" - : "\Exception"; - - if ($return instanceof $type) { - throw $return; - } - - return; - } - - /** - * Sets public properties with queued values to the mock object - * - * @param array $args - * @return mixed - */ - protected function _setValues() - { - $mockClass = get_class($this->_mock); - $container = $this->_mock->mockery_getContainer(); - /** @var Mock[] $mocks */ - $mocks = $container->getMocks(); - foreach ($this->_setQueue as $name => &$values) { - if (count($values) > 0) { - $value = array_shift($values); - $this->_mock->{$name} = $value; - foreach ($mocks as $mock) { - if (is_a($mock, $mockClass) && $mock->mockery_isInstance()) { - $mock->{$name} = $value; - } - } - } - } - } - - /** - * Fetch the return value for the matching args - * - * @param array $args - * @return mixed - */ - protected function _getReturnValue(array $args) - { - if (count($this->_closureQueue) > 1) { - return call_user_func_array(array_shift($this->_closureQueue), $args); - } elseif (count($this->_closureQueue) > 0) { - return call_user_func_array(current($this->_closureQueue), $args); - } elseif (count($this->_returnQueue) > 1) { - return array_shift($this->_returnQueue); - } elseif (count($this->_returnQueue) > 0) { - return current($this->_returnQueue); - } - - return $this->_mock->mockery_returnValueForMethod($this->_name); - } - - /** - * Checks if this expectation is eligible for additional calls - * - * @return bool - */ - public function isEligible() - { - foreach ($this->_countValidators as $validator) { - if (!$validator->isEligible($this->_actualCount)) { - return false; - } - } - return true; - } - - /** - * Check if there is a constraint on call count - * - * @return bool - */ - public function isCallCountConstrained() - { - return (count($this->_countValidators) > 0); - } - - /** - * Verify call order - * - * @return void - */ - public function validateOrder() - { - if ($this->_orderNumber) { - $this->_mock->mockery_validateOrder((string) $this, $this->_orderNumber, $this->_mock); - } - if ($this->_globalOrderNumber) { - $this->_mock->mockery_getContainer() - ->mockery_validateOrder((string) $this, $this->_globalOrderNumber, $this->_mock); - } - } - - /** - * Verify this expectation - * - * @return void - */ - public function verify() - { - foreach ($this->_countValidators as $validator) { - $validator->validate($this->_actualCount); - } - } - - /** - * Check if the registered expectation is an ArgumentListMatcher - * @return bool - */ - private function isArgumentListMatcher() - { - return (count($this->_expectedArgs) === 1 && ($this->_expectedArgs[0] instanceof ArgumentListMatcher)); - } - - private function isAndAnyOtherArgumentsMatcher($expectedArg) - { - return $expectedArg instanceof AndAnyOtherArgs; - } - - /** - * Check if passed arguments match an argument expectation - * - * @param array $args - * @return bool - */ - public function matchArgs(array $args) - { - if ($this->isArgumentListMatcher()) { - return $this->_matchArg($this->_expectedArgs[0], $args); - } - $argCount = count($args); - if ($argCount !== count((array) $this->_expectedArgs)) { - $lastExpectedArgument = end($this->_expectedArgs); - reset($this->_expectedArgs); - - if ($this->isAndAnyOtherArgumentsMatcher($lastExpectedArgument)) { - $argCountToSkipMatching = $argCount - count($this->_expectedArgs); - $args = array_slice($args, 0, $argCountToSkipMatching); - return $this->_matchArgs($args); - } - - return false; - } - - return $this->_matchArgs($args); - } - - /** - * Check if the passed arguments match the expectations, one by one. - * - * @param array $args - * @return bool - */ - protected function _matchArgs($args) - { - $argCount = count($args); - for ($i=0; $i<$argCount; $i++) { - $param =& $args[$i]; - if (!$this->_matchArg($this->_expectedArgs[$i], $param)) { - return false; - } - } - return true; - } - - /** - * Check if passed argument matches an argument expectation - * - * @param mixed $expected - * @param mixed $actual - * @return bool - */ - protected function _matchArg($expected, &$actual) - { - if ($expected === $actual) { - return true; - } - if (!is_object($expected) && !is_object($actual) && $expected == $actual) { - return true; - } - if (is_string($expected) && is_object($actual)) { - $result = $actual instanceof $expected; - if ($result) { - return true; - } - } - if ($expected instanceof \Mockery\Matcher\MatcherAbstract) { - return $expected->match($actual); - } - if ($expected instanceof \Hamcrest\Matcher || $expected instanceof \Hamcrest_Matcher) { - return $expected->matches($actual); - } - return false; - } - - /** - * Expected argument setter for the expectation - * - * @param mixed[] ...$args - * @return self - */ - public function with(...$args) - { - return $this->withArgs($args); - } - - /** - * Expected arguments for the expectation passed as an array - * - * @param array $arguments - * @return self - */ - private function withArgsInArray(array $arguments) - { - if (empty($arguments)) { - return $this->withNoArgs(); - } - $this->_expectedArgs = $arguments; - return $this; - } - - /** - * Expected arguments have to be matched by the given closure. - * - * @param Closure $closure - * @return self - */ - private function withArgsMatchedByClosure(Closure $closure) - { - $this->_expectedArgs = [new MultiArgumentClosure($closure)]; - return $this; - } - - /** - * Expected arguments for the expectation passed as an array or a closure that matches each passed argument on - * each function call. - * - * @param array|Closure $argsOrClosure - * @return self - */ - public function withArgs($argsOrClosure) - { - if (is_array($argsOrClosure)) { - $this->withArgsInArray($argsOrClosure); - } elseif ($argsOrClosure instanceof Closure) { - $this->withArgsMatchedByClosure($argsOrClosure); - } else { - throw new \InvalidArgumentException(sprintf('Call to %s with an invalid argument (%s), only array and '. - 'closure are allowed', __METHOD__, $argsOrClosure)); - } - return $this; - } - - /** - * Set with() as no arguments expected - * - * @return self - */ - public function withNoArgs() - { - $this->_expectedArgs = [new NoArgs()]; - return $this; - } - - /** - * Set expectation that any arguments are acceptable - * - * @return self - */ - public function withAnyArgs() - { - $this->_expectedArgs = [new AnyArgs()]; - return $this; - } - - /** - * Expected arguments should partially match the real arguments - * - * @param mixed[] ...$expectedArgs - * @return self - */ - public function withSomeOfArgs(...$expectedArgs) - { - return $this->withArgs(function (...$args) use ($expectedArgs) { - foreach ($expectedArgs as $expectedArg) { - if (!in_array($expectedArg, $args, true)) { - return false; - } - } - return true; - }); - } - - /** - * Set a return value, or sequential queue of return values - * - * @param mixed[] ...$args - * @return self - */ - public function andReturn(...$args) - { - $this->_returnQueue = $args; - return $this; - } - - /** - * Set a return value, or sequential queue of return values - * - * @param mixed[] ...$args - * @return self - */ - public function andReturns(...$args) - { - return call_user_func_array([$this, 'andReturn'], $args); - } - - /** - * Return this mock, like a fluent interface - * - * @return self - */ - public function andReturnSelf() - { - return $this->andReturn($this->_mock); - } - - /** - * Set a sequential queue of return values with an array - * - * @param array $values - * @return self - */ - public function andReturnValues(array $values) - { - call_user_func_array(array($this, 'andReturn'), $values); - return $this; - } - - /** - * Set a closure or sequence of closures with which to generate return - * values. The arguments passed to the expected method are passed to the - * closures as parameters. - * - * @param callable[] ...$args - * @return self - */ - public function andReturnUsing(...$args) - { - $this->_closureQueue = $args; - return $this; - } - - /** - * Sets up a closure to return the nth argument from the expected method call - * - * @param int $index - * @return self - */ - public function andReturnArg($index) - { - if (!is_int($index) || $index < 0) { - throw new \InvalidArgumentException("Invalid argument index supplied. Index must be a positive integer."); - } - $closure = function (...$args) use ($index) { - if (array_key_exists($index, $args)) { - return $args[$index]; - } - throw new \OutOfBoundsException("Cannot return an argument value. No argument exists for the index $index"); - }; - - $this->_closureQueue = [$closure]; - return $this; - } - - /** - * Return a self-returning black hole object. - * - * @return self - */ - public function andReturnUndefined() - { - $this->andReturn(new \Mockery\Undefined); - return $this; - } - - /** - * Return null. This is merely a language construct for Mock describing. - * - * @return self - */ - public function andReturnNull() - { - return $this->andReturn(null); - } - - public function andReturnFalse() - { - return $this->andReturn(false); - } - - public function andReturnTrue() - { - return $this->andReturn(true); - } - - /** - * Set Exception class and arguments to that class to be thrown - * - * @param string|\Exception $exception - * @param string $message - * @param int $code - * @param \Exception $previous - * @return self - */ - public function andThrow($exception, $message = '', $code = 0, \Exception $previous = null) - { - $this->_throw = true; - if (is_object($exception)) { - $this->andReturn($exception); - } else { - $this->andReturn(new $exception($message, $code, $previous)); - } - return $this; - } - - public function andThrows($exception, $message = '', $code = 0, \Exception $previous = null) - { - return $this->andThrow($exception, $message, $code, $previous); - } - - /** - * Set Exception classes to be thrown - * - * @param array $exceptions - * @return self - */ - public function andThrowExceptions(array $exceptions) - { - $this->_throw = true; - foreach ($exceptions as $exception) { - if (!is_object($exception)) { - throw new Exception('You must pass an array of exception objects to andThrowExceptions'); - } - } - return $this->andReturnValues($exceptions); - } - - /** - * Register values to be set to a public property each time this expectation occurs - * - * @param string $name - * @param array ...$values - * @return self - */ - public function andSet($name, ...$values) - { - $this->_setQueue[$name] = $values; - return $this; - } - - /** - * Alias to andSet(). Allows the natural English construct - * - set('foo', 'bar')->andReturn('bar') - * - * @param string $name - * @param mixed $value - * @return self - */ - public function set($name, $value) - { - return call_user_func_array(array($this, 'andSet'), func_get_args()); - } - - /** - * Indicates this expectation should occur zero or more times - * - * @return self - */ - public function zeroOrMoreTimes() - { - $this->atLeast()->never(); - } - - /** - * Indicates the number of times this expectation should occur - * - * @param int $limit - * @throws \InvalidArgumentException - * @return self - */ - public function times($limit = null) - { - if (is_null($limit)) { - return $this; - } - if (!is_int($limit)) { - throw new \InvalidArgumentException('The passed Times limit should be an integer value'); - } - $this->_countValidators[$this->_countValidatorClass] = new $this->_countValidatorClass($this, $limit); - $this->_countValidatorClass = 'Mockery\CountValidator\Exact'; - return $this; - } - - /** - * Indicates that this expectation is never expected to be called - * - * @return self - */ - public function never() - { - return $this->times(0); - } - - /** - * Indicates that this expectation is expected exactly once - * - * @return self - */ - public function once() - { - return $this->times(1); - } - - /** - * Indicates that this expectation is expected exactly twice - * - * @return self - */ - public function twice() - { - return $this->times(2); - } - - /** - * Sets next count validator to the AtLeast instance - * - * @return self - */ - public function atLeast() - { - $this->_countValidatorClass = 'Mockery\CountValidator\AtLeast'; - return $this; - } - - /** - * Sets next count validator to the AtMost instance - * - * @return self - */ - public function atMost() - { - $this->_countValidatorClass = 'Mockery\CountValidator\AtMost'; - return $this; - } - - /** - * Shorthand for setting minimum and maximum constraints on call counts - * - * @param int $minimum - * @param int $maximum - */ - public function between($minimum, $maximum) - { - return $this->atLeast()->times($minimum)->atMost()->times($maximum); - } - - - /** - * Set the exception message - * - * @param string $message - * @return $this - */ - public function because($message) - { - $this->_because = $message; - return $this; - } - - /** - * Indicates that this expectation must be called in a specific given order - * - * @param string $group Name of the ordered group - * @return self - */ - public function ordered($group = null) - { - if ($this->_globally) { - $this->_globalOrderNumber = $this->_defineOrdered($group, $this->_mock->mockery_getContainer()); - } else { - $this->_orderNumber = $this->_defineOrdered($group, $this->_mock); - } - $this->_globally = false; - return $this; - } - - /** - * Indicates call order should apply globally - * - * @return self - */ - public function globally() - { - $this->_globally = true; - return $this; - } - - /** - * Setup the ordering tracking on the mock or mock container - * - * @param string $group - * @param object $ordering - * @return int - */ - protected function _defineOrdered($group, $ordering) - { - $groups = $ordering->mockery_getGroups(); - if (is_null($group)) { - $result = $ordering->mockery_allocateOrder(); - } elseif (isset($groups[$group])) { - $result = $groups[$group]; - } else { - $result = $ordering->mockery_allocateOrder(); - $ordering->mockery_setGroup($group, $result); - } - return $result; - } - - /** - * Return order number - * - * @return int - */ - public function getOrderNumber() - { - return $this->_orderNumber; - } - - /** - * Mark this expectation as being a default - * - * @return self - */ - public function byDefault() - { - $director = $this->_mock->mockery_getExpectationsFor($this->_name); - if (!empty($director)) { - $director->makeExpectationDefault($this); - } - return $this; - } - - /** - * Return the parent mock of the expectation - * - * @return \Mockery\LegacyMockInterface|\Mockery\MockInterface - */ - public function getMock() - { - return $this->_mock; - } - - /** - * Flag this expectation as calling the original class method with the - * any provided arguments instead of using a return value queue. - * - * @return self - */ - public function passthru() - { - if ($this->_mock instanceof Mock) { - throw new Exception( - 'Mock Objects not created from a loaded/existing class are ' - . 'incapable of passing method calls through to a parent class' - ); - } - $this->_passthru = true; - return $this; - } - - /** - * Cloning logic - * - */ - public function __clone() - { - $newValidators = array(); - $countValidators = $this->_countValidators; - foreach ($countValidators as $validator) { - $newValidators[] = clone $validator; - } - $this->_countValidators = $newValidators; - } - - public function getName() - { - return $this->_name; - } - - public function getExceptionMessage() - { - return $this->_because; - } - - /** - * @return array - */ - public function getExpectedArgs() - { - return $this->_expectedArgs; - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/library/Mockery/ExpectationDirector.php b/paragonik-backend/vendor/mockery/mockery/library/Mockery/ExpectationDirector.php deleted file mode 100644 index 84ba5e0..0000000 --- a/paragonik-backend/vendor/mockery/mockery/library/Mockery/ExpectationDirector.php +++ /dev/null @@ -1,211 +0,0 @@ -_name = $name; - $this->_mock = $mock; - } - - /** - * Add a new expectation to the director - * - * @param \Mockery\Expectation $expectation - */ - public function addExpectation(\Mockery\Expectation $expectation) - { - $this->_expectations[] = $expectation; - } - - /** - * Handle a method call being directed by this instance - * - * @param array $args - * @return mixed - */ - public function call(array $args) - { - $expectation = $this->findExpectation($args); - if (is_null($expectation)) { - throw new \Mockery\Exception\NoMatchingExpectationException( - $this->_mock, - $this->_name, - $args, - $this->getExpectations() - ); - } - return $expectation->verifyCall($args); - } - - /** - * Verify all expectations of the director - * - * @throws \Mockery\CountValidator\Exception - * @return void - */ - public function verify() - { - if (!empty($this->_expectations)) { - foreach ($this->_expectations as $exp) { - $exp->verify(); - } - } else { - foreach ($this->_defaults as $exp) { - $exp->verify(); - } - } - } - - /** - * Attempt to locate an expectation matching the provided args - * - * @param array $args - * @return mixed - */ - public function findExpectation(array $args) - { - $expectation = null; - - if (!empty($this->_expectations)) { - $expectation = $this->_findExpectationIn($this->_expectations, $args); - } - - if ($expectation === null && !empty($this->_defaults)) { - $expectation = $this->_findExpectationIn($this->_defaults, $args); - } - - return $expectation; - } - - /** - * Make the given expectation a default for all others assuming it was - * correctly created last - * - * @param \Mockery\Expectation $expectation - */ - public function makeExpectationDefault(\Mockery\Expectation $expectation) - { - $last = end($this->_expectations); - if ($last === $expectation) { - array_pop($this->_expectations); - array_unshift($this->_defaults, $expectation); - } else { - throw new \Mockery\Exception( - 'Cannot turn a previously defined expectation into a default' - ); - } - } - - /** - * Search current array of expectations for a match - * - * @param array $expectations - * @param array $args - * @return mixed - */ - protected function _findExpectationIn(array $expectations, array $args) - { - foreach ($expectations as $exp) { - if ($exp->isEligible() && $exp->matchArgs($args)) { - return $exp; - } - } - foreach ($expectations as $exp) { - if ($exp->matchArgs($args)) { - return $exp; - } - } - } - - /** - * Return all expectations assigned to this director - * - * @return array - */ - public function getExpectations() - { - return $this->_expectations; - } - - /** - * Return all expectations assigned to this director - * - * @return array - */ - public function getDefaultExpectations() - { - return $this->_defaults; - } - - /** - * Return the number of expectations assigned to this director. - * - * @return int - */ - public function getExpectationCount() - { - return count($this->getExpectations()) ?: count($this->getDefaultExpectations()); - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/library/Mockery/ExpectationInterface.php b/paragonik-backend/vendor/mockery/mockery/library/Mockery/ExpectationInterface.php deleted file mode 100644 index 5df0e76..0000000 --- a/paragonik-backend/vendor/mockery/mockery/library/Mockery/ExpectationInterface.php +++ /dev/null @@ -1,46 +0,0 @@ -once(); - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Generator/CachingGenerator.php b/paragonik-backend/vendor/mockery/mockery/library/Mockery/Generator/CachingGenerator.php deleted file mode 100644 index 6497e88..0000000 --- a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Generator/CachingGenerator.php +++ /dev/null @@ -1,45 +0,0 @@ -generator = $generator; - } - - public function generate(MockConfiguration $config) - { - $hash = $config->getHash(); - if (isset($this->cache[$hash])) { - return $this->cache[$hash]; - } - - $definition = $this->generator->generate($config); - $this->cache[$hash] = $definition; - - return $definition; - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Generator/DefinedTargetClass.php b/paragonik-backend/vendor/mockery/mockery/library/Mockery/Generator/DefinedTargetClass.php deleted file mode 100644 index 663b225..0000000 --- a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Generator/DefinedTargetClass.php +++ /dev/null @@ -1,108 +0,0 @@ -rfc = $rfc; - } - - public static function factory($name) - { - return new self(new \ReflectionClass($name)); - } - - public function getName() - { - return $this->rfc->getName(); - } - - public function isAbstract() - { - return $this->rfc->isAbstract(); - } - - public function isFinal() - { - return $this->rfc->isFinal(); - } - - public function getMethods() - { - return array_map(function ($method) { - return new Method($method); - }, $this->rfc->getMethods()); - } - - public function getInterfaces() - { - $class = __CLASS__; - return array_map(function ($interface) use ($class) { - return new $class($interface); - }, $this->rfc->getInterfaces()); - } - - public function __toString() - { - return $this->getName(); - } - - public function getNamespaceName() - { - return $this->rfc->getNamespaceName(); - } - - public function inNamespace() - { - return $this->rfc->inNamespace(); - } - - public function getShortName() - { - return $this->rfc->getShortName(); - } - - public function implementsInterface($interface) - { - return $this->rfc->implementsInterface($interface); - } - - public function hasInternalAncestor() - { - if ($this->rfc->isInternal()) { - return true; - } - - $child = $this->rfc; - while ($parent = $child->getParentClass()) { - if ($parent->isInternal()) { - return true; - } - $child = $parent; - } - - return false; - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Generator/Generator.php b/paragonik-backend/vendor/mockery/mockery/library/Mockery/Generator/Generator.php deleted file mode 100644 index 459a93c..0000000 --- a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Generator/Generator.php +++ /dev/null @@ -1,27 +0,0 @@ -method = $method; - } - - public function __call($method, $args) - { - return call_user_func_array(array($this->method, $method), $args); - } - - public function getParameters() - { - return array_map(function ($parameter) { - return new Parameter($parameter); - }, $this->method->getParameters()); - } - - public function getReturnType() - { - if (defined('HHVM_VERSION') && method_exists($this->method, 'getReturnTypeText') && $this->method->hasReturnType()) { - // Strip all return type for hhvm. - // eval() errors on hhvm return type include but not limited to - // tuple, ImmVector<>, ImmSet<>, ImmMap<>, array<>, - // anything with <>, void, mixed, this, and type-constant. - // For type-constant Can see https://docs.hhvm.com/hack/type-constants/introduction - // for more details. - return ''; - } - - if (version_compare(PHP_VERSION, '7.0.0-dev') >= 0 && $this->method->hasReturnType()) { - $returnType = PHP_VERSION_ID >= 70100 ? $this->method->getReturnType()->getName() : (string) $this->method->getReturnType(); - - if ('self' === $returnType) { - $returnType = "\\".$this->method->getDeclaringClass()->getName(); - } elseif (!\Mockery::isBuiltInType($returnType)) { - $returnType = '\\'.$returnType; - } - - if (version_compare(PHP_VERSION, '7.1.0-dev') >= 0 && $this->method->getReturnType()->allowsNull()) { - $returnType = '?'.$returnType; - } - - return $returnType; - } - return ''; - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Generator/MockConfiguration.php b/paragonik-backend/vendor/mockery/mockery/library/Mockery/Generator/MockConfiguration.php deleted file mode 100644 index f847887..0000000 --- a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Generator/MockConfiguration.php +++ /dev/null @@ -1,574 +0,0 @@ -addTargets($targets); - $this->blackListedMethods = $blackListedMethods; - $this->whiteListedMethods = $whiteListedMethods; - $this->name = $name; - $this->instanceMock = $instanceMock; - $this->parameterOverrides = $parameterOverrides; - $this->mockOriginalDestructor = $mockOriginalDestructor; - $this->constantsMap = $constantsMap; - } - - /** - * Attempt to create a hash of the configuration, in order to allow caching - * - * @TODO workout if this will work - * - * @return string - */ - public function getHash() - { - $vars = array( - 'targetClassName' => $this->targetClassName, - 'targetInterfaceNames' => $this->targetInterfaceNames, - 'targetTraitNames' => $this->targetTraitNames, - 'name' => $this->name, - 'blackListedMethods' => $this->blackListedMethods, - 'whiteListedMethod' => $this->whiteListedMethods, - 'instanceMock' => $this->instanceMock, - 'parameterOverrides' => $this->parameterOverrides, - 'mockOriginalDestructor' => $this->mockOriginalDestructor - ); - - return md5(serialize($vars)); - } - - /** - * Gets a list of methods from the classes, interfaces and objects and - * filters them appropriately. Lot's of filtering going on, perhaps we could - * have filter classes to iterate through - */ - public function getMethodsToMock() - { - $methods = $this->getAllMethods(); - - foreach ($methods as $key => $method) { - if ($method->isFinal()) { - unset($methods[$key]); - } - } - - /** - * Whitelist trumps everything else - */ - if (count($this->getWhiteListedMethods())) { - $whitelist = array_map('strtolower', $this->getWhiteListedMethods()); - $methods = array_filter($methods, function ($method) use ($whitelist) { - return $method->isAbstract() || in_array(strtolower($method->getName()), $whitelist); - }); - - return $methods; - } - - /** - * Remove blacklisted methods - */ - if (count($this->getBlackListedMethods())) { - $blacklist = array_map('strtolower', $this->getBlackListedMethods()); - $methods = array_filter($methods, function ($method) use ($blacklist) { - return !in_array(strtolower($method->getName()), $blacklist); - }); - } - - /** - * Internal objects can not be instantiated with newInstanceArgs and if - * they implement Serializable, unserialize will have to be called. As - * such, we can't mock it and will need a pass to add a dummy - * implementation - */ - if ($this->getTargetClass() - && $this->getTargetClass()->implementsInterface("Serializable") - && $this->getTargetClass()->hasInternalAncestor()) { - $methods = array_filter($methods, function ($method) { - return $method->getName() !== "unserialize"; - }); - } - - return array_values($methods); - } - - /** - * We declare the __call method to handle undefined stuff, if the class - * we're mocking has also defined it, we need to comply with their interface - */ - public function requiresCallTypeHintRemoval() - { - foreach ($this->getAllMethods() as $method) { - if ("__call" === $method->getName()) { - $params = $method->getParameters(); - return !$params[1]->isArray(); - } - } - - return false; - } - - /** - * We declare the __callStatic method to handle undefined stuff, if the class - * we're mocking has also defined it, we need to comply with their interface - */ - public function requiresCallStaticTypeHintRemoval() - { - foreach ($this->getAllMethods() as $method) { - if ("__callStatic" === $method->getName()) { - $params = $method->getParameters(); - return !$params[1]->isArray(); - } - } - - return false; - } - - public function rename($className) - { - $targets = array(); - - if ($this->targetClassName) { - $targets[] = $this->targetClassName; - } - - if ($this->targetInterfaceNames) { - $targets = array_merge($targets, $this->targetInterfaceNames); - } - - if ($this->targetTraitNames) { - $targets = array_merge($targets, $this->targetTraitNames); - } - - if ($this->targetObject) { - $targets[] = $this->targetObject; - } - - return new self( - $targets, - $this->blackListedMethods, - $this->whiteListedMethods, - $className, - $this->instanceMock, - $this->parameterOverrides, - $this->mockOriginalDestructor, - $this->constantsMap - ); - } - - protected function addTarget($target) - { - if (is_object($target)) { - $this->setTargetObject($target); - $this->setTargetClassName(get_class($target)); - return $this; - } - - if ($target[0] !== "\\") { - $target = "\\" . $target; - } - - if (class_exists($target)) { - $this->setTargetClassName($target); - return $this; - } - - if (interface_exists($target)) { - $this->addTargetInterfaceName($target); - return $this; - } - - if (trait_exists($target)) { - $this->addTargetTraitName($target); - return $this; - } - - /** - * Default is to set as class, or interface if class already set - * - * Don't like this condition, can't remember what the default - * targetClass is for - */ - if ($this->getTargetClassName()) { - $this->addTargetInterfaceName($target); - return $this; - } - - $this->setTargetClassName($target); - } - - protected function addTargets($interfaces) - { - foreach ($interfaces as $interface) { - $this->addTarget($interface); - } - } - - public function getTargetClassName() - { - return $this->targetClassName; - } - - public function getTargetClass() - { - if ($this->targetClass) { - return $this->targetClass; - } - - if (!$this->targetClassName) { - return null; - } - - if (class_exists($this->targetClassName)) { - $dtc = DefinedTargetClass::factory($this->targetClassName); - - if ($this->getTargetObject() == false && $dtc->isFinal()) { - throw new \Mockery\Exception( - 'The class ' . $this->targetClassName . ' is marked final and its methods' - . ' cannot be replaced. Classes marked final can be passed in' - . ' to \Mockery::mock() as instantiated objects to create a' - . ' partial mock, but only if the mock is not subject to type' - . ' hinting checks.' - ); - } - - $this->targetClass = $dtc; - } else { - $this->targetClass = UndefinedTargetClass::factory($this->targetClassName); - } - - return $this->targetClass; - } - - public function getTargetTraits() - { - if (!empty($this->targetTraits)) { - return $this->targetTraits; - } - - foreach ($this->targetTraitNames as $targetTrait) { - $this->targetTraits[] = DefinedTargetClass::factory($targetTrait); - } - - $this->targetTraits = array_unique($this->targetTraits); // just in case - return $this->targetTraits; - } - - public function getTargetInterfaces() - { - if (!empty($this->targetInterfaces)) { - return $this->targetInterfaces; - } - - foreach ($this->targetInterfaceNames as $targetInterface) { - if (!interface_exists($targetInterface)) { - $this->targetInterfaces[] = UndefinedTargetClass::factory($targetInterface); - continue; - } - - $dtc = DefinedTargetClass::factory($targetInterface); - $extendedInterfaces = array_keys($dtc->getInterfaces()); - $extendedInterfaces[] = $targetInterface; - - $traversableFound = false; - $iteratorShiftedToFront = false; - foreach ($extendedInterfaces as $interface) { - if (!$traversableFound && preg_match("/^\\?Iterator(|Aggregate)$/i", $interface)) { - break; - } - - if (preg_match("/^\\\\?IteratorAggregate$/i", $interface)) { - $this->targetInterfaces[] = DefinedTargetClass::factory("\\IteratorAggregate"); - $iteratorShiftedToFront = true; - } elseif (preg_match("/^\\\\?Iterator$/i", $interface)) { - $this->targetInterfaces[] = DefinedTargetClass::factory("\\Iterator"); - $iteratorShiftedToFront = true; - } elseif (preg_match("/^\\\\?Traversable$/i", $interface)) { - $traversableFound = true; - } - } - - if ($traversableFound && !$iteratorShiftedToFront) { - $this->targetInterfaces[] = DefinedTargetClass::factory("\\IteratorAggregate"); - } - - /** - * We never straight up implement Traversable - */ - if (!preg_match("/^\\\\?Traversable$/i", $targetInterface)) { - $this->targetInterfaces[] = $dtc; - } - } - $this->targetInterfaces = array_unique($this->targetInterfaces); // just in case - return $this->targetInterfaces; - } - - public function getTargetObject() - { - return $this->targetObject; - } - - public function getName() - { - return $this->name; - } - - /** - * Generate a suitable name based on the config - */ - public function generateName() - { - $nameBuilder = new MockNameBuilder(); - - if ($this->getTargetObject()) { - $nameBuilder->addPart(get_class($this->getTargetObject())); - } - - if ($this->getTargetClass()) { - $nameBuilder->addPart($this->getTargetClass()->getName()); - } - - foreach ($this->getTargetInterfaces() as $targetInterface) { - $nameBuilder->addPart($targetInterface->getName()); - } - - return $nameBuilder->build(); - } - - public function getShortName() - { - $parts = explode("\\", $this->getName()); - return array_pop($parts); - } - - public function getNamespaceName() - { - $parts = explode("\\", $this->getName()); - array_pop($parts); - - if (count($parts)) { - return implode("\\", $parts); - } - - return ""; - } - - public function getBlackListedMethods() - { - return $this->blackListedMethods; - } - - public function getWhiteListedMethods() - { - return $this->whiteListedMethods; - } - - public function isInstanceMock() - { - return $this->instanceMock; - } - - public function getParameterOverrides() - { - return $this->parameterOverrides; - } - - public function isMockOriginalDestructor() - { - return $this->mockOriginalDestructor; - } - - protected function setTargetClassName($targetClassName) - { - $this->targetClassName = $targetClassName; - } - - protected function getAllMethods() - { - if ($this->allMethods) { - return $this->allMethods; - } - - $classes = $this->getTargetInterfaces(); - - if ($this->getTargetClass()) { - $classes[] = $this->getTargetClass(); - } - - $methods = array(); - foreach ($classes as $class) { - $methods = array_merge($methods, $class->getMethods()); - } - - foreach ($this->getTargetTraits() as $trait) { - foreach ($trait->getMethods() as $method) { - if ($method->isAbstract()) { - $methods[] = $method; - } - } - } - - $names = array(); - $methods = array_filter($methods, function ($method) use (&$names) { - if (in_array($method->getName(), $names)) { - return false; - } - - $names[] = $method->getName(); - return true; - }); - - // In HHVM, class methods can be annotated with the built-in - // <<__Memoize>> attribute (similar to a Python decorator), - // which builds an LRU cache of method arguments and their - // return values. - // https://docs.hhvm.com/hack/attributes/special#__memoize - // - // HHVM implements this behavior by inserting a private helper - // method into the class at runtime which is named as the - // method to be memoized, suffixed by `$memoize_impl`. - // https://github.com/facebook/hhvm/blob/6aa46f1e8c2351b97d65e67b73e26f274a7c3f2e/hphp/runtime/vm/func.cpp#L364 - // - // Ordinarily, PHP does not all allow the `$` token in method - // names, but since the memoization helper is inserted at - // runtime (and not in userland), HHVM allows it. - // - // We use code generation and eval() for some types of mocks, - // so to avoid syntax errors from these memoization helpers, - // we must filter them from our list of class methods. - // - // This effectively disables the memoization behavior in HHVM, - // but that's preferable to failing catastrophically when - // attempting to mock a class using the attribute. - if (defined('HHVM_VERSION')) { - $methods = array_filter($methods, function ($method) { - return strpos($method->getName(), '$memoize_impl') === false; - }); - } - - return $this->allMethods = $methods; - } - - /** - * If we attempt to implement Traversable, we must ensure we are also - * implementing either Iterator or IteratorAggregate, and that whichever one - * it is comes before Traversable in the list of implements. - */ - protected function addTargetInterfaceName($targetInterface) - { - $this->targetInterfaceNames[] = $targetInterface; - } - - protected function addTargetTraitName($targetTraitName) - { - $this->targetTraitNames[] = $targetTraitName; - } - - protected function setTargetObject($object) - { - $this->targetObject = $object; - } - - public function getConstantsMap() - { - return $this->constantsMap; - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Generator/MockConfigurationBuilder.php b/paragonik-backend/vendor/mockery/mockery/library/Mockery/Generator/MockConfigurationBuilder.php deleted file mode 100644 index 8170492..0000000 --- a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Generator/MockConfigurationBuilder.php +++ /dev/null @@ -1,176 +0,0 @@ -= 0) { - $this->blackListedMethods = array_diff($this->blackListedMethods, $this->php7SemiReservedKeywords); - } - } - - public function addTarget($target) - { - $this->targets[] = $target; - - return $this; - } - - public function addTargets($targets) - { - foreach ($targets as $target) { - $this->addTarget($target); - } - - return $this; - } - - public function setName($name) - { - $this->name = $name; - return $this; - } - - public function addBlackListedMethod($blackListedMethod) - { - $this->blackListedMethods[] = $blackListedMethod; - return $this; - } - - public function addBlackListedMethods(array $blackListedMethods) - { - foreach ($blackListedMethods as $method) { - $this->addBlackListedMethod($method); - } - return $this; - } - - public function setBlackListedMethods(array $blackListedMethods) - { - $this->blackListedMethods = $blackListedMethods; - return $this; - } - - public function addWhiteListedMethod($whiteListedMethod) - { - $this->whiteListedMethods[] = $whiteListedMethod; - return $this; - } - - public function addWhiteListedMethods(array $whiteListedMethods) - { - foreach ($whiteListedMethods as $method) { - $this->addWhiteListedMethod($method); - } - return $this; - } - - public function setWhiteListedMethods(array $whiteListedMethods) - { - $this->whiteListedMethods = $whiteListedMethods; - return $this; - } - - public function setInstanceMock($instanceMock) - { - $this->instanceMock = (bool) $instanceMock; - } - - public function setParameterOverrides(array $overrides) - { - $this->parameterOverrides = $overrides; - } - - public function setMockOriginalDestructor($mockDestructor) - { - $this->mockOriginalDestructor = $mockDestructor; - return $this; - } - - public function setConstantsMap(array $map) - { - $this->constantsMap = $map; - } - - public function getMockConfiguration() - { - return new MockConfiguration( - $this->targets, - $this->blackListedMethods, - $this->whiteListedMethods, - $this->name, - $this->instanceMock, - $this->parameterOverrides, - $this->mockOriginalDestructor, - $this->constantsMap - ); - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Generator/MockDefinition.php b/paragonik-backend/vendor/mockery/mockery/library/Mockery/Generator/MockDefinition.php deleted file mode 100644 index fd6a9fa..0000000 --- a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Generator/MockDefinition.php +++ /dev/null @@ -1,51 +0,0 @@ -getName()) { - throw new \InvalidArgumentException("MockConfiguration must contain a name"); - } - $this->config = $config; - $this->code = $code; - } - - public function getConfig() - { - return $this->config; - } - - public function getClassName() - { - return $this->config->getName(); - } - - public function getCode() - { - return $this->code; - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Generator/MockNameBuilder.php b/paragonik-backend/vendor/mockery/mockery/library/Mockery/Generator/MockNameBuilder.php deleted file mode 100644 index 204308a..0000000 --- a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Generator/MockNameBuilder.php +++ /dev/null @@ -1,46 +0,0 @@ -parts[] = $part; - - return $this; - } - - public function build() - { - $parts = ['Mockery', static::$mockCounter++]; - - foreach ($this->parts as $part) { - $parts[] = str_replace("\\", "_", $part); - } - - return implode('_', $parts); - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Generator/Parameter.php b/paragonik-backend/vendor/mockery/mockery/library/Mockery/Generator/Parameter.php deleted file mode 100644 index 52cf565..0000000 --- a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Generator/Parameter.php +++ /dev/null @@ -1,110 +0,0 @@ -rfp = $rfp; - } - - public function __call($method, array $args) - { - return call_user_func_array(array($this->rfp, $method), $args); - } - - public function getClass() - { - return new DefinedTargetClass($this->rfp->getClass()); - } - - public function getTypeHintAsString() - { - if (method_exists($this->rfp, 'getTypehintText')) { - // Available in HHVM - $typehint = $this->rfp->getTypehintText(); - - // not exhaustive, but will do for now - if (in_array($typehint, array('int', 'integer', 'float', 'string', 'bool', 'boolean'))) { - return ''; - } - - return $typehint; - } - - if ($this->rfp->isArray()) { - return 'array'; - } - - /* - * PHP < 5.4.1 has some strange behaviour with a typehint of self and - * subclass signatures, so we risk the regexp instead - */ - if ((version_compare(PHP_VERSION, '5.4.1') >= 0)) { - try { - if ($this->rfp->getClass()) { - return $this->rfp->getClass()->getName(); - } - } catch (\ReflectionException $re) { - // noop - } - } - - if (version_compare(PHP_VERSION, '7.0.0-dev') >= 0 && $this->rfp->hasType()) { - return PHP_VERSION_ID >= 70100 ? $this->rfp->getType()->getName() : (string) $this->rfp->getType(); - } - - if (preg_match('/^Parameter #[0-9]+ \[ \<(required|optional)\> (?\S+ )?.*\$' . $this->rfp->getName() . ' .*\]$/', $this->rfp->__toString(), $typehintMatch)) { - if (!empty($typehintMatch['typehint'])) { - return $typehintMatch['typehint']; - } - } - - return ''; - } - - /** - * Some internal classes have funny looking definitions... - */ - public function getName() - { - $name = $this->rfp->getName(); - if (!$name || $name == '...') { - $name = 'arg' . static::$parameterCounter++; - } - - return $name; - } - - - /** - * Variadics only introduced in 5.6 - */ - public function isVariadic() - { - return $this->rfp->isVariadic(); - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Generator/StringManipulation/Pass/AvoidMethodClashPass.php b/paragonik-backend/vendor/mockery/mockery/library/Mockery/Generator/StringManipulation/Pass/AvoidMethodClashPass.php deleted file mode 100644 index 04ea780..0000000 --- a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Generator/StringManipulation/Pass/AvoidMethodClashPass.php +++ /dev/null @@ -1,49 +0,0 @@ -getName(); - }, $config->getMethodsToMock()); - - foreach (["allows", "expects"] as $method) { - if (in_array($method, $names)) { - $code = preg_replace( - "#// start method {$method}.*// end method {$method}#ms", - "", - $code - ); - - $code = str_replace(" implements MockInterface", " implements LegacyMockInterface", $code); - } - } - - return $code; - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Generator/StringManipulation/Pass/CallTypeHintPass.php b/paragonik-backend/vendor/mockery/mockery/library/Mockery/Generator/StringManipulation/Pass/CallTypeHintPass.php deleted file mode 100644 index fd00264..0000000 --- a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Generator/StringManipulation/Pass/CallTypeHintPass.php +++ /dev/null @@ -1,47 +0,0 @@ -requiresCallTypeHintRemoval()) { - $code = str_replace( - 'public function __call($method, array $args)', - 'public function __call($method, $args)', - $code - ); - } - - if ($config->requiresCallStaticTypeHintRemoval()) { - $code = str_replace( - 'public static function __callStatic($method, array $args)', - 'public static function __callStatic($method, $args)', - $code - ); - } - - return $code; - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Generator/StringManipulation/Pass/ClassNamePass.php b/paragonik-backend/vendor/mockery/mockery/library/Mockery/Generator/StringManipulation/Pass/ClassNamePass.php deleted file mode 100644 index b5a3109..0000000 --- a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Generator/StringManipulation/Pass/ClassNamePass.php +++ /dev/null @@ -1,49 +0,0 @@ -getNamespaceName(); - - $namespace = ltrim($namespace, "\\"); - - $className = $config->getShortName(); - - $code = str_replace( - 'namespace Mockery;', - $namespace ? 'namespace ' . $namespace . ';' : '', - $code - ); - - $code = str_replace( - 'class Mock', - 'class ' . $className, - $code - ); - - return $code; - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Generator/StringManipulation/Pass/ClassPass.php b/paragonik-backend/vendor/mockery/mockery/library/Mockery/Generator/StringManipulation/Pass/ClassPass.php deleted file mode 100644 index e949a51..0000000 --- a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Generator/StringManipulation/Pass/ClassPass.php +++ /dev/null @@ -1,58 +0,0 @@ -getTargetClass(); - - if (!$target) { - return $code; - } - - if ($target->isFinal()) { - return $code; - } - - $className = ltrim($target->getName(), "\\"); - if (defined('HHVM_VERSION') && preg_match('/^HH\\\\/', $className)) { - // HH\ namespace is reserved for HHVM class and doesnt require - // class declaration and extension. - return $code; - } - - if (!class_exists($className)) { - \Mockery::declareClass($className); - } - - $code = str_replace( - "implements MockInterface", - "extends \\" . $className . " implements MockInterface", - $code - ); - - return $code; - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Generator/StringManipulation/Pass/ConstantsPass.php b/paragonik-backend/vendor/mockery/mockery/library/Mockery/Generator/StringManipulation/Pass/ConstantsPass.php deleted file mode 100644 index 28f5cdf..0000000 --- a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Generator/StringManipulation/Pass/ConstantsPass.php +++ /dev/null @@ -1,33 +0,0 @@ -getConstantsMap(); - if (empty($cm)) { - return $code; - } - - if (!isset($cm[$config->getName()])) { - return $code; - } - - $cm = $cm[$config->getName()]; - - $constantsCode = ''; - foreach ($cm as $constant => $value) { - $constantsCode .= sprintf("\n const %s = '%s';\n", $constant, $value); - } - - $i = strrpos($code, '}'); - $code = substr_replace($code, $constantsCode, $i); - $code .= "}\n"; - - return $code; - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Generator/StringManipulation/Pass/InstanceMockPass.php b/paragonik-backend/vendor/mockery/mockery/library/Mockery/Generator/StringManipulation/Pass/InstanceMockPass.php deleted file mode 100644 index 6279147..0000000 --- a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Generator/StringManipulation/Pass/InstanceMockPass.php +++ /dev/null @@ -1,83 +0,0 @@ -_mockery_ignoreVerification = false; - \$associatedRealObject = \Mockery::fetchMock(__CLASS__); - - foreach (get_object_vars(\$this) as \$attr => \$val) { - if (\$attr !== "_mockery_ignoreVerification" && \$attr !== "_mockery_expectations") { - \$this->\$attr = \$associatedRealObject->\$attr; - } - } - - \$directors = \$associatedRealObject->mockery_getExpectations(); - foreach (\$directors as \$method=>\$director) { - // get the director method needed - \$existingDirector = \$this->mockery_getExpectationsFor(\$method); - if (!\$existingDirector) { - \$existingDirector = new \Mockery\ExpectationDirector(\$method, \$this); - \$this->mockery_setExpectationsFor(\$method, \$existingDirector); - } - \$expectations = \$director->getExpectations(); - foreach (\$expectations as \$expectation) { - \$clonedExpectation = clone \$expectation; - \$existingDirector->addExpectation(\$clonedExpectation); - } - \$defaultExpectations = \$director->getDefaultExpectations(); - foreach (array_reverse(\$defaultExpectations) as \$expectation) { - \$clonedExpectation = clone \$expectation; - \$existingDirector->addExpectation(\$clonedExpectation); - \$existingDirector->makeExpectationDefault(\$clonedExpectation); - } - } - \Mockery::getContainer()->rememberMock(\$this); - - \$this->_mockery_constructorCalled(func_get_args()); - } -MOCK; - - public function apply($code, MockConfiguration $config) - { - if ($config->isInstanceMock()) { - $code = $this->appendToClass($code, static::INSTANCE_MOCK_CODE); - } - - return $code; - } - - protected function appendToClass($class, $code) - { - $lastBrace = strrpos($class, "}"); - $class = substr($class, 0, $lastBrace) . $code . "\n }\n"; - return $class; - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Generator/StringManipulation/Pass/InterfacePass.php b/paragonik-backend/vendor/mockery/mockery/library/Mockery/Generator/StringManipulation/Pass/InterfacePass.php deleted file mode 100644 index 982956e..0000000 --- a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Generator/StringManipulation/Pass/InterfacePass.php +++ /dev/null @@ -1,48 +0,0 @@ -getTargetInterfaces() as $i) { - $name = ltrim($i->getName(), "\\"); - if (!interface_exists($name)) { - \Mockery::declareInterface($name); - } - } - - $interfaces = array_reduce((array) $config->getTargetInterfaces(), function ($code, $i) { - return $code . ", \\" . ltrim($i->getName(), "\\"); - }, ""); - - $code = str_replace( - "implements MockInterface", - "implements MockInterface" . $interfaces, - $code - ); - - return $code; - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Generator/StringManipulation/Pass/MagicMethodTypeHintsPass.php b/paragonik-backend/vendor/mockery/mockery/library/Mockery/Generator/StringManipulation/Pass/MagicMethodTypeHintsPass.php deleted file mode 100644 index 4a457b3..0000000 --- a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Generator/StringManipulation/Pass/MagicMethodTypeHintsPass.php +++ /dev/null @@ -1,208 +0,0 @@ -getMagicMethods($config->getTargetClass()); - foreach ($config->getTargetInterfaces() as $interface) { - $magicMethods = array_merge($magicMethods, $this->getMagicMethods($interface)); - } - - foreach ($magicMethods as $method) { - $code = $this->applyMagicTypeHints($code, $method); - } - - return $code; - } - - /** - * Returns the magic methods within the - * passed DefinedTargetClass. - * - * @param TargetClassInterface $class - * @return array - */ - public function getMagicMethods( - TargetClassInterface $class = null - ) { - if (is_null($class)) { - return array(); - } - return array_filter($class->getMethods(), function (Method $method) { - return in_array($method->getName(), $this->mockMagicMethods); - }); - } - - /** - * Applies type hints of magic methods from - * class to the passed code. - * - * @param int $code - * @param Method $method - * @return string - */ - private function applyMagicTypeHints($code, Method $method) - { - if ($this->isMethodWithinCode($code, $method)) { - $namedParameters = $this->getOriginalParameters( - $code, - $method - ); - $code = preg_replace( - $this->getDeclarationRegex($method->getName()), - $this->getMethodDeclaration($method, $namedParameters), - $code - ); - } - return $code; - } - - /** - * Checks if the method is declared withing code. - * - * @param int $code - * @param Method $method - * @return boolean - */ - private function isMethodWithinCode($code, Method $method) - { - return preg_match( - $this->getDeclarationRegex($method->getName()), - $code - ) == 1; - } - - /** - * Returns the method original parameters, as they're - * described in the $code string. - * - * @param int $code - * @param Method $method - * @return array - */ - private function getOriginalParameters($code, Method $method) - { - $matches = []; - $parameterMatches = []; - - preg_match( - $this->getDeclarationRegex($method->getName()), - $code, - $matches - ); - - if (count($matches) > 0) { - preg_match_all( - '/(?<=\$)(\w+)+/i', - $matches[0], - $parameterMatches - ); - } - - $groupMatches = end($parameterMatches); - $parameterNames = is_array($groupMatches) ? - $groupMatches : - array($groupMatches); - - return $parameterNames; - } - - /** - * Gets the declaration code, as a string, for the passed method. - * - * @param Method $method - * @param array $namedParameters - * @return string - */ - private function getMethodDeclaration( - Method $method, - array $namedParameters - ) { - $declaration = 'public'; - $declaration .= $method->isStatic() ? ' static' : ''; - $declaration .= ' function '.$method->getName().'('; - - foreach ($method->getParameters() as $index => $parameter) { - $declaration .= $parameter->getTypeHintAsString().' '; - $name = isset($namedParameters[$index]) ? - $namedParameters[$index] : - $parameter->getName(); - $declaration .= '$'.$name; - $declaration .= ','; - } - $declaration = rtrim($declaration, ','); - $declaration .= ') '; - - $returnType = $method->getReturnType(); - if (!empty($returnType)) { - $declaration .= ': '.$returnType; - } - - return $declaration; - } - - /** - * Returns a regex string used to match the - * declaration of some method. - * - * @param string $methodName - * @return string - */ - private function getDeclarationRegex($methodName) - { - return "/public\s+(?:static\s+)?function\s+$methodName\s*\(.*\)\s*(?=\{)/i"; - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Generator/StringManipulation/Pass/MethodDefinitionPass.php b/paragonik-backend/vendor/mockery/mockery/library/Mockery/Generator/StringManipulation/Pass/MethodDefinitionPass.php deleted file mode 100644 index c83ecf8..0000000 --- a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Generator/StringManipulation/Pass/MethodDefinitionPass.php +++ /dev/null @@ -1,175 +0,0 @@ -getMethodsToMock() as $method) { - if ($method->isPublic()) { - $methodDef = 'public'; - } elseif ($method->isProtected()) { - $methodDef = 'protected'; - } else { - $methodDef = 'private'; - } - - if ($method->isStatic()) { - $methodDef .= ' static'; - } - - $methodDef .= ' function '; - $methodDef .= $method->returnsReference() ? ' & ' : ''; - $methodDef .= $method->getName(); - $methodDef .= $this->renderParams($method, $config); - $methodDef .= $this->renderReturnType($method); - $methodDef .= $this->renderMethodBody($method, $config); - - $code = $this->appendToClass($code, $methodDef); - } - - return $code; - } - - protected function renderParams(Method $method, $config) - { - $class = $method->getDeclaringClass(); - if ($class->isInternal()) { - $overrides = $config->getParameterOverrides(); - - if (isset($overrides[strtolower($class->getName())][$method->getName()])) { - return '(' . implode(',', $overrides[strtolower($class->getName())][$method->getName()]) . ')'; - } - } - - $methodParams = array(); - $params = $method->getParameters(); - foreach ($params as $param) { - $paramDef = $this->renderTypeHint($param); - $paramDef .= $param->isPassedByReference() ? '&' : ''; - $paramDef .= $param->isVariadic() ? '...' : ''; - $paramDef .= '$' . $param->getName(); - - if (!$param->isVariadic()) { - if (false !== $param->isDefaultValueAvailable()) { - $paramDef .= ' = ' . var_export($param->getDefaultValue(), true); - } elseif ($param->isOptional()) { - $paramDef .= ' = null'; - } - } - - $methodParams[] = $paramDef; - } - return '(' . implode(', ', $methodParams) . ')'; - } - - protected function renderReturnType(Method $method) - { - $type = $method->getReturnType(); - return $type ? sprintf(': %s', $type) : ''; - } - - protected function appendToClass($class, $code) - { - $lastBrace = strrpos($class, "}"); - $class = substr($class, 0, $lastBrace) . $code . "\n }\n"; - return $class; - } - - protected function renderTypeHint(Parameter $param) - { - $typeHint = trim($param->getTypeHintAsString()); - - if (!empty($typeHint)) { - if (!\Mockery::isBuiltInType($typeHint)) { - $typeHint = '\\'.$typeHint; - } - - if (version_compare(PHP_VERSION, '7.1.0-dev') >= 0 && $param->allowsNull()) { - $typeHint = "?".$typeHint; - } - } - - return $typeHint .= ' '; - } - - private function renderMethodBody($method, $config) - { - $invoke = $method->isStatic() ? 'static::_mockery_handleStaticMethodCall' : '$this->_mockery_handleMethodCall'; - $body = <<getDeclaringClass(); - $class_name = strtolower($class->getName()); - $overrides = $config->getParameterOverrides(); - if (isset($overrides[$class_name][$method->getName()])) { - $params = array_values($overrides[$class_name][$method->getName()]); - $paramCount = count($params); - for ($i = 0; $i < $paramCount; ++$i) { - $param = $params[$i]; - if (strpos($param, '&') !== false) { - $body .= << $i) { - \$argv[$i] = {$param}; -} - -BODY; - } - } - } else { - $params = array_values($method->getParameters()); - $paramCount = count($params); - for ($i = 0; $i < $paramCount; ++$i) { - $param = $params[$i]; - if (!$param->isPassedByReference()) { - continue; - } - $body .= << $i) { - \$argv[$i] =& \${$param->getName()}; -} - -BODY; - } - } - - $body .= "\$ret = {$invoke}(__FUNCTION__, \$argv);\n"; - - if ($method->getReturnType() !== "void") { - $body .= "return \$ret;\n"; - } - - $body .= "}\n"; - return $body; - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Generator/StringManipulation/Pass/Pass.php b/paragonik-backend/vendor/mockery/mockery/library/Mockery/Generator/StringManipulation/Pass/Pass.php deleted file mode 100644 index f7b72c9..0000000 --- a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Generator/StringManipulation/Pass/Pass.php +++ /dev/null @@ -1,28 +0,0 @@ - '/public function __wakeup\(\)\s+\{.*?\}/sm', - ); - - public function apply($code, MockConfiguration $config) - { - $target = $config->getTargetClass(); - - if (!$target) { - return $code; - } - - foreach ($target->getMethods() as $method) { - if ($method->isFinal() && isset($this->methods[$method->getName()])) { - $code = preg_replace($this->methods[$method->getName()], '', $code); - } - } - - return $code; - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Generator/StringManipulation/Pass/RemoveDestructorPass.php b/paragonik-backend/vendor/mockery/mockery/library/Mockery/Generator/StringManipulation/Pass/RemoveDestructorPass.php deleted file mode 100644 index ed5a420..0000000 --- a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Generator/StringManipulation/Pass/RemoveDestructorPass.php +++ /dev/null @@ -1,45 +0,0 @@ - - */ - -namespace Mockery\Generator\StringManipulation\Pass; - -use Mockery\Generator\MockConfiguration; - -/** - * Remove mock's empty destructor if we tend to use original class destructor - */ -class RemoveDestructorPass -{ - public function apply($code, MockConfiguration $config) - { - $target = $config->getTargetClass(); - - if (!$target) { - return $code; - } - - if (!$config->isMockOriginalDestructor()) { - $code = preg_replace('/public function __destruct\(\)\s+\{.*?\}/sm', '', $code); - } - - return $code; - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Generator/StringManipulation/Pass/RemoveUnserializeForInternalSerializableClassesPass.php b/paragonik-backend/vendor/mockery/mockery/library/Mockery/Generator/StringManipulation/Pass/RemoveUnserializeForInternalSerializableClassesPass.php deleted file mode 100644 index 840fe99..0000000 --- a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Generator/StringManipulation/Pass/RemoveUnserializeForInternalSerializableClassesPass.php +++ /dev/null @@ -1,58 +0,0 @@ -getTargetClass(); - - if (!$target) { - return $code; - } - - if (!$target->hasInternalAncestor() || !$target->implementsInterface("Serializable")) { - return $code; - } - - $code = $this->appendToClass($code, self::DUMMY_METHOD_DEFINITION); - - return $code; - } - - protected function appendToClass($class, $code) - { - $lastBrace = strrpos($class, "}"); - $class = substr($class, 0, $lastBrace) . $code . "\n }\n"; - return $class; - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Generator/StringManipulation/Pass/TraitPass.php b/paragonik-backend/vendor/mockery/mockery/library/Mockery/Generator/StringManipulation/Pass/TraitPass.php deleted file mode 100644 index 13343c3..0000000 --- a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Generator/StringManipulation/Pass/TraitPass.php +++ /dev/null @@ -1,47 +0,0 @@ -getTargetTraits(); - - if (empty($traits)) { - return $code; - } - - $useStatements = array_map(function ($trait) { - return "use \\\\".ltrim($trait->getName(), "\\").";"; - }, $traits); - - $code = preg_replace( - '/^{$/m', - "{\n ".implode("\n ", $useStatements)."\n", - $code - ); - - return $code; - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Generator/StringManipulationGenerator.php b/paragonik-backend/vendor/mockery/mockery/library/Mockery/Generator/StringManipulationGenerator.php deleted file mode 100644 index 4bc415f..0000000 --- a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Generator/StringManipulationGenerator.php +++ /dev/null @@ -1,89 +0,0 @@ -passes = $passes; - } - - public function generate(MockConfiguration $config) - { - $code = file_get_contents(__DIR__ . '/../Mock.php'); - $className = $config->getName() ?: $config->generateName(); - - $namedConfig = $config->rename($className); - - foreach ($this->passes as $pass) { - $code = $pass->apply($code, $namedConfig); - } - - return new MockDefinition($namedConfig, $code); - } - - public function addPass(Pass $pass) - { - $this->passes[] = $pass; - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Generator/TargetClassInterface.php b/paragonik-backend/vendor/mockery/mockery/library/Mockery/Generator/TargetClassInterface.php deleted file mode 100644 index 7724412..0000000 --- a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Generator/TargetClassInterface.php +++ /dev/null @@ -1,107 +0,0 @@ -name = $name; - } - - public static function factory($name) - { - return new self($name); - } - - public function getName() - { - return $this->name; - } - - public function isAbstract() - { - return false; - } - - public function isFinal() - { - return false; - } - - public function getMethods() - { - return array(); - } - - public function getInterfaces() - { - return array(); - } - - public function getNamespaceName() - { - $parts = explode("\\", ltrim($this->getName(), "\\")); - array_pop($parts); - return implode("\\", $parts); - } - - public function inNamespace() - { - return $this->getNamespaceName() !== ''; - } - - public function getShortName() - { - $parts = explode("\\", $this->getName()); - return array_pop($parts); - } - - public function implementsInterface($interface) - { - return false; - } - - public function hasInternalAncestor() - { - return false; - } - - public function __toString() - { - return $this->name; - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/library/Mockery/HigherOrderMessage.php b/paragonik-backend/vendor/mockery/mockery/library/Mockery/HigherOrderMessage.php deleted file mode 100644 index 1c13c89..0000000 --- a/paragonik-backend/vendor/mockery/mockery/library/Mockery/HigherOrderMessage.php +++ /dev/null @@ -1,49 +0,0 @@ -mock = $mock; - $this->method = $method; - } - - /** - * @return \Mockery\Expectation - */ - public function __call($method, $args) - { - if ($this->method === 'shouldNotHaveReceived') { - return $this->mock->{$this->method}($method, $args); - } - - $expectation = $this->mock->{$this->method}($method); - return $expectation->withArgs($args); - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Instantiator.php b/paragonik-backend/vendor/mockery/mockery/library/Mockery/Instantiator.php deleted file mode 100644 index 0e2c464..0000000 --- a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Instantiator.php +++ /dev/null @@ -1,209 +0,0 @@ -. - */ - -namespace Mockery; - -use Closure; -use ReflectionClass; -use UnexpectedValueException; -use InvalidArgumentException; - -/** - * This is a trimmed down version of https://github.com/doctrine/instantiator, - * basically without the caching - * - * @author Marco Pivetta - */ -final class Instantiator -{ - /** - * Markers used internally by PHP to define whether {@see \unserialize} should invoke - * the method {@see \Serializable::unserialize()} when dealing with classes implementing - * the {@see \Serializable} interface. - */ - const SERIALIZATION_FORMAT_USE_UNSERIALIZER = 'C'; - const SERIALIZATION_FORMAT_AVOID_UNSERIALIZER = 'O'; - - /** - * {@inheritDoc} - */ - public function instantiate($className) - { - $factory = $this->buildFactory($className); - $instance = $factory(); - - return $instance; - } - - /** - * @internal - * @private - * - * Builds a {@see \Closure} capable of instantiating the given $className without - * invoking its constructor. - * This method is only exposed as public because of PHP 5.3 compatibility. Do not - * use this method in your own code - * - * @param string $className - * - * @return Closure - */ - public function buildFactory($className) - { - $reflectionClass = $this->getReflectionClass($className); - - if ($this->isInstantiableViaReflection($reflectionClass)) { - return function () use ($reflectionClass) { - return $reflectionClass->newInstanceWithoutConstructor(); - }; - } - - $serializedString = sprintf( - '%s:%d:"%s":0:{}', - $this->getSerializationFormat($reflectionClass), - strlen($className), - $className - ); - - $this->attemptInstantiationViaUnSerialization($reflectionClass, $serializedString); - - return function () use ($serializedString) { - return unserialize($serializedString); - }; - } - - /** - * @param string $className - * - * @return ReflectionClass - * - * @throws InvalidArgumentException - */ - private function getReflectionClass($className) - { - if (! class_exists($className)) { - throw new InvalidArgumentException("Class:$className does not exist"); - } - - $reflection = new ReflectionClass($className); - - if ($reflection->isAbstract()) { - throw new InvalidArgumentException("Class:$className is an abstract class"); - } - - return $reflection; - } - - /** - * @param ReflectionClass $reflectionClass - * @param string $serializedString - * - * @throws UnexpectedValueException - * - * @return void - */ - private function attemptInstantiationViaUnSerialization(ReflectionClass $reflectionClass, $serializedString) - { - set_error_handler(function ($code, $message, $file, $line) use ($reflectionClass, & $error) { - $msg = sprintf( - 'Could not produce an instance of "%s" via un-serialization, since an error was triggered in file "%s" at line "%d"', - $reflectionClass->getName(), - $file, - $line - ); - - $error = new UnexpectedValueException($msg, 0, new \Exception($message, $code)); - }); - - try { - unserialize($serializedString); - } catch (\Exception $exception) { - restore_error_handler(); - - throw new UnexpectedValueException("An exception was raised while trying to instantiate an instance of \"{$reflectionClass->getName()}\" via un-serialization", 0, $exception); - } - - restore_error_handler(); - - if ($error) { - throw $error; - } - } - - /** - * @param ReflectionClass $reflectionClass - * - * @return bool - */ - private function isInstantiableViaReflection(ReflectionClass $reflectionClass) - { - return ! ($reflectionClass->isInternal() && $reflectionClass->isFinal()); - } - - /** - * Verifies whether the given class is to be considered internal - * - * @param ReflectionClass $reflectionClass - * - * @return bool - */ - private function hasInternalAncestors(ReflectionClass $reflectionClass) - { - do { - if ($reflectionClass->isInternal()) { - return true; - } - } while ($reflectionClass = $reflectionClass->getParentClass()); - - return false; - } - - /** - * Verifies if the given PHP version implements the `Serializable` interface serialization - * with an incompatible serialization format. If that's the case, use serialization marker - * "C" instead of "O". - * - * @link http://news.php.net/php.internals/74654 - * - * @param ReflectionClass $reflectionClass - * - * @return string the serialization format marker, either self::SERIALIZATION_FORMAT_USE_UNSERIALIZER - * or self::SERIALIZATION_FORMAT_AVOID_UNSERIALIZER - */ - private function getSerializationFormat(ReflectionClass $reflectionClass) - { - if ($this->isPhpVersionWithBrokenSerializationFormat() - && $reflectionClass->implementsInterface('Serializable') - ) { - return self::SERIALIZATION_FORMAT_USE_UNSERIALIZER; - } - - return self::SERIALIZATION_FORMAT_AVOID_UNSERIALIZER; - } - - /** - * Checks whether the current PHP runtime uses an incompatible serialization format - * - * @return bool - */ - private function isPhpVersionWithBrokenSerializationFormat() - { - return PHP_VERSION_ID === 50429 || PHP_VERSION_ID === 50513; - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/library/Mockery/LegacyMockInterface.php b/paragonik-backend/vendor/mockery/mockery/library/Mockery/LegacyMockInterface.php deleted file mode 100644 index 0c12767..0000000 --- a/paragonik-backend/vendor/mockery/mockery/library/Mockery/LegacyMockInterface.php +++ /dev/null @@ -1,240 +0,0 @@ -getClassName(), false)) { - return; - } - - eval("?>" . $definition->getCode()); - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Loader/Loader.php b/paragonik-backend/vendor/mockery/mockery/library/Mockery/Loader/Loader.php deleted file mode 100644 index 170ffb6..0000000 --- a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Loader/Loader.php +++ /dev/null @@ -1,28 +0,0 @@ -path = realpath($path) ?: sys_get_temp_dir(); - } - - public function load(MockDefinition $definition) - { - if (class_exists($definition->getClassName(), false)) { - return; - } - - $tmpfname = $this->path.DIRECTORY_SEPARATOR."Mockery_".uniqid().".php"; - file_put_contents($tmpfname, $definition->getCode()); - - require $tmpfname; - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Matcher/AndAnyOtherArgs.php b/paragonik-backend/vendor/mockery/mockery/library/Mockery/Matcher/AndAnyOtherArgs.php deleted file mode 100644 index e3c3b94..0000000 --- a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Matcher/AndAnyOtherArgs.php +++ /dev/null @@ -1,45 +0,0 @@ -'; - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Matcher/Any.php b/paragonik-backend/vendor/mockery/mockery/library/Mockery/Matcher/Any.php deleted file mode 100644 index 1ff440b..0000000 --- a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Matcher/Any.php +++ /dev/null @@ -1,45 +0,0 @@ -'; - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Matcher/AnyArgs.php b/paragonik-backend/vendor/mockery/mockery/library/Mockery/Matcher/AnyArgs.php deleted file mode 100644 index 9663a76..0000000 --- a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Matcher/AnyArgs.php +++ /dev/null @@ -1,40 +0,0 @@ -'; - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Matcher/AnyOf.php b/paragonik-backend/vendor/mockery/mockery/library/Mockery/Matcher/AnyOf.php deleted file mode 100644 index bcce4b7..0000000 --- a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Matcher/AnyOf.php +++ /dev/null @@ -1,46 +0,0 @@ -_expected, true); - } - - /** - * Return a string representation of this Matcher - * - * @return string - */ - public function __toString() - { - return ''; - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Matcher/ArgumentListMatcher.php b/paragonik-backend/vendor/mockery/mockery/library/Mockery/Matcher/ArgumentListMatcher.php deleted file mode 100644 index 04408f5..0000000 --- a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Matcher/ArgumentListMatcher.php +++ /dev/null @@ -1,25 +0,0 @@ -_expected; - $result = $closure($actual); - return $result === true; - } - - /** - * Return a string representation of this Matcher - * - * @return string - */ - public function __toString() - { - return ''; - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Matcher/Contains.php b/paragonik-backend/vendor/mockery/mockery/library/Mockery/Matcher/Contains.php deleted file mode 100644 index 79afb73..0000000 --- a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Matcher/Contains.php +++ /dev/null @@ -1,64 +0,0 @@ -_expected as $exp) { - $match = false; - foreach ($values as $val) { - if ($exp === $val || $exp == $val) { - $match = true; - break; - } - } - if ($match === false) { - return false; - } - } - return true; - } - - /** - * Return a string representation of this Matcher - * - * @return string - */ - public function __toString() - { - $return = '_expected as $v) { - $elements[] = (string) $v; - } - $return .= implode(', ', $elements) . ']>'; - return $return; - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Matcher/Ducktype.php b/paragonik-backend/vendor/mockery/mockery/library/Mockery/Matcher/Ducktype.php deleted file mode 100644 index 291f422..0000000 --- a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Matcher/Ducktype.php +++ /dev/null @@ -1,53 +0,0 @@ -_expected as $method) { - if (!method_exists($actual, $method)) { - return false; - } - } - return true; - } - - /** - * Return a string representation of this Matcher - * - * @return string - */ - public function __toString() - { - return '_expected) . ']>'; - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Matcher/HasKey.php b/paragonik-backend/vendor/mockery/mockery/library/Mockery/Matcher/HasKey.php deleted file mode 100644 index fa983ea..0000000 --- a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Matcher/HasKey.php +++ /dev/null @@ -1,45 +0,0 @@ -_expected, $actual); - } - - /** - * Return a string representation of this Matcher - * - * @return string - */ - public function __toString() - { - return "_expected]>"; - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Matcher/HasValue.php b/paragonik-backend/vendor/mockery/mockery/library/Mockery/Matcher/HasValue.php deleted file mode 100644 index 8ca6afd..0000000 --- a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Matcher/HasValue.php +++ /dev/null @@ -1,46 +0,0 @@ -_expected, $actual); - } - - /** - * Return a string representation of this Matcher - * - * @return string - */ - public function __toString() - { - $return = '_expected . ']>'; - return $return; - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Matcher/MatcherAbstract.php b/paragonik-backend/vendor/mockery/mockery/library/Mockery/Matcher/MatcherAbstract.php deleted file mode 100644 index 3233079..0000000 --- a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Matcher/MatcherAbstract.php +++ /dev/null @@ -1,58 +0,0 @@ -_expected = $expected; - } - - /** - * Check if the actual value matches the expected. - * Actual passed by reference to preserve reference trail (where applicable) - * back to the original method parameter. - * - * @param mixed $actual - * @return bool - */ - abstract public function match(&$actual); - - /** - * Return a string representation of this Matcher - * - * @return string - */ - abstract public function __toString(); -} diff --git a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Matcher/MultiArgumentClosure.php b/paragonik-backend/vendor/mockery/mockery/library/Mockery/Matcher/MultiArgumentClosure.php deleted file mode 100644 index 8f00a89..0000000 --- a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Matcher/MultiArgumentClosure.php +++ /dev/null @@ -1,49 +0,0 @@ -_expected; - return true === call_user_func_array($closure, $actual); - } - - /** - * Return a string representation of this Matcher - * - * @return string - */ - public function __toString() - { - return ''; - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Matcher/MustBe.php b/paragonik-backend/vendor/mockery/mockery/library/Mockery/Matcher/MustBe.php deleted file mode 100644 index 27b5ec5..0000000 --- a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Matcher/MustBe.php +++ /dev/null @@ -1,52 +0,0 @@ -_expected === $actual; - } - - return $this->_expected == $actual; - } - - /** - * Return a string representation of this Matcher - * - * @return string - */ - public function __toString() - { - return ''; - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Matcher/NoArgs.php b/paragonik-backend/vendor/mockery/mockery/library/Mockery/Matcher/NoArgs.php deleted file mode 100644 index 5e9e418..0000000 --- a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Matcher/NoArgs.php +++ /dev/null @@ -1,40 +0,0 @@ -'; - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Matcher/Not.php b/paragonik-backend/vendor/mockery/mockery/library/Mockery/Matcher/Not.php deleted file mode 100644 index 756ccaa..0000000 --- a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Matcher/Not.php +++ /dev/null @@ -1,46 +0,0 @@ -_expected; - } - - /** - * Return a string representation of this Matcher - * - * @return string - */ - public function __toString() - { - return ''; - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Matcher/NotAnyOf.php b/paragonik-backend/vendor/mockery/mockery/library/Mockery/Matcher/NotAnyOf.php deleted file mode 100644 index cd82701..0000000 --- a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Matcher/NotAnyOf.php +++ /dev/null @@ -1,51 +0,0 @@ -_expected as $exp) { - if ($actual === $exp || $actual == $exp) { - return false; - } - } - return true; - } - - /** - * Return a string representation of this Matcher - * - * @return string - */ - public function __toString() - { - return ''; - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Matcher/PHPUnitConstraint.php b/paragonik-backend/vendor/mockery/mockery/library/Mockery/Matcher/PHPUnitConstraint.php deleted file mode 100644 index a9aaf4c..0000000 --- a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Matcher/PHPUnitConstraint.php +++ /dev/null @@ -1,76 +0,0 @@ -constraint = $constraint; - $this->rethrow = $rethrow; - } - - /** - * @param mixed $actual - * @return bool - */ - public function match(&$actual) - { - try { - $this->constraint->evaluate($actual); - return true; - } catch (\PHPUnit_Framework_AssertionFailedError $e) { - if ($this->rethrow) { - throw $e; - } - return false; - } catch (\PHPUnit\Framework\AssertionFailedError $e) { - if ($this->rethrow) { - throw $e; - } - return false; - } - } - - /** - * - */ - public function __toString() - { - return ''; - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Matcher/Pattern.php b/paragonik-backend/vendor/mockery/mockery/library/Mockery/Matcher/Pattern.php deleted file mode 100644 index 362c366..0000000 --- a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Matcher/Pattern.php +++ /dev/null @@ -1,45 +0,0 @@ -_expected, (string) $actual) >= 1; - } - - /** - * Return a string representation of this Matcher - * - * @return string - */ - public function __toString() - { - return ''; - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Matcher/Subset.php b/paragonik-backend/vendor/mockery/mockery/library/Mockery/Matcher/Subset.php deleted file mode 100644 index 5e706c8..0000000 --- a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Matcher/Subset.php +++ /dev/null @@ -1,92 +0,0 @@ -expected = $expected; - $this->strict = $strict; - } - - /** - * @param array $expected Expected subset of data - * - * @return Subset - */ - public static function strict(array $expected) - { - return new static($expected, true); - } - - /** - * @param array $expected Expected subset of data - * - * @return Subset - */ - public static function loose(array $expected) - { - return new static($expected, false); - } - - /** - * Check if the actual value matches the expected. - * - * @param mixed $actual - * @return bool - */ - public function match(&$actual) - { - if (!is_array($actual)) { - return false; - } - - if ($this->strict) { - return $actual === array_replace_recursive($actual, $this->expected); - } - - return $actual == array_replace_recursive($actual, $this->expected); - } - - /** - * Return a string representation of this Matcher - * - * @return string - */ - public function __toString() - { - $return = 'expected as $k=>$v) { - $elements[] = $k . '=' . (string) $v; - } - $return .= implode(', ', $elements) . ']>'; - return $return; - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Matcher/Type.php b/paragonik-backend/vendor/mockery/mockery/library/Mockery/Matcher/Type.php deleted file mode 100644 index d81ce83..0000000 --- a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Matcher/Type.php +++ /dev/null @@ -1,56 +0,0 @@ -_expected == 'real') { - $function = 'is_float'; - } else { - $function = 'is_' . strtolower($this->_expected); - } - if (function_exists($function)) { - return $function($actual); - } elseif (is_string($this->_expected) - && (class_exists($this->_expected) || interface_exists($this->_expected))) { - return $actual instanceof $this->_expected; - } - return false; - } - - /** - * Return a string representation of this Matcher - * - * @return string - */ - public function __toString() - { - return '<' . ucfirst($this->_expected) . '>'; - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/library/Mockery/MethodCall.php b/paragonik-backend/vendor/mockery/mockery/library/Mockery/MethodCall.php deleted file mode 100644 index db68fd8..0000000 --- a/paragonik-backend/vendor/mockery/mockery/library/Mockery/MethodCall.php +++ /dev/null @@ -1,43 +0,0 @@ -method = $method; - $this->args = $args; - } - - public function getMethod() - { - return $this->method; - } - - public function getArgs() - { - return $this->args; - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Mock.php b/paragonik-backend/vendor/mockery/mockery/library/Mockery/Mock.php deleted file mode 100644 index 3ee5d44..0000000 --- a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Mock.php +++ /dev/null @@ -1,966 +0,0 @@ -_mockery_container = $container; - if (!is_null($partialObject)) { - $this->_mockery_partial = $partialObject; - } - - if (!\Mockery::getConfiguration()->mockingNonExistentMethodsAllowed()) { - foreach ($this->mockery_getMethods() as $method) { - if ($method->isPublic()) { - $this->_mockery_mockableMethods[] = $method->getName(); - } - } - } - - $this->_mockery_instanceMock = $instanceMock; - } - - /** - * Set expected method calls - * - * @param mixed ...$methodNames one or many methods that are expected to be called in this mock - * - * @return \Mockery\ExpectationInterface|\Mockery\Expectation|\Mockery\HigherOrderMessage - */ - public function shouldReceive(...$methodNames) - { - if (count($methodNames) === 0) { - return new HigherOrderMessage($this, "shouldReceive"); - } - - foreach ($methodNames as $method) { - if ("" == $method) { - throw new \InvalidArgumentException("Received empty method name"); - } - } - - $self = $this; - $allowMockingProtectedMethods = $this->_mockery_allowMockingProtectedMethods; - - $lastExpectation = \Mockery::parseShouldReturnArgs( - $this, $methodNames, function ($method) use ($self, $allowMockingProtectedMethods) { - $rm = $self->mockery_getMethod($method); - if ($rm) { - if ($rm->isPrivate()) { - throw new \InvalidArgumentException("$method() cannot be mocked as it is a private method"); - } - if (!$allowMockingProtectedMethods && $rm->isProtected()) { - throw new \InvalidArgumentException("$method() cannot be mocked as it is a protected method and mocking protected methods is not enabled for the currently used mock object. Use shouldAllowMockingProtectedMethods() to enable mocking of protected methods."); - } - } - - $director = $self->mockery_getExpectationsFor($method); - if (!$director) { - $director = new \Mockery\ExpectationDirector($method, $self); - $self->mockery_setExpectationsFor($method, $director); - } - $expectation = new \Mockery\Expectation($self, $method); - $director->addExpectation($expectation); - return $expectation; - } - ); - return $lastExpectation; - } - - // start method allows - /** - * @param mixed $something String method name or map of method => return - * @return self|\Mockery\ExpectationInterface|\Mockery\Expectation|\Mockery\HigherOrderMessage - */ - public function allows($something = []) - { - if (is_string($something)) { - return $this->shouldReceive($something); - } - - if (empty($something)) { - return $this->shouldReceive(); - } - - foreach ($something as $method => $returnValue) { - $this->shouldReceive($method)->andReturn($returnValue); - } - - return $this; - } - // end method allows - - // start method expects - /** - /** - * @param mixed $something String method name (optional) - * @return \Mockery\ExpectationInterface|\Mockery\Expectation|ExpectsHigherOrderMessage - */ - public function expects($something = null) - { - if (is_string($something)) { - return $this->shouldReceive($something)->once(); - } - - return new ExpectsHigherOrderMessage($this); - } - // end method expects - - /** - * Shortcut method for setting an expectation that a method should not be called. - * - * @param array ...$methodNames one or many methods that are expected not to be called in this mock - * @return \Mockery\ExpectationInterface|\Mockery\Expectation|\Mockery\HigherOrderMessage - */ - public function shouldNotReceive(...$methodNames) - { - if (count($methodNames) === 0) { - return new HigherOrderMessage($this, "shouldNotReceive"); - } - - $expectation = call_user_func_array(array($this, 'shouldReceive'), $methodNames); - $expectation->never(); - return $expectation; - } - - /** - * Allows additional methods to be mocked that do not explicitly exist on mocked class - * @param String $method name of the method to be mocked - * @return Mock - */ - public function shouldAllowMockingMethod($method) - { - $this->_mockery_mockableMethods[] = $method; - return $this; - } - - /** - * Set mock to ignore unexpected methods and return Undefined class - * @param mixed $returnValue the default return value for calls to missing functions on this mock - * @return Mock - */ - public function shouldIgnoreMissing($returnValue = null) - { - $this->_mockery_ignoreMissing = true; - $this->_mockery_defaultReturnValue = $returnValue; - return $this; - } - - public function asUndefined() - { - $this->_mockery_ignoreMissing = true; - $this->_mockery_defaultReturnValue = new \Mockery\Undefined; - return $this; - } - - /** - * @return Mock - */ - public function shouldAllowMockingProtectedMethods() - { - if (!\Mockery::getConfiguration()->mockingNonExistentMethodsAllowed()) { - foreach ($this->mockery_getMethods() as $method) { - if ($method->isProtected()) { - $this->_mockery_mockableMethods[] = $method->getName(); - } - } - } - - $this->_mockery_allowMockingProtectedMethods = true; - return $this; - } - - - /** - * Set mock to defer unexpected methods to it's parent - * - * This is particularly useless for this class, as it doesn't have a parent, - * but included for completeness - * - * @deprecated 2.0.0 Please use makePartial() instead - * - * @return Mock - */ - public function shouldDeferMissing() - { - return $this->makePartial(); - } - - /** - * Set mock to defer unexpected methods to it's parent - * - * It was an alias for shouldDeferMissing(), which will be removed - * in 2.0.0. - * - * @return Mock - */ - public function makePartial() - { - $this->_mockery_deferMissing = true; - return $this; - } - - /** - * In the event shouldReceive() accepting one or more methods/returns, - * this method will switch them from normal expectations to default - * expectations - * - * @return self - */ - public function byDefault() - { - foreach ($this->_mockery_expectations as $director) { - $exps = $director->getExpectations(); - foreach ($exps as $exp) { - $exp->byDefault(); - } - } - return $this; - } - - /** - * Capture calls to this mock - */ - public function __call($method, array $args) - { - return $this->_mockery_handleMethodCall($method, $args); - } - - public static function __callStatic($method, array $args) - { - return self::_mockery_handleStaticMethodCall($method, $args); - } - - /** - * Forward calls to this magic method to the __call method - */ - public function __toString() - { - return $this->__call('__toString', array()); - } - - /** - * Iterate across all expectation directors and validate each - * - * @throws \Mockery\CountValidator\Exception - * @return void - */ - public function mockery_verify() - { - if ($this->_mockery_verified) { - return; - } - if (isset($this->_mockery_ignoreVerification) - && $this->_mockery_ignoreVerification == true) { - return; - } - $this->_mockery_verified = true; - foreach ($this->_mockery_expectations as $director) { - $director->verify(); - } - } - - /** - * Gets a list of exceptions thrown by this mock - * - * @return array - */ - public function mockery_thrownExceptions() - { - return $this->_mockery_thrownExceptions; - } - - /** - * Tear down tasks for this mock - * - * @return void - */ - public function mockery_teardown() - { - } - - /** - * Fetch the next available allocation order number - * - * @return int - */ - public function mockery_allocateOrder() - { - $this->_mockery_allocatedOrder += 1; - return $this->_mockery_allocatedOrder; - } - - /** - * Set ordering for a group - * - * @param mixed $group - * @param int $order - */ - public function mockery_setGroup($group, $order) - { - $this->_mockery_groups[$group] = $order; - } - - /** - * Fetch array of ordered groups - * - * @return array - */ - public function mockery_getGroups() - { - return $this->_mockery_groups; - } - - /** - * Set current ordered number - * - * @param int $order - */ - public function mockery_setCurrentOrder($order) - { - $this->_mockery_currentOrder = $order; - return $this->_mockery_currentOrder; - } - - /** - * Get current ordered number - * - * @return int - */ - public function mockery_getCurrentOrder() - { - return $this->_mockery_currentOrder; - } - - /** - * Validate the current mock's ordering - * - * @param string $method - * @param int $order - * @throws \Mockery\Exception - * @return void - */ - public function mockery_validateOrder($method, $order) - { - if ($order < $this->_mockery_currentOrder) { - $exception = new \Mockery\Exception\InvalidOrderException( - 'Method ' . __CLASS__ . '::' . $method . '()' - . ' called out of order: expected order ' - . $order . ', was ' . $this->_mockery_currentOrder - ); - $exception->setMock($this) - ->setMethodName($method) - ->setExpectedOrder($order) - ->setActualOrder($this->_mockery_currentOrder); - throw $exception; - } - $this->mockery_setCurrentOrder($order); - } - - /** - * Gets the count of expectations for this mock - * - * @return int - */ - public function mockery_getExpectationCount() - { - $count = $this->_mockery_expectations_count; - foreach ($this->_mockery_expectations as $director) { - $count += $director->getExpectationCount(); - } - return $count; - } - - /** - * Return the expectations director for the given method - * - * @var string $method - * @return \Mockery\ExpectationDirector|null - */ - public function mockery_setExpectationsFor($method, \Mockery\ExpectationDirector $director) - { - $this->_mockery_expectations[$method] = $director; - } - - /** - * Return the expectations director for the given method - * - * @var string $method - * @return \Mockery\ExpectationDirector|null - */ - public function mockery_getExpectationsFor($method) - { - if (isset($this->_mockery_expectations[$method])) { - return $this->_mockery_expectations[$method]; - } - } - - /** - * Find an expectation matching the given method and arguments - * - * @var string $method - * @var array $args - * @return \Mockery\Expectation|null - */ - public function mockery_findExpectation($method, array $args) - { - if (!isset($this->_mockery_expectations[$method])) { - return null; - } - $director = $this->_mockery_expectations[$method]; - - return $director->findExpectation($args); - } - - /** - * Return the container for this mock - * - * @return \Mockery\Container - */ - public function mockery_getContainer() - { - return $this->_mockery_container; - } - - /** - * Return the name for this mock - * - * @return string - */ - public function mockery_getName() - { - return __CLASS__; - } - - /** - * @return array - */ - public function mockery_getMockableProperties() - { - return $this->_mockery_mockableProperties; - } - - public function __isset($name) - { - if (false === stripos($name, '_mockery_') && method_exists(get_parent_class($this), '__isset')) { - return call_user_func('parent::__isset', $name); - } - - return false; - } - - public function mockery_getExpectations() - { - return $this->_mockery_expectations; - } - - /** - * Calls a parent class method and returns the result. Used in a passthru - * expectation where a real return value is required while still taking - * advantage of expectation matching and call count verification. - * - * @param string $name - * @param array $args - * @return mixed - */ - public function mockery_callSubjectMethod($name, array $args) - { - if (!method_exists($this, $name) && method_exists(get_parent_class($this), '__call')) { - return call_user_func('parent::__call', $name, $args); - } - return call_user_func_array('parent::' . $name, $args); - } - - /** - * @return string[] - */ - public function mockery_getMockableMethods() - { - return $this->_mockery_mockableMethods; - } - - /** - * @return bool - */ - public function mockery_isAnonymous() - { - $rfc = new \ReflectionClass($this); - - // HHVM has a Stringish interface - $interfaces = array_filter($rfc->getInterfaces(), function ($i) { - return $i->getName() !== "Stringish"; - }); - $onlyImplementsMock = 2 == count($interfaces); - - return (false === $rfc->getParentClass()) && $onlyImplementsMock; - } - - public function mockery_isInstance() - { - return $this->_mockery_instanceMock; - } - - public function __wakeup() - { - /** - * This does not add __wakeup method support. It's a blind method and any - * expected __wakeup work will NOT be performed. It merely cuts off - * annoying errors where a __wakeup exists but is not essential when - * mocking - */ - } - - public function __destruct() - { - /** - * Overrides real class destructor in case if class was created without original constructor - */ - } - - public function mockery_getMethod($name) - { - foreach ($this->mockery_getMethods() as $method) { - if ($method->getName() == $name) { - return $method; - } - } - - return null; - } - - /** - * @param string $name Method name. - * - * @return mixed Generated return value based on the declared return value of the named method. - */ - public function mockery_returnValueForMethod($name) - { - if (version_compare(PHP_VERSION, '7.0.0-dev') < 0) { - return; - } - - $rm = $this->mockery_getMethod($name); - if (!$rm || !$rm->hasReturnType()) { - return; - } - - $returnType = $rm->getReturnType(); - - // Default return value for methods with nullable type is null - if ($returnType->allowsNull()) { - return null; - } - - $type = PHP_VERSION_ID >= 70100 ? $returnType->getName() : (string) $returnType; - switch ($type) { - case '': return; - case 'string': return ''; - case 'int': return 0; - case 'float': return 0.0; - case 'bool': return false; - case 'array': return []; - - case 'callable': - case 'Closure': - return function () { - }; - - case 'Traversable': - case 'Generator': - // Remove eval() when minimum version >=5.5 - $generator = eval('return function () { yield; };'); - return $generator(); - - case 'self': - return \Mockery::mock($rm->getDeclaringClass()->getName()); - - case 'void': - return null; - - case 'object': - if (version_compare(PHP_VERSION, '7.2.0-dev') >= 0) { - return \Mockery::mock(); - } - - default: - return \Mockery::mock($type); - } - } - - public function shouldHaveReceived($method = null, $args = null) - { - if ($method === null) { - return new HigherOrderMessage($this, "shouldHaveReceived"); - } - - $expectation = new \Mockery\VerificationExpectation($this, $method); - if (null !== $args) { - $expectation->withArgs($args); - } - $expectation->atLeast()->once(); - $director = new \Mockery\VerificationDirector($this->_mockery_getReceivedMethodCalls(), $expectation); - $this->_mockery_expectations_count++; - $director->verify(); - return $director; - } - - public function shouldHaveBeenCalled() - { - return $this->shouldHaveReceived("__invoke"); - } - - public function shouldNotHaveReceived($method = null, $args = null) - { - if ($method === null) { - return new HigherOrderMessage($this, "shouldNotHaveReceived"); - } - - $expectation = new \Mockery\VerificationExpectation($this, $method); - if (null !== $args) { - $expectation->withArgs($args); - } - $expectation->never(); - $director = new \Mockery\VerificationDirector($this->_mockery_getReceivedMethodCalls(), $expectation); - $this->_mockery_expectations_count++; - $director->verify(); - return null; - } - - public function shouldNotHaveBeenCalled(array $args = null) - { - return $this->shouldNotHaveReceived("__invoke", $args); - } - - protected static function _mockery_handleStaticMethodCall($method, array $args) - { - $associatedRealObject = \Mockery::fetchMock(__CLASS__); - try { - return $associatedRealObject->__call($method, $args); - } catch (BadMethodCallException $e) { - throw new BadMethodCallException( - 'Static method ' . $associatedRealObject->mockery_getName() . '::' . $method - . '() does not exist on this mock object', - null, - $e - ); - } - } - - protected function _mockery_getReceivedMethodCalls() - { - return $this->_mockery_receivedMethodCalls ?: $this->_mockery_receivedMethodCalls = new \Mockery\ReceivedMethodCalls(); - } - - /** - * Called when an instance Mock was created and its constructor is getting called - * - * @see \Mockery\Generator\StringManipulation\Pass\InstanceMockPass - * @param array $args - */ - protected function _mockery_constructorCalled(array $args) - { - if (!isset($this->_mockery_expectations['__construct']) /* _mockery_handleMethodCall runs the other checks */) { - return; - } - $this->_mockery_handleMethodCall('__construct', $args); - } - - protected function _mockery_findExpectedMethodHandler($method) - { - if (isset($this->_mockery_expectations[$method])) { - return $this->_mockery_expectations[$method]; - } - - $lowerCasedMockeryExpectations = array_change_key_case($this->_mockery_expectations, CASE_LOWER); - $lowerCasedMethod = strtolower($method); - - if (isset($lowerCasedMockeryExpectations[$lowerCasedMethod])) { - return $lowerCasedMockeryExpectations[$lowerCasedMethod]; - } - - return null; - } - - protected function _mockery_handleMethodCall($method, array $args) - { - $this->_mockery_getReceivedMethodCalls()->push(new \Mockery\MethodCall($method, $args)); - - $rm = $this->mockery_getMethod($method); - if ($rm && $rm->isProtected() && !$this->_mockery_allowMockingProtectedMethods) { - if ($rm->isAbstract()) { - return; - } - - try { - $prototype = $rm->getPrototype(); - if ($prototype->isAbstract()) { - return; - } - } catch (\ReflectionException $re) { - // noop - there is no hasPrototype method - } - - return call_user_func_array("parent::$method", $args); - } - - $handler = $this->_mockery_findExpectedMethodHandler($method); - - if ($handler !== null && !$this->_mockery_disableExpectationMatching) { - try { - return $handler->call($args); - } catch (\Mockery\Exception\NoMatchingExpectationException $e) { - if (!$this->_mockery_ignoreMissing && !$this->_mockery_deferMissing) { - throw $e; - } - } - } - - if (!is_null($this->_mockery_partial) && - (method_exists($this->_mockery_partial, $method) || method_exists($this->_mockery_partial, '__call')) - ) { - return call_user_func_array(array($this->_mockery_partial, $method), $args); - } elseif ($this->_mockery_deferMissing && is_callable("parent::$method") - && (!$this->hasMethodOverloadingInParentClass() || method_exists(get_parent_class($this), $method))) { - return call_user_func_array("parent::$method", $args); - } elseif ($this->_mockery_deferMissing && method_exists(get_parent_class($this), '__call')) { - return call_user_func('parent::__call', $method, $args); - } elseif ($method == '__toString') { - // __toString is special because we force its addition to the class API regardless of the - // original implementation. Thus, we should always return a string rather than honor - // _mockery_ignoreMissing and break the API with an error. - return sprintf("%s#%s", __CLASS__, spl_object_hash($this)); - } elseif ($this->_mockery_ignoreMissing) { - if (\Mockery::getConfiguration()->mockingNonExistentMethodsAllowed() || (method_exists($this->_mockery_partial, $method) || is_callable("parent::$method"))) { - if ($this->_mockery_defaultReturnValue instanceof \Mockery\Undefined) { - return call_user_func_array(array($this->_mockery_defaultReturnValue, $method), $args); - } elseif (null === $this->_mockery_defaultReturnValue) { - return $this->mockery_returnValueForMethod($method); - } - - return $this->_mockery_defaultReturnValue; - } - } - - $message = 'Method ' . __CLASS__ . '::' . $method . - '() does not exist on this mock object'; - - if (!is_null($rm)) { - $message = 'Received ' . __CLASS__ . - '::' . $method . '(), but no expectations were specified'; - } - - $bmce = new BadMethodCallException($message); - $this->_mockery_thrownExceptions[] = $bmce; - throw $bmce; - } - - /** - * Uses reflection to get the list of all - * methods within the current mock object - * - * @return array - */ - protected function mockery_getMethods() - { - if (static::$_mockery_methods && \Mockery::getConfiguration()->reflectionCacheEnabled()) { - return static::$_mockery_methods; - } - - if (isset($this->_mockery_partial)) { - $reflected = new \ReflectionObject($this->_mockery_partial); - } else { - $reflected = new \ReflectionClass($this); - } - - return static::$_mockery_methods = $reflected->getMethods(); - } - - private function hasMethodOverloadingInParentClass() - { - // if there's __call any name would be callable - return is_callable('parent::aFunctionNameThatNoOneWouldEverUseInRealLife12345'); - } - - /** - * @return array - */ - private function getNonPublicMethods() - { - return array_map( - function ($method) { - return $method->getName(); - }, - array_filter($this->mockery_getMethods(), function ($method) { - return !$method->isPublic(); - }) - ); - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/library/Mockery/MockInterface.php b/paragonik-backend/vendor/mockery/mockery/library/Mockery/MockInterface.php deleted file mode 100644 index 7c1774b..0000000 --- a/paragonik-backend/vendor/mockery/mockery/library/Mockery/MockInterface.php +++ /dev/null @@ -1,38 +0,0 @@ - return - * @return self|\Mockery\ExpectationInterface|\Mockery\Expectation|\Mockery\HigherOrderMessage - */ - public function allows($something = []); - - /** - * @param mixed $something String method name (optional) - * @return \Mockery\ExpectationInterface|\Mockery\Expectation|\Mockery\ExpectsHigherOrderMessage - */ - public function expects($something = null); -} diff --git a/paragonik-backend/vendor/mockery/mockery/library/Mockery/ReceivedMethodCalls.php b/paragonik-backend/vendor/mockery/mockery/library/Mockery/ReceivedMethodCalls.php deleted file mode 100644 index da771c0..0000000 --- a/paragonik-backend/vendor/mockery/mockery/library/Mockery/ReceivedMethodCalls.php +++ /dev/null @@ -1,48 +0,0 @@ -methodCalls[] = $methodCall; - } - - public function verify(Expectation $expectation) - { - foreach ($this->methodCalls as $methodCall) { - if ($methodCall->getMethod() !== $expectation->getName()) { - continue; - } - - if (!$expectation->matchArgs($methodCall->getArgs())) { - continue; - } - - $expectation->verifyCall($methodCall->getArgs()); - } - - $expectation->verify(); - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Undefined.php b/paragonik-backend/vendor/mockery/mockery/library/Mockery/Undefined.php deleted file mode 100644 index 53b05e9..0000000 --- a/paragonik-backend/vendor/mockery/mockery/library/Mockery/Undefined.php +++ /dev/null @@ -1,46 +0,0 @@ -receivedMethodCalls = $receivedMethodCalls; - $this->expectation = $expectation; - } - - public function verify() - { - return $this->receivedMethodCalls->verify($this->expectation); - } - - public function with(...$args) - { - return $this->cloneApplyAndVerify("with", $args); - } - - public function withArgs($args) - { - return $this->cloneApplyAndVerify("withArgs", array($args)); - } - - public function withNoArgs() - { - return $this->cloneApplyAndVerify("withNoArgs", array()); - } - - public function withAnyArgs() - { - return $this->cloneApplyAndVerify("withAnyArgs", array()); - } - - public function times($limit = null) - { - return $this->cloneWithoutCountValidatorsApplyAndVerify("times", array($limit)); - } - - public function once() - { - return $this->cloneWithoutCountValidatorsApplyAndVerify("once", array()); - } - - public function twice() - { - return $this->cloneWithoutCountValidatorsApplyAndVerify("twice", array()); - } - - public function atLeast() - { - return $this->cloneWithoutCountValidatorsApplyAndVerify("atLeast", array()); - } - - public function atMost() - { - return $this->cloneWithoutCountValidatorsApplyAndVerify("atMost", array()); - } - - public function between($minimum, $maximum) - { - return $this->cloneWithoutCountValidatorsApplyAndVerify("between", array($minimum, $maximum)); - } - - protected function cloneWithoutCountValidatorsApplyAndVerify($method, $args) - { - $expectation = clone $this->expectation; - $expectation->clearCountValidators(); - call_user_func_array(array($expectation, $method), $args); - $director = new VerificationDirector($this->receivedMethodCalls, $expectation); - $director->verify(); - return $director; - } - - protected function cloneApplyAndVerify($method, $args) - { - $expectation = clone $this->expectation; - call_user_func_array(array($expectation, $method), $args); - $director = new VerificationDirector($this->receivedMethodCalls, $expectation); - $director->verify(); - return $director; - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/library/Mockery/VerificationExpectation.php b/paragonik-backend/vendor/mockery/mockery/library/Mockery/VerificationExpectation.php deleted file mode 100644 index 3844a09..0000000 --- a/paragonik-backend/vendor/mockery/mockery/library/Mockery/VerificationExpectation.php +++ /dev/null @@ -1,35 +0,0 @@ -_countValidators = array(); - } - - public function __clone() - { - parent::__clone(); - $this->_actualCount = 0; - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/library/helpers.php b/paragonik-backend/vendor/mockery/mockery/library/helpers.php deleted file mode 100644 index 0756a32..0000000 --- a/paragonik-backend/vendor/mockery/mockery/library/helpers.php +++ /dev/null @@ -1,65 +0,0 @@ - - - - - ./tests - ./tests/PHP70 - ./tests/PHP72 - - ./tests/PHP56 - ./tests/Mockery/MockingVariadicArgumentsTest.php - - - - ./tests - ./tests/PHP56 - - ./tests/PHP70 - ./tests/PHP72 - ./tests/Mockery/MockingVariadicArgumentsTest.php - - - - - - ./library/ - - ./library/Mockery/Adapter/Phpunit/Legacy - ./library/Mockery/Adapter/Phpunit/TestListener.php - ./library/Mockery/Adapter/Phpunit/MockeryPHPUnitIntegrationAssertPostConditionsForV8.php - ./library/Mockery/Adapter/Phpunit/MockeryTestCaseSetUpForV8.php - - - - - diff --git a/paragonik-backend/vendor/mockery/mockery/tests/Bootstrap.php b/paragonik-backend/vendor/mockery/mockery/tests/Bootstrap.php deleted file mode 100644 index 5da2f67..0000000 --- a/paragonik-backend/vendor/mockery/mockery/tests/Bootstrap.php +++ /dev/null @@ -1,66 +0,0 @@ -checkMockeryExceptions(); - } - - public function markAsRisky() - { - } -}; - -class MockeryPHPUnitIntegrationTest extends MockeryTestCase -{ - /** - * @test - * @requires PHPUnit 5.7.6 - */ - public function it_marks_a_passing_test_as_risky_if_we_threw_exceptions() - { - $mock = mock(); - try { - $mock->foobar(); - } catch (\Exception $e) { - // exception swallowed... - } - - $test = spy(BaseClassStub::class)->makePartial(); - $test->finish(); - - $test->shouldHaveReceived()->markAsRisky(); - } - - /** - * @test - * @requires PHPUnit 5.7.6 - */ - public function the_user_can_manually_dismiss_an_exception_to_avoid_the_risky_test() - { - $mock = mock(); - try { - $mock->foobar(); - } catch (BadMethodCallException $e) { - $e->dismiss(); - } - - $test = spy(BaseClassStub::class)->makePartial(); - $test->finish(); - - $test->shouldNotHaveReceived()->markAsRisky(); - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/tests/Mockery/Adapter/Phpunit/TestListenerTest.php b/paragonik-backend/vendor/mockery/mockery/tests/Mockery/Adapter/Phpunit/TestListenerTest.php deleted file mode 100644 index 7e01cf1..0000000 --- a/paragonik-backend/vendor/mockery/mockery/tests/Mockery/Adapter/Phpunit/TestListenerTest.php +++ /dev/null @@ -1,103 +0,0 @@ -markTestSkipped('The TestListener is only supported with PHPUnit 6+.'); - return; - } - // We intentionally test the static container here. That is what the - // listener will check. - $this->container = \Mockery::getContainer(); - $this->listener = new TestListener(); - $this->testResult = new TestResult(); - $this->test = new EmptyTestCase(); - - $this->test->setTestResultObject($this->testResult); - $this->testResult->addListener($this->listener); - - $this->assertTrue($this->testResult->wasSuccessful(), 'sanity check: empty test results should be considered successful'); - } - - public function testSuccessOnClose() - { - $mock = $this->container->mock(); - $mock->shouldReceive('bar')->once(); - $mock->bar(); - - // This is what MockeryPHPUnitIntegration and MockeryTestCase trait - // will do. We intentionally call the static close method. - $this->test->addToAssertionCount($this->container->mockery_getExpectationCount()); - \Mockery::close(); - - $this->listener->endTest($this->test, 0); - $this->assertTrue($this->testResult->wasSuccessful(), 'expected test result to indicate success'); - } - - public function testFailureOnMissingClose() - { - $mock = $this->container->mock(); - $mock->shouldReceive('bar')->once(); - - $this->listener->endTest($this->test, 0); - $this->assertFalse($this->testResult->wasSuccessful(), 'expected test result to indicate failure'); - - // Satisfy the expectation and close the global container now so we - // don't taint the environment. - $mock->bar(); - \Mockery::close(); - } - - public function testMockeryIsAddedToBlacklist() - { - $suite = \Mockery::mock(\PHPUnit\Framework\TestSuite::class); - - $this->assertArrayNotHasKey(\Mockery::class, \PHPUnit\Util\Blacklist::$blacklistedClassNames); - $this->listener->startTestSuite($suite); - $this->assertSame(1, \PHPUnit\Util\Blacklist::$blacklistedClassNames[\Mockery::class]); - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/tests/Mockery/AdhocTest.php b/paragonik-backend/vendor/mockery/mockery/tests/Mockery/AdhocTest.php deleted file mode 100644 index d689499..0000000 --- a/paragonik-backend/vendor/mockery/mockery/tests/Mockery/AdhocTest.php +++ /dev/null @@ -1,119 +0,0 @@ -container = new \Mockery\Container(\Mockery::getDefaultGenerator(), \Mockery::getDefaultLoader()); - } - - public function mockeryTestTearDown() - { - $this->container->mockery_close(); - } - - public function testSimplestMockCreation() - { - $m = $this->container->mock('MockeryTest_NameOfExistingClass'); - $this->assertInstanceOf(MockeryTest_NameOfExistingClass::class, $m); - } - - public function testMockeryInterfaceForClass() - { - $m = $this->container->mock('SplFileInfo'); - $this->assertInstanceOf(\Mockery\MockInterface::class, $m); - } - - public function testMockeryInterfaceForNonExistingClass() - { - $m = $this->container->mock('ABC_IDontExist'); - $this->assertInstanceOf(\Mockery\MockInterface::class, $m); - } - - public function testMockeryInterfaceForInterface() - { - $m = $this->container->mock('MockeryTest_NameOfInterface'); - $this->assertInstanceOf(\Mockery\MockInterface::class, $m); - } - - public function testMockeryInterfaceForAbstract() - { - $m = $this->container->mock('MockeryTest_NameOfAbstract'); - $this->assertInstanceOf(\Mockery\MockInterface::class, $m); - } - - public function testInvalidCountExceptionThrowsRuntimeExceptionOnIllegalComparativeSymbol() - { - $this->expectException('Mockery\Exception\RuntimeException'); - $e = new \Mockery\Exception\InvalidCountException; - $e->setExpectedCountComparative('X'); - } - - public function testMockeryConstructAndDestructIsNotCalled() - { - MockeryTest_NameOfExistingClassWithDestructor::$isDestructorWasCalled = false; - // We pass no arguments in constructor, so it's not being called. Then destructor shouldn't be called too. - $this->container->mock('MockeryTest_NameOfExistingClassWithDestructor'); - // Clear references to trigger destructor - $this->container->mockery_close(); - $this->assertFalse(MockeryTest_NameOfExistingClassWithDestructor::$isDestructorWasCalled); - } - - public function testMockeryConstructAndDestructIsCalled() - { - MockeryTest_NameOfExistingClassWithDestructor::$isDestructorWasCalled = false; - - $this->container->mock('MockeryTest_NameOfExistingClassWithDestructor', array()); - // Clear references to trigger destructor - $this->container->mockery_close(); - $this->assertTrue(MockeryTest_NameOfExistingClassWithDestructor::$isDestructorWasCalled); - } -} - -class MockeryTest_NameOfExistingClass -{ -} - -interface MockeryTest_NameOfInterface -{ - public function foo(); -} - -abstract class MockeryTest_NameOfAbstract -{ - abstract public function foo(); -} - -class MockeryTest_NameOfExistingClassWithDestructor -{ - public static $isDestructorWasCalled = false; - - public function __destruct() - { - self::$isDestructorWasCalled = true; - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/tests/Mockery/AllowsExpectsSyntaxTest.php b/paragonik-backend/vendor/mockery/mockery/tests/Mockery/AllowsExpectsSyntaxTest.php deleted file mode 100644 index d49a53d..0000000 --- a/paragonik-backend/vendor/mockery/mockery/tests/Mockery/AllowsExpectsSyntaxTest.php +++ /dev/null @@ -1,148 +0,0 @@ -allows()->foo(123)->andReturns(456); - - $this->assertEquals(456, $stub->foo(123)); - } - - /** @test */ - public function allowsCanTakeAnArrayOfCalls() - { - $stub = m::mock(); - $stub->allows([ - "foo" => "bar", - "bar" => "baz", - ]); - - $this->assertEquals("bar", $stub->foo()); - $this->assertEquals("baz", $stub->bar()); - } - - /** @test */ - public function allowsCanTakeAString() - { - $stub = m::mock(); - $stub->allows("foo")->andReturns("bar"); - $this->assertEquals("bar", $stub->foo()); - } - - /** @test */ - public function expects_can_optionally_match_on_any_arguments() - { - $mock = m::mock(); - $mock->allows()->foo()->withAnyArgs()->andReturns(123); - - $this->assertEquals(123, $mock->foo(456, 789)); - } - - /** @test */ - public function expects_can_take_a_string() - { - $mock = m::mock(); - $mock->expects("foo")->andReturns(123); - - $this->assertEquals(123, $mock->foo(456, 789)); - } - - /** @test */ - public function expectsSetsUpExpectationOfOneCall() - { - $mock = m::mock(); - $mock->expects()->foo(123); - - $this->expectException("Mockery\Exception\InvalidCountException"); - m::close(); - } - - /** @test */ - public function callVerificationCountCanBeOverridenAfterExpectsThrowsExceptionWhenIncorrectNumberOfCalls() - { - $mock = m::mock(); - $mock->expects()->foo(123)->twice(); - - $mock->foo(123); - $this->expectException("Mockery\Exception\InvalidCountException"); - m::close(); - } - - /** @test */ - public function callVerificationCountCanBeOverridenAfterExpects() - { - $mock = m::mock(); - $mock->expects()->foo(123)->twice(); - - $mock->foo(123); - $mock->foo(123); - - m::close(); - } - - /** @test */ - public function generateSkipsAllowsMethodIfAlreadyExists() - { - $stub = m::mock("test\Mockery\ClassWithAllowsMethod"); - - $stub->shouldReceive('allows')->andReturn(123); - - $this->assertEquals(123, $stub->allows()); - } - - /** @test */ - public function generateSkipsExpectsMethodIfAlreadyExists() - { - $stub = m::mock("test\Mockery\ClassWithExpectsMethod"); - - $stub->shouldReceive('expects')->andReturn(123); - - $this->assertEquals(123, $stub->expects()); - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/tests/Mockery/CallableSpyTest.php b/paragonik-backend/vendor/mockery/mockery/tests/Mockery/CallableSpyTest.php deleted file mode 100644 index 013e5b1..0000000 --- a/paragonik-backend/vendor/mockery/mockery/tests/Mockery/CallableSpyTest.php +++ /dev/null @@ -1,199 +0,0 @@ -shouldHaveBeenCalled(); - } - - /** @test */ - public function it_throws_if_the_callable_was_not_called_at_all() - { - $spy = spy(function() {}); - - $this->expectException(InvalidCountException::class); - $spy->shouldHaveBeenCalled(); - } - - /** @test */ - public function it_throws_if_there_were_no_arguments_but_we_expected_some() - { - $spy = spy(function() {}); - - $spy(); - - $this->expectException(InvalidCountException::class); - $spy->shouldHaveBeenCalled()->with(123, 546); - } - - /** @test */ - public function it_throws_if_the_arguments_do_not_match() - { - $spy = spy(function() {}); - - $spy(123); - - $this->expectException(InvalidCountException::class); - $spy->shouldHaveBeenCalled()->with(123, 546); - } - - /** @test */ - public function it_verifies_the_closure_was_not_called() - { - $spy = spy(function () {}); - - $spy->shouldNotHaveBeenCalled(); - } - - /** @test */ - public function it_throws_if_it_was_called_when_we_expected_it_to_not_have_been_called() - { - $spy = spy(function () {}); - - $spy(); - - $this->expectException(InvalidCountException::class); - $spy->shouldNotHaveBeenCalled(); - } - - /** @test */ - public function it_verifies_it_was_not_called_with_some_particular_arguments_when_called_with_no_args() - { - $spy = spy(function () {}); - - $spy(); - - $spy->shouldNotHaveBeenCalled([123]); - } - - /** @test */ - public function it_verifies_it_was_not_called_with_some_particular_arguments_when_called_with_different_args() - { - $spy = spy(function () {}); - - $spy(456); - - $spy->shouldNotHaveBeenCalled([123]); - } - - /** @test */ - public function it_throws_if_it_was_called_with_the_args_we_were_not_expecting() - { - $spy = spy(function () {}); - - $spy(123); - - $this->expectException(InvalidCountException::class); - $spy->shouldNotHaveBeenCalled([123]); - } - - /** @test */ - public function it_can_verify_it_was_called_a_number_of_times() - { - $spy = spy(function () {}); - - $spy(); - $spy(); - - $spy->shouldHaveBeenCalled()->twice(); - } - - /** @test */ - public function it_can_verify_it_was_called_a_number_of_times_with_particular_arguments() - { - $spy = spy(function () {}); - - $spy(123); - $spy(123); - - $spy->shouldHaveBeenCalled()->with(123)->twice(); - } - - /** @test */ - public function it_throws_if_it_was_called_less_than_the_number_of_times_we_expected() - { - $spy = spy(function () {}); - - $spy(); - - $this->expectException(InvalidCountException::class); - $spy->shouldHaveBeenCalled()->twice(); - } - - /** @test */ - public function it_throws_if_it_was_called_less_than_the_number_of_times_we_expected_with_particular_arguments() - { - $spy = spy(function () {}); - - $spy(); - $spy(123); - - $this->expectException(InvalidCountException::class); - $spy->shouldHaveBeenCalled()->with(123)->twice(); - } - - /** @test */ - public function it_throws_if_it_was_called_more_than_the_number_of_times_we_expected() - { - $spy = spy(function () {}); - - $spy(); - $spy(); - $spy(); - - $this->expectException(InvalidCountException::class); - $spy->shouldHaveBeenCalled()->twice(); - } - - /** @test */ - public function it_throws_if_it_was_called_more_than_the_number_of_times_we_expected_with_particular_arguments() - { - $spy = spy(function () {}); - - $spy(123); - $spy(123); - $spy(123); - - $this->expectException(InvalidCountException::class); - $spy->shouldHaveBeenCalled()->with(123)->twice(); - } - - /** @test */ - public function it_acts_as_partial() - { - $spy = spy(function ($number) { return $number + 1;}); - - $this->assertEquals(124, $spy(123)); - $spy->shouldHaveBeenCalled(); - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/tests/Mockery/ContainerTest.php b/paragonik-backend/vendor/mockery/mockery/tests/Mockery/ContainerTest.php deleted file mode 100644 index 9cdde4b..0000000 --- a/paragonik-backend/vendor/mockery/mockery/tests/Mockery/ContainerTest.php +++ /dev/null @@ -1,1839 +0,0 @@ -shouldReceive('foo')->andReturn('bar'); - $this->assertEquals('bar', $m->foo()); - } - - public function testGetKeyOfDemeterMockShouldReturnKeyWhenMatchingMock() - { - $m = mock(); - $m->shouldReceive('foo->bar'); - $this->assertRegExp( - '/Mockery_(\d+)__demeter_([0-9a-f]+)_foo/', - Mockery::getContainer()->getKeyOfDemeterMockFor('foo', get_class($m)) - ); - } - public function testGetKeyOfDemeterMockShouldReturnNullWhenNoMatchingMock() - { - $method = 'unknownMethod'; - $this->assertNull(Mockery::getContainer()->getKeyOfDemeterMockFor($method, 'any')); - - $m = mock(); - $m->shouldReceive('method'); - $this->assertNull(Mockery::getContainer()->getKeyOfDemeterMockFor($method, get_class($m))); - - $m->shouldReceive('foo->bar'); - $this->assertNull(Mockery::getContainer()->getKeyOfDemeterMockFor($method, get_class($m))); - } - - - public function testNamedMocksAddNameToExceptions() - { - $m = mock('Foo'); - $m->shouldReceive('foo')->with(1)->andReturn('bar'); - try { - $m->foo(); - } catch (\Mockery\Exception $e) { - $this->assertTrue((bool) preg_match("/Foo/", $e->getMessage())); - } - } - - public function testSimpleMockWithArrayDefs() - { - $m = mock(array('foo'=>1, 'bar'=>2)); - $this->assertEquals(1, $m->foo()); - $this->assertEquals(2, $m->bar()); - } - - public function testSimpleMockWithArrayDefsCanBeOverridden() - { - // eg. In shared test setup - $m = mock(array('foo' => 1, 'bar' => 2)); - - // and then overridden in one test - $m->shouldReceive('foo')->with('baz')->once()->andReturn(2); - $m->shouldReceive('bar')->with('baz')->once()->andReturn(42); - - $this->assertEquals(2, $m->foo('baz')); - $this->assertEquals(42, $m->bar('baz')); - } - - public function testNamedMockWithArrayDefs() - { - $m = mock('Foo', array('foo'=>1, 'bar'=>2)); - $this->assertEquals(1, $m->foo()); - $this->assertEquals(2, $m->bar()); - try { - $m->f(); - } catch (BadMethodCallException $e) { - $this->assertTrue((bool) preg_match("/Foo/", $e->getMessage())); - } - } - - public function testNamedMockWithArrayDefsCanBeOverridden() - { - // eg. In shared test setup - $m = mock('Foo', array('foo' => 1)); - - // and then overridden in one test - $m->shouldReceive('foo')->with('bar')->once()->andReturn(2); - - $this->assertEquals(2, $m->foo('bar')); - - try { - $m->f(); - } catch (BadMethodCallException $e) { - $this->assertTrue((bool) preg_match("/Foo/", $e->getMessage())); - } - } - - public function testNamedMockMultipleInterfaces() - { - $m = mock('stdClass, ArrayAccess, Countable', array('foo'=>1, 'bar'=>2)); - $this->assertEquals(1, $m->foo()); - $this->assertEquals(2, $m->bar()); - try { - $m->f(); - } catch (BadMethodCallException $e) { - $this->assertTrue((bool) preg_match("/stdClass/", $e->getMessage())); - $this->assertTrue((bool) preg_match("/ArrayAccess/", $e->getMessage())); - $this->assertTrue((bool) preg_match("/Countable/", $e->getMessage())); - } - } - - public function testNamedMockWithConstructorArgs() - { - $m = mock("MockeryTest_ClassConstructor2[foo]", array($param1 = new stdClass())); - $m->shouldReceive("foo")->andReturn(123); - $this->assertEquals(123, $m->foo()); - $this->assertEquals($param1, $m->getParam1()); - } - - public function testNamedMockWithConstructorArgsAndArrayDefs() - { - $m = mock( - "MockeryTest_ClassConstructor2[foo]", - array($param1 = new stdClass()), - array("foo" => 123) - ); - $this->assertEquals(123, $m->foo()); - $this->assertEquals($param1, $m->getParam1()); - } - - public function testNamedMockWithConstructorArgsWithInternalCallToMockedMethod() - { - $m = mock("MockeryTest_ClassConstructor2[foo]", array($param1 = new stdClass())); - $m->shouldReceive("foo")->andReturn(123); - $this->assertEquals(123, $m->bar()); - } - - public function testNamedMockWithConstructorArgsButNoQuickDefsShouldLeaveConstructorIntact() - { - $m = mock("MockeryTest_ClassConstructor2", array($param1 = new stdClass())); - $m->makePartial(); - $this->assertEquals($param1, $m->getParam1()); - } - - public function testNamedMockWithMakePartial() - { - $m = mock("MockeryTest_ClassConstructor2", array($param1 = new stdClass())); - $m->makePartial(); - $this->assertEquals('foo', $m->bar()); - $m->shouldReceive("bar")->andReturn(123); - $this->assertEquals(123, $m->bar()); - } - - public function testNamedMockWithMakePartialThrowsIfNotAvailable() - { - $m = mock("MockeryTest_ClassConstructor2", array($param1 = new stdClass())); - $m->makePartial(); - $this->expectException(\BadMethodCallException::class); - $m->foorbar123(); - $m->mockery_verify(); - } - - public function testMockingAKnownConcreteClassSoMockInheritsClassType() - { - $m = mock('stdClass'); - $m->shouldReceive('foo')->andReturn('bar'); - $this->assertEquals('bar', $m->foo()); - $this->assertInstanceOf(stdClass::class, $m); - } - - public function testMockingAKnownUserClassSoMockInheritsClassType() - { - $m = mock('MockeryTest_TestInheritedType'); - $this->assertInstanceOf(MockeryTest_TestInheritedType::class, $m); - } - - public function testMockingAConcreteObjectCreatesAPartialWithoutError() - { - $m = mock(new stdClass); - $m->shouldReceive('foo')->andReturn('bar'); - $this->assertEquals('bar', $m->foo()); - $this->assertInstanceOf(stdClass::class, $m); - } - - public function testCreatingAPartialAllowsDynamicExpectationsAndPassesThroughUnexpectedMethods() - { - $m = mock(new MockeryTestFoo); - $m->shouldReceive('bar')->andReturn('bar'); - $this->assertEquals('bar', $m->bar()); - $this->assertEquals('foo', $m->foo()); - $this->assertInstanceOf(MockeryTestFoo::class, $m); - } - - public function testCreatingAPartialAllowsExpectationsToInterceptCallsToImplementedMethods() - { - $m = mock(new MockeryTestFoo2); - $m->shouldReceive('bar')->andReturn('baz'); - $this->assertEquals('baz', $m->bar()); - $this->assertEquals('foo', $m->foo()); - $this->assertInstanceOf(MockeryTestFoo2::class, $m); - } - - public function testBlockForwardingToPartialObject() - { - $m = mock(new MockeryTestBar1, array('foo'=>1, Mockery\Container::BLOCKS => array('method1'))); - $this->assertSame($m, $m->method1()); - } - - public function testPartialWithArrayDefs() - { - $m = mock(new MockeryTestBar1, array('foo'=>1, Mockery\Container::BLOCKS => array('method1'))); - $this->assertEquals(1, $m->foo()); - } - - public function testPassingClosureAsFinalParameterUsedToDefineExpectations() - { - $m = mock('foo', function ($m) { - $m->shouldReceive('foo')->once()->andReturn('bar'); - }); - $this->assertEquals('bar', $m->foo()); - } - - public function testMockingAKnownConcreteFinalClassThrowsErrors_OnlyPartialMocksCanMockFinalElements() - { - $this->expectException(\Mockery\Exception::class); - $m = mock('MockeryFoo3'); - } - - public function testMockingAKnownConcreteClassWithFinalMethodsThrowsNoException() - { - $this->assertInstanceOf(MockInterface::class, mock('MockeryFoo4')); - } - - /** - * @group finalclass - */ - public function testFinalClassesCanBePartialMocks() - { - $m = mock(new MockeryFoo3); - $m->shouldReceive('foo')->andReturn('baz'); - $this->assertEquals('baz', $m->foo()); - $this->assertNotInstanceOf(MockeryFoo3::class, $m); - } - - public function testSplClassWithFinalMethodsCanBeMocked() - { - $m = mock('SplFileInfo'); - $m->shouldReceive('foo')->andReturn('baz'); - $this->assertEquals('baz', $m->foo()); - $this->assertInstanceOf(SplFileInfo::class, $m); - } - - public function testSplClassWithFinalMethodsCanBeMockedMultipleTimes() - { - mock('SplFileInfo'); - $m = mock('SplFileInfo'); - $m->shouldReceive('foo')->andReturn('baz'); - $this->assertEquals('baz', $m->foo()); - $this->assertInstanceOf(SplFileInfo::class, $m); - } - - public function testClassesWithFinalMethodsCanBeProxyPartialMocks() - { - $m = mock(new MockeryFoo4); - $m->shouldReceive('foo')->andReturn('baz'); - $this->assertEquals('baz', $m->foo()); - $this->assertEquals('bar', $m->bar()); - $this->assertInstanceOf(MockeryFoo4::class, $m); - } - - public function testClassesWithFinalMethodsCanBeProperPartialMocks() - { - $m = mock('MockeryFoo4[bar]'); - $m->shouldReceive('bar')->andReturn('baz'); - $this->assertEquals('baz', $m->foo()); - $this->assertEquals('baz', $m->bar()); - $this->assertInstanceOf(MockeryFoo4::class, $m); - } - - public function testClassesWithFinalMethodsCanBeProperPartialMocksButFinalMethodsNotPartialed() - { - $m = mock('MockeryFoo4[foo]'); - $m->shouldReceive('foo')->andReturn('foo'); - $this->assertEquals('baz', $m->foo()); // partial expectation ignored - will fail callcount assertion - $this->assertInstanceOf(MockeryFoo4::class, $m); - } - - public function testSplfileinfoClassMockPassesUserExpectations() - { - $file = mock('SplFileInfo[getFilename,getPathname,getExtension,getMTime]', array(__FILE__)); - $file->shouldReceive('getFilename')->once()->andReturn('foo'); - $file->shouldReceive('getPathname')->once()->andReturn('path/to/foo'); - $file->shouldReceive('getExtension')->once()->andReturn('css'); - $file->shouldReceive('getMTime')->once()->andReturn(time()); - - // not sure what this test is for, maybe something special about - // SplFileInfo - $this->assertEquals('foo', $file->getFilename()); - $this->assertEquals('path/to/foo', $file->getPathname()); - $this->assertEquals('css', $file->getExtension()); - $this->assertTrue(is_int($file->getMTime())); - } - - public function testCanMockInterface() - { - $m = mock('MockeryTest_Interface'); - $this->assertInstanceOf(MockeryTest_Interface::class, $m); - } - - public function testCanMockSpl() - { - $m = mock('\\SplFixedArray'); - $this->assertInstanceOf(SplFixedArray::class, $m); - } - - public function testCanMockInterfaceWithAbstractMethod() - { - $m = mock('MockeryTest_InterfaceWithAbstractMethod'); - $this->assertInstanceOf(MockeryTest_InterfaceWithAbstractMethod::class, $m); - $m->shouldReceive('foo')->andReturn(1); - $this->assertEquals(1, $m->foo()); - } - - public function testCanMockAbstractWithAbstractProtectedMethod() - { - $m = mock('MockeryTest_AbstractWithAbstractMethod'); - $this->assertInstanceOf(MockeryTest_AbstractWithAbstractMethod::class, $m); - } - - public function testCanMockInterfaceWithPublicStaticMethod() - { - $m = mock('MockeryTest_InterfaceWithPublicStaticMethod'); - $this->assertInstanceOf(MockeryTest_InterfaceWithPublicStaticMethod::class, $m); - } - - public function testCanMockClassWithConstructor() - { - $m = mock('MockeryTest_ClassConstructor'); - $this->assertInstanceOf(MockeryTest_ClassConstructor::class, $m); - } - - public function testCanMockClassWithConstructorNeedingClassArgs() - { - $m = mock('MockeryTest_ClassConstructor2'); - $this->assertInstanceOf(MockeryTest_ClassConstructor2::class, $m); - } - - /** - * @group partial - */ - public function testCanPartiallyMockANormalClass() - { - $m = mock('MockeryTest_PartialNormalClass[foo]'); - $this->assertInstanceOf(MockeryTest_PartialNormalClass::class, $m); - $m->shouldReceive('foo')->andReturn('cba'); - $this->assertEquals('abc', $m->bar()); - $this->assertEquals('cba', $m->foo()); - } - - /** - * @group partial - */ - public function testCanPartiallyMockAnAbstractClass() - { - $m = mock('MockeryTest_PartialAbstractClass[foo]'); - $this->assertInstanceOf(MockeryTest_PartialAbstractClass::class, $m); - $m->shouldReceive('foo')->andReturn('cba'); - $this->assertEquals('abc', $m->bar()); - $this->assertEquals('cba', $m->foo()); - } - - /** - * @group partial - */ - public function testCanPartiallyMockANormalClassWith2Methods() - { - $m = mock('MockeryTest_PartialNormalClass2[foo, baz]'); - $this->assertInstanceOf(MockeryTest_PartialNormalClass2::class, $m); - $m->shouldReceive('foo')->andReturn('cba'); - $m->shouldReceive('baz')->andReturn('cba'); - $this->assertEquals('abc', $m->bar()); - $this->assertEquals('cba', $m->foo()); - $this->assertEquals('cba', $m->baz()); - } - - /** - * @group partial - */ - public function testCanPartiallyMockAnAbstractClassWith2Methods() - { - $m = mock('MockeryTest_PartialAbstractClass2[foo,baz]'); - $this->assertInstanceOf(MockeryTest_PartialAbstractClass2::class, $m); - $m->shouldReceive('foo')->andReturn('cba'); - $m->shouldReceive('baz')->andReturn('cba'); - $this->assertEquals('abc', $m->bar()); - $this->assertEquals('cba', $m->foo()); - $this->assertEquals('cba', $m->baz()); - } - - /** - * @group partial - */ - public function testThrowsExceptionIfSettingExpectationForNonMockedMethodOfPartialMock() - { - $this->markTestSkipped('For now...'); - $m = mock('MockeryTest_PartialNormalClass[foo]'); - $this->assertInstanceOf(MockeryTest_PartialNormalClass::class, $m); - $this->expectException(\Mockery\Exception::class); - $m->shouldReceive('bar')->andReturn('cba'); - } - - /** - * @group partial - */ - public function testThrowsExceptionIfClassOrInterfaceForPartialMockDoesNotExist() - { - $this->expectException(\Mockery\Exception::class); - $m = mock('MockeryTest_PartialNormalClassXYZ[foo]'); - } - - /** - * @group partial - */ - public function testCanUseExclamationToBlacklistMethod() - { - $m = mock('MockeryTest_PartialNormalClass2[!foo]'); - $this->assertSame('abc', $m->foo()); - } - - /** - * @group partial - */ - public function testCantCallMethodWhenUsingBlacklistAndNoExpectation() - { - $m = mock('MockeryTest_PartialNormalClass2[!foo]'); - $this->expectException(BadMethodCallException::class); - $this->expectExceptionMessageRegExp('/::bar\(\), but no expectations were specified/'); - $m->bar(); - } - - /** - * @group partial - */ - public function testCanUseBlacklistAndExpectionOnNonBlacklistedMethod() - { - $m = mock('MockeryTest_PartialNormalClass2[!foo]'); - $m->shouldReceive('bar')->andReturn('test')->once(); - $this->assertSame('test', $m->bar()); - } - /** - * @group partial - */ - public function testCanUseEmptyMethodlist() - { - $m = mock('MockeryTest_PartialNormalClass2[]'); - } - - /** - * @group issue/4 - */ - public function testCanMockClassContainingMagicCallMethod() - { - $m = mock('MockeryTest_Call1'); - $this->assertInstanceOf(MockeryTest_Call1::class, $m); - } - - /** - * @group issue/4 - */ - public function testCanMockClassContainingMagicCallMethodWithoutTypeHinting() - { - $m = mock('MockeryTest_Call2'); - $this->assertInstanceOf(MockeryTest_Call2::class, $m); - } - - /** - * @group issue/14 - */ - public function testCanMockClassContainingAPublicWakeupMethod() - { - $m = mock('MockeryTest_Wakeup1'); - $this->assertInstanceOf(MockeryTest_Wakeup1::class, $m); - } - - /** - * @group issue/18 - */ - public function testCanMockClassUsingMagicCallMethodsInPlaceOfNormalMethods() - { - $m = Mockery::mock('Gateway'); - $m->shouldReceive('iDoSomethingReallyCoolHere'); - $m->iDoSomethingReallyCoolHere(); - } - - /** - * @group issue/18 - */ - public function testCanPartialMockObjectUsingMagicCallMethodsInPlaceOfNormalMethods() - { - $m = Mockery::mock(new Gateway); - $m->shouldReceive('iDoSomethingReallyCoolHere'); - $m->iDoSomethingReallyCoolHere(); - } - - /** - * @group issue/13 - */ - public function testCanMockClassWhereMethodHasReferencedParameter() - { - $this->assertInstanceOf(MockInterface::class, Mockery::mock(new MockeryTest_MethodParamRef)); - } - - /** - * @group issue/13 - */ - public function testCanPartiallyMockObjectWhereMethodHasReferencedParameter() - { - $this->assertInstanceOf(MockInterface::class, Mockery::mock(new MockeryTest_MethodParamRef2)); - } - - /** - * @group issue/11 - */ - public function testMockingAKnownConcreteClassCanBeGrantedAnArbitraryClassType() - { - $m = mock('alias:MyNamespace\MyClass'); - $m->shouldReceive('foo')->andReturn('bar'); - $this->assertEquals('bar', $m->foo()); - $this->assertInstanceOf(MyNamespace\MyClass::class, $m); - } - - /** - * @group issue/15 - */ - public function testCanMockMultipleInterfaces() - { - $m = mock('MockeryTest_Interface1, MockeryTest_Interface2'); - $this->assertInstanceOf(MockeryTest_Interface1::class, $m); - $this->assertInstanceOf(MockeryTest_Interface2::class, $m); - } - - /** - */ - public function testCanMockMultipleInterfacesThatMayNotExist() - { - $m = mock('NonExistingClass, MockeryTest_Interface1, MockeryTest_Interface2, \Some\Thing\That\Doesnt\Exist'); - $this->assertInstanceOf(MockeryTest_Interface1::class, $m); - $this->assertInstanceOf(MockeryTest_Interface2::class, $m); - $this->assertInstanceOf(\Some\Thing\That\Doesnt\Exist::class, $m); - } - - /** - * @group issue/15 - */ - public function testCanMockClassAndApplyMultipleInterfaces() - { - $m = mock('MockeryTestFoo, MockeryTest_Interface1, MockeryTest_Interface2'); - $this->assertInstanceOf(MockeryTestFoo::class, $m); - $this->assertInstanceOf(MockeryTest_Interface1::class, $m); - $this->assertInstanceOf(MockeryTest_Interface2::class, $m); - } - - /** - * @group issue/7 - * - * Noted: We could complicate internally, but a blind class is better built - * with a real class noted up front (stdClass is a perfect choice it is - * behaviourless). Fine, it's a muddle - but we need to draw a line somewhere. - */ - public function testCanMockStaticMethods() - { - $m = mock('alias:MyNamespace\MyClass2'); - $m->shouldReceive('staticFoo')->andReturn('bar'); - $this->assertEquals('bar', \MyNameSpace\MyClass2::staticFoo()); - } - - /** - * @group issue/7 - */ - public function testMockedStaticMethodsObeyMethodCounting() - { - $m = mock('alias:MyNamespace\MyClass3'); - $m->shouldReceive('staticFoo')->once()->andReturn('bar'); - $this->expectException(\Mockery\CountValidator\Exception::class); - Mockery::close(); - } - - /** - */ - public function testMockedStaticThrowsExceptionWhenMethodDoesNotExist() - { - $m = mock('alias:MyNamespace\StaticNoMethod'); - try { - MyNameSpace\StaticNoMethod::staticFoo(); - } catch (BadMethodCallException $e) { - // Mockery + PHPUnit has a fail safe for tests swallowing our - // exceptions - $e->dismiss(); - return; - } - - $this->fail('Exception was not thrown'); - } - - /** - * @group issue/17 - */ - public function testMockingAllowsPublicPropertyStubbingOnRealClass() - { - $m = mock('MockeryTestFoo'); - $m->foo = 'bar'; - $this->assertEquals('bar', $m->foo); - //$this->assertArrayHasKey('foo', $m->mockery_getMockableProperties()); - } - - /** - * @group issue/17 - */ - public function testMockingAllowsPublicPropertyStubbingOnNamedMock() - { - $m = mock('Foo'); - $m->foo = 'bar'; - $this->assertEquals('bar', $m->foo); - //$this->assertArrayHasKey('foo', $m->mockery_getMockableProperties()); - } - - /** - * @group issue/17 - */ - public function testMockingAllowsPublicPropertyStubbingOnPartials() - { - $m = mock(new stdClass); - $m->foo = 'bar'; - $this->assertEquals('bar', $m->foo); - //$this->assertArrayHasKey('foo', $m->mockery_getMockableProperties()); - } - - /** - * @group issue/17 - */ - public function testMockingDoesNotStubNonStubbedPropertiesOnPartials() - { - $m = mock(new MockeryTest_ExistingProperty); - $this->assertEquals('bar', $m->foo); - $this->assertArrayNotHasKey('foo', $m->mockery_getMockableProperties()); - } - - public function testCreationOfInstanceMock() - { - $m = mock('overload:MyNamespace\MyClass4'); - $this->assertInstanceOf(MyNamespace\MyClass4::class, $m); - } - - public function testInstantiationOfInstanceMock() - { - $m = mock('overload:MyNamespace\MyClass5'); - $instance = new MyNamespace\MyClass5; - $this->assertInstanceOf(MyNamespace\MyClass5::class, $instance); - } - - public function testInstantiationOfInstanceMockImportsExpectations() - { - $m = mock('overload:MyNamespace\MyClass6'); - $m->shouldReceive('foo')->andReturn('bar'); - $instance = new MyNamespace\MyClass6; - $this->assertEquals('bar', $instance->foo()); - } - - public function testInstantiationOfInstanceMockImportsDefaultExpectations() - { - $m = mock('overload:MyNamespace\MyClass6'); - $m->shouldReceive('foo')->andReturn('bar')->byDefault(); - $instance = new MyNamespace\MyClass6; - - $this->assertEquals('bar', $instance->foo()); - } - - public function testInstantiationOfInstanceMockImportsDefaultExpectationsInTheCorrectOrder() - { - $m = mock('overload:MyNamespace\MyClass6'); - $m->shouldReceive('foo')->andReturn(1)->byDefault(); - $m->shouldReceive('foo')->andReturn(2)->byDefault(); - $m->shouldReceive('foo')->andReturn(3)->byDefault(); - $instance = new MyNamespace\MyClass6; - - $this->assertEquals(3, $instance->foo()); - } - - public function testInstantiationOfInstanceMocksIgnoresVerificationOfOriginMock() - { - $m = mock('overload:MyNamespace\MyClass7'); - $m->shouldReceive('foo')->once()->andReturn('bar'); - } - - public function testInstantiationOfInstanceMocksAddsThemToContainerForVerification() - { - $m = mock('overload:MyNamespace\MyClass8'); - $m->shouldReceive('foo')->once(); - $instance = new MyNamespace\MyClass8; - $this->expectException(\Mockery\CountValidator\Exception::class); - Mockery::close(); - } - - public function testInstantiationOfInstanceMocksDoesNotHaveCountValidatorCrossover() - { - $m = mock('overload:MyNamespace\MyClass9'); - $m->shouldReceive('foo')->once(); - $instance1 = new MyNamespace\MyClass9; - $instance2 = new MyNamespace\MyClass9; - $instance1->foo(); - $instance2->foo(); - } - - public function testInstantiationOfInstanceMocksDoesNotHaveCountValidatorCrossover2() - { - $m = mock('overload:MyNamespace\MyClass10'); - $m->shouldReceive('foo')->once(); - $instance1 = new MyNamespace\MyClass10; - $instance2 = new MyNamespace\MyClass10; - $instance1->foo(); - $this->expectException(\Mockery\CountValidator\Exception::class); - Mockery::close(); - } - - public function testCreationOfInstanceMockWithFullyQualifiedName() - { - $m = mock('overload:\MyNamespace\MyClass11'); - $this->assertInstanceOf(MyNamespace\MyClass11::class, $m); - } - - public function testInstanceMocksShouldIgnoreMissing() - { - $m = mock('overload:MyNamespace\MyClass12'); - $m->shouldIgnoreMissing(); - - $instance = new MyNamespace\MyClass12(); - $this->assertNull($instance->foo()); - } - - /** - * @group issue/451 - */ - public function testSettingPropertyOnInstanceMockWillSetItOnActualInstance() - { - $m = mock('overload:MyNamespace\MyClass13'); - $m->shouldReceive('foo')->andSet('bar', 'baz'); - $instance = new MyNamespace\MyClass13; - $instance->foo(); - $this->assertEquals('baz', $m->bar); - $this->assertEquals('baz', $instance->bar); - } - - public function testInstantiationOfInstanceMockWithConstructorParameterValidation() - { - $m = mock('overload:MyNamespace\MyClass14'); - $params = [ - 'value1' => uniqid('test_') - ]; - $m->shouldReceive('__construct')->with($params); - - new MyNamespace\MyClass14($params); - } - - public function testInstantiationOfInstanceMockWithConstructorParameterValidationNegative() - { - $m = mock('overload:MyNamespace\MyClass15'); - $params = [ - 'value1' => uniqid('test_') - ]; - $m->shouldReceive('__construct')->with($params); - - $this->expectException(\Mockery\Exception\NoMatchingExpectationException::class); - new MyNamespace\MyClass15([]); - } - - public function testInstantiationOfInstanceMockWithConstructorParameterValidationException() - { - $m = mock('overload:MyNamespace\MyClass16'); - $m->shouldReceive('__construct') - ->andThrow(new \Exception('instanceMock '.rand(100, 999))); - - $this->expectException(\Exception::class); - $this->expectExceptionMessageRegExp('/^instanceMock \d{3}$/'); - new MyNamespace\MyClass16(); - } - - public function testMethodParamsPassedByReferenceHaveReferencePreserved() - { - $m = mock('MockeryTestRef1'); - $m->shouldReceive('foo')->with( - Mockery::on(function (&$a) { - $a += 1; - return true; - }), - Mockery::any() - ); - $a = 1; - $b = 1; - $m->foo($a, $b); - $this->assertEquals(2, $a); - $this->assertEquals(1, $b); - } - - public function testMethodParamsPassedByReferenceThroughWithArgsHaveReferencePreserved() - { - $m = mock('MockeryTestRef1'); - $m->shouldReceive('foo')->withArgs(function (&$a, $b) { - $a += 1; - $b += 1; - return true; - }); - $a = 1; - $b = 1; - $m->foo($a, $b); - $this->assertEquals(2, $a); - $this->assertEquals(1, $b); - } - - /** - * Meant to test the same logic as - * testCanOverrideExpectedParametersOfExtensionPHPClassesToPreserveRefs, - * but: - * - doesn't require an extension - * - isn't actually known to be used - */ - public function testCanOverrideExpectedParametersOfInternalPHPClassesToPreserveRefs() - { - Mockery::getConfiguration()->setInternalClassMethodParamMap( - 'DateTime', 'modify', array('&$string') - ); - // @ used to avoid E_STRICT for incompatible signature - @$m = mock('DateTime'); - $this->assertInstanceOf("Mockery\MockInterface", $m, "Mocking failed, remove @ error suppresion to debug"); - $m->shouldReceive('modify')->with( - Mockery::on(function (&$string) { - $string = 'foo'; - return true; - }) - ); - $data ='bar'; - $m->modify($data); - $this->assertEquals('foo', $data); - Mockery::getConfiguration()->resetInternalClassMethodParamMaps(); - } - - /** - * Real world version of - * testCanOverrideExpectedParametersOfInternalPHPClassesToPreserveRefs - */ - public function testCanOverrideExpectedParametersOfExtensionPHPClassesToPreserveRefs() - { - if (!class_exists('MongoCollection', false)) { - $this->markTestSkipped('ext/mongo not installed'); - } - Mockery::getConfiguration()->setInternalClassMethodParamMap( - 'MongoCollection', 'insert', array('&$data', '$options') - ); - // @ used to avoid E_STRICT for incompatible signature - @$m = mock('MongoCollection'); - $this->assertInstanceOf("Mockery\MockInterface", $m, "Mocking failed, remove @ error suppresion to debug"); - $m->shouldReceive('insert')->with( - Mockery::on(function (&$data) { - $data['_id'] = 123; - return true; - }), - Mockery::type('array') - ); - $data = array('a'=>1,'b'=>2); - $m->insert($data, array()); - $this->assertArrayHasKey('_id', $data); - $this->assertEquals(123, $data['_id']); - Mockery::getConfiguration()->resetInternalClassMethodParamMaps(); - } - - public function testCanCreateNonOverridenInstanceOfPreviouslyOverridenInternalClasses() - { - Mockery::getConfiguration()->setInternalClassMethodParamMap( - 'DateTime', 'modify', array('&$string') - ); - // @ used to avoid E_STRICT for incompatible signature - @$m = mock('DateTime'); - $this->assertInstanceOf("Mockery\MockInterface", $m, "Mocking failed, remove @ error suppresion to debug"); - $rc = new ReflectionClass($m); - $rm = $rc->getMethod('modify'); - $params = $rm->getParameters(); - $this->assertTrue($params[0]->isPassedByReference()); - - Mockery::getConfiguration()->resetInternalClassMethodParamMaps(); - - $m = mock('DateTime'); - $this->assertInstanceOf("Mockery\MockInterface", $m, "Mocking failed"); - $rc = new ReflectionClass($m); - $rm = $rc->getMethod('modify'); - $params = $rm->getParameters(); - $this->assertFalse($params[0]->isPassedByReference()); - - Mockery::getConfiguration()->resetInternalClassMethodParamMaps(); - } - - /** - * @group abstract - */ - public function testCanMockAbstractClassWithAbstractPublicMethod() - { - $m = mock('MockeryTest_AbstractWithAbstractPublicMethod'); - $this->assertInstanceOf(MockeryTest_AbstractWithAbstractPublicMethod::class, $m); - } - - /** - * @issue issue/21 - */ - public function testClassDeclaringIssetDoesNotThrowException() - { - $this->assertInstanceOf(MockInterface::class, mock('MockeryTest_IssetMethod')); - } - - /** - * @issue issue/21 - */ - public function testClassDeclaringUnsetDoesNotThrowException() - { - $this->assertInstanceOf(MockInterface::class, mock('MockeryTest_UnsetMethod')); - } - - /** - * @issue issue/35 - */ - public function testCallingSelfOnlyReturnsLastMockCreatedOrCurrentMockBeingProgrammedSinceTheyAreOneAndTheSame() - { - $m = mock('MockeryTestFoo'); - $this->assertNotInstanceOf(MockeryTestFoo2::class, Mockery::self()); - //$m = mock('MockeryTestFoo2'); - //$this->assertInstanceOf(MockeryTestFoo2::class, self()); - //$m = mock('MockeryTestFoo'); - //$this->assertNotInstanceOf(MockeryTestFoo2::class, Mockery::self()); - //$this->assertInstanceOf(MockeryTestFoo::class, Mockery::self()); - } - - /** - * @issue issue/89 - */ - public function testCreatingMockOfClassWithExistingToStringMethodDoesntCreateClassWithTwoToStringMethods() - { - $m = mock('MockeryTest_WithToString'); // this would fatal - $m->shouldReceive("__toString")->andReturn('dave'); - $this->assertEquals("dave", "$m"); - } - - public function testGetExpectationCount_freshContainer() - { - $this->assertEquals(0, Mockery::getContainer()->mockery_getExpectationCount()); - } - - public function testGetExpectationCount_simplestMock() - { - $m = mock(); - $m->shouldReceive('foo')->andReturn('bar'); - $this->assertEquals(1, Mockery::getContainer()->mockery_getExpectationCount()); - } - - public function testMethodsReturningParamsByReferenceDoesNotErrorOut() - { - mock('MockeryTest_ReturnByRef'); - $mock = mock('MockeryTest_ReturnByRef'); - $mock->shouldReceive("get")->andReturn($var = 123); - $this->assertSame($var, $mock->get()); - } - - - public function testMockCallableTypeHint() - { - $this->assertInstanceOf(MockInterface::class, mock('MockeryTest_MockCallableTypeHint')); - } - - public function testCanMockClassWithReservedWordMethod() - { - if (!extension_loaded("redis")) { - $this->markTestSkipped("phpredis not installed"); - } - - mock("Redis"); - } - - public function testUndeclaredClassIsDeclared() - { - $this->assertFalse(class_exists("BlahBlah")); - $mock = mock("BlahBlah"); - $this->assertInstanceOf("BlahBlah", $mock); - } - - public function testUndeclaredClassWithNamespaceIsDeclared() - { - $this->assertFalse(class_exists("MyClasses\Blah\BlahBlah")); - $mock = mock("MyClasses\Blah\BlahBlah"); - $this->assertInstanceOf("MyClasses\Blah\BlahBlah", $mock); - } - - public function testUndeclaredClassWithNamespaceIncludingLeadingOperatorIsDeclared() - { - $this->assertFalse(class_exists("\MyClasses\DaveBlah\BlahBlah")); - $mock = mock("\MyClasses\DaveBlah\BlahBlah"); - $this->assertInstanceOf("\MyClasses\DaveBlah\BlahBlah", $mock); - } - - public function testMockingPhpredisExtensionClassWorks() - { - if (!class_exists('Redis')) { - $this->markTestSkipped('PHPRedis extension required for this test'); - } - $m = mock('Redis'); - } - - public function testIssetMappingUsingProxiedPartials_CheckNoExceptionThrown() - { - $var = mock(new MockeryTestIsset_Bar()); - $mock = mock(new MockeryTestIsset_Foo($var)); - $mock->shouldReceive('bar')->once(); - $mock->bar(); - Mockery::close(); - - $this->assertTrue(true); - } - - /** - * @group traversable1 - */ - public function testCanMockInterfacesExtendingTraversable() - { - $mock = mock('MockeryTest_InterfaceWithTraversable'); - $this->assertInstanceOf('MockeryTest_InterfaceWithTraversable', $mock); - $this->assertInstanceOf('ArrayAccess', $mock); - $this->assertInstanceOf('Countable', $mock); - $this->assertInstanceOf('Traversable', $mock); - } - - /** - * @group traversable2 - */ - public function testCanMockInterfacesAlongsideTraversable() - { - $mock = mock('stdClass, ArrayAccess, Countable, Traversable'); - $this->assertInstanceOf('stdClass', $mock); - $this->assertInstanceOf('ArrayAccess', $mock); - $this->assertInstanceOf('Countable', $mock); - $this->assertInstanceOf('Traversable', $mock); - } - - public function testInterfacesCanHaveAssertions() - { - $m = mock('stdClass, ArrayAccess, Countable, Traversable'); - $m->shouldReceive('foo')->once(); - $m->foo(); - } - - public function testMockingIteratorAggregateDoesNotImplementIterator() - { - $mock = mock('MockeryTest_ImplementsIteratorAggregate'); - $this->assertInstanceOf('IteratorAggregate', $mock); - $this->assertInstanceOf('Traversable', $mock); - $this->assertNotInstanceOf('Iterator', $mock); - } - - public function testMockingInterfaceThatExtendsIteratorDoesNotImplementIterator() - { - $mock = mock('MockeryTest_InterfaceThatExtendsIterator'); - $this->assertInstanceOf('Iterator', $mock); - $this->assertInstanceOf('Traversable', $mock); - } - - public function testMockingInterfaceThatExtendsIteratorAggregateDoesNotImplementIterator() - { - $mock = mock('MockeryTest_InterfaceThatExtendsIteratorAggregate'); - $this->assertInstanceOf('IteratorAggregate', $mock); - $this->assertInstanceOf('Traversable', $mock); - $this->assertNotInstanceOf('Iterator', $mock); - } - - public function testMockingIteratorAggregateDoesNotImplementIteratorAlongside() - { - $mock = mock('IteratorAggregate'); - $this->assertInstanceOf('IteratorAggregate', $mock); - $this->assertInstanceOf('Traversable', $mock); - $this->assertNotInstanceOf('Iterator', $mock); - } - - public function testMockingIteratorDoesNotImplementIteratorAlongside() - { - $mock = mock('Iterator'); - $this->assertInstanceOf('Iterator', $mock); - $this->assertInstanceOf('Traversable', $mock); - } - - public function testMockingIteratorDoesNotImplementIterator() - { - $mock = mock('MockeryTest_ImplementsIterator'); - $this->assertInstanceOf('Iterator', $mock); - $this->assertInstanceOf('Traversable', $mock); - } - - public function testMockeryCloseForIllegalIssetFileInclude() - { - $m = Mockery::mock('StdClass') - ->shouldReceive('get') - ->andReturn(false) - ->getMock(); - $m->get(); - Mockery::close(); - - // no idea what this test does, adding this as an assertion... - $this->assertTrue(true); - } - - public function testMockeryShouldDistinguishBetweenConstructorParamsAndClosures() - { - $obj = new MockeryTestFoo(); - $this->assertInstanceOf(MockInterface::class, mock('MockeryTest_ClassMultipleConstructorParams[dave]', [ - &$obj, 'foo' - ])); - } - - /** @group nette */ - public function testMockeryShouldNotMockCallstaticMagicMethod() - { - $this->assertInstanceOf(MockInterface::class, mock('MockeryTest_CallStatic')); - } - - /** @group issue/144 */ - public function testMockeryShouldInterpretEmptyArrayAsConstructorArgs() - { - $mock = mock("EmptyConstructorTest", array()); - $this->assertSame(0, $mock->numberOfConstructorArgs); - } - - /** @group issue/144 */ - public function testMockeryShouldCallConstructorByDefaultWhenRequestingPartials() - { - $mock = mock("EmptyConstructorTest[foo]"); - $this->assertSame(0, $mock->numberOfConstructorArgs); - } - - /** @group issue/158 */ - public function testMockeryShouldRespectInterfaceWithMethodParamSelf() - { - $this->assertInstanceOf(MockInterface::class, mock('MockeryTest_InterfaceWithMethodParamSelf')); - } - - /** @group issue/162 */ - public function testMockeryDoesntTryAndMockLowercaseToString() - { - $this->assertInstanceOf(MockInterface::class, mock('MockeryTest_Lowercase_ToString')); - } - - /** @group issue/175 */ - public function testExistingStaticMethodMocking() - { - $mock = mock('MockeryTest_PartialStatic[mockMe]'); - - $mock->shouldReceive('mockMe')->with(5)->andReturn(10); - - $this->assertEquals(10, $mock::mockMe(5)); - $this->assertEquals(3, $mock::keepMe(3)); - } - - /** - * @group issue/154 - */ - public function testShouldThrowIfAttemptingToStubProtectedMethod() - { - $mock = mock('MockeryTest_WithProtectedAndPrivate'); - - $this->expectException(\InvalidArgumentException::class); - $this->expectExceptionMessage('protectedMethod() cannot be mocked as it is a protected method and mocking protected methods is not enabled for the currently used mock object.'); - $mock->shouldReceive("protectedMethod"); - } - - /** - * @group issue/154 - */ - public function testShouldThrowIfAttemptingToStubPrivateMethod() - { - $mock = mock('MockeryTest_WithProtectedAndPrivate'); - $this->expectException(\InvalidArgumentException::class); - $this->expectExceptionMessage('privateMethod() cannot be mocked as it is a private method'); - $mock->shouldReceive("privateMethod"); - } - - public function testWakeupMagicIsNotMockedToAllowSerialisationInstanceHack() - { - $this->assertInstanceOf(\DateTime::class, mock('DateTime')); - } - - /** - * @group issue/154 - */ - public function testCanMockMethodsWithRequiredParamsThatHaveDefaultValues() - { - $mock = mock('MockeryTest_MethodWithRequiredParamWithDefaultValue'); - $mock->shouldIgnoreMissing(); - $this->assertNull($mock->foo(null, 123)); - } - - /** - * @test - * @group issue/294 - */ - public function testThrowsWhenNamedMockClassExistsAndIsNotMockery() - { - $builder = new MockConfigurationBuilder(); - $builder->setName("DateTime"); - $this->expectException(\Mockery\Exception\RuntimeException::class); - $this->expectExceptionMessage('Could not load mock DateTime, class already exists'); - $mock = mock($builder); - } - - public function testHandlesMethodWithArgumentExpectationWhenCalledWithResource() - { - $mock = mock('MyTestClass'); - $mock->shouldReceive('foo')->with(array('yourself' => 21)); - - $this->expectException(\Mockery\Exception\NoMatchingExpectationException::class); - $this->expectExceptionMessage("0 => Hamcrest\Core\IsEqual Object (...)"); - $mock->foo(fopen('php://memory', 'r')); - } - - public function testHandlesMethodWithArgumentExpectationWhenCalledWithCircularArray() - { - $testArray = array(); - $testArray['myself'] =& $testArray; - - $mock = mock('MyTestClass'); - $mock->shouldReceive('foo')->with(array('yourself' => 21)); - - $this->expectException(\Mockery\Exception\NoMatchingExpectationException::class); - $this->expectExceptionMessage("'myself' => Hamcrest\Core\IsEqual Object (...)"); - $mock->foo($testArray); - } - - public function testHandlesMethodWithArgumentExpectationWhenCalledWithNestedArray() - { - $testArray = array(); - $testArray['a_scalar'] = 2; - $testArray['an_array'] = array(1, 2, 3); - - $mock = mock('MyTestClass'); - $mock->shouldReceive('foo')->with(array('yourself' => 21)); - - $this->expectException(\Mockery\Exception\NoMatchingExpectationException::class); - $this->expectExceptionMessage("MyTestClass::foo(['a_scalar' => 2, 'an_array' => [...]])"); - $mock->foo($testArray); - } - - public function testHandlesMethodWithArgumentExpectationWhenCalledWithNestedObject() - { - $testArray = array(); - $testArray['a_scalar'] = 2; - $testArray['an_object'] = new stdClass(); - - $mock = mock('MyTestClass'); - $mock->shouldReceive('foo')->with(array('yourself' => 21)); - - $this->expectException(\Mockery\Exception\NoMatchingExpectationException::class); - $this->expectExceptionMessage("MyTestClass::foo(['a_scalar' => 2, 'an_object' => object(stdClass)])"); - $mock->foo($testArray); - } - - public function testHandlesMethodWithArgumentExpectationWhenCalledWithNestedClosure() - { - $testArray = array(); - $testArray['a_scalar'] = 2; - $testArray['a_closure'] = function () { - }; - - $mock = mock('MyTestClass'); - $mock->shouldReceive('foo')->with(array('yourself' => 21)); - - $this->expectException(\Mockery\Exception\NoMatchingExpectationException::class); - $this->expectExceptionMessage("MyTestClass::foo(['a_scalar' => 2, 'a_closure' => object(Closure"); - $mock->foo($testArray); - } - - public function testHandlesMethodWithArgumentExpectationWhenCalledWithNestedResource() - { - $testArray = array(); - $testArray['a_scalar'] = 2; - $testArray['a_resource'] = fopen('php://memory', 'r'); - - $mock = mock('MyTestClass'); - $mock->shouldReceive('foo')->with(array('yourself' => 21)); - - $this->expectException(\Mockery\Exception\NoMatchingExpectationException::class); - $this->expectExceptionMessage("MyTestClass::foo(['a_scalar' => 2, 'a_resource' => resource(...)])"); - $mock->foo($testArray); - } - - public function testExceptionOutputMakesBooleansLookLikeBooleans() - { - $mock = mock('MyTestClass'); - $mock->shouldReceive("foo")->with(123); - - $this->expectException( - "Mockery\Exception\NoMatchingExpectationException", - "MyTestClass::foo(true, false, [0 => true, 1 => false])" - ); - - $mock->foo(true, false, [true, false]); - } - - /** - * @test - * @group issue/339 - */ - public function canMockClassesThatDescendFromInternalClasses() - { - $mock = mock("MockeryTest_ClassThatDescendsFromInternalClass"); - $this->assertInstanceOf("DateTime", $mock); - } - - /** - * @test - * @group issue/339 - */ - public function canMockClassesThatImplementSerializable() - { - $mock = mock("MockeryTest_ClassThatImplementsSerializable"); - $this->assertInstanceOf("Serializable", $mock); - } - - /** - * @test - * @group issue/346 - */ - public function canMockInternalClassesThatImplementSerializable() - { - $mock = mock("ArrayObject"); - $this->assertInstanceOf("Serializable", $mock); - } - - /** - * @dataProvider classNameProvider - */ - public function testIsValidClassName($expected, $className) - { - $container = new \Mockery\Container; - $this->assertSame($expected, $container->isValidClassName($className)); - } - - public function classNameProvider() - { - return array( - array(false, ' '), // just a space - array(false, 'ClassName.WithDot'), - array(false, '\\\\TooManyBackSlashes'), - array(true, 'Foo'), - array(true, '\\Foo\\Bar'), - ); - } -} - -class MockeryTest_CallStatic -{ - public static function __callStatic($method, $args) - { - } -} - -class MockeryTest_ClassMultipleConstructorParams -{ - public function __construct($a, $b) - { - } - - public function dave() - { - } -} - -interface MockeryTest_InterfaceWithTraversable extends ArrayAccess, Traversable, Countable -{ - public function self(); -} - -class MockeryTestIsset_Bar -{ - public function doSomething() - { - } -} - -class MockeryTestIsset_Foo -{ - private $var; - - public function __construct($var) - { - $this->var = $var; - } - - public function __get($name) - { - $this->var->doSomething(); - } - - public function __isset($name) - { - return (bool) strlen($this->__get($name)); - } -} - -class MockeryTest_IssetMethod -{ - protected $_properties = array(); - - public function __construct() - { - } - - public function __isset($property) - { - return isset($this->_properties[$property]); - } -} - -class MockeryTest_UnsetMethod -{ - protected $_properties = array(); - - public function __construct() - { - } - - public function __unset($property) - { - unset($this->_properties[$property]); - } -} - -class MockeryTestFoo -{ - public function foo() - { - return 'foo'; - } -} - -class MockeryTestFoo2 -{ - public function foo() - { - return 'foo'; - } - - public function bar() - { - return 'bar'; - } -} - -final class MockeryFoo3 -{ - public function foo() - { - return 'baz'; - } -} - -class MockeryFoo4 -{ - final public function foo() - { - return 'baz'; - } - - public function bar() - { - return 'bar'; - } -} - -interface MockeryTest_Interface -{ -} -interface MockeryTest_Interface1 -{ -} -interface MockeryTest_Interface2 -{ -} - -interface MockeryTest_InterfaceWithAbstractMethod -{ - public function set(); -} - -interface MockeryTest_InterfaceWithPublicStaticMethod -{ - public static function self(); -} - -abstract class MockeryTest_AbstractWithAbstractMethod -{ - abstract protected function set(); -} - -class MockeryTest_WithProtectedAndPrivate -{ - protected function protectedMethod() - { - } - - private function privateMethod() - { - } -} - -class MockeryTest_ClassConstructor -{ - public function __construct($param1) - { - } -} - -class MockeryTest_ClassConstructor2 -{ - protected $param1; - - public function __construct(stdClass $param1) - { - $this->param1 = $param1; - } - - public function getParam1() - { - return $this->param1; - } - - public function foo() - { - return 'foo'; - } - - public function bar() - { - return $this->foo(); - } -} - -class MockeryTest_Call1 -{ - public function __call($method, array $params) - { - } -} - -class MockeryTest_Call2 -{ - public function __call($method, $params) - { - } -} - -class MockeryTest_Wakeup1 -{ - public function __construct() - { - } - - public function __wakeup() - { - } -} - -class MockeryTest_ExistingProperty -{ - public $foo = 'bar'; -} - -abstract class MockeryTest_AbstractWithAbstractPublicMethod -{ - abstract public function foo($a, $b); -} - -// issue/18 -class SoCool -{ - public function iDoSomethingReallyCoolHere() - { - return 3; - } -} - -class Gateway -{ - public function __call($method, $args) - { - $m = new SoCool(); - return call_user_func_array(array($m, $method), $args); - } -} - -class MockeryTestBar1 -{ - public function method1() - { - return $this; - } -} - -class MockeryTest_ReturnByRef -{ - public $i = 0; - - public function &get() - { - return $this->$i; - } -} - -class MockeryTest_MethodParamRef -{ - public function method1(&$foo) - { - return true; - } -} -class MockeryTest_MethodParamRef2 -{ - public function method1(&$foo) - { - return true; - } -} -class MockeryTestRef1 -{ - public function foo(&$a, $b) - { - } -} - -class MockeryTest_PartialNormalClass -{ - public function foo() - { - return 'abc'; - } - - public function bar() - { - return 'abc'; - } -} - -abstract class MockeryTest_PartialAbstractClass -{ - abstract public function foo(); - - public function bar() - { - return 'abc'; - } -} - -class MockeryTest_PartialNormalClass2 -{ - public function foo() - { - return 'abc'; - } - - public function bar() - { - return 'abc'; - } - - public function baz() - { - return 'abc'; - } -} - -abstract class MockeryTest_PartialAbstractClass2 -{ - abstract public function foo(); - - public function bar() - { - return 'abc'; - } - - abstract public function baz(); -} - -class MockeryTest_TestInheritedType -{ -} - -if (PHP_VERSION_ID >= 50400) { - class MockeryTest_MockCallableTypeHint - { - public function foo(callable $baz) - { - $baz(); - } - - public function bar(callable $callback = null) - { - $callback(); - } - } -} - -class MockeryTest_WithToString -{ - public function __toString() - { - } -} - -class MockeryTest_ImplementsIteratorAggregate implements IteratorAggregate -{ - public function getIterator() - { - return new ArrayIterator(array()); - } -} - -class MockeryTest_ImplementsIterator implements Iterator -{ - public function rewind() - { - } - - public function current() - { - } - - public function key() - { - } - - public function next() - { - } - - public function valid() - { - } -} - -class EmptyConstructorTest -{ - public $numberOfConstructorArgs; - - public function __construct(...$args) - { - $this->numberOfConstructorArgs = count($args); - } - - public function foo() - { - } -} - -interface MockeryTest_InterfaceWithMethodParamSelf -{ - public function foo(self $bar); -} - -class MockeryTest_Lowercase_ToString -{ - public function __tostring() - { - } -} - -class MockeryTest_PartialStatic -{ - public static function mockMe($a) - { - return $a; - } - - public static function keepMe($b) - { - return $b; - } -} - -class MockeryTest_MethodWithRequiredParamWithDefaultValue -{ - public function foo(DateTime $bar = null, $baz) - { - } -} - -interface MockeryTest_InterfaceThatExtendsIterator extends Iterator -{ - public function foo(); -} - -interface MockeryTest_InterfaceThatExtendsIteratorAggregate extends IteratorAggregate -{ - public function foo(); -} - -class MockeryTest_ClassThatDescendsFromInternalClass extends DateTime -{ -} - -class MockeryTest_ClassThatImplementsSerializable implements Serializable -{ - public function serialize() - { - } - - public function unserialize($serialized) - { - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/tests/Mockery/DemeterChainTest.php b/paragonik-backend/vendor/mockery/mockery/tests/Mockery/DemeterChainTest.php deleted file mode 100644 index 4063dba..0000000 --- a/paragonik-backend/vendor/mockery/mockery/tests/Mockery/DemeterChainTest.php +++ /dev/null @@ -1,218 +0,0 @@ -= 0) { - require_once __DIR__.'/DummyClasses/DemeterChain.php'; -} - -use Mockery\Adapter\Phpunit\MockeryTestCase; - -class DemeterChainTest extends MockeryTestCase -{ - /** @var Mockery\Mock $this->mock */ - private $mock; - - public function mockeryTestSetUp() - { - $this->mock = $this->mock = Mockery::mock()->shouldIgnoreMissing(); - } - - public function mockeryTestTearDown() - { - $this->mock->mockery_getContainer()->mockery_close(); - } - - public function testTwoChains() - { - $this->mock->shouldReceive('getElement->getFirst') - ->once() - ->andReturn('something'); - - $this->mock->shouldReceive('getElement->getSecond') - ->once() - ->andReturn('somethingElse'); - - $this->assertEquals( - 'something', - $this->mock->getElement()->getFirst() - ); - $this->assertEquals( - 'somethingElse', - $this->mock->getElement()->getSecond() - ); - $this->mock->mockery_getContainer()->mockery_close(); - } - - public function testTwoChainsWithExpectedParameters() - { - $this->mock->shouldReceive('getElement->getFirst') - ->once() - ->with('parameter') - ->andReturn('something'); - - $this->mock->shouldReceive('getElement->getSecond') - ->once() - ->with('secondParameter') - ->andReturn('somethingElse'); - - $this->assertEquals( - 'something', - $this->mock->getElement()->getFirst('parameter') - ); - $this->assertEquals( - 'somethingElse', - $this->mock->getElement()->getSecond('secondParameter') - ); - $this->mock->mockery_getContainer()->mockery_close(); - } - - public function testThreeChains() - { - $this->mock->shouldReceive('getElement->getFirst') - ->once() - ->andReturn('something'); - - $this->mock->shouldReceive('getElement->getSecond') - ->once() - ->andReturn('somethingElse'); - - $this->assertEquals( - 'something', - $this->mock->getElement()->getFirst() - ); - $this->assertEquals( - 'somethingElse', - $this->mock->getElement()->getSecond() - ); - $this->mock->shouldReceive('getElement->getFirst') - ->once() - ->andReturn('somethingNew'); - $this->assertEquals( - 'somethingNew', - $this->mock->getElement()->getFirst() - ); - } - - public function testManyChains() - { - $this->mock->shouldReceive('getElements->getFirst') - ->once() - ->andReturn('something'); - - $this->mock->shouldReceive('getElements->getSecond') - ->once() - ->andReturn('somethingElse'); - - $this->mock->getElements()->getFirst(); - $this->mock->getElements()->getSecond(); - } - - public function testTwoNotRelatedChains() - { - $this->mock->shouldReceive('getElement->getFirst') - ->once() - ->andReturn('something'); - - $this->mock->shouldReceive('getOtherElement->getSecond') - ->once() - ->andReturn('somethingElse'); - - $this->assertEquals( - 'somethingElse', - $this->mock->getOtherElement()->getSecond() - ); - $this->assertEquals( - 'something', - $this->mock->getElement()->getFirst() - ); - } - - public function testDemeterChain() - { - $this->mock->shouldReceive('getElement->getFirst') - ->once() - ->andReturn('somethingElse'); - - $this->assertEquals('somethingElse', $this->mock->getElement()->getFirst()); - } - - public function testMultiLevelDemeterChain() - { - $this->mock->shouldReceive('levelOne->levelTwo->getFirst') - ->andReturn('first'); - - $this->mock->shouldReceive('levelOne->levelTwo->getSecond') - ->andReturn('second'); - - $this->assertEquals( - 'second', - $this->mock->levelOne()->levelTwo()->getSecond() - ); - $this->assertEquals( - 'first', - $this->mock->levelOne()->levelTwo()->getFirst() - ); - } - - public function testSimilarDemeterChainsOnDifferentClasses() - { - $mock1 = Mockery::mock('overload:mock1'); - $mock1->shouldReceive('select->some->data')->andReturn(1); - $mock1->shouldReceive('select->some->other->data')->andReturn(2); - - $mock2 = Mockery::mock('overload:mock2'); - $mock2->shouldReceive('select->some->data')->andReturn(3); - $mock2->shouldReceive('select->some->other->data')->andReturn(4); - - $this->assertEquals(1, mock1::select()->some()->data()); - $this->assertEquals(2, mock1::select()->some()->other()->data()); - $this->assertEquals(3, mock2::select()->some()->data()); - $this->assertEquals(4, mock2::select()->some()->other()->data()); - } - - /** - * @requires PHP 7.0.0 - */ - public function testDemeterChainsWithClassReturnTypeHints() - { - $a = \Mockery::mock(\DemeterChain\A::class); - $a->shouldReceive('foo->bar->baz')->andReturn(new stdClass); - - $m = new \DemeterChain\Main(); - $result = $m->callDemeter($a); - - $this->assertInstanceOf(stdClass::class, $result); - } - - /** - * @requires PHP 7.0.0 - */ - public function testMultipleDemeterChainsWithClassReturnTypeHints() - { - $bar = new \DemeterChain\C; - $qux = new \DemeterChain\C; - $a = \Mockery::mock(\DemeterChain\A::class); - $a->shouldReceive('foo->bar')->andReturn($bar); - $a->shouldReceive('foo->qux')->andReturn($qux); - $this->assertEquals($bar, $a->foo()->bar()); - $this->assertEquals($qux, $a->foo()->qux()); - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/tests/Mockery/DummyClasses/DemeterChain.php b/paragonik-backend/vendor/mockery/mockery/tests/Mockery/DummyClasses/DemeterChain.php deleted file mode 100644 index 0cb72b2..0000000 --- a/paragonik-backend/vendor/mockery/mockery/tests/Mockery/DummyClasses/DemeterChain.php +++ /dev/null @@ -1,59 +0,0 @@ -foo()->bar()->baz(); - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/tests/Mockery/DummyClasses/Namespaced.php b/paragonik-backend/vendor/mockery/mockery/tests/Mockery/DummyClasses/Namespaced.php deleted file mode 100644 index 615eb71..0000000 --- a/paragonik-backend/vendor/mockery/mockery/tests/Mockery/DummyClasses/Namespaced.php +++ /dev/null @@ -1,35 +0,0 @@ -mock = mock(); - } - - public function mockeryTestTearDown() - { - parent::mockeryTestTearDown(); - \Mockery::getConfiguration()->allowMockingNonExistentMethods(true); - } - - public function testReturnsNullWhenNoArgs() - { - $this->mock->shouldReceive('foo'); - $this->assertNull($this->mock->foo()); - } - - public function testReturnsNullWhenSingleArg() - { - $this->mock->shouldReceive('foo'); - $this->assertNull($this->mock->foo(1)); - } - - public function testReturnsNullWhenManyArgs() - { - $this->mock->shouldReceive('foo'); - $this->assertNull($this->mock->foo('foo', array(), new stdClass)); - } - - public function testReturnsNullIfNullIsReturnValue() - { - $this->mock->shouldReceive('foo')->andReturn(null); - $this->assertNull($this->mock->foo()); - } - - public function testReturnsNullForMockedExistingClassIfAndreturnnullCalled() - { - $mock = mock('MockeryTest_Foo'); - $mock->shouldReceive('foo')->andReturn(null); - $this->assertNull($mock->foo()); - } - - public function testReturnsNullForMockedExistingClassIfNullIsReturnValue() - { - $mock = mock('MockeryTest_Foo'); - $mock->shouldReceive('foo')->andReturnNull(); - $this->assertNull($mock->foo()); - } - - public function testReturnsSameValueForAllIfNoArgsExpectationAndNoneGiven() - { - $this->mock->shouldReceive('foo')->andReturn(1); - $this->assertEquals(1, $this->mock->foo()); - } - - public function testSetsPublicPropertyWhenRequested() - { - $this->mock->bar = null; - $this->mock->shouldReceive('foo')->andSet('bar', 'baz'); - $this->assertNull($this->mock->bar); - $this->mock->foo(); - $this->assertEquals('baz', $this->mock->bar); - } - - public function testSetsPublicPropertyWhenRequestedUsingAlias() - { - $this->mock->bar = null; - $this->mock->shouldReceive('foo')->set('bar', 'baz'); - $this->assertNull($this->mock->bar); - $this->mock->foo(); - $this->assertEquals('baz', $this->mock->bar); - } - - public function testSetsPublicPropertiesWhenRequested() - { - $this->mock->bar = null; - $this->mock->shouldReceive('foo')->andSet('bar', 'baz', 'bazz', 'bazzz'); - $this->assertNull($this->mock->bar); - $this->mock->foo(); - $this->assertEquals('baz', $this->mock->bar); - $this->mock->foo(); - $this->assertEquals('bazz', $this->mock->bar); - $this->mock->foo(); - $this->assertEquals('bazzz', $this->mock->bar); - } - - public function testSetsPublicPropertiesWhenRequestedUsingAlias() - { - $this->mock->bar = null; - $this->mock->shouldReceive('foo')->set('bar', 'baz', 'bazz', 'bazzz'); - $this->assertTrue(empty($this->mock->bar)); - $this->mock->foo(); - $this->assertEquals('baz', $this->mock->bar); - $this->mock->foo(); - $this->assertEquals('bazz', $this->mock->bar); - $this->mock->foo(); - $this->assertEquals('bazzz', $this->mock->bar); - } - - public function testSetsPublicPropertiesWhenRequestedMoreTimesThanSetValues() - { - $this->mock->bar = null; - $this->mock->shouldReceive('foo')->andSet('bar', 'baz', 'bazz'); - $this->assertNull($this->mock->bar); - $this->mock->foo(); - $this->assertEquals('baz', $this->mock->bar); - $this->mock->foo(); - $this->assertEquals('bazz', $this->mock->bar); - $this->mock->foo(); - $this->assertEquals('bazz', $this->mock->bar); - } - - public function testSetsPublicPropertiesWhenRequestedMoreTimesThanSetValuesUsingAlias() - { - $this->mock->bar = null; - $this->mock->shouldReceive('foo')->andSet('bar', 'baz', 'bazz'); - $this->assertNull($this->mock->bar); - $this->mock->foo(); - $this->assertEquals('baz', $this->mock->bar); - $this->mock->foo(); - $this->assertEquals('bazz', $this->mock->bar); - $this->mock->foo(); - $this->assertEquals('bazz', $this->mock->bar); - } - - public function testSetsPublicPropertiesWhenRequestedMoreTimesThanSetValuesWithDirectSet() - { - $this->mock->bar = null; - $this->mock->shouldReceive('foo')->andSet('bar', 'baz', 'bazz'); - $this->assertNull($this->mock->bar); - $this->mock->foo(); - $this->assertEquals('baz', $this->mock->bar); - $this->mock->foo(); - $this->assertEquals('bazz', $this->mock->bar); - $this->mock->bar = null; - $this->mock->foo(); - $this->assertNull($this->mock->bar); - } - - public function testSetsPublicPropertiesWhenRequestedMoreTimesThanSetValuesWithDirectSetUsingAlias() - { - $this->mock->bar = null; - $this->mock->shouldReceive('foo')->set('bar', 'baz', 'bazz'); - $this->assertNull($this->mock->bar); - $this->mock->foo(); - $this->assertEquals('baz', $this->mock->bar); - $this->mock->foo(); - $this->assertEquals('bazz', $this->mock->bar); - $this->mock->bar = null; - $this->mock->foo(); - $this->assertNull($this->mock->bar); - } - - /** - * @group issue/1005 - */ - public function testSetsPublicPropertiesCorrectlyForDifferentInstancesOfSameClass() - { - $mockInstanceOne = mock('MockeryTest_Foo'); - $mockInstanceTwo = mock('MockeryTest_Foo'); - - $mockInstanceOne->shouldReceive('foo') - ->andSet('bar', 'baz'); - - $mockInstanceTwo->shouldReceive('foo') - ->andSet('bar', 'bazz'); - - $mockInstanceOne->foo(); - $mockInstanceTwo->foo(); - - $this->assertEquals('baz', $mockInstanceOne->bar); - $this->assertEquals('bazz', $mockInstanceTwo->bar); - } - - public function testReturnsSameValueForAllIfNoArgsExpectationAndSomeGiven() - { - $this->mock->shouldReceive('foo')->andReturn(1); - $this->assertEquals(1, $this->mock->foo('foo')); - } - - public function testReturnsValueFromSequenceSequentially() - { - $this->mock->shouldReceive('foo')->andReturn(1, 2, 3); - $this->mock->foo('foo'); - $this->assertEquals(2, $this->mock->foo('foo')); - } - - public function testReturnsValueFromSequenceSequentiallyAndRepeatedlyReturnsFinalValueOnExtraCalls() - { - $this->mock->shouldReceive('foo')->andReturn(1, 2, 3); - $this->mock->foo('foo'); - $this->mock->foo('foo'); - $this->assertEquals(3, $this->mock->foo('foo')); - $this->assertEquals(3, $this->mock->foo('foo')); - } - - public function testReturnsValueFromSequenceSequentiallyAndRepeatedlyReturnsFinalValueOnExtraCallsWithManyAndReturnCalls() - { - $this->mock->shouldReceive('foo')->andReturn(1)->andReturn(2, 3); - $this->mock->foo('foo'); - $this->mock->foo('foo'); - $this->assertEquals(3, $this->mock->foo('foo')); - $this->assertEquals(3, $this->mock->foo('foo')); - } - - public function testReturnsValueOfClosure() - { - $this->mock->shouldReceive('foo')->with(5)->andReturnUsing(function ($v) { - return $v+1; - }); - $this->assertEquals(6, $this->mock->foo(5)); - } - - public function testReturnsValueOfArgument() - { - $args = [1, 2, 3, 4, 5]; - $index = 2; - $this->mock->shouldReceive('foo')->withArgs($args)->andReturnArg($index); - $this->assertEquals($args[$index], $this->mock->foo(...$args)); - } - - public function testReturnsNullArgument() - { - $args = [1, null, 3]; - $index = 1; - $this->mock->shouldReceive('foo')->withArgs($args)->andReturnArg($index); - $this->assertNull($this->mock->foo(...$args)); - } - - public function testExceptionOnInvalidArgumentIndexValue() - { - $this->expectException(\InvalidArgumentException::class); - $this->mock->shouldReceive('foo')->andReturnArg("invalid"); - } - - public function testExceptionOnArgumentIndexOutOfRange() - { - $this->expectException(\OutOfBoundsException::class); - $this->mock->shouldReceive('foo')->andReturnArg(2); - $this->mock->foo(0, 1); // only pass 2 arguments so index #2 won't exist - } - - public function testReturnsUndefined() - { - $this->mock->shouldReceive('foo')->andReturnUndefined(); - $this->assertInstanceOf(\Mockery\Undefined::class, $this->mock->foo()); - } - - public function testReturnsValuesSetAsArray() - { - $this->mock->shouldReceive('foo')->andReturnValues(array(1, 2, 3)); - $this->assertEquals(1, $this->mock->foo()); - $this->assertEquals(2, $this->mock->foo()); - $this->assertEquals(3, $this->mock->foo()); - } - - public function testThrowsException() - { - $this->mock->shouldReceive('foo')->andThrow(new OutOfBoundsException); - $this->expectException(OutOfBoundsException::class); - $this->mock->foo(); - Mockery::close(); - } - - /** @test */ - public function and_throws_is_an_alias_to_and_throw() - { - $this->mock->shouldReceive('foo')->andThrows(new OutOfBoundsException); - - $this->expectException(OutOfBoundsException::class); - $this->mock->foo(); - } - - /** - * @test - * @requires PHP 7.0.0 - */ - public function it_can_throw_a_throwable() - { - $this->expectException(\Error::class); - $this->mock->shouldReceive('foo')->andThrow(new \Error()); - $this->mock->foo(); - } - - public function testThrowsExceptionBasedOnArgs() - { - $this->mock->shouldReceive('foo')->andThrow('OutOfBoundsException'); - $this->expectException(OutOfBoundsException::class); - $this->mock->foo(); - Mockery::close(); - } - - public function testThrowsExceptionBasedOnArgsWithMessage() - { - $this->mock->shouldReceive('foo')->andThrow('OutOfBoundsException', 'foo'); - try { - $this->mock->foo(); - } catch (OutOfBoundsException $e) { - $this->assertEquals('foo', $e->getMessage()); - } - } - - public function testThrowsExceptionSequentially() - { - $this->mock->shouldReceive('foo')->andThrow(new Exception)->andThrow(new OutOfBoundsException); - try { - $this->mock->foo(); - } catch (Exception $e) { - } - $this->expectException(OutOfBoundsException::class); - $this->mock->foo(); - Mockery::close(); - } - - public function testAndThrowExceptions() - { - $this->mock->shouldReceive('foo')->andThrowExceptions(array( - new OutOfBoundsException, - new InvalidArgumentException, - )); - - try { - $this->mock->foo(); - throw new Exception("Expected OutOfBoundsException, non thrown"); - } catch (\Exception $e) { - $this->assertInstanceOf("OutOfBoundsException", $e, "Wrong or no exception thrown: {$e->getMessage()}"); - } - - try { - $this->mock->foo(); - throw new Exception("Expected InvalidArgumentException, non thrown"); - } catch (\Exception $e) { - $this->assertInstanceOf("InvalidArgumentException", $e, "Wrong or no exception thrown: {$e->getMessage()}"); - } - } - - public function testAndThrowExceptionsCatchNonExceptionArgument() - { - $this->expectException(\Mockery\Exception::class); - $this->expectExceptionMessage('You must pass an array of exception objects to andThrowExceptions'); - $this->mock - ->shouldReceive('foo') - ->andThrowExceptions(array('NotAnException')); - Mockery::close(); - } - - public function testMultipleExpectationsWithReturns() - { - $this->mock->shouldReceive('foo')->with(1)->andReturn(10); - $this->mock->shouldReceive('bar')->with(2)->andReturn(20); - $this->assertEquals(10, $this->mock->foo(1)); - $this->assertEquals(20, $this->mock->bar(2)); - } - - public function testExpectsNoArguments() - { - $this->mock->shouldReceive('foo')->withNoArgs(); - $this->mock->foo(); - } - - public function testExpectsNoArgumentsThrowsExceptionIfAnyPassed() - { - $this->mock->shouldReceive('foo')->withNoArgs(); - $this->expectException(\Mockery\Exception::class); - $this->mock->foo(1); - Mockery::close(); - } - - public function testExpectsArgumentsArray() - { - $this->mock->shouldReceive('foo')->withArgs(array(1, 2)); - $this->mock->foo(1, 2); - } - - public function testExpectsArgumentsArrayThrowsExceptionIfPassedEmptyArray() - { - $this->mock->shouldReceive('foo')->withArgs(array()); - $this->expectException(\Mockery\Exception::class); - $this->mock->foo(1, 2); - Mockery::close(); - } - - public function testExpectsArgumentsArrayThrowsExceptionIfNoArgumentsPassed() - { - $this->mock->shouldReceive('foo')->with(); - $this->expectException(\Mockery\Exception::class); - $this->mock->foo(1); - Mockery::close(); - } - - public function testExpectsArgumentsArrayThrowsExceptionIfPassedWrongArguments() - { - $this->mock->shouldReceive('foo')->withArgs(array(1, 2)); - $this->expectException(\Mockery\Exception::class); - $this->mock->foo(3, 4); - Mockery::close(); - } - - public function testExpectsStringArgumentExceptionMessageDifferentiatesBetweenNullAndEmptyString() - { - $this->mock->shouldReceive('foo')->withArgs(array('a string')); - $this->expectException(\Mockery\Exception::class); - $this->expectExceptionMessageRegExp('/foo\(NULL\)/'); - $this->mock->foo(null); - Mockery::close(); - } - - public function testExpectsArgumentsArrayThrowsExceptionIfPassedWrongArgumentType() - { - $this->expectException(\InvalidArgumentException::class); - $this->expectExceptionMessageRegExp('/invalid argument (.+), only array and closure are allowed/'); - $this->mock->shouldReceive('foo')->withArgs(5); - Mockery::close(); - } - - public function testExpectsArgumentsArrayAcceptAClosureThatValidatesPassedArguments() - { - $closure = function ($odd, $even) { - return ($odd % 2 != 0) && ($even % 2 == 0); - }; - $this->mock->shouldReceive('foo')->withArgs($closure); - $this->mock->foo(1, 2); - } - - public function testExpectsArgumentsArrayThrowsExceptionWhenClosureEvaluatesToFalse() - { - $closure = function ($odd, $even) { - return ($odd % 2 != 0) && ($even % 2 == 0); - }; - $this->mock->shouldReceive('foo')->withArgs($closure); - $this->expectException(\Mockery\Exception::class); - $this->mock->foo(4, 2); - Mockery::close(); - } - - public function testExpectsArgumentsArrayClosureDoesNotThrowExceptionIfOptionalArgumentsAreMissing() - { - $closure = function ($odd, $even, $sum = null) { - $result = ($odd % 2 != 0) && ($even % 2 == 0); - if (!is_null($sum)) { - return $result && ($odd + $even == $sum); - } - return $result; - }; - $this->mock->shouldReceive('foo')->withArgs($closure); - $this->mock->foo(1, 4); - } - - public function testExpectsArgumentsArrayClosureDoesNotThrowExceptionIfOptionalArgumentsMathTheExpectation() - { - $closure = function ($odd, $even, $sum = null) { - $result = ($odd % 2 != 0) && ($even % 2 == 0); - if (!is_null($sum)) { - return $result && ($odd + $even == $sum); - } - return $result; - }; - $this->mock->shouldReceive('foo')->withArgs($closure); - $this->mock->foo(1, 4, 5); - } - - public function testExpectsArgumentsArrayClosureThrowsExceptionIfOptionalArgumentsDontMatchTheExpectation() - { - $closure = function ($odd, $even, $sum = null) { - $result = ($odd % 2 != 0) && ($even % 2 == 0); - if (!is_null($sum)) { - return $result && ($odd + $even == $sum); - } - return $result; - }; - $this->mock->shouldReceive('foo')->withArgs($closure); - $this->expectException(\Mockery\Exception::class); - $this->mock->foo(1, 4, 2); - Mockery::close(); - } - - public function testExpectsSomeOfArgumentsMatchRealArguments() - { - $this->mock->shouldReceive('foo')->withSomeOfArgs(1, 3, 5)->times(4); - $this->mock->foo(1, 2, 3, 4, 5); - $this->mock->foo(1, 3, 5, 2, 4); - $this->mock->foo(1, 'foo', 3, 'bar', 5); - $this->mock->foo(1, 3, 5); - $this->mock->shouldReceive('foo')->withSomeOfArgs('foo')->times(2); - $this->mock->foo('foo', 'bar'); - $this->mock->foo('bar', 'foo'); - } - - public function testExpectsSomeOfArgumentsGivenArgsDoNotMatchRealArgsAndThrowNoMatchingException() - { - $this->mock->shouldReceive('foo')->withSomeOfArgs(1, 3, 5); - $this->expectException(\Mockery\Exception\NoMatchingExpectationException::class); - $this->mock->foo(1, 2, 4, 5); - } - - public function testExpectsAnyArguments() - { - $this->mock->shouldReceive('foo')->withAnyArgs(); - $this->mock->foo(); - $this->mock->foo(1); - $this->mock->foo(1, 'k', new stdClass); - } - - public function testExpectsArgumentMatchingObjectType() - { - $this->mock->shouldReceive('foo')->with('\stdClass'); - $this->mock->foo(new stdClass); - } - - public function testThrowsExceptionOnNoArgumentMatch() - { - $this->mock->shouldReceive('foo')->with(1); - $this->expectException(\Mockery\Exception::class); - $this->mock->foo(2); - Mockery::close(); - } - - public function testNeverCalled() - { - $this->mock->shouldReceive('foo')->never(); - } - - public function testShouldNotReceive() - { - $this->mock->shouldNotReceive('foo'); - } - - public function testShouldNotReceiveThrowsExceptionIfMethodCalled() - { - $this->mock->shouldNotReceive('foo'); - $this->expectException(\Mockery\Exception\InvalidCountException::class); - $this->mock->foo(); - Mockery::close(); - } - - public function testShouldNotReceiveWithArgumentThrowsExceptionIfMethodCalled() - { - $this->mock->shouldNotReceive('foo')->with(2); - $this->expectException(\Mockery\Exception\InvalidCountException::class); - $this->mock->foo(2); - Mockery::close(); - } - - public function testNeverCalledThrowsExceptionOnCall() - { - $this->mock->shouldReceive('foo')->never(); - $this->expectException(\Mockery\CountValidator\Exception::class); - $this->mock->foo(); - Mockery::close(); - } - - public function testCalledOnce() - { - $this->mock->shouldReceive('foo')->once(); - $this->mock->foo(); - } - - public function testCalledOnceThrowsExceptionIfNotCalled() - { - $this->expectException(\Mockery\CountValidator\Exception::class); - $this->mock->shouldReceive('foo')->once(); - Mockery::close(); - } - - public function testCalledOnceThrowsExceptionIfCalledTwice() - { - $this->mock->shouldReceive('foo')->once(); - $this->mock->foo(); - $this->expectException(\Mockery\CountValidator\Exception::class); - $this->mock->foo(); - Mockery::close(); - } - - public function testCalledTwice() - { - $this->mock->shouldReceive('foo')->twice(); - $this->mock->foo(); - $this->mock->foo(); - } - - public function testCalledTwiceThrowsExceptionIfNotCalled() - { - $this->mock->shouldReceive('foo')->twice(); - $this->expectException(\Mockery\CountValidator\Exception::class); - Mockery::close(); - } - - public function testCalledOnceThrowsExceptionIfCalledThreeTimes() - { - $this->mock->shouldReceive('foo')->twice(); - $this->mock->foo(); - $this->mock->foo(); - $this->expectException(\Mockery\CountValidator\Exception::class); - $this->mock->foo(); - Mockery::close(); - } - - public function testCalledZeroOrMoreTimesAtZeroCalls() - { - $this->mock->shouldReceive('foo')->zeroOrMoreTimes(); - } - - public function testCalledZeroOrMoreTimesAtThreeCalls() - { - $this->mock->shouldReceive('foo')->zeroOrMoreTimes(); - $this->mock->foo(); - $this->mock->foo(); - $this->mock->foo(); - } - - public function testTimesCountCalls() - { - $this->mock->shouldReceive('foo')->times(4); - $this->mock->foo(); - $this->mock->foo(); - $this->mock->foo(); - $this->mock->foo(); - } - - public function testTimesCountCallThrowsExceptionOnTooFewCalls() - { - $this->mock->shouldReceive('foo')->times(2); - $this->mock->foo(); - $this->expectException(\Mockery\CountValidator\Exception::class); - Mockery::close(); - } - - public function testTimesCountCallThrowsExceptionOnTooManyCalls() - { - $this->mock->shouldReceive('foo')->times(2); - $this->mock->foo(); - $this->mock->foo(); - $this->expectException(\Mockery\CountValidator\Exception::class); - $this->mock->foo(); - Mockery::close(); - } - - public function testCalledAtLeastOnceAtExactlyOneCall() - { - $this->mock->shouldReceive('foo')->atLeast()->once(); - $this->mock->foo(); - } - - public function testCalledAtLeastOnceAtExactlyThreeCalls() - { - $this->mock->shouldReceive('foo')->atLeast()->times(3); - $this->mock->foo(); - $this->mock->foo(); - $this->mock->foo(); - } - - public function testCalledAtLeastThrowsExceptionOnTooFewCalls() - { - $this->mock->shouldReceive('foo')->atLeast()->twice(); - $this->mock->foo(); - $this->expectException(\Mockery\CountValidator\Exception::class); - Mockery::close(); - } - - public function testCalledAtMostOnceAtExactlyOneCall() - { - $this->mock->shouldReceive('foo')->atMost()->once(); - $this->mock->foo(); - } - - public function testCalledAtMostAtExactlyThreeCalls() - { - $this->mock->shouldReceive('foo')->atMost()->times(3); - $this->mock->foo(); - $this->mock->foo(); - $this->mock->foo(); - } - - public function testCalledAtLeastThrowsExceptionOnTooManyCalls() - { - $this->mock->shouldReceive('foo')->atMost()->twice(); - $this->mock->foo(); - $this->mock->foo(); - $this->expectException(\Mockery\CountValidator\Exception::class); - $this->mock->foo(); - Mockery::close(); - } - - public function testExactCountersOverrideAnyPriorSetNonExactCounters() - { - $this->mock->shouldReceive('foo')->atLeast()->once()->once(); - $this->mock->foo(); - $this->expectException(\Mockery\CountValidator\Exception::class); - $this->mock->foo(); - Mockery::close(); - } - - public function testComboOfLeastAndMostCallsWithOneCall() - { - $this->mock->shouldReceive('foo')->atleast()->once()->atMost()->twice(); - $this->mock->foo(); - } - - public function testComboOfLeastAndMostCallsWithTwoCalls() - { - $this->mock->shouldReceive('foo')->atleast()->once()->atMost()->twice(); - $this->mock->foo(); - $this->mock->foo(); - } - - public function testComboOfLeastAndMostCallsThrowsExceptionAtTooFewCalls() - { - $this->mock->shouldReceive('foo')->atleast()->once()->atMost()->twice(); - $this->expectException(\Mockery\CountValidator\Exception::class); - Mockery::close(); - } - - public function testComboOfLeastAndMostCallsThrowsExceptionAtTooManyCalls() - { - $this->mock->shouldReceive('foo')->atleast()->once()->atMost()->twice(); - $this->mock->foo(); - $this->expectException(\Mockery\CountValidator\Exception::class); - $this->mock->foo(); - $this->mock->foo(); - Mockery::close(); - } - - public function testCallCountingOnlyAppliesToMatchedExpectations() - { - $this->mock->shouldReceive('foo')->with(1)->once(); - $this->mock->shouldReceive('foo')->with(2)->twice(); - $this->mock->shouldReceive('foo')->with(3); - $this->mock->foo(1); - $this->mock->foo(2); - $this->mock->foo(2); - $this->mock->foo(3); - } - - public function testCallCountingThrowsExceptionOnAnyMismatch() - { - $this->mock->shouldReceive('foo')->with(1)->once(); - $this->mock->shouldReceive('foo')->with(2)->twice(); - $this->mock->shouldReceive('foo')->with(3); - $this->mock->shouldReceive('bar'); - $this->mock->foo(1); - $this->mock->foo(2); - $this->mock->foo(3); - $this->mock->bar(); - $this->expectException(\Mockery\CountValidator\Exception::class); - Mockery::close(); - } - - public function testCallCountingThrowsExceptionFirst() - { - $number_of_calls = 0; - $this->mock->shouldReceive('foo') - ->times(2) - ->with(\Mockery::on(function ($argument) use (&$number_of_calls) { - $number_of_calls++; - return $number_of_calls <= 3; - })); - - $this->mock->foo(1); - $this->mock->foo(1); - $this->expectException(\Mockery\CountValidator\Exception::class); - $this->mock->foo(1); - Mockery::close(); - } - - public function testOrderedCallsWithoutError() - { - $this->mock->shouldReceive('foo')->ordered(); - $this->mock->shouldReceive('bar')->ordered(); - $this->mock->foo(); - $this->mock->bar(); - } - - public function testOrderedCallsWithOutOfOrderError() - { - $this->mock->shouldReceive('foo')->ordered(); - $this->mock->shouldReceive('bar')->ordered(); - $this->expectException(\Mockery\Exception::class); - $this->mock->bar(); - $this->mock->foo(); - Mockery::close(); - } - - public function testDifferentArgumentsAndOrderingsPassWithoutException() - { - $this->mock->shouldReceive('foo')->with(1)->ordered(); - $this->mock->shouldReceive('foo')->with(2)->ordered(); - $this->mock->foo(1); - $this->mock->foo(2); - } - - public function testDifferentArgumentsAndOrderingsThrowExceptionWhenInWrongOrder() - { - $this->mock->shouldReceive('foo')->with(1)->ordered(); - $this->mock->shouldReceive('foo')->with(2)->ordered(); - $this->expectException(\Mockery\Exception::class); - $this->mock->foo(2); - $this->mock->foo(1); - Mockery::close(); - } - - public function testUnorderedCallsIgnoredForOrdering() - { - $this->mock->shouldReceive('foo')->with(1)->ordered(); - $this->mock->shouldReceive('foo')->with(2); - $this->mock->shouldReceive('foo')->with(3)->ordered(); - $this->mock->foo(2); - $this->mock->foo(1); - $this->mock->foo(2); - $this->mock->foo(3); - $this->mock->foo(2); - } - - public function testOrderingOfDefaultGrouping() - { - $this->mock->shouldReceive('foo')->ordered(); - $this->mock->shouldReceive('bar')->ordered(); - $this->mock->foo(); - $this->mock->bar(); - } - - public function testOrderingOfDefaultGroupingThrowsExceptionOnWrongOrder() - { - $this->mock->shouldReceive('foo')->ordered(); - $this->mock->shouldReceive('bar')->ordered(); - $this->expectException(\Mockery\Exception::class); - $this->mock->bar(); - $this->mock->foo(); - Mockery::close(); - } - - public function testOrderingUsingNumberedGroups() - { - $this->mock->shouldReceive('start')->ordered(1); - $this->mock->shouldReceive('foo')->ordered(2); - $this->mock->shouldReceive('bar')->ordered(2); - $this->mock->shouldReceive('final')->ordered(); - $this->mock->start(); - $this->mock->bar(); - $this->mock->foo(); - $this->mock->bar(); - $this->mock->final(); - } - - public function testOrderingUsingNamedGroups() - { - $this->mock->shouldReceive('start')->ordered('start'); - $this->mock->shouldReceive('foo')->ordered('foobar'); - $this->mock->shouldReceive('bar')->ordered('foobar'); - $this->mock->shouldReceive('final')->ordered(); - $this->mock->start(); - $this->mock->bar(); - $this->mock->foo(); - $this->mock->bar(); - $this->mock->final(); - } - - /** - * @group 2A - */ - public function testGroupedUngroupedOrderingDoNotOverlap() - { - $s = $this->mock->shouldReceive('start')->ordered(); - $m = $this->mock->shouldReceive('mid')->ordered('foobar'); - $e = $this->mock->shouldReceive('end')->ordered(); - $this->assertLessThan($m->getOrderNumber(), $s->getOrderNumber()); - $this->assertLessThan($e->getOrderNumber(), $m->getOrderNumber()); - } - - public function testGroupedOrderingThrowsExceptionWhenCallsDisordered() - { - $this->mock->shouldReceive('foo')->ordered('first'); - $this->mock->shouldReceive('bar')->ordered('second'); - $this->expectException(\Mockery\Exception::class); - $this->mock->bar(); - $this->mock->foo(); - Mockery::close(); - } - - public function testExpectationMatchingWithNoArgsOrderings() - { - $this->mock->shouldReceive('foo')->withNoArgs()->once()->ordered(); - $this->mock->shouldReceive('bar')->withNoArgs()->once()->ordered(); - $this->mock->shouldReceive('foo')->withNoArgs()->once()->ordered(); - $this->mock->foo(); - $this->mock->bar(); - $this->mock->foo(); - } - - public function testExpectationMatchingWithAnyArgsOrderings() - { - $this->mock->shouldReceive('foo')->withAnyArgs()->once()->ordered(); - $this->mock->shouldReceive('bar')->withAnyArgs()->once()->ordered(); - $this->mock->shouldReceive('foo')->withAnyArgs()->once()->ordered(); - $this->mock->foo(); - $this->mock->bar(); - $this->mock->foo(); - } - - public function testEnsuresOrderingIsNotCrossMockByDefault() - { - $this->mock->shouldReceive('foo')->ordered(); - $mock2 = mock('bar'); - $mock2->shouldReceive('bar')->ordered(); - $mock2->bar(); - $this->mock->foo(); - } - - public function testEnsuresOrderingIsCrossMockWhenGloballyFlagSet() - { - $this->mock->shouldReceive('foo')->globally()->ordered(); - $mock2 = mock('bar'); - $mock2->shouldReceive('bar')->globally()->ordered(); - $this->expectException(\Mockery\Exception::class); - $mock2->bar(); - $this->mock->foo(); - Mockery::close(); - } - - public function testExpectationCastToStringFormatting() - { - $exp = $this->mock->shouldReceive('foo')->with(1, 'bar', new stdClass, array('Spam' => 'Ham', 'Bar' => 'Baz')); - $this->assertEquals("[foo(1, 'bar', object(stdClass), ['Spam' => 'Ham', 'Bar' => 'Baz'])]", (string) $exp); - } - - public function testLongExpectationCastToStringFormatting() - { - $exp = $this->mock->shouldReceive('foo')->with(array('Spam' => 'Ham', 'Bar' => 'Baz', 'Bar', 'Baz', 'Bar', 'Baz', 'Bar', 'Baz', 'Bar', 'Baz', 'Bar', 'Baz', 'Bar', 'Baz', 'Bar', 'Baz', 'Bar', 'Baz', 'Bar', 'Baz', 'Bar', 'Baz', 'Bar', 'Baz', 'Bar', 'Baz', 'Bar', 'Baz', 'Bar', 'Baz', 'Bar', 'Baz', 'Bar', 'Baz', 'Bar', 'Baz', 'Bar', 'Baz', 'Bar', 'Baz', 'Bar', 'Baz', 'Bar', 'Baz', 'Bar', 'Baz', 'Bar', 'Baz', 'Baz', 'Bar', 'Baz', 'Bar', 'Baz', 'Bar', 'Baz', 'Bar', 'Baz', 'Bar', 'Baz', 'Baz', 'Bar', 'Baz', 'Bar', 'Baz', 'Bar', 'Baz', 'Bar', 'Baz', 'Bar', 'Baz', 'Baz', 'Bar', 'Baz', 'Bar', 'Baz', 'Bar', 'Baz', 'Bar', 'Baz', 'Bar', 'Baz', 'Baz', 'Bar', 'Baz', 'Bar', 'Baz', 'Bar', 'Baz', 'Bar', 'Baz', 'Bar', 'Baz', 'Baz', 'Bar', 'Baz', 'Bar', 'Baz', 'Bar', 'Baz', 'Bar', 'Baz', 'Bar', 'Baz', 'Baz', 'Bar', 'Baz', 'Bar', 'Baz', 'Bar', 'Baz', 'Bar', 'Baz', 'Bar', 'Baz', 'Baz', 'Bar', 'Baz', 'Bar', 'Baz', 'Bar', 'Baz', 'Bar', 'Baz', 'Bar', 'Baz', 'Baz', 'Bar', 'Baz', 'Bar', 'Baz', 'Bar', 'Baz', 'Bar', 'Baz', 'Bar', 'Baz', 'Baz', 'Bar', 'Baz', 'Bar', 'Baz', 'Bar', 'Baz', 'Bar', 'Baz', 'Bar', 'Baz', 'End')); - $this->assertEquals("[foo(['Spam' => 'Ham', 'Bar' => 'Baz', 0 => 'Bar', 1 => 'Baz', 2 => 'Bar', 3 => 'Baz', 4 => 'Bar', 5 => 'Baz', 6 => 'Bar', 7 => 'Baz', 8 => 'Bar', 9 => 'Baz', 10 => 'Bar', 11 => 'Baz', 12 => 'Bar', 13 => 'Baz', 14 => 'Bar', 15 => 'Baz', 16 => 'Bar', 17 => 'Baz', 18 => 'Bar', 19 => 'Baz', 20 => 'Bar', 21 => 'Baz', 22 => 'Bar', 23 => 'Baz', 24 => 'Bar', 25 => 'Baz', 26 => 'Bar', 27 => 'Baz', 28 => 'Bar', 29 => 'Baz', 30 => 'Bar', 31 => 'Baz', 32 => 'Bar', 33 => 'Baz', 34 => 'Bar', 35 => 'Baz', 36 => 'Bar', 37 => 'Baz', 38 => 'Bar', 39 => 'Baz', 40 => 'Bar', 41 => 'Baz', 42 => 'Bar', 43 => 'Baz', 44 => 'Bar', 45 => 'Baz', 46 => 'Baz', 47 => 'Bar', 48 => 'Baz', 49 => 'Bar', 50 => 'Baz', 51 => 'Bar', 52 => 'Baz', 53 => 'Bar', 54 => 'Baz', 55 => 'Bar', 56 => 'Baz', 57 => 'Baz', 58 => 'Bar', 59 => 'Baz', 60 => 'Bar', 61 => 'Baz', 62 => 'Bar', 63 => 'Baz', 64 => 'Bar', 65 => 'Baz', 66 => 'Bar', 67 => 'Baz', 68 => 'Baz', 69 => 'Bar', 70 => 'Baz', 71 => 'Bar', 72 => 'Baz', 73 => 'Bar', 74 => 'Baz', 7...])]", (string) $exp); - } - - public function testMultipleExpectationCastToStringFormatting() - { - $exp = $this->mock->shouldReceive('foo', 'bar')->with(1); - $this->assertEquals('[foo(1), bar(1)]', (string) $exp); - } - - public function testGroupedOrderingWithLimitsAllowsMultipleReturnValues() - { - $this->mock->shouldReceive('foo')->with(2)->once()->andReturn('first'); - $this->mock->shouldReceive('foo')->with(2)->twice()->andReturn('second/third'); - $this->mock->shouldReceive('foo')->with(2)->andReturn('infinity'); - $this->assertEquals('first', $this->mock->foo(2)); - $this->assertEquals('second/third', $this->mock->foo(2)); - $this->assertEquals('second/third', $this->mock->foo(2)); - $this->assertEquals('infinity', $this->mock->foo(2)); - $this->assertEquals('infinity', $this->mock->foo(2)); - $this->assertEquals('infinity', $this->mock->foo(2)); - } - - public function testExpectationsCanBeMarkedAsDefaults() - { - $this->mock->shouldReceive('foo')->andReturn('bar')->byDefault(); - $this->assertEquals('bar', $this->mock->foo()); - } - - public function testDefaultExpectationsValidatedInCorrectOrder() - { - $this->mock->shouldReceive('foo')->with(1)->once()->andReturn('first')->byDefault(); - $this->mock->shouldReceive('foo')->with(2)->once()->andReturn('second')->byDefault(); - $this->assertEquals('first', $this->mock->foo(1)); - $this->assertEquals('second', $this->mock->foo(2)); - } - - public function testDefaultExpectationsAreReplacedByLaterConcreteExpectations() - { - $this->mock->shouldReceive('foo')->andReturn('bar')->once()->byDefault(); - $this->mock->shouldReceive('foo')->andReturn('baz')->twice(); - $this->assertEquals('baz', $this->mock->foo()); - $this->assertEquals('baz', $this->mock->foo()); - } - - public function testExpectationFallsBackToDefaultExpectationWhenConcreteExpectationsAreUsedUp() - { - $this->mock->shouldReceive('foo')->with(1)->andReturn('bar')->once()->byDefault(); - $this->mock->shouldReceive('foo')->with(2)->andReturn('baz')->once(); - $this->assertEquals('baz', $this->mock->foo(2)); - $this->assertEquals('bar', $this->mock->foo(1)); - } - - public function testDefaultExpectationsCanBeOrdered() - { - $this->mock->shouldReceive('foo')->ordered()->byDefault(); - $this->mock->shouldReceive('bar')->ordered()->byDefault(); - $this->expectException(\Mockery\Exception::class); - $this->mock->bar(); - $this->mock->foo(); - Mockery::close(); - } - - public function testDefaultExpectationsCanBeOrderedAndReplaced() - { - $this->mock->shouldReceive('foo')->ordered()->byDefault(); - $this->mock->shouldReceive('bar')->ordered()->byDefault(); - $this->mock->shouldReceive('bar')->ordered(); - $this->mock->shouldReceive('foo')->ordered(); - $this->mock->bar(); - $this->mock->foo(); - } - - public function testByDefaultOperatesFromMockConstruction() - { - $container = new \Mockery\Container(\Mockery::getDefaultGenerator(), \Mockery::getDefaultLoader()); - $mock = $container->mock('f', array('foo'=>'rfoo', 'bar'=>'rbar', 'baz'=>'rbaz'))->byDefault(); - $mock->shouldReceive('foo')->andReturn('foobar'); - $this->assertEquals('foobar', $mock->foo()); - $this->assertEquals('rbar', $mock->bar()); - $this->assertEquals('rbaz', $mock->baz()); - } - - public function testByDefaultOnAMockDoesSquatWithoutExpectations() - { - $this->assertInstanceOf(MockInterface::class, mock('f')->byDefault()); - } - - public function testDefaultExpectationsCanBeOverridden() - { - $this->mock->shouldReceive('foo')->with('test')->andReturn('bar')->byDefault(); - $this->mock->shouldReceive('foo')->with('test')->andReturn('newbar')->byDefault(); - $this->mock->foo('test'); - $this->assertEquals('newbar', $this->mock->foo('test')); - } - - public function testByDefaultPreventedFromSettingDefaultWhenDefaultingExpectationWasReplaced() - { - $exp = $this->mock->shouldReceive('foo')->andReturn(1); - $this->mock->shouldReceive('foo')->andReturn(2); - $this->expectException(\Mockery\Exception::class); - $exp->byDefault(); - Mockery::close(); - } - - /** - * Argument Constraint Tests - */ - - public function testAnyConstraintMatchesAnyArg() - { - $this->mock->shouldReceive('foo')->with(1, Mockery::any())->twice(); - $this->mock->foo(1, 2); - $this->mock->foo(1, 'str'); - } - - public function testAnyConstraintNonMatchingCase() - { - $this->mock->shouldReceive('foo')->times(3); - $this->mock->shouldReceive('foo')->with(1, Mockery::any())->never(); - $this->mock->foo(); - $this->mock->foo(1); - $this->mock->foo(1, 2, 3); - } - - public function testAndAnyOtherConstraintMatchesTheRestOfTheArguments() - { - $this->mock->shouldReceive('foo')->with(1, 2, Mockery::andAnyOthers())->twice(); - $this->mock->foo(1, 2, 3, 4, 5); - $this->mock->foo(1, 'str', 3, 4); - } - - public function testAndAnyOtherConstraintDoesNotPreventMatchingOfRegularArguments() - { - $this->mock->shouldReceive('foo')->with(1, 2, Mockery::andAnyOthers()); - $this->expectException(\Mockery\Exception::class); - $this->mock->foo(10, 2, 3, 4, 5); - Mockery::close(); - } - - public function testArrayConstraintMatchesArgument() - { - $this->mock->shouldReceive('foo')->with(Mockery::type('array'))->once(); - $this->mock->foo(array()); - } - - public function testArrayConstraintNonMatchingCase() - { - $this->mock->shouldReceive('foo')->times(3); - $this->mock->shouldReceive('foo')->with(1, Mockery::type('array'))->never(); - $this->mock->foo(); - $this->mock->foo(1); - $this->mock->foo(1, 2, 3); - } - - public function testArrayConstraintThrowsExceptionWhenConstraintUnmatched() - { - $this->mock->shouldReceive('foo')->with(Mockery::type('array')); - $this->expectException(\Mockery\Exception::class); - $this->mock->foo(1); - Mockery::close(); - } - - public function testBoolConstraintMatchesArgument() - { - $this->mock->shouldReceive('foo')->with(Mockery::type('bool'))->once(); - $this->mock->foo(true); - } - - public function testBoolConstraintNonMatchingCase() - { - $this->mock->shouldReceive('foo')->times(3); - $this->mock->shouldReceive('foo')->with(1, Mockery::type('bool'))->never(); - $this->mock->foo(); - $this->mock->foo(1); - $this->mock->foo(1, 2, 3); - } - - public function testBoolConstraintThrowsExceptionWhenConstraintUnmatched() - { - $this->mock->shouldReceive('foo')->with(Mockery::type('bool')); - $this->expectException(\Mockery\Exception::class); - $this->mock->foo(1); - Mockery::close(); - } - - public function testCallableConstraintMatchesArgument() - { - $this->mock->shouldReceive('foo')->with(Mockery::type('callable'))->once(); - $this->mock->foo(function () { - return 'f'; - }); - } - - public function testCallableConstraintNonMatchingCase() - { - $this->mock->shouldReceive('foo')->times(3); - $this->mock->shouldReceive('foo')->with(1, Mockery::type('callable'))->never(); - $this->mock->foo(); - $this->mock->foo(1); - $this->mock->foo(1, 2, 3); - } - - public function testCallableConstraintThrowsExceptionWhenConstraintUnmatched() - { - $this->mock->shouldReceive('foo')->with(Mockery::type('callable')); - $this->expectException(\Mockery\Exception::class); - $this->mock->foo(1); - Mockery::close(); - } - - public function testDoubleConstraintMatchesArgument() - { - $this->mock->shouldReceive('foo')->with(Mockery::type('double'))->once(); - $this->mock->foo(2.25); - } - - public function testDoubleConstraintNonMatchingCase() - { - $this->mock->shouldReceive('foo')->times(3); - $this->mock->shouldReceive('foo')->with(1, Mockery::type('double'))->never(); - $this->mock->foo(); - $this->mock->foo(1); - $this->mock->foo(1, 2, 3); - } - - public function testDoubleConstraintThrowsExceptionWhenConstraintUnmatched() - { - $this->mock->shouldReceive('foo')->with(Mockery::type('double')); - $this->expectException(\Mockery\Exception::class); - $this->mock->foo(1); - Mockery::close(); - } - - public function testFloatConstraintMatchesArgument() - { - $this->mock->shouldReceive('foo')->with(Mockery::type('float'))->once(); - $this->mock->foo(2.25); - } - - public function testFloatConstraintNonMatchingCase() - { - $this->mock->shouldReceive('foo')->times(3); - $this->mock->shouldReceive('foo')->with(1, Mockery::type('float'))->never(); - $this->mock->foo(); - $this->mock->foo(1); - $this->mock->foo(1, 2, 3); - } - - public function testFloatConstraintThrowsExceptionWhenConstraintUnmatched() - { - $this->mock->shouldReceive('foo')->with(Mockery::type('float')); - $this->expectException(\Mockery\Exception::class); - $this->mock->foo(1); - Mockery::close(); - } - - public function testIntConstraintMatchesArgument() - { - $this->mock->shouldReceive('foo')->with(Mockery::type('int'))->once(); - $this->mock->foo(2); - } - - public function testIntConstraintNonMatchingCase() - { - $this->mock->shouldReceive('foo')->times(3); - $this->mock->shouldReceive('foo')->with(1, Mockery::type('int'))->never(); - $this->mock->foo(); - $this->mock->foo(1); - $this->mock->foo(1, 2, 3); - } - - public function testIntConstraintThrowsExceptionWhenConstraintUnmatched() - { - $this->mock->shouldReceive('foo')->with(Mockery::type('int')); - $this->expectException(\Mockery\Exception::class); - $this->mock->foo('f'); - Mockery::close(); - } - - public function testLongConstraintMatchesArgument() - { - $this->mock->shouldReceive('foo')->with(Mockery::type('long'))->once(); - $this->mock->foo(2); - } - - public function testLongConstraintNonMatchingCase() - { - $this->mock->shouldReceive('foo')->times(3); - $this->mock->shouldReceive('foo')->with(1, Mockery::type('long'))->never(); - $this->mock->foo(); - $this->mock->foo(1); - $this->mock->foo(1, 2, 3); - } - - public function testLongConstraintThrowsExceptionWhenConstraintUnmatched() - { - $this->mock->shouldReceive('foo')->with(Mockery::type('long')); - $this->expectException(\Mockery\Exception::class); - $this->mock->foo('f'); - Mockery::close(); - } - - public function testNullConstraintMatchesArgument() - { - $this->mock->shouldReceive('foo')->with(Mockery::type('null'))->once(); - $this->mock->foo(null); - } - - public function testNullConstraintNonMatchingCase() - { - $this->mock->shouldReceive('foo')->times(3); - $this->mock->shouldReceive('foo')->with(1, Mockery::type('null'))->never(); - $this->mock->foo(); - $this->mock->foo(1); - $this->mock->foo(1, 2, 3); - } - - public function testNullConstraintThrowsExceptionWhenConstraintUnmatched() - { - $this->mock->shouldReceive('foo')->with(Mockery::type('null')); - $this->expectException(\Mockery\Exception::class); - $this->mock->foo('f'); - Mockery::close(); - } - - public function testNumericConstraintMatchesArgument() - { - $this->mock->shouldReceive('foo')->with(Mockery::type('numeric'))->once(); - $this->mock->foo('2'); - } - - public function testNumericConstraintNonMatchingCase() - { - $this->mock->shouldReceive('foo')->times(3); - $this->mock->shouldReceive('foo')->with(1, Mockery::type('numeric'))->never(); - $this->mock->foo(); - $this->mock->foo(1); - $this->mock->foo(1, 2, 3); - } - - public function testNumericConstraintThrowsExceptionWhenConstraintUnmatched() - { - $this->mock->shouldReceive('foo')->with(Mockery::type('numeric')); - $this->expectException(\Mockery\Exception::class); - $this->mock->foo('f'); - Mockery::close(); - } - - public function testObjectConstraintMatchesArgument() - { - $this->mock->shouldReceive('foo')->with(Mockery::type('object'))->once(); - $this->mock->foo(new stdClass); - } - - public function testObjectConstraintNonMatchingCase() - { - $this->mock->shouldReceive('foo')->times(3); - $this->mock->shouldReceive('foo')->with(1, Mockery::type('object`'))->never(); - $this->mock->foo(); - $this->mock->foo(1); - $this->mock->foo(1, 2, 3); - } - - public function testObjectConstraintThrowsExceptionWhenConstraintUnmatched() - { - $this->mock->shouldReceive('foo')->with(Mockery::type('object')); - $this->expectException(\Mockery\Exception::class); - $this->mock->foo('f'); - Mockery::close(); - } - - public function testRealConstraintMatchesArgument() - { - $this->mock->shouldReceive('foo')->with(Mockery::type('float'))->once(); - $this->mock->foo(2.25); - } - - public function testRealConstraintNonMatchingCase() - { - $this->mock->shouldReceive('foo')->times(3); - $this->mock->shouldReceive('foo')->with(1, Mockery::type('float'))->never(); - $this->mock->foo(); - $this->mock->foo(1); - $this->mock->foo(1, 2, 3); - } - - public function testRealConstraintThrowsExceptionWhenConstraintUnmatched() - { - $this->mock->shouldReceive('foo')->with(Mockery::type('float')); - $this->expectException(\Mockery\Exception::class); - $this->mock->foo('f'); - Mockery::close(); - } - - public function testResourceConstraintMatchesArgument() - { - $this->mock->shouldReceive('foo')->with(Mockery::type('resource'))->once(); - $r = fopen(dirname(__FILE__) . '/_files/file.txt', 'r'); - $this->mock->foo($r); - } - - public function testResourceConstraintNonMatchingCase() - { - $this->mock->shouldReceive('foo')->times(3); - $this->mock->shouldReceive('foo')->with(1, Mockery::type('resource'))->never(); - $this->mock->foo(); - $this->mock->foo(1); - $this->mock->foo(1, 2, 3); - } - - public function testResourceConstraintThrowsExceptionWhenConstraintUnmatched() - { - $this->mock->shouldReceive('foo')->with(Mockery::type('resource')); - $this->expectException(\Mockery\Exception::class); - $this->mock->foo('f'); - Mockery::close(); - } - - public function testScalarConstraintMatchesArgument() - { - $this->mock->shouldReceive('foo')->with(Mockery::type('scalar'))->once(); - $this->mock->foo(2); - } - - public function testScalarConstraintNonMatchingCase() - { - $this->mock->shouldReceive('foo')->times(3); - $this->mock->shouldReceive('foo')->with(1, Mockery::type('scalar'))->never(); - $this->mock->foo(); - $this->mock->foo(1); - $this->mock->foo(1, 2, 3); - } - - public function testScalarConstraintThrowsExceptionWhenConstraintUnmatched() - { - $this->mock->shouldReceive('foo')->with(Mockery::type('scalar')); - $this->expectException(\Mockery\Exception::class); - $this->mock->foo(array()); - Mockery::close(); - } - - public function testStringConstraintMatchesArgument() - { - $this->mock->shouldReceive('foo')->with(Mockery::type('string'))->once(); - $this->mock->foo('2'); - } - - public function testStringConstraintNonMatchingCase() - { - $this->mock->shouldReceive('foo')->times(3); - $this->mock->shouldReceive('foo')->with(1, Mockery::type('string'))->never(); - $this->mock->foo(); - $this->mock->foo(1); - $this->mock->foo(1, 2, 3); - } - - public function testStringConstraintThrowsExceptionWhenConstraintUnmatched() - { - $this->mock->shouldReceive('foo')->with(Mockery::type('string')); - $this->expectException(\Mockery\Exception::class); - $this->mock->foo(1); - Mockery::close(); - } - - public function testClassConstraintMatchesArgument() - { - $this->mock->shouldReceive('foo')->with(Mockery::type('stdClass'))->once(); - $this->mock->foo(new stdClass); - } - - public function testClassConstraintNonMatchingCase() - { - $this->mock->shouldReceive('foo')->times(3); - $this->mock->shouldReceive('foo')->with(1, Mockery::type('stdClass'))->never(); - $this->mock->foo(); - $this->mock->foo(1); - $this->mock->foo(1, 2, 3); - } - - public function testClassConstraintThrowsExceptionWhenConstraintUnmatched() - { - $this->mock->shouldReceive('foo')->with(Mockery::type('stdClass')); - $this->expectException(\Mockery\Exception::class); - $this->mock->foo(new \DateTime()); - Mockery::close(); - } - - public function testDucktypeConstraintMatchesArgument() - { - $this->mock->shouldReceive('foo')->with(Mockery::ducktype('quack', 'swim'))->once(); - $this->mock->foo(new Mockery_Duck); - } - - public function testDucktypeConstraintNonMatchingCase() - { - $this->mock->shouldReceive('foo')->times(3); - $this->mock->shouldReceive('foo')->with(1, Mockery::ducktype('quack', 'swim'))->never(); - $this->mock->foo(); - $this->mock->foo(1); - $this->mock->foo(1, 2, 3); - } - - public function testDucktypeConstraintThrowsExceptionWhenConstraintUnmatched() - { - $this->mock->shouldReceive('foo')->with(Mockery::ducktype('quack', 'swim')); - $this->expectException(\Mockery\Exception::class); - $this->mock->foo(new Mockery_Duck_Nonswimmer); - Mockery::close(); - } - - public function testArrayContentConstraintMatchesArgument() - { - $this->mock->shouldReceive('foo')->with(Mockery::subset(array('a'=>1, 'b'=>2)))->once(); - $this->mock->foo(array('a'=>1, 'b'=>2, 'c'=>3)); - } - - public function testArrayContentConstraintNonMatchingCase() - { - $this->mock->shouldReceive('foo')->times(3); - $this->mock->shouldReceive('foo')->with(1, Mockery::subset(array('a'=>1, 'b'=>2)))->never(); - $this->mock->foo(); - $this->mock->foo(1); - $this->mock->foo(1, 2, 3); - } - - public function testArrayContentConstraintThrowsExceptionWhenConstraintUnmatched() - { - $this->mock->shouldReceive('foo')->with(Mockery::subset(array('a'=>1, 'b'=>2))); - $this->expectException(\Mockery\Exception::class); - $this->mock->foo(array('a'=>1, 'c'=>3)); - Mockery::close(); - } - - public function testContainsConstraintMatchesArgument() - { - $this->mock->shouldReceive('foo')->with(Mockery::contains(1, 2))->once(); - $this->mock->foo(array('a'=>1, 'b'=>2, 'c'=>3)); - } - - public function testContainsConstraintNonMatchingCase() - { - $this->mock->shouldReceive('foo')->times(3); - $this->mock->shouldReceive('foo')->with(1, Mockery::contains(1, 2))->never(); - $this->mock->foo(); - $this->mock->foo(1); - $this->mock->foo(1, 2, 3); - } - - public function testContainsConstraintThrowsExceptionWhenConstraintUnmatched() - { - $this->mock->shouldReceive('foo')->with(Mockery::contains(1, 2)); - $this->expectException(\Mockery\Exception::class); - $this->mock->foo(array('a'=>1, 'c'=>3)); - Mockery::close(); - } - - public function testHasKeyConstraintMatchesArgument() - { - $this->mock->shouldReceive('foo')->with(Mockery::hasKey('c'))->once(); - $this->mock->foo(array('a'=>1, 'b'=>2, 'c'=>3)); - } - - public function testHasKeyConstraintNonMatchingCase() - { - $this->mock->shouldReceive('foo')->times(3); - $this->mock->shouldReceive('foo')->with(1, Mockery::hasKey('a'))->never(); - $this->mock->foo(); - $this->mock->foo(1); - $this->mock->foo(1, array('a'=>1), 3); - } - - public function testHasKeyConstraintThrowsExceptionWhenConstraintUnmatched() - { - $this->mock->shouldReceive('foo')->with(Mockery::hasKey('c')); - $this->expectException(\Mockery\Exception::class); - $this->mock->foo(array('a'=>1, 'b'=>3)); - Mockery::close(); - } - - public function testHasValueConstraintMatchesArgument() - { - $this->mock->shouldReceive('foo')->with(Mockery::hasValue(1))->once(); - $this->mock->foo(array('a'=>1, 'b'=>2, 'c'=>3)); - } - - public function testHasValueConstraintNonMatchingCase() - { - $this->mock->shouldReceive('foo')->times(3); - $this->mock->shouldReceive('foo')->with(1, Mockery::hasValue(1))->never(); - $this->mock->foo(); - $this->mock->foo(1); - $this->mock->foo(1, array('a'=>1), 3); - } - - public function testHasValueConstraintThrowsExceptionWhenConstraintUnmatched() - { - $this->mock->shouldReceive('foo')->with(Mockery::hasValue(2)); - $this->expectException(\Mockery\Exception::class); - $this->mock->foo(array('a'=>1, 'b'=>3)); - Mockery::close(); - } - - public function testCaptureStoresArgumentOfTypeScalar_ClosureEvaluatesToTrue() - { - $temp = null; - $this->mock->shouldReceive('foo')->with(Mockery::capture($temp))->once(); - $this->mock->foo(4); - - $this->assertSame(4, $temp); - } - - public function testCaptureStoresArgumentOfTypeArgument_ClosureEvaluatesToTrue() - { - $object = new stdClass(); - $temp = null; - $this->mock->shouldReceive('foo')->with(Mockery::capture($temp))->once(); - $this->mock->foo($object); - - $this->assertSame($object, $temp); - } - - public function testOnConstraintMatchesArgument_ClosureEvaluatesToTrue() - { - $function = function ($arg) { - return $arg % 2 == 0; - }; - $this->mock->shouldReceive('foo')->with(Mockery::on($function))->once(); - $this->mock->foo(4); - } - - public function testOnConstraintMatchesArgumentOfTypeArray_ClosureEvaluatesToTrue() - { - $function = function ($arg) { - return is_array($arg); - }; - $this->mock->shouldReceive('foo')->with(Mockery::on($function))->once(); - $this->mock->foo([4, 5]); - } - - public function testOnConstraintThrowsExceptionWhenConstraintUnmatched_ClosureEvaluatesToFalse() - { - $function = function ($arg) { - return $arg % 2 == 0; - }; - $this->mock->shouldReceive('foo')->with(Mockery::on($function)); - $this->expectException(\Mockery\Exception::class); - $this->mock->foo(5); - Mockery::close(); - } - - public function testMustBeConstraintMatchesArgument() - { - $this->mock->shouldReceive('foo')->with(Mockery::mustBe(2))->once(); - $this->mock->foo(2); - } - - public function testMustBeConstraintNonMatchingCase() - { - $this->mock->shouldReceive('foo')->times(3); - $this->mock->shouldReceive('foo')->with(1, Mockery::mustBe(2))->never(); - $this->mock->foo(); - $this->mock->foo(1); - $this->mock->foo(1, 2, 3); - } - - public function testMustBeConstraintThrowsExceptionWhenConstraintUnmatched() - { - $this->mock->shouldReceive('foo')->with(Mockery::mustBe(2)); - $this->expectException(\Mockery\Exception::class); - $this->mock->foo('2'); - Mockery::close(); - } - - public function testMustBeConstraintMatchesObjectArgumentWithEqualsComparisonNotIdentical() - { - $a = new stdClass; - $a->foo = 1; - $b = new stdClass; - $b->foo = 1; - $this->mock->shouldReceive('foo')->with(Mockery::mustBe($a))->once(); - $this->mock->foo($b); - } - - public function testMustBeConstraintNonMatchingCaseWithObject() - { - $a = new stdClass; - $a->foo = 1; - $this->mock->shouldReceive('foo')->times(3); - $this->mock->shouldReceive('foo')->with(1, Mockery::mustBe($a))->never(); - $this->mock->foo(); - $this->mock->foo(1); - $this->mock->foo(1, $a, 3); - } - - public function testMustBeConstraintThrowsExceptionWhenConstraintUnmatchedWithObject() - { - $a = new stdClass; - $a->foo = 1; - $b = new stdClass; - $b->foo = 2; - $this->mock->shouldReceive('foo')->with(Mockery::mustBe($a)); - $this->expectException(\Mockery\Exception::class); - $this->mock->foo($b); - Mockery::close(); - } - - public function testMatchPrecedenceBasedOnExpectedCallsFavouringExplicitMatch() - { - $this->mock->shouldReceive('foo')->with(1)->once(); - $this->mock->shouldReceive('foo')->with(Mockery::any())->never(); - $this->mock->foo(1); - } - - public function testMatchPrecedenceBasedOnExpectedCallsFavouringAnyMatch() - { - $this->mock->shouldReceive('foo')->with(Mockery::any())->once(); - $this->mock->shouldReceive('foo')->with(1)->never(); - $this->mock->foo(1); - } - - public function testReturnNullIfIgnoreMissingMethodsSet() - { - $this->mock->shouldIgnoreMissing(); - $this->assertNull($this->mock->g(1, 2)); - } - - public function testReturnUndefinedIfIgnoreMissingMethodsSet() - { - $this->mock->shouldIgnoreMissing()->asUndefined(); - $this->assertInstanceOf(\Mockery\Undefined::class, $this->mock->g(1, 2)); - } - - public function testReturnAsUndefinedAllowsForInfiniteSelfReturningChain() - { - $this->mock->shouldIgnoreMissing()->asUndefined(); - $this->assertInstanceOf(\Mockery\Undefined::class, $this->mock->g(1, 2)->a()->b()->c()); - } - - public function testShouldIgnoreMissingFluentInterface() - { - $this->assertInstanceOf(\Mockery\MockInterface::class, $this->mock->shouldIgnoreMissing()); - } - - public function testShouldIgnoreMissingAsUndefinedFluentInterface() - { - $this->assertInstanceOf(\Mockery\MockInterface::class, $this->mock->shouldIgnoreMissing()->asUndefined()); - } - - public function testShouldIgnoreMissingAsDefinedProxiesToUndefinedAllowingToString() - { - $this->mock->shouldIgnoreMissing()->asUndefined(); - $this->assertTrue(is_string("{$this->mock->g()}")); - $this->assertTrue(is_string("{$this->mock}")); - } - - public function testShouldIgnoreMissingDefaultReturnValue() - { - $this->mock->shouldIgnoreMissing(1); - $this->assertEquals(1, $this->mock->a()); - } - - /** @issue #253 */ - public function testShouldIgnoreMissingDefaultSelfAndReturnsSelf() - { - $this->mock->shouldIgnoreMissing(\Mockery::self()); - $this->assertSame($this->mock, $this->mock->a()->b()); - } - - public function testToStringMagicMethodCanBeMocked() - { - $this->mock->shouldReceive("__toString")->andReturn('dave'); - $this->assertEquals("{$this->mock}", "dave"); - } - - public function testOptionalMockRetrieval() - { - $m = mock('f')->shouldReceive('foo')->with(1)->andReturn(3)->mock(); - $this->assertInstanceOf(\Mockery\MockInterface::class, $m); - } - - public function testNotConstraintMatchesArgument() - { - $this->mock->shouldReceive('foo')->with(Mockery::not(1))->once(); - $this->mock->foo(2); - } - - public function testNotConstraintNonMatchingCase() - { - $this->mock->shouldReceive('foo')->times(3); - $this->mock->shouldReceive('foo')->with(1, Mockery::not(2))->never(); - $this->mock->foo(); - $this->mock->foo(1); - $this->mock->foo(1, 2, 3); - } - - public function testNotConstraintThrowsExceptionWhenConstraintUnmatched() - { - $this->mock->shouldReceive('foo')->with(Mockery::not(2)); - $this->expectException(\Mockery\Exception::class); - $this->mock->foo(2); - Mockery::close(); - } - - public function testAnyOfConstraintMatchesArgument() - { - $this->mock->shouldReceive('foo')->with(Mockery::anyOf(1, 2))->twice(); - $this->mock->foo(2); - $this->mock->foo(1); - } - - public function testAnyOfConstraintNonMatchingCase() - { - $this->mock->shouldReceive('foo')->times(3); - $this->mock->shouldReceive('foo')->with(1, Mockery::anyOf(1, 2))->never(); - $this->mock->foo(); - $this->mock->foo(1); - $this->mock->foo(1, 2, 3); - } - - public function testAnyOfConstraintThrowsExceptionWhenConstraintUnmatched() - { - $this->mock->shouldReceive('foo')->with(Mockery::anyOf(1, 2)); - $this->expectException(\Mockery\Exception::class); - $this->mock->foo(3); - Mockery::close(); - } - - public function testAnyOfConstraintThrowsExceptionWhenTrueIsNotAnExpectedArgument() - { - $this->mock->shouldReceive('foo')->with(Mockery::anyOf(1, 2)); - $this->expectException(\Mockery\Exception::class); - $this->mock->foo(true); - } - - public function testAnyOfConstraintThrowsExceptionWhenFalseIsNotAnExpectedArgument() - { - $this->mock->shouldReceive('foo')->with(Mockery::anyOf(0, 1, 2)); - $this->expectException(\Mockery\Exception::class); - $this->mock->foo(false); - } - - public function testNotAnyOfConstraintMatchesArgument() - { - $this->mock->shouldReceive('foo')->with(Mockery::notAnyOf(1, 2))->once(); - $this->mock->foo(3); - } - - public function testNotAnyOfConstraintNonMatchingCase() - { - $this->mock->shouldReceive('foo')->times(3); - $this->mock->shouldReceive('foo')->with(1, Mockery::notAnyOf(1, 2))->never(); - $this->mock->foo(); - $this->mock->foo(1); - $this->mock->foo(1, 4, 3); - } - - public function testNotAnyOfConstraintThrowsExceptionWhenConstraintUnmatched() - { - $this->mock->shouldReceive('foo')->with(Mockery::notAnyOf(1, 2)); - $this->expectException(\Mockery\Exception::class); - $this->mock->foo(2); - Mockery::close(); - } - - public function testPatternConstraintMatchesArgument() - { - $this->mock->shouldReceive('foo')->with(Mockery::pattern('/foo.*/'))->once(); - $this->mock->foo('foobar'); - } - - public function testPatternConstraintNonMatchingCase() - { - $this->mock->shouldReceive('foo')->once(); - $this->mock->shouldReceive('foo')->with(Mockery::pattern('/foo.*/'))->never(); - $this->mock->foo('bar'); - } - - public function testPatternConstraintThrowsExceptionWhenConstraintUnmatched() - { - $this->mock->shouldReceive('foo')->with(Mockery::pattern('/foo.*/')); - $this->expectException(\Mockery\Exception::class); - $this->mock->foo('bar'); - Mockery::close(); - } - - public function testGlobalConfigMayForbidMockingNonExistentMethodsOnClasses() - { - \Mockery::getConfiguration()->allowMockingNonExistentMethods(false); - $mock = mock('stdClass'); - $this->expectException(\Mockery\Exception::class); - $mock->shouldReceive('foo'); - Mockery::close(); - } - - public function testGlobalConfigMayForbidMockingNonExistentMethodsOnAutoDeclaredClasses() - { - \Mockery::getConfiguration()->allowMockingNonExistentMethods(false); - $this->expectException(\Mockery\Exception::class); - $this->expectExceptionMessage("Mockery can't find 'SomeMadeUpClass' so can't mock it"); - $mock = mock('SomeMadeUpClass'); - $mock->shouldReceive('foo'); - Mockery::close(); - } - - public function testGlobalConfigMayForbidMockingNonExistentMethodsOnObjects() - { - \Mockery::getConfiguration()->allowMockingNonExistentMethods(false); - $mock = mock(new stdClass); - $this->expectException(\Mockery\Exception::class); - $mock->shouldReceive('foo'); - Mockery::close(); - } - - public function testAnExampleWithSomeExpectationAmends() - { - $service = mock('MyService'); - $service->shouldReceive('login')->with('user', 'pass')->once()->andReturn(true); - $service->shouldReceive('hasBookmarksTagged')->with('php')->once()->andReturn(false); - $service->shouldReceive('addBookmark')->with(Mockery::pattern('/^http:/'), \Mockery::type('string'))->times(3)->andReturn(true); - $service->shouldReceive('hasBookmarksTagged')->with('php')->once()->andReturn(true); - - $this->assertTrue($service->login('user', 'pass')); - $this->assertFalse($service->hasBookmarksTagged('php')); - $this->assertTrue($service->addBookmark('http://example.com/1', 'some_tag1')); - $this->assertTrue($service->addBookmark('http://example.com/2', 'some_tag2')); - $this->assertTrue($service->addBookmark('http://example.com/3', 'some_tag3')); - $this->assertTrue($service->hasBookmarksTagged('php')); - } - - public function testAnExampleWithSomeExpectationAmendsOnCallCounts() - { - $service = mock('MyService'); - $service->shouldReceive('login')->with('user', 'pass')->once()->andReturn(true); - $service->shouldReceive('hasBookmarksTagged')->with('php')->once()->andReturn(false); - $service->shouldReceive('addBookmark')->with(Mockery::pattern('/^http:/'), \Mockery::type('string'))->times(3)->andReturn(true); - $service->shouldReceive('hasBookmarksTagged')->with('php')->twice()->andReturn(true); - - $this->assertTrue($service->login('user', 'pass')); - $this->assertFalse($service->hasBookmarksTagged('php')); - $this->assertTrue($service->addBookmark('http://example.com/1', 'some_tag1')); - $this->assertTrue($service->addBookmark('http://example.com/2', 'some_tag2')); - $this->assertTrue($service->addBookmark('http://example.com/3', 'some_tag3')); - $this->assertTrue($service->hasBookmarksTagged('php')); - $this->assertTrue($service->hasBookmarksTagged('php')); - } - - public function testAnExampleWithSomeExpectationAmendsOnCallCounts_PHPUnitTest() - { - $service = $this->createMock('MyService2'); - $service->expects($this->once())->method('login')->with('user', 'pass')->will($this->returnValue(true)); - $service->expects($this->exactly(3))->method('hasBookmarksTagged')->with('php') - ->will($this->onConsecutiveCalls(false, true, true)); - $service->expects($this->exactly(3))->method('addBookmark') - ->with($this->matchesRegularExpression('/^http:/'), $this->isType('string')) - ->will($this->returnValue(true)); - - $this->assertTrue($service->login('user', 'pass')); - $this->assertFalse($service->hasBookmarksTagged('php')); - $this->assertTrue($service->addBookmark('http://example.com/1', 'some_tag1')); - $this->assertTrue($service->addBookmark('http://example.com/2', 'some_tag2')); - $this->assertTrue($service->addBookmark('http://example.com/3', 'some_tag3')); - $this->assertTrue($service->hasBookmarksTagged('php')); - $this->assertTrue($service->hasBookmarksTagged('php')); - } - - public function testMockedMethodsCallableFromWithinOriginalClass() - { - $mock = mock('MockeryTest_InterMethod1[doThird]'); - $mock->shouldReceive('doThird')->andReturn(true); - $this->assertTrue($mock->doFirst()); - } - - /** - * @group issue #20 - */ - public function testMockingDemeterChainsPassesMockeryExpectationToCompositeExpectation() - { - $mock = mock('Mockery_Demeterowski'); - $mock->shouldReceive('foo->bar->baz')->andReturn('Spam!'); - $demeter = new Mockery_UseDemeter($mock); - $this->assertSame('Spam!', $demeter->doit()); - } - - /** - * @group issue #20 - with args in demeter chain - */ - public function testMockingDemeterChainsPassesMockeryExpectationToCompositeExpectationWithArgs() - { - $mock = mock('Mockery_Demeterowski'); - $mock->shouldReceive('foo->bar->baz')->andReturn('Spam!'); - $demeter = new Mockery_UseDemeter($mock); - $this->assertSame('Spam!', $demeter->doitWithArgs()); - } - - public function testShouldNotReceiveCanBeAddedToCompositeExpectation() - { - $mock = mock('Foo'); - $mock->shouldReceive('a')->once()->andReturn('Spam!') - ->shouldNotReceive('b'); - $mock->a(); - } - - public function testPassthruEnsuresRealMethodCalledForReturnValues() - { - $mock = mock('MockeryTest_SubjectCall1'); - $mock->shouldReceive('foo')->once()->passthru(); - $this->assertEquals('bar', $mock->foo()); - } - - public function testPassthruCallMagic() - { - $mock = mock('Mockery_Magic'); - $mock->shouldReceive('theAnswer')->once()->passthru(); - $this->assertSame(42, $mock->theAnswer()); - } - - public function testShouldIgnoreMissingExpectationBasedOnArgs() - { - $mock = mock("MyService2")->shouldIgnoreMissing(); - $mock->shouldReceive("hasBookmarksTagged")->with("dave")->once(); - $mock->hasBookmarksTagged("dave"); - $mock->hasBookmarksTagged("padraic"); - } - - public function testMakePartialExpectationBasedOnArgs() - { - $mock = mock("MockeryTest_SubjectCall1")->makePartial(); - - $this->assertEquals('bar', $mock->foo()); - $this->assertEquals('bar', $mock->foo("baz")); - $this->assertEquals('bar', $mock->foo("qux")); - - $mock->shouldReceive("foo")->with("baz")->twice()->andReturn('123'); - $this->assertEquals('bar', $mock->foo()); - $this->assertEquals('123', $mock->foo("baz")); - $this->assertEquals('bar', $mock->foo("qux")); - - $mock->shouldReceive("foo")->withNoArgs()->once()->andReturn('456'); - $this->assertEquals('456', $mock->foo()); - $this->assertEquals('123', $mock->foo("baz")); - $this->assertEquals('bar', $mock->foo("qux")); - } - - public function testCanReturnSelf() - { - $this->mock->shouldReceive("foo")->andReturnSelf(); - $this->assertSame($this->mock, $this->mock->foo()); - } - - public function testReturnsTrueIfTrueIsReturnValue() - { - $this->mock->shouldReceive("foo")->andReturnTrue(); - $this->assertTrue($this->mock->foo()); - } - - public function testReturnsFalseIfFalseIsReturnValue() - { - $this->mock->shouldReceive("foo")->andReturnFalse(); - $this->assertFalse($this->mock->foo()); - } - - public function testExpectationCanBeOverridden() - { - $this->mock->shouldReceive('foo')->once()->andReturn('green'); - $this->mock->shouldReceive('foo')->andReturn('blue'); - $this->assertEquals('green', $this->mock->foo()); - $this->assertEquals('blue', $this->mock->foo()); - } - - public function testTimesExpectationForbidsFloatNumbers() - { - $this->expectException(\InvalidArgumentException::class); - $this->mock->shouldReceive('foo')->times(1.3); - Mockery::close(); - } - - public function testIfExceptionIndicatesAbsenceOfMethodAndExpectationsOnMock() - { - $mock = mock('Mockery_Duck'); - - $this->expectException( - '\BadMethodCallException', - 'Method ' . get_class($mock) . - '::nonExistent() does not exist on this mock object' - ); - - $mock->nonExistent(); - Mockery::close(); - } - - public function testIfCallingMethodWithNoExpectationsHasSpecificExceptionMessage() - { - $mock = mock('Mockery_Duck'); - - $this->expectException( - '\BadMethodCallException', - 'Received ' . get_class($mock) . - '::quack(), ' . 'but no expectations were specified' - ); - - $mock->quack(); - Mockery::close(); - } - - public function testMockShouldNotBeAnonymousWhenImplementingSpecificInterface() - { - $waterMock = mock('IWater'); - $this->assertFalse($waterMock->mockery_isAnonymous()); - } - - public function testWetherMockWithInterfaceOnlyCanNotImplementNonExistingMethods() - { - \Mockery::getConfiguration()->allowMockingNonExistentMethods(false); - $waterMock = \Mockery::mock('IWater'); - $this->expectException(\Mockery\Exception::class); - $waterMock - ->shouldReceive('nonExistentMethod') - ->once() - ->andReturnNull(); - \Mockery::close(); - } - - public function testCountWithBecauseExceptionMessage() - { - $this->expectException(InvalidCountException::class); - $this->expectExceptionMessageRegexp( - '/Method foo\(\) from Mockery_[\d]+ should be called' . PHP_EOL . ' ' . - 'exactly 1 times but called 0 times. Because We like foo/' - ); - - $this->mock->shouldReceive('foo')->once()->because('We like foo'); - Mockery::close(); - } - - /** @test */ - public function it_uses_a_matchers_to_string_method_in_the_exception_output() - { - $mock = Mockery::mock(); - - $mock->expects()->foo(Mockery::hasKey('foo')); - - $this->expectException( - InvalidCountException::class, - "Method foo()" - ); - - Mockery::close(); - } -} - -interface IWater -{ - public function dry(); -} - -class MockeryTest_SubjectCall1 -{ - public function foo() - { - return 'bar'; - } -} - -class MockeryTest_InterMethod1 -{ - public function doFirst() - { - return $this->doSecond(); - } - - private function doSecond() - { - return $this->doThird(); - } - - public function doThird() - { - return false; - } -} - -class MyService2 -{ - public function login($user, $pass) - { - } - public function hasBookmarksTagged($tag) - { - } - public function addBookmark($uri, $tag) - { - } -} - -class Mockery_Duck -{ - public function quack() - { - } - public function swim() - { - } -} - -class Mockery_Duck_Nonswimmer -{ - public function quack() - { - } -} - -class Mockery_Demeterowski -{ - public function foo() - { - return $this; - } - public function bar() - { - return $this; - } - public function baz() - { - return 'Ham!'; - } -} - -class Mockery_UseDemeter -{ - public function __construct($demeter) - { - $this->demeter = $demeter; - } - public function doit() - { - return $this->demeter->foo()->bar()->baz(); - } - public function doitWithArgs() - { - return $this->demeter->foo("foo")->bar("bar")->baz("baz"); - } -} - -class MockeryTest_Foo -{ - public function foo() - { - } -} - -class Mockery_Magic -{ - public function __call($method, $args) - { - return 42; - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/tests/Mockery/Fixtures/ClassWithAllLowerCaseMethod.php b/paragonik-backend/vendor/mockery/mockery/tests/Mockery/Fixtures/ClassWithAllLowerCaseMethod.php deleted file mode 100644 index 2cf2b77..0000000 --- a/paragonik-backend/vendor/mockery/mockery/tests/Mockery/Fixtures/ClassWithAllLowerCaseMethod.php +++ /dev/null @@ -1,30 +0,0 @@ - - { - return array('key' => true); - } - - public function HHVMVoid() : void - { - return; - } - - public function HHVMMixed() : mixed - { - return null; - } - - public function HHVMThis() : this - { - return $this; - } - - public function HHVMString() : string - { - return 'a string'; - } - - public function HHVMImmVector() : ImmVector - { - return new ImmVector([1, 2, 3]); - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/tests/Mockery/Fixtures/MethodWithIterableTypeHints.php b/paragonik-backend/vendor/mockery/mockery/tests/Mockery/Fixtures/MethodWithIterableTypeHints.php deleted file mode 100644 index 49739c6..0000000 --- a/paragonik-backend/vendor/mockery/mockery/tests/Mockery/Fixtures/MethodWithIterableTypeHints.php +++ /dev/null @@ -1,29 +0,0 @@ -assertTrue($target->hasInternalAncestor()); - - $target = new DefinedTargetClass(new \ReflectionClass("Mockery\MockeryTest_ClassThatExtendsArrayObject")); - $this->assertTrue($target->hasInternalAncestor()); - - $target = new DefinedTargetClass(new \ReflectionClass("Mockery\DefinedTargetClassTest")); - $this->assertFalse($target->hasInternalAncestor()); - } -} - -class MockeryTest_ClassThatExtendsArrayObject extends \ArrayObject -{ -} diff --git a/paragonik-backend/vendor/mockery/mockery/tests/Mockery/Generator/MockConfigurationBuilderTest.php b/paragonik-backend/vendor/mockery/mockery/tests/Mockery/Generator/MockConfigurationBuilderTest.php deleted file mode 100644 index ac48ac1..0000000 --- a/paragonik-backend/vendor/mockery/mockery/tests/Mockery/Generator/MockConfigurationBuilderTest.php +++ /dev/null @@ -1,85 +0,0 @@ -assertContains('__halt_compiler', $builder->getMockConfiguration()->getBlackListedMethods()); - - // need a builtin for this - $this->markTestSkipped("Need a builtin class with a method that is a reserved word"); - } - - /** - * @test - */ - public function magicMethodsAreBlackListedByDefault() - { - $builder = new MockConfigurationBuilder; - $builder->addTarget(ClassWithMagicCall::class); - $methods = $builder->getMockConfiguration()->getMethodsToMock(); - $this->assertCount(1, $methods); - $this->assertEquals("foo", $methods[0]->getName()); - } - - /** @test */ - public function xdebugs_debug_info_is_black_listed_by_default() - { - $builder = new MockConfigurationBuilder; - $builder->addTarget(ClassWithDebugInfo::class); - $methods = $builder->getMockConfiguration()->getMethodsToMock(); - $this->assertCount(1, $methods); - $this->assertEquals("foo", $methods[0]->getName()); - } -} - -class ClassWithMagicCall -{ - public function foo() - { - } - - public function __call($method, $args) - { - } -} - -class ClassWithDebugInfo -{ - public function foo() - { - } - - public function __debugInfo() - { - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/tests/Mockery/Generator/MockConfigurationTest.php b/paragonik-backend/vendor/mockery/mockery/tests/Mockery/Generator/MockConfigurationTest.php deleted file mode 100644 index 75f1f01..0000000 --- a/paragonik-backend/vendor/mockery/mockery/tests/Mockery/Generator/MockConfigurationTest.php +++ /dev/null @@ -1,218 +0,0 @@ -getMethodsToMock(); - $this->assertCount(1, $methods); - $this->assertEquals("bar", $methods[0]->getName()); - } - - /** - * @test - */ - public function blackListsAreCaseInsensitive() - { - $config = new MockConfiguration(array("Mockery\Generator\\TestSubject"), array("FOO")); - - $methods = $config->getMethodsToMock(); - $this->assertCount(1, $methods); - $this->assertEquals("bar", $methods[0]->getName()); - } - - - /** - * @test - */ - public function onlyWhiteListedMethodsShouldBeInListToBeMocked() - { - $config = new MockConfiguration(array("Mockery\Generator\\TestSubject"), array(), array('foo')); - - $methods = $config->getMethodsToMock(); - $this->assertCount(1, $methods); - $this->assertEquals("foo", $methods[0]->getName()); - } - - /** - * @test - */ - public function whitelistOverRulesBlackList() - { - $config = new MockConfiguration(array("Mockery\Generator\\TestSubject"), array("foo"), array("foo")); - - $methods = $config->getMethodsToMock(); - $this->assertCount(1, $methods); - $this->assertEquals("foo", $methods[0]->getName()); - } - - /** - * @test - */ - public function whiteListsAreCaseInsensitive() - { - $config = new MockConfiguration(array("Mockery\Generator\\TestSubject"), array(), array("FOO")); - - $methods = $config->getMethodsToMock(); - $this->assertCount(1, $methods); - $this->assertEquals("foo", $methods[0]->getName()); - } - - /** - * @test - */ - public function finalMethodsAreExcluded() - { - $config = new MockConfiguration(array("Mockery\Generator\\ClassWithFinalMethod")); - - $methods = $config->getMethodsToMock(); - $this->assertCount(1, $methods); - $this->assertEquals("bar", $methods[0]->getName()); - } - - /** - * @test - */ - public function shouldIncludeMethodsFromAllTargets() - { - $config = new MockConfiguration(array("Mockery\\Generator\\TestInterface", "Mockery\\Generator\\TestInterface2")); - $methods = $config->getMethodsToMock(); - $this->assertCount(2, $methods); - } - - /** - * @test - */ - public function shouldThrowIfTargetClassIsFinal() - { - $this->expectException(\Mockery\Exception::class); - $config = new MockConfiguration(array("Mockery\\Generator\\TestFinal")); - $config->getTargetClass(); - } - - /** - * @test - */ - public function shouldTargetIteratorAggregateIfTryingToMockTraversable() - { - $config = new MockConfiguration(array("\\Traversable")); - - $interfaces = $config->getTargetInterfaces(); - $this->assertCount(1, $interfaces); - $first = array_shift($interfaces); - $this->assertEquals("IteratorAggregate", $first->getName()); - } - - /** - * @test - */ - public function shouldTargetIteratorAggregateIfTraversableInTargetsTree() - { - $config = new MockConfiguration(array("Mockery\Generator\TestTraversableInterface")); - - $interfaces = $config->getTargetInterfaces(); - $this->assertCount(2, $interfaces); - $this->assertEquals("IteratorAggregate", $interfaces[0]->getName()); - $this->assertEquals("Mockery\Generator\TestTraversableInterface", $interfaces[1]->getName()); - } - - /** - * @test - */ - public function shouldBringIteratorToHeadOfTargetListIfTraversablePresent() - { - $config = new MockConfiguration(array("Mockery\Generator\TestTraversableInterface2")); - - $interfaces = $config->getTargetInterfaces(); - $this->assertCount(2, $interfaces); - $this->assertEquals("Iterator", $interfaces[0]->getName()); - $this->assertEquals("Mockery\Generator\TestTraversableInterface2", $interfaces[1]->getName()); - } - - /** - * @test - */ - public function shouldBringIteratorAggregateToHeadOfTargetListIfTraversablePresent() - { - $config = new MockConfiguration(array("Mockery\Generator\TestTraversableInterface3")); - - $interfaces = $config->getTargetInterfaces(); - $this->assertCount(2, $interfaces); - $this->assertEquals("IteratorAggregate", $interfaces[0]->getName()); - $this->assertEquals("Mockery\Generator\TestTraversableInterface3", $interfaces[1]->getName()); - } -} - -interface TestTraversableInterface extends \Traversable -{ -} -interface TestTraversableInterface2 extends \Traversable, \Iterator -{ -} -interface TestTraversableInterface3 extends \Traversable, \IteratorAggregate -{ -} - -final class TestFinal -{ -} - -interface TestInterface -{ - public function foo(); -} - -interface TestInterface2 -{ - public function bar(); -} - -class TestSubject -{ - public function foo() - { - } - - public function bar() - { - } -} - -class ClassWithFinalMethod -{ - final public function foo() - { - } - - public function bar() - { - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/tests/Mockery/Generator/StringManipulation/Pass/CallTypeHintPassTest.php b/paragonik-backend/vendor/mockery/mockery/tests/Mockery/Generator/StringManipulation/Pass/CallTypeHintPassTest.php deleted file mode 100644 index e5f33d2..0000000 --- a/paragonik-backend/vendor/mockery/mockery/tests/Mockery/Generator/StringManipulation/Pass/CallTypeHintPassTest.php +++ /dev/null @@ -1,59 +0,0 @@ - true, - ))->makePartial(); - $code = $pass->apply(static::CODE, $config); - $this->assertTrue(\mb_strpos($code, '__call($method, $args)') !== false); - } - - /** - * @test - */ - public function shouldRemoveCallStaticTypeHintIfRequired() - { - $pass = new CallTypeHintPass; - $config = m::mock("Mockery\Generator\MockConfiguration", array( - "requiresCallStaticTypeHintRemoval" => true, - ))->makePartial(); - $code = $pass->apply(static::CODE, $config); - $this->assertTrue(\mb_strpos($code, '__callStatic($method, $args)') !== false); - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/tests/Mockery/Generator/StringManipulation/Pass/ClassNamePassTest.php b/paragonik-backend/vendor/mockery/mockery/tests/Mockery/Generator/StringManipulation/Pass/ClassNamePassTest.php deleted file mode 100644 index 55a9b33..0000000 --- a/paragonik-backend/vendor/mockery/mockery/tests/Mockery/Generator/StringManipulation/Pass/ClassNamePassTest.php +++ /dev/null @@ -1,76 +0,0 @@ -pass = new ClassNamePass(); - } - - /** - * @test - */ - public function shouldRemoveNamespaceDefinition() - { - $config = new MockConfiguration(array(), array(), array(), "Dave\Dave"); - $code = $this->pass->apply(static::CODE, $config); - $this->assertTrue(\mb_strpos($code, 'namespace Mockery;') === false); - } - - /** - * @test - */ - public function shouldReplaceNamespaceIfClassNameIsNamespaced() - { - $config = new MockConfiguration(array(), array(), array(), "Dave\Dave"); - $code = $this->pass->apply(static::CODE, $config); - $this->assertTrue(\mb_strpos($code, 'namespace Mockery;') === false); - $this->assertTrue(\mb_strpos($code, 'namespace Dave;') !== false); - } - - /** - * @test - */ - public function shouldReplaceClassNameWithSpecifiedName() - { - $config = new MockConfiguration(array(), array(), array(), "Dave"); - $code = $this->pass->apply(static::CODE, $config); - $this->assertTrue(\mb_strpos($code, 'class Dave') !== false); - } - - /** - * @test - */ - public function shouldRemoveLeadingBackslashesFromNamespace() - { - $config = new MockConfiguration(array(), array(), array(), "\Dave\Dave"); - $code = $this->pass->apply(static::CODE, $config); - $this->assertTrue(\mb_strpos($code, 'namespace Dave;') !== false); - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/tests/Mockery/Generator/StringManipulation/Pass/ClassPassTest.php b/paragonik-backend/vendor/mockery/mockery/tests/Mockery/Generator/StringManipulation/Pass/ClassPassTest.php deleted file mode 100644 index eef68be..0000000 --- a/paragonik-backend/vendor/mockery/mockery/tests/Mockery/Generator/StringManipulation/Pass/ClassPassTest.php +++ /dev/null @@ -1,59 +0,0 @@ -pass = new ClassPass(); - } - - /** - * @test - */ - public function shouldDeclareUnknownClass() - { - $config = new MockConfiguration(array("Testing\TestClass"), array(), array(), "Dave\Dave"); - $code = $this->pass->apply(static::CODE, $config); - $this->assertTrue(\mb_strpos($code, 'class Mock extends \Testing\TestClass implements MockInterface') !== false); - } - - /** - * @test - */ - public function shouldNotExtendHHVMClass() - { - $config = new MockConfiguration(array("\HH\\this"), array(), array(), "Dave\Dave"); - $code = $this->pass->apply(static::CODE, $config); - if (\defined('HHVM_VERSION')) { - $this->assertNotContains('extends \HH\this', $code); - } else { - $this->assertSame('class Mock extends \HH\this implements MockInterface {}', $code); - } - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/tests/Mockery/Generator/StringManipulation/Pass/ConstantsPassTest.php b/paragonik-backend/vendor/mockery/mockery/tests/Mockery/Generator/StringManipulation/Pass/ConstantsPassTest.php deleted file mode 100644 index 4a2b7c5..0000000 --- a/paragonik-backend/vendor/mockery/mockery/tests/Mockery/Generator/StringManipulation/Pass/ConstantsPassTest.php +++ /dev/null @@ -1,52 +0,0 @@ - ['FOO' => 'test']] - ); - $code = $pass->apply(static::CODE, $config); - $this->assertTrue(\mb_strpos($code, "const FOO = 'test'") !== false); - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/tests/Mockery/Generator/StringManipulation/Pass/InstanceMockPassTest.php b/paragonik-backend/vendor/mockery/mockery/tests/Mockery/Generator/StringManipulation/Pass/InstanceMockPassTest.php deleted file mode 100644 index bd02f1f..0000000 --- a/paragonik-backend/vendor/mockery/mockery/tests/Mockery/Generator/StringManipulation/Pass/InstanceMockPassTest.php +++ /dev/null @@ -1,45 +0,0 @@ -setInstanceMock(true); - $config = $builder->getMockConfiguration(); - $pass = new InstanceMockPass; - $code = $pass->apply('class Dave { }', $config); - $this->assertTrue(\mb_strpos($code, 'public function __construct') !== false); - $this->assertTrue(\mb_strpos($code, 'protected $_mockery_ignoreVerification') !== false); - $this->assertTrue(\mb_strpos($code, 'this->_mockery_constructorCalled(func_get_args());') !== false); - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/tests/Mockery/Generator/StringManipulation/Pass/InterfacePassTest.php b/paragonik-backend/vendor/mockery/mockery/tests/Mockery/Generator/StringManipulation/Pass/InterfacePassTest.php deleted file mode 100644 index 01c5bee..0000000 --- a/paragonik-backend/vendor/mockery/mockery/tests/Mockery/Generator/StringManipulation/Pass/InterfacePassTest.php +++ /dev/null @@ -1,66 +0,0 @@ - array(), - )); - - $code = $pass->apply(static::CODE, $config); - $this->assertEquals(static::CODE, $code); - } - - /** - * @test - */ - public function shouldAddAnyInterfaceNamesToImplementsDefinition() - { - $pass = new InterfacePass; - - $config = m::mock("Mockery\Generator\MockConfiguration", array( - "getTargetInterfaces" => array( - m::mock(array("getName" => "Dave\Dave")), - m::mock(array("getName" => "Paddy\Paddy")), - ), - )); - - $code = $pass->apply(static::CODE, $config); - - $this->assertTrue(\mb_strpos($code, "implements MockInterface, \Dave\Dave, \Paddy\Paddy") !== false); - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/tests/Mockery/GlobalHelpersTest.php b/paragonik-backend/vendor/mockery/mockery/tests/Mockery/GlobalHelpersTest.php deleted file mode 100644 index 3bf52d4..0000000 --- a/paragonik-backend/vendor/mockery/mockery/tests/Mockery/GlobalHelpersTest.php +++ /dev/null @@ -1,63 +0,0 @@ -assertInstanceOf(\Mockery\MockInterface::class, $double); - $this->expectException(\Exception::class); - $double->foo(); - } - - /** @test */ - public function spy_creates_a_spy() - { - $double = spy(); - - $this->assertInstanceOf(\Mockery\MockInterface::class, $double); - $double->foo(); - } - - /** @test */ - public function named_mock_creates_a_named_mock() - { - $className = "Class".uniqid(); - $double = namedMock($className); - - $this->assertInstanceOf(\Mockery\MockInterface::class, $double); - $this->assertInstanceOf($className, $double); - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/tests/Mockery/HamcrestExpectationTest.php b/paragonik-backend/vendor/mockery/mockery/tests/Mockery/HamcrestExpectationTest.php deleted file mode 100644 index e7f793d..0000000 --- a/paragonik-backend/vendor/mockery/mockery/tests/Mockery/HamcrestExpectationTest.php +++ /dev/null @@ -1,60 +0,0 @@ -mock = mock('foo'); - } - - - public function mockeryTestTearDown() - { - \Mockery::getConfiguration()->allowMockingNonExistentMethods(true); - parent::mockeryTestTearDown(); - } - - /** Just a quickie roundup of a few Hamcrest matchers to check nothing obvious out of place **/ - - public function testAnythingConstraintMatchesArgument() - { - $this->mock->shouldReceive('foo')->with(anything())->once(); - $this->mock->foo(2); - } - - public function testGreaterThanConstraintMatchesArgument() - { - $this->mock->shouldReceive('foo')->with(greaterThan(1))->once(); - $this->mock->foo(2); - } - - public function testGreaterThanConstraintNotMatchesArgument() - { - $this->mock->shouldReceive('foo')->with(greaterThan(1)); - $this->expectException(\Mockery\Exception::class); - $this->mock->foo(1); - Mockery::close(); - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/tests/Mockery/Loader/EvalLoaderTest.php b/paragonik-backend/vendor/mockery/mockery/tests/Mockery/Loader/EvalLoaderTest.php deleted file mode 100644 index 025a1da..0000000 --- a/paragonik-backend/vendor/mockery/mockery/tests/Mockery/Loader/EvalLoaderTest.php +++ /dev/null @@ -1,35 +0,0 @@ -getLoader()->load($definition); - - $this->assertTrue(class_exists($className)); - } - - abstract public function getLoader(); -} diff --git a/paragonik-backend/vendor/mockery/mockery/tests/Mockery/Loader/RequireLoaderTest.php b/paragonik-backend/vendor/mockery/mockery/tests/Mockery/Loader/RequireLoaderTest.php deleted file mode 100644 index 9f0664a..0000000 --- a/paragonik-backend/vendor/mockery/mockery/tests/Mockery/Loader/RequireLoaderTest.php +++ /dev/null @@ -1,35 +0,0 @@ -assertionFailedError = '\PHPUnit\Framework\AssertionFailedError'; - $this->frameworkConstraint = '\PHPUnit\Framework\Constraint'; - } else { - $this->assertionFailedError = '\PHPUnit_Framework_AssertionFailedError'; - $this->frameworkConstraint = '\PHPUnit_Framework_Constraint'; - } - - $this->constraint = \Mockery::mock($this->frameworkConstraint); - $this->matcher = new PHPUnitConstraint($this->constraint); - $this->rethrowingMatcher = new PHPUnitConstraint($this->constraint, true); - } - - public function testMatches() - { - $value1 = 'value1'; - $value2 = 'value1'; - $value3 = 'value1'; - $this->constraint - ->shouldReceive('evaluate') - ->once() - ->with($value1) - ->getMock() - ->shouldReceive('evaluate') - ->once() - ->with($value2) - ->andThrow($this->assertionFailedError) - ->getMock() - ->shouldReceive('evaluate') - ->once() - ->with($value3) - ->getMock() - ; - $this->assertTrue($this->matcher->match($value1)); - $this->assertFalse($this->matcher->match($value2)); - $this->assertTrue($this->rethrowingMatcher->match($value3)); - } - - public function testMatchesWhereNotMatchAndRethrowing() - { - $this->expectException($this->assertionFailedError); - $value = 'value'; - $this->constraint - ->shouldReceive('evaluate') - ->once() - ->with($value) - ->andThrow($this->assertionFailedError) - ; - $this->rethrowingMatcher->match($value); - } - - public function test__toString() - { - $this->assertEquals('', $this->matcher); - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/tests/Mockery/Matcher/SubsetTest.php b/paragonik-backend/vendor/mockery/mockery/tests/Mockery/Matcher/SubsetTest.php deleted file mode 100644 index e45e17c..0000000 --- a/paragonik-backend/vendor/mockery/mockery/tests/Mockery/Matcher/SubsetTest.php +++ /dev/null @@ -1,97 +0,0 @@ - 123]); - - $actual = [ - 'foo' => 'bar', - 'dave' => 123, - 'bar' => 'baz', - ]; - - $this->assertTrue($matcher->match($actual)); - } - - /** @test */ - public function it_recursively_matches() - { - $matcher = Subset::strict(['foo' => ['bar' => ['baz' => 123]]]); - - $actual = [ - 'foo' => [ - 'bar' => [ - 'baz' => 123, - ] - ], - 'dave' => 123, - 'bar' => 'baz', - ]; - - $this->assertTrue($matcher->match($actual)); - } - - /** @test */ - public function it_is_strict_by_default() - { - $matcher = new Subset(['dave' => 123]); - - $actual = [ - 'foo' => 'bar', - 'dave' => 123.0, - 'bar' => 'baz', - ]; - - $this->assertFalse($matcher->match($actual)); - } - - /** @test */ - public function it_can_run_a_loose_comparison() - { - $matcher = Subset::loose(['dave' => 123]); - - $actual = [ - 'foo' => 'bar', - 'dave' => 123.0, - 'bar' => 'baz', - ]; - - $this->assertTrue($matcher->match($actual)); - } - - /** @test */ - public function it_returns_false_if_actual_is_not_an_array() - { - $matcher = new Subset(['dave' => 123]); - - $actual = null; - - $this->assertFalse($matcher->match($actual)); - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/tests/Mockery/MockClassWithFinalWakeupTest.php b/paragonik-backend/vendor/mockery/mockery/tests/Mockery/MockClassWithFinalWakeupTest.php deleted file mode 100644 index e2c98f4..0000000 --- a/paragonik-backend/vendor/mockery/mockery/tests/Mockery/MockClassWithFinalWakeupTest.php +++ /dev/null @@ -1,94 +0,0 @@ - - * @license http://github.com/padraic/mockery/blob/master/LICENSE New BSD License - */ - -namespace test\Mockery; - -use Mockery\Adapter\Phpunit\MockeryTestCase; - -class MockClassWithFinalWakeupTest extends MockeryTestCase -{ - protected function mockeryTestSetUp() - { - $this->container = new \Mockery\Container; - } - - protected function mockeryTestTearDown() - { - $this->container->mockery_close(); - } - - /** - * @test - * - * Test that we are able to create partial mocks of classes that have - * a __wakeup method marked as final. As long as __wakeup is not one of the - * mocked methods. - */ - public function testCreateMockForClassWithFinalWakeup() - { - $mock = $this->container->mock("test\Mockery\TestWithFinalWakeup"); - $this->assertInstanceOf("test\Mockery\TestWithFinalWakeup", $mock); - $this->assertEquals('test\Mockery\TestWithFinalWakeup::__wakeup', $mock->__wakeup()); - - $mock = $this->container->mock('test\Mockery\SubclassWithFinalWakeup'); - $this->assertInstanceOf('test\Mockery\SubclassWithFinalWakeup', $mock); - $this->assertEquals('test\Mockery\TestWithFinalWakeup::__wakeup', $mock->__wakeup()); - } - - public function testCreateMockForClassWithNonFinalWakeup() - { - $mock = $this->container->mock('test\Mockery\TestWithNonFinalWakeup'); - $this->assertInstanceOf('test\Mockery\TestWithNonFinalWakeup', $mock); - - // Make sure __wakeup is overridden and doesn't return anything. - $this->assertNull($mock->__wakeup()); - } -} - -class TestWithFinalWakeup -{ - public function foo() - { - return 'foo'; - } - - public function bar() - { - return 'bar'; - } - - final public function __wakeup() - { - return __METHOD__; - } -} - -class SubclassWithFinalWakeup extends TestWithFinalWakeup -{ -} - -class TestWithNonFinalWakeup -{ - public function __wakeup() - { - return __METHOD__; - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/tests/Mockery/MockClassWithMethodOverloadingTest.php b/paragonik-backend/vendor/mockery/mockery/tests/Mockery/MockClassWithMethodOverloadingTest.php deleted file mode 100644 index 3eb5c12..0000000 --- a/paragonik-backend/vendor/mockery/mockery/tests/Mockery/MockClassWithMethodOverloadingTest.php +++ /dev/null @@ -1,55 +0,0 @@ -makePartial(); - $this->assertInstanceOf('test\Mockery\TestWithMethodOverloading', $mock); - - $this->assertSame(42, $mock->theAnswer()); - } - - public function testThrowsWhenMethodDoesNotExist() - { - $mock = mock('test\Mockery\TestWithMethodOverloadingWithoutCall') - ->makePartial(); - $this->assertInstanceOf('test\Mockery\TestWithMethodOverloadingWithoutCall', $mock); - - $this->expectException(BadMethodCallException::class); - - $mock->randomMethod(); - } - - public function testCreateMockForClassWithMethodOverloadingWithExistingMethod() - { - $mock = mock('test\Mockery\TestWithMethodOverloading') - ->makePartial(); - $this->assertInstanceOf('test\Mockery\TestWithMethodOverloading', $mock); - - $this->assertSame(1, $mock->thisIsRealMethod()); - } -} - -class TestWithMethodOverloading -{ - public function __call($name, $arguments) - { - return 42; - } - - public function thisIsRealMethod() - { - return 1; - } -} - -class TestWithMethodOverloadingWithoutCall -{ -} diff --git a/paragonik-backend/vendor/mockery/mockery/tests/Mockery/MockClassWithUnknownTypeHintTest.php b/paragonik-backend/vendor/mockery/mockery/tests/Mockery/MockClassWithUnknownTypeHintTest.php deleted file mode 100644 index 8706f8d..0000000 --- a/paragonik-backend/vendor/mockery/mockery/tests/Mockery/MockClassWithUnknownTypeHintTest.php +++ /dev/null @@ -1,43 +0,0 @@ -assertInstanceOf(MockInterface::class, $mock); - } -} - -class HasUnknownClassAsTypeHintOnMethod -{ - public function foo(\UnknownTestClass\Bar $bar) - { - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/tests/Mockery/MockTest.php b/paragonik-backend/vendor/mockery/mockery/tests/Mockery/MockTest.php deleted file mode 100644 index 3bc575a..0000000 --- a/paragonik-backend/vendor/mockery/mockery/tests/Mockery/MockTest.php +++ /dev/null @@ -1,231 +0,0 @@ -allowMockingNonExistentMethods(false); - $m = mock(); - $m->shouldReceive("test123")->andReturn(true); - assertThat($m->test123(), equalTo(true)); - \Mockery::getConfiguration()->allowMockingNonExistentMethods(true); - } - - public function testMockWithNotAllowingMockingOfNonExistentMethodsCanBeGivenAdditionalMethodsToMockEvenIfTheyDontExistOnClass() - { - \Mockery::getConfiguration()->allowMockingNonExistentMethods(false); - $m = mock('ExampleClassForTestingNonExistentMethod'); - $m->shouldAllowMockingMethod('testSomeNonExistentMethod'); - $m->shouldReceive("testSomeNonExistentMethod")->andReturn(true); - assertThat($m->testSomeNonExistentMethod(), equalTo(true)); - \Mockery::getConfiguration()->allowMockingNonExistentMethods(true); - } - - public function testProtectedMethodMockWithNotAllowingMockingOfNonExistentMethodsWhenShouldAllowMockingProtectedMethodsIsCalled() - { - \Mockery::getConfiguration()->allowMockingNonExistentMethods(false); - $m = mock('ClassWithProtectedMethod'); - $m->shouldAllowMockingProtectedMethods(); - $m->shouldReceive('foo')->andReturn(true); - assertThat($m->foo(), equalTo(true)); - \Mockery::getConfiguration()->allowMockingNonExistentMethods(true); - } - - public function testShouldAllowMockingMethodReturnsMockInstance() - { - $m = Mockery::mock('someClass'); - $this->assertInstanceOf('Mockery\MockInterface', $m->shouldAllowMockingMethod('testFunction')); - } - - public function testShouldAllowMockingProtectedMethodReturnsMockInstance() - { - $m = Mockery::mock('someClass'); - $this->assertInstanceOf('Mockery\MockInterface', $m->shouldAllowMockingProtectedMethods('testFunction')); - } - - public function testMockAddsToString() - { - $mock = mock('ClassWithNoToString'); - $this->assertTrue(method_exists($mock, '__toString')); - } - - public function testMockToStringMayBeDeferred() - { - $mock = mock('ClassWithToString')->makePartial(); - $this->assertEquals("foo", (string)$mock); - } - - public function testMockToStringShouldIgnoreMissingAlwaysReturnsString() - { - $mock = mock('ClassWithNoToString')->shouldIgnoreMissing(); - $this->assertNotEquals('', (string)$mock); - - $mock->asUndefined(); - $this->assertNotEquals('', (string)$mock); - } - - public function testShouldIgnoreMissing() - { - $mock = mock('ClassWithNoToString')->shouldIgnoreMissing(); - $this->assertNull($mock->nonExistingMethod()); - } - - public function testShouldIgnoreMissingDisallowMockingNonExistentMethodsUsingGlobalConfiguration() - { - Mockery::getConfiguration()->allowMockingNonExistentMethods(false); - $mock = mock('ClassWithMethods')->shouldIgnoreMissing(); - $this->expectException(\Mockery\Exception::class); - $mock->shouldReceive('nonExistentMethod'); - } - - public function testShouldIgnoreMissingCallingNonExistentMethodsUsingGlobalConfiguration() - { - Mockery::getConfiguration()->allowMockingNonExistentMethods(false); - $mock = mock('ClassWithMethods')->shouldIgnoreMissing(); - $this->expectException(\BadMethodCallException::class); - $mock->nonExistentMethod(); - } - - public function testShouldIgnoreMissingCallingExistentMethods() - { - Mockery::getConfiguration()->allowMockingNonExistentMethods(false); - $mock = mock('ClassWithMethods')->shouldIgnoreMissing(); - assertThat(nullValue($mock->foo())); - $mock->shouldReceive('bar')->passthru(); - assertThat($mock->bar(), equalTo('bar')); - } - - public function testShouldIgnoreMissingCallingNonExistentMethods() - { - Mockery::getConfiguration()->allowMockingNonExistentMethods(true); - $mock = mock('ClassWithMethods')->shouldIgnoreMissing(); - assertThat(nullValue($mock->foo())); - assertThat(nullValue($mock->bar())); - assertThat(nullValue($mock->nonExistentMethod())); - - $mock->shouldReceive(array('foo' => 'new_foo', 'nonExistentMethod' => 'result')); - $mock->shouldReceive('bar')->passthru(); - assertThat($mock->foo(), equalTo('new_foo')); - assertThat($mock->bar(), equalTo('bar')); - assertThat($mock->nonExistentMethod(), equalTo('result')); - } - - public function testCanMockException() - { - $exception = Mockery::mock('Exception'); - $this->assertInstanceOf('Exception', $exception); - } - - public function testCanMockSubclassOfException() - { - $errorException = Mockery::mock('ErrorException'); - $this->assertInstanceOf('ErrorException', $errorException); - $this->assertInstanceOf('Exception', $errorException); - } - - public function testCallingShouldReceiveWithoutAValidMethodName() - { - $mock = Mockery::mock(); - - $this->expectException("InvalidArgumentException", "Received empty method name"); - $mock->shouldReceive(""); - } - - public function testShouldThrowExceptionWithInvalidClassName() - { - $this->expectException(\Mockery\Exception::class); - mock('ClassName.CannotContainDot'); - } - - - /** @test */ - public function expectation_count_will_count_expectations() - { - $mock = new Mock(); - $mock->shouldReceive("doThis")->once(); - $mock->shouldReceive("doThat")->once(); - - $this->assertEquals(2, $mock->mockery_getExpectationCount()); - } - - /** @test */ - public function expectation_count_will_ignore_defaults_if_overriden() - { - $mock = new Mock(); - $mock->shouldReceive("doThis")->once()->byDefault(); - $mock->shouldReceive("doThis")->twice(); - $mock->shouldReceive("andThis")->twice(); - - $this->assertEquals(2, $mock->mockery_getExpectationCount()); - } - - /** @test */ - public function expectation_count_will_count_defaults_if_not_overriden() - { - $mock = new Mock(); - $mock->shouldReceive("doThis")->once()->byDefault(); - $mock->shouldReceive("doThat")->once()->byDefault(); - - $this->assertEquals(2, $mock->mockery_getExpectationCount()); - } -} - - -class ExampleClassForTestingNonExistentMethod -{ -} - -class ClassWithToString -{ - public function __toString() - { - return 'foo'; - } -} - -class ClassWithNoToString -{ -} - -class ClassWithMethods -{ - public function foo() - { - return 'foo'; - } - - public function bar() - { - return 'bar'; - } -} - -class ClassWithProtectedMethod -{ - protected function foo() - { - return 'foo'; - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/tests/Mockery/MockeryCanMockClassesWithSemiReservedWordsTest.php b/paragonik-backend/vendor/mockery/mockery/tests/Mockery/MockeryCanMockClassesWithSemiReservedWordsTest.php deleted file mode 100644 index fe8ed91..0000000 --- a/paragonik-backend/vendor/mockery/mockery/tests/Mockery/MockeryCanMockClassesWithSemiReservedWordsTest.php +++ /dev/null @@ -1,28 +0,0 @@ -shouldReceive("include")->andReturn("foo"); - - $this->assertTrue(method_exists($mock, "include")); - $this->assertEquals("foo", $mock->include()); - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/tests/Mockery/MockeryCanMockMultipleInterfacesWhichOverlapTest.php b/paragonik-backend/vendor/mockery/mockery/tests/Mockery/MockeryCanMockMultipleInterfacesWhichOverlapTest.php deleted file mode 100644 index 6f49428..0000000 --- a/paragonik-backend/vendor/mockery/mockery/tests/Mockery/MockeryCanMockMultipleInterfacesWhichOverlapTest.php +++ /dev/null @@ -1,65 +0,0 @@ -mock('Mockery\Tests\Evenement_EventEmitter', 'Mockery\Tests\Chatroulette_ConnectionInterface'); - } -} - -interface Evenement_EventEmitterInterface -{ - public function on($name, $callback); -} - -class Evenement_EventEmitter implements Evenement_EventEmitterInterface -{ - public function on($name, $callback) - { - } -} - -interface React_StreamInterface extends Evenement_EventEmitterInterface -{ - public function close(); -} - -interface React_ReadableStreamInterface extends React_StreamInterface -{ - public function pause(); -} - -interface React_WritableStreamInterface extends React_StreamInterface -{ - public function write($data); -} - -interface Chatroulette_ConnectionInterface extends React_ReadableStreamInterface, React_WritableStreamInterface -{ -} diff --git a/paragonik-backend/vendor/mockery/mockery/tests/Mockery/MockingAllLowerCasedMethodsTest.php b/paragonik-backend/vendor/mockery/mockery/tests/Mockery/MockingAllLowerCasedMethodsTest.php deleted file mode 100644 index 295ae6c..0000000 --- a/paragonik-backend/vendor/mockery/mockery/tests/Mockery/MockingAllLowerCasedMethodsTest.php +++ /dev/null @@ -1,43 +0,0 @@ -shouldReceive('userExpectsCamelCaseMethod') - ->andReturn('mocked'); - - $result = $mock->userExpectsCamelCaseMethod(); - - $expected = 'mocked'; - - self::assertSame($expected, $result); - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/tests/Mockery/MockingClassConstantsTest.php b/paragonik-backend/vendor/mockery/mockery/tests/Mockery/MockingClassConstantsTest.php deleted file mode 100644 index 4cb7b83..0000000 --- a/paragonik-backend/vendor/mockery/mockery/tests/Mockery/MockingClassConstantsTest.php +++ /dev/null @@ -1,43 +0,0 @@ -setConstantsMap([ - 'ClassWithConstants' => [ - 'FOO' => 'baz', - 'X' => 2, - ] - ]); - - $mock = \Mockery::mock('overload:ClassWithConstants'); - - self::assertEquals('baz', $mock::FOO); - self::assertEquals(2, $mock::X); - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/tests/Mockery/MockingHHVMMethodsTest.php b/paragonik-backend/vendor/mockery/mockery/tests/Mockery/MockingHHVMMethodsTest.php deleted file mode 100644 index d1a47c6..0000000 --- a/paragonik-backend/vendor/mockery/mockery/tests/Mockery/MockingHHVMMethodsTest.php +++ /dev/null @@ -1,107 +0,0 @@ -isHHVM()) { - $this->markTestSkipped('For HHVM test only'); - } - - parent::mockeryTestSetUp(); - - require_once __DIR__."/Fixtures/MethodWithHHVMReturnType.php"; - } - - /** @test */ - public function it_strip_hhvm_array_return_types() - { - $mock = mock('test\Mockery\Fixtures\MethodWithHHVMReturnType'); - - $mock->shouldReceive('nullableHHVMArray')->andReturn(array('key' => true)); - $mock->nullableHHVMArray(); - } - - /** @test */ - public function it_strip_hhvm_void_return_types() - { - $mock = mock('test\Mockery\Fixtures\MethodWithHHVMReturnType'); - - $mock->shouldReceive('HHVMVoid')->andReturnNull(); - $mock->HHVMVoid(); - } - - /** @test */ - public function it_strip_hhvm_mixed_return_types() - { - $mock = mock('test\Mockery\Fixtures\MethodWithHHVMReturnType'); - - $mock->shouldReceive('HHVMMixed')->andReturnNull(); - $mock->HHVMMixed(); - } - - /** @test */ - public function it_strip_hhvm_this_return_types() - { - $mock = mock('test\Mockery\Fixtures\MethodWithHHVMReturnType'); - - $mock->shouldReceive('HHVMThis')->andReturn(new MethodWithHHVMReturnType()); - $mock->HHVMThis(); - } - - /** @test */ - public function it_allow_hhvm_string_return_types() - { - $mock = mock('test\Mockery\Fixtures\MethodWithHHVMReturnType'); - - $mock->shouldReceive('HHVMString')->andReturn('a string'); - $mock->HHVMString(); - } - - /** @test */ - public function it_allow_hhvm_imm_vector_return_types() - { - $mock = mock('test\Mockery\Fixtures\MethodWithHHVMReturnType'); - - $mock->shouldReceive('HHVMImmVector')->andReturn(new \HH\ImmVector([1, 2, 3])); - $mock->HHVMImmVector(); - } - - /** - * Returns true when it is HHVM. - */ - private function isHHVM() - { - return \defined('HHVM_VERSION'); - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/tests/Mockery/MockingMethodsWithIterableTypeHintsTest.php b/paragonik-backend/vendor/mockery/mockery/tests/Mockery/MockingMethodsWithIterableTypeHintsTest.php deleted file mode 100644 index 34ef54c..0000000 --- a/paragonik-backend/vendor/mockery/mockery/tests/Mockery/MockingMethodsWithIterableTypeHintsTest.php +++ /dev/null @@ -1,39 +0,0 @@ -assertInstanceOf(\test\Mockery\Fixtures\MethodWithIterableTypeHints::class, $mock); - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/tests/Mockery/MockingMethodsWithNullableParametersTest.php b/paragonik-backend/vendor/mockery/mockery/tests/Mockery/MockingMethodsWithNullableParametersTest.php deleted file mode 100644 index e3aa767..0000000 --- a/paragonik-backend/vendor/mockery/mockery/tests/Mockery/MockingMethodsWithNullableParametersTest.php +++ /dev/null @@ -1,52 +0,0 @@ -assertInstanceOf(\test\Mockery\Fixtures\MethodWithNullableTypedParameter::class, $mock); - } - - /** - * @test - */ - public function it_can_handle_default_parameters() - { - require __DIR__."/Fixtures/MethodWithParametersWithDefaultValues.php"; - $mock = mock("test\Mockery\Fixtures\MethodWithParametersWithDefaultValues"); - - $this->assertInstanceOf(\test\Mockery\Fixtures\MethodWithParametersWithDefaultValues::class, $mock); - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/tests/Mockery/MockingNullableMethodsTest.php b/paragonik-backend/vendor/mockery/mockery/tests/Mockery/MockingNullableMethodsTest.php deleted file mode 100644 index 0e536d6..0000000 --- a/paragonik-backend/vendor/mockery/mockery/tests/Mockery/MockingNullableMethodsTest.php +++ /dev/null @@ -1,217 +0,0 @@ -shouldReceive('nonNullablePrimitive')->andReturn('a string'); - $mock->nonNullablePrimitive(); - } - - /** - * @test - */ - public function itShouldNotAllowNonNullToBeNull() - { - $mock = mock("test\Mockery\Fixtures\MethodWithNullableReturnType"); - - $mock->shouldReceive('nonNullablePrimitive')->andReturn(null); - $this->expectException(\TypeError::class); - $mock->nonNullablePrimitive(); - } - - /** - * @test - */ - public function itShouldAllowPrimitiveNullableToBeNull() - { - $mock = mock("test\Mockery\Fixtures\MethodWithNullableReturnType"); - - $mock->shouldReceive('nullablePrimitive')->andReturn(null); - $mock->nullablePrimitive(); - } - - /** - * @test - */ - public function itShouldAllowPrimitiveNullableToBeSet() - { - $mock = mock("test\Mockery\Fixtures\MethodWithNullableReturnType"); - - $mock->shouldReceive('nullablePrimitive')->andReturn('a string'); - $mock->nullablePrimitive(); - } - - /** - * @test - */ - public function itShouldAllowSelfToBeSet() - { - $mock = mock("test\Mockery\Fixtures\MethodWithNullableReturnType"); - - $mock->shouldReceive('nonNullableSelf')->andReturn(new MethodWithNullableReturnType()); - $mock->nonNullableSelf(); - } - - /** - * @test - */ - public function itShouldNotAllowSelfToBeNull() - { - $mock = mock("test\Mockery\Fixtures\MethodWithNullableReturnType"); - - $mock->shouldReceive('nonNullableSelf')->andReturn(null); - $this->expectException(\TypeError::class); - $mock->nonNullableSelf(); - } - - /** - * @test - */ - public function itShouldAllowNullableSelfToBeSet() - { - $mock = mock("test\Mockery\Fixtures\MethodWithNullableReturnType"); - - $mock->shouldReceive('nullableSelf')->andReturn(new MethodWithNullableReturnType()); - $mock->nullableSelf(); - } - - /** - * @test - */ - public function itShouldAllowNullableSelfToBeNull() - { - $mock = mock("test\Mockery\Fixtures\MethodWithNullableReturnType"); - - $mock->shouldReceive('nullableSelf')->andReturn(null); - $mock->nullableSelf(); - } - - /** - * @test - */ - public function itShouldAllowClassToBeSet() - { - $mock = mock("test\Mockery\Fixtures\MethodWithNullableReturnType"); - - $mock->shouldReceive('nonNullableClass')->andReturn(new MethodWithNullableReturnType()); - $mock->nonNullableClass(); - } - - /** - * @test - */ - public function itShouldNotAllowClassToBeNull() - { - $mock = mock("test\Mockery\Fixtures\MethodWithNullableReturnType"); - - $mock->shouldReceive('nonNullableClass')->andReturn(null); - $this->expectException(\TypeError::class); - $mock->nonNullableClass(); - } - - /** - * @test - */ - public function itShouldAllowNullalbeClassToBeSet() - { - $mock = mock("test\Mockery\Fixtures\MethodWithNullableReturnType"); - - $mock->shouldReceive('nullableClass')->andReturn(new MethodWithNullableReturnType()); - $mock->nullableClass(); - } - - /** - * @test - */ - public function itShouldAllowNullableClassToBeNull() - { - $mock = mock("test\Mockery\Fixtures\MethodWithNullableReturnType"); - - $mock->shouldReceive('nullableClass')->andReturn(null); - $mock->nullableClass(); - } - - /** @test */ - public function it_allows_returning_null_for_nullable_object_return_types() - { - $double= \Mockery::mock(MethodWithNullableReturnType::class); - - $double->shouldReceive("nullableClass")->andReturnNull(); - - $this->assertNull($double->nullableClass()); - } - - /** @test */ - public function it_allows_returning_null_for_nullable_string_return_types() - { - $double= \Mockery::mock(MethodWithNullableReturnType::class); - - $double->shouldReceive("nullableString")->andReturnNull(); - - $this->assertNull($double->nullableString()); - } - - /** @test */ - public function it_allows_returning_null_for_nullable_int_return_types() - { - $double= \Mockery::mock(MethodWithNullableReturnType::class); - - $double->shouldReceive("nullableInt")->andReturnNull(); - - $this->assertNull($double->nullableInt()); - } - - /** @test */ - public function it_returns_null_on_calls_to_ignored_methods_of_spies_if_return_type_is_nullable() - { - $double = \Mockery::spy(MethodWithNullableReturnType::class); - - $this->assertNull($double->nullableClass()); - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/tests/Mockery/MockingProtectedMethodsTest.php b/paragonik-backend/vendor/mockery/mockery/tests/Mockery/MockingProtectedMethodsTest.php deleted file mode 100644 index 7810d1b..0000000 --- a/paragonik-backend/vendor/mockery/mockery/tests/Mockery/MockingProtectedMethodsTest.php +++ /dev/null @@ -1,133 +0,0 @@ -assertEquals("bar", $mock->bar()); - } - - /** - * @test - * - * This is a regression test, basically we don't want the mock handling - * interfering with calling protected methods partials - */ - public function shouldAutomaticallyDeferCallsToProtectedMethodsForRuntimePartials() - { - $mock = mock("test\Mockery\TestWithProtectedMethods")->makePartial(); - $this->assertEquals("bar", $mock->bar()); - } - - /** @test */ - public function shouldAutomaticallyIgnoreAbstractProtectedMethods() - { - $mock = mock("test\Mockery\TestWithProtectedMethods")->makePartial(); - $this->assertNull($mock->foo()); - } - - /** @test */ - public function shouldAllowMockingProtectedMethods() - { - $mock = mock("test\Mockery\TestWithProtectedMethods") - ->makePartial() - ->shouldAllowMockingProtectedMethods(); - - $mock->shouldReceive("protectedBar")->andReturn("notbar"); - $this->assertEquals("notbar", $mock->bar()); - } - - /** @test */ - public function shouldAllowMockingProtectedMethodOnDefinitionTimePartial() - { - $mock = mock("test\Mockery\TestWithProtectedMethods[protectedBar]") - ->shouldAllowMockingProtectedMethods(); - - $mock->shouldReceive("protectedBar")->andReturn("notbar"); - $this->assertEquals("notbar", $mock->bar()); - } - - /** @test */ - public function shouldAllowMockingAbstractProtectedMethods() - { - $mock = mock("test\Mockery\TestWithProtectedMethods") - ->makePartial() - ->shouldAllowMockingProtectedMethods(); - - $mock->shouldReceive("abstractProtected")->andReturn("abstractProtected"); - $this->assertEquals("abstractProtected", $mock->foo()); - } - - /** @test */ - public function shouldAllowMockingIncreasedVisabilityMethods() - { - $mock = mock("test\Mockery\TestIncreasedVisibilityChild"); - $mock->shouldReceive('foobar')->andReturn("foobar"); - $this->assertEquals('foobar', $mock->foobar()); - } -} - - -abstract class TestWithProtectedMethods -{ - public function foo() - { - return $this->abstractProtected(); - } - - abstract protected function abstractProtected(); - - public function bar() - { - return $this->protectedBar(); - } - - protected function protectedBar() - { - return 'bar'; - } -} - -class TestIncreasedVisibilityParent -{ - protected function foobar() - { - } -} - -class TestIncreasedVisibilityChild extends TestIncreasedVisibilityParent -{ - public function foobar() - { - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/tests/Mockery/MockingStaticMethodsCalledObjectStyleTest.php b/paragonik-backend/vendor/mockery/mockery/tests/Mockery/MockingStaticMethodsCalledObjectStyleTest.php deleted file mode 100644 index 6e099a0..0000000 --- a/paragonik-backend/vendor/mockery/mockery/tests/Mockery/MockingStaticMethodsCalledObjectStyleTest.php +++ /dev/null @@ -1,66 +0,0 @@ -shouldReceive('foo')->andReturn(true); - $this->assertEquals(true, $mock->foo()); - } - - public function testStaticMethodCalledObjectStyleMockWithNotAllowingMockingOfNonExistentMethods() - { - \Mockery::getConfiguration()->allowMockingNonExistentMethods(false); - $mock = mock('test\Mockery\ClassWithStaticMethods'); - $mock->shouldReceive('foo')->andReturn(true); - $this->assertEquals(true, $mock->foo()); - \Mockery::getConfiguration()->allowMockingNonExistentMethods(true); - } - - public function testProtectedStaticMethodCalledObjectStyleMockWithNotAllowingMockingOfNonExistentMethods() - { - \Mockery::getConfiguration()->allowMockingNonExistentMethods(false); - $mock = mock('test\Mockery\ClassWithStaticMethods'); - $mock->shouldAllowMockingProtectedMethods(); - $mock->shouldReceive('protectedBar')->andReturn(true); - $this->assertEquals(true, $mock->protectedBar()); - \Mockery::getConfiguration()->allowMockingNonExistentMethods(true); - } -} - -class ClassWithStaticMethods -{ - public static function foo() - { - return 'foo'; - } - - protected static function protectedBar() - { - return 'bar'; - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/tests/Mockery/MockingVariadicArgumentsTest.php b/paragonik-backend/vendor/mockery/mockery/tests/Mockery/MockingVariadicArgumentsTest.php deleted file mode 100644 index a940f63..0000000 --- a/paragonik-backend/vendor/mockery/mockery/tests/Mockery/MockingVariadicArgumentsTest.php +++ /dev/null @@ -1,45 +0,0 @@ -shouldReceive("foo")->andReturn("notbar"); - $this->assertEquals("notbar", $mock->foo()); - } -} - - -abstract class TestWithVariadicArguments -{ - public function foo(...$bar) - { - return $bar; - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/tests/Mockery/MockingVoidMethodsTest.php b/paragonik-backend/vendor/mockery/mockery/tests/Mockery/MockingVoidMethodsTest.php deleted file mode 100644 index e6ebd76..0000000 --- a/paragonik-backend/vendor/mockery/mockery/tests/Mockery/MockingVoidMethodsTest.php +++ /dev/null @@ -1,53 +0,0 @@ -assertInstanceOf(\test\Mockery\Fixtures\MethodWithVoidReturnType::class, $mock); - } - - /** @test */ - public function it_can_stub_and_mock_void_methods() - { - $mock = mock("test\Mockery\Fixtures\MethodWithVoidReturnType"); - - $mock->shouldReceive("foo"); - $mock->foo(); - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/tests/Mockery/NamedMockTest.php b/paragonik-backend/vendor/mockery/mockery/tests/Mockery/NamedMockTest.php deleted file mode 100644 index 96e4548..0000000 --- a/paragonik-backend/vendor/mockery/mockery/tests/Mockery/NamedMockTest.php +++ /dev/null @@ -1,86 +0,0 @@ -assertInstanceOf("Mockery\Dave123", $mock); - } - - /** @test */ - public function itCreatesPassesFurtherArgumentsJustLikeMock() - { - $mock = Mockery::namedMock("Mockery\Dave456", "DateTime", array( - "getDave" => "dave" - )); - - $this->assertInstanceOf("DateTime", $mock); - $this->assertEquals("dave", $mock->getDave()); - } - - /** - * @test - */ - public function itShouldThrowIfAttemptingToRedefineNamedMock() - { - $mock = Mockery::namedMock("Mockery\Dave7"); - $this->expectException(\Mockery\Exception::class); - $this->expectExceptionMessage("The mock named 'Mockery\Dave7' has been already defined with a different mock configuration"); - $mock = Mockery::namedMock("Mockery\Dave7", "DateTime"); - } - - /** @test */ - public function itCreatesConcreteMethodImplementationWithReturnType() - { - $cactus = new \Nature\Plant(); - $gardener = Mockery::namedMock( - "NewNamespace\\ClassName", - "Gardener", - array('water' => true) - ); - $this->assertTrue($gardener->water($cactus)); - } - - /** - * @test - * @requires PHP 7.0.0 - */ - public function it_gracefully_handles_namespacing() - { - $animal = Mockery::namedMock( - uniqid(Animal::class, false), - Animal::class - ); - - $animal->shouldReceive("habitat")->andReturn(new Habitat()); - - $this->assertInstanceOf(Habitat::class, $animal->habitat()); - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/tests/Mockery/ProxyMockingTest.php b/paragonik-backend/vendor/mockery/mockery/tests/Mockery/ProxyMockingTest.php deleted file mode 100644 index 4ba102e..0000000 --- a/paragonik-backend/vendor/mockery/mockery/tests/Mockery/ProxyMockingTest.php +++ /dev/null @@ -1,46 +0,0 @@ -expectException(Exception::class); - - mock(UnmockableClass::class); - } - - /** @test */ - public function passesThruAnyMethod() - { - $mock = mock(new UnmockableClass()); - - $this->assertSame(1, $mock->anyMethod()); - } - - /** @test */ - public function passesThruVirtualMethods() - { - $mock = mock(new UnmockableClass()); - - $this->assertSame(42, $mock->theAnswer()); - } -} - -final class UnmockableClass -{ - public function anyMethod() - { - return 1; - } - - public function __call($method, $args) - { - return 42; - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/tests/Mockery/SpyTest.php b/paragonik-backend/vendor/mockery/mockery/tests/Mockery/SpyTest.php deleted file mode 100644 index 73de84c..0000000 --- a/paragonik-backend/vendor/mockery/mockery/tests/Mockery/SpyTest.php +++ /dev/null @@ -1,152 +0,0 @@ -myMethod(); - $spy->shouldHaveReceived("myMethod"); - - $this->expectException("Mockery\Exception\InvalidCountException"); - $spy->shouldHaveReceived("someMethodThatWasNotCalled"); - } - - /** @test */ - public function itVerifiesAMethodWasNotCalled() - { - $spy = m::spy(); - $spy->shouldNotHaveReceived("myMethod"); - - $this->expectException("Mockery\Exception\InvalidCountException"); - $spy->myMethod(); - $spy->shouldNotHaveReceived("myMethod"); - } - - /** @test */ - public function itVerifiesAMethodWasNotCalledWithParticularArguments() - { - $spy = m::spy(); - $spy->myMethod(123, 456); - - $spy->shouldNotHaveReceived("myMethod", array(789, 10)); - - $this->expectException("Mockery\Exception\InvalidCountException"); - $spy->shouldNotHaveReceived("myMethod", array(123, 456)); - } - - /** @test */ - public function itVerifiesAMethodWasCalledASpecificNumberOfTimes() - { - $spy = m::spy(); - $spy->myMethod(); - $spy->myMethod(); - $spy->shouldHaveReceived("myMethod")->twice(); - - $this->expectException("Mockery\Exception\InvalidCountException"); - $spy->myMethod(); - $spy->shouldHaveReceived("myMethod")->twice(); - } - - /** @test */ - public function itVerifiesAMethodWasCalledWithSpecificArguments() - { - $spy = m::spy(); - $spy->myMethod(123, "a string"); - $spy->shouldHaveReceived("myMethod")->with(123, "a string"); - $spy->shouldHaveReceived("myMethod", array(123, "a string")); - - $this->expectException("Mockery\Exception\InvalidCountException"); - $spy->shouldHaveReceived("myMethod")->with(123); - } - - /** @test */ - public function itIncrementsExpectationCountWhenShouldHaveReceivedIsUsed() - { - $spy = m::spy(); - $spy->myMethod('param1', 'param2'); - $spy->shouldHaveReceived('myMethod')->with('param1', 'param2'); - $this->assertEquals(1, $spy->mockery_getExpectationCount()); - } - - /** @test */ - public function itIncrementsExpectationCountWhenShouldNotHaveReceivedIsUsed() - { - $spy = m::spy(); - $spy->shouldNotHaveReceived('method'); - $this->assertEquals(1, $spy->mockery_getExpectationCount()); - } - - /** @test */ - public function any_args_can_be_used_with_alternative_syntax() - { - $spy = m::spy(); - $spy->foo(123, 456); - - $spy->shouldHaveReceived()->foo(anyArgs()); - } - - /** @test */ - public function should_have_received_higher_order_message_call_a_method_with_correct_arguments() - { - $spy = m::spy(); - $spy->foo(123); - - $spy->shouldHaveReceived()->foo(123); - } - - /** @test */ - public function should_have_received_higher_order_message_call_a_method_with_incorrect_arguments_throws_exception() - { - $spy = m::spy(); - $spy->foo(123); - - $this->expectException("Mockery\Exception\InvalidCountException"); - $spy->shouldHaveReceived()->foo(456); - } - - /** @test */ - public function should_not_have_received_higher_order_message_call_a_method_with_incorrect_arguments() - { - $spy = m::spy(); - $spy->foo(123); - - $spy->shouldNotHaveReceived()->foo(456); - } - - /** @test */ - public function should_not_have_received_higher_order_message_call_a_method_with_correct_arguments_throws_an_exception() - { - $spy = m::spy(); - $spy->foo(123); - - $this->expectException("Mockery\Exception\InvalidCountException"); - $spy->shouldNotHaveReceived()->foo(123); - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/tests/Mockery/Stubs/Animal.php b/paragonik-backend/vendor/mockery/mockery/tests/Mockery/Stubs/Animal.php deleted file mode 100644 index 50de129..0000000 --- a/paragonik-backend/vendor/mockery/mockery/tests/Mockery/Stubs/Animal.php +++ /dev/null @@ -1,29 +0,0 @@ -assertEquals('bar', $trait->foo()); - } - - /** @test */ - public function it_creates_abstract_methods_as_necessary() - { - $trait = mock(TraitWithAbstractMethod::class, ['doBaz' => 'baz']); - - $this->assertEquals('baz', $trait->baz()); - } - - /** @test */ - public function it_can_create_an_object_using_multiple_traits() - { - $trait = mock(SimpleTrait::class, TraitWithAbstractMethod::class, [ - 'doBaz' => 123, - ]); - - $this->assertEquals('bar', $trait->foo()); - $this->assertEquals(123, $trait->baz()); - } -} - -trait SimpleTrait -{ - public function foo() - { - return 'bar'; - } -} - -trait TraitWithAbstractMethod -{ - public function baz() - { - return $this->doBaz(); - } - - abstract public function doBaz(); -} diff --git a/paragonik-backend/vendor/mockery/mockery/tests/Mockery/WithFormatterExpectationTest.php b/paragonik-backend/vendor/mockery/mockery/tests/Mockery/WithFormatterExpectationTest.php deleted file mode 100644 index d6a56a5..0000000 --- a/paragonik-backend/vendor/mockery/mockery/tests/Mockery/WithFormatterExpectationTest.php +++ /dev/null @@ -1,122 +0,0 @@ -assertEquals( - $expected, - Mockery::formatObjects($args) - ); - } - - /** - * Note that without the patch checked in with this test, rather than throwing - * an exception, the program will go into an infinite recursive loop - */ - public function testFormatObjectsWithMockCalledInGetterDoesNotLeadToRecursion() - { - $mock = Mockery::mock('stdClass'); - $mock->shouldReceive('doBar')->with('foo'); - $obj = new ClassWithGetter($mock); - $this->expectException(\Mockery\Exception\NoMatchingExpectationException::class); - $obj->getFoo(); - } - - public function formatObjectsDataProvider() - { - return array( - array( - array(null), - '' - ), - array( - array('a string', 98768, array('a', 'nother', 'array')), - '' - ), - ); - } - - /** @test */ - public function format_objects_should_not_call_getters_with_params() - { - $obj = new ClassWithGetterWithParam(); - $string = Mockery::formatObjects(array($obj)); - - $this->assertTrue(\mb_strpos($string, 'Missing argument 1 for') === false); - } - - public function testFormatObjectsExcludesStaticProperties() - { - $obj = new ClassWithPublicStaticProperty(); - $string = Mockery::formatObjects(array($obj)); - - $this->assertTrue(\mb_strpos($string, 'excludedProperty') === false); - } - - public function testFormatObjectsExcludesStaticGetters() - { - $obj = new ClassWithPublicStaticGetter(); - $string = Mockery::formatObjects(array($obj)); - - $this->assertTrue(\mb_strpos($string, 'getExcluded') === false); - } -} - -class ClassWithGetter -{ - private $dep; - - public function __construct($dep) - { - $this->dep = $dep; - } - - public function getFoo() - { - return $this->dep->doBar('bar', $this); - } -} - -class ClassWithGetterWithParam -{ - public function getBar($bar) - { - } -} - -class ClassWithPublicStaticProperty -{ - public static $excludedProperty; -} - -class ClassWithPublicStaticGetter -{ - public static function getExcluded() - { - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/tests/Mockery/_files/file.txt b/paragonik-backend/vendor/mockery/mockery/tests/Mockery/_files/file.txt deleted file mode 100644 index e69de29..0000000 diff --git a/paragonik-backend/vendor/mockery/mockery/tests/PHP56/MockingOldStyleConstructorTest.php b/paragonik-backend/vendor/mockery/mockery/tests/PHP56/MockingOldStyleConstructorTest.php deleted file mode 100644 index 89e66c0..0000000 --- a/paragonik-backend/vendor/mockery/mockery/tests/PHP56/MockingOldStyleConstructorTest.php +++ /dev/null @@ -1,44 +0,0 @@ -assertInstanceOf(MockInterface::class, mock('MockeryTest_OldStyleConstructor')); - } -} - -class MockeryTest_OldStyleConstructor -{ - public function MockeryTest_OldStyleConstructor($arg) - { - } -} diff --git a/paragonik-backend/vendor/mockery/mockery/tests/PHP70/Generator/StringManipulation/Pass/MagicMethodTypeHintsPassTest.php b/paragonik-backend/vendor/mockery/mockery/tests/PHP70/Generator/StringManipulation/Pass/MagicMethodTypeHintsPassTest.php deleted file mode 100644 index 993c478..0000000 --- a/paragonik-backend/vendor/mockery/mockery/tests/PHP70/Generator/StringManipulation/Pass/MagicMethodTypeHintsPassTest.php +++ /dev/null @@ -1,392 +0,0 @@ -pass = new MagicMethodTypeHintsPass; - $this->mockedConfiguration = m::mock( - 'Mockery\Generator\MockConfiguration' - ); - } - - /** - * @test - */ - public function itShouldWork() - { - $this->assertTrue(true); - } - - /** - * @test - */ - public function itShouldGrabClassMagicMethods() - { - $targetClass = DefinedTargetClass::factory( - 'Mockery\Test\Generator\StringManipulation\Pass\MagicDummy' - ); - $magicMethods = $this->pass->getMagicMethods($targetClass); - - $this->assertCount(6, $magicMethods); - $this->assertEquals('__isset', $magicMethods[0]->getName()); - } - - /** - * @test - */ - public function itShouldGrabInterfaceMagicMethods() - { - $targetClass = DefinedTargetClass::factory( - 'Mockery\Test\Generator\StringManipulation\Pass\MagicInterfaceDummy' - ); - $magicMethods = $this->pass->getMagicMethods($targetClass); - - $this->assertCount(6, $magicMethods); - $this->assertEquals('__isset', $magicMethods[0]->getName()); - } - - /** - * @test - */ - public function itShouldAddStringTypeHintOnMagicMethod() - { - $this->configureForClass(); - $code = $this->pass->apply( - 'public function __isset($name) {}', - $this->mockedConfiguration - ); - $this->assertTrue(\mb_strpos($code, 'string $name') !== false); - - $this->configureForInterface(); - $code = $this->pass->apply( - 'public function __isset($name) {}', - $this->mockedConfiguration - ); - $this->assertTrue(\mb_strpos($code, 'string $name') !== false); - } - - /** - * @test - */ - public function itShouldAddStringTypeHintOnAllMagicMethods() - { - $this->configureForInterfaces([ - 'Mockery\Test\Generator\StringManipulation\Pass\MagicInterfaceDummy', - 'Mockery\Test\Generator\StringManipulation\Pass\MagicUnsetInterfaceDummy' - ]); - $code = $this->pass->apply( - 'public function __isset($name) {}', - $this->mockedConfiguration - ); - $this->assertTrue(\mb_strpos($code, 'string $name') !== false); - $code = $this->pass->apply( - 'public function __unset($name) {}', - $this->mockedConfiguration - ); - $this->assertTrue(\mb_strpos($code, 'string $name') !== false); - } - - /** - * @test - */ - public function itShouldAddBooleanReturnOnMagicMethod() - { - $this->configureForClass(); - $code = $this->pass->apply( - 'public function __isset($name) {}', - $this->mockedConfiguration - ); - $this->assertTrue(\mb_strpos($code, ' : bool') !== false); - - $this->configureForInterface(); - $code = $this->pass->apply( - 'public function __isset($name) {}', - $this->mockedConfiguration - ); - $this->assertTrue(\mb_strpos($code, ' : bool') !== false); - } - - /** - * @test - */ - public function itShouldAddTypeHintsOnToStringMethod() - { - $this->configureForClass(); - $code = $this->pass->apply( - 'public function __toString() {}', - $this->mockedConfiguration - ); - $this->assertTrue(\mb_strpos($code, ' : string') !== false); - - $this->configureForInterface(); - $code = $this->pass->apply( - 'public function __toString() {}', - $this->mockedConfiguration - ); - $this->assertTrue(\mb_strpos($code, ' : string') !== false); - } - - /** - * @test - */ - public function itShouldAddTypeHintsOnCallMethod() - { - $this->configureForClass(); - $code = $this->pass->apply( - 'public function __call($method, array $args) {}', - $this->mockedConfiguration - ); - $this->assertTrue(\mb_strpos($code, 'string $method') !== false); - - $this->configureForInterface(); - $code = $this->pass->apply( - 'public function __call($method, array $args) {}', - $this->mockedConfiguration - ); - $this->assertTrue(\mb_strpos($code, 'string $method') !== false); - } - - /** - * @test - */ - public function itShouldAddTypeHintsOnCallStaticMethod() - { - $this->configureForClass(); - $code = $this->pass->apply( - 'public static function __callStatic($method, array $args) {}', - $this->mockedConfiguration - ); - $this->assertTrue(\mb_strpos($code, 'string $method') !== false); - - $this->configureForInterface(); - $code = $this->pass->apply( - 'public static function __callStatic($method, array $args) {}', - $this->mockedConfiguration - ); - $this->assertTrue(\mb_strpos($code, 'string $method') !== false); - } - - /** - * @test - */ - public function itShouldNotAddReturnTypeHintIfOneIsNotFound() - { - $this->configureForClass('Mockery\Test\Generator\StringManipulation\Pass\MagicReturnDummy'); - $code = $this->pass->apply( - 'public static function __isset($parameter) {}', - $this->mockedConfiguration - ); - $this->assertTrue(\mb_strpos($code, ') {') !== false); - - $this->configureForInterface('Mockery\Test\Generator\StringManipulation\Pass\MagicReturnInterfaceDummy'); - $code = $this->pass->apply( - 'public static function __isset($parameter) {}', - $this->mockedConfiguration - ); - $this->assertTrue(\mb_strpos($code, ') {') !== false); - } - - /** - * @test - */ - public function itShouldReturnEmptyArrayIfClassDoesNotHaveMagicMethods() - { - $targetClass = DefinedTargetClass::factory( - '\StdClass' - ); - $magicMethods = $this->pass->getMagicMethods($targetClass); - $this->assertTrue(is_array($magicMethods)); - $this->assertEmpty($magicMethods); - } - - /** - * @test - */ - public function itShouldReturnEmptyArrayIfClassTypeIsNotExpected() - { - $magicMethods = $this->pass->getMagicMethods(null); - $this->assertTrue(is_array($magicMethods)); - $this->assertEmpty($magicMethods); - } - - /** - * Tests if the pass correclty replaces all the magic - * method parameters with those found in the - * Mock class. This is made to avoid variable - * conflicts withing Mock's magic methods - * implementations. - * - * @test - */ - public function itShouldGrabAndReplaceAllParametersWithTheCodeStringMatches() - { - $this->configureForClass(); - $code = $this->pass->apply( - 'public function __call($method, array $args) {}', - $this->mockedConfiguration - ); - $this->assertTrue(\mb_strpos($code, '$method') !== false); - $this->assertTrue(\mb_strpos($code, 'array $args') !== false); - - $this->configureForInterface(); - $code = $this->pass->apply( - 'public function __call($method, array $args) {}', - $this->mockedConfiguration - ); - $this->assertTrue(\mb_strpos($code, '$method') !== false); - $this->assertTrue(\mb_strpos($code, 'array $args') !== false); - } - - protected function configureForClass(string $className = 'Mockery\Test\Generator\StringManipulation\Pass\MagicDummy') - { - $targetClass = DefinedTargetClass::factory($className); - - $this->mockedConfiguration - ->shouldReceive('getTargetClass') - ->andReturn($targetClass) - ->byDefault(); - $this->mockedConfiguration - ->shouldReceive('getTargetInterfaces') - ->andReturn([]) - ->byDefault(); - } - - protected function configureForInterface(string $interfaceName = 'Mockery\Test\Generator\StringManipulation\Pass\MagicDummy') - { - $targetInterface = DefinedTargetClass::factory($interfaceName); - - $this->mockedConfiguration - ->shouldReceive('getTargetClass') - ->andReturn(null) - ->byDefault(); - $this->mockedConfiguration - ->shouldReceive('getTargetInterfaces') - ->andReturn([$targetInterface]) - ->byDefault(); - } - - protected function configureForInterfaces(array $interfaceNames) - { - $targetInterfaces = array_map([DefinedTargetClass::class, 'factory'], $interfaceNames); - - $this->mockedConfiguration - ->shouldReceive('getTargetClass') - ->andReturn(null) - ->byDefault(); - $this->mockedConfiguration - ->shouldReceive('getTargetInterfaces') - ->andReturn($targetInterfaces) - ->byDefault(); - } -} - -class MagicDummy -{ - public function __isset(string $name) : bool - { - return false; - } - - public function __toString() : string - { - return ''; - } - - public function __wakeup() - { - } - - public function __destruct() - { - } - - public function __call(string $name, array $arguments) : string - { - } - - public static function __callStatic(string $name, array $arguments) : int - { - } - - public function nonMagicMethod() - { - } -} - -class MagicReturnDummy -{ - public function __isset(string $name) - { - return false; - } -} - -interface MagicInterfaceDummy -{ - public function __isset(string $name) : bool; - - public function __toString() : string; - - public function __wakeup(); - - public function __destruct(); - - public function __call(string $name, array $arguments) : string; - - public static function __callStatic(string $name, array $arguments) : int; - - public function nonMagicMethod(); -} - -interface MagicReturnInterfaceDummy -{ - public function __isset(string $name); -} - -interface MagicUnsetInterfaceDummy -{ - public function __unset(string $name); -} diff --git a/paragonik-backend/vendor/mockery/mockery/tests/PHP70/MockingParameterAndReturnTypesTest.php b/paragonik-backend/vendor/mockery/mockery/tests/PHP70/MockingParameterAndReturnTypesTest.php deleted file mode 100644 index 5ebdb01..0000000 --- a/paragonik-backend/vendor/mockery/mockery/tests/PHP70/MockingParameterAndReturnTypesTest.php +++ /dev/null @@ -1,177 +0,0 @@ -shouldReceive("returnString"); - $this->assertSame("", $mock->returnString()); - } - - public function testMockingIntegerReturnType() - { - $mock = mock("test\Mockery\TestWithParameterAndReturnType"); - - $mock->shouldReceive("returnInteger"); - $this->assertSame(0, $mock->returnInteger()); - } - - public function testMockingFloatReturnType() - { - $mock = mock("test\Mockery\TestWithParameterAndReturnType"); - - $mock->shouldReceive("returnFloat"); - $this->assertSame(0.0, $mock->returnFloat()); - } - - public function testMockingBooleanReturnType() - { - $mock = mock("test\Mockery\TestWithParameterAndReturnType"); - - $mock->shouldReceive("returnBoolean"); - $this->assertFalse($mock->returnBoolean()); - } - - public function testMockingArrayReturnType() - { - $mock = mock("test\Mockery\TestWithParameterAndReturnType"); - - $mock->shouldReceive("returnArray"); - $this->assertSame([], $mock->returnArray()); - } - - public function testMockingGeneratorReturnTyps() - { - $mock = mock("test\Mockery\TestWithParameterAndReturnType"); - - $mock->shouldReceive("returnGenerator"); - $this->assertInstanceOf("\Generator", $mock->returnGenerator()); - } - - public function testMockingCallableReturnType() - { - $mock = mock("test\Mockery\TestWithParameterAndReturnType"); - - $mock->shouldReceive("returnCallable"); - $this->assertTrue(is_callable($mock->returnCallable())); - } - - public function testMockingClassReturnTypes() - { - $mock = mock("test\Mockery\TestWithParameterAndReturnType"); - - $mock->shouldReceive("withClassReturnType"); - $this->assertInstanceOf("test\Mockery\TestWithParameterAndReturnType", $mock->withClassReturnType()); - } - - public function testMockingParameterTypes() - { - $mock = mock("test\Mockery\TestWithParameterAndReturnType"); - - $mock->shouldReceive("withScalarParameters"); - $mock->withScalarParameters(1, 1.0, true, 'string'); - } - - public function testIgnoringMissingReturnsType() - { - $mock = mock("test\Mockery\TestWithParameterAndReturnType"); - - $mock->shouldIgnoreMissing(); - - $this->assertSame('', $mock->returnString()); - $this->assertSame(0, $mock->returnInteger()); - $this->assertSame(0.0, $mock->returnFloat()); - $this->assertFalse( $mock->returnBoolean()); - $this->assertSame([], $mock->returnArray()); - $this->assertTrue(is_callable($mock->returnCallable())); - $this->assertInstanceOf("\Generator", $mock->returnGenerator()); - $this->assertInstanceOf("test\Mockery\TestWithParameterAndReturnType", $mock->withClassReturnType()); - } - - public function testAutoStubbingSelf() - { - $spy = \Mockery::spy("test\Mockery\TestWithParameterAndReturnType"); - - $this->assertInstanceOf("test\Mockery\TestWithParameterAndReturnType", $spy->returnSelf()); - } - - public function testItShouldMockClassWithHintedParamsInMagicMethod() - { - $this->assertNotNull( - \Mockery::mock('test\Mockery\MagicParams') - ); - } - - public function testItShouldMockClassWithHintedReturnInMagicMethod() - { - $this->assertNotNull( - \Mockery::mock('test\Mockery\MagicReturns') - ); - } -} - -class MagicParams -{ - public function __isset(string $property) - { - return false; - } -} - -class MagicReturns -{ - public function __isset($property) : bool - { - return false; - } -} - -abstract class TestWithParameterAndReturnType -{ - public function returnString(): string {} - - public function returnInteger(): int {} - - public function returnFloat(): float {} - - public function returnBoolean(): bool {} - - public function returnArray(): array {} - - public function returnCallable(): callable {} - - public function returnGenerator(): \Generator {} - - public function withClassReturnType(): TestWithParameterAndReturnType {} - - public function withScalarParameters(int $integer, float $float, bool $boolean, string $string) {} - - public function returnSelf(): self {} -} diff --git a/paragonik-backend/vendor/mockery/mockery/tests/PHP72/Php72LanguageFeaturesTest.php b/paragonik-backend/vendor/mockery/mockery/tests/PHP72/Php72LanguageFeaturesTest.php deleted file mode 100644 index f6fb957..0000000 --- a/paragonik-backend/vendor/mockery/mockery/tests/PHP72/Php72LanguageFeaturesTest.php +++ /dev/null @@ -1,45 +0,0 @@ -allows()->foo($object); - - $mock->foo($object); - } - - /** @test */ - public function it_can_mock_a_class_with_an_object_return_type_hint() - { - $mock = spy(ReturnTypeObjectTypeHint::class); - - $object = $mock->foo(); - - $this->assertTrue(is_object($object)); - } -} - -class ArgumentObjectTypeHint -{ - public function foo(object $foo) - { - } -} - -class ReturnTypeObjectTypeHint -{ - public function foo(): object - { - } -} diff --git a/paragonik-backend/vendor/monolog/monolog/CHANGELOG.md b/paragonik-backend/vendor/monolog/monolog/CHANGELOG.md deleted file mode 100644 index a00c1ec..0000000 --- a/paragonik-backend/vendor/monolog/monolog/CHANGELOG.md +++ /dev/null @@ -1,397 +0,0 @@ -### 1.25.2 (2019-11-13) - - * Fixed normalization of Traversables to avoid traversing them as not all of them are rewindable - * Fixed setFormatter/getFormatter to forward to the nested handler in FilterHandler, FingersCrossedHandler, BufferHandler and SamplingHandler - * Fixed BrowserConsoleHandler formatting when using multiple styles - * Fixed normalization of exception codes to be always integers even for PDOException which have them as numeric strings - * Fixed normalization of SoapFault objects containing non-strings as "detail" - * Fixed json encoding across all handlers to always attempt recovery of non-UTF-8 strings instead of failing the whole encoding - -### 1.25.1 (2019-09-06) - - * Fixed forward-compatible interfaces to be compatible with Monolog 1.x too. - -### 1.25.0 (2019-09-06) - - * Deprecated SlackbotHandler, use SlackWebhookHandler or SlackHandler instead - * Deprecated RavenHandler, use sentry/sentry 2.x and their Sentry\Monolog\Handler instead - * Deprecated HipChatHandler, migrate to Slack and use SlackWebhookHandler or SlackHandler instead - * Added forward-compatible interfaces and traits FormattableHandlerInterface, FormattableHandlerTrait, ProcessableHandlerInterface, ProcessableHandlerTrait. If you use modern PHP and want to make code compatible with Monolog 1 and 2 this can help. You will have to require at least Monolog 1.25 though. - * Added support for RFC3164 (outdated BSD syslog protocol) to SyslogUdpHandler - * Fixed issue in GroupHandler and WhatFailureGroupHandler where setting multiple processors would duplicate records - * Fixed issue in SignalHandler restarting syscalls functionality - * Fixed normalizers handling of exception backtraces to avoid serializing arguments in some cases - * Fixed ZendMonitorHandler to work with the latest Zend Server versions - * Fixed ChromePHPHandler to avoid sending more data than latest Chrome versions allow in headers (4KB down from 256KB). - -### 1.24.0 (2018-11-05) - - * BC Notice: If you are extending any of the Monolog's Formatters' `normalize` method, make sure you add the new `$depth = 0` argument to your function signature to avoid strict PHP warnings. - * Added a `ResettableInterface` in order to reset/reset/clear/flush handlers and processors - * Added a `ProcessorInterface` as an optional way to label a class as being a processor (mostly useful for autowiring dependency containers) - * Added a way to log signals being received using Monolog\SignalHandler - * Added ability to customize error handling at the Logger level using Logger::setExceptionHandler - * Added InsightOpsHandler to migrate users of the LogEntriesHandler - * Added protection to NormalizerHandler against circular and very deep structures, it now stops normalizing at a depth of 9 - * Added capture of stack traces to ErrorHandler when logging PHP errors - * Added RavenHandler support for a `contexts` context or extra key to forward that to Sentry's contexts - * Added forwarding of context info to FluentdFormatter - * Added SocketHandler::setChunkSize to override the default chunk size in case you must send large log lines to rsyslog for example - * Added ability to extend/override BrowserConsoleHandler - * Added SlackWebhookHandler::getWebhookUrl and SlackHandler::getToken to enable class extensibility - * Added SwiftMailerHandler::getSubjectFormatter to enable class extensibility - * Dropped official support for HHVM in test builds - * Fixed normalization of exception traces when call_user_func is used to avoid serializing objects and the data they contain - * Fixed naming of fields in Slack handler, all field names are now capitalized in all cases - * Fixed HipChatHandler bug where slack dropped messages randomly - * Fixed normalization of objects in Slack handlers - * Fixed support for PHP7's Throwable in NewRelicHandler - * Fixed race bug when StreamHandler sometimes incorrectly reported it failed to create a directory - * Fixed table row styling issues in HtmlFormatter - * Fixed RavenHandler dropping the message when logging exception - * Fixed WhatFailureGroupHandler skipping processors when using handleBatch - and implement it where possible - * Fixed display of anonymous class names - -### 1.23.0 (2017-06-19) - - * Improved SyslogUdpHandler's support for RFC5424 and added optional `$ident` argument - * Fixed GelfHandler truncation to be per field and not per message - * Fixed compatibility issue with PHP <5.3.6 - * Fixed support for headless Chrome in ChromePHPHandler - * Fixed support for latest Aws SDK in DynamoDbHandler - * Fixed support for SwiftMailer 6.0+ in SwiftMailerHandler - -### 1.22.1 (2017-03-13) - - * Fixed lots of minor issues in the new Slack integrations - * Fixed support for allowInlineLineBreaks in LineFormatter when formatting exception backtraces - -### 1.22.0 (2016-11-26) - - * Added SlackbotHandler and SlackWebhookHandler to set up Slack integration more easily - * Added MercurialProcessor to add mercurial revision and branch names to log records - * Added support for AWS SDK v3 in DynamoDbHandler - * Fixed fatal errors occuring when normalizing generators that have been fully consumed - * Fixed RollbarHandler to include a level (rollbar level), monolog_level (original name), channel and datetime (unix) - * Fixed RollbarHandler not flushing records automatically, calling close() explicitly is not necessary anymore - * Fixed SyslogUdpHandler to avoid sending empty frames - * Fixed a few PHP 7.0 and 7.1 compatibility issues - -### 1.21.0 (2016-07-29) - - * Break: Reverted the addition of $context when the ErrorHandler handles regular php errors from 1.20.0 as it was causing issues - * Added support for more formats in RotatingFileHandler::setFilenameFormat as long as they have Y, m and d in order - * Added ability to format the main line of text the SlackHandler sends by explictly setting a formatter on the handler - * Added information about SoapFault instances in NormalizerFormatter - * Added $handleOnlyReportedErrors option on ErrorHandler::registerErrorHandler (default true) to allow logging of all errors no matter the error_reporting level - -### 1.20.0 (2016-07-02) - - * Added FingersCrossedHandler::activate() to manually trigger the handler regardless of the activation policy - * Added StreamHandler::getUrl to retrieve the stream's URL - * Added ability to override addRow/addTitle in HtmlFormatter - * Added the $context to context information when the ErrorHandler handles a regular php error - * Deprecated RotatingFileHandler::setFilenameFormat to only support 3 formats: Y, Y-m and Y-m-d - * Fixed WhatFailureGroupHandler to work with PHP7 throwables - * Fixed a few minor bugs - -### 1.19.0 (2016-04-12) - - * Break: StreamHandler will not close streams automatically that it does not own. If you pass in a stream (not a path/url), then it will not close it for you. You can retrieve those using getStream() if needed - * Added DeduplicationHandler to remove duplicate records from notifications across multiple requests, useful for email or other notifications on errors - * Added ability to use `%message%` and other LineFormatter replacements in the subject line of emails sent with NativeMailHandler and SwiftMailerHandler - * Fixed HipChatHandler handling of long messages - -### 1.18.2 (2016-04-02) - - * Fixed ElasticaFormatter to use more precise dates - * Fixed GelfMessageFormatter sending too long messages - -### 1.18.1 (2016-03-13) - - * Fixed SlackHandler bug where slack dropped messages randomly - * Fixed RedisHandler issue when using with the PHPRedis extension - * Fixed AmqpHandler content-type being incorrectly set when using with the AMQP extension - * Fixed BrowserConsoleHandler regression - -### 1.18.0 (2016-03-01) - - * Added optional reduction of timestamp precision via `Logger->useMicrosecondTimestamps(false)`, disabling it gets you a bit of performance boost but reduces the precision to the second instead of microsecond - * Added possibility to skip some extra stack frames in IntrospectionProcessor if you have some library wrapping Monolog that is always adding frames - * Added `Logger->withName` to clone a logger (keeping all handlers) with a new name - * Added FluentdFormatter for the Fluentd unix socket protocol - * Added HandlerWrapper base class to ease the creation of handler wrappers, just extend it and override as needed - * Added support for replacing context sub-keys using `%context.*%` in LineFormatter - * Added support for `payload` context value in RollbarHandler - * Added setRelease to RavenHandler to describe the application version, sent with every log - * Added support for `fingerprint` context value in RavenHandler - * Fixed JSON encoding errors that would gobble up the whole log record, we now handle those more gracefully by dropping chars as needed - * Fixed write timeouts in SocketHandler and derivatives, set to 10sec by default, lower it with `setWritingTimeout()` - * Fixed PHP7 compatibility with regard to Exception/Throwable handling in a few places - -### 1.17.2 (2015-10-14) - - * Fixed ErrorHandler compatibility with non-Monolog PSR-3 loggers - * Fixed SlackHandler handling to use slack functionalities better - * Fixed SwiftMailerHandler bug when sending multiple emails they all had the same id - * Fixed 5.3 compatibility regression - -### 1.17.1 (2015-08-31) - - * Fixed RollbarHandler triggering PHP notices - -### 1.17.0 (2015-08-30) - - * Added support for `checksum` and `release` context/extra values in RavenHandler - * Added better support for exceptions in RollbarHandler - * Added UidProcessor::getUid - * Added support for showing the resource type in NormalizedFormatter - * Fixed IntrospectionProcessor triggering PHP notices - -### 1.16.0 (2015-08-09) - - * Added IFTTTHandler to notify ifttt.com triggers - * Added Logger::setHandlers() to allow setting/replacing all handlers - * Added $capSize in RedisHandler to cap the log size - * Fixed StreamHandler creation of directory to only trigger when the first log write happens - * Fixed bug in the handling of curl failures - * Fixed duplicate logging of fatal errors when both error and fatal error handlers are registered in monolog's ErrorHandler - * Fixed missing fatal errors records with handlers that need to be closed to flush log records - * Fixed TagProcessor::addTags support for associative arrays - -### 1.15.0 (2015-07-12) - - * Added addTags and setTags methods to change a TagProcessor - * Added automatic creation of directories if they are missing for a StreamHandler to open a log file - * Added retry functionality to Loggly, Cube and Mandrill handlers so they retry up to 5 times in case of network failure - * Fixed process exit code being incorrectly reset to 0 if ErrorHandler::registerExceptionHandler was used - * Fixed HTML/JS escaping in BrowserConsoleHandler - * Fixed JSON encoding errors being silently suppressed (PHP 5.5+ only) - -### 1.14.0 (2015-06-19) - - * Added PHPConsoleHandler to send record to Chrome's PHP Console extension and library - * Added support for objects implementing __toString in the NormalizerFormatter - * Added support for HipChat's v2 API in HipChatHandler - * Added Logger::setTimezone() to initialize the timezone monolog should use in case date.timezone isn't correct for your app - * Added an option to send formatted message instead of the raw record on PushoverHandler via ->useFormattedMessage(true) - * Fixed curl errors being silently suppressed - -### 1.13.1 (2015-03-09) - - * Fixed regression in HipChat requiring a new token to be created - -### 1.13.0 (2015-03-05) - - * Added Registry::hasLogger to check for the presence of a logger instance - * Added context.user support to RavenHandler - * Added HipChat API v2 support in the HipChatHandler - * Added NativeMailerHandler::addParameter to pass params to the mail() process - * Added context data to SlackHandler when $includeContextAndExtra is true - * Added ability to customize the Swift_Message per-email in SwiftMailerHandler - * Fixed SwiftMailerHandler to lazily create message instances if a callback is provided - * Fixed serialization of INF and NaN values in Normalizer and LineFormatter - -### 1.12.0 (2014-12-29) - - * Break: HandlerInterface::isHandling now receives a partial record containing only a level key. This was always the intent and does not break any Monolog handler but is strictly speaking a BC break and you should check if you relied on any other field in your own handlers. - * Added PsrHandler to forward records to another PSR-3 logger - * Added SamplingHandler to wrap around a handler and include only every Nth record - * Added MongoDBFormatter to support better storage with MongoDBHandler (it must be enabled manually for now) - * Added exception codes in the output of most formatters - * Added LineFormatter::includeStacktraces to enable exception stack traces in logs (uses more than one line) - * Added $useShortAttachment to SlackHandler to minify attachment size and $includeExtra to append extra data - * Added $host to HipChatHandler for users of private instances - * Added $transactionName to NewRelicHandler and support for a transaction_name context value - * Fixed MandrillHandler to avoid outputing API call responses - * Fixed some non-standard behaviors in SyslogUdpHandler - -### 1.11.0 (2014-09-30) - - * Break: The NewRelicHandler extra and context data are now prefixed with extra_ and context_ to avoid clashes. Watch out if you have scripts reading those from the API and rely on names - * Added WhatFailureGroupHandler to suppress any exception coming from the wrapped handlers and avoid chain failures if a logging service fails - * Added MandrillHandler to send emails via the Mandrillapp.com API - * Added SlackHandler to log records to a Slack.com account - * Added FleepHookHandler to log records to a Fleep.io account - * Added LogglyHandler::addTag to allow adding tags to an existing handler - * Added $ignoreEmptyContextAndExtra to LineFormatter to avoid empty [] at the end - * Added $useLocking to StreamHandler and RotatingFileHandler to enable flock() while writing - * Added support for PhpAmqpLib in the AmqpHandler - * Added FingersCrossedHandler::clear and BufferHandler::clear to reset them between batches in long running jobs - * Added support for adding extra fields from $_SERVER in the WebProcessor - * Fixed support for non-string values in PrsLogMessageProcessor - * Fixed SwiftMailer messages being sent with the wrong date in long running scripts - * Fixed minor PHP 5.6 compatibility issues - * Fixed BufferHandler::close being called twice - -### 1.10.0 (2014-06-04) - - * Added Logger::getHandlers() and Logger::getProcessors() methods - * Added $passthruLevel argument to FingersCrossedHandler to let it always pass some records through even if the trigger level is not reached - * Added support for extra data in NewRelicHandler - * Added $expandNewlines flag to the ErrorLogHandler to create multiple log entries when a message has multiple lines - -### 1.9.1 (2014-04-24) - - * Fixed regression in RotatingFileHandler file permissions - * Fixed initialization of the BufferHandler to make sure it gets flushed after receiving records - * Fixed ChromePHPHandler and FirePHPHandler's activation strategies to be more conservative - -### 1.9.0 (2014-04-20) - - * Added LogEntriesHandler to send logs to a LogEntries account - * Added $filePermissions to tweak file mode on StreamHandler and RotatingFileHandler - * Added $useFormatting flag to MemoryProcessor to make it send raw data in bytes - * Added support for table formatting in FirePHPHandler via the table context key - * Added a TagProcessor to add tags to records, and support for tags in RavenHandler - * Added $appendNewline flag to the JsonFormatter to enable using it when logging to files - * Added sound support to the PushoverHandler - * Fixed multi-threading support in StreamHandler - * Fixed empty headers issue when ChromePHPHandler received no records - * Fixed default format of the ErrorLogHandler - -### 1.8.0 (2014-03-23) - - * Break: the LineFormatter now strips newlines by default because this was a bug, set $allowInlineLineBreaks to true if you need them - * Added BrowserConsoleHandler to send logs to any browser's console via console.log() injection in the output - * Added FilterHandler to filter records and only allow those of a given list of levels through to the wrapped handler - * Added FlowdockHandler to send logs to a Flowdock account - * Added RollbarHandler to send logs to a Rollbar account - * Added HtmlFormatter to send prettier log emails with colors for each log level - * Added GitProcessor to add the current branch/commit to extra record data - * Added a Monolog\Registry class to allow easier global access to pre-configured loggers - * Added support for the new official graylog2/gelf-php lib for GelfHandler, upgrade if you can by replacing the mlehner/gelf-php requirement - * Added support for HHVM - * Added support for Loggly batch uploads - * Added support for tweaking the content type and encoding in NativeMailerHandler - * Added $skipClassesPartials to tweak the ignored classes in the IntrospectionProcessor - * Fixed batch request support in GelfHandler - -### 1.7.0 (2013-11-14) - - * Added ElasticSearchHandler to send logs to an Elastic Search server - * Added DynamoDbHandler and ScalarFormatter to send logs to Amazon's Dynamo DB - * Added SyslogUdpHandler to send logs to a remote syslogd server - * Added LogglyHandler to send logs to a Loggly account - * Added $level to IntrospectionProcessor so it only adds backtraces when needed - * Added $version to LogstashFormatter to allow using the new v1 Logstash format - * Added $appName to NewRelicHandler - * Added configuration of Pushover notification retries/expiry - * Added $maxColumnWidth to NativeMailerHandler to change the 70 chars default - * Added chainability to most setters for all handlers - * Fixed RavenHandler batch processing so it takes the message from the record with highest priority - * Fixed HipChatHandler batch processing so it sends all messages at once - * Fixed issues with eAccelerator - * Fixed and improved many small things - -### 1.6.0 (2013-07-29) - - * Added HipChatHandler to send logs to a HipChat chat room - * Added ErrorLogHandler to send logs to PHP's error_log function - * Added NewRelicHandler to send logs to NewRelic's service - * Added Monolog\ErrorHandler helper class to register a Logger as exception/error/fatal handler - * Added ChannelLevelActivationStrategy for the FingersCrossedHandler to customize levels by channel - * Added stack traces output when normalizing exceptions (json output & co) - * Added Monolog\Logger::API constant (currently 1) - * Added support for ChromePHP's v4.0 extension - * Added support for message priorities in PushoverHandler, see $highPriorityLevel and $emergencyLevel - * Added support for sending messages to multiple users at once with the PushoverHandler - * Fixed RavenHandler's support for batch sending of messages (when behind a Buffer or FingersCrossedHandler) - * Fixed normalization of Traversables with very large data sets, only the first 1000 items are shown now - * Fixed issue in RotatingFileHandler when an open_basedir restriction is active - * Fixed minor issues in RavenHandler and bumped the API to Raven 0.5.0 - * Fixed SyslogHandler issue when many were used concurrently with different facilities - -### 1.5.0 (2013-04-23) - - * Added ProcessIdProcessor to inject the PID in log records - * Added UidProcessor to inject a unique identifier to all log records of one request/run - * Added support for previous exceptions in the LineFormatter exception serialization - * Added Monolog\Logger::getLevels() to get all available levels - * Fixed ChromePHPHandler so it avoids sending headers larger than Chrome can handle - -### 1.4.1 (2013-04-01) - - * Fixed exception formatting in the LineFormatter to be more minimalistic - * Fixed RavenHandler's handling of context/extra data, requires Raven client >0.1.0 - * Fixed log rotation in RotatingFileHandler to work with long running scripts spanning multiple days - * Fixed WebProcessor array access so it checks for data presence - * Fixed Buffer, Group and FingersCrossed handlers to make use of their processors - -### 1.4.0 (2013-02-13) - - * Added RedisHandler to log to Redis via the Predis library or the phpredis extension - * Added ZendMonitorHandler to log to the Zend Server monitor - * Added the possibility to pass arrays of handlers and processors directly in the Logger constructor - * Added `$useSSL` option to the PushoverHandler which is enabled by default - * Fixed ChromePHPHandler and FirePHPHandler issue when multiple instances are used simultaneously - * Fixed header injection capability in the NativeMailHandler - -### 1.3.1 (2013-01-11) - - * Fixed LogstashFormatter to be usable with stream handlers - * Fixed GelfMessageFormatter levels on Windows - -### 1.3.0 (2013-01-08) - - * Added PSR-3 compliance, the `Monolog\Logger` class is now an instance of `Psr\Log\LoggerInterface` - * Added PsrLogMessageProcessor that you can selectively enable for full PSR-3 compliance - * Added LogstashFormatter (combine with SocketHandler or StreamHandler to send logs to Logstash) - * Added PushoverHandler to send mobile notifications - * Added CouchDBHandler and DoctrineCouchDBHandler - * Added RavenHandler to send data to Sentry servers - * Added support for the new MongoClient class in MongoDBHandler - * Added microsecond precision to log records' timestamps - * Added `$flushOnOverflow` param to BufferHandler to flush by batches instead of losing - the oldest entries - * Fixed normalization of objects with cyclic references - -### 1.2.1 (2012-08-29) - - * Added new $logopts arg to SyslogHandler to provide custom openlog options - * Fixed fatal error in SyslogHandler - -### 1.2.0 (2012-08-18) - - * Added AmqpHandler (for use with AMQP servers) - * Added CubeHandler - * Added NativeMailerHandler::addHeader() to send custom headers in mails - * Added the possibility to specify more than one recipient in NativeMailerHandler - * Added the possibility to specify float timeouts in SocketHandler - * Added NOTICE and EMERGENCY levels to conform with RFC 5424 - * Fixed the log records to use the php default timezone instead of UTC - * Fixed BufferHandler not being flushed properly on PHP fatal errors - * Fixed normalization of exotic resource types - * Fixed the default format of the SyslogHandler to avoid duplicating datetimes in syslog - -### 1.1.0 (2012-04-23) - - * Added Monolog\Logger::isHandling() to check if a handler will - handle the given log level - * Added ChromePHPHandler - * Added MongoDBHandler - * Added GelfHandler (for use with Graylog2 servers) - * Added SocketHandler (for use with syslog-ng for example) - * Added NormalizerFormatter - * Added the possibility to change the activation strategy of the FingersCrossedHandler - * Added possibility to show microseconds in logs - * Added `server` and `referer` to WebProcessor output - -### 1.0.2 (2011-10-24) - - * Fixed bug in IE with large response headers and FirePHPHandler - -### 1.0.1 (2011-08-25) - - * Added MemoryPeakUsageProcessor and MemoryUsageProcessor - * Added Monolog\Logger::getName() to get a logger's channel name - -### 1.0.0 (2011-07-06) - - * Added IntrospectionProcessor to get info from where the logger was called - * Fixed WebProcessor in CLI - -### 1.0.0-RC1 (2011-07-01) - - * Initial release diff --git a/paragonik-backend/vendor/monolog/monolog/LICENSE b/paragonik-backend/vendor/monolog/monolog/LICENSE deleted file mode 100644 index 1647321..0000000 --- a/paragonik-backend/vendor/monolog/monolog/LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 2011-2016 Jordi Boggiano - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is furnished -to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/paragonik-backend/vendor/monolog/monolog/README.md b/paragonik-backend/vendor/monolog/monolog/README.md deleted file mode 100644 index a578eb2..0000000 --- a/paragonik-backend/vendor/monolog/monolog/README.md +++ /dev/null @@ -1,94 +0,0 @@ -# Monolog - Logging for PHP [![Build Status](https://img.shields.io/travis/Seldaek/monolog.svg)](https://travis-ci.org/Seldaek/monolog) - -[![Total Downloads](https://img.shields.io/packagist/dt/monolog/monolog.svg)](https://packagist.org/packages/monolog/monolog) -[![Latest Stable Version](https://img.shields.io/packagist/v/monolog/monolog.svg)](https://packagist.org/packages/monolog/monolog) - - -Monolog sends your logs to files, sockets, inboxes, databases and various -web services. See the complete list of handlers below. Special handlers -allow you to build advanced logging strategies. - -This library implements the [PSR-3](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-3-logger-interface.md) -interface that you can type-hint against in your own libraries to keep -a maximum of interoperability. You can also use it in your applications to -make sure you can always use another compatible logger at a later time. -As of 1.11.0 Monolog public APIs will also accept PSR-3 log levels. -Internally Monolog still uses its own level scheme since it predates PSR-3. - -## Installation - -Install the latest version with - -```bash -$ composer require monolog/monolog -``` - -## Basic Usage - -```php -pushHandler(new StreamHandler('path/to/your.log', Logger::WARNING)); - -// add records to the log -$log->addWarning('Foo'); -$log->addError('Bar'); -``` - -## Documentation - -- [Usage Instructions](doc/01-usage.md) -- [Handlers, Formatters and Processors](doc/02-handlers-formatters-processors.md) -- [Utility classes](doc/03-utilities.md) -- [Extending Monolog](doc/04-extending.md) - -## Third Party Packages - -Third party handlers, formatters and processors are -[listed in the wiki](https://github.com/Seldaek/monolog/wiki/Third-Party-Packages). You -can also add your own there if you publish one. - -## About - -### Requirements - -- Monolog works with PHP 5.3 or above, and is also tested to work with HHVM. - -### Submitting bugs and feature requests - -Bugs and feature request are tracked on [GitHub](https://github.com/Seldaek/monolog/issues) - -### Framework Integrations - -- Frameworks and libraries using [PSR-3](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-3-logger-interface.md) - can be used very easily with Monolog since it implements the interface. -- [Symfony2](http://symfony.com) comes out of the box with Monolog. -- [Silex](http://silex.sensiolabs.org/) comes out of the box with Monolog. -- [Laravel 4 & 5](http://laravel.com/) come out of the box with Monolog. -- [Lumen](http://lumen.laravel.com/) comes out of the box with Monolog. -- [PPI](http://www.ppi.io/) comes out of the box with Monolog. -- [CakePHP](http://cakephp.org/) is usable with Monolog via the [cakephp-monolog](https://github.com/jadb/cakephp-monolog) plugin. -- [Slim](http://www.slimframework.com/) is usable with Monolog via the [Slim-Monolog](https://github.com/Flynsarmy/Slim-Monolog) log writer. -- [XOOPS 2.6](http://xoops.org/) comes out of the box with Monolog. -- [Aura.Web_Project](https://github.com/auraphp/Aura.Web_Project) comes out of the box with Monolog. -- [Nette Framework](http://nette.org/en/) can be used with Monolog via [Kdyby/Monolog](https://github.com/Kdyby/Monolog) extension. -- [Proton Micro Framework](https://github.com/alexbilbie/Proton) comes out of the box with Monolog. - -### Author - -Jordi Boggiano - -
-See also the list of [contributors](https://github.com/Seldaek/monolog/contributors) which participated in this project. - -### License - -Monolog is licensed under the MIT License - see the `LICENSE` file for details - -### Acknowledgements - -This library is heavily inspired by Python's [Logbook](https://logbook.readthedocs.io/en/stable/) -library, although most concepts have been adjusted to fit to the PHP world. diff --git a/paragonik-backend/vendor/monolog/monolog/composer.json b/paragonik-backend/vendor/monolog/monolog/composer.json deleted file mode 100644 index 097df87..0000000 --- a/paragonik-backend/vendor/monolog/monolog/composer.json +++ /dev/null @@ -1,66 +0,0 @@ -{ - "name": "monolog/monolog", - "description": "Sends your logs to files, sockets, inboxes, databases and various web services", - "keywords": ["log", "logging", "psr-3"], - "homepage": "http://github.com/Seldaek/monolog", - "type": "library", - "license": "MIT", - "authors": [ - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" - } - ], - "require": { - "php": ">=5.3.0", - "psr/log": "~1.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.5", - "graylog2/gelf-php": "~1.0", - "sentry/sentry": "^0.13", - "ruflin/elastica": ">=0.90 <3.0", - "doctrine/couchdb": "~1.0@dev", - "aws/aws-sdk-php": "^2.4.9 || ^3.0", - "php-amqplib/php-amqplib": "~2.4", - "swiftmailer/swiftmailer": "^5.3|^6.0", - "php-console/php-console": "^3.1.3", - "phpunit/phpunit-mock-objects": "2.3.0", - "jakub-onderka/php-parallel-lint": "0.9" - }, - "_": "phpunit/phpunit-mock-objects required in 2.3.0 due to https://github.com/sebastianbergmann/phpunit-mock-objects/issues/223 - needs hhvm 3.8+ on travis", - "suggest": { - "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server", - "sentry/sentry": "Allow sending log messages to a Sentry server", - "doctrine/couchdb": "Allow sending log messages to a CouchDB server", - "ruflin/elastica": "Allow sending log messages to an Elastic Search server", - "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib", - "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)", - "ext-mongo": "Allow sending log messages to a MongoDB server", - "mongodb/mongodb": "Allow sending log messages to a MongoDB server via PHP Driver", - "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB", - "rollbar/rollbar": "Allow sending log messages to Rollbar", - "php-console/php-console": "Allow sending log messages to Google Chrome" - }, - "autoload": { - "psr-4": {"Monolog\\": "src/Monolog"} - }, - "autoload-dev": { - "psr-4": {"Monolog\\": "tests/Monolog"} - }, - "provide": { - "psr/log-implementation": "1.0.0" - }, - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "scripts": { - "test": [ - "parallel-lint . --exclude vendor --exclude src/Monolog/Handler/FormattableHandlerInterface.php --exclude src/Monolog/Handler/FormattableHandlerTrait.php --exclude src/Monolog/Handler/ProcessableHandlerInterface.php --exclude src/Monolog/Handler/ProcessableHandlerTrait.php", - "phpunit" - ] - } -} diff --git a/paragonik-backend/vendor/monolog/monolog/src/Monolog/ErrorHandler.php b/paragonik-backend/vendor/monolog/monolog/src/Monolog/ErrorHandler.php deleted file mode 100644 index adc55bd..0000000 --- a/paragonik-backend/vendor/monolog/monolog/src/Monolog/ErrorHandler.php +++ /dev/null @@ -1,239 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Monolog; - -use Psr\Log\LoggerInterface; -use Psr\Log\LogLevel; -use Monolog\Handler\AbstractHandler; -use Monolog\Registry; - -/** - * Monolog error handler - * - * A facility to enable logging of runtime errors, exceptions and fatal errors. - * - * Quick setup: ErrorHandler::register($logger); - * - * @author Jordi Boggiano - */ -class ErrorHandler -{ - private $logger; - - private $previousExceptionHandler; - private $uncaughtExceptionLevel; - - private $previousErrorHandler; - private $errorLevelMap; - private $handleOnlyReportedErrors; - - private $hasFatalErrorHandler; - private $fatalLevel; - private $reservedMemory; - private $lastFatalTrace; - private static $fatalErrors = array(E_ERROR, E_PARSE, E_CORE_ERROR, E_COMPILE_ERROR, E_USER_ERROR); - - public function __construct(LoggerInterface $logger) - { - $this->logger = $logger; - } - - /** - * Registers a new ErrorHandler for a given Logger - * - * By default it will handle errors, exceptions and fatal errors - * - * @param LoggerInterface $logger - * @param array|false $errorLevelMap an array of E_* constant to LogLevel::* constant mapping, or false to disable error handling - * @param int|false $exceptionLevel a LogLevel::* constant, or false to disable exception handling - * @param int|false $fatalLevel a LogLevel::* constant, or false to disable fatal error handling - * @return ErrorHandler - */ - public static function register(LoggerInterface $logger, $errorLevelMap = array(), $exceptionLevel = null, $fatalLevel = null) - { - //Forces the autoloader to run for LogLevel. Fixes an autoload issue at compile-time on PHP5.3. See https://github.com/Seldaek/monolog/pull/929 - class_exists('\\Psr\\Log\\LogLevel', true); - - $handler = new static($logger); - if ($errorLevelMap !== false) { - $handler->registerErrorHandler($errorLevelMap); - } - if ($exceptionLevel !== false) { - $handler->registerExceptionHandler($exceptionLevel); - } - if ($fatalLevel !== false) { - $handler->registerFatalHandler($fatalLevel); - } - - return $handler; - } - - public function registerExceptionHandler($level = null, $callPrevious = true) - { - $prev = set_exception_handler(array($this, 'handleException')); - $this->uncaughtExceptionLevel = $level; - if ($callPrevious && $prev) { - $this->previousExceptionHandler = $prev; - } - } - - public function registerErrorHandler(array $levelMap = array(), $callPrevious = true, $errorTypes = -1, $handleOnlyReportedErrors = true) - { - $prev = set_error_handler(array($this, 'handleError'), $errorTypes); - $this->errorLevelMap = array_replace($this->defaultErrorLevelMap(), $levelMap); - if ($callPrevious) { - $this->previousErrorHandler = $prev ?: true; - } - - $this->handleOnlyReportedErrors = $handleOnlyReportedErrors; - } - - public function registerFatalHandler($level = null, $reservedMemorySize = 20) - { - register_shutdown_function(array($this, 'handleFatalError')); - - $this->reservedMemory = str_repeat(' ', 1024 * $reservedMemorySize); - $this->fatalLevel = $level; - $this->hasFatalErrorHandler = true; - } - - protected function defaultErrorLevelMap() - { - return array( - E_ERROR => LogLevel::CRITICAL, - E_WARNING => LogLevel::WARNING, - E_PARSE => LogLevel::ALERT, - E_NOTICE => LogLevel::NOTICE, - E_CORE_ERROR => LogLevel::CRITICAL, - E_CORE_WARNING => LogLevel::WARNING, - E_COMPILE_ERROR => LogLevel::ALERT, - E_COMPILE_WARNING => LogLevel::WARNING, - E_USER_ERROR => LogLevel::ERROR, - E_USER_WARNING => LogLevel::WARNING, - E_USER_NOTICE => LogLevel::NOTICE, - E_STRICT => LogLevel::NOTICE, - E_RECOVERABLE_ERROR => LogLevel::ERROR, - E_DEPRECATED => LogLevel::NOTICE, - E_USER_DEPRECATED => LogLevel::NOTICE, - ); - } - - /** - * @private - */ - public function handleException($e) - { - $this->logger->log( - $this->uncaughtExceptionLevel === null ? LogLevel::ERROR : $this->uncaughtExceptionLevel, - sprintf('Uncaught Exception %s: "%s" at %s line %s', Utils::getClass($e), $e->getMessage(), $e->getFile(), $e->getLine()), - array('exception' => $e) - ); - - if ($this->previousExceptionHandler) { - call_user_func($this->previousExceptionHandler, $e); - } - - exit(255); - } - - /** - * @private - */ - public function handleError($code, $message, $file = '', $line = 0, $context = array()) - { - if ($this->handleOnlyReportedErrors && !(error_reporting() & $code)) { - return; - } - - // fatal error codes are ignored if a fatal error handler is present as well to avoid duplicate log entries - if (!$this->hasFatalErrorHandler || !in_array($code, self::$fatalErrors, true)) { - $level = isset($this->errorLevelMap[$code]) ? $this->errorLevelMap[$code] : LogLevel::CRITICAL; - $this->logger->log($level, self::codeToString($code).': '.$message, array('code' => $code, 'message' => $message, 'file' => $file, 'line' => $line)); - } else { - // http://php.net/manual/en/function.debug-backtrace.php - // As of 5.3.6, DEBUG_BACKTRACE_IGNORE_ARGS option was added. - // Any version less than 5.3.6 must use the DEBUG_BACKTRACE_IGNORE_ARGS constant value '2'. - $trace = debug_backtrace((PHP_VERSION_ID < 50306) ? 2 : DEBUG_BACKTRACE_IGNORE_ARGS); - array_shift($trace); // Exclude handleError from trace - $this->lastFatalTrace = $trace; - } - - if ($this->previousErrorHandler === true) { - return false; - } elseif ($this->previousErrorHandler) { - return call_user_func($this->previousErrorHandler, $code, $message, $file, $line, $context); - } - } - - /** - * @private - */ - public function handleFatalError() - { - $this->reservedMemory = null; - - $lastError = error_get_last(); - if ($lastError && in_array($lastError['type'], self::$fatalErrors, true)) { - $this->logger->log( - $this->fatalLevel === null ? LogLevel::ALERT : $this->fatalLevel, - 'Fatal Error ('.self::codeToString($lastError['type']).'): '.$lastError['message'], - array('code' => $lastError['type'], 'message' => $lastError['message'], 'file' => $lastError['file'], 'line' => $lastError['line'], 'trace' => $this->lastFatalTrace) - ); - - if ($this->logger instanceof Logger) { - foreach ($this->logger->getHandlers() as $handler) { - if ($handler instanceof AbstractHandler) { - $handler->close(); - } - } - } - } - } - - private static function codeToString($code) - { - switch ($code) { - case E_ERROR: - return 'E_ERROR'; - case E_WARNING: - return 'E_WARNING'; - case E_PARSE: - return 'E_PARSE'; - case E_NOTICE: - return 'E_NOTICE'; - case E_CORE_ERROR: - return 'E_CORE_ERROR'; - case E_CORE_WARNING: - return 'E_CORE_WARNING'; - case E_COMPILE_ERROR: - return 'E_COMPILE_ERROR'; - case E_COMPILE_WARNING: - return 'E_COMPILE_WARNING'; - case E_USER_ERROR: - return 'E_USER_ERROR'; - case E_USER_WARNING: - return 'E_USER_WARNING'; - case E_USER_NOTICE: - return 'E_USER_NOTICE'; - case E_STRICT: - return 'E_STRICT'; - case E_RECOVERABLE_ERROR: - return 'E_RECOVERABLE_ERROR'; - case E_DEPRECATED: - return 'E_DEPRECATED'; - case E_USER_DEPRECATED: - return 'E_USER_DEPRECATED'; - } - - return 'Unknown PHP error'; - } -} diff --git a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Formatter/ChromePHPFormatter.php b/paragonik-backend/vendor/monolog/monolog/src/Monolog/Formatter/ChromePHPFormatter.php deleted file mode 100644 index 9beda1e..0000000 --- a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Formatter/ChromePHPFormatter.php +++ /dev/null @@ -1,78 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Monolog\Formatter; - -use Monolog\Logger; - -/** - * Formats a log message according to the ChromePHP array format - * - * @author Christophe Coevoet - */ -class ChromePHPFormatter implements FormatterInterface -{ - /** - * Translates Monolog log levels to Wildfire levels. - */ - private $logLevels = array( - Logger::DEBUG => 'log', - Logger::INFO => 'info', - Logger::NOTICE => 'info', - Logger::WARNING => 'warn', - Logger::ERROR => 'error', - Logger::CRITICAL => 'error', - Logger::ALERT => 'error', - Logger::EMERGENCY => 'error', - ); - - /** - * {@inheritdoc} - */ - public function format(array $record) - { - // Retrieve the line and file if set and remove them from the formatted extra - $backtrace = 'unknown'; - if (isset($record['extra']['file'], $record['extra']['line'])) { - $backtrace = $record['extra']['file'].' : '.$record['extra']['line']; - unset($record['extra']['file'], $record['extra']['line']); - } - - $message = array('message' => $record['message']); - if ($record['context']) { - $message['context'] = $record['context']; - } - if ($record['extra']) { - $message['extra'] = $record['extra']; - } - if (count($message) === 1) { - $message = reset($message); - } - - return array( - $record['channel'], - $message, - $backtrace, - $this->logLevels[$record['level']], - ); - } - - public function formatBatch(array $records) - { - $formatted = array(); - - foreach ($records as $record) { - $formatted[] = $this->format($record); - } - - return $formatted; - } -} diff --git a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Formatter/ElasticaFormatter.php b/paragonik-backend/vendor/monolog/monolog/src/Monolog/Formatter/ElasticaFormatter.php deleted file mode 100644 index 4c556cf..0000000 --- a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Formatter/ElasticaFormatter.php +++ /dev/null @@ -1,89 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Monolog\Formatter; - -use Elastica\Document; - -/** - * Format a log message into an Elastica Document - * - * @author Jelle Vink - */ -class ElasticaFormatter extends NormalizerFormatter -{ - /** - * @var string Elastic search index name - */ - protected $index; - - /** - * @var string Elastic search document type - */ - protected $type; - - /** - * @param string $index Elastic Search index name - * @param string $type Elastic Search document type - */ - public function __construct($index, $type) - { - // elasticsearch requires a ISO 8601 format date with optional millisecond precision. - parent::__construct('Y-m-d\TH:i:s.uP'); - - $this->index = $index; - $this->type = $type; - } - - /** - * {@inheritdoc} - */ - public function format(array $record) - { - $record = parent::format($record); - - return $this->getDocument($record); - } - - /** - * Getter index - * @return string - */ - public function getIndex() - { - return $this->index; - } - - /** - * Getter type - * @return string - */ - public function getType() - { - return $this->type; - } - - /** - * Convert a log message into an Elastica Document - * - * @param array $record Log message - * @return Document - */ - protected function getDocument($record) - { - $document = new Document(); - $document->setData($record); - $document->setType($this->type); - $document->setIndex($this->index); - - return $document; - } -} diff --git a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Formatter/FlowdockFormatter.php b/paragonik-backend/vendor/monolog/monolog/src/Monolog/Formatter/FlowdockFormatter.php deleted file mode 100644 index 5094af3..0000000 --- a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Formatter/FlowdockFormatter.php +++ /dev/null @@ -1,116 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Monolog\Formatter; - -/** - * formats the record to be used in the FlowdockHandler - * - * @author Dominik Liebler - */ -class FlowdockFormatter implements FormatterInterface -{ - /** - * @var string - */ - private $source; - - /** - * @var string - */ - private $sourceEmail; - - /** - * @param string $source - * @param string $sourceEmail - */ - public function __construct($source, $sourceEmail) - { - $this->source = $source; - $this->sourceEmail = $sourceEmail; - } - - /** - * {@inheritdoc} - */ - public function format(array $record) - { - $tags = array( - '#logs', - '#' . strtolower($record['level_name']), - '#' . $record['channel'], - ); - - foreach ($record['extra'] as $value) { - $tags[] = '#' . $value; - } - - $subject = sprintf( - 'in %s: %s - %s', - $this->source, - $record['level_name'], - $this->getShortMessage($record['message']) - ); - - $record['flowdock'] = array( - 'source' => $this->source, - 'from_address' => $this->sourceEmail, - 'subject' => $subject, - 'content' => $record['message'], - 'tags' => $tags, - 'project' => $this->source, - ); - - return $record; - } - - /** - * {@inheritdoc} - */ - public function formatBatch(array $records) - { - $formatted = array(); - - foreach ($records as $record) { - $formatted[] = $this->format($record); - } - - return $formatted; - } - - /** - * @param string $message - * - * @return string - */ - public function getShortMessage($message) - { - static $hasMbString; - - if (null === $hasMbString) { - $hasMbString = function_exists('mb_strlen'); - } - - $maxLength = 45; - - if ($hasMbString) { - if (mb_strlen($message, 'UTF-8') > $maxLength) { - $message = mb_substr($message, 0, $maxLength - 4, 'UTF-8') . ' ...'; - } - } else { - if (strlen($message) > $maxLength) { - $message = substr($message, 0, $maxLength - 4) . ' ...'; - } - } - - return $message; - } -} diff --git a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Formatter/FluentdFormatter.php b/paragonik-backend/vendor/monolog/monolog/src/Monolog/Formatter/FluentdFormatter.php deleted file mode 100644 index f8ead47..0000000 --- a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Formatter/FluentdFormatter.php +++ /dev/null @@ -1,88 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Monolog\Formatter; - -use Monolog\Utils; - -/** - * Class FluentdFormatter - * - * Serializes a log message to Fluentd unix socket protocol - * - * Fluentd config: - * - * - * type unix - * path /var/run/td-agent/td-agent.sock - * - * - * Monolog setup: - * - * $logger = new Monolog\Logger('fluent.tag'); - * $fluentHandler = new Monolog\Handler\SocketHandler('unix:///var/run/td-agent/td-agent.sock'); - * $fluentHandler->setFormatter(new Monolog\Formatter\FluentdFormatter()); - * $logger->pushHandler($fluentHandler); - * - * @author Andrius Putna - */ -class FluentdFormatter implements FormatterInterface -{ - /** - * @var bool $levelTag should message level be a part of the fluentd tag - */ - protected $levelTag = false; - - public function __construct($levelTag = false) - { - if (!function_exists('json_encode')) { - throw new \RuntimeException('PHP\'s json extension is required to use Monolog\'s FluentdUnixFormatter'); - } - - $this->levelTag = (bool) $levelTag; - } - - public function isUsingLevelsInTag() - { - return $this->levelTag; - } - - public function format(array $record) - { - $tag = $record['channel']; - if ($this->levelTag) { - $tag .= '.' . strtolower($record['level_name']); - } - - $message = array( - 'message' => $record['message'], - 'context' => $record['context'], - 'extra' => $record['extra'], - ); - - if (!$this->levelTag) { - $message['level'] = $record['level']; - $message['level_name'] = $record['level_name']; - } - - return Utils::jsonEncode(array($tag, $record['datetime']->getTimestamp(), $message)); - } - - public function formatBatch(array $records) - { - $message = ''; - foreach ($records as $record) { - $message .= $this->format($record); - } - - return $message; - } -} diff --git a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Formatter/FormatterInterface.php b/paragonik-backend/vendor/monolog/monolog/src/Monolog/Formatter/FormatterInterface.php deleted file mode 100644 index b5de751..0000000 --- a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Formatter/FormatterInterface.php +++ /dev/null @@ -1,36 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Monolog\Formatter; - -/** - * Interface for formatters - * - * @author Jordi Boggiano - */ -interface FormatterInterface -{ - /** - * Formats a log record. - * - * @param array $record A record to format - * @return mixed The formatted record - */ - public function format(array $record); - - /** - * Formats a set of log records. - * - * @param array $records A set of records to format - * @return mixed The formatted set of records - */ - public function formatBatch(array $records); -} diff --git a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Formatter/GelfMessageFormatter.php b/paragonik-backend/vendor/monolog/monolog/src/Monolog/Formatter/GelfMessageFormatter.php deleted file mode 100644 index 2c1b0e8..0000000 --- a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Formatter/GelfMessageFormatter.php +++ /dev/null @@ -1,138 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Monolog\Formatter; - -use Monolog\Logger; -use Gelf\Message; - -/** - * Serializes a log message to GELF - * @see http://www.graylog2.org/about/gelf - * - * @author Matt Lehner - */ -class GelfMessageFormatter extends NormalizerFormatter -{ - const DEFAULT_MAX_LENGTH = 32766; - - /** - * @var string the name of the system for the Gelf log message - */ - protected $systemName; - - /** - * @var string a prefix for 'extra' fields from the Monolog record (optional) - */ - protected $extraPrefix; - - /** - * @var string a prefix for 'context' fields from the Monolog record (optional) - */ - protected $contextPrefix; - - /** - * @var int max length per field - */ - protected $maxLength; - - /** - * Translates Monolog log levels to Graylog2 log priorities. - */ - private $logLevels = array( - Logger::DEBUG => 7, - Logger::INFO => 6, - Logger::NOTICE => 5, - Logger::WARNING => 4, - Logger::ERROR => 3, - Logger::CRITICAL => 2, - Logger::ALERT => 1, - Logger::EMERGENCY => 0, - ); - - public function __construct($systemName = null, $extraPrefix = null, $contextPrefix = 'ctxt_', $maxLength = null) - { - parent::__construct('U.u'); - - $this->systemName = $systemName ?: gethostname(); - - $this->extraPrefix = $extraPrefix; - $this->contextPrefix = $contextPrefix; - $this->maxLength = is_null($maxLength) ? self::DEFAULT_MAX_LENGTH : $maxLength; - } - - /** - * {@inheritdoc} - */ - public function format(array $record) - { - $record = parent::format($record); - - if (!isset($record['datetime'], $record['message'], $record['level'])) { - throw new \InvalidArgumentException('The record should at least contain datetime, message and level keys, '.var_export($record, true).' given'); - } - - $message = new Message(); - $message - ->setTimestamp($record['datetime']) - ->setShortMessage((string) $record['message']) - ->setHost($this->systemName) - ->setLevel($this->logLevels[$record['level']]); - - // message length + system name length + 200 for padding / metadata - $len = 200 + strlen((string) $record['message']) + strlen($this->systemName); - - if ($len > $this->maxLength) { - $message->setShortMessage(substr($record['message'], 0, $this->maxLength)); - } - - if (isset($record['channel'])) { - $message->setFacility($record['channel']); - } - if (isset($record['extra']['line'])) { - $message->setLine($record['extra']['line']); - unset($record['extra']['line']); - } - if (isset($record['extra']['file'])) { - $message->setFile($record['extra']['file']); - unset($record['extra']['file']); - } - - foreach ($record['extra'] as $key => $val) { - $val = is_scalar($val) || null === $val ? $val : $this->toJson($val); - $len = strlen($this->extraPrefix . $key . $val); - if ($len > $this->maxLength) { - $message->setAdditional($this->extraPrefix . $key, substr($val, 0, $this->maxLength)); - break; - } - $message->setAdditional($this->extraPrefix . $key, $val); - } - - foreach ($record['context'] as $key => $val) { - $val = is_scalar($val) || null === $val ? $val : $this->toJson($val); - $len = strlen($this->contextPrefix . $key . $val); - if ($len > $this->maxLength) { - $message->setAdditional($this->contextPrefix . $key, substr($val, 0, $this->maxLength)); - break; - } - $message->setAdditional($this->contextPrefix . $key, $val); - } - - if (null === $message->getFile() && isset($record['context']['exception']['file'])) { - if (preg_match("/^(.+):([0-9]+)$/", $record['context']['exception']['file'], $matches)) { - $message->setFile($matches[1]); - $message->setLine($matches[2]); - } - } - - return $message; - } -} diff --git a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Formatter/HtmlFormatter.php b/paragonik-backend/vendor/monolog/monolog/src/Monolog/Formatter/HtmlFormatter.php deleted file mode 100644 index 9e8d2d0..0000000 --- a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Formatter/HtmlFormatter.php +++ /dev/null @@ -1,142 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Monolog\Formatter; - -use Monolog\Logger; -use Monolog\Utils; - -/** - * Formats incoming records into an HTML table - * - * This is especially useful for html email logging - * - * @author Tiago Brito - */ -class HtmlFormatter extends NormalizerFormatter -{ - /** - * Translates Monolog log levels to html color priorities. - */ - protected $logLevels = array( - Logger::DEBUG => '#cccccc', - Logger::INFO => '#468847', - Logger::NOTICE => '#3a87ad', - Logger::WARNING => '#c09853', - Logger::ERROR => '#f0ad4e', - Logger::CRITICAL => '#FF7708', - Logger::ALERT => '#C12A19', - Logger::EMERGENCY => '#000000', - ); - - /** - * @param string $dateFormat The format of the timestamp: one supported by DateTime::format - */ - public function __construct($dateFormat = null) - { - parent::__construct($dateFormat); - } - - /** - * Creates an HTML table row - * - * @param string $th Row header content - * @param string $td Row standard cell content - * @param bool $escapeTd false if td content must not be html escaped - * @return string - */ - protected function addRow($th, $td = ' ', $escapeTd = true) - { - $th = htmlspecialchars($th, ENT_NOQUOTES, 'UTF-8'); - if ($escapeTd) { - $td = '
'.htmlspecialchars($td, ENT_NOQUOTES, 'UTF-8').'
'; - } - - return "\n$th:\n".$td."\n"; - } - - /** - * Create a HTML h1 tag - * - * @param string $title Text to be in the h1 - * @param int $level Error level - * @return string - */ - protected function addTitle($title, $level) - { - $title = htmlspecialchars($title, ENT_NOQUOTES, 'UTF-8'); - - return '

'.$title.'

'; - } - - /** - * Formats a log record. - * - * @param array $record A record to format - * @return mixed The formatted record - */ - public function format(array $record) - { - $output = $this->addTitle($record['level_name'], $record['level']); - $output .= ''; - - $output .= $this->addRow('Message', (string) $record['message']); - $output .= $this->addRow('Time', $record['datetime']->format($this->dateFormat)); - $output .= $this->addRow('Channel', $record['channel']); - if ($record['context']) { - $embeddedTable = '
'; - foreach ($record['context'] as $key => $value) { - $embeddedTable .= $this->addRow($key, $this->convertToString($value)); - } - $embeddedTable .= '
'; - $output .= $this->addRow('Context', $embeddedTable, false); - } - if ($record['extra']) { - $embeddedTable = ''; - foreach ($record['extra'] as $key => $value) { - $embeddedTable .= $this->addRow($key, $this->convertToString($value)); - } - $embeddedTable .= '
'; - $output .= $this->addRow('Extra', $embeddedTable, false); - } - - return $output.''; - } - - /** - * Formats a set of log records. - * - * @param array $records A set of records to format - * @return mixed The formatted set of records - */ - public function formatBatch(array $records) - { - $message = ''; - foreach ($records as $record) { - $message .= $this->format($record); - } - - return $message; - } - - protected function convertToString($data) - { - if (null === $data || is_scalar($data)) { - return (string) $data; - } - - $data = $this->normalize($data); - if (version_compare(PHP_VERSION, '5.4.0', '>=')) { - return Utils::jsonEncode($data, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE, true); - } - - return str_replace('\\/', '/', Utils::jsonEncode($data, null, true)); - } -} diff --git a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Formatter/JsonFormatter.php b/paragonik-backend/vendor/monolog/monolog/src/Monolog/Formatter/JsonFormatter.php deleted file mode 100644 index 96a0591..0000000 --- a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Formatter/JsonFormatter.php +++ /dev/null @@ -1,208 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Monolog\Formatter; - -use Exception; -use Monolog\Utils; -use Throwable; - -/** - * Encodes whatever record data is passed to it as json - * - * This can be useful to log to databases or remote APIs - * - * @author Jordi Boggiano - */ -class JsonFormatter extends NormalizerFormatter -{ - const BATCH_MODE_JSON = 1; - const BATCH_MODE_NEWLINES = 2; - - protected $batchMode; - protected $appendNewline; - - /** - * @var bool - */ - protected $includeStacktraces = false; - - /** - * @param int $batchMode - * @param bool $appendNewline - */ - public function __construct($batchMode = self::BATCH_MODE_JSON, $appendNewline = true) - { - $this->batchMode = $batchMode; - $this->appendNewline = $appendNewline; - } - - /** - * The batch mode option configures the formatting style for - * multiple records. By default, multiple records will be - * formatted as a JSON-encoded array. However, for - * compatibility with some API endpoints, alternative styles - * are available. - * - * @return int - */ - public function getBatchMode() - { - return $this->batchMode; - } - - /** - * True if newlines are appended to every formatted record - * - * @return bool - */ - public function isAppendingNewlines() - { - return $this->appendNewline; - } - - /** - * {@inheritdoc} - */ - public function format(array $record) - { - return $this->toJson($this->normalize($record), true) . ($this->appendNewline ? "\n" : ''); - } - - /** - * {@inheritdoc} - */ - public function formatBatch(array $records) - { - switch ($this->batchMode) { - case static::BATCH_MODE_NEWLINES: - return $this->formatBatchNewlines($records); - - case static::BATCH_MODE_JSON: - default: - return $this->formatBatchJson($records); - } - } - - /** - * @param bool $include - */ - public function includeStacktraces($include = true) - { - $this->includeStacktraces = $include; - } - - /** - * Return a JSON-encoded array of records. - * - * @param array $records - * @return string - */ - protected function formatBatchJson(array $records) - { - return $this->toJson($this->normalize($records), true); - } - - /** - * Use new lines to separate records instead of a - * JSON-encoded array. - * - * @param array $records - * @return string - */ - protected function formatBatchNewlines(array $records) - { - $instance = $this; - - $oldNewline = $this->appendNewline; - $this->appendNewline = false; - array_walk($records, function (&$value, $key) use ($instance) { - $value = $instance->format($value); - }); - $this->appendNewline = $oldNewline; - - return implode("\n", $records); - } - - /** - * Normalizes given $data. - * - * @param mixed $data - * - * @return mixed - */ - protected function normalize($data, $depth = 0) - { - if ($depth > 9) { - return 'Over 9 levels deep, aborting normalization'; - } - - if (is_array($data)) { - $normalized = array(); - - $count = 1; - foreach ($data as $key => $value) { - if ($count++ > 1000) { - $normalized['...'] = 'Over 1000 items ('.count($data).' total), aborting normalization'; - break; - } - - $normalized[$key] = $this->normalize($value, $depth+1); - } - - return $normalized; - } - - if ($data instanceof Exception || $data instanceof Throwable) { - return $this->normalizeException($data); - } - - return $data; - } - - /** - * Normalizes given exception with or without its own stack trace based on - * `includeStacktraces` property. - * - * @param Exception|Throwable $e - * - * @return array - */ - protected function normalizeException($e) - { - // TODO 2.0 only check for Throwable - if (!$e instanceof Exception && !$e instanceof Throwable) { - throw new \InvalidArgumentException('Exception/Throwable expected, got '.gettype($e).' / '.Utils::getClass($e)); - } - - $data = array( - 'class' => Utils::getClass($e), - 'message' => $e->getMessage(), - 'code' => (int) $e->getCode(), - 'file' => $e->getFile().':'.$e->getLine(), - ); - - if ($this->includeStacktraces) { - $trace = $e->getTrace(); - foreach ($trace as $frame) { - if (isset($frame['file'])) { - $data['trace'][] = $frame['file'].':'.$frame['line']; - } - } - } - - if ($previous = $e->getPrevious()) { - $data['previous'] = $this->normalizeException($previous); - } - - return $data; - } -} diff --git a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Formatter/LineFormatter.php b/paragonik-backend/vendor/monolog/monolog/src/Monolog/Formatter/LineFormatter.php deleted file mode 100644 index acc1fd3..0000000 --- a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Formatter/LineFormatter.php +++ /dev/null @@ -1,181 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Monolog\Formatter; - -use Monolog\Utils; - -/** - * Formats incoming records into a one-line string - * - * This is especially useful for logging to files - * - * @author Jordi Boggiano - * @author Christophe Coevoet - */ -class LineFormatter extends NormalizerFormatter -{ - const SIMPLE_FORMAT = "[%datetime%] %channel%.%level_name%: %message% %context% %extra%\n"; - - protected $format; - protected $allowInlineLineBreaks; - protected $ignoreEmptyContextAndExtra; - protected $includeStacktraces; - - /** - * @param string $format The format of the message - * @param string $dateFormat The format of the timestamp: one supported by DateTime::format - * @param bool $allowInlineLineBreaks Whether to allow inline line breaks in log entries - * @param bool $ignoreEmptyContextAndExtra - */ - public function __construct($format = null, $dateFormat = null, $allowInlineLineBreaks = false, $ignoreEmptyContextAndExtra = false) - { - $this->format = $format ?: static::SIMPLE_FORMAT; - $this->allowInlineLineBreaks = $allowInlineLineBreaks; - $this->ignoreEmptyContextAndExtra = $ignoreEmptyContextAndExtra; - parent::__construct($dateFormat); - } - - public function includeStacktraces($include = true) - { - $this->includeStacktraces = $include; - if ($this->includeStacktraces) { - $this->allowInlineLineBreaks = true; - } - } - - public function allowInlineLineBreaks($allow = true) - { - $this->allowInlineLineBreaks = $allow; - } - - public function ignoreEmptyContextAndExtra($ignore = true) - { - $this->ignoreEmptyContextAndExtra = $ignore; - } - - /** - * {@inheritdoc} - */ - public function format(array $record) - { - $vars = parent::format($record); - - $output = $this->format; - - foreach ($vars['extra'] as $var => $val) { - if (false !== strpos($output, '%extra.'.$var.'%')) { - $output = str_replace('%extra.'.$var.'%', $this->stringify($val), $output); - unset($vars['extra'][$var]); - } - } - - - foreach ($vars['context'] as $var => $val) { - if (false !== strpos($output, '%context.'.$var.'%')) { - $output = str_replace('%context.'.$var.'%', $this->stringify($val), $output); - unset($vars['context'][$var]); - } - } - - if ($this->ignoreEmptyContextAndExtra) { - if (empty($vars['context'])) { - unset($vars['context']); - $output = str_replace('%context%', '', $output); - } - - if (empty($vars['extra'])) { - unset($vars['extra']); - $output = str_replace('%extra%', '', $output); - } - } - - foreach ($vars as $var => $val) { - if (false !== strpos($output, '%'.$var.'%')) { - $output = str_replace('%'.$var.'%', $this->stringify($val), $output); - } - } - - // remove leftover %extra.xxx% and %context.xxx% if any - if (false !== strpos($output, '%')) { - $output = preg_replace('/%(?:extra|context)\..+?%/', '', $output); - } - - return $output; - } - - public function formatBatch(array $records) - { - $message = ''; - foreach ($records as $record) { - $message .= $this->format($record); - } - - return $message; - } - - public function stringify($value) - { - return $this->replaceNewlines($this->convertToString($value)); - } - - protected function normalizeException($e) - { - // TODO 2.0 only check for Throwable - if (!$e instanceof \Exception && !$e instanceof \Throwable) { - throw new \InvalidArgumentException('Exception/Throwable expected, got '.gettype($e).' / '.Utils::getClass($e)); - } - - $previousText = ''; - if ($previous = $e->getPrevious()) { - do { - $previousText .= ', '.Utils::getClass($previous).'(code: '.$previous->getCode().'): '.$previous->getMessage().' at '.$previous->getFile().':'.$previous->getLine(); - } while ($previous = $previous->getPrevious()); - } - - $str = '[object] ('.Utils::getClass($e).'(code: '.$e->getCode().'): '.$e->getMessage().' at '.$e->getFile().':'.$e->getLine().$previousText.')'; - if ($this->includeStacktraces) { - $str .= "\n[stacktrace]\n".$e->getTraceAsString()."\n"; - } - - return $str; - } - - protected function convertToString($data) - { - if (null === $data || is_bool($data)) { - return var_export($data, true); - } - - if (is_scalar($data)) { - return (string) $data; - } - - if (version_compare(PHP_VERSION, '5.4.0', '>=')) { - return $this->toJson($data, true); - } - - return str_replace('\\/', '/', $this->toJson($data, true)); - } - - protected function replaceNewlines($str) - { - if ($this->allowInlineLineBreaks) { - if (0 === strpos($str, '{')) { - return str_replace(array('\r', '\n'), array("\r", "\n"), $str); - } - - return $str; - } - - return str_replace(array("\r\n", "\r", "\n"), ' ', $str); - } -} diff --git a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Formatter/LogglyFormatter.php b/paragonik-backend/vendor/monolog/monolog/src/Monolog/Formatter/LogglyFormatter.php deleted file mode 100644 index 401859b..0000000 --- a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Formatter/LogglyFormatter.php +++ /dev/null @@ -1,47 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Monolog\Formatter; - -/** - * Encodes message information into JSON in a format compatible with Loggly. - * - * @author Adam Pancutt - */ -class LogglyFormatter extends JsonFormatter -{ - /** - * Overrides the default batch mode to new lines for compatibility with the - * Loggly bulk API. - * - * @param int $batchMode - */ - public function __construct($batchMode = self::BATCH_MODE_NEWLINES, $appendNewline = false) - { - parent::__construct($batchMode, $appendNewline); - } - - /** - * Appends the 'timestamp' parameter for indexing by Loggly. - * - * @see https://www.loggly.com/docs/automated-parsing/#json - * @see \Monolog\Formatter\JsonFormatter::format() - */ - public function format(array $record) - { - if (isset($record["datetime"]) && ($record["datetime"] instanceof \DateTime)) { - $record["timestamp"] = $record["datetime"]->format("Y-m-d\TH:i:s.uO"); - // TODO 2.0 unset the 'datetime' parameter, retained for BC - } - - return parent::format($record); - } -} diff --git a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Formatter/LogstashFormatter.php b/paragonik-backend/vendor/monolog/monolog/src/Monolog/Formatter/LogstashFormatter.php deleted file mode 100644 index 8f83bec..0000000 --- a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Formatter/LogstashFormatter.php +++ /dev/null @@ -1,166 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Monolog\Formatter; - -/** - * Serializes a log message to Logstash Event Format - * - * @see http://logstash.net/ - * @see https://github.com/logstash/logstash/blob/master/lib/logstash/event.rb - * - * @author Tim Mower - */ -class LogstashFormatter extends NormalizerFormatter -{ - const V0 = 0; - const V1 = 1; - - /** - * @var string the name of the system for the Logstash log message, used to fill the @source field - */ - protected $systemName; - - /** - * @var string an application name for the Logstash log message, used to fill the @type field - */ - protected $applicationName; - - /** - * @var string a prefix for 'extra' fields from the Monolog record (optional) - */ - protected $extraPrefix; - - /** - * @var string a prefix for 'context' fields from the Monolog record (optional) - */ - protected $contextPrefix; - - /** - * @var int logstash format version to use - */ - protected $version; - - /** - * @param string $applicationName the application that sends the data, used as the "type" field of logstash - * @param string $systemName the system/machine name, used as the "source" field of logstash, defaults to the hostname of the machine - * @param string $extraPrefix prefix for extra keys inside logstash "fields" - * @param string $contextPrefix prefix for context keys inside logstash "fields", defaults to ctxt_ - * @param int $version the logstash format version to use, defaults to 0 - */ - public function __construct($applicationName, $systemName = null, $extraPrefix = null, $contextPrefix = 'ctxt_', $version = self::V0) - { - // logstash requires a ISO 8601 format date with optional millisecond precision. - parent::__construct('Y-m-d\TH:i:s.uP'); - - $this->systemName = $systemName ?: gethostname(); - $this->applicationName = $applicationName; - $this->extraPrefix = $extraPrefix; - $this->contextPrefix = $contextPrefix; - $this->version = $version; - } - - /** - * {@inheritdoc} - */ - public function format(array $record) - { - $record = parent::format($record); - - if ($this->version === self::V1) { - $message = $this->formatV1($record); - } else { - $message = $this->formatV0($record); - } - - return $this->toJson($message) . "\n"; - } - - protected function formatV0(array $record) - { - if (empty($record['datetime'])) { - $record['datetime'] = gmdate('c'); - } - $message = array( - '@timestamp' => $record['datetime'], - '@source' => $this->systemName, - '@fields' => array(), - ); - if (isset($record['message'])) { - $message['@message'] = $record['message']; - } - if (isset($record['channel'])) { - $message['@tags'] = array($record['channel']); - $message['@fields']['channel'] = $record['channel']; - } - if (isset($record['level'])) { - $message['@fields']['level'] = $record['level']; - } - if ($this->applicationName) { - $message['@type'] = $this->applicationName; - } - if (isset($record['extra']['server'])) { - $message['@source_host'] = $record['extra']['server']; - } - if (isset($record['extra']['url'])) { - $message['@source_path'] = $record['extra']['url']; - } - if (!empty($record['extra'])) { - foreach ($record['extra'] as $key => $val) { - $message['@fields'][$this->extraPrefix . $key] = $val; - } - } - if (!empty($record['context'])) { - foreach ($record['context'] as $key => $val) { - $message['@fields'][$this->contextPrefix . $key] = $val; - } - } - - return $message; - } - - protected function formatV1(array $record) - { - if (empty($record['datetime'])) { - $record['datetime'] = gmdate('c'); - } - $message = array( - '@timestamp' => $record['datetime'], - '@version' => 1, - 'host' => $this->systemName, - ); - if (isset($record['message'])) { - $message['message'] = $record['message']; - } - if (isset($record['channel'])) { - $message['type'] = $record['channel']; - $message['channel'] = $record['channel']; - } - if (isset($record['level_name'])) { - $message['level'] = $record['level_name']; - } - if ($this->applicationName) { - $message['type'] = $this->applicationName; - } - if (!empty($record['extra'])) { - foreach ($record['extra'] as $key => $val) { - $message[$this->extraPrefix . $key] = $val; - } - } - if (!empty($record['context'])) { - foreach ($record['context'] as $key => $val) { - $message[$this->contextPrefix . $key] = $val; - } - } - - return $message; - } -} diff --git a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Formatter/MongoDBFormatter.php b/paragonik-backend/vendor/monolog/monolog/src/Monolog/Formatter/MongoDBFormatter.php deleted file mode 100644 index bd9e4c0..0000000 --- a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Formatter/MongoDBFormatter.php +++ /dev/null @@ -1,107 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Monolog\Formatter; - -use Monolog\Utils; - -/** - * Formats a record for use with the MongoDBHandler. - * - * @author Florian Plattner - */ -class MongoDBFormatter implements FormatterInterface -{ - private $exceptionTraceAsString; - private $maxNestingLevel; - - /** - * @param int $maxNestingLevel 0 means infinite nesting, the $record itself is level 1, $record['context'] is 2 - * @param bool $exceptionTraceAsString set to false to log exception traces as a sub documents instead of strings - */ - public function __construct($maxNestingLevel = 3, $exceptionTraceAsString = true) - { - $this->maxNestingLevel = max($maxNestingLevel, 0); - $this->exceptionTraceAsString = (bool) $exceptionTraceAsString; - } - - /** - * {@inheritDoc} - */ - public function format(array $record) - { - return $this->formatArray($record); - } - - /** - * {@inheritDoc} - */ - public function formatBatch(array $records) - { - foreach ($records as $key => $record) { - $records[$key] = $this->format($record); - } - - return $records; - } - - protected function formatArray(array $record, $nestingLevel = 0) - { - if ($this->maxNestingLevel == 0 || $nestingLevel <= $this->maxNestingLevel) { - foreach ($record as $name => $value) { - if ($value instanceof \DateTime) { - $record[$name] = $this->formatDate($value, $nestingLevel + 1); - } elseif ($value instanceof \Exception) { - $record[$name] = $this->formatException($value, $nestingLevel + 1); - } elseif (is_array($value)) { - $record[$name] = $this->formatArray($value, $nestingLevel + 1); - } elseif (is_object($value)) { - $record[$name] = $this->formatObject($value, $nestingLevel + 1); - } - } - } else { - $record = '[...]'; - } - - return $record; - } - - protected function formatObject($value, $nestingLevel) - { - $objectVars = get_object_vars($value); - $objectVars['class'] = Utils::getClass($value); - - return $this->formatArray($objectVars, $nestingLevel); - } - - protected function formatException(\Exception $exception, $nestingLevel) - { - $formattedException = array( - 'class' => Utils::getClass($exception), - 'message' => $exception->getMessage(), - 'code' => (int) $exception->getCode(), - 'file' => $exception->getFile() . ':' . $exception->getLine(), - ); - - if ($this->exceptionTraceAsString === true) { - $formattedException['trace'] = $exception->getTraceAsString(); - } else { - $formattedException['trace'] = $exception->getTrace(); - } - - return $this->formatArray($formattedException, $nestingLevel); - } - - protected function formatDate(\DateTime $value, $nestingLevel) - { - return new \MongoDate($value->getTimestamp()); - } -} diff --git a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Formatter/NormalizerFormatter.php b/paragonik-backend/vendor/monolog/monolog/src/Monolog/Formatter/NormalizerFormatter.php deleted file mode 100644 index 61861c8..0000000 --- a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Formatter/NormalizerFormatter.php +++ /dev/null @@ -1,176 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Monolog\Formatter; - -use Exception; -use Monolog\Utils; - -/** - * Normalizes incoming records to remove objects/resources so it's easier to dump to various targets - * - * @author Jordi Boggiano - */ -class NormalizerFormatter implements FormatterInterface -{ - const SIMPLE_DATE = "Y-m-d H:i:s"; - - protected $dateFormat; - - /** - * @param string $dateFormat The format of the timestamp: one supported by DateTime::format - */ - public function __construct($dateFormat = null) - { - $this->dateFormat = $dateFormat ?: static::SIMPLE_DATE; - if (!function_exists('json_encode')) { - throw new \RuntimeException('PHP\'s json extension is required to use Monolog\'s NormalizerFormatter'); - } - } - - /** - * {@inheritdoc} - */ - public function format(array $record) - { - return $this->normalize($record); - } - - /** - * {@inheritdoc} - */ - public function formatBatch(array $records) - { - foreach ($records as $key => $record) { - $records[$key] = $this->format($record); - } - - return $records; - } - - protected function normalize($data, $depth = 0) - { - if ($depth > 9) { - return 'Over 9 levels deep, aborting normalization'; - } - - if (null === $data || is_scalar($data)) { - if (is_float($data)) { - if (is_infinite($data)) { - return ($data > 0 ? '' : '-') . 'INF'; - } - if (is_nan($data)) { - return 'NaN'; - } - } - - return $data; - } - - if (is_array($data)) { - $normalized = array(); - - $count = 1; - foreach ($data as $key => $value) { - if ($count++ > 1000) { - $normalized['...'] = 'Over 1000 items ('.count($data).' total), aborting normalization'; - break; - } - - $normalized[$key] = $this->normalize($value, $depth+1); - } - - return $normalized; - } - - if ($data instanceof \DateTime) { - return $data->format($this->dateFormat); - } - - if (is_object($data)) { - // TODO 2.0 only check for Throwable - if ($data instanceof Exception || (PHP_VERSION_ID > 70000 && $data instanceof \Throwable)) { - return $this->normalizeException($data); - } - - // non-serializable objects that implement __toString stringified - if (method_exists($data, '__toString') && !$data instanceof \JsonSerializable) { - $value = $data->__toString(); - } else { - // the rest is json-serialized in some way - $value = $this->toJson($data, true); - } - - return sprintf("[object] (%s: %s)", Utils::getClass($data), $value); - } - - if (is_resource($data)) { - return sprintf('[resource] (%s)', get_resource_type($data)); - } - - return '[unknown('.gettype($data).')]'; - } - - protected function normalizeException($e) - { - // TODO 2.0 only check for Throwable - if (!$e instanceof Exception && !$e instanceof \Throwable) { - throw new \InvalidArgumentException('Exception/Throwable expected, got '.gettype($e).' / '.Utils::getClass($e)); - } - - $data = array( - 'class' => Utils::getClass($e), - 'message' => $e->getMessage(), - 'code' => (int) $e->getCode(), - 'file' => $e->getFile().':'.$e->getLine(), - ); - - if ($e instanceof \SoapFault) { - if (isset($e->faultcode)) { - $data['faultcode'] = $e->faultcode; - } - - if (isset($e->faultactor)) { - $data['faultactor'] = $e->faultactor; - } - - if (isset($e->detail) && (is_string($e->detail) || is_object($e->detail) || is_array($e->detail))) { - $data['detail'] = is_string($e->detail) ? $e->detail : reset($e->detail); - } - } - - $trace = $e->getTrace(); - foreach ($trace as $frame) { - if (isset($frame['file'])) { - $data['trace'][] = $frame['file'].':'.$frame['line']; - } - } - - if ($previous = $e->getPrevious()) { - $data['previous'] = $this->normalizeException($previous); - } - - return $data; - } - - /** - * Return the JSON representation of a value - * - * @param mixed $data - * @param bool $ignoreErrors - * @throws \RuntimeException if encoding fails and errors are not ignored - * @return string - */ - protected function toJson($data, $ignoreErrors = false) - { - return Utils::jsonEncode($data, null, $ignoreErrors); - } -} diff --git a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Formatter/ScalarFormatter.php b/paragonik-backend/vendor/monolog/monolog/src/Monolog/Formatter/ScalarFormatter.php deleted file mode 100644 index 5d345d5..0000000 --- a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Formatter/ScalarFormatter.php +++ /dev/null @@ -1,48 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Monolog\Formatter; - -/** - * Formats data into an associative array of scalar values. - * Objects and arrays will be JSON encoded. - * - * @author Andrew Lawson - */ -class ScalarFormatter extends NormalizerFormatter -{ - /** - * {@inheritdoc} - */ - public function format(array $record) - { - foreach ($record as $key => $value) { - $record[$key] = $this->normalizeValue($value); - } - - return $record; - } - - /** - * @param mixed $value - * @return mixed - */ - protected function normalizeValue($value) - { - $normalized = $this->normalize($value); - - if (is_array($normalized) || is_object($normalized)) { - return $this->toJson($normalized, true); - } - - return $normalized; - } -} diff --git a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Formatter/WildfireFormatter.php b/paragonik-backend/vendor/monolog/monolog/src/Monolog/Formatter/WildfireFormatter.php deleted file mode 100644 index 65dba99..0000000 --- a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Formatter/WildfireFormatter.php +++ /dev/null @@ -1,113 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Monolog\Formatter; - -use Monolog\Logger; - -/** - * Serializes a log message according to Wildfire's header requirements - * - * @author Eric Clemmons (@ericclemmons) - * @author Christophe Coevoet - * @author Kirill chEbba Chebunin - */ -class WildfireFormatter extends NormalizerFormatter -{ - const TABLE = 'table'; - - /** - * Translates Monolog log levels to Wildfire levels. - */ - private $logLevels = array( - Logger::DEBUG => 'LOG', - Logger::INFO => 'INFO', - Logger::NOTICE => 'INFO', - Logger::WARNING => 'WARN', - Logger::ERROR => 'ERROR', - Logger::CRITICAL => 'ERROR', - Logger::ALERT => 'ERROR', - Logger::EMERGENCY => 'ERROR', - ); - - /** - * {@inheritdoc} - */ - public function format(array $record) - { - // Retrieve the line and file if set and remove them from the formatted extra - $file = $line = ''; - if (isset($record['extra']['file'])) { - $file = $record['extra']['file']; - unset($record['extra']['file']); - } - if (isset($record['extra']['line'])) { - $line = $record['extra']['line']; - unset($record['extra']['line']); - } - - $record = $this->normalize($record); - $message = array('message' => $record['message']); - $handleError = false; - if ($record['context']) { - $message['context'] = $record['context']; - $handleError = true; - } - if ($record['extra']) { - $message['extra'] = $record['extra']; - $handleError = true; - } - if (count($message) === 1) { - $message = reset($message); - } - - if (isset($record['context'][self::TABLE])) { - $type = 'TABLE'; - $label = $record['channel'] .': '. $record['message']; - $message = $record['context'][self::TABLE]; - } else { - $type = $this->logLevels[$record['level']]; - $label = $record['channel']; - } - - // Create JSON object describing the appearance of the message in the console - $json = $this->toJson(array( - array( - 'Type' => $type, - 'File' => $file, - 'Line' => $line, - 'Label' => $label, - ), - $message, - ), $handleError); - - // The message itself is a serialization of the above JSON object + it's length - return sprintf( - '%s|%s|', - strlen($json), - $json - ); - } - - public function formatBatch(array $records) - { - throw new \BadMethodCallException('Batch formatting does not make sense for the WildfireFormatter'); - } - - protected function normalize($data, $depth = 0) - { - if (is_object($data) && !$data instanceof \DateTime) { - return $data; - } - - return parent::normalize($data, $depth); - } -} diff --git a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/AbstractHandler.php b/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/AbstractHandler.php deleted file mode 100644 index 92b9d45..0000000 --- a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/AbstractHandler.php +++ /dev/null @@ -1,196 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Monolog\Handler; - -use Monolog\Formatter\FormatterInterface; -use Monolog\Formatter\LineFormatter; -use Monolog\Logger; -use Monolog\ResettableInterface; - -/** - * Base Handler class providing the Handler structure - * - * @author Jordi Boggiano - */ -abstract class AbstractHandler implements HandlerInterface, ResettableInterface -{ - protected $level = Logger::DEBUG; - protected $bubble = true; - - /** - * @var FormatterInterface - */ - protected $formatter; - protected $processors = array(); - - /** - * @param int $level The minimum logging level at which this handler will be triggered - * @param bool $bubble Whether the messages that are handled can bubble up the stack or not - */ - public function __construct($level = Logger::DEBUG, $bubble = true) - { - $this->setLevel($level); - $this->bubble = $bubble; - } - - /** - * {@inheritdoc} - */ - public function isHandling(array $record) - { - return $record['level'] >= $this->level; - } - - /** - * {@inheritdoc} - */ - public function handleBatch(array $records) - { - foreach ($records as $record) { - $this->handle($record); - } - } - - /** - * Closes the handler. - * - * This will be called automatically when the object is destroyed - */ - public function close() - { - } - - /** - * {@inheritdoc} - */ - public function pushProcessor($callback) - { - if (!is_callable($callback)) { - throw new \InvalidArgumentException('Processors must be valid callables (callback or object with an __invoke method), '.var_export($callback, true).' given'); - } - array_unshift($this->processors, $callback); - - return $this; - } - - /** - * {@inheritdoc} - */ - public function popProcessor() - { - if (!$this->processors) { - throw new \LogicException('You tried to pop from an empty processor stack.'); - } - - return array_shift($this->processors); - } - - /** - * {@inheritdoc} - */ - public function setFormatter(FormatterInterface $formatter) - { - $this->formatter = $formatter; - - return $this; - } - - /** - * {@inheritdoc} - */ - public function getFormatter() - { - if (!$this->formatter) { - $this->formatter = $this->getDefaultFormatter(); - } - - return $this->formatter; - } - - /** - * Sets minimum logging level at which this handler will be triggered. - * - * @param int|string $level Level or level name - * @return self - */ - public function setLevel($level) - { - $this->level = Logger::toMonologLevel($level); - - return $this; - } - - /** - * Gets minimum logging level at which this handler will be triggered. - * - * @return int - */ - public function getLevel() - { - return $this->level; - } - - /** - * Sets the bubbling behavior. - * - * @param bool $bubble true means that this handler allows bubbling. - * false means that bubbling is not permitted. - * @return self - */ - public function setBubble($bubble) - { - $this->bubble = $bubble; - - return $this; - } - - /** - * Gets the bubbling behavior. - * - * @return bool true means that this handler allows bubbling. - * false means that bubbling is not permitted. - */ - public function getBubble() - { - return $this->bubble; - } - - public function __destruct() - { - try { - $this->close(); - } catch (\Exception $e) { - // do nothing - } catch (\Throwable $e) { - // do nothing - } - } - - public function reset() - { - foreach ($this->processors as $processor) { - if ($processor instanceof ResettableInterface) { - $processor->reset(); - } - } - } - - /** - * Gets the default formatter. - * - * @return FormatterInterface - */ - protected function getDefaultFormatter() - { - return new LineFormatter(); - } -} diff --git a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/AbstractProcessingHandler.php b/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/AbstractProcessingHandler.php deleted file mode 100644 index e1e8953..0000000 --- a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/AbstractProcessingHandler.php +++ /dev/null @@ -1,68 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Monolog\Handler; - -use Monolog\ResettableInterface; - -/** - * Base Handler class providing the Handler structure - * - * Classes extending it should (in most cases) only implement write($record) - * - * @author Jordi Boggiano - * @author Christophe Coevoet - */ -abstract class AbstractProcessingHandler extends AbstractHandler -{ - /** - * {@inheritdoc} - */ - public function handle(array $record) - { - if (!$this->isHandling($record)) { - return false; - } - - $record = $this->processRecord($record); - - $record['formatted'] = $this->getFormatter()->format($record); - - $this->write($record); - - return false === $this->bubble; - } - - /** - * Writes the record down to the log of the implementing handler - * - * @param array $record - * @return void - */ - abstract protected function write(array $record); - - /** - * Processes a record. - * - * @param array $record - * @return array - */ - protected function processRecord(array $record) - { - if ($this->processors) { - foreach ($this->processors as $processor) { - $record = call_user_func($processor, $record); - } - } - - return $record; - } -} diff --git a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/AbstractSyslogHandler.php b/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/AbstractSyslogHandler.php deleted file mode 100644 index 8c76aca..0000000 --- a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/AbstractSyslogHandler.php +++ /dev/null @@ -1,101 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Monolog\Handler; - -use Monolog\Logger; -use Monolog\Formatter\LineFormatter; - -/** - * Common syslog functionality - */ -abstract class AbstractSyslogHandler extends AbstractProcessingHandler -{ - protected $facility; - - /** - * Translates Monolog log levels to syslog log priorities. - */ - protected $logLevels = array( - Logger::DEBUG => LOG_DEBUG, - Logger::INFO => LOG_INFO, - Logger::NOTICE => LOG_NOTICE, - Logger::WARNING => LOG_WARNING, - Logger::ERROR => LOG_ERR, - Logger::CRITICAL => LOG_CRIT, - Logger::ALERT => LOG_ALERT, - Logger::EMERGENCY => LOG_EMERG, - ); - - /** - * List of valid log facility names. - */ - protected $facilities = array( - 'auth' => LOG_AUTH, - 'authpriv' => LOG_AUTHPRIV, - 'cron' => LOG_CRON, - 'daemon' => LOG_DAEMON, - 'kern' => LOG_KERN, - 'lpr' => LOG_LPR, - 'mail' => LOG_MAIL, - 'news' => LOG_NEWS, - 'syslog' => LOG_SYSLOG, - 'user' => LOG_USER, - 'uucp' => LOG_UUCP, - ); - - /** - * @param mixed $facility - * @param int $level The minimum logging level at which this handler will be triggered - * @param bool $bubble Whether the messages that are handled can bubble up the stack or not - */ - public function __construct($facility = LOG_USER, $level = Logger::DEBUG, $bubble = true) - { - parent::__construct($level, $bubble); - - if (!defined('PHP_WINDOWS_VERSION_BUILD')) { - $this->facilities['local0'] = LOG_LOCAL0; - $this->facilities['local1'] = LOG_LOCAL1; - $this->facilities['local2'] = LOG_LOCAL2; - $this->facilities['local3'] = LOG_LOCAL3; - $this->facilities['local4'] = LOG_LOCAL4; - $this->facilities['local5'] = LOG_LOCAL5; - $this->facilities['local6'] = LOG_LOCAL6; - $this->facilities['local7'] = LOG_LOCAL7; - } else { - $this->facilities['local0'] = 128; // LOG_LOCAL0 - $this->facilities['local1'] = 136; // LOG_LOCAL1 - $this->facilities['local2'] = 144; // LOG_LOCAL2 - $this->facilities['local3'] = 152; // LOG_LOCAL3 - $this->facilities['local4'] = 160; // LOG_LOCAL4 - $this->facilities['local5'] = 168; // LOG_LOCAL5 - $this->facilities['local6'] = 176; // LOG_LOCAL6 - $this->facilities['local7'] = 184; // LOG_LOCAL7 - } - - // convert textual description of facility to syslog constant - if (array_key_exists(strtolower($facility), $this->facilities)) { - $facility = $this->facilities[strtolower($facility)]; - } elseif (!in_array($facility, array_values($this->facilities), true)) { - throw new \UnexpectedValueException('Unknown facility value "'.$facility.'" given'); - } - - $this->facility = $facility; - } - - /** - * {@inheritdoc} - */ - protected function getDefaultFormatter() - { - return new LineFormatter('%channel%.%level_name%: %message% %context% %extra%'); - } -} diff --git a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/AmqpHandler.php b/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/AmqpHandler.php deleted file mode 100644 index e5a46bc..0000000 --- a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/AmqpHandler.php +++ /dev/null @@ -1,148 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Monolog\Handler; - -use Monolog\Logger; -use Monolog\Formatter\JsonFormatter; -use PhpAmqpLib\Message\AMQPMessage; -use PhpAmqpLib\Channel\AMQPChannel; -use AMQPExchange; - -class AmqpHandler extends AbstractProcessingHandler -{ - /** - * @var AMQPExchange|AMQPChannel $exchange - */ - protected $exchange; - - /** - * @var string - */ - protected $exchangeName; - - /** - * @param AMQPExchange|AMQPChannel $exchange AMQPExchange (php AMQP ext) or PHP AMQP lib channel, ready for use - * @param string $exchangeName - * @param int $level - * @param bool $bubble Whether the messages that are handled can bubble up the stack or not - */ - public function __construct($exchange, $exchangeName = 'log', $level = Logger::DEBUG, $bubble = true) - { - if ($exchange instanceof AMQPExchange) { - $exchange->setName($exchangeName); - } elseif ($exchange instanceof AMQPChannel) { - $this->exchangeName = $exchangeName; - } else { - throw new \InvalidArgumentException('PhpAmqpLib\Channel\AMQPChannel or AMQPExchange instance required'); - } - $this->exchange = $exchange; - - parent::__construct($level, $bubble); - } - - /** - * {@inheritDoc} - */ - protected function write(array $record) - { - $data = $record["formatted"]; - $routingKey = $this->getRoutingKey($record); - - if ($this->exchange instanceof AMQPExchange) { - $this->exchange->publish( - $data, - $routingKey, - 0, - array( - 'delivery_mode' => 2, - 'content_type' => 'application/json', - ) - ); - } else { - $this->exchange->basic_publish( - $this->createAmqpMessage($data), - $this->exchangeName, - $routingKey - ); - } - } - - /** - * {@inheritDoc} - */ - public function handleBatch(array $records) - { - if ($this->exchange instanceof AMQPExchange) { - parent::handleBatch($records); - - return; - } - - foreach ($records as $record) { - if (!$this->isHandling($record)) { - continue; - } - - $record = $this->processRecord($record); - $data = $this->getFormatter()->format($record); - - $this->exchange->batch_basic_publish( - $this->createAmqpMessage($data), - $this->exchangeName, - $this->getRoutingKey($record) - ); - } - - $this->exchange->publish_batch(); - } - - /** - * Gets the routing key for the AMQP exchange - * - * @param array $record - * @return string - */ - protected function getRoutingKey(array $record) - { - $routingKey = sprintf( - '%s.%s', - // TODO 2.0 remove substr call - substr($record['level_name'], 0, 4), - $record['channel'] - ); - - return strtolower($routingKey); - } - - /** - * @param string $data - * @return AMQPMessage - */ - private function createAmqpMessage($data) - { - return new AMQPMessage( - (string) $data, - array( - 'delivery_mode' => 2, - 'content_type' => 'application/json', - ) - ); - } - - /** - * {@inheritDoc} - */ - protected function getDefaultFormatter() - { - return new JsonFormatter(JsonFormatter::BATCH_MODE_JSON, false); - } -} diff --git a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/BrowserConsoleHandler.php b/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/BrowserConsoleHandler.php deleted file mode 100644 index 68feb48..0000000 --- a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/BrowserConsoleHandler.php +++ /dev/null @@ -1,241 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Monolog\Handler; - -use Monolog\Formatter\LineFormatter; - -/** - * Handler sending logs to browser's javascript console with no browser extension required - * - * @author Olivier Poitrey - */ -class BrowserConsoleHandler extends AbstractProcessingHandler -{ - protected static $initialized = false; - protected static $records = array(); - - /** - * {@inheritDoc} - * - * Formatted output may contain some formatting markers to be transferred to `console.log` using the %c format. - * - * Example of formatted string: - * - * You can do [[blue text]]{color: blue} or [[green background]]{background-color: green; color: white} - */ - protected function getDefaultFormatter() - { - return new LineFormatter('[[%channel%]]{macro: autolabel} [[%level_name%]]{font-weight: bold} %message%'); - } - - /** - * {@inheritDoc} - */ - protected function write(array $record) - { - // Accumulate records - static::$records[] = $record; - - // Register shutdown handler if not already done - if (!static::$initialized) { - static::$initialized = true; - $this->registerShutdownFunction(); - } - } - - /** - * Convert records to javascript console commands and send it to the browser. - * This method is automatically called on PHP shutdown if output is HTML or Javascript. - */ - public static function send() - { - $format = static::getResponseFormat(); - if ($format === 'unknown') { - return; - } - - if (count(static::$records)) { - if ($format === 'html') { - static::writeOutput(''); - } elseif ($format === 'js') { - static::writeOutput(static::generateScript()); - } - static::resetStatic(); - } - } - - public function close() - { - self::resetStatic(); - } - - public function reset() - { - self::resetStatic(); - } - - /** - * Forget all logged records - */ - public static function resetStatic() - { - static::$records = array(); - } - - /** - * Wrapper for register_shutdown_function to allow overriding - */ - protected function registerShutdownFunction() - { - if (PHP_SAPI !== 'cli') { - register_shutdown_function(array('Monolog\Handler\BrowserConsoleHandler', 'send')); - } - } - - /** - * Wrapper for echo to allow overriding - * - * @param string $str - */ - protected static function writeOutput($str) - { - echo $str; - } - - /** - * Checks the format of the response - * - * If Content-Type is set to application/javascript or text/javascript -> js - * If Content-Type is set to text/html, or is unset -> html - * If Content-Type is anything else -> unknown - * - * @return string One of 'js', 'html' or 'unknown' - */ - protected static function getResponseFormat() - { - // Check content type - foreach (headers_list() as $header) { - if (stripos($header, 'content-type:') === 0) { - // This handler only works with HTML and javascript outputs - // text/javascript is obsolete in favour of application/javascript, but still used - if (stripos($header, 'application/javascript') !== false || stripos($header, 'text/javascript') !== false) { - return 'js'; - } - if (stripos($header, 'text/html') === false) { - return 'unknown'; - } - break; - } - } - - return 'html'; - } - - private static function generateScript() - { - $script = array(); - foreach (static::$records as $record) { - $context = static::dump('Context', $record['context']); - $extra = static::dump('Extra', $record['extra']); - - if (empty($context) && empty($extra)) { - $script[] = static::call_array('log', static::handleStyles($record['formatted'])); - } else { - $script = array_merge($script, - array(static::call_array('groupCollapsed', static::handleStyles($record['formatted']))), - $context, - $extra, - array(static::call('groupEnd')) - ); - } - } - - return "(function (c) {if (c && c.groupCollapsed) {\n" . implode("\n", $script) . "\n}})(console);"; - } - - private static function handleStyles($formatted) - { - $args = array(); - $format = '%c' . $formatted; - preg_match_all('/\[\[(.*?)\]\]\{([^}]*)\}/s', $format, $matches, PREG_OFFSET_CAPTURE | PREG_SET_ORDER); - - foreach (array_reverse($matches) as $match) { - $args[] = '"font-weight: normal"'; - $args[] = static::quote(static::handleCustomStyles($match[2][0], $match[1][0])); - - $pos = $match[0][1]; - $format = substr($format, 0, $pos) . '%c' . $match[1][0] . '%c' . substr($format, $pos + strlen($match[0][0])); - } - - $args[] = static::quote('font-weight: normal'); - $args[] = static::quote($format); - - return array_reverse($args); - } - - private static function handleCustomStyles($style, $string) - { - static $colors = array('blue', 'green', 'red', 'magenta', 'orange', 'black', 'grey'); - static $labels = array(); - - return preg_replace_callback('/macro\s*:(.*?)(?:;|$)/', function ($m) use ($string, &$colors, &$labels) { - if (trim($m[1]) === 'autolabel') { - // Format the string as a label with consistent auto assigned background color - if (!isset($labels[$string])) { - $labels[$string] = $colors[count($labels) % count($colors)]; - } - $color = $labels[$string]; - - return "background-color: $color; color: white; border-radius: 3px; padding: 0 2px 0 2px"; - } - - return $m[1]; - }, $style); - } - - private static function dump($title, array $dict) - { - $script = array(); - $dict = array_filter($dict); - if (empty($dict)) { - return $script; - } - $script[] = static::call('log', static::quote('%c%s'), static::quote('font-weight: bold'), static::quote($title)); - foreach ($dict as $key => $value) { - $value = json_encode($value); - if (empty($value)) { - $value = static::quote(''); - } - $script[] = static::call('log', static::quote('%s: %o'), static::quote($key), $value); - } - - return $script; - } - - private static function quote($arg) - { - return '"' . addcslashes($arg, "\"\n\\") . '"'; - } - - private static function call() - { - $args = func_get_args(); - $method = array_shift($args); - - return static::call_array($method, $args); - } - - private static function call_array($method, array $args) - { - return 'c.' . $method . '(' . implode(', ', $args) . ');'; - } -} diff --git a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/BufferHandler.php b/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/BufferHandler.php deleted file mode 100644 index 0957e55..0000000 --- a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/BufferHandler.php +++ /dev/null @@ -1,148 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Monolog\Handler; - -use Monolog\Logger; -use Monolog\ResettableInterface; -use Monolog\Formatter\FormatterInterface; - -/** - * Buffers all records until closing the handler and then pass them as batch. - * - * This is useful for a MailHandler to send only one mail per request instead of - * sending one per log message. - * - * @author Christophe Coevoet - */ -class BufferHandler extends AbstractHandler -{ - protected $handler; - protected $bufferSize = 0; - protected $bufferLimit; - protected $flushOnOverflow; - protected $buffer = array(); - protected $initialized = false; - - /** - * @param HandlerInterface $handler Handler. - * @param int $bufferLimit How many entries should be buffered at most, beyond that the oldest items are removed from the buffer. - * @param int $level The minimum logging level at which this handler will be triggered - * @param bool $bubble Whether the messages that are handled can bubble up the stack or not - * @param bool $flushOnOverflow If true, the buffer is flushed when the max size has been reached, by default oldest entries are discarded - */ - public function __construct(HandlerInterface $handler, $bufferLimit = 0, $level = Logger::DEBUG, $bubble = true, $flushOnOverflow = false) - { - parent::__construct($level, $bubble); - $this->handler = $handler; - $this->bufferLimit = (int) $bufferLimit; - $this->flushOnOverflow = $flushOnOverflow; - } - - /** - * {@inheritdoc} - */ - public function handle(array $record) - { - if ($record['level'] < $this->level) { - return false; - } - - if (!$this->initialized) { - // __destructor() doesn't get called on Fatal errors - register_shutdown_function(array($this, 'close')); - $this->initialized = true; - } - - if ($this->bufferLimit > 0 && $this->bufferSize === $this->bufferLimit) { - if ($this->flushOnOverflow) { - $this->flush(); - } else { - array_shift($this->buffer); - $this->bufferSize--; - } - } - - if ($this->processors) { - foreach ($this->processors as $processor) { - $record = call_user_func($processor, $record); - } - } - - $this->buffer[] = $record; - $this->bufferSize++; - - return false === $this->bubble; - } - - public function flush() - { - if ($this->bufferSize === 0) { - return; - } - - $this->handler->handleBatch($this->buffer); - $this->clear(); - } - - public function __destruct() - { - // suppress the parent behavior since we already have register_shutdown_function() - // to call close(), and the reference contained there will prevent this from being - // GC'd until the end of the request - } - - /** - * {@inheritdoc} - */ - public function close() - { - $this->flush(); - } - - /** - * Clears the buffer without flushing any messages down to the wrapped handler. - */ - public function clear() - { - $this->bufferSize = 0; - $this->buffer = array(); - } - - public function reset() - { - $this->flush(); - - parent::reset(); - - if ($this->handler instanceof ResettableInterface) { - $this->handler->reset(); - } - } - - /** - * {@inheritdoc} - */ - public function setFormatter(FormatterInterface $formatter) - { - $this->handler->setFormatter($formatter); - - return $this; - } - - /** - * {@inheritdoc} - */ - public function getFormatter() - { - return $this->handler->getFormatter(); - } -} diff --git a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/ChromePHPHandler.php b/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/ChromePHPHandler.php deleted file mode 100644 index 47120e5..0000000 --- a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/ChromePHPHandler.php +++ /dev/null @@ -1,212 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Monolog\Handler; - -use Monolog\Formatter\ChromePHPFormatter; -use Monolog\Logger; -use Monolog\Utils; - -/** - * Handler sending logs to the ChromePHP extension (http://www.chromephp.com/) - * - * This also works out of the box with Firefox 43+ - * - * @author Christophe Coevoet - */ -class ChromePHPHandler extends AbstractProcessingHandler -{ - /** - * Version of the extension - */ - const VERSION = '4.0'; - - /** - * Header name - */ - const HEADER_NAME = 'X-ChromeLogger-Data'; - - /** - * Regular expression to detect supported browsers (matches any Chrome, or Firefox 43+) - */ - const USER_AGENT_REGEX = '{\b(?:Chrome/\d+(?:\.\d+)*|HeadlessChrome|Firefox/(?:4[3-9]|[5-9]\d|\d{3,})(?:\.\d)*)\b}'; - - protected static $initialized = false; - - /** - * Tracks whether we sent too much data - * - * Chrome limits the headers to 4KB, so when we sent 3KB we stop sending - * - * @var bool - */ - protected static $overflowed = false; - - protected static $json = array( - 'version' => self::VERSION, - 'columns' => array('label', 'log', 'backtrace', 'type'), - 'rows' => array(), - ); - - protected static $sendHeaders = true; - - /** - * @param int $level The minimum logging level at which this handler will be triggered - * @param bool $bubble Whether the messages that are handled can bubble up the stack or not - */ - public function __construct($level = Logger::DEBUG, $bubble = true) - { - parent::__construct($level, $bubble); - if (!function_exists('json_encode')) { - throw new \RuntimeException('PHP\'s json extension is required to use Monolog\'s ChromePHPHandler'); - } - } - - /** - * {@inheritdoc} - */ - public function handleBatch(array $records) - { - $messages = array(); - - foreach ($records as $record) { - if ($record['level'] < $this->level) { - continue; - } - $messages[] = $this->processRecord($record); - } - - if (!empty($messages)) { - $messages = $this->getFormatter()->formatBatch($messages); - self::$json['rows'] = array_merge(self::$json['rows'], $messages); - $this->send(); - } - } - - /** - * {@inheritDoc} - */ - protected function getDefaultFormatter() - { - return new ChromePHPFormatter(); - } - - /** - * Creates & sends header for a record - * - * @see sendHeader() - * @see send() - * @param array $record - */ - protected function write(array $record) - { - self::$json['rows'][] = $record['formatted']; - - $this->send(); - } - - /** - * Sends the log header - * - * @see sendHeader() - */ - protected function send() - { - if (self::$overflowed || !self::$sendHeaders) { - return; - } - - if (!self::$initialized) { - self::$initialized = true; - - self::$sendHeaders = $this->headersAccepted(); - if (!self::$sendHeaders) { - return; - } - - self::$json['request_uri'] = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : ''; - } - - $json = Utils::jsonEncode(self::$json, null, true); - $data = base64_encode(utf8_encode($json)); - if (strlen($data) > 3 * 1024) { - self::$overflowed = true; - - $record = array( - 'message' => 'Incomplete logs, chrome header size limit reached', - 'context' => array(), - 'level' => Logger::WARNING, - 'level_name' => Logger::getLevelName(Logger::WARNING), - 'channel' => 'monolog', - 'datetime' => new \DateTime(), - 'extra' => array(), - ); - self::$json['rows'][count(self::$json['rows']) - 1] = $this->getFormatter()->format($record); - $json = Utils::jsonEncode(self::$json, null, true); - $data = base64_encode(utf8_encode($json)); - } - - if (trim($data) !== '') { - $this->sendHeader(self::HEADER_NAME, $data); - } - } - - /** - * Send header string to the client - * - * @param string $header - * @param string $content - */ - protected function sendHeader($header, $content) - { - if (!headers_sent() && self::$sendHeaders) { - header(sprintf('%s: %s', $header, $content)); - } - } - - /** - * Verifies if the headers are accepted by the current user agent - * - * @return bool - */ - protected function headersAccepted() - { - if (empty($_SERVER['HTTP_USER_AGENT'])) { - return false; - } - - return preg_match(self::USER_AGENT_REGEX, $_SERVER['HTTP_USER_AGENT']); - } - - /** - * BC getter for the sendHeaders property that has been made static - */ - public function __get($property) - { - if ('sendHeaders' !== $property) { - throw new \InvalidArgumentException('Undefined property '.$property); - } - - return static::$sendHeaders; - } - - /** - * BC setter for the sendHeaders property that has been made static - */ - public function __set($property, $value) - { - if ('sendHeaders' !== $property) { - throw new \InvalidArgumentException('Undefined property '.$property); - } - - static::$sendHeaders = $value; - } -} diff --git a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/CouchDBHandler.php b/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/CouchDBHandler.php deleted file mode 100644 index cc98697..0000000 --- a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/CouchDBHandler.php +++ /dev/null @@ -1,72 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Monolog\Handler; - -use Monolog\Formatter\JsonFormatter; -use Monolog\Logger; - -/** - * CouchDB handler - * - * @author Markus Bachmann - */ -class CouchDBHandler extends AbstractProcessingHandler -{ - private $options; - - public function __construct(array $options = array(), $level = Logger::DEBUG, $bubble = true) - { - $this->options = array_merge(array( - 'host' => 'localhost', - 'port' => 5984, - 'dbname' => 'logger', - 'username' => null, - 'password' => null, - ), $options); - - parent::__construct($level, $bubble); - } - - /** - * {@inheritDoc} - */ - protected function write(array $record) - { - $basicAuth = null; - if ($this->options['username']) { - $basicAuth = sprintf('%s:%s@', $this->options['username'], $this->options['password']); - } - - $url = 'http://'.$basicAuth.$this->options['host'].':'.$this->options['port'].'/'.$this->options['dbname']; - $context = stream_context_create(array( - 'http' => array( - 'method' => 'POST', - 'content' => $record['formatted'], - 'ignore_errors' => true, - 'max_redirects' => 0, - 'header' => 'Content-type: application/json', - ), - )); - - if (false === @file_get_contents($url, null, $context)) { - throw new \RuntimeException(sprintf('Could not connect to %s', $url)); - } - } - - /** - * {@inheritDoc} - */ - protected function getDefaultFormatter() - { - return new JsonFormatter(JsonFormatter::BATCH_MODE_JSON, false); - } -} diff --git a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/CubeHandler.php b/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/CubeHandler.php deleted file mode 100644 index 44928ef..0000000 --- a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/CubeHandler.php +++ /dev/null @@ -1,152 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Monolog\Handler; - -use Monolog\Logger; -use Monolog\Utils; - -/** - * Logs to Cube. - * - * @link http://square.github.com/cube/ - * @author Wan Chen - */ -class CubeHandler extends AbstractProcessingHandler -{ - private $udpConnection; - private $httpConnection; - private $scheme; - private $host; - private $port; - private $acceptedSchemes = array('http', 'udp'); - - /** - * Create a Cube handler - * - * @throws \UnexpectedValueException when given url is not a valid url. - * A valid url must consist of three parts : protocol://host:port - * Only valid protocols used by Cube are http and udp - */ - public function __construct($url, $level = Logger::DEBUG, $bubble = true) - { - $urlInfo = parse_url($url); - - if (!isset($urlInfo['scheme'], $urlInfo['host'], $urlInfo['port'])) { - throw new \UnexpectedValueException('URL "'.$url.'" is not valid'); - } - - if (!in_array($urlInfo['scheme'], $this->acceptedSchemes)) { - throw new \UnexpectedValueException( - 'Invalid protocol (' . $urlInfo['scheme'] . ').' - . ' Valid options are ' . implode(', ', $this->acceptedSchemes)); - } - - $this->scheme = $urlInfo['scheme']; - $this->host = $urlInfo['host']; - $this->port = $urlInfo['port']; - - parent::__construct($level, $bubble); - } - - /** - * Establish a connection to an UDP socket - * - * @throws \LogicException when unable to connect to the socket - * @throws MissingExtensionException when there is no socket extension - */ - protected function connectUdp() - { - if (!extension_loaded('sockets')) { - throw new MissingExtensionException('The sockets extension is required to use udp URLs with the CubeHandler'); - } - - $this->udpConnection = socket_create(AF_INET, SOCK_DGRAM, 0); - if (!$this->udpConnection) { - throw new \LogicException('Unable to create a socket'); - } - - if (!socket_connect($this->udpConnection, $this->host, $this->port)) { - throw new \LogicException('Unable to connect to the socket at ' . $this->host . ':' . $this->port); - } - } - - /** - * Establish a connection to a http server - * @throws \LogicException when no curl extension - */ - protected function connectHttp() - { - if (!extension_loaded('curl')) { - throw new \LogicException('The curl extension is needed to use http URLs with the CubeHandler'); - } - - $this->httpConnection = curl_init('http://'.$this->host.':'.$this->port.'/1.0/event/put'); - - if (!$this->httpConnection) { - throw new \LogicException('Unable to connect to ' . $this->host . ':' . $this->port); - } - - curl_setopt($this->httpConnection, CURLOPT_CUSTOMREQUEST, "POST"); - curl_setopt($this->httpConnection, CURLOPT_RETURNTRANSFER, true); - } - - /** - * {@inheritdoc} - */ - protected function write(array $record) - { - $date = $record['datetime']; - - $data = array('time' => $date->format('Y-m-d\TH:i:s.uO')); - unset($record['datetime']); - - if (isset($record['context']['type'])) { - $data['type'] = $record['context']['type']; - unset($record['context']['type']); - } else { - $data['type'] = $record['channel']; - } - - $data['data'] = $record['context']; - $data['data']['level'] = $record['level']; - - if ($this->scheme === 'http') { - $this->writeHttp(Utils::jsonEncode($data)); - } else { - $this->writeUdp(Utils::jsonEncode($data)); - } - } - - private function writeUdp($data) - { - if (!$this->udpConnection) { - $this->connectUdp(); - } - - socket_send($this->udpConnection, $data, strlen($data), 0); - } - - private function writeHttp($data) - { - if (!$this->httpConnection) { - $this->connectHttp(); - } - - curl_setopt($this->httpConnection, CURLOPT_POSTFIELDS, '['.$data.']'); - curl_setopt($this->httpConnection, CURLOPT_HTTPHEADER, array( - 'Content-Type: application/json', - 'Content-Length: ' . strlen('['.$data.']'), - )); - - Curl\Util::execute($this->httpConnection, 5, false); - } -} diff --git a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/Curl/Util.php b/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/Curl/Util.php deleted file mode 100644 index 48d30b3..0000000 --- a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/Curl/Util.php +++ /dev/null @@ -1,57 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Monolog\Handler\Curl; - -class Util -{ - private static $retriableErrorCodes = array( - CURLE_COULDNT_RESOLVE_HOST, - CURLE_COULDNT_CONNECT, - CURLE_HTTP_NOT_FOUND, - CURLE_READ_ERROR, - CURLE_OPERATION_TIMEOUTED, - CURLE_HTTP_POST_ERROR, - CURLE_SSL_CONNECT_ERROR, - ); - - /** - * Executes a CURL request with optional retries and exception on failure - * - * @param resource $ch curl handler - * @throws \RuntimeException - */ - public static function execute($ch, $retries = 5, $closeAfterDone = true) - { - while ($retries--) { - if (curl_exec($ch) === false) { - $curlErrno = curl_errno($ch); - - if (false === in_array($curlErrno, self::$retriableErrorCodes, true) || !$retries) { - $curlError = curl_error($ch); - - if ($closeAfterDone) { - curl_close($ch); - } - - throw new \RuntimeException(sprintf('Curl error (code %s): %s', $curlErrno, $curlError)); - } - - continue; - } - - if ($closeAfterDone) { - curl_close($ch); - } - break; - } - } -} diff --git a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/DeduplicationHandler.php b/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/DeduplicationHandler.php deleted file mode 100644 index 35b55cb..0000000 --- a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/DeduplicationHandler.php +++ /dev/null @@ -1,169 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Monolog\Handler; - -use Monolog\Logger; - -/** - * Simple handler wrapper that deduplicates log records across multiple requests - * - * It also includes the BufferHandler functionality and will buffer - * all messages until the end of the request or flush() is called. - * - * This works by storing all log records' messages above $deduplicationLevel - * to the file specified by $deduplicationStore. When further logs come in at the end of the - * request (or when flush() is called), all those above $deduplicationLevel are checked - * against the existing stored logs. If they match and the timestamps in the stored log is - * not older than $time seconds, the new log record is discarded. If no log record is new, the - * whole data set is discarded. - * - * This is mainly useful in combination with Mail handlers or things like Slack or HipChat handlers - * that send messages to people, to avoid spamming with the same message over and over in case of - * a major component failure like a database server being down which makes all requests fail in the - * same way. - * - * @author Jordi Boggiano - */ -class DeduplicationHandler extends BufferHandler -{ - /** - * @var string - */ - protected $deduplicationStore; - - /** - * @var int - */ - protected $deduplicationLevel; - - /** - * @var int - */ - protected $time; - - /** - * @var bool - */ - private $gc = false; - - /** - * @param HandlerInterface $handler Handler. - * @param string $deduplicationStore The file/path where the deduplication log should be kept - * @param int $deduplicationLevel The minimum logging level for log records to be looked at for deduplication purposes - * @param int $time The period (in seconds) during which duplicate entries should be suppressed after a given log is sent through - * @param bool $bubble Whether the messages that are handled can bubble up the stack or not - */ - public function __construct(HandlerInterface $handler, $deduplicationStore = null, $deduplicationLevel = Logger::ERROR, $time = 60, $bubble = true) - { - parent::__construct($handler, 0, Logger::DEBUG, $bubble, false); - - $this->deduplicationStore = $deduplicationStore === null ? sys_get_temp_dir() . '/monolog-dedup-' . substr(md5(__FILE__), 0, 20) .'.log' : $deduplicationStore; - $this->deduplicationLevel = Logger::toMonologLevel($deduplicationLevel); - $this->time = $time; - } - - public function flush() - { - if ($this->bufferSize === 0) { - return; - } - - $passthru = null; - - foreach ($this->buffer as $record) { - if ($record['level'] >= $this->deduplicationLevel) { - - $passthru = $passthru || !$this->isDuplicate($record); - if ($passthru) { - $this->appendRecord($record); - } - } - } - - // default of null is valid as well as if no record matches duplicationLevel we just pass through - if ($passthru === true || $passthru === null) { - $this->handler->handleBatch($this->buffer); - } - - $this->clear(); - - if ($this->gc) { - $this->collectLogs(); - } - } - - private function isDuplicate(array $record) - { - if (!file_exists($this->deduplicationStore)) { - return false; - } - - $store = file($this->deduplicationStore, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); - if (!is_array($store)) { - return false; - } - - $yesterday = time() - 86400; - $timestampValidity = $record['datetime']->getTimestamp() - $this->time; - $expectedMessage = preg_replace('{[\r\n].*}', '', $record['message']); - - for ($i = count($store) - 1; $i >= 0; $i--) { - list($timestamp, $level, $message) = explode(':', $store[$i], 3); - - if ($level === $record['level_name'] && $message === $expectedMessage && $timestamp > $timestampValidity) { - return true; - } - - if ($timestamp < $yesterday) { - $this->gc = true; - } - } - - return false; - } - - private function collectLogs() - { - if (!file_exists($this->deduplicationStore)) { - return false; - } - - $handle = fopen($this->deduplicationStore, 'rw+'); - flock($handle, LOCK_EX); - $validLogs = array(); - - $timestampValidity = time() - $this->time; - - while (!feof($handle)) { - $log = fgets($handle); - if (substr($log, 0, 10) >= $timestampValidity) { - $validLogs[] = $log; - } - } - - ftruncate($handle, 0); - rewind($handle); - foreach ($validLogs as $log) { - fwrite($handle, $log); - } - - flock($handle, LOCK_UN); - fclose($handle); - - $this->gc = false; - } - - private function appendRecord(array $record) - { - file_put_contents($this->deduplicationStore, $record['datetime']->getTimestamp() . ':' . $record['level_name'] . ':' . preg_replace('{[\r\n].*}', '', $record['message']) . "\n", FILE_APPEND); - } -} diff --git a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/DoctrineCouchDBHandler.php b/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/DoctrineCouchDBHandler.php deleted file mode 100644 index b91ffec..0000000 --- a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/DoctrineCouchDBHandler.php +++ /dev/null @@ -1,45 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Monolog\Handler; - -use Monolog\Logger; -use Monolog\Formatter\NormalizerFormatter; -use Doctrine\CouchDB\CouchDBClient; - -/** - * CouchDB handler for Doctrine CouchDB ODM - * - * @author Markus Bachmann - */ -class DoctrineCouchDBHandler extends AbstractProcessingHandler -{ - private $client; - - public function __construct(CouchDBClient $client, $level = Logger::DEBUG, $bubble = true) - { - $this->client = $client; - parent::__construct($level, $bubble); - } - - /** - * {@inheritDoc} - */ - protected function write(array $record) - { - $this->client->postDocument($record['formatted']); - } - - protected function getDefaultFormatter() - { - return new NormalizerFormatter; - } -} diff --git a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/DynamoDbHandler.php b/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/DynamoDbHandler.php deleted file mode 100644 index 237b71f..0000000 --- a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/DynamoDbHandler.php +++ /dev/null @@ -1,107 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Monolog\Handler; - -use Aws\Sdk; -use Aws\DynamoDb\DynamoDbClient; -use Aws\DynamoDb\Marshaler; -use Monolog\Formatter\ScalarFormatter; -use Monolog\Logger; - -/** - * Amazon DynamoDB handler (http://aws.amazon.com/dynamodb/) - * - * @link https://github.com/aws/aws-sdk-php/ - * @author Andrew Lawson - */ -class DynamoDbHandler extends AbstractProcessingHandler -{ - const DATE_FORMAT = 'Y-m-d\TH:i:s.uO'; - - /** - * @var DynamoDbClient - */ - protected $client; - - /** - * @var string - */ - protected $table; - - /** - * @var int - */ - protected $version; - - /** - * @var Marshaler - */ - protected $marshaler; - - /** - * @param DynamoDbClient $client - * @param string $table - * @param int $level - * @param bool $bubble - */ - public function __construct(DynamoDbClient $client, $table, $level = Logger::DEBUG, $bubble = true) - { - if (defined('Aws\Sdk::VERSION') && version_compare(Sdk::VERSION, '3.0', '>=')) { - $this->version = 3; - $this->marshaler = new Marshaler; - } else { - $this->version = 2; - } - - $this->client = $client; - $this->table = $table; - - parent::__construct($level, $bubble); - } - - /** - * {@inheritdoc} - */ - protected function write(array $record) - { - $filtered = $this->filterEmptyFields($record['formatted']); - if ($this->version === 3) { - $formatted = $this->marshaler->marshalItem($filtered); - } else { - $formatted = $this->client->formatAttributes($filtered); - } - - $this->client->putItem(array( - 'TableName' => $this->table, - 'Item' => $formatted, - )); - } - - /** - * @param array $record - * @return array - */ - protected function filterEmptyFields(array $record) - { - return array_filter($record, function ($value) { - return !empty($value) || false === $value || 0 === $value; - }); - } - - /** - * {@inheritdoc} - */ - protected function getDefaultFormatter() - { - return new ScalarFormatter(self::DATE_FORMAT); - } -} diff --git a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/ElasticSearchHandler.php b/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/ElasticSearchHandler.php deleted file mode 100644 index bb0f83e..0000000 --- a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/ElasticSearchHandler.php +++ /dev/null @@ -1,128 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Monolog\Handler; - -use Monolog\Formatter\FormatterInterface; -use Monolog\Formatter\ElasticaFormatter; -use Monolog\Logger; -use Elastica\Client; -use Elastica\Exception\ExceptionInterface; - -/** - * Elastic Search handler - * - * Usage example: - * - * $client = new \Elastica\Client(); - * $options = array( - * 'index' => 'elastic_index_name', - * 'type' => 'elastic_doc_type', - * ); - * $handler = new ElasticSearchHandler($client, $options); - * $log = new Logger('application'); - * $log->pushHandler($handler); - * - * @author Jelle Vink - */ -class ElasticSearchHandler extends AbstractProcessingHandler -{ - /** - * @var Client - */ - protected $client; - - /** - * @var array Handler config options - */ - protected $options = array(); - - /** - * @param Client $client Elastica Client object - * @param array $options Handler configuration - * @param int $level The minimum logging level at which this handler will be triggered - * @param bool $bubble Whether the messages that are handled can bubble up the stack or not - */ - public function __construct(Client $client, array $options = array(), $level = Logger::DEBUG, $bubble = true) - { - parent::__construct($level, $bubble); - $this->client = $client; - $this->options = array_merge( - array( - 'index' => 'monolog', // Elastic index name - 'type' => 'record', // Elastic document type - 'ignore_error' => false, // Suppress Elastica exceptions - ), - $options - ); - } - - /** - * {@inheritDoc} - */ - protected function write(array $record) - { - $this->bulkSend(array($record['formatted'])); - } - - /** - * {@inheritdoc} - */ - public function setFormatter(FormatterInterface $formatter) - { - if ($formatter instanceof ElasticaFormatter) { - return parent::setFormatter($formatter); - } - throw new \InvalidArgumentException('ElasticSearchHandler is only compatible with ElasticaFormatter'); - } - - /** - * Getter options - * @return array - */ - public function getOptions() - { - return $this->options; - } - - /** - * {@inheritDoc} - */ - protected function getDefaultFormatter() - { - return new ElasticaFormatter($this->options['index'], $this->options['type']); - } - - /** - * {@inheritdoc} - */ - public function handleBatch(array $records) - { - $documents = $this->getFormatter()->formatBatch($records); - $this->bulkSend($documents); - } - - /** - * Use Elasticsearch bulk API to send list of documents - * @param array $documents - * @throws \RuntimeException - */ - protected function bulkSend(array $documents) - { - try { - $this->client->addDocuments($documents); - } catch (ExceptionInterface $e) { - if (!$this->options['ignore_error']) { - throw new \RuntimeException("Error sending messages to Elasticsearch", 0, $e); - } - } - } -} diff --git a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/ErrorLogHandler.php b/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/ErrorLogHandler.php deleted file mode 100644 index b2986b0..0000000 --- a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/ErrorLogHandler.php +++ /dev/null @@ -1,82 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Monolog\Handler; - -use Monolog\Formatter\LineFormatter; -use Monolog\Logger; - -/** - * Stores to PHP error_log() handler. - * - * @author Elan Ruusamäe - */ -class ErrorLogHandler extends AbstractProcessingHandler -{ - const OPERATING_SYSTEM = 0; - const SAPI = 4; - - protected $messageType; - protected $expandNewlines; - - /** - * @param int $messageType Says where the error should go. - * @param int $level The minimum logging level at which this handler will be triggered - * @param bool $bubble Whether the messages that are handled can bubble up the stack or not - * @param bool $expandNewlines If set to true, newlines in the message will be expanded to be take multiple log entries - */ - public function __construct($messageType = self::OPERATING_SYSTEM, $level = Logger::DEBUG, $bubble = true, $expandNewlines = false) - { - parent::__construct($level, $bubble); - - if (false === in_array($messageType, self::getAvailableTypes())) { - $message = sprintf('The given message type "%s" is not supported', print_r($messageType, true)); - throw new \InvalidArgumentException($message); - } - - $this->messageType = $messageType; - $this->expandNewlines = $expandNewlines; - } - - /** - * @return array With all available types - */ - public static function getAvailableTypes() - { - return array( - self::OPERATING_SYSTEM, - self::SAPI, - ); - } - - /** - * {@inheritDoc} - */ - protected function getDefaultFormatter() - { - return new LineFormatter('[%datetime%] %channel%.%level_name%: %message% %context% %extra%'); - } - - /** - * {@inheritdoc} - */ - protected function write(array $record) - { - if ($this->expandNewlines) { - $lines = preg_split('{[\r\n]+}', (string) $record['formatted']); - foreach ($lines as $line) { - error_log($line, $this->messageType); - } - } else { - error_log((string) $record['formatted'], $this->messageType); - } - } -} diff --git a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/FilterHandler.php b/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/FilterHandler.php deleted file mode 100644 index 11ede52..0000000 --- a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/FilterHandler.php +++ /dev/null @@ -1,170 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Monolog\Handler; - -use Monolog\Logger; -use Monolog\Formatter\FormatterInterface; - -/** - * Simple handler wrapper that filters records based on a list of levels - * - * It can be configured with an exact list of levels to allow, or a min/max level. - * - * @author Hennadiy Verkh - * @author Jordi Boggiano - */ -class FilterHandler extends AbstractHandler -{ - /** - * Handler or factory callable($record, $this) - * - * @var callable|\Monolog\Handler\HandlerInterface - */ - protected $handler; - - /** - * Minimum level for logs that are passed to handler - * - * @var int[] - */ - protected $acceptedLevels; - - /** - * Whether the messages that are handled can bubble up the stack or not - * - * @var bool - */ - protected $bubble; - - /** - * @param callable|HandlerInterface $handler Handler or factory callable($record|null, $filterHandler). - * @param int|array $minLevelOrList A list of levels to accept or a minimum level if maxLevel is provided - * @param int $maxLevel Maximum level to accept, only used if $minLevelOrList is not an array - * @param bool $bubble Whether the messages that are handled can bubble up the stack or not - */ - public function __construct($handler, $minLevelOrList = Logger::DEBUG, $maxLevel = Logger::EMERGENCY, $bubble = true) - { - $this->handler = $handler; - $this->bubble = $bubble; - $this->setAcceptedLevels($minLevelOrList, $maxLevel); - - if (!$this->handler instanceof HandlerInterface && !is_callable($this->handler)) { - throw new \RuntimeException("The given handler (".json_encode($this->handler).") is not a callable nor a Monolog\Handler\HandlerInterface object"); - } - } - - /** - * @return array - */ - public function getAcceptedLevels() - { - return array_flip($this->acceptedLevels); - } - - /** - * @param int|string|array $minLevelOrList A list of levels to accept or a minimum level or level name if maxLevel is provided - * @param int|string $maxLevel Maximum level or level name to accept, only used if $minLevelOrList is not an array - */ - public function setAcceptedLevels($minLevelOrList = Logger::DEBUG, $maxLevel = Logger::EMERGENCY) - { - if (is_array($minLevelOrList)) { - $acceptedLevels = array_map('Monolog\Logger::toMonologLevel', $minLevelOrList); - } else { - $minLevelOrList = Logger::toMonologLevel($minLevelOrList); - $maxLevel = Logger::toMonologLevel($maxLevel); - $acceptedLevels = array_values(array_filter(Logger::getLevels(), function ($level) use ($minLevelOrList, $maxLevel) { - return $level >= $minLevelOrList && $level <= $maxLevel; - })); - } - $this->acceptedLevels = array_flip($acceptedLevels); - } - - /** - * {@inheritdoc} - */ - public function isHandling(array $record) - { - return isset($this->acceptedLevels[$record['level']]); - } - - /** - * {@inheritdoc} - */ - public function handle(array $record) - { - if (!$this->isHandling($record)) { - return false; - } - - if ($this->processors) { - foreach ($this->processors as $processor) { - $record = call_user_func($processor, $record); - } - } - - $this->getHandler($record)->handle($record); - - return false === $this->bubble; - } - - /** - * {@inheritdoc} - */ - public function handleBatch(array $records) - { - $filtered = array(); - foreach ($records as $record) { - if ($this->isHandling($record)) { - $filtered[] = $record; - } - } - - $this->getHandler($filtered[count($filtered) - 1])->handleBatch($filtered); - } - - /** - * Return the nested handler - * - * If the handler was provided as a factory callable, this will trigger the handler's instantiation. - * - * @return HandlerInterface - */ - public function getHandler(array $record = null) - { - if (!$this->handler instanceof HandlerInterface) { - $this->handler = call_user_func($this->handler, $record, $this); - if (!$this->handler instanceof HandlerInterface) { - throw new \RuntimeException("The factory callable should return a HandlerInterface"); - } - } - - return $this->handler; - } - - /** - * {@inheritdoc} - */ - public function setFormatter(FormatterInterface $formatter) - { - $this->getHandler()->setFormatter($formatter); - - return $this; - } - - /** - * {@inheritdoc} - */ - public function getFormatter() - { - return $this->getHandler()->getFormatter(); - } -} diff --git a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/FingersCrossed/ActivationStrategyInterface.php b/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/FingersCrossed/ActivationStrategyInterface.php deleted file mode 100644 index aaca12c..0000000 --- a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/FingersCrossed/ActivationStrategyInterface.php +++ /dev/null @@ -1,28 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Monolog\Handler\FingersCrossed; - -/** - * Interface for activation strategies for the FingersCrossedHandler. - * - * @author Johannes M. Schmitt - */ -interface ActivationStrategyInterface -{ - /** - * Returns whether the given record activates the handler. - * - * @param array $record - * @return bool - */ - public function isHandlerActivated(array $record); -} diff --git a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/FingersCrossed/ChannelLevelActivationStrategy.php b/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/FingersCrossed/ChannelLevelActivationStrategy.php deleted file mode 100644 index 2a2a64d..0000000 --- a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/FingersCrossed/ChannelLevelActivationStrategy.php +++ /dev/null @@ -1,59 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Monolog\Handler\FingersCrossed; - -use Monolog\Logger; - -/** - * Channel and Error level based monolog activation strategy. Allows to trigger activation - * based on level per channel. e.g. trigger activation on level 'ERROR' by default, except - * for records of the 'sql' channel; those should trigger activation on level 'WARN'. - * - * Example: - * - * - * $activationStrategy = new ChannelLevelActivationStrategy( - * Logger::CRITICAL, - * array( - * 'request' => Logger::ALERT, - * 'sensitive' => Logger::ERROR, - * ) - * ); - * $handler = new FingersCrossedHandler(new StreamHandler('php://stderr'), $activationStrategy); - * - * - * @author Mike Meessen - */ -class ChannelLevelActivationStrategy implements ActivationStrategyInterface -{ - private $defaultActionLevel; - private $channelToActionLevel; - - /** - * @param int $defaultActionLevel The default action level to be used if the record's category doesn't match any - * @param array $channelToActionLevel An array that maps channel names to action levels. - */ - public function __construct($defaultActionLevel, $channelToActionLevel = array()) - { - $this->defaultActionLevel = Logger::toMonologLevel($defaultActionLevel); - $this->channelToActionLevel = array_map('Monolog\Logger::toMonologLevel', $channelToActionLevel); - } - - public function isHandlerActivated(array $record) - { - if (isset($this->channelToActionLevel[$record['channel']])) { - return $record['level'] >= $this->channelToActionLevel[$record['channel']]; - } - - return $record['level'] >= $this->defaultActionLevel; - } -} diff --git a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/FingersCrossed/ErrorLevelActivationStrategy.php b/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/FingersCrossed/ErrorLevelActivationStrategy.php deleted file mode 100644 index 6e63085..0000000 --- a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/FingersCrossed/ErrorLevelActivationStrategy.php +++ /dev/null @@ -1,34 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Monolog\Handler\FingersCrossed; - -use Monolog\Logger; - -/** - * Error level based activation strategy. - * - * @author Johannes M. Schmitt - */ -class ErrorLevelActivationStrategy implements ActivationStrategyInterface -{ - private $actionLevel; - - public function __construct($actionLevel) - { - $this->actionLevel = Logger::toMonologLevel($actionLevel); - } - - public function isHandlerActivated(array $record) - { - return $record['level'] >= $this->actionLevel; - } -} diff --git a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/FingersCrossedHandler.php b/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/FingersCrossedHandler.php deleted file mode 100644 index cdabc44..0000000 --- a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/FingersCrossedHandler.php +++ /dev/null @@ -1,207 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Monolog\Handler; - -use Monolog\Handler\FingersCrossed\ErrorLevelActivationStrategy; -use Monolog\Handler\FingersCrossed\ActivationStrategyInterface; -use Monolog\Logger; -use Monolog\ResettableInterface; -use Monolog\Formatter\FormatterInterface; - -/** - * Buffers all records until a certain level is reached - * - * The advantage of this approach is that you don't get any clutter in your log files. - * Only requests which actually trigger an error (or whatever your actionLevel is) will be - * in the logs, but they will contain all records, not only those above the level threshold. - * - * You can find the various activation strategies in the - * Monolog\Handler\FingersCrossed\ namespace. - * - * @author Jordi Boggiano - */ -class FingersCrossedHandler extends AbstractHandler -{ - protected $handler; - protected $activationStrategy; - protected $buffering = true; - protected $bufferSize; - protected $buffer = array(); - protected $stopBuffering; - protected $passthruLevel; - - /** - * @param callable|HandlerInterface $handler Handler or factory callable($record|null, $fingersCrossedHandler). - * @param int|ActivationStrategyInterface $activationStrategy Strategy which determines when this handler takes action - * @param int $bufferSize How many entries should be buffered at most, beyond that the oldest items are removed from the buffer. - * @param bool $bubble Whether the messages that are handled can bubble up the stack or not - * @param bool $stopBuffering Whether the handler should stop buffering after being triggered (default true) - * @param int $passthruLevel Minimum level to always flush to handler on close, even if strategy not triggered - */ - public function __construct($handler, $activationStrategy = null, $bufferSize = 0, $bubble = true, $stopBuffering = true, $passthruLevel = null) - { - if (null === $activationStrategy) { - $activationStrategy = new ErrorLevelActivationStrategy(Logger::WARNING); - } - - // convert simple int activationStrategy to an object - if (!$activationStrategy instanceof ActivationStrategyInterface) { - $activationStrategy = new ErrorLevelActivationStrategy($activationStrategy); - } - - $this->handler = $handler; - $this->activationStrategy = $activationStrategy; - $this->bufferSize = $bufferSize; - $this->bubble = $bubble; - $this->stopBuffering = $stopBuffering; - - if ($passthruLevel !== null) { - $this->passthruLevel = Logger::toMonologLevel($passthruLevel); - } - - if (!$this->handler instanceof HandlerInterface && !is_callable($this->handler)) { - throw new \RuntimeException("The given handler (".json_encode($this->handler).") is not a callable nor a Monolog\Handler\HandlerInterface object"); - } - } - - /** - * {@inheritdoc} - */ - public function isHandling(array $record) - { - return true; - } - - /** - * Manually activate this logger regardless of the activation strategy - */ - public function activate() - { - if ($this->stopBuffering) { - $this->buffering = false; - } - $this->getHandler(end($this->buffer) ?: null)->handleBatch($this->buffer); - $this->buffer = array(); - } - - /** - * {@inheritdoc} - */ - public function handle(array $record) - { - if ($this->processors) { - foreach ($this->processors as $processor) { - $record = call_user_func($processor, $record); - } - } - - if ($this->buffering) { - $this->buffer[] = $record; - if ($this->bufferSize > 0 && count($this->buffer) > $this->bufferSize) { - array_shift($this->buffer); - } - if ($this->activationStrategy->isHandlerActivated($record)) { - $this->activate(); - } - } else { - $this->getHandler($record)->handle($record); - } - - return false === $this->bubble; - } - - /** - * {@inheritdoc} - */ - public function close() - { - $this->flushBuffer(); - } - - public function reset() - { - $this->flushBuffer(); - - parent::reset(); - - if ($this->getHandler() instanceof ResettableInterface) { - $this->getHandler()->reset(); - } - } - - /** - * Clears the buffer without flushing any messages down to the wrapped handler. - * - * It also resets the handler to its initial buffering state. - */ - public function clear() - { - $this->buffer = array(); - $this->reset(); - } - - /** - * Resets the state of the handler. Stops forwarding records to the wrapped handler. - */ - private function flushBuffer() - { - if (null !== $this->passthruLevel) { - $level = $this->passthruLevel; - $this->buffer = array_filter($this->buffer, function ($record) use ($level) { - return $record['level'] >= $level; - }); - if (count($this->buffer) > 0) { - $this->getHandler(end($this->buffer) ?: null)->handleBatch($this->buffer); - } - } - - $this->buffer = array(); - $this->buffering = true; - } - - /** - * Return the nested handler - * - * If the handler was provided as a factory callable, this will trigger the handler's instantiation. - * - * @return HandlerInterface - */ - public function getHandler(array $record = null) - { - if (!$this->handler instanceof HandlerInterface) { - $this->handler = call_user_func($this->handler, $record, $this); - if (!$this->handler instanceof HandlerInterface) { - throw new \RuntimeException("The factory callable should return a HandlerInterface"); - } - } - - return $this->handler; - } - - /** - * {@inheritdoc} - */ - public function setFormatter(FormatterInterface $formatter) - { - $this->getHandler()->setFormatter($formatter); - - return $this; - } - - /** - * {@inheritdoc} - */ - public function getFormatter() - { - return $this->getHandler()->getFormatter(); - } -} diff --git a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/FirePHPHandler.php b/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/FirePHPHandler.php deleted file mode 100644 index c30b184..0000000 --- a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/FirePHPHandler.php +++ /dev/null @@ -1,195 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Monolog\Handler; - -use Monolog\Formatter\WildfireFormatter; - -/** - * Simple FirePHP Handler (http://www.firephp.org/), which uses the Wildfire protocol. - * - * @author Eric Clemmons (@ericclemmons) - */ -class FirePHPHandler extends AbstractProcessingHandler -{ - /** - * WildFire JSON header message format - */ - const PROTOCOL_URI = 'http://meta.wildfirehq.org/Protocol/JsonStream/0.2'; - - /** - * FirePHP structure for parsing messages & their presentation - */ - const STRUCTURE_URI = 'http://meta.firephp.org/Wildfire/Structure/FirePHP/FirebugConsole/0.1'; - - /** - * Must reference a "known" plugin, otherwise headers won't display in FirePHP - */ - const PLUGIN_URI = 'http://meta.firephp.org/Wildfire/Plugin/FirePHP/Library-FirePHPCore/0.3'; - - /** - * Header prefix for Wildfire to recognize & parse headers - */ - const HEADER_PREFIX = 'X-Wf'; - - /** - * Whether or not Wildfire vendor-specific headers have been generated & sent yet - */ - protected static $initialized = false; - - /** - * Shared static message index between potentially multiple handlers - * @var int - */ - protected static $messageIndex = 1; - - protected static $sendHeaders = true; - - /** - * Base header creation function used by init headers & record headers - * - * @param array $meta Wildfire Plugin, Protocol & Structure Indexes - * @param string $message Log message - * @return array Complete header string ready for the client as key and message as value - */ - protected function createHeader(array $meta, $message) - { - $header = sprintf('%s-%s', self::HEADER_PREFIX, join('-', $meta)); - - return array($header => $message); - } - - /** - * Creates message header from record - * - * @see createHeader() - * @param array $record - * @return string - */ - protected function createRecordHeader(array $record) - { - // Wildfire is extensible to support multiple protocols & plugins in a single request, - // but we're not taking advantage of that (yet), so we're using "1" for simplicity's sake. - return $this->createHeader( - array(1, 1, 1, self::$messageIndex++), - $record['formatted'] - ); - } - - /** - * {@inheritDoc} - */ - protected function getDefaultFormatter() - { - return new WildfireFormatter(); - } - - /** - * Wildfire initialization headers to enable message parsing - * - * @see createHeader() - * @see sendHeader() - * @return array - */ - protected function getInitHeaders() - { - // Initial payload consists of required headers for Wildfire - return array_merge( - $this->createHeader(array('Protocol', 1), self::PROTOCOL_URI), - $this->createHeader(array(1, 'Structure', 1), self::STRUCTURE_URI), - $this->createHeader(array(1, 'Plugin', 1), self::PLUGIN_URI) - ); - } - - /** - * Send header string to the client - * - * @param string $header - * @param string $content - */ - protected function sendHeader($header, $content) - { - if (!headers_sent() && self::$sendHeaders) { - header(sprintf('%s: %s', $header, $content)); - } - } - - /** - * Creates & sends header for a record, ensuring init headers have been sent prior - * - * @see sendHeader() - * @see sendInitHeaders() - * @param array $record - */ - protected function write(array $record) - { - if (!self::$sendHeaders) { - return; - } - - // WildFire-specific headers must be sent prior to any messages - if (!self::$initialized) { - self::$initialized = true; - - self::$sendHeaders = $this->headersAccepted(); - if (!self::$sendHeaders) { - return; - } - - foreach ($this->getInitHeaders() as $header => $content) { - $this->sendHeader($header, $content); - } - } - - $header = $this->createRecordHeader($record); - if (trim(current($header)) !== '') { - $this->sendHeader(key($header), current($header)); - } - } - - /** - * Verifies if the headers are accepted by the current user agent - * - * @return bool - */ - protected function headersAccepted() - { - if (!empty($_SERVER['HTTP_USER_AGENT']) && preg_match('{\bFirePHP/\d+\.\d+\b}', $_SERVER['HTTP_USER_AGENT'])) { - return true; - } - - return isset($_SERVER['HTTP_X_FIREPHP_VERSION']); - } - - /** - * BC getter for the sendHeaders property that has been made static - */ - public function __get($property) - { - if ('sendHeaders' !== $property) { - throw new \InvalidArgumentException('Undefined property '.$property); - } - - return static::$sendHeaders; - } - - /** - * BC setter for the sendHeaders property that has been made static - */ - public function __set($property, $value) - { - if ('sendHeaders' !== $property) { - throw new \InvalidArgumentException('Undefined property '.$property); - } - - static::$sendHeaders = $value; - } -} diff --git a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/FleepHookHandler.php b/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/FleepHookHandler.php deleted file mode 100644 index c43c013..0000000 --- a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/FleepHookHandler.php +++ /dev/null @@ -1,126 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Monolog\Handler; - -use Monolog\Formatter\LineFormatter; -use Monolog\Logger; - -/** - * Sends logs to Fleep.io using Webhook integrations - * - * You'll need a Fleep.io account to use this handler. - * - * @see https://fleep.io/integrations/webhooks/ Fleep Webhooks Documentation - * @author Ando Roots - */ -class FleepHookHandler extends SocketHandler -{ - const FLEEP_HOST = 'fleep.io'; - - const FLEEP_HOOK_URI = '/hook/'; - - /** - * @var string Webhook token (specifies the conversation where logs are sent) - */ - protected $token; - - /** - * Construct a new Fleep.io Handler. - * - * For instructions on how to create a new web hook in your conversations - * see https://fleep.io/integrations/webhooks/ - * - * @param string $token Webhook token - * @param bool|int $level The minimum logging level at which this handler will be triggered - * @param bool $bubble Whether the messages that are handled can bubble up the stack or not - * @throws MissingExtensionException - */ - public function __construct($token, $level = Logger::DEBUG, $bubble = true) - { - if (!extension_loaded('openssl')) { - throw new MissingExtensionException('The OpenSSL PHP extension is required to use the FleepHookHandler'); - } - - $this->token = $token; - - $connectionString = 'ssl://' . self::FLEEP_HOST . ':443'; - parent::__construct($connectionString, $level, $bubble); - } - - /** - * Returns the default formatter to use with this handler - * - * Overloaded to remove empty context and extra arrays from the end of the log message. - * - * @return LineFormatter - */ - protected function getDefaultFormatter() - { - return new LineFormatter(null, null, true, true); - } - - /** - * Handles a log record - * - * @param array $record - */ - public function write(array $record) - { - parent::write($record); - $this->closeSocket(); - } - - /** - * {@inheritdoc} - * - * @param array $record - * @return string - */ - protected function generateDataStream($record) - { - $content = $this->buildContent($record); - - return $this->buildHeader($content) . $content; - } - - /** - * Builds the header of the API Call - * - * @param string $content - * @return string - */ - private function buildHeader($content) - { - $header = "POST " . self::FLEEP_HOOK_URI . $this->token . " HTTP/1.1\r\n"; - $header .= "Host: " . self::FLEEP_HOST . "\r\n"; - $header .= "Content-Type: application/x-www-form-urlencoded\r\n"; - $header .= "Content-Length: " . strlen($content) . "\r\n"; - $header .= "\r\n"; - - return $header; - } - - /** - * Builds the body of API call - * - * @param array $record - * @return string - */ - private function buildContent($record) - { - $dataArray = array( - 'message' => $record['formatted'], - ); - - return http_build_query($dataArray); - } -} diff --git a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/FlowdockHandler.php b/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/FlowdockHandler.php deleted file mode 100644 index f0f010c..0000000 --- a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/FlowdockHandler.php +++ /dev/null @@ -1,128 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Monolog\Handler; - -use Monolog\Logger; -use Monolog\Utils; -use Monolog\Formatter\FlowdockFormatter; -use Monolog\Formatter\FormatterInterface; - -/** - * Sends notifications through the Flowdock push API - * - * This must be configured with a FlowdockFormatter instance via setFormatter() - * - * Notes: - * API token - Flowdock API token - * - * @author Dominik Liebler - * @see https://www.flowdock.com/api/push - */ -class FlowdockHandler extends SocketHandler -{ - /** - * @var string - */ - protected $apiToken; - - /** - * @param string $apiToken - * @param bool|int $level The minimum logging level at which this handler will be triggered - * @param bool $bubble Whether the messages that are handled can bubble up the stack or not - * - * @throws MissingExtensionException if OpenSSL is missing - */ - public function __construct($apiToken, $level = Logger::DEBUG, $bubble = true) - { - if (!extension_loaded('openssl')) { - throw new MissingExtensionException('The OpenSSL PHP extension is required to use the FlowdockHandler'); - } - - parent::__construct('ssl://api.flowdock.com:443', $level, $bubble); - $this->apiToken = $apiToken; - } - - /** - * {@inheritdoc} - */ - public function setFormatter(FormatterInterface $formatter) - { - if (!$formatter instanceof FlowdockFormatter) { - throw new \InvalidArgumentException('The FlowdockHandler requires an instance of Monolog\Formatter\FlowdockFormatter to function correctly'); - } - - return parent::setFormatter($formatter); - } - - /** - * Gets the default formatter. - * - * @return FormatterInterface - */ - protected function getDefaultFormatter() - { - throw new \InvalidArgumentException('The FlowdockHandler must be configured (via setFormatter) with an instance of Monolog\Formatter\FlowdockFormatter to function correctly'); - } - - /** - * {@inheritdoc} - * - * @param array $record - */ - protected function write(array $record) - { - parent::write($record); - - $this->closeSocket(); - } - - /** - * {@inheritdoc} - * - * @param array $record - * @return string - */ - protected function generateDataStream($record) - { - $content = $this->buildContent($record); - - return $this->buildHeader($content) . $content; - } - - /** - * Builds the body of API call - * - * @param array $record - * @return string - */ - private function buildContent($record) - { - return Utils::jsonEncode($record['formatted']['flowdock']); - } - - /** - * Builds the header of the API Call - * - * @param string $content - * @return string - */ - private function buildHeader($content) - { - $header = "POST /v1/messages/team_inbox/" . $this->apiToken . " HTTP/1.1\r\n"; - $header .= "Host: api.flowdock.com\r\n"; - $header .= "Content-Type: application/json\r\n"; - $header .= "Content-Length: " . strlen($content) . "\r\n"; - $header .= "\r\n"; - - return $header; - } -} diff --git a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/FormattableHandlerInterface.php b/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/FormattableHandlerInterface.php deleted file mode 100644 index 3e2f1b2..0000000 --- a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/FormattableHandlerInterface.php +++ /dev/null @@ -1,39 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Monolog\Handler; - -use Monolog\Formatter\FormatterInterface; - -/** - * Interface to describe loggers that have a formatter - * - * This interface is present in monolog 1.x to ease forward compatibility. - * - * @author Jordi Boggiano - */ -interface FormattableHandlerInterface -{ - /** - * Sets the formatter. - * - * @param FormatterInterface $formatter - * @return HandlerInterface self - */ - public function setFormatter(FormatterInterface $formatter): HandlerInterface; - - /** - * Gets the formatter. - * - * @return FormatterInterface - */ - public function getFormatter(): FormatterInterface; -} diff --git a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/FormattableHandlerTrait.php b/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/FormattableHandlerTrait.php deleted file mode 100644 index e9ec5e7..0000000 --- a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/FormattableHandlerTrait.php +++ /dev/null @@ -1,63 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Monolog\Handler; - -use Monolog\Formatter\FormatterInterface; -use Monolog\Formatter\LineFormatter; - -/** - * Helper trait for implementing FormattableInterface - * - * This trait is present in monolog 1.x to ease forward compatibility. - * - * @author Jordi Boggiano - */ -trait FormattableHandlerTrait -{ - /** - * @var FormatterInterface - */ - protected $formatter; - - /** - * {@inheritdoc} - * @suppress PhanTypeMismatchReturn - */ - public function setFormatter(FormatterInterface $formatter): HandlerInterface - { - $this->formatter = $formatter; - - return $this; - } - - /** - * {@inheritdoc} - */ - public function getFormatter(): FormatterInterface - { - if (!$this->formatter) { - $this->formatter = $this->getDefaultFormatter(); - } - - return $this->formatter; - } - - /** - * Gets the default formatter. - * - * Overwrite this if the LineFormatter is not a good default for your handler. - */ - protected function getDefaultFormatter(): FormatterInterface - { - return new LineFormatter(); - } -} diff --git a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/GelfHandler.php b/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/GelfHandler.php deleted file mode 100644 index 71e4669..0000000 --- a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/GelfHandler.php +++ /dev/null @@ -1,65 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Monolog\Handler; - -use Gelf\IMessagePublisher; -use Gelf\PublisherInterface; -use Gelf\Publisher; -use InvalidArgumentException; -use Monolog\Logger; -use Monolog\Formatter\GelfMessageFormatter; - -/** - * Handler to send messages to a Graylog2 (http://www.graylog2.org) server - * - * @author Matt Lehner - * @author Benjamin Zikarsky - */ -class GelfHandler extends AbstractProcessingHandler -{ - /** - * @var Publisher the publisher object that sends the message to the server - */ - protected $publisher; - - /** - * @param PublisherInterface|IMessagePublisher|Publisher $publisher a publisher object - * @param int $level The minimum logging level at which this handler will be triggered - * @param bool $bubble Whether the messages that are handled can bubble up the stack or not - */ - public function __construct($publisher, $level = Logger::DEBUG, $bubble = true) - { - parent::__construct($level, $bubble); - - if (!$publisher instanceof Publisher && !$publisher instanceof IMessagePublisher && !$publisher instanceof PublisherInterface) { - throw new InvalidArgumentException('Invalid publisher, expected a Gelf\Publisher, Gelf\IMessagePublisher or Gelf\PublisherInterface instance'); - } - - $this->publisher = $publisher; - } - - /** - * {@inheritdoc} - */ - protected function write(array $record) - { - $this->publisher->publish($record['formatted']); - } - - /** - * {@inheritDoc} - */ - protected function getDefaultFormatter() - { - return new GelfMessageFormatter(); - } -} diff --git a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/GroupHandler.php b/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/GroupHandler.php deleted file mode 100644 index 0d461f9..0000000 --- a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/GroupHandler.php +++ /dev/null @@ -1,117 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Monolog\Handler; - -use Monolog\Formatter\FormatterInterface; -use Monolog\ResettableInterface; - -/** - * Forwards records to multiple handlers - * - * @author Lenar Lõhmus - */ -class GroupHandler extends AbstractHandler -{ - protected $handlers; - - /** - * @param array $handlers Array of Handlers. - * @param bool $bubble Whether the messages that are handled can bubble up the stack or not - */ - public function __construct(array $handlers, $bubble = true) - { - foreach ($handlers as $handler) { - if (!$handler instanceof HandlerInterface) { - throw new \InvalidArgumentException('The first argument of the GroupHandler must be an array of HandlerInterface instances.'); - } - } - - $this->handlers = $handlers; - $this->bubble = $bubble; - } - - /** - * {@inheritdoc} - */ - public function isHandling(array $record) - { - foreach ($this->handlers as $handler) { - if ($handler->isHandling($record)) { - return true; - } - } - - return false; - } - - /** - * {@inheritdoc} - */ - public function handle(array $record) - { - if ($this->processors) { - foreach ($this->processors as $processor) { - $record = call_user_func($processor, $record); - } - } - - foreach ($this->handlers as $handler) { - $handler->handle($record); - } - - return false === $this->bubble; - } - - /** - * {@inheritdoc} - */ - public function handleBatch(array $records) - { - if ($this->processors) { - $processed = array(); - foreach ($records as $record) { - foreach ($this->processors as $processor) { - $record = call_user_func($processor, $record); - } - $processed[] = $record; - } - $records = $processed; - } - - foreach ($this->handlers as $handler) { - $handler->handleBatch($records); - } - } - - public function reset() - { - parent::reset(); - - foreach ($this->handlers as $handler) { - if ($handler instanceof ResettableInterface) { - $handler->reset(); - } - } - } - - /** - * {@inheritdoc} - */ - public function setFormatter(FormatterInterface $formatter) - { - foreach ($this->handlers as $handler) { - $handler->setFormatter($formatter); - } - - return $this; - } -} diff --git a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/HandlerInterface.php b/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/HandlerInterface.php deleted file mode 100644 index 8d5a4a0..0000000 --- a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/HandlerInterface.php +++ /dev/null @@ -1,90 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Monolog\Handler; - -use Monolog\Formatter\FormatterInterface; - -/** - * Interface that all Monolog Handlers must implement - * - * @author Jordi Boggiano - */ -interface HandlerInterface -{ - /** - * Checks whether the given record will be handled by this handler. - * - * This is mostly done for performance reasons, to avoid calling processors for nothing. - * - * Handlers should still check the record levels within handle(), returning false in isHandling() - * is no guarantee that handle() will not be called, and isHandling() might not be called - * for a given record. - * - * @param array $record Partial log record containing only a level key - * - * @return bool - */ - public function isHandling(array $record); - - /** - * Handles a record. - * - * All records may be passed to this method, and the handler should discard - * those that it does not want to handle. - * - * The return value of this function controls the bubbling process of the handler stack. - * Unless the bubbling is interrupted (by returning true), the Logger class will keep on - * calling further handlers in the stack with a given log record. - * - * @param array $record The record to handle - * @return bool true means that this handler handled the record, and that bubbling is not permitted. - * false means the record was either not processed or that this handler allows bubbling. - */ - public function handle(array $record); - - /** - * Handles a set of records at once. - * - * @param array $records The records to handle (an array of record arrays) - */ - public function handleBatch(array $records); - - /** - * Adds a processor in the stack. - * - * @param callable $callback - * @return self - */ - public function pushProcessor($callback); - - /** - * Removes the processor on top of the stack and returns it. - * - * @return callable - */ - public function popProcessor(); - - /** - * Sets the formatter. - * - * @param FormatterInterface $formatter - * @return self - */ - public function setFormatter(FormatterInterface $formatter); - - /** - * Gets the formatter. - * - * @return FormatterInterface - */ - public function getFormatter(); -} diff --git a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/HandlerWrapper.php b/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/HandlerWrapper.php deleted file mode 100644 index 55e6498..0000000 --- a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/HandlerWrapper.php +++ /dev/null @@ -1,116 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Monolog\Handler; - -use Monolog\ResettableInterface; -use Monolog\Formatter\FormatterInterface; - -/** - * This simple wrapper class can be used to extend handlers functionality. - * - * Example: A custom filtering that can be applied to any handler. - * - * Inherit from this class and override handle() like this: - * - * public function handle(array $record) - * { - * if ($record meets certain conditions) { - * return false; - * } - * return $this->handler->handle($record); - * } - * - * @author Alexey Karapetov - */ -class HandlerWrapper implements HandlerInterface, ResettableInterface -{ - /** - * @var HandlerInterface - */ - protected $handler; - - /** - * HandlerWrapper constructor. - * @param HandlerInterface $handler - */ - public function __construct(HandlerInterface $handler) - { - $this->handler = $handler; - } - - /** - * {@inheritdoc} - */ - public function isHandling(array $record) - { - return $this->handler->isHandling($record); - } - - /** - * {@inheritdoc} - */ - public function handle(array $record) - { - return $this->handler->handle($record); - } - - /** - * {@inheritdoc} - */ - public function handleBatch(array $records) - { - return $this->handler->handleBatch($records); - } - - /** - * {@inheritdoc} - */ - public function pushProcessor($callback) - { - $this->handler->pushProcessor($callback); - - return $this; - } - - /** - * {@inheritdoc} - */ - public function popProcessor() - { - return $this->handler->popProcessor(); - } - - /** - * {@inheritdoc} - */ - public function setFormatter(FormatterInterface $formatter) - { - $this->handler->setFormatter($formatter); - - return $this; - } - - /** - * {@inheritdoc} - */ - public function getFormatter() - { - return $this->handler->getFormatter(); - } - - public function reset() - { - if ($this->handler instanceof ResettableInterface) { - return $this->handler->reset(); - } - } -} diff --git a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/HipChatHandler.php b/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/HipChatHandler.php deleted file mode 100644 index 179d626..0000000 --- a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/HipChatHandler.php +++ /dev/null @@ -1,367 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Monolog\Handler; - -use Monolog\Logger; - -/** - * Sends notifications through the hipchat api to a hipchat room - * - * Notes: - * API token - HipChat API token - * Room - HipChat Room Id or name, where messages are sent - * Name - Name used to send the message (from) - * notify - Should the message trigger a notification in the clients - * version - The API version to use (HipChatHandler::API_V1 | HipChatHandler::API_V2) - * - * @author Rafael Dohms - * @see https://www.hipchat.com/docs/api - */ -class HipChatHandler extends SocketHandler -{ - /** - * Use API version 1 - */ - const API_V1 = 'v1'; - - /** - * Use API version v2 - */ - const API_V2 = 'v2'; - - /** - * The maximum allowed length for the name used in the "from" field. - */ - const MAXIMUM_NAME_LENGTH = 15; - - /** - * The maximum allowed length for the message. - */ - const MAXIMUM_MESSAGE_LENGTH = 9500; - - /** - * @var string - */ - private $token; - - /** - * @var string - */ - private $room; - - /** - * @var string - */ - private $name; - - /** - * @var bool - */ - private $notify; - - /** - * @var string - */ - private $format; - - /** - * @var string - */ - private $host; - - /** - * @var string - */ - private $version; - - /** - * @param string $token HipChat API Token - * @param string $room The room that should be alerted of the message (Id or Name) - * @param string $name Name used in the "from" field. - * @param bool $notify Trigger a notification in clients or not - * @param int $level The minimum logging level at which this handler will be triggered - * @param bool $bubble Whether the messages that are handled can bubble up the stack or not - * @param bool $useSSL Whether to connect via SSL. - * @param string $format The format of the messages (default to text, can be set to html if you have html in the messages) - * @param string $host The HipChat server hostname. - * @param string $version The HipChat API version (default HipChatHandler::API_V1) - */ - public function __construct($token, $room, $name = 'Monolog', $notify = false, $level = Logger::CRITICAL, $bubble = true, $useSSL = true, $format = 'text', $host = 'api.hipchat.com', $version = self::API_V1) - { - @trigger_error('The Monolog\Handler\HipChatHandler class is deprecated. You should migrate to Slack and the SlackWebhookHandler / SlackbotHandler, see https://www.atlassian.com/partnerships/slack', E_USER_DEPRECATED); - - if ($version == self::API_V1 && !$this->validateStringLength($name, static::MAXIMUM_NAME_LENGTH)) { - throw new \InvalidArgumentException('The supplied name is too long. HipChat\'s v1 API supports names up to 15 UTF-8 characters.'); - } - - $connectionString = $useSSL ? 'ssl://'.$host.':443' : $host.':80'; - parent::__construct($connectionString, $level, $bubble); - - $this->token = $token; - $this->name = $name; - $this->notify = $notify; - $this->room = $room; - $this->format = $format; - $this->host = $host; - $this->version = $version; - } - - /** - * {@inheritdoc} - * - * @param array $record - * @return string - */ - protected function generateDataStream($record) - { - $content = $this->buildContent($record); - - return $this->buildHeader($content) . $content; - } - - /** - * Builds the body of API call - * - * @param array $record - * @return string - */ - private function buildContent($record) - { - $dataArray = array( - 'notify' => $this->version == self::API_V1 ? - ($this->notify ? 1 : 0) : - ($this->notify ? 'true' : 'false'), - 'message' => $record['formatted'], - 'message_format' => $this->format, - 'color' => $this->getAlertColor($record['level']), - ); - - if (!$this->validateStringLength($dataArray['message'], static::MAXIMUM_MESSAGE_LENGTH)) { - if (function_exists('mb_substr')) { - $dataArray['message'] = mb_substr($dataArray['message'], 0, static::MAXIMUM_MESSAGE_LENGTH).' [truncated]'; - } else { - $dataArray['message'] = substr($dataArray['message'], 0, static::MAXIMUM_MESSAGE_LENGTH).' [truncated]'; - } - } - - // if we are using the legacy API then we need to send some additional information - if ($this->version == self::API_V1) { - $dataArray['room_id'] = $this->room; - } - - // append the sender name if it is set - // always append it if we use the v1 api (it is required in v1) - if ($this->version == self::API_V1 || $this->name !== null) { - $dataArray['from'] = (string) $this->name; - } - - return http_build_query($dataArray); - } - - /** - * Builds the header of the API Call - * - * @param string $content - * @return string - */ - private function buildHeader($content) - { - if ($this->version == self::API_V1) { - $header = "POST /v1/rooms/message?format=json&auth_token={$this->token} HTTP/1.1\r\n"; - } else { - // needed for rooms with special (spaces, etc) characters in the name - $room = rawurlencode($this->room); - $header = "POST /v2/room/{$room}/notification?auth_token={$this->token} HTTP/1.1\r\n"; - } - - $header .= "Host: {$this->host}\r\n"; - $header .= "Content-Type: application/x-www-form-urlencoded\r\n"; - $header .= "Content-Length: " . strlen($content) . "\r\n"; - $header .= "\r\n"; - - return $header; - } - - /** - * Assigns a color to each level of log records. - * - * @param int $level - * @return string - */ - protected function getAlertColor($level) - { - switch (true) { - case $level >= Logger::ERROR: - return 'red'; - case $level >= Logger::WARNING: - return 'yellow'; - case $level >= Logger::INFO: - return 'green'; - case $level == Logger::DEBUG: - return 'gray'; - default: - return 'yellow'; - } - } - - /** - * {@inheritdoc} - * - * @param array $record - */ - protected function write(array $record) - { - parent::write($record); - $this->finalizeWrite(); - } - - /** - * Finalizes the request by reading some bytes and then closing the socket - * - * If we do not read some but close the socket too early, hipchat sometimes - * drops the request entirely. - */ - protected function finalizeWrite() - { - $res = $this->getResource(); - if (is_resource($res)) { - @fread($res, 2048); - } - $this->closeSocket(); - } - - /** - * {@inheritdoc} - */ - public function handleBatch(array $records) - { - if (count($records) == 0) { - return true; - } - - $batchRecords = $this->combineRecords($records); - - $handled = false; - foreach ($batchRecords as $batchRecord) { - if ($this->isHandling($batchRecord)) { - $this->write($batchRecord); - $handled = true; - } - } - - if (!$handled) { - return false; - } - - return false === $this->bubble; - } - - /** - * Combines multiple records into one. Error level of the combined record - * will be the highest level from the given records. Datetime will be taken - * from the first record. - * - * @param $records - * @return array - */ - private function combineRecords($records) - { - $batchRecord = null; - $batchRecords = array(); - $messages = array(); - $formattedMessages = array(); - $level = 0; - $levelName = null; - $datetime = null; - - foreach ($records as $record) { - $record = $this->processRecord($record); - - if ($record['level'] > $level) { - $level = $record['level']; - $levelName = $record['level_name']; - } - - if (null === $datetime) { - $datetime = $record['datetime']; - } - - $messages[] = $record['message']; - $messageStr = implode(PHP_EOL, $messages); - $formattedMessages[] = $this->getFormatter()->format($record); - $formattedMessageStr = implode('', $formattedMessages); - - $batchRecord = array( - 'message' => $messageStr, - 'formatted' => $formattedMessageStr, - 'context' => array(), - 'extra' => array(), - ); - - if (!$this->validateStringLength($batchRecord['formatted'], static::MAXIMUM_MESSAGE_LENGTH)) { - // Pop the last message and implode the remaining messages - $lastMessage = array_pop($messages); - $lastFormattedMessage = array_pop($formattedMessages); - $batchRecord['message'] = implode(PHP_EOL, $messages); - $batchRecord['formatted'] = implode('', $formattedMessages); - - $batchRecords[] = $batchRecord; - $messages = array($lastMessage); - $formattedMessages = array($lastFormattedMessage); - - $batchRecord = null; - } - } - - if (null !== $batchRecord) { - $batchRecords[] = $batchRecord; - } - - // Set the max level and datetime for all records - foreach ($batchRecords as &$batchRecord) { - $batchRecord = array_merge( - $batchRecord, - array( - 'level' => $level, - 'level_name' => $levelName, - 'datetime' => $datetime, - ) - ); - } - - return $batchRecords; - } - - /** - * Validates the length of a string. - * - * If the `mb_strlen()` function is available, it will use that, as HipChat - * allows UTF-8 characters. Otherwise, it will fall back to `strlen()`. - * - * Note that this might cause false failures in the specific case of using - * a valid name with less than 16 characters, but 16 or more bytes, on a - * system where `mb_strlen()` is unavailable. - * - * @param string $str - * @param int $length - * - * @return bool - */ - private function validateStringLength($str, $length) - { - if (function_exists('mb_strlen')) { - return (mb_strlen($str) <= $length); - } - - return (strlen($str) <= $length); - } -} diff --git a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/IFTTTHandler.php b/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/IFTTTHandler.php deleted file mode 100644 index f4d3b97..0000000 --- a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/IFTTTHandler.php +++ /dev/null @@ -1,70 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Monolog\Handler; - -use Monolog\Logger; -use Monolog\Utils; - -/** - * IFTTTHandler uses cURL to trigger IFTTT Maker actions - * - * Register a secret key and trigger/event name at https://ifttt.com/maker - * - * value1 will be the channel from monolog's Logger constructor, - * value2 will be the level name (ERROR, WARNING, ..) - * value3 will be the log record's message - * - * @author Nehal Patel - */ -class IFTTTHandler extends AbstractProcessingHandler -{ - private $eventName; - private $secretKey; - - /** - * @param string $eventName The name of the IFTTT Maker event that should be triggered - * @param string $secretKey A valid IFTTT secret key - * @param int $level The minimum logging level at which this handler will be triggered - * @param bool $bubble Whether the messages that are handled can bubble up the stack or not - */ - public function __construct($eventName, $secretKey, $level = Logger::ERROR, $bubble = true) - { - $this->eventName = $eventName; - $this->secretKey = $secretKey; - - parent::__construct($level, $bubble); - } - - /** - * {@inheritdoc} - */ - public function write(array $record) - { - $postData = array( - "value1" => $record["channel"], - "value2" => $record["level_name"], - "value3" => $record["message"], - ); - $postString = Utils::jsonEncode($postData); - - $ch = curl_init(); - curl_setopt($ch, CURLOPT_URL, "https://maker.ifttt.com/trigger/" . $this->eventName . "/with/key/" . $this->secretKey); - curl_setopt($ch, CURLOPT_POST, true); - curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); - curl_setopt($ch, CURLOPT_POSTFIELDS, $postString); - curl_setopt($ch, CURLOPT_HTTPHEADER, array( - "Content-Type: application/json", - )); - - Curl\Util::execute($ch); - } -} diff --git a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/InsightOpsHandler.php b/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/InsightOpsHandler.php deleted file mode 100644 index 8f683dc..0000000 --- a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/InsightOpsHandler.php +++ /dev/null @@ -1,62 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - - namespace Monolog\Handler; - - use Monolog\Logger; - -/** - * Inspired on LogEntriesHandler. - * - * @author Robert Kaufmann III - * @author Gabriel Machado - */ -class InsightOpsHandler extends SocketHandler -{ - /** - * @var string - */ - protected $logToken; - - /** - * @param string $token Log token supplied by InsightOps - * @param string $region Region where InsightOps account is hosted. Could be 'us' or 'eu'. - * @param bool $useSSL Whether or not SSL encryption should be used - * @param int $level The minimum logging level to trigger this handler - * @param bool $bubble Whether or not messages that are handled should bubble up the stack. - * - * @throws MissingExtensionException If SSL encryption is set to true and OpenSSL is missing - */ - public function __construct($token, $region = 'us', $useSSL = true, $level = Logger::DEBUG, $bubble = true) - { - if ($useSSL && !extension_loaded('openssl')) { - throw new MissingExtensionException('The OpenSSL PHP plugin is required to use SSL encrypted connection for InsightOpsHandler'); - } - - $endpoint = $useSSL - ? 'ssl://' . $region . '.data.logs.insight.rapid7.com:443' - : $region . '.data.logs.insight.rapid7.com:80'; - - parent::__construct($endpoint, $level, $bubble); - $this->logToken = $token; - } - - /** - * {@inheritdoc} - * - * @param array $record - * @return string - */ - protected function generateDataStream($record) - { - return $this->logToken . ' ' . $record['formatted']; - } -} diff --git a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/LogEntriesHandler.php b/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/LogEntriesHandler.php deleted file mode 100644 index ea89fb3..0000000 --- a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/LogEntriesHandler.php +++ /dev/null @@ -1,55 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Monolog\Handler; - -use Monolog\Logger; - -/** - * @author Robert Kaufmann III - */ -class LogEntriesHandler extends SocketHandler -{ - /** - * @var string - */ - protected $logToken; - - /** - * @param string $token Log token supplied by LogEntries - * @param bool $useSSL Whether or not SSL encryption should be used. - * @param int $level The minimum logging level to trigger this handler - * @param bool $bubble Whether or not messages that are handled should bubble up the stack. - * - * @throws MissingExtensionException If SSL encryption is set to true and OpenSSL is missing - */ - public function __construct($token, $useSSL = true, $level = Logger::DEBUG, $bubble = true, $host = 'data.logentries.com') - { - if ($useSSL && !extension_loaded('openssl')) { - throw new MissingExtensionException('The OpenSSL PHP plugin is required to use SSL encrypted connection for LogEntriesHandler'); - } - - $endpoint = $useSSL ? 'ssl://' . $host . ':443' : $host . ':80'; - parent::__construct($endpoint, $level, $bubble); - $this->logToken = $token; - } - - /** - * {@inheritdoc} - * - * @param array $record - * @return string - */ - protected function generateDataStream($record) - { - return $this->logToken . ' ' . $record['formatted']; - } -} diff --git a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/LogglyHandler.php b/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/LogglyHandler.php deleted file mode 100644 index bcd62e1..0000000 --- a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/LogglyHandler.php +++ /dev/null @@ -1,102 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Monolog\Handler; - -use Monolog\Logger; -use Monolog\Formatter\LogglyFormatter; - -/** - * Sends errors to Loggly. - * - * @author Przemek Sobstel - * @author Adam Pancutt - * @author Gregory Barchard - */ -class LogglyHandler extends AbstractProcessingHandler -{ - const HOST = 'logs-01.loggly.com'; - const ENDPOINT_SINGLE = 'inputs'; - const ENDPOINT_BATCH = 'bulk'; - - protected $token; - - protected $tag = array(); - - public function __construct($token, $level = Logger::DEBUG, $bubble = true) - { - if (!extension_loaded('curl')) { - throw new \LogicException('The curl extension is needed to use the LogglyHandler'); - } - - $this->token = $token; - - parent::__construct($level, $bubble); - } - - public function setTag($tag) - { - $tag = !empty($tag) ? $tag : array(); - $this->tag = is_array($tag) ? $tag : array($tag); - } - - public function addTag($tag) - { - if (!empty($tag)) { - $tag = is_array($tag) ? $tag : array($tag); - $this->tag = array_unique(array_merge($this->tag, $tag)); - } - } - - protected function write(array $record) - { - $this->send($record["formatted"], self::ENDPOINT_SINGLE); - } - - public function handleBatch(array $records) - { - $level = $this->level; - - $records = array_filter($records, function ($record) use ($level) { - return ($record['level'] >= $level); - }); - - if ($records) { - $this->send($this->getFormatter()->formatBatch($records), self::ENDPOINT_BATCH); - } - } - - protected function send($data, $endpoint) - { - $url = sprintf("https://%s/%s/%s/", self::HOST, $endpoint, $this->token); - - $headers = array('Content-Type: application/json'); - - if (!empty($this->tag)) { - $headers[] = 'X-LOGGLY-TAG: '.implode(',', $this->tag); - } - - $ch = curl_init(); - - curl_setopt($ch, CURLOPT_URL, $url); - curl_setopt($ch, CURLOPT_POST, true); - curl_setopt($ch, CURLOPT_POSTFIELDS, $data); - curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); - curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); - - Curl\Util::execute($ch); - } - - protected function getDefaultFormatter() - { - return new LogglyFormatter(); - } -} diff --git a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/MailHandler.php b/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/MailHandler.php deleted file mode 100644 index 9e23283..0000000 --- a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/MailHandler.php +++ /dev/null @@ -1,67 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Monolog\Handler; - -/** - * Base class for all mail handlers - * - * @author Gyula Sallai - */ -abstract class MailHandler extends AbstractProcessingHandler -{ - /** - * {@inheritdoc} - */ - public function handleBatch(array $records) - { - $messages = array(); - - foreach ($records as $record) { - if ($record['level'] < $this->level) { - continue; - } - $messages[] = $this->processRecord($record); - } - - if (!empty($messages)) { - $this->send((string) $this->getFormatter()->formatBatch($messages), $messages); - } - } - - /** - * Send a mail with the given content - * - * @param string $content formatted email body to be sent - * @param array $records the array of log records that formed this content - */ - abstract protected function send($content, array $records); - - /** - * {@inheritdoc} - */ - protected function write(array $record) - { - $this->send((string) $record['formatted'], array($record)); - } - - protected function getHighestRecord(array $records) - { - $highestRecord = null; - foreach ($records as $record) { - if ($highestRecord === null || $highestRecord['level'] < $record['level']) { - $highestRecord = $record; - } - } - - return $highestRecord; - } -} diff --git a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/MandrillHandler.php b/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/MandrillHandler.php deleted file mode 100644 index 3f0956a..0000000 --- a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/MandrillHandler.php +++ /dev/null @@ -1,68 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Monolog\Handler; - -use Monolog\Logger; - -/** - * MandrillHandler uses cURL to send the emails to the Mandrill API - * - * @author Adam Nicholson - */ -class MandrillHandler extends MailHandler -{ - protected $message; - protected $apiKey; - - /** - * @param string $apiKey A valid Mandrill API key - * @param callable|\Swift_Message $message An example message for real messages, only the body will be replaced - * @param int $level The minimum logging level at which this handler will be triggered - * @param bool $bubble Whether the messages that are handled can bubble up the stack or not - */ - public function __construct($apiKey, $message, $level = Logger::ERROR, $bubble = true) - { - parent::__construct($level, $bubble); - - if (!$message instanceof \Swift_Message && is_callable($message)) { - $message = call_user_func($message); - } - if (!$message instanceof \Swift_Message) { - throw new \InvalidArgumentException('You must provide either a Swift_Message instance or a callable returning it'); - } - $this->message = $message; - $this->apiKey = $apiKey; - } - - /** - * {@inheritdoc} - */ - protected function send($content, array $records) - { - $message = clone $this->message; - $message->setBody($content); - $message->setDate(time()); - - $ch = curl_init(); - - curl_setopt($ch, CURLOPT_URL, 'https://mandrillapp.com/api/1.0/messages/send-raw.json'); - curl_setopt($ch, CURLOPT_POST, 1); - curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); - curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query(array( - 'key' => $this->apiKey, - 'raw_message' => (string) $message, - 'async' => false, - ))); - - Curl\Util::execute($ch); - } -} diff --git a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/MissingExtensionException.php b/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/MissingExtensionException.php deleted file mode 100644 index 4724a7e..0000000 --- a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/MissingExtensionException.php +++ /dev/null @@ -1,21 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Monolog\Handler; - -/** - * Exception can be thrown if an extension for an handler is missing - * - * @author Christian Bergau - */ -class MissingExtensionException extends \Exception -{ -} diff --git a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/MongoDBHandler.php b/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/MongoDBHandler.php deleted file mode 100644 index 56fe755..0000000 --- a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/MongoDBHandler.php +++ /dev/null @@ -1,59 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Monolog\Handler; - -use Monolog\Logger; -use Monolog\Formatter\NormalizerFormatter; - -/** - * Logs to a MongoDB database. - * - * usage example: - * - * $log = new Logger('application'); - * $mongodb = new MongoDBHandler(new \Mongo("mongodb://localhost:27017"), "logs", "prod"); - * $log->pushHandler($mongodb); - * - * @author Thomas Tourlourat - */ -class MongoDBHandler extends AbstractProcessingHandler -{ - protected $mongoCollection; - - public function __construct($mongo, $database, $collection, $level = Logger::DEBUG, $bubble = true) - { - if (!($mongo instanceof \MongoClient || $mongo instanceof \Mongo || $mongo instanceof \MongoDB\Client)) { - throw new \InvalidArgumentException('MongoClient, Mongo or MongoDB\Client instance required'); - } - - $this->mongoCollection = $mongo->selectCollection($database, $collection); - - parent::__construct($level, $bubble); - } - - protected function write(array $record) - { - if ($this->mongoCollection instanceof \MongoDB\Collection) { - $this->mongoCollection->insertOne($record["formatted"]); - } else { - $this->mongoCollection->save($record["formatted"]); - } - } - - /** - * {@inheritDoc} - */ - protected function getDefaultFormatter() - { - return new NormalizerFormatter(); - } -} diff --git a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/NativeMailerHandler.php b/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/NativeMailerHandler.php deleted file mode 100644 index d7807fd..0000000 --- a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/NativeMailerHandler.php +++ /dev/null @@ -1,185 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Monolog\Handler; - -use Monolog\Logger; -use Monolog\Formatter\LineFormatter; - -/** - * NativeMailerHandler uses the mail() function to send the emails - * - * @author Christophe Coevoet - * @author Mark Garrett - */ -class NativeMailerHandler extends MailHandler -{ - /** - * The email addresses to which the message will be sent - * @var array - */ - protected $to; - - /** - * The subject of the email - * @var string - */ - protected $subject; - - /** - * Optional headers for the message - * @var array - */ - protected $headers = array(); - - /** - * Optional parameters for the message - * @var array - */ - protected $parameters = array(); - - /** - * The wordwrap length for the message - * @var int - */ - protected $maxColumnWidth; - - /** - * The Content-type for the message - * @var string - */ - protected $contentType = 'text/plain'; - - /** - * The encoding for the message - * @var string - */ - protected $encoding = 'utf-8'; - - /** - * @param string|array $to The receiver of the mail - * @param string $subject The subject of the mail - * @param string $from The sender of the mail - * @param int $level The minimum logging level at which this handler will be triggered - * @param bool $bubble Whether the messages that are handled can bubble up the stack or not - * @param int $maxColumnWidth The maximum column width that the message lines will have - */ - public function __construct($to, $subject, $from, $level = Logger::ERROR, $bubble = true, $maxColumnWidth = 70) - { - parent::__construct($level, $bubble); - $this->to = is_array($to) ? $to : array($to); - $this->subject = $subject; - $this->addHeader(sprintf('From: %s', $from)); - $this->maxColumnWidth = $maxColumnWidth; - } - - /** - * Add headers to the message - * - * @param string|array $headers Custom added headers - * @return self - */ - public function addHeader($headers) - { - foreach ((array) $headers as $header) { - if (strpos($header, "\n") !== false || strpos($header, "\r") !== false) { - throw new \InvalidArgumentException('Headers can not contain newline characters for security reasons'); - } - $this->headers[] = $header; - } - - return $this; - } - - /** - * Add parameters to the message - * - * @param string|array $parameters Custom added parameters - * @return self - */ - public function addParameter($parameters) - { - $this->parameters = array_merge($this->parameters, (array) $parameters); - - return $this; - } - - /** - * {@inheritdoc} - */ - protected function send($content, array $records) - { - $content = wordwrap($content, $this->maxColumnWidth); - $headers = ltrim(implode("\r\n", $this->headers) . "\r\n", "\r\n"); - $headers .= 'Content-type: ' . $this->getContentType() . '; charset=' . $this->getEncoding() . "\r\n"; - if ($this->getContentType() == 'text/html' && false === strpos($headers, 'MIME-Version:')) { - $headers .= 'MIME-Version: 1.0' . "\r\n"; - } - - $subject = $this->subject; - if ($records) { - $subjectFormatter = new LineFormatter($this->subject); - $subject = $subjectFormatter->format($this->getHighestRecord($records)); - } - - $parameters = implode(' ', $this->parameters); - foreach ($this->to as $to) { - mail($to, $subject, $content, $headers, $parameters); - } - } - - /** - * @return string $contentType - */ - public function getContentType() - { - return $this->contentType; - } - - /** - * @return string $encoding - */ - public function getEncoding() - { - return $this->encoding; - } - - /** - * @param string $contentType The content type of the email - Defaults to text/plain. Use text/html for HTML - * messages. - * @return self - */ - public function setContentType($contentType) - { - if (strpos($contentType, "\n") !== false || strpos($contentType, "\r") !== false) { - throw new \InvalidArgumentException('The content type can not contain newline characters to prevent email header injection'); - } - - $this->contentType = $contentType; - - return $this; - } - - /** - * @param string $encoding - * @return self - */ - public function setEncoding($encoding) - { - if (strpos($encoding, "\n") !== false || strpos($encoding, "\r") !== false) { - throw new \InvalidArgumentException('The encoding can not contain newline characters to prevent email header injection'); - } - - $this->encoding = $encoding; - - return $this; - } -} diff --git a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/NewRelicHandler.php b/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/NewRelicHandler.php deleted file mode 100644 index 64dc138..0000000 --- a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/NewRelicHandler.php +++ /dev/null @@ -1,205 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Monolog\Handler; - -use Monolog\Logger; -use Monolog\Utils; -use Monolog\Formatter\NormalizerFormatter; - -/** - * Class to record a log on a NewRelic application. - * Enabling New Relic High Security mode may prevent capture of useful information. - * - * This handler requires a NormalizerFormatter to function and expects an array in $record['formatted'] - * - * @see https://docs.newrelic.com/docs/agents/php-agent - * @see https://docs.newrelic.com/docs/accounts-partnerships/accounts/security/high-security - */ -class NewRelicHandler extends AbstractProcessingHandler -{ - /** - * Name of the New Relic application that will receive logs from this handler. - * - * @var string - */ - protected $appName; - - /** - * Name of the current transaction - * - * @var string - */ - protected $transactionName; - - /** - * Some context and extra data is passed into the handler as arrays of values. Do we send them as is - * (useful if we are using the API), or explode them for display on the NewRelic RPM website? - * - * @var bool - */ - protected $explodeArrays; - - /** - * {@inheritDoc} - * - * @param string $appName - * @param bool $explodeArrays - * @param string $transactionName - */ - public function __construct( - $level = Logger::ERROR, - $bubble = true, - $appName = null, - $explodeArrays = false, - $transactionName = null - ) { - parent::__construct($level, $bubble); - - $this->appName = $appName; - $this->explodeArrays = $explodeArrays; - $this->transactionName = $transactionName; - } - - /** - * {@inheritDoc} - */ - protected function write(array $record) - { - if (!$this->isNewRelicEnabled()) { - throw new MissingExtensionException('The newrelic PHP extension is required to use the NewRelicHandler'); - } - - if ($appName = $this->getAppName($record['context'])) { - $this->setNewRelicAppName($appName); - } - - if ($transactionName = $this->getTransactionName($record['context'])) { - $this->setNewRelicTransactionName($transactionName); - unset($record['formatted']['context']['transaction_name']); - } - - if (isset($record['context']['exception']) && ($record['context']['exception'] instanceof \Exception || (PHP_VERSION_ID >= 70000 && $record['context']['exception'] instanceof \Throwable))) { - newrelic_notice_error($record['message'], $record['context']['exception']); - unset($record['formatted']['context']['exception']); - } else { - newrelic_notice_error($record['message']); - } - - if (isset($record['formatted']['context']) && is_array($record['formatted']['context'])) { - foreach ($record['formatted']['context'] as $key => $parameter) { - if (is_array($parameter) && $this->explodeArrays) { - foreach ($parameter as $paramKey => $paramValue) { - $this->setNewRelicParameter('context_' . $key . '_' . $paramKey, $paramValue); - } - } else { - $this->setNewRelicParameter('context_' . $key, $parameter); - } - } - } - - if (isset($record['formatted']['extra']) && is_array($record['formatted']['extra'])) { - foreach ($record['formatted']['extra'] as $key => $parameter) { - if (is_array($parameter) && $this->explodeArrays) { - foreach ($parameter as $paramKey => $paramValue) { - $this->setNewRelicParameter('extra_' . $key . '_' . $paramKey, $paramValue); - } - } else { - $this->setNewRelicParameter('extra_' . $key, $parameter); - } - } - } - } - - /** - * Checks whether the NewRelic extension is enabled in the system. - * - * @return bool - */ - protected function isNewRelicEnabled() - { - return extension_loaded('newrelic'); - } - - /** - * Returns the appname where this log should be sent. Each log can override the default appname, set in this - * handler's constructor, by providing the appname in it's context. - * - * @param array $context - * @return null|string - */ - protected function getAppName(array $context) - { - if (isset($context['appname'])) { - return $context['appname']; - } - - return $this->appName; - } - - /** - * Returns the name of the current transaction. Each log can override the default transaction name, set in this - * handler's constructor, by providing the transaction_name in it's context - * - * @param array $context - * - * @return null|string - */ - protected function getTransactionName(array $context) - { - if (isset($context['transaction_name'])) { - return $context['transaction_name']; - } - - return $this->transactionName; - } - - /** - * Sets the NewRelic application that should receive this log. - * - * @param string $appName - */ - protected function setNewRelicAppName($appName) - { - newrelic_set_appname($appName); - } - - /** - * Overwrites the name of the current transaction - * - * @param string $transactionName - */ - protected function setNewRelicTransactionName($transactionName) - { - newrelic_name_transaction($transactionName); - } - - /** - * @param string $key - * @param mixed $value - */ - protected function setNewRelicParameter($key, $value) - { - if (null === $value || is_scalar($value)) { - newrelic_add_custom_parameter($key, $value); - } else { - newrelic_add_custom_parameter($key, Utils::jsonEncode($value, null, true)); - } - } - - /** - * {@inheritDoc} - */ - protected function getDefaultFormatter() - { - return new NormalizerFormatter(); - } -} diff --git a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/NullHandler.php b/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/NullHandler.php deleted file mode 100644 index 4b84588..0000000 --- a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/NullHandler.php +++ /dev/null @@ -1,45 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Monolog\Handler; - -use Monolog\Logger; - -/** - * Blackhole - * - * Any record it can handle will be thrown away. This can be used - * to put on top of an existing stack to override it temporarily. - * - * @author Jordi Boggiano - */ -class NullHandler extends AbstractHandler -{ - /** - * @param int $level The minimum logging level at which this handler will be triggered - */ - public function __construct($level = Logger::DEBUG) - { - parent::__construct($level, false); - } - - /** - * {@inheritdoc} - */ - public function handle(array $record) - { - if ($record['level'] < $this->level) { - return false; - } - - return true; - } -} diff --git a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/PHPConsoleHandler.php b/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/PHPConsoleHandler.php deleted file mode 100644 index d0a8b43..0000000 --- a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/PHPConsoleHandler.php +++ /dev/null @@ -1,243 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Monolog\Handler; - -use Exception; -use Monolog\Formatter\LineFormatter; -use Monolog\Logger; -use Monolog\Utils; -use PhpConsole\Connector; -use PhpConsole\Handler; -use PhpConsole\Helper; - -/** - * Monolog handler for Google Chrome extension "PHP Console" - * - * Display PHP error/debug log messages in Google Chrome console and notification popups, executes PHP code remotely - * - * Usage: - * 1. Install Google Chrome extension https://chrome.google.com/webstore/detail/php-console/nfhmhhlpfleoednkpnnnkolmclajemef - * 2. See overview https://github.com/barbushin/php-console#overview - * 3. Install PHP Console library https://github.com/barbushin/php-console#installation - * 4. Example (result will looks like http://i.hizliresim.com/vg3Pz4.png) - * - * $logger = new \Monolog\Logger('all', array(new \Monolog\Handler\PHPConsoleHandler())); - * \Monolog\ErrorHandler::register($logger); - * echo $undefinedVar; - * $logger->addDebug('SELECT * FROM users', array('db', 'time' => 0.012)); - * PC::debug($_SERVER); // PHP Console debugger for any type of vars - * - * @author Sergey Barbushin https://www.linkedin.com/in/barbushin - */ -class PHPConsoleHandler extends AbstractProcessingHandler -{ - private $options = array( - 'enabled' => true, // bool Is PHP Console server enabled - 'classesPartialsTraceIgnore' => array('Monolog\\'), // array Hide calls of classes started with... - 'debugTagsKeysInContext' => array(0, 'tag'), // bool Is PHP Console server enabled - 'useOwnErrorsHandler' => false, // bool Enable errors handling - 'useOwnExceptionsHandler' => false, // bool Enable exceptions handling - 'sourcesBasePath' => null, // string Base path of all project sources to strip in errors source paths - 'registerHelper' => true, // bool Register PhpConsole\Helper that allows short debug calls like PC::debug($var, 'ta.g.s') - 'serverEncoding' => null, // string|null Server internal encoding - 'headersLimit' => null, // int|null Set headers size limit for your web-server - 'password' => null, // string|null Protect PHP Console connection by password - 'enableSslOnlyMode' => false, // bool Force connection by SSL for clients with PHP Console installed - 'ipMasks' => array(), // array Set IP masks of clients that will be allowed to connect to PHP Console: array('192.168.*.*', '127.0.0.1') - 'enableEvalListener' => false, // bool Enable eval request to be handled by eval dispatcher(if enabled, 'password' option is also required) - 'dumperDetectCallbacks' => false, // bool Convert callback items in dumper vars to (callback SomeClass::someMethod) strings - 'dumperLevelLimit' => 5, // int Maximum dumped vars array or object nested dump level - 'dumperItemsCountLimit' => 100, // int Maximum dumped var same level array items or object properties number - 'dumperItemSizeLimit' => 5000, // int Maximum length of any string or dumped array item - 'dumperDumpSizeLimit' => 500000, // int Maximum approximate size of dumped vars result formatted in JSON - 'detectDumpTraceAndSource' => false, // bool Autodetect and append trace data to debug - 'dataStorage' => null, // PhpConsole\Storage|null Fixes problem with custom $_SESSION handler(see http://goo.gl/Ne8juJ) - ); - - /** @var Connector */ - private $connector; - - /** - * @param array $options See \Monolog\Handler\PHPConsoleHandler::$options for more details - * @param Connector|null $connector Instance of \PhpConsole\Connector class (optional) - * @param int $level - * @param bool $bubble - * @throws Exception - */ - public function __construct(array $options = array(), Connector $connector = null, $level = Logger::DEBUG, $bubble = true) - { - if (!class_exists('PhpConsole\Connector')) { - throw new Exception('PHP Console library not found. See https://github.com/barbushin/php-console#installation'); - } - parent::__construct($level, $bubble); - $this->options = $this->initOptions($options); - $this->connector = $this->initConnector($connector); - } - - private function initOptions(array $options) - { - $wrongOptions = array_diff(array_keys($options), array_keys($this->options)); - if ($wrongOptions) { - throw new Exception('Unknown options: ' . implode(', ', $wrongOptions)); - } - - return array_replace($this->options, $options); - } - - private function initConnector(Connector $connector = null) - { - if (!$connector) { - if ($this->options['dataStorage']) { - Connector::setPostponeStorage($this->options['dataStorage']); - } - $connector = Connector::getInstance(); - } - - if ($this->options['registerHelper'] && !Helper::isRegistered()) { - Helper::register(); - } - - if ($this->options['enabled'] && $connector->isActiveClient()) { - if ($this->options['useOwnErrorsHandler'] || $this->options['useOwnExceptionsHandler']) { - $handler = Handler::getInstance(); - $handler->setHandleErrors($this->options['useOwnErrorsHandler']); - $handler->setHandleExceptions($this->options['useOwnExceptionsHandler']); - $handler->start(); - } - if ($this->options['sourcesBasePath']) { - $connector->setSourcesBasePath($this->options['sourcesBasePath']); - } - if ($this->options['serverEncoding']) { - $connector->setServerEncoding($this->options['serverEncoding']); - } - if ($this->options['password']) { - $connector->setPassword($this->options['password']); - } - if ($this->options['enableSslOnlyMode']) { - $connector->enableSslOnlyMode(); - } - if ($this->options['ipMasks']) { - $connector->setAllowedIpMasks($this->options['ipMasks']); - } - if ($this->options['headersLimit']) { - $connector->setHeadersLimit($this->options['headersLimit']); - } - if ($this->options['detectDumpTraceAndSource']) { - $connector->getDebugDispatcher()->detectTraceAndSource = true; - } - $dumper = $connector->getDumper(); - $dumper->levelLimit = $this->options['dumperLevelLimit']; - $dumper->itemsCountLimit = $this->options['dumperItemsCountLimit']; - $dumper->itemSizeLimit = $this->options['dumperItemSizeLimit']; - $dumper->dumpSizeLimit = $this->options['dumperDumpSizeLimit']; - $dumper->detectCallbacks = $this->options['dumperDetectCallbacks']; - if ($this->options['enableEvalListener']) { - $connector->startEvalRequestsListener(); - } - } - - return $connector; - } - - public function getConnector() - { - return $this->connector; - } - - public function getOptions() - { - return $this->options; - } - - public function handle(array $record) - { - if ($this->options['enabled'] && $this->connector->isActiveClient()) { - return parent::handle($record); - } - - return !$this->bubble; - } - - /** - * Writes the record down to the log of the implementing handler - * - * @param array $record - * @return void - */ - protected function write(array $record) - { - if ($record['level'] < Logger::NOTICE) { - $this->handleDebugRecord($record); - } elseif (isset($record['context']['exception']) && $record['context']['exception'] instanceof Exception) { - $this->handleExceptionRecord($record); - } else { - $this->handleErrorRecord($record); - } - } - - private function handleDebugRecord(array $record) - { - $tags = $this->getRecordTags($record); - $message = $record['message']; - if ($record['context']) { - $message .= ' ' . Utils::jsonEncode($this->connector->getDumper()->dump(array_filter($record['context'])), null, true); - } - $this->connector->getDebugDispatcher()->dispatchDebug($message, $tags, $this->options['classesPartialsTraceIgnore']); - } - - private function handleExceptionRecord(array $record) - { - $this->connector->getErrorsDispatcher()->dispatchException($record['context']['exception']); - } - - private function handleErrorRecord(array $record) - { - $context = $record['context']; - - $this->connector->getErrorsDispatcher()->dispatchError( - isset($context['code']) ? $context['code'] : null, - isset($context['message']) ? $context['message'] : $record['message'], - isset($context['file']) ? $context['file'] : null, - isset($context['line']) ? $context['line'] : null, - $this->options['classesPartialsTraceIgnore'] - ); - } - - private function getRecordTags(array &$record) - { - $tags = null; - if (!empty($record['context'])) { - $context = & $record['context']; - foreach ($this->options['debugTagsKeysInContext'] as $key) { - if (!empty($context[$key])) { - $tags = $context[$key]; - if ($key === 0) { - array_shift($context); - } else { - unset($context[$key]); - } - break; - } - } - } - - return $tags ?: strtolower($record['level_name']); - } - - /** - * {@inheritDoc} - */ - protected function getDefaultFormatter() - { - return new LineFormatter('%message%'); - } -} diff --git a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/ProcessableHandlerInterface.php b/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/ProcessableHandlerInterface.php deleted file mode 100644 index 66a3d83..0000000 --- a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/ProcessableHandlerInterface.php +++ /dev/null @@ -1,40 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Monolog\Handler; - -use Monolog\Processor\ProcessorInterface; - -/** - * Interface to describe loggers that have processors - * - * This interface is present in monolog 1.x to ease forward compatibility. - * - * @author Jordi Boggiano - */ -interface ProcessableHandlerInterface -{ - /** - * Adds a processor in the stack. - * - * @param ProcessorInterface|callable $callback - * @return HandlerInterface self - */ - public function pushProcessor($callback): HandlerInterface; - - /** - * Removes the processor on top of the stack and returns it. - * - * @throws \LogicException In case the processor stack is empty - * @return callable - */ - public function popProcessor(): callable; -} diff --git a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/ProcessableHandlerTrait.php b/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/ProcessableHandlerTrait.php deleted file mode 100644 index 09f32a1..0000000 --- a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/ProcessableHandlerTrait.php +++ /dev/null @@ -1,73 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Monolog\Handler; - -use Monolog\ResettableInterface; - -/** - * Helper trait for implementing ProcessableInterface - * - * This trait is present in monolog 1.x to ease forward compatibility. - * - * @author Jordi Boggiano - */ -trait ProcessableHandlerTrait -{ - /** - * @var callable[] - */ - protected $processors = []; - - /** - * {@inheritdoc} - * @suppress PhanTypeMismatchReturn - */ - public function pushProcessor($callback): HandlerInterface - { - array_unshift($this->processors, $callback); - - return $this; - } - - /** - * {@inheritdoc} - */ - public function popProcessor(): callable - { - if (!$this->processors) { - throw new \LogicException('You tried to pop from an empty processor stack.'); - } - - return array_shift($this->processors); - } - - /** - * Processes a record. - */ - protected function processRecord(array $record): array - { - foreach ($this->processors as $processor) { - $record = $processor($record); - } - - return $record; - } - - protected function resetProcessors(): void - { - foreach ($this->processors as $processor) { - if ($processor instanceof ResettableInterface) { - $processor->reset(); - } - } - } -} diff --git a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/PsrHandler.php b/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/PsrHandler.php deleted file mode 100644 index a99e6ab..0000000 --- a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/PsrHandler.php +++ /dev/null @@ -1,56 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Monolog\Handler; - -use Monolog\Logger; -use Psr\Log\LoggerInterface; - -/** - * Proxies log messages to an existing PSR-3 compliant logger. - * - * @author Michael Moussa - */ -class PsrHandler extends AbstractHandler -{ - /** - * PSR-3 compliant logger - * - * @var LoggerInterface - */ - protected $logger; - - /** - * @param LoggerInterface $logger The underlying PSR-3 compliant logger to which messages will be proxied - * @param int $level The minimum logging level at which this handler will be triggered - * @param bool $bubble Whether the messages that are handled can bubble up the stack or not - */ - public function __construct(LoggerInterface $logger, $level = Logger::DEBUG, $bubble = true) - { - parent::__construct($level, $bubble); - - $this->logger = $logger; - } - - /** - * {@inheritDoc} - */ - public function handle(array $record) - { - if (!$this->isHandling($record)) { - return false; - } - - $this->logger->log(strtolower($record['level_name']), $record['message'], $record['context']); - - return false === $this->bubble; - } -} diff --git a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/PushoverHandler.php b/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/PushoverHandler.php deleted file mode 100644 index f27bb3d..0000000 --- a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/PushoverHandler.php +++ /dev/null @@ -1,185 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Monolog\Handler; - -use Monolog\Logger; - -/** - * Sends notifications through the pushover api to mobile phones - * - * @author Sebastian Göttschkes - * @see https://www.pushover.net/api - */ -class PushoverHandler extends SocketHandler -{ - private $token; - private $users; - private $title; - private $user; - private $retry; - private $expire; - - private $highPriorityLevel; - private $emergencyLevel; - private $useFormattedMessage = false; - - /** - * All parameters that can be sent to Pushover - * @see https://pushover.net/api - * @var array - */ - private $parameterNames = array( - 'token' => true, - 'user' => true, - 'message' => true, - 'device' => true, - 'title' => true, - 'url' => true, - 'url_title' => true, - 'priority' => true, - 'timestamp' => true, - 'sound' => true, - 'retry' => true, - 'expire' => true, - 'callback' => true, - ); - - /** - * Sounds the api supports by default - * @see https://pushover.net/api#sounds - * @var array - */ - private $sounds = array( - 'pushover', 'bike', 'bugle', 'cashregister', 'classical', 'cosmic', 'falling', 'gamelan', 'incoming', - 'intermission', 'magic', 'mechanical', 'pianobar', 'siren', 'spacealarm', 'tugboat', 'alien', 'climb', - 'persistent', 'echo', 'updown', 'none', - ); - - /** - * @param string $token Pushover api token - * @param string|array $users Pushover user id or array of ids the message will be sent to - * @param string $title Title sent to the Pushover API - * @param int $level The minimum logging level at which this handler will be triggered - * @param bool $bubble Whether the messages that are handled can bubble up the stack or not - * @param bool $useSSL Whether to connect via SSL. Required when pushing messages to users that are not - * the pushover.net app owner. OpenSSL is required for this option. - * @param int $highPriorityLevel The minimum logging level at which this handler will start - * sending "high priority" requests to the Pushover API - * @param int $emergencyLevel The minimum logging level at which this handler will start - * sending "emergency" requests to the Pushover API - * @param int $retry The retry parameter specifies how often (in seconds) the Pushover servers will send the same notification to the user. - * @param int $expire The expire parameter specifies how many seconds your notification will continue to be retried for (every retry seconds). - */ - public function __construct($token, $users, $title = null, $level = Logger::CRITICAL, $bubble = true, $useSSL = true, $highPriorityLevel = Logger::CRITICAL, $emergencyLevel = Logger::EMERGENCY, $retry = 30, $expire = 25200) - { - $connectionString = $useSSL ? 'ssl://api.pushover.net:443' : 'api.pushover.net:80'; - parent::__construct($connectionString, $level, $bubble); - - $this->token = $token; - $this->users = (array) $users; - $this->title = $title ?: gethostname(); - $this->highPriorityLevel = Logger::toMonologLevel($highPriorityLevel); - $this->emergencyLevel = Logger::toMonologLevel($emergencyLevel); - $this->retry = $retry; - $this->expire = $expire; - } - - protected function generateDataStream($record) - { - $content = $this->buildContent($record); - - return $this->buildHeader($content) . $content; - } - - private function buildContent($record) - { - // Pushover has a limit of 512 characters on title and message combined. - $maxMessageLength = 512 - strlen($this->title); - - $message = ($this->useFormattedMessage) ? $record['formatted'] : $record['message']; - $message = substr($message, 0, $maxMessageLength); - - $timestamp = $record['datetime']->getTimestamp(); - - $dataArray = array( - 'token' => $this->token, - 'user' => $this->user, - 'message' => $message, - 'title' => $this->title, - 'timestamp' => $timestamp, - ); - - if (isset($record['level']) && $record['level'] >= $this->emergencyLevel) { - $dataArray['priority'] = 2; - $dataArray['retry'] = $this->retry; - $dataArray['expire'] = $this->expire; - } elseif (isset($record['level']) && $record['level'] >= $this->highPriorityLevel) { - $dataArray['priority'] = 1; - } - - // First determine the available parameters - $context = array_intersect_key($record['context'], $this->parameterNames); - $extra = array_intersect_key($record['extra'], $this->parameterNames); - - // Least important info should be merged with subsequent info - $dataArray = array_merge($extra, $context, $dataArray); - - // Only pass sounds that are supported by the API - if (isset($dataArray['sound']) && !in_array($dataArray['sound'], $this->sounds)) { - unset($dataArray['sound']); - } - - return http_build_query($dataArray); - } - - private function buildHeader($content) - { - $header = "POST /1/messages.json HTTP/1.1\r\n"; - $header .= "Host: api.pushover.net\r\n"; - $header .= "Content-Type: application/x-www-form-urlencoded\r\n"; - $header .= "Content-Length: " . strlen($content) . "\r\n"; - $header .= "\r\n"; - - return $header; - } - - protected function write(array $record) - { - foreach ($this->users as $user) { - $this->user = $user; - - parent::write($record); - $this->closeSocket(); - } - - $this->user = null; - } - - public function setHighPriorityLevel($value) - { - $this->highPriorityLevel = $value; - } - - public function setEmergencyLevel($value) - { - $this->emergencyLevel = $value; - } - - /** - * Use the formatted message? - * @param bool $value - */ - public function useFormattedMessage($value) - { - $this->useFormattedMessage = (bool) $value; - } -} diff --git a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/RavenHandler.php b/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/RavenHandler.php deleted file mode 100644 index 1929f25..0000000 --- a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/RavenHandler.php +++ /dev/null @@ -1,234 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Monolog\Handler; - -use Monolog\Formatter\LineFormatter; -use Monolog\Formatter\FormatterInterface; -use Monolog\Logger; -use Raven_Client; - -/** - * Handler to send messages to a Sentry (https://github.com/getsentry/sentry) server - * using sentry-php (https://github.com/getsentry/sentry-php) - * - * @author Marc Abramowitz - */ -class RavenHandler extends AbstractProcessingHandler -{ - /** - * Translates Monolog log levels to Raven log levels. - */ - protected $logLevels = array( - Logger::DEBUG => Raven_Client::DEBUG, - Logger::INFO => Raven_Client::INFO, - Logger::NOTICE => Raven_Client::INFO, - Logger::WARNING => Raven_Client::WARNING, - Logger::ERROR => Raven_Client::ERROR, - Logger::CRITICAL => Raven_Client::FATAL, - Logger::ALERT => Raven_Client::FATAL, - Logger::EMERGENCY => Raven_Client::FATAL, - ); - - /** - * @var string should represent the current version of the calling - * software. Can be any string (git commit, version number) - */ - protected $release; - - /** - * @var Raven_Client the client object that sends the message to the server - */ - protected $ravenClient; - - /** - * @var LineFormatter The formatter to use for the logs generated via handleBatch() - */ - protected $batchFormatter; - - /** - * @param Raven_Client $ravenClient - * @param int $level The minimum logging level at which this handler will be triggered - * @param bool $bubble Whether the messages that are handled can bubble up the stack or not - */ - public function __construct(Raven_Client $ravenClient, $level = Logger::DEBUG, $bubble = true) - { - @trigger_error('The Monolog\Handler\RavenHandler class is deprecated. You should rather upgrade to the sentry/sentry 2.x and use Sentry\Monolog\Handler, see https://github.com/getsentry/sentry-php/blob/master/src/Monolog/Handler.php', E_USER_DEPRECATED); - - parent::__construct($level, $bubble); - - $this->ravenClient = $ravenClient; - } - - /** - * {@inheritdoc} - */ - public function handleBatch(array $records) - { - $level = $this->level; - - // filter records based on their level - $records = array_filter($records, function ($record) use ($level) { - return $record['level'] >= $level; - }); - - if (!$records) { - return; - } - - // the record with the highest severity is the "main" one - $record = array_reduce($records, function ($highest, $record) { - if ($record['level'] > $highest['level']) { - return $record; - } - - return $highest; - }); - - // the other ones are added as a context item - $logs = array(); - foreach ($records as $r) { - $logs[] = $this->processRecord($r); - } - - if ($logs) { - $record['context']['logs'] = (string) $this->getBatchFormatter()->formatBatch($logs); - } - - $this->handle($record); - } - - /** - * Sets the formatter for the logs generated by handleBatch(). - * - * @param FormatterInterface $formatter - */ - public function setBatchFormatter(FormatterInterface $formatter) - { - $this->batchFormatter = $formatter; - } - - /** - * Gets the formatter for the logs generated by handleBatch(). - * - * @return FormatterInterface - */ - public function getBatchFormatter() - { - if (!$this->batchFormatter) { - $this->batchFormatter = $this->getDefaultBatchFormatter(); - } - - return $this->batchFormatter; - } - - /** - * {@inheritdoc} - */ - protected function write(array $record) - { - $previousUserContext = false; - $options = array(); - $options['level'] = $this->logLevels[$record['level']]; - $options['tags'] = array(); - if (!empty($record['extra']['tags'])) { - $options['tags'] = array_merge($options['tags'], $record['extra']['tags']); - unset($record['extra']['tags']); - } - if (!empty($record['context']['tags'])) { - $options['tags'] = array_merge($options['tags'], $record['context']['tags']); - unset($record['context']['tags']); - } - if (!empty($record['context']['fingerprint'])) { - $options['fingerprint'] = $record['context']['fingerprint']; - unset($record['context']['fingerprint']); - } - if (!empty($record['context']['logger'])) { - $options['logger'] = $record['context']['logger']; - unset($record['context']['logger']); - } else { - $options['logger'] = $record['channel']; - } - foreach ($this->getExtraParameters() as $key) { - foreach (array('extra', 'context') as $source) { - if (!empty($record[$source][$key])) { - $options[$key] = $record[$source][$key]; - unset($record[$source][$key]); - } - } - } - if (!empty($record['context'])) { - $options['extra']['context'] = $record['context']; - if (!empty($record['context']['user'])) { - $previousUserContext = $this->ravenClient->context->user; - $this->ravenClient->user_context($record['context']['user']); - unset($options['extra']['context']['user']); - } - } - if (!empty($record['extra'])) { - $options['extra']['extra'] = $record['extra']; - } - - if (!empty($this->release) && !isset($options['release'])) { - $options['release'] = $this->release; - } - - if (isset($record['context']['exception']) && ($record['context']['exception'] instanceof \Exception || (PHP_VERSION_ID >= 70000 && $record['context']['exception'] instanceof \Throwable))) { - $options['message'] = $record['formatted']; - $this->ravenClient->captureException($record['context']['exception'], $options); - } else { - $this->ravenClient->captureMessage($record['formatted'], array(), $options); - } - - if ($previousUserContext !== false) { - $this->ravenClient->user_context($previousUserContext); - } - } - - /** - * {@inheritDoc} - */ - protected function getDefaultFormatter() - { - return new LineFormatter('[%channel%] %message%'); - } - - /** - * Gets the default formatter for the logs generated by handleBatch(). - * - * @return FormatterInterface - */ - protected function getDefaultBatchFormatter() - { - return new LineFormatter(); - } - - /** - * Gets extra parameters supported by Raven that can be found in "extra" and "context" - * - * @return array - */ - protected function getExtraParameters() - { - return array('contexts', 'checksum', 'release', 'event_id'); - } - - /** - * @param string $value - * @return self - */ - public function setRelease($value) - { - $this->release = $value; - - return $this; - } -} diff --git a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/RedisHandler.php b/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/RedisHandler.php deleted file mode 100644 index 590f996..0000000 --- a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/RedisHandler.php +++ /dev/null @@ -1,97 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Monolog\Handler; - -use Monolog\Formatter\LineFormatter; -use Monolog\Logger; - -/** - * Logs to a Redis key using rpush - * - * usage example: - * - * $log = new Logger('application'); - * $redis = new RedisHandler(new Predis\Client("tcp://localhost:6379"), "logs", "prod"); - * $log->pushHandler($redis); - * - * @author Thomas Tourlourat - */ -class RedisHandler extends AbstractProcessingHandler -{ - private $redisClient; - private $redisKey; - protected $capSize; - - /** - * @param \Predis\Client|\Redis $redis The redis instance - * @param string $key The key name to push records to - * @param int $level The minimum logging level at which this handler will be triggered - * @param bool $bubble Whether the messages that are handled can bubble up the stack or not - * @param int $capSize Number of entries to limit list size to - */ - public function __construct($redis, $key, $level = Logger::DEBUG, $bubble = true, $capSize = false) - { - if (!(($redis instanceof \Predis\Client) || ($redis instanceof \Redis))) { - throw new \InvalidArgumentException('Predis\Client or Redis instance required'); - } - - $this->redisClient = $redis; - $this->redisKey = $key; - $this->capSize = $capSize; - - parent::__construct($level, $bubble); - } - - /** - * {@inheritDoc} - */ - protected function write(array $record) - { - if ($this->capSize) { - $this->writeCapped($record); - } else { - $this->redisClient->rpush($this->redisKey, $record["formatted"]); - } - } - - /** - * Write and cap the collection - * Writes the record to the redis list and caps its - * - * @param array $record associative record array - * @return void - */ - protected function writeCapped(array $record) - { - if ($this->redisClient instanceof \Redis) { - $this->redisClient->multi() - ->rpush($this->redisKey, $record["formatted"]) - ->ltrim($this->redisKey, -$this->capSize, -1) - ->exec(); - } else { - $redisKey = $this->redisKey; - $capSize = $this->capSize; - $this->redisClient->transaction(function ($tx) use ($record, $redisKey, $capSize) { - $tx->rpush($redisKey, $record["formatted"]); - $tx->ltrim($redisKey, -$capSize, -1); - }); - } - } - - /** - * {@inheritDoc} - */ - protected function getDefaultFormatter() - { - return new LineFormatter(); - } -} diff --git a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/RollbarHandler.php b/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/RollbarHandler.php deleted file mode 100644 index 65073ff..0000000 --- a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/RollbarHandler.php +++ /dev/null @@ -1,144 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Monolog\Handler; - -use RollbarNotifier; -use Exception; -use Monolog\Logger; - -/** - * Sends errors to Rollbar - * - * If the context data contains a `payload` key, that is used as an array - * of payload options to RollbarNotifier's report_message/report_exception methods. - * - * Rollbar's context info will contain the context + extra keys from the log record - * merged, and then on top of that a few keys: - * - * - level (rollbar level name) - * - monolog_level (monolog level name, raw level, as rollbar only has 5 but monolog 8) - * - channel - * - datetime (unix timestamp) - * - * @author Paul Statezny - */ -class RollbarHandler extends AbstractProcessingHandler -{ - /** - * Rollbar notifier - * - * @var RollbarNotifier - */ - protected $rollbarNotifier; - - protected $levelMap = array( - Logger::DEBUG => 'debug', - Logger::INFO => 'info', - Logger::NOTICE => 'info', - Logger::WARNING => 'warning', - Logger::ERROR => 'error', - Logger::CRITICAL => 'critical', - Logger::ALERT => 'critical', - Logger::EMERGENCY => 'critical', - ); - - /** - * Records whether any log records have been added since the last flush of the rollbar notifier - * - * @var bool - */ - private $hasRecords = false; - - protected $initialized = false; - - /** - * @param RollbarNotifier $rollbarNotifier RollbarNotifier object constructed with valid token - * @param int $level The minimum logging level at which this handler will be triggered - * @param bool $bubble Whether the messages that are handled can bubble up the stack or not - */ - public function __construct(RollbarNotifier $rollbarNotifier, $level = Logger::ERROR, $bubble = true) - { - $this->rollbarNotifier = $rollbarNotifier; - - parent::__construct($level, $bubble); - } - - /** - * {@inheritdoc} - */ - protected function write(array $record) - { - if (!$this->initialized) { - // __destructor() doesn't get called on Fatal errors - register_shutdown_function(array($this, 'close')); - $this->initialized = true; - } - - $context = $record['context']; - $payload = array(); - if (isset($context['payload'])) { - $payload = $context['payload']; - unset($context['payload']); - } - $context = array_merge($context, $record['extra'], array( - 'level' => $this->levelMap[$record['level']], - 'monolog_level' => $record['level_name'], - 'channel' => $record['channel'], - 'datetime' => $record['datetime']->format('U'), - )); - - if (isset($context['exception']) && $context['exception'] instanceof Exception) { - $payload['level'] = $context['level']; - $exception = $context['exception']; - unset($context['exception']); - - $this->rollbarNotifier->report_exception($exception, $context, $payload); - } else { - $this->rollbarNotifier->report_message( - $record['message'], - $context['level'], - $context, - $payload - ); - } - - $this->hasRecords = true; - } - - public function flush() - { - if ($this->hasRecords) { - $this->rollbarNotifier->flush(); - $this->hasRecords = false; - } - } - - /** - * {@inheritdoc} - */ - public function close() - { - $this->flush(); - } - - /** - * {@inheritdoc} - */ - public function reset() - { - $this->flush(); - - parent::reset(); - } - - -} diff --git a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/RotatingFileHandler.php b/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/RotatingFileHandler.php deleted file mode 100644 index ae2309f..0000000 --- a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/RotatingFileHandler.php +++ /dev/null @@ -1,190 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Monolog\Handler; - -use Monolog\Logger; - -/** - * Stores logs to files that are rotated every day and a limited number of files are kept. - * - * This rotation is only intended to be used as a workaround. Using logrotate to - * handle the rotation is strongly encouraged when you can use it. - * - * @author Christophe Coevoet - * @author Jordi Boggiano - */ -class RotatingFileHandler extends StreamHandler -{ - const FILE_PER_DAY = 'Y-m-d'; - const FILE_PER_MONTH = 'Y-m'; - const FILE_PER_YEAR = 'Y'; - - protected $filename; - protected $maxFiles; - protected $mustRotate; - protected $nextRotation; - protected $filenameFormat; - protected $dateFormat; - - /** - * @param string $filename - * @param int $maxFiles The maximal amount of files to keep (0 means unlimited) - * @param int $level The minimum logging level at which this handler will be triggered - * @param bool $bubble Whether the messages that are handled can bubble up the stack or not - * @param int|null $filePermission Optional file permissions (default (0644) are only for owner read/write) - * @param bool $useLocking Try to lock log file before doing any writes - */ - public function __construct($filename, $maxFiles = 0, $level = Logger::DEBUG, $bubble = true, $filePermission = null, $useLocking = false) - { - $this->filename = $filename; - $this->maxFiles = (int) $maxFiles; - $this->nextRotation = new \DateTime('tomorrow'); - $this->filenameFormat = '{filename}-{date}'; - $this->dateFormat = 'Y-m-d'; - - parent::__construct($this->getTimedFilename(), $level, $bubble, $filePermission, $useLocking); - } - - /** - * {@inheritdoc} - */ - public function close() - { - parent::close(); - - if (true === $this->mustRotate) { - $this->rotate(); - } - } - - /** - * {@inheritdoc} - */ - public function reset() - { - parent::reset(); - - if (true === $this->mustRotate) { - $this->rotate(); - } - } - - public function setFilenameFormat($filenameFormat, $dateFormat) - { - if (!preg_match('{^Y(([/_.-]?m)([/_.-]?d)?)?$}', $dateFormat)) { - trigger_error( - 'Invalid date format - format must be one of '. - 'RotatingFileHandler::FILE_PER_DAY ("Y-m-d"), RotatingFileHandler::FILE_PER_MONTH ("Y-m") '. - 'or RotatingFileHandler::FILE_PER_YEAR ("Y"), or you can set one of the '. - 'date formats using slashes, underscores and/or dots instead of dashes.', - E_USER_DEPRECATED - ); - } - if (substr_count($filenameFormat, '{date}') === 0) { - trigger_error( - 'Invalid filename format - format should contain at least `{date}`, because otherwise rotating is impossible.', - E_USER_DEPRECATED - ); - } - $this->filenameFormat = $filenameFormat; - $this->dateFormat = $dateFormat; - $this->url = $this->getTimedFilename(); - $this->close(); - } - - /** - * {@inheritdoc} - */ - protected function write(array $record) - { - // on the first record written, if the log is new, we should rotate (once per day) - if (null === $this->mustRotate) { - $this->mustRotate = !file_exists($this->url); - } - - if ($this->nextRotation < $record['datetime']) { - $this->mustRotate = true; - $this->close(); - } - - parent::write($record); - } - - /** - * Rotates the files. - */ - protected function rotate() - { - // update filename - $this->url = $this->getTimedFilename(); - $this->nextRotation = new \DateTime('tomorrow'); - - // skip GC of old logs if files are unlimited - if (0 === $this->maxFiles) { - return; - } - - $logFiles = glob($this->getGlobPattern()); - if ($this->maxFiles >= count($logFiles)) { - // no files to remove - return; - } - - // Sorting the files by name to remove the older ones - usort($logFiles, function ($a, $b) { - return strcmp($b, $a); - }); - - foreach (array_slice($logFiles, $this->maxFiles) as $file) { - if (is_writable($file)) { - // suppress errors here as unlink() might fail if two processes - // are cleaning up/rotating at the same time - set_error_handler(function ($errno, $errstr, $errfile, $errline) {}); - unlink($file); - restore_error_handler(); - } - } - - $this->mustRotate = false; - } - - protected function getTimedFilename() - { - $fileInfo = pathinfo($this->filename); - $timedFilename = str_replace( - array('{filename}', '{date}'), - array($fileInfo['filename'], date($this->dateFormat)), - $fileInfo['dirname'] . '/' . $this->filenameFormat - ); - - if (!empty($fileInfo['extension'])) { - $timedFilename .= '.'.$fileInfo['extension']; - } - - return $timedFilename; - } - - protected function getGlobPattern() - { - $fileInfo = pathinfo($this->filename); - $glob = str_replace( - array('{filename}', '{date}'), - array($fileInfo['filename'], '[0-9][0-9][0-9][0-9]*'), - $fileInfo['dirname'] . '/' . $this->filenameFormat - ); - if (!empty($fileInfo['extension'])) { - $glob .= '.'.$fileInfo['extension']; - } - - return $glob; - } -} diff --git a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/SamplingHandler.php b/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/SamplingHandler.php deleted file mode 100644 index b547ed7..0000000 --- a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/SamplingHandler.php +++ /dev/null @@ -1,113 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Monolog\Handler; - -use Monolog\Formatter\FormatterInterface; - -/** - * Sampling handler - * - * A sampled event stream can be useful for logging high frequency events in - * a production environment where you only need an idea of what is happening - * and are not concerned with capturing every occurrence. Since the decision to - * handle or not handle a particular event is determined randomly, the - * resulting sampled log is not guaranteed to contain 1/N of the events that - * occurred in the application, but based on the Law of large numbers, it will - * tend to be close to this ratio with a large number of attempts. - * - * @author Bryan Davis - * @author Kunal Mehta - */ -class SamplingHandler extends AbstractHandler -{ - /** - * @var callable|HandlerInterface $handler - */ - protected $handler; - - /** - * @var int $factor - */ - protected $factor; - - /** - * @param callable|HandlerInterface $handler Handler or factory callable($record|null, $samplingHandler). - * @param int $factor Sample factor - */ - public function __construct($handler, $factor) - { - parent::__construct(); - $this->handler = $handler; - $this->factor = $factor; - - if (!$this->handler instanceof HandlerInterface && !is_callable($this->handler)) { - throw new \RuntimeException("The given handler (".json_encode($this->handler).") is not a callable nor a Monolog\Handler\HandlerInterface object"); - } - } - - public function isHandling(array $record) - { - return $this->getHandler($record)->isHandling($record); - } - - public function handle(array $record) - { - if ($this->isHandling($record) && mt_rand(1, $this->factor) === 1) { - if ($this->processors) { - foreach ($this->processors as $processor) { - $record = call_user_func($processor, $record); - } - } - - $this->getHandler($record)->handle($record); - } - - return false === $this->bubble; - } - - /** - * Return the nested handler - * - * If the handler was provided as a factory callable, this will trigger the handler's instantiation. - * - * @return HandlerInterface - */ - public function getHandler(array $record = null) - { - if (!$this->handler instanceof HandlerInterface) { - $this->handler = call_user_func($this->handler, $record, $this); - if (!$this->handler instanceof HandlerInterface) { - throw new \RuntimeException("The factory callable should return a HandlerInterface"); - } - } - - return $this->handler; - } - - /** - * {@inheritdoc} - */ - public function setFormatter(FormatterInterface $formatter) - { - $this->getHandler()->setFormatter($formatter); - - return $this; - } - - /** - * {@inheritdoc} - */ - public function getFormatter() - { - return $this->getHandler()->getFormatter(); - } -} diff --git a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/Slack/SlackRecord.php b/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/Slack/SlackRecord.php deleted file mode 100644 index 3945550..0000000 --- a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/Slack/SlackRecord.php +++ /dev/null @@ -1,299 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Monolog\Handler\Slack; - -use Monolog\Logger; -use Monolog\Utils; -use Monolog\Formatter\NormalizerFormatter; -use Monolog\Formatter\FormatterInterface; - -/** - * Slack record utility helping to log to Slack webhooks or API. - * - * @author Greg Kedzierski - * @author Haralan Dobrev - * @see https://api.slack.com/incoming-webhooks - * @see https://api.slack.com/docs/message-attachments - */ -class SlackRecord -{ - const COLOR_DANGER = 'danger'; - - const COLOR_WARNING = 'warning'; - - const COLOR_GOOD = 'good'; - - const COLOR_DEFAULT = '#e3e4e6'; - - /** - * Slack channel (encoded ID or name) - * @var string|null - */ - private $channel; - - /** - * Name of a bot - * @var string|null - */ - private $username; - - /** - * User icon e.g. 'ghost', 'http://example.com/user.png' - * @var string - */ - private $userIcon; - - /** - * Whether the message should be added to Slack as attachment (plain text otherwise) - * @var bool - */ - private $useAttachment; - - /** - * Whether the the context/extra messages added to Slack as attachments are in a short style - * @var bool - */ - private $useShortAttachment; - - /** - * Whether the attachment should include context and extra data - * @var bool - */ - private $includeContextAndExtra; - - /** - * Dot separated list of fields to exclude from slack message. E.g. ['context.field1', 'extra.field2'] - * @var array - */ - private $excludeFields; - - /** - * @var FormatterInterface - */ - private $formatter; - - /** - * @var NormalizerFormatter - */ - private $normalizerFormatter; - - public function __construct($channel = null, $username = null, $useAttachment = true, $userIcon = null, $useShortAttachment = false, $includeContextAndExtra = false, array $excludeFields = array(), FormatterInterface $formatter = null) - { - $this->channel = $channel; - $this->username = $username; - $this->userIcon = trim($userIcon, ':'); - $this->useAttachment = $useAttachment; - $this->useShortAttachment = $useShortAttachment; - $this->includeContextAndExtra = $includeContextAndExtra; - $this->excludeFields = $excludeFields; - $this->formatter = $formatter; - - if ($this->includeContextAndExtra) { - $this->normalizerFormatter = new NormalizerFormatter(); - } - } - - public function getSlackData(array $record) - { - $dataArray = array(); - $record = $this->excludeFields($record); - - if ($this->username) { - $dataArray['username'] = $this->username; - } - - if ($this->channel) { - $dataArray['channel'] = $this->channel; - } - - if ($this->formatter && !$this->useAttachment) { - $message = $this->formatter->format($record); - } else { - $message = $record['message']; - } - - if ($this->useAttachment) { - $attachment = array( - 'fallback' => $message, - 'text' => $message, - 'color' => $this->getAttachmentColor($record['level']), - 'fields' => array(), - 'mrkdwn_in' => array('fields'), - 'ts' => $record['datetime']->getTimestamp() - ); - - if ($this->useShortAttachment) { - $attachment['title'] = $record['level_name']; - } else { - $attachment['title'] = 'Message'; - $attachment['fields'][] = $this->generateAttachmentField('Level', $record['level_name']); - } - - - if ($this->includeContextAndExtra) { - foreach (array('extra', 'context') as $key) { - if (empty($record[$key])) { - continue; - } - - if ($this->useShortAttachment) { - $attachment['fields'][] = $this->generateAttachmentField( - $key, - $record[$key] - ); - } else { - // Add all extra fields as individual fields in attachment - $attachment['fields'] = array_merge( - $attachment['fields'], - $this->generateAttachmentFields($record[$key]) - ); - } - } - } - - $dataArray['attachments'] = array($attachment); - } else { - $dataArray['text'] = $message; - } - - if ($this->userIcon) { - if (filter_var($this->userIcon, FILTER_VALIDATE_URL)) { - $dataArray['icon_url'] = $this->userIcon; - } else { - $dataArray['icon_emoji'] = ":{$this->userIcon}:"; - } - } - - return $dataArray; - } - - /** - * Returned a Slack message attachment color associated with - * provided level. - * - * @param int $level - * @return string - */ - public function getAttachmentColor($level) - { - switch (true) { - case $level >= Logger::ERROR: - return self::COLOR_DANGER; - case $level >= Logger::WARNING: - return self::COLOR_WARNING; - case $level >= Logger::INFO: - return self::COLOR_GOOD; - default: - return self::COLOR_DEFAULT; - } - } - - /** - * Stringifies an array of key/value pairs to be used in attachment fields - * - * @param array $fields - * - * @return string - */ - public function stringify($fields) - { - $normalized = $this->normalizerFormatter->format($fields); - $prettyPrintFlag = defined('JSON_PRETTY_PRINT') ? JSON_PRETTY_PRINT : 128; - $flags = 0; - if (PHP_VERSION_ID >= 50400) { - $flags = JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE; - } - - $hasSecondDimension = count(array_filter($normalized, 'is_array')); - $hasNonNumericKeys = !count(array_filter(array_keys($normalized), 'is_numeric')); - - return $hasSecondDimension || $hasNonNumericKeys - ? Utils::jsonEncode($normalized, $prettyPrintFlag | $flags) - : Utils::jsonEncode($normalized, $flags); - } - - /** - * Sets the formatter - * - * @param FormatterInterface $formatter - */ - public function setFormatter(FormatterInterface $formatter) - { - $this->formatter = $formatter; - } - - /** - * Generates attachment field - * - * @param string $title - * @param string|array $value - * - * @return array - */ - private function generateAttachmentField($title, $value) - { - $value = is_array($value) - ? sprintf('```%s```', $this->stringify($value)) - : $value; - - return array( - 'title' => ucfirst($title), - 'value' => $value, - 'short' => false - ); - } - - /** - * Generates a collection of attachment fields from array - * - * @param array $data - * - * @return array - */ - private function generateAttachmentFields(array $data) - { - $fields = array(); - foreach ($this->normalizerFormatter->format($data) as $key => $value) { - $fields[] = $this->generateAttachmentField($key, $value); - } - - return $fields; - } - - /** - * Get a copy of record with fields excluded according to $this->excludeFields - * - * @param array $record - * - * @return array - */ - private function excludeFields(array $record) - { - foreach ($this->excludeFields as $field) { - $keys = explode('.', $field); - $node = &$record; - $lastKey = end($keys); - foreach ($keys as $key) { - if (!isset($node[$key])) { - break; - } - if ($lastKey === $key) { - unset($node[$key]); - break; - } - $node = &$node[$key]; - } - } - - return $record; - } -} diff --git a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/SlackHandler.php b/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/SlackHandler.php deleted file mode 100644 index 88c4c4d..0000000 --- a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/SlackHandler.php +++ /dev/null @@ -1,221 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Monolog\Handler; - -use Monolog\Formatter\FormatterInterface; -use Monolog\Logger; -use Monolog\Utils; -use Monolog\Handler\Slack\SlackRecord; - -/** - * Sends notifications through Slack API - * - * @author Greg Kedzierski - * @see https://api.slack.com/ - */ -class SlackHandler extends SocketHandler -{ - /** - * Slack API token - * @var string - */ - private $token; - - /** - * Instance of the SlackRecord util class preparing data for Slack API. - * @var SlackRecord - */ - private $slackRecord; - - /** - * @param string $token Slack API token - * @param string $channel Slack channel (encoded ID or name) - * @param string|null $username Name of a bot - * @param bool $useAttachment Whether the message should be added to Slack as attachment (plain text otherwise) - * @param string|null $iconEmoji The emoji name to use (or null) - * @param int $level The minimum logging level at which this handler will be triggered - * @param bool $bubble Whether the messages that are handled can bubble up the stack or not - * @param bool $useShortAttachment Whether the the context/extra messages added to Slack as attachments are in a short style - * @param bool $includeContextAndExtra Whether the attachment should include context and extra data - * @param array $excludeFields Dot separated list of fields to exclude from slack message. E.g. ['context.field1', 'extra.field2'] - * @throws MissingExtensionException If no OpenSSL PHP extension configured - */ - public function __construct($token, $channel, $username = null, $useAttachment = true, $iconEmoji = null, $level = Logger::CRITICAL, $bubble = true, $useShortAttachment = false, $includeContextAndExtra = false, array $excludeFields = array()) - { - if (!extension_loaded('openssl')) { - throw new MissingExtensionException('The OpenSSL PHP extension is required to use the SlackHandler'); - } - - parent::__construct('ssl://slack.com:443', $level, $bubble); - - $this->slackRecord = new SlackRecord( - $channel, - $username, - $useAttachment, - $iconEmoji, - $useShortAttachment, - $includeContextAndExtra, - $excludeFields, - $this->formatter - ); - - $this->token = $token; - } - - public function getSlackRecord() - { - return $this->slackRecord; - } - - public function getToken() - { - return $this->token; - } - - /** - * {@inheritdoc} - * - * @param array $record - * @return string - */ - protected function generateDataStream($record) - { - $content = $this->buildContent($record); - - return $this->buildHeader($content) . $content; - } - - /** - * Builds the body of API call - * - * @param array $record - * @return string - */ - private function buildContent($record) - { - $dataArray = $this->prepareContentData($record); - - return http_build_query($dataArray); - } - - /** - * Prepares content data - * - * @param array $record - * @return array - */ - protected function prepareContentData($record) - { - $dataArray = $this->slackRecord->getSlackData($record); - $dataArray['token'] = $this->token; - - if (!empty($dataArray['attachments'])) { - $dataArray['attachments'] = Utils::jsonEncode($dataArray['attachments']); - } - - return $dataArray; - } - - /** - * Builds the header of the API Call - * - * @param string $content - * @return string - */ - private function buildHeader($content) - { - $header = "POST /api/chat.postMessage HTTP/1.1\r\n"; - $header .= "Host: slack.com\r\n"; - $header .= "Content-Type: application/x-www-form-urlencoded\r\n"; - $header .= "Content-Length: " . strlen($content) . "\r\n"; - $header .= "\r\n"; - - return $header; - } - - /** - * {@inheritdoc} - * - * @param array $record - */ - protected function write(array $record) - { - parent::write($record); - $this->finalizeWrite(); - } - - /** - * Finalizes the request by reading some bytes and then closing the socket - * - * If we do not read some but close the socket too early, slack sometimes - * drops the request entirely. - */ - protected function finalizeWrite() - { - $res = $this->getResource(); - if (is_resource($res)) { - @fread($res, 2048); - } - $this->closeSocket(); - } - - /** - * Returned a Slack message attachment color associated with - * provided level. - * - * @param int $level - * @return string - * @deprecated Use underlying SlackRecord instead - */ - protected function getAttachmentColor($level) - { - trigger_error( - 'SlackHandler::getAttachmentColor() is deprecated. Use underlying SlackRecord instead.', - E_USER_DEPRECATED - ); - - return $this->slackRecord->getAttachmentColor($level); - } - - /** - * Stringifies an array of key/value pairs to be used in attachment fields - * - * @param array $fields - * @return string - * @deprecated Use underlying SlackRecord instead - */ - protected function stringify($fields) - { - trigger_error( - 'SlackHandler::stringify() is deprecated. Use underlying SlackRecord instead.', - E_USER_DEPRECATED - ); - - return $this->slackRecord->stringify($fields); - } - - public function setFormatter(FormatterInterface $formatter) - { - parent::setFormatter($formatter); - $this->slackRecord->setFormatter($formatter); - - return $this; - } - - public function getFormatter() - { - $formatter = parent::getFormatter(); - $this->slackRecord->setFormatter($formatter); - - return $formatter; - } -} diff --git a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/SlackWebhookHandler.php b/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/SlackWebhookHandler.php deleted file mode 100644 index b87be99..0000000 --- a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/SlackWebhookHandler.php +++ /dev/null @@ -1,121 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Monolog\Handler; - -use Monolog\Formatter\FormatterInterface; -use Monolog\Logger; -use Monolog\Utils; -use Monolog\Handler\Slack\SlackRecord; - -/** - * Sends notifications through Slack Webhooks - * - * @author Haralan Dobrev - * @see https://api.slack.com/incoming-webhooks - */ -class SlackWebhookHandler extends AbstractProcessingHandler -{ - /** - * Slack Webhook token - * @var string - */ - private $webhookUrl; - - /** - * Instance of the SlackRecord util class preparing data for Slack API. - * @var SlackRecord - */ - private $slackRecord; - - /** - * @param string $webhookUrl Slack Webhook URL - * @param string|null $channel Slack channel (encoded ID or name) - * @param string|null $username Name of a bot - * @param bool $useAttachment Whether the message should be added to Slack as attachment (plain text otherwise) - * @param string|null $iconEmoji The emoji name to use (or null) - * @param bool $useShortAttachment Whether the the context/extra messages added to Slack as attachments are in a short style - * @param bool $includeContextAndExtra Whether the attachment should include context and extra data - * @param int $level The minimum logging level at which this handler will be triggered - * @param bool $bubble Whether the messages that are handled can bubble up the stack or not - * @param array $excludeFields Dot separated list of fields to exclude from slack message. E.g. ['context.field1', 'extra.field2'] - */ - public function __construct($webhookUrl, $channel = null, $username = null, $useAttachment = true, $iconEmoji = null, $useShortAttachment = false, $includeContextAndExtra = false, $level = Logger::CRITICAL, $bubble = true, array $excludeFields = array()) - { - parent::__construct($level, $bubble); - - $this->webhookUrl = $webhookUrl; - - $this->slackRecord = new SlackRecord( - $channel, - $username, - $useAttachment, - $iconEmoji, - $useShortAttachment, - $includeContextAndExtra, - $excludeFields, - $this->formatter - ); - } - - public function getSlackRecord() - { - return $this->slackRecord; - } - - public function getWebhookUrl() - { - return $this->webhookUrl; - } - - /** - * {@inheritdoc} - * - * @param array $record - */ - protected function write(array $record) - { - $postData = $this->slackRecord->getSlackData($record); - $postString = Utils::jsonEncode($postData); - - $ch = curl_init(); - $options = array( - CURLOPT_URL => $this->webhookUrl, - CURLOPT_POST => true, - CURLOPT_RETURNTRANSFER => true, - CURLOPT_HTTPHEADER => array('Content-type: application/json'), - CURLOPT_POSTFIELDS => $postString - ); - if (defined('CURLOPT_SAFE_UPLOAD')) { - $options[CURLOPT_SAFE_UPLOAD] = true; - } - - curl_setopt_array($ch, $options); - - Curl\Util::execute($ch); - } - - public function setFormatter(FormatterInterface $formatter) - { - parent::setFormatter($formatter); - $this->slackRecord->setFormatter($formatter); - - return $this; - } - - public function getFormatter() - { - $formatter = parent::getFormatter(); - $this->slackRecord->setFormatter($formatter); - - return $formatter; - } -} diff --git a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/SlackbotHandler.php b/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/SlackbotHandler.php deleted file mode 100644 index d3352ea..0000000 --- a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/SlackbotHandler.php +++ /dev/null @@ -1,84 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Monolog\Handler; - -use Monolog\Logger; - -/** - * Sends notifications through Slack's Slackbot - * - * @author Haralan Dobrev - * @see https://slack.com/apps/A0F81R8ET-slackbot - * @deprecated According to Slack the API used on this handler it is deprecated. - * Therefore this handler will be removed on 2.x - * Slack suggests to use webhooks instead. Please contact slack for more information. - */ -class SlackbotHandler extends AbstractProcessingHandler -{ - /** - * The slug of the Slack team - * @var string - */ - private $slackTeam; - - /** - * Slackbot token - * @var string - */ - private $token; - - /** - * Slack channel name - * @var string - */ - private $channel; - - /** - * @param string $slackTeam Slack team slug - * @param string $token Slackbot token - * @param string $channel Slack channel (encoded ID or name) - * @param int $level The minimum logging level at which this handler will be triggered - * @param bool $bubble Whether the messages that are handled can bubble up the stack or not - */ - public function __construct($slackTeam, $token, $channel, $level = Logger::CRITICAL, $bubble = true) - { - @trigger_error('SlackbotHandler is deprecated and will be removed on 2.x', E_USER_DEPRECATED); - parent::__construct($level, $bubble); - - $this->slackTeam = $slackTeam; - $this->token = $token; - $this->channel = $channel; - } - - /** - * {@inheritdoc} - * - * @param array $record - */ - protected function write(array $record) - { - $slackbotUrl = sprintf( - 'https://%s.slack.com/services/hooks/slackbot?token=%s&channel=%s', - $this->slackTeam, - $this->token, - $this->channel - ); - - $ch = curl_init(); - curl_setopt($ch, CURLOPT_URL, $slackbotUrl); - curl_setopt($ch, CURLOPT_POST, true); - curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); - curl_setopt($ch, CURLOPT_POSTFIELDS, $record['message']); - - Curl\Util::execute($ch); - } -} diff --git a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/SocketHandler.php b/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/SocketHandler.php deleted file mode 100644 index db50d97..0000000 --- a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/SocketHandler.php +++ /dev/null @@ -1,385 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Monolog\Handler; - -use Monolog\Logger; - -/** - * Stores to any socket - uses fsockopen() or pfsockopen(). - * - * @author Pablo de Leon Belloc - * @see http://php.net/manual/en/function.fsockopen.php - */ -class SocketHandler extends AbstractProcessingHandler -{ - private $connectionString; - private $connectionTimeout; - private $resource; - private $timeout = 0; - private $writingTimeout = 10; - private $lastSentBytes = null; - private $chunkSize = null; - private $persistent = false; - private $errno; - private $errstr; - private $lastWritingAt; - - /** - * @param string $connectionString Socket connection string - * @param int $level The minimum logging level at which this handler will be triggered - * @param bool $bubble Whether the messages that are handled can bubble up the stack or not - */ - public function __construct($connectionString, $level = Logger::DEBUG, $bubble = true) - { - parent::__construct($level, $bubble); - $this->connectionString = $connectionString; - $this->connectionTimeout = (float) ini_get('default_socket_timeout'); - } - - /** - * Connect (if necessary) and write to the socket - * - * @param array $record - * - * @throws \UnexpectedValueException - * @throws \RuntimeException - */ - protected function write(array $record) - { - $this->connectIfNotConnected(); - $data = $this->generateDataStream($record); - $this->writeToSocket($data); - } - - /** - * We will not close a PersistentSocket instance so it can be reused in other requests. - */ - public function close() - { - if (!$this->isPersistent()) { - $this->closeSocket(); - } - } - - /** - * Close socket, if open - */ - public function closeSocket() - { - if (is_resource($this->resource)) { - fclose($this->resource); - $this->resource = null; - } - } - - /** - * Set socket connection to nbe persistent. It only has effect before the connection is initiated. - * - * @param bool $persistent - */ - public function setPersistent($persistent) - { - $this->persistent = (bool) $persistent; - } - - /** - * Set connection timeout. Only has effect before we connect. - * - * @param float $seconds - * - * @see http://php.net/manual/en/function.fsockopen.php - */ - public function setConnectionTimeout($seconds) - { - $this->validateTimeout($seconds); - $this->connectionTimeout = (float) $seconds; - } - - /** - * Set write timeout. Only has effect before we connect. - * - * @param float $seconds - * - * @see http://php.net/manual/en/function.stream-set-timeout.php - */ - public function setTimeout($seconds) - { - $this->validateTimeout($seconds); - $this->timeout = (float) $seconds; - } - - /** - * Set writing timeout. Only has effect during connection in the writing cycle. - * - * @param float $seconds 0 for no timeout - */ - public function setWritingTimeout($seconds) - { - $this->validateTimeout($seconds); - $this->writingTimeout = (float) $seconds; - } - - /** - * Set chunk size. Only has effect during connection in the writing cycle. - * - * @param float $bytes - */ - public function setChunkSize($bytes) - { - $this->chunkSize = $bytes; - } - - /** - * Get current connection string - * - * @return string - */ - public function getConnectionString() - { - return $this->connectionString; - } - - /** - * Get persistent setting - * - * @return bool - */ - public function isPersistent() - { - return $this->persistent; - } - - /** - * Get current connection timeout setting - * - * @return float - */ - public function getConnectionTimeout() - { - return $this->connectionTimeout; - } - - /** - * Get current in-transfer timeout - * - * @return float - */ - public function getTimeout() - { - return $this->timeout; - } - - /** - * Get current local writing timeout - * - * @return float - */ - public function getWritingTimeout() - { - return $this->writingTimeout; - } - - /** - * Get current chunk size - * - * @return float - */ - public function getChunkSize() - { - return $this->chunkSize; - } - - /** - * Check to see if the socket is currently available. - * - * UDP might appear to be connected but might fail when writing. See http://php.net/fsockopen for details. - * - * @return bool - */ - public function isConnected() - { - return is_resource($this->resource) - && !feof($this->resource); // on TCP - other party can close connection. - } - - /** - * Wrapper to allow mocking - */ - protected function pfsockopen() - { - return @pfsockopen($this->connectionString, -1, $this->errno, $this->errstr, $this->connectionTimeout); - } - - /** - * Wrapper to allow mocking - */ - protected function fsockopen() - { - return @fsockopen($this->connectionString, -1, $this->errno, $this->errstr, $this->connectionTimeout); - } - - /** - * Wrapper to allow mocking - * - * @see http://php.net/manual/en/function.stream-set-timeout.php - */ - protected function streamSetTimeout() - { - $seconds = floor($this->timeout); - $microseconds = round(($this->timeout - $seconds) * 1e6); - - return stream_set_timeout($this->resource, $seconds, $microseconds); - } - - /** - * Wrapper to allow mocking - * - * @see http://php.net/manual/en/function.stream-set-chunk-size.php - */ - protected function streamSetChunkSize() - { - return stream_set_chunk_size($this->resource, $this->chunkSize); - } - - /** - * Wrapper to allow mocking - */ - protected function fwrite($data) - { - return @fwrite($this->resource, $data); - } - - /** - * Wrapper to allow mocking - */ - protected function streamGetMetadata() - { - return stream_get_meta_data($this->resource); - } - - private function validateTimeout($value) - { - $ok = filter_var($value, FILTER_VALIDATE_FLOAT); - if ($ok === false || $value < 0) { - throw new \InvalidArgumentException("Timeout must be 0 or a positive float (got $value)"); - } - } - - private function connectIfNotConnected() - { - if ($this->isConnected()) { - return; - } - $this->connect(); - } - - protected function generateDataStream($record) - { - return (string) $record['formatted']; - } - - /** - * @return resource|null - */ - protected function getResource() - { - return $this->resource; - } - - private function connect() - { - $this->createSocketResource(); - $this->setSocketTimeout(); - $this->setStreamChunkSize(); - } - - private function createSocketResource() - { - if ($this->isPersistent()) { - $resource = $this->pfsockopen(); - } else { - $resource = $this->fsockopen(); - } - if (!$resource) { - throw new \UnexpectedValueException("Failed connecting to $this->connectionString ($this->errno: $this->errstr)"); - } - $this->resource = $resource; - } - - private function setSocketTimeout() - { - if (!$this->streamSetTimeout()) { - throw new \UnexpectedValueException("Failed setting timeout with stream_set_timeout()"); - } - } - - private function setStreamChunkSize() - { - if ($this->chunkSize && !$this->streamSetChunkSize()) { - throw new \UnexpectedValueException("Failed setting chunk size with stream_set_chunk_size()"); - } - } - - private function writeToSocket($data) - { - $length = strlen($data); - $sent = 0; - $this->lastSentBytes = $sent; - while ($this->isConnected() && $sent < $length) { - if (0 == $sent) { - $chunk = $this->fwrite($data); - } else { - $chunk = $this->fwrite(substr($data, $sent)); - } - if ($chunk === false) { - throw new \RuntimeException("Could not write to socket"); - } - $sent += $chunk; - $socketInfo = $this->streamGetMetadata(); - if ($socketInfo['timed_out']) { - throw new \RuntimeException("Write timed-out"); - } - - if ($this->writingIsTimedOut($sent)) { - throw new \RuntimeException("Write timed-out, no data sent for `{$this->writingTimeout}` seconds, probably we got disconnected (sent $sent of $length)"); - } - } - if (!$this->isConnected() && $sent < $length) { - throw new \RuntimeException("End-of-file reached, probably we got disconnected (sent $sent of $length)"); - } - } - - private function writingIsTimedOut($sent) - { - $writingTimeout = (int) floor($this->writingTimeout); - if (0 === $writingTimeout) { - return false; - } - - if ($sent !== $this->lastSentBytes) { - $this->lastWritingAt = time(); - $this->lastSentBytes = $sent; - - return false; - } else { - usleep(100); - } - - if ((time() - $this->lastWritingAt) >= $writingTimeout) { - $this->closeSocket(); - - return true; - } - - return false; - } -} diff --git a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php b/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php deleted file mode 100644 index 27d90e0..0000000 --- a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php +++ /dev/null @@ -1,177 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Monolog\Handler; - -use Monolog\Logger; - -/** - * Stores to any stream resource - * - * Can be used to store into php://stderr, remote and local files, etc. - * - * @author Jordi Boggiano - */ -class StreamHandler extends AbstractProcessingHandler -{ - protected $stream; - protected $url; - private $errorMessage; - protected $filePermission; - protected $useLocking; - private $dirCreated; - - /** - * @param resource|string $stream - * @param int $level The minimum logging level at which this handler will be triggered - * @param bool $bubble Whether the messages that are handled can bubble up the stack or not - * @param int|null $filePermission Optional file permissions (default (0644) are only for owner read/write) - * @param bool $useLocking Try to lock log file before doing any writes - * - * @throws \Exception If a missing directory is not buildable - * @throws \InvalidArgumentException If stream is not a resource or string - */ - public function __construct($stream, $level = Logger::DEBUG, $bubble = true, $filePermission = null, $useLocking = false) - { - parent::__construct($level, $bubble); - if (is_resource($stream)) { - $this->stream = $stream; - } elseif (is_string($stream)) { - $this->url = $stream; - } else { - throw new \InvalidArgumentException('A stream must either be a resource or a string.'); - } - - $this->filePermission = $filePermission; - $this->useLocking = $useLocking; - } - - /** - * {@inheritdoc} - */ - public function close() - { - if ($this->url && is_resource($this->stream)) { - fclose($this->stream); - } - $this->stream = null; - $this->dirCreated = null; - } - - /** - * Return the currently active stream if it is open - * - * @return resource|null - */ - public function getStream() - { - return $this->stream; - } - - /** - * Return the stream URL if it was configured with a URL and not an active resource - * - * @return string|null - */ - public function getUrl() - { - return $this->url; - } - - /** - * {@inheritdoc} - */ - protected function write(array $record) - { - if (!is_resource($this->stream)) { - if (null === $this->url || '' === $this->url) { - throw new \LogicException('Missing stream url, the stream can not be opened. This may be caused by a premature call to close().'); - } - $this->createDir(); - $this->errorMessage = null; - set_error_handler(array($this, 'customErrorHandler')); - $this->stream = fopen($this->url, 'a'); - if ($this->filePermission !== null) { - @chmod($this->url, $this->filePermission); - } - restore_error_handler(); - if (!is_resource($this->stream)) { - $this->stream = null; - throw new \UnexpectedValueException(sprintf('The stream or file "%s" could not be opened: '.$this->errorMessage, $this->url)); - } - } - - if ($this->useLocking) { - // ignoring errors here, there's not much we can do about them - flock($this->stream, LOCK_EX); - } - - $this->streamWrite($this->stream, $record); - - if ($this->useLocking) { - flock($this->stream, LOCK_UN); - } - } - - /** - * Write to stream - * @param resource $stream - * @param array $record - */ - protected function streamWrite($stream, array $record) - { - fwrite($stream, (string) $record['formatted']); - } - - private function customErrorHandler($code, $msg) - { - $this->errorMessage = preg_replace('{^(fopen|mkdir)\(.*?\): }', '', $msg); - } - - /** - * @param string $stream - * - * @return null|string - */ - private function getDirFromStream($stream) - { - $pos = strpos($stream, '://'); - if ($pos === false) { - return dirname($stream); - } - - if ('file://' === substr($stream, 0, 7)) { - return dirname(substr($stream, 7)); - } - - return; - } - - private function createDir() - { - // Do not try to create dir if it has already been tried. - if ($this->dirCreated) { - return; - } - - $dir = $this->getDirFromStream($this->url); - if (null !== $dir && !is_dir($dir)) { - $this->errorMessage = null; - set_error_handler(array($this, 'customErrorHandler')); - $status = mkdir($dir, 0777, true); - restore_error_handler(); - if (false === $status && !is_dir($dir)) { - throw new \UnexpectedValueException(sprintf('There is no existing directory at "%s" and its not buildable: '.$this->errorMessage, $dir)); - } - } - $this->dirCreated = true; - } -} diff --git a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/SwiftMailerHandler.php b/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/SwiftMailerHandler.php deleted file mode 100644 index ac7b16f..0000000 --- a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/SwiftMailerHandler.php +++ /dev/null @@ -1,111 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Monolog\Handler; - -use Monolog\Logger; -use Monolog\Formatter\FormatterInterface; -use Monolog\Formatter\LineFormatter; -use Swift; - -/** - * SwiftMailerHandler uses Swift_Mailer to send the emails - * - * @author Gyula Sallai - */ -class SwiftMailerHandler extends MailHandler -{ - protected $mailer; - private $messageTemplate; - - /** - * @param \Swift_Mailer $mailer The mailer to use - * @param callable|\Swift_Message $message An example message for real messages, only the body will be replaced - * @param int $level The minimum logging level at which this handler will be triggered - * @param bool $bubble Whether the messages that are handled can bubble up the stack or not - */ - public function __construct(\Swift_Mailer $mailer, $message, $level = Logger::ERROR, $bubble = true) - { - parent::__construct($level, $bubble); - - $this->mailer = $mailer; - $this->messageTemplate = $message; - } - - /** - * {@inheritdoc} - */ - protected function send($content, array $records) - { - $this->mailer->send($this->buildMessage($content, $records)); - } - - /** - * Gets the formatter for the Swift_Message subject. - * - * @param string $format The format of the subject - * @return FormatterInterface - */ - protected function getSubjectFormatter($format) - { - return new LineFormatter($format); - } - - /** - * Creates instance of Swift_Message to be sent - * - * @param string $content formatted email body to be sent - * @param array $records Log records that formed the content - * @return \Swift_Message - */ - protected function buildMessage($content, array $records) - { - $message = null; - if ($this->messageTemplate instanceof \Swift_Message) { - $message = clone $this->messageTemplate; - $message->generateId(); - } elseif (is_callable($this->messageTemplate)) { - $message = call_user_func($this->messageTemplate, $content, $records); - } - - if (!$message instanceof \Swift_Message) { - throw new \InvalidArgumentException('Could not resolve message as instance of Swift_Message or a callable returning it'); - } - - if ($records) { - $subjectFormatter = $this->getSubjectFormatter($message->getSubject()); - $message->setSubject($subjectFormatter->format($this->getHighestRecord($records))); - } - - $message->setBody($content); - if (version_compare(Swift::VERSION, '6.0.0', '>=')) { - $message->setDate(new \DateTimeImmutable()); - } else { - $message->setDate(time()); - } - - return $message; - } - - /** - * BC getter, to be removed in 2.0 - */ - public function __get($name) - { - if ($name === 'message') { - trigger_error('SwiftMailerHandler->message is deprecated, use ->buildMessage() instead to retrieve the message', E_USER_DEPRECATED); - - return $this->buildMessage(null, array()); - } - - throw new \InvalidArgumentException('Invalid property '.$name); - } -} diff --git a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/SyslogHandler.php b/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/SyslogHandler.php deleted file mode 100644 index f770c80..0000000 --- a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/SyslogHandler.php +++ /dev/null @@ -1,67 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Monolog\Handler; - -use Monolog\Logger; - -/** - * Logs to syslog service. - * - * usage example: - * - * $log = new Logger('application'); - * $syslog = new SyslogHandler('myfacility', 'local6'); - * $formatter = new LineFormatter("%channel%.%level_name%: %message% %extra%"); - * $syslog->setFormatter($formatter); - * $log->pushHandler($syslog); - * - * @author Sven Paulus - */ -class SyslogHandler extends AbstractSyslogHandler -{ - protected $ident; - protected $logopts; - - /** - * @param string $ident - * @param mixed $facility - * @param int $level The minimum logging level at which this handler will be triggered - * @param bool $bubble Whether the messages that are handled can bubble up the stack or not - * @param int $logopts Option flags for the openlog() call, defaults to LOG_PID - */ - public function __construct($ident, $facility = LOG_USER, $level = Logger::DEBUG, $bubble = true, $logopts = LOG_PID) - { - parent::__construct($facility, $level, $bubble); - - $this->ident = $ident; - $this->logopts = $logopts; - } - - /** - * {@inheritdoc} - */ - public function close() - { - closelog(); - } - - /** - * {@inheritdoc} - */ - protected function write(array $record) - { - if (!openlog($this->ident, $this->logopts, $this->facility)) { - throw new \LogicException('Can\'t open syslog for ident "'.$this->ident.'" and facility "'.$this->facility.'"'); - } - syslog($this->logLevels[$record['level']], (string) $record['formatted']); - } -} diff --git a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/SyslogUdp/UdpSocket.php b/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/SyslogUdp/UdpSocket.php deleted file mode 100644 index 3bff085..0000000 --- a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/SyslogUdp/UdpSocket.php +++ /dev/null @@ -1,56 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Monolog\Handler\SyslogUdp; - -class UdpSocket -{ - const DATAGRAM_MAX_LENGTH = 65023; - - protected $ip; - protected $port; - protected $socket; - - public function __construct($ip, $port = 514) - { - $this->ip = $ip; - $this->port = $port; - $this->socket = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP); - } - - public function write($line, $header = "") - { - $this->send($this->assembleMessage($line, $header)); - } - - public function close() - { - if (is_resource($this->socket)) { - socket_close($this->socket); - $this->socket = null; - } - } - - protected function send($chunk) - { - if (!is_resource($this->socket)) { - throw new \LogicException('The UdpSocket to '.$this->ip.':'.$this->port.' has been closed and can not be written to anymore'); - } - socket_sendto($this->socket, $chunk, strlen($chunk), $flags = 0, $this->ip, $this->port); - } - - protected function assembleMessage($line, $header) - { - $chunkSize = self::DATAGRAM_MAX_LENGTH - strlen($header); - - return $header . substr($line, 0, $chunkSize); - } -} diff --git a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/SyslogUdpHandler.php b/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/SyslogUdpHandler.php deleted file mode 100644 index 4dfd5f5..0000000 --- a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/SyslogUdpHandler.php +++ /dev/null @@ -1,124 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Monolog\Handler; - -use Monolog\Logger; -use Monolog\Handler\SyslogUdp\UdpSocket; - -/** - * A Handler for logging to a remote syslogd server. - * - * @author Jesper Skovgaard Nielsen - * @author Dominik Kukacka - */ -class SyslogUdpHandler extends AbstractSyslogHandler -{ - const RFC3164 = 0; - const RFC5424 = 1; - - private $dateFormats = array( - self::RFC3164 => 'M d H:i:s', - self::RFC5424 => \DateTime::RFC3339, - ); - - protected $socket; - protected $ident; - protected $rfc; - - /** - * @param string $host - * @param int $port - * @param mixed $facility - * @param int $level The minimum logging level at which this handler will be triggered - * @param bool $bubble Whether the messages that are handled can bubble up the stack or not - * @param string $ident Program name or tag for each log message. - * @param int $rfc RFC to format the message for. - */ - public function __construct($host, $port = 514, $facility = LOG_USER, $level = Logger::DEBUG, $bubble = true, $ident = 'php', $rfc = self::RFC5424) - { - parent::__construct($facility, $level, $bubble); - - $this->ident = $ident; - $this->rfc = $rfc; - - $this->socket = new UdpSocket($host, $port ?: 514); - } - - protected function write(array $record) - { - $lines = $this->splitMessageIntoLines($record['formatted']); - - $header = $this->makeCommonSyslogHeader($this->logLevels[$record['level']]); - - foreach ($lines as $line) { - $this->socket->write($line, $header); - } - } - - public function close() - { - $this->socket->close(); - } - - private function splitMessageIntoLines($message) - { - if (is_array($message)) { - $message = implode("\n", $message); - } - - return preg_split('/$\R?^/m', $message, -1, PREG_SPLIT_NO_EMPTY); - } - - /** - * Make common syslog header (see rfc5424 or rfc3164) - */ - protected function makeCommonSyslogHeader($severity) - { - $priority = $severity + $this->facility; - - if (!$pid = getmypid()) { - $pid = '-'; - } - - if (!$hostname = gethostname()) { - $hostname = '-'; - } - - $date = $this->getDateTime(); - - if ($this->rfc === self::RFC3164) { - return "<$priority>" . - $date . " " . - $hostname . " " . - $this->ident . "[" . $pid . "]: "; - } else { - return "<$priority>1 " . - $date . " " . - $hostname . " " . - $this->ident . " " . - $pid . " - - "; - } - } - - protected function getDateTime() - { - return date($this->dateFormats[$this->rfc]); - } - - /** - * Inject your own socket, mainly used for testing - */ - public function setSocket($socket) - { - $this->socket = $socket; - } -} diff --git a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/TestHandler.php b/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/TestHandler.php deleted file mode 100644 index 478db0a..0000000 --- a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/TestHandler.php +++ /dev/null @@ -1,177 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Monolog\Handler; - -/** - * Used for testing purposes. - * - * It records all records and gives you access to them for verification. - * - * @author Jordi Boggiano - * - * @method bool hasEmergency($record) - * @method bool hasAlert($record) - * @method bool hasCritical($record) - * @method bool hasError($record) - * @method bool hasWarning($record) - * @method bool hasNotice($record) - * @method bool hasInfo($record) - * @method bool hasDebug($record) - * - * @method bool hasEmergencyRecords() - * @method bool hasAlertRecords() - * @method bool hasCriticalRecords() - * @method bool hasErrorRecords() - * @method bool hasWarningRecords() - * @method bool hasNoticeRecords() - * @method bool hasInfoRecords() - * @method bool hasDebugRecords() - * - * @method bool hasEmergencyThatContains($message) - * @method bool hasAlertThatContains($message) - * @method bool hasCriticalThatContains($message) - * @method bool hasErrorThatContains($message) - * @method bool hasWarningThatContains($message) - * @method bool hasNoticeThatContains($message) - * @method bool hasInfoThatContains($message) - * @method bool hasDebugThatContains($message) - * - * @method bool hasEmergencyThatMatches($message) - * @method bool hasAlertThatMatches($message) - * @method bool hasCriticalThatMatches($message) - * @method bool hasErrorThatMatches($message) - * @method bool hasWarningThatMatches($message) - * @method bool hasNoticeThatMatches($message) - * @method bool hasInfoThatMatches($message) - * @method bool hasDebugThatMatches($message) - * - * @method bool hasEmergencyThatPasses($message) - * @method bool hasAlertThatPasses($message) - * @method bool hasCriticalThatPasses($message) - * @method bool hasErrorThatPasses($message) - * @method bool hasWarningThatPasses($message) - * @method bool hasNoticeThatPasses($message) - * @method bool hasInfoThatPasses($message) - * @method bool hasDebugThatPasses($message) - */ -class TestHandler extends AbstractProcessingHandler -{ - protected $records = array(); - protected $recordsByLevel = array(); - private $skipReset = false; - - public function getRecords() - { - return $this->records; - } - - public function clear() - { - $this->records = array(); - $this->recordsByLevel = array(); - } - - public function reset() - { - if (!$this->skipReset) { - $this->clear(); - } - } - - public function setSkipReset($skipReset) - { - $this->skipReset = $skipReset; - } - - public function hasRecords($level) - { - return isset($this->recordsByLevel[$level]); - } - - /** - * @param string|array $record Either a message string or an array containing message and optionally context keys that will be checked against all records - * @param int $level Logger::LEVEL constant value - */ - public function hasRecord($record, $level) - { - if (is_string($record)) { - $record = array('message' => $record); - } - - return $this->hasRecordThatPasses(function ($rec) use ($record) { - if ($rec['message'] !== $record['message']) { - return false; - } - if (isset($record['context']) && $rec['context'] !== $record['context']) { - return false; - } - return true; - }, $level); - } - - public function hasRecordThatContains($message, $level) - { - return $this->hasRecordThatPasses(function ($rec) use ($message) { - return strpos($rec['message'], $message) !== false; - }, $level); - } - - public function hasRecordThatMatches($regex, $level) - { - return $this->hasRecordThatPasses(function ($rec) use ($regex) { - return preg_match($regex, $rec['message']) > 0; - }, $level); - } - - public function hasRecordThatPasses($predicate, $level) - { - if (!is_callable($predicate)) { - throw new \InvalidArgumentException("Expected a callable for hasRecordThatSucceeds"); - } - - if (!isset($this->recordsByLevel[$level])) { - return false; - } - - foreach ($this->recordsByLevel[$level] as $i => $rec) { - if (call_user_func($predicate, $rec, $i)) { - return true; - } - } - - return false; - } - - /** - * {@inheritdoc} - */ - protected function write(array $record) - { - $this->recordsByLevel[$record['level']][] = $record; - $this->records[] = $record; - } - - public function __call($method, $args) - { - if (preg_match('/(.*)(Debug|Info|Notice|Warning|Error|Critical|Alert|Emergency)(.*)/', $method, $matches) > 0) { - $genericMethod = $matches[1] . ('Records' !== $matches[3] ? 'Record' : '') . $matches[3]; - $level = constant('Monolog\Logger::' . strtoupper($matches[2])); - if (method_exists($this, $genericMethod)) { - $args[] = $level; - - return call_user_func_array(array($this, $genericMethod), $args); - } - } - - throw new \BadMethodCallException('Call to undefined method ' . get_class($this) . '::' . $method . '()'); - } -} diff --git a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/WhatFailureGroupHandler.php b/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/WhatFailureGroupHandler.php deleted file mode 100644 index 7d7622a..0000000 --- a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/WhatFailureGroupHandler.php +++ /dev/null @@ -1,72 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Monolog\Handler; - -/** - * Forwards records to multiple handlers suppressing failures of each handler - * and continuing through to give every handler a chance to succeed. - * - * @author Craig D'Amelio - */ -class WhatFailureGroupHandler extends GroupHandler -{ - /** - * {@inheritdoc} - */ - public function handle(array $record) - { - if ($this->processors) { - foreach ($this->processors as $processor) { - $record = call_user_func($processor, $record); - } - } - - foreach ($this->handlers as $handler) { - try { - $handler->handle($record); - } catch (\Exception $e) { - // What failure? - } catch (\Throwable $e) { - // What failure? - } - } - - return false === $this->bubble; - } - - /** - * {@inheritdoc} - */ - public function handleBatch(array $records) - { - if ($this->processors) { - $processed = array(); - foreach ($records as $record) { - foreach ($this->processors as $processor) { - $record = call_user_func($processor, $record); - } - $processed[] = $record; - } - $records = $processed; - } - - foreach ($this->handlers as $handler) { - try { - $handler->handleBatch($records); - } catch (\Exception $e) { - // What failure? - } catch (\Throwable $e) { - // What failure? - } - } - } -} diff --git a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/ZendMonitorHandler.php b/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/ZendMonitorHandler.php deleted file mode 100644 index a20aeae..0000000 --- a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Handler/ZendMonitorHandler.php +++ /dev/null @@ -1,101 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Monolog\Handler; - -use Monolog\Formatter\NormalizerFormatter; -use Monolog\Logger; - -/** - * Handler sending logs to Zend Monitor - * - * @author Christian Bergau - * @author Jason Davis - */ -class ZendMonitorHandler extends AbstractProcessingHandler -{ - /** - * Monolog level / ZendMonitor Custom Event priority map - * - * @var array - */ - protected $levelMap = array(); - - /** - * Construct - * - * @param int $level - * @param bool $bubble - * @throws MissingExtensionException - */ - public function __construct($level = Logger::DEBUG, $bubble = true) - { - if (!function_exists('zend_monitor_custom_event')) { - throw new MissingExtensionException( - 'You must have Zend Server installed with Zend Monitor enabled in order to use this handler' - ); - } - //zend monitor constants are not defined if zend monitor is not enabled. - $this->levelMap = array( - Logger::DEBUG => \ZEND_MONITOR_EVENT_SEVERITY_INFO, - Logger::INFO => \ZEND_MONITOR_EVENT_SEVERITY_INFO, - Logger::NOTICE => \ZEND_MONITOR_EVENT_SEVERITY_INFO, - Logger::WARNING => \ZEND_MONITOR_EVENT_SEVERITY_WARNING, - Logger::ERROR => \ZEND_MONITOR_EVENT_SEVERITY_ERROR, - Logger::CRITICAL => \ZEND_MONITOR_EVENT_SEVERITY_ERROR, - Logger::ALERT => \ZEND_MONITOR_EVENT_SEVERITY_ERROR, - Logger::EMERGENCY => \ZEND_MONITOR_EVENT_SEVERITY_ERROR, - ); - parent::__construct($level, $bubble); - } - - /** - * {@inheritdoc} - */ - protected function write(array $record) - { - $this->writeZendMonitorCustomEvent( - Logger::getLevelName($record['level']), - $record['message'], - $record['formatted'], - $this->levelMap[$record['level']] - ); - } - - /** - * Write to Zend Monitor Events - * @param string $type Text displayed in "Class Name (custom)" field - * @param string $message Text displayed in "Error String" - * @param mixed $formatted Displayed in Custom Variables tab - * @param int $severity Set the event severity level (-1,0,1) - */ - protected function writeZendMonitorCustomEvent($type, $message, $formatted, $severity) - { - zend_monitor_custom_event($type, $message, $formatted, $severity); - } - - /** - * {@inheritdoc} - */ - public function getDefaultFormatter() - { - return new NormalizerFormatter(); - } - - /** - * Get the level map - * - * @return array - */ - public function getLevelMap() - { - return $this->levelMap; - } -} diff --git a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Logger.php b/paragonik-backend/vendor/monolog/monolog/src/Monolog/Logger.php deleted file mode 100644 index 05dfc81..0000000 --- a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Logger.php +++ /dev/null @@ -1,791 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Monolog; - -use Monolog\Handler\HandlerInterface; -use Monolog\Handler\StreamHandler; -use Psr\Log\LoggerInterface; -use Psr\Log\InvalidArgumentException; -use Exception; - -/** - * Monolog log channel - * - * It contains a stack of Handlers and a stack of Processors, - * and uses them to store records that are added to it. - * - * @author Jordi Boggiano - */ -class Logger implements LoggerInterface, ResettableInterface -{ - /** - * Detailed debug information - */ - const DEBUG = 100; - - /** - * Interesting events - * - * Examples: User logs in, SQL logs. - */ - const INFO = 200; - - /** - * Uncommon events - */ - const NOTICE = 250; - - /** - * Exceptional occurrences that are not errors - * - * Examples: Use of deprecated APIs, poor use of an API, - * undesirable things that are not necessarily wrong. - */ - const WARNING = 300; - - /** - * Runtime errors - */ - const ERROR = 400; - - /** - * Critical conditions - * - * Example: Application component unavailable, unexpected exception. - */ - const CRITICAL = 500; - - /** - * Action must be taken immediately - * - * Example: Entire website down, database unavailable, etc. - * This should trigger the SMS alerts and wake you up. - */ - const ALERT = 550; - - /** - * Urgent alert. - */ - const EMERGENCY = 600; - - /** - * Monolog API version - * - * This is only bumped when API breaks are done and should - * follow the major version of the library - * - * @var int - */ - const API = 1; - - /** - * Logging levels from syslog protocol defined in RFC 5424 - * - * @var array $levels Logging levels - */ - protected static $levels = array( - self::DEBUG => 'DEBUG', - self::INFO => 'INFO', - self::NOTICE => 'NOTICE', - self::WARNING => 'WARNING', - self::ERROR => 'ERROR', - self::CRITICAL => 'CRITICAL', - self::ALERT => 'ALERT', - self::EMERGENCY => 'EMERGENCY', - ); - - /** - * @var \DateTimeZone - */ - protected static $timezone; - - /** - * @var string - */ - protected $name; - - /** - * The handler stack - * - * @var HandlerInterface[] - */ - protected $handlers; - - /** - * Processors that will process all log records - * - * To process records of a single handler instead, add the processor on that specific handler - * - * @var callable[] - */ - protected $processors; - - /** - * @var bool - */ - protected $microsecondTimestamps = true; - - /** - * @var callable - */ - protected $exceptionHandler; - - /** - * @param string $name The logging channel - * @param HandlerInterface[] $handlers Optional stack of handlers, the first one in the array is called first, etc. - * @param callable[] $processors Optional array of processors - */ - public function __construct($name, array $handlers = array(), array $processors = array()) - { - $this->name = $name; - $this->setHandlers($handlers); - $this->processors = $processors; - } - - /** - * @return string - */ - public function getName() - { - return $this->name; - } - - /** - * Return a new cloned instance with the name changed - * - * @return static - */ - public function withName($name) - { - $new = clone $this; - $new->name = $name; - - return $new; - } - - /** - * Pushes a handler on to the stack. - * - * @param HandlerInterface $handler - * @return $this - */ - public function pushHandler(HandlerInterface $handler) - { - array_unshift($this->handlers, $handler); - - return $this; - } - - /** - * Pops a handler from the stack - * - * @return HandlerInterface - */ - public function popHandler() - { - if (!$this->handlers) { - throw new \LogicException('You tried to pop from an empty handler stack.'); - } - - return array_shift($this->handlers); - } - - /** - * Set handlers, replacing all existing ones. - * - * If a map is passed, keys will be ignored. - * - * @param HandlerInterface[] $handlers - * @return $this - */ - public function setHandlers(array $handlers) - { - $this->handlers = array(); - foreach (array_reverse($handlers) as $handler) { - $this->pushHandler($handler); - } - - return $this; - } - - /** - * @return HandlerInterface[] - */ - public function getHandlers() - { - return $this->handlers; - } - - /** - * Adds a processor on to the stack. - * - * @param callable $callback - * @return $this - */ - public function pushProcessor($callback) - { - if (!is_callable($callback)) { - throw new \InvalidArgumentException('Processors must be valid callables (callback or object with an __invoke method), '.var_export($callback, true).' given'); - } - array_unshift($this->processors, $callback); - - return $this; - } - - /** - * Removes the processor on top of the stack and returns it. - * - * @return callable - */ - public function popProcessor() - { - if (!$this->processors) { - throw new \LogicException('You tried to pop from an empty processor stack.'); - } - - return array_shift($this->processors); - } - - /** - * @return callable[] - */ - public function getProcessors() - { - return $this->processors; - } - - /** - * Control the use of microsecond resolution timestamps in the 'datetime' - * member of new records. - * - * Generating microsecond resolution timestamps by calling - * microtime(true), formatting the result via sprintf() and then parsing - * the resulting string via \DateTime::createFromFormat() can incur - * a measurable runtime overhead vs simple usage of DateTime to capture - * a second resolution timestamp in systems which generate a large number - * of log events. - * - * @param bool $micro True to use microtime() to create timestamps - */ - public function useMicrosecondTimestamps($micro) - { - $this->microsecondTimestamps = (bool) $micro; - } - - /** - * Adds a log record. - * - * @param int $level The logging level - * @param string $message The log message - * @param array $context The log context - * @return bool Whether the record has been processed - */ - public function addRecord($level, $message, array $context = array()) - { - if (!$this->handlers) { - $this->pushHandler(new StreamHandler('php://stderr', static::DEBUG)); - } - - $levelName = static::getLevelName($level); - - // check if any handler will handle this message so we can return early and save cycles - $handlerKey = null; - reset($this->handlers); - while ($handler = current($this->handlers)) { - if ($handler->isHandling(array('level' => $level))) { - $handlerKey = key($this->handlers); - break; - } - - next($this->handlers); - } - - if (null === $handlerKey) { - return false; - } - - if (!static::$timezone) { - static::$timezone = new \DateTimeZone(date_default_timezone_get() ?: 'UTC'); - } - - // php7.1+ always has microseconds enabled, so we do not need this hack - if ($this->microsecondTimestamps && PHP_VERSION_ID < 70100) { - $ts = \DateTime::createFromFormat('U.u', sprintf('%.6F', microtime(true)), static::$timezone); - } else { - $ts = new \DateTime(null, static::$timezone); - } - $ts->setTimezone(static::$timezone); - - $record = array( - 'message' => (string) $message, - 'context' => $context, - 'level' => $level, - 'level_name' => $levelName, - 'channel' => $this->name, - 'datetime' => $ts, - 'extra' => array(), - ); - - try { - foreach ($this->processors as $processor) { - $record = call_user_func($processor, $record); - } - - while ($handler = current($this->handlers)) { - if (true === $handler->handle($record)) { - break; - } - - next($this->handlers); - } - } catch (Exception $e) { - $this->handleException($e, $record); - } - - return true; - } - - /** - * Ends a log cycle and frees all resources used by handlers. - * - * Closing a Handler means flushing all buffers and freeing any open resources/handles. - * Handlers that have been closed should be able to accept log records again and re-open - * themselves on demand, but this may not always be possible depending on implementation. - * - * This is useful at the end of a request and will be called automatically on every handler - * when they get destructed. - */ - public function close() - { - foreach ($this->handlers as $handler) { - if (method_exists($handler, 'close')) { - $handler->close(); - } - } - } - - /** - * Ends a log cycle and resets all handlers and processors to their initial state. - * - * Resetting a Handler or a Processor means flushing/cleaning all buffers, resetting internal - * state, and getting it back to a state in which it can receive log records again. - * - * This is useful in case you want to avoid logs leaking between two requests or jobs when you - * have a long running process like a worker or an application server serving multiple requests - * in one process. - */ - public function reset() - { - foreach ($this->handlers as $handler) { - if ($handler instanceof ResettableInterface) { - $handler->reset(); - } - } - - foreach ($this->processors as $processor) { - if ($processor instanceof ResettableInterface) { - $processor->reset(); - } - } - } - - /** - * Adds a log record at the DEBUG level. - * - * @param string $message The log message - * @param array $context The log context - * @return bool Whether the record has been processed - */ - public function addDebug($message, array $context = array()) - { - return $this->addRecord(static::DEBUG, $message, $context); - } - - /** - * Adds a log record at the INFO level. - * - * @param string $message The log message - * @param array $context The log context - * @return bool Whether the record has been processed - */ - public function addInfo($message, array $context = array()) - { - return $this->addRecord(static::INFO, $message, $context); - } - - /** - * Adds a log record at the NOTICE level. - * - * @param string $message The log message - * @param array $context The log context - * @return bool Whether the record has been processed - */ - public function addNotice($message, array $context = array()) - { - return $this->addRecord(static::NOTICE, $message, $context); - } - - /** - * Adds a log record at the WARNING level. - * - * @param string $message The log message - * @param array $context The log context - * @return bool Whether the record has been processed - */ - public function addWarning($message, array $context = array()) - { - return $this->addRecord(static::WARNING, $message, $context); - } - - /** - * Adds a log record at the ERROR level. - * - * @param string $message The log message - * @param array $context The log context - * @return bool Whether the record has been processed - */ - public function addError($message, array $context = array()) - { - return $this->addRecord(static::ERROR, $message, $context); - } - - /** - * Adds a log record at the CRITICAL level. - * - * @param string $message The log message - * @param array $context The log context - * @return bool Whether the record has been processed - */ - public function addCritical($message, array $context = array()) - { - return $this->addRecord(static::CRITICAL, $message, $context); - } - - /** - * Adds a log record at the ALERT level. - * - * @param string $message The log message - * @param array $context The log context - * @return bool Whether the record has been processed - */ - public function addAlert($message, array $context = array()) - { - return $this->addRecord(static::ALERT, $message, $context); - } - - /** - * Adds a log record at the EMERGENCY level. - * - * @param string $message The log message - * @param array $context The log context - * @return bool Whether the record has been processed - */ - public function addEmergency($message, array $context = array()) - { - return $this->addRecord(static::EMERGENCY, $message, $context); - } - - /** - * Gets all supported logging levels. - * - * @return array Assoc array with human-readable level names => level codes. - */ - public static function getLevels() - { - return array_flip(static::$levels); - } - - /** - * Gets the name of the logging level. - * - * @param int $level - * @return string - */ - public static function getLevelName($level) - { - if (!isset(static::$levels[$level])) { - throw new InvalidArgumentException('Level "'.$level.'" is not defined, use one of: '.implode(', ', array_keys(static::$levels))); - } - - return static::$levels[$level]; - } - - /** - * Converts PSR-3 levels to Monolog ones if necessary - * - * @param string|int Level number (monolog) or name (PSR-3) - * @return int - */ - public static function toMonologLevel($level) - { - if (is_string($level) && defined(__CLASS__.'::'.strtoupper($level))) { - return constant(__CLASS__.'::'.strtoupper($level)); - } - - return $level; - } - - /** - * Checks whether the Logger has a handler that listens on the given level - * - * @param int $level - * @return bool - */ - public function isHandling($level) - { - $record = array( - 'level' => $level, - ); - - foreach ($this->handlers as $handler) { - if ($handler->isHandling($record)) { - return true; - } - } - - return false; - } - - /** - * Set a custom exception handler - * - * @param callable $callback - * @return $this - */ - public function setExceptionHandler($callback) - { - if (!is_callable($callback)) { - throw new \InvalidArgumentException('Exception handler must be valid callable (callback or object with an __invoke method), '.var_export($callback, true).' given'); - } - $this->exceptionHandler = $callback; - - return $this; - } - - /** - * @return callable - */ - public function getExceptionHandler() - { - return $this->exceptionHandler; - } - - /** - * Delegates exception management to the custom exception handler, - * or throws the exception if no custom handler is set. - */ - protected function handleException(Exception $e, array $record) - { - if (!$this->exceptionHandler) { - throw $e; - } - - call_user_func($this->exceptionHandler, $e, $record); - } - - /** - * Adds a log record at an arbitrary level. - * - * This method allows for compatibility with common interfaces. - * - * @param mixed $level The log level - * @param string $message The log message - * @param array $context The log context - * @return bool Whether the record has been processed - */ - public function log($level, $message, array $context = array()) - { - $level = static::toMonologLevel($level); - - return $this->addRecord($level, $message, $context); - } - - /** - * Adds a log record at the DEBUG level. - * - * This method allows for compatibility with common interfaces. - * - * @param string $message The log message - * @param array $context The log context - * @return bool Whether the record has been processed - */ - public function debug($message, array $context = array()) - { - return $this->addRecord(static::DEBUG, $message, $context); - } - - /** - * Adds a log record at the INFO level. - * - * This method allows for compatibility with common interfaces. - * - * @param string $message The log message - * @param array $context The log context - * @return bool Whether the record has been processed - */ - public function info($message, array $context = array()) - { - return $this->addRecord(static::INFO, $message, $context); - } - - /** - * Adds a log record at the NOTICE level. - * - * This method allows for compatibility with common interfaces. - * - * @param string $message The log message - * @param array $context The log context - * @return bool Whether the record has been processed - */ - public function notice($message, array $context = array()) - { - return $this->addRecord(static::NOTICE, $message, $context); - } - - /** - * Adds a log record at the WARNING level. - * - * This method allows for compatibility with common interfaces. - * - * @param string $message The log message - * @param array $context The log context - * @return bool Whether the record has been processed - */ - public function warn($message, array $context = array()) - { - return $this->addRecord(static::WARNING, $message, $context); - } - - /** - * Adds a log record at the WARNING level. - * - * This method allows for compatibility with common interfaces. - * - * @param string $message The log message - * @param array $context The log context - * @return bool Whether the record has been processed - */ - public function warning($message, array $context = array()) - { - return $this->addRecord(static::WARNING, $message, $context); - } - - /** - * Adds a log record at the ERROR level. - * - * This method allows for compatibility with common interfaces. - * - * @param string $message The log message - * @param array $context The log context - * @return bool Whether the record has been processed - */ - public function err($message, array $context = array()) - { - return $this->addRecord(static::ERROR, $message, $context); - } - - /** - * Adds a log record at the ERROR level. - * - * This method allows for compatibility with common interfaces. - * - * @param string $message The log message - * @param array $context The log context - * @return bool Whether the record has been processed - */ - public function error($message, array $context = array()) - { - return $this->addRecord(static::ERROR, $message, $context); - } - - /** - * Adds a log record at the CRITICAL level. - * - * This method allows for compatibility with common interfaces. - * - * @param string $message The log message - * @param array $context The log context - * @return bool Whether the record has been processed - */ - public function crit($message, array $context = array()) - { - return $this->addRecord(static::CRITICAL, $message, $context); - } - - /** - * Adds a log record at the CRITICAL level. - * - * This method allows for compatibility with common interfaces. - * - * @param string $message The log message - * @param array $context The log context - * @return bool Whether the record has been processed - */ - public function critical($message, array $context = array()) - { - return $this->addRecord(static::CRITICAL, $message, $context); - } - - /** - * Adds a log record at the ALERT level. - * - * This method allows for compatibility with common interfaces. - * - * @param string $message The log message - * @param array $context The log context - * @return bool Whether the record has been processed - */ - public function alert($message, array $context = array()) - { - return $this->addRecord(static::ALERT, $message, $context); - } - - /** - * Adds a log record at the EMERGENCY level. - * - * This method allows for compatibility with common interfaces. - * - * @param string $message The log message - * @param array $context The log context - * @return bool Whether the record has been processed - */ - public function emerg($message, array $context = array()) - { - return $this->addRecord(static::EMERGENCY, $message, $context); - } - - /** - * Adds a log record at the EMERGENCY level. - * - * This method allows for compatibility with common interfaces. - * - * @param string $message The log message - * @param array $context The log context - * @return bool Whether the record has been processed - */ - public function emergency($message, array $context = array()) - { - return $this->addRecord(static::EMERGENCY, $message, $context); - } - - /** - * Set the timezone to be used for the timestamp of log records. - * - * This is stored globally for all Logger instances - * - * @param \DateTimeZone $tz Timezone object - */ - public static function setTimezone(\DateTimeZone $tz) - { - self::$timezone = $tz; - } -} diff --git a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Processor/GitProcessor.php b/paragonik-backend/vendor/monolog/monolog/src/Monolog/Processor/GitProcessor.php deleted file mode 100644 index 9fc3f50..0000000 --- a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Processor/GitProcessor.php +++ /dev/null @@ -1,64 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Monolog\Processor; - -use Monolog\Logger; - -/** - * Injects Git branch and Git commit SHA in all records - * - * @author Nick Otter - * @author Jordi Boggiano - */ -class GitProcessor implements ProcessorInterface -{ - private $level; - private static $cache; - - public function __construct($level = Logger::DEBUG) - { - $this->level = Logger::toMonologLevel($level); - } - - /** - * @param array $record - * @return array - */ - public function __invoke(array $record) - { - // return if the level is not high enough - if ($record['level'] < $this->level) { - return $record; - } - - $record['extra']['git'] = self::getGitInfo(); - - return $record; - } - - private static function getGitInfo() - { - if (self::$cache) { - return self::$cache; - } - - $branches = `git branch -v --no-abbrev`; - if (preg_match('{^\* (.+?)\s+([a-f0-9]{40})(?:\s|$)}m', $branches, $matches)) { - return self::$cache = array( - 'branch' => $matches[1], - 'commit' => $matches[2], - ); - } - - return self::$cache = array(); - } -} diff --git a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Processor/IntrospectionProcessor.php b/paragonik-backend/vendor/monolog/monolog/src/Monolog/Processor/IntrospectionProcessor.php deleted file mode 100644 index 6ae192a..0000000 --- a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Processor/IntrospectionProcessor.php +++ /dev/null @@ -1,112 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Monolog\Processor; - -use Monolog\Logger; - -/** - * Injects line/file:class/function where the log message came from - * - * Warning: This only works if the handler processes the logs directly. - * If you put the processor on a handler that is behind a FingersCrossedHandler - * for example, the processor will only be called once the trigger level is reached, - * and all the log records will have the same file/line/.. data from the call that - * triggered the FingersCrossedHandler. - * - * @author Jordi Boggiano - */ -class IntrospectionProcessor implements ProcessorInterface -{ - private $level; - - private $skipClassesPartials; - - private $skipStackFramesCount; - - private $skipFunctions = array( - 'call_user_func', - 'call_user_func_array', - ); - - public function __construct($level = Logger::DEBUG, array $skipClassesPartials = array(), $skipStackFramesCount = 0) - { - $this->level = Logger::toMonologLevel($level); - $this->skipClassesPartials = array_merge(array('Monolog\\'), $skipClassesPartials); - $this->skipStackFramesCount = $skipStackFramesCount; - } - - /** - * @param array $record - * @return array - */ - public function __invoke(array $record) - { - // return if the level is not high enough - if ($record['level'] < $this->level) { - return $record; - } - - /* - * http://php.net/manual/en/function.debug-backtrace.php - * As of 5.3.6, DEBUG_BACKTRACE_IGNORE_ARGS option was added. - * Any version less than 5.3.6 must use the DEBUG_BACKTRACE_IGNORE_ARGS constant value '2'. - */ - $trace = debug_backtrace((PHP_VERSION_ID < 50306) ? 2 : DEBUG_BACKTRACE_IGNORE_ARGS); - - // skip first since it's always the current method - array_shift($trace); - // the call_user_func call is also skipped - array_shift($trace); - - $i = 0; - - while ($this->isTraceClassOrSkippedFunction($trace, $i)) { - if (isset($trace[$i]['class'])) { - foreach ($this->skipClassesPartials as $part) { - if (strpos($trace[$i]['class'], $part) !== false) { - $i++; - continue 2; - } - } - } elseif (in_array($trace[$i]['function'], $this->skipFunctions)) { - $i++; - continue; - } - - break; - } - - $i += $this->skipStackFramesCount; - - // we should have the call source now - $record['extra'] = array_merge( - $record['extra'], - array( - 'file' => isset($trace[$i - 1]['file']) ? $trace[$i - 1]['file'] : null, - 'line' => isset($trace[$i - 1]['line']) ? $trace[$i - 1]['line'] : null, - 'class' => isset($trace[$i]['class']) ? $trace[$i]['class'] : null, - 'function' => isset($trace[$i]['function']) ? $trace[$i]['function'] : null, - ) - ); - - return $record; - } - - private function isTraceClassOrSkippedFunction(array $trace, $index) - { - if (!isset($trace[$index])) { - return false; - } - - return isset($trace[$index]['class']) || in_array($trace[$index]['function'], $this->skipFunctions); - } -} diff --git a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Processor/MemoryPeakUsageProcessor.php b/paragonik-backend/vendor/monolog/monolog/src/Monolog/Processor/MemoryPeakUsageProcessor.php deleted file mode 100644 index 0543e92..0000000 --- a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Processor/MemoryPeakUsageProcessor.php +++ /dev/null @@ -1,35 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Monolog\Processor; - -/** - * Injects memory_get_peak_usage in all records - * - * @see Monolog\Processor\MemoryProcessor::__construct() for options - * @author Rob Jensen - */ -class MemoryPeakUsageProcessor extends MemoryProcessor -{ - /** - * @param array $record - * @return array - */ - public function __invoke(array $record) - { - $bytes = memory_get_peak_usage($this->realUsage); - $formatted = $this->formatBytes($bytes); - - $record['extra']['memory_peak_usage'] = $formatted; - - return $record; - } -} diff --git a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Processor/MemoryProcessor.php b/paragonik-backend/vendor/monolog/monolog/src/Monolog/Processor/MemoryProcessor.php deleted file mode 100644 index 2a379a3..0000000 --- a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Processor/MemoryProcessor.php +++ /dev/null @@ -1,63 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Monolog\Processor; - -/** - * Some methods that are common for all memory processors - * - * @author Rob Jensen - */ -abstract class MemoryProcessor implements ProcessorInterface -{ - /** - * @var bool If true, get the real size of memory allocated from system. Else, only the memory used by emalloc() is reported. - */ - protected $realUsage; - - /** - * @var bool If true, then format memory size to human readable string (MB, KB, B depending on size) - */ - protected $useFormatting; - - /** - * @param bool $realUsage Set this to true to get the real size of memory allocated from system. - * @param bool $useFormatting If true, then format memory size to human readable string (MB, KB, B depending on size) - */ - public function __construct($realUsage = true, $useFormatting = true) - { - $this->realUsage = (bool) $realUsage; - $this->useFormatting = (bool) $useFormatting; - } - - /** - * Formats bytes into a human readable string if $this->useFormatting is true, otherwise return $bytes as is - * - * @param int $bytes - * @return string|int Formatted string if $this->useFormatting is true, otherwise return $bytes as is - */ - protected function formatBytes($bytes) - { - $bytes = (int) $bytes; - - if (!$this->useFormatting) { - return $bytes; - } - - if ($bytes > 1024 * 1024) { - return round($bytes / 1024 / 1024, 2).' MB'; - } elseif ($bytes > 1024) { - return round($bytes / 1024, 2).' KB'; - } - - return $bytes . ' B'; - } -} diff --git a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Processor/MemoryUsageProcessor.php b/paragonik-backend/vendor/monolog/monolog/src/Monolog/Processor/MemoryUsageProcessor.php deleted file mode 100644 index 2783d65..0000000 --- a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Processor/MemoryUsageProcessor.php +++ /dev/null @@ -1,35 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Monolog\Processor; - -/** - * Injects memory_get_usage in all records - * - * @see Monolog\Processor\MemoryProcessor::__construct() for options - * @author Rob Jensen - */ -class MemoryUsageProcessor extends MemoryProcessor -{ - /** - * @param array $record - * @return array - */ - public function __invoke(array $record) - { - $bytes = memory_get_usage($this->realUsage); - $formatted = $this->formatBytes($bytes); - - $record['extra']['memory_usage'] = $formatted; - - return $record; - } -} diff --git a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Processor/MercurialProcessor.php b/paragonik-backend/vendor/monolog/monolog/src/Monolog/Processor/MercurialProcessor.php deleted file mode 100644 index 2f5b326..0000000 --- a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Processor/MercurialProcessor.php +++ /dev/null @@ -1,63 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Monolog\Processor; - -use Monolog\Logger; - -/** - * Injects Hg branch and Hg revision number in all records - * - * @author Jonathan A. Schweder - */ -class MercurialProcessor implements ProcessorInterface -{ - private $level; - private static $cache; - - public function __construct($level = Logger::DEBUG) - { - $this->level = Logger::toMonologLevel($level); - } - - /** - * @param array $record - * @return array - */ - public function __invoke(array $record) - { - // return if the level is not high enough - if ($record['level'] < $this->level) { - return $record; - } - - $record['extra']['hg'] = self::getMercurialInfo(); - - return $record; - } - - private static function getMercurialInfo() - { - if (self::$cache) { - return self::$cache; - } - - $result = explode(' ', trim(`hg id -nb`)); - if (count($result) >= 3) { - return self::$cache = array( - 'branch' => $result[1], - 'revision' => $result[2], - ); - } - - return self::$cache = array(); - } -} diff --git a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Processor/ProcessIdProcessor.php b/paragonik-backend/vendor/monolog/monolog/src/Monolog/Processor/ProcessIdProcessor.php deleted file mode 100644 index 66b80fb..0000000 --- a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Processor/ProcessIdProcessor.php +++ /dev/null @@ -1,31 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Monolog\Processor; - -/** - * Adds value of getmypid into records - * - * @author Andreas Hörnicke - */ -class ProcessIdProcessor implements ProcessorInterface -{ - /** - * @param array $record - * @return array - */ - public function __invoke(array $record) - { - $record['extra']['process_id'] = getmypid(); - - return $record; - } -} diff --git a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Processor/ProcessorInterface.php b/paragonik-backend/vendor/monolog/monolog/src/Monolog/Processor/ProcessorInterface.php deleted file mode 100644 index 7e64d4d..0000000 --- a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Processor/ProcessorInterface.php +++ /dev/null @@ -1,25 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Monolog\Processor; - -/** - * An optional interface to allow labelling Monolog processors. - * - * @author Nicolas Grekas - */ -interface ProcessorInterface -{ - /** - * @return array The processed records - */ - public function __invoke(array $records); -} diff --git a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Processor/PsrLogMessageProcessor.php b/paragonik-backend/vendor/monolog/monolog/src/Monolog/Processor/PsrLogMessageProcessor.php deleted file mode 100644 index 0088505..0000000 --- a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Processor/PsrLogMessageProcessor.php +++ /dev/null @@ -1,50 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Monolog\Processor; - -use Monolog\Utils; - -/** - * Processes a record's message according to PSR-3 rules - * - * It replaces {foo} with the value from $context['foo'] - * - * @author Jordi Boggiano - */ -class PsrLogMessageProcessor implements ProcessorInterface -{ - /** - * @param array $record - * @return array - */ - public function __invoke(array $record) - { - if (false === strpos($record['message'], '{')) { - return $record; - } - - $replacements = array(); - foreach ($record['context'] as $key => $val) { - if (is_null($val) || is_scalar($val) || (is_object($val) && method_exists($val, "__toString"))) { - $replacements['{'.$key.'}'] = $val; - } elseif (is_object($val)) { - $replacements['{'.$key.'}'] = '[object '.Utils::getClass($val).']'; - } else { - $replacements['{'.$key.'}'] = '['.gettype($val).']'; - } - } - - $record['message'] = strtr($record['message'], $replacements); - - return $record; - } -} diff --git a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Processor/TagProcessor.php b/paragonik-backend/vendor/monolog/monolog/src/Monolog/Processor/TagProcessor.php deleted file mode 100644 index 615a4d9..0000000 --- a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Processor/TagProcessor.php +++ /dev/null @@ -1,44 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Monolog\Processor; - -/** - * Adds a tags array into record - * - * @author Martijn Riemers - */ -class TagProcessor implements ProcessorInterface -{ - private $tags; - - public function __construct(array $tags = array()) - { - $this->setTags($tags); - } - - public function addTags(array $tags = array()) - { - $this->tags = array_merge($this->tags, $tags); - } - - public function setTags(array $tags = array()) - { - $this->tags = $tags; - } - - public function __invoke(array $record) - { - $record['extra']['tags'] = $this->tags; - - return $record; - } -} diff --git a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Processor/UidProcessor.php b/paragonik-backend/vendor/monolog/monolog/src/Monolog/Processor/UidProcessor.php deleted file mode 100644 index d1f708c..0000000 --- a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Processor/UidProcessor.php +++ /dev/null @@ -1,59 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Monolog\Processor; - -use Monolog\ResettableInterface; - -/** - * Adds a unique identifier into records - * - * @author Simon Mönch - */ -class UidProcessor implements ProcessorInterface, ResettableInterface -{ - private $uid; - - public function __construct($length = 7) - { - if (!is_int($length) || $length > 32 || $length < 1) { - throw new \InvalidArgumentException('The uid length must be an integer between 1 and 32'); - } - - - $this->uid = $this->generateUid($length); - } - - public function __invoke(array $record) - { - $record['extra']['uid'] = $this->uid; - - return $record; - } - - /** - * @return string - */ - public function getUid() - { - return $this->uid; - } - - public function reset() - { - $this->uid = $this->generateUid(strlen($this->uid)); - } - - private function generateUid($length) - { - return substr(hash('md5', uniqid('', true)), 0, $length); - } -} diff --git a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Processor/WebProcessor.php b/paragonik-backend/vendor/monolog/monolog/src/Monolog/Processor/WebProcessor.php deleted file mode 100644 index 684188f..0000000 --- a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Processor/WebProcessor.php +++ /dev/null @@ -1,113 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Monolog\Processor; - -/** - * Injects url/method and remote IP of the current web request in all records - * - * @author Jordi Boggiano - */ -class WebProcessor implements ProcessorInterface -{ - /** - * @var array|\ArrayAccess - */ - protected $serverData; - - /** - * Default fields - * - * Array is structured as [key in record.extra => key in $serverData] - * - * @var array - */ - protected $extraFields = array( - 'url' => 'REQUEST_URI', - 'ip' => 'REMOTE_ADDR', - 'http_method' => 'REQUEST_METHOD', - 'server' => 'SERVER_NAME', - 'referrer' => 'HTTP_REFERER', - ); - - /** - * @param array|\ArrayAccess $serverData Array or object w/ ArrayAccess that provides access to the $_SERVER data - * @param array|null $extraFields Field names and the related key inside $serverData to be added. If not provided it defaults to: url, ip, http_method, server, referrer - */ - public function __construct($serverData = null, array $extraFields = null) - { - if (null === $serverData) { - $this->serverData = &$_SERVER; - } elseif (is_array($serverData) || $serverData instanceof \ArrayAccess) { - $this->serverData = $serverData; - } else { - throw new \UnexpectedValueException('$serverData must be an array or object implementing ArrayAccess.'); - } - - if (null !== $extraFields) { - if (isset($extraFields[0])) { - foreach (array_keys($this->extraFields) as $fieldName) { - if (!in_array($fieldName, $extraFields)) { - unset($this->extraFields[$fieldName]); - } - } - } else { - $this->extraFields = $extraFields; - } - } - } - - /** - * @param array $record - * @return array - */ - public function __invoke(array $record) - { - // skip processing if for some reason request data - // is not present (CLI or wonky SAPIs) - if (!isset($this->serverData['REQUEST_URI'])) { - return $record; - } - - $record['extra'] = $this->appendExtraFields($record['extra']); - - return $record; - } - - /** - * @param string $extraName - * @param string $serverName - * @return $this - */ - public function addExtraField($extraName, $serverName) - { - $this->extraFields[$extraName] = $serverName; - - return $this; - } - - /** - * @param array $extra - * @return array - */ - private function appendExtraFields(array $extra) - { - foreach ($this->extraFields as $extraName => $serverName) { - $extra[$extraName] = isset($this->serverData[$serverName]) ? $this->serverData[$serverName] : null; - } - - if (isset($this->serverData['UNIQUE_ID'])) { - $extra['unique_id'] = $this->serverData['UNIQUE_ID']; - } - - return $extra; - } -} diff --git a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Registry.php b/paragonik-backend/vendor/monolog/monolog/src/Monolog/Registry.php deleted file mode 100644 index 159b751..0000000 --- a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Registry.php +++ /dev/null @@ -1,134 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Monolog; - -use InvalidArgumentException; - -/** - * Monolog log registry - * - * Allows to get `Logger` instances in the global scope - * via static method calls on this class. - * - * - * $application = new Monolog\Logger('application'); - * $api = new Monolog\Logger('api'); - * - * Monolog\Registry::addLogger($application); - * Monolog\Registry::addLogger($api); - * - * function testLogger() - * { - * Monolog\Registry::api()->addError('Sent to $api Logger instance'); - * Monolog\Registry::application()->addError('Sent to $application Logger instance'); - * } - * - * - * @author Tomas Tatarko - */ -class Registry -{ - /** - * List of all loggers in the registry (by named indexes) - * - * @var Logger[] - */ - private static $loggers = array(); - - /** - * Adds new logging channel to the registry - * - * @param Logger $logger Instance of the logging channel - * @param string|null $name Name of the logging channel ($logger->getName() by default) - * @param bool $overwrite Overwrite instance in the registry if the given name already exists? - * @throws \InvalidArgumentException If $overwrite set to false and named Logger instance already exists - */ - public static function addLogger(Logger $logger, $name = null, $overwrite = false) - { - $name = $name ?: $logger->getName(); - - if (isset(self::$loggers[$name]) && !$overwrite) { - throw new InvalidArgumentException('Logger with the given name already exists'); - } - - self::$loggers[$name] = $logger; - } - - /** - * Checks if such logging channel exists by name or instance - * - * @param string|Logger $logger Name or logger instance - */ - public static function hasLogger($logger) - { - if ($logger instanceof Logger) { - $index = array_search($logger, self::$loggers, true); - - return false !== $index; - } else { - return isset(self::$loggers[$logger]); - } - } - - /** - * Removes instance from registry by name or instance - * - * @param string|Logger $logger Name or logger instance - */ - public static function removeLogger($logger) - { - if ($logger instanceof Logger) { - if (false !== ($idx = array_search($logger, self::$loggers, true))) { - unset(self::$loggers[$idx]); - } - } else { - unset(self::$loggers[$logger]); - } - } - - /** - * Clears the registry - */ - public static function clear() - { - self::$loggers = array(); - } - - /** - * Gets Logger instance from the registry - * - * @param string $name Name of the requested Logger instance - * @throws \InvalidArgumentException If named Logger instance is not in the registry - * @return Logger Requested instance of Logger - */ - public static function getInstance($name) - { - if (!isset(self::$loggers[$name])) { - throw new InvalidArgumentException(sprintf('Requested "%s" logger instance is not in the registry', $name)); - } - - return self::$loggers[$name]; - } - - /** - * Gets Logger instance from the registry via static method call - * - * @param string $name Name of the requested Logger instance - * @param array $arguments Arguments passed to static method call - * @throws \InvalidArgumentException If named Logger instance is not in the registry - * @return Logger Requested instance of Logger - */ - public static function __callStatic($name, $arguments) - { - return self::getInstance($name); - } -} diff --git a/paragonik-backend/vendor/monolog/monolog/src/Monolog/ResettableInterface.php b/paragonik-backend/vendor/monolog/monolog/src/Monolog/ResettableInterface.php deleted file mode 100644 index 635bc77..0000000 --- a/paragonik-backend/vendor/monolog/monolog/src/Monolog/ResettableInterface.php +++ /dev/null @@ -1,31 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Monolog; - -/** - * Handler or Processor implementing this interface will be reset when Logger::reset() is called. - * - * Resetting ends a log cycle gets them back to their initial state. - * - * Resetting a Handler or a Processor means flushing/cleaning all buffers, resetting internal - * state, and getting it back to a state in which it can receive log records again. - * - * This is useful in case you want to avoid logs leaking between two requests or jobs when you - * have a long running process like a worker or an application server serving multiple requests - * in one process. - * - * @author Grégoire Pineau - */ -interface ResettableInterface -{ - public function reset(); -} diff --git a/paragonik-backend/vendor/monolog/monolog/src/Monolog/SignalHandler.php b/paragonik-backend/vendor/monolog/monolog/src/Monolog/SignalHandler.php deleted file mode 100644 index d87018f..0000000 --- a/paragonik-backend/vendor/monolog/monolog/src/Monolog/SignalHandler.php +++ /dev/null @@ -1,115 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Monolog; - -use Psr\Log\LoggerInterface; -use Psr\Log\LogLevel; -use ReflectionExtension; - -/** - * Monolog POSIX signal handler - * - * @author Robert Gust-Bardon - */ -class SignalHandler -{ - private $logger; - - private $previousSignalHandler = array(); - private $signalLevelMap = array(); - private $signalRestartSyscalls = array(); - - public function __construct(LoggerInterface $logger) - { - $this->logger = $logger; - } - - public function registerSignalHandler($signo, $level = LogLevel::CRITICAL, $callPrevious = true, $restartSyscalls = true, $async = true) - { - if (!extension_loaded('pcntl') || !function_exists('pcntl_signal')) { - return $this; - } - - if ($callPrevious) { - if (function_exists('pcntl_signal_get_handler')) { - $handler = pcntl_signal_get_handler($signo); - if ($handler === false) { - return $this; - } - $this->previousSignalHandler[$signo] = $handler; - } else { - $this->previousSignalHandler[$signo] = true; - } - } else { - unset($this->previousSignalHandler[$signo]); - } - $this->signalLevelMap[$signo] = $level; - $this->signalRestartSyscalls[$signo] = $restartSyscalls; - - if (function_exists('pcntl_async_signals') && $async !== null) { - pcntl_async_signals($async); - } - - pcntl_signal($signo, array($this, 'handleSignal'), $restartSyscalls); - - return $this; - } - - public function handleSignal($signo, array $siginfo = null) - { - static $signals = array(); - - if (!$signals && extension_loaded('pcntl')) { - $pcntl = new ReflectionExtension('pcntl'); - $constants = $pcntl->getConstants(); - if (!$constants) { - // HHVM 3.24.2 returns an empty array. - $constants = get_defined_constants(true); - $constants = $constants['Core']; - } - foreach ($constants as $name => $value) { - if (substr($name, 0, 3) === 'SIG' && $name[3] !== '_' && is_int($value)) { - $signals[$value] = $name; - } - } - unset($constants); - } - - $level = isset($this->signalLevelMap[$signo]) ? $this->signalLevelMap[$signo] : LogLevel::CRITICAL; - $signal = isset($signals[$signo]) ? $signals[$signo] : $signo; - $context = isset($siginfo) ? $siginfo : array(); - $this->logger->log($level, sprintf('Program received signal %s', $signal), $context); - - if (!isset($this->previousSignalHandler[$signo])) { - return; - } - - if ($this->previousSignalHandler[$signo] === true || $this->previousSignalHandler[$signo] === SIG_DFL) { - if (extension_loaded('pcntl') && function_exists('pcntl_signal') && function_exists('pcntl_sigprocmask') && function_exists('pcntl_signal_dispatch') - && extension_loaded('posix') && function_exists('posix_getpid') && function_exists('posix_kill')) { - $restartSyscalls = isset($this->signalRestartSyscalls[$signo]) ? $this->signalRestartSyscalls[$signo] : true; - pcntl_signal($signo, SIG_DFL, $restartSyscalls); - pcntl_sigprocmask(SIG_UNBLOCK, array($signo), $oldset); - posix_kill(posix_getpid(), $signo); - pcntl_signal_dispatch(); - pcntl_sigprocmask(SIG_SETMASK, $oldset); - pcntl_signal($signo, array($this, 'handleSignal'), $restartSyscalls); - } - } elseif (is_callable($this->previousSignalHandler[$signo])) { - if (PHP_VERSION_ID >= 70100) { - $this->previousSignalHandler[$signo]($signo, $siginfo); - } else { - $this->previousSignalHandler[$signo]($signo); - } - } - } -} diff --git a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Utils.php b/paragonik-backend/vendor/monolog/monolog/src/Monolog/Utils.php deleted file mode 100644 index 180a159..0000000 --- a/paragonik-backend/vendor/monolog/monolog/src/Monolog/Utils.php +++ /dev/null @@ -1,159 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Monolog; - -class Utils -{ - /** - * @internal - */ - public static function getClass($object) - { - $class = \get_class($object); - - return 'c' === $class[0] && 0 === strpos($class, "class@anonymous\0") ? get_parent_class($class).'@anonymous' : $class; - } - - /** - * Return the JSON representation of a value - * - * @param mixed $data - * @param int $encodeFlags flags to pass to json encode, defaults to JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE - * @param bool $ignoreErrors whether to ignore encoding errors or to throw on error, when ignored and the encoding fails, "null" is returned which is valid json for null - * @throws \RuntimeException if encoding fails and errors are not ignored - * @return string - */ - public static function jsonEncode($data, $encodeFlags = null, $ignoreErrors = false) - { - if (null === $encodeFlags && version_compare(PHP_VERSION, '5.4.0', '>=')) { - $encodeFlags = JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE; - } - - if ($ignoreErrors) { - $json = @json_encode($data, $encodeFlags); - if (false === $json) { - return 'null'; - } - - return $json; - } - - $json = json_encode($data, $encodeFlags); - if (false === $json) { - $json = self::handleJsonError(json_last_error(), $data); - } - - return $json; - } - - /** - * Handle a json_encode failure. - * - * If the failure is due to invalid string encoding, try to clean the - * input and encode again. If the second encoding attempt fails, the - * inital error is not encoding related or the input can't be cleaned then - * raise a descriptive exception. - * - * @param int $code return code of json_last_error function - * @param mixed $data data that was meant to be encoded - * @param int $encodeFlags flags to pass to json encode, defaults to JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE - * @throws \RuntimeException if failure can't be corrected - * @return string JSON encoded data after error correction - */ - public static function handleJsonError($code, $data, $encodeFlags = null) - { - if ($code !== JSON_ERROR_UTF8) { - self::throwEncodeError($code, $data); - } - - if (is_string($data)) { - self::detectAndCleanUtf8($data); - } elseif (is_array($data)) { - array_walk_recursive($data, array('Monolog\Utils', 'detectAndCleanUtf8')); - } else { - self::throwEncodeError($code, $data); - } - - if (null === $encodeFlags && version_compare(PHP_VERSION, '5.4.0', '>=')) { - $encodeFlags = JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE; - } - - $json = json_encode($data, $encodeFlags); - - if ($json === false) { - self::throwEncodeError(json_last_error(), $data); - } - - return $json; - } - - /** - * Throws an exception according to a given code with a customized message - * - * @param int $code return code of json_last_error function - * @param mixed $data data that was meant to be encoded - * @throws \RuntimeException - */ - private static function throwEncodeError($code, $data) - { - switch ($code) { - case JSON_ERROR_DEPTH: - $msg = 'Maximum stack depth exceeded'; - break; - case JSON_ERROR_STATE_MISMATCH: - $msg = 'Underflow or the modes mismatch'; - break; - case JSON_ERROR_CTRL_CHAR: - $msg = 'Unexpected control character found'; - break; - case JSON_ERROR_UTF8: - $msg = 'Malformed UTF-8 characters, possibly incorrectly encoded'; - break; - default: - $msg = 'Unknown error'; - } - - throw new \RuntimeException('JSON encoding failed: '.$msg.'. Encoding: '.var_export($data, true)); - } - - /** - * Detect invalid UTF-8 string characters and convert to valid UTF-8. - * - * Valid UTF-8 input will be left unmodified, but strings containing - * invalid UTF-8 codepoints will be reencoded as UTF-8 with an assumed - * original encoding of ISO-8859-15. This conversion may result in - * incorrect output if the actual encoding was not ISO-8859-15, but it - * will be clean UTF-8 output and will not rely on expensive and fragile - * detection algorithms. - * - * Function converts the input in place in the passed variable so that it - * can be used as a callback for array_walk_recursive. - * - * @param mixed &$data Input to check and convert if needed - * @private - */ - public static function detectAndCleanUtf8(&$data) - { - if (is_string($data) && !preg_match('//u', $data)) { - $data = preg_replace_callback( - '/[\x80-\xFF]+/', - function ($m) { return utf8_encode($m[0]); }, - $data - ); - $data = str_replace( - array('¤', '¦', '¨', '´', '¸', '¼', '½', '¾'), - array('€', 'Å ', 'Å¡', 'Ž', 'ž', 'Å’', 'Å“', 'Ÿ'), - $data - ); - } - } -} diff --git a/paragonik-backend/vendor/myclabs/deep-copy/LICENSE b/paragonik-backend/vendor/myclabs/deep-copy/LICENSE deleted file mode 100644 index c3e8350..0000000 --- a/paragonik-backend/vendor/myclabs/deep-copy/LICENSE +++ /dev/null @@ -1,20 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2013 My C-Sense - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/paragonik-backend/vendor/myclabs/deep-copy/README.md b/paragonik-backend/vendor/myclabs/deep-copy/README.md deleted file mode 100644 index 7abe5dc..0000000 --- a/paragonik-backend/vendor/myclabs/deep-copy/README.md +++ /dev/null @@ -1,376 +0,0 @@ -# DeepCopy - -DeepCopy helps you create deep copies (clones) of your objects. It is designed to handle cycles in the association graph. - -[![Build Status](https://travis-ci.org/myclabs/DeepCopy.png?branch=1.x)](https://travis-ci.org/myclabs/DeepCopy) -[![Coverage Status](https://coveralls.io/repos/myclabs/DeepCopy/badge.png?branch=1.x)](https://coveralls.io/r/myclabs/DeepCopy?branch=1.x) -[![Scrutinizer Quality Score](https://scrutinizer-ci.com/g/myclabs/DeepCopy/badges/quality-score.png?s=2747100c19b275f93a777e3297c6c12d1b68b934)](https://scrutinizer-ci.com/g/myclabs/DeepCopy/) -[![Total Downloads](https://poser.pugx.org/myclabs/deep-copy/downloads.svg)](https://packagist.org/packages/myclabs/deep-copy) - - -**You are browsing the 1.x version, this version is in maintenance mode only. Please check the new -[2.x](https://github.com/myclabs/DeepCopy/tree/2.x) version.** - - -## Table of Contents - -1. [How](#how) -1. [Why](#why) - 1. [Using simply `clone`](#using-simply-clone) - 1. [Overridding `__clone()`](#overridding-__clone) - 1. [With `DeepCopy`](#with-deepcopy) -1. [How it works](#how-it-works) -1. [Going further](#going-further) - 1. [Matchers](#matchers) - 1. [Property name](#property-name) - 1. [Specific property](#specific-property) - 1. [Type](#type) - 1. [Filters](#filters) - 1. [`SetNullFilter`](#setnullfilter-filter) - 1. [`KeepFilter`](#keepfilter-filter) - 1. [`DoctrineCollectionFilter`](#doctrinecollectionfilter-filter) - 1. [`DoctrineEmptyCollectionFilter`](#doctrineemptycollectionfilter-filter) - 1. [`DoctrineProxyFilter`](#doctrineproxyfilter-filter) - 1. [`ReplaceFilter`](#replacefilter-type-filter) - 1. [`ShallowCopyFilter`](#shallowcopyfilter-type-filter) -1. [Edge cases](#edge-cases) -1. [Contributing](#contributing) - 1. [Tests](#tests) - - -## How? - -Install with Composer: - -```json -composer require myclabs/deep-copy -``` - -Use simply: - -```php -use DeepCopy\DeepCopy; - -$copier = new DeepCopy(); -$myCopy = $copier->copy($myObject); -``` - - -## Why? - -- How do you create copies of your objects? - -```php -$myCopy = clone $myObject; -``` - -- How do you create **deep** copies of your objects (i.e. copying also all the objects referenced in the properties)? - -You use [`__clone()`](http://www.php.net/manual/en/language.oop5.cloning.php#object.clone) and implement the behavior -yourself. - -- But how do you handle **cycles** in the association graph? - -Now you're in for a big mess :( - -![association graph](doc/graph.png) - - -### Using simply `clone` - -![Using clone](doc/clone.png) - - -### Overridding `__clone()` - -![Overridding __clone](doc/deep-clone.png) - - -### With `DeepCopy` - -![With DeepCopy](doc/deep-copy.png) - - -## How it works - -DeepCopy recursively traverses all the object's properties and clones them. To avoid cloning the same object twice it -keeps a hash map of all instances and thus preserves the object graph. - -To use it: - -```php -use function DeepCopy\deep_copy; - -$copy = deep_copy($var); -``` - -Alternatively, you can create your own `DeepCopy` instance to configure it differently for example: - -```php -use DeepCopy\DeepCopy; - -$copier = new DeepCopy(true); - -$copy = $copier->copy($var); -``` - -You may want to roll your own deep copy function: - -```php -namespace Acme; - -use DeepCopy\DeepCopy; - -function deep_copy($var) -{ - static $copier = null; - - if (null === $copier) { - $copier = new DeepCopy(true); - } - - return $copier->copy($var); -} -``` - - -## Going further - -You can add filters to customize the copy process. - -The method to add a filter is `DeepCopy\DeepCopy::addFilter($filter, $matcher)`, -with `$filter` implementing `DeepCopy\Filter\Filter` -and `$matcher` implementing `DeepCopy\Matcher\Matcher`. - -We provide some generic filters and matchers. - - -### Matchers - - - `DeepCopy\Matcher` applies on a object attribute. - - `DeepCopy\TypeMatcher` applies on any element found in graph, including array elements. - - -#### Property name - -The `PropertyNameMatcher` will match a property by its name: - -```php -use DeepCopy\Matcher\PropertyNameMatcher; - -// Will apply a filter to any property of any objects named "id" -$matcher = new PropertyNameMatcher('id'); -``` - - -#### Specific property - -The `PropertyMatcher` will match a specific property of a specific class: - -```php -use DeepCopy\Matcher\PropertyMatcher; - -// Will apply a filter to the property "id" of any objects of the class "MyClass" -$matcher = new PropertyMatcher('MyClass', 'id'); -``` - - -#### Type - -The `TypeMatcher` will match any element by its type (instance of a class or any value that could be parameter of -[gettype()](http://php.net/manual/en/function.gettype.php) function): - -```php -use DeepCopy\TypeMatcher\TypeMatcher; - -// Will apply a filter to any object that is an instance of Doctrine\Common\Collections\Collection -$matcher = new TypeMatcher('Doctrine\Common\Collections\Collection'); -``` - - -### Filters - -- `DeepCopy\Filter` applies a transformation to the object attribute matched by `DeepCopy\Matcher` -- `DeepCopy\TypeFilter` applies a transformation to any element matched by `DeepCopy\TypeMatcher` - - -#### `SetNullFilter` (filter) - -Let's say for example that you are copying a database record (or a Doctrine entity), so you want the copy not to have -any ID: - -```php -use DeepCopy\DeepCopy; -use DeepCopy\Filter\SetNullFilter; -use DeepCopy\Matcher\PropertyNameMatcher; - -$object = MyClass::load(123); -echo $object->id; // 123 - -$copier = new DeepCopy(); -$copier->addFilter(new SetNullFilter(), new PropertyNameMatcher('id')); - -$copy = $copier->copy($object); - -echo $copy->id; // null -``` - - -#### `KeepFilter` (filter) - -If you want a property to remain untouched (for example, an association to an object): - -```php -use DeepCopy\DeepCopy; -use DeepCopy\Filter\KeepFilter; -use DeepCopy\Matcher\PropertyMatcher; - -$copier = new DeepCopy(); -$copier->addFilter(new KeepFilter(), new PropertyMatcher('MyClass', 'category')); - -$copy = $copier->copy($object); -// $copy->category has not been touched -``` - - -#### `DoctrineCollectionFilter` (filter) - -If you use Doctrine and want to copy an entity, you will need to use the `DoctrineCollectionFilter`: - -```php -use DeepCopy\DeepCopy; -use DeepCopy\Filter\Doctrine\DoctrineCollectionFilter; -use DeepCopy\Matcher\PropertyTypeMatcher; - -$copier = new DeepCopy(); -$copier->addFilter(new DoctrineCollectionFilter(), new PropertyTypeMatcher('Doctrine\Common\Collections\Collection')); - -$copy = $copier->copy($object); -``` - - -#### `DoctrineEmptyCollectionFilter` (filter) - -If you use Doctrine and want to copy an entity who contains a `Collection` that you want to be reset, you can use the -`DoctrineEmptyCollectionFilter` - -```php -use DeepCopy\DeepCopy; -use DeepCopy\Filter\Doctrine\DoctrineEmptyCollectionFilter; -use DeepCopy\Matcher\PropertyMatcher; - -$copier = new DeepCopy(); -$copier->addFilter(new DoctrineEmptyCollectionFilter(), new PropertyMatcher('MyClass', 'myProperty')); - -$copy = $copier->copy($object); - -// $copy->myProperty will return an empty collection -``` - - -#### `DoctrineProxyFilter` (filter) - -If you use Doctrine and use cloning on lazy loaded entities, you might encounter errors mentioning missing fields on a -Doctrine proxy class (...\\\_\_CG\_\_\Proxy). -You can use the `DoctrineProxyFilter` to load the actual entity behind the Doctrine proxy class. -**Make sure, though, to put this as one of your very first filters in the filter chain so that the entity is loaded -before other filters are applied!** - -```php -use DeepCopy\DeepCopy; -use DeepCopy\Filter\Doctrine\DoctrineProxyFilter; -use DeepCopy\Matcher\Doctrine\DoctrineProxyMatcher; - -$copier = new DeepCopy(); -$copier->addFilter(new DoctrineProxyFilter(), new DoctrineProxyMatcher()); - -$copy = $copier->copy($object); - -// $copy should now contain a clone of all entities, including those that were not yet fully loaded. -``` - - -#### `ReplaceFilter` (type filter) - -1. If you want to replace the value of a property: - -```php -use DeepCopy\DeepCopy; -use DeepCopy\Filter\ReplaceFilter; -use DeepCopy\Matcher\PropertyMatcher; - -$copier = new DeepCopy(); -$callback = function ($currentValue) { - return $currentValue . ' (copy)' -}; -$copier->addFilter(new ReplaceFilter($callback), new PropertyMatcher('MyClass', 'title')); - -$copy = $copier->copy($object); - -// $copy->title will contain the data returned by the callback, e.g. 'The title (copy)' -``` - -2. If you want to replace whole element: - -```php -use DeepCopy\DeepCopy; -use DeepCopy\TypeFilter\ReplaceFilter; -use DeepCopy\TypeMatcher\TypeMatcher; - -$copier = new DeepCopy(); -$callback = function (MyClass $myClass) { - return get_class($myClass); -}; -$copier->addTypeFilter(new ReplaceFilter($callback), new TypeMatcher('MyClass')); - -$copy = $copier->copy([new MyClass, 'some string', new MyClass]); - -// $copy will contain ['MyClass', 'some string', 'MyClass'] -``` - - -The `$callback` parameter of the `ReplaceFilter` constructor accepts any PHP callable. - - -#### `ShallowCopyFilter` (type filter) - -Stop *DeepCopy* from recursively copying element, using standard `clone` instead: - -```php -use DeepCopy\DeepCopy; -use DeepCopy\TypeFilter\ShallowCopyFilter; -use DeepCopy\TypeMatcher\TypeMatcher; -use Mockery as m; - -$this->deepCopy = new DeepCopy(); -$this->deepCopy->addTypeFilter( - new ShallowCopyFilter, - new TypeMatcher(m\MockInterface::class) -); - -$myServiceWithMocks = new MyService(m::mock(MyDependency1::class), m::mock(MyDependency2::class)); -// All mocks will be just cloned, not deep copied -``` - - -## Edge cases - -The following structures cannot be deep-copied with PHP Reflection. As a result they are shallow cloned and filters are -not applied. There is two ways for you to handle them: - -- Implement your own `__clone()` method -- Use a filter with a type matcher - - -## Contributing - -DeepCopy is distributed under the MIT license. - - -### Tests - -Running the tests is simple: - -```php -vendor/bin/phpunit -``` diff --git a/paragonik-backend/vendor/myclabs/deep-copy/composer.json b/paragonik-backend/vendor/myclabs/deep-copy/composer.json deleted file mode 100644 index 4108a23..0000000 --- a/paragonik-backend/vendor/myclabs/deep-copy/composer.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "name": "myclabs/deep-copy", - "type": "library", - "description": "Create deep copies (clones) of your objects", - "keywords": ["clone", "copy", "duplicate", "object", "object graph"], - "license": "MIT", - - "autoload": { - "psr-4": { - "DeepCopy\\": "src/DeepCopy/" - }, - "files": [ - "src/DeepCopy/deep_copy.php" - ] - }, - "autoload-dev": { - "psr-4": { - "DeepCopy\\": "fixtures/", - "DeepCopyTest\\": "tests/DeepCopyTest/" - } - }, - - "require": { - "php": "^7.1" - }, - "require-dev": { - "doctrine/collections": "^1.0", - "doctrine/common": "^2.6", - "phpunit/phpunit": "^7.1" - }, - "replace": { - "myclabs/deep-copy": "self.version" - }, - - "config": { - "sort-packages": true - } -} diff --git a/paragonik-backend/vendor/myclabs/deep-copy/doc/clone.png b/paragonik-backend/vendor/myclabs/deep-copy/doc/clone.png deleted file mode 100644 index 376afd4..0000000 Binary files a/paragonik-backend/vendor/myclabs/deep-copy/doc/clone.png and /dev/null differ diff --git a/paragonik-backend/vendor/myclabs/deep-copy/doc/deep-clone.png b/paragonik-backend/vendor/myclabs/deep-copy/doc/deep-clone.png deleted file mode 100644 index 2b37a6d..0000000 Binary files a/paragonik-backend/vendor/myclabs/deep-copy/doc/deep-clone.png and /dev/null differ diff --git a/paragonik-backend/vendor/myclabs/deep-copy/doc/deep-copy.png b/paragonik-backend/vendor/myclabs/deep-copy/doc/deep-copy.png deleted file mode 100644 index 68c508a..0000000 Binary files a/paragonik-backend/vendor/myclabs/deep-copy/doc/deep-copy.png and /dev/null differ diff --git a/paragonik-backend/vendor/myclabs/deep-copy/doc/graph.png b/paragonik-backend/vendor/myclabs/deep-copy/doc/graph.png deleted file mode 100644 index 4d5c942..0000000 Binary files a/paragonik-backend/vendor/myclabs/deep-copy/doc/graph.png and /dev/null differ diff --git a/paragonik-backend/vendor/myclabs/deep-copy/src/DeepCopy/DeepCopy.php b/paragonik-backend/vendor/myclabs/deep-copy/src/DeepCopy/DeepCopy.php deleted file mode 100644 index 2e53cf3..0000000 --- a/paragonik-backend/vendor/myclabs/deep-copy/src/DeepCopy/DeepCopy.php +++ /dev/null @@ -1,289 +0,0 @@ - Filter, 'matcher' => Matcher] pairs. - */ - private $filters = []; - - /** - * Type Filters to apply. - * - * @var array Array of ['filter' => Filter, 'matcher' => Matcher] pairs. - */ - private $typeFilters = []; - - /** - * @var bool - */ - private $skipUncloneable = false; - - /** - * @var bool - */ - private $useCloneMethod; - - /** - * @param bool $useCloneMethod If set to true, when an object implements the __clone() function, it will be used - * instead of the regular deep cloning. - */ - public function __construct($useCloneMethod = false) - { - $this->useCloneMethod = $useCloneMethod; - - $this->addTypeFilter(new DateIntervalFilter(), new TypeMatcher(DateInterval::class)); - $this->addTypeFilter(new SplDoublyLinkedListFilter($this), new TypeMatcher(SplDoublyLinkedList::class)); - } - - /** - * If enabled, will not throw an exception when coming across an uncloneable property. - * - * @param $skipUncloneable - * - * @return $this - */ - public function skipUncloneable($skipUncloneable = true) - { - $this->skipUncloneable = $skipUncloneable; - - return $this; - } - - /** - * Deep copies the given object. - * - * @param mixed $object - * - * @return mixed - */ - public function copy($object) - { - $this->hashMap = []; - - return $this->recursiveCopy($object); - } - - public function addFilter(Filter $filter, Matcher $matcher) - { - $this->filters[] = [ - 'matcher' => $matcher, - 'filter' => $filter, - ]; - } - - public function prependFilter(Filter $filter, Matcher $matcher) - { - array_unshift($this->filters, [ - 'matcher' => $matcher, - 'filter' => $filter, - ]); - } - - public function addTypeFilter(TypeFilter $filter, TypeMatcher $matcher) - { - $this->typeFilters[] = [ - 'matcher' => $matcher, - 'filter' => $filter, - ]; - } - - private function recursiveCopy($var) - { - // Matches Type Filter - if ($filter = $this->getFirstMatchedTypeFilter($this->typeFilters, $var)) { - return $filter->apply($var); - } - - // Resource - if (is_resource($var)) { - return $var; - } - - // Array - if (is_array($var)) { - return $this->copyArray($var); - } - - // Scalar - if (! is_object($var)) { - return $var; - } - - // Object - return $this->copyObject($var); - } - - /** - * Copy an array - * @param array $array - * @return array - */ - private function copyArray(array $array) - { - foreach ($array as $key => $value) { - $array[$key] = $this->recursiveCopy($value); - } - - return $array; - } - - /** - * Copies an object. - * - * @param object $object - * - * @throws CloneException - * - * @return object - */ - private function copyObject($object) - { - $objectHash = spl_object_hash($object); - - if (isset($this->hashMap[$objectHash])) { - return $this->hashMap[$objectHash]; - } - - $reflectedObject = new ReflectionObject($object); - $isCloneable = $reflectedObject->isCloneable(); - - if (false === $isCloneable) { - if ($this->skipUncloneable) { - $this->hashMap[$objectHash] = $object; - - return $object; - } - - throw new CloneException( - sprintf( - 'The class "%s" is not cloneable.', - $reflectedObject->getName() - ) - ); - } - - $newObject = clone $object; - $this->hashMap[$objectHash] = $newObject; - - if ($this->useCloneMethod && $reflectedObject->hasMethod('__clone')) { - return $newObject; - } - - if ($newObject instanceof DateTimeInterface || $newObject instanceof DateTimeZone) { - return $newObject; - } - - foreach (ReflectionHelper::getProperties($reflectedObject) as $property) { - $this->copyObjectProperty($newObject, $property); - } - - return $newObject; - } - - private function copyObjectProperty($object, ReflectionProperty $property) - { - // Ignore static properties - if ($property->isStatic()) { - return; - } - - // Apply the filters - foreach ($this->filters as $item) { - /** @var Matcher $matcher */ - $matcher = $item['matcher']; - /** @var Filter $filter */ - $filter = $item['filter']; - - if ($matcher->matches($object, $property->getName())) { - $filter->apply( - $object, - $property->getName(), - function ($object) { - return $this->recursiveCopy($object); - } - ); - - // If a filter matches, we stop processing this property - return; - } - } - - $property->setAccessible(true); - $propertyValue = $property->getValue($object); - - // Copy the property - $property->setValue($object, $this->recursiveCopy($propertyValue)); - } - - /** - * Returns first filter that matches variable, `null` if no such filter found. - * - * @param array $filterRecords Associative array with 2 members: 'filter' with value of type {@see TypeFilter} and - * 'matcher' with value of type {@see TypeMatcher} - * @param mixed $var - * - * @return TypeFilter|null - */ - private function getFirstMatchedTypeFilter(array $filterRecords, $var) - { - $matched = $this->first( - $filterRecords, - function (array $record) use ($var) { - /* @var TypeMatcher $matcher */ - $matcher = $record['matcher']; - - return $matcher->matches($var); - } - ); - - return isset($matched) ? $matched['filter'] : null; - } - - /** - * Returns first element that matches predicate, `null` if no such element found. - * - * @param array $elements Array of ['filter' => Filter, 'matcher' => Matcher] pairs. - * @param callable $predicate Predicate arguments are: element. - * - * @return array|null Associative array with 2 members: 'filter' with value of type {@see TypeFilter} and 'matcher' - * with value of type {@see TypeMatcher} or `null`. - */ - private function first(array $elements, callable $predicate) - { - foreach ($elements as $element) { - if (call_user_func($predicate, $element)) { - return $element; - } - } - - return null; - } -} diff --git a/paragonik-backend/vendor/myclabs/deep-copy/src/DeepCopy/Exception/CloneException.php b/paragonik-backend/vendor/myclabs/deep-copy/src/DeepCopy/Exception/CloneException.php deleted file mode 100644 index c046706..0000000 --- a/paragonik-backend/vendor/myclabs/deep-copy/src/DeepCopy/Exception/CloneException.php +++ /dev/null @@ -1,9 +0,0 @@ -setAccessible(true); - $oldCollection = $reflectionProperty->getValue($object); - - $newCollection = $oldCollection->map( - function ($item) use ($objectCopier) { - return $objectCopier($item); - } - ); - - $reflectionProperty->setValue($object, $newCollection); - } -} diff --git a/paragonik-backend/vendor/myclabs/deep-copy/src/DeepCopy/Filter/Doctrine/DoctrineEmptyCollectionFilter.php b/paragonik-backend/vendor/myclabs/deep-copy/src/DeepCopy/Filter/Doctrine/DoctrineEmptyCollectionFilter.php deleted file mode 100644 index 7b33fd5..0000000 --- a/paragonik-backend/vendor/myclabs/deep-copy/src/DeepCopy/Filter/Doctrine/DoctrineEmptyCollectionFilter.php +++ /dev/null @@ -1,28 +0,0 @@ -setAccessible(true); - - $reflectionProperty->setValue($object, new ArrayCollection()); - } -} \ No newline at end of file diff --git a/paragonik-backend/vendor/myclabs/deep-copy/src/DeepCopy/Filter/Doctrine/DoctrineProxyFilter.php b/paragonik-backend/vendor/myclabs/deep-copy/src/DeepCopy/Filter/Doctrine/DoctrineProxyFilter.php deleted file mode 100644 index 8bee8f7..0000000 --- a/paragonik-backend/vendor/myclabs/deep-copy/src/DeepCopy/Filter/Doctrine/DoctrineProxyFilter.php +++ /dev/null @@ -1,22 +0,0 @@ -__load(); - } -} diff --git a/paragonik-backend/vendor/myclabs/deep-copy/src/DeepCopy/Filter/Filter.php b/paragonik-backend/vendor/myclabs/deep-copy/src/DeepCopy/Filter/Filter.php deleted file mode 100644 index 85ba18c..0000000 --- a/paragonik-backend/vendor/myclabs/deep-copy/src/DeepCopy/Filter/Filter.php +++ /dev/null @@ -1,18 +0,0 @@ -callback = $callable; - } - - /** - * Replaces the object property by the result of the callback called with the object property. - * - * {@inheritdoc} - */ - public function apply($object, $property, $objectCopier) - { - $reflectionProperty = ReflectionHelper::getProperty($object, $property); - $reflectionProperty->setAccessible(true); - - $value = call_user_func($this->callback, $reflectionProperty->getValue($object)); - - $reflectionProperty->setValue($object, $value); - } -} diff --git a/paragonik-backend/vendor/myclabs/deep-copy/src/DeepCopy/Filter/SetNullFilter.php b/paragonik-backend/vendor/myclabs/deep-copy/src/DeepCopy/Filter/SetNullFilter.php deleted file mode 100644 index bea86b8..0000000 --- a/paragonik-backend/vendor/myclabs/deep-copy/src/DeepCopy/Filter/SetNullFilter.php +++ /dev/null @@ -1,24 +0,0 @@ -setAccessible(true); - $reflectionProperty->setValue($object, null); - } -} diff --git a/paragonik-backend/vendor/myclabs/deep-copy/src/DeepCopy/Matcher/Doctrine/DoctrineProxyMatcher.php b/paragonik-backend/vendor/myclabs/deep-copy/src/DeepCopy/Matcher/Doctrine/DoctrineProxyMatcher.php deleted file mode 100644 index ec8856f..0000000 --- a/paragonik-backend/vendor/myclabs/deep-copy/src/DeepCopy/Matcher/Doctrine/DoctrineProxyMatcher.php +++ /dev/null @@ -1,22 +0,0 @@ -class = $class; - $this->property = $property; - } - - /** - * Matches a specific property of a specific class. - * - * {@inheritdoc} - */ - public function matches($object, $property) - { - return ($object instanceof $this->class) && $property == $this->property; - } -} diff --git a/paragonik-backend/vendor/myclabs/deep-copy/src/DeepCopy/Matcher/PropertyNameMatcher.php b/paragonik-backend/vendor/myclabs/deep-copy/src/DeepCopy/Matcher/PropertyNameMatcher.php deleted file mode 100644 index c8ec0d2..0000000 --- a/paragonik-backend/vendor/myclabs/deep-copy/src/DeepCopy/Matcher/PropertyNameMatcher.php +++ /dev/null @@ -1,32 +0,0 @@ -property = $property; - } - - /** - * Matches a property by its name. - * - * {@inheritdoc} - */ - public function matches($object, $property) - { - return $property == $this->property; - } -} diff --git a/paragonik-backend/vendor/myclabs/deep-copy/src/DeepCopy/Matcher/PropertyTypeMatcher.php b/paragonik-backend/vendor/myclabs/deep-copy/src/DeepCopy/Matcher/PropertyTypeMatcher.php deleted file mode 100644 index a6b0c0b..0000000 --- a/paragonik-backend/vendor/myclabs/deep-copy/src/DeepCopy/Matcher/PropertyTypeMatcher.php +++ /dev/null @@ -1,46 +0,0 @@ -propertyType = $propertyType; - } - - /** - * {@inheritdoc} - */ - public function matches($object, $property) - { - try { - $reflectionProperty = ReflectionHelper::getProperty($object, $property); - } catch (ReflectionException $exception) { - return false; - } - - $reflectionProperty->setAccessible(true); - - return $reflectionProperty->getValue($object) instanceof $this->propertyType; - } -} diff --git a/paragonik-backend/vendor/myclabs/deep-copy/src/DeepCopy/Reflection/ReflectionHelper.php b/paragonik-backend/vendor/myclabs/deep-copy/src/DeepCopy/Reflection/ReflectionHelper.php deleted file mode 100644 index 742410c..0000000 --- a/paragonik-backend/vendor/myclabs/deep-copy/src/DeepCopy/Reflection/ReflectionHelper.php +++ /dev/null @@ -1,78 +0,0 @@ -getProperties() does not return private properties from ancestor classes. - * - * @author muratyaman@gmail.com - * @see http://php.net/manual/en/reflectionclass.getproperties.php - * - * @param ReflectionClass $ref - * - * @return ReflectionProperty[] - */ - public static function getProperties(ReflectionClass $ref) - { - $props = $ref->getProperties(); - $propsArr = array(); - - foreach ($props as $prop) { - $propertyName = $prop->getName(); - $propsArr[$propertyName] = $prop; - } - - if ($parentClass = $ref->getParentClass()) { - $parentPropsArr = self::getProperties($parentClass); - foreach ($propsArr as $key => $property) { - $parentPropsArr[$key] = $property; - } - - return $parentPropsArr; - } - - return $propsArr; - } - - /** - * Retrieves property by name from object and all its ancestors. - * - * @param object|string $object - * @param string $name - * - * @throws PropertyException - * @throws ReflectionException - * - * @return ReflectionProperty - */ - public static function getProperty($object, $name) - { - $reflection = is_object($object) ? new ReflectionObject($object) : new ReflectionClass($object); - - if ($reflection->hasProperty($name)) { - return $reflection->getProperty($name); - } - - if ($parentClass = $reflection->getParentClass()) { - return self::getProperty($parentClass->getName(), $name); - } - - throw new PropertyException( - sprintf( - 'The class "%s" doesn\'t have a property with the given name: "%s".', - is_object($object) ? get_class($object) : $object, - $name - ) - ); - } -} diff --git a/paragonik-backend/vendor/myclabs/deep-copy/src/DeepCopy/TypeFilter/Date/DateIntervalFilter.php b/paragonik-backend/vendor/myclabs/deep-copy/src/DeepCopy/TypeFilter/Date/DateIntervalFilter.php deleted file mode 100644 index becd1cf..0000000 --- a/paragonik-backend/vendor/myclabs/deep-copy/src/DeepCopy/TypeFilter/Date/DateIntervalFilter.php +++ /dev/null @@ -1,33 +0,0 @@ - $propertyValue) { - $copy->{$propertyName} = $propertyValue; - } - - return $copy; - } -} diff --git a/paragonik-backend/vendor/myclabs/deep-copy/src/DeepCopy/TypeFilter/ReplaceFilter.php b/paragonik-backend/vendor/myclabs/deep-copy/src/DeepCopy/TypeFilter/ReplaceFilter.php deleted file mode 100644 index 164f8b8..0000000 --- a/paragonik-backend/vendor/myclabs/deep-copy/src/DeepCopy/TypeFilter/ReplaceFilter.php +++ /dev/null @@ -1,30 +0,0 @@ -callback = $callable; - } - - /** - * {@inheritdoc} - */ - public function apply($element) - { - return call_user_func($this->callback, $element); - } -} diff --git a/paragonik-backend/vendor/myclabs/deep-copy/src/DeepCopy/TypeFilter/ShallowCopyFilter.php b/paragonik-backend/vendor/myclabs/deep-copy/src/DeepCopy/TypeFilter/ShallowCopyFilter.php deleted file mode 100644 index a5fbd7a..0000000 --- a/paragonik-backend/vendor/myclabs/deep-copy/src/DeepCopy/TypeFilter/ShallowCopyFilter.php +++ /dev/null @@ -1,17 +0,0 @@ -copier = $copier; - } - - /** - * {@inheritdoc} - */ - public function apply($element) - { - $newElement = clone $element; - - $copy = $this->createCopyClosure(); - - return $copy($newElement); - } - - private function createCopyClosure() - { - $copier = $this->copier; - - $copy = function (SplDoublyLinkedList $list) use ($copier) { - // Replace each element in the list with a deep copy of itself - for ($i = 1; $i <= $list->count(); $i++) { - $copy = $copier->recursiveCopy($list->shift()); - - $list->push($copy); - } - - return $list; - }; - - return Closure::bind($copy, null, DeepCopy::class); - } -} diff --git a/paragonik-backend/vendor/myclabs/deep-copy/src/DeepCopy/TypeFilter/TypeFilter.php b/paragonik-backend/vendor/myclabs/deep-copy/src/DeepCopy/TypeFilter/TypeFilter.php deleted file mode 100644 index 5785a7d..0000000 --- a/paragonik-backend/vendor/myclabs/deep-copy/src/DeepCopy/TypeFilter/TypeFilter.php +++ /dev/null @@ -1,13 +0,0 @@ -type = $type; - } - - /** - * @param mixed $element - * - * @return boolean - */ - public function matches($element) - { - return is_object($element) ? is_a($element, $this->type) : gettype($element) === $this->type; - } -} diff --git a/paragonik-backend/vendor/myclabs/deep-copy/src/DeepCopy/deep_copy.php b/paragonik-backend/vendor/myclabs/deep-copy/src/DeepCopy/deep_copy.php deleted file mode 100644 index 55dcc92..0000000 --- a/paragonik-backend/vendor/myclabs/deep-copy/src/DeepCopy/deep_copy.php +++ /dev/null @@ -1,20 +0,0 @@ -copy($value); - } -} diff --git a/paragonik-backend/vendor/nesbot/carbon/.github/FUNDING.yml b/paragonik-backend/vendor/nesbot/carbon/.github/FUNDING.yml deleted file mode 100644 index db64623..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/.github/FUNDING.yml +++ /dev/null @@ -1,3 +0,0 @@ -#github: kylekatarnls, briannesbitt -open_collective: Carbon -tidelift: packagist/nesbot/carbon diff --git a/paragonik-backend/vendor/nesbot/carbon/.github/ISSUE_TEMPLATE.md b/paragonik-backend/vendor/nesbot/carbon/.github/ISSUE_TEMPLATE.md deleted file mode 100644 index 89463e2..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/.github/ISSUE_TEMPLATE.md +++ /dev/null @@ -1,69 +0,0 @@ - -Hello, - -I encountered an issue with the following code: -```php -echo Carbon::parse('2018-06-01')->subDay()->month; -``` - -Carbon version: **PUT HERE YOUR CARBON VERSION (exact version, not the range)** - -PHP version: **PUT HERE YOUR PHP VERSION** - - - - -I expected to get: - -``` -6 -``` - - -But I actually get: - -``` -5 -``` - - -Thanks! diff --git a/paragonik-backend/vendor/nesbot/carbon/.multi-tester.yml b/paragonik-backend/vendor/nesbot/carbon/.multi-tester.yml deleted file mode 100644 index d4eb78e..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/.multi-tester.yml +++ /dev/null @@ -1,6 +0,0 @@ -laravel/framework: - source: - type: git - url: https://github.com/laravel/framework.git - reference: master - install: composer update --prefer-dist --no-interaction --prefer-stable --no-suggest diff --git a/paragonik-backend/vendor/nesbot/carbon/LICENSE b/paragonik-backend/vendor/nesbot/carbon/LICENSE deleted file mode 100644 index 6de45eb..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (C) Brian Nesbitt - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is furnished -to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/paragonik-backend/vendor/nesbot/carbon/bin/carbon b/paragonik-backend/vendor/nesbot/carbon/bin/carbon deleted file mode 100644 index fdcbb5c..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/bin/carbon +++ /dev/null @@ -1,21 +0,0 @@ -#!/usr/bin/env php -/Carbon.git -cd Carbon -git remote add upstream https://github.com/briannesbitt/Carbon.git -``` -Replace `` with your GitHub username. - -Then, you can work on the master or create a specific branch for your development: - -```shell -git checkout -b my-feature-branch -t origin/master -``` - -You can now edit the "Carbon" directory contents. - -Before committing, please set your name and your e-mail (use the same e-mail address as in your GitHub account): - -```shell -git config --global user.name "Your Name" -git config --global user.email "your.email.address@example.com" -``` - -The ```--global``` argument will apply this setting for all your git repositories, remove it to set only your Carbon -fork with those settings. - -Now you can commit your modifications as you usually do with git: - -```shell -git add --all -git commit -m "The commit message log" -``` - -If your patch fixes an open issue, please insert ```#``` immediately followed by the issue number: - -```shell -git commit -m "#21 Fix this or that" -``` - -Use git rebase (not git merge) to sync your work from time to time: - -```shell -git fetch origin -git rebase origin/master -``` - -Please add some tests for bug fixes and features (so it will ensure next developments will not break your code), -then check all is right with phpunit: - -Install PHP if you haven't yet, then install composer: -https://getcomposer.org/download/ - -Update dependencies: -``` -./composer.phar update -``` - -Or if you installed composer globally: -``` -composer update -``` - -Then call phpunit: -``` -./vendor/bin/phpunit -``` - -Make sure all tests succeed before submitting your pull-request, else we will not be able to merge it. - -Push your work on your remote GitHub fork with: -``` -git push origin my-feature-branch -``` - -Go to https://github.com/yourusername/Carbon and select your feature branch. Click the 'Pull Request' button and fill -out the form. - -We will review it within a few days. And we thank you in advance for your help. - -## Versioning - -### Note about Semantic Versioning and breaking changes - -As a developer, you must understand every change is a breaking change. What is a bug for someone -is expected in someone else's workflow. The consequence of a change strongly depends on the usage. -[Semantic Versioning](https://semver.org/) relies to public API. In PHP, the public API of a class is its public -methods. However, if you extend a class, you can access protected methods, then if you use reflexion, you can -access private methods. So anything can become a public API if you force it to be. That doesn't mean we should handle -any possible usage, else we would have to publish a major release for each change and it would no longer make sense. - -So before any complain about a breaking change, be warned, we do not guarantee a strict Semantic Versioning as you -may expect, we're following a pragmatic interpretation of Semantic Versioning that allows the software to evolve in a -reliable way with reasonable maintenance effort. - -Concretely, we consider a change as breaking if it makes fail one of our unit test. We will do our best to avoid -incompatibilities with libraries that extends Carbon classes (such as Laravel that is continuously tested thanks to -Travis CI, [see the compatibility matrix](https://github.com/kylekatarnls/carbon-laravel/tree/master#carbon-1-dev-version-1next)). - -If you're the owner of a library that strongly depends on Carbon, we recommend you to run unit tests daily requiring -`"nesbot/carbon": "dev-master"` (for `^2`) or `"nesbot/carbon": "dev-version-1.next"` (for `^1`), this way you can -detect incompatibilities earlier and report it to us before we tag a release. We'll pay attention and try to fix it to -make update to next minor releases as soft as possible. - -We reserve the right to publish emergency patches within 24 hours after a release if a tag that does not respect -this pattern would have been released despite our vigilance. In this very rare and particular case, we would mark the -tag as broken on GitHub and backward compatibility would be based on previous stable tag. - -Last, you must understand that Carbon extends PHP natives classes, that means Carbon can be impacted by any change -that occurs in the date/time API of PHP. We watch new PHP versions and handle those changes as quickly as possible -when detected, but as PHP does not follow the semantic versioning pattern, it basically means any releases (including -patches) can have unexpected consequences on Carbon methods results. - -### Long term support - -To benefit the better support, require Carbon using major version range (`^1` or `^2`). By requiring `1.26.*`, -`~1.26.0` or limited range such as `>=1.20 <1.33`, you fall to low priority support (only security and critical issues -will be fixed), our prior support goes to next minor releases of each major version. It applies to bug fixes and -low-cost features. Other new features will only be added in the last stable release. At the opposite, we recommend you -to restrain to a major number, as there is no compatibility guarantee from a major version to the next. It means -requiring `>=2`, as it allows any newer version, will probably leads to errors on releasing our next major version. - -Open milestones can be patched if a minor bug is detected while if you're on a closed milestone, we'll more likely -ask you to update first to an open one. See currently open milestones: - -https://github.com/briannesbitt/Carbon/milestones diff --git a/paragonik-backend/vendor/nesbot/carbon/phpmd.xml b/paragonik-backend/vendor/nesbot/carbon/phpmd.xml deleted file mode 100644 index e444c60..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/phpmd.xml +++ /dev/null @@ -1,44 +0,0 @@ - - - - Mess detection rules for Carbon - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/paragonik-backend/vendor/nesbot/carbon/readme.md b/paragonik-backend/vendor/nesbot/carbon/readme.md deleted file mode 100644 index f88a141..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/readme.md +++ /dev/null @@ -1,133 +0,0 @@ -# Carbon - -[![Latest Stable Version](https://img.shields.io/packagist/v/nesbot/carbon.svg?style=flat-square)](https://packagist.org/packages/nesbot/carbon) -[![Total Downloads](https://img.shields.io/packagist/dt/nesbot/carbon.svg?style=flat-square)](https://packagist.org/packages/nesbot/carbon) -[![Build Status](https://img.shields.io/travis/briannesbitt/Carbon/master.svg?style=flat-square)](https://travis-ci.org/briannesbitt/Carbon) -[![StyleCI](https://styleci.io/repos/5724990/shield?style=flat-square)](https://styleci.io/repos/5724990) -[![codecov.io](https://img.shields.io/codecov/c/github/briannesbitt/Carbon.svg?style=flat-square)](https://codecov.io/github/briannesbitt/Carbon?branch=master) -[![PHPStan](https://img.shields.io/badge/PHPStan-enabled-44CC11.svg?longCache=true&style=flat-square)](https://github.com/phpstan/phpstan) -[![Tidelift](https://tidelift.com/badges/github/briannesbitt/Carbon)](https://tidelift.com/subscription/pkg/packagist-nesbot-carbon?utm_source=packagist-nesbot-carbon&utm_medium=referral&utm_campaign=readme) - -An international PHP extension for DateTime. [http://carbon.nesbot.com](http://carbon.nesbot.com) - -```php -use Carbon\Carbon; - -printf("Right now is %s", Carbon::now()->toDateTimeString()); -printf("Right now in Vancouver is %s", Carbon::now('America/Vancouver')); //implicit __toString() -$tomorrow = Carbon::now()->addDay(); -$lastWeek = Carbon::now()->subWeek(); -$nextSummerOlympics = Carbon::createFromDate(2016)->addYears(4); - -$officialDate = Carbon::now()->toRfc2822String(); - -$howOldAmI = Carbon::createFromDate(1975, 5, 21)->age; - -$noonTodayLondonTime = Carbon::createFromTime(12, 0, 0, 'Europe/London'); - -$internetWillBlowUpOn = Carbon::create(2038, 01, 19, 3, 14, 7, 'GMT'); - -// Don't really want this to happen so mock now -Carbon::setTestNow(Carbon::createFromDate(2000, 1, 1)); - -// comparisons are always done in UTC -if (Carbon::now()->gte($internetWillBlowUpOn)) { - die(); -} - -// Phew! Return to normal behaviour -Carbon::setTestNow(); - -if (Carbon::now()->isWeekend()) { - echo 'Party!'; -} -// Over 200 languages (and over 500 regional variants) supported: -echo Carbon::now()->subMinutes(2)->diffForHumans(); // '2 minutes ago' -echo Carbon::now()->subMinutes(2)->locale('zh_CN')->diffForHumans(); // '2分钟å‰' -echo Carbon::parse('2019-07-23 14:51')->isoFormat('LLLL'); // 'Tuesday, July 23, 2019 2:51 PM' -echo Carbon::parse('2019-07-23 14:51')->locale('fr_FR')->isoFormat('LLLL'); // 'mardi 23 juillet 2019 14:51' - -// ... but also does 'from now', 'after' and 'before' -// rolling up to seconds, minutes, hours, days, months, years - -$daysSinceEpoch = Carbon::createFromTimestamp(0)->diffInDays(); -``` - -[Get supported nesbot/carbon with the Tidelift Subscription](https://tidelift.com/subscription/pkg/packagist-nesbot-carbon?utm_source=packagist-nesbot-carbon&utm_medium=referral&utm_campaign=readme) - -## Installation - -### With Composer - -``` -$ composer require nesbot/carbon -``` - -```json -{ - "require": { - "nesbot/carbon": "^2.16" - } -} -``` - -```php - - -### Without Composer - -Why are you not using [composer](http://getcomposer.org/)? Download the Carbon [latest release](https://github.com/briannesbitt/Carbon/releases) and put the contents of the ZIP archive into a directory in your project. Then require the file `autoload.php` to get all classes and dependencies loaded on need. - -```php - - -### Translators - -[Thanks to people helping us to translate Carbon in so many languages](https://carbon.nesbot.com/contribute/translators/) - -### Backers - -Thank you to all our backers! 🙠[[Become a backer](https://opencollective.com/Carbon#backer)] - - - -### Sponsors - -Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [[Become a sponsor](https://opencollective.com/Carbon#sponsor)] - - - - - diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Carbon.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Carbon.php deleted file mode 100644 index a2c4aa8..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Carbon.php +++ /dev/null @@ -1,522 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace Carbon; - -use Carbon\Traits\Date; -use DateTime; - -/** - * A simple API extension for DateTime. - * - * - * - * @property int $year - * @property int $yearIso - * @property int $month - * @property int $day - * @property int $hour - * @property int $minute - * @property int $second - * @property int $micro - * @property int $microsecond - * @property int $timestamp seconds since the Unix Epoch - * @property string $englishDayOfWeek the day of week in English - * @property string $shortEnglishDayOfWeek the abbreviated day of week in English - * @property string $englishMonth the month in English - * @property string $shortEnglishMonth the abbreviated month in English - * @property string $localeDayOfWeek the day of week in current locale LC_TIME - * @property string $shortLocaleDayOfWeek the abbreviated day of week in current locale LC_TIME - * @property string $localeMonth the month in current locale LC_TIME - * @property string $shortLocaleMonth the abbreviated month in current locale LC_TIME - * @property int $milliseconds - * @property int $millisecond - * @property int $milli - * @property int $week 1 through 53 - * @property int $isoWeek 1 through 53 - * @property int $weekYear year according to week format - * @property int $isoWeekYear year according to ISO week format - * @property int $dayOfYear 1 through 366 - * @property int $age does a diffInYears() with default parameters - * @property int $offset the timezone offset in seconds from UTC - * @property int $offsetMinutes the timezone offset in minutes from UTC - * @property int $offsetHours the timezone offset in hours from UTC - * @property CarbonTimeZone $timezone the current timezone - * @property CarbonTimeZone $tz alias of $timezone - * @property-read int $dayOfWeek 0 (for Sunday) through 6 (for Saturday) - * @property-read int $dayOfWeekIso 1 (for Monday) through 7 (for Sunday) - * @property-read int $weekOfYear ISO-8601 week number of year, weeks starting on Monday - * @property-read int $daysInMonth number of days in the given month - * @property-read string $latinMeridiem "am"/"pm" (Ante meridiem or Post meridiem latin lowercase mark) - * @property-read string $latinUpperMeridiem "AM"/"PM" (Ante meridiem or Post meridiem latin uppercase mark) - * @property-read string $dayName long name of weekday translated according to Carbon locale, in english if no translation available for current language - * @property-read string $shortDayName short name of weekday translated according to Carbon locale, in english if no translation available for current language - * @property-read string $minDayName very short name of weekday translated according to Carbon locale, in english if no translation available for current language - * @property-read string $monthName long name of month translated according to Carbon locale, in english if no translation available for current language - * @property-read string $shortMonthName short name of month translated according to Carbon locale, in english if no translation available for current language - * @property-read string $meridiem lowercase meridiem mark translated according to Carbon locale, in latin if no translation available for current language - * @property-read string $upperMeridiem uppercase meridiem mark translated according to Carbon locale, in latin if no translation available for current language - * @property-read int $noZeroHour current hour from 1 to 24 - * @property-read int $weeksInYear 51 through 53 - * @property-read int $isoWeeksInYear 51 through 53 - * @property-read int $weekOfMonth 1 through 5 - * @property-read int $weekNumberInMonth 1 through 5 - * @property-read int $firstWeekDay 0 through 6 - * @property-read int $lastWeekDay 0 through 6 - * @property-read int $daysInYear 365 or 366 - * @property-read int $quarter the quarter of this instance, 1 - 4 - * @property-read int $decade the decade of this instance - * @property-read int $century the century of this instance - * @property-read int $millennium the millennium of this instance - * @property-read bool $dst daylight savings time indicator, true if DST, false otherwise - * @property-read bool $local checks if the timezone is local, true if local, false otherwise - * @property-read bool $utc checks if the timezone is UTC, true if UTC, false otherwise - * @property-read string $timezoneName the current timezone name - * @property-read string $tzName alias of $timezoneName - * @property-read string $timezoneAbbreviatedName the current timezone abbreviated name - * @property-read string $tzAbbrName alias of $timezoneAbbreviatedName - * @property-read string $locale locale of the current instance - * - * @method bool isUtc() Check if the current instance has UTC timezone. (Both isUtc and isUTC cases are valid.) - * @method bool isLocal() Check if the current instance has non-UTC timezone. - * @method bool isValid() Check if the current instance is a valid date. - * @method bool isDST() Check if the current instance is in a daylight saving time. - * @method bool isSunday() Checks if the instance day is sunday. - * @method bool isMonday() Checks if the instance day is monday. - * @method bool isTuesday() Checks if the instance day is tuesday. - * @method bool isWednesday() Checks if the instance day is wednesday. - * @method bool isThursday() Checks if the instance day is thursday. - * @method bool isFriday() Checks if the instance day is friday. - * @method bool isSaturday() Checks if the instance day is saturday. - * @method bool isSameYear(\Carbon\Carbon|\DateTimeInterface|string|null $date = null) Checks if the given date is in the same year as the instance. If null passed, compare to now (with the same timezone). - * @method bool isCurrentYear() Checks if the instance is in the same year as the current moment. - * @method bool isNextYear() Checks if the instance is in the same year as the current moment next year. - * @method bool isLastYear() Checks if the instance is in the same year as the current moment last year. - * @method bool isSameWeek(\Carbon\Carbon|\DateTimeInterface|string|null $date = null) Checks if the given date is in the same week as the instance. If null passed, compare to now (with the same timezone). - * @method bool isCurrentWeek() Checks if the instance is in the same week as the current moment. - * @method bool isNextWeek() Checks if the instance is in the same week as the current moment next week. - * @method bool isLastWeek() Checks if the instance is in the same week as the current moment last week. - * @method bool isSameDay(\Carbon\Carbon|\DateTimeInterface|string|null $date = null) Checks if the given date is in the same day as the instance. If null passed, compare to now (with the same timezone). - * @method bool isCurrentDay() Checks if the instance is in the same day as the current moment. - * @method bool isNextDay() Checks if the instance is in the same day as the current moment next day. - * @method bool isLastDay() Checks if the instance is in the same day as the current moment last day. - * @method bool isSameHour(\Carbon\Carbon|\DateTimeInterface|string|null $date = null) Checks if the given date is in the same hour as the instance. If null passed, compare to now (with the same timezone). - * @method bool isCurrentHour() Checks if the instance is in the same hour as the current moment. - * @method bool isNextHour() Checks if the instance is in the same hour as the current moment next hour. - * @method bool isLastHour() Checks if the instance is in the same hour as the current moment last hour. - * @method bool isSameMinute(\Carbon\Carbon|\DateTimeInterface|string|null $date = null) Checks if the given date is in the same minute as the instance. If null passed, compare to now (with the same timezone). - * @method bool isCurrentMinute() Checks if the instance is in the same minute as the current moment. - * @method bool isNextMinute() Checks if the instance is in the same minute as the current moment next minute. - * @method bool isLastMinute() Checks if the instance is in the same minute as the current moment last minute. - * @method bool isSameSecond(\Carbon\Carbon|\DateTimeInterface|string|null $date = null) Checks if the given date is in the same second as the instance. If null passed, compare to now (with the same timezone). - * @method bool isCurrentSecond() Checks if the instance is in the same second as the current moment. - * @method bool isNextSecond() Checks if the instance is in the same second as the current moment next second. - * @method bool isLastSecond() Checks if the instance is in the same second as the current moment last second. - * @method bool isSameMicro(\Carbon\Carbon|\DateTimeInterface|string|null $date = null) Checks if the given date is in the same microsecond as the instance. If null passed, compare to now (with the same timezone). - * @method bool isCurrentMicro() Checks if the instance is in the same microsecond as the current moment. - * @method bool isNextMicro() Checks if the instance is in the same microsecond as the current moment next microsecond. - * @method bool isLastMicro() Checks if the instance is in the same microsecond as the current moment last microsecond. - * @method bool isSameMicrosecond(\Carbon\Carbon|\DateTimeInterface|string|null $date = null) Checks if the given date is in the same microsecond as the instance. If null passed, compare to now (with the same timezone). - * @method bool isCurrentMicrosecond() Checks if the instance is in the same microsecond as the current moment. - * @method bool isNextMicrosecond() Checks if the instance is in the same microsecond as the current moment next microsecond. - * @method bool isLastMicrosecond() Checks if the instance is in the same microsecond as the current moment last microsecond. - * @method bool isCurrentMonth() Checks if the instance is in the same month as the current moment. - * @method bool isNextMonth() Checks if the instance is in the same month as the current moment next month. - * @method bool isLastMonth() Checks if the instance is in the same month as the current moment last month. - * @method bool isCurrentQuarter() Checks if the instance is in the same quarter as the current moment. - * @method bool isNextQuarter() Checks if the instance is in the same quarter as the current moment next quarter. - * @method bool isLastQuarter() Checks if the instance is in the same quarter as the current moment last quarter. - * @method bool isSameDecade(\Carbon\Carbon|\DateTimeInterface|string|null $date = null) Checks if the given date is in the same decade as the instance. If null passed, compare to now (with the same timezone). - * @method bool isCurrentDecade() Checks if the instance is in the same decade as the current moment. - * @method bool isNextDecade() Checks if the instance is in the same decade as the current moment next decade. - * @method bool isLastDecade() Checks if the instance is in the same decade as the current moment last decade. - * @method bool isSameCentury(\Carbon\Carbon|\DateTimeInterface|string|null $date = null) Checks if the given date is in the same century as the instance. If null passed, compare to now (with the same timezone). - * @method bool isCurrentCentury() Checks if the instance is in the same century as the current moment. - * @method bool isNextCentury() Checks if the instance is in the same century as the current moment next century. - * @method bool isLastCentury() Checks if the instance is in the same century as the current moment last century. - * @method bool isSameMillennium(\Carbon\Carbon|\DateTimeInterface|string|null $date = null) Checks if the given date is in the same millennium as the instance. If null passed, compare to now (with the same timezone). - * @method bool isCurrentMillennium() Checks if the instance is in the same millennium as the current moment. - * @method bool isNextMillennium() Checks if the instance is in the same millennium as the current moment next millennium. - * @method bool isLastMillennium() Checks if the instance is in the same millennium as the current moment last millennium. - * @method Carbon years(int $value) Set current instance year to the given value. - * @method Carbon year(int $value) Set current instance year to the given value. - * @method Carbon setYears(int $value) Set current instance year to the given value. - * @method Carbon setYear(int $value) Set current instance year to the given value. - * @method Carbon months(int $value) Set current instance month to the given value. - * @method Carbon month(int $value) Set current instance month to the given value. - * @method Carbon setMonths(int $value) Set current instance month to the given value. - * @method Carbon setMonth(int $value) Set current instance month to the given value. - * @method Carbon days(int $value) Set current instance day to the given value. - * @method Carbon day(int $value) Set current instance day to the given value. - * @method Carbon setDays(int $value) Set current instance day to the given value. - * @method Carbon setDay(int $value) Set current instance day to the given value. - * @method Carbon hours(int $value) Set current instance hour to the given value. - * @method Carbon hour(int $value) Set current instance hour to the given value. - * @method Carbon setHours(int $value) Set current instance hour to the given value. - * @method Carbon setHour(int $value) Set current instance hour to the given value. - * @method Carbon minutes(int $value) Set current instance minute to the given value. - * @method Carbon minute(int $value) Set current instance minute to the given value. - * @method Carbon setMinutes(int $value) Set current instance minute to the given value. - * @method Carbon setMinute(int $value) Set current instance minute to the given value. - * @method Carbon seconds(int $value) Set current instance second to the given value. - * @method Carbon second(int $value) Set current instance second to the given value. - * @method Carbon setSeconds(int $value) Set current instance second to the given value. - * @method Carbon setSecond(int $value) Set current instance second to the given value. - * @method Carbon millis(int $value) Set current instance millisecond to the given value. - * @method Carbon milli(int $value) Set current instance millisecond to the given value. - * @method Carbon setMillis(int $value) Set current instance millisecond to the given value. - * @method Carbon setMilli(int $value) Set current instance millisecond to the given value. - * @method Carbon milliseconds(int $value) Set current instance millisecond to the given value. - * @method Carbon millisecond(int $value) Set current instance millisecond to the given value. - * @method Carbon setMilliseconds(int $value) Set current instance millisecond to the given value. - * @method Carbon setMillisecond(int $value) Set current instance millisecond to the given value. - * @method Carbon micros(int $value) Set current instance microsecond to the given value. - * @method Carbon micro(int $value) Set current instance microsecond to the given value. - * @method Carbon setMicros(int $value) Set current instance microsecond to the given value. - * @method Carbon setMicro(int $value) Set current instance microsecond to the given value. - * @method Carbon microseconds(int $value) Set current instance microsecond to the given value. - * @method Carbon microsecond(int $value) Set current instance microsecond to the given value. - * @method Carbon setMicroseconds(int $value) Set current instance microsecond to the given value. - * @method Carbon setMicrosecond(int $value) Set current instance microsecond to the given value. - * @method Carbon addYears(int $value = 1) Add years (the $value count passed in) to the instance (using date interval). - * @method Carbon addYear() Add one year to the instance (using date interval). - * @method Carbon subYears(int $value = 1) Sub years (the $value count passed in) to the instance (using date interval). - * @method Carbon subYear() Sub one year to the instance (using date interval). - * @method Carbon addYearsWithOverflow(int $value = 1) Add years (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed. - * @method Carbon addYearWithOverflow() Add one year to the instance (using date interval) with overflow explicitly allowed. - * @method Carbon subYearsWithOverflow(int $value = 1) Sub years (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed. - * @method Carbon subYearWithOverflow() Sub one year to the instance (using date interval) with overflow explicitly allowed. - * @method Carbon addYearsWithoutOverflow(int $value = 1) Add years (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method Carbon addYearWithoutOverflow() Add one year to the instance (using date interval) with overflow explicitly forbidden. - * @method Carbon subYearsWithoutOverflow(int $value = 1) Sub years (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method Carbon subYearWithoutOverflow() Sub one year to the instance (using date interval) with overflow explicitly forbidden. - * @method Carbon addYearsWithNoOverflow(int $value = 1) Add years (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method Carbon addYearWithNoOverflow() Add one year to the instance (using date interval) with overflow explicitly forbidden. - * @method Carbon subYearsWithNoOverflow(int $value = 1) Sub years (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method Carbon subYearWithNoOverflow() Sub one year to the instance (using date interval) with overflow explicitly forbidden. - * @method Carbon addYearsNoOverflow(int $value = 1) Add years (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method Carbon addYearNoOverflow() Add one year to the instance (using date interval) with overflow explicitly forbidden. - * @method Carbon subYearsNoOverflow(int $value = 1) Sub years (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method Carbon subYearNoOverflow() Sub one year to the instance (using date interval) with overflow explicitly forbidden. - * @method Carbon addMonths(int $value = 1) Add months (the $value count passed in) to the instance (using date interval). - * @method Carbon addMonth() Add one month to the instance (using date interval). - * @method Carbon subMonths(int $value = 1) Sub months (the $value count passed in) to the instance (using date interval). - * @method Carbon subMonth() Sub one month to the instance (using date interval). - * @method Carbon addMonthsWithOverflow(int $value = 1) Add months (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed. - * @method Carbon addMonthWithOverflow() Add one month to the instance (using date interval) with overflow explicitly allowed. - * @method Carbon subMonthsWithOverflow(int $value = 1) Sub months (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed. - * @method Carbon subMonthWithOverflow() Sub one month to the instance (using date interval) with overflow explicitly allowed. - * @method Carbon addMonthsWithoutOverflow(int $value = 1) Add months (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method Carbon addMonthWithoutOverflow() Add one month to the instance (using date interval) with overflow explicitly forbidden. - * @method Carbon subMonthsWithoutOverflow(int $value = 1) Sub months (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method Carbon subMonthWithoutOverflow() Sub one month to the instance (using date interval) with overflow explicitly forbidden. - * @method Carbon addMonthsWithNoOverflow(int $value = 1) Add months (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method Carbon addMonthWithNoOverflow() Add one month to the instance (using date interval) with overflow explicitly forbidden. - * @method Carbon subMonthsWithNoOverflow(int $value = 1) Sub months (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method Carbon subMonthWithNoOverflow() Sub one month to the instance (using date interval) with overflow explicitly forbidden. - * @method Carbon addMonthsNoOverflow(int $value = 1) Add months (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method Carbon addMonthNoOverflow() Add one month to the instance (using date interval) with overflow explicitly forbidden. - * @method Carbon subMonthsNoOverflow(int $value = 1) Sub months (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method Carbon subMonthNoOverflow() Sub one month to the instance (using date interval) with overflow explicitly forbidden. - * @method Carbon addDays(int $value = 1) Add days (the $value count passed in) to the instance (using date interval). - * @method Carbon addDay() Add one day to the instance (using date interval). - * @method Carbon subDays(int $value = 1) Sub days (the $value count passed in) to the instance (using date interval). - * @method Carbon subDay() Sub one day to the instance (using date interval). - * @method Carbon addHours(int $value = 1) Add hours (the $value count passed in) to the instance (using date interval). - * @method Carbon addHour() Add one hour to the instance (using date interval). - * @method Carbon subHours(int $value = 1) Sub hours (the $value count passed in) to the instance (using date interval). - * @method Carbon subHour() Sub one hour to the instance (using date interval). - * @method Carbon addMinutes(int $value = 1) Add minutes (the $value count passed in) to the instance (using date interval). - * @method Carbon addMinute() Add one minute to the instance (using date interval). - * @method Carbon subMinutes(int $value = 1) Sub minutes (the $value count passed in) to the instance (using date interval). - * @method Carbon subMinute() Sub one minute to the instance (using date interval). - * @method Carbon addSeconds(int $value = 1) Add seconds (the $value count passed in) to the instance (using date interval). - * @method Carbon addSecond() Add one second to the instance (using date interval). - * @method Carbon subSeconds(int $value = 1) Sub seconds (the $value count passed in) to the instance (using date interval). - * @method Carbon subSecond() Sub one second to the instance (using date interval). - * @method Carbon addMillis(int $value = 1) Add milliseconds (the $value count passed in) to the instance (using date interval). - * @method Carbon addMilli() Add one millisecond to the instance (using date interval). - * @method Carbon subMillis(int $value = 1) Sub milliseconds (the $value count passed in) to the instance (using date interval). - * @method Carbon subMilli() Sub one millisecond to the instance (using date interval). - * @method Carbon addMilliseconds(int $value = 1) Add milliseconds (the $value count passed in) to the instance (using date interval). - * @method Carbon addMillisecond() Add one millisecond to the instance (using date interval). - * @method Carbon subMilliseconds(int $value = 1) Sub milliseconds (the $value count passed in) to the instance (using date interval). - * @method Carbon subMillisecond() Sub one millisecond to the instance (using date interval). - * @method Carbon addMicros(int $value = 1) Add microseconds (the $value count passed in) to the instance (using date interval). - * @method Carbon addMicro() Add one microsecond to the instance (using date interval). - * @method Carbon subMicros(int $value = 1) Sub microseconds (the $value count passed in) to the instance (using date interval). - * @method Carbon subMicro() Sub one microsecond to the instance (using date interval). - * @method Carbon addMicroseconds(int $value = 1) Add microseconds (the $value count passed in) to the instance (using date interval). - * @method Carbon addMicrosecond() Add one microsecond to the instance (using date interval). - * @method Carbon subMicroseconds(int $value = 1) Sub microseconds (the $value count passed in) to the instance (using date interval). - * @method Carbon subMicrosecond() Sub one microsecond to the instance (using date interval). - * @method Carbon addMillennia(int $value = 1) Add millennia (the $value count passed in) to the instance (using date interval). - * @method Carbon addMillennium() Add one millennium to the instance (using date interval). - * @method Carbon subMillennia(int $value = 1) Sub millennia (the $value count passed in) to the instance (using date interval). - * @method Carbon subMillennium() Sub one millennium to the instance (using date interval). - * @method Carbon addMillenniaWithOverflow(int $value = 1) Add millennia (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed. - * @method Carbon addMillenniumWithOverflow() Add one millennium to the instance (using date interval) with overflow explicitly allowed. - * @method Carbon subMillenniaWithOverflow(int $value = 1) Sub millennia (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed. - * @method Carbon subMillenniumWithOverflow() Sub one millennium to the instance (using date interval) with overflow explicitly allowed. - * @method Carbon addMillenniaWithoutOverflow(int $value = 1) Add millennia (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method Carbon addMillenniumWithoutOverflow() Add one millennium to the instance (using date interval) with overflow explicitly forbidden. - * @method Carbon subMillenniaWithoutOverflow(int $value = 1) Sub millennia (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method Carbon subMillenniumWithoutOverflow() Sub one millennium to the instance (using date interval) with overflow explicitly forbidden. - * @method Carbon addMillenniaWithNoOverflow(int $value = 1) Add millennia (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method Carbon addMillenniumWithNoOverflow() Add one millennium to the instance (using date interval) with overflow explicitly forbidden. - * @method Carbon subMillenniaWithNoOverflow(int $value = 1) Sub millennia (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method Carbon subMillenniumWithNoOverflow() Sub one millennium to the instance (using date interval) with overflow explicitly forbidden. - * @method Carbon addMillenniaNoOverflow(int $value = 1) Add millennia (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method Carbon addMillenniumNoOverflow() Add one millennium to the instance (using date interval) with overflow explicitly forbidden. - * @method Carbon subMillenniaNoOverflow(int $value = 1) Sub millennia (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method Carbon subMillenniumNoOverflow() Sub one millennium to the instance (using date interval) with overflow explicitly forbidden. - * @method Carbon addCenturies(int $value = 1) Add centuries (the $value count passed in) to the instance (using date interval). - * @method Carbon addCentury() Add one century to the instance (using date interval). - * @method Carbon subCenturies(int $value = 1) Sub centuries (the $value count passed in) to the instance (using date interval). - * @method Carbon subCentury() Sub one century to the instance (using date interval). - * @method Carbon addCenturiesWithOverflow(int $value = 1) Add centuries (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed. - * @method Carbon addCenturyWithOverflow() Add one century to the instance (using date interval) with overflow explicitly allowed. - * @method Carbon subCenturiesWithOverflow(int $value = 1) Sub centuries (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed. - * @method Carbon subCenturyWithOverflow() Sub one century to the instance (using date interval) with overflow explicitly allowed. - * @method Carbon addCenturiesWithoutOverflow(int $value = 1) Add centuries (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method Carbon addCenturyWithoutOverflow() Add one century to the instance (using date interval) with overflow explicitly forbidden. - * @method Carbon subCenturiesWithoutOverflow(int $value = 1) Sub centuries (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method Carbon subCenturyWithoutOverflow() Sub one century to the instance (using date interval) with overflow explicitly forbidden. - * @method Carbon addCenturiesWithNoOverflow(int $value = 1) Add centuries (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method Carbon addCenturyWithNoOverflow() Add one century to the instance (using date interval) with overflow explicitly forbidden. - * @method Carbon subCenturiesWithNoOverflow(int $value = 1) Sub centuries (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method Carbon subCenturyWithNoOverflow() Sub one century to the instance (using date interval) with overflow explicitly forbidden. - * @method Carbon addCenturiesNoOverflow(int $value = 1) Add centuries (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method Carbon addCenturyNoOverflow() Add one century to the instance (using date interval) with overflow explicitly forbidden. - * @method Carbon subCenturiesNoOverflow(int $value = 1) Sub centuries (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method Carbon subCenturyNoOverflow() Sub one century to the instance (using date interval) with overflow explicitly forbidden. - * @method Carbon addDecades(int $value = 1) Add decades (the $value count passed in) to the instance (using date interval). - * @method Carbon addDecade() Add one decade to the instance (using date interval). - * @method Carbon subDecades(int $value = 1) Sub decades (the $value count passed in) to the instance (using date interval). - * @method Carbon subDecade() Sub one decade to the instance (using date interval). - * @method Carbon addDecadesWithOverflow(int $value = 1) Add decades (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed. - * @method Carbon addDecadeWithOverflow() Add one decade to the instance (using date interval) with overflow explicitly allowed. - * @method Carbon subDecadesWithOverflow(int $value = 1) Sub decades (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed. - * @method Carbon subDecadeWithOverflow() Sub one decade to the instance (using date interval) with overflow explicitly allowed. - * @method Carbon addDecadesWithoutOverflow(int $value = 1) Add decades (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method Carbon addDecadeWithoutOverflow() Add one decade to the instance (using date interval) with overflow explicitly forbidden. - * @method Carbon subDecadesWithoutOverflow(int $value = 1) Sub decades (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method Carbon subDecadeWithoutOverflow() Sub one decade to the instance (using date interval) with overflow explicitly forbidden. - * @method Carbon addDecadesWithNoOverflow(int $value = 1) Add decades (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method Carbon addDecadeWithNoOverflow() Add one decade to the instance (using date interval) with overflow explicitly forbidden. - * @method Carbon subDecadesWithNoOverflow(int $value = 1) Sub decades (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method Carbon subDecadeWithNoOverflow() Sub one decade to the instance (using date interval) with overflow explicitly forbidden. - * @method Carbon addDecadesNoOverflow(int $value = 1) Add decades (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method Carbon addDecadeNoOverflow() Add one decade to the instance (using date interval) with overflow explicitly forbidden. - * @method Carbon subDecadesNoOverflow(int $value = 1) Sub decades (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method Carbon subDecadeNoOverflow() Sub one decade to the instance (using date interval) with overflow explicitly forbidden. - * @method Carbon addQuarters(int $value = 1) Add quarters (the $value count passed in) to the instance (using date interval). - * @method Carbon addQuarter() Add one quarter to the instance (using date interval). - * @method Carbon subQuarters(int $value = 1) Sub quarters (the $value count passed in) to the instance (using date interval). - * @method Carbon subQuarter() Sub one quarter to the instance (using date interval). - * @method Carbon addQuartersWithOverflow(int $value = 1) Add quarters (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed. - * @method Carbon addQuarterWithOverflow() Add one quarter to the instance (using date interval) with overflow explicitly allowed. - * @method Carbon subQuartersWithOverflow(int $value = 1) Sub quarters (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed. - * @method Carbon subQuarterWithOverflow() Sub one quarter to the instance (using date interval) with overflow explicitly allowed. - * @method Carbon addQuartersWithoutOverflow(int $value = 1) Add quarters (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method Carbon addQuarterWithoutOverflow() Add one quarter to the instance (using date interval) with overflow explicitly forbidden. - * @method Carbon subQuartersWithoutOverflow(int $value = 1) Sub quarters (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method Carbon subQuarterWithoutOverflow() Sub one quarter to the instance (using date interval) with overflow explicitly forbidden. - * @method Carbon addQuartersWithNoOverflow(int $value = 1) Add quarters (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method Carbon addQuarterWithNoOverflow() Add one quarter to the instance (using date interval) with overflow explicitly forbidden. - * @method Carbon subQuartersWithNoOverflow(int $value = 1) Sub quarters (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method Carbon subQuarterWithNoOverflow() Sub one quarter to the instance (using date interval) with overflow explicitly forbidden. - * @method Carbon addQuartersNoOverflow(int $value = 1) Add quarters (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method Carbon addQuarterNoOverflow() Add one quarter to the instance (using date interval) with overflow explicitly forbidden. - * @method Carbon subQuartersNoOverflow(int $value = 1) Sub quarters (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method Carbon subQuarterNoOverflow() Sub one quarter to the instance (using date interval) with overflow explicitly forbidden. - * @method Carbon addWeeks(int $value = 1) Add weeks (the $value count passed in) to the instance (using date interval). - * @method Carbon addWeek() Add one week to the instance (using date interval). - * @method Carbon subWeeks(int $value = 1) Sub weeks (the $value count passed in) to the instance (using date interval). - * @method Carbon subWeek() Sub one week to the instance (using date interval). - * @method Carbon addWeekdays(int $value = 1) Add weekdays (the $value count passed in) to the instance (using date interval). - * @method Carbon addWeekday() Add one weekday to the instance (using date interval). - * @method Carbon subWeekdays(int $value = 1) Sub weekdays (the $value count passed in) to the instance (using date interval). - * @method Carbon subWeekday() Sub one weekday to the instance (using date interval). - * @method Carbon addRealMicros(int $value = 1) Add microseconds (the $value count passed in) to the instance (using timestamp). - * @method Carbon addRealMicro() Add one microsecond to the instance (using timestamp). - * @method Carbon subRealMicros(int $value = 1) Sub microseconds (the $value count passed in) to the instance (using timestamp). - * @method Carbon subRealMicro() Sub one microsecond to the instance (using timestamp). - * @method CarbonPeriod microsUntil($endDate = null, int $factor = 1) Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each microsecond or every X microseconds if a factor is given. - * @method Carbon addRealMicroseconds(int $value = 1) Add microseconds (the $value count passed in) to the instance (using timestamp). - * @method Carbon addRealMicrosecond() Add one microsecond to the instance (using timestamp). - * @method Carbon subRealMicroseconds(int $value = 1) Sub microseconds (the $value count passed in) to the instance (using timestamp). - * @method Carbon subRealMicrosecond() Sub one microsecond to the instance (using timestamp). - * @method CarbonPeriod microsecondsUntil($endDate = null, int $factor = 1) Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each microsecond or every X microseconds if a factor is given. - * @method Carbon addRealMillis(int $value = 1) Add milliseconds (the $value count passed in) to the instance (using timestamp). - * @method Carbon addRealMilli() Add one millisecond to the instance (using timestamp). - * @method Carbon subRealMillis(int $value = 1) Sub milliseconds (the $value count passed in) to the instance (using timestamp). - * @method Carbon subRealMilli() Sub one millisecond to the instance (using timestamp). - * @method CarbonPeriod millisUntil($endDate = null, int $factor = 1) Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each millisecond or every X milliseconds if a factor is given. - * @method Carbon addRealMilliseconds(int $value = 1) Add milliseconds (the $value count passed in) to the instance (using timestamp). - * @method Carbon addRealMillisecond() Add one millisecond to the instance (using timestamp). - * @method Carbon subRealMilliseconds(int $value = 1) Sub milliseconds (the $value count passed in) to the instance (using timestamp). - * @method Carbon subRealMillisecond() Sub one millisecond to the instance (using timestamp). - * @method CarbonPeriod millisecondsUntil($endDate = null, int $factor = 1) Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each millisecond or every X milliseconds if a factor is given. - * @method Carbon addRealSeconds(int $value = 1) Add seconds (the $value count passed in) to the instance (using timestamp). - * @method Carbon addRealSecond() Add one second to the instance (using timestamp). - * @method Carbon subRealSeconds(int $value = 1) Sub seconds (the $value count passed in) to the instance (using timestamp). - * @method Carbon subRealSecond() Sub one second to the instance (using timestamp). - * @method CarbonPeriod secondsUntil($endDate = null, int $factor = 1) Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each second or every X seconds if a factor is given. - * @method Carbon addRealMinutes(int $value = 1) Add minutes (the $value count passed in) to the instance (using timestamp). - * @method Carbon addRealMinute() Add one minute to the instance (using timestamp). - * @method Carbon subRealMinutes(int $value = 1) Sub minutes (the $value count passed in) to the instance (using timestamp). - * @method Carbon subRealMinute() Sub one minute to the instance (using timestamp). - * @method CarbonPeriod minutesUntil($endDate = null, int $factor = 1) Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each minute or every X minutes if a factor is given. - * @method Carbon addRealHours(int $value = 1) Add hours (the $value count passed in) to the instance (using timestamp). - * @method Carbon addRealHour() Add one hour to the instance (using timestamp). - * @method Carbon subRealHours(int $value = 1) Sub hours (the $value count passed in) to the instance (using timestamp). - * @method Carbon subRealHour() Sub one hour to the instance (using timestamp). - * @method CarbonPeriod hoursUntil($endDate = null, int $factor = 1) Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each hour or every X hours if a factor is given. - * @method Carbon addRealDays(int $value = 1) Add days (the $value count passed in) to the instance (using timestamp). - * @method Carbon addRealDay() Add one day to the instance (using timestamp). - * @method Carbon subRealDays(int $value = 1) Sub days (the $value count passed in) to the instance (using timestamp). - * @method Carbon subRealDay() Sub one day to the instance (using timestamp). - * @method CarbonPeriod daysUntil($endDate = null, int $factor = 1) Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each day or every X days if a factor is given. - * @method Carbon addRealWeeks(int $value = 1) Add weeks (the $value count passed in) to the instance (using timestamp). - * @method Carbon addRealWeek() Add one week to the instance (using timestamp). - * @method Carbon subRealWeeks(int $value = 1) Sub weeks (the $value count passed in) to the instance (using timestamp). - * @method Carbon subRealWeek() Sub one week to the instance (using timestamp). - * @method CarbonPeriod weeksUntil($endDate = null, int $factor = 1) Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each week or every X weeks if a factor is given. - * @method Carbon addRealMonths(int $value = 1) Add months (the $value count passed in) to the instance (using timestamp). - * @method Carbon addRealMonth() Add one month to the instance (using timestamp). - * @method Carbon subRealMonths(int $value = 1) Sub months (the $value count passed in) to the instance (using timestamp). - * @method Carbon subRealMonth() Sub one month to the instance (using timestamp). - * @method CarbonPeriod monthsUntil($endDate = null, int $factor = 1) Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each month or every X months if a factor is given. - * @method Carbon addRealQuarters(int $value = 1) Add quarters (the $value count passed in) to the instance (using timestamp). - * @method Carbon addRealQuarter() Add one quarter to the instance (using timestamp). - * @method Carbon subRealQuarters(int $value = 1) Sub quarters (the $value count passed in) to the instance (using timestamp). - * @method Carbon subRealQuarter() Sub one quarter to the instance (using timestamp). - * @method CarbonPeriod quartersUntil($endDate = null, int $factor = 1) Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each quarter or every X quarters if a factor is given. - * @method Carbon addRealYears(int $value = 1) Add years (the $value count passed in) to the instance (using timestamp). - * @method Carbon addRealYear() Add one year to the instance (using timestamp). - * @method Carbon subRealYears(int $value = 1) Sub years (the $value count passed in) to the instance (using timestamp). - * @method Carbon subRealYear() Sub one year to the instance (using timestamp). - * @method CarbonPeriod yearsUntil($endDate = null, int $factor = 1) Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each year or every X years if a factor is given. - * @method Carbon addRealDecades(int $value = 1) Add decades (the $value count passed in) to the instance (using timestamp). - * @method Carbon addRealDecade() Add one decade to the instance (using timestamp). - * @method Carbon subRealDecades(int $value = 1) Sub decades (the $value count passed in) to the instance (using timestamp). - * @method Carbon subRealDecade() Sub one decade to the instance (using timestamp). - * @method CarbonPeriod decadesUntil($endDate = null, int $factor = 1) Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each decade or every X decades if a factor is given. - * @method Carbon addRealCenturies(int $value = 1) Add centuries (the $value count passed in) to the instance (using timestamp). - * @method Carbon addRealCentury() Add one century to the instance (using timestamp). - * @method Carbon subRealCenturies(int $value = 1) Sub centuries (the $value count passed in) to the instance (using timestamp). - * @method Carbon subRealCentury() Sub one century to the instance (using timestamp). - * @method CarbonPeriod centuriesUntil($endDate = null, int $factor = 1) Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each century or every X centuries if a factor is given. - * @method Carbon addRealMillennia(int $value = 1) Add millennia (the $value count passed in) to the instance (using timestamp). - * @method Carbon addRealMillennium() Add one millennium to the instance (using timestamp). - * @method Carbon subRealMillennia(int $value = 1) Sub millennia (the $value count passed in) to the instance (using timestamp). - * @method Carbon subRealMillennium() Sub one millennium to the instance (using timestamp). - * @method CarbonPeriod millenniaUntil($endDate = null, int $factor = 1) Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each millennium or every X millennia if a factor is given. - * @method Carbon roundYear(float $precision = 1, string $function = "round") Round the current instance year with given precision using the given function. - * @method Carbon roundYears(float $precision = 1, string $function = "round") Round the current instance year with given precision using the given function. - * @method Carbon floorYear(float $precision = 1) Truncate the current instance year with given precision. - * @method Carbon floorYears(float $precision = 1) Truncate the current instance year with given precision. - * @method Carbon ceilYear(float $precision = 1) Ceil the current instance year with given precision. - * @method Carbon ceilYears(float $precision = 1) Ceil the current instance year with given precision. - * @method Carbon roundMonth(float $precision = 1, string $function = "round") Round the current instance month with given precision using the given function. - * @method Carbon roundMonths(float $precision = 1, string $function = "round") Round the current instance month with given precision using the given function. - * @method Carbon floorMonth(float $precision = 1) Truncate the current instance month with given precision. - * @method Carbon floorMonths(float $precision = 1) Truncate the current instance month with given precision. - * @method Carbon ceilMonth(float $precision = 1) Ceil the current instance month with given precision. - * @method Carbon ceilMonths(float $precision = 1) Ceil the current instance month with given precision. - * @method Carbon roundDay(float $precision = 1, string $function = "round") Round the current instance day with given precision using the given function. - * @method Carbon roundDays(float $precision = 1, string $function = "round") Round the current instance day with given precision using the given function. - * @method Carbon floorDay(float $precision = 1) Truncate the current instance day with given precision. - * @method Carbon floorDays(float $precision = 1) Truncate the current instance day with given precision. - * @method Carbon ceilDay(float $precision = 1) Ceil the current instance day with given precision. - * @method Carbon ceilDays(float $precision = 1) Ceil the current instance day with given precision. - * @method Carbon roundHour(float $precision = 1, string $function = "round") Round the current instance hour with given precision using the given function. - * @method Carbon roundHours(float $precision = 1, string $function = "round") Round the current instance hour with given precision using the given function. - * @method Carbon floorHour(float $precision = 1) Truncate the current instance hour with given precision. - * @method Carbon floorHours(float $precision = 1) Truncate the current instance hour with given precision. - * @method Carbon ceilHour(float $precision = 1) Ceil the current instance hour with given precision. - * @method Carbon ceilHours(float $precision = 1) Ceil the current instance hour with given precision. - * @method Carbon roundMinute(float $precision = 1, string $function = "round") Round the current instance minute with given precision using the given function. - * @method Carbon roundMinutes(float $precision = 1, string $function = "round") Round the current instance minute with given precision using the given function. - * @method Carbon floorMinute(float $precision = 1) Truncate the current instance minute with given precision. - * @method Carbon floorMinutes(float $precision = 1) Truncate the current instance minute with given precision. - * @method Carbon ceilMinute(float $precision = 1) Ceil the current instance minute with given precision. - * @method Carbon ceilMinutes(float $precision = 1) Ceil the current instance minute with given precision. - * @method Carbon roundSecond(float $precision = 1, string $function = "round") Round the current instance second with given precision using the given function. - * @method Carbon roundSeconds(float $precision = 1, string $function = "round") Round the current instance second with given precision using the given function. - * @method Carbon floorSecond(float $precision = 1) Truncate the current instance second with given precision. - * @method Carbon floorSeconds(float $precision = 1) Truncate the current instance second with given precision. - * @method Carbon ceilSecond(float $precision = 1) Ceil the current instance second with given precision. - * @method Carbon ceilSeconds(float $precision = 1) Ceil the current instance second with given precision. - * @method Carbon roundMillennium(float $precision = 1, string $function = "round") Round the current instance millennium with given precision using the given function. - * @method Carbon roundMillennia(float $precision = 1, string $function = "round") Round the current instance millennium with given precision using the given function. - * @method Carbon floorMillennium(float $precision = 1) Truncate the current instance millennium with given precision. - * @method Carbon floorMillennia(float $precision = 1) Truncate the current instance millennium with given precision. - * @method Carbon ceilMillennium(float $precision = 1) Ceil the current instance millennium with given precision. - * @method Carbon ceilMillennia(float $precision = 1) Ceil the current instance millennium with given precision. - * @method Carbon roundCentury(float $precision = 1, string $function = "round") Round the current instance century with given precision using the given function. - * @method Carbon roundCenturies(float $precision = 1, string $function = "round") Round the current instance century with given precision using the given function. - * @method Carbon floorCentury(float $precision = 1) Truncate the current instance century with given precision. - * @method Carbon floorCenturies(float $precision = 1) Truncate the current instance century with given precision. - * @method Carbon ceilCentury(float $precision = 1) Ceil the current instance century with given precision. - * @method Carbon ceilCenturies(float $precision = 1) Ceil the current instance century with given precision. - * @method Carbon roundDecade(float $precision = 1, string $function = "round") Round the current instance decade with given precision using the given function. - * @method Carbon roundDecades(float $precision = 1, string $function = "round") Round the current instance decade with given precision using the given function. - * @method Carbon floorDecade(float $precision = 1) Truncate the current instance decade with given precision. - * @method Carbon floorDecades(float $precision = 1) Truncate the current instance decade with given precision. - * @method Carbon ceilDecade(float $precision = 1) Ceil the current instance decade with given precision. - * @method Carbon ceilDecades(float $precision = 1) Ceil the current instance decade with given precision. - * @method Carbon roundQuarter(float $precision = 1, string $function = "round") Round the current instance quarter with given precision using the given function. - * @method Carbon roundQuarters(float $precision = 1, string $function = "round") Round the current instance quarter with given precision using the given function. - * @method Carbon floorQuarter(float $precision = 1) Truncate the current instance quarter with given precision. - * @method Carbon floorQuarters(float $precision = 1) Truncate the current instance quarter with given precision. - * @method Carbon ceilQuarter(float $precision = 1) Ceil the current instance quarter with given precision. - * @method Carbon ceilQuarters(float $precision = 1) Ceil the current instance quarter with given precision. - * @method Carbon roundMillisecond(float $precision = 1, string $function = "round") Round the current instance millisecond with given precision using the given function. - * @method Carbon roundMilliseconds(float $precision = 1, string $function = "round") Round the current instance millisecond with given precision using the given function. - * @method Carbon floorMillisecond(float $precision = 1) Truncate the current instance millisecond with given precision. - * @method Carbon floorMilliseconds(float $precision = 1) Truncate the current instance millisecond with given precision. - * @method Carbon ceilMillisecond(float $precision = 1) Ceil the current instance millisecond with given precision. - * @method Carbon ceilMilliseconds(float $precision = 1) Ceil the current instance millisecond with given precision. - * @method Carbon roundMicrosecond(float $precision = 1, string $function = "round") Round the current instance microsecond with given precision using the given function. - * @method Carbon roundMicroseconds(float $precision = 1, string $function = "round") Round the current instance microsecond with given precision using the given function. - * @method Carbon floorMicrosecond(float $precision = 1) Truncate the current instance microsecond with given precision. - * @method Carbon floorMicroseconds(float $precision = 1) Truncate the current instance microsecond with given precision. - * @method Carbon ceilMicrosecond(float $precision = 1) Ceil the current instance microsecond with given precision. - * @method Carbon ceilMicroseconds(float $precision = 1) Ceil the current instance microsecond with given precision. - * @method string shortAbsoluteDiffForHumans(\DateTimeInterface $other = null, int $parts = 1) Get the difference (short format, 'Absolute' mode) in a human readable format in the current locale. ($other and $parts parameters can be swapped.) - * @method string longAbsoluteDiffForHumans(\DateTimeInterface $other = null, int $parts = 1) Get the difference (long format, 'Absolute' mode) in a human readable format in the current locale. ($other and $parts parameters can be swapped.) - * @method string shortRelativeDiffForHumans(\DateTimeInterface $other = null, int $parts = 1) Get the difference (short format, 'Relative' mode) in a human readable format in the current locale. ($other and $parts parameters can be swapped.) - * @method string longRelativeDiffForHumans(\DateTimeInterface $other = null, int $parts = 1) Get the difference (long format, 'Relative' mode) in a human readable format in the current locale. ($other and $parts parameters can be swapped.) - * @method string shortRelativeToNowDiffForHumans(\DateTimeInterface $other = null, int $parts = 1) Get the difference (short format, 'RelativeToNow' mode) in a human readable format in the current locale. ($other and $parts parameters can be swapped.) - * @method string longRelativeToNowDiffForHumans(\DateTimeInterface $other = null, int $parts = 1) Get the difference (long format, 'RelativeToNow' mode) in a human readable format in the current locale. ($other and $parts parameters can be swapped.) - * @method string shortRelativeToOtherDiffForHumans(\DateTimeInterface $other = null, int $parts = 1) Get the difference (short format, 'RelativeToOther' mode) in a human readable format in the current locale. ($other and $parts parameters can be swapped.) - * @method string longRelativeToOtherDiffForHumans(\DateTimeInterface $other = null, int $parts = 1) Get the difference (long format, 'RelativeToOther' mode) in a human readable format in the current locale. ($other and $parts parameters can be swapped.) - * @method static Carbon createFromImmutable(\DateTimeImmutable $dateTime) Create a new Carbon object from an immutable date. - * @method static Carbon createFromFormat(string $format, string $time, string|\DateTimeZone $timezone = null) Parse a string into a new Carbon object according to the specified format. - * @method static Carbon __set_state(array $array) https://php.net/manual/en/datetime.set-state.php - * - * - */ -class Carbon extends DateTime implements CarbonInterface -{ - use Date; - - /** - * Returns true if the current class/instance is mutable. - * - * @return bool - */ - public static function isMutable() - { - return true; - } -} diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/CarbonImmutable.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/CarbonImmutable.php deleted file mode 100644 index c4ce143..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/CarbonImmutable.php +++ /dev/null @@ -1,512 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace Carbon; - -use Carbon\Traits\Date; -use DateTimeImmutable; - -/** - * A simple API extension for DateTimeImmutable. - * - * - * - * @property int $year - * @property int $yearIso - * @property int $month - * @property int $day - * @property int $hour - * @property int $minute - * @property int $second - * @property int $micro - * @property int $microsecond - * @property int $timestamp seconds since the Unix Epoch - * @property string $englishDayOfWeek the day of week in English - * @property string $shortEnglishDayOfWeek the abbreviated day of week in English - * @property string $englishMonth the month in English - * @property string $shortEnglishMonth the abbreviated month in English - * @property string $localeDayOfWeek the day of week in current locale LC_TIME - * @property string $shortLocaleDayOfWeek the abbreviated day of week in current locale LC_TIME - * @property string $localeMonth the month in current locale LC_TIME - * @property string $shortLocaleMonth the abbreviated month in current locale LC_TIME - * @property int $milliseconds - * @property int $millisecond - * @property int $milli - * @property int $week 1 through 53 - * @property int $isoWeek 1 through 53 - * @property int $weekYear year according to week format - * @property int $isoWeekYear year according to ISO week format - * @property int $dayOfYear 1 through 366 - * @property int $age does a diffInYears() with default parameters - * @property int $offset the timezone offset in seconds from UTC - * @property int $offsetMinutes the timezone offset in minutes from UTC - * @property int $offsetHours the timezone offset in hours from UTC - * @property CarbonTimeZone $timezone the current timezone - * @property CarbonTimeZone $tz alias of $timezone - * @property-read int $dayOfWeek 0 (for Sunday) through 6 (for Saturday) - * @property-read int $dayOfWeekIso 1 (for Monday) through 7 (for Sunday) - * @property-read int $weekOfYear ISO-8601 week number of year, weeks starting on Monday - * @property-read int $daysInMonth number of days in the given month - * @property-read string $latinMeridiem "am"/"pm" (Ante meridiem or Post meridiem latin lowercase mark) - * @property-read string $latinUpperMeridiem "AM"/"PM" (Ante meridiem or Post meridiem latin uppercase mark) - * @property-read string $dayName long name of weekday translated according to Carbon locale, in english if no translation available for current language - * @property-read string $shortDayName short name of weekday translated according to Carbon locale, in english if no translation available for current language - * @property-read string $minDayName very short name of weekday translated according to Carbon locale, in english if no translation available for current language - * @property-read string $monthName long name of month translated according to Carbon locale, in english if no translation available for current language - * @property-read string $shortMonthName short name of month translated according to Carbon locale, in english if no translation available for current language - * @property-read string $meridiem lowercase meridiem mark translated according to Carbon locale, in latin if no translation available for current language - * @property-read string $upperMeridiem uppercase meridiem mark translated according to Carbon locale, in latin if no translation available for current language - * @property-read int $noZeroHour current hour from 1 to 24 - * @property-read int $weeksInYear 51 through 53 - * @property-read int $isoWeeksInYear 51 through 53 - * @property-read int $weekOfMonth 1 through 5 - * @property-read int $weekNumberInMonth 1 through 5 - * @property-read int $firstWeekDay 0 through 6 - * @property-read int $lastWeekDay 0 through 6 - * @property-read int $daysInYear 365 or 366 - * @property-read int $quarter the quarter of this instance, 1 - 4 - * @property-read int $decade the decade of this instance - * @property-read int $century the century of this instance - * @property-read int $millennium the millennium of this instance - * @property-read bool $dst daylight savings time indicator, true if DST, false otherwise - * @property-read bool $local checks if the timezone is local, true if local, false otherwise - * @property-read bool $utc checks if the timezone is UTC, true if UTC, false otherwise - * @property-read string $timezoneName the current timezone name - * @property-read string $tzName alias of $timezoneName - * @property-read string $timezoneAbbreviatedName the current timezone abbreviated name - * @property-read string $tzAbbrName alias of $timezoneAbbreviatedName - * @property-read string $locale locale of the current instance - * - * @method bool isUtc() Check if the current instance has UTC timezone. (Both isUtc and isUTC cases are valid.) - * @method bool isLocal() Check if the current instance has non-UTC timezone. - * @method bool isValid() Check if the current instance is a valid date. - * @method bool isDST() Check if the current instance is in a daylight saving time. - * @method bool isSunday() Checks if the instance day is sunday. - * @method bool isMonday() Checks if the instance day is monday. - * @method bool isTuesday() Checks if the instance day is tuesday. - * @method bool isWednesday() Checks if the instance day is wednesday. - * @method bool isThursday() Checks if the instance day is thursday. - * @method bool isFriday() Checks if the instance day is friday. - * @method bool isSaturday() Checks if the instance day is saturday. - * @method bool isSameYear(\Carbon\Carbon|\DateTimeInterface|string|null $date = null) Checks if the given date is in the same year as the instance. If null passed, compare to now (with the same timezone). - * @method bool isCurrentYear() Checks if the instance is in the same year as the current moment. - * @method bool isNextYear() Checks if the instance is in the same year as the current moment next year. - * @method bool isLastYear() Checks if the instance is in the same year as the current moment last year. - * @method bool isSameWeek(\Carbon\Carbon|\DateTimeInterface|string|null $date = null) Checks if the given date is in the same week as the instance. If null passed, compare to now (with the same timezone). - * @method bool isCurrentWeek() Checks if the instance is in the same week as the current moment. - * @method bool isNextWeek() Checks if the instance is in the same week as the current moment next week. - * @method bool isLastWeek() Checks if the instance is in the same week as the current moment last week. - * @method bool isSameDay(\Carbon\Carbon|\DateTimeInterface|string|null $date = null) Checks if the given date is in the same day as the instance. If null passed, compare to now (with the same timezone). - * @method bool isCurrentDay() Checks if the instance is in the same day as the current moment. - * @method bool isNextDay() Checks if the instance is in the same day as the current moment next day. - * @method bool isLastDay() Checks if the instance is in the same day as the current moment last day. - * @method bool isSameHour(\Carbon\Carbon|\DateTimeInterface|string|null $date = null) Checks if the given date is in the same hour as the instance. If null passed, compare to now (with the same timezone). - * @method bool isCurrentHour() Checks if the instance is in the same hour as the current moment. - * @method bool isNextHour() Checks if the instance is in the same hour as the current moment next hour. - * @method bool isLastHour() Checks if the instance is in the same hour as the current moment last hour. - * @method bool isSameMinute(\Carbon\Carbon|\DateTimeInterface|string|null $date = null) Checks if the given date is in the same minute as the instance. If null passed, compare to now (with the same timezone). - * @method bool isCurrentMinute() Checks if the instance is in the same minute as the current moment. - * @method bool isNextMinute() Checks if the instance is in the same minute as the current moment next minute. - * @method bool isLastMinute() Checks if the instance is in the same minute as the current moment last minute. - * @method bool isSameSecond(\Carbon\Carbon|\DateTimeInterface|string|null $date = null) Checks if the given date is in the same second as the instance. If null passed, compare to now (with the same timezone). - * @method bool isCurrentSecond() Checks if the instance is in the same second as the current moment. - * @method bool isNextSecond() Checks if the instance is in the same second as the current moment next second. - * @method bool isLastSecond() Checks if the instance is in the same second as the current moment last second. - * @method bool isSameMicro(\Carbon\Carbon|\DateTimeInterface|string|null $date = null) Checks if the given date is in the same microsecond as the instance. If null passed, compare to now (with the same timezone). - * @method bool isCurrentMicro() Checks if the instance is in the same microsecond as the current moment. - * @method bool isNextMicro() Checks if the instance is in the same microsecond as the current moment next microsecond. - * @method bool isLastMicro() Checks if the instance is in the same microsecond as the current moment last microsecond. - * @method bool isSameMicrosecond(\Carbon\Carbon|\DateTimeInterface|string|null $date = null) Checks if the given date is in the same microsecond as the instance. If null passed, compare to now (with the same timezone). - * @method bool isCurrentMicrosecond() Checks if the instance is in the same microsecond as the current moment. - * @method bool isNextMicrosecond() Checks if the instance is in the same microsecond as the current moment next microsecond. - * @method bool isLastMicrosecond() Checks if the instance is in the same microsecond as the current moment last microsecond. - * @method bool isCurrentMonth() Checks if the instance is in the same month as the current moment. - * @method bool isNextMonth() Checks if the instance is in the same month as the current moment next month. - * @method bool isLastMonth() Checks if the instance is in the same month as the current moment last month. - * @method bool isCurrentQuarter() Checks if the instance is in the same quarter as the current moment. - * @method bool isNextQuarter() Checks if the instance is in the same quarter as the current moment next quarter. - * @method bool isLastQuarter() Checks if the instance is in the same quarter as the current moment last quarter. - * @method bool isSameDecade(\Carbon\Carbon|\DateTimeInterface|string|null $date = null) Checks if the given date is in the same decade as the instance. If null passed, compare to now (with the same timezone). - * @method bool isCurrentDecade() Checks if the instance is in the same decade as the current moment. - * @method bool isNextDecade() Checks if the instance is in the same decade as the current moment next decade. - * @method bool isLastDecade() Checks if the instance is in the same decade as the current moment last decade. - * @method bool isSameCentury(\Carbon\Carbon|\DateTimeInterface|string|null $date = null) Checks if the given date is in the same century as the instance. If null passed, compare to now (with the same timezone). - * @method bool isCurrentCentury() Checks if the instance is in the same century as the current moment. - * @method bool isNextCentury() Checks if the instance is in the same century as the current moment next century. - * @method bool isLastCentury() Checks if the instance is in the same century as the current moment last century. - * @method bool isSameMillennium(\Carbon\Carbon|\DateTimeInterface|string|null $date = null) Checks if the given date is in the same millennium as the instance. If null passed, compare to now (with the same timezone). - * @method bool isCurrentMillennium() Checks if the instance is in the same millennium as the current moment. - * @method bool isNextMillennium() Checks if the instance is in the same millennium as the current moment next millennium. - * @method bool isLastMillennium() Checks if the instance is in the same millennium as the current moment last millennium. - * @method CarbonImmutable years(int $value) Set current instance year to the given value. - * @method CarbonImmutable year(int $value) Set current instance year to the given value. - * @method CarbonImmutable setYears(int $value) Set current instance year to the given value. - * @method CarbonImmutable setYear(int $value) Set current instance year to the given value. - * @method CarbonImmutable months(int $value) Set current instance month to the given value. - * @method CarbonImmutable month(int $value) Set current instance month to the given value. - * @method CarbonImmutable setMonths(int $value) Set current instance month to the given value. - * @method CarbonImmutable setMonth(int $value) Set current instance month to the given value. - * @method CarbonImmutable days(int $value) Set current instance day to the given value. - * @method CarbonImmutable day(int $value) Set current instance day to the given value. - * @method CarbonImmutable setDays(int $value) Set current instance day to the given value. - * @method CarbonImmutable setDay(int $value) Set current instance day to the given value. - * @method CarbonImmutable hours(int $value) Set current instance hour to the given value. - * @method CarbonImmutable hour(int $value) Set current instance hour to the given value. - * @method CarbonImmutable setHours(int $value) Set current instance hour to the given value. - * @method CarbonImmutable setHour(int $value) Set current instance hour to the given value. - * @method CarbonImmutable minutes(int $value) Set current instance minute to the given value. - * @method CarbonImmutable minute(int $value) Set current instance minute to the given value. - * @method CarbonImmutable setMinutes(int $value) Set current instance minute to the given value. - * @method CarbonImmutable setMinute(int $value) Set current instance minute to the given value. - * @method CarbonImmutable seconds(int $value) Set current instance second to the given value. - * @method CarbonImmutable second(int $value) Set current instance second to the given value. - * @method CarbonImmutable setSeconds(int $value) Set current instance second to the given value. - * @method CarbonImmutable setSecond(int $value) Set current instance second to the given value. - * @method CarbonImmutable millis(int $value) Set current instance millisecond to the given value. - * @method CarbonImmutable milli(int $value) Set current instance millisecond to the given value. - * @method CarbonImmutable setMillis(int $value) Set current instance millisecond to the given value. - * @method CarbonImmutable setMilli(int $value) Set current instance millisecond to the given value. - * @method CarbonImmutable milliseconds(int $value) Set current instance millisecond to the given value. - * @method CarbonImmutable millisecond(int $value) Set current instance millisecond to the given value. - * @method CarbonImmutable setMilliseconds(int $value) Set current instance millisecond to the given value. - * @method CarbonImmutable setMillisecond(int $value) Set current instance millisecond to the given value. - * @method CarbonImmutable micros(int $value) Set current instance microsecond to the given value. - * @method CarbonImmutable micro(int $value) Set current instance microsecond to the given value. - * @method CarbonImmutable setMicros(int $value) Set current instance microsecond to the given value. - * @method CarbonImmutable setMicro(int $value) Set current instance microsecond to the given value. - * @method CarbonImmutable microseconds(int $value) Set current instance microsecond to the given value. - * @method CarbonImmutable microsecond(int $value) Set current instance microsecond to the given value. - * @method CarbonImmutable setMicroseconds(int $value) Set current instance microsecond to the given value. - * @method CarbonImmutable setMicrosecond(int $value) Set current instance microsecond to the given value. - * @method CarbonImmutable addYears(int $value = 1) Add years (the $value count passed in) to the instance (using date interval). - * @method CarbonImmutable addYear() Add one year to the instance (using date interval). - * @method CarbonImmutable subYears(int $value = 1) Sub years (the $value count passed in) to the instance (using date interval). - * @method CarbonImmutable subYear() Sub one year to the instance (using date interval). - * @method CarbonImmutable addYearsWithOverflow(int $value = 1) Add years (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed. - * @method CarbonImmutable addYearWithOverflow() Add one year to the instance (using date interval) with overflow explicitly allowed. - * @method CarbonImmutable subYearsWithOverflow(int $value = 1) Sub years (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed. - * @method CarbonImmutable subYearWithOverflow() Sub one year to the instance (using date interval) with overflow explicitly allowed. - * @method CarbonImmutable addYearsWithoutOverflow(int $value = 1) Add years (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonImmutable addYearWithoutOverflow() Add one year to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonImmutable subYearsWithoutOverflow(int $value = 1) Sub years (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonImmutable subYearWithoutOverflow() Sub one year to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonImmutable addYearsWithNoOverflow(int $value = 1) Add years (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonImmutable addYearWithNoOverflow() Add one year to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonImmutable subYearsWithNoOverflow(int $value = 1) Sub years (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonImmutable subYearWithNoOverflow() Sub one year to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonImmutable addYearsNoOverflow(int $value = 1) Add years (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonImmutable addYearNoOverflow() Add one year to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonImmutable subYearsNoOverflow(int $value = 1) Sub years (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonImmutable subYearNoOverflow() Sub one year to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonImmutable addMonths(int $value = 1) Add months (the $value count passed in) to the instance (using date interval). - * @method CarbonImmutable addMonth() Add one month to the instance (using date interval). - * @method CarbonImmutable subMonths(int $value = 1) Sub months (the $value count passed in) to the instance (using date interval). - * @method CarbonImmutable subMonth() Sub one month to the instance (using date interval). - * @method CarbonImmutable addMonthsWithOverflow(int $value = 1) Add months (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed. - * @method CarbonImmutable addMonthWithOverflow() Add one month to the instance (using date interval) with overflow explicitly allowed. - * @method CarbonImmutable subMonthsWithOverflow(int $value = 1) Sub months (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed. - * @method CarbonImmutable subMonthWithOverflow() Sub one month to the instance (using date interval) with overflow explicitly allowed. - * @method CarbonImmutable addMonthsWithoutOverflow(int $value = 1) Add months (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonImmutable addMonthWithoutOverflow() Add one month to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonImmutable subMonthsWithoutOverflow(int $value = 1) Sub months (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonImmutable subMonthWithoutOverflow() Sub one month to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonImmutable addMonthsWithNoOverflow(int $value = 1) Add months (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonImmutable addMonthWithNoOverflow() Add one month to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonImmutable subMonthsWithNoOverflow(int $value = 1) Sub months (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonImmutable subMonthWithNoOverflow() Sub one month to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonImmutable addMonthsNoOverflow(int $value = 1) Add months (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonImmutable addMonthNoOverflow() Add one month to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonImmutable subMonthsNoOverflow(int $value = 1) Sub months (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonImmutable subMonthNoOverflow() Sub one month to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonImmutable addDays(int $value = 1) Add days (the $value count passed in) to the instance (using date interval). - * @method CarbonImmutable addDay() Add one day to the instance (using date interval). - * @method CarbonImmutable subDays(int $value = 1) Sub days (the $value count passed in) to the instance (using date interval). - * @method CarbonImmutable subDay() Sub one day to the instance (using date interval). - * @method CarbonImmutable addHours(int $value = 1) Add hours (the $value count passed in) to the instance (using date interval). - * @method CarbonImmutable addHour() Add one hour to the instance (using date interval). - * @method CarbonImmutable subHours(int $value = 1) Sub hours (the $value count passed in) to the instance (using date interval). - * @method CarbonImmutable subHour() Sub one hour to the instance (using date interval). - * @method CarbonImmutable addMinutes(int $value = 1) Add minutes (the $value count passed in) to the instance (using date interval). - * @method CarbonImmutable addMinute() Add one minute to the instance (using date interval). - * @method CarbonImmutable subMinutes(int $value = 1) Sub minutes (the $value count passed in) to the instance (using date interval). - * @method CarbonImmutable subMinute() Sub one minute to the instance (using date interval). - * @method CarbonImmutable addSeconds(int $value = 1) Add seconds (the $value count passed in) to the instance (using date interval). - * @method CarbonImmutable addSecond() Add one second to the instance (using date interval). - * @method CarbonImmutable subSeconds(int $value = 1) Sub seconds (the $value count passed in) to the instance (using date interval). - * @method CarbonImmutable subSecond() Sub one second to the instance (using date interval). - * @method CarbonImmutable addMillis(int $value = 1) Add milliseconds (the $value count passed in) to the instance (using date interval). - * @method CarbonImmutable addMilli() Add one millisecond to the instance (using date interval). - * @method CarbonImmutable subMillis(int $value = 1) Sub milliseconds (the $value count passed in) to the instance (using date interval). - * @method CarbonImmutable subMilli() Sub one millisecond to the instance (using date interval). - * @method CarbonImmutable addMilliseconds(int $value = 1) Add milliseconds (the $value count passed in) to the instance (using date interval). - * @method CarbonImmutable addMillisecond() Add one millisecond to the instance (using date interval). - * @method CarbonImmutable subMilliseconds(int $value = 1) Sub milliseconds (the $value count passed in) to the instance (using date interval). - * @method CarbonImmutable subMillisecond() Sub one millisecond to the instance (using date interval). - * @method CarbonImmutable addMicros(int $value = 1) Add microseconds (the $value count passed in) to the instance (using date interval). - * @method CarbonImmutable addMicro() Add one microsecond to the instance (using date interval). - * @method CarbonImmutable subMicros(int $value = 1) Sub microseconds (the $value count passed in) to the instance (using date interval). - * @method CarbonImmutable subMicro() Sub one microsecond to the instance (using date interval). - * @method CarbonImmutable addMicroseconds(int $value = 1) Add microseconds (the $value count passed in) to the instance (using date interval). - * @method CarbonImmutable addMicrosecond() Add one microsecond to the instance (using date interval). - * @method CarbonImmutable subMicroseconds(int $value = 1) Sub microseconds (the $value count passed in) to the instance (using date interval). - * @method CarbonImmutable subMicrosecond() Sub one microsecond to the instance (using date interval). - * @method CarbonImmutable addMillennia(int $value = 1) Add millennia (the $value count passed in) to the instance (using date interval). - * @method CarbonImmutable addMillennium() Add one millennium to the instance (using date interval). - * @method CarbonImmutable subMillennia(int $value = 1) Sub millennia (the $value count passed in) to the instance (using date interval). - * @method CarbonImmutable subMillennium() Sub one millennium to the instance (using date interval). - * @method CarbonImmutable addMillenniaWithOverflow(int $value = 1) Add millennia (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed. - * @method CarbonImmutable addMillenniumWithOverflow() Add one millennium to the instance (using date interval) with overflow explicitly allowed. - * @method CarbonImmutable subMillenniaWithOverflow(int $value = 1) Sub millennia (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed. - * @method CarbonImmutable subMillenniumWithOverflow() Sub one millennium to the instance (using date interval) with overflow explicitly allowed. - * @method CarbonImmutable addMillenniaWithoutOverflow(int $value = 1) Add millennia (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonImmutable addMillenniumWithoutOverflow() Add one millennium to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonImmutable subMillenniaWithoutOverflow(int $value = 1) Sub millennia (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonImmutable subMillenniumWithoutOverflow() Sub one millennium to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonImmutable addMillenniaWithNoOverflow(int $value = 1) Add millennia (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonImmutable addMillenniumWithNoOverflow() Add one millennium to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonImmutable subMillenniaWithNoOverflow(int $value = 1) Sub millennia (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonImmutable subMillenniumWithNoOverflow() Sub one millennium to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonImmutable addMillenniaNoOverflow(int $value = 1) Add millennia (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonImmutable addMillenniumNoOverflow() Add one millennium to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonImmutable subMillenniaNoOverflow(int $value = 1) Sub millennia (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonImmutable subMillenniumNoOverflow() Sub one millennium to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonImmutable addCenturies(int $value = 1) Add centuries (the $value count passed in) to the instance (using date interval). - * @method CarbonImmutable addCentury() Add one century to the instance (using date interval). - * @method CarbonImmutable subCenturies(int $value = 1) Sub centuries (the $value count passed in) to the instance (using date interval). - * @method CarbonImmutable subCentury() Sub one century to the instance (using date interval). - * @method CarbonImmutable addCenturiesWithOverflow(int $value = 1) Add centuries (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed. - * @method CarbonImmutable addCenturyWithOverflow() Add one century to the instance (using date interval) with overflow explicitly allowed. - * @method CarbonImmutable subCenturiesWithOverflow(int $value = 1) Sub centuries (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed. - * @method CarbonImmutable subCenturyWithOverflow() Sub one century to the instance (using date interval) with overflow explicitly allowed. - * @method CarbonImmutable addCenturiesWithoutOverflow(int $value = 1) Add centuries (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonImmutable addCenturyWithoutOverflow() Add one century to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonImmutable subCenturiesWithoutOverflow(int $value = 1) Sub centuries (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonImmutable subCenturyWithoutOverflow() Sub one century to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonImmutable addCenturiesWithNoOverflow(int $value = 1) Add centuries (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonImmutable addCenturyWithNoOverflow() Add one century to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonImmutable subCenturiesWithNoOverflow(int $value = 1) Sub centuries (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonImmutable subCenturyWithNoOverflow() Sub one century to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonImmutable addCenturiesNoOverflow(int $value = 1) Add centuries (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonImmutable addCenturyNoOverflow() Add one century to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonImmutable subCenturiesNoOverflow(int $value = 1) Sub centuries (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonImmutable subCenturyNoOverflow() Sub one century to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonImmutable addDecades(int $value = 1) Add decades (the $value count passed in) to the instance (using date interval). - * @method CarbonImmutable addDecade() Add one decade to the instance (using date interval). - * @method CarbonImmutable subDecades(int $value = 1) Sub decades (the $value count passed in) to the instance (using date interval). - * @method CarbonImmutable subDecade() Sub one decade to the instance (using date interval). - * @method CarbonImmutable addDecadesWithOverflow(int $value = 1) Add decades (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed. - * @method CarbonImmutable addDecadeWithOverflow() Add one decade to the instance (using date interval) with overflow explicitly allowed. - * @method CarbonImmutable subDecadesWithOverflow(int $value = 1) Sub decades (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed. - * @method CarbonImmutable subDecadeWithOverflow() Sub one decade to the instance (using date interval) with overflow explicitly allowed. - * @method CarbonImmutable addDecadesWithoutOverflow(int $value = 1) Add decades (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonImmutable addDecadeWithoutOverflow() Add one decade to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonImmutable subDecadesWithoutOverflow(int $value = 1) Sub decades (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonImmutable subDecadeWithoutOverflow() Sub one decade to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonImmutable addDecadesWithNoOverflow(int $value = 1) Add decades (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonImmutable addDecadeWithNoOverflow() Add one decade to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonImmutable subDecadesWithNoOverflow(int $value = 1) Sub decades (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonImmutable subDecadeWithNoOverflow() Sub one decade to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonImmutable addDecadesNoOverflow(int $value = 1) Add decades (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonImmutable addDecadeNoOverflow() Add one decade to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonImmutable subDecadesNoOverflow(int $value = 1) Sub decades (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonImmutable subDecadeNoOverflow() Sub one decade to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonImmutable addQuarters(int $value = 1) Add quarters (the $value count passed in) to the instance (using date interval). - * @method CarbonImmutable addQuarter() Add one quarter to the instance (using date interval). - * @method CarbonImmutable subQuarters(int $value = 1) Sub quarters (the $value count passed in) to the instance (using date interval). - * @method CarbonImmutable subQuarter() Sub one quarter to the instance (using date interval). - * @method CarbonImmutable addQuartersWithOverflow(int $value = 1) Add quarters (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed. - * @method CarbonImmutable addQuarterWithOverflow() Add one quarter to the instance (using date interval) with overflow explicitly allowed. - * @method CarbonImmutable subQuartersWithOverflow(int $value = 1) Sub quarters (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed. - * @method CarbonImmutable subQuarterWithOverflow() Sub one quarter to the instance (using date interval) with overflow explicitly allowed. - * @method CarbonImmutable addQuartersWithoutOverflow(int $value = 1) Add quarters (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonImmutable addQuarterWithoutOverflow() Add one quarter to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonImmutable subQuartersWithoutOverflow(int $value = 1) Sub quarters (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonImmutable subQuarterWithoutOverflow() Sub one quarter to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonImmutable addQuartersWithNoOverflow(int $value = 1) Add quarters (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonImmutable addQuarterWithNoOverflow() Add one quarter to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonImmutable subQuartersWithNoOverflow(int $value = 1) Sub quarters (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonImmutable subQuarterWithNoOverflow() Sub one quarter to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonImmutable addQuartersNoOverflow(int $value = 1) Add quarters (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonImmutable addQuarterNoOverflow() Add one quarter to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonImmutable subQuartersNoOverflow(int $value = 1) Sub quarters (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonImmutable subQuarterNoOverflow() Sub one quarter to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonImmutable addWeeks(int $value = 1) Add weeks (the $value count passed in) to the instance (using date interval). - * @method CarbonImmutable addWeek() Add one week to the instance (using date interval). - * @method CarbonImmutable subWeeks(int $value = 1) Sub weeks (the $value count passed in) to the instance (using date interval). - * @method CarbonImmutable subWeek() Sub one week to the instance (using date interval). - * @method CarbonImmutable addWeekdays(int $value = 1) Add weekdays (the $value count passed in) to the instance (using date interval). - * @method CarbonImmutable addWeekday() Add one weekday to the instance (using date interval). - * @method CarbonImmutable subWeekdays(int $value = 1) Sub weekdays (the $value count passed in) to the instance (using date interval). - * @method CarbonImmutable subWeekday() Sub one weekday to the instance (using date interval). - * @method CarbonImmutable addRealMicros(int $value = 1) Add microseconds (the $value count passed in) to the instance (using timestamp). - * @method CarbonImmutable addRealMicro() Add one microsecond to the instance (using timestamp). - * @method CarbonImmutable subRealMicros(int $value = 1) Sub microseconds (the $value count passed in) to the instance (using timestamp). - * @method CarbonImmutable subRealMicro() Sub one microsecond to the instance (using timestamp). - * @method CarbonPeriod microsUntil($endDate = null, int $factor = 1) Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each microsecond or every X microseconds if a factor is given. - * @method CarbonImmutable addRealMicroseconds(int $value = 1) Add microseconds (the $value count passed in) to the instance (using timestamp). - * @method CarbonImmutable addRealMicrosecond() Add one microsecond to the instance (using timestamp). - * @method CarbonImmutable subRealMicroseconds(int $value = 1) Sub microseconds (the $value count passed in) to the instance (using timestamp). - * @method CarbonImmutable subRealMicrosecond() Sub one microsecond to the instance (using timestamp). - * @method CarbonPeriod microsecondsUntil($endDate = null, int $factor = 1) Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each microsecond or every X microseconds if a factor is given. - * @method CarbonImmutable addRealMillis(int $value = 1) Add milliseconds (the $value count passed in) to the instance (using timestamp). - * @method CarbonImmutable addRealMilli() Add one millisecond to the instance (using timestamp). - * @method CarbonImmutable subRealMillis(int $value = 1) Sub milliseconds (the $value count passed in) to the instance (using timestamp). - * @method CarbonImmutable subRealMilli() Sub one millisecond to the instance (using timestamp). - * @method CarbonPeriod millisUntil($endDate = null, int $factor = 1) Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each millisecond or every X milliseconds if a factor is given. - * @method CarbonImmutable addRealMilliseconds(int $value = 1) Add milliseconds (the $value count passed in) to the instance (using timestamp). - * @method CarbonImmutable addRealMillisecond() Add one millisecond to the instance (using timestamp). - * @method CarbonImmutable subRealMilliseconds(int $value = 1) Sub milliseconds (the $value count passed in) to the instance (using timestamp). - * @method CarbonImmutable subRealMillisecond() Sub one millisecond to the instance (using timestamp). - * @method CarbonPeriod millisecondsUntil($endDate = null, int $factor = 1) Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each millisecond or every X milliseconds if a factor is given. - * @method CarbonImmutable addRealSeconds(int $value = 1) Add seconds (the $value count passed in) to the instance (using timestamp). - * @method CarbonImmutable addRealSecond() Add one second to the instance (using timestamp). - * @method CarbonImmutable subRealSeconds(int $value = 1) Sub seconds (the $value count passed in) to the instance (using timestamp). - * @method CarbonImmutable subRealSecond() Sub one second to the instance (using timestamp). - * @method CarbonPeriod secondsUntil($endDate = null, int $factor = 1) Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each second or every X seconds if a factor is given. - * @method CarbonImmutable addRealMinutes(int $value = 1) Add minutes (the $value count passed in) to the instance (using timestamp). - * @method CarbonImmutable addRealMinute() Add one minute to the instance (using timestamp). - * @method CarbonImmutable subRealMinutes(int $value = 1) Sub minutes (the $value count passed in) to the instance (using timestamp). - * @method CarbonImmutable subRealMinute() Sub one minute to the instance (using timestamp). - * @method CarbonPeriod minutesUntil($endDate = null, int $factor = 1) Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each minute or every X minutes if a factor is given. - * @method CarbonImmutable addRealHours(int $value = 1) Add hours (the $value count passed in) to the instance (using timestamp). - * @method CarbonImmutable addRealHour() Add one hour to the instance (using timestamp). - * @method CarbonImmutable subRealHours(int $value = 1) Sub hours (the $value count passed in) to the instance (using timestamp). - * @method CarbonImmutable subRealHour() Sub one hour to the instance (using timestamp). - * @method CarbonPeriod hoursUntil($endDate = null, int $factor = 1) Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each hour or every X hours if a factor is given. - * @method CarbonImmutable addRealDays(int $value = 1) Add days (the $value count passed in) to the instance (using timestamp). - * @method CarbonImmutable addRealDay() Add one day to the instance (using timestamp). - * @method CarbonImmutable subRealDays(int $value = 1) Sub days (the $value count passed in) to the instance (using timestamp). - * @method CarbonImmutable subRealDay() Sub one day to the instance (using timestamp). - * @method CarbonPeriod daysUntil($endDate = null, int $factor = 1) Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each day or every X days if a factor is given. - * @method CarbonImmutable addRealWeeks(int $value = 1) Add weeks (the $value count passed in) to the instance (using timestamp). - * @method CarbonImmutable addRealWeek() Add one week to the instance (using timestamp). - * @method CarbonImmutable subRealWeeks(int $value = 1) Sub weeks (the $value count passed in) to the instance (using timestamp). - * @method CarbonImmutable subRealWeek() Sub one week to the instance (using timestamp). - * @method CarbonPeriod weeksUntil($endDate = null, int $factor = 1) Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each week or every X weeks if a factor is given. - * @method CarbonImmutable addRealMonths(int $value = 1) Add months (the $value count passed in) to the instance (using timestamp). - * @method CarbonImmutable addRealMonth() Add one month to the instance (using timestamp). - * @method CarbonImmutable subRealMonths(int $value = 1) Sub months (the $value count passed in) to the instance (using timestamp). - * @method CarbonImmutable subRealMonth() Sub one month to the instance (using timestamp). - * @method CarbonPeriod monthsUntil($endDate = null, int $factor = 1) Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each month or every X months if a factor is given. - * @method CarbonImmutable addRealQuarters(int $value = 1) Add quarters (the $value count passed in) to the instance (using timestamp). - * @method CarbonImmutable addRealQuarter() Add one quarter to the instance (using timestamp). - * @method CarbonImmutable subRealQuarters(int $value = 1) Sub quarters (the $value count passed in) to the instance (using timestamp). - * @method CarbonImmutable subRealQuarter() Sub one quarter to the instance (using timestamp). - * @method CarbonPeriod quartersUntil($endDate = null, int $factor = 1) Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each quarter or every X quarters if a factor is given. - * @method CarbonImmutable addRealYears(int $value = 1) Add years (the $value count passed in) to the instance (using timestamp). - * @method CarbonImmutable addRealYear() Add one year to the instance (using timestamp). - * @method CarbonImmutable subRealYears(int $value = 1) Sub years (the $value count passed in) to the instance (using timestamp). - * @method CarbonImmutable subRealYear() Sub one year to the instance (using timestamp). - * @method CarbonPeriod yearsUntil($endDate = null, int $factor = 1) Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each year or every X years if a factor is given. - * @method CarbonImmutable addRealDecades(int $value = 1) Add decades (the $value count passed in) to the instance (using timestamp). - * @method CarbonImmutable addRealDecade() Add one decade to the instance (using timestamp). - * @method CarbonImmutable subRealDecades(int $value = 1) Sub decades (the $value count passed in) to the instance (using timestamp). - * @method CarbonImmutable subRealDecade() Sub one decade to the instance (using timestamp). - * @method CarbonPeriod decadesUntil($endDate = null, int $factor = 1) Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each decade or every X decades if a factor is given. - * @method CarbonImmutable addRealCenturies(int $value = 1) Add centuries (the $value count passed in) to the instance (using timestamp). - * @method CarbonImmutable addRealCentury() Add one century to the instance (using timestamp). - * @method CarbonImmutable subRealCenturies(int $value = 1) Sub centuries (the $value count passed in) to the instance (using timestamp). - * @method CarbonImmutable subRealCentury() Sub one century to the instance (using timestamp). - * @method CarbonPeriod centuriesUntil($endDate = null, int $factor = 1) Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each century or every X centuries if a factor is given. - * @method CarbonImmutable addRealMillennia(int $value = 1) Add millennia (the $value count passed in) to the instance (using timestamp). - * @method CarbonImmutable addRealMillennium() Add one millennium to the instance (using timestamp). - * @method CarbonImmutable subRealMillennia(int $value = 1) Sub millennia (the $value count passed in) to the instance (using timestamp). - * @method CarbonImmutable subRealMillennium() Sub one millennium to the instance (using timestamp). - * @method CarbonPeriod millenniaUntil($endDate = null, int $factor = 1) Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each millennium or every X millennia if a factor is given. - * @method CarbonImmutable roundYear(float $precision = 1, string $function = "round") Round the current instance year with given precision using the given function. - * @method CarbonImmutable roundYears(float $precision = 1, string $function = "round") Round the current instance year with given precision using the given function. - * @method CarbonImmutable floorYear(float $precision = 1) Truncate the current instance year with given precision. - * @method CarbonImmutable floorYears(float $precision = 1) Truncate the current instance year with given precision. - * @method CarbonImmutable ceilYear(float $precision = 1) Ceil the current instance year with given precision. - * @method CarbonImmutable ceilYears(float $precision = 1) Ceil the current instance year with given precision. - * @method CarbonImmutable roundMonth(float $precision = 1, string $function = "round") Round the current instance month with given precision using the given function. - * @method CarbonImmutable roundMonths(float $precision = 1, string $function = "round") Round the current instance month with given precision using the given function. - * @method CarbonImmutable floorMonth(float $precision = 1) Truncate the current instance month with given precision. - * @method CarbonImmutable floorMonths(float $precision = 1) Truncate the current instance month with given precision. - * @method CarbonImmutable ceilMonth(float $precision = 1) Ceil the current instance month with given precision. - * @method CarbonImmutable ceilMonths(float $precision = 1) Ceil the current instance month with given precision. - * @method CarbonImmutable roundDay(float $precision = 1, string $function = "round") Round the current instance day with given precision using the given function. - * @method CarbonImmutable roundDays(float $precision = 1, string $function = "round") Round the current instance day with given precision using the given function. - * @method CarbonImmutable floorDay(float $precision = 1) Truncate the current instance day with given precision. - * @method CarbonImmutable floorDays(float $precision = 1) Truncate the current instance day with given precision. - * @method CarbonImmutable ceilDay(float $precision = 1) Ceil the current instance day with given precision. - * @method CarbonImmutable ceilDays(float $precision = 1) Ceil the current instance day with given precision. - * @method CarbonImmutable roundHour(float $precision = 1, string $function = "round") Round the current instance hour with given precision using the given function. - * @method CarbonImmutable roundHours(float $precision = 1, string $function = "round") Round the current instance hour with given precision using the given function. - * @method CarbonImmutable floorHour(float $precision = 1) Truncate the current instance hour with given precision. - * @method CarbonImmutable floorHours(float $precision = 1) Truncate the current instance hour with given precision. - * @method CarbonImmutable ceilHour(float $precision = 1) Ceil the current instance hour with given precision. - * @method CarbonImmutable ceilHours(float $precision = 1) Ceil the current instance hour with given precision. - * @method CarbonImmutable roundMinute(float $precision = 1, string $function = "round") Round the current instance minute with given precision using the given function. - * @method CarbonImmutable roundMinutes(float $precision = 1, string $function = "round") Round the current instance minute with given precision using the given function. - * @method CarbonImmutable floorMinute(float $precision = 1) Truncate the current instance minute with given precision. - * @method CarbonImmutable floorMinutes(float $precision = 1) Truncate the current instance minute with given precision. - * @method CarbonImmutable ceilMinute(float $precision = 1) Ceil the current instance minute with given precision. - * @method CarbonImmutable ceilMinutes(float $precision = 1) Ceil the current instance minute with given precision. - * @method CarbonImmutable roundSecond(float $precision = 1, string $function = "round") Round the current instance second with given precision using the given function. - * @method CarbonImmutable roundSeconds(float $precision = 1, string $function = "round") Round the current instance second with given precision using the given function. - * @method CarbonImmutable floorSecond(float $precision = 1) Truncate the current instance second with given precision. - * @method CarbonImmutable floorSeconds(float $precision = 1) Truncate the current instance second with given precision. - * @method CarbonImmutable ceilSecond(float $precision = 1) Ceil the current instance second with given precision. - * @method CarbonImmutable ceilSeconds(float $precision = 1) Ceil the current instance second with given precision. - * @method CarbonImmutable roundMillennium(float $precision = 1, string $function = "round") Round the current instance millennium with given precision using the given function. - * @method CarbonImmutable roundMillennia(float $precision = 1, string $function = "round") Round the current instance millennium with given precision using the given function. - * @method CarbonImmutable floorMillennium(float $precision = 1) Truncate the current instance millennium with given precision. - * @method CarbonImmutable floorMillennia(float $precision = 1) Truncate the current instance millennium with given precision. - * @method CarbonImmutable ceilMillennium(float $precision = 1) Ceil the current instance millennium with given precision. - * @method CarbonImmutable ceilMillennia(float $precision = 1) Ceil the current instance millennium with given precision. - * @method CarbonImmutable roundCentury(float $precision = 1, string $function = "round") Round the current instance century with given precision using the given function. - * @method CarbonImmutable roundCenturies(float $precision = 1, string $function = "round") Round the current instance century with given precision using the given function. - * @method CarbonImmutable floorCentury(float $precision = 1) Truncate the current instance century with given precision. - * @method CarbonImmutable floorCenturies(float $precision = 1) Truncate the current instance century with given precision. - * @method CarbonImmutable ceilCentury(float $precision = 1) Ceil the current instance century with given precision. - * @method CarbonImmutable ceilCenturies(float $precision = 1) Ceil the current instance century with given precision. - * @method CarbonImmutable roundDecade(float $precision = 1, string $function = "round") Round the current instance decade with given precision using the given function. - * @method CarbonImmutable roundDecades(float $precision = 1, string $function = "round") Round the current instance decade with given precision using the given function. - * @method CarbonImmutable floorDecade(float $precision = 1) Truncate the current instance decade with given precision. - * @method CarbonImmutable floorDecades(float $precision = 1) Truncate the current instance decade with given precision. - * @method CarbonImmutable ceilDecade(float $precision = 1) Ceil the current instance decade with given precision. - * @method CarbonImmutable ceilDecades(float $precision = 1) Ceil the current instance decade with given precision. - * @method CarbonImmutable roundQuarter(float $precision = 1, string $function = "round") Round the current instance quarter with given precision using the given function. - * @method CarbonImmutable roundQuarters(float $precision = 1, string $function = "round") Round the current instance quarter with given precision using the given function. - * @method CarbonImmutable floorQuarter(float $precision = 1) Truncate the current instance quarter with given precision. - * @method CarbonImmutable floorQuarters(float $precision = 1) Truncate the current instance quarter with given precision. - * @method CarbonImmutable ceilQuarter(float $precision = 1) Ceil the current instance quarter with given precision. - * @method CarbonImmutable ceilQuarters(float $precision = 1) Ceil the current instance quarter with given precision. - * @method CarbonImmutable roundMillisecond(float $precision = 1, string $function = "round") Round the current instance millisecond with given precision using the given function. - * @method CarbonImmutable roundMilliseconds(float $precision = 1, string $function = "round") Round the current instance millisecond with given precision using the given function. - * @method CarbonImmutable floorMillisecond(float $precision = 1) Truncate the current instance millisecond with given precision. - * @method CarbonImmutable floorMilliseconds(float $precision = 1) Truncate the current instance millisecond with given precision. - * @method CarbonImmutable ceilMillisecond(float $precision = 1) Ceil the current instance millisecond with given precision. - * @method CarbonImmutable ceilMilliseconds(float $precision = 1) Ceil the current instance millisecond with given precision. - * @method CarbonImmutable roundMicrosecond(float $precision = 1, string $function = "round") Round the current instance microsecond with given precision using the given function. - * @method CarbonImmutable roundMicroseconds(float $precision = 1, string $function = "round") Round the current instance microsecond with given precision using the given function. - * @method CarbonImmutable floorMicrosecond(float $precision = 1) Truncate the current instance microsecond with given precision. - * @method CarbonImmutable floorMicroseconds(float $precision = 1) Truncate the current instance microsecond with given precision. - * @method CarbonImmutable ceilMicrosecond(float $precision = 1) Ceil the current instance microsecond with given precision. - * @method CarbonImmutable ceilMicroseconds(float $precision = 1) Ceil the current instance microsecond with given precision. - * @method string shortAbsoluteDiffForHumans(\DateTimeInterface $other = null, int $parts = 1) Get the difference (short format, 'Absolute' mode) in a human readable format in the current locale. ($other and $parts parameters can be swapped.) - * @method string longAbsoluteDiffForHumans(\DateTimeInterface $other = null, int $parts = 1) Get the difference (long format, 'Absolute' mode) in a human readable format in the current locale. ($other and $parts parameters can be swapped.) - * @method string shortRelativeDiffForHumans(\DateTimeInterface $other = null, int $parts = 1) Get the difference (short format, 'Relative' mode) in a human readable format in the current locale. ($other and $parts parameters can be swapped.) - * @method string longRelativeDiffForHumans(\DateTimeInterface $other = null, int $parts = 1) Get the difference (long format, 'Relative' mode) in a human readable format in the current locale. ($other and $parts parameters can be swapped.) - * @method string shortRelativeToNowDiffForHumans(\DateTimeInterface $other = null, int $parts = 1) Get the difference (short format, 'RelativeToNow' mode) in a human readable format in the current locale. ($other and $parts parameters can be swapped.) - * @method string longRelativeToNowDiffForHumans(\DateTimeInterface $other = null, int $parts = 1) Get the difference (long format, 'RelativeToNow' mode) in a human readable format in the current locale. ($other and $parts parameters can be swapped.) - * @method string shortRelativeToOtherDiffForHumans(\DateTimeInterface $other = null, int $parts = 1) Get the difference (short format, 'RelativeToOther' mode) in a human readable format in the current locale. ($other and $parts parameters can be swapped.) - * @method string longRelativeToOtherDiffForHumans(\DateTimeInterface $other = null, int $parts = 1) Get the difference (long format, 'RelativeToOther' mode) in a human readable format in the current locale. ($other and $parts parameters can be swapped.) - * @method static CarbonImmutable createFromMutable(\DateTime $dateTime) Create a new CarbonImmutable object from an immutable date. - * @method static CarbonImmutable createFromFormat(string $format, string $time, string|\DateTimeZone $timezone = null) Parse a string into a new CarbonImmutable object according to the specified format. - * @method static CarbonImmutable __set_state(array $array) https://php.net/manual/en/datetime.set-state.php - * - * - */ -class CarbonImmutable extends DateTimeImmutable implements CarbonInterface -{ - use Date; -} diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/CarbonInterface.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/CarbonInterface.php deleted file mode 100644 index e3cb39f..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/CarbonInterface.php +++ /dev/null @@ -1,4745 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace Carbon; - -use Closure; -use DateInterval; -use DateTime; -use DateTimeImmutable; -use DateTimeInterface; -use DateTimeZone; -use InvalidArgumentException; -use JsonSerializable; -use ReflectionException; - -/** - * Common interface for Carbon and CarbonImmutable. - * - * - * - * @property int $year - * @property int $yearIso - * @property int $month - * @property int $day - * @property int $hour - * @property int $minute - * @property int $second - * @property int $micro - * @property int $microsecond - * @property int $timestamp seconds since the Unix Epoch - * @property string $englishDayOfWeek the day of week in English - * @property string $shortEnglishDayOfWeek the abbreviated day of week in English - * @property string $englishMonth the month in English - * @property string $shortEnglishMonth the abbreviated month in English - * @property string $localeDayOfWeek the day of week in current locale LC_TIME - * @property string $shortLocaleDayOfWeek the abbreviated day of week in current locale LC_TIME - * @property string $localeMonth the month in current locale LC_TIME - * @property string $shortLocaleMonth the abbreviated month in current locale LC_TIME - * @property int $milliseconds - * @property int $millisecond - * @property int $milli - * @property int $week 1 through 53 - * @property int $isoWeek 1 through 53 - * @property int $weekYear year according to week format - * @property int $isoWeekYear year according to ISO week format - * @property int $dayOfYear 1 through 366 - * @property int $age does a diffInYears() with default parameters - * @property int $offset the timezone offset in seconds from UTC - * @property int $offsetMinutes the timezone offset in minutes from UTC - * @property int $offsetHours the timezone offset in hours from UTC - * @property CarbonTimeZone $timezone the current timezone - * @property CarbonTimeZone $tz alias of $timezone - * @property-read int $dayOfWeek 0 (for Sunday) through 6 (for Saturday) - * @property-read int $dayOfWeekIso 1 (for Monday) through 7 (for Sunday) - * @property-read int $weekOfYear ISO-8601 week number of year, weeks starting on Monday - * @property-read int $daysInMonth number of days in the given month - * @property-read string $latinMeridiem "am"/"pm" (Ante meridiem or Post meridiem latin lowercase mark) - * @property-read string $latinUpperMeridiem "AM"/"PM" (Ante meridiem or Post meridiem latin uppercase mark) - * @property-read string $dayName long name of weekday translated according to Carbon locale, in english if no translation available for current language - * @property-read string $shortDayName short name of weekday translated according to Carbon locale, in english if no translation available for current language - * @property-read string $minDayName very short name of weekday translated according to Carbon locale, in english if no translation available for current language - * @property-read string $monthName long name of month translated according to Carbon locale, in english if no translation available for current language - * @property-read string $shortMonthName short name of month translated according to Carbon locale, in english if no translation available for current language - * @property-read string $meridiem lowercase meridiem mark translated according to Carbon locale, in latin if no translation available for current language - * @property-read string $upperMeridiem uppercase meridiem mark translated according to Carbon locale, in latin if no translation available for current language - * @property-read int $noZeroHour current hour from 1 to 24 - * @property-read int $weeksInYear 51 through 53 - * @property-read int $isoWeeksInYear 51 through 53 - * @property-read int $weekOfMonth 1 through 5 - * @property-read int $weekNumberInMonth 1 through 5 - * @property-read int $firstWeekDay 0 through 6 - * @property-read int $lastWeekDay 0 through 6 - * @property-read int $daysInYear 365 or 366 - * @property-read int $quarter the quarter of this instance, 1 - 4 - * @property-read int $decade the decade of this instance - * @property-read int $century the century of this instance - * @property-read int $millennium the millennium of this instance - * @property-read bool $dst daylight savings time indicator, true if DST, false otherwise - * @property-read bool $local checks if the timezone is local, true if local, false otherwise - * @property-read bool $utc checks if the timezone is UTC, true if UTC, false otherwise - * @property-read string $timezoneName the current timezone name - * @property-read string $tzName alias of $timezoneName - * @property-read string $timezoneAbbreviatedName the current timezone abbreviated name - * @property-read string $tzAbbrName alias of $timezoneAbbreviatedName - * @property-read string $locale locale of the current instance - * - * @method bool isUtc() Check if the current instance has UTC timezone. (Both isUtc and isUTC cases are valid.) - * @method bool isLocal() Check if the current instance has non-UTC timezone. - * @method bool isValid() Check if the current instance is a valid date. - * @method bool isDST() Check if the current instance is in a daylight saving time. - * @method bool isSunday() Checks if the instance day is sunday. - * @method bool isMonday() Checks if the instance day is monday. - * @method bool isTuesday() Checks if the instance day is tuesday. - * @method bool isWednesday() Checks if the instance day is wednesday. - * @method bool isThursday() Checks if the instance day is thursday. - * @method bool isFriday() Checks if the instance day is friday. - * @method bool isSaturday() Checks if the instance day is saturday. - * @method bool isSameYear(\Carbon\Carbon|\DateTimeInterface|string|null $date = null) Checks if the given date is in the same year as the instance. If null passed, compare to now (with the same timezone). - * @method bool isCurrentYear() Checks if the instance is in the same year as the current moment. - * @method bool isNextYear() Checks if the instance is in the same year as the current moment next year. - * @method bool isLastYear() Checks if the instance is in the same year as the current moment last year. - * @method bool isSameWeek(\Carbon\Carbon|\DateTimeInterface|string|null $date = null) Checks if the given date is in the same week as the instance. If null passed, compare to now (with the same timezone). - * @method bool isCurrentWeek() Checks if the instance is in the same week as the current moment. - * @method bool isNextWeek() Checks if the instance is in the same week as the current moment next week. - * @method bool isLastWeek() Checks if the instance is in the same week as the current moment last week. - * @method bool isSameDay(\Carbon\Carbon|\DateTimeInterface|string|null $date = null) Checks if the given date is in the same day as the instance. If null passed, compare to now (with the same timezone). - * @method bool isCurrentDay() Checks if the instance is in the same day as the current moment. - * @method bool isNextDay() Checks if the instance is in the same day as the current moment next day. - * @method bool isLastDay() Checks if the instance is in the same day as the current moment last day. - * @method bool isSameHour(\Carbon\Carbon|\DateTimeInterface|string|null $date = null) Checks if the given date is in the same hour as the instance. If null passed, compare to now (with the same timezone). - * @method bool isCurrentHour() Checks if the instance is in the same hour as the current moment. - * @method bool isNextHour() Checks if the instance is in the same hour as the current moment next hour. - * @method bool isLastHour() Checks if the instance is in the same hour as the current moment last hour. - * @method bool isSameMinute(\Carbon\Carbon|\DateTimeInterface|string|null $date = null) Checks if the given date is in the same minute as the instance. If null passed, compare to now (with the same timezone). - * @method bool isCurrentMinute() Checks if the instance is in the same minute as the current moment. - * @method bool isNextMinute() Checks if the instance is in the same minute as the current moment next minute. - * @method bool isLastMinute() Checks if the instance is in the same minute as the current moment last minute. - * @method bool isSameSecond(\Carbon\Carbon|\DateTimeInterface|string|null $date = null) Checks if the given date is in the same second as the instance. If null passed, compare to now (with the same timezone). - * @method bool isCurrentSecond() Checks if the instance is in the same second as the current moment. - * @method bool isNextSecond() Checks if the instance is in the same second as the current moment next second. - * @method bool isLastSecond() Checks if the instance is in the same second as the current moment last second. - * @method bool isSameMicro(\Carbon\Carbon|\DateTimeInterface|string|null $date = null) Checks if the given date is in the same microsecond as the instance. If null passed, compare to now (with the same timezone). - * @method bool isCurrentMicro() Checks if the instance is in the same microsecond as the current moment. - * @method bool isNextMicro() Checks if the instance is in the same microsecond as the current moment next microsecond. - * @method bool isLastMicro() Checks if the instance is in the same microsecond as the current moment last microsecond. - * @method bool isSameMicrosecond(\Carbon\Carbon|\DateTimeInterface|string|null $date = null) Checks if the given date is in the same microsecond as the instance. If null passed, compare to now (with the same timezone). - * @method bool isCurrentMicrosecond() Checks if the instance is in the same microsecond as the current moment. - * @method bool isNextMicrosecond() Checks if the instance is in the same microsecond as the current moment next microsecond. - * @method bool isLastMicrosecond() Checks if the instance is in the same microsecond as the current moment last microsecond. - * @method bool isCurrentMonth() Checks if the instance is in the same month as the current moment. - * @method bool isNextMonth() Checks if the instance is in the same month as the current moment next month. - * @method bool isLastMonth() Checks if the instance is in the same month as the current moment last month. - * @method bool isCurrentQuarter() Checks if the instance is in the same quarter as the current moment. - * @method bool isNextQuarter() Checks if the instance is in the same quarter as the current moment next quarter. - * @method bool isLastQuarter() Checks if the instance is in the same quarter as the current moment last quarter. - * @method bool isSameDecade(\Carbon\Carbon|\DateTimeInterface|string|null $date = null) Checks if the given date is in the same decade as the instance. If null passed, compare to now (with the same timezone). - * @method bool isCurrentDecade() Checks if the instance is in the same decade as the current moment. - * @method bool isNextDecade() Checks if the instance is in the same decade as the current moment next decade. - * @method bool isLastDecade() Checks if the instance is in the same decade as the current moment last decade. - * @method bool isSameCentury(\Carbon\Carbon|\DateTimeInterface|string|null $date = null) Checks if the given date is in the same century as the instance. If null passed, compare to now (with the same timezone). - * @method bool isCurrentCentury() Checks if the instance is in the same century as the current moment. - * @method bool isNextCentury() Checks if the instance is in the same century as the current moment next century. - * @method bool isLastCentury() Checks if the instance is in the same century as the current moment last century. - * @method bool isSameMillennium(\Carbon\Carbon|\DateTimeInterface|string|null $date = null) Checks if the given date is in the same millennium as the instance. If null passed, compare to now (with the same timezone). - * @method bool isCurrentMillennium() Checks if the instance is in the same millennium as the current moment. - * @method bool isNextMillennium() Checks if the instance is in the same millennium as the current moment next millennium. - * @method bool isLastMillennium() Checks if the instance is in the same millennium as the current moment last millennium. - * @method CarbonInterface years(int $value) Set current instance year to the given value. - * @method CarbonInterface year(int $value) Set current instance year to the given value. - * @method CarbonInterface setYears(int $value) Set current instance year to the given value. - * @method CarbonInterface setYear(int $value) Set current instance year to the given value. - * @method CarbonInterface months(int $value) Set current instance month to the given value. - * @method CarbonInterface month(int $value) Set current instance month to the given value. - * @method CarbonInterface setMonths(int $value) Set current instance month to the given value. - * @method CarbonInterface setMonth(int $value) Set current instance month to the given value. - * @method CarbonInterface days(int $value) Set current instance day to the given value. - * @method CarbonInterface day(int $value) Set current instance day to the given value. - * @method CarbonInterface setDays(int $value) Set current instance day to the given value. - * @method CarbonInterface setDay(int $value) Set current instance day to the given value. - * @method CarbonInterface hours(int $value) Set current instance hour to the given value. - * @method CarbonInterface hour(int $value) Set current instance hour to the given value. - * @method CarbonInterface setHours(int $value) Set current instance hour to the given value. - * @method CarbonInterface setHour(int $value) Set current instance hour to the given value. - * @method CarbonInterface minutes(int $value) Set current instance minute to the given value. - * @method CarbonInterface minute(int $value) Set current instance minute to the given value. - * @method CarbonInterface setMinutes(int $value) Set current instance minute to the given value. - * @method CarbonInterface setMinute(int $value) Set current instance minute to the given value. - * @method CarbonInterface seconds(int $value) Set current instance second to the given value. - * @method CarbonInterface second(int $value) Set current instance second to the given value. - * @method CarbonInterface setSeconds(int $value) Set current instance second to the given value. - * @method CarbonInterface setSecond(int $value) Set current instance second to the given value. - * @method CarbonInterface millis(int $value) Set current instance millisecond to the given value. - * @method CarbonInterface milli(int $value) Set current instance millisecond to the given value. - * @method CarbonInterface setMillis(int $value) Set current instance millisecond to the given value. - * @method CarbonInterface setMilli(int $value) Set current instance millisecond to the given value. - * @method CarbonInterface milliseconds(int $value) Set current instance millisecond to the given value. - * @method CarbonInterface millisecond(int $value) Set current instance millisecond to the given value. - * @method CarbonInterface setMilliseconds(int $value) Set current instance millisecond to the given value. - * @method CarbonInterface setMillisecond(int $value) Set current instance millisecond to the given value. - * @method CarbonInterface micros(int $value) Set current instance microsecond to the given value. - * @method CarbonInterface micro(int $value) Set current instance microsecond to the given value. - * @method CarbonInterface setMicros(int $value) Set current instance microsecond to the given value. - * @method CarbonInterface setMicro(int $value) Set current instance microsecond to the given value. - * @method CarbonInterface microseconds(int $value) Set current instance microsecond to the given value. - * @method CarbonInterface microsecond(int $value) Set current instance microsecond to the given value. - * @method CarbonInterface setMicroseconds(int $value) Set current instance microsecond to the given value. - * @method CarbonInterface setMicrosecond(int $value) Set current instance microsecond to the given value. - * @method CarbonInterface addYears(int $value = 1) Add years (the $value count passed in) to the instance (using date interval). - * @method CarbonInterface addYear() Add one year to the instance (using date interval). - * @method CarbonInterface subYears(int $value = 1) Sub years (the $value count passed in) to the instance (using date interval). - * @method CarbonInterface subYear() Sub one year to the instance (using date interval). - * @method CarbonInterface addYearsWithOverflow(int $value = 1) Add years (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed. - * @method CarbonInterface addYearWithOverflow() Add one year to the instance (using date interval) with overflow explicitly allowed. - * @method CarbonInterface subYearsWithOverflow(int $value = 1) Sub years (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed. - * @method CarbonInterface subYearWithOverflow() Sub one year to the instance (using date interval) with overflow explicitly allowed. - * @method CarbonInterface addYearsWithoutOverflow(int $value = 1) Add years (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface addYearWithoutOverflow() Add one year to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface subYearsWithoutOverflow(int $value = 1) Sub years (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface subYearWithoutOverflow() Sub one year to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface addYearsWithNoOverflow(int $value = 1) Add years (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface addYearWithNoOverflow() Add one year to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface subYearsWithNoOverflow(int $value = 1) Sub years (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface subYearWithNoOverflow() Sub one year to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface addYearsNoOverflow(int $value = 1) Add years (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface addYearNoOverflow() Add one year to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface subYearsNoOverflow(int $value = 1) Sub years (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface subYearNoOverflow() Sub one year to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface addMonths(int $value = 1) Add months (the $value count passed in) to the instance (using date interval). - * @method CarbonInterface addMonth() Add one month to the instance (using date interval). - * @method CarbonInterface subMonths(int $value = 1) Sub months (the $value count passed in) to the instance (using date interval). - * @method CarbonInterface subMonth() Sub one month to the instance (using date interval). - * @method CarbonInterface addMonthsWithOverflow(int $value = 1) Add months (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed. - * @method CarbonInterface addMonthWithOverflow() Add one month to the instance (using date interval) with overflow explicitly allowed. - * @method CarbonInterface subMonthsWithOverflow(int $value = 1) Sub months (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed. - * @method CarbonInterface subMonthWithOverflow() Sub one month to the instance (using date interval) with overflow explicitly allowed. - * @method CarbonInterface addMonthsWithoutOverflow(int $value = 1) Add months (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface addMonthWithoutOverflow() Add one month to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface subMonthsWithoutOverflow(int $value = 1) Sub months (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface subMonthWithoutOverflow() Sub one month to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface addMonthsWithNoOverflow(int $value = 1) Add months (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface addMonthWithNoOverflow() Add one month to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface subMonthsWithNoOverflow(int $value = 1) Sub months (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface subMonthWithNoOverflow() Sub one month to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface addMonthsNoOverflow(int $value = 1) Add months (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface addMonthNoOverflow() Add one month to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface subMonthsNoOverflow(int $value = 1) Sub months (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface subMonthNoOverflow() Sub one month to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface addDays(int $value = 1) Add days (the $value count passed in) to the instance (using date interval). - * @method CarbonInterface addDay() Add one day to the instance (using date interval). - * @method CarbonInterface subDays(int $value = 1) Sub days (the $value count passed in) to the instance (using date interval). - * @method CarbonInterface subDay() Sub one day to the instance (using date interval). - * @method CarbonInterface addHours(int $value = 1) Add hours (the $value count passed in) to the instance (using date interval). - * @method CarbonInterface addHour() Add one hour to the instance (using date interval). - * @method CarbonInterface subHours(int $value = 1) Sub hours (the $value count passed in) to the instance (using date interval). - * @method CarbonInterface subHour() Sub one hour to the instance (using date interval). - * @method CarbonInterface addMinutes(int $value = 1) Add minutes (the $value count passed in) to the instance (using date interval). - * @method CarbonInterface addMinute() Add one minute to the instance (using date interval). - * @method CarbonInterface subMinutes(int $value = 1) Sub minutes (the $value count passed in) to the instance (using date interval). - * @method CarbonInterface subMinute() Sub one minute to the instance (using date interval). - * @method CarbonInterface addSeconds(int $value = 1) Add seconds (the $value count passed in) to the instance (using date interval). - * @method CarbonInterface addSecond() Add one second to the instance (using date interval). - * @method CarbonInterface subSeconds(int $value = 1) Sub seconds (the $value count passed in) to the instance (using date interval). - * @method CarbonInterface subSecond() Sub one second to the instance (using date interval). - * @method CarbonInterface addMillis(int $value = 1) Add milliseconds (the $value count passed in) to the instance (using date interval). - * @method CarbonInterface addMilli() Add one millisecond to the instance (using date interval). - * @method CarbonInterface subMillis(int $value = 1) Sub milliseconds (the $value count passed in) to the instance (using date interval). - * @method CarbonInterface subMilli() Sub one millisecond to the instance (using date interval). - * @method CarbonInterface addMilliseconds(int $value = 1) Add milliseconds (the $value count passed in) to the instance (using date interval). - * @method CarbonInterface addMillisecond() Add one millisecond to the instance (using date interval). - * @method CarbonInterface subMilliseconds(int $value = 1) Sub milliseconds (the $value count passed in) to the instance (using date interval). - * @method CarbonInterface subMillisecond() Sub one millisecond to the instance (using date interval). - * @method CarbonInterface addMicros(int $value = 1) Add microseconds (the $value count passed in) to the instance (using date interval). - * @method CarbonInterface addMicro() Add one microsecond to the instance (using date interval). - * @method CarbonInterface subMicros(int $value = 1) Sub microseconds (the $value count passed in) to the instance (using date interval). - * @method CarbonInterface subMicro() Sub one microsecond to the instance (using date interval). - * @method CarbonInterface addMicroseconds(int $value = 1) Add microseconds (the $value count passed in) to the instance (using date interval). - * @method CarbonInterface addMicrosecond() Add one microsecond to the instance (using date interval). - * @method CarbonInterface subMicroseconds(int $value = 1) Sub microseconds (the $value count passed in) to the instance (using date interval). - * @method CarbonInterface subMicrosecond() Sub one microsecond to the instance (using date interval). - * @method CarbonInterface addMillennia(int $value = 1) Add millennia (the $value count passed in) to the instance (using date interval). - * @method CarbonInterface addMillennium() Add one millennium to the instance (using date interval). - * @method CarbonInterface subMillennia(int $value = 1) Sub millennia (the $value count passed in) to the instance (using date interval). - * @method CarbonInterface subMillennium() Sub one millennium to the instance (using date interval). - * @method CarbonInterface addMillenniaWithOverflow(int $value = 1) Add millennia (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed. - * @method CarbonInterface addMillenniumWithOverflow() Add one millennium to the instance (using date interval) with overflow explicitly allowed. - * @method CarbonInterface subMillenniaWithOverflow(int $value = 1) Sub millennia (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed. - * @method CarbonInterface subMillenniumWithOverflow() Sub one millennium to the instance (using date interval) with overflow explicitly allowed. - * @method CarbonInterface addMillenniaWithoutOverflow(int $value = 1) Add millennia (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface addMillenniumWithoutOverflow() Add one millennium to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface subMillenniaWithoutOverflow(int $value = 1) Sub millennia (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface subMillenniumWithoutOverflow() Sub one millennium to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface addMillenniaWithNoOverflow(int $value = 1) Add millennia (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface addMillenniumWithNoOverflow() Add one millennium to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface subMillenniaWithNoOverflow(int $value = 1) Sub millennia (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface subMillenniumWithNoOverflow() Sub one millennium to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface addMillenniaNoOverflow(int $value = 1) Add millennia (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface addMillenniumNoOverflow() Add one millennium to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface subMillenniaNoOverflow(int $value = 1) Sub millennia (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface subMillenniumNoOverflow() Sub one millennium to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface addCenturies(int $value = 1) Add centuries (the $value count passed in) to the instance (using date interval). - * @method CarbonInterface addCentury() Add one century to the instance (using date interval). - * @method CarbonInterface subCenturies(int $value = 1) Sub centuries (the $value count passed in) to the instance (using date interval). - * @method CarbonInterface subCentury() Sub one century to the instance (using date interval). - * @method CarbonInterface addCenturiesWithOverflow(int $value = 1) Add centuries (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed. - * @method CarbonInterface addCenturyWithOverflow() Add one century to the instance (using date interval) with overflow explicitly allowed. - * @method CarbonInterface subCenturiesWithOverflow(int $value = 1) Sub centuries (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed. - * @method CarbonInterface subCenturyWithOverflow() Sub one century to the instance (using date interval) with overflow explicitly allowed. - * @method CarbonInterface addCenturiesWithoutOverflow(int $value = 1) Add centuries (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface addCenturyWithoutOverflow() Add one century to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface subCenturiesWithoutOverflow(int $value = 1) Sub centuries (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface subCenturyWithoutOverflow() Sub one century to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface addCenturiesWithNoOverflow(int $value = 1) Add centuries (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface addCenturyWithNoOverflow() Add one century to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface subCenturiesWithNoOverflow(int $value = 1) Sub centuries (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface subCenturyWithNoOverflow() Sub one century to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface addCenturiesNoOverflow(int $value = 1) Add centuries (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface addCenturyNoOverflow() Add one century to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface subCenturiesNoOverflow(int $value = 1) Sub centuries (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface subCenturyNoOverflow() Sub one century to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface addDecades(int $value = 1) Add decades (the $value count passed in) to the instance (using date interval). - * @method CarbonInterface addDecade() Add one decade to the instance (using date interval). - * @method CarbonInterface subDecades(int $value = 1) Sub decades (the $value count passed in) to the instance (using date interval). - * @method CarbonInterface subDecade() Sub one decade to the instance (using date interval). - * @method CarbonInterface addDecadesWithOverflow(int $value = 1) Add decades (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed. - * @method CarbonInterface addDecadeWithOverflow() Add one decade to the instance (using date interval) with overflow explicitly allowed. - * @method CarbonInterface subDecadesWithOverflow(int $value = 1) Sub decades (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed. - * @method CarbonInterface subDecadeWithOverflow() Sub one decade to the instance (using date interval) with overflow explicitly allowed. - * @method CarbonInterface addDecadesWithoutOverflow(int $value = 1) Add decades (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface addDecadeWithoutOverflow() Add one decade to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface subDecadesWithoutOverflow(int $value = 1) Sub decades (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface subDecadeWithoutOverflow() Sub one decade to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface addDecadesWithNoOverflow(int $value = 1) Add decades (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface addDecadeWithNoOverflow() Add one decade to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface subDecadesWithNoOverflow(int $value = 1) Sub decades (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface subDecadeWithNoOverflow() Sub one decade to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface addDecadesNoOverflow(int $value = 1) Add decades (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface addDecadeNoOverflow() Add one decade to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface subDecadesNoOverflow(int $value = 1) Sub decades (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface subDecadeNoOverflow() Sub one decade to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface addQuarters(int $value = 1) Add quarters (the $value count passed in) to the instance (using date interval). - * @method CarbonInterface addQuarter() Add one quarter to the instance (using date interval). - * @method CarbonInterface subQuarters(int $value = 1) Sub quarters (the $value count passed in) to the instance (using date interval). - * @method CarbonInterface subQuarter() Sub one quarter to the instance (using date interval). - * @method CarbonInterface addQuartersWithOverflow(int $value = 1) Add quarters (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed. - * @method CarbonInterface addQuarterWithOverflow() Add one quarter to the instance (using date interval) with overflow explicitly allowed. - * @method CarbonInterface subQuartersWithOverflow(int $value = 1) Sub quarters (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed. - * @method CarbonInterface subQuarterWithOverflow() Sub one quarter to the instance (using date interval) with overflow explicitly allowed. - * @method CarbonInterface addQuartersWithoutOverflow(int $value = 1) Add quarters (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface addQuarterWithoutOverflow() Add one quarter to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface subQuartersWithoutOverflow(int $value = 1) Sub quarters (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface subQuarterWithoutOverflow() Sub one quarter to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface addQuartersWithNoOverflow(int $value = 1) Add quarters (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface addQuarterWithNoOverflow() Add one quarter to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface subQuartersWithNoOverflow(int $value = 1) Sub quarters (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface subQuarterWithNoOverflow() Sub one quarter to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface addQuartersNoOverflow(int $value = 1) Add quarters (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface addQuarterNoOverflow() Add one quarter to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface subQuartersNoOverflow(int $value = 1) Sub quarters (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface subQuarterNoOverflow() Sub one quarter to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface addWeeks(int $value = 1) Add weeks (the $value count passed in) to the instance (using date interval). - * @method CarbonInterface addWeek() Add one week to the instance (using date interval). - * @method CarbonInterface subWeeks(int $value = 1) Sub weeks (the $value count passed in) to the instance (using date interval). - * @method CarbonInterface subWeek() Sub one week to the instance (using date interval). - * @method CarbonInterface addWeekdays(int $value = 1) Add weekdays (the $value count passed in) to the instance (using date interval). - * @method CarbonInterface addWeekday() Add one weekday to the instance (using date interval). - * @method CarbonInterface subWeekdays(int $value = 1) Sub weekdays (the $value count passed in) to the instance (using date interval). - * @method CarbonInterface subWeekday() Sub one weekday to the instance (using date interval). - * @method CarbonInterface addRealMicros(int $value = 1) Add microseconds (the $value count passed in) to the instance (using timestamp). - * @method CarbonInterface addRealMicro() Add one microsecond to the instance (using timestamp). - * @method CarbonInterface subRealMicros(int $value = 1) Sub microseconds (the $value count passed in) to the instance (using timestamp). - * @method CarbonInterface subRealMicro() Sub one microsecond to the instance (using timestamp). - * @method CarbonPeriod microsUntil($endDate = null, int $factor = 1) Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each microsecond or every X microseconds if a factor is given. - * @method CarbonInterface addRealMicroseconds(int $value = 1) Add microseconds (the $value count passed in) to the instance (using timestamp). - * @method CarbonInterface addRealMicrosecond() Add one microsecond to the instance (using timestamp). - * @method CarbonInterface subRealMicroseconds(int $value = 1) Sub microseconds (the $value count passed in) to the instance (using timestamp). - * @method CarbonInterface subRealMicrosecond() Sub one microsecond to the instance (using timestamp). - * @method CarbonPeriod microsecondsUntil($endDate = null, int $factor = 1) Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each microsecond or every X microseconds if a factor is given. - * @method CarbonInterface addRealMillis(int $value = 1) Add milliseconds (the $value count passed in) to the instance (using timestamp). - * @method CarbonInterface addRealMilli() Add one millisecond to the instance (using timestamp). - * @method CarbonInterface subRealMillis(int $value = 1) Sub milliseconds (the $value count passed in) to the instance (using timestamp). - * @method CarbonInterface subRealMilli() Sub one millisecond to the instance (using timestamp). - * @method CarbonPeriod millisUntil($endDate = null, int $factor = 1) Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each millisecond or every X milliseconds if a factor is given. - * @method CarbonInterface addRealMilliseconds(int $value = 1) Add milliseconds (the $value count passed in) to the instance (using timestamp). - * @method CarbonInterface addRealMillisecond() Add one millisecond to the instance (using timestamp). - * @method CarbonInterface subRealMilliseconds(int $value = 1) Sub milliseconds (the $value count passed in) to the instance (using timestamp). - * @method CarbonInterface subRealMillisecond() Sub one millisecond to the instance (using timestamp). - * @method CarbonPeriod millisecondsUntil($endDate = null, int $factor = 1) Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each millisecond or every X milliseconds if a factor is given. - * @method CarbonInterface addRealSeconds(int $value = 1) Add seconds (the $value count passed in) to the instance (using timestamp). - * @method CarbonInterface addRealSecond() Add one second to the instance (using timestamp). - * @method CarbonInterface subRealSeconds(int $value = 1) Sub seconds (the $value count passed in) to the instance (using timestamp). - * @method CarbonInterface subRealSecond() Sub one second to the instance (using timestamp). - * @method CarbonPeriod secondsUntil($endDate = null, int $factor = 1) Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each second or every X seconds if a factor is given. - * @method CarbonInterface addRealMinutes(int $value = 1) Add minutes (the $value count passed in) to the instance (using timestamp). - * @method CarbonInterface addRealMinute() Add one minute to the instance (using timestamp). - * @method CarbonInterface subRealMinutes(int $value = 1) Sub minutes (the $value count passed in) to the instance (using timestamp). - * @method CarbonInterface subRealMinute() Sub one minute to the instance (using timestamp). - * @method CarbonPeriod minutesUntil($endDate = null, int $factor = 1) Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each minute or every X minutes if a factor is given. - * @method CarbonInterface addRealHours(int $value = 1) Add hours (the $value count passed in) to the instance (using timestamp). - * @method CarbonInterface addRealHour() Add one hour to the instance (using timestamp). - * @method CarbonInterface subRealHours(int $value = 1) Sub hours (the $value count passed in) to the instance (using timestamp). - * @method CarbonInterface subRealHour() Sub one hour to the instance (using timestamp). - * @method CarbonPeriod hoursUntil($endDate = null, int $factor = 1) Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each hour or every X hours if a factor is given. - * @method CarbonInterface addRealDays(int $value = 1) Add days (the $value count passed in) to the instance (using timestamp). - * @method CarbonInterface addRealDay() Add one day to the instance (using timestamp). - * @method CarbonInterface subRealDays(int $value = 1) Sub days (the $value count passed in) to the instance (using timestamp). - * @method CarbonInterface subRealDay() Sub one day to the instance (using timestamp). - * @method CarbonPeriod daysUntil($endDate = null, int $factor = 1) Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each day or every X days if a factor is given. - * @method CarbonInterface addRealWeeks(int $value = 1) Add weeks (the $value count passed in) to the instance (using timestamp). - * @method CarbonInterface addRealWeek() Add one week to the instance (using timestamp). - * @method CarbonInterface subRealWeeks(int $value = 1) Sub weeks (the $value count passed in) to the instance (using timestamp). - * @method CarbonInterface subRealWeek() Sub one week to the instance (using timestamp). - * @method CarbonPeriod weeksUntil($endDate = null, int $factor = 1) Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each week or every X weeks if a factor is given. - * @method CarbonInterface addRealMonths(int $value = 1) Add months (the $value count passed in) to the instance (using timestamp). - * @method CarbonInterface addRealMonth() Add one month to the instance (using timestamp). - * @method CarbonInterface subRealMonths(int $value = 1) Sub months (the $value count passed in) to the instance (using timestamp). - * @method CarbonInterface subRealMonth() Sub one month to the instance (using timestamp). - * @method CarbonPeriod monthsUntil($endDate = null, int $factor = 1) Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each month or every X months if a factor is given. - * @method CarbonInterface addRealQuarters(int $value = 1) Add quarters (the $value count passed in) to the instance (using timestamp). - * @method CarbonInterface addRealQuarter() Add one quarter to the instance (using timestamp). - * @method CarbonInterface subRealQuarters(int $value = 1) Sub quarters (the $value count passed in) to the instance (using timestamp). - * @method CarbonInterface subRealQuarter() Sub one quarter to the instance (using timestamp). - * @method CarbonPeriod quartersUntil($endDate = null, int $factor = 1) Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each quarter or every X quarters if a factor is given. - * @method CarbonInterface addRealYears(int $value = 1) Add years (the $value count passed in) to the instance (using timestamp). - * @method CarbonInterface addRealYear() Add one year to the instance (using timestamp). - * @method CarbonInterface subRealYears(int $value = 1) Sub years (the $value count passed in) to the instance (using timestamp). - * @method CarbonInterface subRealYear() Sub one year to the instance (using timestamp). - * @method CarbonPeriod yearsUntil($endDate = null, int $factor = 1) Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each year or every X years if a factor is given. - * @method CarbonInterface addRealDecades(int $value = 1) Add decades (the $value count passed in) to the instance (using timestamp). - * @method CarbonInterface addRealDecade() Add one decade to the instance (using timestamp). - * @method CarbonInterface subRealDecades(int $value = 1) Sub decades (the $value count passed in) to the instance (using timestamp). - * @method CarbonInterface subRealDecade() Sub one decade to the instance (using timestamp). - * @method CarbonPeriod decadesUntil($endDate = null, int $factor = 1) Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each decade or every X decades if a factor is given. - * @method CarbonInterface addRealCenturies(int $value = 1) Add centuries (the $value count passed in) to the instance (using timestamp). - * @method CarbonInterface addRealCentury() Add one century to the instance (using timestamp). - * @method CarbonInterface subRealCenturies(int $value = 1) Sub centuries (the $value count passed in) to the instance (using timestamp). - * @method CarbonInterface subRealCentury() Sub one century to the instance (using timestamp). - * @method CarbonPeriod centuriesUntil($endDate = null, int $factor = 1) Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each century or every X centuries if a factor is given. - * @method CarbonInterface addRealMillennia(int $value = 1) Add millennia (the $value count passed in) to the instance (using timestamp). - * @method CarbonInterface addRealMillennium() Add one millennium to the instance (using timestamp). - * @method CarbonInterface subRealMillennia(int $value = 1) Sub millennia (the $value count passed in) to the instance (using timestamp). - * @method CarbonInterface subRealMillennium() Sub one millennium to the instance (using timestamp). - * @method CarbonPeriod millenniaUntil($endDate = null, int $factor = 1) Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each millennium or every X millennia if a factor is given. - * @method CarbonInterface roundYear(float $precision = 1, string $function = "round") Round the current instance year with given precision using the given function. - * @method CarbonInterface roundYears(float $precision = 1, string $function = "round") Round the current instance year with given precision using the given function. - * @method CarbonInterface floorYear(float $precision = 1) Truncate the current instance year with given precision. - * @method CarbonInterface floorYears(float $precision = 1) Truncate the current instance year with given precision. - * @method CarbonInterface ceilYear(float $precision = 1) Ceil the current instance year with given precision. - * @method CarbonInterface ceilYears(float $precision = 1) Ceil the current instance year with given precision. - * @method CarbonInterface roundMonth(float $precision = 1, string $function = "round") Round the current instance month with given precision using the given function. - * @method CarbonInterface roundMonths(float $precision = 1, string $function = "round") Round the current instance month with given precision using the given function. - * @method CarbonInterface floorMonth(float $precision = 1) Truncate the current instance month with given precision. - * @method CarbonInterface floorMonths(float $precision = 1) Truncate the current instance month with given precision. - * @method CarbonInterface ceilMonth(float $precision = 1) Ceil the current instance month with given precision. - * @method CarbonInterface ceilMonths(float $precision = 1) Ceil the current instance month with given precision. - * @method CarbonInterface roundDay(float $precision = 1, string $function = "round") Round the current instance day with given precision using the given function. - * @method CarbonInterface roundDays(float $precision = 1, string $function = "round") Round the current instance day with given precision using the given function. - * @method CarbonInterface floorDay(float $precision = 1) Truncate the current instance day with given precision. - * @method CarbonInterface floorDays(float $precision = 1) Truncate the current instance day with given precision. - * @method CarbonInterface ceilDay(float $precision = 1) Ceil the current instance day with given precision. - * @method CarbonInterface ceilDays(float $precision = 1) Ceil the current instance day with given precision. - * @method CarbonInterface roundHour(float $precision = 1, string $function = "round") Round the current instance hour with given precision using the given function. - * @method CarbonInterface roundHours(float $precision = 1, string $function = "round") Round the current instance hour with given precision using the given function. - * @method CarbonInterface floorHour(float $precision = 1) Truncate the current instance hour with given precision. - * @method CarbonInterface floorHours(float $precision = 1) Truncate the current instance hour with given precision. - * @method CarbonInterface ceilHour(float $precision = 1) Ceil the current instance hour with given precision. - * @method CarbonInterface ceilHours(float $precision = 1) Ceil the current instance hour with given precision. - * @method CarbonInterface roundMinute(float $precision = 1, string $function = "round") Round the current instance minute with given precision using the given function. - * @method CarbonInterface roundMinutes(float $precision = 1, string $function = "round") Round the current instance minute with given precision using the given function. - * @method CarbonInterface floorMinute(float $precision = 1) Truncate the current instance minute with given precision. - * @method CarbonInterface floorMinutes(float $precision = 1) Truncate the current instance minute with given precision. - * @method CarbonInterface ceilMinute(float $precision = 1) Ceil the current instance minute with given precision. - * @method CarbonInterface ceilMinutes(float $precision = 1) Ceil the current instance minute with given precision. - * @method CarbonInterface roundSecond(float $precision = 1, string $function = "round") Round the current instance second with given precision using the given function. - * @method CarbonInterface roundSeconds(float $precision = 1, string $function = "round") Round the current instance second with given precision using the given function. - * @method CarbonInterface floorSecond(float $precision = 1) Truncate the current instance second with given precision. - * @method CarbonInterface floorSeconds(float $precision = 1) Truncate the current instance second with given precision. - * @method CarbonInterface ceilSecond(float $precision = 1) Ceil the current instance second with given precision. - * @method CarbonInterface ceilSeconds(float $precision = 1) Ceil the current instance second with given precision. - * @method CarbonInterface roundMillennium(float $precision = 1, string $function = "round") Round the current instance millennium with given precision using the given function. - * @method CarbonInterface roundMillennia(float $precision = 1, string $function = "round") Round the current instance millennium with given precision using the given function. - * @method CarbonInterface floorMillennium(float $precision = 1) Truncate the current instance millennium with given precision. - * @method CarbonInterface floorMillennia(float $precision = 1) Truncate the current instance millennium with given precision. - * @method CarbonInterface ceilMillennium(float $precision = 1) Ceil the current instance millennium with given precision. - * @method CarbonInterface ceilMillennia(float $precision = 1) Ceil the current instance millennium with given precision. - * @method CarbonInterface roundCentury(float $precision = 1, string $function = "round") Round the current instance century with given precision using the given function. - * @method CarbonInterface roundCenturies(float $precision = 1, string $function = "round") Round the current instance century with given precision using the given function. - * @method CarbonInterface floorCentury(float $precision = 1) Truncate the current instance century with given precision. - * @method CarbonInterface floorCenturies(float $precision = 1) Truncate the current instance century with given precision. - * @method CarbonInterface ceilCentury(float $precision = 1) Ceil the current instance century with given precision. - * @method CarbonInterface ceilCenturies(float $precision = 1) Ceil the current instance century with given precision. - * @method CarbonInterface roundDecade(float $precision = 1, string $function = "round") Round the current instance decade with given precision using the given function. - * @method CarbonInterface roundDecades(float $precision = 1, string $function = "round") Round the current instance decade with given precision using the given function. - * @method CarbonInterface floorDecade(float $precision = 1) Truncate the current instance decade with given precision. - * @method CarbonInterface floorDecades(float $precision = 1) Truncate the current instance decade with given precision. - * @method CarbonInterface ceilDecade(float $precision = 1) Ceil the current instance decade with given precision. - * @method CarbonInterface ceilDecades(float $precision = 1) Ceil the current instance decade with given precision. - * @method CarbonInterface roundQuarter(float $precision = 1, string $function = "round") Round the current instance quarter with given precision using the given function. - * @method CarbonInterface roundQuarters(float $precision = 1, string $function = "round") Round the current instance quarter with given precision using the given function. - * @method CarbonInterface floorQuarter(float $precision = 1) Truncate the current instance quarter with given precision. - * @method CarbonInterface floorQuarters(float $precision = 1) Truncate the current instance quarter with given precision. - * @method CarbonInterface ceilQuarter(float $precision = 1) Ceil the current instance quarter with given precision. - * @method CarbonInterface ceilQuarters(float $precision = 1) Ceil the current instance quarter with given precision. - * @method CarbonInterface roundMillisecond(float $precision = 1, string $function = "round") Round the current instance millisecond with given precision using the given function. - * @method CarbonInterface roundMilliseconds(float $precision = 1, string $function = "round") Round the current instance millisecond with given precision using the given function. - * @method CarbonInterface floorMillisecond(float $precision = 1) Truncate the current instance millisecond with given precision. - * @method CarbonInterface floorMilliseconds(float $precision = 1) Truncate the current instance millisecond with given precision. - * @method CarbonInterface ceilMillisecond(float $precision = 1) Ceil the current instance millisecond with given precision. - * @method CarbonInterface ceilMilliseconds(float $precision = 1) Ceil the current instance millisecond with given precision. - * @method CarbonInterface roundMicrosecond(float $precision = 1, string $function = "round") Round the current instance microsecond with given precision using the given function. - * @method CarbonInterface roundMicroseconds(float $precision = 1, string $function = "round") Round the current instance microsecond with given precision using the given function. - * @method CarbonInterface floorMicrosecond(float $precision = 1) Truncate the current instance microsecond with given precision. - * @method CarbonInterface floorMicroseconds(float $precision = 1) Truncate the current instance microsecond with given precision. - * @method CarbonInterface ceilMicrosecond(float $precision = 1) Ceil the current instance microsecond with given precision. - * @method CarbonInterface ceilMicroseconds(float $precision = 1) Ceil the current instance microsecond with given precision. - * @method string shortAbsoluteDiffForHumans(\DateTimeInterface $other = null, int $parts = 1) Get the difference (short format, 'Absolute' mode) in a human readable format in the current locale. ($other and $parts parameters can be swapped.) - * @method string longAbsoluteDiffForHumans(\DateTimeInterface $other = null, int $parts = 1) Get the difference (long format, 'Absolute' mode) in a human readable format in the current locale. ($other and $parts parameters can be swapped.) - * @method string shortRelativeDiffForHumans(\DateTimeInterface $other = null, int $parts = 1) Get the difference (short format, 'Relative' mode) in a human readable format in the current locale. ($other and $parts parameters can be swapped.) - * @method string longRelativeDiffForHumans(\DateTimeInterface $other = null, int $parts = 1) Get the difference (long format, 'Relative' mode) in a human readable format in the current locale. ($other and $parts parameters can be swapped.) - * @method string shortRelativeToNowDiffForHumans(\DateTimeInterface $other = null, int $parts = 1) Get the difference (short format, 'RelativeToNow' mode) in a human readable format in the current locale. ($other and $parts parameters can be swapped.) - * @method string longRelativeToNowDiffForHumans(\DateTimeInterface $other = null, int $parts = 1) Get the difference (long format, 'RelativeToNow' mode) in a human readable format in the current locale. ($other and $parts parameters can be swapped.) - * @method string shortRelativeToOtherDiffForHumans(\DateTimeInterface $other = null, int $parts = 1) Get the difference (short format, 'RelativeToOther' mode) in a human readable format in the current locale. ($other and $parts parameters can be swapped.) - * @method string longRelativeToOtherDiffForHumans(\DateTimeInterface $other = null, int $parts = 1) Get the difference (long format, 'RelativeToOther' mode) in a human readable format in the current locale. ($other and $parts parameters can be swapped.) - * - * - */ -interface CarbonInterface extends DateTimeInterface, JsonSerializable -{ - /** - * Diff wording options(expressed in octal). - */ - public const NO_ZERO_DIFF = 01; - public const JUST_NOW = 02; - public const ONE_DAY_WORDS = 04; - public const TWO_DAY_WORDS = 010; - public const SEQUENTIAL_PARTS_ONLY = 020; - public const ROUND = 040; - public const FLOOR = 0100; - public const CEIL = 0200; - - /** - * Diff syntax options. - */ - public const DIFF_ABSOLUTE = 1; // backward compatibility with true - public const DIFF_RELATIVE_AUTO = 0; // backward compatibility with false - public const DIFF_RELATIVE_TO_NOW = 2; - public const DIFF_RELATIVE_TO_OTHER = 3; - - /** - * Translate string options. - */ - public const TRANSLATE_MONTHS = 1; - public const TRANSLATE_DAYS = 2; - public const TRANSLATE_UNITS = 4; - public const TRANSLATE_MERIDIEM = 8; - public const TRANSLATE_ALL = self::TRANSLATE_MONTHS | self::TRANSLATE_DAYS | self::TRANSLATE_UNITS | self::TRANSLATE_MERIDIEM; - - /** - * The day constants. - */ - public const SUNDAY = 0; - public const MONDAY = 1; - public const TUESDAY = 2; - public const WEDNESDAY = 3; - public const THURSDAY = 4; - public const FRIDAY = 5; - public const SATURDAY = 6; - - /** - * Number of X in Y. - */ - public const YEARS_PER_MILLENNIUM = 1000; - public const YEARS_PER_CENTURY = 100; - public const YEARS_PER_DECADE = 10; - public const MONTHS_PER_YEAR = 12; - public const MONTHS_PER_QUARTER = 3; - public const WEEKS_PER_YEAR = 52; - public const WEEKS_PER_MONTH = 4; - public const DAYS_PER_YEAR = 365; - public const DAYS_PER_WEEK = 7; - public const HOURS_PER_DAY = 24; - public const MINUTES_PER_HOUR = 60; - public const SECONDS_PER_MINUTE = 60; - public const MILLISECONDS_PER_SECOND = 1000; - public const MICROSECONDS_PER_MILLISECOND = 1000; - public const MICROSECONDS_PER_SECOND = 1000000; - - /** - * RFC7231 DateTime format. - * - * @var string - */ - public const RFC7231_FORMAT = 'D, d M Y H:i:s \G\M\T'; - - /** - * Default format to use for __toString method when type juggling occurs. - * - * @var string - */ - public const DEFAULT_TO_STRING_FORMAT = 'Y-m-d H:i:s'; - - /** - * Format for converting mocked time, includes microseconds. - * - * @var string - */ - public const MOCK_DATETIME_FORMAT = 'Y-m-d H:i:s.u'; - - /** - * Pattern detection for ->isoFormat and ::createFromIsoFormat. - * - * @var string - */ - public const ISO_FORMAT_REGEXP = '(O[YMDHhms]|[Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY?|g{1,5}|G{1,5}|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?)'; - - // - - /** - * Dynamically handle calls to the class. - * - * @param string $method magic method name called - * @param array $parameters parameters list - * - * @throws \BadMethodCallException|\ReflectionException - * - * @return mixed - */ - public function __call($method, $parameters); - - /** - * Dynamically handle calls to the class. - * - * @param string $method magic method name called - * @param array $parameters parameters list - * - * @throws \BadMethodCallException - * - * @return mixed - */ - public static function __callStatic($method, $parameters); - - /** - * Create a new Carbon instance. - * - * Please see the testing aids section (specifically static::setTestNow()) - * for more on the possibility of this constructor returning a test instance. - * - * @param string|null $time - * @param \DateTimeZone|string|null $tz - */ - public function __construct($time = null, $tz = null); - - /** - * Show truthy properties on var_dump(). - * - * @return array - */ - public function __debugInfo(); - - /** - * Get a part of the Carbon object - * - * @param string $name - * - * @throws InvalidArgumentException|ReflectionException - * - * @return string|int|bool|DateTimeZone|null - */ - public function __get($name); - - /** - * Check if an attribute exists on the object - * - * @param string $name - * - * @return bool - */ - public function __isset($name); - - /** - * Set a part of the Carbon object - * - * @param string $name - * @param string|int|DateTimeZone $value - * - * @throws InvalidArgumentException|ReflectionException - * - * @return void - */ - public function __set($name, $value); - - /** - * The __set_state handler. - * - * @param string|array $dump - * - * @return static - */ - public static function __set_state($dump); - - /** - * Returns the list of properties to dump on serialize() called on. - * - * @return array - */ - public function __sleep(); - - /** - * Format the instance as a string using the set format - * - * @example - * ``` - * echo Carbon::now(); // Carbon instances can be casted to string - * ``` - * - * @return string - */ - public function __toString(); - - /** - * Add given units or interval to the current instance. - * - * @example $date->add('hour', 3) - * @example $date->add(15, 'days') - * @example $date->add(CarbonInterval::days(4)) - * - * @param string|DateInterval $unit - * @param int $value - * @param bool|null $overflow - * - * @return static - */ - public function add($unit, $value = 1, $overflow = null); - - /** - * Add seconds to the instance using timestamp. Positive $value travels - * forward while negative $value travels into the past. - * - * @param string $unit - * @param int $value - * - * @return static - */ - public function addRealUnit($unit, $value = 1); - - /** - * Add given units to the current instance. - * - * @param string $unit - * @param int $value - * @param bool|null $overflow - * - * @return static - */ - public function addUnit($unit, $value = 1, $overflow = null); - - /** - * Add any unit to a new value without overflowing current other unit given. - * - * @param string $valueUnit unit name to modify - * @param int $value amount to add to the input unit - * @param string $overflowUnit unit name to not overflow - * - * @return static - */ - public function addUnitNoOverflow($valueUnit, $value, $overflowUnit); - - /** - * Get the difference in a human readable format in the current locale from an other - * instance given to now - * - * @param int|array $syntax if array passed, parameters will be extracted from it, the array may contains: - * - 'syntax' entry (see below) - * - 'short' entry (see below) - * - 'parts' entry (see below) - * - 'options' entry (see below) - * - 'join' entry determines how to join multiple parts of the string - * ` - if $join is a string, it's used as a joiner glue - * ` - if $join is a callable/closure, it get the list of string and should return a string - * ` - if $join is an array, the first item will be the default glue, and the second item - * ` will be used instead of the glue for the last item - * ` - if $join is true, it will be guessed from the locale ('list' translation file entry) - * ` - if $join is missing, a space will be used as glue - * if int passed, it add modifiers: - * Possible values: - * - CarbonInterface::DIFF_ABSOLUTE no modifiers - * - CarbonInterface::DIFF_RELATIVE_TO_NOW add ago/from now modifier - * - CarbonInterface::DIFF_RELATIVE_TO_OTHER add before/after modifier - * Default value: CarbonInterface::DIFF_ABSOLUTE - * @param bool $short displays short format of time units - * @param int $parts maximum number of parts to display (default value: 1: single part) - * @param int $options human diff options - * - * @return string - */ - public function ago($syntax = null, $short = false, $parts = 1, $options = null); - - /** - * Modify the current instance to the average of a given instance (default now) and the current instance - * (second-precision). - * - * @param \Carbon\Carbon|\DateTimeInterface|null $date - * - * @return static - */ - public function average($date = null); - - /** - * Determines if the instance is between two others. - * - * @example - * ``` - * Carbon::parse('2018-07-25')->between('2018-07-14', '2018-08-01'); // true - * Carbon::parse('2018-07-25')->between('2018-08-01', '2018-08-20'); // false - * Carbon::parse('2018-07-25')->between('2018-07-25', '2018-08-01'); // false - * Carbon::parse('2018-07-25')->between('2018-07-25', '2018-08-01', true); // true - * ``` - * - * @param \Carbon\Carbon|\DateTimeInterface|mixed $date1 - * @param \Carbon\Carbon|\DateTimeInterface|mixed $date2 - * @param bool $equal Indicates if an equal to comparison should be done - * - * @return bool - */ - public function between($date1, $date2, $equal = true): bool; - - /** - * Determines if the instance is between two others, bounds excluded. - * - * @example - * ``` - * Carbon::parse('2018-07-25')->betweenExcluded('2018-07-14', '2018-08-01'); // true - * Carbon::parse('2018-07-25')->betweenExcluded('2018-08-01', '2018-08-20'); // false - * Carbon::parse('2018-07-25')->betweenExcluded('2018-07-25', '2018-08-01'); // false - * ``` - * - * @param \Carbon\Carbon|\DateTimeInterface|mixed $date1 - * @param \Carbon\Carbon|\DateTimeInterface|mixed $date2 - * - * @return bool - */ - public function betweenExcluded($date1, $date2): bool; - - /** - * Returns either the close date "Friday 15h30", or a calendar date "10/09/2017" is farthest than 7 days from now. - * - * @param Carbon|\DateTimeInterface|string|null $referenceTime - * @param array $formats - * - * @return string - */ - public function calendar($referenceTime = null, array $formats = []); - - /** - * Return the Carbon instance passed through, a now instance in the same timezone - * if null given or parse the input if string given. - * - * @param \Carbon\Carbon|\Carbon\CarbonPeriod|\Carbon\CarbonInterval|\DateInterval|\DatePeriod|\DateTimeInterface|string|null $date - * - * @return static - */ - public function carbonize($date = null); - - /** - * Cast the current instance into the given class. - * - * @param string $className The $className::instance() method will be called to cast the current object. - * - * @return DateTimeInterface - */ - public function cast(string $className); - - /** - * Ceil the current instance second with given precision if specified. - * - * @param float|int|string|\DateInterval|null $precision - * - * @return CarbonInterface - */ - public function ceil($precision = 1); - - /** - * Ceil the current instance at the given unit with given precision if specified. - * - * @param string $unit - * @param float|int $precision - * - * @return CarbonInterface - */ - public function ceilUnit($unit, $precision = 1); - - /** - * Ceil the current instance week. - * - * @param int $weekStartsAt optional start allow you to specify the day of week to use to start the week - * - * @return CarbonInterface - */ - public function ceilWeek($weekStartsAt = null); - - /** - * Similar to native modify() method of DateTime but can handle more grammars. - * - * @example - * ``` - * echo Carbon::now()->change('next 2pm'); - * ``` - * - * @link https://php.net/manual/en/datetime.modify.php - * - * @param string $modifier - * - * @return static - */ - public function change($modifier); - - /** - * @alias copy - * - * Get a copy of the instance. - * - * @return static - */ - public function clone(); - - /** - * Get the closest date from the instance (second-precision). - * - * @param \Carbon\Carbon|\DateTimeInterface|mixed $date1 - * @param \Carbon\Carbon|\DateTimeInterface|mixed $date2 - * - * @return static - */ - public function closest($date1, $date2); - - /** - * Get a copy of the instance. - * - * @return static - */ - public function copy(); - - /** - * Create a new Carbon instance from a specific date and time. - * - * If any of $year, $month or $day are set to null their now() values will - * be used. - * - * If $hour is null it will be set to its now() value and the default - * values for $minute and $second will be their now() values. - * - * If $hour is not null then the default values for $minute and $second - * will be 0. - * - * @param int|null $year - * @param int|null $month - * @param int|null $day - * @param int|null $hour - * @param int|null $minute - * @param int|null $second - * @param \DateTimeZone|string|null $tz - * - * @throws \InvalidArgumentException - * - * @return static - */ - public static function create($year = 0, $month = 1, $day = 1, $hour = 0, $minute = 0, $second = 0, $tz = null); - - /** - * Create a Carbon instance from just a date. The time portion is set to now. - * - * @param int|null $year - * @param int|null $month - * @param int|null $day - * @param \DateTimeZone|string|null $tz - * - * @throws \InvalidArgumentException - * - * @return static - */ - public static function createFromDate($year = null, $month = null, $day = null, $tz = null); - - /** - * Create a Carbon instance from a specific format. - * - * @param string $format Datetime format - * @param string $time - * @param \DateTimeZone|string|false|null $tz - * - * @throws InvalidArgumentException - * - * @return static|false - */ - public static function createFromFormat($format, $time, $tz = null); - - /** - * Create a Carbon instance from a specific ISO format (same replacements as ->isoFormat()). - * - * @param string $format Datetime format - * @param string $time - * @param \DateTimeZone|string|false|null $tz optional timezone - * @param string|null $locale locale to be used for LTS, LT, LL, LLL, etc. macro-formats (en by fault, unneeded if no such macro-format in use) - * @param \Symfony\Component\Translation\TranslatorInterface $translator optional custom translator to use for macro-formats - * - * @throws InvalidArgumentException - * - * @return static|false - */ - public static function createFromIsoFormat($format, $time, $tz = null, $locale = 'en', $translator = null); - - /** - * Create a Carbon instance from a specific format and a string in a given language. - * - * @param string $format Datetime format - * @param string $locale - * @param string $time - * @param \DateTimeZone|string|false|null $tz - * - * @throws InvalidArgumentException - * - * @return static|false - */ - public static function createFromLocaleFormat($format, $locale, $time, $tz = null); - - /** - * Create a Carbon instance from a specific ISO format and a string in a given language. - * - * @param string $format Datetime ISO format - * @param string $locale - * @param string $time - * @param \DateTimeZone|string|false|null $tz - * - * @throws InvalidArgumentException - * - * @return static|false - */ - public static function createFromLocaleIsoFormat($format, $locale, $time, $tz = null); - - /** - * Create a Carbon instance from just a time. The date portion is set to today. - * - * @param int|null $hour - * @param int|null $minute - * @param int|null $second - * @param \DateTimeZone|string|null $tz - * - * @throws \InvalidArgumentException - * - * @return static - */ - public static function createFromTime($hour = 0, $minute = 0, $second = 0, $tz = null); - - /** - * Create a Carbon instance from a time string. The date portion is set to today. - * - * @param string $time - * @param \DateTimeZone|string|null $tz - * - * @throws \InvalidArgumentException - * - * @return static - */ - public static function createFromTimeString($time, $tz = null); - - /** - * Create a Carbon instance from a timestamp. - * - * @param int $timestamp - * @param \DateTimeZone|string|null $tz - * - * @return static - */ - public static function createFromTimestamp($timestamp, $tz = null); - - /** - * Create a Carbon instance from a timestamp in milliseconds. - * - * @param int $timestamp - * @param \DateTimeZone|string|null $tz - * - * @return static - */ - public static function createFromTimestampMs($timestamp, $tz = null); - - /** - * Create a Carbon instance from an UTC timestamp. - * - * @param int $timestamp - * - * @return static - */ - public static function createFromTimestampUTC($timestamp); - - /** - * Create a Carbon instance from just a date. The time portion is set to midnight. - * - * @param int|null $year - * @param int|null $month - * @param int|null $day - * @param \DateTimeZone|string|null $tz - * - * @return static - */ - public static function createMidnightDate($year = null, $month = null, $day = null, $tz = null); - - /** - * Create a new safe Carbon instance from a specific date and time. - * - * If any of $year, $month or $day are set to null their now() values will - * be used. - * - * If $hour is null it will be set to its now() value and the default - * values for $minute and $second will be their now() values. - * - * If $hour is not null then the default values for $minute and $second - * will be 0. - * - * If one of the set values is not valid, an \InvalidArgumentException - * will be thrown. - * - * @param int|null $year - * @param int|null $month - * @param int|null $day - * @param int|null $hour - * @param int|null $minute - * @param int|null $second - * @param \DateTimeZone|string|null $tz - * - * @throws \Carbon\Exceptions\InvalidDateException|\InvalidArgumentException - * - * @return static|false - */ - public static function createSafe($year = null, $month = null, $day = null, $hour = null, $minute = null, $second = null, $tz = null); - - /** - * Get/set the day of year. - * - * @param int|null $value new value for day of year if using as setter. - * - * @return static|int - */ - public function dayOfYear($value = null); - - /** - * Get the difference as a CarbonInterval instance. - * Return absolute interval (always positive) unless you pass false to the second argument. - * - * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date - * @param bool $absolute Get the absolute of the difference - * - * @return CarbonInterval - */ - public function diffAsCarbonInterval($date = null, $absolute = true); - - /** - * Get the difference by the given interval using a filter closure - * - * @param CarbonInterval $ci An interval to traverse by - * @param Closure $callback - * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date - * @param bool $absolute Get the absolute of the difference - * - * @return int - */ - public function diffFiltered(CarbonInterval $ci, \Closure $callback, $date = null, $absolute = true); - - /** - * Get the difference in a human readable format in the current locale from current instance to an other - * instance given (or now if null given). - * - * @example - * ``` - * echo Carbon::tomorrow()->diffForHumans() . "\n"; - * echo Carbon::tomorrow()->diffForHumans(['parts' => 2]) . "\n"; - * echo Carbon::tomorrow()->diffForHumans(['parts' => 3, 'join' => true]) . "\n"; - * echo Carbon::tomorrow()->diffForHumans(Carbon::yesterday()) . "\n"; - * echo Carbon::tomorrow()->diffForHumans(Carbon::yesterday(), ['short' => true]) . "\n"; - * ``` - * - * @param Carbon|\DateTimeInterface|string|array|null $other if array passed, will be used as parameters array, see $syntax below; - * if null passed, now will be used as comparison reference; - * if any other type, it will be converted to date and used as reference. - * @param int|array $syntax if array passed, parameters will be extracted from it, the array may contains: - * - 'syntax' entry (see below) - * - 'short' entry (see below) - * - 'parts' entry (see below) - * - 'options' entry (see below) - * - 'join' entry determines how to join multiple parts of the string - * ` - if $join is a string, it's used as a joiner glue - * ` - if $join is a callable/closure, it get the list of string and should return a string - * ` - if $join is an array, the first item will be the default glue, and the second item - * ` will be used instead of the glue for the last item - * ` - if $join is true, it will be guessed from the locale ('list' translation file entry) - * ` - if $join is missing, a space will be used as glue - * - 'other' entry (see above) - * if int passed, it add modifiers: - * Possible values: - * - CarbonInterface::DIFF_ABSOLUTE no modifiers - * - CarbonInterface::DIFF_RELATIVE_TO_NOW add ago/from now modifier - * - CarbonInterface::DIFF_RELATIVE_TO_OTHER add before/after modifier - * Default value: CarbonInterface::DIFF_ABSOLUTE - * @param bool $short displays short format of time units - * @param int $parts maximum number of parts to display (default value: 1: single unit) - * @param int $options human diff options - * - * @return string - */ - public function diffForHumans($other = null, $syntax = null, $short = false, $parts = 1, $options = null); - - /** - * Get the difference in days - * - * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date - * @param bool $absolute Get the absolute of the difference - * - * @return int - */ - public function diffInDays($date = null, $absolute = true); - - /** - * Get the difference in days using a filter closure - * - * @param Closure $callback - * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date - * @param bool $absolute Get the absolute of the difference - * - * @return int - */ - public function diffInDaysFiltered(\Closure $callback, $date = null, $absolute = true); - - /** - * Get the difference in hours. - * - * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date - * @param bool $absolute Get the absolute of the difference - * - * @return int - */ - public function diffInHours($date = null, $absolute = true); - - /** - * Get the difference in hours using a filter closure - * - * @param Closure $callback - * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date - * @param bool $absolute Get the absolute of the difference - * - * @return int - */ - public function diffInHoursFiltered(\Closure $callback, $date = null, $absolute = true); - - /** - * Get the difference in microseconds. - * - * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date - * @param bool $absolute Get the absolute of the difference - * - * @return int - */ - public function diffInMicroseconds($date = null, $absolute = true); - - /** - * Get the difference in milliseconds. - * - * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date - * @param bool $absolute Get the absolute of the difference - * - * @return int - */ - public function diffInMilliseconds($date = null, $absolute = true); - - /** - * Get the difference in minutes. - * - * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date - * @param bool $absolute Get the absolute of the difference - * - * @return int - */ - public function diffInMinutes($date = null, $absolute = true); - - /** - * Get the difference in months - * - * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date - * @param bool $absolute Get the absolute of the difference - * - * @return int - */ - public function diffInMonths($date = null, $absolute = true); - - /** - * Get the difference in hours using timestamps. - * - * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date - * @param bool $absolute Get the absolute of the difference - * - * @return int - */ - public function diffInRealHours($date = null, $absolute = true); - - /** - * Get the difference in microseconds using timestamps. - * - * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date - * @param bool $absolute Get the absolute of the difference - * - * @return int - */ - public function diffInRealMicroseconds($date = null, $absolute = true); - - /** - * Get the difference in milliseconds using timestamps. - * - * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date - * @param bool $absolute Get the absolute of the difference - * - * @return int - */ - public function diffInRealMilliseconds($date = null, $absolute = true); - - /** - * Get the difference in minutes using timestamps. - * - * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date - * @param bool $absolute Get the absolute of the difference - * - * @return int - */ - public function diffInRealMinutes($date = null, $absolute = true); - - /** - * Get the difference in seconds using timestamps. - * - * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date - * @param bool $absolute Get the absolute of the difference - * - * @return int - */ - public function diffInRealSeconds($date = null, $absolute = true); - - /** - * Get the difference in seconds. - * - * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date - * @param bool $absolute Get the absolute of the difference - * - * @return int - */ - public function diffInSeconds($date = null, $absolute = true); - - /** - * Get the difference in weekdays - * - * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date - * @param bool $absolute Get the absolute of the difference - * - * @return int - */ - public function diffInWeekdays($date = null, $absolute = true); - - /** - * Get the difference in weekend days using a filter - * - * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date - * @param bool $absolute Get the absolute of the difference - * - * @return int - */ - public function diffInWeekendDays($date = null, $absolute = true); - - /** - * Get the difference in weeks - * - * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date - * @param bool $absolute Get the absolute of the difference - * - * @return int - */ - public function diffInWeeks($date = null, $absolute = true); - - /** - * Get the difference in years - * - * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date - * @param bool $absolute Get the absolute of the difference - * - * @return int - */ - public function diffInYears($date = null, $absolute = true); - - /** - * @deprecated To avoid conflict between different third-party libraries, static setters should not be used. - * You should rather use the ->settings() method. - * @see settings - * - * @param int $humanDiffOption - */ - public static function disableHumanDiffOption($humanDiffOption); - - /** - * @deprecated To avoid conflict between different third-party libraries, static setters should not be used. - * You should rather use the ->settings() method. - * @see settings - * - * @param int $humanDiffOption - */ - public static function enableHumanDiffOption($humanDiffOption); - - /** - * Modify to end of current given unit. - * - * @example - * ``` - * echo Carbon::parse('2018-07-25 12:45:16.334455') - * ->startOf('month') - * ->endOf('week', Carbon::FRIDAY); - * ``` - * - * @param string $unit - * @param array $params - * - * @return static - */ - public function endOf($unit, ...$params); - - /** - * Resets the date to end of the century and time to 23:59:59.999999 - * - * @example - * ``` - * echo Carbon::parse('2018-07-25 12:45:16')->endOfCentury(); - * ``` - * - * @return static - */ - public function endOfCentury(); - - /** - * Resets the time to 23:59:59.999999 end of day - * - * @example - * ``` - * echo Carbon::parse('2018-07-25 12:45:16')->endOfDay(); - * ``` - * - * @return static - */ - public function endOfDay(); - - /** - * Resets the date to end of the decade and time to 23:59:59.999999 - * - * @example - * ``` - * echo Carbon::parse('2018-07-25 12:45:16')->endOfDecade(); - * ``` - * - * @return static - */ - public function endOfDecade(); - - /** - * Modify to end of current hour, minutes and seconds become 59 - * - * @example - * ``` - * echo Carbon::parse('2018-07-25 12:45:16')->endOfHour(); - * ``` - * - * @return static - */ - public function endOfHour(); - - /** - * Resets the date to end of the century and time to 23:59:59.999999 - * - * @example - * ``` - * echo Carbon::parse('2018-07-25 12:45:16')->endOfMillennium(); - * ``` - * - * @return static - */ - public function endOfMillennium(); - - /** - * Modify to end of current minute, seconds become 59 - * - * @example - * ``` - * echo Carbon::parse('2018-07-25 12:45:16')->endOfMinute(); - * ``` - * - * @return static - */ - public function endOfMinute(); - - /** - * Resets the date to end of the month and time to 23:59:59.999999 - * - * @example - * ``` - * echo Carbon::parse('2018-07-25 12:45:16')->endOfMonth(); - * ``` - * - * @return static - */ - public function endOfMonth(); - - /** - * Resets the date to end of the quarter and time to 23:59:59.999999 - * - * @example - * ``` - * echo Carbon::parse('2018-07-25 12:45:16')->endOfQuarter(); - * ``` - * - * @return static - */ - public function endOfQuarter(); - - /** - * Modify to end of current second, microseconds become 999999 - * - * @example - * ``` - * echo Carbon::parse('2018-07-25 12:45:16.334455') - * ->endOfSecond() - * ->format('H:i:s.u'); - * ``` - * - * @return static - */ - public function endOfSecond(); - - /** - * Resets the date to end of week (defined in $weekEndsAt) and time to 23:59:59.999999 - * - * @example - * ``` - * echo Carbon::parse('2018-07-25 12:45:16')->endOfWeek() . "\n"; - * echo Carbon::parse('2018-07-25 12:45:16')->locale('ar')->endOfWeek() . "\n"; - * echo Carbon::parse('2018-07-25 12:45:16')->endOfWeek(Carbon::SATURDAY) . "\n"; - * ``` - * - * @param int $weekEndsAt optional start allow you to specify the day of week to use to end the week - * - * @return static - */ - public function endOfWeek($weekEndsAt = null); - - /** - * Resets the date to end of the year and time to 23:59:59.999999 - * - * @example - * ``` - * echo Carbon::parse('2018-07-25 12:45:16')->endOfYear(); - * ``` - * - * @return static - */ - public function endOfYear(); - - /** - * Determines if the instance is equal to another - * - * @example - * ``` - * Carbon::parse('2018-07-25 12:45:16')->eq('2018-07-25 12:45:16'); // true - * Carbon::parse('2018-07-25 12:45:16')->eq(Carbon::parse('2018-07-25 12:45:16')); // true - * Carbon::parse('2018-07-25 12:45:16')->eq('2018-07-25 12:45:17'); // false - * ``` - * - * @param \Carbon\Carbon|\DateTimeInterface|mixed $date - * - * @see equalTo() - * - * @return bool - */ - public function eq($date): bool; - - /** - * Determines if the instance is equal to another - * - * @example - * ``` - * Carbon::parse('2018-07-25 12:45:16')->equalTo('2018-07-25 12:45:16'); // true - * Carbon::parse('2018-07-25 12:45:16')->equalTo(Carbon::parse('2018-07-25 12:45:16')); // true - * Carbon::parse('2018-07-25 12:45:16')->equalTo('2018-07-25 12:45:17'); // false - * ``` - * - * @param \Carbon\Carbon|\DateTimeInterface|mixed $date - * - * @return bool - */ - public function equalTo($date): bool; - - /** - * Set the current locale to the given, execute the passed function, reset the locale to previous one, - * then return the result of the closure (or null if the closure was void). - * - * @param string $locale locale ex. en - * @param callable $func - * - * @return mixed - */ - public static function executeWithLocale($locale, $func); - - /** - * Get the farthest date from the instance (second-precision). - * - * @param \Carbon\Carbon|\DateTimeInterface|mixed $date1 - * @param \Carbon\Carbon|\DateTimeInterface|mixed $date2 - * - * @return static - */ - public function farthest($date1, $date2); - - /** - * Modify to the first occurrence of a given day of the week - * in the current month. If no dayOfWeek is provided, modify to the - * first day of the current month. Use the supplied constants - * to indicate the desired dayOfWeek, ex. static::MONDAY. - * - * @param int|null $dayOfWeek - * - * @return static - */ - public function firstOfMonth($dayOfWeek = null); - - /** - * Modify to the first occurrence of a given day of the week - * in the current quarter. If no dayOfWeek is provided, modify to the - * first day of the current quarter. Use the supplied constants - * to indicate the desired dayOfWeek, ex. static::MONDAY. - * - * @param int|null $dayOfWeek day of the week default null - * - * @return static - */ - public function firstOfQuarter($dayOfWeek = null); - - /** - * Modify to the first occurrence of a given day of the week - * in the current year. If no dayOfWeek is provided, modify to the - * first day of the current year. Use the supplied constants - * to indicate the desired dayOfWeek, ex. static::MONDAY. - * - * @param int|null $dayOfWeek day of the week default null - * - * @return static - */ - public function firstOfYear($dayOfWeek = null); - - /** - * Get the difference in days as float (microsecond-precision). - * - * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date - * @param bool $absolute Get the absolute of the difference - * - * @return float - */ - public function floatDiffInDays($date = null, $absolute = true); - - /** - * Get the difference in hours as float (microsecond-precision). - * - * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date - * @param bool $absolute Get the absolute of the difference - * - * @return float - */ - public function floatDiffInHours($date = null, $absolute = true); - - /** - * Get the difference in minutes as float (microsecond-precision). - * - * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date - * @param bool $absolute Get the absolute of the difference - * - * @return float - */ - public function floatDiffInMinutes($date = null, $absolute = true); - - /** - * Get the difference in months as float (microsecond-precision). - * - * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date - * @param bool $absolute Get the absolute of the difference - * - * @return float - */ - public function floatDiffInMonths($date = null, $absolute = true); - - /** - * Get the difference in days as float (microsecond-precision). - * - * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date - * @param bool $absolute Get the absolute of the difference - * - * @return float - */ - public function floatDiffInRealDays($date = null, $absolute = true); - - /** - * Get the difference in hours as float (microsecond-precision) using timestamps. - * - * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date - * @param bool $absolute Get the absolute of the difference - * - * @return float - */ - public function floatDiffInRealHours($date = null, $absolute = true); - - /** - * Get the difference in minutes as float (microsecond-precision) using timestamps. - * - * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date - * @param bool $absolute Get the absolute of the difference - * - * @return float - */ - public function floatDiffInRealMinutes($date = null, $absolute = true); - - /** - * Get the difference in months as float (microsecond-precision) using timestamps. - * - * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date - * @param bool $absolute Get the absolute of the difference - * - * @return float - */ - public function floatDiffInRealMonths($date = null, $absolute = true); - - /** - * Get the difference in seconds as float (microsecond-precision) using timestamps. - * - * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date - * @param bool $absolute Get the absolute of the difference - * - * @return float - */ - public function floatDiffInRealSeconds($date = null, $absolute = true); - - /** - * Get the difference in year as float (microsecond-precision) using timestamps. - * - * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date - * @param bool $absolute Get the absolute of the difference - * - * @return float - */ - public function floatDiffInRealYears($date = null, $absolute = true); - - /** - * Get the difference in seconds as float (microsecond-precision). - * - * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date - * @param bool $absolute Get the absolute of the difference - * - * @return float - */ - public function floatDiffInSeconds($date = null, $absolute = true); - - /** - * Get the difference in year as float (microsecond-precision). - * - * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date - * @param bool $absolute Get the absolute of the difference - * - * @return float - */ - public function floatDiffInYears($date = null, $absolute = true); - - /** - * Round the current instance second with given precision if specified. - * - * @param float|int|string|\DateInterval|null $precision - * - * @return CarbonInterface - */ - public function floor($precision = 1); - - /** - * Truncate the current instance at the given unit with given precision if specified. - * - * @param string $unit - * @param float|int $precision - * - * @return CarbonInterface - */ - public function floorUnit($unit, $precision = 1); - - /** - * Truncate the current instance week. - * - * @param int $weekStartsAt optional start allow you to specify the day of week to use to start the week - * - * @return CarbonInterface - */ - public function floorWeek($weekStartsAt = null); - - /** - * Format the instance with the current locale. You can set the current - * locale using setlocale() http://php.net/setlocale. - * - * @param string $format - * - * @return string - */ - public function formatLocalized($format); - - /** - * @alias diffForHumans - * - * Get the difference in a human readable format in the current locale from current instance to an other - * instance given (or now if null given). - * - * @param Carbon|\DateTimeInterface|string|array|null $other if array passed, will be used as parameters array, see $syntax below; - * if null passed, now will be used as comparison reference; - * if any other type, it will be converted to date and used as reference. - * @param int|array $syntax if array passed, parameters will be extracted from it, the array may contains: - * - 'syntax' entry (see below) - * - 'short' entry (see below) - * - 'parts' entry (see below) - * - 'options' entry (see below) - * - 'join' entry determines how to join multiple parts of the string - * ` - if $join is a string, it's used as a joiner glue - * ` - if $join is a callable/closure, it get the list of string and should return a string - * ` - if $join is an array, the first item will be the default glue, and the second item - * ` will be used instead of the glue for the last item - * ` - if $join is true, it will be guessed from the locale ('list' translation file entry) - * ` - if $join is missing, a space will be used as glue - * - 'other' entry (see above) - * if int passed, it add modifiers: - * Possible values: - * - CarbonInterface::DIFF_ABSOLUTE no modifiers - * - CarbonInterface::DIFF_RELATIVE_TO_NOW add ago/from now modifier - * - CarbonInterface::DIFF_RELATIVE_TO_OTHER add before/after modifier - * Default value: CarbonInterface::DIFF_ABSOLUTE - * @param bool $short displays short format of time units - * @param int $parts maximum number of parts to display (default value: 1: single unit) - * @param int $options human diff options - * - * @return string - */ - public function from($other = null, $syntax = null, $short = false, $parts = 1, $options = null); - - /** - * Get the difference in a human readable format in the current locale from current - * instance to now. - * - * @param int|array $syntax if array passed, parameters will be extracted from it, the array may contains: - * - 'syntax' entry (see below) - * - 'short' entry (see below) - * - 'parts' entry (see below) - * - 'options' entry (see below) - * - 'join' entry determines how to join multiple parts of the string - * ` - if $join is a string, it's used as a joiner glue - * ` - if $join is a callable/closure, it get the list of string and should return a string - * ` - if $join is an array, the first item will be the default glue, and the second item - * ` will be used instead of the glue for the last item - * ` - if $join is true, it will be guessed from the locale ('list' translation file entry) - * ` - if $join is missing, a space will be used as glue - * if int passed, it add modifiers: - * Possible values: - * - CarbonInterface::DIFF_ABSOLUTE no modifiers - * - CarbonInterface::DIFF_RELATIVE_TO_NOW add ago/from now modifier - * - CarbonInterface::DIFF_RELATIVE_TO_OTHER add before/after modifier - * Default value: CarbonInterface::DIFF_ABSOLUTE - * @param bool $short displays short format of time units - * @param int $parts maximum number of parts to display (default value: 1: single unit) - * @param int $options human diff options - * - * @return string - */ - public function fromNow($syntax = null, $short = false, $parts = 1, $options = null); - - /** - * Create an instance from a serialized string. - * - * @param string $value - * - * @throws \InvalidArgumentException - * - * @return static - */ - public static function fromSerialized($value); - - /** - * Register a custom macro. - * - * @param object|callable $macro - * @param int $priority marco with higher priority is tried first - * - * @return void - */ - public static function genericMacro($macro, $priority = 0); - - /** - * Get a part of the Carbon object - * - * @param string $name - * - * @throws InvalidArgumentException|ReflectionException - * - * @return string|int|bool|DateTimeZone|null - */ - public function get($name); - - /** - * Returns the alternative number for a given date property if available in the current locale. - * - * @param string $key date property - * - * @return string - */ - public function getAltNumber(string $key): string; - - /** - * Returns the list of internally available locales and already loaded custom locales. - * (It will ignore custom translator dynamic loading.) - * - * @return array - */ - public static function getAvailableLocales(); - - /** - * Returns list of Language object for each available locale. This object allow you to get the ISO name, native - * name, region and variant of the locale. - * - * @return Language[] - */ - public static function getAvailableLocalesInfo(); - - /** - * Returns list of calendar formats for ISO formatting. - * - * @param string|null $locale current locale used if null - * - * @return array - */ - public function getCalendarFormats($locale = null); - - /** - * Get the days of the week - * - * @return array - */ - public static function getDays(); - - /** - * Get the fallback locale. - * - * @see https://symfony.com/doc/current/components/translation.html#fallback-locales - * - * @return string|null - */ - public static function getFallbackLocale(); - - /** - * List of replacements from date() format to isoFormat(). - * - * @return array - */ - public static function getFormatsToIsoReplacements(); - - /** - * Return default humanDiff() options (merged flags as integer). - * - * @return int - */ - public static function getHumanDiffOptions(); - - /** - * Returns list of locale formats for ISO formatting. - * - * @param string|null $locale current locale used if null - * - * @return array - */ - public function getIsoFormats($locale = null); - - /** - * Returns list of locale units for ISO formatting. - * - * @return array - */ - public static function getIsoUnits(); - - /** - * {@inheritdoc} - */ - public static function getLastErrors(); - - /** - * Get the translator of the current instance or the default if none set. - * - * @return \Symfony\Component\Translation\TranslatorInterface - */ - public function getLocalTranslator(); - - /** - * Get the current translator locale. - * - * @return string - */ - public static function getLocale(); - - /** - * get midday/noon hour - * - * @return int - */ - public static function getMidDayAt(); - - /** - * Returns the offset hour and minute formatted with +/- and a given separator (":" by default). - * For example, if the time zone is 9 hours 30 minutes, you'll get "+09:30", with "@@" as first - * argument, "+09@@30", with "" as first argument, "+0930". Negative offset will return something - * like "-12:00". - * - * @param string $separator string to place between hours and minutes (":" by default) - * - * @return string - */ - public function getOffsetString($separator = ':'); - - /** - * Returns a unit of the instance padded with 0 by default or any other string if specified. - * - * @param string $unit Carbon unit name - * @param int $length Length of the output (2 by default) - * @param string $padString String to use for padding ("0" by default) - * @param int $padType Side(s) to pad (STR_PAD_LEFT by default) - * - * @return string - */ - public function getPaddedUnit($unit, $length = 2, $padString = '0', $padType = 0); - - /** - * Returns a timestamp rounded with the given precision (6 by default). - * - * @example getPreciseTimestamp() 1532087464437474 (microsecond maximum precision) - * @example getPreciseTimestamp(6) 1532087464437474 - * @example getPreciseTimestamp(5) 153208746443747 (1/100000 second precision) - * @example getPreciseTimestamp(4) 15320874644375 (1/10000 second precision) - * @example getPreciseTimestamp(3) 1532087464437 (millisecond precision) - * @example getPreciseTimestamp(2) 153208746444 (1/100 second precision) - * @example getPreciseTimestamp(1) 15320874644 (1/10 second precision) - * @example getPreciseTimestamp(0) 1532087464 (second precision) - * @example getPreciseTimestamp(-1) 153208746 (10 second precision) - * @example getPreciseTimestamp(-2) 15320875 (100 second precision) - * - * @param int $precision - * - * @return float - */ - public function getPreciseTimestamp($precision = 6); - - /** - * Returns current local settings. - * - * @return array - */ - public function getSettings(); - - /** - * Get the Carbon instance (real or mock) to be returned when a "now" - * instance is created. - * - * @return Closure|static the current instance used for testing - */ - public static function getTestNow(); - - /** - * Return a format from H:i to H:i:s.u according to given unit precision. - * - * @param string $unitPrecision "minute", "second", "millisecond" or "microsecond" - * - * @return string - */ - public static function getTimeFormatByPrecision($unitPrecision); - - /** - * Get the translation of the current week day name (with context for languages with multiple forms). - * - * @param string|null $context whole format string - * @param string $keySuffix "", "_short" or "_min" - * @param string|null $defaultValue default value if translation missing - * - * @return string - */ - public function getTranslatedDayName($context = null, $keySuffix = '', $defaultValue = null); - - /** - * Get the translation of the current abbreviated week day name (with context for languages with multiple forms). - * - * @param string|null $context whole format string - * - * @return string - */ - public function getTranslatedMinDayName($context = null); - - /** - * Get the translation of the current month day name (with context for languages with multiple forms). - * - * @param string|null $context whole format string - * @param string $keySuffix "" or "_short" - * @param string|null $defaultValue default value if translation missing - * - * @return string - */ - public function getTranslatedMonthName($context = null, $keySuffix = '', $defaultValue = null); - - /** - * Get the translation of the current short week day name (with context for languages with multiple forms). - * - * @param string|null $context whole format string - * - * @return string - */ - public function getTranslatedShortDayName($context = null); - - /** - * Get the translation of the current short month day name (with context for languages with multiple forms). - * - * @param string|null $context whole format string - * - * @return string - */ - public function getTranslatedShortMonthName($context = null); - - /** - * Returns raw translation message for a given key. - * - * @param string $key key to find - * @param string|null $locale current locale used if null - * @param string|null $default default value if translation returns the key - * @param \Symfony\Component\Translation\TranslatorInterface $translator an optional translator to use - * - * @return string - */ - public function getTranslationMessage(string $key, string $locale = null, string $default = null, $translator = null); - - /** - * Returns raw translation message for a given key. - * - * @param \Symfony\Component\Translation\TranslatorInterface $translator the translator to use - * @param string $key key to find - * @param string|null $locale current locale used if null - * @param string|null $default default value if translation returns the key - * - * @return string - */ - public static function getTranslationMessageWith($translator, string $key, string $locale = null, string $default = null); - - /** - * Get the default translator instance in use. - * - * @return \Symfony\Component\Translation\TranslatorInterface - */ - public static function getTranslator(); - - /** - * Get the last day of week - * - * @return int - */ - public static function getWeekEndsAt(); - - /** - * Get the first day of week - * - * @return int - */ - public static function getWeekStartsAt(); - - /** - * Get weekend days - * - * @return array - */ - public static function getWeekendDays(); - - /** - * Determines if the instance is greater (after) than another - * - * @example - * ``` - * Carbon::parse('2018-07-25 12:45:16')->greaterThan('2018-07-25 12:45:15'); // true - * Carbon::parse('2018-07-25 12:45:16')->greaterThan('2018-07-25 12:45:16'); // false - * Carbon::parse('2018-07-25 12:45:16')->greaterThan('2018-07-25 12:45:17'); // false - * ``` - * - * @param \Carbon\Carbon|\DateTimeInterface|mixed $date - * - * @return bool - */ - public function greaterThan($date): bool; - - /** - * Determines if the instance is greater (after) than or equal to another - * - * @example - * ``` - * Carbon::parse('2018-07-25 12:45:16')->greaterThanOrEqualTo('2018-07-25 12:45:15'); // true - * Carbon::parse('2018-07-25 12:45:16')->greaterThanOrEqualTo('2018-07-25 12:45:16'); // true - * Carbon::parse('2018-07-25 12:45:16')->greaterThanOrEqualTo('2018-07-25 12:45:17'); // false - * ``` - * - * @param \Carbon\Carbon|\DateTimeInterface|mixed $date - * - * @return bool - */ - public function greaterThanOrEqualTo($date): bool; - - /** - * Determines if the instance is greater (after) than another - * - * @example - * ``` - * Carbon::parse('2018-07-25 12:45:16')->gt('2018-07-25 12:45:15'); // true - * Carbon::parse('2018-07-25 12:45:16')->gt('2018-07-25 12:45:16'); // false - * Carbon::parse('2018-07-25 12:45:16')->gt('2018-07-25 12:45:17'); // false - * ``` - * - * @param \Carbon\Carbon|\DateTimeInterface|mixed $date - * - * @see greaterThan() - * - * @return bool - */ - public function gt($date): bool; - - /** - * Determines if the instance is greater (after) than or equal to another - * - * @example - * ``` - * Carbon::parse('2018-07-25 12:45:16')->gte('2018-07-25 12:45:15'); // true - * Carbon::parse('2018-07-25 12:45:16')->gte('2018-07-25 12:45:16'); // true - * Carbon::parse('2018-07-25 12:45:16')->gte('2018-07-25 12:45:17'); // false - * ``` - * - * @param \Carbon\Carbon|\DateTimeInterface|mixed $date - * - * @see greaterThanOrEqualTo() - * - * @return bool - */ - public function gte($date): bool; - - /** - * Checks if the (date)time string is in a given format. - * - * @example - * ``` - * Carbon::hasFormat('11:12:45', 'h:i:s'); // true - * Carbon::hasFormat('13:12:45', 'h:i:s'); // false - * ``` - * - * @SuppressWarnings(PHPMD.EmptyCatchBlock) - * - * @param string $date - * @param string $format - * - * @return bool - */ - public static function hasFormat($date, $format); - - /** - * Checks if macro is registered. - * - * @param string $name - * - * @return bool - */ - public static function hasMacro($name); - - /** - * Determine if a time string will produce a relative date. - * - * @param string $time - * - * @return bool true if time match a relative date, false if absolute or invalid time string - */ - public static function hasRelativeKeywords($time); - - /** - * Determine if there is a valid test instance set. A valid test instance - * is anything that is not null. - * - * @return bool true if there is a test instance, otherwise false - */ - public static function hasTestNow(); - - /** - * Create a Carbon instance from a DateTime one. - * - * @param \DateTimeInterface $date - * - * @return static - */ - public static function instance($date); - - /** - * Returns true if the current date matches the given string. - * - * @example - * ``` - * var_dump(Carbon::parse('2019-06-02 12:23:45')->is('2019')); // true - * var_dump(Carbon::parse('2019-06-02 12:23:45')->is('2018')); // false - * var_dump(Carbon::parse('2019-06-02 12:23:45')->is('2019-06')); // true - * var_dump(Carbon::parse('2019-06-02 12:23:45')->is('06-02')); // true - * var_dump(Carbon::parse('2019-06-02 12:23:45')->is('2019-06-02')); // true - * var_dump(Carbon::parse('2019-06-02 12:23:45')->is('Sunday')); // true - * var_dump(Carbon::parse('2019-06-02 12:23:45')->is('June')); // true - * var_dump(Carbon::parse('2019-06-02 12:23:45')->is('12:23')); // true - * var_dump(Carbon::parse('2019-06-02 12:23:45')->is('12:23:45')); // true - * var_dump(Carbon::parse('2019-06-02 12:23:45')->is('12:23:00')); // false - * var_dump(Carbon::parse('2019-06-02 12:23:45')->is('12h')); // true - * var_dump(Carbon::parse('2019-06-02 15:23:45')->is('3pm')); // true - * var_dump(Carbon::parse('2019-06-02 15:23:45')->is('3am')); // false - * ``` - * - * @param string $tester day name, month name, hour, date, etc. as string - * - * @return bool - */ - public function is(string $tester); - - /** - * Determines if the instance is greater (after) than another - * - * @example - * ``` - * Carbon::parse('2018-07-25 12:45:16')->isAfter('2018-07-25 12:45:15'); // true - * Carbon::parse('2018-07-25 12:45:16')->isAfter('2018-07-25 12:45:16'); // false - * Carbon::parse('2018-07-25 12:45:16')->isAfter('2018-07-25 12:45:17'); // false - * ``` - * - * @param \Carbon\Carbon|\DateTimeInterface|mixed $date - * - * @see greaterThan() - * - * @return bool - */ - public function isAfter($date): bool; - - /** - * Determines if the instance is less (before) than another - * - * @example - * ``` - * Carbon::parse('2018-07-25 12:45:16')->isBefore('2018-07-25 12:45:15'); // false - * Carbon::parse('2018-07-25 12:45:16')->isBefore('2018-07-25 12:45:16'); // false - * Carbon::parse('2018-07-25 12:45:16')->isBefore('2018-07-25 12:45:17'); // true - * ``` - * - * @param \Carbon\Carbon|\DateTimeInterface|mixed $date - * - * @see lessThan() - * - * @return bool - */ - public function isBefore($date): bool; - - /** - * Determines if the instance is between two others - * - * @example - * ``` - * Carbon::parse('2018-07-25')->isBetween('2018-07-14', '2018-08-01'); // true - * Carbon::parse('2018-07-25')->isBetween('2018-08-01', '2018-08-20'); // false - * Carbon::parse('2018-07-25')->isBetween('2018-07-25', '2018-08-01'); // false - * Carbon::parse('2018-07-25')->isBetween('2018-07-25', '2018-08-01', true); // true - * ``` - * - * @param \Carbon\Carbon|\DateTimeInterface|mixed $date1 - * @param \Carbon\Carbon|\DateTimeInterface|mixed $date2 - * @param bool $equal Indicates if an equal to comparison should be done - * - * @return bool - */ - public function isBetween($date1, $date2, $equal = true): bool; - - /** - * Check if its the birthday. Compares the date/month values of the two dates. - * - * @example - * ``` - * Carbon::now()->subYears(5)->isBirthday(); // true - * Carbon::now()->subYears(5)->subDay()->isBirthday(); // false - * Carbon::parse('2019-06-05')->isBirthday(Carbon::parse('2001-06-05')); // true - * Carbon::parse('2019-06-05')->isBirthday(Carbon::parse('2001-06-06')); // false - * ``` - * - * @param \Carbon\Carbon|\DateTimeInterface|null $date The instance to compare with or null to use current day. - * - * @return bool - */ - public function isBirthday($date = null); - - /** - * Determines if the instance is in the current unit given. - * - * @example - * ``` - * Carbon::now()->isCurrentUnit('hour'); // true - * Carbon::now()->subHours(2)->isCurrentUnit('hour'); // false - * ``` - * - * @param string $unit The unit to test. - * - * @throws \BadMethodCallException - * - * @return bool - */ - public function isCurrentUnit($unit); - - /** - * Checks if this day is a specific day of the week. - * - * @example - * ``` - * Carbon::parse('2019-07-17')->isDayOfWeek(Carbon::WEDNESDAY); // true - * Carbon::parse('2019-07-17')->isDayOfWeek(Carbon::FRIDAY); // false - * Carbon::parse('2019-07-17')->isDayOfWeek('Wednesday'); // true - * Carbon::parse('2019-07-17')->isDayOfWeek('Friday'); // false - * ``` - * - * @param int $dayOfWeek - * - * @return bool - */ - public function isDayOfWeek($dayOfWeek); - - /** - * Check if the instance is end of day. - * - * @example - * ``` - * Carbon::parse('2019-02-28 23:59:59.999999')->isEndOfDay(); // true - * Carbon::parse('2019-02-28 23:59:59.123456')->isEndOfDay(); // true - * Carbon::parse('2019-02-28 23:59:59')->isEndOfDay(); // true - * Carbon::parse('2019-02-28 23:59:58.999999')->isEndOfDay(); // false - * Carbon::parse('2019-02-28 23:59:59.999999')->isEndOfDay(true); // true - * Carbon::parse('2019-02-28 23:59:59.123456')->isEndOfDay(true); // false - * Carbon::parse('2019-02-28 23:59:59')->isEndOfDay(true); // false - * ``` - * - * @param bool $checkMicroseconds check time at microseconds precision - * - * @return bool - */ - public function isEndOfDay($checkMicroseconds = false); - - /** - * Determines if the instance is in the future, ie. greater (after) than now. - * - * @example - * ``` - * Carbon::now()->addHours(5)->isFuture(); // true - * Carbon::now()->subHours(5)->isFuture(); // false - * ``` - * - * @return bool - */ - public function isFuture(); - - /** - * Returns true if the current class/instance is immutable. - * - * @return bool - */ - public static function isImmutable(); - - /** - * Check if today is the last day of the Month - * - * @example - * ``` - * Carbon::parse('2019-02-28')->isLastOfMonth(); // true - * Carbon::parse('2019-03-28')->isLastOfMonth(); // false - * Carbon::parse('2019-03-30')->isLastOfMonth(); // false - * Carbon::parse('2019-03-31')->isLastOfMonth(); // true - * Carbon::parse('2019-04-30')->isLastOfMonth(); // true - * ``` - * - * @return bool - */ - public function isLastOfMonth(); - - /** - * Determines if the instance is a leap year. - * - * @example - * ``` - * Carbon::parse('2020-01-01')->isLeapYear(); // true - * Carbon::parse('2019-01-01')->isLeapYear(); // false - * ``` - * - * @return bool - */ - public function isLeapYear(); - - /** - * Determines if the instance is a long year - * - * @example - * ``` - * Carbon::parse('2015-01-01')->isLongYear(); // true - * Carbon::parse('2016-01-01')->isLongYear(); // false - * ``` - * - * @see https://en.wikipedia.org/wiki/ISO_8601#Week_dates - * - * @return bool - */ - public function isLongYear(); - - /** - * Check if the instance is midday. - * - * @example - * ``` - * Carbon::parse('2019-02-28 11:59:59.999999')->isMidday(); // false - * Carbon::parse('2019-02-28 12:00:00')->isMidday(); // true - * Carbon::parse('2019-02-28 12:00:00.999999')->isMidday(); // true - * Carbon::parse('2019-02-28 12:00:01')->isMidday(); // false - * ``` - * - * @return bool - */ - public function isMidday(); - - /** - * Check if the instance is start of day / midnight. - * - * @example - * ``` - * Carbon::parse('2019-02-28 00:00:00')->isMidnight(); // true - * Carbon::parse('2019-02-28 00:00:00.999999')->isMidnight(); // true - * Carbon::parse('2019-02-28 00:00:01')->isMidnight(); // false - * ``` - * - * @return bool - */ - public function isMidnight(); - - /** - * Returns true if a property can be changed via setter. - * - * @param string $unit - * - * @return bool - */ - public static function isModifiableUnit($unit); - - /** - * Returns true if the current class/instance is mutable. - * - * @return bool - */ - public static function isMutable(); - - /** - * Determines if the instance is in the past, ie. less (before) than now. - * - * @example - * ``` - * Carbon::now()->subHours(5)->isPast(); // true - * Carbon::now()->addHours(5)->isPast(); // false - * ``` - * - * @return bool - */ - public function isPast(); - - /** - * Compares the formatted values of the two dates. - * - * @example - * ``` - * Carbon::parse('2019-06-13')->isSameAs('Y-d', Carbon::parse('2019-12-13')); // true - * Carbon::parse('2019-06-13')->isSameAs('Y-d', Carbon::parse('2019-06-14')); // false - * ``` - * - * @param string $format date formats to compare. - * @param \Carbon\Carbon|\DateTimeInterface|string|null $date instance to compare with or null to use current day. - * - * @throws \InvalidArgumentException - * - * @return bool - */ - public function isSameAs($format, $date = null); - - /** - * Checks if the passed in date is in the same month as the instance´s month. - * - * @example - * ``` - * Carbon::parse('2019-01-12')->isSameMonth(Carbon::parse('2019-01-01')); // true - * Carbon::parse('2019-01-12')->isSameMonth(Carbon::parse('2019-02-01')); // false - * Carbon::parse('2019-01-12')->isSameMonth(Carbon::parse('2018-01-01')); // false - * Carbon::parse('2019-01-12')->isSameMonth(Carbon::parse('2018-01-01'), false); // true - * ``` - * - * @param \Carbon\Carbon|\DateTimeInterface|null $date The instance to compare with or null to use the current date. - * @param bool $ofSameYear Check if it is the same month in the same year. - * - * @return bool - */ - public function isSameMonth($date = null, $ofSameYear = true); - - /** - * Checks if the passed in date is in the same quarter as the instance quarter (and year if needed). - * - * @example - * ``` - * Carbon::parse('2019-01-12')->isSameQuarter(Carbon::parse('2019-03-01')); // true - * Carbon::parse('2019-01-12')->isSameQuarter(Carbon::parse('2019-04-01')); // false - * Carbon::parse('2019-01-12')->isSameQuarter(Carbon::parse('2018-03-01')); // false - * Carbon::parse('2019-01-12')->isSameQuarter(Carbon::parse('2018-03-01'), false); // true - * ``` - * - * @param \Carbon\Carbon|\DateTimeInterface|string|null $date The instance to compare with or null to use current day. - * @param bool $ofSameYear Check if it is the same month in the same year. - * - * @return bool - */ - public function isSameQuarter($date = null, $ofSameYear = true); - - /** - * Determines if the instance is in the current unit given. - * - * @example - * ``` - * Carbon::parse('2019-01-13')->isSameUnit('year', Carbon::parse('2019-12-25')); // true - * Carbon::parse('2018-12-13')->isSameUnit('year', Carbon::parse('2019-12-25')); // false - * ``` - * - * @param string $unit singular unit string - * @param \Carbon\Carbon|\DateTimeInterface|null $date instance to compare with or null to use current day. - * - * @throws \InvalidArgumentException - * - * @return bool - */ - public function isSameUnit($unit, $date = null); - - /** - * Check if the instance is start of day / midnight. - * - * @example - * ``` - * Carbon::parse('2019-02-28 00:00:00')->isStartOfDay(); // true - * Carbon::parse('2019-02-28 00:00:00.999999')->isStartOfDay(); // true - * Carbon::parse('2019-02-28 00:00:01')->isStartOfDay(); // false - * Carbon::parse('2019-02-28 00:00:00.000000')->isStartOfDay(true); // true - * Carbon::parse('2019-02-28 00:00:00.000012')->isStartOfDay(true); // false - * ``` - * - * @param bool $checkMicroseconds check time at microseconds precision - * - * @return bool - */ - public function isStartOfDay($checkMicroseconds = false); - - /** - * Returns true if the strict mode is globally in use, false else. - * (It can be overridden in specific instances.) - * - * @return bool - */ - public static function isStrictModeEnabled(); - - /** - * Determines if the instance is today. - * - * @example - * ``` - * Carbon::today()->isToday(); // true - * Carbon::tomorrow()->isToday(); // false - * ``` - * - * @return bool - */ - public function isToday(); - - /** - * Determines if the instance is tomorrow. - * - * @example - * ``` - * Carbon::tomorrow()->isTomorrow(); // true - * Carbon::yesterday()->isTomorrow(); // false - * ``` - * - * @return bool - */ - public function isTomorrow(); - - /** - * Determines if the instance is a weekday. - * - * @example - * ``` - * Carbon::parse('2019-07-14')->isWeekday(); // false - * Carbon::parse('2019-07-15')->isWeekday(); // true - * ``` - * - * @return bool - */ - public function isWeekday(); - - /** - * Determines if the instance is a weekend day. - * - * @example - * ``` - * Carbon::parse('2019-07-14')->isWeekend(); // true - * Carbon::parse('2019-07-15')->isWeekend(); // false - * ``` - * - * @return bool - */ - public function isWeekend(); - - /** - * Determines if the instance is yesterday. - * - * @example - * ``` - * Carbon::yesterday()->isYesterday(); // true - * Carbon::tomorrow()->isYesterday(); // false - * ``` - * - * @return bool - */ - public function isYesterday(); - - /** - * Format in the current language using ISO replacement patterns. - * - * @param string $format - * @param string|null $originalFormat provide context if a chunk has been passed alone - * - * @return string - */ - public function isoFormat(string $format, string $originalFormat = null): string; - - /** - * Get/set the week number using given first day of week and first - * day of year included in the first week. Or use ISO format if no settings - * given. - * - * @param int|null $week - * @param int|null $dayOfWeek - * @param int|null $dayOfYear - * - * @return int|static - */ - public function isoWeek($week = null, $dayOfWeek = null, $dayOfYear = null); - - /** - * Set/get the week number of year using given first day of week and first - * day of year included in the first week. Or use ISO format if no settings - * given. - * - * @param int|null $year if null, act as a getter, if not null, set the year and return current instance. - * @param int|null $dayOfWeek first date of week from 0 (Sunday) to 6 (Saturday) - * @param int|null $dayOfYear first day of year included in the week #1 - * - * @return int|static - */ - public function isoWeekYear($year = null, $dayOfWeek = null, $dayOfYear = null); - - /** - * Get/set the ISO weekday from 1 (Monday) to 7 (Sunday). - * - * @param int|null $value new value for weekday if using as setter. - * - * @return static|int - */ - public function isoWeekday($value = null); - - /** - * Get the number of weeks of the current week-year using given first day of week and first - * day of year included in the first week. Or use ISO format if no settings - * given. - * - * @param int|null $dayOfWeek first date of week from 0 (Sunday) to 6 (Saturday) - * @param int|null $dayOfYear first day of year included in the week #1 - * - * @return int - */ - public function isoWeeksInYear($dayOfWeek = null, $dayOfYear = null); - - /** - * Prepare the object for JSON serialization. - * - * @return array|string - */ - public function jsonSerialize(); - - /** - * Modify to the last occurrence of a given day of the week - * in the current month. If no dayOfWeek is provided, modify to the - * last day of the current month. Use the supplied constants - * to indicate the desired dayOfWeek, ex. static::MONDAY. - * - * @param int|null $dayOfWeek - * - * @return static - */ - public function lastOfMonth($dayOfWeek = null); - - /** - * Modify to the last occurrence of a given day of the week - * in the current quarter. If no dayOfWeek is provided, modify to the - * last day of the current quarter. Use the supplied constants - * to indicate the desired dayOfWeek, ex. static::MONDAY. - * - * @param int|null $dayOfWeek day of the week default null - * - * @return static - */ - public function lastOfQuarter($dayOfWeek = null); - - /** - * Modify to the last occurrence of a given day of the week - * in the current year. If no dayOfWeek is provided, modify to the - * last day of the current year. Use the supplied constants - * to indicate the desired dayOfWeek, ex. static::MONDAY. - * - * @param int|null $dayOfWeek day of the week default null - * - * @return static - */ - public function lastOfYear($dayOfWeek = null); - - /** - * Determines if the instance is less (before) than another - * - * @example - * ``` - * Carbon::parse('2018-07-25 12:45:16')->lessThan('2018-07-25 12:45:15'); // false - * Carbon::parse('2018-07-25 12:45:16')->lessThan('2018-07-25 12:45:16'); // false - * Carbon::parse('2018-07-25 12:45:16')->lessThan('2018-07-25 12:45:17'); // true - * ``` - * - * @param \Carbon\Carbon|\DateTimeInterface|mixed $date - * - * @return bool - */ - public function lessThan($date): bool; - - /** - * Determines if the instance is less (before) or equal to another - * - * @example - * ``` - * Carbon::parse('2018-07-25 12:45:16')->lessThanOrEqualTo('2018-07-25 12:45:15'); // false - * Carbon::parse('2018-07-25 12:45:16')->lessThanOrEqualTo('2018-07-25 12:45:16'); // true - * Carbon::parse('2018-07-25 12:45:16')->lessThanOrEqualTo('2018-07-25 12:45:17'); // true - * ``` - * - * @param \Carbon\Carbon|\DateTimeInterface|mixed $date - * - * @return bool - */ - public function lessThanOrEqualTo($date): bool; - - /** - * Get/set the locale for the current instance. - * - * @param string|null $locale - * @param string[] ...$fallbackLocales - * - * @return $this|string - */ - public function locale(string $locale = null, ...$fallbackLocales); - - /** - * Returns true if the given locale is internally supported and has words for 1-day diff (just now, yesterday, tomorrow). - * Support is considered enabled if the 3 words are translated in the given locale. - * - * @param string $locale locale ex. en - * - * @return bool - */ - public static function localeHasDiffOneDayWords($locale); - - /** - * Returns true if the given locale is internally supported and has diff syntax support (ago, from now, before, after). - * Support is considered enabled if the 4 sentences are translated in the given locale. - * - * @param string $locale locale ex. en - * - * @return bool - */ - public static function localeHasDiffSyntax($locale); - - /** - * Returns true if the given locale is internally supported and has words for 2-days diff (before yesterday, after tomorrow). - * Support is considered enabled if the 2 words are translated in the given locale. - * - * @param string $locale locale ex. en - * - * @return bool - */ - public static function localeHasDiffTwoDayWords($locale); - - /** - * Returns true if the given locale is internally supported and has period syntax support (X times, every X, from X, to X). - * Support is considered enabled if the 4 sentences are translated in the given locale. - * - * @param string $locale locale ex. en - * - * @return bool - */ - public static function localeHasPeriodSyntax($locale); - - /** - * Returns true if the given locale is internally supported and has short-units support. - * Support is considered enabled if either year, day or hour has a short variant translated. - * - * @param string $locale locale ex. en - * - * @return bool - */ - public static function localeHasShortUnits($locale); - - /** - * Determines if the instance is less (before) than another - * - * @example - * ``` - * Carbon::parse('2018-07-25 12:45:16')->lt('2018-07-25 12:45:15'); // false - * Carbon::parse('2018-07-25 12:45:16')->lt('2018-07-25 12:45:16'); // false - * Carbon::parse('2018-07-25 12:45:16')->lt('2018-07-25 12:45:17'); // true - * ``` - * - * @param \Carbon\Carbon|\DateTimeInterface|mixed $date - * - * @see lessThan() - * - * @return bool - */ - public function lt($date): bool; - - /** - * Determines if the instance is less (before) or equal to another - * - * @example - * ``` - * Carbon::parse('2018-07-25 12:45:16')->lte('2018-07-25 12:45:15'); // false - * Carbon::parse('2018-07-25 12:45:16')->lte('2018-07-25 12:45:16'); // true - * Carbon::parse('2018-07-25 12:45:16')->lte('2018-07-25 12:45:17'); // true - * ``` - * - * @param \Carbon\Carbon|\DateTimeInterface|mixed $date - * - * @see lessThanOrEqualTo() - * - * @return bool - */ - public function lte($date): bool; - - /** - * Register a custom macro. - * - * @example - * ``` - * $userSettings = [ - * 'locale' => 'pt', - * 'timezone' => 'America/Sao_Paulo', - * ]; - * Carbon::macro('userFormat', function () use ($userSettings) { - * return $this->copy()->locale($userSettings['locale'])->tz($userSettings['timezone'])->calendar(); - * }); - * echo Carbon::yesterday()->hours(11)->userFormat(); - * ``` - * - * @param string $name - * @param object|callable $macro - * - * @return void - */ - public static function macro($name, $macro); - - /** - * Make a Carbon instance from given variable if possible. - * - * Always return a new instance. Parse only strings and only these likely to be dates (skip intervals - * and recurrences). Throw an exception for invalid format, but otherwise return null. - * - * @param mixed $var - * - * @return static|null - */ - public static function make($var); - - /** - * Get the maximum instance between a given instance (default now) and the current instance. - * - * @param \Carbon\Carbon|\DateTimeInterface|mixed $date - * - * @return static - */ - public function max($date = null); - - /** - * Create a Carbon instance for the greatest supported date. - * - * @return static - */ - public static function maxValue(); - - /** - * Get the maximum instance between a given instance (default now) and the current instance. - * - * @param \Carbon\Carbon|\DateTimeInterface|mixed $date - * - * @see max() - * - * @return static - */ - public function maximum($date = null); - - /** - * Return the meridiem of the current time in the current locale. - * - * @param bool $isLower if true, returns lowercase variant if available in the current locale. - * - * @return string - */ - public function meridiem(bool $isLower = false): string; - - /** - * Modify to midday, default to self::$midDayAt - * - * @return static - */ - public function midDay(); - - /** - * Get the minimum instance between a given instance (default now) and the current instance. - * - * @param \Carbon\Carbon|\DateTimeInterface|mixed $date - * - * @return static - */ - public function min($date = null); - - /** - * Create a Carbon instance for the lowest supported date. - * - * @return static - */ - public static function minValue(); - - /** - * Get the minimum instance between a given instance (default now) and the current instance. - * - * @param \Carbon\Carbon|\DateTimeInterface|mixed $date - * - * @see min() - * - * @return static - */ - public function minimum($date = null); - - /** - * Mix another object into the class. - * - * @example - * ``` - * Carbon::mixin(new class { - * public function addMoon() { - * return function () { - * return $this->addDays(30); - * }; - * } - * public function subMoon() { - * return function () { - * return $this->subDays(30); - * }; - * } - * }); - * $fullMoon = Carbon::create('2018-12-22'); - * $nextFullMoon = $fullMoon->addMoon(); - * $blackMoon = Carbon::create('2019-01-06'); - * $previousBlackMoon = $blackMoon->subMoon(); - * echo "$nextFullMoon\n"; - * echo "$previousBlackMoon\n"; - * ``` - * - * @param object|string $mixin - * - * @throws ReflectionException - * - * @return void - */ - public static function mixin($mixin); - - /** - * Calls \DateTime::modify if mutable or \DateTimeImmutable::modify else. - * - * @see https://php.net/manual/en/datetime.modify.php - */ - public function modify($modify); - - /** - * Determines if the instance is not equal to another - * - * @example - * ``` - * Carbon::parse('2018-07-25 12:45:16')->ne('2018-07-25 12:45:16'); // false - * Carbon::parse('2018-07-25 12:45:16')->ne(Carbon::parse('2018-07-25 12:45:16')); // false - * Carbon::parse('2018-07-25 12:45:16')->ne('2018-07-25 12:45:17'); // true - * ``` - * - * @param \Carbon\Carbon|\DateTimeInterface|mixed $date - * - * @see notEqualTo() - * - * @return bool - */ - public function ne($date): bool; - - /** - * Modify to the next occurrence of a given modifier such as a day of - * the week. If no modifier is provided, modify to the next occurrence - * of the current day of the week. Use the supplied constants - * to indicate the desired dayOfWeek, ex. static::MONDAY. - * - * @param string|int|null $modifier - * - * @return static - */ - public function next($modifier = null); - - /** - * Go forward to the next weekday. - * - * @return static - */ - public function nextWeekday(); - - /** - * Go forward to the next weekend day. - * - * @return static - */ - public function nextWeekendDay(); - - /** - * Determines if the instance is not equal to another - * - * @example - * ``` - * Carbon::parse('2018-07-25 12:45:16')->notEqualTo('2018-07-25 12:45:16'); // false - * Carbon::parse('2018-07-25 12:45:16')->notEqualTo(Carbon::parse('2018-07-25 12:45:16')); // false - * Carbon::parse('2018-07-25 12:45:16')->notEqualTo('2018-07-25 12:45:17'); // true - * ``` - * - * @param \Carbon\Carbon|\DateTimeInterface|mixed $date - * - * @return bool - */ - public function notEqualTo($date): bool; - - /** - * Get a Carbon instance for the current date and time. - * - * @param \DateTimeZone|string|null $tz - * - * @return static - */ - public static function now($tz = null); - - /** - * Returns a present instance in the same timezone. - * - * @return static - */ - public function nowWithSameTz(); - - /** - * Modify to the given occurrence of a given day of the week - * in the current month. If the calculated occurrence is outside the scope - * of the current month, then return false and no modifications are made. - * Use the supplied constants to indicate the desired dayOfWeek, ex. static::MONDAY. - * - * @param int $nth - * @param int $dayOfWeek - * - * @return mixed - */ - public function nthOfMonth($nth, $dayOfWeek); - - /** - * Modify to the given occurrence of a given day of the week - * in the current quarter. If the calculated occurrence is outside the scope - * of the current quarter, then return false and no modifications are made. - * Use the supplied constants to indicate the desired dayOfWeek, ex. static::MONDAY. - * - * @param int $nth - * @param int $dayOfWeek - * - * @return mixed - */ - public function nthOfQuarter($nth, $dayOfWeek); - - /** - * Modify to the given occurrence of a given day of the week - * in the current year. If the calculated occurrence is outside the scope - * of the current year, then return false and no modifications are made. - * Use the supplied constants to indicate the desired dayOfWeek, ex. static::MONDAY. - * - * @param int $nth - * @param int $dayOfWeek - * - * @return mixed - */ - public function nthOfYear($nth, $dayOfWeek); - - /** - * Return a property with its ordinal. - * - * @param string $key - * @param string|null $period - * - * @return string - */ - public function ordinal(string $key, string $period = null): string; - - /** - * Create a carbon instance from a string. - * - * This is an alias for the constructor that allows better fluent syntax - * as it allows you to do Carbon::parse('Monday next week')->fn() rather - * than (new Carbon('Monday next week'))->fn(). - * - * @param string|null $time - * @param \DateTimeZone|string|null $tz - * - * @return static - */ - public static function parse($time = null, $tz = null); - - /** - * Create a carbon instance from a localized string (in French, Japanese, Arabic, etc.). - * - * @param string $time - * @param string $locale - * @param \DateTimeZone|string|null $tz - * - * @return static - */ - public static function parseFromLocale($time, $locale, $tz = null); - - /** - * Returns standardized plural of a given singular/plural unit name (in English). - * - * @param string $unit - * - * @return string - */ - public static function pluralUnit(string $unit): string; - - /** - * Modify to the previous occurrence of a given modifier such as a day of - * the week. If no dayOfWeek is provided, modify to the previous occurrence - * of the current day of the week. Use the supplied constants - * to indicate the desired dayOfWeek, ex. static::MONDAY. - * - * @param string|int|null $modifier - * - * @return static - */ - public function previous($modifier = null); - - /** - * Go backward to the previous weekday. - * - * @return static - */ - public function previousWeekday(); - - /** - * Go backward to the previous weekend day. - * - * @return static - */ - public function previousWeekendDay(); - - /** - * Create a iterable CarbonPeriod object from current date to a given end date (and optional interval). - * - * @param \DateTimeInterface|Carbon|CarbonImmutable|null $end period end date - * @param int|\DateInterval|string|null $interval period default interval or number of the given $unit - * @param string|null $unit if specified, $interval must be an integer - * - * @return CarbonPeriod - */ - public function range($end = null, $interval = null, $unit = null); - - /** - * Create a Carbon instance from a specific format. - * - * @param string $format Datetime format - * @param string $time - * @param \DateTimeZone|string|false|null $tz - * - * @throws InvalidArgumentException - * - * @return static|false - */ - public static function rawCreateFromFormat($format, $time, $tz = null); - - /** - * @see https://php.net/manual/en/datetime.format.php - * - * @param string $format - * - * @return string - */ - public function rawFormat($format); - - /** - * Create a carbon instance from a string. - * - * This is an alias for the constructor that allows better fluent syntax - * as it allows you to do Carbon::parse('Monday next week')->fn() rather - * than (new Carbon('Monday next week'))->fn(). - * - * @param string|null $time - * @param \DateTimeZone|string|null $tz - * - * @return static - */ - public static function rawParse($time = null, $tz = null); - - /** - * Remove all macros and generic macros. - */ - public static function resetMacros(); - - /** - * @deprecated To avoid conflict between different third-party libraries, static setters should not be used. - * You should rather use the ->settings() method. - * Or you can use method variants: addMonthsWithOverflow/addMonthsNoOverflow, same variants - * are available for quarters, years, decade, centuries, millennia (singular and plural forms). - * @see settings - * - * Reset the month overflow behavior. - * - * @return void - */ - public static function resetMonthsOverflow(); - - /** - * Reset the format used to the default when type juggling a Carbon instance to a string - * - * @return void - */ - public static function resetToStringFormat(); - - /** - * @deprecated To avoid conflict between different third-party libraries, static setters should not be used. - * You should rather use the ->settings() method. - * Or you can use method variants: addYearsWithOverflow/addYearsNoOverflow, same variants - * are available for quarters, years, decade, centuries, millennia (singular and plural forms). - * @see settings - * - * Reset the month overflow behavior. - * - * @return void - */ - public static function resetYearsOverflow(); - - /** - * Round the current instance second with given precision if specified. - * - * @param float|int|string|\DateInterval|null $precision - * @param string $function - * - * @return CarbonInterface - */ - public function round($precision = 1, $function = 'round'); - - /** - * Round the current instance at the given unit with given precision if specified and the given function. - * - * @param string $unit - * @param float|int $precision - * @param string $function - * - * @return CarbonInterface - */ - public function roundUnit($unit, $precision = 1, $function = 'round'); - - /** - * Round the current instance week. - * - * @param int $weekStartsAt optional start allow you to specify the day of week to use to start the week - * - * @return CarbonInterface - */ - public function roundWeek($weekStartsAt = null); - - /** - * The number of seconds since midnight. - * - * @return int - */ - public function secondsSinceMidnight(); - - /** - * The number of seconds until 23:59:59. - * - * @return int - */ - public function secondsUntilEndOfDay(); - - /** - * Return a serialized string of the instance. - * - * @return string - */ - public function serialize(); - - /** - * @deprecated To avoid conflict between different third-party libraries, static setters should not be used. - * You should rather transform Carbon object before the serialization. - * - * JSON serialize all Carbon instances using the given callback. - * - * @param callable $callback - * - * @return void - */ - public static function serializeUsing($callback); - - /** - * Set a part of the Carbon object - * - * @param string|array $name - * @param string|int|DateTimeZone $value - * - * @throws InvalidArgumentException|ReflectionException - * - * @return $this - */ - public function set($name, $value = null); - - /** - * Set the date with gregorian year, month and day numbers. - * - * @see https://php.net/manual/en/datetime.setdate.php - * - * @param int $year - * @param int $month - * @param int $day - * - * @return static - */ - public function setDate($year, $month, $day); - - /** - * Set the year, month, and date for this instance to that of the passed instance. - * - * @param \Carbon\Carbon|\DateTimeInterface $date now if null - * - * @return static - */ - public function setDateFrom($date = null); - - /** - * Set the date and time all together. - * - * @param int $year - * @param int $month - * @param int $day - * @param int $hour - * @param int $minute - * @param int $second - * @param int $microseconds - * - * @return static - */ - public function setDateTime($year, $month, $day, $hour, $minute, $second = 0, $microseconds = 0); - - /** - * Set the date and time for this instance to that of the passed instance. - * - * @param \Carbon\Carbon|\DateTimeInterface $date - * - * @return static - */ - public function setDateTimeFrom($date = null); - - /** - * Set the fallback locale. - * - * @see https://symfony.com/doc/current/components/translation.html#fallback-locales - * - * @param string $locale - */ - public static function setFallbackLocale($locale); - - /** - * @deprecated To avoid conflict between different third-party libraries, static setters should not be used. - * You should rather use the ->settings() method. - * @see settings - * - * @param int $humanDiffOptions - */ - public static function setHumanDiffOptions($humanDiffOptions); - - /** - * Set a date according to the ISO 8601 standard - using weeks and day offsets rather than specific dates. - * - * @see https://php.net/manual/en/datetime.setisodate.php - * - * @param int $year - * @param int $week - * @param int $day - * - * @return static - */ - public function setISODate($year, $week, $day = 1); - - /** - * Set the translator for the current instance. - * - * @param \Symfony\Component\Translation\TranslatorInterface $translator - * - * @return $this - */ - public function setLocalTranslator(\Symfony\Component\Translation\TranslatorInterface $translator); - - /** - * Set the current translator locale and indicate if the source locale file exists. - * Pass 'auto' as locale to use closest language from the current LC_TIME locale. - * - * @param string $locale locale ex. en - * - * @return bool - */ - public static function setLocale($locale); - - /** - * @deprecated To avoid conflict between different third-party libraries, static setters should not be used. - * You should rather consider mid-day is always 12pm, then if you need to test if it's an other - * hour, test it explicitly: - * $date->format('G') == 13 - * or to set explicitly to a given hour: - * $date->setTime(13, 0, 0, 0) - * - * Set midday/noon hour - * - * @param int $hour midday hour - * - * @return void - */ - public static function setMidDayAt($hour); - - /** - * Set a Carbon instance (real or mock) to be returned when a "now" - * instance is created. The provided instance will be returned - * specifically under the following conditions: - * - A call to the static now() method, ex. Carbon::now() - * - When a null (or blank string) is passed to the constructor or parse(), ex. new Carbon(null) - * - When the string "now" is passed to the constructor or parse(), ex. new Carbon('now') - * - When a string containing the desired time is passed to Carbon::parse(). - * - * Note the timezone parameter was left out of the examples above and - * has no affect as the mock value will be returned regardless of its value. - * - * To clear the test instance call this method using the default - * parameter of null. - * - * /!\ Use this method for unit tests only. - * - * @param Closure|static|string|null $testNow real or mock Carbon instance - */ - public static function setTestNow($testNow = null); - - /** - * Resets the current time of the DateTime object to a different time. - * - * @see https://php.net/manual/en/datetime.settime.php - * - * @param int $hour - * @param int $minute - * @param int $second - * @param int $microseconds - * - * @return static - */ - public function setTime($hour, $minute, $second = 0, $microseconds = 0); - - /** - * Set the hour, minute, second and microseconds for this instance to that of the passed instance. - * - * @param \Carbon\Carbon|\DateTimeInterface $date now if null - * - * @return static - */ - public function setTimeFrom($date = null); - - /** - * Set the time by time string. - * - * @param string $time - * - * @return static - */ - public function setTimeFromTimeString($time); - - /** - * Sets the date and time based on an Unix timestamp. - * - * @see https://php.net/manual/en/datetime.settimestamp.php - * - * @param int $unixtimestamp - * - * @return static - */ - public function setTimestamp($unixtimestamp); - - /** - * Set the instance's timezone from a string or object. - * - * @param DateTimeZone|string $value - * - * @return static - */ - public function setTimezone($value); - - /** - * @deprecated To avoid conflict between different third-party libraries, static setters should not be used. - * You should rather let Carbon object being casted to string with DEFAULT_TO_STRING_FORMAT, and - * use other method or custom format passed to format() method if you need to dump an other string - * format. - * - * Set the default format used when type juggling a Carbon instance to a string - * - * @param string|Closure|null $format - * - * @return void - */ - public static function setToStringFormat($format); - - /** - * Set the default translator instance to use. - * - * @param \Symfony\Component\Translation\TranslatorInterface $translator - * - * @return void - */ - public static function setTranslator(\Symfony\Component\Translation\TranslatorInterface $translator); - - /** - * Set specified unit to new given value. - * - * @param string $unit year, month, day, hour, minute, second or microsecond - * @param int $value new value for given unit - * - * @return static - */ - public function setUnit($unit, $value = null); - - /** - * Set any unit to a new value without overflowing current other unit given. - * - * @param string $valueUnit unit name to modify - * @param int $value new value for the input unit - * @param string $overflowUnit unit name to not overflow - * - * @return static - */ - public function setUnitNoOverflow($valueUnit, $value, $overflowUnit); - - /** - * @deprecated To avoid conflict between different third-party libraries, static setters should not be used. - * You should rather use UTF-8 language packages on every machine. - * - * Set if UTF8 will be used for localized date/time. - * - * @param bool $utf8 - */ - public static function setUtf8($utf8); - - /** - * @deprecated To avoid conflict between different third-party libraries, static setters should not be used. - * Use $weekStartsAt optional parameter instead when using startOfWeek, floorWeek, ceilWeek - * or roundWeek method. You can also use the 'first_day_of_week' locale setting to change the - * start of week according to current locale selected and implicitly the end of week. - * - * Set the last day of week - * - * @param int $day - * - * @return void - */ - public static function setWeekEndsAt($day); - - /** - * @deprecated To avoid conflict between different third-party libraries, static setters should not be used. - * Use $weekEndsAt optional parameter instead when using endOfWeek method. You can also use the - * 'first_day_of_week' locale setting to change the start of week according to current locale - * selected and implicitly the end of week. - * - * Set the first day of week - * - * @param int $day week start day - * - * @return void - */ - public static function setWeekStartsAt($day); - - /** - * @deprecated To avoid conflict between different third-party libraries, static setters should not be used. - * You should rather consider week-end is always saturday and sunday, and if you have some custom - * week-end days to handle, give to those days an other name and create a macro for them: - * - * ``` - * Carbon::macro('isDayOff', function ($date) { - * return $date->isSunday() || $date->isMonday(); - * }); - * Carbon::macro('isNotDayOff', function ($date) { - * return !$date->isDayOff(); - * }); - * if ($someDate->isDayOff()) ... - * if ($someDate->isNotDayOff()) ... - * // Add 5 not-off days - * $count = 5; - * while ($someDate->isDayOff() || ($count-- > 0)) { - * $someDate->addDay(); - * } - * ``` - * - * Set weekend days - * - * @param array $days - * - * @return void - */ - public static function setWeekendDays($days); - - /** - * Set specific options. - * - strictMode: true|false|null - * - monthOverflow: true|false|null - * - yearOverflow: true|false|null - * - humanDiffOptions: int|null - * - toStringFormat: string|Closure|null - * - toJsonFormat: string|Closure|null - * - locale: string|null - * - timezone: \DateTimeZone|string|int|null - * - macros: array|null - * - genericMacros: array|null - * - * @param array $settings - * - * @return $this|static - */ - public function settings(array $settings); - - /** - * Set the instance's timezone from a string or object and add/subtract the offset difference. - * - * @param DateTimeZone|string $value - * - * @return static - */ - public function shiftTimezone($value); - - /** - * Get the month overflow global behavior (can be overridden in specific instances). - * - * @return bool - */ - public static function shouldOverflowMonths(); - - /** - * Get the month overflow global behavior (can be overridden in specific instances). - * - * @return bool - */ - public static function shouldOverflowYears(); - - /** - * @alias diffForHumans - * - * Get the difference in a human readable format in the current locale from current instance to an other - * instance given (or now if null given). - */ - public function since($other = null, $syntax = null, $short = false, $parts = 1, $options = null); - - /** - * Returns standardized singular of a given singular/plural unit name (in English). - * - * @param string $unit - * - * @return string - */ - public static function singularUnit(string $unit): string; - - /** - * Modify to start of current given unit. - * - * @example - * ``` - * echo Carbon::parse('2018-07-25 12:45:16.334455') - * ->startOf('month') - * ->endOf('week', Carbon::FRIDAY); - * ``` - * - * @param string $unit - * @param array $params - * - * @return static - */ - public function startOf($unit, ...$params); - - /** - * Resets the date to the first day of the century and the time to 00:00:00 - * - * @example - * ``` - * echo Carbon::parse('2018-07-25 12:45:16')->startOfCentury(); - * ``` - * - * @return static - */ - public function startOfCentury(); - - /** - * Resets the time to 00:00:00 start of day - * - * @example - * ``` - * echo Carbon::parse('2018-07-25 12:45:16')->startOfDay(); - * ``` - * - * @return static - */ - public function startOfDay(); - - /** - * Resets the date to the first day of the decade and the time to 00:00:00 - * - * @example - * ``` - * echo Carbon::parse('2018-07-25 12:45:16')->startOfDecade(); - * ``` - * - * @return static - */ - public function startOfDecade(); - - /** - * Modify to start of current hour, minutes and seconds become 0 - * - * @example - * ``` - * echo Carbon::parse('2018-07-25 12:45:16')->startOfHour(); - * ``` - * - * @return static - */ - public function startOfHour(); - - /** - * Resets the date to the first day of the century and the time to 00:00:00 - * - * @example - * ``` - * echo Carbon::parse('2018-07-25 12:45:16')->startOfMillennium(); - * ``` - * - * @return static - */ - public function startOfMillennium(); - - /** - * Modify to start of current minute, seconds become 0 - * - * @example - * ``` - * echo Carbon::parse('2018-07-25 12:45:16')->startOfMinute(); - * ``` - * - * @return static - */ - public function startOfMinute(); - - /** - * Resets the date to the first day of the month and the time to 00:00:00 - * - * @example - * ``` - * echo Carbon::parse('2018-07-25 12:45:16')->startOfMonth(); - * ``` - * - * @return static - */ - public function startOfMonth(); - - /** - * Resets the date to the first day of the quarter and the time to 00:00:00 - * - * @example - * ``` - * echo Carbon::parse('2018-07-25 12:45:16')->startOfQuarter(); - * ``` - * - * @return static - */ - public function startOfQuarter(); - - /** - * Modify to start of current second, microseconds become 0 - * - * @example - * ``` - * echo Carbon::parse('2018-07-25 12:45:16.334455') - * ->startOfSecond() - * ->format('H:i:s.u'); - * ``` - * - * @return static - */ - public function startOfSecond(); - - /** - * Resets the date to the first day of week (defined in $weekStartsAt) and the time to 00:00:00 - * - * @example - * ``` - * echo Carbon::parse('2018-07-25 12:45:16')->startOfWeek() . "\n"; - * echo Carbon::parse('2018-07-25 12:45:16')->locale('ar')->startOfWeek() . "\n"; - * echo Carbon::parse('2018-07-25 12:45:16')->startOfWeek(Carbon::SUNDAY) . "\n"; - * ``` - * - * @param int $weekStartsAt optional start allow you to specify the day of week to use to start the week - * - * @return static - */ - public function startOfWeek($weekStartsAt = null); - - /** - * Resets the date to the first day of the year and the time to 00:00:00 - * - * @example - * ``` - * echo Carbon::parse('2018-07-25 12:45:16')->startOfYear(); - * ``` - * - * @return static - */ - public function startOfYear(); - - /** - * Subtract given units or interval to the current instance. - * - * @example $date->sub('hour', 3) - * @example $date->sub(15, 'days') - * @example $date->sub(CarbonInterval::days(4)) - * - * @param string|DateInterval $unit - * @param int $value - * @param bool|null $overflow - * - * @return static - */ - public function sub($unit, $value = 1, $overflow = null); - - public function subRealUnit($unit, $value = 1); - - /** - * Subtract given units to the current instance. - * - * @param string $unit - * @param int $value - * @param bool|null $overflow - * - * @return static - */ - public function subUnit($unit, $value = 1, $overflow = null); - - /** - * Subtract any unit to a new value without overflowing current other unit given. - * - * @param string $valueUnit unit name to modify - * @param int $value amount to subtract to the input unit - * @param string $overflowUnit unit name to not overflow - * - * @return static - */ - public function subUnitNoOverflow($valueUnit, $value, $overflowUnit); - - /** - * Subtract given units or interval to the current instance. - * - * @see sub() - * - * @param string|DateInterval $unit - * @param int $value - * @param bool|null $overflow - * - * @return static - */ - public function subtract($unit, $value = 1, $overflow = null); - - /** - * Get the difference in a human readable format in the current locale from current instance to an other - * instance given (or now if null given). - * - * @return string - */ - public function timespan($other = null, $timezone = null); - - /** - * Set the instance's timestamp. - * - * @param int $value - * - * @return static - */ - public function timestamp($value); - - /** - * @alias setTimezone - * - * @param DateTimeZone|string $value - * - * @return static - */ - public function timezone($value); - - /** - * Get the difference in a human readable format in the current locale from an other - * instance given (or now if null given) to current instance. - * - * When comparing a value in the past to default now: - * 1 hour from now - * 5 months from now - * - * When comparing a value in the future to default now: - * 1 hour ago - * 5 months ago - * - * When comparing a value in the past to another value: - * 1 hour after - * 5 months after - * - * When comparing a value in the future to another value: - * 1 hour before - * 5 months before - * - * @param Carbon|\DateTimeInterface|string|array|null $other if array passed, will be used as parameters array, see $syntax below; - * if null passed, now will be used as comparison reference; - * if any other type, it will be converted to date and used as reference. - * @param int|array $syntax if array passed, parameters will be extracted from it, the array may contains: - * - 'syntax' entry (see below) - * - 'short' entry (see below) - * - 'parts' entry (see below) - * - 'options' entry (see below) - * - 'join' entry determines how to join multiple parts of the string - * ` - if $join is a string, it's used as a joiner glue - * ` - if $join is a callable/closure, it get the list of string and should return a string - * ` - if $join is an array, the first item will be the default glue, and the second item - * ` will be used instead of the glue for the last item - * ` - if $join is true, it will be guessed from the locale ('list' translation file entry) - * ` - if $join is missing, a space will be used as glue - * - 'other' entry (see above) - * if int passed, it add modifiers: - * Possible values: - * - CarbonInterface::DIFF_ABSOLUTE no modifiers - * - CarbonInterface::DIFF_RELATIVE_TO_NOW add ago/from now modifier - * - CarbonInterface::DIFF_RELATIVE_TO_OTHER add before/after modifier - * Default value: CarbonInterface::DIFF_ABSOLUTE - * @param bool $short displays short format of time units - * @param int $parts maximum number of parts to display (default value: 1: single unit) - * @param int $options human diff options - * - * @return string - */ - public function to($other = null, $syntax = null, $short = false, $parts = 1, $options = null); - - /** - * Get default array representation. - * - * @example - * ``` - * var_dump(Carbon::now()->toArray()); - * ``` - * - * @return array - */ - public function toArray(); - - /** - * Format the instance as ATOM - * - * @example - * ``` - * echo Carbon::now()->toAtomString(); - * ``` - * - * @return string - */ - public function toAtomString(); - - /** - * Format the instance as COOKIE - * - * @example - * ``` - * echo Carbon::now()->toCookieString(); - * ``` - * - * @return string - */ - public function toCookieString(); - - /** - * @alias toDateTime - * - * Return native DateTime PHP object matching the current instance. - * - * @example - * ``` - * var_dump(Carbon::now()->toDate()); - * ``` - * - * @return DateTime - */ - public function toDate(); - - /** - * Format the instance as date - * - * @example - * ``` - * echo Carbon::now()->toDateString(); - * ``` - * - * @return string - */ - public function toDateString(); - - /** - * Return native DateTime PHP object matching the current instance. - * - * @example - * ``` - * var_dump(Carbon::now()->toDateTime()); - * ``` - * - * @return DateTime - */ - public function toDateTime(); - - /** - * Return native toDateTimeImmutable PHP object matching the current instance. - * - * @example - * ``` - * var_dump(Carbon::now()->toDateTimeImmutable()); - * ``` - * - * @return DateTimeImmutable - */ - public function toDateTimeImmutable(); - - /** - * Format the instance as date and time T-separated with no timezone - * - * @example - * ``` - * echo Carbon::now()->toDateTimeLocalString(); - * echo "\n"; - * echo Carbon::now()->toDateTimeLocalString('minute'); // You can specify precision among: minute, second, millisecond and microsecond - * ``` - * - * @param string $unitPrecision - * - * @return string - */ - public function toDateTimeLocalString($unitPrecision = 'second'); - - /** - * Format the instance as date and time - * - * @example - * ``` - * echo Carbon::now()->toDateTimeString(); - * ``` - * - * @param string $unitPrecision - * - * @return string - */ - public function toDateTimeString($unitPrecision = 'second'); - - /** - * Format the instance with day, date and time - * - * @example - * ``` - * echo Carbon::now()->toDayDateTimeString(); - * ``` - * - * @return string - */ - public function toDayDateTimeString(); - - /** - * Format the instance as a readable date - * - * @example - * ``` - * echo Carbon::now()->toFormattedDateString(); - * ``` - * - * @return string - */ - public function toFormattedDateString(); - - /** - * Return the ISO-8601 string (ex: 1977-04-22T06:00:00Z, if $keepOffset truthy, offset will be kept: - * 1977-04-22T01:00:00-05:00). - * - * @example - * ``` - * echo Carbon::now('America/Toronto')->toISOString() . "\n"; - * echo Carbon::now('America/Toronto')->toISOString(true) . "\n"; - * ``` - * - * @param bool $keepOffset Pass true to keep the date offset. Else forced to UTC. - * - * @return null|string - */ - public function toISOString($keepOffset = false); - - /** - * Return a immutable copy of the instance. - * - * @return CarbonImmutable - */ - public function toImmutable(); - - /** - * Format the instance as ISO8601 - * - * @example - * ``` - * echo Carbon::now()->toIso8601String(); - * ``` - * - * @return string - */ - public function toIso8601String(); - - /** - * Convert the instance to UTC and return as Zulu ISO8601 - * - * @example - * ``` - * echo Carbon::now()->toIso8601ZuluString(); - * ``` - * - * @param string $unitPrecision - * - * @return string - */ - public function toIso8601ZuluString($unitPrecision = 'second'); - - /** - * Return the ISO-8601 string (ex: 1977-04-22T06:00:00Z) with UTC timezone. - * - * @example - * ``` - * echo Carbon::now('America/Toronto')->toJSON(); - * ``` - * - * @return null|string - */ - public function toJSON(); - - /** - * Return a mutable copy of the instance. - * - * @return Carbon - */ - public function toMutable(); - - /** - * Get the difference in a human readable format in the current locale from an other - * instance given to now - * - * @param int|array $syntax if array passed, parameters will be extracted from it, the array may contains: - * - 'syntax' entry (see below) - * - 'short' entry (see below) - * - 'parts' entry (see below) - * - 'options' entry (see below) - * - 'join' entry determines how to join multiple parts of the string - * ` - if $join is a string, it's used as a joiner glue - * ` - if $join is a callable/closure, it get the list of string and should return a string - * ` - if $join is an array, the first item will be the default glue, and the second item - * ` will be used instead of the glue for the last item - * ` - if $join is true, it will be guessed from the locale ('list' translation file entry) - * ` - if $join is missing, a space will be used as glue - * if int passed, it add modifiers: - * Possible values: - * - CarbonInterface::DIFF_ABSOLUTE no modifiers - * - CarbonInterface::DIFF_RELATIVE_TO_NOW add ago/from now modifier - * - CarbonInterface::DIFF_RELATIVE_TO_OTHER add before/after modifier - * Default value: CarbonInterface::DIFF_ABSOLUTE - * @param bool $short displays short format of time units - * @param int $parts maximum number of parts to display (default value: 1: single part) - * @param int $options human diff options - * - * @return string - */ - public function toNow($syntax = null, $short = false, $parts = 1, $options = null); - - /** - * Get default object representation. - * - * @example - * ``` - * var_dump(Carbon::now()->toObject()); - * ``` - * - * @return object - */ - public function toObject(); - - /** - * Create a iterable CarbonPeriod object from current date to a given end date (and optional interval). - * - * @param \DateTimeInterface|Carbon|CarbonImmutable|int|null $end period end date or recurrences count if int - * @param int|\DateInterval|string|null $interval period default interval or number of the given $unit - * @param string|null $unit if specified, $interval must be an integer - * - * @return CarbonPeriod - */ - public function toPeriod($end = null, $interval = null, $unit = null); - - /** - * Format the instance as RFC1036 - * - * @example - * ``` - * echo Carbon::now()->toRfc1036String(); - * ``` - * - * @return string - */ - public function toRfc1036String(); - - /** - * Format the instance as RFC1123 - * - * @example - * ``` - * echo Carbon::now()->toRfc1123String(); - * ``` - * - * @return string - */ - public function toRfc1123String(); - - /** - * Format the instance as RFC2822 - * - * @example - * ``` - * echo Carbon::now()->toRfc2822String(); - * ``` - * - * @return string - */ - public function toRfc2822String(); - - /** - * Format the instance as RFC3339 - * - * @example - * ``` - * echo Carbon::now()->toRfc3339String(); - * ``` - * - * @return string - */ - public function toRfc3339String(); - - /** - * Format the instance as RFC7231 - * - * @example - * ``` - * echo Carbon::now()->toRfc7231String(); - * ``` - * - * @return string - */ - public function toRfc7231String(); - - /** - * Format the instance as RFC822 - * - * @example - * ``` - * echo Carbon::now()->toRfc822String(); - * ``` - * - * @return string - */ - public function toRfc822String(); - - /** - * Format the instance as RFC850 - * - * @example - * ``` - * echo Carbon::now()->toRfc850String(); - * ``` - * - * @return string - */ - public function toRfc850String(); - - /** - * Format the instance as RSS - * - * @example - * ``` - * echo Carbon::now()->toRssString(); - * ``` - * - * @return string - */ - public function toRssString(); - - /** - * Returns english human readable complete date string. - * - * @example - * ``` - * echo Carbon::now()->toString(); - * ``` - * - * @return string - */ - public function toString(); - - /** - * Format the instance as time - * - * @example - * ``` - * echo Carbon::now()->toTimeString(); - * ``` - * - * @param string $unitPrecision - * - * @return string - */ - public function toTimeString($unitPrecision = 'second'); - - /** - * Format the instance as W3C - * - * @example - * ``` - * echo Carbon::now()->toW3cString(); - * ``` - * - * @return string - */ - public function toW3cString(); - - /** - * Create a Carbon instance for today. - * - * @param \DateTimeZone|string|null $tz - * - * @return static - */ - public static function today($tz = null); - - /** - * Create a Carbon instance for tomorrow. - * - * @param \DateTimeZone|string|null $tz - * - * @return static - */ - public static function tomorrow($tz = null); - - /** - * Translate using translation string or callback available. - * - * @param string $key - * @param array $parameters - * @param null $number - * @param \Symfony\Component\Translation\TranslatorInterface $translator - * - * @return string - */ - public function translate(string $key, array $parameters = [], $number = null, \Symfony\Component\Translation\TranslatorInterface $translator = null, bool $altNumbers = false): string; - - /** - * Returns the alternative number for a given integer if available in the current locale. - * - * @param int $number - * - * @return string - */ - public function translateNumber(int $number): string; - - /** - * Translate a time string from a locale to an other. - * - * @param string $timeString time string to translate - * @param string|null $from input locale of the $timeString parameter (`Carbon::getLocale()` by default) - * @param string|null $to output locale of the result returned (`"en"` by default) - * @param int $mode specify what to translate with options: - * - CarbonInterface::TRANSLATE_ALL (default) - * - CarbonInterface::TRANSLATE_MONTHS - * - CarbonInterface::TRANSLATE_DAYS - * - CarbonInterface::TRANSLATE_UNITS - * - CarbonInterface::TRANSLATE_MERIDIEM - * You can use pipe to group: CarbonInterface::TRANSLATE_MONTHS | CarbonInterface::TRANSLATE_DAYS - * - * @return string - */ - public static function translateTimeString($timeString, $from = null, $to = null, $mode = 15); - - /** - * Translate a time string from the current locale (`$date->locale()`) to an other. - * - * @param string $timeString time string to translate - * @param string|null $to output locale of the result returned ("en" by default) - * - * @return string - */ - public function translateTimeStringTo($timeString, $to = null); - - /** - * Translate using translation string or callback available. - * - * @param \Symfony\Component\Translation\TranslatorInterface $translator - * @param string $key - * @param array $parameters - * @param null $number - * - * @return string - */ - public static function translateWith(\Symfony\Component\Translation\TranslatorInterface $translator, string $key, array $parameters = [], $number = null): string; - - /** - * Format as ->format() do (using date replacements patterns from http://php.net/manual/fr/function.date.php) - * but translate words whenever possible (months, day names, etc.) using the current locale. - * - * @param string $format - * - * @return string - */ - public function translatedFormat(string $format): string; - - /** - * Set the timezone or returns the timezone name if no arguments passed. - * - * @param DateTimeZone|string $value - * - * @return static|string - */ - public function tz($value = null); - - /** - * @alias getTimestamp - * - * Returns the UNIX timestamp for the current date. - * - * @return int - */ - public function unix(); - - /** - * @alias to - * - * Get the difference in a human readable format in the current locale from an other - * instance given (or now if null given) to current instance. - * - * @param Carbon|\DateTimeInterface|string|array|null $other if array passed, will be used as parameters array, see $syntax below; - * if null passed, now will be used as comparison reference; - * if any other type, it will be converted to date and used as reference. - * @param int|array $syntax if array passed, parameters will be extracted from it, the array may contains: - * - 'syntax' entry (see below) - * - 'short' entry (see below) - * - 'parts' entry (see below) - * - 'options' entry (see below) - * - 'join' entry determines how to join multiple parts of the string - * ` - if $join is a string, it's used as a joiner glue - * ` - if $join is a callable/closure, it get the list of string and should return a string - * ` - if $join is an array, the first item will be the default glue, and the second item - * ` will be used instead of the glue for the last item - * ` - if $join is true, it will be guessed from the locale ('list' translation file entry) - * ` - if $join is missing, a space will be used as glue - * - 'other' entry (see above) - * if int passed, it add modifiers: - * Possible values: - * - CarbonInterface::DIFF_ABSOLUTE no modifiers - * - CarbonInterface::DIFF_RELATIVE_TO_NOW add ago/from now modifier - * - CarbonInterface::DIFF_RELATIVE_TO_OTHER add before/after modifier - * Default value: CarbonInterface::DIFF_ABSOLUTE - * @param bool $short displays short format of time units - * @param int $parts maximum number of parts to display (default value: 1: single unit) - * @param int $options human diff options - * - * @return string - */ - public function until($other = null, $syntax = null, $short = false, $parts = 1, $options = null); - - /** - * @deprecated To avoid conflict between different third-party libraries, static setters should not be used. - * You should rather use the ->settings() method. - * Or you can use method variants: addMonthsWithOverflow/addMonthsNoOverflow, same variants - * are available for quarters, years, decade, centuries, millennia (singular and plural forms). - * @see settings - * - * Indicates if months should be calculated with overflow. - * - * @param bool $monthsOverflow - * - * @return void - */ - public static function useMonthsOverflow($monthsOverflow = true); - - /** - * @deprecated To avoid conflict between different third-party libraries, static setters should not be used. - * You should rather use the ->settings() method. - * @see settings - * - * Enable the strict mode (or disable with passing false). - * - * @param bool $strictModeEnabled - */ - public static function useStrictMode($strictModeEnabled = true); - - /** - * @deprecated To avoid conflict between different third-party libraries, static setters should not be used. - * You should rather use the ->settings() method. - * Or you can use method variants: addYearsWithOverflow/addYearsNoOverflow, same variants - * are available for quarters, years, decade, centuries, millennia (singular and plural forms). - * @see settings - * - * Indicates if years should be calculated with overflow. - * - * @param bool $yearsOverflow - * - * @return void - */ - public static function useYearsOverflow($yearsOverflow = true); - - /** - * Set the instance's timezone to UTC. - * - * @return static - */ - public function utc(); - - /** - * Returns the minutes offset to UTC if no arguments passed, else set the timezone with given minutes shift passed. - * - * @param int|null $offset - * - * @return int|static - */ - public function utcOffset(int $offset = null); - - /** - * Returns the milliseconds timestamps used amongst other by Date javascript objects. - * - * @return float - */ - public function valueOf(); - - /** - * Get/set the week number using given first day of week and first - * day of year included in the first week. Or use US format if no settings - * given (Sunday / Jan 6). - * - * @param int|null $week - * @param int|null $dayOfWeek - * @param int|null $dayOfYear - * - * @return int|static - */ - public function week($week = null, $dayOfWeek = null, $dayOfYear = null); - - /** - * Set/get the week number of year using given first day of week and first - * day of year included in the first week. Or use US format if no settings - * given (Sunday / Jan 6). - * - * @param int|null $year if null, act as a getter, if not null, set the year and return current instance. - * @param int|null $dayOfWeek first date of week from 0 (Sunday) to 6 (Saturday) - * @param int|null $dayOfYear first day of year included in the week #1 - * - * @return int|static - */ - public function weekYear($year = null, $dayOfWeek = null, $dayOfYear = null); - - /** - * Get/set the weekday from 0 (Sunday) to 6 (Saturday). - * - * @param int|null $value new value for weekday if using as setter. - * - * @return static|int - */ - public function weekday($value = null); - - /** - * Get the number of weeks of the current week-year using given first day of week and first - * day of year included in the first week. Or use US format if no settings - * given (Sunday / Jan 6). - * - * @param int|null $dayOfWeek first date of week from 0 (Sunday) to 6 (Saturday) - * @param int|null $dayOfYear first day of year included in the week #1 - * - * @return int - */ - public function weeksInYear($dayOfWeek = null, $dayOfYear = null); - - /** - * Create a Carbon instance for yesterday. - * - * @param \DateTimeZone|string|null $tz - * - * @return static - */ - public static function yesterday($tz = null); - - // -} diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/CarbonInterval.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/CarbonInterval.php deleted file mode 100644 index 0c8a9d8..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/CarbonInterval.php +++ /dev/null @@ -1,2394 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace Carbon; - -use BadMethodCallException; -use Carbon\Exceptions\ParseErrorException; -use Carbon\Traits\Mixin; -use Carbon\Traits\Options; -use Closure; -use DateInterval; -use Exception; -use InvalidArgumentException; - -/** - * A simple API extension for DateInterval. - * The implementation provides helpers to handle weeks but only days are saved. - * Weeks are calculated based on the total days of the current instance. - * - * @property int $years Total years of the current interval. - * @property int $months Total months of the current interval. - * @property int $weeks Total weeks of the current interval calculated from the days. - * @property int $dayz Total days of the current interval (weeks * 7 + days). - * @property int $hours Total hours of the current interval. - * @property int $minutes Total minutes of the current interval. - * @property int $seconds Total seconds of the current interval. - * @property int $microseconds Total microseconds of the current interval. - * @property int $milliseconds Total microseconds of the current interval. - * @property-read int $dayzExcludeWeeks Total days remaining in the final week of the current instance (days % 7). - * @property-read int $daysExcludeWeeks alias of dayzExcludeWeeks - * @property-read float $totalYears Number of years equivalent to the interval. - * @property-read float $totalMonths Number of months equivalent to the interval. - * @property-read float $totalWeeks Number of weeks equivalent to the interval. - * @property-read float $totalDays Number of days equivalent to the interval. - * @property-read float $totalDayz Alias for totalDays. - * @property-read float $totalHours Number of hours equivalent to the interval. - * @property-read float $totalMinutes Number of minutes equivalent to the interval. - * @property-read float $totalSeconds Number of seconds equivalent to the interval. - * @property-read float $totalMilliseconds Number of milliseconds equivalent to the interval. - * @property-read float $totalMicroseconds Number of microseconds equivalent to the interval. - * @property-read string $locale locale of the current instance - * - * @method static CarbonInterval years($years = 1) Create instance specifying a number of years. - * @method static CarbonInterval year($years = 1) Alias for years() - * @method static CarbonInterval months($months = 1) Create instance specifying a number of months. - * @method static CarbonInterval month($months = 1) Alias for months() - * @method static CarbonInterval weeks($weeks = 1) Create instance specifying a number of weeks. - * @method static CarbonInterval week($weeks = 1) Alias for weeks() - * @method static CarbonInterval days($days = 1) Create instance specifying a number of days. - * @method static CarbonInterval dayz($days = 1) Alias for days() - * @method static CarbonInterval day($days = 1) Alias for days() - * @method static CarbonInterval hours($hours = 1) Create instance specifying a number of hours. - * @method static CarbonInterval hour($hours = 1) Alias for hours() - * @method static CarbonInterval minutes($minutes = 1) Create instance specifying a number of minutes. - * @method static CarbonInterval minute($minutes = 1) Alias for minutes() - * @method static CarbonInterval seconds($seconds = 1) Create instance specifying a number of seconds. - * @method static CarbonInterval second($seconds = 1) Alias for seconds() - * @method static CarbonInterval milliseconds($milliseconds = 1) Create instance specifying a number of milliseconds. - * @method static CarbonInterval millisecond($milliseconds = 1) Alias for milliseconds() - * @method static CarbonInterval microseconds($microseconds = 1) Create instance specifying a number of microseconds. - * @method static CarbonInterval microsecond($microseconds = 1) Alias for microseconds() - * @method $this years($years = 1) Set the years portion of the current interval. - * @method $this year($years = 1) Alias for years(). - * @method $this months($months = 1) Set the months portion of the current interval. - * @method $this month($months = 1) Alias for months(). - * @method $this weeks($weeks = 1) Set the weeks portion of the current interval. Will overwrite dayz value. - * @method $this week($weeks = 1) Alias for weeks(). - * @method $this days($days = 1) Set the days portion of the current interval. - * @method $this dayz($days = 1) Alias for days(). - * @method $this day($days = 1) Alias for days(). - * @method $this hours($hours = 1) Set the hours portion of the current interval. - * @method $this hour($hours = 1) Alias for hours(). - * @method $this minutes($minutes = 1) Set the minutes portion of the current interval. - * @method $this minute($minutes = 1) Alias for minutes(). - * @method $this seconds($seconds = 1) Set the seconds portion of the current interval. - * @method $this second($seconds = 1) Alias for seconds(). - * @method $this milliseconds($seconds = 1) Set the seconds portion of the current interval. - * @method $this millisecond($seconds = 1) Alias for seconds(). - * @method $this microseconds($seconds = 1) Set the seconds portion of the current interval. - * @method $this microsecond($seconds = 1) Alias for seconds(). - * @method $this roundYear(float $precision = 1, string $function = "round") Round the current instance year with given precision using the given function. - * @method $this roundYears(float $precision = 1, string $function = "round") Round the current instance year with given precision using the given function. - * @method $this floorYear(float $precision = 1) Truncate the current instance year with given precision. - * @method $this floorYears(float $precision = 1) Truncate the current instance year with given precision. - * @method $this ceilYear(float $precision = 1) Ceil the current instance year with given precision. - * @method $this ceilYears(float $precision = 1) Ceil the current instance year with given precision. - * @method $this roundMonth(float $precision = 1, string $function = "round") Round the current instance month with given precision using the given function. - * @method $this roundMonths(float $precision = 1, string $function = "round") Round the current instance month with given precision using the given function. - * @method $this floorMonth(float $precision = 1) Truncate the current instance month with given precision. - * @method $this floorMonths(float $precision = 1) Truncate the current instance month with given precision. - * @method $this ceilMonth(float $precision = 1) Ceil the current instance month with given precision. - * @method $this ceilMonths(float $precision = 1) Ceil the current instance month with given precision. - * @method $this roundWeek(float $precision = 1, string $function = "round") Round the current instance day with given precision using the given function. - * @method $this roundWeeks(float $precision = 1, string $function = "round") Round the current instance day with given precision using the given function. - * @method $this floorWeek(float $precision = 1) Truncate the current instance day with given precision. - * @method $this floorWeeks(float $precision = 1) Truncate the current instance day with given precision. - * @method $this ceilWeek(float $precision = 1) Ceil the current instance day with given precision. - * @method $this ceilWeeks(float $precision = 1) Ceil the current instance day with given precision. - * @method $this roundDay(float $precision = 1, string $function = "round") Round the current instance day with given precision using the given function. - * @method $this roundDays(float $precision = 1, string $function = "round") Round the current instance day with given precision using the given function. - * @method $this floorDay(float $precision = 1) Truncate the current instance day with given precision. - * @method $this floorDays(float $precision = 1) Truncate the current instance day with given precision. - * @method $this ceilDay(float $precision = 1) Ceil the current instance day with given precision. - * @method $this ceilDays(float $precision = 1) Ceil the current instance day with given precision. - * @method $this roundHour(float $precision = 1, string $function = "round") Round the current instance hour with given precision using the given function. - * @method $this roundHours(float $precision = 1, string $function = "round") Round the current instance hour with given precision using the given function. - * @method $this floorHour(float $precision = 1) Truncate the current instance hour with given precision. - * @method $this floorHours(float $precision = 1) Truncate the current instance hour with given precision. - * @method $this ceilHour(float $precision = 1) Ceil the current instance hour with given precision. - * @method $this ceilHours(float $precision = 1) Ceil the current instance hour with given precision. - * @method $this roundMinute(float $precision = 1, string $function = "round") Round the current instance minute with given precision using the given function. - * @method $this roundMinutes(float $precision = 1, string $function = "round") Round the current instance minute with given precision using the given function. - * @method $this floorMinute(float $precision = 1) Truncate the current instance minute with given precision. - * @method $this floorMinutes(float $precision = 1) Truncate the current instance minute with given precision. - * @method $this ceilMinute(float $precision = 1) Ceil the current instance minute with given precision. - * @method $this ceilMinutes(float $precision = 1) Ceil the current instance minute with given precision. - * @method $this roundSecond(float $precision = 1, string $function = "round") Round the current instance second with given precision using the given function. - * @method $this roundSeconds(float $precision = 1, string $function = "round") Round the current instance second with given precision using the given function. - * @method $this floorSecond(float $precision = 1) Truncate the current instance second with given precision. - * @method $this floorSeconds(float $precision = 1) Truncate the current instance second with given precision. - * @method $this ceilSecond(float $precision = 1) Ceil the current instance second with given precision. - * @method $this ceilSeconds(float $precision = 1) Ceil the current instance second with given precision. - * @method $this roundMillennium(float $precision = 1, string $function = "round") Round the current instance millennium with given precision using the given function. - * @method $this roundMillennia(float $precision = 1, string $function = "round") Round the current instance millennium with given precision using the given function. - * @method $this floorMillennium(float $precision = 1) Truncate the current instance millennium with given precision. - * @method $this floorMillennia(float $precision = 1) Truncate the current instance millennium with given precision. - * @method $this ceilMillennium(float $precision = 1) Ceil the current instance millennium with given precision. - * @method $this ceilMillennia(float $precision = 1) Ceil the current instance millennium with given precision. - * @method $this roundCentury(float $precision = 1, string $function = "round") Round the current instance century with given precision using the given function. - * @method $this roundCenturies(float $precision = 1, string $function = "round") Round the current instance century with given precision using the given function. - * @method $this floorCentury(float $precision = 1) Truncate the current instance century with given precision. - * @method $this floorCenturies(float $precision = 1) Truncate the current instance century with given precision. - * @method $this ceilCentury(float $precision = 1) Ceil the current instance century with given precision. - * @method $this ceilCenturies(float $precision = 1) Ceil the current instance century with given precision. - * @method $this roundDecade(float $precision = 1, string $function = "round") Round the current instance decade with given precision using the given function. - * @method $this roundDecades(float $precision = 1, string $function = "round") Round the current instance decade with given precision using the given function. - * @method $this floorDecade(float $precision = 1) Truncate the current instance decade with given precision. - * @method $this floorDecades(float $precision = 1) Truncate the current instance decade with given precision. - * @method $this ceilDecade(float $precision = 1) Ceil the current instance decade with given precision. - * @method $this ceilDecades(float $precision = 1) Ceil the current instance decade with given precision. - * @method $this roundQuarter(float $precision = 1, string $function = "round") Round the current instance quarter with given precision using the given function. - * @method $this roundQuarters(float $precision = 1, string $function = "round") Round the current instance quarter with given precision using the given function. - * @method $this floorQuarter(float $precision = 1) Truncate the current instance quarter with given precision. - * @method $this floorQuarters(float $precision = 1) Truncate the current instance quarter with given precision. - * @method $this ceilQuarter(float $precision = 1) Ceil the current instance quarter with given precision. - * @method $this ceilQuarters(float $precision = 1) Ceil the current instance quarter with given precision. - * @method $this roundMillisecond(float $precision = 1, string $function = "round") Round the current instance millisecond with given precision using the given function. - * @method $this roundMilliseconds(float $precision = 1, string $function = "round") Round the current instance millisecond with given precision using the given function. - * @method $this floorMillisecond(float $precision = 1) Truncate the current instance millisecond with given precision. - * @method $this floorMilliseconds(float $precision = 1) Truncate the current instance millisecond with given precision. - * @method $this ceilMillisecond(float $precision = 1) Ceil the current instance millisecond with given precision. - * @method $this ceilMilliseconds(float $precision = 1) Ceil the current instance millisecond with given precision. - * @method $this roundMicrosecond(float $precision = 1, string $function = "round") Round the current instance microsecond with given precision using the given function. - * @method $this roundMicroseconds(float $precision = 1, string $function = "round") Round the current instance microsecond with given precision using the given function. - * @method $this floorMicrosecond(float $precision = 1) Truncate the current instance microsecond with given precision. - * @method $this floorMicroseconds(float $precision = 1) Truncate the current instance microsecond with given precision. - * @method $this ceilMicrosecond(float $precision = 1) Ceil the current instance microsecond with given precision. - * @method $this ceilMicroseconds(float $precision = 1) Ceil the current instance microsecond with given precision. - */ -class CarbonInterval extends DateInterval -{ - use Options, Mixin { - Mixin::mixin as baseMixin; - } - - /** - * Interval spec period designators - */ - const PERIOD_PREFIX = 'P'; - const PERIOD_YEARS = 'Y'; - const PERIOD_MONTHS = 'M'; - const PERIOD_DAYS = 'D'; - const PERIOD_TIME_PREFIX = 'T'; - const PERIOD_HOURS = 'H'; - const PERIOD_MINUTES = 'M'; - const PERIOD_SECONDS = 'S'; - - /** - * A translator to ... er ... translate stuff - * - * @var \Symfony\Component\Translation\TranslatorInterface - */ - protected static $translator; - - /** - * @var array|null - */ - protected static $cascadeFactors; - - /** - * @var array - */ - protected static $formats = [ - 'y' => 'y', - 'Y' => 'y', - 'o' => 'y', - 'm' => 'm', - 'n' => 'm', - 'W' => 'weeks', - 'd' => 'd', - 'j' => 'd', - 'z' => 'd', - 'h' => 'h', - 'g' => 'h', - 'H' => 'h', - 'G' => 'h', - 'i' => 'i', - 's' => 's', - 'u' => 'micro', - 'v' => 'milli', - ]; - - /** - * @var array|null - */ - private static $flipCascadeFactors; - - /** - * The registered macros. - * - * @var array - */ - protected static $macros = []; - - /** - * Timezone handler for settings() method. - * - * @var mixed - */ - protected $tzName; - - /** - * Set the instance's timezone from a string or object and add/subtract the offset difference. - * - * @param \DateTimeZone|string $tzName - * - * @return static - */ - public function shiftTimezone($tzName) - { - $this->tzName = $tzName; - - return $this; - } - - /** - * Mapping of units and factors for cascading. - * - * Should only be modified by changing the factors or referenced constants. - * - * @return array - */ - public static function getCascadeFactors() - { - return static::$cascadeFactors ?: [ - 'milliseconds' => [Carbon::MICROSECONDS_PER_MILLISECOND, 'microseconds'], - 'seconds' => [Carbon::MILLISECONDS_PER_SECOND, 'milliseconds'], - 'minutes' => [Carbon::SECONDS_PER_MINUTE, 'seconds'], - 'hours' => [Carbon::MINUTES_PER_HOUR, 'minutes'], - 'dayz' => [Carbon::HOURS_PER_DAY, 'hours'], - 'months' => [Carbon::DAYS_PER_WEEK * Carbon::WEEKS_PER_MONTH, 'dayz'], - 'years' => [Carbon::MONTHS_PER_YEAR, 'months'], - ]; - } - - private static function standardizeUnit($unit) - { - $unit = rtrim($unit, 'sz').'s'; - - return $unit === 'days' ? 'dayz' : $unit; - } - - private static function getFlipCascadeFactors() - { - if (!self::$flipCascadeFactors) { - self::$flipCascadeFactors = []; - - foreach (static::getCascadeFactors() as $to => [$factor, $from]) { - self::$flipCascadeFactors[self::standardizeUnit($from)] = [self::standardizeUnit($to), $factor]; - } - } - - return self::$flipCascadeFactors; - } - - /** - * Set default cascading factors for ->cascade() method. - * - * @param array $cascadeFactors - */ - public static function setCascadeFactors(array $cascadeFactors) - { - self::$flipCascadeFactors = null; - static::$cascadeFactors = $cascadeFactors; - } - - /////////////////////////////////////////////////////////////////// - //////////////////////////// CONSTRUCTORS ///////////////////////// - /////////////////////////////////////////////////////////////////// - - /** - * Create a new CarbonInterval instance. - * - * @param int|null $years - * @param int|null $months - * @param int|null $weeks - * @param int|null $days - * @param int|null $hours - * @param int|null $minutes - * @param int|null $seconds - * @param int|null $microseconds - * - * @throws Exception when the interval_spec (passed as $years) cannot be parsed as an interval. - */ - public function __construct($years = 1, $months = null, $weeks = null, $days = null, $hours = null, $minutes = null, $seconds = null, $microseconds = null) - { - $spec = $years; - - if (!is_string($spec) || floatval($years) || preg_match('/^[0-9.]/', $years)) { - $spec = static::PERIOD_PREFIX; - - $spec .= $years > 0 ? $years.static::PERIOD_YEARS : ''; - $spec .= $months > 0 ? $months.static::PERIOD_MONTHS : ''; - - $specDays = 0; - $specDays += $weeks > 0 ? $weeks * static::getDaysPerWeek() : 0; - $specDays += $days > 0 ? $days : 0; - - $spec .= $specDays > 0 ? $specDays.static::PERIOD_DAYS : ''; - - if ($hours > 0 || $minutes > 0 || $seconds > 0) { - $spec .= static::PERIOD_TIME_PREFIX; - $spec .= $hours > 0 ? $hours.static::PERIOD_HOURS : ''; - $spec .= $minutes > 0 ? $minutes.static::PERIOD_MINUTES : ''; - $spec .= $seconds > 0 ? $seconds.static::PERIOD_SECONDS : ''; - } - - if ($spec === static::PERIOD_PREFIX) { - // Allow the zero interval. - $spec .= '0'.static::PERIOD_YEARS; - } - } - - parent::__construct($spec); - - if (!is_null($microseconds)) { - $this->f = $microseconds / Carbon::MICROSECONDS_PER_SECOND; - } - } - - /** - * Returns the factor for a given source-to-target couple. - * - * @param string $source - * @param string $target - * - * @return int|null - */ - public static function getFactor($source, $target) - { - $source = self::standardizeUnit($source); - $target = self::standardizeUnit($target); - $factors = static::getFlipCascadeFactors(); - if (isset($factors[$source])) { - [$to, $factor] = $factors[$source]; - if ($to === $target) { - return $factor; - } - } - - return null; - } - - /** - * Returns current config for days per week. - * - * @return int - */ - public static function getDaysPerWeek() - { - return static::getFactor('dayz', 'weeks') ?: Carbon::DAYS_PER_WEEK; - } - - /** - * Returns current config for hours per day. - * - * @return int - */ - public static function getHoursPerDay() - { - return static::getFactor('hours', 'dayz') ?: Carbon::HOURS_PER_DAY; - } - - /** - * Returns current config for minutes per hour. - * - * @return int - */ - public static function getMinutesPerHour() - { - return static::getFactor('minutes', 'hours') ?: Carbon::MINUTES_PER_HOUR; - } - - /** - * Returns current config for seconds per minute. - * - * @return int - */ - public static function getSecondsPerMinute() - { - return static::getFactor('seconds', 'minutes') ?: Carbon::SECONDS_PER_MINUTE; - } - - /** - * Returns current config for microseconds per second. - * - * @return int - */ - public static function getMillisecondsPerSecond() - { - return static::getFactor('milliseconds', 'seconds') ?: Carbon::MILLISECONDS_PER_SECOND; - } - - /** - * Returns current config for microseconds per second. - * - * @return int - */ - public static function getMicrosecondsPerMillisecond() - { - return static::getFactor('microseconds', 'milliseconds') ?: Carbon::MICROSECONDS_PER_MILLISECOND; - } - - /** - * Create a new CarbonInterval instance from specific values. - * This is an alias for the constructor that allows better fluent - * syntax as it allows you to do CarbonInterval::create(1)->fn() rather than - * (new CarbonInterval(1))->fn(). - * - * @param int $years - * @param int $months - * @param int $weeks - * @param int $days - * @param int $hours - * @param int $minutes - * @param int $seconds - * @param int $microseconds - * - * @throws Exception when the interval_spec (passed as $years) cannot be parsed as an interval. - * - * @return static - */ - public static function create($years = 1, $months = null, $weeks = null, $days = null, $hours = null, $minutes = null, $seconds = null, $microseconds = null) - { - return new static($years, $months, $weeks, $days, $hours, $minutes, $seconds, $microseconds); - } - - /** - * Parse a string into a new CarbonInterval object according to the specified format. - * - * @example - * ``` - * echo Carboninterval::createFromFormat('H:i', '1:30'); - * ``` - * - * @param string $format Format of the $interval input string - * @param string $interval Input string to convert into an interval - * - * @throws Exception when the $interval cannot be parsed as an interval. - * - * @return static - */ - public static function createFromFormat(string $format, ?string $interval) - { - $instance = new static(0); - $length = mb_strlen($format); - - if (preg_match('/s([,.])([uv])$/', $format, $match)) { - $interval = explode($match[1], $interval); - $index = count($interval) - 1; - $interval[$index] = str_pad($interval[$index], $match[2] === 'v' ? 3 : 6, '0'); - $interval = implode($match[1], $interval); - } - - for ($index = 0; $index < $length; $index++) { - $expected = mb_substr($format, $index, 1); - $nextCharacter = mb_substr($interval, 0, 1); - $unit = static::$formats[$expected] ?? null; - - if ($unit) { - if (!preg_match('/^-?\d+/', $interval, $match)) { - throw new ParseErrorException('number', $nextCharacter); - } - - $interval = mb_substr($interval, mb_strlen($match[0])); - $instance->$unit += intval($match[0]); - - continue; - } - - if ($nextCharacter !== $expected) { - throw new ParseErrorException( - "'$expected'", - $nextCharacter, - 'Allowed substitutes for interval formats are '.implode(', ', array_keys(static::$formats))."\n". - 'See https://www.php.net/manual/en/function.date.php for their meaning' - ); - } - - $interval = mb_substr($interval, 1); - } - - if ($interval !== '') { - throw new ParseErrorException( - 'end of string', - $interval - ); - } - - return $instance; - } - - /** - * Get a copy of the instance. - * - * @return static - */ - public function copy() - { - $date = new static($this->spec()); - $date->invert = $this->invert; - $date->f = $this->f; - - return $date; - } - - /** - * Get a copy of the instance. - * - * @return static - */ - public function clone() - { - return $this->copy(); - } - - /** - * Provide static helpers to create instances. Allows CarbonInterval::years(3). - * - * Note: This is done using the magic method to allow static and instance methods to - * have the same names. - * - * @param string $method magic method name called - * @param array $parameters parameters list - * - * @return static|null - */ - public static function __callStatic($method, $parameters) - { - $arg = count($parameters) === 0 ? 1 : $parameters[0]; - - switch (Carbon::singularUnit(rtrim($method, 'z'))) { - case 'year': - return new static($arg); - - case 'month': - return new static(null, $arg); - - case 'week': - return new static(null, null, $arg); - - case 'day': - return new static(null, null, null, $arg); - - case 'hour': - return new static(null, null, null, null, $arg); - - case 'minute': - return new static(null, null, null, null, null, $arg); - - case 'second': - return new static(null, null, null, null, null, null, $arg); - - case 'millisecond': - case 'milli': - return new static(null, null, null, null, null, null, null, $arg * Carbon::MICROSECONDS_PER_MILLISECOND); - - case 'microsecond': - case 'micro': - return new static(null, null, null, null, null, null, null, $arg); - } - - if (static::hasMacro($method)) { - return (new static(0))->$method(...$parameters); - } - - if (Carbon::isStrictModeEnabled()) { - throw new BadMethodCallException(sprintf("Unknown fluent constructor '%s'.", $method)); - } - - return null; - } - - /** - * Creates a CarbonInterval from string. - * - * Format: - * - * Suffix | Unit | Example | DateInterval expression - * -------|---------|---------|------------------------ - * y | years | 1y | P1Y - * mo | months | 3mo | P3M - * w | weeks | 2w | P2W - * d | days | 28d | P28D - * h | hours | 4h | PT4H - * m | minutes | 12m | PT12M - * s | seconds | 59s | PT59S - * - * e. g. `1w 3d 4h 32m 23s` is converted to 10 days 4 hours 32 minutes and 23 seconds. - * - * Special cases: - * - An empty string will return a zero interval - * - Fractions are allowed for weeks, days, hours and minutes and will be converted - * and rounded to the next smaller value (caution: 0.5w = 4d) - * - * @param string $intervalDefinition - * - * @return static - */ - public static function fromString($intervalDefinition) - { - if (empty($intervalDefinition)) { - return new static(0); - } - - $years = 0; - $months = 0; - $weeks = 0; - $days = 0; - $hours = 0; - $minutes = 0; - $seconds = 0; - $milliseconds = 0; - $microseconds = 0; - - $pattern = '/(\d+(?:\.\d+)?)\h*([^\d\h]*)/i'; - preg_match_all($pattern, $intervalDefinition, $parts, PREG_SET_ORDER); - - while ([$part, $value, $unit] = array_shift($parts)) { - $intValue = intval($value); - $fraction = floatval($value) - $intValue; - - // Fix calculation precision - switch (round($fraction, 6)) { - case 1: - $fraction = 0; - $intValue++; - - break; - case 0: - $fraction = 0; - - break; - } - - switch ($unit === 'µs' ? 'µs' : strtolower($unit)) { - case 'millennia': - case 'millennium': - $years += $intValue * CarbonInterface::YEARS_PER_MILLENNIUM; - - break; - - case 'century': - case 'centuries': - $years += $intValue * CarbonInterface::YEARS_PER_CENTURY; - - break; - - case 'decade': - case 'decades': - $years += $intValue * CarbonInterface::YEARS_PER_DECADE; - - break; - - case 'year': - case 'years': - case 'y': - $years += $intValue; - - break; - - case 'quarter': - case 'quarters': - $months += $intValue * CarbonInterface::MONTHS_PER_QUARTER; - - break; - - case 'month': - case 'months': - case 'mo': - $months += $intValue; - - break; - - case 'week': - case 'weeks': - case 'w': - $weeks += $intValue; - - if ($fraction) { - $parts[] = [null, $fraction * static::getDaysPerWeek(), 'd']; - } - - break; - - case 'day': - case 'days': - case 'd': - $days += $intValue; - - if ($fraction) { - $parts[] = [null, $fraction * static::getHoursPerDay(), 'h']; - } - - break; - - case 'hour': - case 'hours': - case 'h': - $hours += $intValue; - - if ($fraction) { - $parts[] = [null, $fraction * static::getMinutesPerHour(), 'm']; - } - - break; - - case 'minute': - case 'minutes': - case 'm': - $minutes += $intValue; - - if ($fraction) { - $parts[] = [null, $fraction * static::getSecondsPerMinute(), 's']; - } - - break; - - case 'second': - case 'seconds': - case 's': - $seconds += $intValue; - - if ($fraction) { - $parts[] = [null, $fraction * static::getMillisecondsPerSecond(), 'ms']; - } - - break; - - case 'millisecond': - case 'milliseconds': - case 'milli': - case 'ms': - $milliseconds += $intValue; - - if ($fraction) { - $microseconds += round($fraction * static::getMicrosecondsPerMillisecond()); - } - - break; - - case 'microsecond': - case 'microseconds': - case 'micro': - case 'µs': - $microseconds += $intValue; - - break; - - default: - throw new InvalidArgumentException( - sprintf('Invalid part %s in definition %s', $part, $intervalDefinition) - ); - } - } - - return new static($years, $months, $weeks, $days, $hours, $minutes, $seconds, $milliseconds * Carbon::MICROSECONDS_PER_MILLISECOND + $microseconds); - } - - /** - * Creates a CarbonInterval from string using a different locale. - * - * @param string $interval - * @param string $locale - * - * @return static - */ - public static function parseFromLocale($interval, $locale) - { - return static::fromString(Carbon::translateTimeString($interval, $locale, 'en')); - } - - private static function castIntervalToClass(DateInterval $interval, string $className) - { - $mainClass = DateInterval::class; - - if (!is_a($className, $mainClass, true)) { - throw new InvalidArgumentException("$className is not a sub-class of $mainClass."); - } - - $microseconds = $interval->f; - $instance = new $className(static::getDateIntervalSpec($interval)); - if ($microseconds) { - $instance->f = $microseconds; - } - $instance->invert = $interval->invert; - foreach (['y', 'm', 'd', 'h', 'i', 's'] as $unit) { - if ($interval->$unit < 0) { - $instance->$unit *= -1; - } - } - - return $instance; - } - - /** - * Cast the current instance into the given class. - * - * @param string $className The $className::instance() method will be called to cast the current object. - * - * @return DateInterval - */ - public function cast(string $className) - { - return self::castIntervalToClass($this, $className); - } - - /** - * Create a CarbonInterval instance from a DateInterval one. Can not instance - * DateInterval objects created from DateTime::diff() as you can't externally - * set the $days field. - * - * @param DateInterval $interval - * - * @return static - */ - public static function instance(DateInterval $interval) - { - return self::castIntervalToClass($interval, static::class); - } - - /** - * Make a CarbonInterval instance from given variable if possible. - * - * Always return a new instance. Parse only strings and only these likely to be intervals (skip dates - * and recurrences). Throw an exception for invalid format, but otherwise return null. - * - * @param mixed $var - * - * @return static|null - */ - public static function make($var) - { - if ($var instanceof DateInterval) { - return static::instance($var); - } - - if (!is_string($var)) { - return null; - } - - $var = trim($var); - - if (preg_match('/^P[T0-9]/', $var)) { - return new static($var); - } - - if (preg_match('/^(?:\h*\d+(?:\.\d+)?\h*[a-z]+)+$/i', $var)) { - return static::fromString($var); - } - - /** @var static $interval */ - $interval = static::createFromDateString($var); - - return !$interval || $interval->isEmpty() ? null : $interval; - } - - protected function resolveInterval($interval) - { - if (!($interval instanceof self)) { - return self::make($interval); - } - - return $interval; - } - - /** - * Sets up a DateInterval from the relative parts of the string. - * - * @param string $time - * - * @return static - * - * @link http://php.net/manual/en/dateinterval.createfromdatestring.php - */ - public static function createFromDateString($time) - { - $interval = @parent::createFromDateString(strtr($time, [ - ',' => ' ', - ' and ' => ' ', - ])); - - if ($interval instanceof DateInterval) { - $interval = static::instance($interval); - } - - return $interval; - } - - /////////////////////////////////////////////////////////////////// - ///////////////////////// GETTERS AND SETTERS ///////////////////// - /////////////////////////////////////////////////////////////////// - - /** - * Get a part of the CarbonInterval object. - * - * @param string $name - * - * @throws InvalidArgumentException - * - * @return int|float|string - */ - public function __get($name) - { - if (substr($name, 0, 5) === 'total') { - return $this->total(substr($name, 5)); - } - - switch ($name) { - case 'years': - return $this->y; - - case 'months': - return $this->m; - - case 'dayz': - return $this->d; - - case 'hours': - return $this->h; - - case 'minutes': - return $this->i; - - case 'seconds': - return $this->s; - - case 'milli': - case 'milliseconds': - return (int) floor(round($this->f * Carbon::MICROSECONDS_PER_SECOND) / Carbon::MICROSECONDS_PER_MILLISECOND); - - case 'micro': - case 'microseconds': - return (int) round($this->f * Carbon::MICROSECONDS_PER_SECOND); - - case 'weeks': - return (int) floor($this->d / static::getDaysPerWeek()); - - case 'daysExcludeWeeks': - case 'dayzExcludeWeeks': - return $this->d % static::getDaysPerWeek(); - - case 'locale': - return $this->getLocalTranslator()->getLocale(); - - default: - throw new InvalidArgumentException(sprintf("Unknown getter '%s'", $name)); - } - } - - /** - * Set a part of the CarbonInterval object. - * - * @param string $name - * @param int $value - * - * @throws InvalidArgumentException - */ - public function __set($name, $value) - { - switch (Carbon::singularUnit(rtrim($name, 'z'))) { - case 'year': - $this->y = $value; - - break; - - case 'month': - $this->m = $value; - - break; - - case 'week': - $this->d = $value * static::getDaysPerWeek(); - - break; - - case 'day': - $this->d = $value; - - break; - - case 'hour': - $this->h = $value; - - break; - - case 'minute': - $this->i = $value; - - break; - - case 'second': - $this->s = $value; - - break; - - case 'milli': - case 'millisecond': - $this->microseconds = $value * Carbon::MICROSECONDS_PER_MILLISECOND + $this->microseconds % Carbon::MICROSECONDS_PER_MILLISECOND; - - break; - - case 'micro': - case 'microsecond': - $this->f = $value / Carbon::MICROSECONDS_PER_SECOND; - - break; - - default: - if ($this->localStrictModeEnabled ?? Carbon::isStrictModeEnabled()) { - throw new InvalidArgumentException(sprintf("Unknown setter '%s'", $name)); - } - - $this->$name = $value; - } - } - - /** - * Allow setting of weeks and days to be cumulative. - * - * @param int $weeks Number of weeks to set - * @param int $days Number of days to set - * - * @return static - */ - public function weeksAndDays($weeks, $days) - { - $this->dayz = ($weeks * static::getDaysPerWeek()) + $days; - - return $this; - } - - /** - * Returns true if the interval is empty for each unit. - * - * @return bool - */ - public function isEmpty() - { - return $this->years === 0 && - $this->months === 0 && - $this->dayz === 0 && - !$this->days && - $this->hours === 0 && - $this->minutes === 0 && - $this->seconds === 0 && - $this->microseconds === 0; - } - - /** - * Register a custom macro. - * - * @example - * ``` - * CarbonInterval::macro('twice', function () { - * return $this->times(2); - * }); - * echo CarbonInterval::hours(2)->twice(); - * ``` - * - * @param string $name - * @param object|callable $macro - * - * @return void - */ - public static function macro($name, $macro) - { - static::$macros[$name] = $macro; - } - - /** - * Register macros from a mixin object. - * - * @example - * ``` - * CarbonInterval::mixin(new class { - * public function daysToHours() { - * return function () { - * $this->hours += $this->days; - * $this->days = 0; - * - * return $this; - * }; - * } - * public function hoursToDays() { - * return function () { - * $this->days += $this->hours; - * $this->hours = 0; - * - * return $this; - * }; - * } - * }); - * echo CarbonInterval::hours(5)->hoursToDays() . "\n"; - * echo CarbonInterval::days(5)->daysToHours() . "\n"; - * ``` - * - * @param object|string $mixin - * - * @throws \ReflectionException - * - * @return void - */ - public static function mixin($mixin) - { - static::baseMixin($mixin); - } - - /** - * Check if macro is registered. - * - * @param string $name - * - * @return bool - */ - public static function hasMacro($name) - { - return isset(static::$macros[$name]); - } - - /** - * Call given macro. - * - * @param string $name - * @param array $parameters - * - * @return mixed - */ - protected function callMacro($name, $parameters) - { - $macro = static::$macros[$name]; - - if ($macro instanceof Closure) { - $boundMacro = @$macro->bindTo($this, static::class) ?: @$macro->bindTo(null, static::class); - - return call_user_func_array($boundMacro ?: $macro, $parameters); - } - - return call_user_func_array($macro, $parameters); - } - - /** - * Allow fluent calls on the setters... CarbonInterval::years(3)->months(5)->day(). - * - * Note: This is done using the magic method to allow static and instance methods to - * have the same names. - * - * @param string $method magic method name called - * @param array $parameters parameters list - * - * @return static - */ - public function __call($method, $parameters) - { - if (static::hasMacro($method)) { - return static::bindMacroContext($this, function () use (&$method, &$parameters) { - return $this->callMacro($method, $parameters); - }); - } - - $action = substr($method, 0, 4); - - if ($action !== 'ceil') { - $action = substr($method, 0, 5); - } - - if (in_array($action, ['round', 'floor', 'ceil'])) { - return $this->{$action.'Unit'}(substr($method, strlen($action)), ...$parameters); - } - - $arg = count($parameters) === 0 ? 1 : $parameters[0]; - - switch (Carbon::singularUnit(rtrim($method, 'z'))) { - case 'year': - $this->years = $arg; - - break; - - case 'month': - $this->months = $arg; - - break; - - case 'week': - $this->dayz = $arg * static::getDaysPerWeek(); - - break; - - case 'day': - $this->dayz = $arg; - - break; - - case 'hour': - $this->hours = $arg; - - break; - - case 'minute': - $this->minutes = $arg; - - break; - - case 'second': - $this->seconds = $arg; - - break; - - case 'milli': - case 'millisecond': - $this->milliseconds = $arg; - - break; - - case 'micro': - case 'microsecond': - $this->microseconds = $arg; - - break; - - default: - if ($this->localStrictModeEnabled ?? Carbon::isStrictModeEnabled()) { - throw new BadMethodCallException(sprintf("Unknown fluent setter '%s'", $method)); - } - } - - return $this; - } - - /** - * @SuppressWarnings(PHPMD.ElseExpression) - * - * @param mixed $syntax - * @param mixed $short - * @param mixed $parts - * @param mixed $options - * - * @return array - */ - protected function getForHumansParameters($syntax = null, $short = false, $parts = -1, $options = null) - { - $optionalSpace = ' '; - $default = $this->getTranslationMessage('list.0') ?? $this->getTranslationMessage('list') ?? ' '; - $join = $default === '' ? '' : ' '; - $altNumbers = false; - $aUnit = false; - - if (is_array($syntax)) { - extract($syntax); - } else { - if (is_int($short)) { - $parts = $short; - $short = false; - } - - if (is_bool($syntax)) { - $short = $syntax; - $syntax = CarbonInterface::DIFF_ABSOLUTE; - } - } - - if (is_null($syntax)) { - $syntax = CarbonInterface::DIFF_ABSOLUTE; - } - - if ($parts === -1) { - $parts = INF; - } - - if (is_null($options)) { - $options = static::getHumanDiffOptions(); - } - - if ($join === false) { - $join = ' '; - } elseif ($join === true) { - $join = [ - $default, - $this->getTranslationMessage('list.1') ?? $default, - ]; - } - - if ($altNumbers) { - if ($altNumbers !== true) { - $language = new Language($this->locale); - $altNumbers = in_array($language->getCode(), (array) $altNumbers); - } - } - - if (is_array($join)) { - [$default, $last] = $join; - - if ($default !== ' ') { - $optionalSpace = ''; - } - - $join = function ($list) use ($default, $last) { - if (count($list) < 2) { - return implode('', $list); - } - - $end = array_pop($list); - - return implode($default, $list).$last.$end; - }; - } - - if (is_string($join)) { - if ($join !== ' ') { - $optionalSpace = ''; - } - - $glue = $join; - $join = function ($list) use ($glue) { - return implode($glue, $list); - }; - } - - $interpolations = [ - ':optional-space' => $optionalSpace, - ]; - - return [$syntax, $short, $parts, $options, $join, $aUnit, $altNumbers, $interpolations]; - } - - protected static function getRoundingMethodFromOptions(int $options): ?string - { - if ($options & CarbonInterface::ROUND) { - return 'round'; - } - - if ($options & CarbonInterface::CEIL) { - return 'ceil'; - } - - if ($options & CarbonInterface::FLOOR) { - return 'floor'; - } - - return null; - } - - /** - * Returns interval values as an array where key are the unit names and values the counts. - * - * @return int[] - */ - public function toArray() - { - return [ - 'years' => $this->years, - 'months' => $this->months, - 'weeks' => $this->weeks, - 'days' => $this->daysExcludeWeeks, - 'hours' => $this->hours, - 'minutes' => $this->minutes, - 'seconds' => $this->seconds, - 'microseconds' => $this->microseconds, - ]; - } - - /** - * Returns interval non-zero values as an array where key are the unit names and values the counts. - * - * @return int[] - */ - public function getNonZeroValues() - { - return array_filter($this->toArray(), 'intval'); - } - - /** - * Returns interval values as an array where key are the unit names and values the counts - * from the biggest non-zero one the the smallest non-zero one. - * - * @return int[] - */ - public function getValuesSequence() - { - $nonZeroValues = $this->getNonZeroValues(); - - if ($nonZeroValues === []) { - return []; - } - - $keys = array_keys($nonZeroValues); - $firstKey = $keys[0]; - $lastKey = $keys[count($keys) - 1]; - $values = []; - $record = false; - - foreach ($this->toArray() as $unit => $count) { - if ($unit === $firstKey) { - $record = true; - } - - if ($record) { - $values[$unit] = $count; - } - - if ($unit === $lastKey) { - $record = false; - } - } - - return $values; - } - - /** - * Get the current interval in a human readable format in the current locale. - * - * @example - * ``` - * echo CarbonInterval::fromString('4d 3h 40m')->forHumans() . "\n"; - * echo CarbonInterval::fromString('4d 3h 40m')->forHumans(['parts' => 2]) . "\n"; - * echo CarbonInterval::fromString('4d 3h 40m')->forHumans(['parts' => 3, 'join' => true]) . "\n"; - * echo CarbonInterval::fromString('4d 3h 40m')->forHumans(['short' => true]) . "\n"; - * echo CarbonInterval::fromString('1d 24h')->forHumans(['join' => ' or ']) . "\n"; - * ``` - * - * @param int|array $syntax if array passed, parameters will be extracted from it, the array may contains: - * - 'syntax' entry (see below) - * - 'short' entry (see below) - * - 'parts' entry (see below) - * - 'options' entry (see below) - * - 'aUnit' entry, prefer "an hour" over "1 hour" if true - * - 'join' entry determines how to join multiple parts of the string - * ` - if $join is a string, it's used as a joiner glue - * ` - if $join is a callable/closure, it get the list of string and should return a string - * ` - if $join is an array, the first item will be the default glue, and the second item - * ` will be used instead of the glue for the last item - * ` - if $join is true, it will be guessed from the locale ('list' translation file entry) - * ` - if $join is missing, a space will be used as glue - * if int passed, it add modifiers: - * Possible values: - * - CarbonInterface::DIFF_ABSOLUTE no modifiers - * - CarbonInterface::DIFF_RELATIVE_TO_NOW add ago/from now modifier - * - CarbonInterface::DIFF_RELATIVE_TO_OTHER add before/after modifier - * Default value: CarbonInterface::DIFF_ABSOLUTE - * @param bool $short displays short format of time units - * @param int $parts maximum number of parts to display (default value: -1: no limits) - * @param int $options human diff options - * - * @return string - */ - public function forHumans($syntax = null, $short = false, $parts = -1, $options = null) - { - [$syntax, $short, $parts, $options, $join, $aUnit, $altNumbers, $interpolations] = $this->getForHumansParameters($syntax, $short, $parts, $options); - - $interval = []; - - $syntax = (int) ($syntax === null ? CarbonInterface::DIFF_ABSOLUTE : $syntax); - $absolute = $syntax === CarbonInterface::DIFF_ABSOLUTE; - $relativeToNow = $syntax === CarbonInterface::DIFF_RELATIVE_TO_NOW; - $count = 1; - $unit = $short ? 's' : 'second'; - $isFuture = $this->invert === 1; - $transId = $relativeToNow ? ($isFuture ? 'from_now' : 'ago') : ($isFuture ? 'after' : 'before'); - - /** @var \Symfony\Component\Translation\Translator $translator */ - $translator = $this->getLocalTranslator(); - - $handleDeclensions = function ($unit, $count) use ($interpolations, $transId, $translator, $altNumbers) { - // Some languages have special pluralization for past and future tense. - $key = $unit.'_'.$transId; - $result = $this->translate($key, $interpolations, $count, $translator, $altNumbers); - - if ($result !== $key) { - return $result; - } - - $result = $this->translate($unit, $interpolations, $count, $translator, $altNumbers); - - if ($result !== $unit) { - return $result; - } - - return null; - }; - - $intervalValues = $this; - $method = static::getRoundingMethodFromOptions($options); - - if ($method) { - while ( - count($intervalValues->getNonZeroValues()) > $parts && - ($count = count($keys = array_keys($intervalValues->getValuesSequence()))) > 1 - ) { - $intervalValues = $this->copy()->roundUnit($keys[$count - 2], 1, $method); - } - } - - $diffIntervalArray = [ - ['value' => $intervalValues->years, 'unit' => 'year', 'unitShort' => 'y'], - ['value' => $intervalValues->months, 'unit' => 'month', 'unitShort' => 'm'], - ['value' => $intervalValues->weeks, 'unit' => 'week', 'unitShort' => 'w'], - ['value' => $intervalValues->daysExcludeWeeks, 'unit' => 'day', 'unitShort' => 'd'], - ['value' => $intervalValues->hours, 'unit' => 'hour', 'unitShort' => 'h'], - ['value' => $intervalValues->minutes, 'unit' => 'minute', 'unitShort' => 'min'], - ['value' => $intervalValues->seconds, 'unit' => 'second', 'unitShort' => 's'], - ]; - - $transChoice = function ($short, $unitData) use ($handleDeclensions, $translator, $aUnit, $altNumbers, $interpolations) { - $count = $unitData['value']; - - if ($short) { - $result = $handleDeclensions($unitData['unitShort'], $count); - - if ($result !== null) { - return $result; - } - } elseif ($aUnit) { - $result = $handleDeclensions('a_'.$unitData['unit'], $count); - - if ($result !== null) { - return $result; - } - } - - return $this->translate($unitData['unit'], $interpolations, $count, $translator, $altNumbers); - }; - - foreach ($diffIntervalArray as $diffIntervalData) { - if ($diffIntervalData['value'] > 0) { - $unit = $short ? $diffIntervalData['unitShort'] : $diffIntervalData['unit']; - $count = $diffIntervalData['value']; - $interval[] = $transChoice($short, $diffIntervalData); - } elseif ($options & CarbonInterface::SEQUENTIAL_PARTS_ONLY && count($interval) > 0) { - break; - } - - // break the loop after we get the required number of parts in array - if (count($interval) >= $parts) { - break; - } - } - - if (count($interval) === 0) { - if ($relativeToNow && $options & CarbonInterface::JUST_NOW) { - $key = 'diff_now'; - $translation = $this->translate($key, $interpolations, null, $translator); - - if ($translation !== $key) { - return $translation; - } - } - - $count = $options & CarbonInterface::NO_ZERO_DIFF ? 1 : 0; - $unit = $short ? 's' : 'second'; - $interval[] = $this->translate($unit, $interpolations, $count, $translator, $altNumbers); - } - - // join the interval parts by a space - $time = $join($interval); - - unset($diffIntervalArray, $interval); - - if ($absolute) { - return $time; - } - - $isFuture = $this->invert === 1; - - $transId = $relativeToNow ? ($isFuture ? 'from_now' : 'ago') : ($isFuture ? 'after' : 'before'); - - if ($parts === 1) { - if ($relativeToNow && $unit === 'day') { - if ($count === 1 && $options & CarbonInterface::ONE_DAY_WORDS) { - $key = $isFuture ? 'diff_tomorrow' : 'diff_yesterday'; - $translation = $this->translate($key, $interpolations, null, $translator); - - if ($translation !== $key) { - return $translation; - } - } - - if ($count === 2 && $options & CarbonInterface::TWO_DAY_WORDS) { - $key = $isFuture ? 'diff_after_tomorrow' : 'diff_before_yesterday'; - $translation = $this->translate($key, $interpolations, null, $translator); - - if ($translation !== $key) { - return $translation; - } - } - } - - $aTime = $aUnit ? $handleDeclensions('a_'.$unit.'_'.$transId, $count) : null; - - $time = $aTime ?: $handleDeclensions($unit.'_'.$transId, $count) ?: $time; - } - - $time = [':time' => $time]; - - return $this->translate($transId, array_merge($time, $interpolations, $time), null, $translator); - } - - /** - * Format the instance as a string using the forHumans() function. - * - * @return string - */ - public function __toString() - { - return $this->forHumans(); - } - - /** - * Return native DateInterval PHP object matching the current instance. - * - * @example - * ``` - * var_dump(CarbonInterval::hours(2)->toDateInterval()); - * ``` - * - * @return DateInterval - */ - public function toDateInterval() - { - return self::castIntervalToClass($this, DateInterval::class); - } - - /** - * Convert the interval to a CarbonPeriod. - * - * @return CarbonPeriod - */ - public function toPeriod(...$params) - { - return CarbonPeriod::create($this, ...$params); - } - - /** - * Invert the interval. - * - * @return $this - */ - public function invert() - { - $this->invert = $this->invert ? 0 : 1; - - return $this; - } - - protected function solveNegativeInterval() - { - if (!$this->isEmpty() && $this->years <= 0 && $this->months <= 0 && $this->dayz <= 0 && $this->hours <= 0 && $this->minutes <= 0 && $this->seconds <= 0 && $this->microseconds <= 0) { - $this->years *= -1; - $this->months *= -1; - $this->dayz *= -1; - $this->hours *= -1; - $this->minutes *= -1; - $this->seconds *= -1; - $this->microseconds *= -1; - $this->invert(); - } - - return $this; - } - - /** - * Add the passed interval to the current instance. - * - * @param string|DateInterval $unit - * @param int $value - * - * @return static - */ - public function add($unit, $value = 1) - { - if (is_numeric($unit)) { - [$value, $unit] = [$unit, $value]; - } - - if (is_string($unit) && !preg_match('/^\s*\d/', $unit)) { - $unit = "$value $unit"; - $value = 1; - } - - $interval = static::make($unit); - - if (!$interval) { - throw new InvalidArgumentException('This type of data cannot be added/subtracted.'); - } - - if ($value !== 1) { - $interval->times($value); - } - - $sign = ($this->invert === 1) !== ($interval->invert === 1) ? -1 : 1; - $this->years += $interval->y * $sign; - $this->months += $interval->m * $sign; - $this->dayz += ($interval->days === false ? $interval->d : $interval->days) * $sign; - $this->hours += $interval->h * $sign; - $this->minutes += $interval->i * $sign; - $this->seconds += $interval->s * $sign; - $this->microseconds += $interval->microseconds * $sign; - - $this->solveNegativeInterval(); - - return $this; - } - - /** - * Subtract the passed interval to the current instance. - * - * @param string|DateInterval $unit - * @param int $value - * - * @return static - */ - public function sub($unit, $value = 1) - { - if (is_numeric($unit)) { - [$value, $unit] = [$unit, $value]; - } - - return $this->add($unit, -floatval($value)); - } - - /** - * Subtract the passed interval to the current instance. - * - * @param string|DateInterval $unit - * @param int $value - * - * @return static - */ - public function subtract($unit, $value = 1) - { - return $this->sub($unit, $value); - } - - /** - * Multiply current instance given number of times. times() is naive, it multiplies each unit - * (so day can be greater than 31, hour can be greater than 23, etc.) and the result is rounded - * separately for each unit. - * - * Use times() when you want a fast and approximated calculation that does not cascade units. - * - * For a precise and cascaded calculation, - * - * @see multiply() - * - * @param float|int $factor - * - * @return $this - */ - public function times($factor) - { - if ($factor < 0) { - $this->invert = $this->invert ? 0 : 1; - $factor = -$factor; - } - - $this->years = (int) round($this->years * $factor); - $this->months = (int) round($this->months * $factor); - $this->dayz = (int) round($this->dayz * $factor); - $this->hours = (int) round($this->hours * $factor); - $this->minutes = (int) round($this->minutes * $factor); - $this->seconds = (int) round($this->seconds * $factor); - $this->microseconds = (int) round($this->microseconds * $factor); - - return $this; - } - - /** - * Divide current instance by a given divider. shares() is naive, it divides each unit separately - * and the result is rounded for each unit. So 5 hours and 20 minutes shared by 3 becomes 2 hours - * and 7 minutes. - * - * Use shares() when you want a fast and approximated calculation that does not cascade units. - * - * For a precise and cascaded calculation, - * - * @see divide() - * - * @param float|int $divider - * - * @return $this - */ - public function shares($divider) - { - return $this->times(1 / $divider); - } - - protected function copyProperties(self $interval, $ignoreSign = false) - { - $this->years = $interval->years; - $this->months = $interval->months; - $this->dayz = $interval->dayz; - $this->hours = $interval->hours; - $this->minutes = $interval->minutes; - $this->seconds = $interval->seconds; - $this->microseconds = $interval->microseconds; - - if (!$ignoreSign) { - $this->invert = $interval->invert; - } - - return $this; - } - - /** - * Multiply and cascade current instance by a given factor. - * - * @param float|int $factor - * - * @return $this - */ - public function multiply($factor) - { - if ($factor < 0) { - $this->invert = $this->invert ? 0 : 1; - $factor = -$factor; - } - - $yearPart = (int) floor($this->years * $factor); // Split calculation to prevent imprecision - - if ($yearPart) { - $this->years -= $yearPart / $factor; - } - - return $this->copyProperties( - static::__callStatic('years', [$yearPart]) - ->microseconds($this->totalMicroseconds * $factor) - ->cascade(), - true - ); - } - - /** - * Divide and cascade current instance by a given divider. - * - * @param float|int $divider - * - * @return $this - */ - public function divide($divider) - { - return $this->multiply(1 / $divider); - } - - /** - * Get the interval_spec string of a date interval. - * - * @param DateInterval $interval - * - * @return string - */ - public static function getDateIntervalSpec(DateInterval $interval) - { - $date = array_filter([ - static::PERIOD_YEARS => abs($interval->y), - static::PERIOD_MONTHS => abs($interval->m), - static::PERIOD_DAYS => abs($interval->d), - ]); - - $time = array_filter([ - static::PERIOD_HOURS => abs($interval->h), - static::PERIOD_MINUTES => abs($interval->i), - static::PERIOD_SECONDS => abs($interval->s), - ]); - - $specString = static::PERIOD_PREFIX; - - foreach ($date as $key => $value) { - $specString .= $value.$key; - } - - if (count($time) > 0) { - $specString .= static::PERIOD_TIME_PREFIX; - foreach ($time as $key => $value) { - $specString .= $value.$key; - } - } - - return $specString === static::PERIOD_PREFIX ? 'PT0S' : $specString; - } - - /** - * Get the interval_spec string. - * - * @return string - */ - public function spec() - { - return static::getDateIntervalSpec($this); - } - - /** - * Comparing 2 date intervals. - * - * @param DateInterval $first - * @param DateInterval $second - * - * @return int - */ - public static function compareDateIntervals(DateInterval $first, DateInterval $second) - { - $current = Carbon::now(); - $passed = $current->copy()->add($second); - $current->add($first); - - if ($current < $passed) { - return -1; - } - if ($current > $passed) { - return 1; - } - - return 0; - } - - /** - * Comparing with passed interval. - * - * @param DateInterval $interval - * - * @return int - */ - public function compare(DateInterval $interval) - { - return static::compareDateIntervals($this, $interval); - } - - /** - * Convert overflowed values into bigger units. - * - * @return $this - */ - public function cascade() - { - foreach (static::getFlipCascadeFactors() as $source => [$target, $factor]) { - if ($source === 'dayz' && $target === 'weeks') { - continue; - } - - $value = $this->$source; - $this->$source = $modulo = ($factor + ($value % $factor)) % $factor; - $this->$target += ($value - $modulo) / $factor; - if ($this->$source > 0 && $this->$target < 0) { - $this->$source -= $factor; - $this->$target++; - } - } - - return $this->solveNegativeInterval(); - } - - /** - * Get amount of given unit equivalent to the interval. - * - * @param string $unit - * - * @throws InvalidArgumentException - * - * @return float - */ - public function total($unit) - { - $realUnit = $unit = strtolower($unit); - - if (in_array($unit, ['days', 'weeks'])) { - $realUnit = 'dayz'; - } elseif (!in_array($unit, ['microseconds', 'milliseconds', 'seconds', 'minutes', 'hours', 'dayz', 'months', 'years'])) { - throw new InvalidArgumentException("Unknown unit '$unit'."); - } - - $result = 0; - $cumulativeFactor = 0; - $unitFound = false; - $factors = static::getFlipCascadeFactors(); - - foreach ($factors as $source => [$target, $factor]) { - if ($source === $realUnit) { - $unitFound = true; - $value = $this->$source; - if ($source === 'microseconds' && isset($factors['milliseconds'])) { - $value %= Carbon::MICROSECONDS_PER_MILLISECOND; - } - $result += $value; - $cumulativeFactor = 1; - } - - if ($factor === false) { - if ($unitFound) { - break; - } - - $result = 0; - $cumulativeFactor = 0; - - continue; - } - - if ($target === $realUnit) { - $unitFound = true; - } - - if ($cumulativeFactor) { - $cumulativeFactor *= $factor; - $result += $this->$target * $cumulativeFactor; - - continue; - } - - $value = $this->$source; - - if ($source === 'microseconds' && isset($factors['milliseconds'])) { - $value %= Carbon::MICROSECONDS_PER_MILLISECOND; - } - - $result = ($result + $value) / $factor; - } - - if (isset($target) && !$cumulativeFactor) { - $result += $this->$target; - } - - if (!$unitFound) { - throw new InvalidArgumentException("Unit $unit have no configuration to get total from other units."); - } - - if ($unit === 'weeks') { - return $result / static::getDaysPerWeek(); - } - - return $result; - } - - /** - * Determines if the instance is equal to another - * - * @param \Carbon\CarbonInterval|DateInterval|mixed $interval - * - * @see equalTo() - * - * @return bool - */ - public function eq($interval): bool - { - return $this->equalTo($interval); - } - - /** - * Determines if the instance is equal to another - * - * @param \Carbon\CarbonInterval|DateInterval|mixed $interval - * - * @return bool - */ - public function equalTo($interval): bool - { - $interval = $this->resolveInterval($interval); - - return $interval !== null && $this->totalMicroseconds === $interval->totalMicroseconds; - } - - /** - * Determines if the instance is not equal to another - * - * @param \Carbon\CarbonInterval|DateInterval|mixed $interval - * - * @see notEqualTo() - * - * @return bool - */ - public function ne($interval): bool - { - return $this->notEqualTo($interval); - } - - /** - * Determines if the instance is not equal to another - * - * @param \Carbon\CarbonInterval|DateInterval|mixed $interval - * - * @return bool - */ - public function notEqualTo($interval): bool - { - return !$this->eq($interval); - } - - /** - * Determines if the instance is greater (longer) than another - * - * @param \Carbon\CarbonInterval|DateInterval|mixed $interval - * - * @see greaterThan() - * - * @return bool - */ - public function gt($interval): bool - { - return $this->greaterThan($interval); - } - - /** - * Determines if the instance is greater (longer) than another - * - * @param \Carbon\CarbonInterval|DateInterval|mixed $interval - * - * @return bool - */ - public function greaterThan($interval): bool - { - $interval = $this->resolveInterval($interval); - - return $interval === null || $this->totalMicroseconds > $interval->totalMicroseconds; - } - - /** - * Determines if the instance is greater (longer) than or equal to another - * - * @param \Carbon\CarbonInterval|DateInterval|mixed $interval - * - * @see greaterThanOrEqualTo() - * - * @return bool - */ - public function gte($interval): bool - { - return $this->greaterThanOrEqualTo($interval); - } - - /** - * Determines if the instance is greater (longer) than or equal to another - * - * @param \Carbon\CarbonInterval|DateInterval|mixed $interval - * - * @return bool - */ - public function greaterThanOrEqualTo($interval): bool - { - return $this->greaterThan($interval) || $this->equalTo($interval); - } - - /** - * Determines if the instance is less (shorter) than another - * - * @param \Carbon\CarbonInterval|DateInterval|mixed $interval - * - * @see lessThan() - * - * @return bool - */ - public function lt($interval): bool - { - return $this->lessThan($interval); - } - - /** - * Determines if the instance is less (shorter) than another - * - * @param \Carbon\CarbonInterval|DateInterval|mixed $interval - * - * @return bool - */ - public function lessThan($interval): bool - { - $interval = $this->resolveInterval($interval); - - return $interval !== null && $this->totalMicroseconds < $interval->totalMicroseconds; - } - - /** - * Determines if the instance is less (shorter) than or equal to another - * - * @param \Carbon\CarbonInterval|DateInterval|mixed $interval - * - * @see lessThanOrEqualTo() - * - * @return bool - */ - public function lte($interval): bool - { - return $this->lessThanOrEqualTo($interval); - } - - /** - * Determines if the instance is less (shorter) than or equal to another - * - * @param \Carbon\CarbonInterval|DateInterval|mixed $interval - * - * @return bool - */ - public function lessThanOrEqualTo($interval): bool - { - return $this->lessThan($interval) || $this->equalTo($interval); - } - - /** - * Determines if the instance is between two others. - * - * @example - * ``` - * CarbonInterval::hours(48)->between(CarbonInterval::day(), CarbonInterval::days(3)); // true - * CarbonInterval::hours(48)->between(CarbonInterval::day(), CarbonInterval::hours(36)); // false - * CarbonInterval::hours(48)->between(CarbonInterval::day(), CarbonInterval::days(2)); // true - * CarbonInterval::hours(48)->between(CarbonInterval::day(), CarbonInterval::days(2), false); // false - * ``` - * - * @param \Carbon\CarbonInterval|\DateInterval|mixed $interval1 - * @param \Carbon\CarbonInterval|\DateInterval|mixed $interval2 - * @param bool $equal Indicates if an equal to comparison should be done - * - * @return bool - */ - public function between($interval1, $interval2, $equal = true): bool - { - return $equal - ? $this->greaterThanOrEqualTo($interval1) && $this->lessThanOrEqualTo($interval2) - : $this->greaterThan($interval1) && $this->lessThan($interval2); - } - - /** - * Determines if the instance is between two others, bounds excluded. - * - * @example - * ``` - * CarbonInterval::hours(48)->betweenExcluded(CarbonInterval::day(), CarbonInterval::days(3)); // true - * CarbonInterval::hours(48)->betweenExcluded(CarbonInterval::day(), CarbonInterval::hours(36)); // false - * CarbonInterval::hours(48)->betweenExcluded(CarbonInterval::day(), CarbonInterval::days(2)); // false - * ``` - * - * @param \Carbon\CarbonInterval|\DateInterval|mixed $interval1 - * @param \Carbon\CarbonInterval|\DateInterval|mixed $interval2 - * - * @return bool - */ - public function betweenExcluded($interval1, $interval2): bool - { - return $this->between($interval1, $interval2, false); - } - - /** - * Determines if the instance is between two others - * - * @example - * ``` - * CarbonInterval::hours(48)->isBetween(CarbonInterval::day(), CarbonInterval::days(3)); // true - * CarbonInterval::hours(48)->isBetween(CarbonInterval::day(), CarbonInterval::hours(36)); // false - * CarbonInterval::hours(48)->isBetween(CarbonInterval::day(), CarbonInterval::days(2)); // true - * CarbonInterval::hours(48)->isBetween(CarbonInterval::day(), CarbonInterval::days(2), false); // false - * ``` - * - * @param \Carbon\CarbonInterval|\DateInterval|mixed $interval1 - * @param \Carbon\CarbonInterval|\DateInterval|mixed $interval2 - * @param bool $equal Indicates if an equal to comparison should be done - * - * @return bool - */ - public function isBetween($interval1, $interval2, $equal = true): bool - { - return $this->between($interval1, $interval2, $equal); - } - - /** - * Round the current instance at the given unit with given precision if specified and the given function. - * - * @param string $unit - * @param float|int|string|\DateInterval|null $precision - * @param string $function - * - * @return $this - */ - public function roundUnit($unit, $precision = 1, $function = 'round') - { - $base = CarbonImmutable::parse('2000-01-01 00:00:00', 'UTC') - ->roundUnit($unit, $precision, $function); - - return $this->copyProperties( - $base->add($this) - ->roundUnit($unit, $precision, $function) - ->diffAsCarbonInterval($base) - ); - } - - /** - * Truncate the current instance at the given unit with given precision if specified. - * - * @param string $unit - * @param float|int|string|\DateInterval|null $precision - * - * @return $this - */ - public function floorUnit($unit, $precision = 1) - { - return $this->roundUnit($unit, $precision, 'floor'); - } - - /** - * Ceil the current instance at the given unit with given precision if specified. - * - * @param string $unit - * @param float|int|string|\DateInterval|null $precision - * - * @return $this - */ - public function ceilUnit($unit, $precision = 1) - { - return $this->roundUnit($unit, $precision, 'ceil'); - } - - /** - * Round the current instance second with given precision if specified. - * - * @param float|int|string|\DateInterval|null $precision - * @param string $function - * - * @return $this - */ - public function round($precision = 1, $function = 'round') - { - $unit = 'second'; - - if ($precision instanceof DateInterval) { - $precision = (string) self::instance($precision); - } - - if (is_string($precision) && preg_match('/^\s*(?\d+)?\s*(?\w+)(?\W.*)?$/', $precision, $match)) { - if (trim($match['other'] ?? '') !== '') { - throw new InvalidArgumentException('Rounding is only possible with single unit intervals.'); - } - - $precision = (int) ($match['precision'] ?: 1); - $unit = $match['unit']; - } - - return $this->roundUnit($unit, $precision, $function); - } - - /** - * Round the current instance second with given precision if specified. - * - * @param float|int|string|\DateInterval|null $precision - * - * @return $this - */ - public function floor($precision = 1) - { - return $this->round($precision, 'floor'); - } - - /** - * Ceil the current instance second with given precision if specified. - * - * @param float|int|string|\DateInterval|null $precision - * - * @return $this - */ - public function ceil($precision = 1) - { - return $this->round($precision, 'ceil'); - } -} diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/CarbonPeriod.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/CarbonPeriod.php deleted file mode 100644 index f6ac34f..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/CarbonPeriod.php +++ /dev/null @@ -1,2350 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace Carbon; - -use BadMethodCallException; -use Carbon\Exceptions\NotAPeriodException; -use Carbon\Traits\Mixin; -use Carbon\Traits\Options; -use Closure; -use Countable; -use DateInterval; -use DatePeriod; -use DateTime; -use DateTimeInterface; -use InvalidArgumentException; -use Iterator; -use JsonSerializable; -use RuntimeException; - -/** - * Substitution of DatePeriod with some modifications and many more features. - * - * @method static CarbonPeriod start($date, $inclusive = null) Create instance specifying start date. - * @method static CarbonPeriod since($date, $inclusive = null) Alias for start(). - * @method static CarbonPeriod sinceNow($inclusive = null) Create instance with start date set to now. - * @method static CarbonPeriod end($date = null, $inclusive = null) Create instance specifying end date. - * @method static CarbonPeriod until($date = null, $inclusive = null) Alias for end(). - * @method static CarbonPeriod untilNow($inclusive = null) Create instance with end date set to now. - * @method static CarbonPeriod dates($start, $end = null) Create instance with start and end date. - * @method static CarbonPeriod between($start, $end = null) Create instance with start and end date. - * @method static CarbonPeriod recurrences($recurrences = null) Create instance with maximum number of recurrences. - * @method static CarbonPeriod times($recurrences = null) Alias for recurrences(). - * @method static CarbonPeriod options($options = null) Create instance with options. - * @method static CarbonPeriod toggle($options, $state = null) Create instance with options toggled on or off. - * @method static CarbonPeriod filter($callback, $name = null) Create instance with filter added to the stack. - * @method static CarbonPeriod push($callback, $name = null) Alias for filter(). - * @method static CarbonPeriod prepend($callback, $name = null) Create instance with filter prepened to the stack. - * @method static CarbonPeriod filters(array $filters) Create instance with filters stack. - * @method static CarbonPeriod interval($interval) Create instance with given date interval. - * @method static CarbonPeriod each($interval) Create instance with given date interval. - * @method static CarbonPeriod every($interval) Create instance with given date interval. - * @method static CarbonPeriod step($interval) Create instance with given date interval. - * @method static CarbonPeriod stepBy($interval) Create instance with given date interval. - * @method static CarbonPeriod invert() Create instance with inverted date interval. - * @method static CarbonPeriod years($years = 1) Create instance specifying a number of years for date interval. - * @method static CarbonPeriod year($years = 1) Alias for years(). - * @method static CarbonPeriod months($months = 1) Create instance specifying a number of months for date interval. - * @method static CarbonPeriod month($months = 1) Alias for months(). - * @method static CarbonPeriod weeks($weeks = 1) Create instance specifying a number of weeks for date interval. - * @method static CarbonPeriod week($weeks = 1) Alias for weeks(). - * @method static CarbonPeriod days($days = 1) Create instance specifying a number of days for date interval. - * @method static CarbonPeriod dayz($days = 1) Alias for days(). - * @method static CarbonPeriod day($days = 1) Alias for days(). - * @method static CarbonPeriod hours($hours = 1) Create instance specifying a number of hours for date interval. - * @method static CarbonPeriod hour($hours = 1) Alias for hours(). - * @method static CarbonPeriod minutes($minutes = 1) Create instance specifying a number of minutes for date interval. - * @method static CarbonPeriod minute($minutes = 1) Alias for minutes(). - * @method static CarbonPeriod seconds($seconds = 1) Create instance specifying a number of seconds for date interval. - * @method static CarbonPeriod second($seconds = 1) Alias for seconds(). - * @method $this start($date, $inclusive = null) Change the period start date. - * @method $this since($date, $inclusive = null) Alias for start(). - * @method $this sinceNow($inclusive = null) Change the period start date to now. - * @method $this end($date = null, $inclusive = null) Change the period end date. - * @method $this until($date = null, $inclusive = null) Alias for end(). - * @method $this untilNow($inclusive = null) Change the period end date to now. - * @method $this dates($start, $end = null) Change the period start and end date. - * @method $this recurrences($recurrences = null) Change the maximum number of recurrences. - * @method $this times($recurrences = null) Alias for recurrences(). - * @method $this options($options = null) Change the period options. - * @method $this toggle($options, $state = null) Toggle given options on or off. - * @method $this filter($callback, $name = null) Add a filter to the stack. - * @method $this push($callback, $name = null) Alias for filter(). - * @method $this prepend($callback, $name = null) Prepend a filter to the stack. - * @method $this filters(array $filters = []) Set filters stack. - * @method $this interval($interval) Change the period date interval. - * @method $this invert() Invert the period date interval. - * @method $this years($years = 1) Set the years portion of the date interval. - * @method $this year($years = 1) Alias for years(). - * @method $this months($months = 1) Set the months portion of the date interval. - * @method $this month($months = 1) Alias for months(). - * @method $this weeks($weeks = 1) Set the weeks portion of the date interval. - * @method $this week($weeks = 1) Alias for weeks(). - * @method $this days($days = 1) Set the days portion of the date interval. - * @method $this dayz($days = 1) Alias for days(). - * @method $this day($days = 1) Alias for days(). - * @method $this hours($hours = 1) Set the hours portion of the date interval. - * @method $this hour($hours = 1) Alias for hours(). - * @method $this minutes($minutes = 1) Set the minutes portion of the date interval. - * @method $this minute($minutes = 1) Alias for minutes(). - * @method $this seconds($seconds = 1) Set the seconds portion of the date interval. - * @method $this second($seconds = 1) Alias for seconds(). - * @method $this roundYear(float $precision = 1, string $function = "round") Round the current instance year with given precision using the given function. - * @method $this roundYears(float $precision = 1, string $function = "round") Round the current instance year with given precision using the given function. - * @method $this floorYear(float $precision = 1) Truncate the current instance year with given precision. - * @method $this floorYears(float $precision = 1) Truncate the current instance year with given precision. - * @method $this ceilYear(float $precision = 1) Ceil the current instance year with given precision. - * @method $this ceilYears(float $precision = 1) Ceil the current instance year with given precision. - * @method $this roundMonth(float $precision = 1, string $function = "round") Round the current instance month with given precision using the given function. - * @method $this roundMonths(float $precision = 1, string $function = "round") Round the current instance month with given precision using the given function. - * @method $this floorMonth(float $precision = 1) Truncate the current instance month with given precision. - * @method $this floorMonths(float $precision = 1) Truncate the current instance month with given precision. - * @method $this ceilMonth(float $precision = 1) Ceil the current instance month with given precision. - * @method $this ceilMonths(float $precision = 1) Ceil the current instance month with given precision. - * @method $this roundWeek(float $precision = 1, string $function = "round") Round the current instance day with given precision using the given function. - * @method $this roundWeeks(float $precision = 1, string $function = "round") Round the current instance day with given precision using the given function. - * @method $this floorWeek(float $precision = 1) Truncate the current instance day with given precision. - * @method $this floorWeeks(float $precision = 1) Truncate the current instance day with given precision. - * @method $this ceilWeek(float $precision = 1) Ceil the current instance day with given precision. - * @method $this ceilWeeks(float $precision = 1) Ceil the current instance day with given precision. - * @method $this roundDay(float $precision = 1, string $function = "round") Round the current instance day with given precision using the given function. - * @method $this roundDays(float $precision = 1, string $function = "round") Round the current instance day with given precision using the given function. - * @method $this floorDay(float $precision = 1) Truncate the current instance day with given precision. - * @method $this floorDays(float $precision = 1) Truncate the current instance day with given precision. - * @method $this ceilDay(float $precision = 1) Ceil the current instance day with given precision. - * @method $this ceilDays(float $precision = 1) Ceil the current instance day with given precision. - * @method $this roundHour(float $precision = 1, string $function = "round") Round the current instance hour with given precision using the given function. - * @method $this roundHours(float $precision = 1, string $function = "round") Round the current instance hour with given precision using the given function. - * @method $this floorHour(float $precision = 1) Truncate the current instance hour with given precision. - * @method $this floorHours(float $precision = 1) Truncate the current instance hour with given precision. - * @method $this ceilHour(float $precision = 1) Ceil the current instance hour with given precision. - * @method $this ceilHours(float $precision = 1) Ceil the current instance hour with given precision. - * @method $this roundMinute(float $precision = 1, string $function = "round") Round the current instance minute with given precision using the given function. - * @method $this roundMinutes(float $precision = 1, string $function = "round") Round the current instance minute with given precision using the given function. - * @method $this floorMinute(float $precision = 1) Truncate the current instance minute with given precision. - * @method $this floorMinutes(float $precision = 1) Truncate the current instance minute with given precision. - * @method $this ceilMinute(float $precision = 1) Ceil the current instance minute with given precision. - * @method $this ceilMinutes(float $precision = 1) Ceil the current instance minute with given precision. - * @method $this roundSecond(float $precision = 1, string $function = "round") Round the current instance second with given precision using the given function. - * @method $this roundSeconds(float $precision = 1, string $function = "round") Round the current instance second with given precision using the given function. - * @method $this floorSecond(float $precision = 1) Truncate the current instance second with given precision. - * @method $this floorSeconds(float $precision = 1) Truncate the current instance second with given precision. - * @method $this ceilSecond(float $precision = 1) Ceil the current instance second with given precision. - * @method $this ceilSeconds(float $precision = 1) Ceil the current instance second with given precision. - * @method $this roundMillennium(float $precision = 1, string $function = "round") Round the current instance millennium with given precision using the given function. - * @method $this roundMillennia(float $precision = 1, string $function = "round") Round the current instance millennium with given precision using the given function. - * @method $this floorMillennium(float $precision = 1) Truncate the current instance millennium with given precision. - * @method $this floorMillennia(float $precision = 1) Truncate the current instance millennium with given precision. - * @method $this ceilMillennium(float $precision = 1) Ceil the current instance millennium with given precision. - * @method $this ceilMillennia(float $precision = 1) Ceil the current instance millennium with given precision. - * @method $this roundCentury(float $precision = 1, string $function = "round") Round the current instance century with given precision using the given function. - * @method $this roundCenturies(float $precision = 1, string $function = "round") Round the current instance century with given precision using the given function. - * @method $this floorCentury(float $precision = 1) Truncate the current instance century with given precision. - * @method $this floorCenturies(float $precision = 1) Truncate the current instance century with given precision. - * @method $this ceilCentury(float $precision = 1) Ceil the current instance century with given precision. - * @method $this ceilCenturies(float $precision = 1) Ceil the current instance century with given precision. - * @method $this roundDecade(float $precision = 1, string $function = "round") Round the current instance decade with given precision using the given function. - * @method $this roundDecades(float $precision = 1, string $function = "round") Round the current instance decade with given precision using the given function. - * @method $this floorDecade(float $precision = 1) Truncate the current instance decade with given precision. - * @method $this floorDecades(float $precision = 1) Truncate the current instance decade with given precision. - * @method $this ceilDecade(float $precision = 1) Ceil the current instance decade with given precision. - * @method $this ceilDecades(float $precision = 1) Ceil the current instance decade with given precision. - * @method $this roundQuarter(float $precision = 1, string $function = "round") Round the current instance quarter with given precision using the given function. - * @method $this roundQuarters(float $precision = 1, string $function = "round") Round the current instance quarter with given precision using the given function. - * @method $this floorQuarter(float $precision = 1) Truncate the current instance quarter with given precision. - * @method $this floorQuarters(float $precision = 1) Truncate the current instance quarter with given precision. - * @method $this ceilQuarter(float $precision = 1) Ceil the current instance quarter with given precision. - * @method $this ceilQuarters(float $precision = 1) Ceil the current instance quarter with given precision. - * @method $this roundMillisecond(float $precision = 1, string $function = "round") Round the current instance millisecond with given precision using the given function. - * @method $this roundMilliseconds(float $precision = 1, string $function = "round") Round the current instance millisecond with given precision using the given function. - * @method $this floorMillisecond(float $precision = 1) Truncate the current instance millisecond with given precision. - * @method $this floorMilliseconds(float $precision = 1) Truncate the current instance millisecond with given precision. - * @method $this ceilMillisecond(float $precision = 1) Ceil the current instance millisecond with given precision. - * @method $this ceilMilliseconds(float $precision = 1) Ceil the current instance millisecond with given precision. - * @method $this roundMicrosecond(float $precision = 1, string $function = "round") Round the current instance microsecond with given precision using the given function. - * @method $this roundMicroseconds(float $precision = 1, string $function = "round") Round the current instance microsecond with given precision using the given function. - * @method $this floorMicrosecond(float $precision = 1) Truncate the current instance microsecond with given precision. - * @method $this floorMicroseconds(float $precision = 1) Truncate the current instance microsecond with given precision. - * @method $this ceilMicrosecond(float $precision = 1) Ceil the current instance microsecond with given precision. - * @method $this ceilMicroseconds(float $precision = 1) Ceil the current instance microsecond with given precision. - */ -class CarbonPeriod implements Iterator, Countable, JsonSerializable -{ - use Options, Mixin { - Mixin::mixin as baseMixin; - } - - /** - * Built-in filters. - * - * @var string - */ - const RECURRENCES_FILTER = 'Carbon\CarbonPeriod::filterRecurrences'; - const END_DATE_FILTER = 'Carbon\CarbonPeriod::filterEndDate'; - - /** - * Special value which can be returned by filters to end iteration. Also a filter. - * - * @var string - */ - const END_ITERATION = 'Carbon\CarbonPeriod::endIteration'; - - /** - * Available options. - * - * @var int - */ - const EXCLUDE_START_DATE = 1; - const EXCLUDE_END_DATE = 2; - const IMMUTABLE = 4; - - /** - * Number of maximum attempts before giving up on finding next valid date. - * - * @var int - */ - const NEXT_MAX_ATTEMPTS = 1000; - - /** - * The registered macros. - * - * @var array - */ - protected static $macros = []; - - /** - * Date class of iteration items. - * - * @var string - */ - protected $dateClass = Carbon::class; - - /** - * Underlying date interval instance. Always present, one day by default. - * - * @var CarbonInterval - */ - protected $dateInterval; - - /** - * Whether current date interval was set by default. - * - * @var bool - */ - protected $isDefaultInterval; - - /** - * The filters stack. - * - * @var array - */ - protected $filters = []; - - /** - * Period start date. Applied on rewind. Always present, now by default. - * - * @var CarbonInterface - */ - protected $startDate; - - /** - * Period end date. For inverted interval should be before the start date. Applied via a filter. - * - * @var CarbonInterface|null - */ - protected $endDate; - - /** - * Limit for number of recurrences. Applied via a filter. - * - * @var int|null - */ - protected $recurrences; - - /** - * Iteration options. - * - * @var int - */ - protected $options; - - /** - * Index of current date. Always sequential, even if some dates are skipped by filters. - * Equal to null only before the first iteration. - * - * @var int - */ - protected $key; - - /** - * Current date. May temporarily hold unaccepted value when looking for a next valid date. - * Equal to null only before the first iteration. - * - * @var CarbonInterface - */ - protected $current; - - /** - * Timezone of current date. Taken from the start date. - * - * @var \DateTimeZone|null - */ - protected $timezone; - - /** - * The cached validation result for current date. - * - * @var bool|string|null - */ - protected $validationResult; - - /** - * Timezone handler for settings() method. - * - * @var mixed - */ - protected $tzName; - - /** - * Make a CarbonPeriod instance from given variable if possible. - * - * @param mixed $var - * - * @return static|null - */ - public static function make($var) - { - try { - return static::instance($var); - } catch (NotAPeriodException $e) { - return static::create($var); - } - } - - /** - * Create a new instance from a DatePeriod or CarbonPeriod object. - * - * @param CarbonPeriod|DatePeriod $period - * - * @return static - */ - public static function instance($period) - { - if ($period instanceof static) { - return $period->copy(); - } - - if ($period instanceof self) { - return new static( - $period->getStartDate(), - $period->getEndDate() ?: $period->getRecurrences(), - $period->getDateInterval(), - $period->getOptions() - ); - } - - if ($period instanceof DatePeriod) { - return new static( - $period->start, - $period->end ?: ($period->recurrences - 1), - $period->interval, - $period->include_start_date ? 0 : static::EXCLUDE_START_DATE - ); - } - - $class = get_called_class(); - $type = gettype($period); - - throw new NotAPeriodException( - 'Argument 1 passed to '.$class.'::'.__METHOD__.'() '. - 'must be an instance of DatePeriod or '.$class.', '. - ($type === 'object' ? 'instance of '.get_class($period) : $type).' given.' - ); - } - - /** - * Get a copy of the instance. - * - * @return static - */ - public function copy() - { - return clone $this; - } - - /** - * @alias copy - * - * Get a copy of the instance. - * - * @return static - */ - public function clone() - { - return clone $this; - } - - /** - * Create a new instance. - * - * @return static - */ - public static function create(...$params) - { - return static::createFromArray($params); - } - - /** - * Create a new instance from an array of parameters. - * - * @param array $params - * - * @return static - */ - public static function createFromArray(array $params) - { - return new static(...$params); - } - - /** - * Create CarbonPeriod from ISO 8601 string. - * - * @param string $iso - * @param int|null $options - * - * @return static - */ - public static function createFromIso($iso, $options = null) - { - $params = static::parseIso8601($iso); - - $instance = static::createFromArray($params); - - if ($options !== null) { - $instance->setOptions($options); - } - - return $instance; - } - - /** - * Return whether given interval contains non zero value of any time unit. - * - * @param \DateInterval $interval - * - * @return bool - */ - protected static function intervalHasTime(DateInterval $interval) - { - return $interval->h || $interval->i || $interval->s || $interval->f; - } - - /** - * Return whether given variable is an ISO 8601 specification. - * - * Note: Check is very basic, as actual validation will be done later when parsing. - * We just want to ensure that variable is not any other type of a valid parameter. - * - * @param mixed $var - * - * @return bool - */ - protected static function isIso8601($var) - { - if (!is_string($var)) { - return false; - } - - // Match slash but not within a timezone name. - $part = '[a-z]+(?:[_-][a-z]+)*'; - - preg_match("#\b$part/$part\b|(/)#i", $var, $match); - - return isset($match[1]); - } - - /** - * Parse given ISO 8601 string into an array of arguments. - * - * @SuppressWarnings(PHPMD.ElseExpression) - * - * @param string $iso - * - * @return array - */ - protected static function parseIso8601($iso) - { - $result = []; - - $interval = null; - $start = null; - $end = null; - - foreach (explode('/', $iso) as $key => $part) { - if ($key === 0 && preg_match('/^R([0-9]*)$/', $part, $match)) { - $parsed = strlen($match[1]) ? (int) $match[1] : null; - } elseif ($interval === null && $parsed = CarbonInterval::make($part)) { - $interval = $part; - } elseif ($start === null && $parsed = Carbon::make($part)) { - $start = $part; - } elseif ($end === null && $parsed = Carbon::make(static::addMissingParts($start, $part))) { - $end = $part; - } else { - throw new InvalidArgumentException("Invalid ISO 8601 specification: $iso."); - } - - $result[] = $parsed; - } - - return $result; - } - - /** - * Add missing parts of the target date from the soure date. - * - * @param string $source - * @param string $target - * - * @return string - */ - protected static function addMissingParts($source, $target) - { - $pattern = '/'.preg_replace('/[0-9]+/', '[0-9]+', preg_quote($target, '/')).'$/'; - - $result = preg_replace($pattern, $target, $source, 1, $count); - - return $count ? $result : $target; - } - - /** - * Register a custom macro. - * - * @example - * ``` - * CarbonPeriod::macro('middle', function () { - * return $this->getStartDate()->average($this->getEndDate()); - * }); - * echo CarbonPeriod::since('2011-05-12')->until('2011-06-03')->middle(); - * ``` - * - * @param string $name - * @param object|callable $macro - * - * @return void - */ - public static function macro($name, $macro) - { - static::$macros[$name] = $macro; - } - - /** - * Register macros from a mixin object. - * - * @example - * ``` - * CarbonPeriod::mixin(new class { - * public function addDays() { - * return function ($count = 1) { - * return $this->setStartDate( - * $this->getStartDate()->addDays($count) - * )->setEndDate( - * $this->getEndDate()->addDays($count) - * ); - * }; - * } - * public function subDays() { - * return function ($count = 1) { - * return $this->setStartDate( - * $this->getStartDate()->subDays($count) - * )->setEndDate( - * $this->getEndDate()->subDays($count) - * ); - * }; - * } - * }); - * echo CarbonPeriod::create('2000-01-01', '2000-02-01')->addDays(5)->subDays(3); - * ``` - * - * @param object|string $mixin - * - * @throws \ReflectionException - * - * @return void - */ - public static function mixin($mixin) - { - static::baseMixin($mixin); - } - - /** - * Check if macro is registered. - * - * @param string $name - * - * @return bool - */ - public static function hasMacro($name) - { - return isset(static::$macros[$name]); - } - - /** - * Provide static proxy for instance aliases. - * - * @param string $method - * @param array $parameters - * - * @return mixed - */ - public static function __callStatic($method, $parameters) - { - return (new static)->$method(...$parameters); - } - - /** - * CarbonPeriod constructor. - * - * @SuppressWarnings(PHPMD.ElseExpression) - * - * @throws InvalidArgumentException - */ - public function __construct(...$arguments) - { - // Parse and assign arguments one by one. First argument may be an ISO 8601 spec, - // which will be first parsed into parts and then processed the same way. - - if (count($arguments) && static::isIso8601($iso = $arguments[0])) { - array_splice($arguments, 0, 1, static::parseIso8601($iso)); - } - - foreach ($arguments as $argument) { - if ($this->dateInterval === null && - ( - is_string($argument) && preg_match('/^(\d.*|P[T0-9].*|(?:\h*\d+(?:\.\d+)?\h*[a-z]+)+)$/i', $argument) || - $argument instanceof DateInterval - ) && - $parsed = @CarbonInterval::make($argument) - ) { - $this->setDateInterval($parsed); - } elseif ($this->startDate === null && $parsed = Carbon::make($argument)) { - $this->setStartDate($parsed); - } elseif ($this->endDate === null && $parsed = Carbon::make($argument)) { - $this->setEndDate($parsed); - } elseif ($this->recurrences === null && $this->endDate === null && is_numeric($argument)) { - $this->setRecurrences($argument); - } elseif ($this->options === null && (is_int($argument) || $argument === null)) { - $this->setOptions($argument); - } else { - throw new InvalidArgumentException('Invalid constructor parameters.'); - } - } - - if ($this->startDate === null) { - $this->setStartDate(Carbon::now()); - } - - if ($this->dateInterval === null) { - $this->setDateInterval(CarbonInterval::day()); - - $this->isDefaultInterval = true; - } - - if ($this->options === null) { - $this->setOptions(0); - } - } - - /** - * Return whether given callable is a string pointing to one of Carbon's is* methods - * and should be automatically converted to a filter callback. - * - * @param callable $callable - * - * @return bool - */ - protected function isCarbonPredicateMethod($callable) - { - return is_string($callable) && substr($callable, 0, 2) === 'is' && (method_exists($this->dateClass, $callable) || call_user_func([$this->dateClass, 'hasMacro'], $callable)); - } - - /** - * Set the iteration item class. - * - * @param string $dateClass - * - * @return $this - */ - public function setDateClass(string $dateClass) - { - if (!is_a($dateClass, CarbonInterface::class, true)) { - throw new InvalidArgumentException(sprintf( - 'Given class does not implement %s: %s', - CarbonInterface::class, - $dateClass - )); - } - - $this->dateClass = $dateClass; - - if (is_a($dateClass, Carbon::class, true)) { - $this->toggleOptions(static::IMMUTABLE, false); - } elseif (is_a($dateClass, CarbonImmutable::class, true)) { - $this->toggleOptions(static::IMMUTABLE, true); - } - - return $this; - } - - /** - * Returns iteration item date class. - * - * @return string - */ - public function getDateClass(): string - { - return $this->dateClass; - } - - /** - * Change the period date interval. - * - * @param DateInterval|string $interval - * - * @throws \InvalidArgumentException - * - * @return $this - */ - public function setDateInterval($interval) - { - if (!$interval = CarbonInterval::make($interval)) { - throw new InvalidArgumentException('Invalid interval.'); - } - - if ($interval->spec() === 'PT0S' && !$interval->f) { - throw new InvalidArgumentException('Empty interval is not accepted.'); - } - - $this->dateInterval = $interval; - - $this->isDefaultInterval = false; - - $this->handleChangedParameters(); - - return $this; - } - - /** - * Invert the period date interval. - * - * @return $this - */ - public function invertDateInterval() - { - $interval = $this->dateInterval->invert(); - - return $this->setDateInterval($interval); - } - - /** - * Set start and end date. - * - * @param DateTime|DateTimeInterface|string $start - * @param DateTime|DateTimeInterface|string|null $end - * - * @return $this - */ - public function setDates($start, $end) - { - $this->setStartDate($start); - $this->setEndDate($end); - - return $this; - } - - /** - * Change the period options. - * - * @param int|null $options - * - * @throws \InvalidArgumentException - * - * @return $this - */ - public function setOptions($options) - { - if (!is_int($options) && !is_null($options)) { - throw new InvalidArgumentException('Invalid options.'); - } - - $this->options = $options ?: 0; - - $this->handleChangedParameters(); - - return $this; - } - - /** - * Get the period options. - * - * @return int - */ - public function getOptions() - { - return $this->options; - } - - /** - * Toggle given options on or off. - * - * @param int $options - * @param bool|null $state - * - * @throws \InvalidArgumentException - * - * @return $this - */ - public function toggleOptions($options, $state = null) - { - if ($state === null) { - $state = ($this->options & $options) !== $options; - } - - return $this->setOptions( - $state ? - $this->options | $options : - $this->options & ~$options - ); - } - - /** - * Toggle EXCLUDE_START_DATE option. - * - * @param bool $state - * - * @return $this - */ - public function excludeStartDate($state = true) - { - return $this->toggleOptions(static::EXCLUDE_START_DATE, $state); - } - - /** - * Toggle EXCLUDE_END_DATE option. - * - * @param bool $state - * - * @return $this - */ - public function excludeEndDate($state = true) - { - return $this->toggleOptions(static::EXCLUDE_END_DATE, $state); - } - - /** - * Get the underlying date interval. - * - * @return CarbonInterval - */ - public function getDateInterval() - { - return $this->dateInterval->copy(); - } - - /** - * Get start date of the period. - * - * @param string|null $rounding Optional rounding 'floor', 'ceil', 'round' using the period interval. - * - * @return CarbonInterface - */ - public function getStartDate(string $rounding = null) - { - $date = $this->startDate->copy(); - - return $rounding ? $date->round($this->getDateInterval(), $rounding) : $date; - } - - /** - * Get end date of the period. - * - * @param string|null $rounding Optional rounding 'floor', 'ceil', 'round' using the period interval. - * - * @return CarbonInterface|null - */ - public function getEndDate(string $rounding = null) - { - if (!$this->endDate) { - return null; - } - - $date = $this->endDate->copy(); - - return $rounding ? $date->round($this->getDateInterval(), $rounding) : $date; - } - - /** - * Get number of recurrences. - * - * @return int|null - */ - public function getRecurrences() - { - return $this->recurrences; - } - - /** - * Returns true if the start date should be excluded. - * - * @return bool - */ - public function isStartExcluded() - { - return ($this->options & static::EXCLUDE_START_DATE) !== 0; - } - - /** - * Returns true if the end date should be excluded. - * - * @return bool - */ - public function isEndExcluded() - { - return ($this->options & static::EXCLUDE_END_DATE) !== 0; - } - - /** - * Returns true if the start date should be included. - * - * @return bool - */ - public function isStartIncluded() - { - return !$this->isStartExcluded(); - } - - /** - * Returns true if the end date should be included. - * - * @return bool - */ - public function isEndIncluded() - { - return !$this->isEndExcluded(); - } - - /** - * Return the start if it's included by option, else return the start + 1 period interval. - * - * @return CarbonInterface - */ - public function getIncludedStartDate() - { - $start = $this->getStartDate(); - - if ($this->isStartExcluded()) { - return $start->add($this->getDateInterval()); - } - - return $start; - } - - /** - * Return the end if it's included by option, else return the end - 1 period interval. - * Warning: if the period has no fixed end, this method will iterate the period to calculate it. - * - * @return CarbonInterface - */ - public function getIncludedEndDate() - { - $end = $this->getEndDate(); - - if (!$end) { - return $this->calculateEnd(); - } - - if ($this->isEndExcluded()) { - return $end->sub($this->getDateInterval()); - } - - return $end; - } - - /** - * Add a filter to the stack. - * - * @SuppressWarnings(PHPMD.UnusedFormalParameter) - * - * @param callable $callback - * @param string $name - * - * @return $this - */ - public function addFilter($callback, $name = null) - { - $tuple = $this->createFilterTuple(func_get_args()); - - $this->filters[] = $tuple; - - $this->handleChangedParameters(); - - return $this; - } - - /** - * Prepend a filter to the stack. - * - * @SuppressWarnings(PHPMD.UnusedFormalParameter) - * - * @param callable $callback - * @param string $name - * - * @return $this - */ - public function prependFilter($callback, $name = null) - { - $tuple = $this->createFilterTuple(func_get_args()); - - array_unshift($this->filters, $tuple); - - $this->handleChangedParameters(); - - return $this; - } - - /** - * Create a filter tuple from raw parameters. - * - * Will create an automatic filter callback for one of Carbon's is* methods. - * - * @param array $parameters - * - * @return array - */ - protected function createFilterTuple(array $parameters) - { - $method = array_shift($parameters); - - if (!$this->isCarbonPredicateMethod($method)) { - return [$method, array_shift($parameters)]; - } - - return [function ($date) use ($method, $parameters) { - return call_user_func_array([$date, $method], $parameters); - }, $method]; - } - - /** - * Remove a filter by instance or name. - * - * @param callable|string $filter - * - * @return $this - */ - public function removeFilter($filter) - { - $key = is_callable($filter) ? 0 : 1; - - $this->filters = array_values(array_filter( - $this->filters, - function ($tuple) use ($key, $filter) { - return $tuple[$key] !== $filter; - } - )); - - $this->updateInternalState(); - - $this->handleChangedParameters(); - - return $this; - } - - /** - * Return whether given instance or name is in the filter stack. - * - * @param callable|string $filter - * - * @return bool - */ - public function hasFilter($filter) - { - $key = is_callable($filter) ? 0 : 1; - - foreach ($this->filters as $tuple) { - if ($tuple[$key] === $filter) { - return true; - } - } - - return false; - } - - /** - * Get filters stack. - * - * @return array - */ - public function getFilters() - { - return $this->filters; - } - - /** - * Set filters stack. - * - * @param array $filters - * - * @return $this - */ - public function setFilters(array $filters) - { - $this->filters = $filters; - - $this->updateInternalState(); - - $this->handleChangedParameters(); - - return $this; - } - - /** - * Reset filters stack. - * - * @return $this - */ - public function resetFilters() - { - $this->filters = []; - - if ($this->endDate !== null) { - $this->filters[] = [static::END_DATE_FILTER, null]; - } - - if ($this->recurrences !== null) { - $this->filters[] = [static::RECURRENCES_FILTER, null]; - } - - $this->handleChangedParameters(); - - return $this; - } - - /** - * Update properties after removing built-in filters. - * - * @return void - */ - protected function updateInternalState() - { - if (!$this->hasFilter(static::END_DATE_FILTER)) { - $this->endDate = null; - } - - if (!$this->hasFilter(static::RECURRENCES_FILTER)) { - $this->recurrences = null; - } - } - - /** - * Add a recurrences filter (set maximum number of recurrences). - * - * @param int|null $recurrences - * - * @throws \InvalidArgumentException - * - * @return $this - */ - public function setRecurrences($recurrences) - { - if (!is_numeric($recurrences) && !is_null($recurrences) || $recurrences < 0) { - throw new InvalidArgumentException('Invalid number of recurrences.'); - } - - if ($recurrences === null) { - return $this->removeFilter(static::RECURRENCES_FILTER); - } - - $this->recurrences = (int) $recurrences; - - if (!$this->hasFilter(static::RECURRENCES_FILTER)) { - return $this->addFilter(static::RECURRENCES_FILTER); - } - - $this->handleChangedParameters(); - - return $this; - } - - /** - * Recurrences filter callback (limits number of recurrences). - * - * @SuppressWarnings(PHPMD.UnusedFormalParameter) - * - * @param \Carbon\Carbon $current - * @param int $key - * - * @return bool|string - */ - protected function filterRecurrences($current, $key) - { - if ($key < $this->recurrences) { - return true; - } - - return static::END_ITERATION; - } - - /** - * Change the period start date. - * - * @param DateTime|DateTimeInterface|string $date - * @param bool|null $inclusive - * - * @throws \InvalidArgumentException - * - * @return $this - */ - public function setStartDate($date, $inclusive = null) - { - if (!$date = call_user_func([$this->dateClass, 'make'], $date)) { - throw new InvalidArgumentException('Invalid start date.'); - } - - $this->startDate = $date; - - if ($inclusive !== null) { - $this->toggleOptions(static::EXCLUDE_START_DATE, !$inclusive); - } - - return $this; - } - - /** - * Change the period end date. - * - * @param DateTime|DateTimeInterface|string|null $date - * @param bool|null $inclusive - * - * @throws \InvalidArgumentException - * - * @return $this - */ - public function setEndDate($date, $inclusive = null) - { - if (!is_null($date) && !$date = call_user_func([$this->dateClass, 'make'], $date)) { - throw new InvalidArgumentException('Invalid end date.'); - } - - if (!$date) { - return $this->removeFilter(static::END_DATE_FILTER); - } - - $this->endDate = $date; - - if ($inclusive !== null) { - $this->toggleOptions(static::EXCLUDE_END_DATE, !$inclusive); - } - - if (!$this->hasFilter(static::END_DATE_FILTER)) { - return $this->addFilter(static::END_DATE_FILTER); - } - - $this->handleChangedParameters(); - - return $this; - } - - /** - * End date filter callback. - * - * @param \Carbon\Carbon $current - * - * @return bool|string - */ - protected function filterEndDate($current) - { - if (!$this->isEndExcluded() && $current == $this->endDate) { - return true; - } - - if ($this->dateInterval->invert ? $current > $this->endDate : $current < $this->endDate) { - return true; - } - - return static::END_ITERATION; - } - - /** - * End iteration filter callback. - * - * @return string - */ - protected function endIteration() - { - return static::END_ITERATION; - } - - /** - * Handle change of the parameters. - */ - protected function handleChangedParameters() - { - if (($this->getOptions() & static::IMMUTABLE) && $this->dateClass === Carbon::class) { - $this->setDateClass(CarbonImmutable::class); - } elseif (!($this->getOptions() & static::IMMUTABLE) && $this->dateClass === CarbonImmutable::class) { - $this->setDateClass(Carbon::class); - } - - $this->validationResult = null; - } - - /** - * Validate current date and stop iteration when necessary. - * - * Returns true when current date is valid, false if it is not, or static::END_ITERATION - * when iteration should be stopped. - * - * @return bool|string - */ - protected function validateCurrentDate() - { - if ($this->current === null) { - $this->rewind(); - } - - // Check after the first rewind to avoid repeating the initial validation. - if ($this->validationResult !== null) { - return $this->validationResult; - } - - return $this->validationResult = $this->checkFilters(); - } - - /** - * Check whether current value and key pass all the filters. - * - * @return bool|string - */ - protected function checkFilters() - { - $current = $this->prepareForReturn($this->current); - - foreach ($this->filters as $tuple) { - $result = call_user_func( - $tuple[0], - $current->copy(), - $this->key, - $this - ); - - if ($result === static::END_ITERATION) { - return static::END_ITERATION; - } - - if (!$result) { - return false; - } - } - - return true; - } - - /** - * Prepare given date to be returned to the external logic. - * - * @param CarbonInterface $date - * - * @return CarbonInterface - */ - protected function prepareForReturn(CarbonInterface $date) - { - $date = call_user_func([$this->dateClass, 'make'], $date); - - if ($this->timezone) { - $date = $date->setTimezone($this->timezone); - } - - return $date; - } - - /** - * Check if the current position is valid. - * - * @return bool - */ - public function valid() - { - return $this->validateCurrentDate() === true; - } - - /** - * Return the current key. - * - * @return int|null - */ - public function key() - { - if ($this->valid()) { - return $this->key; - } - } - - /** - * Return the current date. - * - * @return CarbonInterface|null - */ - public function current() - { - if ($this->valid()) { - return $this->prepareForReturn($this->current); - } - } - - /** - * Move forward to the next date. - * - * @throws \RuntimeException - * - * @return void - */ - public function next() - { - if ($this->current === null) { - $this->rewind(); - } - - if ($this->validationResult !== static::END_ITERATION) { - $this->key++; - - $this->incrementCurrentDateUntilValid(); - } - } - - /** - * Rewind to the start date. - * - * Iterating over a date in the UTC timezone avoids bug during backward DST change. - * - * @see https://bugs.php.net/bug.php?id=72255 - * @see https://bugs.php.net/bug.php?id=74274 - * @see https://wiki.php.net/rfc/datetime_and_daylight_saving_time - * - * @throws \RuntimeException - * - * @return void - */ - public function rewind() - { - $this->key = 0; - $this->current = call_user_func([$this->dateClass, 'make'], $this->startDate); - $settings = $this->getSettings(); - $locale = $this->getLocalTranslator()->getLocale(); - if ($locale) { - $settings['locale'] = $locale; - } - $this->current->settings($settings); - $this->timezone = static::intervalHasTime($this->dateInterval) ? $this->current->getTimezone() : null; - - if ($this->timezone) { - $this->current = $this->current->utc(); - } - - $this->validationResult = null; - - if ($this->isStartExcluded() || $this->validateCurrentDate() === false) { - $this->incrementCurrentDateUntilValid(); - } - } - - /** - * Skip iterations and returns iteration state (false if ended, true if still valid). - * - * @param int $count steps number to skip (1 by default) - * - * @return bool - */ - public function skip($count = 1) - { - for ($i = $count; $this->valid() && $i > 0; $i--) { - $this->next(); - } - - return $this->valid(); - } - - /** - * Keep incrementing the current date until a valid date is found or the iteration is ended. - * - * @throws \RuntimeException - * - * @return void - */ - protected function incrementCurrentDateUntilValid() - { - $attempts = 0; - - do { - $this->current = $this->current->add($this->dateInterval); - - $this->validationResult = null; - - if (++$attempts > static::NEXT_MAX_ATTEMPTS) { - throw new RuntimeException('Could not find next valid date.'); - } - } while ($this->validateCurrentDate() === false); - } - - /** - * Format the date period as ISO 8601. - * - * @return string - */ - public function toIso8601String() - { - $parts = []; - - if ($this->recurrences !== null) { - $parts[] = 'R'.$this->recurrences; - } - - $parts[] = $this->startDate->toIso8601String(); - - $parts[] = $this->dateInterval->spec(); - - if ($this->endDate !== null) { - $parts[] = $this->endDate->toIso8601String(); - } - - return implode('/', $parts); - } - - /** - * Convert the date period into a string. - * - * @return string - */ - public function toString() - { - $translator = call_user_func([$this->dateClass, 'getTranslator']); - - $parts = []; - - $format = !$this->startDate->isStartOfDay() || $this->endDate && !$this->endDate->isStartOfDay() - ? 'Y-m-d H:i:s' - : 'Y-m-d'; - - if ($this->recurrences !== null) { - $parts[] = $this->translate('period_recurrences', [], $this->recurrences, $translator); - } - - $parts[] = $this->translate('period_interval', [':interval' => $this->dateInterval->forHumans([ - 'join' => true, - ])], null, $translator); - - $parts[] = $this->translate('period_start_date', [':date' => $this->startDate->rawFormat($format)], null, $translator); - - if ($this->endDate !== null) { - $parts[] = $this->translate('period_end_date', [':date' => $this->endDate->rawFormat($format)], null, $translator); - } - - $result = implode(' ', $parts); - - return mb_strtoupper(mb_substr($result, 0, 1)).mb_substr($result, 1); - } - - /** - * Format the date period as ISO 8601. - * - * @return string - */ - public function spec() - { - return $this->toIso8601String(); - } - - /** - * Cast the current instance into the given class. - * - * @param string $className The $className::instance() method will be called to cast the current object. - * - * @return DatePeriod - */ - public function cast(string $className) - { - if (!method_exists($className, 'instance')) { - if (is_a($className, DatePeriod::class, true)) { - return new $className( - $this->getStartDate(), - $this->getDateInterval(), - $this->getEndDate() ? $this->getIncludedEndDate() : $this->getRecurrences(), - $this->isStartExcluded() ? DatePeriod::EXCLUDE_START_DATE : 0 - ); - } - - throw new InvalidArgumentException("$className has not the instance() method needed to cast the date."); - } - - return $className::instance($this); - } - - /** - * Return native DatePeriod PHP object matching the current instance. - * - * @example - * ``` - * var_dump(CarbonPeriod::create('2021-01-05', '2021-02-15')->toDatePeriod()); - * ``` - * - * @return DatePeriod - */ - public function toDatePeriod() - { - return $this->cast(DatePeriod::class); - } - - /** - * Convert the date period into an array without changing current iteration state. - * - * @return CarbonInterface[] - */ - public function toArray() - { - $state = [ - $this->key, - $this->current ? $this->current->copy() : null, - $this->validationResult, - ]; - - $result = iterator_to_array($this); - - [ - $this->key, - $this->current, - $this->validationResult - ] = $state; - - return $result; - } - - /** - * Count dates in the date period. - * - * @return int - */ - public function count() - { - return count($this->toArray()); - } - - /** - * Return the first date in the date period. - * - * @return CarbonInterface|null - */ - public function first() - { - if ($array = $this->toArray()) { - return $array[0]; - } - } - - /** - * Return the last date in the date period. - * - * @return CarbonInterface|null - */ - public function last() - { - if ($array = $this->toArray()) { - return $array[count($array) - 1]; - } - } - - /** - * Call given macro. - * - * @param string $name - * @param array $parameters - * - * @return mixed - */ - protected function callMacro($name, $parameters) - { - $macro = static::$macros[$name]; - - if ($macro instanceof Closure) { - $boundMacro = @$macro->bindTo($this, static::class) ?: @$macro->bindTo(null, static::class); - - return call_user_func_array($boundMacro ?: $macro, $parameters); - } - - return call_user_func_array($macro, $parameters); - } - - /** - * Convert the date period into a string. - * - * @return string - */ - public function __toString() - { - return $this->toString(); - } - - /** - * Add aliases for setters. - * - * CarbonPeriod::days(3)->hours(5)->invert() - * ->sinceNow()->until('2010-01-10') - * ->filter(...) - * ->count() - * - * Note: We use magic method to let static and instance aliases with the same names. - * - * @param string $method - * @param array $parameters - * - * @return mixed - */ - public function __call($method, $parameters) - { - if (static::hasMacro($method)) { - return static::bindMacroContext($this, function () use (&$method, &$parameters) { - return $this->callMacro($method, $parameters); - }); - } - - $action = substr($method, 0, 4); - - if ($action !== 'ceil') { - $action = substr($method, 0, 5); - } - - if (in_array($action, ['round', 'floor', 'ceil'])) { - return $this->{$action.'Unit'}(substr($method, strlen($action)), ...$parameters); - } - - $first = count($parameters) >= 1 ? $parameters[0] : null; - $second = count($parameters) >= 2 ? $parameters[1] : null; - - switch ($method) { - case 'start': - case 'since': - return $this->setStartDate($first, $second); - - case 'sinceNow': - return $this->setStartDate(new Carbon, $first); - - case 'end': - case 'until': - return $this->setEndDate($first, $second); - - case 'untilNow': - return $this->setEndDate(new Carbon, $first); - - case 'dates': - case 'between': - return $this->setDates($first, $second); - - case 'recurrences': - case 'times': - return $this->setRecurrences($first); - - case 'options': - return $this->setOptions($first); - - case 'toggle': - return $this->toggleOptions($first, $second); - - case 'filter': - case 'push': - return $this->addFilter($first, $second); - - case 'prepend': - return $this->prependFilter($first, $second); - - case 'filters': - return $this->setFilters($first ?: []); - - case 'interval': - case 'each': - case 'every': - case 'step': - case 'stepBy': - return $this->setDateInterval($first); - - case 'invert': - return $this->invertDateInterval(); - - case 'years': - case 'year': - case 'months': - case 'month': - case 'weeks': - case 'week': - case 'days': - case 'dayz': - case 'day': - case 'hours': - case 'hour': - case 'minutes': - case 'minute': - case 'seconds': - case 'second': - return $this->setDateInterval(call_user_func( - // Override default P1D when instantiating via fluent setters. - [$this->isDefaultInterval ? new CarbonInterval('PT0S') : $this->dateInterval, $method], - count($parameters) === 0 ? 1 : $first - )); - } - - if ($this->localStrictModeEnabled ?? Carbon::isStrictModeEnabled()) { - throw new BadMethodCallException("Method $method does not exist."); - } - - return $this; - } - - /** - * Set the instance's timezone from a string or object and add/subtract the offset difference. - * - * @param \DateTimeZone|string $timezone - * - * @return static - */ - public function shiftTimezone($timezone) - { - $this->tzName = $timezone; - $this->timezone = $timezone; - - return $this; - } - - /** - * Returns the end is set, else calculated from start an recurrences. - * - * @param string|null $rounding Optional rounding 'floor', 'ceil', 'round' using the period interval. - * - * @return CarbonInterface - */ - public function calculateEnd(string $rounding = null) - { - if ($end = $this->getEndDate($rounding)) { - return $end; - } - - $dates = iterator_to_array($this); - - $date = end($dates); - - if ($date && $rounding) { - $date = $date->copy()->round($this->getDateInterval(), $rounding); - } - - return $date; - } - - /** - * Returns true if the current period overlaps the given one (if 1 parameter passed) - * or the period between 2 dates (if 2 parameters passed). - * - * @param CarbonPeriod|\DateTimeInterface|Carbon|CarbonImmutable|string $rangeOrRangeStart - * @param \DateTimeInterface|Carbon|CarbonImmutable|string|null $rangeEnd - * - * @return bool - */ - public function overlaps($rangeOrRangeStart, $rangeEnd = null) - { - $range = $rangeEnd ? static::create($rangeOrRangeStart, $rangeEnd) : $rangeOrRangeStart; - - if (!($range instanceof self)) { - $range = static::create($range); - } - - return $this->calculateEnd() > $range->getStartDate() && $range->calculateEnd() > $this->getStartDate(); - } - - /** - * Execute a given function on each date of the period. - * - * @example - * ``` - * Carbon::create('2020-11-29')->daysUntil('2020-12-24')->forEach(function (Carbon $date) { - * echo $date->diffInDays('2020-12-25')." days before Christmas!\n"; - * }); - * ``` - * - * @param callable $callback - */ - public function forEach(callable $callback) - { - foreach ($this as $date) { - $callback($date); - } - } - - /** - * Execute a given function on each date of the period and yield the result of this function. - * - * @example - * ``` - * $period = Carbon::create('2020-11-29')->daysUntil('2020-12-24'); - * echo implode("\n", iterator_to_array($period->map(function (Carbon $date) { - * return $date->diffInDays('2020-12-25').' days before Christmas!'; - * }))); - * ``` - * - * @param callable $callback - * - * @return \Generator - */ - public function map(callable $callback) - { - foreach ($this as $date) { - yield $callback($date); - } - } - - /** - * Determines if the instance is equal to another. - * Warning: if options differ, instances wil never be equal. - * - * @param mixed $period - * - * @see equalTo() - * - * @return bool - */ - public function eq($period): bool - { - return $this->equalTo($period); - } - - /** - * Determines if the instance is equal to another. - * Warning: if options differ, instances wil never be equal. - * - * @param mixed $period - * - * @return bool - */ - public function equalTo($period): bool - { - if (!($period instanceof self)) { - $period = self::make($period); - } - - $end = $this->getEndDate(); - - return $period !== null - && $this->getDateInterval()->eq($period->getDateInterval()) - && $this->getStartDate()->eq($period->getStartDate()) - && ($end ? $end->eq($period->getEndDate()) : $this->getRecurrences() === $period->getRecurrences()) - && ($this->getOptions() & (~static::IMMUTABLE)) === ($period->getOptions() & (~static::IMMUTABLE)); - } - - /** - * Determines if the instance is not equal to another. - * Warning: if options differ, instances wil never be equal. - * - * @param mixed $period - * - * @see notEqualTo() - * - * @return bool - */ - public function ne($period): bool - { - return $this->notEqualTo($period); - } - - /** - * Determines if the instance is not equal to another. - * Warning: if options differ, instances wil never be equal. - * - * @param mixed $period - * - * @return bool - */ - public function notEqualTo($period): bool - { - return !$this->eq($period); - } - - /** - * Determines if the start date is before an other given date. - * (Rather start/end are included by options is ignored.) - * - * @param mixed $date - * - * @return bool - */ - public function startsBefore($date = null): bool - { - return $this->getStartDate()->lessThan($this->resolveCarbon($date)); - } - - /** - * Determines if the start date is before or the same as a given date. - * (Rather start/end are included by options is ignored.) - * - * @param mixed $date - * - * @return bool - */ - public function startsBeforeOrAt($date = null): bool - { - return $this->getStartDate()->lessThanOrEqualTo($this->resolveCarbon($date)); - } - - /** - * Determines if the start date is after an other given date. - * (Rather start/end are included by options is ignored.) - * - * @param mixed $date - * - * @return bool - */ - public function startsAfter($date = null): bool - { - return $this->getStartDate()->greaterThan($this->resolveCarbon($date)); - } - - /** - * Determines if the start date is after or the same as a given date. - * (Rather start/end are included by options is ignored.) - * - * @param mixed $date - * - * @return bool - */ - public function startsAfterOrAt($date = null): bool - { - return $this->getStartDate()->greaterThanOrEqualTo($this->resolveCarbon($date)); - } - - /** - * Determines if the start date is the same as a given date. - * (Rather start/end are included by options is ignored.) - * - * @param mixed $date - * - * @return bool - */ - public function startsAt($date = null): bool - { - return $this->getStartDate()->equalTo($this->resolveCarbon($date)); - } - - /** - * Determines if the end date is before an other given date. - * (Rather start/end are included by options is ignored.) - * - * @param mixed $date - * - * @return bool - */ - public function endsBefore($date = null): bool - { - return $this->calculateEnd()->lessThan($this->resolveCarbon($date)); - } - - /** - * Determines if the end date is before or the same as a given date. - * (Rather start/end are included by options is ignored.) - * - * @param mixed $date - * - * @return bool - */ - public function endsBeforeOrAt($date = null): bool - { - return $this->calculateEnd()->lessThanOrEqualTo($this->resolveCarbon($date)); - } - - /** - * Determines if the end date is after an other given date. - * (Rather start/end are included by options is ignored.) - * - * @param mixed $date - * - * @return bool - */ - public function endsAfter($date = null): bool - { - return $this->calculateEnd()->greaterThan($this->resolveCarbon($date)); - } - - /** - * Determines if the end date is after or the same as a given date. - * (Rather start/end are included by options is ignored.) - * - * @param mixed $date - * - * @return bool - */ - public function endsAfterOrAt($date = null): bool - { - return $this->calculateEnd()->greaterThanOrEqualTo($this->resolveCarbon($date)); - } - - /** - * Determines if the end date is the same as a given date. - * (Rather start/end are included by options is ignored.) - * - * @param mixed $date - * - * @return bool - */ - public function endsAt($date = null): bool - { - return $this->calculateEnd()->equalTo($this->resolveCarbon($date)); - } - - /** - * Return true if start date is now or later. - * (Rather start/end are included by options is ignored.) - * - * @return bool - */ - public function isStarted(): bool - { - return $this->startsBeforeOrAt(); - } - - /** - * Return true if end date is now or later. - * (Rather start/end are included by options is ignored.) - * - * @return bool - */ - public function isEnded(): bool - { - return $this->endsBeforeOrAt(); - } - - /** - * Return true if now is between start date (included) and end date (excluded). - * (Rather start/end are included by options is ignored.) - * - * @return bool - */ - public function isInProgress(): bool - { - return $this->isStarted() && !$this->isEnded(); - } - - /** - * Round the current instance at the given unit with given precision if specified and the given function. - * - * @param string $unit - * @param float|int|string|\DateInterval|null $precision - * @param string $function - * - * @return $this - */ - public function roundUnit($unit, $precision = 1, $function = 'round') - { - $this->setStartDate($this->getStartDate()->roundUnit($unit, $precision, $function)); - - if ($this->endDate) { - $this->setEndDate($this->getEndDate()->roundUnit($unit, $precision, $function)); - } - - $this->setDateInterval($this->getDateInterval()->roundUnit($unit, $precision, $function)); - - return $this; - } - - /** - * Truncate the current instance at the given unit with given precision if specified. - * - * @param string $unit - * @param float|int|string|\DateInterval|null $precision - * - * @return $this - */ - public function floorUnit($unit, $precision = 1) - { - return $this->roundUnit($unit, $precision, 'floor'); - } - - /** - * Ceil the current instance at the given unit with given precision if specified. - * - * @param string $unit - * @param float|int|string|\DateInterval|null $precision - * - * @return $this - */ - public function ceilUnit($unit, $precision = 1) - { - return $this->roundUnit($unit, $precision, 'ceil'); - } - - /** - * Round the current instance second with given precision if specified (else period interval is used). - * - * @param float|int|string|\DateInterval|null $precision - * @param string $function - * - * @return $this - */ - public function round($precision = null, $function = 'round') - { - $unit = 'second'; - - if ($precision === null || $precision instanceof DateInterval) { - $precision = (string) ($precision === null ? $this->getDateInterval() : CarbonInterval::instance($precision)); - } - - if (is_string($precision) && preg_match('/^\s*(?\d+)?\s*(?\w+)(?\W.*)?$/', $precision, $match)) { - if (trim($match['other'] ?? '') !== '') { - throw new InvalidArgumentException('Rounding is only possible with single unit intervals.'); - } - - $precision = (int) ($match['precision'] ?: 1); - $unit = $match['unit']; - } - - return $this->roundUnit($unit, $precision, $function); - } - - /** - * Round the current instance second with given precision if specified (else period interval is used). - * - * @param float|int|string|\DateInterval|null $precision - * - * @return $this - */ - public function floor($precision = null) - { - return $this->round($precision, 'floor'); - } - - /** - * Ceil the current instance second with given precision if specified (else period interval is used). - * - * @param float|int|string|\DateInterval|null $precision - * - * @return $this - */ - public function ceil($precision = null) - { - return $this->round($precision, 'ceil'); - } - - /** - * Return the Carbon instance passed through, a now instance in the same timezone - * if null given or parse the input if string given. - * - * @param \Carbon\Carbon|\Carbon\CarbonPeriod|\Carbon\CarbonInterval|\DateInterval|\DatePeriod|\DateTimeInterface|string|null $date - * - * @return \Carbon\CarbonInterface - */ - protected function resolveCarbon($date = null) - { - return $this->getStartDate()->nowWithSameTz()->carbonize($date); - } - - /** - * Resolve passed arguments or DatePeriod to a CarbonPeriod object. - * - * @param mixed $period - * @param mixed ...$arguments - * - * @return static - */ - protected function resolveCarbonPeriod($period, ...$arguments) - { - if ($period instanceof self) { - return $period; - } - - return $period instanceof DatePeriod - ? static::instance($period) - : static::create($period, ...$arguments); - } - - /** - * Specify data which should be serialized to JSON. - * - * @link https://php.net/manual/en/jsonserializable.jsonserialize.php - * - * @return CarbonInterface[] - */ - public function jsonSerialize() - { - return $this->toArray(); - } - - /** - * Return true if the given date is between start and end. - * - * @param \Carbon\Carbon|\Carbon\CarbonPeriod|\Carbon\CarbonInterval|\DateInterval|\DatePeriod|\DateTimeInterface|string|null $date - * - * @return bool - */ - public function contains($date = null): bool - { - $startMethod = 'startsBefore'.($this->isStartIncluded() ? 'OrAt' : ''); - $endMethod = 'endsAfter'.($this->isEndIncluded() ? 'OrAt' : ''); - - return $this->$startMethod($date) && $this->$endMethod($date); - } - - /** - * Return true if the current period follows a given other period (with no overlap). - * For instance, [2019-08-01 -> 2019-08-12] follows [2019-07-29 -> 2019-07-31] - * Note than in this example, follows() would be false if 2019-08-01 or 2019-07-31 was excluded by options. - * - * @param \Carbon\CarbonPeriod|\DatePeriod|string $period - * - * @return bool - */ - public function follows($period, ...$arguments): bool - { - $period = $this->resolveCarbonPeriod($period, ...$arguments); - - return $this->getIncludedStartDate()->equalTo($period->getIncludedEndDate()->add($period->getDateInterval())); - } - - /** - * Return true if the given other period follows the current one (with no overlap). - * For instance, [2019-07-29 -> 2019-07-31] is followed by [2019-08-01 -> 2019-08-12] - * Note than in this example, isFollowedBy() would be false if 2019-08-01 or 2019-07-31 was excluded by options. - * - * @param \Carbon\CarbonPeriod|\DatePeriod|string $period - * - * @return bool - */ - public function isFollowedBy($period, ...$arguments): bool - { - $period = $this->resolveCarbonPeriod($period, ...$arguments); - - return $period->follows($this); - } - - /** - * Return true if the given period either follows or is followed by the current one. - * - * @see follows() - * @see isFollowedBy() - * - * @param \Carbon\CarbonPeriod|\DatePeriod|string $period - * - * @return bool - */ - public function isConsecutiveWith($period, ...$arguments): bool - { - return $this->follows($period, ...$arguments) || $this->isFollowedBy($period, ...$arguments); - } -} diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/CarbonTimeZone.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/CarbonTimeZone.php deleted file mode 100644 index 421c3e6..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/CarbonTimeZone.php +++ /dev/null @@ -1,250 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace Carbon; - -use DateTimeInterface; -use DateTimeZone; -use InvalidArgumentException; - -class CarbonTimeZone extends DateTimeZone -{ - public function __construct($timezone = null) - { - parent::__construct(static::getDateTimeZoneNameFromMixed($timezone)); - } - - protected static function parseNumericTimezone($timezone) - { - if ($timezone <= -100 || $timezone >= 100) { - throw new InvalidArgumentException('Absolute timezone offset cannot be greater than 100.'); - } - - return ($timezone >= 0 ? '+' : '').$timezone.':00'; - } - - protected static function getDateTimeZoneNameFromMixed($timezone) - { - if (is_null($timezone)) { - return date_default_timezone_get(); - } - - if (is_string($timezone)) { - $timezone = preg_replace('/^\s*([+-]\d+)(\d{2})\s*$/', '$1:$2', $timezone); - } - - if (is_numeric($timezone)) { - return static::parseNumericTimezone($timezone); - } - - return $timezone; - } - - protected static function getDateTimeZoneFromName(&$name) - { - return @timezone_open($name = (string) static::getDateTimeZoneNameFromMixed($name)); - } - - /** - * Cast the current instance into the given class. - * - * @param string $className The $className::instance() method will be called to cast the current object. - * - * @return DateTimeZone - */ - public function cast(string $className) - { - if (!method_exists($className, 'instance')) { - if (is_a($className, DateTimeZone::class, true)) { - return new $className($this->getName()); - } - - throw new InvalidArgumentException("$className has not the instance() method needed to cast the date."); - } - - return $className::instance($this); - } - - /** - * Create a CarbonTimeZone from mixed input. - * - * @param DateTimeZone|string|int|null $object original value to get CarbonTimeZone from it. - * @param DateTimeZone|string|int|null $objectDump dump of the object for error messages. - * - * @return false|static - */ - public static function instance($object = null, $objectDump = null) - { - $tz = $object; - - if ($tz instanceof static) { - return $tz; - } - - if ($tz === null) { - return new static(); - } - - if (!$tz instanceof DateTimeZone) { - $tz = static::getDateTimeZoneFromName($object); - } - - if ($tz === false) { - if (Carbon::isStrictModeEnabled()) { - throw new InvalidArgumentException('Unknown or bad timezone ('.($objectDump ?: $object).')'); - } - - return false; - } - - return new static($tz->getName()); - } - - /** - * Returns abbreviated name of the current timezone according to DST setting. - * - * @param bool $dst - * - * @return string - */ - public function getAbbreviatedName($dst = false) - { - $name = $this->getName(); - - foreach ($this->listAbbreviations() as $abbreviation => $zones) { - foreach ($zones as $zone) { - if ($zone['timezone_id'] === $name && $zone['dst'] == $dst) { - return $abbreviation; - } - } - } - - return 'unknown'; - } - - /** - * @alias getAbbreviatedName - * - * Returns abbreviated name of the current timezone according to DST setting. - * - * @param bool $dst - * - * @return string - */ - public function getAbbr($dst = false) - { - return $this->getAbbreviatedName($dst); - } - - /** - * Get the offset as string "sHH:MM" (such as "+00:00" or "-12:30"). - * - * @param DateTimeInterface|null $date - * - * @return string - */ - public function toOffsetName(DateTimeInterface $date = null) - { - $minutes = floor($this->getOffset($date ?: Carbon::now($this)) / 60); - - $hours = floor($minutes / 60); - - $minutes = str_pad((string) (abs($minutes) % 60), 2, '0', STR_PAD_LEFT); - - return ($hours < 0 ? '-' : '+').str_pad((string) abs($hours), 2, '0', STR_PAD_LEFT).":$minutes"; - } - - /** - * Returns a new CarbonTimeZone object using the offset string instead of region string. - * - * @param DateTimeInterface|null $date - * - * @return CarbonTimeZone - */ - public function toOffsetTimeZone(DateTimeInterface $date = null) - { - return new static($this->toOffsetName($date)); - } - - /** - * Returns the first region string (such as "America/Toronto") that matches the current timezone. - * - * @see timezone_name_from_abbr native PHP function. - * - * @param DateTimeInterface|null $date - * @param int $isDst - * - * @return string - */ - public function toRegionName(DateTimeInterface $date = null, $isDst = 1) - { - $name = $this->getName(); - $firstChar = substr($name, 0, 1); - - if ($firstChar !== '+' && $firstChar !== '-') { - return $name; - } - - // Integer construction no longer supported since PHP 8 - // @codeCoverageIgnoreStart - try { - $offset = @$this->getOffset($date ?: Carbon::now($this)) ?: 0; - } catch (\Throwable $e) { - $offset = 0; - } - // @codeCoverageIgnoreEnd - - return @timezone_name_from_abbr('', $offset, $isDst); - } - - /** - * Returns a new CarbonTimeZone object using the region string instead of offset string. - * - * @param DateTimeInterface|null $date - * - * @return CarbonTimeZone|false - */ - public function toRegionTimeZone(DateTimeInterface $date = null) - { - $tz = $this->toRegionName($date); - - if ($tz === false) { - if (Carbon::isStrictModeEnabled()) { - throw new InvalidArgumentException('Unknown timezone for offset '.$this->getOffset($date ?: Carbon::now($this)).' seconds.'); - } - - return false; - } - - return new static($tz); - } - - /** - * Cast to string (get timezone name). - * - * @return string - */ - public function __toString() - { - return $this->getName(); - } - - /** - * Create a CarbonTimeZone from mixed input. - * - * @param DateTimeZone|string|int|null $object - * - * @return false|static - */ - public static function create($object = null) - { - return static::instance($object); - } -} diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Cli/Invoker.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Cli/Invoker.php deleted file mode 100644 index 2078c3d..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Cli/Invoker.php +++ /dev/null @@ -1,29 +0,0 @@ -runWithCli(self::CLI_CLASS_NAME, $parameters); - } - - $function = (($parameters[1] ?? '') === 'install' ? ($parameters[2] ?? null) : null) ?: 'shell_exec'; - $function('composer require carbon-cli/carbon-cli --no-interaction'); - - echo 'Installation succeeded.'; - - return true; - } -} diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Exceptions/BadUnitException.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Exceptions/BadUnitException.php deleted file mode 100644 index f0ea37e..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Exceptions/BadUnitException.php +++ /dev/null @@ -1,29 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace Carbon\Exceptions; - -use Exception; -use InvalidArgumentException; - -class BadUnitException extends InvalidArgumentException -{ - /** - * Constructor. - * - * @param string $unit - * @param int $code - * @param \Exception|null $previous - */ - public function __construct($unit, $code = 0, Exception $previous = null) - { - parent::__construct("Bad comparison unit: '$unit'", $code, $previous); - } -} diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Exceptions/InvalidDateException.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Exceptions/InvalidDateException.php deleted file mode 100644 index 3560c04..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Exceptions/InvalidDateException.php +++ /dev/null @@ -1,66 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace Carbon\Exceptions; - -use Exception; -use InvalidArgumentException; - -class InvalidDateException extends InvalidArgumentException -{ - /** - * The invalid field. - * - * @var string - */ - private $field; - - /** - * The invalid value. - * - * @var mixed - */ - private $value; - - /** - * Constructor. - * - * @param string $field - * @param mixed $value - * @param int $code - * @param \Exception|null $previous - */ - public function __construct($field, $value, $code = 0, Exception $previous = null) - { - $this->field = $field; - $this->value = $value; - parent::__construct($field.' : '.$value.' is not a valid value.', $code, $previous); - } - - /** - * Get the invalid field. - * - * @return string - */ - public function getField() - { - return $this->field; - } - - /** - * Get the invalid value. - * - * @return mixed - */ - public function getValue() - { - return $this->value; - } -} diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Exceptions/NotAPeriodException.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Exceptions/NotAPeriodException.php deleted file mode 100644 index 14494fa..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Exceptions/NotAPeriodException.php +++ /dev/null @@ -1,29 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace Carbon\Exceptions; - -use Exception; -use InvalidArgumentException; - -class NotAPeriodException extends InvalidArgumentException -{ - /** - * Constructor. - * - * @param string $message - * @param int $code - * @param \Exception|null $previous - */ - public function __construct($message, $code = 0, Exception $previous = null) - { - parent::__construct($message, $code, $previous); - } -} diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Exceptions/ParseErrorException.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Exceptions/ParseErrorException.php deleted file mode 100644 index 7fa29c1..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Exceptions/ParseErrorException.php +++ /dev/null @@ -1,32 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace Carbon\Exceptions; - -use Exception; -use InvalidArgumentException; - -class ParseErrorException extends InvalidArgumentException -{ - /** - * Constructor. - * - * @param string $expected - * @param string $actual - * @param int $code - * @param \Exception|null $previous - */ - public function __construct($expected, $actual, $help = '', $code = 0, Exception $previous = null) - { - $actual = $actual === '' ? 'data is missing' : "get '$actual'"; - - parent::__construct(trim("Format expected $expected but $actual\n$help"), $code, $previous); - } -} diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Factory.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Factory.php deleted file mode 100644 index e80d67a..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Factory.php +++ /dev/null @@ -1,272 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace Carbon; - -use Closure; - -/** - * A factory to generate Carbon instances with common settings. - * - * - * - * @method Carbon create($year = 0, $month = 1, $day = 1, $hour = 0, $minute = 0, $second = 0, $tz = null) Create a new Carbon instance from a specific date and time. - * If any of $year, $month or $day are set to null their now() values will - * be used. - * If $hour is null it will be set to its now() value and the default - * values for $minute and $second will be their now() values. - * If $hour is not null then the default values for $minute and $second - * will be 0. - * @method Carbon createFromDate($year = null, $month = null, $day = null, $tz = null) Create a Carbon instance from just a date. The time portion is set to now. - * @method Carbon|false createFromFormat($format, $time, $tz = null) Create a Carbon instance from a specific format. - * @method Carbon|false createFromIsoFormat($format, $time, $tz = null, $locale = 'en', $translator = null) Create a Carbon instance from a specific ISO format (same replacements as ->isoFormat()). - * @method Carbon|false createFromLocaleFormat($format, $locale, $time, $tz = null) Create a Carbon instance from a specific format and a string in a given language. - * @method Carbon|false createFromLocaleIsoFormat($format, $locale, $time, $tz = null) Create a Carbon instance from a specific ISO format and a string in a given language. - * @method Carbon createFromTime($hour = 0, $minute = 0, $second = 0, $tz = null) Create a Carbon instance from just a time. The date portion is set to today. - * @method Carbon createFromTimeString($time, $tz = null) Create a Carbon instance from a time string. The date portion is set to today. - * @method Carbon createFromTimestamp($timestamp, $tz = null) Create a Carbon instance from a timestamp. - * @method Carbon createFromTimestampMs($timestamp, $tz = null) Create a Carbon instance from a timestamp in milliseconds. - * @method Carbon createFromTimestampUTC($timestamp) Create a Carbon instance from an UTC timestamp. - * @method Carbon createMidnightDate($year = null, $month = null, $day = null, $tz = null) Create a Carbon instance from just a date. The time portion is set to midnight. - * @method Carbon|false createSafe($year = null, $month = null, $day = null, $hour = null, $minute = null, $second = null, $tz = null) Create a new safe Carbon instance from a specific date and time. - * If any of $year, $month or $day are set to null their now() values will - * be used. - * If $hour is null it will be set to its now() value and the default - * values for $minute and $second will be their now() values. - * If $hour is not null then the default values for $minute and $second - * will be 0. - * If one of the set values is not valid, an \InvalidArgumentException - * will be thrown. - * @method Carbon disableHumanDiffOption($humanDiffOption) @deprecated To avoid conflict between different third-party libraries, static setters should not be used. - * You should rather use the ->settings() method. - * @method Carbon enableHumanDiffOption($humanDiffOption) @deprecated To avoid conflict between different third-party libraries, static setters should not be used. - * You should rather use the ->settings() method. - * @method mixed executeWithLocale($locale, $func) Set the current locale to the given, execute the passed function, reset the locale to previous one, - * then return the result of the closure (or null if the closure was void). - * @method Carbon fromSerialized($value) Create an instance from a serialized string. - * @method void genericMacro($macro, $priority = 0) Register a custom macro. - * @method array getAvailableLocales() Returns the list of internally available locales and already loaded custom locales. - * (It will ignore custom translator dynamic loading.) - * @method Language[] getAvailableLocalesInfo() Returns list of Language object for each available locale. This object allow you to get the ISO name, native - * name, region and variant of the locale. - * @method array getDays() Get the days of the week - * @method string|null getFallbackLocale() Get the fallback locale. - * @method array getFormatsToIsoReplacements() List of replacements from date() format to isoFormat(). - * @method int getHumanDiffOptions() Return default humanDiff() options (merged flags as integer). - * @method array getIsoUnits() Returns list of locale units for ISO formatting. - * @method Carbon getLastErrors() {@inheritdoc} - * @method string getLocale() Get the current translator locale. - * @method int getMidDayAt() get midday/noon hour - * @method Closure|Carbon getTestNow() Get the Carbon instance (real or mock) to be returned when a "now" - * instance is created. - * @method string getTimeFormatByPrecision($unitPrecision) Return a format from H:i to H:i:s.u according to given unit precision. - * @method string getTranslationMessageWith($translator, string $key, string $locale = null, string $default = null) Returns raw translation message for a given key. - * @method \Symfony\Component\Translation\TranslatorInterface getTranslator() Get the default translator instance in use. - * @method int getWeekEndsAt() Get the last day of week - * @method int getWeekStartsAt() Get the first day of week - * @method array getWeekendDays() Get weekend days - * @method bool hasFormat($date, $format) Checks if the (date)time string is in a given format. - * @method bool hasMacro($name) Checks if macro is registered. - * @method bool hasRelativeKeywords($time) Determine if a time string will produce a relative date. - * @method bool hasTestNow() Determine if there is a valid test instance set. A valid test instance - * is anything that is not null. - * @method Carbon instance($date) Create a Carbon instance from a DateTime one. - * @method bool isImmutable() Returns true if the current class/instance is immutable. - * @method bool isModifiableUnit($unit) Returns true if a property can be changed via setter. - * @method bool isMutable() Returns true if the current class/instance is mutable. - * @method bool isStrictModeEnabled() Returns true if the strict mode is globally in use, false else. - * (It can be overridden in specific instances.) - * @method bool localeHasDiffOneDayWords($locale) Returns true if the given locale is internally supported and has words for 1-day diff (just now, yesterday, tomorrow). - * Support is considered enabled if the 3 words are translated in the given locale. - * @method bool localeHasDiffSyntax($locale) Returns true if the given locale is internally supported and has diff syntax support (ago, from now, before, after). - * Support is considered enabled if the 4 sentences are translated in the given locale. - * @method bool localeHasDiffTwoDayWords($locale) Returns true if the given locale is internally supported and has words for 2-days diff (before yesterday, after tomorrow). - * Support is considered enabled if the 2 words are translated in the given locale. - * @method bool localeHasPeriodSyntax($locale) Returns true if the given locale is internally supported and has period syntax support (X times, every X, from X, to X). - * Support is considered enabled if the 4 sentences are translated in the given locale. - * @method bool localeHasShortUnits($locale) Returns true if the given locale is internally supported and has short-units support. - * Support is considered enabled if either year, day or hour has a short variant translated. - * @method void macro($name, $macro) Register a custom macro. - * @method Carbon|null make($var) Make a Carbon instance from given variable if possible. - * Always return a new instance. Parse only strings and only these likely to be dates (skip intervals - * and recurrences). Throw an exception for invalid format, but otherwise return null. - * @method Carbon maxValue() Create a Carbon instance for the greatest supported date. - * @method Carbon minValue() Create a Carbon instance for the lowest supported date. - * @method void mixin($mixin) Mix another object into the class. - * @method Carbon now($tz = null) Get a Carbon instance for the current date and time. - * @method Carbon parse($time = null, $tz = null) Create a carbon instance from a string. - * This is an alias for the constructor that allows better fluent syntax - * as it allows you to do Carbon::parse('Monday next week')->fn() rather - * than (new Carbon('Monday next week'))->fn(). - * @method Carbon parseFromLocale($time, $locale, $tz = null) Create a carbon instance from a localized string (in French, Japanese, Arabic, etc.). - * @method string pluralUnit(string $unit) Returns standardized plural of a given singular/plural unit name (in English). - * @method Carbon|false rawCreateFromFormat($format, $time, $tz = null) Create a Carbon instance from a specific format. - * @method Carbon rawParse($time = null, $tz = null) Create a carbon instance from a string. - * This is an alias for the constructor that allows better fluent syntax - * as it allows you to do Carbon::parse('Monday next week')->fn() rather - * than (new Carbon('Monday next week'))->fn(). - * @method Carbon resetMacros() Remove all macros and generic macros. - * @method void resetMonthsOverflow() @deprecated To avoid conflict between different third-party libraries, static setters should not be used. - * You should rather use the ->settings() method. - * Or you can use method variants: addMonthsWithOverflow/addMonthsNoOverflow, same variants - * are available for quarters, years, decade, centuries, millennia (singular and plural forms). - * @method void resetToStringFormat() Reset the format used to the default when type juggling a Carbon instance to a string - * @method void resetYearsOverflow() @deprecated To avoid conflict between different third-party libraries, static setters should not be used. - * You should rather use the ->settings() method. - * Or you can use method variants: addYearsWithOverflow/addYearsNoOverflow, same variants - * are available for quarters, years, decade, centuries, millennia (singular and plural forms). - * @method void serializeUsing($callback) @deprecated To avoid conflict between different third-party libraries, static setters should not be used. - * You should rather transform Carbon object before the serialization. - * JSON serialize all Carbon instances using the given callback. - * @method Carbon setFallbackLocale($locale) Set the fallback locale. - * @method Carbon setHumanDiffOptions($humanDiffOptions) @deprecated To avoid conflict between different third-party libraries, static setters should not be used. - * You should rather use the ->settings() method. - * @method bool setLocale($locale) Set the current translator locale and indicate if the source locale file exists. - * Pass 'auto' as locale to use closest language from the current LC_TIME locale. - * @method void setMidDayAt($hour) @deprecated To avoid conflict between different third-party libraries, static setters should not be used. - * You should rather consider mid-day is always 12pm, then if you need to test if it's an other - * hour, test it explicitly: - * $date->format('G') == 13 - * or to set explicitly to a given hour: - * $date->setTime(13, 0, 0, 0) - * Set midday/noon hour - * @method Carbon setTestNow($testNow = null) Set a Carbon instance (real or mock) to be returned when a "now" - * instance is created. The provided instance will be returned - * specifically under the following conditions: - * - A call to the static now() method, ex. Carbon::now() - * - When a null (or blank string) is passed to the constructor or parse(), ex. new Carbon(null) - * - When the string "now" is passed to the constructor or parse(), ex. new Carbon('now') - * - When a string containing the desired time is passed to Carbon::parse(). - * Note the timezone parameter was left out of the examples above and - * has no affect as the mock value will be returned regardless of its value. - * To clear the test instance call this method using the default - * parameter of null. - * /!\ Use this method for unit tests only. - * @method void setToStringFormat($format) @deprecated To avoid conflict between different third-party libraries, static setters should not be used. - * You should rather let Carbon object being casted to string with DEFAULT_TO_STRING_FORMAT, and - * use other method or custom format passed to format() method if you need to dump an other string - * format. - * Set the default format used when type juggling a Carbon instance to a string - * @method void setTranslator(\Symfony\Component\Translation\TranslatorInterface $translator) Set the default translator instance to use. - * @method Carbon setUtf8($utf8) @deprecated To avoid conflict between different third-party libraries, static setters should not be used. - * You should rather use UTF-8 language packages on every machine. - * Set if UTF8 will be used for localized date/time. - * @method void setWeekEndsAt($day) @deprecated To avoid conflict between different third-party libraries, static setters should not be used. - * Use $weekStartsAt optional parameter instead when using startOfWeek, floorWeek, ceilWeek - * or roundWeek method. You can also use the 'first_day_of_week' locale setting to change the - * start of week according to current locale selected and implicitly the end of week. - * Set the last day of week - * @method void setWeekStartsAt($day) @deprecated To avoid conflict between different third-party libraries, static setters should not be used. - * Use $weekEndsAt optional parameter instead when using endOfWeek method. You can also use the - * 'first_day_of_week' locale setting to change the start of week according to current locale - * selected and implicitly the end of week. - * Set the first day of week - * @method void setWeekendDays($days) @deprecated To avoid conflict between different third-party libraries, static setters should not be used. - * You should rather consider week-end is always saturday and sunday, and if you have some custom - * week-end days to handle, give to those days an other name and create a macro for them: - * ``` - * Carbon::macro('isDayOff', function ($date) { - * return $date->isSunday() || $date->isMonday(); - * }); - * Carbon::macro('isNotDayOff', function ($date) { - * return !$date->isDayOff(); - * }); - * if ($someDate->isDayOff()) ... - * if ($someDate->isNotDayOff()) ... - * // Add 5 not-off days - * $count = 5; - * while ($someDate->isDayOff() || ($count-- > 0)) { - * $someDate->addDay(); - * } - * ``` - * Set weekend days - * @method bool shouldOverflowMonths() Get the month overflow global behavior (can be overridden in specific instances). - * @method bool shouldOverflowYears() Get the month overflow global behavior (can be overridden in specific instances). - * @method string singularUnit(string $unit) Returns standardized singular of a given singular/plural unit name (in English). - * @method Carbon today($tz = null) Create a Carbon instance for today. - * @method Carbon tomorrow($tz = null) Create a Carbon instance for tomorrow. - * @method string translateTimeString($timeString, $from = null, $to = null, $mode = 15) Translate a time string from a locale to an other. - * @method string translateWith(\Symfony\Component\Translation\TranslatorInterface $translator, string $key, array $parameters = [], $number = null) Translate using translation string or callback available. - * @method void useMonthsOverflow($monthsOverflow = true) @deprecated To avoid conflict between different third-party libraries, static setters should not be used. - * You should rather use the ->settings() method. - * Or you can use method variants: addMonthsWithOverflow/addMonthsNoOverflow, same variants - * are available for quarters, years, decade, centuries, millennia (singular and plural forms). - * @method Carbon useStrictMode($strictModeEnabled = true) @deprecated To avoid conflict between different third-party libraries, static setters should not be used. - * You should rather use the ->settings() method. - * @method void useYearsOverflow($yearsOverflow = true) @deprecated To avoid conflict between different third-party libraries, static setters should not be used. - * You should rather use the ->settings() method. - * Or you can use method variants: addYearsWithOverflow/addYearsNoOverflow, same variants - * are available for quarters, years, decade, centuries, millennia (singular and plural forms). - * @method Carbon yesterday($tz = null) Create a Carbon instance for yesterday. - * - * - */ -class Factory -{ - protected $className = Carbon::class; - - protected $settings = []; - - public function __construct(array $settings = [], string $className = null) - { - if ($className) { - $this->className = $className; - } - $this->settings = $settings; - } - - public function getClassName() - { - return $this->className; - } - - public function setClassName(string $className) - { - $this->className = $className; - - return $this; - } - - public function className(string $className = null) - { - return $className === null ? $this->getClassName() : $this->setClassName($className); - } - - public function getSettings() - { - return $this->settings; - } - - public function setSettings(array $settings) - { - $this->settings = $settings; - - return $this; - } - - public function settings(array $settings = null) - { - return $settings === null ? $this->getSettings() : $this->setSettings($settings); - } - - public function mergeSettings(array $settings) - { - $this->settings = array_merge($this->settings, $settings); - - return $this; - } - - public function __call($name, $arguments) - { - $result = $this->className::$name(...$arguments); - - return $result instanceof CarbonInterface ? $result->settings($this->settings) : $result; - } -} diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/FactoryImmutable.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/FactoryImmutable.php deleted file mode 100644 index a910e99..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/FactoryImmutable.php +++ /dev/null @@ -1,214 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace Carbon; - -use Closure; - -/** - * A factory to generate CarbonImmutable instances with common settings. - * - * - * - * @method CarbonImmutable create($year = 0, $month = 1, $day = 1, $hour = 0, $minute = 0, $second = 0, $tz = null) Create a new Carbon instance from a specific date and time. - * If any of $year, $month or $day are set to null their now() values will - * be used. - * If $hour is null it will be set to its now() value and the default - * values for $minute and $second will be their now() values. - * If $hour is not null then the default values for $minute and $second - * will be 0. - * @method CarbonImmutable createFromDate($year = null, $month = null, $day = null, $tz = null) Create a Carbon instance from just a date. The time portion is set to now. - * @method CarbonImmutable|false createFromFormat($format, $time, $tz = null) Create a Carbon instance from a specific format. - * @method CarbonImmutable|false createFromIsoFormat($format, $time, $tz = null, $locale = 'en', $translator = null) Create a Carbon instance from a specific ISO format (same replacements as ->isoFormat()). - * @method CarbonImmutable|false createFromLocaleFormat($format, $locale, $time, $tz = null) Create a Carbon instance from a specific format and a string in a given language. - * @method CarbonImmutable|false createFromLocaleIsoFormat($format, $locale, $time, $tz = null) Create a Carbon instance from a specific ISO format and a string in a given language. - * @method CarbonImmutable createFromTime($hour = 0, $minute = 0, $second = 0, $tz = null) Create a Carbon instance from just a time. The date portion is set to today. - * @method CarbonImmutable createFromTimeString($time, $tz = null) Create a Carbon instance from a time string. The date portion is set to today. - * @method CarbonImmutable createFromTimestamp($timestamp, $tz = null) Create a Carbon instance from a timestamp. - * @method CarbonImmutable createFromTimestampMs($timestamp, $tz = null) Create a Carbon instance from a timestamp in milliseconds. - * @method CarbonImmutable createFromTimestampUTC($timestamp) Create a Carbon instance from an UTC timestamp. - * @method CarbonImmutable createMidnightDate($year = null, $month = null, $day = null, $tz = null) Create a Carbon instance from just a date. The time portion is set to midnight. - * @method CarbonImmutable|false createSafe($year = null, $month = null, $day = null, $hour = null, $minute = null, $second = null, $tz = null) Create a new safe Carbon instance from a specific date and time. - * If any of $year, $month or $day are set to null their now() values will - * be used. - * If $hour is null it will be set to its now() value and the default - * values for $minute and $second will be their now() values. - * If $hour is not null then the default values for $minute and $second - * will be 0. - * If one of the set values is not valid, an \InvalidArgumentException - * will be thrown. - * @method CarbonImmutable disableHumanDiffOption($humanDiffOption) @deprecated To avoid conflict between different third-party libraries, static setters should not be used. - * You should rather use the ->settings() method. - * @method CarbonImmutable enableHumanDiffOption($humanDiffOption) @deprecated To avoid conflict between different third-party libraries, static setters should not be used. - * You should rather use the ->settings() method. - * @method mixed executeWithLocale($locale, $func) Set the current locale to the given, execute the passed function, reset the locale to previous one, - * then return the result of the closure (or null if the closure was void). - * @method CarbonImmutable fromSerialized($value) Create an instance from a serialized string. - * @method void genericMacro($macro, $priority = 0) Register a custom macro. - * @method array getAvailableLocales() Returns the list of internally available locales and already loaded custom locales. - * (It will ignore custom translator dynamic loading.) - * @method Language[] getAvailableLocalesInfo() Returns list of Language object for each available locale. This object allow you to get the ISO name, native - * name, region and variant of the locale. - * @method array getDays() Get the days of the week - * @method string|null getFallbackLocale() Get the fallback locale. - * @method array getFormatsToIsoReplacements() List of replacements from date() format to isoFormat(). - * @method int getHumanDiffOptions() Return default humanDiff() options (merged flags as integer). - * @method array getIsoUnits() Returns list of locale units for ISO formatting. - * @method CarbonImmutable getLastErrors() {@inheritdoc} - * @method string getLocale() Get the current translator locale. - * @method int getMidDayAt() get midday/noon hour - * @method Closure|CarbonImmutable getTestNow() Get the Carbon instance (real or mock) to be returned when a "now" - * instance is created. - * @method string getTimeFormatByPrecision($unitPrecision) Return a format from H:i to H:i:s.u according to given unit precision. - * @method string getTranslationMessageWith($translator, string $key, string $locale = null, string $default = null) Returns raw translation message for a given key. - * @method \Symfony\Component\Translation\TranslatorInterface getTranslator() Get the default translator instance in use. - * @method int getWeekEndsAt() Get the last day of week - * @method int getWeekStartsAt() Get the first day of week - * @method array getWeekendDays() Get weekend days - * @method bool hasFormat($date, $format) Checks if the (date)time string is in a given format. - * @method bool hasMacro($name) Checks if macro is registered. - * @method bool hasRelativeKeywords($time) Determine if a time string will produce a relative date. - * @method bool hasTestNow() Determine if there is a valid test instance set. A valid test instance - * is anything that is not null. - * @method CarbonImmutable instance($date) Create a Carbon instance from a DateTime one. - * @method bool isImmutable() Returns true if the current class/instance is immutable. - * @method bool isModifiableUnit($unit) Returns true if a property can be changed via setter. - * @method bool isMutable() Returns true if the current class/instance is mutable. - * @method bool isStrictModeEnabled() Returns true if the strict mode is globally in use, false else. - * (It can be overridden in specific instances.) - * @method bool localeHasDiffOneDayWords($locale) Returns true if the given locale is internally supported and has words for 1-day diff (just now, yesterday, tomorrow). - * Support is considered enabled if the 3 words are translated in the given locale. - * @method bool localeHasDiffSyntax($locale) Returns true if the given locale is internally supported and has diff syntax support (ago, from now, before, after). - * Support is considered enabled if the 4 sentences are translated in the given locale. - * @method bool localeHasDiffTwoDayWords($locale) Returns true if the given locale is internally supported and has words for 2-days diff (before yesterday, after tomorrow). - * Support is considered enabled if the 2 words are translated in the given locale. - * @method bool localeHasPeriodSyntax($locale) Returns true if the given locale is internally supported and has period syntax support (X times, every X, from X, to X). - * Support is considered enabled if the 4 sentences are translated in the given locale. - * @method bool localeHasShortUnits($locale) Returns true if the given locale is internally supported and has short-units support. - * Support is considered enabled if either year, day or hour has a short variant translated. - * @method void macro($name, $macro) Register a custom macro. - * @method CarbonImmutable|null make($var) Make a Carbon instance from given variable if possible. - * Always return a new instance. Parse only strings and only these likely to be dates (skip intervals - * and recurrences). Throw an exception for invalid format, but otherwise return null. - * @method CarbonImmutable maxValue() Create a Carbon instance for the greatest supported date. - * @method CarbonImmutable minValue() Create a Carbon instance for the lowest supported date. - * @method void mixin($mixin) Mix another object into the class. - * @method CarbonImmutable now($tz = null) Get a Carbon instance for the current date and time. - * @method CarbonImmutable parse($time = null, $tz = null) Create a carbon instance from a string. - * This is an alias for the constructor that allows better fluent syntax - * as it allows you to do Carbon::parse('Monday next week')->fn() rather - * than (new Carbon('Monday next week'))->fn(). - * @method CarbonImmutable parseFromLocale($time, $locale, $tz = null) Create a carbon instance from a localized string (in French, Japanese, Arabic, etc.). - * @method string pluralUnit(string $unit) Returns standardized plural of a given singular/plural unit name (in English). - * @method CarbonImmutable|false rawCreateFromFormat($format, $time, $tz = null) Create a Carbon instance from a specific format. - * @method CarbonImmutable rawParse($time = null, $tz = null) Create a carbon instance from a string. - * This is an alias for the constructor that allows better fluent syntax - * as it allows you to do Carbon::parse('Monday next week')->fn() rather - * than (new Carbon('Monday next week'))->fn(). - * @method CarbonImmutable resetMacros() Remove all macros and generic macros. - * @method void resetMonthsOverflow() @deprecated To avoid conflict between different third-party libraries, static setters should not be used. - * You should rather use the ->settings() method. - * Or you can use method variants: addMonthsWithOverflow/addMonthsNoOverflow, same variants - * are available for quarters, years, decade, centuries, millennia (singular and plural forms). - * @method void resetToStringFormat() Reset the format used to the default when type juggling a Carbon instance to a string - * @method void resetYearsOverflow() @deprecated To avoid conflict between different third-party libraries, static setters should not be used. - * You should rather use the ->settings() method. - * Or you can use method variants: addYearsWithOverflow/addYearsNoOverflow, same variants - * are available for quarters, years, decade, centuries, millennia (singular and plural forms). - * @method void serializeUsing($callback) @deprecated To avoid conflict between different third-party libraries, static setters should not be used. - * You should rather transform Carbon object before the serialization. - * JSON serialize all Carbon instances using the given callback. - * @method CarbonImmutable setFallbackLocale($locale) Set the fallback locale. - * @method CarbonImmutable setHumanDiffOptions($humanDiffOptions) @deprecated To avoid conflict between different third-party libraries, static setters should not be used. - * You should rather use the ->settings() method. - * @method bool setLocale($locale) Set the current translator locale and indicate if the source locale file exists. - * Pass 'auto' as locale to use closest language from the current LC_TIME locale. - * @method void setMidDayAt($hour) @deprecated To avoid conflict between different third-party libraries, static setters should not be used. - * You should rather consider mid-day is always 12pm, then if you need to test if it's an other - * hour, test it explicitly: - * $date->format('G') == 13 - * or to set explicitly to a given hour: - * $date->setTime(13, 0, 0, 0) - * Set midday/noon hour - * @method CarbonImmutable setTestNow($testNow = null) Set a Carbon instance (real or mock) to be returned when a "now" - * instance is created. The provided instance will be returned - * specifically under the following conditions: - * - A call to the static now() method, ex. Carbon::now() - * - When a null (or blank string) is passed to the constructor or parse(), ex. new Carbon(null) - * - When the string "now" is passed to the constructor or parse(), ex. new Carbon('now') - * - When a string containing the desired time is passed to Carbon::parse(). - * Note the timezone parameter was left out of the examples above and - * has no affect as the mock value will be returned regardless of its value. - * To clear the test instance call this method using the default - * parameter of null. - * /!\ Use this method for unit tests only. - * @method void setToStringFormat($format) @deprecated To avoid conflict between different third-party libraries, static setters should not be used. - * You should rather let Carbon object being casted to string with DEFAULT_TO_STRING_FORMAT, and - * use other method or custom format passed to format() method if you need to dump an other string - * format. - * Set the default format used when type juggling a Carbon instance to a string - * @method void setTranslator(\Symfony\Component\Translation\TranslatorInterface $translator) Set the default translator instance to use. - * @method CarbonImmutable setUtf8($utf8) @deprecated To avoid conflict between different third-party libraries, static setters should not be used. - * You should rather use UTF-8 language packages on every machine. - * Set if UTF8 will be used for localized date/time. - * @method void setWeekEndsAt($day) @deprecated To avoid conflict between different third-party libraries, static setters should not be used. - * Use $weekStartsAt optional parameter instead when using startOfWeek, floorWeek, ceilWeek - * or roundWeek method. You can also use the 'first_day_of_week' locale setting to change the - * start of week according to current locale selected and implicitly the end of week. - * Set the last day of week - * @method void setWeekStartsAt($day) @deprecated To avoid conflict between different third-party libraries, static setters should not be used. - * Use $weekEndsAt optional parameter instead when using endOfWeek method. You can also use the - * 'first_day_of_week' locale setting to change the start of week according to current locale - * selected and implicitly the end of week. - * Set the first day of week - * @method void setWeekendDays($days) @deprecated To avoid conflict between different third-party libraries, static setters should not be used. - * You should rather consider week-end is always saturday and sunday, and if you have some custom - * week-end days to handle, give to those days an other name and create a macro for them: - * ``` - * Carbon::macro('isDayOff', function ($date) { - * return $date->isSunday() || $date->isMonday(); - * }); - * Carbon::macro('isNotDayOff', function ($date) { - * return !$date->isDayOff(); - * }); - * if ($someDate->isDayOff()) ... - * if ($someDate->isNotDayOff()) ... - * // Add 5 not-off days - * $count = 5; - * while ($someDate->isDayOff() || ($count-- > 0)) { - * $someDate->addDay(); - * } - * ``` - * Set weekend days - * @method bool shouldOverflowMonths() Get the month overflow global behavior (can be overridden in specific instances). - * @method bool shouldOverflowYears() Get the month overflow global behavior (can be overridden in specific instances). - * @method string singularUnit(string $unit) Returns standardized singular of a given singular/plural unit name (in English). - * @method CarbonImmutable today($tz = null) Create a Carbon instance for today. - * @method CarbonImmutable tomorrow($tz = null) Create a Carbon instance for tomorrow. - * @method string translateTimeString($timeString, $from = null, $to = null, $mode = 15) Translate a time string from a locale to an other. - * @method string translateWith(\Symfony\Component\Translation\TranslatorInterface $translator, string $key, array $parameters = [], $number = null) Translate using translation string or callback available. - * @method void useMonthsOverflow($monthsOverflow = true) @deprecated To avoid conflict between different third-party libraries, static setters should not be used. - * You should rather use the ->settings() method. - * Or you can use method variants: addMonthsWithOverflow/addMonthsNoOverflow, same variants - * are available for quarters, years, decade, centuries, millennia (singular and plural forms). - * @method CarbonImmutable useStrictMode($strictModeEnabled = true) @deprecated To avoid conflict between different third-party libraries, static setters should not be used. - * You should rather use the ->settings() method. - * @method void useYearsOverflow($yearsOverflow = true) @deprecated To avoid conflict between different third-party libraries, static setters should not be used. - * You should rather use the ->settings() method. - * Or you can use method variants: addYearsWithOverflow/addYearsNoOverflow, same variants - * are available for quarters, years, decade, centuries, millennia (singular and plural forms). - * @method CarbonImmutable yesterday($tz = null) Create a Carbon instance for yesterday. - * - * - */ -class FactoryImmutable extends Factory -{ - protected $className = CarbonImmutable::class; -} diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/aa.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/aa.php deleted file mode 100644 index bcbcf60..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/aa.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return require __DIR__.'/aa_DJ.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/aa_DJ.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/aa_DJ.php deleted file mode 100644 index 7de9882..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/aa_DJ.php +++ /dev/null @@ -1,44 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Ge'ez Frontier Foundation locales@geez.org - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'DD.MM.YYYY', - ], - 'months' => ['Qunxa Garablu', 'Kudo', 'Ciggilta Kudo', 'Agda Baxisso', 'Caxah Alsa', 'Qasa Dirri', 'Qado Dirri', 'Liiqen', 'Waysu', 'Diteli', 'Ximoli', 'Kaxxa Garablu'], - 'months_short' => ['qun', 'nah', 'cig', 'agd', 'cax', 'qas', 'qad', 'leq', 'way', 'dit', 'xim', 'kax'], - 'weekdays' => ['Acaada', 'Etleeni', 'Talaata', 'Arbaqa', 'Kamiisi', 'Gumqata', 'Sabti'], - 'weekdays_short' => ['aca', 'etl', 'tal', 'arb', 'kam', 'gum', 'sab'], - 'weekdays_min' => ['aca', 'etl', 'tal', 'arb', 'kam', 'gum', 'sab'], - 'first_day_of_week' => 6, - 'day_of_first_week_of_year' => 1, - 'meridiem' => ['saaku', 'carra'], - - 'year' => ':count gaqambo', // less reliable - 'y' => ':count gaqambo', // less reliable - 'a_year' => ':count gaqambo', // less reliable - - 'month' => ':count àlsa', - 'm' => ':count àlsa', - 'a_month' => ':count àlsa', - - 'day' => ':count saaku', // less reliable - 'd' => ':count saaku', // less reliable - 'a_day' => ':count saaku', // less reliable - - 'hour' => ':count ayti', // less reliable - 'h' => ':count ayti', // less reliable - 'a_hour' => ':count ayti', // less reliable -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/aa_ER.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/aa_ER.php deleted file mode 100644 index c226bd5..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/aa_ER.php +++ /dev/null @@ -1,28 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Ge'ez Frontier Foundation locales@geez.org - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'DD/MM/YYYY', - ], - 'months' => ['Qunxa Garablu', 'Naharsi Kudo', 'Ciggilta Kudo', 'Agda Baxisso', 'Caxah Alsa', 'Qasa Dirri', 'Qado Dirri', 'Leqeeni', 'Waysu', 'Diteli', 'Ximoli', 'Kaxxa Garablu'], - 'months_short' => ['Qun', 'Nah', 'Cig', 'Agd', 'Cax', 'Qas', 'Qad', 'Leq', 'Way', 'Dit', 'Xim', 'Kax'], - 'weekdays' => ['Acaada', 'Etleeni', 'Talaata', 'Arbaqa', 'Kamiisi', 'Gumqata', 'Sabti'], - 'weekdays_short' => ['Aca', 'Etl', 'Tal', 'Arb', 'Kam', 'Gum', 'Sab'], - 'weekdays_min' => ['Aca', 'Etl', 'Tal', 'Arb', 'Kam', 'Gum', 'Sab'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 1, - 'meridiem' => ['saaku', 'carra'], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/aa_ER@saaho.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/aa_ER@saaho.php deleted file mode 100644 index 4299dfb..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/aa_ER@saaho.php +++ /dev/null @@ -1,28 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Ge'ez Frontier Foundation locales@geez.org - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'DD/MM/YYYY', - ], - 'months' => ['Qunxa Garablu', 'Naharsi Kudo', 'Ciggilta Kudo', 'Agda Baxisso', 'Caxah Alsa', 'Qasa Dirri', 'Qado Dirri', 'Leqeeni', 'Waysu', 'Diteli', 'Ximoli', 'Kaxxa Garablu'], - 'months_short' => ['Qun', 'Nah', 'Cig', 'Agd', 'Cax', 'Qas', 'Qad', 'Leq', 'Way', 'Dit', 'Xim', 'Kax'], - 'weekdays' => ['Naba Sambat', 'Sani', 'Salus', 'Rabuq', 'Camus', 'Jumqata', 'Qunxa Sambat'], - 'weekdays_short' => ['Nab', 'San', 'Sal', 'Rab', 'Cam', 'Jum', 'Qun'], - 'weekdays_min' => ['Nab', 'San', 'Sal', 'Rab', 'Cam', 'Jum', 'Qun'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 1, - 'meridiem' => ['saaku', 'carra'], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/aa_ET.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/aa_ET.php deleted file mode 100644 index 8c3291b..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/aa_ET.php +++ /dev/null @@ -1,27 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Ge'ez Frontier Foundation locales@geez.org - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'DD/MM/YYYY', - ], - 'months' => ['Qunxa Garablu', 'Kudo', 'Ciggilta Kudo', 'Agda Baxisso', 'Caxah Alsa', 'Qasa Dirri', 'Qado Dirri', 'Liiqen', 'Waysu', 'Diteli', 'Ximoli', 'Kaxxa Garablu'], - 'months_short' => ['Qun', 'Kud', 'Cig', 'Agd', 'Cax', 'Qas', 'Qad', 'Leq', 'Way', 'Dit', 'Xim', 'Kax'], - 'weekdays' => ['Acaada', 'Etleeni', 'Talaata', 'Arbaqa', 'Kamiisi', 'Gumqata', 'Sabti'], - 'weekdays_short' => ['Aca', 'Etl', 'Tal', 'Arb', 'Kam', 'Gum', 'Sab'], - 'weekdays_min' => ['Aca', 'Etl', 'Tal', 'Arb', 'Kam', 'Gum', 'Sab'], - 'day_of_first_week_of_year' => 1, - 'meridiem' => ['saaku', 'carra'], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/af.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/af.php deleted file mode 100644 index c87ee78..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/af.php +++ /dev/null @@ -1,74 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - François B - * - JD Isaacks - * - Pierre du Plessis - */ -return [ - 'year' => ':count jaar|:count jare', - 'a_year' => '\'n jaar|:count jare', - 'y' => ':count j.', - 'month' => ':count maand|:count maande', - 'a_month' => '\'n maand|:count maande', - 'm' => ':count maa.', - 'week' => ':count week|:count weke', - 'a_week' => '\'n week|:count weke', - 'w' => ':count w.', - 'day' => ':count dag|:count dae', - 'a_day' => '\'n dag|:count dae', - 'd' => ':count d.', - 'hour' => ':count uur|:count ure', - 'a_hour' => '\'n uur|:count ure', - 'h' => ':count u.', - 'minute' => ':count minuut|:count minute', - 'a_minute' => '\'n minuut|:count minute', - 'min' => ':count min.', - 'second' => ':count sekond|:count sekondes', - 'a_second' => '\'n paar sekondes|:count sekondes', - 's' => ':count s.', - 'ago' => ':time gelede', - 'from_now' => 'oor :time', - 'after' => ':time na', - 'before' => ':time voor', - 'diff_yesterday' => 'Gister', - 'diff_tomorrow' => 'Môre', - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD/MM/YYYY', - 'LL' => 'D MMMM YYYY', - 'LLL' => 'D MMMM YYYY HH:mm', - 'LLLL' => 'dddd, D MMMM YYYY HH:mm', - ], - 'calendar' => [ - 'sameDay' => '[Vandag om] LT', - 'nextDay' => '[Môre om] LT', - 'nextWeek' => 'dddd [om] LT', - 'lastDay' => '[Gister om] LT', - 'lastWeek' => '[Laas] dddd [om] LT', - 'sameElse' => 'L', - ], - 'ordinal' => function ($number) { - return $number.(($number === 1 || $number === 8 || $number >= 20) ? 'ste' : 'de'); - }, - 'meridiem' => ['VM', 'NM'], - 'months' => ['Januarie', 'Februarie', 'Maart', 'April', 'Mei', 'Junie', 'Julie', 'Augustus', 'September', 'Oktober', 'November', 'Desember'], - 'months_short' => ['Jan', 'Feb', 'Mrt', 'Apr', 'Mei', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Des'], - 'weekdays' => ['Sondag', 'Maandag', 'Dinsdag', 'Woensdag', 'Donderdag', 'Vrydag', 'Saterdag'], - 'weekdays_short' => ['Son', 'Maa', 'Din', 'Woe', 'Don', 'Vry', 'Sat'], - 'weekdays_min' => ['So', 'Ma', 'Di', 'Wo', 'Do', 'Vr', 'Sa'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 4, - 'list' => [', ', ' en '], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/af_NA.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/af_NA.php deleted file mode 100644 index 40d8d86..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/af_NA.php +++ /dev/null @@ -1,27 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/af.php', [ - 'meridiem' => ['v', 'n'], - 'weekdays' => ['Sondag', 'Maandag', 'Dinsdag', 'Woensdag', 'Donderdag', 'Vrydag', 'Saterdag'], - 'weekdays_short' => ['So.', 'Ma.', 'Di.', 'Wo.', 'Do.', 'Vr.', 'Sa.'], - 'weekdays_min' => ['So.', 'Ma.', 'Di.', 'Wo.', 'Do.', 'Vr.', 'Sa.'], - 'months' => ['Januarie', 'Februarie', 'Maart', 'April', 'Mei', 'Junie', 'Julie', 'Augustus', 'September', 'Oktober', 'November', 'Desember'], - 'months_short' => ['Jan.', 'Feb.', 'Mrt.', 'Apr.', 'Mei', 'Jun.', 'Jul.', 'Aug.', 'Sep.', 'Okt.', 'Nov.', 'Des.'], - 'first_day_of_week' => 1, - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'YYYY-MM-DD', - 'LL' => 'DD MMM YYYY', - 'LLL' => 'DD MMMM YYYY HH:mm', - 'LLLL' => 'dddd, DD MMMM YYYY HH:mm', - ], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/af_ZA.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/af_ZA.php deleted file mode 100644 index 93f4c83..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/af_ZA.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/af.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/agq.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/agq.php deleted file mode 100644 index 58c7a11..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/agq.php +++ /dev/null @@ -1,27 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'meridiem' => ['a.g', 'a.k'], - 'weekdays' => ['tsuÊ”ntsɨ', 'tsuÊ”ukpà', 'tsuÊ”ughÉ”e', 'tsuÊ”utɔ̀mlò', 'tsuÊ”umè', 'tsuÊ”ughɨ̂m', 'tsuÊ”ndzɨkɔʔɔ'], - 'weekdays_short' => ['nts', 'kpa', 'ghÉ”', 'tÉ”m', 'ume', 'ghɨ', 'dzk'], - 'weekdays_min' => ['nts', 'kpa', 'ghÉ”', 'tÉ”m', 'ume', 'ghɨ', 'dzk'], - 'months' => ['ndzɔ̀ŋɔ̀nùm', 'ndzɔ̀ŋɔ̀kÆ—Ì€zùʔ', 'ndzɔ̀ŋɔ̀tÆ—Ì€dʉ̀ghà', 'ndzɔ̀ŋɔ̀tÇŽafʉ̄ghÄ', 'ndzɔ̀ŋèsèe', 'ndzɔ̀ŋɔ̀nzùghò', 'ndzɔ̀ŋɔ̀dùmlo', 'ndzɔ̀ŋɔ̀kwîfɔ̀e', 'ndzɔ̀ŋɔ̀tÆ—Ì€fʉ̀ghàdzughù', 'ndzɔ̀ŋɔ̀ghÇ”uwelɔ̀m', 'ndzɔ̀ŋɔ̀chwaʔàkaa wo', 'ndzɔ̀ŋèfwòo'], - 'months_short' => ['nùm', 'kɨz', 'tɨd', 'taa', 'see', 'nzu', 'dum', 'fÉ”e', 'dzu', 'lÉ”m', 'kaa', 'fwo'], - 'first_day_of_week' => 1, - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'D/M/YYYY', - 'LL' => 'D MMM, YYYY', - 'LLL' => 'D MMMM YYYY HH:mm', - 'LLLL' => 'dddd D MMMM YYYY HH:mm', - ], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/agr.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/agr.php deleted file mode 100644 index df58e25..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/agr.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return require __DIR__.'/agr_PE.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/agr_PE.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/agr_PE.php deleted file mode 100644 index 81a174e..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/agr_PE.php +++ /dev/null @@ -1,44 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - somosazucar.org libc-alpha@sourceware.org - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'DD/MM/YY', - ], - 'months' => ['Petsatin', 'Kupitin', 'Uyaitin', 'Tayutin', 'Kegketin', 'Tegmatin', 'Kuntutin', 'Yagkujutin', 'Daiktatin', 'Ipamtatin', 'Shinutin', 'Sakamtin'], - 'months_short' => ['Pet', 'Kup', 'Uya', 'Tay', 'Keg', 'Teg', 'Kun', 'Yag', 'Dait', 'Ipam', 'Shin', 'Sak'], - 'weekdays' => ['Tuntuamtin', 'Achutin', 'Kugkuktin', 'Saketin', 'Shimpitin', 'Imaptin', 'Bataetin'], - 'weekdays_short' => ['Tun', 'Ach', 'Kug', 'Sak', 'Shim', 'Im', 'Bat'], - 'weekdays_min' => ['Tun', 'Ach', 'Kug', 'Sak', 'Shim', 'Im', 'Bat'], - 'first_day_of_week' => 0, - 'day_of_first_week_of_year' => 7, - 'meridiem' => ['VM', 'NM'], - - 'year' => ':count yaya', // less reliable - 'y' => ':count yaya', // less reliable - 'a_year' => ':count yaya', // less reliable - - 'month' => ':count nantu', // less reliable - 'm' => ':count nantu', // less reliable - 'a_month' => ':count nantu', // less reliable - - 'day' => ':count nayaim', // less reliable - 'd' => ':count nayaim', // less reliable - 'a_day' => ':count nayaim', // less reliable - - 'hour' => ':count kuwiÅ¡', // less reliable - 'h' => ':count kuwiÅ¡', // less reliable - 'a_hour' => ':count kuwiÅ¡', // less reliable -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ak.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ak.php deleted file mode 100644 index 3814109..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ak.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return require __DIR__.'/ak_GH.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ak_GH.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ak_GH.php deleted file mode 100644 index 6745f0f..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ak_GH.php +++ /dev/null @@ -1,40 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Sugar Labs // OLPC sugarlabs.org libc-alpha@sourceware.org - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'YYYY/MM/DD', - ], - 'months' => ['Sanda-ƆpÉ›pÉ”n', 'Kwakwar-Ɔgyefuo', 'EbÉ”w-Ɔbenem', 'EbÉ”bira-Oforisuo', 'Esusow Aketseaba-KÉ”tÉ”nimba', 'Obirade-AyÉ›wohomumu', 'AyÉ›woho-Kitawonsa', 'Difuu-Ɔsandaa', 'Fankwa-ÆbÉ”', 'ƆbÉ›sÉ›-Ahinime', 'ƆberÉ›fÉ›w-Obubuo', 'Mumu-ƆpÉ›nimba'], - 'months_short' => ['S-Ɔ', 'K-Ɔ', 'E-Ɔ', 'E-O', 'E-K', 'O-A', 'A-K', 'D-Ɔ', 'F-Æ', 'Ɔ-A', 'Ɔ-O', 'M-Ɔ'], - 'weekdays' => ['Kwesida', 'Dwowda', 'Benada', 'Wukuda', 'Yawda', 'Fida', 'Memeneda'], - 'weekdays_short' => ['Kwe', 'Dwo', 'Ben', 'Wuk', 'Yaw', 'Fia', 'Mem'], - 'weekdays_min' => ['Kwe', 'Dwo', 'Ben', 'Wuk', 'Yaw', 'Fia', 'Mem'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 1, - 'meridiem' => ['AN', 'EW'], - - 'year' => ':count afe', - 'y' => ':count afe', - 'a_year' => ':count afe', - - 'month' => ':count bosume', - 'm' => ':count bosume', - 'a_month' => ':count bosume', - - 'day' => ':count É›da', - 'd' => ':count É›da', - 'a_day' => ':count É›da', -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/am.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/am.php deleted file mode 100644 index 486ad52..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/am.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return require __DIR__.'/am_ET.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/am_ET.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/am_ET.php deleted file mode 100644 index 0982f0e..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/am_ET.php +++ /dev/null @@ -1,58 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Ge'ez Frontier Foundation locales@geez.org - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'DD/MM/YYYY', - ], - 'months' => ['ጃንዩወሪ', 'áŒá‰¥áˆ©á‹ˆáˆª', 'ማርች', 'ኤá•áˆªáˆ', 'ሜይ', 'áŒáŠ•', 'áŒáˆ‹á‹­', 'ኦገስት', 'ሴá•á‰´áˆá‰ áˆ­', 'ኦክቶበር', 'ኖቬáˆá‰ áˆ­', 'ዲሴáˆá‰ áˆ­'], - 'months_short' => ['ጃንዩ', 'áŒá‰¥áˆ©', 'ማርች', 'ኤá•áˆ¨', 'ሜይ ', 'áŒáŠ• ', 'áŒáˆ‹á‹­', 'ኦገስ', 'ሴá•á‰´', 'ኦክተ', 'ኖቬáˆ', 'ዲሴáˆ'], - 'weekdays' => ['እሑድ', 'ሰኞ', 'ማክሰኞ', 'ረቡዕ', 'áˆáˆ™áˆµ', 'ዓርብ', 'ቅዳሜ'], - 'weekdays_short' => ['እሑድ', 'ሰኞ ', 'ማክሰ', 'ረቡዕ', 'áˆáˆ™áˆµ', 'ዓርብ', 'ቅዳሜ'], - 'weekdays_min' => ['እሑድ', 'ሰኞ ', 'ማክሰ', 'ረቡዕ', 'áˆáˆ™áˆµ', 'ዓርብ', 'ቅዳሜ'], - 'day_of_first_week_of_year' => 1, - 'meridiem' => ['ጡዋት', 'ከሰዓት'], - - 'year' => ':count አመት', - 'y' => ':count አመት', - 'a_year' => ':count አመት', - - 'month' => ':count ወር', - 'm' => ':count ወር', - 'a_month' => ':count ወር', - - 'week' => ':count ሳáˆáŠ•á‰µ', - 'w' => ':count ሳáˆáŠ•á‰µ', - 'a_week' => ':count ሳáˆáŠ•á‰µ', - - 'day' => ':count ቀን', - 'd' => ':count ቀን', - 'a_day' => ':count ቀን', - - 'hour' => ':count ሰዓት', - 'h' => ':count ሰዓት', - 'a_hour' => ':count ሰዓት', - - 'minute' => ':count ደቂቃ', - 'min' => ':count ደቂቃ', - 'a_minute' => ':count ደቂቃ', - - 'second' => ':count ሴኮንድ', - 's' => ':count ሴኮንድ', - 'a_second' => ':count ሴኮንድ', - - 'ago' => 'ከ:time በáŠá‰µ', - 'from_now' => 'በ:time á‹áˆµáŒ¥', -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/an.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/an.php deleted file mode 100644 index 568c9a1..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/an.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return require __DIR__.'/an_ES.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/an_ES.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/an_ES.php deleted file mode 100644 index 284eeaa..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/an_ES.php +++ /dev/null @@ -1,55 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Softaragones Jordi Mallach Pérez, Juan Pablo Martínez bug-glibc-locales@gnu.org, softaragones@softaragones.org - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'DD/MM/YYYY', - ], - 'months' => ['chinero', 'febrero', 'marzo', 'abril', 'mayo', 'chunyo', 'chuliol', 'agosto', 'setiembre', 'octubre', 'noviembre', 'aviento'], - 'months_short' => ['chi', 'feb', 'mar', 'abr', 'may', 'chn', 'chl', 'ago', 'set', 'oct', 'nov', 'avi'], - 'weekdays' => ['domingo', 'luns', 'martes', 'mierques', 'chueves', 'viernes', 'sabado'], - 'weekdays_short' => ['dom', 'lun', 'mar', 'mie', 'chu', 'vie', 'sab'], - 'weekdays_min' => ['dom', 'lun', 'mar', 'mie', 'chu', 'vie', 'sab'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 4, - - 'year' => ':count año', - 'y' => ':count año', - 'a_year' => ':count año', - - 'month' => ':count mes', - 'm' => ':count mes', - 'a_month' => ':count mes', - - 'week' => ':count semana', - 'w' => ':count semana', - 'a_week' => ':count semana', - - 'day' => ':count día', - 'd' => ':count día', - 'a_day' => ':count día', - - 'hour' => ':count reloch', // less reliable - 'h' => ':count reloch', // less reliable - 'a_hour' => ':count reloch', // less reliable - - 'minute' => ':count minuto', - 'min' => ':count minuto', - 'a_minute' => ':count minuto', - - 'second' => ':count segundo', - 's' => ':count segundo', - 'a_second' => ':count segundo', -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/anp.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/anp.php deleted file mode 100644 index aa2b3f0..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/anp.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return require __DIR__.'/anp_IN.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/anp_IN.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/anp_IN.php deleted file mode 100644 index ed0fcd7..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/anp_IN.php +++ /dev/null @@ -1,27 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - bhashaghar@googlegroups.com - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'D/M/YY', - ], - 'months' => ['जनवरी', 'फरवरी', 'मारà¥à¤š', 'अपà¥à¤°à¥ˆà¤²', 'मई', 'जून', 'जà¥à¤²à¤¾à¤ˆ', 'अगसà¥à¤¤', 'सितंबर', 'अकà¥à¤Ÿà¥‚बर', 'नवंबर', 'दिसंबर"'], - 'months_short' => ['जनवरी', 'फरवरी', 'मारà¥à¤š', 'अपà¥à¤°à¥ˆà¤²', 'मई', 'जून', 'जà¥à¤²à¤¾à¤ˆ', 'अगसà¥à¤¤', 'सितंबर', 'अकà¥à¤Ÿà¥‚बर', 'नवंबर', 'दिसंबर'], - 'weekdays' => ['रविवार', 'सोमवार', 'मंगलवार', 'बà¥à¤§à¤µà¤¾à¤°', 'बृहसà¥à¤ªà¤¤à¤¿à¤µà¤¾à¤°', 'शà¥à¤•à¥à¤°à¤µà¤¾à¤°', 'शनिवार'], - 'weekdays_short' => ['रवि', 'सोम', 'मंगल', 'बà¥à¤§', 'बृहसà¥à¤ªà¤¤à¤¿', 'शà¥à¤•à¥à¤°', 'शनि'], - 'weekdays_min' => ['रवि', 'सोम', 'मंगल', 'बà¥à¤§', 'बृहसà¥à¤ªà¤¤à¤¿', 'शà¥à¤•à¥à¤°', 'शनि'], - 'day_of_first_week_of_year' => 1, - 'meridiem' => ['पूरà¥à¤µà¤¾à¤¹à¥à¤¨', 'अपराहà¥à¤¨'], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ar.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ar.php deleted file mode 100644 index b3bc122..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ar.php +++ /dev/null @@ -1,89 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/* - * Authors: - * - Atef Ben Ali (atefBB) - * - Ibrahim AshShohail - * - MLTDev - * - Mohamed Sabil (mohamedsabil83) - * - Yazan Alnugnugh (yazan-alnugnugh) - */ -$months = [ - 'يناير', - 'Ùبراير', - 'مارس', - 'أبريل', - 'مايو', - 'يونيو', - 'يوليو', - 'أغسطس', - 'سبتمبر', - 'أكتوبر', - 'نوÙمبر', - 'ديسمبر', -]; - -return [ - 'year' => implode('|', ['{0}:count سنة', '{1}سنة', '{2}سنتين', ']2,11[:count سنوات', ']10,Inf[:count سنة']), - 'a_year' => implode('|', ['{0}:count سنة', '{1}سنة', '{2}سنتين', ']2,11[:count سنوات', ']10,Inf[:count سنة']), - 'month' => implode('|', ['{0}:count شهر', '{1}شهر', '{2}شهرين', ']2,11[:count أشهر', ']10,Inf[:count شهر']), - 'a_month' => implode('|', ['{0}:count شهر', '{1}شهر', '{2}شهرين', ']2,11[:count أشهر', ']10,Inf[:count شهر']), - 'week' => implode('|', ['{0}:count أسبوع', '{1}أسبوع', '{2}أسبوعين', ']2,11[:count أسابيع', ']10,Inf[:count أسبوع']), - 'a_week' => implode('|', ['{0}:count أسبوع', '{1}أسبوع', '{2}أسبوعين', ']2,11[:count أسابيع', ']10,Inf[:count أسبوع']), - 'day' => implode('|', ['{0}:count يوم', '{1}يوم', '{2}يومين', ']2,11[:count أيام', ']10,Inf[:count يوم']), - 'a_day' => implode('|', ['{0}:count يوم', '{1}يوم', '{2}يومين', ']2,11[:count أيام', ']10,Inf[:count يوم']), - 'hour' => implode('|', ['{0}:count ساعة', '{1}ساعة', '{2}ساعتين', ']2,11[:count ساعات', ']10,Inf[:count ساعة']), - 'a_hour' => implode('|', ['{0}:count ساعة', '{1}ساعة', '{2}ساعتين', ']2,11[:count ساعات', ']10,Inf[:count ساعة']), - 'minute' => implode('|', ['{0}:count دقيقة', '{1}دقيقة', '{2}دقيقتين', ']2,11[:count دقائق', ']10,Inf[:count دقيقة']), - 'a_minute' => implode('|', ['{0}:count دقيقة', '{1}دقيقة', '{2}دقيقتين', ']2,11[:count دقائق', ']10,Inf[:count دقيقة']), - 'second' => implode('|', ['{0}:count ثانية', '{1}ثانية', '{2}ثانيتين', ']2,11[:count ثواني', ']10,Inf[:count ثانية']), - 'a_second' => implode('|', ['{0}:count ثانية', '{1}ثانية', '{2}ثانيتين', ']2,11[:count ثواني', ']10,Inf[:count ثانية']), - 'ago' => 'منذ :time', - 'from_now' => ':time من الآن', - 'after' => 'بعد :time', - 'before' => 'قبل :time', - 'diff_now' => 'الآن', - 'diff_yesterday' => 'أمس', - 'diff_tomorrow' => 'غداً', - 'diff_before_yesterday' => 'قبل الأمس', - 'diff_after_tomorrow' => 'بعد غد', - 'period_recurrences' => implode('|', ['{0}مرة', '{1}مرة', '{2}:count مرتين', ']2,11[:count مرات', ']10,Inf[:count مرة']), - 'period_interval' => 'كل :interval', - 'period_start_date' => 'من :date', - 'period_end_date' => 'إلى :date', - 'months' => $months, - 'months_short' => $months, - 'weekdays' => ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], - 'weekdays_short' => ['أحد', 'اثنين', 'ثلاثاء', 'أربعاء', 'خميس', 'جمعة', 'سبت'], - 'weekdays_min' => ['Ø­', 'اث', 'ثل', 'أر', 'خم', 'ج', 'س'], - 'list' => ['ØŒ ', ' Ùˆ '], - 'first_day_of_week' => 6, - 'day_of_first_week_of_year' => 1, - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'D/M/YYYY', - 'LL' => 'D MMMM YYYY', - 'LLL' => 'D MMMM YYYY HH:mm', - 'LLLL' => 'dddd D MMMM YYYY HH:mm', - ], - 'calendar' => [ - 'sameDay' => '[اليوم عند الساعة] LT', - 'nextDay' => '[غدًا عند الساعة] LT', - 'nextWeek' => 'dddd [عند الساعة] LT', - 'lastDay' => '[أمس عند الساعة] LT', - 'lastWeek' => 'dddd [عند الساعة] LT', - 'sameElse' => 'L', - ], - 'meridiem' => ['ص', 'Ù…'], - 'weekend' => [5, 6], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ar_AE.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ar_AE.php deleted file mode 100644 index daff04d..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ar_AE.php +++ /dev/null @@ -1,27 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - IBM Globalization Center of Competency, Yamato Software Laboratory bug-glibc-locales@gnu.org - */ -return array_replace_recursive(require __DIR__.'/ar.php', [ - 'formats' => [ - 'L' => 'DD MMM, YYYY', - ], - 'months' => ['يناير', 'Ùبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوÙمبر', 'ديسمبر'], - 'months_short' => ['ينا', 'Ùبر', 'مار', 'أبر', 'ماي', 'يون', 'يول', 'أغس', 'سبت', 'أكت', 'نوÙ', 'ديس'], - 'weekdays' => ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت '], - 'weekdays_short' => ['Ø­', 'Ù†', 'Ø«', 'ر', 'Ø®', 'ج', 'س'], - 'weekdays_min' => ['Ø­', 'Ù†', 'Ø«', 'ر', 'Ø®', 'ج', 'س'], - 'first_day_of_week' => 6, - 'day_of_first_week_of_year' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ar_BH.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ar_BH.php deleted file mode 100644 index 403701e..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ar_BH.php +++ /dev/null @@ -1,27 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - IBM Globalization Center of Competency, Yamato Software Laboratory bug-glibc-locales@gnu.org - */ -return array_replace_recursive(require __DIR__.'/ar.php', [ - 'formats' => [ - 'L' => 'DD MMM, YYYY', - ], - 'months' => ['يناير', 'Ùبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوÙمبر', 'ديسمبر'], - 'months_short' => ['ينا', 'Ùبر', 'مار', 'أبر', 'ماي', 'يون', 'يول', 'أغس', 'سبت', 'أكت', 'نوÙ', 'ديس'], - 'weekdays' => ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], - 'weekdays_short' => ['Ø­', 'Ù†', 'Ø«', 'ر', 'Ø®', 'ج', 'س'], - 'weekdays_min' => ['Ø­', 'Ù†', 'Ø«', 'ر', 'Ø®', 'ج', 'س'], - 'first_day_of_week' => 6, - 'day_of_first_week_of_year' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ar_DJ.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ar_DJ.php deleted file mode 100644 index 8d377ad..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ar_DJ.php +++ /dev/null @@ -1,12 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/ar.php', [ -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ar_DZ.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ar_DZ.php deleted file mode 100644 index c04a0f6..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ar_DZ.php +++ /dev/null @@ -1,88 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Josh Soref - * - Noureddine LOUAHEDJ - * - JD Isaacks - * - Atef Ben Ali (atefBB) - * - Mohamed Sabil (mohamedsabil83) - */ -$months = [ - 'جانÙÙŠ', - 'ÙÙŠÙري', - 'مارس', - 'Ø£Ùريل', - 'ماي', - 'جوان', - 'جويلية', - 'أوت', - 'سبتمبر', - 'أكتوبر', - 'نوÙمبر', - 'ديسمبر', -]; - -return [ - 'year' => implode('|', ['{0}:count سنة', '{1}سنة', '{2}سنتين', ']2,11[:count سنوات', ']10,Inf[:count سنة']), - 'a_year' => implode('|', ['{0}:count سنة', '{1}سنة', '{2}سنتين', ']2,11[:count سنوات', ']10,Inf[:count سنة']), - 'month' => implode('|', ['{0}:count شهر', '{1}شهر', '{2}شهرين', ']2,11[:count أشهر', ']10,Inf[:count شهر']), - 'a_month' => implode('|', ['{0}:count شهر', '{1}شهر', '{2}شهرين', ']2,11[:count أشهر', ']10,Inf[:count شهر']), - 'week' => implode('|', ['{0}:count أسبوع', '{1}أسبوع', '{2}أسبوعين', ']2,11[:count أسابيع', ']10,Inf[:count أسبوع']), - 'a_week' => implode('|', ['{0}:count أسبوع', '{1}أسبوع', '{2}أسبوعين', ']2,11[:count أسابيع', ']10,Inf[:count أسبوع']), - 'day' => implode('|', ['{0}:count يوم', '{1}يوم', '{2}يومين', ']2,11[:count أيام', ']10,Inf[:count يوم']), - 'a_day' => implode('|', ['{0}:count يوم', '{1}يوم', '{2}يومين', ']2,11[:count أيام', ']10,Inf[:count يوم']), - 'hour' => implode('|', ['{0}:count ساعة', '{1}ساعة', '{2}ساعتين', ']2,11[:count ساعات', ']10,Inf[:count ساعة']), - 'a_hour' => implode('|', ['{0}:count ساعة', '{1}ساعة', '{2}ساعتين', ']2,11[:count ساعات', ']10,Inf[:count ساعة']), - 'minute' => implode('|', ['{0}:count دقيقة', '{1}دقيقة', '{2}دقيقتين', ']2,11[:count دقائق', ']10,Inf[:count دقيقة']), - 'a_minute' => implode('|', ['{0}:count دقيقة', '{1}دقيقة', '{2}دقيقتين', ']2,11[:count دقائق', ']10,Inf[:count دقيقة']), - 'second' => implode('|', ['{0}:count ثانية', '{1}ثانية', '{2}ثانيتين', ']2,11[:count ثواني', ']10,Inf[:count ثانية']), - 'a_second' => implode('|', ['{0}:count ثانية', '{1}ثانية', '{2}ثانيتين', ']2,11[:count ثواني', ']10,Inf[:count ثانية']), - 'ago' => 'منذ :time', - 'from_now' => 'ÙÙŠ :time', - 'after' => 'بعد :time', - 'before' => 'قبل :time', - 'diff_now' => 'الآن', - 'diff_yesterday' => 'أمس', - 'diff_tomorrow' => 'غداً', - 'diff_before_yesterday' => 'قبل الأمس', - 'diff_after_tomorrow' => 'بعد غد', - 'period_recurrences' => implode('|', ['{0}مرة', '{1}مرة', '{2}:count مرتين', ']2,11[:count مرات', ']10,Inf[:count مرة']), - 'period_interval' => 'كل :interval', - 'period_start_date' => 'من :date', - 'period_end_date' => 'إلى :date', - 'months' => $months, - 'months_short' => $months, - 'weekdays' => ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], - 'weekdays_short' => ['أحد', 'اثنين', 'ثلاثاء', 'أربعاء', 'خميس', 'جمعة', 'سبت'], - 'weekdays_min' => ['أح', 'إث', 'ثلا', 'أر', 'خم', 'جم', 'سب'], - 'list' => ['ØŒ ', ' Ùˆ '], - 'first_day_of_week' => 0, - 'day_of_first_week_of_year' => 4, - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD/MM/YYYY', - 'LL' => 'D MMMM YYYY', - 'LLL' => 'D MMMM YYYY HH:mm', - 'LLLL' => 'dddd D MMMM YYYY HH:mm', - ], - 'calendar' => [ - 'sameDay' => '[اليوم على الساعة] LT', - 'nextDay' => '[غدا على الساعة] LT', - 'nextWeek' => 'dddd [على الساعة] LT', - 'lastDay' => '[أمس على الساعة] LT', - 'lastWeek' => 'dddd [على الساعة] LT', - 'sameElse' => 'L', - ], - 'meridiem' => ['ص', 'Ù…'], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ar_EG.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ar_EG.php deleted file mode 100644 index 403701e..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ar_EG.php +++ /dev/null @@ -1,27 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - IBM Globalization Center of Competency, Yamato Software Laboratory bug-glibc-locales@gnu.org - */ -return array_replace_recursive(require __DIR__.'/ar.php', [ - 'formats' => [ - 'L' => 'DD MMM, YYYY', - ], - 'months' => ['يناير', 'Ùبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوÙمبر', 'ديسمبر'], - 'months_short' => ['ينا', 'Ùبر', 'مار', 'أبر', 'ماي', 'يون', 'يول', 'أغس', 'سبت', 'أكت', 'نوÙ', 'ديس'], - 'weekdays' => ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], - 'weekdays_short' => ['Ø­', 'Ù†', 'Ø«', 'ر', 'Ø®', 'ج', 'س'], - 'weekdays_min' => ['Ø­', 'Ù†', 'Ø«', 'ر', 'Ø®', 'ج', 'س'], - 'first_day_of_week' => 6, - 'day_of_first_week_of_year' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ar_EH.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ar_EH.php deleted file mode 100644 index 8d377ad..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ar_EH.php +++ /dev/null @@ -1,12 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/ar.php', [ -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ar_ER.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ar_ER.php deleted file mode 100644 index 8d377ad..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ar_ER.php +++ /dev/null @@ -1,12 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/ar.php', [ -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ar_IL.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ar_IL.php deleted file mode 100644 index 8d377ad..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ar_IL.php +++ /dev/null @@ -1,12 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/ar.php', [ -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ar_IN.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ar_IN.php deleted file mode 100644 index 350a2d0..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ar_IN.php +++ /dev/null @@ -1,26 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - IBM Globalization Center of Competency, Yamato Software Laboratory bug-glibc-locales@gnu.org - */ -return array_replace_recursive(require __DIR__.'/ar.php', [ - 'formats' => [ - 'L' => 'D/M/YY', - ], - 'months' => ['يناير', 'Ùبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوÙمبر', 'ديسمبر'], - 'months_short' => ['ينا', 'Ùبر', 'مار', 'أبر', 'ماي', 'يون', 'يول', 'أغس', 'سبت', 'أكت', 'نوÙ', 'ديس'], - 'weekdays' => ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], - 'weekdays_short' => ['Ø­', 'Ù†', 'Ø«', 'ر', 'Ø®', 'ج', 'س'], - 'weekdays_min' => ['Ø­', 'Ù†', 'Ø«', 'ر', 'Ø®', 'ج', 'س'], - 'day_of_first_week_of_year' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ar_IQ.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ar_IQ.php deleted file mode 100644 index 8f8566c..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ar_IQ.php +++ /dev/null @@ -1,27 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - IBM Globalization Center of Competency, Yamato Software Laboratory bug-glibc-locales@gnu.org - */ -return array_replace_recursive(require __DIR__.'/ar.php', [ - 'formats' => [ - 'L' => 'DD MMM, YYYY', - ], - 'months' => ['كانون الثاني', 'شباط', 'آذار', 'نيسان', 'أيار', 'حزيران', 'تموز', 'آب', 'أيلول', 'تشرين الأول', 'تشرين الثاني', 'كانون الأول'], - 'months_short' => ['كانون الثاني', 'شباط', 'آذار', 'نيسان', 'أيار', 'حزيران', 'تموز', 'آب', 'أيلول', 'تشرين الأول', 'تشرين الثاني', 'كانون الأول'], - 'weekdays' => ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], - 'weekdays_short' => ['Ø­', 'Ù†', 'Ø«', 'ر', 'Ø®', 'ج', 'س'], - 'weekdays_min' => ['Ø­', 'Ù†', 'Ø«', 'ر', 'Ø®', 'ج', 'س'], - 'first_day_of_week' => 6, - 'day_of_first_week_of_year' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ar_JO.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ar_JO.php deleted file mode 100644 index 8f8566c..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ar_JO.php +++ /dev/null @@ -1,27 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - IBM Globalization Center of Competency, Yamato Software Laboratory bug-glibc-locales@gnu.org - */ -return array_replace_recursive(require __DIR__.'/ar.php', [ - 'formats' => [ - 'L' => 'DD MMM, YYYY', - ], - 'months' => ['كانون الثاني', 'شباط', 'آذار', 'نيسان', 'أيار', 'حزيران', 'تموز', 'آب', 'أيلول', 'تشرين الأول', 'تشرين الثاني', 'كانون الأول'], - 'months_short' => ['كانون الثاني', 'شباط', 'آذار', 'نيسان', 'أيار', 'حزيران', 'تموز', 'آب', 'أيلول', 'تشرين الأول', 'تشرين الثاني', 'كانون الأول'], - 'weekdays' => ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], - 'weekdays_short' => ['Ø­', 'Ù†', 'Ø«', 'ر', 'Ø®', 'ج', 'س'], - 'weekdays_min' => ['Ø­', 'Ù†', 'Ø«', 'ر', 'Ø®', 'ج', 'س'], - 'first_day_of_week' => 6, - 'day_of_first_week_of_year' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ar_KM.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ar_KM.php deleted file mode 100644 index 8d377ad..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ar_KM.php +++ /dev/null @@ -1,12 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/ar.php', [ -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ar_KW.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ar_KW.php deleted file mode 100644 index 4e31773..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ar_KW.php +++ /dev/null @@ -1,89 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Josh Soref - * - Nusret Parlak - * - JD Isaacks - * - Atef Ben Ali (atefBB) - * - Mohamed Sabil (mohamedsabil83) - */ -$months = [ - 'يناير', - 'Ùبراير', - 'مارس', - 'أبريل', - 'ماي', - 'يونيو', - 'يوليوز', - 'غشت', - 'شتنبر', - 'أكتوبر', - 'نونبر', - 'دجنبر', -]; - -return [ - 'year' => implode('|', ['{0}:count سنة', '{1}سنة', '{2}سنتين', ']2,11[:count سنوات', ']10,Inf[:count سنة']), - 'a_year' => implode('|', ['{0}:count سنة', '{1}سنة', '{2}سنتين', ']2,11[:count سنوات', ']10,Inf[:count سنة']), - 'month' => implode('|', ['{0}:count شهر', '{1}شهر', '{2}شهرين', ']2,11[:count أشهر', ']10,Inf[:count شهر']), - 'a_month' => implode('|', ['{0}:count شهر', '{1}شهر', '{2}شهرين', ']2,11[:count أشهر', ']10,Inf[:count شهر']), - 'week' => implode('|', ['{0}:count أسبوع', '{1}أسبوع', '{2}أسبوعين', ']2,11[:count أسابيع', ']10,Inf[:count أسبوع']), - 'a_week' => implode('|', ['{0}:count أسبوع', '{1}أسبوع', '{2}أسبوعين', ']2,11[:count أسابيع', ']10,Inf[:count أسبوع']), - 'day' => implode('|', ['{0}:count يوم', '{1}يوم', '{2}يومين', ']2,11[:count أيام', ']10,Inf[:count يوم']), - 'a_day' => implode('|', ['{0}:count يوم', '{1}يوم', '{2}يومين', ']2,11[:count أيام', ']10,Inf[:count يوم']), - 'hour' => implode('|', ['{0}:count ساعة', '{1}ساعة', '{2}ساعتين', ']2,11[:count ساعات', ']10,Inf[:count ساعة']), - 'a_hour' => implode('|', ['{0}:count ساعة', '{1}ساعة', '{2}ساعتين', ']2,11[:count ساعات', ']10,Inf[:count ساعة']), - 'minute' => implode('|', ['{0}:count دقيقة', '{1}دقيقة', '{2}دقيقتين', ']2,11[:count دقائق', ']10,Inf[:count دقيقة']), - 'a_minute' => implode('|', ['{0}:count دقيقة', '{1}دقيقة', '{2}دقيقتين', ']2,11[:count دقائق', ']10,Inf[:count دقيقة']), - 'second' => implode('|', ['{0}:count ثانية', '{1}ثانية', '{2}ثانيتين', ']2,11[:count ثواني', ']10,Inf[:count ثانية']), - 'a_second' => implode('|', ['{0}:count ثانية', '{1}ثانية', '{2}ثانيتين', ']2,11[:count ثواني', ']10,Inf[:count ثانية']), - 'ago' => 'منذ :time', - 'from_now' => 'ÙÙŠ :time', - 'after' => 'بعد :time', - 'before' => 'قبل :time', - 'diff_now' => 'الآن', - 'diff_yesterday' => 'أمس', - 'diff_tomorrow' => 'غداً', - 'diff_before_yesterday' => 'قبل الأمس', - 'diff_after_tomorrow' => 'بعد غد', - 'period_recurrences' => implode('|', ['{0}مرة', '{1}مرة', '{2}:count مرتين', ']2,11[:count مرات', ']10,Inf[:count مرة']), - 'period_interval' => 'كل :interval', - 'period_start_date' => 'من :date', - 'period_end_date' => 'إلى :date', - 'months' => $months, - 'months_short' => $months, - 'weekdays' => ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], - 'weekdays_short' => ['أحد', 'اثنين', 'ثلاثاء', 'أربعاء', 'خميس', 'جمعة', 'سبت'], - 'weekdays_min' => ['Ø­', 'Ù†', 'Ø«', 'ر', 'Ø®', 'ج', 'س'], - 'list' => ['ØŒ ', ' Ùˆ '], - 'first_day_of_week' => 0, - 'day_of_first_week_of_year' => 1, - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD/MM/YYYY', - 'LL' => 'D MMMM YYYY', - 'LLL' => 'D MMMM YYYY HH:mm', - 'LLLL' => 'dddd D MMMM YYYY HH:mm', - ], - 'calendar' => [ - 'sameDay' => '[اليوم على الساعة] LT', - 'nextDay' => '[غدا على الساعة] LT', - 'nextWeek' => 'dddd [على الساعة] LT', - 'lastDay' => '[أمس على الساعة] LT', - 'lastWeek' => 'dddd [على الساعة] LT', - 'sameElse' => 'L', - ], - 'meridiem' => ['ص', 'Ù…'], - 'weekend' => [5, 6], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ar_LB.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ar_LB.php deleted file mode 100644 index 5605173..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ar_LB.php +++ /dev/null @@ -1,27 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - IBM Globalization Center of Competency, Yamato Software Laboratory bug-glibc-locales@gnu.org - */ -return array_replace_recursive(require __DIR__.'/ar.php', [ - 'formats' => [ - 'L' => 'DD MMM, YYYY', - ], - 'months' => ['كانون الثاني', 'شباط', 'آذار', 'نيسان', 'أيار', 'حزيران', 'تموز', 'آب', 'أيلول', 'تشرين الأول', 'تشرين الثاني', 'كانون الأول'], - 'months_short' => ['كانون الثاني', 'شباط', 'آذار', 'نيسان', 'أيار', 'حزيران', 'تموز', 'آب', 'أيلول', 'تشرين الأول', 'تشرين الثاني', 'كانون الأول'], - 'weekdays' => ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], - 'weekdays_short' => ['Ø­', 'Ù†', 'Ø«', 'ر', 'Ø®', 'ج', 'س'], - 'weekdays_min' => ['Ø­', 'Ù†', 'Ø«', 'ر', 'Ø®', 'ج', 'س'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ar_LY.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ar_LY.php deleted file mode 100644 index 0db884c..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ar_LY.php +++ /dev/null @@ -1,88 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/* - * Authors: - * - Atef Ben Ali (atefBB) - * - Ibrahim AshShohail - * - MLTDev - */ - -$months = [ - 'يناير', - 'Ùبراير', - 'مارس', - 'أبريل', - 'مايو', - 'يونيو', - 'يوليو', - 'أغسطس', - 'سبتمبر', - 'أكتوبر', - 'نوÙمبر', - 'ديسمبر', -]; - -return [ - 'year' => implode('|', [':count سنة', 'سنة', 'سنتين', ':count سنوات', ':count سنة']), - 'a_year' => implode('|', [':count سنة', 'سنة', 'سنتين', ':count سنوات', ':count سنة']), - 'month' => implode('|', [':count شهر', 'شهر', 'شهرين', ':count أشهر', ':count شهر']), - 'a_month' => implode('|', [':count شهر', 'شهر', 'شهرين', ':count أشهر', ':count شهر']), - 'week' => implode('|', [':count أسبوع', 'أسبوع', 'أسبوعين', ':count أسابيع', ':count أسبوع']), - 'a_week' => implode('|', [':count أسبوع', 'أسبوع', 'أسبوعين', ':count أسابيع', ':count أسبوع']), - 'day' => implode('|', [':count يوم', 'يوم', 'يومين', ':count أيام', ':count يوم']), - 'a_day' => implode('|', [':count يوم', 'يوم', 'يومين', ':count أيام', ':count يوم']), - 'hour' => implode('|', [':count ساعة', 'ساعة', 'ساعتين', ':count ساعات', ':count ساعة']), - 'a_hour' => implode('|', [':count ساعة', 'ساعة', 'ساعتين', ':count ساعات', ':count ساعة']), - 'minute' => implode('|', [':count دقيقة', 'دقيقة', 'دقيقتين', ':count دقائق', ':count دقيقة']), - 'a_minute' => implode('|', [':count دقيقة', 'دقيقة', 'دقيقتين', ':count دقائق', ':count دقيقة']), - 'second' => implode('|', [':count ثانية', 'ثانية', 'ثانيتين', ':count ثواني', ':count ثانية']), - 'a_second' => implode('|', [':count ثانية', 'ثانية', 'ثانيتين', ':count ثواني', ':count ثانية']), - 'ago' => 'منذ :time', - 'from_now' => ':time من الآن', - 'after' => 'بعد :time', - 'before' => 'قبل :time', - 'diff_now' => 'الآن', - 'diff_yesterday' => 'أمس', - 'diff_tomorrow' => 'غداً', - 'diff_before_yesterday' => 'قبل الأمس', - 'diff_after_tomorrow' => 'بعد غد', - 'period_recurrences' => implode('|', ['مرة', 'مرة', ':count مرتين', ':count مرات', ':count مرة']), - 'period_interval' => 'كل :interval', - 'period_start_date' => 'من :date', - 'period_end_date' => 'إلى :date', - 'months' => $months, - 'months_short' => $months, - 'weekdays' => ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], - 'weekdays_short' => ['أحد', 'اثنين', 'ثلاثاء', 'أربعاء', 'خميس', 'جمعة', 'سبت'], - 'weekdays_min' => ['Ø­', 'اث', 'ثل', 'أر', 'خم', 'ج', 'س'], - 'list' => ['ØŒ ', ' Ùˆ '], - 'first_day_of_week' => 6, - 'day_of_first_week_of_year' => 1, - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'D/M/YYYY', - 'LL' => 'D MMMM YYYY', - 'LLL' => 'D MMMM YYYY HH:mm', - 'LLLL' => 'dddd D MMMM YYYY HH:mm', - ], - 'calendar' => [ - 'sameDay' => '[اليوم عند الساعة] LT', - 'nextDay' => '[غدًا عند الساعة] LT', - 'nextWeek' => 'dddd [عند الساعة] LT', - 'lastDay' => '[أمس عند الساعة] LT', - 'lastWeek' => 'dddd [عند الساعة] LT', - 'sameElse' => 'L', - ], - 'meridiem' => ['ص', 'Ù…'], - 'weekend' => [5, 6], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ar_MA.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ar_MA.php deleted file mode 100644 index 516712c..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ar_MA.php +++ /dev/null @@ -1,88 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Josh Soref - * - JD Isaacks - * - Atef Ben Ali (atefBB) - * - Mohamed Sabil (mohamedsabil83) - */ -$months = [ - 'يناير', - 'Ùبراير', - 'مارس', - 'أبريل', - 'ماي', - 'يونيو', - 'يوليوز', - 'غشت', - 'شتنبر', - 'أكتوبر', - 'نونبر', - 'دجنبر', -]; - -return [ - 'year' => implode('|', ['{0}:count سنة', '{1}سنة', '{2}سنتين', ']2,11[:count سنوات', ']10,Inf[:count سنة']), - 'a_year' => implode('|', ['{0}:count سنة', '{1}سنة', '{2}سنتين', ']2,11[:count سنوات', ']10,Inf[:count سنة']), - 'month' => implode('|', ['{0}:count شهر', '{1}شهر', '{2}شهرين', ']2,11[:count أشهر', ']10,Inf[:count شهر']), - 'a_month' => implode('|', ['{0}:count شهر', '{1}شهر', '{2}شهرين', ']2,11[:count أشهر', ']10,Inf[:count شهر']), - 'week' => implode('|', ['{0}:count أسبوع', '{1}أسبوع', '{2}أسبوعين', ']2,11[:count أسابيع', ']10,Inf[:count أسبوع']), - 'a_week' => implode('|', ['{0}:count أسبوع', '{1}أسبوع', '{2}أسبوعين', ']2,11[:count أسابيع', ']10,Inf[:count أسبوع']), - 'day' => implode('|', ['{0}:count يوم', '{1}يوم', '{2}يومين', ']2,11[:count أيام', ']10,Inf[:count يوم']), - 'a_day' => implode('|', ['{0}:count يوم', '{1}يوم', '{2}يومين', ']2,11[:count أيام', ']10,Inf[:count يوم']), - 'hour' => implode('|', ['{0}:count ساعة', '{1}ساعة', '{2}ساعتين', ']2,11[:count ساعات', ']10,Inf[:count ساعة']), - 'a_hour' => implode('|', ['{0}:count ساعة', '{1}ساعة', '{2}ساعتين', ']2,11[:count ساعات', ']10,Inf[:count ساعة']), - 'minute' => implode('|', ['{0}:count دقيقة', '{1}دقيقة', '{2}دقيقتين', ']2,11[:count دقائق', ']10,Inf[:count دقيقة']), - 'a_minute' => implode('|', ['{0}:count دقيقة', '{1}دقيقة', '{2}دقيقتين', ']2,11[:count دقائق', ']10,Inf[:count دقيقة']), - 'second' => implode('|', ['{0}:count ثانية', '{1}ثانية', '{2}ثانيتين', ']2,11[:count ثواني', ']10,Inf[:count ثانية']), - 'a_second' => implode('|', ['{0}:count ثانية', '{1}ثانية', '{2}ثانيتين', ']2,11[:count ثواني', ']10,Inf[:count ثانية']), - 'ago' => 'منذ :time', - 'from_now' => 'ÙÙŠ :time', - 'after' => 'بعد :time', - 'before' => 'قبل :time', - 'diff_now' => 'الآن', - 'diff_yesterday' => 'أمس', - 'diff_tomorrow' => 'غداً', - 'diff_before_yesterday' => 'قبل الأمس', - 'diff_after_tomorrow' => 'بعد غد', - 'period_recurrences' => implode('|', ['{0}مرة', '{1}مرة', '{2}:count مرتين', ']2,11[:count مرات', ']10,Inf[:count مرة']), - 'period_interval' => 'كل :interval', - 'period_start_date' => 'من :date', - 'period_end_date' => 'إلى :date', - 'months' => $months, - 'months_short' => $months, - 'weekdays' => ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], - 'weekdays_short' => ['أحد', 'اثنين', 'ثلاثاء', 'أربعاء', 'خميس', 'جمعة', 'سبت'], - 'weekdays_min' => ['Ø­', 'Ù†', 'Ø«', 'ر', 'Ø®', 'ج', 'س'], - 'list' => ['ØŒ ', ' Ùˆ '], - 'first_day_of_week' => 6, - 'day_of_first_week_of_year' => 1, - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD/MM/YYYY', - 'LL' => 'D MMMM YYYY', - 'LLL' => 'D MMMM YYYY HH:mm', - 'LLLL' => 'dddd D MMMM YYYY HH:mm', - ], - 'calendar' => [ - 'sameDay' => '[اليوم على الساعة] LT', - 'nextDay' => '[غدا على الساعة] LT', - 'nextWeek' => 'dddd [على الساعة] LT', - 'lastDay' => '[أمس على الساعة] LT', - 'lastWeek' => 'dddd [على الساعة] LT', - 'sameElse' => 'L', - ], - 'meridiem' => ['ص', 'Ù…'], - 'weekend' => [5, 6], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ar_MR.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ar_MR.php deleted file mode 100644 index 8d377ad..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ar_MR.php +++ /dev/null @@ -1,12 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/ar.php', [ -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ar_OM.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ar_OM.php deleted file mode 100644 index 403701e..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ar_OM.php +++ /dev/null @@ -1,27 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - IBM Globalization Center of Competency, Yamato Software Laboratory bug-glibc-locales@gnu.org - */ -return array_replace_recursive(require __DIR__.'/ar.php', [ - 'formats' => [ - 'L' => 'DD MMM, YYYY', - ], - 'months' => ['يناير', 'Ùبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوÙمبر', 'ديسمبر'], - 'months_short' => ['ينا', 'Ùبر', 'مار', 'أبر', 'ماي', 'يون', 'يول', 'أغس', 'سبت', 'أكت', 'نوÙ', 'ديس'], - 'weekdays' => ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], - 'weekdays_short' => ['Ø­', 'Ù†', 'Ø«', 'ر', 'Ø®', 'ج', 'س'], - 'weekdays_min' => ['Ø­', 'Ù†', 'Ø«', 'ر', 'Ø®', 'ج', 'س'], - 'first_day_of_week' => 6, - 'day_of_first_week_of_year' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ar_PS.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ar_PS.php deleted file mode 100644 index 8d377ad..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ar_PS.php +++ /dev/null @@ -1,12 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/ar.php', [ -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ar_QA.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ar_QA.php deleted file mode 100644 index 403701e..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ar_QA.php +++ /dev/null @@ -1,27 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - IBM Globalization Center of Competency, Yamato Software Laboratory bug-glibc-locales@gnu.org - */ -return array_replace_recursive(require __DIR__.'/ar.php', [ - 'formats' => [ - 'L' => 'DD MMM, YYYY', - ], - 'months' => ['يناير', 'Ùبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوÙمبر', 'ديسمبر'], - 'months_short' => ['ينا', 'Ùبر', 'مار', 'أبر', 'ماي', 'يون', 'يول', 'أغس', 'سبت', 'أكت', 'نوÙ', 'ديس'], - 'weekdays' => ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], - 'weekdays_short' => ['Ø­', 'Ù†', 'Ø«', 'ر', 'Ø®', 'ج', 'س'], - 'weekdays_min' => ['Ø­', 'Ù†', 'Ø«', 'ر', 'Ø®', 'ج', 'س'], - 'first_day_of_week' => 6, - 'day_of_first_week_of_year' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ar_SA.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ar_SA.php deleted file mode 100644 index b241bb6..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ar_SA.php +++ /dev/null @@ -1,88 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Josh Soref - * - JD Isaacks - * - Atef Ben Ali (atefBB) - * - Mohamed Sabil (mohamedsabil83) - */ -$months = [ - 'يناير', - 'Ùبراير', - 'مارس', - 'أبريل', - 'مايو', - 'يونيو', - 'يوليو', - 'أغسطس', - 'سبتمبر', - 'أكتوبر', - 'نوÙمبر', - 'ديسمبر', -]; - -return [ - 'year' => implode('|', ['{0}:count سنة', '{1}سنة', '{2}سنتين', ']2,11[:count سنوات', ']10,Inf[:count سنة']), - 'a_year' => implode('|', ['{0}:count سنة', '{1}سنة', '{2}سنتين', ']2,11[:count سنوات', ']10,Inf[:count سنة']), - 'month' => implode('|', ['{0}:count شهر', '{1}شهر', '{2}شهرين', ']2,11[:count أشهر', ']10,Inf[:count شهر']), - 'a_month' => implode('|', ['{0}:count شهر', '{1}شهر', '{2}شهرين', ']2,11[:count أشهر', ']10,Inf[:count شهر']), - 'week' => implode('|', ['{0}:count أسبوع', '{1}أسبوع', '{2}أسبوعين', ']2,11[:count أسابيع', ']10,Inf[:count أسبوع']), - 'a_week' => implode('|', ['{0}:count أسبوع', '{1}أسبوع', '{2}أسبوعين', ']2,11[:count أسابيع', ']10,Inf[:count أسبوع']), - 'day' => implode('|', ['{0}:count يوم', '{1}يوم', '{2}يومين', ']2,11[:count أيام', ']10,Inf[:count يوم']), - 'a_day' => implode('|', ['{0}:count يوم', '{1}يوم', '{2}يومين', ']2,11[:count أيام', ']10,Inf[:count يوم']), - 'hour' => implode('|', ['{0}:count ساعة', '{1}ساعة', '{2}ساعتين', ']2,11[:count ساعات', ']10,Inf[:count ساعة']), - 'a_hour' => implode('|', ['{0}:count ساعة', '{1}ساعة', '{2}ساعتين', ']2,11[:count ساعات', ']10,Inf[:count ساعة']), - 'minute' => implode('|', ['{0}:count دقيقة', '{1}دقيقة', '{2}دقيقتين', ']2,11[:count دقائق', ']10,Inf[:count دقيقة']), - 'a_minute' => implode('|', ['{0}:count دقيقة', '{1}دقيقة', '{2}دقيقتين', ']2,11[:count دقائق', ']10,Inf[:count دقيقة']), - 'second' => implode('|', ['{0}:count ثانية', '{1}ثانية', '{2}ثانيتين', ']2,11[:count ثواني', ']10,Inf[:count ثانية']), - 'a_second' => implode('|', ['{0}:count ثانية', '{1}ثانية', '{2}ثانيتين', ']2,11[:count ثواني', ']10,Inf[:count ثانية']), - 'ago' => 'منذ :time', - 'from_now' => 'ÙÙŠ :time', - 'after' => 'بعد :time', - 'before' => 'قبل :time', - 'diff_now' => 'الآن', - 'diff_yesterday' => 'أمس', - 'diff_tomorrow' => 'غداً', - 'diff_before_yesterday' => 'قبل الأمس', - 'diff_after_tomorrow' => 'بعد غد', - 'period_recurrences' => implode('|', ['{0}مرة', '{1}مرة', '{2}:count مرتين', ']2,11[:count مرات', ']10,Inf[:count مرة']), - 'period_interval' => 'كل :interval', - 'period_start_date' => 'من :date', - 'period_end_date' => 'إلى :date', - 'months' => $months, - 'months_short' => $months, - 'weekdays' => ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], - 'weekdays_short' => ['أحد', 'اثنين', 'ثلاثاء', 'أربعاء', 'خميس', 'جمعة', 'سبت'], - 'weekdays_min' => ['Ø­', 'Ù†', 'Ø«', 'ر', 'Ø®', 'ج', 'س'], - 'list' => ['ØŒ ', ' Ùˆ '], - 'first_day_of_week' => 6, - 'day_of_first_week_of_year' => 1, - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD/MM/YYYY', - 'LL' => 'D MMMM YYYY', - 'LLL' => 'D MMMM YYYY HH:mm', - 'LLLL' => 'dddd D MMMM YYYY HH:mm', - ], - 'calendar' => [ - 'sameDay' => '[اليوم على الساعة] LT', - 'nextDay' => '[غدا على الساعة] LT', - 'nextWeek' => 'dddd [على الساعة] LT', - 'lastDay' => '[أمس على الساعة] LT', - 'lastWeek' => 'dddd [على الساعة] LT', - 'sameElse' => 'L', - ], - 'meridiem' => ['ص', 'Ù…'], - 'weekend' => [5, 6], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ar_SD.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ar_SD.php deleted file mode 100644 index 403701e..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ar_SD.php +++ /dev/null @@ -1,27 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - IBM Globalization Center of Competency, Yamato Software Laboratory bug-glibc-locales@gnu.org - */ -return array_replace_recursive(require __DIR__.'/ar.php', [ - 'formats' => [ - 'L' => 'DD MMM, YYYY', - ], - 'months' => ['يناير', 'Ùبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوÙمبر', 'ديسمبر'], - 'months_short' => ['ينا', 'Ùبر', 'مار', 'أبر', 'ماي', 'يون', 'يول', 'أغس', 'سبت', 'أكت', 'نوÙ', 'ديس'], - 'weekdays' => ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], - 'weekdays_short' => ['Ø­', 'Ù†', 'Ø«', 'ر', 'Ø®', 'ج', 'س'], - 'weekdays_min' => ['Ø­', 'Ù†', 'Ø«', 'ر', 'Ø®', 'ج', 'س'], - 'first_day_of_week' => 6, - 'day_of_first_week_of_year' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ar_SO.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ar_SO.php deleted file mode 100644 index 8d377ad..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ar_SO.php +++ /dev/null @@ -1,12 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/ar.php', [ -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ar_SS.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ar_SS.php deleted file mode 100644 index 95cb151..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ar_SS.php +++ /dev/null @@ -1,27 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - IBM Globalization Center of Competency, Yamato Software Laboratory bug-glibc-locales@gnu.org - */ -return array_replace_recursive(require __DIR__.'/ar.php', [ - 'formats' => [ - 'L' => 'DD MMM, YYYY', - ], - 'months' => ['يناير', 'Ùبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوÙمبر', 'ديسمبر'], - 'months_short' => ['ينا', 'Ùبر', 'مار', 'أبر', 'ماي', 'يون', 'يول', 'أغس', 'سبت', 'أكت', 'نوÙ', 'ديس'], - 'weekdays' => ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], - 'weekdays_short' => ['Ø­', 'Ù†', 'Ø«', 'ر', 'Ø®', 'ج', 'س'], - 'weekdays_min' => ['Ø­', 'Ù†', 'Ø«', 'ر', 'Ø®', 'ج', 'س'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ar_SY.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ar_SY.php deleted file mode 100644 index 8f8566c..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ar_SY.php +++ /dev/null @@ -1,27 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - IBM Globalization Center of Competency, Yamato Software Laboratory bug-glibc-locales@gnu.org - */ -return array_replace_recursive(require __DIR__.'/ar.php', [ - 'formats' => [ - 'L' => 'DD MMM, YYYY', - ], - 'months' => ['كانون الثاني', 'شباط', 'آذار', 'نيسان', 'أيار', 'حزيران', 'تموز', 'آب', 'أيلول', 'تشرين الأول', 'تشرين الثاني', 'كانون الأول'], - 'months_short' => ['كانون الثاني', 'شباط', 'آذار', 'نيسان', 'أيار', 'حزيران', 'تموز', 'آب', 'أيلول', 'تشرين الأول', 'تشرين الثاني', 'كانون الأول'], - 'weekdays' => ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], - 'weekdays_short' => ['Ø­', 'Ù†', 'Ø«', 'ر', 'Ø®', 'ج', 'س'], - 'weekdays_min' => ['Ø­', 'Ù†', 'Ø«', 'ر', 'Ø®', 'ج', 'س'], - 'first_day_of_week' => 6, - 'day_of_first_week_of_year' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ar_Shakl.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ar_Shakl.php deleted file mode 100644 index 14909e8..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ar_Shakl.php +++ /dev/null @@ -1,91 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/* - * Authors: - * - Abdellah Chadidi - * - Atef Ben Ali (atefBB) - * - Mohamed Sabil (mohamedsabil83) - */ -// Same for long and short -$months = [ - // @TODO add shakl to months - 'يناير', - 'Ùبراير', - 'مارس', - 'أبريل', - 'مايو', - 'يونيو', - 'يوليو', - 'أغسطس', - 'سبتمبر', - 'أكتوبر', - 'نوÙمبر', - 'ديسمبر', -]; - -return [ - 'year' => implode('|', ['{0}:count سَنَة', '{1}سَنَة', '{2}سَنَتَيْن', ']2,11[:count سَنَوَات', ']10,Inf[:count سَنَة']), - 'a_year' => implode('|', ['{0}:count سَنَة', '{1}سَنَة', '{2}سَنَتَيْن', ']2,11[:count سَنَوَات', ']10,Inf[:count سَنَة']), - 'month' => implode('|', ['{0}:count شَهْرَ', '{1}شَهْرَ', '{2}شَهْرَيْن', ']2,11[:count أَشْهÙر', ']10,Inf[:count شَهْرَ']), - 'a_month' => implode('|', ['{0}:count شَهْرَ', '{1}شَهْرَ', '{2}شَهْرَيْن', ']2,11[:count أَشْهÙر', ']10,Inf[:count شَهْرَ']), - 'week' => implode('|', ['{0}:count Ø£ÙسْبÙوع', '{1}Ø£ÙسْبÙوع', '{2}Ø£ÙسْبÙوعَيْن', ']2,11[:count أَسَابÙيع', ']10,Inf[:count Ø£ÙسْبÙوع']), - 'a_week' => implode('|', ['{0}:count Ø£ÙسْبÙوع', '{1}Ø£ÙسْبÙوع', '{2}Ø£ÙسْبÙوعَيْن', ']2,11[:count أَسَابÙيع', ']10,Inf[:count Ø£ÙسْبÙوع']), - 'day' => implode('|', ['{0}:count يَوْم', '{1}يَوْم', '{2}يَوْمَيْن', ']2,11[:count أَيَّام', ']10,Inf[:count يَوْم']), - 'a_day' => implode('|', ['{0}:count يَوْم', '{1}يَوْم', '{2}يَوْمَيْن', ']2,11[:count أَيَّام', ']10,Inf[:count يَوْم']), - 'hour' => implode('|', ['{0}:count سَاعَة', '{1}سَاعَة', '{2}سَاعَتَيْن', ']2,11[:count سَاعَات', ']10,Inf[:count سَاعَة']), - 'a_hour' => implode('|', ['{0}:count سَاعَة', '{1}سَاعَة', '{2}سَاعَتَيْن', ']2,11[:count سَاعَات', ']10,Inf[:count سَاعَة']), - 'minute' => implode('|', ['{0}:count دَقÙيقَة', '{1}دَقÙيقَة', '{2}دَقÙيقَتَيْن', ']2,11[:count دَقَائÙÙ‚', ']10,Inf[:count دَقÙيقَة']), - 'a_minute' => implode('|', ['{0}:count دَقÙيقَة', '{1}دَقÙيقَة', '{2}دَقÙيقَتَيْن', ']2,11[:count دَقَائÙÙ‚', ']10,Inf[:count دَقÙيقَة']), - 'second' => implode('|', ['{0}:count ثَانÙÙŠÙŽØ©', '{1}ثَانÙÙŠÙŽØ©', '{2}ثَانÙيَتَيْن', ']2,11[:count ثَوَان', ']10,Inf[:count ثَانÙÙŠÙŽØ©']), - 'a_second' => implode('|', ['{0}:count ثَانÙÙŠÙŽØ©', '{1}ثَانÙÙŠÙŽØ©', '{2}ثَانÙيَتَيْن', ']2,11[:count ثَوَان', ']10,Inf[:count ثَانÙÙŠÙŽØ©']), - 'ago' => 'Ù…Ùنْذ٠:time', - 'from_now' => 'Ù…ÙÙ†ÙŽ الْآن :time', - 'after' => 'بَعْدَ :time', - 'before' => 'قَبْلَ :time', - - // @TODO add shakl to translations below - 'diff_now' => 'الآن', - 'diff_yesterday' => 'أمس', - 'diff_tomorrow' => 'غداً', - 'diff_before_yesterday' => 'قبل الأمس', - 'diff_after_tomorrow' => 'بعد غد', - 'period_recurrences' => implode('|', ['{0}مرة', '{1}مرة', '{2}:count مرتين', ']2,11[:count مرات', ']10,Inf[:count مرة']), - 'period_interval' => 'كل :interval', - 'period_start_date' => 'من :date', - 'period_end_date' => 'إلى :date', - 'months' => $months, - 'months_short' => $months, - 'weekdays' => ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], - 'weekdays_short' => ['أحد', 'اثنين', 'ثلاثاء', 'أربعاء', 'خميس', 'جمعة', 'سبت'], - 'weekdays_min' => ['Ø­', 'اث', 'ثل', 'أر', 'خم', 'ج', 'س'], - 'list' => ['ØŒ ', ' Ùˆ '], - 'first_day_of_week' => 6, - 'day_of_first_week_of_year' => 1, - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'D/M/YYYY', - 'LL' => 'D MMMM YYYY', - 'LLL' => 'D MMMM YYYY HH:mm', - 'LLLL' => 'dddd D MMMM YYYY HH:mm', - ], - 'calendar' => [ - 'sameDay' => '[اليوم عند الساعة] LT', - 'nextDay' => '[غدًا عند الساعة] LT', - 'nextWeek' => 'dddd [عند الساعة] LT', - 'lastDay' => '[أمس عند الساعة] LT', - 'lastWeek' => 'dddd [عند الساعة] LT', - 'sameElse' => 'L', - ], - 'meridiem' => ['ص', 'Ù…'], - 'weekend' => [5, 6], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ar_TD.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ar_TD.php deleted file mode 100644 index 8d377ad..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ar_TD.php +++ /dev/null @@ -1,12 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/ar.php', [ -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ar_TN.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ar_TN.php deleted file mode 100644 index fa4281f..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ar_TN.php +++ /dev/null @@ -1,87 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - JD Isaacks - * - Atef Ben Ali (atefBB) - * - Mohamed Sabil (mohamedsabil83) - */ -$months = [ - 'جانÙÙŠ', - 'ÙÙŠÙري', - 'مارس', - 'Ø£Ùريل', - 'ماي', - 'جوان', - 'جويلية', - 'أوت', - 'سبتمبر', - 'أكتوبر', - 'نوÙمبر', - 'ديسمبر', -]; - -return [ - 'year' => implode('|', ['{0}:count سنة', '{1}سنة', '{2}سنتين', ']2,11[:count سنوات', ']10,Inf[:count سنة']), - 'a_year' => implode('|', ['{0}:count سنة', '{1}سنة', '{2}سنتين', ']2,11[:count سنوات', ']10,Inf[:count سنة']), - 'month' => implode('|', ['{0}:count شهر', '{1}شهر', '{2}شهرين', ']2,11[:count أشهر', ']10,Inf[:count شهر']), - 'a_month' => implode('|', ['{0}:count شهر', '{1}شهر', '{2}شهرين', ']2,11[:count أشهر', ']10,Inf[:count شهر']), - 'week' => implode('|', ['{0}:count أسبوع', '{1}أسبوع', '{2}أسبوعين', ']2,11[:count أسابيع', ']10,Inf[:count أسبوع']), - 'a_week' => implode('|', ['{0}:count أسبوع', '{1}أسبوع', '{2}أسبوعين', ']2,11[:count أسابيع', ']10,Inf[:count أسبوع']), - 'day' => implode('|', ['{0}:count يوم', '{1}يوم', '{2}يومين', ']2,11[:count أيام', ']10,Inf[:count يوم']), - 'a_day' => implode('|', ['{0}:count يوم', '{1}يوم', '{2}يومين', ']2,11[:count أيام', ']10,Inf[:count يوم']), - 'hour' => implode('|', ['{0}:count ساعة', '{1}ساعة', '{2}ساعتين', ']2,11[:count ساعات', ']10,Inf[:count ساعة']), - 'a_hour' => implode('|', ['{0}:count ساعة', '{1}ساعة', '{2}ساعتين', ']2,11[:count ساعات', ']10,Inf[:count ساعة']), - 'minute' => implode('|', ['{0}:count دقيقة', '{1}دقيقة', '{2}دقيقتين', ']2,11[:count دقائق', ']10,Inf[:count دقيقة']), - 'a_minute' => implode('|', ['{0}:count دقيقة', '{1}دقيقة', '{2}دقيقتين', ']2,11[:count دقائق', ']10,Inf[:count دقيقة']), - 'second' => implode('|', ['{0}:count ثانية', '{1}ثانية', '{2}ثانيتين', ']2,11[:count ثواني', ']10,Inf[:count ثانية']), - 'a_second' => implode('|', ['{0}:count ثانية', '{1}ثانية', '{2}ثانيتين', ']2,11[:count ثواني', ']10,Inf[:count ثانية']), - 'ago' => 'منذ :time', - 'from_now' => 'ÙÙŠ :time', - 'after' => 'بعد :time', - 'before' => 'قبل :time', - 'diff_now' => 'الآن', - 'diff_yesterday' => 'أمس', - 'diff_tomorrow' => 'غداً', - 'diff_before_yesterday' => 'قبل الأمس', - 'diff_after_tomorrow' => 'بعد غد', - 'period_recurrences' => implode('|', ['{0}مرة', '{1}مرة', '{2}:count مرتين', ']2,11[:count مرات', ']10,Inf[:count مرة']), - 'period_interval' => 'كل :interval', - 'period_start_date' => 'من :date', - 'period_end_date' => 'إلى :date', - 'months' => $months, - 'months_short' => $months, - 'weekdays' => ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], - 'weekdays_short' => ['أحد', 'اثنين', 'ثلاثاء', 'أربعاء', 'خميس', 'جمعة', 'سبت'], - 'weekdays_min' => ['Ø­', 'Ù†', 'Ø«', 'ر', 'Ø®', 'ج', 'س'], - 'list' => ['ØŒ ', ' Ùˆ '], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 4, - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD/MM/YYYY', - 'LL' => 'D MMMM YYYY', - 'LLL' => 'D MMMM YYYY HH:mm', - 'LLLL' => 'dddd D MMMM YYYY HH:mm', - ], - 'calendar' => [ - 'sameDay' => '[اليوم على الساعة] LT', - 'nextDay' => '[غدا على الساعة] LT', - 'nextWeek' => 'dddd [على الساعة] LT', - 'lastDay' => '[أمس على الساعة] LT', - 'lastWeek' => 'dddd [على الساعة] LT', - 'sameElse' => 'L', - ], - 'meridiem' => ['ص', 'Ù…'], - 'weekend' => [5, 6], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ar_YE.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ar_YE.php deleted file mode 100644 index b2dd1a2..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ar_YE.php +++ /dev/null @@ -1,26 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - IBM Globalization Center of Competency, Yamato Software Laboratory bug-glibc-locales@gnu.org - */ -return array_replace_recursive(require __DIR__.'/ar.php', [ - 'formats' => [ - 'L' => 'DD MMM, YYYY', - ], - 'months' => ['يناير', 'Ùبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوÙمبر', 'ديسمبر'], - 'months_short' => ['ينا', 'Ùبر', 'مار', 'أبر', 'ماي', 'يون', 'يول', 'أغس', 'سبت', 'أكت', 'نوÙ', 'ديس'], - 'weekdays' => ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], - 'weekdays_short' => ['Ø­', 'Ù†', 'Ø«', 'ر', 'Ø®', 'ج', 'س'], - 'weekdays_min' => ['Ø­', 'Ù†', 'Ø«', 'ر', 'Ø®', 'ج', 'س'], - 'day_of_first_week_of_year' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/as.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/as.php deleted file mode 100644 index 94015f7..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/as.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return require __DIR__.'/as_IN.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/as_IN.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/as_IN.php deleted file mode 100644 index 74515ed..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/as_IN.php +++ /dev/null @@ -1,55 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Amitakhya Phukan, Red Hat bug-glibc@gnu.org - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'D-MM-YYYY', - ], - 'months' => ['জানà§à§±à¦¾à§°à§€', 'ফেবà§à§°à§à§±à¦¾à§°à§€', 'মাৰà§à¦š', 'à¦à¦ªà§à§°à¦¿à¦²', 'মে', 'জà§à¦¨', 'জà§à¦²à¦¾à¦‡', 'আগষà§à¦Ÿ', 'ছেপà§à¦¤à§‡à¦®à§à¦¬à§°', 'অকà§à¦Ÿà§‹à¦¬à§°', 'নৱেমà§à¦¬à§°', 'ডিচেমà§à¦¬à§°'], - 'months_short' => ['জানà§', 'ফেবà§à§°à§', 'মাৰà§à¦š', 'à¦à¦ªà§à§°à¦¿à¦²', 'মে', 'জà§à¦¨', 'জà§à¦²à¦¾à¦‡', 'আগ', 'সেপà§à¦Ÿ', 'অকà§à¦Ÿà§‹', 'নভে', 'ডিসে'], - 'weekdays' => ['দেওবাৰ', 'সোমবাৰ', 'মঙà§à¦—লবাৰ', 'বà§à¦§à¦¬à¦¾à§°', 'বৃহষà§à¦ªà¦¤à¦¿à¦¬à¦¾à§°', 'শà§à¦•à§à§°à¦¬à¦¾à§°', 'শনিবাৰ'], - 'weekdays_short' => ['দেও', 'সোম', 'মঙà§à¦—ল', 'বà§à¦§', 'বৃহষà§à¦ªà¦¤à¦¿', 'শà§à¦•à§à§°', 'শনি'], - 'weekdays_min' => ['দেও', 'সোম', 'মঙà§à¦—ল', 'বà§à¦§', 'বৃহষà§à¦ªà¦¤à¦¿', 'শà§à¦•à§à§°', 'শনি'], - 'day_of_first_week_of_year' => 1, - 'meridiem' => ['পূৰà§à¦¬à§à¦¬à¦¾à¦¹à§à¦¨', 'অপৰাহà§à¦¨'], - - 'year' => ':count বছৰ', - 'y' => ':count বছৰ', - 'a_year' => ':count বছৰ', - - 'month' => ':count মাহ', - 'm' => ':count মাহ', - 'a_month' => ':count মাহ', - - 'week' => ':count সপà§à¦¤à¦¾à¦¹', - 'w' => ':count সপà§à¦¤à¦¾à¦¹', - 'a_week' => ':count সপà§à¦¤à¦¾à¦¹', - - 'day' => ':count বাৰ', - 'd' => ':count বাৰ', - 'a_day' => ':count বাৰ', - - 'hour' => ':count ঘণà§à¦Ÿà¦¾', - 'h' => ':count ঘণà§à¦Ÿà¦¾', - 'a_hour' => ':count ঘণà§à¦Ÿà¦¾', - - 'minute' => ':count মিনিট', - 'min' => ':count মিনিট', - 'a_minute' => ':count মিনিট', - - 'second' => ':count দà§à¦¬à¦¿à¦¤à§€à¦¯à¦¼', - 's' => ':count দà§à¦¬à¦¿à¦¤à§€à¦¯à¦¼', - 'a_second' => ':count দà§à¦¬à¦¿à¦¤à§€à¦¯à¦¼', -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/asa.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/asa.php deleted file mode 100644 index 8389757..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/asa.php +++ /dev/null @@ -1,27 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'meridiem' => ['icheheavo', 'ichamthi'], - 'weekdays' => ['Jumapili', 'Jumatatu', 'Jumanne', 'Jumatano', 'Alhamisi', 'Ijumaa', 'Jumamosi'], - 'weekdays_short' => ['Jpi', 'Jtt', 'Jnn', 'Jtn', 'Alh', 'Ijm', 'Jmo'], - 'weekdays_min' => ['Jpi', 'Jtt', 'Jnn', 'Jtn', 'Alh', 'Ijm', 'Jmo'], - 'months' => ['Januari', 'Februari', 'Machi', 'Aprili', 'Mei', 'Juni', 'Julai', 'Agosti', 'Septemba', 'Oktoba', 'Novemba', 'Desemba'], - 'months_short' => ['Jan', 'Feb', 'Mac', 'Apr', 'Mei', 'Jun', 'Jul', 'Ago', 'Sep', 'Okt', 'Nov', 'Dec'], - 'first_day_of_week' => 1, - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD/MM/YYYY', - 'LL' => 'D MMM YYYY', - 'LLL' => 'D MMMM YYYY HH:mm', - 'LLLL' => 'dddd, D MMMM YYYY HH:mm', - ], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ast.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ast.php deleted file mode 100644 index 47640f1..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ast.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return require __DIR__.'/ast_ES.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ast_ES.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ast_ES.php deleted file mode 100644 index dea14fa..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ast_ES.php +++ /dev/null @@ -1,55 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Jordi Mallach jordi@gnu.org - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'DD/MM/YY', - ], - 'months' => ['de xineru', 'de febreru', 'de marzu', 'd’abril', 'de mayu', 'de xunu', 'de xunetu', 'd’agostu', 'de setiembre', 'd’ochobre', 'de payares', 'd’avientu'], - 'months_short' => ['xin', 'feb', 'mar', 'abr', 'may', 'xun', 'xnt', 'ago', 'set', 'och', 'pay', 'avi'], - 'weekdays' => ['domingu', 'llunes', 'martes', 'miércoles', 'xueves', 'vienres', 'sábadu'], - 'weekdays_short' => ['dom', 'llu', 'mar', 'mié', 'xue', 'vie', 'sáb'], - 'weekdays_min' => ['dom', 'llu', 'mar', 'mié', 'xue', 'vie', 'sáb'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 4, - - 'year' => ':count añu', - 'y' => ':count añu', - 'a_year' => ':count añu', - - 'month' => ':count mes', - 'm' => ':count mes', - 'a_month' => ':count mes', - - 'week' => ':count selmana', - 'w' => ':count selmana', - 'a_week' => ':count selmana', - - 'day' => ':count día', - 'd' => ':count día', - 'a_day' => ':count día', - - 'hour' => ':count hora', - 'h' => ':count hora', - 'a_hour' => ':count hora', - - 'minute' => ':count minutu', - 'min' => ':count minutu', - 'a_minute' => ':count minutu', - - 'second' => ':count segundu', - 's' => ':count segundu', - 'a_second' => ':count segundu', -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ayc.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ayc.php deleted file mode 100644 index 6fbef7a..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ayc.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return require __DIR__.'/ayc_PE.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ayc_PE.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ayc_PE.php deleted file mode 100644 index a4eb1fc..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ayc_PE.php +++ /dev/null @@ -1,27 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - runasimipi.org libc-alpha@sourceware.org - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'DD/MM/YY', - ], - 'months' => ['inïru', 'phiwriru', 'marsu', 'awrila', 'mayu', 'junyu', 'julyu', 'awustu', 'sitimri', 'uktuwri', 'nuwimri', 'risimri'], - 'months_short' => ['ini', 'phi', 'mar', 'awr', 'may', 'jun', 'jul', 'awu', 'sit', 'ukt', 'nuw', 'ris'], - 'weekdays' => ['tuminku', 'lunisa', 'martisa', 'mirkulisa', 'juywisa', 'wirnisa', 'sawäru'], - 'weekdays_short' => ['tum', 'lun', 'mar', 'mir', 'juy', 'wir', 'saw'], - 'weekdays_min' => ['tum', 'lun', 'mar', 'mir', 'juy', 'wir', 'saw'], - 'day_of_first_week_of_year' => 1, - 'meridiem' => ['VM', 'NM'], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/az.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/az.php deleted file mode 100644 index 131daac..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/az.php +++ /dev/null @@ -1,125 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/* - * Authors: - * - Josh Soref - * - Kunal Marwaha - * - François B - * - JD Isaacks - * - Orxan - * - Şəhriyar Ä°manov - * - Baran Åžengül - */ -return [ - 'year' => ':count il', - 'a_year' => '{1}bir il|]1,Inf[:count il', - 'y' => ':count il', - 'month' => ':count ay', - 'a_month' => '{1}bir ay|]1,Inf[:count ay', - 'm' => ':count ay', - 'week' => ':count hÉ™ftÉ™', - 'a_week' => '{1}bir hÉ™ftÉ™|]1,Inf[:count hÉ™ftÉ™', - 'w' => ':count h.', - 'day' => ':count gün', - 'a_day' => '{1}bir gün|]1,Inf[:count gün', - 'd' => ':count g.', - 'hour' => ':count saat', - 'a_hour' => '{1}bir saat|]1,Inf[:count saat', - 'h' => ':count saat', - 'minute' => ':count d.', - 'a_minute' => '{1}bir dÉ™qiqÉ™|]1,Inf[:count dÉ™qiqÉ™', - 'min' => ':count dÉ™qiqÉ™', - 'second' => ':count san.', - 'a_second' => '{1}birneçə saniyÉ™|]1,Inf[:count saniyÉ™', - 's' => ':count saniyÉ™', - 'ago' => ':time É™vvÉ™l', - 'from_now' => ':time sonra', - 'after' => ':time sonra', - 'before' => ':time É™vvÉ™l', - 'diff_now' => 'indi', - 'diff_yesterday' => 'dünÉ™n', - 'diff_tomorrow' => 'sabah', - 'diff_before_yesterday' => 'sraÄŸagün', - 'diff_after_tomorrow' => 'birisi gün', - 'period_recurrences' => ':count dÉ™fÉ™dÉ™n bir', - 'period_interval' => 'hÉ™r :interval', - 'period_start_date' => ':date tarixindÉ™n baÅŸlayaraq', - 'period_end_date' => ':date tarixinÉ™dÉ™k', - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD.MM.YYYY', - 'LL' => 'D MMMM YYYY', - 'LLL' => 'D MMMM YYYY HH:mm', - 'LLLL' => 'dddd, D MMMM YYYY HH:mm', - ], - 'calendar' => [ - 'sameDay' => '[bugün saat] LT', - 'nextDay' => '[sabah saat] LT', - 'nextWeek' => '[gÉ™lÉ™n hÉ™ftÉ™] dddd [saat] LT', - 'lastDay' => '[dünÉ™n] LT', - 'lastWeek' => '[keçən hÉ™ftÉ™] dddd [saat] LT', - 'sameElse' => 'L', - ], - 'ordinal' => function ($number) { - if ($number === 0) { // special case for zero - return "$number-ıncı"; - } - - static $suffixes = [ - 1 => '-inci', - 5 => '-inci', - 8 => '-inci', - 70 => '-inci', - 80 => '-inci', - 2 => '-nci', - 7 => '-nci', - 20 => '-nci', - 50 => '-nci', - 3 => '-üncü', - 4 => '-üncü', - 100 => '-üncü', - 6 => '-ncı', - 9 => '-uncu', - 10 => '-uncu', - 30 => '-uncu', - 60 => '-ıncı', - 90 => '-ıncı', - ]; - - $lastDigit = $number % 10; - - return $number.($suffixes[$lastDigit] ?? $suffixes[$number % 100 - $lastDigit] ?? $suffixes[$number >= 100 ? 100 : -1] ?? ''); - }, - 'meridiem' => function ($hour) { - if ($hour < 4) { - return 'gecÉ™'; - } - if ($hour < 12) { - return 'sÉ™hÉ™r'; - } - if ($hour < 17) { - return 'gündüz'; - } - - return 'axÅŸam'; - }, - 'months' => ['yanvar', 'fevral', 'mart', 'aprel', 'may', 'iyun', 'iyul', 'avqust', 'sentyabr', 'oktyabr', 'noyabr', 'dekabr'], - 'months_short' => ['yan', 'fev', 'mar', 'apr', 'may', 'iyn', 'iyl', 'avq', 'sen', 'okt', 'noy', 'dek'], - 'months_standalone' => ['Yanvar', 'Fevral', 'Mart', 'Aprel', 'May', 'Ä°yun', 'Ä°yul', 'Avqust', 'Sentyabr', 'Oktyabr', 'Noyabr', 'Dekabr'], - 'weekdays' => ['bazar', 'bazar ertÉ™si', 'çərÅŸÉ™nbÉ™ axÅŸamı', 'çərÅŸÉ™nbÉ™', 'cümÉ™ axÅŸamı', 'cümÉ™', 'ÅŸÉ™nbÉ™'], - 'weekdays_short' => ['baz', 'bze', 'çax', 'çər', 'cax', 'cüm', 'ÅŸÉ™n'], - 'weekdays_min' => ['bz', 'be', 'ça', 'çə', 'ca', 'cü', 'ÅŸÉ™'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 1, - 'list' => [', ', ' vÉ™ '], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/az_AZ.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/az_AZ.php deleted file mode 100644 index c1dfc56..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/az_AZ.php +++ /dev/null @@ -1,21 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Pablo Saratxaga pablo@mandrakesoft.com - */ -return array_replace_recursive(require __DIR__.'/az.php', [ - 'months_short' => ['Yan', 'Fev', 'Mar', 'Apr', 'May', 'Ä°yn', 'Ä°yl', 'Avq', 'Sen', 'Okt', 'Noy', 'Dek'], - 'weekdays' => ['bazar günü', 'bazar ertÉ™si', 'çərÅŸÉ™nbÉ™ axÅŸamı', 'çərÅŸÉ™nbÉ™', 'cümÉ™ axÅŸamı', 'cümÉ™', 'ÅŸÉ™nbÉ™'], - 'weekdays_short' => ['baz', 'ber', 'çax', 'çər', 'cax', 'cüm', 'ÅŸnb'], - 'weekdays_min' => ['baz', 'ber', 'çax', 'çər', 'cax', 'cüm', 'ÅŸnb'], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/az_Cyrl.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/az_Cyrl.php deleted file mode 100644 index d697918..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/az_Cyrl.php +++ /dev/null @@ -1,19 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/az.php', [ - 'weekdays' => ['базар', 'базар ертәÑи', 'чәршәнбә ахшамы', 'чәршәнбә', 'ҹүмә ахшамы', 'ҹүмә', 'шәнбә'], - 'weekdays_short' => ['Б.', 'Б.Е.', 'Ч.Ð.', 'Ч.', 'Ò¸.Ð.', 'Ò¸.', 'Ш.'], - 'weekdays_min' => ['Б.', 'Б.Е.', 'Ч.Ð.', 'Ч.', 'Ò¸.Ð.', 'Ò¸.', 'Ш.'], - 'months' => ['јанвар', 'феврал', 'март', 'апрел', 'май', 'ијун', 'ијул', 'авгуÑÑ‚', 'Ñентјабр', 'октјабр', 'нојабр', 'декабр'], - 'months_short' => ['јан', 'фев', 'мар', 'апр', 'май', 'ијн', 'ијл', 'авг', 'Ñен', 'окт', 'ној', 'дек'], - 'months_standalone' => ['Јанвар', 'Феврал', 'Март', 'Ðпрел', 'Май', 'Ијун', 'Ијул', 'ÐвгуÑÑ‚', 'Сентјабр', 'Октјабр', 'Ðојабр', 'Декабр'], - 'meridiem' => ['а', 'п'], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/az_IR.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/az_IR.php deleted file mode 100644 index 7fec895..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/az_IR.php +++ /dev/null @@ -1,27 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Mousa Moradi mousamk@gmail.com - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'OY/OM/OD', - ], - 'months' => ['ژانویه', 'Ùوریه', 'مارس', 'آوریل', 'مئی', 'ژوئن', 'جولای', 'آقۇست', 'سپتامبر', 'اوْکتوْبر', 'نوْوامبر', 'دسامبر'], - 'months_short' => ['ژانویه', 'Ùوریه', 'مارس', 'آوریل', 'مئی', 'ژوئن', 'جولای', 'آقۇست', 'سپتامبر', 'اوْکتوْبر', 'نوْوامبر', 'دسامبر'], - 'weekdays' => ['یکشنبه', 'دوشنبه', 'سه‌شنبه', 'چارشنبه', 'جۆمعه آخشامی', 'جۆمعه', 'شنبه'], - 'weekdays_short' => ['یکشنبه', 'دوشنبه', 'سه‌شنبه', 'چارشنبه', 'جۆمعه آخشامی', 'جۆمعه', 'شنبه'], - 'weekdays_min' => ['یکشنبه', 'دوشنبه', 'سه‌شنبه', 'چارشنبه', 'جۆمعه آخشامی', 'جۆمعه', 'شنبه'], - 'first_day_of_week' => 6, - 'alt_numbers' => ['Û°Û°', 'Û°Û±', 'Û°Û²', 'Û°Û³', 'Û°Û´', 'Û°Ûµ', 'Û°Û¶', 'Û°Û·', 'Û°Û¸', 'Û°Û¹', 'Û±Û°', 'Û±Û±', 'Û±Û²', 'Û±Û³', 'Û±Û´', 'Û±Ûµ', 'Û±Û¶', 'Û±Û·', 'Û±Û¸', 'Û±Û¹', 'Û²Û°', 'Û²Û±', 'Û²Û²', 'Û²Û³', 'Û²Û´', 'Û²Ûµ', 'Û²Û¶', 'Û²Û·', 'Û²Û¸', 'Û²Û¹', 'Û³Û°', 'Û³Û±', 'Û³Û²', 'Û³Û³', 'Û³Û´', 'Û³Ûµ', 'Û³Û¶', 'Û³Û·', 'Û³Û¸', 'Û³Û¹', 'Û´Û°', 'Û´Û±', 'Û´Û²', 'Û´Û³', 'Û´Û´', 'Û´Ûµ', 'Û´Û¶', 'Û´Û·', 'Û´Û¸', 'Û´Û¹', 'ÛµÛ°', 'ÛµÛ±', 'ÛµÛ²', 'ÛµÛ³', 'ÛµÛ´', 'ÛµÛµ', 'ÛµÛ¶', 'ÛµÛ·', 'ÛµÛ¸', 'ÛµÛ¹', 'Û¶Û°', 'Û¶Û±', 'Û¶Û²', 'Û¶Û³', 'Û¶Û´', 'Û¶Ûµ', 'Û¶Û¶', 'Û¶Û·', 'Û¶Û¸', 'Û¶Û¹', 'Û·Û°', 'Û·Û±', 'Û·Û²', 'Û·Û³', 'Û·Û´', 'Û·Ûµ', 'Û·Û¶', 'Û·Û·', 'Û·Û¸', 'Û·Û¹', 'Û¸Û°', 'Û¸Û±', 'Û¸Û²', 'Û¸Û³', 'Û¸Û´', 'Û¸Ûµ', 'Û¸Û¶', 'Û¸Û·', 'Û¸Û¸', 'Û¸Û¹', 'Û¹Û°', 'Û¹Û±', 'Û¹Û²', 'Û¹Û³', 'Û¹Û´', 'Û¹Ûµ', 'Û¹Û¶', 'Û¹Û·', 'Û¹Û¸', 'Û¹Û¹'], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/az_Latn.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/az_Latn.php deleted file mode 100644 index 8346a5d..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/az_Latn.php +++ /dev/null @@ -1,28 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/az.php', [ - 'meridiem' => ['a', 'p'], - 'weekdays' => ['bazar', 'bazar ertÉ™si', 'çərÅŸÉ™nbÉ™ axÅŸamı', 'çərÅŸÉ™nbÉ™', 'cümÉ™ axÅŸamı', 'cümÉ™', 'ÅŸÉ™nbÉ™'], - 'weekdays_short' => ['B.', 'B.E.', 'Ç.A.', 'Ç.', 'C.A.', 'C.', 'Åž.'], - 'weekdays_min' => ['B.', 'B.E.', 'Ç.A.', 'Ç.', 'C.A.', 'C.', 'Åž.'], - 'months' => ['yanvar', 'fevral', 'mart', 'aprel', 'may', 'iyun', 'iyul', 'avqust', 'sentyabr', 'oktyabr', 'noyabr', 'dekabr'], - 'months_short' => ['yan', 'fev', 'mar', 'apr', 'may', 'iyn', 'iyl', 'avq', 'sen', 'okt', 'noy', 'dek'], - 'months_standalone' => ['Yanvar', 'Fevral', 'Mart', 'Aprel', 'May', 'Ä°yun', 'Ä°yul', 'Avqust', 'Sentyabr', 'Oktyabr', 'Noyabr', 'Dekabr'], - 'first_day_of_week' => 1, - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD.MM.YYYY', - 'LL' => 'D MMM YYYY', - 'LLL' => 'D MMMM YYYY HH:mm', - 'LLLL' => 'D MMMM YYYY, dddd HH:mm', - ], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/bas.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/bas.php deleted file mode 100644 index 1b342bb..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/bas.php +++ /dev/null @@ -1,31 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'meridiem' => ['I bikɛ̂glà', 'I É“ugajÉ”p'], - 'weekdays' => ['Å‹gwà nɔ̂y', 'Å‹gwà njaÅ‹gumba', 'Å‹gwà ûm', 'Å‹gwà Å‹gê', 'Å‹gwà mbÉ”k', 'Å‹gwà kɔɔ', 'Å‹gwà jôn'], - 'weekdays_short' => ['nÉ”y', 'nja', 'uum', 'Å‹ge', 'mbÉ”', 'kɔɔ', 'jon'], - 'weekdays_min' => ['nÉ”y', 'nja', 'uum', 'Å‹ge', 'mbÉ”', 'kɔɔ', 'jon'], - 'months' => ['KÉ”ndɔŋ', 'Màcɛ̂l', 'Màtùmb', 'Màtop', 'MÌ€puyÉ›', 'Hìlòndɛ̀', 'Njèbà', 'HìkaÅ‹', 'Dìpɔ̀s', 'Bìòôm', 'MàyÉ›sèp', 'Lìbuy li Å„yèe'], - 'months_short' => ['kÉ”n', 'mac', 'mat', 'mto', 'mpu', 'hil', 'nje', 'hik', 'dip', 'bio', 'may', 'liÉ“'], - 'first_day_of_week' => 1, - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'D/M/YYYY', - 'LL' => 'D MMM, YYYY', - 'LLL' => 'D MMMM YYYY HH:mm', - 'LLLL' => 'dddd D MMMM YYYY HH:mm', - ], - - 'second' => ':count móndî', // less reliable - 's' => ':count móndî', // less reliable - 'a_second' => ':count móndî', // less reliable -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/be.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/be.php deleted file mode 100644 index 0eec852..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/be.php +++ /dev/null @@ -1,160 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -// @codeCoverageIgnoreStart -if (class_exists('Symfony\\Component\\Translation\\PluralizationRules')) { - \Symfony\Component\Translation\PluralizationRules::set(function ($number) { - return ((1 == $number % 10) && (11 != $number % 100)) ? 0 : ((($number % 10 >= 2) && ($number % 10 <= 4) && (($number % 100 < 10) || ($number % 100 >= 20))) ? 1 : 2); - }, 'be'); -} -// @codeCoverageIgnoreEnd - -/* - * Authors: - * - Josh Soref - * - SobakaSlava - * - François B - * - Serhan Apaydın - * - JD Isaacks - * - AbadonnaAbbys - */ -return [ - 'year' => ':count год|:count гады|:count гадоў', - 'a_year' => '{1}год|:count год|:count гады|:count гадоў', - 'y' => ':count год|:count гады|:count гадоў', - 'month' => ':count меÑÑц|:count меÑÑцы|:count меÑÑцаў', - 'a_month' => '{1}меÑÑц|:count меÑÑц|:count меÑÑцы|:count меÑÑцаў', - 'm' => ':count меÑÑц|:count меÑÑцы|:count меÑÑцаў', - 'week' => ':count тыдзень|:count тыдні|:count тыднÑÑž', - 'a_week' => '{1}тыдзень|:count тыдзень|:count тыдні|:count тыднÑÑž', - 'w' => ':count тыдзень|:count тыдні|:count тыднÑÑž', - 'day' => ':count дзень|:count ні|:count дзён', - 'a_day' => '{1}дзень|:count дзень|:count ні|:count дзён', - 'd' => ':count дзень|:count ні|:count дзён', - 'hour' => ':count гадзіну|:count гадзіны|:count гадзін', - 'a_hour' => '{1}гадзіна|:count гадзіна|:count гадзіны|:count гадзін', - 'h' => ':count гадзіна|:count гадзіны|:count гадзін', - 'minute' => ':count хвіліна|:count хвіліны|:count хвілін', - 'a_minute' => '{1}хвіліна|:count хвіліна|:count хвіліны|:count хвілін', - 'min' => ':count хвіліна|:count хвіліны|:count хвілін', - 'second' => ':count Ñекунда|:count Ñекунды|:count Ñекунд', - 'a_second' => '{1}некалькі Ñекунд|:count Ñекунда|:count Ñекунды|:count Ñекунд', - 's' => ':count Ñекунда|:count Ñекунды|:count Ñекунд', - - 'hour_ago' => ':count гадзіну|:count гадзіны|:count гадзін', - 'a_hour_ago' => '{1}гадзіну|:count гадзіну|:count гадзіны|:count гадзін', - 'h_ago' => ':count гадзіну|:count гадзіны|:count гадзін', - 'minute_ago' => ':count хвіліну|:count хвіліны|:count хвілін', - 'a_minute_ago' => '{1}хвіліну|:count хвіліну|:count хвіліны|:count хвілін', - 'min_ago' => ':count хвіліну|:count хвіліны|:count хвілін', - 'second_ago' => ':count Ñекунду|:count Ñекунды|:count Ñекунд', - 'a_second_ago' => '{1}некалькі Ñекунд|:count Ñекунду|:count Ñекунды|:count Ñекунд', - 's_ago' => ':count Ñекунду|:count Ñекунды|:count Ñекунд', - - 'hour_from_now' => ':count гадзіну|:count гадзіны|:count гадзін', - 'a_hour_from_now' => '{1}гадзіну|:count гадзіну|:count гадзіны|:count гадзін', - 'h_from_now' => ':count гадзіну|:count гадзіны|:count гадзін', - 'minute_from_now' => ':count хвіліну|:count хвіліны|:count хвілін', - 'a_minute_from_now' => '{1}хвіліну|:count хвіліну|:count хвіліны|:count хвілін', - 'min_from_now' => ':count хвіліну|:count хвіліны|:count хвілін', - 'second_from_now' => ':count Ñекунду|:count Ñекунды|:count Ñекунд', - 'a_second_from_now' => '{1}некалькі Ñекунд|:count Ñекунду|:count Ñекунды|:count Ñекунд', - 's_from_now' => ':count Ñекунду|:count Ñекунды|:count Ñекунд', - - 'hour_after' => ':count гадзіну|:count гадзіны|:count гадзін', - 'a_hour_after' => '{1}гадзіну|:count гадзіну|:count гадзіны|:count гадзін', - 'h_after' => ':count гадзіну|:count гадзіны|:count гадзін', - 'minute_after' => ':count хвіліну|:count хвіліны|:count хвілін', - 'a_minute_after' => '{1}хвіліну|:count хвіліну|:count хвіліны|:count хвілін', - 'min_after' => ':count хвіліну|:count хвіліны|:count хвілін', - 'second_after' => ':count Ñекунду|:count Ñекунды|:count Ñекунд', - 'a_second_after' => '{1}некалькі Ñекунд|:count Ñекунду|:count Ñекунды|:count Ñекунд', - 's_after' => ':count Ñекунду|:count Ñекунды|:count Ñекунд', - - 'hour_before' => ':count гадзіну|:count гадзіны|:count гадзін', - 'a_hour_before' => '{1}гадзіну|:count гадзіну|:count гадзіны|:count гадзін', - 'h_before' => ':count гадзіну|:count гадзіны|:count гадзін', - 'minute_before' => ':count хвіліну|:count хвіліны|:count хвілін', - 'a_minute_before' => '{1}хвіліну|:count хвіліну|:count хвіліны|:count хвілін', - 'min_before' => ':count хвіліну|:count хвіліны|:count хвілін', - 'second_before' => ':count Ñекунду|:count Ñекунды|:count Ñекунд', - 'a_second_before' => '{1}некалькі Ñекунд|:count Ñекунду|:count Ñекунды|:count Ñекунд', - 's_before' => ':count Ñекунду|:count Ñекунды|:count Ñекунд', - - 'ago' => ':time таму', - 'from_now' => 'праз :time', - 'after' => ':time паÑлÑ', - 'before' => ':time да', - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD.MM.YYYY', - 'LL' => 'D MMMM YYYY г.', - 'LLL' => 'D MMMM YYYY г., HH:mm', - 'LLLL' => 'dddd, D MMMM YYYY г., HH:mm', - ], - 'calendar' => [ - 'sameDay' => '[Ð¡Ñ‘Ð½Ð½Ñ Ñž] LT', - 'nextDay' => '[Заўтра Ñž] LT', - 'nextWeek' => '[У] dddd [Ñž] LT', - 'lastDay' => '[Учора Ñž] LT', - 'lastWeek' => function (\Carbon\CarbonInterface $current) { - switch ($current->dayOfWeek) { - case 1: - case 2: - case 4: - return '[У мінулы] dddd [Ñž] LT'; - default: - return '[У мінулую] dddd [Ñž] LT'; - } - }, - 'sameElse' => 'L', - ], - 'ordinal' => function ($number, $period) { - switch ($period) { - case 'M': - case 'd': - case 'DDD': - case 'w': - case 'W': - return ($number % 10 === 2 || $number % 10 === 3) && ($number % 100 !== 12 && $number % 100 !== 13) ? $number.'-Ñ–' : $number.'-Ñ‹'; - case 'D': - return $number.'-га'; - default: - return $number; - } - }, - 'meridiem' => function ($hour) { - if ($hour < 4) { - return 'ночы'; - } - if ($hour < 12) { - return 'раніцы'; - } - if ($hour < 17) { - return 'днÑ'; - } - - return 'вечара'; - }, - 'months' => ['ÑтудзенÑ', 'лютага', 'Ñакавіка', 'краÑавіка', 'траўнÑ', 'чÑрвенÑ', 'ліпенÑ', 'жніўнÑ', 'вераÑнÑ', 'каÑтрычніка', 'ліÑтапада', 'ÑнежнÑ'], - 'months_standalone' => ['Ñтудзень', 'люты', 'Ñакавік', 'краÑавік', 'травень', 'чÑрвень', 'ліпень', 'жнівень', 'вераÑень', 'каÑтрычнік', 'ліÑтапад', 'Ñнежань'], - 'months_short' => ['Ñтуд', 'лют', 'Ñак', 'краÑ', 'трав', 'чÑрв', 'ліп', 'жнів', 'вер', 'каÑÑ‚', 'ліÑÑ‚', 'Ñнеж'], - 'months_regexp' => '/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/', - 'weekdays' => ['нÑдзелю', 'панÑдзелак', 'аўторак', 'Ñераду', 'чацвер', 'пÑтніцу', 'Ñуботу'], - 'weekdays_standalone' => ['нÑдзелÑ', 'панÑдзелак', 'аўторак', 'Ñерада', 'чацвер', 'пÑтніца', 'Ñубота'], - 'weekdays_short' => ['нд', 'пн', 'ат', 'ÑÑ€', 'чц', 'пт', 'Ñб'], - 'weekdays_min' => ['нд', 'пн', 'ат', 'ÑÑ€', 'чц', 'пт', 'Ñб'], - 'weekdays_regexp' => '/\[ ?[Ууў] ?(?:мінулую|наÑтупную)? ?\] ?dddd/', - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 1, - 'list' => [', ', ' Ñ– '], - 'months_short_standalone' => ['Ñту', 'лют', 'Ñак', 'кра', 'май', 'чÑÑ€', 'ліп', 'жні', 'вер', 'каÑ', 'ліÑ', 'Ñне'], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/be_BY.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/be_BY.php deleted file mode 100644 index dd62a75..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/be_BY.php +++ /dev/null @@ -1,22 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - bug-glibc-locales@gnu.org - */ -return array_replace_recursive(require __DIR__.'/be.php', [ - 'months' => ['ÑтудзенÑ', 'лютага', 'Ñакавіка', 'краÑавіка', 'маÑ', 'чÑрвенÑ', 'ліпенÑ', 'жніўнÑ', 'вераÑнÑ', 'каÑтрычніка', 'ліÑтапада', 'ÑнежнÑ'], - 'months_short' => ['Ñту', 'лют', 'Ñак', 'кра', 'маÑ', 'чÑÑ€', 'ліп', 'жні', 'вер', 'каÑ', 'ліÑ', 'Ñне'], - 'weekdays' => ['ÐÑдзелÑ', 'ПанÑдзелак', 'Ðўторак', 'Серада', 'Чацвер', 'ПÑтніца', 'Субота'], - 'weekdays_short' => ['ÐÑд', 'Пан', 'Ðўт', 'Срд', 'Чцв', 'ПÑÑ‚', 'Суб'], - 'weekdays_min' => ['ÐÑд', 'Пан', 'Ðўт', 'Срд', 'Чцв', 'ПÑÑ‚', 'Суб'], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/be_BY@latin.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/be_BY@latin.php deleted file mode 100644 index ecc1cd8..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/be_BY@latin.php +++ /dev/null @@ -1,27 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - bug-glibc-locales@gnu.org - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'DD.MM.YYYY', - ], - 'months' => ['studzienia', 'lutaha', 'sakavika', 'krasavika', 'maja', 'Äervienia', 'lipienia', 'žniÅ­nia', 'vieraÅ›nia', 'kastryÄnika', 'listapada', 'Å›niežnia'], - 'months_short' => ['Stu', 'Lut', 'Sak', 'Kra', 'Maj', 'ÄŒer', 'Lip', 'Žni', 'Vie', 'Kas', 'Lis', 'Åšni'], - 'weekdays' => ['Niadziela', 'PaniadzieÅ‚ak', 'AÅ­torak', 'Sierada', 'ÄŒaćvier', 'Piatnica', 'Subota'], - 'weekdays_short' => ['Nia', 'Pan', 'AÅ­t', 'Sie', 'ÄŒać', 'Pia', 'Sub'], - 'weekdays_min' => ['Nia', 'Pan', 'AÅ­t', 'Sie', 'ÄŒać', 'Pia', 'Sub'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/bem.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/bem.php deleted file mode 100644 index 51c91f1..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/bem.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return require __DIR__.'/bem_ZM.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/bem_ZM.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/bem_ZM.php deleted file mode 100644 index 1975648..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/bem_ZM.php +++ /dev/null @@ -1,56 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - ANLoc Martin Benjamin locales@africanlocalization.net - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'MM/DD/YYYY', - ], - 'months' => ['Januari', 'Februari', 'Machi', 'Epreo', 'Mei', 'Juni', 'Julai', 'Ogasti', 'Septemba', 'Oktoba', 'Novemba', 'Disemba'], - 'months_short' => ['Jan', 'Feb', 'Mac', 'Epr', 'Mei', 'Jun', 'Jul', 'Oga', 'Sep', 'Okt', 'Nov', 'Dis'], - 'weekdays' => ['Pa Mulungu', 'Palichimo', 'Palichibuli', 'Palichitatu', 'Palichine', 'Palichisano', 'Pachibelushi'], - 'weekdays_short' => ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], - 'weekdays_min' => ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 1, - 'meridiem' => ['uluchelo', 'akasuba'], - - 'year' => 'myaka :count', - 'y' => 'myaka :count', - 'a_year' => 'myaka :count', - - 'month' => 'myeshi :count', - 'm' => 'myeshi :count', - 'a_month' => 'myeshi :count', - - 'week' => 'umulungu :count', - 'w' => 'umulungu :count', - 'a_week' => 'umulungu :count', - - 'day' => 'inshiku :count', - 'd' => 'inshiku :count', - 'a_day' => 'inshiku :count', - - 'hour' => 'awala :count', - 'h' => 'awala :count', - 'a_hour' => 'awala :count', - - 'minute' => 'miniti :count', - 'min' => 'miniti :count', - 'a_minute' => 'miniti :count', - - 'second' => 'sekondi :count', - 's' => 'sekondi :count', - 'a_second' => 'sekondi :count', -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ber.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ber.php deleted file mode 100644 index 70d004c..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ber.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return require __DIR__.'/ber_DZ.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ber_DZ.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ber_DZ.php deleted file mode 100644 index 15dc116..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ber_DZ.php +++ /dev/null @@ -1,27 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Pablo Saratxaga pablo@mandrakesoft.com - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'DD.MM.YYYY', - ], - 'months' => ['yanvar', 'fevral', 'mart', 'aprel', 'may', 'iyun', 'iyul', 'avqust', 'sentyabr', 'oktyabr', 'noyabr', 'dekabr'], - 'months_short' => ['Yan', 'Fev', 'Mar', 'Apr', 'May', 'Ä°yn', 'Ä°yl', 'Avq', 'Sen', 'Okt', 'Noy', 'Dek'], - 'weekdays' => ['bazar günü', 'birinci gün', 'ikinci gün', 'üçüncü gün', 'dördüncü gün', 'beÅŸinci gün', 'altıncı gün'], - 'weekdays_short' => ['baz', 'bir', 'iki', 'üçü', 'dör', 'beÅŸ', 'alt'], - 'weekdays_min' => ['baz', 'bir', 'iki', 'üçü', 'dör', 'beÅŸ', 'alt'], - 'first_day_of_week' => 6, - 'day_of_first_week_of_year' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ber_MA.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ber_MA.php deleted file mode 100644 index 15dc116..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ber_MA.php +++ /dev/null @@ -1,27 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Pablo Saratxaga pablo@mandrakesoft.com - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'DD.MM.YYYY', - ], - 'months' => ['yanvar', 'fevral', 'mart', 'aprel', 'may', 'iyun', 'iyul', 'avqust', 'sentyabr', 'oktyabr', 'noyabr', 'dekabr'], - 'months_short' => ['Yan', 'Fev', 'Mar', 'Apr', 'May', 'Ä°yn', 'Ä°yl', 'Avq', 'Sen', 'Okt', 'Noy', 'Dek'], - 'weekdays' => ['bazar günü', 'birinci gün', 'ikinci gün', 'üçüncü gün', 'dördüncü gün', 'beÅŸinci gün', 'altıncı gün'], - 'weekdays_short' => ['baz', 'bir', 'iki', 'üçü', 'dör', 'beÅŸ', 'alt'], - 'weekdays_min' => ['baz', 'bir', 'iki', 'üçü', 'dör', 'beÅŸ', 'alt'], - 'first_day_of_week' => 6, - 'day_of_first_week_of_year' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/bez.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/bez.php deleted file mode 100644 index 1facc9d..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/bez.php +++ /dev/null @@ -1,27 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'meridiem' => ['pamilau', 'pamunyi'], - 'weekdays' => ['pa mulungu', 'pa shahuviluha', 'pa hivili', 'pa hidatu', 'pa hitayi', 'pa hihanu', 'pa shahulembela'], - 'weekdays_short' => ['Mul', 'Vil', 'Hiv', 'Hid', 'Hit', 'Hih', 'Lem'], - 'weekdays_min' => ['Mul', 'Vil', 'Hiv', 'Hid', 'Hit', 'Hih', 'Lem'], - 'months' => ['pa mwedzi gwa hutala', 'pa mwedzi gwa wuvili', 'pa mwedzi gwa wudatu', 'pa mwedzi gwa wutai', 'pa mwedzi gwa wuhanu', 'pa mwedzi gwa sita', 'pa mwedzi gwa saba', 'pa mwedzi gwa nane', 'pa mwedzi gwa tisa', 'pa mwedzi gwa kumi', 'pa mwedzi gwa kumi na moja', 'pa mwedzi gwa kumi na mbili'], - 'months_short' => ['Hut', 'Vil', 'Dat', 'Tai', 'Han', 'Sit', 'Sab', 'Nan', 'Tis', 'Kum', 'Kmj', 'Kmb'], - 'first_day_of_week' => 1, - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD/MM/YYYY', - 'LL' => 'D MMM YYYY', - 'LLL' => 'D MMMM YYYY HH:mm', - 'LLLL' => 'dddd, D MMMM YYYY HH:mm', - ], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/bg.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/bg.php deleted file mode 100644 index db22297..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/bg.php +++ /dev/null @@ -1,104 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Josh Soref - * - François B - * - Serhan Apaydın - * - JD Isaacks - * - Glavić - */ -return [ - 'year' => ':count година|:count години', - 'a_year' => 'година|:count години', - 'y' => ':count година|:count години', - 'month' => ':count меÑец|:count меÑеца', - 'a_month' => 'меÑец|:count меÑеца', - 'm' => ':count меÑец|:count меÑеца', - 'week' => ':count Ñедмица|:count Ñедмици', - 'a_week' => 'Ñедмица|:count Ñедмици', - 'w' => ':count Ñедмица|:count Ñедмици', - 'day' => ':count ден|:count дни', - 'a_day' => 'ден|:count дни', - 'd' => ':count ден|:count дни', - 'hour' => ':count чаÑ|:count чаÑа', - 'a_hour' => 'чаÑ|:count чаÑа', - 'h' => ':count чаÑ|:count чаÑа', - 'minute' => ':count минута|:count минути', - 'a_minute' => 'минута|:count минути', - 'min' => ':count минута|:count минути', - 'second' => ':count Ñекунда|:count Ñекунди', - 'a_second' => 'нÑколко Ñекунди|:count Ñекунди', - 's' => ':count Ñекунда|:count Ñекунди', - 'ago' => 'преди :time', - 'from_now' => 'Ñлед :time', - 'after' => 'Ñлед :time', - 'before' => 'преди :time', - 'formats' => [ - 'LT' => 'H:mm', - 'LTS' => 'H:mm:ss', - 'L' => 'D.MM.YYYY', - 'LL' => 'D MMMM YYYY', - 'LLL' => 'D MMMM YYYY H:mm', - 'LLLL' => 'dddd, D MMMM YYYY H:mm', - ], - 'calendar' => [ - 'sameDay' => '[Ð”Ð½ÐµÑ Ð²] LT', - 'nextDay' => '[Утре в] LT', - 'nextWeek' => 'dddd [в] LT', - 'lastDay' => '[Вчера в] LT', - 'lastWeek' => function (\Carbon\CarbonInterface $current) { - switch ($current->dayOfWeek) { - case 0: - case 3: - case 6: - return '[Ð’ изминалата] dddd [в] LT'; - default: - return '[Ð’ изминалиÑ] dddd [в] LT'; - } - }, - 'sameElse' => 'L', - ], - 'ordinal' => function ($number) { - $lastDigit = $number % 10; - $last2Digits = $number % 100; - if ($number === 0) { - return "$number-ев"; - } - if ($last2Digits === 0) { - return "$number-ен"; - } - if ($last2Digits > 10 && $last2Digits < 20) { - return "$number-ти"; - } - if ($lastDigit === 1) { - return "$number-ви"; - } - if ($lastDigit === 2) { - return "$number-ри"; - } - if ($lastDigit === 7 || $lastDigit === 8) { - return "$number-ми"; - } - - return "$number-ти"; - }, - 'months' => ['Ñнуари', 'февруари', 'март', 'април', 'май', 'юни', 'юли', 'авгуÑÑ‚', 'Ñептември', 'октомври', 'ноември', 'декември'], - 'months_short' => ['Ñну', 'фев', 'мар', 'апр', 'май', 'юни', 'юли', 'авг', 'Ñеп', 'окт', 'ное', 'дек'], - 'weekdays' => ['неделÑ', 'понеделник', 'вторник', 'ÑÑ€Ñда', 'четвъртък', 'петък', 'Ñъбота'], - 'weekdays_short' => ['нед', 'пон', 'вто', 'ÑÑ€Ñ', 'чет', 'пет', 'Ñъб'], - 'weekdays_min' => ['нд', 'пн', 'вт', 'ÑÑ€', 'чт', 'пт', 'Ñб'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 1, - 'list' => [', ', ' и '], - 'meridiem' => ['преди обÑд', 'Ñледобед'], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/bg_BG.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/bg_BG.php deleted file mode 100644 index 85c0783..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/bg_BG.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/bg.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/bhb.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/bhb.php deleted file mode 100644 index 45db41a..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/bhb.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return require __DIR__.'/bhb_IN.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/bhb_IN.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/bhb_IN.php deleted file mode 100644 index 3e9a182..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/bhb_IN.php +++ /dev/null @@ -1,26 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Samsung Electronics Co., Ltd. alexey.merzlyakov@samsung.com - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'D/M/YY', - ], - 'months' => ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], - 'months_short' => ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], - 'weekdays' => ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], - 'weekdays_short' => ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], - 'weekdays_min' => ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], - 'day_of_first_week_of_year' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/bho.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/bho.php deleted file mode 100644 index 93c3900..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/bho.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return require __DIR__.'/bho_IN.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/bho_IN.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/bho_IN.php deleted file mode 100644 index 12c4706..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/bho_IN.php +++ /dev/null @@ -1,55 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - bhashaghar@googlegroups.com - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'D/M/YY', - ], - 'months' => ['जनवरी', 'फरवरी', 'मारà¥à¤š', 'अपà¥à¤°à¥ˆà¤²', 'मई', 'जून', 'जà¥à¤²à¤¾à¤ˆ', 'अगसà¥à¤¤', 'सितमà¥à¤¬à¤°', 'अकà¥à¤Ÿà¥‚बर', 'नवमà¥à¤¬à¤°', 'दिसमà¥à¤¬à¤°"'], - 'months_short' => ['जनवरी', 'फरवरी', 'मारà¥à¤š', 'अपà¥à¤°à¥ˆà¤²', 'मई', 'जून', 'जà¥à¤²à¤¾à¤ˆ', 'अगसà¥à¤¤', 'सितमà¥à¤¬à¤°', 'अकà¥à¤Ÿà¥‚बर', 'नवमà¥à¤¬à¤°', 'दिसमà¥à¤¬à¤°"'], - 'weekdays' => ['रविवार', 'सोमवार', 'मंगलवार', 'बà¥à¤§à¤µà¤¾à¤°', 'गà¥à¤°à¥à¤µà¤¾à¤°', 'शà¥à¤•à¥à¤°à¤µà¤¾à¤°', 'शनिवार'], - 'weekdays_short' => ['रवि', 'सोम', 'मंगल', 'बà¥à¤§', 'गà¥à¤°à¥', 'शà¥à¤•à¥à¤°', 'शनि'], - 'weekdays_min' => ['रवि', 'सोम', 'मंगल', 'बà¥à¤§', 'गà¥à¤°à¥', 'शà¥à¤•à¥à¤°', 'शनि'], - 'day_of_first_week_of_year' => 1, - 'meridiem' => ['पूरà¥à¤µà¤¾à¤¹à¥à¤¨', 'अपराहà¥à¤¨'], - - 'hour' => ':count मौसम', - 'h' => ':count मौसम', - 'a_hour' => ':count मौसम', - - 'minute' => ':count कला', - 'min' => ':count कला', - 'a_minute' => ':count कला', - - 'second' => ':count सोमार', - 's' => ':count सोमार', - 'a_second' => ':count सोमार', - - 'year' => ':count साल', - 'y' => ':count साल', - 'a_year' => ':count साल', - - 'month' => ':count महिना', - 'm' => ':count महिना', - 'a_month' => ':count महिना', - - 'week' => ':count सपà¥à¤¤à¤¾à¤¹', - 'w' => ':count सपà¥à¤¤à¤¾à¤¹', - 'a_week' => ':count सपà¥à¤¤à¤¾à¤¹', - - 'day' => ':count दिन', - 'd' => ':count दिन', - 'a_day' => ':count दिन', -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/bi.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/bi.php deleted file mode 100644 index 17185ba..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/bi.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return require __DIR__.'/bi_VU.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/bi_VU.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/bi_VU.php deleted file mode 100644 index 78063c3..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/bi_VU.php +++ /dev/null @@ -1,53 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Samsung Electronics Co., Ltd. akhilesh.k@samsung.com & maninder1.s@samsung.com - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'dddd DD MMM YYYY', - ], - 'months' => ['jenuware', 'febwari', 'maj', 'epril', 'mei', 'jun', 'julae', 'ogis', 'septemba', 'oktoba', 'novemba', 'disemba'], - 'months_short' => ['jen', 'feb', 'maj', 'epr', 'mei', 'jun', 'jul', 'ogi', 'sep', 'okt', 'nov', 'dis'], - 'weekdays' => ['sande', 'mande', 'maj', 'wota', 'fraede', 'sarede'], - 'weekdays_short' => ['san', 'man', 'maj', 'wot', 'fra', 'sar'], - 'weekdays_min' => ['san', 'man', 'maj', 'wot', 'fra', 'sar'], - - 'year' => ':count seven', // less reliable - 'y' => ':count seven', // less reliable - 'a_year' => ':count seven', // less reliable - - 'month' => ':count mi', // less reliable - 'm' => ':count mi', // less reliable - 'a_month' => ':count mi', // less reliable - - 'week' => ':count sarede', // less reliable - 'w' => ':count sarede', // less reliable - 'a_week' => ':count sarede', // less reliable - - 'day' => ':count betde', // less reliable - 'd' => ':count betde', // less reliable - 'a_day' => ':count betde', // less reliable - - 'hour' => ':count klok', // less reliable - 'h' => ':count klok', // less reliable - 'a_hour' => ':count klok', // less reliable - - 'minute' => ':count smol', // less reliable - 'min' => ':count smol', // less reliable - 'a_minute' => ':count smol', // less reliable - - 'second' => ':count tu', // less reliable - 's' => ':count tu', // less reliable - 'a_second' => ':count tu', // less reliable -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/bm.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/bm.php deleted file mode 100644 index 86b4866..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/bm.php +++ /dev/null @@ -1,64 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/* - * Authors: - * - Estelle Comment - */ -return [ - 'year' => 'san :count', - 'a_year' => '{1}san kelen|san :count', - 'y' => 'san :count', - 'month' => 'kalo :count', - 'a_month' => '{1}kalo kelen|kalo :count', - 'm' => 'k. :count', - 'week' => 'dÉ”gÉ”kun :count', - 'a_week' => 'dÉ”gÉ”kun kelen', - 'w' => 'd. :count', - 'day' => 'tile :count', - 'd' => 't. :count', - 'a_day' => '{1}tile kelen|tile :count', - 'hour' => 'lÉ›rÉ› :count', - 'a_hour' => '{1}lÉ›rÉ› kelen|lÉ›rÉ› :count', - 'h' => 'l. :count', - 'minute' => 'miniti :count', - 'a_minute' => '{1}miniti kelen|miniti :count', - 'min' => 'm. :count', - 'second' => 'sekondi :count', - 'a_second' => '{1}sanga dama dama|sekondi :count', - 's' => 'sek. :count', - 'ago' => 'a bÉ› :time bÉ”', - 'from_now' => ':time kÉ”nÉ”', - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD/MM/YYYY', - 'LL' => 'MMMM [tile] D [san] YYYY', - 'LLL' => 'MMMM [tile] D [san] YYYY [lÉ›rÉ›] HH:mm', - 'LLLL' => 'dddd MMMM [tile] D [san] YYYY [lÉ›rÉ›] HH:mm', - ], - 'calendar' => [ - 'sameDay' => '[Bi lÉ›rÉ›] LT', - 'nextDay' => '[Sini lÉ›rÉ›] LT', - 'nextWeek' => 'dddd [don lÉ›rÉ›] LT', - 'lastDay' => '[Kunu lÉ›rÉ›] LT', - 'lastWeek' => 'dddd [tÉ›mÉ›nen lÉ›rÉ›] LT', - 'sameElse' => 'L', - ], - 'months' => ['Zanwuyekalo', 'Fewuruyekalo', 'Marisikalo', 'Awirilikalo', 'MÉ›kalo', 'ZuwÉ›nkalo', 'Zuluyekalo', 'Utikalo', 'SÉ›tanburukalo', 'É”kutÉ”burukalo', 'Nowanburukalo', 'Desanburukalo'], - 'months_short' => ['Zan', 'Few', 'Mar', 'Awi', 'MÉ›', 'Zuw', 'Zul', 'Uti', 'SÉ›t', 'É”ku', 'Now', 'Des'], - 'weekdays' => ['Kari', 'NtÉ›nÉ›n', 'Tarata', 'Araba', 'Alamisa', 'Juma', 'Sibiri'], - 'weekdays_short' => ['Kar', 'NtÉ›', 'Tar', 'Ara', 'Ala', 'Jum', 'Sib'], - 'weekdays_min' => ['Ka', 'Nt', 'Ta', 'Ar', 'Al', 'Ju', 'Si'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 4, - 'list' => [', ', ' ni '], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/bn.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/bn.php deleted file mode 100644 index 8e67a16..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/bn.php +++ /dev/null @@ -1,99 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Josh Soref - * - Shakib Hossain - * - Raju - * - Aniruddha Adhikary - * - JD Isaacks - * - Saiful Islam - * - Faisal Islam - */ -return [ - 'year' => ':count বছর', - 'a_year' => 'à¦à¦• বছর|:count বছর', - 'y' => '১ বছর|:count বছর', - 'month' => ':count মাস', - 'a_month' => 'à¦à¦• মাস|:count মাস', - 'm' => '১ মাস|:count মাস', - 'week' => ':count সপà§à¦¤à¦¾à¦¹', - 'a_week' => '১ সপà§à¦¤à¦¾à¦¹|:count সপà§à¦¤à¦¾à¦¹', - 'w' => '১ সপà§à¦¤à¦¾à¦¹|:count সপà§à¦¤à¦¾à¦¹', - 'day' => ':count দিন', - 'a_day' => 'à¦à¦• দিন|:count দিন', - 'd' => '১ দিন|:count দিন', - 'hour' => ':count ঘনà§à¦Ÿà¦¾', - 'a_hour' => 'à¦à¦• ঘনà§à¦Ÿà¦¾|:count ঘনà§à¦Ÿà¦¾', - 'h' => '১ ঘনà§à¦Ÿà¦¾|:count ঘনà§à¦Ÿà¦¾', - 'minute' => ':count মিনিট', - 'a_minute' => 'à¦à¦• মিনিট|:count মিনিট', - 'min' => '১ মিনিট|:count মিনিট', - 'second' => ':count সেকেনà§à¦¡', - 'a_second' => 'কয়েক সেকেনà§à¦¡|:count সেকেনà§à¦¡', - 's' => '১ সেকেনà§à¦¡|:count সেকেনà§à¦¡', - 'ago' => ':time আগে', - 'from_now' => ':time পরে', - 'after' => ':time পরে', - 'before' => ':time আগে', - 'diff_now' => 'à¦à¦–ন', - 'diff_yesterday' => 'গতকাল', - 'diff_tomorrow' => 'আগামীকাল', - 'period_recurrences' => ':count বার|:count বার', - 'period_interval' => 'পà§à¦°à¦¤à¦¿ :interval', - 'period_start_date' => ':date থেকে', - 'period_end_date' => ':date পরà§à¦¯à¦¨à§à¦¤', - 'formats' => [ - 'LT' => 'A Oh:Om সময়', - 'LTS' => 'A Oh:Om:Os সময়', - 'L' => 'OD/OM/OY', - 'LL' => 'OD MMMM OY', - 'LLL' => 'OD MMMM OY, A Oh:Om সময়', - 'LLLL' => 'dddd, OD MMMM OY, A Oh:Om সময়', - ], - 'calendar' => [ - 'sameDay' => '[আজ] LT', - 'nextDay' => '[আগামীকাল] LT', - 'nextWeek' => 'dddd, LT', - 'lastDay' => '[গতকাল] LT', - 'lastWeek' => '[গত] dddd, LT', - 'sameElse' => 'L', - ], - 'meridiem' => function ($hour) { - if ($hour < 4) { - return 'রাত'; - } - if ($hour < 10) { - return 'সকাল'; - } - if ($hour < 17) { - return 'দà§à¦ªà§à¦°'; - } - if ($hour < 20) { - return 'বিকাল'; - } - - return 'রাত'; - }, - 'months' => ['জানà§à§Ÿà¦¾à¦°à§€', 'ফেবà§à¦°à§à§Ÿà¦¾à¦°à¦¿', 'মারà§à¦š', 'à¦à¦ªà§à¦°à¦¿à¦²', 'মে', 'জà§à¦¨', 'জà§à¦²à¦¾à¦‡', 'আগসà§à¦Ÿ', 'সেপà§à¦Ÿà§‡à¦®à§à¦¬à¦°', 'অকà§à¦Ÿà§‹à¦¬à¦°', 'নভেমà§à¦¬à¦°', 'ডিসেমà§à¦¬à¦°'], - 'months_short' => ['জানà§', 'ফেব', 'মারà§à¦š', 'à¦à¦ªà§à¦°', 'মে', 'জà§à¦¨', 'জà§à¦²', 'আগ', 'সেপà§à¦Ÿ', 'অকà§à¦Ÿà§‹', 'নভে', 'ডিসে'], - 'weekdays' => ['রবিবার', 'সোমবার', 'মঙà§à¦—লবার', 'বà§à¦§à¦¬à¦¾à¦°', 'বৃহসà§à¦ªà¦¤à¦¿à¦¬à¦¾à¦°', 'শà§à¦•à§à¦°à¦¬à¦¾à¦°', 'শনিবার'], - 'weekdays_short' => ['রবি', 'সোম', 'মঙà§à¦—ল', 'বà§à¦§', 'বৃহসà§à¦ªà¦¤à¦¿', 'শà§à¦•à§à¦°', 'শনি'], - 'weekdays_min' => ['রবি', 'সোম', 'মঙà§à¦—', 'বà§à¦§', 'বৃহঃ', 'শà§à¦•à§à¦°', 'শনি'], - 'list' => [', ', ' à¦à¦¬à¦‚ '], - 'first_day_of_week' => 0, - 'day_of_first_week_of_year' => 1, - 'weekdays_standalone' => ['রবিবার', 'সোমবার', 'মঙà§à¦—লবার', 'বà§à¦§à¦¬à¦¾à¦°', 'বৃহষà§à¦ªà¦¤à¦¿à¦¬à¦¾à¦°', 'শà§à¦•à§à¦°à¦¬à¦¾à¦°', 'শনিবার'], - 'weekdays_min_standalone' => ['রঃ', 'সোঃ', 'মঃ', 'বà§à¦ƒ', 'বৃঃ', 'শà§à¦ƒ', 'শনি'], - 'months_short_standalone' => ['জানà§à¦¯à¦¼à¦¾à¦°à§€', 'ফেবà§à¦°à§à¦¯à¦¼à¦¾à¦°à§€', 'মারà§à¦š', 'à¦à¦ªà§à¦°à¦¿à¦²', 'মে', 'জà§à¦¨', 'জà§à¦²à¦¾à¦‡', 'আগসà§à¦Ÿ', 'সেপà§à¦Ÿà§‡à¦®à§à¦¬à¦°', 'অকà§à¦Ÿà§‹à¦¬à¦°', 'নভেমà§à¦¬à¦°', 'ডিসেমà§à¦¬à¦°'], - 'alt_numbers' => ['০', '১', '২', '৩', '৪', '৫', '৬', '৭', '৮', '৯'], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/bn_BD.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/bn_BD.php deleted file mode 100644 index 1f7d152..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/bn_BD.php +++ /dev/null @@ -1,27 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Ankur Group, http://www.ankurbangla.org, http://www.bengalinux.org Taneem Ahmed, Jamil Ahmed taneem@bengalinux.org, jamil@bengalinux.org - */ -return array_replace_recursive(require __DIR__.'/bn.php', [ - 'formats' => [ - 'L' => 'D/M/YY', - ], - 'months' => ['জানà§à¦¯à¦¼à¦¾à¦°à§€', 'ফেবà§à¦°à§à¦¯à¦¼à¦¾à¦°à§€', 'মারà§à¦š', 'à¦à¦ªà§à¦°à¦¿à¦²', 'মে', 'জà§à¦¨', 'জà§à¦²à¦¾à¦‡', 'আগসà§à¦Ÿ', 'সেপà§à¦Ÿà§‡à¦®à§à¦¬à¦°', 'অকà§à¦Ÿà§‹à¦¬à¦°', 'নভেমà§à¦¬à¦°', 'ডিসেমà§à¦¬à¦°'], - 'months_short' => ['জানà§', 'ফেব', 'মারà§à¦š', 'à¦à¦ªà§à¦°à¦¿à¦²', 'মে', 'জà§à¦¨', 'জà§à¦²à¦¾à¦‡', 'আগসà§à¦Ÿ', 'সেপà§à¦Ÿà§‡à¦®à§à¦¬à¦°', 'অকà§à¦Ÿà§‹à¦¬à¦°', 'নভেমà§à¦¬à¦°', 'ডিসেমà§à¦¬à¦°'], - 'weekdays' => ['রবিবার', 'সোমবার', 'মঙà§à¦—লবার', 'বà§à¦§à¦¬à¦¾à¦°', 'বৃহসà§à¦ªà¦¤à¦¿à¦¬à¦¾à¦°', 'শà§à¦•à§à¦°à¦¬à¦¾à¦°', 'শনিবার'], - 'weekdays_short' => ['রবি', 'সোম', 'মঙà§à¦—ল', 'বà§à¦§', 'বৃহঃ', 'শà§à¦•à§à¦°', 'শনি'], - 'weekdays_min' => ['রবি', 'সোম', 'মঙà§à¦—ল', 'বà§à¦§', 'বৃহঃ', 'শà§à¦•à§à¦°', 'শনি'], - 'first_day_of_week' => 5, - 'day_of_first_week_of_year' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/bn_IN.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/bn_IN.php deleted file mode 100644 index 37927f0..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/bn_IN.php +++ /dev/null @@ -1,26 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - IBM Globalization Center of Competency, Yamato Software Laboratory bug-glibc-locales@gnu.org - */ -return array_replace_recursive(require __DIR__.'/bn.php', [ - 'formats' => [ - 'L' => 'D/M/YY', - ], - 'months' => ['জানà§à¦¯à¦¼à¦¾à¦°à§€', 'ফেবà§à¦°à§à¦¯à¦¼à¦¾à¦°à§€', 'মারà§à¦š', 'à¦à¦ªà§à¦°à¦¿à¦²', 'মে', 'জà§à¦¨', 'জà§à¦²à¦¾à¦‡', 'আগসà§à¦Ÿ', 'সেপà§à¦Ÿà§‡à¦®à§à¦¬à¦°', 'অকà§à¦Ÿà§‹à¦¬à¦°', 'নভেমà§à¦¬à¦°', 'ডিসেমà§à¦¬à¦°'], - 'months_short' => ['জানà§', 'ফেব', 'মারà§à¦š', 'à¦à¦ªà§à¦°à¦¿à¦²', 'মে', 'জà§à¦¨', 'জà§à¦²à¦¾à¦‡', 'আগসà§à¦Ÿ', 'সেপà§à¦Ÿà§‡à¦®à§à¦¬à¦°', 'অকà§à¦Ÿà§‹à¦¬à¦°', 'নভেমà§à¦¬à¦°', 'ডিসেমà§à¦¬à¦°'], - 'weekdays' => ['রবিবার', 'সোমবার', 'মঙà§à¦—লবার', 'বà§à¦§à¦¬à¦¾à¦°', 'বৃহসà§à¦ªà¦¤à¦¿à¦¬à¦¾à¦°', 'শà§à¦•à§à¦°à¦¬à¦¾à¦°', 'শনিবার'], - 'weekdays_short' => ['রবি', 'সোম', 'মঙà§à¦—ল', 'বà§à¦§', 'বৃহসà§à¦ªà¦¤à¦¿', 'শà§à¦•à§à¦°', 'শনি'], - 'weekdays_min' => ['রবি', 'সোম', 'মঙà§à¦—ল', 'বà§à¦§', 'বৃহসà§à¦ªà¦¤à¦¿', 'শà§à¦•à§à¦°', 'শনি'], - 'day_of_first_week_of_year' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/bo.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/bo.php deleted file mode 100644 index f009e08..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/bo.php +++ /dev/null @@ -1,70 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Josh Soref - * - JD Isaacks - */ -return [ - 'year' => '{1}ལོ་གཅིག|]1,Inf[:count ལོ', - 'month' => '{1}ཟླ་བ་གཅིག|]1,Inf[:count ཟླ་བ', - 'week' => ':count བདུན་ཕྲག', - 'day' => '{1}ཉིན་གཅིག|]1,Inf[:count ཉིན་', - 'hour' => '{1}ཆུ་ཚོད་གཅིག|]1,Inf[:count ཆུ་ཚོད', - 'minute' => '{1}སà¾à½¢à¼‹à½˜à¼‹à½‚ཅིག|]1,Inf[:count སà¾à½¢à¼‹à½˜', - 'second' => '{1}ལམ་སང|]1,Inf[:count སà¾à½¢à¼‹à½†à¼', - 'ago' => ':time སྔན་ལ', - 'from_now' => ':time ལ་', - 'diff_yesterday' => 'à½à¼‹à½¦à½„', - 'diff_tomorrow' => 'སང་ཉིན', - 'formats' => [ - 'LT' => 'A h:mm', - 'LTS' => 'A h:mm:ss', - 'L' => 'DD/MM/YYYY', - 'LL' => 'D MMMM YYYY', - 'LLL' => 'D MMMM YYYY, A h:mm', - 'LLLL' => 'dddd, D MMMM YYYY, A h:mm', - ], - 'calendar' => [ - 'sameDay' => '[དི་རིང] LT', - 'nextDay' => '[སང་ཉིན] LT', - 'nextWeek' => '[བདུན་ཕྲག་རྗེས་མ], LT', - 'lastDay' => '[à½à¼‹à½¦à½„] LT', - 'lastWeek' => '[བདུན་ཕྲག་མà½à½ à¼‹à½˜] dddd, LT', - 'sameElse' => 'L', - ], - 'meridiem' => function ($hour) { - if ($hour < 4) { - return 'མཚན་མོ'; - } - if ($hour < 10) { - return 'ཞོགས་ཀས'; - } - if ($hour < 17) { - return 'ཉིན་གུང'; - } - if ($hour < 20) { - return 'དགོང་དག'; - } - - return 'མཚན་མོ'; - }, - 'months' => ['ཟླ་བ་དང་པོ', 'ཟླ་བ་གཉིས་པ', 'ཟླ་བ་གསུམ་པ', 'ཟླ་བ་བཞི་པ', 'ཟླ་བ་ལྔ་པ', 'ཟླ་བ་དྲུག་པ', 'ཟླ་བ་བདུན་པ', 'ཟླ་བ་བརྒྱད་པ', 'ཟླ་བ་དགུ་པ', 'ཟླ་བ་བཅུ་པ', 'ཟླ་བ་བཅུ་གཅིག་པ', 'ཟླ་བ་བཅུ་གཉིས་པ'], - 'months_short' => ['ཟླ་བ་དང་པོ', 'ཟླ་བ་གཉིས་པ', 'ཟླ་བ་གསུམ་པ', 'ཟླ་བ་བཞི་པ', 'ཟླ་བ་ལྔ་པ', 'ཟླ་བ་དྲུག་པ', 'ཟླ་བ་བདུན་པ', 'ཟླ་བ་བརྒྱད་པ', 'ཟླ་བ་དགུ་པ', 'ཟླ་བ་བཅུ་པ', 'ཟླ་བ་བཅུ་གཅིག་པ', 'ཟླ་བ་བཅུ་གཉིས་པ'], - 'weekdays' => ['གཟའ་ཉི་མ་', 'གཟའ་ཟླ་བ་', 'གཟའ་མིག་དམར་', 'གཟའ་ལྷག་པ་', 'གཟའ་ཕུར་བུ', 'གཟའ་པ་སངས་', 'གཟའ་སྤེན་པ་'], - 'weekdays_short' => ['ཉི་མ་', 'ཟླ་བ་', 'མིག་དམར་', 'ལྷག་པ་', 'ཕུར་བུ', 'པ་སངས་', 'སྤེན་པ་'], - 'weekdays_min' => ['ཉི་མ་', 'ཟླ་བ་', 'མིག་དམར་', 'ལྷག་པ་', 'ཕུར་བུ', 'པ་སངས་', 'སྤེན་པ་'], - 'list' => [', ', ' ཨནད་ '], - 'first_day_of_week' => 0, - 'day_of_first_week_of_year' => 1, - 'months_standalone' => ['ཟླ་བ་དང་པོ་', 'ཟླ་བ་གཉིས་པ་', 'ཟླ་བ་གསུམ་པ་', 'ཟླ་བ་བཞི་པ་', 'ཟླ་བ་ལྔ་པ་', 'ཟླ་བ་དྲུག་པ་', 'ཟླ་བ་བདུན་པ་', 'ཟླ་བ་བརྒྱད་པ་', 'ཟླ་བ་དགུ་པ་', 'ཟླ་བ་བཅུ་པ་', 'ཟླ་བ་བཅུ་གཅིག་པ་', 'ཟླ་བ་བཅུ་གཉིས་པ་'], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/bo_CN.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/bo_CN.php deleted file mode 100644 index c3d9d8b..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/bo_CN.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/bo.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/bo_IN.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/bo_IN.php deleted file mode 100644 index a377fb5..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/bo_IN.php +++ /dev/null @@ -1,28 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/bo.php', [ - 'meridiem' => ['སྔ་དྲོ་', 'ཕྱི་དྲོ་'], - 'weekdays' => ['གཟའ་ཉི་མ་', 'གཟའ་ཟླ་བ་', 'གཟའ་མིག་དམར་', 'གཟའ་ལྷག་པ་', 'གཟའ་ཕུར་བུ་', 'གཟའ་པ་སངས་', 'གཟའ་སྤེན་པ་'], - 'weekdays_short' => ['ཉི་མ་', 'ཟླ་བ་', 'མིག་དམར་', 'ལྷག་པ་', 'ཕུར་བུ་', 'པ་སངས་', 'སྤེན་པ་'], - 'weekdays_min' => ['ཉི་མ་', 'ཟླ་བ་', 'མིག་དམར་', 'ལྷག་པ་', 'ཕུར་བུ་', 'པ་སངས་', 'སྤེན་པ་'], - 'months' => ['ཟླ་བ་དང་པོ', 'ཟླ་བ་གཉིས་པ', 'ཟླ་བ་གསུམ་པ', 'ཟླ་བ་བཞི་པ', 'ཟླ་བ་ལྔ་པ', 'ཟླ་བ་དྲུག་པ', 'ཟླ་བ་བདུན་པ', 'ཟླ་བ་བརྒྱད་པ', 'ཟླ་བ་དགུ་པ', 'ཟླ་བ་བཅུ་པ', 'ཟླ་བ་བཅུ་གཅིག་པ', 'ཟླ་བ་བཅུ་གཉིས་པ'], - 'months_short' => ['ཟླ་༡', 'ཟླ་༢', 'ཟླ་༣', 'ཟླ་༤', 'ཟླ་༥', 'ཟླ་༦', 'ཟླ་༧', 'ཟླ་༨', 'ཟླ་༩', 'ཟླ་༡༠', 'ཟླ་༡༡', 'ཟླ་༡༢'], - 'months_standalone' => ['ཟླ་བ་དང་པོ་', 'ཟླ་བ་གཉིས་པ་', 'ཟླ་བ་གསུམ་པ་', 'ཟླ་བ་བཞི་པ་', 'ཟླ་བ་ལྔ་པ་', 'ཟླ་བ་དྲུག་པ་', 'ཟླ་བ་བདུན་པ་', 'ཟླ་བ་བརྒྱད་པ་', 'ཟླ་བ་དགུ་པ་', 'ཟླ་བ་བཅུ་པ་', 'ཟླ་བ་བཅུ་གཅིག་པ་', 'ཟླ་བ་བཅུ་གཉིས་པ་'], - 'weekend' => [0, 0], - 'formats' => [ - 'LT' => 'h:mm a', - 'LTS' => 'h:mm:ss a', - 'L' => 'YYYY-MM-DD', - 'LL' => 'YYYY ལོའི་MMMཚེས་D', - 'LLL' => 'སྤྱི་ལོ་YYYY MMMMའི་ཚེས་D h:mm a', - 'LLLL' => 'YYYY MMMMའི་ཚེས་D, dddd h:mm a', - ], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/br.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/br.php deleted file mode 100644 index 0409428..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/br.php +++ /dev/null @@ -1,69 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/* - * Authors: - * - François B - * - Serhan Apaydın - * - JD Isaacks - */ -return [ - 'year' => '{1}:count bloaz|{3,4,5,9}:count bloaz|[0,Inf[:count vloaz', - 'a_year' => '{1}ur bloaz|{3,4,5,9}:count bloaz|[0,Inf[:count vloaz', - 'month' => '{1}:count miz|{2}:count viz|[0,Inf[:count miz', - 'a_month' => '{1}ur miz|{2}:count viz|[0,Inf[:count miz', - 'week' => ':count sizhun', - 'a_week' => '{1}ur sizhun|:count sizhun', - 'day' => '{1}:count devezh|{2}:count zevezh|[0,Inf[:count devezh', - 'a_day' => '{1}un devezh|{2}:count zevezh|[0,Inf[:count devezh', - 'hour' => ':count eur', - 'a_hour' => '{1}un eur|:count eur', - 'minute' => '{1}:count vunutenn|{2}:count vunutenn|[0,Inf[:count munutenn', - 'a_minute' => '{1}ur vunutenn|{2}:count vunutenn|[0,Inf[:count munutenn', - 'second' => ':count eilenn', - 'a_second' => '{1}un nebeud segondennoù|[0,Inf[:count eilenn', - 'ago' => ':time \'zo', - 'from_now' => 'a-benn :time', - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD/MM/YYYY', - 'LL' => 'D [a viz] MMMM YYYY', - 'LLL' => 'D [a viz] MMMM YYYY HH:mm', - 'LLLL' => 'dddd, D [a viz] MMMM YYYY HH:mm', - ], - 'calendar' => [ - 'sameDay' => '[Hiziv da] LT', - 'nextDay' => '[Warc\'hoazh da] LT', - 'nextWeek' => 'dddd [da] LT', - 'lastDay' => '[Dec\'h da] LT', - 'lastWeek' => 'dddd [paset da] LT', - 'sameElse' => 'L', - ], - 'ordinal' => function ($number) { - return $number.($number === 1 ? 'añ' : 'vet'); - }, - 'months' => ['Genver', 'C\'hwevrer', 'Meurzh', 'Ebrel', 'Mae', 'Mezheven', 'Gouere', 'Eost', 'Gwengolo', 'Here', 'Du', 'Kerzu'], - 'months_short' => ['Gen', 'C\'hwe', 'Meu', 'Ebr', 'Mae', 'Eve', 'Gou', 'Eos', 'Gwe', 'Her', 'Du', 'Ker'], - 'weekdays' => ['Sul', 'Lun', 'Meurzh', 'Merc\'her', 'Yaou', 'Gwener', 'Sadorn'], - 'weekdays_short' => ['Sul', 'Lun', 'Meu', 'Mer', 'Yao', 'Gwe', 'Sad'], - 'weekdays_min' => ['Su', 'Lu', 'Me', 'Mer', 'Ya', 'Gw', 'Sa'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 4, - 'list' => [', ', ' hag '], - 'meridiem' => ['A.M.', 'G.M.'], - - 'y' => ':count bl.', - 'd' => ':count d', - 'h' => ':count e', - 'min' => ':count min', - 's' => ':count s', -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/br_FR.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/br_FR.php deleted file mode 100644 index 9d939fd..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/br_FR.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/br.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/brx.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/brx.php deleted file mode 100644 index 17fabbc..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/brx.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return require __DIR__.'/brx_IN.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/brx_IN.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/brx_IN.php deleted file mode 100644 index b1e7f9c..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/brx_IN.php +++ /dev/null @@ -1,27 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Red Hat Pune bug-glibc-locales@gnu.org - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'M/D/YY', - ], - 'months' => ['जानà¥à¤µà¤¾à¤°à¥€', 'फेबà¥à¤°à¥à¤µà¤¾à¤°à¥€', 'मारà¥à¤¸', 'à¤à¤«à¥à¤°à¤¿à¤²', 'मे', 'जà¥à¤¨', 'जà¥à¤²à¤¾à¤‡', 'आगसà¥à¤¥', 'सेबथेजà¥à¤¬à¤¼à¤°', 'अखथबर', 'नबेजà¥à¤¬à¤¼à¤°', 'दिसेजà¥à¤¬à¤¼à¤°'], - 'months_short' => ['जानà¥à¤µà¤¾à¤°à¥€', 'फेबà¥à¤°à¥à¤µà¤¾à¤°à¥€', 'मारà¥à¤¸', 'à¤à¤ªà¥à¤°à¤¿à¤²', 'मे', 'जà¥à¤¨', 'जà¥à¤²à¤¾à¤‡', 'आगसà¥à¤¥', 'सेबथेजà¥à¤¬à¤¼à¤°', 'अखथबर', 'नबेजà¥à¤¬à¤¼à¤°', 'दिसेजà¥à¤¬à¤¼à¤°'], - 'weekdays' => ['रबिबार', 'सोबार', 'मंगलबार', 'बà¥à¤¦à¤¬à¤¾à¤°', 'बिसथिबार', 'सà¥à¤–à¥à¤°à¤¬à¤¾à¤°', 'सà¥à¤¨à¤¿à¤¬à¤¾à¤°'], - 'weekdays_short' => ['रबि', 'सम', 'मंगल', 'बà¥à¤¦', 'बिसथि', 'सà¥à¤–à¥à¤°', 'सà¥à¤¨à¤¿'], - 'weekdays_min' => ['रबि', 'सम', 'मंगल', 'बà¥à¤¦', 'बिसथि', 'सà¥à¤–à¥à¤°', 'सà¥à¤¨à¤¿'], - 'day_of_first_week_of_year' => 1, - 'meridiem' => ['फà¥à¤‚.', 'बेलासे.'], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/bs.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/bs.php deleted file mode 100644 index 684219f..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/bs.php +++ /dev/null @@ -1,89 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - bokideckonja - * - Josh Soref - * - François B - * - shaishavgandhi05 - * - Serhan Apaydın - * - JD Isaacks - */ -return [ - 'year' => ':count godina|:count godine|:count godina', - 'y' => ':count godina|:count godine|:count godina', - 'month' => ':count mjesec|:count mjeseca|:count mjeseci', - 'm' => ':count mjesec|:count mjeseca|:count mjeseci', - 'week' => ':count nedjelja|:count nedjelje|:count nedjelja', - 'w' => ':count nedjelja|:count nedjelje|:count nedjelja', - 'day' => ':count dan|:count dana|:count dana', - 'd' => ':count dan|:count dana|:count dana', - 'hour' => ':count sat|:count sata|:count sati', - 'h' => ':count sat|:count sata|:count sati', - 'minute' => ':count minut|:count minuta|:count minuta', - 'min' => ':count minut|:count minuta|:count minuta', - 'second' => ':count sekund|:count sekunda|:count sekundi', - 's' => ':count sekund|:count sekunda|:count sekundi', - 'ago' => 'prije :time', - 'from_now' => 'za :time', - 'after' => 'nakon :time', - 'before' => ':time ranije', - 'diff_yesterday' => 'juÄer', - 'diff_tomorrow' => 'sutra', - 'formats' => [ - 'LT' => 'H:mm', - 'LTS' => 'H:mm:ss', - 'L' => 'DD.MM.YYYY', - 'LL' => 'D. MMMM YYYY', - 'LLL' => 'D. MMMM YYYY H:mm', - 'LLLL' => 'dddd, D. MMMM YYYY H:mm', - ], - 'calendar' => [ - 'sameDay' => '[danas u] LT', - 'nextDay' => '[sutra u] LT', - 'nextWeek' => function (\Carbon\CarbonInterface $current) { - switch ($current->dayOfWeek) { - case 0: - return '[u] [nedjelju] [u] LT'; - case 3: - return '[u] [srijedu] [u] LT'; - case 6: - return '[u] [subotu] [u] LT'; - default: - return '[u] dddd [u] LT'; - } - }, - 'lastDay' => '[juÄer u] LT', - 'lastWeek' => function (\Carbon\CarbonInterface $current) { - switch ($current->dayOfWeek) { - case 0: - case 3: - return '[proÅ¡lu] dddd [u] LT'; - case 6: - return '[proÅ¡le] [subote] [u] LT'; - default: - return '[proÅ¡li] dddd [u] LT'; - } - }, - 'sameElse' => 'L', - ], - 'ordinal' => ':number.', - 'months' => ['januar', 'februar', 'mart', 'april', 'maj', 'juni', 'juli', 'august', 'septembar', 'oktobar', 'novembar', 'decembar'], - 'months_short' => ['jan.', 'feb.', 'mar.', 'apr.', 'maj.', 'jun.', 'jul.', 'aug.', 'sep.', 'okt.', 'nov.', 'dec.'], - 'weekdays' => ['nedjelja', 'ponedjeljak', 'utorak', 'srijeda', 'Äetvrtak', 'petak', 'subota'], - 'weekdays_short' => ['ned.', 'pon.', 'uto.', 'sri.', 'Äet.', 'pet.', 'sub.'], - 'weekdays_min' => ['ne', 'po', 'ut', 'sr', 'Äe', 'pe', 'su'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 1, - 'list' => [', ', ' i '], - 'meridiem' => ['prijepodne', 'popodne'], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/bs_BA.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/bs_BA.php deleted file mode 100644 index 4dd21ba..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/bs_BA.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/bs.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/bs_Cyrl.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/bs_Cyrl.php deleted file mode 100644 index 09221e0..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/bs_Cyrl.php +++ /dev/null @@ -1,27 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/bs.php', [ - 'meridiem' => ['пре подне', 'поподне'], - 'weekdays' => ['недјеља', 'понедјељак', 'уторак', 'Ñриједа', 'четвртак', 'петак', 'Ñубота'], - 'weekdays_short' => ['нед', 'пон', 'уто', 'Ñри', 'чет', 'пет', 'Ñуб'], - 'weekdays_min' => ['нед', 'пон', 'уто', 'Ñри', 'чет', 'пет', 'Ñуб'], - 'months' => ['јануар', 'фебруар', 'март', 'април', 'мај', 'јуни', 'јули', 'аугуÑÑ‚', 'Ñептембар', 'октобар', 'новембар', 'децембар'], - 'months_short' => ['јан', 'феб', 'мар', 'апр', 'мај', 'јун', 'јул', 'ауг', 'Ñеп', 'окт', 'нов', 'дец'], - 'first_day_of_week' => 1, - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'D.M.YYYY.', - 'LL' => 'DD.MM.YYYY.', - 'LLL' => 'DD. MMMM YYYY. HH:mm', - 'LLLL' => 'dddd, DD. MMMM YYYY. HH:mm', - ], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/bs_Latn.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/bs_Latn.php deleted file mode 100644 index 91ed1cc..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/bs_Latn.php +++ /dev/null @@ -1,12 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/bs.php', [ -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/byn.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/byn.php deleted file mode 100644 index 8377666..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/byn.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return require __DIR__.'/byn_ER.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/byn_ER.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/byn_ER.php deleted file mode 100644 index 5bf1354..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/byn_ER.php +++ /dev/null @@ -1,28 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Ge'ez Frontier Foundation locales@geez.org - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'DD/MM/YYYY', - ], - 'months' => ['áˆá‹°á‰µáˆª', 'ካብኽብቲ', 'ክብላ', 'á‹áŒ…ኺሪ', 'ክቢቅሪ', 'áˆáŠªáŠ¤áˆ ትጓ̅ኒሪ', 'ኰርኩ', 'ማርያሠትሪ', 'ያኸኒ መሳቅለሪ', 'መተሉ', 'áˆáŠªáŠ¤áˆ መሽወሪ', 'ተሕሳስሪ'], - 'months_short' => ['áˆá‹°á‰µ', 'ካብኽ', 'ክብላ', 'á‹áŒ…ኺ', 'ክቢቅ', 'áˆ/ት', 'ኰር', 'ማርያ', 'ያኸኒ', 'መተሉ', 'áˆ/áˆ', 'ተሕሳ'], - 'weekdays' => ['ሰንበር ቅዳዅ', 'ሰኑ', 'ሰሊáŒ', 'ለጓ ወሪ ለብዋ', 'ኣáˆá‹µ', 'ኣርብ', 'ሰንበር ሽጓዅ'], - 'weekdays_short' => ['ሰ/ቅ', 'ሰኑ', 'ሰሊáŒ', 'ለጓ', 'ኣáˆá‹µ', 'ኣርብ', 'ሰ/ሽ'], - 'weekdays_min' => ['ሰ/ቅ', 'ሰኑ', 'ሰሊáŒ', 'ለጓ', 'ኣáˆá‹µ', 'ኣርብ', 'ሰ/ሽ'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 1, - 'meridiem' => ['á‹á‹±áˆµ ጃብ', 'á‹á‹±áˆµ á‹°áˆá‰¢'], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ca.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ca.php deleted file mode 100644 index e5c8d45..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ca.php +++ /dev/null @@ -1,110 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/* - * Authors: - * - mestremuten - * - François B - * - Marc Ordinas i Llopis - * - Pere Orga - * - JD Isaacks - * - Quentí - * - Víctor Díaz - * - Xavi - * - qcardona - */ -return [ - 'year' => ':count any|:count anys', - 'a_year' => 'un any|:count anys', - 'y' => ':count any|:count anys', - 'month' => ':count mes|:count mesos', - 'a_month' => 'un mes|:count mesos', - 'm' => ':count mes|:count mesos', - 'week' => ':count setmana|:count setmanes', - 'a_week' => 'una setmana|:count setmanes', - 'w' => ':count setmana|:count setmanes', - 'day' => ':count dia|:count dies', - 'a_day' => 'un dia|:count dies', - 'd' => ':count d', - 'hour' => ':count hora|:count hores', - 'a_hour' => 'una hora|:count hores', - 'h' => ':count h', - 'minute' => ':count minut|:count minuts', - 'a_minute' => 'un minut|:count minuts', - 'min' => ':count min', - 'second' => ':count segon|:count segons', - 'a_second' => 'uns segons|:count segons', - 's' => ':count s', - 'ago' => 'fa :time', - 'from_now' => 'd\'aquí a :time', - 'after' => ':time després', - 'before' => ':time abans', - 'diff_now' => 'ara mateix', - 'diff_yesterday' => 'ahir', - 'diff_tomorrow' => 'demà', - 'diff_before_yesterday' => 'abans d\'ahir', - 'diff_after_tomorrow' => 'demà passat', - 'period_recurrences' => ':count cop|:count cops', - 'period_interval' => 'cada :interval', - 'period_start_date' => 'de :date', - 'period_end_date' => 'fins a :date', - 'formats' => [ - 'LT' => 'H:mm', - 'LTS' => 'H:mm:ss', - 'L' => 'DD/MM/YYYY', - 'LL' => 'D MMMM [de] YYYY', - 'LLL' => 'D MMMM [de] YYYY [a les] H:mm', - 'LLLL' => 'dddd D MMMM [de] YYYY [a les] H:mm', - ], - 'calendar' => [ - 'sameDay' => function (\Carbon\CarbonInterface $current) { - return '[avui a '.($current->hour !== 1 ? 'les' : 'la').'] LT'; - }, - 'nextDay' => function (\Carbon\CarbonInterface $current) { - return '[demà a '.($current->hour !== 1 ? 'les' : 'la').'] LT'; - }, - 'nextWeek' => function (\Carbon\CarbonInterface $current) { - return 'dddd [a '.($current->hour !== 1 ? 'les' : 'la').'] LT'; - }, - 'lastDay' => function (\Carbon\CarbonInterface $current) { - return '[ahir a '.($current->hour !== 1 ? 'les' : 'la').'] LT'; - }, - 'lastWeek' => function (\Carbon\CarbonInterface $current) { - return '[el] dddd [passat a '.($current->hour !== 1 ? 'les' : 'la').'] LT'; - }, - 'sameElse' => 'L', - ], - 'ordinal' => function ($number, $period) { - return $number.( - ($period === 'w' || $period === 'W') ? 'a' : ( - ($number === 1) ? 'r' : ( - ($number === 2) ? 'n' : ( - ($number === 3) ? 'r' : ( - ($number === 4) ? 't' : 'è' - ) - ) - ) - ) - ); - }, - 'months' => ['de gener', 'de febrer', 'de març', 'd\'abril', 'de maig', 'de juny', 'de juliol', 'd\'agost', 'de setembre', 'd\'octubre', 'de novembre', 'de desembre'], - 'months_standalone' => ['gener', 'febrer', 'març', 'abril', 'maig', 'juny', 'juliol', 'agost', 'setembre', 'octubre', 'novembre', 'desembre'], - 'months_short' => ['gen.', 'febr.', 'març', 'abr.', 'maig', 'juny', 'jul.', 'ag.', 'set.', 'oct.', 'nov.', 'des.'], - 'months_regexp' => '/D[oD]?[\s,]+MMMM?/', - 'weekdays' => ['diumenge', 'dilluns', 'dimarts', 'dimecres', 'dijous', 'divendres', 'dissabte'], - 'weekdays_short' => ['dg.', 'dl.', 'dt.', 'dc.', 'dj.', 'dv.', 'ds.'], - 'weekdays_min' => ['dg', 'dl', 'dt', 'dc', 'dj', 'dv', 'ds'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 4, - 'list' => [', ', ' i '], - 'meridiem' => ['a. m.', 'p. m.'], - 'months_short_standalone' => ['gen.', 'febr.', 'març', 'abr.', 'maig', 'juny', 'jul.', 'ag.', 'set.', 'oct.', 'nov.', 'des.'], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ca_AD.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ca_AD.php deleted file mode 100644 index f5718c3..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ca_AD.php +++ /dev/null @@ -1,12 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/ca.php', [ -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ca_ES.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ca_ES.php deleted file mode 100644 index 8423606..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ca_ES.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/ca.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ca_ES_Valencia.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ca_ES_Valencia.php deleted file mode 100644 index f5718c3..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ca_ES_Valencia.php +++ /dev/null @@ -1,12 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/ca.php', [ -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ca_FR.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ca_FR.php deleted file mode 100644 index f5718c3..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ca_FR.php +++ /dev/null @@ -1,12 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/ca.php', [ -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ca_IT.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ca_IT.php deleted file mode 100644 index f5718c3..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ca_IT.php +++ /dev/null @@ -1,12 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/ca.php', [ -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ccp.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ccp.php deleted file mode 100644 index ec616a7..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ccp.php +++ /dev/null @@ -1,26 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'weekdays' => ['𑄢𑄧ð‘„𑄨ð‘„𑄢𑄴', '𑄥𑄧𑄟𑄴ð‘„𑄢𑄴', '𑄟𑄧ð‘„𑄉𑄧𑄣𑄴ð‘„𑄢𑄴', 'ð‘„𑄪𑄖𑄴ð‘„𑄢𑄴', 'ð‘„𑄳𑄢𑄨𑄥𑄪𑄛𑄴ð‘„𑄢𑄴', '𑄥𑄪𑄇𑄴𑄇𑄮𑄢𑄴ð‘„𑄢𑄴', '𑄥𑄧𑄚𑄨ð‘„𑄢𑄴'], - 'weekdays_short' => ['𑄢𑄧ð‘„𑄨', '𑄥𑄧𑄟𑄴', '𑄟𑄧ð‘„𑄉𑄧𑄣𑄴', 'ð‘„𑄪𑄖𑄴', 'ð‘„𑄳𑄢𑄨𑄥𑄪𑄛𑄴', '𑄥𑄪𑄇𑄴𑄇𑄮𑄢𑄴', '𑄥𑄧𑄚𑄨'], - 'weekdays_min' => ['𑄢𑄧ð‘„𑄨', '𑄥𑄧𑄟𑄴', '𑄟𑄧ð‘„𑄉𑄧𑄣𑄴', 'ð‘„𑄪𑄖𑄴', 'ð‘„𑄳𑄢𑄨𑄥𑄪𑄛𑄴', '𑄥𑄪𑄇𑄴𑄇𑄮𑄢𑄴', '𑄥𑄧𑄚𑄨'], - 'months' => ['𑄎𑄚𑄪𑄠𑄢𑄨', '𑄜𑄬𑄛𑄴ð‘„𑄳𑄢𑄪𑄠𑄢𑄨', '𑄟𑄢𑄴𑄌𑄧', '𑄃𑄬𑄛𑄳𑄢𑄨𑄣𑄴', '𑄟𑄬', '𑄎𑄪𑄚𑄴', '𑄎𑄪𑄣𑄭', '𑄃𑄉𑄧𑄌𑄴𑄑𑄴', '𑄥𑄬𑄛𑄴𑄑𑄬𑄟𑄴ð‘„𑄧𑄢𑄴', '𑄃𑄧𑄇𑄴𑄑𑄬ð‘„𑄧𑄢𑄴', '𑄚𑄧𑄞𑄬𑄟𑄴ð‘„𑄧𑄢𑄴', '𑄓𑄨𑄥𑄬𑄟𑄴ð‘„𑄧𑄢𑄴'], - 'months_short' => ['𑄎𑄚𑄪', '𑄜𑄬𑄛𑄴', '𑄟𑄢𑄴𑄌𑄧', '𑄃𑄬𑄛𑄳𑄢𑄨𑄣𑄴', '𑄟𑄬', '𑄎𑄪𑄚𑄴', '𑄎𑄪𑄣𑄭', '𑄃𑄉𑄧𑄌𑄴𑄑𑄴', '𑄥𑄬𑄛𑄴𑄑𑄬𑄟𑄴ð‘„𑄧𑄢𑄴', '𑄃𑄧𑄇𑄴𑄑𑄮ð‘„𑄧𑄢𑄴', '𑄚𑄧𑄞𑄬𑄟𑄴ð‘„𑄧𑄢𑄴', '𑄓𑄨𑄥𑄬𑄟𑄴ð‘„𑄢𑄴'], - 'months_short_standalone' => ['𑄎𑄚𑄪𑄠𑄢𑄨', '𑄜𑄬𑄛𑄴ð‘„𑄳𑄢𑄪𑄠𑄢𑄨', '𑄟𑄢𑄴𑄌𑄧', '𑄃𑄬𑄛𑄳𑄢𑄨𑄣𑄴', '𑄟𑄬', '𑄎𑄪𑄚𑄴', '𑄎𑄪𑄣𑄭', '𑄃𑄉𑄧𑄌𑄴𑄑𑄴', '𑄥𑄬𑄛𑄴𑄑𑄬𑄟𑄴ð‘„𑄧𑄢𑄴', '𑄃𑄧𑄇𑄴𑄑𑄮ð‘„𑄧𑄢𑄴', '𑄚𑄧𑄞𑄬𑄟𑄴ð‘„𑄧𑄢𑄴', '𑄓𑄨𑄥𑄬𑄟𑄴ð‘„𑄧𑄢𑄴'], - 'formats' => [ - 'LT' => 'h:mm a', - 'LTS' => 'h:mm:ss a', - 'L' => 'D/M/YYYY', - 'LL' => 'D MMM, YYYY', - 'LLL' => 'D MMMM, YYYY h:mm a', - 'LLLL' => 'dddd, D MMMM, YYYY h:mm a', - ], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ccp_IN.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ccp_IN.php deleted file mode 100644 index 18bd122..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ccp_IN.php +++ /dev/null @@ -1,13 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/ccp.php', [ - 'weekend' => [0, 0], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ce.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ce.php deleted file mode 100644 index 55feb8a..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ce.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return require __DIR__.'/ce_RU.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ce_RU.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ce_RU.php deleted file mode 100644 index b4ea63a..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ce_RU.php +++ /dev/null @@ -1,55 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - ANCHR - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'YYYY.DD.MM', - ], - 'months' => ['Январь', 'Февраль', 'Март', 'Ðпрель', 'Май', 'Июнь', 'Июль', 'ÐвгуÑÑ‚', 'СентÑбрь', 'ОктÑбрь', 'ÐоÑбрь', 'Декабрь'], - 'months_short' => ['Ñнв', 'фев', 'мар', 'апр', 'май', 'июн', 'июл', 'авг', 'Ñен', 'окт', 'ноÑ', 'дек'], - 'weekdays' => ['КӀиранан де', 'Оршотан де', 'Шинарин де', 'Кхаарин де', 'Еарин де', 'ПӀераÑкан де', 'Шот де'], - 'weekdays_short' => ['КӀ', 'Ор', 'Ши', 'Кх', 'Еа', 'ПӀ', 'Шо'], - 'weekdays_min' => ['КӀ', 'Ор', 'Ши', 'Кх', 'Еа', 'ПӀ', 'Шо'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 1, - - 'year' => ':count шо', - 'y' => ':count шо', - 'a_year' => ':count шо', - - 'month' => ':count бутт', - 'm' => ':count бутт', - 'a_month' => ':count бутт', - - 'week' => ':count кÓира', - 'w' => ':count кÓира', - 'a_week' => ':count кÓира', - - 'day' => ':count де', - 'd' => ':count де', - 'a_day' => ':count де', - - 'hour' => ':count Ñахьт', - 'h' => ':count Ñахьт', - 'a_hour' => ':count Ñахьт', - - 'minute' => ':count минот', - 'min' => ':count минот', - 'a_minute' => ':count минот', - - 'second' => ':count Ñекунд', - 's' => ':count Ñекунд', - 'a_second' => ':count Ñекунд', -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/cgg.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/cgg.php deleted file mode 100644 index e424408..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/cgg.php +++ /dev/null @@ -1,30 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'weekdays' => ['Sande', 'Orwokubanza', 'Orwakabiri', 'Orwakashatu', 'Orwakana', 'Orwakataano', 'Orwamukaaga'], - 'weekdays_short' => ['SAN', 'ORK', 'OKB', 'OKS', 'OKN', 'OKT', 'OMK'], - 'weekdays_min' => ['SAN', 'ORK', 'OKB', 'OKS', 'OKN', 'OKT', 'OMK'], - 'months' => ['Okwokubanza', 'Okwakabiri', 'Okwakashatu', 'Okwakana', 'Okwakataana', 'Okwamukaaga', 'Okwamushanju', 'Okwamunaana', 'Okwamwenda', 'Okwaikumi', 'Okwaikumi na kumwe', 'Okwaikumi na ibiri'], - 'months_short' => ['KBZ', 'KBR', 'KST', 'KKN', 'KTN', 'KMK', 'KMS', 'KMN', 'KMW', 'KKM', 'KNK', 'KNB'], - 'first_day_of_week' => 1, - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD/MM/YYYY', - 'LL' => 'D MMM YYYY', - 'LLL' => 'D MMMM YYYY HH:mm', - 'LLLL' => 'dddd, D MMMM YYYY HH:mm', - ], - - 'day' => ':count ruhanga', // less reliable - 'd' => ':count ruhanga', // less reliable - 'a_day' => ':count ruhanga', // less reliable -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/chr.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/chr.php deleted file mode 100644 index 6c9c079..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/chr.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return require __DIR__.'/chr_US.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/chr_US.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/chr_US.php deleted file mode 100644 index 2fdf635..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/chr_US.php +++ /dev/null @@ -1,58 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Cherokee Nation Joseph Erb josepherb7@gmail.com - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'MM/DD/YYYY', - ], - 'months' => ['ᎤáƒáŽ¸á”á…', 'ᎧᎦᎵ', 'Ꭰá…á±', 'Ꭷá¬á‚', 'Ꭰá‚áᎬá˜', 'á•áŽ­áŽ·á±', 'Ꭻá°á‰á‚', 'ᎦᎶá‚', 'ášáŽµáá—', 'ášá‚á…á—', 'á…á“á•á†', 'ᎥáᎩá±'], - 'months_short' => ['Ꭴáƒ', 'ᎧᎦ', 'Ꭰá…', 'Ꭷá¬', 'Ꭰá‚', 'á•áŽ­', 'Ꭻá°', 'ᎦᎶ', 'ášáŽµ', 'ášá‚', 'á…á“', 'Ꭵá'], - 'weekdays' => ['ᎤᎾá™á“á†áᎬ', 'ᎤᎾá™á“á‰á…Ꭿ', 'á”ᎵáᎢᎦ', 'á¦áŽ¢áᎢᎦ', 'á…ᎩáᎢᎦ', 'á§áŽ¾áŽ©áŽ¶áá—', 'ᎤᎾá™á“áˆá•áŽ¾'], - 'weekdays_short' => ['á†áᎬ', 'á‰á…Ꭿ', 'á”Ꮅá', 'á¦áŽ¢á', 'á…Ꭹá', 'á§áŽ¾áŽ©', 'áˆá•áŽ¾'], - 'weekdays_min' => ['á†áᎬ', 'á‰á…Ꭿ', 'á”Ꮅá', 'á¦áŽ¢á', 'á…Ꭹá', 'á§áŽ¾áŽ©', 'áˆá•áŽ¾'], - 'day_of_first_week_of_year' => 1, - 'meridiem' => ['áŒáŽ¾áŽ´', 'á’Ꭿá±áŽ¢á—á¢', 'ꮜꮎꮄ', 'ꮢꭿá¹ê­²ê®§ê®²'], - - 'second' => ':count áᎢ', // less reliable - 's' => ':count áᎢ', // less reliable - 'a_second' => ':count áᎢ', // less reliable - - 'year' => ':count á‘á•á˜á´á“', - 'y' => ':count á‘á•á˜á´á“', - 'a_year' => ':count á‘á•á˜á´á“', - - 'month' => ':count áá…á™', - 'm' => ':count áá…á™', - 'a_month' => ':count áá…á™', - - 'week' => ':count á‘Ꮎá™á“á†áá—', - 'w' => ':count á‘Ꮎá™á“á†áá—', - 'a_week' => ':count á‘Ꮎá™á“á†áá—', - - 'day' => ':count ᎢᎦ', - 'd' => ':count ᎢᎦ', - 'a_day' => ':count ᎢᎦ', - - 'hour' => ':count á‘áŸáŽ¶á›', - 'h' => ':count á‘áŸáŽ¶á›', - 'a_hour' => ':count á‘áŸáŽ¶á›', - - 'minute' => ':count Ꭲá¯á”á¬áá”á…', - 'min' => ':count Ꭲá¯á”á¬áá”á…', - 'a_minute' => ':count Ꭲá¯á”á¬áá”á…', - - 'ago' => ':time á¥áŽ¨á’', - 'from_now' => 'ᎾᎿ :time', -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/cmn.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/cmn.php deleted file mode 100644 index d919560..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/cmn.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return require __DIR__.'/cmn_TW.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/cmn_TW.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/cmn_TW.php deleted file mode 100644 index 69adf37..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/cmn_TW.php +++ /dev/null @@ -1,54 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - bug-glibc-locales@gnu.org - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'YYYYå¹´MM月DD號', - ], - 'months' => ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', 'ä¹æœˆ', 'å月', 'å一月', 'å二月'], - 'months_short' => [' 1月', ' 2月', ' 3月', ' 4月', ' 5月', ' 6月', ' 7月', ' 8月', ' 9月', '10月', '11月', '12月'], - 'weekdays' => ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'], - 'weekdays_short' => ['æ—¥', '一', '二', '三', 'å››', '五', 'å…­'], - 'weekdays_min' => ['æ—¥', '一', '二', '三', 'å››', '五', 'å…­'], - 'meridiem' => ['上åˆ', '下åˆ'], - - 'year' => ':count å¹´', - 'y' => ':count å¹´', - 'a_year' => ':count å¹´', - - 'month' => ':count 月', - 'm' => ':count 月', - 'a_month' => ':count 月', - - 'week' => ':count 周', - 'w' => ':count 周', - 'a_week' => ':count 周', - - 'day' => ':count 白天', - 'd' => ':count 白天', - 'a_day' => ':count 白天', - - 'hour' => ':count å°æ—¶', - 'h' => ':count å°æ—¶', - 'a_hour' => ':count å°æ—¶', - - 'minute' => ':count 分钟', - 'min' => ':count 分钟', - 'a_minute' => ':count 分钟', - - 'second' => ':count 秒', - 's' => ':count 秒', - 'a_second' => ':count 秒', -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/crh.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/crh.php deleted file mode 100644 index 1fbed71..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/crh.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return require __DIR__.'/crh_UA.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/crh_UA.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/crh_UA.php deleted file mode 100644 index f551471..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/crh_UA.php +++ /dev/null @@ -1,56 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - ReÅŸat SABIQ tilde.birlik@gmail.com - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'DD.MM.YYYY', - ], - 'months' => ['Yanvar', 'Fevral', 'Mart', 'Aprel', 'Mayıs', 'Ä°yun', 'Ä°yul', 'Avgust', 'Sentâbr', 'Oktâbr', 'Noyabr', 'Dekabr'], - 'months_short' => ['Yan', 'Fev', 'Mar', 'Apr', 'May', 'Ä°yn', 'Ä°yl', 'Avg', 'Sen', 'Okt', 'Noy', 'Dek'], - 'weekdays' => ['Bazar', 'Bazarertesi', 'Salı', 'ÇarÅŸembe', 'CumaaqÅŸamı', 'Cuma', 'Cumaertesi'], - 'weekdays_short' => ['Baz', 'Ber', 'Sal', 'Çar', 'Caq', 'Cum', 'Cer'], - 'weekdays_min' => ['Baz', 'Ber', 'Sal', 'Çar', 'Caq', 'Cum', 'Cer'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 1, - 'meridiem' => ['ÃœE', 'ÃœS'], - - 'year' => ':count yıl', - 'y' => ':count yıl', - 'a_year' => ':count yıl', - - 'month' => ':count ay', - 'm' => ':count ay', - 'a_month' => ':count ay', - - 'week' => ':count afta', - 'w' => ':count afta', - 'a_week' => ':count afta', - - 'day' => ':count kün', - 'd' => ':count kün', - 'a_day' => ':count kün', - - 'hour' => ':count saat', - 'h' => ':count saat', - 'a_hour' => ':count saat', - - 'minute' => ':count daqqa', - 'min' => ':count daqqa', - 'a_minute' => ':count daqqa', - - 'second' => ':count ekinci', - 's' => ':count ekinci', - 'a_second' => ':count ekinci', -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/cs.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/cs.php deleted file mode 100644 index 93677f7..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/cs.php +++ /dev/null @@ -1,98 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/* - * Authors: - * - Philippe Vaucher - * - Jakub Tesinsky - * - Martin Suja - * - Nikos Timiopulos - * - Bohuslav Blín - * - Tsutomu Kuroda - * - tjku - * - Lukas Svoboda - * - Max Melentiev - * - Juanito Fatas - * - Akira Matsuda - * - Christopher Dell - * - Václav Pávek - * - CodeSkills - * - Tlapi - * - newman101 - * - Petr Kadlec - * - tommaskraus - * - Karel Sommer (calvera) - */ -$za = function ($time) { - return 'za '.strtr($time, [ - 'hodina' => 'hodinu', - 'minuta' => 'minutu', - 'sekunda' => 'sekundu', - ]); -}; - -$pred = function ($time) { - $time = strtr($time, [ - 'hodina' => 'hodinou', - 'minuta' => 'minutou', - 'sekunda' => 'sekundou', - ]); - $time = preg_replace('/hodiny?(?!\w)/', 'hodinami', $time); - $time = preg_replace('/minuty?(?!\w)/', 'minutami', $time); - $time = preg_replace('/sekundy?(?!\w)/', 'sekundami', $time); - - return "pÅ™ed $time"; -}; - -return [ - 'year' => ':count rok|:count roky|:count let', - 'y' => ':count rok|:count roky|:count let', - 'a_year' => 'rok|:count roky|:count let', - 'month' => ':count mÄ›síc|:count mÄ›síce|:count mÄ›síců', - 'm' => ':count mÄ›s.', - 'a_month' => 'mÄ›síc|:count mÄ›síce|:count mÄ›síců', - 'week' => ':count týden|:count týdny|:count týdnů', - 'w' => ':count týd.', - 'a_week' => 'týden|:count týdny|:count týdnů', - 'day' => ':count den|:count dny|:count dní', - 'd' => ':count den|:count dny|:count dní', - 'a_day' => 'den|:count dny|:count dní', - 'hour' => ':count hodina|:count hodiny|:count hodin', - 'h' => ':count hod.', - 'a_hour' => 'hodina|:count hodiny|:count hodin', - 'minute' => ':count minuta|:count minuty|:count minut', - 'min' => ':count min.', - 'a_minute' => 'minuta|:count minuty|:count minut', - 'second' => ':count sekunda|:count sekundy|:count sekund', - 's' => ':count sek.', - 'a_second' => 'pár sekund|:count sekundy|:count sekund', - 'ago' => $pred, - 'from_now' => $za, - 'before' => $pred, - 'after' => $za, - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 4, - 'months' => ['leden', 'únor', 'bÅ™ezen', 'duben', 'kvÄ›ten', 'Äerven', 'Äervenec', 'srpen', 'září', 'říjen', 'listopad', 'prosinec'], - 'months_short' => ['led', 'úno', 'bÅ™e', 'dub', 'kvÄ›', 'Ävn', 'Ävc', 'srp', 'zář', 'říj', 'lis', 'pro'], - 'weekdays' => ['nedÄ›le', 'pondÄ›lí', 'úterý', 'stÅ™eda', 'Ätvrtek', 'pátek', 'sobota'], - 'weekdays_short' => ['ned', 'pon', 'úte', 'stÅ™', 'Ätv', 'pát', 'sob'], - 'weekdays_min' => ['ne', 'po', 'út', 'st', 'Ät', 'pá', 'so'], - 'list' => [', ', ' a '], - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD. MM. YYYY', - 'LL' => 'D. MMMM YYYY', - 'LLL' => 'D. MMMM YYYY HH:mm', - 'LLLL' => 'dddd D. MMMM YYYY HH:mm', - ], - 'meridiem' => ['dopoledne', 'odpoledne'], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/cs_CZ.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/cs_CZ.php deleted file mode 100644 index a16a346..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/cs_CZ.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/cs.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/csb.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/csb.php deleted file mode 100644 index 0bb506b..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/csb.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return require __DIR__.'/csb_PL.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/csb_PL.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/csb_PL.php deleted file mode 100644 index 722ffa8..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/csb_PL.php +++ /dev/null @@ -1,41 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - csb_PL locale Michal Ostrowski bug-glibc-locales@gnu.org - */ -return [ - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'YYYY-MM-DD', - 'LL' => 'MMMM DD, YYYY', - 'LLL' => 'DD MMM HH:mm', - 'LLLL' => 'MMMM DD, YYYY HH:mm', - ], - 'months' => ['stëcznika', 'gromicznika', 'strëmiannika', 'łżëkwiata', 'maja', 'czerwiÅ„ca', 'lëpiÅ„ca', 'zélnika', 'séwnika', 'rujana', 'lëstopadnika', 'gòdnika'], - 'months_short' => ['stë', 'gro', 'str', 'łżë', 'maj', 'cze', 'lëp', 'zél', 'séw', 'ruj', 'lës', 'gòd'], - 'weekdays' => ['niedzela', 'pòniedzôłk', 'wtórk', 'strzoda', 'czwiôrtk', 'piÄ…tk', 'sobòta'], - 'weekdays_short' => ['nie', 'pòn', 'wtó', 'str', 'czw', 'piÄ…', 'sob'], - 'weekdays_min' => ['nie', 'pòn', 'wtó', 'str', 'czw', 'piÄ…', 'sob'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 4, - 'list' => [', ', ' a téż '], - 'two_words_connector' => ' a téż ', - 'year' => ':count rok', - 'month' => ':count miesiÄ…c', - 'week' => ':count tidzéń', - 'day' => ':count dzéń', - 'hour' => ':count gòdzëna', - 'minute' => ':count minuta', - 'second' => ':count sekunda', -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/cu.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/cu.php deleted file mode 100644 index 02c983a..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/cu.php +++ /dev/null @@ -1,51 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'months' => ['M01', 'M02', 'M03', 'M04', 'M05', 'M06', 'M07', 'M08', 'M09', 'M10', 'M11', 'M12'], - 'months_short' => ['M01', 'M02', 'M03', 'M04', 'M05', 'M06', 'M07', 'M08', 'M09', 'M10', 'M11', 'M12'], - 'first_day_of_week' => 1, - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'YYYY-MM-DD', - 'LL' => 'YYYY MMM D', - 'LLL' => 'YYYY MMMM D HH:mm', - 'LLLL' => 'YYYY MMMM D, dddd HH:mm', - ], - - 'year' => ':count лѣто', - 'y' => ':count лѣто', - 'a_year' => ':count лѣто', - - 'month' => ':count мѣÑѧць', - 'm' => ':count мѣÑѧць', - 'a_month' => ':count мѣÑѧць', - - 'week' => ':count Ñєдмица', - 'w' => ':count Ñєдмица', - 'a_week' => ':count Ñєдмица', - - 'day' => ':count дьнь', - 'd' => ':count дьнь', - 'a_day' => ':count дьнь', - - 'hour' => ':count година', - 'h' => ':count година', - 'a_hour' => ':count година', - - 'minute' => ':count малъ', // less reliable - 'min' => ':count малъ', // less reliable - 'a_minute' => ':count малъ', // less reliable - - 'second' => ':count въторъ', - 's' => ':count въторъ', - 'a_second' => ':count въторъ', -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/cv.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/cv.php deleted file mode 100644 index a78a543..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/cv.php +++ /dev/null @@ -1,64 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/* - * Authors: - * - Josh Soref - * - François B - * - JD Isaacks - */ -return [ - 'year' => ':count ҫул', - 'a_year' => '{1}пӗр ҫул|:count ҫул', - 'month' => ':count уйӑх', - 'a_month' => '{1}пӗр уйӑх|:count уйӑх', - 'week' => ':count Ñрне', - 'a_week' => '{1}пӗр Ñрне|:count Ñрне', - 'day' => ':count кун', - 'a_day' => '{1}пӗр кун|:count кун', - 'hour' => ':count Ñехет', - 'a_hour' => '{1}пӗр Ñехет|:count Ñехет', - 'minute' => ':count минут', - 'a_minute' => '{1}пӗр минут|:count минут', - 'second' => ':count ҫеккунт', - 'a_second' => '{1}пӗр-ик ҫеккунт|:count ҫеккунт', - 'ago' => ':time каÑлла', - 'from_now' => function ($time) { - return $time.(preg_match('/Ñехет$/', $time) ? 'рен' : (preg_match('/ҫул/', $time) ? 'тан' : 'ран')); - }, - 'diff_yesterday' => 'Ӗнер', - 'diff_tomorrow' => 'Ыран', - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD-MM-YYYY', - 'LL' => 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]', - 'LLL' => 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm', - 'LLLL' => 'dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm', - ], - 'calendar' => [ - 'sameDay' => '[ПаÑн] LT [Ñехетре]', - 'nextDay' => '[Ыран] LT [Ñехетре]', - 'nextWeek' => '[ҪитеÑ] dddd LT [Ñехетре]', - 'lastDay' => '[Ӗнер] LT [Ñехетре]', - 'lastWeek' => '[Иртнӗ] dddd LT [Ñехетре]', - 'sameElse' => 'L', - ], - 'ordinal' => ':number-мӗш', - 'months' => ['кӑрлач', 'нарӑÑ', 'пуш', 'ака', 'май', 'ҫӗртме', 'утӑ', 'ҫурла', 'авӑн', 'юпа', 'чӳк', 'раштав'], - 'months_short' => ['кӑр', 'нар', 'пуш', 'ака', 'май', 'Ò«Ó—Ñ€', 'утӑ', 'ҫур', 'авн', 'юпа', 'чӳк', 'раш'], - 'weekdays' => ['вырÑарникун', 'тунтикун', 'ытларикун', 'юнкун', 'кӗҫнерникун', 'Ñрнекун', 'шӑматкун'], - 'weekdays_short' => ['выр', 'тун', 'ытл', 'юн', 'кӗҫ', 'Ñрн', 'шӑм'], - 'weekdays_min' => ['вр', 'тн', 'Ñ‹Ñ‚', 'юн', 'кҫ', 'ÑÑ€', 'шм'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 1, - 'list' => [', ', ' тата '], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/cv_RU.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/cv_RU.php deleted file mode 100644 index ddff893..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/cv_RU.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/cv.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/cy.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/cy.php deleted file mode 100644 index ff17bd8..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/cy.php +++ /dev/null @@ -1,74 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - François B - * - JD Isaacks - * - Daniel Monaghan - */ -return [ - 'year' => '{1}blwyddyn|]1,Inf[:count flynedd', - 'y' => ':countbl', - 'month' => '{1}mis|]1,Inf[:count mis', - 'm' => ':countmi', - 'week' => ':count wythnos', - 'w' => ':countw', - 'day' => '{1}diwrnod|]1,Inf[:count diwrnod', - 'd' => ':countd', - 'hour' => '{1}awr|]1,Inf[:count awr', - 'h' => ':counth', - 'minute' => '{1}munud|]1,Inf[:count munud', - 'min' => ':countm', - 'second' => '{1}ychydig eiliadau|]1,Inf[:count eiliad', - 's' => ':counts', - 'ago' => ':time yn ôl', - 'from_now' => 'mewn :time', - 'after' => ':time ar ôl', - 'before' => ':time o\'r blaen', - 'diff_yesterday' => 'Ddoe', - 'diff_tomorrow' => 'Yfory', - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD/MM/YYYY', - 'LL' => 'D MMMM YYYY', - 'LLL' => 'D MMMM YYYY HH:mm', - 'LLLL' => 'dddd, D MMMM YYYY HH:mm', - ], - 'calendar' => [ - 'sameDay' => '[Heddiw am] LT', - 'nextDay' => '[Yfory am] LT', - 'nextWeek' => 'dddd [am] LT', - 'lastDay' => '[Ddoe am] LT', - 'lastWeek' => 'dddd [diwethaf am] LT', - 'sameElse' => 'L', - ], - 'ordinal' => function ($number) { - return $number.( - $number > 20 - ? (in_array($number, [40, 50, 60, 80, 100]) ? 'fed' : 'ain') - : ([ - '', 'af', 'il', 'ydd', 'ydd', 'ed', 'ed', 'ed', 'fed', 'fed', 'fed', // 1af to 10fed - 'eg', 'fed', 'eg', 'eg', 'fed', 'eg', 'eg', 'fed', 'eg', 'fed', // 11eg to 20fed - ])[$number] ?? '' - ); - }, - 'months' => ['Ionawr', 'Chwefror', 'Mawrth', 'Ebrill', 'Mai', 'Mehefin', 'Gorffennaf', 'Awst', 'Medi', 'Hydref', 'Tachwedd', 'Rhagfyr'], - 'months_short' => ['Ion', 'Chwe', 'Maw', 'Ebr', 'Mai', 'Meh', 'Gor', 'Aws', 'Med', 'Hyd', 'Tach', 'Rhag'], - 'weekdays' => ['Dydd Sul', 'Dydd Llun', 'Dydd Mawrth', 'Dydd Mercher', 'Dydd Iau', 'Dydd Gwener', 'Dydd Sadwrn'], - 'weekdays_short' => ['Sul', 'Llun', 'Maw', 'Mer', 'Iau', 'Gwe', 'Sad'], - 'weekdays_min' => ['Su', 'Ll', 'Ma', 'Me', 'Ia', 'Gw', 'Sa'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 4, - 'list' => [', ', ' a '], - 'meridiem' => ['yb', 'yh'], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/cy_GB.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/cy_GB.php deleted file mode 100644 index 541127c..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/cy_GB.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/cy.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/da.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/da.php deleted file mode 100644 index a2bd60f..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/da.php +++ /dev/null @@ -1,73 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Rune Mønnike - * - François B - * - codenhagen - * - JD Isaacks - * - Jens Herlevsen - * - Ulrik McArdle (mcardle) - * - Frederik Sauer (FrittenKeeZ) - */ -return [ - 'year' => ':count Ã¥r|:count Ã¥r', - 'a_year' => 'et Ã¥r|:count Ã¥r', - 'y' => ':count Ã¥r|:count Ã¥r', - 'month' => ':count mÃ¥ned|:count mÃ¥neder', - 'a_month' => 'en mÃ¥ned|:count mÃ¥neder', - 'm' => ':count mdr.', - 'week' => ':count uge|:count uger', - 'a_week' => 'en uge|:count uger', - 'w' => ':count u.', - 'day' => ':count dag|:count dage', - 'a_day' => ':count dag|:count dage', - 'd' => ':count d.', - 'hour' => ':count time|:count timer', - 'a_hour' => 'en time|:count timer', - 'h' => ':count t.', - 'minute' => ':count minut|:count minutter', - 'a_minute' => 'et minut|:count minutter', - 'min' => ':count min.', - 'second' => ':count sekund|:count sekunder', - 'a_second' => 'fÃ¥ sekunder|:count sekunder', - 's' => ':count s.', - 'ago' => ':time siden', - 'from_now' => 'om :time', - 'after' => ':time efter', - 'before' => ':time før', - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD.MM.YYYY', - 'LL' => 'D. MMMM YYYY', - 'LLL' => 'D. MMMM YYYY HH:mm', - 'LLLL' => 'dddd [d.] D. MMMM YYYY [kl.] HH:mm', - ], - 'calendar' => [ - 'sameDay' => '[i dag kl.] LT', - 'nextDay' => '[i morgen kl.] LT', - 'nextWeek' => 'pÃ¥ dddd [kl.] LT', - 'lastDay' => '[i gÃ¥r kl.] LT', - 'lastWeek' => '[i] dddd[s kl.] LT', - 'sameElse' => 'L', - ], - 'ordinal' => ':number.', - 'months' => ['januar', 'februar', 'marts', 'april', 'maj', 'juni', 'juli', 'august', 'september', 'oktober', 'november', 'december'], - 'months_short' => ['jan', 'feb', 'mar', 'apr', 'maj', 'jun', 'jul', 'aug', 'sep', 'okt', 'nov', 'dec'], - 'weekdays' => ['søndag', 'mandag', 'tirsdag', 'onsdag', 'torsdag', 'fredag', 'lørdag'], - 'weekdays_short' => ['søn', 'man', 'tir', 'ons', 'tor', 'fre', 'lør'], - 'weekdays_min' => ['sø', 'ma', 'ti', 'on', 'to', 'fr', 'lø'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 4, - 'list' => [', ', ' og '], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/da_DK.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/da_DK.php deleted file mode 100644 index b3bac1a..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/da_DK.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/da.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/da_GL.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/da_GL.php deleted file mode 100644 index b2ba81f..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/da_GL.php +++ /dev/null @@ -1,18 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/da.php', [ - 'formats' => [ - 'L' => 'DD/MM/YYYY', - 'LL' => 'D. MMM YYYY', - 'LLL' => 'D. MMMM YYYY HH.mm', - 'LLLL' => 'dddd [den] D. MMMM YYYY HH.mm', - ], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/dav.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/dav.php deleted file mode 100644 index 79f021e..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/dav.php +++ /dev/null @@ -1,26 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'meridiem' => ['Luma lwa K', 'luma lwa p'], - 'weekdays' => ['Ituku ja jumwa', 'Kuramuka jimweri', 'Kuramuka kawi', 'Kuramuka kadadu', 'Kuramuka kana', 'Kuramuka kasanu', 'Kifula nguwo'], - 'weekdays_short' => ['Jum', 'Jim', 'Kaw', 'Kad', 'Kan', 'Kas', 'Ngu'], - 'weekdays_min' => ['Jum', 'Jim', 'Kaw', 'Kad', 'Kan', 'Kas', 'Ngu'], - 'months' => ['Mori ghwa imbiri', 'Mori ghwa kawi', 'Mori ghwa kadadu', 'Mori ghwa kana', 'Mori ghwa kasanu', 'Mori ghwa karandadu', 'Mori ghwa mfungade', 'Mori ghwa wunyanya', 'Mori ghwa ikenda', 'Mori ghwa ikumi', 'Mori ghwa ikumi na imweri', 'Mori ghwa ikumi na iwi'], - 'months_short' => ['Imb', 'Kaw', 'Kad', 'Kan', 'Kas', 'Kar', 'Mfu', 'Wun', 'Ike', 'Iku', 'Imw', 'Iwi'], - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD/MM/YYYY', - 'LL' => 'D MMM YYYY', - 'LLL' => 'D MMMM YYYY HH:mm', - 'LLLL' => 'dddd, D MMMM YYYY HH:mm', - ], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/de.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/de.php deleted file mode 100644 index ac9ee01..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/de.php +++ /dev/null @@ -1,89 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/* - * Authors: - * - Michael Hohl - * - sheriffmarley - * - dennisoderwald - * - Timo - * - Karag2006 - */ -return [ - 'year' => ':count Jahr|:count Jahre', - 'a_year' => 'ein Jahr|:count Jahre', - 'y' => ':count J.', - 'month' => ':count Monat|:count Monate', - 'a_month' => 'ein Monat|:count Monate', - 'm' => ':count Mon.', - 'week' => ':count Woche|:count Wochen', - 'a_week' => 'eine Woche|:count Wochen', - 'w' => ':count Wo.', - 'day' => ':count Tag|:count Tage', - 'a_day' => 'ein Tag|:count Tage', - 'd' => ':count Tg.', - 'hour' => ':count Stunde|:count Stunden', - 'a_hour' => 'eine Stunde|:count Stunden', - 'h' => ':count Std.', - 'minute' => ':count Minute|:count Minuten', - 'a_minute' => 'eine Minute|:count Minuten', - 'min' => ':count Min.', - 'second' => ':count Sekunde|:count Sekunden', - 'a_second' => 'ein paar Sekunden|:count Sekunden', - 's' => ':count Sek.', - 'ago' => 'vor :time', - 'from_now' => 'in :time', - 'after' => ':time später', - 'before' => ':time zuvor', - - 'year_from_now' => ':count Jahr|:count Jahren', - 'month_from_now' => ':count Monat|:count Monaten', - 'week_from_now' => ':count Woche|:count Wochen', - 'day_from_now' => ':count Tag|:count Tagen', - 'year_ago' => ':count Jahr|:count Jahren', - 'month_ago' => ':count Monat|:count Monaten', - 'week_ago' => ':count Woche|:count Wochen', - 'day_ago' => ':count Tag|:count Tagen', - - 'diff_now' => 'Gerade eben', - 'diff_yesterday' => 'Gestern', - 'diff_tomorrow' => 'Heute', - 'diff_before_yesterday' => 'Vorgestern', - 'diff_after_tomorrow' => 'Ãœbermorgen', - - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD.MM.YYYY', - 'LL' => 'D. MMMM YYYY', - 'LLL' => 'D. MMMM YYYY HH:mm', - 'LLLL' => 'dddd, D. MMMM YYYY HH:mm', - ], - - 'calendar' => [ - 'sameDay' => '[heute um] LT [Uhr]', - 'nextDay' => '[morgen um] LT [Uhr]', - 'nextWeek' => 'dddd [um] LT [Uhr]', - 'lastDay' => '[gestern um] LT [Uhr]', - 'lastWeek' => '[letzten] dddd [um] LT [Uhr]', - 'sameElse' => 'L', - ], - - 'months' => ['Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember'], - 'months_short' => ['Jan', 'Feb', 'Mär', 'Apr', 'Mai', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dez'], - 'weekdays' => ['Sonntag', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag'], - 'weekdays_short' => ['So.', 'Mo.', 'Di.', 'Mi.', 'Do.', 'Fr.', 'Sa.'], - 'weekdays_min' => ['So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa'], - 'ordinal' => ':number.', - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 4, - 'list' => [', ', ' und '], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/de_AT.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/de_AT.php deleted file mode 100644 index 2e28056..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/de_AT.php +++ /dev/null @@ -1,19 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/* - * Authors: - * - sheriffmarley - * - Timo - * - Michael Hohl - * - Namoshek - */ -return require __DIR__.'/de.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/de_BE.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/de_BE.php deleted file mode 100644 index fa44934..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/de_BE.php +++ /dev/null @@ -1,20 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - RAP bug-glibc-locales@gnu.org - */ -return array_replace_recursive(require __DIR__.'/de.php', [ - 'formats' => [ - 'L' => 'YYYY-MM-DD', - ], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/de_CH.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/de_CH.php deleted file mode 100644 index a869ab4..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/de_CH.php +++ /dev/null @@ -1,20 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/* - * Authors: - * - sheriffmarley - * - Timo - * - Michael Hohl - */ -return array_replace_recursive(require __DIR__.'/de.php', [ - 'weekdays_short' => ['So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa'], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/de_DE.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/de_DE.php deleted file mode 100644 index 15eeaee..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/de_DE.php +++ /dev/null @@ -1,16 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Free Software Foundation, Inc. bug-glibc-locales@gnu.org - */ -return require __DIR__.'/de.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/de_IT.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/de_IT.php deleted file mode 100644 index edc7d7c..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/de_IT.php +++ /dev/null @@ -1,16 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Matthias Dieter Wallno:fer libc-locales@sourceware.org - */ -return require __DIR__.'/de.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/de_LI.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/de_LI.php deleted file mode 100644 index 82edfa1..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/de_LI.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/de.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/de_LU.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/de_LU.php deleted file mode 100644 index fa44934..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/de_LU.php +++ /dev/null @@ -1,20 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - RAP bug-glibc-locales@gnu.org - */ -return array_replace_recursive(require __DIR__.'/de.php', [ - 'formats' => [ - 'L' => 'YYYY-MM-DD', - ], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/dje.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/dje.php deleted file mode 100644 index 08ddbf1..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/dje.php +++ /dev/null @@ -1,39 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'meridiem' => ['Subbaahi', 'Zaarikay b'], - 'weekdays' => ['Alhadi', 'Atinni', 'Atalaata', 'Alarba', 'Alhamisi', 'Alzuma', 'Asibti'], - 'weekdays_short' => ['Alh', 'Ati', 'Ata', 'Ala', 'Alm', 'Alz', 'Asi'], - 'weekdays_min' => ['Alh', 'Ati', 'Ata', 'Ala', 'Alm', 'Alz', 'Asi'], - 'months' => ['Žanwiye', 'Feewiriye', 'Marsi', 'Awiril', 'Me', 'ŽuweÅ‹', 'Žuyye', 'Ut', 'Sektanbur', 'Oktoobur', 'Noowanbur', 'Deesanbur'], - 'months_short' => ['Žan', 'Fee', 'Mar', 'Awi', 'Me', 'Žuw', 'Žuy', 'Ut', 'Sek', 'Okt', 'Noo', 'Dee'], - 'first_day_of_week' => 1, - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'D/M/YYYY', - 'LL' => 'D MMM, YYYY', - 'LLL' => 'D MMMM YYYY HH:mm', - 'LLLL' => 'dddd D MMMM YYYY HH:mm', - ], - - 'year' => ':count hari', // less reliable - 'y' => ':count hari', // less reliable - 'a_year' => ':count hari', // less reliable - - 'week' => ':count alzuma', // less reliable - 'w' => ':count alzuma', // less reliable - 'a_week' => ':count alzuma', // less reliable - - 'second' => ':count atinni', // less reliable - 's' => ':count atinni', // less reliable - 'a_second' => ':count atinni', // less reliable -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/doi.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/doi.php deleted file mode 100644 index 4b713ad..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/doi.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return require __DIR__.'/doi_IN.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/doi_IN.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/doi_IN.php deleted file mode 100644 index 0e70711..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/doi_IN.php +++ /dev/null @@ -1,31 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Red Hat Pune libc-alpha@sourceware.org - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'D/M/YY', - ], - 'months' => ['जनवरी', 'फरवरी', 'मारà¥à¤š', 'à¤à¤ªà¥à¤°à¥ˆà¤²', 'मेई', 'जून', 'जूलै', 'अगसà¥à¤¤', 'सितंबर', 'अकà¥à¤¤à¥‚बर', 'नवंबर', 'दिसंबर'], - 'months_short' => ['जनवरी', 'फरवरी', 'मारà¥à¤š', 'à¤à¤ªà¥à¤°à¥ˆà¤²', 'मेई', 'जून', 'जूलै', 'अगसà¥à¤¤', 'सितंबर', 'अकà¥à¤¤à¥‚बर', 'नवंबर', 'दिसंबर'], - 'weekdays' => ['à¤à¤¤à¤¬à¤¾à¤°', 'सोमबार', 'मंगलबर', 'बà¥à¤§à¤¬à¤¾à¤°', 'बीरबार', 'शà¥à¤•à¥à¤•à¤°à¤¬à¤¾à¤°', 'शà¥à¤¨à¥€à¤šà¤°à¤¬à¤¾à¤°'], - 'weekdays_short' => ['à¤à¤¤', 'सोम', 'मंगल', 'बà¥à¤§', 'बीर', 'शà¥à¤•à¥à¤•à¤°', 'शà¥à¤¨à¥€à¤šà¤°'], - 'weekdays_min' => ['à¤à¤¤', 'सोम', 'मंगल', 'बà¥à¤§', 'बीर', 'शà¥à¤•à¥à¤•à¤°', 'शà¥à¤¨à¥€à¤šà¤°'], - 'day_of_first_week_of_year' => 1, - 'meridiem' => ['सञं', 'सबेर'], - - 'second' => ':count सङार', // less reliable - 's' => ':count सङार', // less reliable - 'a_second' => ':count सङार', // less reliable -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/dsb.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/dsb.php deleted file mode 100644 index 89eaf36..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/dsb.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return require __DIR__.'/dsb_DE.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/dsb_DE.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/dsb_DE.php deleted file mode 100644 index 1183b1a..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/dsb_DE.php +++ /dev/null @@ -1,60 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Information from Michael Wolf bug-glibc-locales@gnu.org - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD.MM.YYYY', - 'LL' => 'DD. MMMM YYYY', - 'LLL' => 'DD. MMMM, HH:mm [góź.]', - 'LLLL' => 'dddd, DD. MMMM YYYY, HH:mm [góź.]', - ], - 'months' => ['januara', 'februara', 'mÄ›rca', 'apryla', 'maja', 'junija', 'julija', 'awgusta', 'septembra', 'oktobra', 'nowembra', 'decembra'], - 'months_short' => ['Jan', 'Feb', 'MÄ›r', 'Apr', 'Maj', 'Jun', 'Jul', 'Awg', 'Sep', 'Okt', 'Now', 'Dec'], - 'weekdays' => ['Njeźela', 'Pónjeźele', 'WaÅ‚tora', 'Srjoda', 'Stwórtk', 'PÄ›tk', 'Sobota'], - 'weekdays_short' => ['Nj', 'Pó', 'Wa', 'Sr', 'St', 'PÄ›', 'So'], - 'weekdays_min' => ['Nj', 'Pó', 'Wa', 'Sr', 'St', 'PÄ›', 'So'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 4, - - 'year' => ':count lÄ›to', - 'y' => ':count lÄ›to', - 'a_year' => ':count lÄ›to', - - 'month' => ':count mjasec', - 'm' => ':count mjasec', - 'a_month' => ':count mjasec', - - 'week' => ':count tyźeÅ„', - 'w' => ':count tyźeÅ„', - 'a_week' => ':count tyźeÅ„', - - 'day' => ':count źeÅ„', - 'd' => ':count źeÅ„', - 'a_day' => ':count źeÅ„', - - 'hour' => ':count góźina', - 'h' => ':count góźina', - 'a_hour' => ':count góźina', - - 'minute' => ':count minuta', - 'min' => ':count minuta', - 'a_minute' => ':count minuta', - - 'second' => ':count drugi', - 's' => ':count drugi', - 'a_second' => ':count drugi', -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/dua.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/dua.php deleted file mode 100644 index 65d712f..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/dua.php +++ /dev/null @@ -1,55 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'meridiem' => ['idiÉ“a', 'ebyámu'], - 'weekdays' => ['éti', 'mÉ”Ìsú', 'kwasú', 'mukÉ”Ìsú', 'Å‹gisú', 'ɗónÉ›sú', 'esaÉ“asú'], - 'weekdays_short' => ['ét', 'mÉ”Ìs', 'kwa', 'muk', 'Å‹gi', 'ɗón', 'esa'], - 'weekdays_min' => ['ét', 'mÉ”Ìs', 'kwa', 'muk', 'Å‹gi', 'ɗón', 'esa'], - 'months' => ['dimÉ”Ìdi', 'Å‹gÉ”ndÉ›', 'sɔŋɛ', 'diɓáɓá', 'emiasele', 'esÉ”pÉ›sÉ”pÉ›', 'madiÉ“É›ÌdíɓɛÌ', 'diÅ‹gindi', 'nyÉ›tÉ›ki', 'mayésÉ›Ì', 'tiníní', 'eláŋgÉ›Ì'], - 'months_short' => ['di', 'Å‹gÉ”n', 'sɔŋ', 'diÉ“', 'emi', 'esÉ”', 'mad', 'diÅ‹', 'nyÉ›t', 'may', 'tin', 'elá'], - 'first_day_of_week' => 1, - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'D/M/YYYY', - 'LL' => 'D MMM YYYY', - 'LLL' => 'D MMMM YYYY HH:mm', - 'LLLL' => 'dddd D MMMM YYYY HH:mm', - ], - - 'year' => ':count ma mbu', // less reliable - 'y' => ':count ma mbu', // less reliable - 'a_year' => ':count ma mbu', // less reliable - - 'month' => ':count myo̱di', // less reliable - 'm' => ':count myo̱di', // less reliable - 'a_month' => ':count myo̱di', // less reliable - - 'week' => ':count woki', // less reliable - 'w' => ':count woki', // less reliable - 'a_week' => ':count woki', // less reliable - - 'day' => ':count buÅ„a', // less reliable - 'd' => ':count buÅ„a', // less reliable - 'a_day' => ':count buÅ„a', // less reliable - - 'hour' => ':count ma awa', // less reliable - 'h' => ':count ma awa', // less reliable - 'a_hour' => ':count ma awa', // less reliable - - 'minute' => ':count minuti', // less reliable - 'min' => ':count minuti', // less reliable - 'a_minute' => ':count minuti', // less reliable - - 'second' => ':count maba', // less reliable - 's' => ':count maba', // less reliable - 'a_second' => ':count maba', // less reliable -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/dv.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/dv.php deleted file mode 100644 index 5e99732..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/dv.php +++ /dev/null @@ -1,87 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -$months = [ - 'Þ–Þ¬Þ‚ÞªÞ‡Þ¦ÞƒÞ©', - 'ÞŠÞ¬Þ„Þ°ÞƒÞªÞ‡Þ¦ÞƒÞ©', - 'Þ‰Þ§ÞƒÞ¨Þ—Þª', - 'Þ‡Þ­Þ•Þ°ÞƒÞ©ÞÞª', - 'Þ‰Þ­', - 'Þ–Þ«Þ‚Þ°', - 'Þ–ÞªÞÞ¦Þ‡Þ¨', - 'Þ‡Þ¯ÞŽÞ¦ÞÞ°Þ“Þª', - 'ÞÞ¬Þ•Þ°Þ“Þ¬Þ‰Þ°Þ„Þ¦ÞƒÞª', - 'Þ‡Þ®Þ†Þ°Þ“Þ¯Þ„Þ¦ÞƒÞª', - 'Þ‚Þ®ÞˆÞ¬Þ‰Þ°Þ„Þ¦ÞƒÞª', - 'Þ‘Þ¨ÞÞ¬Þ‰Þ°Þ„Þ¦ÞƒÞª', -]; - -$weekdays = [ - 'އާދިއްތަ', - 'Þ€Þ¯Þ‰Þ¦', - 'Þ‡Þ¦Þ‚Þ°ÞŽÞ§ÞƒÞ¦', - 'Þ„ÞªÞ‹Þ¦', - 'Þ„ÞªÞƒÞ§Þްފަތި', - 'Þ€ÞªÞ†ÞªÞƒÞª', - 'Þ€Þ®Þ‚Þ¨Þ€Þ¨ÞƒÞª', -]; - -/* - * Authors: - * - Josh Soref - * - Jawish Hameed - */ -return [ - 'year' => ':count '.'Þ‡Þ¦Þ€Þ¦ÞƒÞª', - 'a_year' => '{1}'.'Þ‡Þ¦Þ€Þ¦ÞƒÞ¬Þ‡Þ°'.'|:count '.'Þ‡Þ¦Þ€Þ¦ÞƒÞª', - 'month' => ':count '.'Þ‰Þ¦ÞÞ°', - 'a_month' => '{1}'.'Þ‰Þ¦Þ€Þ¬Þ‡Þ°'.'|:count '.'Þ‰Þ¦ÞÞ°', - 'week' => ':count '.'ހަފްތާ', - 'a_week' => '{1}'.'Þިކުންތުކޮޅެއް'.'|:count '.'ހަފްތާ', - 'day' => ':count '.'Þ‹ÞªÞˆÞ¦ÞÞ°', - 'a_day' => '{1}'.'Þ‹ÞªÞˆÞ¦Þ€Þ¬Þ‡Þ°'.'|:count '.'Þ‹ÞªÞˆÞ¦ÞÞ°', - 'hour' => ':count '.'ÞŽÞ¦Þ‘Þ¨Þ‡Þ¨ÞƒÞª', - 'a_hour' => '{1}'.'ÞŽÞ¦Þ‘Þ¨Þ‡Þ¨ÞƒÞ¬Þ‡Þ°'.'|:count '.'ÞŽÞ¦Þ‘Þ¨Þ‡Þ¨ÞƒÞª', - 'minute' => ':count '.'Þ‰Þ¨Þ‚Þ¨Þ“Þª', - 'a_minute' => '{1}'.'Þ‰Þ¨Þ‚Þ¨Þ“Þ¬Þ‡Þ°'.'|:count '.'Þ‰Þ¨Þ‚Þ¨Þ“Þª', - 'second' => ':count '.'Þިކުންތު', - 'a_second' => '{1}'.'Þިކުންތުކޮޅެއް'.'|:count '.'Þިކުންތު', - 'ago' => 'Þ†ÞªÞƒÞ¨Þ‚Þ° :time', - 'from_now' => 'ތެރޭގައި :time', - 'after' => ':time ÞŠÞ¦Þ€ÞªÞ‚Þ°', - 'before' => ':time Þ†ÞªÞƒÞ¨', - 'diff_yesterday' => 'Þ‡Þ¨Þ‡Þ°Þ”Þ¬', - 'diff_tomorrow' => 'Þ‰Þ§Þ‹Þ¦Þ‰Þ§', - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'D/M/YYYY', - 'LL' => 'D MMMM YYYY', - 'LLL' => 'D MMMM YYYY HH:mm', - 'LLLL' => 'dddd D MMMM YYYY HH:mm', - ], - 'calendar' => [ - 'sameDay' => '[Þ‰Þ¨Þ‡Þ¦Þ‹Þª] LT', - 'nextDay' => '[Þ‰Þ§Þ‹Þ¦Þ‰Þ§] LT', - 'nextWeek' => 'dddd LT', - 'lastDay' => '[Þ‡Þ¨Þ‡Þ°Þ”Þ¬] LT', - 'lastWeek' => '[ފާއިތުވި] dddd LT', - 'sameElse' => 'L', - ], - 'meridiem' => ['Þ‰Þ†', 'Þ‰ÞŠ'], - 'months' => $months, - 'months_short' => $months, - 'weekdays' => $weekdays, - 'weekdays_short' => $weekdays, - 'weekdays_min' => ['Þ‡Þ§Þ‹Þ¨', 'Þ€Þ¯Þ‰Þ¦', 'Þ‡Þ¦Þ‚Þ°', 'Þ„ÞªÞ‹Þ¦', 'Þ„ÞªÞƒÞ§', 'Þ€ÞªÞ†Þª', 'Þ€Þ®Þ‚Þ¨'], - 'list' => [', ', ' Þ‡Þ¦Þ‹Þ¨ '], - 'first_day_of_week' => 0, - 'day_of_first_week_of_year' => 1, -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/dv_MV.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/dv_MV.php deleted file mode 100644 index 5df95dc..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/dv_MV.php +++ /dev/null @@ -1,86 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/* - * Authors: - * - Ahmed Ali - */ - -$months = [ - 'Þ–Þ¬Þ‚ÞªÞ‡Þ¦ÞƒÞ©', - 'ÞŠÞ¬Þ„Þ°ÞƒÞªÞ‡Þ¦ÞƒÞ©', - 'Þ‰Þ§ÞƒÞ¨Þ—Þª', - 'Þ‡Þ­Þ•Þ°ÞƒÞ©ÞÞª', - 'Þ‰Þ­', - 'Þ–Þ«Þ‚Þ°', - 'Þ–ÞªÞÞ¦Þ‡Þ¨', - 'Þ‡Þ¯ÞŽÞ¦ÞÞ°Þ“Þª', - 'ÞÞ¬Þ•Þ°Þ“Þ¬Þ‰Þ°Þ„Þ¦ÞƒÞª', - 'Þ‡Þ®Þ†Þ°Þ“Þ¯Þ„Þ¦ÞƒÞª', - 'Þ‚Þ®ÞˆÞ¬Þ‰Þ°Þ„Þ¦ÞƒÞª', - 'Þ‘Þ¨ÞÞ¬Þ‰Þ°Þ„Þ¦ÞƒÞª', -]; - -$weekdays = [ - 'އާދިއްތަ', - 'Þ€Þ¯Þ‰Þ¦', - 'Þ‡Þ¦Þ‚Þ°ÞŽÞ§ÞƒÞ¦', - 'Þ„ÞªÞ‹Þ¦', - 'Þ„ÞªÞƒÞ§Þްފަތި', - 'Þ€ÞªÞ†ÞªÞƒÞª', - 'Þ€Þ®Þ‚Þ¨Þ€Þ¨ÞƒÞª', -]; - -return [ - 'year' => '{0}Þ‡Þ¦Þ€Þ¦ÞƒÞ¬Þ‡Þ°|[1,Inf]:count Þ‡Þ¦Þ€Þ¦ÞƒÞª', - 'y' => '{0}Þ‡Þ¦Þ€Þ¦ÞƒÞ¬Þ‡Þ°|[1,Inf]:count Þ‡Þ¦Þ€Þ¦ÞƒÞª', - 'month' => '{0}Þ‰Þ¦Þ‡Þ°ÞÞ¦ÞƒÞ¬Þ‡Þ°|[1,Inf]:count Þ‰Þ¦ÞÞ°', - 'm' => '{0}Þ‰Þ¦Þ‡Þ°ÞÞ¦ÞƒÞ¬Þ‡Þ°|[1,Inf]:count Þ‰Þ¦ÞÞ°', - 'week' => '{0}ހަފްތާއެއް|[1,Inf]:count ހަފްތާ', - 'w' => '{0}ހަފްތާއެއް|[1,Inf]:count ހަފްތާ', - 'day' => '{0}Þ‹ÞªÞˆÞ¦ÞÞ°|[1,Inf]:count Þ‹ÞªÞˆÞ¦ÞÞ°', - 'd' => '{0}Þ‹ÞªÞˆÞ¦ÞÞ°|[1,Inf]:count Þ‹ÞªÞˆÞ¦ÞÞ°', - 'hour' => '{0}ÞŽÞ¦Þ‘Þ¨Þ‡Þ¨ÞƒÞ¬Þ‡Þ°|[1,Inf]:count ÞŽÞ¦Þ‘Þ¨', - 'h' => '{0}ÞŽÞ¦Þ‘Þ¨Þ‡Þ¨ÞƒÞ¬Þ‡Þ°|[1,Inf]:count ÞŽÞ¦Þ‘Þ¨', - 'minute' => '{0}Þ‰Þ¨Þ‚Þ¬Þ“Þ¬Þ‡Þ°|[1,Inf]:count Þ‰Þ¨Þ‚Þ¬Þ“Þ°', - 'min' => '{0}Þ‰Þ¨Þ‚Þ¬Þ“Þ¬Þ‡Þ°|[1,Inf]:count Þ‰Þ¨Þ‚Þ¬Þ“Þ°', - 'second' => '{0}Þިކުންތެއް|[1,Inf]:count Þިކުންތު', - 's' => '{0}Þިކުންތެއް|[1,Inf]:count Þިކުންތު', - 'ago' => ':time Þ†ÞªÞƒÞ¨Þ‚Þ°', - 'from_now' => ':time ÞŠÞ¦Þ€ÞªÞ‚Þ°', - 'after' => ':time ÞŠÞ¦Þ€ÞªÞ‚Þ°', - 'before' => ':time Þ†ÞªÞƒÞ¨', - 'diff_yesterday' => 'Þ‡Þ¨Þ‡Þ°Þ”Þ¬', - 'diff_tomorrow' => 'Þ‰Þ§Þ‹Þ¦Þ‰Þ§', - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'D/M/YYYY', - 'LL' => 'D MMMM YYYY', - 'LLL' => 'D MMMM YYYY HH:mm', - 'LLLL' => 'dddd D MMMM YYYY HH:mm', - ], - 'calendar' => [ - 'sameDay' => '[Þ‰Þ¨Þ‡Þ¦Þ‹Þª] LT', - 'nextDay' => '[Þ‰Þ§Þ‹Þ¦Þ‰Þ§] LT', - 'nextWeek' => 'dddd LT', - 'lastDay' => '[Þ‡Þ¨Þ‡Þ°Þ”Þ¬] LT', - 'lastWeek' => '[ފާއިތުވި] dddd LT', - 'sameElse' => 'L', - ], - 'meridiem' => ['Þ‰Þ†', 'Þ‰ÞŠ'], - 'months' => $months, - 'months_short' => $months, - 'weekdays' => $weekdays, - 'weekdays_short' => $weekdays, - 'weekdays_min' => ['Þ‡Þ§Þ‹Þ¨', 'Þ€Þ¯Þ‰Þ¦', 'Þ‡Þ¦Þ‚Þ°', 'Þ„ÞªÞ‹Þ¦', 'Þ„ÞªÞƒÞ§', 'Þ€ÞªÞ†Þª', 'Þ€Þ®Þ‚Þ¨'], - 'list' => [', ', ' Þ‡Þ¦Þ‹Þ¨ '], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/dyo.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/dyo.php deleted file mode 100644 index ecb649b..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/dyo.php +++ /dev/null @@ -1,26 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'weekdays' => ['Dimas', 'TeneÅ‹', 'Talata', 'Alarbay', 'Aramisay', 'Arjuma', 'Sibiti'], - 'weekdays_short' => ['Dim', 'Ten', 'Tal', 'Ala', 'Ara', 'Arj', 'Sib'], - 'weekdays_min' => ['Dim', 'Ten', 'Tal', 'Ala', 'Ara', 'Arj', 'Sib'], - 'months' => ['Sanvie', 'Fébirie', 'Mars', 'Aburil', 'Mee', 'SueÅ‹', 'Súuyee', 'Ut', 'Settembar', 'Oktobar', 'Novembar', 'Disambar'], - 'months_short' => ['Sa', 'Fe', 'Ma', 'Ab', 'Me', 'Su', 'Sú', 'Ut', 'Se', 'Ok', 'No', 'De'], - 'first_day_of_week' => 1, - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'D/M/YYYY', - 'LL' => 'D MMM YYYY', - 'LLL' => 'D MMMM YYYY HH:mm', - 'LLLL' => 'dddd D MMMM YYYY HH:mm', - ], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/dz.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/dz.php deleted file mode 100644 index 38ae0ef..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/dz.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return require __DIR__.'/dz_BT.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/dz_BT.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/dz_BT.php deleted file mode 100644 index 0ed4e5f..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/dz_BT.php +++ /dev/null @@ -1,43 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Sherubtse College bug-glibc@gnu.org - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'པསྱི་ལོYYཟལMMཚེསDD', - ], - 'months' => ['ཟླ་བ་དང་པ་', 'ཟླ་བ་གཉིས་པ་', 'ཟླ་བ་གསུམ་པ་', 'ཟླ་བ་བཞི་པ་', 'ཟླ་བ་ལྔ་ཕ་', 'ཟླ་བ་དྲུག་པ་', 'ཟླ་བ་བདུནཔ་', 'ཟླ་བ་བརྒྱད་པ་', 'ཟླ་བ་དགུ་པ་', 'ཟླ་བ་བཅུ་པ་', 'ཟླ་བ་བཅུ་གཅིག་པ་', 'ཟླ་བ་བཅུ་གཉིས་པ་'], - 'months_short' => ['ཟླ་༡', 'ཟླ་༢', 'ཟླ་༣', 'ཟླ་༤', 'ཟླ་༥', 'ཟླ་༦', 'ཟླ་༧', 'ཟླ་༨', 'ཟླ་༩', 'ཟླ་༡༠', 'ཟླ་༡༡', 'ཟླ་༡༢'], - 'weekdays' => ['གཟའ་ཟླ་བ་', 'གཟའ་མིག་དམར་', 'གཟའ་ལྷག་ཕ་', 'གཟའ་པུར་བུ་', 'གཟའ་པ་སངས་', 'གཟའ་སྤེན་ཕ་', 'གཟའ་ཉི་མ་'], - 'weekdays_short' => ['ཟླ་', 'མིར་', 'ལྷག་', 'པུར་', 'སངས་', 'སྤེན་', 'ཉི་'], - 'weekdays_min' => ['ཟླ་', 'མིར་', 'ལྷག་', 'པུར་', 'སངས་', 'སྤེན་', 'ཉི་'], - 'day_of_first_week_of_year' => 1, - 'meridiem' => ['ངས་ཆ', 'ཕྱི་ཆ'], - - 'year' => ':count ཆརཔ', // less reliable - 'y' => ':count ཆརཔ', // less reliable - 'a_year' => ':count ཆརཔ', // less reliable - - 'month' => ':count ཟླ་བ', // less reliable - 'm' => ':count ཟླ་བ', // less reliable - 'a_month' => ':count ཟླ་བ', // less reliable - - 'day' => ':count ཉི', // less reliable - 'd' => ':count ཉི', // less reliable - 'a_day' => ':count ཉི', // less reliable - - 'second' => ':count ཆ', // less reliable - 's' => ':count ཆ', // less reliable - 'a_second' => ':count ཆ', // less reliable -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ebu.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ebu.php deleted file mode 100644 index 5aab48d..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ebu.php +++ /dev/null @@ -1,26 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'meridiem' => ['KI', 'UT'], - 'weekdays' => ['Kiumia', 'Njumatatu', 'Njumaine', 'Njumatano', 'Aramithi', 'Njumaa', 'NJumamothii'], - 'weekdays_short' => ['Kma', 'Tat', 'Ine', 'Tan', 'Arm', 'Maa', 'NMM'], - 'weekdays_min' => ['Kma', 'Tat', 'Ine', 'Tan', 'Arm', 'Maa', 'NMM'], - 'months' => ['Mweri wa mbere', 'Mweri wa kaÄ©ri', 'Mweri wa kathatÅ©', 'Mweri wa kana', 'Mweri wa gatano', 'Mweri wa gatantatÅ©', 'Mweri wa mÅ©gwanja', 'Mweri wa kanana', 'Mweri wa kenda', 'Mweri wa ikÅ©mi', 'Mweri wa ikÅ©mi na Å©mwe', 'Mweri wa ikÅ©mi na KaÄ©rÄ©'], - 'months_short' => ['Mbe', 'Kai', 'Kat', 'Kan', 'Gat', 'Gan', 'Mug', 'Knn', 'Ken', 'Iku', 'Imw', 'Igi'], - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD/MM/YYYY', - 'LL' => 'D MMM YYYY', - 'LLL' => 'D MMMM YYYY HH:mm', - 'LLLL' => 'dddd, D MMMM YYYY HH:mm', - ], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ee.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ee.php deleted file mode 100644 index 2fd9dcd..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ee.php +++ /dev/null @@ -1,55 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'meridiem' => ['Å‹', 'É£'], - 'weekdays' => ['kÉ”siÉ–a', 'dzoÉ–a', 'blaÉ–a', 'kuÉ–a', 'yawoÉ–a', 'fiÉ–a', 'memleÉ–a'], - 'weekdays_short' => ['kÉ”s', 'dzo', 'bla', 'kuÉ–', 'yaw', 'fiÉ–', 'mem'], - 'weekdays_min' => ['kÉ”s', 'dzo', 'bla', 'kuÉ–', 'yaw', 'fiÉ–', 'mem'], - 'months' => ['dzove', 'dzodze', 'tedoxe', 'afÉ”fÄ©e', 'dama', 'masa', 'siamlÉ”m', 'deasiamime', 'anyÉ”nyÉ”', 'kele', 'adeÉ›mekpÉ”xe', 'dzome'], - 'months_short' => ['dzv', 'dzd', 'ted', 'afÉ”', 'dam', 'mas', 'sia', 'dea', 'any', 'kel', 'ade', 'dzm'], - 'first_day_of_week' => 1, - 'formats' => [ - 'LT' => 'a [ga] h:mm', - 'LTS' => 'a [ga] h:mm:ss', - 'L' => 'M/D/YYYY', - 'LL' => 'MMM D [lia], YYYY', - 'LLL' => 'a [ga] h:mm MMMM D [lia] YYYY', - 'LLLL' => 'a [ga] h:mm dddd, MMMM D [lia] YYYY', - ], - - 'year' => 'Æ’e :count', - 'y' => 'Æ’e :count', - 'a_year' => 'Æ’e :count', - - 'month' => 'É£leti :count', - 'm' => 'É£leti :count', - 'a_month' => 'É£leti :count', - - 'week' => 'kwasiÉ–a :count', - 'w' => 'kwasiÉ–a :count', - 'a_week' => 'kwasiÉ–a :count', - - 'day' => 'Å‹keke :count', - 'd' => 'Å‹keke :count', - 'a_day' => 'Å‹keke :count', - - 'hour' => 'gaÆ’oÆ’o :count', - 'h' => 'gaÆ’oÆ’o :count', - 'a_hour' => 'gaÆ’oÆ’o :count', - - 'minute' => 'miniti :count', // less reliable - 'min' => 'miniti :count', // less reliable - 'a_minute' => 'miniti :count', // less reliable - - 'second' => 'sÉ›kÉ›nd :count', // less reliable - 's' => 'sÉ›kÉ›nd :count', // less reliable - 'a_second' => 'sÉ›kÉ›nd :count', // less reliable -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ee_TG.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ee_TG.php deleted file mode 100644 index 02d77e6..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ee_TG.php +++ /dev/null @@ -1,18 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/ee.php', [ - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'LLL' => 'HH:mm MMMM D [lia] YYYY', - 'LLLL' => 'HH:mm dddd, MMMM D [lia] YYYY', - ], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/el.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/el.php deleted file mode 100644 index f76060f..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/el.php +++ /dev/null @@ -1,83 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Alessandro Di Felice - * - François B - * - Tim Fish - * - Gabriel Monteagudo - * - JD Isaacks - * - yiannisdesp - * - Ilias Kasmeridis (iliaskasm) - */ -return [ - 'year' => ':count χÏόνος|:count χÏόνια', - 'a_year' => 'ένας χÏόνος|:count χÏόνια', - 'y' => ':count χÏ.', - 'month' => ':count μήνας|:count μήνες', - 'a_month' => 'ένας μήνας|:count μήνες', - 'm' => ':count μήν.', - 'week' => ':count εβδομάδα|:count εβδομάδες', - 'a_week' => 'μια εβδομάδα|:count εβδομάδες', - 'w' => ':count εβδ.', - 'day' => ':count μέÏα|:count μέÏες', - 'a_day' => 'μία μέÏα|:count μέÏες', - 'd' => ':count μέÏ.', - 'hour' => ':count ÏŽÏα|:count ÏŽÏες', - 'a_hour' => 'μία ÏŽÏα|:count ÏŽÏες', - 'h' => ':count ÏŽÏα|:count ÏŽÏες', - 'minute' => ':count λεπτό|:count λεπτά', - 'a_minute' => 'ένα λεπτό|:count λεπτά', - 'min' => ':count λεπ.', - 'second' => ':count δευτεÏόλεπτο|:count δευτεÏόλεπτα', - 'a_second' => 'λίγα δευτεÏόλεπτα|:count δευτεÏόλεπτα', - 's' => ':count δευ.', - 'ago' => ':time Ï€Ïιν', - 'from_now' => 'σε :time', - 'after' => ':time μετά', - 'before' => ':time Ï€Ïιν', - 'formats' => [ - 'LT' => 'h:mm A', - 'LTS' => 'h:mm:ss A', - 'L' => 'DD/MM/YYYY', - 'LL' => 'D MMMM YYYY', - 'LLL' => 'D MMMM YYYY h:mm A', - 'LLLL' => 'dddd, D MMMM YYYY h:mm A', - ], - 'calendar' => [ - 'sameDay' => '[ΣήμεÏα {}] LT', - 'nextDay' => '[ΑÏÏιο {}] LT', - 'nextWeek' => 'dddd [{}] LT', - 'lastDay' => '[Χθες {}] LT', - 'lastWeek' => function (\Carbon\CarbonInterface $current) { - switch ($current->dayOfWeek) { - case 6: - return '[το Ï€ÏοηγοÏμενο] dddd [{}] LT'; - default: - return '[την Ï€ÏοηγοÏμενη] dddd [{}] LT'; - } - }, - 'sameElse' => 'L', - ], - 'ordinal' => ':numberη', - 'meridiem' => ['ΠΜ', 'ΜΜ', 'πμ', 'μμ'], - 'months' => ['ΙανουαÏίου', 'ΦεβÏουαÏίου', 'ΜαÏτίου', 'ΑπÏιλίου', 'ΜαÎου', 'Ιουνίου', 'Ιουλίου', 'ΑυγοÏστου', 'ΣεπτεμβÏίου', 'ΟκτωβÏίου', 'ÎοεμβÏίου', 'ΔεκεμβÏίου'], - 'months_standalone' => ['ΙανουάÏιος', 'ΦεβÏουάÏιος', 'ΜάÏτιος', 'ΑπÏίλιος', 'Μάιος', 'ΙοÏνιος', 'ΙοÏλιος', 'ΑÏγουστος', 'ΣεπτέμβÏιος', 'ΟκτώβÏιος', 'ÎοέμβÏιος', 'ΔεκέμβÏιος'], - 'months_regexp' => '/D[oD]?[\s,]+MMMM/', - 'months_short' => ['Ιαν', 'Φεβ', 'ΜαÏ', 'ΑπÏ', 'Μαϊ', 'Ιουν', 'Ιουλ', 'Αυγ', 'Σεπ', 'Οκτ', 'Îοε', 'Δεκ'], - 'weekdays' => ['ΚυÏιακή', 'ΔευτέÏα', 'ΤÏίτη', 'ΤετάÏτη', 'Πέμπτη', 'ΠαÏασκευή', 'Σάββατο'], - 'weekdays_short' => ['ΚυÏ', 'Δευ', 'ΤÏι', 'Τετ', 'Πεμ', 'ΠαÏ', 'Σαβ'], - 'weekdays_min' => ['Κυ', 'Δε', 'ΤÏ', 'Τε', 'Πε', 'Πα', 'Σα'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 4, - 'list' => [', ', ' και '], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/el_CY.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/el_CY.php deleted file mode 100644 index b2b47c7..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/el_CY.php +++ /dev/null @@ -1,19 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Greek Debian Translation Team bug-glibc@gnu.org - */ -return array_replace_recursive(require __DIR__.'/el.php', [ - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/el_GR.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/el_GR.php deleted file mode 100644 index cfc2cf0..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/el_GR.php +++ /dev/null @@ -1,19 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - RAP bug-glibc-locales@gnu.org - */ -return array_replace_recursive(require __DIR__.'/el.php', [ - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 4, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en.php deleted file mode 100644 index 39f0f76..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en.php +++ /dev/null @@ -1,73 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/* - * Authors: - * - Milos Sakovic - * - Paul - */ -return [ - 'year' => '{1}:count year|{0}:count years|]1,Inf[:count years', - 'a_year' => '{1}a year|{0}:count years|]1,Inf[:count years', - 'y' => '{1}:countyr|{0}:countyrs|]1,Inf[:countyrs', - 'month' => '{1}:count month|{0}:count months|]1,Inf[:count months', - 'a_month' => '{1}a month|{0}:count months|]1,Inf[:count months', - 'm' => '{1}:countmo|{0}:countmos|]1,Inf[:countmos', - 'week' => '{1}:count week|{0}:count weeks|]1,Inf[:count weeks', - 'a_week' => '{1}a week|{0}:count weeks|]1,Inf[:count weeks', - 'w' => ':countw', - 'day' => '{1}:count day|{0}:count days|]1,Inf[:count days', - 'a_day' => '{1}a day|{0}:count days|]1,Inf[:count days', - 'd' => ':countd', - 'hour' => '{1}:count hour|{0}:count hours|]1,Inf[:count hours', - 'a_hour' => '{1}an hour|{0}:count hours|]1,Inf[:count hours', - 'h' => ':counth', - 'minute' => '{1}:count minute|{0}:count minutes|]1,Inf[:count minutes', - 'a_minute' => '{1}a minute|{0}:count minutes|]1,Inf[:count minutes', - 'min' => ':countm', - 'second' => '{1}:count second|{0}:count seconds|]1,Inf[:count seconds', - 'a_second' => '{1}a few seconds|{0}:count seconds|]1,Inf[:count seconds', - 's' => ':counts', - 'ago' => ':time ago', - 'from_now' => ':time from now', - 'after' => ':time after', - 'before' => ':time before', - 'diff_now' => 'just now', - 'diff_yesterday' => 'yesterday', - 'diff_tomorrow' => 'tomorrow', - 'diff_before_yesterday' => 'before yesterday', - 'diff_after_tomorrow' => 'after tomorrow', - 'period_recurrences' => '{1}once|{0}:count times|]1,Inf[:count times', - 'period_interval' => 'every :interval', - 'period_start_date' => 'from :date', - 'period_end_date' => 'to :date', - 'months' => ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], - 'months_short' => ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], - 'weekdays' => ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], - 'weekdays_short' => ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], - 'weekdays_min' => ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'], - 'ordinal' => function ($number) { - $lastDigit = $number % 10; - - return $number.( - (~~($number % 100 / 10) === 1) ? 'th' : ( - ($lastDigit === 1) ? 'st' : ( - ($lastDigit === 2) ? 'nd' : ( - ($lastDigit === 3) ? 'rd' : 'th' - ) - ) - ) - ); - }, - 'list' => [', ', ' and '], - 'first_day_of_week' => 0, - 'day_of_first_week_of_year' => 1, -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_001.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_001.php deleted file mode 100644 index 9f2a3f7..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_001.php +++ /dev/null @@ -1,13 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'first_day_of_week' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_150.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_150.php deleted file mode 100644 index 9f2a3f7..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_150.php +++ /dev/null @@ -1,13 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'first_day_of_week' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_AG.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_AG.php deleted file mode 100644 index 8913858..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_AG.php +++ /dev/null @@ -1,21 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Free Software Foundation, Inc. bug-glibc-locales@gnu.org - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'DD/MM/YY', - ], - 'day_of_first_week_of_year' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_AI.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_AI.php deleted file mode 100644 index 9f2a3f7..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_AI.php +++ /dev/null @@ -1,13 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'first_day_of_week' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_AS.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_AS.php deleted file mode 100644 index 31f60e1..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_AS.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/en.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_AT.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_AT.php deleted file mode 100644 index 9f2a3f7..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_AT.php +++ /dev/null @@ -1,13 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'first_day_of_week' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_AU.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_AU.php deleted file mode 100644 index d95b4c0..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_AU.php +++ /dev/null @@ -1,31 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Kunal Marwaha - * - François B - * - Mayank Badola - * - JD Isaacks - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'from_now' => 'in :time', - 'formats' => [ - 'LT' => 'h:mm A', - 'LTS' => 'h:mm:ss A', - 'L' => 'DD/MM/YYYY', - 'LL' => 'D MMMM YYYY', - 'LLL' => 'D MMMM YYYY h:mm A', - 'LLLL' => 'dddd, D MMMM YYYY h:mm A', - ], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 4, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_BB.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_BB.php deleted file mode 100644 index 9f2a3f7..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_BB.php +++ /dev/null @@ -1,13 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'first_day_of_week' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_BE.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_BE.php deleted file mode 100644 index 9f2a3f7..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_BE.php +++ /dev/null @@ -1,13 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'first_day_of_week' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_BI.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_BI.php deleted file mode 100644 index 9f2a3f7..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_BI.php +++ /dev/null @@ -1,13 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'first_day_of_week' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_BM.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_BM.php deleted file mode 100644 index 9f2a3f7..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_BM.php +++ /dev/null @@ -1,13 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'first_day_of_week' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_BS.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_BS.php deleted file mode 100644 index 31f60e1..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_BS.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/en.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_BW.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_BW.php deleted file mode 100644 index 31f60e1..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_BW.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/en.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_BZ.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_BZ.php deleted file mode 100644 index 31f60e1..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_BZ.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/en.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_CA.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_CA.php deleted file mode 100644 index 40c389f..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_CA.php +++ /dev/null @@ -1,29 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - François B - * - Zhan Tong Zhang - * - Mayank Badola - * - JD Isaacks - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'from_now' => 'in :time', - 'formats' => [ - 'LT' => 'h:mm A', - 'LTS' => 'h:mm:ss A', - 'L' => 'YYYY-MM-DD', - 'LL' => 'MMMM D, YYYY', - 'LLL' => 'MMMM D, YYYY h:mm A', - 'LLLL' => 'dddd, MMMM D, YYYY h:mm A', - ], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_CC.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_CC.php deleted file mode 100644 index 9f2a3f7..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_CC.php +++ /dev/null @@ -1,13 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'first_day_of_week' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_CH.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_CH.php deleted file mode 100644 index 9f2a3f7..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_CH.php +++ /dev/null @@ -1,13 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'first_day_of_week' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_CK.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_CK.php deleted file mode 100644 index 9f2a3f7..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_CK.php +++ /dev/null @@ -1,13 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'first_day_of_week' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_CM.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_CM.php deleted file mode 100644 index 9f2a3f7..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_CM.php +++ /dev/null @@ -1,13 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'first_day_of_week' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_CX.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_CX.php deleted file mode 100644 index 9f2a3f7..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_CX.php +++ /dev/null @@ -1,13 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'first_day_of_week' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_CY.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_CY.php deleted file mode 100644 index 9c39084..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_CY.php +++ /dev/null @@ -1,28 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - NehaGautam - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'from_now' => 'in :time', - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD-MM-YYYY', - 'LL' => 'D MMMM YYYY', - 'LLL' => 'D MMMM YYYY HH:mm', - 'LLLL' => 'dddd, D MMMM YYYY HH:mm', - ], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 4, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_DE.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_DE.php deleted file mode 100644 index 9f2a3f7..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_DE.php +++ /dev/null @@ -1,13 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'first_day_of_week' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_DG.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_DG.php deleted file mode 100644 index 9f2a3f7..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_DG.php +++ /dev/null @@ -1,13 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'first_day_of_week' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_DK.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_DK.php deleted file mode 100644 index 31021f7..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_DK.php +++ /dev/null @@ -1,22 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Danish Standards Association bug-glibc-locales@gnu.org - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'YYYY-MM-DD', - ], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 4, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_DM.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_DM.php deleted file mode 100644 index 31f60e1..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_DM.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/en.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_ER.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_ER.php deleted file mode 100644 index 9f2a3f7..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_ER.php +++ /dev/null @@ -1,13 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'first_day_of_week' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_FI.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_FI.php deleted file mode 100644 index 9f2a3f7..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_FI.php +++ /dev/null @@ -1,13 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'first_day_of_week' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_FJ.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_FJ.php deleted file mode 100644 index 9f2a3f7..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_FJ.php +++ /dev/null @@ -1,13 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'first_day_of_week' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_FK.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_FK.php deleted file mode 100644 index 9f2a3f7..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_FK.php +++ /dev/null @@ -1,13 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'first_day_of_week' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_FM.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_FM.php deleted file mode 100644 index 9f2a3f7..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_FM.php +++ /dev/null @@ -1,13 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'first_day_of_week' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_GB.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_GB.php deleted file mode 100644 index 2f65c5c..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_GB.php +++ /dev/null @@ -1,30 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - François B - * - Mayank Badola - * - JD Isaacks - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'from_now' => 'in :time', - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD/MM/YYYY', - 'LL' => 'D MMMM YYYY', - 'LLL' => 'D MMMM YYYY HH:mm', - 'LLLL' => 'dddd, D MMMM YYYY HH:mm', - ], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 4, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_GD.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_GD.php deleted file mode 100644 index 9f2a3f7..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_GD.php +++ /dev/null @@ -1,13 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'first_day_of_week' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_GG.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_GG.php deleted file mode 100644 index 9f2a3f7..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_GG.php +++ /dev/null @@ -1,13 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'first_day_of_week' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_GH.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_GH.php deleted file mode 100644 index 9f2a3f7..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_GH.php +++ /dev/null @@ -1,13 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'first_day_of_week' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_GI.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_GI.php deleted file mode 100644 index 9f2a3f7..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_GI.php +++ /dev/null @@ -1,13 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'first_day_of_week' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_GM.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_GM.php deleted file mode 100644 index 9f2a3f7..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_GM.php +++ /dev/null @@ -1,13 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'first_day_of_week' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_GU.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_GU.php deleted file mode 100644 index 31f60e1..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_GU.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/en.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_GY.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_GY.php deleted file mode 100644 index 9f2a3f7..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_GY.php +++ /dev/null @@ -1,13 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'first_day_of_week' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_HK.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_HK.php deleted file mode 100644 index 36d58e9..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_HK.php +++ /dev/null @@ -1,18 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - IBM Globalization Center of Competency, Yamato Software Laboratory bug-glibc-locales@gnu.org - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'day_of_first_week_of_year' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_IE.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_IE.php deleted file mode 100644 index ec383fb..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_IE.php +++ /dev/null @@ -1,31 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Martin McWhorter - * - François B - * - Chris Cartlidge - * - JD Isaacks - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'from_now' => 'in :time', - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD-MM-YYYY', - 'LL' => 'D MMMM YYYY', - 'LLL' => 'D MMMM YYYY HH:mm', - 'LLLL' => 'dddd D MMMM YYYY HH:mm', - ], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 4, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_IL.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_IL.php deleted file mode 100644 index 5de0f29..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_IL.php +++ /dev/null @@ -1,29 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Yoav Amit - * - François B - * - Mayank Badola - * - JD Isaacks - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'from_now' => 'in :time', - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD/MM/YYYY', - 'LL' => 'D MMMM YYYY', - 'LLL' => 'D MMMM YYYY HH:mm', - 'LLLL' => 'dddd, D MMMM YYYY HH:mm', - ], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_IM.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_IM.php deleted file mode 100644 index 9f2a3f7..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_IM.php +++ /dev/null @@ -1,13 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'first_day_of_week' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_IN.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_IN.php deleted file mode 100644 index 7698433..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_IN.php +++ /dev/null @@ -1,26 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - IBM Globalization Center of Competency, Yamato Software Laboratory bug-glibc-locales@gnu.org - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD/MM/YY', - 'LL' => 'MMMM DD, YYYY', - 'LLL' => 'DD MMM HH:mm', - 'LLLL' => 'MMMM DD, YYYY HH:mm', - ], - 'day_of_first_week_of_year' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_IO.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_IO.php deleted file mode 100644 index 9f2a3f7..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_IO.php +++ /dev/null @@ -1,13 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'first_day_of_week' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_ISO.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_ISO.php deleted file mode 100644 index 6ae11c9..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_ISO.php +++ /dev/null @@ -1,20 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'YYYY-MM-dd', - 'LL' => 'YYYY MMM D', - 'LLL' => 'YYYY MMMM D HH:mm', - 'LLLL' => 'dddd, YYYY MMMM DD HH:mm', - ], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_JE.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_JE.php deleted file mode 100644 index 9f2a3f7..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_JE.php +++ /dev/null @@ -1,13 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'first_day_of_week' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_JM.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_JM.php deleted file mode 100644 index 31f60e1..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_JM.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/en.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_KE.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_KE.php deleted file mode 100644 index 31f60e1..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_KE.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/en.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_KI.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_KI.php deleted file mode 100644 index 9f2a3f7..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_KI.php +++ /dev/null @@ -1,13 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'first_day_of_week' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_KN.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_KN.php deleted file mode 100644 index 9f2a3f7..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_KN.php +++ /dev/null @@ -1,13 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'first_day_of_week' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_KY.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_KY.php deleted file mode 100644 index 9f2a3f7..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_KY.php +++ /dev/null @@ -1,13 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'first_day_of_week' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_LC.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_LC.php deleted file mode 100644 index 9f2a3f7..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_LC.php +++ /dev/null @@ -1,13 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'first_day_of_week' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_LR.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_LR.php deleted file mode 100644 index 9f2a3f7..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_LR.php +++ /dev/null @@ -1,13 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'first_day_of_week' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_LS.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_LS.php deleted file mode 100644 index 9f2a3f7..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_LS.php +++ /dev/null @@ -1,13 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'first_day_of_week' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_MG.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_MG.php deleted file mode 100644 index 9f2a3f7..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_MG.php +++ /dev/null @@ -1,13 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'first_day_of_week' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_MH.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_MH.php deleted file mode 100644 index 31f60e1..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_MH.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/en.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_MO.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_MO.php deleted file mode 100644 index 31f60e1..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_MO.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/en.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_MP.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_MP.php deleted file mode 100644 index 9f2a3f7..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_MP.php +++ /dev/null @@ -1,13 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'first_day_of_week' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_MS.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_MS.php deleted file mode 100644 index 9f2a3f7..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_MS.php +++ /dev/null @@ -1,13 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'first_day_of_week' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_MT.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_MT.php deleted file mode 100644 index 31f60e1..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_MT.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/en.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_MU.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_MU.php deleted file mode 100644 index 9f2a3f7..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_MU.php +++ /dev/null @@ -1,13 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'first_day_of_week' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_MW.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_MW.php deleted file mode 100644 index 9f2a3f7..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_MW.php +++ /dev/null @@ -1,13 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'first_day_of_week' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_MY.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_MY.php deleted file mode 100644 index 9f2a3f7..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_MY.php +++ /dev/null @@ -1,13 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'first_day_of_week' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_NA.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_NA.php deleted file mode 100644 index 9f2a3f7..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_NA.php +++ /dev/null @@ -1,13 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'first_day_of_week' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_NF.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_NF.php deleted file mode 100644 index 9f2a3f7..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_NF.php +++ /dev/null @@ -1,13 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'first_day_of_week' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_NG.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_NG.php deleted file mode 100644 index 1d0d34f..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_NG.php +++ /dev/null @@ -1,17 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'DD/MM/YY', - ], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_NL.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_NL.php deleted file mode 100644 index 9f2a3f7..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_NL.php +++ /dev/null @@ -1,13 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'first_day_of_week' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_NR.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_NR.php deleted file mode 100644 index 9f2a3f7..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_NR.php +++ /dev/null @@ -1,13 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'first_day_of_week' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_NU.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_NU.php deleted file mode 100644 index 9f2a3f7..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_NU.php +++ /dev/null @@ -1,13 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'first_day_of_week' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_NZ.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_NZ.php deleted file mode 100644 index 4dc7c2f..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_NZ.php +++ /dev/null @@ -1,31 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - François B - * - Mayank Badola - * - Luke McGregor - * - JD Isaacks - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'from_now' => 'in :time', - 'formats' => [ - 'LT' => 'h:mm A', - 'LTS' => 'h:mm:ss A', - 'L' => 'DD/MM/YYYY', - 'LL' => 'D MMMM YYYY', - 'LLL' => 'D MMMM YYYY h:mm A', - 'LLLL' => 'dddd, D MMMM YYYY h:mm A', - ], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 4, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_PG.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_PG.php deleted file mode 100644 index 9f2a3f7..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_PG.php +++ /dev/null @@ -1,13 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'first_day_of_week' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_PH.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_PH.php deleted file mode 100644 index 36d58e9..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_PH.php +++ /dev/null @@ -1,18 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - IBM Globalization Center of Competency, Yamato Software Laboratory bug-glibc-locales@gnu.org - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'day_of_first_week_of_year' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_PK.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_PK.php deleted file mode 100644 index 31f60e1..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_PK.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/en.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_PN.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_PN.php deleted file mode 100644 index 9f2a3f7..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_PN.php +++ /dev/null @@ -1,13 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'first_day_of_week' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_PR.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_PR.php deleted file mode 100644 index 31f60e1..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_PR.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/en.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_PW.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_PW.php deleted file mode 100644 index 9f2a3f7..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_PW.php +++ /dev/null @@ -1,13 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'first_day_of_week' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_RW.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_RW.php deleted file mode 100644 index 9f2a3f7..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_RW.php +++ /dev/null @@ -1,13 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'first_day_of_week' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_SB.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_SB.php deleted file mode 100644 index 9f2a3f7..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_SB.php +++ /dev/null @@ -1,13 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'first_day_of_week' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_SC.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_SC.php deleted file mode 100644 index 9f2a3f7..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_SC.php +++ /dev/null @@ -1,13 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'first_day_of_week' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_SD.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_SD.php deleted file mode 100644 index ce4780c..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_SD.php +++ /dev/null @@ -1,14 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'first_day_of_week' => 6, - 'weekend' => [5, 6], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_SE.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_SE.php deleted file mode 100644 index 9f2a3f7..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_SE.php +++ /dev/null @@ -1,13 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'first_day_of_week' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_SG.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_SG.php deleted file mode 100644 index ed0b3f9..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_SG.php +++ /dev/null @@ -1,23 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'from_now' => 'in :time', - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD/MM/YYYY', - 'LL' => 'D MMMM YYYY', - 'LLL' => 'D MMMM YYYY HH:mm', - 'LLLL' => 'dddd, D MMMM YYYY HH:mm', - ], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 4, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_SH.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_SH.php deleted file mode 100644 index 9f2a3f7..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_SH.php +++ /dev/null @@ -1,13 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'first_day_of_week' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_SI.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_SI.php deleted file mode 100644 index 9f2a3f7..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_SI.php +++ /dev/null @@ -1,13 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'first_day_of_week' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_SL.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_SL.php deleted file mode 100644 index 9f2a3f7..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_SL.php +++ /dev/null @@ -1,13 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'first_day_of_week' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_SS.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_SS.php deleted file mode 100644 index 9f2a3f7..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_SS.php +++ /dev/null @@ -1,13 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'first_day_of_week' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_SX.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_SX.php deleted file mode 100644 index 9f2a3f7..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_SX.php +++ /dev/null @@ -1,13 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'first_day_of_week' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_SZ.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_SZ.php deleted file mode 100644 index 9f2a3f7..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_SZ.php +++ /dev/null @@ -1,13 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'first_day_of_week' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_TC.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_TC.php deleted file mode 100644 index 9f2a3f7..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_TC.php +++ /dev/null @@ -1,13 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'first_day_of_week' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_TK.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_TK.php deleted file mode 100644 index 9f2a3f7..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_TK.php +++ /dev/null @@ -1,13 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'first_day_of_week' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_TO.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_TO.php deleted file mode 100644 index 9f2a3f7..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_TO.php +++ /dev/null @@ -1,13 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'first_day_of_week' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_TT.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_TT.php deleted file mode 100644 index 31f60e1..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_TT.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/en.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_TV.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_TV.php deleted file mode 100644 index 9f2a3f7..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_TV.php +++ /dev/null @@ -1,13 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'first_day_of_week' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_TZ.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_TZ.php deleted file mode 100644 index 9f2a3f7..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_TZ.php +++ /dev/null @@ -1,13 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'first_day_of_week' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_UG.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_UG.php deleted file mode 100644 index 9f2a3f7..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_UG.php +++ /dev/null @@ -1,13 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'first_day_of_week' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_UM.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_UM.php deleted file mode 100644 index 31f60e1..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_UM.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/en.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_US.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_US.php deleted file mode 100644 index 31f60e1..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_US.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/en.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_US_Posix.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_US_Posix.php deleted file mode 100644 index 31f60e1..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_US_Posix.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/en.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_VC.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_VC.php deleted file mode 100644 index 9f2a3f7..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_VC.php +++ /dev/null @@ -1,13 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'first_day_of_week' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_VG.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_VG.php deleted file mode 100644 index 9f2a3f7..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_VG.php +++ /dev/null @@ -1,13 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'first_day_of_week' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_VI.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_VI.php deleted file mode 100644 index 31f60e1..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_VI.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/en.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_VU.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_VU.php deleted file mode 100644 index 9f2a3f7..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_VU.php +++ /dev/null @@ -1,13 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'first_day_of_week' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_WS.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_WS.php deleted file mode 100644 index 31f60e1..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_WS.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/en.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_ZA.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_ZA.php deleted file mode 100644 index 2d865b5..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_ZA.php +++ /dev/null @@ -1,26 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Zuza Software Foundation (Translate.org.za) Dwayne Bailey dwayne@translate.org.za - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD/MM/YY', - 'LL' => 'MMMM DD, YYYY', - 'LLL' => 'DD MMM HH:mm', - 'LLLL' => 'MMMM DD, YYYY HH:mm', - ], - 'day_of_first_week_of_year' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_ZM.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_ZM.php deleted file mode 100644 index c9b51aa..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_ZM.php +++ /dev/null @@ -1,22 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - ANLoc Martin Benjamin locales@africanlocalization.net - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'DD/MM/YY', - ], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_ZW.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_ZW.php deleted file mode 100644 index 31f60e1..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/en_ZW.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/en.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/eo.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/eo.php deleted file mode 100644 index 859ebfe..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/eo.php +++ /dev/null @@ -1,73 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Josh Soref - * - François B - * - Mia Nordentoft - * - JD Isaacks - */ -return [ - 'year' => ':count jaro|:count jaroj', - 'a_year' => 'jaro|:count jaroj', - 'y' => ':count j.', - 'month' => ':count monato|:count monatoj', - 'a_month' => 'monato|:count monatoj', - 'm' => ':count mo.', - 'week' => ':count semajno|:count semajnoj', - 'a_week' => 'semajno|:count semajnoj', - 'w' => ':count sem.', - 'day' => ':count tago|:count tagoj', - 'a_day' => 'tago|:count tagoj', - 'd' => ':count t.', - 'hour' => ':count horo|:count horoj', - 'a_hour' => 'horo|:count horoj', - 'h' => ':count h.', - 'minute' => ':count minuto|:count minutoj', - 'a_minute' => 'minuto|:count minutoj', - 'min' => ':count min.', - 'second' => ':count sekundo|:count sekundoj', - 'a_second' => 'sekundoj|:count sekundoj', - 's' => ':count sek.', - 'ago' => 'antaÅ­ :time', - 'from_now' => 'post :time', - 'after' => ':time poste', - 'before' => ':time antaÅ­e', - 'diff_yesterday' => 'HieraÅ­', - 'diff_tomorrow' => 'MorgaÅ­', - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'YYYY-MM-DD', - 'LL' => 'D[-a de] MMMM, YYYY', - 'LLL' => 'D[-a de] MMMM, YYYY HH:mm', - 'LLLL' => 'dddd, [la] D[-a de] MMMM, YYYY HH:mm', - ], - 'calendar' => [ - 'sameDay' => '[HodiaÅ­ je] LT', - 'nextDay' => '[MorgaÅ­ je] LT', - 'nextWeek' => 'dddd [je] LT', - 'lastDay' => '[HieraÅ­ je] LT', - 'lastWeek' => '[pasinta] dddd [je] LT', - 'sameElse' => 'L', - ], - 'ordinal' => ':numbera', - 'meridiem' => ['a.t.m.', 'p.t.m.'], - 'months' => ['januaro', 'februaro', 'marto', 'aprilo', 'majo', 'junio', 'julio', 'aÅ­gusto', 'septembro', 'oktobro', 'novembro', 'decembro'], - 'months_short' => ['jan', 'feb', 'mar', 'apr', 'maj', 'jun', 'jul', 'aÅ­g', 'sep', 'okt', 'nov', 'dec'], - 'weekdays' => ['dimanĉo', 'lundo', 'mardo', 'merkredo', 'ĵaÅ­do', 'vendredo', 'sabato'], - 'weekdays_short' => ['dim', 'lun', 'mard', 'merk', 'ĵaÅ­', 'ven', 'sab'], - 'weekdays_min' => ['di', 'lu', 'ma', 'me', 'ĵa', 've', 'sa'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 1, - 'list' => [', ', ' kaj '], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/es.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/es.php deleted file mode 100644 index b15dd28..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/es.php +++ /dev/null @@ -1,97 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Kunal Marwaha - * - kostas - * - François B - * - Tim Fish - * - Claire Coloma - * - Steven Heinrich - * - JD Isaacks - * - Raphael Amorim - * - Jorge Y. Castillo - * - Víctor Díaz - * - Diego - * - Sebastian Thierer - * - quinterocesar - * - Daniel Commesse Liévanos (danielcommesse) - */ -return [ - 'year' => ':count año|:count años', - 'a_year' => 'un año|:count años', - 'y' => ':count año|:count años', - 'month' => ':count mes|:count meses', - 'a_month' => 'un mes|:count meses', - 'm' => ':count mes|:count meses', - 'week' => ':count semana|:count semanas', - 'a_week' => 'una semana|:count semanas', - 'w' => ':countsem', - 'day' => ':count día|:count días', - 'a_day' => 'un día|:count días', - 'd' => ':countd', - 'hour' => ':count hora|:count horas', - 'a_hour' => 'una hora|:count horas', - 'h' => ':counth', - 'minute' => ':count minuto|:count minutos', - 'a_minute' => 'un minuto|:count minutos', - 'min' => ':countm', - 'second' => ':count segundo|:count segundos', - 'a_second' => 'unos segundos|:count segundos', - 's' => ':counts', - 'ago' => 'hace :time', - 'from_now' => 'en :time', - 'after' => ':time después', - 'before' => ':time antes', - 'diff_now' => 'ahora mismo', - 'diff_yesterday' => 'ayer', - 'diff_tomorrow' => 'mañana', - 'diff_before_yesterday' => 'antier', - 'diff_after_tomorrow' => 'pasado mañana', - 'formats' => [ - 'LT' => 'H:mm', - 'LTS' => 'H:mm:ss', - 'L' => 'DD/MM/YYYY', - 'LL' => 'D [de] MMMM [de] YYYY', - 'LLL' => 'D [de] MMMM [de] YYYY H:mm', - 'LLLL' => 'dddd, D [de] MMMM [de] YYYY H:mm', - ], - 'calendar' => [ - 'sameDay' => function (\Carbon\CarbonInterface $current) { - return '[hoy a la'.($current->hour !== 1 ? 's' : '').'] LT'; - }, - 'nextDay' => function (\Carbon\CarbonInterface $current) { - return '[mañana a la'.($current->hour !== 1 ? 's' : '').'] LT'; - }, - 'nextWeek' => function (\Carbon\CarbonInterface $current) { - return 'dddd [a la'.($current->hour !== 1 ? 's' : '').'] LT'; - }, - 'lastDay' => function (\Carbon\CarbonInterface $current) { - return '[ayer a la'.($current->hour !== 1 ? 's' : '').'] LT'; - }, - 'lastWeek' => function (\Carbon\CarbonInterface $current) { - return '[el] dddd [pasado a la'.($current->hour !== 1 ? 's' : '').'] LT'; - }, - 'sameElse' => 'L', - ], - 'months' => ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], - 'months_short' => ['ene', 'feb', 'mar', 'abr', 'may', 'jun', 'jul', 'ago', 'sep', 'oct', 'nov', 'dic'], - 'mmm_suffix' => '.', - 'ordinal' => ':numberº', - 'weekdays' => ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado'], - 'weekdays_short' => ['dom.', 'lun.', 'mar.', 'mié.', 'jue.', 'vie.', 'sáb.'], - 'weekdays_min' => ['do', 'lu', 'ma', 'mi', 'ju', 'vi', 'sá'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 4, - 'list' => [', ', ' y '], - 'meridiem' => ['a. m.', 'p. m.'], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/es_419.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/es_419.php deleted file mode 100644 index 9b358df..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/es_419.php +++ /dev/null @@ -1,19 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - RAP bug-glibc-locales@gnu.org - */ -return array_replace_recursive(require __DIR__.'/es.php', [ - 'first_day_of_week' => 0, - 'day_of_first_week_of_year' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/es_AR.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/es_AR.php deleted file mode 100644 index 9b358df..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/es_AR.php +++ /dev/null @@ -1,19 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - RAP bug-glibc-locales@gnu.org - */ -return array_replace_recursive(require __DIR__.'/es.php', [ - 'first_day_of_week' => 0, - 'day_of_first_week_of_year' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/es_BO.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/es_BO.php deleted file mode 100644 index 5342c06..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/es_BO.php +++ /dev/null @@ -1,19 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - RAP bug-glibc-locales@gnu.org - */ -return array_replace_recursive(require __DIR__.'/es.php', [ - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/es_BR.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/es_BR.php deleted file mode 100644 index e9dbe2b..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/es_BR.php +++ /dev/null @@ -1,13 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/es.php', [ - 'first_day_of_week' => 0, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/es_BZ.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/es_BZ.php deleted file mode 100644 index e9dbe2b..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/es_BZ.php +++ /dev/null @@ -1,13 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/es.php', [ - 'first_day_of_week' => 0, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/es_CL.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/es_CL.php deleted file mode 100644 index 9b358df..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/es_CL.php +++ /dev/null @@ -1,19 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - RAP bug-glibc-locales@gnu.org - */ -return array_replace_recursive(require __DIR__.'/es.php', [ - 'first_day_of_week' => 0, - 'day_of_first_week_of_year' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/es_CO.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/es_CO.php deleted file mode 100644 index 9b358df..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/es_CO.php +++ /dev/null @@ -1,19 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - RAP bug-glibc-locales@gnu.org - */ -return array_replace_recursive(require __DIR__.'/es.php', [ - 'first_day_of_week' => 0, - 'day_of_first_week_of_year' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/es_CR.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/es_CR.php deleted file mode 100644 index 1d971b5..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/es_CR.php +++ /dev/null @@ -1,19 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Free Software Foundation, Inc. bug-glibc-locales@gnu.org - */ -return array_replace_recursive(require __DIR__.'/es.php', [ - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/es_CU.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/es_CU.php deleted file mode 100644 index 96391d4..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/es_CU.php +++ /dev/null @@ -1,13 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/es.php', [ - 'first_day_of_week' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/es_DO.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/es_DO.php deleted file mode 100644 index bf9dd72..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/es_DO.php +++ /dev/null @@ -1,31 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - kostas - * - François B - * - Tim Fish - * - Chiel Robben - * - Claire Coloma - * - Steven Heinrich - * - JD Isaacks - * - Raphael Amorim - */ -return array_replace_recursive(require __DIR__.'/es.php', [ - 'diff_before_yesterday' => 'anteayer', - 'formats' => [ - 'LT' => 'h:mm A', - 'LTS' => 'h:mm:ss A', - 'LLL' => 'D [de] MMMM [de] YYYY h:mm A', - 'LLLL' => 'dddd, D [de] MMMM [de] YYYY h:mm A', - ], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/es_EA.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/es_EA.php deleted file mode 100644 index 96391d4..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/es_EA.php +++ /dev/null @@ -1,13 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/es.php', [ - 'first_day_of_week' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/es_EC.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/es_EC.php deleted file mode 100644 index 9b358df..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/es_EC.php +++ /dev/null @@ -1,19 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - RAP bug-glibc-locales@gnu.org - */ -return array_replace_recursive(require __DIR__.'/es.php', [ - 'first_day_of_week' => 0, - 'day_of_first_week_of_year' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/es_ES.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/es_ES.php deleted file mode 100644 index 6b78239..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/es_ES.php +++ /dev/null @@ -1,16 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - RAP bug-glibc-locales@gnu.org - */ -return require __DIR__.'/es.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/es_GQ.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/es_GQ.php deleted file mode 100644 index 96391d4..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/es_GQ.php +++ /dev/null @@ -1,13 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/es.php', [ - 'first_day_of_week' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/es_GT.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/es_GT.php deleted file mode 100644 index 9b358df..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/es_GT.php +++ /dev/null @@ -1,19 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - RAP bug-glibc-locales@gnu.org - */ -return array_replace_recursive(require __DIR__.'/es.php', [ - 'first_day_of_week' => 0, - 'day_of_first_week_of_year' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/es_HN.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/es_HN.php deleted file mode 100644 index 9b358df..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/es_HN.php +++ /dev/null @@ -1,19 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - RAP bug-glibc-locales@gnu.org - */ -return array_replace_recursive(require __DIR__.'/es.php', [ - 'first_day_of_week' => 0, - 'day_of_first_week_of_year' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/es_IC.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/es_IC.php deleted file mode 100644 index 96391d4..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/es_IC.php +++ /dev/null @@ -1,13 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/es.php', [ - 'first_day_of_week' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/es_MX.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/es_MX.php deleted file mode 100644 index 9b358df..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/es_MX.php +++ /dev/null @@ -1,19 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - RAP bug-glibc-locales@gnu.org - */ -return array_replace_recursive(require __DIR__.'/es.php', [ - 'first_day_of_week' => 0, - 'day_of_first_week_of_year' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/es_NI.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/es_NI.php deleted file mode 100644 index 9657a69..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/es_NI.php +++ /dev/null @@ -1,19 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Free Software Foundation, Inc. bug-glibc-locales@gnu.org - */ -return array_replace_recursive(require __DIR__.'/es.php', [ - 'first_day_of_week' => 0, - 'day_of_first_week_of_year' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/es_PA.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/es_PA.php deleted file mode 100644 index 9b358df..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/es_PA.php +++ /dev/null @@ -1,19 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - RAP bug-glibc-locales@gnu.org - */ -return array_replace_recursive(require __DIR__.'/es.php', [ - 'first_day_of_week' => 0, - 'day_of_first_week_of_year' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/es_PE.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/es_PE.php deleted file mode 100644 index 9b358df..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/es_PE.php +++ /dev/null @@ -1,19 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - RAP bug-glibc-locales@gnu.org - */ -return array_replace_recursive(require __DIR__.'/es.php', [ - 'first_day_of_week' => 0, - 'day_of_first_week_of_year' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/es_PH.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/es_PH.php deleted file mode 100644 index ea345b2..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/es_PH.php +++ /dev/null @@ -1,21 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/es.php', [ - 'first_day_of_week' => 0, - 'formats' => [ - 'LT' => 'h:mm a', - 'LTS' => 'h:mm:ss a', - 'L' => 'D/M/yy', - 'LL' => 'D MMM YYYY', - 'LLL' => 'D [de] MMMM [de] YYYY h:mm a', - 'LLLL' => 'dddd, D [de] MMMM [de] YYYY h:mm a', - ], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/es_PR.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/es_PR.php deleted file mode 100644 index 9657a69..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/es_PR.php +++ /dev/null @@ -1,19 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Free Software Foundation, Inc. bug-glibc-locales@gnu.org - */ -return array_replace_recursive(require __DIR__.'/es.php', [ - 'first_day_of_week' => 0, - 'day_of_first_week_of_year' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/es_PY.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/es_PY.php deleted file mode 100644 index 9b358df..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/es_PY.php +++ /dev/null @@ -1,19 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - RAP bug-glibc-locales@gnu.org - */ -return array_replace_recursive(require __DIR__.'/es.php', [ - 'first_day_of_week' => 0, - 'day_of_first_week_of_year' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/es_SV.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/es_SV.php deleted file mode 100644 index 4e6e185..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/es_SV.php +++ /dev/null @@ -1,20 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - RAP bug-glibc-locales@gnu.org - */ -return array_replace_recursive(require __DIR__.'/es.php', [ - 'months' => ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], - 'months_short' => ['ene', 'feb', 'mar', 'abr', 'may', 'jun', 'jul', 'ago', 'sep', 'oct', 'nov', 'dic'], - 'day_of_first_week_of_year' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/es_US.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/es_US.php deleted file mode 100644 index a872b6a..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/es_US.php +++ /dev/null @@ -1,38 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Kunal Marwaha - * - Josh Soref - * - Jørn Ølmheim - * - Craig Patik - * - bustta - * - François B - * - Tim Fish - * - Claire Coloma - * - Steven Heinrich - * - JD Isaacks - * - Raphael Amorim - */ -return array_replace_recursive(require __DIR__.'/es.php', [ - 'diff_before_yesterday' => 'anteayer', - 'formats' => [ - 'LT' => 'h:mm A', - 'LTS' => 'h:mm:ss A', - 'L' => 'MM/DD/YYYY', - 'LL' => 'MMMM [de] D [de] YYYY', - 'LLL' => 'MMMM [de] D [de] YYYY h:mm A', - 'LLLL' => 'dddd, MMMM [de] D [de] YYYY h:mm A', - ], - 'first_day_of_week' => 0, - 'day_of_first_week_of_year' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/es_UY.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/es_UY.php deleted file mode 100644 index 980e741..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/es_UY.php +++ /dev/null @@ -1,21 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - RAP bug-glibc-locales@gnu.org - */ -return array_replace_recursive(require __DIR__.'/es.php', [ - 'months' => ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', 'agosto', 'setiembre', 'octubre', 'noviembre', 'diciembre'], - 'months_short' => ['ene', 'feb', 'mar', 'abr', 'may', 'jun', 'jul', 'ago', 'set', 'oct', 'nov', 'dic'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/es_VE.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/es_VE.php deleted file mode 100644 index 9b358df..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/es_VE.php +++ /dev/null @@ -1,19 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - RAP bug-glibc-locales@gnu.org - */ -return array_replace_recursive(require __DIR__.'/es.php', [ - 'first_day_of_week' => 0, - 'day_of_first_week_of_year' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/et.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/et.php deleted file mode 100644 index 2bd0fa9..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/et.php +++ /dev/null @@ -1,90 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/* - * Authors: - * - Philippe Vaucher - * - Andres Ivanov - * - Tsutomu Kuroda - * - tjku - * - Max Melentiev - * - Juanito Fatas - * - RM87 - * - Akira Matsuda - * - Christopher Dell - * - Enrique Vidal - * - Simone Carletti - * - Aaron Patterson - * - Esko Lehtme - * - Mart Karu - * - Nicolás Hock Isaza - * - Kevin Valdek - * - Zahhar Kirillov - * - João Magalhães - * - Ingmar - */ -return [ - 'year' => ':count aasta|:count aastat', - 'y' => ':count aasta|:count aastat', - 'month' => ':count kuu|:count kuud', - 'm' => ':count kuu|:count kuud', - 'week' => ':count nädal|:count nädalat', - 'w' => ':count nädal|:count nädalat', - 'day' => ':count päev|:count päeva', - 'd' => ':count päev|:count päeva', - 'hour' => ':count tund|:count tundi', - 'h' => ':count tund|:count tundi', - 'minute' => ':count minut|:count minutit', - 'min' => ':count minut|:count minutit', - 'second' => ':count sekund|:count sekundit', - 's' => ':count sekund|:count sekundit', - 'ago' => ':time tagasi', - 'from_now' => ':time pärast', - 'after' => ':time pärast', - 'before' => ':time enne', - 'year_from_now' => ':count aasta', - 'month_from_now' => ':count kuu', - 'week_from_now' => ':count nädala', - 'day_from_now' => ':count päeva', - 'hour_from_now' => ':count tunni', - 'minute_from_now' => ':count minuti', - 'second_from_now' => ':count sekundi', - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 4, - 'diff_now' => 'nüüd', - 'diff_yesterday' => 'eile', - 'diff_tomorrow' => 'homme', - 'diff_before_yesterday' => 'üleeile', - 'diff_after_tomorrow' => 'ülehomme', - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD/MM/YYYY', - 'LL' => 'DD. MMMM YYYY', - 'LLL' => 'DD. MMMM YYYY HH:mm', - 'LLLL' => 'dddd, DD. MMMM YYYY HH:mm', - ], - 'calendar' => [ - 'sameDay' => '[täna] LT', - 'nextDay' => '[homme] LT', - 'lastDay' => '[eile] LT', - 'nextWeek' => 'dddd LT', - 'lastWeek' => '[eelmine] dddd LT', - 'sameElse' => 'L', - ], - 'months' => ['jaanuar', 'veebruar', 'märts', 'aprill', 'mai', 'juuni', 'juuli', 'august', 'september', 'oktoober', 'november', 'detsember'], - 'months_short' => ['jaan', 'veebr', 'märts', 'apr', 'mai', 'juuni', 'juuli', 'aug', 'sept', 'okt', 'nov', 'dets'], - 'weekdays' => ['pühapäev', 'esmaspäev', 'teisipäev', 'kolmapäev', 'neljapäev', 'reede', 'laupäev'], - 'weekdays_short' => ['P', 'E', 'T', 'K', 'N', 'R', 'L'], - 'weekdays_min' => ['P', 'E', 'T', 'K', 'N', 'R', 'L'], - 'list' => [', ', ' ja '], - 'meridiem' => ['enne lõunat', 'pärast lõunat'], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/et_EE.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/et_EE.php deleted file mode 100644 index 3588f62..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/et_EE.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/et.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/eu.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/eu.php deleted file mode 100644 index a9d511a..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/eu.php +++ /dev/null @@ -1,65 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Josh Soref - * - François B - * - JD Isaacks - */ -return [ - 'year' => 'urte bat|:count urte', - 'y' => 'Urte 1|:count urte', - 'month' => 'hilabete bat|:count hilabete', - 'm' => 'Hile 1|:count hile', - 'week' => 'Aste 1|:count aste', - 'w' => 'Aste 1|:count aste', - 'day' => 'egun bat|:count egun', - 'd' => 'Egun 1|:count egun', - 'hour' => 'ordu bat|:count ordu', - 'h' => 'Ordu 1|:count ordu', - 'minute' => 'minutu bat|:count minutu', - 'min' => 'Minutu 1|:count minutu', - 'second' => 'segundo batzuk|:count segundo', - 's' => 'Segundu 1|:count segundu', - 'ago' => 'duela :time', - 'from_now' => ':time barru', - 'after' => ':time geroago', - 'before' => ':time lehenago', - 'diff_yesterday' => 'atzo', - 'diff_tomorrow' => 'bihar', - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'YYYY-MM-DD', - 'LL' => 'YYYY[ko] MMMM[ren] D[a]', - 'LLL' => 'YYYY[ko] MMMM[ren] D[a] HH:mm', - 'LLLL' => 'dddd, YYYY[ko] MMMM[ren] D[a] HH:mm', - ], - 'calendar' => [ - 'sameDay' => '[gaur] LT[etan]', - 'nextDay' => '[bihar] LT[etan]', - 'nextWeek' => 'dddd LT[etan]', - 'lastDay' => '[atzo] LT[etan]', - 'lastWeek' => '[aurreko] dddd LT[etan]', - 'sameElse' => 'L', - ], - 'ordinal' => ':number.', - 'months' => ['urtarrila', 'otsaila', 'martxoa', 'apirila', 'maiatza', 'ekaina', 'uztaila', 'abuztua', 'iraila', 'urria', 'azaroa', 'abendua'], - 'months_short' => ['urt.', 'ots.', 'mar.', 'api.', 'mai.', 'eka.', 'uzt.', 'abu.', 'ira.', 'urr.', 'aza.', 'abe.'], - 'weekdays' => ['igandea', 'astelehena', 'asteartea', 'asteazkena', 'osteguna', 'ostirala', 'larunbata'], - 'weekdays_short' => ['ig.', 'al.', 'ar.', 'az.', 'og.', 'ol.', 'lr.'], - 'weekdays_min' => ['ig', 'al', 'ar', 'az', 'og', 'ol', 'lr'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 1, - 'list' => [', ', ' eta '], - 'meridiem' => ['g', 'a'], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/eu_ES.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/eu_ES.php deleted file mode 100644 index 442cca7..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/eu_ES.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/eu.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ewo.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ewo.php deleted file mode 100644 index f5ae8cf..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ewo.php +++ /dev/null @@ -1,54 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'meridiem' => ['kíkíríg', 'ngÉ™gógÉ™le'], - 'weekdays' => ['sÉ”ÌndÉ”', 'mÉ”Ìndi', 'sÉ”ÌndÉ” mÉ™lú mÉ™Ìbɛ̌', 'sÉ”ÌndÉ” mÉ™lú mÉ™ÌlÉ›Ì', 'sÉ”ÌndÉ” mÉ™lú mÉ™Ìnyi', 'fúladé', 'séradé'], - 'weekdays_short' => ['sÉ”Ìn', 'mÉ”Ìn', 'smb', 'sml', 'smn', 'fúl', 'sér'], - 'weekdays_min' => ['sÉ”Ìn', 'mÉ”Ìn', 'smb', 'sml', 'smn', 'fúl', 'sér'], - 'months' => ['ngÉ”n osú', 'ngÉ”n bɛ̌', 'ngÉ”n lála', 'ngÉ”n nyina', 'ngÉ”n tána', 'ngÉ”n samÉ™na', 'ngÉ”n zamgbála', 'ngÉ”n mwom', 'ngÉ”n ebulú', 'ngÉ”n awóm', 'ngÉ”n awóm ai dziá', 'ngÉ”n awóm ai bɛ̌'], - 'months_short' => ['ngo', 'ngb', 'ngl', 'ngn', 'ngt', 'ngs', 'ngz', 'ngm', 'nge', 'nga', 'ngad', 'ngab'], - 'first_day_of_week' => 1, - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'D/M/YYYY', - 'LL' => 'D MMM YYYY', - 'LLL' => 'D MMMM YYYY HH:mm', - 'LLLL' => 'dddd D MMMM YYYY HH:mm', - ], - - // Too unreliable - /* - 'year' => ':count mbu', // less reliable - 'y' => ':count mbu', // less reliable - 'a_year' => ':count mbu', // less reliable - - 'month' => ':count ngòn', // less reliable - 'm' => ':count ngòn', // less reliable - 'a_month' => ':count ngòn', // less reliable - - 'week' => ':count mësë', // less reliable - 'w' => ':count mësë', // less reliable - 'a_week' => ':count mësë', // less reliable - - 'day' => ':count mësë', // less reliable - 'd' => ':count mësë', // less reliable - 'a_day' => ':count mësë', // less reliable - - 'hour' => ':count awola', // less reliable - 'h' => ':count awola', // less reliable - 'a_hour' => ':count awola', // less reliable - - 'minute' => ':count awola', // less reliable - 'min' => ':count awola', // less reliable - 'a_minute' => ':count awola', // less reliable - */ -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fa.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fa.php deleted file mode 100644 index 5c2fb13..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fa.php +++ /dev/null @@ -1,77 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/* - * Authors: - * - Josh Soref - * - François B - * - Nasser Ghiasi - * - JD Isaacks - * - Hossein Jabbari - * - nimamo - * - hafezdivandari - * - Hassan Pezeshk (hpez) - */ -return [ - 'year' => ':count سال', - 'a_year' => 'یک سال'.'|:count '.'سال', - 'y' => ':count سال', - 'month' => ':count ماه', - 'a_month' => 'یک ماه'.'|:count '.'ماه', - 'm' => ':count ماه', - 'week' => ':count Ù‡Ùته', - 'a_week' => 'یک Ù‡Ùته'.'|:count '.'Ù‡Ùته', - 'w' => ':count Ù‡Ùته', - 'day' => ':count روز', - 'a_day' => 'یک روز'.'|:count '.'روز', - 'd' => ':count روز', - 'hour' => ':count ساعت', - 'a_hour' => 'یک ساعت'.'|:count '.'ساعت', - 'h' => ':count ساعت', - 'minute' => ':count دقیقه', - 'a_minute' => 'یک دقیقه'.'|:count '.'دقیقه', - 'min' => ':count دقیقه', - 'second' => ':count ثانیه', - 's' => ':count ثانیه', - 'ago' => ':time پیش', - 'from_now' => ':time دیگر', - 'after' => ':time پس از', - 'before' => ':time پیش از', - 'formats' => [ - 'LT' => 'OH:Om', - 'LTS' => 'OH:Om:Os', - 'L' => 'OD/OM/OY', - 'LL' => 'OD MMMM OY', - 'LLL' => 'OD MMMM OY OH:Om', - 'LLLL' => 'dddd, OD MMMM OY OH:Om', - ], - 'calendar' => [ - 'sameDay' => '[امروز ساعت] LT', - 'nextDay' => '[Ùردا ساعت] LT', - 'nextWeek' => 'dddd [ساعت] LT', - 'lastDay' => '[دیروز ساعت] LT', - 'lastWeek' => 'dddd [پیش] [ساعت] LT', - 'sameElse' => 'L', - ], - 'ordinal' => ':timeÙ…', - 'meridiem' => ['قبل از ظهر', 'بعد از ظهر'], - 'months' => ['ژانویه', 'Ùوریه', 'مارس', 'آوریل', 'مه', 'ژوئن', 'ژوئیه', 'اوت', 'سپتامبر', 'اکتبر', 'نوامبر', 'دسامبر'], - 'months_short' => ['ژانویه', 'Ùوریه', 'مارس', 'آوریل', 'مه', 'ژوئن', 'ژوئیه', 'اوت', 'سپتامبر', 'اکتبر', 'نوامبر', 'دسامبر'], - 'weekdays' => ['یکشنبه', 'دوشنبه', 'سه‌شنبه', 'چهارشنبه', 'پنجشنبه', 'جمعه', 'شنبه'], - 'weekdays_short' => ['یکشنبه', 'دوشنبه', 'سه‌شنبه', 'چهارشنبه', 'پنجشنبه', 'جمعه', 'شنبه'], - 'weekdays_min' => ['ÛŒ', 'د', 'س', 'Ú†', 'Ù¾', 'ج', 'Ø´'], - 'first_day_of_week' => 6, - 'day_of_first_week_of_year' => 1, - 'list' => ['ØŒ ', ' Ùˆ '], - 'alt_numbers' => ['Û°Û°', 'Û°Û±', 'Û°Û²', 'Û°Û³', 'Û°Û´', 'Û°Ûµ', 'Û°Û¶', 'Û°Û·', 'Û°Û¸', 'Û°Û¹', 'Û±Û°', 'Û±Û±', 'Û±Û²', 'Û±Û³', 'Û±Û´', 'Û±Ûµ', 'Û±Û¶', 'Û±Û·', 'Û±Û¸', 'Û±Û¹', 'Û²Û°', 'Û²Û±', 'Û²Û²', 'Û²Û³', 'Û²Û´', 'Û²Ûµ', 'Û²Û¶', 'Û²Û·', 'Û²Û¸', 'Û²Û¹', 'Û³Û°', 'Û³Û±', 'Û³Û²', 'Û³Û³', 'Û³Û´', 'Û³Ûµ', 'Û³Û¶', 'Û³Û·', 'Û³Û¸', 'Û³Û¹', 'Û´Û°', 'Û´Û±', 'Û´Û²', 'Û´Û³', 'Û´Û´', 'Û´Ûµ', 'Û´Û¶', 'Û´Û·', 'Û´Û¸', 'Û´Û¹', 'ÛµÛ°', 'ÛµÛ±', 'ÛµÛ²', 'ÛµÛ³', 'ÛµÛ´', 'ÛµÛµ', 'ÛµÛ¶', 'ÛµÛ·', 'ÛµÛ¸', 'ÛµÛ¹', 'Û¶Û°', 'Û¶Û±', 'Û¶Û²', 'Û¶Û³', 'Û¶Û´', 'Û¶Ûµ', 'Û¶Û¶', 'Û¶Û·', 'Û¶Û¸', 'Û¶Û¹', 'Û·Û°', 'Û·Û±', 'Û·Û²', 'Û·Û³', 'Û·Û´', 'Û·Ûµ', 'Û·Û¶', 'Û·Û·', 'Û·Û¸', 'Û·Û¹', 'Û¸Û°', 'Û¸Û±', 'Û¸Û²', 'Û¸Û³', 'Û¸Û´', 'Û¸Ûµ', 'Û¸Û¶', 'Û¸Û·', 'Û¸Û¸', 'Û¸Û¹', 'Û¹Û°', 'Û¹Û±', 'Û¹Û²', 'Û¹Û³', 'Û¹Û´', 'Û¹Ûµ', 'Û¹Û¶', 'Û¹Û·', 'Û¹Û¸', 'Û¹Û¹'], - 'months_short_standalone' => ['ژانویه', 'Ùوریه', 'مارس', 'آوریل', 'مه', 'ژوئن', 'ژوئیه', 'اوت', 'سپتامبر', 'اکتبر', 'نوامبر', 'دسامبر'], - 'weekend' => [5, 5], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fa_AF.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fa_AF.php deleted file mode 100644 index 06566fa..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fa_AF.php +++ /dev/null @@ -1,20 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/fa.php', [ - 'meridiem' => ['Ù‚', 'ب'], - 'weekend' => [4, 5], - 'formats' => [ - 'L' => 'OY/OM/OD', - 'LL' => 'OD MMM OY', - 'LLL' => 'OD MMMM OY،†H:mm', - 'LLLL' => 'dddd OD MMMM OY،†H:mm', - ], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fa_IR.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fa_IR.php deleted file mode 100644 index 6d1832c..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fa_IR.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/fa.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ff.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ff.php deleted file mode 100644 index 0f7515f..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ff.php +++ /dev/null @@ -1,60 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD/MM/YYYY', - 'LL' => 'D MMM, YYYY', - 'LLL' => 'D MMMM YYYY HH:mm', - 'LLLL' => 'dddd D MMMM YYYY HH:mm', - ], - 'months' => ['siilo', 'colte', 'mbooy', 'seeÉ—to', 'duujal', 'korse', 'morso', 'juko', 'siilto', 'yarkomaa', 'jolal', 'bowte'], - 'months_short' => ['sii', 'col', 'mbo', 'see', 'duu', 'kor', 'mor', 'juk', 'slt', 'yar', 'jol', 'bow'], - 'weekdays' => ['dewo', 'aaÉ“nde', 'mawbaare', 'njeslaare', 'naasaande', 'mawnde', 'hoore-biir'], - 'weekdays_short' => ['dew', 'aaÉ“', 'maw', 'nje', 'naa', 'mwd', 'hbi'], - 'weekdays_min' => ['dew', 'aaÉ“', 'maw', 'nje', 'naa', 'mwd', 'hbi'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 1, - 'meridiem' => ['subaka', 'kikiiÉ—e'], - - 'year' => ':count baret', // less reliable - 'y' => ':count baret', // less reliable - 'a_year' => ':count baret', // less reliable - - 'month' => ':count lewru', // less reliable - 'm' => ':count lewru', // less reliable - 'a_month' => ':count lewru', // less reliable - - 'week' => ':count naange', // less reliable - 'w' => ':count naange', // less reliable - 'a_week' => ':count naange', // less reliable - - 'day' => ':count dian', // less reliable - 'd' => ':count dian', // less reliable - 'a_day' => ':count dian', // less reliable - - 'hour' => ':count montor', // less reliable - 'h' => ':count montor', // less reliable - 'a_hour' => ':count montor', // less reliable - - 'minute' => ':count tokossuoum', // less reliable - 'min' => ':count tokossuoum', // less reliable - 'a_minute' => ':count tokossuoum', // less reliable - - 'second' => ':count tenen', // less reliable - 's' => ':count tenen', // less reliable - 'a_second' => ':count tenen', // less reliable -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ff_CM.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ff_CM.php deleted file mode 100644 index dafa98e..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ff_CM.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/ff.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ff_GN.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ff_GN.php deleted file mode 100644 index dafa98e..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ff_GN.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/ff.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ff_MR.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ff_MR.php deleted file mode 100644 index 65276d3..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ff_MR.php +++ /dev/null @@ -1,20 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/ff.php', [ - 'formats' => [ - 'LT' => 'h:mm a', - 'LTS' => 'h:mm:ss a', - 'L' => 'D/M/YYYY', - 'LL' => 'D MMM, YYYY', - 'LLL' => 'D MMMM YYYY h:mm a', - 'LLLL' => 'dddd D MMMM YYYY h:mm a', - ], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ff_SN.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ff_SN.php deleted file mode 100644 index c553925..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ff_SN.php +++ /dev/null @@ -1,16 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Pular-Fulfulde.org Ibrahima Sarr admin@pulaar-fulfulde.org - */ -return require __DIR__.'/ff.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fi.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fi.php deleted file mode 100644 index 8835306..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fi.php +++ /dev/null @@ -1,83 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/* - * Authors: - * - Philippe Vaucher - * - Janne Warén - * - digitalfrost - * - Tsutomu Kuroda - * - Roope Salmi - * - tjku - * - Max Melentiev - * - Sami Haahtinen - * - Teemu Leisti - * - Artem Ignatyev - * - Akira Matsuda - * - Christopher Dell - * - Enrique Vidal - * - Simone Carletti - * - Robert Bjarnason - * - Aaron Patterson - * - Nicolás Hock Isaza - * - Tom Hughes - * - Sven Fuchs - * - Petri Kivikangas - * - Nizar Jouini - * - Marko Seppae - * - Tomi Mynttinen (Pikseli) - * - Petteri (powergrip) - */ -return [ - 'year' => ':count vuosi|:count vuotta', - 'y' => ':count v', - 'month' => ':count kuukausi|:count kuukautta', - 'm' => ':count kk', - 'week' => ':count viikko|:count viikkoa', - 'w' => ':count vk', - 'day' => ':count päivä|:count päivää', - 'd' => ':count pv', - 'hour' => ':count tunti|:count tuntia', - 'h' => ':count t', - 'minute' => ':count minuutti|:count minuuttia', - 'min' => ':count min', - 'second' => ':count sekunti|:count sekuntia', - 'a_second' => 'muutama sekunti|:count sekuntia', - 's' => ':count s', - 'ago' => ':time sitten', - 'from_now' => ':time päästä', - 'year_from_now' => ':count vuoden', - 'month_from_now' => ':count kuukauden', - 'week_from_now' => ':count viikon', - 'day_from_now' => ':count päivän', - 'hour_from_now' => ':count tunnin', - 'minute_from_now' => ':count minuutin', - 'second_from_now' => ':count sekunnin', - 'after' => ':time sen jälkeen', - 'before' => ':time ennen', - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 4, - 'list' => [', ', ' ja '], - 'formats' => [ - 'LT' => 'HH.mm', - 'LTS' => 'HH.mm:ss', - 'L' => 'D.M.YYYY', - 'LL' => 'dddd D. MMMM[ta] YYYY', - 'LLL' => 'D.MM. HH.mm', - 'LLLL' => 'D. MMMM[ta] YYYY HH.mm', - ], - 'weekdays' => ['sunnuntai', 'maanantai', 'tiistai', 'keskiviikko', 'torstai', 'perjantai', 'lauantai'], - 'weekdays_short' => ['su', 'ma', 'ti', 'ke', 'to', 'pe', 'la'], - 'weekdays_min' => ['su', 'ma', 'ti', 'ke', 'to', 'pe', 'la'], - 'months' => ['tammikuu', 'helmikuu', 'maaliskuu', 'huhtikuu', 'toukokuu', 'kesäkuu', 'heinäkuu', 'elokuu', 'syyskuu', 'lokakuu', 'marraskuu', 'joulukuu'], - 'months_short' => ['tammi', 'helmi', 'maalis', 'huhti', 'touko', 'kesä', 'heinä', 'elo', 'syys', 'loka', 'marras', 'joulu'], - 'meridiem' => ['aamupäivä', 'iltapäivä'], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fi_FI.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fi_FI.php deleted file mode 100644 index 3597fa2..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fi_FI.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/fi.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fil.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fil.php deleted file mode 100644 index f2249c0..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fil.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return require __DIR__.'/fil_PH.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fil_PH.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fil_PH.php deleted file mode 100644 index df75b86..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fil_PH.php +++ /dev/null @@ -1,62 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Rene Torres Rene Torres, Pablo Saratxaga rgtorre@rocketmail.com, pablo@mandrakesoft.com - * - Jaycee Mariano (alohajaycee) - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'MM/DD/YY', - ], - 'months' => ['Enero', 'Pebrero', 'Marso', 'Abril', 'Mayo', 'Hunyo', 'Hulyo', 'Agosto', 'Setyembre', 'Oktubre', 'Nobyembre', 'Disyembre'], - 'months_short' => ['Ene', 'Peb', 'Mar', 'Abr', 'May', 'Hun', 'Hul', 'Ago', 'Set', 'Okt', 'Nob', 'Dis'], - 'weekdays' => ['Linggo', 'Lunes', 'Martes', 'Miyerkoles', 'Huwebes', 'Biyernes', 'Sabado'], - 'weekdays_short' => ['Lin', 'Lun', 'Mar', 'Miy', 'Huw', 'Biy', 'Sab'], - 'weekdays_min' => ['Lin', 'Lun', 'Mar', 'Miy', 'Huw', 'Biy', 'Sab'], - 'day_of_first_week_of_year' => 1, - 'meridiem' => ['N.U.', 'N.H.'], - - 'before' => ':time bago', - 'after' => ':time pagkatapos', - - 'year' => ':count taon', - 'y' => ':count taon', - 'a_year' => ':count taon', - - 'month' => ':count buwan', - 'm' => ':count buwan', - 'a_month' => ':count buwan', - - 'week' => ':count linggo', - 'w' => ':count linggo', - 'a_week' => ':count linggo', - - 'day' => ':count araw', - 'd' => ':count araw', - 'a_day' => ':count araw', - - 'hour' => ':count oras', - 'h' => ':count oras', - 'a_hour' => ':count oras', - - 'minute' => ':count minuto', - 'min' => ':count minuto', - 'a_minute' => ':count minuto', - - 'second' => ':count segundo', - 's' => ':count segundo', - 'a_second' => ':count segundo', - - 'ago' => ':time ang nakalipas', - 'from_now' => 'sa :time', -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fo.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fo.php deleted file mode 100644 index 55fc665..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fo.php +++ /dev/null @@ -1,63 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Kristian Sakarisson - * - François B - * - JD Isaacks - * - Sverri Mohr Olsen - */ -return [ - 'year' => 'eitt ár|:count ár', - 'y' => ':count ár|:count ár', - 'month' => 'ein mánaði|:count mánaðir', - 'm' => ':count mánaður|:count mánaðir', - 'week' => ':count vika|:count vikur', - 'w' => ':count vika|:count vikur', - 'day' => 'ein dagur|:count dagar', - 'd' => ':count dag|:count dagar', - 'hour' => 'ein tími|:count tímar', - 'h' => ':count tími|:count tímar', - 'minute' => 'ein minutt|:count minuttir', - 'min' => ':count minutt|:count minuttir', - 'second' => 'fá sekund|:count sekundir', - 's' => ':count sekund|:count sekundir', - 'ago' => ':time síðani', - 'from_now' => 'um :time', - 'after' => ':time aftaná', - 'before' => ':time áðrenn', - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD/MM/YYYY', - 'LL' => 'D MMMM YYYY', - 'LLL' => 'D MMMM YYYY HH:mm', - 'LLLL' => 'dddd D. MMMM, YYYY HH:mm', - ], - 'calendar' => [ - 'sameDay' => '[à dag kl.] LT', - 'nextDay' => '[à morgin kl.] LT', - 'nextWeek' => 'dddd [kl.] LT', - 'lastDay' => '[à gjár kl.] LT', - 'lastWeek' => '[síðstu] dddd [kl] LT', - 'sameElse' => 'L', - ], - 'ordinal' => ':number.', - 'months' => ['januar', 'februar', 'mars', 'apríl', 'mai', 'juni', 'juli', 'august', 'september', 'oktober', 'november', 'desember'], - 'months_short' => ['jan', 'feb', 'mar', 'apr', 'mai', 'jun', 'jul', 'aug', 'sep', 'okt', 'nov', 'des'], - 'weekdays' => ['sunnudagur', 'mánadagur', 'týsdagur', 'mikudagur', 'hósdagur', 'fríggjadagur', 'leygardagur'], - 'weekdays_short' => ['sun', 'mán', 'týs', 'mik', 'hós', 'frí', 'ley'], - 'weekdays_min' => ['su', 'má', 'tý', 'mi', 'hó', 'fr', 'le'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 4, - 'list' => [', ', ' og '], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fo_DK.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fo_DK.php deleted file mode 100644 index e0f4537..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fo_DK.php +++ /dev/null @@ -1,18 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/fo.php', [ - 'formats' => [ - 'L' => 'DD.MM.yy', - 'LL' => 'DD.MM.YYYY', - 'LLL' => 'D. MMMM YYYY, HH:mm', - 'LLLL' => 'dddd, D. MMMM YYYY, HH:mm', - ], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fo_FO.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fo_FO.php deleted file mode 100644 index 6a4bc31..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fo_FO.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/fo.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr.php deleted file mode 100644 index b331038..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr.php +++ /dev/null @@ -1,103 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Dieter Sting - * - François B - * - Maxime VALY - * - JD Isaacks - * - Dieter Sting - * - François B - * - JD Isaacks - * - Sebastian Thierer - * - Fastfuel - */ -return [ - 'year' => ':count an|:count ans', - 'a_year' => 'un an|:count ans', - 'y' => ':count an|:count ans', - 'month' => ':count mois|:count mois', - 'a_month' => 'un mois|:count mois', - 'm' => ':count mois', - 'week' => ':count semaine|:count semaines', - 'a_week' => 'une semaine|:count semaines', - 'w' => ':count sem.', - 'day' => ':count jour|:count jours', - 'a_day' => 'un jour|:count jours', - 'd' => ':count j', - 'hour' => ':count heure|:count heures', - 'a_hour' => 'une heure|:count heures', - 'h' => ':count h', - 'minute' => ':count minute|:count minutes', - 'a_minute' => 'une minute|:count minutes', - 'min' => ':count min', - 'second' => ':count seconde|:count secondes', - 'a_second' => 'quelques secondes|:count secondes', - 's' => ':count s', - 'ago' => 'il y a :time', - 'from_now' => 'dans :time', - 'after' => ':time après', - 'before' => ':time avant', - 'diff_now' => 'à l\'instant', - 'diff_yesterday' => 'hier', - 'diff_tomorrow' => 'demain', - 'diff_before_yesterday' => 'avant-hier', - 'diff_after_tomorrow' => 'après-demain', - 'period_recurrences' => ':count fois', - 'period_interval' => 'tous les :interval', - 'period_start_date' => 'de :date', - 'period_end_date' => 'à :date', - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD/MM/YYYY', - 'LL' => 'D MMMM YYYY', - 'LLL' => 'D MMMM YYYY HH:mm', - 'LLLL' => 'dddd D MMMM YYYY HH:mm', - ], - 'calendar' => [ - 'sameDay' => '[Aujourd’hui à] LT', - 'nextDay' => '[Demain à] LT', - 'nextWeek' => 'dddd [à] LT', - 'lastDay' => '[Hier à] LT', - 'lastWeek' => 'dddd [dernier à] LT', - 'sameElse' => 'L', - ], - 'months' => ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], - 'months_short' => ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], - 'weekdays' => ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'], - 'weekdays_short' => ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'], - 'weekdays_min' => ['di', 'lu', 'ma', 'me', 'je', 've', 'sa'], - 'ordinal' => function ($number, $period) { - switch ($period) { - // In french, only the first has be ordinal, other number remains cardinal - // @link https://fr.wikihow.com/%C3%A9crire-la-date-en-fran%C3%A7ais - case 'D': - return $number.($number === 1 ? 'er' : ''); - - default: - case 'M': - case 'Q': - case 'DDD': - case 'd': - return $number.($number === 1 ? 'er' : 'e'); - - // Words with feminine grammatical gender: semaine - case 'w': - case 'W': - return $number.($number === 1 ? 're' : 'e'); - } - }, - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 4, - 'list' => [', ', ' et '], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_BE.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_BE.php deleted file mode 100644 index b1f0408..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_BE.php +++ /dev/null @@ -1,18 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - RAP bug-glibc-locales@gnu.org - */ -return array_replace_recursive(require __DIR__.'/fr.php', [ - 'months_short' => ['jan', 'fév', 'mar', 'avr', 'mai', 'jun', 'jui', 'aoû', 'sep', 'oct', 'nov', 'déc'], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_BF.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_BF.php deleted file mode 100644 index f9801e8..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_BF.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/fr.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_BI.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_BI.php deleted file mode 100644 index f9801e8..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_BI.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/fr.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_BJ.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_BJ.php deleted file mode 100644 index f9801e8..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_BJ.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/fr.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_BL.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_BL.php deleted file mode 100644 index f9801e8..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_BL.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/fr.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_CA.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_CA.php deleted file mode 100644 index f881d8f..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_CA.php +++ /dev/null @@ -1,25 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Dieter Sting - * - François B - * - Maxime VALY - * - JD Isaacks - */ -return array_replace_recursive(require __DIR__.'/fr.php', [ - 'formats' => [ - 'L' => 'YYYY-MM-DD', - ], - 'first_day_of_week' => 0, - 'day_of_first_week_of_year' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_CD.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_CD.php deleted file mode 100644 index f9801e8..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_CD.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/fr.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_CF.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_CF.php deleted file mode 100644 index f9801e8..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_CF.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/fr.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_CG.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_CG.php deleted file mode 100644 index f9801e8..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_CG.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/fr.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_CH.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_CH.php deleted file mode 100644 index 67d4074..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_CH.php +++ /dev/null @@ -1,24 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Dieter Sting - * - François B - * - Gaspard Bucher - * - Maxime VALY - * - JD Isaacks - */ -return array_replace_recursive(require __DIR__.'/fr.php', [ - 'formats' => [ - 'L' => 'DD.MM.YYYY', - ], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_CI.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_CI.php deleted file mode 100644 index f9801e8..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_CI.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/fr.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_CM.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_CM.php deleted file mode 100644 index 52b951c..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_CM.php +++ /dev/null @@ -1,13 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/fr.php', [ - 'meridiem' => ['mat.', 'soir'], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_DJ.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_DJ.php deleted file mode 100644 index 40579a4..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_DJ.php +++ /dev/null @@ -1,21 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/fr.php', [ - 'first_day_of_week' => 6, - 'formats' => [ - 'LT' => 'h:mm a', - 'LTS' => 'h:mm:ss a', - 'L' => 'DD/MM/YYYY', - 'LL' => 'D MMM YYYY', - 'LLL' => 'D MMMM YYYY h:mm a', - 'LLLL' => 'dddd D MMMM YYYY h:mm a', - ], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_DZ.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_DZ.php deleted file mode 100644 index 2c1ab85..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_DZ.php +++ /dev/null @@ -1,22 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/fr.php', [ - 'first_day_of_week' => 6, - 'weekend' => [5, 6], - 'formats' => [ - 'LT' => 'h:mm a', - 'LTS' => 'h:mm:ss a', - 'L' => 'DD/MM/YYYY', - 'LL' => 'D MMM YYYY', - 'LLL' => 'D MMMM YYYY h:mm a', - 'LLLL' => 'dddd D MMMM YYYY h:mm a', - ], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_FR.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_FR.php deleted file mode 100644 index f9801e8..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_FR.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/fr.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_GA.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_GA.php deleted file mode 100644 index f9801e8..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_GA.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/fr.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_GF.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_GF.php deleted file mode 100644 index f9801e8..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_GF.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/fr.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_GN.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_GN.php deleted file mode 100644 index f9801e8..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_GN.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/fr.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_GP.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_GP.php deleted file mode 100644 index f9801e8..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_GP.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/fr.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_GQ.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_GQ.php deleted file mode 100644 index f9801e8..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_GQ.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/fr.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_HT.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_HT.php deleted file mode 100644 index f9801e8..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_HT.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/fr.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_KM.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_KM.php deleted file mode 100644 index f9801e8..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_KM.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/fr.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_LU.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_LU.php deleted file mode 100644 index be750d3..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_LU.php +++ /dev/null @@ -1,21 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - RAP bug-glibc-locales@gnu.org - */ -return array_replace_recursive(require __DIR__.'/fr.php', [ - 'formats' => [ - 'L' => 'DD.MM.YYYY', - ], - 'months_short' => ['jan', 'fév', 'mar', 'avr', 'mai', 'jun', 'jui', 'aoû', 'sep', 'oct', 'nov', 'déc'], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_MA.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_MA.php deleted file mode 100644 index 7d2b1db..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_MA.php +++ /dev/null @@ -1,14 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/fr.php', [ - 'first_day_of_week' => 6, - 'weekend' => [5, 6], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_MC.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_MC.php deleted file mode 100644 index f9801e8..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_MC.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/fr.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_MF.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_MF.php deleted file mode 100644 index f9801e8..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_MF.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/fr.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_MG.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_MG.php deleted file mode 100644 index f9801e8..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_MG.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/fr.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_ML.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_ML.php deleted file mode 100644 index f9801e8..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_ML.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/fr.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_MQ.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_MQ.php deleted file mode 100644 index f9801e8..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_MQ.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/fr.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_MR.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_MR.php deleted file mode 100644 index d177a7d..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_MR.php +++ /dev/null @@ -1,20 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/fr.php', [ - 'formats' => [ - 'LT' => 'h:mm a', - 'LTS' => 'h:mm:ss a', - 'L' => 'DD/MM/YYYY', - 'LL' => 'D MMM YYYY', - 'LLL' => 'D MMMM YYYY h:mm a', - 'LLLL' => 'dddd D MMMM YYYY h:mm a', - ], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_MU.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_MU.php deleted file mode 100644 index f9801e8..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_MU.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/fr.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_NC.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_NC.php deleted file mode 100644 index f9801e8..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_NC.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/fr.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_NE.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_NE.php deleted file mode 100644 index f9801e8..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_NE.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/fr.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_PF.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_PF.php deleted file mode 100644 index f9801e8..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_PF.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/fr.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_PM.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_PM.php deleted file mode 100644 index f9801e8..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_PM.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/fr.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_RE.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_RE.php deleted file mode 100644 index f9801e8..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_RE.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/fr.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_RW.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_RW.php deleted file mode 100644 index f9801e8..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_RW.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/fr.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_SC.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_SC.php deleted file mode 100644 index f9801e8..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_SC.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/fr.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_SN.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_SN.php deleted file mode 100644 index f9801e8..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_SN.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/fr.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_SY.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_SY.php deleted file mode 100644 index 2c1ab85..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_SY.php +++ /dev/null @@ -1,22 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/fr.php', [ - 'first_day_of_week' => 6, - 'weekend' => [5, 6], - 'formats' => [ - 'LT' => 'h:mm a', - 'LTS' => 'h:mm:ss a', - 'L' => 'DD/MM/YYYY', - 'LL' => 'D MMM YYYY', - 'LLL' => 'D MMMM YYYY h:mm a', - 'LLLL' => 'dddd D MMMM YYYY h:mm a', - ], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_TD.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_TD.php deleted file mode 100644 index d177a7d..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_TD.php +++ /dev/null @@ -1,20 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/fr.php', [ - 'formats' => [ - 'LT' => 'h:mm a', - 'LTS' => 'h:mm:ss a', - 'L' => 'DD/MM/YYYY', - 'LL' => 'D MMM YYYY', - 'LLL' => 'D MMMM YYYY h:mm a', - 'LLLL' => 'dddd D MMMM YYYY h:mm a', - ], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_TG.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_TG.php deleted file mode 100644 index f9801e8..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_TG.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/fr.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_TN.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_TN.php deleted file mode 100644 index d3e2656..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_TN.php +++ /dev/null @@ -1,21 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/fr.php', [ - 'weekend' => [5, 6], - 'formats' => [ - 'LT' => 'h:mm a', - 'LTS' => 'h:mm:ss a', - 'L' => 'DD/MM/YYYY', - 'LL' => 'D MMM YYYY', - 'LLL' => 'D MMMM YYYY h:mm a', - 'LLLL' => 'dddd D MMMM YYYY h:mm a', - ], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_VU.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_VU.php deleted file mode 100644 index d177a7d..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_VU.php +++ /dev/null @@ -1,20 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/fr.php', [ - 'formats' => [ - 'LT' => 'h:mm a', - 'LTS' => 'h:mm:ss a', - 'L' => 'DD/MM/YYYY', - 'LL' => 'D MMM YYYY', - 'LLL' => 'D MMMM YYYY h:mm a', - 'LLLL' => 'dddd D MMMM YYYY h:mm a', - ], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_WF.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_WF.php deleted file mode 100644 index f9801e8..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_WF.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/fr.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_YT.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_YT.php deleted file mode 100644 index f9801e8..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fr_YT.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/fr.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fur.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fur.php deleted file mode 100644 index b622554..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fur.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return require __DIR__.'/fur_IT.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fur_IT.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fur_IT.php deleted file mode 100644 index 3cbf5b2..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fur_IT.php +++ /dev/null @@ -1,39 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Pablo Saratxaga pablo@mandrakesoft.com - */ -return [ - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD. MM. YY', - 'LL' => 'DD di MMMM dal YYYY', - 'LLL' => 'DD di MMM HH:mm', - 'LLLL' => 'DD di MMMM dal YYYY HH:mm', - ], - 'months' => ['zenâr', 'fevrâr', 'març', 'avrîl', 'mai', 'jugn', 'lui', 'avost', 'setembar', 'otubar', 'novembar', 'dicembar'], - 'months_short' => ['zen', 'fev', 'mar', 'avr', 'mai', 'jug', 'lui', 'avo', 'set', 'otu', 'nov', 'dic'], - 'weekdays' => ['domenie', 'lunis', 'martars', 'miercus', 'joibe', 'vinars', 'sabide'], - 'weekdays_short' => ['dom', 'lun', 'mar', 'mie', 'joi', 'vin', 'sab'], - 'weekdays_min' => ['dom', 'lun', 'mar', 'mie', 'joi', 'vin', 'sab'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 4, - 'year' => ':count an', - 'month' => ':count mês', - 'week' => ':count setemane', - 'day' => ':count zornade', - 'hour' => ':count ore', - 'minute' => ':count minût', - 'second' => ':count secont', -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fy.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fy.php deleted file mode 100644 index 46519ae..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fy.php +++ /dev/null @@ -1,72 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - François B - * - Tim Fish - * - JD Isaacks - */ -return [ - 'year' => ':count jier|:count jierren', - 'a_year' => 'ien jier|:count jierren', - 'y' => ':count j', - 'month' => ':count moanne|:count moannen', - 'a_month' => 'ien moanne|:count moannen', - 'm' => ':count moa.', - 'week' => ':count wike|:count wiken', - 'a_week' => 'in wike|:count wiken', - 'a' => ':count w.', - 'day' => ':count dei|:count dagen', - 'a_day' => 'ien dei|:count dagen', - 'd' => ':count d.', - 'hour' => ':count oere|:count oeren', - 'a_hour' => 'ien oere|:count oeren', - 'h' => ':count o.', - 'minute' => ':count minút|:count minuten', - 'a_minute' => 'ien minút|:count minuten', - 'min' => ':count min.', - 'second' => ':count sekonde|:count sekonden', - 'a_second' => 'in pear sekonden|:count sekonden', - 's' => ':count s.', - 'ago' => ':time lyn', - 'from_now' => 'oer :time', - 'diff_yesterday' => 'juster', - 'diff_tomorrow' => 'moarn', - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD-MM-YYYY', - 'LL' => 'D MMMM YYYY', - 'LLL' => 'D MMMM YYYY HH:mm', - 'LLLL' => 'dddd D MMMM YYYY HH:mm', - ], - 'calendar' => [ - 'sameDay' => '[hjoed om] LT', - 'nextDay' => '[moarn om] LT', - 'nextWeek' => 'dddd [om] LT', - 'lastDay' => '[juster om] LT', - 'lastWeek' => '[ôfrûne] dddd [om] LT', - 'sameElse' => 'L', - ], - 'ordinal' => function ($number) { - return $number.(($number === 1 || $number === 8 || $number >= 20) ? 'ste' : 'de'); - }, - 'months' => ['jannewaris', 'febrewaris', 'maart', 'april', 'maaie', 'juny', 'july', 'augustus', 'septimber', 'oktober', 'novimber', 'desimber'], - 'months_short' => ['jan', 'feb', 'mrt', 'apr', 'mai', 'jun', 'jul', 'aug', 'sep', 'okt', 'nov', 'des'], - 'mmm_suffix' => '.', - 'weekdays' => ['snein', 'moandei', 'tiisdei', 'woansdei', 'tongersdei', 'freed', 'sneon'], - 'weekdays_short' => ['si.', 'mo.', 'ti.', 'wo.', 'to.', 'fr.', 'so.'], - 'weekdays_min' => ['Si', 'Mo', 'Ti', 'Wo', 'To', 'Fr', 'So'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 4, - 'list' => [', ', ' en '], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fy_DE.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fy_DE.php deleted file mode 100644 index b51fd5a..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fy_DE.php +++ /dev/null @@ -1,27 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - information from Kenneth Christiansen Kenneth Christiansen, Pablo Saratxaga kenneth@gnu.org, pablo@mandriva.com - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'DD.MM.YYYY', - ], - 'months' => ['Jaunuwoa', 'Februwoa', 'Moaz', 'Aprell', 'Mai', 'Juni', 'Juli', 'August', 'Septamba', 'Oktoba', 'Nowamba', 'Dezamba'], - 'months_short' => ['Jan', 'Feb', 'Moz', 'Apr', 'Mai', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Now', 'Dez'], - 'weekdays' => ['Sinndag', 'Mondag', 'Dingsdag', 'Meddwäakj', 'Donnadag', 'Friedag', 'Sinnowend'], - 'weekdays_short' => ['Sdg', 'Mdg', 'Dsg', 'Mwk', 'Ddg', 'Fdg', 'Swd'], - 'weekdays_min' => ['Sdg', 'Mdg', 'Dsg', 'Mwk', 'Ddg', 'Fdg', 'Swd'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 4, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fy_NL.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fy_NL.php deleted file mode 100644 index e647db4..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/fy_NL.php +++ /dev/null @@ -1,27 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Free Software Foundation, Inc. bug-glibc-locales@gnu.org - */ -return array_replace_recursive(require __DIR__.'/fy.php', [ - 'formats' => [ - 'L' => 'DD-MM-YY', - ], - 'months' => ['Jannewaris', 'Febrewaris', 'Maart', 'April', 'Maaie', 'Juny', 'July', 'Augustus', 'Septimber', 'Oktober', 'Novimber', 'Desimber'], - 'months_short' => ['Jan', 'Feb', 'Mrt', 'Apr', 'Mai', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Des'], - 'weekdays' => ['Snein', 'Moandei', 'Tiisdei', 'Woansdei', 'Tongersdei', 'Freed', 'Sneon'], - 'weekdays_short' => ['Sn', 'Mo', 'Ti', 'Wo', 'To', 'Fr', 'Sn'], - 'weekdays_min' => ['Sn', 'Mo', 'Ti', 'Wo', 'To', 'Fr', 'Sn'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 4, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ga.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ga.php deleted file mode 100644 index 6b64da2..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ga.php +++ /dev/null @@ -1,72 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Thanks to André Silva : https://github.com/askpt - */ - -return [ - 'year' => ':count bliain', - 'a_year' => '{1}bliain|:count bliain', - 'y' => ':countb', - 'month' => ':count mí', - 'a_month' => '{1}mí|:count mí', - 'm' => ':countm', - 'week' => ':count sheachtain', - 'a_week' => '{1}sheachtain|:count sheachtain', - 'w' => ':countsh', - 'day' => ':count lá', - 'a_day' => '{1}lá|:count lá', - 'd' => ':countl', - 'hour' => ':count uair an chloig', - 'a_hour' => '{1}uair an chloig|:count uair an chloig', - 'h' => ':countu', - 'minute' => ':count nóiméad', - 'a_minute' => '{1}nóiméad|:count nóiméad', - 'min' => ':countn', - 'second' => ':count soicind', - 'a_second' => '{1}cúpla soicind|:count soicind', - 's' => ':countso', - 'ago' => ':time ó shin', - 'from_now' => 'i :time', - 'after' => ':time tar éis', - 'before' => ':time roimh', - 'diff_yesterday' => 'inné', - 'diff_tomorrow' => 'amárach', - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD/MM/YYYY', - 'LL' => 'D MMMM YYYY', - 'LLL' => 'D MMMM YYYY HH:mm', - 'LLLL' => 'dddd, D MMMM YYYY HH:mm', - ], - 'calendar' => [ - 'sameDay' => '[Inniu ag] LT', - 'nextDay' => '[Amárach ag] LT', - 'nextWeek' => 'dddd [ag] LT', - 'lastDay' => '[Inné aig] LT', - 'lastWeek' => 'dddd [seo caite] [ag] LT', - 'sameElse' => 'L', - ], - 'months' => ['Eanáir', 'Feabhra', 'Márta', 'Aibreán', 'Bealtaine', 'Méitheamh', 'Iúil', 'Lúnasa', 'Meán Fómhair', 'Deaireadh Fómhair', 'Samhain', 'Nollaig'], - 'months_short' => ['Eaná', 'Feab', 'Márt', 'Aibr', 'Beal', 'Méit', 'Iúil', 'Lúna', 'Meán', 'Deai', 'Samh', 'Noll'], - 'weekdays' => ['Dé Domhnaigh', 'Dé Luain', 'Dé Máirt', 'Dé Céadaoin', 'Déardaoin', 'Dé hAoine', 'Dé Satharn'], - 'weekdays_short' => ['Dom', 'Lua', 'Mái', 'Céa', 'Déa', 'hAo', 'Sat'], - 'weekdays_min' => ['Do', 'Lu', 'Má', 'Ce', 'Dé', 'hA', 'Sa'], - 'ordinal' => function ($number) { - return $number.($number === 1 ? 'd' : ($number % 10 === 2 ? 'na' : 'mh')); - }, - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 4, - 'list' => [', ', ' agus '], - 'meridiem' => ['r.n.', 'i.n.'], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ga_IE.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ga_IE.php deleted file mode 100644 index d50630c..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ga_IE.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/ga.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/gd.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/gd.php deleted file mode 100644 index 4959af6..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/gd.php +++ /dev/null @@ -1,71 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/* - * Authors: - * - François B - * - Jon Ashdown - */ -return [ - 'year' => ':count bliadhna', - 'a_year' => '{1}bliadhna|:count bliadhna', - 'y' => ':count b.', - 'month' => ':count mìosan', - 'a_month' => '{1}mìos|:count mìosan', - 'm' => ':count ms.', - 'week' => ':count seachdainean', - 'a_week' => '{1}seachdain|:count seachdainean', - 'w' => ':count s.', - 'day' => ':count latha', - 'a_day' => '{1}latha|:count latha', - 'd' => ':count l.', - 'hour' => ':count uairean', - 'a_hour' => '{1}uair|:count uairean', - 'h' => ':count u.', - 'minute' => ':count mionaidean', - 'a_minute' => '{1}mionaid|:count mionaidean', - 'min' => ':count md.', - 'second' => ':count diogan', - 'a_second' => '{1}beagan diogan|:count diogan', - 's' => ':count d.', - 'ago' => 'bho chionn :time', - 'from_now' => 'ann an :time', - 'diff_yesterday' => 'An-dè', - 'diff_tomorrow' => 'A-màireach', - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD/MM/YYYY', - 'LL' => 'D MMMM YYYY', - 'LLL' => 'D MMMM YYYY HH:mm', - 'LLLL' => 'dddd, D MMMM YYYY HH:mm', - ], - 'calendar' => [ - 'sameDay' => '[An-diugh aig] LT', - 'nextDay' => '[A-màireach aig] LT', - 'nextWeek' => 'dddd [aig] LT', - 'lastDay' => '[An-dè aig] LT', - 'lastWeek' => 'dddd [seo chaidh] [aig] LT', - 'sameElse' => 'L', - ], - 'ordinal' => function ($number) { - return $number.($number === 1 ? 'd' : ($number % 10 === 2 ? 'na' : 'mh')); - }, - 'months' => ['Am Faoilleach', 'An Gearran', 'Am Màrt', 'An Giblean', 'An Cèitean', 'An t-Ã’gmhios', 'An t-Iuchar', 'An Lùnastal', 'An t-Sultain', 'An Dàmhair', 'An t-Samhain', 'An Dùbhlachd'], - 'months_short' => ['Faoi', 'Gear', 'Màrt', 'Gibl', 'Cèit', 'Ã’gmh', 'Iuch', 'Lùn', 'Sult', 'Dàmh', 'Samh', 'Dùbh'], - 'weekdays' => ['Didòmhnaich', 'Diluain', 'Dimàirt', 'Diciadain', 'Diardaoin', 'Dihaoine', 'Disathairne'], - 'weekdays_short' => ['Did', 'Dil', 'Dim', 'Dic', 'Dia', 'Dih', 'Dis'], - 'weekdays_min' => ['Dò', 'Lu', 'Mà', 'Ci', 'Ar', 'Ha', 'Sa'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 4, - 'list' => [', ', ' agus '], - 'meridiem' => ['m', 'f'], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/gd_GB.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/gd_GB.php deleted file mode 100644 index 80da9c6..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/gd_GB.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/gd.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/gez.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/gez.php deleted file mode 100644 index a4a412e..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/gez.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return require __DIR__.'/gez_ER.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/gez_ER.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/gez_ER.php deleted file mode 100644 index 7f433ce..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/gez_ER.php +++ /dev/null @@ -1,56 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Ge'ez Frontier Foundation locales@geez.org - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'DD/MM/YYYY', - ], - 'months' => ['ጠáˆáˆ¨', 'ከተተ', 'መገበ', 'አኀዘ', 'áŒáŠ•á‰£á‰µ', 'ሠንየ', 'áˆáˆ˜áˆˆ', 'áŠáˆáˆ°', 'ከረመ', 'ጠቀመ', 'ኀደረ', 'ኀሠሠ'], - 'months_short' => ['ጠáˆáˆ¨', 'ከተተ', 'መገበ', 'አኀዘ', 'áŒáŠ•á‰£', 'ሠንየ', 'áˆáˆ˜áˆˆ', 'áŠáˆáˆ°', 'ከረመ', 'ጠቀመ', 'ኀደረ', 'ኀሠሠ'], - 'weekdays' => ['እáŠá‹µ', 'ሰኑይ', 'ሠሉስ', 'ራብዕ', 'áˆáˆ™áˆµ', 'ዓርበ', 'ቀዳሚት'], - 'weekdays_short' => ['እáŠá‹µ', 'ሰኑይ', 'ሠሉስ', 'ራብዕ', 'áˆáˆ™áˆµ', 'ዓርበ', 'ቀዳሚ'], - 'weekdays_min' => ['እáŠá‹µ', 'ሰኑይ', 'ሠሉስ', 'ራብዕ', 'áˆáˆ™áˆµ', 'ዓርበ', 'ቀዳሚ'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 1, - 'meridiem' => ['ጽባሕ', 'áˆáˆ´á‰µ'], - - 'month' => ':count ወርሕ', // less reliable - 'm' => ':count ወርሕ', // less reliable - 'a_month' => ':count ወርሕ', // less reliable - - 'week' => ':count ሰብዑ', // less reliable - 'w' => ':count ሰብዑ', // less reliable - 'a_week' => ':count ሰብዑ', // less reliable - - 'hour' => ':count አንትሙ', // less reliable - 'h' => ':count አንትሙ', // less reliable - 'a_hour' => ':count አንትሙ', // less reliable - - 'minute' => ':count ንኡስ', // less reliable - 'min' => ':count ንኡስ', // less reliable - 'a_minute' => ':count ንኡስ', // less reliable - - 'year' => ':count ዓመት', - 'y' => ':count ዓመት', - 'a_year' => ':count ዓመት', - - 'day' => ':count ዕለት', - 'd' => ':count ዕለት', - 'a_day' => ':count ዕለት', - - 'second' => ':count ካáˆáŠ¥', - 's' => ':count ካáˆáŠ¥', - 'a_second' => ':count ካáˆáŠ¥', -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/gez_ET.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/gez_ET.php deleted file mode 100644 index ede3efb..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/gez_ET.php +++ /dev/null @@ -1,27 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Ge'ez Frontier Foundation locales@geez.org - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'DD/MM/YYYY', - ], - 'months' => ['ጃንዩወሪ', 'áŒá‰¥áˆ©á‹ˆáˆª', 'ማርች', 'ኤá•áˆ¨áˆ', 'ሜይ', 'áŒáŠ•', 'áŒáˆ‹á‹­', 'ኦገስት', 'ሴá•á‰´áˆá‰ áˆ­', 'ኦክተá‹á‰ áˆ­', 'ኖቬáˆá‰ áˆ­', 'ዲሴáˆá‰ áˆ­'], - 'months_short' => ['ጃንዩ', 'áŒá‰¥áˆ©', 'ማርች', 'ኤá•áˆ¨', 'ሜይ ', 'áŒáŠ• ', 'áŒáˆ‹á‹­', 'ኦገስ', 'ሴá•á‰´', 'ኦክተ', 'ኖቬáˆ', 'ዲሴáˆ'], - 'weekdays' => ['እáŠá‹µ', 'ሰኑይ', 'ሠሉስ', 'ራብዕ', 'áˆáˆ™áˆµ', 'ዓርበ', 'ቀዳሚት'], - 'weekdays_short' => ['እáŠá‹µ', 'ሰኑይ', 'ሠሉስ', 'ራብዕ', 'áˆáˆ™áˆµ', 'ዓርበ', 'ቀዳሚ'], - 'weekdays_min' => ['እáŠá‹µ', 'ሰኑይ', 'ሠሉስ', 'ራብዕ', 'áˆáˆ™áˆµ', 'ዓርበ', 'ቀዳሚ'], - 'day_of_first_week_of_year' => 1, - 'meridiem' => ['ጽባሕ', 'áˆáˆ´á‰µ'], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/gl.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/gl.php deleted file mode 100644 index 0d51f02..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/gl.php +++ /dev/null @@ -1,88 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/* - * Authors: - * - François B - * - Fidel Pita - * - JD Isaacks - * - Diego Vilariño - * - Sebastian Thierer - */ -return [ - 'year' => ':count ano|:count anos', - 'a_year' => 'un ano|:count anos', - 'y' => ':count a.', - 'month' => ':count mes|:count meses', - 'a_month' => 'un mes|:count meses', - 'm' => ':count mes.', - 'week' => ':count semana|:count semanas', - 'a_week' => 'unha semana|:count semanas', - 'w' => ':count sem.', - 'day' => ':count día|:count días', - 'a_day' => 'un día|:count días', - 'd' => ':count d.', - 'hour' => ':count hora|:count horas', - 'a_hour' => 'unha hora|:count horas', - 'h' => ':count h.', - 'minute' => ':count minuto|:count minutos', - 'a_minute' => 'un minuto|:count minutos', - 'min' => ':count min.', - 'second' => ':count segundo|:count segundos', - 'a_second' => 'uns segundos|:count segundos', - 's' => ':count seg.', - 'ago' => 'hai :time', - 'from_now' => function ($time) { - if (substr($time, 0, 2) === 'un') { - return "n$time"; - } - - return "en $time"; - }, - 'after' => ':time despois', - 'before' => ':time antes', - 'formats' => [ - 'LT' => 'H:mm', - 'LTS' => 'H:mm:ss', - 'L' => 'DD/MM/YYYY', - 'LL' => 'D [de] MMMM [de] YYYY', - 'LLL' => 'D [de] MMMM [de] YYYY H:mm', - 'LLLL' => 'dddd, D [de] MMMM [de] YYYY H:mm', - ], - 'calendar' => [ - 'sameDay' => function (\Carbon\CarbonInterface $current) { - return '[hoxe '.($current->hour !== 1 ? 'ás' : 'á').'] LT'; - }, - 'nextDay' => function (\Carbon\CarbonInterface $current) { - return '[mañá '.($current->hour !== 1 ? 'ás' : 'á').'] LT'; - }, - 'nextWeek' => function (\Carbon\CarbonInterface $current) { - return 'dddd ['.($current->hour !== 1 ? 'ás' : 'á').'] LT'; - }, - 'lastDay' => function (\Carbon\CarbonInterface $current) { - return '[onte '.($current->hour !== 1 ? 'á' : 'a').'] LT'; - }, - 'lastWeek' => function (\Carbon\CarbonInterface $current) { - return '[o] dddd [pasado '.($current->hour !== 1 ? 'ás' : 'á').'] LT'; - }, - 'sameElse' => 'L', - ], - 'ordinal' => ':numberº', - 'months' => ['xaneiro', 'febreiro', 'marzo', 'abril', 'maio', 'xuño', 'xullo', 'agosto', 'setembro', 'outubro', 'novembro', 'decembro'], - 'months_short' => ['xan.', 'feb.', 'mar.', 'abr.', 'mai.', 'xuñ.', 'xul.', 'ago.', 'set.', 'out.', 'nov.', 'dec.'], - 'weekdays' => ['domingo', 'luns', 'martes', 'mércores', 'xoves', 'venres', 'sábado'], - 'weekdays_short' => ['dom.', 'lun.', 'mar.', 'mér.', 'xov.', 'ven.', 'sáb.'], - 'weekdays_min' => ['do', 'lu', 'ma', 'mé', 'xo', 've', 'sá'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 4, - 'list' => [', ', ' e '], - 'meridiem' => ['a.m.', 'p.m.'], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/gl_ES.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/gl_ES.php deleted file mode 100644 index 12a565f..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/gl_ES.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/gl.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/gom.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/gom.php deleted file mode 100644 index 6acd4bd..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/gom.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return require __DIR__.'/gom_Latn.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/gom_Latn.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/gom_Latn.php deleted file mode 100644 index 9cacf16..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/gom_Latn.php +++ /dev/null @@ -1,75 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return [ - 'year' => ':count voros|:count vorsam', - 'y' => ':countv', - 'month' => ':count mhoino|:count mhoine', - 'm' => ':countmh', - 'week' => ':count satolleacho|:count satolleache', - 'w' => ':countsa|:countsa', - 'day' => ':count dis', - 'd' => ':countd', - 'hour' => ':count hor|:count horam', - 'h' => ':counth', - 'minute' => ':count minute|:count mintam', - 'min' => ':countm', - 'second' => ':count second', - 's' => ':counts', - - 'formats' => [ - 'LT' => 'A h:mm [vazta]', - 'LTS' => 'A h:mm:ss [vazta]', - 'L' => 'DD-MM-YYYY', - 'LL' => 'D MMMM YYYY', - 'LLL' => 'D MMMM YYYY A h:mm [vazta]', - 'LLLL' => 'dddd, MMMM[achea] Do, YYYY, A h:mm [vazta]', - 'llll' => 'ddd, D MMM YYYY, A h:mm [vazta]', - ], - - 'calendar' => [ - 'sameDay' => '[Aiz] LT', - 'nextDay' => '[Faleam] LT', - 'nextWeek' => '[Ieta to] dddd[,] LT', - 'lastDay' => '[Kal] LT', - 'lastWeek' => '[Fatlo] dddd[,] LT', - 'sameElse' => 'L', - ], - - 'months' => ['Janer', 'Febrer', 'Mars', 'Abril', 'Mai', 'Jun', 'Julai', 'Agost', 'Setembr', 'Otubr', 'Novembr', 'Dezembr'], - 'months_short' => ['Jan.', 'Feb.', 'Mars', 'Abr.', 'Mai', 'Jun', 'Jul.', 'Ago.', 'Set.', 'Otu.', 'Nov.', 'Dez.'], - 'weekdays' => ['Aitar', 'Somar', 'Mongllar', 'Budvar', 'Brestar', 'Sukrar', 'Son\'var'], - 'weekdays_short' => ['Ait.', 'Som.', 'Mon.', 'Bud.', 'Bre.', 'Suk.', 'Son.'], - 'weekdays_min' => ['Ai', 'Sm', 'Mo', 'Bu', 'Br', 'Su', 'Sn'], - - 'ordinal' => function ($number, $period) { - return $number.($period === 'D' ? 'er' : ''); - }, - - 'meridiem' => function ($hour) { - if ($hour < 4) { - return 'rati'; - } - if ($hour < 12) { - return 'sokalli'; - } - if ($hour < 16) { - return 'donparam'; - } - if ($hour < 20) { - return 'sanje'; - } - - return 'rati'; - }, - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 4, - 'list' => [', ', ' ani '], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/gsw.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/gsw.php deleted file mode 100644 index 0a70aa6..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/gsw.php +++ /dev/null @@ -1,46 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/* - * Authors: - * - Christopher Dell - * - Akira Matsuda - * - Enrique Vidal - * - Simone Carletti - * - Henning Kiel - * - Aaron Patterson - * - Florian Hanke - */ -return [ - 'year' => ':count Johr', - 'month' => ':count Monet', - 'week' => ':count Woche', - 'day' => ':count Tag', - 'hour' => ':count Schtund', - 'minute' => ':count Minute', - 'second' => ':count Sekunde', - 'weekdays' => ['Sunntig', 'Mäntig', 'Ziischtig', 'Mittwuch', 'Dunschtig', 'Friitig', 'Samschtig'], - 'weekdays_short' => ['Su', 'Mä', 'Zi', 'Mi', 'Du', 'Fr', 'Sa'], - 'weekdays_min' => ['Su', 'Mä', 'Zi', 'Mi', 'Du', 'Fr', 'Sa'], - 'months' => ['Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'Auguscht', 'September', 'Oktober', 'November', 'Dezember'], - 'months_short' => ['Jan', 'Feb', 'Mär', 'Apr', 'Mai', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dez'], - 'meridiem' => ['am Vormittag', 'am Namittag'], - 'ordinal' => ':number.', - 'list' => [', ', ' und '], - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD.MM.YYYY', - 'LL' => 'Do MMMM YYYY', - 'LLL' => 'Do MMMM, HH:mm [Uhr]', - 'LLLL' => 'dddd, Do MMMM YYYY, HH:mm [Uhr]', - ], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/gsw_CH.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/gsw_CH.php deleted file mode 100644 index 0dba9c5..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/gsw_CH.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/gsw.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/gsw_FR.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/gsw_FR.php deleted file mode 100644 index e0e7b23..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/gsw_FR.php +++ /dev/null @@ -1,19 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/gsw.php', [ - 'meridiem' => ['vorm.', 'nam.'], - 'months' => ['Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'Auguscht', 'Septämber', 'Oktoober', 'Novämber', 'Dezämber'], - 'first_day_of_week' => 1, - 'formats' => [ - 'LLL' => 'Do MMMM YYYY HH:mm', - 'LLLL' => 'dddd, Do MMMM YYYY HH:mm', - ], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/gsw_LI.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/gsw_LI.php deleted file mode 100644 index e0e7b23..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/gsw_LI.php +++ /dev/null @@ -1,19 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/gsw.php', [ - 'meridiem' => ['vorm.', 'nam.'], - 'months' => ['Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'Auguscht', 'Septämber', 'Oktoober', 'Novämber', 'Dezämber'], - 'first_day_of_week' => 1, - 'formats' => [ - 'LLL' => 'Do MMMM YYYY HH:mm', - 'LLLL' => 'dddd, Do MMMM YYYY HH:mm', - ], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/gu.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/gu.php deleted file mode 100644 index 205d37f..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/gu.php +++ /dev/null @@ -1,80 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Josh Soref - * - Kaushik Thanki - * - Josh Soref - */ -return [ - 'year' => 'àªàª• વરà«àª·|:count વરà«àª·', - 'y' => ':countવરà«àª·|:countવરà«àª·à«‹', - 'month' => 'àªàª• મહિનો|:count મહિનો', - 'm' => ':countમહિનો|:countમહિના', - 'week' => ':count અઠવાડિયà«àª‚|:count અઠવાડિયા', - 'w' => ':countઅઠ.|:countઅઠ.', - 'day' => 'àªàª• દિવસ|:count દિવસ', - 'd' => ':countદિ.|:countદિ.', - 'hour' => 'àªàª• કલાક|:count કલાક', - 'h' => ':countક.|:countક.', - 'minute' => 'àªàª• મિનિટ|:count મિનિટ', - 'min' => ':countમિ.|:countમિ.', - 'second' => 'અમà«àª• પળો|:count સેકંડ', - 's' => ':countસે.|:countસે.', - 'ago' => ':time પેહલા', - 'from_now' => ':time મા', - 'after' => ':time પછી', - 'before' => ':time પહેલા', - 'diff_yesterday' => 'ગઇકાલે', - 'diff_tomorrow' => 'કાલે', - 'formats' => [ - 'LT' => 'A h:mm વાગà«àª¯à«‡', - 'LTS' => 'A h:mm:ss વાગà«àª¯à«‡', - 'L' => 'DD/MM/YYYY', - 'LL' => 'D MMMM YYYY', - 'LLL' => 'D MMMM YYYY, A h:mm વાગà«àª¯à«‡', - 'LLLL' => 'dddd, D MMMM YYYY, A h:mm વાગà«àª¯à«‡', - ], - 'calendar' => [ - 'sameDay' => '[આજ] LT', - 'nextDay' => '[કાલે] LT', - 'nextWeek' => 'dddd, LT', - 'lastDay' => '[ગઇકાલે] LT', - 'lastWeek' => '[પાછલા] dddd, LT', - 'sameElse' => 'L', - ], - 'meridiem' => function ($hour) { - if ($hour < 4) { - return 'રાત'; - } - if ($hour < 10) { - return 'સવાર'; - } - if ($hour < 17) { - return 'બપોર'; - } - if ($hour < 20) { - return 'સાંજ'; - } - - return 'રાત'; - }, - 'months' => ['જાનà«àª¯à«àª†àª°à«€', 'ફેબà«àª°à«àª†àª°à«€', 'મારà«àªš', 'àªàªªà«àª°àª¿àª²', 'મે', 'જૂન', 'જà«àª²àª¾àªˆ', 'ઑગસà«àªŸ', 'સપà«àªŸà«‡àª®à«àª¬àª°', 'ઑકà«àªŸà«àª¬àª°', 'નવેમà«àª¬àª°', 'ડિસેમà«àª¬àª°'], - 'months_short' => ['જાનà«àª¯à«.', 'ફેબà«àª°à«.', 'મારà«àªš', 'àªàªªà«àª°àª¿.', 'મે', 'જૂન', 'જà«àª²àª¾.', 'ઑગ.', 'સપà«àªŸà«‡.', 'ઑકà«àªŸà«.', 'નવે.', 'ડિસે.'], - 'weekdays' => ['રવિવાર', 'સોમવાર', 'મંગળવાર', 'બà«àª§à«àªµàª¾àª°', 'ગà«àª°à«àªµàª¾àª°', 'શà«àª•à«àª°àªµàª¾àª°', 'શનિવાર'], - 'weekdays_short' => ['રવિ', 'સોમ', 'મંગળ', 'બà«àª§à«', 'ગà«àª°à«', 'શà«àª•à«àª°', 'શનિ'], - 'weekdays_min' => ['ર', 'સો', 'મં', 'બà«', 'ગà«', 'શà«', 'શ'], - 'list' => [', ', ' અને '], - 'first_day_of_week' => 0, - 'day_of_first_week_of_year' => 1, - 'weekend' => [0, 0], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/gu_IN.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/gu_IN.php deleted file mode 100644 index c578440..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/gu_IN.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/gu.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/guz.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/guz.php deleted file mode 100644 index aa9769c..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/guz.php +++ /dev/null @@ -1,46 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'meridiem' => ['Ma', 'Mo'], - 'weekdays' => ['Chumapiri', 'Chumatato', 'Chumaine', 'Chumatano', 'Aramisi', 'Ichuma', 'Esabato'], - 'weekdays_short' => ['Cpr', 'Ctt', 'Cmn', 'Cmt', 'Ars', 'Icm', 'Est'], - 'weekdays_min' => ['Cpr', 'Ctt', 'Cmn', 'Cmt', 'Ars', 'Icm', 'Est'], - 'months' => ['Chanuari', 'Feburari', 'Machi', 'Apiriri', 'Mei', 'Juni', 'Chulai', 'Agosti', 'Septemba', 'Okitoba', 'Nobemba', 'Disemba'], - 'months_short' => ['Can', 'Feb', 'Mac', 'Apr', 'Mei', 'Jun', 'Cul', 'Agt', 'Sep', 'Okt', 'Nob', 'Dis'], - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD/MM/YYYY', - 'LL' => 'D MMM YYYY', - 'LLL' => 'D MMMM YYYY HH:mm', - 'LLLL' => 'dddd, D MMMM YYYY HH:mm', - ], - - 'month' => ':count omotunyi', // less reliable - 'm' => ':count omotunyi', // less reliable - 'a_month' => ':count omotunyi', // less reliable - - 'week' => ':count isano naibere', // less reliable - 'w' => ':count isano naibere', // less reliable - 'a_week' => ':count isano naibere', // less reliable - - 'second' => ':count ibere', // less reliable - 's' => ':count ibere', // less reliable - 'a_second' => ':count ibere', // less reliable - - 'year' => ':count omwaka', - 'y' => ':count omwaka', - 'a_year' => ':count omwaka', - - 'day' => ':count rituko', - 'd' => ':count rituko', - 'a_day' => ':count rituko', -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/gv.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/gv.php deleted file mode 100644 index 99a8bdc..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/gv.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return require __DIR__.'/gv_GB.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/gv_GB.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/gv_GB.php deleted file mode 100644 index afe3f2c..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/gv_GB.php +++ /dev/null @@ -1,55 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Alastair McKinstry bug-glibc-locales@gnu.org - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'DD/MM/YY', - ], - 'months' => ['Jerrey-geuree', 'Toshiaght-arree', 'Mayrnt', 'Averil', 'Boaldyn', 'Mean-souree', 'Jerrey-souree', 'Luanistyn', 'Mean-fouyir', 'Jerrey-fouyir', 'Mee Houney', 'Mee ny Nollick'], - 'months_short' => ['J-guer', 'T-arree', 'Mayrnt', 'Avrril', 'Boaldyn', 'M-souree', 'J-souree', 'Luanistyn', 'M-fouyir', 'J-fouyir', 'M.Houney', 'M.Nollick'], - 'weekdays' => ['Jedoonee', 'Jelhein', 'Jemayrt', 'Jercean', 'Jerdein', 'Jeheiney', 'Jesarn'], - 'weekdays_short' => ['Jed', 'Jel', 'Jem', 'Jerc', 'Jerd', 'Jeh', 'Jes'], - 'weekdays_min' => ['Jed', 'Jel', 'Jem', 'Jerc', 'Jerd', 'Jeh', 'Jes'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 4, - - 'year' => ':count blein', - 'y' => ':count blein', - 'a_year' => ':count blein', - - 'month' => ':count mee', - 'm' => ':count mee', - 'a_month' => ':count mee', - - 'week' => ':count shiaghtin', - 'w' => ':count shiaghtin', - 'a_week' => ':count shiaghtin', - - 'day' => ':count laa', - 'd' => ':count laa', - 'a_day' => ':count laa', - - 'hour' => ':count oor', - 'h' => ':count oor', - 'a_hour' => ':count oor', - - 'minute' => ':count feer veg', - 'min' => ':count feer veg', - 'a_minute' => ':count feer veg', - - 'second' => ':count derrey', - 's' => ':count derrey', - 'a_second' => ':count derrey', -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ha.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ha.php deleted file mode 100644 index fe71c02..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ha.php +++ /dev/null @@ -1,60 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - pablo@mandriva.com - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'D/M/YYYY', - 'LL' => 'D MMM, YYYY', - 'LLL' => 'D MMMM, YYYY HH:mm', - 'LLLL' => 'dddd, D MMMM, YYYY HH:mm', - ], - 'months' => ['Janairu', 'Faburairu', 'Maris', 'Afirilu', 'Mayu', 'Yuni', 'Yuli', 'Agusta', 'Satumba', 'Oktoba', 'Nuwamba', 'Disamba'], - 'months_short' => ['Jan', 'Fab', 'Mar', 'Afi', 'May', 'Yun', 'Yul', 'Agu', 'Sat', 'Okt', 'Nuw', 'Dis'], - 'weekdays' => ['Lahadi', 'Litini', 'Talata', 'Laraba', 'Alhamis', 'Jumaʼa', 'Asabar'], - 'weekdays_short' => ['Lah', 'Lit', 'Tal', 'Lar', 'Alh', 'Jum', 'Asa'], - 'weekdays_min' => ['Lh', 'Li', 'Ta', 'Lr', 'Al', 'Ju', 'As'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 1, - - 'year' => 'shekara :count', - 'y' => 'shekara :count', - 'a_year' => 'shekara :count', - - 'month' => ':count wátàa', - 'm' => ':count wátàa', - 'a_month' => ':count wátàa', - - 'week' => ':count mako', - 'w' => ':count mako', - 'a_week' => ':count mako', - - 'day' => ':count rana', - 'd' => ':count rana', - 'a_day' => ':count rana', - - 'hour' => ':count áwàa', - 'h' => ':count áwàa', - 'a_hour' => ':count áwàa', - - 'minute' => 'minti :count', - 'min' => 'minti :count', - 'a_minute' => 'minti :count', - - 'second' => ':count ná bíyú', - 's' => ':count ná bíyú', - 'a_second' => ':count ná bíyú', -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ha_GH.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ha_GH.php deleted file mode 100644 index bce5e41..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ha_GH.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/ha.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ha_NE.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ha_NE.php deleted file mode 100644 index bce5e41..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ha_NE.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/ha.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ha_NG.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ha_NG.php deleted file mode 100644 index bce5e41..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ha_NG.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/ha.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/hak.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/hak.php deleted file mode 100644 index 98e1320..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/hak.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return require __DIR__.'/hak_TW.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/hak_TW.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/hak_TW.php deleted file mode 100644 index 5423d54..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/hak_TW.php +++ /dev/null @@ -1,55 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - bug-glibc-locales@gnu.org - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'YYYYå¹´MM月DDæ—¥', - ], - 'months' => ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', 'ä¹æœˆ', 'å月', 'å一月', 'å二月'], - 'months_short' => [' 1月', ' 2月', ' 3月', ' 4月', ' 5月', ' 6月', ' 7月', ' 8月', ' 9月', '10月', '11月', '12月'], - 'weekdays' => ['禮拜日', '禮拜一', '禮拜二', '禮拜三', '禮拜四', '禮拜五', '禮拜六'], - 'weekdays_short' => ['æ—¥', '一', '二', '三', 'å››', '五', 'å…­'], - 'weekdays_min' => ['æ—¥', '一', '二', '三', 'å››', '五', 'å…­'], - 'day_of_first_week_of_year' => 1, - 'meridiem' => ['上æ™', '下æ™'], - - 'year' => ':count ngien11', - 'y' => ':count ngien11', - 'a_year' => ':count ngien11', - - 'month' => ':count ngieÌt', - 'm' => ':count ngieÌt', - 'a_month' => ':count ngieÌt', - - 'week' => ':count lî-pai', - 'w' => ':count lî-pai', - 'a_week' => ':count lî-pai', - - 'day' => ':count ngit', - 'd' => ':count ngit', - 'a_day' => ':count ngit', - - 'hour' => ':count sṳ̀', - 'h' => ':count sṳ̀', - 'a_hour' => ':count sṳ̀', - - 'minute' => ':count fûn', - 'min' => ':count fûn', - 'a_minute' => ':count fûn', - - 'second' => ':count miéu', - 's' => ':count miéu', - 'a_second' => ':count miéu', -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/haw.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/haw.php deleted file mode 100644 index 51715d8..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/haw.php +++ /dev/null @@ -1,53 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'months' => ['Ianuali', 'Pepeluali', 'Malaki', 'Ê»Apelila', 'Mei', 'Iune', 'Iulai', 'Ê»Aukake', 'Kepakemapa', 'Ê»Okakopa', 'Nowemapa', 'Kekemapa'], - 'months_short' => ['Ian.', 'Pep.', 'Mal.', 'Ê»Ap.', 'Mei', 'Iun.', 'Iul.', 'Ê»Au.', 'Kep.', 'Ê»Ok.', 'Now.', 'Kek.'], - 'weekdays' => ['LÄpule', 'PoÊ»akahi', 'PoÊ»alua', 'PoÊ»akolu', 'PoÊ»ahÄ', 'PoÊ»alima', 'PoÊ»aono'], - 'weekdays_short' => ['LP', 'P1', 'P2', 'P3', 'P4', 'P5', 'P6'], - 'weekdays_min' => ['S', 'M', 'T', 'W', 'T', 'F', 'S'], - 'formats' => [ - 'LT' => 'h:mm a', - 'LTS' => 'h:mm:ss a', - 'L' => 'D/M/YYYY', - 'LL' => 'D MMM YYYY', - 'LLL' => 'D MMMM YYYY h:mm a', - 'LLLL' => 'dddd, D MMMM YYYY h:mm a', - ], - - 'year' => ':count makahiki', - 'y' => ':count makahiki', - 'a_year' => ':count makahiki', - - 'month' => ':count mahina', - 'm' => ':count mahina', - 'a_month' => ':count mahina', - - 'week' => ':count pule', - 'w' => ':count pule', - 'a_week' => ':count pule', - - 'day' => ':count lÄ', - 'd' => ':count lÄ', - 'a_day' => ':count lÄ', - - 'hour' => ':count hola', - 'h' => ':count hola', - 'a_hour' => ':count hola', - - 'minute' => ':count minuke', - 'min' => ':count minuke', - 'a_minute' => ':count minuke', - - 'second' => ':count lua', - 's' => ':count lua', - 'a_second' => ':count lua', -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/he.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/he.php deleted file mode 100644 index ccebdb5..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/he.php +++ /dev/null @@ -1,78 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Daniel Cohen Gindi - * - JD Isaacks - * - Itai Nathaniel - * - GabMic - */ -return [ - 'year' => 'שנה|{2}שנתיי×|:count שני×', - 'y' => 'שנה|{2}שנתיי×|:count שני×', - 'month' => 'חודש|{2}חודשיי×|:count חודשי×', - 'm' => 'חודש|{2}חודשיי×|:count חודשי×', - 'week' => 'שבוע|{2}שבועיי×|:count שבועות', - 'w' => 'שבוע|{2}שבועיי×|:count שבועות', - 'day' => 'יו×|{2}יומיי×|:count ימי×', - 'd' => 'יו×|{2}יומיי×|:count ימי×', - 'hour' => 'שעה|{2}שעתיי×|:count שעות', - 'h' => 'שעה|{2}שעתיי×|:count שעות', - 'minute' => 'דקה|{2}שתי דקות|:count דקות', - 'min' => 'דקה|{2}שתי דקות|:count דקות', - 'second' => 'שנייה|:count שניות', - 'a_second' => 'כמה שניות|:count שניות', - 's' => 'שניה|:count שניות', - 'ago' => 'לפני :time', - 'from_now' => 'בעוד :time מעכשיו', - 'after' => '×חרי :time', - 'before' => 'לפני :time', - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD/MM/YYYY', - 'LL' => 'D [ב]MMMM YYYY', - 'LLL' => 'D [ב]MMMM YYYY HH:mm', - 'LLLL' => 'dddd, D [ב]MMMM YYYY HH:mm', - ], - 'calendar' => [ - 'sameDay' => '[×”×™×•× ×‘Ö¾]LT', - 'nextDay' => '[מחר ב־]LT', - 'nextWeek' => 'dddd [בשעה] LT', - 'lastDay' => '[×תמול ב־]LT', - 'lastWeek' => '[ביו×] dddd [×”×חרון בשעה] LT', - 'sameElse' => 'L', - ], - 'meridiem' => function ($hour, $minute, $isLower) { - if ($hour < 5) { - return 'לפנות בוקר'; - } - if ($hour < 10) { - return 'בבוקר'; - } - if ($hour < 12) { - return $isLower ? 'לפנה"צ' : 'לפני הצהריי×'; - } - if ($hour < 18) { - return $isLower ? '××—×”"צ' : '×חרי הצהריי×'; - } - - return 'בערב'; - }, - 'months' => ['ינו×ר', 'פברו×ר', 'מרץ', '×פריל', 'מ××™', 'יוני', 'יולי', '×וגוסט', 'ספטמבר', '×וקטובר', 'נובמבר', 'דצמבר'], - 'months_short' => ['ינו׳', 'פבר׳', 'מרץ', '×פר׳', 'מ××™', 'יוני', 'יולי', '×וג׳', 'ספט׳', '×וק׳', 'נוב׳', 'דצמ׳'], - 'weekdays' => ['ר×שון', 'שני', 'שלישי', 'רביעי', 'חמישי', 'שישי', 'שבת'], - 'weekdays_short' => ['×׳', 'ב׳', 'ג׳', 'ד׳', 'ה׳', 'ו׳', 'ש׳'], - 'weekdays_min' => ['×', 'ב', '×’', 'ד', '×”', 'ו', 'ש'], - 'list' => [', ', ' ו -'], - 'weekend' => [5, 6], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/he_IL.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/he_IL.php deleted file mode 100644 index 57c4fec..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/he_IL.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/he.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/hi.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/hi.php deleted file mode 100644 index be6eb09..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/hi.php +++ /dev/null @@ -1,80 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - abhimanyu003 - * - Josh Soref - * - JD Isaacks - */ -return [ - 'year' => 'à¤à¤• वरà¥à¤·|:count वरà¥à¤·', - 'y' => '1 वरà¥à¤·|:count वरà¥à¤·à¥‹à¤‚', - 'month' => 'à¤à¤• महीने|:count महीने', - 'm' => '1 माह|:count महीने', - 'week' => '1 सपà¥à¤¤à¤¾à¤¹|:count सपà¥à¤¤à¤¾à¤¹', - 'w' => '1 सपà¥à¤¤à¤¾à¤¹|:count सपà¥à¤¤à¤¾à¤¹', - 'day' => 'à¤à¤• दिन|:count दिन', - 'd' => '1 दिन|:count दिनों', - 'hour' => 'à¤à¤• घंटा|:count घंटे', - 'h' => '1 घंटा|:count घंटे', - 'minute' => 'à¤à¤• मिनट|:count मिनट', - 'min' => '1 मिनट|:count मिनटों', - 'second' => 'कà¥à¤› ही कà¥à¤·à¤£|:count सेकंड', - 's' => '1 सेकंड|:count सेकंड', - 'ago' => ':time पहले', - 'from_now' => ':time में', - 'after' => ':time के बाद', - 'before' => ':time के पहले', - 'diff_yesterday' => 'कल', - 'diff_tomorrow' => 'कल', - 'formats' => [ - 'LT' => 'A h:mm बजे', - 'LTS' => 'A h:mm:ss बजे', - 'L' => 'DD/MM/YYYY', - 'LL' => 'D MMMM YYYY', - 'LLL' => 'D MMMM YYYY, A h:mm बजे', - 'LLLL' => 'dddd, D MMMM YYYY, A h:mm बजे', - ], - 'calendar' => [ - 'sameDay' => '[आज] LT', - 'nextDay' => '[कल] LT', - 'nextWeek' => 'dddd, LT', - 'lastDay' => '[कल] LT', - 'lastWeek' => '[पिछले] dddd, LT', - 'sameElse' => 'L', - ], - 'meridiem' => function ($hour) { - if ($hour < 4) { - return 'रात'; - } - if ($hour < 10) { - return 'सà¥à¤¬à¤¹'; - } - if ($hour < 17) { - return 'दोपहर'; - } - if ($hour < 20) { - return 'शाम'; - } - - return 'रात'; - }, - 'months' => ['जनवरी', 'फ़रवरी', 'मारà¥à¤š', 'अपà¥à¤°à¥ˆà¤²', 'मई', 'जून', 'जà¥à¤²à¤¾à¤ˆ', 'अगसà¥à¤¤', 'सितमà¥à¤¬à¤°', 'अकà¥à¤Ÿà¥‚बर', 'नवमà¥à¤¬à¤°', 'दिसमà¥à¤¬à¤°'], - 'months_short' => ['जन.', 'फ़र.', 'मारà¥à¤š', 'अपà¥à¤°à¥ˆ.', 'मई', 'जून', 'जà¥à¤².', 'अग.', 'सित.', 'अकà¥à¤Ÿà¥‚.', 'नव.', 'दिस.'], - 'weekdays' => ['रविवार', 'सोमवार', 'मंगलवार', 'बà¥à¤§à¤µà¤¾à¤°', 'गà¥à¤°à¥‚वार', 'शà¥à¤•à¥à¤°à¤µà¤¾à¤°', 'शनिवार'], - 'weekdays_short' => ['रवि', 'सोम', 'मंगल', 'बà¥à¤§', 'गà¥à¤°à¥‚', 'शà¥à¤•à¥à¤°', 'शनि'], - 'weekdays_min' => ['र', 'सो', 'मं', 'बà¥', 'गà¥', 'शà¥', 'श'], - 'list' => [', ', ' और '], - 'first_day_of_week' => 0, - 'day_of_first_week_of_year' => 1, - 'weekend' => [0, 0], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/hi_IN.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/hi_IN.php deleted file mode 100644 index ac30299..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/hi_IN.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/hi.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/hif.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/hif.php deleted file mode 100644 index 0ef3c8a..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/hif.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return require __DIR__.'/hif_FJ.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/hif_FJ.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/hif_FJ.php deleted file mode 100644 index fde9c32..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/hif_FJ.php +++ /dev/null @@ -1,54 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Samsung Electronics Co., Ltd. akhilesh.k@samsung.com - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'dddd DD MMM YYYY', - ], - 'months' => ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], - 'months_short' => ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], - 'weekdays' => ['Ravivar', 'Somvar', 'Mangalvar', 'Budhvar', 'Guruvar', 'Shukravar', 'Shanivar'], - 'weekdays_short' => ['Ravi', 'Som', 'Mangal', 'Budh', 'Guru', 'Shukra', 'Shani'], - 'weekdays_min' => ['Ravi', 'Som', 'Mangal', 'Budh', 'Guru', 'Shukra', 'Shani'], - 'meridiem' => ['Purvahan', 'Aparaahna'], - - 'hour' => ':count minit', // less reliable - 'h' => ':count minit', // less reliable - 'a_hour' => ':count minit', // less reliable - - 'year' => ':count saal', - 'y' => ':count saal', - 'a_year' => ':count saal', - - 'month' => ':count Mahina', - 'm' => ':count Mahina', - 'a_month' => ':count Mahina', - - 'week' => ':count Hafta', - 'w' => ':count Hafta', - 'a_week' => ':count Hafta', - - 'day' => ':count Din', - 'd' => ':count Din', - 'a_day' => ':count Din', - - 'minute' => ':count Minit', - 'min' => ':count Minit', - 'a_minute' => ':count Minit', - - 'second' => ':count Second', - 's' => ':count Second', - 'a_second' => ':count Second', -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/hne.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/hne.php deleted file mode 100644 index debd87d..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/hne.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return require __DIR__.'/hne_IN.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/hne_IN.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/hne_IN.php deleted file mode 100644 index 4725e2e..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/hne_IN.php +++ /dev/null @@ -1,27 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Red Hat, Pune bug-glibc-locales@gnu.org - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'D/M/YY', - ], - 'months' => ['जनवरी', 'फरवरी', 'मारà¥à¤š', 'अपरेल', 'मई', 'जून', 'जà¥à¤²à¤¾à¤ˆ', 'अगसà¥à¤¤', 'सितमबर', 'अकटूबर', 'नवमबर', 'दिसमबर'], - 'months_short' => ['जन', 'फर', 'मारà¥à¤š', 'अप', 'मई', 'जून', 'जà¥à¤²à¤¾', 'अग', 'सित', 'अकटू', 'नव', 'दिस'], - 'weekdays' => ['इतवार', 'सोमवार', 'मंगलवार', 'बà¥à¤§à¤µà¤¾à¤°', 'बिरसपत', 'सà¥à¤•à¤°à¤µà¤¾à¤°', 'सनिवार'], - 'weekdays_short' => ['इत', 'सोम', 'मंग', 'बà¥à¤§', 'बिर', 'सà¥à¤•', 'सनि'], - 'weekdays_min' => ['इत', 'सोम', 'मंग', 'बà¥à¤§', 'बिर', 'सà¥à¤•', 'सनि'], - 'day_of_first_week_of_year' => 1, - 'meridiem' => ['बिहिनियाà¤', 'मंà¤à¤¨à¤¿à¤¯à¤¾à¤'], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/hr.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/hr.php deleted file mode 100644 index 3d03f32..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/hr.php +++ /dev/null @@ -1,103 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Josh Soref - * - François B - * - Tim Fish - * - shaishavgandhi05 - * - Serhan Apaydın - * - JD Isaacks - * - tomhorvat - * - Josh Soref - * - François B - * - shaishavgandhi05 - * - Serhan Apaydın - * - JD Isaacks - * - tomhorvat - * - Stjepan - * - Vanja Retkovac (vr00) - */ -return [ - 'year' => ':count godinu|:count godine|:count godina', - 'y' => ':count god.|:count god.|:count god.', - 'month' => ':count mjesec|:count mjeseca|:count mjeseci', - 'm' => ':count mj.|:count mj.|:count mj.', - 'week' => ':count tjedan|:count tjedna|:count tjedana', - 'w' => ':count tj.|:count tj.|:count tj.', - 'day' => ':count dan|:count dana|:count dana', - 'd' => ':count d.|:count d.|:count d.', - 'hour' => ':count sat|:count sata|:count sati', - 'h' => ':count sat|:count sata|:count sati', - 'minute' => ':count minutu|:count minute|:count minuta', - 'min' => ':count min.|:count min.|:count min.', - 'second' => ':count sekundu|:count sekunde|:count sekundi', - 'a_second' => 'nekoliko sekundi|:count sekunde|:count sekundi', - 's' => ':count sek.|:count sek.|:count sek.', - 'ago' => 'prije :time', - 'from_now' => 'za :time', - 'after' => ':time poslije', - 'before' => ':time prije', - 'diff_yesterday' => 'juÄer', - 'diff_tomorrow' => 'sutra', - 'diff_before_yesterday' => 'prekjuÄer', - 'diff_after_tomorrow' => 'prekosutra', - 'formats' => [ - 'LT' => 'H:mm', - 'LTS' => 'H:mm:ss', - 'L' => 'DD.MM.YYYY', - 'LL' => 'D. MMMM YYYY', - 'LLL' => 'D. MMMM YYYY H:mm', - 'LLLL' => 'dddd, D. MMMM YYYY H:mm', - ], - 'calendar' => [ - 'sameDay' => '[danas u] LT', - 'nextDay' => '[sutra u] LT', - 'nextWeek' => function (\Carbon\CarbonInterface $date) { - switch ($date->dayOfWeek) { - case 0: - return '[u] [nedjelju] [u] LT'; - case 3: - return '[u] [srijedu] [u] LT'; - case 6: - return '[u] [subotu] [u] LT'; - default: - return '[u] dddd [u] LT'; - } - }, - 'lastDay' => '[juÄer u] LT', - 'lastWeek' => function (\Carbon\CarbonInterface $date) { - switch ($date->dayOfWeek) { - case 0: - case 3: - return '[proÅ¡lu] dddd [u] LT'; - case 6: - return '[proÅ¡le] [subote] [u] LT'; - default: - return '[proÅ¡li] dddd [u] LT'; - } - }, - 'sameElse' => 'L', - ], - 'ordinal' => ':number.', - 'months' => ['sijeÄnja', 'veljaÄe', 'ožujka', 'travnja', 'svibnja', 'lipnja', 'srpnja', 'kolovoza', 'rujna', 'listopada', 'studenoga', 'prosinca'], - 'months_standalone' => ['sijeÄanj', 'veljaÄa', 'ožujak', 'travanj', 'svibanj', 'lipanj', 'srpanj', 'kolovoz', 'rujan', 'listopad', 'studeni', 'prosinac'], - 'months_short' => ['sij.', 'velj.', 'ožu.', 'tra.', 'svi.', 'lip.', 'srp.', 'kol.', 'ruj.', 'lis.', 'stu.', 'pro.'], - 'months_regexp' => '/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/', - 'weekdays' => ['nedjelju', 'ponedjeljak', 'utorak', 'srijedu', 'Äetvrtak', 'petak', 'subotu'], - 'weekdays_standalone' => ['nedjelja', 'ponedjeljak', 'utorak', 'srijeda', 'Äetvrtak', 'petak', 'subota'], - 'weekdays_short' => ['ned.', 'pon.', 'uto.', 'sri.', 'Äet.', 'pet.', 'sub.'], - 'weekdays_min' => ['ne', 'po', 'ut', 'sr', 'Äe', 'pe', 'su'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 1, - 'list' => [', ', ' i '], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/hr_BA.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/hr_BA.php deleted file mode 100644 index 752c59c..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/hr_BA.php +++ /dev/null @@ -1,32 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - DarkoDevelop - */ -return array_replace_recursive(require __DIR__.'/hr.php', [ - 'weekdays' => ['nedjelja', 'ponedjeljak', 'utorak', 'srijeda', 'Äetvrtak', 'petak', 'subota'], - 'weekdays_short' => ['ned', 'pon', 'uto', 'sri', 'Äet', 'pet', 'sub'], - 'weekdays_min' => ['ned', 'pon', 'uto', 'sri', 'Äet', 'pet', 'sub'], - 'months' => ['sijeÄnja', 'veljaÄe', 'ožujka', 'travnja', 'svibnja', 'lipnja', 'srpnja', 'kolovoza', 'rujna', 'listopada', 'studenoga', 'prosinca'], - 'months_short' => ['sij', 'velj', 'ožu', 'tra', 'svi', 'lip', 'srp', 'kol', 'ruj', 'lis', 'stu', 'pro'], - 'months_standalone' => ['sijeÄanj', 'veljaÄa', 'ožujak', 'travanj', 'svibanj', 'lipanj', 'srpanj', 'kolovoz', 'rujan', 'listopad', 'studeni', 'prosinac'], - 'first_day_of_week' => 1, - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'D. M. yy.', - 'LL' => 'D. MMM YYYY.', - 'LLL' => 'D. MMMM YYYY. HH:mm', - 'LLLL' => 'dddd, D. MMMM YYYY. HH:mm', - ], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/hr_HR.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/hr_HR.php deleted file mode 100644 index 2ae141d..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/hr_HR.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/hr.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/hsb.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/hsb.php deleted file mode 100644 index 829ff6e..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/hsb.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return require __DIR__.'/hsb_DE.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/hsb_DE.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/hsb_DE.php deleted file mode 100644 index 0952e51..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/hsb_DE.php +++ /dev/null @@ -1,60 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Information from Michael Wolf Andrzej Krzysztofowicz ankry@mif.pg.gda.pl - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD.MM.YYYY', - 'LL' => 'DD. MMMM YYYY', - 'LLL' => 'DD. MMMM, HH:mm [hodź.]', - 'LLLL' => 'dddd, DD. MMMM YYYY, HH:mm [hodź.]', - ], - 'months' => ['januara', 'februara', 'mÄ›rca', 'apryla', 'meje', 'junija', 'julija', 'awgusta', 'septembra', 'oktobra', 'nowembra', 'decembra'], - 'months_short' => ['Jan', 'Feb', 'MÄ›r', 'Apr', 'Mej', 'Jun', 'Jul', 'Awg', 'Sep', 'Okt', 'Now', 'Dec'], - 'weekdays' => ['Njedźela', 'Póndźela', 'Wutora', 'Srjeda', 'Å tvórtk', 'Pjatk', 'Sobota'], - 'weekdays_short' => ['Nj', 'Pó', 'Wu', 'Sr', 'Å t', 'Pj', 'So'], - 'weekdays_min' => ['Nj', 'Pó', 'Wu', 'Sr', 'Å t', 'Pj', 'So'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 4, - - 'year' => ':count lÄ›to', - 'y' => ':count lÄ›to', - 'a_year' => ':count lÄ›to', - - 'month' => ':count mÄ›sac', - 'm' => ':count mÄ›sac', - 'a_month' => ':count mÄ›sac', - - 'week' => ':count tydźeÅ„', - 'w' => ':count tydźeÅ„', - 'a_week' => ':count tydźeÅ„', - - 'day' => ':count dźeÅ„', - 'd' => ':count dźeÅ„', - 'a_day' => ':count dźeÅ„', - - 'hour' => ':count hodźina', - 'h' => ':count hodźina', - 'a_hour' => ':count hodźina', - - 'minute' => ':count chwila', - 'min' => ':count chwila', - 'a_minute' => ':count chwila', - - 'second' => ':count druhi', - 's' => ':count druhi', - 'a_second' => ':count druhi', -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ht.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ht.php deleted file mode 100644 index d1f4ad1..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ht.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return require __DIR__.'/ht_HT.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ht_HT.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ht_HT.php deleted file mode 100644 index 71c0b2d..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ht_HT.php +++ /dev/null @@ -1,55 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Sugar Labs // OLPC sugarlabs.org libc-alpha@sourceware.org - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'DD/MM/YYYY', - ], - 'months' => ['janvye', 'fevriye', 'mas', 'avril', 'me', 'jen', 'jiyè', 'out', 'septanm', 'oktòb', 'novanm', 'desanm'], - 'months_short' => ['jan', 'fev', 'mas', 'avr', 'me', 'jen', 'jiy', 'out', 'sep', 'okt', 'nov', 'des'], - 'weekdays' => ['dimanch', 'lendi', 'madi', 'mèkredi', 'jedi', 'vandredi', 'samdi'], - 'weekdays_short' => ['dim', 'len', 'mad', 'mèk', 'jed', 'van', 'sam'], - 'weekdays_min' => ['dim', 'len', 'mad', 'mèk', 'jed', 'van', 'sam'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 1, - - 'year' => ':count lane', - 'y' => ':count lane', - 'a_year' => ':count lane', - - 'month' => 'mwa :count', - 'm' => 'mwa :count', - 'a_month' => 'mwa :count', - - 'week' => 'semèn :count', - 'w' => 'semèn :count', - 'a_week' => 'semèn :count', - - 'day' => ':count jou', - 'd' => ':count jou', - 'a_day' => ':count jou', - - 'hour' => ':count lè', - 'h' => ':count lè', - 'a_hour' => ':count lè', - - 'minute' => ':count minit', - 'min' => ':count minit', - 'a_minute' => ':count minit', - - 'second' => ':count segonn', - 's' => ':count segonn', - 'a_second' => ':count segonn', -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/hu.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/hu.php deleted file mode 100644 index ec858a3..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/hu.php +++ /dev/null @@ -1,111 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/* - * Authors: - * - Adam Brunner - * - Brett Johnson - * - balping - */ -$huWeekEndings = ['vasárnap', 'hétfÅ‘n', 'kedden', 'szerdán', 'csütörtökön', 'pénteken', 'szombaton']; - -return [ - 'year' => ':count év', - 'y' => ':count év', - 'month' => ':count hónap', - 'm' => ':count hónap', - 'week' => ':count hét', - 'w' => ':count hét', - 'day' => ':count nap', - 'd' => ':count nap', - 'hour' => ':count óra', - 'h' => ':count óra', - 'minute' => ':count perc', - 'min' => ':count perc', - 'second' => ':count másodperc', - 's' => ':count másodperc', - 'ago' => ':time', - 'from_now' => ':time múlva', - 'after' => ':time késÅ‘bb', - 'before' => ':time korábban', - 'year_ago' => ':count éve', - 'y_ago' => ':count éve', - 'month_ago' => ':count hónapja', - 'm_ago' => ':count hónapja', - 'week_ago' => ':count hete', - 'w_ago' => ':count hete', - 'day_ago' => ':count napja', - 'd_ago' => ':count napja', - 'hour_ago' => ':count órája', - 'h_ago' => ':count órája', - 'minute_ago' => ':count perce', - 'min_ago' => ':count perce', - 'second_ago' => ':count másodperce', - 's_ago' => ':count másodperce', - 'year_after' => ':count évvel', - 'y_after' => ':count évvel', - 'month_after' => ':count hónappal', - 'm_after' => ':count hónappal', - 'week_after' => ':count héttel', - 'w_after' => ':count héttel', - 'day_after' => ':count nappal', - 'd_after' => ':count nappal', - 'hour_after' => ':count órával', - 'h_after' => ':count órával', - 'minute_after' => ':count perccel', - 'min_after' => ':count perccel', - 'second_after' => ':count másodperccel', - 's_after' => ':count másodperccel', - 'year_before' => ':count évvel', - 'y_before' => ':count évvel', - 'month_before' => ':count hónappal', - 'm_before' => ':count hónappal', - 'week_before' => ':count héttel', - 'w_before' => ':count héttel', - 'day_before' => ':count nappal', - 'd_before' => ':count nappal', - 'hour_before' => ':count órával', - 'h_before' => ':count órával', - 'minute_before' => ':count perccel', - 'min_before' => ':count perccel', - 'second_before' => ':count másodperccel', - 's_before' => ':count másodperccel', - 'months' => ['január', 'február', 'március', 'április', 'május', 'június', 'július', 'augusztus', 'szeptember', 'október', 'november', 'december'], - 'months_short' => ['jan.', 'feb.', 'márc.', 'ápr.', 'máj.', 'jún.', 'júl.', 'aug.', 'szept.', 'okt.', 'nov.', 'dec.'], - 'weekdays' => ['vasárnap', 'hétfÅ‘', 'kedd', 'szerda', 'csütörtök', 'péntek', 'szombat'], - 'weekdays_short' => ['vas', 'hét', 'kedd', 'sze', 'csüt', 'pén', 'szo'], - 'weekdays_min' => ['v', 'h', 'k', 'sze', 'cs', 'p', 'sz'], - 'ordinal' => ':number.', - 'formats' => [ - 'LT' => 'H:mm', - 'LTS' => 'H:mm:ss', - 'L' => 'YYYY.MM.DD.', - 'LL' => 'YYYY. MMMM D.', - 'LLL' => 'YYYY. MMMM D. H:mm', - 'LLLL' => 'YYYY. MMMM D., dddd H:mm', - ], - 'calendar' => [ - 'sameDay' => '[ma] LT[-kor]', - 'nextDay' => '[holnap] LT[-kor]', - 'nextWeek' => function (\Carbon\CarbonInterface $date) use ($huWeekEndings) { - return '['.$huWeekEndings[$date->dayOfWeek].'] LT[-kor]'; - }, - 'lastDay' => '[tegnap] LT[-kor]', - 'lastWeek' => function (\Carbon\CarbonInterface $date) use ($huWeekEndings) { - return '[múlt '.$huWeekEndings[$date->dayOfWeek].'] LT[-kor]'; - }, - 'sameElse' => 'L', - ], - 'meridiem' => ['DE', 'DU'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 4, - 'list' => [', ', ' és '], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/hu_HU.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/hu_HU.php deleted file mode 100644 index b33a631..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/hu_HU.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/hu.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/hy.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/hy.php deleted file mode 100644 index 8056866..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/hy.php +++ /dev/null @@ -1,93 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/* - * Authors: - * - mhamlet - */ -return [ - 'year' => ':count Õ¿Õ¡Ö€Õ«', - 'a_year' => 'Õ¿Õ¡Ö€Õ«|:count Õ¿Õ¡Ö€Õ«', - 'y' => ':countÕ¿', - 'month' => ':count Õ¡Õ´Õ«Õ½', - 'a_month' => 'Õ¡Õ´Õ«Õ½|:count Õ¡Õ´Õ«Õ½', - 'm' => ':countÕ¡Õ´', - 'week' => ':count Õ·Õ¡Õ¢Õ¡Õ©', - 'a_week' => 'Õ·Õ¡Õ¢Õ¡Õ©|:count Õ·Õ¡Õ¢Õ¡Õ©', - 'w' => ':countÕ·', - 'day' => ':count Ö…Ö€', - 'a_day' => 'Ö…Ö€|:count Ö…Ö€', - 'd' => ':countÖ…Ö€', - 'hour' => ':count ÕªÕ¡Õ´', - 'a_hour' => 'ÕªÕ¡Õ´|:count ÕªÕ¡Õ´', - 'h' => ':countÕª', - 'minute' => ':count Ö€Õ¸ÕºÕ¥', - 'a_minute' => 'Ö€Õ¸ÕºÕ¥|:count Ö€Õ¸ÕºÕ¥', - 'min' => ':countÖ€', - 'second' => ':count Õ¾Õ¡ÕµÖ€Õ¯ÕµÕ¡Õ¶', - 'a_second' => 'Õ´Õ« Ö„Õ¡Õ¶Õ« Õ¾Õ¡ÕµÖ€Õ¯ÕµÕ¡Õ¶|:count Õ¾Õ¡ÕµÖ€Õ¯ÕµÕ¡Õ¶', - 's' => ':countÕ¾Ö€Õ¯', - 'ago' => ':time Õ¡Õ¼Õ¡Õ»', - 'from_now' => ':time Õ¶Õ¥Ö€Õ¯Õ¡ ÕºÕ¡Õ°Õ«Ö', - 'after' => ':time Õ°Õ¥Õ¿Õ¸', - 'before' => ':time Õ¡Õ¼Õ¡Õ»', - 'diff_yesterday' => 'Õ¥Ö€Õ¥Õ¯', - 'diff_tomorrow' => 'Õ¾Õ¡Õ²Õ¨', - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD.MM.YYYY', - 'LL' => 'D MMMM YYYY Õ©.', - 'LLL' => 'D MMMM YYYY Õ©., HH:mm', - 'LLLL' => 'dddd, D MMMM YYYY Õ©., HH:mm', - ], - 'calendar' => [ - 'sameDay' => '[Õ¡ÕµÕ½Ö…Ö€] LT', - 'nextDay' => '[Õ¾Õ¡Õ²Õ¨] LT', - 'nextWeek' => 'dddd [Ö…Ö€Õ¨ ÕªÕ¡Õ´Õ¨] LT', - 'lastDay' => '[Õ¥Ö€Õ¥Õ¯] LT', - 'lastWeek' => '[Õ¡Õ¶ÖÕ¡Õ®] dddd [Ö…Ö€Õ¨ ÕªÕ¡Õ´Õ¨] LT', - 'sameElse' => 'L', - ], - 'ordinal' => function ($number, $period) { - switch ($period) { - case 'DDD': - case 'w': - case 'W': - case 'DDDo': - return $number.($number === 1 ? '-Õ«Õ¶' : '-Ö€Õ¤'); - default: - return $number; - } - }, - 'meridiem' => function ($hour) { - if ($hour < 4) { - return 'Õ£Õ«Õ·Õ¥Ö€Õ¾Õ¡'; - } - if ($hour < 12) { - return 'Õ¡Õ¼Õ¡Õ¾Õ¸Õ¿Õ¾Õ¡'; - } - if ($hour < 17) { - return 'ÖÕ¥Ö€Õ¥Õ¯Õ¾Õ¡'; - } - - return 'Õ¥Ö€Õ¥Õ¯Õ¸ÕµÕ¡Õ¶'; - }, - 'months' => ['Õ°Õ¸Ö‚Õ¶Õ¾Õ¡Ö€Õ«', 'ÖƒÕ¥Õ¿Ö€Õ¾Õ¡Ö€Õ«', 'Õ´Õ¡Ö€Õ¿Õ«', 'Õ¡ÕºÖ€Õ«Õ¬Õ«', 'Õ´Õ¡ÕµÕ«Õ½Õ«', 'Õ°Õ¸Ö‚Õ¶Õ«Õ½Õ«', 'Õ°Õ¸Ö‚Õ¬Õ«Õ½Õ«', 'Ö…Õ£Õ¸Õ½Õ¿Õ¸Õ½Õ«', 'Õ½Õ¥ÕºÕ¿Õ¥Õ´Õ¢Õ¥Ö€Õ«', 'Õ°Õ¸Õ¯Õ¿Õ¥Õ´Õ¢Õ¥Ö€Õ«', 'Õ¶Õ¸ÕµÕ¥Õ´Õ¢Õ¥Ö€Õ«', 'Õ¤Õ¥Õ¯Õ¿Õ¥Õ´Õ¢Õ¥Ö€Õ«'], - 'months_standalone' => ['Õ°Õ¸Ö‚Õ¶Õ¾Õ¡Ö€', 'ÖƒÕ¥Õ¿Ö€Õ¾Õ¡Ö€', 'Õ´Õ¡Ö€Õ¿', 'Õ¡ÕºÖ€Õ«Õ¬', 'Õ´Õ¡ÕµÕ«Õ½', 'Õ°Õ¸Ö‚Õ¶Õ«Õ½', 'Õ°Õ¸Ö‚Õ¬Õ«Õ½', 'Ö…Õ£Õ¸Õ½Õ¿Õ¸Õ½', 'Õ½Õ¥ÕºÕ¿Õ¥Õ´Õ¢Õ¥Ö€', 'Õ°Õ¸Õ¯Õ¿Õ¥Õ´Õ¢Õ¥Ö€', 'Õ¶Õ¸ÕµÕ¥Õ´Õ¢Õ¥Ö€', 'Õ¤Õ¥Õ¯Õ¿Õ¥Õ´Õ¢Õ¥Ö€'], - 'months_short' => ['Õ°Õ¶Õ¾', 'ÖƒÕ¿Ö€', 'Õ´Ö€Õ¿', 'Õ¡ÕºÖ€', 'Õ´ÕµÕ½', 'Õ°Õ¶Õ½', 'Õ°Õ¬Õ½', 'Ö…Õ£Õ½', 'Õ½ÕºÕ¿', 'Õ°Õ¯Õ¿', 'Õ¶Õ´Õ¢', 'Õ¤Õ¯Õ¿'], - 'months_regexp' => '/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/', - 'weekdays' => ['Õ¯Õ«Ö€Õ¡Õ¯Õ«', 'Õ¥Ö€Õ¯Õ¸Ö‚Õ·Õ¡Õ¢Õ©Õ«', 'Õ¥Ö€Õ¥Ö„Õ·Õ¡Õ¢Õ©Õ«', 'Õ¹Õ¸Ö€Õ¥Ö„Õ·Õ¡Õ¢Õ©Õ«', 'Õ°Õ«Õ¶Õ£Õ·Õ¡Õ¢Õ©Õ«', 'Õ¸Ö‚Ö€Õ¢Õ¡Õ©', 'Õ·Õ¡Õ¢Õ¡Õ©'], - 'weekdays_short' => ['Õ¯Ö€Õ¯', 'Õ¥Ö€Õ¯', 'Õ¥Ö€Ö„', 'Õ¹Ö€Ö„', 'Õ°Õ¶Õ£', 'Õ¸Ö‚Ö€Õ¢', 'Õ·Õ¢Õ©'], - 'weekdays_min' => ['Õ¯Ö€Õ¯', 'Õ¥Ö€Õ¯', 'Õ¥Ö€Ö„', 'Õ¹Ö€Ö„', 'Õ°Õ¶Õ£', 'Õ¸Ö‚Ö€Õ¢', 'Õ·Õ¢Õ©'], - 'list' => [', ', ' Õ¥Ö‚ '], - 'first_day_of_week' => 1, -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/hy_AM.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/hy_AM.php deleted file mode 100644 index af05936..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/hy_AM.php +++ /dev/null @@ -1,24 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Josh Soref - * - François B - * - Tim Fish - * - Serhan Apaydın - * - JD Isaacks - */ -return array_replace_recursive(require __DIR__.'/hy.php', [ - 'from_now' => ':time Õ°Õ¥Õ¿Õ¸', - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/i18n.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/i18n.php deleted file mode 100644 index d19e4f4..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/i18n.php +++ /dev/null @@ -1,22 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'YYYY-MM-DD', - ], - 'months' => ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'], - 'months_short' => ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'], - 'weekdays' => ['1', '2', '3', '4', '5', '6', '7'], - 'weekdays_short' => ['1', '2', '3', '4', '5', '6', '7'], - 'weekdays_min' => ['1', '2', '3', '4', '5', '6', '7'], - 'first_day_of_week' => 0, - 'day_of_first_week_of_year' => 4, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ia.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ia.php deleted file mode 100644 index 15dcf4b..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ia.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return require __DIR__.'/ia_FR.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ia_FR.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ia_FR.php deleted file mode 100644 index 2708d6b..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ia_FR.php +++ /dev/null @@ -1,55 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Fedora Project Nik Kalach nikka@fedoraproject.org - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'DD.MM.YYYY', - ], - 'months' => ['januario', 'februario', 'martio', 'april', 'maio', 'junio', 'julio', 'augusto', 'septembre', 'octobre', 'novembre', 'decembre'], - 'months_short' => ['jan', 'feb', 'mar', 'apr', 'mai', 'jun', 'jul', 'aug', 'sep', 'oct', 'nov', 'dec'], - 'weekdays' => ['dominica', 'lunedi', 'martedi', 'mercuridi', 'jovedi', 'venerdi', 'sabbato'], - 'weekdays_short' => ['dom', 'lun', 'mar', 'mer', 'jov', 'ven', 'sab'], - 'weekdays_min' => ['dom', 'lun', 'mar', 'mer', 'jov', 'ven', 'sab'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 4, - - 'year' => 'anno :count', - 'y' => 'anno :count', - 'a_year' => 'anno :count', - - 'month' => ':count mense', - 'm' => ':count mense', - 'a_month' => ':count mense', - - 'week' => ':count septimana', - 'w' => ':count septimana', - 'a_week' => ':count septimana', - - 'day' => ':count die', - 'd' => ':count die', - 'a_day' => ':count die', - - 'hour' => ':count hora', - 'h' => ':count hora', - 'a_hour' => ':count hora', - - 'minute' => ':count minuscule', - 'min' => ':count minuscule', - 'a_minute' => ':count minuscule', - - 'second' => ':count secunda', - 's' => ':count secunda', - 'a_second' => ':count secunda', -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/id.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/id.php deleted file mode 100644 index 3e6adbc..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/id.php +++ /dev/null @@ -1,85 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Josh Soref - * - du - * - JD Isaacks - * - Nafies Luthfi - * - Raymundus Jati Primanda (mundusjp) - * - diankur313 - * - a-wip0 - */ -return [ - 'year' => ':count tahun', - 'a_year' => '{1}setahun|]1,Inf[:count tahun', - 'y' => ':countthn', - 'month' => ':count bulan', - 'a_month' => '{1}sebulan|]1,Inf[:count bulan', - 'm' => ':countbln', - 'week' => ':count minggu', - 'a_week' => '{1}seminggu|]1,Inf[:count minggu', - 'w' => ':countmgg', - 'day' => ':count hari', - 'a_day' => '{1}sehari|]1,Inf[:count hari', - 'd' => ':counthr', - 'hour' => ':count jam', - 'a_hour' => '{1}sejam|]1,Inf[:count jam', - 'h' => ':countj', - 'minute' => ':count menit', - 'a_minute' => '{1}semenit|]1,Inf[:count menit', - 'min' => ':countmnt', - 'second' => ':count detik', - 'a_second' => '{1}beberapa detik|]1,Inf[:count detik', - 's' => ':countdt', - 'ago' => ':time yang lalu', - 'from_now' => ':time dari sekarang', - 'after' => ':time setelahnya', - 'before' => ':time sebelumnya', - 'formats' => [ - 'LT' => 'HH.mm', - 'LTS' => 'HH.mm.ss', - 'L' => 'DD/MM/YYYY', - 'LL' => 'D MMMM YYYY', - 'LLL' => 'D MMMM YYYY [pukul] HH.mm', - 'LLLL' => 'dddd, D MMMM YYYY [pukul] HH.mm', - ], - 'calendar' => [ - 'sameDay' => '[Hari ini pukul] LT', - 'nextDay' => '[Besok pukul] LT', - 'nextWeek' => 'dddd [pukul] LT', - 'lastDay' => '[Kemarin pukul] LT', - 'lastWeek' => 'dddd [lalu pukul] LT', - 'sameElse' => 'L', - ], - 'meridiem' => function ($hour) { - if ($hour < 11) { - return 'pagi'; - } - if ($hour < 15) { - return 'siang'; - } - if ($hour < 19) { - return 'sore'; - } - - return 'malam'; - }, - 'months' => ['Januari', 'Februari', 'Maret', 'April', 'Mei', 'Juni', 'Juli', 'Agustus', 'September', 'Oktober', 'November', 'Desember'], - 'months_short' => ['Jan', 'Feb', 'Mar', 'Apr', 'Mei', 'Jun', 'Jul', 'Agt', 'Sep', 'Okt', 'Nov', 'Des'], - 'weekdays' => ['Minggu', 'Senin', 'Selasa', 'Rabu', 'Kamis', 'Jumat', 'Sabtu'], - 'weekdays_short' => ['Min', 'Sen', 'Sel', 'Rab', 'Kam', 'Jum', 'Sab'], - 'weekdays_min' => ['Mg', 'Sn', 'Sl', 'Rb', 'Km', 'Jm', 'Sb'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 1, - 'list' => [', ', ' dan '], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/id_ID.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/id_ID.php deleted file mode 100644 index 406112a..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/id_ID.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/id.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ig.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ig.php deleted file mode 100644 index 371e198..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ig.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return require __DIR__.'/ig_NG.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ig_NG.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ig_NG.php deleted file mode 100644 index 4c8a1e4..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ig_NG.php +++ /dev/null @@ -1,55 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - pablo@mandriva.com - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'DD/MM/YY', - ], - 'months' => ['Jenụwarị', 'Febrụwarị', 'Maachị', 'Eprel', 'Mee', 'Juun', 'Julaị', 'Ọgá»á»st', 'Septemba', 'Ọktoba', 'Novemba', 'Disemba'], - 'months_short' => ['Jen', 'Feb', 'Maa', 'Epr', 'Mee', 'Juu', 'Jul', 'Ọgá»', 'Sep', 'Ọkt', 'Nov', 'Dis'], - 'weekdays' => ['sá»nde', 'má»nde', 'tuzde', 'wenzde', 'tá»sde', 'fraịde', 'satá»de'], - 'weekdays_short' => ['sá»n', 'má»n', 'tuz', 'wen', 'tá»s', 'fra', 'sat'], - 'weekdays_min' => ['sá»n', 'má»n', 'tuz', 'wen', 'tá»s', 'fra', 'sat'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 1, - - 'year' => 'afo :count', - 'y' => 'afo :count', - 'a_year' => 'afo :count', - - 'month' => 'önwa :count', - 'm' => 'önwa :count', - 'a_month' => 'önwa :count', - - 'week' => 'izu :count', - 'w' => 'izu :count', - 'a_week' => 'izu :count', - - 'day' => 'ụbá»chị :count', - 'd' => 'ụbá»chị :count', - 'a_day' => 'ụbá»chị :count', - - 'hour' => 'awa :count', - 'h' => 'awa :count', - 'a_hour' => 'awa :count', - - 'minute' => 'minit :count', - 'min' => 'minit :count', - 'a_minute' => 'minit :count', - - 'second' => 'seká»nd :count', - 's' => 'seká»nd :count', - 'a_second' => 'seká»nd :count', -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ii.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ii.php deleted file mode 100644 index 30f8374..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ii.php +++ /dev/null @@ -1,54 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'meridiem' => ['ꎸꄑ', 'ê¯ê‹’'], - 'weekdays' => ['ê‘­ê†ê‘', 'ê†êŠ‚ê‹', 'ê†êŠ‚ê‘', 'ê†êŠ‚ꌕ', 'ê†êŠ‚ꇖ', 'ê†êŠ‚ꉬ', 'ê†êŠ‚ꃘ'], - 'weekdays_short' => ['ê‘­ê†', 'ê†ê‹', 'ê†ê‘', 'ê†êŒ•', 'ê†ê‡–', 'ê†ê‰¬', 'ê†êƒ˜'], - 'weekdays_min' => ['ê‘­ê†', 'ê†ê‹', 'ê†ê‘', 'ê†êŒ•', 'ê†ê‡–', 'ê†ê‰¬', 'ê†êƒ˜'], - 'months' => null, - 'months_short' => ['ê‹ê†ª', 'ê‘ꆪ', 'ꌕꆪ', 'ꇖꆪ', 'ꉬꆪ', 'ꃘꆪ', 'êƒê†ª', 'ꉆꆪ', 'ꈬꆪ', 'ꊰꆪ', 'ꊰꊪꆪ', 'ꊰꑋꆪ'], - 'formats' => [ - 'LT' => 'h:mm a', - 'LTS' => 'h:mm:ss a', - 'L' => 'YYYY-MM-dd', - 'LL' => 'YYYY MMM D', - 'LLL' => 'YYYY MMMM D h:mm a', - 'LLLL' => 'YYYY MMMM D, dddd h:mm a', - ], - - 'year' => ':count ê’‰', // less reliable - 'y' => ':count ê’‰', // less reliable - 'a_year' => ':count ê’‰', // less reliable - - 'month' => ':count ꆪ', - 'm' => ':count ꆪ', - 'a_month' => ':count ꆪ', - - 'week' => ':count êƒ', // less reliable - 'w' => ':count êƒ', // less reliable - 'a_week' => ':count êƒ', // less reliable - - 'day' => ':count êœ', // less reliable - 'd' => ':count êœ', // less reliable - 'a_day' => ':count êœ', // less reliable - - 'hour' => ':count ꄮꈉ', - 'h' => ':count ꄮꈉ', - 'a_hour' => ':count ꄮꈉ', - - 'minute' => ':count ꀄꊭ', // less reliable - 'min' => ':count ꀄꊭ', // less reliable - 'a_minute' => ':count ꀄꊭ', // less reliable - - 'second' => ':count ꇅ', // less reliable - 's' => ':count ꇅ', // less reliable - 'a_second' => ':count ꇅ', // less reliable -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ik.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ik.php deleted file mode 100644 index a0f5973..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ik.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return require __DIR__.'/ik_CA.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ik_CA.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ik_CA.php deleted file mode 100644 index 7ce3b33..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ik_CA.php +++ /dev/null @@ -1,50 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - pablo@mandriva.com - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'DD/MM/YY', - ], - 'months' => ['Siqiññaatchiaq', 'Siqiññaasrugruk', 'Paniqsiqsiivik', 'QilÄ¡ich Tatqiat', 'Suppivik', 'Iġñivik', 'Itchavik', 'Tiññivik', 'AmiÄ¡aiqsivik', 'Sikkuvik', 'Nippivik', 'Siqiñġiḷaq'], - 'months_short' => ['Sñt', 'Sñs', 'Pan', 'Qil', 'Sup', 'Iġñ', 'Itc', 'Tiñ', 'Ami', 'Sik', 'Nip', 'Siq'], - 'weekdays' => ['MinÄ¡uiqsioiq', 'SavaÅ‚Å‚iq', 'Ilaqtchiioiq', 'Qitchiioiq', 'Sisamiioiq', 'Tallimmiioiq', 'MaqinÄ¡uoiq'], - 'weekdays_short' => ['Min', 'Sav', 'Ila', 'Qit', 'Sis', 'Tal', 'Maq'], - 'weekdays_min' => ['Min', 'Sav', 'Ila', 'Qit', 'Sis', 'Tal', 'Maq'], - 'day_of_first_week_of_year' => 1, - - 'year' => ':count ukiuq', - 'y' => ':count ukiuq', - 'a_year' => ':count ukiuq', - - 'month' => ':count Tatqiat', - 'm' => ':count Tatqiat', - 'a_month' => ':count Tatqiat', - - 'week' => ':count tatqiat', // less reliable - 'w' => ':count tatqiat', // less reliable - 'a_week' => ':count tatqiat', // less reliable - - 'day' => ':count siqiñiq', // less reliable - 'd' => ':count siqiñiq', // less reliable - 'a_day' => ':count siqiñiq', // less reliable - - 'hour' => ':count Siḷa', // less reliable - 'h' => ':count Siḷa', // less reliable - 'a_hour' => ':count Siḷa', // less reliable - - 'second' => ':count iġñiq', // less reliable - 's' => ':count iġñiq', // less reliable - 'a_second' => ':count iġñiq', // less reliable -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/in.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/in.php deleted file mode 100644 index 406112a..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/in.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/id.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/is.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/is.php deleted file mode 100644 index bbdc71a..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/is.php +++ /dev/null @@ -1,52 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Kristján Ingi Geirsson - */ -return [ - 'year' => '1 ár|:count ár', - 'y' => '1 ár|:count ár', - 'month' => '1 mánuður|:count mánuðir', - 'm' => '1 mánuður|:count mánuðir', - 'week' => '1 vika|:count vikur', - 'w' => '1 vika|:count vikur', - 'day' => '1 dagur|:count dagar', - 'd' => '1 dagur|:count dagar', - 'hour' => '1 klukkutími|:count klukkutímar', - 'h' => '1 klukkutími|:count klukkutímar', - 'minute' => '1 mínúta|:count mínútur', - 'min' => '1 mínúta|:count mínútur', - 'second' => '1 sekúnda|:count sekúndur', - 's' => '1 sekúnda|:count sekúndur', - 'ago' => ':time síðan', - 'from_now' => ':time síðan', - 'after' => ':time eftir', - 'before' => ':time fyrir', - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 4, - 'list' => [', ', ' og '], - 'meridiem' => ['fh', 'eh'], - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD.MM.YYYY', - 'LL' => 'D. MMMM YYYY', - 'LLL' => 'D. MMMM [kl.] HH:mm', - 'LLLL' => 'dddd D. MMMM YYYY [kl.] HH:mm', - ], - 'weekdays' => ['sunnudaginn', 'mánudaginn', 'þriðjudaginn', 'miðvikudaginn', 'fimmtudaginn', 'föstudaginn', 'laugardaginn'], - 'weekdays_short' => ['sun', 'mán', 'þri', 'mið', 'fim', 'fös', 'lau'], - 'weekdays_min' => ['sun', 'mán', 'þri', 'mið', 'fim', 'fös', 'lau'], - 'months' => ['janúar', 'febrúar', 'mars', 'apríl', 'maí', 'júní', 'júlí', 'ágúst', 'september', 'október', 'nóvember', 'desember'], - 'months_short' => ['jan', 'feb', 'mar', 'apr', 'maí', 'jún', 'júl', 'ágú', 'sep', 'okt', 'nóv', 'des'], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/is_IS.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/is_IS.php deleted file mode 100644 index 8b91bb2..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/is_IS.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/is.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/it.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/it.php deleted file mode 100644 index 5062bd7..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/it.php +++ /dev/null @@ -1,92 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Ash - * - François B - * - Marco Perrando - * - Massimiliano Caniparoli - * - JD Isaacks - * - Andrea Martini - * - Francesco Marasco - * - Tizianoz93 - * - Davide Casiraghi (davide-casiraghi) - */ -return [ - 'year' => ':count anno|:count anni', - 'a_year' => 'un anno|:count anni', - 'y' => ':count anno|:count anni', - 'month' => ':count mese|:count mesi', - 'a_month' => 'un mese|:count mesi', - 'm' => ':count mese|:count mesi', - 'week' => ':count settimana|:count settimane', - 'a_week' => 'una settimana|:count settimane', - 'w' => ':count set.', - 'day' => ':count giorno|:count giorni', - 'a_day' => 'un giorno|:count giorni', - 'd' => ':count g|:count gg', - 'hour' => ':count ora|:count ore', - 'a_hour' => 'un\'ora|:count ore', - 'h' => ':count h', - 'minute' => ':count minuto|:count minuti', - 'a_minute' => 'un minuto|:count minuti', - 'min' => ':count min.', - 'second' => ':count secondo|:count secondi', - 'a_second' => 'alcuni secondi|:count secondi', - 's' => ':count sec.', - 'ago' => ':time fa', - 'from_now' => function ($time) { - return (preg_match('/^[0-9].+$/', $time) ? 'tra' : 'in')." $time"; - }, - 'after' => ':time dopo', - 'before' => ':time prima', - 'diff_now' => 'proprio ora', - 'diff_yesterday' => 'ieri', - 'diff_tomorrow' => 'domani', - 'diff_before_yesterday' => 'l\'altro ieri', - 'diff_after_tomorrow' => 'dopodomani', - 'period_interval' => 'ogni :interval', - 'period_start_date' => 'dal :date', - 'period_end_date' => 'al :date', - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD/MM/YYYY', - 'LL' => 'D MMMM YYYY', - 'LLL' => 'D MMMM YYYY HH:mm', - 'LLLL' => 'dddd D MMMM YYYY HH:mm', - ], - 'calendar' => [ - 'sameDay' => '[Oggi alle] LT', - 'nextDay' => '[Domani alle] LT', - 'nextWeek' => 'dddd [alle] LT', - 'lastDay' => '[Ieri alle] LT', - 'lastWeek' => function (\Carbon\CarbonInterface $date) { - switch ($date->dayOfWeek) { - case 0: - return '[la scorsa] dddd [alle] LT'; - default: - return '[lo scorso] dddd [alle] LT'; - } - }, - 'sameElse' => 'L', - ], - 'ordinal' => ':numberº', - 'months' => ['gennaio', 'febbraio', 'marzo', 'aprile', 'maggio', 'giugno', 'luglio', 'agosto', 'settembre', 'ottobre', 'novembre', 'dicembre'], - 'months_short' => ['gen', 'feb', 'mar', 'apr', 'mag', 'giu', 'lug', 'ago', 'set', 'ott', 'nov', 'dic'], - 'weekdays' => ['domenica', 'lunedì', 'martedì', 'mercoledì', 'giovedì', 'venerdì', 'sabato'], - 'weekdays_short' => ['dom', 'lun', 'mar', 'mer', 'gio', 'ven', 'sab'], - 'weekdays_min' => ['do', 'lu', 'ma', 'me', 'gi', 've', 'sa'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 4, - 'list' => [', ', ' e '], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/it_CH.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/it_CH.php deleted file mode 100644 index c23cc50..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/it_CH.php +++ /dev/null @@ -1,20 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/* - * Authors: - * - Propaganistas - */ -return array_replace_recursive(require __DIR__.'/it.php', [ - 'formats' => [ - 'L' => 'DD.MM.YYYY', - ], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/it_IT.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/it_IT.php deleted file mode 100644 index d6bd5fc..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/it_IT.php +++ /dev/null @@ -1,16 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - RAP bug-glibc-locales@gnu.org - */ -return require __DIR__.'/it.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/it_SM.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/it_SM.php deleted file mode 100644 index 57fab39..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/it_SM.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/it.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/it_VA.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/it_VA.php deleted file mode 100644 index 57fab39..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/it_VA.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/it.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/iu.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/iu.php deleted file mode 100644 index c8981cb..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/iu.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return require __DIR__.'/iu_CA.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/iu_CA.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/iu_CA.php deleted file mode 100644 index f99d436..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/iu_CA.php +++ /dev/null @@ -1,54 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Pablo Saratxaga pablo@mandriva.com - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'MM/DD/YY', - ], - 'months' => ['ᔮᓄáŠá“•', 'á••á•—áŠá“•', 'ᒪᔅᓯ', 'áƒá³á“—', 'á’ªáƒ', 'ᔪᓂ', 'ᔪᓚáƒ', 'áŠá’‹á“¯', 'ᓯᑎᕙ', 'áŠá‘¦á‘á•™', 'á“„á••á•™', 'ᑎᓯá•á•™'], - 'months_short' => ['ᔮᓄ', 'á••á•—', 'ᒪᔅ', 'áƒá³', 'á’ªáƒ', 'ᔪᓂ', 'ᔪᓚ', 'áŠá’‹', 'ᓯᑎ', 'áŠá‘¦', 'á“„á••', 'ᑎᓯ'], - 'weekdays' => ['ᓈᑦᑎᖑᔭá•á••á’ƒ', 'ᓇᒡá’ᔾᔭá…', 'ᓇᒡá’ᔾᔭá…ᓕᖅᑭᑦ', 'á±á–“ᓲᓕᖅᓯá…ᑦ', 'ᕿᑎᖅᑰᑦ', 'á…ᓪᓗᕈᓘá‘áƒá“‡á–…', 'ᓯᕙᑖᕕᒃ'], - 'weekdays_short' => ['ᓈ', 'ᓇ', 'á“•', 'á±', 'á•¿', 'á…', 'ᓯ'], - 'weekdays_min' => ['ᓈ', 'ᓇ', 'á“•', 'á±', 'á•¿', 'á…', 'ᓯ'], - 'day_of_first_week_of_year' => 1, - - 'year' => ':count á…á‘­á…á–…', - 'y' => ':count á…á‘­á…á–…', - 'a_year' => ':count á…á‘­á…á–…', - - 'month' => ':count qaammat', - 'm' => ':count qaammat', - 'a_month' => ':count qaammat', - - 'week' => ':count sapaatip akunnera', - 'w' => ':count sapaatip akunnera', - 'a_week' => ':count sapaatip akunnera', - - 'day' => ':count ulloq', - 'd' => ':count ulloq', - 'a_day' => ':count ulloq', - - 'hour' => ':count ikarraq', - 'h' => ':count ikarraq', - 'a_hour' => ':count ikarraq', - - 'minute' => ':count titiqqaralaaq', // less reliable - 'min' => ':count titiqqaralaaq', // less reliable - 'a_minute' => ':count titiqqaralaaq', // less reliable - - 'second' => ':count marluk', // less reliable - 's' => ':count marluk', // less reliable - 'a_second' => ':count marluk', // less reliable -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/iw.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/iw.php deleted file mode 100644 index a8034e8..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/iw.php +++ /dev/null @@ -1,57 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'months' => ['ינו×ר', 'פברו×ר', 'מרץ', '×פריל', 'מ××™', 'יוני', 'יולי', '×וגוסט', 'ספטמבר', '×וקטובר', 'נובמבר', 'דצמבר'], - 'months_short' => ['ינו׳', 'פבר׳', 'מרץ', '×פר׳', 'מ××™', 'יוני', 'יולי', '×וג׳', 'ספט׳', '×וק׳', 'נוב׳', 'דצמ׳'], - 'weekdays' => ['×™×•× ×¨×שון', '×™×•× ×©× ×™', '×™×•× ×©×œ×™×©×™', '×™×•× ×¨×‘×™×¢×™', '×™×•× ×—×ž×™×©×™', '×™×•× ×©×™×©×™', '×™×•× ×©×‘×ª'], - 'weekdays_short' => ['×™×•× ×׳', '×™×•× ×‘×³', '×™×•× ×’×³', '×™×•× ×“×³', '×™×•× ×”×³', '×™×•× ×•×³', 'שבת'], - 'weekdays_min' => ['×׳', 'ב׳', 'ג׳', 'ד׳', 'ה׳', 'ו׳', 'ש׳'], - 'meridiem' => ['לפנה״צ', '×חה״צ'], - 'formats' => [ - 'LT' => 'H:mm', - 'LTS' => 'H:mm:ss', - 'L' => 'D.M.YYYY', - 'LL' => 'D בMMM YYYY', - 'LLL' => 'D בMMMM YYYY H:mm', - 'LLLL' => 'dddd, D בMMMM YYYY H:mm', - ], - - 'year' => ':count שנה', - 'y' => ':count שנה', - 'a_year' => ':count שנה', - - 'month' => ':count חודש', - 'm' => ':count חודש', - 'a_month' => ':count חודש', - - 'week' => ':count שבוע', - 'w' => ':count שבוע', - 'a_week' => ':count שבוע', - - 'day' => ':count יו×', - 'd' => ':count יו×', - 'a_day' => ':count יו×', - - 'hour' => ':count שעה', - 'h' => ':count שעה', - 'a_hour' => ':count שעה', - - 'minute' => ':count דקה', - 'min' => ':count דקה', - 'a_minute' => ':count דקה', - - 'second' => ':count שניה', - 's' => ':count שניה', - 'a_second' => ':count שניה', - - 'ago' => 'לפני :time', - 'from_now' => 'בעוד :time', -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ja.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ja.php deleted file mode 100644 index a823dff..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ja.php +++ /dev/null @@ -1,97 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Takuya Sawada - * - Atsushi Tanaka - * - François B - * - Jason Katz-Brown - * - Serhan Apaydın - * - XueWei - * - JD Isaacks - * - toyama satoshi - * - atakigawa - */ -return [ - 'year' => ':countå¹´', - 'y' => ':countå¹´', - 'month' => ':countヶ月', - 'm' => ':countヶ月', - 'week' => ':count週間', - 'w' => ':count週間', - 'day' => ':countæ—¥', - 'd' => ':countæ—¥', - 'hour' => ':count時間', - 'h' => ':count時間', - 'minute' => ':count分', - 'min' => ':count分', - 'second' => ':count秒', - 'a_second' => '{1}数秒|]1,Inf[:count秒', - 's' => ':count秒', - 'ago' => ':timeå‰', - 'from_now' => ':time後', - 'after' => ':time後', - 'before' => ':timeå‰', - 'diff_yesterday' => '昨日', - 'diff_tomorrow' => '明日', - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'YYYY/MM/DD', - 'LL' => 'YYYYå¹´M月Dæ—¥', - 'LLL' => 'YYYYå¹´M月Dæ—¥ HH:mm', - 'LLLL' => 'YYYYå¹´M月Dæ—¥ dddd HH:mm', - ], - 'calendar' => [ - 'sameDay' => '[今日] LT', - 'nextDay' => '[明日] LT', - 'nextWeek' => function (\Carbon\CarbonInterface $current, \Carbon\CarbonInterface $other) { - if ($other->week !== $current->week) { - return '[æ¥é€±]dddd LT'; - } - - return 'dddd LT'; - }, - 'lastDay' => '[昨日] LT', - 'lastWeek' => function (\Carbon\CarbonInterface $current, \Carbon\CarbonInterface $other) { - if ($other->week !== $current->week) { - return '[先週]dddd LT'; - } - - return 'dddd LT'; - }, - 'sameElse' => 'L', - ], - 'ordinal' => function ($number, $period) { - switch ($period) { - case 'd': - case 'D': - case 'DDD': - return $number.'æ—¥'; - default: - return $number; - } - }, - 'meridiem' => ['åˆå‰', 'åˆå¾Œ'], - 'months' => ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'], - 'months_short' => ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'], - 'weekdays' => ['日曜日', '月曜日', 'ç«æ›œæ—¥', '水曜日', '木曜日', '金曜日', '土曜日'], - 'weekdays_short' => ['æ—¥', '月', 'ç«', 'æ°´', '木', '金', '土'], - 'weekdays_min' => ['æ—¥', '月', 'ç«', 'æ°´', '木', '金', '土'], - 'list' => 'ã€', - 'alt_numbers' => ['〇', '一', '二', '三', 'å››', '五', 'å…­', '七', 'å…«', 'ä¹', 'å', 'å一', 'å二', 'å三', 'åå››', 'å五', 'åå…­', 'å七', 'åå…«', 'åä¹', '二å', '二å一', '二å二', '二å三', '二åå››', '二å五', '二åå…­', '二å七', '二åå…«', '二åä¹', '三å', '三å一', '三å二', '三å三', '三åå››', '三å五', '三åå…­', '三å七', '三åå…«', '三åä¹', 'å››å', 'å››å一', 'å››å二', 'å››å三', 'å››åå››', 'å››å五', 'å››åå…­', 'å››å七', 'å››åå…«', 'å››åä¹', '五å', '五å一', '五å二', '五å三', '五åå››', '五å五', '五åå…­', '五å七', '五åå…«', '五åä¹', 'å…­å', 'å…­å一', 'å…­å二', 'å…­å三', 'å…­åå››', 'å…­å五', 'å…­åå…­', 'å…­å七', 'å…­åå…«', 'å…­åä¹', '七å', '七å一', '七å二', '七å三', '七åå››', '七å五', '七åå…­', '七å七', '七åå…«', '七åä¹', 'å…«å', 'å…«å一', 'å…«å二', 'å…«å三', 'å…«åå››', 'å…«å五', 'å…«åå…­', 'å…«å七', 'å…«åå…«', 'å…«åä¹', 'ä¹å', 'ä¹å一', 'ä¹å二', 'ä¹å三', 'ä¹åå››', 'ä¹å五', 'ä¹åå…­', 'ä¹å七', 'ä¹åå…«', 'ä¹åä¹'], - 'alt_numbers_pow' => [ - 10000 => '万', - 1000 => 'åƒ', - 100 => '百', - ], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ja_JP.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ja_JP.php deleted file mode 100644 index 9e035fd..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ja_JP.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/ja.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/jgo.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/jgo.php deleted file mode 100644 index bad6beb..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/jgo.php +++ /dev/null @@ -1,12 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/jmc.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/jmc.php deleted file mode 100644 index f8cc72c..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/jmc.php +++ /dev/null @@ -1,27 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'meridiem' => ['utuko', 'kyiukonyi'], - 'weekdays' => ['Jumapilyi', 'Jumatatuu', 'Jumanne', 'Jumatanu', 'Alhamisi', 'Ijumaa', 'Jumamosi'], - 'weekdays_short' => ['Jpi', 'Jtt', 'Jnn', 'Jtn', 'Alh', 'Iju', 'Jmo'], - 'weekdays_min' => ['Jpi', 'Jtt', 'Jnn', 'Jtn', 'Alh', 'Iju', 'Jmo'], - 'months' => ['Januari', 'Februari', 'Machi', 'Aprilyi', 'Mei', 'Junyi', 'Julyai', 'Agusti', 'Septemba', 'Oktoba', 'Novemba', 'Desemba'], - 'months_short' => ['Jan', 'Feb', 'Mac', 'Apr', 'Mei', 'Jun', 'Jul', 'Ago', 'Sep', 'Okt', 'Nov', 'Des'], - 'first_day_of_week' => 1, - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD/MM/YYYY', - 'LL' => 'D MMM YYYY', - 'LLL' => 'D MMMM YYYY HH:mm', - 'LLLL' => 'dddd, D MMMM YYYY HH:mm', - ], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/jv.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/jv.php deleted file mode 100644 index 96728d5..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/jv.php +++ /dev/null @@ -1,65 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Josh Soref - * - tgfjt - * - JD Isaacks - */ -return [ - 'year' => '{1}setaun|]1,Inf[:count taun', - 'month' => '{1}sewulan|]1,Inf[:count wulan', - 'week' => '{1}sakminggu|]1,Inf[:count minggu', - 'day' => '{1}sedinten|]1,Inf[:count dinten', - 'hour' => '{1}setunggal jam|]1,Inf[:count jam', - 'minute' => '{1}setunggal menit|]1,Inf[:count menit', - 'second' => '{1}sawetawis detik|]1,Inf[:count detik', - 'ago' => ':time ingkang kepengker', - 'from_now' => 'wonten ing :time', - 'formats' => [ - 'LT' => 'HH.mm', - 'LTS' => 'HH.mm.ss', - 'L' => 'DD/MM/YYYY', - 'LL' => 'D MMMM YYYY', - 'LLL' => 'D MMMM YYYY [pukul] HH.mm', - 'LLLL' => 'dddd, D MMMM YYYY [pukul] HH.mm', - ], - 'calendar' => [ - 'sameDay' => '[Dinten puniko pukul] LT', - 'nextDay' => '[Mbenjang pukul] LT', - 'nextWeek' => 'dddd [pukul] LT', - 'lastDay' => '[Kala wingi pukul] LT', - 'lastWeek' => 'dddd [kepengker pukul] LT', - 'sameElse' => 'L', - ], - 'meridiem' => function ($hour) { - if ($hour < 11) { - return 'enjing'; - } - if ($hour < 15) { - return 'siyang'; - } - if ($hour < 19) { - return 'sonten'; - } - - return 'ndalu'; - }, - 'months' => ['Januari', 'Februari', 'Maret', 'April', 'Mei', 'Juni', 'Juli', 'Agustus', 'September', 'Oktober', 'Nopember', 'Desember'], - 'months_short' => ['Jan', 'Feb', 'Mar', 'Apr', 'Mei', 'Jun', 'Jul', 'Ags', 'Sep', 'Okt', 'Nop', 'Des'], - 'weekdays' => ['Minggu', 'Senen', 'Seloso', 'Rebu', 'Kemis', 'Jemuwah', 'Septu'], - 'weekdays_short' => ['Min', 'Sen', 'Sel', 'Reb', 'Kem', 'Jem', 'Sep'], - 'weekdays_min' => ['Mg', 'Sn', 'Sl', 'Rb', 'Km', 'Jm', 'Sp'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 1, - 'list' => [', ', ' lan '], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ka.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ka.php deleted file mode 100644 index 1d137e2..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ka.php +++ /dev/null @@ -1,198 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Tornike Razmadze - * - François B - * - Lasha Dolidze - * - Tim Fish - * - JD Isaacks - * - Tornike Razmadze - * - François B - * - Lasha Dolidze - * - JD Isaacks - * - LONGMAN - * - Avtandil Kikabidze (akalongman) - */ -return [ - 'year' => ':count წელი', - 'y' => ':count წელი', - 'a_year' => '{1}წელი|]1,Inf[:count წელი', - 'month' => ':count თვე', - 'm' => ':count თვე', - 'a_month' => '{1}თვე|]1,Inf[:count თვე', - 'week' => ':count კვირáƒ', - 'w' => ':count კვირáƒ', - 'a_week' => '{1}კვირáƒ|]1,Inf[:count კვირáƒ', - 'day' => ':count დღე', - 'd' => ':count დღე', - 'a_day' => '{1}დღე|]1,Inf[:count დღე', - 'hour' => ':count სáƒáƒáƒ—ი', - 'h' => ':count სáƒáƒáƒ—ი', - 'a_hour' => '{1}სáƒáƒáƒ—ი|]1,Inf[:count სáƒáƒáƒ—ი', - 'minute' => ':count წუთი', - 'min' => ':count წუთი', - 'a_minute' => '{1}წუთი|]1,Inf[:count წუთი', - 'second' => ':count წáƒáƒ›áƒ˜', - 's' => ':count წáƒáƒ›áƒ˜', - 'a_second' => '{1}რáƒáƒ›áƒ“ენიმე წáƒáƒ›áƒ˜|]1,Inf[:count წáƒáƒ›áƒ˜', - 'ago' => function ($time) { - $replacements = [ - // year - 'წელი' => 'წლის', - // month - 'თვე' => 'თვის', - // week - 'კვირáƒ' => 'კვირის', - // day - 'დღე' => 'დღის', - // hour - 'სáƒáƒáƒ—ი' => 'სáƒáƒáƒ—ის', - // minute - 'წუთი' => 'წუთის', - // second - 'წáƒáƒ›áƒ˜' => 'წáƒáƒ›áƒ˜áƒ¡', - ]; - $time = strtr($time, array_flip($replacements)); - $time = strtr($time, $replacements); - - return "$time წინ"; - }, - 'from_now' => function ($time) { - $replacements = [ - // year - 'წელი' => 'წელიწáƒáƒ“ში', - // week - 'კვირáƒ' => 'კვირáƒáƒ¨áƒ˜', - // day - 'დღე' => 'დღეში', - // month - 'თვე' => 'თვეში', - // hour - 'სáƒáƒáƒ—ი' => 'სáƒáƒáƒ—ში', - // minute - 'წუთი' => 'წუთში', - // second - 'წáƒáƒ›áƒ˜' => 'წáƒáƒ›áƒ¨áƒ˜', - ]; - $time = strtr($time, array_flip($replacements)); - $time = strtr($time, $replacements); - - return $time; - }, - 'after' => function ($time) { - $replacements = [ - // year - 'წელი' => 'წლის', - // month - 'თვე' => 'თვის', - // week - 'კვირáƒ' => 'კვირის', - // day - 'დღე' => 'დღის', - // hour - 'სáƒáƒáƒ—ი' => 'სáƒáƒáƒ—ის', - // minute - 'წუთი' => 'წუთის', - // second - 'წáƒáƒ›áƒ˜' => 'წáƒáƒ›áƒ˜áƒ¡', - ]; - $time = strtr($time, array_flip($replacements)); - $time = strtr($time, $replacements); - - return "$time შემდეგ"; - }, - 'before' => function ($time) { - $replacements = [ - // year - 'წელი' => 'წლის', - // month - 'თვე' => 'თვის', - // week - 'კვირი' => 'კვირის', - // day - 'დღე' => 'დღის', - // hour - 'სáƒáƒáƒ—ი' => 'სáƒáƒáƒ—ის', - // minute - 'წუთი' => 'წუთის', - // second - 'წáƒáƒ›áƒ˜' => 'წáƒáƒ›áƒ˜áƒ¡', - ]; - $time = strtr($time, array_flip($replacements)); - $time = strtr($time, $replacements); - - return "$time უკáƒáƒœ"; - }, - 'diff_yesterday' => 'გუშინ', - 'diff_tomorrow' => 'ხვáƒáƒš', - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD/MM/YYYY', - 'LL' => 'D MMMM YYYY', - 'LLL' => 'D MMMM YYYY HH:mm', - 'LLLL' => 'dddd, D MMMM YYYY HH:mm', - ], - 'calendar' => [ - 'sameDay' => '[დღეს], LT[-ზე]', - 'nextDay' => '[ხვáƒáƒš], LT[-ზე]', - 'nextWeek' => function (\Carbon\CarbonInterface $current, \Carbon\CarbonInterface $other) { - return ($current->isSameWeek($other) ? '' : '[შემდეგ] ').'dddd, LT[-ზე]'; - }, - 'lastDay' => '[გუშინ], LT[-ზე]', - 'lastWeek' => '[წინáƒ] dddd, LT-ზე', - 'sameElse' => 'L', - ], - 'ordinal' => function ($number) { - if ($number === 0) { - return $number; - } - if ($number === 1) { - return $number.'-ლი'; - } - if (($number < 20) || ($number <= 100 && ($number % 20 === 0)) || ($number % 100 === 0)) { - return 'მე-'.$number; - } - - return $number.'-ე'; - }, - 'months' => ['იáƒáƒœáƒ•áƒáƒ áƒ¡', 'თებერვáƒáƒšáƒ¡', 'მáƒáƒ áƒ¢áƒ¡', 'áƒáƒžáƒ áƒ˜áƒšáƒ˜áƒ¡', 'მáƒáƒ˜áƒ¡áƒ¡', 'ივნისს', 'ივლისს', 'áƒáƒ’ვისტს', 'სექტემბერს', 'áƒáƒ¥áƒ¢áƒáƒ›áƒ‘ერს', 'ნáƒáƒ”მბერს', 'დეკემბერს'], - 'months_standalone' => ['იáƒáƒœáƒ•áƒáƒ áƒ˜', 'თებერვáƒáƒšáƒ˜', 'მáƒáƒ áƒ¢áƒ˜', 'áƒáƒžáƒ áƒ˜áƒšáƒ˜', 'მáƒáƒ˜áƒ¡áƒ˜', 'ივნისი', 'ივლისი', 'áƒáƒ’ვისტáƒ', 'სექტემბერი', 'áƒáƒ¥áƒ¢áƒáƒ›áƒ‘ერი', 'ნáƒáƒ”მბერი', 'დეკემბერი'], - 'months_short' => ['იáƒáƒœ', 'თებ', 'მáƒáƒ ', 'áƒáƒžáƒ ', 'მáƒáƒ˜', 'ივნ', 'ივლ', 'áƒáƒ’ვ', 'სექ', 'áƒáƒ¥áƒ¢', 'ნáƒáƒ”', 'დეკ'], - 'months_regexp' => '/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/', - 'weekdays' => ['კვირáƒáƒ¡', 'áƒáƒ áƒ¨áƒáƒ‘áƒáƒ—ს', 'სáƒáƒ›áƒ¨áƒáƒ‘áƒáƒ—ს', 'áƒáƒ—ხშáƒáƒ‘áƒáƒ—ს', 'ხუთშáƒáƒ‘áƒáƒ—ს', 'პáƒáƒ áƒáƒ¡áƒ™áƒ”ვს', 'შáƒáƒ‘áƒáƒ—ს'], - 'weekdays_standalone' => ['კვირáƒ', 'áƒáƒ áƒ¨áƒáƒ‘áƒáƒ—ი', 'სáƒáƒ›áƒ¨áƒáƒ‘áƒáƒ—ი', 'áƒáƒ—ხშáƒáƒ‘áƒáƒ—ი', 'ხუთშáƒáƒ‘áƒáƒ—ი', 'პáƒáƒ áƒáƒ¡áƒ™áƒ”ვი', 'შáƒáƒ‘áƒáƒ—ი'], - 'weekdays_short' => ['კვი', 'áƒáƒ áƒ¨', 'სáƒáƒ›', 'áƒáƒ—ხ', 'ხუთ', 'პáƒáƒ ', 'შáƒáƒ‘'], - 'weekdays_min' => ['კვ', 'áƒáƒ ', 'სáƒ', 'áƒáƒ—', 'ხუ', 'პáƒ', 'შáƒ'], - 'weekdays_regexp' => '/^([^d].*|.*[^d])$/', - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 1, - 'list' => [', ', ' დრ'], - 'meridiem' => function ($hour) { - if ($hour >= 4) { - if ($hour < 11) { - return 'დილის'; - } - - if ($hour < 16) { - return 'შუáƒáƒ“ღის'; - } - - if ($hour < 22) { - return 'სáƒáƒ¦áƒáƒ›áƒáƒ¡'; - } - } - - return 'ღáƒáƒ›áƒ˜áƒ¡'; - }, -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ka_GE.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ka_GE.php deleted file mode 100644 index dd77fa3..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ka_GE.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/ka.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/kab.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/kab.php deleted file mode 100644 index f0fd59b..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/kab.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return require __DIR__.'/kab_DZ.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/kab_DZ.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/kab_DZ.php deleted file mode 100644 index c488b5d..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/kab_DZ.php +++ /dev/null @@ -1,56 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - belkacem77@gmail.com - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'DD/MM/YYYY', - ], - 'months' => ['Yennayer', 'Fuá¹›ar', 'MeÉ£res', 'Yebrir', 'Mayyu', 'Yunyu', 'Yulyu', 'É£uct', 'Ctembeá¹›', 'Tubeá¹›', 'Wambeá¹›', 'Dujembeá¹›'], - 'months_short' => ['Yen', 'Fur', 'MeÉ£', 'Yeb', 'May', 'Yun', 'Yul', 'É£uc', 'Cte', 'Tub', 'Wam', 'Duj'], - 'weekdays' => ['Acer', 'Arim', 'Aram', 'Ahad', 'Amhad', 'Sem', 'Sed'], - 'weekdays_short' => ['Ace', 'Ari', 'Ara', 'Aha', 'Amh', 'Sem', 'Sed'], - 'weekdays_min' => ['Ace', 'Ari', 'Ara', 'Aha', 'Amh', 'Sem', 'Sed'], - 'first_day_of_week' => 6, - 'day_of_first_week_of_year' => 1, - 'meridiem' => ['FT', 'MD'], - - 'year' => ':count n yiseggasen', - 'y' => ':count n yiseggasen', - 'a_year' => ':count n yiseggasen', - - 'month' => ':count n wayyuren', - 'm' => ':count n wayyuren', - 'a_month' => ':count n wayyuren', - - 'week' => ':count n ledwaá¹›', // less reliable - 'w' => ':count n ledwaá¹›', // less reliable - 'a_week' => ':count n ledwaá¹›', // less reliable - - 'day' => ':count n wussan', - 'd' => ':count n wussan', - 'a_day' => ':count n wussan', - - 'hour' => ':count n tsaÉ›tin', - 'h' => ':count n tsaÉ›tin', - 'a_hour' => ':count n tsaÉ›tin', - - 'minute' => ':count n tedqiqin', - 'min' => ':count n tedqiqin', - 'a_minute' => ':count n tedqiqin', - - 'second' => ':count tasdidt', // less reliable - 's' => ':count tasdidt', // less reliable - 'a_second' => ':count tasdidt', // less reliable -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/kam.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/kam.php deleted file mode 100644 index 0fb6b2e..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/kam.php +++ /dev/null @@ -1,49 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'meridiem' => ['Ĩyakwakya', 'ĨyawÄ©oo'], - 'weekdays' => ['Wa kyumwa', 'Wa kwambÄ©lÄ©lya', 'Wa kelÄ©', 'Wa katatÅ©', 'Wa kana', 'Wa katano', 'Wa thanthatÅ©'], - 'weekdays_short' => ['Wky', 'Wkw', 'Wkl', 'WtÅ©', 'Wkn', 'Wtn', 'Wth'], - 'weekdays_min' => ['Wky', 'Wkw', 'Wkl', 'WtÅ©', 'Wkn', 'Wtn', 'Wth'], - 'months' => ['Mwai wa mbee', 'Mwai wa kelÄ©', 'Mwai wa katatÅ©', 'Mwai wa kana', 'Mwai wa katano', 'Mwai wa thanthatÅ©', 'Mwai wa muonza', 'Mwai wa nyaanya', 'Mwai wa kenda', 'Mwai wa Ä©kumi', 'Mwai wa Ä©kumi na Ä©mwe', 'Mwai wa Ä©kumi na ilÄ©'], - 'months_short' => ['Mbe', 'Kel', 'KtÅ©', 'Kan', 'Ktn', 'Tha', 'Moo', 'Nya', 'Knd', 'Ĩku', 'Ĩkm', 'Ĩkl'], - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD/MM/YYYY', - 'LL' => 'D MMM YYYY', - 'LLL' => 'D MMMM YYYY HH:mm', - 'LLLL' => 'dddd, D MMMM YYYY HH:mm', - ], - - // Too unreliable - /* - 'year' => ':count mbua', // less reliable - 'y' => ':count mbua', // less reliable - 'a_year' => ':count mbua', // less reliable - - 'month' => ':count ndakitali', // less reliable - 'm' => ':count ndakitali', // less reliable - 'a_month' => ':count ndakitali', // less reliable - - 'day' => ':count wia', // less reliable - 'd' => ':count wia', // less reliable - 'a_day' => ':count wia', // less reliable - - 'hour' => ':count orasan', // less reliable - 'h' => ':count orasan', // less reliable - 'a_hour' => ':count orasan', // less reliable - - 'minute' => ':count orasan', // less reliable - 'min' => ':count orasan', // less reliable - 'a_minute' => ':count orasan', // less reliable - */ -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/kde.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/kde.php deleted file mode 100644 index 8acdaba..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/kde.php +++ /dev/null @@ -1,27 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'meridiem' => ['Muhi', 'Chilo'], - 'weekdays' => ['Liduva lyapili', 'Liduva lyatatu', 'Liduva lyanchechi', 'Liduva lyannyano', 'Liduva lyannyano na linji', 'Liduva lyannyano na mavili', 'Liduva litandi'], - 'weekdays_short' => ['Ll2', 'Ll3', 'Ll4', 'Ll5', 'Ll6', 'Ll7', 'Ll1'], - 'weekdays_min' => ['Ll2', 'Ll3', 'Ll4', 'Ll5', 'Ll6', 'Ll7', 'Ll1'], - 'months' => ['Mwedi Ntandi', 'Mwedi wa Pili', 'Mwedi wa Tatu', 'Mwedi wa Nchechi', 'Mwedi wa Nnyano', 'Mwedi wa Nnyano na Umo', 'Mwedi wa Nnyano na Mivili', 'Mwedi wa Nnyano na Mitatu', 'Mwedi wa Nnyano na Nchechi', 'Mwedi wa Nnyano na Nnyano', 'Mwedi wa Nnyano na Nnyano na U', 'Mwedi wa Nnyano na Nnyano na M'], - 'months_short' => ['Jan', 'Feb', 'Mac', 'Apr', 'Mei', 'Jun', 'Jul', 'Ago', 'Sep', 'Okt', 'Nov', 'Des'], - 'first_day_of_week' => 1, - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD/MM/YYYY', - 'LL' => 'D MMM YYYY', - 'LLL' => 'D MMMM YYYY HH:mm', - 'LLLL' => 'dddd, D MMMM YYYY HH:mm', - ], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/kea.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/kea.php deleted file mode 100644 index 8a334e2..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/kea.php +++ /dev/null @@ -1,48 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'meridiem' => ['a', 'p'], - 'weekdays' => ['dumingu', 'sigunda-fera', 'tersa-fera', 'kuarta-fera', 'kinta-fera', 'sesta-fera', 'sabadu'], - 'weekdays_short' => ['dum', 'sig', 'ter', 'kua', 'kin', 'ses', 'sab'], - 'weekdays_min' => ['du', 'si', 'te', 'ku', 'ki', 'se', 'sa'], - 'weekdays_standalone' => ['dumingu', 'sigunda-fera', 'tersa-fera', 'kuarta-fera', 'kinta-fera', 'sesta-fera', 'sábadu'], - 'months' => ['Janeru', 'Febreru', 'Marsu', 'Abril', 'Maiu', 'Junhu', 'Julhu', 'Agostu', 'Setenbru', 'Otubru', 'Nuvenbru', 'Dizenbru'], - 'months_short' => ['Jan', 'Feb', 'Mar', 'Abr', 'Mai', 'Jun', 'Jul', 'Ago', 'Set', 'Otu', 'Nuv', 'Diz'], - 'first_day_of_week' => 1, - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'D/M/YYYY', - 'LL' => 'D MMM YYYY', - 'LLL' => 'D [di] MMMM [di] YYYY HH:mm', - 'LLLL' => 'dddd, D [di] MMMM [di] YYYY HH:mm', - ], - - 'year' => ':count otunu', // less reliable - 'y' => ':count otunu', // less reliable - 'a_year' => ':count otunu', // less reliable - - 'week' => ':count día dumingu', // less reliable - 'w' => ':count día dumingu', // less reliable - 'a_week' => ':count día dumingu', // less reliable - - 'day' => ':count diâ', // less reliable - 'd' => ':count diâ', // less reliable - 'a_day' => ':count diâ', // less reliable - - 'minute' => ':count sugundu', // less reliable - 'min' => ':count sugundu', // less reliable - 'a_minute' => ':count sugundu', // less reliable - - 'second' => ':count dós', // less reliable - 's' => ':count dós', // less reliable - 'a_second' => ':count dós', // less reliable -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/khq.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/khq.php deleted file mode 100644 index f0649e7..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/khq.php +++ /dev/null @@ -1,27 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'meridiem' => ['Adduha', 'Aluula'], - 'weekdays' => ['Alhadi', 'Atini', 'Atalata', 'Alarba', 'Alhamiisa', 'Aljuma', 'Assabdu'], - 'weekdays_short' => ['Alh', 'Ati', 'Ata', 'Ala', 'Alm', 'Alj', 'Ass'], - 'weekdays_min' => ['Alh', 'Ati', 'Ata', 'Ala', 'Alm', 'Alj', 'Ass'], - 'months' => ['Žanwiye', 'Feewiriye', 'Marsi', 'Awiril', 'Me', 'ŽuweÅ‹', 'Žuyye', 'Ut', 'Sektanbur', 'Oktoobur', 'Noowanbur', 'Deesanbur'], - 'months_short' => ['Žan', 'Fee', 'Mar', 'Awi', 'Me', 'Žuw', 'Žuy', 'Ut', 'Sek', 'Okt', 'Noo', 'Dee'], - 'first_day_of_week' => 1, - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'D/M/YYYY', - 'LL' => 'D MMM, YYYY', - 'LLL' => 'D MMMM YYYY HH:mm', - 'LLLL' => 'dddd D MMMM YYYY HH:mm', - ], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ki.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ki.php deleted file mode 100644 index 5754ffc..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ki.php +++ /dev/null @@ -1,54 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'meridiem' => ['Kiroko', 'HwaÄ©-inÄ©'], - 'weekdays' => ['Kiumia', 'NjumatatÅ©', 'Njumaine', 'Njumatana', 'Aramithi', 'Njumaa', 'Njumamothi'], - 'weekdays_short' => ['KMA', 'NTT', 'NMN', 'NMT', 'ART', 'NMA', 'NMM'], - 'weekdays_min' => ['KMA', 'NTT', 'NMN', 'NMT', 'ART', 'NMA', 'NMM'], - 'months' => ['NjenuarÄ©', 'Mwere wa kerÄ©', 'Mwere wa gatatÅ©', 'Mwere wa kana', 'Mwere wa gatano', 'Mwere wa gatandatÅ©', 'Mwere wa mÅ©gwanja', 'Mwere wa kanana', 'Mwere wa kenda', 'Mwere wa ikÅ©mi', 'Mwere wa ikÅ©mi na Å©mwe', 'Ndithemba'], - 'months_short' => ['JEN', 'WKR', 'WGT', 'WKN', 'WTN', 'WTD', 'WMJ', 'WNN', 'WKD', 'WIK', 'WMW', 'DIT'], - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD/MM/YYYY', - 'LL' => 'D MMM YYYY', - 'LLL' => 'D MMMM YYYY HH:mm', - 'LLLL' => 'dddd, D MMMM YYYY HH:mm', - ], - - 'year' => ':count mÄ©aka', // less reliable - 'y' => ':count mÄ©aka', // less reliable - 'a_year' => ':count mÄ©aka', // less reliable - - 'month' => ':count mweri', // less reliable - 'm' => ':count mweri', // less reliable - 'a_month' => ':count mweri', // less reliable - - 'week' => ':count kiumia', // less reliable - 'w' => ':count kiumia', // less reliable - 'a_week' => ':count kiumia', // less reliable - - 'day' => ':count mÅ©thenya', // less reliable - 'd' => ':count mÅ©thenya', // less reliable - 'a_day' => ':count mÅ©thenya', // less reliable - - 'hour' => ':count thaa', // less reliable - 'h' => ':count thaa', // less reliable - 'a_hour' => ':count thaa', // less reliable - - 'minute' => ':count mundu', // less reliable - 'min' => ':count mundu', // less reliable - 'a_minute' => ':count mundu', // less reliable - - 'second' => ':count igego', // less reliable - 's' => ':count igego', // less reliable - 'a_second' => ':count igego', // less reliable -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/kk.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/kk.php deleted file mode 100644 index 4410da7..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/kk.php +++ /dev/null @@ -1,96 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/* - * Authors: - * - Josh Soref - * - François B - * - Talat Uspanov - * - Ðурлан Рахимжанов - * - Toleugazy Kali - */ -return [ - 'year' => ':count жыл', - 'a_year' => '{1}бір жыл|:count жыл', - 'y' => ':count ж.', - 'month' => ':count ай', - 'a_month' => '{1}бір ай|:count ай', - 'm' => ':count ай', - 'week' => ':count апта', - 'a_week' => '{1}бір апта', - 'w' => ':count ап.', - 'day' => ':count күн', - 'a_day' => '{1}бір күн|:count күн', - 'd' => ':count к.', - 'hour' => ':count Ñағат', - 'a_hour' => '{1}бір Ñағат|:count Ñағат', - 'h' => ':count Ñа.', - 'minute' => ':count минут', - 'a_minute' => '{1}бір минут|:count минут', - 'min' => ':count м.', - 'second' => ':count Ñекунд', - 'a_second' => '{1}бірнеше Ñекунд|:count Ñекунд', - 's' => ':count Ñе.', - 'ago' => ':time бұрын', - 'from_now' => ':time ішінде', - 'after' => ':time кейін', - 'before' => ':time бұрын', - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD.MM.YYYY', - 'LL' => 'D MMMM YYYY', - 'LLL' => 'D MMMM YYYY HH:mm', - 'LLLL' => 'dddd, D MMMM YYYY HH:mm', - ], - 'calendar' => [ - 'sameDay' => '[Бүгін Ñағат] LT', - 'nextDay' => '[Ертең Ñағат] LT', - 'nextWeek' => 'dddd [Ñағат] LT', - 'lastDay' => '[Кеше Ñағат] LT', - 'lastWeek' => '[Өткен аптаның] dddd [Ñағат] LT', - 'sameElse' => 'L', - ], - 'ordinal' => function ($number) { - static $suffixes = [ - 0 => '-ші', - 1 => '-ші', - 2 => '-ші', - 3 => '-ші', - 4 => '-ші', - 5 => '-ші', - 6 => '-шы', - 7 => '-ші', - 8 => '-ші', - 9 => '-шы', - 10 => '-шы', - 20 => '-шы', - 30 => '-шы', - 40 => '-шы', - 50 => '-ші', - 60 => '-шы', - 70 => '-ші', - 80 => '-ші', - 90 => '-шы', - 100 => '-ші', - ]; - - return $number.($suffixes[$number] ?? $suffixes[$number % 10] ?? $suffixes[$number >= 100 ? 100 : -1] ?? ''); - }, - 'months' => ['қаңтар', 'ақпан', 'наурыз', 'Ñәуір', 'мамыр', 'мауÑым', 'шілде', 'тамыз', 'қыркүйек', 'қазан', 'қараша', 'желтоқÑан'], - 'months_short' => ['қаң', 'ақп', 'нау', 'Ñәу', 'мам', 'мау', 'шіл', 'там', 'қыр', 'қаз', 'қар', 'жел'], - 'weekdays' => ['жекÑенбі', 'дүйÑенбі', 'ÑейÑенбі', 'ÑәрÑенбі', 'бейÑенбі', 'жұма', 'Ñенбі'], - 'weekdays_short' => ['жек', 'дүй', 'Ñей', 'Ñәр', 'бей', 'жұм', 'Ñен'], - 'weekdays_min' => ['жк', 'дй', 'Ñй', 'ÑÑ€', 'бй', 'жм', 'Ñн'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 1, - 'list' => [', ', ' және '], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/kk_KZ.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/kk_KZ.php deleted file mode 100644 index af4a5b2..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/kk_KZ.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/kk.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/kkj.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/kkj.php deleted file mode 100644 index bad6beb..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/kkj.php +++ /dev/null @@ -1,12 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/kl.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/kl.php deleted file mode 100644 index 2e445fd..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/kl.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return require __DIR__.'/kl_GL.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/kl_GL.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/kl_GL.php deleted file mode 100644 index b3e25a3..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/kl_GL.php +++ /dev/null @@ -1,55 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Danish Standards Association bug-glibc-locales@gnu.org - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'MMM DD YYYY', - ], - 'months' => ['januaarip', 'februaarip', 'marsip', 'apriilip', 'maajip', 'juunip', 'juulip', 'aggustip', 'septembarip', 'oktobarip', 'novembarip', 'decembarip'], - 'months_short' => ['jan', 'feb', 'mar', 'apr', 'maj', 'jun', 'jul', 'aug', 'sep', 'okt', 'nov', 'dec'], - 'weekdays' => ['sapaat', 'ataasinngorneq', 'marlunngorneq', 'pingasunngorneq', 'sisamanngorneq', 'tallimanngorneq', 'arfininngorneq'], - 'weekdays_short' => ['sap', 'ata', 'mar', 'pin', 'sis', 'tal', 'arf'], - 'weekdays_min' => ['sap', 'ata', 'mar', 'pin', 'sis', 'tal', 'arf'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 1, - - 'year' => ':count ukioq', // less reliable - 'y' => ':count ukioq', // less reliable - 'a_year' => ':count ukioq', // less reliable - - 'month' => ':count Ukiup qaammatai', - 'm' => ':count Ukiup qaammatai', - 'a_month' => ':count Ukiup qaammatai', - - 'week' => ':count sapaat', // less reliable - 'w' => ':count sapaat', // less reliable - 'a_week' => ':count sapaat', // less reliable - - 'day' => ':count ulloq', - 'd' => ':count ulloq', - 'a_day' => ':count ulloq', - - 'hour' => ':count akunneq', - 'h' => ':count akunneq', - 'a_hour' => ':count akunneq', - - 'minute' => ':count eqqumiitsuliorneq', // less reliable - 'min' => ':count eqqumiitsuliorneq', // less reliable - 'a_minute' => ':count eqqumiitsuliorneq', // less reliable - - 'second' => ':count marluk', // less reliable - 's' => ':count marluk', // less reliable - 'a_second' => ':count marluk', // less reliable -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/kln.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/kln.php deleted file mode 100644 index b034ba5..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/kln.php +++ /dev/null @@ -1,30 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'meridiem' => ['krn', 'koosk'], - 'weekdays' => ['Kotisap', 'Kotaai', 'Koaeng’', 'Kosomok', 'Koang’wan', 'Komuut', 'Kolo'], - 'weekdays_short' => ['Kts', 'Kot', 'Koo', 'Kos', 'Koa', 'Kom', 'Kol'], - 'weekdays_min' => ['Kts', 'Kot', 'Koo', 'Kos', 'Koa', 'Kom', 'Kol'], - 'months' => ['Mulgul', 'Ng’atyaato', 'Kiptaamo', 'Iwootkuut', 'Mamuut', 'Paagi', 'Ng’eiyeet', 'Rooptui', 'Bureet', 'Epeeso', 'Kipsuunde ne taai', 'Kipsuunde nebo aeng’'], - 'months_short' => ['Mul', 'Ngat', 'Taa', 'Iwo', 'Mam', 'Paa', 'Nge', 'Roo', 'Bur', 'Epe', 'Kpt', 'Kpa'], - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD/MM/YYYY', - 'LL' => 'D MMM YYYY', - 'LLL' => 'D MMMM YYYY HH:mm', - 'LLLL' => 'dddd, D MMMM YYYY HH:mm', - ], - - 'year' => ':count maghatiat', // less reliable - 'y' => ':count maghatiat', // less reliable - 'a_year' => ':count maghatiat', // less reliable -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/km.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/km.php deleted file mode 100644 index bb8a8b7..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/km.php +++ /dev/null @@ -1,64 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Kruy Vanna - * - Sereysethy Touch - * - JD Isaacks - * - Sovichet Tep - */ -return [ - 'year' => '{1}មួយឆ្នាំ|]1,Inf[:count ឆ្នាំ', - 'y' => ':count ឆ្នាំ', - 'month' => '{1}មួយážáŸ‚|]1,Inf[:count ážáŸ‚', - 'm' => ':count ážáŸ‚', - 'week' => ':count សប្ដាហáŸ', - 'w' => ':count សប្ដាហáŸ', - 'day' => '{1}មួយážáŸ’ងៃ|]1,Inf[:count ážáŸ’ងៃ', - 'd' => ':count ážáŸ’ងៃ', - 'hour' => '{1}មួយម៉ោង|]1,Inf[:count ម៉ោង', - 'h' => ':count ម៉ោង', - 'minute' => '{1}មួយនាទី|]1,Inf[:count នាទី', - 'min' => ':count នាទី', - 'second' => '{1}ប៉ុន្មានវិនាទី|]1,Inf[:count វិនាទី', - 's' => ':count វិនាទី', - 'ago' => ':timeមុន', - 'from_now' => ':timeទៀáž', - 'after' => 'នៅ​ក្រោយ :time', - 'before' => 'នៅ​មុន :time', - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD/MM/YYYY', - 'LL' => 'D MMMM YYYY', - 'LLL' => 'D MMMM YYYY HH:mm', - 'LLLL' => 'dddd, D MMMM YYYY HH:mm', - ], - 'calendar' => [ - 'sameDay' => '[ážáŸ’ងៃនáŸáŸ‡ ម៉ោង] LT', - 'nextDay' => '[ស្អែក ម៉ោង] LT', - 'nextWeek' => 'dddd [ម៉ោង] LT', - 'lastDay' => '[ម្សិលមិញ ម៉ោង] LT', - 'lastWeek' => 'dddd [សប្ážáž¶áž áŸáž˜áž»áž“] [ម៉ោង] LT', - 'sameElse' => 'L', - ], - 'ordinal' => 'ទី:number', - 'meridiem' => ['ព្រឹក', 'ល្ងាច'], - 'months' => ['មករា', 'កុម្ភៈ', 'មីនា', 'មáŸážŸáž¶', 'ឧសភា', 'មិážáž»áž“ា', 'កក្កដា', 'សីហា', 'កញ្ញា', 'ážáž»áž›áž¶', 'វិច្ឆិកា', 'ធ្នូ'], - 'months_short' => ['មករា', 'កុម្ភៈ', 'មីនា', 'មáŸážŸáž¶', 'ឧសភា', 'មិážáž»áž“ា', 'កក្កដា', 'សីហា', 'កញ្ញា', 'ážáž»áž›áž¶', 'វិច្ឆិកា', 'ធ្នូ'], - 'weekdays' => ['អាទិážáŸ’áž™', 'áž…áŸáž“្ទ', 'អង្គារ', 'ពុធ', 'ព្រហស្បážáž·áŸ', 'សុក្រ', 'សៅរáŸ'], - 'weekdays_short' => ['អា', 'áž…', 'អ', 'áž–', 'ព្រ', 'សុ', 'ស'], - 'weekdays_min' => ['អា', 'áž…', 'អ', 'áž–', 'ព្រ', 'សុ', 'ស'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 4, - 'list' => [', ', 'áž“áž·áž„ '], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/km_KH.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/km_KH.php deleted file mode 100644 index ef3b415..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/km_KH.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/km.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/kn.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/kn.php deleted file mode 100644 index 2bbed86..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/kn.php +++ /dev/null @@ -1,73 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Josh Soref - * - MOHAN M U - * - François B - * - rajeevnaikte - */ -return [ - 'year' => '{1}ಒಂದೠವರà³à²·|]1,Inf[:count ವರà³à²·', - 'month' => '{1}ಒಂದೠತಿಂಗಳà³|]1,Inf[:count ತಿಂಗಳà³', - 'week' => '{1}ಒಂದೠವಾರ|]1,Inf[:count ವಾರಗಳà³', - 'day' => '{1}ಒಂದೠದಿನ|]1,Inf[:count ದಿನ', - 'hour' => '{1}ಒಂದೠಗಂಟೆ|]1,Inf[:count ಗಂಟೆ', - 'minute' => '{1}ಒಂದೠನಿಮಿಷ|]1,Inf[:count ನಿಮಿಷ', - 'second' => '{1}ಕೆಲವೠಕà³à²·à²£à²—ಳà³|]1,Inf[:count ಸೆಕೆಂಡà³à²—ಳà³', - 'ago' => ':time ಹಿಂದೆ', - 'from_now' => ':time ನಂತರ', - 'diff_yesterday' => 'ನಿನà³à²¨à³†', - 'diff_tomorrow' => 'ನಾಳೆ', - 'formats' => [ - 'LT' => 'A h:mm', - 'LTS' => 'A h:mm:ss', - 'L' => 'DD/MM/YYYY', - 'LL' => 'D MMMM YYYY', - 'LLL' => 'D MMMM YYYY, A h:mm', - 'LLLL' => 'dddd, D MMMM YYYY, A h:mm', - ], - 'calendar' => [ - 'sameDay' => '[ಇಂದà³] LT', - 'nextDay' => '[ನಾಳೆ] LT', - 'nextWeek' => 'dddd, LT', - 'lastDay' => '[ನಿನà³à²¨à³†] LT', - 'lastWeek' => '[ಕೊನೆಯ] dddd, LT', - 'sameElse' => 'L', - ], - 'ordinal' => ':numberನೇ', - 'meridiem' => function ($hour) { - if ($hour < 4) { - return 'ರಾತà³à²°à²¿'; - } - if ($hour < 10) { - return 'ಬೆಳಿಗà³à²—ೆ'; - } - if ($hour < 17) { - return 'ಮಧà³à²¯à²¾à²¹à³à²¨'; - } - if ($hour < 20) { - return 'ಸಂಜೆ'; - } - - return 'ರಾತà³à²°à²¿'; - }, - 'months' => ['ಜನವರಿ', 'ಫೆಬà³à²°à²µà²°à²¿', 'ಮಾರà³à²šà³', 'à²à²ªà³à²°à²¿à²²à³', 'ಮೇ', 'ಜೂನà³', 'ಜà³à²²à³†à³–', 'ಆಗಸà³à²Ÿà³', 'ಸೆಪà³à²Ÿà³†à²‚ಬರà³', 'ಅಕà³à²Ÿà³†à³‚ೕಬರà³', 'ನವೆಂಬರà³', 'ಡಿಸೆಂಬರà³'], - 'months_short' => ['ಜನ', 'ಫೆಬà³à²°', 'ಮಾರà³à²šà³', 'à²à²ªà³à²°à²¿à²²à³', 'ಮೇ', 'ಜೂನà³', 'ಜà³à²²à³†à³–', 'ಆಗಸà³à²Ÿà³', 'ಸೆಪà³à²Ÿà³†à²‚', 'ಅಕà³à²Ÿà³†à³‚ೕ', 'ನವೆಂ', 'ಡಿಸೆಂ'], - 'weekdays' => ['ಭಾನà³à²µà²¾à²°', 'ಸೋಮವಾರ', 'ಮಂಗಳವಾರ', 'ಬà³à²§à²µà²¾à²°', 'ಗà³à²°à³à²µà²¾à²°', 'ಶà³à²•à³à²°à²µà²¾à²°', 'ಶನಿವಾರ'], - 'weekdays_short' => ['ಭಾನà³', 'ಸೋಮ', 'ಮಂಗಳ', 'ಬà³à²§', 'ಗà³à²°à³', 'ಶà³à²•à³à²°', 'ಶನಿ'], - 'weekdays_min' => ['ಭಾ', 'ಸೋ', 'ಮಂ', 'ಬà³', 'ಗà³', 'ಶà³', 'ಶ'], - 'list' => ', ', - 'first_day_of_week' => 0, - 'day_of_first_week_of_year' => 1, - 'weekend' => [0, 0], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/kn_IN.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/kn_IN.php deleted file mode 100644 index 7c6c909..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/kn_IN.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/kn.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ko.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ko.php deleted file mode 100644 index 0adca06..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ko.php +++ /dev/null @@ -1,87 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Kunal Marwaha - * - FourwingsY - * - François B - * - Jason Katz-Brown - * - Seokjun Kim - * - Junho Kim - * - JD Isaacks - * - Juwon Kim - */ -return [ - 'year' => ':countë…„', - 'a_year' => '{1}ì¼ë…„|]1,Inf[:countë…„', - 'y' => ':countë…„', - 'month' => ':count달', - 'a_month' => '{1}한달|]1,Inf[:count달', - 'm' => ':count개월', - 'week' => ':count주ì¼', - 'a_week' => '{1}ì¼ì£¼ì¼|]1,Inf[:count 주ì¼', - 'w' => ':count주ì¼', - 'day' => ':countì¼', - 'a_day' => '{1}하루|]1,Inf[:countì¼', - 'd' => ':countì¼', - 'hour' => ':count시간', - 'a_hour' => '{1}한시간|]1,Inf[:count시간', - 'h' => ':count시간', - 'minute' => ':count분', - 'a_minute' => '{1}ì¼ë¶„|]1,Inf[:count분', - 'min' => ':count분', - 'second' => ':countì´ˆ', - 'a_second' => '{1}몇초|]1,Inf[:countì´ˆ', - 's' => ':countì´ˆ', - 'ago' => ':time ì „', - 'from_now' => ':time 후', - 'after' => ':time 후', - 'before' => ':time ì „', - 'formats' => [ - 'LT' => 'A h:mm', - 'LTS' => 'A h:mm:ss', - 'L' => 'YYYY.MM.DD.', - 'LL' => 'YYYYë…„ MMMM Dì¼', - 'LLL' => 'YYYYë…„ MMMM Dì¼ A h:mm', - 'LLLL' => 'YYYYë…„ MMMM Dì¼ dddd A h:mm', - ], - 'calendar' => [ - 'sameDay' => '오늘 LT', - 'nextDay' => 'ë‚´ì¼ LT', - 'nextWeek' => 'dddd LT', - 'lastDay' => 'ì–´ì œ LT', - 'lastWeek' => '지난주 dddd LT', - 'sameElse' => 'L', - ], - 'ordinal' => function ($number, $period) { - switch ($period) { - case 'd': - case 'D': - case 'DDD': - return $number.'ì¼'; - case 'M': - return $number.'ì›”'; - case 'w': - case 'W': - return $number.'주'; - default: - return $number; - } - }, - 'meridiem' => ['오전', '오후'], - 'months' => ['1ì›”', '2ì›”', '3ì›”', '4ì›”', '5ì›”', '6ì›”', '7ì›”', '8ì›”', '9ì›”', '10ì›”', '11ì›”', '12ì›”'], - 'months_short' => ['1ì›”', '2ì›”', '3ì›”', '4ì›”', '5ì›”', '6ì›”', '7ì›”', '8ì›”', '9ì›”', '10ì›”', '11ì›”', '12ì›”'], - 'weekdays' => ['ì¼ìš”ì¼', '월요ì¼', '화요ì¼', '수요ì¼', '목요ì¼', '금요ì¼', '토요ì¼'], - 'weekdays_short' => ['ì¼', 'ì›”', 'í™”', '수', '목', '금', '토'], - 'weekdays_min' => ['ì¼', 'ì›”', 'í™”', '수', '목', '금', '토'], - 'list' => ' ', -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ko_KP.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ko_KP.php deleted file mode 100644 index 55b40fa..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ko_KP.php +++ /dev/null @@ -1,13 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/ko.php', [ - 'first_day_of_week' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ko_KR.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ko_KR.php deleted file mode 100644 index d8eba2c..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ko_KR.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/ko.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/kok.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/kok.php deleted file mode 100644 index 2a8ee4a..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/kok.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return require __DIR__.'/kok_IN.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/kok_IN.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/kok_IN.php deleted file mode 100644 index 52c4edf..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/kok_IN.php +++ /dev/null @@ -1,55 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Red Hat, Pune bug-glibc-locales@gnu.org - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'D-M-YY', - ], - 'months' => ['जानेवारी', 'फेबà¥à¤°à¥à¤µà¤¾à¤°à¥€', 'मारà¥à¤š', 'à¤à¤ªà¥à¤°à¤¿à¤²', 'मे', 'जून', 'जà¥à¤²à¥ˆ', 'ओगसà¥à¤Ÿ', 'सेपà¥à¤Ÿà¥‡à¤‚बर', 'ओकà¥à¤Ÿà¥‹à¤¬à¤°', 'नोवà¥à¤¹à¥‡à¤‚बर', 'डिसेंबर'], - 'months_short' => ['जानेवारी', 'फेबà¥à¤°à¥à¤µà¤¾à¤°à¥€', 'मारà¥à¤š', 'à¤à¤ªà¥à¤°à¤¿à¤²', 'मे', 'जून', 'जà¥à¤²à¥ˆ', 'ओगसà¥à¤Ÿ', 'सेपà¥à¤Ÿà¥‡à¤‚बर', 'ओकà¥à¤Ÿà¥‹à¤¬à¤°', 'नोवà¥à¤¹à¥‡à¤‚बर', 'डिसेंबर'], - 'weekdays' => ['आयतार', 'सोमार', 'मंगळवार', 'बà¥à¤§à¤µà¤¾à¤°', 'बेरेसतार', 'शà¥à¤•à¤°à¤¾à¤°', 'शेनवार'], - 'weekdays_short' => ['आयतार', 'सोमार', 'मंगळवार', 'बà¥à¤§à¤µà¤¾à¤°', 'बेरेसतार', 'शà¥à¤•à¤°à¤¾à¤°', 'शेनवार'], - 'weekdays_min' => ['आयतार', 'सोमार', 'मंगळवार', 'बà¥à¤§à¤µà¤¾à¤°', 'बेरेसतार', 'शà¥à¤•à¤°à¤¾à¤°', 'शेनवार'], - 'day_of_first_week_of_year' => 1, - 'meridiem' => ['म.पू.', 'म.नं.'], - - 'year' => ':count वैशाकà¥', // less reliable - 'y' => ':count वैशाकà¥', // less reliable - 'a_year' => ':count वैशाकà¥', // less reliable - - 'week' => ':count आदितà¥à¤¯à¤µà¤¾à¤°', // less reliable - 'w' => ':count आदितà¥à¤¯à¤µà¤¾à¤°', // less reliable - 'a_week' => ':count आदितà¥à¤¯à¤µà¤¾à¤°', // less reliable - - 'minute' => ':count नोंद', // less reliable - 'min' => ':count नोंद', // less reliable - 'a_minute' => ':count नोंद', // less reliable - - 'second' => ':count तेंको', // less reliable - 's' => ':count तेंको', // less reliable - 'a_second' => ':count तेंको', // less reliable - - 'month' => ':count मैनो', - 'm' => ':count मैनो', - 'a_month' => ':count मैनो', - - 'day' => ':count दिवसà¥', - 'd' => ':count दिवसà¥', - 'a_day' => ':count दिवसà¥', - - 'hour' => ':count घंते', - 'h' => ':count घंते', - 'a_hour' => ':count घंते', -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ks.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ks.php deleted file mode 100644 index 1b4e432..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ks.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return require __DIR__.'/ks_IN.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ks_IN.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ks_IN.php deleted file mode 100644 index d393fb3..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ks_IN.php +++ /dev/null @@ -1,51 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Red Hat, Pune bug-glibc-locales@gnu.org - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'M/D/YY', - ], - 'months' => ['جنؤری', 'Ùرؤری', 'مارٕچ', 'اپریل', 'میٔ', 'جوٗن', 'جوٗلایی', 'اگست', 'ستمبر', 'اکتوٗبر', 'نومبر', 'دسمبر'], - 'months_short' => ['جنؤری', 'Ùرؤری', 'مارٕچ', 'اپریل', 'میٔ', 'جوٗن', 'جوٗلایی', 'اگست', 'ستمبر', 'اکتوٗبر', 'نومبر', 'دسمبر'], - 'weekdays' => ['آتهوار', 'ژءندروار', 'بوءںوار', 'بودهوار', 'برىسوار', 'جمع', 'بٹوار'], - 'weekdays_short' => ['آتهوار', 'ژءنتروار', 'بوءںوار', 'بودهوار', 'برىسوار', 'جمع', 'بٹوار'], - 'weekdays_min' => ['آتهوار', 'ژءنتروار', 'بوءںوار', 'بودهوار', 'برىسوار', 'جمع', 'بٹوار'], - 'day_of_first_week_of_year' => 1, - 'meridiem' => ['دوپھربرونھ', 'دوپھرپتھ'], - - 'year' => ':count آب', // less reliable - 'y' => ':count آب', // less reliable - 'a_year' => ':count آب', // less reliable - - 'month' => ':count रानà¥', // less reliable - 'm' => ':count रानà¥', // less reliable - 'a_month' => ':count रानà¥', // less reliable - - 'week' => ':count آتھٕوار', // less reliable - 'w' => ':count آتھٕوار', // less reliable - 'a_week' => ':count آتھٕوار', // less reliable - - 'hour' => ':count سۄن', // less reliable - 'h' => ':count سۄن', // less reliable - 'a_hour' => ':count سۄن', // less reliable - - 'minute' => ':count ÙÙŽÙ†', // less reliable - 'min' => ':count ÙÙŽÙ†', // less reliable - 'a_minute' => ':count ÙÙŽÙ†', // less reliable - - 'second' => ':count दोʼयà¥à¤®', // less reliable - 's' => ':count दोʼयà¥à¤®', // less reliable - 'a_second' => ':count दोʼयà¥à¤®', // less reliable -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ks_IN@devanagari.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ks_IN@devanagari.php deleted file mode 100644 index 502ae98..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ks_IN@devanagari.php +++ /dev/null @@ -1,27 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - ks-gnome-trans-commits@lists.code.indlinux.net - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'M/D/YY', - ], - 'months' => ['जनवरी', 'फ़रवरी', 'मारà¥à¤š', 'अपà¥à¤°à¥‡à¤²', 'मई', 'जून', 'जà¥à¤²à¤¾à¤ˆ', 'अगसà¥à¤¤', 'सितमà¥à¤¬à¤°', 'अकà¥à¤Ÿà¥‚बर', 'नवमà¥à¤¬à¤°', 'दिसमà¥à¤¬à¤°'], - 'months_short' => ['जनवरी', 'फ़रवरी', 'मारà¥à¤š', 'अपà¥à¤°à¥‡à¤²', 'मई', 'जून', 'जà¥à¤²à¤¾à¤ˆ', 'अगसà¥à¤¤', 'सितमà¥à¤¬à¤°', 'अकà¥à¤Ÿà¥‚बर', 'नवमà¥à¤¬à¤°', 'दिसमà¥à¤¬à¤°'], - 'weekdays' => ['आथवार', 'चॅ़दà¥à¤°à¤µà¤¾à¤°', 'बोमवार', 'बà¥à¤µà¤¦à¤µà¤¾à¤°', 'बà¥à¤°à¤¸à¤µà¤¾à¤°', 'शोकà¥à¤°à¤µà¤¾à¤°', 'बटà¥à¤µà¤¾à¤°'], - 'weekdays_short' => ['आथ ', 'चॅ़दà¥à¤°', 'बोम', 'बà¥à¤µà¤¦', 'बà¥à¤°à¤¸', 'शोकà¥à¤°', 'बटà¥'], - 'weekdays_min' => ['आथ ', 'चॅ़दà¥à¤°', 'बोम', 'बà¥à¤µà¤¦', 'बà¥à¤°à¤¸', 'शोकà¥à¤°', 'बटà¥'], - 'day_of_first_week_of_year' => 1, - 'meridiem' => ['पूरà¥à¤µà¤¾à¤¹à¥à¤¨', 'अपराहà¥à¤¨'], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ksb.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ksb.php deleted file mode 100644 index 424099d..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ksb.php +++ /dev/null @@ -1,27 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'meridiem' => ['makeo', 'nyiaghuo'], - 'weekdays' => ['Jumaapii', 'Jumaatatu', 'Jumaane', 'Jumaatano', 'Alhamisi', 'Ijumaa', 'Jumaamosi'], - 'weekdays_short' => ['Jpi', 'Jtt', 'Jmn', 'Jtn', 'Alh', 'Iju', 'Jmo'], - 'weekdays_min' => ['Jpi', 'Jtt', 'Jmn', 'Jtn', 'Alh', 'Iju', 'Jmo'], - 'months' => ['Januali', 'Febluali', 'Machi', 'Aplili', 'Mei', 'Juni', 'Julai', 'Agosti', 'Septemba', 'Oktoba', 'Novemba', 'Desemba'], - 'months_short' => ['Jan', 'Feb', 'Mac', 'Apr', 'Mei', 'Jun', 'Jul', 'Ago', 'Sep', 'Okt', 'Nov', 'Des'], - 'first_day_of_week' => 1, - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD/MM/YYYY', - 'LL' => 'D MMM YYYY', - 'LLL' => 'D MMMM YYYY HH:mm', - 'LLLL' => 'dddd, D MMMM YYYY HH:mm', - ], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ksf.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ksf.php deleted file mode 100644 index 8fb5598..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ksf.php +++ /dev/null @@ -1,27 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'meridiem' => ['sárúwá', 'cɛɛÌnko'], - 'weekdays' => ['sÉ”ÌndÇ', 'lÇndí', 'maadí', 'mÉ›krÉ›dí', 'jÇÇdí', 'júmbá', 'samdí'], - 'weekdays_short' => ['sÉ”Ìn', 'lÇn', 'maa', 'mÉ›k', 'jÇÇ', 'júm', 'sam'], - 'weekdays_min' => ['sÉ”Ìn', 'lÇn', 'maa', 'mÉ›k', 'jÇÇ', 'júm', 'sam'], - 'months' => ['Å‹wíí a ntÉ”ÌntÉ”', 'Å‹wíí akÇ bÉ›ÌÉ›', 'Å‹wíí akÇ ráá', 'Å‹wíí akÇ nin', 'Å‹wíí akÇ táan', 'Å‹wíí akÇ táafÉ”k', 'Å‹wíí akÇ táabɛɛ', 'Å‹wíí akÇ táaraa', 'Å‹wíí akÇ táanin', 'Å‹wíí akÇ ntÉ›k', 'Å‹wíí akÇ ntÉ›k di bÉ”Ìk', 'Å‹wíí akÇ ntÉ›k di bÉ›ÌÉ›'], - 'months_short' => ['Å‹1', 'Å‹2', 'Å‹3', 'Å‹4', 'Å‹5', 'Å‹6', 'Å‹7', 'Å‹8', 'Å‹9', 'Å‹10', 'Å‹11', 'Å‹12'], - 'first_day_of_week' => 1, - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'D/M/YYYY', - 'LL' => 'D MMM YYYY', - 'LLL' => 'D MMMM YYYY HH:mm', - 'LLLL' => 'dddd D MMMM YYYY HH:mm', - ], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ksh.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ksh.php deleted file mode 100644 index 44c60a4..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ksh.php +++ /dev/null @@ -1,56 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'meridiem' => ['v.M.', 'n.M.'], - 'weekdays' => ['Sunndaach', 'Mohndaach', 'Dinnsdaach', 'Metwoch', 'Dunnersdaach', 'Friidaach', 'Samsdaach'], - 'weekdays_short' => ['Su.', 'Mo.', 'Di.', 'Me.', 'Du.', 'Fr.', 'Sa.'], - 'weekdays_min' => ['Su', 'Mo', 'Di', 'Me', 'Du', 'Fr', 'Sa'], - 'months' => ['Jannewa', 'Fäbrowa', 'Määz', 'Aprell', 'Mai', 'Juuni', 'Juuli', 'Oujoß', 'Septämber', 'Oktohber', 'Novämber', 'Dezämber'], - 'months_short' => ['Jan', 'Fäb', 'Mäz', 'Apr', 'Mai', 'Jun', 'Jul', 'Ouj', 'Säp', 'Okt', 'Nov', 'Dez'], - 'months_short_standalone' => ['Jan.', 'Fäb.', 'Mäz.', 'Apr.', 'Mai', 'Jun.', 'Jul.', 'Ouj.', 'Säp.', 'Okt.', 'Nov.', 'Dez.'], - 'first_day_of_week' => 1, - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'D. M. YYYY', - 'LL' => 'D. MMM. YYYY', - 'LLL' => 'D. MMMM YYYY HH:mm', - 'LLLL' => 'dddd, [dä] D. MMMM YYYY HH:mm', - ], - - 'year' => ':count Johr', - 'y' => ':count Johr', - 'a_year' => ':count Johr', - - 'month' => ':count Moohnd', - 'm' => ':count Moohnd', - 'a_month' => ':count Moohnd', - - 'week' => ':count woch', - 'w' => ':count woch', - 'a_week' => ':count woch', - - 'day' => ':count Daach', - 'd' => ':count Daach', - 'a_day' => ':count Daach', - - 'hour' => ':count Uhr', - 'h' => ':count Uhr', - 'a_hour' => ':count Uhr', - - 'minute' => ':count Menutt', - 'min' => ':count Menutt', - 'a_minute' => ':count Menutt', - - 'second' => ':count Sekůndt', - 's' => ':count Sekůndt', - 'a_second' => ':count Sekůndt', -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ku.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ku.php deleted file mode 100644 index 42cf870..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ku.php +++ /dev/null @@ -1,41 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/* - * Authors: - * - Halwest Manguri - */ -$months = ['کانونی دووەم', 'شوبات', 'ئازار', 'نیسان', 'ئایار', '‌حوزەیران', 'تەمموز', 'ئاب', 'ئەیلول', 'تشرینی یەکەم', 'تشرینی دووەم', 'کانونی یەکەم']; - -$weekdays = ['دوو شەممە', 'سێ شەممە', 'چوار شەممە', 'پێنج شەممە', 'هەینی', 'شەممە', 'یەک شەممە']; - -return [ - 'ago' => 'لەمەوبەر :time', - 'from_now' => ':time Ù„Û• ئێستاوە', - 'after' => 'دوای :time', - 'before' => 'Ù¾ÛŽØ´ :time', - 'year' => '{0}ساڵ|{1}ساڵ|{2}ساڵ|[3,10]:count ساڵ|[11,Inf]:count ساڵ', - 'month' => '{0}مانگ|{1}مانگ|{2}مانگ|[3,10]:count مانگ|[11,Inf]:count مانگ', - 'week' => '{0}Ù‡Û•Ùتە|{1}Ù‡Û•Ùتە|{2}Ù‡Û•Ùتە|[3,10]:count Ù‡Û•Ùتە|[11,Inf]:count Ù‡Û•Ùتە', - 'day' => '{0}Ú•Û†Ú˜|{1}Ú•Û†Ú˜|{2}Ú•Û†Ú˜|[3,10]:count Ú•Û†Ú˜|[11,Inf]:count Ú•Û†Ú˜', - 'hour' => '{0}کاژێر|{1}کاژێر|{2}کاژێر|[3,10]:count کاژێر|[11,Inf]:count کاژێر', - 'minute' => '{0}خولەک|{1}خولەک|{2}خولەک|[3,10]:count خولەک|[11,Inf]:count خولەک', - 'second' => '{0}چرکە|{1}چرکە|{2}چرکە|[3,10]:count چرکە|[11,Inf]:count چرکە', - 'months' => $months, - 'months_standalone' => $months, - 'months_short' => $months, - 'weekdays' => $weekdays, - 'weekdays_short' => $weekdays, - 'weekdays_min' => $weekdays, - 'list' => [', ', ' û '], - 'first_day_of_week' => 6, - 'day_of_first_week_of_year' => 1, -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ku_TR.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ku_TR.php deleted file mode 100644 index 11fce2d..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ku_TR.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/ku.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/kw.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/kw.php deleted file mode 100644 index 23e5ed5..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/kw.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return require __DIR__.'/kw_GB.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/kw_GB.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/kw_GB.php deleted file mode 100644 index 7b6d687..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/kw_GB.php +++ /dev/null @@ -1,55 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Alastair McKinstry bug-glibc-locales@gnu.org - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'DD/MM/YY', - ], - 'months' => ['mis Genver', 'mis Hwevrer', 'mis Meurth', 'mis Ebrel', 'mis Me', 'mis Metheven', 'mis Gortheren', 'mis Est', 'mis Gwynngala', 'mis Hedra', 'mis Du', 'mis Kevardhu'], - 'months_short' => ['Gen', 'Hwe', 'Meu', 'Ebr', 'Me', 'Met', 'Gor', 'Est', 'Gwn', 'Hed', 'Du', 'Kev'], - 'weekdays' => ['De Sul', 'De Lun', 'De Merth', 'De Merher', 'De Yow', 'De Gwener', 'De Sadorn'], - 'weekdays_short' => ['Sul', 'Lun', 'Mth', 'Mhr', 'Yow', 'Gwe', 'Sad'], - 'weekdays_min' => ['Sul', 'Lun', 'Mth', 'Mhr', 'Yow', 'Gwe', 'Sad'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 4, - - 'year' => ':count bledhen', - 'y' => ':count bledhen', - 'a_year' => ':count bledhen', - - 'month' => ':count mis', - 'm' => ':count mis', - 'a_month' => ':count mis', - - 'week' => ':count seythen', - 'w' => ':count seythen', - 'a_week' => ':count seythen', - - 'day' => ':count dydh', - 'd' => ':count dydh', - 'a_day' => ':count dydh', - - 'hour' => ':count eur', - 'h' => ':count eur', - 'a_hour' => ':count eur', - - 'minute' => ':count mynysen', - 'min' => ':count mynysen', - 'a_minute' => ':count mynysen', - - 'second' => ':count pryjwyth', - 's' => ':count pryjwyth', - 'a_second' => ':count pryjwyth', -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ky.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ky.php deleted file mode 100644 index 107d805..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ky.php +++ /dev/null @@ -1,99 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/* - * Authors: - * - acutexyz - * - Josh Soref - * - François B - * - Chyngyz Arystan uulu - * - Chyngyz - * - acutexyz - * - Josh Soref - * - François B - * - Chyngyz Arystan uulu - */ -return [ - 'year' => ':count жыл', - 'a_year' => '{1}бир жыл|:count жыл', - 'y' => ':count жыл', - 'month' => ':count ай', - 'a_month' => '{1}бир ай|:count ай', - 'm' => ':count ай', - 'week' => ':count апта', - 'a_week' => '{1}бир апта|:count апта', - 'w' => ':count апт.', - 'day' => ':count күн', - 'a_day' => '{1}бир күн|:count күн', - 'd' => ':count күн', - 'hour' => ':count Ñаат', - 'a_hour' => '{1}бир Ñаат|:count Ñаат', - 'h' => ':count Ñаат.', - 'minute' => ':count мүнөт', - 'a_minute' => '{1}бир мүнөт|:count мүнөт', - 'min' => ':count мүн.', - 'second' => ':count Ñекунд', - 'a_second' => '{1}бирнече Ñекунд|:count Ñекунд', - 's' => ':count Ñек.', - 'ago' => ':time мурун', - 'from_now' => ':time ичинде', - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD.MM.YYYY', - 'LL' => 'D MMMM YYYY', - 'LLL' => 'D MMMM YYYY HH:mm', - 'LLLL' => 'dddd, D MMMM YYYY HH:mm', - ], - 'calendar' => [ - 'sameDay' => '[Бүгүн Ñаат] LT', - 'nextDay' => '[Эртең Ñаат] LT', - 'nextWeek' => 'dddd [Ñаат] LT', - 'lastDay' => '[Кече Ñаат] LT', - 'lastWeek' => '[Өткен аптанын] dddd [күнү] [Ñаат] LT', - 'sameElse' => 'L', - ], - 'ordinal' => function ($number) { - static $suffixes = [ - 0 => '-чү', - 1 => '-чи', - 2 => '-чи', - 3 => '-чү', - 4 => '-чү', - 5 => '-чи', - 6 => '-чы', - 7 => '-чи', - 8 => '-чи', - 9 => '-чу', - 10 => '-чу', - 20 => '-чы', - 30 => '-чу', - 40 => '-чы', - 50 => '-чү', - 60 => '-чы', - 70 => '-чи', - 80 => '-чи', - 90 => '-чу', - 100 => '-чү', - ]; - - return $number.($suffixes[$number] ?? $suffixes[$number % 10] ?? $suffixes[$number >= 100 ? 100 : -1] ?? ''); - }, - 'months' => ['Ñнварь', 'февраль', 'март', 'апрель', 'май', 'июнь', 'июль', 'авгуÑÑ‚', 'ÑентÑбрь', 'октÑбрь', 'ноÑбрь', 'декабрь'], - 'months_short' => ['Ñнв', 'фев', 'март', 'апр', 'май', 'июнь', 'июль', 'авг', 'Ñен', 'окт', 'ноÑ', 'дек'], - 'weekdays' => ['Жекшемби', 'Дүйшөмбү', 'Шейшемби', 'Шаршемби', 'Бейшемби', 'Жума', 'Ишемби'], - 'weekdays_short' => ['Жек', 'Дүй', 'Шей', 'Шар', 'Бей', 'Жум', 'Ише'], - 'weekdays_min' => ['Жк', 'Дй', 'Шй', 'Шр', 'Бй', 'Жм', 'Иш'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 1, - 'list' => ' ', - 'meridiem' => ['таңкы', 'түштөн кийинки'], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ky_KG.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ky_KG.php deleted file mode 100644 index 4426bea..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ky_KG.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/ky.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/lag.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/lag.php deleted file mode 100644 index dc959c9..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/lag.php +++ /dev/null @@ -1,27 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'meridiem' => ['TOO', 'MUU'], - 'weekdays' => ['Jumapíiri', 'Jumatátu', 'Jumaíne', 'Jumatáano', 'Alamíisi', 'Ijumáa', 'Jumamóosi'], - 'weekdays_short' => ['Píili', 'Táatu', 'Ãne', 'Táano', 'Alh', 'Ijm', 'Móosi'], - 'weekdays_min' => ['Píili', 'Táatu', 'Ãne', 'Táano', 'Alh', 'Ijm', 'Móosi'], - 'months' => ['Kʉfúngatɨ', 'Kʉnaanɨ', 'Kʉkeenda', 'Kwiikumi', 'Kwiinyambála', 'Kwiidwaata', 'Kʉmʉʉnchɨ', 'Kʉvɨɨrɨ', 'Kʉsaatʉ', 'Kwiinyi', 'Kʉsaano', 'Kʉsasatʉ'], - 'months_short' => ['Fúngatɨ', 'Naanɨ', 'Keenda', 'Ikúmi', 'Inyambala', 'Idwaata', 'Mʉʉnchɨ', 'Vɨɨrɨ', 'Saatʉ', 'Inyi', 'Saano', 'Sasatʉ'], - 'first_day_of_week' => 1, - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD/MM/YYYY', - 'LL' => 'D MMM YYYY', - 'LLL' => 'D MMMM YYYY HH:mm', - 'LLLL' => 'dddd, D MMMM YYYY HH:mm', - ], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/lb.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/lb.php deleted file mode 100644 index 2e08120..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/lb.php +++ /dev/null @@ -1,73 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/* - * Authors: - * - Philippe Vaucher - * - Tsutomu Kuroda - * - dan-nl - */ -return [ - 'year' => ':count Joer', - 'y' => ':countJ', - 'month' => ':count Mount|:count Méint', - 'm' => ':countMo', - 'week' => ':count Woch|:count Wochen', - 'w' => ':countWo|:countWo', - 'day' => ':count Dag|:count Deeg', - 'd' => ':countD', - 'hour' => ':count Stonn|:count Stonnen', - 'h' => ':countSto', - 'minute' => ':count Minutt|:count Minutten', - 'min' => ':countM', - 'second' => ':count Sekonnen', - 's' => ':countSek', - - 'formats' => [ - 'LT' => 'H:mm [Auer]', - 'LTS' => 'H:mm:ss [Auer]', - 'L' => 'DD.MM.YYYY', - 'LL' => 'D. MMMM YYYY', - 'LLL' => 'D. MMMM YYYY H:mm [Auer]', - 'LLLL' => 'dddd, D. MMMM YYYY H:mm [Auer]', - ], - - 'calendar' => [ - 'sameDay' => '[Haut um] LT', - 'nextDay' => '[Muer um] LT', - 'nextWeek' => 'dddd [um] LT', - 'lastDay' => '[Gëschter um] LT', - 'lastWeek' => function (\Carbon\CarbonInterface $date) { - // Different date string for 'Dënschdeg' (Tuesday) and 'Donneschdeg' (Thursday) due to phonological rule - switch ($date->dayOfWeek) { - case 2: - case 4: - return '[Leschten] dddd [um] LT'; - default: - return '[Leschte] dddd [um] LT'; - } - }, - 'sameElse' => 'L', - ], - - 'months' => ['Januar', 'Februar', 'Mäerz', 'Abrëll', 'Mee', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember'], - 'months_short' => ['Jan.', 'Febr.', 'Mrz.', 'Abr.', 'Mee', 'Jun.', 'Jul.', 'Aug.', 'Sept.', 'Okt.', 'Nov.', 'Dez.'], - 'weekdays' => ['Sonndeg', 'Méindeg', 'Dënschdeg', 'Mëttwoch', 'Donneschdeg', 'Freideg', 'Samschdeg'], - 'weekdays_short' => ['So.', 'Mé.', 'Dë.', 'Më.', 'Do.', 'Fr.', 'Sa.'], - 'weekdays_min' => ['So', 'Mé', 'Dë', 'Më', 'Do', 'Fr', 'Sa'], - 'ordinal' => ':number.', - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 4, - 'list' => [', ', ' an '], - 'meridiem' => ['moies', 'mëttes'], - 'weekdays_short_standalone' => ['Son', 'Méi', 'Dën', 'Mët', 'Don', 'Fre', 'Sam'], - 'months_short_standalone' => ['Jan', 'Feb', 'Mäe', 'Abr', 'Mee', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dez'], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/lb_LU.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/lb_LU.php deleted file mode 100644 index c8625fe..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/lb_LU.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/lb.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/lg.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/lg.php deleted file mode 100644 index cabd4b9..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/lg.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return require __DIR__.'/lg_UG.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/lg_UG.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/lg_UG.php deleted file mode 100644 index 0cc2077..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/lg_UG.php +++ /dev/null @@ -1,55 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Akademe ya Luganda Kizito Birabwa kompyuta@kizito.uklinux.net - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'DD/MM/YY', - ], - 'months' => ['Janwaliyo', 'Febwaliyo', 'Marisi', 'Apuli', 'Maayi', 'Juuni', 'Julaayi', 'Agusito', 'Sebuttemba', 'Okitobba', 'Novemba', 'Desemba'], - 'months_short' => ['Jan', 'Feb', 'Mar', 'Apu', 'Maa', 'Juu', 'Jul', 'Agu', 'Seb', 'Oki', 'Nov', 'Des'], - 'weekdays' => ['Sabiiti', 'Balaza', 'Lwakubiri', 'Lwakusatu', 'Lwakuna', 'Lwakutaano', 'Lwamukaaga'], - 'weekdays_short' => ['Sab', 'Bal', 'Lw2', 'Lw3', 'Lw4', 'Lw5', 'Lw6'], - 'weekdays_min' => ['Sab', 'Bal', 'Lw2', 'Lw3', 'Lw4', 'Lw5', 'Lw6'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 1, - - 'month' => ':count njuba', // less reliable - 'm' => ':count njuba', // less reliable - 'a_month' => ':count njuba', // less reliable - - 'year' => ':count mwaaka', - 'y' => ':count mwaaka', - 'a_year' => ':count mwaaka', - - 'week' => ':count sabbiiti', - 'w' => ':count sabbiiti', - 'a_week' => ':count sabbiiti', - - 'day' => ':count lunaku', - 'd' => ':count lunaku', - 'a_day' => ':count lunaku', - - 'hour' => 'saawa :count', - 'h' => 'saawa :count', - 'a_hour' => 'saawa :count', - - 'minute' => 'ddakiika :count', - 'min' => 'ddakiika :count', - 'a_minute' => 'ddakiika :count', - - 'second' => ':count kyʼokubiri', - 's' => ':count kyʼokubiri', - 'a_second' => ':count kyʼokubiri', -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/li.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/li.php deleted file mode 100644 index 94afceb..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/li.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return require __DIR__.'/li_NL.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/li_NL.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/li_NL.php deleted file mode 100644 index 1c18a98..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/li_NL.php +++ /dev/null @@ -1,55 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - information from Kenneth Christiansen Kenneth Christiansen, Pablo Saratxaga kenneth@gnu.org, pablo@mandriva.com - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'DD.MM.YYYY', - ], - 'months' => ['jannewarie', 'fibberwarie', 'miert', 'eprèl', 'meij', 'junie', 'julie', 'augustus', 'september', 'oktober', 'november', 'desember'], - 'months_short' => ['jan', 'fib', 'mie', 'epr', 'mei', 'jun', 'jul', 'aug', 'sep', 'okt', 'nov', 'des'], - 'weekdays' => ['zóndig', 'maondig', 'daensdig', 'goonsdig', 'dónderdig', 'vriedig', 'zaoterdig'], - 'weekdays_short' => ['zón', 'mao', 'dae', 'goo', 'dón', 'vri', 'zao'], - 'weekdays_min' => ['zón', 'mao', 'dae', 'goo', 'dón', 'vri', 'zao'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 4, - - 'minute' => ':count momênt', // less reliable - 'min' => ':count momênt', // less reliable - 'a_minute' => ':count momênt', // less reliable - - 'year' => ':count jaor', - 'y' => ':count jaor', - 'a_year' => ':count jaor', - - 'month' => ':count maond', - 'm' => ':count maond', - 'a_month' => ':count maond', - - 'week' => ':count waek', - 'w' => ':count waek', - 'a_week' => ':count waek', - - 'day' => ':count daag', - 'd' => ':count daag', - 'a_day' => ':count daag', - - 'hour' => ':count oer', - 'h' => ':count oer', - 'a_hour' => ':count oer', - - 'second' => ':count Secónd', - 's' => ':count Secónd', - 'a_second' => ':count Secónd', -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/lij.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/lij.php deleted file mode 100644 index 8c8d708..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/lij.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return require __DIR__.'/lij_IT.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/lij_IT.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/lij_IT.php deleted file mode 100644 index 84f4925..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/lij_IT.php +++ /dev/null @@ -1,55 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Gastaldi alessio.gastaldi@libero.it - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'DD/MM/YYYY', - ], - 'months' => ['zenâ', 'fevrâ', 'marzo', 'avrî', 'mazzo', 'zûgno', 'lûggio', 'agosto', 'settembre', 'ottobre', 'novembre', 'dixembre'], - 'months_short' => ['zen', 'fev', 'mar', 'arv', 'maz', 'zûg', 'lûg', 'ago', 'set', 'ött', 'nov', 'dix'], - 'weekdays' => ['domenega', 'lûnedì', 'martedì', 'mercUrdì', 'zêggia', 'venardì', 'sabbo'], - 'weekdays_short' => ['dom', 'lûn', 'mar', 'mer', 'zêu', 'ven', 'sab'], - 'weekdays_min' => ['dom', 'lûn', 'mar', 'mer', 'zêu', 'ven', 'sab'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 4, - - 'year' => ':count etæ', // less reliable - 'y' => ':count etæ', // less reliable - 'a_year' => ':count etæ', // less reliable - - 'month' => ':count meize', - 'm' => ':count meize', - 'a_month' => ':count meize', - - 'week' => ':count settemannha', - 'w' => ':count settemannha', - 'a_week' => ':count settemannha', - - 'day' => ':count giorno', - 'd' => ':count giorno', - 'a_day' => ':count giorno', - - 'hour' => ':count reléuio', // less reliable - 'h' => ':count reléuio', // less reliable - 'a_hour' => ':count reléuio', // less reliable - - 'minute' => ':count menûo', - 'min' => ':count menûo', - 'a_minute' => ':count menûo', - - 'second' => ':count segondo', - 's' => ':count segondo', - 'a_second' => ':count segondo', -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/lkt.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/lkt.php deleted file mode 100644 index 968b058..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/lkt.php +++ /dev/null @@ -1,40 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - - 'month' => ':count haÅ‹wí', // less reliable - 'm' => ':count haÅ‹wí', // less reliable - 'a_month' => ':count haÅ‹wí', // less reliable - - 'week' => ':count Å¡akówiÅ‹', // less reliable - 'w' => ':count Å¡akówiÅ‹', // less reliable - 'a_week' => ':count Å¡akówiÅ‹', // less reliable - - 'hour' => ':count maza Å¡kaÅ‹Å¡kaÅ‹', // less reliable - 'h' => ':count maza Å¡kaÅ‹Å¡kaÅ‹', // less reliable - 'a_hour' => ':count maza Å¡kaÅ‹Å¡kaÅ‹', // less reliable - - 'minute' => ':count Äíkʼala', // less reliable - 'min' => ':count Äíkʼala', // less reliable - 'a_minute' => ':count Äíkʼala', // less reliable - - 'year' => ':count waníyetu', - 'y' => ':count waníyetu', - 'a_year' => ':count waníyetu', - - 'day' => ':count aÅ‹pétu', - 'd' => ':count aÅ‹pétu', - 'a_day' => ':count aÅ‹pétu', - - 'second' => ':count icinuÅ‹pa', - 's' => ':count icinuÅ‹pa', - 'a_second' => ':count icinuÅ‹pa', -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ln.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ln.php deleted file mode 100644 index 3a88e22..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ln.php +++ /dev/null @@ -1,60 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Ubuntu René Manassé GALEKWA renemanasse@gmail.com - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'D/M/YYYY', - 'LL' => 'D MMM YYYY', - 'LLL' => 'D MMMM YYYY HH:mm', - 'LLLL' => 'dddd D MMMM YYYY HH:mm', - ], - 'months' => ['sánzá ya yambo', 'sánzá ya míbalé', 'sánzá ya mísáto', 'sánzá ya mínei', 'sánzá ya mítáno', 'sánzá ya motóbá', 'sánzá ya nsambo', 'sánzá ya mwambe', 'sánzá ya libwa', 'sánzá ya zómi', 'sánzá ya zómi na mɔ̌kÉ”Ì', 'sánzá ya zómi na míbalé'], - 'months_short' => ['yan', 'fbl', 'msi', 'apl', 'mai', 'yun', 'yul', 'agt', 'stb', 'É”tb', 'nvb', 'dsb'], - 'weekdays' => ['Lomíngo', 'Mosálá mɔ̌kÉ”Ì', 'Misálá míbalé', 'Misálá mísáto', 'Misálá mínei', 'Misálá mítáno', 'MpÉ”ÌsÉ”'], - 'weekdays_short' => ['m1.', 'm2.', 'm3.', 'm4.', 'm5.', 'm6.', 'm7.'], - 'weekdays_min' => ['m1.', 'm2.', 'm3.', 'm4.', 'm5.', 'm6.', 'm7.'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 1, - - 'year' => 'mbula :count', - 'y' => 'mbula :count', - 'a_year' => 'mbula :count', - - 'month' => 'sánzá :count', - 'm' => 'sánzá :count', - 'a_month' => 'sánzá :count', - - 'week' => 'mpÉ”ÌsÉ” :count', - 'w' => 'mpÉ”ÌsÉ” :count', - 'a_week' => 'mpÉ”ÌsÉ” :count', - - 'day' => 'mokÉ”lÉ” :count', - 'd' => 'mokÉ”lÉ” :count', - 'a_day' => 'mokÉ”lÉ” :count', - - 'hour' => 'ngonga :count', - 'h' => 'ngonga :count', - 'a_hour' => 'ngonga :count', - - 'minute' => 'miniti :count', - 'min' => 'miniti :count', - 'a_minute' => 'miniti :count', - - 'second' => 'segÉ”nde :count', - 's' => 'segÉ”nde :count', - 'a_second' => 'segÉ”nde :count', -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ln_AO.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ln_AO.php deleted file mode 100644 index e244096..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ln_AO.php +++ /dev/null @@ -1,16 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/ln.php', [ - 'weekdays' => ['eyenga', 'mokÉ”lÉ” mwa yambo', 'mokÉ”lÉ” mwa míbalé', 'mokÉ”lÉ” mwa mísáto', 'mokÉ”lÉ” ya mínéi', 'mokÉ”lÉ” ya mítáno', 'mpÉ”ÌsÉ”'], - 'weekdays_short' => ['eye', 'ybo', 'mbl', 'mst', 'min', 'mtn', 'mps'], - 'weekdays_min' => ['eye', 'ybo', 'mbl', 'mst', 'min', 'mtn', 'mps'], - 'meridiem' => ['ntÉ”ÌngÉ”Ì', 'mpókwa'], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ln_CD.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ln_CD.php deleted file mode 100644 index 637f25d..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ln_CD.php +++ /dev/null @@ -1,16 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Ubuntu René Manassé GALEKWA renemanasse@gmail.com - */ -return require __DIR__.'/ln.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ln_CF.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ln_CF.php deleted file mode 100644 index e244096..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ln_CF.php +++ /dev/null @@ -1,16 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/ln.php', [ - 'weekdays' => ['eyenga', 'mokÉ”lÉ” mwa yambo', 'mokÉ”lÉ” mwa míbalé', 'mokÉ”lÉ” mwa mísáto', 'mokÉ”lÉ” ya mínéi', 'mokÉ”lÉ” ya mítáno', 'mpÉ”ÌsÉ”'], - 'weekdays_short' => ['eye', 'ybo', 'mbl', 'mst', 'min', 'mtn', 'mps'], - 'weekdays_min' => ['eye', 'ybo', 'mbl', 'mst', 'min', 'mtn', 'mps'], - 'meridiem' => ['ntÉ”ÌngÉ”Ì', 'mpókwa'], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ln_CG.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ln_CG.php deleted file mode 100644 index e244096..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ln_CG.php +++ /dev/null @@ -1,16 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/ln.php', [ - 'weekdays' => ['eyenga', 'mokÉ”lÉ” mwa yambo', 'mokÉ”lÉ” mwa míbalé', 'mokÉ”lÉ” mwa mísáto', 'mokÉ”lÉ” ya mínéi', 'mokÉ”lÉ” ya mítáno', 'mpÉ”ÌsÉ”'], - 'weekdays_short' => ['eye', 'ybo', 'mbl', 'mst', 'min', 'mtn', 'mps'], - 'weekdays_min' => ['eye', 'ybo', 'mbl', 'mst', 'min', 'mtn', 'mps'], - 'meridiem' => ['ntÉ”ÌngÉ”Ì', 'mpókwa'], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/lo.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/lo.php deleted file mode 100644 index de8284c..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/lo.php +++ /dev/null @@ -1,60 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/* - * Authors: - * - François B - * - ryanhart2 - */ -return [ - 'year' => ':count ປີ', - 'y' => ':count ປີ', - 'month' => ':count ເດືອນ', - 'm' => ':count ດ. ', - 'week' => ':count ອາທິດ', - 'w' => ':count ອທ. ', - 'day' => ':count ມື້', - 'd' => ':count ມື້', - 'hour' => ':count ຊົ່ວໂມງ', - 'h' => ':count ຊມ. ', - 'minute' => ':count ນາທີ', - 'min' => ':count ນທ. ', - 'second' => '{1}ບà»à»ˆà»€àº—ົ່າໃດວິນາທີ|]1,Inf[:count ວິນາທີ', - 's' => ':count ວິ. ', - 'ago' => ':timeຜ່ານມາ', - 'from_now' => 'ອີຠ:time', - 'diff_yesterday' => 'ມື້ວານນີ້ເວລາ', - 'diff_tomorrow' => 'ມື້ອື່ນເວລາ', - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD/MM/YYYY', - 'LL' => 'D MMMM YYYY', - 'LLL' => 'D MMMM YYYY HH:mm', - 'LLLL' => 'ວັນdddd D MMMM YYYY HH:mm', - ], - 'calendar' => [ - 'sameDay' => '[ມື້ນີ້ເວລາ] LT', - 'nextDay' => '[ມື້ອື່ນເວລາ] LT', - 'nextWeek' => '[ວັນ]dddd[ໜ້າເວລາ] LT', - 'lastDay' => '[ມື້ວານນີ້ເວລາ] LT', - 'lastWeek' => '[ວັນ]dddd[à»àº¥à»‰àº§àº™àºµà»‰à»€àº§àº¥àº²] LT', - 'sameElse' => 'L', - ], - 'ordinal' => 'ທີ່:number', - 'meridiem' => ['ຕອນເຊົ້າ', 'ຕອນà»àº¥àº‡'], - 'months' => ['ມັງàºàº­àº™', 'àºàº¸àº¡àºžàº²', 'ມີນາ', 'ເມສາ', 'ພຶດສະພາ', 'ມິຖຸນາ', 'àºà»àº¥àº°àºàº»àº”', 'ສິງຫາ', 'àºàº±àº™àºàº²', 'ຕຸລາ', 'ພະຈິàº', 'ທັນວາ'], - 'months_short' => ['ມັງàºàº­àº™', 'àºàº¸àº¡àºžàº²', 'ມີນາ', 'ເມສາ', 'ພຶດສະພາ', 'ມິຖຸນາ', 'àºà»àº¥àº°àºàº»àº”', 'ສິງຫາ', 'àºàº±àº™àºàº²', 'ຕຸລາ', 'ພະຈິàº', 'ທັນວາ'], - 'weekdays' => ['ອາທິດ', 'ຈັນ', 'ອັງຄານ', 'ພຸດ', 'ພະຫັດ', 'ສຸàº', 'ເສົາ'], - 'weekdays_short' => ['ທິດ', 'ຈັນ', 'ອັງຄານ', 'ພຸດ', 'ພະຫັດ', 'ສຸàº', 'ເສົາ'], - 'weekdays_min' => ['ທ', 'ຈ', 'ອຄ', 'ພ', 'ພຫ', 'ສàº', 'ສ'], - 'list' => [', ', 'à»àº¥àº° '], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/lo_LA.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/lo_LA.php deleted file mode 100644 index c0a1d6b..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/lo_LA.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/lo.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/lrc.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/lrc.php deleted file mode 100644 index 10661bb..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/lrc.php +++ /dev/null @@ -1,16 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - - 'minute' => ':count هنر', // less reliable - 'min' => ':count هنر', // less reliable - 'a_minute' => ':count هنر', // less reliable -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/lrc_IQ.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/lrc_IQ.php deleted file mode 100644 index 449d863..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/lrc_IQ.php +++ /dev/null @@ -1,12 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/lrc.php', [ -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/lt.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/lt.php deleted file mode 100644 index 66027f2..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/lt.php +++ /dev/null @@ -1,130 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/* - * Authors: - * - Philippe Vaucher - * - Tsutomu Kuroda - * - tjku - * - valdas406 - * - Justas Palumickas - * - Max Melentiev - * - Andrius Janauskas - * - Juanito Fatas - * - Akira Matsuda - * - Christopher Dell - * - Enrique Vidal - * - Simone Carletti - * - Aaron Patterson - * - Nicolás Hock Isaza - * - Laurynas Butkus - * - Sven Fuchs - * - Dominykas TijÅ«naitis - * - Justinas Bolys - * - RiÄardas - * - Kirill Chalkin - * - Rolandas - * - Justinas (Gamesh) - */ -return [ - 'year' => ':count metai|:count metai|:count metų', - 'y' => ':count m.', - 'month' => ':count mÄ—nuo|:count mÄ—nesiai|:count mÄ—nesį', - 'm' => ':count mÄ—n.', - 'week' => ':count savaitÄ—|:count savaitÄ—s|:count savaitÄ™', - 'w' => ':count sav.', - 'day' => ':count diena|:count dienos|:count dienų', - 'd' => ':count d.', - 'hour' => ':count valanda|:count valandos|:count valandų', - 'h' => ':count val.', - 'minute' => ':count minutÄ—|:count minutÄ—s|:count minutÄ™', - 'min' => ':count min.', - 'second' => ':count sekundÄ—|:count sekundÄ—s|:count sekundžių', - 's' => ':count sek.', - - 'year_ago' => ':count metus|:count metus|:count metų', - 'month_ago' => ':count mÄ—nesį|:count mÄ—nesius|:count mÄ—nesių', - 'week_ago' => ':count savaitÄ™|:count savaites|:count savaiÄių', - 'day_ago' => ':count dienÄ…|:count dienas|:count dienų', - 'hour_ago' => ':count valandÄ…|:count valandas|:count valandų', - 'minute_ago' => ':count minutÄ™|:count minutes|:count minuÄių', - 'second_ago' => ':count sekundÄ™|:count sekundes|:count sekundžių', - - 'year_from_now' => ':count metų', - 'month_from_now' => ':count mÄ—nesio|:count mÄ—nesių|:count mÄ—nesių', - 'week_from_now' => ':count savaitÄ—s|:count savaiÄių|:count savaiÄių', - 'day_from_now' => ':count dienos|:count dienų|:count dienų', - 'hour_from_now' => ':count valandos|:count valandų|:count valandų', - 'minute_from_now' => ':count minutÄ—s|:count minuÄių|:count minuÄių', - 'second_from_now' => ':count sekundÄ—s|:count sekundžių|:count sekundžių', - - 'year_after' => ':count metų', - 'month_after' => ':count mÄ—nesio|:count mÄ—nesių|:count mÄ—nesių', - 'week_after' => ':count savaitÄ—s|:count savaiÄių|:count savaiÄių', - 'day_after' => ':count dienos|:count dienų|:count dienų', - 'hour_after' => ':count valandos|:count valandų|:count valandų', - 'minute_after' => ':count minutÄ—s|:count minuÄių|:count minuÄių', - 'second_after' => ':count sekundÄ—s|:count sekundžių|:count sekundžių', - - 'ago' => 'prieÅ¡ :time', - 'from_now' => 'už :time', - 'after' => 'po :time', - 'before' => ':time nuo dabar', - - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 4, - - 'diff_now' => 'kÄ… tik', - 'diff_yesterday' => 'vakar', - 'diff_tomorrow' => 'rytoj', - 'diff_before_yesterday' => 'užvakar', - 'diff_after_tomorrow' => 'poryt', - - 'period_recurrences' => 'kartÄ…|:count kartų', - 'period_interval' => 'kiekvienÄ… :interval', - 'period_start_date' => 'nuo :date', - 'period_end_date' => 'iki :date', - - 'months' => ['sausis', 'vasaris', 'kovas', 'balandis', 'gegužė', 'birželis', 'liepa', 'rugpjÅ«tis', 'rugsÄ—jis', 'spalis', 'lapkritis', 'gruodis'], - 'months_short' => ['sau', 'vas', 'kov', 'bal', 'geg', 'bir', 'lie', 'rgp', 'rgs', 'spa', 'lap', 'gru'], - 'weekdays' => ['sekmadienį', 'pirmadienį', 'antradienį', 'treÄiadienį', 'ketvirtadienį', 'penktadienį', 'Å¡eÅ¡tadienį'], - 'weekdays_standalone' => ['sekmadienis', 'pirmadienis', 'antradienis', 'treÄiadienis', 'ketvirtadienis', 'penktadienis', 'Å¡eÅ¡tadienis'], - 'weekdays_short' => ['sek', 'pir', 'ant', 'tre', 'ket', 'pen', 'Å¡eÅ¡'], - 'weekdays_min' => ['se', 'pi', 'an', 'tr', 'ke', 'pe', 'Å¡e'], - 'list' => [', ', ' ir '], - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'YYYY-MM-DD', - 'LL' => 'MMMM DD, YYYY', - 'LLL' => 'DD MMM HH:mm', - 'LLLL' => 'MMMM DD, YYYY HH:mm', - ], - 'calendar' => [ - 'sameDay' => '[Å iandien] LT', - 'nextDay' => '[Rytoj] LT', - 'nextWeek' => 'dddd LT', - 'lastDay' => '[Vakar] LT', - 'lastWeek' => '[Paskutinį] dddd LT', - 'sameElse' => 'L', - ], - 'ordinal' => function ($number) { - switch ($number) { - case 0: - return '0-is'; - case 3: - return '3-ias'; - default: - return "$number-as"; - } - }, - 'meridiem' => ['prieÅ¡piet', 'popiet'], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/lt_LT.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/lt_LT.php deleted file mode 100644 index c3087f4..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/lt_LT.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/lt.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/lu.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/lu.php deleted file mode 100644 index 8dab541..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/lu.php +++ /dev/null @@ -1,27 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'meridiem' => ['Dinda', 'Dilolo'], - 'weekdays' => ['Lumingu', 'Nkodya', 'Ndàayà', 'Ndangù', 'Njòwa', 'Ngòvya', 'Lubingu'], - 'weekdays_short' => ['Lum', 'Nko', 'Ndy', 'Ndg', 'Njw', 'Ngv', 'Lub'], - 'weekdays_min' => ['Lum', 'Nko', 'Ndy', 'Ndg', 'Njw', 'Ngv', 'Lub'], - 'months' => ['Ciongo', 'Lùishi', 'Lusòlo', 'Mùuyà', 'Lumùngùlù', 'Lufuimi', 'Kabàlàshìpù', 'Lùshìkà', 'Lutongolo', 'Lungùdi', 'Kaswèkèsè', 'Ciswà'], - 'months_short' => ['Cio', 'Lui', 'Lus', 'Muu', 'Lum', 'Luf', 'Kab', 'Lush', 'Lut', 'Lun', 'Kas', 'Cis'], - 'first_day_of_week' => 1, - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'D/M/YYYY', - 'LL' => 'D MMM YYYY', - 'LLL' => 'D MMMM YYYY HH:mm', - 'LLLL' => 'dddd D MMMM YYYY HH:mm', - ], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/luo.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/luo.php deleted file mode 100644 index 201ca96..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/luo.php +++ /dev/null @@ -1,54 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'meridiem' => ['OD', 'OT'], - 'weekdays' => ['Jumapil', 'Wuok Tich', 'Tich Ariyo', 'Tich Adek', 'Tich Ang’wen', 'Tich Abich', 'Ngeso'], - 'weekdays_short' => ['JMP', 'WUT', 'TAR', 'TAD', 'TAN', 'TAB', 'NGS'], - 'weekdays_min' => ['JMP', 'WUT', 'TAR', 'TAD', 'TAN', 'TAB', 'NGS'], - 'months' => ['Dwe mar Achiel', 'Dwe mar Ariyo', 'Dwe mar Adek', 'Dwe mar Ang’wen', 'Dwe mar Abich', 'Dwe mar Auchiel', 'Dwe mar Abiriyo', 'Dwe mar Aboro', 'Dwe mar Ochiko', 'Dwe mar Apar', 'Dwe mar gi achiel', 'Dwe mar Apar gi ariyo'], - 'months_short' => ['DAC', 'DAR', 'DAD', 'DAN', 'DAH', 'DAU', 'DAO', 'DAB', 'DOC', 'DAP', 'DGI', 'DAG'], - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD/MM/YYYY', - 'LL' => 'D MMM YYYY', - 'LLL' => 'D MMMM YYYY HH:mm', - 'LLLL' => 'dddd, D MMMM YYYY HH:mm', - ], - - 'year' => 'higni :count', - 'y' => 'higni :count', - 'a_year' => ':higni :count', - - 'month' => 'dweche :count', - 'm' => 'dweche :count', - 'a_month' => 'dweche :count', - - 'week' => 'jumbe :count', - 'w' => 'jumbe :count', - 'a_week' => 'jumbe :count', - - 'day' => 'ndalo :count', - 'd' => 'ndalo :count', - 'a_day' => 'ndalo :count', - - 'hour' => 'seche :count', - 'h' => 'seche :count', - 'a_hour' => 'seche :count', - - 'minute' => 'dakika :count', - 'min' => 'dakika :count', - 'a_minute' => 'dakika :count', - - 'second' => 'nus dakika :count', - 's' => 'nus dakika :count', - 'a_second' => 'nus dakika :count', -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/luy.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/luy.php deleted file mode 100644 index 5219125..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/luy.php +++ /dev/null @@ -1,56 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'weekdays' => ['Jumapiri', 'Jumatatu', 'Jumanne', 'Jumatano', 'Murwa wa Kanne', 'Murwa wa Katano', 'Jumamosi'], - 'weekdays_short' => ['J2', 'J3', 'J4', 'J5', 'Al', 'Ij', 'J1'], - 'weekdays_min' => ['J2', 'J3', 'J4', 'J5', 'Al', 'Ij', 'J1'], - 'months' => ['Januari', 'Februari', 'Machi', 'Aprili', 'Mei', 'Juni', 'Julai', 'Agosti', 'Septemba', 'Oktoba', 'Novemba', 'Desemba'], - 'months_short' => ['Jan', 'Feb', 'Mar', 'Apr', 'Mei', 'Jun', 'Jul', 'Ago', 'Sep', 'Okt', 'Nov', 'Des'], - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD/MM/YYYY', - 'LL' => 'D MMM YYYY', - 'LLL' => 'D MMMM YYYY HH:mm', - 'LLLL' => 'dddd, D MMMM YYYY HH:mm', - ], - - // Too unreliable - /* - 'year' => ':count liliino', // less reliable - 'y' => ':count liliino', // less reliable - 'a_year' => ':count liliino', // less reliable - - 'month' => ':count kumwesi', // less reliable - 'm' => ':count kumwesi', // less reliable - 'a_month' => ':count kumwesi', // less reliable - - 'week' => ':count olutambi', // less reliable - 'w' => ':count olutambi', // less reliable - 'a_week' => ':count olutambi', // less reliable - - 'day' => ':count luno', // less reliable - 'd' => ':count luno', // less reliable - 'a_day' => ':count luno', // less reliable - - 'hour' => ':count ekengele', // less reliable - 'h' => ':count ekengele', // less reliable - 'a_hour' => ':count ekengele', // less reliable - - 'minute' => ':count omundu', // less reliable - 'min' => ':count omundu', // less reliable - 'a_minute' => ':count omundu', // less reliable - - 'second' => ':count liliino', // less reliable - 's' => ':count liliino', // less reliable - 'a_second' => ':count liliino', // less reliable - */ -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/lv.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/lv.php deleted file mode 100644 index c4ec179..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/lv.php +++ /dev/null @@ -1,109 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/* - * Authors: - * - Philippe Vaucher - * - pirminis - * - Tsutomu Kuroda - * - tjku - * - Andris ZÄÄ£eris - * - Max Melentiev - * - Edgars Beigarts - * - Juanito Fatas - * - Vitauts StoÄka - * - Akira Matsuda - * - Christopher Dell - * - Enrique Vidal - * - Simone Carletti - * - Aaron Patterson - * - Kaspars Bankovskis - * - Nicolás Hock Isaza - * - Viesturs Kavacs (Kavacky) - * - zakse - */ -return [ - 'year' => '0 gadiem|:count gads|:count gadiem', - 'y' => '0 gadiem|:count gads|:count gadiem', - 'a_year' => '{1}gads|0 gadiem|:count gads|:count gadiem', - 'month' => '0 mÄ“neÅ¡iem|:count mÄ“neÅ¡a|:count mÄ“neÅ¡iem', - 'm' => ':count mÄ“n.', - 'a_month' => '{1}mÄ“neÅ¡a|0 mÄ“neÅ¡iem|:count mÄ“neÅ¡a|:count mÄ“neÅ¡iem', - 'week' => '0 nedēļÄm|:count nedēļas|:count nedēļÄm', - 'w' => ':count ned.', - 'a_week' => '{1}nedēļas|0 nedēļÄm|:count nedēļas|:count nedēļÄm', - 'day' => '0 dienÄm|:count dienas|:count dienÄm', - 'd' => '0 dienÄm|:count dienas|:count dienÄm', - 'a_day' => '{1}dienas|0 dienÄm|:count dienas|:count dienÄm', - 'hour' => '0 stundÄm|:count stundas|:count stundÄm', - 'h' => ':count st.', - 'a_hour' => '{1}stundas|0 stundÄm|:count stundas|:count stundÄm', - 'minute' => '0 minÅ«tÄ“m|:count minÅ«tes|:count minÅ«tÄ“m', - 'min' => ':count min.', - 'a_minute' => '{1}minÅ«tes|0 minÅ«tÄ“m|:count minÅ«tes|:count minÅ«tÄ“m', - 'second' => '0 sekundÄ“m|:count sekundes|:count sekundÄ“m', - 's' => ':count sek.', - 'a_second' => '{1}dažas sekundes|0 sekundÄ“m|:count sekundes|:count sekundÄ“m', - - 'ago' => 'pirms :time', - 'from_now' => 'pÄ“c :time', - - 'after' => ':time vÄ“lÄk', - 'before' => ':time pirms', - - 'year_after' => '0 gadus|:count gadu|:count gadus', - 'a_year_after' => '{1}gadu|0 gadus|:count gadu|:count gadus', - 'month_after' => '0 mÄ“neÅ¡us|:count mÄ“nesi|:count mÄ“neÅ¡us', - 'a_month_after' => '{1}mÄ“nesi|0 mÄ“neÅ¡us|:count mÄ“nesi|:count mÄ“neÅ¡us', - 'week_after' => '0 nedēļas|:count nedēļu|:count nedēļas', - 'a_week_after' => '{1}nedēļu|0 nedēļas|:count nedēļu|:count nedēļas', - 'day_after' => '0 dienas|:count dienu|:count dienas', - 'a_day_after' => '{1}dienu|0 dienas|:count dienu|:count dienas', - 'hour_after' => '0 stundas|:count stundu|:count stundas', - 'a_hour_after' => '{1}stundu|0 stundas|:count stundu|:count stundas', - 'minute_after' => '0 minÅ«tes|:count minÅ«ti|:count minÅ«tes', - 'a_minute_after' => '{1}minÅ«ti|0 minÅ«tes|:count minÅ«ti|:count minÅ«tes', - 'second_after' => '0 sekundes|:count sekundi|:count sekundes', - 'a_second_after' => '{1}sekundi|0 sekundes|:count sekundi|:count sekundes', - - 'year_before' => '0 gadus|:count gadu|:count gadus', - 'a_year_before' => '{1}gadu|0 gadus|:count gadu|:count gadus', - 'month_before' => '0 mÄ“neÅ¡us|:count mÄ“nesi|:count mÄ“neÅ¡us', - 'a_month_before' => '{1}mÄ“nesi|0 mÄ“neÅ¡us|:count mÄ“nesi|:count mÄ“neÅ¡us', - 'week_before' => '0 nedēļas|:count nedēļu|:count nedēļas', - 'a_week_before' => '{1}nedēļu|0 nedēļas|:count nedēļu|:count nedēļas', - 'day_before' => '0 dienas|:count dienu|:count dienas', - 'a_day_before' => '{1}dienu|0 dienas|:count dienu|:count dienas', - 'hour_before' => '0 stundas|:count stundu|:count stundas', - 'a_hour_before' => '{1}stundu|0 stundas|:count stundu|:count stundas', - 'minute_before' => '0 minÅ«tes|:count minÅ«ti|:count minÅ«tes', - 'a_minute_before' => '{1}minÅ«ti|0 minÅ«tes|:count minÅ«ti|:count minÅ«tes', - 'second_before' => '0 sekundes|:count sekundi|:count sekundes', - 'a_second_before' => '{1}sekundi|0 sekundes|:count sekundi|:count sekundes', - - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 4, - 'list' => [', ', ' un '], - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD.MM.YYYY.', - 'LL' => 'YYYY. [gada] D. MMMM', - 'LLL' => 'DD.MM.YYYY., HH:mm', - 'LLLL' => 'YYYY. [gada] D. MMMM, HH:mm', - ], - 'weekdays' => ['svÄ“tdiena', 'pirmdiena', 'otrdiena', 'treÅ¡diena', 'ceturtdiena', 'piektdiena', 'sestdiena'], - 'weekdays_short' => ['Sv.', 'P.', 'O.', 'T.', 'C.', 'Pk.', 'S.'], - 'weekdays_min' => ['Sv.', 'P.', 'O.', 'T.', 'C.', 'Pk.', 'S.'], - 'months' => ['janvÄrÄ«', 'ferbruÄrÄ«', 'martÄ', 'aprÄ«lÄ«', 'maijÄ', 'jÅ«nijÄ', 'jÅ«lijÄ', 'augustÄ', 'septembrÄ«', 'oktobrÄ«', 'novembrÄ«', 'decembrÄ«'], - 'months_short' => ['Janv', 'Febr', 'Marts', 'Apr', 'Maijs', 'JÅ«n', 'JÅ«l', 'Aug', 'Sept', 'Okt', 'Nov', 'Dec'], - 'meridiem' => ['priekÅ¡pusdiena', 'pÄ“cpusdiena'], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/lv_LV.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/lv_LV.php deleted file mode 100644 index 46c0f43..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/lv_LV.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/lv.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/lzh.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/lzh.php deleted file mode 100644 index 90aecca..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/lzh.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return require __DIR__.'/lzh_TW.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/lzh_TW.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/lzh_TW.php deleted file mode 100644 index eaf9c8f..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/lzh_TW.php +++ /dev/null @@ -1,56 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - bug-glibc-locales@gnu.org - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'OY[å¹´]MMMMOD[æ—¥]', - ], - 'months' => ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', 'ä¹æœˆ', 'å月', 'å一月', 'å二月'], - 'months_short' => [' 一 ', ' 二 ', ' 三 ', ' å›› ', ' 五 ', ' å…­ ', ' 七 ', ' å…« ', ' ä¹ ', ' å ', 'å一', 'å二'], - 'weekdays' => ['週日', '週一', '週二', '週三', '週四', '週五', '週六'], - 'weekdays_short' => ['æ—¥', '一', '二', '三', 'å››', '五', 'å…­'], - 'weekdays_min' => ['æ—¥', '一', '二', '三', 'å››', '五', 'å…­'], - 'day_of_first_week_of_year' => 1, - 'alt_numbers' => ['〇', '一', '二', '三', 'å››', '五', 'å…­', '七', 'å…«', 'ä¹', 'å', 'å一', 'å二', 'å三', 'åå››', 'å五', 'åå…­', 'å七', 'åå…«', 'åä¹', '廿', '廿一', '廿二', '廿三', '廿四', '廿五', '廿六', '廿七', '廿八', '廿ä¹', 'å…', 'å…一'], - 'meridiem' => ['æœ', 'æš®'], - - 'year' => ':count å¤', // less reliable - 'y' => ':count å¤', // less reliable - 'a_year' => ':count å¤', // less reliable - - 'month' => ':count 月', // less reliable - 'm' => ':count 月', // less reliable - 'a_month' => ':count 月', // less reliable - - 'hour' => ':count æ°§', // less reliable - 'h' => ':count æ°§', // less reliable - 'a_hour' => ':count æ°§', // less reliable - - 'minute' => ':count 點', // less reliable - 'min' => ':count 點', // less reliable - 'a_minute' => ':count 點', // less reliable - - 'second' => ':count 楚', // less reliable - 's' => ':count 楚', // less reliable - 'a_second' => ':count 楚', // less reliable - - 'week' => ':count 星期', - 'w' => ':count 星期', - 'a_week' => ':count 星期', - - 'day' => ':count æ—¥(曆法)', - 'd' => ':count æ—¥(曆法)', - 'a_day' => ':count æ—¥(曆法)', -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/mag.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/mag.php deleted file mode 100644 index 87baff5..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/mag.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return require __DIR__.'/mag_IN.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/mag_IN.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/mag_IN.php deleted file mode 100644 index 7aec75b..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/mag_IN.php +++ /dev/null @@ -1,27 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - bhashaghar@googlegroups.com - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'D/M/YY', - ], - 'months' => ['जनवरी', 'फ़रवरी', 'मारà¥à¤š', 'अपà¥à¤°à¥‡à¤²', 'मई', 'जून', 'जà¥à¤²à¤¾à¤ˆ', 'अगसà¥à¤¤', 'सितमà¥à¤¬à¤°', 'अकà¥à¤Ÿà¥‚बर', 'नवमà¥à¤¬à¤°', 'दिसमà¥à¤¬à¤°'], - 'months_short' => ['जनवरी', 'फ़रवरी', 'मारà¥à¤š', 'अपà¥à¤°à¥‡à¤²', 'मई', 'जून', 'जà¥à¤²à¤¾à¤ˆ', 'अगसà¥à¤¤', 'सितमà¥à¤¬à¤°', 'अकà¥à¤Ÿà¥‚बर', 'नवमà¥à¤¬à¤°', 'दिसमà¥à¤¬à¤°'], - 'weekdays' => ['à¤à¤¤à¤µà¤¾à¤°', 'सोमार', 'मंगर', 'बà¥à¤§', 'बिफे', 'सूक', 'सनिचर'], - 'weekdays_short' => ['à¤à¤¤à¤µà¤¾à¤°', 'सोमार', 'मंगर', 'बà¥à¤§', 'बिफे', 'सूक', 'सनिचर'], - 'weekdays_min' => ['à¤à¤¤à¤µà¤¾à¤°', 'सोमार', 'मंगर', 'बà¥à¤§', 'बिफे', 'सूक', 'सनिचर'], - 'day_of_first_week_of_year' => 1, - 'meridiem' => ['पूरà¥à¤µà¤¾à¤¹à¥à¤¨', 'अपराहà¥à¤¨'], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/mai.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/mai.php deleted file mode 100644 index 17cd902..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/mai.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return require __DIR__.'/mai_IN.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/mai_IN.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/mai_IN.php deleted file mode 100644 index 8270c51..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/mai_IN.php +++ /dev/null @@ -1,51 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Maithili Computing Research Center, Pune, India rajeshkajha@yahoo.com,akhilesh.k@samusng.com - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'D/M/YY', - ], - 'months' => ['बैसाख', 'जेठ', 'अषाढ़', 'सावोन', 'भादो', 'आसिन', 'कातिक', 'अगहन', 'पूस', 'माघ', 'फागà¥à¤¨', 'चैति'], - 'months_short' => ['बैसाख', 'जेठ', 'अषाढ़', 'सावोन', 'भादो', 'आसिन', 'कातिक', 'अगहन', 'पूस', 'माघ', 'फागà¥à¤¨', 'चैति'], - 'weekdays' => ['रविदिन', 'सोमदिन', 'मंगलदिन', 'बà¥à¤§à¤¦à¤¿à¤¨', 'बृहसà¥à¤ªà¤¤à¥€à¤¦à¤¿à¤¨', 'शà¥à¤•à¥à¤°à¤¦à¤¿à¤¨', 'शनीदिन'], - 'weekdays_short' => ['रवि', 'सोम', 'मंगल', 'बà¥à¤§', 'बृहसà¥à¤ªà¤¤à¥€', 'शà¥à¤•à¥à¤°', 'शनी'], - 'weekdays_min' => ['रवि', 'सोम', 'मंगल', 'बà¥à¤§', 'बृहसà¥à¤ªà¤¤à¥€', 'शà¥à¤•à¥à¤°', 'शनी'], - 'day_of_first_week_of_year' => 1, - 'meridiem' => ['पूरà¥à¤µà¤¾à¤¹à¥à¤¨', 'अपराहà¥à¤¨'], - - 'year' => ':count ऋतà¥', // less reliable - 'y' => ':count ऋतà¥', // less reliable - 'a_year' => ':count ऋतà¥', // less reliable - - 'month' => ':count महिना', - 'm' => ':count महिना', - 'a_month' => ':count महिना', - - 'week' => ':count शà¥à¤°à¥‡à¤£à¥€:कà¥à¤¯à¤¾à¤²à¥‡à¤¨à¥à¤¡à¤°', // less reliable - 'w' => ':count शà¥à¤°à¥‡à¤£à¥€:कà¥à¤¯à¤¾à¤²à¥‡à¤¨à¥à¤¡à¤°', // less reliable - 'a_week' => ':count शà¥à¤°à¥‡à¤£à¥€:कà¥à¤¯à¤¾à¤²à¥‡à¤¨à¥à¤¡à¤°', // less reliable - - 'day' => ':count दिन', - 'd' => ':count दिन', - 'a_day' => ':count दिन', - - 'hour' => ':count घणà¥à¤Ÿà¤¾', - 'h' => ':count घणà¥à¤Ÿà¤¾', - 'a_hour' => ':count घणà¥à¤Ÿà¤¾', - - 'minute' => ':count समय', // less reliable - 'min' => ':count समय', // less reliable - 'a_minute' => ':count समय', // less reliable -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/mas.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/mas.php deleted file mode 100644 index 723ae67..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/mas.php +++ /dev/null @@ -1,50 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'meridiem' => ['ÆnkakÉ›nyá', 'Ændámâ'], - 'weekdays' => ['Jumapílí', 'Jumatátu', 'Jumane', 'JumatánÉ”', 'Alaámisi', 'Jumáa', 'Jumamósi'], - 'weekdays_short' => ['Jpi', 'Jtt', 'Jnn', 'Jtn', 'Alh', 'Iju', 'Jmo'], - 'weekdays_min' => ['Jpi', 'Jtt', 'Jnn', 'Jtn', 'Alh', 'Iju', 'Jmo'], - 'months' => ['OladalʉÌ', 'Arát', 'ƆɛnɨÌɔɨŋɔk', 'Olodoyíóríê inkókúâ', 'OloilépÅ«nyÄ«Ä“ inkókúâ', 'KújúɔrÉ”k', 'Mórusásin', 'ƆlÉ”ÌɨÌbÉ”ÌrárÉ›', 'Kúshîn', 'Olgísan', 'PʉshʉÌka', 'NtʉÌŋʉÌs'], - 'months_short' => ['Dal', 'Ará', 'Ɔɛn', 'Doy', 'Lép', 'Rok', 'Sás', 'BÉ”Ìr', 'Kús', 'Gís', 'ShʉÌ', 'NtʉÌ'], - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD/MM/YYYY', - 'LL' => 'D MMM YYYY', - 'LLL' => 'D MMMM YYYY HH:mm', - 'LLLL' => 'dddd, D MMMM YYYY HH:mm', - ], - - 'year' => ':count olameyu', // less reliable - 'y' => ':count olameyu', // less reliable - 'a_year' => ':count olameyu', // less reliable - - 'week' => ':count engolongeare orwiki', // less reliable - 'w' => ':count engolongeare orwiki', // less reliable - 'a_week' => ':count engolongeare orwiki', // less reliable - - 'hour' => ':count esahabu', // less reliable - 'h' => ':count esahabu', // less reliable - 'a_hour' => ':count esahabu', // less reliable - - 'second' => ':count are', // less reliable - 's' => ':count are', // less reliable - 'a_second' => ':count are', // less reliable - - 'month' => ':count olapa', - 'm' => ':count olapa', - 'a_month' => ':count olapa', - - 'day' => ':count enkolongʼ', - 'd' => ':count enkolongʼ', - 'a_day' => ':count enkolongʼ', -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/mas_TZ.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/mas_TZ.php deleted file mode 100644 index aa382b7..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/mas_TZ.php +++ /dev/null @@ -1,13 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/mas.php', [ - 'first_day_of_week' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/mer.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/mer.php deleted file mode 100644 index cb7ba8d..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/mer.php +++ /dev/null @@ -1,42 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'meridiem' => ['RŨ', 'ŨG'], - 'weekdays' => ['Kiumia', 'Muramuko', 'Wairi', 'Wethatu', 'Wena', 'Wetano', 'Jumamosi'], - 'weekdays_short' => ['KIU', 'MRA', 'WAI', 'WET', 'WEN', 'WTN', 'JUM'], - 'weekdays_min' => ['KIU', 'MRA', 'WAI', 'WET', 'WEN', 'WTN', 'JUM'], - 'months' => ['JanuarÄ©', 'FeburuarÄ©', 'Machi', 'ĨpurÅ©', 'MÄ©Ä©', 'Njuni', 'NjuraÄ©', 'Agasti', 'Septemba', 'OktÅ©ba', 'Novemba', 'Dicemba'], - 'months_short' => ['JAN', 'FEB', 'MAC', 'ĨPU', 'MĨĨ', 'NJU', 'NJR', 'AGA', 'SPT', 'OKT', 'NOV', 'DEC'], - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD/MM/YYYY', - 'LL' => 'D MMM YYYY', - 'LLL' => 'D MMMM YYYY HH:mm', - 'LLLL' => 'dddd, D MMMM YYYY HH:mm', - ], - - 'year' => ':count murume', // less reliable - 'y' => ':count murume', // less reliable - 'a_year' => ':count murume', // less reliable - - 'month' => ':count muchaara', // less reliable - 'm' => ':count muchaara', // less reliable - 'a_month' => ':count muchaara', // less reliable - - 'minute' => ':count monto', // less reliable - 'min' => ':count monto', // less reliable - 'a_minute' => ':count monto', // less reliable - - 'second' => ':count gikeno', // less reliable - 's' => ':count gikeno', // less reliable - 'a_second' => ':count gikeno', // less reliable -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/mfe.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/mfe.php deleted file mode 100644 index 62cf1d0..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/mfe.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return require __DIR__.'/mfe_MU.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/mfe_MU.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/mfe_MU.php deleted file mode 100644 index 83b733a..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/mfe_MU.php +++ /dev/null @@ -1,53 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Samsung Electronics Co., Ltd. akhilesh.k@samsung.com - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'DD/MM/YY', - ], - 'months' => ['zanvie', 'fevriye', 'mars', 'avril', 'me', 'zin', 'zilye', 'out', 'septam', 'oktob', 'novam', 'desam'], - 'months_short' => ['zan', 'fev', 'mar', 'avr', 'me', 'zin', 'zil', 'out', 'sep', 'okt', 'nov', 'des'], - 'weekdays' => ['dimans', 'lindi', 'mardi', 'merkredi', 'zedi', 'vandredi', 'samdi'], - 'weekdays_short' => ['dim', 'lin', 'mar', 'mer', 'ze', 'van', 'sam'], - 'weekdays_min' => ['dim', 'lin', 'mar', 'mer', 'ze', 'van', 'sam'], - - 'year' => ':count banané', - 'y' => ':count banané', - 'a_year' => ':count banané', - - 'month' => ':count mwa', - 'm' => ':count mwa', - 'a_month' => ':count mwa', - - 'week' => ':count sémenn', - 'w' => ':count sémenn', - 'a_week' => ':count sémenn', - - 'day' => ':count zour', - 'd' => ':count zour', - 'a_day' => ':count zour', - - 'hour' => ':count -er-tan', - 'h' => ':count -er-tan', - 'a_hour' => ':count -er-tan', - - 'minute' => ':count minitt', - 'min' => ':count minitt', - 'a_minute' => ':count minitt', - - 'second' => ':count déziém', - 's' => ':count déziém', - 'a_second' => ':count déziém', -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/mg.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/mg.php deleted file mode 100644 index a872aa1..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/mg.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return require __DIR__.'/mg_MG.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/mg_MG.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/mg_MG.php deleted file mode 100644 index 3fe7a46..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/mg_MG.php +++ /dev/null @@ -1,55 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - The Debian Project modified by GNU//Linux Malagasy Rado Ramarotafika,Do-Risika RAFIEFERANTSIARONJY rado@linuxmg.org,dourix@free.fr - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'DD.MM.YYYY', - ], - 'months' => ['Janoary', 'Febroary', 'Martsa', 'Aprily', 'Mey', 'Jona', 'Jolay', 'Aogositra', 'Septambra', 'Oktobra', 'Novambra', 'Desambra'], - 'months_short' => ['Jan', 'Feb', 'Mar', 'Apr', 'Mey', 'Jon', 'Jol', 'Aog', 'Sep', 'Okt', 'Nov', 'Des'], - 'weekdays' => ['alahady', 'alatsinainy', 'talata', 'alarobia', 'alakamisy', 'zoma', 'sabotsy'], - 'weekdays_short' => ['lhd', 'lts', 'tlt', 'lrb', 'lkm', 'zom', 'sab'], - 'weekdays_min' => ['lhd', 'lts', 'tlt', 'lrb', 'lkm', 'zom', 'sab'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 1, - - 'minute' => ':count minitra', // less reliable - 'min' => ':count minitra', // less reliable - 'a_minute' => ':count minitra', // less reliable - - 'year' => ':count taona', - 'y' => ':count taona', - 'a_year' => ':count taona', - - 'month' => ':count volana', - 'm' => ':count volana', - 'a_month' => ':count volana', - - 'week' => ':count herinandro', - 'w' => ':count herinandro', - 'a_week' => ':count herinandro', - - 'day' => ':count andro', - 'd' => ':count andro', - 'a_day' => ':count andro', - - 'hour' => ':count ora', - 'h' => ':count ora', - 'a_hour' => ':count ora', - - 'second' => ':count segondra', - 's' => ':count segondra', - 'a_second' => ':count segondra', -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/mgh.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/mgh.php deleted file mode 100644 index 65798a8..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/mgh.php +++ /dev/null @@ -1,26 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'meridiem' => ['wichishu', 'mchochil’l'], - 'weekdays' => ['Sabato', 'Jumatatu', 'Jumanne', 'Jumatano', 'Arahamisi', 'Ijumaa', 'Jumamosi'], - 'weekdays_short' => ['Sab', 'Jtt', 'Jnn', 'Jtn', 'Ara', 'Iju', 'Jmo'], - 'weekdays_min' => ['Sab', 'Jtt', 'Jnn', 'Jtn', 'Ara', 'Iju', 'Jmo'], - 'months' => ['Mweri wo kwanza', 'Mweri wo unayeli', 'Mweri wo uneraru', 'Mweri wo unecheshe', 'Mweri wo unethanu', 'Mweri wo thanu na mocha', 'Mweri wo saba', 'Mweri wo nane', 'Mweri wo tisa', 'Mweri wo kumi', 'Mweri wo kumi na moja', 'Mweri wo kumi na yel’li'], - 'months_short' => ['Kwa', 'Una', 'Rar', 'Che', 'Tha', 'Moc', 'Sab', 'Nan', 'Tis', 'Kum', 'Moj', 'Yel'], - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD/MM/YYYY', - 'LL' => 'D MMM YYYY', - 'LLL' => 'D MMMM YYYY HH:mm', - 'LLLL' => 'dddd, D MMMM YYYY HH:mm', - ], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/mgo.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/mgo.php deleted file mode 100644 index a5a0754..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/mgo.php +++ /dev/null @@ -1,26 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'weekdays' => ['Aneg 1', 'Aneg 2', 'Aneg 3', 'Aneg 4', 'Aneg 5', 'Aneg 6', 'Aneg 7'], - 'weekdays_short' => ['Aneg 1', 'Aneg 2', 'Aneg 3', 'Aneg 4', 'Aneg 5', 'Aneg 6', 'Aneg 7'], - 'weekdays_min' => ['1', '2', '3', '4', '5', '6', '7'], - 'months' => ['imÉ™g mbegtug', 'imeg àbùbì', 'imeg mbəŋchubi', 'imÉ™g ngwə̀t', 'imÉ™g fog', 'imÉ™g ichiibÉ”d', 'imÉ™g àdùmbə̀ŋ', 'imÉ™g ichika', 'imÉ™g kud', 'imÉ™g tèsiʼe', 'imÉ™g zò', 'imÉ™g krizmed'], - 'months_short' => ['mbegtug', 'imeg àbùbì', 'imeg mbəŋchubi', 'imÉ™g ngwə̀t', 'imÉ™g fog', 'imÉ™g ichiibÉ”d', 'imÉ™g àdùmbə̀ŋ', 'imÉ™g ichika', 'imÉ™g kud', 'imÉ™g tèsiʼe', 'imÉ™g zò', 'imÉ™g krizmed'], - 'first_day_of_week' => 1, - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'YYYY-MM-dd', - 'LL' => 'YYYY MMM D', - 'LLL' => 'YYYY MMMM D HH:mm', - 'LLLL' => 'dddd, YYYY MMMM DD HH:mm', - ], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/mhr.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/mhr.php deleted file mode 100644 index a67ac52..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/mhr.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return require __DIR__.'/mhr_RU.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/mhr_RU.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/mhr_RU.php deleted file mode 100644 index 6f6cbc1..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/mhr_RU.php +++ /dev/null @@ -1,55 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - PeshSajSoft Ltd. Vyacheslav Kileev slavakileev@yandex.ru - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'YYYY.MM.DD', - ], - 'months' => ['Шорыкйол', 'Пургыж', 'Ó°ÑрнÑ', 'Вӱдшор', 'Ðга', 'Пеледыш', 'Сӱрем', 'Сорла', 'Идым', 'Шыжа', 'Кылме', 'Теле'], - 'months_short' => ['Шрк', 'Пгж', 'Ӱрн', 'Вшр', 'Ðга', 'Пдш', 'Срм', 'Срл', 'Идм', 'Шыж', 'Клм', 'Тел'], - 'weekdays' => ['РушарнÑ', 'Шочмо', 'Кушкыжмо', 'Вӱргече', 'ИзарнÑ', 'КугарнÑ', 'Шуматкече'], - 'weekdays_short' => ['Ршр', 'Шчм', 'Кжм', 'Вгч', 'Изр', 'Кгр', 'Шмт'], - 'weekdays_min' => ['Ршр', 'Шчм', 'Кжм', 'Вгч', 'Изр', 'Кгр', 'Шмт'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 1, - - 'year' => ':count идалык', - 'y' => ':count идалык', - 'a_year' => ':count идалык', - - 'month' => ':count Тылзе', - 'm' => ':count Тылзе', - 'a_month' => ':count Тылзе', - - 'week' => ':count арнÑ', - 'w' => ':count арнÑ', - 'a_week' => ':count арнÑ', - - 'day' => ':count кече', - 'd' => ':count кече', - 'a_day' => ':count кече', - - 'hour' => ':count чаÑ', - 'h' => ':count чаÑ', - 'a_hour' => ':count чаÑ', - - 'minute' => ':count минут', - 'min' => ':count минут', - 'a_minute' => ':count минут', - - 'second' => ':count кокымшан', - 's' => ':count кокымшан', - 'a_second' => ':count кокымшан', -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/mi.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/mi.php deleted file mode 100644 index 671ea08..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/mi.php +++ /dev/null @@ -1,62 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/* - * Authors: - * - François B - * - John Corrigan - * - François B - */ -return [ - 'year' => ':count tau', - 'a_year' => '{1}he tau|:count tau', - 'month' => ':count marama', - 'a_month' => '{1}he marama|:count marama', - 'week' => ':count wiki', - 'a_week' => '{1}he wiki|:count wiki', - 'day' => ':count ra', - 'a_day' => '{1}he ra|:count ra', - 'hour' => ':count haora', - 'a_hour' => '{1}te haora|:count haora', - 'minute' => ':count meneti', - 'a_minute' => '{1}he meneti|:count meneti', - 'second' => ':count hÄ“kona', - 'a_second' => '{1}te hÄ“kona ruarua|:count hÄ“kona', - 'ago' => ':time i mua', - 'from_now' => 'i roto i :time', - 'diff_yesterday' => 'inanahi', - 'diff_tomorrow' => 'apopo', - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD/MM/YYYY', - 'LL' => 'D MMMM YYYY', - 'LLL' => 'D MMMM YYYY [i] HH:mm', - 'LLLL' => 'dddd, D MMMM YYYY [i] HH:mm', - ], - 'calendar' => [ - 'sameDay' => '[i teie mahana, i] LT', - 'nextDay' => '[apopo i] LT', - 'nextWeek' => 'dddd [i] LT', - 'lastDay' => '[inanahi i] LT', - 'lastWeek' => 'dddd [whakamutunga i] LT', - 'sameElse' => 'L', - ], - 'ordinal' => ':numberº', - 'months' => ['Kohi-tÄte', 'Hui-tanguru', 'PoutÅ«-te-rangi', 'Paenga-whÄwhÄ', 'Haratua', 'Pipiri', 'HÅngoingoi', 'Here-turi-kÅkÄ', 'Mahuru', 'Whiringa-Ä-nuku', 'Whiringa-Ä-rangi', 'Hakihea'], - 'months_short' => ['Kohi', 'Hui', 'Pou', 'Pae', 'Hara', 'Pipi', 'HÅngoi', 'Here', 'Mahu', 'Whi-nu', 'Whi-ra', 'Haki'], - 'weekdays' => ['RÄtapu', 'Mane', 'TÅ«rei', 'Wenerei', 'TÄite', 'Paraire', 'HÄtarei'], - 'weekdays_short' => ['Ta', 'Ma', 'TÅ«', 'We', 'TÄi', 'Pa', 'HÄ'], - 'weekdays_min' => ['Ta', 'Ma', 'TÅ«', 'We', 'TÄi', 'Pa', 'HÄ'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 4, - 'list' => [', ', ' me te '], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/mi_NZ.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/mi_NZ.php deleted file mode 100644 index 123d229..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/mi_NZ.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/mi.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/miq.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/miq.php deleted file mode 100644 index eccb7e8..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/miq.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return require __DIR__.'/miq_NI.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/miq_NI.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/miq_NI.php deleted file mode 100644 index b56783e..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/miq_NI.php +++ /dev/null @@ -1,27 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'DD/MM/YY', - ], - 'months' => ['siakwa kati', 'kuswa kati', 'kakamuk kati', 'lî wainhka kati', 'lih mairin kati', 'lî kati', 'pastara kati', 'sikla kati', 'wîs kati', 'waupasa kati', 'yahbra kati', 'trisu kati'], - 'months_short' => ['siakwa kati', 'kuswa kati', 'kakamuk kati', 'lî wainhka kati', 'lih mairin kati', 'lî kati', 'pastara kati', 'sikla kati', 'wîs kati', 'waupasa kati', 'yahbra kati', 'trisu kati'], - 'weekdays' => ['sandi', 'mundi', 'tiusdi', 'wensde', 'tausde', 'praidi', 'satadi'], - 'weekdays_short' => ['san', 'mun', 'tius', 'wens', 'taus', 'prai', 'sat'], - 'weekdays_min' => ['san', 'mun', 'tius', 'wens', 'taus', 'prai', 'sat'], - 'first_day_of_week' => 0, - 'day_of_first_week_of_year' => 7, - 'meridiem' => ['VM', 'NM'], - - 'month' => ':count kati', // less reliable - 'm' => ':count kati', // less reliable - 'a_month' => ':count kati', // less reliable -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/mjw.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/mjw.php deleted file mode 100644 index 30cd577..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/mjw.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return require __DIR__.'/mjw_IN.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/mjw_IN.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/mjw_IN.php deleted file mode 100644 index 41624f5..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/mjw_IN.php +++ /dev/null @@ -1,27 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Jor Teron bug-glibc-locales@gnu.org - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'D/M/YY', - ], - 'months' => ['Arkoi', 'Thangthang', 'There', 'Jangmi', 'Aru', 'Vosik', 'Jakhong', 'Paipai', 'Chiti', 'Phere', 'Phaikuni', 'Matijong'], - 'months_short' => ['Ark', 'Thang', 'The', 'Jang', 'Aru', 'Vos', 'Jak', 'Pai', 'Chi', 'Phe', 'Phai', 'Mati'], - 'weekdays' => ['Bhomkuru', 'Urmi', 'Durmi', 'Thelang', 'Theman', 'Bhomta', 'Bhomti'], - 'weekdays_short' => ['Bhom', 'Ur', 'Dur', 'Tkel', 'Tkem', 'Bhta', 'Bhti'], - 'weekdays_min' => ['Bhom', 'Ur', 'Dur', 'Tkel', 'Tkem', 'Bhta', 'Bhti'], - 'first_day_of_week' => 0, - 'day_of_first_week_of_year' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/mk.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/mk.php deleted file mode 100644 index c5c2415..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/mk.php +++ /dev/null @@ -1,106 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Sashko Todorov - * - Josh Soref - * - François B - * - Serhan Apaydın - * - Borislav Mickov - * - JD Isaacks - * - Tomi Atanasoski - */ -return [ - 'year' => ':count година|:count години', - 'a_year' => 'година|:count години', - 'y' => ':count год.', - 'month' => ':count меÑец|:count меÑеци', - 'a_month' => 'меÑец|:count меÑеци', - 'm' => ':count меÑец|:count меÑеци', - 'week' => ':count Ñедмица|:count Ñедмици', - 'a_week' => 'Ñедмица|:count Ñедмици', - 'w' => ':count Ñедмица|:count Ñедмици', - 'day' => ':count ден|:count дена', - 'a_day' => 'ден|:count дена', - 'd' => ':count ден|:count дена', - 'hour' => ':count чаÑ|:count чаÑа', - 'a_hour' => 'чаÑ|:count чаÑа', - 'h' => ':count чаÑ|:count чаÑа', - 'minute' => ':count минута|:count минути', - 'a_minute' => 'минута|:count минути', - 'min' => ':count мин.', - 'second' => ':count Ñекунда|:count Ñекунди', - 'a_second' => 'неколку Ñекунди|:count Ñекунди', - 's' => ':count Ñек.', - 'ago' => 'пред :time', - 'from_now' => 'поÑле :time', - 'after' => 'по :time', - 'before' => 'пред :time', - 'formats' => [ - 'LT' => 'H:mm', - 'LTS' => 'H:mm:ss', - 'L' => 'D.MM.YYYY', - 'LL' => 'D MMMM YYYY', - 'LLL' => 'D MMMM YYYY H:mm', - 'LLLL' => 'dddd, D MMMM YYYY H:mm', - ], - 'calendar' => [ - 'sameDay' => '[Ð”ÐµÐ½ÐµÑ Ð²Ð¾] LT', - 'nextDay' => '[Утре во] LT', - 'nextWeek' => '[Во] dddd [во] LT', - 'lastDay' => '[Вчера во] LT', - 'lastWeek' => function (\Carbon\CarbonInterface $date) { - switch ($date->dayOfWeek) { - case 0: - case 3: - case 6: - return '[Изминатата] dddd [во] LT'; - default: - return '[Изминатиот] dddd [во] LT'; - } - }, - 'sameElse' => 'L', - ], - 'ordinal' => function ($number) { - $lastDigit = $number % 10; - $last2Digits = $number % 100; - if ($number === 0) { - return $number.'-ев'; - } - if ($last2Digits === 0) { - return $number.'-ен'; - } - if ($last2Digits > 10 && $last2Digits < 20) { - return $number.'-ти'; - } - if ($lastDigit === 1) { - return $number.'-ви'; - } - if ($lastDigit === 2) { - return $number.'-ри'; - } - if ($lastDigit === 7 || $lastDigit === 8) { - return $number.'-ми'; - } - - return $number.'-ти'; - }, - 'months' => ['јануари', 'февруари', 'март', 'април', 'мај', 'јуни', 'јули', 'авгуÑÑ‚', 'Ñептември', 'октомври', 'ноември', 'декември'], - 'months_short' => ['јан', 'фев', 'мар', 'апр', 'мај', 'јун', 'јул', 'авг', 'Ñеп', 'окт', 'ное', 'дек'], - 'weekdays' => ['недела', 'понеделник', 'вторник', 'Ñреда', 'четврток', 'петок', 'Ñабота'], - 'weekdays_short' => ['нед', 'пон', 'вто', 'Ñре', 'чет', 'пет', 'Ñаб'], - 'weekdays_min' => ['нe', 'пo', 'вт', 'ÑÑ€', 'че', 'пе', 'Ña'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 1, - 'list' => [', ', ' и '], - 'meridiem' => ['ÐÐœ', 'ПМ'], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/mk_MK.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/mk_MK.php deleted file mode 100644 index 06ff7d9..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/mk_MK.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/mk.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ml.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ml.php deleted file mode 100644 index a666a46..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ml.php +++ /dev/null @@ -1,74 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - JD Isaacks - */ -return [ - 'year' => ':count വർഷം', - 'a_year' => 'ഒരൠവർഷം|:count വർഷം', - 'month' => ':count മാസം', - 'a_month' => 'ഒരൠമാസം|:count മാസം', - 'week' => ':count ആഴàµà´š', - 'a_week' => 'ഒരാഴàµà´š|:count ആഴàµà´š', - 'day' => ':count ദിവസം', - 'a_day' => 'ഒരൠദിവസം|:count ദിവസം', - 'hour' => ':count മണികàµà´•àµ‚ർ', - 'a_hour' => 'ഒരൠമണികàµà´•àµ‚ർ|:count മണികàµà´•àµ‚ർ', - 'minute' => ':count മിനിറàµà´±àµ', - 'a_minute' => 'ഒരൠമിനിറàµà´±àµ|:count മിനിറàµà´±àµ', - 'second' => ':count സെകàµà´•àµ»à´¡àµ', - 'a_second' => 'അൽപ നിമിഷങàµà´™àµ¾|:count സെകàµà´•àµ»à´¡àµ', - 'ago' => ':time à´®àµàµ»à´ªàµ', - 'from_now' => ':time à´•à´´à´¿à´žàµà´žàµ', - 'diff_yesterday' => 'ഇനàµà´¨à´²àµ†', - 'diff_tomorrow' => 'നാളെ', - 'formats' => [ - 'LT' => 'A h:mm -à´¨àµ', - 'LTS' => 'A h:mm:ss -à´¨àµ', - 'L' => 'DD/MM/YYYY', - 'LL' => 'D MMMM YYYY', - 'LLL' => 'D MMMM YYYY, A h:mm -à´¨àµ', - 'LLLL' => 'dddd, D MMMM YYYY, A h:mm -à´¨àµ', - ], - 'calendar' => [ - 'sameDay' => '[ഇനàµà´¨àµ] LT', - 'nextDay' => '[നാളെ] LT', - 'nextWeek' => 'dddd, LT', - 'lastDay' => '[ഇനàµà´¨à´²àµ†] LT', - 'lastWeek' => '[à´•à´´à´¿à´žàµà´ž] dddd, LT', - 'sameElse' => 'L', - ], - 'meridiem' => function ($hour) { - if ($hour < 4) { - return 'രാതàµà´°à´¿'; - } - if ($hour < 12) { - return 'രാവിലെ'; - } - if ($hour < 17) { - return 'ഉചàµà´š à´•à´´à´¿à´žàµà´žàµ'; - } - if ($hour < 20) { - return 'വൈകàµà´¨àµà´¨àµ‡à´°à´‚'; - } - - return 'രാതàµà´°à´¿'; - }, - 'months' => ['ജനàµà´µà´°à´¿', 'ഫെബàµà´°àµà´µà´°à´¿', 'മാർചàµà´šàµ', 'à´à´ªàµà´°à´¿àµ½', 'മേയàµ', 'ജൂൺ', 'ജൂലൈ', 'à´“à´—à´¸àµà´±àµà´±àµ', 'സെപàµà´±àµà´±à´‚ബർ', 'à´’à´•àµà´Ÿàµ‹à´¬àµ¼', 'നവംബർ', 'ഡിസംബർ'], - 'months_short' => ['ജനàµ.', 'ഫെബàµà´°àµ.', 'മാർ.', 'à´à´ªàµà´°à´¿.', 'മേയàµ', 'ജൂൺ', 'ജൂലൈ.', 'à´“à´—.', 'സെപàµà´±àµà´±.', 'à´’à´•àµà´Ÿàµ‹.', 'നവം.', 'ഡിസം.'], - 'weekdays' => ['ഞായറാഴàµà´š', 'തിങàµà´•à´³à´¾à´´àµà´š', 'ചൊവàµà´µà´¾à´´àµà´š', 'à´¬àµà´§à´¨à´¾à´´àµà´š', 'à´µàµà´¯à´¾à´´à´¾à´´àµà´š', 'വെളàµà´³à´¿à´¯à´¾à´´àµà´š', 'ശനിയാഴàµà´š'], - 'weekdays_short' => ['ഞായർ', 'തിങàµà´•àµ¾', 'ചൊവàµà´µ', 'à´¬àµà´§àµ»', 'à´µàµà´¯à´¾à´´à´‚', 'വെളàµà´³à´¿', 'ശനി'], - 'weekdays_min' => ['à´žà´¾', 'തി', 'ചൊ', 'à´¬àµ', 'à´µàµà´¯à´¾', 'വെ', 'à´¶'], - 'list' => ', ', - 'weekend' => [0, 0], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ml_IN.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ml_IN.php deleted file mode 100644 index 20878dc..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ml_IN.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/ml.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/mn.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/mn.php deleted file mode 100644 index cba67b9..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/mn.php +++ /dev/null @@ -1,98 +0,0 @@ - - * - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - * - * @translator Batmandakh Erdenebileg - */ - -/* - * Authors: - * - Philippe Vaucher - * - Tsutomu Kuroda - * - tjku - * - Max Melentiev - * - Zolzaya Erdenebaatar - * - Tom Hughes - * - Akira Matsuda - * - Christopher Dell - * - Michael Kessler - * - Enrique Vidal - * - Simone Carletti - * - Aaron Patterson - * - Nicolás Hock Isaza - * - Ochirkhuyag - * - Batmandakh - */ -return [ - 'year' => ':count жил', - 'y' => ':count жил', - 'month' => ':count Ñар', - 'm' => ':count Ñар', - 'week' => ':count долоо хоног', - 'w' => ':count долоо хоног', - 'day' => ':count өдөр', - 'd' => ':count өдөр', - 'hour' => ':count цаг', - 'h' => ':countц', - 'minute' => ':count минут', - 'min' => ':countм', - 'second' => ':count Ñекунд', - 's' => ':countÑ', - - 'ago' => ':timeн өмнө', - 'year_ago' => ':count жилий', - 'month_ago' => ':count Ñары', - 'day_ago' => ':count хоногий', - 'hour_ago' => ':count цагий', - 'minute_ago' => ':count минуты', - 'second_ago' => ':count Ñекунды', - - 'from_now' => 'Ð¾Ð´Ð¾Ð¾Ð³Ð¾Ð¾Ñ :time', - 'year_from_now' => ':count жилийн дараа', - 'month_from_now' => ':count Ñарын дараа', - 'day_from_now' => ':count хоногийн дараа', - 'hour_from_now' => ':count цагийн дараа', - 'minute_from_now' => ':count минутын дараа', - 'second_from_now' => ':count Ñекундын дараа', - - // Does it required to make translation for before, after as follows? hmm, I think we've made it with ago and from now keywords already. Anyway, I've included it just in case of undesired action... - 'after' => ':timeн дараа', - 'year_after' => ':count жилий', - 'month_after' => ':count Ñары', - 'day_after' => ':count хоногий', - 'hour_after' => ':count цагий', - 'minute_after' => ':count минуты', - 'second_after' => ':count Ñекунды', - - 'before' => ':timeн өмнө', - 'year_before' => ':count жилий', - 'month_before' => ':count Ñары', - 'day_before' => ':count хоногий', - 'hour_before' => ':count цагий', - 'minute_before' => ':count минуты', - 'second_before' => ':count Ñекунды', - - 'list' => ', ', - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'YYYY-MM-DD', - 'LL' => 'YYYY MMMM DD', - 'LLL' => 'YY-MM-DD, HH:mm', - 'LLLL' => 'YYYY MMMM DD, HH:mm', - ], - 'weekdays' => ['ÐÑм', 'Даваа', 'ÐœÑгмар', 'Лхагва', 'ПүрÑв', 'БааÑан', 'БÑмба'], - 'weekdays_short' => ['ÐÑ', 'Да', 'ÐœÑ', 'Лх', 'Пү', 'Ба', 'БÑ'], - 'weekdays_min' => ['ÐÑ', 'Да', 'ÐœÑ', 'Лх', 'Пү', 'Ба', 'БÑ'], - 'months' => ['1 Ñар', '2 Ñар', '3 Ñар', '4 Ñар', '5 Ñар', '6 Ñар', '7 Ñар', '8 Ñар', '9 Ñар', '10 Ñар', '11 Ñар', '12 Ñар'], - 'months_short' => ['1 Ñар', '2 Ñар', '3 Ñар', '4 Ñар', '5 Ñар', '6 Ñар', '7 Ñар', '8 Ñар', '9 Ñар', '10 Ñар', '11 Ñар', '12 Ñар'], - 'meridiem' => ['өглөө', 'орой'], - 'first_day_of_week' => 1, -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/mn_MN.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/mn_MN.php deleted file mode 100644 index b8fef24..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/mn_MN.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/mn.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/mni.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/mni.php deleted file mode 100644 index b95d475..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/mni.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return require __DIR__.'/mni_IN.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/mni_IN.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/mni_IN.php deleted file mode 100644 index 4126741..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/mni_IN.php +++ /dev/null @@ -1,35 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Red Hat Pune libc-alpha@sourceware.org - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'D/M/YY', - ], - 'months' => ['জানà§à§±à¦¾à¦°à¦¿', 'ফেবà§à¦°à§à§±à¦¾à¦°à¦¿', 'মারà§à¦š', 'à¦à¦ªà§à¦°à¦¿à¦²', 'মে', 'জà§à¦¨', 'জà§à¦²à¦¾à¦‡', 'আগষà§à¦Ÿ', 'সেপà§à¦¤à§‡à¦®à§à¦¬à¦°', 'ওকà§à¦¤à§‹à¦¬à¦°', 'নবেমà§à¦¬à¦°', 'ডিসেমà§à¦¬à¦°'], - 'months_short' => ['জান', 'ফেব', 'মার', 'à¦à¦ªà§à¦°à¦¿', 'মে', 'জà§à¦¨', 'জà§à¦²', 'আগ', 'সেপ', 'ওকà§à¦¤', 'নবে', 'ডিস'], - 'weekdays' => ['নোংমাইজিং', 'নিংথৌকাবা', 'লৈবাকপোকপা', 'য়à§à¦®à¦¶à¦•à§ˆà¦¶à¦¾', 'শগোলশেন', 'ইরাই', 'থাংজ'], - 'weekdays_short' => ['নোং', 'নিং', 'লৈবাক', 'য়à§à¦®', 'শগোল', 'ইরা', 'থাং'], - 'weekdays_min' => ['নোং', 'নিং', 'লৈবাক', 'য়à§à¦®', 'শগোল', 'ইরা', 'থাং'], - 'day_of_first_week_of_year' => 1, - 'meridiem' => ['à¦.ম.', 'প.ম.'], - - 'year' => ':count ইসিং', // less reliable - 'y' => ':count ইসিং', // less reliable - 'a_year' => ':count ইসিং', // less reliable - - 'second' => ':count ꯅꯤꯡꯊꯧꯀꯥꯕ', // less reliable - 's' => ':count ꯅꯤꯡꯊꯧꯀꯥꯕ', // less reliable - 'a_second' => ':count ꯅꯤꯡꯊꯧꯀꯥꯕ', // less reliable -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/mo.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/mo.php deleted file mode 100644 index dd7c8f0..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/mo.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/ro.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/mr.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/mr.php deleted file mode 100644 index 492512b..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/mr.php +++ /dev/null @@ -1,84 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/* - * Authors: - * - Vikram-enyota - */ -return [ - 'year' => ':count वरà¥à¤·', - 'y' => ':count वरà¥à¤·', - 'month' => ':count महिना|:count महिने', - 'm' => ':count महिना|:count महिने', - 'week' => ':count आठवडा|:count आठवडे', - 'w' => ':count आठवडा|:count आठवडे', - 'day' => ':count दिवस', - 'd' => ':count दिवस', - 'hour' => ':count तास', - 'h' => ':count तास', - 'minute' => ':count मिनिटे', - 'min' => ':count मिनिटे', - 'second' => ':count सेकंद', - 's' => ':count सेकंद', - - 'ago' => ':timeपूरà¥à¤µà¥€', - 'from_now' => ':timeमधà¥à¤¯à¥‡', - 'before' => ':timeपूरà¥à¤µà¥€', - 'after' => ':timeनंतर', - - 'diff_yesterday' => 'काल', - 'diff_tomorrow' => 'उदà¥à¤¯à¤¾', - - 'formats' => [ - 'LT' => 'A h:mm वाजता', - 'LTS' => 'A h:mm:ss वाजता', - 'L' => 'DD/MM/YYYY', - 'LL' => 'D MMMM YYYY', - 'LLL' => 'D MMMM YYYY, A h:mm वाजता', - 'LLLL' => 'dddd, D MMMM YYYY, A h:mm वाजता', - ], - - 'calendar' => [ - 'sameDay' => '[आज] LT', - 'nextDay' => '[उदà¥à¤¯à¤¾] LT', - 'nextWeek' => 'dddd, LT', - 'lastDay' => '[काल] LT', - 'lastWeek' => '[मागील] dddd, LT', - 'sameElse' => 'L', - ], - - 'meridiem' => function ($hour) { - if ($hour < 4) { - return 'रातà¥à¤°à¥€'; - } - if ($hour < 10) { - return 'सकाळी'; - } - if ($hour < 17) { - return 'दà¥à¤ªà¤¾à¤°à¥€'; - } - if ($hour < 20) { - return 'सायंकाळी'; - } - - return 'रातà¥à¤°à¥€'; - }, - - 'months' => ['जानेवारी', 'फेबà¥à¤°à¥à¤µà¤¾à¤°à¥€', 'मारà¥à¤š', 'à¤à¤ªà¥à¤°à¤¿à¤²', 'मे', 'जून', 'जà¥à¤²à¥ˆ', 'ऑगसà¥à¤Ÿ', 'सपà¥à¤Ÿà¥‡à¤‚बर', 'ऑकà¥à¤Ÿà¥‹à¤¬à¤°', 'नोवà¥à¤¹à¥‡à¤‚बर', 'डिसेंबर'], - 'months_short' => ['जाने.', 'फेबà¥à¤°à¥.', 'मारà¥à¤š.', 'à¤à¤ªà¥à¤°à¤¿.', 'मे.', 'जून.', 'जà¥à¤²à¥ˆ.', 'ऑग.', 'सपà¥à¤Ÿà¥‡à¤‚.', 'ऑकà¥à¤Ÿà¥‹.', 'नोवà¥à¤¹à¥‡à¤‚.', 'डिसें.'], - 'weekdays' => ['रविवार', 'सोमवार', 'मंगळवार', 'बà¥à¤§à¤µà¤¾à¤°', 'गà¥à¤°à¥‚वार', 'शà¥à¤•à¥à¤°à¤µà¤¾à¤°', 'शनिवार'], - 'weekdays_short' => ['रवि', 'सोम', 'मंगळ', 'बà¥à¤§', 'गà¥à¤°à¥‚', 'शà¥à¤•à¥à¤°', 'शनि'], - 'weekdays_min' => ['र', 'सो', 'मं', 'बà¥', 'गà¥', 'शà¥', 'श'], - 'list' => [', ', ' आणि '], - 'first_day_of_week' => 0, - 'day_of_first_week_of_year' => 1, - 'weekend' => [0, 0], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/mr_IN.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/mr_IN.php deleted file mode 100644 index 556cefa..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/mr_IN.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/mr.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ms.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ms.php deleted file mode 100644 index 7a5c493..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ms.php +++ /dev/null @@ -1,77 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Josh Soref - * - Azri Jamil - * - JD Isaacks - * - Josh Soref - * - Azri Jamil - * - Hariadi Hinta - */ -return [ - 'year' => '{1}setahun|]1,Inf[:count tahun', - 'y' => ':count tahun', - 'month' => '{1}sebulan|]1,Inf[:count bulan', - 'm' => ':count bulan', - 'week' => '{1}seminggu|]1,Inf[:count minggu', - 'w' => ':count minggu', - 'day' => '{1}sehari|]1,Inf[:count hari', - 'd' => ':count hari', - 'hour' => '{1}sejam|]1,Inf[:count jam', - 'h' => ':count jam', - 'minute' => '{1}seminit|]1,Inf[:count minit', - 'min' => ':count minit', - 'second' => '{1}beberapa saat|]1,Inf[:count saat', - 's' => ':count saat', - 'ago' => ':time yang lepas', - 'from_now' => ':time dari sekarang', - 'after' => ':time selepas', - 'before' => ':time sebelum', - 'formats' => [ - 'LT' => 'HH.mm', - 'LTS' => 'HH.mm.ss', - 'L' => 'DD/MM/YYYY', - 'LL' => 'D MMMM YYYY', - 'LLL' => 'D MMMM YYYY [pukul] HH.mm', - 'LLLL' => 'dddd, D MMMM YYYY [pukul] HH.mm', - ], - 'calendar' => [ - 'sameDay' => '[Hari ini pukul] LT', - 'nextDay' => '[Esok pukul] LT', - 'nextWeek' => 'dddd [pukul] LT', - 'lastDay' => '[Kelmarin pukul] LT', - 'lastWeek' => 'dddd [lepas pukul] LT', - 'sameElse' => 'L', - ], - 'meridiem' => function ($hour) { - if ($hour < 11) { - return 'pagi'; - } - if ($hour < 15) { - return 'tengahari'; - } - if ($hour < 19) { - return 'petang'; - } - - return 'malam'; - }, - 'months' => ['Januari', 'Februari', 'Mac', 'April', 'Mei', 'Jun', 'Julai', 'Ogos', 'September', 'Oktober', 'November', 'Disember'], - 'months_short' => ['Jan', 'Feb', 'Mac', 'Apr', 'Mei', 'Jun', 'Jul', 'Ogs', 'Sep', 'Okt', 'Nov', 'Dis'], - 'weekdays' => ['Ahad', 'Isnin', 'Selasa', 'Rabu', 'Khamis', 'Jumaat', 'Sabtu'], - 'weekdays_short' => ['Ahd', 'Isn', 'Sel', 'Rab', 'Kha', 'Jum', 'Sab'], - 'weekdays_min' => ['Ah', 'Is', 'Sl', 'Rb', 'Km', 'Jm', 'Sb'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 1, - 'list' => [', ', ' dan '], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ms_BN.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ms_BN.php deleted file mode 100644 index ea2b453..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ms_BN.php +++ /dev/null @@ -1,21 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/ms.php', [ - 'formats' => [ - 'LT' => 'h:mm a', - 'LTS' => 'h:mm:ss a', - 'L' => 'D/MM/yy', - 'LL' => 'D MMM YYYY', - 'LLL' => 'D MMMM YYYY, h:mm a', - 'LLLL' => 'dd MMMM YYYY, h:mm a', - ], - 'meridiem' => ['a', 'p'], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ms_MY.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ms_MY.php deleted file mode 100644 index 26fa640..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ms_MY.php +++ /dev/null @@ -1,18 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Josh Soref - * - Azri Jamil - * - JD Isaacks - */ -return require __DIR__.'/ms.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ms_SG.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ms_SG.php deleted file mode 100644 index 097a168..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ms_SG.php +++ /dev/null @@ -1,21 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/ms.php', [ - 'formats' => [ - 'LT' => 'h:mm a', - 'LTS' => 'h:mm:ss a', - 'L' => 'D/MM/yy', - 'LL' => 'D MMM YYYY', - 'LLL' => 'D MMMM YYYY, h:mm a', - 'LLLL' => 'dddd, D MMMM YYYY, h:mm a', - ], - 'meridiem' => ['a', 'p'], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/mt.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/mt.php deleted file mode 100644 index 63a11d4..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/mt.php +++ /dev/null @@ -1,58 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Alessandro Maruccia - */ -return [ - 'year' => 'sena|:count sni|:count sni|:count sni', - 'y' => 'sa sena|:count snin|:count snin|:count snin', - 'month' => 'xahar|:count xhur|:count xhur|:count xhur', - 'm' => ':count xahar|:count xhur|:count xhur|:count xhur', - 'week' => 'gimgħa|:count Ä¡imgħat|:count Ä¡imgħat|:count Ä¡imgħat', - 'w' => 'Ä¡imgħa|:count Ä¡imgħat|:count Ä¡imgħat|:count Ä¡imgħat', - 'day' => 'Ä¡urnata|:count Ä¡ranet|:count Ä¡ranet|:count Ä¡ranet', - 'd' => 'Ä¡urnata|:count Ä¡ranet|:count Ä¡ranet|:count Ä¡ranet', - 'hour' => 'siegħa|:count siegħat|:count siegħat|:count siegħat', - 'h' => 'siegħa|:count sigħat|:count sigħat|:count sigħat', - 'minute' => 'minuta|:count minuti|:count minuti|:count minuti', - 'min' => 'min.|:count min.|:count min.|:count min.', - 'second' => 'ftit sekondi|:count sekondi|:count sekondi|:count sekondi', - 's' => 'sek.|:count sek.|:count sek.|:count sek.', - 'ago' => ':time ilu', - 'from_now' => 'f’ :time', - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD/MM/YYYY', - 'LL' => 'D MMMM YYYY', - 'LLL' => 'D MMMM YYYY HH:mm', - 'LLLL' => 'dddd, D MMMM YYYY HH:mm', - ], - 'calendar' => [ - 'sameDay' => '[Illum fil-]LT', - 'nextDay' => '[Għada fil-]LT', - 'nextWeek' => 'dddd [fil-]LT', - 'lastDay' => '[Il-bieraħ fil-]LT', - 'lastWeek' => 'dddd [li għadda] [fil-]LT', - 'sameElse' => 'L', - ], - 'ordinal' => ':numberº', - 'months' => ['Jannar', 'Frar', 'Marzu', 'April', 'Mejju', 'Ä unju', 'Lulju', 'Awwissu', 'Settembru', 'Ottubru', 'Novembru', 'DiÄ‹embru'], - 'months_short' => ['Jan', 'Fra', 'Mar', 'Apr', 'Mej', 'Ä un', 'Lul', 'Aww', 'Set', 'Ott', 'Nov', 'DiÄ‹'], - 'weekdays' => ['Il-Ħadd', 'It-Tnejn', 'It-Tlieta', 'L-Erbgħa', 'Il-Ħamis', 'Il-Ä imgħa', 'Is-Sibt'], - 'weekdays_short' => ['Ħad', 'Tne', 'Tli', 'Erb', 'Ħam', 'Ä im', 'Sib'], - 'weekdays_min' => ['Ħa', 'Tn', 'Tl', 'Er', 'Ħa', 'Ä i', 'Si'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 4, - 'list' => [', ', ' u '], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/mt_MT.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/mt_MT.php deleted file mode 100644 index 6ec2b33..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/mt_MT.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/mt.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/mua.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/mua.php deleted file mode 100644 index 8f1f9dc..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/mua.php +++ /dev/null @@ -1,27 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'meridiem' => ['comme', 'lilli'], - 'weekdays' => ['Com’yakke', 'ComlaaÉ—ii', 'ComzyiiÉ—ii', 'Comkolle', 'ComkaldÇÉ“lii', 'Comgaisuu', 'ComzyeÉ“suu'], - 'weekdays_short' => ['Cya', 'Cla', 'Czi', 'Cko', 'Cka', 'Cga', 'Cze'], - 'weekdays_min' => ['Cya', 'Cla', 'Czi', 'Cko', 'Cka', 'Cga', 'Cze'], - 'months' => ['FÄ©i Loo', 'CokcwaklaÅ‹ne', 'Cokcwaklii', 'FÄ©i Marfoo', 'MadÇÇuutÇbijaÅ‹', 'MamÇÅ‹gwãafahbii', 'MamÇÅ‹gwãalii', 'MadÇmbii', 'FÄ©i DÇÉ“lii', 'FÄ©i MundaÅ‹', 'FÄ©i Gwahlle', 'FÄ©i Yuru'], - 'months_short' => ['FLO', 'CLA', 'CKI', 'FMF', 'MAD', 'MBI', 'MLI', 'MAM', 'FDE', 'FMU', 'FGW', 'FYU'], - 'first_day_of_week' => 1, - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'D/M/YYYY', - 'LL' => 'D MMM YYYY', - 'LLL' => 'D MMMM YYYY HH:mm', - 'LLLL' => 'dddd D MMMM YYYY HH:mm', - ], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/my.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/my.php deleted file mode 100644 index ce43800..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/my.php +++ /dev/null @@ -1,68 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/* - * Authors: - * - Josh Soref - * - JD Isaacks - * - Nay Lin Aung - */ -return [ - 'year' => '{1}á€á€…်နှစ်|]1,Inf[:count နှစ်', - 'y' => ':count နှစ်', - 'month' => '{1}á€á€…်လ|]1,Inf[:count လ', - 'm' => ':count လ', - 'week' => ':count ပá€á€º', - 'w' => ':count ပá€á€º', - 'day' => '{1}á€á€…်ရက်|]1,Inf[:count ရက်', - 'd' => ':count ရက်', - 'hour' => '{1}á€á€…်နာရီ|]1,Inf[:count နာရီ', - 'h' => ':count နာရီ', - 'minute' => '{1}á€á€…်မိနစ်|]1,Inf[:count မိနစ်', - 'min' => ':count မိနစ်', - 'second' => '{1}စက္ကန်.အနည်းငယ်|]1,Inf[:count စက္ကန့်', - 's' => ':count စက္ကန့်', - 'ago' => 'လွန်á€á€²á€·á€žá€±á€¬ :time က', - 'from_now' => 'လာမည့် :time မှာ', - 'after' => ':time ကြာပြီးနောက်', - 'before' => ':time မá€á€­á€¯á€„်á€á€„်', - 'diff_now' => 'အá€á€¯á€œá€±á€¸á€á€„်', - 'diff_yesterday' => 'မနေ့က', - 'diff_tomorrow' => 'မနက်ဖြန်', - 'diff_before_yesterday' => 'á€á€™á€¼á€”်နေ့က', - 'diff_after_tomorrow' => 'á€á€˜á€€á€ºá€á€«', - 'period_recurrences' => ':count ကြိမ်', - 'formats' => [ - 'LT' => 'Oh:Om A', - 'LTS' => 'Oh:Om:Os A', - 'L' => 'OD/OM/OY', - 'LL' => 'OD MMMM OY', - 'LLL' => 'OD MMMM OY Oh:Om A', - 'LLLL' => 'dddd OD MMMM OY Oh:Om A', - ], - 'calendar' => [ - 'sameDay' => '[ယနေ.] LT [မှာ]', - 'nextDay' => '[မနက်ဖြန်] LT [မှာ]', - 'nextWeek' => 'dddd LT [မှာ]', - 'lastDay' => '[မနေ.က] LT [မှာ]', - 'lastWeek' => '[ပြီးá€á€²á€·á€žá€±á€¬] dddd LT [မှာ]', - 'sameElse' => 'L', - ], - 'months' => ['ဇန်နá€á€«á€›á€®', 'ဖေဖော်á€á€«á€›á€®', 'မá€á€º', 'ဧပြီ', 'မေ', 'ဇွန်', 'ဇူလိုင်', 'သြဂုá€á€º', 'စက်á€á€„်ဘာ', 'အောက်á€á€­á€¯á€˜á€¬', 'နိုá€á€„်ဘာ', 'ဒီဇင်ဘာ'], - 'months_short' => ['ဇန်', 'ဖေ', 'မá€á€º', 'ပြီ', 'မေ', 'ဇွန်', 'လိုင်', 'သြ', 'စက်', 'အောက်', 'နို', 'ဒီ'], - 'weekdays' => ['á€á€”င်္ဂနွေ', 'á€á€”င်္လာ', 'အင်္ဂါ', 'ဗုဒ္ဓဟူး', 'ကြာသပá€á€±á€¸', 'သောကြာ', 'စနေ'], - 'weekdays_short' => ['နွေ', 'လာ', 'ဂါ', 'ဟူး', 'ကြာ', 'သော', 'နေ'], - 'weekdays_min' => ['နွေ', 'လာ', 'ဂါ', 'ဟူး', 'ကြာ', 'သော', 'နေ'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 4, - 'alt_numbers' => ['á€á€', 'á€á', 'á€á‚', 'á€áƒ', 'á€á„', 'á€á…', 'á€á†', 'á€á‡', 'á€áˆ', 'á€á‰', 'áá€', 'áá', 'áá‚', 'ááƒ', 'áá„', 'áá…', 'áá†', 'áá‡', 'ááˆ', 'áá‰', 'á‚á€', 'á‚á', 'á‚á‚', 'á‚áƒ', 'á‚á„', 'á‚á…', 'á‚á†', 'á‚á‡', 'á‚áˆ', 'á‚á‰', 'áƒá€', 'áƒá', 'áƒá‚', 'áƒáƒ', 'áƒá„', 'áƒá…', 'áƒá†', 'áƒá‡', 'áƒáˆ', 'áƒá‰', 'á„á€', 'á„á', 'á„á‚', 'á„áƒ', 'á„á„', 'á„á…', 'á„á†', 'á„á‡', 'á„áˆ', 'á„á‰', 'á…á€', 'á…á', 'á…á‚', 'á…áƒ', 'á…á„', 'á…á…', 'á…á†', 'á…á‡', 'á…áˆ', 'á…á‰', 'á†á€', 'á†á', 'á†á‚', 'á†áƒ', 'á†á„', 'á†á…', 'á†á†', 'á†á‡', 'á†áˆ', 'á†á‰', 'á‡á€', 'á‡á', 'á‡á‚', 'á‡áƒ', 'á‡á„', 'á‡á…', 'á‡á†', 'á‡á‡', 'á‡áˆ', 'á‡á‰', 'áˆá€', 'áˆá', 'áˆá‚', 'áˆáƒ', 'áˆá„', 'áˆá…', 'áˆá†', 'áˆá‡', 'áˆáˆ', 'áˆá‰', 'á‰á€', 'á‰á', 'á‰á‚', 'á‰áƒ', 'á‰á„', 'á‰á…', 'á‰á†', 'á‰á‡', 'á‰áˆ', 'á‰á‰'], - 'meridiem' => ['နံနက်', 'ညနေ'], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/my_MM.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/my_MM.php deleted file mode 100644 index 1f27cca..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/my_MM.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/my.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/mzn.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/mzn.php deleted file mode 100644 index 6ad3604..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/mzn.php +++ /dev/null @@ -1,24 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/fa.php', [ - 'months' => ['ژانویه', 'Ùوریه', 'مارس', 'آوریل', 'مه', 'ژوئن', 'ژوئیه', 'اوت', 'سپتامبر', 'اکتبر', 'نوامبر', 'دسامبر'], - 'months_short' => ['ژانویه', 'Ùوریه', 'مارس', 'آوریل', 'مه', 'ژوئن', 'ژوئیه', 'اوت', 'سپتامبر', 'اکتبر', 'نوامبر', 'دسامبر'], - 'first_day_of_week' => 6, - 'weekend' => [5, 5], - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'YYYY-MM-dd', - 'LL' => 'YYYY MMM D', - 'LLL' => 'YYYY MMMM D HH:mm', - 'LLLL' => 'YYYY MMMM D, dddd HH:mm', - ], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/nan.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/nan.php deleted file mode 100644 index 1fc1ec7..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/nan.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return require __DIR__.'/nan_TW.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/nan_TW.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/nan_TW.php deleted file mode 100644 index 9ef3088..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/nan_TW.php +++ /dev/null @@ -1,55 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - bug-glibc-locales@gnu.org - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'YYYYå¹´MM月DDæ—¥', - ], - 'months' => ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', 'ä¹æœˆ', 'å月', 'å一月', 'å二月'], - 'months_short' => [' 1月', ' 2月', ' 3月', ' 4月', ' 5月', ' 6月', ' 7月', ' 8月', ' 9月', '10月', '11月', '12月'], - 'weekdays' => ['禮拜日', '禮拜一', '禮拜二', '禮拜三', '禮拜四', '禮拜五', '禮拜六'], - 'weekdays_short' => ['æ—¥', '一', '二', '三', 'å››', '五', 'å…­'], - 'weekdays_min' => ['æ—¥', '一', '二', '三', 'å››', '五', 'å…­'], - 'day_of_first_week_of_year' => 1, - 'meridiem' => ['頂晡', '下晡'], - - 'year' => ':count å¹´', - 'y' => ':count å¹´', - 'a_year' => ':count å¹´', - - 'month' => ':count goeÌh', - 'm' => ':count goeÌh', - 'a_month' => ':count goeÌh', - - 'week' => ':count lé-pài', - 'w' => ':count lé-pài', - 'a_week' => ':count lé-pài', - - 'day' => ':count æ—¥', - 'd' => ':count æ—¥', - 'a_day' => ':count æ—¥', - - 'hour' => ':count tiám-cheng', - 'h' => ':count tiám-cheng', - 'a_hour' => ':count tiám-cheng', - - 'minute' => ':count Hun-cheng', - 'min' => ':count Hun-cheng', - 'a_minute' => ':count Hun-cheng', - - 'second' => ':count Bió', - 's' => ':count Bió', - 'a_second' => ':count Bió', -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/nan_TW@latin.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/nan_TW@latin.php deleted file mode 100644 index d83e26b..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/nan_TW@latin.php +++ /dev/null @@ -1,27 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Arne Goetje arne@canonical.com - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'YYYY-MM-DD', - ], - 'months' => ['1goeÌh', '2goeÌh', '3goeÌh', '4goeÌh', '5goeÌh', '6goeÌh', '7goeÌh', '8goeÌh', '9goeÌh', '10goeÌh', '11goeÌh', '12goeÌh'], - 'months_short' => ['1g', '2g', '3g', '4g', '5g', '6g', '7g', '8g', '9g', '10g', '11g', '12g'], - 'weekdays' => ['lé-pài-jiÌt', 'pài-it', 'pài-jÄ«', 'pài-saâ¿', 'pài-sì', 'pài-gÅ͘', 'pài-laÌk'], - 'weekdays_short' => ['lp', 'p1', 'p2', 'p3', 'p4', 'p5', 'p6'], - 'weekdays_min' => ['lp', 'p1', 'p2', 'p3', 'p4', 'p5', 'p6'], - 'day_of_first_week_of_year' => 1, - 'meridiem' => ['téng-po͘', 'Ä“-po͘'], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/naq.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/naq.php deleted file mode 100644 index 614ced4..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/naq.php +++ /dev/null @@ -1,51 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'meridiem' => ['Çgoagas', 'ǃuias'], - 'weekdays' => ['Sontaxtsees', 'Mantaxtsees', 'Denstaxtsees', 'Wunstaxtsees', 'Dondertaxtsees', 'Fraitaxtsees', 'Satertaxtsees'], - 'weekdays_short' => ['Son', 'Ma', 'De', 'Wu', 'Do', 'Fr', 'Sat'], - 'weekdays_min' => ['Son', 'Ma', 'De', 'Wu', 'Do', 'Fr', 'Sat'], - 'months' => ['ǃKhanni', 'ǃKhanÇ€gôab', 'Ç€KhuuÇkhâb', 'ǃHôaÇ‚khaib', 'ǃKhaitsâb', 'GamaÇ€aeb', 'Ç‚Khoesaob', 'AoÇkhuumûÇkhâb', 'TaraÇ€khuumûÇkhâb', 'Ç‚NûÇnâiseb', 'Ç€HooÇ‚gaeb', 'HôasoreÇkhâb'], - 'months_short' => ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], - 'first_day_of_week' => 1, - 'formats' => [ - 'LT' => 'h:mm a', - 'LTS' => 'h:mm:ss a', - 'L' => 'DD/MM/YYYY', - 'LL' => 'D MMM YYYY', - 'LLL' => 'D MMMM YYYY h:mm a', - 'LLLL' => 'dddd, D MMMM YYYY h:mm a', - ], - - 'year' => ':count kurigu', - 'y' => ':count kurigu', - 'a_year' => ':count kurigu', - - 'month' => ':count Çaub', // less reliable - 'm' => ':count Çaub', // less reliable - 'a_month' => ':count Çaub', // less reliable - - 'week' => ':count hû', // less reliable - 'w' => ':count hû', // less reliable - 'a_week' => ':count hû', // less reliable - - 'day' => ':count Ç€hobas', // less reliable - 'd' => ':count Ç€hobas', // less reliable - 'a_day' => ':count Ç€hobas', // less reliable - - 'hour' => ':count Ç‚gaes', // less reliable - 'h' => ':count Ç‚gaes', // less reliable - 'a_hour' => ':count Ç‚gaes', // less reliable - - 'minute' => ':count minutga', // less reliable - 'min' => ':count minutga', // less reliable - 'a_minute' => ':count minutga', // less reliable -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/nb.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/nb.php deleted file mode 100644 index 172de55..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/nb.php +++ /dev/null @@ -1,80 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - François B - * - Alexander TømmerÃ¥s - * - Sigurd Gartmann - * - JD Isaacks - */ -return [ - 'year' => ':count Ã¥r|:count Ã¥r', - 'a_year' => 'ett Ã¥r|:count Ã¥r', - 'y' => ':count Ã¥r|:count Ã¥r', - 'month' => ':count mÃ¥ned|:count mÃ¥neder', - 'a_month' => 'en mÃ¥ned|:count mÃ¥neder', - 'm' => ':count md.', - 'week' => ':count uke|:count uker', - 'a_week' => 'en uke|:count uker', - 'w' => ':count u.', - 'day' => ':count dag|:count dager', - 'a_day' => 'en dag|:count dager', - 'd' => ':count d.', - 'hour' => ':count time|:count timer', - 'a_hour' => 'en time|:count timer', - 'h' => ':count t', - 'minute' => ':count minutt|:count minutter', - 'a_minute' => 'ett minutt|:count minutter', - 'min' => ':count min', - 'second' => ':count sekund|:count sekunder', - 'a_second' => 'noen sekunder|:count sekunder', - 's' => ':count sek', - 'ago' => ':time siden', - 'from_now' => 'om :time', - 'after' => ':time etter', - 'before' => ':time før', - 'diff_now' => 'akkurat nÃ¥', - 'diff_yesterday' => 'i gÃ¥r', - 'diff_tomorrow' => 'i morgen', - 'diff_before_yesterday' => 'i forgÃ¥rs', - 'diff_after_tomorrow' => 'i overmorgen', - 'period_recurrences' => 'en gang|:count ganger', - 'period_interval' => 'hver :interval', - 'period_start_date' => 'fra :date', - 'period_end_date' => 'til :date', - 'months' => ['januar', 'februar', 'mars', 'april', 'mai', 'juni', 'juli', 'august', 'september', 'oktober', 'november', 'desember'], - 'months_short' => ['jan', 'feb', 'mar', 'apr', 'mai', 'jun', 'jul', 'aug', 'sep', 'okt', 'nov', 'des'], - 'weekdays' => ['søndag', 'mandag', 'tirsdag', 'onsdag', 'torsdag', 'fredag', 'lørdag'], - 'weekdays_short' => ['søn', 'man', 'tir', 'ons', 'tor', 'fre', 'lør'], - 'weekdays_min' => ['sø', 'ma', 'ti', 'on', 'to', 'fr', 'lø'], - 'ordinal' => ':number.', - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 4, - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD.MM.YYYY', - 'LL' => 'D. MMMM YYYY', - 'LLL' => 'D. MMMM YYYY [kl.] HH:mm', - 'LLLL' => 'dddd D. MMMM YYYY [kl.] HH:mm', - ], - 'calendar' => [ - 'sameDay' => '[i dag kl.] LT', - 'nextDay' => '[i morgen kl.] LT', - 'nextWeek' => 'dddd [kl.] LT', - 'lastDay' => '[i gÃ¥r kl.] LT', - 'lastWeek' => '[forrige] dddd [kl.] LT', - 'sameElse' => 'L', - ], - 'list' => [', ', ' og '], - 'meridiem' => ['a.m.', 'p.m.'], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/nb_NO.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/nb_NO.php deleted file mode 100644 index bd643a8..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/nb_NO.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/nb.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/nb_SJ.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/nb_SJ.php deleted file mode 100644 index 93cbaef..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/nb_SJ.php +++ /dev/null @@ -1,17 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/nb.php', [ - 'formats' => [ - 'LL' => 'D. MMM YYYY', - 'LLL' => 'D. MMMM YYYY, HH:mm', - 'LLLL' => 'dddd D. MMMM YYYY, HH:mm', - ], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/nd.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/nd.php deleted file mode 100644 index d6fdaad..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/nd.php +++ /dev/null @@ -1,53 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'weekdays' => ['Sonto', 'Mvulo', 'Sibili', 'Sithathu', 'Sine', 'Sihlanu', 'Mgqibelo'], - 'weekdays_short' => ['Son', 'Mvu', 'Sib', 'Sit', 'Sin', 'Sih', 'Mgq'], - 'weekdays_min' => ['Son', 'Mvu', 'Sib', 'Sit', 'Sin', 'Sih', 'Mgq'], - 'months' => ['Zibandlela', 'Nhlolanja', 'Mbimbitho', 'Mabasa', 'Nkwenkwezi', 'Nhlangula', 'Ntulikazi', 'Ncwabakazi', 'Mpandula', 'Mfumfu', 'Lwezi', 'Mpalakazi'], - 'months_short' => ['Zib', 'Nhlo', 'Mbi', 'Mab', 'Nkw', 'Nhla', 'Ntu', 'Ncw', 'Mpan', 'Mfu', 'Lwe', 'Mpal'], - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD/MM/YYYY', - 'LL' => 'D MMM YYYY', - 'LLL' => 'D MMMM YYYY HH:mm', - 'LLLL' => 'dddd, D MMMM YYYY HH:mm', - ], - - 'year' => 'okweminyaka engu-:count', // less reliable - 'y' => 'okweminyaka engu-:count', // less reliable - 'a_year' => 'okweminyaka engu-:count', // less reliable - - 'month' => 'inyanga ezingu-:count', - 'm' => 'inyanga ezingu-:count', - 'a_month' => 'inyanga ezingu-:count', - - 'week' => 'amaviki angu-:count', - 'w' => 'amaviki angu-:count', - 'a_week' => 'amaviki angu-:count', - - 'day' => 'kwamalanga angu-:count', - 'd' => 'kwamalanga angu-:count', - 'a_day' => 'kwamalanga angu-:count', - - 'hour' => 'amahola angu-:count', - 'h' => 'amahola angu-:count', - 'a_hour' => 'amahola angu-:count', - - 'minute' => 'imizuzu engu-:count', - 'min' => 'imizuzu engu-:count', - 'a_minute' => 'imizuzu engu-:count', - - 'second' => 'imizuzwana engu-:count', - 's' => 'imizuzwana engu-:count', - 'a_second' => 'imizuzwana engu-:count', -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/nds.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/nds.php deleted file mode 100644 index 7832106..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/nds.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return require __DIR__.'/nds_DE.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/nds_DE.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/nds_DE.php deleted file mode 100644 index 3a87cdd..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/nds_DE.php +++ /dev/null @@ -1,55 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - information from Kenneth Christiansen Kenneth Christiansen, Pablo Saratxaga kenneth@gnu.org, pablo@mandrakesoft.com - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'DD.MM.YYYY', - ], - 'months' => ['Jannuaar', 'Feberwaar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember'], - 'months_short' => ['Jan', 'Feb', 'Mär', 'Apr', 'Mai', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dez'], - 'weekdays' => ['Sünndag', 'Maandag', 'Dingsdag', 'Middeweek', 'Dunnersdag', 'Freedag', 'Sünnavend'], - 'weekdays_short' => ['Sdag', 'Maan', 'Ding', 'Migg', 'Dunn', 'Free', 'Svd.'], - 'weekdays_min' => ['Sdag', 'Maan', 'Ding', 'Migg', 'Dunn', 'Free', 'Svd.'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 4, - - 'year' => ':count Johr', - 'y' => ':count Johr', - 'a_year' => ':count Johr', - - 'month' => ':count Maand', - 'm' => ':count Maand', - 'a_month' => ':count Maand', - - 'week' => ':count Week', - 'w' => ':count Week', - 'a_week' => ':count Week', - - 'day' => ':count Dag', - 'd' => ':count Dag', - 'a_day' => ':count Dag', - - 'hour' => ':count Stünn', - 'h' => ':count Stünn', - 'a_hour' => ':count Stünn', - - 'minute' => ':count Minuut', - 'min' => ':count Minuut', - 'a_minute' => ':count Minuut', - - 'second' => ':count sekunn', - 's' => ':count sekunn', - 'a_second' => ':count sekunn', -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/nds_NL.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/nds_NL.php deleted file mode 100644 index 0078398..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/nds_NL.php +++ /dev/null @@ -1,27 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - information from Kenneth Christiansen Kenneth Christiansen, Pablo Saratxaga kenneth@gnu.org, pablo@mandrakesoft.com - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'DD.MM.YYYY', - ], - 'months' => ['Jaunuwoa', 'Februwoa', 'Moaz', 'Aprell', 'Mai', 'Juni', 'Juli', 'August', 'Septamba', 'Oktoba', 'Nowamba', 'Dezamba'], - 'months_short' => ['Jan', 'Feb', 'Moz', 'Apr', 'Mai', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Now', 'Dez'], - 'weekdays' => ['Sinndag', 'Mondag', 'Dingsdag', 'Meddwäakj', 'Donnadag', 'Friedag', 'Sinnowend'], - 'weekdays_short' => ['Sdg', 'Mdg', 'Dsg', 'Mwk', 'Ddg', 'Fdg', 'Swd'], - 'weekdays_min' => ['Sdg', 'Mdg', 'Dsg', 'Mwk', 'Ddg', 'Fdg', 'Swd'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 4, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ne.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ne.php deleted file mode 100644 index 3b995bb..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ne.php +++ /dev/null @@ -1,80 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - nootanghimire - * - Josh Soref - * - Nj Subedi - * - JD Isaacks - */ -return [ - 'year' => 'à¤à¤• बरà¥à¤·|:count बरà¥à¤·', - 'y' => ':count वरà¥à¤·', - 'month' => 'à¤à¤• महिना|:count महिना', - 'm' => ':count महिना', - 'week' => ':count हपà¥à¤¤à¤¾', - 'w' => ':count हपà¥à¤¤à¤¾', - 'day' => 'à¤à¤• दिन|:count दिन', - 'd' => ':count दिन', - 'hour' => 'à¤à¤• घणà¥à¤Ÿà¤¾|:count घणà¥à¤Ÿà¤¾', - 'h' => ':count घणà¥à¤Ÿà¤¾', - 'minute' => 'à¤à¤• मिनेट|:count मिनेट', - 'min' => ':count मिनेट', - 'second' => 'केही कà¥à¤·à¤£|:count सेकेणà¥à¤¡', - 's' => ':count सेकेणà¥à¤¡', - 'ago' => ':time अगाडि', - 'from_now' => ':timeमा', - 'after' => ':time पछि', - 'before' => ':time अघि', - 'diff_yesterday' => 'हिजो', - 'diff_tomorrow' => 'भोलि', - 'formats' => [ - 'LT' => 'Aको h:mm बजे', - 'LTS' => 'Aको h:mm:ss बजे', - 'L' => 'DD/MM/YYYY', - 'LL' => 'D MMMM YYYY', - 'LLL' => 'D MMMM YYYY, Aको h:mm बजे', - 'LLLL' => 'dddd, D MMMM YYYY, Aको h:mm बजे', - ], - 'calendar' => [ - 'sameDay' => '[आज] LT', - 'nextDay' => '[भोलि] LT', - 'nextWeek' => '[आउà¤à¤¦à¥‹] dddd[,] LT', - 'lastDay' => '[हिजो] LT', - 'lastWeek' => '[गà¤à¤•à¥‹] dddd[,] LT', - 'sameElse' => 'L', - ], - 'meridiem' => function ($hour) { - if ($hour < 3) { - return 'राति'; - } - if ($hour < 12) { - return 'बिहान'; - } - if ($hour < 16) { - return 'दिउà¤à¤¸à¥‹'; - } - if ($hour < 20) { - return 'साà¤à¤'; - } - - return 'राति'; - }, - 'months' => ['जनवरी', 'फेबà¥à¤°à¥à¤µà¤°à¥€', 'मारà¥à¤š', 'अपà¥à¤°à¤¿à¤²', 'मई', 'जà¥à¤¨', 'जà¥à¤²à¤¾à¤ˆ', 'अगषà¥à¤Ÿ', 'सेपà¥à¤Ÿà¥‡à¤®à¥à¤¬à¤°', 'अकà¥à¤Ÿà¥‹à¤¬à¤°', 'नोभेमà¥à¤¬à¤°', 'डिसेमà¥à¤¬à¤°'], - 'months_short' => ['जन.', 'फेबà¥à¤°à¥.', 'मारà¥à¤š', 'अपà¥à¤°à¤¿.', 'मई', 'जà¥à¤¨', 'जà¥à¤²à¤¾à¤ˆ.', 'अग.', 'सेपà¥à¤Ÿ.', 'अकà¥à¤Ÿà¥‹.', 'नोभे.', 'डिसे.'], - 'weekdays' => ['आइतबार', 'सोमबार', 'मङà¥à¤—लबार', 'बà¥à¤§à¤¬à¤¾à¤°', 'बिहिबार', 'शà¥à¤•à¥à¤°à¤¬à¤¾à¤°', 'शनिबार'], - 'weekdays_short' => ['आइत.', 'सोम.', 'मङà¥à¤—ल.', 'बà¥à¤§.', 'बिहि.', 'शà¥à¤•à¥à¤°.', 'शनि.'], - 'weekdays_min' => ['आ.', 'सो.', 'मं.', 'बà¥.', 'बि.', 'शà¥.', 'श.'], - 'list' => [', ', ' र '], - 'first_day_of_week' => 0, - 'day_of_first_week_of_year' => 1, -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ne_IN.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ne_IN.php deleted file mode 100644 index 2583bcf..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ne_IN.php +++ /dev/null @@ -1,24 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/ne.php', [ - 'formats' => [ - 'LT' => 'h:mm a', - 'LTS' => 'h:mm:ss a', - 'L' => 'yy/M/d', - 'LL' => 'YYYY MMM D', - 'LLL' => 'YYYY MMMM D, h:mm a', - 'LLLL' => 'YYYY MMMM D, dddd, h:mm a', - ], - 'months' => ['जनवरी', 'फेबà¥à¤°à¥à¤…री', 'मारà¥à¤š', 'अपà¥à¤°à¤¿à¤²', 'मे', 'जà¥à¤¨', 'जà¥à¤²à¤¾à¤ˆ', 'अगसà¥à¤Ÿ', 'सेपà¥à¤Ÿà¥‡à¤®à¥à¤¬à¤°', 'अकà¥à¤Ÿà¥‹à¤¬à¤°', 'नोभेमà¥à¤¬à¤°', 'डिसेमà¥à¤¬à¤°'], - 'months_short' => ['जनवरी', 'फेबà¥à¤°à¥à¤…री', 'मारà¥à¤š', 'अपà¥à¤°à¤¿à¤²', 'मे', 'जà¥à¤¨', 'जà¥à¤²à¤¾à¤ˆ', 'अगसà¥à¤Ÿ', 'सेपà¥à¤Ÿà¥‡à¤®à¥à¤¬à¤°', 'अकà¥à¤Ÿà¥‹à¤¬à¤°', 'नोभेमà¥à¤¬à¤°', 'डिसेमà¥à¤¬à¤°'], - 'weekend' => [0, 0], - 'meridiem' => ['पूरà¥à¤µà¤¾à¤¹à¥à¤¨', 'अपराहà¥à¤¨'], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ne_NP.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ne_NP.php deleted file mode 100644 index 38caa1e..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ne_NP.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/ne.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/nhn.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/nhn.php deleted file mode 100644 index dd17acb..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/nhn.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return require __DIR__.'/nhn_MX.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/nhn_MX.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/nhn_MX.php deleted file mode 100644 index 326f895..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/nhn_MX.php +++ /dev/null @@ -1,50 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - RAP libc-alpha@sourceware.org - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'DD/MM/YY', - ], - 'months' => ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], - 'months_short' => ['ene', 'feb', 'mar', 'abr', 'may', 'jun', 'jul', 'ago', 'sep', 'oct', 'nov', 'dic'], - 'weekdays' => ['teoilhuitl', 'ceilhuitl', 'omeilhuitl', 'yeilhuitl', 'nahuilhuitl', 'macuililhuitl', 'chicuaceilhuitl'], - 'weekdays_short' => ['teo', 'cei', 'ome', 'yei', 'nau', 'mac', 'chi'], - 'weekdays_min' => ['teo', 'cei', 'ome', 'yei', 'nau', 'mac', 'chi'], - 'day_of_first_week_of_year' => 1, - - 'month' => ':count metztli', // less reliable - 'm' => ':count metztli', // less reliable - 'a_month' => ':count metztli', // less reliable - - 'week' => ':count tonalli', // less reliable - 'w' => ':count tonalli', // less reliable - 'a_week' => ':count tonalli', // less reliable - - 'day' => ':count tonatih', // less reliable - 'd' => ':count tonatih', // less reliable - 'a_day' => ':count tonatih', // less reliable - - 'minute' => ':count toltecayotl', // less reliable - 'min' => ':count toltecayotl', // less reliable - 'a_minute' => ':count toltecayotl', // less reliable - - 'second' => ':count ome', // less reliable - 's' => ':count ome', // less reliable - 'a_second' => ':count ome', // less reliable - - 'year' => ':count xihuitl', - 'y' => ':count xihuitl', - 'a_year' => ':count xihuitl', -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/niu.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/niu.php deleted file mode 100644 index 476186b..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/niu.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return require __DIR__.'/niu_NU.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/niu_NU.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/niu_NU.php deleted file mode 100644 index b256af0..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/niu_NU.php +++ /dev/null @@ -1,55 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - RockET Systems Emani Fakaotimanava-Lui emani@niue.nu - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'DD/MM/YY', - ], - 'months' => ['Ianuali', 'Fepuali', 'Masi', 'Apelila', 'Me', 'Iuni', 'Iulai', 'Aokuso', 'Sepetema', 'Oketopa', 'Novema', 'Tesemo'], - 'months_short' => ['Ian', 'Fep', 'Mas', 'Ape', 'Me', 'Iun', 'Iul', 'Aok', 'Sep', 'Oke', 'Nov', 'Tes'], - 'weekdays' => ['Aho Tapu', 'Aho Gofua', 'Aho Ua', 'Aho Lotu', 'Aho Tuloto', 'Aho Falaile', 'Aho Faiumu'], - 'weekdays_short' => ['Tapu', 'Gofua', 'Ua', 'Lotu', 'Tuloto', 'Falaile', 'Faiumu'], - 'weekdays_min' => ['Tapu', 'Gofua', 'Ua', 'Lotu', 'Tuloto', 'Falaile', 'Faiumu'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 1, - - 'year' => ':count tau', - 'y' => ':count tau', - 'a_year' => ':count tau', - - 'month' => ':count mahina', - 'm' => ':count mahina', - 'a_month' => ':count mahina', - - 'week' => ':count faahi tapu', - 'w' => ':count faahi tapu', - 'a_week' => ':count faahi tapu', - - 'day' => ':count aho', - 'd' => ':count aho', - 'a_day' => ':count aho', - - 'hour' => ':count e tulÄ', - 'h' => ':count e tulÄ', - 'a_hour' => ':count e tulÄ', - - 'minute' => ':count minuti', - 'min' => ':count minuti', - 'a_minute' => ':count minuti', - - 'second' => ':count sekone', - 's' => ':count sekone', - 'a_second' => ':count sekone', -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/nl.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/nl.php deleted file mode 100644 index 141f62c..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/nl.php +++ /dev/null @@ -1,109 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Roy - * - Stephan - * - François B - * - Tim Fish - * - Kevin Huang - * - Jacob Middag - * - JD Isaacks - * - Roy - * - Stephan - * - François B - * - Tim Fish - * - Jacob Middag - * - JD Isaacks - * - Propaganistas - * - MegaXLR - * - adriaanzon - * - MonkeyPhysics - * - JeroenG - * - RikSomers - * - proclame - * - Rik de Groot (hwdegroot) - */ -return [ - 'year' => ':count jaar|:count jaar', - 'a_year' => 'een jaar|:count jaar', - 'y' => ':countj', - 'month' => ':count maand|:count maanden', - 'a_month' => 'een maand|:count maanden', - 'm' => ':countmnd', - 'week' => ':count week|:count weken', - 'a_week' => 'een week|:count weken', - 'w' => ':countw', - 'day' => ':count dag|:count dagen', - 'a_day' => 'een dag|:count dagen', - 'd' => ':countd', - 'hour' => ':count uur|:count uur', - 'a_hour' => 'een uur|:count uur', - 'h' => ':countu', - 'minute' => ':count minuut|:count minuten', - 'a_minute' => 'een minuut|:count minuten', - 'min' => ':countmin', - 'second' => ':count seconde|:count seconden', - 'a_second' => 'een paar seconden|:count seconden', - 's' => ':counts', - 'ago' => ':time geleden', - 'from_now' => 'over :time', - 'after' => ':time later', - 'before' => ':time eerder', - 'diff_now' => 'nu', - 'diff_yesterday' => 'gisteren', - 'diff_tomorrow' => 'morgen', - 'diff_after_tomorrow' => 'overmorgen', - 'diff_before_yesterday' => 'eergisteren', - 'period_recurrences' => ':count keer', - 'period_interval' => function ($interval) { - /** @var string $output */ - $output = preg_replace('/^(een|één|1)\s+/', '', $interval); - - if (preg_match('/^(een|één|1)( jaar|j| uur|u)/', $interval)) { - return "elk $output"; - } - - return "elke $output"; - }, - 'period_start_date' => 'van :date', - 'period_end_date' => 'tot :date', - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD-MM-YYYY', - 'LL' => 'D MMMM YYYY', - 'LLL' => 'D MMMM YYYY HH:mm', - 'LLLL' => 'dddd D MMMM YYYY HH:mm', - ], - 'calendar' => [ - 'sameDay' => '[vandaag om] LT', - 'nextDay' => '[morgen om] LT', - 'nextWeek' => 'dddd [om] LT', - 'lastDay' => '[gisteren om] LT', - 'lastWeek' => '[afgelopen] dddd [om] LT', - 'sameElse' => 'L', - ], - 'ordinal' => function ($number) { - return $number.(($number === 1 || $number === 8 || $number >= 20) ? 'ste' : 'de'); - }, - 'months' => ['januari', 'februari', 'maart', 'april', 'mei', 'juni', 'juli', 'augustus', 'september', 'oktober', 'november', 'december'], - 'months_short' => ['jan', 'feb', 'mrt', 'apr', 'mei', 'jun', 'jul', 'aug', 'sep', 'okt', 'nov', 'dec'], - 'mmm_suffix' => '.', - 'weekdays' => ['zondag', 'maandag', 'dinsdag', 'woensdag', 'donderdag', 'vrijdag', 'zaterdag'], - 'weekdays_short' => ['zo.', 'ma.', 'di.', 'wo.', 'do.', 'vr.', 'za.'], - 'weekdays_min' => ['zo', 'ma', 'di', 'wo', 'do', 'vr', 'za'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 4, - 'list' => [', ', ' en '], - 'meridiem' => ['\'s ochtends', '\'s middags'], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/nl_AW.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/nl_AW.php deleted file mode 100644 index 89a685c..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/nl_AW.php +++ /dev/null @@ -1,27 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Free Software Foundation, Inc. bug-glibc-locales@gnu.org - */ -return array_replace_recursive(require __DIR__.'/nl.php', [ - 'formats' => [ - 'L' => 'DD-MM-YY', - ], - 'months' => ['januari', 'februari', 'maart', 'april', 'mei', 'juni', 'juli', 'augustus', 'september', 'oktober', 'november', 'december'], - 'months_short' => ['jan', 'feb', 'mrt', 'apr', 'mei', 'jun', 'jul', 'aug', 'sep', 'okt', 'nov', 'dec'], - 'weekdays' => ['zondag', 'maandag', 'dinsdag', 'woensdag', 'donderdag', 'vrijdag', 'zaterdag'], - 'weekdays_short' => ['zo', 'ma', 'di', 'wo', 'do', 'vr', 'za'], - 'weekdays_min' => ['zo', 'ma', 'di', 'wo', 'do', 'vr', 'za'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/nl_BE.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/nl_BE.php deleted file mode 100644 index 6c651fe..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/nl_BE.php +++ /dev/null @@ -1,27 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Roy - * - Stephan - * - François B - * - Tim Fish - * - Kevin Huang - * - Jacob Middag - * - JD Isaacks - * - Propaganistas - */ -return array_replace_recursive(require __DIR__.'/nl.php', [ - 'formats' => [ - 'L' => 'DD/MM/YYYY', - ], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/nl_BQ.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/nl_BQ.php deleted file mode 100644 index 521d2d6..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/nl_BQ.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/nl.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/nl_CW.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/nl_CW.php deleted file mode 100644 index 521d2d6..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/nl_CW.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/nl.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/nl_NL.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/nl_NL.php deleted file mode 100644 index 7e4f86b..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/nl_NL.php +++ /dev/null @@ -1,27 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - RAP bug-glibc-locales@gnu.org - */ -return array_replace_recursive(require __DIR__.'/nl.php', [ - 'formats' => [ - 'L' => 'DD-MM-YY', - ], - 'months' => ['januari', 'februari', 'maart', 'april', 'mei', 'juni', 'juli', 'augustus', 'september', 'oktober', 'november', 'december'], - 'months_short' => ['jan', 'feb', 'mrt', 'apr', 'mei', 'jun', 'jul', 'aug', 'sep', 'okt', 'nov', 'dec'], - 'weekdays' => ['zondag', 'maandag', 'dinsdag', 'woensdag', 'donderdag', 'vrijdag', 'zaterdag'], - 'weekdays_short' => ['zo', 'ma', 'di', 'wo', 'do', 'vr', 'za'], - 'weekdays_min' => ['zo', 'ma', 'di', 'wo', 'do', 'vr', 'za'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 4, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/nl_SR.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/nl_SR.php deleted file mode 100644 index 521d2d6..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/nl_SR.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/nl.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/nl_SX.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/nl_SX.php deleted file mode 100644 index 521d2d6..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/nl_SX.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/nl.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/nmg.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/nmg.php deleted file mode 100644 index f8850e2..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/nmg.php +++ /dev/null @@ -1,27 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'meridiem' => ['maná', 'kugú'], - 'weekdays' => ['sÉ”ÌndÉ”', 'mÉ”ÌndÉ”', 'sÉ”ÌndÉ” mafú mába', 'sÉ”ÌndÉ” mafú málal', 'sÉ”ÌndÉ” mafú mána', 'mabágá má sukul', 'sásadi'], - 'weekdays_short' => ['sÉ”Ìn', 'mÉ”Ìn', 'smb', 'sml', 'smn', 'mbs', 'sas'], - 'weekdays_min' => ['sÉ”Ìn', 'mÉ”Ìn', 'smb', 'sml', 'smn', 'mbs', 'sas'], - 'months' => ['ngwÉ›n matáhra', 'ngwÉ›n Å„mba', 'ngwÉ›n Å„lal', 'ngwÉ›n Å„na', 'ngwÉ›n Å„tan', 'ngwÉ›n Å„tuó', 'ngwÉ›n hÉ›mbuÉ›rí', 'ngwÉ›n lÉ”mbi', 'ngwÉ›n rÉ›bvuâ', 'ngwÉ›n wum', 'ngwÉ›n wum navÇ”r', 'krísimin'], - 'months_short' => ['ng1', 'ng2', 'ng3', 'ng4', 'ng5', 'ng6', 'ng7', 'ng8', 'ng9', 'ng10', 'ng11', 'kris'], - 'first_day_of_week' => 1, - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'D/M/YYYY', - 'LL' => 'D MMM YYYY', - 'LLL' => 'D MMMM YYYY HH:mm', - 'LLLL' => 'dddd D MMMM YYYY HH:mm', - ], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/nn.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/nn.php deleted file mode 100644 index fb1462b..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/nn.php +++ /dev/null @@ -1,62 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - François B - * - Alexander TømmerÃ¥s - * - Øystein - * - JD Isaacks - */ -return [ - 'year' => ':count Ã¥r|:count Ã¥r', - 'a_year' => 'eit Ã¥r|:count Ã¥r', - 'month' => ':count mÃ¥nad|:count mÃ¥nader', - 'a_month' => 'ein mÃ¥nad|:count mÃ¥nader', - 'week' => ':count uke|:count uker', - 'a_week' => 'eit uke|:count uker', - 'day' => ':count dag|:count dagar', - 'a_day' => 'ein dag|:count dagar', - 'hour' => ':count time|:count timar', - 'a_hour' => 'ein time|:count timar', - 'minute' => ':count minutt', - 'a_minute' => 'eit minutt|:count minutt', - 'second' => ':count sekund', - 'a_second' => 'nokre sekund|:count sekund', - 'ago' => ':time sidan', - 'from_now' => 'om :time', - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD.MM.YYYY', - 'LL' => 'D. MMMM YYYY', - 'LLL' => 'D. MMMM YYYY [kl.] H:mm', - 'LLLL' => 'dddd D. MMMM YYYY [kl.] HH:mm', - ], - 'calendar' => [ - 'sameDay' => '[I dag klokka] LT', - 'nextDay' => '[I morgon klokka] LT', - 'nextWeek' => 'dddd [klokka] LT', - 'lastDay' => '[I gÃ¥r klokka] LT', - 'lastWeek' => '[FøregÃ¥ande] dddd [klokka] LT', - 'sameElse' => 'L', - ], - 'ordinal' => ':number.', - 'months' => ['januar', 'februar', 'mars', 'april', 'mai', 'juni', 'juli', 'august', 'september', 'oktober', 'november', 'desember'], - 'months_short' => ['jan', 'feb', 'mar', 'apr', 'mai', 'jun', 'jul', 'aug', 'sep', 'okt', 'nov', 'des'], - 'weekdays' => ['sundag', 'mÃ¥ndag', 'tysdag', 'onsdag', 'torsdag', 'fredag', 'laurdag'], - 'weekdays_short' => ['sun', 'mÃ¥n', 'tys', 'ons', 'tor', 'fre', 'lau'], - 'weekdays_min' => ['su', 'mÃ¥', 'ty', 'on', 'to', 'fr', 'la'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 4, - 'list' => [', ', ' og '], - 'meridiem' => ['f.m.', 'e.m.'], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/nn_NO.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/nn_NO.php deleted file mode 100644 index ebbe0b7..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/nn_NO.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/nn.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/nnh.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/nnh.php deleted file mode 100644 index fa6a448..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/nnh.php +++ /dev/null @@ -1,27 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'meridiem' => ['mbaʼámbaʼ', 'ncwònzém'], - 'weekdays' => null, - 'weekdays_short' => ['lyÉ›Ê¼É›Ì sẅíŋtè', 'mvfò lyɛ̌ʼ', 'mbÉ”ÌÉ”ntè mvfò lyɛ̌ʼ', 'tsètsɛ̀ɛ lyɛ̌ʼ', 'mbÉ”ÌÉ”ntè tsetsɛ̀ɛ lyɛ̌ʼ', 'mvfò màga lyɛ̌ʼ', 'màga lyɛ̌ʼ'], - 'weekdays_min' => null, - 'months' => null, - 'months_short' => ['saÅ‹ tsetsɛ̀ɛ lùm', 'saÅ‹ kàg ngwóŋ', 'saÅ‹ lepyè shúm', 'saÅ‹ cÿó', 'saÅ‹ tsɛ̀ɛ cÿó', 'saÅ‹ njÿoláʼ', 'saÅ‹ tyɛ̀b tyɛ̀b mbʉ̀ŋ', 'saÅ‹ mbʉ̀ŋ', 'saÅ‹ ngwɔ̀ʼ mbÿɛ', 'saÅ‹ tàŋa tsetsáʼ', 'saÅ‹ mejwoŋó', 'saÅ‹ lùm'], - 'first_day_of_week' => 1, - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD/MM/yy', - 'LL' => 'D MMM, YYYY', - 'LLL' => '[lyÉ›]̌ʼ d [na] MMMM, YYYY HH:mm', - 'LLLL' => 'dddd , [lyÉ›]̌ʼ d [na] MMMM, YYYY HH:mm', - ], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/no.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/no.php deleted file mode 100644 index f4497c7..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/no.php +++ /dev/null @@ -1,28 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/* - * Authors: - * - Daniel S. Billing - * - Paul - * - Jimmie Johansson - * - Jens Herlevsen - */ -return array_replace_recursive(require __DIR__.'/nb.php', [ - 'formats' => [ - 'LLL' => 'D. MMMM YYYY HH:mm', - 'LLLL' => 'dddd, D. MMMM YYYY [kl.] HH:mm', - ], - 'calendar' => [ - 'nextWeek' => 'pÃ¥ dddd [kl.] LT', - 'lastWeek' => '[i] dddd[s kl.] LT', - ], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/nr.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/nr.php deleted file mode 100644 index a1f1322..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/nr.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return require __DIR__.'/nr_ZA.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/nr_ZA.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/nr_ZA.php deleted file mode 100644 index e355c25..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/nr_ZA.php +++ /dev/null @@ -1,26 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Zuza Software Foundation (Translate.org.za) Dwayne Bailey dwayne@translate.org.za - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'DD/MM/YYYY', - ], - 'months' => ['Janabari', 'uFeberbari', 'uMatjhi', 'u-Apreli', 'Meyi', 'Juni', 'Julayi', 'Arhostosi', 'Septemba', 'Oktoba', 'Usinyikhaba', 'Disemba'], - 'months_short' => ['Jan', 'Feb', 'Mat', 'Apr', 'Mey', 'Jun', 'Jul', 'Arh', 'Sep', 'Okt', 'Usi', 'Dis'], - 'weekdays' => ['uSonto', 'uMvulo', 'uLesibili', 'lesithathu', 'uLesine', 'ngoLesihlanu', 'umGqibelo'], - 'weekdays_short' => ['Son', 'Mvu', 'Bil', 'Tha', 'Ne', 'Hla', 'Gqi'], - 'weekdays_min' => ['Son', 'Mvu', 'Bil', 'Tha', 'Ne', 'Hla', 'Gqi'], - 'day_of_first_week_of_year' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/nso.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/nso.php deleted file mode 100644 index bdcfcfd..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/nso.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return require __DIR__.'/nso_ZA.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/nso_ZA.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/nso_ZA.php deleted file mode 100644 index 81115d8..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/nso_ZA.php +++ /dev/null @@ -1,54 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Zuza Software Foundation (Translate.org.za) Dwayne Bailey dwayne@translate.org.za - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'DD/MM/YYYY', - ], - 'months' => ['Janaware', 'Febereware', 'MatÅ¡he', 'Aprele', 'Mei', 'June', 'Julae', 'Agostose', 'Setemere', 'Oktobere', 'Nofemere', 'Disemere'], - 'months_short' => ['Jan', 'Feb', 'Mat', 'Apr', 'Mei', 'Jun', 'Jul', 'Ago', 'Set', 'Okt', 'Nof', 'Dis'], - 'weekdays' => ['LaMorena', 'MoÅ¡upologo', 'Labobedi', 'Laboraro', 'Labone', 'Labohlano', 'Mokibelo'], - 'weekdays_short' => ['Son', 'MoÅ¡', 'Bed', 'Rar', 'Ne', 'Hla', 'Mok'], - 'weekdays_min' => ['Son', 'MoÅ¡', 'Bed', 'Rar', 'Ne', 'Hla', 'Mok'], - 'day_of_first_week_of_year' => 1, - - 'year' => ':count ngwaga', - 'y' => ':count ngwaga', - 'a_year' => ':count ngwaga', - - 'month' => ':count Kgwedi', - 'm' => ':count Kgwedi', - 'a_month' => ':count Kgwedi', - - 'week' => ':count Beke', - 'w' => ':count Beke', - 'a_week' => ':count Beke', - - 'day' => ':count LetÅ¡atÅ¡i', - 'd' => ':count LetÅ¡atÅ¡i', - 'a_day' => ':count LetÅ¡atÅ¡i', - - 'hour' => ':count Iri', - 'h' => ':count Iri', - 'a_hour' => ':count Iri', - - 'minute' => ':count Motsotso', - 'min' => ':count Motsotso', - 'a_minute' => ':count Motsotso', - - 'second' => ':count motsotswana', - 's' => ':count motsotswana', - 'a_second' => ':count motsotswana', -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/nus.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/nus.php deleted file mode 100644 index 033e975..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/nus.php +++ /dev/null @@ -1,35 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'meridiem' => ['RW', 'TÅŠ'], - 'weekdays' => ['Cäŋ kuÉ”th', 'Jiec la̱t', 'RÉ›w lätni', 'Diɔ̱k lätni', 'ÅŠuaan lätni', 'Dhieec lätni', 'BäkÉ›l lätni'], - 'weekdays_short' => ['Cäŋ', 'Jiec', 'RÉ›w', 'Diɔ̱k', 'ÅŠuaan', 'Dhieec', 'BäkÉ›l'], - 'weekdays_min' => ['Cäŋ', 'Jiec', 'RÉ›w', 'Diɔ̱k', 'ÅŠuaan', 'Dhieec', 'BäkÉ›l'], - 'months' => ['Tiop thar pÉ›t', 'PÉ›t', 'Duɔ̱ɔ̱ŋ', 'Guak', 'Duät', 'Kornyoot', 'Pay yie̱tni', 'Tho̱o̱r', 'Tɛɛr', 'Laath', 'Kur', 'Tio̱p in di̱i̱t'], - 'months_short' => ['Tiop', 'PÉ›t', 'Duɔ̱ɔ̱', 'Guak', 'Duä', 'Kor', 'Pay', 'Thoo', 'Tɛɛ', 'Laa', 'Kur', 'Tid'], - 'first_day_of_week' => 1, - 'formats' => [ - 'LT' => 'h:mm a', - 'LTS' => 'h:mm:ss a', - 'L' => 'D/MM/YYYY', - 'LL' => 'D MMM YYYY', - 'LLL' => 'D MMMM YYYY h:mm a', - 'LLLL' => 'dddd D MMMM YYYY h:mm a', - ], - - 'year' => ':count jiök', // less reliable - 'y' => ':count jiök', // less reliable - 'a_year' => ':count jiök', // less reliable - - 'month' => ':count pay', // less reliable - 'm' => ':count pay', // less reliable - 'a_month' => ':count pay', // less reliable -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/nyn.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/nyn.php deleted file mode 100644 index fdc2ff4..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/nyn.php +++ /dev/null @@ -1,26 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'weekdays' => ['Sande', 'Orwokubanza', 'Orwakabiri', 'Orwakashatu', 'Orwakana', 'Orwakataano', 'Orwamukaaga'], - 'weekdays_short' => ['SAN', 'ORK', 'OKB', 'OKS', 'OKN', 'OKT', 'OMK'], - 'weekdays_min' => ['SAN', 'ORK', 'OKB', 'OKS', 'OKN', 'OKT', 'OMK'], - 'months' => ['Okwokubanza', 'Okwakabiri', 'Okwakashatu', 'Okwakana', 'Okwakataana', 'Okwamukaaga', 'Okwamushanju', 'Okwamunaana', 'Okwamwenda', 'Okwaikumi', 'Okwaikumi na kumwe', 'Okwaikumi na ibiri'], - 'months_short' => ['KBZ', 'KBR', 'KST', 'KKN', 'KTN', 'KMK', 'KMS', 'KMN', 'KMW', 'KKM', 'KNK', 'KNB'], - 'first_day_of_week' => 1, - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD/MM/YYYY', - 'LL' => 'D MMM YYYY', - 'LLL' => 'D MMMM YYYY HH:mm', - 'LLLL' => 'dddd, D MMMM YYYY HH:mm', - ], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/oc.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/oc.php deleted file mode 100644 index af8f814..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/oc.php +++ /dev/null @@ -1,97 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/* - * Authors: - * - Quentí - */ -// @codeCoverageIgnoreStart -if (class_exists('Symfony\\Component\\Translation\\PluralizationRules')) { - \Symfony\Component\Translation\PluralizationRules::set(function ($number) { - return $number == 1 ? 0 : 1; - }, 'oc'); -} -// @codeCoverageIgnoreEnd - -return [ - 'year' => ':count an|:count ans', - 'a_year' => 'un an|:count ans', - 'y' => ':count an|:count ans', - 'month' => ':count mes|:count meses', - 'a_month' => 'un mes|:count meses', - 'm' => ':count mes|:count meses', - 'week' => ':count setmana|:count setmanas', - 'a_week' => 'una setmana|:count setmanas', - 'w' => ':count setmana|:count setmanas', - 'day' => ':count jorn|:count jorns', - 'a_day' => 'un jorn|:count jorns', - 'd' => ':count jorn|:count jorns', - 'hour' => ':count ora|:count oras', - 'a_hour' => 'una ora|:count oras', - 'h' => ':count ora|:count oras', - 'minute' => ':count minuta|:count minutas', - 'a_minute' => 'una minuta|:count minutas', - 'min' => ':count minuta|:count minutas', - 'second' => ':count segonda|:count segondas', - 'a_second' => 'una segonda|:count segondas', - 's' => ':count segonda|:count segondas', - 'ago' => 'fa :time', - 'from_now' => 'd\'aquí :time', - 'after' => ':time aprèp', - 'before' => ':time abans', - 'diff_now' => 'ara meteis', - 'diff_yesterday' => 'ièr', - 'diff_tomorrow' => 'deman', - 'diff_before_yesterday' => 'ièr delà', - 'diff_after_tomorrow' => 'deman passat', - 'period_recurrences' => ':count còp|:count còps', - 'period_interval' => 'cada :interval', - 'period_start_date' => 'de :date', - 'period_end_date' => 'fins a :date', - 'formats' => [ - 'LT' => 'H:mm', - 'LTS' => 'H:mm:ss', - 'L' => 'DD/MM/YYYY', - 'LL' => 'D MMMM [de] YYYY', - 'LLL' => 'D MMMM [de] YYYY [a] H:mm', - 'LLLL' => 'dddd D MMMM [de] YYYY [a] H:mm', - ], - 'calendar' => [ - 'sameDay' => '[Uèi a] LT', - 'nextDay' => '[Deman a] LT', - 'nextWeek' => 'dddd [a] LT', - 'lastDay' => '[Ièr a] LT', - 'lastWeek' => 'dddd [passat a] LT', - 'sameElse' => 'L', - ], - 'months' => ['de genièr', 'de febrièr', 'de març', 'd\'abrial', 'de mai', 'de junh', 'de julhet', 'd\'agost', 'de setembre', 'd’octòbre', 'de novembre', 'de decembre'], - 'months_standalone' => ['genièr', 'febrièr', 'març', 'abrial', 'mai', 'junh', 'julh', 'agost', 'setembre', 'octòbre', 'novembre', 'decembre'], - 'months_short' => ['gen.', 'feb.', 'març', 'abr.', 'mai', 'junh', 'julh', 'ago.', 'sep.', 'oct.', 'nov.', 'dec.'], - 'weekdays' => ['dimenge', 'diluns', 'dimars', 'dimècres', 'dijòus', 'divendres', 'dissabte'], - 'weekdays_short' => ['dg', 'dl', 'dm', 'dc', 'dj', 'dv', 'ds'], - 'weekdays_min' => ['dg', 'dl', 'dm', 'dc', 'dj', 'dv', 'ds'], - 'ordinal' => function ($number, $period) { - return $number.( - ($period === 'w' || $period === 'W') ? 'a' : ( - ($number === 1) ? 'r' : ( - ($number === 2) ? 'n' : ( - ($number === 3) ? 'r' : ( - ($number === 4) ? 't' : 'è' - ) - ) - ) - ) - ); - }, - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 4, - 'list' => [', ', ' e '], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/oc_FR.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/oc_FR.php deleted file mode 100644 index fde859f..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/oc_FR.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/oc.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/om.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/om.php deleted file mode 100644 index fe4c50d..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/om.php +++ /dev/null @@ -1,60 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Ge'ez Frontier Foundation & Sagalee Oromoo Publishing Co. Inc. locales@geez.org - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD/MM/YYYY', - 'LL' => 'dd-MMM-YYYY', - 'LLL' => 'dd MMMM YYYY HH:mm', - 'LLLL' => 'dddd, MMMM D, YYYY HH:mm', - ], - 'months' => ['Amajjii', 'Guraandhala', 'Bitooteessa', 'Elba', 'Caamsa', 'Waxabajjii', 'Adooleessa', 'Hagayya', 'Fuulbana', 'Onkololeessa', 'Sadaasa', 'Muddee'], - 'months_short' => ['Ama', 'Gur', 'Bit', 'Elb', 'Cam', 'Wax', 'Ado', 'Hag', 'Ful', 'Onk', 'Sad', 'Mud'], - 'weekdays' => ['Dilbata', 'Wiixata', 'Qibxata', 'Roobii', 'Kamiisa', 'Jimaata', 'Sanbata'], - 'weekdays_short' => ['Dil', 'Wix', 'Qib', 'Rob', 'Kam', 'Jim', 'San'], - 'weekdays_min' => ['Dil', 'Wix', 'Qib', 'Rob', 'Kam', 'Jim', 'San'], - 'day_of_first_week_of_year' => 1, - 'meridiem' => ['WD', 'WB'], - - 'year' => 'wggoota :count', - 'y' => 'wggoota :count', - 'a_year' => 'wggoota :count', - - 'month' => 'ji’a :count', - 'm' => 'ji’a :count', - 'a_month' => 'ji’a :count', - - 'week' => 'torban :count', - 'w' => 'torban :count', - 'a_week' => 'torban :count', - - 'day' => 'guyyaa :count', - 'd' => 'guyyaa :count', - 'a_day' => 'guyyaa :count', - - 'hour' => 'saʼaatii :count', - 'h' => 'saʼaatii :count', - 'a_hour' => 'saʼaatii :count', - - 'minute' => 'daqiiqaa :count', - 'min' => 'daqiiqaa :count', - 'a_minute' => 'daqiiqaa :count', - - 'second' => 'sekoondii :count', - 's' => 'sekoondii :count', - 'a_second' => 'sekoondii :count', -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/om_ET.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/om_ET.php deleted file mode 100644 index 4648343..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/om_ET.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/om.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/om_KE.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/om_KE.php deleted file mode 100644 index b29a40f..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/om_KE.php +++ /dev/null @@ -1,13 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/om.php', [ - 'day_of_first_week_of_year' => 0, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/or.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/or.php deleted file mode 100644 index 36b986c..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/or.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return require __DIR__.'/or_IN.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/or_IN.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/or_IN.php deleted file mode 100644 index b1c83d2..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/or_IN.php +++ /dev/null @@ -1,48 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - IBM AP Linux Technology Center, Yamato Software Laboratory bug-glibc@gnu.org - */ -return [ - 'formats' => [ - 'LT' => 'Oh:Om A', - 'LTS' => 'Oh:Om:Os A', - 'L' => 'OD-OM-OY', - 'LL' => 'OD MMMM OY', - 'LLL' => 'OD MMMM OY Oh:Om A', - 'LLLL' => 'dddd OD MMMM OY Oh:Om A', - ], - 'months' => ['ଜାନà­à¬†à¬°à­€', 'ଫେବୃଆରୀ', 'ମାରà­à¬šà­à¬š', 'ଅପà­à¬°à­‡à¬²', 'ମଇ', 'ଜà­à¬¨', 'ଜà­à¬²à¬¾à¬‡', 'ଅଗଷà­à¬Ÿ', 'ସେପà­à¬Ÿà­‡à¬®à­à¬¬à¬°', 'ଅକà­à¬Ÿà­‹à¬¬à¬°', 'ନଭେମà­à¬¬à¬°', 'ଡିସେମà­à¬¬à¬°'], - 'months_short' => ['ଜାନà­à¬†à¬°à­€', 'ଫେବୃଆରୀ', 'ମାରà­à¬šà­à¬š', 'ଅପà­à¬°à­‡à¬²', 'ମଇ', 'ଜà­à¬¨', 'ଜà­à¬²à¬¾à¬‡', 'ଅଗଷà­à¬Ÿ', 'ସେପà­à¬Ÿà­‡à¬®à­à¬¬à¬°', 'ଅକà­à¬Ÿà­‹à¬¬à¬°', 'ନଭେମà­à¬¬à¬°', 'ଡିସେମà­à¬¬à¬°'], - 'weekdays' => ['ରବିବାର', 'ସୋମବାର', 'ମଙà­à¬—ଳବାର', 'ବà­à¬§à¬¬à¬¾à¬°', 'ଗà­à¬°à­à¬¬à¬¾à¬°', 'ଶà­à¬•à­à¬°à¬¬à¬¾à¬°', 'ଶନିବାର'], - 'weekdays_short' => ['ରବି', 'ସୋମ', 'ମଙà­à¬—ଳ', 'ବà­à¬§', 'ଗà­à¬°à­', 'ଶà­à¬•à­à¬°', 'ଶନି'], - 'weekdays_min' => ['ରବି', 'ସୋମ', 'ମଙà­à¬—ଳ', 'ବà­à¬§', 'ଗà­à¬°à­', 'ଶà­à¬•à­à¬°', 'ଶନି'], - 'day_of_first_week_of_year' => 1, - 'alt_numbers' => ['à­¦', 'à­§', 'à­¨', 'à­©', 'à­ª', 'à­«', 'à­¬', 'à­­', 'à­®', 'à­¯', '୧୦', '୧୧', '୧୨', '୧୩', '୧୪', '୧୫', '୧୬', '୧୭', '୧୮', '୧୯', '୨୦', '୨୧', '୨୨', '୨୩', '୨୪', '୨୫', '୨୬', '୨୭', '୨୮', '୨୯', 'à­©à­¦', 'à­©à­§', 'à­©à­¨', 'à­©à­©', 'à­©à­ª', 'à­©à­«', 'à­©à­¬', 'à­©à­­', 'à­©à­®', 'à­©à­¯', '୪୦', '୪୧', '୪୨', '୪୩', '୪୪', '୪୫', '୪୬', '୪୭', '୪୮', '୪୯', 'à­«à­¦', 'à­«à­§', 'à­«à­¨', 'à­«à­©', 'à­«à­ª', 'à­«à­«', 'à­«à­¬', 'à­«à­­', 'à­«à­®', 'à­«à­¯', '୬୦', '୬୧', '୬୨', '୬୩', '୬୪', '୬୫', '୬୬', '୬୭', '୬୮', '୬୯', 'à­­à­¦', 'à­­à­§', 'à­­à­¨', 'à­­à­©', 'à­­à­ª', 'à­­à­«', 'à­­à­¬', 'à­­à­­', 'à­­à­®', 'à­­à­¯', '୮୦', '୮୧', '୮୨', '୮୩', '୮୪', '୮୫', '୮୬', '୮୭', '୮୮', '୮୯', '୯୦', '୯୧', '୯୨', '୯୩', '୯୪', '୯୫', '୯୬', '୯୭', '୯୮', '୯୯'], - 'year' => ':count ବରà­à¬·', - 'y' => ':count ବ.', - 'month' => ':count ମାସ', - 'm' => ':count ମା.', - 'week' => ':count ସପà­à¬¤à¬¾à¬¹', - 'w' => ':count ସପà­à¬¤à¬¾.', - 'day' => ':count ଦିନ', - 'd' => ':count ଦିନ', - 'hour' => ':count ଘଣà­à¬¤', - 'h' => ':count ଘ.', - 'minute' => ':count ମିନଟ', - 'min' => ':count ମି.', - 'second' => ':count ସେକଣà­à¬¢', - 's' => ':count ସେ.', - 'ago' => ':time ପୂରà­à¬¬à­‡', - 'from_now' => ':timeରେ', -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/os.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/os.php deleted file mode 100644 index 3116a43..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/os.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return require __DIR__.'/os_RU.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/os_RU.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/os_RU.php deleted file mode 100644 index 7f2f9b8..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/os_RU.php +++ /dev/null @@ -1,55 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - bug-glibc-locales@gnu.org - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'DD.MM.YYYY', - ], - 'months' => ['Ñнвары', 'февралы', 'мартъийы', 'апрелы', 'майы', 'июны', 'июлы', 'авгуÑÑ‚Ñ‹', 'ÑентÑбры', 'октÑбры', 'ноÑбры', 'декабры'], - 'months_short' => ['Янв', 'Фев', 'Мар', 'Ðпр', 'Май', 'Июн', 'Июл', 'Ðвг', 'Сен', 'Окт', 'ÐоÑ', 'Дек'], - 'weekdays' => ['Хуыцаубон', 'КъуыриÑæр', 'Дыццæг', 'Æртыццæг', 'Цыппæрæм', 'Майрæмбон', 'Сабат'], - 'weekdays_short' => ['Хцб', 'КрÑ', 'Дцг', 'Æрт', 'Цпр', 'Мрб', 'Сбт'], - 'weekdays_min' => ['Хцб', 'КрÑ', 'Дцг', 'Æрт', 'Цпр', 'Мрб', 'Сбт'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 1, - - 'minute' => ':count гыццыл', // less reliable - 'min' => ':count гыццыл', // less reliable - 'a_minute' => ':count гыццыл', // less reliable - - 'second' => ':count æндæр', // less reliable - 's' => ':count æндæр', // less reliable - 'a_second' => ':count æндæр', // less reliable - - 'year' => ':count аз', - 'y' => ':count аз', - 'a_year' => ':count аз', - - 'month' => ':count мӕй', - 'm' => ':count мӕй', - 'a_month' => ':count мӕй', - - 'week' => ':count къуыри', - 'w' => ':count къуыри', - 'a_week' => ':count къуыри', - - 'day' => ':count бон', - 'd' => ':count бон', - 'a_day' => ':count бон', - - 'hour' => ':count Ñахат', - 'h' => ':count Ñахат', - 'a_hour' => ':count Ñахат', -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/pa.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/pa.php deleted file mode 100644 index f73a132..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/pa.php +++ /dev/null @@ -1,71 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/* - * Authors: - * - Philippe Vaucher - * - Tsutomu Kuroda - * - Punjab - */ -return [ - 'year' => 'ਇੱਕ ਸਾਲ|:count ਸਾਲ', - 'month' => 'ਇੱਕ ਮਹੀਨਾ|:count ਮਹੀਨੇ', - 'week' => 'ਹਫਤਾ|:count ਹਫ਼ਤੇ', - 'day' => 'ਇੱਕ ਦਿਨ|:count ਦਿਨ', - 'hour' => 'ਇੱਕ ਘੰਟਾ|:count ਘੰਟੇ', - 'minute' => 'ਇਕ ਮਿੰਟ|:count ਮਿੰਟ', - 'second' => 'ਕà©à¨ ਸਕਿੰਟ|:count ਸਕਿੰਟ', - 'ago' => ':time ਪਿਛਲੇ', - 'from_now' => ':time ਵਿੱਚ', - 'diff_yesterday' => 'ਕਲ', - 'diff_tomorrow' => 'ਕਲ', - 'formats' => [ - 'LT' => 'A h:mm ਵਜੇ', - 'LTS' => 'A h:mm:ss ਵਜੇ', - 'L' => 'DD/MM/YYYY', - 'LL' => 'D MMMM YYYY', - 'LLL' => 'D MMMM YYYY, A h:mm ਵਜੇ', - 'LLLL' => 'dddd, D MMMM YYYY, A h:mm ਵਜੇ', - ], - 'calendar' => [ - 'sameDay' => '[ਅਜ] LT', - 'nextDay' => '[ਕਲ] LT', - 'nextWeek' => '[ਅਗਲਾ] dddd, LT', - 'lastDay' => '[ਕਲ] LT', - 'lastWeek' => '[ਪਿਛਲੇ] dddd, LT', - 'sameElse' => 'L', - ], - 'meridiem' => function ($hour) { - if ($hour < 4) { - return 'ਰਾਤ'; - } - if ($hour < 10) { - return 'ਸਵੇਰ'; - } - if ($hour < 17) { - return 'ਦà©à¨ªà¨¹à¨¿à¨°'; - } - if ($hour < 20) { - return 'ਸ਼ਾਮ'; - } - - return 'ਰਾਤ'; - }, - 'months' => ['ਜਨਵਰੀ', 'ਫ਼ਰਵਰੀ', 'ਮਾਰਚ', 'ਅਪà©à¨°à©ˆà¨²', 'ਮਈ', 'ਜੂਨ', 'ਜà©à¨²à¨¾à¨ˆ', 'ਅਗਸਤ', 'ਸਤੰਬਰ', 'ਅਕਤੂਬਰ', 'ਨਵੰਬਰ', 'ਦਸੰਬਰ'], - 'months_short' => ['ਜਨਵਰੀ', 'ਫ਼ਰਵਰੀ', 'ਮਾਰਚ', 'ਅਪà©à¨°à©ˆà¨²', 'ਮਈ', 'ਜੂਨ', 'ਜà©à¨²à¨¾à¨ˆ', 'ਅਗਸਤ', 'ਸਤੰਬਰ', 'ਅਕਤੂਬਰ', 'ਨਵੰਬਰ', 'ਦਸੰਬਰ'], - 'weekdays' => ['à¨à¨¤à¨µà¨¾à¨°', 'ਸੋਮਵਾਰ', 'ਮੰਗਲਵਾਰ', 'ਬà©à¨§à¨µà¨¾à¨°', 'ਵੀਰਵਾਰ', 'ਸ਼à©à©±à¨•à¨°à¨µà¨¾à¨°', 'ਸ਼ਨੀਚਰਵਾਰ'], - 'weekdays_short' => ['à¨à¨¤', 'ਸੋਮ', 'ਮੰਗਲ', 'ਬà©à¨§', 'ਵੀਰ', 'ਸ਼à©à¨•à¨°', 'ਸ਼ਨੀ'], - 'weekdays_min' => ['à¨à¨¤', 'ਸੋਮ', 'ਮੰਗਲ', 'ਬà©à¨§', 'ਵੀਰ', 'ਸ਼à©à¨•à¨°', 'ਸ਼ਨੀ'], - 'first_day_of_week' => 0, - 'day_of_first_week_of_year' => 1, - 'list' => [', ', ' ਅਤੇ '], - 'weekend' => [0, 0], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/pa_Arab.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/pa_Arab.php deleted file mode 100644 index 8b04dee..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/pa_Arab.php +++ /dev/null @@ -1,25 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/ur.php', [ - 'weekdays' => ['اتوار', 'پیر', 'منگل', 'بÙدھ', 'جمعرات', 'جمعÛ', 'ÛÙتÛ'], - 'weekdays_short' => ['اتوار', 'پیر', 'منگل', 'بÙدھ', 'جمعرات', 'جمعÛ', 'ÛÙتÛ'], - 'weekdays_min' => ['اتوار', 'پیر', 'منگل', 'بÙدھ', 'جمعرات', 'جمعÛ', 'ÛÙتÛ'], - 'months' => ['جنوری', 'Ùروری', 'مارچ', 'اپریل', 'مئ', 'جون', 'جولائی', 'اگست', 'ستمبر', 'اکتوبر', 'نومبر', 'دسمبر'], - 'months_short' => ['جنوری', 'Ùروری', 'مارچ', 'اپریل', 'مئ', 'جون', 'جولائی', 'اگست', 'ستمبر', 'اکتوبر', 'نومبر', 'دسمبر'], - 'formats' => [ - 'LT' => 'h:mm a', - 'LTS' => 'h:mm:ss a', - 'L' => 'DD/MM/YYYY', - 'LL' => 'D MMM YYYY', - 'LLL' => 'D MMMM YYYY h:mm a', - 'LLLL' => 'dddd, DD MMMM YYYY h:mm a', - ], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/pa_Guru.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/pa_Guru.php deleted file mode 100644 index c0d35ec..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/pa_Guru.php +++ /dev/null @@ -1,26 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/pa.php', [ - 'formats' => [ - 'LT' => 'h:mm a', - 'LTS' => 'h:mm:ss a', - 'L' => 'D/M/yy', - 'LL' => 'D MMM YYYY', - 'LLL' => 'D MMMM YYYY, h:mm a', - 'LLLL' => 'dddd, D MMMM YYYY, h:mm a', - ], - 'months' => ['ਜਨਵਰੀ', 'ਫ਼ਰਵਰੀ', 'ਮਾਰਚ', 'ਅਪà©à¨°à©ˆà¨²', 'ਮਈ', 'ਜੂਨ', 'ਜà©à¨²à¨¾à¨ˆ', 'ਅਗਸਤ', 'ਸਤੰਬਰ', 'ਅਕਤੂਬਰ', 'ਨਵੰਬਰ', 'ਦਸੰਬਰ'], - 'months_short' => ['ਜਨ', 'ਫ਼ਰ', 'ਮਾਰਚ', 'ਅਪà©à¨°à©ˆ', 'ਮਈ', 'ਜੂਨ', 'ਜà©à¨²à¨¾', 'ਅਗ', 'ਸਤੰ', 'ਅਕਤੂ', 'ਨਵੰ', 'ਦਸੰ'], - 'weekdays' => ['à¨à¨¤à¨µà¨¾à¨°', 'ਸੋਮਵਾਰ', 'ਮੰਗਲਵਾਰ', 'ਬà©à©±à¨§à¨µà¨¾à¨°', 'ਵੀਰਵਾਰ', 'ਸ਼à©à©±à¨•à¨°à¨µà¨¾à¨°', 'ਸ਼ਨਿੱਚਰਵਾਰ'], - 'weekdays_short' => ['à¨à¨¤', 'ਸੋਮ', 'ਮੰਗਲ', 'ਬà©à©±à¨§', 'ਵੀਰ', 'ਸ਼à©à©±à¨•à¨°', 'ਸ਼ਨਿੱਚਰ'], - 'weekdays_min' => ['à¨à¨¤', 'ਸੋਮ', 'ਮੰਗ', 'ਬà©à©±à¨§', 'ਵੀਰ', 'ਸ਼à©à©±à¨•', 'ਸ਼ਨਿੱ'], - 'weekend' => [0, 0], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/pa_IN.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/pa_IN.php deleted file mode 100644 index 3d79247..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/pa_IN.php +++ /dev/null @@ -1,19 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Guo Xiang Tan - * - Josh Soref - * - Ash - * - harpreetkhalsagtbit - */ -return require __DIR__.'/pa.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/pa_PK.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/pa_PK.php deleted file mode 100644 index 39a333c..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/pa_PK.php +++ /dev/null @@ -1,27 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - bug-glibc-locales@gnu.org - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'DD/MM/YYYY', - ], - 'months' => ['جنوري', 'Ùروري', 'مارچ', 'اپريل', 'مٓی', 'جون', 'جولاي', 'اگست', 'ستمبر', 'اكتوبر', 'نومبر', 'دسمبر'], - 'months_short' => ['جنوري', 'Ùروري', 'مارچ', 'اپريل', 'مٓی', 'جون', 'جولاي', 'اگست', 'ستمبر', 'اكتوبر', 'نومبر', 'دسمبر'], - 'weekdays' => ['اتوار', 'پير', 'منگل', 'بدھ', 'جمعرات', 'جمعه', 'Ù‡Ùته'], - 'weekdays_short' => ['اتوار', 'پير', 'منگل', 'بدھ', 'جمعرات', 'جمعه', 'Ù‡Ùته'], - 'weekdays_min' => ['اتوار', 'پير', 'منگل', 'بدھ', 'جمعرات', 'جمعه', 'Ù‡Ùته'], - 'day_of_first_week_of_year' => 1, - 'meridiem' => ['ص', 'Ø´'], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/pap.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/pap.php deleted file mode 100644 index a90b194..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/pap.php +++ /dev/null @@ -1,39 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return [ - 'formats' => [ - 'LT' => 'HH.mm', - 'LTS' => 'HH.mm:ss', - 'L' => 'DD-MM-YY', - 'LL' => 'MMMM [di] DD, YYYY', - 'LLL' => 'DD MMM HH.mm', - 'LLLL' => 'MMMM DD, YYYY HH.mm', - ], - 'months' => ['yanüari', 'febrüari', 'mart', 'aprel', 'mei', 'yüni', 'yüli', 'ougùstùs', 'sèptèmber', 'oktober', 'novèmber', 'desèmber'], - 'months_short' => ['yan', 'feb', 'mar', 'apr', 'mei', 'yün', 'yül', 'oug', 'sèp', 'okt', 'nov', 'des'], - 'weekdays' => ['djadomingo', 'djaluna', 'djamars', 'djawebs', 'djarason', 'djabierne', 'djasabra'], - 'weekdays_short' => ['do', 'lu', 'ma', 'we', 'ra', 'bi', 'sa'], - 'weekdays_min' => ['do', 'lu', 'ma', 'we', 'ra', 'bi', 'sa'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 1, - 'year' => ':count aña', - 'month' => ':count luna', - 'week' => ':count siman', - 'day' => ':count dia', - 'hour' => ':count ora', - 'minute' => ':count minüt', - 'second' => ':count sekònde', - 'list' => [', ', ' i '], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/pap_AW.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/pap_AW.php deleted file mode 100644 index b8fbfaa..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/pap_AW.php +++ /dev/null @@ -1,16 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - information from native speaker Pablo Saratxaga pablo@mandrakesoft.com - */ -return require __DIR__.'/pap.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/pap_CW.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/pap_CW.php deleted file mode 100644 index b8fbfaa..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/pap_CW.php +++ /dev/null @@ -1,16 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - information from native speaker Pablo Saratxaga pablo@mandrakesoft.com - */ -return require __DIR__.'/pap.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/pl.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/pl.php deleted file mode 100644 index a991456..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/pl.php +++ /dev/null @@ -1,112 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - WacÅ‚aw Jacek - * - François B - * - Tim Fish - * - Serhan Apaydın - * - Massimiliano Caniparoli - * - JD Isaacks - * - Jakub Szwacz - * - Jan - * - Paul - * - damlys - * - Marek (marast78) - * - Peter (UnrulyNatives) - * - Qrzysio - * - Jan (aso824) - */ -return [ - 'year' => ':count rok|:count lata|:count lat', - 'a_year' => 'rok|:count lata|:count lat', - 'y' => ':count r|:count l', - 'month' => ':count miesiÄ…c|:count miesiÄ…ce|:count miesiÄ™cy', - 'a_month' => 'miesiÄ…c|:count miesiÄ…ce|:count miesiÄ™cy', - 'm' => ':count mies.', - 'week' => ':count tydzieÅ„|:count tygodnie|:count tygodni', - 'a_week' => 'tydzieÅ„|:count tygodnie|:count tygodni', - 'w' => ':count tyg.', - 'day' => ':count dzieÅ„|:count dni|:count dni', - 'a_day' => 'dzieÅ„|:count dni|:count dni', - 'd' => ':count d', - 'hour' => ':count godzina|:count godziny|:count godzin', - 'a_hour' => 'godzina|:count godziny|:count godzin', - 'h' => ':count godz.', - 'minute' => ':count minuta|:count minuty|:count minut', - 'a_minute' => 'minuta|:count minuty|:count minut', - 'min' => ':count min.', - 'second' => ':count sekunda|:count sekundy|:count sekund', - 'a_second' => '{1}kilka sekund|:count sekunda|:count sekundy|:count sekund', - 's' => ':count sek.', - 'ago' => ':time temu', - 'from_now' => 'za :time', - 'after' => ':time po', - 'before' => ':time przed', - 'diff_now' => 'przed chwilÄ…', - 'diff_yesterday' => 'wczoraj', - 'diff_tomorrow' => 'jutro', - 'diff_before_yesterday' => 'przedwczoraj', - 'diff_after_tomorrow' => 'pojutrze', - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD.MM.YYYY', - 'LL' => 'D MMMM YYYY', - 'LLL' => 'D MMMM YYYY HH:mm', - 'LLLL' => 'dddd, D MMMM YYYY HH:mm', - ], - 'calendar' => [ - 'sameDay' => '[DziÅ› o] LT', - 'nextDay' => '[Jutro o] LT', - 'nextWeek' => function (\Carbon\CarbonInterface $date) { - switch ($date->dayOfWeek) { - case 0: - return '[W niedzielÄ™ o] LT'; - case 2: - return '[We wtorek o] LT'; - case 3: - return '[W Å›rodÄ™ o] LT'; - case 6: - return '[W sobotÄ™ o] LT'; - default: - return '[W] dddd [o] LT'; - } - }, - 'lastDay' => '[Wczoraj o] LT', - 'lastWeek' => function (\Carbon\CarbonInterface $date) { - switch ($date->dayOfWeek) { - case 0: - return '[W zeszÅ‚Ä… niedzielÄ™ o] LT'; - case 3: - return '[W zeszÅ‚Ä… Å›rodÄ™ o] LT'; - case 6: - return '[W zeszÅ‚Ä… sobotÄ™ o] LT'; - default: - return '[W zeszÅ‚y] dddd [o] LT'; - } - }, - 'sameElse' => 'L', - ], - 'ordinal' => ':number.', - 'months' => ['stycznia', 'lutego', 'marca', 'kwietnia', 'maja', 'czerwca', 'lipca', 'sierpnia', 'wrzeÅ›nia', 'października', 'listopada', 'grudnia'], - 'months_standalone' => ['styczeÅ„', 'luty', 'marzec', 'kwiecieÅ„', 'maj', 'czerwiec', 'lipiec', 'sierpieÅ„', 'wrzesieÅ„', 'październik', 'listopad', 'grudzieÅ„'], - 'months_short' => ['sty', 'lut', 'mar', 'kwi', 'maj', 'cze', 'lip', 'sie', 'wrz', 'paź', 'lis', 'gru'], - 'months_regexp' => '/DD?o?\.?(\[[^\[\]]*\]|\s)+MMMM?/', - 'weekdays' => ['niedziela', 'poniedziaÅ‚ek', 'wtorek', 'Å›roda', 'czwartek', 'piÄ…tek', 'sobota'], - 'weekdays_short' => ['ndz', 'pon', 'wt', 'Å›r', 'czw', 'pt', 'sob'], - 'weekdays_min' => ['Nd', 'Pn', 'Wt', 'Åšr', 'Cz', 'Pt', 'So'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 4, - 'list' => [', ', ' i '], - 'meridiem' => ['przed poÅ‚udniem', 'po poÅ‚udniu'], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/pl_PL.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/pl_PL.php deleted file mode 100644 index 69cd697..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/pl_PL.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/pl.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/prg.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/prg.php deleted file mode 100644 index d0fd2f0..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/prg.php +++ /dev/null @@ -1,51 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'months' => ['M01', 'M02', 'M03', 'M04', 'M05', 'M06', 'M07', 'M08', 'M09', 'M10', 'M11', 'M12'], - 'months_short' => ['M01', 'M02', 'M03', 'M04', 'M05', 'M06', 'M07', 'M08', 'M09', 'M10', 'M11', 'M12'], - 'first_day_of_week' => 1, - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'YYYY-MM-dd', - 'LL' => 'YYYY MMM D', - 'LLL' => 'YYYY MMMM D HH:mm', - 'LLLL' => 'YYYY MMMM D, dddd HH:mm', - ], - - 'year' => ':count meta', - 'y' => ':count meta', - 'a_year' => ':count meta', - - 'month' => ':count mÄ“niks', // less reliable - 'm' => ':count mÄ“niks', // less reliable - 'a_month' => ':count mÄ“niks', // less reliable - - 'week' => ':count sawaÄ«tin', // less reliable - 'w' => ':count sawaÄ«tin', // less reliable - 'a_week' => ':count sawaÄ«tin', // less reliable - - 'day' => ':count di', - 'd' => ':count di', - 'a_day' => ':count di', - - 'hour' => ':count bruktÄ“t', // less reliable - 'h' => ':count bruktÄ“t', // less reliable - 'a_hour' => ':count bruktÄ“t', // less reliable - - 'minute' => ':count lÄ«kuts', // less reliable - 'min' => ':count lÄ«kuts', // less reliable - 'a_minute' => ':count lÄ«kuts', // less reliable - - 'second' => ':count kitan', // less reliable - 's' => ':count kitan', // less reliable - 'a_second' => ':count kitan', // less reliable -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ps.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ps.php deleted file mode 100644 index a928b28..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ps.php +++ /dev/null @@ -1,55 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/* - * Authors: - * - Muhammad Nasir Rahimi - * - Nassim Nasibullah (spinzar) - */ -return [ - 'year' => ':count کال|:count کاله', - 'y' => ':countکال|:countکاله', - 'month' => ':count مياشت|:count مياشتي', - 'm' => ':countمياشت|:countمياشتي', - 'week' => ':count اونÛ|:count اونÛ', - 'w' => ':countاونÛ|:countاونÛ', - 'day' => ':count ورÚ|:count ورÚÙŠ', - 'd' => ':countورÚ|:countورÚÙŠ', - 'hour' => ':count ساعت|:count ساعته', - 'h' => ':countساعت|:countساعته', - 'minute' => ':count دقيقه|:count دقيقÛ', - 'min' => ':countدقيقه|:countدقيقÛ', - 'second' => ':count ثانيه|:count ثانيÛ', - 's' => ':countثانيه|:countثانيÛ', - 'ago' => ':time دمخه', - 'from_now' => ':time له اوس څخه', - 'after' => ':time وروسته', - 'before' => ':time دمخه', - 'list' => ['ØŒ ', ' او '], - 'meridiem' => ['غ.Ù….', 'غ.Ùˆ.'], - 'weekdays' => ['اتوار', 'Ú«Ù„', 'نهه', 'شورو', 'زيارت', 'جمعه', 'خالي'], - 'weekdays_short' => ['ا', 'Ú«', 'Ù†', 'Ø´', 'ز', 'ج', 'Ø®'], - 'weekdays_min' => ['ا', 'Ú«', 'Ù†', 'Ø´', 'ز', 'ج', 'Ø®'], - 'months' => ['جنوري', 'Ùبروري', 'مارچ', 'اپریل', 'Ù…Û', 'جون', 'جولای', 'اگست', 'سÛپتمبر', 'اکتوبر', 'نومبر', 'دسمبر'], - 'months_short' => ['جنوري', 'Ùبروري', 'مارچ', 'اپریل', 'Ù…Û', 'جون', 'جولای', 'اگست', 'سÛپتمبر', 'اکتوبر', 'نومبر', 'دسمبر'], - 'months_standalone' => ['جنوري', 'ÙÛبروري', 'مارچ', 'اپریل', 'Ù…Û', 'جون', 'جولای', 'اگست', 'سپتمبر', 'اکتوبر', 'نومبر', 'دسمبر'], - 'months_short_standalone' => ['جنوري', 'Ùبروري', 'مارچ', 'اپریل', 'Ù…Û', 'جون', 'جولای', 'اگست', 'سپتمبر', 'اکتوبر', 'نومبر', 'دسمبر'], - 'first_day_of_week' => 6, - 'weekend' => [4, 5], - 'formats' => [ - 'LT' => 'H:mm', - 'LTS' => 'H:mm:ss', - 'L' => 'YYYY/M/d', - 'LL' => 'YYYY MMM D', - 'LLL' => 'د YYYY د MMMM D H:mm', - 'LLLL' => 'dddd د YYYY د MMMM D H:mm', - ], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ps_AF.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ps_AF.php deleted file mode 100644 index e63121e..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ps_AF.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/ps.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/pt.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/pt.php deleted file mode 100644 index 728650e..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/pt.php +++ /dev/null @@ -1,94 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/* - * Authors: - * - Cassiano Montanari - * - Matt Pope - * - François B - * - Prodis - * - JD Isaacks - * - Raphael Amorim - * - João Magalhães - * - victortobias - * - Paulo Freitas - * - Sebastian Thierer - * - Claudson Martins (claudsonm) - */ -return [ - 'year' => ':count ano|:count anos', - 'a_year' => 'um ano|:count anos', - 'y' => ':counta', - 'month' => ':count mês|:count meses', - 'a_month' => 'um mês|:count meses', - 'm' => ':countm', - 'week' => ':count semana|:count semanas', - 'a_week' => 'uma semana|:count semanas', - 'w' => ':countsem', - 'day' => ':count dia|:count dias', - 'a_day' => 'um dia|:count dias', - 'd' => ':countd', - 'hour' => ':count hora|:count horas', - 'a_hour' => 'uma hora|:count horas', - 'h' => ':counth', - 'minute' => ':count minuto|:count minutos', - 'a_minute' => 'um minuto|:count minutos', - 'min' => ':countmin', - 'second' => ':count segundo|:count segundos', - 'a_second' => 'alguns segundos|:count segundos', - 's' => ':counts', - 'ago' => 'há :time', - 'from_now' => 'em :time', - 'after' => ':time depois', - 'before' => ':time antes', - 'diff_now' => 'agora', - 'diff_yesterday' => 'ontem', - 'diff_tomorrow' => 'amanhã', - 'diff_before_yesterday' => 'anteontem', - 'diff_after_tomorrow' => 'depois de amanhã', - 'period_recurrences' => 'uma vez|:count vezes', - 'period_interval' => 'cada :interval', - 'period_start_date' => 'de :date', - 'period_end_date' => 'até :date', - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD/MM/YYYY', - 'LL' => 'D [de] MMMM [de] YYYY', - 'LLL' => 'D [de] MMMM [de] YYYY HH:mm', - 'LLLL' => 'dddd, D [de] MMMM [de] YYYY HH:mm', - ], - 'calendar' => [ - 'sameDay' => '[Hoje às] LT', - 'nextDay' => '[Amanhã às] LT', - 'nextWeek' => 'dddd [às] LT', - 'lastDay' => '[Ontem às] LT', - 'lastWeek' => function (\Carbon\CarbonInterface $date) { - switch ($date->dayOfWeek) { - case 0: - case 6: - return '[Último] dddd [às] LT'; - default: - return '[Última] dddd [às] LT'; - } - }, - 'sameElse' => 'L', - ], - 'ordinal' => ':numberº', - 'months' => ['janeiro', 'fevereiro', 'março', 'abril', 'maio', 'junho', 'julho', 'agosto', 'setembro', 'outubro', 'novembro', 'dezembro'], - 'months_short' => ['jan', 'fev', 'mar', 'abr', 'mai', 'jun', 'jul', 'ago', 'set', 'out', 'nov', 'dez'], - 'weekdays' => ['domingo', 'segunda-feira', 'terça-feira', 'quarta-feira', 'quinta-feira', 'sexta-feira', 'sábado'], - 'weekdays_short' => ['dom', 'seg', 'ter', 'qua', 'qui', 'sex', 'sáb'], - 'weekdays_min' => ['Do', '2ª', '3ª', '4ª', '5ª', '6ª', 'Sá'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 4, - 'list' => [', ', ' e '], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/pt_AO.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/pt_AO.php deleted file mode 100644 index 3d13bca..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/pt_AO.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/pt.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/pt_BR.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/pt_BR.php deleted file mode 100644 index e917c5c..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/pt_BR.php +++ /dev/null @@ -1,39 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/* - * Authors: - * - Cassiano Montanari - * - Eduardo Dalla Vecchia - * - David Rodrigues - * - Matt Pope - * - François B - * - Prodis - * - Marlon Maxwel - * - JD Isaacks - * - Raphael Amorim - * - Rafael Raupp - * - felipeleite1 - * - swalker - * - Lucas Macedo - * - Paulo Freitas - * - Sebastian Thierer - */ -return array_replace_recursive(require __DIR__.'/pt.php', [ - 'period_recurrences' => 'uma|:count vez', - 'period_interval' => 'toda :interval', - 'formats' => [ - 'LLL' => 'D [de] MMMM [de] YYYY [às] HH:mm', - 'LLLL' => 'dddd, D [de] MMMM [de] YYYY [às] HH:mm', - ], - 'first_day_of_week' => 0, - 'day_of_first_week_of_year' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/pt_CH.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/pt_CH.php deleted file mode 100644 index 3d13bca..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/pt_CH.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/pt.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/pt_CV.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/pt_CV.php deleted file mode 100644 index 3d13bca..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/pt_CV.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/pt.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/pt_GQ.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/pt_GQ.php deleted file mode 100644 index 3d13bca..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/pt_GQ.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/pt.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/pt_GW.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/pt_GW.php deleted file mode 100644 index 3d13bca..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/pt_GW.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/pt.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/pt_LU.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/pt_LU.php deleted file mode 100644 index 3d13bca..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/pt_LU.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/pt.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/pt_MO.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/pt_MO.php deleted file mode 100644 index 331fa5c..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/pt_MO.php +++ /dev/null @@ -1,19 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/pt.php', [ - 'formats' => [ - 'LT' => 'h:mm a', - 'LTS' => 'h:mm:ss a', - 'LLL' => 'D [de] MMMM [de] YYYY, h:mm a', - 'LLLL' => 'dddd, D [de] MMMM [de] YYYY, h:mm a', - ], - 'first_day_of_week' => 0, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/pt_MZ.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/pt_MZ.php deleted file mode 100644 index 93bac23..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/pt_MZ.php +++ /dev/null @@ -1,13 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/pt.php', [ - 'first_day_of_week' => 0, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/pt_PT.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/pt_PT.php deleted file mode 100644 index 3e4dc67..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/pt_PT.php +++ /dev/null @@ -1,27 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - RAP bug-glibc-locales@gnu.org - */ -return array_replace_recursive(require __DIR__.'/pt.php', [ - 'formats' => [ - 'L' => 'DD/MM/YYYY', - ], - 'months' => ['janeiro', 'fevereiro', 'março', 'abril', 'maio', 'junho', 'julho', 'agosto', 'setembro', 'outubro', 'novembro', 'dezembro'], - 'months_short' => ['jan', 'fev', 'mar', 'abr', 'mai', 'jun', 'jul', 'ago', 'set', 'out', 'nov', 'dez'], - 'weekdays' => ['domingo', 'segunda', 'terça', 'quarta', 'quinta', 'sexta', 'sábado'], - 'weekdays_short' => ['dom', 'seg', 'ter', 'qua', 'qui', 'sex', 'sáb'], - 'weekdays_min' => ['dom', 'seg', 'ter', 'qua', 'qui', 'sex', 'sáb'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 4, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/pt_ST.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/pt_ST.php deleted file mode 100644 index 3d13bca..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/pt_ST.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/pt.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/pt_TL.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/pt_TL.php deleted file mode 100644 index 3d13bca..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/pt_TL.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/pt.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/qu.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/qu.php deleted file mode 100644 index 5f3a392..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/qu.php +++ /dev/null @@ -1,21 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/es_UY.php', [ - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD/MM/YYYY', - 'LL' => 'D MMM YYYY', - 'LLL' => 'D MMMM YYYY HH:mm', - 'LLLL' => 'dddd, D MMMM, YYYY HH:mm', - ], - 'first_day_of_week' => 0, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/qu_BO.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/qu_BO.php deleted file mode 100644 index 91635d5..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/qu_BO.php +++ /dev/null @@ -1,13 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/qu.php', [ - 'first_day_of_week' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/qu_EC.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/qu_EC.php deleted file mode 100644 index 91635d5..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/qu_EC.php +++ /dev/null @@ -1,13 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/qu.php', [ - 'first_day_of_week' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/quz.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/quz.php deleted file mode 100644 index c39d9c5..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/quz.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return require __DIR__.'/quz_PE.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/quz_PE.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/quz_PE.php deleted file mode 100644 index 87b118f..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/quz_PE.php +++ /dev/null @@ -1,54 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Sugar Labs // OLPC sugarlabs.org libc-alpha@sourceware.org - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'DD/MM/YY', - ], - 'months' => ['iniru', 'phiwriru', 'marsu', 'awril', 'mayu', 'huniyu', 'huliyu', 'agustu', 'siptiyimri', 'uktuwri', 'nuwiyimri', 'tisiyimri'], - 'months_short' => ['ini', 'phi', 'mar', 'awr', 'may', 'hun', 'hul', 'agu', 'sip', 'ukt', 'nuw', 'tis'], - 'weekdays' => ['tuminku', 'lunis', 'martis', 'miyirkulis', 'juywis', 'wiyirnis', 'sawatu'], - 'weekdays_short' => ['tum', 'lun', 'mar', 'miy', 'juy', 'wiy', 'saw'], - 'weekdays_min' => ['tum', 'lun', 'mar', 'miy', 'juy', 'wiy', 'saw'], - 'day_of_first_week_of_year' => 1, - - 'minute' => ':count uchuy', // less reliable - 'min' => ':count uchuy', // less reliable - 'a_minute' => ':count uchuy', // less reliable - - 'year' => ':count wata', - 'y' => ':count wata', - 'a_year' => ':count wata', - - 'month' => ':count killa', - 'm' => ':count killa', - 'a_month' => ':count killa', - - 'week' => ':count simana', - 'w' => ':count simana', - 'a_week' => ':count simana', - - 'day' => ':count pʼunchaw', - 'd' => ':count pʼunchaw', - 'a_day' => ':count pʼunchaw', - - 'hour' => ':count ura', - 'h' => ':count ura', - 'a_hour' => ':count ura', - - 'second' => ':count iskay ñiqin', - 's' => ':count iskay ñiqin', - 'a_second' => ':count iskay ñiqin', -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/raj.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/raj.php deleted file mode 100644 index c086c9a..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/raj.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return require __DIR__.'/raj_IN.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/raj_IN.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/raj_IN.php deleted file mode 100644 index 383b0a7..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/raj_IN.php +++ /dev/null @@ -1,47 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - meghrajsuthar03@gmail.com - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'D/M/YY', - ], - 'months' => ['जनवरी', 'फरवरी', 'मारà¥à¤š', 'अपà¥à¤°à¥ˆà¤²', 'मई', 'जून', 'जà¥à¤²à¤¾à¤ˆ', 'अगसà¥à¤¤', 'सितंबर', 'अकà¥à¤Ÿà¥‚बर', 'नवंबर', 'दिसंबर'], - 'months_short' => ['जन', 'फर', 'मारà¥à¤š', 'अपà¥à¤°à¥ˆ', 'मई', 'जून', 'जà¥à¤²', 'अग', 'सित', 'अकà¥à¤Ÿà¥‚', 'नव', 'दिस'], - 'weekdays' => ['रविवार', 'सोमवार', 'मंगलà¥à¤²à¤µà¤¾à¤°', 'बà¥à¤§à¤µà¤¾à¤°', 'बृहसà¥à¤ªà¤¤à¤¿à¤µà¤¾à¤°', 'शà¥à¤•à¥à¤°à¤µà¤¾à¤°', 'शनिवार'], - 'weekdays_short' => ['रवि', 'सोम', 'मंगल', 'बà¥à¤§', 'बृहसà¥à¤ªà¤¤à¤¿', 'शà¥à¤•à¥à¤°', 'शनि'], - 'weekdays_min' => ['रवि', 'सोम', 'मंगल', 'बà¥à¤§', 'बृहसà¥à¤ªà¤¤à¤¿', 'शà¥à¤•à¥à¤°', 'शनि'], - 'day_of_first_week_of_year' => 1, - 'meridiem' => ['पूरà¥à¤µà¤¾à¤¹à¥à¤¨', 'अपराहà¥à¤¨'], - - 'year' => ':count आंहू', // less reliable - 'y' => ':count आंहू', // less reliable - 'a_year' => ':count आंहू', // less reliable - - 'month' => ':count सूरज', // less reliable - 'm' => ':count सूरज', // less reliable - 'a_month' => ':count सूरज', // less reliable - - 'week' => ':count निवाज', // less reliable - 'w' => ':count निवाज', // less reliable - 'a_week' => ':count निवाज', // less reliable - - 'day' => ':count अेक', // less reliable - 'd' => ':count अेक', // less reliable - 'a_day' => ':count अेक', // less reliable - - 'hour' => ':count दà¥à¤¨à¤¿à¤¯à¤¾à¤‚ण', // less reliable - 'h' => ':count दà¥à¤¨à¤¿à¤¯à¤¾à¤‚ण', // less reliable - 'a_hour' => ':count दà¥à¤¨à¤¿à¤¯à¤¾à¤‚ण', // less reliable -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/rm.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/rm.php deleted file mode 100644 index 1843f45..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/rm.php +++ /dev/null @@ -1,51 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/* - * Authors: - * - Philippe Vaucher - * - tjku - * - Max Melentiev - * - Juanito Fatas - * - Tsutomu Kuroda - * - Akira Matsuda - * - Christopher Dell - * - Enrique Vidal - * - Simone Carletti - * - Aaron Patterson - * - Nicolás Hock Isaza - * - sebastian de castelberg - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD.MM.YYYY', - 'LL' => 'Do MMMM YYYY', - 'LLL' => 'Do MMMM, HH:mm [Uhr]', - 'LLLL' => 'dddd, Do MMMM YYYY, HH:mm [Uhr]', - ], - 'year' => ':count onn|:count onns', - 'month' => ':count mais', - 'week' => ':count emna|:count emnas', - 'day' => ':count di|:count dis', - 'hour' => ':count oura|:count ouras', - 'minute' => ':count minuta|:count minutas', - 'second' => ':count secunda|:count secundas', - 'weekdays' => ['dumengia', 'glindesdi', 'mardi', 'mesemna', 'gievgia', 'venderdi', 'sonda'], - 'weekdays_short' => ['du', 'gli', 'ma', 'me', 'gie', 've', 'so'], - 'weekdays_min' => ['du', 'gli', 'ma', 'me', 'gie', 've', 'so'], - 'months' => ['schaner', 'favrer', 'mars', 'avrigl', 'matg', 'zercladur', 'fanadur', 'avust', 'settember', 'october', 'november', 'december'], - 'months_short' => ['schan', 'favr', 'mars', 'avr', 'matg', 'zercl', 'fan', 'avust', 'sett', 'oct', 'nov', 'dec'], - 'meridiem' => ['avantmezdi', 'suentermezdi'], - 'list' => [', ', ' e '], - 'first_day_of_week' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/rn.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/rn.php deleted file mode 100644 index 637d4e5..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/rn.php +++ /dev/null @@ -1,55 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'meridiem' => ['Z.MU.', 'Z.MW.'], - 'weekdays' => ['Ku w’indwi', 'Ku wa mbere', 'Ku wa kabiri', 'Ku wa gatatu', 'Ku wa kane', 'Ku wa gatanu', 'Ku wa gatandatu'], - 'weekdays_short' => ['cu.', 'mbe.', 'kab.', 'gtu.', 'kan.', 'gnu.', 'gnd.'], - 'weekdays_min' => ['cu.', 'mbe.', 'kab.', 'gtu.', 'kan.', 'gnu.', 'gnd.'], - 'months' => ['Nzero', 'Ruhuhuma', 'Ntwarante', 'Ndamukiza', 'Rusama', 'Ruheshi', 'Mukakaro', 'Nyandagaro', 'Nyakanga', 'Gitugutu', 'Munyonyo', 'Kigarama'], - 'months_short' => ['Mut.', 'Gas.', 'Wer.', 'Mat.', 'Gic.', 'Kam.', 'Nya.', 'Kan.', 'Nze.', 'Ukw.', 'Ugu.', 'Uku.'], - 'first_day_of_week' => 1, - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'D/M/YYYY', - 'LL' => 'D MMM YYYY', - 'LLL' => 'D MMMM YYYY HH:mm', - 'LLLL' => 'dddd D MMMM YYYY HH:mm', - ], - - 'year' => 'imyaka :count', - 'y' => 'imyaka :count', - 'a_year' => 'imyaka :count', - - 'month' => 'amezi :count', - 'm' => 'amezi :count', - 'a_month' => 'amezi :count', - - 'week' => 'indwi :count', - 'w' => 'indwi :count', - 'a_week' => 'indwi :count', - - 'day' => 'imisi :count', - 'd' => 'imisi :count', - 'a_day' => 'imisi :count', - - 'hour' => 'amasaha :count', - 'h' => 'amasaha :count', - 'a_hour' => 'amasaha :count', - - 'minute' => 'iminuta :count', - 'min' => 'iminuta :count', - 'a_minute' => 'iminuta :count', - - 'second' => 'inguvu :count', // less reliable - 's' => 'inguvu :count', // less reliable - 'a_second' => 'inguvu :count', // less reliable -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ro.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ro.php deleted file mode 100644 index 00bdaaf..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ro.php +++ /dev/null @@ -1,72 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Josh Soref - * - JD Isaacks - * - Cătălin Georgescu - * - Valentin IvaÅŸcu (oriceon) - */ -return [ - 'year' => ':count an|:count ani|:count ani', - 'a_year' => 'un an|:count ani|:count ani', - 'y' => ':count a.', - 'month' => ':count lună|:count luni|:count luni', - 'a_month' => 'o lună|:count luni|:count luni', - 'm' => ':count l.', - 'week' => ':count săptămână|:count săptămâni|:count săptămâni', - 'a_week' => 'o săptămână|:count săptămâni|:count săptămâni', - 'w' => ':count săp.', - 'day' => ':count zi|:count zile|:count zile', - 'a_day' => 'o zi|:count zile|:count zile', - 'd' => ':count z.', - 'hour' => ':count oră|:count ore|:count ore', - 'a_hour' => 'o oră|:count ore|:count ore', - 'h' => ':count o.', - 'minute' => ':count minut|:count minute|:count minute', - 'a_minute' => 'un minut|:count minute|:count minute', - 'min' => ':count m.', - 'second' => ':count secundă|:count secunde|:count secunde', - 'a_second' => 'câteva secunde|:count secunde|:count secunde', - 's' => ':count sec.', - 'ago' => ':time în urmă', - 'from_now' => 'peste :time', - 'after' => 'peste :time', - 'before' => 'acum :time', - 'diff_yesterday' => 'ieri', - 'diff_tomorrow' => 'mâine', - 'formats' => [ - 'LT' => 'H:mm', - 'LTS' => 'H:mm:ss', - 'L' => 'DD.MM.YYYY', - 'LL' => 'D MMMM YYYY', - 'LLL' => 'D MMMM YYYY H:mm', - 'LLLL' => 'dddd, D MMMM YYYY H:mm', - ], - 'calendar' => [ - 'sameDay' => '[azi la] LT', - 'nextDay' => '[mâine la] LT', - 'nextWeek' => 'dddd [la] LT', - 'lastDay' => '[ieri la] LT', - 'lastWeek' => '[fosta] dddd [la] LT', - 'sameElse' => 'L', - ], - 'months' => ['ianuarie', 'februarie', 'martie', 'aprilie', 'mai', 'iunie', 'iulie', 'august', 'septembrie', 'octombrie', 'noiembrie', 'decembrie'], - 'months_short' => ['ian.', 'feb.', 'mar.', 'apr.', 'mai', 'iun.', 'iul.', 'aug.', 'sept.', 'oct.', 'nov.', 'dec.'], - 'weekdays' => ['duminică', 'luni', 'marÈ›i', 'miercuri', 'joi', 'vineri', 'sâmbătă'], - 'weekdays_short' => ['dum', 'lun', 'mar', 'mie', 'joi', 'vin', 'sâm'], - 'weekdays_min' => ['du', 'lu', 'ma', 'mi', 'jo', 'vi', 'sâ'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 1, - 'list' => [', ', ' È™i '], - 'meridiem' => ['a.m.', 'p.m.'], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ro_MD.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ro_MD.php deleted file mode 100644 index 0ba6f68..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ro_MD.php +++ /dev/null @@ -1,20 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/ro.php', [ - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD.MM.YYYY', - 'LL' => 'D MMM YYYY', - 'LLL' => 'D MMMM YYYY, HH:mm', - 'LLLL' => 'dddd, D MMMM YYYY, HH:mm', - ], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ro_RO.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ro_RO.php deleted file mode 100644 index dd7c8f0..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ro_RO.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/ro.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/rof.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/rof.php deleted file mode 100644 index 80ab454..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/rof.php +++ /dev/null @@ -1,27 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'meridiem' => ['kang’ama', 'kingoto'], - 'weekdays' => ['Ijumapili', 'Ijumatatu', 'Ijumanne', 'Ijumatano', 'Alhamisi', 'Ijumaa', 'Ijumamosi'], - 'weekdays_short' => ['Ijp', 'Ijt', 'Ijn', 'Ijtn', 'Alh', 'Iju', 'Ijm'], - 'weekdays_min' => ['Ijp', 'Ijt', 'Ijn', 'Ijtn', 'Alh', 'Iju', 'Ijm'], - 'months' => ['Mweri wa kwanza', 'Mweri wa kaili', 'Mweri wa katatu', 'Mweri wa kaana', 'Mweri wa tanu', 'Mweri wa sita', 'Mweri wa saba', 'Mweri wa nane', 'Mweri wa tisa', 'Mweri wa ikumi', 'Mweri wa ikumi na moja', 'Mweri wa ikumi na mbili'], - 'months_short' => ['M1', 'M2', 'M3', 'M4', 'M5', 'M6', 'M7', 'M8', 'M9', 'M10', 'M11', 'M12'], - 'first_day_of_week' => 1, - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD/MM/YYYY', - 'LL' => 'D MMM YYYY', - 'LLL' => 'D MMMM YYYY HH:mm', - 'LLLL' => 'dddd, D MMMM YYYY HH:mm', - ], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ru.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ru.php deleted file mode 100644 index 28ec24f..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ru.php +++ /dev/null @@ -1,184 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/* - * Authors: - * - Bari Badamshin - * - Jørn Ølmheim - * - François B - * - Tim Fish - * - Коренберг Марк (imac) - * - Serhan Apaydın - * - RomeroMsk - * - vsn4ik - * - JD Isaacks - * - Bari Badamshin - * - Jørn Ølmheim - * - François B - * - Коренберг Марк (imac) - * - Serhan Apaydın - * - RomeroMsk - * - vsn4ik - * - JD Isaacks - * - Fellzo - * - andrey-helldar - * - Pavel Skripkin (psxx) - * - AlexWalkerson - * - Vladislav UnsealedOne - * - dima-bzz - */ -$transformDiff = function ($input) { - return strtr($input, [ - 'неделÑ' => 'неделю', - 'Ñекунда' => 'Ñекунду', - 'минута' => 'минуту', - ]); -}; - -return [ - 'year' => ':count год|:count года|:count лет', - 'y' => ':count г.|:count г.|:count л.', - 'a_year' => '{1}год|:count год|:count года|:count лет', - 'month' => ':count меÑÑц|:count меÑÑца|:count меÑÑцев', - 'm' => ':count меÑ.', - 'a_month' => '{1}меÑÑц|:count меÑÑц|:count меÑÑца|:count меÑÑцев', - 'week' => ':count неделÑ|:count недели|:count недель', - 'w' => ':count нед.', - 'a_week' => '{1}неделÑ|:count неделю|:count недели|:count недель', - 'day' => ':count день|:count днÑ|:count дней', - 'd' => ':count д.', - 'a_day' => '{1}день|:count день|:count днÑ|:count дней', - 'hour' => ':count чаÑ|:count чаÑа|:count чаÑов', - 'h' => ':count ч.', - 'a_hour' => '{1}чаÑ|:count чаÑ|:count чаÑа|:count чаÑов', - 'minute' => ':count минута|:count минуты|:count минут', - 'min' => ':count мин.', - 'a_minute' => '{1}минута|:count минута|:count минуты|:count минут', - 'second' => ':count Ñекунда|:count Ñекунды|:count Ñекунд', - 's' => ':count Ñек.', - 'a_second' => '{1}неÑколько Ñекунд|:count Ñекунду|:count Ñекунды|:count Ñекунд', - 'ago' => function ($time) use ($transformDiff) { - return $transformDiff($time).' назад'; - }, - 'from_now' => function ($time) use ($transformDiff) { - return 'через '.$transformDiff($time); - }, - 'after' => function ($time) use ($transformDiff) { - return $transformDiff($time).' поÑле'; - }, - 'before' => function ($time) use ($transformDiff) { - return $transformDiff($time).' до'; - }, - 'diff_now' => 'только что', - 'diff_yesterday' => 'вчера', - 'diff_tomorrow' => 'завтра', - 'diff_before_yesterday' => 'позавчера', - 'diff_after_tomorrow' => 'поÑлезавтра', - 'formats' => [ - 'LT' => 'H:mm', - 'LTS' => 'H:mm:ss', - 'L' => 'DD.MM.YYYY', - 'LL' => 'D MMMM YYYY г.', - 'LLL' => 'D MMMM YYYY г., H:mm', - 'LLLL' => 'dddd, D MMMM YYYY г., H:mm', - ], - 'calendar' => [ - 'sameDay' => '[СегоднÑ, в] LT', - 'nextDay' => '[Завтра, в] LT', - 'nextWeek' => function (\Carbon\CarbonInterface $current, \Carbon\CarbonInterface $other) { - if ($current->week !== $other->week) { - switch ($current->dayOfWeek) { - case 0: - return '[Ð’ Ñледующее] dddd, [в] LT'; - case 1: - case 2: - case 4: - return '[Ð’ Ñледующий] dddd, [в] LT'; - case 3: - case 5: - case 6: - return '[Ð’ Ñледующую] dddd, [в] LT'; - } - } - - if ($current->dayOfWeek === 2) { - return '[Во] dddd, [в] LT'; - } - - return '[Ð’] dddd, [в] LT'; - }, - 'lastDay' => '[Вчера, в] LT', - 'lastWeek' => function (\Carbon\CarbonInterface $current, \Carbon\CarbonInterface $other) { - if ($current->week !== $other->week) { - switch ($current->dayOfWeek) { - case 0: - return '[Ð’ прошлое] dddd, [в] LT'; - case 1: - case 2: - case 4: - return '[Ð’ прошлый] dddd, [в] LT'; - case 3: - case 5: - case 6: - return '[Ð’ прошлую] dddd, [в] LT'; - } - } - - if ($current->dayOfWeek === 2) { - return '[Во] dddd, [в] LT'; - } - - return '[Ð’] dddd, [в] LT'; - }, - 'sameElse' => 'L', - ], - 'ordinal' => function ($number, $period) { - switch ($period) { - case 'M': - case 'd': - case 'DDD': - return $number.'-й'; - case 'D': - return $number.'-го'; - case 'w': - case 'W': - return $number.'-Ñ'; - default: - return $number; - } - }, - 'meridiem' => function ($hour) { - if ($hour < 4) { - return 'ночи'; - } - if ($hour < 12) { - return 'утра'; - } - if ($hour < 17) { - return 'днÑ'; - } - - return 'вечера'; - }, - 'months' => ['ÑнварÑ', 'февралÑ', 'марта', 'апрелÑ', 'маÑ', 'июнÑ', 'июлÑ', 'авгуÑта', 'ÑентÑбрÑ', 'октÑбрÑ', 'ноÑбрÑ', 'декабрÑ'], - 'months_standalone' => ['Ñнварь', 'февраль', 'март', 'апрель', 'май', 'июнь', 'июль', 'авгуÑÑ‚', 'ÑентÑбрь', 'октÑбрь', 'ноÑбрь', 'декабрь'], - 'months_short' => ['Ñнв', 'фев', 'мар', 'апр', 'маÑ', 'июн', 'июл', 'авг', 'Ñен', 'окт', 'ноÑ', 'дек'], - 'months_short_standalone' => ['Ñнв', 'фев', 'мар', 'апр', 'май', 'июн', 'июл', 'авг', 'Ñен', 'окт', 'ноÑ', 'дек'], - 'months_regexp' => '/DD?o?\.?(\[[^\[\]]*\]|\s)+MMMM?/', - 'weekdays' => ['воÑкреÑенье', 'понедельник', 'вторник', 'Ñреду', 'четверг', 'пÑтницу', 'Ñубботу'], - 'weekdays_standalone' => ['воÑкреÑенье', 'понедельник', 'вторник', 'Ñреда', 'четверг', 'пÑтница', 'Ñуббота'], - 'weekdays_short' => ['вÑк', 'пнд', 'втр', 'Ñрд', 'чтв', 'птн', 'Ñбт'], - 'weekdays_min' => ['вÑ', 'пн', 'вт', 'ÑÑ€', 'чт', 'пт', 'Ñб'], - 'weekdays_regexp' => '/\[\s*(Ð’|в)\s*((?:прошлую|Ñледующую|Ñту)\s*)?\]\s*dddd/', - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 1, - 'list' => [', ', ' и '], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ru_BY.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ru_BY.php deleted file mode 100644 index 2c8d78f..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ru_BY.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/ru.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ru_KG.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ru_KG.php deleted file mode 100644 index 2c8d78f..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ru_KG.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/ru.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ru_KZ.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ru_KZ.php deleted file mode 100644 index 2c8d78f..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ru_KZ.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/ru.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ru_MD.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ru_MD.php deleted file mode 100644 index 2c8d78f..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ru_MD.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/ru.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ru_RU.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ru_RU.php deleted file mode 100644 index 2c8d78f..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ru_RU.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/ru.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ru_UA.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ru_UA.php deleted file mode 100644 index 0567d0e..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ru_UA.php +++ /dev/null @@ -1,20 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - RFC 2319 bug-glibc-locales@gnu.org - */ -return array_replace_recursive(require __DIR__.'/ru.php', [ - 'weekdays' => ['воÑкреÑенье', 'понедельник', 'вторник', 'Ñреда', 'четверг', 'пÑтница', 'Ñуббота'], - 'weekdays_short' => ['вÑк', 'пнд', 'вто', 'Ñрд', 'чтв', 'птн', 'Ñуб'], - 'weekdays_min' => ['вÑ', 'пн', 'вт', 'ÑÑ€', 'чт', 'пт', 'Ñу'], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/rw.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/rw.php deleted file mode 100644 index ad69034..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/rw.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return require __DIR__.'/rw_RW.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/rw_RW.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/rw_RW.php deleted file mode 100644 index 0206fc2..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/rw_RW.php +++ /dev/null @@ -1,55 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Rwanda Steve Murphy murf@e-tools.com - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'DD.MM.YYYY', - ], - 'months' => ['Mutarama', 'Gashyantare', 'Werurwe', 'Mata', 'Gicuransi', 'Kamena', 'Nyakanga', 'Kanama', 'Nzeli', 'Ukwakira', 'Ugushyingo', 'Ukuboza'], - 'months_short' => ['Mut', 'Gas', 'Wer', 'Mat', 'Gic', 'Kam', 'Nya', 'Kan', 'Nze', 'Ukw', 'Ugu', 'Uku'], - 'weekdays' => ['Ku cyumweru', 'Kuwa mbere', 'Kuwa kabiri', 'Kuwa gatatu', 'Kuwa kane', 'Kuwa gatanu', 'Kuwa gatandatu'], - 'weekdays_short' => ['Mwe', 'Mbe', 'Kab', 'Gtu', 'Kan', 'Gnu', 'Gnd'], - 'weekdays_min' => ['Mwe', 'Mbe', 'Kab', 'Gtu', 'Kan', 'Gnu', 'Gnd'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 1, - - 'second' => ':count vuna', // less reliable - 's' => ':count vuna', // less reliable - 'a_second' => ':count vuna', // less reliable - - 'year' => 'aka :count', - 'y' => 'aka :count', - 'a_year' => 'aka :count', - - 'month' => 'ezi :count', - 'm' => 'ezi :count', - 'a_month' => 'ezi :count', - - 'week' => ':count icyumweru', - 'w' => ':count icyumweru', - 'a_week' => ':count icyumweru', - - 'day' => ':count nsi', - 'd' => ':count nsi', - 'a_day' => ':count nsi', - - 'hour' => 'saha :count', - 'h' => 'saha :count', - 'a_hour' => 'saha :count', - - 'minute' => ':count -nzinya', - 'min' => ':count -nzinya', - 'a_minute' => ':count -nzinya', -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/rwk.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/rwk.php deleted file mode 100644 index f8cc72c..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/rwk.php +++ /dev/null @@ -1,27 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'meridiem' => ['utuko', 'kyiukonyi'], - 'weekdays' => ['Jumapilyi', 'Jumatatuu', 'Jumanne', 'Jumatanu', 'Alhamisi', 'Ijumaa', 'Jumamosi'], - 'weekdays_short' => ['Jpi', 'Jtt', 'Jnn', 'Jtn', 'Alh', 'Iju', 'Jmo'], - 'weekdays_min' => ['Jpi', 'Jtt', 'Jnn', 'Jtn', 'Alh', 'Iju', 'Jmo'], - 'months' => ['Januari', 'Februari', 'Machi', 'Aprilyi', 'Mei', 'Junyi', 'Julyai', 'Agusti', 'Septemba', 'Oktoba', 'Novemba', 'Desemba'], - 'months_short' => ['Jan', 'Feb', 'Mac', 'Apr', 'Mei', 'Jun', 'Jul', 'Ago', 'Sep', 'Okt', 'Nov', 'Des'], - 'first_day_of_week' => 1, - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD/MM/YYYY', - 'LL' => 'D MMM YYYY', - 'LLL' => 'D MMMM YYYY HH:mm', - 'LLLL' => 'dddd, D MMMM YYYY HH:mm', - ], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sa.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sa.php deleted file mode 100644 index abeba98..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sa.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return require __DIR__.'/sa_IN.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sa_IN.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sa_IN.php deleted file mode 100644 index 1c9c9ea..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sa_IN.php +++ /dev/null @@ -1,55 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - The Debian project Christian Perrier bubulle@debian.org - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'D-MM-YY', - ], - 'months' => ['जनवरी', 'फ़रवरी', 'मारà¥à¤š', 'अपà¥à¤°à¥‡à¤²', 'मई', 'जून', 'जà¥à¤²à¤¾à¤ˆ', 'अगसà¥à¤¤', 'सितमà¥à¤¬à¤°', 'अकà¥à¤Ÿà¥‚बर', 'नवमà¥à¤¬à¤°', 'दिसमà¥à¤¬à¤°'], - 'months_short' => ['जनवरी', 'फ़रवरी', 'मारà¥à¤š', 'अपà¥à¤°à¥‡à¤²', 'मई', 'जून', 'जà¥à¤²à¤¾à¤ˆ', 'अगसà¥à¤¤', 'सितमà¥à¤¬à¤°', 'अकà¥à¤Ÿà¥‚बर', 'नवमà¥à¤¬à¤°', 'दिसमà¥à¤¬à¤°'], - 'weekdays' => ['रविवासर:', 'सोमवासर:', 'मंगलवासर:', 'बà¥à¤§à¤µà¤¾à¤¸à¤°:', 'बृहसà¥à¤ªà¤¤à¤¿à¤µà¤¾à¤¸à¤°à¤ƒ', 'शà¥à¤•à¥à¤°à¤µà¤¾à¤¸à¤°', 'शनिवासर:'], - 'weekdays_short' => ['रविः', 'सोम:', 'मंगल:', 'बà¥à¤§:', 'बृहसà¥à¤ªà¤¤à¤¿à¤ƒ', 'शà¥à¤•à¥à¤°', 'शनि:'], - 'weekdays_min' => ['रविः', 'सोम:', 'मंगल:', 'बà¥à¤§:', 'बृहसà¥à¤ªà¤¤à¤¿à¤ƒ', 'शà¥à¤•à¥à¤°', 'शनि:'], - 'day_of_first_week_of_year' => 1, - 'meridiem' => ['पूरà¥à¤µà¤¾à¤¹à¥à¤¨', 'अपराहà¥à¤¨'], - - 'minute' => ':count होरा', // less reliable - 'min' => ':count होरा', // less reliable - 'a_minute' => ':count होरा', // less reliable - - 'year' => ':count वरà¥à¤·', - 'y' => ':count वरà¥à¤·', - 'a_year' => ':count वरà¥à¤·', - - 'month' => ':count मास', - 'm' => ':count मास', - 'a_month' => ':count मास', - - 'week' => ':count सपà¥à¤¤à¤¾à¤¹à¤ƒ saptahaÄ¥', - 'w' => ':count सपà¥à¤¤à¤¾à¤¹à¤ƒ saptahaÄ¥', - 'a_week' => ':count सपà¥à¤¤à¤¾à¤¹à¤ƒ saptahaÄ¥', - - 'day' => ':count दिन', - 'd' => ':count दिन', - 'a_day' => ':count दिन', - - 'hour' => ':count घणà¥à¤Ÿà¤¾', - 'h' => ':count घणà¥à¤Ÿà¤¾', - 'a_hour' => ':count घणà¥à¤Ÿà¤¾', - - 'second' => ':count दà¥à¤µà¤¿à¤¤à¥€à¤¯à¤ƒ', - 's' => ':count दà¥à¤µà¤¿à¤¤à¥€à¤¯à¤ƒ', - 'a_second' => ':count दà¥à¤µà¤¿à¤¤à¥€à¤¯à¤ƒ', -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sah.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sah.php deleted file mode 100644 index 797ff4d..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sah.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return require __DIR__.'/sah_RU.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sah_RU.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sah_RU.php deleted file mode 100644 index 358e395..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sah_RU.php +++ /dev/null @@ -1,27 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Valery Timiriliyev Valery Timiriliyev timiriliyev@gmail.com - */ -return array_replace_recursive(require __DIR__.'/ru.php', [ - 'formats' => [ - 'L' => 'YYYY.MM.DD', - ], - 'months' => ['тохÑунньу', 'олунньу', 'кулун тутар', 'Ð¼ÑƒÑƒÑ ÑƒÑтар', 'ыам ыйын', 'бÑÑ Ñ‹Ð¹Ñ‹Ð½', 'от ыйын', 'атырдьах ыйын', 'балаҕан ыйын', 'алтынньы', 'ÑÑтинньи', 'ахÑынньы'], - 'months_short' => ['тохÑ', 'олун', 'кул', 'мууÑ', 'ыам', 'бÑÑ', 'от', 'атыр', 'бал', 'алт', 'ÑÑÑ‚', 'ахÑ'], - 'weekdays' => ['баÑкыһыанньа', 'бÑнидиÑнньик', 'оптуорунньук', 'ÑÑÑ€ÑдÑ', 'чÑппиÑÑ€', 'бÑÑтинÑÑ', 'Ñубуота'], - 'weekdays_short' => ['бÑ', 'бн', 'оп', 'ÑÑ€', 'чп', 'бт', 'Ñб'], - 'weekdays_min' => ['бÑ', 'бн', 'оп', 'ÑÑ€', 'чп', 'бт', 'Ñб'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/saq.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/saq.php deleted file mode 100644 index eebfac9..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/saq.php +++ /dev/null @@ -1,26 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'meridiem' => ['Tesiran', 'Teipa'], - 'weekdays' => ['Mderot ee are', 'Mderot ee kuni', 'Mderot ee ong’wan', 'Mderot ee inet', 'Mderot ee ile', 'Mderot ee sapa', 'Mderot ee kwe'], - 'weekdays_short' => ['Are', 'Kun', 'Ong', 'Ine', 'Ile', 'Sap', 'Kwe'], - 'weekdays_min' => ['Are', 'Kun', 'Ong', 'Ine', 'Ile', 'Sap', 'Kwe'], - 'months' => ['Lapa le obo', 'Lapa le waare', 'Lapa le okuni', 'Lapa le ong’wan', 'Lapa le imet', 'Lapa le ile', 'Lapa le sapa', 'Lapa le isiet', 'Lapa le saal', 'Lapa le tomon', 'Lapa le tomon obo', 'Lapa le tomon waare'], - 'months_short' => ['Obo', 'Waa', 'Oku', 'Ong', 'Ime', 'Ile', 'Sap', 'Isi', 'Saa', 'Tom', 'Tob', 'Tow'], - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD/MM/YYYY', - 'LL' => 'D MMM YYYY', - 'LLL' => 'D MMMM YYYY HH:mm', - 'LLLL' => 'dddd, D MMMM YYYY HH:mm', - ], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sat.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sat.php deleted file mode 100644 index b8e0af7..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sat.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return require __DIR__.'/sat_IN.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sat_IN.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sat_IN.php deleted file mode 100644 index cca494f..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sat_IN.php +++ /dev/null @@ -1,54 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Red Hat Pune libc-alpha@sourceware.org - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'D/M/YY', - ], - 'months' => ['जनवरी', 'फरवरी', 'मारà¥à¤š', 'अपà¥à¤°à¥‡à¤²', 'मई', 'जà¥à¤¨', 'जà¥à¤²à¤¾à¤ˆ', 'अगसà¥à¤¤', 'सितमà¥à¤¬à¤°', 'अखथबर', 'नवमà¥à¤¬à¤°', 'दिसमà¥à¤¬à¤°'], - 'months_short' => ['जनवरी', 'फरवरी', 'मारà¥à¤š', 'अपà¥à¤°à¥‡à¤²', 'मई', 'जà¥à¤¨', 'जà¥à¤²à¤¾à¤ˆ', 'अगसà¥à¤¤', 'सितमà¥à¤¬à¤°', 'अखथबर', 'नवमà¥à¤¬à¤°', 'दिसमà¥à¤¬à¤°'], - 'weekdays' => ['सिंगेमाà¤à¤¹à¤¾à¤', 'ओतेमाà¤à¤¹à¤¾à¤', 'बालेमाà¤à¤¹à¤¾à¤', 'सागà¥à¤¨à¤®à¤¾à¤à¤¹à¤¾à¤', 'सारदीमाà¤à¤¹à¤¾à¤', 'जारà¥à¤®à¤®à¤¾à¤à¤¹à¤¾à¤', 'ञà¥à¤¹à¥à¤®à¤®à¤¾à¤à¤¹à¤¾à¤'], - 'weekdays_short' => ['सिंगे', 'ओते', 'बाले', 'सागà¥à¤¨', 'सारदी', 'जारà¥à¤®', 'ञà¥à¤¹à¥à¤®'], - 'weekdays_min' => ['सिंगे', 'ओते', 'बाले', 'सागà¥à¤¨', 'सारदी', 'जारà¥à¤®', 'ञà¥à¤¹à¥à¤®'], - 'day_of_first_week_of_year' => 1, - - 'month' => ':count Å„indạ cando', // less reliable - 'm' => ':count Å„indạ cando', // less reliable - 'a_month' => ':count Å„indạ cando', // less reliable - - 'week' => ':count mãhã', // less reliable - 'w' => ':count mãhã', // less reliable - 'a_week' => ':count mãhã', // less reliable - - 'hour' => ':count ᱥᱳᱱᱚ', // less reliable - 'h' => ':count ᱥᱳᱱᱚ', // less reliable - 'a_hour' => ':count ᱥᱳᱱᱚ', // less reliable - - 'minute' => ':count ᱯᱤᱞᱪᱩ', // less reliable - 'min' => ':count ᱯᱤᱞᱪᱩ', // less reliable - 'a_minute' => ':count ᱯᱤᱞᱪᱩ', // less reliable - - 'second' => ':count ar', // less reliable - 's' => ':count ar', // less reliable - 'a_second' => ':count ar', // less reliable - - 'year' => ':count ne̲s', - 'y' => ':count ne̲s', - 'a_year' => ':count ne̲s', - - 'day' => ':count ᱫᱤᱱ', - 'd' => ':count ᱫᱤᱱ', - 'a_day' => ':count ᱫᱤᱱ', -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sbp.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sbp.php deleted file mode 100644 index 9b73783..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sbp.php +++ /dev/null @@ -1,27 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'meridiem' => ['Lwamilawu', 'Pashamihe'], - 'weekdays' => ['Mulungu', 'Jumatatu', 'Jumanne', 'Jumatano', 'Alahamisi', 'Ijumaa', 'Jumamosi'], - 'weekdays_short' => ['Mul', 'Jtt', 'Jnn', 'Jtn', 'Alh', 'Iju', 'Jmo'], - 'weekdays_min' => ['Mul', 'Jtt', 'Jnn', 'Jtn', 'Alh', 'Iju', 'Jmo'], - 'months' => ['Mupalangulwa', 'Mwitope', 'Mushende', 'Munyi', 'Mushende Magali', 'Mujimbi', 'Mushipepo', 'Mupuguto', 'Munyense', 'Mokhu', 'Musongandembwe', 'Muhaano'], - 'months_short' => ['Mup', 'Mwi', 'Msh', 'Mun', 'Mag', 'Muj', 'Msp', 'Mpg', 'Mye', 'Mok', 'Mus', 'Muh'], - 'first_day_of_week' => 1, - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD/MM/YYYY', - 'LL' => 'D MMM YYYY', - 'LLL' => 'D MMMM YYYY HH:mm', - 'LLLL' => 'dddd, D MMMM YYYY HH:mm', - ], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sc.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sc.php deleted file mode 100644 index b1bdb00..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sc.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return require __DIR__.'/sc_IT.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sc_IT.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sc_IT.php deleted file mode 100644 index a34e37f..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sc_IT.php +++ /dev/null @@ -1,55 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Sardinian Translators Team Massimeddu Cireddu massimeddu@gmail.com - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'DD. MM. YY', - ], - 'months' => ['Ghennàrgiu', 'Freàrgiu', 'Martzu', 'Abrile', 'Maju', 'Làmpadas', 'Argiolas//Trìulas', 'Austu', 'Cabudanni', 'Santugaine//Ladàmine', 'Onniasantu//Santandria', 'Nadale//Idas'], - 'months_short' => ['Ghe', 'Fre', 'Mar', 'Abr', 'Maj', 'Làm', 'Arg', 'Aus', 'Cab', 'Lad', 'Onn', 'Nad'], - 'weekdays' => ['Domìnigu', 'Lunis', 'Martis', 'Mèrcuris', 'Giòbia', 'Chenàbura', 'Sàbadu'], - 'weekdays_short' => ['Dom', 'Lun', 'Mar', 'Mèr', 'Giò', 'Che', 'Sàb'], - 'weekdays_min' => ['Dom', 'Lun', 'Mar', 'Mèr', 'Giò', 'Che', 'Sàb'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 4, - - 'minute' => ':count mementu', // less reliable - 'min' => ':count mementu', // less reliable - 'a_minute' => ':count mementu', // less reliable - - 'year' => ':count annu', - 'y' => ':count annu', - 'a_year' => ':count annu', - - 'month' => ':count mese', - 'm' => ':count mese', - 'a_month' => ':count mese', - - 'week' => ':count chida', - 'w' => ':count chida', - 'a_week' => ':count chida', - - 'day' => ':count dí', - 'd' => ':count dí', - 'a_day' => ':count dí', - - 'hour' => ':count ora', - 'h' => ':count ora', - 'a_hour' => ':count ora', - - 'second' => ':count secundu', - 's' => ':count secundu', - 'a_second' => ':count secundu', -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sd.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sd.php deleted file mode 100644 index 3751ef4..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sd.php +++ /dev/null @@ -1,79 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -$months = [ - 'جنوري', - 'Ùيبروري', - 'مارچ', - 'اپريل', - 'مئي', - 'جون', - 'جولاءÙ', - 'آگسٽ', - 'سيپٽمبر', - 'آڪٽوبر', - 'نومبر', - 'ڊسمبر', -]; - -$weekdays = [ - 'آچر', - 'سومر', - 'اڱارو', - 'اربع', - 'خميس', - 'جمع', - 'ڇنڇر', -]; - -/* - * Authors: - * - Narain Sagar - * - Sawood Alam - * - Narain Sagar - */ -return [ - 'year' => '{1}'.'Ù‡Úª سال'.'|:count '.'سال', - 'month' => '{1}'.'Ù‡Úª مهينو'.'|:count '.'مهينا', - 'week' => '{1}'.'Ú¾Úª Ú¾Ùتو'.'|:count '.'Ù‡Ùتا', - 'day' => '{1}'.'Ù‡Úª Úينهن'.'|:count '.'Úينهن', - 'hour' => '{1}'.'Ù‡Úª ڪلاڪ'.'|:count '.'ڪلاڪ', - 'minute' => '{1}'.'Ù‡Úª منٽ'.'|:count '.'منٽ', - 'second' => '{1}'.'چند سيڪنڊ'.'|:count '.'سيڪنڊ', - 'ago' => ':time اڳ', - 'from_now' => ':time پوء', - 'diff_yesterday' => 'ڪالهه', - 'diff_tomorrow' => 'سڀاڻي', - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD/MM/YYYY', - 'LL' => 'D MMMM YYYY', - 'LLL' => 'D MMMM YYYY HH:mm', - 'LLLL' => 'ddddØŒ D MMMM YYYY HH:mm', - ], - 'calendar' => [ - 'sameDay' => '[اڄ] LT', - 'nextDay' => '[سڀاڻي] LT', - 'nextWeek' => 'dddd [اڳين Ù‡Ùتي تي] LT', - 'lastDay' => '[ڪالهه] LT', - 'lastWeek' => '[گزريل Ù‡Ùتي] dddd [تي] LT', - 'sameElse' => 'L', - ], - 'meridiem' => ['صبح', 'شام'], - 'months' => $months, - 'months_short' => $months, - 'weekdays' => $weekdays, - 'weekdays_short' => $weekdays, - 'weekdays_min' => $weekdays, - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 4, - 'list' => ['ØŒ ', ' Û½ '], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sd_IN.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sd_IN.php deleted file mode 100644 index d3af2c7..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sd_IN.php +++ /dev/null @@ -1,26 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Red Hat, Pune bug-glibc-locales@gnu.org - */ -return array_replace_recursive(require __DIR__.'/sd.php', [ - 'formats' => [ - 'L' => 'D/M/YY', - ], - 'months' => ['جنوري', 'Ùبروري', 'مارچ', 'اپريل', 'مي', 'جون', 'جولاءÙ', 'آگسٽ', 'سيپٽيمبر', 'آڪٽوبر', 'نومبر', 'ڊسمبر'], - 'months_short' => ['جنوري', 'Ùبروري', 'مارچ', 'اپريل', 'مي', 'جون', 'جولاءÙ', 'آگسٽ', 'سيپٽيمبر', 'آڪٽوبر', 'نومبر', 'ڊسمبر'], - 'weekdays' => ['آرتوارÙ', 'سومرÙ', 'منگلÙ', 'Ù»ÙڌرÙ', 'وسپت', 'جÙمو', 'ڇنڇر'], - 'weekdays_short' => ['آرتوارÙ', 'سومرÙ', 'منگلÙ', 'Ù»ÙڌرÙ', 'وسپت', 'جÙمو', 'ڇنڇر'], - 'weekdays_min' => ['آرتوارÙ', 'سومرÙ', 'منگلÙ', 'Ù»ÙڌرÙ', 'وسپت', 'جÙمو', 'ڇنڇر'], - 'day_of_first_week_of_year' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sd_IN@devanagari.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sd_IN@devanagari.php deleted file mode 100644 index d76b24d..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sd_IN@devanagari.php +++ /dev/null @@ -1,27 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Red Hat, Pune bug-glibc-locales@gnu.org - */ -return array_replace_recursive(require __DIR__.'/sd.php', [ - 'formats' => [ - 'L' => 'D/M/YY', - ], - 'months' => ['जनवरी', 'फबरवरी', 'मारà¥à¤šà¤¿', 'अपà¥à¤°à¥‡à¤²', 'मे', 'जूनि', 'जूलाइ', 'आगसà¥à¤Ÿà¥', 'सेपà¥à¤Ÿà¥‡à¤‚बरू', 'आकà¥à¤Ÿà¥‚बरू', 'नवंबरू', 'ॾिसंबरू'], - 'months_short' => ['जनवरी', 'फबरवरी', 'मारà¥à¤šà¤¿', 'अपà¥à¤°à¥‡à¤²', 'मे', 'जूनि', 'जूलाइ', 'आगसà¥à¤Ÿà¥', 'सेपà¥à¤Ÿà¥‡à¤‚बरू', 'आकà¥à¤Ÿà¥‚बरू', 'नवंबरू', 'ॾिसंबरू'], - 'weekdays' => ['आरà¥à¤¤à¤µà¤¾à¤°à¥‚', 'सूमरू', 'मंगलू', 'ॿà¥à¤§à¤°à¥‚', 'विसà¥à¤ªà¤¤à¤¿', 'जà¥à¤®à¥‹', 'छंछस'], - 'weekdays_short' => ['आरà¥à¤¤à¤µà¤¾à¤°à¥‚', 'सूमरू', 'मंगलू', 'ॿà¥à¤§à¤°à¥‚', 'विसà¥à¤ªà¤¤à¤¿', 'जà¥à¤®à¥‹', 'छंछस'], - 'weekdays_min' => ['आरà¥à¤¤à¤µà¤¾à¤°à¥‚', 'सूमरू', 'मंगलू', 'ॿà¥à¤§à¤°à¥‚', 'विसà¥à¤ªà¤¤à¤¿', 'जà¥à¤®à¥‹', 'छंछस'], - 'day_of_first_week_of_year' => 1, - 'meridiem' => ['म.पू.', 'म.नं.'], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/se.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/se.php deleted file mode 100644 index ad26c1e..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/se.php +++ /dev/null @@ -1,69 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/* - * Authors: - * - François B - * - Karamell - */ -return [ - 'year' => '{1}:count jahki|:count jagit', - 'a_year' => '{1}okta jahki|:count jagit', - 'y' => ':count j.', - 'month' => '{1}:count mánnu|:count mánut', - 'a_month' => '{1}okta mánnu|:count mánut', - 'm' => ':count mán.', - 'week' => '{1}:count vahkku|:count vahkku', - 'a_week' => '{1}okta vahkku|:count vahkku', - 'w' => ':count v.', - 'day' => '{1}:count beaivi|:count beaivvit', - 'a_day' => '{1}okta beaivi|:count beaivvit', - 'd' => ':count b.', - 'hour' => '{1}:count diimmu|:count diimmut', - 'a_hour' => '{1}okta diimmu|:count diimmut', - 'h' => ':count d.', - 'minute' => '{1}:count minuhta|:count minuhtat', - 'a_minute' => '{1}okta minuhta|:count minuhtat', - 'min' => ':count min.', - 'second' => '{1}:count sekunddat|:count sekunddat', - 'a_second' => '{1}moadde sekunddat|:count sekunddat', - 's' => ':count s.', - 'ago' => 'maÅ‹it :time', - 'from_now' => ':time geažes', - 'diff_yesterday' => 'ikte', - 'diff_tomorrow' => 'ihttin', - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD.MM.YYYY', - 'LL' => 'MMMM D. [b.] YYYY', - 'LLL' => 'MMMM D. [b.] YYYY [ti.] HH:mm', - 'LLLL' => 'dddd, MMMM D. [b.] YYYY [ti.] HH:mm', - ], - 'calendar' => [ - 'sameDay' => '[otne ti] LT', - 'nextDay' => '[ihttin ti] LT', - 'nextWeek' => 'dddd [ti] LT', - 'lastDay' => '[ikte ti] LT', - 'lastWeek' => '[ovddit] dddd [ti] LT', - 'sameElse' => 'L', - ], - 'ordinal' => ':number.', - 'months' => ['oÄ‘Ä‘ajagemánnu', 'guovvamánnu', 'njukÄamánnu', 'cuoÅ‹ománnu', 'miessemánnu', 'geassemánnu', 'suoidnemánnu', 'borgemánnu', 'ÄakÄamánnu', 'golggotmánnu', 'skábmamánnu', 'juovlamánnu'], - 'months_short' => ['oÄ‘Ä‘j', 'guov', 'njuk', 'cuo', 'mies', 'geas', 'suoi', 'borg', 'ÄakÄ', 'golg', 'skáb', 'juov'], - 'weekdays' => ['sotnabeaivi', 'vuossárga', 'maÅ‹Å‹ebárga', 'gaskavahkku', 'duorastat', 'bearjadat', 'lávvardat'], - 'weekdays_short' => ['sotn', 'vuos', 'maÅ‹', 'gask', 'duor', 'bear', 'láv'], - 'weekdays_min' => ['s', 'v', 'm', 'g', 'd', 'b', 'L'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 4, - 'list' => [', ', ' ja '], - 'meridiem' => ['i.b.', 'e.b.'], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/se_FI.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/se_FI.php deleted file mode 100644 index b2b967e..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/se_FI.php +++ /dev/null @@ -1,26 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/se.php', [ - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD.MM.YYYY', - 'LL' => 'D MMM YYYY', - 'LLL' => 'D MMMM YYYY HH:mm', - 'LLLL' => 'dddd D MMMM YYYY HH:mm', - ], - 'months' => ['oÄ‘Ä‘ajagemánnu', 'guovvamánnu', 'njukÄamánnu', 'cuoÅ‹ománnu', 'miessemánnu', 'geassemánnu', 'suoidnemánnu', 'borgemánnu', 'ÄakÄamánnu', 'golggotmánnu', 'skábmamánnu', 'juovlamánnu'], - 'months_short' => ['oÄ‘Ä‘j', 'guov', 'njuk', 'cuoÅ‹', 'mies', 'geas', 'suoi', 'borg', 'ÄakÄ', 'golg', 'skáb', 'juov'], - 'weekdays' => ['sotnabeaivi', 'mánnodat', 'disdat', 'gaskavahkku', 'duorastat', 'bearjadat', 'lávvordat'], - 'weekdays_short' => ['so', 'má', 'di', 'ga', 'du', 'be', 'lá'], - 'weekdays_min' => ['so', 'má', 'di', 'ga', 'du', 'be', 'lá'], - 'meridiem' => ['i', 'e'], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/se_NO.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/se_NO.php deleted file mode 100644 index 83bbf78..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/se_NO.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/se.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/se_SE.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/se_SE.php deleted file mode 100644 index 83bbf78..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/se_SE.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/se.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/seh.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/seh.php deleted file mode 100644 index 3ad889a..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/seh.php +++ /dev/null @@ -1,25 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'weekdays' => ['Dimingu', 'Chiposi', 'Chipiri', 'Chitatu', 'Chinai', 'Chishanu', 'Sabudu'], - 'weekdays_short' => ['Dim', 'Pos', 'Pir', 'Tat', 'Nai', 'Sha', 'Sab'], - 'weekdays_min' => ['Dim', 'Pos', 'Pir', 'Tat', 'Nai', 'Sha', 'Sab'], - 'months' => ['Janeiro', 'Fevreiro', 'Marco', 'Abril', 'Maio', 'Junho', 'Julho', 'Augusto', 'Setembro', 'Otubro', 'Novembro', 'Decembro'], - 'months_short' => ['Jan', 'Fev', 'Mar', 'Abr', 'Mai', 'Jun', 'Jul', 'Aug', 'Set', 'Otu', 'Nov', 'Dec'], - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'D/M/YYYY', - 'LL' => 'd [de] MMM [de] YYYY', - 'LLL' => 'd [de] MMMM [de] YYYY HH:mm', - 'LLLL' => 'dddd, d [de] MMMM [de] YYYY HH:mm', - ], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ses.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ses.php deleted file mode 100644 index 9355184..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ses.php +++ /dev/null @@ -1,55 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'meridiem' => ['Adduha', 'Aluula'], - 'weekdays' => ['Alhadi', 'Atinni', 'Atalaata', 'Alarba', 'Alhamiisa', 'Alzuma', 'Asibti'], - 'weekdays_short' => ['Alh', 'Ati', 'Ata', 'Ala', 'Alm', 'Alz', 'Asi'], - 'weekdays_min' => ['Alh', 'Ati', 'Ata', 'Ala', 'Alm', 'Alz', 'Asi'], - 'months' => ['Žanwiye', 'Feewiriye', 'Marsi', 'Awiril', 'Me', 'ŽuweÅ‹', 'Žuyye', 'Ut', 'Sektanbur', 'Oktoobur', 'Noowanbur', 'Deesanbur'], - 'months_short' => ['Žan', 'Fee', 'Mar', 'Awi', 'Me', 'Žuw', 'Žuy', 'Ut', 'Sek', 'Okt', 'Noo', 'Dee'], - 'first_day_of_week' => 1, - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'D/M/YYYY', - 'LL' => 'D MMM YYYY', - 'LLL' => 'D MMMM YYYY HH:mm', - 'LLLL' => 'dddd D MMMM YYYY HH:mm', - ], - - 'month' => ':count alaada', // less reliable - 'm' => ':count alaada', // less reliable - 'a_month' => ':count alaada', // less reliable - - 'hour' => ':count ɲaajin', // less reliable - 'h' => ':count ɲaajin', // less reliable - 'a_hour' => ':count ɲaajin', // less reliable - - 'minute' => ':count zarbu', // less reliable - 'min' => ':count zarbu', // less reliable - 'a_minute' => ':count zarbu', // less reliable - - 'year' => ':count jiiri', - 'y' => ':count jiiri', - 'a_year' => ':count jiiri', - - 'week' => ':count jirbiiyye', - 'w' => ':count jirbiiyye', - 'a_week' => ':count jirbiiyye', - - 'day' => ':count zaari', - 'd' => ':count zaari', - 'a_day' => ':count zaari', - - 'second' => ':count ihinkante', - 's' => ':count ihinkante', - 'a_second' => ':count ihinkante', -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sg.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sg.php deleted file mode 100644 index 7f8e9da..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sg.php +++ /dev/null @@ -1,51 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'meridiem' => ['ND', 'LK'], - 'weekdays' => ['Bikua-ôko', 'Bïkua-ûse', 'Bïkua-ptâ', 'Bïkua-usïö', 'Bïkua-okü', 'Lâpôsö', 'Lâyenga'], - 'weekdays_short' => ['Bk1', 'Bk2', 'Bk3', 'Bk4', 'Bk5', 'Lâp', 'Lây'], - 'weekdays_min' => ['Bk1', 'Bk2', 'Bk3', 'Bk4', 'Bk5', 'Lâp', 'Lây'], - 'months' => ['Nyenye', 'Fulundïgi', 'Mbängü', 'Ngubùe', 'Bêläwü', 'Föndo', 'Lengua', 'Kükürü', 'Mvuka', 'Ngberere', 'Nabändüru', 'Kakauka'], - 'months_short' => ['Nye', 'Ful', 'Mbä', 'Ngu', 'Bêl', 'Fön', 'Len', 'Kük', 'Mvu', 'Ngb', 'Nab', 'Kak'], - 'first_day_of_week' => 1, - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'D/M/YYYY', - 'LL' => 'D MMM, YYYY', - 'LLL' => 'D MMMM YYYY HH:mm', - 'LLLL' => 'dddd D MMMM YYYY HH:mm', - ], - - 'year' => ':count dÄ', // less reliable - 'y' => ':count dÄ', // less reliable - 'a_year' => ':count dÄ', // less reliable - - 'week' => ':count bïkua-okü', // less reliable - 'w' => ':count bïkua-okü', // less reliable - 'a_week' => ':count bïkua-okü', // less reliable - - 'day' => ':count ziggawâ', // less reliable - 'd' => ':count ziggawâ', // less reliable - 'a_day' => ':count ziggawâ', // less reliable - - 'hour' => ':count yângâködörö', // less reliable - 'h' => ':count yângâködörö', // less reliable - 'a_hour' => ':count yângâködörö', // less reliable - - 'second' => ':count bïkua-ôko', // less reliable - 's' => ':count bïkua-ôko', // less reliable - 'a_second' => ':count bïkua-ôko', // less reliable - - 'month' => ':count Nze tî ngu', - 'm' => ':count Nze tî ngu', - 'a_month' => ':count Nze tî ngu', -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sgs.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sgs.php deleted file mode 100644 index 365dff0..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sgs.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return require __DIR__.'/sgs_LT.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sgs_LT.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sgs_LT.php deleted file mode 100644 index f055ac9..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sgs_LT.php +++ /dev/null @@ -1,55 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Arnas UdoviÄius bug-glibc-locales@gnu.org - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'YYYY.MM.DD', - ], - 'months' => ['sausÄ—', 'vasarÄ—', 'kuova', 'balondÄ—', 'gegožės', 'bÄ—rželÄ—', 'lëpas', 'rogpjÅ«tÄ—', 'siejÄ—s', 'spalÄ—', 'lapkrÄ—stÄ—', 'grůdÄ—'], - 'months_short' => ['Sau', 'Vas', 'Kuo', 'Bal', 'Geg', 'BÄ—r', 'Lëp', 'Rgp', 'Sie', 'Spa', 'Lap', 'Grd'], - 'weekdays' => ['nedielÄ—s dëna', 'panedielis', 'oterninks', 'sereda', 'Äetvergs', 'petnÄ«ÄÄ—', 'sobata'], - 'weekdays_short' => ['Nd', 'Pn', 'Ot', 'Sr', 'ÄŒt', 'Pt', 'Sb'], - 'weekdays_min' => ['Nd', 'Pn', 'Ot', 'Sr', 'ÄŒt', 'Pt', 'Sb'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 4, - - 'minute' => ':count mažos', // less reliable - 'min' => ':count mažos', // less reliable - 'a_minute' => ':count mažos', // less reliable - - 'year' => ':count metÄ', - 'y' => ':count metÄ', - 'a_year' => ':count metÄ', - - 'month' => ':count mienou', - 'm' => ':count mienou', - 'a_month' => ':count mienou', - - 'week' => ':count nedielÄ—', - 'w' => ':count nedielÄ—', - 'a_week' => ':count nedielÄ—', - - 'day' => ':count dÄ«na', - 'd' => ':count dÄ«na', - 'a_day' => ':count dÄ«na', - - 'hour' => ':count adÄ«na', - 'h' => ':count adÄ«na', - 'a_hour' => ':count adÄ«na', - - 'second' => ':count SekondÄ—', - 's' => ':count SekondÄ—', - 'a_second' => ':count SekondÄ—', -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sh.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sh.php deleted file mode 100644 index b2255ec..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sh.php +++ /dev/null @@ -1,62 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -// @codeCoverageIgnoreStart -if (class_exists('Symfony\\Component\\Translation\\PluralizationRules')) { - \Symfony\Component\Translation\PluralizationRules::set(function ($number) { - return ((1 == $number % 10) && (11 != $number % 100)) ? 0 : ((($number % 10 >= 2) && ($number % 10 <= 4) && (($number % 100 < 10) || ($number % 100 >= 20))) ? 1 : 2); - }, 'sh'); -} -// @codeCoverageIgnoreEnd - -/* - * Authors: - * - Томица Кораћ - * - Enrique Vidal - * - Christopher Dell - * - dmilisic - * - danijel - * - Miroslav Matkovic (mikki021) - */ -return [ - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD/MM/YYYY', - 'LL' => 'MMMM D, YYYY', - 'LLL' => 'DD MMM HH:mm', - 'LLLL' => 'MMMM DD, YYYY HH:mm', - ], - 'year' => ':count godina|:count godine|:count godina', - 'y' => ':count godina|:count godine|:count godina', - 'month' => ':count mesec|:count meseca|:count meseci', - 'm' => ':count mesec|:count meseca|:count meseci', - 'week' => ':count nedelja|:count nedelje|:count nedelja', - 'w' => ':count nedelja|:count nedelje|:count nedelja', - 'day' => ':count dan|:count dana|:count dana', - 'd' => ':count dan|:count dana|:count dana', - 'hour' => ':count Äas|:count Äasa|:count Äasova', - 'h' => ':count Äas|:count Äasa|:count Äasova', - 'minute' => ':count minut|:count minuta|:count minuta', - 'min' => ':count minut|:count minuta|:count minuta', - 'second' => ':count sekund|:count sekunde|:count sekundi', - 's' => ':count sekund|:count sekunde|:count sekundi', - 'ago' => 'pre :time', - 'from_now' => 'za :time', - 'after' => 'nakon :time', - 'before' => ':time raniјe', - 'weekdays' => ['Nedelja', 'Ponedeljak', 'Utorak', 'Sreda', 'ÄŒetvrtak', 'Petak', 'Subota'], - 'weekdays_short' => ['Ned', 'Pon', 'Uto', 'Sre', 'ÄŒet', 'Pet', 'Sub'], - 'weekdays_min' => ['Ned', 'Pon', 'Uto', 'Sre', 'ÄŒet', 'Pet', 'Sub'], - 'months' => ['Januar', 'Februar', 'Mart', 'April', 'Maj', 'Jun', 'Jul', 'Avgust', 'Septembar', 'Oktobar', 'Novembar', 'Decembar'], - 'months_short' => ['Jan', 'Feb', 'Mar', 'Apr', 'Maj', 'Jun', 'Jul', 'Avg', 'Sep', 'Okt', 'Nov', 'Dec'], - 'list' => [', ', ' i '], - 'meridiem' => ['pre podne', 'po podne'], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/shi.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/shi.php deleted file mode 100644 index ee5aa0b..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/shi.php +++ /dev/null @@ -1,56 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'meridiem' => ['ⵜⵉⴼⴰⵡⵜ', 'ⵜⴰⴷⴳⴳⵯⴰⵜ'], - 'weekdays' => ['ⴰⵙⴰⵎⴰⵙ', 'â´°âµ¢âµâ´°âµ™', 'ⴰⵙⵉâµâ´°âµ™', 'ⴰⴽⵕⴰⵙ', 'ⴰⴽⵡⴰⵙ', 'ⵙⵉⵎⵡⴰⵙ', 'ⴰⵙⵉⴹⵢⴰⵙ'], - 'weekdays_short' => ['ⴰⵙⴰ', 'â´°âµ¢âµ', 'ⴰⵙⵉ', 'ⴰⴽⵕ', 'ⴰⴽⵡ', 'ⴰⵙⵉⵎ', 'ⴰⵙⵉⴹ'], - 'weekdays_min' => ['ⴰⵙⴰ', 'â´°âµ¢âµ', 'ⴰⵙⵉ', 'ⴰⴽⵕ', 'ⴰⴽⵡ', 'ⴰⵙⵉⵎ', 'ⴰⵙⵉⴹ'], - 'months' => ['ⵉâµâµâ´°âµ¢âµ”', 'ⴱⵕⴰⵢⵕ', 'ⵎⴰⵕⵚ', 'ⵉⴱⵔⵉⵔ', 'ⵎⴰⵢⵢⵓ', 'ⵢⵓâµâµ¢âµ“', 'ⵢⵓâµâµ¢âµ“âµ£', 'ⵖⵓⵛⵜ', 'ⵛⵓⵜⴰâµâ´±âµ‰âµ”', 'ⴽⵜⵓⴱⵔ', 'âµâµ“ⵡⴰâµâ´±âµ‰âµ”', 'ⴷⵓⵊⴰâµâ´±âµ‰âµ”'], - 'months_short' => ['ⵉâµâµ', 'ⴱⵕⴰ', 'ⵎⴰⵕ', 'ⵉⴱⵔ', 'ⵎⴰⵢ', 'ⵢⵓâµ', 'ⵢⵓâµ', 'ⵖⵓⵛ', 'ⵛⵓⵜ', 'ⴽⵜⵓ', 'âµâµ“ⵡ', 'ⴷⵓⵊ'], - 'first_day_of_week' => 6, - 'weekend' => [5, 6], - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'D/M/YYYY', - 'LL' => 'D MMM, YYYY', - 'LLL' => 'D MMMM YYYY HH:mm', - 'LLLL' => 'dddd D MMMM YYYY HH:mm', - ], - - 'year' => ':count aseggwas', - 'y' => ':count aseggwas', - 'a_year' => ':count aseggwas', - - 'month' => ':count ayyur', - 'm' => ':count ayyur', - 'a_month' => ':count ayyur', - - 'week' => ':count imalass', - 'w' => ':count imalass', - 'a_week' => ':count imalass', - - 'day' => ':count ass', - 'd' => ':count ass', - 'a_day' => ':count ass', - - 'hour' => ':count urÉ£', // less reliable - 'h' => ':count urÉ£', // less reliable - 'a_hour' => ':count urÉ£', // less reliable - - 'minute' => ':count ⴰⵎⵥⵉ', // less reliable - 'min' => ':count ⴰⵎⵥⵉ', // less reliable - 'a_minute' => ':count ⴰⵎⵥⵉ', // less reliable - - 'second' => ':count sin', // less reliable - 's' => ':count sin', // less reliable - 'a_second' => ':count sin', // less reliable -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/shi_Latn.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/shi_Latn.php deleted file mode 100644 index a5580c3..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/shi_Latn.php +++ /dev/null @@ -1,32 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/shi.php', [ - 'meridiem' => ['tifawt', 'tadggÊ·at'], - 'weekdays' => ['asamas', 'aynas', 'asinas', 'aká¹›as', 'akwas', 'asimwas', 'asiá¸yas'], - 'weekdays_short' => ['asa', 'ayn', 'asi', 'aká¹›', 'akw', 'asim', 'asiá¸'], - 'weekdays_min' => ['asa', 'ayn', 'asi', 'aká¹›', 'akw', 'asim', 'asiá¸'], - 'months' => ['innayr', 'bá¹›ayá¹›', 'maṛṣ', 'ibrir', 'mayyu', 'yunyu', 'yulyuz', 'É£uct', 'cutanbir', 'ktubr', 'nuwanbir', 'dujanbir'], - 'months_short' => ['inn', 'bá¹›a', 'maá¹›', 'ibr', 'may', 'yun', 'yul', 'É£uc', 'cut', 'ktu', 'nuw', 'duj'], - 'first_day_of_week' => 6, - 'weekend' => [5, 6], - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'D/M/YYYY', - 'LL' => 'D MMM, YYYY', - 'LLL' => 'D MMMM YYYY HH:mm', - 'LLLL' => 'dddd D MMMM YYYY HH:mm', - ], - - 'minute' => ':count agur', // less reliable - 'min' => ':count agur', // less reliable - 'a_minute' => ':count agur', // less reliable -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/shi_Tfng.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/shi_Tfng.php deleted file mode 100644 index e51ed13..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/shi_Tfng.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/shi.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/shn.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/shn.php deleted file mode 100644 index fc7792b..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/shn.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return require __DIR__.'/shn_MM.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/shn_MM.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/shn_MM.php deleted file mode 100644 index 9651d8a..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/shn_MM.php +++ /dev/null @@ -1,55 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - ubuntu Myanmar LoCo Team http://www.ubuntu-mm.net Bone Pyae Sone bone.burma@mail.com - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'OY MMM OD dddd', - ], - 'months' => ['လိူá¼á€ºáµá€™á€º', 'လိူá¼á€ºá€žá¢á€™á€º', 'လိူá¼á€ºá€žá€®', 'လိူá¼á€ºá‚ႃႈ', 'လိူá¼á€ºá‚ူáµá€ºá€¸', 'လိူá¼á€ºá¸á€µá€á€ºá€¸', 'လိူá¼á€ºá€•á‚…á€á€ºá‚‡', 'လိူá¼á€ºáµá€á€ºá‚ˆ', 'လိူá¼á€ºá€žá€­á€•á€ºá€¸', 'လိူá¼á€ºá€žá€­á€•á€ºá€¸á€¢á€­á€á€ºá€¸', 'လိူá¼á€ºá€žá€­á€•á€ºá€¸á€¢á€­á€á€ºá€¸á€žá€½á€„်', 'လိူá¼á€ºá¸á€µá€„်'], - 'months_short' => ['လိူá¼á€ºáµá€™á€º', 'လိူá¼á€ºá€žá¢á€™á€º', 'လိူá¼á€ºá€žá€®', 'လိူá¼á€ºá‚ႃႈ', 'လိူá¼á€ºá‚ူáµá€ºá€¸', 'လိူá¼á€ºá¸á€µá€á€ºá€¸', 'လိူá¼á€ºá€•á‚…á€á€ºá‚‡', 'လိူá¼á€ºáµá€á€ºá‚ˆ', 'လိူá¼á€ºá€žá€­á€•á€ºá€¸', 'လိူá¼á€ºá€žá€­á€•á€ºá€¸á€¢á€­á€á€ºá€¸', 'လိူá¼á€ºá€žá€­á€•á€ºá€¸á€¢á€­á€á€ºá€¸á€žá€½á€„်', 'လိူá¼á€ºá¸á€µá€„်'], - 'weekdays' => ['á€á¼á€ºá€¸á€¢á‚ƒá€¸á€á€­á€á€ºá‚‰', 'á€á¼á€ºá€¸á¸á¼á€º', 'á€á¼á€ºá€¸â€‹á€¢á¢á€„်း​áµá¢á¼á€ºá€¸', 'á€á¼á€ºá€¸á€•á€°á€á€ºá‚‰', 'á€á¼á€ºá€¸á½á€á€ºá€¸', 'á€á¼á€ºá€¸á€žá€¯áµá€ºá€¸', 'á€á¼á€ºá€¸á€žá€á€º'], - 'weekdays_short' => ['á€á€­á€á€·á€º', 'á¸á¼á€º', 'áµá¢á¼á€ºá€¸', 'ပုá€á€·á€º', 'á½á€á€ºá€¸', 'သုáµá€ºá€¸', 'သá€á€º'], - 'weekdays_min' => ['á€á€­á€á€·á€º', 'á¸á¼á€º', 'áµá¢á¼á€ºá€¸', 'ပုá€á€·á€º', 'á½á€á€ºá€¸', 'သုáµá€ºá€¸', 'သá€á€º'], - 'alt_numbers' => ['á‚á‚', 'á‚á‚‘', 'á‚á‚’', 'á‚á‚“', 'á‚á‚”', 'á‚á‚•', 'á‚á‚–', 'á‚á‚—', 'á‚႘', 'á‚á‚™', 'á‚‘á‚', 'á‚‘á‚‘', 'á‚‘á‚’', 'á‚‘á‚“', 'á‚‘á‚”', 'á‚‘á‚•', 'á‚‘á‚–', 'á‚‘á‚—', '႑႘', 'á‚‘á‚™', 'á‚’á‚', 'á‚’á‚‘', 'á‚’á‚’', 'á‚’á‚“', 'á‚’á‚”', 'á‚’á‚•', 'á‚’á‚–', 'á‚’á‚—', '႒႘', 'á‚’á‚™', 'á‚“á‚', 'á‚“á‚‘', 'á‚“á‚’', 'á‚“á‚“', 'á‚“á‚”', 'á‚“á‚•', 'á‚“á‚–', 'á‚“á‚—', '႓႘', 'á‚“á‚™', 'á‚”á‚', '႔႑', '႔႒', '႔႓', '႔႔', '႔႕', '႔႖', '႔႗', '႔႘', '႔႙', 'á‚•á‚', 'á‚•á‚‘', 'á‚•á‚’', 'á‚•á‚“', 'á‚•á‚”', 'á‚•á‚•', 'á‚•á‚–', 'á‚•á‚—', '႕႘', 'á‚•á‚™', 'á‚–á‚', 'á‚–á‚‘', 'á‚–á‚’', 'á‚–á‚“', 'á‚–á‚”', 'á‚–á‚•', 'á‚–á‚–', 'á‚–á‚—', '႖႘', 'á‚–á‚™', 'á‚—á‚', 'á‚—á‚‘', 'á‚—á‚’', 'á‚—á‚“', 'á‚—á‚”', 'á‚—á‚•', 'á‚—á‚–', 'á‚—á‚—', '႗႘', 'á‚—á‚™', '႘á‚', '႘႑', '႘႒', '႘႓', '႘႔', '႘႕', '႘႖', '႘႗', '႘႘', '႘႙', 'á‚™á‚', '႙႑', '႙႒', '႙႓', '႙႔', '႙႕', '႙႖', '႙႗', '႙႘', '႙႙'], - 'meridiem' => ['áµá¢á€„်á¼á‚‚်', 'á€á¢á€™á€ºá€¸á¶á€™á€ºá‚ˆ'], - - 'month' => ':count လိူá¼á€º', // less reliable - 'm' => ':count လိူá¼á€º', // less reliable - 'a_month' => ':count လိူá¼á€º', // less reliable - - 'week' => ':count á€á¼á€ºá€¸', // less reliable - 'w' => ':count á€á¼á€ºá€¸', // less reliable - 'a_week' => ':count á€á¼á€ºá€¸', // less reliable - - 'hour' => ':count ຕີ', // less reliable - 'h' => ':count ຕີ', // less reliable - 'a_hour' => ':count ຕີ', // less reliable - - 'minute' => ':count ເດັàº', // less reliable - 'min' => ':count ເດັàº', // less reliable - 'a_minute' => ':count ເດັàº', // less reliable - - 'second' => ':count ဢိုá¼á€ºá‚‡', // less reliable - 's' => ':count ဢိုá¼á€ºá‚‡', // less reliable - 'a_second' => ':count ဢိုá¼á€ºá‚‡', // less reliable - - 'year' => ':count ပီ', - 'y' => ':count ပီ', - 'a_year' => ':count ပီ', - - 'day' => ':count àºàº²àº‡àº§àº±àº™', - 'd' => ':count àºàº²àº‡àº§àº±àº™', - 'a_day' => ':count àºàº²àº‡àº§àº±àº™', -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/shs.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/shs.php deleted file mode 100644 index d2c2183..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/shs.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return require __DIR__.'/shs_CA.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/shs_CA.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/shs_CA.php deleted file mode 100644 index 092ce7f..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/shs_CA.php +++ /dev/null @@ -1,38 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Neskie Manuel bug-glibc-locales@gnu.org - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'DD/MM/YY', - ], - 'months' => ['PellkwetÌ“min', 'PelctsipwenÌ“ten', 'Pellsqépts', 'Peslléwten', 'Pell7ell7é7llqten', 'Pelltspéntsk', 'PelltqwelqÌ“wélÌ“t', 'Pellct̓éxelÌ“cten', 'Pesqelqlélten', 'Pesllwélsten', 'Pellc7ell7é7llcwtenÌ“', 'PelltetétqÌ“em'], - 'months_short' => ['Kwe', 'Tsi', 'Sqe', 'Éwt', 'Ell', 'Tsp', 'Tqw', 'Ct̓é', 'Qel', 'Wél', 'U7l', 'Tet'], - 'weekdays' => ['SxetspesqÌ“t', 'SpetkesqÌ“t', 'SelesqÌ“t', 'SkellesqÌ“t', 'SmesesqÌ“t', 'StselkstesqÌ“t', 'StqmekstesqÌ“t'], - 'weekdays_short' => ['Sxe', 'Spe', 'Sel', 'Ske', 'Sme', 'Sts', 'Stq'], - 'weekdays_min' => ['Sxe', 'Spe', 'Sel', 'Ske', 'Sme', 'Sts', 'Stq'], - 'day_of_first_week_of_year' => 1, - - 'year' => ':count sqlélten', // less reliable - 'y' => ':count sqlélten', // less reliable - 'a_year' => ':count sqlélten', // less reliable - - 'month' => ':count swewll', // less reliable - 'm' => ':count swewll', // less reliable - 'a_month' => ':count swewll', // less reliable - - 'hour' => ':count seqwlút', // less reliable - 'h' => ':count seqwlút', // less reliable - 'a_hour' => ':count seqwlút', // less reliable -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/si.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/si.php deleted file mode 100644 index 795d816..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/si.php +++ /dev/null @@ -1,54 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/* - * Authors: - * - François B - * - Serhan Apaydın - * - JD Isaacks - */ -return [ - 'year' => '{1}වසර|වසර :count', - 'month' => '{1}මà·à·ƒà¶º|මà·à·ƒ :count', - 'week' => '{1}සතියක්|සති :count යි', - 'day' => '{1}දිනය|දින :count', - 'hour' => '{1}පà·à¶º|පà·à¶º :count', - 'minute' => '{1}මිනිත්තුව|මිනිත්තු :count', - 'second' => '{1}තත්පර කිහිපය|තත්පර :count', - 'ago' => ':timeකට පෙර', - 'from_now' => ':timeකින්', - 'diff_yesterday' => 'ඊයේ', - 'diff_tomorrow' => 'හෙට', - 'formats' => [ - 'LT' => 'a h:mm', - 'LTS' => 'a h:mm:ss', - 'L' => 'YYYY/MM/DD', - 'LL' => 'YYYY MMMM D', - 'LLL' => 'YYYY MMMM D, a h:mm', - 'LLLL' => 'YYYY MMMM D [à·€à·à¶±à·’] dddd, a h:mm:ss', - ], - 'calendar' => [ - 'sameDay' => '[අද] LT[ට]', - 'nextDay' => '[හෙට] LT[ට]', - 'nextWeek' => 'dddd LT[ට]', - 'lastDay' => '[ඊයේ] LT[ට]', - 'lastWeek' => '[පසුගිය] dddd LT[ට]', - 'sameElse' => 'L', - ], - 'ordinal' => ':number à·€à·à¶±à·’', - 'meridiem' => ['පෙර වරු', 'පස් වරු', 'පෙ.à·€.', 'ප.à·€.'], - 'months' => ['ජනවà·à¶»à·’', 'පෙබරවà·à¶»à·’', 'මà·à¶»à·Šà¶­à·”', 'අප්â€à¶»à·šà¶½à·Š', 'මà·à¶ºà·’', 'ජූනි', 'ජූලි', 'අගà·à·ƒà·Šà¶­à·”', 'à·ƒà·à¶´à·Šà¶­à·à¶¸à·Šà¶¶à¶»à·Š', 'ඔක්තà·à¶¶à¶»à·Š', 'නොවà·à¶¸à·Šà¶¶à¶»à·Š', 'දෙසà·à¶¸à·Šà¶¶à¶»à·Š'], - 'months_short' => ['ජන', 'පෙබ', 'මà·à¶»à·Š', 'අප්', 'මà·à¶ºà·’', 'ජූනි', 'ජූලි', 'අගà·', 'à·ƒà·à¶´à·Š', 'ඔක්', 'නොවà·', 'දෙසà·'], - 'weekdays' => ['ඉරිදà·', 'සඳුදà·', 'අඟහරුවà·à¶¯à·', 'බදà·à¶¯à·', 'බ්â€à¶»à·„ස්පතින්දà·', 'සිකුරà·à¶¯à·', 'සෙනසුරà·à¶¯à·'], - 'weekdays_short' => ['ඉරි', 'සඳු', 'අඟ', 'බදà·', 'බ්â€à¶»à·„', 'සිකු', 'සෙන'], - 'weekdays_min' => ['ඉ', 'à·ƒ', 'අ', 'බ', 'බ්â€à¶»', 'සි', 'සෙ'], - 'first_day_of_week' => 1, -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/si_LK.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/si_LK.php deleted file mode 100644 index 6c5be97..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/si_LK.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/si.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sid.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sid.php deleted file mode 100644 index a310f50..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sid.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return require __DIR__.'/sid_ET.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sid_ET.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sid_ET.php deleted file mode 100644 index d4a5698..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sid_ET.php +++ /dev/null @@ -1,27 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Ge'ez Frontier Foundation locales@geez.org - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'DD/MM/YYYY', - ], - 'months' => ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], - 'months_short' => ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], - 'weekdays' => ['Sambata', 'Sanyo', 'Maakisanyo', 'Roowe', 'Hamuse', 'Arbe', 'Qidaame'], - 'weekdays_short' => ['Sam', 'San', 'Mak', 'Row', 'Ham', 'Arb', 'Qid'], - 'weekdays_min' => ['Sam', 'San', 'Mak', 'Row', 'Ham', 'Arb', 'Qid'], - 'day_of_first_week_of_year' => 1, - 'meridiem' => ['soodo', 'hawwaro'], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sk.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sk.php deleted file mode 100644 index 1b0daeb..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sk.php +++ /dev/null @@ -1,78 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/* - * Authors: - * - Philippe Vaucher - * - Martin Suja - * - Tsutomu Kuroda - * - tjku - * - Max Melentiev - * - Juanito Fatas - * - Ivan Stana - * - Akira Matsuda - * - Christopher Dell - * - James McKinney - * - Enrique Vidal - * - Simone Carletti - * - Aaron Patterson - * - Jozef Fulop - * - Nicolás Hock Isaza - * - Tom Hughes - * - Simon Hürlimann (CyT) - * - jofi - * - Jakub ADAMEC - * - Marek Adamický - */ -return [ - 'year' => 'rok|:count roky|:count rokov', - 'y' => ':count r', - 'month' => 'mesiac|:count mesiace|:count mesiacov', - 'm' => ':count m', - 'week' => 'týždeň|:count týždne|:count týždňov', - 'w' => ':count t', - 'day' => 'deň|:count dni|:count dní', - 'd' => ':count d', - 'hour' => 'hodinu|:count hodiny|:count hodín', - 'h' => ':count h', - 'minute' => 'minútu|:count minúty|:count minút', - 'min' => ':count min', - 'second' => 'sekundu|:count sekundy|:count sekúnd', - 's' => ':count s', - 'ago' => 'pred :time', - 'from_now' => 'za :time', - 'after' => 'o :time neskôr', - 'before' => ':time predtým', - 'year_ago' => 'rokom|:count rokmi|:count rokmi', - 'month_ago' => 'mesiacom|:count mesiacmi|:count mesiacmi', - 'week_ago' => 'týždňom|:count týždňami|:count týždňami', - 'day_ago' => 'dňom|:count dňami|:count dňami', - 'hour_ago' => 'hodinou|:count hodinami|:count hodinami', - 'minute_ago' => 'minútou|:count minútami|:count minútami', - 'second_ago' => 'sekundou|:count sekundami|:count sekundami', - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 4, - 'list' => [', ', ' a '], - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD.MM.YYYY', - 'LL' => 'DD. MMMM YYYY', - 'LLL' => 'D. M. HH:mm', - 'LLLL' => 'dddd D. MMMM YYYY HH:mm', - ], - 'weekdays' => ['nedeľa', 'pondelok', 'utorok', 'streda', 'Å¡tvrtok', 'piatok', 'sobota'], - 'weekdays_short' => ['ne', 'po', 'ut', 'st', 'Å¡t', 'pi', 'so'], - 'weekdays_min' => ['ne', 'po', 'ut', 'st', 'Å¡t', 'pi', 'so'], - 'months' => ['január', 'február', 'marec', 'apríl', 'máj', 'jún', 'júl', 'august', 'september', 'október', 'november', 'december'], - 'months_short' => ['jan', 'feb', 'mar', 'apr', 'máj', 'jún', 'júl', 'aug', 'sep', 'okt', 'nov', 'dec'], - 'meridiem' => ['dopoludnia', 'popoludní'], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sk_SK.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sk_SK.php deleted file mode 100644 index be3d1f2..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sk_SK.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/sk.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sl.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sl.php deleted file mode 100644 index 8edea78..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sl.php +++ /dev/null @@ -1,120 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/* - * Authors: - * - Philippe Vaucher - * - Tsutomu Kuroda - * - tjku - * - Max Melentiev - * - Juanito Fatas - * - Akira Matsuda - * - Christopher Dell - * - Enrique Vidal - * - Simone Carletti - * - Aaron Patterson - * - Nicolás Hock Isaza - * - Miha Rebernik - * - Gal JakiÄ (morpheus7CS) - * - Glavić - * - Anže ÄŒasar - * - Lovro TramÅ¡ek (Lovro1107) - */ -return [ - 'year' => ':count leto|:count leti|:count leta|:count let', - 'y' => ':count leto|:count leti|:count leta|:count let', - 'month' => ':count mesec|:count meseca|:count mesece|:count mesecev', - 'm' => ':count mes.', - 'week' => ':count teden|:count tedna|:count tedne|:count tednov', - 'w' => ':count ted.', - 'day' => ':count dan|:count dni|:count dni|:count dni', - 'd' => ':count dan|:count dni|:count dni|:count dni', - 'hour' => ':count ura|:count uri|:count ure|:count ur', - 'h' => ':count h', - 'minute' => ':count minuta|:count minuti|:count minute|:count minut', - 'min' => ':count min.', - 'second' => ':count sekunda|:count sekundi|:count sekunde|:count sekund', - 's' => ':count s', - - 'year_ago' => ':count letom|:count leti|:count leti|:count leti', - 'y_ago' => ':count letom|:count leti|:count leti|:count leti', - 'month_ago' => ':count mesecem|:count meseci|:count meseci|:count meseci', - 'week_ago' => ':count tednom|:count tednoma|:count tedni|:count tedni', - 'day_ago' => ':count dnem|:count dnevoma|:count dnevi|:count dnevi', - 'd_ago' => ':count dnem|:count dnevoma|:count dnevi|:count dnevi', - 'hour_ago' => ':count uro|:count urama|:count urami|:count urami', - 'minute_ago' => ':count minuto|:count minutama|:count minutami|:count minutami', - 'second_ago' => ':count sekundo|:count sekundama|:count sekundami|:count sekundami', - - 'day_from_now' => ':count dan|:count dneva|:count dni|:count dni', - 'd_from_now' => ':count dan|:count dneva|:count dni|:count dni', - 'hour_from_now' => ':count uro|:count uri|:count ure|:count ur', - 'minute_from_now' => ':count minuto|:count minuti|:count minute|:count minut', - 'second_from_now' => ':count sekundo|:count sekundi|:count sekunde|:count sekund', - - 'ago' => 'pred :time', - 'from_now' => 'Äez :time', - 'after' => ':time kasneje', - 'before' => ':time prej', - - 'diff_now' => 'ravnokar', - 'diff_yesterday' => 'vÄeraj', - 'diff_tomorrow' => 'jutri', - 'diff_before_yesterday' => 'predvÄerajÅ¡njim', - 'diff_after_tomorrow' => 'pojutriÅ¡njem', - - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 1, - - 'period_start_date' => 'od :date', - 'period_end_date' => 'do :date', - - 'formats' => [ - 'LT' => 'H:mm', - 'LTS' => 'H:mm:ss', - 'L' => 'DD.MM.YYYY', - 'LL' => 'D. MMMM YYYY', - 'LLL' => 'D. MMMM YYYY H:mm', - 'LLLL' => 'dddd, D. MMMM YYYY H:mm', - ], - 'calendar' => [ - 'sameDay' => '[danes ob] LT', - 'nextDay' => '[jutri ob] LT', - 'nextWeek' => 'dddd [ob] LT', - 'lastDay' => '[vÄeraj ob] LT', - 'lastWeek' => function (\Carbon\CarbonInterface $date) { - switch ($date->dayOfWeek) { - case 0: - return '[preteklo] [nedeljo] [ob] LT'; - case 1: - return '[pretekli] [ponedeljek] [ob] LT'; - case 2: - return '[pretekli] [torek] [ob] LT'; - case 3: - return '[preteklo] [sredo] [ob] LT'; - case 4: - return '[pretekli] [Äetrtek] [ob] LT'; - case 5: - return '[pretekli] [petek] [ob] LT'; - case 6: - return '[preteklo] [soboto] [ob] LT'; - } - }, - 'sameElse' => 'L', - ], - 'months' => ['Januar', 'Februar', 'Marec', 'April', 'Maj', 'Junij', 'Julij', 'Avgust', 'September', 'Oktober', 'November', 'December'], - 'months_short' => ['Jan', 'Feb', 'Mar', 'Apr', 'Maj', 'Jun', 'Jul', 'Avg', 'Sep', 'Okt', 'Nov', 'Dec'], - 'weekdays' => ['Nedelja', 'Ponedeljek', 'Torek', 'Sreda', 'ÄŒetrtek', 'Petek', 'Sobota'], - 'weekdays_short' => ['Ned', 'Pon', 'Tor', 'Sre', 'ÄŒet', 'Pet', 'Sob'], - 'weekdays_min' => ['Ne', 'Po', 'To', 'Sr', 'ÄŒe', 'Pe', 'So'], - 'list' => [', ', ' in '], - 'meridiem' => ['dopoldan', 'popoldan'], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sl_SI.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sl_SI.php deleted file mode 100644 index da9fef0..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sl_SI.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/sl.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sm.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sm.php deleted file mode 100644 index d6e60c7..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sm.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return require __DIR__.'/sm_WS.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sm_WS.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sm_WS.php deleted file mode 100644 index 7b4b750..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sm_WS.php +++ /dev/null @@ -1,53 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Samsung Electronics Co., Ltd. akhilesh.k@samsung.com - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'DD/MM/YYYY', - ], - 'months' => ['Ianuari', 'Fepuari', 'Mati', 'Aperila', 'Me', 'Iuni', 'Iulai', 'Auguso', 'Setema', 'Oketopa', 'Novema', 'Tesema'], - 'months_short' => ['Ian', 'Fep', 'Mat', 'Ape', 'Me', 'Iun', 'Iul', 'Aug', 'Set', 'Oke', 'Nov', 'Tes'], - 'weekdays' => ['Aso Sa', 'Aso Gafua', 'Aso Lua', 'Aso Lulu', 'Aso Tofi', 'Aso Farail', 'Aso To\'ana\'i'], - 'weekdays_short' => ['Aso Sa', 'Aso Gaf', 'Aso Lua', 'Aso Lul', 'Aso Tof', 'Aso Far', 'Aso To\''], - 'weekdays_min' => ['Aso Sa', 'Aso Gaf', 'Aso Lua', 'Aso Lul', 'Aso Tof', 'Aso Far', 'Aso To\''], - - 'hour' => ':count uati', // less reliable - 'h' => ':count uati', // less reliable - 'a_hour' => ':count uati', // less reliable - - 'minute' => ':count itiiti', // less reliable - 'min' => ':count itiiti', // less reliable - 'a_minute' => ':count itiiti', // less reliable - - 'second' => ':count lua', // less reliable - 's' => ':count lua', // less reliable - 'a_second' => ':count lua', // less reliable - - 'year' => ':count tausaga', - 'y' => ':count tausaga', - 'a_year' => ':count tausaga', - - 'month' => ':count mÄsina', - 'm' => ':count mÄsina', - 'a_month' => ':count mÄsina', - - 'week' => ':count vaiaso', - 'w' => ':count vaiaso', - 'a_week' => ':count vaiaso', - - 'day' => ':count aso', - 'd' => ':count aso', - 'a_day' => ':count aso', -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/smn.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/smn.php deleted file mode 100644 index b252ebb..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/smn.php +++ /dev/null @@ -1,56 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'meridiem' => ['ip.', 'ep.'], - 'weekdays' => ['pasepeeivi', 'vuossaargâ', 'majebaargâ', 'koskoho', 'tuorâstuv', 'vástuppeeivi', 'lávurduv'], - 'weekdays_short' => ['pas', 'vuo', 'maj', 'kos', 'tuo', 'vás', 'láv'], - 'weekdays_min' => ['pa', 'vu', 'ma', 'ko', 'tu', 'vá', 'lá'], - 'weekdays_standalone' => ['pasepeivi', 'vuossargâ', 'majebargâ', 'koskokko', 'tuorâstâh', 'vástuppeivi', 'lávurdâh'], - 'months' => ['uđđâivemáánu', 'kuovâmáánu', 'njuhÄâmáánu', 'cuáŋuimáánu', 'vyesimáánu', 'kesimáánu', 'syeinimáánu', 'porgemáánu', 'ÄohÄâmáánu', 'roovvâdmáánu', 'skammâmáánu', 'juovlâmáánu'], - 'months_short' => ['uÄ‘iv', 'kuovâ', 'njuhÄâ', 'cuáŋui', 'vyesi', 'kesi', 'syeini', 'porge', 'ÄohÄâ', 'roovvâd', 'skammâ', 'juovlâ'], - 'first_day_of_week' => 1, - 'formats' => [ - 'LT' => 'H.mm', - 'LTS' => 'H.mm.ss', - 'L' => 'D.M.YYYY', - 'LL' => 'MMM D. YYYY', - 'LLL' => 'MMMM D. YYYY H.mm', - 'LLLL' => 'dddd, MMMM D. YYYY H.mm', - ], - - 'hour' => ':count äigi', // less reliable - 'h' => ':count äigi', // less reliable - 'a_hour' => ':count äigi', // less reliable - - 'year' => ':count ihe', - 'y' => ':count ihe', - 'a_year' => ':count ihe', - - 'month' => ':count mánuppaje', - 'm' => ':count mánuppaje', - 'a_month' => ':count mánuppaje', - - 'week' => ':count okko', - 'w' => ':count okko', - 'a_week' => ':count okko', - - 'day' => ':count peivi', - 'd' => ':count peivi', - 'a_day' => ':count peivi', - - 'minute' => ':count miinut', - 'min' => ':count miinut', - 'a_minute' => ':count miinut', - - 'second' => ':count nubbe', - 's' => ':count nubbe', - 'a_second' => ':count nubbe', -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sn.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sn.php deleted file mode 100644 index 62c82b1..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sn.php +++ /dev/null @@ -1,54 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'meridiem' => ['a', 'p'], - 'weekdays' => ['Svondo', 'Muvhuro', 'Chipiri', 'Chitatu', 'China', 'Chishanu', 'Mugovera'], - 'weekdays_short' => ['Svo', 'Muv', 'Chp', 'Cht', 'Chn', 'Chs', 'Mug'], - 'weekdays_min' => ['Sv', 'Mu', 'Cp', 'Ct', 'Cn', 'Cs', 'Mg'], - 'months' => ['Ndira', 'Kukadzi', 'Kurume', 'Kubvumbi', 'Chivabvu', 'Chikumi', 'Chikunguru', 'Nyamavhuvhu', 'Gunyana', 'Gumiguru', 'Mbudzi', 'Zvita'], - 'months_short' => ['Ndi', 'Kuk', 'Kur', 'Kub', 'Chv', 'Chk', 'Chg', 'Nya', 'Gun', 'Gum', 'Mbu', 'Zvi'], - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'YYYY-MM-dd', - 'LL' => 'YYYY MMM D', - 'LLL' => 'YYYY MMMM D HH:mm', - 'LLLL' => 'YYYY MMMM D, dddd HH:mm', - ], - - 'year' => 'makore :count', - 'y' => 'makore :count', - 'a_year' => 'makore :count', - - 'month' => 'mwedzi :count', - 'm' => 'mwedzi :count', - 'a_month' => 'mwedzi :count', - - 'week' => 'vhiki :count', - 'w' => 'vhiki :count', - 'a_week' => 'vhiki :count', - - 'day' => 'mazuva :count', - 'd' => 'mazuva :count', - 'a_day' => 'mazuva :count', - - 'hour' => 'maawa :count', - 'h' => 'maawa :count', - 'a_hour' => 'maawa :count', - - 'minute' => 'minitsi :count', - 'min' => 'minitsi :count', - 'a_minute' => 'minitsi :count', - - 'second' => 'sekonzi :count', - 's' => 'sekonzi :count', - 'a_second' => 'sekonzi :count', -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/so.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/so.php deleted file mode 100644 index 7ff2991..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/so.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return require __DIR__.'/so_DJ.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/so_DJ.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/so_DJ.php deleted file mode 100644 index 882e2a8..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/so_DJ.php +++ /dev/null @@ -1,56 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Ge'ez Frontier Foundation locales@geez.org - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'DD.MM.YYYY', - ], - 'months' => ['Bisha Koobaad', 'Bisha Labaad', 'Bisha Saddexaad', 'Bisha Afraad', 'Bisha Shanaad', 'Bisha Lixaad', 'Bisha Todobaad', 'Bisha Sideedaad', 'Bisha Sagaalaad', 'Bisha Tobnaad', 'Bisha Kow iyo Tobnaad', 'Bisha Laba iyo Tobnaad'], - 'months_short' => ['Kob', 'Lab', 'Sad', 'Afr', 'Sha', 'Lix', 'Tod', 'Sid', 'Sag', 'Tob', 'KIT', 'LIT'], - 'weekdays' => ['Axad', 'Isniin', 'Salaaso', 'Arbaco', 'Khamiis', 'Jimco', 'Sabti'], - 'weekdays_short' => ['Axd', 'Isn', 'Tal', 'Arb', 'Kha', 'Jim', 'Sab'], - 'weekdays_min' => ['Axd', 'Isn', 'Tal', 'Arb', 'Kha', 'Jim', 'Sab'], - 'first_day_of_week' => 6, - 'day_of_first_week_of_year' => 1, - 'meridiem' => ['subaxnimo', 'galabnimo'], - - 'year' => ':count sanad', - 'y' => ':count sanad', - 'a_year' => ':count sanad', - - 'month' => ':count Bilaha', - 'm' => ':count Bilaha', - 'a_month' => ':count Bilaha', - - 'week' => ':count todobaad', - 'w' => ':count todobaad', - 'a_week' => ':count todobaad', - - 'day' => ':count maalin', - 'd' => ':count maalin', - 'a_day' => ':count maalin', - - 'hour' => ':count saacad', - 'h' => ':count saacad', - 'a_hour' => ':count saacad', - - 'minute' => ':count daqiiqad', - 'min' => ':count daqiiqad', - 'a_minute' => ':count daqiiqad', - - 'second' => ':count ilbiriqsi', - 's' => ':count ilbiriqsi', - 'a_second' => ':count ilbiriqsi', -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/so_ET.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/so_ET.php deleted file mode 100644 index f036b14..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/so_ET.php +++ /dev/null @@ -1,27 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Ge'ez Frontier Foundation locales@geez.org - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'DD/MM/YYYY', - ], - 'months' => ['Bisha Koobaad', 'Bisha Labaad', 'Bisha Saddexaad', 'Bisha Afraad', 'Bisha Shanaad', 'Bisha Lixaad', 'Bisha Todobaad', 'Bisha Sideedaad', 'Bisha Sagaalaad', 'Bisha Tobnaad', 'Bisha Kow iyo Tobnaad', 'Bisha Laba iyo Tobnaad'], - 'months_short' => ['Kob', 'Lab', 'Sad', 'Afr', 'Sha', 'Lix', 'Tod', 'Sid', 'Sag', 'Tob', 'KIT', 'LIT'], - 'weekdays' => ['Axad', 'Isniin', 'Salaaso', 'Arbaco', 'Khamiis', 'Jimco', 'Sabti'], - 'weekdays_short' => ['Axd', 'Isn', 'Sal', 'Arb', 'Kha', 'Jim', 'Sab'], - 'weekdays_min' => ['Axd', 'Isn', 'Sal', 'Arb', 'Kha', 'Jim', 'Sab'], - 'day_of_first_week_of_year' => 1, - 'meridiem' => ['subaxnimo', 'galabnimo'], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/so_KE.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/so_KE.php deleted file mode 100644 index f036b14..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/so_KE.php +++ /dev/null @@ -1,27 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Ge'ez Frontier Foundation locales@geez.org - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'DD/MM/YYYY', - ], - 'months' => ['Bisha Koobaad', 'Bisha Labaad', 'Bisha Saddexaad', 'Bisha Afraad', 'Bisha Shanaad', 'Bisha Lixaad', 'Bisha Todobaad', 'Bisha Sideedaad', 'Bisha Sagaalaad', 'Bisha Tobnaad', 'Bisha Kow iyo Tobnaad', 'Bisha Laba iyo Tobnaad'], - 'months_short' => ['Kob', 'Lab', 'Sad', 'Afr', 'Sha', 'Lix', 'Tod', 'Sid', 'Sag', 'Tob', 'KIT', 'LIT'], - 'weekdays' => ['Axad', 'Isniin', 'Salaaso', 'Arbaco', 'Khamiis', 'Jimco', 'Sabti'], - 'weekdays_short' => ['Axd', 'Isn', 'Sal', 'Arb', 'Kha', 'Jim', 'Sab'], - 'weekdays_min' => ['Axd', 'Isn', 'Sal', 'Arb', 'Kha', 'Jim', 'Sab'], - 'day_of_first_week_of_year' => 1, - 'meridiem' => ['subaxnimo', 'galabnimo'], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/so_SO.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/so_SO.php deleted file mode 100644 index 2f908c1..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/so_SO.php +++ /dev/null @@ -1,28 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Ge'ez Frontier Foundation locales@geez.org - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'DD/MM/YYYY', - ], - 'months' => ['Bisha Koobaad', 'Bisha Labaad', 'Bisha Saddexaad', 'Bisha Afraad', 'Bisha Shanaad', 'Bisha Lixaad', 'Bisha Todobaad', 'Bisha Sideedaad', 'Bisha Sagaalaad', 'Bisha Tobnaad', 'Bisha Kow iyo Tobnaad', 'Bisha Laba iyo Tobnaad'], - 'months_short' => ['Kob', 'Lab', 'Sad', 'Afr', 'Sha', 'Lix', 'Tod', 'Sid', 'Sag', 'Tob', 'KIT', 'LIT'], - 'weekdays' => ['Axad', 'Isniin', 'Salaaso', 'Arbaco', 'Khamiis', 'Jimco', 'Sabti'], - 'weekdays_short' => ['Axd', 'Isn', 'Sal', 'Arb', 'Kha', 'Jim', 'Sab'], - 'weekdays_min' => ['Axd', 'Isn', 'Sal', 'Arb', 'Kha', 'Jim', 'Sab'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 1, - 'meridiem' => ['subaxnimo', 'galabnimo'], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sq.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sq.php deleted file mode 100644 index 7a133d2..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sq.php +++ /dev/null @@ -1,75 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - François B - * - JD Isaacks - * - Fadion Dashi - */ -return [ - 'year' => ':count vit|:count vjet', - 'a_year' => 'një vit|:count vite', - 'y' => ':count v.', - 'month' => ':count muaj', - 'a_month' => 'një muaj|:count muaj', - 'm' => ':count muaj', - 'week' => ':count javë', - 'a_week' => ':count javë|:count javë', - 'w' => ':count j.', - 'day' => ':count ditë', - 'a_day' => 'një ditë|:count ditë', - 'd' => ':count d.', - 'hour' => ':count orë', - 'a_hour' => 'një orë|:count orë', - 'h' => ':count o.', - 'minute' => ':count minutë|:count minuta', - 'a_minute' => 'një minutë|:count minuta', - 'min' => ':count min.', - 'second' => ':count sekondë|:count sekonda', - 'a_second' => 'disa sekonda|:count sekonda', - 's' => ':count s.', - 'ago' => ':time më parë', - 'from_now' => 'në :time', - 'after' => ':time pas', - 'before' => ':time para', - 'diff_now' => 'tani', - 'diff_yesterday' => 'dje', - 'diff_tomorrow' => 'nesër', - 'diff_before_yesterday' => 'pardje', - 'diff_after_tomorrow' => 'pasnesër', - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD/MM/YYYY', - 'LL' => 'D MMMM YYYY', - 'LLL' => 'D MMMM YYYY HH:mm', - 'LLLL' => 'dddd, D MMMM YYYY HH:mm', - ], - 'calendar' => [ - 'sameDay' => '[Sot në] LT', - 'nextDay' => '[Nesër në] LT', - 'nextWeek' => 'dddd [në] LT', - 'lastDay' => '[Dje në] LT', - 'lastWeek' => 'dddd [e kaluar në] LT', - 'sameElse' => 'L', - ], - 'ordinal' => ':number.', - 'meridiem' => ['PD', 'MD'], - 'months' => ['janar', 'shkurt', 'mars', 'prill', 'maj', 'qershor', 'korrik', 'gusht', 'shtator', 'tetor', 'nëntor', 'dhjetor'], - 'months_short' => ['jan', 'shk', 'mar', 'pri', 'maj', 'qer', 'kor', 'gus', 'sht', 'tet', 'nën', 'dhj'], - 'weekdays' => ['e diel', 'e hënë', 'e martë', 'e mërkurë', 'e enjte', 'e premte', 'e shtunë'], - 'weekdays_short' => ['die', 'hën', 'mar', 'mër', 'enj', 'pre', 'sht'], - 'weekdays_min' => ['d', 'h', 'ma', 'më', 'e', 'p', 'sh'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 4, - 'list' => [', ', ' dhe '], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sq_AL.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sq_AL.php deleted file mode 100644 index 0bfbdf3..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sq_AL.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/sq.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sq_MK.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sq_MK.php deleted file mode 100644 index c844fe0..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sq_MK.php +++ /dev/null @@ -1,18 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/sq.php', [ - 'formats' => [ - 'L' => 'D.M.YYYY', - 'LL' => 'D MMM YYYY', - 'LLL' => 'D MMMM YYYY, HH:mm', - 'LLLL' => 'dddd, D MMMM YYYY, HH:mm', - ], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sq_XK.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sq_XK.php deleted file mode 100644 index c844fe0..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sq_XK.php +++ /dev/null @@ -1,18 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/sq.php', [ - 'formats' => [ - 'L' => 'D.M.YYYY', - 'LL' => 'D MMM YYYY', - 'LLL' => 'D MMMM YYYY, HH:mm', - 'LLLL' => 'dddd, D MMMM YYYY, HH:mm', - ], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sr.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sr.php deleted file mode 100644 index b3bebb2..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sr.php +++ /dev/null @@ -1,105 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Josh Soref - * - François B - * - shaishavgandhi05 - * - Serhan Apaydın - * - JD Isaacks - * - Glavić - * - Milos Sakovic - */ -return [ - 'year' => ':count godina|:count godine|:count godina', - 'y' => ':count g.', - 'month' => ':count mesec|:count meseca|:count meseci', - 'm' => ':count mj.', - 'week' => ':count nedelja|:count nedelje|:count nedelja', - 'w' => ':count ned.', - 'day' => ':count dan|:count dana|:count dana', - 'd' => ':count d.', - 'hour' => ':count sat|:count sata|:count sati', - 'h' => ':count Ä.', - 'minute' => ':count minut|:count minuta|:count minuta', - 'min' => ':count min.', - 'second' => ':count sekund|:count sekunde|:count sekunde', - 's' => ':count sek.', - 'ago' => 'pre :time', - 'from_now' => 'za :time', - 'after' => 'nakon :time', - 'before' => 'pre :time', - - 'year_from_now' => ':count godinu|:count godine|:count godina', - 'year_ago' => ':count godinu|:count godine|:count godina', - 'week_from_now' => ':count nedelju|:count nedelje|:count nedelja', - 'week_ago' => ':count nedelju|:count nedelje|:count nedelja', - - 'diff_now' => 'upravo sada', - 'diff_yesterday' => 'juÄe', - 'diff_tomorrow' => 'sutra', - 'diff_before_yesterday' => 'prekjuÄe', - 'diff_after_tomorrow' => 'preksutra', - 'formats' => [ - 'LT' => 'H:mm', - 'LTS' => 'H:mm:ss', - 'L' => 'DD.MM.YYYY', - 'LL' => 'D. MMMM YYYY', - 'LLL' => 'D. MMMM YYYY H:mm', - 'LLLL' => 'dddd, D. MMMM YYYY H:mm', - ], - 'calendar' => [ - 'sameDay' => '[danas u] LT', - 'nextDay' => '[sutra u] LT', - 'nextWeek' => function (\Carbon\CarbonInterface $date) { - switch ($date->dayOfWeek) { - case 0: - return '[u nedelju u] LT'; - case 3: - return '[u sredu u] LT'; - case 6: - return '[u subotu u] LT'; - default: - return '[u] dddd [u] LT'; - } - }, - 'lastDay' => '[juÄe u] LT', - 'lastWeek' => function (\Carbon\CarbonInterface $date) { - switch ($date->dayOfWeek) { - case 0: - return '[proÅ¡le nedelje u] LT'; - case 1: - return '[proÅ¡log ponedeljka u] LT'; - case 2: - return '[proÅ¡log utorka u] LT'; - case 3: - return '[proÅ¡le srede u] LT'; - case 4: - return '[proÅ¡log Äetvrtka u] LT'; - case 5: - return '[proÅ¡log petka u] LT'; - default: - return '[proÅ¡le subote u] LT'; - } - }, - 'sameElse' => 'L', - ], - 'ordinal' => ':number.', - 'months' => ['januar', 'februar', 'mart', 'april', 'maj', 'jun', 'jul', 'avgust', 'septembar', 'oktobar', 'novembar', 'decembar'], - 'months_short' => ['jan.', 'feb.', 'mar.', 'apr.', 'maj', 'jun', 'jul', 'avg.', 'sep.', 'okt.', 'nov.', 'dec.'], - 'weekdays' => ['nedelja', 'ponedeljak', 'utorak', 'sreda', 'Äetvrtak', 'petak', 'subota'], - 'weekdays_short' => ['ned.', 'pon.', 'uto.', 'sre.', 'Äet.', 'pet.', 'sub.'], - 'weekdays_min' => ['ne', 'po', 'ut', 'sr', 'Äe', 'pe', 'su'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 1, - 'list' => [', ', ' i '], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sr_Cyrl.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sr_Cyrl.php deleted file mode 100644 index af64d8b..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sr_Cyrl.php +++ /dev/null @@ -1,105 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/* - * Authors: - * - Josh Soref - * - François B - * - shaishavgandhi05 - * - Serhan Apaydın - * - JD Isaacks - * - Glavić - * - Nikola Zeravcic - * - Milos Sakovic - */ -return [ - 'year' => '{2,3,4,22,23,24,32,33,34,42,43,44,52,53,54}:count године|[0,Inf[:count година', - 'y' => ':count г.', - 'month' => '{1}:count меÑец|{2,3,4}:count меÑеца|[0,Inf[:count меÑеци', - 'm' => ':count м.', - 'week' => '{1}:count недеља|{2,3,4}:count недеље|[0,Inf[:count недеља', - 'w' => ':count нед.', - 'day' => '{1,21,31}:count дан|[0,Inf[:count дана', - 'd' => ':count д.', - 'hour' => '{1,21}:count Ñат|{2,3,4,22,23,24}:count Ñата|[0,Inf[:count Ñати', - 'h' => ':count ч.', - 'minute' => '{1,21,31,41,51}:count минут|[0,Inf[:count минута', - 'min' => ':count мин.', - 'second' => '{1,21,31,41,51}:count Ñекунд|{2,3,4,22,23,24,32,33,34,42,43,44,52,53,54}:count Ñекунде|[0,Inf[:count Ñекунди', - 's' => ':count Ñек.', - 'ago' => 'пре :time', - 'from_now' => 'за :time', - 'after' => ':time након', - 'before' => ':time пре', - 'year_from_now' => '{1,21,31,41,51}:count годину|{2,3,4,22,23,24,32,33,34,42,43,44,52,53,54}:count године|[0,Inf[:count година', - 'year_ago' => '{1,21,31,41,51}:count годину|{2,3,4,22,23,24,32,33,34,42,43,44,52,53,54}:count године|[0,Inf[:count година', - 'week_from_now' => '{1}:count недељу|{2,3,4}:count недеље|[0,Inf[:count недеља', - 'week_ago' => '{1}:count недељу|{2,3,4}:count недеље|[0,Inf[:count недеља', - 'diff_now' => 'управо Ñада', - 'diff_yesterday' => 'јуче', - 'diff_tomorrow' => 'Ñутра', - 'diff_before_yesterday' => 'прекјуче', - 'diff_after_tomorrow' => 'прекоÑутра', - 'formats' => [ - 'LT' => 'H:mm', - 'LTS' => 'H:mm:ss', - 'L' => 'DD.MM.YYYY', - 'LL' => 'D. MMMM YYYY', - 'LLL' => 'D. MMMM YYYY H:mm', - 'LLLL' => 'dddd, D. MMMM YYYY H:mm', - ], - 'calendar' => [ - 'sameDay' => '[Ð´Ð°Ð½Ð°Ñ Ñƒ] LT', - 'nextDay' => '[Ñутра у] LT', - 'nextWeek' => function (\Carbon\CarbonInterface $date) { - switch ($date->dayOfWeek) { - case 0: - return '[у недељу у] LT'; - case 3: - return '[у Ñреду у] LT'; - case 6: - return '[у Ñуботу у] LT'; - default: - return '[у] dddd [у] LT'; - } - }, - 'lastDay' => '[јуче у] LT', - 'lastWeek' => function (\Carbon\CarbonInterface $date) { - switch ($date->dayOfWeek) { - case 0: - return '[прошле недеље у] LT'; - case 1: - return '[прошлог понедељка у] LT'; - case 2: - return '[прошлог уторка у] LT'; - case 3: - return '[прошле Ñреде у] LT'; - case 4: - return '[прошлог четвртка у] LT'; - case 5: - return '[прошлог петка у] LT'; - default: - return '[прошле Ñуботе у] LT'; - } - }, - 'sameElse' => 'L', - ], - 'ordinal' => ':number.', - 'months' => ['јануар', 'фебруар', 'март', 'април', 'мај', 'јун', 'јул', 'авгуÑÑ‚', 'Ñептембар', 'октобар', 'новембар', 'децембар'], - 'months_short' => ['јан.', 'феб.', 'мар.', 'апр.', 'мај', 'јун', 'јул', 'авг.', 'Ñеп.', 'окт.', 'нов.', 'дец.'], - 'weekdays' => ['недеља', 'понедељак', 'уторак', 'Ñреда', 'четвртак', 'петак', 'Ñубота'], - 'weekdays_short' => ['нед.', 'пон.', 'уто.', 'Ñре.', 'чет.', 'пет.', 'Ñуб.'], - 'weekdays_min' => ['не', 'по', 'ут', 'ÑÑ€', 'че', 'пе', 'Ñу'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 1, - 'list' => [', ', ' и '], - 'meridiem' => ['ÐÐœ', 'ПМ'], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sr_Cyrl_BA.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sr_Cyrl_BA.php deleted file mode 100644 index 36405d3..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sr_Cyrl_BA.php +++ /dev/null @@ -1,22 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/sr_Cyrl.php', [ - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'D.M.yy.', - 'LL' => 'DD.MM.YYYY.', - 'LLL' => 'DD. MMMM YYYY. HH:mm', - 'LLLL' => 'dddd, DD. MMMM YYYY. HH:mm', - ], - 'weekdays' => ['недјеља', 'понедељак', 'уторак', 'Ñриједа', 'четвртак', 'петак', 'Ñубота'], - 'weekdays_short' => ['нед.', 'пон.', 'ут.', 'ÑÑ€.', 'чет.', 'пет.', 'Ñуб.'], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sr_Cyrl_ME.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sr_Cyrl_ME.php deleted file mode 100644 index e819c5e..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sr_Cyrl_ME.php +++ /dev/null @@ -1,102 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/* - * Authors: - * - Glavić - * - Milos Sakovic - */ -return [ - 'year' => '{2,3,4,22,23,24,32,33,34,42,43,44,52,53,54}:count године|[0,Inf[:count година', - 'y' => ':count г.', - 'month' => '{1}:count мјеÑец|{2,3,4}:count мјеÑеца|[0,Inf[:count мјеÑеци', - 'm' => ':count мј.', - 'week' => '{1}:count недјеља|{2,3,4}:count недјеље|[0,Inf[:count недјеља', - 'w' => ':count нед.', - 'day' => '{1,21,31}:count дан|[0,Inf[:count дана', - 'd' => ':count д.', - 'hour' => '{1,21}:count Ñат|{2,3,4,22,23,24}:count Ñата|[0,Inf[:count Ñати', - 'h' => ':count ч.', - 'minute' => '{1,21,31,41,51}:count минут|[0,Inf[:count минута', - 'min' => ':count мин.', - 'second' => '{1,21,31,41,51}:count Ñекунд|{2,3,4,22,23,24,32,33,34,42,43,44,52,53,54}:count Ñекунде|[0,Inf[:count Ñекунди', - 's' => ':count Ñек.', - 'ago' => 'прије :time', - 'from_now' => 'за :time', - 'after' => ':time након', - 'before' => ':time прије', - - 'year_from_now' => '{1,21,31,41,51}:count годину|{2,3,4,22,23,24,32,33,34,42,43,44,52,53,54}:count године|[0,Inf[:count година', - 'year_ago' => '{1,21,31,41,51}:count годину|{2,3,4,22,23,24,32,33,34,42,43,44,52,53,54}:count године|[0,Inf[:count година', - - 'week_from_now' => '{1}:count недјељу|{2,3,4}:count недјеље|[0,Inf[:count недјеља', - 'week_ago' => '{1}:count недјељу|{2,3,4}:count недјеље|[0,Inf[:count недјеља', - - 'diff_now' => 'управо Ñада', - 'diff_yesterday' => 'јуче', - 'diff_tomorrow' => 'Ñутра', - 'diff_before_yesterday' => 'прекјуче', - 'diff_after_tomorrow' => 'прекоÑјутра', - 'formats' => [ - 'LT' => 'H:mm', - 'LTS' => 'H:mm:ss', - 'L' => 'DD.MM.YYYY', - 'LL' => 'D. MMMM YYYY', - 'LLL' => 'D. MMMM YYYY H:mm', - 'LLLL' => 'dddd, D. MMMM YYYY H:mm', - ], - 'calendar' => [ - 'sameDay' => '[Ð´Ð°Ð½Ð°Ñ Ñƒ] LT', - 'nextDay' => '[Ñутра у] LT', - 'nextWeek' => function (\Carbon\CarbonInterface $date) { - switch ($date->dayOfWeek) { - case 0: - return '[у недељу у] LT'; - case 3: - return '[у Ñреду у] LT'; - case 6: - return '[у Ñуботу у] LT'; - default: - return '[у] dddd [у] LT'; - } - }, - 'lastDay' => '[јуче у] LT', - 'lastWeek' => function (\Carbon\CarbonInterface $date) { - switch ($date->dayOfWeek) { - case 0: - return '[прошле недеље у] LT'; - case 1: - return '[прошлог понедељка у] LT'; - case 2: - return '[прошлог уторка у] LT'; - case 3: - return '[прошле Ñреде у] LT'; - case 4: - return '[прошлог четвртка у] LT'; - case 5: - return '[прошлог петка у] LT'; - default: - return '[прошле Ñуботе у] LT'; - } - }, - 'sameElse' => 'L', - ], - 'ordinal' => ':number.', - 'months' => ['јануар', 'фебруар', 'март', 'април', 'мај', 'јун', 'јул', 'авгуÑÑ‚', 'Ñептембар', 'октобар', 'новембар', 'децембар'], - 'months_short' => ['јан.', 'феб.', 'мар.', 'апр.', 'мај', 'јун', 'јул', 'авг.', 'Ñеп.', 'окт.', 'нов.', 'дец.'], - 'weekdays' => ['недеља', 'понедељак', 'уторак', 'Ñреда', 'четвртак', 'петак', 'Ñубота'], - 'weekdays_short' => ['нед.', 'пон.', 'уто.', 'Ñре.', 'чет.', 'пет.', 'Ñуб.'], - 'weekdays_min' => ['не', 'по', 'ут', 'ÑÑ€', 'че', 'пе', 'Ñу'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 1, - 'list' => [', ', ' и '], - 'meridiem' => ['ÐÐœ', 'ПМ'], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sr_Cyrl_XK.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sr_Cyrl_XK.php deleted file mode 100644 index 0643a41..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sr_Cyrl_XK.php +++ /dev/null @@ -1,13 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/sr_Cyrl_BA.php', [ - 'weekdays' => ['недеља', 'понедељак', 'уторак', 'Ñреда', 'четвртак', 'петак', 'Ñубота'], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sr_Latn.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sr_Latn.php deleted file mode 100644 index 8ae8c41..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sr_Latn.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/sr.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sr_Latn_BA.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sr_Latn_BA.php deleted file mode 100644 index c25a507..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sr_Latn_BA.php +++ /dev/null @@ -1,22 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/sr_Latn.php', [ - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'D.M.yy.', - 'LL' => 'DD.MM.YYYY.', - 'LLL' => 'DD. MMMM YYYY. HH:mm', - 'LLLL' => 'dddd, DD. MMMM YYYY. HH:mm', - ], - 'weekdays' => ['nedjelja', 'ponedeljak', 'utorak', 'srijeda', 'Äetvrtak', 'petak', 'subota'], - 'weekdays_short' => ['ned.', 'pon.', 'ut.', 'sr.', 'Äet.', 'pet.', 'sub.'], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sr_Latn_ME.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sr_Latn_ME.php deleted file mode 100644 index de20f21..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sr_Latn_ME.php +++ /dev/null @@ -1,63 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/* - * Authors: - * - Glavić - * - Milos Sakovic - */ -return array_replace_recursive(require __DIR__.'/sr.php', [ - 'month' => ':count mjesec|:count mjeseca|:count mjeseci', - 'week' => ':count nedjelja|:count nedjelje|:count nedjelja', - 'second' => ':count sekund|:count sekunde|:count sekundi', - 'ago' => 'prije :time', - 'from_now' => 'za :time', - 'after' => ':time nakon', - 'before' => ':time prije', - 'week_from_now' => ':count nedjelju|:count nedjelje|:count nedjelja', - 'week_ago' => ':count nedjelju|:count nedjelje|:count nedjelja', - 'diff_tomorrow' => 'sjutra', - 'calendar' => [ - 'nextDay' => '[sjutra u] LT', - 'nextWeek' => function (\Carbon\CarbonInterface $date) { - switch ($date->dayOfWeek) { - case 0: - return '[u nedjelju u] LT'; - case 3: - return '[u srijedu u] LT'; - case 6: - return '[u subotu u] LT'; - default: - return '[u] dddd [u] LT'; - } - }, - 'lastWeek' => function (\Carbon\CarbonInterface $date) { - switch ($date->dayOfWeek) { - case 0: - return '[proÅ¡le nedjelje u] LT'; - case 1: - return '[proÅ¡le nedjelje u] LT'; - case 2: - return '[proÅ¡log utorka u] LT'; - case 3: - return '[proÅ¡le srijede u] LT'; - case 4: - return '[proÅ¡log Äetvrtka u] LT'; - case 5: - return '[proÅ¡log petka u] LT'; - default: - return '[proÅ¡le subote u] LT'; - } - }, - ], - 'weekdays' => ['nedjelja', 'ponedjeljak', 'utorak', 'srijeda', 'Äetvrtak', 'petak', 'subota'], - 'weekdays_short' => ['ned.', 'pon.', 'uto.', 'sri.', 'Äet.', 'pet.', 'sub.'], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sr_Latn_XK.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sr_Latn_XK.php deleted file mode 100644 index ba7cc09..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sr_Latn_XK.php +++ /dev/null @@ -1,13 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/sr_Latn_BA.php', [ - 'weekdays' => ['nedelja', 'ponedeljak', 'utorak', 'sreda', 'Äetvrtak', 'petak', 'subota'], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sr_ME.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sr_ME.php deleted file mode 100644 index b668ee1..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sr_ME.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/sr_Latn_ME.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sr_RS.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sr_RS.php deleted file mode 100644 index 6c73395..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sr_RS.php +++ /dev/null @@ -1,16 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - sr_YU, sr_CS locale Danilo Segan bug-glibc-locales@gnu.org - */ -return require __DIR__.'/sr_Cyrl.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sr_RS@latin.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sr_RS@latin.php deleted file mode 100644 index 8ae8c41..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sr_RS@latin.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/sr.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ss.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ss.php deleted file mode 100644 index 522574e..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ss.php +++ /dev/null @@ -1,74 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/* - * Authors: - * - François B - * - Nicolai Davies - */ -return [ - 'year' => '{1}umnyaka|:count iminyaka', - 'month' => '{1}inyanga|:count tinyanga', - 'week' => '{1}:count liviki|:count emaviki', - 'day' => '{1}lilanga|:count emalanga', - 'hour' => '{1}lihora|:count emahora', - 'minute' => '{1}umzuzu|:count emizuzu', - 'second' => '{1}emizuzwana lomcane|:count mzuzwana', - 'ago' => 'wenteka nga :time', - 'from_now' => 'nga :time', - 'diff_yesterday' => 'Itolo', - 'diff_tomorrow' => 'Kusasa', - 'formats' => [ - 'LT' => 'h:mm A', - 'LTS' => 'h:mm:ss A', - 'L' => 'DD/MM/YYYY', - 'LL' => 'D MMMM YYYY', - 'LLL' => 'D MMMM YYYY h:mm A', - 'LLLL' => 'dddd, D MMMM YYYY h:mm A', - ], - 'calendar' => [ - 'sameDay' => '[Namuhla nga] LT', - 'nextDay' => '[Kusasa nga] LT', - 'nextWeek' => 'dddd [nga] LT', - 'lastDay' => '[Itolo nga] LT', - 'lastWeek' => 'dddd [leliphelile] [nga] LT', - 'sameElse' => 'L', - ], - 'ordinal' => function ($number) { - $lastDigit = $number % 10; - - return $number.( - (~~($number % 100 / 10) === 1) ? 'e' : ( - ($lastDigit === 1 || $lastDigit === 2) ? 'a' : 'e' - ) - ); - }, - 'meridiem' => function ($hour) { - if ($hour < 11) { - return 'ekuseni'; - } - if ($hour < 15) { - return 'emini'; - } - if ($hour < 19) { - return 'entsambama'; - } - - return 'ebusuku'; - }, - 'months' => ['Bhimbidvwane', 'Indlovana', 'Indlov\'lenkhulu', 'Mabasa', 'Inkhwekhweti', 'Inhlaba', 'Kholwane', 'Ingci', 'Inyoni', 'Imphala', 'Lweti', 'Ingongoni'], - 'months_short' => ['Bhi', 'Ina', 'Inu', 'Mab', 'Ink', 'Inh', 'Kho', 'Igc', 'Iny', 'Imp', 'Lwe', 'Igo'], - 'weekdays' => ['Lisontfo', 'Umsombuluko', 'Lesibili', 'Lesitsatfu', 'Lesine', 'Lesihlanu', 'Umgcibelo'], - 'weekdays_short' => ['Lis', 'Umb', 'Lsb', 'Les', 'Lsi', 'Lsh', 'Umg'], - 'weekdays_min' => ['Li', 'Us', 'Lb', 'Lt', 'Ls', 'Lh', 'Ug'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 4, -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ss_ZA.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ss_ZA.php deleted file mode 100644 index 48d970a..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ss_ZA.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/ss.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/st.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/st.php deleted file mode 100644 index acb842b..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/st.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return require __DIR__.'/st_ZA.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/st_ZA.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/st_ZA.php deleted file mode 100644 index ffb8fe9..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/st_ZA.php +++ /dev/null @@ -1,54 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Zuza Software Foundation (Translate.org.za) Dwayne Bailey dwayne@translate.org.za - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'DD/MM/YYYY', - ], - 'months' => ['Pherekgong', 'Hlakola', 'Tlhakubele', 'Mmese', 'Motsheanong', 'Phupjane', 'Phupu', 'Phato', 'Leotse', 'Mphalane', 'Pudungwana', 'Tshitwe'], - 'months_short' => ['Phe', 'Hla', 'TlH', 'Mme', 'Mot', 'Jan', 'Upu', 'Pha', 'Leo', 'Mph', 'Pud', 'Tsh'], - 'weekdays' => ['Sontaha', 'Mantaha', 'Labobedi', 'Laboraro', 'Labone', 'Labohlano', 'Moqebelo'], - 'weekdays_short' => ['Son', 'Mma', 'Bed', 'Rar', 'Ne', 'Hla', 'Moq'], - 'weekdays_min' => ['Son', 'Mma', 'Bed', 'Rar', 'Ne', 'Hla', 'Moq'], - 'day_of_first_week_of_year' => 1, - - 'week' => ':count Sontaha', // less reliable - 'w' => ':count Sontaha', // less reliable - 'a_week' => ':count Sontaha', // less reliable - - 'day' => ':count letsatsi', // less reliable - 'd' => ':count letsatsi', // less reliable - 'a_day' => ':count letsatsi', // less reliable - - 'hour' => ':count seÅ¡upanako', // less reliable - 'h' => ':count seÅ¡upanako', // less reliable - 'a_hour' => ':count seÅ¡upanako', // less reliable - - 'minute' => ':count menyane', // less reliable - 'min' => ':count menyane', // less reliable - 'a_minute' => ':count menyane', // less reliable - - 'second' => ':count thusa', // less reliable - 's' => ':count thusa', // less reliable - 'a_second' => ':count thusa', // less reliable - - 'year' => ':count selemo', - 'y' => ':count selemo', - 'a_year' => ':count selemo', - - 'month' => ':count kgwedi', - 'm' => ':count kgwedi', - 'a_month' => ':count kgwedi', -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sv.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sv.php deleted file mode 100644 index e418821..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sv.php +++ /dev/null @@ -1,83 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/* - * Authors: - * - François B - * - Kristoffer Snabb - * - JD Isaacks - * - Jens Herlevsen - * - Nightpine - * - Anders Nygren (litemerafrukt) - */ -return [ - 'year' => ':count Ã¥r', - 'a_year' => 'ett Ã¥r|:count Ã¥r', - 'y' => ':count Ã¥r', - 'month' => ':count mÃ¥nad|:count mÃ¥nader', - 'a_month' => 'en mÃ¥nad|:count mÃ¥nader', - 'm' => ':count mÃ¥n', - 'week' => ':count vecka|:count veckor', - 'a_week' => 'en vecka|:count veckor', - 'w' => ':count v', - 'day' => ':count dag|:count dagar', - 'a_day' => 'en dag|:count dagar', - 'd' => ':count dgr', - 'hour' => ':count timme|:count timmar', - 'a_hour' => 'en timme|:count timmar', - 'h' => ':count tim', - 'minute' => ':count minut|:count minuter', - 'a_minute' => 'en minut|:count minuter', - 'min' => ':count min', - 'second' => ':count sekund|:count sekunder', - 'a_second' => 'nÃ¥gra sekunder|:count sekunder', - 's' => ':count s', - 'ago' => 'för :time sedan', - 'from_now' => 'om :time', - 'after' => ':time efter', - 'before' => ':time före', - 'diff_yesterday' => 'IgÃ¥r', - 'diff_tomorrow' => 'Imorgon', - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'YYYY-MM-DD', - 'LL' => 'D MMMM YYYY', - 'LLL' => 'D MMMM YYYY [kl.] HH:mm', - 'LLLL' => 'dddd D MMMM YYYY [kl.] HH:mm', - ], - 'calendar' => [ - 'sameDay' => '[Idag] LT', - 'nextDay' => '[Imorgon] LT', - 'nextWeek' => '[PÃ¥] dddd LT', - 'lastDay' => '[IgÃ¥r] LT', - 'lastWeek' => '[I] dddd[s] LT', - 'sameElse' => 'L', - ], - 'ordinal' => function ($number) { - $lastDigit = $number % 10; - - return $number.( - (~~($number % 100 / 10) === 1) ? 'e' : ( - ($lastDigit === 1 || $lastDigit === 2) ? 'a' : 'e' - ) - ); - }, - 'months' => ['januari', 'februari', 'mars', 'april', 'maj', 'juni', 'juli', 'augusti', 'september', 'oktober', 'november', 'december'], - 'months_short' => ['jan', 'feb', 'mar', 'apr', 'maj', 'jun', 'jul', 'aug', 'sep', 'okt', 'nov', 'dec'], - 'weekdays' => ['söndag', 'mÃ¥ndag', 'tisdag', 'onsdag', 'torsdag', 'fredag', 'lördag'], - 'weekdays_short' => ['sön', 'mÃ¥n', 'tis', 'ons', 'tors', 'fre', 'lör'], - 'weekdays_min' => ['sö', 'mÃ¥', 'ti', 'on', 'to', 'fr', 'lö'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 4, - 'list' => [', ', ' och '], - 'meridiem' => ['fm', 'em'], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sv_AX.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sv_AX.php deleted file mode 100644 index 56425b4..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sv_AX.php +++ /dev/null @@ -1,18 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/sv.php', [ - 'formats' => [ - 'L' => 'YYYY-MM-dd', - 'LL' => 'D MMM YYYY', - 'LLL' => 'D MMMM YYYY HH:mm', - 'LLLL' => 'dddd D MMMM YYYY HH:mm', - ], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sv_FI.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sv_FI.php deleted file mode 100644 index 1b73ecb..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sv_FI.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/sv.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sv_SE.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sv_SE.php deleted file mode 100644 index 1b73ecb..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sv_SE.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/sv.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sw.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sw.php deleted file mode 100644 index 6d0a29d..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sw.php +++ /dev/null @@ -1,68 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - leyluj - * - Josh Soref - * - ryanhart2 - */ -return [ - 'year' => 'mwaka :count|miaka :count', - 'a_year' => 'mwaka mmoja|miaka :count', - 'y' => 'mwaka :count|miaka :count', - 'month' => 'mwezi :count|miezi :count', - 'a_month' => 'mwezi mmoja|miezi :count', - 'm' => 'mwezi :count|miezi :count', - 'week' => 'wiki :count', - 'a_week' => 'wiki mmoja|wiki :count', - 'w' => 'w. :count', - 'day' => 'siku :count', - 'a_day' => 'siku moja|masiku :count', - 'd' => 'si. :count', - 'hour' => 'saa :count|masaa :count', - 'a_hour' => 'saa limoja|masaa :count', - 'h' => 'saa :count|masaa :count', - 'minute' => 'dakika :count', - 'a_minute' => 'dakika moja|dakika :count', - 'min' => 'd. :count', - 'second' => 'sekunde :count', - 'a_second' => 'hivi punde|sekunde :count', - 's' => 'se. :count', - 'ago' => 'tokea :time', - 'from_now' => ':time baadaye', - 'after' => ':time baada', - 'before' => ':time kabla', - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD.MM.YYYY', - 'LL' => 'D MMMM YYYY', - 'LLL' => 'D MMMM YYYY HH:mm', - 'LLLL' => 'dddd, D MMMM YYYY HH:mm', - ], - 'calendar' => [ - 'sameDay' => '[leo saa] LT', - 'nextDay' => '[kesho saa] LT', - 'nextWeek' => '[wiki ijayo] dddd [saat] LT', - 'lastDay' => '[jana] LT', - 'lastWeek' => '[wiki iliyopita] dddd [saat] LT', - 'sameElse' => 'L', - ], - 'months' => ['Januari', 'Februari', 'Machi', 'Aprili', 'Mei', 'Juni', 'Julai', 'Agosti', 'Septemba', 'Oktoba', 'Novemba', 'Desemba'], - 'months_short' => ['Jan', 'Feb', 'Mac', 'Apr', 'Mei', 'Jun', 'Jul', 'Ago', 'Sep', 'Okt', 'Nov', 'Des'], - 'weekdays' => ['Jumapili', 'Jumatatu', 'Jumanne', 'Jumatano', 'Alhamisi', 'Ijumaa', 'Jumamosi'], - 'weekdays_short' => ['Jpl', 'Jtat', 'Jnne', 'Jtan', 'Alh', 'Ijm', 'Jmos'], - 'weekdays_min' => ['J2', 'J3', 'J4', 'J5', 'Al', 'Ij', 'J1'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 1, - 'list' => [', ', ' na '], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sw_CD.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sw_CD.php deleted file mode 100644 index f6927f4..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sw_CD.php +++ /dev/null @@ -1,16 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/sw.php', [ - 'formats' => [ - 'L' => 'DD/MM/YYYY', - 'LL' => 'D MMM YYYY', - ], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sw_KE.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sw_KE.php deleted file mode 100644 index b552e79..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sw_KE.php +++ /dev/null @@ -1,27 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Kamusi Project Martin Benjamin locales@kamusi.org - */ -return array_replace_recursive(require __DIR__.'/sw.php', [ - 'formats' => [ - 'L' => 'DD/MM/YYYY', - ], - 'months' => ['Januari', 'Februari', 'Machi', 'Aprili', 'Mei', 'Juni', 'Julai', 'Agosti', 'Septemba', 'Oktoba', 'Novemba', 'Desemba'], - 'months_short' => ['Jan', 'Feb', 'Mac', 'Apr', 'Mei', 'Jun', 'Jul', 'Ago', 'Sep', 'Okt', 'Nov', 'Des'], - 'weekdays' => ['Jumapili', 'Jumatatu', 'Jumanne', 'Jumatano', 'Alhamisi', 'Ijumaa', 'Jumamosi'], - 'weekdays_short' => ['J2', 'J3', 'J4', 'J5', 'Alh', 'Ij', 'J1'], - 'weekdays_min' => ['J2', 'J3', 'J4', 'J5', 'Alh', 'Ij', 'J1'], - 'day_of_first_week_of_year' => 1, - 'meridiem' => ['asubuhi', 'alasiri'], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sw_TZ.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sw_TZ.php deleted file mode 100644 index a0e3655..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sw_TZ.php +++ /dev/null @@ -1,28 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Kamusi Project Martin Benjamin locales@kamusi.org - */ -return array_replace_recursive(require __DIR__.'/sw.php', [ - 'formats' => [ - 'L' => 'DD/MM/YYYY', - ], - 'months' => ['Januari', 'Februari', 'Machi', 'Aprili', 'Mei', 'Juni', 'Julai', 'Agosti', 'Septemba', 'Oktoba', 'Novemba', 'Desemba'], - 'months_short' => ['Jan', 'Feb', 'Mac', 'Apr', 'Mei', 'Jun', 'Jul', 'Ago', 'Sep', 'Okt', 'Nov', 'Des'], - 'weekdays' => ['Jumapili', 'Jumatatu', 'Jumanne', 'Jumatano', 'Alhamisi', 'Ijumaa', 'Jumamosi'], - 'weekdays_short' => ['J2', 'J3', 'J4', 'J5', 'Alh', 'Ij', 'J1'], - 'weekdays_min' => ['J2', 'J3', 'J4', 'J5', 'Alh', 'Ij', 'J1'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 1, - 'meridiem' => ['asubuhi', 'alasiri'], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sw_UG.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sw_UG.php deleted file mode 100644 index f6927f4..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/sw_UG.php +++ /dev/null @@ -1,16 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/sw.php', [ - 'formats' => [ - 'L' => 'DD/MM/YYYY', - 'LL' => 'D MMM YYYY', - ], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/szl.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/szl.php deleted file mode 100644 index bd9e7b8..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/szl.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return require __DIR__.'/szl_PL.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/szl_PL.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/szl_PL.php deleted file mode 100644 index 47a1e77..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/szl_PL.php +++ /dev/null @@ -1,55 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - szl_PL locale Przemyslaw Buczkowski libc-alpha@sourceware.org - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'DD.MM.YYYY', - ], - 'months' => ['styczyÅ„', 'luty', 'merc', 'kwjeciyÅ„', 'moj', 'czyrwjyÅ„', 'lipjyÅ„', 'siyrpjyÅ„', 'wrzesiyÅ„', 'październik', 'listopad', 'grudziyÅ„'], - 'months_short' => ['sty', 'lut', 'mer', 'kwj', 'moj', 'czy', 'lip', 'siy', 'wrz', 'paź', 'lis', 'gru'], - 'weekdays' => ['niydziela', 'pyÅ„dziÅek', 'wtÅrek', 'strzÅda', 'sztwortek', 'pjÅntek', 'sobÅta'], - 'weekdays_short' => ['niy', 'pyÅ„', 'wtÅ', 'str', 'szt', 'pjÅ', 'sob'], - 'weekdays_min' => ['niy', 'pyÅ„', 'wtÅ', 'str', 'szt', 'pjÅ', 'sob'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 4, - - 'year' => ':count rok', - 'y' => ':count rok', - 'a_year' => ':count rok', - - 'month' => ':count mjeśůnc', - 'm' => ':count mjeśůnc', - 'a_month' => ':count mjeśůnc', - - 'week' => ':count TydźyÅ„', - 'w' => ':count TydźyÅ„', - 'a_week' => ':count TydźyÅ„', - - 'day' => ':count dźyÅ„', - 'd' => ':count dźyÅ„', - 'a_day' => ':count dźyÅ„', - - 'hour' => ':count godzina', - 'h' => ':count godzina', - 'a_hour' => ':count godzina', - - 'minute' => ':count Minuta', - 'min' => ':count Minuta', - 'a_minute' => ':count Minuta', - - 'second' => ':count Sekůnda', - 's' => ':count Sekůnda', - 'a_second' => ':count Sekůnda', -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ta.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ta.php deleted file mode 100644 index 3601293..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ta.php +++ /dev/null @@ -1,92 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Josh Soref - * - François B - * - JD Isaacks - */ -return [ - 'year' => ':count வரà¯à®Ÿà®®à¯|:count ஆணà¯à®Ÿà¯à®•à®³à¯', - 'a_year' => 'ஒர௠வரà¯à®Ÿà®®à¯|:count ஆணà¯à®Ÿà¯à®•à®³à¯', - 'y' => ':count வரà¯à®Ÿ.|:count ஆணà¯.', - 'month' => ':count மாதமà¯|:count மாதஙà¯à®•à®³à¯', - 'a_month' => 'ஒர௠மாதமà¯|:count மாதஙà¯à®•à®³à¯', - 'm' => ':count மாத.', - 'week' => ':count வாரமà¯|:count வாரஙà¯à®•à®³à¯', - 'a_week' => 'ஒர௠வாரமà¯|:count வாரஙà¯à®•à®³à¯', - 'w' => ':count வார.', - 'day' => ':count நாளà¯|:count நாடà¯à®•à®³à¯', - 'a_day' => 'ஒர௠நாளà¯|:count நாடà¯à®•à®³à¯', - 'd' => ':count நாளà¯|:count நாடà¯.', - 'hour' => ':count மணி நேரமà¯|:count மணி நேரமà¯', - 'a_hour' => 'ஒர௠மணி நேரமà¯|:count மணி நேரமà¯', - 'h' => ':count மணி.', - 'minute' => ':count நிமிடமà¯|:count நிமிடஙà¯à®•à®³à¯', - 'a_minute' => 'ஒர௠நிமிடமà¯|:count நிமிடஙà¯à®•à®³à¯', - 'min' => ':count நிமி.', - 'second' => ':count சில விநாடிகளà¯|:count விநாடிகளà¯', - 'a_second' => 'ஒர௠சில விநாடிகளà¯|:count விநாடிகளà¯', - 's' => ':count விநா.', - 'ago' => ':time à®®à¯à®©à¯', - 'from_now' => ':time இலà¯', - 'diff_yesterday' => 'நேறà¯à®±à¯', - 'diff_tomorrow' => 'நாளை', - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD/MM/YYYY', - 'LL' => 'D MMMM YYYY', - 'LLL' => 'D MMMM YYYY, HH:mm', - 'LLLL' => 'dddd, D MMMM YYYY, HH:mm', - ], - 'calendar' => [ - 'sameDay' => '[இனà¯à®±à¯] LT', - 'nextDay' => '[நாளை] LT', - 'nextWeek' => 'dddd, LT', - 'lastDay' => '[நேறà¯à®±à¯] LT', - 'lastWeek' => '[கடநà¯à®¤ வாரமà¯] dddd, LT', - 'sameElse' => 'L', - ], - 'ordinal' => ':numberவதà¯', - 'meridiem' => function ($hour) { - if ($hour < 2) { - return ' யாமமà¯'; - } - if ($hour < 6) { - return ' வைகறை'; - } - if ($hour < 10) { - return ' காலை'; - } - if ($hour < 14) { - return ' நணà¯à®ªà®•à®²à¯'; - } - if ($hour < 18) { - return ' எறà¯à®ªà®¾à®Ÿà¯'; - } - if ($hour < 22) { - return ' மாலை'; - } - - return ' யாமமà¯'; - }, - 'months' => ['ஜனவரி', 'பிபà¯à®°à®µà®°à®¿', 'மாரà¯à®šà¯', 'à®à®ªà¯à®°à®²à¯', 'மே', 'ஜூனà¯', 'ஜூலை', 'ஆகஸà¯à®Ÿà¯', 'செபà¯à®Ÿà¯†à®®à¯à®ªà®°à¯', 'அகà¯à®Ÿà¯‡à®¾à®ªà®°à¯', 'நவமà¯à®ªà®°à¯', 'டிசமà¯à®ªà®°à¯'], - 'months_short' => ['ஜனவரி', 'பிபà¯à®°à®µà®°à®¿', 'மாரà¯à®šà¯', 'à®à®ªà¯à®°à®²à¯', 'மே', 'ஜூனà¯', 'ஜூலை', 'ஆகஸà¯à®Ÿà¯', 'செபà¯à®Ÿà¯†à®®à¯à®ªà®°à¯', 'அகà¯à®Ÿà¯‡à®¾à®ªà®°à¯', 'நவமà¯à®ªà®°à¯', 'டிசமà¯à®ªà®°à¯'], - 'weekdays' => ['ஞாயிறà¯à®±à¯à®•à¯à®•à®¿à®´à®®à¯ˆ', 'திஙà¯à®•à®Ÿà¯à®•à®¿à®´à®®à¯ˆ', 'செவà¯à®µà®¾à®¯à¯à®•à®¿à®´à®®à¯ˆ', 'பà¯à®¤à®©à¯à®•à®¿à®´à®®à¯ˆ', 'வியாழகà¯à®•à®¿à®´à®®à¯ˆ', 'வெளà¯à®³à®¿à®•à¯à®•à®¿à®´à®®à¯ˆ', 'சனிகà¯à®•à®¿à®´à®®à¯ˆ'], - 'weekdays_short' => ['ஞாயிறà¯', 'திஙà¯à®•à®³à¯', 'செவà¯à®µà®¾à®¯à¯', 'பà¯à®¤à®©à¯', 'வியாழனà¯', 'வெளà¯à®³à®¿', 'சனி'], - 'weekdays_min' => ['ஞா', 'தி', 'செ', 'பà¯', 'வி', 'வெ', 'ச'], - 'first_day_of_week' => 0, - 'day_of_first_week_of_year' => 1, - 'list' => [', ', ' மறà¯à®±à¯à®®à¯ '], - 'weekend' => [0, 0], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ta_IN.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ta_IN.php deleted file mode 100644 index 49313ac..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ta_IN.php +++ /dev/null @@ -1,27 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - IBM Globalization Center of Competency, Yamato Software Laboratory bug-glibc-locales@gnu.org - */ -return array_replace_recursive(require __DIR__.'/ta.php', [ - 'formats' => [ - 'L' => 'D/M/YY', - ], - 'months' => ['ஜனவரி', 'பிபà¯à®°à®µà®°à®¿', 'மாரà¯à®šà¯', 'à®à®ªà¯à®°à®²à¯', 'மே', 'ஜூனà¯', 'ஜூலை', 'ஆகஸà¯à®Ÿà¯', 'செபà¯à®Ÿà®®à¯à®ªà®°à¯', 'அகà¯à®Ÿà¯‹à®ªà®°à¯', 'நவமà¯à®ªà®°à¯', 'டிசமà¯à®ªà®°à¯'], - 'months_short' => ['ஜன.', 'பிபà¯.', 'மாரà¯.', 'à®à®ªà¯.', 'மே', 'ஜூனà¯', 'ஜூலை', 'ஆக.', 'செபà¯.', 'அகà¯.', 'நவ.', 'டிச.'], - 'weekdays' => ['ஞாயிறà¯', 'திஙà¯à®•à®³à¯', 'செவà¯à®µà®¾à®¯à¯', 'பà¯à®¤à®©à¯', 'வியாழனà¯', 'வெளà¯à®³à®¿', 'சனி'], - 'weekdays_short' => ['ஞா', 'தி', 'செ', 'பà¯', 'வி', 'வெ', 'ச'], - 'weekdays_min' => ['ஞா', 'தி', 'செ', 'பà¯', 'வி', 'வெ', 'ச'], - 'day_of_first_week_of_year' => 1, - 'meridiem' => ['காலை', 'மாலை'], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ta_LK.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ta_LK.php deleted file mode 100644 index 9b691bf..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ta_LK.php +++ /dev/null @@ -1,28 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - J.Yogaraj 94-777-315206 yogaraj.ubuntu@gmail.com - */ -return array_replace_recursive(require __DIR__.'/ta.php', [ - 'formats' => [ - 'L' => 'D/M/YY', - ], - 'months' => ['ஜனவரி', 'பிபà¯à®°à®µà®°à®¿', 'மாரà¯à®šà¯', 'à®à®ªà¯à®°à®²à¯', 'மே', 'ஜூனà¯', 'ஜூலை', 'ஆகஸà¯à®Ÿà¯', 'செபà¯à®Ÿà®®à¯à®ªà®°à¯', 'அகà¯à®Ÿà¯‹à®ªà®°à¯', 'நவமà¯à®ªà®°à¯', 'டிசமà¯à®ªà®°à¯'], - 'months_short' => ['ஜன', 'பிபà¯', 'மாரà¯', 'à®à®ªà¯', 'மே', 'ஜூனà¯', 'ஜூலை', 'ஆக', 'செபà¯', 'அகà¯', 'நவ', 'டிச'], - 'weekdays' => ['ஞாயிறà¯', 'திஙà¯à®•à®³à¯', 'செவà¯à®µà®¾à®¯à¯', 'பà¯à®¤à®©à¯', 'வியாழனà¯', 'வெளà¯à®³à®¿', 'சனி'], - 'weekdays_short' => ['ஞா', 'தி', 'செ', 'பà¯', 'வி', 'வெ', 'ச'], - 'weekdays_min' => ['ஞா', 'தி', 'செ', 'பà¯', 'வி', 'வெ', 'ச'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 1, - 'meridiem' => ['காலை', 'மாலை'], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ta_MY.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ta_MY.php deleted file mode 100644 index 291d6c8..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ta_MY.php +++ /dev/null @@ -1,27 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/ta.php', [ - 'formats' => [ - 'LT' => 'a h:mm', - 'LTS' => 'a h:mm:ss', - 'L' => 'D/M/yy', - 'LL' => 'D MMM, YYYY', - 'LLL' => 'D MMMM, YYYY, a h:mm', - 'LLLL' => 'dddd, D MMMM, YYYY, a h:mm', - ], - 'months' => ['ஜனவரி', 'பிபà¯à®°à®µà®°à®¿', 'மாரà¯à®šà¯', 'à®à®ªà¯à®°à®²à¯', 'மே', 'ஜூனà¯', 'ஜூலை', 'ஆகஸà¯à®Ÿà¯', 'செபà¯à®Ÿà®®à¯à®ªà®°à¯', 'அகà¯à®Ÿà¯‹à®ªà®°à¯', 'நவமà¯à®ªà®°à¯', 'டிசமà¯à®ªà®°à¯'], - 'months_short' => ['ஜன.', 'பிபà¯.', 'மாரà¯.', 'à®à®ªà¯.', 'மே', 'ஜூனà¯', 'ஜூலை', 'ஆக.', 'செபà¯.', 'அகà¯.', 'நவ.', 'டிச.'], - 'weekdays' => ['ஞாயிறà¯', 'திஙà¯à®•à®³à¯', 'செவà¯à®µà®¾à®¯à¯', 'பà¯à®¤à®©à¯', 'வியாழனà¯', 'வெளà¯à®³à®¿', 'சனி'], - 'weekdays_short' => ['ஞாயி.', 'திஙà¯.', 'செவà¯.', 'பà¯à®¤.', 'வியா.', 'வெளà¯.', 'சனி'], - 'weekdays_min' => ['ஞா', 'தி', 'செ', 'பà¯', 'வி', 'வெ', 'ச'], - 'first_day_of_week' => 1, - 'meridiem' => ['à®®à¯.ப', 'பி.ப'], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ta_SG.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ta_SG.php deleted file mode 100644 index fe1cc06..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ta_SG.php +++ /dev/null @@ -1,26 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/ta.php', [ - 'formats' => [ - 'LT' => 'a h:mm', - 'LTS' => 'a h:mm:ss', - 'L' => 'D/M/yy', - 'LL' => 'D MMM, YYYY', - 'LLL' => 'D MMMM, YYYY, a h:mm', - 'LLLL' => 'dddd, D MMMM, YYYY, a h:mm', - ], - 'months' => ['ஜனவரி', 'பிபà¯à®°à®µà®°à®¿', 'மாரà¯à®šà¯', 'à®à®ªà¯à®°à®²à¯', 'மே', 'ஜூனà¯', 'ஜூலை', 'ஆகஸà¯à®Ÿà¯', 'செபà¯à®Ÿà®®à¯à®ªà®°à¯', 'அகà¯à®Ÿà¯‹à®ªà®°à¯', 'நவமà¯à®ªà®°à¯', 'டிசமà¯à®ªà®°à¯'], - 'months_short' => ['ஜன.', 'பிபà¯.', 'மாரà¯.', 'à®à®ªà¯.', 'மே', 'ஜூனà¯', 'ஜூலை', 'ஆக.', 'செபà¯.', 'அகà¯.', 'நவ.', 'டிச.'], - 'weekdays' => ['ஞாயிறà¯', 'திஙà¯à®•à®³à¯', 'செவà¯à®µà®¾à®¯à¯', 'பà¯à®¤à®©à¯', 'வியாழனà¯', 'வெளà¯à®³à®¿', 'சனி'], - 'weekdays_short' => ['ஞாயி.', 'திஙà¯.', 'செவà¯.', 'பà¯à®¤.', 'வியா.', 'வெளà¯.', 'சனி'], - 'weekdays_min' => ['ஞா', 'தி', 'செ', 'பà¯', 'வி', 'வெ', 'ச'], - 'meridiem' => ['à®®à¯.ப', 'பி.ப'], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/tcy.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/tcy.php deleted file mode 100644 index 5d22b0b..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/tcy.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return require __DIR__.'/tcy_IN.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/tcy_IN.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/tcy_IN.php deleted file mode 100644 index e266671..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/tcy_IN.php +++ /dev/null @@ -1,39 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - IndLinux.org, Samsung Electronics Co., Ltd. alexey.merzlyakov@samsung.com - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'D/M/YY', - ], - 'months' => ['ಜನವರಿ', 'ಫೆಬà³à²°à³à²µà²°à²¿', 'ಮಾರà³à²šà³', 'à²à²ªà³à²°à²¿à²²à³â€Œâ€Œ', 'ಮೇ', 'ಜೂನà³', 'ಜà³à²²à³ˆ', 'ಆಗಸà³à²Ÿà³', 'ಸೆಪà³à²Ÿà³†à²‚ಬರà³â€Œ', 'ಅಕà³à²Ÿà³‹à²¬à²°à³', 'ನವೆಂಬರà³', 'ಡಿಸೆಂಬರà³'], - 'months_short' => ['ಜ', 'ಫೆ', 'ಮಾ', 'à²', 'ಮೇ', 'ಜೂ', 'ಜà³', 'ಆ', 'ಸೆ', 'ಅ', 'ನ', 'ಡಿ'], - 'weekdays' => ['à²à²¥à²¾à²°', 'ಸೋಮಾರ', 'ಅಂಗರೆ', 'ಬà³à²§à²¾à²°', 'ಗà³à²°à³à²µà²¾à²°', 'ಶà³à²•à³à²°à²°', 'ಶನಿವಾರ'], - 'weekdays_short' => ['à²', 'ಸೋ', 'ಅಂ', 'ಬà³', 'ಗà³', 'ಶà³', 'ಶ'], - 'weekdays_min' => ['à²', 'ಸೋ', 'ಅಂ', 'ಬà³', 'ಗà³', 'ಶà³', 'ಶ'], - 'day_of_first_week_of_year' => 1, - 'meridiem' => ['ಕಾಂಡೆ', 'ಬಯà³à²¯'], - - 'year' => ':count ನೀರà³', // less reliable - 'y' => ':count ನೀರà³', // less reliable - 'a_year' => ':count ನೀರà³', // less reliable - - 'month' => ':count ಮೀನà³', // less reliable - 'm' => ':count ಮೀನà³', // less reliable - 'a_month' => ':count ಮೀನà³', // less reliable - - 'day' => ':count ಸà³à²—à³à²—ಿ', // less reliable - 'd' => ':count ಸà³à²—à³à²—ಿ', // less reliable - 'a_day' => ':count ಸà³à²—à³à²—ಿ', // less reliable -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/te.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/te.php deleted file mode 100644 index 5459e02..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/te.php +++ /dev/null @@ -1,87 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Kunal Marwaha - * - Josh Soref - * - François B - * - kc - */ -return [ - 'year' => ':count సంవతà±à°¸à°°à°‚|:count సంవతà±à°¸à°°à°¾à°²à±', - 'a_year' => 'à°’à°• సంవతà±à°¸à°°à°‚|:count సంవతà±à°¸à°°à°¾à°²à±', - 'y' => ':count సం.', - 'month' => ':count నెల|:count నెలలà±', - 'a_month' => 'à°’à°• నెల|:count నెలలà±', - 'm' => ':count నెల|:count నెల.', - 'week' => ':count వారం|:count వారాలà±', - 'a_week' => 'à°’à°• వారం|:count వారాలà±', - 'w' => ':count వార.|:count వారా.', - 'day' => ':count రోజà±|:count రోజà±à°²à±', - 'a_day' => 'à°’à°• రోజà±|:count రోజà±à°²à±', - 'd' => ':count రోజà±|:count రోజà±.', - 'hour' => ':count à°—à°‚à°Ÿ|:count à°—à°‚à°Ÿà°²à±', - 'a_hour' => 'à°’à°• à°—à°‚à°Ÿ|:count à°—à°‚à°Ÿà°²à±', - 'h' => ':count à°—à°‚.', - 'minute' => ':count నిమిషం|:count నిమిషాలà±', - 'a_minute' => 'à°’à°• నిమిషం|:count నిమిషాలà±', - 'min' => ':count నిమి.', - 'second' => ':count సెకనà±|:count సెకనà±à°²à±', - 'a_second' => 'కొనà±à°¨à°¿ à°•à±à°·à°£à°¾à°²à±|:count సెకనà±à°²à±', - 's' => ':count సెక.', - 'ago' => ':time à°•à±à°°à°¿à°¤à°‚', - 'from_now' => ':time లో', - 'diff_yesterday' => 'నినà±à°¨', - 'diff_tomorrow' => 'రేపà±', - 'formats' => [ - 'LT' => 'A h:mm', - 'LTS' => 'A h:mm:ss', - 'L' => 'DD/MM/YYYY', - 'LL' => 'D MMMM YYYY', - 'LLL' => 'D MMMM YYYY, A h:mm', - 'LLLL' => 'dddd, D MMMM YYYY, A h:mm', - ], - 'calendar' => [ - 'sameDay' => '[నేడà±] LT', - 'nextDay' => '[రేపà±] LT', - 'nextWeek' => 'dddd, LT', - 'lastDay' => '[నినà±à°¨] LT', - 'lastWeek' => '[à°—à°¤] dddd, LT', - 'sameElse' => 'L', - ], - 'ordinal' => ':numberà°µ', - 'meridiem' => function ($hour) { - if ($hour < 4) { - return 'రాతà±à°°à°¿'; - } - if ($hour < 10) { - return 'ఉదయం'; - } - if ($hour < 17) { - return 'మధà±à°¯à°¾à°¹à±à°¨à°‚'; - } - if ($hour < 20) { - return 'సాయంతà±à°°à°‚'; - } - - return ' రాతà±à°°à°¿'; - }, - 'months' => ['జనవరి', 'à°«à°¿à°¬à±à°°à°µà°°à°¿', 'మారà±à°šà°¿', 'à°à°ªà±à°°à°¿à°²à±', 'మే', 'జూనà±', 'జూలై', 'ఆగసà±à°Ÿà±', 'సెపà±à°Ÿà±†à°‚బరà±', 'à°…à°•à±à°Ÿà±‹à°¬à°°à±', 'నవంబరà±', 'డిసెంబరà±'], - 'months_short' => ['జన.', 'à°«à°¿à°¬à±à°°.', 'మారà±à°šà°¿', 'à°à°ªà±à°°à°¿.', 'మే', 'జూనà±', 'జూలై', 'ఆగ.', 'సెపà±.', 'à°…à°•à±à°Ÿà±‹.', 'నవ.', 'డిసె.'], - 'weekdays' => ['ఆదివారం', 'సోమవారం', 'మంగళవారం', 'à°¬à±à°§à°µà°¾à°°à°‚', 'à°—à±à°°à±à°µà°¾à°°à°‚', 'à°¶à±à°•à±à°°à°µà°¾à°°à°‚', 'శనివారం'], - 'weekdays_short' => ['ఆది', 'సోమ', 'మంగళ', 'à°¬à±à°§', 'à°—à±à°°à±', 'à°¶à±à°•à±à°°', 'శని'], - 'weekdays_min' => ['à°†', 'సో', 'మం', 'à°¬à±', 'à°—à±', 'à°¶à±', 'à°¶'], - 'list' => ', ', - 'first_day_of_week' => 0, - 'day_of_first_week_of_year' => 1, - 'weekend' => [0, 0], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/te_IN.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/te_IN.php deleted file mode 100644 index 6f81c40..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/te_IN.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/te.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/teo.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/teo.php deleted file mode 100644 index 950235e..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/teo.php +++ /dev/null @@ -1,27 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/ta.php', [ - 'meridiem' => ['Taparachu', 'Ebongi'], - 'weekdays' => ['Nakaejuma', 'Nakaebarasa', 'Nakaare', 'Nakauni', 'Nakaung’on', 'Nakakany', 'Nakasabiti'], - 'weekdays_short' => ['Jum', 'Bar', 'Aar', 'Uni', 'Ung', 'Kan', 'Sab'], - 'weekdays_min' => ['Jum', 'Bar', 'Aar', 'Uni', 'Ung', 'Kan', 'Sab'], - 'months' => ['Orara', 'Omuk', 'Okwamg’', 'Odung’el', 'Omaruk', 'Omodok’king’ol', 'Ojola', 'Opedel', 'Osokosokoma', 'Otibar', 'Olabor', 'Opoo'], - 'months_short' => ['Rar', 'Muk', 'Kwa', 'Dun', 'Mar', 'Mod', 'Jol', 'Ped', 'Sok', 'Tib', 'Lab', 'Poo'], - 'first_day_of_week' => 1, - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD/MM/YYYY', - 'LL' => 'D MMM YYYY', - 'LLL' => 'D MMMM YYYY HH:mm', - 'LLLL' => 'dddd, D MMMM YYYY HH:mm', - ], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/teo_KE.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/teo_KE.php deleted file mode 100644 index 024d272..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/teo_KE.php +++ /dev/null @@ -1,13 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/teo.php', [ - 'first_day_of_week' => 0, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/tet.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/tet.php deleted file mode 100644 index 2e2fdda..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/tet.php +++ /dev/null @@ -1,60 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/* - * Authors: - * - Joshua Brooks - * - François B - */ -return [ - 'year' => 'tinan :count', - 'a_year' => '{1}tinan ida|tinan :count', - 'month' => 'fulan :count', - 'a_month' => '{1}fulan ida|fulan :count', - 'week' => 'semana :count', - 'a_week' => '{1}semana ida|semana :count', - 'day' => 'loron :count', - 'a_day' => '{1}loron ida|loron :count', - 'hour' => 'oras :count', - 'a_hour' => '{1}oras ida|oras :count', - 'minute' => 'minutu :count', - 'a_minute' => '{1}minutu ida|minutu :count', - 'second' => 'segundu :count', - 'a_second' => '{1}segundu balun|segundu :count', - 'ago' => ':time liuba', - 'from_now' => 'iha :time', - 'diff_yesterday' => 'Horiseik', - 'diff_tomorrow' => 'Aban', - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD/MM/YYYY', - 'LL' => 'D MMMM YYYY', - 'LLL' => 'D MMMM YYYY HH:mm', - 'LLLL' => 'dddd, D MMMM YYYY HH:mm', - ], - 'calendar' => [ - 'sameDay' => '[Ohin iha] LT', - 'nextDay' => '[Aban iha] LT', - 'nextWeek' => 'dddd [iha] LT', - 'lastDay' => '[Horiseik iha] LT', - 'lastWeek' => 'dddd [semana kotuk] [iha] LT', - 'sameElse' => 'L', - ], - 'ordinal' => ':numberº', - 'months' => ['Janeiru', 'Fevereiru', 'Marsu', 'Abril', 'Maiu', 'Juñu', 'Jullu', 'Agustu', 'Setembru', 'Outubru', 'Novembru', 'Dezembru'], - 'months_short' => ['Jan', 'Fev', 'Mar', 'Abr', 'Mai', 'Jun', 'Jul', 'Ago', 'Set', 'Out', 'Nov', 'Dez'], - 'weekdays' => ['Domingu', 'Segunda', 'Tersa', 'Kuarta', 'Kinta', 'Sesta', 'Sabadu'], - 'weekdays_short' => ['Dom', 'Seg', 'Ters', 'Kua', 'Kint', 'Sest', 'Sab'], - 'weekdays_min' => ['Do', 'Seg', 'Te', 'Ku', 'Ki', 'Ses', 'Sa'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 4, -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/tg.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/tg.php deleted file mode 100644 index a02595b..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/tg.php +++ /dev/null @@ -1,98 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/* - * Authors: - * - Orif N. Jr - */ -return [ - 'year' => '{1}Ñк Ñол|:count Ñол', - 'month' => '{1}Ñк моҳ|:count моҳ', - 'week' => '{1}Ñк ҳафта|:count ҳафта', - 'day' => '{1}Ñк рӯз|:count рӯз', - 'hour' => '{1}Ñк Ñоат|:count Ñоат', - 'minute' => '{1}Ñк дақиқа|:count дақиқа', - 'second' => '{1}Ñкчанд ÑониÑ|:count ÑониÑ', - 'ago' => ':time пеш', - 'from_now' => 'баъди :time', - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD/MM/YYYY', - 'LL' => 'D MMMM YYYY', - 'LLL' => 'D MMMM YYYY HH:mm', - 'LLLL' => 'dddd, D MMMM YYYY HH:mm', - ], - 'calendar' => [ - 'sameDay' => '[Имрӯз Ñоати] LT', - 'nextDay' => '[Пагоҳ Ñоати] LT', - 'nextWeek' => 'dddd[и] [ҳафтаи оÑнда Ñоати] LT', - 'lastDay' => '[Дирӯз Ñоати] LT', - 'lastWeek' => 'dddd[и] [ҳафтаи гузашта Ñоати] LT', - 'sameElse' => 'L', - ], - 'ordinal' => function ($number) { - if ($number === 0) { // special case for zero - return "$number-ıncı"; - } - - static $suffixes = [ - 0 => '-ум', - 1 => '-ум', - 2 => '-юм', - 3 => '-юм', - 4 => '-ум', - 5 => '-ум', - 6 => '-ум', - 7 => '-ум', - 8 => '-ум', - 9 => '-ум', - 10 => '-ум', - 12 => '-ум', - 13 => '-ум', - 20 => '-ум', - 30 => '-юм', - 40 => '-ум', - 50 => '-ум', - 60 => '-ум', - 70 => '-ум', - 80 => '-ум', - 90 => '-ум', - 100 => '-ум', - ]; - - return $number.($suffixes[$number] ?? $suffixes[$number % 10] ?? $suffixes[$number >= 100 ? 100 : -1] ?? ''); - }, - 'meridiem' => function ($hour) { - if ($hour < 4) { - return 'шаб'; - } - if ($hour < 11) { - return 'Ñубҳ'; - } - if ($hour < 16) { - return 'рӯз'; - } - if ($hour < 19) { - return 'бегоҳ'; - } - - return 'шаб'; - }, - 'months' => ['Ñнвар', 'феврал', 'март', 'апрел', 'май', 'июн', 'июл', 'авгуÑÑ‚', 'ÑентÑбр', 'октÑбр', 'ноÑбр', 'декабр'], - 'months_short' => ['Ñнв', 'фев', 'мар', 'апр', 'май', 'июн', 'июл', 'авг', 'Ñен', 'окт', 'ноÑ', 'дек'], - 'weekdays' => ['Ñкшанбе', 'душанбе', 'Ñешанбе', 'чоршанбе', 'панҷшанбе', 'ҷумъа', 'шанбе'], - 'weekdays_short' => ['Ñшб', 'дшб', 'Ñшб', 'чшб', 'пшб', 'ҷум', 'шнб'], - 'weekdays_min' => ['Ñш', 'дш', 'Ñш', 'чш', 'пш', 'ҷм', 'шб'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 1, - 'list' => [', ', ' ва '], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/tg_TJ.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/tg_TJ.php deleted file mode 100644 index c6591e3..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/tg_TJ.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/tg.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/th.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/th.php deleted file mode 100644 index 95d8a6b..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/th.php +++ /dev/null @@ -1,66 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Nate Whittaker - * - John MacAslan - * - Chanintorn Asavavichairoj - * - JD Isaacks - * - ROKAISAKKON - * - RO'KAISAKKON - * - Andreas Möller - * - nithisa - */ -return [ - 'year' => ':count ปี', - 'y' => ':count ปี', - 'month' => ':count เดือน', - 'm' => ':count เดือน', - 'week' => ':count สัปดาห์', - 'w' => ':count สัปดาห์', - 'day' => ':count วัน', - 'd' => ':count วัน', - 'hour' => ':count ชั่วโมง', - 'h' => ':count ชั่วโมง', - 'minute' => ':count นาที', - 'min' => ':count นาที', - 'second' => ':count วินาที', - 'a_second' => '{1}ไม่à¸à¸µà¹ˆà¸§à¸´à¸™à¸²à¸—ี|]1,Inf[:count วินาที', - 's' => ':count วินาที', - 'ago' => ':timeที่à¹à¸¥à¹‰à¸§', - 'from_now' => 'อีภ:time', - 'after' => ':timeหลังจาà¸à¸™à¸µà¹‰', - 'before' => ':timeà¸à¹ˆà¸­à¸™', - 'formats' => [ - 'LT' => 'H:mm', - 'LTS' => 'H:mm:ss', - 'L' => 'DD/MM/YYYY', - 'LL' => 'D MMMM YYYY', - 'LLL' => 'D MMMM YYYY เวลา H:mm', - 'LLLL' => 'วันddddที่ D MMMM YYYY เวลา H:mm', - ], - 'calendar' => [ - 'sameDay' => '[วันนี้ เวลา] LT', - 'nextDay' => '[พรุ่งนี้ เวลา] LT', - 'nextWeek' => 'dddd[หน้า เวลา] LT', - 'lastDay' => '[เมื่อวานนี้ เวลา] LT', - 'lastWeek' => '[วัน]dddd[ที่à¹à¸¥à¹‰à¸§ เวลา] LT', - 'sameElse' => 'L', - ], - 'meridiem' => ['à¸à¹ˆà¸­à¸™à¹€à¸—ี่ยง', 'หลังเที่ยง'], - 'months' => ['มà¸à¸£à¸²à¸„ม', 'à¸à¸¸à¸¡à¸ à¸²à¸žà¸±à¸™à¸˜à¹Œ', 'มีนาคม', 'เมษายน', 'พฤษภาคม', 'มิถุนายน', 'à¸à¸£à¸à¸Žà¸²à¸„ม', 'สิงหาคม', 'à¸à¸±à¸™à¸¢à¸²à¸¢à¸™', 'ตุลาคม', 'พฤศจิà¸à¸²à¸¢à¸™', 'ธันวาคม'], - 'months_short' => ['ม.ค.', 'à¸.พ.', 'มี.ค.', 'เม.ย.', 'พ.ค.', 'มิ.ย.', 'à¸.ค.', 'ส.ค.', 'à¸.ย.', 'ต.ค.', 'พ.ย.', 'ธ.ค.'], - 'weekdays' => ['อาทิตย์', 'จันทร์', 'อังคาร', 'พุธ', 'พฤหัสบดี', 'ศุà¸à¸£à¹Œ', 'เสาร์'], - 'weekdays_short' => ['อาทิตย์', 'จันทร์', 'อังคาร', 'พุธ', 'พฤหัส', 'ศุà¸à¸£à¹Œ', 'เสาร์'], - 'weekdays_min' => ['อา.', 'จ.', 'อ.', 'พ.', 'พฤ.', 'ศ.', 'ส.'], - 'list' => [', ', ' à¹à¸¥à¸° '], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/th_TH.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/th_TH.php deleted file mode 100644 index f11dc1b..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/th_TH.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/th.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/the.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/the.php deleted file mode 100644 index d3aef9e..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/the.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return require __DIR__.'/the_NP.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/the_NP.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/the_NP.php deleted file mode 100644 index 6d86338..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/the_NP.php +++ /dev/null @@ -1,27 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Chitwanix OS Development info@chitwanix.com - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'dddd DD MMM YYYY', - ], - 'months' => ['जनवरी', 'फ़रवरी', 'मारà¥à¤š', 'अपà¥à¤°à¥‡à¤²', 'मई', 'जून', 'जà¥à¤²à¤¾à¤ˆ', 'अगसà¥à¤¤', 'सितमà¥à¤¬à¤°', 'अकà¥à¤Ÿà¥‚बर', 'नवमà¥à¤¬à¤°', 'दिसमà¥à¤¬à¤°'], - 'months_short' => ['जनवरी', 'फ़रवरी', 'मारà¥à¤š', 'अपà¥à¤°à¥‡à¤²', 'मई', 'जून', 'जà¥à¤²à¤¾à¤ˆ', 'अगसà¥à¤¤', 'सितमà¥à¤¬à¤°', 'अकà¥à¤Ÿà¥‚बर', 'नवमà¥à¤¬à¤°', 'दिसमà¥à¤¬à¤°'], - 'weekdays' => ['आइतबार', 'सोमबार', 'मंगलबार', 'बà¥à¤§à¤¬à¤¾à¤°', 'बिहिबार', 'शà¥à¤•à¥à¤°à¤¬à¤¾à¤°', 'शनिबार'], - 'weekdays_short' => ['आइत', 'सोम', 'मंगल', 'बà¥à¤§', 'बिहि', 'शà¥à¤•à¥à¤°', 'शनि'], - 'weekdays_min' => ['आइत', 'सोम', 'मंगल', 'बà¥à¤§', 'बिहि', 'शà¥à¤•à¥à¤°', 'शनि'], - 'day_of_first_week_of_year' => 1, - 'meridiem' => ['पूरà¥à¤µà¤¾à¤¹à¥à¤¨', 'अपराहà¥à¤¨'], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ti.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ti.php deleted file mode 100644 index dd4f501..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ti.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return require __DIR__.'/ti_ER.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ti_ER.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ti_ER.php deleted file mode 100644 index 99aa6a8..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ti_ER.php +++ /dev/null @@ -1,56 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Ge'ez Frontier Foundation locales@geez.org - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'DD/MM/YYYY', - ], - 'months' => ['ጥሪ', 'ለካቲት', 'መጋቢት', 'ሚያá‹á‹«', 'áŒáŠ•á‰¦á‰µ', 'ሰáŠ', 'ሓáˆáˆˆ', 'áŠáˆ“ሰ', 'መስከረáˆ', 'ጥቅáˆá‰²', 'ሕዳር', 'ታሕሳስ'], - 'months_short' => ['ጥሪ ', 'ለካቲ', 'መጋቢ', 'ሚያá‹', 'áŒáŠ•á‰¦', 'ሰአ', 'ሓáˆáˆˆ', 'áŠáˆ“ሰ', 'መስከ', 'ጥቅáˆ', 'ሕዳር', 'ታሕሳ'], - 'weekdays' => ['ሰንበት', 'ሰኑይ', 'ሰሉስ', 'ረቡዕ', 'ሓሙስ', 'ዓርቢ', 'ቀዳáˆ'], - 'weekdays_short' => ['ሰንበ', 'ሰኑይ', 'ሰሉስ', 'ረቡዕ', 'ሓሙስ', 'ዓርቢ', 'ቀዳáˆ'], - 'weekdays_min' => ['ሰንበ', 'ሰኑይ', 'ሰሉስ', 'ረቡዕ', 'ሓሙስ', 'ዓርቢ', 'ቀዳáˆ'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 1, - 'meridiem' => ['ንጉሆ ሰዓተ', 'ድሕር ሰዓት'], - - 'year' => ':count ዓመት', - 'y' => ':count ዓመት', - 'a_year' => ':count ዓመት', - - 'month' => 'ወርሒ :count', - 'm' => 'ወርሒ :count', - 'a_month' => 'ወርሒ :count', - - 'week' => ':count ሰሙን', - 'w' => ':count ሰሙን', - 'a_week' => ':count ሰሙን', - - 'day' => ':count መዓáˆá‰²', - 'd' => ':count መዓáˆá‰²', - 'a_day' => ':count መዓáˆá‰²', - - 'hour' => ':count ሰዓት', - 'h' => ':count ሰዓት', - 'a_hour' => ':count ሰዓት', - - 'minute' => ':count ደቒቕ', - 'min' => ':count ደቒቕ', - 'a_minute' => ':count ደቒቕ', - - 'second' => ':count ሰከንድ', - 's' => ':count ሰከንድ', - 'a_second' => ':count ሰከንድ', -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ti_ET.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ti_ET.php deleted file mode 100644 index a855038..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ti_ET.php +++ /dev/null @@ -1,27 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Ge'ez Frontier Foundation locales@geez.org - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'DD/MM/YYYY', - ], - 'months' => ['ጃንዩወሪ', 'áŒá‰¥áˆ©á‹ˆáˆª', 'ማርች', 'ኤá•áˆ¨áˆ', 'ሜይ', 'áŒáŠ•', 'áŒáˆ‹á‹­', 'ኦገስት', 'ሴá•á‰´áˆá‰ áˆ­', 'ኦክተá‹á‰ áˆ­', 'ኖቬáˆá‰ áˆ­', 'ዲሴáˆá‰ áˆ­'], - 'months_short' => ['ጃንዩ', 'áŒá‰¥áˆ©', 'ማርች', 'ኤá•áˆ¨', 'ሜይ ', 'áŒáŠ• ', 'áŒáˆ‹á‹­', 'ኦገስ', 'ሴá•á‰´', 'ኦክተ', 'ኖቬáˆ', 'ዲሴáˆ'], - 'weekdays' => ['ሰንበት', 'ሰኑይ', 'ሰሉስ', 'ረቡዕ', 'ሓሙስ', 'ዓርቢ', 'ቀዳáˆ'], - 'weekdays_short' => ['ሰንበ', 'ሰኑይ', 'ሰሉስ', 'ረቡዕ', 'ሓሙስ', 'ዓርቢ', 'ቀዳáˆ'], - 'weekdays_min' => ['ሰንበ', 'ሰኑይ', 'ሰሉስ', 'ረቡዕ', 'ሓሙስ', 'ዓርቢ', 'ቀዳáˆ'], - 'day_of_first_week_of_year' => 1, - 'meridiem' => ['ንጉሆ ሰዓተ', 'ድሕር ሰዓት'], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/tig.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/tig.php deleted file mode 100644 index ebd711c..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/tig.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return require __DIR__.'/tig_ER.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/tig_ER.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/tig_ER.php deleted file mode 100644 index 04239e2..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/tig_ER.php +++ /dev/null @@ -1,56 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Ge'ez Frontier Foundation locales@geez.org - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'DD/MM/YYYY', - ], - 'months' => ['ጥሪ', 'ለካቲት', 'መጋቢት', 'ሚያá‹á‹«', 'áŒáŠ•á‰¦á‰µ', 'ሰáŠ', 'ሓáˆáˆˆ', 'áŠáˆ“ሰ', 'መስከረáˆ', 'ጥቅáˆá‰²', 'ሕዳር', 'ታሕሳስ'], - 'months_short' => ['ጥሪ ', 'ለካቲ', 'መጋቢ', 'ሚያá‹', 'áŒáŠ•á‰¦', 'ሰአ', 'ሓáˆáˆˆ', 'áŠáˆ“ሰ', 'መስከ', 'ጥቅáˆ', 'ሕዳር', 'ታሕሳ'], - 'weekdays' => ['ሰንበት ዓባይ', 'ሰኖ', 'ታላሸኖ', 'ኣረርባዓ', 'ከሚሽ', 'ጅáˆá‹“ት', 'ሰንበት ንኢሽ'], - 'weekdays_short' => ['ሰ//á‹“', 'ሰኖ ', 'ታላሸ', 'ኣረር', 'ከሚሽ', 'ጅáˆá‹“', 'ሰ//ን'], - 'weekdays_min' => ['ሰ//á‹“', 'ሰኖ ', 'ታላሸ', 'ኣረር', 'ከሚሽ', 'ጅáˆá‹“', 'ሰ//ን'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 1, - 'meridiem' => ['ቀደሠሰር áˆá‹•áˆ', 'ሓቆ ሰር áˆá‹•áˆ'], - - 'year' => ':count ማይ', // less reliable - 'y' => ':count ማይ', // less reliable - 'a_year' => ':count ማይ', // less reliable - - 'month' => ':count ሸáˆáˆ½', // less reliable - 'm' => ':count ሸáˆáˆ½', // less reliable - 'a_month' => ':count ሸáˆáˆ½', // less reliable - - 'week' => ':count ሰቡዕ', // less reliable - 'w' => ':count ሰቡዕ', // less reliable - 'a_week' => ':count ሰቡዕ', // less reliable - - 'day' => ':count ዎሮ', // less reliable - 'd' => ':count ዎሮ', // less reliable - 'a_day' => ':count ዎሮ', // less reliable - - 'hour' => ':count ሰዓት', // less reliable - 'h' => ':count ሰዓት', // less reliable - 'a_hour' => ':count ሰዓት', // less reliable - - 'minute' => ':count ካáˆáŠ£á‹­á‰µ', // less reliable - 'min' => ':count ካáˆáŠ£á‹­á‰µ', // less reliable - 'a_minute' => ':count ካáˆáŠ£á‹­á‰µ', // less reliable - - 'second' => ':count ካáˆáŠ£á‹­', - 's' => ':count ካáˆáŠ£á‹­', - 'a_second' => ':count ካáˆáŠ£á‹­', -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/tk.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/tk.php deleted file mode 100644 index 16f79e3..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/tk.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return require __DIR__.'/tk_TM.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/tk_TM.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/tk_TM.php deleted file mode 100644 index bd62ee2..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/tk_TM.php +++ /dev/null @@ -1,76 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Ghorban M. Tavakoly Pablo Saratxaga & Ghorban M. Tavakoly pablo@walon.org & gmt314@yahoo.com - * - SuperManPHP - */ -$transformDiff = function ($input) { - return strtr($input, [ - 'sekunt' => 'sekunt', - 'hepde' => 'hepde', - ]); -}; - -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'DD.MM.YYYY', - ], - 'months' => ['Ãanwar', 'Fewral', 'Mart', 'Aprel', 'Maý', 'Iýun', 'Iýul', 'Awgust', 'Sentýabr', 'Oktýabr', 'Noýabr', 'Dekabr'], - 'months_short' => ['Ãan', 'Few', 'Mar', 'Apr', 'Maý', 'Iýn', 'Iýl', 'Awg', 'Sen', 'Okt', 'Noý', 'Dek'], - 'weekdays' => ['DuÅŸenbe', 'SiÅŸenbe', 'ÇarÅŸenbe', 'PenÅŸenbe', 'Anna', 'Åženbe', 'ÃekÅŸenbe'], - 'weekdays_short' => ['DuÅŸ', 'SiÅŸ', 'Çar', 'Pen', 'Ann', 'Åžen', 'Ãek'], - 'weekdays_min' => ['DuÅŸ', 'SiÅŸ', 'Çar', 'Pen', 'Ann', 'Åžen', 'Ãek'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 1, - - 'year' => ':count ýyl', - 'y' => ':count ýyl', - 'a_year' => ':count ýyl', - - 'month' => 'aý :count', - 'm' => 'aý :count', - 'a_month' => 'aý :count', - - 'week' => ':count hepde', - 'w' => ':count hepde', - 'a_week' => ':count hepde', - - 'day' => ':count gün', - 'd' => ':count gün', - 'a_day' => ':count gün', - - 'hour' => ':count sagat', - 'h' => ':count sagat', - 'a_hour' => ':count sagat', - - 'minute' => ':count minut', - 'min' => ':count minut', - 'a_minute' => ':count minut', - - 'second' => ':count sekunt', - 's' => ':count sekunt', - 'a_second' => ':count sekunt', - - 'ago' => function ($time) use ($transformDiff) { - return $transformDiff($time).' ozal'; - }, - 'from_now' => function ($time) use ($transformDiff) { - return $transformDiff($time).' soňra'; - }, - 'after' => function ($time) use ($transformDiff) { - return $transformDiff($time).' soň'; - }, - 'before' => function ($time) use ($transformDiff) { - return $transformDiff($time).' öň'; - }, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/tl.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/tl.php deleted file mode 100644 index ca4336b..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/tl.php +++ /dev/null @@ -1,55 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -return [ - 'year' => ':count taon', - 'a_year' => '{1}isang taon|:count taon', - 'month' => ':count buwan', - 'a_month' => '{1}isang buwan|:count buwan', - 'week' => ':count linggo', - 'a_week' => '{1}isang linggo|:count linggo', - 'day' => ':count araw', - 'a_day' => '{1}isang araw|:count araw', - 'hour' => ':count oras', - 'a_hour' => '{1}isang oras|:count oras', - 'minute' => ':count minuto', - 'a_minute' => '{1}isang minuto|:count minuto', - 'min' => ':count min.', - 'second' => ':count segundo', - 'a_second' => '{1}ilang segundo|:count segundo', - 's' => ':count seg.', - 'ago' => ':time ang nakalipas', - 'from_now' => 'sa loob ng :time', - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'MM/D/YYYY', - 'LL' => 'MMMM D, YYYY', - 'LLL' => 'MMMM D, YYYY HH:mm', - 'LLLL' => 'dddd, MMMM DD, YYYY HH:mm', - ], - 'calendar' => [ - 'sameDay' => 'LT [ngayong araw]', - 'nextDay' => '[Bukas ng] LT', - 'nextWeek' => 'LT [sa susunod na] dddd', - 'lastDay' => 'LT [kahapon]', - 'lastWeek' => 'LT [noong nakaraang] dddd', - 'sameElse' => 'L', - ], - 'months' => ['Enero', 'Pebrero', 'Marso', 'Abril', 'Mayo', 'Hunyo', 'Hulyo', 'Agosto', 'Setyembre', 'Oktubre', 'Nobyembre', 'Disyembre'], - 'months_short' => ['Ene', 'Peb', 'Mar', 'Abr', 'May', 'Hun', 'Hul', 'Ago', 'Set', 'Okt', 'Nob', 'Dis'], - 'weekdays' => ['Linggo', 'Lunes', 'Martes', 'Miyerkules', 'Huwebes', 'Biyernes', 'Sabado'], - 'weekdays_short' => ['Lin', 'Lun', 'Mar', 'Miy', 'Huw', 'Biy', 'Sab'], - 'weekdays_min' => ['Li', 'Lu', 'Ma', 'Mi', 'Hu', 'Bi', 'Sab'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 4, - 'list' => [', ', ' at '], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/tl_PH.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/tl_PH.php deleted file mode 100644 index e8afc29..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/tl_PH.php +++ /dev/null @@ -1,18 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - François B - * - Ian De La Cruz - * - JD Isaacks - */ -return require __DIR__.'/tl.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/tlh.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/tlh.php deleted file mode 100644 index 2bd0655..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/tlh.php +++ /dev/null @@ -1,71 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/* - * Authors: - * - François B - * - Serhan Apaydın - * - Dominika - */ -return [ - 'year' => '{1}wa’ DIS|:count DIS', - 'month' => '{1}wa’ jar|:count jar', - 'week' => '{1}wa’ hogh|:count hogh', - 'day' => '{1}wa’ jaj|:count jaj', - 'hour' => '{1}wa’ rep|:count rep', - 'minute' => '{1}wa’ tup|:count tup', - 'second' => '{1}puS lup|:count lup', - 'ago' => function ($time) { - $output = strtr($time, [ - 'jaj' => 'Hu’', - 'jar' => 'wen', - 'DIS' => 'ben', - ]); - - return $output === $time ? "$time ret" : $output; - }, - 'from_now' => function ($time) { - $output = strtr($time, [ - 'jaj' => 'leS', - 'jar' => 'waQ', - 'DIS' => 'nem', - ]); - - return $output === $time ? "$time pIq" : $output; - }, - 'diff_yesterday' => 'wa’Hu’', - 'diff_tomorrow' => 'wa’leS', - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD.MM.YYYY', - 'LL' => 'D MMMM YYYY', - 'LLL' => 'D MMMM YYYY HH:mm', - 'LLLL' => 'dddd, D MMMM YYYY HH:mm', - ], - 'calendar' => [ - 'sameDay' => '[DaHjaj] LT', - 'nextDay' => '[wa’leS] LT', - 'nextWeek' => 'LLL', - 'lastDay' => '[wa’Hu’] LT', - 'lastWeek' => 'LLL', - 'sameElse' => 'L', - ], - 'ordinal' => ':number.', - 'months' => ['tera’ jar wa’', 'tera’ jar cha’', 'tera’ jar wej', 'tera’ jar loS', 'tera’ jar vagh', 'tera’ jar jav', 'tera’ jar Soch', 'tera’ jar chorgh', 'tera’ jar Hut', 'tera’ jar wa’maH', 'tera’ jar wa’maH wa’', 'tera’ jar wa’maH cha’'], - 'months_short' => ['jar wa’', 'jar cha’', 'jar wej', 'jar loS', 'jar vagh', 'jar jav', 'jar Soch', 'jar chorgh', 'jar Hut', 'jar wa’maH', 'jar wa’maH wa’', 'jar wa’maH cha’'], - 'weekdays' => ['lojmItjaj', 'DaSjaj', 'povjaj', 'ghItlhjaj', 'loghjaj', 'buqjaj', 'ghInjaj'], - 'weekdays_short' => ['lojmItjaj', 'DaSjaj', 'povjaj', 'ghItlhjaj', 'loghjaj', 'buqjaj', 'ghInjaj'], - 'weekdays_min' => ['lojmItjaj', 'DaSjaj', 'povjaj', 'ghItlhjaj', 'loghjaj', 'buqjaj', 'ghInjaj'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 4, - 'list' => [', ', ' ’ej '], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/tn.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/tn.php deleted file mode 100644 index c46bc47..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/tn.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return require __DIR__.'/tn_ZA.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/tn_ZA.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/tn_ZA.php deleted file mode 100644 index d222ba6..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/tn_ZA.php +++ /dev/null @@ -1,54 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Zuza Software Foundation (Translate.org.za) Dwayne Bailey dwayne@translate.org.za - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'DD/MM/YYYY', - ], - 'months' => ['Ferikgong', 'Tlhakole', 'Mopitlwe', 'Moranang', 'Motsheganong', 'Seetebosigo', 'Phukwi', 'Phatwe', 'Lwetse', 'Diphalane', 'Ngwanatsele', 'Sedimonthole'], - 'months_short' => ['Fer', 'Tlh', 'Mop', 'Mor', 'Mot', 'See', 'Phu', 'Pha', 'Lwe', 'Dip', 'Ngw', 'Sed'], - 'weekdays' => ['laTshipi', 'Mosupologo', 'Labobedi', 'Laboraro', 'Labone', 'Labotlhano', 'Lamatlhatso'], - 'weekdays_short' => ['Tsh', 'Mos', 'Bed', 'Rar', 'Ne', 'Tlh', 'Mat'], - 'weekdays_min' => ['Tsh', 'Mos', 'Bed', 'Rar', 'Ne', 'Tlh', 'Mat'], - 'day_of_first_week_of_year' => 1, - - 'year' => 'dingwaga di le :count', - 'y' => 'dingwaga di le :count', - 'a_year' => 'dingwaga di le :count', - - 'month' => 'dikgwedi di le :count', - 'm' => 'dikgwedi di le :count', - 'a_month' => 'dikgwedi di le :count', - - 'week' => 'dibeke di le :count', - 'w' => 'dibeke di le :count', - 'a_week' => 'dibeke di le :count', - - 'day' => 'malatsi :count', - 'd' => 'malatsi :count', - 'a_day' => 'malatsi :count', - - 'hour' => 'diura di le :count', - 'h' => 'diura di le :count', - 'a_hour' => 'diura di le :count', - - 'minute' => 'metsotso e le :count', - 'min' => 'metsotso e le :count', - 'a_minute' => 'metsotso e le :count', - - 'second' => 'metsotswana e le :count', - 's' => 'metsotswana e le :count', - 'a_second' => 'metsotswana e le :count', -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/to.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/to.php deleted file mode 100644 index f8e35e1..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/to.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return require __DIR__.'/to_TO.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/to_TO.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/to_TO.php deleted file mode 100644 index f4ee885..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/to_TO.php +++ /dev/null @@ -1,54 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - International Components for Unicode akhilesh.k@samsung.com - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'dddd DD MMM YYYY', - ], - 'months' => ['SÄnuali', 'FÄ“pueli', 'MaÊ»asi', 'Ê»Epeleli', 'MÄ“', 'Sune', 'Siulai', 'Ê»Aokosi', 'Sepitema', 'Ê»Okatopa', 'NÅvema', 'TÄ«sema'], - 'months_short' => ['SÄn', 'FÄ“p', 'MaÊ»a', 'Ê»Epe', 'MÄ“', 'Sun', 'Siu', 'Ê»Aok', 'Sep', 'Ê»Oka', 'NÅv', 'TÄ«s'], - 'weekdays' => ['SÄpate', 'MÅnite', 'TÅ«site', 'Pulelulu', 'TuÊ»apulelulu', 'Falaite', 'Tokonaki'], - 'weekdays_short' => ['SÄp', 'MÅn', 'TÅ«s', 'Pul', 'TuÊ»a', 'Fal', 'Tok'], - 'weekdays_min' => ['SÄp', 'MÅn', 'TÅ«s', 'Pul', 'TuÊ»a', 'Fal', 'Tok'], - 'meridiem' => ['hengihengi', 'efiafi'], - - 'year' => ':count fitu', // less reliable - 'y' => ':count fitu', // less reliable - 'a_year' => ':count fitu', // less reliable - - 'month' => ':count mahina', // less reliable - 'm' => ':count mahina', // less reliable - 'a_month' => ':count mahina', // less reliable - - 'week' => ':count Sapate', // less reliable - 'w' => ':count Sapate', // less reliable - 'a_week' => ':count Sapate', // less reliable - - 'day' => ':count Ê»aho', // less reliable - 'd' => ':count Ê»aho', // less reliable - 'a_day' => ':count Ê»aho', // less reliable - - 'hour' => ':count houa', - 'h' => ':count houa', - 'a_hour' => ':count houa', - - 'minute' => ':count miniti', - 'min' => ':count miniti', - 'a_minute' => ':count miniti', - - 'second' => ':count sekoni', - 's' => ':count sekoni', - 'a_second' => ':count sekoni', -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/tpi.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/tpi.php deleted file mode 100644 index ad15941..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/tpi.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return require __DIR__.'/tpi_PG.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/tpi_PG.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/tpi_PG.php deleted file mode 100644 index 66f85e0..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/tpi_PG.php +++ /dev/null @@ -1,55 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Samsung Electronics Co., Ltd. akhilesh.k@samsung.com - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'DD/MM/YYYY', - ], - 'months' => ['Janueri', 'Februeri', 'Mas', 'Epril', 'Me', 'Jun', 'Julai', 'Ogas', 'Septemba', 'Oktoba', 'Novemba', 'Desemba'], - 'months_short' => ['Jan', 'Feb', 'Mas', 'Epr', 'Me', 'Jun', 'Jul', 'Oga', 'Sep', 'Okt', 'Nov', 'Des'], - 'weekdays' => ['Sande', 'Mande', 'Tunde', 'Trinde', 'Fonde', 'Fraide', 'Sarere'], - 'weekdays_short' => ['San', 'Man', 'Tun', 'Tri', 'Fon', 'Fra', 'Sar'], - 'weekdays_min' => ['San', 'Man', 'Tun', 'Tri', 'Fon', 'Fra', 'Sar'], - 'day_of_first_week_of_year' => 1, - 'meridiem' => ['biknait', 'apinun'], - - 'year' => 'yia :count', - 'y' => 'yia :count', - 'a_year' => 'yia :count', - - 'month' => ':count mun', - 'm' => ':count mun', - 'a_month' => ':count mun', - - 'week' => ':count wik', - 'w' => ':count wik', - 'a_week' => ':count wik', - - 'day' => ':count de', - 'd' => ':count de', - 'a_day' => ':count de', - - 'hour' => ':count aua', - 'h' => ':count aua', - 'a_hour' => ':count aua', - - 'minute' => ':count minit', - 'min' => ':count minit', - 'a_minute' => ':count minit', - - 'second' => ':count namba tu', - 's' => ':count namba tu', - 'a_second' => ':count namba tu', -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/tr.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/tr.php deleted file mode 100644 index be7c39d..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/tr.php +++ /dev/null @@ -1,113 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Josh Soref - * - Alan Agius - * - Erhan Gundogan - * - François B - * - JD Isaacks - * - Murat Yüksel - * - Baran Åžengül - * - Selami (selamialtin) - * - TeomanBey - */ -return [ - 'year' => ':count yıl', - 'a_year' => '{1}bir yıl|]1,Inf[:count yıl', - 'y' => ':county', - 'month' => ':count ay', - 'a_month' => '{1}bir ay|]1,Inf[:count ay', - 'm' => ':countay', - 'week' => ':count hafta', - 'a_week' => '{1}bir hafta|]1,Inf[:count hafta', - 'w' => ':counth', - 'day' => ':count gün', - 'a_day' => '{1}bir gün|]1,Inf[:count gün', - 'd' => ':countg', - 'hour' => ':count saat', - 'a_hour' => '{1}bir saat|]1,Inf[:count saat', - 'h' => ':countsa', - 'minute' => ':count dakika', - 'a_minute' => '{1}bir dakika|]1,Inf[:count dakika', - 'min' => ':countdk', - 'second' => ':count saniye', - 'a_second' => '{1}birkaç saniye|]1,Inf[:count saniye', - 's' => ':countsn', - 'ago' => ':time önce', - 'from_now' => ':time sonra', - 'after' => ':time sonra', - 'before' => ':time önce', - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD.MM.YYYY', - 'LL' => 'D MMMM YYYY', - 'LLL' => 'D MMMM YYYY HH:mm', - 'LLLL' => 'dddd, D MMMM YYYY HH:mm', - ], - 'calendar' => [ - 'sameDay' => '[bugün saat] LT', - 'nextDay' => '[yarın saat] LT', - 'nextWeek' => '[gelecek] dddd [saat] LT', - 'lastDay' => '[dün] LT', - 'lastWeek' => '[geçen] dddd [saat] LT', - 'sameElse' => 'L', - ], - 'ordinal' => function ($number, $period) { - switch ($period) { - case 'd': - case 'D': - case 'Do': - case 'DD': - return $number; - default: - if ($number === 0) { // special case for zero - return "$number'ıncı"; - } - - static $suffixes = [ - 1 => '\'inci', - 5 => '\'inci', - 8 => '\'inci', - 70 => '\'inci', - 80 => '\'inci', - 2 => '\'nci', - 7 => '\'nci', - 20 => '\'nci', - 50 => '\'nci', - 3 => '\'üncü', - 4 => '\'üncü', - 100 => '\'üncü', - 6 => '\'ncı', - 9 => '\'uncu', - 10 => '\'uncu', - 30 => '\'uncu', - 60 => '\'ıncı', - 90 => '\'ıncı', - ]; - - $lastDigit = $number % 10; - - return $number.($suffixes[$lastDigit] ?? $suffixes[$number % 100 - $lastDigit] ?? $suffixes[$number >= 100 ? 100 : -1] ?? ''); - } - }, - 'meridiem' => ['ÖÖ', 'ÖS', 'öö', 'ös'], - 'months' => ['Ocak', 'Åžubat', 'Mart', 'Nisan', 'Mayıs', 'Haziran', 'Temmuz', 'AÄŸustos', 'Eylül', 'Ekim', 'Kasım', 'Aralık'], - 'months_short' => ['Oca', 'Åžub', 'Mar', 'Nis', 'May', 'Haz', 'Tem', 'AÄŸu', 'Eyl', 'Eki', 'Kas', 'Ara'], - 'weekdays' => ['Pazar', 'Pazartesi', 'Salı', 'ÇarÅŸamba', 'PerÅŸembe', 'Cuma', 'Cumartesi'], - 'weekdays_short' => ['Paz', 'Pts', 'Sal', 'Çar', 'Per', 'Cum', 'Cts'], - 'weekdays_min' => ['Pz', 'Pt', 'Sa', 'Ça', 'Pe', 'Cu', 'Ct'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 1, - 'list' => [', ', ' ve '], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/tr_CY.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/tr_CY.php deleted file mode 100644 index 1937fec..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/tr_CY.php +++ /dev/null @@ -1,22 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/tr.php', [ - 'weekdays_short' => ['Paz', 'Pzt', 'Sal', 'Çar', 'Per', 'Cum', 'Cmt'], - 'weekdays_min' => ['Pa', 'Pt', 'Sa', 'Ça', 'Pe', 'Cu', 'Ct'], - 'formats' => [ - 'LT' => 'h:mm a', - 'LTS' => 'h:mm:ss a', - 'L' => 'D.MM.YYYY', - 'LL' => 'D MMM YYYY', - 'LLL' => 'D MMMM YYYY h:mm a', - 'LLLL' => 'D MMMM YYYY dddd h:mm a', - ], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/tr_TR.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/tr_TR.php deleted file mode 100644 index dc8e935..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/tr_TR.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/tr.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ts.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ts.php deleted file mode 100644 index d6c575b..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ts.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return require __DIR__.'/ts_ZA.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ts_ZA.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ts_ZA.php deleted file mode 100644 index ef76c17..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ts_ZA.php +++ /dev/null @@ -1,54 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Zuza Software Foundation (Translate.org.za) Dwayne Bailey dwayne@translate.org.za - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'DD/MM/YYYY', - ], - 'months' => ['Sunguti', 'Nyenyenyani', 'Nyenyankulu', 'Dzivamisoko', 'Mudyaxihi', 'Khotavuxika', 'Mawuwani', 'Mhawuri', 'Ndzhati', 'Nhlangula', 'Hukuri', 'N\'wendzamhala'], - 'months_short' => ['Sun', 'Yan', 'Kul', 'Dzi', 'Mud', 'Kho', 'Maw', 'Mha', 'Ndz', 'Nhl', 'Huk', 'N\'w'], - 'weekdays' => ['Sonto', 'Musumbhunuku', 'Ravumbirhi', 'Ravunharhu', 'Ravumune', 'Ravuntlhanu', 'Mugqivela'], - 'weekdays_short' => ['Son', 'Mus', 'Bir', 'Har', 'Ne', 'Tlh', 'Mug'], - 'weekdays_min' => ['Son', 'Mus', 'Bir', 'Har', 'Ne', 'Tlh', 'Mug'], - 'day_of_first_week_of_year' => 1, - - 'year' => 'malembe ya :count', - 'y' => 'malembe ya :count', - 'a_year' => 'malembe ya :count', - - 'month' => 'tin’hweti ta :count', - 'm' => 'tin’hweti ta :count', - 'a_month' => 'tin’hweti ta :count', - - 'week' => 'mavhiki ya :count', - 'w' => 'mavhiki ya :count', - 'a_week' => 'mavhiki ya :count', - - 'day' => 'masiku :count', - 'd' => 'masiku :count', - 'a_day' => 'masiku :count', - - 'hour' => 'tiawara ta :count', - 'h' => 'tiawara ta :count', - 'a_hour' => 'tiawara ta :count', - - 'minute' => 'timinete ta :count', - 'min' => 'timinete ta :count', - 'a_minute' => 'timinete ta :count', - - 'second' => 'tisekoni ta :count', - 's' => 'tisekoni ta :count', - 'a_second' => 'tisekoni ta :count', -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/tt.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/tt.php deleted file mode 100644 index 499e880..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/tt.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return require __DIR__.'/tt_RU.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/tt_RU.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/tt_RU.php deleted file mode 100644 index 38bb582..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/tt_RU.php +++ /dev/null @@ -1,39 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Rinat Norkin Pablo Saratxaga, Rinat Norkin pablo@mandrakesoft.com, rinat@taif.ru - */ -return [ - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD.MM.YYYY', - 'LL' => 'D MMMM YYYY', - 'LLL' => 'DD MMM, HH:mm', - 'LLLL' => 'DD MMMM YYYY, HH:mm', - ], - 'months' => ['ÑнварÑ', 'февралÑ', 'марта', 'апрелÑ', 'маÑ', 'июнÑ', 'июлÑ', 'авгуÑта', 'ÑентÑбрÑ', 'октÑбрÑ', 'ноÑбрÑ', 'декабрÑ'], - 'months_short' => ['Ñнв', 'фев', 'мар', 'апр', 'май', 'июн', 'июл', 'авг', 'Ñен', 'окт', 'ноÑ', 'дек'], - 'weekdays' => ['Ñкшәмбе', 'дышәмбе', 'Ñишәмбе', 'чәршәәмбе', 'пәнҗешмбе', 'җомга', 'шимбә'], - 'weekdays_short' => ['Ñкш', 'дыш', 'Ñиш', 'чәрш', 'пәнҗ', 'җом', 'шим'], - 'weekdays_min' => ['Ñкш', 'дыш', 'Ñиш', 'чәрш', 'пәнҗ', 'җом', 'шим'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 1, - 'year' => ':count ел', - 'month' => ':count ай', - 'week' => ':count атна', - 'day' => ':count көн', - 'hour' => ':count Ñәгать', - 'minute' => ':count минут', - 'second' => ':count Ñекунд', -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/tt_RU@iqtelif.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/tt_RU@iqtelif.php deleted file mode 100644 index 545512e..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/tt_RU@iqtelif.php +++ /dev/null @@ -1,28 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Reshat Sabiq tatar.iqtelif.i18n@gmail.com - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'DD.MM.YYYY', - ], - 'months' => ['Ğınwar', 'Fiwral\'', 'Mart', 'April', 'May', 'Yün', 'Yül', 'Awgust', 'Sintebír', 'Ãœktebír', 'Noyebír', 'Dikebír'], - 'months_short' => ['Ğın', 'Fiw', 'Mar', 'Apr', 'May', 'Yün', 'Yül', 'Awg', 'Sin', 'Ãœkt', 'Noy', 'Dik'], - 'weekdays' => ['YekÅŸembí', 'Düşembí', 'SiÅŸembí', 'ÇerÅŸembí', 'Pencíşembí', 'ComÄŸa', 'Åžimbe'], - 'weekdays_short' => ['Yek', 'Düş', 'SiÅŸ', 'Çer', 'Pen', 'Com', 'Åžim'], - 'weekdays_min' => ['Yek', 'Düş', 'SiÅŸ', 'Çer', 'Pen', 'Com', 'Åžim'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 1, - 'meridiem' => ['ÖA', 'ÖS'], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/twq.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/twq.php deleted file mode 100644 index e8ff278..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/twq.php +++ /dev/null @@ -1,13 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/ses.php', [ - 'meridiem' => ['Subbaahi', 'Zaarikay b'], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/tzl.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/tzl.php deleted file mode 100644 index 77c062f..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/tzl.php +++ /dev/null @@ -1,61 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -return [ - 'year' => '[0,1]:count ar|:count ars', - 'y' => '[0,1]:count ar|:count ars', - 'month' => '[0,1]:count mes|:count mesen', - 'm' => '[0,1]:count mes|:count mesen', - 'week' => '[0,1]:count seifetziua|:count seifetziuas', - 'w' => '[0,1]:count seifetziua|:count seifetziuas', - 'day' => '[0,1]:count ziua|:count ziuas', - 'd' => '[0,1]:count ziua|:count ziuas', - 'hour' => '[0,1]:count þora|:count þoras', - 'h' => '[0,1]:count þora|:count þoras', - 'minute' => '[0,1]:count míut|:count míuts', - 'min' => '[0,1]:count míut|:count míuts', - 'second' => ':count secunds', - 's' => ':count secunds', - - 'ago' => 'ja :time', - 'from_now' => 'osprei :time', - - 'diff_yesterday' => 'ieiri', - 'diff_tomorrow' => 'demà', - - 'formats' => [ - 'LT' => 'HH.mm', - 'LTS' => 'HH.mm.ss', - 'L' => 'DD.MM.YYYY', - 'LL' => 'D. MMMM [dallas] YYYY', - 'LLL' => 'D. MMMM [dallas] YYYY HH.mm', - 'LLLL' => 'dddd, [li] D. MMMM [dallas] YYYY HH.mm', - ], - - 'calendar' => [ - 'sameDay' => '[oxhi à] LT', - 'nextDay' => '[demà à] LT', - 'nextWeek' => 'dddd [à] LT', - 'lastDay' => '[ieiri à] LT', - 'lastWeek' => '[sür el] dddd [lasteu à] LT', - 'sameElse' => 'L', - ], - - 'meridiem' => ["D'A", "D'O"], - 'months' => ['Januar', 'Fevraglh', 'Març', 'Avrïu', 'Mai', 'Gün', 'Julia', 'Guscht', 'Setemvar', 'Listopäts', 'Noemvar', 'Zecemvar'], - 'months_short' => ['Jan', 'Fev', 'Mar', 'Avr', 'Mai', 'Gün', 'Jul', 'Gus', 'Set', 'Lis', 'Noe', 'Zec'], - 'weekdays' => ['Súladi', 'Lúneçi', 'Maitzi', 'Márcuri', 'Xhúadi', 'Viénerçi', 'Sáturi'], - 'weekdays_short' => ['Súl', 'Lún', 'Mai', 'Már', 'Xhú', 'Vié', 'Sát'], - 'weekdays_min' => ['Sú', 'Lú', 'Ma', 'Má', 'Xh', 'Vi', 'Sá'], - 'ordinal' => ':number.', - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 4, -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/tzm.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/tzm.php deleted file mode 100644 index 54e0a97..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/tzm.php +++ /dev/null @@ -1,51 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/* - * Authors: - * - Josh Soref - * - JD Isaacks - */ -return [ - 'year' => '{1}ⴰⵙⴳⴰⵙ|:count ⵉⵙⴳⴰⵙâµ', - 'month' => '{1}â´°âµ¢oⵓⵔ|:count ⵉⵢⵢⵉⵔâµ', - 'week' => ':count ⵉⵎⴰâµâ´°âµ™âµ™', - 'day' => '{1}ⴰⵙⵙ|:count oⵙⵙⴰâµ', - 'hour' => '{1}ⵙⴰⵄⴰ|:count ⵜⴰⵙⵙⴰⵄⵉâµ', - 'minute' => '{1}ⵎⵉâµâµ“â´º|:count ⵎⵉâµâµ“â´º', - 'second' => '{1}ⵉⵎⵉⴽ|:count ⵉⵎⵉⴽ', - 'ago' => 'ⵢⴰⵠ:time', - 'from_now' => 'â´·â´°â´·âµ… âµ™ ⵢⴰⵠ:time', - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD/MM/YYYY', - 'LL' => 'D MMMM YYYY', - 'LLL' => 'D MMMM YYYY HH:mm', - 'LLLL' => 'dddd D MMMM YYYY HH:mm', - ], - 'calendar' => [ - 'sameDay' => '[ⴰⵙⴷⵅ â´´] LT', - 'nextDay' => '[ⴰⵙⴽⴰ â´´] LT', - 'nextWeek' => 'dddd [â´´] LT', - 'lastDay' => '[ⴰⵚⴰâµâµœ â´´] LT', - 'lastWeek' => 'dddd [â´´] LT', - 'sameElse' => 'L', - ], - 'months' => ['ⵉâµâµâ´°âµ¢âµ”', 'ⴱⵕⴰⵢⵕ', 'ⵎⴰⵕⵚ', 'ⵉⴱⵔⵉⵔ', 'ⵎⴰⵢⵢⵓ', 'ⵢⵓâµâµ¢âµ“', 'ⵢⵓâµâµ¢âµ“âµ£', 'ⵖⵓⵛⵜ', 'ⵛⵓⵜⴰâµâ´±âµ‰âµ”', 'ⴽⵟⵓⴱⵕ', 'âµâµ“ⵡⴰâµâ´±âµ‰âµ”', 'ⴷⵓⵊâµâ´±âµ‰âµ”'], - 'months_short' => ['ⵉâµâµâ´°âµ¢âµ”', 'ⴱⵕⴰⵢⵕ', 'ⵎⴰⵕⵚ', 'ⵉⴱⵔⵉⵔ', 'ⵎⴰⵢⵢⵓ', 'ⵢⵓâµâµ¢âµ“', 'ⵢⵓâµâµ¢âµ“âµ£', 'ⵖⵓⵛⵜ', 'ⵛⵓⵜⴰâµâ´±âµ‰âµ”', 'ⴽⵟⵓⴱⵕ', 'âµâµ“ⵡⴰâµâ´±âµ‰âµ”', 'ⴷⵓⵊâµâ´±âµ‰âµ”'], - 'weekdays' => ['ⴰⵙⴰⵎⴰⵙ', 'â´°âµ¢âµâ´°âµ™', 'ⴰⵙⵉâµâ´°âµ™', 'ⴰⴽⵔⴰⵙ', 'ⴰⴽⵡⴰⵙ', 'ⴰⵙⵉⵎⵡⴰⵙ', 'ⴰⵙⵉⴹⵢⴰⵙ'], - 'weekdays_short' => ['ⴰⵙⴰⵎⴰⵙ', 'â´°âµ¢âµâ´°âµ™', 'ⴰⵙⵉâµâ´°âµ™', 'ⴰⴽⵔⴰⵙ', 'ⴰⴽⵡⴰⵙ', 'ⴰⵙⵉⵎⵡⴰⵙ', 'ⴰⵙⵉⴹⵢⴰⵙ'], - 'weekdays_min' => ['ⴰⵙⴰⵎⴰⵙ', 'â´°âµ¢âµâ´°âµ™', 'ⴰⵙⵉâµâ´°âµ™', 'ⴰⴽⵔⴰⵙ', 'ⴰⴽⵡⴰⵙ', 'ⴰⵙⵉⵎⵡⴰⵙ', 'ⴰⵙⵉⴹⵢⴰⵙ'], - 'first_day_of_week' => 6, - 'day_of_first_week_of_year' => 1, - 'weekend' => [5, 6], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/tzm_Latn.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/tzm_Latn.php deleted file mode 100644 index 9e8ea79..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/tzm_Latn.php +++ /dev/null @@ -1,60 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/* - * Authors: - * - Josh Soref - * - JD Isaacks - */ -return [ - 'year' => '{1}:count asgas|:count isgasn', - 'a_year' => 'asgas|:count isgasn', - 'month' => '{1}:count ayowr|:count iyyirn', - 'a_month' => 'ayowr|:count iyyirn', - 'week' => ':count imalass', - 'a_week' => ':imalass', - 'day' => '{1}:count ass|:count ossan', - 'a_day' => 'ass|:count ossan', - 'hour' => '{1}:count saÉ›a|:count tassaÉ›in', - 'a_hour' => '{1}saÉ›a|:count tassaÉ›in', - 'minute' => ':count minuá¸', - 'a_minute' => '{1}minuá¸|:count minuá¸', - 'second' => ':count imik', - 'a_second' => '{1}imik|:count imik', - 'ago' => 'yan :time', - 'from_now' => 'dadkh s yan :time', - 'diff_yesterday' => 'assant', - 'diff_tomorrow' => 'aska', - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD/MM/YYYY', - 'LL' => 'D MMMM YYYY', - 'LLL' => 'D MMMM YYYY HH:mm', - 'LLLL' => 'dddd D MMMM YYYY HH:mm', - ], - 'calendar' => [ - 'sameDay' => '[asdkh g] LT', - 'nextDay' => '[aska g] LT', - 'nextWeek' => 'dddd [g] LT', - 'lastDay' => '[assant g] LT', - 'lastWeek' => 'dddd [g] LT', - 'sameElse' => 'L', - ], - 'months' => ['innayr', 'brˤayrˤ', 'marˤsˤ', 'ibrir', 'mayyw', 'ywnyw', 'ywlywz', 'É£wÅ¡t', 'Å¡wtanbir', 'ktˤwbrˤ', 'nwwanbir', 'dwjnbir'], - 'months_short' => ['innayr', 'brˤayrˤ', 'marˤsˤ', 'ibrir', 'mayyw', 'ywnyw', 'ywlywz', 'É£wÅ¡t', 'Å¡wtanbir', 'ktˤwbrˤ', 'nwwanbir', 'dwjnbir'], - 'weekdays' => ['asamas', 'aynas', 'asinas', 'akras', 'akwas', 'asimwas', 'asiá¸yas'], - 'weekdays_short' => ['asamas', 'aynas', 'asinas', 'akras', 'akwas', 'asimwas', 'asiá¸yas'], - 'weekdays_min' => ['asamas', 'aynas', 'asinas', 'akras', 'akwas', 'asimwas', 'asiá¸yas'], - 'meridiem' => ['Zdat azal', 'Ḍeffir aza'], - 'first_day_of_week' => 6, - 'day_of_first_week_of_year' => 1, -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ug.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ug.php deleted file mode 100644 index a640039..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ug.php +++ /dev/null @@ -1,85 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/* - * Authors: - * - Philippe Vaucher - * - Tsutomu Kuroda - * - yasinn - */ -return [ - 'year' => '{1}'.'بىر يىل'.'|:count '.'يىل', - 'month' => '{1}'.'بىر ئاي'.'|:count '.'ئاي', - 'week' => '{1}'.'بىر ھەپتە'.'|:count '.'ھەپتە', - 'day' => '{1}'.'بىر ÙƒÛˆÙ†'.'|:count '.'ÙƒÛˆÙ†', - 'hour' => '{1}'.'بىر سائەت'.'|:count '.'سائەت', - 'minute' => '{1}'.'بىر مىنۇت'.'|:count '.'مىنۇت', - 'second' => '{1}'.'Ù†Û•Ú†Ú†Û• سÛكونت'.'|:count '.'سÛكونت', - 'ago' => ':time بۇرۇن', - 'from_now' => ':time ÙƒÛيىن', - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'YYYY-MM-DD', - 'LL' => 'YYYY-يىلىM-ئاينىڭD-كۈنى', - 'LLL' => 'YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm', - 'LLLL' => 'ddddØŒ YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm', - ], - 'calendar' => [ - 'sameDay' => '[بۈگۈن سائەت] LT', - 'nextDay' => '[ئەتە سائەت] LT', - 'nextWeek' => '[ÙƒÛلەركى] dddd [سائەت] LT', - 'lastDay' => '[تۆنۈگۈن] LT', - 'lastWeek' => '[ئالدىنقى] dddd [سائەت] LT', - 'sameElse' => 'L', - ], - 'ordinal' => function ($number, $period) { - switch ($period) { - case 'd': - case 'D': - case 'DDD': - return $number.'-كۈنى'; - case 'w': - case 'W': - return $number.'-ھەپتە'; - default: - return $number; - } - }, - 'meridiem' => function ($hour, $minute) { - $time = $hour * 100 + $minute; - if ($time < 600) { - return 'ÙŠÛرىم ÙƒÛÚ†Û•'; - } - if ($time < 900) { - return 'سەھەر'; - } - if ($time < 1130) { - return 'چۈشتىن بۇرۇن'; - } - if ($time < 1230) { - return 'چۈش'; - } - if ($time < 1800) { - return 'چۈشتىن ÙƒÛيىن'; - } - - return 'ÙƒÛ•Ú†'; - }, - 'months' => ['يانۋار', 'ÙÛۋرال', 'مارت', 'ئاپرÛÙ„', 'ماي', 'ئىيۇن', 'ئىيۇل', 'ئاۋغۇست', 'سÛنتەبىر', 'ئۆكتەبىر', 'نويابىر', 'دÛكابىر'], - 'months_short' => ['يانۋار', 'ÙÛۋرال', 'مارت', 'ئاپرÛÙ„', 'ماي', 'ئىيۇن', 'ئىيۇل', 'ئاۋغۇست', 'سÛنتەبىر', 'ئۆكتەبىر', 'نويابىر', 'دÛكابىر'], - 'weekdays' => ['يەكشەنبە', 'دۈشەنبە', 'سەيشەنبە', 'چارشەنبە', 'پەيشەنبە', 'جۈمە', 'شەنبە'], - 'weekdays_short' => ['ÙŠÛ•', 'دۈ', 'سە', 'چا', 'Ù¾Û•', 'جۈ', 'Ø´Û•'], - 'weekdays_min' => ['ÙŠÛ•', 'دۈ', 'سە', 'چا', 'Ù¾Û•', 'جۈ', 'Ø´Û•'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 1, - 'list' => [', ', ' Û‹Û• '], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ug_CN.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ug_CN.php deleted file mode 100644 index e91ece2..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ug_CN.php +++ /dev/null @@ -1,17 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Kunal Marwaha - * - Alim Boyaq - */ -return require __DIR__.'/ug.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/uk.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/uk.php deleted file mode 100644 index e603dad..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/uk.php +++ /dev/null @@ -1,204 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -$processHoursFunction = function (\Carbon\CarbonInterface $date, string $format) { - return $format.'о'.($date->hour === 11 ? 'б' : '').'] LT'; -}; - -/* - * Authors: - * - Kunal Marwaha - * - Josh Soref - * - François B - * - Tim Fish - * - Serhan Apaydın - * - Max Mykhailenko - * - JD Isaacks - * - Max Kovpak - * - AucT - * - Philippe Vaucher - * - Ilya Shaplyko - * - Vadym Ievsieiev - * - Denys Kurets - * - Igor Kasyanchuk - * - Tsutomu Kuroda - * - tjku - * - Max Melentiev - * - Oleh - * - epaminond - * - Juanito Fatas - * - Vitalii Khustochka - * - Akira Matsuda - * - Christopher Dell - * - Enrique Vidal - * - Simone Carletti - * - Aaron Patterson - * - Andriy Tyurnikov - * - Nicolás Hock Isaza - * - Iwakura Taro - * - Andrii Ponomarov - * - alecrabbit - * - vystepanenko - * - AlexWalkerson - * - Andre Havryliuk (Andrend) - * - Max Datsenko (datsenko-md) - */ -return [ - 'year' => ':count рік|:count роки|:count років', - 'y' => ':countÑ€', - 'a_year' => '{1}рік|:count рік|:count роки|:count років', - 'month' => ':count міÑÑць|:count міÑÑці|:count міÑÑців', - 'm' => ':countм', - 'a_month' => '{1}міÑÑць|:count міÑÑць|:count міÑÑці|:count міÑÑців', - 'week' => ':count тиждень|:count тижні|:count тижнів', - 'w' => ':countÑ‚', - 'a_week' => '{1}тиждень|:count тиждень|:count тижні|:count тижнів', - 'day' => ':count день|:count дні|:count днів', - 'd' => ':countд', - 'a_day' => '{1}день|:count день|:count дні|:count днів', - 'hour' => ':count година|:count години|:count годин', - 'h' => ':countг', - 'a_hour' => '{1}година|:count година|:count години|:count годин', - 'minute' => ':count хвилина|:count хвилини|:count хвилин', - 'min' => ':countхв', - 'a_minute' => '{1}хвилина|:count хвилина|:count хвилини|:count хвилин', - 'second' => ':count Ñекунда|:count Ñекунди|:count Ñекунд', - 's' => ':countÑек', - 'a_second' => '{1}кілька Ñекунд|:count Ñекунда|:count Ñекунди|:count Ñекунд', - - 'hour_ago' => ':count годину|:count години|:count годин', - 'a_hour_ago' => '{1}годину|:count годину|:count години|:count годин', - 'minute_ago' => ':count хвилину|:count хвилини|:count хвилин', - 'a_minute_ago' => '{1}хвилину|:count хвилину|:count хвилини|:count хвилин', - 'second_ago' => ':count Ñекунду|:count Ñекунди|:count Ñекунд', - 'a_second_ago' => '{1}кілька Ñекунд|:count Ñекунду|:count Ñекунди|:count Ñекунд', - - 'hour_from_now' => ':count годину|:count години|:count годин', - 'a_hour_from_now' => '{1}годину|:count годину|:count години|:count годин', - 'minute_from_now' => ':count хвилину|:count хвилини|:count хвилин', - 'a_minute_from_now' => '{1}хвилину|:count хвилину|:count хвилини|:count хвилин', - 'second_from_now' => ':count Ñекунду|:count Ñекунди|:count Ñекунд', - 'a_second_from_now' => '{1}кілька Ñекунд|:count Ñекунду|:count Ñекунди|:count Ñекунд', - - 'hour_after' => ':count годину|:count години|:count годин', - 'a_hour_after' => '{1}годину|:count годину|:count години|:count годин', - 'minute_after' => ':count хвилину|:count хвилини|:count хвилин', - 'a_minute_after' => '{1}хвилину|:count хвилину|:count хвилини|:count хвилин', - 'second_after' => ':count Ñекунду|:count Ñекунди|:count Ñекунд', - 'a_second_after' => '{1}кілька Ñекунд|:count Ñекунду|:count Ñекунди|:count Ñекунд', - - 'hour_before' => ':count годину|:count години|:count годин', - 'a_hour_before' => '{1}годину|:count годину|:count години|:count годин', - 'minute_before' => ':count хвилину|:count хвилини|:count хвилин', - 'a_minute_before' => '{1}хвилину|:count хвилину|:count хвилини|:count хвилин', - 'second_before' => ':count Ñекунду|:count Ñекунди|:count Ñекунд', - 'a_second_before' => '{1}кілька Ñекунд|:count Ñекунду|:count Ñекунди|:count Ñекунд', - - 'ago' => ':time тому', - 'from_now' => 'за :time', - 'after' => ':time піÑлÑ', - 'before' => ':time до', - 'diff_now' => 'щойно', - 'diff_yesterday' => 'вчора', - 'diff_tomorrow' => 'завтра', - 'diff_before_yesterday' => 'позавчора', - 'diff_after_tomorrow' => 'піÑлÑзавтра', - 'period_recurrences' => 'один раз|:count рази|:count разів', - 'period_interval' => 'кожні :interval', - 'period_start_date' => 'з :date', - 'period_end_date' => 'до :date', - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD.MM.YYYY', - 'LL' => 'D MMMM YYYY', - 'LLL' => 'D MMMM YYYY, HH:mm', - 'LLLL' => 'dddd, D MMMM YYYY, HH:mm', - ], - 'calendar' => [ - 'sameDay' => function (\Carbon\CarbonInterface $date) use ($processHoursFunction) { - return $processHoursFunction($date, '[Сьогодні '); - }, - 'nextDay' => function (\Carbon\CarbonInterface $date) use ($processHoursFunction) { - return $processHoursFunction($date, '[Завтра '); - }, - 'nextWeek' => function (\Carbon\CarbonInterface $date) use ($processHoursFunction) { - return $processHoursFunction($date, '[У] dddd ['); - }, - 'lastDay' => function (\Carbon\CarbonInterface $date) use ($processHoursFunction) { - return $processHoursFunction($date, '[Вчора '); - }, - 'lastWeek' => function (\Carbon\CarbonInterface $date) use ($processHoursFunction) { - switch ($date->dayOfWeek) { - case 0: - case 3: - case 5: - case 6: - return $processHoursFunction($date, '[Минулої] dddd ['); - default: - return $processHoursFunction($date, '[Минулого] dddd ['); - } - }, - 'sameElse' => 'L', - ], - 'ordinal' => function ($number, $period) { - switch ($period) { - case 'M': - case 'd': - case 'DDD': - case 'w': - case 'W': - return $number.'-й'; - case 'D': - return $number.'-го'; - default: - return $number; - } - }, - 'meridiem' => function ($hour) { - if ($hour < 4) { - return 'ночі'; - } - if ($hour < 12) { - return 'ранку'; - } - if ($hour < 17) { - return 'днÑ'; - } - - return 'вечора'; - }, - 'months' => ['ÑічнÑ', 'лютого', 'березнÑ', 'квітнÑ', 'травнÑ', 'червнÑ', 'липнÑ', 'ÑерпнÑ', 'вереÑнÑ', 'жовтнÑ', 'лиÑтопада', 'груднÑ'], - 'months_standalone' => ['Ñічень', 'лютий', 'березень', 'квітень', 'травень', 'червень', 'липень', 'Ñерпень', 'вереÑень', 'жовтень', 'лиÑтопад', 'грудень'], - 'months_short' => ['Ñіч', 'лют', 'бер', 'кві', 'тра', 'чер', 'лип', 'Ñер', 'вер', 'жов', 'лиÑ', 'гру'], - 'months_regexp' => '/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/', - 'weekdays' => function (\Carbon\CarbonInterface $date, $format, $index) { - static $words = [ - 'nominative' => ['неділÑ', 'понеділок', 'вівторок', 'Ñереда', 'четвер', 'п’ÑтницÑ', 'Ñубота'], - 'accusative' => ['неділю', 'понеділок', 'вівторок', 'Ñереду', 'четвер', 'п’Ñтницю', 'Ñуботу'], - 'genitive' => ['неділі', 'понеділка', 'вівторка', 'Ñереди', 'четверга', 'п’Ñтниці', 'Ñуботи'], - ]; - - $nounCase = preg_match('/(\[(Ð’|в|У|у)\])\s+dddd/', $format) - ? 'accusative' - : ( - preg_match('/\[?(?:минулої|наÑтупної)?\s*\]\s+dddd/', $format) - ? 'genitive' - : 'nominative' - ); - - return $words[$nounCase][$index] ?? null; - }, - 'weekdays_short' => ['нд', 'пн', 'вт', 'ÑÑ€', 'чт', 'пт', 'Ñб'], - 'weekdays_min' => ['нд', 'пн', 'вт', 'ÑÑ€', 'чт', 'пт', 'Ñб'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 1, - 'list' => [', ', ' i '], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/uk_UA.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/uk_UA.php deleted file mode 100644 index 5fc4317..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/uk_UA.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/uk.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/unm.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/unm.php deleted file mode 100644 index 2ede9f5..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/unm.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return require __DIR__.'/unm_US.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/unm_US.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/unm_US.php deleted file mode 100644 index bd83486..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/unm_US.php +++ /dev/null @@ -1,57 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - bug-glibc-locales@gnu.org - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'DD/MM/YY', - ], - 'months' => ['enikwsi', 'chkwali', 'xamokhwite', 'kwetayoxe', 'tainipen', 'kichinipen', 'lainipen', 'winaminke', 'kichitahkok', 'puksit', 'wini', 'muxkotae'], - 'months_short' => ['eni', 'chk', 'xam', 'kwe', 'tai', 'nip', 'lai', 'win', 'tah', 'puk', 'kun', 'mux'], - 'weekdays' => ['kentuwei', 'manteke', 'tusteke', 'lelai', 'tasteke', 'pelaiteke', 'sateteke'], - 'weekdays_short' => ['ken', 'man', 'tus', 'lel', 'tas', 'pel', 'sat'], - 'weekdays_min' => ['ken', 'man', 'tus', 'lel', 'tas', 'pel', 'sat'], - 'day_of_first_week_of_year' => 1, - - // Too unreliable - /* - 'year' => ':count kaxtëne', - 'y' => ':count kaxtëne', - 'a_year' => ':count kaxtëne', - - 'month' => ':count piskewëni kishux', // less reliable - 'm' => ':count piskewëni kishux', // less reliable - 'a_month' => ':count piskewëni kishux', // less reliable - - 'week' => ':count kishku', // less reliable - 'w' => ':count kishku', // less reliable - 'a_week' => ':count kishku', // less reliable - - 'day' => ':count kishku', - 'd' => ':count kishku', - 'a_day' => ':count kishku', - - 'hour' => ':count xkuk', // less reliable - 'h' => ':count xkuk', // less reliable - 'a_hour' => ':count xkuk', // less reliable - - 'minute' => ':count txituwàk', // less reliable - 'min' => ':count txituwàk', // less reliable - 'a_minute' => ':count txituwàk', // less reliable - - 'second' => ':count nisha', // less reliable - 's' => ':count nisha', // less reliable - 'a_second' => ':count nisha', // less reliable - */ -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ur.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ur.php deleted file mode 100644 index 53dd94d..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ur.php +++ /dev/null @@ -1,86 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -$months = [ - 'جنوری', - 'Ùروری', - 'مارچ', - 'اپریل', - 'مئی', - 'جون', - 'جولائی', - 'اگست', - 'ستمبر', - 'اکتوبر', - 'نومبر', - 'دسمبر', -]; - -$weekdays = [ - 'اتوار', - 'پیر', - 'منگل', - 'بدھ', - 'جمعرات', - 'جمعÛ', - 'ÛÙتÛ', -]; - -/* - * Authors: - * - Sawood Alam - * - Mehshan - * - Philippe Vaucher - * - Tsutomu Kuroda - * - tjku - * - Zaid Akram - * - Max Melentiev - * - hafezdivandari - * - Hossein Jabbari - * - nimamo - */ -return [ - 'year' => 'ایک سال|:count سال', - 'month' => 'ایک ماÛ|:count ماÛ', - 'week' => ':count ÛÙتے', - 'day' => 'ایک دن|:count دن', - 'hour' => 'ایک گھنٹÛ|:count گھنٹے', - 'minute' => 'ایک منٹ|:count منٹ', - 'second' => 'چند سیکنڈ|:count سیکنڈ', - 'ago' => ':time قبل', - 'from_now' => ':time بعد', - 'after' => ':time بعد', - 'before' => ':time Ù¾ÛÙ„Û’', - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD/MM/YYYY', - 'LL' => 'D MMMM YYYY', - 'LLL' => 'D MMMM YYYY HH:mm', - 'LLLL' => 'ddddØŒ D MMMM YYYY HH:mm', - ], - 'calendar' => [ - 'sameDay' => '[آج بوقت] LT', - 'nextDay' => '[Ú©Ù„ بوقت] LT', - 'nextWeek' => 'dddd [بوقت] LT', - 'lastDay' => '[Ú¯Ø°Ø´ØªÛ Ø±ÙˆØ² بوقت] LT', - 'lastWeek' => '[گذشتÛ] dddd [بوقت] LT', - 'sameElse' => 'L', - ], - 'meridiem' => ['صبح', 'شام'], - 'months' => $months, - 'months_short' => $months, - 'weekdays' => $weekdays, - 'weekdays_short' => $weekdays, - 'weekdays_min' => $weekdays, - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 4, - 'list' => ['ØŒ ', ' اور '], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ur_IN.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ur_IN.php deleted file mode 100644 index e0bd9a8..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ur_IN.php +++ /dev/null @@ -1,26 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Red Hat, Pune bug-glibc-locales@gnu.org - */ -return array_replace_recursive(require __DIR__.'/ur.php', [ - 'formats' => [ - 'L' => 'D/M/YY', - ], - 'months' => ['جنوری', 'Ùروری', 'مارچ', 'اپریل', 'مئی', 'جون', 'جولائی', 'اگست', 'ستمبر', 'اکتوبر', 'نومبر', 'دسمبر'], - 'months_short' => ['جنوری', 'Ùروری', 'مارچ', 'اپریل', 'مئی', 'جون', 'جولائی', 'اگست', 'ستمبر', 'اکتوبر', 'نومبر', 'دسمبر'], - 'weekdays' => ['اتوار', 'پیر', 'منگل', 'بدھ', 'جمعرات', 'جمعÛ', 'سنیچر'], - 'weekdays_short' => ['اتوار', 'پیر', 'منگل', 'بدھ', 'جمعرات', 'جمعÛ', 'سنیچر'], - 'weekdays_min' => ['اتوار', 'پیر', 'منگل', 'بدھ', 'جمعرات', 'جمعÛ', 'سنیچر'], - 'day_of_first_week_of_year' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ur_PK.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ur_PK.php deleted file mode 100644 index dc2733d..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ur_PK.php +++ /dev/null @@ -1,27 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - bug-glibc-locales@gnu.org - */ -return array_replace_recursive(require __DIR__.'/ur.php', [ - 'formats' => [ - 'L' => 'DD/MM/YYYY', - ], - 'months' => ['جنوری', 'Ùروری', 'مارچ', 'اپریل', 'مئی', 'جون', 'جولائی', 'اگست', 'ستمبر', 'اکتوبر', 'نومبر', 'دسمبر'], - 'months_short' => ['جنوری', 'Ùروری', 'مارچ', 'اپریل', 'مئی', 'جون', 'جولائی', 'اگست', 'ستمبر', 'اکتوبر', 'نومبر', 'دسمبر'], - 'weekdays' => ['اتوار', 'پير', 'منگل', 'بدھ', 'جمعرات', 'جمعه', 'Ù‡Ùته'], - 'weekdays_short' => ['اتوار', 'پير', 'منگل', 'بدھ', 'جمعرات', 'جمعه', 'Ù‡Ùته'], - 'weekdays_min' => ['اتوار', 'پير', 'منگل', 'بدھ', 'جمعرات', 'جمعه', 'Ù‡Ùته'], - 'day_of_first_week_of_year' => 1, - 'meridiem' => ['ص', 'Ø´'], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/uz.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/uz.php deleted file mode 100644 index 1122d0a..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/uz.php +++ /dev/null @@ -1,80 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/* - * Authors: - * - Dmitriy Shabanov - * - JD Isaacks - * - Inoyatulloh - * - Jamshid - * - aarkhipov - * - Philippe Vaucher - * - felixthemagnificent - * - Tsutomu Kuroda - * - tjku - * - Max Melentiev - * - Juanito Fatas - * - Alisher Ulugbekov - */ -return [ - 'year' => ':count йил', - 'a_year' => '{1}бир йил|:count йил', - 'y' => ':count й', - 'month' => ':count ой', - 'a_month' => '{1}бир ой|:count ой', - 'm' => ':count о', - 'week' => ':count ҳафта', - 'a_week' => '{1}бир ҳафта|:count ҳафта', - 'w' => ':count Ò³', - 'day' => ':count кун', - 'a_day' => '{1}бир кун|:count кун', - 'd' => ':count к', - 'hour' => ':count Ñоат', - 'a_hour' => '{1}бир Ñоат|:count Ñоат', - 'h' => ':count Ñ', - 'minute' => ':count дакика', - 'a_minute' => '{1}бир дакика|:count дакика', - 'min' => ':count д', - 'second' => ':count фурÑат', - 'a_second' => '{1}фурÑат|:count фурÑат', - 's' => ':count Ñ„', - 'ago' => 'Бир неча :time олдин', - 'from_now' => 'Якин :time ичида', - 'after' => ':time Ð¿Ð°Ñ Ð°Ð· он', - 'before' => ':time пеш аз он', - 'diff_yesterday' => 'Кеча', - 'diff_tomorrow' => 'Эртага', - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD/MM/YYYY', - 'LL' => 'D MMMM YYYY', - 'LLL' => 'D MMMM YYYY HH:mm', - 'LLLL' => 'D MMMM YYYY, dddd HH:mm', - ], - 'calendar' => [ - 'sameDay' => '[Бугун Ñоат] LT [да]', - 'nextDay' => '[Эртага] LT [да]', - 'nextWeek' => 'dddd [куни Ñоат] LT [да]', - 'lastDay' => '[Кеча Ñоат] LT [да]', - 'lastWeek' => '[Утган] dddd [куни Ñоат] LT [да]', - 'sameElse' => 'L', - ], - 'months' => ['Ñнвар', 'феврал', 'март', 'апрел', 'май', 'июн', 'июл', 'авгуÑÑ‚', 'ÑентÑбр', 'октÑбр', 'ноÑбр', 'декабр'], - 'months_short' => ['Ñнв', 'фев', 'мар', 'апр', 'май', 'июн', 'июл', 'авг', 'Ñен', 'окт', 'ноÑ', 'дек'], - 'weekdays' => ['Ñкшанба', 'душанба', 'Ñешанба', 'чоршанба', 'пайшанба', 'жума', 'шанба'], - 'weekdays_short' => ['Ñкш', 'душ', 'Ñеш', 'чор', 'пай', 'жум', 'шан'], - 'weekdays_min' => ['Ñк', 'ду', 'Ñе', 'чо', 'па', 'жу', 'ша'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 1, - 'meridiem' => ['ertalab', 'kechasi'], - 'list' => [', ', ' va '], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/uz_Arab.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/uz_Arab.php deleted file mode 100644 index 6871911..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/uz_Arab.php +++ /dev/null @@ -1,27 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/fa.php', [ - 'weekdays' => ['یکشنبه', 'دوشنبه', 'سه‌شنبه', 'چهارشنبه', 'پنجشنبه', 'جمعه', 'شنبه'], - 'weekdays_short' => ['ÛŒ.', 'د.', 'س.', 'Ú†.', 'Ù¾.', 'ج.', 'Ø´.'], - 'weekdays_min' => ['ÛŒ.', 'د.', 'س.', 'Ú†.', 'Ù¾.', 'ج.', 'Ø´.'], - 'months' => ['جنوری', 'Ùبروری', 'مارچ', 'اپریل', 'Ù…ÛŒ', 'جون', 'جولای', 'اگست', 'سپتمبر', 'اکتوبر', 'نومبر', 'دسمبر'], - 'months_short' => ['جنو', 'Ùبر', 'مار', 'اپر', 'Ù…ÛŒ', 'جون', 'جول', 'اگس', 'سپت', 'اکت', 'نوم', 'دسم'], - 'first_day_of_week' => 6, - 'weekend' => [4, 5], - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'YYYY-MM-dd', - 'LL' => 'YYYY MMM D', - 'LLL' => 'YYYY MMMM D HH:mm', - 'LLLL' => 'YYYY MMMM D, dddd HH:mm', - ], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/uz_Cyrl.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/uz_Cyrl.php deleted file mode 100644 index e875469..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/uz_Cyrl.php +++ /dev/null @@ -1,19 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/uz.php', [ - 'formats' => [ - 'L' => 'DD/MM/yy', - 'LL' => 'D MMM, YYYY', - 'LLL' => 'D MMMM, YYYY HH:mm', - 'LLLL' => 'dddd, DD MMMM, YYYY HH:mm', - ], - 'meridiem' => ['ТО', 'ТК'], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/uz_Latn.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/uz_Latn.php deleted file mode 100644 index 4f3e092..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/uz_Latn.php +++ /dev/null @@ -1,68 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/* - * Authors: - * - Josh Soref - * - Rasulbek - */ -return [ - 'year' => ':count yil', - 'a_year' => '{1}bir yil|:count yil', - 'y' => ':count y', - 'month' => ':count oy', - 'a_month' => '{1}bir oy|:count oy', - 'm' => ':count o', - 'week' => ':count hafta', - 'a_week' => '{1}bir hafta|:count hafta', - 'w' => ':count h', - 'day' => ':count kun', - 'a_day' => '{1}bir kun|:count kun', - 'd' => ':count k', - 'hour' => ':count soat', - 'a_hour' => '{1}bir soat|:count soat', - 'h' => ':count soat', - 'minute' => ':count daqiqa', - 'a_minute' => '{1}bir daqiqa|:count daqiqa', - 'min' => ':count d', - 'second' => ':count soniya', - 'a_second' => '{1}soniya|:count soniya', - 's' => ':count son.', - 'ago' => 'Bir necha :time oldin', - 'from_now' => 'Yaqin :time ichida', - 'diff_yesterday' => 'Kecha', - 'diff_tomorrow' => 'Ertaga', - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD/MM/YYYY', - 'LL' => 'D MMMM YYYY', - 'LLL' => 'D MMMM YYYY HH:mm', - 'LLLL' => 'D MMMM YYYY, dddd HH:mm', - ], - 'calendar' => [ - 'sameDay' => '[Bugun soat] LT [da]', - 'nextDay' => '[Ertaga] LT [da]', - 'nextWeek' => 'dddd [kuni soat] LT [da]', - 'lastDay' => '[Kecha soat] LT [da]', - 'lastWeek' => '[O\'tgan] dddd [kuni soat] LT [da]', - 'sameElse' => 'L', - ], - 'months' => ['Yanvar', 'Fevral', 'Mart', 'Aprel', 'May', 'Iyun', 'Iyul', 'Avgust', 'Sentabr', 'Oktabr', 'Noyabr', 'Dekabr'], - 'months_short' => ['Yan', 'Fev', 'Mar', 'Apr', 'May', 'Iyun', 'Iyul', 'Avg', 'Sen', 'Okt', 'Noy', 'Dek'], - 'weekdays' => ['Yakshanba', 'Dushanba', 'Seshanba', 'Chorshanba', 'Payshanba', 'Juma', 'Shanba'], - 'weekdays_short' => ['Yak', 'Dush', 'Sesh', 'Chor', 'Pay', 'Jum', 'Shan'], - 'weekdays_min' => ['Ya', 'Du', 'Se', 'Cho', 'Pa', 'Ju', 'Sha'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 1, - 'list' => [', ', ' va '], - 'meridiem' => ['TO', 'TK'], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/uz_UZ.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/uz_UZ.php deleted file mode 100644 index bdbf5a0..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/uz_UZ.php +++ /dev/null @@ -1,27 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Bobir Ismailov Bobir Ismailov, Pablo Saratxaga, Mashrab Kuvatov bobir_is@yahoo.com, pablo@mandrakesoft.com, kmashrab@uni-bremen.de - */ -return array_replace_recursive(require __DIR__.'/uz_Latn.php', [ - 'formats' => [ - 'L' => 'DD/MM/YY', - ], - 'months' => ['Yanvar', 'Fevral', 'Mart', 'Aprel', 'May', 'Iyun', 'Iyul', 'Avgust', 'Sentabr', 'Oktabr', 'Noyabr', 'Dekabr'], - 'months_short' => ['Yan', 'Fev', 'Mar', 'Apr', 'May', 'Iyn', 'Iyl', 'Avg', 'Sen', 'Okt', 'Noy', 'Dek'], - 'weekdays' => ['Yakshanba', 'Dushanba', 'Seshanba', 'Chorshanba', 'Payshanba', 'Juma', 'Shanba'], - 'weekdays_short' => ['Yak', 'Du', 'Se', 'Cho', 'Pay', 'Ju', 'Sha'], - 'weekdays_min' => ['Yak', 'Du', 'Se', 'Cho', 'Pay', 'Ju', 'Sha'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/uz_UZ@cyrillic.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/uz_UZ@cyrillic.php deleted file mode 100644 index 7f34bd4..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/uz_UZ@cyrillic.php +++ /dev/null @@ -1,27 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Mashrab Kuvatov Mashrab Kuvatov, Pablo Saratxaga kmashrab@uni-bremen.de, pablo@mandrakesoft.com - */ -return array_replace_recursive(require __DIR__.'/uz.php', [ - 'formats' => [ - 'L' => 'DD/MM/YY', - ], - 'months' => ['Январ', 'Феврал', 'Март', 'Ðпрел', 'Май', 'Июн', 'Июл', 'ÐвгуÑÑ‚', 'СентÑбр', 'ОктÑбр', 'ÐоÑбр', 'Декабр'], - 'months_short' => ['Янв', 'Фев', 'Мар', 'Ðпр', 'Май', 'Июн', 'Июл', 'Ðвг', 'Сен', 'Окт', 'ÐоÑ', 'Дек'], - 'weekdays' => ['Якшанба', 'Душанба', 'Сешанба', 'Чоршанба', 'Пайшанба', 'Жума', 'Шанба'], - 'weekdays_short' => ['Якш', 'Душ', 'Сеш', 'Чор', 'Пай', 'Жум', 'Шан'], - 'weekdays_min' => ['Якш', 'Душ', 'Сеш', 'Чор', 'Пай', 'Жум', 'Шан'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/vai.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/vai.php deleted file mode 100644 index 3e6fce2..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/vai.php +++ /dev/null @@ -1,34 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'weekdays' => ['ꕞꕌꔵ', 'ꗳꗡꘉ', 'ê•šê•žê•š', 'ꕉꕞꕒ', 'ꕉꔤꕆꕢ', 'ꕉꔤꕀꕮ', 'ꔻꔬꔳ'], - 'weekdays_short' => ['ꕞꕌꔵ', 'ꗳꗡꘉ', 'ê•šê•žê•š', 'ꕉꕞꕒ', 'ꕉꔤꕆꕢ', 'ꕉꔤꕀꕮ', 'ꔻꔬꔳ'], - 'weekdays_min' => ['ꕞꕌꔵ', 'ꗳꗡꘉ', 'ê•šê•žê•š', 'ꕉꕞꕒ', 'ꕉꔤꕆꕢ', 'ꕉꔤꕀꕮ', 'ꔻꔬꔳ'], - 'months' => ['ꖨꖕ ꕪꕴ ꔞꔀꕮꕊ', 'ê•’ê•¡ê–ê–•', 'ꕾꖺ', 'ꖢꖕ', 'ꖑꕱ', 'ꖱꘋ', 'ꖱꕞꔤ', 'ꗛꔕ', 'ꕢꕌ', 'ê•­ê–ƒ', 'ꔞꘋꕔꕿ ꕸꖃê—', 'ꖨꖕ ꕪꕴ ê—ꖺꕮꕊ'], - 'months_short' => ['ꖨꖕꔞ', 'ê•’ê•¡', 'ꕾꖺ', 'ꖢꖕ', 'ꖑꕱ', 'ꖱꘋ', 'ꖱꕞ', 'ꗛꔕ', 'ꕢꕌ', 'ê•­ê–ƒ', 'ꔞꘋ', 'ꖨꖕê—'], - 'first_day_of_week' => 1, - 'formats' => [ - 'LT' => 'h:mm a', - 'LTS' => 'h:mm:ss a', - 'L' => 'DD/MM/YYYY', - 'LL' => 'D MMM YYYY', - 'LLL' => 'D MMMM YYYY h:mm a', - 'LLLL' => 'dddd, D MMMM YYYY h:mm a', - ], - - 'year' => ':count ê•€', // less reliable - 'y' => ':count ê•€', // less reliable - 'a_year' => ':count ê•€', // less reliable - - 'second' => ':count ꗱꕞꕯꕊ', // less reliable - 's' => ':count ꗱꕞꕯꕊ', // less reliable - 'a_second' => ':count ꗱꕞꕯꕊ', // less reliable -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/vai_Latn.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/vai_Latn.php deleted file mode 100644 index b76c4bc..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/vai_Latn.php +++ /dev/null @@ -1,26 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'weekdays' => ['lahadi', 'tɛɛnɛɛ', 'talata', 'alaba', 'aimisa', 'aijima', 'siÉ“iti'], - 'weekdays_short' => ['lahadi', 'tɛɛnɛɛ', 'talata', 'alaba', 'aimisa', 'aijima', 'siÉ“iti'], - 'weekdays_min' => ['lahadi', 'tɛɛnɛɛ', 'talata', 'alaba', 'aimisa', 'aijima', 'siÉ“iti'], - 'months' => ['luukao kemã', 'É“andaÉ“u', 'vɔɔ', 'fulu', 'goo', '6', '7', 'kÉ”nde', 'saah', 'galo', 'kenpkato É“ololÉ”', 'luukao lÉ”ma'], - 'months_short' => ['luukao kemã', 'É“andaÉ“u', 'vɔɔ', 'fulu', 'goo', '6', '7', 'kÉ”nde', 'saah', 'galo', 'kenpkato É“ololÉ”', 'luukao lÉ”ma'], - 'first_day_of_week' => 1, - 'formats' => [ - 'LT' => 'h:mm a', - 'LTS' => 'h:mm:ss a', - 'L' => 'DD/MM/YYYY', - 'LL' => 'D MMM YYYY', - 'LLL' => 'D MMMM YYYY h:mm a', - 'LLLL' => 'dddd, D MMMM YYYY h:mm a', - ], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/vai_Vaii.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/vai_Vaii.php deleted file mode 100644 index 7b029a8..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/vai_Vaii.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/vai.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ve.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ve.php deleted file mode 100644 index eb46757..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ve.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return require __DIR__.'/ve_ZA.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ve_ZA.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ve_ZA.php deleted file mode 100644 index ae61fa4..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/ve_ZA.php +++ /dev/null @@ -1,49 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Zuza Software Foundation (Translate.org.za) Dwayne Bailey dwayne@translate.org.za - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'DD/MM/YYYY', - ], - 'months' => ['Phando', 'Luhuhi', 'á¹°hafamuhwe', 'Lambamai', 'Shundunthule', 'Fulwi', 'Fulwana', 'á¹°hangule', 'Khubvumedzi', 'Tshimedzi', 'Ḽara', 'Nyendavhusiku'], - 'months_short' => ['Pha', 'Luh', 'Fam', 'Lam', 'Shu', 'Lwi', 'Lwa', 'Ngu', 'Khu', 'Tsh', 'Ḽar', 'Nye'], - 'weekdays' => ['Swondaha', 'Musumbuluwo', 'Ḽavhuvhili', 'Ḽavhuraru', 'Ḽavhuṋa', 'Ḽavhuá¹±anu', 'Mugivhela'], - 'weekdays_short' => ['Swo', 'Mus', 'Vhi', 'Rar', 'ṋa', 'á¹°an', 'Mug'], - 'weekdays_min' => ['Swo', 'Mus', 'Vhi', 'Rar', 'ṋa', 'á¹°an', 'Mug'], - 'day_of_first_week_of_year' => 1, - - // Too unreliable - /* - 'day' => ':count vhege', // less reliable - 'd' => ':count vhege', // less reliable - 'a_day' => ':count vhege', // less reliable - - 'hour' => ':count watshi', // less reliable - 'h' => ':count watshi', // less reliable - 'a_hour' => ':count watshi', // less reliable - - 'minute' => ':count watshi', // less reliable - 'min' => ':count watshi', // less reliable - 'a_minute' => ':count watshi', // less reliable - - 'second' => ':count Mu', // less reliable - 's' => ':count Mu', // less reliable - 'a_second' => ':count Mu', // less reliable - - 'week' => ':count vhege', - 'w' => ':count vhege', - 'a_week' => ':count vhege', - */ -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/vi.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/vi.php deleted file mode 100644 index e8a632f..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/vi.php +++ /dev/null @@ -1,69 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - François B - * - Andre Polykanine A.K.A. Menelion Elensúlë - * - JD Isaacks - */ -return [ - 'year' => ':count năm', - 'a_year' => '{1}má»™t năm|]1, Inf[:count năm', - 'y' => ':count năm', - 'month' => ':count tháng', - 'a_month' => '{1}má»™t tháng|]1, Inf[:count tháng', - 'm' => ':count tháng', - 'week' => ':count tuần', - 'a_week' => '{1}má»™t tuần|]1, Inf[:count tuần', - 'w' => ':count tuần', - 'day' => ':count ngày', - 'a_day' => '{1}má»™t ngày|]1, Inf[:count ngày', - 'd' => ':count ngày', - 'hour' => ':count giá»', - 'a_hour' => '{1}má»™t giá»|]1, Inf[:count giá»', - 'h' => ':count giá»', - 'minute' => ':count phút', - 'a_minute' => '{1}má»™t phút|]1, Inf[:count phút', - 'min' => ':count phút', - 'second' => ':count giây', - 'a_second' => '{1}vài giây|]1, Inf[:count giây', - 's' => ':count giây', - 'ago' => ':time trÆ°á»›c', - 'from_now' => ':time tá»›i', - 'after' => ':time sau', - 'before' => ':time trÆ°á»›c', - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD/MM/YYYY', - 'LL' => 'D MMMM [năm] YYYY', - 'LLL' => 'D MMMM [năm] YYYY HH:mm', - 'LLLL' => 'dddd, D MMMM [năm] YYYY HH:mm', - ], - 'calendar' => [ - 'sameDay' => '[Hôm nay lúc] LT', - 'nextDay' => '[Ngày mai lúc] LT', - 'nextWeek' => 'dddd [tuần tá»›i lúc] LT', - 'lastDay' => '[Hôm qua lúc] LT', - 'lastWeek' => 'dddd [tuần trÆ°á»›c lúc] LT', - 'sameElse' => 'L', - ], - 'meridiem' => ['SA', 'CH'], - 'months' => ['tháng 1', 'tháng 2', 'tháng 3', 'tháng 4', 'tháng 5', 'tháng 6', 'tháng 7', 'tháng 8', 'tháng 9', 'tháng 10', 'tháng 11', 'tháng 12'], - 'months_short' => ['Th01', 'Th02', 'Th03', 'Th04', 'Th05', 'Th06', 'Th07', 'Th08', 'Th09', 'Th10', 'Th11', 'Th12'], - 'weekdays' => ['chủ nhật', 'thứ hai', 'thứ ba', 'thứ tÆ°', 'thứ năm', 'thứ sáu', 'thứ bảy'], - 'weekdays_short' => ['CN', 'T2', 'T3', 'T4', 'T5', 'T6', 'T7'], - 'weekdays_min' => ['CN', 'T2', 'T3', 'T4', 'T5', 'T6', 'T7'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 4, - 'list' => [', ', ' và '], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/vi_VN.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/vi_VN.php deleted file mode 100644 index 77b2dce..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/vi_VN.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/vi.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/vo.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/vo.php deleted file mode 100644 index a956a78..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/vo.php +++ /dev/null @@ -1,51 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'months' => ['M01', 'M02', 'M03', 'M04', 'M05', 'M06', 'M07', 'M08', 'M09', 'M10', 'M11', 'M12'], - 'months_short' => ['M01', 'M02', 'M03', 'M04', 'M05', 'M06', 'M07', 'M08', 'M09', 'M10', 'M11', 'M12'], - 'first_day_of_week' => 1, - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'YYYY-MM-dd', - 'LL' => 'YYYY MMM D', - 'LLL' => 'YYYY MMMM D HH:mm', - 'LLLL' => 'YYYY MMMM D, dddd HH:mm', - ], - - 'year' => ':count yel', - 'y' => ':count yel', - 'a_year' => ':count yel', - - 'month' => ':count mul', - 'm' => ':count mul', - 'a_month' => ':count mul', - - 'week' => ':count vig', - 'w' => ':count vig', - 'a_week' => ':count vig', - - 'day' => ':count del', - 'd' => ':count del', - 'a_day' => ':count del', - - 'hour' => ':count düp', - 'h' => ':count düp', - 'a_hour' => ':count düp', - - 'minute' => ':count minut', - 'min' => ':count minut', - 'a_minute' => ':count minut', - - 'second' => ':count sekun', - 's' => ':count sekun', - 'a_second' => ':count sekun', -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/vun.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/vun.php deleted file mode 100644 index f8cc72c..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/vun.php +++ /dev/null @@ -1,27 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'meridiem' => ['utuko', 'kyiukonyi'], - 'weekdays' => ['Jumapilyi', 'Jumatatuu', 'Jumanne', 'Jumatanu', 'Alhamisi', 'Ijumaa', 'Jumamosi'], - 'weekdays_short' => ['Jpi', 'Jtt', 'Jnn', 'Jtn', 'Alh', 'Iju', 'Jmo'], - 'weekdays_min' => ['Jpi', 'Jtt', 'Jnn', 'Jtn', 'Alh', 'Iju', 'Jmo'], - 'months' => ['Januari', 'Februari', 'Machi', 'Aprilyi', 'Mei', 'Junyi', 'Julyai', 'Agusti', 'Septemba', 'Oktoba', 'Novemba', 'Desemba'], - 'months_short' => ['Jan', 'Feb', 'Mac', 'Apr', 'Mei', 'Jun', 'Jul', 'Ago', 'Sep', 'Okt', 'Nov', 'Des'], - 'first_day_of_week' => 1, - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD/MM/YYYY', - 'LL' => 'D MMM YYYY', - 'LLL' => 'D MMMM YYYY HH:mm', - 'LLLL' => 'dddd, D MMMM YYYY HH:mm', - ], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/wa.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/wa.php deleted file mode 100644 index f630d91..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/wa.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return require __DIR__.'/wa_BE.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/wa_BE.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/wa_BE.php deleted file mode 100644 index 2138c26..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/wa_BE.php +++ /dev/null @@ -1,55 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Djan SACRE Pablo Saratxaga pablo@mandrakesoft.com - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'DD/MM/YYYY', - ], - 'months' => ['di djanvî', 'di fevrî', 'di mÃ¥ss', 'd’ avri', 'di may', 'di djun', 'di djulete', 'd’ awousse', 'di setimbe', 'd’ octôbe', 'di nôvimbe', 'di decimbe'], - 'months_short' => ['dja', 'fev', 'mÃ¥s', 'avr', 'may', 'djn', 'djl', 'awo', 'set', 'oct', 'nôv', 'dec'], - 'weekdays' => ['dimegne', 'londi', 'mÃ¥rdi', 'mierkidi', 'djudi', 'vénrdi', 'semdi'], - 'weekdays_short' => ['dim', 'lon', 'mÃ¥r', 'mie', 'dju', 'vén', 'sem'], - 'weekdays_min' => ['dim', 'lon', 'mÃ¥r', 'mie', 'dju', 'vén', 'sem'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 4, - - 'year' => ':count anêye', - 'y' => ':count anêye', - 'a_year' => ':count anêye', - - 'month' => ':count meûs', - 'm' => ':count meûs', - 'a_month' => ':count meûs', - - 'week' => ':count samwinne', - 'w' => ':count samwinne', - 'a_week' => ':count samwinne', - - 'day' => ':count djoû', - 'd' => ':count djoû', - 'a_day' => ':count djoû', - - 'hour' => ':count eure', - 'h' => ':count eure', - 'a_hour' => ':count eure', - - 'minute' => ':count munute', - 'min' => ':count munute', - 'a_minute' => ':count munute', - - 'second' => ':count Sigonde', - 's' => ':count Sigonde', - 'a_second' => ':count Sigonde', -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/wae.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/wae.php deleted file mode 100644 index 7ba087a..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/wae.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return require __DIR__.'/wae_CH.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/wae_CH.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/wae_CH.php deleted file mode 100644 index 39e7b11..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/wae_CH.php +++ /dev/null @@ -1,31 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Walser Translation Team ml@translate-wae.ch - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'YYYY-MM-DD', - ], - 'months' => ['Jenner', 'Hornig', 'Märze', 'Abrille', 'Meije', 'BráÄet', 'Heiwet', 'ÖigÅ¡te', 'HerbÅ¡tmánet', 'Wímánet', 'Wintermánet', 'ChriÅ¡tmánet'], - 'months_short' => ['Jen', 'Hor', 'Mär', 'Abr', 'Mei', 'Brá', 'Hei', 'Öig', 'Her', 'Wím', 'Win', 'Chr'], - 'weekdays' => ['Suntag', 'Mäntag', 'Zischtag', 'Mittwuch', 'Frontag', 'Fritag', 'Samschtag'], - 'weekdays_short' => ['Sun', 'Män', 'Zis', 'Mit', 'Fro', 'Fri', 'Sam'], - 'weekdays_min' => ['Sun', 'Män', 'Zis', 'Mit', 'Fro', 'Fri', 'Sam'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 4, - - 'month' => ':count Maano', // less reliable - 'm' => ':count Maano', // less reliable - 'a_month' => ':count Maano', // less reliable -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/wal.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/wal.php deleted file mode 100644 index fc50ff3..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/wal.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return require __DIR__.'/wal_ET.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/wal_ET.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/wal_ET.php deleted file mode 100644 index 344705d..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/wal_ET.php +++ /dev/null @@ -1,27 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Ge'ez Frontier Foundation locales@geez.org - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'DD/MM/YYYY', - ], - 'months' => ['ጃንዩወሪ', 'áŒá‰¥áˆ©á‹ˆáˆª', 'ማርች', 'ኤá•áˆ¨áˆ', 'ሜይ', 'áŒáŠ•', 'áŒáˆ‹á‹­', 'ኦገስት', 'ሴá•á‰´áˆá‰ áˆ­', 'ኦክተá‹á‰ áˆ­', 'ኖቬáˆá‰ áˆ­', 'ዲሴáˆá‰ áˆ­'], - 'months_short' => ['ጃንዩ', 'áŒá‰¥áˆ©', 'ማርች', 'ኤá•áˆ¨', 'ሜይ ', 'áŒáŠ• ', 'áŒáˆ‹á‹­', 'ኦገስ', 'ሴá•á‰´', 'ኦክተ', 'ኖቬáˆ', 'ዲሴáˆ'], - 'weekdays' => ['ወጋ', 'ሳይኖ', 'ማቆሳኛ', 'አሩዋ', 'ሃሙሳ', 'አርባ', 'ቄራ'], - 'weekdays_short' => ['ወጋ ', 'ሳይኖ', 'ማቆሳ', 'አሩዋ', 'ሃሙሳ', 'አርባ', 'ቄራ '], - 'weekdays_min' => ['ወጋ ', 'ሳይኖ', 'ማቆሳ', 'አሩዋ', 'ሃሙሳ', 'አርባ', 'ቄራ '], - 'day_of_first_week_of_year' => 1, - 'meridiem' => ['ማለዶ', 'ቃማ'], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/wo.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/wo.php deleted file mode 100644 index c4b1b60..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/wo.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return require __DIR__.'/wo_SN.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/wo_SN.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/wo_SN.php deleted file mode 100644 index 9a55961..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/wo_SN.php +++ /dev/null @@ -1,39 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - The Debian Project Christian Perrier bubulle@debian.org - */ -return [ - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD.MM.YYYY', - 'LL' => 'MMMM DD, YYYY', - 'LLL' => 'DD MMM HH:mm', - 'LLLL' => 'MMMM DD, YYYY HH:mm', - ], - 'months' => ['sanwiy\'e', 'feebriy\'e', 'mars', 'awril', 'me', 'suwen', 'sulet', 'uut', 'septaambar', 'oktoobar', 'nowaambar', 'desaambar'], - 'months_short' => ['san', 'fee', 'mar', 'awr', 'me ', 'suw', 'sul', 'uut', 'sep', 'okt', 'now', 'des'], - 'weekdays' => ['dib\'eer', 'altine', 'talaata', 'allarba', 'alxames', 'ajjuma', 'gaawu'], - 'weekdays_short' => ['dib', 'alt', 'tal', 'all', 'alx', 'ajj', 'gaa'], - 'weekdays_min' => ['dib', 'alt', 'tal', 'all', 'alx', 'ajj', 'gaa'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 1, - 'year' => ':count at', - 'month' => ':count wèr', - 'week' => ':count ayubés', - 'day' => ':count bés', - 'hour' => ':count waxtu', - 'minute' => ':count simili', - 'second' => ':count saa', -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/xh.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/xh.php deleted file mode 100644 index 30c731b..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/xh.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return require __DIR__.'/xh_ZA.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/xh_ZA.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/xh_ZA.php deleted file mode 100644 index 632f542..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/xh_ZA.php +++ /dev/null @@ -1,54 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Zuza Software Foundation (Translate.org.za) Dwayne Bailey dwayne@translate.org.za - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'DD/MM/YYYY', - ], - 'months' => ['eyoMqungu', 'eyoMdumba', 'eyoKwindla', 'uTshazimpuzi', 'uCanzibe', 'eyeSilimela', 'eyeKhala', 'eyeThupa', 'eyoMsintsi', 'eyeDwarha', 'eyeNkanga', 'eyoMnga'], - 'months_short' => ['Mqu', 'Mdu', 'Kwi', 'Tsh', 'Can', 'Sil', 'Kha', 'Thu', 'Msi', 'Dwa', 'Nka', 'Mng'], - 'weekdays' => ['iCawa', 'uMvulo', 'lwesiBini', 'lwesiThathu', 'ulweSine', 'lwesiHlanu', 'uMgqibelo'], - 'weekdays_short' => ['Caw', 'Mvu', 'Bin', 'Tha', 'Sin', 'Hla', 'Mgq'], - 'weekdays_min' => ['Caw', 'Mvu', 'Bin', 'Tha', 'Sin', 'Hla', 'Mgq'], - 'day_of_first_week_of_year' => 1, - - 'year' => ':count ihlobo', // less reliable - 'y' => ':count ihlobo', // less reliable - 'a_year' => ':count ihlobo', // less reliable - - 'hour' => ':count iwotshi', // less reliable - 'h' => ':count iwotshi', // less reliable - 'a_hour' => ':count iwotshi', // less reliable - - 'minute' => ':count ingqalelo', // less reliable - 'min' => ':count ingqalelo', // less reliable - 'a_minute' => ':count ingqalelo', // less reliable - - 'second' => ':count nceda', // less reliable - 's' => ':count nceda', // less reliable - 'a_second' => ':count nceda', // less reliable - - 'month' => ':count inyanga', - 'm' => ':count inyanga', - 'a_month' => ':count inyanga', - - 'week' => ':count veki', - 'w' => ':count veki', - 'a_week' => ':count veki', - - 'day' => ':count imini', - 'd' => ':count imini', - 'a_day' => ':count imini', -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/xog.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/xog.php deleted file mode 100644 index 063977c..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/xog.php +++ /dev/null @@ -1,27 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'meridiem' => ['Munkyo', 'Eigulo'], - 'weekdays' => ['Sabiiti', 'Balaza', 'Owokubili', 'Owokusatu', 'Olokuna', 'Olokutaanu', 'Olomukaaga'], - 'weekdays_short' => ['Sabi', 'Bala', 'Kubi', 'Kusa', 'Kuna', 'Kuta', 'Muka'], - 'weekdays_min' => ['Sabi', 'Bala', 'Kubi', 'Kusa', 'Kuna', 'Kuta', 'Muka'], - 'months' => ['Janwaliyo', 'Febwaliyo', 'Marisi', 'Apuli', 'Maayi', 'Juuni', 'Julaayi', 'Agusito', 'Sebuttemba', 'Okitobba', 'Novemba', 'Desemba'], - 'months_short' => ['Jan', 'Feb', 'Mar', 'Apu', 'Maa', 'Juu', 'Jul', 'Agu', 'Seb', 'Oki', 'Nov', 'Des'], - 'first_day_of_week' => 1, - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD/MM/YYYY', - 'LL' => 'D MMM YYYY', - 'LLL' => 'D MMMM YYYY HH:mm', - 'LLLL' => 'dddd, D MMMM YYYY HH:mm', - ], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/yav.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/yav.php deleted file mode 100644 index e44cde6..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/yav.php +++ /dev/null @@ -1,27 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'meridiem' => ['kiÉ›mÉ›ÌÉ›m', 'kisÉ›ÌndÉ›'], - 'weekdays' => ['sÉ”ÌndiÉ›', 'móndie', 'muányáŋmóndie', 'metúkpíápÉ›', 'kúpélimetúkpiapÉ›', 'feléte', 'séselé'], - 'weekdays_short' => ['sd', 'md', 'mw', 'et', 'kl', 'fl', 'ss'], - 'weekdays_min' => ['sd', 'md', 'mw', 'et', 'kl', 'fl', 'ss'], - 'months' => ['pikítíkítie, oólí ú kutúan', 'siÉ›yÉ›Ì, oóli ú kándíɛ', 'É”nsúmbÉ”l, oóli ú kátátúɛ', 'mesiÅ‹, oóli ú kénie', 'ensil, oóli ú kátánuÉ›', 'É”sÉ”n', 'efute', 'pisuyú', 'imɛŋ i puÉ”s', 'imɛŋ i putúk,oóli ú kátíɛ', 'makandikÉ›', 'pilÉ”ndÉ”Ì'], - 'months_short' => ['o.1', 'o.2', 'o.3', 'o.4', 'o.5', 'o.6', 'o.7', 'o.8', 'o.9', 'o.10', 'o.11', 'o.12'], - 'first_day_of_week' => 1, - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'D/M/YYYY', - 'LL' => 'D MMM YYYY', - 'LLL' => 'D MMMM YYYY HH:mm', - 'LLLL' => 'dddd D MMMM YYYY HH:mm', - ], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/yi.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/yi.php deleted file mode 100644 index 3beb498..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/yi.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return require __DIR__.'/yi_US.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/yi_US.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/yi_US.php deleted file mode 100644 index 33ee30a..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/yi_US.php +++ /dev/null @@ -1,54 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - http://www.uyip.org/ Pablo Saratxaga pablo@mandrakesoft.com - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'DD/MM/YY', - ], - 'months' => ['×™×ַנו×ַר', 'פֿעברו×ַר', 'מערץ', '×ַפּריל', 'מיי', 'יוני', 'יולי', '×ויגוסט', 'סעפּטעמבער', '×קט×בער', '× ×וועמבער', 'דעצעמבער'], - 'months_short' => ['×™×Ö·× ', 'פֿעב', 'מ×ַר', '×ַפּר', 'מײַ ', 'יונ', 'יול', '××±×’', 'סעפּ', '×ָקט', '× ×ָװ', 'דעצ'], - 'weekdays' => ['זונטיק', 'מ×ָנטיק', 'דינסטיק', 'מיטװ×ָך', 'ד×ָנערשטיק', 'פֿרײַטיק', 'שבת'], - 'weekdays_short' => ['זונ\'', 'מ×ָנ\'', 'דינ\'', 'מיט\'', 'ד×ָנ\'', 'פֿרײַ\'', 'שבת'], - 'weekdays_min' => ['זונ\'', 'מ×ָנ\'', 'דינ\'', 'מיט\'', 'ד×ָנ\'', 'פֿרײַ\'', 'שבת'], - 'day_of_first_week_of_year' => 1, - - 'year' => ':count ×™×ר', - 'y' => ':count ×™×ר', - 'a_year' => ':count ×™×ר', - - 'month' => ':count חודש', - 'm' => ':count חודש', - 'a_month' => ':count חודש', - - 'week' => ':count וו×ָך', - 'w' => ':count וו×ָך', - 'a_week' => ':count וו×ָך', - - 'day' => ':count ט×ָג', - 'd' => ':count ט×ָג', - 'a_day' => ':count ט×ָג', - - 'hour' => ':count שעה', - 'h' => ':count שעה', - 'a_hour' => ':count שעה', - - 'minute' => ':count מינוט', - 'min' => ':count מינוט', - 'a_minute' => ':count מינוט', - - 'second' => ':count סעקונדע', - 's' => ':count סעקונדע', - 'a_second' => ':count סעקונדע', -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/yo.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/yo.php deleted file mode 100644 index 9cde72b..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/yo.php +++ /dev/null @@ -1,61 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/* - * Authors: - * - François B - * - Atolagbe Abisoye - */ -return [ - 'year' => 'á»duÌn :count', - 'a_year' => '{1}á»duÌn kan|á»duÌn :count', - 'month' => 'osuÌ€ :count', - 'a_month' => '{1}osuÌ€ kan|osuÌ€ :count', - 'week' => 'á»sẹ :count', - 'a_week' => '{1}á»sẹ kan|á»sẹ :count', - 'day' => 'á»já»Ì :count', - 'a_day' => '{1}á»já»Ì kan|á»já»Ì :count', - 'hour' => 'waÌkati :count', - 'a_hour' => '{1}waÌkati kan|waÌkati :count', - 'minute' => 'iÌ€sẹjuÌ :count', - 'a_minute' => '{1}iÌ€sẹjuÌ kan|iÌ€sẹjuÌ :count', - 'second' => 'iaayaÌ :count', - 'a_second' => '{1}iÌ€sẹjuÌ aayaÌ die|aayaÌ :count', - 'ago' => ':time ká»jaÌ', - 'from_now' => 'niÌ :time', - 'diff_yesterday' => 'AÌ€na', - 'diff_tomorrow' => 'Ọ̀la', - 'formats' => [ - 'LT' => 'h:mm A', - 'LTS' => 'h:mm:ss A', - 'L' => 'DD/MM/YYYY', - 'LL' => 'D MMMM YYYY', - 'LLL' => 'D MMMM YYYY h:mm A', - 'LLLL' => 'dddd, D MMMM YYYY h:mm A', - ], - 'calendar' => [ - 'sameDay' => '[OÌ€niÌ€ ni] LT', - 'nextDay' => '[Ọ̀la ni] LT', - 'nextWeek' => 'dddd [Ọsẹ̀ toÌn\'bá»] [ni] LT', - 'lastDay' => '[AÌ€na ni] LT', - 'lastWeek' => 'dddd [Ọsẹ̀ toÌlá»Ì] [ni] LT', - 'sameElse' => 'L', - ], - 'ordinal' => 'á»já»Ì :number', - 'months' => ['SẹÌrẹÌ', 'EÌ€reÌ€leÌ€', 'Ẹrẹ̀naÌ€', 'IÌ€gbeÌ', 'EÌ€bibi', 'OÌ€kuÌ€du', 'Agẹmo', 'OÌ€guÌn', 'Owewe', 'Ọ̀waÌ€raÌ€', 'BeÌluÌ', 'Ọ̀pẹ̀̀'], - 'months_short' => ['SẹÌr', 'EÌ€rl', 'Ẹrn', 'IÌ€gb', 'EÌ€bi', 'OÌ€kuÌ€', 'Agẹ', 'OÌ€guÌ', 'Owe', 'Ọ̀waÌ€', 'BeÌl', 'Ọ̀pẹ̀̀'], - 'weekdays' => ['AÌ€iÌ€kuÌ', 'AjeÌ', 'IÌ€sẹÌgun', 'Ọjá»ÌruÌ', 'Ọjá»Ìbá»', 'ẸtiÌ€', 'AÌ€baÌmẹÌta'], - 'weekdays_short' => ['AÌ€iÌ€k', 'AjeÌ', 'IÌ€sẹÌ', 'Ọjr', 'Ọjb', 'ẸtiÌ€', 'AÌ€baÌ'], - 'weekdays_min' => ['AÌ€iÌ€', 'Aj', 'IÌ€s', 'Ọr', 'Ọb', 'Ẹt', 'AÌ€b'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 4, - 'meridiem' => ['Àárá»Ì€', 'Ọ̀sán'], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/yo_BJ.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/yo_BJ.php deleted file mode 100644 index f06bb99..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/yo_BJ.php +++ /dev/null @@ -1,27 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return array_replace_recursive(require __DIR__.'/yo.php', [ - 'meridiem' => ['Àárɔ̀', 'Ɔ̀sán'], - 'weekdays' => ['ƆjÉ”Ì Ã€Ã¬kú', 'ƆjÉ”Ì Ajé', 'ƆjÉ”Ì ÃŒsÉ›Ìgun', 'ƆjÉ”Ìrú', 'ƆjÉ”ÌbÉ”', 'ƆjÉ”Ì Ætì', 'ƆjÉ”Ì Ã€bámÉ›Ìta'], - 'weekdays_short' => ['Àìkú', 'Ajé', 'ÃŒsÉ›Ìgun', 'ƆjÉ”Ìrú', 'ƆjÉ”ÌbÉ”', 'Ætì', 'ÀbámÉ›Ìta'], - 'weekdays_min' => ['Àìkú', 'Ajé', 'ÃŒsÉ›Ìgun', 'ƆjÉ”Ìrú', 'ƆjÉ”ÌbÉ”', 'Ætì', 'ÀbámÉ›Ìta'], - 'months' => ['Oshù ShÉ›ÌrÉ›Ì', 'Oshù Èrèlè', 'Oshù Ærɛ̀nà', 'Oshù ÃŒgbé', 'Oshù ÆÌ€bibi', 'Oshù Ã’kúdu', 'Oshù AgÉ›mÉ”', 'Oshù Ã’gún', 'Oshù Owewe', 'Oshù Ɔ̀wàrà', 'Oshù Bélú', 'Oshù Ɔ̀pɛ̀'], - 'months_short' => ['ShÉ›ÌrÉ›Ì', 'Èrèlè', 'Ærɛ̀nà', 'ÃŒgbé', 'ÆÌ€bibi', 'Ã’kúdu', 'AgÉ›mÉ”', 'Ã’gún', 'Owewe', 'Ɔ̀wàrà', 'Bélú', 'Ɔ̀pɛ̀'], - 'first_day_of_week' => 1, - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD/MM/YYYY', - 'LL' => 'D MMM YYYY', - 'LLL' => 'D MMMM YYYY HH:mm', - 'LLLL' => 'dddd, D MMMM YYYY HH:mm', - ], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/yo_NG.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/yo_NG.php deleted file mode 100644 index 92934bc..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/yo_NG.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/yo.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/yue.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/yue.php deleted file mode 100644 index 597ca68..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/yue.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return require __DIR__.'/yue_HK.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/yue_HK.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/yue_HK.php deleted file mode 100644 index 5a0c6a2..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/yue_HK.php +++ /dev/null @@ -1,28 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - bug-glibc-locales@gnu.org - */ -return array_replace_recursive(require __DIR__.'/zh_HK.php', [ - 'formats' => [ - 'L' => 'YYYYå¹´MM月DDæ—¥ dddd', - ], - 'months' => ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'], - 'months_short' => ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'], - 'weekdays' => ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'], - 'weekdays_short' => ['æ—¥', '一', '二', '三', 'å››', '五', 'å…­'], - 'weekdays_min' => ['æ—¥', '一', '二', '三', 'å››', '五', 'å…­'], - 'first_day_of_week' => 0, - 'day_of_first_week_of_year' => 1, - 'meridiem' => ['上åˆ', '下åˆ'], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/yue_Hans.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/yue_Hans.php deleted file mode 100644 index 007d071..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/yue_Hans.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/zh_Hans.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/yue_Hant.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/yue_Hant.php deleted file mode 100644 index 24797f9..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/yue_Hant.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/zh_Hant.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/yuw.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/yuw.php deleted file mode 100644 index 6440e32..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/yuw.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return require __DIR__.'/yuw_PG.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/yuw_PG.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/yuw_PG.php deleted file mode 100644 index 765d9c7..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/yuw_PG.php +++ /dev/null @@ -1,26 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Information from native speakers Hannah Sarvasy nungon.localization@gmail.com - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'DD/MM/YY', - ], - 'months' => ['jenuari', 'febuari', 'mas', 'epril', 'mei', 'jun', 'julai', 'ögus', 'septemba', 'öktoba', 'nöwemba', 'diksemba'], - 'months_short' => ['jen', 'feb', 'mas', 'epr', 'mei', 'jun', 'jul', 'ögu', 'sep', 'ökt', 'nöw', 'dis'], - 'weekdays' => ['sönda', 'mönda', 'sinda', 'mitiwö', 'sogipbono', 'nenggo', 'söndanggie'], - 'weekdays_short' => ['sön', 'mön', 'sin', 'mit', 'soi', 'nen', 'sab'], - 'weekdays_min' => ['sön', 'mön', 'sin', 'mit', 'soi', 'nen', 'sab'], - 'day_of_first_week_of_year' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/zgh.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/zgh.php deleted file mode 100644 index a65ebbd..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/zgh.php +++ /dev/null @@ -1,76 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - BAKTETE Miloud - */ -return [ - 'year' => ':count ⵓⵙⴳⴳⵯⴰⵙ|:count ⵉⵙⴳⴳⵓⵙⴰ', - 'a_year' => 'ⵓⵙⴳⴳⵯⴰⵙ|:count ⵉⵙⴳⴳⵓⵙⴰ', - 'y' => ':count ⵓⵙⴳⴳⵯⴰⵙ|:count ⵉⵙⴳⴳⵓⵙⴰ', - 'month' => ':count ⵡⴰⵢⵢⵓⵔ|:count ⴰⵢⵢⵓⵔâµ', - 'a_month' => 'ⵉⴷⵊ ⵡⴰⵢⵢⵓⵔ|:count ⴰⵢⵢⵓⵔâµ', - 'm' => ':count ⴰⵢⵢⵓⵔâµ', - 'week' => ':count ⵉⵎⴰâµâ´°âµ™âµ™|:count ⵉⵎⴰâµâ´°âµ™âµ™âµ', - 'a_week' => 'ⵉⵛⵜ ⵉⵎⴰâµâ´°âµ™âµ™|:count ⵉⵎⴰâµâ´°âµ™âµ™âµ', - 'w' => ':count ⵉⵎⴰâµâ´°âµ™âµ™.', - 'day' => ':count ⵡⴰⵙⵙ|:count ⵓⵙⵙⴰâµ', - 'a_day' => 'ⵉⴷⵊ ⵡⴰⵙⵙ|:count ⵓⵙⵙⴰâµ', - 'd' => ':count ⵓ', - 'hour' => ':count ⵜⵙⵔⴰⴳⵜ|:count ⵜⵉⵙⵔⴰⴳⵉâµ', - 'a_hour' => 'ⵉⵛⵜ ⵜⵙⵔⴰⴳⵜ|:count ⵜⵉⵙⵔⴰⴳⵉâµ', - 'h' => ':count ⵜ', - 'minute' => ':count ⵜⵓⵙⴷⵉⴷⵜ|:count ⵜⵓⵙⴷⵉⴷⵉâµ', - 'a_minute' => 'ⵉⵛⵜ ⵜⵓⵙⴷⵉⴷⵜ|:count ⵜⵓⵙⴷⵉⴷⵉâµ', - 'min' => ':count ⵜⵓⵙ', - 'second' => ':count ⵜⵙⵉâµâµœ|:count ⵜⵉⵙⵉâµâ´°', - 'a_second' => 'ⴽⵔⴰ ⵜⵉⵙⵉâµâ´°|:count ⵜⵉⵙⵉâµâ´°', - 's' => ':count ⵜ', - 'ago' => 'ⵣⴳ :time', - 'from_now' => 'â´·â´³ :time', - 'after' => ':time ⴰⵡⴰⵔ', - 'before' => ':time ⴷⴰⵜ', - 'diff_now' => 'ⴰⴷⵡⴰâµâµ‰', - 'diff_yesterday' => 'ⴰⵙⵙâµâµâ´°âµŸ', - 'diff_tomorrow' => 'ⴰⵙⴽⴽⴰ', - 'diff_before_yesterday' => 'ⴼⵔ ⵉⴹâµâµâ´°âµŸ', - 'diff_after_tomorrow' => 'âµâ´°â´¼ ⵓⵙⴽⴽⴰ', - 'period_recurrences' => ':count ⵜⵉⴽⴽⴰâµ', - 'period_interval' => 'ⴽⵓ :interval', - 'period_start_date' => 'â´³ :date', - 'period_end_date' => 'ⵉ :date', - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'DD/MM/YYYY', - 'LL' => 'D MMMM YYYY', - 'LLL' => 'D MMMM YYYY HH:mm', - 'LLLL' => 'dddd D MMMM YYYY HH:mm', - ], - 'calendar' => [ - 'sameDay' => '[ⴰⵙⵙ â´°/â´°â´· â´³] LT', - 'nextDay' => '[ⴰⵙⴽⴽⴰ â´³] LT', - 'nextWeek' => 'dddd [â´³] LT', - 'lastDay' => '[ⴰⵙⵙâµâµâ´°âµŸ â´³] LT', - 'lastWeek' => 'dddd [ⴰⵎⴳⴳⴰⵔⵓ â´³] LT', - 'sameElse' => 'L', - ], - 'meridiem' => ['ⵜⵉⴼⴰⵡⵜ', 'ⵜⴰⴷⴳⴳⵯⴰⵜ'], - 'months' => ['ⵉâµâµâ´°âµ¢âµ”', 'ⴱⵕⴰⵢⵕ', 'ⵎⴰⵕⵚ', 'ⵉⴱⵔⵉⵔ', 'ⵎⴰⵢⵢⵓ', 'ⵢⵓâµâµ¢âµ“', 'ⵢⵓâµâµ¢âµ“âµ£', 'ⵖⵓⵛⵜ', 'ⵛⵓⵜⴰâµâ´±âµ‰âµ”', 'ⴽⵟⵓⴱⵕ', 'âµâµ“ⵡⴰâµâ´±âµ‰âµ”', 'ⴷⵓⵊⴰâµâ´±âµ‰âµ”'], - 'months_short' => ['ⵉâµâµ', 'ⴱⵕⴰ', 'ⵎⴰⵕ', 'ⵉⴱⵔ', 'ⵎⴰⵢ', 'ⵢⵓâµ', 'ⵢⵓâµ', 'ⵖⵓⵛ', 'ⵛⵓⵜ', 'ⴽⵟⵓ', 'âµâµ“ⵡ', 'ⴷⵓⵊ'], - 'weekdays' => ['ⵓⵙⴰⵎⴰⵙ', 'ⵡⴰⵢâµâ´°âµ™', 'ⵓⵙⵉâµâ´°âµ™', 'ⵡⴰⴽⵕⴰⵙ', 'ⵓⴽⵡⴰⵙ', 'ⵓⵙⵉⵎⵡⴰⵙ', 'ⵓⵙⵉⴹⵢⴰⵙ'], - 'weekdays_short' => ['ⵓⵙⴰ', 'ⵡⴰⵢ', 'ⵓⵙⵉ', 'ⵡⴰⴽ', 'ⵓⴽⵡ', 'ⵓⵙⵉⵎ', 'ⵓⵙⵉⴹ'], - 'weekdays_min' => ['ⵓⵙⴰ', 'ⵡⴰⵢ', 'ⵓⵙⵉ', 'ⵡⴰⴽ', 'ⵓⴽⵡ', 'ⵓⵙⵉⵎ', 'ⵓⵙⵉⴹ'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 1, - 'list' => [', ', ' â´· '], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/zh.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/zh.php deleted file mode 100644 index 1187c3d..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/zh.php +++ /dev/null @@ -1,29 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/* - * Authors: - * - xuri - * - sycuato - * - bokideckonja - * - Luo Ning - * - William Yang (williamyang233) - */ -return array_merge(require __DIR__.'/zh_Hans.php', [ - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'YYYY/MM/DD', - 'LL' => 'YYYYå¹´M月Dæ—¥', - 'LLL' => 'YYYYå¹´M月Dæ—¥ A h点mm分', - 'LLLL' => 'YYYYå¹´M月Dæ—¥dddd A h点mm分', - ], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/zh_CN.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/zh_CN.php deleted file mode 100644 index cbe33d8..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/zh_CN.php +++ /dev/null @@ -1,33 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - monkeycon - * - François B - * - Jason Katz-Brown - * - Serhan Apaydın - * - Matt Johnson - * - JD Isaacks - * - Zeno Zeng - * - Chris Hemp - * - shankesgk2 - */ -return array_merge(require __DIR__.'/zh.php', [ - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'YYYY/MM/DD', - 'LL' => 'YYYYå¹´M月Dæ—¥', - 'LLL' => 'YYYYå¹´M月Dæ—¥Ah点mm分', - 'LLLL' => 'YYYYå¹´M月Dæ—¥ddddAh点mm分', - ], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/zh_HK.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/zh_HK.php deleted file mode 100644 index c3ee9fc..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/zh_HK.php +++ /dev/null @@ -1,12 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -return require __DIR__.'/zh_Hant_HK.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/zh_Hans.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/zh_Hans.php deleted file mode 100644 index 1a82095..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/zh_Hans.php +++ /dev/null @@ -1,107 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - monkeycon - * - François B - * - Jason Katz-Brown - * - Konstantin Konev - * - Chris Lam - * - Serhan Apaydın - * - Gary Lo - * - JD Isaacks - * - Chris Hemp - * - shankesgk2 - * - Daniel Cheung (danvim) - */ -return [ - 'year' => ':count:optional-spaceå¹´', - 'y' => ':count:optional-spaceå¹´', - 'month' => ':count:optional-space个月', - 'm' => ':count:optional-space个月', - 'week' => ':count:optional-space周', - 'w' => ':count:optional-space周', - 'day' => ':count:optional-space天', - 'd' => ':count:optional-space天', - 'hour' => ':count:optional-spaceå°æ—¶', - 'h' => ':count:optional-spaceå°æ—¶', - 'minute' => ':count:optional-space分钟', - 'min' => ':count:optional-space分钟', - 'second' => ':count:optional-space秒', - 'a_second' => '{1}几秒|]1,Inf[:count:optional-space秒', - 's' => ':count:optional-space秒', - 'ago' => ':timeå‰', - 'from_now' => ':timeåŽ', - 'after' => ':timeåŽ', - 'before' => ':timeå‰', - 'diff_yesterday' => '昨天', - 'diff_tomorrow' => '明天', - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'YYYY/MM/DD', - 'LL' => 'YYYYå¹´M月Dæ—¥', - 'LLL' => 'YYYYå¹´M月Dæ—¥ HH:mm', - 'LLLL' => 'YYYYå¹´M月Dæ—¥dddd HH:mm', - ], - 'calendar' => [ - 'sameDay' => '[今天]LT', - 'nextDay' => '[明天]LT', - 'nextWeek' => '[下]ddddLT', - 'lastDay' => '[昨天]LT', - 'lastWeek' => '[上]ddddLT', - 'sameElse' => 'L', - ], - 'ordinal' => function ($number, $period) { - switch ($period) { - case 'd': - case 'D': - case 'DDD': - return $number.'æ—¥'; - case 'M': - return $number.'月'; - case 'w': - case 'W': - return $number.'周'; - default: - return $number; - } - }, - 'meridiem' => function ($hour, $minute) { - $time = $hour * 100 + $minute; - if ($time < 600) { - return '凌晨'; - } - if ($time < 900) { - return '早上'; - } - if ($time < 1130) { - return '上åˆ'; - } - if ($time < 1230) { - return '中åˆ'; - } - if ($time < 1800) { - return '下åˆ'; - } - - return '晚上'; - }, - 'months' => ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', 'ä¹æœˆ', 'å月', 'å一月', 'å二月'], - 'months_short' => ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'], - 'weekdays' => ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'], - 'weekdays_short' => ['周日', '周一', '周二', '周三', '周四', '周五', '周六'], - 'weekdays_min' => ['æ—¥', '一', '二', '三', 'å››', '五', 'å…­'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 4, - 'list' => '', -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/zh_Hans_HK.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/zh_Hans_HK.php deleted file mode 100644 index 007d071..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/zh_Hans_HK.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/zh_Hans.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/zh_Hans_MO.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/zh_Hans_MO.php deleted file mode 100644 index 007d071..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/zh_Hans_MO.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/zh_Hans.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/zh_Hans_SG.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/zh_Hans_SG.php deleted file mode 100644 index 007d071..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/zh_Hans_SG.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/zh_Hans.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/zh_Hant.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/zh_Hant.php deleted file mode 100644 index bb61396..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/zh_Hant.php +++ /dev/null @@ -1,109 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Adam - * - monkeycon - * - François B - * - Jason Katz-Brown - * - Chris Lam - * - Serhan Apaydın - * - Gary Lo - * - JD Isaacks - * - Chris Hemp - * - Eddie - * - KID - * - shankesgk2 - * - Daniel Cheung (danvim) - */ -return [ - 'year' => ':count:optional-spaceå¹´', - 'y' => ':count:optional-spaceå¹´', - 'month' => ':count:optional-space個月', - 'm' => ':count:optional-space月', - 'week' => ':count:optional-space週', - 'w' => ':count:optional-space週', - 'day' => ':count:optional-space天', - 'd' => ':count:optional-space天', - 'hour' => ':count:optional-spaceå°æ™‚', - 'h' => ':count:optional-spaceå°æ™‚', - 'minute' => ':count:optional-space分é˜', - 'min' => ':count:optional-space分é˜', - 'second' => ':count:optional-space秒', - 'a_second' => '{1}幾秒|]1,Inf[:count:optional-space秒', - 's' => ':count:optional-space秒', - 'ago' => ':timeå‰', - 'from_now' => ':time後', - 'after' => ':time後', - 'before' => ':timeå‰', - 'diff_yesterday' => '昨天', - 'diff_tomorrow' => '明天', - 'formats' => [ - 'LT' => 'HH:mm', - 'LTS' => 'HH:mm:ss', - 'L' => 'YYYY/MM/DD', - 'LL' => 'YYYYå¹´M月Dæ—¥', - 'LLL' => 'YYYYå¹´M月Dæ—¥ HH:mm', - 'LLLL' => 'YYYYå¹´M月Dæ—¥dddd HH:mm', - ], - 'calendar' => [ - 'sameDay' => '[今天] LT', - 'nextDay' => '[明天] LT', - 'nextWeek' => '[下]dddd LT', - 'lastDay' => '[昨天] LT', - 'lastWeek' => '[上]dddd LT', - 'sameElse' => 'L', - ], - 'ordinal' => function ($number, $period) { - switch ($period) { - case 'd': - case 'D': - case 'DDD': - return $number.'æ—¥'; - case 'M': - return $number.'月'; - case 'w': - case 'W': - return $number.'周'; - default: - return $number; - } - }, - 'meridiem' => function ($hour, $minute) { - $time = $hour * 100 + $minute; - if ($time < 600) { - return '凌晨'; - } - if ($time < 900) { - return '早上'; - } - if ($time < 1130) { - return '上åˆ'; - } - if ($time < 1230) { - return '中åˆ'; - } - if ($time < 1800) { - return '下åˆ'; - } - - return '晚上'; - }, - 'months' => ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', 'ä¹æœˆ', 'å月', 'å一月', 'å二月'], - 'months_short' => ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'], - 'weekdays' => ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'], - 'weekdays_short' => ['週日', '週一', '週二', '週三', '週四', '週五', '週六'], - 'weekdays_min' => ['æ—¥', '一', '二', '三', 'å››', '五', 'å…­'], - 'first_day_of_week' => 1, - 'day_of_first_week_of_year' => 4, - 'list' => '', -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/zh_Hant_HK.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/zh_Hant_HK.php deleted file mode 100644 index 24797f9..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/zh_Hant_HK.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/zh_Hant.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/zh_Hant_MO.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/zh_Hant_MO.php deleted file mode 100644 index 24797f9..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/zh_Hant_MO.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/zh_Hant.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/zh_Hant_TW.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/zh_Hant_TW.php deleted file mode 100644 index 24797f9..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/zh_Hant_TW.php +++ /dev/null @@ -1,11 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -return require __DIR__.'/zh_Hant.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/zh_MO.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/zh_MO.php deleted file mode 100644 index 1c86d47..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/zh_MO.php +++ /dev/null @@ -1,21 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/* - * Authors: - * - tarunvelli - * - Eddie - * - KID - * - shankesgk2 - */ -return array_replace_recursive(require __DIR__.'/zh_Hant.php', [ - 'after' => ':timeåŽ', -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/zh_SG.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/zh_SG.php deleted file mode 100644 index 78cf680..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/zh_SG.php +++ /dev/null @@ -1,26 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - IBM Globalization Center of Competency, Yamato Software Laboratory bug-glibc-locales@gnu.org - */ -return array_replace_recursive(require __DIR__.'/zh.php', [ - 'formats' => [ - 'L' => 'YYYYå¹´MM月DDæ—¥', - ], - 'months' => ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', 'ä¹æœˆ', 'å月', 'å一月', 'å二月'], - 'months_short' => ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', 'ä¹æœˆ', 'å月', 'å一月', 'å二月'], - 'weekdays' => ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'], - 'weekdays_short' => ['æ—¥', '一', '二', '三', 'å››', '五', 'å…­'], - 'weekdays_min' => ['æ—¥', '一', '二', '三', 'å››', '五', 'å…­'], - 'day_of_first_week_of_year' => 1, -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/zh_TW.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/zh_TW.php deleted file mode 100644 index c6789ed..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/zh_TW.php +++ /dev/null @@ -1,12 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -return require __DIR__.'/zh_Hant_TW.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/zh_YUE.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/zh_YUE.php deleted file mode 100644 index bd10ecd..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/zh_YUE.php +++ /dev/null @@ -1,20 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - IBM Globalization Center of Competency, Yamato Software Laboratory bug-glibc-locales@gnu.org - */ -return array_replace_recursive(require __DIR__.'/zh.php', [ - 'formats' => [ - 'L' => 'YYYY-MM-DD', - ], -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/zu.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/zu.php deleted file mode 100644 index f52cadb..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/zu.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Unknown default region, use the first alphabetically. - */ -return require __DIR__.'/zu_ZA.php'; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/zu_ZA.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/zu_ZA.php deleted file mode 100644 index cb8dd5d..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Lang/zu_ZA.php +++ /dev/null @@ -1,54 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Authors: - * - Zuza Software Foundation (Translate.org.za) Dwayne Bailey dwayne@translate.org.za - */ -return array_replace_recursive(require __DIR__.'/en.php', [ - 'formats' => [ - 'L' => 'DD/MM/YYYY', - ], - 'months' => ['Januwari', 'Februwari', 'Mashi', 'Ephreli', 'Meyi', 'Juni', 'Julayi', 'Agasti', 'Septhemba', 'Okthoba', 'Novemba', 'Disemba'], - 'months_short' => ['Jan', 'Feb', 'Mas', 'Eph', 'Mey', 'Jun', 'Jul', 'Aga', 'Sep', 'Okt', 'Nov', 'Dis'], - 'weekdays' => ['iSonto', 'uMsombuluko', 'uLwesibili', 'uLwesithathu', 'uLwesine', 'uLwesihlanu', 'uMgqibelo'], - 'weekdays_short' => ['Son', 'Mso', 'Bil', 'Tha', 'Sin', 'Hla', 'Mgq'], - 'weekdays_min' => ['Son', 'Mso', 'Bil', 'Tha', 'Sin', 'Hla', 'Mgq'], - 'day_of_first_week_of_year' => 1, - - 'year' => 'kweminyaka engu-:count', - 'y' => 'kweminyaka engu-:count', - 'a_year' => 'kweminyaka engu-:count', - - 'month' => 'izinyanga ezingu-:count', - 'm' => 'izinyanga ezingu-:count', - 'a_month' => 'izinyanga ezingu-:count', - - 'week' => 'lwamasonto angu-:count', - 'w' => 'lwamasonto angu-:count', - 'a_week' => 'lwamasonto angu-:count', - - 'day' => 'ezingaba ngu-:count', - 'd' => 'ezingaba ngu-:count', - 'a_day' => 'ezingaba ngu-:count', - - 'hour' => 'amahora angu-:count', - 'h' => 'amahora angu-:count', - 'a_hour' => 'amahora angu-:count', - - 'minute' => 'ngemizuzu engu-:count', - 'min' => 'ngemizuzu engu-:count', - 'a_minute' => 'ngemizuzu engu-:count', - - 'second' => 'imizuzwana engu-:count', - 's' => 'imizuzwana engu-:count', - 'a_second' => 'imizuzwana engu-:count', -]); diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Language.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Language.php deleted file mode 100644 index 2700ee7..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Language.php +++ /dev/null @@ -1,339 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace Carbon; - -use JsonSerializable; - -class Language implements JsonSerializable -{ - /** - * @var array - */ - protected static $languagesNames; - - /** - * @var array - */ - protected static $regionsNames; - - /** - * @var string - */ - protected $id; - - /** - * @var string - */ - protected $code; - - /** - * @var string|null - */ - protected $variant; - - /** - * @var string|null - */ - protected $region; - - /** - * @var array - */ - protected $names; - - /** - * @var string - */ - protected $isoName; - - /** - * @var string - */ - protected $nativeName; - - public function __construct(string $id) - { - $this->id = str_replace('-', '_', $id); - $parts = explode('_', $this->id); - $this->code = $parts[0]; - - if (isset($parts[1])) { - if (!preg_match('/^[A-Z]+$/', $parts[1])) { - $this->variant = $parts[1]; - $parts[1] = $parts[2] ?? null; - } - if ($parts[1]) { - $this->region = $parts[1]; - } - } - } - - /** - * Get the list of the known languages. - * - * @return array - */ - public static function all() - { - if (!static::$languagesNames) { - static::$languagesNames = require __DIR__.'/List/languages.php'; - } - - return static::$languagesNames; - } - - /** - * Get the list of the known regions. - * - * @return array - */ - public static function regions() - { - if (!static::$regionsNames) { - static::$regionsNames = require __DIR__.'/List/regions.php'; - } - - return static::$regionsNames; - } - - /** - * Get both isoName and nativeName as an array. - * - * @return array - */ - public function getNames(): array - { - if (!$this->names) { - $this->names = static::all()[$this->code] ?? [ - 'isoName' => $this->code, - 'nativeName' => $this->code, - ]; - } - - return $this->names; - } - - /** - * Returns the original locale ID. - * - * @return string - */ - public function getId(): string - { - return $this->id; - } - - /** - * Returns the code of the locale "en"/"fr". - * - * @return string - */ - public function getCode(): string - { - return $this->code; - } - - /** - * Returns the variant code such as cyrl/latn. - * - * @return string|null - */ - public function getVariant(): ?string - { - return $this->variant; - } - - /** - * Returns the variant such as Cyrillic/Latin. - * - * @return string|null - */ - public function getVariantName(): ?string - { - if ($this->variant === 'Latn') { - return 'Latin'; - } - - if ($this->variant === 'Cyrl') { - return 'Cyrillic'; - } - - return $this->variant; - } - - /** - * Returns the region part of the locale. - * - * @return string|null - */ - public function getRegion(): ?string - { - return $this->region; - } - - /** - * Returns the region name for the current language. - * - * @return string|null - */ - public function getRegionName(): ?string - { - return $this->region ? (static::regions()[$this->region] ?? $this->region) : null; - } - - /** - * Returns the long ISO language name. - * - * @return string - */ - public function getFullIsoName(): string - { - if (!$this->isoName) { - $this->isoName = $this->getNames()['isoName']; - } - - return $this->isoName; - } - - /** - * Set the ISO language name. - * - * @param string $isoName - */ - public function setIsoName(string $isoName): self - { - $this->isoName = $isoName; - - return $this; - } - - /** - * Return the full name of the language in this language. - * - * @return string - */ - public function getFullNativeName(): string - { - if (!$this->nativeName) { - $this->nativeName = $this->getNames()['nativeName']; - } - - return $this->nativeName; - } - - /** - * Set the name of the language in this language. - * - * @param string $nativeName - */ - public function setNativeName(string $nativeName): self - { - $this->nativeName = $nativeName; - - return $this; - } - - /** - * Returns the short ISO language name. - * - * @return string - */ - public function getIsoName(): string - { - $name = $this->getFullIsoName(); - - return trim(strstr($name, ',', true) ?: $name); - } - - /** - * Get the short name of the language in this language. - * - * @return string - */ - public function getNativeName(): string - { - $name = $this->getFullNativeName(); - - return trim(strstr($name, ',', true) ?: $name); - } - - /** - * Get a string with short ISO name, region in parentheses if applicable, variant in parentheses if applicable. - * - * @return string - */ - public function getIsoDescription() - { - $region = $this->getRegionName(); - $variant = $this->getVariantName(); - - return $this->getIsoName().($region ? ' ('.$region.')' : '').($variant ? ' ('.$variant.')' : ''); - } - - /** - * Get a string with short native name, region in parentheses if applicable, variant in parentheses if applicable. - * - * @return string - */ - public function getNativeDescription() - { - $region = $this->getRegionName(); - $variant = $this->getVariantName(); - - return $this->getNativeName().($region ? ' ('.$region.')' : '').($variant ? ' ('.$variant.')' : ''); - } - - /** - * Get a string with long ISO name, region in parentheses if applicable, variant in parentheses if applicable. - * - * @return string - */ - public function getFullIsoDescription() - { - $region = $this->getRegionName(); - $variant = $this->getVariantName(); - - return $this->getFullIsoName().($region ? ' ('.$region.')' : '').($variant ? ' ('.$variant.')' : ''); - } - - /** - * Get a string with long native name, region in parentheses if applicable, variant in parentheses if applicable. - * - * @return string - */ - public function getFullNativeDescription() - { - $region = $this->getRegionName(); - $variant = $this->getVariantName(); - - return $this->getFullNativeName().($region ? ' ('.$region.')' : '').($variant ? ' ('.$variant.')' : ''); - } - - /** - * Returns the original locale ID. - * - * @return string - */ - public function __toString() - { - return $this->getId(); - } - - /** - * Get a string with short ISO name, region in parentheses if applicable, variant in parentheses if applicable. - * - * @return string - */ - public function jsonSerialize() - { - return $this->getIsoDescription(); - } -} diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Laravel/ServiceProvider.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Laravel/ServiceProvider.php deleted file mode 100644 index 2c6290c..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Laravel/ServiceProvider.php +++ /dev/null @@ -1,72 +0,0 @@ -updateLocale(); - - if (!$this->app->bound('events')) { - return; - } - - $service = $this; - $events = $this->app['events']; - - if ($this->isEventDispatcher($events)) { - $events->listen(class_exists('Illuminate\Foundation\Events\LocaleUpdated') ? 'Illuminate\Foundation\Events\LocaleUpdated' : 'locale.changed', function () use ($service) { - $service->updateLocale(); - }); - } - } - - public function updateLocale() - { - $app = $this->app && method_exists($this->app, 'getLocale') ? $this->app : app('translator'); - $locale = $app->getLocale(); - Carbon::setLocale($locale); - CarbonImmutable::setLocale($locale); - CarbonPeriod::setLocale($locale); - CarbonInterval::setLocale($locale); - - // @codeCoverageIgnoreStart - if (class_exists(IlluminateCarbon::class)) { - IlluminateCarbon::setLocale($locale); - } - - if (class_exists(Date::class)) { - try { - $root = Date::getFacadeRoot(); - $root->setLocale($locale); - } catch (Throwable $e) { - // Non Carbon class in use in Date facade - } - } - // @codeCoverageIgnoreEnd - } - - public function register() - { - // Needed for Laravel < 5.3 compatibility - } - - protected function isEventDispatcher($instance) - { - return $instance instanceof EventDispatcher - || $instance instanceof Dispatcher - || $instance instanceof DispatcherContract; - } -} diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/List/languages.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/List/languages.php deleted file mode 100644 index 5b5d9a1..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/List/languages.php +++ /dev/null @@ -1,1239 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -return [ - /* - * ISO 639-2 - */ - 'ab' => [ - 'isoName' => 'Abkhazian', - 'nativeName' => 'аҧÑуа бызшәа, аҧÑшәа', - ], - 'aa' => [ - 'isoName' => 'Afar', - 'nativeName' => 'Afaraf', - ], - 'af' => [ - 'isoName' => 'Afrikaans', - 'nativeName' => 'Afrikaans', - ], - 'ak' => [ - 'isoName' => 'Akan', - 'nativeName' => 'Akan', - ], - 'sq' => [ - 'isoName' => 'Albanian', - 'nativeName' => 'Shqip', - ], - 'am' => [ - 'isoName' => 'Amharic', - 'nativeName' => 'አማርኛ', - ], - 'ar' => [ - 'isoName' => 'Arabic', - 'nativeName' => 'العربية', - ], - 'an' => [ - 'isoName' => 'Aragonese', - 'nativeName' => 'aragonés', - ], - 'hy' => [ - 'isoName' => 'Armenian', - 'nativeName' => 'Õ€Õ¡ÕµÕ¥Ö€Õ¥Õ¶', - ], - 'as' => [ - 'isoName' => 'Assamese', - 'nativeName' => 'অসমীয়া', - ], - 'av' => [ - 'isoName' => 'Avaric', - 'nativeName' => 'авар мацӀ, магӀарул мацӀ', - ], - 'ae' => [ - 'isoName' => 'Avestan', - 'nativeName' => 'avesta', - ], - 'ay' => [ - 'isoName' => 'Aymara', - 'nativeName' => 'aymar aru', - ], - 'az' => [ - 'isoName' => 'Azerbaijani', - 'nativeName' => 'azÉ™rbaycan dili', - ], - 'bm' => [ - 'isoName' => 'Bambara', - 'nativeName' => 'bamanankan', - ], - 'ba' => [ - 'isoName' => 'Bashkir', - 'nativeName' => 'башҡорт теле', - ], - 'eu' => [ - 'isoName' => 'Basque', - 'nativeName' => 'euskara, euskera', - ], - 'be' => [ - 'isoName' => 'Belarusian', - 'nativeName' => 'беларуÑÐºÐ°Ñ Ð¼Ð¾Ð²Ð°', - ], - 'bn' => [ - 'isoName' => 'Bengali', - 'nativeName' => 'বাংলা', - ], - 'bh' => [ - 'isoName' => 'Bihari languages', - 'nativeName' => 'भोजपà¥à¤°à¥€', - ], - 'bi' => [ - 'isoName' => 'Bislama', - 'nativeName' => 'Bislama', - ], - 'bs' => [ - 'isoName' => 'Bosnian', - 'nativeName' => 'bosanski jezik', - ], - 'br' => [ - 'isoName' => 'Breton', - 'nativeName' => 'brezhoneg', - ], - 'bg' => [ - 'isoName' => 'Bulgarian', - 'nativeName' => 'българÑки език', - ], - 'my' => [ - 'isoName' => 'Burmese', - 'nativeName' => 'ဗမာစာ', - ], - 'ca' => [ - 'isoName' => 'Catalan, Valencian', - 'nativeName' => 'català, valencià', - ], - 'ch' => [ - 'isoName' => 'Chamorro', - 'nativeName' => 'Chamoru', - ], - 'ce' => [ - 'isoName' => 'Chechen', - 'nativeName' => 'нохчийн мотт', - ], - 'ny' => [ - 'isoName' => 'Chichewa, Chewa, Nyanja', - 'nativeName' => 'chiCheŵa, chinyanja', - ], - 'zh' => [ - 'isoName' => 'Chinese', - 'nativeName' => '中文 (ZhÅngwén), 汉语, 漢語', - ], - 'cv' => [ - 'isoName' => 'Chuvash', - 'nativeName' => 'чӑваш чӗлхи', - ], - 'kw' => [ - 'isoName' => 'Cornish', - 'nativeName' => 'Kernewek', - ], - 'co' => [ - 'isoName' => 'Corsican', - 'nativeName' => 'corsu, lingua corsa', - ], - 'cr' => [ - 'isoName' => 'Cree', - 'nativeName' => 'á“€á¦áƒá”­ááá£', - ], - 'hr' => [ - 'isoName' => 'Croatian', - 'nativeName' => 'hrvatski jezik', - ], - 'cs' => [ - 'isoName' => 'Czech', - 'nativeName' => 'ÄeÅ¡tina, Äeský jazyk', - ], - 'da' => [ - 'isoName' => 'Danish', - 'nativeName' => 'dansk', - ], - 'dv' => [ - 'isoName' => 'Divehi, Dhivehi, Maldivian', - 'nativeName' => 'Þ‹Þ¨ÞˆÞ¬Þ€Þ¨', - ], - 'nl' => [ - 'isoName' => 'Dutch, Flemish', - 'nativeName' => 'Nederlands, Vlaams', - ], - 'dz' => [ - 'isoName' => 'Dzongkha', - 'nativeName' => 'རྫོང་à½', - ], - 'en' => [ - 'isoName' => 'English', - 'nativeName' => 'English', - ], - 'eo' => [ - 'isoName' => 'Esperanto', - 'nativeName' => 'Esperanto', - ], - 'et' => [ - 'isoName' => 'Estonian', - 'nativeName' => 'eesti, eesti keel', - ], - 'ee' => [ - 'isoName' => 'Ewe', - 'nativeName' => 'EÊ‹egbe', - ], - 'fo' => [ - 'isoName' => 'Faroese', - 'nativeName' => 'føroyskt', - ], - 'fj' => [ - 'isoName' => 'Fijian', - 'nativeName' => 'vosa Vakaviti', - ], - 'fi' => [ - 'isoName' => 'Finnish', - 'nativeName' => 'suomi, suomen kieli', - ], - 'fr' => [ - 'isoName' => 'French', - 'nativeName' => 'français', - ], - 'ff' => [ - 'isoName' => 'Fulah', - 'nativeName' => 'Fulfulde, Pulaar, Pular', - ], - 'gl' => [ - 'isoName' => 'Galician', - 'nativeName' => 'Galego', - ], - 'ka' => [ - 'isoName' => 'Georgian', - 'nativeName' => 'ქáƒáƒ áƒ—ული', - ], - 'de' => [ - 'isoName' => 'German', - 'nativeName' => 'Deutsch', - ], - 'el' => [ - 'isoName' => 'Greek (modern)', - 'nativeName' => 'ελληνικά', - ], - 'gn' => [ - 'isoName' => 'Guaraní', - 'nativeName' => 'Avañe\'ẽ', - ], - 'gu' => [ - 'isoName' => 'Gujarati', - 'nativeName' => 'ગà«àªœàª°àª¾àª¤à«€', - ], - 'ht' => [ - 'isoName' => 'Haitian, Haitian Creole', - 'nativeName' => 'Kreyòl ayisyen', - ], - 'ha' => [ - 'isoName' => 'Hausa', - 'nativeName' => '(Hausa) Ù‡ÙŽÙˆÙسَ', - ], - 'he' => [ - 'isoName' => 'Hebrew (modern)', - 'nativeName' => 'עברית', - ], - 'hz' => [ - 'isoName' => 'Herero', - 'nativeName' => 'Otjiherero', - ], - 'hi' => [ - 'isoName' => 'Hindi', - 'nativeName' => 'हिनà¥à¤¦à¥€, हिंदी', - ], - 'ho' => [ - 'isoName' => 'Hiri Motu', - 'nativeName' => 'Hiri Motu', - ], - 'hu' => [ - 'isoName' => 'Hungarian', - 'nativeName' => 'magyar', - ], - 'ia' => [ - 'isoName' => 'Interlingua', - 'nativeName' => 'Interlingua', - ], - 'id' => [ - 'isoName' => 'Indonesian', - 'nativeName' => 'Bahasa Indonesia', - ], - 'ie' => [ - 'isoName' => 'Interlingue', - 'nativeName' => 'Originally called Occidental; then Interlingue after WWII', - ], - 'ga' => [ - 'isoName' => 'Irish', - 'nativeName' => 'Gaeilge', - ], - 'ig' => [ - 'isoName' => 'Igbo', - 'nativeName' => 'Asụsụ Igbo', - ], - 'ik' => [ - 'isoName' => 'Inupiaq', - 'nativeName' => 'Iñupiaq, Iñupiatun', - ], - 'io' => [ - 'isoName' => 'Ido', - 'nativeName' => 'Ido', - ], - 'is' => [ - 'isoName' => 'Icelandic', - 'nativeName' => 'Ãslenska', - ], - 'it' => [ - 'isoName' => 'Italian', - 'nativeName' => 'Italiano', - ], - 'iu' => [ - 'isoName' => 'Inuktitut', - 'nativeName' => 'áƒá“„ᒃᑎá‘ᑦ', - ], - 'ja' => [ - 'isoName' => 'Japanese', - 'nativeName' => '日本語 (ã«ã»ã‚“ã”)', - ], - 'jv' => [ - 'isoName' => 'Javanese', - 'nativeName' => 'ꦧꦱꦗꦮ, Basa Jawa', - ], - 'kl' => [ - 'isoName' => 'Kalaallisut, Greenlandic', - 'nativeName' => 'kalaallisut, kalaallit oqaasii', - ], - 'kn' => [ - 'isoName' => 'Kannada', - 'nativeName' => 'ಕನà³à²¨à²¡', - ], - 'kr' => [ - 'isoName' => 'Kanuri', - 'nativeName' => 'Kanuri', - ], - 'ks' => [ - 'isoName' => 'Kashmiri', - 'nativeName' => 'कशà¥à¤®à¥€à¤°à¥€, كشميري‎', - ], - 'kk' => [ - 'isoName' => 'Kazakh', - 'nativeName' => 'қазақ тілі', - ], - 'km' => [ - 'isoName' => 'Central Khmer', - 'nativeName' => 'ážáŸ’មែរ, ážáŸáž˜ážšáž—ាសា, ភាសាážáŸ’មែរ', - ], - 'ki' => [ - 'isoName' => 'Kikuyu, Gikuyu', - 'nativeName' => 'GÄ©kÅ©yÅ©', - ], - 'rw' => [ - 'isoName' => 'Kinyarwanda', - 'nativeName' => 'Ikinyarwanda', - ], - 'ky' => [ - 'isoName' => 'Kirghiz, Kyrgyz', - 'nativeName' => 'Кыргызча, Кыргыз тили', - ], - 'kv' => [ - 'isoName' => 'Komi', - 'nativeName' => 'коми кыв', - ], - 'kg' => [ - 'isoName' => 'Kongo', - 'nativeName' => 'Kikongo', - ], - 'ko' => [ - 'isoName' => 'Korean', - 'nativeName' => '한국어', - ], - 'ku' => [ - 'isoName' => 'Kurdish', - 'nativeName' => 'Kurdî, کوردی‎', - ], - 'kj' => [ - 'isoName' => 'Kuanyama, Kwanyama', - 'nativeName' => 'Kuanyama', - ], - 'la' => [ - 'isoName' => 'Latin', - 'nativeName' => 'latine, lingua latina', - ], - 'lb' => [ - 'isoName' => 'Luxembourgish, Letzeburgesch', - 'nativeName' => 'Lëtzebuergesch', - ], - 'lg' => [ - 'isoName' => 'Ganda', - 'nativeName' => 'Luganda', - ], - 'li' => [ - 'isoName' => 'Limburgan, Limburger, Limburgish', - 'nativeName' => 'Limburgs', - ], - 'ln' => [ - 'isoName' => 'Lingala', - 'nativeName' => 'Lingála', - ], - 'lo' => [ - 'isoName' => 'Lao', - 'nativeName' => 'ພາສາລາວ', - ], - 'lt' => [ - 'isoName' => 'Lithuanian', - 'nativeName' => 'lietuvių kalba', - ], - 'lu' => [ - 'isoName' => 'Luba-Katanga', - 'nativeName' => 'Kiluba', - ], - 'lv' => [ - 'isoName' => 'Latvian', - 'nativeName' => 'latvieÅ¡u valoda', - ], - 'gv' => [ - 'isoName' => 'Manx', - 'nativeName' => 'Gaelg, Gailck', - ], - 'mk' => [ - 'isoName' => 'Macedonian', - 'nativeName' => 'македонÑки јазик', - ], - 'mg' => [ - 'isoName' => 'Malagasy', - 'nativeName' => 'fiteny malagasy', - ], - 'ms' => [ - 'isoName' => 'Malay', - 'nativeName' => 'Bahasa Melayu, بهاس ملايو‎', - ], - 'ml' => [ - 'isoName' => 'Malayalam', - 'nativeName' => 'മലയാളം', - ], - 'mt' => [ - 'isoName' => 'Maltese', - 'nativeName' => 'Malti', - ], - 'mi' => [ - 'isoName' => 'Maori', - 'nativeName' => 'te reo MÄori', - ], - 'mr' => [ - 'isoName' => 'Marathi', - 'nativeName' => 'मराठी', - ], - 'mh' => [ - 'isoName' => 'Marshallese', - 'nativeName' => 'Kajin M̧ajeļ', - ], - 'mn' => [ - 'isoName' => 'Mongolian', - 'nativeName' => 'Монгол Ñ…Ñл', - ], - 'na' => [ - 'isoName' => 'Nauru', - 'nativeName' => 'Dorerin Naoero', - ], - 'nv' => [ - 'isoName' => 'Navajo, Navaho', - 'nativeName' => 'Diné bizaad', - ], - 'nd' => [ - 'isoName' => 'North Ndebele', - 'nativeName' => 'isiNdebele', - ], - 'ne' => [ - 'isoName' => 'Nepali', - 'nativeName' => 'नेपाली', - ], - 'ng' => [ - 'isoName' => 'Ndonga', - 'nativeName' => 'Owambo', - ], - 'nb' => [ - 'isoName' => 'Norwegian BokmÃ¥l', - 'nativeName' => 'Norsk BokmÃ¥l', - ], - 'nn' => [ - 'isoName' => 'Norwegian Nynorsk', - 'nativeName' => 'Norsk Nynorsk', - ], - 'no' => [ - 'isoName' => 'Norwegian', - 'nativeName' => 'Norsk', - ], - 'ii' => [ - 'isoName' => 'Sichuan Yi, Nuosu', - 'nativeName' => 'ꆈꌠ꒿ Nuosuhxop', - ], - 'nr' => [ - 'isoName' => 'South Ndebele', - 'nativeName' => 'isiNdebele', - ], - 'oc' => [ - 'isoName' => 'Occitan', - 'nativeName' => 'occitan, lenga d\'òc', - ], - 'oj' => [ - 'isoName' => 'Ojibwa', - 'nativeName' => 'áŠá“‚ᔑᓈá¯á’§áŽá“', - ], - 'cu' => [ - 'isoName' => 'Church Slavic, Church Slavonic, Old Church Slavonic, Old Slavonic, Old Bulgarian', - 'nativeName' => 'ѩзыкъ ÑловѣньÑкъ', - ], - 'om' => [ - 'isoName' => 'Oromo', - 'nativeName' => 'Afaan Oromoo', - ], - 'or' => [ - 'isoName' => 'Oriya', - 'nativeName' => 'ଓଡ଼ିଆ', - ], - 'os' => [ - 'isoName' => 'Ossetian, Ossetic', - 'nativeName' => 'ирон æвзаг', - ], - 'pa' => [ - 'isoName' => 'Panjabi, Punjabi', - 'nativeName' => 'ਪੰਜਾਬੀ', - ], - 'pi' => [ - 'isoName' => 'Pali', - 'nativeName' => 'पाऴि', - ], - 'fa' => [ - 'isoName' => 'Persian', - 'nativeName' => 'Ùارسی', - ], - 'pl' => [ - 'isoName' => 'Polish', - 'nativeName' => 'jÄ™zyk polski, polszczyzna', - ], - 'ps' => [ - 'isoName' => 'Pashto, Pushto', - 'nativeName' => 'پښتو', - ], - 'pt' => [ - 'isoName' => 'Portuguese', - 'nativeName' => 'Português', - ], - 'qu' => [ - 'isoName' => 'Quechua', - 'nativeName' => 'Runa Simi, Kichwa', - ], - 'rm' => [ - 'isoName' => 'Romansh', - 'nativeName' => 'Rumantsch Grischun', - ], - 'rn' => [ - 'isoName' => 'Rundi', - 'nativeName' => 'Ikirundi', - ], - 'ro' => [ - 'isoName' => 'Romanian, Moldavian, Moldovan', - 'nativeName' => 'Română', - ], - 'ru' => [ - 'isoName' => 'Russian', - 'nativeName' => 'руÑÑкий', - ], - 'sa' => [ - 'isoName' => 'Sanskrit', - 'nativeName' => 'संसà¥à¤•à¥ƒà¤¤à¤®à¥', - ], - 'sc' => [ - 'isoName' => 'Sardinian', - 'nativeName' => 'sardu', - ], - 'sd' => [ - 'isoName' => 'Sindhi', - 'nativeName' => 'सिनà¥à¤§à¥€, سنڌي، سندھی‎', - ], - 'se' => [ - 'isoName' => 'Northern Sami', - 'nativeName' => 'Davvisámegiella', - ], - 'sm' => [ - 'isoName' => 'Samoan', - 'nativeName' => 'gagana fa\'a Samoa', - ], - 'sg' => [ - 'isoName' => 'Sango', - 'nativeName' => 'yângâ tî sängö', - ], - 'sr' => [ - 'isoName' => 'Serbian', - 'nativeName' => 'ÑрпÑки језик', - ], - 'gd' => [ - 'isoName' => 'Gaelic, Scottish Gaelic', - 'nativeName' => 'Gàidhlig', - ], - 'sn' => [ - 'isoName' => 'Shona', - 'nativeName' => 'chiShona', - ], - 'si' => [ - 'isoName' => 'Sinhala, Sinhalese', - 'nativeName' => 'සිංහල', - ], - 'sk' => [ - 'isoName' => 'Slovak', - 'nativeName' => 'SlovenÄina, Slovenský Jazyk', - ], - 'sl' => [ - 'isoName' => 'Slovene', - 'nativeName' => 'Slovenski Jezik, SlovenÅ¡Äina', - ], - 'so' => [ - 'isoName' => 'Somali', - 'nativeName' => 'Soomaaliga, af Soomaali', - ], - 'st' => [ - 'isoName' => 'Southern Sotho', - 'nativeName' => 'Sesotho', - ], - 'es' => [ - 'isoName' => 'Spanish, Castilian', - 'nativeName' => 'Español', - ], - 'su' => [ - 'isoName' => 'Sundanese', - 'nativeName' => 'Basa Sunda', - ], - 'sw' => [ - 'isoName' => 'Swahili', - 'nativeName' => 'Kiswahili', - ], - 'ss' => [ - 'isoName' => 'Swati', - 'nativeName' => 'SiSwati', - ], - 'sv' => [ - 'isoName' => 'Swedish', - 'nativeName' => 'Svenska', - ], - 'ta' => [ - 'isoName' => 'Tamil', - 'nativeName' => 'தமிழà¯', - ], - 'te' => [ - 'isoName' => 'Telugu', - 'nativeName' => 'తెలà±à°—à±', - ], - 'tg' => [ - 'isoName' => 'Tajik', - 'nativeName' => 'тоҷикӣ, toçikÄ«, تاجیکی‎', - ], - 'th' => [ - 'isoName' => 'Thai', - 'nativeName' => 'ไทย', - ], - 'ti' => [ - 'isoName' => 'Tigrinya', - 'nativeName' => 'ትáŒáˆ­áŠ›', - ], - 'bo' => [ - 'isoName' => 'Tibetan', - 'nativeName' => 'བོད་ཡིག', - ], - 'tk' => [ - 'isoName' => 'Turkmen', - 'nativeName' => 'Türkmen, Түркмен', - ], - 'tl' => [ - 'isoName' => 'Tagalog', - 'nativeName' => 'Wikang Tagalog', - ], - 'tn' => [ - 'isoName' => 'Tswana', - 'nativeName' => 'Setswana', - ], - 'to' => [ - 'isoName' => 'Tongan (Tonga Islands)', - 'nativeName' => 'Faka Tonga', - ], - 'tr' => [ - 'isoName' => 'Turkish', - 'nativeName' => 'Türkçe', - ], - 'ts' => [ - 'isoName' => 'Tsonga', - 'nativeName' => 'Xitsonga', - ], - 'tt' => [ - 'isoName' => 'Tatar', - 'nativeName' => 'татар теле, tatar tele', - ], - 'tw' => [ - 'isoName' => 'Twi', - 'nativeName' => 'Twi', - ], - 'ty' => [ - 'isoName' => 'Tahitian', - 'nativeName' => 'Reo Tahiti', - ], - 'ug' => [ - 'isoName' => 'Uighur, Uyghur', - 'nativeName' => 'UyÆ£urqÉ™, ‫ئۇيغۇرچ', - ], - 'uk' => [ - 'isoName' => 'Ukrainian', - 'nativeName' => 'УкраїнÑька', - ], - 'ur' => [ - 'isoName' => 'Urdu', - 'nativeName' => 'اردو', - ], - 'uz' => [ - 'isoName' => 'Uzbek', - 'nativeName' => 'OÊ»zbek, Ўзбек, أۇزبÛك‎', - ], - 've' => [ - 'isoName' => 'Venda', - 'nativeName' => 'Tshivenḓa', - ], - 'vi' => [ - 'isoName' => 'Vietnamese', - 'nativeName' => 'Tiếng Việt', - ], - 'vo' => [ - 'isoName' => 'Volapük', - 'nativeName' => 'Volapük', - ], - 'wa' => [ - 'isoName' => 'Walloon', - 'nativeName' => 'Walon', - ], - 'cy' => [ - 'isoName' => 'Welsh', - 'nativeName' => 'Cymraeg', - ], - 'wo' => [ - 'isoName' => 'Wolof', - 'nativeName' => 'Wollof', - ], - 'fy' => [ - 'isoName' => 'Western Frisian', - 'nativeName' => 'Frysk', - ], - 'xh' => [ - 'isoName' => 'Xhosa', - 'nativeName' => 'isiXhosa', - ], - 'yi' => [ - 'isoName' => 'Yiddish', - 'nativeName' => 'ייִדיש', - ], - 'yo' => [ - 'isoName' => 'Yoruba', - 'nativeName' => 'Yorùbá', - ], - 'za' => [ - 'isoName' => 'Zhuang, Chuang', - 'nativeName' => 'Saɯ cueÅ‹Æ…, Saw cuengh', - ], - 'zu' => [ - 'isoName' => 'Zulu', - 'nativeName' => 'isiZulu', - ], - /* - * Add ISO 639-3 languages available in Carbon - */ - 'agq' => [ - 'isoName' => 'Aghem', - 'nativeName' => 'Aghem', - ], - 'agr' => [ - 'isoName' => 'Aguaruna', - 'nativeName' => 'Aguaruna', - ], - 'anp' => [ - 'isoName' => 'Angika', - 'nativeName' => 'Angika', - ], - 'asa' => [ - 'isoName' => 'Asu', - 'nativeName' => 'Asu', - ], - 'ast' => [ - 'isoName' => 'Asturian', - 'nativeName' => 'Asturian', - ], - 'ayc' => [ - 'isoName' => 'Southern Aymara', - 'nativeName' => 'Southern Aymara', - ], - 'bas' => [ - 'isoName' => 'Basaa', - 'nativeName' => 'Basaa', - ], - 'bem' => [ - 'isoName' => 'Bemba', - 'nativeName' => 'Bemba', - ], - 'bez' => [ - 'isoName' => 'Bena', - 'nativeName' => 'Bena', - ], - 'bhb' => [ - 'isoName' => 'Bhili', - 'nativeName' => 'Bhili', - ], - 'bho' => [ - 'isoName' => 'Bhojpuri', - 'nativeName' => 'Bhojpuri', - ], - 'brx' => [ - 'isoName' => 'Bodo', - 'nativeName' => 'Bodo', - ], - 'byn' => [ - 'isoName' => 'Bilin', - 'nativeName' => 'Bilin', - ], - 'ccp' => [ - 'isoName' => 'Chakma', - 'nativeName' => 'Chakma', - ], - 'cgg' => [ - 'isoName' => 'Chiga', - 'nativeName' => 'Chiga', - ], - 'chr' => [ - 'isoName' => 'Cherokee', - 'nativeName' => 'Cherokee', - ], - 'cmn' => [ - 'isoName' => 'Chinese', - 'nativeName' => 'Chinese', - ], - 'crh' => [ - 'isoName' => 'Crimean Turkish', - 'nativeName' => 'Crimean Turkish', - ], - 'csb' => [ - 'isoName' => 'Kashubian', - 'nativeName' => 'Kashubian', - ], - 'dav' => [ - 'isoName' => 'Taita', - 'nativeName' => 'Taita', - ], - 'dje' => [ - 'isoName' => 'Zarma', - 'nativeName' => 'Zarma', - ], - 'doi' => [ - 'isoName' => 'Dogri (macrolanguage)', - 'nativeName' => 'Dogri (macrolanguage)', - ], - 'dsb' => [ - 'isoName' => 'Lower Sorbian', - 'nativeName' => 'Lower Sorbian', - ], - 'dua' => [ - 'isoName' => 'Duala', - 'nativeName' => 'Duala', - ], - 'dyo' => [ - 'isoName' => 'Jola-Fonyi', - 'nativeName' => 'Jola-Fonyi', - ], - 'ebu' => [ - 'isoName' => 'Embu', - 'nativeName' => 'Embu', - ], - 'ewo' => [ - 'isoName' => 'Ewondo', - 'nativeName' => 'Ewondo', - ], - 'fil' => [ - 'isoName' => 'Filipino', - 'nativeName' => 'Filipino', - ], - 'fur' => [ - 'isoName' => 'Friulian', - 'nativeName' => 'Friulian', - ], - 'gez' => [ - 'isoName' => 'Geez', - 'nativeName' => 'Geez', - ], - 'gom' => [ - 'isoName' => 'Konkani, Goan', - 'nativeName' => 'ಕೊಂಕಣಿ', - ], - 'gsw' => [ - 'isoName' => 'Swiss German', - 'nativeName' => 'Swiss German', - ], - 'guz' => [ - 'isoName' => 'Gusii', - 'nativeName' => 'Gusii', - ], - 'hak' => [ - 'isoName' => 'Hakka Chinese', - 'nativeName' => 'Hakka Chinese', - ], - 'haw' => [ - 'isoName' => 'Hawaiian', - 'nativeName' => 'Hawaiian', - ], - 'hif' => [ - 'isoName' => 'Fiji Hindi', - 'nativeName' => 'Fiji Hindi', - ], - 'hne' => [ - 'isoName' => 'Chhattisgarhi', - 'nativeName' => 'Chhattisgarhi', - ], - 'hsb' => [ - 'isoName' => 'Upper Sorbian', - 'nativeName' => 'Upper Sorbian', - ], - 'jgo' => [ - 'isoName' => 'Ngomba', - 'nativeName' => 'Ngomba', - ], - 'jmc' => [ - 'isoName' => 'Machame', - 'nativeName' => 'Machame', - ], - 'kab' => [ - 'isoName' => 'Kabyle', - 'nativeName' => 'Kabyle', - ], - 'kam' => [ - 'isoName' => 'Kamba', - 'nativeName' => 'Kamba', - ], - 'kde' => [ - 'isoName' => 'Makonde', - 'nativeName' => 'Makonde', - ], - 'kea' => [ - 'isoName' => 'Kabuverdianu', - 'nativeName' => 'Kabuverdianu', - ], - 'khq' => [ - 'isoName' => 'Koyra Chiini', - 'nativeName' => 'Koyra Chiini', - ], - 'kkj' => [ - 'isoName' => 'Kako', - 'nativeName' => 'Kako', - ], - 'kln' => [ - 'isoName' => 'Kalenjin', - 'nativeName' => 'Kalenjin', - ], - 'kok' => [ - 'isoName' => 'Konkani', - 'nativeName' => 'Konkani', - ], - 'ksb' => [ - 'isoName' => 'Shambala', - 'nativeName' => 'Shambala', - ], - 'ksf' => [ - 'isoName' => 'Bafia', - 'nativeName' => 'Bafia', - ], - 'ksh' => [ - 'isoName' => 'Colognian', - 'nativeName' => 'Colognian', - ], - 'lag' => [ - 'isoName' => 'Langi', - 'nativeName' => 'Langi', - ], - 'lij' => [ - 'isoName' => 'Ligurian', - 'nativeName' => 'Ligurian', - ], - 'lkt' => [ - 'isoName' => 'Lakota', - 'nativeName' => 'Lakota', - ], - 'lrc' => [ - 'isoName' => 'Northern Luri', - 'nativeName' => 'Northern Luri', - ], - 'luo' => [ - 'isoName' => 'Luo', - 'nativeName' => 'Luo', - ], - 'luy' => [ - 'isoName' => 'Luyia', - 'nativeName' => 'Luyia', - ], - 'lzh' => [ - 'isoName' => 'Literary Chinese', - 'nativeName' => 'Literary Chinese', - ], - 'mag' => [ - 'isoName' => 'Magahi', - 'nativeName' => 'Magahi', - ], - 'mai' => [ - 'isoName' => 'Maithili', - 'nativeName' => 'Maithili', - ], - 'mas' => [ - 'isoName' => 'Masai', - 'nativeName' => 'Masai', - ], - 'mer' => [ - 'isoName' => 'Meru', - 'nativeName' => 'Meru', - ], - 'mfe' => [ - 'isoName' => 'Morisyen', - 'nativeName' => 'Morisyen', - ], - 'mgh' => [ - 'isoName' => 'Makhuwa-Meetto', - 'nativeName' => 'Makhuwa-Meetto', - ], - 'mgo' => [ - 'isoName' => 'Metaʼ', - 'nativeName' => 'Metaʼ', - ], - 'mhr' => [ - 'isoName' => 'Eastern Mari', - 'nativeName' => 'Eastern Mari', - ], - 'miq' => [ - 'isoName' => 'Mískito', - 'nativeName' => 'Mískito', - ], - 'mjw' => [ - 'isoName' => 'Karbi', - 'nativeName' => 'Karbi', - ], - 'mni' => [ - 'isoName' => 'Manipuri', - 'nativeName' => 'Manipuri', - ], - 'mua' => [ - 'isoName' => 'Mundang', - 'nativeName' => 'Mundang', - ], - 'mzn' => [ - 'isoName' => 'Mazanderani', - 'nativeName' => 'Mazanderani', - ], - 'nan' => [ - 'isoName' => 'Min Nan Chinese', - 'nativeName' => 'Min Nan Chinese', - ], - 'naq' => [ - 'isoName' => 'Nama', - 'nativeName' => 'Nama', - ], - 'nds' => [ - 'isoName' => 'Low German', - 'nativeName' => 'Low German', - ], - 'nhn' => [ - 'isoName' => 'Central Nahuatl', - 'nativeName' => 'Central Nahuatl', - ], - 'niu' => [ - 'isoName' => 'Niuean', - 'nativeName' => 'Niuean', - ], - 'nmg' => [ - 'isoName' => 'Kwasio', - 'nativeName' => 'Kwasio', - ], - 'nnh' => [ - 'isoName' => 'Ngiemboon', - 'nativeName' => 'Ngiemboon', - ], - 'nso' => [ - 'isoName' => 'Northern Sotho', - 'nativeName' => 'Northern Sotho', - ], - 'nus' => [ - 'isoName' => 'Nuer', - 'nativeName' => 'Nuer', - ], - 'nyn' => [ - 'isoName' => 'Nyankole', - 'nativeName' => 'Nyankole', - ], - 'pap' => [ - 'isoName' => 'Papiamento', - 'nativeName' => 'Papiamento', - ], - 'prg' => [ - 'isoName' => 'Prussian', - 'nativeName' => 'Prussian', - ], - 'quz' => [ - 'isoName' => 'Cusco Quechua', - 'nativeName' => 'Cusco Quechua', - ], - 'raj' => [ - 'isoName' => 'Rajasthani', - 'nativeName' => 'Rajasthani', - ], - 'rof' => [ - 'isoName' => 'Rombo', - 'nativeName' => 'Rombo', - ], - 'rwk' => [ - 'isoName' => 'Rwa', - 'nativeName' => 'Rwa', - ], - 'sah' => [ - 'isoName' => 'Sakha', - 'nativeName' => 'Sakha', - ], - 'saq' => [ - 'isoName' => 'Samburu', - 'nativeName' => 'Samburu', - ], - 'sat' => [ - 'isoName' => 'Santali', - 'nativeName' => 'Santali', - ], - 'sbp' => [ - 'isoName' => 'Sangu', - 'nativeName' => 'Sangu', - ], - 'scr' => [ - 'isoName' => 'Serbo Croatian', - 'nativeName' => 'Serbo Croatian', - ], - 'seh' => [ - 'isoName' => 'Sena', - 'nativeName' => 'Sena', - ], - 'ses' => [ - 'isoName' => 'Koyraboro Senni', - 'nativeName' => 'Koyraboro Senni', - ], - 'sgs' => [ - 'isoName' => 'Samogitian', - 'nativeName' => 'Samogitian', - ], - 'shi' => [ - 'isoName' => 'Tachelhit', - 'nativeName' => 'Tachelhit', - ], - 'shn' => [ - 'isoName' => 'Shan', - 'nativeName' => 'Shan', - ], - 'shs' => [ - 'isoName' => 'Shuswap', - 'nativeName' => 'Shuswap', - ], - 'sid' => [ - 'isoName' => 'Sidamo', - 'nativeName' => 'Sidamo', - ], - 'smn' => [ - 'isoName' => 'Inari Sami', - 'nativeName' => 'Inari Sami', - ], - 'szl' => [ - 'isoName' => 'Silesian', - 'nativeName' => 'Silesian', - ], - 'tcy' => [ - 'isoName' => 'Tulu', - 'nativeName' => 'Tulu', - ], - 'teo' => [ - 'isoName' => 'Teso', - 'nativeName' => 'Teso', - ], - 'tet' => [ - 'isoName' => 'Tetum', - 'nativeName' => 'Tetum', - ], - 'the' => [ - 'isoName' => 'Chitwania Tharu', - 'nativeName' => 'Chitwania Tharu', - ], - 'tig' => [ - 'isoName' => 'Tigre', - 'nativeName' => 'Tigre', - ], - 'tlh' => [ - 'isoName' => 'Klingon', - 'nativeName' => 'tlhIngan Hol', - ], - 'tpi' => [ - 'isoName' => 'Tok Pisin', - 'nativeName' => 'Tok Pisin', - ], - 'twq' => [ - 'isoName' => 'Tasawaq', - 'nativeName' => 'Tasawaq', - ], - 'tzl' => [ - 'isoName' => 'Talossan', - 'nativeName' => 'Talossan', - ], - 'tzm' => [ - 'isoName' => 'Tamazight, Central Atlas', - 'nativeName' => 'ⵜⵎⴰⵣⵉⵖⵜ', - ], - 'unm' => [ - 'isoName' => 'Unami', - 'nativeName' => 'Unami', - ], - 'vai' => [ - 'isoName' => 'Vai', - 'nativeName' => 'Vai', - ], - 'vun' => [ - 'isoName' => 'Vunjo', - 'nativeName' => 'Vunjo', - ], - 'wae' => [ - 'isoName' => 'Walser', - 'nativeName' => 'Walser', - ], - 'wal' => [ - 'isoName' => 'Wolaytta', - 'nativeName' => 'Wolaytta', - ], - 'xog' => [ - 'isoName' => 'Soga', - 'nativeName' => 'Soga', - ], - 'yav' => [ - 'isoName' => 'Yangben', - 'nativeName' => 'Yangben', - ], - 'yue' => [ - 'isoName' => 'Cantonese', - 'nativeName' => 'Cantonese', - ], - 'yuw' => [ - 'isoName' => 'Yau (Morobe Province)', - 'nativeName' => 'Yau (Morobe Province)', - ], - 'zgh' => [ - 'isoName' => 'Standard Moroccan Tamazight', - 'nativeName' => 'Standard Moroccan Tamazight', - ], -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/List/regions.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/List/regions.php deleted file mode 100644 index 7106df2..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/List/regions.php +++ /dev/null @@ -1,265 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * ISO 3166-2 - */ -return [ - 'AD' => 'Andorra', - 'AE' => 'United Arab Emirates', - 'AF' => 'Afghanistan', - 'AG' => 'Antigua and Barbuda', - 'AI' => 'Anguilla', - 'AL' => 'Albania', - 'AM' => 'Armenia', - 'AO' => 'Angola', - 'AQ' => 'Antarctica', - 'AR' => 'Argentina', - 'AS' => 'American Samoa', - 'AT' => 'Austria', - 'AU' => 'Australia', - 'AW' => 'Aruba', - 'AX' => 'Ã…land Islands', - 'AZ' => 'Azerbaijan', - 'BA' => 'Bosnia and Herzegovina', - 'BB' => 'Barbados', - 'BD' => 'Bangladesh', - 'BE' => 'Belgium', - 'BF' => 'Burkina Faso', - 'BG' => 'Bulgaria', - 'BH' => 'Bahrain', - 'BI' => 'Burundi', - 'BJ' => 'Benin', - 'BL' => 'Saint Barthélemy', - 'BM' => 'Bermuda', - 'BN' => 'Brunei Darussalam', - 'BO' => 'Bolivia (Plurinational State of)', - 'BQ' => 'Bonaire, Sint Eustatius and Saba', - 'BR' => 'Brazil', - 'BS' => 'Bahamas', - 'BT' => 'Bhutan', - 'BV' => 'Bouvet Island', - 'BW' => 'Botswana', - 'BY' => 'Belarus', - 'BZ' => 'Belize', - 'CA' => 'Canada', - 'CC' => 'Cocos (Keeling) Islands', - 'CD' => 'Congo, Democratic Republic of the', - 'CF' => 'Central African Republic', - 'CG' => 'Congo', - 'CH' => 'Switzerland', - 'CI' => 'Côte d\'Ivoire', - 'CK' => 'Cook Islands', - 'CL' => 'Chile', - 'CM' => 'Cameroon', - 'CN' => 'China', - 'CO' => 'Colombia', - 'CR' => 'Costa Rica', - 'CU' => 'Cuba', - 'CV' => 'Cabo Verde', - 'CW' => 'Curaçao', - 'CX' => 'Christmas Island', - 'CY' => 'Cyprus', - 'CZ' => 'Czechia', - 'DE' => 'Germany', - 'DJ' => 'Djibouti', - 'DK' => 'Denmark', - 'DM' => 'Dominica', - 'DO' => 'Dominican Republic', - 'DZ' => 'Algeria', - 'EC' => 'Ecuador', - 'EE' => 'Estonia', - 'EG' => 'Egypt', - 'EH' => 'Western Sahara', - 'ER' => 'Eritrea', - 'ES' => 'Spain', - 'ET' => 'Ethiopia', - 'FI' => 'Finland', - 'FJ' => 'Fiji', - 'FK' => 'Falkland Islands (Malvinas)', - 'FM' => 'Micronesia (Federated States of)', - 'FO' => 'Faroe Islands', - 'FR' => 'France', - 'GA' => 'Gabon', - 'GB' => 'United Kingdom of Great Britain and Northern Ireland', - 'GD' => 'Grenada', - 'GE' => 'Georgia', - 'GF' => 'French Guiana', - 'GG' => 'Guernsey', - 'GH' => 'Ghana', - 'GI' => 'Gibraltar', - 'GL' => 'Greenland', - 'GM' => 'Gambia', - 'GN' => 'Guinea', - 'GP' => 'Guadeloupe', - 'GQ' => 'Equatorial Guinea', - 'GR' => 'Greece', - 'GS' => 'South Georgia and the South Sandwich Islands', - 'GT' => 'Guatemala', - 'GU' => 'Guam', - 'GW' => 'Guinea-Bissau', - 'GY' => 'Guyana', - 'HK' => 'Hong Kong', - 'HM' => 'Heard Island and McDonald Islands', - 'HN' => 'Honduras', - 'HR' => 'Croatia', - 'HT' => 'Haiti', - 'HU' => 'Hungary', - 'ID' => 'Indonesia', - 'IE' => 'Ireland', - 'IL' => 'Israel', - 'IM' => 'Isle of Man', - 'IN' => 'India', - 'IO' => 'British Indian Ocean Territory', - 'IQ' => 'Iraq', - 'IR' => 'Iran (Islamic Republic of)', - 'IS' => 'Iceland', - 'IT' => 'Italy', - 'JE' => 'Jersey', - 'JM' => 'Jamaica', - 'JO' => 'Jordan', - 'JP' => 'Japan', - 'KE' => 'Kenya', - 'KG' => 'Kyrgyzstan', - 'KH' => 'Cambodia', - 'KI' => 'Kiribati', - 'KM' => 'Comoros', - 'KN' => 'Saint Kitts and Nevis', - 'KP' => 'Korea (Democratic People\'s Republic of)', - 'KR' => 'Korea, Republic of', - 'KW' => 'Kuwait', - 'KY' => 'Cayman Islands', - 'KZ' => 'Kazakhstan', - 'LA' => 'Lao People\'s Democratic Republic', - 'LB' => 'Lebanon', - 'LC' => 'Saint Lucia', - 'LI' => 'Liechtenstein', - 'LK' => 'Sri Lanka', - 'LR' => 'Liberia', - 'LS' => 'Lesotho', - 'LT' => 'Lithuania', - 'LU' => 'Luxembourg', - 'LV' => 'Latvia', - 'LY' => 'Libya', - 'MA' => 'Morocco', - 'MC' => 'Monaco', - 'MD' => 'Moldova, Republic of', - 'ME' => 'Montenegro', - 'MF' => 'Saint Martin (French part)', - 'MG' => 'Madagascar', - 'MH' => 'Marshall Islands', - 'MK' => 'Macedonia, the former Yugoslav Republic of', - 'ML' => 'Mali', - 'MM' => 'Myanmar', - 'MN' => 'Mongolia', - 'MO' => 'Macao', - 'MP' => 'Northern Mariana Islands', - 'MQ' => 'Martinique', - 'MR' => 'Mauritania', - 'MS' => 'Montserrat', - 'MT' => 'Malta', - 'MU' => 'Mauritius', - 'MV' => 'Maldives', - 'MW' => 'Malawi', - 'MX' => 'Mexico', - 'MY' => 'Malaysia', - 'MZ' => 'Mozambique', - 'NA' => 'Namibia', - 'NC' => 'New Caledonia', - 'NE' => 'Niger', - 'NF' => 'Norfolk Island', - 'NG' => 'Nigeria', - 'NI' => 'Nicaragua', - 'NL' => 'Netherlands', - 'NO' => 'Norway', - 'NP' => 'Nepal', - 'NR' => 'Nauru', - 'NU' => 'Niue', - 'NZ' => 'New Zealand', - 'OM' => 'Oman', - 'PA' => 'Panama', - 'PE' => 'Peru', - 'PF' => 'French Polynesia', - 'PG' => 'Papua New Guinea', - 'PH' => 'Philippines', - 'PK' => 'Pakistan', - 'PL' => 'Poland', - 'PM' => 'Saint Pierre and Miquelon', - 'PN' => 'Pitcairn', - 'PR' => 'Puerto Rico', - 'PS' => 'Palestine, State of', - 'PT' => 'Portugal', - 'PW' => 'Palau', - 'PY' => 'Paraguay', - 'QA' => 'Qatar', - 'RE' => 'Réunion', - 'RO' => 'Romania', - 'RS' => 'Serbia', - 'RU' => 'Russian Federation', - 'RW' => 'Rwanda', - 'SA' => 'Saudi Arabia', - 'SB' => 'Solomon Islands', - 'SC' => 'Seychelles', - 'SD' => 'Sudan', - 'SE' => 'Sweden', - 'SG' => 'Singapore', - 'SH' => 'Saint Helena, Ascension and Tristan da Cunha', - 'SI' => 'Slovenia', - 'SJ' => 'Svalbard and Jan Mayen', - 'SK' => 'Slovakia', - 'SL' => 'Sierra Leone', - 'SM' => 'San Marino', - 'SN' => 'Senegal', - 'SO' => 'Somalia', - 'SR' => 'Suriname', - 'SS' => 'South Sudan', - 'ST' => 'Sao Tome and Principe', - 'SV' => 'El Salvador', - 'SX' => 'Sint Maarten (Dutch part)', - 'SY' => 'Syrian Arab Republic', - 'SZ' => 'Eswatini', - 'TC' => 'Turks and Caicos Islands', - 'TD' => 'Chad', - 'TF' => 'French Southern Territories', - 'TG' => 'Togo', - 'TH' => 'Thailand', - 'TJ' => 'Tajikistan', - 'TK' => 'Tokelau', - 'TL' => 'Timor-Leste', - 'TM' => 'Turkmenistan', - 'TN' => 'Tunisia', - 'TO' => 'Tonga', - 'TR' => 'Turkey', - 'TT' => 'Trinidad and Tobago', - 'TV' => 'Tuvalu', - 'TW' => 'Taiwan, Province of China', - 'TZ' => 'Tanzania, United Republic of', - 'UA' => 'Ukraine', - 'UG' => 'Uganda', - 'UM' => 'United States Minor Outlying Islands', - 'US' => 'United States of America', - 'UY' => 'Uruguay', - 'UZ' => 'Uzbekistan', - 'VA' => 'Holy See', - 'VC' => 'Saint Vincent and the Grenadines', - 'VE' => 'Venezuela (Bolivarian Republic of)', - 'VG' => 'Virgin Islands (British)', - 'VI' => 'Virgin Islands (U.S.)', - 'VN' => 'Viet Nam', - 'VU' => 'Vanuatu', - 'WF' => 'Wallis and Futuna', - 'WS' => 'Samoa', - 'YE' => 'Yemen', - 'YT' => 'Mayotte', - 'ZA' => 'South Africa', - 'ZM' => 'Zambia', - 'ZW' => 'Zimbabwe', -]; diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Traits/Boundaries.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Traits/Boundaries.php deleted file mode 100644 index 608dbb5..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Traits/Boundaries.php +++ /dev/null @@ -1,452 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace Carbon\Traits; - -use InvalidArgumentException; - -/** - * Trait Boundaries. - * - * startOf, endOf and derived method for each unit. - * - * Depends on the following properties: - * - * @property int $year - * @property int $month - * @property int $daysInMonth - * @property int $quarter - * - * Depends on the following methods: - * - * @method $this setTime(int $hour, int $minute, int $second = 0, int $microseconds = 0) - * @method $this setDate(int $year, int $month, int $day) - * @method $this addMonths(int $value = 1) - */ -trait Boundaries -{ - /** - * Resets the time to 00:00:00 start of day - * - * @example - * ``` - * echo Carbon::parse('2018-07-25 12:45:16')->startOfDay(); - * ``` - * - * @return static - */ - public function startOfDay() - { - return $this->setTime(0, 0, 0, 0); - } - - /** - * Resets the time to 23:59:59.999999 end of day - * - * @example - * ``` - * echo Carbon::parse('2018-07-25 12:45:16')->endOfDay(); - * ``` - * - * @return static - */ - public function endOfDay() - { - return $this->setTime(static::HOURS_PER_DAY - 1, static::MINUTES_PER_HOUR - 1, static::SECONDS_PER_MINUTE - 1, static::MICROSECONDS_PER_SECOND - 1); - } - - /** - * Resets the date to the first day of the month and the time to 00:00:00 - * - * @example - * ``` - * echo Carbon::parse('2018-07-25 12:45:16')->startOfMonth(); - * ``` - * - * @return static - */ - public function startOfMonth() - { - return $this->setDate($this->year, $this->month, 1)->startOfDay(); - } - - /** - * Resets the date to end of the month and time to 23:59:59.999999 - * - * @example - * ``` - * echo Carbon::parse('2018-07-25 12:45:16')->endOfMonth(); - * ``` - * - * @return static - */ - public function endOfMonth() - { - return $this->setDate($this->year, $this->month, $this->daysInMonth)->endOfDay(); - } - - /** - * Resets the date to the first day of the quarter and the time to 00:00:00 - * - * @example - * ``` - * echo Carbon::parse('2018-07-25 12:45:16')->startOfQuarter(); - * ``` - * - * @return static - */ - public function startOfQuarter() - { - $month = ($this->quarter - 1) * static::MONTHS_PER_QUARTER + 1; - - return $this->setDate($this->year, $month, 1)->startOfDay(); - } - - /** - * Resets the date to end of the quarter and time to 23:59:59.999999 - * - * @example - * ``` - * echo Carbon::parse('2018-07-25 12:45:16')->endOfQuarter(); - * ``` - * - * @return static - */ - public function endOfQuarter() - { - return $this->startOfQuarter()->addMonths(static::MONTHS_PER_QUARTER - 1)->endOfMonth(); - } - - /** - * Resets the date to the first day of the year and the time to 00:00:00 - * - * @example - * ``` - * echo Carbon::parse('2018-07-25 12:45:16')->startOfYear(); - * ``` - * - * @return static - */ - public function startOfYear() - { - return $this->setDate($this->year, 1, 1)->startOfDay(); - } - - /** - * Resets the date to end of the year and time to 23:59:59.999999 - * - * @example - * ``` - * echo Carbon::parse('2018-07-25 12:45:16')->endOfYear(); - * ``` - * - * @return static - */ - public function endOfYear() - { - return $this->setDate($this->year, 12, 31)->endOfDay(); - } - - /** - * Resets the date to the first day of the decade and the time to 00:00:00 - * - * @example - * ``` - * echo Carbon::parse('2018-07-25 12:45:16')->startOfDecade(); - * ``` - * - * @return static - */ - public function startOfDecade() - { - $year = $this->year - $this->year % static::YEARS_PER_DECADE; - - return $this->setDate($year, 1, 1)->startOfDay(); - } - - /** - * Resets the date to end of the decade and time to 23:59:59.999999 - * - * @example - * ``` - * echo Carbon::parse('2018-07-25 12:45:16')->endOfDecade(); - * ``` - * - * @return static - */ - public function endOfDecade() - { - $year = $this->year - $this->year % static::YEARS_PER_DECADE + static::YEARS_PER_DECADE - 1; - - return $this->setDate($year, 12, 31)->endOfDay(); - } - - /** - * Resets the date to the first day of the century and the time to 00:00:00 - * - * @example - * ``` - * echo Carbon::parse('2018-07-25 12:45:16')->startOfCentury(); - * ``` - * - * @return static - */ - public function startOfCentury() - { - $year = $this->year - ($this->year - 1) % static::YEARS_PER_CENTURY; - - return $this->setDate($year, 1, 1)->startOfDay(); - } - - /** - * Resets the date to end of the century and time to 23:59:59.999999 - * - * @example - * ``` - * echo Carbon::parse('2018-07-25 12:45:16')->endOfCentury(); - * ``` - * - * @return static - */ - public function endOfCentury() - { - $year = $this->year - 1 - ($this->year - 1) % static::YEARS_PER_CENTURY + static::YEARS_PER_CENTURY; - - return $this->setDate($year, 12, 31)->endOfDay(); - } - - /** - * Resets the date to the first day of the century and the time to 00:00:00 - * - * @example - * ``` - * echo Carbon::parse('2018-07-25 12:45:16')->startOfMillennium(); - * ``` - * - * @return static - */ - public function startOfMillennium() - { - $year = $this->year - ($this->year - 1) % static::YEARS_PER_MILLENNIUM; - - return $this->setDate($year, 1, 1)->startOfDay(); - } - - /** - * Resets the date to end of the century and time to 23:59:59.999999 - * - * @example - * ``` - * echo Carbon::parse('2018-07-25 12:45:16')->endOfMillennium(); - * ``` - * - * @return static - */ - public function endOfMillennium() - { - $year = $this->year - 1 - ($this->year - 1) % static::YEARS_PER_MILLENNIUM + static::YEARS_PER_MILLENNIUM; - - return $this->setDate($year, 12, 31)->endOfDay(); - } - - /** - * Resets the date to the first day of week (defined in $weekStartsAt) and the time to 00:00:00 - * - * @example - * ``` - * echo Carbon::parse('2018-07-25 12:45:16')->startOfWeek() . "\n"; - * echo Carbon::parse('2018-07-25 12:45:16')->locale('ar')->startOfWeek() . "\n"; - * echo Carbon::parse('2018-07-25 12:45:16')->startOfWeek(Carbon::SUNDAY) . "\n"; - * ``` - * - * @param int $weekStartsAt optional start allow you to specify the day of week to use to start the week - * - * @return static - */ - public function startOfWeek($weekStartsAt = null) - { - $date = $this; - while ($date->dayOfWeek !== ($weekStartsAt ?? $this->firstWeekDay)) { - $date = $date->subDay(); - } - - return $date->startOfDay(); - } - - /** - * Resets the date to end of week (defined in $weekEndsAt) and time to 23:59:59.999999 - * - * @example - * ``` - * echo Carbon::parse('2018-07-25 12:45:16')->endOfWeek() . "\n"; - * echo Carbon::parse('2018-07-25 12:45:16')->locale('ar')->endOfWeek() . "\n"; - * echo Carbon::parse('2018-07-25 12:45:16')->endOfWeek(Carbon::SATURDAY) . "\n"; - * ``` - * - * @param int $weekEndsAt optional start allow you to specify the day of week to use to end the week - * - * @return static - */ - public function endOfWeek($weekEndsAt = null) - { - $date = $this; - while ($date->dayOfWeek !== ($weekEndsAt ?? $this->lastWeekDay)) { - $date = $date->addDay(); - } - - return $date->endOfDay(); - } - - /** - * Modify to start of current hour, minutes and seconds become 0 - * - * @example - * ``` - * echo Carbon::parse('2018-07-25 12:45:16')->startOfHour(); - * ``` - * - * @return static - */ - public function startOfHour() - { - return $this->setTime($this->hour, 0, 0, 0); - } - - /** - * Modify to end of current hour, minutes and seconds become 59 - * - * @example - * ``` - * echo Carbon::parse('2018-07-25 12:45:16')->endOfHour(); - * ``` - * - * @return static - */ - public function endOfHour() - { - return $this->setTime($this->hour, static::MINUTES_PER_HOUR - 1, static::SECONDS_PER_MINUTE - 1, static::MICROSECONDS_PER_SECOND - 1); - } - - /** - * Modify to start of current minute, seconds become 0 - * - * @example - * ``` - * echo Carbon::parse('2018-07-25 12:45:16')->startOfMinute(); - * ``` - * - * @return static - */ - public function startOfMinute() - { - return $this->setTime($this->hour, $this->minute, 0, 0); - } - - /** - * Modify to end of current minute, seconds become 59 - * - * @example - * ``` - * echo Carbon::parse('2018-07-25 12:45:16')->endOfMinute(); - * ``` - * - * @return static - */ - public function endOfMinute() - { - return $this->setTime($this->hour, $this->minute, static::SECONDS_PER_MINUTE - 1, static::MICROSECONDS_PER_SECOND - 1); - } - - /** - * Modify to start of current second, microseconds become 0 - * - * @example - * ``` - * echo Carbon::parse('2018-07-25 12:45:16.334455') - * ->startOfSecond() - * ->format('H:i:s.u'); - * ``` - * - * @return static - */ - public function startOfSecond() - { - return $this->setTime($this->hour, $this->minute, $this->second, 0); - } - - /** - * Modify to end of current second, microseconds become 999999 - * - * @example - * ``` - * echo Carbon::parse('2018-07-25 12:45:16.334455') - * ->endOfSecond() - * ->format('H:i:s.u'); - * ``` - * - * @return static - */ - public function endOfSecond() - { - return $this->setTime($this->hour, $this->minute, $this->second, static::MICROSECONDS_PER_SECOND - 1); - } - - /** - * Modify to start of current given unit. - * - * @example - * ``` - * echo Carbon::parse('2018-07-25 12:45:16.334455') - * ->startOf('month') - * ->endOf('week', Carbon::FRIDAY); - * ``` - * - * @param string $unit - * @param array $params - * - * @return static - */ - public function startOf($unit, ...$params) - { - $ucfUnit = ucfirst(static::singularUnit($unit)); - $method = "startOf$ucfUnit"; - if (!method_exists($this, $method)) { - throw new InvalidArgumentException("Unknown unit '$unit'"); - } - - return $this->$method(...$params); - } - - /** - * Modify to end of current given unit. - * - * @example - * ``` - * echo Carbon::parse('2018-07-25 12:45:16.334455') - * ->startOf('month') - * ->endOf('week', Carbon::FRIDAY); - * ``` - * - * @param string $unit - * @param array $params - * - * @return static - */ - public function endOf($unit, ...$params) - { - $ucfUnit = ucfirst(static::singularUnit($unit)); - $method = "endOf$ucfUnit"; - if (!method_exists($this, $method)) { - throw new InvalidArgumentException("Unknown unit '$unit'"); - } - - return $this->$method(...$params); - } -} diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Traits/Cast.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Traits/Cast.php deleted file mode 100644 index bf20e42..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Traits/Cast.php +++ /dev/null @@ -1,34 +0,0 @@ -rawFormat('Y-m-d H:i:s.u'), $this->getTimezone()); - } - - throw new InvalidArgumentException("$className has not the instance() method needed to cast the date."); - } - - return $className::instance($this); - } -} diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Traits/Comparison.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Traits/Comparison.php deleted file mode 100644 index 6dd745f..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Traits/Comparison.php +++ /dev/null @@ -1,965 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace Carbon\Traits; - -use Carbon\CarbonInterface; -use Carbon\Exceptions\BadUnitException; -use InvalidArgumentException; - -/** - * Trait Comparison. - * - * Comparison utils and testers. All the following methods return booleans. - * nowWithSameTz - * - * Depends on the following methods: - * - * @method CarbonInterface resolveCarbon($date) - * @method CarbonInterface copy() - * @method CarbonInterface nowWithSameTz() - * @method static CarbonInterface yesterday($timezone = null) - * @method static CarbonInterface tomorrow($timezone = null) - */ -trait Comparison -{ - /** - * Determines if the instance is equal to another - * - * @example - * ``` - * Carbon::parse('2018-07-25 12:45:16')->eq('2018-07-25 12:45:16'); // true - * Carbon::parse('2018-07-25 12:45:16')->eq(Carbon::parse('2018-07-25 12:45:16')); // true - * Carbon::parse('2018-07-25 12:45:16')->eq('2018-07-25 12:45:17'); // false - * ``` - * - * @param \Carbon\Carbon|\DateTimeInterface|mixed $date - * - * @see equalTo() - * - * @return bool - */ - public function eq($date): bool - { - return $this->equalTo($date); - } - - /** - * Determines if the instance is equal to another - * - * @example - * ``` - * Carbon::parse('2018-07-25 12:45:16')->equalTo('2018-07-25 12:45:16'); // true - * Carbon::parse('2018-07-25 12:45:16')->equalTo(Carbon::parse('2018-07-25 12:45:16')); // true - * Carbon::parse('2018-07-25 12:45:16')->equalTo('2018-07-25 12:45:17'); // false - * ``` - * - * @param \Carbon\Carbon|\DateTimeInterface|mixed $date - * - * @return bool - */ - public function equalTo($date): bool - { - return $this == $date; - } - - /** - * Determines if the instance is not equal to another - * - * @example - * ``` - * Carbon::parse('2018-07-25 12:45:16')->ne('2018-07-25 12:45:16'); // false - * Carbon::parse('2018-07-25 12:45:16')->ne(Carbon::parse('2018-07-25 12:45:16')); // false - * Carbon::parse('2018-07-25 12:45:16')->ne('2018-07-25 12:45:17'); // true - * ``` - * - * @param \Carbon\Carbon|\DateTimeInterface|mixed $date - * - * @see notEqualTo() - * - * @return bool - */ - public function ne($date): bool - { - return $this->notEqualTo($date); - } - - /** - * Determines if the instance is not equal to another - * - * @example - * ``` - * Carbon::parse('2018-07-25 12:45:16')->notEqualTo('2018-07-25 12:45:16'); // false - * Carbon::parse('2018-07-25 12:45:16')->notEqualTo(Carbon::parse('2018-07-25 12:45:16')); // false - * Carbon::parse('2018-07-25 12:45:16')->notEqualTo('2018-07-25 12:45:17'); // true - * ``` - * - * @param \Carbon\Carbon|\DateTimeInterface|mixed $date - * - * @return bool - */ - public function notEqualTo($date): bool - { - return !$this->equalTo($date); - } - - /** - * Determines if the instance is greater (after) than another - * - * @example - * ``` - * Carbon::parse('2018-07-25 12:45:16')->gt('2018-07-25 12:45:15'); // true - * Carbon::parse('2018-07-25 12:45:16')->gt('2018-07-25 12:45:16'); // false - * Carbon::parse('2018-07-25 12:45:16')->gt('2018-07-25 12:45:17'); // false - * ``` - * - * @param \Carbon\Carbon|\DateTimeInterface|mixed $date - * - * @see greaterThan() - * - * @return bool - */ - public function gt($date): bool - { - return $this->greaterThan($date); - } - - /** - * Determines if the instance is greater (after) than another - * - * @example - * ``` - * Carbon::parse('2018-07-25 12:45:16')->greaterThan('2018-07-25 12:45:15'); // true - * Carbon::parse('2018-07-25 12:45:16')->greaterThan('2018-07-25 12:45:16'); // false - * Carbon::parse('2018-07-25 12:45:16')->greaterThan('2018-07-25 12:45:17'); // false - * ``` - * - * @param \Carbon\Carbon|\DateTimeInterface|mixed $date - * - * @return bool - */ - public function greaterThan($date): bool - { - return $this > $date; - } - - /** - * Determines if the instance is greater (after) than another - * - * @example - * ``` - * Carbon::parse('2018-07-25 12:45:16')->isAfter('2018-07-25 12:45:15'); // true - * Carbon::parse('2018-07-25 12:45:16')->isAfter('2018-07-25 12:45:16'); // false - * Carbon::parse('2018-07-25 12:45:16')->isAfter('2018-07-25 12:45:17'); // false - * ``` - * - * @param \Carbon\Carbon|\DateTimeInterface|mixed $date - * - * @see greaterThan() - * - * @return bool - */ - public function isAfter($date): bool - { - return $this->greaterThan($date); - } - - /** - * Determines if the instance is greater (after) than or equal to another - * - * @example - * ``` - * Carbon::parse('2018-07-25 12:45:16')->gte('2018-07-25 12:45:15'); // true - * Carbon::parse('2018-07-25 12:45:16')->gte('2018-07-25 12:45:16'); // true - * Carbon::parse('2018-07-25 12:45:16')->gte('2018-07-25 12:45:17'); // false - * ``` - * - * @param \Carbon\Carbon|\DateTimeInterface|mixed $date - * - * @see greaterThanOrEqualTo() - * - * @return bool - */ - public function gte($date): bool - { - return $this->greaterThanOrEqualTo($date); - } - - /** - * Determines if the instance is greater (after) than or equal to another - * - * @example - * ``` - * Carbon::parse('2018-07-25 12:45:16')->greaterThanOrEqualTo('2018-07-25 12:45:15'); // true - * Carbon::parse('2018-07-25 12:45:16')->greaterThanOrEqualTo('2018-07-25 12:45:16'); // true - * Carbon::parse('2018-07-25 12:45:16')->greaterThanOrEqualTo('2018-07-25 12:45:17'); // false - * ``` - * - * @param \Carbon\Carbon|\DateTimeInterface|mixed $date - * - * @return bool - */ - public function greaterThanOrEqualTo($date): bool - { - return $this >= $date; - } - - /** - * Determines if the instance is less (before) than another - * - * @example - * ``` - * Carbon::parse('2018-07-25 12:45:16')->lt('2018-07-25 12:45:15'); // false - * Carbon::parse('2018-07-25 12:45:16')->lt('2018-07-25 12:45:16'); // false - * Carbon::parse('2018-07-25 12:45:16')->lt('2018-07-25 12:45:17'); // true - * ``` - * - * @param \Carbon\Carbon|\DateTimeInterface|mixed $date - * - * @see lessThan() - * - * @return bool - */ - public function lt($date): bool - { - return $this->lessThan($date); - } - - /** - * Determines if the instance is less (before) than another - * - * @example - * ``` - * Carbon::parse('2018-07-25 12:45:16')->lessThan('2018-07-25 12:45:15'); // false - * Carbon::parse('2018-07-25 12:45:16')->lessThan('2018-07-25 12:45:16'); // false - * Carbon::parse('2018-07-25 12:45:16')->lessThan('2018-07-25 12:45:17'); // true - * ``` - * - * @param \Carbon\Carbon|\DateTimeInterface|mixed $date - * - * @return bool - */ - public function lessThan($date): bool - { - return $this < $date; - } - - /** - * Determines if the instance is less (before) than another - * - * @example - * ``` - * Carbon::parse('2018-07-25 12:45:16')->isBefore('2018-07-25 12:45:15'); // false - * Carbon::parse('2018-07-25 12:45:16')->isBefore('2018-07-25 12:45:16'); // false - * Carbon::parse('2018-07-25 12:45:16')->isBefore('2018-07-25 12:45:17'); // true - * ``` - * - * @param \Carbon\Carbon|\DateTimeInterface|mixed $date - * - * @see lessThan() - * - * @return bool - */ - public function isBefore($date): bool - { - return $this->lessThan($date); - } - - /** - * Determines if the instance is less (before) or equal to another - * - * @example - * ``` - * Carbon::parse('2018-07-25 12:45:16')->lte('2018-07-25 12:45:15'); // false - * Carbon::parse('2018-07-25 12:45:16')->lte('2018-07-25 12:45:16'); // true - * Carbon::parse('2018-07-25 12:45:16')->lte('2018-07-25 12:45:17'); // true - * ``` - * - * @param \Carbon\Carbon|\DateTimeInterface|mixed $date - * - * @see lessThanOrEqualTo() - * - * @return bool - */ - public function lte($date): bool - { - return $this->lessThanOrEqualTo($date); - } - - /** - * Determines if the instance is less (before) or equal to another - * - * @example - * ``` - * Carbon::parse('2018-07-25 12:45:16')->lessThanOrEqualTo('2018-07-25 12:45:15'); // false - * Carbon::parse('2018-07-25 12:45:16')->lessThanOrEqualTo('2018-07-25 12:45:16'); // true - * Carbon::parse('2018-07-25 12:45:16')->lessThanOrEqualTo('2018-07-25 12:45:17'); // true - * ``` - * - * @param \Carbon\Carbon|\DateTimeInterface|mixed $date - * - * @return bool - */ - public function lessThanOrEqualTo($date): bool - { - return $this <= $date; - } - - /** - * Determines if the instance is between two others. - * - * @example - * ``` - * Carbon::parse('2018-07-25')->between('2018-07-14', '2018-08-01'); // true - * Carbon::parse('2018-07-25')->between('2018-08-01', '2018-08-20'); // false - * Carbon::parse('2018-07-25')->between('2018-07-25', '2018-08-01'); // false - * Carbon::parse('2018-07-25')->between('2018-07-25', '2018-08-01', true); // true - * ``` - * - * @param \Carbon\Carbon|\DateTimeInterface|mixed $date1 - * @param \Carbon\Carbon|\DateTimeInterface|mixed $date2 - * @param bool $equal Indicates if an equal to comparison should be done - * - * @return bool - */ - public function between($date1, $date2, $equal = true): bool - { - $date1 = $this->resolveCarbon($date1); - $date2 = $this->resolveCarbon($date2); - - if ($date1->greaterThan($date2)) { - [$date1, $date2] = [$date2, $date1]; - } - - if ($equal) { - return $this->greaterThanOrEqualTo($date1) && $this->lessThanOrEqualTo($date2); - } - - return $this->greaterThan($date1) && $this->lessThan($date2); - } - - /** - * Determines if the instance is between two others, bounds excluded. - * - * @example - * ``` - * Carbon::parse('2018-07-25')->betweenExcluded('2018-07-14', '2018-08-01'); // true - * Carbon::parse('2018-07-25')->betweenExcluded('2018-08-01', '2018-08-20'); // false - * Carbon::parse('2018-07-25')->betweenExcluded('2018-07-25', '2018-08-01'); // false - * ``` - * - * @param \Carbon\Carbon|\DateTimeInterface|mixed $date1 - * @param \Carbon\Carbon|\DateTimeInterface|mixed $date2 - * - * @return bool - */ - public function betweenExcluded($date1, $date2): bool - { - return $this->between($date1, $date2, false); - } - - /** - * Determines if the instance is between two others - * - * @example - * ``` - * Carbon::parse('2018-07-25')->isBetween('2018-07-14', '2018-08-01'); // true - * Carbon::parse('2018-07-25')->isBetween('2018-08-01', '2018-08-20'); // false - * Carbon::parse('2018-07-25')->isBetween('2018-07-25', '2018-08-01'); // false - * Carbon::parse('2018-07-25')->isBetween('2018-07-25', '2018-08-01', true); // true - * ``` - * - * @param \Carbon\Carbon|\DateTimeInterface|mixed $date1 - * @param \Carbon\Carbon|\DateTimeInterface|mixed $date2 - * @param bool $equal Indicates if an equal to comparison should be done - * - * @return bool - */ - public function isBetween($date1, $date2, $equal = true): bool - { - return $this->between($date1, $date2, $equal); - } - - /** - * Determines if the instance is a weekday. - * - * @example - * ``` - * Carbon::parse('2019-07-14')->isWeekday(); // false - * Carbon::parse('2019-07-15')->isWeekday(); // true - * ``` - * - * @return bool - */ - public function isWeekday() - { - return !$this->isWeekend(); - } - - /** - * Determines if the instance is a weekend day. - * - * @example - * ``` - * Carbon::parse('2019-07-14')->isWeekend(); // true - * Carbon::parse('2019-07-15')->isWeekend(); // false - * ``` - * - * @return bool - */ - public function isWeekend() - { - return in_array($this->dayOfWeek, static::$weekendDays); - } - - /** - * Determines if the instance is yesterday. - * - * @example - * ``` - * Carbon::yesterday()->isYesterday(); // true - * Carbon::tomorrow()->isYesterday(); // false - * ``` - * - * @return bool - */ - public function isYesterday() - { - return $this->toDateString() === static::yesterday($this->getTimezone())->toDateString(); - } - - /** - * Determines if the instance is today. - * - * @example - * ``` - * Carbon::today()->isToday(); // true - * Carbon::tomorrow()->isToday(); // false - * ``` - * - * @return bool - */ - public function isToday() - { - return $this->toDateString() === $this->nowWithSameTz()->toDateString(); - } - - /** - * Determines if the instance is tomorrow. - * - * @example - * ``` - * Carbon::tomorrow()->isTomorrow(); // true - * Carbon::yesterday()->isTomorrow(); // false - * ``` - * - * @return bool - */ - public function isTomorrow() - { - return $this->toDateString() === static::tomorrow($this->getTimezone())->toDateString(); - } - - /** - * Determines if the instance is in the future, ie. greater (after) than now. - * - * @example - * ``` - * Carbon::now()->addHours(5)->isFuture(); // true - * Carbon::now()->subHours(5)->isFuture(); // false - * ``` - * - * @return bool - */ - public function isFuture() - { - return $this->greaterThan($this->nowWithSameTz()); - } - - /** - * Determines if the instance is in the past, ie. less (before) than now. - * - * @example - * ``` - * Carbon::now()->subHours(5)->isPast(); // true - * Carbon::now()->addHours(5)->isPast(); // false - * ``` - * - * @return bool - */ - public function isPast() - { - return $this->lessThan($this->nowWithSameTz()); - } - - /** - * Determines if the instance is a leap year. - * - * @example - * ``` - * Carbon::parse('2020-01-01')->isLeapYear(); // true - * Carbon::parse('2019-01-01')->isLeapYear(); // false - * ``` - * - * @return bool - */ - public function isLeapYear() - { - return $this->rawFormat('L') === '1'; - } - - /** - * Determines if the instance is a long year - * - * @example - * ``` - * Carbon::parse('2015-01-01')->isLongYear(); // true - * Carbon::parse('2016-01-01')->isLongYear(); // false - * ``` - * - * @see https://en.wikipedia.org/wiki/ISO_8601#Week_dates - * - * @return bool - */ - public function isLongYear() - { - return static::create($this->year, 12, 28, 0, 0, 0, $this->tz)->weekOfYear === 53; - } - - /** - * Compares the formatted values of the two dates. - * - * @example - * ``` - * Carbon::parse('2019-06-13')->isSameAs('Y-d', Carbon::parse('2019-12-13')); // true - * Carbon::parse('2019-06-13')->isSameAs('Y-d', Carbon::parse('2019-06-14')); // false - * ``` - * - * @param string $format date formats to compare. - * @param \Carbon\Carbon|\DateTimeInterface|string|null $date instance to compare with or null to use current day. - * - * @throws \InvalidArgumentException - * - * @return bool - */ - public function isSameAs($format, $date = null) - { - return $this->rawFormat($format) === $this->resolveCarbon($date)->rawFormat($format); - } - - /** - * Determines if the instance is in the current unit given. - * - * @example - * ``` - * Carbon::parse('2019-01-13')->isSameUnit('year', Carbon::parse('2019-12-25')); // true - * Carbon::parse('2018-12-13')->isSameUnit('year', Carbon::parse('2019-12-25')); // false - * ``` - * - * @param string $unit singular unit string - * @param \Carbon\Carbon|\DateTimeInterface|null $date instance to compare with or null to use current day. - * - * @throws \InvalidArgumentException - * - * @return bool - */ - public function isSameUnit($unit, $date = null) - { - $units = [ - // @call isSameUnit - 'year' => 'Y', - // @call isSameUnit - 'week' => 'o-W', - // @call isSameUnit - 'day' => 'Y-m-d', - // @call isSameUnit - 'hour' => 'Y-m-d H', - // @call isSameUnit - 'minute' => 'Y-m-d H:i', - // @call isSameUnit - 'second' => 'Y-m-d H:i:s', - // @call isSameUnit - 'micro' => 'Y-m-d H:i:s.u', - // @call isSameUnit - 'microsecond' => 'Y-m-d H:i:s.u', - ]; - - if (!isset($units[$unit])) { - if (isset($this->$unit)) { - return $this->$unit === $this->resolveCarbon($date)->$unit; - } - - if ($this->localStrictModeEnabled ?? static::isStrictModeEnabled()) { - throw new BadUnitException($unit); - } - - return false; - } - - return $this->isSameAs($units[$unit], $date); - } - - /** - * Determines if the instance is in the current unit given. - * - * @example - * ``` - * Carbon::now()->isCurrentUnit('hour'); // true - * Carbon::now()->subHours(2)->isCurrentUnit('hour'); // false - * ``` - * - * @param string $unit The unit to test. - * - * @throws \BadMethodCallException - * - * @return bool - */ - public function isCurrentUnit($unit) - { - return $this->{'isSame'.ucfirst($unit)}(); - } - - /** - * Checks if the passed in date is in the same quarter as the instance quarter (and year if needed). - * - * @example - * ``` - * Carbon::parse('2019-01-12')->isSameQuarter(Carbon::parse('2019-03-01')); // true - * Carbon::parse('2019-01-12')->isSameQuarter(Carbon::parse('2019-04-01')); // false - * Carbon::parse('2019-01-12')->isSameQuarter(Carbon::parse('2018-03-01')); // false - * Carbon::parse('2019-01-12')->isSameQuarter(Carbon::parse('2018-03-01'), false); // true - * ``` - * - * @param \Carbon\Carbon|\DateTimeInterface|string|null $date The instance to compare with or null to use current day. - * @param bool $ofSameYear Check if it is the same month in the same year. - * - * @return bool - */ - public function isSameQuarter($date = null, $ofSameYear = true) - { - $date = $this->resolveCarbon($date); - - return $this->quarter === $date->quarter && (!$ofSameYear || $this->isSameYear($date)); - } - - /** - * Checks if the passed in date is in the same month as the instance´s month. - * - * @example - * ``` - * Carbon::parse('2019-01-12')->isSameMonth(Carbon::parse('2019-01-01')); // true - * Carbon::parse('2019-01-12')->isSameMonth(Carbon::parse('2019-02-01')); // false - * Carbon::parse('2019-01-12')->isSameMonth(Carbon::parse('2018-01-01')); // false - * Carbon::parse('2019-01-12')->isSameMonth(Carbon::parse('2018-01-01'), false); // true - * ``` - * - * @param \Carbon\Carbon|\DateTimeInterface|null $date The instance to compare with or null to use the current date. - * @param bool $ofSameYear Check if it is the same month in the same year. - * - * @return bool - */ - public function isSameMonth($date = null, $ofSameYear = true) - { - return $this->isSameAs($ofSameYear ? 'Y-m' : 'm', $date); - } - - /** - * Checks if this day is a specific day of the week. - * - * @example - * ``` - * Carbon::parse('2019-07-17')->isDayOfWeek(Carbon::WEDNESDAY); // true - * Carbon::parse('2019-07-17')->isDayOfWeek(Carbon::FRIDAY); // false - * Carbon::parse('2019-07-17')->isDayOfWeek('Wednesday'); // true - * Carbon::parse('2019-07-17')->isDayOfWeek('Friday'); // false - * ``` - * - * @param int $dayOfWeek - * - * @return bool - */ - public function isDayOfWeek($dayOfWeek) - { - if (is_string($dayOfWeek) && defined($constant = static::class.'::'.strtoupper($dayOfWeek))) { - $dayOfWeek = constant($constant); - } - - return $this->dayOfWeek === $dayOfWeek; - } - - /** - * Check if its the birthday. Compares the date/month values of the two dates. - * - * @example - * ``` - * Carbon::now()->subYears(5)->isBirthday(); // true - * Carbon::now()->subYears(5)->subDay()->isBirthday(); // false - * Carbon::parse('2019-06-05')->isBirthday(Carbon::parse('2001-06-05')); // true - * Carbon::parse('2019-06-05')->isBirthday(Carbon::parse('2001-06-06')); // false - * ``` - * - * @param \Carbon\Carbon|\DateTimeInterface|null $date The instance to compare with or null to use current day. - * - * @return bool - */ - public function isBirthday($date = null) - { - return $this->isSameAs('md', $date); - } - - /** - * Check if today is the last day of the Month - * - * @example - * ``` - * Carbon::parse('2019-02-28')->isLastOfMonth(); // true - * Carbon::parse('2019-03-28')->isLastOfMonth(); // false - * Carbon::parse('2019-03-30')->isLastOfMonth(); // false - * Carbon::parse('2019-03-31')->isLastOfMonth(); // true - * Carbon::parse('2019-04-30')->isLastOfMonth(); // true - * ``` - * - * @return bool - */ - public function isLastOfMonth() - { - return $this->day === $this->daysInMonth; - } - - /** - * Check if the instance is start of day / midnight. - * - * @example - * ``` - * Carbon::parse('2019-02-28 00:00:00')->isStartOfDay(); // true - * Carbon::parse('2019-02-28 00:00:00.999999')->isStartOfDay(); // true - * Carbon::parse('2019-02-28 00:00:01')->isStartOfDay(); // false - * Carbon::parse('2019-02-28 00:00:00.000000')->isStartOfDay(true); // true - * Carbon::parse('2019-02-28 00:00:00.000012')->isStartOfDay(true); // false - * ``` - * - * @param bool $checkMicroseconds check time at microseconds precision - * - * @return bool - */ - public function isStartOfDay($checkMicroseconds = false) - { - /* @var CarbonInterface $this */ - return $checkMicroseconds - ? $this->rawFormat('H:i:s.u') === '00:00:00.000000' - : $this->rawFormat('H:i:s') === '00:00:00'; - } - - /** - * Check if the instance is end of day. - * - * @example - * ``` - * Carbon::parse('2019-02-28 23:59:59.999999')->isEndOfDay(); // true - * Carbon::parse('2019-02-28 23:59:59.123456')->isEndOfDay(); // true - * Carbon::parse('2019-02-28 23:59:59')->isEndOfDay(); // true - * Carbon::parse('2019-02-28 23:59:58.999999')->isEndOfDay(); // false - * Carbon::parse('2019-02-28 23:59:59.999999')->isEndOfDay(true); // true - * Carbon::parse('2019-02-28 23:59:59.123456')->isEndOfDay(true); // false - * Carbon::parse('2019-02-28 23:59:59')->isEndOfDay(true); // false - * ``` - * - * @param bool $checkMicroseconds check time at microseconds precision - * - * @return bool - */ - public function isEndOfDay($checkMicroseconds = false) - { - /* @var CarbonInterface $this */ - return $checkMicroseconds - ? $this->rawFormat('H:i:s.u') === '23:59:59.999999' - : $this->rawFormat('H:i:s') === '23:59:59'; - } - - /** - * Check if the instance is start of day / midnight. - * - * @example - * ``` - * Carbon::parse('2019-02-28 00:00:00')->isMidnight(); // true - * Carbon::parse('2019-02-28 00:00:00.999999')->isMidnight(); // true - * Carbon::parse('2019-02-28 00:00:01')->isMidnight(); // false - * ``` - * - * @return bool - */ - public function isMidnight() - { - return $this->isStartOfDay(); - } - - /** - * Check if the instance is midday. - * - * @example - * ``` - * Carbon::parse('2019-02-28 11:59:59.999999')->isMidday(); // false - * Carbon::parse('2019-02-28 12:00:00')->isMidday(); // true - * Carbon::parse('2019-02-28 12:00:00.999999')->isMidday(); // true - * Carbon::parse('2019-02-28 12:00:01')->isMidday(); // false - * ``` - * - * @return bool - */ - public function isMidday() - { - /* @var CarbonInterface $this */ - return $this->rawFormat('G:i:s') === static::$midDayAt.':00:00'; - } - - /** - * Checks if the (date)time string is in a given format. - * - * @example - * ``` - * Carbon::hasFormat('11:12:45', 'h:i:s'); // true - * Carbon::hasFormat('13:12:45', 'h:i:s'); // false - * ``` - * - * @SuppressWarnings(PHPMD.EmptyCatchBlock) - * - * @param string $date - * @param string $format - * - * @return bool - */ - public static function hasFormat($date, $format) - { - try { - // Try to create a DateTime object. Throws an InvalidArgumentException if the provided time string - // doesn't match the format in any way. - static::rawCreateFromFormat($format, $date); - - // createFromFormat() is known to handle edge cases silently. - // E.g. "1975-5-1" (Y-n-j) will still be parsed correctly when "Y-m-d" is supplied as the format. - // To ensure we're really testing against our desired format, perform an additional regex validation. - - // Preg quote, but remove escaped backslashes since we'll deal with escaped characters in the format string. - $quotedFormat = str_replace('\\\\', '\\', preg_quote($format, '/')); - - // Build the regex string - $regex = ''; - - for ($i = 0; $i < strlen($quotedFormat); ++$i) { - // Backslash – the next character does not represent a date token so add it on as-is and continue. - // We're doing an extra ++$i here to increment the loop by 2. - if ($quotedFormat[$i] === '\\') { - $char = $quotedFormat[++$i]; - $regex .= $char === '\\' ? '\\\\' : $char; - - continue; - } - - $regex .= strtr($quotedFormat[$i], static::$regexFormats); - } - - return (bool) preg_match('/^'.str_replace('/', '\\/', $regex).'$/', $date); - } catch (InvalidArgumentException $e) { - } - - return false; - } - - /** - * Returns true if the current date matches the given string. - * - * @example - * ``` - * var_dump(Carbon::parse('2019-06-02 12:23:45')->is('2019')); // true - * var_dump(Carbon::parse('2019-06-02 12:23:45')->is('2018')); // false - * var_dump(Carbon::parse('2019-06-02 12:23:45')->is('2019-06')); // true - * var_dump(Carbon::parse('2019-06-02 12:23:45')->is('06-02')); // true - * var_dump(Carbon::parse('2019-06-02 12:23:45')->is('2019-06-02')); // true - * var_dump(Carbon::parse('2019-06-02 12:23:45')->is('Sunday')); // true - * var_dump(Carbon::parse('2019-06-02 12:23:45')->is('June')); // true - * var_dump(Carbon::parse('2019-06-02 12:23:45')->is('12:23')); // true - * var_dump(Carbon::parse('2019-06-02 12:23:45')->is('12:23:45')); // true - * var_dump(Carbon::parse('2019-06-02 12:23:45')->is('12:23:00')); // false - * var_dump(Carbon::parse('2019-06-02 12:23:45')->is('12h')); // true - * var_dump(Carbon::parse('2019-06-02 15:23:45')->is('3pm')); // true - * var_dump(Carbon::parse('2019-06-02 15:23:45')->is('3am')); // false - * ``` - * - * @param string $tester day name, month name, hour, date, etc. as string - * - * @return bool - */ - public function is(string $tester) - { - $tester = trim($tester); - - if (preg_match('/^\d+$/', $tester)) { - return $this->year === intval($tester); - } - - if (preg_match('/^\d{3,}-\d{1,2}$/', $tester)) { - return $this->isSameMonth(static::parse($tester)); - } - - if (preg_match('/^\d{1,2}-\d{1,2}$/', $tester)) { - return $this->isSameDay(static::parse($this->year.'-'.$tester)); - } - - $modifier = preg_replace('/(\d)h$/i', '$1:00', $tester); - - /* @var CarbonInterface $max */ - $median = static::parse('5555-06-15 12:30:30.555555')->modify($modifier); - $current = $this->copy(); - /* @var CarbonInterface $other */ - $other = $this->copy()->modify($modifier); - - if ($current->eq($other)) { - return true; - } - - if (preg_match('/\d:\d{1,2}:\d{1,2}$/', $tester)) { - return $current->startOfSecond()->eq($other); - } - - if (preg_match('/\d:\d{1,2}$/', $tester)) { - return $current->startOfMinute()->eq($other); - } - - if (preg_match('/\d(h|am|pm)$/', $tester)) { - return $current->startOfHour()->eq($other); - } - - if (preg_match( - '/^(january|february|march|april|may|june|july|august|september|october|november|december)\s+\d+$/i', - $tester - )) { - return $current->startOfMonth()->eq($other->startOfMonth()); - } - - $units = [ - 'month' => [1, 'year'], - 'day' => [1, 'month'], - 'hour' => [0, 'day'], - 'minute' => [0, 'hour'], - 'second' => [0, 'minute'], - 'microsecond' => [0, 'second'], - ]; - - foreach ($units as $unit => [$minimum, $startUnit]) { - if ($median->$unit === $minimum) { - $current = $current->startOf($startUnit); - - break; - } - } - - return $current->eq($other); - } -} diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Traits/Converter.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Traits/Converter.php deleted file mode 100644 index ea0d43c..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Traits/Converter.php +++ /dev/null @@ -1,640 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace Carbon\Traits; - -use Carbon\Carbon; -use Carbon\CarbonImmutable; -use Carbon\CarbonInterface; -use Carbon\CarbonInterval; -use Carbon\CarbonPeriod; -use Closure; -use DateTime; -use DateTimeImmutable; -use InvalidArgumentException; - -/** - * Trait Converter. - * - * Change date into different string formats and types and - * handle the string cast. - * - * Depends on the following methods: - * - * @method Carbon|CarbonImmutable copy() - */ -trait Converter -{ - /** - * Format to use for __toString method when type juggling occurs. - * - * @var string|Closure|null - */ - protected static $toStringFormat = null; - - /** - * Reset the format used to the default when type juggling a Carbon instance to a string - * - * @return void - */ - public static function resetToStringFormat() - { - static::setToStringFormat(null); - } - - /** - * @deprecated To avoid conflict between different third-party libraries, static setters should not be used. - * You should rather let Carbon object being casted to string with DEFAULT_TO_STRING_FORMAT, and - * use other method or custom format passed to format() method if you need to dump an other string - * format. - * - * Set the default format used when type juggling a Carbon instance to a string - * - * @param string|Closure|null $format - * - * @return void - */ - public static function setToStringFormat($format) - { - static::$toStringFormat = $format; - } - - /** - * Returns the formatted date string on success or FALSE on failure. - * - * @see https://php.net/manual/en/datetime.format.php - * - * @param string $format - * - * @return string - */ - public function format($format) - { - $function = $this->localFormatFunction ?: static::$formatFunction; - - if (!$function) { - return $this->rawFormat($format); - } - - if (is_string($function) && method_exists($this, $function)) { - $function = [$this, $function]; - } - - return $function(...func_get_args()); - } - - /** - * @see https://php.net/manual/en/datetime.format.php - * - * @param string $format - * - * @return string - */ - public function rawFormat($format) - { - return parent::format($format); - } - - /** - * Format the instance as a string using the set format - * - * @example - * ``` - * echo Carbon::now(); // Carbon instances can be casted to string - * ``` - * - * @return string - */ - public function __toString() - { - $format = $this->localToStringFormat ?? static::$toStringFormat; - - return $format instanceof Closure - ? $format($this) - : $this->rawFormat($format ?: ( - defined('static::DEFAULT_TO_STRING_FORMAT') - ? static::DEFAULT_TO_STRING_FORMAT - : CarbonInterface::DEFAULT_TO_STRING_FORMAT - )); - } - - /** - * Format the instance as date - * - * @example - * ``` - * echo Carbon::now()->toDateString(); - * ``` - * - * @return string - */ - public function toDateString() - { - return $this->rawFormat('Y-m-d'); - } - - /** - * Format the instance as a readable date - * - * @example - * ``` - * echo Carbon::now()->toFormattedDateString(); - * ``` - * - * @return string - */ - public function toFormattedDateString() - { - return $this->rawFormat('M j, Y'); - } - - /** - * Format the instance as time - * - * @example - * ``` - * echo Carbon::now()->toTimeString(); - * ``` - * - * @param string $unitPrecision - * - * @return string - */ - public function toTimeString($unitPrecision = 'second') - { - return $this->rawFormat(static::getTimeFormatByPrecision($unitPrecision)); - } - - /** - * Format the instance as date and time - * - * @example - * ``` - * echo Carbon::now()->toDateTimeString(); - * ``` - * - * @param string $unitPrecision - * - * @return string - */ - public function toDateTimeString($unitPrecision = 'second') - { - return $this->rawFormat('Y-m-d '.static::getTimeFormatByPrecision($unitPrecision)); - } - - /** - * Return a format from H:i to H:i:s.u according to given unit precision. - * - * @param string $unitPrecision "minute", "second", "millisecond" or "microsecond" - * - * @return string - */ - public static function getTimeFormatByPrecision($unitPrecision) - { - switch (static::singularUnit($unitPrecision)) { - case 'minute': - return 'H:i'; - case 'second': - return 'H:i:s'; - case 'm': - case 'millisecond': - return 'H:i:s.v'; - case 'µ': - case 'microsecond': - return 'H:i:s.u'; - } - - throw new InvalidArgumentException('Precision unit expected among: minute, second, millisecond and microsecond.'); - } - - /** - * Format the instance as date and time T-separated with no timezone - * - * @example - * ``` - * echo Carbon::now()->toDateTimeLocalString(); - * echo "\n"; - * echo Carbon::now()->toDateTimeLocalString('minute'); // You can specify precision among: minute, second, millisecond and microsecond - * ``` - * - * @param string $unitPrecision - * - * @return string - */ - public function toDateTimeLocalString($unitPrecision = 'second') - { - return $this->rawFormat('Y-m-d\T'.static::getTimeFormatByPrecision($unitPrecision)); - } - - /** - * Format the instance with day, date and time - * - * @example - * ``` - * echo Carbon::now()->toDayDateTimeString(); - * ``` - * - * @return string - */ - public function toDayDateTimeString() - { - return $this->rawFormat('D, M j, Y g:i A'); - } - - /** - * Format the instance as ATOM - * - * @example - * ``` - * echo Carbon::now()->toAtomString(); - * ``` - * - * @return string - */ - public function toAtomString() - { - return $this->rawFormat(DateTime::ATOM); - } - - /** - * Format the instance as COOKIE - * - * @example - * ``` - * echo Carbon::now()->toCookieString(); - * ``` - * - * @return string - */ - public function toCookieString() - { - return $this->rawFormat(DateTime::COOKIE); - } - - /** - * Format the instance as ISO8601 - * - * @example - * ``` - * echo Carbon::now()->toIso8601String(); - * ``` - * - * @return string - */ - public function toIso8601String() - { - return $this->toAtomString(); - } - - /** - * Format the instance as RFC822 - * - * @example - * ``` - * echo Carbon::now()->toRfc822String(); - * ``` - * - * @return string - */ - public function toRfc822String() - { - return $this->rawFormat(DateTime::RFC822); - } - - /** - * Convert the instance to UTC and return as Zulu ISO8601 - * - * @example - * ``` - * echo Carbon::now()->toIso8601ZuluString(); - * ``` - * - * @param string $unitPrecision - * - * @return string - */ - public function toIso8601ZuluString($unitPrecision = 'second') - { - return $this->copy()->utc()->rawFormat('Y-m-d\T'.static::getTimeFormatByPrecision($unitPrecision).'\Z'); - } - - /** - * Format the instance as RFC850 - * - * @example - * ``` - * echo Carbon::now()->toRfc850String(); - * ``` - * - * @return string - */ - public function toRfc850String() - { - return $this->rawFormat(DateTime::RFC850); - } - - /** - * Format the instance as RFC1036 - * - * @example - * ``` - * echo Carbon::now()->toRfc1036String(); - * ``` - * - * @return string - */ - public function toRfc1036String() - { - return $this->rawFormat(DateTime::RFC1036); - } - - /** - * Format the instance as RFC1123 - * - * @example - * ``` - * echo Carbon::now()->toRfc1123String(); - * ``` - * - * @return string - */ - public function toRfc1123String() - { - return $this->rawFormat(DateTime::RFC1123); - } - - /** - * Format the instance as RFC2822 - * - * @example - * ``` - * echo Carbon::now()->toRfc2822String(); - * ``` - * - * @return string - */ - public function toRfc2822String() - { - return $this->rawFormat(DateTime::RFC2822); - } - - /** - * Format the instance as RFC3339 - * - * @example - * ``` - * echo Carbon::now()->toRfc3339String(); - * ``` - * - * @return string - */ - public function toRfc3339String() - { - return $this->rawFormat(DateTime::RFC3339); - } - - /** - * Format the instance as RSS - * - * @example - * ``` - * echo Carbon::now()->toRssString(); - * ``` - * - * @return string - */ - public function toRssString() - { - return $this->rawFormat(DateTime::RSS); - } - - /** - * Format the instance as W3C - * - * @example - * ``` - * echo Carbon::now()->toW3cString(); - * ``` - * - * @return string - */ - public function toW3cString() - { - return $this->rawFormat(DateTime::W3C); - } - - /** - * Format the instance as RFC7231 - * - * @example - * ``` - * echo Carbon::now()->toRfc7231String(); - * ``` - * - * @return string - */ - public function toRfc7231String() - { - return $this->copy() - ->setTimezone('GMT') - ->rawFormat(defined('static::RFC7231_FORMAT') ? static::RFC7231_FORMAT : CarbonInterface::RFC7231_FORMAT); - } - - /** - * Get default array representation. - * - * @example - * ``` - * var_dump(Carbon::now()->toArray()); - * ``` - * - * @return array - */ - public function toArray() - { - return [ - 'year' => $this->year, - 'month' => $this->month, - 'day' => $this->day, - 'dayOfWeek' => $this->dayOfWeek, - 'dayOfYear' => $this->dayOfYear, - 'hour' => $this->hour, - 'minute' => $this->minute, - 'second' => $this->second, - 'micro' => $this->micro, - 'timestamp' => $this->timestamp, - 'formatted' => $this->rawFormat(defined('static::DEFAULT_TO_STRING_FORMAT') ? static::DEFAULT_TO_STRING_FORMAT : CarbonInterface::DEFAULT_TO_STRING_FORMAT), - 'timezone' => $this->timezone, - ]; - } - - /** - * Get default object representation. - * - * @example - * ``` - * var_dump(Carbon::now()->toObject()); - * ``` - * - * @return object - */ - public function toObject() - { - return (object) $this->toArray(); - } - - /** - * Returns english human readable complete date string. - * - * @example - * ``` - * echo Carbon::now()->toString(); - * ``` - * - * @return string - */ - public function toString() - { - return $this->copy()->locale('en')->isoFormat('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ'); - } - - /** - * Return the ISO-8601 string (ex: 1977-04-22T06:00:00Z, if $keepOffset truthy, offset will be kept: - * 1977-04-22T01:00:00-05:00). - * - * @example - * ``` - * echo Carbon::now('America/Toronto')->toISOString() . "\n"; - * echo Carbon::now('America/Toronto')->toISOString(true) . "\n"; - * ``` - * - * @param bool $keepOffset Pass true to keep the date offset. Else forced to UTC. - * - * @return null|string - */ - public function toISOString($keepOffset = false) - { - if (!$this->isValid()) { - return null; - } - - $yearFormat = $this->year < 0 || $this->year > 9999 ? 'YYYYYY' : 'YYYY'; - $tzFormat = $keepOffset ? 'Z' : '[Z]'; - $date = $keepOffset ? $this : $this->copy()->utc(); - - return $date->isoFormat("$yearFormat-MM-DD[T]HH:mm:ss.SSSSSS$tzFormat"); - } - - /** - * Return the ISO-8601 string (ex: 1977-04-22T06:00:00Z) with UTC timezone. - * - * @example - * ``` - * echo Carbon::now('America/Toronto')->toJSON(); - * ``` - * - * @return null|string - */ - public function toJSON() - { - return $this->toISOString(); - } - - /** - * Return native DateTime PHP object matching the current instance. - * - * @example - * ``` - * var_dump(Carbon::now()->toDateTime()); - * ``` - * - * @return DateTime - */ - public function toDateTime() - { - return new DateTime($this->rawFormat('Y-m-d H:i:s.u'), $this->getTimezone()); - } - - /** - * Return native toDateTimeImmutable PHP object matching the current instance. - * - * @example - * ``` - * var_dump(Carbon::now()->toDateTimeImmutable()); - * ``` - * - * @return DateTimeImmutable - */ - public function toDateTimeImmutable() - { - return new DateTimeImmutable($this->rawFormat('Y-m-d H:i:s.u'), $this->getTimezone()); - } - - /** - * @alias toDateTime - * - * Return native DateTime PHP object matching the current instance. - * - * @example - * ``` - * var_dump(Carbon::now()->toDate()); - * ``` - * - * @return DateTime - */ - public function toDate() - { - return $this->toDateTime(); - } - - /** - * Create a iterable CarbonPeriod object from current date to a given end date (and optional interval). - * - * @param \DateTimeInterface|Carbon|CarbonImmutable|int|null $end period end date or recurrences count if int - * @param int|\DateInterval|string|null $interval period default interval or number of the given $unit - * @param string|null $unit if specified, $interval must be an integer - * - * @return CarbonPeriod - */ - public function toPeriod($end = null, $interval = null, $unit = null) - { - if ($unit) { - $interval = CarbonInterval::make("$interval ".static::pluralUnit($unit)); - } - - $period = (new CarbonPeriod())->setDateClass(static::class)->setStartDate($this); - - if ($interval) { - $period->setDateInterval($interval); - } - - if (is_int($end) || is_string($end) && ctype_digit($end)) { - $period->setRecurrences($end); - } elseif ($end) { - $period->setEndDate($end); - } - - return $period; - } - - /** - * Create a iterable CarbonPeriod object from current date to a given end date (and optional interval). - * - * @param \DateTimeInterface|Carbon|CarbonImmutable|null $end period end date - * @param int|\DateInterval|string|null $interval period default interval or number of the given $unit - * @param string|null $unit if specified, $interval must be an integer - * - * @return CarbonPeriod - */ - public function range($end = null, $interval = null, $unit = null) - { - return $this->toPeriod($end, $interval, $unit); - } -} diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Traits/Creator.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Traits/Creator.php deleted file mode 100644 index aeaa0dd..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Traits/Creator.php +++ /dev/null @@ -1,843 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace Carbon\Traits; - -use Carbon\Carbon; -use Carbon\CarbonImmutable; -use Carbon\CarbonInterface; -use Carbon\CarbonTimeZone; -use Carbon\Exceptions\InvalidDateException; -use Carbon\Translator; -use Closure; -use DateTimeInterface; -use Exception; -use InvalidArgumentException; - -/** - * Trait Creator. - * - * Static creators. - * - * Depends on the following methods: - * - * @method static Carbon|CarbonImmutable getTestNow() - */ -trait Creator -{ - /** - * The errors that can occur. - * - * @var array - */ - protected static $lastErrors; - - /** - * Create a new Carbon instance. - * - * Please see the testing aids section (specifically static::setTestNow()) - * for more on the possibility of this constructor returning a test instance. - * - * @param string|null $time - * @param \DateTimeZone|string|null $tz - */ - public function __construct($time = null, $tz = null) - { - if (is_int($time)) { - $time = "@$time"; - } - - $originalTz = $tz; - - // If the class has a test now set and we are trying to create a now() - // instance then override as required - $isNow = empty($time) || $time === 'now'; - - if (method_exists(static::class, 'hasTestNow') && - method_exists(static::class, 'getTestNow') && - static::hasTestNow() && - ($isNow || static::hasRelativeKeywords($time)) - ) { - static::mockConstructorParameters($time, $tz); - } - - /** @var CarbonTimeZone $timezone */ - $timezone = $this->autoDetectTimeZone($tz, $originalTz); - - // Work-around for PHP bug https://bugs.php.net/bug.php?id=67127 - if (strpos((string) .1, '.') === false) { - $locale = setlocale(LC_NUMERIC, '0'); - setlocale(LC_NUMERIC, 'C'); - } - - parent::__construct($time ?: 'now', $timezone); - - if (isset($locale)) { - setlocale(LC_NUMERIC, $locale); - } - - static::setLastErrors(parent::getLastErrors()); - } - - /** - * Create a Carbon instance from a DateTime one. - * - * @param \DateTimeInterface $date - * - * @return static - */ - public static function instance($date) - { - if ($date instanceof static) { - return clone $date; - } - - static::expectDateTime($date); - - $instance = new static($date->format('Y-m-d H:i:s.u'), $date->getTimezone()); - - if ($date instanceof CarbonInterface || $date instanceof Options) { - $instance->settings($date->getSettings()); - } - - return $instance; - } - - /** - * Create a carbon instance from a string. - * - * This is an alias for the constructor that allows better fluent syntax - * as it allows you to do Carbon::parse('Monday next week')->fn() rather - * than (new Carbon('Monday next week'))->fn(). - * - * @param string|null $time - * @param \DateTimeZone|string|null $tz - * - * @return static - */ - public static function rawParse($time = null, $tz = null) - { - if ($time instanceof DateTimeInterface) { - return static::instance($time); - } - - try { - return new static($time, $tz); - } catch (Exception $exception) { - try { - return static::now($tz)->change($time); - } catch (Exception $ignored) { - throw $exception; - } - } - } - - /** - * Create a carbon instance from a string. - * - * This is an alias for the constructor that allows better fluent syntax - * as it allows you to do Carbon::parse('Monday next week')->fn() rather - * than (new Carbon('Monday next week'))->fn(). - * - * @param string|null $time - * @param \DateTimeZone|string|null $tz - * - * @return static - */ - public static function parse($time = null, $tz = null) - { - $function = static::$parseFunction; - - if (!$function) { - return static::rawParse($time, $tz); - } - - if (is_string($function) && method_exists(static::class, $function)) { - $function = [static::class, $function]; - } - - return $function(...func_get_args()); - } - - /** - * Create a carbon instance from a localized string (in French, Japanese, Arabic, etc.). - * - * @param string $time - * @param string $locale - * @param \DateTimeZone|string|null $tz - * - * @return static - */ - public static function parseFromLocale($time, $locale, $tz = null) - { - return static::rawParse(static::translateTimeString($time, $locale, 'en'), $tz); - } - - /** - * Get a Carbon instance for the current date and time. - * - * @param \DateTimeZone|string|null $tz - * - * @return static - */ - public static function now($tz = null) - { - return new static(null, $tz); - } - - /** - * Create a Carbon instance for today. - * - * @param \DateTimeZone|string|null $tz - * - * @return static - */ - public static function today($tz = null) - { - return static::rawParse('today', $tz); - } - - /** - * Create a Carbon instance for tomorrow. - * - * @param \DateTimeZone|string|null $tz - * - * @return static - */ - public static function tomorrow($tz = null) - { - return static::rawParse('tomorrow', $tz); - } - - /** - * Create a Carbon instance for yesterday. - * - * @param \DateTimeZone|string|null $tz - * - * @return static - */ - public static function yesterday($tz = null) - { - return static::rawParse('yesterday', $tz); - } - - /** - * Create a Carbon instance for the greatest supported date. - * - * @return static - */ - public static function maxValue() - { - if (self::$PHPIntSize === 4) { - // 32 bit - return static::createFromTimestamp(PHP_INT_MAX); // @codeCoverageIgnore - } - - // 64 bit - return static::create(9999, 12, 31, 23, 59, 59); - } - - /** - * Create a Carbon instance for the lowest supported date. - * - * @return static - */ - public static function minValue() - { - if (self::$PHPIntSize === 4) { - // 32 bit - return static::createFromTimestamp(~PHP_INT_MAX); // @codeCoverageIgnore - } - - // 64 bit - return static::create(1, 1, 1, 0, 0, 0); - } - - private static function assertBetween($unit, $value, $min, $max) - { - if (static::isStrictModeEnabled() && ($value < $min || $value > $max)) { - throw new InvalidArgumentException("$unit must be between $min and $max, $value given"); - } - } - - private static function createNowInstance($tz) - { - if (!static::hasTestNow()) { - return static::now($tz); - } - - $now = static::getTestNow(); - - if ($now instanceof Closure) { - return $now(static::now($tz)); - } - - return $now; - } - - /** - * Create a new Carbon instance from a specific date and time. - * - * If any of $year, $month or $day are set to null their now() values will - * be used. - * - * If $hour is null it will be set to its now() value and the default - * values for $minute and $second will be their now() values. - * - * If $hour is not null then the default values for $minute and $second - * will be 0. - * - * @param int|null $year - * @param int|null $month - * @param int|null $day - * @param int|null $hour - * @param int|null $minute - * @param int|null $second - * @param \DateTimeZone|string|null $tz - * - * @throws \InvalidArgumentException - * - * @return static - */ - public static function create($year = 0, $month = 1, $day = 1, $hour = 0, $minute = 0, $second = 0, $tz = null) - { - if (is_string($year) && !is_numeric($year)) { - return static::parse($year, $tz); - } - - $defaults = null; - $getDefault = function ($unit) use ($tz, &$defaults) { - if ($defaults === null) { - $now = self::createNowInstance($tz); - - $defaults = array_combine([ - 'year', - 'month', - 'day', - 'hour', - 'minute', - 'second', - ], explode('-', $now->rawFormat('Y-n-j-G-i-s.u'))); - } - - return $defaults[$unit]; - }; - - $year = $year === null ? $getDefault('year') : $year; - $month = $month === null ? $getDefault('month') : $month; - $day = $day === null ? $getDefault('day') : $day; - $hour = $hour === null ? $getDefault('hour') : $hour; - $minute = $minute === null ? $getDefault('minute') : $minute; - $second = (float) ($second === null ? $getDefault('second') : $second); - - self::assertBetween('month', $month, 0, 99); - self::assertBetween('day', $day, 0, 99); - self::assertBetween('hour', $hour, 0, 99); - self::assertBetween('minute', $minute, 0, 99); - self::assertBetween('second', $second, 0, 99); - - $fixYear = null; - - if ($year < 0) { - $fixYear = $year; - $year = 0; - } elseif ($year > 9999) { - $fixYear = $year - 9999; - $year = 9999; - } - - $second = ($second < 10 ? '0' : '').number_format($second, 6); - /** @var CarbonImmutable|Carbon $instance */ - $instance = static::rawCreateFromFormat('!Y-n-j G:i:s.u', sprintf('%s-%s-%s %s:%02s:%02s', $year, $month, $day, $hour, $minute, $second), $tz); - - if ($fixYear !== null) { - $instance = $instance->addYears($fixYear); - } - - return $instance; - } - - /** - * Create a new safe Carbon instance from a specific date and time. - * - * If any of $year, $month or $day are set to null their now() values will - * be used. - * - * If $hour is null it will be set to its now() value and the default - * values for $minute and $second will be their now() values. - * - * If $hour is not null then the default values for $minute and $second - * will be 0. - * - * If one of the set values is not valid, an \InvalidArgumentException - * will be thrown. - * - * @param int|null $year - * @param int|null $month - * @param int|null $day - * @param int|null $hour - * @param int|null $minute - * @param int|null $second - * @param \DateTimeZone|string|null $tz - * - * @throws \Carbon\Exceptions\InvalidDateException|\InvalidArgumentException - * - * @return static|false - */ - public static function createSafe($year = null, $month = null, $day = null, $hour = null, $minute = null, $second = null, $tz = null) - { - $fields = static::getRangesByUnit(); - - foreach ($fields as $field => $range) { - if ($$field !== null && (!is_int($$field) || $$field < $range[0] || $$field > $range[1])) { - if (static::isStrictModeEnabled()) { - throw new InvalidDateException($field, $$field); - } - - return false; - } - } - - $instance = static::create($year, $month, $day, $hour, $minute, $second, $tz); - - foreach (array_reverse($fields) as $field => $range) { - if ($$field !== null && (!is_int($$field) || $$field !== $instance->$field)) { - if (static::isStrictModeEnabled()) { - throw new InvalidDateException($field, $$field); - } - - return false; - } - } - - return $instance; - } - - /** - * Create a Carbon instance from just a date. The time portion is set to now. - * - * @param int|null $year - * @param int|null $month - * @param int|null $day - * @param \DateTimeZone|string|null $tz - * - * @throws \InvalidArgumentException - * - * @return static - */ - public static function createFromDate($year = null, $month = null, $day = null, $tz = null) - { - return static::create($year, $month, $day, null, null, null, $tz); - } - - /** - * Create a Carbon instance from just a date. The time portion is set to midnight. - * - * @param int|null $year - * @param int|null $month - * @param int|null $day - * @param \DateTimeZone|string|null $tz - * - * @return static - */ - public static function createMidnightDate($year = null, $month = null, $day = null, $tz = null) - { - return static::create($year, $month, $day, 0, 0, 0, $tz); - } - - /** - * Create a Carbon instance from just a time. The date portion is set to today. - * - * @param int|null $hour - * @param int|null $minute - * @param int|null $second - * @param \DateTimeZone|string|null $tz - * - * @throws \InvalidArgumentException - * - * @return static - */ - public static function createFromTime($hour = 0, $minute = 0, $second = 0, $tz = null) - { - return static::create(null, null, null, $hour, $minute, $second, $tz); - } - - /** - * Create a Carbon instance from a time string. The date portion is set to today. - * - * @param string $time - * @param \DateTimeZone|string|null $tz - * - * @throws \InvalidArgumentException - * - * @return static - */ - public static function createFromTimeString($time, $tz = null) - { - return static::today($tz)->setTimeFromTimeString($time); - } - - /** - * @param string $format Datetime format - * @param string $time - * @param \DateTimeZone|string|false|null $originalTz - * - * @return \DateTimeInterface|false - */ - private static function createFromFormatAndTimezone($format, $time, $originalTz) - { - // Work-around for https://bugs.php.net/bug.php?id=75577 - // @codeCoverageIgnoreStart - if (version_compare(PHP_VERSION, '7.3.0-dev', '<')) { - $format = str_replace('.v', '.u', $format); - } - // @codeCoverageIgnoreEnd - - if ($originalTz === null) { - return parent::createFromFormat($format, "$time"); - } - - $tz = is_int($originalTz) - ? @timezone_name_from_abbr('', (int) ($originalTz * 3600), 1) - : $originalTz; - - $tz = static::safeCreateDateTimeZone($tz, $originalTz); - - if ($tz === false) { - return false; - } - - return parent::createFromFormat($format, "$time", $tz); - } - - /** - * Create a Carbon instance from a specific format. - * - * @param string $format Datetime format - * @param string $time - * @param \DateTimeZone|string|false|null $tz - * - * @throws InvalidArgumentException - * - * @return static|false - */ - public static function rawCreateFromFormat($format, $time, $tz = null) - { - if (preg_match('/(?getTimezone(); - } - - // Set microseconds to zero to match behavior of DateTime::createFromFormat() - // See https://bugs.php.net/bug.php?id=74332 - $mock = $mock->copy()->microsecond(0); - - // Prepend mock datetime only if the format does not contain non escaped unix epoch reset flag. - if (!preg_match("/{$nonEscaped}[!|]/", $format)) { - $format = static::MOCK_DATETIME_FORMAT.' '.$format; - $time = ($mock instanceof self ? $mock->rawFormat(static::MOCK_DATETIME_FORMAT) : $mock->format(static::MOCK_DATETIME_FORMAT)).' '.$time; - } - - // Regenerate date from the modified format to base result on the mocked instance instead of now. - $date = self::createFromFormatAndTimezone($format, $time, $tz); - } - - if ($date instanceof DateTimeInterface) { - $instance = static::instance($date); - $instance::setLastErrors($lastErrors); - - return $instance; - } - - if (static::isStrictModeEnabled()) { - throw new InvalidArgumentException(implode(PHP_EOL, $lastErrors['errors'])); - } - - return false; - } - - /** - * Create a Carbon instance from a specific format. - * - * @param string $format Datetime format - * @param string $time - * @param \DateTimeZone|string|false|null $tz - * - * @throws InvalidArgumentException - * - * @return static|false - */ - public static function createFromFormat($format, $time, $tz = null) - { - $function = static::$createFromFormatFunction; - - if (!$function) { - return static::rawCreateFromFormat($format, $time, $tz); - } - - if (is_string($function) && method_exists(static::class, $function)) { - $function = [static::class, $function]; - } - - return $function(...func_get_args()); - } - - /** - * Create a Carbon instance from a specific ISO format (same replacements as ->isoFormat()). - * - * @param string $format Datetime format - * @param string $time - * @param \DateTimeZone|string|false|null $tz optional timezone - * @param string|null $locale locale to be used for LTS, LT, LL, LLL, etc. macro-formats (en by fault, unneeded if no such macro-format in use) - * @param \Symfony\Component\Translation\TranslatorInterface $translator optional custom translator to use for macro-formats - * - * @throws InvalidArgumentException - * - * @return static|false - */ - public static function createFromIsoFormat($format, $time, $tz = null, $locale = 'en', $translator = null) - { - $format = preg_replace_callback('/(? static::getTranslationMessageWith($translator, 'formats.LT', $locale, 'h:mm A'), - 'LTS' => static::getTranslationMessageWith($translator, 'formats.LTS', $locale, 'h:mm:ss A'), - 'L' => static::getTranslationMessageWith($translator, 'formats.L', $locale, 'MM/DD/YYYY'), - 'LL' => static::getTranslationMessageWith($translator, 'formats.LL', $locale, 'MMMM D, YYYY'), - 'LLL' => static::getTranslationMessageWith($translator, 'formats.LLL', $locale, 'MMMM D, YYYY h:mm A'), - 'LLLL' => static::getTranslationMessageWith($translator, 'formats.LLLL', $locale, 'dddd, MMMM D, YYYY h:mm A'), - ]; - } - - return $formats[$code] ?? preg_replace_callback( - '/MMMM|MM|DD|dddd/', - function ($code) { - return mb_substr($code[0], 1); - }, - $formats[strtoupper($code)] ?? '' - ); - }, $format); - - $format = preg_replace_callback('/(? 'd', - 'OM' => 'M', - 'OY' => 'Y', - 'OH' => 'G', - 'Oh' => 'g', - 'Om' => 'i', - 'Os' => 's', - 'D' => 'd', - 'DD' => 'd', - 'Do' => 'd', - 'd' => '!', - 'dd' => '!', - 'ddd' => 'D', - 'dddd' => 'D', - 'DDD' => 'z', - 'DDDD' => 'z', - 'DDDo' => 'z', - 'e' => '!', - 'E' => '!', - 'H' => 'G', - 'HH' => 'H', - 'h' => 'g', - 'hh' => 'h', - 'k' => 'G', - 'kk' => 'G', - 'hmm' => 'gi', - 'hmmss' => 'gis', - 'Hmm' => 'Gi', - 'Hmmss' => 'Gis', - 'm' => 'i', - 'mm' => 'i', - 'a' => 'a', - 'A' => 'a', - 's' => 's', - 'ss' => 's', - 'S' => '*', - 'SS' => '*', - 'SSS' => '*', - 'SSSS' => '*', - 'SSSSS' => '*', - 'SSSSSS' => 'u', - 'SSSSSSS' => 'u*', - 'SSSSSSSS' => 'u*', - 'SSSSSSSSS' => 'u*', - 'M' => 'm', - 'MM' => 'm', - 'MMM' => 'M', - 'MMMM' => 'M', - 'Mo' => 'm', - 'Q' => '!', - 'Qo' => '!', - 'G' => '!', - 'GG' => '!', - 'GGG' => '!', - 'GGGG' => '!', - 'GGGGG' => '!', - 'g' => '!', - 'gg' => '!', - 'ggg' => '!', - 'gggg' => '!', - 'ggggg' => '!', - 'W' => '!', - 'WW' => '!', - 'Wo' => '!', - 'w' => '!', - 'ww' => '!', - 'wo' => '!', - 'x' => 'U???', - 'X' => 'U', - 'Y' => 'Y', - 'YY' => 'y', - 'YYYY' => 'Y', - 'YYYYY' => 'Y', - 'YYYYYY' => 'Y', - 'z' => 'e', - 'zz' => 'e', - 'Z' => 'e', - 'ZZ' => 'e', - ]; - } - - $format = $replacements[$code] ?? '?'; - - if ($format === '!') { - throw new InvalidArgumentException("Format $code not supported for creation."); - } - - return $format; - }, $format); - - return static::rawCreateFromFormat($format, $time, $tz); - } - - /** - * Create a Carbon instance from a specific format and a string in a given language. - * - * @param string $format Datetime format - * @param string $locale - * @param string $time - * @param \DateTimeZone|string|false|null $tz - * - * @throws InvalidArgumentException - * - * @return static|false - */ - public static function createFromLocaleFormat($format, $locale, $time, $tz = null) - { - return static::rawCreateFromFormat($format, static::translateTimeString($time, $locale, 'en'), $tz); - } - - /** - * Create a Carbon instance from a specific ISO format and a string in a given language. - * - * @param string $format Datetime ISO format - * @param string $locale - * @param string $time - * @param \DateTimeZone|string|false|null $tz - * - * @throws InvalidArgumentException - * - * @return static|false - */ - public static function createFromLocaleIsoFormat($format, $locale, $time, $tz = null) - { - $time = static::translateTimeString($time, $locale, 'en', CarbonInterface::TRANSLATE_MONTHS | CarbonInterface::TRANSLATE_DAYS | CarbonInterface::TRANSLATE_MERIDIEM); - - return static::createFromIsoFormat($format, $time, $tz, $locale); - } - - /** - * Make a Carbon instance from given variable if possible. - * - * Always return a new instance. Parse only strings and only these likely to be dates (skip intervals - * and recurrences). Throw an exception for invalid format, but otherwise return null. - * - * @param mixed $var - * - * @return static|null - */ - public static function make($var) - { - if ($var instanceof DateTimeInterface) { - return static::instance($var); - } - - $date = null; - - if (is_string($var)) { - $var = trim($var); - - if (is_string($var) && - !preg_match('/^P[0-9T]/', $var) && - !preg_match('/^R[0-9]/', $var) && - preg_match('/[a-z0-9]/i', $var) - ) { - $date = static::parse($var); - } - } - - return $date; - } - - /** - * Set last errors. - * - * @param array $lastErrors - * - * @return void - */ - private static function setLastErrors(array $lastErrors) - { - static::$lastErrors = $lastErrors; - } - - /** - * {@inheritdoc} - */ - public static function getLastErrors() - { - return static::$lastErrors; - } -} diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Traits/Date.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Traits/Date.php deleted file mode 100644 index e332375..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Traits/Date.php +++ /dev/null @@ -1,2607 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace Carbon\Traits; - -use BadMethodCallException; -use Carbon\CarbonInterface; -use Carbon\CarbonPeriod; -use Carbon\CarbonTimeZone; -use Carbon\Exceptions\BadUnitException; -use Closure; -use DateInterval; -use DatePeriod; -use DateTime; -use DateTimeInterface; -use DateTimeZone; -use InvalidArgumentException; -use ReflectionException; -use RuntimeException; - -/** - * A simple API extension for DateTime. - * - * - * - * @property int $year - * @property int $yearIso - * @property int $month - * @property int $day - * @property int $hour - * @property int $minute - * @property int $second - * @property int $micro - * @property int $microsecond - * @property int $timestamp seconds since the Unix Epoch - * @property string $englishDayOfWeek the day of week in English - * @property string $shortEnglishDayOfWeek the abbreviated day of week in English - * @property string $englishMonth the month in English - * @property string $shortEnglishMonth the abbreviated month in English - * @property string $localeDayOfWeek the day of week in current locale LC_TIME - * @property string $shortLocaleDayOfWeek the abbreviated day of week in current locale LC_TIME - * @property string $localeMonth the month in current locale LC_TIME - * @property string $shortLocaleMonth the abbreviated month in current locale LC_TIME - * @property int $milliseconds - * @property int $millisecond - * @property int $milli - * @property int $week 1 through 53 - * @property int $isoWeek 1 through 53 - * @property int $weekYear year according to week format - * @property int $isoWeekYear year according to ISO week format - * @property int $dayOfYear 1 through 366 - * @property int $age does a diffInYears() with default parameters - * @property int $offset the timezone offset in seconds from UTC - * @property int $offsetMinutes the timezone offset in minutes from UTC - * @property int $offsetHours the timezone offset in hours from UTC - * @property CarbonTimeZone $timezone the current timezone - * @property CarbonTimeZone $tz alias of $timezone - * @property-read int $dayOfWeek 0 (for Sunday) through 6 (for Saturday) - * @property-read int $dayOfWeekIso 1 (for Monday) through 7 (for Sunday) - * @property-read int $weekOfYear ISO-8601 week number of year, weeks starting on Monday - * @property-read int $daysInMonth number of days in the given month - * @property-read string $latinMeridiem "am"/"pm" (Ante meridiem or Post meridiem latin lowercase mark) - * @property-read string $latinUpperMeridiem "AM"/"PM" (Ante meridiem or Post meridiem latin uppercase mark) - * @property-read string $dayName long name of weekday translated according to Carbon locale, in english if no translation available for current language - * @property-read string $shortDayName short name of weekday translated according to Carbon locale, in english if no translation available for current language - * @property-read string $minDayName very short name of weekday translated according to Carbon locale, in english if no translation available for current language - * @property-read string $monthName long name of month translated according to Carbon locale, in english if no translation available for current language - * @property-read string $shortMonthName short name of month translated according to Carbon locale, in english if no translation available for current language - * @property-read string $meridiem lowercase meridiem mark translated according to Carbon locale, in latin if no translation available for current language - * @property-read string $upperMeridiem uppercase meridiem mark translated according to Carbon locale, in latin if no translation available for current language - * @property-read int $noZeroHour current hour from 1 to 24 - * @property-read int $weeksInYear 51 through 53 - * @property-read int $isoWeeksInYear 51 through 53 - * @property-read int $weekOfMonth 1 through 5 - * @property-read int $weekNumberInMonth 1 through 5 - * @property-read int $firstWeekDay 0 through 6 - * @property-read int $lastWeekDay 0 through 6 - * @property-read int $daysInYear 365 or 366 - * @property-read int $quarter the quarter of this instance, 1 - 4 - * @property-read int $decade the decade of this instance - * @property-read int $century the century of this instance - * @property-read int $millennium the millennium of this instance - * @property-read bool $dst daylight savings time indicator, true if DST, false otherwise - * @property-read bool $local checks if the timezone is local, true if local, false otherwise - * @property-read bool $utc checks if the timezone is UTC, true if UTC, false otherwise - * @property-read string $timezoneName the current timezone name - * @property-read string $tzName alias of $timezoneName - * @property-read string $timezoneAbbreviatedName the current timezone abbreviated name - * @property-read string $tzAbbrName alias of $timezoneAbbreviatedName - * @property-read string $locale locale of the current instance - * - * @method bool isUtc() Check if the current instance has UTC timezone. (Both isUtc and isUTC cases are valid.) - * @method bool isLocal() Check if the current instance has non-UTC timezone. - * @method bool isValid() Check if the current instance is a valid date. - * @method bool isDST() Check if the current instance is in a daylight saving time. - * @method bool isSunday() Checks if the instance day is sunday. - * @method bool isMonday() Checks if the instance day is monday. - * @method bool isTuesday() Checks if the instance day is tuesday. - * @method bool isWednesday() Checks if the instance day is wednesday. - * @method bool isThursday() Checks if the instance day is thursday. - * @method bool isFriday() Checks if the instance day is friday. - * @method bool isSaturday() Checks if the instance day is saturday. - * @method bool isSameYear(\Carbon\Carbon|\DateTimeInterface|string|null $date = null) Checks if the given date is in the same year as the instance. If null passed, compare to now (with the same timezone). - * @method bool isCurrentYear() Checks if the instance is in the same year as the current moment. - * @method bool isNextYear() Checks if the instance is in the same year as the current moment next year. - * @method bool isLastYear() Checks if the instance is in the same year as the current moment last year. - * @method bool isSameWeek(\Carbon\Carbon|\DateTimeInterface|string|null $date = null) Checks if the given date is in the same week as the instance. If null passed, compare to now (with the same timezone). - * @method bool isCurrentWeek() Checks if the instance is in the same week as the current moment. - * @method bool isNextWeek() Checks if the instance is in the same week as the current moment next week. - * @method bool isLastWeek() Checks if the instance is in the same week as the current moment last week. - * @method bool isSameDay(\Carbon\Carbon|\DateTimeInterface|string|null $date = null) Checks if the given date is in the same day as the instance. If null passed, compare to now (with the same timezone). - * @method bool isCurrentDay() Checks if the instance is in the same day as the current moment. - * @method bool isNextDay() Checks if the instance is in the same day as the current moment next day. - * @method bool isLastDay() Checks if the instance is in the same day as the current moment last day. - * @method bool isSameHour(\Carbon\Carbon|\DateTimeInterface|string|null $date = null) Checks if the given date is in the same hour as the instance. If null passed, compare to now (with the same timezone). - * @method bool isCurrentHour() Checks if the instance is in the same hour as the current moment. - * @method bool isNextHour() Checks if the instance is in the same hour as the current moment next hour. - * @method bool isLastHour() Checks if the instance is in the same hour as the current moment last hour. - * @method bool isSameMinute(\Carbon\Carbon|\DateTimeInterface|string|null $date = null) Checks if the given date is in the same minute as the instance. If null passed, compare to now (with the same timezone). - * @method bool isCurrentMinute() Checks if the instance is in the same minute as the current moment. - * @method bool isNextMinute() Checks if the instance is in the same minute as the current moment next minute. - * @method bool isLastMinute() Checks if the instance is in the same minute as the current moment last minute. - * @method bool isSameSecond(\Carbon\Carbon|\DateTimeInterface|string|null $date = null) Checks if the given date is in the same second as the instance. If null passed, compare to now (with the same timezone). - * @method bool isCurrentSecond() Checks if the instance is in the same second as the current moment. - * @method bool isNextSecond() Checks if the instance is in the same second as the current moment next second. - * @method bool isLastSecond() Checks if the instance is in the same second as the current moment last second. - * @method bool isSameMicro(\Carbon\Carbon|\DateTimeInterface|string|null $date = null) Checks if the given date is in the same microsecond as the instance. If null passed, compare to now (with the same timezone). - * @method bool isCurrentMicro() Checks if the instance is in the same microsecond as the current moment. - * @method bool isNextMicro() Checks if the instance is in the same microsecond as the current moment next microsecond. - * @method bool isLastMicro() Checks if the instance is in the same microsecond as the current moment last microsecond. - * @method bool isSameMicrosecond(\Carbon\Carbon|\DateTimeInterface|string|null $date = null) Checks if the given date is in the same microsecond as the instance. If null passed, compare to now (with the same timezone). - * @method bool isCurrentMicrosecond() Checks if the instance is in the same microsecond as the current moment. - * @method bool isNextMicrosecond() Checks if the instance is in the same microsecond as the current moment next microsecond. - * @method bool isLastMicrosecond() Checks if the instance is in the same microsecond as the current moment last microsecond. - * @method bool isCurrentMonth() Checks if the instance is in the same month as the current moment. - * @method bool isNextMonth() Checks if the instance is in the same month as the current moment next month. - * @method bool isLastMonth() Checks if the instance is in the same month as the current moment last month. - * @method bool isCurrentQuarter() Checks if the instance is in the same quarter as the current moment. - * @method bool isNextQuarter() Checks if the instance is in the same quarter as the current moment next quarter. - * @method bool isLastQuarter() Checks if the instance is in the same quarter as the current moment last quarter. - * @method bool isSameDecade(\Carbon\Carbon|\DateTimeInterface|string|null $date = null) Checks if the given date is in the same decade as the instance. If null passed, compare to now (with the same timezone). - * @method bool isCurrentDecade() Checks if the instance is in the same decade as the current moment. - * @method bool isNextDecade() Checks if the instance is in the same decade as the current moment next decade. - * @method bool isLastDecade() Checks if the instance is in the same decade as the current moment last decade. - * @method bool isSameCentury(\Carbon\Carbon|\DateTimeInterface|string|null $date = null) Checks if the given date is in the same century as the instance. If null passed, compare to now (with the same timezone). - * @method bool isCurrentCentury() Checks if the instance is in the same century as the current moment. - * @method bool isNextCentury() Checks if the instance is in the same century as the current moment next century. - * @method bool isLastCentury() Checks if the instance is in the same century as the current moment last century. - * @method bool isSameMillennium(\Carbon\Carbon|\DateTimeInterface|string|null $date = null) Checks if the given date is in the same millennium as the instance. If null passed, compare to now (with the same timezone). - * @method bool isCurrentMillennium() Checks if the instance is in the same millennium as the current moment. - * @method bool isNextMillennium() Checks if the instance is in the same millennium as the current moment next millennium. - * @method bool isLastMillennium() Checks if the instance is in the same millennium as the current moment last millennium. - * @method CarbonInterface years(int $value) Set current instance year to the given value. - * @method CarbonInterface year(int $value) Set current instance year to the given value. - * @method CarbonInterface setYears(int $value) Set current instance year to the given value. - * @method CarbonInterface setYear(int $value) Set current instance year to the given value. - * @method CarbonInterface months(int $value) Set current instance month to the given value. - * @method CarbonInterface month(int $value) Set current instance month to the given value. - * @method CarbonInterface setMonths(int $value) Set current instance month to the given value. - * @method CarbonInterface setMonth(int $value) Set current instance month to the given value. - * @method CarbonInterface days(int $value) Set current instance day to the given value. - * @method CarbonInterface day(int $value) Set current instance day to the given value. - * @method CarbonInterface setDays(int $value) Set current instance day to the given value. - * @method CarbonInterface setDay(int $value) Set current instance day to the given value. - * @method CarbonInterface hours(int $value) Set current instance hour to the given value. - * @method CarbonInterface hour(int $value) Set current instance hour to the given value. - * @method CarbonInterface setHours(int $value) Set current instance hour to the given value. - * @method CarbonInterface setHour(int $value) Set current instance hour to the given value. - * @method CarbonInterface minutes(int $value) Set current instance minute to the given value. - * @method CarbonInterface minute(int $value) Set current instance minute to the given value. - * @method CarbonInterface setMinutes(int $value) Set current instance minute to the given value. - * @method CarbonInterface setMinute(int $value) Set current instance minute to the given value. - * @method CarbonInterface seconds(int $value) Set current instance second to the given value. - * @method CarbonInterface second(int $value) Set current instance second to the given value. - * @method CarbonInterface setSeconds(int $value) Set current instance second to the given value. - * @method CarbonInterface setSecond(int $value) Set current instance second to the given value. - * @method CarbonInterface millis(int $value) Set current instance millisecond to the given value. - * @method CarbonInterface milli(int $value) Set current instance millisecond to the given value. - * @method CarbonInterface setMillis(int $value) Set current instance millisecond to the given value. - * @method CarbonInterface setMilli(int $value) Set current instance millisecond to the given value. - * @method CarbonInterface milliseconds(int $value) Set current instance millisecond to the given value. - * @method CarbonInterface millisecond(int $value) Set current instance millisecond to the given value. - * @method CarbonInterface setMilliseconds(int $value) Set current instance millisecond to the given value. - * @method CarbonInterface setMillisecond(int $value) Set current instance millisecond to the given value. - * @method CarbonInterface micros(int $value) Set current instance microsecond to the given value. - * @method CarbonInterface micro(int $value) Set current instance microsecond to the given value. - * @method CarbonInterface setMicros(int $value) Set current instance microsecond to the given value. - * @method CarbonInterface setMicro(int $value) Set current instance microsecond to the given value. - * @method CarbonInterface microseconds(int $value) Set current instance microsecond to the given value. - * @method CarbonInterface microsecond(int $value) Set current instance microsecond to the given value. - * @method CarbonInterface setMicroseconds(int $value) Set current instance microsecond to the given value. - * @method CarbonInterface setMicrosecond(int $value) Set current instance microsecond to the given value. - * @method CarbonInterface addYears(int $value = 1) Add years (the $value count passed in) to the instance (using date interval). - * @method CarbonInterface addYear() Add one year to the instance (using date interval). - * @method CarbonInterface subYears(int $value = 1) Sub years (the $value count passed in) to the instance (using date interval). - * @method CarbonInterface subYear() Sub one year to the instance (using date interval). - * @method CarbonInterface addYearsWithOverflow(int $value = 1) Add years (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed. - * @method CarbonInterface addYearWithOverflow() Add one year to the instance (using date interval) with overflow explicitly allowed. - * @method CarbonInterface subYearsWithOverflow(int $value = 1) Sub years (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed. - * @method CarbonInterface subYearWithOverflow() Sub one year to the instance (using date interval) with overflow explicitly allowed. - * @method CarbonInterface addYearsWithoutOverflow(int $value = 1) Add years (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface addYearWithoutOverflow() Add one year to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface subYearsWithoutOverflow(int $value = 1) Sub years (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface subYearWithoutOverflow() Sub one year to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface addYearsWithNoOverflow(int $value = 1) Add years (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface addYearWithNoOverflow() Add one year to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface subYearsWithNoOverflow(int $value = 1) Sub years (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface subYearWithNoOverflow() Sub one year to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface addYearsNoOverflow(int $value = 1) Add years (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface addYearNoOverflow() Add one year to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface subYearsNoOverflow(int $value = 1) Sub years (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface subYearNoOverflow() Sub one year to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface addMonths(int $value = 1) Add months (the $value count passed in) to the instance (using date interval). - * @method CarbonInterface addMonth() Add one month to the instance (using date interval). - * @method CarbonInterface subMonths(int $value = 1) Sub months (the $value count passed in) to the instance (using date interval). - * @method CarbonInterface subMonth() Sub one month to the instance (using date interval). - * @method CarbonInterface addMonthsWithOverflow(int $value = 1) Add months (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed. - * @method CarbonInterface addMonthWithOverflow() Add one month to the instance (using date interval) with overflow explicitly allowed. - * @method CarbonInterface subMonthsWithOverflow(int $value = 1) Sub months (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed. - * @method CarbonInterface subMonthWithOverflow() Sub one month to the instance (using date interval) with overflow explicitly allowed. - * @method CarbonInterface addMonthsWithoutOverflow(int $value = 1) Add months (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface addMonthWithoutOverflow() Add one month to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface subMonthsWithoutOverflow(int $value = 1) Sub months (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface subMonthWithoutOverflow() Sub one month to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface addMonthsWithNoOverflow(int $value = 1) Add months (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface addMonthWithNoOverflow() Add one month to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface subMonthsWithNoOverflow(int $value = 1) Sub months (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface subMonthWithNoOverflow() Sub one month to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface addMonthsNoOverflow(int $value = 1) Add months (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface addMonthNoOverflow() Add one month to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface subMonthsNoOverflow(int $value = 1) Sub months (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface subMonthNoOverflow() Sub one month to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface addDays(int $value = 1) Add days (the $value count passed in) to the instance (using date interval). - * @method CarbonInterface addDay() Add one day to the instance (using date interval). - * @method CarbonInterface subDays(int $value = 1) Sub days (the $value count passed in) to the instance (using date interval). - * @method CarbonInterface subDay() Sub one day to the instance (using date interval). - * @method CarbonInterface addHours(int $value = 1) Add hours (the $value count passed in) to the instance (using date interval). - * @method CarbonInterface addHour() Add one hour to the instance (using date interval). - * @method CarbonInterface subHours(int $value = 1) Sub hours (the $value count passed in) to the instance (using date interval). - * @method CarbonInterface subHour() Sub one hour to the instance (using date interval). - * @method CarbonInterface addMinutes(int $value = 1) Add minutes (the $value count passed in) to the instance (using date interval). - * @method CarbonInterface addMinute() Add one minute to the instance (using date interval). - * @method CarbonInterface subMinutes(int $value = 1) Sub minutes (the $value count passed in) to the instance (using date interval). - * @method CarbonInterface subMinute() Sub one minute to the instance (using date interval). - * @method CarbonInterface addSeconds(int $value = 1) Add seconds (the $value count passed in) to the instance (using date interval). - * @method CarbonInterface addSecond() Add one second to the instance (using date interval). - * @method CarbonInterface subSeconds(int $value = 1) Sub seconds (the $value count passed in) to the instance (using date interval). - * @method CarbonInterface subSecond() Sub one second to the instance (using date interval). - * @method CarbonInterface addMillis(int $value = 1) Add milliseconds (the $value count passed in) to the instance (using date interval). - * @method CarbonInterface addMilli() Add one millisecond to the instance (using date interval). - * @method CarbonInterface subMillis(int $value = 1) Sub milliseconds (the $value count passed in) to the instance (using date interval). - * @method CarbonInterface subMilli() Sub one millisecond to the instance (using date interval). - * @method CarbonInterface addMilliseconds(int $value = 1) Add milliseconds (the $value count passed in) to the instance (using date interval). - * @method CarbonInterface addMillisecond() Add one millisecond to the instance (using date interval). - * @method CarbonInterface subMilliseconds(int $value = 1) Sub milliseconds (the $value count passed in) to the instance (using date interval). - * @method CarbonInterface subMillisecond() Sub one millisecond to the instance (using date interval). - * @method CarbonInterface addMicros(int $value = 1) Add microseconds (the $value count passed in) to the instance (using date interval). - * @method CarbonInterface addMicro() Add one microsecond to the instance (using date interval). - * @method CarbonInterface subMicros(int $value = 1) Sub microseconds (the $value count passed in) to the instance (using date interval). - * @method CarbonInterface subMicro() Sub one microsecond to the instance (using date interval). - * @method CarbonInterface addMicroseconds(int $value = 1) Add microseconds (the $value count passed in) to the instance (using date interval). - * @method CarbonInterface addMicrosecond() Add one microsecond to the instance (using date interval). - * @method CarbonInterface subMicroseconds(int $value = 1) Sub microseconds (the $value count passed in) to the instance (using date interval). - * @method CarbonInterface subMicrosecond() Sub one microsecond to the instance (using date interval). - * @method CarbonInterface addMillennia(int $value = 1) Add millennia (the $value count passed in) to the instance (using date interval). - * @method CarbonInterface addMillennium() Add one millennium to the instance (using date interval). - * @method CarbonInterface subMillennia(int $value = 1) Sub millennia (the $value count passed in) to the instance (using date interval). - * @method CarbonInterface subMillennium() Sub one millennium to the instance (using date interval). - * @method CarbonInterface addMillenniaWithOverflow(int $value = 1) Add millennia (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed. - * @method CarbonInterface addMillenniumWithOverflow() Add one millennium to the instance (using date interval) with overflow explicitly allowed. - * @method CarbonInterface subMillenniaWithOverflow(int $value = 1) Sub millennia (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed. - * @method CarbonInterface subMillenniumWithOverflow() Sub one millennium to the instance (using date interval) with overflow explicitly allowed. - * @method CarbonInterface addMillenniaWithoutOverflow(int $value = 1) Add millennia (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface addMillenniumWithoutOverflow() Add one millennium to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface subMillenniaWithoutOverflow(int $value = 1) Sub millennia (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface subMillenniumWithoutOverflow() Sub one millennium to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface addMillenniaWithNoOverflow(int $value = 1) Add millennia (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface addMillenniumWithNoOverflow() Add one millennium to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface subMillenniaWithNoOverflow(int $value = 1) Sub millennia (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface subMillenniumWithNoOverflow() Sub one millennium to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface addMillenniaNoOverflow(int $value = 1) Add millennia (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface addMillenniumNoOverflow() Add one millennium to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface subMillenniaNoOverflow(int $value = 1) Sub millennia (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface subMillenniumNoOverflow() Sub one millennium to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface addCenturies(int $value = 1) Add centuries (the $value count passed in) to the instance (using date interval). - * @method CarbonInterface addCentury() Add one century to the instance (using date interval). - * @method CarbonInterface subCenturies(int $value = 1) Sub centuries (the $value count passed in) to the instance (using date interval). - * @method CarbonInterface subCentury() Sub one century to the instance (using date interval). - * @method CarbonInterface addCenturiesWithOverflow(int $value = 1) Add centuries (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed. - * @method CarbonInterface addCenturyWithOverflow() Add one century to the instance (using date interval) with overflow explicitly allowed. - * @method CarbonInterface subCenturiesWithOverflow(int $value = 1) Sub centuries (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed. - * @method CarbonInterface subCenturyWithOverflow() Sub one century to the instance (using date interval) with overflow explicitly allowed. - * @method CarbonInterface addCenturiesWithoutOverflow(int $value = 1) Add centuries (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface addCenturyWithoutOverflow() Add one century to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface subCenturiesWithoutOverflow(int $value = 1) Sub centuries (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface subCenturyWithoutOverflow() Sub one century to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface addCenturiesWithNoOverflow(int $value = 1) Add centuries (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface addCenturyWithNoOverflow() Add one century to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface subCenturiesWithNoOverflow(int $value = 1) Sub centuries (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface subCenturyWithNoOverflow() Sub one century to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface addCenturiesNoOverflow(int $value = 1) Add centuries (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface addCenturyNoOverflow() Add one century to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface subCenturiesNoOverflow(int $value = 1) Sub centuries (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface subCenturyNoOverflow() Sub one century to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface addDecades(int $value = 1) Add decades (the $value count passed in) to the instance (using date interval). - * @method CarbonInterface addDecade() Add one decade to the instance (using date interval). - * @method CarbonInterface subDecades(int $value = 1) Sub decades (the $value count passed in) to the instance (using date interval). - * @method CarbonInterface subDecade() Sub one decade to the instance (using date interval). - * @method CarbonInterface addDecadesWithOverflow(int $value = 1) Add decades (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed. - * @method CarbonInterface addDecadeWithOverflow() Add one decade to the instance (using date interval) with overflow explicitly allowed. - * @method CarbonInterface subDecadesWithOverflow(int $value = 1) Sub decades (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed. - * @method CarbonInterface subDecadeWithOverflow() Sub one decade to the instance (using date interval) with overflow explicitly allowed. - * @method CarbonInterface addDecadesWithoutOverflow(int $value = 1) Add decades (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface addDecadeWithoutOverflow() Add one decade to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface subDecadesWithoutOverflow(int $value = 1) Sub decades (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface subDecadeWithoutOverflow() Sub one decade to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface addDecadesWithNoOverflow(int $value = 1) Add decades (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface addDecadeWithNoOverflow() Add one decade to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface subDecadesWithNoOverflow(int $value = 1) Sub decades (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface subDecadeWithNoOverflow() Sub one decade to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface addDecadesNoOverflow(int $value = 1) Add decades (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface addDecadeNoOverflow() Add one decade to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface subDecadesNoOverflow(int $value = 1) Sub decades (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface subDecadeNoOverflow() Sub one decade to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface addQuarters(int $value = 1) Add quarters (the $value count passed in) to the instance (using date interval). - * @method CarbonInterface addQuarter() Add one quarter to the instance (using date interval). - * @method CarbonInterface subQuarters(int $value = 1) Sub quarters (the $value count passed in) to the instance (using date interval). - * @method CarbonInterface subQuarter() Sub one quarter to the instance (using date interval). - * @method CarbonInterface addQuartersWithOverflow(int $value = 1) Add quarters (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed. - * @method CarbonInterface addQuarterWithOverflow() Add one quarter to the instance (using date interval) with overflow explicitly allowed. - * @method CarbonInterface subQuartersWithOverflow(int $value = 1) Sub quarters (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed. - * @method CarbonInterface subQuarterWithOverflow() Sub one quarter to the instance (using date interval) with overflow explicitly allowed. - * @method CarbonInterface addQuartersWithoutOverflow(int $value = 1) Add quarters (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface addQuarterWithoutOverflow() Add one quarter to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface subQuartersWithoutOverflow(int $value = 1) Sub quarters (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface subQuarterWithoutOverflow() Sub one quarter to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface addQuartersWithNoOverflow(int $value = 1) Add quarters (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface addQuarterWithNoOverflow() Add one quarter to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface subQuartersWithNoOverflow(int $value = 1) Sub quarters (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface subQuarterWithNoOverflow() Sub one quarter to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface addQuartersNoOverflow(int $value = 1) Add quarters (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface addQuarterNoOverflow() Add one quarter to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface subQuartersNoOverflow(int $value = 1) Sub quarters (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface subQuarterNoOverflow() Sub one quarter to the instance (using date interval) with overflow explicitly forbidden. - * @method CarbonInterface addWeeks(int $value = 1) Add weeks (the $value count passed in) to the instance (using date interval). - * @method CarbonInterface addWeek() Add one week to the instance (using date interval). - * @method CarbonInterface subWeeks(int $value = 1) Sub weeks (the $value count passed in) to the instance (using date interval). - * @method CarbonInterface subWeek() Sub one week to the instance (using date interval). - * @method CarbonInterface addWeekdays(int $value = 1) Add weekdays (the $value count passed in) to the instance (using date interval). - * @method CarbonInterface addWeekday() Add one weekday to the instance (using date interval). - * @method CarbonInterface subWeekdays(int $value = 1) Sub weekdays (the $value count passed in) to the instance (using date interval). - * @method CarbonInterface subWeekday() Sub one weekday to the instance (using date interval). - * @method CarbonInterface addRealMicros(int $value = 1) Add microseconds (the $value count passed in) to the instance (using timestamp). - * @method CarbonInterface addRealMicro() Add one microsecond to the instance (using timestamp). - * @method CarbonInterface subRealMicros(int $value = 1) Sub microseconds (the $value count passed in) to the instance (using timestamp). - * @method CarbonInterface subRealMicro() Sub one microsecond to the instance (using timestamp). - * @method CarbonPeriod microsUntil($endDate = null, int $factor = 1) Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each microsecond or every X microseconds if a factor is given. - * @method CarbonInterface addRealMicroseconds(int $value = 1) Add microseconds (the $value count passed in) to the instance (using timestamp). - * @method CarbonInterface addRealMicrosecond() Add one microsecond to the instance (using timestamp). - * @method CarbonInterface subRealMicroseconds(int $value = 1) Sub microseconds (the $value count passed in) to the instance (using timestamp). - * @method CarbonInterface subRealMicrosecond() Sub one microsecond to the instance (using timestamp). - * @method CarbonPeriod microsecondsUntil($endDate = null, int $factor = 1) Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each microsecond or every X microseconds if a factor is given. - * @method CarbonInterface addRealMillis(int $value = 1) Add milliseconds (the $value count passed in) to the instance (using timestamp). - * @method CarbonInterface addRealMilli() Add one millisecond to the instance (using timestamp). - * @method CarbonInterface subRealMillis(int $value = 1) Sub milliseconds (the $value count passed in) to the instance (using timestamp). - * @method CarbonInterface subRealMilli() Sub one millisecond to the instance (using timestamp). - * @method CarbonPeriod millisUntil($endDate = null, int $factor = 1) Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each millisecond or every X milliseconds if a factor is given. - * @method CarbonInterface addRealMilliseconds(int $value = 1) Add milliseconds (the $value count passed in) to the instance (using timestamp). - * @method CarbonInterface addRealMillisecond() Add one millisecond to the instance (using timestamp). - * @method CarbonInterface subRealMilliseconds(int $value = 1) Sub milliseconds (the $value count passed in) to the instance (using timestamp). - * @method CarbonInterface subRealMillisecond() Sub one millisecond to the instance (using timestamp). - * @method CarbonPeriod millisecondsUntil($endDate = null, int $factor = 1) Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each millisecond or every X milliseconds if a factor is given. - * @method CarbonInterface addRealSeconds(int $value = 1) Add seconds (the $value count passed in) to the instance (using timestamp). - * @method CarbonInterface addRealSecond() Add one second to the instance (using timestamp). - * @method CarbonInterface subRealSeconds(int $value = 1) Sub seconds (the $value count passed in) to the instance (using timestamp). - * @method CarbonInterface subRealSecond() Sub one second to the instance (using timestamp). - * @method CarbonPeriod secondsUntil($endDate = null, int $factor = 1) Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each second or every X seconds if a factor is given. - * @method CarbonInterface addRealMinutes(int $value = 1) Add minutes (the $value count passed in) to the instance (using timestamp). - * @method CarbonInterface addRealMinute() Add one minute to the instance (using timestamp). - * @method CarbonInterface subRealMinutes(int $value = 1) Sub minutes (the $value count passed in) to the instance (using timestamp). - * @method CarbonInterface subRealMinute() Sub one minute to the instance (using timestamp). - * @method CarbonPeriod minutesUntil($endDate = null, int $factor = 1) Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each minute or every X minutes if a factor is given. - * @method CarbonInterface addRealHours(int $value = 1) Add hours (the $value count passed in) to the instance (using timestamp). - * @method CarbonInterface addRealHour() Add one hour to the instance (using timestamp). - * @method CarbonInterface subRealHours(int $value = 1) Sub hours (the $value count passed in) to the instance (using timestamp). - * @method CarbonInterface subRealHour() Sub one hour to the instance (using timestamp). - * @method CarbonPeriod hoursUntil($endDate = null, int $factor = 1) Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each hour or every X hours if a factor is given. - * @method CarbonInterface addRealDays(int $value = 1) Add days (the $value count passed in) to the instance (using timestamp). - * @method CarbonInterface addRealDay() Add one day to the instance (using timestamp). - * @method CarbonInterface subRealDays(int $value = 1) Sub days (the $value count passed in) to the instance (using timestamp). - * @method CarbonInterface subRealDay() Sub one day to the instance (using timestamp). - * @method CarbonPeriod daysUntil($endDate = null, int $factor = 1) Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each day or every X days if a factor is given. - * @method CarbonInterface addRealWeeks(int $value = 1) Add weeks (the $value count passed in) to the instance (using timestamp). - * @method CarbonInterface addRealWeek() Add one week to the instance (using timestamp). - * @method CarbonInterface subRealWeeks(int $value = 1) Sub weeks (the $value count passed in) to the instance (using timestamp). - * @method CarbonInterface subRealWeek() Sub one week to the instance (using timestamp). - * @method CarbonPeriod weeksUntil($endDate = null, int $factor = 1) Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each week or every X weeks if a factor is given. - * @method CarbonInterface addRealMonths(int $value = 1) Add months (the $value count passed in) to the instance (using timestamp). - * @method CarbonInterface addRealMonth() Add one month to the instance (using timestamp). - * @method CarbonInterface subRealMonths(int $value = 1) Sub months (the $value count passed in) to the instance (using timestamp). - * @method CarbonInterface subRealMonth() Sub one month to the instance (using timestamp). - * @method CarbonPeriod monthsUntil($endDate = null, int $factor = 1) Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each month or every X months if a factor is given. - * @method CarbonInterface addRealQuarters(int $value = 1) Add quarters (the $value count passed in) to the instance (using timestamp). - * @method CarbonInterface addRealQuarter() Add one quarter to the instance (using timestamp). - * @method CarbonInterface subRealQuarters(int $value = 1) Sub quarters (the $value count passed in) to the instance (using timestamp). - * @method CarbonInterface subRealQuarter() Sub one quarter to the instance (using timestamp). - * @method CarbonPeriod quartersUntil($endDate = null, int $factor = 1) Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each quarter or every X quarters if a factor is given. - * @method CarbonInterface addRealYears(int $value = 1) Add years (the $value count passed in) to the instance (using timestamp). - * @method CarbonInterface addRealYear() Add one year to the instance (using timestamp). - * @method CarbonInterface subRealYears(int $value = 1) Sub years (the $value count passed in) to the instance (using timestamp). - * @method CarbonInterface subRealYear() Sub one year to the instance (using timestamp). - * @method CarbonPeriod yearsUntil($endDate = null, int $factor = 1) Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each year or every X years if a factor is given. - * @method CarbonInterface addRealDecades(int $value = 1) Add decades (the $value count passed in) to the instance (using timestamp). - * @method CarbonInterface addRealDecade() Add one decade to the instance (using timestamp). - * @method CarbonInterface subRealDecades(int $value = 1) Sub decades (the $value count passed in) to the instance (using timestamp). - * @method CarbonInterface subRealDecade() Sub one decade to the instance (using timestamp). - * @method CarbonPeriod decadesUntil($endDate = null, int $factor = 1) Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each decade or every X decades if a factor is given. - * @method CarbonInterface addRealCenturies(int $value = 1) Add centuries (the $value count passed in) to the instance (using timestamp). - * @method CarbonInterface addRealCentury() Add one century to the instance (using timestamp). - * @method CarbonInterface subRealCenturies(int $value = 1) Sub centuries (the $value count passed in) to the instance (using timestamp). - * @method CarbonInterface subRealCentury() Sub one century to the instance (using timestamp). - * @method CarbonPeriod centuriesUntil($endDate = null, int $factor = 1) Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each century or every X centuries if a factor is given. - * @method CarbonInterface addRealMillennia(int $value = 1) Add millennia (the $value count passed in) to the instance (using timestamp). - * @method CarbonInterface addRealMillennium() Add one millennium to the instance (using timestamp). - * @method CarbonInterface subRealMillennia(int $value = 1) Sub millennia (the $value count passed in) to the instance (using timestamp). - * @method CarbonInterface subRealMillennium() Sub one millennium to the instance (using timestamp). - * @method CarbonPeriod millenniaUntil($endDate = null, int $factor = 1) Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each millennium or every X millennia if a factor is given. - * @method CarbonInterface roundYear(float $precision = 1, string $function = "round") Round the current instance year with given precision using the given function. - * @method CarbonInterface roundYears(float $precision = 1, string $function = "round") Round the current instance year with given precision using the given function. - * @method CarbonInterface floorYear(float $precision = 1) Truncate the current instance year with given precision. - * @method CarbonInterface floorYears(float $precision = 1) Truncate the current instance year with given precision. - * @method CarbonInterface ceilYear(float $precision = 1) Ceil the current instance year with given precision. - * @method CarbonInterface ceilYears(float $precision = 1) Ceil the current instance year with given precision. - * @method CarbonInterface roundMonth(float $precision = 1, string $function = "round") Round the current instance month with given precision using the given function. - * @method CarbonInterface roundMonths(float $precision = 1, string $function = "round") Round the current instance month with given precision using the given function. - * @method CarbonInterface floorMonth(float $precision = 1) Truncate the current instance month with given precision. - * @method CarbonInterface floorMonths(float $precision = 1) Truncate the current instance month with given precision. - * @method CarbonInterface ceilMonth(float $precision = 1) Ceil the current instance month with given precision. - * @method CarbonInterface ceilMonths(float $precision = 1) Ceil the current instance month with given precision. - * @method CarbonInterface roundDay(float $precision = 1, string $function = "round") Round the current instance day with given precision using the given function. - * @method CarbonInterface roundDays(float $precision = 1, string $function = "round") Round the current instance day with given precision using the given function. - * @method CarbonInterface floorDay(float $precision = 1) Truncate the current instance day with given precision. - * @method CarbonInterface floorDays(float $precision = 1) Truncate the current instance day with given precision. - * @method CarbonInterface ceilDay(float $precision = 1) Ceil the current instance day with given precision. - * @method CarbonInterface ceilDays(float $precision = 1) Ceil the current instance day with given precision. - * @method CarbonInterface roundHour(float $precision = 1, string $function = "round") Round the current instance hour with given precision using the given function. - * @method CarbonInterface roundHours(float $precision = 1, string $function = "round") Round the current instance hour with given precision using the given function. - * @method CarbonInterface floorHour(float $precision = 1) Truncate the current instance hour with given precision. - * @method CarbonInterface floorHours(float $precision = 1) Truncate the current instance hour with given precision. - * @method CarbonInterface ceilHour(float $precision = 1) Ceil the current instance hour with given precision. - * @method CarbonInterface ceilHours(float $precision = 1) Ceil the current instance hour with given precision. - * @method CarbonInterface roundMinute(float $precision = 1, string $function = "round") Round the current instance minute with given precision using the given function. - * @method CarbonInterface roundMinutes(float $precision = 1, string $function = "round") Round the current instance minute with given precision using the given function. - * @method CarbonInterface floorMinute(float $precision = 1) Truncate the current instance minute with given precision. - * @method CarbonInterface floorMinutes(float $precision = 1) Truncate the current instance minute with given precision. - * @method CarbonInterface ceilMinute(float $precision = 1) Ceil the current instance minute with given precision. - * @method CarbonInterface ceilMinutes(float $precision = 1) Ceil the current instance minute with given precision. - * @method CarbonInterface roundSecond(float $precision = 1, string $function = "round") Round the current instance second with given precision using the given function. - * @method CarbonInterface roundSeconds(float $precision = 1, string $function = "round") Round the current instance second with given precision using the given function. - * @method CarbonInterface floorSecond(float $precision = 1) Truncate the current instance second with given precision. - * @method CarbonInterface floorSeconds(float $precision = 1) Truncate the current instance second with given precision. - * @method CarbonInterface ceilSecond(float $precision = 1) Ceil the current instance second with given precision. - * @method CarbonInterface ceilSeconds(float $precision = 1) Ceil the current instance second with given precision. - * @method CarbonInterface roundMillennium(float $precision = 1, string $function = "round") Round the current instance millennium with given precision using the given function. - * @method CarbonInterface roundMillennia(float $precision = 1, string $function = "round") Round the current instance millennium with given precision using the given function. - * @method CarbonInterface floorMillennium(float $precision = 1) Truncate the current instance millennium with given precision. - * @method CarbonInterface floorMillennia(float $precision = 1) Truncate the current instance millennium with given precision. - * @method CarbonInterface ceilMillennium(float $precision = 1) Ceil the current instance millennium with given precision. - * @method CarbonInterface ceilMillennia(float $precision = 1) Ceil the current instance millennium with given precision. - * @method CarbonInterface roundCentury(float $precision = 1, string $function = "round") Round the current instance century with given precision using the given function. - * @method CarbonInterface roundCenturies(float $precision = 1, string $function = "round") Round the current instance century with given precision using the given function. - * @method CarbonInterface floorCentury(float $precision = 1) Truncate the current instance century with given precision. - * @method CarbonInterface floorCenturies(float $precision = 1) Truncate the current instance century with given precision. - * @method CarbonInterface ceilCentury(float $precision = 1) Ceil the current instance century with given precision. - * @method CarbonInterface ceilCenturies(float $precision = 1) Ceil the current instance century with given precision. - * @method CarbonInterface roundDecade(float $precision = 1, string $function = "round") Round the current instance decade with given precision using the given function. - * @method CarbonInterface roundDecades(float $precision = 1, string $function = "round") Round the current instance decade with given precision using the given function. - * @method CarbonInterface floorDecade(float $precision = 1) Truncate the current instance decade with given precision. - * @method CarbonInterface floorDecades(float $precision = 1) Truncate the current instance decade with given precision. - * @method CarbonInterface ceilDecade(float $precision = 1) Ceil the current instance decade with given precision. - * @method CarbonInterface ceilDecades(float $precision = 1) Ceil the current instance decade with given precision. - * @method CarbonInterface roundQuarter(float $precision = 1, string $function = "round") Round the current instance quarter with given precision using the given function. - * @method CarbonInterface roundQuarters(float $precision = 1, string $function = "round") Round the current instance quarter with given precision using the given function. - * @method CarbonInterface floorQuarter(float $precision = 1) Truncate the current instance quarter with given precision. - * @method CarbonInterface floorQuarters(float $precision = 1) Truncate the current instance quarter with given precision. - * @method CarbonInterface ceilQuarter(float $precision = 1) Ceil the current instance quarter with given precision. - * @method CarbonInterface ceilQuarters(float $precision = 1) Ceil the current instance quarter with given precision. - * @method CarbonInterface roundMillisecond(float $precision = 1, string $function = "round") Round the current instance millisecond with given precision using the given function. - * @method CarbonInterface roundMilliseconds(float $precision = 1, string $function = "round") Round the current instance millisecond with given precision using the given function. - * @method CarbonInterface floorMillisecond(float $precision = 1) Truncate the current instance millisecond with given precision. - * @method CarbonInterface floorMilliseconds(float $precision = 1) Truncate the current instance millisecond with given precision. - * @method CarbonInterface ceilMillisecond(float $precision = 1) Ceil the current instance millisecond with given precision. - * @method CarbonInterface ceilMilliseconds(float $precision = 1) Ceil the current instance millisecond with given precision. - * @method CarbonInterface roundMicrosecond(float $precision = 1, string $function = "round") Round the current instance microsecond with given precision using the given function. - * @method CarbonInterface roundMicroseconds(float $precision = 1, string $function = "round") Round the current instance microsecond with given precision using the given function. - * @method CarbonInterface floorMicrosecond(float $precision = 1) Truncate the current instance microsecond with given precision. - * @method CarbonInterface floorMicroseconds(float $precision = 1) Truncate the current instance microsecond with given precision. - * @method CarbonInterface ceilMicrosecond(float $precision = 1) Ceil the current instance microsecond with given precision. - * @method CarbonInterface ceilMicroseconds(float $precision = 1) Ceil the current instance microsecond with given precision. - * @method string shortAbsoluteDiffForHumans(\DateTimeInterface $other = null, int $parts = 1) Get the difference (short format, 'Absolute' mode) in a human readable format in the current locale. ($other and $parts parameters can be swapped.) - * @method string longAbsoluteDiffForHumans(\DateTimeInterface $other = null, int $parts = 1) Get the difference (long format, 'Absolute' mode) in a human readable format in the current locale. ($other and $parts parameters can be swapped.) - * @method string shortRelativeDiffForHumans(\DateTimeInterface $other = null, int $parts = 1) Get the difference (short format, 'Relative' mode) in a human readable format in the current locale. ($other and $parts parameters can be swapped.) - * @method string longRelativeDiffForHumans(\DateTimeInterface $other = null, int $parts = 1) Get the difference (long format, 'Relative' mode) in a human readable format in the current locale. ($other and $parts parameters can be swapped.) - * @method string shortRelativeToNowDiffForHumans(\DateTimeInterface $other = null, int $parts = 1) Get the difference (short format, 'RelativeToNow' mode) in a human readable format in the current locale. ($other and $parts parameters can be swapped.) - * @method string longRelativeToNowDiffForHumans(\DateTimeInterface $other = null, int $parts = 1) Get the difference (long format, 'RelativeToNow' mode) in a human readable format in the current locale. ($other and $parts parameters can be swapped.) - * @method string shortRelativeToOtherDiffForHumans(\DateTimeInterface $other = null, int $parts = 1) Get the difference (short format, 'RelativeToOther' mode) in a human readable format in the current locale. ($other and $parts parameters can be swapped.) - * @method string longRelativeToOtherDiffForHumans(\DateTimeInterface $other = null, int $parts = 1) Get the difference (long format, 'RelativeToOther' mode) in a human readable format in the current locale. ($other and $parts parameters can be swapped.) - * - * - */ -trait Date -{ - use Boundaries; - use Comparison; - use Converter; - use Creator; - use Difference; - use Macro; - use Modifiers; - use Mutability; - use Options; - use Rounding; - use Serialization; - use Test; - use Timestamp; - use Units; - use Week; - - /** - * Names of days of the week. - * - * @var array - */ - protected static $days = [ - // @call isDayOfWeek - self::SUNDAY => 'Sunday', - // @call isDayOfWeek - self::MONDAY => 'Monday', - // @call isDayOfWeek - self::TUESDAY => 'Tuesday', - // @call isDayOfWeek - self::WEDNESDAY => 'Wednesday', - // @call isDayOfWeek - self::THURSDAY => 'Thursday', - // @call isDayOfWeek - self::FRIDAY => 'Friday', - // @call isDayOfWeek - self::SATURDAY => 'Saturday', - ]; - - /** - * Will UTF8 encoding be used to print localized date/time ? - * - * @var bool - */ - protected static $utf8 = false; - - /** - * List of unit and magic methods associated as doc-comments. - * - * @var array - */ - protected static $units = [ - // @call setUnit - // @call addUnit - 'year', - // @call setUnit - // @call addUnit - 'month', - // @call setUnit - // @call addUnit - 'day', - // @call setUnit - // @call addUnit - 'hour', - // @call setUnit - // @call addUnit - 'minute', - // @call setUnit - // @call addUnit - 'second', - // @call setUnit - // @call addUnit - 'milli', - // @call setUnit - // @call addUnit - 'millisecond', - // @call setUnit - // @call addUnit - 'micro', - // @call setUnit - // @call addUnit - 'microsecond', - ]; - - /** - * Creates a DateTimeZone from a string, DateTimeZone or integer offset. - * - * @param DateTimeZone|string|int|null $object original value to get CarbonTimeZone from it. - * @param DateTimeZone|string|int|null $objectDump dump of the object for error messages. - * - * @throws \InvalidArgumentException - * - * @return CarbonTimeZone|false - */ - protected static function safeCreateDateTimeZone($object, $objectDump = null) - { - return CarbonTimeZone::instance($object, $objectDump); - } - - /** - * Creates a DateTimeZone from a string, DateTimeZone or integer offset then convert it as region timezone - * if integer. - * - * @param DateTimeZone|string|int|null $object - * @param DateTimeZone|string|int|null $originalObject if different - * - * @throws \InvalidArgumentException - * - * @return CarbonTimeZone|false - */ - protected function autoDetectTimeZone($object, $originalObject = null) - { - /** @var CarbonTimeZone $timezone */ - $timezone = CarbonTimeZone::instance($object); - - if ($timezone && is_int($originalObject ?: $object)) { - $timezone = $timezone->toRegionTimeZone($this); - } - - return $timezone; - } - - /** - * Get the TimeZone associated with the Carbon instance (as CarbonTimeZone). - * - * @return CarbonTimeZone - * - * @link http://php.net/manual/en/datetime.gettimezone.php - */ - public function getTimezone() - { - return CarbonTimeZone::instance(parent::getTimezone()); - } - - /** - * List of minimum and maximums for each unit. - * - * @return array - */ - protected static function getRangesByUnit() - { - return [ - // @call roundUnit - 'year' => [1, 9999], - // @call roundUnit - 'month' => [1, static::MONTHS_PER_YEAR], - // @call roundUnit - 'day' => [1, 31], - // @call roundUnit - 'hour' => [0, static::HOURS_PER_DAY - 1], - // @call roundUnit - 'minute' => [0, static::MINUTES_PER_HOUR - 1], - // @call roundUnit - 'second' => [0, static::SECONDS_PER_MINUTE - 1], - ]; - } - - /** - * Get a copy of the instance. - * - * @return static - */ - public function copy() - { - return clone $this; - } - - /** - * @alias copy - * - * Get a copy of the instance. - * - * @return static - */ - public function clone() - { - return clone $this; - } - - /** - * Returns a present instance in the same timezone. - * - * @return static - */ - public function nowWithSameTz() - { - return static::now($this->getTimezone()); - } - - /** - * Throws an exception if the given object is not a DateTime and does not implement DateTimeInterface. - * - * @param mixed $date - * @param string|array $other - * - * @throws \InvalidArgumentException - */ - protected static function expectDateTime($date, $other = []) - { - $message = 'Expected '; - foreach ((array) $other as $expect) { - $message .= "$expect, "; - } - - if (!$date instanceof DateTime && !$date instanceof DateTimeInterface) { - throw new InvalidArgumentException( - $message.'DateTime or DateTimeInterface, '. - (is_object($date) ? get_class($date) : gettype($date)).' given' - ); - } - } - - /** - * Return the Carbon instance passed through, a now instance in the same timezone - * if null given or parse the input if string given. - * - * @param \Carbon\Carbon|\DateTimeInterface|string|null $date - * - * @return static - */ - protected function resolveCarbon($date = null) - { - if (!$date) { - return $this->nowWithSameTz(); - } - - if (is_string($date)) { - return static::parse($date, $this->getTimezone()); - } - - static::expectDateTime($date, ['null', 'string']); - - return $date instanceof self ? $date : static::instance($date); - } - - /** - * Return the Carbon instance passed through, a now instance in the same timezone - * if null given or parse the input if string given. - * - * @param \Carbon\Carbon|\Carbon\CarbonPeriod|\Carbon\CarbonInterval|\DateInterval|\DatePeriod|\DateTimeInterface|string|null $date - * - * @return static - */ - public function carbonize($date = null) - { - if ($date instanceof DateInterval) { - return $this->copy()->add($date); - } - - if ($date instanceof DatePeriod || $date instanceof CarbonPeriod) { - $date = $date->getStartDate(); - } - - return $this->resolveCarbon($date); - } - - /////////////////////////////////////////////////////////////////// - ///////////////////////// GETTERS AND SETTERS ///////////////////// - /////////////////////////////////////////////////////////////////// - - /** - * Get a part of the Carbon object - * - * @param string $name - * - * @throws InvalidArgumentException|ReflectionException - * - * @return string|int|bool|DateTimeZone|null - */ - public function __get($name) - { - return $this->get($name); - } - - /** - * Get a part of the Carbon object - * - * @param string $name - * - * @throws InvalidArgumentException|ReflectionException - * - * @return string|int|bool|DateTimeZone|null - */ - public function get($name) - { - static $formats = [ - // @property int - 'year' => 'Y', - // @property int - 'yearIso' => 'o', - // @property int - // @call isSameUnit - 'month' => 'n', - // @property int - 'day' => 'j', - // @property int - 'hour' => 'G', - // @property int - 'minute' => 'i', - // @property int - 'second' => 's', - // @property int - 'micro' => 'u', - // @property int - 'microsecond' => 'u', - // @property-read int 0 (for Sunday) through 6 (for Saturday) - 'dayOfWeek' => 'w', - // @property-read int 1 (for Monday) through 7 (for Sunday) - 'dayOfWeekIso' => 'N', - // @property-read int ISO-8601 week number of year, weeks starting on Monday - 'weekOfYear' => 'W', - // @property-read int number of days in the given month - 'daysInMonth' => 't', - // @property int seconds since the Unix Epoch - 'timestamp' => 'U', - // @property-read string "am"/"pm" (Ante meridiem or Post meridiem latin lowercase mark) - 'latinMeridiem' => 'a', - // @property-read string "AM"/"PM" (Ante meridiem or Post meridiem latin uppercase mark) - 'latinUpperMeridiem' => 'A', - // @property string the day of week in English - 'englishDayOfWeek' => 'l', - // @property string the abbreviated day of week in English - 'shortEnglishDayOfWeek' => 'D', - // @property string the month in English - 'englishMonth' => 'F', - // @property string the abbreviated month in English - 'shortEnglishMonth' => 'M', - // @property string the day of week in current locale LC_TIME - 'localeDayOfWeek' => '%A', - // @property string the abbreviated day of week in current locale LC_TIME - 'shortLocaleDayOfWeek' => '%a', - // @property string the month in current locale LC_TIME - 'localeMonth' => '%B', - // @property string the abbreviated month in current locale LC_TIME - 'shortLocaleMonth' => '%b', - ]; - - switch (true) { - case isset($formats[$name]): - $format = $formats[$name]; - $method = substr($format, 0, 1) === '%' ? 'formatLocalized' : 'rawFormat'; - $value = $this->$method($format); - - return is_numeric($value) ? (int) $value : $value; - - // @property-read string long name of weekday translated according to Carbon locale, in english if no translation available for current language - case $name === 'dayName': - return $this->getTranslatedDayName(); - // @property-read string short name of weekday translated according to Carbon locale, in english if no translation available for current language - case $name === 'shortDayName': - return $this->getTranslatedShortDayName(); - // @property-read string very short name of weekday translated according to Carbon locale, in english if no translation available for current language - case $name === 'minDayName': - return $this->getTranslatedMinDayName(); - // @property-read string long name of month translated according to Carbon locale, in english if no translation available for current language - case $name === 'monthName': - return $this->getTranslatedMonthName(); - // @property-read string short name of month translated according to Carbon locale, in english if no translation available for current language - case $name === 'shortMonthName': - return $this->getTranslatedShortMonthName(); - // @property-read string lowercase meridiem mark translated according to Carbon locale, in latin if no translation available for current language - case $name === 'meridiem': - return $this->meridiem(true); - // @property-read string uppercase meridiem mark translated according to Carbon locale, in latin if no translation available for current language - case $name === 'upperMeridiem': - return $this->meridiem(); - // @property-read int current hour from 1 to 24 - case $name === 'noZeroHour': - return $this->hour ?: 24; - // @property int - case $name === 'milliseconds': - // @property int - case $name === 'millisecond': - // @property int - case $name === 'milli': - return (int) floor($this->rawFormat('u') / 1000); - - // @property int 1 through 53 - case $name === 'week': - return (int) $this->week(); - - // @property int 1 through 53 - case $name === 'isoWeek': - return (int) $this->isoWeek(); - - // @property int year according to week format - case $name === 'weekYear': - return (int) $this->weekYear(); - - // @property int year according to ISO week format - case $name === 'isoWeekYear': - return (int) $this->isoWeekYear(); - - // @property-read int 51 through 53 - case $name === 'weeksInYear': - return (int) $this->weeksInYear(); - - // @property-read int 51 through 53 - case $name === 'isoWeeksInYear': - return (int) $this->isoWeeksInYear(); - - // @property-read int 1 through 5 - case $name === 'weekOfMonth': - return (int) ceil($this->day / static::DAYS_PER_WEEK); - - // @property-read int 1 through 5 - case $name === 'weekNumberInMonth': - return (int) ceil(($this->day + $this->copy()->startOfMonth()->dayOfWeekIso - 1) / static::DAYS_PER_WEEK); - - // @property-read int 0 through 6 - case $name === 'firstWeekDay': - return $this->localTranslator ? ($this->getTranslationMessage('first_day_of_week') ?? 0) : static::getWeekStartsAt(); - - // @property-read int 0 through 6 - case $name === 'lastWeekDay': - return $this->localTranslator ? (($this->getTranslationMessage('first_day_of_week') ?? 0) + static::DAYS_PER_WEEK - 1) % static::DAYS_PER_WEEK : static::getWeekEndsAt(); - - // @property int 1 through 366 - case $name === 'dayOfYear': - return 1 + intval($this->rawFormat('z')); - - // @property-read int 365 or 366 - case $name === 'daysInYear': - return $this->isLeapYear() ? 366 : 365; - - // @property int does a diffInYears() with default parameters - case $name === 'age': - return $this->diffInYears(); - - // @property-read int the quarter of this instance, 1 - 4 - // @call isSameUnit - case $name === 'quarter': - return (int) ceil($this->month / static::MONTHS_PER_QUARTER); - - // @property-read int the decade of this instance - // @call isSameUnit - case $name === 'decade': - return (int) ceil($this->year / static::YEARS_PER_DECADE); - - // @property-read int the century of this instance - // @call isSameUnit - case $name === 'century': - $factor = 1; - $year = $this->year; - if ($year < 0) { - $year = -$year; - $factor = -1; - } - - return (int) ($factor * ceil($year / static::YEARS_PER_CENTURY)); - - // @property-read int the millennium of this instance - // @call isSameUnit - case $name === 'millennium': - $factor = 1; - $year = $this->year; - if ($year < 0) { - $year = -$year; - $factor = -1; - } - - return (int) ($factor * ceil($year / static::YEARS_PER_MILLENNIUM)); - - // @property int the timezone offset in seconds from UTC - case $name === 'offset': - return $this->getOffset(); - - // @property int the timezone offset in minutes from UTC - case $name === 'offsetMinutes': - return $this->getOffset() / static::SECONDS_PER_MINUTE; - - // @property int the timezone offset in hours from UTC - case $name === 'offsetHours': - return $this->getOffset() / static::SECONDS_PER_MINUTE / static::MINUTES_PER_HOUR; - - // @property-read bool daylight savings time indicator, true if DST, false otherwise - case $name === 'dst': - return $this->rawFormat('I') === '1'; - - // @property-read bool checks if the timezone is local, true if local, false otherwise - case $name === 'local': - return $this->getOffset() === $this->copy()->setTimezone(date_default_timezone_get())->getOffset(); - - // @property-read bool checks if the timezone is UTC, true if UTC, false otherwise - case $name === 'utc': - return $this->getOffset() === 0; - - // @property CarbonTimeZone $timezone the current timezone - // @property CarbonTimeZone $tz alias of $timezone - case $name === 'timezone' || $name === 'tz': - return CarbonTimeZone::instance($this->getTimezone()); - - // @property-read string $timezoneName the current timezone name - // @property-read string $tzName alias of $timezoneName - case $name === 'timezoneName' || $name === 'tzName': - return $this->getTimezone()->getName(); - - // @property-read string $timezoneAbbreviatedName the current timezone abbreviated name - // @property-read string $tzAbbrName alias of $timezoneAbbreviatedName - case $name === 'timezoneAbbreviatedName' || $name === 'tzAbbrName': - return CarbonTimeZone::instance($this->getTimezone())->getAbbr($this->dst); - - // @property-read string locale of the current instance - case $name === 'locale': - return $this->getLocalTranslator()->getLocale(); - - default: - if (static::hasMacro($macro = 'get'.ucfirst($name))) { - return $this->$macro(); - } - - throw new InvalidArgumentException(sprintf("Unknown getter '%s'", $name)); - } - } - - /** - * Check if an attribute exists on the object - * - * @param string $name - * - * @return bool - */ - public function __isset($name) - { - try { - $this->__get($name); - } catch (InvalidArgumentException | ReflectionException $e) { - return false; - } - - return true; - } - - /** - * Set a part of the Carbon object - * - * @param string $name - * @param string|int|DateTimeZone $value - * - * @throws InvalidArgumentException|ReflectionException - * - * @return void - */ - public function __set($name, $value) - { - $this->set($name, $value); - } - - /** - * Set a part of the Carbon object - * - * @param string|array $name - * @param string|int|DateTimeZone $value - * - * @throws InvalidArgumentException|ReflectionException - * - * @return $this - */ - public function set($name, $value = null) - { - if ($this->isImmutable()) { - throw new RuntimeException(sprintf( - '%s class is immutable.', - static::class - )); - } - - if (is_array($name)) { - foreach ($name as $key => $value) { - $this->set($key, $value); - } - - return $this; - } - - switch ($name) { - case 'milliseconds': - case 'millisecond': - case 'milli': - case 'microseconds': - case 'microsecond': - case 'micro': - if (substr($name, 0, 5) === 'milli') { - $value *= 1000; - } - - while ($value < 0) { - $this->subSecond(); - $value += static::MICROSECONDS_PER_SECOND; - } - - while ($value >= static::MICROSECONDS_PER_SECOND) { - $this->addSecond(); - $value -= static::MICROSECONDS_PER_SECOND; - } - - $this->modify($this->rawFormat('H:i:s.').str_pad((string) round($value), 6, '0', STR_PAD_LEFT)); - - break; - - case 'year': - case 'month': - case 'day': - case 'hour': - case 'minute': - case 'second': - [$year, $month, $day, $hour, $minute, $second] = array_map('intval', explode('-', $this->rawFormat('Y-n-j-G-i-s'))); - $$name = $value; - $this->setDateTime($year, $month, $day, $hour, $minute, $second); - - break; - - case 'week': - $this->week($value); - - break; - - case 'isoWeek': - $this->isoWeek($value); - - break; - - case 'weekYear': - $this->weekYear($value); - - break; - - case 'isoWeekYear': - $this->isoWeekYear($value); - - break; - - case 'dayOfYear': - $this->addDays($value - $this->dayOfYear); - - return $this; - - case 'timestamp': - parent::setTimestamp((int) $value); - - break; - - case 'offset': - $this->setTimezone(static::safeCreateDateTimeZone($value / static::SECONDS_PER_MINUTE / static::MINUTES_PER_HOUR)); - - break; - - case 'offsetMinutes': - $this->setTimezone(static::safeCreateDateTimeZone($value / static::MINUTES_PER_HOUR)); - - break; - - case 'offsetHours': - $this->setTimezone(static::safeCreateDateTimeZone($value)); - - break; - - case 'timezone': - case 'tz': - $this->setTimezone($value); - - break; - - default: - if (static::hasMacro($macro = 'set'.ucfirst($name))) { - $this->$macro($value); - - break; - } - - if ($this->localStrictModeEnabled ?? static::isStrictModeEnabled()) { - throw new InvalidArgumentException(sprintf("Unknown setter '%s'", $name)); - } - - $this->$name = $value; - } - - return $this; - } - - protected function getTranslatedFormByRegExp($baseKey, $keySuffix, $context, $subKey, $defaultValue) - { - $key = $baseKey.$keySuffix; - $standaloneKey = "${key}_standalone"; - $baseTranslation = $this->getTranslationMessage($key); - - if ($baseTranslation instanceof Closure) { - return $baseTranslation($this, $context, $subKey) ?: $defaultValue; - } - - if ( - $this->getTranslationMessage("$standaloneKey.$subKey") && - (!$context || ($regExp = $this->getTranslationMessage("${baseKey}_regexp")) && !preg_match($regExp, $context)) - ) { - $key = $standaloneKey; - } - - return $this->getTranslationMessage("$key.$subKey", null, $defaultValue); - } - - /** - * Get the translation of the current week day name (with context for languages with multiple forms). - * - * @param string|null $context whole format string - * @param string $keySuffix "", "_short" or "_min" - * @param string|null $defaultValue default value if translation missing - * - * @return string - */ - public function getTranslatedDayName($context = null, $keySuffix = '', $defaultValue = null) - { - return $this->getTranslatedFormByRegExp('weekdays', $keySuffix, $context, $this->dayOfWeek, $defaultValue ?: $this->englishDayOfWeek); - } - - /** - * Get the translation of the current short week day name (with context for languages with multiple forms). - * - * @param string|null $context whole format string - * - * @return string - */ - public function getTranslatedShortDayName($context = null) - { - return $this->getTranslatedDayName($context, '_short', $this->shortEnglishDayOfWeek); - } - - /** - * Get the translation of the current abbreviated week day name (with context for languages with multiple forms). - * - * @param string|null $context whole format string - * - * @return string - */ - public function getTranslatedMinDayName($context = null) - { - return $this->getTranslatedDayName($context, '_min', $this->shortEnglishDayOfWeek); - } - - /** - * Get the translation of the current month day name (with context for languages with multiple forms). - * - * @param string|null $context whole format string - * @param string $keySuffix "" or "_short" - * @param string|null $defaultValue default value if translation missing - * - * @return string - */ - public function getTranslatedMonthName($context = null, $keySuffix = '', $defaultValue = null) - { - return $this->getTranslatedFormByRegExp('months', $keySuffix, $context, $this->month - 1, $defaultValue ?: $this->englishMonth); - } - - /** - * Get the translation of the current short month day name (with context for languages with multiple forms). - * - * @param string|null $context whole format string - * - * @return string - */ - public function getTranslatedShortMonthName($context = null) - { - return $this->getTranslatedMonthName($context, '_short', $this->shortEnglishMonth); - } - - /** - * Get/set the day of year. - * - * @param int|null $value new value for day of year if using as setter. - * - * @return static|int - */ - public function dayOfYear($value = null) - { - $dayOfYear = $this->dayOfYear; - - return is_null($value) ? $dayOfYear : $this->addDays($value - $dayOfYear); - } - - /** - * Get/set the weekday from 0 (Sunday) to 6 (Saturday). - * - * @param int|null $value new value for weekday if using as setter. - * - * @return static|int - */ - public function weekday($value = null) - { - $dayOfWeek = ($this->dayOfWeek + 7 - intval($this->getTranslationMessage('first_day_of_week') ?? 0)) % 7; - - return is_null($value) ? $dayOfWeek : $this->addDays($value - $dayOfWeek); - } - - /** - * Get/set the ISO weekday from 1 (Monday) to 7 (Sunday). - * - * @param int|null $value new value for weekday if using as setter. - * - * @return static|int - */ - public function isoWeekday($value = null) - { - $dayOfWeekIso = $this->dayOfWeekIso; - - return is_null($value) ? $dayOfWeekIso : $this->addDays($value - $dayOfWeekIso); - } - - /** - * Set any unit to a new value without overflowing current other unit given. - * - * @param string $valueUnit unit name to modify - * @param int $value new value for the input unit - * @param string $overflowUnit unit name to not overflow - * - * @return static - */ - public function setUnitNoOverflow($valueUnit, $value, $overflowUnit) - { - try { - $original = $this->copy(); - /** @var static $date */ - $date = $this->$valueUnit($value); - $end = $original->copy()->endOf($overflowUnit); - $start = $original->copy()->startOf($overflowUnit); - if ($date < $start) { - $date = $date->setDateTimeFrom($start); - } elseif ($date > $end) { - $date = $date->setDateTimeFrom($end); - } - - return $date; - } catch (BadMethodCallException | ReflectionException $exception) { - throw new InvalidArgumentException("Unknown unit '$valueUnit'", 0, $exception); - } - } - - /** - * Add any unit to a new value without overflowing current other unit given. - * - * @param string $valueUnit unit name to modify - * @param int $value amount to add to the input unit - * @param string $overflowUnit unit name to not overflow - * - * @return static - */ - public function addUnitNoOverflow($valueUnit, $value, $overflowUnit) - { - return $this->setUnitNoOverflow($valueUnit, $this->$valueUnit + $value, $overflowUnit); - } - - /** - * Subtract any unit to a new value without overflowing current other unit given. - * - * @param string $valueUnit unit name to modify - * @param int $value amount to subtract to the input unit - * @param string $overflowUnit unit name to not overflow - * - * @return static - */ - public function subUnitNoOverflow($valueUnit, $value, $overflowUnit) - { - return $this->setUnitNoOverflow($valueUnit, $this->$valueUnit - $value, $overflowUnit); - } - - /** - * Returns the minutes offset to UTC if no arguments passed, else set the timezone with given minutes shift passed. - * - * @param int|null $offset - * - * @return int|static - */ - public function utcOffset(int $offset = null) - { - if (func_num_args() < 1) { - return $this->offsetMinutes; - } - - return $this->setTimezone(static::safeCreateDateTimeZone($offset / static::MINUTES_PER_HOUR)); - } - - /** - * Set the date with gregorian year, month and day numbers. - * - * @see https://php.net/manual/en/datetime.setdate.php - * - * @param int $year - * @param int $month - * @param int $day - * - * @return static - */ - public function setDate($year, $month, $day) - { - return parent::setDate((int) $year, (int) $month, (int) $day); - } - - /** - * Set a date according to the ISO 8601 standard - using weeks and day offsets rather than specific dates. - * - * @see https://php.net/manual/en/datetime.setisodate.php - * - * @param int $year - * @param int $week - * @param int $day - * - * @return static - */ - public function setISODate($year, $week, $day = 1) - { - return parent::setISODate((int) $year, (int) $week, (int) $day); - } - - /** - * Set the date and time all together. - * - * @param int $year - * @param int $month - * @param int $day - * @param int $hour - * @param int $minute - * @param int $second - * @param int $microseconds - * - * @return static - */ - public function setDateTime($year, $month, $day, $hour, $minute, $second = 0, $microseconds = 0) - { - return $this->setDate($year, $month, $day)->setTime((int) $hour, (int) $minute, (int) $second, (int) $microseconds); - } - - /** - * Resets the current time of the DateTime object to a different time. - * - * @see https://php.net/manual/en/datetime.settime.php - * - * @param int $hour - * @param int $minute - * @param int $second - * @param int $microseconds - * - * @return static - */ - public function setTime($hour, $minute, $second = 0, $microseconds = 0) - { - return parent::setTime((int) $hour, (int) $minute, (int) $second, (int) $microseconds); - } - - /** - * Sets the date and time based on an Unix timestamp. - * - * @see https://php.net/manual/en/datetime.settimestamp.php - * - * @param int $unixtimestamp - * - * @return static - */ - public function setTimestamp($unixtimestamp) - { - return parent::setTimestamp((int) $unixtimestamp); - } - - /** - * Set the time by time string. - * - * @param string $time - * - * @return static - */ - public function setTimeFromTimeString($time) - { - if (strpos($time, ':') === false) { - $time .= ':0'; - } - - return $this->modify($time); - } - - /** - * @alias setTimezone - * - * @param DateTimeZone|string $value - * - * @return static - */ - public function timezone($value) - { - return $this->setTimezone($value); - } - - /** - * Set the timezone or returns the timezone name if no arguments passed. - * - * @param DateTimeZone|string $value - * - * @return static|string - */ - public function tz($value = null) - { - if (func_num_args() < 1) { - return $this->tzName; - } - - return $this->setTimezone($value); - } - - /** - * Set the instance's timezone from a string or object. - * - * @param DateTimeZone|string $value - * - * @return static - */ - public function setTimezone($value) - { - /** @var static $date */ - $date = parent::setTimezone(static::safeCreateDateTimeZone($value)); - // https://bugs.php.net/bug.php?id=72338 - // just workaround on this bug - $date->getTimestamp(); - - return $date; - } - - /** - * Set the instance's timezone from a string or object and add/subtract the offset difference. - * - * @param DateTimeZone|string $value - * - * @return static - */ - public function shiftTimezone($value) - { - $offset = $this->offset; - $date = $this->setTimezone($value); - - return $date->addRealMicroseconds(($offset - $date->offset) * static::MICROSECONDS_PER_SECOND); - } - - /** - * Set the instance's timezone to UTC. - * - * @return static - */ - public function utc() - { - return $this->setTimezone('UTC'); - } - - /** - * Set the year, month, and date for this instance to that of the passed instance. - * - * @param \Carbon\Carbon|\DateTimeInterface $date now if null - * - * @return static - */ - public function setDateFrom($date = null) - { - $date = $this->resolveCarbon($date); - - return $this->setDate($date->year, $date->month, $date->day); - } - - /** - * Set the hour, minute, second and microseconds for this instance to that of the passed instance. - * - * @param \Carbon\Carbon|\DateTimeInterface $date now if null - * - * @return static - */ - public function setTimeFrom($date = null) - { - $date = $this->resolveCarbon($date); - - return $this->setTime($date->hour, $date->minute, $date->second, $date->microsecond); - } - - /** - * Set the date and time for this instance to that of the passed instance. - * - * @param \Carbon\Carbon|\DateTimeInterface $date - * - * @return static - */ - public function setDateTimeFrom($date = null) - { - $date = $this->resolveCarbon($date); - - return $this->modify($date->rawFormat('Y-m-d H:i:s.u')); - } - - /** - * Get the days of the week - * - * @return array - */ - public static function getDays() - { - return static::$days; - } - - /////////////////////////////////////////////////////////////////// - /////////////////////// WEEK SPECIAL DAYS ///////////////////////// - /////////////////////////////////////////////////////////////////// - - /** - * Get the first day of week - * - * @return int - */ - public static function getWeekStartsAt() - { - return static::$weekStartsAt; - } - - /** - * @deprecated To avoid conflict between different third-party libraries, static setters should not be used. - * Use $weekEndsAt optional parameter instead when using endOfWeek method. You can also use the - * 'first_day_of_week' locale setting to change the start of week according to current locale - * selected and implicitly the end of week. - * - * Set the first day of week - * - * @param int $day week start day - * - * @return void - */ - public static function setWeekStartsAt($day) - { - static::$weekStartsAt = max(0, (7 + $day) % 7); - } - - /** - * Get the last day of week - * - * @return int - */ - public static function getWeekEndsAt() - { - return static::$weekEndsAt; - } - - /** - * @deprecated To avoid conflict between different third-party libraries, static setters should not be used. - * Use $weekStartsAt optional parameter instead when using startOfWeek, floorWeek, ceilWeek - * or roundWeek method. You can also use the 'first_day_of_week' locale setting to change the - * start of week according to current locale selected and implicitly the end of week. - * - * Set the last day of week - * - * @param int $day - * - * @return void - */ - public static function setWeekEndsAt($day) - { - static::$weekEndsAt = max(0, (7 + $day) % 7); - } - - /** - * Get weekend days - * - * @return array - */ - public static function getWeekendDays() - { - return static::$weekendDays; - } - - /** - * @deprecated To avoid conflict between different third-party libraries, static setters should not be used. - * You should rather consider week-end is always saturday and sunday, and if you have some custom - * week-end days to handle, give to those days an other name and create a macro for them: - * - * ``` - * Carbon::macro('isDayOff', function ($date) { - * return $date->isSunday() || $date->isMonday(); - * }); - * Carbon::macro('isNotDayOff', function ($date) { - * return !$date->isDayOff(); - * }); - * if ($someDate->isDayOff()) ... - * if ($someDate->isNotDayOff()) ... - * // Add 5 not-off days - * $count = 5; - * while ($someDate->isDayOff() || ($count-- > 0)) { - * $someDate->addDay(); - * } - * ``` - * - * Set weekend days - * - * @param array $days - * - * @return void - */ - public static function setWeekendDays($days) - { - static::$weekendDays = $days; - } - - /** - * Determine if a time string will produce a relative date. - * - * @param string $time - * - * @return bool true if time match a relative date, false if absolute or invalid time string - */ - public static function hasRelativeKeywords($time) - { - if (!$time || strtotime($time) === false) { - return false; - } - - $date1 = new DateTime('2000-01-01T00:00:00Z'); - $date1->modify($time); - $date2 = new DateTime('2001-12-25T00:00:00Z'); - $date2->modify($time); - - return $date1 != $date2; - } - - /////////////////////////////////////////////////////////////////// - /////////////////////// STRING FORMATTING ///////////////////////// - /////////////////////////////////////////////////////////////////// - - /** - * @deprecated To avoid conflict between different third-party libraries, static setters should not be used. - * You should rather use UTF-8 language packages on every machine. - * - * Set if UTF8 will be used for localized date/time. - * - * @param bool $utf8 - */ - public static function setUtf8($utf8) - { - static::$utf8 = $utf8; - } - - /** - * Format the instance with the current locale. You can set the current - * locale using setlocale() http://php.net/setlocale. - * - * @param string $format - * - * @return string - */ - public function formatLocalized($format) - { - // Check for Windows to find and replace the %e modifier correctly. - if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') { - $format = preg_replace('#(?toDateTimeString())); - - return static::$utf8 ? utf8_encode($formatted) : $formatted; - } - - /** - * Returns list of locale formats for ISO formatting. - * - * @param string|null $locale current locale used if null - * - * @return array - */ - public function getIsoFormats($locale = null) - { - return [ - 'LT' => $this->getTranslationMessage('formats.LT', $locale, 'h:mm A'), - 'LTS' => $this->getTranslationMessage('formats.LTS', $locale, 'h:mm:ss A'), - 'L' => $this->getTranslationMessage('formats.L', $locale, 'MM/DD/YYYY'), - 'LL' => $this->getTranslationMessage('formats.LL', $locale, 'MMMM D, YYYY'), - 'LLL' => $this->getTranslationMessage('formats.LLL', $locale, 'MMMM D, YYYY h:mm A'), - 'LLLL' => $this->getTranslationMessage('formats.LLLL', $locale, 'dddd, MMMM D, YYYY h:mm A'), - ]; - } - - /** - * Returns list of calendar formats for ISO formatting. - * - * @param string|null $locale current locale used if null - * - * @return array - */ - public function getCalendarFormats($locale = null) - { - return [ - 'sameDay' => $this->getTranslationMessage('calendar.sameDay', $locale, '[Today at] LT'), - 'nextDay' => $this->getTranslationMessage('calendar.nextDay', $locale, '[Tomorrow at] LT'), - 'nextWeek' => $this->getTranslationMessage('calendar.nextWeek', $locale, 'dddd [at] LT'), - 'lastDay' => $this->getTranslationMessage('calendar.lastDay', $locale, '[Yesterday at] LT'), - 'lastWeek' => $this->getTranslationMessage('calendar.lastWeek', $locale, '[Last] dddd [at] LT'), - 'sameElse' => $this->getTranslationMessage('calendar.sameElse', $locale, 'L'), - ]; - } - - /** - * Returns list of locale units for ISO formatting. - * - * @return array - */ - public static function getIsoUnits() - { - static $units = null; - - if ($units === null) { - $units = [ - 'OD' => ['getAltNumber', ['day']], - 'OM' => ['getAltNumber', ['month']], - 'OY' => ['getAltNumber', ['year']], - 'OH' => ['getAltNumber', ['hour']], - 'Oh' => ['getAltNumber', ['h']], - 'Om' => ['getAltNumber', ['minute']], - 'Os' => ['getAltNumber', ['second']], - 'D' => 'day', - 'DD' => ['rawFormat', ['d']], - 'Do' => ['ordinal', ['day', 'D']], - 'd' => 'dayOfWeek', - 'dd' => function (CarbonInterface $date, $originalFormat = null) { - return $date->getTranslatedMinDayName($originalFormat); - }, - 'ddd' => function (CarbonInterface $date, $originalFormat = null) { - return $date->getTranslatedShortDayName($originalFormat); - }, - 'dddd' => function (CarbonInterface $date, $originalFormat = null) { - return $date->getTranslatedDayName($originalFormat); - }, - 'DDD' => 'dayOfYear', - 'DDDD' => ['getPaddedUnit', ['dayOfYear', 3]], - 'DDDo' => ['ordinal', ['dayOfYear', 'DDD']], - 'e' => ['weekday', []], - 'E' => 'dayOfWeekIso', - 'H' => ['rawFormat', ['G']], - 'HH' => ['rawFormat', ['H']], - 'h' => ['rawFormat', ['g']], - 'hh' => ['rawFormat', ['h']], - 'k' => 'noZeroHour', - 'kk' => ['getPaddedUnit', ['noZeroHour']], - 'hmm' => ['rawFormat', ['gi']], - 'hmmss' => ['rawFormat', ['gis']], - 'Hmm' => ['rawFormat', ['Gi']], - 'Hmmss' => ['rawFormat', ['Gis']], - 'm' => 'minute', - 'mm' => ['rawFormat', ['i']], - 'a' => 'meridiem', - 'A' => 'upperMeridiem', - 's' => 'second', - 'ss' => ['getPaddedUnit', ['second']], - 'S' => function (CarbonInterface $date) { - return strval((string) floor($date->micro / 100000)); - }, - 'SS' => function (CarbonInterface $date) { - return str_pad((string) floor($date->micro / 10000), 2, '0', STR_PAD_LEFT); - }, - 'SSS' => function (CarbonInterface $date) { - return str_pad((string) floor($date->micro / 1000), 3, '0', STR_PAD_LEFT); - }, - 'SSSS' => function (CarbonInterface $date) { - return str_pad((string) floor($date->micro / 100), 4, '0', STR_PAD_LEFT); - }, - 'SSSSS' => function (CarbonInterface $date) { - return str_pad((string) floor($date->micro / 10), 5, '0', STR_PAD_LEFT); - }, - 'SSSSSS' => ['getPaddedUnit', ['micro', 6]], - 'SSSSSSS' => function (CarbonInterface $date) { - return str_pad((string) floor($date->micro * 10), 7, '0', STR_PAD_LEFT); - }, - 'SSSSSSSS' => function (CarbonInterface $date) { - return str_pad((string) floor($date->micro * 100), 8, '0', STR_PAD_LEFT); - }, - 'SSSSSSSSS' => function (CarbonInterface $date) { - return str_pad((string) floor($date->micro * 1000), 9, '0', STR_PAD_LEFT); - }, - 'M' => 'month', - 'MM' => ['rawFormat', ['m']], - 'MMM' => function (CarbonInterface $date, $originalFormat = null) { - $month = $date->getTranslatedShortMonthName($originalFormat); - $suffix = $date->getTranslationMessage('mmm_suffix'); - if ($suffix && $month !== $date->monthName) { - $month .= $suffix; - } - - return $month; - }, - 'MMMM' => function (CarbonInterface $date, $originalFormat = null) { - return $date->getTranslatedMonthName($originalFormat); - }, - 'Mo' => ['ordinal', ['month', 'M']], - 'Q' => 'quarter', - 'Qo' => ['ordinal', ['quarter', 'M']], - 'G' => 'isoWeekYear', - 'GG' => ['getPaddedUnit', ['isoWeekYear']], - 'GGG' => ['getPaddedUnit', ['isoWeekYear', 3]], - 'GGGG' => ['getPaddedUnit', ['isoWeekYear', 4]], - 'GGGGG' => ['getPaddedUnit', ['isoWeekYear', 5]], - 'g' => 'weekYear', - 'gg' => ['getPaddedUnit', ['weekYear']], - 'ggg' => ['getPaddedUnit', ['weekYear', 3]], - 'gggg' => ['getPaddedUnit', ['weekYear', 4]], - 'ggggg' => ['getPaddedUnit', ['weekYear', 5]], - 'W' => 'isoWeek', - 'WW' => ['getPaddedUnit', ['isoWeek']], - 'Wo' => ['ordinal', ['isoWeek', 'W']], - 'w' => 'week', - 'ww' => ['getPaddedUnit', ['week']], - 'wo' => ['ordinal', ['week', 'w']], - 'x' => ['valueOf', []], - 'X' => 'timestamp', - 'Y' => 'year', - 'YY' => ['rawFormat', ['y']], - 'YYYY' => ['getPaddedUnit', ['year', 4]], - 'YYYYY' => ['getPaddedUnit', ['year', 5]], - 'YYYYYY' => function (CarbonInterface $date) { - return ($date->year < 0 ? '' : '+').$date->getPaddedUnit('year', 6); - }, - 'z' => 'tzAbbrName', - 'zz' => 'tzName', - 'Z' => ['getOffsetString', []], - 'ZZ' => ['getOffsetString', ['']], - ]; - } - - return $units; - } - - /** - * Returns a unit of the instance padded with 0 by default or any other string if specified. - * - * @param string $unit Carbon unit name - * @param int $length Length of the output (2 by default) - * @param string $padString String to use for padding ("0" by default) - * @param int $padType Side(s) to pad (STR_PAD_LEFT by default) - * - * @return string - */ - public function getPaddedUnit($unit, $length = 2, $padString = '0', $padType = STR_PAD_LEFT) - { - return ($this->$unit < 0 ? '-' : '').str_pad((string) abs($this->$unit), $length, $padString, $padType); - } - - /** - * Return a property with its ordinal. - * - * @param string $key - * @param string|null $period - * - * @return string - */ - public function ordinal(string $key, string $period = null): string - { - $number = $this->$key; - $result = $this->translate('ordinal', [ - ':number' => $number, - ':period' => $period, - ]); - - return strval($result === 'ordinal' ? $number : $result); - } - - /** - * Return the meridiem of the current time in the current locale. - * - * @param bool $isLower if true, returns lowercase variant if available in the current locale. - * - * @return string - */ - public function meridiem(bool $isLower = false): string - { - $hour = $this->hour; - $index = $hour < 12 ? 0 : 1; - - if ($isLower) { - $key = 'meridiem.'.($index + 2); - $result = $this->translate($key); - - if ($result !== $key) { - return $result; - } - } - - $key = "meridiem.$index"; - $result = $this->translate($key); - if ($result === $key) { - $result = $this->translate('meridiem', [ - ':hour' => $this->hour, - ':minute' => $this->minute, - ':isLower' => $isLower, - ]); - - if ($result === 'meridiem') { - return $isLower ? $this->latinMeridiem : $this->latinUpperMeridiem; - } - } elseif ($isLower) { - $result = mb_strtolower($result); - } - - return $result; - } - - /** - * Returns the alternative number for a given date property if available in the current locale. - * - * @param string $key date property - * - * @return string - */ - public function getAltNumber(string $key): string - { - return $this->translateNumber(strlen($key) > 1 ? $this->$key : $this->rawFormat('h')); - } - - /** - * Format in the current language using ISO replacement patterns. - * - * @param string $format - * @param string|null $originalFormat provide context if a chunk has been passed alone - * - * @return string - */ - public function isoFormat(string $format, string $originalFormat = null): string - { - $result = ''; - $length = mb_strlen($format); - $originalFormat = $originalFormat ?: $format; - $inEscaped = false; - $formats = null; - $units = null; - - for ($i = 0; $i < $length; $i++) { - $char = mb_substr($format, $i, 1); - - if ($char === '\\') { - $result .= mb_substr($format, ++$i, 1); - - continue; - } - - if ($char === '[' && !$inEscaped) { - $inEscaped = true; - - continue; - } - - if ($char === ']' && $inEscaped) { - $inEscaped = false; - - continue; - } - - if ($inEscaped) { - $result .= $char; - - continue; - } - - $input = mb_substr($format, $i); - - if (preg_match('/^(LTS|LT|[Ll]{1,4})/', $input, $match)) { - if ($formats === null) { - $formats = $this->getIsoFormats(); - } - - $code = $match[0]; - $sequence = $formats[$code] ?? preg_replace_callback( - '/MMMM|MM|DD|dddd/', - function ($code) { - return mb_substr($code[0], 1); - }, - $formats[strtoupper($code)] ?? '' - ); - $rest = mb_substr($format, $i + mb_strlen($code)); - $format = mb_substr($format, 0, $i).$sequence.$rest; - $length = mb_strlen($format); - $input = $sequence.$rest; - } - - if (preg_match('/^'.CarbonInterface::ISO_FORMAT_REGEXP.'/', $input, $match)) { - $code = $match[0]; - - if ($units === null) { - $units = static::getIsoUnits(); - } - - $sequence = $units[$code] ?? ''; - - if ($sequence instanceof Closure) { - $sequence = $sequence($this, $originalFormat); - } elseif (is_array($sequence)) { - try { - $sequence = $this->{$sequence[0]}(...$sequence[1]); - } catch (ReflectionException | InvalidArgumentException | BadMethodCallException $e) { - $sequence = ''; - } - } elseif (is_string($sequence)) { - $sequence = $this->$sequence ?? $code; - } - - $format = mb_substr($format, 0, $i).$sequence.mb_substr($format, $i + mb_strlen($code)); - $i += mb_strlen("$sequence") - 1; - $length = mb_strlen($format); - $char = $sequence; - } - - $result .= $char; - } - - return $result; - } - - /** - * List of replacements from date() format to isoFormat(). - * - * @return array - */ - public static function getFormatsToIsoReplacements() - { - static $replacements = null; - - if ($replacements === null) { - $replacements = [ - 'd' => true, - 'D' => 'ddd', - 'j' => true, - 'l' => 'dddd', - 'N' => true, - 'S' => function ($date) { - $day = $date->rawFormat('j'); - - return str_replace("$day", '', $date->isoFormat('Do')); - }, - 'w' => true, - 'z' => true, - 'W' => true, - 'F' => 'MMMM', - 'm' => true, - 'M' => 'MMM', - 'n' => true, - 't' => true, - 'L' => true, - 'o' => true, - 'Y' => true, - 'y' => true, - 'a' => 'a', - 'A' => 'A', - 'B' => true, - 'g' => true, - 'G' => true, - 'h' => true, - 'H' => true, - 'i' => true, - 's' => true, - 'u' => true, - 'v' => true, - 'E' => true, - 'I' => true, - 'O' => true, - 'P' => true, - 'Z' => true, - 'c' => true, - 'r' => true, - 'U' => true, - ]; - } - - return $replacements; - } - - /** - * Format as ->format() do (using date replacements patterns from http://php.net/manual/fr/function.date.php) - * but translate words whenever possible (months, day names, etc.) using the current locale. - * - * @param string $format - * - * @return string - */ - public function translatedFormat(string $format): string - { - $replacements = static::getFormatsToIsoReplacements(); - $context = ''; - $isoFormat = ''; - $length = mb_strlen($format); - - for ($i = 0; $i < $length; $i++) { - $char = mb_substr($format, $i, 1); - - if ($char === '\\') { - $replacement = mb_substr($format, $i, 2); - $isoFormat .= $replacement; - $i++; - - continue; - } - - if (!isset($replacements[$char])) { - $replacement = preg_match('/^[A-Za-z]$/', $char) ? "\\$char" : $char; - $isoFormat .= $replacement; - $context .= $replacement; - - continue; - } - - $replacement = $replacements[$char]; - - if ($replacement === true) { - static $contextReplacements = null; - - if ($contextReplacements === null) { - $contextReplacements = [ - 'm' => 'MM', - 'd' => 'DD', - 't' => 'D', - 'j' => 'D', - 'N' => 'e', - 'w' => 'e', - 'n' => 'M', - 'o' => 'YYYY', - 'Y' => 'YYYY', - 'y' => 'YY', - 'g' => 'h', - 'G' => 'H', - 'h' => 'hh', - 'H' => 'HH', - 'i' => 'mm', - 's' => 'ss', - ]; - } - - $isoFormat .= '['.$this->rawFormat($char).']'; - $context .= $contextReplacements[$char] ?? ' '; - - continue; - } - - if ($replacement instanceof Closure) { - $replacement = '['.$replacement($this).']'; - $isoFormat .= $replacement; - $context .= $replacement; - - continue; - } - - $isoFormat .= $replacement; - $context .= $replacement; - } - - return $this->isoFormat($isoFormat, $context); - } - - /** - * Returns the offset hour and minute formatted with +/- and a given separator (":" by default). - * For example, if the time zone is 9 hours 30 minutes, you'll get "+09:30", with "@@" as first - * argument, "+09@@30", with "" as first argument, "+0930". Negative offset will return something - * like "-12:00". - * - * @param string $separator string to place between hours and minutes (":" by default) - * - * @return string - */ - public function getOffsetString($separator = ':') - { - $second = $this->getOffset(); - $symbol = $second < 0 ? '-' : '+'; - $minute = abs($second) / static::SECONDS_PER_MINUTE; - $hour = str_pad((string) floor($minute / static::MINUTES_PER_HOUR), 2, '0', STR_PAD_LEFT); - $minute = str_pad((string) ($minute % static::MINUTES_PER_HOUR), 2, '0', STR_PAD_LEFT); - - return "$symbol$hour$separator$minute"; - } - - protected static function executeStaticCallable($macro, ...$parameters) - { - return static::bindMacroContext(null, function () use (&$macro, &$parameters) { - if ($macro instanceof Closure) { - $boundMacro = @Closure::bind($macro, null, static::class); - - return call_user_func_array($boundMacro ?: $macro, $parameters); - } - - return call_user_func_array($macro, $parameters); - }); - } - - /** - * Dynamically handle calls to the class. - * - * @param string $method magic method name called - * @param array $parameters parameters list - * - * @throws \BadMethodCallException - * - * @return mixed - */ - public static function __callStatic($method, $parameters) - { - if (!static::hasMacro($method)) { - foreach (static::getGenericMacros() as $callback) { - try { - return static::executeStaticCallable($callback, $method, ...$parameters); - } catch (BadMethodCallException $exception) { - continue; - } - } - if (static::isStrictModeEnabled()) { - throw new BadMethodCallException(sprintf( - 'Method %s::%s does not exist.', - static::class, - $method - )); - } - - return null; - } - - return static::executeStaticCallable(static::$globalMacros[$method], ...$parameters); - } - - /** - * Set specified unit to new given value. - * - * @param string $unit year, month, day, hour, minute, second or microsecond - * @param int $value new value for given unit - * - * @return static - */ - public function setUnit($unit, $value = null) - { - $unit = static::singularUnit($unit); - $dateUnits = ['year', 'month', 'day']; - if (in_array($unit, $dateUnits)) { - return $this->setDate(...array_map(function ($name) use ($unit, $value) { - return (int) ($name === $unit ? $value : $this->$name); - }, $dateUnits)); - } - - $units = ['hour', 'minute', 'second', 'micro']; - if ($unit === 'millisecond' || $unit === 'milli') { - $value *= 1000; - $unit = 'micro'; - } elseif ($unit === 'microsecond') { - $unit = 'micro'; - } - - return $this->setTime(...array_map(function ($name) use ($unit, $value) { - return (int) ($name === $unit ? $value : $this->$name); - }, $units)); - } - - /** - * Returns standardized singular of a given singular/plural unit name (in English). - * - * @param string $unit - * - * @return string - */ - public static function singularUnit(string $unit): string - { - $unit = rtrim(mb_strtolower($unit), 's'); - - if ($unit === 'centurie') { - return 'century'; - } - - if ($unit === 'millennia') { - return 'millennium'; - } - - return $unit; - } - - /** - * Returns standardized plural of a given singular/plural unit name (in English). - * - * @param string $unit - * - * @return string - */ - public static function pluralUnit(string $unit): string - { - $unit = rtrim(strtolower($unit), 's'); - - if ($unit === 'century') { - return 'centuries'; - } - - if ($unit === 'millennium' || $unit === 'millennia') { - return 'millennia'; - } - - return "${unit}s"; - } - - protected function executeCallable($macro, ...$parameters) - { - if ($macro instanceof Closure) { - $boundMacro = @$macro->bindTo($this, static::class) ?: @$macro->bindTo(null, static::class); - - return call_user_func_array($boundMacro ?: $macro, $parameters); - } - - return call_user_func_array($macro, $parameters); - } - - protected static function getGenericMacros() - { - foreach (static::$globalGenericMacros as $list) { - foreach ($list as $macro) { - yield $macro; - } - } - } - - /** - * Dynamically handle calls to the class. - * - * @param string $method magic method name called - * @param array $parameters parameters list - * - * @throws \BadMethodCallException|\ReflectionException - * - * @return mixed - */ - public function __call($method, $parameters) - { - $diffSizes = [ - // @mode diffForHumans - 'short' => true, - // @mode diffForHumans - 'long' => false, - ]; - $diffSyntaxModes = [ - // @call diffForHumans - 'Absolute' => CarbonInterface::DIFF_ABSOLUTE, - // @call diffForHumans - 'Relative' => CarbonInterface::DIFF_RELATIVE_AUTO, - // @call diffForHumans - 'RelativeToNow' => CarbonInterface::DIFF_RELATIVE_TO_NOW, - // @call diffForHumans - 'RelativeToOther' => CarbonInterface::DIFF_RELATIVE_TO_OTHER, - ]; - $sizePattern = implode('|', array_keys($diffSizes)); - $syntaxPattern = implode('|', array_keys($diffSyntaxModes)); - - if (preg_match("/^(?$sizePattern)(?$syntaxPattern)DiffForHumans$/", $method, $match)) { - $dates = array_filter($parameters, function ($parameter) { - return $parameter instanceof DateTimeInterface; - }); - $other = null; - - if (count($dates)) { - $key = key($dates); - $other = current($dates); - array_splice($parameters, $key, 1); - } - - return $this->diffForHumans($other, $diffSyntaxModes[$match['syntax']], $diffSizes[$match['size']], ...$parameters); - } - - $action = substr($method, 0, 4); - - if ($action !== 'ceil') { - $action = substr($method, 0, 5); - } - - if (in_array($action, ['round', 'floor', 'ceil'])) { - return $this->{$action.'Unit'}(substr($method, strlen($action)), ...$parameters); - } - - $unit = rtrim($method, 's'); - - if (substr($unit, 0, 2) === 'is') { - $word = substr($unit, 2); - - if (in_array($word, static::$days)) { - return $this->isDayOfWeek($word); - } - - switch ($word) { - // @call is Check if the current instance has UTC timezone. (Both isUtc and isUTC cases are valid.) - case 'Utc': - case 'UTC': - return $this->utc; - // @call is Check if the current instance has non-UTC timezone. - case 'Local': - return $this->local; - // @call is Check if the current instance is a valid date. - case 'Valid': - return $this->year !== 0; - // @call is Check if the current instance is in a daylight saving time. - case 'DST': - return $this->dst; - } - } - - $action = substr($unit, 0, 3); - $overflow = null; - - if ($action === 'set') { - $unit = strtolower(substr($unit, 3)); - } - - if (in_array($unit, static::$units)) { - return $this->setUnit($unit, ...$parameters); - } - - if ($action === 'add' || $action === 'sub') { - $unit = substr($unit, 3); - - if (substr($unit, 0, 4) === 'Real') { - $unit = static::singularUnit(substr($unit, 4)); - - return $this->{"${action}RealUnit"}($unit, ...$parameters); - } - - if (preg_match('/^(Month|Quarter|Year|Decade|Century|Centurie|Millennium|Millennia)s?(No|With|Without|WithNo)Overflow$/', $unit, $match)) { - $unit = $match[1]; - $overflow = $match[2] === 'With'; - } - - $unit = static::singularUnit($unit); - } - - if (static::isModifiableUnit($unit)) { - return $this->{"${action}Unit"}($unit, $parameters[0] ?? 1, $overflow); - } - - $sixFirstLetters = substr($unit, 0, 6); - $factor = -1; - - if ($sixFirstLetters === 'isLast') { - $sixFirstLetters = 'isNext'; - $factor = 1; - } - - if ($sixFirstLetters === 'isNext') { - $lowerUnit = strtolower(substr($unit, 6)); - - if (static::isModifiableUnit($lowerUnit)) { - return $this->copy()->addUnit($lowerUnit, $factor, false)->isSameUnit($lowerUnit, ...$parameters); - } - } - - if ($sixFirstLetters === 'isSame') { - try { - return $this->isSameUnit(strtolower(substr($unit, 6)), ...$parameters); - } catch (BadUnitException $exception) { - // Try next - } - } - - if (substr($unit, 0, 9) === 'isCurrent') { - try { - return $this->isCurrentUnit(strtolower(substr($unit, 9))); - } catch (BadUnitException | BadMethodCallException $exception) { - // Try macros - } - } - - if (substr($method, -5) === 'Until') { - try { - $unit = static::singularUnit(substr($method, 0, -5)); - - return $this->range($parameters[0] ?? $this, $parameters[1] ?? 1, $unit); - } catch (InvalidArgumentException $exception) { - // Try next - } - } - - return static::bindMacroContext($this, function () use (&$method, &$parameters) { - if (!static::hasMacro($method)) { - foreach ([$this->localGenericMacros ?: [], static::getGenericMacros()] as $list) { - foreach ($list as $callback) { - try { - return $this->executeCallable($callback, $method, ...$parameters); - } catch (BadMethodCallException $exception) { - continue; - } - } - } - - if ($this->localStrictModeEnabled ?? static::isStrictModeEnabled()) { - throw new BadMethodCallException("Method $method does not exist."); - } - - return null; - } - - return $this->executeCallable(($this->localMacros ?? [])[$method] ?? static::$globalMacros[$method], ...$parameters); - }); - } -} diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Traits/Difference.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Traits/Difference.php deleted file mode 100644 index 680d773..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Traits/Difference.php +++ /dev/null @@ -1,1079 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace Carbon\Traits; - -use Carbon\Carbon; -use Carbon\CarbonImmutable; -use Carbon\CarbonInterface; -use Carbon\CarbonInterval; -use Carbon\CarbonPeriod; -use Carbon\Translator; -use Closure; -use DateInterval; -use DateTimeInterface; - -/** - * Trait Difference. - * - * Depends on the following methods: - * - * @method bool lessThan($date) - * @method DateInterval diff(\DateTimeInterface $date, bool $absolute = false) - * @method static copy() - * @method static resolveCarbon($date = null) - * @method static Translator translator() - */ -trait Difference -{ - /** - * @codeCoverageIgnore - * - * @param CarbonInterval $diff - */ - protected static function fixNegativeMicroseconds(CarbonInterval $diff) - { - if ($diff->s !== 0 || $diff->i !== 0 || $diff->h !== 0 || $diff->d !== 0 || $diff->m !== 0 || $diff->y !== 0) { - $diff->f = (round($diff->f * 1000000) + 1000000) / 1000000; - $diff->s--; - - if ($diff->s < 0) { - $diff->s += 60; - $diff->i--; - - if ($diff->i < 0) { - $diff->i += 60; - $diff->h--; - - if ($diff->h < 0) { - $diff->h += 24; - $diff->d--; - - if ($diff->d < 0) { - $diff->d += 30; - $diff->m--; - - if ($diff->m < 0) { - $diff->m += 12; - $diff->y--; - } - } - } - } - } - - return; - } - - $diff->f *= -1; - $diff->invert(); - } - - /** - * @param DateInterval $diff - * @param bool $absolute - * - * @return CarbonInterval - */ - protected static function fixDiffInterval(DateInterval $diff, $absolute) - { - $diff = CarbonInterval::instance($diff); - - // Work-around for https://bugs.php.net/bug.php?id=77145 - // @codeCoverageIgnoreStart - if ($diff->f > 0 && $diff->y === -1 && $diff->m === 11 && $diff->d >= 27 && $diff->h === 23 && $diff->i === 59 && $diff->s === 59) { - $diff->y = 0; - $diff->m = 0; - $diff->d = 0; - $diff->h = 0; - $diff->i = 0; - $diff->s = 0; - $diff->f = (1000000 - round($diff->f * 1000000)) / 1000000; - $diff->invert(); - } elseif ($diff->f < 0) { - static::fixNegativeMicroseconds($diff); - } - // @codeCoverageIgnoreEnd - - if ($absolute && $diff->invert) { - $diff->invert(); - } - - return $diff; - } - - /** - * Get the difference as a DateInterval instance. - * Return relative interval (negative if - * - * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date - * @param bool $absolute Get the absolute of the difference - * - * @return DateInterval - */ - public function diff($date = null, $absolute = false) - { - return parent::diff($this->resolveCarbon($date), (bool) $absolute); - } - - /** - * Get the difference as a CarbonInterval instance. - * Return absolute interval (always positive) unless you pass false to the second argument. - * - * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date - * @param bool $absolute Get the absolute of the difference - * - * @return CarbonInterval - */ - public function diffAsCarbonInterval($date = null, $absolute = true) - { - return static::fixDiffInterval($this->diff($this->resolveCarbon($date), $absolute), $absolute); - } - - /** - * Get the difference in years - * - * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date - * @param bool $absolute Get the absolute of the difference - * - * @return int - */ - public function diffInYears($date = null, $absolute = true) - { - return (int) $this->diff($this->resolveCarbon($date), $absolute)->format('%r%y'); - } - - /** - * Get the difference in months - * - * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date - * @param bool $absolute Get the absolute of the difference - * - * @return int - */ - public function diffInMonths($date = null, $absolute = true) - { - $date = $this->resolveCarbon($date); - - return $this->diffInYears($date, $absolute) * static::MONTHS_PER_YEAR + (int) $this->diff($date, $absolute)->format('%r%m'); - } - - /** - * Get the difference in weeks - * - * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date - * @param bool $absolute Get the absolute of the difference - * - * @return int - */ - public function diffInWeeks($date = null, $absolute = true) - { - return (int) ($this->diffInDays($date, $absolute) / static::DAYS_PER_WEEK); - } - - /** - * Get the difference in days - * - * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date - * @param bool $absolute Get the absolute of the difference - * - * @return int - */ - public function diffInDays($date = null, $absolute = true) - { - return (int) $this->diff($this->resolveCarbon($date), $absolute)->format('%r%a'); - } - - /** - * Get the difference in days using a filter closure - * - * @param Closure $callback - * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date - * @param bool $absolute Get the absolute of the difference - * - * @return int - */ - public function diffInDaysFiltered(Closure $callback, $date = null, $absolute = true) - { - return $this->diffFiltered(CarbonInterval::day(), $callback, $date, $absolute); - } - - /** - * Get the difference in hours using a filter closure - * - * @param Closure $callback - * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date - * @param bool $absolute Get the absolute of the difference - * - * @return int - */ - public function diffInHoursFiltered(Closure $callback, $date = null, $absolute = true) - { - return $this->diffFiltered(CarbonInterval::hour(), $callback, $date, $absolute); - } - - /** - * Get the difference by the given interval using a filter closure - * - * @param CarbonInterval $ci An interval to traverse by - * @param Closure $callback - * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date - * @param bool $absolute Get the absolute of the difference - * - * @return int - */ - public function diffFiltered(CarbonInterval $ci, Closure $callback, $date = null, $absolute = true) - { - $start = $this; - $end = $this->resolveCarbon($date); - $inverse = false; - - if ($end < $start) { - $start = $end; - $end = $this; - $inverse = true; - } - - $options = CarbonPeriod::EXCLUDE_END_DATE | ($this->isMutable() ? 0 : CarbonPeriod::IMMUTABLE); - $diff = $ci->toPeriod($start, $end, $options)->filter($callback)->count(); - - return $inverse && !$absolute ? -$diff : $diff; - } - - /** - * Get the difference in weekdays - * - * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date - * @param bool $absolute Get the absolute of the difference - * - * @return int - */ - public function diffInWeekdays($date = null, $absolute = true) - { - return $this->diffInDaysFiltered(function (CarbonInterface $date) { - return $date->isWeekday(); - }, $date, $absolute); - } - - /** - * Get the difference in weekend days using a filter - * - * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date - * @param bool $absolute Get the absolute of the difference - * - * @return int - */ - public function diffInWeekendDays($date = null, $absolute = true) - { - return $this->diffInDaysFiltered(function (CarbonInterface $date) { - return $date->isWeekend(); - }, $date, $absolute); - } - - /** - * Get the difference in hours. - * - * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date - * @param bool $absolute Get the absolute of the difference - * - * @return int - */ - public function diffInHours($date = null, $absolute = true) - { - return (int) ($this->diffInSeconds($date, $absolute) / static::SECONDS_PER_MINUTE / static::MINUTES_PER_HOUR); - } - - /** - * Get the difference in hours using timestamps. - * - * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date - * @param bool $absolute Get the absolute of the difference - * - * @return int - */ - public function diffInRealHours($date = null, $absolute = true) - { - return (int) ($this->diffInRealSeconds($date, $absolute) / static::SECONDS_PER_MINUTE / static::MINUTES_PER_HOUR); - } - - /** - * Get the difference in minutes. - * - * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date - * @param bool $absolute Get the absolute of the difference - * - * @return int - */ - public function diffInMinutes($date = null, $absolute = true) - { - return (int) ($this->diffInSeconds($date, $absolute) / static::SECONDS_PER_MINUTE); - } - - /** - * Get the difference in minutes using timestamps. - * - * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date - * @param bool $absolute Get the absolute of the difference - * - * @return int - */ - public function diffInRealMinutes($date = null, $absolute = true) - { - return (int) ($this->diffInRealSeconds($date, $absolute) / static::SECONDS_PER_MINUTE); - } - - /** - * Get the difference in seconds. - * - * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date - * @param bool $absolute Get the absolute of the difference - * - * @return int - */ - public function diffInSeconds($date = null, $absolute = true) - { - $diff = $this->diff($date); - - if ($diff->days === 0) { - $diff = static::fixDiffInterval($diff, $absolute); - } - - $value = (((($diff->m || $diff->y ? $diff->days : $diff->d) * static::HOURS_PER_DAY) + - $diff->h) * static::MINUTES_PER_HOUR + - $diff->i) * static::SECONDS_PER_MINUTE + - $diff->s; - - return $absolute || !$diff->invert ? $value : -$value; - } - - /** - * Get the difference in microseconds. - * - * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date - * @param bool $absolute Get the absolute of the difference - * - * @return int - */ - public function diffInMicroseconds($date = null, $absolute = true) - { - $diff = $this->diff($date); - $value = (int) round(((((($diff->m || $diff->y ? $diff->days : $diff->d) * static::HOURS_PER_DAY) + - $diff->h) * static::MINUTES_PER_HOUR + - $diff->i) * static::SECONDS_PER_MINUTE + - ($diff->f + $diff->s)) * static::MICROSECONDS_PER_SECOND); - - return $absolute || !$diff->invert ? $value : -$value; - } - - /** - * Get the difference in milliseconds. - * - * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date - * @param bool $absolute Get the absolute of the difference - * - * @return int - */ - public function diffInMilliseconds($date = null, $absolute = true) - { - return (int) ($this->diffInMicroseconds($date, $absolute) / static::MICROSECONDS_PER_MILLISECOND); - } - - /** - * Get the difference in seconds using timestamps. - * - * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date - * @param bool $absolute Get the absolute of the difference - * - * @return int - */ - public function diffInRealSeconds($date = null, $absolute = true) - { - /** @var CarbonInterface $date */ - $date = $this->resolveCarbon($date); - $value = $date->getTimestamp() - $this->getTimestamp(); - - return $absolute ? abs($value) : $value; - } - - /** - * Get the difference in microseconds using timestamps. - * - * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date - * @param bool $absolute Get the absolute of the difference - * - * @return int - */ - public function diffInRealMicroseconds($date = null, $absolute = true) - { - /** @var CarbonInterface $date */ - $date = $this->resolveCarbon($date); - $value = ($date->timestamp - $this->timestamp) * static::MICROSECONDS_PER_SECOND + - $date->micro - $this->micro; - - return $absolute ? abs($value) : $value; - } - - /** - * Get the difference in milliseconds using timestamps. - * - * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date - * @param bool $absolute Get the absolute of the difference - * - * @return int - */ - public function diffInRealMilliseconds($date = null, $absolute = true) - { - return (int) ($this->diffInRealMicroseconds($date, $absolute) / static::MICROSECONDS_PER_MILLISECOND); - } - - /** - * Get the difference in seconds as float (microsecond-precision). - * - * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date - * @param bool $absolute Get the absolute of the difference - * - * @return float - */ - public function floatDiffInSeconds($date = null, $absolute = true) - { - return $this->diffInMicroseconds($date, $absolute) / static::MICROSECONDS_PER_SECOND; - } - - /** - * Get the difference in minutes as float (microsecond-precision). - * - * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date - * @param bool $absolute Get the absolute of the difference - * - * @return float - */ - public function floatDiffInMinutes($date = null, $absolute = true) - { - return $this->floatDiffInSeconds($date, $absolute) / static::SECONDS_PER_MINUTE; - } - - /** - * Get the difference in hours as float (microsecond-precision). - * - * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date - * @param bool $absolute Get the absolute of the difference - * - * @return float - */ - public function floatDiffInHours($date = null, $absolute = true) - { - return $this->floatDiffInMinutes($date, $absolute) / static::MINUTES_PER_HOUR; - } - - /** - * Get the difference in days as float (microsecond-precision). - * - * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date - * @param bool $absolute Get the absolute of the difference - * - * @return float - */ - public function floatDiffInDays($date = null, $absolute = true) - { - $hoursDiff = $this->floatDiffInHours($date, $absolute); - - return ($hoursDiff < 0 ? -1 : 1) * $this->diffInDays($date) + fmod($hoursDiff, static::HOURS_PER_DAY) / static::HOURS_PER_DAY; - } - - /** - * Get the difference in months as float (microsecond-precision). - * - * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date - * @param bool $absolute Get the absolute of the difference - * - * @return float - */ - public function floatDiffInMonths($date = null, $absolute = true) - { - $start = $this; - $end = $this->resolveCarbon($date); - $ascending = ($start <= $end); - $sign = $absolute || $ascending ? 1 : -1; - if (!$ascending) { - [$start, $end] = [$end, $start]; - } - $monthsDiff = $start->diffInMonths($end); - /** @var Carbon|CarbonImmutable $floorEnd */ - $floorEnd = $start->copy()->addMonths($monthsDiff); - - if ($floorEnd >= $end) { - return $sign * $monthsDiff; - } - - /** @var Carbon|CarbonImmutable $startOfMonthAfterFloorEnd */ - $startOfMonthAfterFloorEnd = $floorEnd->copy()->addMonth()->startOfMonth(); - - if ($startOfMonthAfterFloorEnd > $end) { - return $sign * ($monthsDiff + $floorEnd->floatDiffInDays($end) / $floorEnd->daysInMonth); - } - - return $sign * ($monthsDiff + $floorEnd->floatDiffInDays($startOfMonthAfterFloorEnd) / $floorEnd->daysInMonth + $startOfMonthAfterFloorEnd->floatDiffInDays($end) / $end->daysInMonth); - } - - /** - * Get the difference in year as float (microsecond-precision). - * - * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date - * @param bool $absolute Get the absolute of the difference - * - * @return float - */ - public function floatDiffInYears($date = null, $absolute = true) - { - $start = $this; - $end = $this->resolveCarbon($date); - $ascending = ($start <= $end); - $sign = $absolute || $ascending ? 1 : -1; - if (!$ascending) { - [$start, $end] = [$end, $start]; - } - $yearsDiff = $start->diffInYears($end); - /** @var Carbon|CarbonImmutable $floorEnd */ - $floorEnd = $start->copy()->addYears($yearsDiff); - - if ($floorEnd >= $end) { - return $sign * $yearsDiff; - } - - /** @var Carbon|CarbonImmutable $startOfYearAfterFloorEnd */ - $startOfYearAfterFloorEnd = $floorEnd->copy()->addYear()->startOfYear(); - - if ($startOfYearAfterFloorEnd > $end) { - return $sign * ($yearsDiff + $floorEnd->floatDiffInDays($end) / $floorEnd->daysInYear); - } - - return $sign * ($yearsDiff + $floorEnd->floatDiffInDays($startOfYearAfterFloorEnd) / $floorEnd->daysInYear + $startOfYearAfterFloorEnd->floatDiffInDays($end) / $end->daysInYear); - } - - /** - * Get the difference in seconds as float (microsecond-precision) using timestamps. - * - * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date - * @param bool $absolute Get the absolute of the difference - * - * @return float - */ - public function floatDiffInRealSeconds($date = null, $absolute = true) - { - return $this->diffInRealMicroseconds($date, $absolute) / static::MICROSECONDS_PER_SECOND; - } - - /** - * Get the difference in minutes as float (microsecond-precision) using timestamps. - * - * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date - * @param bool $absolute Get the absolute of the difference - * - * @return float - */ - public function floatDiffInRealMinutes($date = null, $absolute = true) - { - return $this->floatDiffInRealSeconds($date, $absolute) / static::SECONDS_PER_MINUTE; - } - - /** - * Get the difference in hours as float (microsecond-precision) using timestamps. - * - * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date - * @param bool $absolute Get the absolute of the difference - * - * @return float - */ - public function floatDiffInRealHours($date = null, $absolute = true) - { - return $this->floatDiffInRealMinutes($date, $absolute) / static::MINUTES_PER_HOUR; - } - - /** - * Get the difference in days as float (microsecond-precision). - * - * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date - * @param bool $absolute Get the absolute of the difference - * - * @return float - */ - public function floatDiffInRealDays($date = null, $absolute = true) - { - $hoursDiff = $this->floatDiffInRealHours($date, $absolute); - - return ($hoursDiff < 0 ? -1 : 1) * $this->diffInDays($date) + fmod($hoursDiff, static::HOURS_PER_DAY) / static::HOURS_PER_DAY; - } - - /** - * Get the difference in months as float (microsecond-precision) using timestamps. - * - * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date - * @param bool $absolute Get the absolute of the difference - * - * @return float - */ - public function floatDiffInRealMonths($date = null, $absolute = true) - { - $start = $this; - $end = $this->resolveCarbon($date); - $ascending = ($start <= $end); - $sign = $absolute || $ascending ? 1 : -1; - if (!$ascending) { - [$start, $end] = [$end, $start]; - } - $monthsDiff = $start->diffInMonths($end); - /** @var Carbon|CarbonImmutable $floorEnd */ - $floorEnd = $start->copy()->addMonths($monthsDiff); - - if ($floorEnd >= $end) { - return $sign * $monthsDiff; - } - - /** @var Carbon|CarbonImmutable $startOfMonthAfterFloorEnd */ - $startOfMonthAfterFloorEnd = $floorEnd->copy()->addMonth()->startOfMonth(); - - if ($startOfMonthAfterFloorEnd > $end) { - return $sign * ($monthsDiff + $floorEnd->floatDiffInRealDays($end) / $floorEnd->daysInMonth); - } - - return $sign * ($monthsDiff + $floorEnd->floatDiffInRealDays($startOfMonthAfterFloorEnd) / $floorEnd->daysInMonth + $startOfMonthAfterFloorEnd->floatDiffInRealDays($end) / $end->daysInMonth); - } - - /** - * Get the difference in year as float (microsecond-precision) using timestamps. - * - * @param \Carbon\CarbonInterface|\DateTimeInterface|string|null $date - * @param bool $absolute Get the absolute of the difference - * - * @return float - */ - public function floatDiffInRealYears($date = null, $absolute = true) - { - $start = $this; - $end = $this->resolveCarbon($date); - $ascending = ($start <= $end); - $sign = $absolute || $ascending ? 1 : -1; - if (!$ascending) { - [$start, $end] = [$end, $start]; - } - $yearsDiff = $start->diffInYears($end); - /** @var Carbon|CarbonImmutable $floorEnd */ - $floorEnd = $start->copy()->addYears($yearsDiff); - - if ($floorEnd >= $end) { - return $sign * $yearsDiff; - } - - /** @var Carbon|CarbonImmutable $startOfYearAfterFloorEnd */ - $startOfYearAfterFloorEnd = $floorEnd->copy()->addYear()->startOfYear(); - - if ($startOfYearAfterFloorEnd > $end) { - return $sign * ($yearsDiff + $floorEnd->floatDiffInRealDays($end) / $floorEnd->daysInYear); - } - - return $sign * ($yearsDiff + $floorEnd->floatDiffInRealDays($startOfYearAfterFloorEnd) / $floorEnd->daysInYear + $startOfYearAfterFloorEnd->floatDiffInRealDays($end) / $end->daysInYear); - } - - /** - * The number of seconds since midnight. - * - * @return int - */ - public function secondsSinceMidnight() - { - return $this->diffInSeconds($this->copy()->startOfDay()); - } - - /** - * The number of seconds until 23:59:59. - * - * @return int - */ - public function secondsUntilEndOfDay() - { - return $this->diffInSeconds($this->copy()->endOfDay()); - } - - /** - * Get the difference in a human readable format in the current locale from current instance to an other - * instance given (or now if null given). - * - * @example - * ``` - * echo Carbon::tomorrow()->diffForHumans() . "\n"; - * echo Carbon::tomorrow()->diffForHumans(['parts' => 2]) . "\n"; - * echo Carbon::tomorrow()->diffForHumans(['parts' => 3, 'join' => true]) . "\n"; - * echo Carbon::tomorrow()->diffForHumans(Carbon::yesterday()) . "\n"; - * echo Carbon::tomorrow()->diffForHumans(Carbon::yesterday(), ['short' => true]) . "\n"; - * ``` - * - * @param Carbon|\DateTimeInterface|string|array|null $other if array passed, will be used as parameters array, see $syntax below; - * if null passed, now will be used as comparison reference; - * if any other type, it will be converted to date and used as reference. - * @param int|array $syntax if array passed, parameters will be extracted from it, the array may contains: - * - 'syntax' entry (see below) - * - 'short' entry (see below) - * - 'parts' entry (see below) - * - 'options' entry (see below) - * - 'join' entry determines how to join multiple parts of the string - * ` - if $join is a string, it's used as a joiner glue - * ` - if $join is a callable/closure, it get the list of string and should return a string - * ` - if $join is an array, the first item will be the default glue, and the second item - * ` will be used instead of the glue for the last item - * ` - if $join is true, it will be guessed from the locale ('list' translation file entry) - * ` - if $join is missing, a space will be used as glue - * - 'other' entry (see above) - * if int passed, it add modifiers: - * Possible values: - * - CarbonInterface::DIFF_ABSOLUTE no modifiers - * - CarbonInterface::DIFF_RELATIVE_TO_NOW add ago/from now modifier - * - CarbonInterface::DIFF_RELATIVE_TO_OTHER add before/after modifier - * Default value: CarbonInterface::DIFF_ABSOLUTE - * @param bool $short displays short format of time units - * @param int $parts maximum number of parts to display (default value: 1: single unit) - * @param int $options human diff options - * - * @return string - */ - public function diffForHumans($other = null, $syntax = null, $short = false, $parts = 1, $options = null) - { - /* @var CarbonInterface $this */ - if (is_array($other)) { - $other['syntax'] = array_key_exists('syntax', $other) ? $other['syntax'] : $syntax; - $syntax = $other; - $other = $syntax['other'] ?? null; - } - - $intSyntax = &$syntax; - if (is_array($syntax)) { - $syntax['syntax'] = $syntax['syntax'] ?? null; - $intSyntax = &$syntax['syntax']; - } - $intSyntax = (int) ($intSyntax === null ? static::DIFF_RELATIVE_AUTO : $intSyntax); - $intSyntax = $intSyntax === static::DIFF_RELATIVE_AUTO && $other === null ? static::DIFF_RELATIVE_TO_NOW : $intSyntax; - - $parts = min(7, max(1, (int) $parts)); - - return $this->diffAsCarbonInterval($other, false) - ->setLocalTranslator($this->getLocalTranslator()) - ->forHumans($syntax, (bool) $short, $parts, $options ?? $this->localHumanDiffOptions ?? static::getHumanDiffOptions()); - } - - /** - * @alias diffForHumans - * - * Get the difference in a human readable format in the current locale from current instance to an other - * instance given (or now if null given). - * - * @param Carbon|\DateTimeInterface|string|array|null $other if array passed, will be used as parameters array, see $syntax below; - * if null passed, now will be used as comparison reference; - * if any other type, it will be converted to date and used as reference. - * @param int|array $syntax if array passed, parameters will be extracted from it, the array may contains: - * - 'syntax' entry (see below) - * - 'short' entry (see below) - * - 'parts' entry (see below) - * - 'options' entry (see below) - * - 'join' entry determines how to join multiple parts of the string - * ` - if $join is a string, it's used as a joiner glue - * ` - if $join is a callable/closure, it get the list of string and should return a string - * ` - if $join is an array, the first item will be the default glue, and the second item - * ` will be used instead of the glue for the last item - * ` - if $join is true, it will be guessed from the locale ('list' translation file entry) - * ` - if $join is missing, a space will be used as glue - * - 'other' entry (see above) - * if int passed, it add modifiers: - * Possible values: - * - CarbonInterface::DIFF_ABSOLUTE no modifiers - * - CarbonInterface::DIFF_RELATIVE_TO_NOW add ago/from now modifier - * - CarbonInterface::DIFF_RELATIVE_TO_OTHER add before/after modifier - * Default value: CarbonInterface::DIFF_ABSOLUTE - * @param bool $short displays short format of time units - * @param int $parts maximum number of parts to display (default value: 1: single unit) - * @param int $options human diff options - * - * @return string - */ - public function from($other = null, $syntax = null, $short = false, $parts = 1, $options = null) - { - return $this->diffForHumans($other, $syntax, $short, $parts, $options); - } - - /** - * @alias diffForHumans - * - * Get the difference in a human readable format in the current locale from current instance to an other - * instance given (or now if null given). - */ - public function since($other = null, $syntax = null, $short = false, $parts = 1, $options = null) - { - return $this->diffForHumans($other, $syntax, $short, $parts, $options); - } - - /** - * Get the difference in a human readable format in the current locale from an other - * instance given (or now if null given) to current instance. - * - * When comparing a value in the past to default now: - * 1 hour from now - * 5 months from now - * - * When comparing a value in the future to default now: - * 1 hour ago - * 5 months ago - * - * When comparing a value in the past to another value: - * 1 hour after - * 5 months after - * - * When comparing a value in the future to another value: - * 1 hour before - * 5 months before - * - * @param Carbon|\DateTimeInterface|string|array|null $other if array passed, will be used as parameters array, see $syntax below; - * if null passed, now will be used as comparison reference; - * if any other type, it will be converted to date and used as reference. - * @param int|array $syntax if array passed, parameters will be extracted from it, the array may contains: - * - 'syntax' entry (see below) - * - 'short' entry (see below) - * - 'parts' entry (see below) - * - 'options' entry (see below) - * - 'join' entry determines how to join multiple parts of the string - * ` - if $join is a string, it's used as a joiner glue - * ` - if $join is a callable/closure, it get the list of string and should return a string - * ` - if $join is an array, the first item will be the default glue, and the second item - * ` will be used instead of the glue for the last item - * ` - if $join is true, it will be guessed from the locale ('list' translation file entry) - * ` - if $join is missing, a space will be used as glue - * - 'other' entry (see above) - * if int passed, it add modifiers: - * Possible values: - * - CarbonInterface::DIFF_ABSOLUTE no modifiers - * - CarbonInterface::DIFF_RELATIVE_TO_NOW add ago/from now modifier - * - CarbonInterface::DIFF_RELATIVE_TO_OTHER add before/after modifier - * Default value: CarbonInterface::DIFF_ABSOLUTE - * @param bool $short displays short format of time units - * @param int $parts maximum number of parts to display (default value: 1: single unit) - * @param int $options human diff options - * - * @return string - */ - public function to($other = null, $syntax = null, $short = false, $parts = 1, $options = null) - { - if (!$syntax && !$other) { - $syntax = CarbonInterface::DIFF_RELATIVE_TO_NOW; - } - - return $this->resolveCarbon($other)->diffForHumans($this, $syntax, $short, $parts, $options); - } - - /** - * @alias to - * - * Get the difference in a human readable format in the current locale from an other - * instance given (or now if null given) to current instance. - * - * @param Carbon|\DateTimeInterface|string|array|null $other if array passed, will be used as parameters array, see $syntax below; - * if null passed, now will be used as comparison reference; - * if any other type, it will be converted to date and used as reference. - * @param int|array $syntax if array passed, parameters will be extracted from it, the array may contains: - * - 'syntax' entry (see below) - * - 'short' entry (see below) - * - 'parts' entry (see below) - * - 'options' entry (see below) - * - 'join' entry determines how to join multiple parts of the string - * ` - if $join is a string, it's used as a joiner glue - * ` - if $join is a callable/closure, it get the list of string and should return a string - * ` - if $join is an array, the first item will be the default glue, and the second item - * ` will be used instead of the glue for the last item - * ` - if $join is true, it will be guessed from the locale ('list' translation file entry) - * ` - if $join is missing, a space will be used as glue - * - 'other' entry (see above) - * if int passed, it add modifiers: - * Possible values: - * - CarbonInterface::DIFF_ABSOLUTE no modifiers - * - CarbonInterface::DIFF_RELATIVE_TO_NOW add ago/from now modifier - * - CarbonInterface::DIFF_RELATIVE_TO_OTHER add before/after modifier - * Default value: CarbonInterface::DIFF_ABSOLUTE - * @param bool $short displays short format of time units - * @param int $parts maximum number of parts to display (default value: 1: single unit) - * @param int $options human diff options - * - * @return string - */ - public function until($other = null, $syntax = null, $short = false, $parts = 1, $options = null) - { - return $this->to($other, $syntax, $short, $parts, $options); - } - - /** - * Get the difference in a human readable format in the current locale from current - * instance to now. - * - * @param int|array $syntax if array passed, parameters will be extracted from it, the array may contains: - * - 'syntax' entry (see below) - * - 'short' entry (see below) - * - 'parts' entry (see below) - * - 'options' entry (see below) - * - 'join' entry determines how to join multiple parts of the string - * ` - if $join is a string, it's used as a joiner glue - * ` - if $join is a callable/closure, it get the list of string and should return a string - * ` - if $join is an array, the first item will be the default glue, and the second item - * ` will be used instead of the glue for the last item - * ` - if $join is true, it will be guessed from the locale ('list' translation file entry) - * ` - if $join is missing, a space will be used as glue - * if int passed, it add modifiers: - * Possible values: - * - CarbonInterface::DIFF_ABSOLUTE no modifiers - * - CarbonInterface::DIFF_RELATIVE_TO_NOW add ago/from now modifier - * - CarbonInterface::DIFF_RELATIVE_TO_OTHER add before/after modifier - * Default value: CarbonInterface::DIFF_ABSOLUTE - * @param bool $short displays short format of time units - * @param int $parts maximum number of parts to display (default value: 1: single unit) - * @param int $options human diff options - * - * @return string - */ - public function fromNow($syntax = null, $short = false, $parts = 1, $options = null) - { - $other = null; - - if ($syntax instanceof DateTimeInterface) { - [$other, $syntax, $short, $parts, $options] = array_pad(func_get_args(), 5, null); - } - - return $this->from($other, $syntax, $short, $parts, $options); - } - - /** - * Get the difference in a human readable format in the current locale from an other - * instance given to now - * - * @param int|array $syntax if array passed, parameters will be extracted from it, the array may contains: - * - 'syntax' entry (see below) - * - 'short' entry (see below) - * - 'parts' entry (see below) - * - 'options' entry (see below) - * - 'join' entry determines how to join multiple parts of the string - * ` - if $join is a string, it's used as a joiner glue - * ` - if $join is a callable/closure, it get the list of string and should return a string - * ` - if $join is an array, the first item will be the default glue, and the second item - * ` will be used instead of the glue for the last item - * ` - if $join is true, it will be guessed from the locale ('list' translation file entry) - * ` - if $join is missing, a space will be used as glue - * if int passed, it add modifiers: - * Possible values: - * - CarbonInterface::DIFF_ABSOLUTE no modifiers - * - CarbonInterface::DIFF_RELATIVE_TO_NOW add ago/from now modifier - * - CarbonInterface::DIFF_RELATIVE_TO_OTHER add before/after modifier - * Default value: CarbonInterface::DIFF_ABSOLUTE - * @param bool $short displays short format of time units - * @param int $parts maximum number of parts to display (default value: 1: single part) - * @param int $options human diff options - * - * @return string - */ - public function toNow($syntax = null, $short = false, $parts = 1, $options = null) - { - return $this->to(null, $syntax, $short, $parts, $options); - } - - /** - * Get the difference in a human readable format in the current locale from an other - * instance given to now - * - * @param int|array $syntax if array passed, parameters will be extracted from it, the array may contains: - * - 'syntax' entry (see below) - * - 'short' entry (see below) - * - 'parts' entry (see below) - * - 'options' entry (see below) - * - 'join' entry determines how to join multiple parts of the string - * ` - if $join is a string, it's used as a joiner glue - * ` - if $join is a callable/closure, it get the list of string and should return a string - * ` - if $join is an array, the first item will be the default glue, and the second item - * ` will be used instead of the glue for the last item - * ` - if $join is true, it will be guessed from the locale ('list' translation file entry) - * ` - if $join is missing, a space will be used as glue - * if int passed, it add modifiers: - * Possible values: - * - CarbonInterface::DIFF_ABSOLUTE no modifiers - * - CarbonInterface::DIFF_RELATIVE_TO_NOW add ago/from now modifier - * - CarbonInterface::DIFF_RELATIVE_TO_OTHER add before/after modifier - * Default value: CarbonInterface::DIFF_ABSOLUTE - * @param bool $short displays short format of time units - * @param int $parts maximum number of parts to display (default value: 1: single part) - * @param int $options human diff options - * - * @return string - */ - public function ago($syntax = null, $short = false, $parts = 1, $options = null) - { - $other = null; - - if ($syntax instanceof DateTimeInterface) { - [$other, $syntax, $short, $parts, $options] = array_pad(func_get_args(), 5, null); - } - - return $this->from($other, $syntax, $short, $parts, $options); - } - - /** - * Get the difference in a human readable format in the current locale from current instance to an other - * instance given (or now if null given). - * - * @return string - */ - public function timespan($other = null, $timezone = null) - { - if (!$other instanceof DateTimeInterface) { - $other = static::parse($other, $timezone); - } - - return $this->diffForHumans($other, [ - 'join' => ', ', - 'syntax' => CarbonInterface::DIFF_ABSOLUTE, - 'options' => CarbonInterface::NO_ZERO_DIFF, - 'parts' => -1, - ]); - } - - /** - * Returns either the close date "Friday 15h30", or a calendar date "10/09/2017" is farthest than 7 days from now. - * - * @param Carbon|\DateTimeInterface|string|null $referenceTime - * @param array $formats - * - * @return string - */ - public function calendar($referenceTime = null, array $formats = []) - { - /** @var CarbonInterface $current */ - $current = $this->copy()->startOfDay(); - /** @var CarbonInterface $other */ - $other = $this->resolveCarbon($referenceTime)->copy()->setTimezone($this->getTimezone())->startOfDay(); - $diff = $other->diffInDays($current, false); - $format = $diff < -6 ? 'sameElse' : ( - $diff < -1 ? 'lastWeek' : ( - $diff < 0 ? 'lastDay' : ( - $diff < 1 ? 'sameDay' : ( - $diff < 2 ? 'nextDay' : ( - $diff < 7 ? 'nextWeek' : 'sameElse' - ) - ) - ) - ) - ); - $format = array_merge($this->getCalendarFormats(), $formats)[$format]; - if ($format instanceof Closure) { - $format = $format($current, $other) ?? ''; - } - - return $this->isoFormat(strval($format)); - } -} diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Traits/Localization.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Traits/Localization.php deleted file mode 100644 index 07d4c8e..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Traits/Localization.php +++ /dev/null @@ -1,679 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace Carbon\Traits; - -use Carbon\CarbonInterface; -use Carbon\Language; -use Carbon\Translator; -use Closure; -use InvalidArgumentException; -use Symfony\Component\Translation\TranslatorBagInterface; -use Symfony\Component\Translation\TranslatorInterface; - -if (!interface_exists('Symfony\\Component\\Translation\\TranslatorInterface')) { - class_alias( - 'Symfony\\Contracts\\Translation\\TranslatorInterface', - 'Symfony\\Component\\Translation\\TranslatorInterface' - ); -} - -/** - * Trait Localization. - * - * Embed default and locale translators and translation base methods. - */ -trait Localization -{ - /** - * Default translator. - * - * @var \Symfony\Component\Translation\TranslatorInterface - */ - protected static $translator; - - /** - * Specific translator of the current instance. - * - * @var \Symfony\Component\Translation\TranslatorInterface - */ - protected $localTranslator; - - /** - * Options for diffForHumans(). - * - * @var int - */ - protected static $humanDiffOptions = CarbonInterface::NO_ZERO_DIFF; - - /** - * @deprecated To avoid conflict between different third-party libraries, static setters should not be used. - * You should rather use the ->settings() method. - * @see settings - * - * @param int $humanDiffOptions - */ - public static function setHumanDiffOptions($humanDiffOptions) - { - static::$humanDiffOptions = $humanDiffOptions; - } - - /** - * @deprecated To avoid conflict between different third-party libraries, static setters should not be used. - * You should rather use the ->settings() method. - * @see settings - * - * @param int $humanDiffOption - */ - public static function enableHumanDiffOption($humanDiffOption) - { - static::$humanDiffOptions = static::getHumanDiffOptions() | $humanDiffOption; - } - - /** - * @deprecated To avoid conflict between different third-party libraries, static setters should not be used. - * You should rather use the ->settings() method. - * @see settings - * - * @param int $humanDiffOption - */ - public static function disableHumanDiffOption($humanDiffOption) - { - static::$humanDiffOptions = static::getHumanDiffOptions() & ~$humanDiffOption; - } - - /** - * Return default humanDiff() options (merged flags as integer). - * - * @return int - */ - public static function getHumanDiffOptions() - { - return static::$humanDiffOptions; - } - - /** - * Initialize the default translator instance if necessary. - * - * @return \Symfony\Component\Translation\TranslatorInterface - */ - protected static function translator() - { - if (static::$translator === null) { - static::$translator = Translator::get(); - } - - return static::$translator; - } - - /** - * Get the default translator instance in use. - * - * @return \Symfony\Component\Translation\TranslatorInterface - */ - public static function getTranslator() - { - return static::translator(); - } - - /** - * Set the default translator instance to use. - * - * @param \Symfony\Component\Translation\TranslatorInterface $translator - * - * @return void - */ - public static function setTranslator(TranslatorInterface $translator) - { - static::$translator = $translator; - } - - /** - * Get the translator of the current instance or the default if none set. - * - * @return \Symfony\Component\Translation\TranslatorInterface - */ - public function getLocalTranslator() - { - return $this->localTranslator ?: static::translator(); - } - - /** - * Set the translator for the current instance. - * - * @param \Symfony\Component\Translation\TranslatorInterface $translator - * - * @return $this - */ - public function setLocalTranslator(TranslatorInterface $translator) - { - $this->localTranslator = $translator; - - return $this; - } - - /** - * Returns raw translation message for a given key. - * - * @param \Symfony\Component\Translation\TranslatorInterface $translator the translator to use - * @param string $key key to find - * @param string|null $locale current locale used if null - * @param string|null $default default value if translation returns the key - * - * @return string - */ - public static function getTranslationMessageWith($translator, string $key, string $locale = null, string $default = null) - { - if (!($translator instanceof TranslatorBagInterface && $translator instanceof TranslatorInterface)) { - throw new InvalidArgumentException( - 'Translator does not implement '.TranslatorInterface::class.' and '.TranslatorBagInterface::class.'.' - ); - } - - $result = $translator->getCatalogue($locale ?? $translator->getLocale())->get($key); - - return $result === $key ? $default : $result; - } - - /** - * Returns raw translation message for a given key. - * - * @param string $key key to find - * @param string|null $locale current locale used if null - * @param string|null $default default value if translation returns the key - * @param \Symfony\Component\Translation\TranslatorInterface $translator an optional translator to use - * - * @return string - */ - public function getTranslationMessage(string $key, string $locale = null, string $default = null, $translator = null) - { - return static::getTranslationMessageWith($translator ?: $this->getLocalTranslator(), $key, $locale, $default); - } - - /** - * Translate using translation string or callback available. - * - * @param \Symfony\Component\Translation\TranslatorInterface $translator - * @param string $key - * @param array $parameters - * @param null $number - * - * @return string - */ - public static function translateWith(TranslatorInterface $translator, string $key, array $parameters = [], $number = null): string - { - $message = static::getTranslationMessageWith($translator, $key, null, $key); - if ($message instanceof Closure) { - return (string) $message(...array_values($parameters)); - } - - if ($number !== null) { - $parameters['%count%'] = $number; - } - if (isset($parameters['%count%'])) { - $parameters[':count'] = $parameters['%count%']; - } - - // @codeCoverageIgnoreStart - $choice = method_exists($translator, 'transChoice') - ? $translator->transChoice($key, $number, $parameters) - : $translator->trans($key, $parameters); - // @codeCoverageIgnoreEnd - - return (string) $choice; - } - - /** - * Translate using translation string or callback available. - * - * @param string $key - * @param array $parameters - * @param null $number - * @param \Symfony\Component\Translation\TranslatorInterface $translator - * - * @return string - */ - public function translate(string $key, array $parameters = [], $number = null, TranslatorInterface $translator = null, bool $altNumbers = false): string - { - $translation = static::translateWith($translator ?: $this->getLocalTranslator(), $key, $parameters, $number); - - if ($number !== null && $altNumbers) { - return str_replace($number, $this->translateNumber($number), $translation); - } - - return $translation; - } - - /** - * Returns the alternative number for a given integer if available in the current locale. - * - * @param int $number - * - * @return string - */ - public function translateNumber(int $number): string - { - $translateKey = "alt_numbers.$number"; - $symbol = $this->translate($translateKey); - - if ($symbol !== $translateKey) { - return $symbol; - } - - if ($number > 99 && $this->translate('alt_numbers.99') !== 'alt_numbers.99') { - $start = ''; - foreach ([10000, 1000, 100] as $exp) { - $key = "alt_numbers_pow.$exp"; - if ($number >= $exp && $number < $exp * 10 && ($pow = $this->translate($key)) !== $key) { - $unit = floor($number / $exp); - $number -= $unit * $exp; - $start .= ($unit > 1 ? $this->translate("alt_numbers.$unit") : '').$pow; - } - } - $result = ''; - while ($number) { - $chunk = $number % 100; - $result = $this->translate("alt_numbers.$chunk").$result; - $number = floor($number / 100); - } - - return "$start$result"; - } - - if ($number > 9 && $this->translate('alt_numbers.9') !== 'alt_numbers.9') { - $result = ''; - while ($number) { - $chunk = $number % 10; - $result = $this->translate("alt_numbers.$chunk").$result; - $number = floor($number / 10); - } - - return $result; - } - - return "$number"; - } - - /** - * Translate a time string from a locale to an other. - * - * @param string $timeString time string to translate - * @param string|null $from input locale of the $timeString parameter (`Carbon::getLocale()` by default) - * @param string|null $to output locale of the result returned (`"en"` by default) - * @param int $mode specify what to translate with options: - * - CarbonInterface::TRANSLATE_ALL (default) - * - CarbonInterface::TRANSLATE_MONTHS - * - CarbonInterface::TRANSLATE_DAYS - * - CarbonInterface::TRANSLATE_UNITS - * - CarbonInterface::TRANSLATE_MERIDIEM - * You can use pipe to group: CarbonInterface::TRANSLATE_MONTHS | CarbonInterface::TRANSLATE_DAYS - * - * @return string - */ - public static function translateTimeString($timeString, $from = null, $to = null, $mode = CarbonInterface::TRANSLATE_ALL) - { - $from = $from ?: static::getLocale(); - $to = $to ?: 'en'; - - if ($from === $to) { - return $timeString; - } - - $cleanWord = function ($word) { - $word = str_replace([':count', '%count', ':time'], '', $word); - $word = preg_replace('/({\d+(,(\d+|Inf))?}|[\[\]]\d+(,(\d+|Inf))?[\[\]])/', '', $word); - - return trim($word); - }; - - $fromTranslations = []; - $toTranslations = []; - - foreach (['from', 'to'] as $key) { - $language = $$key; - $translator = Translator::get($language); - $translations = $translator->getMessages(); - - if (!isset($translations[$language])) { - return $timeString; - } - - $translationKey = $key.'Translations'; - $messages = $translations[$language]; - $months = $messages['months']; - $weekdays = $messages['weekdays']; - $meridiem = $messages['meridiem'] ?? ['AM', 'PM']; - - if ($key === 'from') { - foreach (['months', 'weekdays'] as $variable) { - $list = $messages[$variable.'_standalone'] ?? null; - - if ($list) { - foreach ($$variable as $index => &$name) { - $name .= '|'.$messages[$variable.'_standalone'][$index]; - } - } - } - } - - $$translationKey = array_merge( - $mode & CarbonInterface::TRANSLATE_MONTHS ? array_pad($months, 12, '>>DO NOT REPLACE<<') : [], - $mode & CarbonInterface::TRANSLATE_MONTHS ? array_pad($messages['months_short'], 12, '>>DO NOT REPLACE<<') : [], - $mode & CarbonInterface::TRANSLATE_DAYS ? array_pad($weekdays, 7, '>>DO NOT REPLACE<<') : [], - $mode & CarbonInterface::TRANSLATE_DAYS ? array_pad($messages['weekdays_short'], 7, '>>DO NOT REPLACE<<') : [], - $mode & CarbonInterface::TRANSLATE_UNITS ? array_map(function ($unit) use ($messages, $key, $cleanWord) { - $parts = explode('|', $messages[$unit]); - - return $key === 'to' - ? $cleanWord(end($parts)) - : '(?:'.implode('|', array_map($cleanWord, $parts)).')'; - }, [ - 'year', - 'month', - 'week', - 'day', - 'hour', - 'minute', - 'second', - ]) : [], - $mode & CarbonInterface::TRANSLATE_MERIDIEM ? array_map(function ($hour) use ($meridiem) { - if (is_array($meridiem)) { - return $meridiem[$hour < 12 ? 0 : 1]; - } - - return $meridiem($hour, 0, false); - }, range(0, 23)) : [] - ); - } - - return substr(preg_replace_callback('/(?<=[\d\s+.\/,_-])('.implode('|', $fromTranslations).')(?=[\d\s+.\/,_-])/i', function ($match) use ($fromTranslations, $toTranslations) { - [$chunk] = $match; - - foreach ($fromTranslations as $index => $word) { - if (preg_match("/^$word\$/i", $chunk)) { - return $toTranslations[$index] ?? ''; - } - } - - return $chunk; // @codeCoverageIgnore - }, " $timeString "), 1, -1); - } - - /** - * Translate a time string from the current locale (`$date->locale()`) to an other. - * - * @param string $timeString time string to translate - * @param string|null $to output locale of the result returned ("en" by default) - * - * @return string - */ - public function translateTimeStringTo($timeString, $to = null) - { - return static::translateTimeString($timeString, $this->getLocalTranslator()->getLocale(), $to); - } - - /** - * Get/set the locale for the current instance. - * - * @param string|null $locale - * @param string[] ...$fallbackLocales - * - * @return $this|string - */ - public function locale(string $locale = null, ...$fallbackLocales) - { - if ($locale === null) { - return $this->getLocalTranslator()->getLocale(); - } - - if (!$this->localTranslator || $this->localTranslator->getLocale() !== $locale) { - $translator = Translator::get($locale); - - if (!empty($fallbackLocales)) { - $translator->setFallbackLocales($fallbackLocales); - - foreach ($fallbackLocales as $fallbackLocale) { - $messages = Translator::get($fallbackLocale)->getMessages(); - - if (isset($messages[$fallbackLocale])) { - $translator->setMessages($fallbackLocale, $messages[$fallbackLocale]); - } - } - } - - $this->setLocalTranslator($translator); - } - - return $this; - } - - /** - * Get the current translator locale. - * - * @return string - */ - public static function getLocale() - { - return static::translator()->getLocale(); - } - - /** - * Set the current translator locale and indicate if the source locale file exists. - * Pass 'auto' as locale to use closest language from the current LC_TIME locale. - * - * @param string $locale locale ex. en - * - * @return bool - */ - public static function setLocale($locale) - { - return static::translator()->setLocale($locale) !== false; - } - - /** - * Set the fallback locale. - * - * @see https://symfony.com/doc/current/components/translation.html#fallback-locales - * - * @param string $locale - */ - public static function setFallbackLocale($locale) - { - $translator = static::getTranslator(); - - if (method_exists($translator, 'setFallbackLocales')) { - $translator->setFallbackLocales([$locale]); - - if ($translator instanceof Translator) { - $preferredLocale = $translator->getLocale(); - $translator->setMessages($preferredLocale, array_replace_recursive( - $translator->getMessages()[$locale] ?? [], - Translator::get($locale)->getMessages()[$locale] ?? [], - $translator->getMessages($preferredLocale) - )); - } - } - } - - /** - * Get the fallback locale. - * - * @see https://symfony.com/doc/current/components/translation.html#fallback-locales - * - * @return string|null - */ - public static function getFallbackLocale() - { - $translator = static::getTranslator(); - - if (method_exists($translator, 'getFallbackLocales')) { - return $translator->getFallbackLocales()[0] ?? null; - } - - return null; - } - - /** - * Set the current locale to the given, execute the passed function, reset the locale to previous one, - * then return the result of the closure (or null if the closure was void). - * - * @param string $locale locale ex. en - * @param callable $func - * - * @return mixed - */ - public static function executeWithLocale($locale, $func) - { - $currentLocale = static::getLocale(); - $result = call_user_func($func, static::setLocale($locale) ? static::getLocale() : false, static::translator()); - static::setLocale($currentLocale); - - return $result; - } - - /** - * Returns true if the given locale is internally supported and has short-units support. - * Support is considered enabled if either year, day or hour has a short variant translated. - * - * @param string $locale locale ex. en - * - * @return bool - */ - public static function localeHasShortUnits($locale) - { - return static::executeWithLocale($locale, function ($newLocale, TranslatorInterface $translator) { - return $newLocale && - ( - ($y = static::translateWith($translator, 'y')) !== 'y' && - $y !== static::translateWith($translator, 'year') - ) || ( - ($y = static::translateWith($translator, 'd')) !== 'd' && - $y !== static::translateWith($translator, 'day') - ) || ( - ($y = static::translateWith($translator, 'h')) !== 'h' && - $y !== static::translateWith($translator, 'hour') - ); - }); - } - - /** - * Returns true if the given locale is internally supported and has diff syntax support (ago, from now, before, after). - * Support is considered enabled if the 4 sentences are translated in the given locale. - * - * @param string $locale locale ex. en - * - * @return bool - */ - public static function localeHasDiffSyntax($locale) - { - return static::executeWithLocale($locale, function ($newLocale, TranslatorInterface $translator) { - if (!$newLocale) { - return false; - } - - foreach (['ago', 'from_now', 'before', 'after'] as $key) { - if ($translator instanceof TranslatorBagInterface && $translator->getCatalogue($newLocale)->get($key) instanceof Closure) { - continue; - } - - if ($translator->trans($key) === $key) { - return false; - } - } - - return true; - }); - } - - /** - * Returns true if the given locale is internally supported and has words for 1-day diff (just now, yesterday, tomorrow). - * Support is considered enabled if the 3 words are translated in the given locale. - * - * @param string $locale locale ex. en - * - * @return bool - */ - public static function localeHasDiffOneDayWords($locale) - { - return static::executeWithLocale($locale, function ($newLocale, TranslatorInterface $translator) { - return $newLocale && - $translator->trans('diff_now') !== 'diff_now' && - $translator->trans('diff_yesterday') !== 'diff_yesterday' && - $translator->trans('diff_tomorrow') !== 'diff_tomorrow'; - }); - } - - /** - * Returns true if the given locale is internally supported and has words for 2-days diff (before yesterday, after tomorrow). - * Support is considered enabled if the 2 words are translated in the given locale. - * - * @param string $locale locale ex. en - * - * @return bool - */ - public static function localeHasDiffTwoDayWords($locale) - { - return static::executeWithLocale($locale, function ($newLocale, TranslatorInterface $translator) { - return $newLocale && - $translator->trans('diff_before_yesterday') !== 'diff_before_yesterday' && - $translator->trans('diff_after_tomorrow') !== 'diff_after_tomorrow'; - }); - } - - /** - * Returns true if the given locale is internally supported and has period syntax support (X times, every X, from X, to X). - * Support is considered enabled if the 4 sentences are translated in the given locale. - * - * @param string $locale locale ex. en - * - * @return bool - */ - public static function localeHasPeriodSyntax($locale) - { - return static::executeWithLocale($locale, function ($newLocale, TranslatorInterface $translator) { - return $newLocale && - $translator->trans('period_recurrences') !== 'period_recurrences' && - $translator->trans('period_interval') !== 'period_interval' && - $translator->trans('period_start_date') !== 'period_start_date' && - $translator->trans('period_end_date') !== 'period_end_date'; - }); - } - - /** - * Returns the list of internally available locales and already loaded custom locales. - * (It will ignore custom translator dynamic loading.) - * - * @return array - */ - public static function getAvailableLocales() - { - $translator = static::translator(); - - return $translator instanceof Translator - ? $translator->getAvailableLocales() - : [$translator->getLocale()]; - } - - /** - * Returns list of Language object for each available locale. This object allow you to get the ISO name, native - * name, region and variant of the locale. - * - * @return Language[] - */ - public static function getAvailableLocalesInfo() - { - $languages = []; - foreach (static::getAvailableLocales() as $id) { - $languages[$id] = new Language($id); - } - - return $languages; - } -} diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Traits/Macro.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Traits/Macro.php deleted file mode 100644 index ad2db44..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Traits/Macro.php +++ /dev/null @@ -1,112 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace Carbon\Traits; - -/** - * Trait Boundaries. - * - * startOf, endOf and derived method for each unit. - * - * Depends on the following properties: - * - * @property int $year - * @property int $month - * @property int $daysInMonth - * @property int $quarter - * - * Depends on the following methods: - * - * @method $this setTime(int $hour, int $minute, int $second = 0, int $microseconds = 0) - * @method $this setDate(int $year, int $month, int $day) - * @method $this addMonths(int $value = 1) - */ -trait Macro -{ - use Mixin; - - /** - * The registered macros. - * - * @var array - */ - protected static $globalMacros = []; - - /** - * The registered generic macros. - * - * @var array - */ - protected static $globalGenericMacros = []; - - /** - * Register a custom macro. - * - * @example - * ``` - * $userSettings = [ - * 'locale' => 'pt', - * 'timezone' => 'America/Sao_Paulo', - * ]; - * Carbon::macro('userFormat', function () use ($userSettings) { - * return $this->copy()->locale($userSettings['locale'])->tz($userSettings['timezone'])->calendar(); - * }); - * echo Carbon::yesterday()->hours(11)->userFormat(); - * ``` - * - * @param string $name - * @param object|callable $macro - * - * @return void - */ - public static function macro($name, $macro) - { - static::$globalMacros[$name] = $macro; - } - - /** - * Remove all macros and generic macros. - */ - public static function resetMacros() - { - static::$globalMacros = []; - static::$globalGenericMacros = []; - } - - /** - * Register a custom macro. - * - * @param object|callable $macro - * @param int $priority marco with higher priority is tried first - * - * @return void - */ - public static function genericMacro($macro, $priority = 0) - { - if (!isset(static::$globalGenericMacros[$priority])) { - static::$globalGenericMacros[$priority] = []; - krsort(static::$globalGenericMacros, SORT_NUMERIC); - } - - static::$globalGenericMacros[$priority][] = $macro; - } - - /** - * Checks if macro is registered. - * - * @param string $name - * - * @return bool - */ - public static function hasMacro($name) - { - return isset(static::$globalMacros[$name]); - } -} diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Traits/Mixin.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Traits/Mixin.php deleted file mode 100644 index 807f382..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Traits/Mixin.php +++ /dev/null @@ -1,176 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace Carbon\Traits; - -use Closure; -use ReflectionClass; -use ReflectionException; -use ReflectionMethod; -use Throwable; - -/** - * Trait Boundaries. - * - * startOf, endOf and derived method for each unit. - * - * Depends on the following properties: - * - * @property int $year - * @property int $month - * @property int $daysInMonth - * @property int $quarter - * - * Depends on the following methods: - * - * @method $this setTime(int $hour, int $minute, int $second = 0, int $microseconds = 0) - * @method $this setDate(int $year, int $month, int $day) - * @method $this addMonths(int $value = 1) - */ -trait Mixin -{ - /** - * Stack of macro instance contexts. - * - * @var array - */ - protected static $macroContextStack = []; - - /** - * Mix another object into the class. - * - * @example - * ``` - * Carbon::mixin(new class { - * public function addMoon() { - * return function () { - * return $this->addDays(30); - * }; - * } - * public function subMoon() { - * return function () { - * return $this->subDays(30); - * }; - * } - * }); - * $fullMoon = Carbon::create('2018-12-22'); - * $nextFullMoon = $fullMoon->addMoon(); - * $blackMoon = Carbon::create('2019-01-06'); - * $previousBlackMoon = $blackMoon->subMoon(); - * echo "$nextFullMoon\n"; - * echo "$previousBlackMoon\n"; - * ``` - * - * @param object|string $mixin - * - * @throws ReflectionException - * - * @return void - */ - public static function mixin($mixin) - { - is_string($mixin) && trait_exists($mixin) - ? static::loadMixinTrait($mixin) - : static::loadMixinClass($mixin); - } - - /** - * @param string $mixin - * - * @throws ReflectionException - */ - private static function loadMixinClass($mixin) - { - $methods = (new ReflectionClass($mixin))->getMethods( - ReflectionMethod::IS_PUBLIC | ReflectionMethod::IS_PROTECTED - ); - - foreach ($methods as $method) { - if ($method->isConstructor() || $method->isDestructor()) { - continue; - } - - $method->setAccessible(true); - - static::macro($method->name, $method->invoke($mixin)); - } - } - - /** - * @param string $trait - */ - private static function loadMixinTrait($trait) - { - $baseClass = static::class; - $context = eval('return new class() extends '.$baseClass.' {use '.$trait.';};'); - $className = get_class($context); - - foreach (get_class_methods($context) as $name) { - if (method_exists($baseClass, $name)) { - continue; - } - - $closureBase = Closure::fromCallable([$context, $name]); - - static::macro($name, function () use ($closureBase, $className) { - $context = isset($this) ? $this->cast($className) : new $className(); - - try { - $closure = $closureBase->bindTo($context); - } catch (Throwable $e) { - $closure = $closureBase; - } - - return $closure(...func_get_args()); - }); - } - } - - /** - * Stack a Carbon context from inside calls of self::this() and execute a given action. - * - * @param static|null $context - * @param callable $callable - * - * @throws Throwable - * - * @return mixed - */ - protected static function bindMacroContext($context, callable $callable) - { - static::$macroContextStack[] = $context; - $exception = null; - $result = null; - - try { - $result = $callable(); - } catch (Throwable $throwable) { - $exception = $throwable; - } - - array_pop(static::$macroContextStack); - - if ($exception) { - throw $exception; - } - - return $result; - } - - /** - * Return the current context from inside a macro callee or a new one if static. - * - * @return static - */ - protected static function this() - { - return end(static::$macroContextStack) ?: new static(); - } -} diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Traits/Modifiers.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Traits/Modifiers.php deleted file mode 100644 index b9ade14..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Traits/Modifiers.php +++ /dev/null @@ -1,462 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace Carbon\Traits; - -use Carbon\CarbonInterface; - -/** - * Trait Modifiers. - * - * Returns dates relative to current date using modifier short-hand. - */ -trait Modifiers -{ - /** - * Midday/noon hour. - * - * @var int - */ - protected static $midDayAt = 12; - - /** - * get midday/noon hour - * - * @return int - */ - public static function getMidDayAt() - { - return static::$midDayAt; - } - - /** - * @deprecated To avoid conflict between different third-party libraries, static setters should not be used. - * You should rather consider mid-day is always 12pm, then if you need to test if it's an other - * hour, test it explicitly: - * $date->format('G') == 13 - * or to set explicitly to a given hour: - * $date->setTime(13, 0, 0, 0) - * - * Set midday/noon hour - * - * @param int $hour midday hour - * - * @return void - */ - public static function setMidDayAt($hour) - { - static::$midDayAt = $hour; - } - - /** - * Modify to midday, default to self::$midDayAt - * - * @return static - */ - public function midDay() - { - return $this->setTime(static::$midDayAt, 0, 0, 0); - } - - /** - * Modify to the next occurrence of a given modifier such as a day of - * the week. If no modifier is provided, modify to the next occurrence - * of the current day of the week. Use the supplied constants - * to indicate the desired dayOfWeek, ex. static::MONDAY. - * - * @param string|int|null $modifier - * - * @return static - */ - public function next($modifier = null) - { - if ($modifier === null) { - $modifier = $this->dayOfWeek; - } - - return $this->change( - 'next '.(is_string($modifier) ? $modifier : static::$days[$modifier]) - ); - } - - /** - * Go forward or backward to the next week- or weekend-day. - * - * @param bool $weekday - * @param bool $forward - * - * @return static - */ - private function nextOrPreviousDay($weekday = true, $forward = true) - { - /** @var CarbonInterface $step */ - $date = $this; - $step = $forward ? 1 : -1; - - do { - $date = $date->addDays($step); - } while ($weekday ? $date->isWeekend() : $date->isWeekday()); - - return $date; - } - - /** - * Go forward to the next weekday. - * - * @return static - */ - public function nextWeekday() - { - return $this->nextOrPreviousDay(); - } - - /** - * Go backward to the previous weekday. - * - * @return static - */ - public function previousWeekday() - { - return $this->nextOrPreviousDay(true, false); - } - - /** - * Go forward to the next weekend day. - * - * @return static - */ - public function nextWeekendDay() - { - return $this->nextOrPreviousDay(false); - } - - /** - * Go backward to the previous weekend day. - * - * @return static - */ - public function previousWeekendDay() - { - return $this->nextOrPreviousDay(false, false); - } - - /** - * Modify to the previous occurrence of a given modifier such as a day of - * the week. If no dayOfWeek is provided, modify to the previous occurrence - * of the current day of the week. Use the supplied constants - * to indicate the desired dayOfWeek, ex. static::MONDAY. - * - * @param string|int|null $modifier - * - * @return static - */ - public function previous($modifier = null) - { - if ($modifier === null) { - $modifier = $this->dayOfWeek; - } - - return $this->change( - 'last '.(is_string($modifier) ? $modifier : static::$days[$modifier]) - ); - } - - /** - * Modify to the first occurrence of a given day of the week - * in the current month. If no dayOfWeek is provided, modify to the - * first day of the current month. Use the supplied constants - * to indicate the desired dayOfWeek, ex. static::MONDAY. - * - * @param int|null $dayOfWeek - * - * @return static - */ - public function firstOfMonth($dayOfWeek = null) - { - $date = $this->startOfDay(); - - if ($dayOfWeek === null) { - return $date->day(1); - } - - return $date->modify('first '.static::$days[$dayOfWeek].' of '.$date->rawFormat('F').' '.$date->year); - } - - /** - * Modify to the last occurrence of a given day of the week - * in the current month. If no dayOfWeek is provided, modify to the - * last day of the current month. Use the supplied constants - * to indicate the desired dayOfWeek, ex. static::MONDAY. - * - * @param int|null $dayOfWeek - * - * @return static - */ - public function lastOfMonth($dayOfWeek = null) - { - $date = $this->startOfDay(); - - if ($dayOfWeek === null) { - return $date->day($date->daysInMonth); - } - - return $date->modify('last '.static::$days[$dayOfWeek].' of '.$date->rawFormat('F').' '.$date->year); - } - - /** - * Modify to the given occurrence of a given day of the week - * in the current month. If the calculated occurrence is outside the scope - * of the current month, then return false and no modifications are made. - * Use the supplied constants to indicate the desired dayOfWeek, ex. static::MONDAY. - * - * @param int $nth - * @param int $dayOfWeek - * - * @return mixed - */ - public function nthOfMonth($nth, $dayOfWeek) - { - $date = $this->copy()->firstOfMonth(); - $check = $date->rawFormat('Y-m'); - $date = $date->modify('+'.$nth.' '.static::$days[$dayOfWeek]); - - return $date->rawFormat('Y-m') === $check ? $this->modify("$date") : false; - } - - /** - * Modify to the first occurrence of a given day of the week - * in the current quarter. If no dayOfWeek is provided, modify to the - * first day of the current quarter. Use the supplied constants - * to indicate the desired dayOfWeek, ex. static::MONDAY. - * - * @param int|null $dayOfWeek day of the week default null - * - * @return static - */ - public function firstOfQuarter($dayOfWeek = null) - { - return $this->setDate($this->year, $this->quarter * static::MONTHS_PER_QUARTER - 2, 1)->firstOfMonth($dayOfWeek); - } - - /** - * Modify to the last occurrence of a given day of the week - * in the current quarter. If no dayOfWeek is provided, modify to the - * last day of the current quarter. Use the supplied constants - * to indicate the desired dayOfWeek, ex. static::MONDAY. - * - * @param int|null $dayOfWeek day of the week default null - * - * @return static - */ - public function lastOfQuarter($dayOfWeek = null) - { - return $this->setDate($this->year, $this->quarter * static::MONTHS_PER_QUARTER, 1)->lastOfMonth($dayOfWeek); - } - - /** - * Modify to the given occurrence of a given day of the week - * in the current quarter. If the calculated occurrence is outside the scope - * of the current quarter, then return false and no modifications are made. - * Use the supplied constants to indicate the desired dayOfWeek, ex. static::MONDAY. - * - * @param int $nth - * @param int $dayOfWeek - * - * @return mixed - */ - public function nthOfQuarter($nth, $dayOfWeek) - { - $date = $this->copy()->day(1)->month($this->quarter * static::MONTHS_PER_QUARTER); - $lastMonth = $date->month; - $year = $date->year; - $date = $date->firstOfQuarter()->modify('+'.$nth.' '.static::$days[$dayOfWeek]); - - return ($lastMonth < $date->month || $year !== $date->year) ? false : $this->modify("$date"); - } - - /** - * Modify to the first occurrence of a given day of the week - * in the current year. If no dayOfWeek is provided, modify to the - * first day of the current year. Use the supplied constants - * to indicate the desired dayOfWeek, ex. static::MONDAY. - * - * @param int|null $dayOfWeek day of the week default null - * - * @return static - */ - public function firstOfYear($dayOfWeek = null) - { - return $this->month(1)->firstOfMonth($dayOfWeek); - } - - /** - * Modify to the last occurrence of a given day of the week - * in the current year. If no dayOfWeek is provided, modify to the - * last day of the current year. Use the supplied constants - * to indicate the desired dayOfWeek, ex. static::MONDAY. - * - * @param int|null $dayOfWeek day of the week default null - * - * @return static - */ - public function lastOfYear($dayOfWeek = null) - { - return $this->month(static::MONTHS_PER_YEAR)->lastOfMonth($dayOfWeek); - } - - /** - * Modify to the given occurrence of a given day of the week - * in the current year. If the calculated occurrence is outside the scope - * of the current year, then return false and no modifications are made. - * Use the supplied constants to indicate the desired dayOfWeek, ex. static::MONDAY. - * - * @param int $nth - * @param int $dayOfWeek - * - * @return mixed - */ - public function nthOfYear($nth, $dayOfWeek) - { - $date = $this->copy()->firstOfYear()->modify('+'.$nth.' '.static::$days[$dayOfWeek]); - - return $this->year === $date->year ? $this->modify("$date") : false; - } - - /** - * Modify the current instance to the average of a given instance (default now) and the current instance - * (second-precision). - * - * @param \Carbon\Carbon|\DateTimeInterface|null $date - * - * @return static - */ - public function average($date = null) - { - return $this->addRealMicroseconds((int) ($this->diffInRealMicroseconds($this->resolveCarbon($date), false) / 2)); - } - - /** - * Get the closest date from the instance (second-precision). - * - * @param \Carbon\Carbon|\DateTimeInterface|mixed $date1 - * @param \Carbon\Carbon|\DateTimeInterface|mixed $date2 - * - * @return static - */ - public function closest($date1, $date2) - { - return $this->diffInRealMicroseconds($date1) < $this->diffInRealMicroseconds($date2) ? $date1 : $date2; - } - - /** - * Get the farthest date from the instance (second-precision). - * - * @param \Carbon\Carbon|\DateTimeInterface|mixed $date1 - * @param \Carbon\Carbon|\DateTimeInterface|mixed $date2 - * - * @return static - */ - public function farthest($date1, $date2) - { - return $this->diffInRealMicroseconds($date1) > $this->diffInRealMicroseconds($date2) ? $date1 : $date2; - } - - /** - * Get the minimum instance between a given instance (default now) and the current instance. - * - * @param \Carbon\Carbon|\DateTimeInterface|mixed $date - * - * @return static - */ - public function min($date = null) - { - $date = $this->resolveCarbon($date); - - return $this->lt($date) ? $this : $date; - } - - /** - * Get the minimum instance between a given instance (default now) and the current instance. - * - * @param \Carbon\Carbon|\DateTimeInterface|mixed $date - * - * @see min() - * - * @return static - */ - public function minimum($date = null) - { - return $this->min($date); - } - - /** - * Get the maximum instance between a given instance (default now) and the current instance. - * - * @param \Carbon\Carbon|\DateTimeInterface|mixed $date - * - * @return static - */ - public function max($date = null) - { - $date = $this->resolveCarbon($date); - - return $this->gt($date) ? $this : $date; - } - - /** - * Get the maximum instance between a given instance (default now) and the current instance. - * - * @param \Carbon\Carbon|\DateTimeInterface|mixed $date - * - * @see max() - * - * @return static - */ - public function maximum($date = null) - { - return $this->max($date); - } - - /** - * Calls \DateTime::modify if mutable or \DateTimeImmutable::modify else. - * - * @see https://php.net/manual/en/datetime.modify.php - */ - public function modify($modify) - { - return parent::modify((string) $modify); - } - - /** - * Similar to native modify() method of DateTime but can handle more grammars. - * - * @example - * ``` - * echo Carbon::now()->change('next 2pm'); - * ``` - * - * @link https://php.net/manual/en/datetime.modify.php - * - * @param string $modifier - * - * @return static - */ - public function change($modifier) - { - return $this->modify(preg_replace_callback('/^(next|previous|last)\s+(\d{1,2}(h|am|pm|:\d{1,2}(:\d{1,2})?))$/i', function ($match) { - $match[2] = str_replace('h', ':00', $match[2]); - $test = $this->copy()->modify($match[2]); - $method = $match[1] === 'next' ? 'lt' : 'gt'; - $match[1] = $test->$method($this) ? $match[1].' day' : 'today'; - - return $match[1].' '.$match[2]; - }, trim($modifier))); - } -} diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Traits/Mutability.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Traits/Mutability.php deleted file mode 100644 index 66eaa12..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Traits/Mutability.php +++ /dev/null @@ -1,70 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace Carbon\Traits; - -use Carbon\Carbon; -use Carbon\CarbonImmutable; - -/** - * Trait Mutability. - * - * Utils to know if the current object is mutable or immutable and convert it. - */ -trait Mutability -{ - use Cast; - - /** - * Returns true if the current class/instance is mutable. - * - * @return bool - */ - public static function isMutable() - { - return false; - } - - /** - * Returns true if the current class/instance is immutable. - * - * @return bool - */ - public static function isImmutable() - { - return !static::isMutable(); - } - - /** - * Return a mutable copy of the instance. - * - * @return Carbon - */ - public function toMutable() - { - /** @var Carbon $date */ - $date = $this->cast(Carbon::class); - - return $date; - } - - /** - * Return a immutable copy of the instance. - * - * @return CarbonImmutable - */ - public function toImmutable() - { - /** @var CarbonImmutable $date */ - $date = $this->cast(CarbonImmutable::class); - - return $date; - } -} diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Traits/Options.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Traits/Options.php deleted file mode 100644 index 8b75e59..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Traits/Options.php +++ /dev/null @@ -1,436 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace Carbon\Traits; - -use Carbon\CarbonInterface; -use DateTimeInterface; - -/** - * Trait Options. - * - * Embed base methods to change settings of Carbon classes. - * - * Depends on the following methods: - * - * @method \Carbon\Carbon|\Carbon\CarbonImmutable shiftTimezone($timezone) Set the timezone - */ -trait Options -{ - use Localization; - - /** - * Customizable PHP_INT_SIZE override. - * - * @var int - */ - public static $PHPIntSize = PHP_INT_SIZE; - - /** - * First day of week. - * - * @var int - */ - protected static $weekStartsAt = CarbonInterface::MONDAY; - - /** - * Last day of week. - * - * @var int - */ - protected static $weekEndsAt = CarbonInterface::SUNDAY; - - /** - * Days of weekend. - * - * @var array - */ - protected static $weekendDays = [ - CarbonInterface::SATURDAY, - CarbonInterface::SUNDAY, - ]; - - /** - * Format regex patterns. - * - * @var array - */ - protected static $regexFormats = [ - 'd' => '(3[01]|[12][0-9]|0[1-9])', - 'D' => '([a-zA-Z]{3})', - 'j' => '([123][0-9]|[1-9])', - 'l' => '([a-zA-Z]{2,})', - 'N' => '([1-7])', - 'S' => '([a-zA-Z]{2})', - 'w' => '([0-6])', - 'z' => '(36[0-5]|3[0-5][0-9]|[12][0-9]{2}|[1-9]?[0-9])', - 'W' => '(5[012]|[1-4][0-9]|[1-9])', - 'F' => '([a-zA-Z]{2,})', - 'm' => '(1[012]|0[1-9])', - 'M' => '([a-zA-Z]{3})', - 'n' => '(1[012]|[1-9])', - 't' => '(2[89]|3[01])', - 'L' => '(0|1)', - 'o' => '([1-9][0-9]{0,4})', - 'Y' => '([1-9]?[0-9]{4})', - 'y' => '([0-9]{2})', - 'a' => '(am|pm)', - 'A' => '(AM|PM)', - 'B' => '([0-9]{3})', - 'g' => '(1[012]|[1-9])', - 'G' => '(2[0-3]|1?[0-9])', - 'h' => '(1[012]|0[1-9])', - 'H' => '(2[0-3]|[01][0-9])', - 'i' => '([0-5][0-9])', - 's' => '([0-5][0-9])', - 'u' => '([0-9]{1,6})', - 'v' => '([0-9]{1,3})', - 'e' => '([a-zA-Z]{1,5})|([a-zA-Z]*\/[a-zA-Z]*)', - 'I' => '(0|1)', - 'O' => '([\+\-](1[012]|0[0-9])[0134][05])', - 'P' => '([\+\-](1[012]|0[0-9]):[0134][05])', - 'T' => '([a-zA-Z]{1,5})', - 'Z' => '(-?[1-5]?[0-9]{1,4})', - 'U' => '([0-9]*)', - - // The formats below are combinations of the above formats. - 'c' => '(([1-9]?[0-9]{4})\-(1[012]|0[1-9])\-(3[01]|[12][0-9]|0[1-9])T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])[\+\-](1[012]|0[0-9]):([0134][05]))', // Y-m-dTH:i:sP - 'r' => '(([a-zA-Z]{3}), ([123][0-9]|[1-9]) ([a-zA-Z]{3}) ([1-9]?[0-9]{4}) (2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9]) [\+\-](1[012]|0[0-9])([0134][05]))', // D, j M Y H:i:s O - ]; - - /** - * Indicates if months should be calculated with overflow. - * Global setting. - * - * @var bool - */ - protected static $monthsOverflow = true; - - /** - * Indicates if years should be calculated with overflow. - * Global setting. - * - * @var bool - */ - protected static $yearsOverflow = true; - - /** - * Indicates if the strict mode is in use. - * Global setting. - * - * @var bool - */ - protected static $strictModeEnabled = true; - - /** - * Function to call instead of format. - * - * @var string|callable|null - */ - protected static $formatFunction = null; - - /** - * Function to call instead of createFromFormat. - * - * @var string|callable|null - */ - protected static $createFromFormatFunction = null; - - /** - * Function to call instead of parse. - * - * @var string|callable|null - */ - protected static $parseFunction = null; - - /** - * Indicates if months should be calculated with overflow. - * Specific setting. - * - * @var bool|null - */ - protected $localMonthsOverflow = null; - - /** - * Indicates if years should be calculated with overflow. - * Specific setting. - * - * @var bool|null - */ - protected $localYearsOverflow = null; - - /** - * Indicates if the strict mode is in use. - * Specific setting. - * - * @var bool|null - */ - protected $localStrictModeEnabled = null; - - /** - * Options for diffForHumans and forHumans methods. - * - * @var bool|null - */ - protected $localHumanDiffOptions = null; - - /** - * Format to use on string cast. - * - * @var string|null - */ - protected $localToStringFormat = null; - - /** - * Format to use on JSON serialization. - * - * @var string|null - */ - protected $localSerializer = null; - - /** - * Instance-specific macros. - * - * @var array|null - */ - protected $localMacros = null; - - /** - * Instance-specific generic macros. - * - * @var array|null - */ - protected $localGenericMacros = null; - - /** - * Function to call instead of format. - * - * @var string|callable|null - */ - protected $localFormatFunction = null; - - /** - * @deprecated To avoid conflict between different third-party libraries, static setters should not be used. - * You should rather use the ->settings() method. - * @see settings - * - * Enable the strict mode (or disable with passing false). - * - * @param bool $strictModeEnabled - */ - public static function useStrictMode($strictModeEnabled = true) - { - static::$strictModeEnabled = $strictModeEnabled; - } - - /** - * Returns true if the strict mode is globally in use, false else. - * (It can be overridden in specific instances.) - * - * @return bool - */ - public static function isStrictModeEnabled() - { - return static::$strictModeEnabled; - } - - /** - * @deprecated To avoid conflict between different third-party libraries, static setters should not be used. - * You should rather use the ->settings() method. - * Or you can use method variants: addMonthsWithOverflow/addMonthsNoOverflow, same variants - * are available for quarters, years, decade, centuries, millennia (singular and plural forms). - * @see settings - * - * Indicates if months should be calculated with overflow. - * - * @param bool $monthsOverflow - * - * @return void - */ - public static function useMonthsOverflow($monthsOverflow = true) - { - static::$monthsOverflow = $monthsOverflow; - } - - /** - * @deprecated To avoid conflict between different third-party libraries, static setters should not be used. - * You should rather use the ->settings() method. - * Or you can use method variants: addMonthsWithOverflow/addMonthsNoOverflow, same variants - * are available for quarters, years, decade, centuries, millennia (singular and plural forms). - * @see settings - * - * Reset the month overflow behavior. - * - * @return void - */ - public static function resetMonthsOverflow() - { - static::$monthsOverflow = true; - } - - /** - * Get the month overflow global behavior (can be overridden in specific instances). - * - * @return bool - */ - public static function shouldOverflowMonths() - { - return static::$monthsOverflow; - } - - /** - * @deprecated To avoid conflict between different third-party libraries, static setters should not be used. - * You should rather use the ->settings() method. - * Or you can use method variants: addYearsWithOverflow/addYearsNoOverflow, same variants - * are available for quarters, years, decade, centuries, millennia (singular and plural forms). - * @see settings - * - * Indicates if years should be calculated with overflow. - * - * @param bool $yearsOverflow - * - * @return void - */ - public static function useYearsOverflow($yearsOverflow = true) - { - static::$yearsOverflow = $yearsOverflow; - } - - /** - * @deprecated To avoid conflict between different third-party libraries, static setters should not be used. - * You should rather use the ->settings() method. - * Or you can use method variants: addYearsWithOverflow/addYearsNoOverflow, same variants - * are available for quarters, years, decade, centuries, millennia (singular and plural forms). - * @see settings - * - * Reset the month overflow behavior. - * - * @return void - */ - public static function resetYearsOverflow() - { - static::$yearsOverflow = true; - } - - /** - * Get the month overflow global behavior (can be overridden in specific instances). - * - * @return bool - */ - public static function shouldOverflowYears() - { - return static::$yearsOverflow; - } - - /** - * Set specific options. - * - strictMode: true|false|null - * - monthOverflow: true|false|null - * - yearOverflow: true|false|null - * - humanDiffOptions: int|null - * - toStringFormat: string|Closure|null - * - toJsonFormat: string|Closure|null - * - locale: string|null - * - timezone: \DateTimeZone|string|int|null - * - macros: array|null - * - genericMacros: array|null - * - * @param array $settings - * - * @return $this|static - */ - public function settings(array $settings) - { - $this->localStrictModeEnabled = $settings['strictMode'] ?? null; - $this->localMonthsOverflow = $settings['monthOverflow'] ?? null; - $this->localYearsOverflow = $settings['yearOverflow'] ?? null; - $this->localHumanDiffOptions = $settings['humanDiffOptions'] ?? null; - $this->localToStringFormat = $settings['toStringFormat'] ?? null; - $this->localSerializer = $settings['toJsonFormat'] ?? null; - $this->localMacros = $settings['macros'] ?? null; - $this->localGenericMacros = $settings['genericMacros'] ?? null; - $this->localFormatFunction = $settings['formatFunction'] ?? null; - - if (isset($settings['locale'])) { - $locales = $settings['locale']; - - if (!is_array($locales)) { - $locales = [$locales]; - } - - $this->locale(...$locales); - } - - if (isset($settings['timezone'])) { - return $this->shiftTimezone($settings['timezone']); - } - - return $this; - } - - /** - * Returns current local settings. - * - * @return array - */ - public function getSettings() - { - $settings = []; - $map = [ - 'localStrictModeEnabled' => 'strictMode', - 'localMonthsOverflow' => 'monthOverflow', - 'localYearsOverflow' => 'yearOverflow', - 'localHumanDiffOptions' => 'humanDiffOptions', - 'localToStringFormat' => 'toStringFormat', - 'localSerializer' => 'toJsonFormat', - 'localMacros' => 'macros', - 'localGenericMacros' => 'genericMacros', - 'locale' => 'locale', - 'tzName' => 'timezone', - 'localFormatFunction' => 'formatFunction', - ]; - foreach ($map as $property => $key) { - $value = $this->$property ?? null; - if ($value !== null) { - $settings[$key] = $value; - } - } - - return $settings; - } - - /** - * Show truthy properties on var_dump(). - * - * @return array - */ - public function __debugInfo() - { - $infos = array_filter(get_object_vars($this), function ($var) { - return $var; - }); - - // @codeCoverageIgnoreStart - - if ($this instanceof CarbonInterface || $this instanceof DateTimeInterface) { - if (!isset($infos['date'])) { - $infos['date'] = $this->format(CarbonInterface::MOCK_DATETIME_FORMAT); - } - - if (!isset($infos['timezone'])) { - $infos['timezone'] = $this->tzName; - } - } - - // @codeCoverageIgnoreEnd - - return $infos; - } -} diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Traits/Rounding.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Traits/Rounding.php deleted file mode 100644 index 8ae06b6..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Traits/Rounding.php +++ /dev/null @@ -1,242 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace Carbon\Traits; - -use Carbon\CarbonInterface; -use Carbon\CarbonInterval; -use DateInterval; -use InvalidArgumentException; - -/** - * Trait Rounding. - * - * Round, ceil, floor units. - * - * Depends on the following methods: - * - * @method CarbonInterface copy() - * @method CarbonInterface startOfWeek() - */ -trait Rounding -{ - /** - * Round the current instance at the given unit with given precision if specified and the given function. - * - * @param string $unit - * @param float|int $precision - * @param string $function - * - * @return CarbonInterface - */ - public function roundUnit($unit, $precision = 1, $function = 'round') - { - $metaUnits = [ - // @call roundUnit - 'millennium' => [static::YEARS_PER_MILLENNIUM, 'year'], - // @call roundUnit - 'century' => [static::YEARS_PER_CENTURY, 'year'], - // @call roundUnit - 'decade' => [static::YEARS_PER_DECADE, 'year'], - // @call roundUnit - 'quarter' => [static::MONTHS_PER_QUARTER, 'month'], - // @call roundUnit - 'millisecond' => [1000, 'microsecond'], - ]; - $normalizedUnit = static::singularUnit($unit); - $ranges = array_merge(static::getRangesByUnit(), [ - // @call roundUnit - 'microsecond' => [0, 999999], - ]); - $factor = 1; - - if ($normalizedUnit === 'week') { - $normalizedUnit = 'day'; - $precision *= static::DAYS_PER_WEEK; - } - - if (isset($metaUnits[$normalizedUnit])) { - [$factor, $normalizedUnit] = $metaUnits[$normalizedUnit]; - } - - $precision *= $factor; - - if (!isset($ranges[$normalizedUnit])) { - throw new InvalidArgumentException("Unknown unit '$unit' to floor"); - } - - $found = false; - $fraction = 0; - $arguments = null; - $factor = $this->year < 0 ? -1 : 1; - $changes = []; - - foreach ($ranges as $unit => [$minimum, $maximum]) { - if ($normalizedUnit === $unit) { - $arguments = [$this->$unit, $minimum]; - $fraction = $precision - floor($precision); - $found = true; - - continue; - } - - if ($found) { - $delta = $maximum + 1 - $minimum; - $factor /= $delta; - $fraction *= $delta; - $arguments[0] += $this->$unit * $factor; - $changes[$unit] = round($minimum + ($fraction ? $fraction * call_user_func($function, ($this->$unit - $minimum) / $fraction) : 0)); - - // Cannot use modulo as it lose double precision - while ($changes[$unit] >= $delta) { - $changes[$unit] -= $delta; - } - - $fraction -= floor($fraction); - } - } - - [$value, $minimum] = $arguments; - /** @var CarbonInterface $result */ - $result = $this->$normalizedUnit(floor(call_user_func($function, ($value - $minimum) / $precision) * $precision + $minimum)); - - foreach ($changes as $unit => $value) { - $result = $result->$unit($value); - } - - return $result; - } - - /** - * Truncate the current instance at the given unit with given precision if specified. - * - * @param string $unit - * @param float|int $precision - * - * @return CarbonInterface - */ - public function floorUnit($unit, $precision = 1) - { - return $this->roundUnit($unit, $precision, 'floor'); - } - - /** - * Ceil the current instance at the given unit with given precision if specified. - * - * @param string $unit - * @param float|int $precision - * - * @return CarbonInterface - */ - public function ceilUnit($unit, $precision = 1) - { - return $this->roundUnit($unit, $precision, 'ceil'); - } - - /** - * Round the current instance second with given precision if specified. - * - * @param float|int|string|\DateInterval|null $precision - * @param string $function - * - * @return CarbonInterface - */ - public function round($precision = 1, $function = 'round') - { - $unit = 'second'; - - if ($precision instanceof DateInterval) { - $precision = (string) CarbonInterval::instance($precision); - } - - if (is_string($precision) && preg_match('/^\s*(?\d+)?\s*(?\w+)(?\W.*)?$/', $precision, $match)) { - if (trim($match['other'] ?? '') !== '') { - throw new InvalidArgumentException('Rounding is only possible with single unit intervals.'); - } - - $precision = (int) ($match['precision'] ?: 1); - $unit = $match['unit']; - } - - return $this->roundUnit($unit, $precision, $function); - } - - /** - * Round the current instance second with given precision if specified. - * - * @param float|int|string|\DateInterval|null $precision - * - * @return CarbonInterface - */ - public function floor($precision = 1) - { - return $this->round($precision, 'floor'); - } - - /** - * Ceil the current instance second with given precision if specified. - * - * @param float|int|string|\DateInterval|null $precision - * - * @return CarbonInterface - */ - public function ceil($precision = 1) - { - return $this->round($precision, 'ceil'); - } - - /** - * Round the current instance week. - * - * @param int $weekStartsAt optional start allow you to specify the day of week to use to start the week - * - * @return CarbonInterface - */ - public function roundWeek($weekStartsAt = null) - { - return $this->closest($this->copy()->floorWeek($weekStartsAt), $this->copy()->ceilWeek($weekStartsAt)); - } - - /** - * Truncate the current instance week. - * - * @param int $weekStartsAt optional start allow you to specify the day of week to use to start the week - * - * @return CarbonInterface - */ - public function floorWeek($weekStartsAt = null) - { - return $this->startOfWeek($weekStartsAt); - } - - /** - * Ceil the current instance week. - * - * @param int $weekStartsAt optional start allow you to specify the day of week to use to start the week - * - * @return CarbonInterface - */ - public function ceilWeek($weekStartsAt = null) - { - if ($this->isMutable()) { - $startOfWeek = $this->copy()->startOfWeek($weekStartsAt); - - return $startOfWeek != $this ? - $this->startOfWeek($weekStartsAt)->addWeek() : - $this; - } - - $startOfWeek = $this->startOfWeek($weekStartsAt); - - return $startOfWeek != $this ? - $startOfWeek->addWeek() : - $this->copy(); - } -} diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Traits/Serialization.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Traits/Serialization.php deleted file mode 100644 index c74ac39..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Traits/Serialization.php +++ /dev/null @@ -1,160 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace Carbon\Traits; - -use InvalidArgumentException; - -/** - * Trait Serialization. - * - * Serialization and JSON stuff. - * - * Depends on the following properties: - * - * @property int $year - * @property int $month - * @property int $daysInMonth - * @property int $quarter - * - * Depends on the following methods: - * - * @method string|static locale(string $locale = null) - * @method string toJSON() - */ -trait Serialization -{ - /** - * The custom Carbon JSON serializer. - * - * @var callable|null - */ - protected static $serializer; - - /** - * Locale to dump comes here before serialization. - * - * @var string|null - */ - protected $dumpLocale = null; - - /** - * Return a serialized string of the instance. - * - * @return string - */ - public function serialize() - { - return serialize($this); - } - - /** - * Create an instance from a serialized string. - * - * @param string $value - * - * @throws \InvalidArgumentException - * - * @return static - */ - public static function fromSerialized($value) - { - $instance = @unserialize("$value"); - - if (!$instance instanceof static) { - throw new InvalidArgumentException('Invalid serialized value.'); - } - - return $instance; - } - - /** - * The __set_state handler. - * - * @param string|array $dump - * - * @return static - */ - public static function __set_state($dump) - { - if (is_string($dump)) { - return static::parse($dump); - } - - /** @var \DateTimeInterface $date */ - $date = get_parent_class(static::class) && method_exists(parent::class, '__set_state') - ? parent::__set_state((array) $dump) - : (object) $dump; - - return static::instance($date); - } - - /** - * Returns the list of properties to dump on serialize() called on. - * - * @return array - */ - public function __sleep() - { - $properties = ['date', 'timezone_type', 'timezone']; - if ($this->localTranslator ?? null) { - $properties[] = 'dumpLocale'; - $this->dumpLocale = $this->locale ?? null; - } - - return $properties; - } - - /** - * Set locale if specified on unserialize() called. - */ - public function __wakeup() - { - if (get_parent_class() && method_exists(parent::class, '__wakeup')) { - parent::__wakeup(); - } - if (isset($this->dumpLocale)) { - $this->locale($this->dumpLocale); - $this->dumpLocale = null; - } - } - - /** - * Prepare the object for JSON serialization. - * - * @return array|string - */ - public function jsonSerialize() - { - $serializer = $this->localSerializer ?? static::$serializer; - if ($serializer) { - return is_string($serializer) - ? $this->rawFormat($serializer) - : call_user_func($serializer, $this); - } - - return $this->toJSON(); - } - - /** - * @deprecated To avoid conflict between different third-party libraries, static setters should not be used. - * You should rather transform Carbon object before the serialization. - * - * JSON serialize all Carbon instances using the given callback. - * - * @param callable $callback - * - * @return void - */ - public static function serializeUsing($callback) - { - static::$serializer = $callback; - } -} diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Traits/Test.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Traits/Test.php deleted file mode 100644 index f0ed9a4..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Traits/Test.php +++ /dev/null @@ -1,132 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace Carbon\Traits; - -use Closure; -use DateTimeImmutable; - -trait Test -{ - /////////////////////////////////////////////////////////////////// - ///////////////////////// TESTING AIDS //////////////////////////// - /////////////////////////////////////////////////////////////////// - - /** - * A test Carbon instance to be returned when now instances are created. - * - * @var static - */ - protected static $testNow; - - /** - * Set a Carbon instance (real or mock) to be returned when a "now" - * instance is created. The provided instance will be returned - * specifically under the following conditions: - * - A call to the static now() method, ex. Carbon::now() - * - When a null (or blank string) is passed to the constructor or parse(), ex. new Carbon(null) - * - When the string "now" is passed to the constructor or parse(), ex. new Carbon('now') - * - When a string containing the desired time is passed to Carbon::parse(). - * - * Note the timezone parameter was left out of the examples above and - * has no affect as the mock value will be returned regardless of its value. - * - * To clear the test instance call this method using the default - * parameter of null. - * - * /!\ Use this method for unit tests only. - * - * @param Closure|static|string|null $testNow real or mock Carbon instance - */ - public static function setTestNow($testNow = null) - { - static::$testNow = is_string($testNow) ? static::parse($testNow) : $testNow; - } - - /** - * Get the Carbon instance (real or mock) to be returned when a "now" - * instance is created. - * - * @return Closure|static the current instance used for testing - */ - public static function getTestNow() - { - return static::$testNow; - } - - /** - * Determine if there is a valid test instance set. A valid test instance - * is anything that is not null. - * - * @return bool true if there is a test instance, otherwise false - */ - public static function hasTestNow() - { - return static::getTestNow() !== null; - } - - /** - * Return the given timezone and set it to the test instance if not null. - * If null, get the timezone from the test instance and return it. - * - * @param string|\DateTimeZone $tz - * @param \Carbon\CarbonInterface $testInstance - * - * @return string|\DateTimeZone - */ - protected static function handleMockTimezone($tz, &$testInstance) - { - //shift the time according to the given time zone - if ($tz !== null && $tz !== static::getMockedTestNow($tz)->getTimezone()) { - $testInstance = $testInstance->setTimezone($tz); - - return $tz; - } - - return $testInstance->getTimezone(); - } - - /** - * Get the mocked date passed in setTestNow() and if it's a Closure, execute it. - * - * @param string|\DateTimeZone $tz - * - * @return \Carbon\CarbonImmutable|\Carbon\Carbon|null - */ - protected static function getMockedTestNow($tz) - { - $testNow = static::getTestNow(); - - if ($testNow instanceof Closure) { - $realNow = new DateTimeImmutable('now'); - $testNow = $testNow(static::parse( - $realNow->format('Y-m-d H:i:s.u'), - $tz ?: $realNow->getTimezone() - )); - } - /* @var \Carbon\CarbonImmutable|\Carbon\Carbon|null $testNow */ - - return $testNow; - } - - protected static function mockConstructorParameters(&$time, &$tz) - { - /** @var \Carbon\CarbonImmutable|\Carbon\Carbon $testInstance */ - $testInstance = clone static::getMockedTestNow($tz); - - $tz = static::handleMockTimezone($tz, $testInstance); - - if (static::hasRelativeKeywords($time)) { - $testInstance = $testInstance->modify($time); - } - - $time = $testInstance instanceof self ? $testInstance->rawFormat(static::MOCK_DATETIME_FORMAT) : $testInstance->format(static::MOCK_DATETIME_FORMAT); - } -} diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Traits/Timestamp.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Traits/Timestamp.php deleted file mode 100644 index e0a0f42..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Traits/Timestamp.php +++ /dev/null @@ -1,113 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace Carbon\Traits; - -/** - * Trait Timestamp. - */ -trait Timestamp -{ - /** - * Create a Carbon instance from a timestamp. - * - * @param int $timestamp - * @param \DateTimeZone|string|null $tz - * - * @return static - */ - public static function createFromTimestamp($timestamp, $tz = null) - { - return static::today($tz)->setTimestamp((int) $timestamp); - } - - /** - * Create a Carbon instance from a timestamp in milliseconds. - * - * @param int $timestamp - * @param \DateTimeZone|string|null $tz - * - * @return static - */ - public static function createFromTimestampMs($timestamp, $tz = null) - { - return static::rawCreateFromFormat('U.u', sprintf('%F', $timestamp / 1000)) - ->setTimezone($tz); - } - - /** - * Create a Carbon instance from an UTC timestamp. - * - * @param int $timestamp - * - * @return static - */ - public static function createFromTimestampUTC($timestamp) - { - return new static('@'.$timestamp); - } - - /** - * Set the instance's timestamp. - * - * @param int $value - * - * @return static - */ - public function timestamp($value) - { - return $this->setTimestamp((int) $value); - } - - /** - * Returns a timestamp rounded with the given precision (6 by default). - * - * @example getPreciseTimestamp() 1532087464437474 (microsecond maximum precision) - * @example getPreciseTimestamp(6) 1532087464437474 - * @example getPreciseTimestamp(5) 153208746443747 (1/100000 second precision) - * @example getPreciseTimestamp(4) 15320874644375 (1/10000 second precision) - * @example getPreciseTimestamp(3) 1532087464437 (millisecond precision) - * @example getPreciseTimestamp(2) 153208746444 (1/100 second precision) - * @example getPreciseTimestamp(1) 15320874644 (1/10 second precision) - * @example getPreciseTimestamp(0) 1532087464 (second precision) - * @example getPreciseTimestamp(-1) 153208746 (10 second precision) - * @example getPreciseTimestamp(-2) 15320875 (100 second precision) - * - * @param int $precision - * - * @return float - */ - public function getPreciseTimestamp($precision = 6) - { - return round($this->rawFormat('Uu') / pow(10, 6 - $precision)); - } - - /** - * Returns the milliseconds timestamps used amongst other by Date javascript objects. - * - * @return float - */ - public function valueOf() - { - return $this->getPreciseTimestamp(3); - } - - /** - * @alias getTimestamp - * - * Returns the UNIX timestamp for the current date. - * - * @return int - */ - public function unix() - { - return $this->getTimestamp(); - } -} diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Traits/Units.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Traits/Units.php deleted file mode 100644 index 7c309f8..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Traits/Units.php +++ /dev/null @@ -1,353 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace Carbon\Traits; - -use Carbon\CarbonInterface; -use Carbon\CarbonInterval; -use DateInterval; -use InvalidArgumentException; - -/** - * Trait Units. - * - * Add, subtract and set units. - */ -trait Units -{ - /** - * Add seconds to the instance using timestamp. Positive $value travels - * forward while negative $value travels into the past. - * - * @param string $unit - * @param int $value - * - * @return static - */ - public function addRealUnit($unit, $value = 1) - { - switch ($unit) { - // @call addRealUnit - case 'micro': - - // @call addRealUnit - case 'microsecond': - /* @var CarbonInterface $this */ - $diff = $this->microsecond + $value; - $time = $this->getTimestamp(); - $seconds = (int) floor($diff / static::MICROSECONDS_PER_SECOND); - $time += $seconds; - $diff -= $seconds * static::MICROSECONDS_PER_SECOND; - $microtime = str_pad("$diff", 6, '0', STR_PAD_LEFT); - $tz = $this->tz; - - return $this->tz('UTC')->modify("@$time.$microtime")->tz($tz); - - // @call addRealUnit - case 'milli': - // @call addRealUnit - case 'millisecond': - return $this->addRealUnit('microsecond', $value * static::MICROSECONDS_PER_MILLISECOND); - - break; - - // @call addRealUnit - case 'second': - break; - - // @call addRealUnit - case 'minute': - $value *= static::SECONDS_PER_MINUTE; - - break; - - // @call addRealUnit - case 'hour': - $value *= static::MINUTES_PER_HOUR * static::SECONDS_PER_MINUTE; - - break; - - // @call addRealUnit - case 'day': - $value *= static::HOURS_PER_DAY * static::MINUTES_PER_HOUR * static::SECONDS_PER_MINUTE; - - break; - - // @call addRealUnit - case 'week': - $value *= static::DAYS_PER_WEEK * static::HOURS_PER_DAY * static::MINUTES_PER_HOUR * static::SECONDS_PER_MINUTE; - - break; - - // @call addRealUnit - case 'month': - $value *= 30 * static::HOURS_PER_DAY * static::MINUTES_PER_HOUR * static::SECONDS_PER_MINUTE; - - break; - - // @call addRealUnit - case 'quarter': - $value *= static::MONTHS_PER_QUARTER * 30 * static::HOURS_PER_DAY * static::MINUTES_PER_HOUR * static::SECONDS_PER_MINUTE; - - break; - - // @call addRealUnit - case 'year': - $value *= 365 * static::HOURS_PER_DAY * static::MINUTES_PER_HOUR * static::SECONDS_PER_MINUTE; - - break; - - // @call addRealUnit - case 'decade': - $value *= static::YEARS_PER_DECADE * 365 * static::HOURS_PER_DAY * static::MINUTES_PER_HOUR * static::SECONDS_PER_MINUTE; - - break; - - // @call addRealUnit - case 'century': - $value *= static::YEARS_PER_CENTURY * 365 * static::HOURS_PER_DAY * static::MINUTES_PER_HOUR * static::SECONDS_PER_MINUTE; - - break; - - // @call addRealUnit - case 'millennium': - $value *= static::YEARS_PER_MILLENNIUM * 365 * static::HOURS_PER_DAY * static::MINUTES_PER_HOUR * static::SECONDS_PER_MINUTE; - - break; - - default: - if ($this->localStrictModeEnabled ?? static::isStrictModeEnabled()) { - throw new InvalidArgumentException("Invalid unit for real timestamp add/sub: '$unit'"); - } - - return $this; - } - - /* @var CarbonInterface $this */ - return $this->setTimestamp((int) ($this->getTimestamp() + $value)); - } - - public function subRealUnit($unit, $value = 1) - { - return $this->addRealUnit($unit, -$value); - } - - /** - * Returns true if a property can be changed via setter. - * - * @param string $unit - * - * @return bool - */ - public static function isModifiableUnit($unit) - { - static $modifiableUnits = [ - // @call addUnit - 'millennium', - // @call addUnit - 'century', - // @call addUnit - 'decade', - // @call addUnit - 'quarter', - // @call addUnit - 'week', - // @call addUnit - 'weekday', - ]; - - return in_array($unit, $modifiableUnits) || in_array($unit, static::$units); - } - - /** - * Add given units or interval to the current instance. - * - * @example $date->add('hour', 3) - * @example $date->add(15, 'days') - * @example $date->add(CarbonInterval::days(4)) - * - * @param string|DateInterval $unit - * @param int $value - * @param bool|null $overflow - * - * @return static - */ - public function add($unit, $value = 1, $overflow = null) - { - if (is_string($unit) && func_num_args() === 1) { - $unit = CarbonInterval::make($unit); - } - - if ($unit instanceof DateInterval) { - return parent::add($unit); - } - - if (is_numeric($unit)) { - [$value, $unit] = [$unit, $value]; - } - - return $this->addUnit($unit, $value, $overflow); - } - - /** - * Add given units to the current instance. - * - * @param string $unit - * @param int $value - * @param bool|null $overflow - * - * @return static - */ - public function addUnit($unit, $value = 1, $overflow = null) - { - $date = $this; - - if (!is_numeric($value) || !floatval($value)) { - return $date->isMutable() ? $date : $date->copy(); - } - - $metaUnits = [ - 'millennium' => [static::YEARS_PER_MILLENNIUM, 'year'], - 'century' => [static::YEARS_PER_CENTURY, 'year'], - 'decade' => [static::YEARS_PER_DECADE, 'year'], - 'quarter' => [static::MONTHS_PER_QUARTER, 'month'], - ]; - if (isset($metaUnits[$unit])) { - [$factor, $unit] = $metaUnits[$unit]; - $value *= $factor; - } - - if ($unit === 'weekday') { - $weekendDays = static::getWeekendDays(); - if ($weekendDays !== [static::SATURDAY, static::SUNDAY]) { - $absoluteValue = abs($value); - $sign = $value / max(1, $absoluteValue); - $weekDaysCount = 7 - min(6, count(array_unique($weekendDays))); - $weeks = floor($absoluteValue / $weekDaysCount); - for ($diff = $absoluteValue % $weekDaysCount; $diff; $diff--) { - /** @var static $date */ - $date = $date->addDays($sign); - while (in_array($date->dayOfWeek, $weekendDays)) { - $date = $date->addDays($sign); - } - } - - $value = $weeks * $sign; - $unit = 'week'; - } - - $timeString = $date->toTimeString(); - } elseif ($canOverflow = in_array($unit, [ - 'month', - 'year', - ]) && ($overflow === false || ( - $overflow === null && - ($ucUnit = ucfirst($unit).'s') && - !($this->{'local'.$ucUnit.'Overflow'} ?? static::{'shouldOverflow'.$ucUnit}()) - ))) { - $day = $date->day; - } - - $value = (int) $value; - - if ($unit === 'milli' || $unit === 'millisecond') { - $unit = 'microsecond'; - $value *= static::MICROSECONDS_PER_MILLISECOND; - } - - // Work-around for bug https://bugs.php.net/bug.php?id=75642 - if ($unit === 'micro' || $unit === 'microsecond') { - $microseconds = $this->micro + $value; - $second = (int) floor($microseconds / static::MICROSECONDS_PER_SECOND); - $microseconds %= static::MICROSECONDS_PER_SECOND; - if ($microseconds < 0) { - $microseconds += static::MICROSECONDS_PER_SECOND; - } - $date = $date->microseconds($microseconds); - $unit = 'second'; - $value = $second; - } - $date = $date->modify("$value $unit"); - - if (isset($timeString)) { - return $date->setTimeFromTimeString($timeString); - } - - if (isset($canOverflow, $day) && $canOverflow && $day !== $date->day) { - $date = $date->modify('last day of previous month'); - } - - return $date; - } - - /** - * Subtract given units to the current instance. - * - * @param string $unit - * @param int $value - * @param bool|null $overflow - * - * @return static - */ - public function subUnit($unit, $value = 1, $overflow = null) - { - return $this->addUnit($unit, -$value, $overflow); - } - - /** - * Subtract given units or interval to the current instance. - * - * @example $date->sub('hour', 3) - * @example $date->sub(15, 'days') - * @example $date->sub(CarbonInterval::days(4)) - * - * @param string|DateInterval $unit - * @param int $value - * @param bool|null $overflow - * - * @return static - */ - public function sub($unit, $value = 1, $overflow = null) - { - if (is_string($unit) && func_num_args() === 1) { - $unit = CarbonInterval::make($unit); - } - - if ($unit instanceof DateInterval) { - return parent::sub($unit); - } - - if (is_numeric($unit)) { - [$value, $unit] = [$unit, $value]; - } - - return $this->addUnit($unit, -floatval($value), $overflow); - } - - /** - * Subtract given units or interval to the current instance. - * - * @see sub() - * - * @param string|DateInterval $unit - * @param int $value - * @param bool|null $overflow - * - * @return static - */ - public function subtract($unit, $value = 1, $overflow = null) - { - if (is_string($unit) && func_num_args() === 1) { - $unit = CarbonInterval::make($unit); - } - - return $this->sub($unit, $value, $overflow); - } -} diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Traits/Week.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Traits/Week.php deleted file mode 100644 index 546590a..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Traits/Week.php +++ /dev/null @@ -1,218 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace Carbon\Traits; - -/** - * Trait Week. - * - * week and ISO week number, year and count in year. - * - * Depends on the following properties: - * - * @property int $daysInYear - * @property int $dayOfWeek - * @property int $dayOfYear - * @property int $year - * - * Depends on the following methods: - * - * @method static addWeeks(int $weeks = 1) - * @method static copy() - * @method static dayOfYear(int $dayOfYear) - * @method string getTranslationMessage(string $key, string $locale = null, string $default = null, $translator = null) - * @method static next(int $day) - * @method static startOfWeek(int $day = 1) - * @method static subWeeks(int $weeks = 1) - * @method static year(int $year = null) - */ -trait Week -{ - /** - * Set/get the week number of year using given first day of week and first - * day of year included in the first week. Or use ISO format if no settings - * given. - * - * @param int|null $year if null, act as a getter, if not null, set the year and return current instance. - * @param int|null $dayOfWeek first date of week from 0 (Sunday) to 6 (Saturday) - * @param int|null $dayOfYear first day of year included in the week #1 - * - * @return int|static - */ - public function isoWeekYear($year = null, $dayOfWeek = null, $dayOfYear = null) - { - return $this->weekYear( - $year, - $dayOfWeek ?? 1, - $dayOfYear ?? 4 - ); - } - - /** - * Set/get the week number of year using given first day of week and first - * day of year included in the first week. Or use US format if no settings - * given (Sunday / Jan 6). - * - * @param int|null $year if null, act as a getter, if not null, set the year and return current instance. - * @param int|null $dayOfWeek first date of week from 0 (Sunday) to 6 (Saturday) - * @param int|null $dayOfYear first day of year included in the week #1 - * - * @return int|static - */ - public function weekYear($year = null, $dayOfWeek = null, $dayOfYear = null) - { - $dayOfWeek = $dayOfWeek ?? $this->getTranslationMessage('first_day_of_week') ?? 0; - $dayOfYear = $dayOfYear ?? $this->getTranslationMessage('day_of_first_week_of_year') ?? 1; - - if ($year !== null) { - $year = (int) round($year); - - if ($this->weekYear(null, $dayOfWeek, $dayOfYear) === $year) { - return $this->copy(); - } - - $week = $this->week(null, $dayOfWeek, $dayOfYear); - $day = $this->dayOfWeek; - $date = $this->year($year); - switch ($date->weekYear(null, $dayOfWeek, $dayOfYear) - $year) { - case 1: - $date = $date->subWeeks(26); - - break; - case -1: - $date = $date->addWeeks(26); - - break; - } - - $date = $date->addWeeks($week - $date->week(null, $dayOfWeek, $dayOfYear))->startOfWeek($dayOfWeek); - - if ($date->dayOfWeek === $day) { - return $date; - } - - return $date->next($day); - } - - $year = $this->year; - $day = $this->dayOfYear; - $date = $this->copy()->dayOfYear($dayOfYear)->startOfWeek($dayOfWeek); - - if ($date->year === $year && $day < $date->dayOfYear) { - return $year - 1; - } - - $date = $this->copy()->addYear()->dayOfYear($dayOfYear)->startOfWeek($dayOfWeek); - - if ($date->year === $year && $day >= $date->dayOfYear) { - return $year + 1; - } - - return $year; - } - - /** - * Get the number of weeks of the current week-year using given first day of week and first - * day of year included in the first week. Or use ISO format if no settings - * given. - * - * @param int|null $dayOfWeek first date of week from 0 (Sunday) to 6 (Saturday) - * @param int|null $dayOfYear first day of year included in the week #1 - * - * @return int - */ - public function isoWeeksInYear($dayOfWeek = null, $dayOfYear = null) - { - return $this->weeksInYear( - $dayOfWeek ?? 1, - $dayOfYear ?? 4 - ); - } - - /** - * Get the number of weeks of the current week-year using given first day of week and first - * day of year included in the first week. Or use US format if no settings - * given (Sunday / Jan 6). - * - * @param int|null $dayOfWeek first date of week from 0 (Sunday) to 6 (Saturday) - * @param int|null $dayOfYear first day of year included in the week #1 - * - * @return int - */ - public function weeksInYear($dayOfWeek = null, $dayOfYear = null) - { - $dayOfWeek = $dayOfWeek ?? $this->getTranslationMessage('first_day_of_week') ?? 0; - $dayOfYear = $dayOfYear ?? $this->getTranslationMessage('day_of_first_week_of_year') ?? 1; - $year = $this->year; - $start = $this->copy()->dayOfYear($dayOfYear)->startOfWeek($dayOfWeek); - $startDay = $start->dayOfYear; - if ($start->year !== $year) { - $startDay -= $start->daysInYear; - } - $end = $this->copy()->addYear()->dayOfYear($dayOfYear)->startOfWeek($dayOfWeek); - $endDay = $end->dayOfYear; - if ($end->year !== $year) { - $endDay += $this->daysInYear; - } - - return (int) round(($endDay - $startDay) / 7); - } - - /** - * Get/set the week number using given first day of week and first - * day of year included in the first week. Or use US format if no settings - * given (Sunday / Jan 6). - * - * @param int|null $week - * @param int|null $dayOfWeek - * @param int|null $dayOfYear - * - * @return int|static - */ - public function week($week = null, $dayOfWeek = null, $dayOfYear = null) - { - $date = $this; - $dayOfWeek = $dayOfWeek ?? $this->getTranslationMessage('first_day_of_week') ?? 0; - $dayOfYear = $dayOfYear ?? $this->getTranslationMessage('day_of_first_week_of_year') ?? 1; - - if ($week !== null) { - return $date->addWeeks(round($week) - $this->week(null, $dayOfWeek, $dayOfYear)); - } - - $start = $date->copy()->dayOfYear($dayOfYear)->startOfWeek($dayOfWeek); - $end = $date->copy()->startOfWeek($dayOfWeek); - if ($start > $end) { - $start = $start->subWeeks(26)->dayOfYear($dayOfYear)->startOfWeek($dayOfWeek); - } - $week = (int) ($start->diffInDays($end) / 7 + 1); - - return $week > $end->weeksInYear($dayOfWeek, $dayOfYear) ? 1 : $week; - } - - /** - * Get/set the week number using given first day of week and first - * day of year included in the first week. Or use ISO format if no settings - * given. - * - * @param int|null $week - * @param int|null $dayOfWeek - * @param int|null $dayOfYear - * - * @return int|static - */ - public function isoWeek($week = null, $dayOfWeek = null, $dayOfYear = null) - { - return $this->week( - $week, - $dayOfWeek ?? 1, - $dayOfYear ?? 4 - ); - } -} diff --git a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Translator.php b/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Translator.php deleted file mode 100644 index 3a7ffb3..0000000 --- a/paragonik-backend/vendor/nesbot/carbon/src/Carbon/Translator.php +++ /dev/null @@ -1,405 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace Carbon; - -use Closure; -use ReflectionException; -use ReflectionFunction; -use Symfony\Component\Translation; - -class Translator extends Translation\Translator -{ - /** - * Translator singletons for each language. - * - * @var array - */ - protected static $singletons = []; - - /** - * List of custom localized messages. - * - * @var array - */ - protected $messages = []; - - /** - * List of custom directories that contain translation files. - * - * @var string[] - */ - protected $directories = []; - - /** - * Set to true while constructing. - * - * @var bool - */ - protected $initializing = false; - - /** - * List of locales aliases. - * - * @var string[] - */ - protected $aliases = [ - 'me' => 'sr_Latn_ME', - 'scr' => 'sh', - ]; - - /** - * Return a singleton instance of Translator. - * - * @param string|null $locale optional initial locale ("en" - english by default) - * - * @return static - */ - public static function get($locale = null) - { - $locale = $locale ?: 'en'; - - if (!isset(static::$singletons[$locale])) { - static::$singletons[$locale] = new static($locale ?: 'en'); - } - - return static::$singletons[$locale]; - } - - public function __construct($locale, Translation\Formatter\MessageFormatterInterface $formatter = null, $cacheDir = null, $debug = false) - { - $this->initializing = true; - $this->directories = [__DIR__.'/Lang']; - $this->addLoader('array', new Translation\Loader\ArrayLoader()); - parent::__construct($locale, $formatter, $cacheDir, $debug); - $this->initializing = false; - } - - /** - * Returns the list of directories translation files are searched in. - * - * @return array - */ - public function getDirectories(): array - { - return $this->directories; - } - - /** - * Set list of directories translation files are searched in. - * - * @param array $directories new directories list - * - * @return $this - */ - public function setDirectories(array $directories) - { - $this->directories = $directories; - - return $this; - } - - /** - * Add a directory to the list translation files are searched in. - * - * @param string $directory new directory - * - * @return $this - */ - public function addDirectory(string $directory) - { - $this->directories[] = $directory; - - return $this; - } - - /** - * Remove a directory from the list translation files are searched in. - * - * @param string $directory directory path - * - * @return $this - */ - public function removeDirectory(string $directory) - { - $search = rtrim(strtr($directory, '\\', '/'), '/'); - - return $this->setDirectories(array_filter($this->getDirectories(), function ($item) use ($search) { - return rtrim(strtr($item, '\\', '/'), '/') !== $search; - })); - } - - /** - * Returns the translation. - * - * @param string $id - * @param array $parameters - * @param string $domain - * @param string $locale - * - * @return string - */ - public function trans($id, array $parameters = [], $domain = null, $locale = null) - { - if (null === $domain) { - $domain = 'messages'; - } - - $format = $this->getCatalogue($locale)->get((string) $id, $domain); - - if ($format instanceof Closure) { - // @codeCoverageIgnoreStart - try { - $count = (new ReflectionFunction($format))->getNumberOfRequiredParameters(); - } catch (ReflectionException $exception) { - $count = 0; - } - // @codeCoverageIgnoreEnd - - return $format( - ...array_values($parameters), - ...array_fill(0, max(0, $count - count($parameters)), null) - ); - } - - return parent::trans($id, $parameters, $domain, $locale); - } - - /** - * Reset messages of a locale (all locale if no locale passed). - * Remove custom messages and reload initial messages from matching - * file in Lang directory. - * - * @param string|null $locale - * - * @return bool - */ - public function resetMessages($locale = null) - { - if ($locale === null) { - $this->messages = []; - - return true; - } - - foreach ($this->getDirectories() as $directory) { - $directory = rtrim($directory, '\\/'); - if (file_exists($filename = "$directory/$locale.php")) { - $this->messages[$locale] = require $filename; - $this->addResource('array', $this->messages[$locale], $locale); - - return true; - } - } - - return false; - } - - /** - * Returns the list of files matching a given locale prefix (or all if empty). - * - * @param string $prefix prefix required to filter result - * - * @return array - */ - public function getLocalesFiles($prefix = '') - { - $files = []; - - foreach ($this->getDirectories() as $directory) { - $directory = rtrim($directory, '\\/'); - - foreach (glob("$directory/$prefix*.php") as $file) { - $files[] = $file; - } - } - - return array_unique($files); - } - - /** - * Returns the list of internally available locales and already loaded custom locales. - * (It will ignore custom translator dynamic loading.) - * - * @param string $prefix prefix required to filter result - * - * @return array - */ - public function getAvailableLocales($prefix = '') - { - $locales = []; - foreach ($this->getLocalesFiles($prefix) as $file) { - $locales[] = substr($file, strrpos($file, '/') + 1, -4); - } - - return array_unique(array_merge($locales, array_keys($this->messages))); - } - - /** - * Init messages language from matching file in Lang directory. - * - * @param string $locale - * - * @return bool - */ - protected function loadMessagesFromFile($locale) - { - if (isset($this->messages[$locale])) { - return true; - } - - return $this->resetMessages($locale); - } - - /** - * Set messages of a locale and take file first if present. - * - * @param string $locale - * @param array $messages - * - * @return $this - */ - public function setMessages($locale, $messages) - { - $this->loadMessagesFromFile($locale); - $this->addResource('array', $messages, $locale); - $this->messages[$locale] = array_merge( - isset($this->messages[$locale]) ? $this->messages[$locale] : [], - $messages - ); - - return $this; - } - - /** - * Set messages of the current locale and take file first if present. - * - * @param array $messages - * - * @return $this - */ - public function setTranslations($messages) - { - return $this->setMessages($this->getLocale(), $messages); - } - - /** - * Get messages of a locale, if none given, return all the - * languages. - * - * @param string|null $locale - * - * @return array - */ - public function getMessages($locale = null) - { - return $locale === null ? $this->messages : $this->messages[$locale]; - } - - /** - * Set the current translator locale and indicate if the source locale file exists - * - * @param string $locale locale ex. en - * - * @return bool - */ - public function setLocale($locale) - { - $locale = preg_replace_callback('/[-_]([a-z]{2,})/', function ($matches) { - // _2-letters or YUE is a region, _3+-letters is a variant - $upper = strtoupper($matches[1]); - - if ($upper === 'YUE' || $upper === 'ISO' || strlen($upper) < 3) { - return "_$upper"; - } - - return '_'.ucfirst($matches[1]); - }, strtolower($locale)); - - $previousLocale = $this->getLocale(); - - if ($previousLocale === $locale) { - return true; - } - - unset(static::$singletons[$previousLocale]); - - if ($locale === 'auto') { - $completeLocale = setlocale(LC_TIME, '0'); - $locale = preg_replace('/^([^_.-]+).*$/', '$1', $completeLocale); - $locales = $this->getAvailableLocales($locale); - - $completeLocaleChunks = preg_split('/[_.-]+/', $completeLocale); - - $getScore = function ($language) use ($completeLocaleChunks) { - $chunks = preg_split('/[_.-]+/', $language); - $score = 0; - - foreach ($completeLocaleChunks as $index => $chunk) { - if (!isset($chunks[$index])) { - $score++; - - continue; - } - - if (strtolower($chunks[$index]) === strtolower($chunk)) { - $score += 10; - } - } - - return $score; - }; - - usort($locales, function ($first, $second) use ($getScore) { - $first = $getScore($first); - $second = $getScore($second); - - if ($first === $second) { - return 0; - } - - return $first < $second ? 1 : -1; - }); - - $locale = $locales[0]; - } - - if (isset($this->aliases[$locale])) { - $locale = $this->aliases[$locale]; - } - - // If subtag (ex: en_CA) first load the macro (ex: en) to have a fallback - if (strpos($locale, '_') !== false && - $this->loadMessagesFromFile($macroLocale = preg_replace('/^([^_]+).*$/', '$1', $locale)) - ) { - parent::setLocale($macroLocale); - } - - if ($this->loadMessagesFromFile($locale) || $this->initializing) { - parent::setLocale($locale); - - return true; - } - - return false; - } - - /** - * Show locale on var_dump(). - * - * @return array - */ - public function __debugInfo() - { - return [ - 'locale' => $this->getLocale(), - ]; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/.gitattributes b/paragonik-backend/vendor/nikic/php-parser/.gitattributes deleted file mode 100644 index a6c4b04..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/.gitattributes +++ /dev/null @@ -1,8 +0,0 @@ -/test export-ignore -/test_old export-ignore -/doc export-ignore -CHANGELOG.md export-ignore -.travis.yml export-ignore -phpunit.xml.dist export-ignore -UPGRADE-*.md export-ignore -.gitignore export-ignore diff --git a/paragonik-backend/vendor/nikic/php-parser/LICENSE b/paragonik-backend/vendor/nikic/php-parser/LICENSE deleted file mode 100644 index 920cc5b..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/LICENSE +++ /dev/null @@ -1,31 +0,0 @@ -Copyright (c) 2011-2018 by Nikita Popov. - -Some rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - * The names of the contributors may not be used to endorse or - promote products derived from this software without specific - prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/paragonik-backend/vendor/nikic/php-parser/README.md b/paragonik-backend/vendor/nikic/php-parser/README.md deleted file mode 100644 index f1dd929..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/README.md +++ /dev/null @@ -1,225 +0,0 @@ -PHP Parser -========== - -[![Build Status](https://travis-ci.org/nikic/PHP-Parser.svg?branch=master)](https://travis-ci.org/nikic/PHP-Parser) [![Coverage Status](https://coveralls.io/repos/github/nikic/PHP-Parser/badge.svg?branch=master)](https://coveralls.io/github/nikic/PHP-Parser?branch=master) - -This is a PHP 5.2 to PHP 7.4 parser written in PHP. Its purpose is to simplify static code analysis and -manipulation. - -[**Documentation for version 4.x**][doc_master] (stable; for running on PHP >= 7.0; for parsing PHP 5.2 to PHP 7.4). - -[Documentation for version 3.x][doc_3_x] (unsupported; for running on PHP >= 5.5; for parsing PHP 5.2 to PHP 7.2). - -Features --------- - -The main features provided by this library are: - - * Parsing PHP 5 and PHP 7 code into an abstract syntax tree (AST). - * Invalid code can be parsed into a partial AST. - * The AST contains accurate location information. - * Dumping the AST in human-readable form. - * Converting an AST back to PHP code. - * Experimental: Formatting can be preserved for partially changed ASTs. - * Infrastructure to traverse and modify ASTs. - * Resolution of namespaced names. - * Evaluation of constant expressions. - * Builders to simplify AST construction for code generation. - * Converting an AST into JSON and back. - -Quick Start ------------ - -Install the library using [composer](https://getcomposer.org): - - php composer.phar require nikic/php-parser - -Parse some PHP code into an AST and dump the result in human-readable form: - -```php -create(ParserFactory::PREFER_PHP7); -try { - $ast = $parser->parse($code); -} catch (Error $error) { - echo "Parse error: {$error->getMessage()}\n"; - return; -} - -$dumper = new NodeDumper; -echo $dumper->dump($ast) . "\n"; -``` - -This dumps an AST looking something like this: - -``` -array( - 0: Stmt_Function( - byRef: false - name: Identifier( - name: test - ) - params: array( - 0: Param( - type: null - byRef: false - variadic: false - var: Expr_Variable( - name: foo - ) - default: null - ) - ) - returnType: null - stmts: array( - 0: Stmt_Expression( - expr: Expr_FuncCall( - name: Name( - parts: array( - 0: var_dump - ) - ) - args: array( - 0: Arg( - value: Expr_Variable( - name: foo - ) - byRef: false - unpack: false - ) - ) - ) - ) - ) - ) -) -``` - -Let's traverse the AST and perform some kind of modification. For example, drop all function bodies: - -```php -use PhpParser\Node; -use PhpParser\Node\Stmt\Function_; -use PhpParser\NodeTraverser; -use PhpParser\NodeVisitorAbstract; - -$traverser = new NodeTraverser(); -$traverser->addVisitor(new class extends NodeVisitorAbstract { - public function enterNode(Node $node) { - if ($node instanceof Function_) { - // Clean out the function body - $node->stmts = []; - } - } -}); - -$ast = $traverser->traverse($ast); -echo $dumper->dump($ast) . "\n"; -``` - -This gives us an AST where the `Function_::$stmts` are empty: - -``` -array( - 0: Stmt_Function( - byRef: false - name: Identifier( - name: test - ) - params: array( - 0: Param( - type: null - byRef: false - variadic: false - var: Expr_Variable( - name: foo - ) - default: null - ) - ) - returnType: null - stmts: array( - ) - ) -) -``` - -Finally, we can convert the new AST back to PHP code: - -```php -use PhpParser\PrettyPrinter; - -$prettyPrinter = new PrettyPrinter\Standard; -echo $prettyPrinter->prettyPrintFile($ast); -``` - -This gives us our original code, minus the `var_dump()` call inside the function: - -```php - [ - 'startLine', 'endLine', 'startFilePos', 'endFilePos', 'comments' -]]); -$parser = (new PhpParser\ParserFactory)->create( - PhpParser\ParserFactory::PREFER_PHP7, - $lexer -); -$dumper = new PhpParser\NodeDumper([ - 'dumpComments' => true, - 'dumpPositions' => $attributes['with-positions'], -]); -$prettyPrinter = new PhpParser\PrettyPrinter\Standard; - -$traverser = new PhpParser\NodeTraverser(); -$traverser->addVisitor(new PhpParser\NodeVisitor\NameResolver); - -foreach ($files as $file) { - if (strpos($file, ' Code $code\n"); - } else { - if (!file_exists($file)) { - fwrite(STDERR, "File $file does not exist.\n"); - exit(1); - } - - $code = file_get_contents($file); - fwrite(STDERR, "====> File $file:\n"); - } - - if ($attributes['with-recovery']) { - $errorHandler = new PhpParser\ErrorHandler\Collecting; - $stmts = $parser->parse($code, $errorHandler); - foreach ($errorHandler->getErrors() as $error) { - $message = formatErrorMessage($error, $code, $attributes['with-column-info']); - fwrite(STDERR, $message . "\n"); - } - if (null === $stmts) { - continue; - } - } else { - try { - $stmts = $parser->parse($code); - } catch (PhpParser\Error $error) { - $message = formatErrorMessage($error, $code, $attributes['with-column-info']); - fwrite(STDERR, $message . "\n"); - exit(1); - } - } - - foreach ($operations as $operation) { - if ('dump' === $operation) { - fwrite(STDERR, "==> Node dump:\n"); - echo $dumper->dump($stmts, $code), "\n"; - } elseif ('pretty-print' === $operation) { - fwrite(STDERR, "==> Pretty print:\n"); - echo $prettyPrinter->prettyPrintFile($stmts), "\n"; - } elseif ('json-dump' === $operation) { - fwrite(STDERR, "==> JSON dump:\n"); - echo json_encode($stmts, JSON_PRETTY_PRINT), "\n"; - } elseif ('var-dump' === $operation) { - fwrite(STDERR, "==> var_dump():\n"); - var_dump($stmts); - } elseif ('resolve-names' === $operation) { - fwrite(STDERR, "==> Resolved names.\n"); - $stmts = $traverser->traverse($stmts); - } - } -} - -function formatErrorMessage(PhpParser\Error $e, $code, $withColumnInfo) { - if ($withColumnInfo && $e->hasColumnInfo()) { - return $e->getMessageWithColumnInfo($code); - } else { - return $e->getMessage(); - } -} - -function showHelp($error = '') { - if ($error) { - fwrite(STDERR, $error . "\n\n"); - } - fwrite($error ? STDERR : STDOUT, << false, - 'with-positions' => false, - 'with-recovery' => false, - ]; - - array_shift($args); - $parseOptions = true; - foreach ($args as $arg) { - if (!$parseOptions) { - $files[] = $arg; - continue; - } - - switch ($arg) { - case '--dump': - case '-d': - $operations[] = 'dump'; - break; - case '--pretty-print': - case '-p': - $operations[] = 'pretty-print'; - break; - case '--json-dump': - case '-j': - $operations[] = 'json-dump'; - break; - case '--var-dump': - $operations[] = 'var-dump'; - break; - case '--resolve-names': - case '-N'; - $operations[] = 'resolve-names'; - break; - case '--with-column-info': - case '-c'; - $attributes['with-column-info'] = true; - break; - case '--with-positions': - case '-P': - $attributes['with-positions'] = true; - break; - case '--with-recovery': - case '-r': - $attributes['with-recovery'] = true; - break; - case '--help': - case '-h'; - showHelp(); - break; - case '--': - $parseOptions = false; - break; - default: - if ($arg[0] === '-') { - showHelp("Invalid operation $arg."); - } else { - $files[] = $arg; - } - } - } - - return [$operations, $files, $attributes]; -} diff --git a/paragonik-backend/vendor/nikic/php-parser/composer.json b/paragonik-backend/vendor/nikic/php-parser/composer.json deleted file mode 100644 index e7d0d18..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/composer.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "name": "nikic/php-parser", - "type": "library", - "description": "A PHP parser written in PHP", - "keywords": [ - "php", - "parser" - ], - "license": "BSD-3-Clause", - "authors": [ - { - "name": "Nikita Popov" - } - ], - "require": { - "php": ">=7.0", - "ext-tokenizer": "*" - }, - "require-dev": { - "phpunit/phpunit": "^6.5 || ^7.0 || ^8.0", - "ircmaxell/php-yacc": "0.0.5" - }, - "extra": { - "branch-alias": { - "dev-master": "4.3-dev" - } - }, - "autoload": { - "psr-4": { - "PhpParser\\": "lib/PhpParser" - } - }, - "autoload-dev": { - "psr-4": { - "PhpParser\\": "test/PhpParser/" - } - }, - "bin": [ - "bin/php-parse" - ] -} diff --git a/paragonik-backend/vendor/nikic/php-parser/grammar/README.md b/paragonik-backend/vendor/nikic/php-parser/grammar/README.md deleted file mode 100644 index 4bae11d..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/grammar/README.md +++ /dev/null @@ -1,30 +0,0 @@ -What do all those files mean? -============================= - - * `php5.y`: PHP 5 grammar written in a pseudo language - * `php7.y`: PHP 7 grammar written in a pseudo language - * `tokens.y`: Tokens definition shared between PHP 5 and PHP 7 grammars - * `parser.template`: A `kmyacc` parser prototype file for PHP - * `tokens.template`: A `kmyacc` prototype file for the `Tokens` class - * `rebuildParsers.php`: Preprocesses the grammar and builds the parser using `kmyacc` - -.phpy pseudo language -===================== - -The `.y` file is a normal grammar in `kmyacc` (`yacc`) style, with some transformations -applied to it: - - * Nodes are created using the syntax `Name[..., ...]`. This is transformed into - `new Name(..., ..., attributes())` - * Some function-like constructs are resolved (see `rebuildParsers.php` for a list) - -Building the parser -=================== - -Run `php grammar/rebuildParsers.php` to rebuild the parsers. Additional options: - - * The `KMYACC` environment variable can be used to specify an alternative `kmyacc` binary. - By default the `phpyacc` dev dependency will be used. To use the original `kmyacc`, you - need to compile [moriyoshi's fork](https://github.com/moriyoshi/kmyacc-forked). - * The `--debug` option enables emission of debug symbols and creates the `y.output` file. - * The `--keep-tmp-grammar` option preserves the preprocessed grammar file. diff --git a/paragonik-backend/vendor/nikic/php-parser/grammar/parser.template b/paragonik-backend/vendor/nikic/php-parser/grammar/parser.template deleted file mode 100644 index 6166607..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/grammar/parser.template +++ /dev/null @@ -1,106 +0,0 @@ -semValue -#semval($,%t) $this->semValue -#semval(%n) $stackPos-(%l-%n) -#semval(%n,%t) $stackPos-(%l-%n) - -namespace PhpParser\Parser; - -use PhpParser\Error; -use PhpParser\Node; -use PhpParser\Node\Expr; -use PhpParser\Node\Name; -use PhpParser\Node\Scalar; -use PhpParser\Node\Stmt; -#include; - -/* This is an automatically GENERATED file, which should not be manually edited. - * Instead edit one of the following: - * * the grammar files grammar/php5.y or grammar/php7.y - * * the skeleton file grammar/parser.template - * * the preprocessing script grammar/rebuildParsers.php - */ -class #(-p) extends \PhpParser\ParserAbstract -{ - protected $tokenToSymbolMapSize = #(YYMAXLEX); - protected $actionTableSize = #(YYLAST); - protected $gotoTableSize = #(YYGLAST); - - protected $invalidSymbol = #(YYBADCH); - protected $errorSymbol = #(YYINTERRTOK); - protected $defaultAction = #(YYDEFAULT); - protected $unexpectedTokenRule = #(YYUNEXPECTED); - - protected $YY2TBLSTATE = #(YY2TBLSTATE); - protected $numNonLeafStates = #(YYNLSTATES); - - protected $symbolToName = array( - #listvar terminals - ); - - protected $tokenToSymbol = array( - #listvar yytranslate - ); - - protected $action = array( - #listvar yyaction - ); - - protected $actionCheck = array( - #listvar yycheck - ); - - protected $actionBase = array( - #listvar yybase - ); - - protected $actionDefault = array( - #listvar yydefault - ); - - protected $goto = array( - #listvar yygoto - ); - - protected $gotoCheck = array( - #listvar yygcheck - ); - - protected $gotoBase = array( - #listvar yygbase - ); - - protected $gotoDefault = array( - #listvar yygdefault - ); - - protected $ruleToNonTerminal = array( - #listvar yylhs - ); - - protected $ruleToLength = array( - #listvar yylen - ); -#if -t - - protected $productions = array( - #production-strings; - ); -#endif - - protected function initReduceCallbacks() { - $this->reduceCallbacks = [ -#reduce - %n => function ($stackPos) { - %b - }, -#noact - %n => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, -#endreduce - ]; - } -} -#tailcode; diff --git a/paragonik-backend/vendor/nikic/php-parser/grammar/php5.y b/paragonik-backend/vendor/nikic/php-parser/grammar/php5.y deleted file mode 100644 index e775f2c..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/grammar/php5.y +++ /dev/null @@ -1,1026 +0,0 @@ -%pure_parser -%expect 6 - -%tokens - -%% - -start: - top_statement_list { $$ = $this->handleNamespaces($1); } -; - -top_statement_list_ex: - top_statement_list_ex top_statement { pushNormalizing($1, $2); } - | /* empty */ { init(); } -; - -top_statement_list: - top_statement_list_ex - { makeZeroLengthNop($nop, $this->lookaheadStartAttributes); - if ($nop !== null) { $1[] = $nop; } $$ = $1; } -; - -reserved_non_modifiers: - T_INCLUDE | T_INCLUDE_ONCE | T_EVAL | T_REQUIRE | T_REQUIRE_ONCE | T_LOGICAL_OR | T_LOGICAL_XOR | T_LOGICAL_AND - | T_INSTANCEOF | T_NEW | T_CLONE | T_EXIT | T_IF | T_ELSEIF | T_ELSE | T_ENDIF | T_ECHO | T_DO | T_WHILE - | T_ENDWHILE | T_FOR | T_ENDFOR | T_FOREACH | T_ENDFOREACH | T_DECLARE | T_ENDDECLARE | T_AS | T_TRY | T_CATCH - | T_FINALLY | T_THROW | T_USE | T_INSTEADOF | T_GLOBAL | T_VAR | T_UNSET | T_ISSET | T_EMPTY | T_CONTINUE | T_GOTO - | T_FUNCTION | T_CONST | T_RETURN | T_PRINT | T_YIELD | T_LIST | T_SWITCH | T_ENDSWITCH | T_CASE | T_DEFAULT - | T_BREAK | T_ARRAY | T_CALLABLE | T_EXTENDS | T_IMPLEMENTS | T_NAMESPACE | T_TRAIT | T_INTERFACE | T_CLASS - | T_CLASS_C | T_TRAIT_C | T_FUNC_C | T_METHOD_C | T_LINE | T_FILE | T_DIR | T_NS_C | T_HALT_COMPILER | T_FN -; - -semi_reserved: - reserved_non_modifiers - | T_STATIC | T_ABSTRACT | T_FINAL | T_PRIVATE | T_PROTECTED | T_PUBLIC -; - -identifier_ex: - T_STRING { $$ = Node\Identifier[$1]; } - | semi_reserved { $$ = Node\Identifier[$1]; } -; - -identifier: - T_STRING { $$ = Node\Identifier[$1]; } -; - -reserved_non_modifiers_identifier: - reserved_non_modifiers { $$ = Node\Identifier[$1]; } -; - -namespace_name_parts: - T_STRING { init($1); } - | namespace_name_parts T_NS_SEPARATOR T_STRING { push($1, $3); } -; - -namespace_name: - namespace_name_parts { $$ = Name[$1]; } -; - -plain_variable: - T_VARIABLE { $$ = Expr\Variable[parseVar($1)]; } -; - -top_statement: - statement { $$ = $1; } - | function_declaration_statement { $$ = $1; } - | class_declaration_statement { $$ = $1; } - | T_HALT_COMPILER - { $$ = Stmt\HaltCompiler[$this->lexer->handleHaltCompiler()]; } - | T_NAMESPACE namespace_name ';' - { $$ = Stmt\Namespace_[$2, null]; - $$->setAttribute('kind', Stmt\Namespace_::KIND_SEMICOLON); - $this->checkNamespace($$); } - | T_NAMESPACE namespace_name '{' top_statement_list '}' - { $$ = Stmt\Namespace_[$2, $4]; - $$->setAttribute('kind', Stmt\Namespace_::KIND_BRACED); - $this->checkNamespace($$); } - | T_NAMESPACE '{' top_statement_list '}' - { $$ = Stmt\Namespace_[null, $3]; - $$->setAttribute('kind', Stmt\Namespace_::KIND_BRACED); - $this->checkNamespace($$); } - | T_USE use_declarations ';' { $$ = Stmt\Use_[$2, Stmt\Use_::TYPE_NORMAL]; } - | T_USE use_type use_declarations ';' { $$ = Stmt\Use_[$3, $2]; } - | group_use_declaration ';' { $$ = $1; } - | T_CONST constant_declaration_list ';' { $$ = Stmt\Const_[$2]; } -; - -use_type: - T_FUNCTION { $$ = Stmt\Use_::TYPE_FUNCTION; } - | T_CONST { $$ = Stmt\Use_::TYPE_CONSTANT; } -; - -/* Using namespace_name_parts here to avoid s/r conflict on T_NS_SEPARATOR */ -group_use_declaration: - T_USE use_type namespace_name_parts T_NS_SEPARATOR '{' unprefixed_use_declarations '}' - { $$ = Stmt\GroupUse[new Name($3, stackAttributes(#3)), $6, $2]; } - | T_USE use_type T_NS_SEPARATOR namespace_name_parts T_NS_SEPARATOR '{' unprefixed_use_declarations '}' - { $$ = Stmt\GroupUse[new Name($4, stackAttributes(#4)), $7, $2]; } - | T_USE namespace_name_parts T_NS_SEPARATOR '{' inline_use_declarations '}' - { $$ = Stmt\GroupUse[new Name($2, stackAttributes(#2)), $5, Stmt\Use_::TYPE_UNKNOWN]; } - | T_USE T_NS_SEPARATOR namespace_name_parts T_NS_SEPARATOR '{' inline_use_declarations '}' - { $$ = Stmt\GroupUse[new Name($3, stackAttributes(#3)), $6, Stmt\Use_::TYPE_UNKNOWN]; } -; - -unprefixed_use_declarations: - unprefixed_use_declarations ',' unprefixed_use_declaration - { push($1, $3); } - | unprefixed_use_declaration { init($1); } -; - -use_declarations: - use_declarations ',' use_declaration { push($1, $3); } - | use_declaration { init($1); } -; - -inline_use_declarations: - inline_use_declarations ',' inline_use_declaration { push($1, $3); } - | inline_use_declaration { init($1); } -; - -unprefixed_use_declaration: - namespace_name - { $$ = Stmt\UseUse[$1, null, Stmt\Use_::TYPE_UNKNOWN]; $this->checkUseUse($$, #1); } - | namespace_name T_AS identifier - { $$ = Stmt\UseUse[$1, $3, Stmt\Use_::TYPE_UNKNOWN]; $this->checkUseUse($$, #3); } -; - -use_declaration: - unprefixed_use_declaration { $$ = $1; } - | T_NS_SEPARATOR unprefixed_use_declaration { $$ = $2; } -; - -inline_use_declaration: - unprefixed_use_declaration { $$ = $1; $$->type = Stmt\Use_::TYPE_NORMAL; } - | use_type unprefixed_use_declaration { $$ = $2; $$->type = $1; } -; - -constant_declaration_list: - constant_declaration_list ',' constant_declaration { push($1, $3); } - | constant_declaration { init($1); } -; - -constant_declaration: - identifier '=' static_scalar { $$ = Node\Const_[$1, $3]; } -; - -class_const_list: - class_const_list ',' class_const { push($1, $3); } - | class_const { init($1); } -; - -class_const: - identifier_ex '=' static_scalar { $$ = Node\Const_[$1, $3]; } -; - -inner_statement_list_ex: - inner_statement_list_ex inner_statement { pushNormalizing($1, $2); } - | /* empty */ { init(); } -; - -inner_statement_list: - inner_statement_list_ex - { makeZeroLengthNop($nop, $this->lookaheadStartAttributes); - if ($nop !== null) { $1[] = $nop; } $$ = $1; } -; - -inner_statement: - statement { $$ = $1; } - | function_declaration_statement { $$ = $1; } - | class_declaration_statement { $$ = $1; } - | T_HALT_COMPILER - { throw new Error('__HALT_COMPILER() can only be used from the outermost scope', attributes()); } -; - -non_empty_statement: - '{' inner_statement_list '}' - { - if ($2) { - $$ = $2; prependLeadingComments($$); - } else { - makeNop($$, $this->startAttributeStack[#1], $this->endAttributes); - if (null === $$) { $$ = array(); } - } - } - | T_IF parentheses_expr statement elseif_list else_single - { $$ = Stmt\If_[$2, ['stmts' => toArray($3), 'elseifs' => $4, 'else' => $5]]; } - | T_IF parentheses_expr ':' inner_statement_list new_elseif_list new_else_single T_ENDIF ';' - { $$ = Stmt\If_[$2, ['stmts' => $4, 'elseifs' => $5, 'else' => $6]]; } - | T_WHILE parentheses_expr while_statement { $$ = Stmt\While_[$2, $3]; } - | T_DO statement T_WHILE parentheses_expr ';' { $$ = Stmt\Do_ [$4, toArray($2)]; } - | T_FOR '(' for_expr ';' for_expr ';' for_expr ')' for_statement - { $$ = Stmt\For_[['init' => $3, 'cond' => $5, 'loop' => $7, 'stmts' => $9]]; } - | T_SWITCH parentheses_expr switch_case_list { $$ = Stmt\Switch_[$2, $3]; } - | T_BREAK ';' { $$ = Stmt\Break_[null]; } - | T_BREAK expr ';' { $$ = Stmt\Break_[$2]; } - | T_CONTINUE ';' { $$ = Stmt\Continue_[null]; } - | T_CONTINUE expr ';' { $$ = Stmt\Continue_[$2]; } - | T_RETURN ';' { $$ = Stmt\Return_[null]; } - | T_RETURN expr ';' { $$ = Stmt\Return_[$2]; } - | T_GLOBAL global_var_list ';' { $$ = Stmt\Global_[$2]; } - | T_STATIC static_var_list ';' { $$ = Stmt\Static_[$2]; } - | T_ECHO expr_list ';' { $$ = Stmt\Echo_[$2]; } - | T_INLINE_HTML { $$ = Stmt\InlineHTML[$1]; } - | yield_expr ';' { $$ = Stmt\Expression[$1]; } - | expr ';' { $$ = Stmt\Expression[$1]; } - | T_UNSET '(' variables_list ')' ';' { $$ = Stmt\Unset_[$3]; } - | T_FOREACH '(' expr T_AS foreach_variable ')' foreach_statement - { $$ = Stmt\Foreach_[$3, $5[0], ['keyVar' => null, 'byRef' => $5[1], 'stmts' => $7]]; } - | T_FOREACH '(' expr T_AS variable T_DOUBLE_ARROW foreach_variable ')' foreach_statement - { $$ = Stmt\Foreach_[$3, $7[0], ['keyVar' => $5, 'byRef' => $7[1], 'stmts' => $9]]; } - | T_DECLARE '(' declare_list ')' declare_statement { $$ = Stmt\Declare_[$3, $5]; } - | T_TRY '{' inner_statement_list '}' catches optional_finally - { $$ = Stmt\TryCatch[$3, $5, $6]; $this->checkTryCatch($$); } - | T_THROW expr ';' { $$ = Stmt\Throw_[$2]; } - | T_GOTO identifier ';' { $$ = Stmt\Goto_[$2]; } - | identifier ':' { $$ = Stmt\Label[$1]; } - | expr error { $$ = Stmt\Expression[$1]; } - | error { $$ = array(); /* means: no statement */ } -; - -statement: - non_empty_statement { $$ = $1; } - | ';' - { makeNop($$, $this->startAttributeStack[#1], $this->endAttributes); - if ($$ === null) $$ = array(); /* means: no statement */ } -; - -catches: - /* empty */ { init(); } - | catches catch { push($1, $2); } -; - -catch: - T_CATCH '(' name plain_variable ')' '{' inner_statement_list '}' - { $$ = Stmt\Catch_[array($3), $4, $7]; } -; - -optional_finally: - /* empty */ { $$ = null; } - | T_FINALLY '{' inner_statement_list '}' { $$ = Stmt\Finally_[$3]; } -; - -variables_list: - variable { init($1); } - | variables_list ',' variable { push($1, $3); } -; - -optional_ref: - /* empty */ { $$ = false; } - | '&' { $$ = true; } -; - -optional_ellipsis: - /* empty */ { $$ = false; } - | T_ELLIPSIS { $$ = true; } -; - -function_declaration_statement: - T_FUNCTION optional_ref identifier '(' parameter_list ')' optional_return_type '{' inner_statement_list '}' - { $$ = Stmt\Function_[$3, ['byRef' => $2, 'params' => $5, 'returnType' => $7, 'stmts' => $9]]; } -; - -class_declaration_statement: - class_entry_type identifier extends_from implements_list '{' class_statement_list '}' - { $$ = Stmt\Class_[$2, ['type' => $1, 'extends' => $3, 'implements' => $4, 'stmts' => $6]]; - $this->checkClass($$, #2); } - | T_INTERFACE identifier interface_extends_list '{' class_statement_list '}' - { $$ = Stmt\Interface_[$2, ['extends' => $3, 'stmts' => $5]]; - $this->checkInterface($$, #2); } - | T_TRAIT identifier '{' class_statement_list '}' - { $$ = Stmt\Trait_[$2, ['stmts' => $4]]; } -; - -class_entry_type: - T_CLASS { $$ = 0; } - | T_ABSTRACT T_CLASS { $$ = Stmt\Class_::MODIFIER_ABSTRACT; } - | T_FINAL T_CLASS { $$ = Stmt\Class_::MODIFIER_FINAL; } -; - -extends_from: - /* empty */ { $$ = null; } - | T_EXTENDS class_name { $$ = $2; } -; - -interface_extends_list: - /* empty */ { $$ = array(); } - | T_EXTENDS class_name_list { $$ = $2; } -; - -implements_list: - /* empty */ { $$ = array(); } - | T_IMPLEMENTS class_name_list { $$ = $2; } -; - -class_name_list: - class_name { init($1); } - | class_name_list ',' class_name { push($1, $3); } -; - -for_statement: - statement { $$ = toArray($1); } - | ':' inner_statement_list T_ENDFOR ';' { $$ = $2; } -; - -foreach_statement: - statement { $$ = toArray($1); } - | ':' inner_statement_list T_ENDFOREACH ';' { $$ = $2; } -; - -declare_statement: - non_empty_statement { $$ = toArray($1); } - | ';' { $$ = null; } - | ':' inner_statement_list T_ENDDECLARE ';' { $$ = $2; } -; - -declare_list: - declare_list_element { init($1); } - | declare_list ',' declare_list_element { push($1, $3); } -; - -declare_list_element: - identifier '=' static_scalar { $$ = Stmt\DeclareDeclare[$1, $3]; } -; - -switch_case_list: - '{' case_list '}' { $$ = $2; } - | '{' ';' case_list '}' { $$ = $3; } - | ':' case_list T_ENDSWITCH ';' { $$ = $2; } - | ':' ';' case_list T_ENDSWITCH ';' { $$ = $3; } -; - -case_list: - /* empty */ { init(); } - | case_list case { push($1, $2); } -; - -case: - T_CASE expr case_separator inner_statement_list_ex { $$ = Stmt\Case_[$2, $4]; } - | T_DEFAULT case_separator inner_statement_list_ex { $$ = Stmt\Case_[null, $3]; } -; - -case_separator: - ':' - | ';' -; - -while_statement: - statement { $$ = toArray($1); } - | ':' inner_statement_list T_ENDWHILE ';' { $$ = $2; } -; - -elseif_list: - /* empty */ { init(); } - | elseif_list elseif { push($1, $2); } -; - -elseif: - T_ELSEIF parentheses_expr statement { $$ = Stmt\ElseIf_[$2, toArray($3)]; } -; - -new_elseif_list: - /* empty */ { init(); } - | new_elseif_list new_elseif { push($1, $2); } -; - -new_elseif: - T_ELSEIF parentheses_expr ':' inner_statement_list { $$ = Stmt\ElseIf_[$2, $4]; } -; - -else_single: - /* empty */ { $$ = null; } - | T_ELSE statement { $$ = Stmt\Else_[toArray($2)]; } -; - -new_else_single: - /* empty */ { $$ = null; } - | T_ELSE ':' inner_statement_list { $$ = Stmt\Else_[$3]; } -; - -foreach_variable: - variable { $$ = array($1, false); } - | '&' variable { $$ = array($2, true); } - | list_expr { $$ = array($1, false); } -; - -parameter_list: - non_empty_parameter_list { $$ = $1; } - | /* empty */ { $$ = array(); } -; - -non_empty_parameter_list: - parameter { init($1); } - | non_empty_parameter_list ',' parameter { push($1, $3); } -; - -parameter: - optional_param_type optional_ref optional_ellipsis plain_variable - { $$ = Node\Param[$4, null, $1, $2, $3]; $this->checkParam($$); } - | optional_param_type optional_ref optional_ellipsis plain_variable '=' static_scalar - { $$ = Node\Param[$4, $6, $1, $2, $3]; $this->checkParam($$); } -; - -type: - name { $$ = $1; } - | T_ARRAY { $$ = Node\Identifier['array']; } - | T_CALLABLE { $$ = Node\Identifier['callable']; } -; - -optional_param_type: - /* empty */ { $$ = null; } - | type { $$ = $1; } -; - -optional_return_type: - /* empty */ { $$ = null; } - | ':' type { $$ = $2; } -; - -argument_list: - '(' ')' { $$ = array(); } - | '(' non_empty_argument_list ')' { $$ = $2; } - | '(' yield_expr ')' { $$ = array(Node\Arg[$2, false, false]); } -; - -non_empty_argument_list: - argument { init($1); } - | non_empty_argument_list ',' argument { push($1, $3); } -; - -argument: - expr { $$ = Node\Arg[$1, false, false]; } - | '&' variable { $$ = Node\Arg[$2, true, false]; } - | T_ELLIPSIS expr { $$ = Node\Arg[$2, false, true]; } -; - -global_var_list: - global_var_list ',' global_var { push($1, $3); } - | global_var { init($1); } -; - -global_var: - plain_variable { $$ = $1; } - | '$' variable { $$ = Expr\Variable[$2]; } - | '$' '{' expr '}' { $$ = Expr\Variable[$3]; } -; - -static_var_list: - static_var_list ',' static_var { push($1, $3); } - | static_var { init($1); } -; - -static_var: - plain_variable { $$ = Stmt\StaticVar[$1, null]; } - | plain_variable '=' static_scalar { $$ = Stmt\StaticVar[$1, $3]; } -; - -class_statement_list_ex: - class_statement_list_ex class_statement { if ($2 !== null) { push($1, $2); } } - | /* empty */ { init(); } -; - -class_statement_list: - class_statement_list_ex - { makeZeroLengthNop($nop, $this->lookaheadStartAttributes); - if ($nop !== null) { $1[] = $nop; } $$ = $1; } -; - -class_statement: - variable_modifiers property_declaration_list ';' - { $$ = Stmt\Property[$1, $2]; $this->checkProperty($$, #1); } - | T_CONST class_const_list ';' { $$ = Stmt\ClassConst[$2, 0]; } - | method_modifiers T_FUNCTION optional_ref identifier_ex '(' parameter_list ')' optional_return_type method_body - { $$ = Stmt\ClassMethod[$4, ['type' => $1, 'byRef' => $3, 'params' => $6, 'returnType' => $8, 'stmts' => $9]]; - $this->checkClassMethod($$, #1); } - | T_USE class_name_list trait_adaptations { $$ = Stmt\TraitUse[$2, $3]; } -; - -trait_adaptations: - ';' { $$ = array(); } - | '{' trait_adaptation_list '}' { $$ = $2; } -; - -trait_adaptation_list: - /* empty */ { init(); } - | trait_adaptation_list trait_adaptation { push($1, $2); } -; - -trait_adaptation: - trait_method_reference_fully_qualified T_INSTEADOF class_name_list ';' - { $$ = Stmt\TraitUseAdaptation\Precedence[$1[0], $1[1], $3]; } - | trait_method_reference T_AS member_modifier identifier_ex ';' - { $$ = Stmt\TraitUseAdaptation\Alias[$1[0], $1[1], $3, $4]; } - | trait_method_reference T_AS member_modifier ';' - { $$ = Stmt\TraitUseAdaptation\Alias[$1[0], $1[1], $3, null]; } - | trait_method_reference T_AS identifier ';' - { $$ = Stmt\TraitUseAdaptation\Alias[$1[0], $1[1], null, $3]; } - | trait_method_reference T_AS reserved_non_modifiers_identifier ';' - { $$ = Stmt\TraitUseAdaptation\Alias[$1[0], $1[1], null, $3]; } -; - -trait_method_reference_fully_qualified: - name T_PAAMAYIM_NEKUDOTAYIM identifier_ex { $$ = array($1, $3); } -; -trait_method_reference: - trait_method_reference_fully_qualified { $$ = $1; } - | identifier_ex { $$ = array(null, $1); } -; - -method_body: - ';' /* abstract method */ { $$ = null; } - | '{' inner_statement_list '}' { $$ = $2; } -; - -variable_modifiers: - non_empty_member_modifiers { $$ = $1; } - | T_VAR { $$ = 0; } -; - -method_modifiers: - /* empty */ { $$ = 0; } - | non_empty_member_modifiers { $$ = $1; } -; - -non_empty_member_modifiers: - member_modifier { $$ = $1; } - | non_empty_member_modifiers member_modifier { $this->checkModifier($1, $2, #2); $$ = $1 | $2; } -; - -member_modifier: - T_PUBLIC { $$ = Stmt\Class_::MODIFIER_PUBLIC; } - | T_PROTECTED { $$ = Stmt\Class_::MODIFIER_PROTECTED; } - | T_PRIVATE { $$ = Stmt\Class_::MODIFIER_PRIVATE; } - | T_STATIC { $$ = Stmt\Class_::MODIFIER_STATIC; } - | T_ABSTRACT { $$ = Stmt\Class_::MODIFIER_ABSTRACT; } - | T_FINAL { $$ = Stmt\Class_::MODIFIER_FINAL; } -; - -property_declaration_list: - property_declaration { init($1); } - | property_declaration_list ',' property_declaration { push($1, $3); } -; - -property_decl_name: - T_VARIABLE { $$ = Node\VarLikeIdentifier[parseVar($1)]; } -; - -property_declaration: - property_decl_name { $$ = Stmt\PropertyProperty[$1, null]; } - | property_decl_name '=' static_scalar { $$ = Stmt\PropertyProperty[$1, $3]; } -; - -expr_list: - expr_list ',' expr { push($1, $3); } - | expr { init($1); } -; - -for_expr: - /* empty */ { $$ = array(); } - | expr_list { $$ = $1; } -; - -expr: - variable { $$ = $1; } - | list_expr '=' expr { $$ = Expr\Assign[$1, $3]; } - | variable '=' expr { $$ = Expr\Assign[$1, $3]; } - | variable '=' '&' variable { $$ = Expr\AssignRef[$1, $4]; } - | variable '=' '&' new_expr { $$ = Expr\AssignRef[$1, $4]; } - | new_expr { $$ = $1; } - | T_CLONE expr { $$ = Expr\Clone_[$2]; } - | variable T_PLUS_EQUAL expr { $$ = Expr\AssignOp\Plus [$1, $3]; } - | variable T_MINUS_EQUAL expr { $$ = Expr\AssignOp\Minus [$1, $3]; } - | variable T_MUL_EQUAL expr { $$ = Expr\AssignOp\Mul [$1, $3]; } - | variable T_DIV_EQUAL expr { $$ = Expr\AssignOp\Div [$1, $3]; } - | variable T_CONCAT_EQUAL expr { $$ = Expr\AssignOp\Concat [$1, $3]; } - | variable T_MOD_EQUAL expr { $$ = Expr\AssignOp\Mod [$1, $3]; } - | variable T_AND_EQUAL expr { $$ = Expr\AssignOp\BitwiseAnd[$1, $3]; } - | variable T_OR_EQUAL expr { $$ = Expr\AssignOp\BitwiseOr [$1, $3]; } - | variable T_XOR_EQUAL expr { $$ = Expr\AssignOp\BitwiseXor[$1, $3]; } - | variable T_SL_EQUAL expr { $$ = Expr\AssignOp\ShiftLeft [$1, $3]; } - | variable T_SR_EQUAL expr { $$ = Expr\AssignOp\ShiftRight[$1, $3]; } - | variable T_POW_EQUAL expr { $$ = Expr\AssignOp\Pow [$1, $3]; } - | variable T_COALESCE_EQUAL expr { $$ = Expr\AssignOp\Coalesce [$1, $3]; } - | variable T_INC { $$ = Expr\PostInc[$1]; } - | T_INC variable { $$ = Expr\PreInc [$2]; } - | variable T_DEC { $$ = Expr\PostDec[$1]; } - | T_DEC variable { $$ = Expr\PreDec [$2]; } - | expr T_BOOLEAN_OR expr { $$ = Expr\BinaryOp\BooleanOr [$1, $3]; } - | expr T_BOOLEAN_AND expr { $$ = Expr\BinaryOp\BooleanAnd[$1, $3]; } - | expr T_LOGICAL_OR expr { $$ = Expr\BinaryOp\LogicalOr [$1, $3]; } - | expr T_LOGICAL_AND expr { $$ = Expr\BinaryOp\LogicalAnd[$1, $3]; } - | expr T_LOGICAL_XOR expr { $$ = Expr\BinaryOp\LogicalXor[$1, $3]; } - | expr '|' expr { $$ = Expr\BinaryOp\BitwiseOr [$1, $3]; } - | expr '&' expr { $$ = Expr\BinaryOp\BitwiseAnd[$1, $3]; } - | expr '^' expr { $$ = Expr\BinaryOp\BitwiseXor[$1, $3]; } - | expr '.' expr { $$ = Expr\BinaryOp\Concat [$1, $3]; } - | expr '+' expr { $$ = Expr\BinaryOp\Plus [$1, $3]; } - | expr '-' expr { $$ = Expr\BinaryOp\Minus [$1, $3]; } - | expr '*' expr { $$ = Expr\BinaryOp\Mul [$1, $3]; } - | expr '/' expr { $$ = Expr\BinaryOp\Div [$1, $3]; } - | expr '%' expr { $$ = Expr\BinaryOp\Mod [$1, $3]; } - | expr T_SL expr { $$ = Expr\BinaryOp\ShiftLeft [$1, $3]; } - | expr T_SR expr { $$ = Expr\BinaryOp\ShiftRight[$1, $3]; } - | expr T_POW expr { $$ = Expr\BinaryOp\Pow [$1, $3]; } - | '+' expr %prec T_INC { $$ = Expr\UnaryPlus [$2]; } - | '-' expr %prec T_INC { $$ = Expr\UnaryMinus[$2]; } - | '!' expr { $$ = Expr\BooleanNot[$2]; } - | '~' expr { $$ = Expr\BitwiseNot[$2]; } - | expr T_IS_IDENTICAL expr { $$ = Expr\BinaryOp\Identical [$1, $3]; } - | expr T_IS_NOT_IDENTICAL expr { $$ = Expr\BinaryOp\NotIdentical [$1, $3]; } - | expr T_IS_EQUAL expr { $$ = Expr\BinaryOp\Equal [$1, $3]; } - | expr T_IS_NOT_EQUAL expr { $$ = Expr\BinaryOp\NotEqual [$1, $3]; } - | expr T_SPACESHIP expr { $$ = Expr\BinaryOp\Spaceship [$1, $3]; } - | expr '<' expr { $$ = Expr\BinaryOp\Smaller [$1, $3]; } - | expr T_IS_SMALLER_OR_EQUAL expr { $$ = Expr\BinaryOp\SmallerOrEqual[$1, $3]; } - | expr '>' expr { $$ = Expr\BinaryOp\Greater [$1, $3]; } - | expr T_IS_GREATER_OR_EQUAL expr { $$ = Expr\BinaryOp\GreaterOrEqual[$1, $3]; } - | expr T_INSTANCEOF class_name_reference { $$ = Expr\Instanceof_[$1, $3]; } - | parentheses_expr { $$ = $1; } - /* we need a separate '(' new_expr ')' rule to avoid problems caused by a s/r conflict */ - | '(' new_expr ')' { $$ = $2; } - | expr '?' expr ':' expr { $$ = Expr\Ternary[$1, $3, $5]; } - | expr '?' ':' expr { $$ = Expr\Ternary[$1, null, $4]; } - | expr T_COALESCE expr { $$ = Expr\BinaryOp\Coalesce[$1, $3]; } - | T_ISSET '(' variables_list ')' { $$ = Expr\Isset_[$3]; } - | T_EMPTY '(' expr ')' { $$ = Expr\Empty_[$3]; } - | T_INCLUDE expr { $$ = Expr\Include_[$2, Expr\Include_::TYPE_INCLUDE]; } - | T_INCLUDE_ONCE expr { $$ = Expr\Include_[$2, Expr\Include_::TYPE_INCLUDE_ONCE]; } - | T_EVAL parentheses_expr { $$ = Expr\Eval_[$2]; } - | T_REQUIRE expr { $$ = Expr\Include_[$2, Expr\Include_::TYPE_REQUIRE]; } - | T_REQUIRE_ONCE expr { $$ = Expr\Include_[$2, Expr\Include_::TYPE_REQUIRE_ONCE]; } - | T_INT_CAST expr { $$ = Expr\Cast\Int_ [$2]; } - | T_DOUBLE_CAST expr - { $attrs = attributes(); - $attrs['kind'] = $this->getFloatCastKind($1); - $$ = new Expr\Cast\Double($2, $attrs); } - | T_STRING_CAST expr { $$ = Expr\Cast\String_ [$2]; } - | T_ARRAY_CAST expr { $$ = Expr\Cast\Array_ [$2]; } - | T_OBJECT_CAST expr { $$ = Expr\Cast\Object_ [$2]; } - | T_BOOL_CAST expr { $$ = Expr\Cast\Bool_ [$2]; } - | T_UNSET_CAST expr { $$ = Expr\Cast\Unset_ [$2]; } - | T_EXIT exit_expr - { $attrs = attributes(); - $attrs['kind'] = strtolower($1) === 'exit' ? Expr\Exit_::KIND_EXIT : Expr\Exit_::KIND_DIE; - $$ = new Expr\Exit_($2, $attrs); } - | '@' expr { $$ = Expr\ErrorSuppress[$2]; } - | scalar { $$ = $1; } - | array_expr { $$ = $1; } - | scalar_dereference { $$ = $1; } - | '`' backticks_expr '`' { $$ = Expr\ShellExec[$2]; } - | T_PRINT expr { $$ = Expr\Print_[$2]; } - | T_YIELD { $$ = Expr\Yield_[null, null]; } - | T_YIELD_FROM expr { $$ = Expr\YieldFrom[$2]; } - | T_FUNCTION optional_ref '(' parameter_list ')' lexical_vars optional_return_type - '{' inner_statement_list '}' - { $$ = Expr\Closure[['static' => false, 'byRef' => $2, 'params' => $4, 'uses' => $6, 'returnType' => $7, 'stmts' => $9]]; } - | T_STATIC T_FUNCTION optional_ref '(' parameter_list ')' lexical_vars optional_return_type - '{' inner_statement_list '}' - { $$ = Expr\Closure[['static' => true, 'byRef' => $3, 'params' => $5, 'uses' => $7, 'returnType' => $8, 'stmts' => $10]]; } -; - -parentheses_expr: - '(' expr ')' { $$ = $2; } - | '(' yield_expr ')' { $$ = $2; } -; - -yield_expr: - T_YIELD expr { $$ = Expr\Yield_[$2, null]; } - | T_YIELD expr T_DOUBLE_ARROW expr { $$ = Expr\Yield_[$4, $2]; } -; - -array_expr: - T_ARRAY '(' array_pair_list ')' - { $attrs = attributes(); $attrs['kind'] = Expr\Array_::KIND_LONG; - $$ = new Expr\Array_($3, $attrs); } - | '[' array_pair_list ']' - { $attrs = attributes(); $attrs['kind'] = Expr\Array_::KIND_SHORT; - $$ = new Expr\Array_($2, $attrs); } -; - -scalar_dereference: - array_expr '[' dim_offset ']' { $$ = Expr\ArrayDimFetch[$1, $3]; } - | T_CONSTANT_ENCAPSED_STRING '[' dim_offset ']' - { $attrs = attributes(); $attrs['kind'] = strKind($1); - $$ = Expr\ArrayDimFetch[new Scalar\String_(Scalar\String_::parse($1), $attrs), $3]; } - | constant '[' dim_offset ']' { $$ = Expr\ArrayDimFetch[$1, $3]; } - | scalar_dereference '[' dim_offset ']' { $$ = Expr\ArrayDimFetch[$1, $3]; } - /* alternative array syntax missing intentionally */ -; - -anonymous_class: - T_CLASS ctor_arguments extends_from implements_list '{' class_statement_list '}' - { $$ = array(Stmt\Class_[null, ['type' => 0, 'extends' => $3, 'implements' => $4, 'stmts' => $6]], $2); - $this->checkClass($$[0], -1); } -; - -new_expr: - T_NEW class_name_reference ctor_arguments { $$ = Expr\New_[$2, $3]; } - | T_NEW anonymous_class - { list($class, $ctorArgs) = $2; $$ = Expr\New_[$class, $ctorArgs]; } -; - -lexical_vars: - /* empty */ { $$ = array(); } - | T_USE '(' lexical_var_list ')' { $$ = $3; } -; - -lexical_var_list: - lexical_var { init($1); } - | lexical_var_list ',' lexical_var { push($1, $3); } -; - -lexical_var: - optional_ref plain_variable { $$ = Expr\ClosureUse[$2, $1]; } -; - -function_call: - name argument_list { $$ = Expr\FuncCall[$1, $2]; } - | class_name_or_var T_PAAMAYIM_NEKUDOTAYIM identifier_ex argument_list - { $$ = Expr\StaticCall[$1, $3, $4]; } - | class_name_or_var T_PAAMAYIM_NEKUDOTAYIM '{' expr '}' argument_list - { $$ = Expr\StaticCall[$1, $4, $6]; } - | static_property argument_list - { $$ = $this->fixupPhp5StaticPropCall($1, $2, attributes()); } - | variable_without_objects argument_list - { $$ = Expr\FuncCall[$1, $2]; } - | function_call '[' dim_offset ']' { $$ = Expr\ArrayDimFetch[$1, $3]; } - /* alternative array syntax missing intentionally */ -; - -class_name: - T_STATIC { $$ = Name[$1]; } - | name { $$ = $1; } -; - -name: - namespace_name_parts { $$ = Name[$1]; } - | T_NS_SEPARATOR namespace_name_parts { $$ = Name\FullyQualified[$2]; } - | T_NAMESPACE T_NS_SEPARATOR namespace_name_parts { $$ = Name\Relative[$3]; } -; - -class_name_reference: - class_name { $$ = $1; } - | dynamic_class_name_reference { $$ = $1; } -; - -dynamic_class_name_reference: - object_access_for_dcnr { $$ = $1; } - | base_variable { $$ = $1; } -; - -class_name_or_var: - class_name { $$ = $1; } - | reference_variable { $$ = $1; } -; - -object_access_for_dcnr: - base_variable T_OBJECT_OPERATOR object_property - { $$ = Expr\PropertyFetch[$1, $3]; } - | object_access_for_dcnr T_OBJECT_OPERATOR object_property - { $$ = Expr\PropertyFetch[$1, $3]; } - | object_access_for_dcnr '[' dim_offset ']' { $$ = Expr\ArrayDimFetch[$1, $3]; } - | object_access_for_dcnr '{' expr '}' { $$ = Expr\ArrayDimFetch[$1, $3]; } -; - -exit_expr: - /* empty */ { $$ = null; } - | '(' ')' { $$ = null; } - | parentheses_expr { $$ = $1; } -; - -backticks_expr: - /* empty */ { $$ = array(); } - | T_ENCAPSED_AND_WHITESPACE - { $$ = array(Scalar\EncapsedStringPart[Scalar\String_::parseEscapeSequences($1, '`', false)]); } - | encaps_list { parseEncapsed($1, '`', false); $$ = $1; } -; - -ctor_arguments: - /* empty */ { $$ = array(); } - | argument_list { $$ = $1; } -; - -common_scalar: - T_LNUMBER { $$ = $this->parseLNumber($1, attributes(), true); } - | T_DNUMBER { $$ = Scalar\DNumber[Scalar\DNumber::parse($1)]; } - | T_CONSTANT_ENCAPSED_STRING - { $attrs = attributes(); $attrs['kind'] = strKind($1); - $$ = new Scalar\String_(Scalar\String_::parse($1, false), $attrs); } - | T_LINE { $$ = Scalar\MagicConst\Line[]; } - | T_FILE { $$ = Scalar\MagicConst\File[]; } - | T_DIR { $$ = Scalar\MagicConst\Dir[]; } - | T_CLASS_C { $$ = Scalar\MagicConst\Class_[]; } - | T_TRAIT_C { $$ = Scalar\MagicConst\Trait_[]; } - | T_METHOD_C { $$ = Scalar\MagicConst\Method[]; } - | T_FUNC_C { $$ = Scalar\MagicConst\Function_[]; } - | T_NS_C { $$ = Scalar\MagicConst\Namespace_[]; } - | T_START_HEREDOC T_ENCAPSED_AND_WHITESPACE T_END_HEREDOC - { $$ = $this->parseDocString($1, $2, $3, attributes(), stackAttributes(#3), false); } - | T_START_HEREDOC T_END_HEREDOC - { $$ = $this->parseDocString($1, '', $2, attributes(), stackAttributes(#2), false); } -; - -static_scalar: - common_scalar { $$ = $1; } - | class_name T_PAAMAYIM_NEKUDOTAYIM identifier_ex { $$ = Expr\ClassConstFetch[$1, $3]; } - | name { $$ = Expr\ConstFetch[$1]; } - | T_ARRAY '(' static_array_pair_list ')' { $$ = Expr\Array_[$3]; } - | '[' static_array_pair_list ']' { $$ = Expr\Array_[$2]; } - | static_operation { $$ = $1; } -; - -static_operation: - static_scalar T_BOOLEAN_OR static_scalar { $$ = Expr\BinaryOp\BooleanOr [$1, $3]; } - | static_scalar T_BOOLEAN_AND static_scalar { $$ = Expr\BinaryOp\BooleanAnd[$1, $3]; } - | static_scalar T_LOGICAL_OR static_scalar { $$ = Expr\BinaryOp\LogicalOr [$1, $3]; } - | static_scalar T_LOGICAL_AND static_scalar { $$ = Expr\BinaryOp\LogicalAnd[$1, $3]; } - | static_scalar T_LOGICAL_XOR static_scalar { $$ = Expr\BinaryOp\LogicalXor[$1, $3]; } - | static_scalar '|' static_scalar { $$ = Expr\BinaryOp\BitwiseOr [$1, $3]; } - | static_scalar '&' static_scalar { $$ = Expr\BinaryOp\BitwiseAnd[$1, $3]; } - | static_scalar '^' static_scalar { $$ = Expr\BinaryOp\BitwiseXor[$1, $3]; } - | static_scalar '.' static_scalar { $$ = Expr\BinaryOp\Concat [$1, $3]; } - | static_scalar '+' static_scalar { $$ = Expr\BinaryOp\Plus [$1, $3]; } - | static_scalar '-' static_scalar { $$ = Expr\BinaryOp\Minus [$1, $3]; } - | static_scalar '*' static_scalar { $$ = Expr\BinaryOp\Mul [$1, $3]; } - | static_scalar '/' static_scalar { $$ = Expr\BinaryOp\Div [$1, $3]; } - | static_scalar '%' static_scalar { $$ = Expr\BinaryOp\Mod [$1, $3]; } - | static_scalar T_SL static_scalar { $$ = Expr\BinaryOp\ShiftLeft [$1, $3]; } - | static_scalar T_SR static_scalar { $$ = Expr\BinaryOp\ShiftRight[$1, $3]; } - | static_scalar T_POW static_scalar { $$ = Expr\BinaryOp\Pow [$1, $3]; } - | '+' static_scalar %prec T_INC { $$ = Expr\UnaryPlus [$2]; } - | '-' static_scalar %prec T_INC { $$ = Expr\UnaryMinus[$2]; } - | '!' static_scalar { $$ = Expr\BooleanNot[$2]; } - | '~' static_scalar { $$ = Expr\BitwiseNot[$2]; } - | static_scalar T_IS_IDENTICAL static_scalar { $$ = Expr\BinaryOp\Identical [$1, $3]; } - | static_scalar T_IS_NOT_IDENTICAL static_scalar { $$ = Expr\BinaryOp\NotIdentical [$1, $3]; } - | static_scalar T_IS_EQUAL static_scalar { $$ = Expr\BinaryOp\Equal [$1, $3]; } - | static_scalar T_IS_NOT_EQUAL static_scalar { $$ = Expr\BinaryOp\NotEqual [$1, $3]; } - | static_scalar '<' static_scalar { $$ = Expr\BinaryOp\Smaller [$1, $3]; } - | static_scalar T_IS_SMALLER_OR_EQUAL static_scalar { $$ = Expr\BinaryOp\SmallerOrEqual[$1, $3]; } - | static_scalar '>' static_scalar { $$ = Expr\BinaryOp\Greater [$1, $3]; } - | static_scalar T_IS_GREATER_OR_EQUAL static_scalar { $$ = Expr\BinaryOp\GreaterOrEqual[$1, $3]; } - | static_scalar '?' static_scalar ':' static_scalar { $$ = Expr\Ternary[$1, $3, $5]; } - | static_scalar '?' ':' static_scalar { $$ = Expr\Ternary[$1, null, $4]; } - | static_scalar '[' static_scalar ']' { $$ = Expr\ArrayDimFetch[$1, $3]; } - | '(' static_scalar ')' { $$ = $2; } -; - -constant: - name { $$ = Expr\ConstFetch[$1]; } - | class_name_or_var T_PAAMAYIM_NEKUDOTAYIM identifier_ex - { $$ = Expr\ClassConstFetch[$1, $3]; } -; - -scalar: - common_scalar { $$ = $1; } - | constant { $$ = $1; } - | '"' encaps_list '"' - { $attrs = attributes(); $attrs['kind'] = Scalar\String_::KIND_DOUBLE_QUOTED; - parseEncapsed($2, '"', true); $$ = new Scalar\Encapsed($2, $attrs); } - | T_START_HEREDOC encaps_list T_END_HEREDOC - { $$ = $this->parseDocString($1, $2, $3, attributes(), stackAttributes(#3), true); } -; - -static_array_pair_list: - /* empty */ { $$ = array(); } - | non_empty_static_array_pair_list optional_comma { $$ = $1; } -; - -optional_comma: - /* empty */ - | ',' -; - -non_empty_static_array_pair_list: - non_empty_static_array_pair_list ',' static_array_pair { push($1, $3); } - | static_array_pair { init($1); } -; - -static_array_pair: - static_scalar T_DOUBLE_ARROW static_scalar { $$ = Expr\ArrayItem[$3, $1, false]; } - | static_scalar { $$ = Expr\ArrayItem[$1, null, false]; } -; - -variable: - object_access { $$ = $1; } - | base_variable { $$ = $1; } - | function_call { $$ = $1; } - | new_expr_array_deref { $$ = $1; } -; - -new_expr_array_deref: - '(' new_expr ')' '[' dim_offset ']' { $$ = Expr\ArrayDimFetch[$2, $5]; } - | new_expr_array_deref '[' dim_offset ']' { $$ = Expr\ArrayDimFetch[$1, $3]; } - /* alternative array syntax missing intentionally */ -; - -object_access: - variable_or_new_expr T_OBJECT_OPERATOR object_property - { $$ = Expr\PropertyFetch[$1, $3]; } - | variable_or_new_expr T_OBJECT_OPERATOR object_property argument_list - { $$ = Expr\MethodCall[$1, $3, $4]; } - | object_access argument_list { $$ = Expr\FuncCall[$1, $2]; } - | object_access '[' dim_offset ']' { $$ = Expr\ArrayDimFetch[$1, $3]; } - | object_access '{' expr '}' { $$ = Expr\ArrayDimFetch[$1, $3]; } -; - -variable_or_new_expr: - variable { $$ = $1; } - | '(' new_expr ')' { $$ = $2; } -; - -variable_without_objects: - reference_variable { $$ = $1; } - | '$' variable_without_objects { $$ = Expr\Variable[$2]; } -; - -base_variable: - variable_without_objects { $$ = $1; } - | static_property { $$ = $1; } -; - -static_property: - class_name_or_var T_PAAMAYIM_NEKUDOTAYIM '$' reference_variable - { $$ = Expr\StaticPropertyFetch[$1, $4]; } - | static_property_with_arrays { $$ = $1; } -; - -static_property_simple_name: - T_VARIABLE - { $var = parseVar($1); $$ = \is_string($var) ? Node\VarLikeIdentifier[$var] : $var; } -; - -static_property_with_arrays: - class_name_or_var T_PAAMAYIM_NEKUDOTAYIM static_property_simple_name - { $$ = Expr\StaticPropertyFetch[$1, $3]; } - | class_name_or_var T_PAAMAYIM_NEKUDOTAYIM '$' '{' expr '}' - { $$ = Expr\StaticPropertyFetch[$1, $5]; } - | static_property_with_arrays '[' dim_offset ']' { $$ = Expr\ArrayDimFetch[$1, $3]; } - | static_property_with_arrays '{' expr '}' { $$ = Expr\ArrayDimFetch[$1, $3]; } -; - -reference_variable: - reference_variable '[' dim_offset ']' { $$ = Expr\ArrayDimFetch[$1, $3]; } - | reference_variable '{' expr '}' { $$ = Expr\ArrayDimFetch[$1, $3]; } - | plain_variable { $$ = $1; } - | '$' '{' expr '}' { $$ = Expr\Variable[$3]; } -; - -dim_offset: - /* empty */ { $$ = null; } - | expr { $$ = $1; } -; - -object_property: - identifier { $$ = $1; } - | '{' expr '}' { $$ = $2; } - | variable_without_objects { $$ = $1; } - | error { $$ = Expr\Error[]; $this->errorState = 2; } -; - -list_expr: - T_LIST '(' list_expr_elements ')' { $$ = Expr\List_[$3]; } -; - -list_expr_elements: - list_expr_elements ',' list_expr_element { push($1, $3); } - | list_expr_element { init($1); } -; - -list_expr_element: - variable { $$ = Expr\ArrayItem[$1, null, false]; } - | list_expr { $$ = Expr\ArrayItem[$1, null, false]; } - | /* empty */ { $$ = null; } -; - -array_pair_list: - /* empty */ { $$ = array(); } - | non_empty_array_pair_list optional_comma { $$ = $1; } -; - -non_empty_array_pair_list: - non_empty_array_pair_list ',' array_pair { push($1, $3); } - | array_pair { init($1); } -; - -array_pair: - expr T_DOUBLE_ARROW expr { $$ = Expr\ArrayItem[$3, $1, false]; } - | expr { $$ = Expr\ArrayItem[$1, null, false]; } - | expr T_DOUBLE_ARROW '&' variable { $$ = Expr\ArrayItem[$4, $1, true]; } - | '&' variable { $$ = Expr\ArrayItem[$2, null, true]; } - | T_ELLIPSIS expr { $$ = Expr\ArrayItem[$2, null, false, attributes(), true]; } -; - -encaps_list: - encaps_list encaps_var { push($1, $2); } - | encaps_list encaps_string_part { push($1, $2); } - | encaps_var { init($1); } - | encaps_string_part encaps_var { init($1, $2); } -; - -encaps_string_part: - T_ENCAPSED_AND_WHITESPACE { $$ = Scalar\EncapsedStringPart[$1]; } -; - -encaps_str_varname: - T_STRING_VARNAME { $$ = Expr\Variable[$1]; } -; - -encaps_var: - plain_variable { $$ = $1; } - | plain_variable '[' encaps_var_offset ']' { $$ = Expr\ArrayDimFetch[$1, $3]; } - | plain_variable T_OBJECT_OPERATOR identifier { $$ = Expr\PropertyFetch[$1, $3]; } - | T_DOLLAR_OPEN_CURLY_BRACES expr '}' { $$ = Expr\Variable[$2]; } - | T_DOLLAR_OPEN_CURLY_BRACES T_STRING_VARNAME '}' { $$ = Expr\Variable[$2]; } - | T_DOLLAR_OPEN_CURLY_BRACES encaps_str_varname '[' expr ']' '}' - { $$ = Expr\ArrayDimFetch[$2, $4]; } - | T_CURLY_OPEN variable '}' { $$ = $2; } -; - -encaps_var_offset: - T_STRING { $$ = Scalar\String_[$1]; } - | T_NUM_STRING { $$ = $this->parseNumString($1, attributes()); } - | plain_variable { $$ = $1; } -; - -%% diff --git a/paragonik-backend/vendor/nikic/php-parser/grammar/php7.y b/paragonik-backend/vendor/nikic/php-parser/grammar/php7.y deleted file mode 100644 index 7a219fd..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/grammar/php7.y +++ /dev/null @@ -1,1029 +0,0 @@ -%pure_parser -%expect 2 - -%tokens - -%% - -start: - top_statement_list { $$ = $this->handleNamespaces($1); } -; - -top_statement_list_ex: - top_statement_list_ex top_statement { pushNormalizing($1, $2); } - | /* empty */ { init(); } -; - -top_statement_list: - top_statement_list_ex - { makeZeroLengthNop($nop, $this->lookaheadStartAttributes); - if ($nop !== null) { $1[] = $nop; } $$ = $1; } -; - -reserved_non_modifiers: - T_INCLUDE | T_INCLUDE_ONCE | T_EVAL | T_REQUIRE | T_REQUIRE_ONCE | T_LOGICAL_OR | T_LOGICAL_XOR | T_LOGICAL_AND - | T_INSTANCEOF | T_NEW | T_CLONE | T_EXIT | T_IF | T_ELSEIF | T_ELSE | T_ENDIF | T_ECHO | T_DO | T_WHILE - | T_ENDWHILE | T_FOR | T_ENDFOR | T_FOREACH | T_ENDFOREACH | T_DECLARE | T_ENDDECLARE | T_AS | T_TRY | T_CATCH - | T_FINALLY | T_THROW | T_USE | T_INSTEADOF | T_GLOBAL | T_VAR | T_UNSET | T_ISSET | T_EMPTY | T_CONTINUE | T_GOTO - | T_FUNCTION | T_CONST | T_RETURN | T_PRINT | T_YIELD | T_LIST | T_SWITCH | T_ENDSWITCH | T_CASE | T_DEFAULT - | T_BREAK | T_ARRAY | T_CALLABLE | T_EXTENDS | T_IMPLEMENTS | T_NAMESPACE | T_TRAIT | T_INTERFACE | T_CLASS - | T_CLASS_C | T_TRAIT_C | T_FUNC_C | T_METHOD_C | T_LINE | T_FILE | T_DIR | T_NS_C | T_HALT_COMPILER | T_FN -; - -semi_reserved: - reserved_non_modifiers - | T_STATIC | T_ABSTRACT | T_FINAL | T_PRIVATE | T_PROTECTED | T_PUBLIC -; - -identifier_ex: - T_STRING { $$ = Node\Identifier[$1]; } - | semi_reserved { $$ = Node\Identifier[$1]; } -; - -identifier: - T_STRING { $$ = Node\Identifier[$1]; } -; - -reserved_non_modifiers_identifier: - reserved_non_modifiers { $$ = Node\Identifier[$1]; } -; - -namespace_name_parts: - T_STRING { init($1); } - | namespace_name_parts T_NS_SEPARATOR T_STRING { push($1, $3); } -; - -namespace_name: - namespace_name_parts { $$ = Name[$1]; } -; - -plain_variable: - T_VARIABLE { $$ = Expr\Variable[parseVar($1)]; } -; - -semi: - ';' { /* nothing */ } - | error { /* nothing */ } -; - -no_comma: - /* empty */ { /* nothing */ } - | ',' { $this->emitError(new Error('A trailing comma is not allowed here', attributes())); } -; - -optional_comma: - /* empty */ - | ',' - -top_statement: - statement { $$ = $1; } - | function_declaration_statement { $$ = $1; } - | class_declaration_statement { $$ = $1; } - | T_HALT_COMPILER - { $$ = Stmt\HaltCompiler[$this->lexer->handleHaltCompiler()]; } - | T_NAMESPACE namespace_name semi - { $$ = Stmt\Namespace_[$2, null]; - $$->setAttribute('kind', Stmt\Namespace_::KIND_SEMICOLON); - $this->checkNamespace($$); } - | T_NAMESPACE namespace_name '{' top_statement_list '}' - { $$ = Stmt\Namespace_[$2, $4]; - $$->setAttribute('kind', Stmt\Namespace_::KIND_BRACED); - $this->checkNamespace($$); } - | T_NAMESPACE '{' top_statement_list '}' - { $$ = Stmt\Namespace_[null, $3]; - $$->setAttribute('kind', Stmt\Namespace_::KIND_BRACED); - $this->checkNamespace($$); } - | T_USE use_declarations semi { $$ = Stmt\Use_[$2, Stmt\Use_::TYPE_NORMAL]; } - | T_USE use_type use_declarations semi { $$ = Stmt\Use_[$3, $2]; } - | group_use_declaration semi { $$ = $1; } - | T_CONST constant_declaration_list semi { $$ = Stmt\Const_[$2]; } -; - -use_type: - T_FUNCTION { $$ = Stmt\Use_::TYPE_FUNCTION; } - | T_CONST { $$ = Stmt\Use_::TYPE_CONSTANT; } -; - -/* Using namespace_name_parts here to avoid s/r conflict on T_NS_SEPARATOR */ -group_use_declaration: - T_USE use_type namespace_name_parts T_NS_SEPARATOR '{' unprefixed_use_declarations '}' - { $$ = Stmt\GroupUse[new Name($3, stackAttributes(#3)), $6, $2]; } - | T_USE use_type T_NS_SEPARATOR namespace_name_parts T_NS_SEPARATOR '{' unprefixed_use_declarations '}' - { $$ = Stmt\GroupUse[new Name($4, stackAttributes(#4)), $7, $2]; } - | T_USE namespace_name_parts T_NS_SEPARATOR '{' inline_use_declarations '}' - { $$ = Stmt\GroupUse[new Name($2, stackAttributes(#2)), $5, Stmt\Use_::TYPE_UNKNOWN]; } - | T_USE T_NS_SEPARATOR namespace_name_parts T_NS_SEPARATOR '{' inline_use_declarations '}' - { $$ = Stmt\GroupUse[new Name($3, stackAttributes(#3)), $6, Stmt\Use_::TYPE_UNKNOWN]; } -; - -unprefixed_use_declarations: - non_empty_unprefixed_use_declarations optional_comma { $$ = $1; } -; - -non_empty_unprefixed_use_declarations: - non_empty_unprefixed_use_declarations ',' unprefixed_use_declaration - { push($1, $3); } - | unprefixed_use_declaration { init($1); } -; - -use_declarations: - non_empty_use_declarations no_comma { $$ = $1; } -; - -non_empty_use_declarations: - non_empty_use_declarations ',' use_declaration { push($1, $3); } - | use_declaration { init($1); } -; - -inline_use_declarations: - non_empty_inline_use_declarations optional_comma { $$ = $1; } -; - -non_empty_inline_use_declarations: - non_empty_inline_use_declarations ',' inline_use_declaration - { push($1, $3); } - | inline_use_declaration { init($1); } -; - -unprefixed_use_declaration: - namespace_name - { $$ = Stmt\UseUse[$1, null, Stmt\Use_::TYPE_UNKNOWN]; $this->checkUseUse($$, #1); } - | namespace_name T_AS identifier - { $$ = Stmt\UseUse[$1, $3, Stmt\Use_::TYPE_UNKNOWN]; $this->checkUseUse($$, #3); } -; - -use_declaration: - unprefixed_use_declaration { $$ = $1; } - | T_NS_SEPARATOR unprefixed_use_declaration { $$ = $2; } -; - -inline_use_declaration: - unprefixed_use_declaration { $$ = $1; $$->type = Stmt\Use_::TYPE_NORMAL; } - | use_type unprefixed_use_declaration { $$ = $2; $$->type = $1; } -; - -constant_declaration_list: - non_empty_constant_declaration_list no_comma { $$ = $1; } -; - -non_empty_constant_declaration_list: - non_empty_constant_declaration_list ',' constant_declaration - { push($1, $3); } - | constant_declaration { init($1); } -; - -constant_declaration: - identifier '=' expr { $$ = Node\Const_[$1, $3]; } -; - -class_const_list: - non_empty_class_const_list no_comma { $$ = $1; } -; - -non_empty_class_const_list: - non_empty_class_const_list ',' class_const { push($1, $3); } - | class_const { init($1); } -; - -class_const: - identifier_ex '=' expr { $$ = Node\Const_[$1, $3]; } -; - -inner_statement_list_ex: - inner_statement_list_ex inner_statement { pushNormalizing($1, $2); } - | /* empty */ { init(); } -; - -inner_statement_list: - inner_statement_list_ex - { makeZeroLengthNop($nop, $this->lookaheadStartAttributes); - if ($nop !== null) { $1[] = $nop; } $$ = $1; } -; - -inner_statement: - statement { $$ = $1; } - | function_declaration_statement { $$ = $1; } - | class_declaration_statement { $$ = $1; } - | T_HALT_COMPILER - { throw new Error('__HALT_COMPILER() can only be used from the outermost scope', attributes()); } -; - -non_empty_statement: - '{' inner_statement_list '}' - { - if ($2) { - $$ = $2; prependLeadingComments($$); - } else { - makeNop($$, $this->startAttributeStack[#1], $this->endAttributes); - if (null === $$) { $$ = array(); } - } - } - | T_IF '(' expr ')' statement elseif_list else_single - { $$ = Stmt\If_[$3, ['stmts' => toArray($5), 'elseifs' => $6, 'else' => $7]]; } - | T_IF '(' expr ')' ':' inner_statement_list new_elseif_list new_else_single T_ENDIF ';' - { $$ = Stmt\If_[$3, ['stmts' => $6, 'elseifs' => $7, 'else' => $8]]; } - | T_WHILE '(' expr ')' while_statement { $$ = Stmt\While_[$3, $5]; } - | T_DO statement T_WHILE '(' expr ')' ';' { $$ = Stmt\Do_ [$5, toArray($2)]; } - | T_FOR '(' for_expr ';' for_expr ';' for_expr ')' for_statement - { $$ = Stmt\For_[['init' => $3, 'cond' => $5, 'loop' => $7, 'stmts' => $9]]; } - | T_SWITCH '(' expr ')' switch_case_list { $$ = Stmt\Switch_[$3, $5]; } - | T_BREAK optional_expr semi { $$ = Stmt\Break_[$2]; } - | T_CONTINUE optional_expr semi { $$ = Stmt\Continue_[$2]; } - | T_RETURN optional_expr semi { $$ = Stmt\Return_[$2]; } - | T_GLOBAL global_var_list semi { $$ = Stmt\Global_[$2]; } - | T_STATIC static_var_list semi { $$ = Stmt\Static_[$2]; } - | T_ECHO expr_list semi { $$ = Stmt\Echo_[$2]; } - | T_INLINE_HTML { $$ = Stmt\InlineHTML[$1]; } - | expr semi { $$ = Stmt\Expression[$1]; } - | T_UNSET '(' variables_list ')' semi { $$ = Stmt\Unset_[$3]; } - | T_FOREACH '(' expr T_AS foreach_variable ')' foreach_statement - { $$ = Stmt\Foreach_[$3, $5[0], ['keyVar' => null, 'byRef' => $5[1], 'stmts' => $7]]; } - | T_FOREACH '(' expr T_AS variable T_DOUBLE_ARROW foreach_variable ')' foreach_statement - { $$ = Stmt\Foreach_[$3, $7[0], ['keyVar' => $5, 'byRef' => $7[1], 'stmts' => $9]]; } - | T_FOREACH '(' expr error ')' foreach_statement - { $$ = Stmt\Foreach_[$3, new Expr\Error(stackAttributes(#4)), ['stmts' => $6]]; } - | T_DECLARE '(' declare_list ')' declare_statement { $$ = Stmt\Declare_[$3, $5]; } - | T_TRY '{' inner_statement_list '}' catches optional_finally - { $$ = Stmt\TryCatch[$3, $5, $6]; $this->checkTryCatch($$); } - | T_THROW expr semi { $$ = Stmt\Throw_[$2]; } - | T_GOTO identifier semi { $$ = Stmt\Goto_[$2]; } - | identifier ':' { $$ = Stmt\Label[$1]; } - | error { $$ = array(); /* means: no statement */ } -; - -statement: - non_empty_statement { $$ = $1; } - | ';' - { makeNop($$, $this->startAttributeStack[#1], $this->endAttributes); - if ($$ === null) $$ = array(); /* means: no statement */ } -; - -catches: - /* empty */ { init(); } - | catches catch { push($1, $2); } -; - -name_union: - name { init($1); } - | name_union '|' name { push($1, $3); } -; - -catch: - T_CATCH '(' name_union plain_variable ')' '{' inner_statement_list '}' - { $$ = Stmt\Catch_[$3, $4, $7]; } -; - -optional_finally: - /* empty */ { $$ = null; } - | T_FINALLY '{' inner_statement_list '}' { $$ = Stmt\Finally_[$3]; } -; - -variables_list: - non_empty_variables_list optional_comma { $$ = $1; } -; - -non_empty_variables_list: - variable { init($1); } - | non_empty_variables_list ',' variable { push($1, $3); } -; - -optional_ref: - /* empty */ { $$ = false; } - | '&' { $$ = true; } -; - -optional_ellipsis: - /* empty */ { $$ = false; } - | T_ELLIPSIS { $$ = true; } -; - -block_or_error: - '{' inner_statement_list '}' { $$ = $2; } - | error { $$ = []; } -; - -function_declaration_statement: - T_FUNCTION optional_ref identifier '(' parameter_list ')' optional_return_type block_or_error - { $$ = Stmt\Function_[$3, ['byRef' => $2, 'params' => $5, 'returnType' => $7, 'stmts' => $8]]; } -; - -class_declaration_statement: - class_entry_type identifier extends_from implements_list '{' class_statement_list '}' - { $$ = Stmt\Class_[$2, ['type' => $1, 'extends' => $3, 'implements' => $4, 'stmts' => $6]]; - $this->checkClass($$, #2); } - | T_INTERFACE identifier interface_extends_list '{' class_statement_list '}' - { $$ = Stmt\Interface_[$2, ['extends' => $3, 'stmts' => $5]]; - $this->checkInterface($$, #2); } - | T_TRAIT identifier '{' class_statement_list '}' - { $$ = Stmt\Trait_[$2, ['stmts' => $4]]; } -; - -class_entry_type: - T_CLASS { $$ = 0; } - | T_ABSTRACT T_CLASS { $$ = Stmt\Class_::MODIFIER_ABSTRACT; } - | T_FINAL T_CLASS { $$ = Stmt\Class_::MODIFIER_FINAL; } -; - -extends_from: - /* empty */ { $$ = null; } - | T_EXTENDS class_name { $$ = $2; } -; - -interface_extends_list: - /* empty */ { $$ = array(); } - | T_EXTENDS class_name_list { $$ = $2; } -; - -implements_list: - /* empty */ { $$ = array(); } - | T_IMPLEMENTS class_name_list { $$ = $2; } -; - -class_name_list: - non_empty_class_name_list no_comma { $$ = $1; } -; - -non_empty_class_name_list: - class_name { init($1); } - | non_empty_class_name_list ',' class_name { push($1, $3); } -; - -for_statement: - statement { $$ = toArray($1); } - | ':' inner_statement_list T_ENDFOR ';' { $$ = $2; } -; - -foreach_statement: - statement { $$ = toArray($1); } - | ':' inner_statement_list T_ENDFOREACH ';' { $$ = $2; } -; - -declare_statement: - non_empty_statement { $$ = toArray($1); } - | ';' { $$ = null; } - | ':' inner_statement_list T_ENDDECLARE ';' { $$ = $2; } -; - -declare_list: - non_empty_declare_list no_comma { $$ = $1; } -; - -non_empty_declare_list: - declare_list_element { init($1); } - | non_empty_declare_list ',' declare_list_element { push($1, $3); } -; - -declare_list_element: - identifier '=' expr { $$ = Stmt\DeclareDeclare[$1, $3]; } -; - -switch_case_list: - '{' case_list '}' { $$ = $2; } - | '{' ';' case_list '}' { $$ = $3; } - | ':' case_list T_ENDSWITCH ';' { $$ = $2; } - | ':' ';' case_list T_ENDSWITCH ';' { $$ = $3; } -; - -case_list: - /* empty */ { init(); } - | case_list case { push($1, $2); } -; - -case: - T_CASE expr case_separator inner_statement_list_ex { $$ = Stmt\Case_[$2, $4]; } - | T_DEFAULT case_separator inner_statement_list_ex { $$ = Stmt\Case_[null, $3]; } -; - -case_separator: - ':' - | ';' -; - -while_statement: - statement { $$ = toArray($1); } - | ':' inner_statement_list T_ENDWHILE ';' { $$ = $2; } -; - -elseif_list: - /* empty */ { init(); } - | elseif_list elseif { push($1, $2); } -; - -elseif: - T_ELSEIF '(' expr ')' statement { $$ = Stmt\ElseIf_[$3, toArray($5)]; } -; - -new_elseif_list: - /* empty */ { init(); } - | new_elseif_list new_elseif { push($1, $2); } -; - -new_elseif: - T_ELSEIF '(' expr ')' ':' inner_statement_list { $$ = Stmt\ElseIf_[$3, $6]; } -; - -else_single: - /* empty */ { $$ = null; } - | T_ELSE statement { $$ = Stmt\Else_[toArray($2)]; } -; - -new_else_single: - /* empty */ { $$ = null; } - | T_ELSE ':' inner_statement_list { $$ = Stmt\Else_[$3]; } -; - -foreach_variable: - variable { $$ = array($1, false); } - | '&' variable { $$ = array($2, true); } - | list_expr { $$ = array($1, false); } - | array_short_syntax { $$ = array($1, false); } -; - -parameter_list: - non_empty_parameter_list no_comma { $$ = $1; } - | /* empty */ { $$ = array(); } -; - -non_empty_parameter_list: - parameter { init($1); } - | non_empty_parameter_list ',' parameter { push($1, $3); } -; - -parameter: - optional_type optional_ref optional_ellipsis plain_variable - { $$ = Node\Param[$4, null, $1, $2, $3]; $this->checkParam($$); } - | optional_type optional_ref optional_ellipsis plain_variable '=' expr - { $$ = Node\Param[$4, $6, $1, $2, $3]; $this->checkParam($$); } - | optional_type optional_ref optional_ellipsis error - { $$ = Node\Param[Expr\Error[], null, $1, $2, $3]; } -; - -type_expr: - type { $$ = $1; } - | '?' type { $$ = Node\NullableType[$2]; } - | union_type { $$ = Node\UnionType[$1]; } -; - -type: - name { $$ = $this->handleBuiltinTypes($1); } - | T_ARRAY { $$ = Node\Identifier['array']; } - | T_CALLABLE { $$ = Node\Identifier['callable']; } -; - -union_type: - type '|' type { init($1, $3); } - | union_type '|' type { push($1, $3); } -; - -optional_type: - /* empty */ { $$ = null; } - | type_expr { $$ = $1; } -; - -optional_return_type: - /* empty */ { $$ = null; } - | ':' type_expr { $$ = $2; } - | ':' error { $$ = null; } -; - -argument_list: - '(' ')' { $$ = array(); } - | '(' non_empty_argument_list optional_comma ')' { $$ = $2; } -; - -non_empty_argument_list: - argument { init($1); } - | non_empty_argument_list ',' argument { push($1, $3); } -; - -argument: - expr { $$ = Node\Arg[$1, false, false]; } - | '&' variable { $$ = Node\Arg[$2, true, false]; } - | T_ELLIPSIS expr { $$ = Node\Arg[$2, false, true]; } -; - -global_var_list: - non_empty_global_var_list no_comma { $$ = $1; } -; - -non_empty_global_var_list: - non_empty_global_var_list ',' global_var { push($1, $3); } - | global_var { init($1); } -; - -global_var: - simple_variable { $$ = Expr\Variable[$1]; } -; - -static_var_list: - non_empty_static_var_list no_comma { $$ = $1; } -; - -non_empty_static_var_list: - non_empty_static_var_list ',' static_var { push($1, $3); } - | static_var { init($1); } -; - -static_var: - plain_variable { $$ = Stmt\StaticVar[$1, null]; } - | plain_variable '=' expr { $$ = Stmt\StaticVar[$1, $3]; } -; - -class_statement_list_ex: - class_statement_list_ex class_statement { if ($2 !== null) { push($1, $2); } } - | /* empty */ { init(); } -; - -class_statement_list: - class_statement_list_ex - { makeZeroLengthNop($nop, $this->lookaheadStartAttributes); - if ($nop !== null) { $1[] = $nop; } $$ = $1; } -; - -class_statement: - variable_modifiers optional_type property_declaration_list ';' - { $attrs = attributes(); - $$ = new Stmt\Property($1, $3, $attrs, $2); $this->checkProperty($$, #1); } - | method_modifiers T_CONST class_const_list ';' - { $$ = Stmt\ClassConst[$3, $1]; $this->checkClassConst($$, #1); } - | method_modifiers T_FUNCTION optional_ref identifier_ex '(' parameter_list ')' optional_return_type method_body - { $$ = Stmt\ClassMethod[$4, ['type' => $1, 'byRef' => $3, 'params' => $6, 'returnType' => $8, 'stmts' => $9]]; - $this->checkClassMethod($$, #1); } - | T_USE class_name_list trait_adaptations { $$ = Stmt\TraitUse[$2, $3]; } - | error { $$ = null; /* will be skipped */ } -; - -trait_adaptations: - ';' { $$ = array(); } - | '{' trait_adaptation_list '}' { $$ = $2; } -; - -trait_adaptation_list: - /* empty */ { init(); } - | trait_adaptation_list trait_adaptation { push($1, $2); } -; - -trait_adaptation: - trait_method_reference_fully_qualified T_INSTEADOF class_name_list ';' - { $$ = Stmt\TraitUseAdaptation\Precedence[$1[0], $1[1], $3]; } - | trait_method_reference T_AS member_modifier identifier_ex ';' - { $$ = Stmt\TraitUseAdaptation\Alias[$1[0], $1[1], $3, $4]; } - | trait_method_reference T_AS member_modifier ';' - { $$ = Stmt\TraitUseAdaptation\Alias[$1[0], $1[1], $3, null]; } - | trait_method_reference T_AS identifier ';' - { $$ = Stmt\TraitUseAdaptation\Alias[$1[0], $1[1], null, $3]; } - | trait_method_reference T_AS reserved_non_modifiers_identifier ';' - { $$ = Stmt\TraitUseAdaptation\Alias[$1[0], $1[1], null, $3]; } -; - -trait_method_reference_fully_qualified: - name T_PAAMAYIM_NEKUDOTAYIM identifier_ex { $$ = array($1, $3); } -; -trait_method_reference: - trait_method_reference_fully_qualified { $$ = $1; } - | identifier_ex { $$ = array(null, $1); } -; - -method_body: - ';' /* abstract method */ { $$ = null; } - | block_or_error { $$ = $1; } -; - -variable_modifiers: - non_empty_member_modifiers { $$ = $1; } - | T_VAR { $$ = 0; } -; - -method_modifiers: - /* empty */ { $$ = 0; } - | non_empty_member_modifiers { $$ = $1; } -; - -non_empty_member_modifiers: - member_modifier { $$ = $1; } - | non_empty_member_modifiers member_modifier { $this->checkModifier($1, $2, #2); $$ = $1 | $2; } -; - -member_modifier: - T_PUBLIC { $$ = Stmt\Class_::MODIFIER_PUBLIC; } - | T_PROTECTED { $$ = Stmt\Class_::MODIFIER_PROTECTED; } - | T_PRIVATE { $$ = Stmt\Class_::MODIFIER_PRIVATE; } - | T_STATIC { $$ = Stmt\Class_::MODIFIER_STATIC; } - | T_ABSTRACT { $$ = Stmt\Class_::MODIFIER_ABSTRACT; } - | T_FINAL { $$ = Stmt\Class_::MODIFIER_FINAL; } -; - -property_declaration_list: - non_empty_property_declaration_list no_comma { $$ = $1; } -; - -non_empty_property_declaration_list: - property_declaration { init($1); } - | non_empty_property_declaration_list ',' property_declaration - { push($1, $3); } -; - -property_decl_name: - T_VARIABLE { $$ = Node\VarLikeIdentifier[parseVar($1)]; } -; - -property_declaration: - property_decl_name { $$ = Stmt\PropertyProperty[$1, null]; } - | property_decl_name '=' expr { $$ = Stmt\PropertyProperty[$1, $3]; } -; - -expr_list: - non_empty_expr_list no_comma { $$ = $1; } -; - -non_empty_expr_list: - non_empty_expr_list ',' expr { push($1, $3); } - | expr { init($1); } -; - -for_expr: - /* empty */ { $$ = array(); } - | expr_list { $$ = $1; } -; - -expr: - variable { $$ = $1; } - | list_expr '=' expr { $$ = Expr\Assign[$1, $3]; } - | array_short_syntax '=' expr { $$ = Expr\Assign[$1, $3]; } - | variable '=' expr { $$ = Expr\Assign[$1, $3]; } - | variable '=' '&' variable { $$ = Expr\AssignRef[$1, $4]; } - | new_expr { $$ = $1; } - | T_CLONE expr { $$ = Expr\Clone_[$2]; } - | variable T_PLUS_EQUAL expr { $$ = Expr\AssignOp\Plus [$1, $3]; } - | variable T_MINUS_EQUAL expr { $$ = Expr\AssignOp\Minus [$1, $3]; } - | variable T_MUL_EQUAL expr { $$ = Expr\AssignOp\Mul [$1, $3]; } - | variable T_DIV_EQUAL expr { $$ = Expr\AssignOp\Div [$1, $3]; } - | variable T_CONCAT_EQUAL expr { $$ = Expr\AssignOp\Concat [$1, $3]; } - | variable T_MOD_EQUAL expr { $$ = Expr\AssignOp\Mod [$1, $3]; } - | variable T_AND_EQUAL expr { $$ = Expr\AssignOp\BitwiseAnd[$1, $3]; } - | variable T_OR_EQUAL expr { $$ = Expr\AssignOp\BitwiseOr [$1, $3]; } - | variable T_XOR_EQUAL expr { $$ = Expr\AssignOp\BitwiseXor[$1, $3]; } - | variable T_SL_EQUAL expr { $$ = Expr\AssignOp\ShiftLeft [$1, $3]; } - | variable T_SR_EQUAL expr { $$ = Expr\AssignOp\ShiftRight[$1, $3]; } - | variable T_POW_EQUAL expr { $$ = Expr\AssignOp\Pow [$1, $3]; } - | variable T_COALESCE_EQUAL expr { $$ = Expr\AssignOp\Coalesce [$1, $3]; } - | variable T_INC { $$ = Expr\PostInc[$1]; } - | T_INC variable { $$ = Expr\PreInc [$2]; } - | variable T_DEC { $$ = Expr\PostDec[$1]; } - | T_DEC variable { $$ = Expr\PreDec [$2]; } - | expr T_BOOLEAN_OR expr { $$ = Expr\BinaryOp\BooleanOr [$1, $3]; } - | expr T_BOOLEAN_AND expr { $$ = Expr\BinaryOp\BooleanAnd[$1, $3]; } - | expr T_LOGICAL_OR expr { $$ = Expr\BinaryOp\LogicalOr [$1, $3]; } - | expr T_LOGICAL_AND expr { $$ = Expr\BinaryOp\LogicalAnd[$1, $3]; } - | expr T_LOGICAL_XOR expr { $$ = Expr\BinaryOp\LogicalXor[$1, $3]; } - | expr '|' expr { $$ = Expr\BinaryOp\BitwiseOr [$1, $3]; } - | expr '&' expr { $$ = Expr\BinaryOp\BitwiseAnd[$1, $3]; } - | expr '^' expr { $$ = Expr\BinaryOp\BitwiseXor[$1, $3]; } - | expr '.' expr { $$ = Expr\BinaryOp\Concat [$1, $3]; } - | expr '+' expr { $$ = Expr\BinaryOp\Plus [$1, $3]; } - | expr '-' expr { $$ = Expr\BinaryOp\Minus [$1, $3]; } - | expr '*' expr { $$ = Expr\BinaryOp\Mul [$1, $3]; } - | expr '/' expr { $$ = Expr\BinaryOp\Div [$1, $3]; } - | expr '%' expr { $$ = Expr\BinaryOp\Mod [$1, $3]; } - | expr T_SL expr { $$ = Expr\BinaryOp\ShiftLeft [$1, $3]; } - | expr T_SR expr { $$ = Expr\BinaryOp\ShiftRight[$1, $3]; } - | expr T_POW expr { $$ = Expr\BinaryOp\Pow [$1, $3]; } - | '+' expr %prec T_INC { $$ = Expr\UnaryPlus [$2]; } - | '-' expr %prec T_INC { $$ = Expr\UnaryMinus[$2]; } - | '!' expr { $$ = Expr\BooleanNot[$2]; } - | '~' expr { $$ = Expr\BitwiseNot[$2]; } - | expr T_IS_IDENTICAL expr { $$ = Expr\BinaryOp\Identical [$1, $3]; } - | expr T_IS_NOT_IDENTICAL expr { $$ = Expr\BinaryOp\NotIdentical [$1, $3]; } - | expr T_IS_EQUAL expr { $$ = Expr\BinaryOp\Equal [$1, $3]; } - | expr T_IS_NOT_EQUAL expr { $$ = Expr\BinaryOp\NotEqual [$1, $3]; } - | expr T_SPACESHIP expr { $$ = Expr\BinaryOp\Spaceship [$1, $3]; } - | expr '<' expr { $$ = Expr\BinaryOp\Smaller [$1, $3]; } - | expr T_IS_SMALLER_OR_EQUAL expr { $$ = Expr\BinaryOp\SmallerOrEqual[$1, $3]; } - | expr '>' expr { $$ = Expr\BinaryOp\Greater [$1, $3]; } - | expr T_IS_GREATER_OR_EQUAL expr { $$ = Expr\BinaryOp\GreaterOrEqual[$1, $3]; } - | expr T_INSTANCEOF class_name_reference { $$ = Expr\Instanceof_[$1, $3]; } - | '(' expr ')' { $$ = $2; } - | expr '?' expr ':' expr { $$ = Expr\Ternary[$1, $3, $5]; } - | expr '?' ':' expr { $$ = Expr\Ternary[$1, null, $4]; } - | expr T_COALESCE expr { $$ = Expr\BinaryOp\Coalesce[$1, $3]; } - | T_ISSET '(' variables_list ')' { $$ = Expr\Isset_[$3]; } - | T_EMPTY '(' expr ')' { $$ = Expr\Empty_[$3]; } - | T_INCLUDE expr { $$ = Expr\Include_[$2, Expr\Include_::TYPE_INCLUDE]; } - | T_INCLUDE_ONCE expr { $$ = Expr\Include_[$2, Expr\Include_::TYPE_INCLUDE_ONCE]; } - | T_EVAL '(' expr ')' { $$ = Expr\Eval_[$3]; } - | T_REQUIRE expr { $$ = Expr\Include_[$2, Expr\Include_::TYPE_REQUIRE]; } - | T_REQUIRE_ONCE expr { $$ = Expr\Include_[$2, Expr\Include_::TYPE_REQUIRE_ONCE]; } - | T_INT_CAST expr { $$ = Expr\Cast\Int_ [$2]; } - | T_DOUBLE_CAST expr - { $attrs = attributes(); - $attrs['kind'] = $this->getFloatCastKind($1); - $$ = new Expr\Cast\Double($2, $attrs); } - | T_STRING_CAST expr { $$ = Expr\Cast\String_ [$2]; } - | T_ARRAY_CAST expr { $$ = Expr\Cast\Array_ [$2]; } - | T_OBJECT_CAST expr { $$ = Expr\Cast\Object_ [$2]; } - | T_BOOL_CAST expr { $$ = Expr\Cast\Bool_ [$2]; } - | T_UNSET_CAST expr { $$ = Expr\Cast\Unset_ [$2]; } - | T_EXIT exit_expr - { $attrs = attributes(); - $attrs['kind'] = strtolower($1) === 'exit' ? Expr\Exit_::KIND_EXIT : Expr\Exit_::KIND_DIE; - $$ = new Expr\Exit_($2, $attrs); } - | '@' expr { $$ = Expr\ErrorSuppress[$2]; } - | scalar { $$ = $1; } - | '`' backticks_expr '`' { $$ = Expr\ShellExec[$2]; } - | T_PRINT expr { $$ = Expr\Print_[$2]; } - | T_YIELD { $$ = Expr\Yield_[null, null]; } - | T_YIELD expr { $$ = Expr\Yield_[$2, null]; } - | T_YIELD expr T_DOUBLE_ARROW expr { $$ = Expr\Yield_[$4, $2]; } - | T_YIELD_FROM expr { $$ = Expr\YieldFrom[$2]; } - - | T_FN optional_ref '(' parameter_list ')' optional_return_type T_DOUBLE_ARROW expr - { $$ = Expr\ArrowFunction[['static' => false, 'byRef' => $2, 'params' => $4, 'returnType' => $6, 'expr' => $8]]; } - | T_STATIC T_FN optional_ref '(' parameter_list ')' optional_return_type T_DOUBLE_ARROW expr - { $$ = Expr\ArrowFunction[['static' => true, 'byRef' => $3, 'params' => $5, 'returnType' => $7, 'expr' => $9]]; } - - | T_FUNCTION optional_ref '(' parameter_list ')' lexical_vars optional_return_type - block_or_error - { $$ = Expr\Closure[['static' => false, 'byRef' => $2, 'params' => $4, 'uses' => $6, 'returnType' => $7, 'stmts' => $8]]; } - | T_STATIC T_FUNCTION optional_ref '(' parameter_list ')' lexical_vars optional_return_type - block_or_error - { $$ = Expr\Closure[['static' => true, 'byRef' => $3, 'params' => $5, 'uses' => $7, 'returnType' => $8, 'stmts' => $9]]; } -; - -anonymous_class: - T_CLASS ctor_arguments extends_from implements_list '{' class_statement_list '}' - { $$ = array(Stmt\Class_[null, ['type' => 0, 'extends' => $3, 'implements' => $4, 'stmts' => $6]], $2); - $this->checkClass($$[0], -1); } -; - -new_expr: - T_NEW class_name_reference ctor_arguments { $$ = Expr\New_[$2, $3]; } - | T_NEW anonymous_class - { list($class, $ctorArgs) = $2; $$ = Expr\New_[$class, $ctorArgs]; } -; - -lexical_vars: - /* empty */ { $$ = array(); } - | T_USE '(' lexical_var_list ')' { $$ = $3; } -; - -lexical_var_list: - non_empty_lexical_var_list no_comma { $$ = $1; } -; - -non_empty_lexical_var_list: - lexical_var { init($1); } - | non_empty_lexical_var_list ',' lexical_var { push($1, $3); } -; - -lexical_var: - optional_ref plain_variable { $$ = Expr\ClosureUse[$2, $1]; } -; - -function_call: - name argument_list { $$ = Expr\FuncCall[$1, $2]; } - | callable_expr argument_list { $$ = Expr\FuncCall[$1, $2]; } - | class_name_or_var T_PAAMAYIM_NEKUDOTAYIM member_name argument_list - { $$ = Expr\StaticCall[$1, $3, $4]; } -; - -class_name: - T_STATIC { $$ = Name[$1]; } - | name { $$ = $1; } -; - -name: - namespace_name_parts { $$ = Name[$1]; } - | T_NS_SEPARATOR namespace_name_parts { $$ = Name\FullyQualified[$2]; } - | T_NAMESPACE T_NS_SEPARATOR namespace_name_parts { $$ = Name\Relative[$3]; } -; - -class_name_reference: - class_name { $$ = $1; } - | new_variable { $$ = $1; } - | error { $$ = Expr\Error[]; $this->errorState = 2; } -; - -class_name_or_var: - class_name { $$ = $1; } - | dereferencable { $$ = $1; } -; - -exit_expr: - /* empty */ { $$ = null; } - | '(' optional_expr ')' { $$ = $2; } -; - -backticks_expr: - /* empty */ { $$ = array(); } - | T_ENCAPSED_AND_WHITESPACE - { $$ = array(Scalar\EncapsedStringPart[Scalar\String_::parseEscapeSequences($1, '`')]); } - | encaps_list { parseEncapsed($1, '`', true); $$ = $1; } -; - -ctor_arguments: - /* empty */ { $$ = array(); } - | argument_list { $$ = $1; } -; - -constant: - name { $$ = Expr\ConstFetch[$1]; } - | class_name_or_var T_PAAMAYIM_NEKUDOTAYIM identifier_ex - { $$ = Expr\ClassConstFetch[$1, $3]; } - /* We interpret and isolated FOO:: as an unfinished class constant fetch. It could also be - an unfinished static property fetch or unfinished scoped call. */ - | class_name_or_var T_PAAMAYIM_NEKUDOTAYIM error - { $$ = Expr\ClassConstFetch[$1, new Expr\Error(stackAttributes(#3))]; $this->errorState = 2; } -; - -array_short_syntax: - '[' array_pair_list ']' - { $attrs = attributes(); $attrs['kind'] = Expr\Array_::KIND_SHORT; - $$ = new Expr\Array_($2, $attrs); } -; - -dereferencable_scalar: - T_ARRAY '(' array_pair_list ')' - { $attrs = attributes(); $attrs['kind'] = Expr\Array_::KIND_LONG; - $$ = new Expr\Array_($3, $attrs); } - | array_short_syntax { $$ = $1; } - | T_CONSTANT_ENCAPSED_STRING - { $attrs = attributes(); $attrs['kind'] = strKind($1); - $$ = new Scalar\String_(Scalar\String_::parse($1), $attrs); } -; - -scalar: - T_LNUMBER { $$ = $this->parseLNumber($1, attributes()); } - | T_DNUMBER { $$ = Scalar\DNumber[Scalar\DNumber::parse($1)]; } - | T_LINE { $$ = Scalar\MagicConst\Line[]; } - | T_FILE { $$ = Scalar\MagicConst\File[]; } - | T_DIR { $$ = Scalar\MagicConst\Dir[]; } - | T_CLASS_C { $$ = Scalar\MagicConst\Class_[]; } - | T_TRAIT_C { $$ = Scalar\MagicConst\Trait_[]; } - | T_METHOD_C { $$ = Scalar\MagicConst\Method[]; } - | T_FUNC_C { $$ = Scalar\MagicConst\Function_[]; } - | T_NS_C { $$ = Scalar\MagicConst\Namespace_[]; } - | dereferencable_scalar { $$ = $1; } - | constant { $$ = $1; } - | T_START_HEREDOC T_ENCAPSED_AND_WHITESPACE T_END_HEREDOC - { $$ = $this->parseDocString($1, $2, $3, attributes(), stackAttributes(#3), true); } - | T_START_HEREDOC T_END_HEREDOC - { $$ = $this->parseDocString($1, '', $2, attributes(), stackAttributes(#2), true); } - | '"' encaps_list '"' - { $attrs = attributes(); $attrs['kind'] = Scalar\String_::KIND_DOUBLE_QUOTED; - parseEncapsed($2, '"', true); $$ = new Scalar\Encapsed($2, $attrs); } - | T_START_HEREDOC encaps_list T_END_HEREDOC - { $$ = $this->parseDocString($1, $2, $3, attributes(), stackAttributes(#3), true); } -; - -optional_expr: - /* empty */ { $$ = null; } - | expr { $$ = $1; } -; - -dereferencable: - variable { $$ = $1; } - | '(' expr ')' { $$ = $2; } - | dereferencable_scalar { $$ = $1; } -; - -callable_expr: - callable_variable { $$ = $1; } - | '(' expr ')' { $$ = $2; } - | dereferencable_scalar { $$ = $1; } -; - -callable_variable: - simple_variable { $$ = Expr\Variable[$1]; } - | dereferencable '[' optional_expr ']' { $$ = Expr\ArrayDimFetch[$1, $3]; } - | constant '[' optional_expr ']' { $$ = Expr\ArrayDimFetch[$1, $3]; } - | dereferencable '{' expr '}' { $$ = Expr\ArrayDimFetch[$1, $3]; } - | function_call { $$ = $1; } - | dereferencable T_OBJECT_OPERATOR property_name argument_list - { $$ = Expr\MethodCall[$1, $3, $4]; } -; - -variable: - callable_variable { $$ = $1; } - | static_member { $$ = $1; } - | dereferencable T_OBJECT_OPERATOR property_name { $$ = Expr\PropertyFetch[$1, $3]; } -; - -simple_variable: - T_VARIABLE { $$ = parseVar($1); } - | '$' '{' expr '}' { $$ = $3; } - | '$' simple_variable { $$ = Expr\Variable[$2]; } - | '$' error { $$ = Expr\Error[]; $this->errorState = 2; } -; - -static_member_prop_name: - simple_variable - { $var = $1; $$ = \is_string($var) ? Node\VarLikeIdentifier[$var] : $var; } -; - -static_member: - class_name_or_var T_PAAMAYIM_NEKUDOTAYIM static_member_prop_name - { $$ = Expr\StaticPropertyFetch[$1, $3]; } -; - -new_variable: - simple_variable { $$ = Expr\Variable[$1]; } - | new_variable '[' optional_expr ']' { $$ = Expr\ArrayDimFetch[$1, $3]; } - | new_variable '{' expr '}' { $$ = Expr\ArrayDimFetch[$1, $3]; } - | new_variable T_OBJECT_OPERATOR property_name { $$ = Expr\PropertyFetch[$1, $3]; } - | class_name T_PAAMAYIM_NEKUDOTAYIM static_member_prop_name - { $$ = Expr\StaticPropertyFetch[$1, $3]; } - | new_variable T_PAAMAYIM_NEKUDOTAYIM static_member_prop_name - { $$ = Expr\StaticPropertyFetch[$1, $3]; } -; - -member_name: - identifier_ex { $$ = $1; } - | '{' expr '}' { $$ = $2; } - | simple_variable { $$ = Expr\Variable[$1]; } -; - -property_name: - identifier { $$ = $1; } - | '{' expr '}' { $$ = $2; } - | simple_variable { $$ = Expr\Variable[$1]; } - | error { $$ = Expr\Error[]; $this->errorState = 2; } -; - -list_expr: - T_LIST '(' list_expr_elements ')' { $$ = Expr\List_[$3]; } -; - -list_expr_elements: - list_expr_elements ',' list_expr_element { push($1, $3); } - | list_expr_element { init($1); } -; - -list_expr_element: - variable { $$ = Expr\ArrayItem[$1, null, false]; } - | '&' variable { $$ = Expr\ArrayItem[$2, null, true]; } - | list_expr { $$ = Expr\ArrayItem[$1, null, false]; } - | expr T_DOUBLE_ARROW variable { $$ = Expr\ArrayItem[$3, $1, false]; } - | expr T_DOUBLE_ARROW '&' variable { $$ = Expr\ArrayItem[$4, $1, true]; } - | expr T_DOUBLE_ARROW list_expr { $$ = Expr\ArrayItem[$3, $1, false]; } - | /* empty */ { $$ = null; } -; - -array_pair_list: - inner_array_pair_list - { $$ = $1; $end = count($$)-1; if ($$[$end] === null) array_pop($$); } -; - -comma_or_error: - ',' - | error - { /* do nothing -- prevent default action of $$=$1. See #551. */ } -; - -inner_array_pair_list: - inner_array_pair_list comma_or_error array_pair { push($1, $3); } - | array_pair { init($1); } -; - -array_pair: - expr T_DOUBLE_ARROW expr { $$ = Expr\ArrayItem[$3, $1, false]; } - | expr { $$ = Expr\ArrayItem[$1, null, false]; } - | expr T_DOUBLE_ARROW '&' variable { $$ = Expr\ArrayItem[$4, $1, true]; } - | '&' variable { $$ = Expr\ArrayItem[$2, null, true]; } - | T_ELLIPSIS expr { $$ = Expr\ArrayItem[$2, null, false, attributes(), true]; } - | /* empty */ { $$ = null; } -; - -encaps_list: - encaps_list encaps_var { push($1, $2); } - | encaps_list encaps_string_part { push($1, $2); } - | encaps_var { init($1); } - | encaps_string_part encaps_var { init($1, $2); } -; - -encaps_string_part: - T_ENCAPSED_AND_WHITESPACE { $$ = Scalar\EncapsedStringPart[$1]; } -; - -encaps_str_varname: - T_STRING_VARNAME { $$ = Expr\Variable[$1]; } -; - -encaps_var: - plain_variable { $$ = $1; } - | plain_variable '[' encaps_var_offset ']' { $$ = Expr\ArrayDimFetch[$1, $3]; } - | plain_variable T_OBJECT_OPERATOR identifier { $$ = Expr\PropertyFetch[$1, $3]; } - | T_DOLLAR_OPEN_CURLY_BRACES expr '}' { $$ = Expr\Variable[$2]; } - | T_DOLLAR_OPEN_CURLY_BRACES T_STRING_VARNAME '}' { $$ = Expr\Variable[$2]; } - | T_DOLLAR_OPEN_CURLY_BRACES encaps_str_varname '[' expr ']' '}' - { $$ = Expr\ArrayDimFetch[$2, $4]; } - | T_CURLY_OPEN variable '}' { $$ = $2; } -; - -encaps_var_offset: - T_STRING { $$ = Scalar\String_[$1]; } - | T_NUM_STRING { $$ = $this->parseNumString($1, attributes()); } - | '-' T_NUM_STRING { $$ = $this->parseNumString('-' . $2, attributes()); } - | plain_variable { $$ = $1; } -; - -%% diff --git a/paragonik-backend/vendor/nikic/php-parser/grammar/rebuildParsers.php b/paragonik-backend/vendor/nikic/php-parser/grammar/rebuildParsers.php deleted file mode 100644 index c36699c..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/grammar/rebuildParsers.php +++ /dev/null @@ -1,261 +0,0 @@ - 'Php5', - __DIR__ . '/php7.y' => 'Php7', -]; - -$tokensFile = __DIR__ . '/tokens.y'; -$tokensTemplate = __DIR__ . '/tokens.template'; -$skeletonFile = __DIR__ . '/parser.template'; -$tmpGrammarFile = __DIR__ . '/tmp_parser.phpy'; -$tmpResultFile = __DIR__ . '/tmp_parser.php'; -$resultDir = __DIR__ . '/../lib/PhpParser/Parser'; -$tokensResultsFile = $resultDir . '/Tokens.php'; - -$kmyacc = getenv('KMYACC'); -if (!$kmyacc) { - // Use phpyacc from dev dependencies by default. - $kmyacc = PHP_BINARY . ' ' . __DIR__ . '/../vendor/bin/phpyacc'; -} - -$options = array_flip($argv); -$optionDebug = isset($options['--debug']); -$optionKeepTmpGrammar = isset($options['--keep-tmp-grammar']); - -/////////////////////////////// -/// Utility regex constants /// -/////////////////////////////// - -const LIB = '(?(DEFINE) - (?\'[^\\\\\']*+(?:\\\\.[^\\\\\']*+)*+\') - (?"[^\\\\"]*+(?:\\\\.[^\\\\"]*+)*+") - (?(?&singleQuotedString)|(?&doubleQuotedString)) - (?/\*[^*]*+(?:\*(?!/)[^*]*+)*+\*/) - (?\{[^\'"/{}]*+(?:(?:(?&string)|(?&comment)|(?&code)|/)[^\'"/{}]*+)*+}) -)'; - -const PARAMS = '\[(?[^[\]]*+(?:\[(?¶ms)\][^[\]]*+)*+)\]'; -const ARGS = '\((?[^()]*+(?:\((?&args)\)[^()]*+)*+)\)'; - -/////////////////// -/// Main script /// -/////////////////// - -$tokens = file_get_contents($tokensFile); - -foreach ($grammarFileToName as $grammarFile => $name) { - echo "Building temporary $name grammar file.\n"; - - $grammarCode = file_get_contents($grammarFile); - $grammarCode = str_replace('%tokens', $tokens, $grammarCode); - - $grammarCode = resolveNodes($grammarCode); - $grammarCode = resolveMacros($grammarCode); - $grammarCode = resolveStackAccess($grammarCode); - - file_put_contents($tmpGrammarFile, $grammarCode); - - $additionalArgs = $optionDebug ? '-t -v' : ''; - - echo "Building $name parser.\n"; - $output = execCmd("$kmyacc $additionalArgs -m $skeletonFile -p $name $tmpGrammarFile"); - - $resultCode = file_get_contents($tmpResultFile); - $resultCode = removeTrailingWhitespace($resultCode); - - ensureDirExists($resultDir); - file_put_contents("$resultDir/$name.php", $resultCode); - unlink($tmpResultFile); - - echo "Building token definition.\n"; - $output = execCmd("$kmyacc -m $tokensTemplate $tmpGrammarFile"); - rename($tmpResultFile, $tokensResultsFile); - - if (!$optionKeepTmpGrammar) { - unlink($tmpGrammarFile); - } -} - -/////////////////////////////// -/// Preprocessing functions /// -/////////////////////////////// - -function resolveNodes($code) { - return preg_replace_callback( - '~\b(?[A-Z][a-zA-Z_\\\\]++)\s*' . PARAMS . '~', - function($matches) { - // recurse - $matches['params'] = resolveNodes($matches['params']); - - $params = magicSplit( - '(?:' . PARAMS . '|' . ARGS . ')(*SKIP)(*FAIL)|,', - $matches['params'] - ); - - $paramCode = ''; - foreach ($params as $param) { - $paramCode .= $param . ', '; - } - - return 'new ' . $matches['name'] . '(' . $paramCode . 'attributes())'; - }, - $code - ); -} - -function resolveMacros($code) { - return preg_replace_callback( - '~\b(?)(?!array\()(?[a-z][A-Za-z]++)' . ARGS . '~', - function($matches) { - // recurse - $matches['args'] = resolveMacros($matches['args']); - - $name = $matches['name']; - $args = magicSplit( - '(?:' . PARAMS . '|' . ARGS . ')(*SKIP)(*FAIL)|,', - $matches['args'] - ); - - if ('attributes' == $name) { - assertArgs(0, $args, $name); - return '$this->startAttributeStack[#1] + $this->endAttributes'; - } - - if ('stackAttributes' == $name) { - assertArgs(1, $args, $name); - return '$this->startAttributeStack[' . $args[0] . ']' - . ' + $this->endAttributeStack[' . $args[0] . ']'; - } - - if ('init' == $name) { - return '$$ = array(' . implode(', ', $args) . ')'; - } - - if ('push' == $name) { - assertArgs(2, $args, $name); - - return $args[0] . '[] = ' . $args[1] . '; $$ = ' . $args[0]; - } - - if ('pushNormalizing' == $name) { - assertArgs(2, $args, $name); - - return 'if (is_array(' . $args[1] . ')) { $$ = array_merge(' . $args[0] . ', ' . $args[1] . '); }' - . ' else { ' . $args[0] . '[] = ' . $args[1] . '; $$ = ' . $args[0] . '; }'; - } - - if ('toArray' == $name) { - assertArgs(1, $args, $name); - - return 'is_array(' . $args[0] . ') ? ' . $args[0] . ' : array(' . $args[0] . ')'; - } - - if ('parseVar' == $name) { - assertArgs(1, $args, $name); - - return 'substr(' . $args[0] . ', 1)'; - } - - if ('parseEncapsed' == $name) { - assertArgs(3, $args, $name); - - return 'foreach (' . $args[0] . ' as $s) { if ($s instanceof Node\Scalar\EncapsedStringPart) {' - . ' $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, ' . $args[1] . ', ' . $args[2] . '); } }'; - } - - if ('makeNop' == $name) { - assertArgs(3, $args, $name); - - return '$startAttributes = ' . $args[1] . ';' - . ' if (isset($startAttributes[\'comments\']))' - . ' { ' . $args[0] . ' = new Stmt\Nop($startAttributes + ' . $args[2] . '); }' - . ' else { ' . $args[0] . ' = null; }'; - } - - if ('makeZeroLengthNop' == $name) { - assertArgs(2, $args, $name); - - return '$startAttributes = ' . $args[1] . ';' - . ' if (isset($startAttributes[\'comments\']))' - . ' { ' . $args[0] . ' = new Stmt\Nop($this->createZeroLengthAttributes($startAttributes)); }' - . ' else { ' . $args[0] . ' = null; }'; - } - - if ('strKind' == $name) { - assertArgs(1, $args, $name); - - return '(' . $args[0] . '[0] === "\'" || (' . $args[0] . '[1] === "\'" && ' - . '(' . $args[0] . '[0] === \'b\' || ' . $args[0] . '[0] === \'B\')) ' - . '? Scalar\String_::KIND_SINGLE_QUOTED : Scalar\String_::KIND_DOUBLE_QUOTED)'; - } - - if ('prependLeadingComments' == $name) { - assertArgs(1, $args, $name); - - return '$attrs = $this->startAttributeStack[#1]; $stmts = ' . $args[0] . '; ' - . 'if (!empty($attrs[\'comments\'])) {' - . '$stmts[0]->setAttribute(\'comments\', ' - . 'array_merge($attrs[\'comments\'], $stmts[0]->getAttribute(\'comments\', []))); }'; - } - - return $matches[0]; - }, - $code - ); -} - -function assertArgs($num, $args, $name) { - if ($num != count($args)) { - die('Wrong argument count for ' . $name . '().'); - } -} - -function resolveStackAccess($code) { - $code = preg_replace('/\$\d+/', '$this->semStack[$0]', $code); - $code = preg_replace('/#(\d+)/', '$$1', $code); - return $code; -} - -function removeTrailingWhitespace($code) { - $lines = explode("\n", $code); - $lines = array_map('rtrim', $lines); - return implode("\n", $lines); -} - -function ensureDirExists($dir) { - if (!is_dir($dir)) { - mkdir($dir, 0777, true); - } -} - -function execCmd($cmd) { - $output = trim(shell_exec("$cmd 2>&1")); - if ($output !== "") { - echo "> " . $cmd . "\n"; - echo $output; - } - return $output; -} - -////////////////////////////// -/// Regex helper functions /// -////////////////////////////// - -function regex($regex) { - return '~' . LIB . '(?:' . str_replace('~', '\~', $regex) . ')~'; -} - -function magicSplit($regex, $string) { - $pieces = preg_split(regex('(?:(?&string)|(?&comment)|(?&code))(*SKIP)(*FAIL)|' . $regex), $string); - - foreach ($pieces as &$piece) { - $piece = trim($piece); - } - - if ($pieces === ['']) { - return []; - } - - return $pieces; -} diff --git a/paragonik-backend/vendor/nikic/php-parser/grammar/tokens.template b/paragonik-backend/vendor/nikic/php-parser/grammar/tokens.template deleted file mode 100644 index ba4e490..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/grammar/tokens.template +++ /dev/null @@ -1,17 +0,0 @@ -semValue -#semval($,%t) $this->semValue -#semval(%n) $this->stackPos-(%l-%n) -#semval(%n,%t) $this->stackPos-(%l-%n) - -namespace PhpParser\Parser; -#include; - -/* GENERATED file based on grammar/tokens.y */ -final class Tokens -{ -#tokenval - const %s = %n; -#endtokenval -} diff --git a/paragonik-backend/vendor/nikic/php-parser/grammar/tokens.y b/paragonik-backend/vendor/nikic/php-parser/grammar/tokens.y deleted file mode 100644 index dd83a6f..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/grammar/tokens.y +++ /dev/null @@ -1,114 +0,0 @@ -/* We currently rely on the token ID mapping to be the same between PHP 5 and PHP 7 - so the same lexer can be used for - * both. This is enforced by sharing this token file. */ - -%left T_INCLUDE T_INCLUDE_ONCE T_EVAL T_REQUIRE T_REQUIRE_ONCE -%left ',' -%left T_LOGICAL_OR -%left T_LOGICAL_XOR -%left T_LOGICAL_AND -%right T_PRINT -%right T_YIELD -%right T_DOUBLE_ARROW -%right T_YIELD_FROM -%left '=' T_PLUS_EQUAL T_MINUS_EQUAL T_MUL_EQUAL T_DIV_EQUAL T_CONCAT_EQUAL T_MOD_EQUAL T_AND_EQUAL T_OR_EQUAL T_XOR_EQUAL T_SL_EQUAL T_SR_EQUAL T_POW_EQUAL T_COALESCE_EQUAL -%left '?' ':' -%right T_COALESCE -%left T_BOOLEAN_OR -%left T_BOOLEAN_AND -%left '|' -%left '^' -%left '&' -%nonassoc T_IS_EQUAL T_IS_NOT_EQUAL T_IS_IDENTICAL T_IS_NOT_IDENTICAL T_SPACESHIP -%nonassoc '<' T_IS_SMALLER_OR_EQUAL '>' T_IS_GREATER_OR_EQUAL -%left T_SL T_SR -%left '+' '-' '.' -%left '*' '/' '%' -%right '!' -%nonassoc T_INSTANCEOF -%right '~' T_INC T_DEC T_INT_CAST T_DOUBLE_CAST T_STRING_CAST T_ARRAY_CAST T_OBJECT_CAST T_BOOL_CAST T_UNSET_CAST '@' -%right T_POW -%right '[' -%nonassoc T_NEW T_CLONE -%token T_EXIT -%token T_IF -%left T_ELSEIF -%left T_ELSE -%left T_ENDIF -%token T_LNUMBER -%token T_DNUMBER -%token T_STRING -%token T_STRING_VARNAME -%token T_VARIABLE -%token T_NUM_STRING -%token T_INLINE_HTML -%token T_CHARACTER -%token T_BAD_CHARACTER -%token T_ENCAPSED_AND_WHITESPACE -%token T_CONSTANT_ENCAPSED_STRING -%token T_ECHO -%token T_DO -%token T_WHILE -%token T_ENDWHILE -%token T_FOR -%token T_ENDFOR -%token T_FOREACH -%token T_ENDFOREACH -%token T_DECLARE -%token T_ENDDECLARE -%token T_AS -%token T_SWITCH -%token T_ENDSWITCH -%token T_CASE -%token T_DEFAULT -%token T_BREAK -%token T_CONTINUE -%token T_GOTO -%token T_FUNCTION -%token T_FN -%token T_CONST -%token T_RETURN -%token T_TRY -%token T_CATCH -%token T_FINALLY -%token T_THROW -%token T_USE -%token T_INSTEADOF -%token T_GLOBAL -%right T_STATIC T_ABSTRACT T_FINAL T_PRIVATE T_PROTECTED T_PUBLIC -%token T_VAR -%token T_UNSET -%token T_ISSET -%token T_EMPTY -%token T_HALT_COMPILER -%token T_CLASS -%token T_TRAIT -%token T_INTERFACE -%token T_EXTENDS -%token T_IMPLEMENTS -%token T_OBJECT_OPERATOR -%token T_DOUBLE_ARROW -%token T_LIST -%token T_ARRAY -%token T_CALLABLE -%token T_CLASS_C -%token T_TRAIT_C -%token T_METHOD_C -%token T_FUNC_C -%token T_LINE -%token T_FILE -%token T_COMMENT -%token T_DOC_COMMENT -%token T_OPEN_TAG -%token T_OPEN_TAG_WITH_ECHO -%token T_CLOSE_TAG -%token T_WHITESPACE -%token T_START_HEREDOC -%token T_END_HEREDOC -%token T_DOLLAR_OPEN_CURLY_BRACES -%token T_CURLY_OPEN -%token T_PAAMAYIM_NEKUDOTAYIM -%token T_NAMESPACE -%token T_NS_C -%token T_DIR -%token T_NS_SEPARATOR -%token T_ELLIPSIS diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Builder.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Builder.php deleted file mode 100644 index 26d8921..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Builder.php +++ /dev/null @@ -1,13 +0,0 @@ -name = $name; - } - - /** - * Extends a class. - * - * @param Name|string $class Name of class to extend - * - * @return $this The builder instance (for fluid interface) - */ - public function extend($class) { - $this->extends = BuilderHelpers::normalizeName($class); - - return $this; - } - - /** - * Implements one or more interfaces. - * - * @param Name|string ...$interfaces Names of interfaces to implement - * - * @return $this The builder instance (for fluid interface) - */ - public function implement(...$interfaces) { - foreach ($interfaces as $interface) { - $this->implements[] = BuilderHelpers::normalizeName($interface); - } - - return $this; - } - - /** - * Makes the class abstract. - * - * @return $this The builder instance (for fluid interface) - */ - public function makeAbstract() { - $this->flags = BuilderHelpers::addModifier($this->flags, Stmt\Class_::MODIFIER_ABSTRACT); - - return $this; - } - - /** - * Makes the class final. - * - * @return $this The builder instance (for fluid interface) - */ - public function makeFinal() { - $this->flags = BuilderHelpers::addModifier($this->flags, Stmt\Class_::MODIFIER_FINAL); - - return $this; - } - - /** - * Adds a statement. - * - * @param Stmt|PhpParser\Builder $stmt The statement to add - * - * @return $this The builder instance (for fluid interface) - */ - public function addStmt($stmt) { - $stmt = BuilderHelpers::normalizeNode($stmt); - - $targets = [ - Stmt\TraitUse::class => &$this->uses, - Stmt\ClassConst::class => &$this->constants, - Stmt\Property::class => &$this->properties, - Stmt\ClassMethod::class => &$this->methods, - ]; - - $class = \get_class($stmt); - if (!isset($targets[$class])) { - throw new \LogicException(sprintf('Unexpected node of type "%s"', $stmt->getType())); - } - - $targets[$class][] = $stmt; - - return $this; - } - - /** - * Returns the built class node. - * - * @return Stmt\Class_ The built class node - */ - public function getNode() : PhpParser\Node { - return new Stmt\Class_($this->name, [ - 'flags' => $this->flags, - 'extends' => $this->extends, - 'implements' => $this->implements, - 'stmts' => array_merge($this->uses, $this->constants, $this->properties, $this->methods), - ], $this->attributes); - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Builder/Declaration.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Builder/Declaration.php deleted file mode 100644 index 8309499..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Builder/Declaration.php +++ /dev/null @@ -1,43 +0,0 @@ -addStmt($stmt); - } - - return $this; - } - - /** - * Sets doc comment for the declaration. - * - * @param PhpParser\Comment\Doc|string $docComment Doc comment to set - * - * @return $this The builder instance (for fluid interface) - */ - public function setDocComment($docComment) { - $this->attributes['comments'] = [ - BuilderHelpers::normalizeDocComment($docComment) - ]; - - return $this; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Builder/FunctionLike.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Builder/FunctionLike.php deleted file mode 100644 index 8e7db39..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Builder/FunctionLike.php +++ /dev/null @@ -1,74 +0,0 @@ -returnByRef = true; - - return $this; - } - - /** - * Adds a parameter. - * - * @param Node\Param|Param $param The parameter to add - * - * @return $this The builder instance (for fluid interface) - */ - public function addParam($param) { - $param = BuilderHelpers::normalizeNode($param); - - if (!$param instanceof Node\Param) { - throw new \LogicException(sprintf('Expected parameter node, got "%s"', $param->getType())); - } - - $this->params[] = $param; - - return $this; - } - - /** - * Adds multiple parameters. - * - * @param array $params The parameters to add - * - * @return $this The builder instance (for fluid interface) - */ - public function addParams(array $params) { - foreach ($params as $param) { - $this->addParam($param); - } - - return $this; - } - - /** - * Sets the return type for PHP 7. - * - * @param string|Node\Name|Node\NullableType $type One of array, callable, string, int, float, - * bool, iterable, or a class/interface name. - * - * @return $this The builder instance (for fluid interface) - */ - public function setReturnType($type) { - $this->returnType = BuilderHelpers::normalizeType($type); - - return $this; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Builder/Function_.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Builder/Function_.php deleted file mode 100644 index 56eda2a..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Builder/Function_.php +++ /dev/null @@ -1,50 +0,0 @@ -name = $name; - } - - /** - * Adds a statement. - * - * @param Node|PhpParser\Builder $stmt The statement to add - * - * @return $this The builder instance (for fluid interface) - */ - public function addStmt($stmt) { - $this->stmts[] = BuilderHelpers::normalizeStmt($stmt); - - return $this; - } - - /** - * Returns the built function node. - * - * @return Stmt\Function_ The built function node - */ - public function getNode() : Node { - return new Stmt\Function_($this->name, [ - 'byRef' => $this->returnByRef, - 'params' => $this->params, - 'returnType' => $this->returnType, - 'stmts' => $this->stmts, - ], $this->attributes); - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Builder/Interface_.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Builder/Interface_.php deleted file mode 100644 index 87e5b93..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Builder/Interface_.php +++ /dev/null @@ -1,75 +0,0 @@ -name = $name; - } - - /** - * Extends one or more interfaces. - * - * @param Name|string ...$interfaces Names of interfaces to extend - * - * @return $this The builder instance (for fluid interface) - */ - public function extend(...$interfaces) { - foreach ($interfaces as $interface) { - $this->extends[] = BuilderHelpers::normalizeName($interface); - } - - return $this; - } - - /** - * Adds a statement. - * - * @param Stmt|PhpParser\Builder $stmt The statement to add - * - * @return $this The builder instance (for fluid interface) - */ - public function addStmt($stmt) { - $stmt = BuilderHelpers::normalizeNode($stmt); - - if ($stmt instanceof Stmt\ClassConst) { - $this->constants[] = $stmt; - } elseif ($stmt instanceof Stmt\ClassMethod) { - // we erase all statements in the body of an interface method - $stmt->stmts = null; - $this->methods[] = $stmt; - } else { - throw new \LogicException(sprintf('Unexpected node of type "%s"', $stmt->getType())); - } - - return $this; - } - - /** - * Returns the built interface node. - * - * @return Stmt\Interface_ The built interface node - */ - public function getNode() : PhpParser\Node { - return new Stmt\Interface_($this->name, [ - 'extends' => $this->extends, - 'stmts' => array_merge($this->constants, $this->methods), - ], $this->attributes); - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Builder/Method.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Builder/Method.php deleted file mode 100644 index a3e8676..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Builder/Method.php +++ /dev/null @@ -1,129 +0,0 @@ -name = $name; - } - - /** - * Makes the method public. - * - * @return $this The builder instance (for fluid interface) - */ - public function makePublic() { - $this->flags = BuilderHelpers::addModifier($this->flags, Stmt\Class_::MODIFIER_PUBLIC); - - return $this; - } - - /** - * Makes the method protected. - * - * @return $this The builder instance (for fluid interface) - */ - public function makeProtected() { - $this->flags = BuilderHelpers::addModifier($this->flags, Stmt\Class_::MODIFIER_PROTECTED); - - return $this; - } - - /** - * Makes the method private. - * - * @return $this The builder instance (for fluid interface) - */ - public function makePrivate() { - $this->flags = BuilderHelpers::addModifier($this->flags, Stmt\Class_::MODIFIER_PRIVATE); - - return $this; - } - - /** - * Makes the method static. - * - * @return $this The builder instance (for fluid interface) - */ - public function makeStatic() { - $this->flags = BuilderHelpers::addModifier($this->flags, Stmt\Class_::MODIFIER_STATIC); - - return $this; - } - - /** - * Makes the method abstract. - * - * @return $this The builder instance (for fluid interface) - */ - public function makeAbstract() { - if (!empty($this->stmts)) { - throw new \LogicException('Cannot make method with statements abstract'); - } - - $this->flags = BuilderHelpers::addModifier($this->flags, Stmt\Class_::MODIFIER_ABSTRACT); - $this->stmts = null; // abstract methods don't have statements - - return $this; - } - - /** - * Makes the method final. - * - * @return $this The builder instance (for fluid interface) - */ - public function makeFinal() { - $this->flags = BuilderHelpers::addModifier($this->flags, Stmt\Class_::MODIFIER_FINAL); - - return $this; - } - - /** - * Adds a statement. - * - * @param Node|PhpParser\Builder $stmt The statement to add - * - * @return $this The builder instance (for fluid interface) - */ - public function addStmt($stmt) { - if (null === $this->stmts) { - throw new \LogicException('Cannot add statements to an abstract method'); - } - - $this->stmts[] = BuilderHelpers::normalizeStmt($stmt); - - return $this; - } - - /** - * Returns the built method node. - * - * @return Stmt\ClassMethod The built method node - */ - public function getNode() : Node { - return new Stmt\ClassMethod($this->name, [ - 'flags' => $this->flags, - 'byRef' => $this->returnByRef, - 'params' => $this->params, - 'returnType' => $this->returnType, - 'stmts' => $this->stmts, - ], $this->attributes); - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Builder/Namespace_.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Builder/Namespace_.php deleted file mode 100644 index b9ccab3..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Builder/Namespace_.php +++ /dev/null @@ -1,45 +0,0 @@ -name = null !== $name ? BuilderHelpers::normalizeName($name) : null; - } - - /** - * Adds a statement. - * - * @param Node|PhpParser\Builder $stmt The statement to add - * - * @return $this The builder instance (for fluid interface) - */ - public function addStmt($stmt) { - $this->stmts[] = BuilderHelpers::normalizeStmt($stmt); - - return $this; - } - - /** - * Returns the built node. - * - * @return Node The built node - */ - public function getNode() : Node { - return new Stmt\Namespace_($this->name, $this->stmts, $this->attributes); - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Builder/Param.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Builder/Param.php deleted file mode 100644 index fd3118c..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Builder/Param.php +++ /dev/null @@ -1,106 +0,0 @@ -name = $name; - } - - /** - * Sets default value for the parameter. - * - * @param mixed $value Default value to use - * - * @return $this The builder instance (for fluid interface) - */ - public function setDefault($value) { - $this->default = BuilderHelpers::normalizeValue($value); - - return $this; - } - - /** - * Sets type for the parameter. - * - * @param string|Node\Name|Node\NullableType $type Parameter type - * - * @return $this The builder instance (for fluid interface) - */ - public function setType($type) { - $this->type = BuilderHelpers::normalizeType($type); - if ($this->type == 'void') { - throw new \LogicException('Parameter type cannot be void'); - } - - return $this; - } - - /** - * Sets type for the parameter. - * - * @param string|Node\Name|Node\NullableType $type Parameter type - * - * @return $this The builder instance (for fluid interface) - * - * @deprecated Use setType() instead - */ - public function setTypeHint($type) { - return $this->setType($type); - } - - /** - * Make the parameter accept the value by reference. - * - * @return $this The builder instance (for fluid interface) - */ - public function makeByRef() { - $this->byRef = true; - - return $this; - } - - /** - * Make the parameter variadic - * - * @return $this The builder instance (for fluid interface) - */ - public function makeVariadic() { - $this->variadic = true; - - return $this; - } - - /** - * Returns the built parameter node. - * - * @return Node\Param The built parameter node - */ - public function getNode() : Node { - return new Node\Param( - new Node\Expr\Variable($this->name), - $this->default, $this->type, $this->byRef, $this->variadic - ); - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Builder/Property.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Builder/Property.php deleted file mode 100644 index 1f3bdb2..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Builder/Property.php +++ /dev/null @@ -1,132 +0,0 @@ -name = $name; - } - - /** - * Makes the property public. - * - * @return $this The builder instance (for fluid interface) - */ - public function makePublic() { - $this->flags = BuilderHelpers::addModifier($this->flags, Stmt\Class_::MODIFIER_PUBLIC); - - return $this; - } - - /** - * Makes the property protected. - * - * @return $this The builder instance (for fluid interface) - */ - public function makeProtected() { - $this->flags = BuilderHelpers::addModifier($this->flags, Stmt\Class_::MODIFIER_PROTECTED); - - return $this; - } - - /** - * Makes the property private. - * - * @return $this The builder instance (for fluid interface) - */ - public function makePrivate() { - $this->flags = BuilderHelpers::addModifier($this->flags, Stmt\Class_::MODIFIER_PRIVATE); - - return $this; - } - - /** - * Makes the property static. - * - * @return $this The builder instance (for fluid interface) - */ - public function makeStatic() { - $this->flags = BuilderHelpers::addModifier($this->flags, Stmt\Class_::MODIFIER_STATIC); - - return $this; - } - - /** - * Sets default value for the property. - * - * @param mixed $value Default value to use - * - * @return $this The builder instance (for fluid interface) - */ - public function setDefault($value) { - $this->default = BuilderHelpers::normalizeValue($value); - - return $this; - } - - /** - * Sets doc comment for the property. - * - * @param PhpParser\Comment\Doc|string $docComment Doc comment to set - * - * @return $this The builder instance (for fluid interface) - */ - public function setDocComment($docComment) { - $this->attributes = [ - 'comments' => [BuilderHelpers::normalizeDocComment($docComment)] - ]; - - return $this; - } - - /** - * Sets the property type for PHP 7.4+. - * - * @param string|Name|NullableType|Identifier $type - * - * @return $this - */ - public function setType($type) { - $this->type = BuilderHelpers::normalizeType($type); - - return $this; - } - - /** - * Returns the built class node. - * - * @return Stmt\Property The built property node - */ - public function getNode() : PhpParser\Node { - return new Stmt\Property( - $this->flags !== 0 ? $this->flags : Stmt\Class_::MODIFIER_PUBLIC, - [ - new Stmt\PropertyProperty($this->name, $this->default) - ], - $this->attributes, - $this->type - ); - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Builder/TraitUse.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Builder/TraitUse.php deleted file mode 100644 index 311e8cd..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Builder/TraitUse.php +++ /dev/null @@ -1,64 +0,0 @@ -and($trait); - } - } - - /** - * Adds used trait. - * - * @param Node\Name|string $trait Trait name - * - * @return $this The builder instance (for fluid interface) - */ - public function and($trait) { - $this->traits[] = BuilderHelpers::normalizeName($trait); - return $this; - } - - /** - * Adds trait adaptation. - * - * @param Stmt\TraitUseAdaptation|Builder\TraitUseAdaptation $adaptation Trait adaptation - * - * @return $this The builder instance (for fluid interface) - */ - public function with($adaptation) { - $adaptation = BuilderHelpers::normalizeNode($adaptation); - - if (!$adaptation instanceof Stmt\TraitUseAdaptation) { - throw new \LogicException('Adaptation must have type TraitUseAdaptation'); - } - - $this->adaptations[] = $adaptation; - return $this; - } - - /** - * Returns the built node. - * - * @return Node The built node - */ - public function getNode() : Node { - return new Stmt\TraitUse($this->traits, $this->adaptations); - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Builder/TraitUseAdaptation.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Builder/TraitUseAdaptation.php deleted file mode 100644 index eb6c0b6..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Builder/TraitUseAdaptation.php +++ /dev/null @@ -1,148 +0,0 @@ -type = self::TYPE_UNDEFINED; - - $this->trait = is_null($trait)? null: BuilderHelpers::normalizeName($trait); - $this->method = BuilderHelpers::normalizeIdentifier($method); - } - - /** - * Sets alias of method. - * - * @param Node\Identifier|string $alias Alias for adaptated method - * - * @return $this The builder instance (for fluid interface) - */ - public function as($alias) { - if ($this->type === self::TYPE_UNDEFINED) { - $this->type = self::TYPE_ALIAS; - } - - if ($this->type !== self::TYPE_ALIAS) { - throw new \LogicException('Cannot set alias for not alias adaptation buider'); - } - - $this->alias = $alias; - return $this; - } - - /** - * Sets adaptated method public. - * - * @return $this The builder instance (for fluid interface) - */ - public function makePublic() { - $this->setModifier(Stmt\Class_::MODIFIER_PUBLIC); - return $this; - } - - /** - * Sets adaptated method protected. - * - * @return $this The builder instance (for fluid interface) - */ - public function makeProtected() { - $this->setModifier(Stmt\Class_::MODIFIER_PROTECTED); - return $this; - } - - /** - * Sets adaptated method private. - * - * @return $this The builder instance (for fluid interface) - */ - public function makePrivate() { - $this->setModifier(Stmt\Class_::MODIFIER_PRIVATE); - return $this; - } - - /** - * Adds overwritten traits. - * - * @param Node\Name|string ...$traits Traits for overwrite - * - * @return $this The builder instance (for fluid interface) - */ - public function insteadof(...$traits) { - if ($this->type === self::TYPE_UNDEFINED) { - if (is_null($this->trait)) { - throw new \LogicException('Precedence adaptation must have trait'); - } - - $this->type = self::TYPE_PRECEDENCE; - } - - if ($this->type !== self::TYPE_PRECEDENCE) { - throw new \LogicException('Cannot add overwritten traits for not precedence adaptation buider'); - } - - foreach ($traits as $trait) { - $this->insteadof[] = BuilderHelpers::normalizeName($trait); - } - - return $this; - } - - protected function setModifier(int $modifier) { - if ($this->type === self::TYPE_UNDEFINED) { - $this->type = self::TYPE_ALIAS; - } - - if ($this->type !== self::TYPE_ALIAS) { - throw new \LogicException('Cannot set access modifier for not alias adaptation buider'); - } - - if (is_null($this->modifier)) { - $this->modifier = $modifier; - } else { - throw new \LogicException('Multiple access type modifiers are not allowed'); - } - } - - /** - * Returns the built node. - * - * @return Node The built node - */ - public function getNode() : Node { - switch ($this->type) { - case self::TYPE_ALIAS: - return new Stmt\TraitUseAdaptation\Alias($this->trait, $this->method, $this->modifier, $this->alias); - case self::TYPE_PRECEDENCE: - return new Stmt\TraitUseAdaptation\Precedence($this->trait, $this->method, $this->insteadof); - default: - throw new \LogicException('Type of adaptation is not defined'); - } - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Builder/Trait_.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Builder/Trait_.php deleted file mode 100644 index a836d40..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Builder/Trait_.php +++ /dev/null @@ -1,60 +0,0 @@ -name = $name; - } - - /** - * Adds a statement. - * - * @param Stmt|PhpParser\Builder $stmt The statement to add - * - * @return $this The builder instance (for fluid interface) - */ - public function addStmt($stmt) { - $stmt = BuilderHelpers::normalizeNode($stmt); - - if ($stmt instanceof Stmt\Property) { - $this->properties[] = $stmt; - } elseif ($stmt instanceof Stmt\ClassMethod) { - $this->methods[] = $stmt; - } elseif ($stmt instanceof Stmt\TraitUse) { - $this->uses[] = $stmt; - } else { - throw new \LogicException(sprintf('Unexpected node of type "%s"', $stmt->getType())); - } - - return $this; - } - - /** - * Returns the built trait node. - * - * @return Stmt\Trait_ The built interface node - */ - public function getNode() : PhpParser\Node { - return new Stmt\Trait_( - $this->name, [ - 'stmts' => array_merge($this->uses, $this->properties, $this->methods) - ], $this->attributes - ); - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Builder/Use_.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Builder/Use_.php deleted file mode 100644 index 2026a17..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Builder/Use_.php +++ /dev/null @@ -1,49 +0,0 @@ -name = BuilderHelpers::normalizeName($name); - $this->type = $type; - } - - /** - * Sets alias for used name. - * - * @param string $alias Alias to use (last component of full name by default) - * - * @return $this The builder instance (for fluid interface) - */ - public function as(string $alias) { - $this->alias = $alias; - return $this; - } - - /** - * Returns the built node. - * - * @return Node The built node - */ - public function getNode() : Node { - return new Stmt\Use_([ - new Stmt\UseUse($this->name, $this->alias) - ], $this->type); - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/BuilderFactory.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/BuilderFactory.php deleted file mode 100644 index 18bd1cd..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/BuilderFactory.php +++ /dev/null @@ -1,348 +0,0 @@ -args($args) - ); - } - - /** - * Creates a method call node. - * - * @param Expr $var Variable the method is called on - * @param string|Identifier|Expr $name Method name - * @param array $args Method arguments - * - * @return Expr\MethodCall - */ - public function methodCall(Expr $var, $name, array $args = []) : Expr\MethodCall { - return new Expr\MethodCall( - $var, - BuilderHelpers::normalizeIdentifierOrExpr($name), - $this->args($args) - ); - } - - /** - * Creates a static method call node. - * - * @param string|Name|Expr $class Class name - * @param string|Identifier|Expr $name Method name - * @param array $args Method arguments - * - * @return Expr\StaticCall - */ - public function staticCall($class, $name, array $args = []) : Expr\StaticCall { - return new Expr\StaticCall( - BuilderHelpers::normalizeNameOrExpr($class), - BuilderHelpers::normalizeIdentifierOrExpr($name), - $this->args($args) - ); - } - - /** - * Creates an object creation node. - * - * @param string|Name|Expr $class Class name - * @param array $args Constructor arguments - * - * @return Expr\New_ - */ - public function new($class, array $args = []) : Expr\New_ { - return new Expr\New_( - BuilderHelpers::normalizeNameOrExpr($class), - $this->args($args) - ); - } - - /** - * Creates a constant fetch node. - * - * @param string|Name $name Constant name - * - * @return Expr\ConstFetch - */ - public function constFetch($name) : Expr\ConstFetch { - return new Expr\ConstFetch(BuilderHelpers::normalizeName($name)); - } - - /** - * Creates a property fetch node. - * - * @param Expr $var Variable holding object - * @param string|Identifier|Expr $name Property name - * - * @return Expr\PropertyFetch - */ - public function propertyFetch(Expr $var, $name) : Expr\PropertyFetch { - return new Expr\PropertyFetch($var, BuilderHelpers::normalizeIdentifierOrExpr($name)); - } - - /** - * Creates a class constant fetch node. - * - * @param string|Name|Expr $class Class name - * @param string|Identifier $name Constant name - * - * @return Expr\ClassConstFetch - */ - public function classConstFetch($class, $name): Expr\ClassConstFetch { - return new Expr\ClassConstFetch( - BuilderHelpers::normalizeNameOrExpr($class), - BuilderHelpers::normalizeIdentifier($name) - ); - } - - /** - * Creates nested Concat nodes from a list of expressions. - * - * @param Expr|string ...$exprs Expressions or literal strings - * - * @return Concat - */ - public function concat(...$exprs) : Concat { - $numExprs = count($exprs); - if ($numExprs < 2) { - throw new \LogicException('Expected at least two expressions'); - } - - $lastConcat = $this->normalizeStringExpr($exprs[0]); - for ($i = 1; $i < $numExprs; $i++) { - $lastConcat = new Concat($lastConcat, $this->normalizeStringExpr($exprs[$i])); - } - return $lastConcat; - } - - /** - * @param string|Expr $expr - * @return Expr - */ - private function normalizeStringExpr($expr) : Expr { - if ($expr instanceof Expr) { - return $expr; - } - - if (\is_string($expr)) { - return new String_($expr); - } - - throw new \LogicException('Expected string or Expr'); - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/BuilderHelpers.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/BuilderHelpers.php deleted file mode 100644 index 790e887..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/BuilderHelpers.php +++ /dev/null @@ -1,277 +0,0 @@ -getNode(); - } elseif ($node instanceof Node) { - return $node; - } - - throw new \LogicException('Expected node or builder object'); - } - - /** - * Normalizes a node to a statement. - * - * Expressions are wrapped in a Stmt\Expression node. - * - * @param Node|Builder $node The node to normalize - * - * @return Stmt The normalized statement node - */ - public static function normalizeStmt($node) : Stmt { - $node = self::normalizeNode($node); - if ($node instanceof Stmt) { - return $node; - } - - if ($node instanceof Expr) { - return new Stmt\Expression($node); - } - - throw new \LogicException('Expected statement or expression node'); - } - - /** - * Normalizes strings to Identifier. - * - * @param string|Identifier $name The identifier to normalize - * - * @return Identifier The normalized identifier - */ - public static function normalizeIdentifier($name) : Identifier { - if ($name instanceof Identifier) { - return $name; - } - - if (\is_string($name)) { - return new Identifier($name); - } - - throw new \LogicException('Expected string or instance of Node\Identifier'); - } - - /** - * Normalizes strings to Identifier, also allowing expressions. - * - * @param string|Identifier|Expr $name The identifier to normalize - * - * @return Identifier|Expr The normalized identifier or expression - */ - public static function normalizeIdentifierOrExpr($name) { - if ($name instanceof Identifier || $name instanceof Expr) { - return $name; - } - - if (\is_string($name)) { - return new Identifier($name); - } - - throw new \LogicException('Expected string or instance of Node\Identifier or Node\Expr'); - } - - /** - * Normalizes a name: Converts string names to Name nodes. - * - * @param Name|string $name The name to normalize - * - * @return Name The normalized name - */ - public static function normalizeName($name) : Name { - return self::normalizeNameCommon($name, false); - } - - /** - * Normalizes a name: Converts string names to Name nodes, while also allowing expressions. - * - * @param Expr|Name|string $name The name to normalize - * - * @return Name|Expr The normalized name or expression - */ - public static function normalizeNameOrExpr($name) { - return self::normalizeNameCommon($name, true); - } - - /** - * Normalizes a name: Converts string names to Name nodes, optionally allowing expressions. - * - * @param Expr|Name|string $name The name to normalize - * @param bool $allowExpr Whether to also allow expressions - * - * @return Name|Expr The normalized name, or expression (if allowed) - */ - private static function normalizeNameCommon($name, bool $allowExpr) { - if ($name instanceof Name) { - return $name; - } elseif (is_string($name)) { - if (!$name) { - throw new \LogicException('Name cannot be empty'); - } - - if ($name[0] === '\\') { - return new Name\FullyQualified(substr($name, 1)); - } elseif (0 === strpos($name, 'namespace\\')) { - return new Name\Relative(substr($name, strlen('namespace\\'))); - } else { - return new Name($name); - } - } - - if ($allowExpr) { - if ($name instanceof Expr) { - return $name; - } - throw new \LogicException( - 'Name must be a string or an instance of Node\Name or Node\Expr' - ); - } else { - throw new \LogicException('Name must be a string or an instance of Node\Name'); - } - } - - /** - * Normalizes a type: Converts plain-text type names into proper AST representation. - * - * In particular, builtin types become Identifiers, custom types become Names and nullables - * are wrapped in NullableType nodes. - * - * @param string|Name|Identifier|NullableType $type The type to normalize - * - * @return Name|Identifier|NullableType The normalized type - */ - public static function normalizeType($type) { - if (!is_string($type)) { - if (!$type instanceof Name && !$type instanceof Identifier - && !$type instanceof NullableType) { - throw new \LogicException( - 'Type must be a string, or an instance of Name, Identifier or NullableType'); - } - return $type; - } - - $nullable = false; - if (strlen($type) > 0 && $type[0] === '?') { - $nullable = true; - $type = substr($type, 1); - } - - $builtinTypes = [ - 'array', 'callable', 'string', 'int', 'float', 'bool', 'iterable', 'void', 'object' - ]; - - $lowerType = strtolower($type); - if (in_array($lowerType, $builtinTypes)) { - $type = new Identifier($lowerType); - } else { - $type = self::normalizeName($type); - } - - if ($nullable && (string) $type === 'void') { - throw new \LogicException('void type cannot be nullable'); - } - - return $nullable ? new Node\NullableType($type) : $type; - } - - /** - * Normalizes a value: Converts nulls, booleans, integers, - * floats, strings and arrays into their respective nodes - * - * @param Node\Expr|bool|null|int|float|string|array $value The value to normalize - * - * @return Expr The normalized value - */ - public static function normalizeValue($value) : Expr { - if ($value instanceof Node\Expr) { - return $value; - } elseif (is_null($value)) { - return new Expr\ConstFetch( - new Name('null') - ); - } elseif (is_bool($value)) { - return new Expr\ConstFetch( - new Name($value ? 'true' : 'false') - ); - } elseif (is_int($value)) { - return new Scalar\LNumber($value); - } elseif (is_float($value)) { - return new Scalar\DNumber($value); - } elseif (is_string($value)) { - return new Scalar\String_($value); - } elseif (is_array($value)) { - $items = []; - $lastKey = -1; - foreach ($value as $itemKey => $itemValue) { - // for consecutive, numeric keys don't generate keys - if (null !== $lastKey && ++$lastKey === $itemKey) { - $items[] = new Expr\ArrayItem( - self::normalizeValue($itemValue) - ); - } else { - $lastKey = null; - $items[] = new Expr\ArrayItem( - self::normalizeValue($itemValue), - self::normalizeValue($itemKey) - ); - } - } - - return new Expr\Array_($items); - } else { - throw new \LogicException('Invalid value'); - } - } - - /** - * Normalizes a doc comment: Converts plain strings to PhpParser\Comment\Doc. - * - * @param Comment\Doc|string $docComment The doc comment to normalize - * - * @return Comment\Doc The normalized doc comment - */ - public static function normalizeDocComment($docComment) : Comment\Doc { - if ($docComment instanceof Comment\Doc) { - return $docComment; - } elseif (is_string($docComment)) { - return new Comment\Doc($docComment); - } else { - throw new \LogicException('Doc comment must be a string or an instance of PhpParser\Comment\Doc'); - } - } - - /** - * Adds a modifier and returns new modifier bitmask. - * - * @param int $modifiers Existing modifiers - * @param int $modifier Modifier to set - * - * @return int New modifiers - */ - public static function addModifier(int $modifiers, int $modifier) : int { - Stmt\Class_::verifyModifier($modifiers, $modifier); - return $modifiers | $modifier; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Comment.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Comment.php deleted file mode 100644 index 5da8420..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Comment.php +++ /dev/null @@ -1,167 +0,0 @@ -text = $text; - $this->line = $startLine; - $this->filePos = $startFilePos; - $this->tokenPos = $startTokenPos; - } - - /** - * Gets the comment text. - * - * @return string The comment text (including comment delimiters like /*) - */ - public function getText() : string { - return $this->text; - } - - /** - * Gets the line number the comment started on. - * - * @return int Line number - */ - public function getLine() : int { - return $this->line; - } - - /** - * Gets the file offset the comment started on. - * - * @return int File offset - */ - public function getFilePos() : int { - return $this->filePos; - } - - /** - * Gets the token offset the comment started on. - * - * @return int Token offset - */ - public function getTokenPos() : int { - return $this->tokenPos; - } - - /** - * Gets the comment text. - * - * @return string The comment text (including comment delimiters like /*) - */ - public function __toString() : string { - return $this->text; - } - - /** - * Gets the reformatted comment text. - * - * "Reformatted" here means that we try to clean up the whitespace at the - * starts of the lines. This is necessary because we receive the comments - * without trailing whitespace on the first line, but with trailing whitespace - * on all subsequent lines. - * - * @return mixed|string - */ - public function getReformattedText() { - $text = trim($this->text); - $newlinePos = strpos($text, "\n"); - if (false === $newlinePos) { - // Single line comments don't need further processing - return $text; - } elseif (preg_match('((*BSR_ANYCRLF)(*ANYCRLF)^.*(?:\R\s+\*.*)+$)', $text)) { - // Multi line comment of the type - // - // /* - // * Some text. - // * Some more text. - // */ - // - // is handled by replacing the whitespace sequences before the * by a single space - return preg_replace('(^\s+\*)m', ' *', $this->text); - } elseif (preg_match('(^/\*\*?\s*[\r\n])', $text) && preg_match('(\n(\s*)\*/$)', $text, $matches)) { - // Multi line comment of the type - // - // /* - // Some text. - // Some more text. - // */ - // - // is handled by removing the whitespace sequence on the line before the closing - // */ on all lines. So if the last line is " */", then " " is removed at the - // start of all lines. - return preg_replace('(^' . preg_quote($matches[1]) . ')m', '', $text); - } elseif (preg_match('(^/\*\*?\s*(?!\s))', $text, $matches)) { - // Multi line comment of the type - // - // /* Some text. - // Some more text. - // Indented text. - // Even more text. */ - // - // is handled by removing the difference between the shortest whitespace prefix on all - // lines and the length of the "/* " opening sequence. - $prefixLen = $this->getShortestWhitespacePrefixLen(substr($text, $newlinePos + 1)); - $removeLen = $prefixLen - strlen($matches[0]); - return preg_replace('(^\s{' . $removeLen . '})m', '', $text); - } - - // No idea how to format this comment, so simply return as is - return $text; - } - - /** - * Get length of shortest whitespace prefix (at the start of a line). - * - * If there is a line with no prefix whitespace, 0 is a valid return value. - * - * @param string $str String to check - * @return int Length in characters. Tabs count as single characters. - */ - private function getShortestWhitespacePrefixLen(string $str) : int { - $lines = explode("\n", $str); - $shortestPrefixLen = \INF; - foreach ($lines as $line) { - preg_match('(^\s*)', $line, $matches); - $prefixLen = strlen($matches[0]); - if ($prefixLen < $shortestPrefixLen) { - $shortestPrefixLen = $prefixLen; - } - } - return $shortestPrefixLen; - } - - /** - * @return array - * @psalm-return array{nodeType:string, text:mixed, line:mixed, filePos:mixed} - */ - public function jsonSerialize() : array { - // Technically not a node, but we make it look like one anyway - $type = $this instanceof Comment\Doc ? 'Comment_Doc' : 'Comment'; - return [ - 'nodeType' => $type, - 'text' => $this->text, - 'line' => $this->line, - 'filePos' => $this->filePos, - 'tokenPos' => $this->tokenPos, - ]; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Comment/Doc.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Comment/Doc.php deleted file mode 100644 index a9db612..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Comment/Doc.php +++ /dev/null @@ -1,7 +0,0 @@ -fallbackEvaluator = $fallbackEvaluator ?? function(Expr $expr) { - throw new ConstExprEvaluationException( - "Expression of type {$expr->getType()} cannot be evaluated" - ); - }; - } - - /** - * Silently evaluates a constant expression into a PHP value. - * - * Thrown Errors, warnings or notices will be converted into a ConstExprEvaluationException. - * The original source of the exception is available through getPrevious(). - * - * If some part of the expression cannot be evaluated, the fallback evaluator passed to the - * constructor will be invoked. By default, if no fallback is provided, an exception of type - * ConstExprEvaluationException is thrown. - * - * See class doc comment for caveats and limitations. - * - * @param Expr $expr Constant expression to evaluate - * @return mixed Result of evaluation - * - * @throws ConstExprEvaluationException if the expression cannot be evaluated or an error occurred - */ - public function evaluateSilently(Expr $expr) { - set_error_handler(function($num, $str, $file, $line) { - throw new \ErrorException($str, 0, $num, $file, $line); - }); - - try { - return $this->evaluate($expr); - } catch (\Throwable $e) { - if (!$e instanceof ConstExprEvaluationException) { - $e = new ConstExprEvaluationException( - "An error occurred during constant expression evaluation", 0, $e); - } - throw $e; - } finally { - restore_error_handler(); - } - } - - /** - * Directly evaluates a constant expression into a PHP value. - * - * May generate Error exceptions, warnings or notices. Use evaluateSilently() to convert these - * into a ConstExprEvaluationException. - * - * If some part of the expression cannot be evaluated, the fallback evaluator passed to the - * constructor will be invoked. By default, if no fallback is provided, an exception of type - * ConstExprEvaluationException is thrown. - * - * See class doc comment for caveats and limitations. - * - * @param Expr $expr Constant expression to evaluate - * @return mixed Result of evaluation - * - * @throws ConstExprEvaluationException if the expression cannot be evaluated - */ - public function evaluateDirectly(Expr $expr) { - return $this->evaluate($expr); - } - - private function evaluate(Expr $expr) { - if ($expr instanceof Scalar\LNumber - || $expr instanceof Scalar\DNumber - || $expr instanceof Scalar\String_ - ) { - return $expr->value; - } - - if ($expr instanceof Expr\Array_) { - return $this->evaluateArray($expr); - } - - // Unary operators - if ($expr instanceof Expr\UnaryPlus) { - return +$this->evaluate($expr->expr); - } - if ($expr instanceof Expr\UnaryMinus) { - return -$this->evaluate($expr->expr); - } - if ($expr instanceof Expr\BooleanNot) { - return !$this->evaluate($expr->expr); - } - if ($expr instanceof Expr\BitwiseNot) { - return ~$this->evaluate($expr->expr); - } - - if ($expr instanceof Expr\BinaryOp) { - return $this->evaluateBinaryOp($expr); - } - - if ($expr instanceof Expr\Ternary) { - return $this->evaluateTernary($expr); - } - - if ($expr instanceof Expr\ArrayDimFetch && null !== $expr->dim) { - return $this->evaluate($expr->var)[$this->evaluate($expr->dim)]; - } - - if ($expr instanceof Expr\ConstFetch) { - return $this->evaluateConstFetch($expr); - } - - return ($this->fallbackEvaluator)($expr); - } - - private function evaluateArray(Expr\Array_ $expr) { - $array = []; - foreach ($expr->items as $item) { - if (null !== $item->key) { - $array[$this->evaluate($item->key)] = $this->evaluate($item->value); - } else { - $array[] = $this->evaluate($item->value); - } - } - return $array; - } - - private function evaluateTernary(Expr\Ternary $expr) { - if (null === $expr->if) { - return $this->evaluate($expr->cond) ?: $this->evaluate($expr->else); - } - - return $this->evaluate($expr->cond) - ? $this->evaluate($expr->if) - : $this->evaluate($expr->else); - } - - private function evaluateBinaryOp(Expr\BinaryOp $expr) { - if ($expr instanceof Expr\BinaryOp\Coalesce - && $expr->left instanceof Expr\ArrayDimFetch - ) { - // This needs to be special cased to respect BP_VAR_IS fetch semantics - return $this->evaluate($expr->left->var)[$this->evaluate($expr->left->dim)] - ?? $this->evaluate($expr->right); - } - - // The evaluate() calls are repeated in each branch, because some of the operators are - // short-circuiting and evaluating the RHS in advance may be illegal in that case - $l = $expr->left; - $r = $expr->right; - switch ($expr->getOperatorSigil()) { - case '&': return $this->evaluate($l) & $this->evaluate($r); - case '|': return $this->evaluate($l) | $this->evaluate($r); - case '^': return $this->evaluate($l) ^ $this->evaluate($r); - case '&&': return $this->evaluate($l) && $this->evaluate($r); - case '||': return $this->evaluate($l) || $this->evaluate($r); - case '??': return $this->evaluate($l) ?? $this->evaluate($r); - case '.': return $this->evaluate($l) . $this->evaluate($r); - case '/': return $this->evaluate($l) / $this->evaluate($r); - case '==': return $this->evaluate($l) == $this->evaluate($r); - case '>': return $this->evaluate($l) > $this->evaluate($r); - case '>=': return $this->evaluate($l) >= $this->evaluate($r); - case '===': return $this->evaluate($l) === $this->evaluate($r); - case 'and': return $this->evaluate($l) and $this->evaluate($r); - case 'or': return $this->evaluate($l) or $this->evaluate($r); - case 'xor': return $this->evaluate($l) xor $this->evaluate($r); - case '-': return $this->evaluate($l) - $this->evaluate($r); - case '%': return $this->evaluate($l) % $this->evaluate($r); - case '*': return $this->evaluate($l) * $this->evaluate($r); - case '!=': return $this->evaluate($l) != $this->evaluate($r); - case '!==': return $this->evaluate($l) !== $this->evaluate($r); - case '+': return $this->evaluate($l) + $this->evaluate($r); - case '**': return $this->evaluate($l) ** $this->evaluate($r); - case '<<': return $this->evaluate($l) << $this->evaluate($r); - case '>>': return $this->evaluate($l) >> $this->evaluate($r); - case '<': return $this->evaluate($l) < $this->evaluate($r); - case '<=': return $this->evaluate($l) <= $this->evaluate($r); - case '<=>': return $this->evaluate($l) <=> $this->evaluate($r); - } - - throw new \Exception('Should not happen'); - } - - private function evaluateConstFetch(Expr\ConstFetch $expr) { - $name = $expr->name->toLowerString(); - switch ($name) { - case 'null': return null; - case 'false': return false; - case 'true': return true; - } - - return ($this->fallbackEvaluator)($expr); - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Error.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Error.php deleted file mode 100644 index d1fb959..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Error.php +++ /dev/null @@ -1,180 +0,0 @@ -rawMessage = $message; - if (is_array($attributes)) { - $this->attributes = $attributes; - } else { - $this->attributes = ['startLine' => $attributes]; - } - $this->updateMessage(); - } - - /** - * Gets the error message - * - * @return string Error message - */ - public function getRawMessage() : string { - return $this->rawMessage; - } - - /** - * Gets the line the error starts in. - * - * @return int Error start line - */ - public function getStartLine() : int { - return $this->attributes['startLine'] ?? -1; - } - - /** - * Gets the line the error ends in. - * - * @return int Error end line - */ - public function getEndLine() : int { - return $this->attributes['endLine'] ?? -1; - } - - /** - * Gets the attributes of the node/token the error occurred at. - * - * @return array - */ - public function getAttributes() : array { - return $this->attributes; - } - - /** - * Sets the attributes of the node/token the error occurred at. - * - * @param array $attributes - */ - public function setAttributes(array $attributes) { - $this->attributes = $attributes; - $this->updateMessage(); - } - - /** - * Sets the line of the PHP file the error occurred in. - * - * @param string $message Error message - */ - public function setRawMessage(string $message) { - $this->rawMessage = $message; - $this->updateMessage(); - } - - /** - * Sets the line the error starts in. - * - * @param int $line Error start line - */ - public function setStartLine(int $line) { - $this->attributes['startLine'] = $line; - $this->updateMessage(); - } - - /** - * Returns whether the error has start and end column information. - * - * For column information enable the startFilePos and endFilePos in the lexer options. - * - * @return bool - */ - public function hasColumnInfo() : bool { - return isset($this->attributes['startFilePos'], $this->attributes['endFilePos']); - } - - /** - * Gets the start column (1-based) into the line where the error started. - * - * @param string $code Source code of the file - * @return int - */ - public function getStartColumn(string $code) : int { - if (!$this->hasColumnInfo()) { - throw new \RuntimeException('Error does not have column information'); - } - - return $this->toColumn($code, $this->attributes['startFilePos']); - } - - /** - * Gets the end column (1-based) into the line where the error ended. - * - * @param string $code Source code of the file - * @return int - */ - public function getEndColumn(string $code) : int { - if (!$this->hasColumnInfo()) { - throw new \RuntimeException('Error does not have column information'); - } - - return $this->toColumn($code, $this->attributes['endFilePos']); - } - - /** - * Formats message including line and column information. - * - * @param string $code Source code associated with the error, for calculation of the columns - * - * @return string Formatted message - */ - public function getMessageWithColumnInfo(string $code) : string { - return sprintf( - '%s from %d:%d to %d:%d', $this->getRawMessage(), - $this->getStartLine(), $this->getStartColumn($code), - $this->getEndLine(), $this->getEndColumn($code) - ); - } - - /** - * Converts a file offset into a column. - * - * @param string $code Source code that $pos indexes into - * @param int $pos 0-based position in $code - * - * @return int 1-based column (relative to start of line) - */ - private function toColumn(string $code, int $pos) : int { - if ($pos > strlen($code)) { - throw new \RuntimeException('Invalid position information'); - } - - $lineStartPos = strrpos($code, "\n", $pos - strlen($code)); - if (false === $lineStartPos) { - $lineStartPos = -1; - } - - return $pos - $lineStartPos; - } - - /** - * Updates the exception message after a change to rawMessage or rawLine. - */ - protected function updateMessage() { - $this->message = $this->rawMessage; - - if (-1 === $this->getStartLine()) { - $this->message .= ' on unknown line'; - } else { - $this->message .= ' on line ' . $this->getStartLine(); - } - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/ErrorHandler.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/ErrorHandler.php deleted file mode 100644 index d620e74..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/ErrorHandler.php +++ /dev/null @@ -1,13 +0,0 @@ -errors[] = $error; - } - - /** - * Get collected errors. - * - * @return Error[] - */ - public function getErrors() : array { - return $this->errors; - } - - /** - * Check whether there are any errors. - * - * @return bool - */ - public function hasErrors() : bool { - return !empty($this->errors); - } - - /** - * Reset/clear collected errors. - */ - public function clearErrors() { - $this->errors = []; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/ErrorHandler/Throwing.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/ErrorHandler/Throwing.php deleted file mode 100644 index aeee989..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/ErrorHandler/Throwing.php +++ /dev/null @@ -1,18 +0,0 @@ -type = $type; - $this->old = $old; - $this->new = $new; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Internal/Differ.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Internal/Differ.php deleted file mode 100644 index 7f218c7..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Internal/Differ.php +++ /dev/null @@ -1,164 +0,0 @@ -isEqual = $isEqual; - } - - /** - * Calculate diff (edit script) from $old to $new. - * - * @param array $old Original array - * @param array $new New array - * - * @return DiffElem[] Diff (edit script) - */ - public function diff(array $old, array $new) { - list($trace, $x, $y) = $this->calculateTrace($old, $new); - return $this->extractDiff($trace, $x, $y, $old, $new); - } - - /** - * Calculate diff, including "replace" operations. - * - * If a sequence of remove operations is followed by the same number of add operations, these - * will be coalesced into replace operations. - * - * @param array $old Original array - * @param array $new New array - * - * @return DiffElem[] Diff (edit script), including replace operations - */ - public function diffWithReplacements(array $old, array $new) { - return $this->coalesceReplacements($this->diff($old, $new)); - } - - private function calculateTrace(array $a, array $b) { - $n = \count($a); - $m = \count($b); - $max = $n + $m; - $v = [1 => 0]; - $trace = []; - for ($d = 0; $d <= $max; $d++) { - $trace[] = $v; - for ($k = -$d; $k <= $d; $k += 2) { - if ($k === -$d || ($k !== $d && $v[$k-1] < $v[$k+1])) { - $x = $v[$k+1]; - } else { - $x = $v[$k-1] + 1; - } - - $y = $x - $k; - while ($x < $n && $y < $m && ($this->isEqual)($a[$x], $b[$y])) { - $x++; - $y++; - } - - $v[$k] = $x; - if ($x >= $n && $y >= $m) { - return [$trace, $x, $y]; - } - } - } - throw new \Exception('Should not happen'); - } - - private function extractDiff(array $trace, int $x, int $y, array $a, array $b) { - $result = []; - for ($d = \count($trace) - 1; $d >= 0; $d--) { - $v = $trace[$d]; - $k = $x - $y; - - if ($k === -$d || ($k !== $d && $v[$k-1] < $v[$k+1])) { - $prevK = $k + 1; - } else { - $prevK = $k - 1; - } - - $prevX = $v[$prevK]; - $prevY = $prevX - $prevK; - - while ($x > $prevX && $y > $prevY) { - $result[] = new DiffElem(DiffElem::TYPE_KEEP, $a[$x-1], $b[$y-1]); - $x--; - $y--; - } - - if ($d === 0) { - break; - } - - while ($x > $prevX) { - $result[] = new DiffElem(DiffElem::TYPE_REMOVE, $a[$x-1], null); - $x--; - } - - while ($y > $prevY) { - $result[] = new DiffElem(DiffElem::TYPE_ADD, null, $b[$y-1]); - $y--; - } - } - return array_reverse($result); - } - - /** - * Coalesce equal-length sequences of remove+add into a replace operation. - * - * @param DiffElem[] $diff - * @return DiffElem[] - */ - private function coalesceReplacements(array $diff) { - $newDiff = []; - $c = \count($diff); - for ($i = 0; $i < $c; $i++) { - $diffType = $diff[$i]->type; - if ($diffType !== DiffElem::TYPE_REMOVE) { - $newDiff[] = $diff[$i]; - continue; - } - - $j = $i; - while ($j < $c && $diff[$j]->type === DiffElem::TYPE_REMOVE) { - $j++; - } - - $k = $j; - while ($k < $c && $diff[$k]->type === DiffElem::TYPE_ADD) { - $k++; - } - - if ($j - $i === $k - $j) { - $len = $j - $i; - for ($n = 0; $n < $len; $n++) { - $newDiff[] = new DiffElem( - DiffElem::TYPE_REPLACE, $diff[$i + $n]->old, $diff[$j + $n]->new - ); - } - } else { - for (; $i < $k; $i++) { - $newDiff[] = $diff[$i]; - } - } - $i = $k - 1; - } - return $newDiff; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Internal/PrintableNewAnonClassNode.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Internal/PrintableNewAnonClassNode.php deleted file mode 100644 index 7b019db..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Internal/PrintableNewAnonClassNode.php +++ /dev/null @@ -1,57 +0,0 @@ -args = $args; - $this->extends = $extends; - $this->implements = $implements; - $this->stmts = $stmts; - } - - public static function fromNewNode(Expr\New_ $newNode) { - $class = $newNode->class; - assert($class instanceof Node\Stmt\Class_); - // We don't assert that $class->name is null here, to allow consumers to assign unique names - // to anonymous classes for their own purposes. We simplify ignore the name here. - return new self( - $newNode->args, $class->extends, $class->implements, - $class->stmts, $newNode->getAttributes() - ); - } - - public function getType() : string { - return 'Expr_PrintableNewAnonClass'; - } - - public function getSubNodeNames() : array { - return ['args', 'extends', 'implements', 'stmts']; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Internal/TokenStream.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Internal/TokenStream.php deleted file mode 100644 index cf9e00a..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Internal/TokenStream.php +++ /dev/null @@ -1,256 +0,0 @@ -tokens = $tokens; - $this->indentMap = $this->calcIndentMap(); - } - - /** - * Whether the given position is immediately surrounded by parenthesis. - * - * @param int $startPos Start position - * @param int $endPos End position - * - * @return bool - */ - public function haveParens(int $startPos, int $endPos) : bool { - return $this->haveTokenImmediativelyBefore($startPos, '(') - && $this->haveTokenImmediatelyAfter($endPos, ')'); - } - - /** - * Whether the given position is immediately surrounded by braces. - * - * @param int $startPos Start position - * @param int $endPos End position - * - * @return bool - */ - public function haveBraces(int $startPos, int $endPos) : bool { - return $this->haveTokenImmediativelyBefore($startPos, '{') - && $this->haveTokenImmediatelyAfter($endPos, '}'); - } - - /** - * Check whether the position is directly preceded by a certain token type. - * - * During this check whitespace and comments are skipped. - * - * @param int $pos Position before which the token should occur - * @param int|string $expectedTokenType Token to check for - * - * @return bool Whether the expected token was found - */ - public function haveTokenImmediativelyBefore(int $pos, $expectedTokenType) : bool { - $tokens = $this->tokens; - $pos--; - for (; $pos >= 0; $pos--) { - $tokenType = $tokens[$pos][0]; - if ($tokenType === $expectedTokenType) { - return true; - } - if ($tokenType !== \T_WHITESPACE - && $tokenType !== \T_COMMENT && $tokenType !== \T_DOC_COMMENT) { - break; - } - } - return false; - } - - /** - * Check whether the position is directly followed by a certain token type. - * - * During this check whitespace and comments are skipped. - * - * @param int $pos Position after which the token should occur - * @param int|string $expectedTokenType Token to check for - * - * @return bool Whether the expected token was found - */ - public function haveTokenImmediatelyAfter(int $pos, $expectedTokenType) : bool { - $tokens = $this->tokens; - $pos++; - for (; $pos < \count($tokens); $pos++) { - $tokenType = $tokens[$pos][0]; - if ($tokenType === $expectedTokenType) { - return true; - } - if ($tokenType !== \T_WHITESPACE - && $tokenType !== \T_COMMENT && $tokenType !== \T_DOC_COMMENT) { - break; - } - } - return false; - } - - public function skipLeft(int $pos, $skipTokenType) { - $tokens = $this->tokens; - - $pos = $this->skipLeftWhitespace($pos); - if ($skipTokenType === \T_WHITESPACE) { - return $pos; - } - - if ($tokens[$pos][0] !== $skipTokenType) { - // Shouldn't happen. The skip token MUST be there - throw new \Exception('Encountered unexpected token'); - } - $pos--; - - return $this->skipLeftWhitespace($pos); - } - - public function skipRight(int $pos, $skipTokenType) { - $tokens = $this->tokens; - - $pos = $this->skipRightWhitespace($pos); - if ($skipTokenType === \T_WHITESPACE) { - return $pos; - } - - if ($tokens[$pos][0] !== $skipTokenType) { - // Shouldn't happen. The skip token MUST be there - throw new \Exception('Encountered unexpected token'); - } - $pos++; - - return $this->skipRightWhitespace($pos); - } - - /** - * Return first non-whitespace token position smaller or equal to passed position. - * - * @param int $pos Token position - * @return int Non-whitespace token position - */ - public function skipLeftWhitespace(int $pos) { - $tokens = $this->tokens; - for (; $pos >= 0; $pos--) { - $type = $tokens[$pos][0]; - if ($type !== \T_WHITESPACE && $type !== \T_COMMENT && $type !== \T_DOC_COMMENT) { - break; - } - } - return $pos; - } - - /** - * Return first non-whitespace position greater or equal to passed position. - * - * @param int $pos Token position - * @return int Non-whitespace token position - */ - public function skipRightWhitespace(int $pos) { - $tokens = $this->tokens; - for ($count = \count($tokens); $pos < $count; $pos++) { - $type = $tokens[$pos][0]; - if ($type !== \T_WHITESPACE && $type !== \T_COMMENT && $type !== \T_DOC_COMMENT) { - break; - } - } - return $pos; - } - - public function findRight($pos, $findTokenType) { - $tokens = $this->tokens; - for ($count = \count($tokens); $pos < $count; $pos++) { - $type = $tokens[$pos][0]; - if ($type === $findTokenType) { - return $pos; - } - } - return -1; - } - - /** - * Get indentation before token position. - * - * @param int $pos Token position - * - * @return int Indentation depth (in spaces) - */ - public function getIndentationBefore(int $pos) : int { - return $this->indentMap[$pos]; - } - - /** - * Get the code corresponding to a token offset range, optionally adjusted for indentation. - * - * @param int $from Token start position (inclusive) - * @param int $to Token end position (exclusive) - * @param int $indent By how much the code should be indented (can be negative as well) - * - * @return string Code corresponding to token range, adjusted for indentation - */ - public function getTokenCode(int $from, int $to, int $indent) : string { - $tokens = $this->tokens; - $result = ''; - for ($pos = $from; $pos < $to; $pos++) { - $token = $tokens[$pos]; - if (\is_array($token)) { - $type = $token[0]; - $content = $token[1]; - if ($type === \T_CONSTANT_ENCAPSED_STRING || $type === \T_ENCAPSED_AND_WHITESPACE) { - $result .= $content; - } else { - // TODO Handle non-space indentation - if ($indent < 0) { - $result .= str_replace("\n" . str_repeat(" ", -$indent), "\n", $content); - } elseif ($indent > 0) { - $result .= str_replace("\n", "\n" . str_repeat(" ", $indent), $content); - } else { - $result .= $content; - } - } - } else { - $result .= $token; - } - } - return $result; - } - - /** - * Precalculate the indentation at every token position. - * - * @return int[] Token position to indentation map - */ - private function calcIndentMap() { - $indentMap = []; - $indent = 0; - foreach ($this->tokens as $token) { - $indentMap[] = $indent; - - if ($token[0] === \T_WHITESPACE) { - $content = $token[1]; - $newlinePos = \strrpos($content, "\n"); - if (false !== $newlinePos) { - $indent = \strlen($content) - $newlinePos - 1; - } - } - } - - // Add a sentinel for one past end of the file - $indentMap[] = $indent; - - return $indentMap; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/JsonDecoder.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/JsonDecoder.php deleted file mode 100644 index 25d1c6a..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/JsonDecoder.php +++ /dev/null @@ -1,101 +0,0 @@ -decodeRecursive($value); - } - - private function decodeRecursive($value) { - if (\is_array($value)) { - if (isset($value['nodeType'])) { - if ($value['nodeType'] === 'Comment' || $value['nodeType'] === 'Comment_Doc') { - return $this->decodeComment($value); - } - return $this->decodeNode($value); - } - return $this->decodeArray($value); - } - return $value; - } - - private function decodeArray(array $array) : array { - $decodedArray = []; - foreach ($array as $key => $value) { - $decodedArray[$key] = $this->decodeRecursive($value); - } - return $decodedArray; - } - - private function decodeNode(array $value) : Node { - $nodeType = $value['nodeType']; - if (!\is_string($nodeType)) { - throw new \RuntimeException('Node type must be a string'); - } - - $reflectionClass = $this->reflectionClassFromNodeType($nodeType); - /** @var Node $node */ - $node = $reflectionClass->newInstanceWithoutConstructor(); - - if (isset($value['attributes'])) { - if (!\is_array($value['attributes'])) { - throw new \RuntimeException('Attributes must be an array'); - } - - $node->setAttributes($this->decodeArray($value['attributes'])); - } - - foreach ($value as $name => $subNode) { - if ($name === 'nodeType' || $name === 'attributes') { - continue; - } - - $node->$name = $this->decodeRecursive($subNode); - } - - return $node; - } - - private function decodeComment(array $value) : Comment { - $className = $value['nodeType'] === 'Comment' ? Comment::class : Comment\Doc::class; - if (!isset($value['text'])) { - throw new \RuntimeException('Comment must have text'); - } - - return new $className( - $value['text'], $value['line'] ?? -1, $value['filePos'] ?? -1, $value['tokenPos'] ?? -1 - ); - } - - private function reflectionClassFromNodeType(string $nodeType) : \ReflectionClass { - if (!isset($this->reflectionClassCache[$nodeType])) { - $className = $this->classNameFromNodeType($nodeType); - $this->reflectionClassCache[$nodeType] = new \ReflectionClass($className); - } - return $this->reflectionClassCache[$nodeType]; - } - - private function classNameFromNodeType(string $nodeType) : string { - $className = 'PhpParser\\Node\\' . strtr($nodeType, '_', '\\'); - if (class_exists($className)) { - return $className; - } - - $className .= '_'; - if (class_exists($className)) { - return $className; - } - - throw new \RuntimeException("Unknown node type \"$nodeType\""); - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Lexer.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Lexer.php deleted file mode 100644 index 012c1f9..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Lexer.php +++ /dev/null @@ -1,416 +0,0 @@ -tokenMap = $this->createTokenMap(); - - // Compatibility define for PHP < 7.4 - if (!defined('T_BAD_CHARACTER')) { - \define('T_BAD_CHARACTER', -1); - } - - // map of tokens to drop while lexing (the map is only used for isset lookup, - // that's why the value is simply set to 1; the value is never actually used.) - $this->dropTokens = array_fill_keys( - [\T_WHITESPACE, \T_OPEN_TAG, \T_COMMENT, \T_DOC_COMMENT, \T_BAD_CHARACTER], 1 - ); - - $defaultAttributes = ['comments', 'startLine', 'endLine']; - $usedAttributes = array_fill_keys($options['usedAttributes'] ?? $defaultAttributes, true); - - // Create individual boolean properties to make these checks faster. - $this->attributeStartLineUsed = isset($usedAttributes['startLine']); - $this->attributeEndLineUsed = isset($usedAttributes['endLine']); - $this->attributeStartTokenPosUsed = isset($usedAttributes['startTokenPos']); - $this->attributeEndTokenPosUsed = isset($usedAttributes['endTokenPos']); - $this->attributeStartFilePosUsed = isset($usedAttributes['startFilePos']); - $this->attributeEndFilePosUsed = isset($usedAttributes['endFilePos']); - $this->attributeCommentsUsed = isset($usedAttributes['comments']); - } - - /** - * Initializes the lexer for lexing the provided source code. - * - * This function does not throw if lexing errors occur. Instead, errors may be retrieved using - * the getErrors() method. - * - * @param string $code The source code to lex - * @param ErrorHandler|null $errorHandler Error handler to use for lexing errors. Defaults to - * ErrorHandler\Throwing - */ - public function startLexing(string $code, ErrorHandler $errorHandler = null) { - if (null === $errorHandler) { - $errorHandler = new ErrorHandler\Throwing(); - } - - $this->code = $code; // keep the code around for __halt_compiler() handling - $this->pos = -1; - $this->line = 1; - $this->filePos = 0; - - // If inline HTML occurs without preceding code, treat it as if it had a leading newline. - // This ensures proper composability, because having a newline is the "safe" assumption. - $this->prevCloseTagHasNewline = true; - - $scream = ini_set('xdebug.scream', '0'); - - error_clear_last(); - $this->tokens = @token_get_all($code); - $this->handleErrors($errorHandler); - - if (false !== $scream) { - ini_set('xdebug.scream', $scream); - } - } - - private function handleInvalidCharacterRange($start, $end, $line, ErrorHandler $errorHandler) { - $tokens = []; - for ($i = $start; $i < $end; $i++) { - $chr = $this->code[$i]; - if ($chr === "\0") { - // PHP cuts error message after null byte, so need special case - $errorMsg = 'Unexpected null byte'; - } else { - $errorMsg = sprintf( - 'Unexpected character "%s" (ASCII %d)', $chr, ord($chr) - ); - } - - $tokens[] = [\T_BAD_CHARACTER, $chr, $line]; - $errorHandler->handleError(new Error($errorMsg, [ - 'startLine' => $line, - 'endLine' => $line, - 'startFilePos' => $i, - 'endFilePos' => $i, - ])); - } - return $tokens; - } - - /** - * Check whether comment token is unterminated. - * - * @return bool - */ - private function isUnterminatedComment($token) : bool { - return ($token[0] === \T_COMMENT || $token[0] === \T_DOC_COMMENT) - && substr($token[1], 0, 2) === '/*' - && substr($token[1], -2) !== '*/'; - } - - /** - * Check whether an error *may* have occurred during tokenization. - * - * @return bool - */ - private function errorMayHaveOccurred() : bool { - if (defined('HHVM_VERSION')) { - // In HHVM token_get_all() does not throw warnings, so we need to conservatively - // assume that an error occurred - return true; - } - - if (PHP_VERSION_ID >= 80000) { - // PHP 8 converts the "bad character" case into a parse error, rather than treating - // it as a lexing warning. To preserve previous behavior, we need to assume that an - // error occurred. - // TODO: We should handle this the same way as PHP 8: Only generate T_BAD_CHARACTER - // token here (for older PHP versions) and leave generationg of the actual parse error - // to the parser. This will also save the full token scan on PHP 8 here. - return true; - } - - return null !== error_get_last(); - } - - protected function handleErrors(ErrorHandler $errorHandler) { - if (!$this->errorMayHaveOccurred()) { - return; - } - - // PHP's error handling for token_get_all() is rather bad, so if we want detailed - // error information we need to compute it ourselves. Invalid character errors are - // detected by finding "gaps" in the token array. Unterminated comments are detected - // by checking if a trailing comment has a "*/" at the end. - - $filePos = 0; - $line = 1; - $numTokens = \count($this->tokens); - for ($i = 0; $i < $numTokens; $i++) { - $token = $this->tokens[$i]; - - // Since PHP 7.4 invalid characters are represented by a T_BAD_CHARACTER token. - // In this case we only need to emit an error. - if ($token[0] === \T_BAD_CHARACTER) { - $this->handleInvalidCharacterRange($filePos, $filePos + 1, $line, $errorHandler); - } - - $tokenValue = \is_string($token) ? $token : $token[1]; - $tokenLen = \strlen($tokenValue); - - if (substr($this->code, $filePos, $tokenLen) !== $tokenValue) { - // Something is missing, must be an invalid character - $nextFilePos = strpos($this->code, $tokenValue, $filePos); - $badCharTokens = $this->handleInvalidCharacterRange( - $filePos, $nextFilePos, $line, $errorHandler); - $filePos = (int) $nextFilePos; - - array_splice($this->tokens, $i, 0, $badCharTokens); - $numTokens += \count($badCharTokens); - $i += \count($badCharTokens); - } - - $filePos += $tokenLen; - $line += substr_count($tokenValue, "\n"); - } - - if ($filePos !== \strlen($this->code)) { - if (substr($this->code, $filePos, 2) === '/*') { - // Unlike PHP, HHVM will drop unterminated comments entirely - $comment = substr($this->code, $filePos); - $errorHandler->handleError(new Error('Unterminated comment', [ - 'startLine' => $line, - 'endLine' => $line + substr_count($comment, "\n"), - 'startFilePos' => $filePos, - 'endFilePos' => $filePos + \strlen($comment), - ])); - - // Emulate the PHP behavior - $isDocComment = isset($comment[3]) && $comment[3] === '*'; - $this->tokens[] = [$isDocComment ? \T_DOC_COMMENT : \T_COMMENT, $comment, $line]; - } else { - // Invalid characters at the end of the input - $badCharTokens = $this->handleInvalidCharacterRange( - $filePos, \strlen($this->code), $line, $errorHandler); - $this->tokens = array_merge($this->tokens, $badCharTokens); - } - return; - } - - if (count($this->tokens) > 0) { - // Check for unterminated comment - $lastToken = $this->tokens[count($this->tokens) - 1]; - if ($this->isUnterminatedComment($lastToken)) { - $errorHandler->handleError(new Error('Unterminated comment', [ - 'startLine' => $line - substr_count($lastToken[1], "\n"), - 'endLine' => $line, - 'startFilePos' => $filePos - \strlen($lastToken[1]), - 'endFilePos' => $filePos, - ])); - } - } - } - - /** - * Fetches the next token. - * - * The available attributes are determined by the 'usedAttributes' option, which can - * be specified in the constructor. The following attributes are supported: - * - * * 'comments' => Array of PhpParser\Comment or PhpParser\Comment\Doc instances, - * representing all comments that occurred between the previous - * non-discarded token and the current one. - * * 'startLine' => Line in which the node starts. - * * 'endLine' => Line in which the node ends. - * * 'startTokenPos' => Offset into the token array of the first token in the node. - * * 'endTokenPos' => Offset into the token array of the last token in the node. - * * 'startFilePos' => Offset into the code string of the first character that is part of the node. - * * 'endFilePos' => Offset into the code string of the last character that is part of the node. - * - * @param mixed $value Variable to store token content in - * @param mixed $startAttributes Variable to store start attributes in - * @param mixed $endAttributes Variable to store end attributes in - * - * @return int Token id - */ - public function getNextToken(&$value = null, &$startAttributes = null, &$endAttributes = null) : int { - $startAttributes = []; - $endAttributes = []; - - while (1) { - if (isset($this->tokens[++$this->pos])) { - $token = $this->tokens[$this->pos]; - } else { - // EOF token with ID 0 - $token = "\0"; - } - - if ($this->attributeStartLineUsed) { - $startAttributes['startLine'] = $this->line; - } - if ($this->attributeStartTokenPosUsed) { - $startAttributes['startTokenPos'] = $this->pos; - } - if ($this->attributeStartFilePosUsed) { - $startAttributes['startFilePos'] = $this->filePos; - } - - if (\is_string($token)) { - $value = $token; - if (isset($token[1])) { - // bug in token_get_all - $this->filePos += 2; - $id = ord('"'); - } else { - $this->filePos += 1; - $id = ord($token); - } - } elseif (!isset($this->dropTokens[$token[0]])) { - $value = $token[1]; - $id = $this->tokenMap[$token[0]]; - if (\T_CLOSE_TAG === $token[0]) { - $this->prevCloseTagHasNewline = false !== strpos($token[1], "\n"); - } elseif (\T_INLINE_HTML === $token[0]) { - $startAttributes['hasLeadingNewline'] = $this->prevCloseTagHasNewline; - } - - $this->line += substr_count($value, "\n"); - $this->filePos += \strlen($value); - } else { - if (\T_COMMENT === $token[0] || \T_DOC_COMMENT === $token[0]) { - if ($this->attributeCommentsUsed) { - $comment = \T_DOC_COMMENT === $token[0] - ? new Comment\Doc($token[1], $this->line, $this->filePos, $this->pos) - : new Comment($token[1], $this->line, $this->filePos, $this->pos); - $startAttributes['comments'][] = $comment; - } - } - - $this->line += substr_count($token[1], "\n"); - $this->filePos += \strlen($token[1]); - continue; - } - - if ($this->attributeEndLineUsed) { - $endAttributes['endLine'] = $this->line; - } - if ($this->attributeEndTokenPosUsed) { - $endAttributes['endTokenPos'] = $this->pos; - } - if ($this->attributeEndFilePosUsed) { - $endAttributes['endFilePos'] = $this->filePos - 1; - } - - return $id; - } - - throw new \RuntimeException('Reached end of lexer loop'); - } - - /** - * Returns the token array for current code. - * - * The token array is in the same format as provided by the - * token_get_all() function and does not discard tokens (i.e. - * whitespace and comments are included). The token position - * attributes are against this token array. - * - * @return array Array of tokens in token_get_all() format - */ - public function getTokens() : array { - return $this->tokens; - } - - /** - * Handles __halt_compiler() by returning the text after it. - * - * @return string Remaining text - */ - public function handleHaltCompiler() : string { - // text after T_HALT_COMPILER, still including (); - $textAfter = substr($this->code, $this->filePos); - - // ensure that it is followed by (); - // this simplifies the situation, by not allowing any comments - // in between of the tokens. - if (!preg_match('~^\s*\(\s*\)\s*(?:;|\?>\r?\n?)~', $textAfter, $matches)) { - throw new Error('__HALT_COMPILER must be followed by "();"'); - } - - // prevent the lexer from returning any further tokens - $this->pos = count($this->tokens); - - // return with (); removed - return substr($textAfter, strlen($matches[0])); - } - - /** - * Creates the token map. - * - * The token map maps the PHP internal token identifiers - * to the identifiers used by the Parser. Additionally it - * maps T_OPEN_TAG_WITH_ECHO to T_ECHO and T_CLOSE_TAG to ';'. - * - * @return array The token map - */ - protected function createTokenMap() : array { - $tokenMap = []; - - // 256 is the minimum possible token number, as everything below - // it is an ASCII value - for ($i = 256; $i < 1000; ++$i) { - if (\T_DOUBLE_COLON === $i) { - // T_DOUBLE_COLON is equivalent to T_PAAMAYIM_NEKUDOTAYIM - $tokenMap[$i] = Tokens::T_PAAMAYIM_NEKUDOTAYIM; - } elseif(\T_OPEN_TAG_WITH_ECHO === $i) { - // T_OPEN_TAG_WITH_ECHO with dropped T_OPEN_TAG results in T_ECHO - $tokenMap[$i] = Tokens::T_ECHO; - } elseif(\T_CLOSE_TAG === $i) { - // T_CLOSE_TAG is equivalent to ';' - $tokenMap[$i] = ord(';'); - } elseif ('UNKNOWN' !== $name = token_name($i)) { - if ('T_HASHBANG' === $name) { - // HHVM uses a special token for #! hashbang lines - $tokenMap[$i] = Tokens::T_INLINE_HTML; - } elseif (defined($name = Tokens::class . '::' . $name)) { - // Other tokens can be mapped directly - $tokenMap[$i] = constant($name); - } - } - } - - // HHVM uses a special token for numbers that overflow to double - if (defined('T_ONUMBER')) { - $tokenMap[\T_ONUMBER] = Tokens::T_DNUMBER; - } - // HHVM also has a separate token for the __COMPILER_HALT_OFFSET__ constant - if (defined('T_COMPILER_HALT_OFFSET')) { - $tokenMap[\T_COMPILER_HALT_OFFSET] = Tokens::T_STRING; - } - - return $tokenMap; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Lexer/Emulative.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Lexer/Emulative.php deleted file mode 100644 index 0e14541..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Lexer/Emulative.php +++ /dev/null @@ -1,250 +0,0 @@ -\h*)\2(?![a-zA-Z0-9_\x80-\xff])(?(?:;?[\r\n])?)/x -REGEX; - - /** @var mixed[] Patches used to reverse changes introduced in the code */ - private $patches = []; - - /** @var TokenEmulatorInterface[] */ - private $tokenEmulators = []; - - /** - * @param mixed[] $options - */ - public function __construct(array $options = []) - { - parent::__construct($options); - - $this->tokenEmulators[] = new FnTokenEmulator(); - $this->tokenEmulators[] = new CoaleseEqualTokenEmulator(); - $this->tokenEmulators[] = new NumericLiteralSeparatorEmulator(); - - $this->tokenMap[self::T_COALESCE_EQUAL] = Tokens::T_COALESCE_EQUAL; - $this->tokenMap[self::T_FN] = Tokens::T_FN; - } - - public function startLexing(string $code, ErrorHandler $errorHandler = null) { - $this->patches = []; - - if ($this->isEmulationNeeded($code) === false) { - // Nothing to emulate, yay - parent::startLexing($code, $errorHandler); - return; - } - - $collector = new ErrorHandler\Collecting(); - - // 1. emulation of heredoc and nowdoc new syntax - $preparedCode = $this->processHeredocNowdoc($code); - parent::startLexing($preparedCode, $collector); - $this->fixupTokens(); - - $errors = $collector->getErrors(); - if (!empty($errors)) { - $this->fixupErrors($errors); - foreach ($errors as $error) { - $errorHandler->handleError($error); - } - } - - // add token emulation - foreach ($this->tokenEmulators as $emulativeToken) { - if ($emulativeToken->isEmulationNeeded($code)) { - $this->tokens = $emulativeToken->emulate($code, $this->tokens); - } - } - } - - private function isHeredocNowdocEmulationNeeded(string $code): bool - { - // skip version where this works without emulation - if (version_compare(\PHP_VERSION, self::PHP_7_3, '>=')) { - return false; - } - - return strpos($code, '<<<') !== false; - } - - private function processHeredocNowdoc(string $code): string - { - if ($this->isHeredocNowdocEmulationNeeded($code) === false) { - return $code; - } - - if (!preg_match_all(self::FLEXIBLE_DOC_STRING_REGEX, $code, $matches, PREG_SET_ORDER|PREG_OFFSET_CAPTURE)) { - // No heredoc/nowdoc found - return $code; - } - - // Keep track of how much we need to adjust string offsets due to the modifications we - // already made - $posDelta = 0; - foreach ($matches as $match) { - $indentation = $match['indentation'][0]; - $indentationStart = $match['indentation'][1]; - - $separator = $match['separator'][0]; - $separatorStart = $match['separator'][1]; - - if ($indentation === '' && $separator !== '') { - // Ordinary heredoc/nowdoc - continue; - } - - if ($indentation !== '') { - // Remove indentation - $indentationLen = strlen($indentation); - $code = substr_replace($code, '', $indentationStart + $posDelta, $indentationLen); - $this->patches[] = [$indentationStart + $posDelta, 'add', $indentation]; - $posDelta -= $indentationLen; - } - - if ($separator === '') { - // Insert newline as separator - $code = substr_replace($code, "\n", $separatorStart + $posDelta, 0); - $this->patches[] = [$separatorStart + $posDelta, 'remove', "\n"]; - $posDelta += 1; - } - } - - return $code; - } - - private function isEmulationNeeded(string $code): bool - { - foreach ($this->tokenEmulators as $emulativeToken) { - if ($emulativeToken->isEmulationNeeded($code)) { - return true; - } - } - - return $this->isHeredocNowdocEmulationNeeded($code); - } - - private function fixupTokens() - { - if (\count($this->patches) === 0) { - return; - } - - // Load first patch - $patchIdx = 0; - - list($patchPos, $patchType, $patchText) = $this->patches[$patchIdx]; - - // We use a manual loop over the tokens, because we modify the array on the fly - $pos = 0; - for ($i = 0, $c = \count($this->tokens); $i < $c; $i++) { - $token = $this->tokens[$i]; - if (\is_string($token)) { - // We assume that patches don't apply to string tokens - $pos += \strlen($token); - continue; - } - - $len = \strlen($token[1]); - $posDelta = 0; - while ($patchPos >= $pos && $patchPos < $pos + $len) { - $patchTextLen = \strlen($patchText); - if ($patchType === 'remove') { - if ($patchPos === $pos && $patchTextLen === $len) { - // Remove token entirely - array_splice($this->tokens, $i, 1, []); - $i--; - $c--; - } else { - // Remove from token string - $this->tokens[$i][1] = substr_replace( - $token[1], '', $patchPos - $pos + $posDelta, $patchTextLen - ); - $posDelta -= $patchTextLen; - } - } elseif ($patchType === 'add') { - // Insert into the token string - $this->tokens[$i][1] = substr_replace( - $token[1], $patchText, $patchPos - $pos + $posDelta, 0 - ); - $posDelta += $patchTextLen; - } else { - assert(false); - } - - // Fetch the next patch - $patchIdx++; - if ($patchIdx >= \count($this->patches)) { - // No more patches, we're done - return; - } - - list($patchPos, $patchType, $patchText) = $this->patches[$patchIdx]; - - // Multiple patches may apply to the same token. Reload the current one to check - // If the new patch applies - $token = $this->tokens[$i]; - } - - $pos += $len; - } - - // A patch did not apply - assert(false); - } - - /** - * Fixup line and position information in errors. - * - * @param Error[] $errors - */ - private function fixupErrors(array $errors) { - foreach ($errors as $error) { - $attrs = $error->getAttributes(); - - $posDelta = 0; - $lineDelta = 0; - foreach ($this->patches as $patch) { - list($patchPos, $patchType, $patchText) = $patch; - if ($patchPos >= $attrs['startFilePos']) { - // No longer relevant - break; - } - - if ($patchType === 'add') { - $posDelta += strlen($patchText); - $lineDelta += substr_count($patchText, "\n"); - } else { - $posDelta -= strlen($patchText); - $lineDelta -= substr_count($patchText, "\n"); - } - } - - $attrs['startFilePos'] += $posDelta; - $attrs['endFilePos'] += $posDelta; - $attrs['startLine'] += $lineDelta; - $attrs['endLine'] += $lineDelta; - $error->setAttributes($attrs); - } - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/CoaleseEqualTokenEmulator.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/CoaleseEqualTokenEmulator.php deleted file mode 100644 index 10f7e1e..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/CoaleseEqualTokenEmulator.php +++ /dev/null @@ -1,41 +0,0 @@ -=')) { - return false; - } - - return strpos($code, '??=') !== false; - } - - public function emulate(string $code, array $tokens): array - { - // We need to manually iterate and manage a count because we'll change - // the tokens array on the way - $line = 1; - for ($i = 0, $c = count($tokens); $i < $c; ++$i) { - if (isset($tokens[$i + 1])) { - if ($tokens[$i][0] === T_COALESCE && $tokens[$i + 1] === '=') { - array_splice($tokens, $i, 2, [ - [Emulative::T_COALESCE_EQUAL, '??=', $line] - ]); - $c--; - continue; - } - } - if (\is_array($tokens[$i])) { - $line += substr_count($tokens[$i][1], "\n"); - } - } - - return $tokens; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/FnTokenEmulator.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/FnTokenEmulator.php deleted file mode 100644 index 0939dd4..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/FnTokenEmulator.php +++ /dev/null @@ -1,53 +0,0 @@ -=')) { - return false; - } - - return strpos($code, 'fn') !== false; - } - - public function emulate(string $code, array $tokens): array - { - // We need to manually iterate and manage a count because we'll change - // the tokens array on the way - foreach ($tokens as $i => $token) { - if ($token[0] === T_STRING && $token[1] === 'fn') { - $previousNonSpaceToken = $this->getPreviousNonSpaceToken($tokens, $i); - if ($previousNonSpaceToken !== null && $previousNonSpaceToken[0] === T_OBJECT_OPERATOR) { - continue; - } - - $tokens[$i][0] = Emulative::T_FN; - } - } - - return $tokens; - } - - /** - * @param mixed[] $tokens - * @return mixed[]|null - */ - private function getPreviousNonSpaceToken(array $tokens, int $start) - { - for ($i = $start - 1; $i >= 0; --$i) { - if ($tokens[$i][0] === T_WHITESPACE) { - continue; - } - - return $tokens[$i]; - } - - return null; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/NumericLiteralSeparatorEmulator.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/NumericLiteralSeparatorEmulator.php deleted file mode 100644 index f564c59..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/NumericLiteralSeparatorEmulator.php +++ /dev/null @@ -1,98 +0,0 @@ -=')) { - return false; - } - - return preg_match('~[0-9a-f]_[0-9a-f]~i', $code) !== false; - } - - public function emulate(string $code, array $tokens): array - { - // We need to manually iterate and manage a count because we'll change - // the tokens array on the way - $codeOffset = 0; - for ($i = 0, $c = count($tokens); $i < $c; ++$i) { - $token = $tokens[$i]; - $tokenLen = \strlen(\is_array($token) ? $token[1] : $token); - - if ($token[0] !== T_LNUMBER && $token[0] !== T_DNUMBER) { - $codeOffset += $tokenLen; - continue; - } - - $res = preg_match(self::NUMBER, $code, $matches, 0, $codeOffset); - assert($res, "No number at number token position"); - - $match = $matches[0]; - $matchLen = \strlen($match); - if ($matchLen === $tokenLen) { - // Original token already holds the full number. - $codeOffset += $tokenLen; - continue; - } - - $tokenKind = $this->resolveIntegerOrFloatToken($match); - $newTokens = [[$tokenKind, $match, $token[2]]]; - - $numTokens = 1; - $len = $tokenLen; - while ($matchLen > $len) { - $nextToken = $tokens[$i + $numTokens]; - $nextTokenText = \is_array($nextToken) ? $nextToken[1] : $nextToken; - $nextTokenLen = \strlen($nextTokenText); - - $numTokens++; - if ($matchLen < $len + $nextTokenLen) { - // Split trailing characters into a partial token. - assert(is_array($nextToken), "Partial token should be an array token"); - $partialText = substr($nextTokenText, $matchLen - $len); - $newTokens[] = [$nextToken[0], $partialText, $nextToken[2]]; - break; - } - - $len += $nextTokenLen; - } - - array_splice($tokens, $i, $numTokens, $newTokens); - $c -= $numTokens - \count($newTokens); - $codeOffset += $matchLen; - } - - return $tokens; - } - - private function resolveIntegerOrFloatToken(string $str): int - { - $str = str_replace('_', '', $str); - - if (stripos($str, '0b') === 0) { - $num = bindec($str); - } elseif (stripos($str, '0x') === 0) { - $num = hexdec($str); - } elseif (stripos($str, '0') === 0 && ctype_digit($str)) { - $num = octdec($str); - } else { - $num = +$str; - } - - return is_float($num) ? T_DNUMBER : T_LNUMBER; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/TokenEmulatorInterface.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/TokenEmulatorInterface.php deleted file mode 100644 index e03ccc6..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/TokenEmulatorInterface.php +++ /dev/null @@ -1,14 +0,0 @@ - [aliasName => originalName]] */ - protected $aliases = []; - - /** @var Name[][] Same as $aliases but preserving original case */ - protected $origAliases = []; - - /** @var ErrorHandler Error handler */ - protected $errorHandler; - - /** - * Create a name context. - * - * @param ErrorHandler $errorHandler Error handling used to report errors - */ - public function __construct(ErrorHandler $errorHandler) { - $this->errorHandler = $errorHandler; - } - - /** - * Start a new namespace. - * - * This also resets the alias table. - * - * @param Name|null $namespace Null is the global namespace - */ - public function startNamespace(Name $namespace = null) { - $this->namespace = $namespace; - $this->origAliases = $this->aliases = [ - Stmt\Use_::TYPE_NORMAL => [], - Stmt\Use_::TYPE_FUNCTION => [], - Stmt\Use_::TYPE_CONSTANT => [], - ]; - } - - /** - * Add an alias / import. - * - * @param Name $name Original name - * @param string $aliasName Aliased name - * @param int $type One of Stmt\Use_::TYPE_* - * @param array $errorAttrs Attributes to use to report an error - */ - public function addAlias(Name $name, string $aliasName, int $type, array $errorAttrs = []) { - // Constant names are case sensitive, everything else case insensitive - if ($type === Stmt\Use_::TYPE_CONSTANT) { - $aliasLookupName = $aliasName; - } else { - $aliasLookupName = strtolower($aliasName); - } - - if (isset($this->aliases[$type][$aliasLookupName])) { - $typeStringMap = [ - Stmt\Use_::TYPE_NORMAL => '', - Stmt\Use_::TYPE_FUNCTION => 'function ', - Stmt\Use_::TYPE_CONSTANT => 'const ', - ]; - - $this->errorHandler->handleError(new Error( - sprintf( - 'Cannot use %s%s as %s because the name is already in use', - $typeStringMap[$type], $name, $aliasName - ), - $errorAttrs - )); - return; - } - - $this->aliases[$type][$aliasLookupName] = $name; - $this->origAliases[$type][$aliasName] = $name; - } - - /** - * Get current namespace. - * - * @return null|Name Namespace (or null if global namespace) - */ - public function getNamespace() { - return $this->namespace; - } - - /** - * Get resolved name. - * - * @param Name $name Name to resolve - * @param int $type One of Stmt\Use_::TYPE_{FUNCTION|CONSTANT} - * - * @return null|Name Resolved name, or null if static resolution is not possible - */ - public function getResolvedName(Name $name, int $type) { - // don't resolve special class names - if ($type === Stmt\Use_::TYPE_NORMAL && $name->isSpecialClassName()) { - if (!$name->isUnqualified()) { - $this->errorHandler->handleError(new Error( - sprintf("'\\%s' is an invalid class name", $name->toString()), - $name->getAttributes() - )); - } - return $name; - } - - // fully qualified names are already resolved - if ($name->isFullyQualified()) { - return $name; - } - - // Try to resolve aliases - if (null !== $resolvedName = $this->resolveAlias($name, $type)) { - return $resolvedName; - } - - if ($type !== Stmt\Use_::TYPE_NORMAL && $name->isUnqualified()) { - if (null === $this->namespace) { - // outside of a namespace unaliased unqualified is same as fully qualified - return new FullyQualified($name, $name->getAttributes()); - } - - // Cannot resolve statically - return null; - } - - // if no alias exists prepend current namespace - return FullyQualified::concat($this->namespace, $name, $name->getAttributes()); - } - - /** - * Get resolved class name. - * - * @param Name $name Class ame to resolve - * - * @return Name Resolved name - */ - public function getResolvedClassName(Name $name) : Name { - return $this->getResolvedName($name, Stmt\Use_::TYPE_NORMAL); - } - - /** - * Get possible ways of writing a fully qualified name (e.g., by making use of aliases). - * - * @param string $name Fully-qualified name (without leading namespace separator) - * @param int $type One of Stmt\Use_::TYPE_* - * - * @return Name[] Possible representations of the name - */ - public function getPossibleNames(string $name, int $type) : array { - $lcName = strtolower($name); - - if ($type === Stmt\Use_::TYPE_NORMAL) { - // self, parent and static must always be unqualified - if ($lcName === "self" || $lcName === "parent" || $lcName === "static") { - return [new Name($name)]; - } - } - - // Collect possible ways to write this name, starting with the fully-qualified name - $possibleNames = [new FullyQualified($name)]; - - if (null !== $nsRelativeName = $this->getNamespaceRelativeName($name, $lcName, $type)) { - // Make sure there is no alias that makes the normally namespace-relative name - // into something else - if (null === $this->resolveAlias($nsRelativeName, $type)) { - $possibleNames[] = $nsRelativeName; - } - } - - // Check for relevant namespace use statements - foreach ($this->origAliases[Stmt\Use_::TYPE_NORMAL] as $alias => $orig) { - $lcOrig = $orig->toLowerString(); - if (0 === strpos($lcName, $lcOrig . '\\')) { - $possibleNames[] = new Name($alias . substr($name, strlen($lcOrig))); - } - } - - // Check for relevant type-specific use statements - foreach ($this->origAliases[$type] as $alias => $orig) { - if ($type === Stmt\Use_::TYPE_CONSTANT) { - // Constants are are complicated-sensitive - $normalizedOrig = $this->normalizeConstName($orig->toString()); - if ($normalizedOrig === $this->normalizeConstName($name)) { - $possibleNames[] = new Name($alias); - } - } else { - // Everything else is case-insensitive - if ($orig->toLowerString() === $lcName) { - $possibleNames[] = new Name($alias); - } - } - } - - return $possibleNames; - } - - /** - * Get shortest representation of this fully-qualified name. - * - * @param string $name Fully-qualified name (without leading namespace separator) - * @param int $type One of Stmt\Use_::TYPE_* - * - * @return Name Shortest representation - */ - public function getShortName(string $name, int $type) : Name { - $possibleNames = $this->getPossibleNames($name, $type); - - // Find shortest name - $shortestName = null; - $shortestLength = \INF; - foreach ($possibleNames as $possibleName) { - $length = strlen($possibleName->toCodeString()); - if ($length < $shortestLength) { - $shortestName = $possibleName; - $shortestLength = $length; - } - } - - return $shortestName; - } - - private function resolveAlias(Name $name, $type) { - $firstPart = $name->getFirst(); - - if ($name->isQualified()) { - // resolve aliases for qualified names, always against class alias table - $checkName = strtolower($firstPart); - if (isset($this->aliases[Stmt\Use_::TYPE_NORMAL][$checkName])) { - $alias = $this->aliases[Stmt\Use_::TYPE_NORMAL][$checkName]; - return FullyQualified::concat($alias, $name->slice(1), $name->getAttributes()); - } - } elseif ($name->isUnqualified()) { - // constant aliases are case-sensitive, function aliases case-insensitive - $checkName = $type === Stmt\Use_::TYPE_CONSTANT ? $firstPart : strtolower($firstPart); - if (isset($this->aliases[$type][$checkName])) { - // resolve unqualified aliases - return new FullyQualified($this->aliases[$type][$checkName], $name->getAttributes()); - } - } - - // No applicable aliases - return null; - } - - private function getNamespaceRelativeName(string $name, string $lcName, int $type) { - if (null === $this->namespace) { - return new Name($name); - } - - if ($type === Stmt\Use_::TYPE_CONSTANT) { - // The constants true/false/null always resolve to the global symbols, even inside a - // namespace, so they may be used without qualification - if ($lcName === "true" || $lcName === "false" || $lcName === "null") { - return new Name($name); - } - } - - $namespacePrefix = strtolower($this->namespace . '\\'); - if (0 === strpos($lcName, $namespacePrefix)) { - return new Name(substr($name, strlen($namespacePrefix))); - } - - return null; - } - - private function normalizeConstName(string $name) { - $nsSep = strrpos($name, '\\'); - if (false === $nsSep) { - return $name; - } - - // Constants have case-insensitive namespace and case-sensitive short-name - $ns = substr($name, 0, $nsSep); - $shortName = substr($name, $nsSep + 1); - return strtolower($ns) . '\\' . $shortName; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node.php deleted file mode 100644 index 7f04c34..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node.php +++ /dev/null @@ -1,153 +0,0 @@ -attributes = $attributes; - $this->value = $value; - $this->byRef = $byRef; - $this->unpack = $unpack; - } - - public function getSubNodeNames() : array { - return ['value', 'byRef', 'unpack']; - } - - public function getType() : string { - return 'Arg'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Const_.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Const_.php deleted file mode 100644 index 4094a65..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Const_.php +++ /dev/null @@ -1,37 +0,0 @@ -attributes = $attributes; - $this->name = \is_string($name) ? new Identifier($name) : $name; - $this->value = $value; - } - - public function getSubNodeNames() : array { - return ['name', 'value']; - } - - public function getType() : string { - return 'Const'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr.php deleted file mode 100644 index 6cf4df2..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr.php +++ /dev/null @@ -1,9 +0,0 @@ -attributes = $attributes; - $this->var = $var; - $this->dim = $dim; - } - - public function getSubNodeNames() : array { - return ['var', 'dim']; - } - - public function getType() : string { - return 'Expr_ArrayDimFetch'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ArrayItem.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ArrayItem.php deleted file mode 100644 index 1b078f8..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ArrayItem.php +++ /dev/null @@ -1,41 +0,0 @@ -attributes = $attributes; - $this->key = $key; - $this->value = $value; - $this->byRef = $byRef; - $this->unpack = $unpack; - } - - public function getSubNodeNames() : array { - return ['key', 'value', 'byRef', 'unpack']; - } - - public function getType() : string { - return 'Expr_ArrayItem'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Array_.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Array_.php deleted file mode 100644 index fbe207e..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Array_.php +++ /dev/null @@ -1,34 +0,0 @@ -attributes = $attributes; - $this->items = $items; - } - - public function getSubNodeNames() : array { - return ['items']; - } - - public function getType() : string { - return 'Expr_Array'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ArrowFunction.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ArrowFunction.php deleted file mode 100644 index 608055f..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ArrowFunction.php +++ /dev/null @@ -1,71 +0,0 @@ - false : Whether the closure is static - * 'byRef' => false : Whether to return by reference - * 'params' => array() : Parameters - * 'returnType' => null : Return type - * 'expr' => Expr : Expression body - * @param array $attributes Additional attributes - */ - public function __construct(array $subNodes = [], array $attributes = []) { - $this->attributes = $attributes; - $this->static = $subNodes['static'] ?? false; - $this->byRef = $subNodes['byRef'] ?? false; - $this->params = $subNodes['params'] ?? []; - $returnType = $subNodes['returnType'] ?? null; - $this->returnType = \is_string($returnType) ? new Node\Identifier($returnType) : $returnType; - $this->expr = $subNodes['expr'] ?? null; - } - - public function getSubNodeNames() : array { - return ['static', 'byRef', 'params', 'returnType', 'expr']; - } - - public function returnsByRef() : bool { - return $this->byRef; - } - - public function getParams() : array { - return $this->params; - } - - public function getReturnType() { - return $this->returnType; - } - - /** - * @return Node\Stmt\Return_[] - */ - public function getStmts() : array { - return [new Node\Stmt\Return_($this->expr)]; - } - - public function getType() : string { - return 'Expr_ArrowFunction'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Assign.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Assign.php deleted file mode 100644 index cf9e6e8..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Assign.php +++ /dev/null @@ -1,34 +0,0 @@ -attributes = $attributes; - $this->var = $var; - $this->expr = $expr; - } - - public function getSubNodeNames() : array { - return ['var', 'expr']; - } - - public function getType() : string { - return 'Expr_Assign'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp.php deleted file mode 100644 index bce8604..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp.php +++ /dev/null @@ -1,30 +0,0 @@ -attributes = $attributes; - $this->var = $var; - $this->expr = $expr; - } - - public function getSubNodeNames() : array { - return ['var', 'expr']; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/BitwiseAnd.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/BitwiseAnd.php deleted file mode 100644 index 420284c..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/BitwiseAnd.php +++ /dev/null @@ -1,12 +0,0 @@ -attributes = $attributes; - $this->var = $var; - $this->expr = $expr; - } - - public function getSubNodeNames() : array { - return ['var', 'expr']; - } - - public function getType() : string { - return 'Expr_AssignRef'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp.php deleted file mode 100644 index d9c582b..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp.php +++ /dev/null @@ -1,40 +0,0 @@ -attributes = $attributes; - $this->left = $left; - $this->right = $right; - } - - public function getSubNodeNames() : array { - return ['left', 'right']; - } - - /** - * Get the operator sigil for this binary operation. - * - * In the case there are multiple possible sigils for an operator, this method does not - * necessarily return the one used in the parsed code. - * - * @return string - */ - abstract public function getOperatorSigil() : string; -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BitwiseAnd.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BitwiseAnd.php deleted file mode 100644 index d907393..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BitwiseAnd.php +++ /dev/null @@ -1,16 +0,0 @@ -'; - } - - public function getType() : string { - return 'Expr_BinaryOp_Greater'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/GreaterOrEqual.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/GreaterOrEqual.php deleted file mode 100644 index d677502..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/GreaterOrEqual.php +++ /dev/null @@ -1,16 +0,0 @@ -='; - } - - public function getType() : string { - return 'Expr_BinaryOp_GreaterOrEqual'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Identical.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Identical.php deleted file mode 100644 index 3d96285..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Identical.php +++ /dev/null @@ -1,16 +0,0 @@ ->'; - } - - public function getType() : string { - return 'Expr_BinaryOp_ShiftRight'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Smaller.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Smaller.php deleted file mode 100644 index 3cb8e7e..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Smaller.php +++ /dev/null @@ -1,16 +0,0 @@ -'; - } - - public function getType() : string { - return 'Expr_BinaryOp_Spaceship'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BitwiseNot.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BitwiseNot.php deleted file mode 100644 index ed44984..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BitwiseNot.php +++ /dev/null @@ -1,30 +0,0 @@ -attributes = $attributes; - $this->expr = $expr; - } - - public function getSubNodeNames() : array { - return ['expr']; - } - - public function getType() : string { - return 'Expr_BitwiseNot'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BooleanNot.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BooleanNot.php deleted file mode 100644 index bf27e9f..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BooleanNot.php +++ /dev/null @@ -1,30 +0,0 @@ -attributes = $attributes; - $this->expr = $expr; - } - - public function getSubNodeNames() : array { - return ['expr']; - } - - public function getType() : string { - return 'Expr_BooleanNot'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast.php deleted file mode 100644 index 36769d4..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast.php +++ /dev/null @@ -1,26 +0,0 @@ -attributes = $attributes; - $this->expr = $expr; - } - - public function getSubNodeNames() : array { - return ['expr']; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Array_.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Array_.php deleted file mode 100644 index 57cc473..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Array_.php +++ /dev/null @@ -1,12 +0,0 @@ -attributes = $attributes; - $this->class = $class; - $this->name = \is_string($name) ? new Identifier($name) : $name; - } - - public function getSubNodeNames() : array { - return ['class', 'name']; - } - - public function getType() : string { - return 'Expr_ClassConstFetch'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Clone_.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Clone_.php deleted file mode 100644 index db216b8..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Clone_.php +++ /dev/null @@ -1,30 +0,0 @@ -attributes = $attributes; - $this->expr = $expr; - } - - public function getSubNodeNames() : array { - return ['expr']; - } - - public function getType() : string { - return 'Expr_Clone'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Closure.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Closure.php deleted file mode 100644 index 9a5fee2..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Closure.php +++ /dev/null @@ -1,71 +0,0 @@ - false : Whether the closure is static - * 'byRef' => false : Whether to return by reference - * 'params' => array(): Parameters - * 'uses' => array(): use()s - * 'returnType' => null : Return type - * 'stmts' => array(): Statements - * @param array $attributes Additional attributes - */ - public function __construct(array $subNodes = [], array $attributes = []) { - $this->attributes = $attributes; - $this->static = $subNodes['static'] ?? false; - $this->byRef = $subNodes['byRef'] ?? false; - $this->params = $subNodes['params'] ?? []; - $this->uses = $subNodes['uses'] ?? []; - $returnType = $subNodes['returnType'] ?? null; - $this->returnType = \is_string($returnType) ? new Node\Identifier($returnType) : $returnType; - $this->stmts = $subNodes['stmts'] ?? []; - } - - public function getSubNodeNames() : array { - return ['static', 'byRef', 'params', 'uses', 'returnType', 'stmts']; - } - - public function returnsByRef() : bool { - return $this->byRef; - } - - public function getParams() : array { - return $this->params; - } - - public function getReturnType() { - return $this->returnType; - } - - /** @return Node\Stmt[] */ - public function getStmts() : array { - return $this->stmts; - } - - public function getType() : string { - return 'Expr_Closure'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ClosureUse.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ClosureUse.php deleted file mode 100644 index 2b8a096..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ClosureUse.php +++ /dev/null @@ -1,34 +0,0 @@ -attributes = $attributes; - $this->var = $var; - $this->byRef = $byRef; - } - - public function getSubNodeNames() : array { - return ['var', 'byRef']; - } - - public function getType() : string { - return 'Expr_ClosureUse'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ConstFetch.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ConstFetch.php deleted file mode 100644 index 14ebd16..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ConstFetch.php +++ /dev/null @@ -1,31 +0,0 @@ -attributes = $attributes; - $this->name = $name; - } - - public function getSubNodeNames() : array { - return ['name']; - } - - public function getType() : string { - return 'Expr_ConstFetch'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Empty_.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Empty_.php deleted file mode 100644 index 4042ec9..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Empty_.php +++ /dev/null @@ -1,30 +0,0 @@ -attributes = $attributes; - $this->expr = $expr; - } - - public function getSubNodeNames() : array { - return ['expr']; - } - - public function getType() : string { - return 'Expr_Empty'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Error.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Error.php deleted file mode 100644 index 1637f3a..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Error.php +++ /dev/null @@ -1,31 +0,0 @@ -attributes = $attributes; - } - - public function getSubNodeNames() : array { - return []; - } - - public function getType() : string { - return 'Expr_Error'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ErrorSuppress.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ErrorSuppress.php deleted file mode 100644 index c44ff6f..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ErrorSuppress.php +++ /dev/null @@ -1,30 +0,0 @@ -attributes = $attributes; - $this->expr = $expr; - } - - public function getSubNodeNames() : array { - return ['expr']; - } - - public function getType() : string { - return 'Expr_ErrorSuppress'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Eval_.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Eval_.php deleted file mode 100644 index 8568547..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Eval_.php +++ /dev/null @@ -1,30 +0,0 @@ -attributes = $attributes; - $this->expr = $expr; - } - - public function getSubNodeNames() : array { - return ['expr']; - } - - public function getType() : string { - return 'Expr_Eval'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Exit_.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Exit_.php deleted file mode 100644 index b88a8f7..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Exit_.php +++ /dev/null @@ -1,34 +0,0 @@ -attributes = $attributes; - $this->expr = $expr; - } - - public function getSubNodeNames() : array { - return ['expr']; - } - - public function getType() : string { - return 'Expr_Exit'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/FuncCall.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/FuncCall.php deleted file mode 100644 index 1e8afa5..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/FuncCall.php +++ /dev/null @@ -1,35 +0,0 @@ -attributes = $attributes; - $this->name = $name; - $this->args = $args; - } - - public function getSubNodeNames() : array { - return ['name', 'args']; - } - - public function getType() : string { - return 'Expr_FuncCall'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Include_.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Include_.php deleted file mode 100644 index 07ce596..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Include_.php +++ /dev/null @@ -1,39 +0,0 @@ -attributes = $attributes; - $this->expr = $expr; - $this->type = $type; - } - - public function getSubNodeNames() : array { - return ['expr', 'type']; - } - - public function getType() : string { - return 'Expr_Include'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Instanceof_.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Instanceof_.php deleted file mode 100644 index 9000d47..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Instanceof_.php +++ /dev/null @@ -1,35 +0,0 @@ -attributes = $attributes; - $this->expr = $expr; - $this->class = $class; - } - - public function getSubNodeNames() : array { - return ['expr', 'class']; - } - - public function getType() : string { - return 'Expr_Instanceof'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Isset_.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Isset_.php deleted file mode 100644 index 76b7387..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Isset_.php +++ /dev/null @@ -1,30 +0,0 @@ -attributes = $attributes; - $this->vars = $vars; - } - - public function getSubNodeNames() : array { - return ['vars']; - } - - public function getType() : string { - return 'Expr_Isset'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/List_.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/List_.php deleted file mode 100644 index c27a27b..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/List_.php +++ /dev/null @@ -1,30 +0,0 @@ -attributes = $attributes; - $this->items = $items; - } - - public function getSubNodeNames() : array { - return ['items']; - } - - public function getType() : string { - return 'Expr_List'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/MethodCall.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/MethodCall.php deleted file mode 100644 index bd81bb4..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/MethodCall.php +++ /dev/null @@ -1,40 +0,0 @@ -attributes = $attributes; - $this->var = $var; - $this->name = \is_string($name) ? new Identifier($name) : $name; - $this->args = $args; - } - - public function getSubNodeNames() : array { - return ['var', 'name', 'args']; - } - - public function getType() : string { - return 'Expr_MethodCall'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/New_.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/New_.php deleted file mode 100644 index c86f0c6..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/New_.php +++ /dev/null @@ -1,35 +0,0 @@ -attributes = $attributes; - $this->class = $class; - $this->args = $args; - } - - public function getSubNodeNames() : array { - return ['class', 'args']; - } - - public function getType() : string { - return 'Expr_New'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/PostDec.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/PostDec.php deleted file mode 100644 index 94d6c29..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/PostDec.php +++ /dev/null @@ -1,30 +0,0 @@ -attributes = $attributes; - $this->var = $var; - } - - public function getSubNodeNames() : array { - return ['var']; - } - - public function getType() : string { - return 'Expr_PostDec'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/PostInc.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/PostInc.php deleted file mode 100644 index 005c443..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/PostInc.php +++ /dev/null @@ -1,30 +0,0 @@ -attributes = $attributes; - $this->var = $var; - } - - public function getSubNodeNames() : array { - return ['var']; - } - - public function getType() : string { - return 'Expr_PostInc'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/PreDec.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/PreDec.php deleted file mode 100644 index a5ca685..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/PreDec.php +++ /dev/null @@ -1,30 +0,0 @@ -attributes = $attributes; - $this->var = $var; - } - - public function getSubNodeNames() : array { - return ['var']; - } - - public function getType() : string { - return 'Expr_PreDec'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/PreInc.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/PreInc.php deleted file mode 100644 index 0986c44..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/PreInc.php +++ /dev/null @@ -1,30 +0,0 @@ -attributes = $attributes; - $this->var = $var; - } - - public function getSubNodeNames() : array { - return ['var']; - } - - public function getType() : string { - return 'Expr_PreInc'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Print_.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Print_.php deleted file mode 100644 index 2d43c2a..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Print_.php +++ /dev/null @@ -1,30 +0,0 @@ -attributes = $attributes; - $this->expr = $expr; - } - - public function getSubNodeNames() : array { - return ['expr']; - } - - public function getType() : string { - return 'Expr_Print'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/PropertyFetch.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/PropertyFetch.php deleted file mode 100644 index 4281f31..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/PropertyFetch.php +++ /dev/null @@ -1,35 +0,0 @@ -attributes = $attributes; - $this->var = $var; - $this->name = \is_string($name) ? new Identifier($name) : $name; - } - - public function getSubNodeNames() : array { - return ['var', 'name']; - } - - public function getType() : string { - return 'Expr_PropertyFetch'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ShellExec.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ShellExec.php deleted file mode 100644 index 537a7cc..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ShellExec.php +++ /dev/null @@ -1,30 +0,0 @@ -attributes = $attributes; - $this->parts = $parts; - } - - public function getSubNodeNames() : array { - return ['parts']; - } - - public function getType() : string { - return 'Expr_ShellExec'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/StaticCall.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/StaticCall.php deleted file mode 100644 index 9883f5a..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/StaticCall.php +++ /dev/null @@ -1,40 +0,0 @@ -attributes = $attributes; - $this->class = $class; - $this->name = \is_string($name) ? new Identifier($name) : $name; - $this->args = $args; - } - - public function getSubNodeNames() : array { - return ['class', 'name', 'args']; - } - - public function getType() : string { - return 'Expr_StaticCall'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/StaticPropertyFetch.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/StaticPropertyFetch.php deleted file mode 100644 index 1ee1a25..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/StaticPropertyFetch.php +++ /dev/null @@ -1,36 +0,0 @@ -attributes = $attributes; - $this->class = $class; - $this->name = \is_string($name) ? new VarLikeIdentifier($name) : $name; - } - - public function getSubNodeNames() : array { - return ['class', 'name']; - } - - public function getType() : string { - return 'Expr_StaticPropertyFetch'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Ternary.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Ternary.php deleted file mode 100644 index 9316f47..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Ternary.php +++ /dev/null @@ -1,38 +0,0 @@ -attributes = $attributes; - $this->cond = $cond; - $this->if = $if; - $this->else = $else; - } - - public function getSubNodeNames() : array { - return ['cond', 'if', 'else']; - } - - public function getType() : string { - return 'Expr_Ternary'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/UnaryMinus.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/UnaryMinus.php deleted file mode 100644 index ce8808b..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/UnaryMinus.php +++ /dev/null @@ -1,30 +0,0 @@ -attributes = $attributes; - $this->expr = $expr; - } - - public function getSubNodeNames() : array { - return ['expr']; - } - - public function getType() : string { - return 'Expr_UnaryMinus'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/UnaryPlus.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/UnaryPlus.php deleted file mode 100644 index d23047e..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/UnaryPlus.php +++ /dev/null @@ -1,30 +0,0 @@ -attributes = $attributes; - $this->expr = $expr; - } - - public function getSubNodeNames() : array { - return ['expr']; - } - - public function getType() : string { - return 'Expr_UnaryPlus'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Variable.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Variable.php deleted file mode 100644 index 1f2b231..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Variable.php +++ /dev/null @@ -1,30 +0,0 @@ -attributes = $attributes; - $this->name = $name; - } - - public function getSubNodeNames() : array { - return ['name']; - } - - public function getType() : string { - return 'Expr_Variable'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/YieldFrom.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/YieldFrom.php deleted file mode 100644 index a3efce6..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/YieldFrom.php +++ /dev/null @@ -1,30 +0,0 @@ -attributes = $attributes; - $this->expr = $expr; - } - - public function getSubNodeNames() : array { - return ['expr']; - } - - public function getType() : string { - return 'Expr_YieldFrom'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Yield_.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Yield_.php deleted file mode 100644 index aef8fc3..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Yield_.php +++ /dev/null @@ -1,34 +0,0 @@ -attributes = $attributes; - $this->key = $key; - $this->value = $value; - } - - public function getSubNodeNames() : array { - return ['key', 'value']; - } - - public function getType() : string { - return 'Expr_Yield'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/FunctionLike.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/FunctionLike.php deleted file mode 100644 index 110da6e..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/FunctionLike.php +++ /dev/null @@ -1,36 +0,0 @@ - true, - 'parent' => true, - 'static' => true, - ]; - - /** - * Constructs an identifier node. - * - * @param string $name Identifier as string - * @param array $attributes Additional attributes - */ - public function __construct(string $name, array $attributes = []) { - $this->attributes = $attributes; - $this->name = $name; - } - - public function getSubNodeNames() : array { - return ['name']; - } - - /** - * Get identifier as string. - * - * @return string Identifier as string. - */ - public function toString() : string { - return $this->name; - } - - /** - * Get lowercased identifier as string. - * - * @return string Lowercased identifier as string - */ - public function toLowerString() : string { - return strtolower($this->name); - } - - /** - * Checks whether the identifier is a special class name (self, parent or static). - * - * @return bool Whether identifier is a special class name - */ - public function isSpecialClassName() : bool { - return isset(self::$specialClassNames[strtolower($this->name)]); - } - - /** - * Get identifier as string. - * - * @return string Identifier as string - */ - public function __toString() : string { - return $this->name; - } - - public function getType() : string { - return 'Identifier'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Name.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Name.php deleted file mode 100644 index 7ebdd57..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Name.php +++ /dev/null @@ -1,242 +0,0 @@ - true, - 'parent' => true, - 'static' => true, - ]; - - /** - * Constructs a name node. - * - * @param string|string[]|self $name Name as string, part array or Name instance (copy ctor) - * @param array $attributes Additional attributes - */ - public function __construct($name, array $attributes = []) { - $this->attributes = $attributes; - $this->parts = self::prepareName($name); - } - - public function getSubNodeNames() : array { - return ['parts']; - } - - /** - * Gets the first part of the name, i.e. everything before the first namespace separator. - * - * @return string First part of the name - */ - public function getFirst() : string { - return $this->parts[0]; - } - - /** - * Gets the last part of the name, i.e. everything after the last namespace separator. - * - * @return string Last part of the name - */ - public function getLast() : string { - return $this->parts[count($this->parts) - 1]; - } - - /** - * Checks whether the name is unqualified. (E.g. Name) - * - * @return bool Whether the name is unqualified - */ - public function isUnqualified() : bool { - return 1 === count($this->parts); - } - - /** - * Checks whether the name is qualified. (E.g. Name\Name) - * - * @return bool Whether the name is qualified - */ - public function isQualified() : bool { - return 1 < count($this->parts); - } - - /** - * Checks whether the name is fully qualified. (E.g. \Name) - * - * @return bool Whether the name is fully qualified - */ - public function isFullyQualified() : bool { - return false; - } - - /** - * Checks whether the name is explicitly relative to the current namespace. (E.g. namespace\Name) - * - * @return bool Whether the name is relative - */ - public function isRelative() : bool { - return false; - } - - /** - * Returns a string representation of the name itself, without taking taking the name type into - * account (e.g., not including a leading backslash for fully qualified names). - * - * @return string String representation - */ - public function toString() : string { - return implode('\\', $this->parts); - } - - /** - * Returns a string representation of the name as it would occur in code (e.g., including - * leading backslash for fully qualified names. - * - * @return string String representation - */ - public function toCodeString() : string { - return $this->toString(); - } - - /** - * Returns lowercased string representation of the name, without taking the name type into - * account (e.g., no leading backslash for fully qualified names). - * - * @return string Lowercased string representation - */ - public function toLowerString() : string { - return strtolower(implode('\\', $this->parts)); - } - - /** - * Checks whether the identifier is a special class name (self, parent or static). - * - * @return bool Whether identifier is a special class name - */ - public function isSpecialClassName() : bool { - return count($this->parts) === 1 - && isset(self::$specialClassNames[strtolower($this->parts[0])]); - } - - /** - * Returns a string representation of the name by imploding the namespace parts with the - * namespace separator. - * - * @return string String representation - */ - public function __toString() : string { - return implode('\\', $this->parts); - } - - /** - * Gets a slice of a name (similar to array_slice). - * - * This method returns a new instance of the same type as the original and with the same - * attributes. - * - * If the slice is empty, null is returned. The null value will be correctly handled in - * concatenations using concat(). - * - * Offset and length have the same meaning as in array_slice(). - * - * @param int $offset Offset to start the slice at (may be negative) - * @param int|null $length Length of the slice (may be negative) - * - * @return static|null Sliced name - */ - public function slice(int $offset, int $length = null) { - $numParts = count($this->parts); - - $realOffset = $offset < 0 ? $offset + $numParts : $offset; - if ($realOffset < 0 || $realOffset > $numParts) { - throw new \OutOfBoundsException(sprintf('Offset %d is out of bounds', $offset)); - } - - if (null === $length) { - $realLength = $numParts - $realOffset; - } else { - $realLength = $length < 0 ? $length + $numParts - $realOffset : $length; - if ($realLength < 0 || $realLength > $numParts) { - throw new \OutOfBoundsException(sprintf('Length %d is out of bounds', $length)); - } - } - - if ($realLength === 0) { - // Empty slice is represented as null - return null; - } - - return new static(array_slice($this->parts, $realOffset, $realLength), $this->attributes); - } - - /** - * Concatenate two names, yielding a new Name instance. - * - * The type of the generated instance depends on which class this method is called on, for - * example Name\FullyQualified::concat() will yield a Name\FullyQualified instance. - * - * If one of the arguments is null, a new instance of the other name will be returned. If both - * arguments are null, null will be returned. As such, writing - * Name::concat($namespace, $shortName) - * where $namespace is a Name node or null will work as expected. - * - * @param string|string[]|self|null $name1 The first name - * @param string|string[]|self|null $name2 The second name - * @param array $attributes Attributes to assign to concatenated name - * - * @return static|null Concatenated name - */ - public static function concat($name1, $name2, array $attributes = []) { - if (null === $name1 && null === $name2) { - return null; - } elseif (null === $name1) { - return new static(self::prepareName($name2), $attributes); - } elseif (null === $name2) { - return new static(self::prepareName($name1), $attributes); - } else { - return new static( - array_merge(self::prepareName($name1), self::prepareName($name2)), $attributes - ); - } - } - - /** - * Prepares a (string, array or Name node) name for use in name changing methods by converting - * it to an array. - * - * @param string|string[]|self $name Name to prepare - * - * @return string[] Prepared name - */ - private static function prepareName($name) : array { - if (\is_string($name)) { - if ('' === $name) { - throw new \InvalidArgumentException('Name cannot be empty'); - } - - return explode('\\', $name); - } elseif (\is_array($name)) { - if (empty($name)) { - throw new \InvalidArgumentException('Name cannot be empty'); - } - - return $name; - } elseif ($name instanceof self) { - return $name->parts; - } - - throw new \InvalidArgumentException( - 'Expected string, array of parts or Name instance' - ); - } - - public function getType() : string { - return 'Name'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Name/FullyQualified.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Name/FullyQualified.php deleted file mode 100644 index 1df93a5..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Name/FullyQualified.php +++ /dev/null @@ -1,50 +0,0 @@ -toString(); - } - - public function getType() : string { - return 'Name_FullyQualified'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Name/Relative.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Name/Relative.php deleted file mode 100644 index 57bf7af..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Name/Relative.php +++ /dev/null @@ -1,50 +0,0 @@ -toString(); - } - - public function getType() : string { - return 'Name_Relative'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/NullableType.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/NullableType.php deleted file mode 100644 index 3646365..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/NullableType.php +++ /dev/null @@ -1,30 +0,0 @@ -attributes = $attributes; - $this->type = \is_string($type) ? new Identifier($type) : $type; - } - - public function getSubNodeNames() : array { - return ['type']; - } - - public function getType() : string { - return 'NullableType'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Param.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Param.php deleted file mode 100644 index 76db718..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Param.php +++ /dev/null @@ -1,49 +0,0 @@ -attributes = $attributes; - $this->type = \is_string($type) ? new Identifier($type) : $type; - $this->byRef = $byRef; - $this->variadic = $variadic; - $this->var = $var; - $this->default = $default; - } - - public function getSubNodeNames() : array { - return ['type', 'byRef', 'variadic', 'var', 'default']; - } - - public function getType() : string { - return 'Param'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar.php deleted file mode 100644 index 8117909..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar.php +++ /dev/null @@ -1,7 +0,0 @@ -attributes = $attributes; - $this->value = $value; - } - - public function getSubNodeNames() : array { - return ['value']; - } - - /** - * @internal - * - * Parses a DNUMBER token like PHP would. - * - * @param string $str A string number - * - * @return float The parsed number - */ - public static function parse(string $str) : float { - $str = str_replace('_', '', $str); - - // if string contains any of .eE just cast it to float - if (false !== strpbrk($str, '.eE')) { - return (float) $str; - } - - // otherwise it's an integer notation that overflowed into a float - // if it starts with 0 it's one of the special integer notations - if ('0' === $str[0]) { - // hex - if ('x' === $str[1] || 'X' === $str[1]) { - return hexdec($str); - } - - // bin - if ('b' === $str[1] || 'B' === $str[1]) { - return bindec($str); - } - - // oct - // substr($str, 0, strcspn($str, '89')) cuts the string at the first invalid digit (8 or 9) - // so that only the digits before that are used - return octdec(substr($str, 0, strcspn($str, '89'))); - } - - // dec - return (float) $str; - } - - public function getType() : string { - return 'Scalar_DNumber'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/Encapsed.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/Encapsed.php deleted file mode 100644 index fa5d2e2..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/Encapsed.php +++ /dev/null @@ -1,31 +0,0 @@ -attributes = $attributes; - $this->parts = $parts; - } - - public function getSubNodeNames() : array { - return ['parts']; - } - - public function getType() : string { - return 'Scalar_Encapsed'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/EncapsedStringPart.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/EncapsedStringPart.php deleted file mode 100644 index bb3194c..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/EncapsedStringPart.php +++ /dev/null @@ -1,30 +0,0 @@ -attributes = $attributes; - $this->value = $value; - } - - public function getSubNodeNames() : array { - return ['value']; - } - - public function getType() : string { - return 'Scalar_EncapsedStringPart'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/LNumber.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/LNumber.php deleted file mode 100644 index b339435..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/LNumber.php +++ /dev/null @@ -1,73 +0,0 @@ -attributes = $attributes; - $this->value = $value; - } - - public function getSubNodeNames() : array { - return ['value']; - } - - /** - * Constructs an LNumber node from a string number literal. - * - * @param string $str String number literal (decimal, octal, hex or binary) - * @param array $attributes Additional attributes - * @param bool $allowInvalidOctal Whether to allow invalid octal numbers (PHP 5) - * - * @return LNumber The constructed LNumber, including kind attribute - */ - public static function fromString(string $str, array $attributes = [], bool $allowInvalidOctal = false) : LNumber { - $str = str_replace('_', '', $str); - - if ('0' !== $str[0] || '0' === $str) { - $attributes['kind'] = LNumber::KIND_DEC; - return new LNumber((int) $str, $attributes); - } - - if ('x' === $str[1] || 'X' === $str[1]) { - $attributes['kind'] = LNumber::KIND_HEX; - return new LNumber(hexdec($str), $attributes); - } - - if ('b' === $str[1] || 'B' === $str[1]) { - $attributes['kind'] = LNumber::KIND_BIN; - return new LNumber(bindec($str), $attributes); - } - - if (!$allowInvalidOctal && strpbrk($str, '89')) { - throw new Error('Invalid numeric literal', $attributes); - } - - // use intval instead of octdec to get proper cutting behavior with malformed numbers - $attributes['kind'] = LNumber::KIND_OCT; - return new LNumber(intval($str, 8), $attributes); - } - - public function getType() : string { - return 'Scalar_LNumber'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst.php deleted file mode 100644 index 941f0c7..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst.php +++ /dev/null @@ -1,28 +0,0 @@ -attributes = $attributes; - } - - public function getSubNodeNames() : array { - return []; - } - - /** - * Get name of magic constant. - * - * @return string Name of magic constant - */ - abstract public function getName() : string; -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Class_.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Class_.php deleted file mode 100644 index 2443284..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Class_.php +++ /dev/null @@ -1,16 +0,0 @@ - '\\', - '$' => '$', - 'n' => "\n", - 'r' => "\r", - 't' => "\t", - 'f' => "\f", - 'v' => "\v", - 'e' => "\x1B", - ]; - - /** - * Constructs a string scalar node. - * - * @param string $value Value of the string - * @param array $attributes Additional attributes - */ - public function __construct(string $value, array $attributes = []) { - $this->attributes = $attributes; - $this->value = $value; - } - - public function getSubNodeNames() : array { - return ['value']; - } - - /** - * @internal - * - * Parses a string token. - * - * @param string $str String token content - * @param bool $parseUnicodeEscape Whether to parse PHP 7 \u escapes - * - * @return string The parsed string - */ - public static function parse(string $str, bool $parseUnicodeEscape = true) : string { - $bLength = 0; - if ('b' === $str[0] || 'B' === $str[0]) { - $bLength = 1; - } - - if ('\'' === $str[$bLength]) { - return str_replace( - ['\\\\', '\\\''], - ['\\', '\''], - substr($str, $bLength + 1, -1) - ); - } else { - return self::parseEscapeSequences( - substr($str, $bLength + 1, -1), '"', $parseUnicodeEscape - ); - } - } - - /** - * @internal - * - * Parses escape sequences in strings (all string types apart from single quoted). - * - * @param string $str String without quotes - * @param null|string $quote Quote type - * @param bool $parseUnicodeEscape Whether to parse PHP 7 \u escapes - * - * @return string String with escape sequences parsed - */ - public static function parseEscapeSequences(string $str, $quote, bool $parseUnicodeEscape = true) : string { - if (null !== $quote) { - $str = str_replace('\\' . $quote, $quote, $str); - } - - $extra = ''; - if ($parseUnicodeEscape) { - $extra = '|u\{([0-9a-fA-F]+)\}'; - } - - return preg_replace_callback( - '~\\\\([\\\\$nrtfve]|[xX][0-9a-fA-F]{1,2}|[0-7]{1,3}' . $extra . ')~', - function($matches) { - $str = $matches[1]; - - if (isset(self::$replacements[$str])) { - return self::$replacements[$str]; - } elseif ('x' === $str[0] || 'X' === $str[0]) { - return chr(hexdec(substr($str, 1))); - } elseif ('u' === $str[0]) { - return self::codePointToUtf8(hexdec($matches[2])); - } else { - return chr(octdec($str)); - } - }, - $str - ); - } - - /** - * Converts a Unicode code point to its UTF-8 encoded representation. - * - * @param int $num Code point - * - * @return string UTF-8 representation of code point - */ - private static function codePointToUtf8(int $num) : string { - if ($num <= 0x7F) { - return chr($num); - } - if ($num <= 0x7FF) { - return chr(($num>>6) + 0xC0) . chr(($num&0x3F) + 0x80); - } - if ($num <= 0xFFFF) { - return chr(($num>>12) + 0xE0) . chr((($num>>6)&0x3F) + 0x80) . chr(($num&0x3F) + 0x80); - } - if ($num <= 0x1FFFFF) { - return chr(($num>>18) + 0xF0) . chr((($num>>12)&0x3F) + 0x80) - . chr((($num>>6)&0x3F) + 0x80) . chr(($num&0x3F) + 0x80); - } - throw new Error('Invalid UTF-8 codepoint escape sequence: Codepoint too large'); - } - - public function getType() : string { - return 'Scalar_String'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt.php deleted file mode 100644 index 69d33e5..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt.php +++ /dev/null @@ -1,9 +0,0 @@ -attributes = $attributes; - $this->num = $num; - } - - public function getSubNodeNames() : array { - return ['num']; - } - - public function getType() : string { - return 'Stmt_Break'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Case_.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Case_.php deleted file mode 100644 index 2bf044c..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Case_.php +++ /dev/null @@ -1,34 +0,0 @@ -attributes = $attributes; - $this->cond = $cond; - $this->stmts = $stmts; - } - - public function getSubNodeNames() : array { - return ['cond', 'stmts']; - } - - public function getType() : string { - return 'Stmt_Case'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Catch_.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Catch_.php deleted file mode 100644 index 7d4a703..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Catch_.php +++ /dev/null @@ -1,41 +0,0 @@ -attributes = $attributes; - $this->types = $types; - $this->var = $var; - $this->stmts = $stmts; - } - - public function getSubNodeNames() : array { - return ['types', 'var', 'stmts']; - } - - public function getType() : string { - return 'Stmt_Catch'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/ClassConst.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/ClassConst.php deleted file mode 100644 index 73a5010..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/ClassConst.php +++ /dev/null @@ -1,62 +0,0 @@ -attributes = $attributes; - $this->flags = $flags; - $this->consts = $consts; - } - - public function getSubNodeNames() : array { - return ['flags', 'consts']; - } - - /** - * Whether constant is explicitly or implicitly public. - * - * @return bool - */ - public function isPublic() : bool { - return ($this->flags & Class_::MODIFIER_PUBLIC) !== 0 - || ($this->flags & Class_::VISIBILITY_MODIFIER_MASK) === 0; - } - - /** - * Whether constant is protected. - * - * @return bool - */ - public function isProtected() : bool { - return (bool) ($this->flags & Class_::MODIFIER_PROTECTED); - } - - /** - * Whether constant is private. - * - * @return bool - */ - public function isPrivate() : bool { - return (bool) ($this->flags & Class_::MODIFIER_PRIVATE); - } - - public function getType() : string { - return 'Stmt_ClassConst'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/ClassLike.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/ClassLike.php deleted file mode 100644 index b1cd326..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/ClassLike.php +++ /dev/null @@ -1,87 +0,0 @@ -stmts as $stmt) { - if ($stmt instanceof TraitUse) { - $traitUses[] = $stmt; - } - } - return $traitUses; - } - - /** - * @return ClassConst[] - */ - public function getConstants() : array { - $constants = []; - foreach ($this->stmts as $stmt) { - if ($stmt instanceof ClassConst) { - $constants[] = $stmt; - } - } - return $constants; - } - - /** - * @return Property[] - */ - public function getProperties() : array { - $properties = []; - foreach ($this->stmts as $stmt) { - if ($stmt instanceof Property) { - $properties[] = $stmt; - } - } - return $properties; - } - - /** - * Gets all methods defined directly in this class/interface/trait - * - * @return ClassMethod[] - */ - public function getMethods() : array { - $methods = []; - foreach ($this->stmts as $stmt) { - if ($stmt instanceof ClassMethod) { - $methods[] = $stmt; - } - } - return $methods; - } - - /** - * Gets method with the given name defined directly in this class/interface/trait. - * - * @param string $name Name of the method (compared case-insensitively) - * - * @return ClassMethod|null Method node or null if the method does not exist - */ - public function getMethod(string $name) { - $lowerName = strtolower($name); - foreach ($this->stmts as $stmt) { - if ($stmt instanceof ClassMethod && $lowerName === $stmt->name->toLowerString()) { - return $stmt; - } - } - return null; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/ClassMethod.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/ClassMethod.php deleted file mode 100644 index 31cb4f1..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/ClassMethod.php +++ /dev/null @@ -1,151 +0,0 @@ - true, - '__destruct' => true, - '__call' => true, - '__callstatic' => true, - '__get' => true, - '__set' => true, - '__isset' => true, - '__unset' => true, - '__sleep' => true, - '__wakeup' => true, - '__tostring' => true, - '__set_state' => true, - '__clone' => true, - '__invoke' => true, - '__debuginfo' => true, - ]; - - /** - * Constructs a class method node. - * - * @param string|Node\Identifier $name Name - * @param array $subNodes Array of the following optional subnodes: - * 'flags => MODIFIER_PUBLIC: Flags - * 'byRef' => false : Whether to return by reference - * 'params' => array() : Parameters - * 'returnType' => null : Return type - * 'stmts' => array() : Statements - * @param array $attributes Additional attributes - */ - public function __construct($name, array $subNodes = [], array $attributes = []) { - $this->attributes = $attributes; - $this->flags = $subNodes['flags'] ?? $subNodes['type'] ?? 0; - $this->byRef = $subNodes['byRef'] ?? false; - $this->name = \is_string($name) ? new Node\Identifier($name) : $name; - $this->params = $subNodes['params'] ?? []; - $returnType = $subNodes['returnType'] ?? null; - $this->returnType = \is_string($returnType) ? new Node\Identifier($returnType) : $returnType; - $this->stmts = array_key_exists('stmts', $subNodes) ? $subNodes['stmts'] : []; - } - - public function getSubNodeNames() : array { - return ['flags', 'byRef', 'name', 'params', 'returnType', 'stmts']; - } - - public function returnsByRef() : bool { - return $this->byRef; - } - - public function getParams() : array { - return $this->params; - } - - public function getReturnType() { - return $this->returnType; - } - - public function getStmts() { - return $this->stmts; - } - - /** - * Whether the method is explicitly or implicitly public. - * - * @return bool - */ - public function isPublic() : bool { - return ($this->flags & Class_::MODIFIER_PUBLIC) !== 0 - || ($this->flags & Class_::VISIBILITY_MODIFIER_MASK) === 0; - } - - /** - * Whether the method is protected. - * - * @return bool - */ - public function isProtected() : bool { - return (bool) ($this->flags & Class_::MODIFIER_PROTECTED); - } - - /** - * Whether the method is private. - * - * @return bool - */ - public function isPrivate() : bool { - return (bool) ($this->flags & Class_::MODIFIER_PRIVATE); - } - - /** - * Whether the method is abstract. - * - * @return bool - */ - public function isAbstract() : bool { - return (bool) ($this->flags & Class_::MODIFIER_ABSTRACT); - } - - /** - * Whether the method is final. - * - * @return bool - */ - public function isFinal() : bool { - return (bool) ($this->flags & Class_::MODIFIER_FINAL); - } - - /** - * Whether the method is static. - * - * @return bool - */ - public function isStatic() : bool { - return (bool) ($this->flags & Class_::MODIFIER_STATIC); - } - - /** - * Whether the method is magic. - * - * @return bool - */ - public function isMagic() : bool { - return isset(self::$magicNames[$this->name->toLowerString()]); - } - - public function getType() : string { - return 'Stmt_ClassMethod'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Class_.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Class_.php deleted file mode 100644 index e2a92e9..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Class_.php +++ /dev/null @@ -1,105 +0,0 @@ - 0 : Flags - * 'extends' => null : Name of extended class - * 'implements' => array(): Names of implemented interfaces - * 'stmts' => array(): Statements - * @param array $attributes Additional attributes - */ - public function __construct($name, array $subNodes = [], array $attributes = []) { - $this->attributes = $attributes; - $this->flags = $subNodes['flags'] ?? $subNodes['type'] ?? 0; - $this->name = \is_string($name) ? new Node\Identifier($name) : $name; - $this->extends = $subNodes['extends'] ?? null; - $this->implements = $subNodes['implements'] ?? []; - $this->stmts = $subNodes['stmts'] ?? []; - } - - public function getSubNodeNames() : array { - return ['flags', 'name', 'extends', 'implements', 'stmts']; - } - - /** - * Whether the class is explicitly abstract. - * - * @return bool - */ - public function isAbstract() : bool { - return (bool) ($this->flags & self::MODIFIER_ABSTRACT); - } - - /** - * Whether the class is final. - * - * @return bool - */ - public function isFinal() : bool { - return (bool) ($this->flags & self::MODIFIER_FINAL); - } - - /** - * Whether the class is anonymous. - * - * @return bool - */ - public function isAnonymous() : bool { - return null === $this->name; - } - - /** - * @internal - */ - public static function verifyModifier($a, $b) { - if ($a & self::VISIBILITY_MODIFIER_MASK && $b & self::VISIBILITY_MODIFIER_MASK) { - throw new Error('Multiple access type modifiers are not allowed'); - } - - if ($a & self::MODIFIER_ABSTRACT && $b & self::MODIFIER_ABSTRACT) { - throw new Error('Multiple abstract modifiers are not allowed'); - } - - if ($a & self::MODIFIER_STATIC && $b & self::MODIFIER_STATIC) { - throw new Error('Multiple static modifiers are not allowed'); - } - - if ($a & self::MODIFIER_FINAL && $b & self::MODIFIER_FINAL) { - throw new Error('Multiple final modifiers are not allowed'); - } - - if ($a & 48 && $b & 48) { - throw new Error('Cannot use the final modifier on an abstract class member'); - } - } - - public function getType() : string { - return 'Stmt_Class'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Const_.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Const_.php deleted file mode 100644 index e631634..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Const_.php +++ /dev/null @@ -1,30 +0,0 @@ -attributes = $attributes; - $this->consts = $consts; - } - - public function getSubNodeNames() : array { - return ['consts']; - } - - public function getType() : string { - return 'Stmt_Const'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Continue_.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Continue_.php deleted file mode 100644 index 2488268..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Continue_.php +++ /dev/null @@ -1,30 +0,0 @@ -attributes = $attributes; - $this->num = $num; - } - - public function getSubNodeNames() : array { - return ['num']; - } - - public function getType() : string { - return 'Stmt_Continue'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/DeclareDeclare.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/DeclareDeclare.php deleted file mode 100644 index ac07f30..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/DeclareDeclare.php +++ /dev/null @@ -1,34 +0,0 @@ -value pair node. - * - * @param string|Node\Identifier $key Key - * @param Node\Expr $value Value - * @param array $attributes Additional attributes - */ - public function __construct($key, Node\Expr $value, array $attributes = []) { - $this->attributes = $attributes; - $this->key = \is_string($key) ? new Node\Identifier($key) : $key; - $this->value = $value; - } - - public function getSubNodeNames() : array { - return ['key', 'value']; - } - - public function getType() : string { - return 'Stmt_DeclareDeclare'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Declare_.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Declare_.php deleted file mode 100644 index f46ff0b..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Declare_.php +++ /dev/null @@ -1,34 +0,0 @@ -attributes = $attributes; - $this->declares = $declares; - $this->stmts = $stmts; - } - - public function getSubNodeNames() : array { - return ['declares', 'stmts']; - } - - public function getType() : string { - return 'Stmt_Declare'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Do_.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Do_.php deleted file mode 100644 index 78e90da..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Do_.php +++ /dev/null @@ -1,34 +0,0 @@ -attributes = $attributes; - $this->cond = $cond; - $this->stmts = $stmts; - } - - public function getSubNodeNames() : array { - return ['stmts', 'cond']; - } - - public function getType() : string { - return 'Stmt_Do'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Echo_.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Echo_.php deleted file mode 100644 index 7cc50d5..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Echo_.php +++ /dev/null @@ -1,30 +0,0 @@ -attributes = $attributes; - $this->exprs = $exprs; - } - - public function getSubNodeNames() : array { - return ['exprs']; - } - - public function getType() : string { - return 'Stmt_Echo'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/ElseIf_.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/ElseIf_.php deleted file mode 100644 index eef1ece..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/ElseIf_.php +++ /dev/null @@ -1,34 +0,0 @@ -attributes = $attributes; - $this->cond = $cond; - $this->stmts = $stmts; - } - - public function getSubNodeNames() : array { - return ['cond', 'stmts']; - } - - public function getType() : string { - return 'Stmt_ElseIf'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Else_.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Else_.php deleted file mode 100644 index 0e61778..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Else_.php +++ /dev/null @@ -1,30 +0,0 @@ -attributes = $attributes; - $this->stmts = $stmts; - } - - public function getSubNodeNames() : array { - return ['stmts']; - } - - public function getType() : string { - return 'Stmt_Else'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Expression.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Expression.php deleted file mode 100644 index 99d1687..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Expression.php +++ /dev/null @@ -1,33 +0,0 @@ -attributes = $attributes; - $this->expr = $expr; - } - - public function getSubNodeNames() : array { - return ['expr']; - } - - public function getType() : string { - return 'Stmt_Expression'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Finally_.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Finally_.php deleted file mode 100644 index d55b8b6..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Finally_.php +++ /dev/null @@ -1,30 +0,0 @@ -attributes = $attributes; - $this->stmts = $stmts; - } - - public function getSubNodeNames() : array { - return ['stmts']; - } - - public function getType() : string { - return 'Stmt_Finally'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/For_.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/For_.php deleted file mode 100644 index 1323d37..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/For_.php +++ /dev/null @@ -1,43 +0,0 @@ - array(): Init expressions - * 'cond' => array(): Loop conditions - * 'loop' => array(): Loop expressions - * 'stmts' => array(): Statements - * @param array $attributes Additional attributes - */ - public function __construct(array $subNodes = [], array $attributes = []) { - $this->attributes = $attributes; - $this->init = $subNodes['init'] ?? []; - $this->cond = $subNodes['cond'] ?? []; - $this->loop = $subNodes['loop'] ?? []; - $this->stmts = $subNodes['stmts'] ?? []; - } - - public function getSubNodeNames() : array { - return ['init', 'cond', 'loop', 'stmts']; - } - - public function getType() : string { - return 'Stmt_For'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Foreach_.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Foreach_.php deleted file mode 100644 index 0556a7c..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Foreach_.php +++ /dev/null @@ -1,47 +0,0 @@ - null : Variable to assign key to - * 'byRef' => false : Whether to assign value by reference - * 'stmts' => array(): Statements - * @param array $attributes Additional attributes - */ - public function __construct(Node\Expr $expr, Node\Expr $valueVar, array $subNodes = [], array $attributes = []) { - $this->attributes = $attributes; - $this->expr = $expr; - $this->keyVar = $subNodes['keyVar'] ?? null; - $this->byRef = $subNodes['byRef'] ?? false; - $this->valueVar = $valueVar; - $this->stmts = $subNodes['stmts'] ?? []; - } - - public function getSubNodeNames() : array { - return ['expr', 'keyVar', 'byRef', 'valueVar', 'stmts']; - } - - public function getType() : string { - return 'Stmt_Foreach'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Function_.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Function_.php deleted file mode 100644 index 30e1557..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Function_.php +++ /dev/null @@ -1,69 +0,0 @@ - false : Whether to return by reference - * 'params' => array(): Parameters - * 'returnType' => null : Return type - * 'stmts' => array(): Statements - * @param array $attributes Additional attributes - */ - public function __construct($name, array $subNodes = [], array $attributes = []) { - $this->attributes = $attributes; - $this->byRef = $subNodes['byRef'] ?? false; - $this->name = \is_string($name) ? new Node\Identifier($name) : $name; - $this->params = $subNodes['params'] ?? []; - $returnType = $subNodes['returnType'] ?? null; - $this->returnType = \is_string($returnType) ? new Node\Identifier($returnType) : $returnType; - $this->stmts = $subNodes['stmts'] ?? []; - } - - public function getSubNodeNames() : array { - return ['byRef', 'name', 'params', 'returnType', 'stmts']; - } - - public function returnsByRef() : bool { - return $this->byRef; - } - - public function getParams() : array { - return $this->params; - } - - public function getReturnType() { - return $this->returnType; - } - - /** @return Node\Stmt[] */ - public function getStmts() : array { - return $this->stmts; - } - - public function getType() : string { - return 'Stmt_Function'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Global_.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Global_.php deleted file mode 100644 index a0022ad..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Global_.php +++ /dev/null @@ -1,30 +0,0 @@ -attributes = $attributes; - $this->vars = $vars; - } - - public function getSubNodeNames() : array { - return ['vars']; - } - - public function getType() : string { - return 'Stmt_Global'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Goto_.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Goto_.php deleted file mode 100644 index 24a57f7..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Goto_.php +++ /dev/null @@ -1,31 +0,0 @@ -attributes = $attributes; - $this->name = \is_string($name) ? new Identifier($name) : $name; - } - - public function getSubNodeNames() : array { - return ['name']; - } - - public function getType() : string { - return 'Stmt_Goto'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/GroupUse.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/GroupUse.php deleted file mode 100644 index 24520d2..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/GroupUse.php +++ /dev/null @@ -1,39 +0,0 @@ -attributes = $attributes; - $this->type = $type; - $this->prefix = $prefix; - $this->uses = $uses; - } - - public function getSubNodeNames() : array { - return ['type', 'prefix', 'uses']; - } - - public function getType() : string { - return 'Stmt_GroupUse'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/HaltCompiler.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/HaltCompiler.php deleted file mode 100644 index 8e624e0..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/HaltCompiler.php +++ /dev/null @@ -1,30 +0,0 @@ -attributes = $attributes; - $this->remaining = $remaining; - } - - public function getSubNodeNames() : array { - return ['remaining']; - } - - public function getType() : string { - return 'Stmt_HaltCompiler'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/If_.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/If_.php deleted file mode 100644 index a1bae4b..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/If_.php +++ /dev/null @@ -1,43 +0,0 @@ - array(): Statements - * 'elseifs' => array(): Elseif clauses - * 'else' => null : Else clause - * @param array $attributes Additional attributes - */ - public function __construct(Node\Expr $cond, array $subNodes = [], array $attributes = []) { - $this->attributes = $attributes; - $this->cond = $cond; - $this->stmts = $subNodes['stmts'] ?? []; - $this->elseifs = $subNodes['elseifs'] ?? []; - $this->else = $subNodes['else'] ?? null; - } - - public function getSubNodeNames() : array { - return ['cond', 'stmts', 'elseifs', 'else']; - } - - public function getType() : string { - return 'Stmt_If'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/InlineHTML.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/InlineHTML.php deleted file mode 100644 index 0711d28..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/InlineHTML.php +++ /dev/null @@ -1,30 +0,0 @@ -attributes = $attributes; - $this->value = $value; - } - - public function getSubNodeNames() : array { - return ['value']; - } - - public function getType() : string { - return 'Stmt_InlineHTML'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Interface_.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Interface_.php deleted file mode 100644 index cf5d62a..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Interface_.php +++ /dev/null @@ -1,35 +0,0 @@ - array(): Name of extended interfaces - * 'stmts' => array(): Statements - * @param array $attributes Additional attributes - */ - public function __construct($name, array $subNodes = [], array $attributes = []) { - $this->attributes = $attributes; - $this->name = \is_string($name) ? new Node\Identifier($name) : $name; - $this->extends = $subNodes['extends'] ?? []; - $this->stmts = $subNodes['stmts'] ?? []; - } - - public function getSubNodeNames() : array { - return ['name', 'extends', 'stmts']; - } - - public function getType() : string { - return 'Stmt_Interface'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Label.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Label.php deleted file mode 100644 index 3edcb3b..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Label.php +++ /dev/null @@ -1,31 +0,0 @@ -attributes = $attributes; - $this->name = \is_string($name) ? new Identifier($name) : $name; - } - - public function getSubNodeNames() : array { - return ['name']; - } - - public function getType() : string { - return 'Stmt_Label'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Namespace_.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Namespace_.php deleted file mode 100644 index c632045..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Namespace_.php +++ /dev/null @@ -1,38 +0,0 @@ -attributes = $attributes; - $this->name = $name; - $this->stmts = $stmts; - } - - public function getSubNodeNames() : array { - return ['name', 'stmts']; - } - - public function getType() : string { - return 'Stmt_Namespace'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Nop.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Nop.php deleted file mode 100644 index f86f8df..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Nop.php +++ /dev/null @@ -1,17 +0,0 @@ -attributes = $attributes; - $this->flags = $flags; - $this->props = $props; - $this->type = \is_string($type) ? new Identifier($type) : $type; - } - - public function getSubNodeNames() : array { - return ['flags', 'type', 'props']; - } - - /** - * Whether the property is explicitly or implicitly public. - * - * @return bool - */ - public function isPublic() : bool { - return ($this->flags & Class_::MODIFIER_PUBLIC) !== 0 - || ($this->flags & Class_::VISIBILITY_MODIFIER_MASK) === 0; - } - - /** - * Whether the property is protected. - * - * @return bool - */ - public function isProtected() : bool { - return (bool) ($this->flags & Class_::MODIFIER_PROTECTED); - } - - /** - * Whether the property is private. - * - * @return bool - */ - public function isPrivate() : bool { - return (bool) ($this->flags & Class_::MODIFIER_PRIVATE); - } - - /** - * Whether the property is static. - * - * @return bool - */ - public function isStatic() : bool { - return (bool) ($this->flags & Class_::MODIFIER_STATIC); - } - - public function getType() : string { - return 'Stmt_Property'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/PropertyProperty.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/PropertyProperty.php deleted file mode 100644 index 205731e..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/PropertyProperty.php +++ /dev/null @@ -1,34 +0,0 @@ -attributes = $attributes; - $this->name = \is_string($name) ? new Node\VarLikeIdentifier($name) : $name; - $this->default = $default; - } - - public function getSubNodeNames() : array { - return ['name', 'default']; - } - - public function getType() : string { - return 'Stmt_PropertyProperty'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Return_.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Return_.php deleted file mode 100644 index efc578c..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Return_.php +++ /dev/null @@ -1,30 +0,0 @@ -attributes = $attributes; - $this->expr = $expr; - } - - public function getSubNodeNames() : array { - return ['expr']; - } - - public function getType() : string { - return 'Stmt_Return'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/StaticVar.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/StaticVar.php deleted file mode 100644 index 2958456..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/StaticVar.php +++ /dev/null @@ -1,37 +0,0 @@ -attributes = $attributes; - $this->var = $var; - $this->default = $default; - } - - public function getSubNodeNames() : array { - return ['var', 'default']; - } - - public function getType() : string { - return 'Stmt_StaticVar'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Static_.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Static_.php deleted file mode 100644 index 464898f..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Static_.php +++ /dev/null @@ -1,30 +0,0 @@ -attributes = $attributes; - $this->vars = $vars; - } - - public function getSubNodeNames() : array { - return ['vars']; - } - - public function getType() : string { - return 'Stmt_Static'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Switch_.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Switch_.php deleted file mode 100644 index 2c8dae0..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Switch_.php +++ /dev/null @@ -1,34 +0,0 @@ -attributes = $attributes; - $this->cond = $cond; - $this->cases = $cases; - } - - public function getSubNodeNames() : array { - return ['cond', 'cases']; - } - - public function getType() : string { - return 'Stmt_Switch'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Throw_.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Throw_.php deleted file mode 100644 index f97f567..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Throw_.php +++ /dev/null @@ -1,30 +0,0 @@ -attributes = $attributes; - $this->expr = $expr; - } - - public function getSubNodeNames() : array { - return ['expr']; - } - - public function getType() : string { - return 'Stmt_Throw'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/TraitUse.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/TraitUse.php deleted file mode 100644 index 9e97053..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/TraitUse.php +++ /dev/null @@ -1,34 +0,0 @@ -attributes = $attributes; - $this->traits = $traits; - $this->adaptations = $adaptations; - } - - public function getSubNodeNames() : array { - return ['traits', 'adaptations']; - } - - public function getType() : string { - return 'Stmt_TraitUse'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/TraitUseAdaptation.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/TraitUseAdaptation.php deleted file mode 100644 index 8bdd2c0..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/TraitUseAdaptation.php +++ /dev/null @@ -1,13 +0,0 @@ -attributes = $attributes; - $this->trait = $trait; - $this->method = \is_string($method) ? new Node\Identifier($method) : $method; - $this->newModifier = $newModifier; - $this->newName = \is_string($newName) ? new Node\Identifier($newName) : $newName; - } - - public function getSubNodeNames() : array { - return ['trait', 'method', 'newModifier', 'newName']; - } - - public function getType() : string { - return 'Stmt_TraitUseAdaptation_Alias'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/TraitUseAdaptation/Precedence.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/TraitUseAdaptation/Precedence.php deleted file mode 100644 index 80385f6..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/TraitUseAdaptation/Precedence.php +++ /dev/null @@ -1,34 +0,0 @@ -attributes = $attributes; - $this->trait = $trait; - $this->method = \is_string($method) ? new Node\Identifier($method) : $method; - $this->insteadof = $insteadof; - } - - public function getSubNodeNames() : array { - return ['trait', 'method', 'insteadof']; - } - - public function getType() : string { - return 'Stmt_TraitUseAdaptation_Precedence'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Trait_.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Trait_.php deleted file mode 100644 index c2e8cca..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Trait_.php +++ /dev/null @@ -1,30 +0,0 @@ - array(): Statements - * @param array $attributes Additional attributes - */ - public function __construct($name, array $subNodes = [], array $attributes = []) { - $this->attributes = $attributes; - $this->name = \is_string($name) ? new Node\Identifier($name) : $name; - $this->stmts = $subNodes['stmts'] ?? []; - } - - public function getSubNodeNames() : array { - return ['name', 'stmts']; - } - - public function getType() : string { - return 'Stmt_Trait'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/TryCatch.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/TryCatch.php deleted file mode 100644 index 7fc158c..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/TryCatch.php +++ /dev/null @@ -1,38 +0,0 @@ -attributes = $attributes; - $this->stmts = $stmts; - $this->catches = $catches; - $this->finally = $finally; - } - - public function getSubNodeNames() : array { - return ['stmts', 'catches', 'finally']; - } - - public function getType() : string { - return 'Stmt_TryCatch'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Unset_.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Unset_.php deleted file mode 100644 index 310e427..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Unset_.php +++ /dev/null @@ -1,30 +0,0 @@ -attributes = $attributes; - $this->vars = $vars; - } - - public function getSubNodeNames() : array { - return ['vars']; - } - - public function getType() : string { - return 'Stmt_Unset'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/UseUse.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/UseUse.php deleted file mode 100644 index 32bd784..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/UseUse.php +++ /dev/null @@ -1,52 +0,0 @@ -attributes = $attributes; - $this->type = $type; - $this->name = $name; - $this->alias = \is_string($alias) ? new Identifier($alias) : $alias; - } - - public function getSubNodeNames() : array { - return ['type', 'name', 'alias']; - } - - /** - * Get alias. If not explicitly given this is the last component of the used name. - * - * @return Identifier - */ - public function getAlias() : Identifier { - if (null !== $this->alias) { - return $this->alias; - } - - return new Identifier($this->name->getLast()); - } - - public function getType() : string { - return 'Stmt_UseUse'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Use_.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Use_.php deleted file mode 100644 index 8753da3..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Use_.php +++ /dev/null @@ -1,47 +0,0 @@ -attributes = $attributes; - $this->type = $type; - $this->uses = $uses; - } - - public function getSubNodeNames() : array { - return ['type', 'uses']; - } - - public function getType() : string { - return 'Stmt_Use'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/While_.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/While_.php deleted file mode 100644 index f41034f..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/While_.php +++ /dev/null @@ -1,34 +0,0 @@ -attributes = $attributes; - $this->cond = $cond; - $this->stmts = $stmts; - } - - public function getSubNodeNames() : array { - return ['cond', 'stmts']; - } - - public function getType() : string { - return 'Stmt_While'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/UnionType.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/UnionType.php deleted file mode 100644 index c8f4523..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/UnionType.php +++ /dev/null @@ -1,30 +0,0 @@ -attributes = $attributes; - $this->types = $types; - } - - public function getSubNodeNames() : array { - return ['types']; - } - - public function getType() : string { - return 'UnionType'; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/VarLikeIdentifier.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/VarLikeIdentifier.php deleted file mode 100644 index a30807a..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Node/VarLikeIdentifier.php +++ /dev/null @@ -1,17 +0,0 @@ -attributes = $attributes; - } - - /** - * Gets line the node started in (alias of getStartLine). - * - * @return int Start line (or -1 if not available) - */ - public function getLine() : int { - return $this->attributes['startLine'] ?? -1; - } - - /** - * Gets line the node started in. - * - * Requires the 'startLine' attribute to be enabled in the lexer (enabled by default). - * - * @return int Start line (or -1 if not available) - */ - public function getStartLine() : int { - return $this->attributes['startLine'] ?? -1; - } - - /** - * Gets the line the node ended in. - * - * Requires the 'endLine' attribute to be enabled in the lexer (enabled by default). - * - * @return int End line (or -1 if not available) - */ - public function getEndLine() : int { - return $this->attributes['endLine'] ?? -1; - } - - /** - * Gets the token offset of the first token that is part of this node. - * - * The offset is an index into the array returned by Lexer::getTokens(). - * - * Requires the 'startTokenPos' attribute to be enabled in the lexer (DISABLED by default). - * - * @return int Token start position (or -1 if not available) - */ - public function getStartTokenPos() : int { - return $this->attributes['startTokenPos'] ?? -1; - } - - /** - * Gets the token offset of the last token that is part of this node. - * - * The offset is an index into the array returned by Lexer::getTokens(). - * - * Requires the 'endTokenPos' attribute to be enabled in the lexer (DISABLED by default). - * - * @return int Token end position (or -1 if not available) - */ - public function getEndTokenPos() : int { - return $this->attributes['endTokenPos'] ?? -1; - } - - /** - * Gets the file offset of the first character that is part of this node. - * - * Requires the 'startFilePos' attribute to be enabled in the lexer (DISABLED by default). - * - * @return int File start position (or -1 if not available) - */ - public function getStartFilePos() : int { - return $this->attributes['startFilePos'] ?? -1; - } - - /** - * Gets the file offset of the last character that is part of this node. - * - * Requires the 'endFilePos' attribute to be enabled in the lexer (DISABLED by default). - * - * @return int File end position (or -1 if not available) - */ - public function getEndFilePos() : int { - return $this->attributes['endFilePos'] ?? -1; - } - - /** - * Gets all comments directly preceding this node. - * - * The comments are also available through the "comments" attribute. - * - * @return Comment[] - */ - public function getComments() : array { - return $this->attributes['comments'] ?? []; - } - - /** - * Gets the doc comment of the node. - * - * The doc comment has to be the last comment associated with the node. - * - * @return null|Comment\Doc Doc comment object or null - */ - public function getDocComment() { - $comments = $this->getComments(); - if (!$comments) { - return null; - } - - $lastComment = $comments[count($comments) - 1]; - if (!$lastComment instanceof Comment\Doc) { - return null; - } - - return $lastComment; - } - - /** - * Sets the doc comment of the node. - * - * This will either replace an existing doc comment or add it to the comments array. - * - * @param Comment\Doc $docComment Doc comment to set - */ - public function setDocComment(Comment\Doc $docComment) { - $comments = $this->getComments(); - - $numComments = count($comments); - if ($numComments > 0 && $comments[$numComments - 1] instanceof Comment\Doc) { - // Replace existing doc comment - $comments[$numComments - 1] = $docComment; - } else { - // Append new comment - $comments[] = $docComment; - } - - $this->setAttribute('comments', $comments); - } - - public function setAttribute(string $key, $value) { - $this->attributes[$key] = $value; - } - - public function hasAttribute(string $key) : bool { - return array_key_exists($key, $this->attributes); - } - - public function getAttribute(string $key, $default = null) { - if (array_key_exists($key, $this->attributes)) { - return $this->attributes[$key]; - } - - return $default; - } - - public function getAttributes() : array { - return $this->attributes; - } - - public function setAttributes(array $attributes) { - $this->attributes = $attributes; - } - - /** - * @return array - */ - public function jsonSerialize() : array { - return ['nodeType' => $this->getType()] + get_object_vars($this); - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/NodeDumper.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/NodeDumper.php deleted file mode 100644 index 197ebc1..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/NodeDumper.php +++ /dev/null @@ -1,203 +0,0 @@ -dumpComments = !empty($options['dumpComments']); - $this->dumpPositions = !empty($options['dumpPositions']); - } - - /** - * Dumps a node or array. - * - * @param array|Node $node Node or array to dump - * @param string|null $code Code corresponding to dumped AST. This only needs to be passed if - * the dumpPositions option is enabled and the dumping of node offsets - * is desired. - * - * @return string Dumped value - */ - public function dump($node, string $code = null) : string { - $this->code = $code; - return $this->dumpRecursive($node); - } - - protected function dumpRecursive($node) { - if ($node instanceof Node) { - $r = $node->getType(); - if ($this->dumpPositions && null !== $p = $this->dumpPosition($node)) { - $r .= $p; - } - $r .= '('; - - foreach ($node->getSubNodeNames() as $key) { - $r .= "\n " . $key . ': '; - - $value = $node->$key; - if (null === $value) { - $r .= 'null'; - } elseif (false === $value) { - $r .= 'false'; - } elseif (true === $value) { - $r .= 'true'; - } elseif (is_scalar($value)) { - if ('flags' === $key || 'newModifier' === $key) { - $r .= $this->dumpFlags($value); - } elseif ('type' === $key && $node instanceof Include_) { - $r .= $this->dumpIncludeType($value); - } elseif ('type' === $key - && ($node instanceof Use_ || $node instanceof UseUse || $node instanceof GroupUse)) { - $r .= $this->dumpUseType($value); - } else { - $r .= $value; - } - } else { - $r .= str_replace("\n", "\n ", $this->dumpRecursive($value)); - } - } - - if ($this->dumpComments && $comments = $node->getComments()) { - $r .= "\n comments: " . str_replace("\n", "\n ", $this->dumpRecursive($comments)); - } - } elseif (is_array($node)) { - $r = 'array('; - - foreach ($node as $key => $value) { - $r .= "\n " . $key . ': '; - - if (null === $value) { - $r .= 'null'; - } elseif (false === $value) { - $r .= 'false'; - } elseif (true === $value) { - $r .= 'true'; - } elseif (is_scalar($value)) { - $r .= $value; - } else { - $r .= str_replace("\n", "\n ", $this->dumpRecursive($value)); - } - } - } elseif ($node instanceof Comment) { - return $node->getReformattedText(); - } else { - throw new \InvalidArgumentException('Can only dump nodes and arrays.'); - } - - return $r . "\n)"; - } - - protected function dumpFlags($flags) { - $strs = []; - if ($flags & Class_::MODIFIER_PUBLIC) { - $strs[] = 'MODIFIER_PUBLIC'; - } - if ($flags & Class_::MODIFIER_PROTECTED) { - $strs[] = 'MODIFIER_PROTECTED'; - } - if ($flags & Class_::MODIFIER_PRIVATE) { - $strs[] = 'MODIFIER_PRIVATE'; - } - if ($flags & Class_::MODIFIER_ABSTRACT) { - $strs[] = 'MODIFIER_ABSTRACT'; - } - if ($flags & Class_::MODIFIER_STATIC) { - $strs[] = 'MODIFIER_STATIC'; - } - if ($flags & Class_::MODIFIER_FINAL) { - $strs[] = 'MODIFIER_FINAL'; - } - - if ($strs) { - return implode(' | ', $strs) . ' (' . $flags . ')'; - } else { - return $flags; - } - } - - protected function dumpIncludeType($type) { - $map = [ - Include_::TYPE_INCLUDE => 'TYPE_INCLUDE', - Include_::TYPE_INCLUDE_ONCE => 'TYPE_INCLUDE_ONCE', - Include_::TYPE_REQUIRE => 'TYPE_REQUIRE', - Include_::TYPE_REQUIRE_ONCE => 'TYPE_REQUIRE_ONCE', - ]; - - if (!isset($map[$type])) { - return $type; - } - return $map[$type] . ' (' . $type . ')'; - } - - protected function dumpUseType($type) { - $map = [ - Use_::TYPE_UNKNOWN => 'TYPE_UNKNOWN', - Use_::TYPE_NORMAL => 'TYPE_NORMAL', - Use_::TYPE_FUNCTION => 'TYPE_FUNCTION', - Use_::TYPE_CONSTANT => 'TYPE_CONSTANT', - ]; - - if (!isset($map[$type])) { - return $type; - } - return $map[$type] . ' (' . $type . ')'; - } - - /** - * Dump node position, if possible. - * - * @param Node $node Node for which to dump position - * - * @return string|null Dump of position, or null if position information not available - */ - protected function dumpPosition(Node $node) { - if (!$node->hasAttribute('startLine') || !$node->hasAttribute('endLine')) { - return null; - } - - $start = $node->getStartLine(); - $end = $node->getEndLine(); - if ($node->hasAttribute('startFilePos') && $node->hasAttribute('endFilePos') - && null !== $this->code - ) { - $start .= ':' . $this->toColumn($this->code, $node->getStartFilePos()); - $end .= ':' . $this->toColumn($this->code, $node->getEndFilePos()); - } - return "[$start - $end]"; - } - - // Copied from Error class - private function toColumn($code, $pos) { - if ($pos > strlen($code)) { - throw new \RuntimeException('Invalid position information'); - } - - $lineStartPos = strrpos($code, "\n", $pos - strlen($code)); - if (false === $lineStartPos) { - $lineStartPos = -1; - } - - return $pos - $lineStartPos; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/NodeFinder.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/NodeFinder.php deleted file mode 100644 index 2e7cfda..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/NodeFinder.php +++ /dev/null @@ -1,81 +0,0 @@ -addVisitor($visitor); - $traverser->traverse($nodes); - - return $visitor->getFoundNodes(); - } - - /** - * Find all nodes that are instances of a certain class. - * - * @param Node|Node[] $nodes Single node or array of nodes to search in - * @param string $class Class name - * - * @return Node[] Found nodes (all instances of $class) - */ - public function findInstanceOf($nodes, string $class) : array { - return $this->find($nodes, function ($node) use ($class) { - return $node instanceof $class; - }); - } - - /** - * Find first node satisfying a filter callback. - * - * @param Node|Node[] $nodes Single node or array of nodes to search in - * @param callable $filter Filter callback: function(Node $node) : bool - * - * @return null|Node Found node (or null if none found) - */ - public function findFirst($nodes, callable $filter) { - if (!is_array($nodes)) { - $nodes = [$nodes]; - } - - $visitor = new FirstFindingVisitor($filter); - - $traverser = new NodeTraverser; - $traverser->addVisitor($visitor); - $traverser->traverse($nodes); - - return $visitor->getFoundNode(); - } - - /** - * Find first node that is an instance of a certain class. - * - * @param Node|Node[] $nodes Single node or array of nodes to search in - * @param string $class Class name - * - * @return null|Node Found node, which is an instance of $class (or null if none found) - */ - public function findFirstInstanceOf($nodes, string $class) { - return $this->findFirst($nodes, function ($node) use ($class) { - return $node instanceof $class; - }); - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php deleted file mode 100644 index 97d45bd..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php +++ /dev/null @@ -1,291 +0,0 @@ -visitors[] = $visitor; - } - - /** - * Removes an added visitor. - * - * @param NodeVisitor $visitor - */ - public function removeVisitor(NodeVisitor $visitor) { - foreach ($this->visitors as $index => $storedVisitor) { - if ($storedVisitor === $visitor) { - unset($this->visitors[$index]); - break; - } - } - } - - /** - * Traverses an array of nodes using the registered visitors. - * - * @param Node[] $nodes Array of nodes - * - * @return Node[] Traversed array of nodes - */ - public function traverse(array $nodes) : array { - $this->stopTraversal = false; - - foreach ($this->visitors as $visitor) { - if (null !== $return = $visitor->beforeTraverse($nodes)) { - $nodes = $return; - } - } - - $nodes = $this->traverseArray($nodes); - - foreach ($this->visitors as $visitor) { - if (null !== $return = $visitor->afterTraverse($nodes)) { - $nodes = $return; - } - } - - return $nodes; - } - - /** - * Recursively traverse a node. - * - * @param Node $node Node to traverse. - * - * @return Node Result of traversal (may be original node or new one) - */ - protected function traverseNode(Node $node) : Node { - foreach ($node->getSubNodeNames() as $name) { - $subNode =& $node->$name; - - if (\is_array($subNode)) { - $subNode = $this->traverseArray($subNode); - if ($this->stopTraversal) { - break; - } - } elseif ($subNode instanceof Node) { - $traverseChildren = true; - $breakVisitorIndex = null; - - foreach ($this->visitors as $visitorIndex => $visitor) { - $return = $visitor->enterNode($subNode); - if (null !== $return) { - if ($return instanceof Node) { - $this->ensureReplacementReasonable($subNode, $return); - $subNode = $return; - } elseif (self::DONT_TRAVERSE_CHILDREN === $return) { - $traverseChildren = false; - } elseif (self::DONT_TRAVERSE_CURRENT_AND_CHILDREN === $return) { - $traverseChildren = false; - $breakVisitorIndex = $visitorIndex; - break; - } elseif (self::STOP_TRAVERSAL === $return) { - $this->stopTraversal = true; - break 2; - } else { - throw new \LogicException( - 'enterNode() returned invalid value of type ' . gettype($return) - ); - } - } - } - - if ($traverseChildren) { - $subNode = $this->traverseNode($subNode); - if ($this->stopTraversal) { - break; - } - } - - foreach ($this->visitors as $visitorIndex => $visitor) { - $return = $visitor->leaveNode($subNode); - - if (null !== $return) { - if ($return instanceof Node) { - $this->ensureReplacementReasonable($subNode, $return); - $subNode = $return; - } elseif (self::STOP_TRAVERSAL === $return) { - $this->stopTraversal = true; - break 2; - } elseif (\is_array($return)) { - throw new \LogicException( - 'leaveNode() may only return an array ' . - 'if the parent structure is an array' - ); - } else { - throw new \LogicException( - 'leaveNode() returned invalid value of type ' . gettype($return) - ); - } - } - - if ($breakVisitorIndex === $visitorIndex) { - break; - } - } - } - } - - return $node; - } - - /** - * Recursively traverse array (usually of nodes). - * - * @param array $nodes Array to traverse - * - * @return array Result of traversal (may be original array or changed one) - */ - protected function traverseArray(array $nodes) : array { - $doNodes = []; - - foreach ($nodes as $i => &$node) { - if ($node instanceof Node) { - $traverseChildren = true; - $breakVisitorIndex = null; - - foreach ($this->visitors as $visitorIndex => $visitor) { - $return = $visitor->enterNode($node); - if (null !== $return) { - if ($return instanceof Node) { - $this->ensureReplacementReasonable($node, $return); - $node = $return; - } elseif (self::DONT_TRAVERSE_CHILDREN === $return) { - $traverseChildren = false; - } elseif (self::DONT_TRAVERSE_CURRENT_AND_CHILDREN === $return) { - $traverseChildren = false; - $breakVisitorIndex = $visitorIndex; - break; - } elseif (self::STOP_TRAVERSAL === $return) { - $this->stopTraversal = true; - break 2; - } else { - throw new \LogicException( - 'enterNode() returned invalid value of type ' . gettype($return) - ); - } - } - } - - if ($traverseChildren) { - $node = $this->traverseNode($node); - if ($this->stopTraversal) { - break; - } - } - - foreach ($this->visitors as $visitorIndex => $visitor) { - $return = $visitor->leaveNode($node); - - if (null !== $return) { - if ($return instanceof Node) { - $this->ensureReplacementReasonable($node, $return); - $node = $return; - } elseif (\is_array($return)) { - $doNodes[] = [$i, $return]; - break; - } elseif (self::REMOVE_NODE === $return) { - $doNodes[] = [$i, []]; - break; - } elseif (self::STOP_TRAVERSAL === $return) { - $this->stopTraversal = true; - break 2; - } elseif (false === $return) { - throw new \LogicException( - 'bool(false) return from leaveNode() no longer supported. ' . - 'Return NodeTraverser::REMOVE_NODE instead' - ); - } else { - throw new \LogicException( - 'leaveNode() returned invalid value of type ' . gettype($return) - ); - } - } - - if ($breakVisitorIndex === $visitorIndex) { - break; - } - } - } elseif (\is_array($node)) { - throw new \LogicException('Invalid node structure: Contains nested arrays'); - } - } - - if (!empty($doNodes)) { - while (list($i, $replace) = array_pop($doNodes)) { - array_splice($nodes, $i, 1, $replace); - } - } - - return $nodes; - } - - private function ensureReplacementReasonable($old, $new) { - if ($old instanceof Node\Stmt && $new instanceof Node\Expr) { - throw new \LogicException( - "Trying to replace statement ({$old->getType()}) " . - "with expression ({$new->getType()}). Are you missing a " . - "Stmt_Expression wrapper?" - ); - } - - if ($old instanceof Node\Expr && $new instanceof Node\Stmt) { - throw new \LogicException( - "Trying to replace expression ({$old->getType()}) " . - "with statement ({$new->getType()})" - ); - } - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/NodeTraverserInterface.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/NodeTraverserInterface.php deleted file mode 100644 index 77ff3d2..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/NodeTraverserInterface.php +++ /dev/null @@ -1,29 +0,0 @@ - $node stays as-is - * * NodeTraverser::DONT_TRAVERSE_CHILDREN - * => Children of $node are not traversed. $node stays as-is - * * NodeTraverser::STOP_TRAVERSAL - * => Traversal is aborted. $node stays as-is - * * otherwise - * => $node is set to the return value - * - * @param Node $node Node - * - * @return null|int|Node Replacement node (or special return value) - */ - public function enterNode(Node $node); - - /** - * Called when leaving a node. - * - * Return value semantics: - * * null - * => $node stays as-is - * * NodeTraverser::REMOVE_NODE - * => $node is removed from the parent array - * * NodeTraverser::STOP_TRAVERSAL - * => Traversal is aborted. $node stays as-is - * * array (of Nodes) - * => The return value is merged into the parent array (at the position of the $node) - * * otherwise - * => $node is set to the return value - * - * @param Node $node Node - * - * @return null|int|Node|Node[] Replacement node (or special return value) - */ - public function leaveNode(Node $node); - - /** - * Called once after traversal. - * - * Return value semantics: - * * null: $nodes stays as-is - * * otherwise: $nodes is set to the return value - * - * @param Node[] $nodes Array of nodes - * - * @return null|Node[] Array of nodes - */ - public function afterTraverse(array $nodes); -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor/CloningVisitor.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor/CloningVisitor.php deleted file mode 100644 index a85fa49..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor/CloningVisitor.php +++ /dev/null @@ -1,20 +0,0 @@ -setAttribute('origNode', $origNode); - return $node; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor/FindingVisitor.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor/FindingVisitor.php deleted file mode 100644 index 9531edb..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor/FindingVisitor.php +++ /dev/null @@ -1,48 +0,0 @@ -filterCallback = $filterCallback; - } - - /** - * Get found nodes satisfying the filter callback. - * - * Nodes are returned in pre-order. - * - * @return Node[] Found nodes - */ - public function getFoundNodes() : array { - return $this->foundNodes; - } - - public function beforeTraverse(array $nodes) { - $this->foundNodes = []; - - return null; - } - - public function enterNode(Node $node) { - $filterCallback = $this->filterCallback; - if ($filterCallback($node)) { - $this->foundNodes[] = $node; - } - - return null; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor/FirstFindingVisitor.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor/FirstFindingVisitor.php deleted file mode 100644 index 596a7d7..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor/FirstFindingVisitor.php +++ /dev/null @@ -1,50 +0,0 @@ -filterCallback = $filterCallback; - } - - /** - * Get found node satisfying the filter callback. - * - * Returns null if no node satisfies the filter callback. - * - * @return null|Node Found node (or null if not found) - */ - public function getFoundNode() { - return $this->foundNode; - } - - public function beforeTraverse(array $nodes) { - $this->foundNode = null; - - return null; - } - - public function enterNode(Node $node) { - $filterCallback = $this->filterCallback; - if ($filterCallback($node)) { - $this->foundNode = $node; - return NodeTraverser::STOP_TRAVERSAL; - } - - return null; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor/NameResolver.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor/NameResolver.php deleted file mode 100644 index a7fd953..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor/NameResolver.php +++ /dev/null @@ -1,228 +0,0 @@ -nameContext = new NameContext($errorHandler ?? new ErrorHandler\Throwing); - $this->preserveOriginalNames = $options['preserveOriginalNames'] ?? false; - $this->replaceNodes = $options['replaceNodes'] ?? true; - } - - /** - * Get name resolution context. - * - * @return NameContext - */ - public function getNameContext() : NameContext { - return $this->nameContext; - } - - public function beforeTraverse(array $nodes) { - $this->nameContext->startNamespace(); - return null; - } - - public function enterNode(Node $node) { - if ($node instanceof Stmt\Namespace_) { - $this->nameContext->startNamespace($node->name); - } elseif ($node instanceof Stmt\Use_) { - foreach ($node->uses as $use) { - $this->addAlias($use, $node->type, null); - } - } elseif ($node instanceof Stmt\GroupUse) { - foreach ($node->uses as $use) { - $this->addAlias($use, $node->type, $node->prefix); - } - } elseif ($node instanceof Stmt\Class_) { - if (null !== $node->extends) { - $node->extends = $this->resolveClassName($node->extends); - } - - foreach ($node->implements as &$interface) { - $interface = $this->resolveClassName($interface); - } - - if (null !== $node->name) { - $this->addNamespacedName($node); - } - } elseif ($node instanceof Stmt\Interface_) { - foreach ($node->extends as &$interface) { - $interface = $this->resolveClassName($interface); - } - - $this->addNamespacedName($node); - } elseif ($node instanceof Stmt\Trait_) { - $this->addNamespacedName($node); - } elseif ($node instanceof Stmt\Function_) { - $this->addNamespacedName($node); - $this->resolveSignature($node); - } elseif ($node instanceof Stmt\ClassMethod - || $node instanceof Expr\Closure - || $node instanceof Expr\ArrowFunction - ) { - $this->resolveSignature($node); - } elseif ($node instanceof Stmt\Property) { - if (null !== $node->type) { - $node->type = $this->resolveType($node->type); - } - } elseif ($node instanceof Stmt\Const_) { - foreach ($node->consts as $const) { - $this->addNamespacedName($const); - } - } elseif ($node instanceof Expr\StaticCall - || $node instanceof Expr\StaticPropertyFetch - || $node instanceof Expr\ClassConstFetch - || $node instanceof Expr\New_ - || $node instanceof Expr\Instanceof_ - ) { - if ($node->class instanceof Name) { - $node->class = $this->resolveClassName($node->class); - } - } elseif ($node instanceof Stmt\Catch_) { - foreach ($node->types as &$type) { - $type = $this->resolveClassName($type); - } - } elseif ($node instanceof Expr\FuncCall) { - if ($node->name instanceof Name) { - $node->name = $this->resolveName($node->name, Stmt\Use_::TYPE_FUNCTION); - } - } elseif ($node instanceof Expr\ConstFetch) { - $node->name = $this->resolveName($node->name, Stmt\Use_::TYPE_CONSTANT); - } elseif ($node instanceof Stmt\TraitUse) { - foreach ($node->traits as &$trait) { - $trait = $this->resolveClassName($trait); - } - - foreach ($node->adaptations as $adaptation) { - if (null !== $adaptation->trait) { - $adaptation->trait = $this->resolveClassName($adaptation->trait); - } - - if ($adaptation instanceof Stmt\TraitUseAdaptation\Precedence) { - foreach ($adaptation->insteadof as &$insteadof) { - $insteadof = $this->resolveClassName($insteadof); - } - } - } - } - - return null; - } - - private function addAlias(Stmt\UseUse $use, $type, Name $prefix = null) { - // Add prefix for group uses - $name = $prefix ? Name::concat($prefix, $use->name) : $use->name; - // Type is determined either by individual element or whole use declaration - $type |= $use->type; - - $this->nameContext->addAlias( - $name, (string) $use->getAlias(), $type, $use->getAttributes() - ); - } - - /** @param Stmt\Function_|Stmt\ClassMethod|Expr\Closure $node */ - private function resolveSignature($node) { - foreach ($node->params as $param) { - $param->type = $this->resolveType($param->type); - } - $node->returnType = $this->resolveType($node->returnType); - } - - private function resolveType($node) { - if ($node instanceof Name) { - return $this->resolveClassName($node); - } - if ($node instanceof Node\NullableType) { - $node->type = $this->resolveType($node->type); - return $node; - } - if ($node instanceof Node\UnionType) { - foreach ($node->types as &$type) { - $type = $this->resolveType($type); - } - return $node; - } - return $node; - } - - /** - * Resolve name, according to name resolver options. - * - * @param Name $name Function or constant name to resolve - * @param int $type One of Stmt\Use_::TYPE_* - * - * @return Name Resolved name, or original name with attribute - */ - protected function resolveName(Name $name, int $type) : Name { - if (!$this->replaceNodes) { - $resolvedName = $this->nameContext->getResolvedName($name, $type); - if (null !== $resolvedName) { - $name->setAttribute('resolvedName', $resolvedName); - } else { - $name->setAttribute('namespacedName', FullyQualified::concat( - $this->nameContext->getNamespace(), $name, $name->getAttributes())); - } - return $name; - } - - if ($this->preserveOriginalNames) { - // Save the original name - $originalName = $name; - $name = clone $originalName; - $name->setAttribute('originalName', $originalName); - } - - $resolvedName = $this->nameContext->getResolvedName($name, $type); - if (null !== $resolvedName) { - return $resolvedName; - } - - // unqualified names inside a namespace cannot be resolved at compile-time - // add the namespaced version of the name as an attribute - $name->setAttribute('namespacedName', FullyQualified::concat( - $this->nameContext->getNamespace(), $name, $name->getAttributes())); - return $name; - } - - protected function resolveClassName(Name $name) { - return $this->resolveName($name, Stmt\Use_::TYPE_NORMAL); - } - - protected function addNamespacedName(Node $node) { - $node->namespacedName = Name::concat( - $this->nameContext->getNamespace(), (string) $node->name); - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/NodeVisitorAbstract.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/NodeVisitorAbstract.php deleted file mode 100644 index d378d67..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/NodeVisitorAbstract.php +++ /dev/null @@ -1,25 +0,0 @@ -parsers = $parsers; - } - - public function parse(string $code, ErrorHandler $errorHandler = null) { - if (null === $errorHandler) { - $errorHandler = new ErrorHandler\Throwing; - } - - list($firstStmts, $firstError) = $this->tryParse($this->parsers[0], $errorHandler, $code); - if ($firstError === null) { - return $firstStmts; - } - - for ($i = 1, $c = count($this->parsers); $i < $c; ++$i) { - list($stmts, $error) = $this->tryParse($this->parsers[$i], $errorHandler, $code); - if ($error === null) { - return $stmts; - } - } - - throw $firstError; - } - - private function tryParse(Parser $parser, ErrorHandler $errorHandler, $code) { - $stmts = null; - $error = null; - try { - $stmts = $parser->parse($code, $errorHandler); - } catch (Error $error) {} - return [$stmts, $error]; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Parser/Php5.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Parser/Php5.php deleted file mode 100644 index a558d28..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Parser/Php5.php +++ /dev/null @@ -1,2640 +0,0 @@ -'", - "T_IS_GREATER_OR_EQUAL", - "T_SL", - "T_SR", - "'+'", - "'-'", - "'.'", - "'*'", - "'/'", - "'%'", - "'!'", - "T_INSTANCEOF", - "'~'", - "T_INC", - "T_DEC", - "T_INT_CAST", - "T_DOUBLE_CAST", - "T_STRING_CAST", - "T_ARRAY_CAST", - "T_OBJECT_CAST", - "T_BOOL_CAST", - "T_UNSET_CAST", - "'@'", - "T_POW", - "'['", - "T_NEW", - "T_CLONE", - "T_EXIT", - "T_IF", - "T_ELSEIF", - "T_ELSE", - "T_ENDIF", - "T_LNUMBER", - "T_DNUMBER", - "T_STRING", - "T_STRING_VARNAME", - "T_VARIABLE", - "T_NUM_STRING", - "T_INLINE_HTML", - "T_ENCAPSED_AND_WHITESPACE", - "T_CONSTANT_ENCAPSED_STRING", - "T_ECHO", - "T_DO", - "T_WHILE", - "T_ENDWHILE", - "T_FOR", - "T_ENDFOR", - "T_FOREACH", - "T_ENDFOREACH", - "T_DECLARE", - "T_ENDDECLARE", - "T_AS", - "T_SWITCH", - "T_ENDSWITCH", - "T_CASE", - "T_DEFAULT", - "T_BREAK", - "T_CONTINUE", - "T_GOTO", - "T_FUNCTION", - "T_FN", - "T_CONST", - "T_RETURN", - "T_TRY", - "T_CATCH", - "T_FINALLY", - "T_THROW", - "T_USE", - "T_INSTEADOF", - "T_GLOBAL", - "T_STATIC", - "T_ABSTRACT", - "T_FINAL", - "T_PRIVATE", - "T_PROTECTED", - "T_PUBLIC", - "T_VAR", - "T_UNSET", - "T_ISSET", - "T_EMPTY", - "T_HALT_COMPILER", - "T_CLASS", - "T_TRAIT", - "T_INTERFACE", - "T_EXTENDS", - "T_IMPLEMENTS", - "T_OBJECT_OPERATOR", - "T_LIST", - "T_ARRAY", - "T_CALLABLE", - "T_CLASS_C", - "T_TRAIT_C", - "T_METHOD_C", - "T_FUNC_C", - "T_LINE", - "T_FILE", - "T_START_HEREDOC", - "T_END_HEREDOC", - "T_DOLLAR_OPEN_CURLY_BRACES", - "T_CURLY_OPEN", - "T_PAAMAYIM_NEKUDOTAYIM", - "T_NAMESPACE", - "T_NS_C", - "T_DIR", - "T_NS_SEPARATOR", - "T_ELLIPSIS", - "';'", - "'{'", - "'}'", - "'('", - "')'", - "'$'", - "'`'", - "']'", - "'\"'" - ); - - protected $tokenToSymbol = array( - 0, 159, 159, 159, 159, 159, 159, 159, 159, 159, - 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, - 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, - 159, 159, 159, 54, 158, 159, 155, 53, 36, 159, - 153, 154, 51, 48, 7, 49, 50, 52, 159, 159, - 159, 159, 159, 159, 159, 159, 159, 159, 30, 150, - 42, 15, 44, 29, 66, 159, 159, 159, 159, 159, - 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, - 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, - 159, 68, 159, 157, 35, 159, 156, 159, 159, 159, - 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, - 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, - 159, 159, 159, 151, 34, 152, 56, 159, 159, 159, - 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, - 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, - 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, - 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, - 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, - 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, - 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, - 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, - 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, - 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, - 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, - 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, - 159, 159, 159, 159, 159, 159, 1, 2, 3, 4, - 5, 6, 8, 9, 10, 11, 12, 13, 14, 16, - 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, - 27, 28, 31, 32, 33, 37, 38, 39, 40, 41, - 43, 45, 46, 47, 55, 57, 58, 59, 60, 61, - 62, 63, 64, 65, 67, 69, 70, 71, 72, 73, - 74, 75, 76, 77, 78, 79, 80, 81, 82, 159, - 159, 83, 84, 85, 86, 87, 88, 89, 90, 91, - 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, - 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, - 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, - 132, 133, 134, 135, 136, 137, 138, 139, 159, 159, - 159, 159, 159, 159, 140, 141, 142, 143, 144, 145, - 146, 147, 148, 149 - ); - - protected $action = array( - 681, 682, 683, 684, 685, 283, 686, 687, 688, 724, - 725, 222, 223, 224, 225, 226, 227, 228, 229, 230, - 0, 231, 232, 233, 234, 235, 236, 237, 238, 239, - 240, 241, 242,-32766,-32766,-32766,-32766,-32766,-32766,-32766, - -32766,-32767,-32767,-32767,-32767, 1052, 243, 244,-32766,-32766, - -32766,-32766,-32766, 689,-32766,-32766,-32766,-32766,-32766,-32766, - -32766,-32766,-32767,-32767,-32767,-32767,-32767, 690, 691, 692, - 693, 694, 695, 696, 834, 27, 757, 959, 960, 961, - 958, 957, 956, 697, 698, 699, 700, 701, 702, 703, - 704, 705, 706, 707, 727, 728, 729, 730, 731, 719, - 720, 721, 749, 722, 723, 708, 709, 710, 711, 712, - 713, 714, 751, 752, 753, 754, 755, 756, 715, 716, - 717, 718, 748, 739, 737, 738, 734, 735, 1188, 726, - 732, 733, 740, 741, 743, 742, 744, 745, 54, 55, - 426, 56, 57, 736, 747, 746, -220, 58, 59, 419, - 60,-32766,-32766,-32766,-32766,-32766,-32766,-32766,-32766,-32766, - 28,-32767,-32767,-32767,-32767,-32767,-32767,-32767,-32767, 97, - 98, 99, 100, 101, 9, 906, 907,-32766, 1202, 761, - 328, 764, 1188, 814, 61, 62, 52, 285, 500, 951, - 63, 434, 64, 294, 295, 65, 66, 67, 68, 69, - 70, 71, 72, 340, 25, 302, 73, 418,-32766,-32766, - -32766, 882, 1103, 1104, 761, 1080, 764,-32766,-32766,-32766, - 475, -255, 298, 825, 835, 759, 219, 220, 221,-32766, - 36,-32766,-32766,-32766,-32766,-32766,-32766, 125,-32766, 438, - -32766,-32766,-32766,-32766,-32766, 1052, 500, 206, 310, 434, - 499, 423, 1052, 129, 439, 759, 336, 340, 483, 484, - 10, 959, 960, 961, 958, 957, 956, 485, 486, 124, - 1109, 1110, 1111, 1112, 1106, 1107, 313,-32766,-32766,-32766, - -32766, 500, 1113, 1108, 434, 219, 220, 221, 425, 41, - 764, 336, 324, 1222, 325, 427, -126, -126, -126, -4, - 835, 474,-32766,-32766,-32766, 823, 206, 913, 40, 21, - 428, -126, 476, -126, 477, -126, 478, -126, 123, 429, - 219, 220, 221, 31, 32, 430, 431, 354, 130, 33, - 479, 883, 336, 74, 1203, 128, 352, 353, 480, 481, - 912, 206, 247, 301, 482, 210, 1052, 806, 853, 432, - 433, 312, 30, 297, 35, 106, 107, 108, 109, 110, - 111, 112, 113, 114, 115, 116, 117, 118, 421, 1052, - 296, 427, 1154, 837, 647, -126, 835, 474, 102, 103, - 104, 823, 304, 816, 40, 21, 428, 332, 476, 632, - 477, 422, 478, 298, 105, 429, 991, 993, 20, 31, - 32, 430, 431, 933, 409, 33, 479, 220, 221, 74, - 323,-32766, 352, 353, 480, 481,-32766,-32766,-32766, 424, - 482, 1052, 448, 768, 853, 432, 433, 206,-32766,-32766, - -32766, 48, 906, 907, 1153, 1070, 339,-32766, 485,-32766, - -32766,-32766,-32766, 1231, 337, 500, 1232, 427, 434, 837, - 647, -4, 835, 474, -224, 1052, 633, 823, 49, 434, - 40, 21, 428, 937, 476, 776, 477, 777, 478, -504, - 820, 429, -205, -205, -205, 31, 32, 430, 431,-32766, - -32766, 33, 479, 75,-32766, 74,-32766, 594, 352, 353, - 480, 481,-32766,-32766,-32766, 119, 482, 526, 451, 806, - 853, 432, 433, 240, 241, 242, 128,-32766,-32766,-32766, - 411, 775, 51,-32766, 120,-32766,-32766,-32766, 500, 243, - 244, 434, 552, 427, 417, 837, 647, -205,-32766, 474, - -32766,-32766, 1052, 823, 821, 351, 40, 21, 428, 1052, - 476, 121, 477, 449, 478, 1115, 211, 429, -204, -204, - -204, 31, 32, 430, 431, 1115, 286, 33, 479, 818, - 835, 74, 932, 299, 352, 353, 480, 481, 212, 219, - 220, 221, 482, 335, 245, 806, 853, 432, 433,-32766, - -32766,-32766, 213, 79, 80, 81, 99, 100, 101, 650, - 206, 237, 238, 239, 444, 122, 776, 649, 777, 300, - -32766, 837, 647, -204, 34, 248, 82, 83, 84, 85, - 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, - 96, 97, 98, 99, 100, 101, 102, 103, 104, 1052, - 304, 427, 221, 249, 835, 250, 78, 474, 206, 133, - 336, 823, 105, 585, 40, 21, 428, 127, 476, -83, - 477, 206, 478,-32766,-32766, 429, 219, 220, 221, 31, - 32, 430, 316, 651, 658, 33, 479, 835, 661, 74, - 243, 244, 352, 353, 458, 22, 833, 206, 463, 601, - 482, 134, 362, 132, 608, 609, 769, 653,-32766, 948, - 667, 936, 675, 846, 304, 105, 655, 43, 44, 45, - 616, 761, 759, 46, 47, 427, 302, -274, 50, 837, - 647, 474, 53, 131, 588, 823, 442, 468, 40, 21, - 428, 762, 476, 606, 477,-32766, 478, 764, 447, 429, - 964, 854, 532, 31, 32, 430, 855, 327, 427, 33, - 479, 835, 641, 74, 474, 620, 352, 353, 823, -81, - 628, 40, 21, 428, 482, 476, 11, 477, 450, 478, - 282, 591, 429, 375, 605, 848, 31, 32, 430, 0, - 659, 329, 33, 479, 835, 0, 74, 0, 0, 352, - 353, 0, 0, 837, 647, -504, 0, 482, 326, 0, - 331, 0, 0, 0, 0, 0, 0, 0, 309, 311, - -505, 0, 485, 664, 0, 0, 0, 0, 0, 0, - 0, 0, 427, 1114, 1160, 0, 869, 647, 474, -413, - -405, 835, 823, 5, 6, 40, 21, 428, 12, 476, - 14, 477, 361, 478, -414, 386, 429, 387, 24, 395, - 31, 32, 430, 444, 534, 427, 33, 479, 412, 413, - 74, 474, 38, 352, 353, 823, 39, 670, 40, 21, - 428, 482, 476, 671, 477, 774, 478, 824, 832, 429, - 811, 826, 885, 31, 32, 430, 876, 877, 809, 33, - 479, 870, 867, 74, 865, 943, 352, 353, 944, 941, - 837, 647, 427, 815, 482, 817, 819, 831, 474, 822, - 940, 772, 823, 773, 942, 40, 21, 428, 78, 476, - 648, 477, 652, 478, 654, 656, 429, 657, 246, 660, - 31, 32, 430, 837, 647, 662, 33, 479, 663, 665, - 74, 666, 126, 352, 353, 333, 214, 215, 334, 407, - 408, 482, 216, 672, 217, 807, 1228, 1230, 771, 852, - 770, 851, 1229, 850, 1066, 842, 208, 1054, 849, 1055, - 840, 214, 215, 949, 1103, 1104, 874, 216,-32766, 217, - 837, 647, 1105, 875, 462, 1227, 1196, 1194, 1179, 1192, - 1094, 208, 924, 1200, 1190, 780, 781, 778, 779, 1103, - 1104, 26, 29,-32766, 37, 42, 76, 1105, 77, 209, - 284, 292, 293, 305, 306, 307, 308, 341, 410, 416, - -32766, 0, -221, -220, 16, 17, 18, 380, 459, 466, - 573, 467, 1109, 1110, 1111, 1112, 1106, 1107, 385, 472, - 567, 638, 1057, 1060, 1113, 1108, 914, 1119, 1056, 1032, - 577, 218, 287,-32766, 1031, 573, 1096, 1109, 1110, 1111, - 1112, 1106, 1107, 385, -423, 1050, 0, 1061, 1063, 1113, - 1108, 1062, 1065, 1064, 1079, 1193, 218, 1178,-32766, 1174, - 0, 1191, 1093, 1225, 1120, 1173, 612, 0, 1159 - ); - - protected $actionCheck = array( - 2, 3, 4, 5, 6, 13, 8, 9, 10, 11, - 12, 32, 33, 34, 35, 36, 37, 38, 39, 40, - 0, 42, 43, 44, 45, 46, 47, 48, 49, 50, - 51, 52, 53, 8, 9, 10, 32, 33, 34, 35, - 36, 37, 38, 39, 40, 12, 67, 68, 32, 33, - 34, 35, 36, 55, 29, 8, 31, 32, 33, 34, - 35, 36, 37, 38, 39, 40, 41, 69, 70, 71, - 72, 73, 74, 75, 1, 7, 78, 114, 115, 116, - 117, 118, 119, 85, 86, 87, 88, 89, 90, 91, - 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, - 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, - 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 126, 127, 128, 129, 80, 131, - 132, 133, 134, 135, 136, 137, 138, 139, 2, 3, - 4, 5, 6, 145, 146, 147, 154, 11, 12, 125, - 14, 32, 33, 34, 35, 36, 37, 38, 39, 40, - 7, 42, 43, 44, 45, 42, 43, 44, 45, 46, - 47, 48, 49, 50, 105, 132, 133, 153, 1, 78, - 111, 80, 80, 150, 48, 49, 68, 7, 145, 120, - 54, 148, 56, 57, 58, 59, 60, 61, 62, 63, - 64, 65, 66, 155, 68, 69, 70, 71, 8, 9, - 10, 30, 76, 77, 78, 114, 80, 8, 9, 10, - 84, 152, 36, 150, 1, 78, 8, 9, 10, 29, - 13, 31, 32, 33, 34, 35, 36, 7, 29, 103, - 31, 32, 33, 34, 35, 12, 145, 29, 130, 148, - 114, 7, 12, 151, 153, 78, 155, 155, 122, 123, - 7, 114, 115, 116, 117, 118, 119, 131, 132, 151, - 134, 135, 136, 137, 138, 139, 140, 32, 33, 34, - 35, 145, 146, 147, 148, 8, 9, 10, 7, 153, - 80, 155, 156, 83, 158, 72, 73, 74, 75, 0, - 1, 78, 8, 9, 10, 82, 29, 154, 85, 86, - 87, 88, 89, 90, 91, 92, 93, 94, 13, 96, - 8, 9, 10, 100, 101, 102, 103, 7, 151, 106, - 107, 150, 155, 110, 154, 149, 113, 114, 115, 116, - 154, 29, 30, 36, 121, 7, 12, 124, 125, 126, - 127, 7, 142, 143, 15, 16, 17, 18, 19, 20, - 21, 22, 23, 24, 25, 26, 27, 28, 7, 12, - 36, 72, 154, 150, 151, 152, 1, 78, 51, 52, - 53, 82, 55, 150, 85, 86, 87, 7, 89, 78, - 91, 7, 93, 36, 67, 96, 57, 58, 154, 100, - 101, 102, 103, 150, 105, 106, 107, 9, 10, 110, - 111, 80, 113, 114, 115, 116, 8, 9, 10, 7, - 121, 12, 30, 124, 125, 126, 127, 29, 32, 33, - 34, 68, 132, 133, 157, 154, 68, 29, 131, 31, - 32, 33, 34, 78, 145, 145, 81, 72, 148, 150, - 151, 152, 1, 78, 154, 12, 145, 82, 68, 148, - 85, 86, 87, 152, 89, 103, 91, 105, 93, 130, - 150, 96, 97, 98, 99, 100, 101, 102, 103, 8, - 9, 106, 107, 149, 153, 110, 155, 83, 113, 114, - 115, 116, 8, 9, 10, 15, 121, 83, 130, 124, - 125, 126, 127, 51, 52, 53, 149, 8, 9, 10, - 148, 150, 68, 29, 151, 31, 32, 33, 145, 67, - 68, 148, 79, 72, 7, 150, 151, 152, 29, 78, - 31, 32, 12, 82, 150, 7, 85, 86, 87, 12, - 89, 151, 91, 151, 93, 141, 15, 96, 97, 98, - 99, 100, 101, 102, 103, 141, 36, 106, 107, 150, - 1, 110, 150, 36, 113, 114, 115, 116, 15, 8, - 9, 10, 121, 7, 13, 124, 125, 126, 127, 8, - 9, 10, 15, 8, 9, 10, 48, 49, 50, 30, - 29, 48, 49, 50, 148, 151, 103, 151, 105, 7, - 29, 150, 151, 152, 29, 15, 31, 32, 33, 34, - 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, - 45, 46, 47, 48, 49, 50, 51, 52, 53, 12, - 55, 72, 10, 15, 1, 15, 151, 78, 29, 151, - 155, 82, 67, 155, 85, 86, 87, 30, 89, 30, - 91, 29, 93, 32, 33, 96, 8, 9, 10, 100, - 101, 102, 30, 30, 30, 106, 107, 1, 30, 110, - 67, 68, 113, 114, 73, 74, 30, 29, 73, 74, - 121, 98, 99, 30, 108, 109, 150, 151, 32, 150, - 151, 150, 151, 36, 55, 67, 30, 68, 68, 68, - 75, 78, 78, 68, 68, 72, 69, 80, 68, 150, - 151, 78, 68, 68, 88, 82, 103, 103, 85, 86, - 87, 78, 89, 111, 91, 83, 93, 80, 87, 96, - 80, 125, 83, 100, 101, 102, 125, 129, 72, 106, - 107, 1, 90, 110, 78, 94, 113, 114, 82, 95, - 92, 85, 86, 87, 121, 89, 95, 91, 95, 93, - 95, 97, 96, 148, 97, 149, 100, 101, 102, -1, - 30, 112, 106, 107, 1, -1, 110, -1, -1, 113, - 114, -1, -1, 150, 151, 130, -1, 121, 128, -1, - 128, -1, -1, -1, -1, -1, -1, -1, 130, 130, - 130, -1, 131, 30, -1, -1, -1, -1, -1, -1, - -1, -1, 72, 141, 141, -1, 150, 151, 78, 144, - 144, 1, 82, 144, 144, 85, 86, 87, 144, 89, - 144, 91, 144, 93, 144, 148, 96, 148, 153, 148, - 100, 101, 102, 148, 148, 72, 106, 107, 148, 148, - 110, 78, 150, 113, 114, 82, 150, 150, 85, 86, - 87, 121, 89, 150, 91, 150, 93, 150, 150, 96, - 150, 150, 150, 100, 101, 102, 150, 150, 150, 106, - 107, 150, 150, 110, 150, 150, 113, 114, 150, 150, - 150, 151, 72, 150, 121, 150, 150, 150, 78, 150, - 150, 150, 82, 150, 150, 85, 86, 87, 151, 89, - 151, 91, 151, 93, 151, 151, 96, 151, 30, 151, - 100, 101, 102, 150, 151, 151, 106, 107, 151, 151, - 110, 151, 151, 113, 114, 151, 48, 49, 151, 151, - 151, 121, 54, 152, 56, 152, 152, 152, 152, 152, - 152, 152, 152, 152, 152, 152, 68, 152, 152, 152, - 152, 48, 49, 152, 76, 77, 152, 54, 80, 56, - 150, 151, 84, 152, 152, 152, 152, 152, 152, 152, - 152, 68, 152, 152, 152, 152, 152, 152, 152, 76, - 77, 153, 153, 80, 153, 153, 153, 84, 153, 153, - 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, - 153, -1, 154, 154, 154, 154, 154, 154, 154, 154, - 132, 154, 134, 135, 136, 137, 138, 139, 140, 154, - 154, 154, 154, 154, 146, 147, 154, 154, 154, 154, - 154, 153, 155, 155, 154, 132, 154, 134, 135, 136, - 137, 138, 139, 140, 156, 156, -1, 157, 157, 146, - 147, 157, 157, 157, 157, 157, 153, 157, 155, 157, - -1, 157, 157, 157, 157, 157, 157, -1, 158 - ); - - protected $actionBase = array( - 0, 223, 299, 375, 451, 102, 102, 311, 754, -2, - -2, 147, -2, -2, -2, 633, 740, 773, 740, 559, - 666, 820, 820, 820, 186, 334, 334, 334, 357, 892, - 443, 33, 233, 409, 617, 520, 527, 240, 240, 240, - 240, 136, 136, 240, 240, 240, 240, 240, 240, 240, - 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, - 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, - 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, - 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, - 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, - 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, - 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, - 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, - 240, 240, 240, 240, 240, 181, 73, 305, 217, 743, - 745, 746, 747, 884, 665, 885, 823, 824, 653, 825, - 826, 827, 828, 830, 822, 831, 919, 832, 575, 575, - 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, - 47, 561, 218, 312, 277, 471, 648, 648, 648, 648, - 648, 648, 648, 294, 294, 294, 294, 294, 294, 294, - 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, - 294, 398, 571, 571, 571, 622, 888, 609, 913, 913, - 913, 913, 913, 913, 913, 913, 913, 913, 913, 913, - 913, 913, 913, 913, 913, 913, 913, 913, 913, 913, - 913, 913, 913, 913, 913, 913, 913, 913, 913, 913, - 913, 913, 913, 913, 913, 913, 913, 913, 913, 913, - 913, 499, -21, -21, 484, 656, 408, 621, 209, 396, - 200, 25, 25, 25, 25, 25, 245, 16, 4, 4, - 4, 4, 339, 123, 123, 123, 123, 119, 119, 119, - 119, 69, 307, 307, 671, 671, 637, 781, 538, 538, - 543, 543, 101, 101, 101, 101, 101, 101, 101, 101, - 101, 101, 24, 627, 857, 300, 300, 300, 300, 177, - 177, 177, 43, 414, 673, 920, 43, 327, 327, 327, - 452, 452, 452, 362, 649, 210, 331, 331, 331, 331, - 210, 331, 331, 493, 493, 493, 485, 446, 642, 365, - 488, 373, 390, 664, 814, 667, 821, 541, 690, 118, - 700, 701, 887, 613, 887, 601, 605, 576, 676, 392, - 850, 48, 181, 539, 444, 639, 749, 361, 751, 320, - 384, 368, 536, 363, 244, 784, 753, 886, 890, 180, - 670, 639, 639, 639, 153, 404, 787, 788, 363, -8, - 603, 603, 603, 603, 833, 789, 603, 603, 603, 603, - 834, 835, 253, 412, 836, 281, 750, 623, 623, 624, - 624, 623, 623, 623, 623, 650, 657, 623, 839, 685, - 685, 624, 647, 624, 650, 657, 842, 842, 842, 842, - 624, 657, 624, 624, 623, 624, 685, 685, 657, 637, - 685, 68, 657, 660, 623, 662, 662, 842, 707, 713, - 624, 624, 608, 685, 685, 685, 608, 657, 842, 612, - 616, 338, 685, 842, 632, 647, 632, 612, 657, 632, - 647, 647, 632, 20, 619, 629, 841, 843, 855, 759, - 606, 611, 848, 849, 845, 847, 838, 646, 696, 715, - 717, 480, 630, 631, 635, 636, 679, 640, 668, 613, - 695, 628, 628, 628, 655, 680, 655, 628, 628, 628, - 628, 628, 628, 628, 628, 900, 675, 688, 669, 641, - 718, 531, 615, 663, 553, 761, 672, 696, 696, 793, - 878, 863, 898, 899, 643, 850, 876, 655, 901, 702, - 230, 567, 851, 791, 687, 689, 655, 852, 655, 763, - 655, 879, 794, 645, 795, 696, 796, 628, 882, 904, - 905, 906, 907, 908, 910, 912, 914, 644, 915, 720, - 626, 864, 344, 846, 676, 684, 691, 721, 797, 380, - 916, 798, 655, 655, 764, 757, 655, 766, 722, 706, - 860, 726, 865, 917, 672, 867, 655, 614, 799, 918, - 380, 634, 625, 858, 651, 727, 856, 883, 854, 768, - 590, 618, 800, 801, 802, 638, 728, 861, 862, 859, - 731, 774, 620, 777, 658, 803, 778, 853, 732, 805, - 806, 877, 654, 695, 686, 659, 661, 652, 780, 807, - 875, 734, 735, 738, 808, 739, 811, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 136, 136, 136, - 136, -2, -2, -2, -2, 0, 0, -2, 0, 0, - 0, 136, 136, 136, 136, 136, 136, 136, 136, 136, - 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, - 136, 136, 136, 136, 136, 136, 136, 0, 0, 136, - 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, - 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, - 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, - 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, - 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, - 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, - 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, - 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, - 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, - 136, 575, 575, 575, 575, 575, 575, 575, 575, 575, - 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, - 575, 575, 575, 575, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 575, -21, -21, -21, - -21, 575, -21, -21, -21, -21, -21, -21, -21, 575, - 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, - 575, 575, 575, 575, 575, 575, 575, -21, 575, 575, - 575, -21, 101, -21, 101, 101, 101, 101, 101, 101, - 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, - 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, - 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, - 101, 101, 101, 101, 101, 101, 101, 575, 0, 0, - 575, -21, 575, -21, 575, -21, 575, 575, 575, 575, - 575, 575, -21, -21, -21, -21, -21, -21, 0, 327, - 327, 327, 327, -21, -21, -21, -21, -37, 101, 101, - 101, 101, 101, 101, 327, 327, 452, 452, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 101, -37, - 101, 623, 623, 623, 623, 647, 647, 647, 623, 210, - 210, 210, 623, 0, 0, 0, 0, 0, 0, 623, - 210, 0, 101, 101, 101, 101, 0, 101, 101, 623, - 623, 623, 647, 623, 210, 647, 647, 623, 685, 583, - 583, 583, 583, 380, 363, 0, 623, 623, 647, 647, - 647, 0, 0, 0, 685, 0, 624, 0, 0, 0, - 0, 628, 230, 0, 528, 0, 0, 0, 0, 0, - 0, 643, 528, 592, 592, 0, 644, 628, 628, 628, - 0, 0, 643, 643, 0, 0, 0, 0, 0, 0, - 566, 643, 0, 0, 0, 0, 566, 517, 0, 0, - 517, 0, 380 - ); - - protected $actionDefault = array( - 3,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767, 533, 533, 488,32767,32767, - 32767,32767,32767,32767,32767,32767,32767, 293, 293, 293, - 32767,32767,32767, 521, 521, 521, 521, 521, 521, 521, - 521, 521, 521, 521,32767,32767,32767,32767,32767, 376, - 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767, 382, 538,32767, - 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767,32767, 357, 358, - 360, 361, 292, 541, 522, 241, 383, 537, 291, 243, - 321, 492,32767,32767,32767, 323, 120, 252, 197, 491, - 123, 290, 228, 375, 377, 322, 297, 302, 303, 304, - 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, - 296, 448, 354, 353, 352, 450,32767, 449, 485, 485, - 488,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767, 319, 476, 475, 320, 446, 324, 447, 326, 451, - 325, 342, 343, 340, 341, 344, 453, 452, 469, 470, - 467, 468, 295, 345, 346, 347, 348, 471, 472, 473, - 474, 276,32767,32767, 532, 532,32767,32767, 333, 334, - 460, 461,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767, 277,32767, 232, 232, 232, 232,32767, - 32767,32767, 232,32767,32767,32767,32767, 328, 329, 327, - 455, 456, 454,32767, 422,32767,32767,32767,32767,32767, - 424,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767, 493,32767,32767,32767,32767,32767, 506, 411, - 32767,32767,32767, 404,32767, 216, 218, 165, 479,32767, - 32767,32767,32767,32767, 511, 338,32767,32767,32767,32767, - 32767, 548,32767, 506,32767,32767,32767,32767,32767,32767, - 351, 330, 331, 332,32767,32767,32767,32767, 510, 504, - 463, 464, 465, 466,32767,32767, 457, 458, 459, 462, - 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767, 169,32767, 419, 425, - 425,32767,32767,32767,32767, 169,32767,32767,32767,32767, - 32767, 169,32767,32767,32767,32767, 509, 508, 169,32767, - 405, 487, 169, 182,32767, 180, 180,32767, 202, 202, - 32767,32767, 184, 480, 499,32767, 184, 169,32767, 393, - 171, 487,32767,32767, 234,32767, 234, 393, 169, 234, - 32767,32767, 234,32767, 85, 429,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767,32767, 406,32767, - 32767,32767, 372, 373, 482, 495,32767, 496,32767, 404, - 32767, 336, 337, 339, 316,32767, 318, 362, 363, 364, - 365, 366, 367, 368, 370,32767, 409,32767, 412,32767, - 32767,32767, 87, 112, 251,32767, 546, 87, 407,32767, - 32767, 300, 546,32767,32767,32767,32767, 540,32767,32767, - 294,32767,32767,32767, 87, 87, 247,32767, 167,32767, - 530,32767, 547,32767, 504, 408,32767, 335,32767,32767, - 32767,32767,32767,32767,32767,32767,32767, 505,32767,32767, - 32767,32767, 223,32767, 442,32767, 87,32767,32767, 183, - 32767,32767, 298, 242,32767,32767, 539,32767,32767,32767, - 32767,32767,32767,32767,32767,32767, 168,32767,32767,32767, - 185,32767,32767, 504,32767,32767,32767,32767,32767,32767, - 32767, 289,32767,32767,32767,32767,32767,32767,32767, 504, - 32767,32767, 227,32767,32767,32767,32767,32767,32767,32767, - 32767,32767, 85, 60,32767, 270,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767, 125, 125, 3, - 125, 125, 254, 3, 254, 125, 254, 254, 125, 125, - 125, 125, 125, 125, 125, 125, 125, 125, 210, 213, - 202, 202, 162, 125, 125, 262 - ); - - protected $goto = array( - 165, 138, 138, 138, 165, 143, 146, 139, 140, 141, - 148, 186, 167, 162, 162, 162, 162, 143, 143, 164, - 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, - 158, 159, 160, 161, 183, 137, 184, 501, 502, 365, - 503, 507, 508, 509, 510, 511, 512, 513, 514, 977, - 142, 163, 144, 145, 147, 170, 175, 185, 202, 251, - 254, 256, 258, 260, 261, 262, 263, 264, 265, 273, - 274, 275, 276, 288, 289, 317, 318, 319, 381, 382, - 383, 557, 187, 188, 189, 190, 191, 192, 193, 194, - 195, 196, 197, 198, 199, 200, 149, 150, 151, 166, - 152, 168, 153, 203, 169, 154, 155, 156, 204, 157, - 135, 634, 575, 760, 575, 575, 575, 575, 575, 575, - 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, - 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, - 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, - 575, 575, 575, 575, 575, 575, 575, 1116, 766, 1116, - 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, - 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, - 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, - 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, - 1116, 1116, 505, 505, 505, 505, 505, 505, 516, 642, - 516, 767, 505, 505, 505, 505, 505, 505, 505, 505, - 505, 505, 517, 797, 517, 898, 898, 1207, 1207, 531, - 589, 617, 862, 862, 862, 862, 173, 857, 863, 1092, - 1091, 176, 177, 178, 390, 391, 392, 393, 172, 201, - 205, 207, 255, 257, 259, 266, 267, 268, 269, 270, - 271, 277, 278, 279, 280, 290, 291, 320, 321, 322, - 396, 397, 398, 399, 174, 179, 252, 253, 180, 181, - 182, 389, 619, 550, 550, 582, 546, 598, 765, 613, - 614, 548, 548, 504, 506, 537, 554, 583, 586, 596, - 603, 884, 866, 864, 866, 668, 828, 519, 893, 888, - 574, 344, 574, 574, 574, 574, 574, 574, 574, 574, - 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, - 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, - 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, - 574, 574, 574, 574, 574, 559, 560, 561, 562, 563, - 564, 565, 566, 568, 599, 522, 558, 330, 315, 1219, - 1219, 530, 592, 595, 640, 527, 527, 527, 868, 527, - 600, 347, 406, 530, 530, 1219, 440, 440, 440, 440, - 440, 440, 545, 527, 551, 954, 440, 440, 440, 440, - 440, 440, 440, 440, 440, 440, 1081, 1211, 1081, 905, - 905, 905, 905, 3, 4, 623, 905, 955, 626, 556, - 905, 363, 1185, 581, 1185, 916, 371, 371, 371, 366, - 1081, 1081, 1081, 1081, 790, 1081, 1081, 371, 371, 1184, - 607, 1184, 1177, 371, 1165, 471, 1201, 1201, 1201, 527, - 527, 371, 1233, 544, 576, 527, 527, 618, 1074, 527, - 1204, 790, 790, 378, 1025, 922, 524, 922, 518, 902, - 518, 911, 350, 1183, 975, 400, 528, 543, 786, 669, - 570, 372, 376, 920, 604, 784, 555, 895, 624, 625, - 891, 629, 630, 637, 639, 644, 646, 453, 455, 947, - 645, 673, 1097, 404, 1117, 627, 945, 1199, 1199, 1199, - 1035, 19, 15, 359, 1218, 1218, 1067, 872, 783, 783, - 794, 963, 791, 791, 791, 793, 1072, 925, 782, 456, - 1218, 569, 345, 346, 360, 524, 1077, 1078, 1221, 1162, - 1074, 535, 23, 587, 469, 547, 0, 615, 373, 373, - 373, 0, 0, 1075, 1176, 1075, 0, 0, 542, 0, - 460, 0, 1076, 0, 0, 0, 0, 0, 0, 0, - 0, 13, 0, 0, 0, 373, 0, 0, 622, 388, - 0, 0, 0, 1073, 631, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 521, 541, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 521, - 0, 541, 0, 0, 0, 0, 0, 536, 520, 0, - 525, 443, 0, 445, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 789, 1226 - ); - - protected $gotoCheck = array( - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 56, 66, 5, 66, 66, 66, 66, 66, 66, - 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, - 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, - 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, - 66, 66, 66, 66, 66, 66, 66, 124, 14, 124, - 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, - 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, - 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, - 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, - 124, 124, 115, 115, 115, 115, 115, 115, 66, 8, - 66, 15, 115, 115, 115, 115, 115, 115, 115, 115, - 115, 115, 115, 28, 115, 74, 74, 74, 74, 99, - 39, 39, 66, 66, 66, 66, 26, 66, 66, 122, - 122, 26, 26, 26, 26, 26, 26, 26, 26, 26, - 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, - 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, - 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, - 26, 50, 50, 50, 50, 50, 50, 64, 13, 64, - 64, 50, 50, 50, 50, 50, 50, 50, 50, 50, - 50, 13, 13, 13, 13, 13, 49, 13, 13, 13, - 56, 69, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 108, 108, 108, 108, 108, - 108, 108, 108, 108, 108, 10, 46, 123, 123, 140, - 140, 46, 59, 59, 59, 10, 10, 10, 32, 10, - 67, 67, 67, 46, 46, 140, 56, 56, 56, 56, - 56, 56, 10, 10, 107, 95, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 56, 138, 56, 56, - 56, 56, 56, 29, 29, 60, 56, 95, 60, 2, - 56, 60, 116, 2, 116, 81, 12, 12, 12, 45, - 56, 56, 56, 56, 22, 56, 56, 12, 12, 117, - 125, 117, 79, 12, 129, 56, 117, 117, 117, 10, - 10, 12, 12, 10, 10, 10, 10, 48, 79, 10, - 136, 22, 22, 47, 100, 12, 12, 12, 120, 76, - 120, 78, 17, 117, 99, 21, 10, 31, 24, 31, - 31, 11, 16, 82, 31, 23, 10, 31, 31, 31, - 31, 31, 31, 31, 31, 31, 31, 7, 7, 7, - 7, 71, 33, 20, 7, 7, 7, 8, 8, 8, - 33, 33, 33, 33, 139, 139, 111, 68, 22, 22, - 25, 97, 22, 22, 22, 22, 113, 83, 22, 62, - 139, 33, 69, 69, 57, 12, 79, 79, 139, 128, - 79, 57, 33, 63, 106, 57, -1, 33, 121, 121, - 121, -1, -1, 79, 79, 79, -1, -1, 8, -1, - 57, -1, 79, -1, -1, -1, -1, -1, -1, -1, - -1, 57, -1, -1, -1, 121, -1, -1, 12, 121, - -1, -1, -1, 12, 12, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 8, 8, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 8, - -1, 8, -1, -1, -1, -1, -1, 99, 8, -1, - 8, 8, -1, 8, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 8, 8 - ); - - protected $gotoBase = array( - 0, 0, -230, 0, 0, 102, 0, 492, 198, 0, - 42, 144, 113, 286, 156, 209, 132, 149, 0, 0, - 95, 141, 111, 134, 143, 99, 30, 0, 213, -260, - 0, -171, 358, 84, 0, 0, 0, 0, 0, 192, - 0, 0, -24, 0, 0, 389, 342, 170, 174, 288, - -1, 0, 0, 0, 0, 0, 104, 103, 0, 66, - -51, 0, 83, 87, -367, 0, -94, 53, 94, -138, - 0, 139, 0, 0, -57, 0, 157, 0, 155, 100, - 0, 397, 129, 105, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 114, 0, 97, 0, 188, - 160, 0, 0, 0, 0, 0, 77, 368, 311, 0, - 0, 96, 0, 101, 0, -80, 120, 137, 0, 0, - 166, 239, -71, 43, -49, 231, 0, 0, 78, 234, - 0, 0, 0, 0, 0, 0, 175, 0, 380, 200, - 55, 0, 0 - ); - - protected $gotoDefault = array( - -32768, 473, 677, 2, 678, 750, 758, 610, 487, 643, - 488, 523, 1195, 803, 804, 805, 368, 414, 489, 367, - 401, 394, 792, 785, 787, 795, 171, 402, 798, 1, - 800, 529, 836, 1026, 355, 808, 356, 602, 810, 539, - 812, 813, 136, 369, 370, 540, 490, 377, 590, 827, - 272, 374, 829, 357, 830, 839, 358, 470, 465, 571, - 621, 435, 452, 584, 578, 549, 1089, 579, 871, 343, - 879, 674, 887, 890, 491, 572, 901, 457, 909, 1102, - 384, 915, 921, 926, 281, 929, 415, 403, 597, 934, - 935, 7, 939, 635, 636, 8, 303, 962, 611, 976, - 420, 1045, 1047, 492, 493, 533, 464, 515, 538, 494, - 1068, 446, 405, 1071, 495, 496, 436, 437, 1086, 349, - 1170, 348, 454, 314, 1157, 593, 1121, 461, 1210, 1166, - 342, 497, 498, 364, 1189, 379, 1205, 441, 1212, 1220, - 338, 553, 580 - ); - - protected $ruleToNonTerminal = array( - 0, 1, 3, 3, 2, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, - 6, 7, 7, 8, 9, 10, 10, 11, 12, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 17, 17, 18, 18, 18, 18, 20, 20, 16, 16, - 21, 21, 22, 22, 23, 23, 24, 24, 19, 19, - 25, 27, 27, 28, 29, 29, 31, 30, 30, 30, - 30, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 13, 13, 53, 53, 55, 54, 54, 47, 47, 57, - 57, 58, 58, 14, 15, 15, 15, 61, 61, 61, - 62, 62, 65, 65, 63, 63, 67, 67, 40, 40, - 49, 49, 52, 52, 52, 51, 51, 68, 41, 41, - 41, 41, 69, 69, 70, 70, 71, 71, 38, 38, - 34, 34, 72, 36, 36, 73, 35, 35, 37, 37, - 48, 48, 48, 59, 59, 75, 75, 76, 76, 78, - 78, 78, 77, 77, 60, 60, 79, 79, 79, 80, - 80, 81, 81, 81, 43, 43, 82, 82, 82, 44, - 44, 83, 83, 84, 84, 64, 85, 85, 85, 85, - 90, 90, 91, 91, 92, 92, 92, 92, 92, 93, - 94, 94, 89, 89, 86, 86, 88, 88, 96, 96, - 95, 95, 95, 95, 95, 95, 87, 87, 98, 97, - 97, 45, 45, 39, 39, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 33, 33, 46, 46, 103, 103, 104, 104, 104, 104, - 110, 99, 99, 106, 106, 112, 112, 113, 114, 114, - 114, 114, 114, 114, 66, 66, 56, 56, 56, 100, - 100, 118, 118, 115, 115, 119, 119, 119, 119, 101, - 101, 101, 105, 105, 105, 111, 111, 124, 124, 124, - 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, - 26, 26, 26, 26, 26, 26, 126, 126, 126, 126, - 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, - 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, - 126, 126, 126, 126, 126, 126, 126, 126, 126, 109, - 109, 102, 102, 102, 102, 125, 125, 128, 128, 127, - 127, 129, 129, 50, 50, 50, 50, 131, 131, 130, - 130, 130, 130, 130, 132, 132, 117, 117, 120, 120, - 116, 116, 134, 133, 133, 133, 133, 121, 121, 121, - 121, 108, 108, 122, 122, 122, 122, 74, 135, 135, - 136, 136, 136, 107, 107, 137, 137, 138, 138, 138, - 138, 138, 123, 123, 123, 123, 140, 141, 139, 139, - 139, 139, 139, 139, 139, 142, 142, 142 - ); - - protected $ruleToLength = array( - 1, 1, 2, 0, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, - 1, 1, 1, 3, 5, 4, 3, 4, 2, 3, - 1, 1, 7, 8, 6, 7, 3, 1, 3, 1, - 3, 1, 1, 3, 1, 2, 1, 2, 3, 1, - 3, 3, 1, 3, 2, 0, 1, 1, 1, 1, - 1, 3, 5, 8, 3, 5, 9, 3, 2, 3, - 2, 3, 2, 3, 3, 3, 3, 1, 2, 2, - 5, 7, 9, 5, 6, 3, 3, 2, 2, 1, - 1, 1, 0, 2, 8, 0, 4, 1, 3, 0, - 1, 0, 1, 10, 7, 6, 5, 1, 2, 2, - 0, 2, 0, 2, 0, 2, 1, 3, 1, 4, - 1, 4, 1, 1, 4, 1, 3, 3, 3, 4, - 4, 5, 0, 2, 4, 3, 1, 1, 1, 4, - 0, 2, 3, 0, 2, 4, 0, 2, 0, 3, - 1, 2, 1, 1, 0, 1, 3, 4, 6, 1, - 1, 1, 0, 1, 0, 2, 2, 3, 3, 1, - 3, 1, 2, 2, 3, 1, 1, 2, 4, 3, - 1, 1, 3, 2, 0, 1, 3, 3, 9, 3, - 1, 3, 0, 2, 4, 5, 4, 4, 4, 3, - 1, 1, 1, 3, 1, 1, 0, 1, 1, 2, - 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, - 3, 3, 1, 0, 1, 1, 3, 3, 4, 4, - 1, 2, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 2, 2, 2, 2, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 1, 3, 5, 4, 3, 4, 4, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 1, 1, 1, 3, 2, 1, 2, 10, 11, - 3, 3, 2, 4, 4, 3, 4, 4, 4, 4, - 7, 3, 2, 0, 4, 1, 3, 2, 2, 4, - 6, 2, 2, 4, 1, 1, 1, 2, 3, 1, - 1, 1, 1, 1, 1, 3, 3, 4, 4, 0, - 2, 1, 0, 1, 1, 0, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 3, 2, - 1, 3, 1, 4, 3, 1, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 2, 2, 2, 2, 3, 3, 3, - 3, 3, 3, 3, 3, 5, 4, 4, 3, 1, - 3, 1, 1, 3, 3, 0, 2, 0, 1, 3, - 1, 3, 1, 1, 1, 1, 1, 6, 4, 3, - 4, 2, 4, 4, 1, 3, 1, 2, 1, 1, - 4, 1, 1, 3, 6, 4, 4, 4, 4, 1, - 4, 0, 1, 1, 3, 1, 1, 4, 3, 1, - 1, 1, 0, 0, 2, 3, 1, 3, 1, 4, - 2, 2, 2, 2, 1, 2, 1, 1, 1, 4, - 3, 3, 3, 6, 3, 1, 1, 1 - ); - - protected function initReduceCallbacks() { - $this->reduceCallbacks = [ - 0 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 1 => function ($stackPos) { - $this->semValue = $this->handleNamespaces($this->semStack[$stackPos-(1-1)]); - }, - 2 => function ($stackPos) { - if (is_array($this->semStack[$stackPos-(2-2)])) { $this->semValue = array_merge($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)]); } else { $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; }; - }, - 3 => function ($stackPos) { - $this->semValue = array(); - }, - 4 => function ($stackPos) { - $startAttributes = $this->lookaheadStartAttributes; if (isset($startAttributes['comments'])) { $nop = new Stmt\Nop($this->createZeroLengthAttributes($startAttributes)); } else { $nop = null; }; - if ($nop !== null) { $this->semStack[$stackPos-(1-1)][] = $nop; } $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 5 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 6 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 7 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 8 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 9 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 10 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 11 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 12 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 13 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 14 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 15 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 16 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 17 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 18 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 19 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 20 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 21 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 22 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 23 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 24 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 25 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 26 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 27 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 28 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 29 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 30 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 31 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 32 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 33 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 34 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 35 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 36 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 37 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 38 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 39 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 40 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 41 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 42 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 43 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 44 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 45 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 46 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 47 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 48 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 49 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 50 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 51 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 52 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 53 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 54 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 55 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 56 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 57 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 58 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 59 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 60 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 61 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 62 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 63 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 64 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 65 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 66 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 67 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 68 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 69 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 70 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 71 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 72 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 73 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 74 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 75 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 76 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 77 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 78 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 79 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 80 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 81 => function ($stackPos) { - $this->semValue = new Node\Identifier($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 82 => function ($stackPos) { - $this->semValue = new Node\Identifier($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 83 => function ($stackPos) { - $this->semValue = new Node\Identifier($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 84 => function ($stackPos) { - $this->semValue = new Node\Identifier($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 85 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 86 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 87 => function ($stackPos) { - $this->semValue = new Name($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 88 => function ($stackPos) { - $this->semValue = new Expr\Variable(substr($this->semStack[$stackPos-(1-1)], 1), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 89 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 90 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 91 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 92 => function ($stackPos) { - $this->semValue = new Stmt\HaltCompiler($this->lexer->handleHaltCompiler(), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 93 => function ($stackPos) { - $this->semValue = new Stmt\Namespace_($this->semStack[$stackPos-(3-2)], null, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - $this->semValue->setAttribute('kind', Stmt\Namespace_::KIND_SEMICOLON); - $this->checkNamespace($this->semValue); - }, - 94 => function ($stackPos) { - $this->semValue = new Stmt\Namespace_($this->semStack[$stackPos-(5-2)], $this->semStack[$stackPos-(5-4)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); - $this->semValue->setAttribute('kind', Stmt\Namespace_::KIND_BRACED); - $this->checkNamespace($this->semValue); - }, - 95 => function ($stackPos) { - $this->semValue = new Stmt\Namespace_(null, $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - $this->semValue->setAttribute('kind', Stmt\Namespace_::KIND_BRACED); - $this->checkNamespace($this->semValue); - }, - 96 => function ($stackPos) { - $this->semValue = new Stmt\Use_($this->semStack[$stackPos-(3-2)], Stmt\Use_::TYPE_NORMAL, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 97 => function ($stackPos) { - $this->semValue = new Stmt\Use_($this->semStack[$stackPos-(4-3)], $this->semStack[$stackPos-(4-2)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 98 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-1)]; - }, - 99 => function ($stackPos) { - $this->semValue = new Stmt\Const_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 100 => function ($stackPos) { - $this->semValue = Stmt\Use_::TYPE_FUNCTION; - }, - 101 => function ($stackPos) { - $this->semValue = Stmt\Use_::TYPE_CONSTANT; - }, - 102 => function ($stackPos) { - $this->semValue = new Stmt\GroupUse(new Name($this->semStack[$stackPos-(7-3)], $this->startAttributeStack[$stackPos-(7-3)] + $this->endAttributeStack[$stackPos-(7-3)]), $this->semStack[$stackPos-(7-6)], $this->semStack[$stackPos-(7-2)], $this->startAttributeStack[$stackPos-(7-1)] + $this->endAttributes); - }, - 103 => function ($stackPos) { - $this->semValue = new Stmt\GroupUse(new Name($this->semStack[$stackPos-(8-4)], $this->startAttributeStack[$stackPos-(8-4)] + $this->endAttributeStack[$stackPos-(8-4)]), $this->semStack[$stackPos-(8-7)], $this->semStack[$stackPos-(8-2)], $this->startAttributeStack[$stackPos-(8-1)] + $this->endAttributes); - }, - 104 => function ($stackPos) { - $this->semValue = new Stmt\GroupUse(new Name($this->semStack[$stackPos-(6-2)], $this->startAttributeStack[$stackPos-(6-2)] + $this->endAttributeStack[$stackPos-(6-2)]), $this->semStack[$stackPos-(6-5)], Stmt\Use_::TYPE_UNKNOWN, $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes); - }, - 105 => function ($stackPos) { - $this->semValue = new Stmt\GroupUse(new Name($this->semStack[$stackPos-(7-3)], $this->startAttributeStack[$stackPos-(7-3)] + $this->endAttributeStack[$stackPos-(7-3)]), $this->semStack[$stackPos-(7-6)], Stmt\Use_::TYPE_UNKNOWN, $this->startAttributeStack[$stackPos-(7-1)] + $this->endAttributes); - }, - 106 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 107 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 108 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 109 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 110 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 111 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 112 => function ($stackPos) { - $this->semValue = new Stmt\UseUse($this->semStack[$stackPos-(1-1)], null, Stmt\Use_::TYPE_UNKNOWN, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); $this->checkUseUse($this->semValue, $stackPos-(1-1)); - }, - 113 => function ($stackPos) { - $this->semValue = new Stmt\UseUse($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], Stmt\Use_::TYPE_UNKNOWN, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); $this->checkUseUse($this->semValue, $stackPos-(3-3)); - }, - 114 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 115 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-2)]; - }, - 116 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; $this->semValue->type = Stmt\Use_::TYPE_NORMAL; - }, - 117 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-2)]; $this->semValue->type = $this->semStack[$stackPos-(2-1)]; - }, - 118 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 119 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 120 => function ($stackPos) { - $this->semValue = new Node\Const_($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 121 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 122 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 123 => function ($stackPos) { - $this->semValue = new Node\Const_($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 124 => function ($stackPos) { - if (is_array($this->semStack[$stackPos-(2-2)])) { $this->semValue = array_merge($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)]); } else { $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; }; - }, - 125 => function ($stackPos) { - $this->semValue = array(); - }, - 126 => function ($stackPos) { - $startAttributes = $this->lookaheadStartAttributes; if (isset($startAttributes['comments'])) { $nop = new Stmt\Nop($this->createZeroLengthAttributes($startAttributes)); } else { $nop = null; }; - if ($nop !== null) { $this->semStack[$stackPos-(1-1)][] = $nop; } $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 127 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 128 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 129 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 130 => function ($stackPos) { - throw new Error('__HALT_COMPILER() can only be used from the outermost scope', $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 131 => function ($stackPos) { - - if ($this->semStack[$stackPos-(3-2)]) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; $attrs = $this->startAttributeStack[$stackPos-(3-1)]; $stmts = $this->semValue; if (!empty($attrs['comments'])) {$stmts[0]->setAttribute('comments', array_merge($attrs['comments'], $stmts[0]->getAttribute('comments', []))); }; - } else { - $startAttributes = $this->startAttributeStack[$stackPos-(3-1)]; if (isset($startAttributes['comments'])) { $this->semValue = new Stmt\Nop($startAttributes + $this->endAttributes); } else { $this->semValue = null; }; - if (null === $this->semValue) { $this->semValue = array(); } - } - - }, - 132 => function ($stackPos) { - $this->semValue = new Stmt\If_($this->semStack[$stackPos-(5-2)], ['stmts' => is_array($this->semStack[$stackPos-(5-3)]) ? $this->semStack[$stackPos-(5-3)] : array($this->semStack[$stackPos-(5-3)]), 'elseifs' => $this->semStack[$stackPos-(5-4)], 'else' => $this->semStack[$stackPos-(5-5)]], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); - }, - 133 => function ($stackPos) { - $this->semValue = new Stmt\If_($this->semStack[$stackPos-(8-2)], ['stmts' => $this->semStack[$stackPos-(8-4)], 'elseifs' => $this->semStack[$stackPos-(8-5)], 'else' => $this->semStack[$stackPos-(8-6)]], $this->startAttributeStack[$stackPos-(8-1)] + $this->endAttributes); - }, - 134 => function ($stackPos) { - $this->semValue = new Stmt\While_($this->semStack[$stackPos-(3-2)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 135 => function ($stackPos) { - $this->semValue = new Stmt\Do_($this->semStack[$stackPos-(5-4)], is_array($this->semStack[$stackPos-(5-2)]) ? $this->semStack[$stackPos-(5-2)] : array($this->semStack[$stackPos-(5-2)]), $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); - }, - 136 => function ($stackPos) { - $this->semValue = new Stmt\For_(['init' => $this->semStack[$stackPos-(9-3)], 'cond' => $this->semStack[$stackPos-(9-5)], 'loop' => $this->semStack[$stackPos-(9-7)], 'stmts' => $this->semStack[$stackPos-(9-9)]], $this->startAttributeStack[$stackPos-(9-1)] + $this->endAttributes); - }, - 137 => function ($stackPos) { - $this->semValue = new Stmt\Switch_($this->semStack[$stackPos-(3-2)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 138 => function ($stackPos) { - $this->semValue = new Stmt\Break_(null, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 139 => function ($stackPos) { - $this->semValue = new Stmt\Break_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 140 => function ($stackPos) { - $this->semValue = new Stmt\Continue_(null, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 141 => function ($stackPos) { - $this->semValue = new Stmt\Continue_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 142 => function ($stackPos) { - $this->semValue = new Stmt\Return_(null, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 143 => function ($stackPos) { - $this->semValue = new Stmt\Return_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 144 => function ($stackPos) { - $this->semValue = new Stmt\Global_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 145 => function ($stackPos) { - $this->semValue = new Stmt\Static_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 146 => function ($stackPos) { - $this->semValue = new Stmt\Echo_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 147 => function ($stackPos) { - $this->semValue = new Stmt\InlineHTML($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 148 => function ($stackPos) { - $this->semValue = new Stmt\Expression($this->semStack[$stackPos-(2-1)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 149 => function ($stackPos) { - $this->semValue = new Stmt\Expression($this->semStack[$stackPos-(2-1)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 150 => function ($stackPos) { - $this->semValue = new Stmt\Unset_($this->semStack[$stackPos-(5-3)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); - }, - 151 => function ($stackPos) { - $this->semValue = new Stmt\Foreach_($this->semStack[$stackPos-(7-3)], $this->semStack[$stackPos-(7-5)][0], ['keyVar' => null, 'byRef' => $this->semStack[$stackPos-(7-5)][1], 'stmts' => $this->semStack[$stackPos-(7-7)]], $this->startAttributeStack[$stackPos-(7-1)] + $this->endAttributes); - }, - 152 => function ($stackPos) { - $this->semValue = new Stmt\Foreach_($this->semStack[$stackPos-(9-3)], $this->semStack[$stackPos-(9-7)][0], ['keyVar' => $this->semStack[$stackPos-(9-5)], 'byRef' => $this->semStack[$stackPos-(9-7)][1], 'stmts' => $this->semStack[$stackPos-(9-9)]], $this->startAttributeStack[$stackPos-(9-1)] + $this->endAttributes); - }, - 153 => function ($stackPos) { - $this->semValue = new Stmt\Declare_($this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-5)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); - }, - 154 => function ($stackPos) { - $this->semValue = new Stmt\TryCatch($this->semStack[$stackPos-(6-3)], $this->semStack[$stackPos-(6-5)], $this->semStack[$stackPos-(6-6)], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes); $this->checkTryCatch($this->semValue); - }, - 155 => function ($stackPos) { - $this->semValue = new Stmt\Throw_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 156 => function ($stackPos) { - $this->semValue = new Stmt\Goto_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 157 => function ($stackPos) { - $this->semValue = new Stmt\Label($this->semStack[$stackPos-(2-1)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 158 => function ($stackPos) { - $this->semValue = new Stmt\Expression($this->semStack[$stackPos-(2-1)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 159 => function ($stackPos) { - $this->semValue = array(); /* means: no statement */ - }, - 160 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 161 => function ($stackPos) { - $startAttributes = $this->startAttributeStack[$stackPos-(1-1)]; if (isset($startAttributes['comments'])) { $this->semValue = new Stmt\Nop($startAttributes + $this->endAttributes); } else { $this->semValue = null; }; - if ($this->semValue === null) $this->semValue = array(); /* means: no statement */ - }, - 162 => function ($stackPos) { - $this->semValue = array(); - }, - 163 => function ($stackPos) { - $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; - }, - 164 => function ($stackPos) { - $this->semValue = new Stmt\Catch_(array($this->semStack[$stackPos-(8-3)]), $this->semStack[$stackPos-(8-4)], $this->semStack[$stackPos-(8-7)], $this->startAttributeStack[$stackPos-(8-1)] + $this->endAttributes); - }, - 165 => function ($stackPos) { - $this->semValue = null; - }, - 166 => function ($stackPos) { - $this->semValue = new Stmt\Finally_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 167 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 168 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 169 => function ($stackPos) { - $this->semValue = false; - }, - 170 => function ($stackPos) { - $this->semValue = true; - }, - 171 => function ($stackPos) { - $this->semValue = false; - }, - 172 => function ($stackPos) { - $this->semValue = true; - }, - 173 => function ($stackPos) { - $this->semValue = new Stmt\Function_($this->semStack[$stackPos-(10-3)], ['byRef' => $this->semStack[$stackPos-(10-2)], 'params' => $this->semStack[$stackPos-(10-5)], 'returnType' => $this->semStack[$stackPos-(10-7)], 'stmts' => $this->semStack[$stackPos-(10-9)]], $this->startAttributeStack[$stackPos-(10-1)] + $this->endAttributes); - }, - 174 => function ($stackPos) { - $this->semValue = new Stmt\Class_($this->semStack[$stackPos-(7-2)], ['type' => $this->semStack[$stackPos-(7-1)], 'extends' => $this->semStack[$stackPos-(7-3)], 'implements' => $this->semStack[$stackPos-(7-4)], 'stmts' => $this->semStack[$stackPos-(7-6)]], $this->startAttributeStack[$stackPos-(7-1)] + $this->endAttributes); - $this->checkClass($this->semValue, $stackPos-(7-2)); - }, - 175 => function ($stackPos) { - $this->semValue = new Stmt\Interface_($this->semStack[$stackPos-(6-2)], ['extends' => $this->semStack[$stackPos-(6-3)], 'stmts' => $this->semStack[$stackPos-(6-5)]], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes); - $this->checkInterface($this->semValue, $stackPos-(6-2)); - }, - 176 => function ($stackPos) { - $this->semValue = new Stmt\Trait_($this->semStack[$stackPos-(5-2)], ['stmts' => $this->semStack[$stackPos-(5-4)]], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); - }, - 177 => function ($stackPos) { - $this->semValue = 0; - }, - 178 => function ($stackPos) { - $this->semValue = Stmt\Class_::MODIFIER_ABSTRACT; - }, - 179 => function ($stackPos) { - $this->semValue = Stmt\Class_::MODIFIER_FINAL; - }, - 180 => function ($stackPos) { - $this->semValue = null; - }, - 181 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-2)]; - }, - 182 => function ($stackPos) { - $this->semValue = array(); - }, - 183 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-2)]; - }, - 184 => function ($stackPos) { - $this->semValue = array(); - }, - 185 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-2)]; - }, - 186 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 187 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 188 => function ($stackPos) { - $this->semValue = is_array($this->semStack[$stackPos-(1-1)]) ? $this->semStack[$stackPos-(1-1)] : array($this->semStack[$stackPos-(1-1)]); - }, - 189 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(4-2)]; - }, - 190 => function ($stackPos) { - $this->semValue = is_array($this->semStack[$stackPos-(1-1)]) ? $this->semStack[$stackPos-(1-1)] : array($this->semStack[$stackPos-(1-1)]); - }, - 191 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(4-2)]; - }, - 192 => function ($stackPos) { - $this->semValue = is_array($this->semStack[$stackPos-(1-1)]) ? $this->semStack[$stackPos-(1-1)] : array($this->semStack[$stackPos-(1-1)]); - }, - 193 => function ($stackPos) { - $this->semValue = null; - }, - 194 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(4-2)]; - }, - 195 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 196 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 197 => function ($stackPos) { - $this->semValue = new Stmt\DeclareDeclare($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 198 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; - }, - 199 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(4-3)]; - }, - 200 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(4-2)]; - }, - 201 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(5-3)]; - }, - 202 => function ($stackPos) { - $this->semValue = array(); - }, - 203 => function ($stackPos) { - $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; - }, - 204 => function ($stackPos) { - $this->semValue = new Stmt\Case_($this->semStack[$stackPos-(4-2)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 205 => function ($stackPos) { - $this->semValue = new Stmt\Case_(null, $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 206 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 207 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 208 => function ($stackPos) { - $this->semValue = is_array($this->semStack[$stackPos-(1-1)]) ? $this->semStack[$stackPos-(1-1)] : array($this->semStack[$stackPos-(1-1)]); - }, - 209 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(4-2)]; - }, - 210 => function ($stackPos) { - $this->semValue = array(); - }, - 211 => function ($stackPos) { - $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; - }, - 212 => function ($stackPos) { - $this->semValue = new Stmt\ElseIf_($this->semStack[$stackPos-(3-2)], is_array($this->semStack[$stackPos-(3-3)]) ? $this->semStack[$stackPos-(3-3)] : array($this->semStack[$stackPos-(3-3)]), $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 213 => function ($stackPos) { - $this->semValue = array(); - }, - 214 => function ($stackPos) { - $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; - }, - 215 => function ($stackPos) { - $this->semValue = new Stmt\ElseIf_($this->semStack[$stackPos-(4-2)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 216 => function ($stackPos) { - $this->semValue = null; - }, - 217 => function ($stackPos) { - $this->semValue = new Stmt\Else_(is_array($this->semStack[$stackPos-(2-2)]) ? $this->semStack[$stackPos-(2-2)] : array($this->semStack[$stackPos-(2-2)]), $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 218 => function ($stackPos) { - $this->semValue = null; - }, - 219 => function ($stackPos) { - $this->semValue = new Stmt\Else_($this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 220 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)], false); - }, - 221 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(2-2)], true); - }, - 222 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)], false); - }, - 223 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 224 => function ($stackPos) { - $this->semValue = array(); - }, - 225 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 226 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 227 => function ($stackPos) { - $this->semValue = new Node\Param($this->semStack[$stackPos-(4-4)], null, $this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-2)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); $this->checkParam($this->semValue); - }, - 228 => function ($stackPos) { - $this->semValue = new Node\Param($this->semStack[$stackPos-(6-4)], $this->semStack[$stackPos-(6-6)], $this->semStack[$stackPos-(6-1)], $this->semStack[$stackPos-(6-2)], $this->semStack[$stackPos-(6-3)], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes); $this->checkParam($this->semValue); - }, - 229 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 230 => function ($stackPos) { - $this->semValue = new Node\Identifier('array', $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 231 => function ($stackPos) { - $this->semValue = new Node\Identifier('callable', $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 232 => function ($stackPos) { - $this->semValue = null; - }, - 233 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 234 => function ($stackPos) { - $this->semValue = null; - }, - 235 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-2)]; - }, - 236 => function ($stackPos) { - $this->semValue = array(); - }, - 237 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; - }, - 238 => function ($stackPos) { - $this->semValue = array(new Node\Arg($this->semStack[$stackPos-(3-2)], false, false, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes)); - }, - 239 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 240 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 241 => function ($stackPos) { - $this->semValue = new Node\Arg($this->semStack[$stackPos-(1-1)], false, false, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 242 => function ($stackPos) { - $this->semValue = new Node\Arg($this->semStack[$stackPos-(2-2)], true, false, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 243 => function ($stackPos) { - $this->semValue = new Node\Arg($this->semStack[$stackPos-(2-2)], false, true, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 244 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 245 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 246 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 247 => function ($stackPos) { - $this->semValue = new Expr\Variable($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 248 => function ($stackPos) { - $this->semValue = new Expr\Variable($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 249 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 250 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 251 => function ($stackPos) { - $this->semValue = new Stmt\StaticVar($this->semStack[$stackPos-(1-1)], null, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 252 => function ($stackPos) { - $this->semValue = new Stmt\StaticVar($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 253 => function ($stackPos) { - if ($this->semStack[$stackPos-(2-2)] !== null) { $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; } - }, - 254 => function ($stackPos) { - $this->semValue = array(); - }, - 255 => function ($stackPos) { - $startAttributes = $this->lookaheadStartAttributes; if (isset($startAttributes['comments'])) { $nop = new Stmt\Nop($this->createZeroLengthAttributes($startAttributes)); } else { $nop = null; }; - if ($nop !== null) { $this->semStack[$stackPos-(1-1)][] = $nop; } $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 256 => function ($stackPos) { - $this->semValue = new Stmt\Property($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); $this->checkProperty($this->semValue, $stackPos-(3-1)); - }, - 257 => function ($stackPos) { - $this->semValue = new Stmt\ClassConst($this->semStack[$stackPos-(3-2)], 0, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 258 => function ($stackPos) { - $this->semValue = new Stmt\ClassMethod($this->semStack[$stackPos-(9-4)], ['type' => $this->semStack[$stackPos-(9-1)], 'byRef' => $this->semStack[$stackPos-(9-3)], 'params' => $this->semStack[$stackPos-(9-6)], 'returnType' => $this->semStack[$stackPos-(9-8)], 'stmts' => $this->semStack[$stackPos-(9-9)]], $this->startAttributeStack[$stackPos-(9-1)] + $this->endAttributes); - $this->checkClassMethod($this->semValue, $stackPos-(9-1)); - }, - 259 => function ($stackPos) { - $this->semValue = new Stmt\TraitUse($this->semStack[$stackPos-(3-2)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 260 => function ($stackPos) { - $this->semValue = array(); - }, - 261 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; - }, - 262 => function ($stackPos) { - $this->semValue = array(); - }, - 263 => function ($stackPos) { - $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; - }, - 264 => function ($stackPos) { - $this->semValue = new Stmt\TraitUseAdaptation\Precedence($this->semStack[$stackPos-(4-1)][0], $this->semStack[$stackPos-(4-1)][1], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 265 => function ($stackPos) { - $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$stackPos-(5-1)][0], $this->semStack[$stackPos-(5-1)][1], $this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-4)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); - }, - 266 => function ($stackPos) { - $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$stackPos-(4-1)][0], $this->semStack[$stackPos-(4-1)][1], $this->semStack[$stackPos-(4-3)], null, $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 267 => function ($stackPos) { - $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$stackPos-(4-1)][0], $this->semStack[$stackPos-(4-1)][1], null, $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 268 => function ($stackPos) { - $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$stackPos-(4-1)][0], $this->semStack[$stackPos-(4-1)][1], null, $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 269 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)]); - }, - 270 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 271 => function ($stackPos) { - $this->semValue = array(null, $this->semStack[$stackPos-(1-1)]); - }, - 272 => function ($stackPos) { - $this->semValue = null; - }, - 273 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; - }, - 274 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 275 => function ($stackPos) { - $this->semValue = 0; - }, - 276 => function ($stackPos) { - $this->semValue = 0; - }, - 277 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 278 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 279 => function ($stackPos) { - $this->checkModifier($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $stackPos-(2-2)); $this->semValue = $this->semStack[$stackPos-(2-1)] | $this->semStack[$stackPos-(2-2)]; - }, - 280 => function ($stackPos) { - $this->semValue = Stmt\Class_::MODIFIER_PUBLIC; - }, - 281 => function ($stackPos) { - $this->semValue = Stmt\Class_::MODIFIER_PROTECTED; - }, - 282 => function ($stackPos) { - $this->semValue = Stmt\Class_::MODIFIER_PRIVATE; - }, - 283 => function ($stackPos) { - $this->semValue = Stmt\Class_::MODIFIER_STATIC; - }, - 284 => function ($stackPos) { - $this->semValue = Stmt\Class_::MODIFIER_ABSTRACT; - }, - 285 => function ($stackPos) { - $this->semValue = Stmt\Class_::MODIFIER_FINAL; - }, - 286 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 287 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 288 => function ($stackPos) { - $this->semValue = new Node\VarLikeIdentifier(substr($this->semStack[$stackPos-(1-1)], 1), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 289 => function ($stackPos) { - $this->semValue = new Stmt\PropertyProperty($this->semStack[$stackPos-(1-1)], null, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 290 => function ($stackPos) { - $this->semValue = new Stmt\PropertyProperty($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 291 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 292 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 293 => function ($stackPos) { - $this->semValue = array(); - }, - 294 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 295 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 296 => function ($stackPos) { - $this->semValue = new Expr\Assign($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 297 => function ($stackPos) { - $this->semValue = new Expr\Assign($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 298 => function ($stackPos) { - $this->semValue = new Expr\AssignRef($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 299 => function ($stackPos) { - $this->semValue = new Expr\AssignRef($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 300 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 301 => function ($stackPos) { - $this->semValue = new Expr\Clone_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 302 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\Plus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 303 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\Minus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 304 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\Mul($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 305 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\Div($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 306 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\Concat($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 307 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\Mod($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 308 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\BitwiseAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 309 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\BitwiseOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 310 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\BitwiseXor($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 311 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\ShiftLeft($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 312 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\ShiftRight($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 313 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\Pow($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 314 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\Coalesce($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 315 => function ($stackPos) { - $this->semValue = new Expr\PostInc($this->semStack[$stackPos-(2-1)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 316 => function ($stackPos) { - $this->semValue = new Expr\PreInc($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 317 => function ($stackPos) { - $this->semValue = new Expr\PostDec($this->semStack[$stackPos-(2-1)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 318 => function ($stackPos) { - $this->semValue = new Expr\PreDec($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 319 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\BooleanOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 320 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\BooleanAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 321 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\LogicalOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 322 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\LogicalAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 323 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\LogicalXor($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 324 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\BitwiseOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 325 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\BitwiseAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 326 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\BitwiseXor($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 327 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Concat($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 328 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Plus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 329 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Minus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 330 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Mul($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 331 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Div($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 332 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Mod($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 333 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\ShiftLeft($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 334 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\ShiftRight($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 335 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Pow($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 336 => function ($stackPos) { - $this->semValue = new Expr\UnaryPlus($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 337 => function ($stackPos) { - $this->semValue = new Expr\UnaryMinus($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 338 => function ($stackPos) { - $this->semValue = new Expr\BooleanNot($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 339 => function ($stackPos) { - $this->semValue = new Expr\BitwiseNot($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 340 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Identical($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 341 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\NotIdentical($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 342 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Equal($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 343 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\NotEqual($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 344 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Spaceship($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 345 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Smaller($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 346 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\SmallerOrEqual($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 347 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Greater($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 348 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\GreaterOrEqual($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 349 => function ($stackPos) { - $this->semValue = new Expr\Instanceof_($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 350 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 351 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; - }, - 352 => function ($stackPos) { - $this->semValue = new Expr\Ternary($this->semStack[$stackPos-(5-1)], $this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-5)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); - }, - 353 => function ($stackPos) { - $this->semValue = new Expr\Ternary($this->semStack[$stackPos-(4-1)], null, $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 354 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Coalesce($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 355 => function ($stackPos) { - $this->semValue = new Expr\Isset_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 356 => function ($stackPos) { - $this->semValue = new Expr\Empty_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 357 => function ($stackPos) { - $this->semValue = new Expr\Include_($this->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_INCLUDE, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 358 => function ($stackPos) { - $this->semValue = new Expr\Include_($this->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_INCLUDE_ONCE, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 359 => function ($stackPos) { - $this->semValue = new Expr\Eval_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 360 => function ($stackPos) { - $this->semValue = new Expr\Include_($this->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_REQUIRE, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 361 => function ($stackPos) { - $this->semValue = new Expr\Include_($this->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_REQUIRE_ONCE, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 362 => function ($stackPos) { - $this->semValue = new Expr\Cast\Int_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 363 => function ($stackPos) { - $attrs = $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes; - $attrs['kind'] = $this->getFloatCastKind($this->semStack[$stackPos-(2-1)]); - $this->semValue = new Expr\Cast\Double($this->semStack[$stackPos-(2-2)], $attrs); - }, - 364 => function ($stackPos) { - $this->semValue = new Expr\Cast\String_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 365 => function ($stackPos) { - $this->semValue = new Expr\Cast\Array_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 366 => function ($stackPos) { - $this->semValue = new Expr\Cast\Object_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 367 => function ($stackPos) { - $this->semValue = new Expr\Cast\Bool_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 368 => function ($stackPos) { - $this->semValue = new Expr\Cast\Unset_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 369 => function ($stackPos) { - $attrs = $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes; - $attrs['kind'] = strtolower($this->semStack[$stackPos-(2-1)]) === 'exit' ? Expr\Exit_::KIND_EXIT : Expr\Exit_::KIND_DIE; - $this->semValue = new Expr\Exit_($this->semStack[$stackPos-(2-2)], $attrs); - }, - 370 => function ($stackPos) { - $this->semValue = new Expr\ErrorSuppress($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 371 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 372 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 373 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 374 => function ($stackPos) { - $this->semValue = new Expr\ShellExec($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 375 => function ($stackPos) { - $this->semValue = new Expr\Print_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 376 => function ($stackPos) { - $this->semValue = new Expr\Yield_(null, null, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 377 => function ($stackPos) { - $this->semValue = new Expr\YieldFrom($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 378 => function ($stackPos) { - $this->semValue = new Expr\Closure(['static' => false, 'byRef' => $this->semStack[$stackPos-(10-2)], 'params' => $this->semStack[$stackPos-(10-4)], 'uses' => $this->semStack[$stackPos-(10-6)], 'returnType' => $this->semStack[$stackPos-(10-7)], 'stmts' => $this->semStack[$stackPos-(10-9)]], $this->startAttributeStack[$stackPos-(10-1)] + $this->endAttributes); - }, - 379 => function ($stackPos) { - $this->semValue = new Expr\Closure(['static' => true, 'byRef' => $this->semStack[$stackPos-(11-3)], 'params' => $this->semStack[$stackPos-(11-5)], 'uses' => $this->semStack[$stackPos-(11-7)], 'returnType' => $this->semStack[$stackPos-(11-8)], 'stmts' => $this->semStack[$stackPos-(11-10)]], $this->startAttributeStack[$stackPos-(11-1)] + $this->endAttributes); - }, - 380 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; - }, - 381 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; - }, - 382 => function ($stackPos) { - $this->semValue = new Expr\Yield_($this->semStack[$stackPos-(2-2)], null, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 383 => function ($stackPos) { - $this->semValue = new Expr\Yield_($this->semStack[$stackPos-(4-4)], $this->semStack[$stackPos-(4-2)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 384 => function ($stackPos) { - $attrs = $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes; $attrs['kind'] = Expr\Array_::KIND_LONG; - $this->semValue = new Expr\Array_($this->semStack[$stackPos-(4-3)], $attrs); - }, - 385 => function ($stackPos) { - $attrs = $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes; $attrs['kind'] = Expr\Array_::KIND_SHORT; - $this->semValue = new Expr\Array_($this->semStack[$stackPos-(3-2)], $attrs); - }, - 386 => function ($stackPos) { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 387 => function ($stackPos) { - $attrs = $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes; $attrs['kind'] = ($this->semStack[$stackPos-(4-1)][0] === "'" || ($this->semStack[$stackPos-(4-1)][1] === "'" && ($this->semStack[$stackPos-(4-1)][0] === 'b' || $this->semStack[$stackPos-(4-1)][0] === 'B')) ? Scalar\String_::KIND_SINGLE_QUOTED : Scalar\String_::KIND_DOUBLE_QUOTED); - $this->semValue = new Expr\ArrayDimFetch(new Scalar\String_(Scalar\String_::parse($this->semStack[$stackPos-(4-1)]), $attrs), $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 388 => function ($stackPos) { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 389 => function ($stackPos) { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 390 => function ($stackPos) { - $this->semValue = array(new Stmt\Class_(null, ['type' => 0, 'extends' => $this->semStack[$stackPos-(7-3)], 'implements' => $this->semStack[$stackPos-(7-4)], 'stmts' => $this->semStack[$stackPos-(7-6)]], $this->startAttributeStack[$stackPos-(7-1)] + $this->endAttributes), $this->semStack[$stackPos-(7-2)]); - $this->checkClass($this->semValue[0], -1); - }, - 391 => function ($stackPos) { - $this->semValue = new Expr\New_($this->semStack[$stackPos-(3-2)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 392 => function ($stackPos) { - list($class, $ctorArgs) = $this->semStack[$stackPos-(2-2)]; $this->semValue = new Expr\New_($class, $ctorArgs, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 393 => function ($stackPos) { - $this->semValue = array(); - }, - 394 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(4-3)]; - }, - 395 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 396 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 397 => function ($stackPos) { - $this->semValue = new Expr\ClosureUse($this->semStack[$stackPos-(2-2)], $this->semStack[$stackPos-(2-1)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 398 => function ($stackPos) { - $this->semValue = new Expr\FuncCall($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 399 => function ($stackPos) { - $this->semValue = new Expr\StaticCall($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 400 => function ($stackPos) { - $this->semValue = new Expr\StaticCall($this->semStack[$stackPos-(6-1)], $this->semStack[$stackPos-(6-4)], $this->semStack[$stackPos-(6-6)], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes); - }, - 401 => function ($stackPos) { - $this->semValue = $this->fixupPhp5StaticPropCall($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 402 => function ($stackPos) { - $this->semValue = new Expr\FuncCall($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 403 => function ($stackPos) { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 404 => function ($stackPos) { - $this->semValue = new Name($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 405 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 406 => function ($stackPos) { - $this->semValue = new Name($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 407 => function ($stackPos) { - $this->semValue = new Name\FullyQualified($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 408 => function ($stackPos) { - $this->semValue = new Name\Relative($this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 409 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 410 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 411 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 412 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 413 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 414 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 415 => function ($stackPos) { - $this->semValue = new Expr\PropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 416 => function ($stackPos) { - $this->semValue = new Expr\PropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 417 => function ($stackPos) { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 418 => function ($stackPos) { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 419 => function ($stackPos) { - $this->semValue = null; - }, - 420 => function ($stackPos) { - $this->semValue = null; - }, - 421 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 422 => function ($stackPos) { - $this->semValue = array(); - }, - 423 => function ($stackPos) { - $this->semValue = array(new Scalar\EncapsedStringPart(Scalar\String_::parseEscapeSequences($this->semStack[$stackPos-(1-1)], '`', false), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes)); - }, - 424 => function ($stackPos) { - foreach ($this->semStack[$stackPos-(1-1)] as $s) { if ($s instanceof Node\Scalar\EncapsedStringPart) { $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '`', false); } }; $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 425 => function ($stackPos) { - $this->semValue = array(); - }, - 426 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 427 => function ($stackPos) { - $this->semValue = $this->parseLNumber($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes, true); - }, - 428 => function ($stackPos) { - $this->semValue = new Scalar\DNumber(Scalar\DNumber::parse($this->semStack[$stackPos-(1-1)]), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 429 => function ($stackPos) { - $attrs = $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes; $attrs['kind'] = ($this->semStack[$stackPos-(1-1)][0] === "'" || ($this->semStack[$stackPos-(1-1)][1] === "'" && ($this->semStack[$stackPos-(1-1)][0] === 'b' || $this->semStack[$stackPos-(1-1)][0] === 'B')) ? Scalar\String_::KIND_SINGLE_QUOTED : Scalar\String_::KIND_DOUBLE_QUOTED); - $this->semValue = new Scalar\String_(Scalar\String_::parse($this->semStack[$stackPos-(1-1)], false), $attrs); - }, - 430 => function ($stackPos) { - $this->semValue = new Scalar\MagicConst\Line($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 431 => function ($stackPos) { - $this->semValue = new Scalar\MagicConst\File($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 432 => function ($stackPos) { - $this->semValue = new Scalar\MagicConst\Dir($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 433 => function ($stackPos) { - $this->semValue = new Scalar\MagicConst\Class_($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 434 => function ($stackPos) { - $this->semValue = new Scalar\MagicConst\Trait_($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 435 => function ($stackPos) { - $this->semValue = new Scalar\MagicConst\Method($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 436 => function ($stackPos) { - $this->semValue = new Scalar\MagicConst\Function_($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 437 => function ($stackPos) { - $this->semValue = new Scalar\MagicConst\Namespace_($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 438 => function ($stackPos) { - $this->semValue = $this->parseDocString($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-2)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes, $this->startAttributeStack[$stackPos-(3-3)] + $this->endAttributeStack[$stackPos-(3-3)], false); - }, - 439 => function ($stackPos) { - $this->semValue = $this->parseDocString($this->semStack[$stackPos-(2-1)], '', $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes, $this->startAttributeStack[$stackPos-(2-2)] + $this->endAttributeStack[$stackPos-(2-2)], false); - }, - 440 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 441 => function ($stackPos) { - $this->semValue = new Expr\ClassConstFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 442 => function ($stackPos) { - $this->semValue = new Expr\ConstFetch($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 443 => function ($stackPos) { - $this->semValue = new Expr\Array_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 444 => function ($stackPos) { - $this->semValue = new Expr\Array_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 445 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 446 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\BooleanOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 447 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\BooleanAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 448 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\LogicalOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 449 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\LogicalAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 450 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\LogicalXor($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 451 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\BitwiseOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 452 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\BitwiseAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 453 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\BitwiseXor($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 454 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Concat($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 455 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Plus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 456 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Minus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 457 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Mul($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 458 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Div($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 459 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Mod($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 460 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\ShiftLeft($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 461 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\ShiftRight($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 462 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Pow($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 463 => function ($stackPos) { - $this->semValue = new Expr\UnaryPlus($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 464 => function ($stackPos) { - $this->semValue = new Expr\UnaryMinus($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 465 => function ($stackPos) { - $this->semValue = new Expr\BooleanNot($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 466 => function ($stackPos) { - $this->semValue = new Expr\BitwiseNot($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 467 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Identical($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 468 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\NotIdentical($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 469 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Equal($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 470 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\NotEqual($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 471 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Smaller($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 472 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\SmallerOrEqual($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 473 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Greater($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 474 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\GreaterOrEqual($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 475 => function ($stackPos) { - $this->semValue = new Expr\Ternary($this->semStack[$stackPos-(5-1)], $this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-5)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); - }, - 476 => function ($stackPos) { - $this->semValue = new Expr\Ternary($this->semStack[$stackPos-(4-1)], null, $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 477 => function ($stackPos) { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 478 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; - }, - 479 => function ($stackPos) { - $this->semValue = new Expr\ConstFetch($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 480 => function ($stackPos) { - $this->semValue = new Expr\ClassConstFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 481 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 482 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 483 => function ($stackPos) { - $attrs = $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes; $attrs['kind'] = Scalar\String_::KIND_DOUBLE_QUOTED; - foreach ($this->semStack[$stackPos-(3-2)] as $s) { if ($s instanceof Node\Scalar\EncapsedStringPart) { $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '"', true); } }; $this->semValue = new Scalar\Encapsed($this->semStack[$stackPos-(3-2)], $attrs); - }, - 484 => function ($stackPos) { - $this->semValue = $this->parseDocString($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-2)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes, $this->startAttributeStack[$stackPos-(3-3)] + $this->endAttributeStack[$stackPos-(3-3)], true); - }, - 485 => function ($stackPos) { - $this->semValue = array(); - }, - 486 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-1)]; - }, - 487 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 488 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 489 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 490 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 491 => function ($stackPos) { - $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(3-3)], $this->semStack[$stackPos-(3-1)], false, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 492 => function ($stackPos) { - $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(1-1)], null, false, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 493 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 494 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 495 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 496 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 497 => function ($stackPos) { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(6-2)], $this->semStack[$stackPos-(6-5)], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes); - }, - 498 => function ($stackPos) { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 499 => function ($stackPos) { - $this->semValue = new Expr\PropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 500 => function ($stackPos) { - $this->semValue = new Expr\MethodCall($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 501 => function ($stackPos) { - $this->semValue = new Expr\FuncCall($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 502 => function ($stackPos) { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 503 => function ($stackPos) { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 504 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 505 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; - }, - 506 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 507 => function ($stackPos) { - $this->semValue = new Expr\Variable($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 508 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 509 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 510 => function ($stackPos) { - $this->semValue = new Expr\StaticPropertyFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 511 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 512 => function ($stackPos) { - $var = substr($this->semStack[$stackPos-(1-1)], 1); $this->semValue = \is_string($var) ? new Node\VarLikeIdentifier($var, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes) : $var; - }, - 513 => function ($stackPos) { - $this->semValue = new Expr\StaticPropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 514 => function ($stackPos) { - $this->semValue = new Expr\StaticPropertyFetch($this->semStack[$stackPos-(6-1)], $this->semStack[$stackPos-(6-5)], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes); - }, - 515 => function ($stackPos) { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 516 => function ($stackPos) { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 517 => function ($stackPos) { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 518 => function ($stackPos) { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 519 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 520 => function ($stackPos) { - $this->semValue = new Expr\Variable($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 521 => function ($stackPos) { - $this->semValue = null; - }, - 522 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 523 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 524 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; - }, - 525 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 526 => function ($stackPos) { - $this->semValue = new Expr\Error($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); $this->errorState = 2; - }, - 527 => function ($stackPos) { - $this->semValue = new Expr\List_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 528 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 529 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 530 => function ($stackPos) { - $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(1-1)], null, false, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 531 => function ($stackPos) { - $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(1-1)], null, false, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 532 => function ($stackPos) { - $this->semValue = null; - }, - 533 => function ($stackPos) { - $this->semValue = array(); - }, - 534 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-1)]; - }, - 535 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 536 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 537 => function ($stackPos) { - $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(3-3)], $this->semStack[$stackPos-(3-1)], false, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 538 => function ($stackPos) { - $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(1-1)], null, false, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 539 => function ($stackPos) { - $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(4-4)], $this->semStack[$stackPos-(4-1)], true, $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 540 => function ($stackPos) { - $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(2-2)], null, true, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 541 => function ($stackPos) { - $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(2-2)], null, false, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes, true, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 542 => function ($stackPos) { - $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; - }, - 543 => function ($stackPos) { - $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; - }, - 544 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 545 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)]); - }, - 546 => function ($stackPos) { - $this->semValue = new Scalar\EncapsedStringPart($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 547 => function ($stackPos) { - $this->semValue = new Expr\Variable($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 548 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 549 => function ($stackPos) { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 550 => function ($stackPos) { - $this->semValue = new Expr\PropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 551 => function ($stackPos) { - $this->semValue = new Expr\Variable($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 552 => function ($stackPos) { - $this->semValue = new Expr\Variable($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 553 => function ($stackPos) { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(6-2)], $this->semStack[$stackPos-(6-4)], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes); - }, - 554 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; - }, - 555 => function ($stackPos) { - $this->semValue = new Scalar\String_($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 556 => function ($stackPos) { - $this->semValue = $this->parseNumString($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 557 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - ]; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Parser/Php7.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Parser/Php7.php deleted file mode 100644 index f250ede..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Parser/Php7.php +++ /dev/null @@ -1,2491 +0,0 @@ -'", - "T_IS_GREATER_OR_EQUAL", - "T_SL", - "T_SR", - "'+'", - "'-'", - "'.'", - "'*'", - "'/'", - "'%'", - "'!'", - "T_INSTANCEOF", - "'~'", - "T_INC", - "T_DEC", - "T_INT_CAST", - "T_DOUBLE_CAST", - "T_STRING_CAST", - "T_ARRAY_CAST", - "T_OBJECT_CAST", - "T_BOOL_CAST", - "T_UNSET_CAST", - "'@'", - "T_POW", - "'['", - "T_NEW", - "T_CLONE", - "T_EXIT", - "T_IF", - "T_ELSEIF", - "T_ELSE", - "T_ENDIF", - "T_LNUMBER", - "T_DNUMBER", - "T_STRING", - "T_STRING_VARNAME", - "T_VARIABLE", - "T_NUM_STRING", - "T_INLINE_HTML", - "T_ENCAPSED_AND_WHITESPACE", - "T_CONSTANT_ENCAPSED_STRING", - "T_ECHO", - "T_DO", - "T_WHILE", - "T_ENDWHILE", - "T_FOR", - "T_ENDFOR", - "T_FOREACH", - "T_ENDFOREACH", - "T_DECLARE", - "T_ENDDECLARE", - "T_AS", - "T_SWITCH", - "T_ENDSWITCH", - "T_CASE", - "T_DEFAULT", - "T_BREAK", - "T_CONTINUE", - "T_GOTO", - "T_FUNCTION", - "T_FN", - "T_CONST", - "T_RETURN", - "T_TRY", - "T_CATCH", - "T_FINALLY", - "T_THROW", - "T_USE", - "T_INSTEADOF", - "T_GLOBAL", - "T_STATIC", - "T_ABSTRACT", - "T_FINAL", - "T_PRIVATE", - "T_PROTECTED", - "T_PUBLIC", - "T_VAR", - "T_UNSET", - "T_ISSET", - "T_EMPTY", - "T_HALT_COMPILER", - "T_CLASS", - "T_TRAIT", - "T_INTERFACE", - "T_EXTENDS", - "T_IMPLEMENTS", - "T_OBJECT_OPERATOR", - "T_LIST", - "T_ARRAY", - "T_CALLABLE", - "T_CLASS_C", - "T_TRAIT_C", - "T_METHOD_C", - "T_FUNC_C", - "T_LINE", - "T_FILE", - "T_START_HEREDOC", - "T_END_HEREDOC", - "T_DOLLAR_OPEN_CURLY_BRACES", - "T_CURLY_OPEN", - "T_PAAMAYIM_NEKUDOTAYIM", - "T_NAMESPACE", - "T_NS_C", - "T_DIR", - "T_NS_SEPARATOR", - "T_ELLIPSIS", - "';'", - "'{'", - "'}'", - "'('", - "')'", - "'`'", - "']'", - "'\"'", - "'$'" - ); - - protected $tokenToSymbol = array( - 0, 159, 159, 159, 159, 159, 159, 159, 159, 159, - 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, - 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, - 159, 159, 159, 54, 157, 159, 158, 53, 36, 159, - 153, 154, 51, 48, 7, 49, 50, 52, 159, 159, - 159, 159, 159, 159, 159, 159, 159, 159, 30, 150, - 42, 15, 44, 29, 66, 159, 159, 159, 159, 159, - 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, - 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, - 159, 68, 159, 156, 35, 159, 155, 159, 159, 159, - 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, - 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, - 159, 159, 159, 151, 34, 152, 56, 159, 159, 159, - 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, - 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, - 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, - 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, - 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, - 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, - 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, - 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, - 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, - 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, - 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, - 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, - 159, 159, 159, 159, 159, 159, 1, 2, 3, 4, - 5, 6, 8, 9, 10, 11, 12, 13, 14, 16, - 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, - 27, 28, 31, 32, 33, 37, 38, 39, 40, 41, - 43, 45, 46, 47, 55, 57, 58, 59, 60, 61, - 62, 63, 64, 65, 67, 69, 70, 71, 72, 73, - 74, 75, 76, 77, 78, 79, 80, 81, 82, 159, - 159, 83, 84, 85, 86, 87, 88, 89, 90, 91, - 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, - 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, - 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, - 132, 133, 134, 135, 136, 137, 138, 139, 159, 159, - 159, 159, 159, 159, 140, 141, 142, 143, 144, 145, - 146, 147, 148, 149 - ); - - protected $action = array( - 611, 612, 613, 614, 615, 689, 616, 617, 618, 654, - 655, 0, 32, 103, 104, 105, 106, 107, 108, 109, - 110, 111, 112, 113, 114, 115,-32767,-32767,-32767,-32767, - 94, 95, 96, 97, 98,-32766,-32766,-32766, 691, 493, - -500, 911, 912, 913, 910, 909, 908, 911, 912, 913, - 910, 909, 908, 619, 945, 947,-32766, 9,-32766,-32766, - -32766,-32766,-32766,-32766,-32766,-32766,-32766, 620, 621, 622, - 623, 624, 625, 626, 335, 1111, 687,-32766,-32766,-32766, - 850, 1110, 119, 627, 628, 629, 630, 631, 632, 633, - 634, 635, 636, 637, 657, 658, 659, 660, 661, 649, - 650, 651, 679, 652, 653, 638, 639, 640, 641, 642, - 643, 644, 681, 682, 683, 684, 685, 686, 645, 646, - 647, 648, 678, 669, 667, 668, 664, 665, 404, 656, - 662, 663, 670, 671, 673, 672, 674, 675, 45, 46, - 423, 47, 48, 666, 677, 676, 27, 49, 50, 233, - 51,-32766,-32766,-32766, 96, 97, 98, 24,-32766,-32766, - -32766, -461, 261, 121, 1030,-32766,-32766,-32766, 1098, 1080, - -32766,-32766,-32766, 1046,-32766,-32766,-32766,-32766,-32766,-32766, - -499,-32766,-32766,-32766, 52, 53,-32766, -500,-32766,-32766, - 54, 691, 55, 231, 232, 56, 57, 58, 59, 60, - 61, 62, 63, 1023, 24, 242, 64, 371,-32766,-32766, - -32766, 226, 1047, 1048, 425, 1083, 1080, -496, 887, 512, - 1046, 438, 1030, -461, 772, 1080, 239, 335, -503,-32766, - -503,-32766,-32766,-32766,-32766, 863, 252, -461, 278, 380, - 374, 790, 68, 1080, -461, 689, -464, 280, 1133, 405, - 291, 1134, 290, 99, 100, 101, 305, 253, 435, 436, - 826,-32766, 69, 261, 237, 855, 856, 437, 438, 102, - 1052, 1053, 1054, 1055, 1049, 1050, 256, 1023, -459, -459, - 308, 446, 1056, 1051, 377, 133, 565, -239, 365, 66, - 237, 270, 696, 275, 280, 424, -137, -137, -137, -4, - 772, 1080, 312, 280, 1042, 761, 691, 364, 37, 20, - 426, -137, 427, -137, 428, -137, 429, -137, 127, 430, - -298, 280, -298, 38, 39, 372, 373, -499, 273, 40, - 431, 279, 691, 65, 261, 1023, 304, 903, 432, 433, - -459, -459, 335, -497, 434, 44, 42, 747, 795, 375, - 376, -460, -234, 566, -459, -459, 377,-32766,-32766,-32766, - 889, -459, -459, 124, -496, 75, 855, 856, 335, -276, - -263, 424, 772, 774, 580, -137, 261, 125,-32766, 280, - 827, 761, 864, 1080, 37, 20, 426, 240, 427, -178, - 428, 593, 429, 395, 505, 430, 691, 235, 241, 38, - 39, 372, 373, 125, 356, 40, 431, 260, 259, 65, - 269, 691, 304, -460, 432, 433, -299, -177, -299, 24, - 434, 307, 367, 704, 795, 375, 376, -460, 120, 118, - 24, 1080, 30, 368, -460, 1046, -463, 855, 856, 691, - 369, 695, 1080, 424, 293, 772, 1046, 335, -83, 774, - 580, -4, 469, 761, 126, 370, 37, 20, 426, -92, - 427, 280, 428, 446, 429, 1023, 377, 430, -219, -219, - -219, 38, 39, 372, 373, 335, 1023, 40, 431, 855, - 856, 65, 437, 438, 304, 236, 432, 433, 225, 712, - -497, 713, 434, 437, 438, 747, 795, 375, 376, 694, - 389, 136, 1124, 582, 68, 415, 238, 8, 33, 280, - 1060, 227, 712, 691, 713, 68, 424, -263, 539, 21, - 280, 774, 580, -219, 554, 555, 761, 691, 116, 37, - 20, 426, 117, 427, 360, 428, -178, 429, 132, 330, - 430, -218, -218, -218, 38, 39, 372, 373, 691, 335, - 40, 431, 122, 772, 65, 385, 386, 304, 123, 432, - 433, 29, 234, 335, -177, 434, 532, 533, 747, 795, - 375, 376, 129, 855, 856, 135, 76, 77, 78, 1099, - 888, 603, 586, 254, 335, 137, 138, 786, 594, 597, - 262, 771, 131, 253, 774, 580, -218, 31, 263, 79, - 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, - 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, - 100, 101, 295, 253, 424, 562, 772, 691, 694,-32766, - 102, 478, 689, 43, 761, 102, 1135, 37, 20, 426, - 130, 427, -81, 428, 692, 429, 530, 917, 430, 796, - 1023, 274, 38, 39, 372, 587, 473, 540, 40, 431, - 271, 277, 65, 272, 574, 304, 797, 557, 1059, 1062, - 545, 338, 772, 434, 10, 393, 35, 344, 546, 558, - 788, 581, 1061, 0, -418, 0, 5, 0, 0, 12, - 0, 0, 0, 0, 0, 0, 0, 424, 0, 0, - 0, 588, 774, 580, 0, 0, 0, 761, 0, 0, - 37, 20, 426, 0, 427, 0, 428, 0, 429, 772, - 0, 430, 306, 0, 0, 38, 39, 372, 583, 0, - 0, 40, 431, 345, 349, 65, 598, 389, 304, 475, - 361, 362, 748, 424, 36, 601, 434, 602, 591, 752, - 829, 813, 820, 761, 883, 884, 37, 20, 426, 810, - 427, 821, 428, 750, 429, 772, 808, 430, 892, 895, - 896, 38, 39, 372, 893, 774, 580, 40, 431, 894, - 900, 65, 585, 589, 304, 590, 592, 596, 288, 289, - 424, 354, 434, 355, 595, 584, -488, 1130, 1132, 707, - 761, 794, 706, 37, 20, 426, 716, 427, 793, 428, - 717, 429, 772, 714, 430, 1131, 792, 1011, 38, 39, - 372, 812, 580, -486, 40, 431, 715, 781, 65, 789, - 779, 304, 818, 819, 1129, 1081, 424, 1074, 1088, 434, - 1093, 1096, -430, -464, -463, -462, 761, 23, 25, 37, - 20, 426, 28, 427, 34, 428, 41, 429, 67, 70, - 430, 71, 72, 73, 38, 39, 372, 74, 774, 580, - 40, 431, 128, 134, 65, 139, 229, 304, 230, 246, - 247, 248, 249, 424, 250, 434, 251, 292, 357, 359, - 0, -237, -235, 761, -234, 14, 37, 20, 426, 15, - 427, 16, 428, 17, 429, 19, 327, 430, 406, 408, - 411, 38, 39, 372, 774, 580, 413, 40, 431, 414, - 421, 65, 571, 1034, 304,-32766,-32766,-32766, 984, 1044, - 865, 1015, 434, -92, 13, 18, 22, 265, 326, 503, - 526, 573, 988, 985, 0, 1001,-32766, 1043,-32766,-32766, - -32766,-32766,-32766,-32766,-32767,-32767,-32767,-32767,-32767, 1072, - 1073, 774, 580, 1087, 1127, 536 - ); - - protected $actionCheck = array( - 2, 3, 4, 5, 6, 78, 8, 9, 10, 11, - 12, 0, 15, 16, 17, 18, 19, 20, 21, 22, - 23, 24, 25, 26, 27, 28, 42, 43, 44, 45, - 46, 47, 48, 49, 50, 8, 9, 10, 78, 79, - 7, 114, 115, 116, 117, 118, 119, 114, 115, 116, - 117, 118, 119, 55, 57, 58, 29, 7, 31, 32, - 33, 34, 35, 36, 8, 9, 10, 69, 70, 71, - 72, 73, 74, 75, 114, 1, 78, 8, 9, 10, - 1, 7, 13, 85, 86, 87, 88, 89, 90, 91, - 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, - 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, - 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 126, 127, 128, 129, 30, 131, - 132, 133, 134, 135, 136, 137, 138, 139, 2, 3, - 4, 5, 6, 145, 146, 147, 7, 11, 12, 36, - 14, 8, 9, 10, 48, 49, 50, 68, 8, 9, - 10, 68, 29, 7, 1, 8, 9, 10, 1, 80, - 8, 9, 29, 84, 31, 32, 33, 34, 35, 29, - 7, 31, 32, 33, 48, 49, 29, 154, 31, 32, - 54, 78, 56, 57, 58, 59, 60, 61, 62, 63, - 64, 65, 66, 114, 68, 69, 70, 71, 8, 9, - 10, 13, 76, 77, 78, 1, 80, 7, 1, 49, - 84, 132, 1, 130, 1, 80, 7, 114, 154, 29, - 156, 31, 32, 33, 34, 1, 7, 144, 7, 103, - 104, 1, 153, 80, 151, 78, 153, 158, 78, 151, - 114, 81, 7, 51, 52, 53, 7, 55, 122, 123, - 30, 8, 149, 29, 36, 132, 133, 131, 132, 67, - 134, 135, 136, 137, 138, 139, 140, 114, 68, 68, - 7, 145, 146, 147, 148, 13, 78, 154, 125, 153, - 36, 155, 1, 157, 158, 72, 73, 74, 75, 0, - 1, 80, 7, 158, 1, 82, 78, 7, 85, 86, - 87, 88, 89, 90, 91, 92, 93, 94, 151, 96, - 103, 158, 105, 100, 101, 102, 103, 154, 111, 106, - 107, 68, 78, 110, 29, 114, 113, 120, 115, 116, - 130, 130, 114, 7, 121, 68, 68, 124, 125, 126, - 127, 68, 154, 145, 144, 144, 148, 8, 9, 10, - 152, 151, 151, 30, 154, 151, 132, 133, 114, 152, - 7, 72, 1, 150, 151, 152, 29, 149, 29, 158, - 150, 82, 154, 80, 85, 86, 87, 36, 89, 7, - 91, 151, 93, 130, 1, 96, 78, 36, 36, 100, - 101, 102, 103, 149, 105, 106, 107, 130, 130, 110, - 111, 78, 113, 130, 115, 116, 103, 7, 105, 68, - 121, 144, 7, 124, 125, 126, 127, 144, 151, 151, - 68, 80, 7, 7, 151, 84, 153, 132, 133, 78, - 7, 150, 80, 72, 145, 1, 84, 114, 30, 150, - 151, 152, 83, 82, 151, 7, 85, 86, 87, 154, - 89, 158, 91, 145, 93, 114, 148, 96, 97, 98, - 99, 100, 101, 102, 103, 114, 114, 106, 107, 132, - 133, 110, 131, 132, 113, 36, 115, 116, 95, 103, - 154, 105, 121, 131, 132, 124, 125, 126, 127, 80, - 148, 13, 83, 151, 153, 103, 36, 105, 13, 158, - 141, 13, 103, 78, 105, 153, 72, 154, 73, 74, - 158, 150, 151, 152, 73, 74, 82, 78, 15, 85, - 86, 87, 15, 89, 148, 91, 154, 93, 98, 99, - 96, 97, 98, 99, 100, 101, 102, 103, 78, 114, - 106, 107, 15, 1, 110, 103, 104, 113, 15, 115, - 116, 142, 143, 114, 154, 121, 108, 109, 124, 125, - 126, 127, 15, 132, 133, 15, 8, 9, 10, 154, - 150, 151, 30, 30, 114, 15, 15, 36, 30, 30, - 34, 30, 30, 55, 150, 151, 152, 29, 34, 31, - 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, - 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, - 52, 53, 34, 55, 72, 75, 1, 78, 80, 83, - 67, 87, 78, 68, 82, 67, 81, 85, 86, 87, - 68, 89, 95, 91, 78, 93, 111, 80, 96, 125, - 114, 112, 100, 101, 102, 30, 83, 88, 106, 107, - 128, 128, 110, 129, 90, 113, 125, 92, 141, 141, - 94, 148, 1, 121, 95, 95, 150, 148, 97, 97, - 149, 151, 157, -1, 144, -1, 144, -1, -1, 144, - -1, -1, -1, -1, -1, -1, -1, 72, -1, -1, - -1, 30, 150, 151, -1, -1, -1, 82, -1, -1, - 85, 86, 87, -1, 89, -1, 91, -1, 93, 1, - -1, 96, 144, -1, -1, 100, 101, 102, 151, -1, - -1, 106, 107, 148, 148, 110, 152, 148, 113, 148, - 148, 148, 152, 72, 150, 150, 121, 150, 30, 150, - 150, 150, 150, 82, 150, 150, 85, 86, 87, 150, - 89, 150, 91, 150, 93, 1, 150, 96, 150, 150, - 150, 100, 101, 102, 150, 150, 151, 106, 107, 150, - 150, 110, 151, 151, 113, 151, 151, 151, 151, 151, - 72, 151, 121, 151, 30, 151, 153, 152, 152, 152, - 82, 152, 152, 85, 86, 87, 152, 89, 152, 91, - 152, 93, 1, 152, 96, 152, 152, 152, 100, 101, - 102, 150, 151, 153, 106, 107, 152, 152, 110, 152, - 152, 113, 152, 152, 152, 152, 72, 152, 152, 121, - 152, 152, 155, 153, 153, 153, 82, 153, 153, 85, - 86, 87, 153, 89, 153, 91, 153, 93, 153, 153, - 96, 153, 153, 153, 100, 101, 102, 153, 150, 151, - 106, 107, 153, 153, 110, 153, 153, 113, 153, 153, - 153, 153, 153, 72, 153, 121, 153, 153, 153, 153, - -1, 154, 154, 82, 154, 154, 85, 86, 87, 154, - 89, 154, 91, 154, 93, 154, 154, 96, 154, 154, - 154, 100, 101, 102, 150, 151, 154, 106, 107, 154, - 154, 110, 154, 154, 113, 8, 9, 10, 154, 154, - 154, 154, 121, 154, 154, 154, 154, 154, 154, 154, - 154, 154, 154, 154, -1, 155, 29, 156, 31, 32, - 33, 34, 35, 36, 37, 38, 39, 40, 41, 156, - 156, 150, 151, 156, 156, 156 - ); - - protected $actionBase = array( - 0, 223, 299, 371, 444, 303, 208, 629, -2, -2, - -73, -2, -2, 625, 718, 718, 764, 718, 552, 671, - 811, 811, 811, 228, 113, 113, 113, 254, 361, -40, - 361, 333, 449, 470, 435, 435, 435, 435, 435, 435, - 435, 435, 435, 435, 435, 435, 435, 435, 435, 435, - 435, 435, 435, 435, 435, 435, 435, 435, 435, 435, - 435, 435, 435, 435, 435, 435, 435, 435, 435, 435, - 435, 435, 435, 435, 435, 435, 435, 435, 435, 435, - 435, 435, 435, 435, 435, 435, 435, 435, 435, 435, - 435, 435, 435, 435, 435, 435, 435, 435, 435, 435, - 435, 435, 435, 435, 435, 435, 435, 435, 435, 435, - 435, 435, 435, 435, 435, 435, 435, 435, 435, 435, - 435, 435, 435, 435, 435, 435, 435, 435, 435, 435, - 435, 435, 435, 435, 435, 435, 435, 435, 435, 435, - 291, 291, 230, 393, 495, 783, 788, 785, 781, 780, - 784, 789, 498, 682, 683, 562, 685, 686, 688, 689, - 786, 809, 782, 787, 568, 568, 568, 568, 568, 568, - 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, - 568, 253, 69, 162, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 349, 349, 349, 157, - 210, 150, 200, 211, 143, 27, 917, 917, 917, 917, - 917, -16, -16, -16, -16, 351, 351, 362, 217, 89, - 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, - 89, 89, 163, 313, 106, 106, 133, 133, 133, 133, - 133, 133, 305, 221, 234, 347, 369, 528, 525, 167, - 167, 441, 441, 441, 93, 283, 202, 202, 202, 386, - 573, 536, 536, 536, 536, 419, 419, 536, 536, 170, - 214, 74, 211, 211, 277, 211, 211, 211, 409, 409, - 409, 452, 318, 352, 546, 318, 630, 644, 581, 680, - 582, 681, 278, 592, 145, 593, 145, 145, 145, 458, - 445, 451, 779, 291, 540, 291, 291, 291, 291, 726, - 291, 291, 291, 291, 291, 291, 98, 291, 79, 430, - 230, 240, 240, 588, 240, 452, 538, 263, 637, 410, - 425, 538, 538, 538, 638, 640, 336, 363, 198, 642, - 382, 402, 173, 33, 549, 549, 554, 554, 567, 551, - 549, 549, 549, 549, 549, 694, 694, 554, 548, 554, - 567, 703, 554, 551, 551, 554, 554, 549, 554, 694, - 551, 156, 415, 249, 273, 551, 551, 426, 532, 549, - 533, 533, 433, 554, 219, 554, 139, 534, 694, 694, - 534, 229, 551, 231, 595, 597, 535, 531, 553, 245, - 553, 553, 300, 535, 553, 551, 553, 448, 50, 548, - 295, 553, 11, 705, 706, 418, 708, 701, 709, 735, - 710, 530, 524, 541, 723, 725, 714, 699, 695, 561, - 591, 513, 517, 542, 565, 692, 589, 563, 563, 563, - 565, 690, 563, 563, 563, 563, 563, 563, 563, 563, - 791, 578, 544, 727, 537, 523, 580, 543, 577, 527, - 591, 591, 590, 687, 790, 566, 726, 769, 719, 526, - 557, 751, 728, 584, 529, 585, 729, 731, 752, 774, - 631, 513, 775, 645, 572, 646, 591, 647, 563, 670, - 643, 803, 804, 691, 807, 741, 754, 556, 564, 755, - 586, 649, 555, 808, 650, 776, 632, 634, 594, 745, - 737, 756, 654, 762, 765, 656, 599, 569, 738, 576, - 736, 272, 734, 635, 658, 661, 663, 664, 665, 720, - 600, 747, 575, 749, 740, 601, 602, 560, 674, 488, - 604, 570, 571, 605, 722, 558, 550, 609, 611, 777, - 675, 733, 613, 677, 768, 547, 589, 545, 539, 579, - 574, 636, 766, 559, 616, 618, 619, 620, 678, 624, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 136, 136, 136, - 136, -2, -2, -2, 0, 0, -2, 0, 0, 136, - 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, - 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, - 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, - 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, - 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, - 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, - 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, - 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, - 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, - 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, - 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, - 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, - 136, 136, 136, 136, 136, 136, 568, 568, 568, 568, - 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, - 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 568, 568, 568, - 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, - 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, - 568, 568, 568, 568, 568, 568, -3, 568, 568, -3, - 568, 568, 568, 568, 568, 568, 568, 202, 202, 202, - 202, 318, 318, 318, -67, 318, 318, 318, 318, 318, - 318, 318, 318, 318, 318, 318, 318, 318, 318, -67, - 202, 202, 318, 318, 318, 318, 318, 318, 318, 318, - 318, 318, 419, 419, 419, 145, 145, 318, 318, 318, - 0, 0, 0, 0, 0, 549, 419, 318, 318, 318, - 318, 0, 0, 318, 318, 548, 145, 0, 0, 0, - 0, 0, 0, 0, 549, 549, 549, 548, 0, 549, - 419, 0, 240, 291, 440, 440, 440, 440, 0, 549, - 0, 549, 0, 0, 0, 0, 0, 0, 551, 0, - 694, 0, 0, 0, 0, 554, 0, 0, 0, 0, - 0, 0, 0, 0, 548, 0, 0, 0, 0, 548, - 0, 0, 563, 0, 566, 0, 0, 563, 563, 563, - 566, 566, 0, 0, 0, 566 - ); - - protected $actionDefault = array( - 3,32767,32767,32767,32767,32767,32767,32767,32767, 92, - 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767, 513, 513, 513, 94, 502,32767, - 502,32767,32767,32767, 317, 317, 317,32767, 457, 457, - 457, 457, 457, 457, 457,32767,32767,32767,32767,32767, - 397,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767, 92,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767, 509,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767, 380, 381, 383, 384, 316, 458, - 512, 262, 508, 315, 130, 273, 264, 211, 243, 313, - 134, 345, 398, 347, 396, 400, 346, 322, 326, 327, - 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, - 338, 320, 321, 399, 401, 402, 377, 376, 375, 343, - 319, 344, 348, 319, 350, 349, 366, 367, 364, 365, - 368, 369, 370, 371, 372,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767,32767,32767, 94, - 32767,32767,32767, 296, 357, 358, 253, 253, 253, 253, - 253, 253, 253,32767,32767, 253,32767,32767,32767,32767, - 32767,32767,32767,32767, 451, 374, 352, 353, 351,32767, - 429,32767,32767,32767,32767,32767, 431,32767, 92,32767, - 32767,32767, 340, 342, 423, 511, 323, 510,32767,32767, - 94, 417,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767, 426,32767,32767, 92,32767,32767, 92, 174, - 230, 232, 179,32767, 434,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767, 417, 362, 520,32767, 459, - 32767, 354, 355, 356,32767,32767, 459, 459, 459,32767, - 459,32767, 459, 459,32767,32767,32767,32767,32767, 179, - 32767,32767,32767,32767, 94, 432, 432, 92, 92, 92, - 92, 427,32767, 179, 179,32767,32767,32767,32767,32767, - 179, 91, 91, 91, 91, 179, 179, 91, 194,32767, - 192, 192, 91,32767, 93,32767, 93, 196,32767, 473, - 196, 91, 179, 91, 216, 216, 408, 181, 255, 93, - 255, 255, 93, 408, 255, 179, 255, 91, 91,32767, - 91, 255,32767,32767,32767, 85,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 419,32767, 439,32767, 452, 471,32767, 360, 361, 363, - 32767, 461, 385, 386, 387, 388, 389, 390, 391, 393, - 32767, 422,32767,32767,32767, 87, 121, 272,32767, 518, - 87, 420,32767, 518,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767, 87, 87,32767,32767,32767,32767, - 32767, 498,32767, 519,32767, 459, 421,32767, 359, 435, - 478,32767,32767, 460,32767,32767,32767, 245, 247,32767, - 87,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 439,32767,32767,32767,32767,32767,32767,32767, 459,32767, - 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767, 459,32767,32767, 242,32767,32767, - 32767, 312,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767, 85, 60,32767, 292,32767, - 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 136, 136, 3, 275, 3, 275, 136, 136, 136, 275, - 275, 136, 136, 136, 136, 136, 136, 136, 169, 224, - 227, 216, 216, 284, 136, 136 - ); - - protected $goto = array( - 171, 144, 144, 144, 171, 152, 153, 152, 155, 187, - 172, 168, 168, 168, 168, 169, 169, 169, 169, 169, - 169, 169, 164, 165, 166, 167, 184, 182, 185, 447, - 448, 336, 449, 452, 453, 454, 455, 456, 457, 458, - 459, 931, 141, 145, 146, 147, 170, 148, 149, 143, - 150, 151, 154, 181, 183, 186, 206, 209, 211, 212, - 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, - 224, 244, 245, 266, 267, 268, 341, 342, 343, 498, - 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, - 198, 199, 200, 201, 202, 156, 203, 157, 173, 174, - 175, 207, 176, 158, 159, 160, 177, 161, 208, 142, - 204, 162, 178, 205, 179, 180, 163, 567, 210, 465, - 210, 520, 520, 1045, 769, 1045, 1045, 1045, 1045, 1045, - 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 470, 470, - 470, 576, 702, 470, 500, 317, 321, 477, 501, 502, - 504, 299, 764, 485, 765, 470, 450, 450, 450, 729, - 450, 450, 450, 450, 450, 450, 450, 450, 450, 450, - 450, 450, 450, 451, 451, 451, 703, 451, 451, 451, - 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, - 1121, 1121, 276, 729, 1136, 729, 491, 258, 491, 518, - 541, 499, 899, 579, 470, 470, 467, 561, 897, 1121, - 484, 510, 470, 470, 470, 331, 332, 738, 483, 549, - 906, 334, 690, 600, 527, 529, 296, 471, 542, 560, - 563, 839, 570, 578, 835, 907, 733, 721, 871, 496, - 497, 875, 514, 547, 720, 720, 814, 701, 564, 811, - 730, 730, 730, 732, 719, 844, 492, 804, 828, 809, - 809, 807, 809, 599, 1112, 462, 837, 832, 515, 867, - 1020, 914, 737, 1100, 1016, 509, 521, 523, 524, 572, - 705, 724, 525, 467, 718, 315, 537, 538, 1009, 791, - 543, 1010, 852, 857, 858, 489, 710, 847, 760, 755, - 756, 770, 979, 711, 757, 708, 758, 759, 709, 862, - 763, 803, 329, 575, 358, 348, 544, 352, 1089, 339, - 339, 282, 283, 285, 495, 346, 286, 347, 287, 350, - 528, 353, 1090, 1091, 1019, 1021, 3, 4, 319, 463, - 303, 534, 722, 725, 297, 476, 325, 300, 301, 872, - 486, 487, 604, 1024, 1022, 1076, 548, 854, 854, 854, - 854, 854, 854, 854, 1024, 854, 854, 407, 1017, 1012, - 876, 734, 854, 854, 854, 816, 400, 1120, 1120, 517, - 11, 1086, 1024, 1024, 1024, 1024, 461, 916, 1024, 1024, - 1095, 1095, 1086, 842, 842, 1107, 1120, 461, 1097, 1097, - 416, 0, 0, 777, 0, 0, 778, 0, 0, 0, - 0, 0, 0, 0, 1123, 805, 805, 805, 805, 1082, - 0, 799, 806, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 874, 0, 1084, 1084, 874, 0, 0, - 482, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 464, 480, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 464, 0, - 480, 0, 0, 318, 0, 0, 468, 388, 0, 390, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 728, 0, 1128 - ); - - protected $gotoCheck = array( - 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, - 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, - 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, - 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, - 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, - 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, - 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, - 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, - 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, - 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, - 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, - 33, 33, 33, 33, 33, 33, 33, 63, 56, 10, - 56, 86, 86, 86, 13, 86, 86, 86, 86, 86, - 86, 86, 86, 86, 86, 86, 86, 86, 10, 10, - 10, 8, 17, 10, 98, 49, 49, 49, 49, 49, - 49, 80, 55, 10, 55, 10, 136, 136, 136, 26, - 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, - 136, 136, 136, 138, 138, 138, 18, 138, 138, 138, - 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, - 149, 149, 135, 26, 12, 26, 85, 135, 85, 46, - 46, 7, 7, 7, 10, 10, 12, 7, 7, 149, - 10, 10, 10, 10, 10, 69, 69, 36, 39, 69, - 112, 69, 5, 39, 39, 39, 69, 10, 39, 39, - 39, 39, 39, 39, 39, 112, 14, 14, 14, 10, - 2, 14, 2, 12, 26, 26, 14, 16, 12, 40, - 26, 26, 26, 26, 26, 14, 137, 14, 16, 16, - 16, 16, 16, 16, 147, 16, 16, 16, 15, 95, - 93, 14, 14, 144, 14, 68, 68, 68, 68, 68, - 13, 15, 73, 12, 15, 52, 73, 73, 67, 67, - 54, 67, 91, 91, 91, 53, 13, 88, 13, 13, - 13, 13, 119, 13, 13, 13, 13, 13, 13, 90, - 13, 76, 76, 76, 89, 56, 56, 56, 140, 56, - 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 142, 142, 12, 93, 37, 37, 65, 65, - 20, 24, 28, 30, 11, 65, 19, 80, 80, 97, - 65, 65, 82, 63, 93, 93, 23, 63, 63, 63, - 63, 63, 63, 63, 63, 63, 63, 65, 128, 125, - 100, 32, 63, 63, 63, 79, 71, 148, 148, 72, - 65, 98, 63, 63, 63, 63, 75, 115, 63, 63, - 8, 8, 98, 85, 85, 85, 148, 75, 98, 98, - 123, -1, -1, 63, -1, -1, 63, -1, -1, -1, - -1, -1, -1, -1, 148, 75, 75, 75, 75, 98, - -1, 75, 75, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 98, -1, 98, 98, 98, -1, -1, - 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 8, 8, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 8, -1, - 8, -1, -1, 8, -1, -1, 8, 8, -1, 8, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 8, -1, 8 - ); - - protected $gotoBase = array( - 0, 0, -342, 0, 0, 212, 0, 196, 131, 0, - -150, 51, -85, -17, -146, -128, 245, 140, 174, 43, - 71, 0, 0, 1, 52, 0, -110, 0, 37, 0, - 53, 0, 4, -23, 0, 0, 208, -268, 0, -363, - 230, 0, 0, 0, 0, 0, 164, 0, 0, 106, - 0, 0, 248, 65, 64, 137, 90, 0, 0, 0, - 0, 0, 0, 111, 0, -35, 0, -43, 28, -195, - 0, -15, -21, -303, 0, 144, 39, 0, 0, 6, - -254, 0, 22, 0, 0, 168, -104, 0, 45, 59, - 55, 31, 0, -44, 0, 242, 0, 41, 139, 0, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -8, 0, 0, 17, 0, 0, 0, 49, - 0, 0, 0, -13, 0, 3, 0, 0, 9, 0, - 0, 0, 0, 0, 0, -78, -69, 231, -52, 0, - 58, 0, 26, 0, 243, 0, 0, 238, 120, -67, - 0, 0 - ); - - protected $gotoDefault = array( - -32768, 422, 607, 2, 608, 680, 688, 552, 439, 577, - 440, 466, 337, 762, 920, 782, 744, 745, 746, 322, - 363, 313, 320, 535, 522, 412, 731, 383, 723, 409, - 726, 382, 735, 140, 553, 418, 739, 1, 741, 472, - 773, 310, 749, 311, 556, 751, 479, 753, 754, 316, - 323, 324, 924, 488, 519, 766, 213, 481, 767, 309, - 768, 776, 333, 314, 394, 419, 328, 901, 506, 531, - 378, 397, 516, 511, 490, 1031, 801, 403, 392, 815, - 298, 823, 605, 831, 834, 441, 442, 401, 846, 402, - 860, 507, 508, 1039, 396, 866, 384, 873, 1071, 387, - 877, 228, 880, 255, 550, 351, 885, 886, 6, 891, - 568, 569, 7, 243, 417, 915, 551, 381, 930, 366, - 998, 1000, 474, 410, 1013, 391, 559, 420, 1018, 1075, - 379, 443, 398, 284, 302, 257, 444, 460, 264, 445, - 399, 1078, 1085, 340, 1101, 281, 26, 1113, 1122, 294, - 494, 513 - ); - - protected $ruleToNonTerminal = array( - 0, 1, 3, 3, 2, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, - 6, 7, 7, 8, 9, 10, 10, 11, 12, 13, - 13, 14, 14, 15, 15, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 20, 20, 21, 21, - 21, 21, 23, 25, 25, 19, 27, 27, 24, 29, - 29, 26, 26, 28, 28, 30, 30, 22, 31, 31, - 32, 34, 35, 35, 36, 37, 37, 39, 38, 38, - 38, 38, 40, 40, 40, 40, 40, 40, 40, 40, - 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, - 40, 40, 40, 40, 40, 40, 40, 16, 16, 59, - 59, 62, 62, 61, 60, 60, 53, 64, 64, 65, - 65, 66, 66, 67, 67, 17, 18, 18, 18, 70, - 70, 70, 71, 71, 74, 74, 72, 72, 76, 77, - 77, 47, 47, 55, 55, 58, 58, 58, 57, 78, - 78, 79, 48, 48, 48, 48, 80, 80, 81, 81, - 82, 82, 45, 45, 41, 41, 83, 43, 43, 84, - 42, 42, 44, 44, 54, 54, 54, 54, 68, 68, - 87, 87, 88, 88, 88, 90, 90, 90, 91, 91, - 91, 92, 92, 89, 89, 69, 69, 69, 93, 93, - 94, 94, 95, 95, 95, 50, 96, 96, 97, 51, - 99, 99, 100, 100, 101, 101, 73, 102, 102, 102, - 102, 102, 107, 107, 108, 108, 109, 109, 109, 109, - 109, 110, 111, 111, 106, 106, 103, 103, 105, 105, - 113, 113, 112, 112, 112, 112, 112, 112, 104, 114, - 114, 116, 115, 115, 52, 117, 117, 46, 46, 33, - 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, - 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, - 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, - 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, - 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, - 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, - 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, - 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, - 33, 33, 33, 33, 33, 124, 118, 118, 123, 123, - 126, 127, 127, 128, 129, 129, 129, 75, 75, 63, - 63, 63, 119, 119, 119, 131, 131, 120, 120, 122, - 122, 122, 125, 125, 136, 136, 136, 86, 138, 138, - 138, 121, 121, 121, 121, 121, 121, 121, 121, 121, - 121, 121, 121, 121, 121, 121, 121, 49, 49, 134, - 134, 134, 130, 130, 130, 139, 139, 139, 139, 139, - 139, 56, 56, 56, 98, 98, 98, 98, 142, 141, - 133, 133, 133, 133, 133, 133, 132, 132, 132, 140, - 140, 140, 140, 85, 143, 143, 144, 144, 144, 144, - 144, 144, 144, 137, 146, 146, 145, 145, 147, 147, - 147, 147, 147, 147, 135, 135, 135, 135, 149, 150, - 148, 148, 148, 148, 148, 148, 148, 151, 151, 151, - 151 - ); - - protected $ruleToLength = array( - 1, 1, 2, 0, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, - 1, 0, 1, 0, 1, 1, 1, 1, 1, 3, - 5, 4, 3, 4, 2, 3, 1, 1, 7, 8, - 6, 7, 2, 3, 1, 2, 3, 1, 2, 3, - 1, 1, 3, 1, 2, 1, 2, 2, 3, 1, - 3, 2, 3, 1, 3, 2, 0, 1, 1, 1, - 1, 1, 3, 7, 10, 5, 7, 9, 5, 3, - 3, 3, 3, 3, 3, 1, 2, 5, 7, 9, - 6, 5, 6, 3, 3, 2, 1, 1, 1, 0, - 2, 1, 3, 8, 0, 4, 2, 1, 3, 0, - 1, 0, 1, 3, 1, 8, 7, 6, 5, 1, - 2, 2, 0, 2, 0, 2, 0, 2, 2, 1, - 3, 1, 4, 1, 4, 1, 1, 4, 2, 1, - 3, 3, 3, 4, 4, 5, 0, 2, 4, 3, - 1, 1, 1, 4, 0, 2, 5, 0, 2, 6, - 0, 2, 0, 3, 1, 2, 1, 1, 2, 0, - 1, 3, 4, 6, 4, 1, 2, 1, 1, 1, - 1, 3, 3, 0, 1, 0, 2, 2, 2, 4, - 1, 3, 1, 2, 2, 2, 3, 1, 1, 2, - 3, 1, 1, 3, 2, 0, 1, 4, 4, 9, - 3, 1, 1, 3, 0, 2, 4, 5, 4, 4, - 4, 3, 1, 1, 1, 1, 1, 1, 0, 1, - 1, 2, 1, 1, 1, 1, 1, 1, 2, 1, - 3, 1, 1, 3, 2, 3, 1, 0, 1, 1, - 3, 3, 3, 4, 1, 2, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, - 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 5, 4, 3, 4, 4, - 2, 2, 4, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 1, 3, 2, 1, 2, 4, - 2, 8, 9, 8, 9, 7, 3, 2, 0, 4, - 2, 1, 3, 2, 2, 2, 4, 1, 1, 1, - 2, 3, 1, 1, 1, 1, 1, 0, 3, 0, - 1, 1, 0, 1, 1, 3, 3, 3, 4, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 3, 2, 3, 3, 0, 1, 1, - 3, 1, 1, 3, 1, 1, 4, 4, 4, 1, - 4, 1, 1, 3, 1, 4, 2, 2, 1, 3, - 1, 4, 4, 3, 3, 3, 1, 3, 1, 1, - 3, 1, 1, 4, 3, 1, 1, 2, 1, 3, - 4, 3, 0, 1, 1, 1, 3, 1, 3, 1, - 4, 2, 2, 0, 2, 2, 1, 2, 1, 1, - 1, 4, 3, 3, 3, 6, 3, 1, 1, 2, - 1 - ); - - protected function initReduceCallbacks() { - $this->reduceCallbacks = [ - 0 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 1 => function ($stackPos) { - $this->semValue = $this->handleNamespaces($this->semStack[$stackPos-(1-1)]); - }, - 2 => function ($stackPos) { - if (is_array($this->semStack[$stackPos-(2-2)])) { $this->semValue = array_merge($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)]); } else { $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; }; - }, - 3 => function ($stackPos) { - $this->semValue = array(); - }, - 4 => function ($stackPos) { - $startAttributes = $this->lookaheadStartAttributes; if (isset($startAttributes['comments'])) { $nop = new Stmt\Nop($this->createZeroLengthAttributes($startAttributes)); } else { $nop = null; }; - if ($nop !== null) { $this->semStack[$stackPos-(1-1)][] = $nop; } $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 5 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 6 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 7 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 8 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 9 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 10 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 11 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 12 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 13 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 14 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 15 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 16 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 17 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 18 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 19 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 20 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 21 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 22 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 23 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 24 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 25 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 26 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 27 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 28 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 29 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 30 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 31 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 32 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 33 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 34 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 35 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 36 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 37 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 38 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 39 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 40 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 41 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 42 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 43 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 44 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 45 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 46 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 47 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 48 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 49 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 50 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 51 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 52 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 53 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 54 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 55 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 56 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 57 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 58 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 59 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 60 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 61 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 62 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 63 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 64 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 65 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 66 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 67 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 68 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 69 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 70 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 71 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 72 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 73 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 74 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 75 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 76 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 77 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 78 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 79 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 80 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 81 => function ($stackPos) { - $this->semValue = new Node\Identifier($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 82 => function ($stackPos) { - $this->semValue = new Node\Identifier($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 83 => function ($stackPos) { - $this->semValue = new Node\Identifier($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 84 => function ($stackPos) { - $this->semValue = new Node\Identifier($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 85 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 86 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 87 => function ($stackPos) { - $this->semValue = new Name($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 88 => function ($stackPos) { - $this->semValue = new Expr\Variable(substr($this->semStack[$stackPos-(1-1)], 1), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 89 => function ($stackPos) { - /* nothing */ - }, - 90 => function ($stackPos) { - /* nothing */ - }, - 91 => function ($stackPos) { - /* nothing */ - }, - 92 => function ($stackPos) { - $this->emitError(new Error('A trailing comma is not allowed here', $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes)); - }, - 93 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 94 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 95 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 96 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 97 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 98 => function ($stackPos) { - $this->semValue = new Stmt\HaltCompiler($this->lexer->handleHaltCompiler(), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 99 => function ($stackPos) { - $this->semValue = new Stmt\Namespace_($this->semStack[$stackPos-(3-2)], null, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - $this->semValue->setAttribute('kind', Stmt\Namespace_::KIND_SEMICOLON); - $this->checkNamespace($this->semValue); - }, - 100 => function ($stackPos) { - $this->semValue = new Stmt\Namespace_($this->semStack[$stackPos-(5-2)], $this->semStack[$stackPos-(5-4)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); - $this->semValue->setAttribute('kind', Stmt\Namespace_::KIND_BRACED); - $this->checkNamespace($this->semValue); - }, - 101 => function ($stackPos) { - $this->semValue = new Stmt\Namespace_(null, $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - $this->semValue->setAttribute('kind', Stmt\Namespace_::KIND_BRACED); - $this->checkNamespace($this->semValue); - }, - 102 => function ($stackPos) { - $this->semValue = new Stmt\Use_($this->semStack[$stackPos-(3-2)], Stmt\Use_::TYPE_NORMAL, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 103 => function ($stackPos) { - $this->semValue = new Stmt\Use_($this->semStack[$stackPos-(4-3)], $this->semStack[$stackPos-(4-2)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 104 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-1)]; - }, - 105 => function ($stackPos) { - $this->semValue = new Stmt\Const_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 106 => function ($stackPos) { - $this->semValue = Stmt\Use_::TYPE_FUNCTION; - }, - 107 => function ($stackPos) { - $this->semValue = Stmt\Use_::TYPE_CONSTANT; - }, - 108 => function ($stackPos) { - $this->semValue = new Stmt\GroupUse(new Name($this->semStack[$stackPos-(7-3)], $this->startAttributeStack[$stackPos-(7-3)] + $this->endAttributeStack[$stackPos-(7-3)]), $this->semStack[$stackPos-(7-6)], $this->semStack[$stackPos-(7-2)], $this->startAttributeStack[$stackPos-(7-1)] + $this->endAttributes); - }, - 109 => function ($stackPos) { - $this->semValue = new Stmt\GroupUse(new Name($this->semStack[$stackPos-(8-4)], $this->startAttributeStack[$stackPos-(8-4)] + $this->endAttributeStack[$stackPos-(8-4)]), $this->semStack[$stackPos-(8-7)], $this->semStack[$stackPos-(8-2)], $this->startAttributeStack[$stackPos-(8-1)] + $this->endAttributes); - }, - 110 => function ($stackPos) { - $this->semValue = new Stmt\GroupUse(new Name($this->semStack[$stackPos-(6-2)], $this->startAttributeStack[$stackPos-(6-2)] + $this->endAttributeStack[$stackPos-(6-2)]), $this->semStack[$stackPos-(6-5)], Stmt\Use_::TYPE_UNKNOWN, $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes); - }, - 111 => function ($stackPos) { - $this->semValue = new Stmt\GroupUse(new Name($this->semStack[$stackPos-(7-3)], $this->startAttributeStack[$stackPos-(7-3)] + $this->endAttributeStack[$stackPos-(7-3)]), $this->semStack[$stackPos-(7-6)], Stmt\Use_::TYPE_UNKNOWN, $this->startAttributeStack[$stackPos-(7-1)] + $this->endAttributes); - }, - 112 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-1)]; - }, - 113 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 114 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 115 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-1)]; - }, - 116 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 117 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 118 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-1)]; - }, - 119 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 120 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 121 => function ($stackPos) { - $this->semValue = new Stmt\UseUse($this->semStack[$stackPos-(1-1)], null, Stmt\Use_::TYPE_UNKNOWN, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); $this->checkUseUse($this->semValue, $stackPos-(1-1)); - }, - 122 => function ($stackPos) { - $this->semValue = new Stmt\UseUse($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], Stmt\Use_::TYPE_UNKNOWN, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); $this->checkUseUse($this->semValue, $stackPos-(3-3)); - }, - 123 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 124 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-2)]; - }, - 125 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; $this->semValue->type = Stmt\Use_::TYPE_NORMAL; - }, - 126 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-2)]; $this->semValue->type = $this->semStack[$stackPos-(2-1)]; - }, - 127 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-1)]; - }, - 128 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 129 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 130 => function ($stackPos) { - $this->semValue = new Node\Const_($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 131 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-1)]; - }, - 132 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 133 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 134 => function ($stackPos) { - $this->semValue = new Node\Const_($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 135 => function ($stackPos) { - if (is_array($this->semStack[$stackPos-(2-2)])) { $this->semValue = array_merge($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)]); } else { $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; }; - }, - 136 => function ($stackPos) { - $this->semValue = array(); - }, - 137 => function ($stackPos) { - $startAttributes = $this->lookaheadStartAttributes; if (isset($startAttributes['comments'])) { $nop = new Stmt\Nop($this->createZeroLengthAttributes($startAttributes)); } else { $nop = null; }; - if ($nop !== null) { $this->semStack[$stackPos-(1-1)][] = $nop; } $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 138 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 139 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 140 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 141 => function ($stackPos) { - throw new Error('__HALT_COMPILER() can only be used from the outermost scope', $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 142 => function ($stackPos) { - - if ($this->semStack[$stackPos-(3-2)]) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; $attrs = $this->startAttributeStack[$stackPos-(3-1)]; $stmts = $this->semValue; if (!empty($attrs['comments'])) {$stmts[0]->setAttribute('comments', array_merge($attrs['comments'], $stmts[0]->getAttribute('comments', []))); }; - } else { - $startAttributes = $this->startAttributeStack[$stackPos-(3-1)]; if (isset($startAttributes['comments'])) { $this->semValue = new Stmt\Nop($startAttributes + $this->endAttributes); } else { $this->semValue = null; }; - if (null === $this->semValue) { $this->semValue = array(); } - } - - }, - 143 => function ($stackPos) { - $this->semValue = new Stmt\If_($this->semStack[$stackPos-(7-3)], ['stmts' => is_array($this->semStack[$stackPos-(7-5)]) ? $this->semStack[$stackPos-(7-5)] : array($this->semStack[$stackPos-(7-5)]), 'elseifs' => $this->semStack[$stackPos-(7-6)], 'else' => $this->semStack[$stackPos-(7-7)]], $this->startAttributeStack[$stackPos-(7-1)] + $this->endAttributes); - }, - 144 => function ($stackPos) { - $this->semValue = new Stmt\If_($this->semStack[$stackPos-(10-3)], ['stmts' => $this->semStack[$stackPos-(10-6)], 'elseifs' => $this->semStack[$stackPos-(10-7)], 'else' => $this->semStack[$stackPos-(10-8)]], $this->startAttributeStack[$stackPos-(10-1)] + $this->endAttributes); - }, - 145 => function ($stackPos) { - $this->semValue = new Stmt\While_($this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-5)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); - }, - 146 => function ($stackPos) { - $this->semValue = new Stmt\Do_($this->semStack[$stackPos-(7-5)], is_array($this->semStack[$stackPos-(7-2)]) ? $this->semStack[$stackPos-(7-2)] : array($this->semStack[$stackPos-(7-2)]), $this->startAttributeStack[$stackPos-(7-1)] + $this->endAttributes); - }, - 147 => function ($stackPos) { - $this->semValue = new Stmt\For_(['init' => $this->semStack[$stackPos-(9-3)], 'cond' => $this->semStack[$stackPos-(9-5)], 'loop' => $this->semStack[$stackPos-(9-7)], 'stmts' => $this->semStack[$stackPos-(9-9)]], $this->startAttributeStack[$stackPos-(9-1)] + $this->endAttributes); - }, - 148 => function ($stackPos) { - $this->semValue = new Stmt\Switch_($this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-5)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); - }, - 149 => function ($stackPos) { - $this->semValue = new Stmt\Break_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 150 => function ($stackPos) { - $this->semValue = new Stmt\Continue_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 151 => function ($stackPos) { - $this->semValue = new Stmt\Return_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 152 => function ($stackPos) { - $this->semValue = new Stmt\Global_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 153 => function ($stackPos) { - $this->semValue = new Stmt\Static_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 154 => function ($stackPos) { - $this->semValue = new Stmt\Echo_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 155 => function ($stackPos) { - $this->semValue = new Stmt\InlineHTML($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 156 => function ($stackPos) { - $this->semValue = new Stmt\Expression($this->semStack[$stackPos-(2-1)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 157 => function ($stackPos) { - $this->semValue = new Stmt\Unset_($this->semStack[$stackPos-(5-3)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); - }, - 158 => function ($stackPos) { - $this->semValue = new Stmt\Foreach_($this->semStack[$stackPos-(7-3)], $this->semStack[$stackPos-(7-5)][0], ['keyVar' => null, 'byRef' => $this->semStack[$stackPos-(7-5)][1], 'stmts' => $this->semStack[$stackPos-(7-7)]], $this->startAttributeStack[$stackPos-(7-1)] + $this->endAttributes); - }, - 159 => function ($stackPos) { - $this->semValue = new Stmt\Foreach_($this->semStack[$stackPos-(9-3)], $this->semStack[$stackPos-(9-7)][0], ['keyVar' => $this->semStack[$stackPos-(9-5)], 'byRef' => $this->semStack[$stackPos-(9-7)][1], 'stmts' => $this->semStack[$stackPos-(9-9)]], $this->startAttributeStack[$stackPos-(9-1)] + $this->endAttributes); - }, - 160 => function ($stackPos) { - $this->semValue = new Stmt\Foreach_($this->semStack[$stackPos-(6-3)], new Expr\Error($this->startAttributeStack[$stackPos-(6-4)] + $this->endAttributeStack[$stackPos-(6-4)]), ['stmts' => $this->semStack[$stackPos-(6-6)]], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes); - }, - 161 => function ($stackPos) { - $this->semValue = new Stmt\Declare_($this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-5)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); - }, - 162 => function ($stackPos) { - $this->semValue = new Stmt\TryCatch($this->semStack[$stackPos-(6-3)], $this->semStack[$stackPos-(6-5)], $this->semStack[$stackPos-(6-6)], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes); $this->checkTryCatch($this->semValue); - }, - 163 => function ($stackPos) { - $this->semValue = new Stmt\Throw_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 164 => function ($stackPos) { - $this->semValue = new Stmt\Goto_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 165 => function ($stackPos) { - $this->semValue = new Stmt\Label($this->semStack[$stackPos-(2-1)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 166 => function ($stackPos) { - $this->semValue = array(); /* means: no statement */ - }, - 167 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 168 => function ($stackPos) { - $startAttributes = $this->startAttributeStack[$stackPos-(1-1)]; if (isset($startAttributes['comments'])) { $this->semValue = new Stmt\Nop($startAttributes + $this->endAttributes); } else { $this->semValue = null; }; - if ($this->semValue === null) $this->semValue = array(); /* means: no statement */ - }, - 169 => function ($stackPos) { - $this->semValue = array(); - }, - 170 => function ($stackPos) { - $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; - }, - 171 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 172 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 173 => function ($stackPos) { - $this->semValue = new Stmt\Catch_($this->semStack[$stackPos-(8-3)], $this->semStack[$stackPos-(8-4)], $this->semStack[$stackPos-(8-7)], $this->startAttributeStack[$stackPos-(8-1)] + $this->endAttributes); - }, - 174 => function ($stackPos) { - $this->semValue = null; - }, - 175 => function ($stackPos) { - $this->semValue = new Stmt\Finally_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 176 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-1)]; - }, - 177 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 178 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 179 => function ($stackPos) { - $this->semValue = false; - }, - 180 => function ($stackPos) { - $this->semValue = true; - }, - 181 => function ($stackPos) { - $this->semValue = false; - }, - 182 => function ($stackPos) { - $this->semValue = true; - }, - 183 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; - }, - 184 => function ($stackPos) { - $this->semValue = []; - }, - 185 => function ($stackPos) { - $this->semValue = new Stmt\Function_($this->semStack[$stackPos-(8-3)], ['byRef' => $this->semStack[$stackPos-(8-2)], 'params' => $this->semStack[$stackPos-(8-5)], 'returnType' => $this->semStack[$stackPos-(8-7)], 'stmts' => $this->semStack[$stackPos-(8-8)]], $this->startAttributeStack[$stackPos-(8-1)] + $this->endAttributes); - }, - 186 => function ($stackPos) { - $this->semValue = new Stmt\Class_($this->semStack[$stackPos-(7-2)], ['type' => $this->semStack[$stackPos-(7-1)], 'extends' => $this->semStack[$stackPos-(7-3)], 'implements' => $this->semStack[$stackPos-(7-4)], 'stmts' => $this->semStack[$stackPos-(7-6)]], $this->startAttributeStack[$stackPos-(7-1)] + $this->endAttributes); - $this->checkClass($this->semValue, $stackPos-(7-2)); - }, - 187 => function ($stackPos) { - $this->semValue = new Stmt\Interface_($this->semStack[$stackPos-(6-2)], ['extends' => $this->semStack[$stackPos-(6-3)], 'stmts' => $this->semStack[$stackPos-(6-5)]], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes); - $this->checkInterface($this->semValue, $stackPos-(6-2)); - }, - 188 => function ($stackPos) { - $this->semValue = new Stmt\Trait_($this->semStack[$stackPos-(5-2)], ['stmts' => $this->semStack[$stackPos-(5-4)]], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); - }, - 189 => function ($stackPos) { - $this->semValue = 0; - }, - 190 => function ($stackPos) { - $this->semValue = Stmt\Class_::MODIFIER_ABSTRACT; - }, - 191 => function ($stackPos) { - $this->semValue = Stmt\Class_::MODIFIER_FINAL; - }, - 192 => function ($stackPos) { - $this->semValue = null; - }, - 193 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-2)]; - }, - 194 => function ($stackPos) { - $this->semValue = array(); - }, - 195 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-2)]; - }, - 196 => function ($stackPos) { - $this->semValue = array(); - }, - 197 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-2)]; - }, - 198 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-1)]; - }, - 199 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 200 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 201 => function ($stackPos) { - $this->semValue = is_array($this->semStack[$stackPos-(1-1)]) ? $this->semStack[$stackPos-(1-1)] : array($this->semStack[$stackPos-(1-1)]); - }, - 202 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(4-2)]; - }, - 203 => function ($stackPos) { - $this->semValue = is_array($this->semStack[$stackPos-(1-1)]) ? $this->semStack[$stackPos-(1-1)] : array($this->semStack[$stackPos-(1-1)]); - }, - 204 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(4-2)]; - }, - 205 => function ($stackPos) { - $this->semValue = is_array($this->semStack[$stackPos-(1-1)]) ? $this->semStack[$stackPos-(1-1)] : array($this->semStack[$stackPos-(1-1)]); - }, - 206 => function ($stackPos) { - $this->semValue = null; - }, - 207 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(4-2)]; - }, - 208 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-1)]; - }, - 209 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 210 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 211 => function ($stackPos) { - $this->semValue = new Stmt\DeclareDeclare($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 212 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; - }, - 213 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(4-3)]; - }, - 214 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(4-2)]; - }, - 215 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(5-3)]; - }, - 216 => function ($stackPos) { - $this->semValue = array(); - }, - 217 => function ($stackPos) { - $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; - }, - 218 => function ($stackPos) { - $this->semValue = new Stmt\Case_($this->semStack[$stackPos-(4-2)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 219 => function ($stackPos) { - $this->semValue = new Stmt\Case_(null, $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 220 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 221 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 222 => function ($stackPos) { - $this->semValue = is_array($this->semStack[$stackPos-(1-1)]) ? $this->semStack[$stackPos-(1-1)] : array($this->semStack[$stackPos-(1-1)]); - }, - 223 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(4-2)]; - }, - 224 => function ($stackPos) { - $this->semValue = array(); - }, - 225 => function ($stackPos) { - $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; - }, - 226 => function ($stackPos) { - $this->semValue = new Stmt\ElseIf_($this->semStack[$stackPos-(5-3)], is_array($this->semStack[$stackPos-(5-5)]) ? $this->semStack[$stackPos-(5-5)] : array($this->semStack[$stackPos-(5-5)]), $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); - }, - 227 => function ($stackPos) { - $this->semValue = array(); - }, - 228 => function ($stackPos) { - $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; - }, - 229 => function ($stackPos) { - $this->semValue = new Stmt\ElseIf_($this->semStack[$stackPos-(6-3)], $this->semStack[$stackPos-(6-6)], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes); - }, - 230 => function ($stackPos) { - $this->semValue = null; - }, - 231 => function ($stackPos) { - $this->semValue = new Stmt\Else_(is_array($this->semStack[$stackPos-(2-2)]) ? $this->semStack[$stackPos-(2-2)] : array($this->semStack[$stackPos-(2-2)]), $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 232 => function ($stackPos) { - $this->semValue = null; - }, - 233 => function ($stackPos) { - $this->semValue = new Stmt\Else_($this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 234 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)], false); - }, - 235 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(2-2)], true); - }, - 236 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)], false); - }, - 237 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)], false); - }, - 238 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-1)]; - }, - 239 => function ($stackPos) { - $this->semValue = array(); - }, - 240 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 241 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 242 => function ($stackPos) { - $this->semValue = new Node\Param($this->semStack[$stackPos-(4-4)], null, $this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-2)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); $this->checkParam($this->semValue); - }, - 243 => function ($stackPos) { - $this->semValue = new Node\Param($this->semStack[$stackPos-(6-4)], $this->semStack[$stackPos-(6-6)], $this->semStack[$stackPos-(6-1)], $this->semStack[$stackPos-(6-2)], $this->semStack[$stackPos-(6-3)], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes); $this->checkParam($this->semValue); - }, - 244 => function ($stackPos) { - $this->semValue = new Node\Param(new Expr\Error($this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes), null, $this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-2)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 245 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 246 => function ($stackPos) { - $this->semValue = new Node\NullableType($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 247 => function ($stackPos) { - $this->semValue = new Node\UnionType($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 248 => function ($stackPos) { - $this->semValue = $this->handleBuiltinTypes($this->semStack[$stackPos-(1-1)]); - }, - 249 => function ($stackPos) { - $this->semValue = new Node\Identifier('array', $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 250 => function ($stackPos) { - $this->semValue = new Node\Identifier('callable', $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 251 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)]); - }, - 252 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 253 => function ($stackPos) { - $this->semValue = null; - }, - 254 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 255 => function ($stackPos) { - $this->semValue = null; - }, - 256 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-2)]; - }, - 257 => function ($stackPos) { - $this->semValue = null; - }, - 258 => function ($stackPos) { - $this->semValue = array(); - }, - 259 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(4-2)]; - }, - 260 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 261 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 262 => function ($stackPos) { - $this->semValue = new Node\Arg($this->semStack[$stackPos-(1-1)], false, false, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 263 => function ($stackPos) { - $this->semValue = new Node\Arg($this->semStack[$stackPos-(2-2)], true, false, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 264 => function ($stackPos) { - $this->semValue = new Node\Arg($this->semStack[$stackPos-(2-2)], false, true, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 265 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-1)]; - }, - 266 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 267 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 268 => function ($stackPos) { - $this->semValue = new Expr\Variable($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 269 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-1)]; - }, - 270 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 271 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 272 => function ($stackPos) { - $this->semValue = new Stmt\StaticVar($this->semStack[$stackPos-(1-1)], null, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 273 => function ($stackPos) { - $this->semValue = new Stmt\StaticVar($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 274 => function ($stackPos) { - if ($this->semStack[$stackPos-(2-2)] !== null) { $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; } - }, - 275 => function ($stackPos) { - $this->semValue = array(); - }, - 276 => function ($stackPos) { - $startAttributes = $this->lookaheadStartAttributes; if (isset($startAttributes['comments'])) { $nop = new Stmt\Nop($this->createZeroLengthAttributes($startAttributes)); } else { $nop = null; }; - if ($nop !== null) { $this->semStack[$stackPos-(1-1)][] = $nop; } $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 277 => function ($stackPos) { - $attrs = $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes; - $this->semValue = new Stmt\Property($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $attrs, $this->semStack[$stackPos-(4-2)]); $this->checkProperty($this->semValue, $stackPos-(4-1)); - }, - 278 => function ($stackPos) { - $this->semValue = new Stmt\ClassConst($this->semStack[$stackPos-(4-3)], $this->semStack[$stackPos-(4-1)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); $this->checkClassConst($this->semValue, $stackPos-(4-1)); - }, - 279 => function ($stackPos) { - $this->semValue = new Stmt\ClassMethod($this->semStack[$stackPos-(9-4)], ['type' => $this->semStack[$stackPos-(9-1)], 'byRef' => $this->semStack[$stackPos-(9-3)], 'params' => $this->semStack[$stackPos-(9-6)], 'returnType' => $this->semStack[$stackPos-(9-8)], 'stmts' => $this->semStack[$stackPos-(9-9)]], $this->startAttributeStack[$stackPos-(9-1)] + $this->endAttributes); - $this->checkClassMethod($this->semValue, $stackPos-(9-1)); - }, - 280 => function ($stackPos) { - $this->semValue = new Stmt\TraitUse($this->semStack[$stackPos-(3-2)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 281 => function ($stackPos) { - $this->semValue = null; /* will be skipped */ - }, - 282 => function ($stackPos) { - $this->semValue = array(); - }, - 283 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; - }, - 284 => function ($stackPos) { - $this->semValue = array(); - }, - 285 => function ($stackPos) { - $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; - }, - 286 => function ($stackPos) { - $this->semValue = new Stmt\TraitUseAdaptation\Precedence($this->semStack[$stackPos-(4-1)][0], $this->semStack[$stackPos-(4-1)][1], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 287 => function ($stackPos) { - $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$stackPos-(5-1)][0], $this->semStack[$stackPos-(5-1)][1], $this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-4)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); - }, - 288 => function ($stackPos) { - $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$stackPos-(4-1)][0], $this->semStack[$stackPos-(4-1)][1], $this->semStack[$stackPos-(4-3)], null, $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 289 => function ($stackPos) { - $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$stackPos-(4-1)][0], $this->semStack[$stackPos-(4-1)][1], null, $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 290 => function ($stackPos) { - $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$stackPos-(4-1)][0], $this->semStack[$stackPos-(4-1)][1], null, $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 291 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)]); - }, - 292 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 293 => function ($stackPos) { - $this->semValue = array(null, $this->semStack[$stackPos-(1-1)]); - }, - 294 => function ($stackPos) { - $this->semValue = null; - }, - 295 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 296 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 297 => function ($stackPos) { - $this->semValue = 0; - }, - 298 => function ($stackPos) { - $this->semValue = 0; - }, - 299 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 300 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 301 => function ($stackPos) { - $this->checkModifier($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $stackPos-(2-2)); $this->semValue = $this->semStack[$stackPos-(2-1)] | $this->semStack[$stackPos-(2-2)]; - }, - 302 => function ($stackPos) { - $this->semValue = Stmt\Class_::MODIFIER_PUBLIC; - }, - 303 => function ($stackPos) { - $this->semValue = Stmt\Class_::MODIFIER_PROTECTED; - }, - 304 => function ($stackPos) { - $this->semValue = Stmt\Class_::MODIFIER_PRIVATE; - }, - 305 => function ($stackPos) { - $this->semValue = Stmt\Class_::MODIFIER_STATIC; - }, - 306 => function ($stackPos) { - $this->semValue = Stmt\Class_::MODIFIER_ABSTRACT; - }, - 307 => function ($stackPos) { - $this->semValue = Stmt\Class_::MODIFIER_FINAL; - }, - 308 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-1)]; - }, - 309 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 310 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 311 => function ($stackPos) { - $this->semValue = new Node\VarLikeIdentifier(substr($this->semStack[$stackPos-(1-1)], 1), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 312 => function ($stackPos) { - $this->semValue = new Stmt\PropertyProperty($this->semStack[$stackPos-(1-1)], null, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 313 => function ($stackPos) { - $this->semValue = new Stmt\PropertyProperty($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 314 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-1)]; - }, - 315 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 316 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 317 => function ($stackPos) { - $this->semValue = array(); - }, - 318 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 319 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 320 => function ($stackPos) { - $this->semValue = new Expr\Assign($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 321 => function ($stackPos) { - $this->semValue = new Expr\Assign($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 322 => function ($stackPos) { - $this->semValue = new Expr\Assign($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 323 => function ($stackPos) { - $this->semValue = new Expr\AssignRef($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 324 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 325 => function ($stackPos) { - $this->semValue = new Expr\Clone_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 326 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\Plus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 327 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\Minus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 328 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\Mul($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 329 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\Div($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 330 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\Concat($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 331 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\Mod($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 332 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\BitwiseAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 333 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\BitwiseOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 334 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\BitwiseXor($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 335 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\ShiftLeft($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 336 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\ShiftRight($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 337 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\Pow($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 338 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\Coalesce($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 339 => function ($stackPos) { - $this->semValue = new Expr\PostInc($this->semStack[$stackPos-(2-1)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 340 => function ($stackPos) { - $this->semValue = new Expr\PreInc($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 341 => function ($stackPos) { - $this->semValue = new Expr\PostDec($this->semStack[$stackPos-(2-1)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 342 => function ($stackPos) { - $this->semValue = new Expr\PreDec($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 343 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\BooleanOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 344 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\BooleanAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 345 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\LogicalOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 346 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\LogicalAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 347 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\LogicalXor($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 348 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\BitwiseOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 349 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\BitwiseAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 350 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\BitwiseXor($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 351 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Concat($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 352 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Plus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 353 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Minus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 354 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Mul($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 355 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Div($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 356 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Mod($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 357 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\ShiftLeft($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 358 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\ShiftRight($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 359 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Pow($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 360 => function ($stackPos) { - $this->semValue = new Expr\UnaryPlus($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 361 => function ($stackPos) { - $this->semValue = new Expr\UnaryMinus($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 362 => function ($stackPos) { - $this->semValue = new Expr\BooleanNot($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 363 => function ($stackPos) { - $this->semValue = new Expr\BitwiseNot($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 364 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Identical($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 365 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\NotIdentical($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 366 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Equal($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 367 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\NotEqual($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 368 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Spaceship($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 369 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Smaller($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 370 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\SmallerOrEqual($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 371 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Greater($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 372 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\GreaterOrEqual($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 373 => function ($stackPos) { - $this->semValue = new Expr\Instanceof_($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 374 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; - }, - 375 => function ($stackPos) { - $this->semValue = new Expr\Ternary($this->semStack[$stackPos-(5-1)], $this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-5)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); - }, - 376 => function ($stackPos) { - $this->semValue = new Expr\Ternary($this->semStack[$stackPos-(4-1)], null, $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 377 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Coalesce($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 378 => function ($stackPos) { - $this->semValue = new Expr\Isset_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 379 => function ($stackPos) { - $this->semValue = new Expr\Empty_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 380 => function ($stackPos) { - $this->semValue = new Expr\Include_($this->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_INCLUDE, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 381 => function ($stackPos) { - $this->semValue = new Expr\Include_($this->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_INCLUDE_ONCE, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 382 => function ($stackPos) { - $this->semValue = new Expr\Eval_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 383 => function ($stackPos) { - $this->semValue = new Expr\Include_($this->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_REQUIRE, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 384 => function ($stackPos) { - $this->semValue = new Expr\Include_($this->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_REQUIRE_ONCE, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 385 => function ($stackPos) { - $this->semValue = new Expr\Cast\Int_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 386 => function ($stackPos) { - $attrs = $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes; - $attrs['kind'] = $this->getFloatCastKind($this->semStack[$stackPos-(2-1)]); - $this->semValue = new Expr\Cast\Double($this->semStack[$stackPos-(2-2)], $attrs); - }, - 387 => function ($stackPos) { - $this->semValue = new Expr\Cast\String_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 388 => function ($stackPos) { - $this->semValue = new Expr\Cast\Array_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 389 => function ($stackPos) { - $this->semValue = new Expr\Cast\Object_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 390 => function ($stackPos) { - $this->semValue = new Expr\Cast\Bool_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 391 => function ($stackPos) { - $this->semValue = new Expr\Cast\Unset_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 392 => function ($stackPos) { - $attrs = $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes; - $attrs['kind'] = strtolower($this->semStack[$stackPos-(2-1)]) === 'exit' ? Expr\Exit_::KIND_EXIT : Expr\Exit_::KIND_DIE; - $this->semValue = new Expr\Exit_($this->semStack[$stackPos-(2-2)], $attrs); - }, - 393 => function ($stackPos) { - $this->semValue = new Expr\ErrorSuppress($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 394 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 395 => function ($stackPos) { - $this->semValue = new Expr\ShellExec($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 396 => function ($stackPos) { - $this->semValue = new Expr\Print_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 397 => function ($stackPos) { - $this->semValue = new Expr\Yield_(null, null, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 398 => function ($stackPos) { - $this->semValue = new Expr\Yield_($this->semStack[$stackPos-(2-2)], null, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 399 => function ($stackPos) { - $this->semValue = new Expr\Yield_($this->semStack[$stackPos-(4-4)], $this->semStack[$stackPos-(4-2)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 400 => function ($stackPos) { - $this->semValue = new Expr\YieldFrom($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 401 => function ($stackPos) { - $this->semValue = new Expr\ArrowFunction(['static' => false, 'byRef' => $this->semStack[$stackPos-(8-2)], 'params' => $this->semStack[$stackPos-(8-4)], 'returnType' => $this->semStack[$stackPos-(8-6)], 'expr' => $this->semStack[$stackPos-(8-8)]], $this->startAttributeStack[$stackPos-(8-1)] + $this->endAttributes); - }, - 402 => function ($stackPos) { - $this->semValue = new Expr\ArrowFunction(['static' => true, 'byRef' => $this->semStack[$stackPos-(9-3)], 'params' => $this->semStack[$stackPos-(9-5)], 'returnType' => $this->semStack[$stackPos-(9-7)], 'expr' => $this->semStack[$stackPos-(9-9)]], $this->startAttributeStack[$stackPos-(9-1)] + $this->endAttributes); - }, - 403 => function ($stackPos) { - $this->semValue = new Expr\Closure(['static' => false, 'byRef' => $this->semStack[$stackPos-(8-2)], 'params' => $this->semStack[$stackPos-(8-4)], 'uses' => $this->semStack[$stackPos-(8-6)], 'returnType' => $this->semStack[$stackPos-(8-7)], 'stmts' => $this->semStack[$stackPos-(8-8)]], $this->startAttributeStack[$stackPos-(8-1)] + $this->endAttributes); - }, - 404 => function ($stackPos) { - $this->semValue = new Expr\Closure(['static' => true, 'byRef' => $this->semStack[$stackPos-(9-3)], 'params' => $this->semStack[$stackPos-(9-5)], 'uses' => $this->semStack[$stackPos-(9-7)], 'returnType' => $this->semStack[$stackPos-(9-8)], 'stmts' => $this->semStack[$stackPos-(9-9)]], $this->startAttributeStack[$stackPos-(9-1)] + $this->endAttributes); - }, - 405 => function ($stackPos) { - $this->semValue = array(new Stmt\Class_(null, ['type' => 0, 'extends' => $this->semStack[$stackPos-(7-3)], 'implements' => $this->semStack[$stackPos-(7-4)], 'stmts' => $this->semStack[$stackPos-(7-6)]], $this->startAttributeStack[$stackPos-(7-1)] + $this->endAttributes), $this->semStack[$stackPos-(7-2)]); - $this->checkClass($this->semValue[0], -1); - }, - 406 => function ($stackPos) { - $this->semValue = new Expr\New_($this->semStack[$stackPos-(3-2)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 407 => function ($stackPos) { - list($class, $ctorArgs) = $this->semStack[$stackPos-(2-2)]; $this->semValue = new Expr\New_($class, $ctorArgs, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 408 => function ($stackPos) { - $this->semValue = array(); - }, - 409 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(4-3)]; - }, - 410 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-1)]; - }, - 411 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 412 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 413 => function ($stackPos) { - $this->semValue = new Expr\ClosureUse($this->semStack[$stackPos-(2-2)], $this->semStack[$stackPos-(2-1)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 414 => function ($stackPos) { - $this->semValue = new Expr\FuncCall($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 415 => function ($stackPos) { - $this->semValue = new Expr\FuncCall($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 416 => function ($stackPos) { - $this->semValue = new Expr\StaticCall($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 417 => function ($stackPos) { - $this->semValue = new Name($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 418 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 419 => function ($stackPos) { - $this->semValue = new Name($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 420 => function ($stackPos) { - $this->semValue = new Name\FullyQualified($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 421 => function ($stackPos) { - $this->semValue = new Name\Relative($this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 422 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 423 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 424 => function ($stackPos) { - $this->semValue = new Expr\Error($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); $this->errorState = 2; - }, - 425 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 426 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 427 => function ($stackPos) { - $this->semValue = null; - }, - 428 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; - }, - 429 => function ($stackPos) { - $this->semValue = array(); - }, - 430 => function ($stackPos) { - $this->semValue = array(new Scalar\EncapsedStringPart(Scalar\String_::parseEscapeSequences($this->semStack[$stackPos-(1-1)], '`'), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes)); - }, - 431 => function ($stackPos) { - foreach ($this->semStack[$stackPos-(1-1)] as $s) { if ($s instanceof Node\Scalar\EncapsedStringPart) { $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '`', true); } }; $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 432 => function ($stackPos) { - $this->semValue = array(); - }, - 433 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 434 => function ($stackPos) { - $this->semValue = new Expr\ConstFetch($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 435 => function ($stackPos) { - $this->semValue = new Expr\ClassConstFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 436 => function ($stackPos) { - $this->semValue = new Expr\ClassConstFetch($this->semStack[$stackPos-(3-1)], new Expr\Error($this->startAttributeStack[$stackPos-(3-3)] + $this->endAttributeStack[$stackPos-(3-3)]), $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); $this->errorState = 2; - }, - 437 => function ($stackPos) { - $attrs = $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes; $attrs['kind'] = Expr\Array_::KIND_SHORT; - $this->semValue = new Expr\Array_($this->semStack[$stackPos-(3-2)], $attrs); - }, - 438 => function ($stackPos) { - $attrs = $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes; $attrs['kind'] = Expr\Array_::KIND_LONG; - $this->semValue = new Expr\Array_($this->semStack[$stackPos-(4-3)], $attrs); - }, - 439 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 440 => function ($stackPos) { - $attrs = $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes; $attrs['kind'] = ($this->semStack[$stackPos-(1-1)][0] === "'" || ($this->semStack[$stackPos-(1-1)][1] === "'" && ($this->semStack[$stackPos-(1-1)][0] === 'b' || $this->semStack[$stackPos-(1-1)][0] === 'B')) ? Scalar\String_::KIND_SINGLE_QUOTED : Scalar\String_::KIND_DOUBLE_QUOTED); - $this->semValue = new Scalar\String_(Scalar\String_::parse($this->semStack[$stackPos-(1-1)]), $attrs); - }, - 441 => function ($stackPos) { - $this->semValue = $this->parseLNumber($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 442 => function ($stackPos) { - $this->semValue = new Scalar\DNumber(Scalar\DNumber::parse($this->semStack[$stackPos-(1-1)]), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 443 => function ($stackPos) { - $this->semValue = new Scalar\MagicConst\Line($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 444 => function ($stackPos) { - $this->semValue = new Scalar\MagicConst\File($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 445 => function ($stackPos) { - $this->semValue = new Scalar\MagicConst\Dir($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 446 => function ($stackPos) { - $this->semValue = new Scalar\MagicConst\Class_($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 447 => function ($stackPos) { - $this->semValue = new Scalar\MagicConst\Trait_($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 448 => function ($stackPos) { - $this->semValue = new Scalar\MagicConst\Method($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 449 => function ($stackPos) { - $this->semValue = new Scalar\MagicConst\Function_($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 450 => function ($stackPos) { - $this->semValue = new Scalar\MagicConst\Namespace_($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 451 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 452 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 453 => function ($stackPos) { - $this->semValue = $this->parseDocString($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-2)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes, $this->startAttributeStack[$stackPos-(3-3)] + $this->endAttributeStack[$stackPos-(3-3)], true); - }, - 454 => function ($stackPos) { - $this->semValue = $this->parseDocString($this->semStack[$stackPos-(2-1)], '', $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes, $this->startAttributeStack[$stackPos-(2-2)] + $this->endAttributeStack[$stackPos-(2-2)], true); - }, - 455 => function ($stackPos) { - $attrs = $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes; $attrs['kind'] = Scalar\String_::KIND_DOUBLE_QUOTED; - foreach ($this->semStack[$stackPos-(3-2)] as $s) { if ($s instanceof Node\Scalar\EncapsedStringPart) { $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '"', true); } }; $this->semValue = new Scalar\Encapsed($this->semStack[$stackPos-(3-2)], $attrs); - }, - 456 => function ($stackPos) { - $this->semValue = $this->parseDocString($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-2)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes, $this->startAttributeStack[$stackPos-(3-3)] + $this->endAttributeStack[$stackPos-(3-3)], true); - }, - 457 => function ($stackPos) { - $this->semValue = null; - }, - 458 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 459 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 460 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; - }, - 461 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 462 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 463 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; - }, - 464 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 465 => function ($stackPos) { - $this->semValue = new Expr\Variable($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 466 => function ($stackPos) { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 467 => function ($stackPos) { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 468 => function ($stackPos) { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 469 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 470 => function ($stackPos) { - $this->semValue = new Expr\MethodCall($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 471 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 472 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 473 => function ($stackPos) { - $this->semValue = new Expr\PropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 474 => function ($stackPos) { - $this->semValue = substr($this->semStack[$stackPos-(1-1)], 1); - }, - 475 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(4-3)]; - }, - 476 => function ($stackPos) { - $this->semValue = new Expr\Variable($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 477 => function ($stackPos) { - $this->semValue = new Expr\Error($this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); $this->errorState = 2; - }, - 478 => function ($stackPos) { - $var = $this->semStack[$stackPos-(1-1)]; $this->semValue = \is_string($var) ? new Node\VarLikeIdentifier($var, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes) : $var; - }, - 479 => function ($stackPos) { - $this->semValue = new Expr\StaticPropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 480 => function ($stackPos) { - $this->semValue = new Expr\Variable($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 481 => function ($stackPos) { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 482 => function ($stackPos) { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 483 => function ($stackPos) { - $this->semValue = new Expr\PropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 484 => function ($stackPos) { - $this->semValue = new Expr\StaticPropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 485 => function ($stackPos) { - $this->semValue = new Expr\StaticPropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 486 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 487 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; - }, - 488 => function ($stackPos) { - $this->semValue = new Expr\Variable($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 489 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 490 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; - }, - 491 => function ($stackPos) { - $this->semValue = new Expr\Variable($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 492 => function ($stackPos) { - $this->semValue = new Expr\Error($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); $this->errorState = 2; - }, - 493 => function ($stackPos) { - $this->semValue = new Expr\List_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 494 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 495 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 496 => function ($stackPos) { - $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(1-1)], null, false, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 497 => function ($stackPos) { - $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(2-2)], null, true, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 498 => function ($stackPos) { - $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(1-1)], null, false, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 499 => function ($stackPos) { - $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(3-3)], $this->semStack[$stackPos-(3-1)], false, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 500 => function ($stackPos) { - $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(4-4)], $this->semStack[$stackPos-(4-1)], true, $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 501 => function ($stackPos) { - $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(3-3)], $this->semStack[$stackPos-(3-1)], false, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 502 => function ($stackPos) { - $this->semValue = null; - }, - 503 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; $end = count($this->semValue)-1; if ($this->semValue[$end] === null) array_pop($this->semValue); - }, - 504 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 505 => function ($stackPos) { - /* do nothing -- prevent default action of $$=$this->semStack[$1]. See $551. */ - }, - 506 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 507 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 508 => function ($stackPos) { - $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(3-3)], $this->semStack[$stackPos-(3-1)], false, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 509 => function ($stackPos) { - $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(1-1)], null, false, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 510 => function ($stackPos) { - $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(4-4)], $this->semStack[$stackPos-(4-1)], true, $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 511 => function ($stackPos) { - $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(2-2)], null, true, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 512 => function ($stackPos) { - $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(2-2)], null, false, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes, true, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 513 => function ($stackPos) { - $this->semValue = null; - }, - 514 => function ($stackPos) { - $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; - }, - 515 => function ($stackPos) { - $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; - }, - 516 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 517 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)]); - }, - 518 => function ($stackPos) { - $this->semValue = new Scalar\EncapsedStringPart($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 519 => function ($stackPos) { - $this->semValue = new Expr\Variable($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 520 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 521 => function ($stackPos) { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 522 => function ($stackPos) { - $this->semValue = new Expr\PropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 523 => function ($stackPos) { - $this->semValue = new Expr\Variable($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 524 => function ($stackPos) { - $this->semValue = new Expr\Variable($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 525 => function ($stackPos) { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(6-2)], $this->semStack[$stackPos-(6-4)], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes); - }, - 526 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; - }, - 527 => function ($stackPos) { - $this->semValue = new Scalar\String_($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 528 => function ($stackPos) { - $this->semValue = $this->parseNumString($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 529 => function ($stackPos) { - $this->semValue = $this->parseNumString('-' . $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 530 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - ]; - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Parser/Tokens.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Parser/Tokens.php deleted file mode 100644 index 50c5bf5..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/Parser/Tokens.php +++ /dev/null @@ -1,146 +0,0 @@ -lexer = $lexer; - - if (isset($options['throwOnError'])) { - throw new \LogicException( - '"throwOnError" is no longer supported, use "errorHandler" instead'); - } - - $this->initReduceCallbacks(); - } - - /** - * Parses PHP code into a node tree. - * - * If a non-throwing error handler is used, the parser will continue parsing after an error - * occurred and attempt to build a partial AST. - * - * @param string $code The source code to parse - * @param ErrorHandler|null $errorHandler Error handler to use for lexer/parser errors, defaults - * to ErrorHandler\Throwing. - * - * @return Node\Stmt[]|null Array of statements (or null non-throwing error handler is used and - * the parser was unable to recover from an error). - */ - public function parse(string $code, ErrorHandler $errorHandler = null) { - $this->errorHandler = $errorHandler ?: new ErrorHandler\Throwing; - - $this->lexer->startLexing($code, $this->errorHandler); - $result = $this->doParse(); - - // Clear out some of the interior state, so we don't hold onto unnecessary - // memory between uses of the parser - $this->startAttributeStack = []; - $this->endAttributeStack = []; - $this->semStack = []; - $this->semValue = null; - - return $result; - } - - protected function doParse() { - // We start off with no lookahead-token - $symbol = self::SYMBOL_NONE; - - // The attributes for a node are taken from the first and last token of the node. - // From the first token only the startAttributes are taken and from the last only - // the endAttributes. Both are merged using the array union operator (+). - $startAttributes = []; - $endAttributes = []; - $this->endAttributes = $endAttributes; - - // Keep stack of start and end attributes - $this->startAttributeStack = []; - $this->endAttributeStack = [$endAttributes]; - - // Start off in the initial state and keep a stack of previous states - $state = 0; - $stateStack = [$state]; - - // Semantic value stack (contains values of tokens and semantic action results) - $this->semStack = []; - - // Current position in the stack(s) - $stackPos = 0; - - $this->errorState = 0; - - for (;;) { - //$this->traceNewState($state, $symbol); - - if ($this->actionBase[$state] === 0) { - $rule = $this->actionDefault[$state]; - } else { - if ($symbol === self::SYMBOL_NONE) { - // Fetch the next token id from the lexer and fetch additional info by-ref. - // The end attributes are fetched into a temporary variable and only set once the token is really - // shifted (not during read). Otherwise you would sometimes get off-by-one errors, when a rule is - // reduced after a token was read but not yet shifted. - $tokenId = $this->lexer->getNextToken($tokenValue, $startAttributes, $endAttributes); - - // map the lexer token id to the internally used symbols - $symbol = $tokenId >= 0 && $tokenId < $this->tokenToSymbolMapSize - ? $this->tokenToSymbol[$tokenId] - : $this->invalidSymbol; - - if ($symbol === $this->invalidSymbol) { - throw new \RangeException(sprintf( - 'The lexer returned an invalid token (id=%d, value=%s)', - $tokenId, $tokenValue - )); - } - - // This is necessary to assign some meaningful attributes to /* empty */ productions. They'll get - // the attributes of the next token, even though they don't contain it themselves. - $this->startAttributeStack[$stackPos+1] = $startAttributes; - $this->endAttributeStack[$stackPos+1] = $endAttributes; - $this->lookaheadStartAttributes = $startAttributes; - - //$this->traceRead($symbol); - } - - $idx = $this->actionBase[$state] + $symbol; - if ((($idx >= 0 && $idx < $this->actionTableSize && $this->actionCheck[$idx] === $symbol) - || ($state < $this->YY2TBLSTATE - && ($idx = $this->actionBase[$state + $this->numNonLeafStates] + $symbol) >= 0 - && $idx < $this->actionTableSize && $this->actionCheck[$idx] === $symbol)) - && ($action = $this->action[$idx]) !== $this->defaultAction) { - /* - * >= numNonLeafStates: shift and reduce - * > 0: shift - * = 0: accept - * < 0: reduce - * = -YYUNEXPECTED: error - */ - if ($action > 0) { - /* shift */ - //$this->traceShift($symbol); - - ++$stackPos; - $stateStack[$stackPos] = $state = $action; - $this->semStack[$stackPos] = $tokenValue; - $this->startAttributeStack[$stackPos] = $startAttributes; - $this->endAttributeStack[$stackPos] = $endAttributes; - $this->endAttributes = $endAttributes; - $symbol = self::SYMBOL_NONE; - - if ($this->errorState) { - --$this->errorState; - } - - if ($action < $this->numNonLeafStates) { - continue; - } - - /* $yyn >= numNonLeafStates means shift-and-reduce */ - $rule = $action - $this->numNonLeafStates; - } else { - $rule = -$action; - } - } else { - $rule = $this->actionDefault[$state]; - } - } - - for (;;) { - if ($rule === 0) { - /* accept */ - //$this->traceAccept(); - return $this->semValue; - } elseif ($rule !== $this->unexpectedTokenRule) { - /* reduce */ - //$this->traceReduce($rule); - - try { - $this->reduceCallbacks[$rule]($stackPos); - } catch (Error $e) { - if (-1 === $e->getStartLine() && isset($startAttributes['startLine'])) { - $e->setStartLine($startAttributes['startLine']); - } - - $this->emitError($e); - // Can't recover from this type of error - return null; - } - - /* Goto - shift nonterminal */ - $lastEndAttributes = $this->endAttributeStack[$stackPos]; - $stackPos -= $this->ruleToLength[$rule]; - $nonTerminal = $this->ruleToNonTerminal[$rule]; - $idx = $this->gotoBase[$nonTerminal] + $stateStack[$stackPos]; - if ($idx >= 0 && $idx < $this->gotoTableSize && $this->gotoCheck[$idx] === $nonTerminal) { - $state = $this->goto[$idx]; - } else { - $state = $this->gotoDefault[$nonTerminal]; - } - - ++$stackPos; - $stateStack[$stackPos] = $state; - $this->semStack[$stackPos] = $this->semValue; - $this->endAttributeStack[$stackPos] = $lastEndAttributes; - } else { - /* error */ - switch ($this->errorState) { - case 0: - $msg = $this->getErrorMessage($symbol, $state); - $this->emitError(new Error($msg, $startAttributes + $endAttributes)); - // Break missing intentionally - case 1: - case 2: - $this->errorState = 3; - - // Pop until error-expecting state uncovered - while (!( - (($idx = $this->actionBase[$state] + $this->errorSymbol) >= 0 - && $idx < $this->actionTableSize && $this->actionCheck[$idx] === $this->errorSymbol) - || ($state < $this->YY2TBLSTATE - && ($idx = $this->actionBase[$state + $this->numNonLeafStates] + $this->errorSymbol) >= 0 - && $idx < $this->actionTableSize && $this->actionCheck[$idx] === $this->errorSymbol) - ) || ($action = $this->action[$idx]) === $this->defaultAction) { // Not totally sure about this - if ($stackPos <= 0) { - // Could not recover from error - return null; - } - $state = $stateStack[--$stackPos]; - //$this->tracePop($state); - } - - //$this->traceShift($this->errorSymbol); - ++$stackPos; - $stateStack[$stackPos] = $state = $action; - - // We treat the error symbol as being empty, so we reset the end attributes - // to the end attributes of the last non-error symbol - $this->endAttributeStack[$stackPos] = $this->endAttributeStack[$stackPos - 1]; - $this->endAttributes = $this->endAttributeStack[$stackPos - 1]; - break; - - case 3: - if ($symbol === 0) { - // Reached EOF without recovering from error - return null; - } - - //$this->traceDiscard($symbol); - $symbol = self::SYMBOL_NONE; - break 2; - } - } - - if ($state < $this->numNonLeafStates) { - break; - } - - /* >= numNonLeafStates means shift-and-reduce */ - $rule = $state - $this->numNonLeafStates; - } - } - - throw new \RuntimeException('Reached end of parser loop'); - } - - protected function emitError(Error $error) { - $this->errorHandler->handleError($error); - } - - /** - * Format error message including expected tokens. - * - * @param int $symbol Unexpected symbol - * @param int $state State at time of error - * - * @return string Formatted error message - */ - protected function getErrorMessage(int $symbol, int $state) : string { - $expectedString = ''; - if ($expected = $this->getExpectedTokens($state)) { - $expectedString = ', expecting ' . implode(' or ', $expected); - } - - return 'Syntax error, unexpected ' . $this->symbolToName[$symbol] . $expectedString; - } - - /** - * Get limited number of expected tokens in given state. - * - * @param int $state State - * - * @return string[] Expected tokens. If too many, an empty array is returned. - */ - protected function getExpectedTokens(int $state) : array { - $expected = []; - - $base = $this->actionBase[$state]; - foreach ($this->symbolToName as $symbol => $name) { - $idx = $base + $symbol; - if ($idx >= 0 && $idx < $this->actionTableSize && $this->actionCheck[$idx] === $symbol - || $state < $this->YY2TBLSTATE - && ($idx = $this->actionBase[$state + $this->numNonLeafStates] + $symbol) >= 0 - && $idx < $this->actionTableSize && $this->actionCheck[$idx] === $symbol - ) { - if ($this->action[$idx] !== $this->unexpectedTokenRule - && $this->action[$idx] !== $this->defaultAction - && $symbol !== $this->errorSymbol - ) { - if (count($expected) === 4) { - /* Too many expected tokens */ - return []; - } - - $expected[] = $name; - } - } - } - - return $expected; - } - - /* - * Tracing functions used for debugging the parser. - */ - - /* - protected function traceNewState($state, $symbol) { - echo '% State ' . $state - . ', Lookahead ' . ($symbol == self::SYMBOL_NONE ? '--none--' : $this->symbolToName[$symbol]) . "\n"; - } - - protected function traceRead($symbol) { - echo '% Reading ' . $this->symbolToName[$symbol] . "\n"; - } - - protected function traceShift($symbol) { - echo '% Shift ' . $this->symbolToName[$symbol] . "\n"; - } - - protected function traceAccept() { - echo "% Accepted.\n"; - } - - protected function traceReduce($n) { - echo '% Reduce by (' . $n . ') ' . $this->productions[$n] . "\n"; - } - - protected function tracePop($state) { - echo '% Recovering, uncovered state ' . $state . "\n"; - } - - protected function traceDiscard($symbol) { - echo '% Discard ' . $this->symbolToName[$symbol] . "\n"; - } - */ - - /* - * Helper functions invoked by semantic actions - */ - - /** - * Moves statements of semicolon-style namespaces into $ns->stmts and checks various error conditions. - * - * @param Node\Stmt[] $stmts - * @return Node\Stmt[] - */ - protected function handleNamespaces(array $stmts) : array { - $hasErrored = false; - $style = $this->getNamespacingStyle($stmts); - if (null === $style) { - // not namespaced, nothing to do - return $stmts; - } elseif ('brace' === $style) { - // For braced namespaces we only have to check that there are no invalid statements between the namespaces - $afterFirstNamespace = false; - foreach ($stmts as $stmt) { - if ($stmt instanceof Node\Stmt\Namespace_) { - $afterFirstNamespace = true; - } elseif (!$stmt instanceof Node\Stmt\HaltCompiler - && !$stmt instanceof Node\Stmt\Nop - && $afterFirstNamespace && !$hasErrored) { - $this->emitError(new Error( - 'No code may exist outside of namespace {}', $stmt->getAttributes())); - $hasErrored = true; // Avoid one error for every statement - } - } - return $stmts; - } else { - // For semicolon namespaces we have to move the statements after a namespace declaration into ->stmts - $resultStmts = []; - $targetStmts =& $resultStmts; - $lastNs = null; - foreach ($stmts as $stmt) { - if ($stmt instanceof Node\Stmt\Namespace_) { - if ($lastNs !== null) { - $this->fixupNamespaceAttributes($lastNs); - } - if ($stmt->stmts === null) { - $stmt->stmts = []; - $targetStmts =& $stmt->stmts; - $resultStmts[] = $stmt; - } else { - // This handles the invalid case of mixed style namespaces - $resultStmts[] = $stmt; - $targetStmts =& $resultStmts; - } - $lastNs = $stmt; - } elseif ($stmt instanceof Node\Stmt\HaltCompiler) { - // __halt_compiler() is not moved into the namespace - $resultStmts[] = $stmt; - } else { - $targetStmts[] = $stmt; - } - } - if ($lastNs !== null) { - $this->fixupNamespaceAttributes($lastNs); - } - return $resultStmts; - } - } - - private function fixupNamespaceAttributes(Node\Stmt\Namespace_ $stmt) { - // We moved the statements into the namespace node, as such the end of the namespace node - // needs to be extended to the end of the statements. - if (empty($stmt->stmts)) { - return; - } - - // We only move the builtin end attributes here. This is the best we can do with the - // knowledge we have. - $endAttributes = ['endLine', 'endFilePos', 'endTokenPos']; - $lastStmt = $stmt->stmts[count($stmt->stmts) - 1]; - foreach ($endAttributes as $endAttribute) { - if ($lastStmt->hasAttribute($endAttribute)) { - $stmt->setAttribute($endAttribute, $lastStmt->getAttribute($endAttribute)); - } - } - } - - /** - * Determine namespacing style (semicolon or brace) - * - * @param Node[] $stmts Top-level statements. - * - * @return null|string One of "semicolon", "brace" or null (no namespaces) - */ - private function getNamespacingStyle(array $stmts) { - $style = null; - $hasNotAllowedStmts = false; - foreach ($stmts as $i => $stmt) { - if ($stmt instanceof Node\Stmt\Namespace_) { - $currentStyle = null === $stmt->stmts ? 'semicolon' : 'brace'; - if (null === $style) { - $style = $currentStyle; - if ($hasNotAllowedStmts) { - $this->emitError(new Error( - 'Namespace declaration statement has to be the very first statement in the script', - $stmt->getLine() // Avoid marking the entire namespace as an error - )); - } - } elseif ($style !== $currentStyle) { - $this->emitError(new Error( - 'Cannot mix bracketed namespace declarations with unbracketed namespace declarations', - $stmt->getLine() // Avoid marking the entire namespace as an error - )); - // Treat like semicolon style for namespace normalization - return 'semicolon'; - } - continue; - } - - /* declare(), __halt_compiler() and nops can be used before a namespace declaration */ - if ($stmt instanceof Node\Stmt\Declare_ - || $stmt instanceof Node\Stmt\HaltCompiler - || $stmt instanceof Node\Stmt\Nop) { - continue; - } - - /* There may be a hashbang line at the very start of the file */ - if ($i === 0 && $stmt instanceof Node\Stmt\InlineHTML && preg_match('/\A#!.*\r?\n\z/', $stmt->value)) { - continue; - } - - /* Everything else if forbidden before namespace declarations */ - $hasNotAllowedStmts = true; - } - return $style; - } - - /** - * Fix up parsing of static property calls in PHP 5. - * - * In PHP 5 A::$b[c][d] and A::$b[c][d]() have very different interpretation. The former is - * interpreted as (A::$b)[c][d], while the latter is the same as A::{$b[c][d]}(). We parse the - * latter as the former initially and this method fixes the AST into the correct form when we - * encounter the "()". - * - * @param Node\Expr\StaticPropertyFetch|Node\Expr\ArrayDimFetch $prop - * @param Node\Arg[] $args - * @param array $attributes - * - * @return Expr\StaticCall - */ - protected function fixupPhp5StaticPropCall($prop, array $args, array $attributes) : Expr\StaticCall { - if ($prop instanceof Node\Expr\StaticPropertyFetch) { - $name = $prop->name instanceof VarLikeIdentifier - ? $prop->name->toString() : $prop->name; - $var = new Expr\Variable($name, $prop->name->getAttributes()); - return new Expr\StaticCall($prop->class, $var, $args, $attributes); - } elseif ($prop instanceof Node\Expr\ArrayDimFetch) { - $tmp = $prop; - while ($tmp->var instanceof Node\Expr\ArrayDimFetch) { - $tmp = $tmp->var; - } - - /** @var Expr\StaticPropertyFetch $staticProp */ - $staticProp = $tmp->var; - - // Set start attributes to attributes of innermost node - $tmp = $prop; - $this->fixupStartAttributes($tmp, $staticProp->name); - while ($tmp->var instanceof Node\Expr\ArrayDimFetch) { - $tmp = $tmp->var; - $this->fixupStartAttributes($tmp, $staticProp->name); - } - - $name = $staticProp->name instanceof VarLikeIdentifier - ? $staticProp->name->toString() : $staticProp->name; - $tmp->var = new Expr\Variable($name, $staticProp->name->getAttributes()); - return new Expr\StaticCall($staticProp->class, $prop, $args, $attributes); - } else { - throw new \Exception; - } - } - - protected function fixupStartAttributes(Node $to, Node $from) { - $startAttributes = ['startLine', 'startFilePos', 'startTokenPos']; - foreach ($startAttributes as $startAttribute) { - if ($from->hasAttribute($startAttribute)) { - $to->setAttribute($startAttribute, $from->getAttribute($startAttribute)); - } - } - } - - protected function handleBuiltinTypes(Name $name) { - $scalarTypes = [ - 'bool' => true, - 'int' => true, - 'float' => true, - 'string' => true, - 'iterable' => true, - 'void' => true, - 'object' => true, - 'null' => true, - 'false' => true, - ]; - - if (!$name->isUnqualified()) { - return $name; - } - - $lowerName = $name->toLowerString(); - if (!isset($scalarTypes[$lowerName])) { - return $name; - } - - return new Node\Identifier($lowerName, $name->getAttributes()); - } - - /** - * Get combined start and end attributes at a stack location - * - * @param int $pos Stack location - * - * @return array Combined start and end attributes - */ - protected function getAttributesAt(int $pos) : array { - return $this->startAttributeStack[$pos] + $this->endAttributeStack[$pos]; - } - - protected function getFloatCastKind(string $cast): int - { - $cast = strtolower($cast); - if (strpos($cast, 'float') !== false) { - return Double::KIND_FLOAT; - } - - if (strpos($cast, 'real') !== false) { - return Double::KIND_REAL; - } - - return Double::KIND_DOUBLE; - } - - protected function parseLNumber($str, $attributes, $allowInvalidOctal = false) { - try { - return LNumber::fromString($str, $attributes, $allowInvalidOctal); - } catch (Error $error) { - $this->emitError($error); - // Use dummy value - return new LNumber(0, $attributes); - } - } - - /** - * Parse a T_NUM_STRING token into either an integer or string node. - * - * @param string $str Number string - * @param array $attributes Attributes - * - * @return LNumber|String_ Integer or string node. - */ - protected function parseNumString(string $str, array $attributes) { - if (!preg_match('/^(?:0|-?[1-9][0-9]*)$/', $str)) { - return new String_($str, $attributes); - } - - $num = +$str; - if (!is_int($num)) { - return new String_($str, $attributes); - } - - return new LNumber($num, $attributes); - } - - protected function stripIndentation( - string $string, int $indentLen, string $indentChar, - bool $newlineAtStart, bool $newlineAtEnd, array $attributes - ) { - if ($indentLen === 0) { - return $string; - } - - $start = $newlineAtStart ? '(?:(?<=\n)|\A)' : '(?<=\n)'; - $end = $newlineAtEnd ? '(?:(?=[\r\n])|\z)' : '(?=[\r\n])'; - $regex = '/' . $start . '([ \t]*)(' . $end . ')?/'; - return preg_replace_callback( - $regex, - function ($matches) use ($indentLen, $indentChar, $attributes) { - $prefix = substr($matches[1], 0, $indentLen); - if (false !== strpos($prefix, $indentChar === " " ? "\t" : " ")) { - $this->emitError(new Error( - 'Invalid indentation - tabs and spaces cannot be mixed', $attributes - )); - } elseif (strlen($prefix) < $indentLen && !isset($matches[2])) { - $this->emitError(new Error( - 'Invalid body indentation level ' . - '(expecting an indentation level of at least ' . $indentLen . ')', - $attributes - )); - } - return substr($matches[0], strlen($prefix)); - }, - $string - ); - } - - protected function parseDocString( - string $startToken, $contents, string $endToken, - array $attributes, array $endTokenAttributes, bool $parseUnicodeEscape - ) { - $kind = strpos($startToken, "'") === false - ? String_::KIND_HEREDOC : String_::KIND_NOWDOC; - - $regex = '/\A[bB]?<<<[ \t]*[\'"]?([a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)[\'"]?(?:\r\n|\n|\r)\z/'; - $result = preg_match($regex, $startToken, $matches); - assert($result === 1); - $label = $matches[1]; - - $result = preg_match('/\A[ \t]*/', $endToken, $matches); - assert($result === 1); - $indentation = $matches[0]; - - $attributes['kind'] = $kind; - $attributes['docLabel'] = $label; - $attributes['docIndentation'] = $indentation; - - $indentHasSpaces = false !== strpos($indentation, " "); - $indentHasTabs = false !== strpos($indentation, "\t"); - if ($indentHasSpaces && $indentHasTabs) { - $this->emitError(new Error( - 'Invalid indentation - tabs and spaces cannot be mixed', - $endTokenAttributes - )); - - // Proceed processing as if this doc string is not indented - $indentation = ''; - } - - $indentLen = \strlen($indentation); - $indentChar = $indentHasSpaces ? " " : "\t"; - - if (\is_string($contents)) { - if ($contents === '') { - return new String_('', $attributes); - } - - $contents = $this->stripIndentation( - $contents, $indentLen, $indentChar, true, true, $attributes - ); - $contents = preg_replace('~(\r\n|\n|\r)\z~', '', $contents); - - if ($kind === String_::KIND_HEREDOC) { - $contents = String_::parseEscapeSequences($contents, null, $parseUnicodeEscape); - } - - return new String_($contents, $attributes); - } else { - assert(count($contents) > 0); - if (!$contents[0] instanceof Node\Scalar\EncapsedStringPart) { - // If there is no leading encapsed string part, pretend there is an empty one - $this->stripIndentation( - '', $indentLen, $indentChar, true, false, $contents[0]->getAttributes() - ); - } - - $newContents = []; - foreach ($contents as $i => $part) { - if ($part instanceof Node\Scalar\EncapsedStringPart) { - $isLast = $i === \count($contents) - 1; - $part->value = $this->stripIndentation( - $part->value, $indentLen, $indentChar, - $i === 0, $isLast, $part->getAttributes() - ); - $part->value = String_::parseEscapeSequences($part->value, null, $parseUnicodeEscape); - if ($isLast) { - $part->value = preg_replace('~(\r\n|\n|\r)\z~', '', $part->value); - } - if ('' === $part->value) { - continue; - } - } - $newContents[] = $part; - } - return new Encapsed($newContents, $attributes); - } - } - - /** - * Create attributes for a zero-length node with the given start attributes. - * - * @param array $startAttributes - * @return array - */ - protected function createZeroLengthAttributes(array $startAttributes) { - $attributes = $startAttributes; - if (isset($startAttributes['startLine'])) { - $attributes['endLine'] = $startAttributes['startLine']; - } - if (isset($startAttributes['startTokenPos'])) { - $attributes['endTokenPos'] = $startAttributes['startTokenPos'] - 1; - } - if (isset($startAttributes['startFilePos'])) { - $attributes['endFilePos'] = $startAttributes['startFilePos'] - 1; - } - return $attributes; - } - - protected function checkModifier($a, $b, $modifierPos) { - // Jumping through some hoops here because verifyModifier() is also used elsewhere - try { - Class_::verifyModifier($a, $b); - } catch (Error $error) { - $error->setAttributes($this->getAttributesAt($modifierPos)); - $this->emitError($error); - } - } - - protected function checkParam(Param $node) { - if ($node->variadic && null !== $node->default) { - $this->emitError(new Error( - 'Variadic parameter cannot have a default value', - $node->default->getAttributes() - )); - } - } - - protected function checkTryCatch(TryCatch $node) { - if (empty($node->catches) && null === $node->finally) { - $this->emitError(new Error( - 'Cannot use try without catch or finally', $node->getAttributes() - )); - } - } - - protected function checkNamespace(Namespace_ $node) { - if ($node->name && $node->name->isSpecialClassName()) { - $this->emitError(new Error( - sprintf('Cannot use \'%s\' as namespace name', $node->name), - $node->name->getAttributes() - )); - } - - if (null !== $node->stmts) { - foreach ($node->stmts as $stmt) { - if ($stmt instanceof Namespace_) { - $this->emitError(new Error( - 'Namespace declarations cannot be nested', $stmt->getAttributes() - )); - } - } - } - } - - protected function checkClass(Class_ $node, $namePos) { - if (null !== $node->name && $node->name->isSpecialClassName()) { - $this->emitError(new Error( - sprintf('Cannot use \'%s\' as class name as it is reserved', $node->name), - $this->getAttributesAt($namePos) - )); - } - - if ($node->extends && $node->extends->isSpecialClassName()) { - $this->emitError(new Error( - sprintf('Cannot use \'%s\' as class name as it is reserved', $node->extends), - $node->extends->getAttributes() - )); - } - - foreach ($node->implements as $interface) { - if ($interface->isSpecialClassName()) { - $this->emitError(new Error( - sprintf('Cannot use \'%s\' as interface name as it is reserved', $interface), - $interface->getAttributes() - )); - } - } - } - - protected function checkInterface(Interface_ $node, $namePos) { - if (null !== $node->name && $node->name->isSpecialClassName()) { - $this->emitError(new Error( - sprintf('Cannot use \'%s\' as class name as it is reserved', $node->name), - $this->getAttributesAt($namePos) - )); - } - - foreach ($node->extends as $interface) { - if ($interface->isSpecialClassName()) { - $this->emitError(new Error( - sprintf('Cannot use \'%s\' as interface name as it is reserved', $interface), - $interface->getAttributes() - )); - } - } - } - - protected function checkClassMethod(ClassMethod $node, $modifierPos) { - if ($node->flags & Class_::MODIFIER_STATIC) { - switch ($node->name->toLowerString()) { - case '__construct': - $this->emitError(new Error( - sprintf('Constructor %s() cannot be static', $node->name), - $this->getAttributesAt($modifierPos))); - break; - case '__destruct': - $this->emitError(new Error( - sprintf('Destructor %s() cannot be static', $node->name), - $this->getAttributesAt($modifierPos))); - break; - case '__clone': - $this->emitError(new Error( - sprintf('Clone method %s() cannot be static', $node->name), - $this->getAttributesAt($modifierPos))); - break; - } - } - } - - protected function checkClassConst(ClassConst $node, $modifierPos) { - if ($node->flags & Class_::MODIFIER_STATIC) { - $this->emitError(new Error( - "Cannot use 'static' as constant modifier", - $this->getAttributesAt($modifierPos))); - } - if ($node->flags & Class_::MODIFIER_ABSTRACT) { - $this->emitError(new Error( - "Cannot use 'abstract' as constant modifier", - $this->getAttributesAt($modifierPos))); - } - if ($node->flags & Class_::MODIFIER_FINAL) { - $this->emitError(new Error( - "Cannot use 'final' as constant modifier", - $this->getAttributesAt($modifierPos))); - } - } - - protected function checkProperty(Property $node, $modifierPos) { - if ($node->flags & Class_::MODIFIER_ABSTRACT) { - $this->emitError(new Error('Properties cannot be declared abstract', - $this->getAttributesAt($modifierPos))); - } - - if ($node->flags & Class_::MODIFIER_FINAL) { - $this->emitError(new Error('Properties cannot be declared final', - $this->getAttributesAt($modifierPos))); - } - } - - protected function checkUseUse(UseUse $node, $namePos) { - if ($node->alias && $node->alias->isSpecialClassName()) { - $this->emitError(new Error( - sprintf( - 'Cannot use %s as %s because \'%2$s\' is a special class name', - $node->name, $node->alias - ), - $this->getAttributesAt($namePos) - )); - } - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/ParserFactory.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/ParserFactory.php deleted file mode 100644 index f041e7f..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/ParserFactory.php +++ /dev/null @@ -1,44 +0,0 @@ -type ? $this->p($node->type) . ' ' : '') - . ($node->byRef ? '&' : '') - . ($node->variadic ? '...' : '') - . $this->p($node->var) - . ($node->default ? ' = ' . $this->p($node->default) : ''); - } - - protected function pArg(Node\Arg $node) { - return ($node->byRef ? '&' : '') . ($node->unpack ? '...' : '') . $this->p($node->value); - } - - protected function pConst(Node\Const_ $node) { - return $node->name . ' = ' . $this->p($node->value); - } - - protected function pNullableType(Node\NullableType $node) { - return '?' . $this->p($node->type); - } - - protected function pUnionType(Node\UnionType $node) { - return $this->pImplode($node->types, '|'); - } - - protected function pIdentifier(Node\Identifier $node) { - return $node->name; - } - - protected function pVarLikeIdentifier(Node\VarLikeIdentifier $node) { - return '$' . $node->name; - } - - // Names - - protected function pName(Name $node) { - return implode('\\', $node->parts); - } - - protected function pName_FullyQualified(Name\FullyQualified $node) { - return '\\' . implode('\\', $node->parts); - } - - protected function pName_Relative(Name\Relative $node) { - return 'namespace\\' . implode('\\', $node->parts); - } - - // Magic Constants - - protected function pScalar_MagicConst_Class(MagicConst\Class_ $node) { - return '__CLASS__'; - } - - protected function pScalar_MagicConst_Dir(MagicConst\Dir $node) { - return '__DIR__'; - } - - protected function pScalar_MagicConst_File(MagicConst\File $node) { - return '__FILE__'; - } - - protected function pScalar_MagicConst_Function(MagicConst\Function_ $node) { - return '__FUNCTION__'; - } - - protected function pScalar_MagicConst_Line(MagicConst\Line $node) { - return '__LINE__'; - } - - protected function pScalar_MagicConst_Method(MagicConst\Method $node) { - return '__METHOD__'; - } - - protected function pScalar_MagicConst_Namespace(MagicConst\Namespace_ $node) { - return '__NAMESPACE__'; - } - - protected function pScalar_MagicConst_Trait(MagicConst\Trait_ $node) { - return '__TRAIT__'; - } - - // Scalars - - protected function pScalar_String(Scalar\String_ $node) { - $kind = $node->getAttribute('kind', Scalar\String_::KIND_SINGLE_QUOTED); - switch ($kind) { - case Scalar\String_::KIND_NOWDOC: - $label = $node->getAttribute('docLabel'); - if ($label && !$this->containsEndLabel($node->value, $label)) { - if ($node->value === '') { - return "<<<'$label'\n$label" . $this->docStringEndToken; - } - - return "<<<'$label'\n$node->value\n$label" - . $this->docStringEndToken; - } - /* break missing intentionally */ - case Scalar\String_::KIND_SINGLE_QUOTED: - return $this->pSingleQuotedString($node->value); - case Scalar\String_::KIND_HEREDOC: - $label = $node->getAttribute('docLabel'); - if ($label && !$this->containsEndLabel($node->value, $label)) { - if ($node->value === '') { - return "<<<$label\n$label" . $this->docStringEndToken; - } - - $escaped = $this->escapeString($node->value, null); - return "<<<$label\n" . $escaped . "\n$label" - . $this->docStringEndToken; - } - /* break missing intentionally */ - case Scalar\String_::KIND_DOUBLE_QUOTED: - return '"' . $this->escapeString($node->value, '"') . '"'; - } - throw new \Exception('Invalid string kind'); - } - - protected function pScalar_Encapsed(Scalar\Encapsed $node) { - if ($node->getAttribute('kind') === Scalar\String_::KIND_HEREDOC) { - $label = $node->getAttribute('docLabel'); - if ($label && !$this->encapsedContainsEndLabel($node->parts, $label)) { - if (count($node->parts) === 1 - && $node->parts[0] instanceof Scalar\EncapsedStringPart - && $node->parts[0]->value === '' - ) { - return "<<<$label\n$label" . $this->docStringEndToken; - } - - return "<<<$label\n" . $this->pEncapsList($node->parts, null) . "\n$label" - . $this->docStringEndToken; - } - } - return '"' . $this->pEncapsList($node->parts, '"') . '"'; - } - - protected function pScalar_LNumber(Scalar\LNumber $node) { - if ($node->value === -\PHP_INT_MAX-1) { - // PHP_INT_MIN cannot be represented as a literal, - // because the sign is not part of the literal - return '(-' . \PHP_INT_MAX . '-1)'; - } - - $kind = $node->getAttribute('kind', Scalar\LNumber::KIND_DEC); - if (Scalar\LNumber::KIND_DEC === $kind) { - return (string) $node->value; - } - - if ($node->value < 0) { - $sign = '-'; - $str = (string) -$node->value; - } else { - $sign = ''; - $str = (string) $node->value; - } - switch ($kind) { - case Scalar\LNumber::KIND_BIN: - return $sign . '0b' . base_convert($str, 10, 2); - case Scalar\LNumber::KIND_OCT: - return $sign . '0' . base_convert($str, 10, 8); - case Scalar\LNumber::KIND_HEX: - return $sign . '0x' . base_convert($str, 10, 16); - } - throw new \Exception('Invalid number kind'); - } - - protected function pScalar_DNumber(Scalar\DNumber $node) { - if (!is_finite($node->value)) { - if ($node->value === \INF) { - return '\INF'; - } elseif ($node->value === -\INF) { - return '-\INF'; - } else { - return '\NAN'; - } - } - - // Try to find a short full-precision representation - $stringValue = sprintf('%.16G', $node->value); - if ($node->value !== (double) $stringValue) { - $stringValue = sprintf('%.17G', $node->value); - } - - // %G is locale dependent and there exists no locale-independent alternative. We don't want - // mess with switching locales here, so let's assume that a comma is the only non-standard - // decimal separator we may encounter... - $stringValue = str_replace(',', '.', $stringValue); - - // ensure that number is really printed as float - return preg_match('/^-?[0-9]+$/', $stringValue) ? $stringValue . '.0' : $stringValue; - } - - protected function pScalar_EncapsedStringPart(Scalar\EncapsedStringPart $node) { - throw new \LogicException('Cannot directly print EncapsedStringPart'); - } - - // Assignments - - protected function pExpr_Assign(Expr\Assign $node) { - return $this->pInfixOp(Expr\Assign::class, $node->var, ' = ', $node->expr); - } - - protected function pExpr_AssignRef(Expr\AssignRef $node) { - return $this->pInfixOp(Expr\AssignRef::class, $node->var, ' =& ', $node->expr); - } - - protected function pExpr_AssignOp_Plus(AssignOp\Plus $node) { - return $this->pInfixOp(AssignOp\Plus::class, $node->var, ' += ', $node->expr); - } - - protected function pExpr_AssignOp_Minus(AssignOp\Minus $node) { - return $this->pInfixOp(AssignOp\Minus::class, $node->var, ' -= ', $node->expr); - } - - protected function pExpr_AssignOp_Mul(AssignOp\Mul $node) { - return $this->pInfixOp(AssignOp\Mul::class, $node->var, ' *= ', $node->expr); - } - - protected function pExpr_AssignOp_Div(AssignOp\Div $node) { - return $this->pInfixOp(AssignOp\Div::class, $node->var, ' /= ', $node->expr); - } - - protected function pExpr_AssignOp_Concat(AssignOp\Concat $node) { - return $this->pInfixOp(AssignOp\Concat::class, $node->var, ' .= ', $node->expr); - } - - protected function pExpr_AssignOp_Mod(AssignOp\Mod $node) { - return $this->pInfixOp(AssignOp\Mod::class, $node->var, ' %= ', $node->expr); - } - - protected function pExpr_AssignOp_BitwiseAnd(AssignOp\BitwiseAnd $node) { - return $this->pInfixOp(AssignOp\BitwiseAnd::class, $node->var, ' &= ', $node->expr); - } - - protected function pExpr_AssignOp_BitwiseOr(AssignOp\BitwiseOr $node) { - return $this->pInfixOp(AssignOp\BitwiseOr::class, $node->var, ' |= ', $node->expr); - } - - protected function pExpr_AssignOp_BitwiseXor(AssignOp\BitwiseXor $node) { - return $this->pInfixOp(AssignOp\BitwiseXor::class, $node->var, ' ^= ', $node->expr); - } - - protected function pExpr_AssignOp_ShiftLeft(AssignOp\ShiftLeft $node) { - return $this->pInfixOp(AssignOp\ShiftLeft::class, $node->var, ' <<= ', $node->expr); - } - - protected function pExpr_AssignOp_ShiftRight(AssignOp\ShiftRight $node) { - return $this->pInfixOp(AssignOp\ShiftRight::class, $node->var, ' >>= ', $node->expr); - } - - protected function pExpr_AssignOp_Pow(AssignOp\Pow $node) { - return $this->pInfixOp(AssignOp\Pow::class, $node->var, ' **= ', $node->expr); - } - - protected function pExpr_AssignOp_Coalesce(AssignOp\Coalesce $node) { - return $this->pInfixOp(AssignOp\Coalesce::class, $node->var, ' ??= ', $node->expr); - } - - // Binary expressions - - protected function pExpr_BinaryOp_Plus(BinaryOp\Plus $node) { - return $this->pInfixOp(BinaryOp\Plus::class, $node->left, ' + ', $node->right); - } - - protected function pExpr_BinaryOp_Minus(BinaryOp\Minus $node) { - return $this->pInfixOp(BinaryOp\Minus::class, $node->left, ' - ', $node->right); - } - - protected function pExpr_BinaryOp_Mul(BinaryOp\Mul $node) { - return $this->pInfixOp(BinaryOp\Mul::class, $node->left, ' * ', $node->right); - } - - protected function pExpr_BinaryOp_Div(BinaryOp\Div $node) { - return $this->pInfixOp(BinaryOp\Div::class, $node->left, ' / ', $node->right); - } - - protected function pExpr_BinaryOp_Concat(BinaryOp\Concat $node) { - return $this->pInfixOp(BinaryOp\Concat::class, $node->left, ' . ', $node->right); - } - - protected function pExpr_BinaryOp_Mod(BinaryOp\Mod $node) { - return $this->pInfixOp(BinaryOp\Mod::class, $node->left, ' % ', $node->right); - } - - protected function pExpr_BinaryOp_BooleanAnd(BinaryOp\BooleanAnd $node) { - return $this->pInfixOp(BinaryOp\BooleanAnd::class, $node->left, ' && ', $node->right); - } - - protected function pExpr_BinaryOp_BooleanOr(BinaryOp\BooleanOr $node) { - return $this->pInfixOp(BinaryOp\BooleanOr::class, $node->left, ' || ', $node->right); - } - - protected function pExpr_BinaryOp_BitwiseAnd(BinaryOp\BitwiseAnd $node) { - return $this->pInfixOp(BinaryOp\BitwiseAnd::class, $node->left, ' & ', $node->right); - } - - protected function pExpr_BinaryOp_BitwiseOr(BinaryOp\BitwiseOr $node) { - return $this->pInfixOp(BinaryOp\BitwiseOr::class, $node->left, ' | ', $node->right); - } - - protected function pExpr_BinaryOp_BitwiseXor(BinaryOp\BitwiseXor $node) { - return $this->pInfixOp(BinaryOp\BitwiseXor::class, $node->left, ' ^ ', $node->right); - } - - protected function pExpr_BinaryOp_ShiftLeft(BinaryOp\ShiftLeft $node) { - return $this->pInfixOp(BinaryOp\ShiftLeft::class, $node->left, ' << ', $node->right); - } - - protected function pExpr_BinaryOp_ShiftRight(BinaryOp\ShiftRight $node) { - return $this->pInfixOp(BinaryOp\ShiftRight::class, $node->left, ' >> ', $node->right); - } - - protected function pExpr_BinaryOp_Pow(BinaryOp\Pow $node) { - return $this->pInfixOp(BinaryOp\Pow::class, $node->left, ' ** ', $node->right); - } - - protected function pExpr_BinaryOp_LogicalAnd(BinaryOp\LogicalAnd $node) { - return $this->pInfixOp(BinaryOp\LogicalAnd::class, $node->left, ' and ', $node->right); - } - - protected function pExpr_BinaryOp_LogicalOr(BinaryOp\LogicalOr $node) { - return $this->pInfixOp(BinaryOp\LogicalOr::class, $node->left, ' or ', $node->right); - } - - protected function pExpr_BinaryOp_LogicalXor(BinaryOp\LogicalXor $node) { - return $this->pInfixOp(BinaryOp\LogicalXor::class, $node->left, ' xor ', $node->right); - } - - protected function pExpr_BinaryOp_Equal(BinaryOp\Equal $node) { - return $this->pInfixOp(BinaryOp\Equal::class, $node->left, ' == ', $node->right); - } - - protected function pExpr_BinaryOp_NotEqual(BinaryOp\NotEqual $node) { - return $this->pInfixOp(BinaryOp\NotEqual::class, $node->left, ' != ', $node->right); - } - - protected function pExpr_BinaryOp_Identical(BinaryOp\Identical $node) { - return $this->pInfixOp(BinaryOp\Identical::class, $node->left, ' === ', $node->right); - } - - protected function pExpr_BinaryOp_NotIdentical(BinaryOp\NotIdentical $node) { - return $this->pInfixOp(BinaryOp\NotIdentical::class, $node->left, ' !== ', $node->right); - } - - protected function pExpr_BinaryOp_Spaceship(BinaryOp\Spaceship $node) { - return $this->pInfixOp(BinaryOp\Spaceship::class, $node->left, ' <=> ', $node->right); - } - - protected function pExpr_BinaryOp_Greater(BinaryOp\Greater $node) { - return $this->pInfixOp(BinaryOp\Greater::class, $node->left, ' > ', $node->right); - } - - protected function pExpr_BinaryOp_GreaterOrEqual(BinaryOp\GreaterOrEqual $node) { - return $this->pInfixOp(BinaryOp\GreaterOrEqual::class, $node->left, ' >= ', $node->right); - } - - protected function pExpr_BinaryOp_Smaller(BinaryOp\Smaller $node) { - return $this->pInfixOp(BinaryOp\Smaller::class, $node->left, ' < ', $node->right); - } - - protected function pExpr_BinaryOp_SmallerOrEqual(BinaryOp\SmallerOrEqual $node) { - return $this->pInfixOp(BinaryOp\SmallerOrEqual::class, $node->left, ' <= ', $node->right); - } - - protected function pExpr_BinaryOp_Coalesce(BinaryOp\Coalesce $node) { - return $this->pInfixOp(BinaryOp\Coalesce::class, $node->left, ' ?? ', $node->right); - } - - protected function pExpr_Instanceof(Expr\Instanceof_ $node) { - return $this->pInfixOp(Expr\Instanceof_::class, $node->expr, ' instanceof ', $node->class); - } - - // Unary expressions - - protected function pExpr_BooleanNot(Expr\BooleanNot $node) { - return $this->pPrefixOp(Expr\BooleanNot::class, '!', $node->expr); - } - - protected function pExpr_BitwiseNot(Expr\BitwiseNot $node) { - return $this->pPrefixOp(Expr\BitwiseNot::class, '~', $node->expr); - } - - protected function pExpr_UnaryMinus(Expr\UnaryMinus $node) { - if ($node->expr instanceof Expr\UnaryMinus || $node->expr instanceof Expr\PreDec) { - // Enforce -(-$expr) instead of --$expr - return '-(' . $this->p($node->expr) . ')'; - } - return $this->pPrefixOp(Expr\UnaryMinus::class, '-', $node->expr); - } - - protected function pExpr_UnaryPlus(Expr\UnaryPlus $node) { - if ($node->expr instanceof Expr\UnaryPlus || $node->expr instanceof Expr\PreInc) { - // Enforce +(+$expr) instead of ++$expr - return '+(' . $this->p($node->expr) . ')'; - } - return $this->pPrefixOp(Expr\UnaryPlus::class, '+', $node->expr); - } - - protected function pExpr_PreInc(Expr\PreInc $node) { - return $this->pPrefixOp(Expr\PreInc::class, '++', $node->var); - } - - protected function pExpr_PreDec(Expr\PreDec $node) { - return $this->pPrefixOp(Expr\PreDec::class, '--', $node->var); - } - - protected function pExpr_PostInc(Expr\PostInc $node) { - return $this->pPostfixOp(Expr\PostInc::class, $node->var, '++'); - } - - protected function pExpr_PostDec(Expr\PostDec $node) { - return $this->pPostfixOp(Expr\PostDec::class, $node->var, '--'); - } - - protected function pExpr_ErrorSuppress(Expr\ErrorSuppress $node) { - return $this->pPrefixOp(Expr\ErrorSuppress::class, '@', $node->expr); - } - - protected function pExpr_YieldFrom(Expr\YieldFrom $node) { - return $this->pPrefixOp(Expr\YieldFrom::class, 'yield from ', $node->expr); - } - - protected function pExpr_Print(Expr\Print_ $node) { - return $this->pPrefixOp(Expr\Print_::class, 'print ', $node->expr); - } - - // Casts - - protected function pExpr_Cast_Int(Cast\Int_ $node) { - return $this->pPrefixOp(Cast\Int_::class, '(int) ', $node->expr); - } - - protected function pExpr_Cast_Double(Cast\Double $node) { - $kind = $node->getAttribute('kind', Cast\Double::KIND_DOUBLE); - if ($kind === Cast\Double::KIND_DOUBLE) { - $cast = '(double)'; - } elseif ($kind === Cast\Double::KIND_FLOAT) { - $cast = '(float)'; - } elseif ($kind === Cast\Double::KIND_REAL) { - $cast = '(real)'; - } - return $this->pPrefixOp(Cast\Double::class, $cast . ' ', $node->expr); - } - - protected function pExpr_Cast_String(Cast\String_ $node) { - return $this->pPrefixOp(Cast\String_::class, '(string) ', $node->expr); - } - - protected function pExpr_Cast_Array(Cast\Array_ $node) { - return $this->pPrefixOp(Cast\Array_::class, '(array) ', $node->expr); - } - - protected function pExpr_Cast_Object(Cast\Object_ $node) { - return $this->pPrefixOp(Cast\Object_::class, '(object) ', $node->expr); - } - - protected function pExpr_Cast_Bool(Cast\Bool_ $node) { - return $this->pPrefixOp(Cast\Bool_::class, '(bool) ', $node->expr); - } - - protected function pExpr_Cast_Unset(Cast\Unset_ $node) { - return $this->pPrefixOp(Cast\Unset_::class, '(unset) ', $node->expr); - } - - // Function calls and similar constructs - - protected function pExpr_FuncCall(Expr\FuncCall $node) { - return $this->pCallLhs($node->name) - . '(' . $this->pMaybeMultiline($node->args) . ')'; - } - - protected function pExpr_MethodCall(Expr\MethodCall $node) { - return $this->pDereferenceLhs($node->var) . '->' . $this->pObjectProperty($node->name) - . '(' . $this->pMaybeMultiline($node->args) . ')'; - } - - protected function pExpr_StaticCall(Expr\StaticCall $node) { - return $this->pDereferenceLhs($node->class) . '::' - . ($node->name instanceof Expr - ? ($node->name instanceof Expr\Variable - ? $this->p($node->name) - : '{' . $this->p($node->name) . '}') - : $node->name) - . '(' . $this->pMaybeMultiline($node->args) . ')'; - } - - protected function pExpr_Empty(Expr\Empty_ $node) { - return 'empty(' . $this->p($node->expr) . ')'; - } - - protected function pExpr_Isset(Expr\Isset_ $node) { - return 'isset(' . $this->pCommaSeparated($node->vars) . ')'; - } - - protected function pExpr_Eval(Expr\Eval_ $node) { - return 'eval(' . $this->p($node->expr) . ')'; - } - - protected function pExpr_Include(Expr\Include_ $node) { - static $map = [ - Expr\Include_::TYPE_INCLUDE => 'include', - Expr\Include_::TYPE_INCLUDE_ONCE => 'include_once', - Expr\Include_::TYPE_REQUIRE => 'require', - Expr\Include_::TYPE_REQUIRE_ONCE => 'require_once', - ]; - - return $map[$node->type] . ' ' . $this->p($node->expr); - } - - protected function pExpr_List(Expr\List_ $node) { - return 'list(' . $this->pCommaSeparated($node->items) . ')'; - } - - // Other - - protected function pExpr_Error(Expr\Error $node) { - throw new \LogicException('Cannot pretty-print AST with Error nodes'); - } - - protected function pExpr_Variable(Expr\Variable $node) { - if ($node->name instanceof Expr) { - return '${' . $this->p($node->name) . '}'; - } else { - return '$' . $node->name; - } - } - - protected function pExpr_Array(Expr\Array_ $node) { - $syntax = $node->getAttribute('kind', - $this->options['shortArraySyntax'] ? Expr\Array_::KIND_SHORT : Expr\Array_::KIND_LONG); - if ($syntax === Expr\Array_::KIND_SHORT) { - return '[' . $this->pMaybeMultiline($node->items, true) . ']'; - } else { - return 'array(' . $this->pMaybeMultiline($node->items, true) . ')'; - } - } - - protected function pExpr_ArrayItem(Expr\ArrayItem $node) { - return (null !== $node->key ? $this->p($node->key) . ' => ' : '') - . ($node->byRef ? '&' : '') - . ($node->unpack ? '...' : '') - . $this->p($node->value); - } - - protected function pExpr_ArrayDimFetch(Expr\ArrayDimFetch $node) { - return $this->pDereferenceLhs($node->var) - . '[' . (null !== $node->dim ? $this->p($node->dim) : '') . ']'; - } - - protected function pExpr_ConstFetch(Expr\ConstFetch $node) { - return $this->p($node->name); - } - - protected function pExpr_ClassConstFetch(Expr\ClassConstFetch $node) { - return $this->p($node->class) . '::' . $this->p($node->name); - } - - protected function pExpr_PropertyFetch(Expr\PropertyFetch $node) { - return $this->pDereferenceLhs($node->var) . '->' . $this->pObjectProperty($node->name); - } - - protected function pExpr_StaticPropertyFetch(Expr\StaticPropertyFetch $node) { - return $this->pDereferenceLhs($node->class) . '::$' . $this->pObjectProperty($node->name); - } - - protected function pExpr_ShellExec(Expr\ShellExec $node) { - return '`' . $this->pEncapsList($node->parts, '`') . '`'; - } - - protected function pExpr_Closure(Expr\Closure $node) { - return ($node->static ? 'static ' : '') - . 'function ' . ($node->byRef ? '&' : '') - . '(' . $this->pCommaSeparated($node->params) . ')' - . (!empty($node->uses) ? ' use(' . $this->pCommaSeparated($node->uses) . ')' : '') - . (null !== $node->returnType ? ' : ' . $this->p($node->returnType) : '') - . ' {' . $this->pStmts($node->stmts) . $this->nl . '}'; - } - - protected function pExpr_ArrowFunction(Expr\ArrowFunction $node) { - return ($node->static ? 'static ' : '') - . 'fn' . ($node->byRef ? '&' : '') - . '(' . $this->pCommaSeparated($node->params) . ')' - . (null !== $node->returnType ? ': ' . $this->p($node->returnType) : '') - . ' => ' - . $this->p($node->expr); - } - - protected function pExpr_ClosureUse(Expr\ClosureUse $node) { - return ($node->byRef ? '&' : '') . $this->p($node->var); - } - - protected function pExpr_New(Expr\New_ $node) { - if ($node->class instanceof Stmt\Class_) { - $args = $node->args ? '(' . $this->pMaybeMultiline($node->args) . ')' : ''; - return 'new ' . $this->pClassCommon($node->class, $args); - } - return 'new ' . $this->p($node->class) . '(' . $this->pMaybeMultiline($node->args) . ')'; - } - - protected function pExpr_Clone(Expr\Clone_ $node) { - return 'clone ' . $this->p($node->expr); - } - - protected function pExpr_Ternary(Expr\Ternary $node) { - // a bit of cheating: we treat the ternary as a binary op where the ?...: part is the operator. - // this is okay because the part between ? and : never needs parentheses. - return $this->pInfixOp(Expr\Ternary::class, - $node->cond, ' ?' . (null !== $node->if ? ' ' . $this->p($node->if) . ' ' : '') . ': ', $node->else - ); - } - - protected function pExpr_Exit(Expr\Exit_ $node) { - $kind = $node->getAttribute('kind', Expr\Exit_::KIND_DIE); - return ($kind === Expr\Exit_::KIND_EXIT ? 'exit' : 'die') - . (null !== $node->expr ? '(' . $this->p($node->expr) . ')' : ''); - } - - protected function pExpr_Yield(Expr\Yield_ $node) { - if ($node->value === null) { - return 'yield'; - } else { - // this is a bit ugly, but currently there is no way to detect whether the parentheses are necessary - return '(yield ' - . ($node->key !== null ? $this->p($node->key) . ' => ' : '') - . $this->p($node->value) - . ')'; - } - } - - // Declarations - - protected function pStmt_Namespace(Stmt\Namespace_ $node) { - if ($this->canUseSemicolonNamespaces) { - return 'namespace ' . $this->p($node->name) . ';' - . $this->nl . $this->pStmts($node->stmts, false); - } else { - return 'namespace' . (null !== $node->name ? ' ' . $this->p($node->name) : '') - . ' {' . $this->pStmts($node->stmts) . $this->nl . '}'; - } - } - - protected function pStmt_Use(Stmt\Use_ $node) { - return 'use ' . $this->pUseType($node->type) - . $this->pCommaSeparated($node->uses) . ';'; - } - - protected function pStmt_GroupUse(Stmt\GroupUse $node) { - return 'use ' . $this->pUseType($node->type) . $this->pName($node->prefix) - . '\{' . $this->pCommaSeparated($node->uses) . '};'; - } - - protected function pStmt_UseUse(Stmt\UseUse $node) { - return $this->pUseType($node->type) . $this->p($node->name) - . (null !== $node->alias ? ' as ' . $node->alias : ''); - } - - protected function pUseType($type) { - return $type === Stmt\Use_::TYPE_FUNCTION ? 'function ' - : ($type === Stmt\Use_::TYPE_CONSTANT ? 'const ' : ''); - } - - protected function pStmt_Interface(Stmt\Interface_ $node) { - return 'interface ' . $node->name - . (!empty($node->extends) ? ' extends ' . $this->pCommaSeparated($node->extends) : '') - . $this->nl . '{' . $this->pStmts($node->stmts) . $this->nl . '}'; - } - - protected function pStmt_Class(Stmt\Class_ $node) { - return $this->pClassCommon($node, ' ' . $node->name); - } - - protected function pStmt_Trait(Stmt\Trait_ $node) { - return 'trait ' . $node->name - . $this->nl . '{' . $this->pStmts($node->stmts) . $this->nl . '}'; - } - - protected function pStmt_TraitUse(Stmt\TraitUse $node) { - return 'use ' . $this->pCommaSeparated($node->traits) - . (empty($node->adaptations) - ? ';' - : ' {' . $this->pStmts($node->adaptations) . $this->nl . '}'); - } - - protected function pStmt_TraitUseAdaptation_Precedence(Stmt\TraitUseAdaptation\Precedence $node) { - return $this->p($node->trait) . '::' . $node->method - . ' insteadof ' . $this->pCommaSeparated($node->insteadof) . ';'; - } - - protected function pStmt_TraitUseAdaptation_Alias(Stmt\TraitUseAdaptation\Alias $node) { - return (null !== $node->trait ? $this->p($node->trait) . '::' : '') - . $node->method . ' as' - . (null !== $node->newModifier ? ' ' . rtrim($this->pModifiers($node->newModifier), ' ') : '') - . (null !== $node->newName ? ' ' . $node->newName : '') - . ';'; - } - - protected function pStmt_Property(Stmt\Property $node) { - return (0 === $node->flags ? 'var ' : $this->pModifiers($node->flags)) - . ($node->type ? $this->p($node->type) . ' ' : '') - . $this->pCommaSeparated($node->props) . ';'; - } - - protected function pStmt_PropertyProperty(Stmt\PropertyProperty $node) { - return '$' . $node->name - . (null !== $node->default ? ' = ' . $this->p($node->default) : ''); - } - - protected function pStmt_ClassMethod(Stmt\ClassMethod $node) { - return $this->pModifiers($node->flags) - . 'function ' . ($node->byRef ? '&' : '') . $node->name - . '(' . $this->pCommaSeparated($node->params) . ')' - . (null !== $node->returnType ? ' : ' . $this->p($node->returnType) : '') - . (null !== $node->stmts - ? $this->nl . '{' . $this->pStmts($node->stmts) . $this->nl . '}' - : ';'); - } - - protected function pStmt_ClassConst(Stmt\ClassConst $node) { - return $this->pModifiers($node->flags) - . 'const ' . $this->pCommaSeparated($node->consts) . ';'; - } - - protected function pStmt_Function(Stmt\Function_ $node) { - return 'function ' . ($node->byRef ? '&' : '') . $node->name - . '(' . $this->pCommaSeparated($node->params) . ')' - . (null !== $node->returnType ? ' : ' . $this->p($node->returnType) : '') - . $this->nl . '{' . $this->pStmts($node->stmts) . $this->nl . '}'; - } - - protected function pStmt_Const(Stmt\Const_ $node) { - return 'const ' . $this->pCommaSeparated($node->consts) . ';'; - } - - protected function pStmt_Declare(Stmt\Declare_ $node) { - return 'declare (' . $this->pCommaSeparated($node->declares) . ')' - . (null !== $node->stmts ? ' {' . $this->pStmts($node->stmts) . $this->nl . '}' : ';'); - } - - protected function pStmt_DeclareDeclare(Stmt\DeclareDeclare $node) { - return $node->key . '=' . $this->p($node->value); - } - - // Control flow - - protected function pStmt_If(Stmt\If_ $node) { - return 'if (' . $this->p($node->cond) . ') {' - . $this->pStmts($node->stmts) . $this->nl . '}' - . ($node->elseifs ? ' ' . $this->pImplode($node->elseifs, ' ') : '') - . (null !== $node->else ? ' ' . $this->p($node->else) : ''); - } - - protected function pStmt_ElseIf(Stmt\ElseIf_ $node) { - return 'elseif (' . $this->p($node->cond) . ') {' - . $this->pStmts($node->stmts) . $this->nl . '}'; - } - - protected function pStmt_Else(Stmt\Else_ $node) { - return 'else {' . $this->pStmts($node->stmts) . $this->nl . '}'; - } - - protected function pStmt_For(Stmt\For_ $node) { - return 'for (' - . $this->pCommaSeparated($node->init) . ';' . (!empty($node->cond) ? ' ' : '') - . $this->pCommaSeparated($node->cond) . ';' . (!empty($node->loop) ? ' ' : '') - . $this->pCommaSeparated($node->loop) - . ') {' . $this->pStmts($node->stmts) . $this->nl . '}'; - } - - protected function pStmt_Foreach(Stmt\Foreach_ $node) { - return 'foreach (' . $this->p($node->expr) . ' as ' - . (null !== $node->keyVar ? $this->p($node->keyVar) . ' => ' : '') - . ($node->byRef ? '&' : '') . $this->p($node->valueVar) . ') {' - . $this->pStmts($node->stmts) . $this->nl . '}'; - } - - protected function pStmt_While(Stmt\While_ $node) { - return 'while (' . $this->p($node->cond) . ') {' - . $this->pStmts($node->stmts) . $this->nl . '}'; - } - - protected function pStmt_Do(Stmt\Do_ $node) { - return 'do {' . $this->pStmts($node->stmts) . $this->nl - . '} while (' . $this->p($node->cond) . ');'; - } - - protected function pStmt_Switch(Stmt\Switch_ $node) { - return 'switch (' . $this->p($node->cond) . ') {' - . $this->pStmts($node->cases) . $this->nl . '}'; - } - - protected function pStmt_Case(Stmt\Case_ $node) { - return (null !== $node->cond ? 'case ' . $this->p($node->cond) : 'default') . ':' - . $this->pStmts($node->stmts); - } - - protected function pStmt_TryCatch(Stmt\TryCatch $node) { - return 'try {' . $this->pStmts($node->stmts) . $this->nl . '}' - . ($node->catches ? ' ' . $this->pImplode($node->catches, ' ') : '') - . ($node->finally !== null ? ' ' . $this->p($node->finally) : ''); - } - - protected function pStmt_Catch(Stmt\Catch_ $node) { - return 'catch (' . $this->pImplode($node->types, '|') . ' ' - . $this->p($node->var) - . ') {' . $this->pStmts($node->stmts) . $this->nl . '}'; - } - - protected function pStmt_Finally(Stmt\Finally_ $node) { - return 'finally {' . $this->pStmts($node->stmts) . $this->nl . '}'; - } - - protected function pStmt_Break(Stmt\Break_ $node) { - return 'break' . ($node->num !== null ? ' ' . $this->p($node->num) : '') . ';'; - } - - protected function pStmt_Continue(Stmt\Continue_ $node) { - return 'continue' . ($node->num !== null ? ' ' . $this->p($node->num) : '') . ';'; - } - - protected function pStmt_Return(Stmt\Return_ $node) { - return 'return' . (null !== $node->expr ? ' ' . $this->p($node->expr) : '') . ';'; - } - - protected function pStmt_Throw(Stmt\Throw_ $node) { - return 'throw ' . $this->p($node->expr) . ';'; - } - - protected function pStmt_Label(Stmt\Label $node) { - return $node->name . ':'; - } - - protected function pStmt_Goto(Stmt\Goto_ $node) { - return 'goto ' . $node->name . ';'; - } - - // Other - - protected function pStmt_Expression(Stmt\Expression $node) { - return $this->p($node->expr) . ';'; - } - - protected function pStmt_Echo(Stmt\Echo_ $node) { - return 'echo ' . $this->pCommaSeparated($node->exprs) . ';'; - } - - protected function pStmt_Static(Stmt\Static_ $node) { - return 'static ' . $this->pCommaSeparated($node->vars) . ';'; - } - - protected function pStmt_Global(Stmt\Global_ $node) { - return 'global ' . $this->pCommaSeparated($node->vars) . ';'; - } - - protected function pStmt_StaticVar(Stmt\StaticVar $node) { - return $this->p($node->var) - . (null !== $node->default ? ' = ' . $this->p($node->default) : ''); - } - - protected function pStmt_Unset(Stmt\Unset_ $node) { - return 'unset(' . $this->pCommaSeparated($node->vars) . ');'; - } - - protected function pStmt_InlineHTML(Stmt\InlineHTML $node) { - $newline = $node->getAttribute('hasLeadingNewline', true) ? "\n" : ''; - return '?>' . $newline . $node->value . 'remaining; - } - - protected function pStmt_Nop(Stmt\Nop $node) { - return ''; - } - - // Helpers - - protected function pClassCommon(Stmt\Class_ $node, $afterClassToken) { - return $this->pModifiers($node->flags) - . 'class' . $afterClassToken - . (null !== $node->extends ? ' extends ' . $this->p($node->extends) : '') - . (!empty($node->implements) ? ' implements ' . $this->pCommaSeparated($node->implements) : '') - . $this->nl . '{' . $this->pStmts($node->stmts) . $this->nl . '}'; - } - - protected function pObjectProperty($node) { - if ($node instanceof Expr) { - return '{' . $this->p($node) . '}'; - } else { - return $node; - } - } - - protected function pEncapsList(array $encapsList, $quote) { - $return = ''; - foreach ($encapsList as $element) { - if ($element instanceof Scalar\EncapsedStringPart) { - $return .= $this->escapeString($element->value, $quote); - } else { - $return .= '{' . $this->p($element) . '}'; - } - } - - return $return; - } - - protected function pSingleQuotedString(string $string) { - return '\'' . addcslashes($string, '\'\\') . '\''; - } - - protected function escapeString($string, $quote) { - if (null === $quote) { - // For doc strings, don't escape newlines - $escaped = addcslashes($string, "\t\f\v$\\"); - } else { - $escaped = addcslashes($string, "\n\r\t\f\v$" . $quote . "\\"); - } - - // Escape other control characters - return preg_replace_callback('/([\0-\10\16-\37])(?=([0-7]?))/', function ($matches) { - $oct = decoct(ord($matches[1])); - if ($matches[2] !== '') { - // If there is a trailing digit, use the full three character form - return '\\' . str_pad($oct, 3, '0', \STR_PAD_LEFT); - } - return '\\' . $oct; - }, $escaped); - } - - protected function containsEndLabel($string, $label, $atStart = true, $atEnd = true) { - $start = $atStart ? '(?:^|[\r\n])' : '[\r\n]'; - $end = $atEnd ? '(?:$|[;\r\n])' : '[;\r\n]'; - return false !== strpos($string, $label) - && preg_match('/' . $start . $label . $end . '/', $string); - } - - protected function encapsedContainsEndLabel(array $parts, $label) { - foreach ($parts as $i => $part) { - $atStart = $i === 0; - $atEnd = $i === count($parts) - 1; - if ($part instanceof Scalar\EncapsedStringPart - && $this->containsEndLabel($part->value, $label, $atStart, $atEnd) - ) { - return true; - } - } - return false; - } - - protected function pDereferenceLhs(Node $node) { - if (!$this->dereferenceLhsRequiresParens($node)) { - return $this->p($node); - } else { - return '(' . $this->p($node) . ')'; - } - } - - protected function pCallLhs(Node $node) { - if (!$this->callLhsRequiresParens($node)) { - return $this->p($node); - } else { - return '(' . $this->p($node) . ')'; - } - } - - /** - * @param Node[] $nodes - * @return bool - */ - private function hasNodeWithComments(array $nodes) { - foreach ($nodes as $node) { - if ($node && $node->getComments()) { - return true; - } - } - return false; - } - - private function pMaybeMultiline(array $nodes, $trailingComma = false) { - if (!$this->hasNodeWithComments($nodes)) { - return $this->pCommaSeparated($nodes); - } else { - return $this->pCommaSeparatedMultiline($nodes, $trailingComma) . $this->nl; - } - } -} diff --git a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/PrettyPrinterAbstract.php b/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/PrettyPrinterAbstract.php deleted file mode 100644 index d554d6c..0000000 --- a/paragonik-backend/vendor/nikic/php-parser/lib/PhpParser/PrettyPrinterAbstract.php +++ /dev/null @@ -1,1432 +0,0 @@ - [ 0, 1], - Expr\BitwiseNot::class => [ 10, 1], - Expr\PreInc::class => [ 10, 1], - Expr\PreDec::class => [ 10, 1], - Expr\PostInc::class => [ 10, -1], - Expr\PostDec::class => [ 10, -1], - Expr\UnaryPlus::class => [ 10, 1], - Expr\UnaryMinus::class => [ 10, 1], - Cast\Int_::class => [ 10, 1], - Cast\Double::class => [ 10, 1], - Cast\String_::class => [ 10, 1], - Cast\Array_::class => [ 10, 1], - Cast\Object_::class => [ 10, 1], - Cast\Bool_::class => [ 10, 1], - Cast\Unset_::class => [ 10, 1], - Expr\ErrorSuppress::class => [ 10, 1], - Expr\Instanceof_::class => [ 20, 0], - Expr\BooleanNot::class => [ 30, 1], - BinaryOp\Mul::class => [ 40, -1], - BinaryOp\Div::class => [ 40, -1], - BinaryOp\Mod::class => [ 40, -1], - BinaryOp\Plus::class => [ 50, -1], - BinaryOp\Minus::class => [ 50, -1], - BinaryOp\Concat::class => [ 50, -1], - BinaryOp\ShiftLeft::class => [ 60, -1], - BinaryOp\ShiftRight::class => [ 60, -1], - BinaryOp\Smaller::class => [ 70, 0], - BinaryOp\SmallerOrEqual::class => [ 70, 0], - BinaryOp\Greater::class => [ 70, 0], - BinaryOp\GreaterOrEqual::class => [ 70, 0], - BinaryOp\Equal::class => [ 80, 0], - BinaryOp\NotEqual::class => [ 80, 0], - BinaryOp\Identical::class => [ 80, 0], - BinaryOp\NotIdentical::class => [ 80, 0], - BinaryOp\Spaceship::class => [ 80, 0], - BinaryOp\BitwiseAnd::class => [ 90, -1], - BinaryOp\BitwiseXor::class => [100, -1], - BinaryOp\BitwiseOr::class => [110, -1], - BinaryOp\BooleanAnd::class => [120, -1], - BinaryOp\BooleanOr::class => [130, -1], - BinaryOp\Coalesce::class => [140, 1], - Expr\Ternary::class => [150, -1], - // parser uses %left for assignments, but they really behave as %right - Expr\Assign::class => [160, 1], - Expr\AssignRef::class => [160, 1], - AssignOp\Plus::class => [160, 1], - AssignOp\Minus::class => [160, 1], - AssignOp\Mul::class => [160, 1], - AssignOp\Div::class => [160, 1], - AssignOp\Concat::class => [160, 1], - AssignOp\Mod::class => [160, 1], - AssignOp\BitwiseAnd::class => [160, 1], - AssignOp\BitwiseOr::class => [160, 1], - AssignOp\BitwiseXor::class => [160, 1], - AssignOp\ShiftLeft::class => [160, 1], - AssignOp\ShiftRight::class => [160, 1], - AssignOp\Pow::class => [160, 1], - AssignOp\Coalesce::class => [160, 1], - Expr\YieldFrom::class => [165, 1], - Expr\Print_::class => [168, 1], - BinaryOp\LogicalAnd::class => [170, -1], - BinaryOp\LogicalXor::class => [180, -1], - BinaryOp\LogicalOr::class => [190, -1], - Expr\Include_::class => [200, -1], - ]; - - /** @var int Current indentation level. */ - protected $indentLevel; - /** @var string Newline including current indentation. */ - protected $nl; - /** @var string Token placed at end of doc string to ensure it is followed by a newline. */ - protected $docStringEndToken; - /** @var bool Whether semicolon namespaces can be used (i.e. no global namespace is used) */ - protected $canUseSemicolonNamespaces; - /** @var array Pretty printer options */ - protected $options; - - /** @var TokenStream Original tokens for use in format-preserving pretty print */ - protected $origTokens; - /** @var Internal\Differ Differ for node lists */ - protected $nodeListDiffer; - /** @var bool[] Map determining whether a certain character is a label character */ - protected $labelCharMap; - /** - * @var int[][] Map from token classes and subnode names to FIXUP_* constants. This is used - * during format-preserving prints to place additional parens/braces if necessary. - */ - protected $fixupMap; - /** - * @var int[][] Map from "{$node->getType()}->{$subNode}" to ['left' => $l, 'right' => $r], - * where $l and $r specify the token type that needs to be stripped when removing - * this node. - */ - protected $removalMap; - /** - * @var mixed[] Map from "{$node->getType()}->{$subNode}" to [$find, $beforeToken, $extraLeft, $extraRight]. - * $find is an optional token after which the insertion occurs. $extraLeft/Right - * are optionally added before/after the main insertions. - */ - protected $insertionMap; - /** - * @var string[] Map From "{$node->getType()}->{$subNode}" to string that should be inserted - * between elements of this list subnode. - */ - protected $listInsertionMap; - protected $emptyListInsertionMap; - /** @var int[] Map from "{$node->getType()}->{$subNode}" to token before which the modifiers - * should be reprinted. */ - protected $modifierChangeMap; - - /** - * Creates a pretty printer instance using the given options. - * - * Supported options: - * * bool $shortArraySyntax = false: Whether to use [] instead of array() as the default array - * syntax, if the node does not specify a format. - * - * @param array $options Dictionary of formatting options - */ - public function __construct(array $options = []) { - $this->docStringEndToken = '_DOC_STRING_END_' . mt_rand(); - - $defaultOptions = ['shortArraySyntax' => false]; - $this->options = $options + $defaultOptions; - } - - /** - * Reset pretty printing state. - */ - protected function resetState() { - $this->indentLevel = 0; - $this->nl = "\n"; - $this->origTokens = null; - } - - /** - * Set indentation level - * - * @param int $level Level in number of spaces - */ - protected function setIndentLevel(int $level) { - $this->indentLevel = $level; - $this->nl = "\n" . \str_repeat(' ', $level); - } - - /** - * Increase indentation level. - */ - protected function indent() { - $this->indentLevel += 4; - $this->nl .= ' '; - } - - /** - * Decrease indentation level. - */ - protected function outdent() { - assert($this->indentLevel >= 4); - $this->indentLevel -= 4; - $this->nl = "\n" . str_repeat(' ', $this->indentLevel); - } - - /** - * Pretty prints an array of statements. - * - * @param Node[] $stmts Array of statements - * - * @return string Pretty printed statements - */ - public function prettyPrint(array $stmts) : string { - $this->resetState(); - $this->preprocessNodes($stmts); - - return ltrim($this->handleMagicTokens($this->pStmts($stmts, false))); - } - - /** - * Pretty prints an expression. - * - * @param Expr $node Expression node - * - * @return string Pretty printed node - */ - public function prettyPrintExpr(Expr $node) : string { - $this->resetState(); - return $this->handleMagicTokens($this->p($node)); - } - - /** - * Pretty prints a file of statements (includes the opening prettyPrint($stmts); - - if ($stmts[0] instanceof Stmt\InlineHTML) { - $p = preg_replace('/^<\?php\s+\?>\n?/', '', $p); - } - if ($stmts[count($stmts) - 1] instanceof Stmt\InlineHTML) { - $p = preg_replace('/<\?php$/', '', rtrim($p)); - } - - return $p; - } - - /** - * Preprocesses the top-level nodes to initialize pretty printer state. - * - * @param Node[] $nodes Array of nodes - */ - protected function preprocessNodes(array $nodes) { - /* We can use semicolon-namespaces unless there is a global namespace declaration */ - $this->canUseSemicolonNamespaces = true; - foreach ($nodes as $node) { - if ($node instanceof Stmt\Namespace_ && null === $node->name) { - $this->canUseSemicolonNamespaces = false; - break; - } - } - } - - /** - * Handles (and removes) no-indent and doc-string-end tokens. - * - * @param string $str - * @return string - */ - protected function handleMagicTokens(string $str) : string { - // Replace doc-string-end tokens with nothing or a newline - $str = str_replace($this->docStringEndToken . ";\n", ";\n", $str); - $str = str_replace($this->docStringEndToken, "\n", $str); - - return $str; - } - - /** - * Pretty prints an array of nodes (statements) and indents them optionally. - * - * @param Node[] $nodes Array of nodes - * @param bool $indent Whether to indent the printed nodes - * - * @return string Pretty printed statements - */ - protected function pStmts(array $nodes, bool $indent = true) : string { - if ($indent) { - $this->indent(); - } - - $result = ''; - foreach ($nodes as $node) { - $comments = $node->getComments(); - if ($comments) { - $result .= $this->nl . $this->pComments($comments); - if ($node instanceof Stmt\Nop) { - continue; - } - } - - $result .= $this->nl . $this->p($node); - } - - if ($indent) { - $this->outdent(); - } - - return $result; - } - - /** - * Pretty-print an infix operation while taking precedence into account. - * - * @param string $class Node class of operator - * @param Node $leftNode Left-hand side node - * @param string $operatorString String representation of the operator - * @param Node $rightNode Right-hand side node - * - * @return string Pretty printed infix operation - */ - protected function pInfixOp(string $class, Node $leftNode, string $operatorString, Node $rightNode) : string { - list($precedence, $associativity) = $this->precedenceMap[$class]; - - return $this->pPrec($leftNode, $precedence, $associativity, -1) - . $operatorString - . $this->pPrec($rightNode, $precedence, $associativity, 1); - } - - /** - * Pretty-print a prefix operation while taking precedence into account. - * - * @param string $class Node class of operator - * @param string $operatorString String representation of the operator - * @param Node $node Node - * - * @return string Pretty printed prefix operation - */ - protected function pPrefixOp(string $class, string $operatorString, Node $node) : string { - list($precedence, $associativity) = $this->precedenceMap[$class]; - return $operatorString . $this->pPrec($node, $precedence, $associativity, 1); - } - - /** - * Pretty-print a postfix operation while taking precedence into account. - * - * @param string $class Node class of operator - * @param string $operatorString String representation of the operator - * @param Node $node Node - * - * @return string Pretty printed postfix operation - */ - protected function pPostfixOp(string $class, Node $node, string $operatorString) : string { - list($precedence, $associativity) = $this->precedenceMap[$class]; - return $this->pPrec($node, $precedence, $associativity, -1) . $operatorString; - } - - /** - * Prints an expression node with the least amount of parentheses necessary to preserve the meaning. - * - * @param Node $node Node to pretty print - * @param int $parentPrecedence Precedence of the parent operator - * @param int $parentAssociativity Associativity of parent operator - * (-1 is left, 0 is nonassoc, 1 is right) - * @param int $childPosition Position of the node relative to the operator - * (-1 is left, 1 is right) - * - * @return string The pretty printed node - */ - protected function pPrec(Node $node, int $parentPrecedence, int $parentAssociativity, int $childPosition) : string { - $class = \get_class($node); - if (isset($this->precedenceMap[$class])) { - $childPrecedence = $this->precedenceMap[$class][0]; - if ($childPrecedence > $parentPrecedence - || ($parentPrecedence === $childPrecedence && $parentAssociativity !== $childPosition) - ) { - return '(' . $this->p($node) . ')'; - } - } - - return $this->p($node); - } - - /** - * Pretty prints an array of nodes and implodes the printed values. - * - * @param Node[] $nodes Array of Nodes to be printed - * @param string $glue Character to implode with - * - * @return string Imploded pretty printed nodes - */ - protected function pImplode(array $nodes, string $glue = '') : string { - $pNodes = []; - foreach ($nodes as $node) { - if (null === $node) { - $pNodes[] = ''; - } else { - $pNodes[] = $this->p($node); - } - } - - return implode($glue, $pNodes); - } - - /** - * Pretty prints an array of nodes and implodes the printed values with commas. - * - * @param Node[] $nodes Array of Nodes to be printed - * - * @return string Comma separated pretty printed nodes - */ - protected function pCommaSeparated(array $nodes) : string { - return $this->pImplode($nodes, ', '); - } - - /** - * Pretty prints a comma-separated list of nodes in multiline style, including comments. - * - * The result includes a leading newline and one level of indentation (same as pStmts). - * - * @param Node[] $nodes Array of Nodes to be printed - * @param bool $trailingComma Whether to use a trailing comma - * - * @return string Comma separated pretty printed nodes in multiline style - */ - protected function pCommaSeparatedMultiline(array $nodes, bool $trailingComma) : string { - $this->indent(); - - $result = ''; - $lastIdx = count($nodes) - 1; - foreach ($nodes as $idx => $node) { - if ($node !== null) { - $comments = $node->getComments(); - if ($comments) { - $result .= $this->nl . $this->pComments($comments); - } - - $result .= $this->nl . $this->p($node); - } else { - $result .= $this->nl; - } - if ($trailingComma || $idx !== $lastIdx) { - $result .= ','; - } - } - - $this->outdent(); - return $result; - } - - /** - * Prints reformatted text of the passed comments. - * - * @param Comment[] $comments List of comments - * - * @return string Reformatted text of comments - */ - protected function pComments(array $comments) : string { - $formattedComments = []; - - foreach ($comments as $comment) { - $formattedComments[] = str_replace("\n", $this->nl, $comment->getReformattedText()); - } - - return implode($this->nl, $formattedComments); - } - - /** - * Perform a format-preserving pretty print of an AST. - * - * The format preservation is best effort. For some changes to the AST the formatting will not - * be preserved (at least not locally). - * - * In order to use this method a number of prerequisites must be satisfied: - * * The startTokenPos and endTokenPos attributes in the lexer must be enabled. - * * The CloningVisitor must be run on the AST prior to modification. - * * The original tokens must be provided, using the getTokens() method on the lexer. - * - * @param Node[] $stmts Modified AST with links to original AST - * @param Node[] $origStmts Original AST with token offset information - * @param array $origTokens Tokens of the original code - * - * @return string - */ - public function printFormatPreserving(array $stmts, array $origStmts, array $origTokens) : string { - $this->initializeNodeListDiffer(); - $this->initializeLabelCharMap(); - $this->initializeFixupMap(); - $this->initializeRemovalMap(); - $this->initializeInsertionMap(); - $this->initializeListInsertionMap(); - $this->initializeEmptyListInsertionMap(); - $this->initializeModifierChangeMap(); - - $this->resetState(); - $this->origTokens = new TokenStream($origTokens); - - $this->preprocessNodes($stmts); - - $pos = 0; - $result = $this->pArray($stmts, $origStmts, $pos, 0, 'File', 'stmts', null); - if (null !== $result) { - $result .= $this->origTokens->getTokenCode($pos, count($origTokens), 0); - } else { - // Fallback - // TODO Add pStmts($stmts, false); - } - - return ltrim($this->handleMagicTokens($result)); - } - - protected function pFallback(Node $node) { - return $this->{'p' . $node->getType()}($node); - } - - /** - * Pretty prints a node. - * - * This method also handles formatting preservation for nodes. - * - * @param Node $node Node to be pretty printed - * @param bool $parentFormatPreserved Whether parent node has preserved formatting - * - * @return string Pretty printed node - */ - protected function p(Node $node, $parentFormatPreserved = false) : string { - // No orig tokens means this is a normal pretty print without preservation of formatting - if (!$this->origTokens) { - return $this->{'p' . $node->getType()}($node); - } - - /** @var Node $origNode */ - $origNode = $node->getAttribute('origNode'); - if (null === $origNode) { - return $this->pFallback($node); - } - - $class = \get_class($node); - \assert($class === \get_class($origNode)); - - $startPos = $origNode->getStartTokenPos(); - $endPos = $origNode->getEndTokenPos(); - \assert($startPos >= 0 && $endPos >= 0); - - $fallbackNode = $node; - if ($node instanceof Expr\New_ && $node->class instanceof Stmt\Class_) { - // Normalize node structure of anonymous classes - $node = PrintableNewAnonClassNode::fromNewNode($node); - $origNode = PrintableNewAnonClassNode::fromNewNode($origNode); - } - - // InlineHTML node does not contain closing and opening PHP tags. If the parent formatting - // is not preserved, then we need to use the fallback code to make sure the tags are - // printed. - if ($node instanceof Stmt\InlineHTML && !$parentFormatPreserved) { - return $this->pFallback($fallbackNode); - } - - $indentAdjustment = $this->indentLevel - $this->origTokens->getIndentationBefore($startPos); - - $type = $node->getType(); - $fixupInfo = $this->fixupMap[$class] ?? null; - - $result = ''; - $pos = $startPos; - foreach ($node->getSubNodeNames() as $subNodeName) { - $subNode = $node->$subNodeName; - $origSubNode = $origNode->$subNodeName; - - if ((!$subNode instanceof Node && $subNode !== null) - || (!$origSubNode instanceof Node && $origSubNode !== null) - ) { - if ($subNode === $origSubNode) { - // Unchanged, can reuse old code - continue; - } - - if (is_array($subNode) && is_array($origSubNode)) { - // Array subnode changed, we might be able to reconstruct it - $listResult = $this->pArray( - $subNode, $origSubNode, $pos, $indentAdjustment, $type, $subNodeName, - $fixupInfo[$subNodeName] ?? null - ); - if (null === $listResult) { - return $this->pFallback($fallbackNode); - } - - $result .= $listResult; - continue; - } - - if (is_int($subNode) && is_int($origSubNode)) { - // Check if this is a modifier change - $key = $type . '->' . $subNodeName; - if (!isset($this->modifierChangeMap[$key])) { - return $this->pFallback($fallbackNode); - } - - $findToken = $this->modifierChangeMap[$key]; - $result .= $this->pModifiers($subNode); - $pos = $this->origTokens->findRight($pos, $findToken); - continue; - } - - // If a non-node, non-array subnode changed, we don't be able to do a partial - // reconstructions, as we don't have enough offset information. Pretty print the - // whole node instead. - return $this->pFallback($fallbackNode); - } - - $extraLeft = ''; - $extraRight = ''; - if ($origSubNode !== null) { - $subStartPos = $origSubNode->getStartTokenPos(); - $subEndPos = $origSubNode->getEndTokenPos(); - \assert($subStartPos >= 0 && $subEndPos >= 0); - } else { - if ($subNode === null) { - // Both null, nothing to do - continue; - } - - // A node has been inserted, check if we have insertion information for it - $key = $type . '->' . $subNodeName; - if (!isset($this->insertionMap[$key])) { - return $this->pFallback($fallbackNode); - } - - list($findToken, $beforeToken, $extraLeft, $extraRight) = $this->insertionMap[$key]; - if (null !== $findToken) { - $subStartPos = $this->origTokens->findRight($pos, $findToken) - + (int) !$beforeToken; - } else { - $subStartPos = $pos; - } - - if (null === $extraLeft && null !== $extraRight) { - // If inserting on the right only, skipping whitespace looks better - $subStartPos = $this->origTokens->skipRightWhitespace($subStartPos); - } - $subEndPos = $subStartPos - 1; - } - - if (null === $subNode) { - // A node has been removed, check if we have removal information for it - $key = $type . '->' . $subNodeName; - if (!isset($this->removalMap[$key])) { - return $this->pFallback($fallbackNode); - } - - // Adjust positions to account for additional tokens that must be skipped - $removalInfo = $this->removalMap[$key]; - if (isset($removalInfo['left'])) { - $subStartPos = $this->origTokens->skipLeft($subStartPos - 1, $removalInfo['left']) + 1; - } - if (isset($removalInfo['right'])) { - $subEndPos = $this->origTokens->skipRight($subEndPos + 1, $removalInfo['right']) - 1; - } - } - - $result .= $this->origTokens->getTokenCode($pos, $subStartPos, $indentAdjustment); - - if (null !== $subNode) { - $result .= $extraLeft; - - $origIndentLevel = $this->indentLevel; - $this->setIndentLevel($this->origTokens->getIndentationBefore($subStartPos) + $indentAdjustment); - - // If it's the same node that was previously in this position, it certainly doesn't - // need fixup. It's important to check this here, because our fixup checks are more - // conservative than strictly necessary. - if (isset($fixupInfo[$subNodeName]) - && $subNode->getAttribute('origNode') !== $origSubNode - ) { - $fixup = $fixupInfo[$subNodeName]; - $res = $this->pFixup($fixup, $subNode, $class, $subStartPos, $subEndPos); - } else { - $res = $this->p($subNode, true); - } - - $this->safeAppend($result, $res); - $this->setIndentLevel($origIndentLevel); - - $result .= $extraRight; - } - - $pos = $subEndPos + 1; - } - - $result .= $this->origTokens->getTokenCode($pos, $endPos + 1, $indentAdjustment); - return $result; - } - - /** - * Perform a format-preserving pretty print of an array. - * - * @param array $nodes New nodes - * @param array $origNodes Original nodes - * @param int $pos Current token position (updated by reference) - * @param int $indentAdjustment Adjustment for indentation - * @param string $parentNodeType Type of the containing node. - * @param string $subNodeName Name of array subnode. - * @param null|int $fixup Fixup information for array item nodes - * - * @return null|string Result of pretty print or null if cannot preserve formatting - */ - protected function pArray( - array $nodes, array $origNodes, int &$pos, int $indentAdjustment, - string $parentNodeType, string $subNodeName, $fixup - ) { - $diff = $this->nodeListDiffer->diffWithReplacements($origNodes, $nodes); - - $mapKey = $parentNodeType . '->' . $subNodeName; - $insertStr = $this->listInsertionMap[$mapKey] ?? null; - - $beforeFirstKeepOrReplace = true; - $delayedAdd = []; - $lastElemIndentLevel = $this->indentLevel; - - $insertNewline = false; - if ($insertStr === "\n") { - $insertStr = ''; - $insertNewline = true; - } - - if ($subNodeName === 'stmts' && \count($origNodes) === 1 && \count($nodes) !== 1) { - $startPos = $origNodes[0]->getStartTokenPos(); - $endPos = $origNodes[0]->getEndTokenPos(); - \assert($startPos >= 0 && $endPos >= 0); - if (!$this->origTokens->haveBraces($startPos, $endPos)) { - // This was a single statement without braces, but either additional statements - // have been added, or the single statement has been removed. This requires the - // addition of braces. For now fall back. - // TODO: Try to preserve formatting - return null; - } - } - - $result = ''; - foreach ($diff as $i => $diffElem) { - $diffType = $diffElem->type; - /** @var Node|null $arrItem */ - $arrItem = $diffElem->new; - /** @var Node|null $origArrItem */ - $origArrItem = $diffElem->old; - - if ($diffType === DiffElem::TYPE_KEEP || $diffType === DiffElem::TYPE_REPLACE) { - $beforeFirstKeepOrReplace = false; - - if ($origArrItem === null || $arrItem === null) { - // We can only handle the case where both are null - if ($origArrItem === $arrItem) { - continue; - } - return null; - } - - if (!$arrItem instanceof Node || !$origArrItem instanceof Node) { - // We can only deal with nodes. This can occur for Names, which use string arrays. - return null; - } - - $itemStartPos = $origArrItem->getStartTokenPos(); - $itemEndPos = $origArrItem->getEndTokenPos(); - \assert($itemStartPos >= 0 && $itemEndPos >= 0); - - if ($itemEndPos < $itemStartPos) { - // End can be before start for Nop nodes, because offsets refer to non-whitespace - // locations, which for an "empty" node might result in an inverted order. - assert($origArrItem instanceof Stmt\Nop); - continue; - } - - $origIndentLevel = $this->indentLevel; - $lastElemIndentLevel = $this->origTokens->getIndentationBefore($itemStartPos) + $indentAdjustment; - $this->setIndentLevel($lastElemIndentLevel); - - $comments = $arrItem->getComments(); - $origComments = $origArrItem->getComments(); - $commentStartPos = $origComments ? $origComments[0]->getTokenPos() : $itemStartPos; - \assert($commentStartPos >= 0); - - $commentsChanged = $comments !== $origComments; - if ($commentsChanged) { - // Remove old comments - $itemStartPos = $commentStartPos; - } - - if (!empty($delayedAdd)) { - $result .= $this->origTokens->getTokenCode( - $pos, $commentStartPos, $indentAdjustment); - - /** @var Node $delayedAddNode */ - foreach ($delayedAdd as $delayedAddNode) { - if ($insertNewline) { - $delayedAddComments = $delayedAddNode->getComments(); - if ($delayedAddComments) { - $result .= $this->pComments($delayedAddComments) . $this->nl; - } - } - - $this->safeAppend($result, $this->p($delayedAddNode, true)); - - if ($insertNewline) { - $result .= $insertStr . $this->nl; - } else { - $result .= $insertStr; - } - } - - $result .= $this->origTokens->getTokenCode( - $commentStartPos, $itemStartPos, $indentAdjustment); - - $delayedAdd = []; - } else { - $result .= $this->origTokens->getTokenCode( - $pos, $itemStartPos, $indentAdjustment); - } - - if ($commentsChanged && $comments) { - // Add new comments - $result .= $this->pComments($comments) . $this->nl; - } - } elseif ($diffType === DiffElem::TYPE_ADD) { - if (null === $insertStr) { - // We don't have insertion information for this list type - return null; - } - - if ($insertStr === ', ' && $this->isMultiline($origNodes)) { - $insertStr = ','; - $insertNewline = true; - } - - if ($beforeFirstKeepOrReplace) { - // Will be inserted at the next "replace" or "keep" element - $delayedAdd[] = $arrItem; - continue; - } - - $itemStartPos = $pos; - $itemEndPos = $pos - 1; - - $origIndentLevel = $this->indentLevel; - $this->setIndentLevel($lastElemIndentLevel); - - if ($insertNewline) { - $comments = $arrItem->getComments(); - if ($comments) { - $result .= $this->nl . $this->pComments($comments); - } - $result .= $insertStr . $this->nl; - } else { - $result .= $insertStr; - } - } elseif ($diffType === DiffElem::TYPE_REMOVE) { - if ($i === 0) { - // TODO Handle removal at the start - return null; - } - - if (!$origArrItem instanceof Node) { - // We only support removal for nodes - return null; - } - - $itemEndPos = $origArrItem->getEndTokenPos(); - \assert($itemEndPos >= 0); - - $pos = $itemEndPos + 1; - continue; - } else { - throw new \Exception("Shouldn't happen"); - } - - if (null !== $fixup && $arrItem->getAttribute('origNode') !== $origArrItem) { - $res = $this->pFixup($fixup, $arrItem, null, $itemStartPos, $itemEndPos); - } else { - $res = $this->p($arrItem, true); - } - $this->safeAppend($result, $res); - - $this->setIndentLevel($origIndentLevel); - $pos = $itemEndPos + 1; - } - - if (!empty($delayedAdd)) { - if (!isset($this->emptyListInsertionMap[$mapKey])) { - return null; - } - - list($findToken, $extraLeft, $extraRight) = $this->emptyListInsertionMap[$mapKey]; - if (null !== $findToken) { - $insertPos = $this->origTokens->findRight($pos, $findToken) + 1; - $result .= $this->origTokens->getTokenCode($pos, $insertPos, $indentAdjustment); - $pos = $insertPos; - } - - $first = true; - $result .= $extraLeft; - foreach ($delayedAdd as $delayedAddNode) { - if (!$first) { - $result .= $insertStr; - } - $result .= $this->p($delayedAddNode, true); - $first = false; - } - $result .= $extraRight; - } - - return $result; - } - - /** - * Print node with fixups. - * - * Fixups here refer to the addition of extra parentheses, braces or other characters, that - * are required to preserve program semantics in a certain context (e.g. to maintain precedence - * or because only certain expressions are allowed in certain places). - * - * @param int $fixup Fixup type - * @param Node $subNode Subnode to print - * @param string|null $parentClass Class of parent node - * @param int $subStartPos Original start pos of subnode - * @param int $subEndPos Original end pos of subnode - * - * @return string Result of fixed-up print of subnode - */ - protected function pFixup(int $fixup, Node $subNode, $parentClass, int $subStartPos, int $subEndPos) : string { - switch ($fixup) { - case self::FIXUP_PREC_LEFT: - case self::FIXUP_PREC_RIGHT: - if (!$this->origTokens->haveParens($subStartPos, $subEndPos)) { - list($precedence, $associativity) = $this->precedenceMap[$parentClass]; - return $this->pPrec($subNode, $precedence, $associativity, - $fixup === self::FIXUP_PREC_LEFT ? -1 : 1); - } - break; - case self::FIXUP_CALL_LHS: - if ($this->callLhsRequiresParens($subNode) - && !$this->origTokens->haveParens($subStartPos, $subEndPos) - ) { - return '(' . $this->p($subNode) . ')'; - } - break; - case self::FIXUP_DEREF_LHS: - if ($this->dereferenceLhsRequiresParens($subNode) - && !$this->origTokens->haveParens($subStartPos, $subEndPos) - ) { - return '(' . $this->p($subNode) . ')'; - } - break; - case self::FIXUP_BRACED_NAME: - case self::FIXUP_VAR_BRACED_NAME: - if ($subNode instanceof Expr - && !$this->origTokens->haveBraces($subStartPos, $subEndPos) - ) { - return ($fixup === self::FIXUP_VAR_BRACED_NAME ? '$' : '') - . '{' . $this->p($subNode) . '}'; - } - break; - case self::FIXUP_ENCAPSED: - if (!$subNode instanceof Scalar\EncapsedStringPart - && !$this->origTokens->haveBraces($subStartPos, $subEndPos) - ) { - return '{' . $this->p($subNode) . '}'; - } - break; - default: - throw new \Exception('Cannot happen'); - } - - // Nothing special to do - return $this->p($subNode); - } - - /** - * Appends to a string, ensuring whitespace between label characters. - * - * Example: "echo" and "$x" result in "echo$x", but "echo" and "x" result in "echo x". - * Without safeAppend the result would be "echox", which does not preserve semantics. - * - * @param string $str - * @param string $append - */ - protected function safeAppend(string &$str, string $append) { - if ($str === "") { - $str = $append; - return; - } - - if ($append === "") { - return; - } - - if (!$this->labelCharMap[$append[0]] - || !$this->labelCharMap[$str[\strlen($str) - 1]]) { - $str .= $append; - } else { - $str .= " " . $append; - } - } - - /** - * Determines whether the LHS of a call must be wrapped in parenthesis. - * - * @param Node $node LHS of a call - * - * @return bool Whether parentheses are required - */ - protected function callLhsRequiresParens(Node $node) : bool { - return !($node instanceof Node\Name - || $node instanceof Expr\Variable - || $node instanceof Expr\ArrayDimFetch - || $node instanceof Expr\FuncCall - || $node instanceof Expr\MethodCall - || $node instanceof Expr\StaticCall - || $node instanceof Expr\Array_); - } - - /** - * Determines whether the LHS of a dereferencing operation must be wrapped in parenthesis. - * - * @param Node $node LHS of dereferencing operation - * - * @return bool Whether parentheses are required - */ - protected function dereferenceLhsRequiresParens(Node $node) : bool { - return !($node instanceof Expr\Variable - || $node instanceof Node\Name - || $node instanceof Expr\ArrayDimFetch - || $node instanceof Expr\PropertyFetch - || $node instanceof Expr\StaticPropertyFetch - || $node instanceof Expr\FuncCall - || $node instanceof Expr\MethodCall - || $node instanceof Expr\StaticCall - || $node instanceof Expr\Array_ - || $node instanceof Scalar\String_ - || $node instanceof Expr\ConstFetch - || $node instanceof Expr\ClassConstFetch); - } - - /** - * Print modifiers, including trailing whitespace. - * - * @param int $modifiers Modifier mask to print - * - * @return string Printed modifiers - */ - protected function pModifiers(int $modifiers) { - return ($modifiers & Stmt\Class_::MODIFIER_PUBLIC ? 'public ' : '') - . ($modifiers & Stmt\Class_::MODIFIER_PROTECTED ? 'protected ' : '') - . ($modifiers & Stmt\Class_::MODIFIER_PRIVATE ? 'private ' : '') - . ($modifiers & Stmt\Class_::MODIFIER_STATIC ? 'static ' : '') - . ($modifiers & Stmt\Class_::MODIFIER_ABSTRACT ? 'abstract ' : '') - . ($modifiers & Stmt\Class_::MODIFIER_FINAL ? 'final ' : ''); - } - - /** - * Determine whether a list of nodes uses multiline formatting. - * - * @param (Node|null)[] $nodes Node list - * - * @return bool Whether multiline formatting is used - */ - protected function isMultiline(array $nodes) : bool { - if (\count($nodes) < 2) { - return false; - } - - $pos = -1; - foreach ($nodes as $node) { - if (null === $node) { - continue; - } - - $endPos = $node->getEndTokenPos() + 1; - if ($pos >= 0) { - $text = $this->origTokens->getTokenCode($pos, $endPos, 0); - if (false === strpos($text, "\n")) { - // We require that a newline is present between *every* item. If the formatting - // is inconsistent, with only some items having newlines, we don't consider it - // as multiline - return false; - } - } - $pos = $endPos; - } - - return true; - } - - /** - * Lazily initializes label char map. - * - * The label char map determines whether a certain character may occur in a label. - */ - protected function initializeLabelCharMap() { - if ($this->labelCharMap) return; - - $this->labelCharMap = []; - for ($i = 0; $i < 256; $i++) { - // Since PHP 7.1 The lower range is 0x80. However, we also want to support code for - // older versions. - $this->labelCharMap[chr($i)] = $i >= 0x7f || ctype_alnum($i); - } - } - - /** - * Lazily initializes node list differ. - * - * The node list differ is used to determine differences between two array subnodes. - */ - protected function initializeNodeListDiffer() { - if ($this->nodeListDiffer) return; - - $this->nodeListDiffer = new Internal\Differ(function ($a, $b) { - if ($a instanceof Node && $b instanceof Node) { - return $a === $b->getAttribute('origNode'); - } - // Can happen for array destructuring - return $a === null && $b === null; - }); - } - - /** - * Lazily initializes fixup map. - * - * The fixup map is used to determine whether a certain subnode of a certain node may require - * some kind of "fixup" operation, e.g. the addition of parenthesis or braces. - */ - protected function initializeFixupMap() { - if ($this->fixupMap) return; - - $this->fixupMap = [ - Expr\PreInc::class => ['var' => self::FIXUP_PREC_RIGHT], - Expr\PreDec::class => ['var' => self::FIXUP_PREC_RIGHT], - Expr\PostInc::class => ['var' => self::FIXUP_PREC_LEFT], - Expr\PostDec::class => ['var' => self::FIXUP_PREC_LEFT], - Expr\Instanceof_::class => [ - 'expr' => self::FIXUP_PREC_LEFT, - 'class' => self::FIXUP_PREC_RIGHT, - ], - Expr\Ternary::class => [ - 'cond' => self::FIXUP_PREC_LEFT, - 'else' => self::FIXUP_PREC_RIGHT, - ], - - Expr\FuncCall::class => ['name' => self::FIXUP_CALL_LHS], - Expr\StaticCall::class => ['class' => self::FIXUP_DEREF_LHS], - Expr\ArrayDimFetch::class => ['var' => self::FIXUP_DEREF_LHS], - Expr\MethodCall::class => [ - 'var' => self::FIXUP_DEREF_LHS, - 'name' => self::FIXUP_BRACED_NAME, - ], - Expr\StaticPropertyFetch::class => [ - 'class' => self::FIXUP_DEREF_LHS, - 'name' => self::FIXUP_VAR_BRACED_NAME, - ], - Expr\PropertyFetch::class => [ - 'var' => self::FIXUP_DEREF_LHS, - 'name' => self::FIXUP_BRACED_NAME, - ], - Scalar\Encapsed::class => [ - 'parts' => self::FIXUP_ENCAPSED, - ], - ]; - - $binaryOps = [ - BinaryOp\Pow::class, BinaryOp\Mul::class, BinaryOp\Div::class, BinaryOp\Mod::class, - BinaryOp\Plus::class, BinaryOp\Minus::class, BinaryOp\Concat::class, - BinaryOp\ShiftLeft::class, BinaryOp\ShiftRight::class, BinaryOp\Smaller::class, - BinaryOp\SmallerOrEqual::class, BinaryOp\Greater::class, BinaryOp\GreaterOrEqual::class, - BinaryOp\Equal::class, BinaryOp\NotEqual::class, BinaryOp\Identical::class, - BinaryOp\NotIdentical::class, BinaryOp\Spaceship::class, BinaryOp\BitwiseAnd::class, - BinaryOp\BitwiseXor::class, BinaryOp\BitwiseOr::class, BinaryOp\BooleanAnd::class, - BinaryOp\BooleanOr::class, BinaryOp\Coalesce::class, BinaryOp\LogicalAnd::class, - BinaryOp\LogicalXor::class, BinaryOp\LogicalOr::class, - ]; - foreach ($binaryOps as $binaryOp) { - $this->fixupMap[$binaryOp] = [ - 'left' => self::FIXUP_PREC_LEFT, - 'right' => self::FIXUP_PREC_RIGHT - ]; - } - - $assignOps = [ - Expr\Assign::class, Expr\AssignRef::class, AssignOp\Plus::class, AssignOp\Minus::class, - AssignOp\Mul::class, AssignOp\Div::class, AssignOp\Concat::class, AssignOp\Mod::class, - AssignOp\BitwiseAnd::class, AssignOp\BitwiseOr::class, AssignOp\BitwiseXor::class, - AssignOp\ShiftLeft::class, AssignOp\ShiftRight::class, AssignOp\Pow::class, AssignOp\Coalesce::class - ]; - foreach ($assignOps as $assignOp) { - $this->fixupMap[$assignOp] = [ - 'var' => self::FIXUP_PREC_LEFT, - 'expr' => self::FIXUP_PREC_RIGHT, - ]; - } - - $prefixOps = [ - Expr\BitwiseNot::class, Expr\BooleanNot::class, Expr\UnaryPlus::class, Expr\UnaryMinus::class, - Cast\Int_::class, Cast\Double::class, Cast\String_::class, Cast\Array_::class, - Cast\Object_::class, Cast\Bool_::class, Cast\Unset_::class, Expr\ErrorSuppress::class, - Expr\YieldFrom::class, Expr\Print_::class, Expr\Include_::class, - ]; - foreach ($prefixOps as $prefixOp) { - $this->fixupMap[$prefixOp] = ['expr' => self::FIXUP_PREC_RIGHT]; - } - } - - /** - * Lazily initializes the removal map. - * - * The removal map is used to determine which additional tokens should be returned when a - * certain node is replaced by null. - */ - protected function initializeRemovalMap() { - if ($this->removalMap) return; - - $stripBoth = ['left' => \T_WHITESPACE, 'right' => \T_WHITESPACE]; - $stripLeft = ['left' => \T_WHITESPACE]; - $stripRight = ['right' => \T_WHITESPACE]; - $stripDoubleArrow = ['right' => \T_DOUBLE_ARROW]; - $stripColon = ['left' => ':']; - $stripEquals = ['left' => '=']; - $this->removalMap = [ - 'Expr_ArrayDimFetch->dim' => $stripBoth, - 'Expr_ArrayItem->key' => $stripDoubleArrow, - 'Expr_ArrowFunction->returnType' => $stripColon, - 'Expr_Closure->returnType' => $stripColon, - 'Expr_Exit->expr' => $stripBoth, - 'Expr_Ternary->if' => $stripBoth, - 'Expr_Yield->key' => $stripDoubleArrow, - 'Expr_Yield->value' => $stripBoth, - 'Param->type' => $stripRight, - 'Param->default' => $stripEquals, - 'Stmt_Break->num' => $stripBoth, - 'Stmt_ClassMethod->returnType' => $stripColon, - 'Stmt_Class->extends' => ['left' => \T_EXTENDS], - 'Expr_PrintableNewAnonClass->extends' => ['left' => \T_EXTENDS], - 'Stmt_Continue->num' => $stripBoth, - 'Stmt_Foreach->keyVar' => $stripDoubleArrow, - 'Stmt_Function->returnType' => $stripColon, - 'Stmt_If->else' => $stripLeft, - 'Stmt_Namespace->name' => $stripLeft, - 'Stmt_Property->type' => $stripRight, - 'Stmt_PropertyProperty->default' => $stripEquals, - 'Stmt_Return->expr' => $stripBoth, - 'Stmt_StaticVar->default' => $stripEquals, - 'Stmt_TraitUseAdaptation_Alias->newName' => $stripLeft, - 'Stmt_TryCatch->finally' => $stripLeft, - // 'Stmt_Case->cond': Replace with "default" - // 'Stmt_Class->name': Unclear what to do - // 'Stmt_Declare->stmts': Not a plain node - // 'Stmt_TraitUseAdaptation_Alias->newModifier': Not a plain node - ]; - } - - protected function initializeInsertionMap() { - if ($this->insertionMap) return; - - // TODO: "yield" where both key and value are inserted doesn't work - // [$find, $beforeToken, $extraLeft, $extraRight] - $this->insertionMap = [ - 'Expr_ArrayDimFetch->dim' => ['[', false, null, null], - 'Expr_ArrayItem->key' => [null, false, null, ' => '], - 'Expr_ArrowFunction->returnType' => [')', false, ' : ', null], - 'Expr_Closure->returnType' => [')', false, ' : ', null], - 'Expr_Ternary->if' => ['?', false, ' ', ' '], - 'Expr_Yield->key' => [\T_YIELD, false, null, ' => '], - 'Expr_Yield->value' => [\T_YIELD, false, ' ', null], - 'Param->type' => [null, false, null, ' '], - 'Param->default' => [null, false, ' = ', null], - 'Stmt_Break->num' => [\T_BREAK, false, ' ', null], - 'Stmt_ClassMethod->returnType' => [')', false, ' : ', null], - 'Stmt_Class->extends' => [null, false, ' extends ', null], - 'Expr_PrintableNewAnonClass->extends' => [null, ' extends ', null], - 'Stmt_Continue->num' => [\T_CONTINUE, false, ' ', null], - 'Stmt_Foreach->keyVar' => [\T_AS, false, null, ' => '], - 'Stmt_Function->returnType' => [')', false, ' : ', null], - 'Stmt_If->else' => [null, false, ' ', null], - 'Stmt_Namespace->name' => [\T_NAMESPACE, false, ' ', null], - 'Stmt_Property->type' => [\T_VARIABLE, true, null, ' '], - 'Stmt_PropertyProperty->default' => [null, false, ' = ', null], - 'Stmt_Return->expr' => [\T_RETURN, false, ' ', null], - 'Stmt_StaticVar->default' => [null, false, ' = ', null], - //'Stmt_TraitUseAdaptation_Alias->newName' => [T_AS, false, ' ', null], // TODO - 'Stmt_TryCatch->finally' => [null, false, ' ', null], - - // 'Expr_Exit->expr': Complicated due to optional () - // 'Stmt_Case->cond': Conversion from default to case - // 'Stmt_Class->name': Unclear - // 'Stmt_Declare->stmts': Not a proper node - // 'Stmt_TraitUseAdaptation_Alias->newModifier': Not a proper node - ]; - } - - protected function initializeListInsertionMap() { - if ($this->listInsertionMap) return; - - $this->listInsertionMap = [ - // special - //'Expr_ShellExec->parts' => '', // TODO These need to be treated more carefully - //'Scalar_Encapsed->parts' => '', - 'Stmt_Catch->types' => '|', - 'UnionType->types' => '|', - 'Stmt_If->elseifs' => ' ', - 'Stmt_TryCatch->catches' => ' ', - - // comma-separated lists - 'Expr_Array->items' => ', ', - 'Expr_ArrowFunction->params' => ', ', - 'Expr_Closure->params' => ', ', - 'Expr_Closure->uses' => ', ', - 'Expr_FuncCall->args' => ', ', - 'Expr_Isset->vars' => ', ', - 'Expr_List->items' => ', ', - 'Expr_MethodCall->args' => ', ', - 'Expr_New->args' => ', ', - 'Expr_PrintableNewAnonClass->args' => ', ', - 'Expr_StaticCall->args' => ', ', - 'Stmt_ClassConst->consts' => ', ', - 'Stmt_ClassMethod->params' => ', ', - 'Stmt_Class->implements' => ', ', - 'Expr_PrintableNewAnonClass->implements' => ', ', - 'Stmt_Const->consts' => ', ', - 'Stmt_Declare->declares' => ', ', - 'Stmt_Echo->exprs' => ', ', - 'Stmt_For->init' => ', ', - 'Stmt_For->cond' => ', ', - 'Stmt_For->loop' => ', ', - 'Stmt_Function->params' => ', ', - 'Stmt_Global->vars' => ', ', - 'Stmt_GroupUse->uses' => ', ', - 'Stmt_Interface->extends' => ', ', - 'Stmt_Property->props' => ', ', - 'Stmt_StaticVar->vars' => ', ', - 'Stmt_TraitUse->traits' => ', ', - 'Stmt_TraitUseAdaptation_Precedence->insteadof' => ', ', - 'Stmt_Unset->vars' => ', ', - 'Stmt_Use->uses' => ', ', - - // statement lists - 'Expr_Closure->stmts' => "\n", - 'Stmt_Case->stmts' => "\n", - 'Stmt_Catch->stmts' => "\n", - 'Stmt_Class->stmts' => "\n", - 'Expr_PrintableNewAnonClass->stmts' => "\n", - 'Stmt_Interface->stmts' => "\n", - 'Stmt_Trait->stmts' => "\n", - 'Stmt_ClassMethod->stmts' => "\n", - 'Stmt_Declare->stmts' => "\n", - 'Stmt_Do->stmts' => "\n", - 'Stmt_ElseIf->stmts' => "\n", - 'Stmt_Else->stmts' => "\n", - 'Stmt_Finally->stmts' => "\n", - 'Stmt_Foreach->stmts' => "\n", - 'Stmt_For->stmts' => "\n", - 'Stmt_Function->stmts' => "\n", - 'Stmt_If->stmts' => "\n", - 'Stmt_Namespace->stmts' => "\n", - 'Stmt_Switch->cases' => "\n", - 'Stmt_TraitUse->adaptations' => "\n", - 'Stmt_TryCatch->stmts' => "\n", - 'Stmt_While->stmts' => "\n", - - // dummy for top-level context - 'File->stmts' => "\n", - ]; - } - - protected function initializeEmptyListInsertionMap() { - if ($this->emptyListInsertionMap) return; - - // TODO Insertion into empty statement lists. - - // [$find, $extraLeft, $extraRight] - $this->emptyListInsertionMap = [ - 'Expr_ArrowFunction->params' => ['(', '', ''], - 'Expr_Closure->uses' => [')', ' use(', ')'], - 'Expr_Closure->params' => ['(', '', ''], - 'Expr_FuncCall->args' => ['(', '', ''], - 'Expr_MethodCall->args' => ['(', '', ''], - 'Expr_New->args' => ['(', '', ''], - 'Expr_PrintableNewAnonClass->args' => ['(', '', ''], - 'Expr_PrintableNewAnonClass->implements' => [null, ' implements ', ''], - 'Expr_StaticCall->args' => ['(', '', ''], - 'Stmt_Class->implements' => [null, ' implements ', ''], - 'Stmt_ClassMethod->params' => ['(', '', ''], - 'Stmt_Interface->extends' => [null, ' extends ', ''], - 'Stmt_Function->params' => ['(', '', ''], - - /* These cannot be empty to start with: - * Expr_Isset->vars - * Stmt_Catch->types - * Stmt_Const->consts - * Stmt_ClassConst->consts - * Stmt_Declare->declares - * Stmt_Echo->exprs - * Stmt_Global->vars - * Stmt_GroupUse->uses - * Stmt_Property->props - * Stmt_StaticVar->vars - * Stmt_TraitUse->traits - * Stmt_TraitUseAdaptation_Precedence->insteadof - * Stmt_Unset->vars - * Stmt_Use->uses - * UnionType->types - */ - - /* TODO - * Stmt_If->elseifs - * Stmt_TryCatch->catches - * Expr_Array->items - * Expr_List->items - * Stmt_For->init - * Stmt_For->cond - * Stmt_For->loop - */ - ]; - } - - protected function initializeModifierChangeMap() { - if ($this->modifierChangeMap) return; - - $this->modifierChangeMap = [ - 'Stmt_ClassConst->flags' => \T_CONST, - 'Stmt_ClassMethod->flags' => \T_FUNCTION, - 'Stmt_Class->flags' => \T_CLASS, - 'Stmt_Property->flags' => \T_VARIABLE, - //'Stmt_TraitUseAdaptation_Alias->newModifier' => 0, // TODO - ]; - - // List of integer subnodes that are not modifiers: - // Expr_Include->type - // Stmt_GroupUse->type - // Stmt_Use->type - // Stmt_UseUse->type - } -} diff --git a/paragonik-backend/vendor/nunomaduro/collision/LICENSE.md b/paragonik-backend/vendor/nunomaduro/collision/LICENSE.md deleted file mode 100644 index 14b90ed..0000000 --- a/paragonik-backend/vendor/nunomaduro/collision/LICENSE.md +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) Nuno Maduro - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/paragonik-backend/vendor/nunomaduro/collision/README.md b/paragonik-backend/vendor/nunomaduro/collision/README.md deleted file mode 100644 index 0317cc3..0000000 --- a/paragonik-backend/vendor/nunomaduro/collision/README.md +++ /dev/null @@ -1,76 +0,0 @@ -

- Collision logo -
- Collision code example -

- -

- Build Status - Quality Score - Coverage - Total Downloads - Latest Stable Version - License -

- -## About Collision - -Collision was created by, and is maintained by [Nuno Maduro](https://github.com/nunomaduro), and is an error handler framework for console/command-line PHP applications. - -- Build on top of [Whoops](https://github.com/filp/whoops). -- Supports [Laravel](https://github.com/laravel/laravel) Artisan & [PHPUnit](https://github.com/sebastianbergmann/phpunit). -- Built with [PHP 7](https://php.net) using modern coding standards. - -## Installation & Usage - -> **Requires [PHP 7.1+](https://php.net/releases/)** - -Require Collision using [Composer](https://getcomposer.org): - -```bash -composer require nunomaduro/collision --dev -``` - -If you are not using Laravel, you need to register the handler in your code: - -```php -(new \NunoMaduro\Collision\Provider)->register(); -``` - -## Lumen adapter - -Configure the Collision service provider: -```php -// bootstrap/app.php: -$app->register(\NunoMaduro\Collision\Adapters\Laravel\CollisionServiceProvider::class); -``` - -## Phpunit adapter - -Phpunit must be 7.0 or higher. - -Add the following configuration to your `phpunit.xml`: - -```xml - - - -``` - -## Contributing - -Thank you for considering to contribute to Collision. All the contribution guidelines are mentioned [here](CONTRIBUTING.md). - -You can have a look at the [CHANGELOG](CHANGELOG.md) for constant updates & detailed information about the changes. You can also follow the twitter account for latest announcements or just come say hi!: [@enunomaduro](https://twitter.com/enunomaduro) - -## Support the development -**Do you like this project? Support it by donating** - -- PayPal: [Donate](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=66BYDWAT92N6L) -- Patreon: [Donate](https://www.patreon.com/nunomaduro) - -## License - -Collision is an open-sourced software licensed under the [MIT license](LICENSE.md). - -Logo by [Caneco](https://twitter.com/caneco). diff --git a/paragonik-backend/vendor/nunomaduro/collision/composer.json b/paragonik-backend/vendor/nunomaduro/collision/composer.json deleted file mode 100644 index 563d4ea..0000000 --- a/paragonik-backend/vendor/nunomaduro/collision/composer.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "name": "nunomaduro/collision", - "description": "Cli error handling for console/command-line PHP applications.", - "keywords": ["console", "command-line", "php", "cli", "error", "handling", "laravel-zero", "laravel", "artisan", "symfony"], - "license": "MIT", - "support": { - "issues": "https://github.com/nunomaduro/collision/issues", - "source": "https://github.com/nunomaduro/collision" - }, - "authors": [ - { - "name": "Nuno Maduro", - "email": "enunomaduro@gmail.com" - } - ], - "require": { - "php": "^7.1", - "filp/whoops": "^2.1.4", - "symfony/console": "~2.8|~3.3|~4.0", - "jakub-onderka/php-console-highlighter": "0.3.*|0.4.*" - }, - "require-dev": { - "laravel/framework": "5.8.*", - "nunomaduro/larastan": "^0.3.0", - "phpstan/phpstan": "^0.11", - "phpunit/phpunit": "~8.0" - }, - "autoload-dev": { - "psr-4": { - "Tests\\": "tests/" - } - }, - "minimum-stability": "dev", - "prefer-stable": true, - "autoload": { - "psr-4": { - "NunoMaduro\\Collision\\": "src/" - } - }, - "config": { - "preferred-install": "dist", - "sort-packages": true - }, - "extra": { - "laravel": { - "providers": [ - "NunoMaduro\\Collision\\Adapters\\Laravel\\CollisionServiceProvider" - ] - } - } -} diff --git a/paragonik-backend/vendor/nunomaduro/collision/phpstan.neon.dist b/paragonik-backend/vendor/nunomaduro/collision/phpstan.neon.dist deleted file mode 100644 index bb030dd..0000000 --- a/paragonik-backend/vendor/nunomaduro/collision/phpstan.neon.dist +++ /dev/null @@ -1,10 +0,0 @@ -includes: - - ./vendor/nunomaduro/larastan/extension.neon -parameters: - level: max - paths: - - src - reportUnmatchedIgnoredErrors: false - ignoreErrors: - - '#Parameter \#1 \$input of function str_pad expects string, int given.#' - - '#Cannot call method addTheme\(\) on array|JakubOnderka\\PhpConsoleColor\\ConsoleColor#' diff --git a/paragonik-backend/vendor/nunomaduro/collision/phpunit.xml.dist b/paragonik-backend/vendor/nunomaduro/collision/phpunit.xml.dist deleted file mode 100644 index 36c0ab2..0000000 --- a/paragonik-backend/vendor/nunomaduro/collision/phpunit.xml.dist +++ /dev/null @@ -1,28 +0,0 @@ - - - - - ./tests - - - - - ./src - - - diff --git a/paragonik-backend/vendor/nunomaduro/collision/src/Adapters/Laravel/CollisionServiceProvider.php b/paragonik-backend/vendor/nunomaduro/collision/src/Adapters/Laravel/CollisionServiceProvider.php deleted file mode 100644 index 185fb11..0000000 --- a/paragonik-backend/vendor/nunomaduro/collision/src/Adapters/Laravel/CollisionServiceProvider.php +++ /dev/null @@ -1,62 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace NunoMaduro\Collision\Adapters\Laravel; - -use NunoMaduro\Collision\Provider; -use Illuminate\Support\ServiceProvider; -use NunoMaduro\Collision\Adapters\Phpunit\Listener; -use NunoMaduro\Collision\Contracts\Provider as ProviderContract; -use Illuminate\Contracts\Debug\ExceptionHandler as ExceptionHandlerContract; -use NunoMaduro\Collision\Contracts\Adapters\Phpunit\Listener as ListenerContract; - -/** - * This is an Collision Laravel Adapter Service Provider implementation. - * - * Registers the Error Handler on Laravel. - * - * @author Nuno Maduro - */ -class CollisionServiceProvider extends ServiceProvider -{ - /** - * {@inheritdoc} - */ - protected $defer = true; - - /** - * {@inheritdoc} - */ - public function register() - { - if ($this->app->runningInConsole() && ! $this->app->runningUnitTests()) { - $this->app->singleton(ListenerContract::class, Listener::class); - $this->app->bind(ProviderContract::class, Provider::class); - - $appExceptionHandler = $this->app->make(ExceptionHandlerContract::class); - - $this->app->singleton( - ExceptionHandlerContract::class, - function ($app) use ($appExceptionHandler) { - return new ExceptionHandler($app, $appExceptionHandler); - } - ); - } - } - - /** - * {@inheritdoc} - */ - public function provides() - { - return [ProviderContract::class]; - } -} diff --git a/paragonik-backend/vendor/nunomaduro/collision/src/Adapters/Laravel/ExceptionHandler.php b/paragonik-backend/vendor/nunomaduro/collision/src/Adapters/Laravel/ExceptionHandler.php deleted file mode 100644 index 13c04c9..0000000 --- a/paragonik-backend/vendor/nunomaduro/collision/src/Adapters/Laravel/ExceptionHandler.php +++ /dev/null @@ -1,100 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace NunoMaduro\Collision\Adapters\Laravel; - -use Exception; -use Illuminate\Contracts\Container\Container; -use NunoMaduro\Collision\Contracts\Provider as ProviderContract; -use Illuminate\Contracts\Debug\ExceptionHandler as ExceptionHandlerContract; -use Symfony\Component\Console\Exception\ExceptionInterface as SymfonyConsoleExceptionInterface; - -/** - * This is an Collision Laravel Adapter ExceptionHandler implementation. - * - * Registers the Error Handler on Laravel. - * - * @author Nuno Maduro - */ -class ExceptionHandler implements ExceptionHandlerContract -{ - /** - * Holds an instance of the application exception handler. - * - * @var \Illuminate\Contracts\Debug\ExceptionHandler - */ - protected $appExceptionHandler; - - /** - * Holds an instance of the container. - * - * @var \Illuminate\Contracts\Container\Container - */ - protected $container; - - /** - * Creates a new instance of the ExceptionHandler. - * - * @param \Illuminate\Contracts\Container\Container $container - * @param \Illuminate\Contracts\Debug\ExceptionHandler $appExceptionHandler - */ - public function __construct(Container $container, ExceptionHandlerContract $appExceptionHandler) - { - $this->container = $container; - $this->appExceptionHandler = $appExceptionHandler; - } - - /** - * {@inheritdoc} - */ - public function report(Exception $e) - { - $this->appExceptionHandler->report($e); - } - - /** - * {@inheritdoc} - */ - public function render($request, Exception $e) - { - return $this->appExceptionHandler->render($request, $e); - } - - /** - * {@inheritdoc} - */ - public function renderForConsole($output, Exception $e) - { - if ($e instanceof SymfonyConsoleExceptionInterface) { - $this->appExceptionHandler->renderForConsole($output, $e); - } else { - $handler = $this->container->make(ProviderContract::class) - ->register() - ->getHandler() - ->setOutput($output); - - $handler->setInspector((new Inspector($e))); - - $handler->handle(); - } - } - - /** - * Determine if the exception should be reported. - * - * @param \Exception $e - * @return bool - */ - public function shouldReport(Exception $e) - { - return $this->appExceptionHandler->shouldReport($e); - } -} diff --git a/paragonik-backend/vendor/nunomaduro/collision/src/Adapters/Laravel/Inspector.php b/paragonik-backend/vendor/nunomaduro/collision/src/Adapters/Laravel/Inspector.php deleted file mode 100644 index 44b0677..0000000 --- a/paragonik-backend/vendor/nunomaduro/collision/src/Adapters/Laravel/Inspector.php +++ /dev/null @@ -1,30 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace NunoMaduro\Collision\Adapters\Laravel; - -use Whoops\Exception\Inspector as BaseInspector; - -/** - * This is an Collision Laravel Adapter Inspector implementation. - * - * @author Nuno Maduro - */ -class Inspector extends BaseInspector -{ - /** - * {@inheritdoc} - */ - protected function getTrace($e) - { - return $e->getTrace(); - } -} diff --git a/paragonik-backend/vendor/nunomaduro/collision/src/Adapters/Phpunit/Listener.php b/paragonik-backend/vendor/nunomaduro/collision/src/Adapters/Phpunit/Listener.php deleted file mode 100644 index 7a6f5bb..0000000 --- a/paragonik-backend/vendor/nunomaduro/collision/src/Adapters/Phpunit/Listener.php +++ /dev/null @@ -1,177 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace NunoMaduro\Collision\Adapters\Phpunit; - -use ReflectionObject; -use PHPUnit\Framework\Test; -use PHPUnit\Framework\Warning; -use Whoops\Exception\Inspector; -use NunoMaduro\Collision\Writer; -use PHPUnit\Framework\TestSuite; -use Symfony\Component\Console\Application; -use PHPUnit\Framework\AssertionFailedError; -use Symfony\Component\Console\Input\ArgvInput; -use Symfony\Component\Console\Output\ConsoleOutput; -use NunoMaduro\Collision\Contracts\Writer as WriterContract; -use NunoMaduro\Collision\Contracts\Adapters\Phpunit\Listener as ListenerContract; - -if (class_exists(\PHPUnit\Runner\Version::class) && intval(substr(\PHPUnit\Runner\Version::id(), 0, 1)) >= 7) { - - /** - * This is an Collision Phpunit Adapter implementation. - * - * @author Nuno Maduro - */ - class Listener implements ListenerContract - { - /** - * Holds an instance of the writer. - * - * @var \NunoMaduro\Collision\Contracts\Writer - */ - protected $writer; - - /** - * Holds the exception found, if any. - * - * @var \Throwable|null - */ - protected $exceptionFound; - - /** - * Creates a new instance of the class. - * - * @param \NunoMaduro\Collision\Contracts\Writer|null $writer - */ - public function __construct(WriterContract $writer = null) - { - $this->writer = $writer ?: $this->buildWriter(); - } - - /** - * {@inheritdoc} - */ - public function render(\Throwable $t) - { - $inspector = new Inspector($t); - - $this->writer->write($inspector); - } - - /** - * {@inheritdoc} - */ - public function addError(Test $test, \Throwable $t, float $time): void - { - if ($this->exceptionFound === null) { - $this->exceptionFound = $t; - } - } - - /** - * {@inheritdoc} - */ - public function addWarning(Test $test, Warning $t, float $time): void - { - } - - /** - * {@inheritdoc} - */ - public function addFailure(Test $test, AssertionFailedError $t, float $time): void - { - $this->writer->ignoreFilesIn(['/vendor/']) - ->showTrace(false); - - if ($this->exceptionFound === null) { - $this->exceptionFound = $t; - } - } - - /** - * {@inheritdoc} - */ - public function addIncompleteTest(Test $test, \Throwable $t, float $time): void - { - } - - /** - * {@inheritdoc} - */ - public function addRiskyTest(Test $test, \Throwable $t, float $time): void - { - } - - /** - * {@inheritdoc} - */ - public function addSkippedTest(Test $test, \Throwable $t, float $time): void - { - } - - /** - * {@inheritdoc} - */ - public function startTestSuite(TestSuite $suite): void - { - } - - /** - * {@inheritdoc} - */ - public function endTestSuite(TestSuite $suite): void - { - } - - /** - * {@inheritdoc} - */ - public function startTest(Test $test): void - { - } - - /** - * {@inheritdoc} - */ - public function endTest(Test $test, float $time): void - { - } - - /** - * {@inheritdoc} - */ - public function __destruct() - { - if ($this->exceptionFound !== null) { - $this->render($this->exceptionFound); - } - } - - /** - * Builds an Writer. - * - * @return \NunoMaduro\Collision\Contracts\Writer - */ - protected function buildWriter(): WriterContract - { - $writer = new Writer; - - $application = new Application(); - $reflector = new ReflectionObject($application); - $method = $reflector->getMethod('configureIO'); - $method->setAccessible(true); - $method->invoke($application, new ArgvInput, $output = new ConsoleOutput); - - return $writer->setOutput($output); - } - } -} diff --git a/paragonik-backend/vendor/nunomaduro/collision/src/ArgumentFormatter.php b/paragonik-backend/vendor/nunomaduro/collision/src/ArgumentFormatter.php deleted file mode 100644 index d166dcd..0000000 --- a/paragonik-backend/vendor/nunomaduro/collision/src/ArgumentFormatter.php +++ /dev/null @@ -1,50 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace NunoMaduro\Collision; - -use NunoMaduro\Collision\Contracts\ArgumentFormatter as ArgumentFormatterContract; - -/** - * This is an Collision Argument Formatter implementation. - * - * @author Nuno Maduro - */ -class ArgumentFormatter implements ArgumentFormatterContract -{ - /** - * {@inheritdoc} - */ - public function format(array $arguments, bool $recursive = true): string - { - $result = []; - - foreach ($arguments as $argument) { - switch (true) { - case is_string($argument): - $result[] = '"'.$argument.'"'; - break; - case is_array($argument): - $associative = array_keys($argument) !== range(0, count($argument) - 1); - if ($recursive && $associative && count($argument) <= 5) { - $result[] = '['.$this->format($argument, false).']'; - } - break; - case is_object($argument): - $class = get_class($argument); - $result[] = "Object($class)"; - break; - } - } - - return implode(', ', $result); - } -} diff --git a/paragonik-backend/vendor/nunomaduro/collision/src/Contracts/Adapters/Phpunit/Listener.php b/paragonik-backend/vendor/nunomaduro/collision/src/Contracts/Adapters/Phpunit/Listener.php deleted file mode 100644 index 6869fe9..0000000 --- a/paragonik-backend/vendor/nunomaduro/collision/src/Contracts/Adapters/Phpunit/Listener.php +++ /dev/null @@ -1,32 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace NunoMaduro\Collision\Contracts\Adapters\Phpunit; - -use PHPUnit\Framework\TestListener; - -/** - * This is an Collision Phpunit Adapter contract. - * - * @author Nuno Maduro - */ -interface Listener extends TestListener -{ - /** - * Renders the provided error - * on the console. - * - * @param \Throwable $t - * - * @return void - */ - public function render(\Throwable $t); -} diff --git a/paragonik-backend/vendor/nunomaduro/collision/src/Contracts/ArgumentFormatter.php b/paragonik-backend/vendor/nunomaduro/collision/src/Contracts/ArgumentFormatter.php deleted file mode 100644 index 3e15634..0000000 --- a/paragonik-backend/vendor/nunomaduro/collision/src/Contracts/ArgumentFormatter.php +++ /dev/null @@ -1,31 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace NunoMaduro\Collision\Contracts; - -/** - * This is an Collision Argument Formatter contract. - * - * @author Nuno Maduro - */ -interface ArgumentFormatter -{ - /** - * Formats the provided array of arguments into - * an understandable description. - * - * @param array $arguments - * @param bool $recursive - * - * @return string - */ - public function format(array $arguments, bool $recursive = true): string; -} diff --git a/paragonik-backend/vendor/nunomaduro/collision/src/Contracts/Handler.php b/paragonik-backend/vendor/nunomaduro/collision/src/Contracts/Handler.php deleted file mode 100644 index 9a6d192..0000000 --- a/paragonik-backend/vendor/nunomaduro/collision/src/Contracts/Handler.php +++ /dev/null @@ -1,39 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace NunoMaduro\Collision\Contracts; - -use Whoops\Handler\HandlerInterface; -use Symfony\Component\Console\Output\OutputInterface; - -/** - * This is an Collision Handler contract. - * - * @author Nuno Maduro - */ -interface Handler extends HandlerInterface -{ - /** - * Sets the output. - * - * @param \Symfony\Component\Console\Output\OutputInterface $output - * - * @return \NunoMaduro\Collision\Contracts\Handler - */ - public function setOutput(OutputInterface $output): Handler; - - /** - * Returns the writer. - * - * @return \NunoMaduro\Collision\Contracts\Writer - */ - public function getWriter(): Writer; -} diff --git a/paragonik-backend/vendor/nunomaduro/collision/src/Contracts/Highlighter.php b/paragonik-backend/vendor/nunomaduro/collision/src/Contracts/Highlighter.php deleted file mode 100644 index b335bfe..0000000 --- a/paragonik-backend/vendor/nunomaduro/collision/src/Contracts/Highlighter.php +++ /dev/null @@ -1,30 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace NunoMaduro\Collision\Contracts; - -/** - * This is the Collision Highlighter contract. - * - * @author Nuno Maduro - */ -interface Highlighter -{ - /** - * Highlights the provided content. - * - * @param string $content - * @param int $line - * - * @return string - */ - public function highlight(string $content, int $line): string; -} diff --git a/paragonik-backend/vendor/nunomaduro/collision/src/Contracts/Provider.php b/paragonik-backend/vendor/nunomaduro/collision/src/Contracts/Provider.php deleted file mode 100644 index d1c2ea7..0000000 --- a/paragonik-backend/vendor/nunomaduro/collision/src/Contracts/Provider.php +++ /dev/null @@ -1,34 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace NunoMaduro\Collision\Contracts; - -/** - * This is an Collision Provider contract. - * - * @author Nuno Maduro - */ -interface Provider -{ - /** - * Registers the current Handler as Error Handler. - * - * @return \NunoMaduro\Collision\Contracts\Provider - */ - public function register(): Provider; - - /** - * Returns the handler. - * - * @return \NunoMaduro\Collision\Contracts\Handler - */ - public function getHandler(): Handler; -} diff --git a/paragonik-backend/vendor/nunomaduro/collision/src/Contracts/Writer.php b/paragonik-backend/vendor/nunomaduro/collision/src/Contracts/Writer.php deleted file mode 100644 index dde87d3..0000000 --- a/paragonik-backend/vendor/nunomaduro/collision/src/Contracts/Writer.php +++ /dev/null @@ -1,74 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace NunoMaduro\Collision\Contracts; - -use Whoops\Exception\Inspector; -use Symfony\Component\Console\Output\OutputInterface; - -/** - * This is the Collision Writer contract. - * - * @author Nuno Maduro - */ -interface Writer -{ - /** - * Ignores traces where the file string matches one - * of the provided regex expressions. - * - * @param string[] $ignore The regex expressions. - * - * @return \NunoMaduro\Collision\Contracts\Writer - */ - public function ignoreFilesIn(array $ignore): Writer; - - /** - * Declares whether or not the Writer should show the trace. - * - * @param bool $show - * - * @return \NunoMaduro\Collision\Contracts\Writer - */ - public function showTrace(bool $show): Writer; - - /** - * Declares whether or not the Writer should show the editor. - * - * @param bool $show - * - * @return \NunoMaduro\Collision\Contracts\Writer - */ - public function showEditor(bool $show): Writer; - - /** - * Writes the details of the exception on the console. - * - * @param \Whoops\Exception\Inspector $inspector - */ - public function write(Inspector $inspector): void; - - /** - * Sets the output. - * - * @param \Symfony\Component\Console\Output\OutputInterface $output - * - * @return \NunoMaduro\Collision\Contracts\Writer - */ - public function setOutput(OutputInterface $output): Writer; - - /** - * Gets the output. - * - * @return \Symfony\Component\Console\Output\OutputInterface - */ - public function getOutput(): OutputInterface; -} diff --git a/paragonik-backend/vendor/nunomaduro/collision/src/Handler.php b/paragonik-backend/vendor/nunomaduro/collision/src/Handler.php deleted file mode 100644 index 6cb7ae2..0000000 --- a/paragonik-backend/vendor/nunomaduro/collision/src/Handler.php +++ /dev/null @@ -1,70 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace NunoMaduro\Collision; - -use Whoops\Handler\Handler as AbstractHandler; -use Symfony\Component\Console\Output\OutputInterface; -use NunoMaduro\Collision\Contracts\Writer as WriterContract; -use NunoMaduro\Collision\Contracts\Handler as HandlerContract; - -/** - * This is an Collision Handler implementation. - * - * @author Nuno Maduro - */ -class Handler extends AbstractHandler implements HandlerContract -{ - /** - * Holds an instance of the writer. - * - * @var \NunoMaduro\Collision\Contracts\Writer - */ - protected $writer; - - /** - * Creates an instance of the Handler. - * - * @param \NunoMaduro\Collision\Contracts\Writer|null $writer - */ - public function __construct(WriterContract $writer = null) - { - $this->writer = $writer ?: new Writer; - } - - /** - * {@inheritdoc} - */ - public function handle() - { - $this->writer->write($this->getInspector()); - - return static::QUIT; - } - - /** - * {@inheritdoc} - */ - public function setOutput(OutputInterface $output): HandlerContract - { - $this->writer->setOutput($output); - - return $this; - } - - /** - * {@inheritdoc} - */ - public function getWriter(): WriterContract - { - return $this->writer; - } -} diff --git a/paragonik-backend/vendor/nunomaduro/collision/src/Highlighter.php b/paragonik-backend/vendor/nunomaduro/collision/src/Highlighter.php deleted file mode 100644 index b364c78..0000000 --- a/paragonik-backend/vendor/nunomaduro/collision/src/Highlighter.php +++ /dev/null @@ -1,61 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace NunoMaduro\Collision; - -use JakubOnderka\PhpConsoleColor\ConsoleColor; -use JakubOnderka\PhpConsoleHighlighter\Highlighter as BaseHighlighter; -use NunoMaduro\Collision\Contracts\Highlighter as HighlighterContract; - -/** - * This is an Collision Highlighter implementation. - * - * @author Nuno Maduro - */ -class Highlighter extends BaseHighlighter implements HighlighterContract -{ - /** - * Holds the theme. - * - * @var array - */ - protected $theme = [ - BaseHighlighter::TOKEN_STRING => ['light_gray'], - BaseHighlighter::TOKEN_COMMENT => ['dark_gray', 'italic'], - BaseHighlighter::TOKEN_KEYWORD => ['yellow'], - BaseHighlighter::TOKEN_DEFAULT => ['default', 'bold'], - BaseHighlighter::TOKEN_HTML => ['blue', 'bold'], - BaseHighlighter::ACTUAL_LINE_MARK => ['bg_red', 'bold'], - BaseHighlighter::LINE_NUMBER => ['dark_gray', 'italic'], - ]; - - /** - * Creates an instance of the Highlighter. - * - * @param \JakubOnderka\PhpConsoleColor\ConsoleColor|null $color - */ - public function __construct(ConsoleColor $color = null) - { - parent::__construct($color = $color ?: new ConsoleColor); - - foreach ($this->theme as $name => $styles) { - $color->addTheme((string) $name, $styles); - } - } - - /** - * {@inheritdoc} - */ - public function highlight(string $content, int $line): string - { - return rtrim($this->getCodeSnippet($content, $line, 4, 4)); - } -} diff --git a/paragonik-backend/vendor/nunomaduro/collision/src/Provider.php b/paragonik-backend/vendor/nunomaduro/collision/src/Provider.php deleted file mode 100644 index 0730761..0000000 --- a/paragonik-backend/vendor/nunomaduro/collision/src/Provider.php +++ /dev/null @@ -1,70 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace NunoMaduro\Collision; - -use Whoops\Run; -use Whoops\RunInterface; -use NunoMaduro\Collision\Contracts\Handler as HandlerContract; -use NunoMaduro\Collision\Contracts\Provider as ProviderContract; - -/** - * This is an Collision Provider implementation. - * - * @author Nuno Maduro - */ -class Provider implements ProviderContract -{ - /** - * Holds an instance of the Run. - * - * @var \Whoops\RunInterface - */ - protected $run; - - /** - * Holds an instance of the handler. - * - * @var \NunoMaduro\Collision\Contracts\Handler - */ - protected $handler; - - /** - * Creates a new instance of the Provider. - * - * @param \Whoops\RunInterface|null $run - * @param \NunoMaduro\Collision\Contracts\Handler|null $handler - */ - public function __construct(RunInterface $run = null, HandlerContract $handler = null) - { - $this->run = $run ?: new Run; - $this->handler = $handler ?: new Handler; - } - - /** - * {@inheritdoc} - */ - public function register(): ProviderContract - { - $this->run->pushHandler($this->handler) - ->register(); - - return $this; - } - - /** - * {@inheritdoc} - */ - public function getHandler(): HandlerContract - { - return $this->handler; - } -} diff --git a/paragonik-backend/vendor/nunomaduro/collision/src/Writer.php b/paragonik-backend/vendor/nunomaduro/collision/src/Writer.php deleted file mode 100644 index 8bb34ef..0000000 --- a/paragonik-backend/vendor/nunomaduro/collision/src/Writer.php +++ /dev/null @@ -1,273 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace NunoMaduro\Collision; - -use Whoops\Exception\Frame; -use Whoops\Exception\Inspector; -use Symfony\Component\Console\Output\ConsoleOutput; -use Symfony\Component\Console\Output\OutputInterface; -use NunoMaduro\Collision\Contracts\Writer as WriterContract; -use NunoMaduro\Collision\Contracts\Highlighter as HighlighterContract; -use NunoMaduro\Collision\Contracts\ArgumentFormatter as ArgumentFormatterContract; - -/** - * This is an Collision Writer implementation. - * - * @author Nuno Maduro - */ -class Writer implements WriterContract -{ - /** - * The number of frames if no verbosity is specified. - */ - const VERBOSITY_NORMAL_FRAMES = 1; - - /** - * Holds an instance of the Output. - * - * @var \Symfony\Component\Console\Output\OutputInterface - */ - protected $output; - - /** - * Holds an instance of the Argument Formatter. - * - * @var \NunoMaduro\Collision\Contracts\ArgumentFormatter - */ - protected $argumentFormatter; - - /** - * Holds an instance of the Highlighter. - * - * @var \NunoMaduro\Collision\Contracts\Highlighter - */ - protected $highlighter; - - /** - * Ignores traces where the file string matches one - * of the provided regex expressions. - * - * @var string[] - */ - protected $ignore = []; - - /** - * Declares whether or not the trace should appear. - * - * @var bool - */ - protected $showTrace = true; - - /** - * Declares whether or not the editor should appear. - * - * @var bool - */ - protected $showEditor = true; - - /** - * Creates an instance of the writer. - * - * @param \Symfony\Component\Console\Output\OutputInterface|null $output - * @param \NunoMaduro\Collision\Contracts\ArgumentFormatter|null $argumentFormatter - * @param \NunoMaduro\Collision\Contracts\Highlighter|null $highlighter - */ - public function __construct( - OutputInterface $output = null, - ArgumentFormatterContract $argumentFormatter = null, - HighlighterContract $highlighter = null - ) { - $this->output = $output ?: new ConsoleOutput; - $this->argumentFormatter = $argumentFormatter ?: new ArgumentFormatter; - $this->highlighter = $highlighter ?: new Highlighter; - } - - /** - * {@inheritdoc} - */ - public function write(Inspector $inspector): void - { - $this->renderTitle($inspector); - - $frames = $this->getFrames($inspector); - - $editorFrame = array_shift($frames); - if ($this->showEditor && $editorFrame !== null) { - $this->renderEditor($editorFrame); - } - - if ($this->showTrace && ! empty($frames)) { - $this->renderTrace($frames); - } else { - $this->output->writeln(''); - } - } - - /** - * {@inheritdoc} - */ - public function ignoreFilesIn(array $ignore): WriterContract - { - $this->ignore = $ignore; - - return $this; - } - - /** - * {@inheritdoc} - */ - public function showTrace(bool $show): WriterContract - { - $this->showTrace = $show; - - return $this; - } - - /** - * {@inheritdoc} - */ - public function showEditor(bool $show): WriterContract - { - $this->showEditor = $show; - - return $this; - } - - /** - * {@inheritdoc} - */ - public function setOutput(OutputInterface $output): WriterContract - { - $this->output = $output; - - return $this; - } - - /** - * {@inheritdoc} - */ - public function getOutput(): OutputInterface - { - return $this->output; - } - - /** - * Returns pertinent frames. - * - * @param \Whoops\Exception\Inspector $inspector - * - * @return array - */ - protected function getFrames(Inspector $inspector): array - { - return $inspector->getFrames() - ->filter( - function ($frame) { - foreach ($this->ignore as $ignore) { - if (preg_match($ignore, $frame->getFile())) { - return false; - } - } - - return true; - } - ) - ->getArray(); - } - - /** - * Renders the title of the exception. - * - * @param \Whoops\Exception\Inspector $inspector - * - * @return \NunoMaduro\Collision\Contracts\Writer - */ - protected function renderTitle(Inspector $inspector): WriterContract - { - $exception = $inspector->getException(); - $message = $exception->getMessage(); - $class = $inspector->getExceptionName(); - - $this->render(" $class : $message"); - - return $this; - } - - /** - * Renders the editor containing the code that was the - * origin of the exception. - * - * @param \Whoops\Exception\Frame $frame - * - * @return \NunoMaduro\Collision\Contracts\Writer - */ - protected function renderEditor(Frame $frame): WriterContract - { - $this->render('at '.$frame->getFile().''.':'.$frame->getLine().''); - - $content = $this->highlighter->highlight((string) $frame->getFileContents(), (int) $frame->getLine()); - - $this->output->writeln($content); - - return $this; - } - - /** - * Renders the trace of the exception. - * - * @param array $frames - * - * @return \NunoMaduro\Collision\Contracts\Writer - */ - protected function renderTrace(array $frames): WriterContract - { - $this->render('Exception trace:'); - foreach ($frames as $i => $frame) { - if ($i > static::VERBOSITY_NORMAL_FRAMES && $this->output->getVerbosity( - ) < OutputInterface::VERBOSITY_VERBOSE) { - $this->render('Please use the argument -v to see more details.'); - break; - } - - $file = $frame->getFile(); - $line = $frame->getLine(); - $class = empty($frame->getClass()) ? '' : $frame->getClass().'::'; - $function = $frame->getFunction(); - $args = $this->argumentFormatter->format($frame->getArgs()); - $pos = str_pad((int) $i + 1, 4, ' '); - - $this->render("$pos$class$function($args)"); - $this->render(" $file:$line", false); - } - - return $this; - } - - /** - * Renders an message into the console. - * - * @param string $message - * @param bool $break - * - * @return $this - */ - protected function render(string $message, bool $break = true): WriterContract - { - if ($break) { - $this->output->writeln(''); - } - - $this->output->writeln(" $message"); - - return $this; - } -} diff --git a/paragonik-backend/vendor/opis/closure/CHANGELOG.md b/paragonik-backend/vendor/opis/closure/CHANGELOG.md deleted file mode 100644 index 44370bf..0000000 --- a/paragonik-backend/vendor/opis/closure/CHANGELOG.md +++ /dev/null @@ -1,220 +0,0 @@ -CHANGELOG ---------- - -### v3.5.1, 2019.11.30 - -- Bugfix. See #47 - -### v3.5.0, 2019.11.29 - -- Added support for short closures (arrow functions) -- Added `isShortClosure` method to `Opis\Closure\ReflectionClosure` - -### v3.4.2, 2019.11.29 - -- Added `stream_set_option()` - -### v3.4.1, 2019.10.19 - -- Fixed a [bug](https://github.com/opis/closure/issues/40) that prevented serialization to work correctly. - -### v3.4.0, 2019.09.03 - -- Added `createClosure` static method in `Opis\Closure\SerializableClosure`. -This method creates a new closure from arbitrary code, emulating `create_function`, -but without using eval - -### v3.3.1, 2019.07.10 - -- Use `sha1` instead of `md5` for hashing file names in `Opis\Closure\ReflectionClosure` class - -### v3.3.0, 2019.05.31 - -- Fixed a bug that prevented signed closures to properly work when the serialized string -contains invalid UTF-8 chars. Starting with this version `json_encode` is no longer used -when signing a closure. Backward compatibility is maintained and all closures that were -previously signed using the old method will continue to work. - -### v3.2.0, 2019.05.05 - -- Since an unsigned closure can be unserialized when no security provider is set, -there is no reason to treat differently a signed closure in the same situation. -Therefore, the `Opis\Closure\SecurityException` exception is no longer thrown when -unserializing a signed closure, if no security provider is set. - -### v3.1.6, 2019.02.22 - -- Fixed a bug that occurred when trying to set properties of classes that were not defined in user-land. -Those properties are now ignored. - -### v3.1.5, 2019.01.14 - -- Improved parser - -### v3.1.4, 2019.01.14 - -- Added support for static methods that are named using PHP keywords or magic constants. -Ex: `A::new()`, `A::use()`, `A::if()`, `A::function()`, `A::__DIR__()`, etc. -- Used `@internal` to mark classes & methods that are for internal use only and -backward compatibility is not guaranteed. - -### v3.1.3, 2019.01.07 - -- Fixed a bug that prevented traits to be correctly resolved when used by an -anonymous class -- Fixed a bug that occurred when `$this` keyword was used inside an anonymous class - -### v3.1.2, 2018.12.16 - -* Fixed a bug regarding comma trail in group-use statements. See [issue 23](https://github.com/opis/closure/issues/23) - -### v3.1.1, 2018.10.02 - -* Fixed a bug where `parent` keyword was treated like a class-name and scope was not added to the -serialized closure -* Fixed a bug where return type was not properly handled for nested closures -* Support for anonymous classes was improved - -### v3.1.0, 2018.09.20 - -* Added `transformUseVariables` and `resolveUseVariables` to -`Opis\Closure\SerializableClosure` class. -* Added `removeSecurityProvider` static method to -`Opis\Closure\SerializableClosure` class. -* Fixed some security related issues where a user was able to unserialize an unsigned -closure, even when a security provider was in use. - -### v3.0.12, 2018.02.23 - -* Bugfix. See [issue 20](https://github.com/opis/closure/issues/20) - -### v3.0.11, 2018.01.22 - -* Bugfix. See [issue 18](https://github.com/opis/closure/issues/18) - -### v3.0.10, 2018.01.04 - -* Improved support for PHP 7.1 & 7.2 - -### v3.0.9, 2018.01.04 - -* Fixed a bug where the return type was not properly resolved. -See [issue 17](https://github.com/opis/closure/issues/17) -* Added more tests - -### v3.0.8, 2017.12.18 - -* Fixed a bug. See [issue 16](https://github.com/opis/closure/issues/16) - -### v3.0.7, 2017.10.31 - -* Bugfix: static properties are ignored now, since they are not serializable - -### v3.0.6, 2017.10.06 - -* Fixed a bug introduced by accident in 3.0.5 - -### v3.0.5, 2017.09.18 - -* Fixed a bug related to nested references - -### v3.0.4, 2017.09.18 - -* \[*internal*\] Refactored `SerializableClosure::mapPointers` method -* \[*internal*\] Added a new optional argument to `SerializableClosure::unwrapClosures` -* \[*internal*\] Removed `SerializableClosure::getClosurePointer` method -* Fixed various bugs - -### v3.0.3, 2017.09.06 - -* Fixed a bug related to nested object references -* \[*internal*\] `Opis\Closure\ClosureScope` now extends `SplObjectStorage` -* \[*internal*\] The `storage` property was removed from `Opis\Closure\ClosureScope` -* \[*internal*\] The `instances` and `objects` properties were removed from `Opis\Closure\ClosureContext` - -### v3.0.2, 2017.08.28 - -* Fixed a bug where `$this` object was not handled properly inside the -`SerializableClosre::serialize` method. - -### v3.0.1, 2017.04.13 - -* Fixed a bug in 'ignore_next' state - -### v3.0.0, 2017.04.07 - -* Dropped PHP 5.3 support -* Moved source files from `lib` to `src` folder -* Removed second parameter from `Opis\Closure\SerializableClosure::from` method and from constructor -* Removed `Opis\Closure\{SecurityProviderInterface, DefaultSecurityProvider, SecureClosure}` classes -* Refactored how signed closures were handled -* Added `wrapClosures` and `unwrapClosures` static methods to `Opis\Closure\SerializableClosure` class -* Added `Opis\Colosure\serialize` and `Opis\Closure\unserialize` functions -* Improved serialization. You can now serialize arbitrary objects and the library will automatically wrap all closures - -### v2.4.0, 2016.12.16 - -* The parser was refactored and improved -* Refactored `Opis\Closure\SerializableClosure::__invoke` method -* `Opis\Closure\{ISecurityProvider, SecurityProvider}` were added -* `Opis\Closure\{SecurityProviderInterface, DefaultSecurityProvider, SecureClosure}` were deprecated -and they will be removed in the next major version -* `setSecretKey` and `addSecurityProvider` static methods were added to `Opis\Closure\SerializableClosure` - -### v2.3.2, 2016.12.15 - -* Fixed a bug that prevented namespace resolution to be done properly - -### v2.3.1, 2016.12.13 - -* Hotfix. See [PR](https://github.com/opis/closure/pull/7) - -### v2.3.0, 2016.11.17 - -* Added `isBindingRequired` and `isScopeRequired` to the `Opis\Closure\ReflectionClosure` class -* Automatically detects when the scope and/or the bound object of a closure needs to be serialized. - -### v2.2.1, 2016.08.20 - -* Fixed a bug in `Opis\Closure\ReflectionClosure::fetchItems` - -### v2.2.0, 2016.07.26 - -* Fixed CS -* `Opis\Closure\ClosureContext`, `Opis\Closure\ClosureScope`, `Opis\Closure\SelfReference` - and `Opis\Closure\SecurityException` classes were moved into separate files -* Added support for PHP7 syntax -* Fixed some bugs in `Opis\Closure\ReflectionClosure` class -* Improved closure parser -* Added an analyzer for SuperClosure library - -### v2.1.0, 2015.09.30 - -* Added support for the missing `__METHOD__`, `__FUNCTION__` and `__TRAIT__` magic constants -* Added some security related classes and interfaces: `Opis\Closure\SecurityProviderInterface`, -`Opis\Closure\DefaultSecurityProvider`, `Opis\Closure\SecureClosure`, `Opis\Closure\SecurityException`. -* Fiexed a bug in `Opis\Closure\ReflectionClosure::getClasses` method -* Other minor bugfixes -* Added support for static closures -* Added public `isStatic` method to `Opis\Closure\ReflectionClosure` class - - -### v2.0.1, 2015.09.23 - -* Removed `branch-alias` property from `composer.json` -* Bugfix. See [issue #6](https://github.com/opis/closure/issues/6) - -### v2.0.0, 2015.07.31 - -* The closure parser was improved -* Class names are now automatically resolved -* Added support for the `#trackme` directive which allows tracking closure's residing source - -### v1.3.0, 2014.10.18 - -* Added autoload file -* Changed README file - -### Opis Closure 1.2.2 - -* Started changelog diff --git a/paragonik-backend/vendor/opis/closure/LICENSE b/paragonik-backend/vendor/opis/closure/LICENSE deleted file mode 100644 index 9c0a19b..0000000 --- a/paragonik-backend/vendor/opis/closure/LICENSE +++ /dev/null @@ -1,20 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2018-2019 Zindex Software - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/paragonik-backend/vendor/opis/closure/NOTICE b/paragonik-backend/vendor/opis/closure/NOTICE deleted file mode 100644 index ae5caa6..0000000 --- a/paragonik-backend/vendor/opis/closure/NOTICE +++ /dev/null @@ -1,9 +0,0 @@ -Opis Closure -Copyright 2018-2019 Zindex Software - -This product includes software developed at -Zindex Software (http://zindex.software). - -This software was originally developed by Marius Sarca and Sorin Sarca -(Copyright 2014-2018). The copyright info was changed with the permission -of the original authors. \ No newline at end of file diff --git a/paragonik-backend/vendor/opis/closure/README.md b/paragonik-backend/vendor/opis/closure/README.md deleted file mode 100644 index b98d68d..0000000 --- a/paragonik-backend/vendor/opis/closure/README.md +++ /dev/null @@ -1,98 +0,0 @@ -Opis Closure -==================== -[![Build Status](https://travis-ci.org/opis/closure.png)](https://travis-ci.org/opis/closure) -[![Latest Stable Version](https://poser.pugx.org/opis/closure/v/stable.png)](https://packagist.org/packages/opis/closure) -[![Latest Unstable Version](https://poser.pugx.org/opis/closure/v/unstable.png)](https://packagist.org/packages/opis/closure) -[![License](https://poser.pugx.org/opis/closure/license.png)](https://packagist.org/packages/opis/closure) - -Serializable closures ---------------------- -**Opis Closure** is a library that aims to overcome PHP's limitations regarding closure -serialization by providing a wrapper that will make all closures serializable. - -**The library's key features:** - -- Serialize any closure -- Serialize arbitrary objects -- Doesn't use `eval` for closure serialization or unserialization -- Works with any PHP version that has support for closures -- Supports PHP 7 syntax -- Handles all variables referenced/imported in `use()` and automatically wraps all referenced/imported closures for -proper serialization -- Handles recursive closures -- Handles magic constants like `__FILE__`, `__DIR__`, `__LINE__`, `__NAMESPACE__`, `__CLASS__`, -`__TRAIT__`, `__METHOD__` and `__FUNCTION__`. -- Automatically resolves all class names, function names and constant names used inside the closure -- Track closure's residing source by using the `#trackme` directive -- Simple and very fast parser -- Any error or exception, that might occur when executing an unserialized closure, can be caught and treated properly -- You can serialize/unserialize any closure unlimited times, even those previously unserialized -(this is possible because `eval()` is not used for unserialization) -- Handles static closures -- Supports cryptographically signed closures -- Provides a reflector that can give you information about the serialized closure -- Provides an analyzer for *SuperClosure* library -- Automatically detects when the scope and/or the bound object of a closure needs to be serialized -in order for the closure to work after deserialization - -### Documentation - -The full documentation for this library can be found [here][documentation]. - -### License - -**Opis Closure** is licensed under the [MIT License (MIT)][license]. - -### Requirements - -* PHP ^5.4 || ^7.0 - -## Installation - -**Opis Closure** is available on [Packagist] and it can be installed from a -command line interface by using [Composer]. - -```bash -composer require opis/closure -``` - -Or you could directly reference it into your `composer.json` file as a dependency - -```json -{ - "require": { - "opis/closure": "^3.5" - } -} -``` - -### Migrating from 2.x - -If your project needs to support PHP 5.3 you can continue using the `2.x` version -of **Opis Closure**. Otherwise, assuming you are not using one of the removed/refactored classes or features(see -[CHANGELOG]), migrating to version `3.x` is simply a matter of updating your `composer.json` file. - -### Semantic versioning - -**Opis Closure** follows [semantic versioning][SemVer] specifications. - -### Arbitrary object serialization - -This feature was primarily introduced in order to support serializing an object bound -to a closure and available via `$this`. The implementation is far from being perfect -and it's really hard to make it work flawless. I will try to improve this, but I can -not guarantee anything. So my advice regarding the `Opis\Closure\serialize|unserialize` -functions is to use them with caution. - -### SuperClosure support - -**Opis Closure** is shipped with an analyzer(`Opis\Closure\Analyzer`) which -aims to provide *Opis Closure*'s parsing precision and speed to [SuperClosure]. - -[documentation]: https://www.opis.io/closure "Opis Closure" -[license]: http://opensource.org/licenses/MIT "MIT License" -[Packagist]: https://packagist.org/packages/opis/closure "Packagist" -[Composer]: https://getcomposer.org "Composer" -[SuperClosure]: https://github.com/jeremeamia/super_closure "SuperClosure" -[SemVer]: http://semver.org/ "Semantic versioning" -[CHANGELOG]: https://github.com/opis/closure/blob/master/CHANGELOG.md "Changelog" \ No newline at end of file diff --git a/paragonik-backend/vendor/opis/closure/autoload.php b/paragonik-backend/vendor/opis/closure/autoload.php deleted file mode 100644 index a928014..0000000 --- a/paragonik-backend/vendor/opis/closure/autoload.php +++ /dev/null @@ -1,39 +0,0 @@ -getClosureScopeClass(); - - $data = [ - 'reflection' => $reflection, - 'code' => $reflection->getCode(), - 'hasThis' => $reflection->isBindingRequired(), - 'context' => $reflection->getUseVariables(), - 'hasRefs' => false, - 'binding' => $reflection->getClosureThis(), - 'scope' => $scope ? $scope->getName() : null, - 'isStatic' => $reflection->isStatic(), - ]; - - return $data; - } - - /** - * @param array $data - * @return mixed - */ - protected function determineCode(array &$data) - { - return null; - } - - /** - * @param array $data - * @return mixed - */ - protected function determineContext(array &$data) - { - return null; - } - -} diff --git a/paragonik-backend/vendor/opis/closure/src/ClosureContext.php b/paragonik-backend/vendor/opis/closure/src/ClosureContext.php deleted file mode 100644 index d68cf98..0000000 --- a/paragonik-backend/vendor/opis/closure/src/ClosureContext.php +++ /dev/null @@ -1,34 +0,0 @@ -scope = new ClosureScope(); - $this->locks = 0; - } -} \ No newline at end of file diff --git a/paragonik-backend/vendor/opis/closure/src/ClosureScope.php b/paragonik-backend/vendor/opis/closure/src/ClosureScope.php deleted file mode 100644 index 71ad414..0000000 --- a/paragonik-backend/vendor/opis/closure/src/ClosureScope.php +++ /dev/null @@ -1,25 +0,0 @@ -content = "length = strlen($this->content); - return true; - } - - public function stream_read($count) - { - $value = substr($this->content, $this->pointer, $count); - $this->pointer += $count; - return $value; - } - - public function stream_eof() - { - return $this->pointer >= $this->length; - } - - public function stream_set_option($option, $arg1, $arg2) - { - return false; - } - - public function stream_stat() - { - $stat = stat(__FILE__); - $stat[7] = $stat['size'] = $this->length; - return $stat; - } - - public function url_stat($path, $flags) - { - $stat = stat(__FILE__); - $stat[7] = $stat['size'] = $this->length; - return $stat; - } - - public function stream_seek($offset, $whence = SEEK_SET) - { - $crt = $this->pointer; - - switch ($whence) { - case SEEK_SET: - $this->pointer = $offset; - break; - case SEEK_CUR: - $this->pointer += $offset; - break; - case SEEK_END: - $this->pointer = $this->length + $offset; - break; - } - - if ($this->pointer < 0 || $this->pointer >= $this->length) { - $this->pointer = $crt; - return false; - } - - return true; - } - - public function stream_tell() - { - return $this->pointer; - } - - public static function register() - { - if (!static::$isRegistered) { - static::$isRegistered = stream_wrapper_register(static::STREAM_PROTO, __CLASS__); - } - } - -} diff --git a/paragonik-backend/vendor/opis/closure/src/ISecurityProvider.php b/paragonik-backend/vendor/opis/closure/src/ISecurityProvider.php deleted file mode 100644 index d3b0a29..0000000 --- a/paragonik-backend/vendor/opis/closure/src/ISecurityProvider.php +++ /dev/null @@ -1,25 +0,0 @@ -code = $code; - parent::__construct($closure); - } - - /** - * @return bool - */ - public function isStatic() - { - if ($this->isStaticClosure === null) { - $this->isStaticClosure = strtolower(substr($this->getCode(), 0, 6)) === 'static'; - } - - return $this->isStaticClosure; - } - - public function isShortClosure() - { - if ($this->isShortClosure === null) { - $code = $this->getCode(); - if ($this->isStatic()) { - $code = substr($code, 6); - } - $this->isShortClosure = strtolower(substr(trim($code), 0, 2)) === 'fn'; - } - - return $this->isShortClosure; - } - - /** - * @return string - */ - public function getCode() - { - if($this->code !== null){ - return $this->code; - } - - $fileName = $this->getFileName(); - $line = $this->getStartLine() - 1; - - $match = ClosureStream::STREAM_PROTO . '://'; - - if ($line === 1 && substr($fileName, 0, strlen($match)) === $match) { - return $this->code = substr($fileName, strlen($match)); - } - - $className = null; - $fn = false; - - - if (null !== $className = $this->getClosureScopeClass()) { - $className = '\\' . trim($className->getName(), '\\'); - } - - - if($php7 = PHP_MAJOR_VERSION === 7){ - switch (PHP_MINOR_VERSION){ - case 0: - $php7_types = array('string', 'int', 'bool', 'float'); - break; - case 1: - $php7_types = array('string', 'int', 'bool', 'float', 'void'); - break; - case 2: - default: - $php7_types = array('string', 'int', 'bool', 'float', 'void', 'object'); - } - $fn = PHP_MINOR_VERSION === 4; - } - - $ns = $this->getNamespaceName(); - $nsf = $ns == '' ? '' : ($ns[0] == '\\' ? $ns : '\\' . $ns); - - $_file = var_export($fileName, true); - $_dir = var_export(dirname($fileName), true); - $_namespace = var_export($ns, true); - $_class = var_export(trim($className, '\\'), true); - $_function = $ns . ($ns == '' ? '' : '\\') . '{closure}'; - $_method = ($className == '' ? '' : trim($className, '\\') . '::') . $_function; - $_function = var_export($_function, true); - $_method = var_export($_method, true); - $_trait = null; - - $tokens = $this->getTokens(); - $state = $lastState = 'start'; - $inside_anonymous = false; - $isShortClosure = false; - $anonymous_mark = 0; - $open = 0; - $code = ''; - $id_start = $id_start_ci = $id_name = $context = ''; - $classes = $functions = $constants = null; - $use = array(); - $lineAdd = 0; - $isUsingScope = false; - $isUsingThisObject = false; - - for($i = 0, $l = count($tokens); $i < $l; $i++) { - $token = $tokens[$i]; - switch ($state) { - case 'start': - if ($token[0] === T_FUNCTION || $token[0] === T_STATIC) { - $code .= $token[1]; - $state = $token[0] === T_FUNCTION ? 'function' : 'static'; - } elseif ($fn && $token[0] === T_FN) { - $isShortClosure = true; - $code .= $token[1]; - $state = 'closure_args'; - } - break; - case 'static': - if ($token[0] === T_WHITESPACE || $token[0] === T_COMMENT || $token[0] === T_FUNCTION) { - $code .= $token[1]; - if ($token[0] === T_FUNCTION) { - $state = 'function'; - } - } elseif ($fn && $token[0] === T_FN) { - $isShortClosure = true; - $code .= $token[1]; - $state = 'closure_args'; - } else { - $code = ''; - $state = 'start'; - } - break; - case 'function': - switch ($token[0]){ - case T_STRING: - $code = ''; - $state = 'named_function'; - break; - case '(': - $code .= '('; - $state = 'closure_args'; - break; - default: - $code .= is_array($token) ? $token[1] : $token; - } - break; - case 'named_function': - if($token[0] === T_FUNCTION || $token[0] === T_STATIC){ - $code = $token[1]; - $state = $token[0] === T_FUNCTION ? 'function' : 'static'; - } elseif ($fn && $token[0] === T_FN) { - $isShortClosure = true; - $code .= $token[1]; - $state = 'closure_args'; - } - break; - case 'closure_args': - switch ($token[0]){ - case T_NS_SEPARATOR: - case T_STRING: - $id_start = $token[1]; - $id_start_ci = strtolower($id_start); - $id_name = ''; - $context = 'args'; - $state = 'id_name'; - $lastState = 'closure_args'; - break; - case T_USE: - $code .= $token[1]; - $state = 'use'; - break; - case T_DOUBLE_ARROW: - $code .= $token[1]; - if ($isShortClosure) { - $state = 'closure'; - } - break; - case '=': - $code .= $token; - $lastState = 'closure_args'; - $state = 'ignore_next'; - break; - case ':': - $code .= ':'; - $state = 'return'; - break; - case '{': - $code .= '{'; - $state = 'closure'; - $open++; - break; - default: - $code .= is_array($token) ? $token[1] : $token; - } - break; - case 'use': - switch ($token[0]){ - case T_VARIABLE: - $use[] = substr($token[1], 1); - $code .= $token[1]; - break; - case '{': - $code .= '{'; - $state = 'closure'; - $open++; - break; - case ':': - $code .= ':'; - $state = 'return'; - break; - default: - $code .= is_array($token) ? $token[1] : $token; - break; - } - break; - case 'return': - switch ($token[0]){ - case T_WHITESPACE: - case T_COMMENT: - case T_DOC_COMMENT: - $code .= $token[1]; - break; - case T_NS_SEPARATOR: - case T_STRING: - $id_start = $token[1]; - $id_start_ci = strtolower($id_start); - $id_name = ''; - $context = 'return_type'; - $state = 'id_name'; - $lastState = 'return'; - break 2; - case T_DOUBLE_ARROW: - $code .= $token[1]; - if ($isShortClosure) { - $state = 'closure'; - } - break; - case '{': - $code .= '{'; - $state = 'closure'; - $open++; - break; - default: - $code .= is_array($token) ? $token[1] : $token; - break; - } - break; - case 'closure': - switch ($token[0]){ - case T_CURLY_OPEN: - case T_DOLLAR_OPEN_CURLY_BRACES: - case T_STRING_VARNAME: - case '{': - $code .= '{'; - $open++; - break; - case '}': - $code .= '}'; - if(--$open === 0 && !$isShortClosure){ - break 3; - } elseif ($inside_anonymous) { - $inside_anonymous = !($open === $anonymous_mark); - } - break; - case '(': - case '[': - $code .= $token[0]; - if ($isShortClosure) { - $open++; - } - break; - case ')': - case ']': - if ($isShortClosure) { - if ($open === 0) { - break 3; - } - --$open; - } - $code .= $token[0]; - break; - case ',': - case ';': - if ($isShortClosure && $open === 0) { - break 3; - } - $code .= $token[0]; - break; - case T_LINE: - $code .= $token[2] - $line + $lineAdd; - break; - case T_FILE: - $code .= $_file; - break; - case T_DIR: - $code .= $_dir; - break; - case T_NS_C: - $code .= $_namespace; - break; - case T_CLASS_C: - $code .= $_class; - break; - case T_FUNC_C: - $code .= $_function; - break; - case T_METHOD_C: - $code .= $_method; - break; - case T_COMMENT: - if (substr($token[1], 0, 8) === '#trackme') { - $timestamp = time(); - $code .= '/**' . PHP_EOL; - $code .= '* Date : ' . date(DATE_W3C, $timestamp) . PHP_EOL; - $code .= '* Timestamp : ' . $timestamp . PHP_EOL; - $code .= '* Line : ' . ($line + 1) . PHP_EOL; - $code .= '* File : ' . $_file . PHP_EOL . '*/' . PHP_EOL; - $lineAdd += 5; - } else { - $code .= $token[1]; - } - break; - case T_VARIABLE: - if($token[1] == '$this' && !$inside_anonymous){ - $isUsingThisObject = true; - } - $code .= $token[1]; - break; - case T_STATIC: - $isUsingScope = true; - $code .= $token[1]; - break; - case T_NS_SEPARATOR: - case T_STRING: - $id_start = $token[1]; - $id_start_ci = strtolower($id_start); - $id_name = ''; - $context = 'root'; - $state = 'id_name'; - $lastState = 'closure'; - break 2; - case T_NEW: - $code .= $token[1]; - $context = 'new'; - $state = 'id_start'; - $lastState = 'closure'; - break 2; - case T_USE: - $code .= $token[1]; - $context = 'use'; - $state = 'id_start'; - $lastState = 'closure'; - break; - case T_INSTANCEOF: - $code .= $token[1]; - $context = 'instanceof'; - $state = 'id_start'; - $lastState = 'closure'; - break; - case T_OBJECT_OPERATOR: - case T_DOUBLE_COLON: - $code .= $token[1]; - $lastState = 'closure'; - $state = 'ignore_next'; - break; - case T_FUNCTION: - $code .= $token[1]; - $state = 'closure_args'; - break; - case T_TRAIT_C: - if ($_trait === null) { - $startLine = $this->getStartLine(); - $endLine = $this->getEndLine(); - $structures = $this->getStructures(); - - $_trait = ''; - - foreach ($structures as &$struct) { - if ($struct['type'] === 'trait' && - $struct['start'] <= $startLine && - $struct['end'] >= $endLine - ) { - $_trait = ($ns == '' ? '' : $ns . '\\') . $struct['name']; - break; - } - } - - $_trait = var_export($_trait, true); - } - - $code .= $_trait; - break; - default: - $code .= is_array($token) ? $token[1] : $token; - } - break; - case 'ignore_next': - switch ($token[0]){ - case T_WHITESPACE: - case T_COMMENT: - case T_DOC_COMMENT: - $code .= $token[1]; - break; - case T_CLASS: - case T_NEW: - case T_STATIC: - case T_VARIABLE: - case T_STRING: - case T_CLASS_C: - case T_FILE: - case T_DIR: - case T_METHOD_C: - case T_FUNC_C: - case T_FUNCTION: - case T_INSTANCEOF: - case T_LINE: - case T_NS_C: - case T_TRAIT_C: - case T_USE: - $code .= $token[1]; - $state = $lastState; - break; - default: - $state = $lastState; - $i--; - } - break; - case 'id_start': - switch ($token[0]){ - case T_WHITESPACE: - case T_COMMENT: - case T_DOC_COMMENT: - $code .= $token[1]; - break; - case T_NS_SEPARATOR: - case T_STRING: - case T_STATIC: - $id_start = $token[1]; - $id_start_ci = strtolower($id_start); - $id_name = ''; - $state = 'id_name'; - break 2; - case T_VARIABLE: - $code .= $token[1]; - $state = $lastState; - break; - case T_CLASS: - $code .= $token[1]; - $state = 'anonymous'; - break; - default: - $i--;//reprocess last - $state = 'id_name'; - } - break; - case 'id_name': - switch ($token[0]){ - case T_NS_SEPARATOR: - case T_STRING: - $id_name .= $token[1]; - break; - case T_WHITESPACE: - case T_COMMENT: - case T_DOC_COMMENT: - $id_name .= $token[1]; - break; - case '(': - if ($isShortClosure) { - $open++; - } - if($context === 'new' || false !== strpos($id_name, '\\')){ - if($id_start !== '\\'){ - if ($classes === null) { - $classes = $this->getClasses(); - } - if (isset($classes[$id_start_ci])) { - $id_start = $classes[$id_start_ci]; - } - if($id_start[0] !== '\\'){ - $id_start = $nsf . '\\' . $id_start; - } - } - } else { - if($id_start !== '\\'){ - if($functions === null){ - $functions = $this->getFunctions(); - } - if(isset($functions[$id_start_ci])){ - $id_start = $functions[$id_start_ci]; - } - } - } - $code .= $id_start . $id_name . '('; - $state = $lastState; - break; - case T_VARIABLE: - case T_DOUBLE_COLON: - if($id_start !== '\\') { - if($id_start_ci === 'self' || $id_start_ci === 'static' || $id_start_ci === 'parent'){ - $isUsingScope = true; - } elseif (!($php7 && in_array($id_start_ci, $php7_types))){ - if ($classes === null) { - $classes = $this->getClasses(); - } - if (isset($classes[$id_start_ci])) { - $id_start = $classes[$id_start_ci]; - } - if($id_start[0] !== '\\'){ - $id_start = $nsf . '\\' . $id_start; - } - } - } - $code .= $id_start . $id_name . $token[1]; - $state = $token[0] === T_DOUBLE_COLON ? 'ignore_next' : $lastState; - break; - default: - if($id_start !== '\\'){ - if($context === 'use' || - $context === 'instanceof' || - $context === 'args' || - $context === 'return_type' || - $context === 'extends' - ){ - if($id_start_ci === 'self' || $id_start_ci === 'static' || $id_start_ci === 'parent'){ - $isUsingScope = true; - } elseif (!($php7 && in_array($id_start_ci, $php7_types))){ - if($classes === null){ - $classes = $this->getClasses(); - } - if(isset($classes[$id_start_ci])){ - $id_start = $classes[$id_start_ci]; - } - if($id_start[0] !== '\\'){ - $id_start = $nsf . '\\' . $id_start; - } - } - } else { - if($constants === null){ - $constants = $this->getConstants(); - } - if(isset($constants[$id_start])){ - $id_start = $constants[$id_start]; - } - } - } - $code .= $id_start . $id_name; - $state = $lastState; - $i--;//reprocess last token - } - break; - case 'anonymous': - switch ($token[0]) { - case T_NS_SEPARATOR: - case T_STRING: - $id_start = $token[1]; - $id_start_ci = strtolower($id_start); - $id_name = ''; - $state = 'id_name'; - $context = 'extends'; - $lastState = 'anonymous'; - break; - case '{': - $state = 'closure'; - if (!$inside_anonymous) { - $inside_anonymous = true; - $anonymous_mark = $open; - } - $i--; - break; - default: - $code .= is_array($token) ? $token[1] : $token; - } - break; - } - } - - if ($isShortClosure) { - $code .= ';'; - $this->useVariables = $this->getStaticVariables(); - } else { - $this->useVariables = empty($use) ? $use : array_intersect_key($this->getStaticVariables(), array_flip($use)); - } - - $this->isShortClosure = $isShortClosure; - $this->isBindingRequired = $isUsingThisObject; - $this->isScopeRequired = $isUsingScope; - $this->code = $code; - - return $this->code; - } - - /** - * @return array - */ - public function getUseVariables() - { - if($this->useVariables !== null){ - return $this->useVariables; - } - - $tokens = $this->getTokens(); - $use = array(); - $state = 'start'; - - foreach ($tokens as &$token) { - $is_array = is_array($token); - - switch ($state) { - case 'start': - if ($is_array && $token[0] === T_USE) { - $state = 'use'; - } - break; - case 'use': - if ($is_array) { - if ($token[0] === T_VARIABLE) { - $use[] = substr($token[1], 1); - } - } elseif ($token == ')') { - break 2; - } - break; - } - } - - $this->useVariables = empty($use) ? $use : array_intersect_key($this->getStaticVariables(), array_flip($use)); - - return $this->useVariables; - } - - /** - * return bool - */ - public function isBindingRequired() - { - if($this->isBindingRequired === null){ - $this->getCode(); - } - - return $this->isBindingRequired; - } - - /** - * return bool - */ - public function isScopeRequired() - { - if($this->isScopeRequired === null){ - $this->getCode(); - } - - return $this->isScopeRequired; - } - - /** - * @return string - */ - protected function getHashedFileName() - { - if ($this->hashedName === null) { - $this->hashedName = sha1($this->getFileName()); - } - - return $this->hashedName; - } - - /** - * @return array - */ - protected function getFileTokens() - { - $key = $this->getHashedFileName(); - - if (!isset(static::$files[$key])) { - static::$files[$key] = token_get_all(file_get_contents($this->getFileName())); - } - - return static::$files[$key]; - } - - /** - * @return array - */ - protected function getTokens() - { - if ($this->tokens === null) { - $tokens = $this->getFileTokens(); - $startLine = $this->getStartLine(); - $endLine = $this->getEndLine(); - $results = array(); - $start = false; - - foreach ($tokens as &$token) { - if (!is_array($token)) { - if ($start) { - $results[] = $token; - } - - continue; - } - - $line = $token[2]; - - if ($line <= $endLine) { - if ($line >= $startLine) { - $start = true; - $results[] = $token; - } - - continue; - } - - break; - } - - $this->tokens = $results; - } - - return $this->tokens; - } - - /** - * @return array - */ - protected function getClasses() - { - $key = $this->getHashedFileName(); - - if (!isset(static::$classes[$key])) { - $this->fetchItems(); - } - - return static::$classes[$key]; - } - - /** - * @return array - */ - protected function getFunctions() - { - $key = $this->getHashedFileName(); - - if (!isset(static::$functions[$key])) { - $this->fetchItems(); - } - - return static::$functions[$key]; - } - - /** - * @return array - */ - protected function getConstants() - { - $key = $this->getHashedFileName(); - - if (!isset(static::$constants[$key])) { - $this->fetchItems(); - } - - return static::$constants[$key]; - } - - /** - * @return array - */ - protected function getStructures() - { - $key = $this->getHashedFileName(); - - if (!isset(static::$structures[$key])) { - $this->fetchItems(); - } - - return static::$structures[$key]; - } - - protected function fetchItems() - { - $key = $this->getHashedFileName(); - - $classes = array(); - $functions = array(); - $constants = array(); - $structures = array(); - $tokens = $this->getFileTokens(); - - $open = 0; - $state = 'start'; - $lastState = ''; - $prefix = ''; - $name = ''; - $alias = ''; - $isFunc = $isConst = false; - - $startLine = $endLine = 0; - $structType = $structName = ''; - $structIgnore = false; - - foreach ($tokens as $token) { - - switch ($state) { - case 'start': - switch ($token[0]) { - case T_CLASS: - case T_INTERFACE: - case T_TRAIT: - $state = 'before_structure'; - $startLine = $token[2]; - $structType = $token[0] == T_CLASS - ? 'class' - : ($token[0] == T_INTERFACE ? 'interface' : 'trait'); - break; - case T_USE: - $state = 'use'; - $prefix = $name = $alias = ''; - $isFunc = $isConst = false; - break; - case T_FUNCTION: - $state = 'structure'; - $structIgnore = true; - break; - case T_NEW: - $state = 'new'; - break; - case T_OBJECT_OPERATOR: - case T_DOUBLE_COLON: - $state = 'invoke'; - break; - } - break; - case 'use': - switch ($token[0]) { - case T_FUNCTION: - $isFunc = true; - break; - case T_CONST: - $isConst = true; - break; - case T_NS_SEPARATOR: - $name .= $token[1]; - break; - case T_STRING: - $name .= $token[1]; - $alias = $token[1]; - break; - case T_AS: - $lastState = 'use'; - $state = 'alias'; - break; - case '{': - $prefix = $name; - $name = $alias = ''; - $state = 'use-group'; - break; - case ',': - case ';': - if ($name === '' || $name[0] !== '\\') { - $name = '\\' . $name; - } - - if ($alias !== '') { - if ($isFunc) { - $functions[strtolower($alias)] = $name; - } elseif ($isConst) { - $constants[$alias] = $name; - } else { - $classes[strtolower($alias)] = $name; - } - } - $name = $alias = ''; - $state = $token === ';' ? 'start' : 'use'; - break; - } - break; - case 'use-group': - switch ($token[0]) { - case T_NS_SEPARATOR: - $name .= $token[1]; - break; - case T_STRING: - $name .= $token[1]; - $alias = $token[1]; - break; - case T_AS: - $lastState = 'use-group'; - $state = 'alias'; - break; - case ',': - case '}': - - if ($prefix === '' || $prefix[0] !== '\\') { - $prefix = '\\' . $prefix; - } - - if ($alias !== '') { - if ($isFunc) { - $functions[strtolower($alias)] = $prefix . $name; - } elseif ($isConst) { - $constants[$alias] = $prefix . $name; - } else { - $classes[strtolower($alias)] = $prefix . $name; - } - } - $name = $alias = ''; - $state = $token === '}' ? 'use' : 'use-group'; - break; - } - break; - case 'alias': - if ($token[0] === T_STRING) { - $alias = $token[1]; - $state = $lastState; - } - break; - case 'new': - switch ($token[0]) { - case T_WHITESPACE: - case T_COMMENT: - case T_DOC_COMMENT: - break 2; - case T_CLASS: - $state = 'structure'; - $structIgnore = true; - break; - default: - $state = 'start'; - } - break; - case 'invoke': - switch ($token[0]) { - case T_WHITESPACE: - case T_COMMENT: - case T_DOC_COMMENT: - break 2; - default: - $state = 'start'; - } - break; - case 'before_structure': - if ($token[0] == T_STRING) { - $structName = $token[1]; - $state = 'structure'; - } - break; - case 'structure': - switch ($token[0]) { - case '{': - case T_CURLY_OPEN: - case T_DOLLAR_OPEN_CURLY_BRACES: - case T_STRING_VARNAME: - $open++; - break; - case '}': - if (--$open == 0) { - if(!$structIgnore){ - $structures[] = array( - 'type' => $structType, - 'name' => $structName, - 'start' => $startLine, - 'end' => $endLine, - ); - } - $structIgnore = false; - $state = 'start'; - } - break; - default: - if (is_array($token)) { - $endLine = $token[2]; - } - } - break; - } - } - - static::$classes[$key] = $classes; - static::$functions[$key] = $functions; - static::$constants[$key] = $constants; - static::$structures[$key] = $structures; - } -} diff --git a/paragonik-backend/vendor/opis/closure/src/SecurityException.php b/paragonik-backend/vendor/opis/closure/src/SecurityException.php deleted file mode 100644 index 6a107ee..0000000 --- a/paragonik-backend/vendor/opis/closure/src/SecurityException.php +++ /dev/null @@ -1,18 +0,0 @@ -secret = $secret; - } - - /** - * @inheritdoc - */ - public function sign($closure) - { - return array( - 'closure' => $closure, - 'hash' => base64_encode(hash_hmac('sha256', $closure, $this->secret, true)), - ); - } - - /** - * @inheritdoc - */ - public function verify(array $data) - { - return base64_encode(hash_hmac('sha256', $data['closure'], $this->secret, true)) === $data['hash']; - } -} \ No newline at end of file diff --git a/paragonik-backend/vendor/opis/closure/src/SelfReference.php b/paragonik-backend/vendor/opis/closure/src/SelfReference.php deleted file mode 100644 index 3c6ec80..0000000 --- a/paragonik-backend/vendor/opis/closure/src/SelfReference.php +++ /dev/null @@ -1,31 +0,0 @@ -hash = $hash; - } -} \ No newline at end of file diff --git a/paragonik-backend/vendor/opis/closure/src/SerializableClosure.php b/paragonik-backend/vendor/opis/closure/src/SerializableClosure.php deleted file mode 100644 index c4991cf..0000000 --- a/paragonik-backend/vendor/opis/closure/src/SerializableClosure.php +++ /dev/null @@ -1,668 +0,0 @@ -closure = $closure; - if (static::$context !== null) { - $this->scope = static::$context->scope; - $this->scope->toserialize++; - } - } - - /** - * Get the Closure object - * - * @return Closure The wrapped closure - */ - public function getClosure() - { - return $this->closure; - } - - /** - * Get the reflector for closure - * - * @return ReflectionClosure - */ - public function getReflector() - { - if ($this->reflector === null) { - $this->reflector = new ReflectionClosure($this->closure, $this->code); - $this->code = null; - } - - return $this->reflector; - } - - /** - * Implementation of magic method __invoke() - */ - public function __invoke() - { - return call_user_func_array($this->closure, func_get_args()); - } - - /** - * Implementation of Serializable::serialize() - * - * @return string The serialized closure - */ - public function serialize() - { - if ($this->scope === null) { - $this->scope = new ClosureScope(); - $this->scope->toserialize++; - } - - $this->scope->serializations++; - - $scope = $object = null; - $reflector = $this->getReflector(); - - if($reflector->isBindingRequired()){ - $object = $reflector->getClosureThis(); - static::wrapClosures($object, $this->scope); - if($scope = $reflector->getClosureScopeClass()){ - $scope = $scope->name; - } - } elseif($reflector->isScopeRequired()) { - if($scope = $reflector->getClosureScopeClass()){ - $scope = $scope->name; - } - } - - $this->reference = spl_object_hash($this->closure); - - $this->scope[$this->closure] = $this; - - $use = $this->transformUseVariables($reflector->getUseVariables()); - $code = $reflector->getCode(); - - $this->mapByReference($use); - - $ret = \serialize(array( - 'use' => $use, - 'function' => $code, - 'scope' => $scope, - 'this' => $object, - 'self' => $this->reference, - )); - - if (static::$securityProvider !== null) { - $data = static::$securityProvider->sign($ret); - $ret = '@' . $data['hash'] . '.' . $data['closure']; - } - - if (!--$this->scope->serializations && !--$this->scope->toserialize) { - $this->scope = null; - } - - return $ret; - } - - /** - * Transform the use variables before serialization. - * - * @param array $data The Closure's use variables - * @return array - */ - protected function transformUseVariables($data) - { - return $data; - } - - /** - * Implementation of Serializable::unserialize() - * - * @param string $data Serialized data - * @throws SecurityException - */ - public function unserialize($data) - { - ClosureStream::register(); - - if (static::$securityProvider !== null) { - if ($data[0] !== '@') { - throw new SecurityException("The serialized closure is not signed. ". - "Make sure you use a security provider for both serialization and unserialization."); - } - - if ($data[1] !== '{') { - $separator = strpos($data, '.'); - if ($separator === false) { - throw new SecurityException('Invalid signed closure'); - } - $hash = substr($data, 1, $separator - 1); - $closure = substr($data, $separator + 1); - - $data = ['hash' => $hash, 'closure' => $closure]; - - unset($hash, $closure); - } else { - $data = json_decode(substr($data, 1), true); - } - - if (!is_array($data) || !static::$securityProvider->verify($data)) { - throw new SecurityException("Your serialized closure might have been modified and it's unsafe to be unserialized. " . - "Make sure you use the same security provider, with the same settings, " . - "both for serialization and unserialization."); - } - - $data = $data['closure']; - } elseif ($data[0] === '@') { - if ($data[1] !== '{') { - $separator = strpos($data, '.'); - if ($separator === false) { - throw new SecurityException('Invalid signed closure'); - } - $hash = substr($data, 1, $separator - 1); - $closure = substr($data, $separator + 1); - - $data = ['hash' => $hash, 'closure' => $closure]; - - unset($hash, $closure); - } else { - $data = json_decode(substr($data, 1), true); - } - - if (!is_array($data) || !isset($data['closure']) || !isset($data['hash'])) { - throw new SecurityException('Invalid signed closure'); - } - - $data = $data['closure']; - } - - $this->code = \unserialize($data); - - // unset data - unset($data); - - $this->code['objects'] = array(); - - if ($this->code['use']) { - $this->scope = new ClosureScope(); - $this->code['use'] = $this->resolveUseVariables($this->code['use']); - $this->mapPointers($this->code['use']); - extract($this->code['use'], EXTR_OVERWRITE | EXTR_REFS); - $this->scope = null; - } - - $this->closure = include(ClosureStream::STREAM_PROTO . '://' . $this->code['function']); - - if($this->code['this'] === $this){ - $this->code['this'] = null; - } - - if ($this->code['scope'] !== null || $this->code['this'] !== null) { - $this->closure = $this->closure->bindTo($this->code['this'], $this->code['scope']); - } - - if(!empty($this->code['objects'])){ - foreach ($this->code['objects'] as $item){ - $item['property']->setValue($item['instance'], $item['object']->getClosure()); - } - } - - $this->code = $this->code['function']; - } - - /** - * Resolve the use variables after unserialization. - * - * @param array $data The Closure's transformed use variables - * @return array - */ - protected function resolveUseVariables($data) - { - return $data; - } - - /** - * Wraps a closure and sets the serialization context (if any) - * - * @param Closure $closure Closure to be wrapped - * - * @return self The wrapped closure - */ - public static function from(Closure $closure) - { - if (static::$context === null) { - $instance = new static($closure); - } elseif (isset(static::$context->scope[$closure])) { - $instance = static::$context->scope[$closure]; - } else { - $instance = new static($closure); - static::$context->scope[$closure] = $instance; - } - - return $instance; - } - - /** - * Increments the context lock counter or creates a new context if none exist - */ - public static function enterContext() - { - if (static::$context === null) { - static::$context = new ClosureContext(); - } - - static::$context->locks++; - } - - /** - * Decrements the context lock counter and destroy the context when it reaches to 0 - */ - public static function exitContext() - { - if (static::$context !== null && !--static::$context->locks) { - static::$context = null; - } - } - - /** - * @param string $secret - */ - public static function setSecretKey($secret) - { - if(static::$securityProvider === null){ - static::$securityProvider = new SecurityProvider($secret); - } - } - - /** - * @param ISecurityProvider $securityProvider - */ - public static function addSecurityProvider(ISecurityProvider $securityProvider) - { - static::$securityProvider = $securityProvider; - } - - /** - * Remove security provider - */ - public static function removeSecurityProvider() - { - static::$securityProvider = null; - } - - /** - * @return null|ISecurityProvider - */ - public static function getSecurityProvider() - { - return static::$securityProvider; - } - - /** - * Wrap closures - * - * @internal - * @param $data - * @param ClosureScope|SplObjectStorage|null $storage - */ - public static function wrapClosures(&$data, SplObjectStorage $storage = null) - { - if($storage === null){ - $storage = static::$context->scope; - } - - if($data instanceof Closure){ - $data = static::from($data); - } elseif (is_array($data)){ - if(isset($data[self::ARRAY_RECURSIVE_KEY])){ - return; - } - $data[self::ARRAY_RECURSIVE_KEY] = true; - foreach ($data as $key => &$value){ - if($key === self::ARRAY_RECURSIVE_KEY){ - continue; - } - static::wrapClosures($value, $storage); - } - unset($value); - unset($data[self::ARRAY_RECURSIVE_KEY]); - } elseif($data instanceof \stdClass){ - if(isset($storage[$data])){ - $data = $storage[$data]; - return; - } - $data = $storage[$data] = clone($data); - foreach ($data as &$value){ - static::wrapClosures($value, $storage); - } - unset($value); - } elseif (is_object($data) && ! $data instanceof static){ - if(isset($storage[$data])){ - $data = $storage[$data]; - return; - } - $instance = $data; - $reflection = new ReflectionObject($instance); - if(!$reflection->isUserDefined()){ - $storage[$instance] = $data; - return; - } - $storage[$instance] = $data = $reflection->newInstanceWithoutConstructor(); - - do{ - if(!$reflection->isUserDefined()){ - break; - } - foreach ($reflection->getProperties() as $property){ - if($property->isStatic() || !$property->getDeclaringClass()->isUserDefined()){ - continue; - } - $property->setAccessible(true); - $value = $property->getValue($instance); - if(is_array($value) || is_object($value)){ - static::wrapClosures($value, $storage); - } - $property->setValue($data, $value); - }; - } while($reflection = $reflection->getParentClass()); - } - } - - /** - * Unwrap closures - * - * @internal - * @param $data - * @param SplObjectStorage|null $storage - */ - public static function unwrapClosures(&$data, SplObjectStorage $storage = null) - { - if($storage === null){ - $storage = static::$context->scope; - } - - if($data instanceof static){ - $data = $data->getClosure(); - } elseif (is_array($data)){ - if(isset($data[self::ARRAY_RECURSIVE_KEY])){ - return; - } - $data[self::ARRAY_RECURSIVE_KEY] = true; - foreach ($data as $key => &$value){ - if($key === self::ARRAY_RECURSIVE_KEY){ - continue; - } - static::unwrapClosures($value, $storage); - } - unset($data[self::ARRAY_RECURSIVE_KEY]); - }elseif ($data instanceof \stdClass){ - if(isset($storage[$data])){ - return; - } - $storage[$data] = true; - foreach ($data as &$property){ - static::unwrapClosures($property, $storage); - } - } elseif (is_object($data) && !($data instanceof Closure)){ - if(isset($storage[$data])){ - return; - } - $storage[$data] = true; - $reflection = new ReflectionObject($data); - - do{ - if(!$reflection->isUserDefined()){ - break; - } - foreach ($reflection->getProperties() as $property){ - if($property->isStatic() || !$property->getDeclaringClass()->isUserDefined()){ - continue; - } - $property->setAccessible(true); - $value = $property->getValue($data); - if(is_array($value) || is_object($value)){ - static::unwrapClosures($value, $storage); - $property->setValue($data, $value); - } - }; - } while($reflection = $reflection->getParentClass()); - } - } - - /** - * Creates a new closure from arbitrary code, - * emulating create_function, but without using eval - * - * @param string$args - * @param string $code - * @return Closure - */ - public static function createClosure($args, $code) - { - ClosureStream::register(); - return include(ClosureStream::STREAM_PROTO . '://function(' . $args. '){' . $code . '};'); - } - - /** - * Internal method used to map closure pointers - * @internal - * @param $data - */ - protected function mapPointers(&$data) - { - $scope = $this->scope; - - if ($data instanceof static) { - $data = &$data->closure; - } elseif (is_array($data)) { - if(isset($data[self::ARRAY_RECURSIVE_KEY])){ - return; - } - $data[self::ARRAY_RECURSIVE_KEY] = true; - foreach ($data as $key => &$value){ - if($key === self::ARRAY_RECURSIVE_KEY){ - continue; - } elseif ($value instanceof static) { - $data[$key] = &$value->closure; - } elseif ($value instanceof SelfReference && $value->hash === $this->code['self']){ - $data[$key] = &$this->closure; - } else { - $this->mapPointers($value); - } - } - unset($value); - unset($data[self::ARRAY_RECURSIVE_KEY]); - } elseif ($data instanceof \stdClass) { - if(isset($scope[$data])){ - return; - } - $scope[$data] = true; - foreach ($data as $key => &$value){ - if ($value instanceof SelfReference && $value->hash === $this->code['self']){ - $data->{$key} = &$this->closure; - } elseif(is_array($value) || is_object($value)) { - $this->mapPointers($value); - } - } - unset($value); - } elseif (is_object($data) && !($data instanceof Closure)){ - if(isset($scope[$data])){ - return; - } - $scope[$data] = true; - $reflection = new ReflectionObject($data); - do{ - if(!$reflection->isUserDefined()){ - break; - } - foreach ($reflection->getProperties() as $property){ - if($property->isStatic() || !$property->getDeclaringClass()->isUserDefined()){ - continue; - } - $property->setAccessible(true); - $item = $property->getValue($data); - if ($item instanceof SerializableClosure || ($item instanceof SelfReference && $item->hash === $this->code['self'])) { - $this->code['objects'][] = array( - 'instance' => $data, - 'property' => $property, - 'object' => $item instanceof SelfReference ? $this : $item, - ); - } elseif (is_array($item) || is_object($item)) { - $this->mapPointers($item); - $property->setValue($data, $item); - } - } - } while($reflection = $reflection->getParentClass()); - } - } - - /** - * Internal method used to map closures by reference - * - * @internal - * @param mixed &$data - */ - protected function mapByReference(&$data) - { - if ($data instanceof Closure) { - if($data === $this->closure){ - $data = new SelfReference($this->reference); - return; - } - - if (isset($this->scope[$data])) { - $data = $this->scope[$data]; - return; - } - - $instance = new static($data); - - if (static::$context !== null) { - static::$context->scope->toserialize--; - } else { - $instance->scope = $this->scope; - } - - $data = $this->scope[$data] = $instance; - } elseif (is_array($data)) { - if(isset($data[self::ARRAY_RECURSIVE_KEY])){ - return; - } - $data[self::ARRAY_RECURSIVE_KEY] = true; - foreach ($data as $key => &$value){ - if($key === self::ARRAY_RECURSIVE_KEY){ - continue; - } - $this->mapByReference($value); - } - unset($value); - unset($data[self::ARRAY_RECURSIVE_KEY]); - } elseif ($data instanceof \stdClass) { - if(isset($this->scope[$data])){ - $data = $this->scope[$data]; - return; - } - $instance = $data; - $this->scope[$instance] = $data = clone($data); - - foreach ($data as &$value){ - $this->mapByReference($value); - } - unset($value); - } elseif (is_object($data) && !$data instanceof SerializableClosure){ - if(isset($this->scope[$data])){ - $data = $this->scope[$data]; - return; - } - - $instance = $data; - $reflection = new ReflectionObject($data); - if(!$reflection->isUserDefined()){ - $this->scope[$instance] = $data; - return; - } - $this->scope[$instance] = $data = $reflection->newInstanceWithoutConstructor(); - - do{ - if(!$reflection->isUserDefined()){ - break; - } - foreach ($reflection->getProperties() as $property){ - if($property->isStatic() || !$property->getDeclaringClass()->isUserDefined()){ - continue; - } - $property->setAccessible(true); - $value = $property->getValue($instance); - if(is_array($value) || is_object($value)){ - $this->mapByReference($value); - } - $property->setValue($data, $value); - } - } while($reflection = $reflection->getParentClass()); - } - } - -} diff --git a/paragonik-backend/vendor/paragonie/random_compat/LICENSE b/paragonik-backend/vendor/paragonie/random_compat/LICENSE deleted file mode 100644 index 45c7017..0000000 --- a/paragonik-backend/vendor/paragonie/random_compat/LICENSE +++ /dev/null @@ -1,22 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2015 Paragon Initiative Enterprises - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - diff --git a/paragonik-backend/vendor/paragonie/random_compat/build-phar.sh b/paragonik-backend/vendor/paragonie/random_compat/build-phar.sh deleted file mode 100644 index b4a5ba3..0000000 --- a/paragonik-backend/vendor/paragonie/random_compat/build-phar.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/usr/bin/env bash - -basedir=$( dirname $( readlink -f ${BASH_SOURCE[0]} ) ) - -php -dphar.readonly=0 "$basedir/other/build_phar.php" $* \ No newline at end of file diff --git a/paragonik-backend/vendor/paragonie/random_compat/composer.json b/paragonik-backend/vendor/paragonie/random_compat/composer.json deleted file mode 100644 index 1fa8de9..0000000 --- a/paragonik-backend/vendor/paragonie/random_compat/composer.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "name": "paragonie/random_compat", - "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7", - "keywords": [ - "csprng", - "random", - "polyfill", - "pseudorandom" - ], - "license": "MIT", - "type": "library", - "authors": [ - { - "name": "Paragon Initiative Enterprises", - "email": "security@paragonie.com", - "homepage": "https://paragonie.com" - } - ], - "support": { - "issues": "https://github.com/paragonie/random_compat/issues", - "email": "info@paragonie.com", - "source": "https://github.com/paragonie/random_compat" - }, - "require": { - "php": "^7" - }, - "require-dev": { - "vimeo/psalm": "^1", - "phpunit/phpunit": "4.*|5.*" - }, - "suggest": { - "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes." - } -} diff --git a/paragonik-backend/vendor/paragonie/random_compat/dist/random_compat.phar.pubkey b/paragonik-backend/vendor/paragonie/random_compat/dist/random_compat.phar.pubkey deleted file mode 100644 index eb50ebf..0000000 --- a/paragonik-backend/vendor/paragonie/random_compat/dist/random_compat.phar.pubkey +++ /dev/null @@ -1,5 +0,0 @@ ------BEGIN PUBLIC KEY----- -MHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEEd+wCqJDrx5B4OldM0dQE0ZMX+lx1ZWm -pui0SUqD4G29L3NGsz9UhJ/0HjBdbnkhIK5xviT0X5vtjacF6ajgcCArbTB+ds+p -+h7Q084NuSuIpNb6YPfoUFgC/CL9kAoc ------END PUBLIC KEY----- diff --git a/paragonik-backend/vendor/paragonie/random_compat/dist/random_compat.phar.pubkey.asc b/paragonik-backend/vendor/paragonie/random_compat/dist/random_compat.phar.pubkey.asc deleted file mode 100644 index 6a1d7f3..0000000 --- a/paragonik-backend/vendor/paragonie/random_compat/dist/random_compat.phar.pubkey.asc +++ /dev/null @@ -1,11 +0,0 @@ ------BEGIN PGP SIGNATURE----- -Version: GnuPG v2.0.22 (MingW32) - -iQEcBAABAgAGBQJWtW1hAAoJEGuXocKCZATaJf0H+wbZGgskK1dcRTsuVJl9IWip -QwGw/qIKI280SD6/ckoUMxKDCJiFuPR14zmqnS36k7N5UNPnpdTJTS8T11jttSpg -1LCmgpbEIpgaTah+cELDqFCav99fS+bEiAL5lWDAHBTE/XPjGVCqeehyPYref4IW -NDBIEsvnHPHPLsn6X5jq4+Yj5oUixgxaMPiR+bcO4Sh+RzOVB6i2D0upWfRXBFXA -NNnsg9/zjvoC7ZW73y9uSH+dPJTt/Vgfeiv52/v41XliyzbUyLalf02GNPY+9goV -JHG1ulEEBJOCiUD9cE1PUIJwHA/HqyhHIvV350YoEFiHl8iSwm7SiZu5kPjaq74= -=B6+8 ------END PGP SIGNATURE----- diff --git a/paragonik-backend/vendor/paragonie/random_compat/lib/random.php b/paragonik-backend/vendor/paragonie/random_compat/lib/random.php deleted file mode 100644 index c7731a5..0000000 --- a/paragonik-backend/vendor/paragonie/random_compat/lib/random.php +++ /dev/null @@ -1,32 +0,0 @@ -buildFromDirectory(dirname(__DIR__).'/lib'); -rename( - dirname(__DIR__).'/lib/index.php', - dirname(__DIR__).'/lib/random.php' -); - -/** - * If we pass an (optional) path to a private key as a second argument, we will - * sign the Phar with OpenSSL. - * - * If you leave this out, it will produce an unsigned .phar! - */ -if ($argc > 1) { - if (!@is_readable($argv[1])) { - echo 'Could not read the private key file:', $argv[1], "\n"; - exit(255); - } - $pkeyFile = file_get_contents($argv[1]); - - $private = openssl_get_privatekey($pkeyFile); - if ($private !== false) { - $pkey = ''; - openssl_pkey_export($private, $pkey); - $phar->setSignatureAlgorithm(Phar::OPENSSL, $pkey); - - /** - * Save the corresponding public key to the file - */ - if (!@is_readable($dist.'/random_compat.phar.pubkey')) { - $details = openssl_pkey_get_details($private); - file_put_contents( - $dist.'/random_compat.phar.pubkey', - $details['key'] - ); - } - } else { - echo 'An error occurred reading the private key from OpenSSL.', "\n"; - exit(255); - } -} diff --git a/paragonik-backend/vendor/paragonie/random_compat/psalm-autoload.php b/paragonik-backend/vendor/paragonie/random_compat/psalm-autoload.php deleted file mode 100644 index d71d1b8..0000000 --- a/paragonik-backend/vendor/paragonie/random_compat/psalm-autoload.php +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/paragonik-backend/vendor/phar-io/manifest/.gitignore b/paragonik-backend/vendor/phar-io/manifest/.gitignore deleted file mode 100644 index 374459d..0000000 --- a/paragonik-backend/vendor/phar-io/manifest/.gitignore +++ /dev/null @@ -1,7 +0,0 @@ -/.idea -/.php_cs.cache -/src/autoload.php -/tools -/vendor - -/build diff --git a/paragonik-backend/vendor/phar-io/manifest/.php_cs b/paragonik-backend/vendor/phar-io/manifest/.php_cs deleted file mode 100644 index 159d6a3..0000000 --- a/paragonik-backend/vendor/phar-io/manifest/.php_cs +++ /dev/null @@ -1,67 +0,0 @@ -files() - ->in('src') - ->in('tests') - ->name('*.php'); - -return Symfony\CS\Config\Config::create() - ->setUsingCache(true) - ->level(\Symfony\CS\FixerInterface::NONE_LEVEL) - ->fixers( - array( - 'align_double_arrow', - 'align_equals', - 'concat_with_spaces', - 'duplicate_semicolon', - 'elseif', - 'empty_return', - 'encoding', - 'eof_ending', - 'extra_empty_lines', - 'function_call_space', - 'function_declaration', - 'indentation', - 'join_function', - 'line_after_namespace', - 'linefeed', - 'list_commas', - 'lowercase_constants', - 'lowercase_keywords', - 'method_argument_space', - 'multiple_use', - 'namespace_no_leading_whitespace', - 'no_blank_lines_after_class_opening', - 'no_empty_lines_after_phpdocs', - 'parenthesis', - 'php_closing_tag', - 'phpdoc_indent', - 'phpdoc_no_access', - 'phpdoc_no_empty_return', - 'phpdoc_no_package', - 'phpdoc_params', - 'phpdoc_scalar', - 'phpdoc_separation', - 'phpdoc_to_comment', - 'phpdoc_trim', - 'phpdoc_types', - 'phpdoc_var_without_name', - 'remove_lines_between_uses', - 'return', - 'self_accessor', - 'short_array_syntax', - 'short_tag', - 'single_line_after_imports', - 'single_quote', - 'spaces_before_semicolon', - 'spaces_cast', - 'ternary_spaces', - 'trailing_spaces', - 'trim_array_spaces', - 'unused_use', - 'visibility', - 'whitespacy_lines' - ) - ) - ->finder($finder); - diff --git a/paragonik-backend/vendor/phar-io/manifest/.travis.yml b/paragonik-backend/vendor/phar-io/manifest/.travis.yml deleted file mode 100644 index b4be10f..0000000 --- a/paragonik-backend/vendor/phar-io/manifest/.travis.yml +++ /dev/null @@ -1,33 +0,0 @@ -os: -- linux - -language: php - -before_install: - - wget https://phar.io/releases/phive.phar - - wget https://phar.io/releases/phive.phar.asc - - gpg --keyserver hkps.pool.sks-keyservers.net --recv-keys 0x9B2D5D79 - - gpg --verify phive.phar.asc phive.phar - - chmod +x phive.phar - - sudo mv phive.phar /usr/bin/phive - -install: - - ant setup - -script: ./tools/phpunit - -php: - - 5.6 - - 7.0 - - 7.1 - - 7.0snapshot - - 7.1snapshot - - master - -matrix: - allow_failures: - - php: master - fast_finish: true - -notifications: - email: false diff --git a/paragonik-backend/vendor/phar-io/manifest/LICENSE b/paragonik-backend/vendor/phar-io/manifest/LICENSE deleted file mode 100644 index 96051b1..0000000 --- a/paragonik-backend/vendor/phar-io/manifest/LICENSE +++ /dev/null @@ -1,31 +0,0 @@ -manifest - -Copyright (c) 2016 Arne Blankerts , Sebastian Heuer , Sebastian Bergmann , and contributors -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -* Neither the name of Arne Blankerts nor the names of contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT * NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS -BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, -OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. - diff --git a/paragonik-backend/vendor/phar-io/manifest/README.md b/paragonik-backend/vendor/phar-io/manifest/README.md deleted file mode 100644 index e6d0b05..0000000 --- a/paragonik-backend/vendor/phar-io/manifest/README.md +++ /dev/null @@ -1,30 +0,0 @@ -# Manifest - -Component for reading [phar.io](https://phar.io/) manifest information from a [PHP Archive (PHAR)](http://php.net/phar). - -[![Build Status](https://travis-ci.org/phar-io/manifest.svg?branch=master)](https://travis-ci.org/phar-io/manifest) -[![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/phar-io/manifest/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/phar-io/manifest/?branch=master) -[![SensioLabsInsight](https://insight.sensiolabs.com/projects/d8cc6035-69ad-477d-bd1a-ccc605480fd7/mini.png)](https://insight.sensiolabs.com/projects/d8cc6035-69ad-477d-bd1a-ccc605480fd7) - -## Installation - -You can add this library as a local, per-project dependency to your project using [Composer](https://getcomposer.org/): - - composer require phar-io/manifest - -If you only need this library during development, for instance to run your project's test suite, then you should add it as a development-time dependency: - - composer require --dev phar-io/manifest - -## Usage - -```php -use PharIo\Manifest\ManifestLoader; -use PharIo\Manifest\ManifestSerializer; - -$manifest = ManifestLoader::fromFile('manifest.xml'); - -var_dump($manifest); - -echo (new ManifestSerializer)->serializeToString($manifest); -``` diff --git a/paragonik-backend/vendor/phar-io/manifest/build.xml b/paragonik-backend/vendor/phar-io/manifest/build.xml deleted file mode 100644 index fc6eb1a..0000000 --- a/paragonik-backend/vendor/phar-io/manifest/build.xml +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/paragonik-backend/vendor/phar-io/manifest/composer.json b/paragonik-backend/vendor/phar-io/manifest/composer.json deleted file mode 100644 index cfaa7fa..0000000 --- a/paragonik-backend/vendor/phar-io/manifest/composer.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "name": "phar-io/manifest", - "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", - "license": "BSD-3-Clause", - "authors": [ - { - "name": "Arne Blankerts", - "email": "arne@blankerts.de", - "role": "Developer" - }, - { - "name": "Sebastian Heuer", - "email": "sebastian@phpeople.de", - "role": "Developer" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "Developer" - } - ], - "support": { - "issues": "https://github.com/phar-io/manifest/issues" - }, - "require": { - "php": "^5.6 || ^7.0", - "ext-dom": "*", - "ext-phar": "*", - "phar-io/version": "^2.0" - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - } -} - diff --git a/paragonik-backend/vendor/phar-io/manifest/composer.lock b/paragonik-backend/vendor/phar-io/manifest/composer.lock deleted file mode 100644 index d876819..0000000 --- a/paragonik-backend/vendor/phar-io/manifest/composer.lock +++ /dev/null @@ -1,69 +0,0 @@ -{ - "_readme": [ - "This file locks the dependencies of your project to a known state", - "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", - "This file is @generated automatically" - ], - "content-hash": "f00846dde236d314a19d00d268d737dd", - "packages": [ - { - "name": "phar-io/version", - "version": "2.0.1", - "source": { - "type": "git", - "url": "https://github.com/phar-io/version.git", - "reference": "45a2ec53a73c70ce41d55cedef9063630abaf1b6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phar-io/version/zipball/45a2ec53a73c70ce41d55cedef9063630abaf1b6", - "reference": "45a2ec53a73c70ce41d55cedef9063630abaf1b6", - "shasum": "" - }, - "require": { - "php": "^5.6 || ^7.0" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Arne Blankerts", - "email": "arne@blankerts.de", - "role": "Developer" - }, - { - "name": "Sebastian Heuer", - "email": "sebastian@phpeople.de", - "role": "Developer" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "Developer" - } - ], - "description": "Library for handling version information and constraints", - "time": "2018-07-08T19:19:57+00:00" - } - ], - "packages-dev": [], - "aliases": [], - "minimum-stability": "stable", - "stability-flags": [], - "prefer-stable": false, - "prefer-lowest": false, - "platform": { - "php": "^5.6 || ^7.0", - "ext-dom": "*", - "ext-phar": "*" - }, - "platform-dev": [] -} diff --git a/paragonik-backend/vendor/phar-io/manifest/examples/example-01.php b/paragonik-backend/vendor/phar-io/manifest/examples/example-01.php deleted file mode 100644 index 345c407..0000000 --- a/paragonik-backend/vendor/phar-io/manifest/examples/example-01.php +++ /dev/null @@ -1,23 +0,0 @@ -, Sebastian Heuer , Sebastian Bergmann - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -use PharIo\Manifest\ManifestLoader; -use PharIo\Manifest\ManifestSerializer; - -require __DIR__ . '/../vendor/autoload.php'; - -$manifest = ManifestLoader::fromFile(__DIR__ . '/../tests/_fixture/phpunit-5.6.5.xml'); - -echo sprintf( - "Manifest for %s (%s):\n\n", - $manifest->getName(), - $manifest->getVersion()->getVersionString() -); -echo (new ManifestSerializer)->serializeToString($manifest); diff --git a/paragonik-backend/vendor/phar-io/manifest/phive.xml b/paragonik-backend/vendor/phar-io/manifest/phive.xml deleted file mode 100644 index 69f2f91..0000000 --- a/paragonik-backend/vendor/phar-io/manifest/phive.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/paragonik-backend/vendor/phar-io/manifest/phpunit.xml b/paragonik-backend/vendor/phar-io/manifest/phpunit.xml deleted file mode 100644 index 2d7708e..0000000 --- a/paragonik-backend/vendor/phar-io/manifest/phpunit.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - tests - - - - - src - - - diff --git a/paragonik-backend/vendor/phar-io/manifest/src/ManifestDocumentMapper.php b/paragonik-backend/vendor/phar-io/manifest/src/ManifestDocumentMapper.php deleted file mode 100644 index d41e4f9..0000000 --- a/paragonik-backend/vendor/phar-io/manifest/src/ManifestDocumentMapper.php +++ /dev/null @@ -1,193 +0,0 @@ -, Sebastian Heuer , Sebastian Bergmann - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace PharIo\Manifest; - -use PharIo\Version\Version; -use PharIo\Version\Exception as VersionException; -use PharIo\Version\VersionConstraintParser; - -class ManifestDocumentMapper { - /** - * @param ManifestDocument $document - * - * @returns Manifest - * - * @throws ManifestDocumentMapperException - */ - public function map(ManifestDocument $document) { - try { - $contains = $document->getContainsElement(); - $type = $this->mapType($contains); - $copyright = $this->mapCopyright($document->getCopyrightElement()); - $requirements = $this->mapRequirements($document->getRequiresElement()); - $bundledComponents = $this->mapBundledComponents($document); - - return new Manifest( - new ApplicationName($contains->getName()), - new Version($contains->getVersion()), - $type, - $copyright, - $requirements, - $bundledComponents - ); - } catch (VersionException $e) { - throw new ManifestDocumentMapperException($e->getMessage(), $e->getCode(), $e); - } catch (Exception $e) { - throw new ManifestDocumentMapperException($e->getMessage(), $e->getCode(), $e); - } - } - - /** - * @param ContainsElement $contains - * - * @return Type - * - * @throws ManifestDocumentMapperException - */ - private function mapType(ContainsElement $contains) { - switch ($contains->getType()) { - case 'application': - return Type::application(); - case 'library': - return Type::library(); - case 'extension': - return $this->mapExtension($contains->getExtensionElement()); - } - - throw new ManifestDocumentMapperException( - sprintf('Unsupported type %s', $contains->getType()) - ); - } - - /** - * @param CopyrightElement $copyright - * - * @return CopyrightInformation - * - * @throws InvalidUrlException - * @throws InvalidEmailException - */ - private function mapCopyright(CopyrightElement $copyright) { - $authors = new AuthorCollection(); - - foreach($copyright->getAuthorElements() as $authorElement) { - $authors->add( - new Author( - $authorElement->getName(), - new Email($authorElement->getEmail()) - ) - ); - } - - $licenseElement = $copyright->getLicenseElement(); - $license = new License( - $licenseElement->getType(), - new Url($licenseElement->getUrl()) - ); - - return new CopyrightInformation( - $authors, - $license - ); - } - - /** - * @param RequiresElement $requires - * - * @return RequirementCollection - * - * @throws ManifestDocumentMapperException - */ - private function mapRequirements(RequiresElement $requires) { - $collection = new RequirementCollection(); - $phpElement = $requires->getPHPElement(); - $parser = new VersionConstraintParser; - - try { - $versionConstraint = $parser->parse($phpElement->getVersion()); - } catch (VersionException $e) { - throw new ManifestDocumentMapperException( - sprintf('Unsupported version constraint - %s', $e->getMessage()), - $e->getCode(), - $e - ); - } - - $collection->add( - new PhpVersionRequirement( - $versionConstraint - ) - ); - - if (!$phpElement->hasExtElements()) { - return $collection; - } - - foreach($phpElement->getExtElements() as $extElement) { - $collection->add( - new PhpExtensionRequirement($extElement->getName()) - ); - } - - return $collection; - } - - /** - * @param ManifestDocument $document - * - * @return BundledComponentCollection - */ - private function mapBundledComponents(ManifestDocument $document) { - $collection = new BundledComponentCollection(); - - if (!$document->hasBundlesElement()) { - return $collection; - } - - foreach($document->getBundlesElement()->getComponentElements() as $componentElement) { - $collection->add( - new BundledComponent( - $componentElement->getName(), - new Version( - $componentElement->getVersion() - ) - ) - ); - } - - return $collection; - } - - /** - * @param ExtensionElement $extension - * - * @return Extension - * - * @throws ManifestDocumentMapperException - */ - private function mapExtension(ExtensionElement $extension) { - try { - $parser = new VersionConstraintParser; - $versionConstraint = $parser->parse($extension->getCompatible()); - - return Type::extension( - new ApplicationName($extension->getFor()), - $versionConstraint - ); - } catch (VersionException $e) { - throw new ManifestDocumentMapperException( - sprintf('Unsupported version constraint - %s', $e->getMessage()), - $e->getCode(), - $e - ); - } - } -} diff --git a/paragonik-backend/vendor/phar-io/manifest/src/ManifestLoader.php b/paragonik-backend/vendor/phar-io/manifest/src/ManifestLoader.php deleted file mode 100644 index 81c5c90..0000000 --- a/paragonik-backend/vendor/phar-io/manifest/src/ManifestLoader.php +++ /dev/null @@ -1,66 +0,0 @@ -, Sebastian Heuer , Sebastian Bergmann - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace PharIo\Manifest; - -class ManifestLoader { - /** - * @param string $filename - * - * @return Manifest - * - * @throws ManifestLoaderException - */ - public static function fromFile($filename) { - try { - return (new ManifestDocumentMapper())->map( - ManifestDocument::fromFile($filename) - ); - } catch (Exception $e) { - throw new ManifestLoaderException( - sprintf('Loading %s failed.', $filename), - $e->getCode(), - $e - ); - } - } - - /** - * @param string $filename - * - * @return Manifest - * - * @throws ManifestLoaderException - */ - public static function fromPhar($filename) { - return self::fromFile('phar://' . $filename . '/manifest.xml'); - } - - /** - * @param string $manifest - * - * @return Manifest - * - * @throws ManifestLoaderException - */ - public static function fromString($manifest) { - try { - return (new ManifestDocumentMapper())->map( - ManifestDocument::fromString($manifest) - ); - } catch (Exception $e) { - throw new ManifestLoaderException( - 'Processing string failed', - $e->getCode(), - $e - ); - } - } -} diff --git a/paragonik-backend/vendor/phar-io/manifest/src/ManifestSerializer.php b/paragonik-backend/vendor/phar-io/manifest/src/ManifestSerializer.php deleted file mode 100644 index 4c18ddd..0000000 --- a/paragonik-backend/vendor/phar-io/manifest/src/ManifestSerializer.php +++ /dev/null @@ -1,163 +0,0 @@ -, Sebastian Heuer , Sebastian Bergmann - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace PharIo\Manifest; - -use PharIo\Version\AnyVersionConstraint; -use PharIo\Version\Version; -use PharIo\Version\VersionConstraint; -use XMLWriter; - -class ManifestSerializer { - /** - * @var XMLWriter - */ - private $xmlWriter; - - public function serializeToFile(Manifest $manifest, $filename) { - file_put_contents( - $filename, - $this->serializeToString($manifest) - ); - } - - public function serializeToString(Manifest $manifest) { - $this->startDocument(); - - $this->addContains($manifest->getName(), $manifest->getVersion(), $manifest->getType()); - $this->addCopyright($manifest->getCopyrightInformation()); - $this->addRequirements($manifest->getRequirements()); - $this->addBundles($manifest->getBundledComponents()); - - return $this->finishDocument(); - } - - private function startDocument() { - $xmlWriter = new XMLWriter(); - $xmlWriter->openMemory(); - $xmlWriter->setIndent(true); - $xmlWriter->setIndentString(str_repeat(' ', 4)); - $xmlWriter->startDocument('1.0', 'UTF-8'); - $xmlWriter->startElement('phar'); - $xmlWriter->writeAttribute('xmlns', 'https://phar.io/xml/manifest/1.0'); - - $this->xmlWriter = $xmlWriter; - } - - private function finishDocument() { - $this->xmlWriter->endElement(); - $this->xmlWriter->endDocument(); - - return $this->xmlWriter->outputMemory(); - } - - private function addContains($name, Version $version, Type $type) { - $this->xmlWriter->startElement('contains'); - $this->xmlWriter->writeAttribute('name', $name); - $this->xmlWriter->writeAttribute('version', $version->getVersionString()); - - switch (true) { - case $type->isApplication(): { - $this->xmlWriter->writeAttribute('type', 'application'); - break; - } - - case $type->isLibrary(): { - $this->xmlWriter->writeAttribute('type', 'library'); - break; - } - - case $type->isExtension(): { - /* @var $type Extension */ - $this->xmlWriter->writeAttribute('type', 'extension'); - $this->addExtension($type->getApplicationName(), $type->getVersionConstraint()); - break; - } - - default: { - $this->xmlWriter->writeAttribute('type', 'custom'); - } - } - - $this->xmlWriter->endElement(); - } - - private function addCopyright(CopyrightInformation $copyrightInformation) { - $this->xmlWriter->startElement('copyright'); - - foreach($copyrightInformation->getAuthors() as $author) { - $this->xmlWriter->startElement('author'); - $this->xmlWriter->writeAttribute('name', $author->getName()); - $this->xmlWriter->writeAttribute('email', (string) $author->getEmail()); - $this->xmlWriter->endElement(); - } - - $license = $copyrightInformation->getLicense(); - - $this->xmlWriter->startElement('license'); - $this->xmlWriter->writeAttribute('type', $license->getName()); - $this->xmlWriter->writeAttribute('url', $license->getUrl()); - $this->xmlWriter->endElement(); - - $this->xmlWriter->endElement(); - } - - private function addRequirements(RequirementCollection $requirementCollection) { - $phpRequirement = new AnyVersionConstraint(); - $extensions = []; - - foreach($requirementCollection as $requirement) { - if ($requirement instanceof PhpVersionRequirement) { - $phpRequirement = $requirement->getVersionConstraint(); - continue; - } - - if ($requirement instanceof PhpExtensionRequirement) { - $extensions[] = (string) $requirement; - } - } - - $this->xmlWriter->startElement('requires'); - $this->xmlWriter->startElement('php'); - $this->xmlWriter->writeAttribute('version', $phpRequirement->asString()); - - foreach($extensions as $extension) { - $this->xmlWriter->startElement('ext'); - $this->xmlWriter->writeAttribute('name', $extension); - $this->xmlWriter->endElement(); - } - - $this->xmlWriter->endElement(); - $this->xmlWriter->endElement(); - } - - private function addBundles(BundledComponentCollection $bundledComponentCollection) { - if (count($bundledComponentCollection) === 0) { - return; - } - $this->xmlWriter->startElement('bundles'); - - foreach($bundledComponentCollection as $bundledComponent) { - $this->xmlWriter->startElement('component'); - $this->xmlWriter->writeAttribute('name', $bundledComponent->getName()); - $this->xmlWriter->writeAttribute('version', $bundledComponent->getVersion()->getVersionString()); - $this->xmlWriter->endElement(); - } - - $this->xmlWriter->endElement(); - } - - private function addExtension($application, VersionConstraint $versionConstraint) { - $this->xmlWriter->startElement('extension'); - $this->xmlWriter->writeAttribute('for', $application); - $this->xmlWriter->writeAttribute('compatible', $versionConstraint->asString()); - $this->xmlWriter->endElement(); - } -} diff --git a/paragonik-backend/vendor/phar-io/manifest/src/exceptions/Exception.php b/paragonik-backend/vendor/phar-io/manifest/src/exceptions/Exception.php deleted file mode 100644 index 3ce46f2..0000000 --- a/paragonik-backend/vendor/phar-io/manifest/src/exceptions/Exception.php +++ /dev/null @@ -1,14 +0,0 @@ -, Sebastian Heuer , Sebastian Bergmann - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace PharIo\Manifest; - -interface Exception { -} diff --git a/paragonik-backend/vendor/phar-io/manifest/src/exceptions/InvalidApplicationNameException.php b/paragonik-backend/vendor/phar-io/manifest/src/exceptions/InvalidApplicationNameException.php deleted file mode 100644 index a53735a..0000000 --- a/paragonik-backend/vendor/phar-io/manifest/src/exceptions/InvalidApplicationNameException.php +++ /dev/null @@ -1,16 +0,0 @@ -, Sebastian Heuer , Sebastian Bergmann - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace PharIo\Manifest; - -class InvalidApplicationNameException extends \InvalidArgumentException implements Exception { - const NotAString = 1; - const InvalidFormat = 2; -} diff --git a/paragonik-backend/vendor/phar-io/manifest/src/exceptions/InvalidEmailException.php b/paragonik-backend/vendor/phar-io/manifest/src/exceptions/InvalidEmailException.php deleted file mode 100644 index 854399b..0000000 --- a/paragonik-backend/vendor/phar-io/manifest/src/exceptions/InvalidEmailException.php +++ /dev/null @@ -1,14 +0,0 @@ -, Sebastian Heuer , Sebastian Bergmann - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace PharIo\Manifest; - -class InvalidEmailException extends \InvalidArgumentException implements Exception { -} diff --git a/paragonik-backend/vendor/phar-io/manifest/src/exceptions/InvalidUrlException.php b/paragonik-backend/vendor/phar-io/manifest/src/exceptions/InvalidUrlException.php deleted file mode 100644 index cdd8323..0000000 --- a/paragonik-backend/vendor/phar-io/manifest/src/exceptions/InvalidUrlException.php +++ /dev/null @@ -1,14 +0,0 @@ -, Sebastian Heuer , Sebastian Bergmann - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace PharIo\Manifest; - -class InvalidUrlException extends \InvalidArgumentException implements Exception { -} diff --git a/paragonik-backend/vendor/phar-io/manifest/src/exceptions/ManifestDocumentException.php b/paragonik-backend/vendor/phar-io/manifest/src/exceptions/ManifestDocumentException.php deleted file mode 100644 index 8b40195..0000000 --- a/paragonik-backend/vendor/phar-io/manifest/src/exceptions/ManifestDocumentException.php +++ /dev/null @@ -1,6 +0,0 @@ -, Sebastian Heuer , Sebastian Bergmann - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace PharIo\Manifest; - -class Application extends Type { - /** - * @return bool - */ - public function isApplication() { - return true; - } -} diff --git a/paragonik-backend/vendor/phar-io/manifest/src/values/ApplicationName.php b/paragonik-backend/vendor/phar-io/manifest/src/values/ApplicationName.php deleted file mode 100644 index 1e71af4..0000000 --- a/paragonik-backend/vendor/phar-io/manifest/src/values/ApplicationName.php +++ /dev/null @@ -1,65 +0,0 @@ -, Sebastian Heuer , Sebastian Bergmann - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace PharIo\Manifest; - -class ApplicationName { - /** - * @var string - */ - private $name; - - /** - * ApplicationName constructor. - * - * @param string $name - * - * @throws InvalidApplicationNameException - */ - public function __construct($name) { - $this->ensureIsString($name); - $this->ensureValidFormat($name); - $this->name = $name; - } - - /** - * @return string - */ - public function __toString() { - return $this->name; - } - - public function isEqual(ApplicationName $name) { - return $this->name === $name->name; - } - - /** - * @param string $name - * - * @throws InvalidApplicationNameException - */ - private function ensureValidFormat($name) { - if (!preg_match('#\w/\w#', $name)) { - throw new InvalidApplicationNameException( - sprintf('Format of name "%s" is not valid - expected: vendor/packagename', $name), - InvalidApplicationNameException::InvalidFormat - ); - } - } - - private function ensureIsString($name) { - if (!is_string($name)) { - throw new InvalidApplicationNameException( - 'Name must be a string', - InvalidApplicationNameException::NotAString - ); - } - } -} diff --git a/paragonik-backend/vendor/phar-io/manifest/src/values/Author.php b/paragonik-backend/vendor/phar-io/manifest/src/values/Author.php deleted file mode 100644 index 8295f51..0000000 --- a/paragonik-backend/vendor/phar-io/manifest/src/values/Author.php +++ /dev/null @@ -1,57 +0,0 @@ -, Sebastian Heuer , Sebastian Bergmann - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace PharIo\Manifest; - -class Author { - /** - * @var string - */ - private $name; - - /** - * @var Email - */ - private $email; - - /** - * @param string $name - * @param Email $email - */ - public function __construct($name, Email $email) { - $this->name = $name; - $this->email = $email; - } - - /** - * @return string - */ - public function getName() { - return $this->name; - } - - /** - * @return Email - */ - public function getEmail() { - return $this->email; - } - - /** - * @return string - */ - public function __toString() { - return sprintf( - '%s <%s>', - $this->name, - $this->email - ); - } -} diff --git a/paragonik-backend/vendor/phar-io/manifest/src/values/AuthorCollection.php b/paragonik-backend/vendor/phar-io/manifest/src/values/AuthorCollection.php deleted file mode 100644 index d915879..0000000 --- a/paragonik-backend/vendor/phar-io/manifest/src/values/AuthorCollection.php +++ /dev/null @@ -1,43 +0,0 @@ -, Sebastian Heuer , Sebastian Bergmann - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace PharIo\Manifest; - -class AuthorCollection implements \Countable, \IteratorAggregate { - /** - * @var Author[] - */ - private $authors = []; - - public function add(Author $author) { - $this->authors[] = $author; - } - - /** - * @return Author[] - */ - public function getAuthors() { - return $this->authors; - } - - /** - * @return int - */ - public function count() { - return count($this->authors); - } - - /** - * @return AuthorCollectionIterator - */ - public function getIterator() { - return new AuthorCollectionIterator($this); - } -} diff --git a/paragonik-backend/vendor/phar-io/manifest/src/values/AuthorCollectionIterator.php b/paragonik-backend/vendor/phar-io/manifest/src/values/AuthorCollectionIterator.php deleted file mode 100644 index 792a050..0000000 --- a/paragonik-backend/vendor/phar-io/manifest/src/values/AuthorCollectionIterator.php +++ /dev/null @@ -1,56 +0,0 @@ -, Sebastian Heuer , Sebastian Bergmann - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace PharIo\Manifest; - -class AuthorCollectionIterator implements \Iterator { - /** - * @var Author[] - */ - private $authors = []; - - /** - * @var int - */ - private $position; - - public function __construct(AuthorCollection $authors) { - $this->authors = $authors->getAuthors(); - } - - public function rewind() { - $this->position = 0; - } - - /** - * @return bool - */ - public function valid() { - return $this->position < count($this->authors); - } - - /** - * @return int - */ - public function key() { - return $this->position; - } - - /** - * @return Author - */ - public function current() { - return $this->authors[$this->position]; - } - - public function next() { - $this->position++; - } -} diff --git a/paragonik-backend/vendor/phar-io/manifest/src/values/BundledComponent.php b/paragonik-backend/vendor/phar-io/manifest/src/values/BundledComponent.php deleted file mode 100644 index 846d15a..0000000 --- a/paragonik-backend/vendor/phar-io/manifest/src/values/BundledComponent.php +++ /dev/null @@ -1,48 +0,0 @@ -, Sebastian Heuer , Sebastian Bergmann - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace PharIo\Manifest; - -use PharIo\Version\Version; - -class BundledComponent { - /** - * @var string - */ - private $name; - - /** - * @var Version - */ - private $version; - - /** - * @param string $name - * @param Version $version - */ - public function __construct($name, Version $version) { - $this->name = $name; - $this->version = $version; - } - - /** - * @return string - */ - public function getName() { - return $this->name; - } - - /** - * @return Version - */ - public function getVersion() { - return $this->version; - } -} diff --git a/paragonik-backend/vendor/phar-io/manifest/src/values/BundledComponentCollection.php b/paragonik-backend/vendor/phar-io/manifest/src/values/BundledComponentCollection.php deleted file mode 100644 index 2dbb918..0000000 --- a/paragonik-backend/vendor/phar-io/manifest/src/values/BundledComponentCollection.php +++ /dev/null @@ -1,43 +0,0 @@ -, Sebastian Heuer , Sebastian Bergmann - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace PharIo\Manifest; - -class BundledComponentCollection implements \Countable, \IteratorAggregate { - /** - * @var BundledComponent[] - */ - private $bundledComponents = []; - - public function add(BundledComponent $bundledComponent) { - $this->bundledComponents[] = $bundledComponent; - } - - /** - * @return BundledComponent[] - */ - public function getBundledComponents() { - return $this->bundledComponents; - } - - /** - * @return int - */ - public function count() { - return count($this->bundledComponents); - } - - /** - * @return BundledComponentCollectionIterator - */ - public function getIterator() { - return new BundledComponentCollectionIterator($this); - } -} diff --git a/paragonik-backend/vendor/phar-io/manifest/src/values/BundledComponentCollectionIterator.php b/paragonik-backend/vendor/phar-io/manifest/src/values/BundledComponentCollectionIterator.php deleted file mode 100644 index 13b8f05..0000000 --- a/paragonik-backend/vendor/phar-io/manifest/src/values/BundledComponentCollectionIterator.php +++ /dev/null @@ -1,56 +0,0 @@ -, Sebastian Heuer , Sebastian Bergmann - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace PharIo\Manifest; - -class BundledComponentCollectionIterator implements \Iterator { - /** - * @var BundledComponent[] - */ - private $bundledComponents = []; - - /** - * @var int - */ - private $position; - - public function __construct(BundledComponentCollection $bundledComponents) { - $this->bundledComponents = $bundledComponents->getBundledComponents(); - } - - public function rewind() { - $this->position = 0; - } - - /** - * @return bool - */ - public function valid() { - return $this->position < count($this->bundledComponents); - } - - /** - * @return int - */ - public function key() { - return $this->position; - } - - /** - * @return BundledComponent - */ - public function current() { - return $this->bundledComponents[$this->position]; - } - - public function next() { - $this->position++; - } -} diff --git a/paragonik-backend/vendor/phar-io/manifest/src/values/CopyrightInformation.php b/paragonik-backend/vendor/phar-io/manifest/src/values/CopyrightInformation.php deleted file mode 100644 index ece60b1..0000000 --- a/paragonik-backend/vendor/phar-io/manifest/src/values/CopyrightInformation.php +++ /dev/null @@ -1,42 +0,0 @@ -, Sebastian Heuer , Sebastian Bergmann - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace PharIo\Manifest; - -class CopyrightInformation { - /** - * @var AuthorCollection - */ - private $authors; - - /** - * @var License - */ - private $license; - - public function __construct(AuthorCollection $authors, License $license) { - $this->authors = $authors; - $this->license = $license; - } - - /** - * @return AuthorCollection - */ - public function getAuthors() { - return $this->authors; - } - - /** - * @return License - */ - public function getLicense() { - return $this->license; - } -} diff --git a/paragonik-backend/vendor/phar-io/manifest/src/values/Email.php b/paragonik-backend/vendor/phar-io/manifest/src/values/Email.php deleted file mode 100644 index 57cce04..0000000 --- a/paragonik-backend/vendor/phar-io/manifest/src/values/Email.php +++ /dev/null @@ -1,47 +0,0 @@ -, Sebastian Heuer , Sebastian Bergmann - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace PharIo\Manifest; - -class Email { - /** - * @var string - */ - private $email; - - /** - * @param string $email - * - * @throws InvalidEmailException - */ - public function __construct($email) { - $this->ensureEmailIsValid($email); - - $this->email = $email; - } - - /** - * @return string - */ - public function __toString() { - return $this->email; - } - - /** - * @param string $url - * - * @throws InvalidEmailException - */ - private function ensureEmailIsValid($url) { - if (filter_var($url, \FILTER_VALIDATE_EMAIL) === false) { - throw new InvalidEmailException; - } - } -} diff --git a/paragonik-backend/vendor/phar-io/manifest/src/values/Extension.php b/paragonik-backend/vendor/phar-io/manifest/src/values/Extension.php deleted file mode 100644 index 90d6a6f..0000000 --- a/paragonik-backend/vendor/phar-io/manifest/src/values/Extension.php +++ /dev/null @@ -1,75 +0,0 @@ -, Sebastian Heuer , Sebastian Bergmann - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace PharIo\Manifest; - -use PharIo\Version\Version; -use PharIo\Version\VersionConstraint; - -class Extension extends Type { - /** - * @var ApplicationName - */ - private $application; - - /** - * @var VersionConstraint - */ - private $versionConstraint; - - /** - * @param ApplicationName $application - * @param VersionConstraint $versionConstraint - */ - public function __construct(ApplicationName $application, VersionConstraint $versionConstraint) { - $this->application = $application; - $this->versionConstraint = $versionConstraint; - } - - /** - * @return ApplicationName - */ - public function getApplicationName() { - return $this->application; - } - - /** - * @return VersionConstraint - */ - public function getVersionConstraint() { - return $this->versionConstraint; - } - - /** - * @return bool - */ - public function isExtension() { - return true; - } - - /** - * @param ApplicationName $name - * - * @return bool - */ - public function isExtensionFor(ApplicationName $name) { - return $this->application->isEqual($name); - } - - /** - * @param ApplicationName $name - * @param Version $version - * - * @return bool - */ - public function isCompatibleWith(ApplicationName $name, Version $version) { - return $this->isExtensionFor($name) && $this->versionConstraint->complies($version); - } -} diff --git a/paragonik-backend/vendor/phar-io/manifest/src/values/Library.php b/paragonik-backend/vendor/phar-io/manifest/src/values/Library.php deleted file mode 100644 index a6ff944..0000000 --- a/paragonik-backend/vendor/phar-io/manifest/src/values/Library.php +++ /dev/null @@ -1,20 +0,0 @@ -, Sebastian Heuer , Sebastian Bergmann - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace PharIo\Manifest; - -class Library extends Type { - /** - * @return bool - */ - public function isLibrary() { - return true; - } -} diff --git a/paragonik-backend/vendor/phar-io/manifest/src/values/License.php b/paragonik-backend/vendor/phar-io/manifest/src/values/License.php deleted file mode 100644 index e278670..0000000 --- a/paragonik-backend/vendor/phar-io/manifest/src/values/License.php +++ /dev/null @@ -1,42 +0,0 @@ -, Sebastian Heuer , Sebastian Bergmann - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace PharIo\Manifest; - -class License { - /** - * @var string - */ - private $name; - - /** - * @var Url - */ - private $url; - - public function __construct($name, Url $url) { - $this->name = $name; - $this->url = $url; - } - - /** - * @return string - */ - public function getName() { - return $this->name; - } - - /** - * @return Url - */ - public function getUrl() { - return $this->url; - } -} diff --git a/paragonik-backend/vendor/phar-io/manifest/src/values/Manifest.php b/paragonik-backend/vendor/phar-io/manifest/src/values/Manifest.php deleted file mode 100644 index 217acef..0000000 --- a/paragonik-backend/vendor/phar-io/manifest/src/values/Manifest.php +++ /dev/null @@ -1,138 +0,0 @@ -, Sebastian Heuer , Sebastian Bergmann - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace PharIo\Manifest; - -use PharIo\Version\Version; - -class Manifest { - /** - * @var ApplicationName - */ - private $name; - - /** - * @var Version - */ - private $version; - - /** - * @var Type - */ - private $type; - - /** - * @var CopyrightInformation - */ - private $copyrightInformation; - - /** - * @var RequirementCollection - */ - private $requirements; - - /** - * @var BundledComponentCollection - */ - private $bundledComponents; - - public function __construct(ApplicationName $name, Version $version, Type $type, CopyrightInformation $copyrightInformation, RequirementCollection $requirements, BundledComponentCollection $bundledComponents) { - $this->name = $name; - $this->version = $version; - $this->type = $type; - $this->copyrightInformation = $copyrightInformation; - $this->requirements = $requirements; - $this->bundledComponents = $bundledComponents; - } - - /** - * @return ApplicationName - */ - public function getName() { - return $this->name; - } - - /** - * @return Version - */ - public function getVersion() { - return $this->version; - } - - /** - * @return Type - */ - public function getType() { - return $this->type; - } - - /** - * @return CopyrightInformation - */ - public function getCopyrightInformation() { - return $this->copyrightInformation; - } - - /** - * @return RequirementCollection - */ - public function getRequirements() { - return $this->requirements; - } - - /** - * @return BundledComponentCollection - */ - public function getBundledComponents() { - return $this->bundledComponents; - } - - /** - * @return bool - */ - public function isApplication() { - return $this->type->isApplication(); - } - - /** - * @return bool - */ - public function isLibrary() { - return $this->type->isLibrary(); - } - - /** - * @return bool - */ - public function isExtension() { - return $this->type->isExtension(); - } - - /** - * @param ApplicationName $application - * @param Version|null $version - * - * @return bool - */ - public function isExtensionFor(ApplicationName $application, Version $version = null) { - if (!$this->isExtension()) { - return false; - } - - /** @var Extension $type */ - $type = $this->type; - - if ($version !== null) { - return $type->isCompatibleWith($application, $version); - } - - return $type->isExtensionFor($application); - } -} diff --git a/paragonik-backend/vendor/phar-io/manifest/src/values/PhpExtensionRequirement.php b/paragonik-backend/vendor/phar-io/manifest/src/values/PhpExtensionRequirement.php deleted file mode 100644 index 6dd9296..0000000 --- a/paragonik-backend/vendor/phar-io/manifest/src/values/PhpExtensionRequirement.php +++ /dev/null @@ -1,32 +0,0 @@ -, Sebastian Heuer , Sebastian Bergmann - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace PharIo\Manifest; - -class PhpExtensionRequirement implements Requirement { - /** - * @var string - */ - private $extension; - - /** - * @param string $extension - */ - public function __construct($extension) { - $this->extension = $extension; - } - - /** - * @return string - */ - public function __toString() { - return $this->extension; - } -} diff --git a/paragonik-backend/vendor/phar-io/manifest/src/values/PhpVersionRequirement.php b/paragonik-backend/vendor/phar-io/manifest/src/values/PhpVersionRequirement.php deleted file mode 100644 index 8ad3e76..0000000 --- a/paragonik-backend/vendor/phar-io/manifest/src/values/PhpVersionRequirement.php +++ /dev/null @@ -1,31 +0,0 @@ -, Sebastian Heuer , Sebastian Bergmann - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace PharIo\Manifest; - -use PharIo\Version\VersionConstraint; - -class PhpVersionRequirement implements Requirement { - /** - * @var VersionConstraint - */ - private $versionConstraint; - - public function __construct(VersionConstraint $versionConstraint) { - $this->versionConstraint = $versionConstraint; - } - - /** - * @return VersionConstraint - */ - public function getVersionConstraint() { - return $this->versionConstraint; - } -} diff --git a/paragonik-backend/vendor/phar-io/manifest/src/values/Requirement.php b/paragonik-backend/vendor/phar-io/manifest/src/values/Requirement.php deleted file mode 100644 index 03bb56d..0000000 --- a/paragonik-backend/vendor/phar-io/manifest/src/values/Requirement.php +++ /dev/null @@ -1,14 +0,0 @@ -, Sebastian Heuer , Sebastian Bergmann - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace PharIo\Manifest; - -interface Requirement { -} diff --git a/paragonik-backend/vendor/phar-io/manifest/src/values/RequirementCollection.php b/paragonik-backend/vendor/phar-io/manifest/src/values/RequirementCollection.php deleted file mode 100644 index af0e09b..0000000 --- a/paragonik-backend/vendor/phar-io/manifest/src/values/RequirementCollection.php +++ /dev/null @@ -1,43 +0,0 @@ -, Sebastian Heuer , Sebastian Bergmann - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace PharIo\Manifest; - -class RequirementCollection implements \Countable, \IteratorAggregate { - /** - * @var Requirement[] - */ - private $requirements = []; - - public function add(Requirement $requirement) { - $this->requirements[] = $requirement; - } - - /** - * @return Requirement[] - */ - public function getRequirements() { - return $this->requirements; - } - - /** - * @return int - */ - public function count() { - return count($this->requirements); - } - - /** - * @return RequirementCollectionIterator - */ - public function getIterator() { - return new RequirementCollectionIterator($this); - } -} diff --git a/paragonik-backend/vendor/phar-io/manifest/src/values/RequirementCollectionIterator.php b/paragonik-backend/vendor/phar-io/manifest/src/values/RequirementCollectionIterator.php deleted file mode 100644 index 9bb7003..0000000 --- a/paragonik-backend/vendor/phar-io/manifest/src/values/RequirementCollectionIterator.php +++ /dev/null @@ -1,56 +0,0 @@ -, Sebastian Heuer , Sebastian Bergmann - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace PharIo\Manifest; - -class RequirementCollectionIterator implements \Iterator { - /** - * @var Requirement[] - */ - private $requirements = []; - - /** - * @var int - */ - private $position; - - public function __construct(RequirementCollection $requirements) { - $this->requirements = $requirements->getRequirements(); - } - - public function rewind() { - $this->position = 0; - } - - /** - * @return bool - */ - public function valid() { - return $this->position < count($this->requirements); - } - - /** - * @return int - */ - public function key() { - return $this->position; - } - - /** - * @return Requirement - */ - public function current() { - return $this->requirements[$this->position]; - } - - public function next() { - $this->position++; - } -} diff --git a/paragonik-backend/vendor/phar-io/manifest/src/values/Type.php b/paragonik-backend/vendor/phar-io/manifest/src/values/Type.php deleted file mode 100644 index 31fbd44..0000000 --- a/paragonik-backend/vendor/phar-io/manifest/src/values/Type.php +++ /dev/null @@ -1,60 +0,0 @@ -, Sebastian Heuer , Sebastian Bergmann - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace PharIo\Manifest; - -use PharIo\Version\VersionConstraint; - -abstract class Type { - /** - * @return Application - */ - public static function application() { - return new Application; - } - - /** - * @return Library - */ - public static function library() { - return new Library; - } - - /** - * @param ApplicationName $application - * @param VersionConstraint $versionConstraint - * - * @return Extension - */ - public static function extension(ApplicationName $application, VersionConstraint $versionConstraint) { - return new Extension($application, $versionConstraint); - } - - /** - * @return bool - */ - public function isApplication() { - return false; - } - - /** - * @return bool - */ - public function isLibrary() { - return false; - } - - /** - * @return bool - */ - public function isExtension() { - return false; - } -} diff --git a/paragonik-backend/vendor/phar-io/manifest/src/values/Url.php b/paragonik-backend/vendor/phar-io/manifest/src/values/Url.php deleted file mode 100644 index 37917c8..0000000 --- a/paragonik-backend/vendor/phar-io/manifest/src/values/Url.php +++ /dev/null @@ -1,47 +0,0 @@ -, Sebastian Heuer , Sebastian Bergmann - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace PharIo\Manifest; - -class Url { - /** - * @var string - */ - private $url; - - /** - * @param string $url - * - * @throws InvalidUrlException - */ - public function __construct($url) { - $this->ensureUrlIsValid($url); - - $this->url = $url; - } - - /** - * @return string - */ - public function __toString() { - return $this->url; - } - - /** - * @param string $url - * - * @throws InvalidUrlException - */ - private function ensureUrlIsValid($url) { - if (filter_var($url, \FILTER_VALIDATE_URL) === false) { - throw new InvalidUrlException; - } - } -} diff --git a/paragonik-backend/vendor/phar-io/manifest/src/xml/AuthorElement.php b/paragonik-backend/vendor/phar-io/manifest/src/xml/AuthorElement.php deleted file mode 100644 index a32f397..0000000 --- a/paragonik-backend/vendor/phar-io/manifest/src/xml/AuthorElement.php +++ /dev/null @@ -1,21 +0,0 @@ -, Sebastian Heuer , Sebastian Bergmann - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace PharIo\Manifest; - -class AuthorElement extends ManifestElement { - public function getName() { - return $this->getAttributeValue('name'); - } - - public function getEmail() { - return $this->getAttributeValue('email'); - } -} diff --git a/paragonik-backend/vendor/phar-io/manifest/src/xml/AuthorElementCollection.php b/paragonik-backend/vendor/phar-io/manifest/src/xml/AuthorElementCollection.php deleted file mode 100644 index 1240d8c..0000000 --- a/paragonik-backend/vendor/phar-io/manifest/src/xml/AuthorElementCollection.php +++ /dev/null @@ -1,19 +0,0 @@ -, Sebastian Heuer , Sebastian Bergmann - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace PharIo\Manifest; - -class AuthorElementCollection extends ElementCollection { - public function current() { - return new AuthorElement( - $this->getCurrentElement() - ); - } -} diff --git a/paragonik-backend/vendor/phar-io/manifest/src/xml/BundlesElement.php b/paragonik-backend/vendor/phar-io/manifest/src/xml/BundlesElement.php deleted file mode 100644 index b90023e..0000000 --- a/paragonik-backend/vendor/phar-io/manifest/src/xml/BundlesElement.php +++ /dev/null @@ -1,19 +0,0 @@ -, Sebastian Heuer , Sebastian Bergmann - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace PharIo\Manifest; - -class BundlesElement extends ManifestElement { - public function getComponentElements() { - return new ComponentElementCollection( - $this->getChildrenByName('component') - ); - } -} diff --git a/paragonik-backend/vendor/phar-io/manifest/src/xml/ComponentElement.php b/paragonik-backend/vendor/phar-io/manifest/src/xml/ComponentElement.php deleted file mode 100644 index 64ed6b0..0000000 --- a/paragonik-backend/vendor/phar-io/manifest/src/xml/ComponentElement.php +++ /dev/null @@ -1,21 +0,0 @@ -, Sebastian Heuer , Sebastian Bergmann - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace PharIo\Manifest; - -class ComponentElement extends ManifestElement { - public function getName() { - return $this->getAttributeValue('name'); - } - - public function getVersion() { - return $this->getAttributeValue('version'); - } -} diff --git a/paragonik-backend/vendor/phar-io/manifest/src/xml/ComponentElementCollection.php b/paragonik-backend/vendor/phar-io/manifest/src/xml/ComponentElementCollection.php deleted file mode 100644 index 9d375f9..0000000 --- a/paragonik-backend/vendor/phar-io/manifest/src/xml/ComponentElementCollection.php +++ /dev/null @@ -1,19 +0,0 @@ -, Sebastian Heuer , Sebastian Bergmann - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace PharIo\Manifest; - -class ComponentElementCollection extends ElementCollection { - public function current() { - return new ComponentElement( - $this->getCurrentElement() - ); - } -} diff --git a/paragonik-backend/vendor/phar-io/manifest/src/xml/ContainsElement.php b/paragonik-backend/vendor/phar-io/manifest/src/xml/ContainsElement.php deleted file mode 100644 index 8172f33..0000000 --- a/paragonik-backend/vendor/phar-io/manifest/src/xml/ContainsElement.php +++ /dev/null @@ -1,31 +0,0 @@ -, Sebastian Heuer , Sebastian Bergmann - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace PharIo\Manifest; - -class ContainsElement extends ManifestElement { - public function getName() { - return $this->getAttributeValue('name'); - } - - public function getVersion() { - return $this->getAttributeValue('version'); - } - - public function getType() { - return $this->getAttributeValue('type'); - } - - public function getExtensionElement() { - return new ExtensionElement( - $this->getChildByName('extension') - ); - } -} diff --git a/paragonik-backend/vendor/phar-io/manifest/src/xml/CopyrightElement.php b/paragonik-backend/vendor/phar-io/manifest/src/xml/CopyrightElement.php deleted file mode 100644 index bf7848e..0000000 --- a/paragonik-backend/vendor/phar-io/manifest/src/xml/CopyrightElement.php +++ /dev/null @@ -1,25 +0,0 @@ -, Sebastian Heuer , Sebastian Bergmann - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace PharIo\Manifest; - -class CopyrightElement extends ManifestElement { - public function getAuthorElements() { - return new AuthorElementCollection( - $this->getChildrenByName('author') - ); - } - - public function getLicenseElement() { - return new LicenseElement( - $this->getChildByName('license') - ); - } -} diff --git a/paragonik-backend/vendor/phar-io/manifest/src/xml/ElementCollection.php b/paragonik-backend/vendor/phar-io/manifest/src/xml/ElementCollection.php deleted file mode 100644 index 284e77b..0000000 --- a/paragonik-backend/vendor/phar-io/manifest/src/xml/ElementCollection.php +++ /dev/null @@ -1,58 +0,0 @@ -, Sebastian Heuer , Sebastian Bergmann - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace PharIo\Manifest; - -use DOMElement; -use DOMNodeList; - -abstract class ElementCollection implements \Iterator { - /** - * @var DOMNodeList - */ - private $nodeList; - - private $position; - - /** - * ElementCollection constructor. - * - * @param DOMNodeList $nodeList - */ - public function __construct(DOMNodeList $nodeList) { - $this->nodeList = $nodeList; - $this->position = 0; - } - - abstract public function current(); - - /** - * @return DOMElement - */ - protected function getCurrentElement() { - return $this->nodeList->item($this->position); - } - - public function next() { - $this->position++; - } - - public function key() { - return $this->position; - } - - public function valid() { - return $this->position < $this->nodeList->length; - } - - public function rewind() { - $this->position = 0; - } -} diff --git a/paragonik-backend/vendor/phar-io/manifest/src/xml/ExtElement.php b/paragonik-backend/vendor/phar-io/manifest/src/xml/ExtElement.php deleted file mode 100644 index 7a824ab..0000000 --- a/paragonik-backend/vendor/phar-io/manifest/src/xml/ExtElement.php +++ /dev/null @@ -1,17 +0,0 @@ -, Sebastian Heuer , Sebastian Bergmann - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace PharIo\Manifest; - -class ExtElement extends ManifestElement { - public function getName() { - return $this->getAttributeValue('name'); - } -} diff --git a/paragonik-backend/vendor/phar-io/manifest/src/xml/ExtElementCollection.php b/paragonik-backend/vendor/phar-io/manifest/src/xml/ExtElementCollection.php deleted file mode 100644 index 17acc62..0000000 --- a/paragonik-backend/vendor/phar-io/manifest/src/xml/ExtElementCollection.php +++ /dev/null @@ -1,20 +0,0 @@ -, Sebastian Heuer , Sebastian Bergmann - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace PharIo\Manifest; - -class ExtElementCollection extends ElementCollection { - public function current() { - return new ExtElement( - $this->getCurrentElement() - ); - } - -} diff --git a/paragonik-backend/vendor/phar-io/manifest/src/xml/ExtensionElement.php b/paragonik-backend/vendor/phar-io/manifest/src/xml/ExtensionElement.php deleted file mode 100644 index 536c085..0000000 --- a/paragonik-backend/vendor/phar-io/manifest/src/xml/ExtensionElement.php +++ /dev/null @@ -1,21 +0,0 @@ -, Sebastian Heuer , Sebastian Bergmann - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace PharIo\Manifest; - -class ExtensionElement extends ManifestElement { - public function getFor() { - return $this->getAttributeValue('for'); - } - - public function getCompatible() { - return $this->getAttributeValue('compatible'); - } -} diff --git a/paragonik-backend/vendor/phar-io/manifest/src/xml/LicenseElement.php b/paragonik-backend/vendor/phar-io/manifest/src/xml/LicenseElement.php deleted file mode 100644 index ee001df..0000000 --- a/paragonik-backend/vendor/phar-io/manifest/src/xml/LicenseElement.php +++ /dev/null @@ -1,21 +0,0 @@ -, Sebastian Heuer , Sebastian Bergmann - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace PharIo\Manifest; - -class LicenseElement extends ManifestElement { - public function getType() { - return $this->getAttributeValue('type'); - } - - public function getUrl() { - return $this->getAttributeValue('url'); - } -} diff --git a/paragonik-backend/vendor/phar-io/manifest/src/xml/ManifestDocument.php b/paragonik-backend/vendor/phar-io/manifest/src/xml/ManifestDocument.php deleted file mode 100644 index 9b0bd9d..0000000 --- a/paragonik-backend/vendor/phar-io/manifest/src/xml/ManifestDocument.php +++ /dev/null @@ -1,118 +0,0 @@ -, Sebastian Heuer , Sebastian Bergmann - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace PharIo\Manifest; - -use DOMDocument; -use DOMElement; - -class ManifestDocument { - const XMLNS = 'https://phar.io/xml/manifest/1.0'; - - /** - * @var DOMDocument - */ - private $dom; - - /** - * ManifestDocument constructor. - * - * @param DOMDocument $dom - */ - private function __construct(DOMDocument $dom) { - $this->ensureCorrectDocumentType($dom); - - $this->dom = $dom; - } - - public static function fromFile($filename) { - if (!file_exists($filename)) { - throw new ManifestDocumentException( - sprintf('File "%s" not found', $filename) - ); - } - - return self::fromString( - file_get_contents($filename) - ); - } - - public static function fromString($xmlString) { - $prev = libxml_use_internal_errors(true); - libxml_clear_errors(); - - $dom = new DOMDocument(); - $dom->loadXML($xmlString); - - $errors = libxml_get_errors(); - libxml_use_internal_errors($prev); - - if (count($errors) !== 0) { - throw new ManifestDocumentLoadingException($errors); - } - - return new self($dom); - } - - public function getContainsElement() { - return new ContainsElement( - $this->fetchElementByName('contains') - ); - } - - public function getCopyrightElement() { - return new CopyrightElement( - $this->fetchElementByName('copyright') - ); - } - - public function getRequiresElement() { - return new RequiresElement( - $this->fetchElementByName('requires') - ); - } - - public function hasBundlesElement() { - return $this->dom->getElementsByTagNameNS(self::XMLNS, 'bundles')->length === 1; - } - - public function getBundlesElement() { - return new BundlesElement( - $this->fetchElementByName('bundles') - ); - } - - private function ensureCorrectDocumentType(DOMDocument $dom) { - $root = $dom->documentElement; - - if ($root->localName !== 'phar' || $root->namespaceURI !== self::XMLNS) { - throw new ManifestDocumentException('Not a phar.io manifest document'); - } - } - - /** - * @param $elementName - * - * @return DOMElement - * - * @throws ManifestDocumentException - */ - private function fetchElementByName($elementName) { - $element = $this->dom->getElementsByTagNameNS(self::XMLNS, $elementName)->item(0); - - if (!$element instanceof DOMElement) { - throw new ManifestDocumentException( - sprintf('Element %s missing', $elementName) - ); - } - - return $element; - } -} diff --git a/paragonik-backend/vendor/phar-io/manifest/src/xml/ManifestDocumentLoadingException.php b/paragonik-backend/vendor/phar-io/manifest/src/xml/ManifestDocumentLoadingException.php deleted file mode 100644 index 59ac5c6..0000000 --- a/paragonik-backend/vendor/phar-io/manifest/src/xml/ManifestDocumentLoadingException.php +++ /dev/null @@ -1,48 +0,0 @@ -, Sebastian Heuer , Sebastian Bergmann - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace PharIo\Manifest; - -use LibXMLError; - -class ManifestDocumentLoadingException extends \Exception implements Exception { - /** - * @var LibXMLError[] - */ - private $libxmlErrors; - - /** - * ManifestDocumentLoadingException constructor. - * - * @param LibXMLError[] $libxmlErrors - */ - public function __construct(array $libxmlErrors) { - $this->libxmlErrors = $libxmlErrors; - $first = $this->libxmlErrors[0]; - - parent::__construct( - sprintf( - '%s (Line: %d / Column: %d / File: %s)', - $first->message, - $first->line, - $first->column, - $first->file - ), - $first->code - ); - } - - /** - * @return LibXMLError[] - */ - public function getLibxmlErrors() { - return $this->libxmlErrors; - } -} diff --git a/paragonik-backend/vendor/phar-io/manifest/src/xml/ManifestElement.php b/paragonik-backend/vendor/phar-io/manifest/src/xml/ManifestElement.php deleted file mode 100644 index 09d07cc..0000000 --- a/paragonik-backend/vendor/phar-io/manifest/src/xml/ManifestElement.php +++ /dev/null @@ -1,100 +0,0 @@ -, Sebastian Heuer , Sebastian Bergmann - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace PharIo\Manifest; - -use DOMElement; -use DOMNodeList; - -class ManifestElement { - const XMLNS = 'https://phar.io/xml/manifest/1.0'; - - /** - * @var DOMElement - */ - private $element; - - /** - * ContainsElement constructor. - * - * @param DOMElement $element - */ - public function __construct(DOMElement $element) { - $this->element = $element; - } - - /** - * @param string $name - * - * @return string - * - * @throws ManifestElementException - */ - protected function getAttributeValue($name) { - if (!$this->element->hasAttribute($name)) { - throw new ManifestElementException( - sprintf( - 'Attribute %s not set on element %s', - $name, - $this->element->localName - ) - ); - } - - return $this->element->getAttribute($name); - } - - /** - * @param $elementName - * - * @return DOMElement - * - * @throws ManifestElementException - */ - protected function getChildByName($elementName) { - $element = $this->element->getElementsByTagNameNS(self::XMLNS, $elementName)->item(0); - - if (!$element instanceof DOMElement) { - throw new ManifestElementException( - sprintf('Element %s missing', $elementName) - ); - } - - return $element; - } - - /** - * @param $elementName - * - * @return DOMNodeList - * - * @throws ManifestElementException - */ - protected function getChildrenByName($elementName) { - $elementList = $this->element->getElementsByTagNameNS(self::XMLNS, $elementName); - - if ($elementList->length === 0) { - throw new ManifestElementException( - sprintf('Element(s) %s missing', $elementName) - ); - } - - return $elementList; - } - - /** - * @param string $elementName - * - * @return bool - */ - protected function hasChild($elementName) { - return $this->element->getElementsByTagNameNS(self::XMLNS, $elementName)->length !== 0; - } -} diff --git a/paragonik-backend/vendor/phar-io/manifest/src/xml/PhpElement.php b/paragonik-backend/vendor/phar-io/manifest/src/xml/PhpElement.php deleted file mode 100644 index e7340c0..0000000 --- a/paragonik-backend/vendor/phar-io/manifest/src/xml/PhpElement.php +++ /dev/null @@ -1,27 +0,0 @@ -, Sebastian Heuer , Sebastian Bergmann - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace PharIo\Manifest; - -class PhpElement extends ManifestElement { - public function getVersion() { - return $this->getAttributeValue('version'); - } - - public function hasExtElements() { - return $this->hasChild('ext'); - } - - public function getExtElements() { - return new ExtElementCollection( - $this->getChildrenByName('ext') - ); - } -} diff --git a/paragonik-backend/vendor/phar-io/manifest/src/xml/RequiresElement.php b/paragonik-backend/vendor/phar-io/manifest/src/xml/RequiresElement.php deleted file mode 100644 index 5f41b2e..0000000 --- a/paragonik-backend/vendor/phar-io/manifest/src/xml/RequiresElement.php +++ /dev/null @@ -1,19 +0,0 @@ -, Sebastian Heuer , Sebastian Bergmann - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace PharIo\Manifest; - -class RequiresElement extends ManifestElement { - public function getPHPElement() { - return new PhpElement( - $this->getChildByName('php') - ); - } -} diff --git a/paragonik-backend/vendor/phar-io/manifest/tests/ManifestDocumentMapperTest.php b/paragonik-backend/vendor/phar-io/manifest/tests/ManifestDocumentMapperTest.php deleted file mode 100644 index c69d761..0000000 --- a/paragonik-backend/vendor/phar-io/manifest/tests/ManifestDocumentMapperTest.php +++ /dev/null @@ -1,110 +0,0 @@ -assertInstanceOf( - Manifest::class, - $mapper->map($manifestDocument) - ); - } - - public function dataProvider() { - return [ - 'application' => [__DIR__ . '/_fixture/phpunit-5.6.5.xml'], - 'library' => [__DIR__ . '/_fixture/library.xml'], - 'extension' => [__DIR__ . '/_fixture/extension.xml'] - ]; - } - - public function testThrowsExceptionOnUnsupportedType() { - $manifestDocument = ManifestDocument::fromFile(__DIR__ . '/_fixture/custom.xml'); - $mapper = new ManifestDocumentMapper(); - - $this->expectException(ManifestDocumentMapperException::class); - $mapper->map($manifestDocument); - } - - public function testInvalidVersionInformationThrowsException() { - $manifestDocument = ManifestDocument::fromFile(__DIR__ . '/_fixture/invalidversion.xml'); - $mapper = new ManifestDocumentMapper(); - - $this->expectException(ManifestDocumentMapperException::class); - $mapper->map($manifestDocument); - } - - public function testInvalidVersionConstraintThrowsException() { - $manifestDocument = ManifestDocument::fromFile(__DIR__ . '/_fixture/invalidversionconstraint.xml'); - $mapper = new ManifestDocumentMapper(); - - $this->expectException(ManifestDocumentMapperException::class); - $mapper->map($manifestDocument); - } - - /** - * @uses \PharIo\Manifest\ExtensionElement - */ - public function testInvalidCompatibleConstraintThrowsException() { - $manifestDocument = ManifestDocument::fromFile(__DIR__ . '/_fixture/extension-invalidcompatible.xml'); - $mapper = new ManifestDocumentMapper(); - - $this->expectException(ManifestDocumentMapperException::class); - $mapper->map($manifestDocument); - } - -} diff --git a/paragonik-backend/vendor/phar-io/manifest/tests/ManifestLoaderTest.php b/paragonik-backend/vendor/phar-io/manifest/tests/ManifestLoaderTest.php deleted file mode 100644 index 919143a..0000000 --- a/paragonik-backend/vendor/phar-io/manifest/tests/ManifestLoaderTest.php +++ /dev/null @@ -1,83 +0,0 @@ -assertInstanceOf( - Manifest::class, - ManifestLoader::fromFile(__DIR__ . '/_fixture/library.xml') - ); - } - - public function testCanBeLoadedFromString() { - $this->assertInstanceOf( - Manifest::class, - ManifestLoader::fromString( - file_get_contents(__DIR__ . '/_fixture/library.xml') - ) - ); - } - - public function testCanBeLoadedFromPhar() { - $this->assertInstanceOf( - Manifest::class, - ManifestLoader::fromPhar(__DIR__ . '/_fixture/test.phar') - ); - - } - - public function testLoadingNonExistingFileThrowsException() { - $this->expectException(ManifestLoaderException::class); - ManifestLoader::fromFile('/not/existing'); - } - - /** - * @uses \PharIo\Manifest\ManifestDocumentLoadingException - */ - public function testLoadingInvalidXmlThrowsException() { - $this->expectException(ManifestLoaderException::class); - ManifestLoader::fromString(''); - } - -} diff --git a/paragonik-backend/vendor/phar-io/manifest/tests/ManifestSerializerTest.php b/paragonik-backend/vendor/phar-io/manifest/tests/ManifestSerializerTest.php deleted file mode 100644 index 5fdf799..0000000 --- a/paragonik-backend/vendor/phar-io/manifest/tests/ManifestSerializerTest.php +++ /dev/null @@ -1,114 +0,0 @@ -assertXmlStringEqualsXmlString( - $expected, - $serializer->serializeToString($manifest) - ); - } - - public function dataProvider() { - return [ - 'application' => [file_get_contents(__DIR__ . '/_fixture/phpunit-5.6.5.xml')], - 'library' => [file_get_contents(__DIR__ . '/_fixture/library.xml')], - 'extension' => [file_get_contents(__DIR__ . '/_fixture/extension.xml')] - ]; - } - - /** - * @uses \PharIo\Manifest\Library - * @uses \PharIo\Manifest\ApplicationName - */ - public function testCanSerializeToFile() { - $src = __DIR__ . '/_fixture/library.xml'; - $dest = '/tmp/' . uniqid('serializer', true); - $manifest = ManifestLoader::fromFile($src); - $serializer = new ManifestSerializer(); - $serializer->serializeToFile($manifest, $dest); - $this->assertXmlFileEqualsXmlFile($src, $dest); - unlink($dest); - } - - /** - * @uses \PharIo\Manifest\ApplicationName - */ - public function testCanHandleUnknownType() { - $type = $this->getMockForAbstractClass(Type::class); - $manifest = new Manifest( - new ApplicationName('testvendor/testname'), - new Version('1.0.0'), - $type, - new CopyrightInformation( - new AuthorCollection(), - new License('bsd-3', new Url('https://some/uri')) - ), - new RequirementCollection(), - new BundledComponentCollection() - ); - - $serializer = new ManifestSerializer(); - $this->assertXmlStringEqualsXmlFile( - __DIR__ . '/_fixture/custom.xml', - $serializer->serializeToString($manifest) - ); - } -} diff --git a/paragonik-backend/vendor/phar-io/manifest/tests/_fixture/custom.xml b/paragonik-backend/vendor/phar-io/manifest/tests/_fixture/custom.xml deleted file mode 100644 index 4f43828..0000000 --- a/paragonik-backend/vendor/phar-io/manifest/tests/_fixture/custom.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/paragonik-backend/vendor/phar-io/manifest/tests/_fixture/extension-invalidcompatible.xml b/paragonik-backend/vendor/phar-io/manifest/tests/_fixture/extension-invalidcompatible.xml deleted file mode 100644 index a78111c..0000000 --- a/paragonik-backend/vendor/phar-io/manifest/tests/_fixture/extension-invalidcompatible.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/paragonik-backend/vendor/phar-io/manifest/tests/_fixture/extension.xml b/paragonik-backend/vendor/phar-io/manifest/tests/_fixture/extension.xml deleted file mode 100644 index a870aee..0000000 --- a/paragonik-backend/vendor/phar-io/manifest/tests/_fixture/extension.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/paragonik-backend/vendor/phar-io/manifest/tests/_fixture/invalidversion.xml b/paragonik-backend/vendor/phar-io/manifest/tests/_fixture/invalidversion.xml deleted file mode 100644 index 788dd4c..0000000 --- a/paragonik-backend/vendor/phar-io/manifest/tests/_fixture/invalidversion.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/paragonik-backend/vendor/phar-io/manifest/tests/_fixture/invalidversionconstraint.xml b/paragonik-backend/vendor/phar-io/manifest/tests/_fixture/invalidversionconstraint.xml deleted file mode 100644 index f881f8b..0000000 --- a/paragonik-backend/vendor/phar-io/manifest/tests/_fixture/invalidversionconstraint.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/paragonik-backend/vendor/phar-io/manifest/tests/_fixture/library.xml b/paragonik-backend/vendor/phar-io/manifest/tests/_fixture/library.xml deleted file mode 100644 index a5e2523..0000000 --- a/paragonik-backend/vendor/phar-io/manifest/tests/_fixture/library.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/paragonik-backend/vendor/phar-io/manifest/tests/_fixture/manifest.xml b/paragonik-backend/vendor/phar-io/manifest/tests/_fixture/manifest.xml deleted file mode 100644 index a5e2523..0000000 --- a/paragonik-backend/vendor/phar-io/manifest/tests/_fixture/manifest.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/paragonik-backend/vendor/phar-io/manifest/tests/_fixture/phpunit-5.6.5.xml b/paragonik-backend/vendor/phar-io/manifest/tests/_fixture/phpunit-5.6.5.xml deleted file mode 100644 index aadbea2..0000000 --- a/paragonik-backend/vendor/phar-io/manifest/tests/_fixture/phpunit-5.6.5.xml +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/paragonik-backend/vendor/phar-io/manifest/tests/_fixture/test.phar b/paragonik-backend/vendor/phar-io/manifest/tests/_fixture/test.phar deleted file mode 100644 index d2a3e39..0000000 Binary files a/paragonik-backend/vendor/phar-io/manifest/tests/_fixture/test.phar and /dev/null differ diff --git a/paragonik-backend/vendor/phar-io/manifest/tests/exceptions/ManifestDocumentLoadingExceptionTest.php b/paragonik-backend/vendor/phar-io/manifest/tests/exceptions/ManifestDocumentLoadingExceptionTest.php deleted file mode 100644 index 70f7553..0000000 --- a/paragonik-backend/vendor/phar-io/manifest/tests/exceptions/ManifestDocumentLoadingExceptionTest.php +++ /dev/null @@ -1,19 +0,0 @@ -loadXML(''); - $exception = new ManifestDocumentLoadingException(libxml_get_errors()); - libxml_use_internal_errors($prev); - - $this->assertContainsOnlyInstancesOf(LibXMLError::class, $exception->getLibxmlErrors()); - } - -} diff --git a/paragonik-backend/vendor/phar-io/manifest/tests/values/ApplicationNameTest.php b/paragonik-backend/vendor/phar-io/manifest/tests/values/ApplicationNameTest.php deleted file mode 100644 index 8ed3f3a..0000000 --- a/paragonik-backend/vendor/phar-io/manifest/tests/values/ApplicationNameTest.php +++ /dev/null @@ -1,57 +0,0 @@ -, Sebastian Heuer , Sebastian Bergmann - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace PharIo\Manifest; - -use PHPUnit\Framework\TestCase; - -class ApplicationNameTest extends TestCase { - - public function testCanBeCreatedWithValidName() { - $this->assertInstanceOf( - ApplicationName::class, - new ApplicationName('foo/bar') - ); - } - - public function testUsingInvalidFormatForNameThrowsException() { - $this->expectException(InvalidApplicationNameException::class); - $this->expectExceptionCode(InvalidApplicationNameException::InvalidFormat); - new ApplicationName('foo'); - } - - public function testUsingWrongTypeForNameThrowsException() { - $this->expectException(InvalidApplicationNameException::class); - $this->expectExceptionCode(InvalidApplicationNameException::NotAString); - new ApplicationName(123); - } - - public function testReturnsTrueForEqualNamesWhenCompared() { - $app = new ApplicationName('foo/bar'); - $this->assertTrue( - $app->isEqual($app) - ); - } - - public function testReturnsFalseForNonEqualNamesWhenCompared() { - $app1 = new ApplicationName('foo/bar'); - $app2 = new ApplicationName('foo/foo'); - $this->assertFalse( - $app1->isEqual($app2) - ); - } - - public function testCanBeConvertedToString() { - $this->assertEquals( - 'foo/bar', - new ApplicationName('foo/bar') - ); - } -} diff --git a/paragonik-backend/vendor/phar-io/manifest/tests/values/ApplicationTest.php b/paragonik-backend/vendor/phar-io/manifest/tests/values/ApplicationTest.php deleted file mode 100644 index 86b5da6..0000000 --- a/paragonik-backend/vendor/phar-io/manifest/tests/values/ApplicationTest.php +++ /dev/null @@ -1,44 +0,0 @@ -, Sebastian Heuer , Sebastian Bergmann - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace PharIo\Manifest; - -use PHPUnit\Framework\TestCase; - -/** - * @covers PharIo\Manifest\Application - * @covers PharIo\Manifest\Type - */ -class ApplicationTest extends TestCase { - /** - * @var Application - */ - private $type; - - protected function setUp() { - $this->type = Type::application(); - } - - public function testCanBeCreated() { - $this->assertInstanceOf(Application::class, $this->type); - } - - public function testIsApplication() { - $this->assertTrue($this->type->isApplication()); - } - - public function testIsNotLibrary() { - $this->assertFalse($this->type->isLibrary()); - } - - public function testIsNotExtension() { - $this->assertFalse($this->type->isExtension()); - } -} diff --git a/paragonik-backend/vendor/phar-io/manifest/tests/values/AuthorCollectionTest.php b/paragonik-backend/vendor/phar-io/manifest/tests/values/AuthorCollectionTest.php deleted file mode 100644 index 0fa1b95..0000000 --- a/paragonik-backend/vendor/phar-io/manifest/tests/values/AuthorCollectionTest.php +++ /dev/null @@ -1,62 +0,0 @@ -, Sebastian Heuer , Sebastian Bergmann - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace PharIo\Manifest; - -use PHPUnit\Framework\TestCase; - -/** - * @covers \PharIo\Manifest\AuthorCollection - * @covers \PharIo\Manifest\AuthorCollectionIterator - * - * @uses \PharIo\Manifest\Author - * @uses \PharIo\Manifest\Email - */ -class AuthorCollectionTest extends TestCase { - /** - * @var AuthorCollection - */ - private $collection; - - /** - * @var Author - */ - private $item; - - protected function setUp() { - $this->collection = new AuthorCollection; - $this->item = new Author('Joe Developer', new Email('user@example.com')); - } - - public function testCanBeCreated() { - $this->assertInstanceOf(AuthorCollection::class, $this->collection); - } - - public function testCanBeCounted() { - $this->collection->add($this->item); - - $this->assertCount(1, $this->collection); - } - - public function testCanBeIterated() { - $this->collection->add( - new Author('Dummy First', new Email('dummy@example.com')) - ); - $this->collection->add($this->item); - $this->assertContains($this->item, $this->collection); - } - - public function testKeyPositionCanBeRetreived() { - $this->collection->add($this->item); - foreach($this->collection as $key => $item) { - $this->assertEquals(0, $key); - } - } -} diff --git a/paragonik-backend/vendor/phar-io/manifest/tests/values/AuthorTest.php b/paragonik-backend/vendor/phar-io/manifest/tests/values/AuthorTest.php deleted file mode 100644 index b7317fa..0000000 --- a/paragonik-backend/vendor/phar-io/manifest/tests/values/AuthorTest.php +++ /dev/null @@ -1,45 +0,0 @@ -, Sebastian Heuer , Sebastian Bergmann - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace PharIo\Manifest; - -use PHPUnit\Framework\TestCase; - -/** - * @covers PharIo\Manifest\Author - * - * @uses PharIo\Manifest\Email - */ -class AuthorTest extends TestCase { - /** - * @var Author - */ - private $author; - - protected function setUp() { - $this->author = new Author('Joe Developer', new Email('user@example.com')); - } - - public function testCanBeCreated() { - $this->assertInstanceOf(Author::class, $this->author); - } - - public function testNameCanBeRetrieved() { - $this->assertEquals('Joe Developer', $this->author->getName()); - } - - public function testEmailCanBeRetrieved() { - $this->assertEquals('user@example.com', $this->author->getEmail()); - } - - public function testCanBeUsedAsString() { - $this->assertEquals('Joe Developer ', $this->author); - } -} diff --git a/paragonik-backend/vendor/phar-io/manifest/tests/values/BundledComponentCollectionTest.php b/paragonik-backend/vendor/phar-io/manifest/tests/values/BundledComponentCollectionTest.php deleted file mode 100644 index 66cd0c4..0000000 --- a/paragonik-backend/vendor/phar-io/manifest/tests/values/BundledComponentCollectionTest.php +++ /dev/null @@ -1,63 +0,0 @@ -, Sebastian Heuer , Sebastian Bergmann - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace PharIo\Manifest; - -use PharIo\Version\Version; -use PHPUnit\Framework\TestCase; - -/** - * @covers \PharIo\Manifest\BundledComponentCollection - * @covers \PharIo\Manifest\BundledComponentCollectionIterator - * - * @uses \PharIo\Manifest\BundledComponent - * @uses \PharIo\Version\Version - */ -class BundledComponentCollectionTest extends TestCase { - /** - * @var BundledComponentCollection - */ - private $collection; - - /** - * @var BundledComponent - */ - private $item; - - protected function setUp() { - $this->collection = new BundledComponentCollection; - $this->item = new BundledComponent('phpunit/php-code-coverage', new Version('4.0.2')); - } - - public function testCanBeCreated() { - $this->assertInstanceOf(BundledComponentCollection::class, $this->collection); - } - - public function testCanBeCounted() { - $this->collection->add($this->item); - - $this->assertCount(1, $this->collection); - } - - public function testCanBeIterated() { - $this->collection->add($this->createMock(BundledComponent::class)); - $this->collection->add($this->item); - - $this->assertContains($this->item, $this->collection); - } - - public function testKeyPositionCanBeRetreived() { - $this->collection->add($this->item); - foreach($this->collection as $key => $item) { - $this->assertEquals(0, $key); - } - } - -} diff --git a/paragonik-backend/vendor/phar-io/manifest/tests/values/BundledComponentTest.php b/paragonik-backend/vendor/phar-io/manifest/tests/values/BundledComponentTest.php deleted file mode 100644 index 01b8e13..0000000 --- a/paragonik-backend/vendor/phar-io/manifest/tests/values/BundledComponentTest.php +++ /dev/null @@ -1,42 +0,0 @@ -, Sebastian Heuer , Sebastian Bergmann - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace PharIo\Manifest; - -use PharIo\Version\Version; -use PHPUnit\Framework\TestCase; - -/** - * @covers PharIo\Manifest\BundledComponent - * - * @uses \PharIo\Version\Version - */ -class BundledComponentTest extends TestCase { - /** - * @var BundledComponent - */ - private $bundledComponent; - - protected function setUp() { - $this->bundledComponent = new BundledComponent('phpunit/php-code-coverage', new Version('4.0.2')); - } - - public function testCanBeCreated() { - $this->assertInstanceOf(BundledComponent::class, $this->bundledComponent); - } - - public function testNameCanBeRetrieved() { - $this->assertEquals('phpunit/php-code-coverage', $this->bundledComponent->getName()); - } - - public function testVersionCanBeRetrieved() { - $this->assertEquals('4.0.2', $this->bundledComponent->getVersion()->getVersionString()); - } -} diff --git a/paragonik-backend/vendor/phar-io/manifest/tests/values/CopyrightInformationTest.php b/paragonik-backend/vendor/phar-io/manifest/tests/values/CopyrightInformationTest.php deleted file mode 100644 index de738f4..0000000 --- a/paragonik-backend/vendor/phar-io/manifest/tests/values/CopyrightInformationTest.php +++ /dev/null @@ -1,62 +0,0 @@ -, Sebastian Heuer , Sebastian Bergmann - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace PharIo\Manifest; - -use PHPUnit\Framework\TestCase; - -/** - * @covers PharIo\Manifest\CopyrightInformation - * - * @uses PharIo\Manifest\AuthorCollection - * @uses PharIo\Manifest\AuthorCollectionIterator - * @uses PharIo\Manifest\Author - * @uses PharIo\Manifest\Email - * @uses PharIo\Manifest\License - * @uses PharIo\Manifest\Url - */ -class CopyrightInformationTest extends TestCase { - /** - * @var CopyrightInformation - */ - private $copyrightInformation; - - /** - * @var Author - */ - private $author; - - /** - * @var License - */ - private $license; - - protected function setUp() { - $this->author = new Author('Joe Developer', new Email('user@example.com')); - $this->license = new License('BSD-3-Clause', new Url('https://github.com/sebastianbergmann/phpunit/blob/master/LICENSE')); - - $authors = new AuthorCollection; - $authors->add($this->author); - - $this->copyrightInformation = new CopyrightInformation($authors, $this->license); - } - - public function testCanBeCreated() { - $this->assertInstanceOf(CopyrightInformation::class, $this->copyrightInformation); - } - - public function testAuthorsCanBeRetrieved() { - $this->assertContains($this->author, $this->copyrightInformation->getAuthors()); - } - - public function testLicenseCanBeRetrieved() { - $this->assertEquals($this->license, $this->copyrightInformation->getLicense()); - } -} diff --git a/paragonik-backend/vendor/phar-io/manifest/tests/values/EmailTest.php b/paragonik-backend/vendor/phar-io/manifest/tests/values/EmailTest.php deleted file mode 100644 index ee38531..0000000 --- a/paragonik-backend/vendor/phar-io/manifest/tests/values/EmailTest.php +++ /dev/null @@ -1,35 +0,0 @@ -, Sebastian Heuer , Sebastian Bergmann - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace PharIo\Manifest; - -use PHPUnit\Framework\TestCase; - -/** - * @covers PharIo\Manifest\Email - */ -class EmailTest extends TestCase { - public function testCanBeCreatedForValidEmail() { - $this->assertInstanceOf(Email::class, new Email('user@example.com')); - } - - public function testCanBeUsedAsString() { - $this->assertEquals('user@example.com', new Email('user@example.com')); - } - - /** - * @covers PharIo\Manifest\InvalidEmailException - */ - public function testCannotBeCreatedForInvalidEmail() { - $this->expectException(InvalidEmailException::class); - - new Email('invalid'); - } -} diff --git a/paragonik-backend/vendor/phar-io/manifest/tests/values/ExtensionTest.php b/paragonik-backend/vendor/phar-io/manifest/tests/values/ExtensionTest.php deleted file mode 100644 index 1c9d676..0000000 --- a/paragonik-backend/vendor/phar-io/manifest/tests/values/ExtensionTest.php +++ /dev/null @@ -1,109 +0,0 @@ -, Sebastian Heuer , Sebastian Bergmann - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace PharIo\Manifest; - -use PharIo\Version\AnyVersionConstraint; -use PharIo\Version\Version; -use PharIo\Version\VersionConstraint; -use PharIo\Version\VersionConstraintParser; -use PHPUnit\Framework\TestCase; - -/** - * @covers \PharIo\Manifest\Extension - * @covers \PharIo\Manifest\Type - * - * @uses \PharIo\Version\VersionConstraint - * @uses \PharIo\Manifest\ApplicationName - */ -class ExtensionTest extends TestCase { - /** - * @var Extension - */ - private $type; - - /** - * @var ApplicationName|\PHPUnit_Framework_MockObject_MockObject - */ - private $name; - - protected function setUp() { - $this->name = $this->createMock(ApplicationName::class); - $this->type = Type::extension($this->name, new AnyVersionConstraint); - } - - public function testCanBeCreated() { - $this->assertInstanceOf(Extension::class, $this->type); - } - - public function testIsNotApplication() { - $this->assertFalse($this->type->isApplication()); - } - - public function testIsNotLibrary() { - $this->assertFalse($this->type->isLibrary()); - } - - public function testIsExtension() { - $this->assertTrue($this->type->isExtension()); - } - - public function testApplicationCanBeRetrieved() - { - $this->assertInstanceOf(ApplicationName::class, $this->type->getApplicationName()); - } - - public function testVersionConstraintCanBeRetrieved() { - $this->assertInstanceOf( - VersionConstraint::class, - $this->type->getVersionConstraint() - ); - } - - public function testApplicationCanBeQueried() - { - $this->name->method('isEqual')->willReturn(true); - $this->assertTrue( - $this->type->isExtensionFor($this->createMock(ApplicationName::class)) - ); - } - - public function testCompatibleWithReturnsTrueForMatchingVersionConstraintAndApplicaiton() { - $app = new ApplicationName('foo/bar'); - $extension = Type::extension($app, (new VersionConstraintParser)->parse('^1.0')); - $version = new Version('1.0.0'); - - $this->assertTrue( - $extension->isCompatibleWith($app, $version) - ); - } - - public function testCompatibleWithReturnsFalseForNotMatchingVersionConstraint() { - $app = new ApplicationName('foo/bar'); - $extension = Type::extension($app, (new VersionConstraintParser)->parse('^1.0')); - $version = new Version('2.0.0'); - - $this->assertFalse( - $extension->isCompatibleWith($app, $version) - ); - } - - public function testCompatibleWithReturnsFalseForNotMatchingApplication() { - $app1 = new ApplicationName('foo/bar'); - $app2 = new ApplicationName('foo/foo'); - $extension = Type::extension($app1, (new VersionConstraintParser)->parse('^1.0')); - $version = new Version('1.0.0'); - - $this->assertFalse( - $extension->isCompatibleWith($app2, $version) - ); - } - -} diff --git a/paragonik-backend/vendor/phar-io/manifest/tests/values/LibraryTest.php b/paragonik-backend/vendor/phar-io/manifest/tests/values/LibraryTest.php deleted file mode 100644 index f8d1c64..0000000 --- a/paragonik-backend/vendor/phar-io/manifest/tests/values/LibraryTest.php +++ /dev/null @@ -1,44 +0,0 @@ -, Sebastian Heuer , Sebastian Bergmann - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace PharIo\Manifest; - -use PHPUnit\Framework\TestCase; - -/** - * @covers PharIo\Manifest\Library - * @covers PharIo\Manifest\Type - */ -class LibraryTest extends TestCase { - /** - * @var Library - */ - private $type; - - protected function setUp() { - $this->type = Type::library(); - } - - public function testCanBeCreated() { - $this->assertInstanceOf(Library::class, $this->type); - } - - public function testIsNotApplication() { - $this->assertFalse($this->type->isApplication()); - } - - public function testIsLibrary() { - $this->assertTrue($this->type->isLibrary()); - } - - public function testIsNotExtension() { - $this->assertFalse($this->type->isExtension()); - } -} diff --git a/paragonik-backend/vendor/phar-io/manifest/tests/values/LicenseTest.php b/paragonik-backend/vendor/phar-io/manifest/tests/values/LicenseTest.php deleted file mode 100644 index c9c5c3c..0000000 --- a/paragonik-backend/vendor/phar-io/manifest/tests/values/LicenseTest.php +++ /dev/null @@ -1,41 +0,0 @@ -, Sebastian Heuer , Sebastian Bergmann - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace PharIo\Manifest; - -use PHPUnit\Framework\TestCase; - -/** - * @covers PharIo\Manifest\License - * - * @uses PharIo\Manifest\Url - */ -class LicenseTest extends TestCase { - /** - * @var License - */ - private $license; - - protected function setUp() { - $this->license = new License('BSD-3-Clause', new Url('https://github.com/sebastianbergmann/phpunit/blob/master/LICENSE')); - } - - public function testCanBeCreated() { - $this->assertInstanceOf(License::class, $this->license); - } - - public function testNameCanBeRetrieved() { - $this->assertEquals('BSD-3-Clause', $this->license->getName()); - } - - public function testUrlCanBeRetrieved() { - $this->assertEquals('https://github.com/sebastianbergmann/phpunit/blob/master/LICENSE', $this->license->getUrl()); - } -} diff --git a/paragonik-backend/vendor/phar-io/manifest/tests/values/ManifestTest.php b/paragonik-backend/vendor/phar-io/manifest/tests/values/ManifestTest.php deleted file mode 100644 index cff0a68..0000000 --- a/paragonik-backend/vendor/phar-io/manifest/tests/values/ManifestTest.php +++ /dev/null @@ -1,187 +0,0 @@ -, Sebastian Heuer , Sebastian Bergmann - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace PharIo\Manifest; - -use PharIo\Version\Version; -use PharIo\Version\AnyVersionConstraint; -use PHPUnit\Framework\TestCase; - -/** - * @covers \PharIo\Manifest\Manifest - * - * @uses \PharIo\Manifest\ApplicationName - * @uses \PharIo\Manifest\Author - * @uses \PharIo\Manifest\AuthorCollection - * @uses \PharIo\Manifest\BundledComponent - * @uses \PharIo\Manifest\BundledComponentCollection - * @uses \PharIo\Manifest\CopyrightInformation - * @uses \PharIo\Manifest\Email - * @uses \PharIo\Manifest\License - * @uses \PharIo\Manifest\RequirementCollection - * @uses \PharIo\Manifest\PhpVersionRequirement - * @uses \PharIo\Manifest\Type - * @uses \PharIo\Manifest\Application - * @uses \PharIo\Manifest\Url - * @uses \PharIo\Version\Version - * @uses \PharIo\Version\VersionConstraint - */ -class ManifestTest extends TestCase { - /** - * @var ApplicationName - */ - private $name; - - /** - * @var Version - */ - private $version; - - /** - * @var Type - */ - private $type; - - /** - * @var CopyrightInformation - */ - private $copyrightInformation; - - /** - * @var RequirementCollection - */ - private $requirements; - - /** - * @var BundledComponentCollection - */ - private $bundledComponents; - - /** - * @var Manifest - */ - private $manifest; - - protected function setUp() { - $this->version = new Version('5.6.5'); - - $this->type = Type::application(); - - $author = new Author('Joe Developer', new Email('user@example.com')); - $license = new License('BSD-3-Clause', new Url('https://github.com/sebastianbergmann/phpunit/blob/master/LICENSE')); - - $authors = new AuthorCollection; - $authors->add($author); - - $this->copyrightInformation = new CopyrightInformation($authors, $license); - - $this->requirements = new RequirementCollection; - $this->requirements->add(new PhpVersionRequirement(new AnyVersionConstraint)); - - $this->bundledComponents = new BundledComponentCollection; - $this->bundledComponents->add(new BundledComponent('phpunit/php-code-coverage', new Version('4.0.2'))); - - $this->name = new ApplicationName('phpunit/phpunit'); - - $this->manifest = new Manifest( - $this->name, - $this->version, - $this->type, - $this->copyrightInformation, - $this->requirements, - $this->bundledComponents - ); - } - - public function testCanBeCreated() { - $this->assertInstanceOf(Manifest::class, $this->manifest); - } - - public function testNameCanBeRetrieved() { - $this->assertEquals($this->name, $this->manifest->getName()); - } - - public function testVersionCanBeRetrieved() { - $this->assertEquals($this->version, $this->manifest->getVersion()); - } - - public function testTypeCanBeRetrieved() { - $this->assertEquals($this->type, $this->manifest->getType()); - } - - public function testTypeCanBeQueried() { - $this->assertTrue($this->manifest->isApplication()); - $this->assertFalse($this->manifest->isLibrary()); - $this->assertFalse($this->manifest->isExtension()); - } - - public function testCopyrightInformationCanBeRetrieved() { - $this->assertEquals($this->copyrightInformation, $this->manifest->getCopyrightInformation()); - } - - public function testRequirementsCanBeRetrieved() { - $this->assertEquals($this->requirements, $this->manifest->getRequirements()); - } - - public function testBundledComponentsCanBeRetrieved() { - $this->assertEquals($this->bundledComponents, $this->manifest->getBundledComponents()); - } - - /** - * @uses \PharIo\Manifest\Extension - */ - public function testExtendedApplicationCanBeQueriedForExtension() - { - $appName = new ApplicationName('foo/bar'); - $manifest = new Manifest( - new ApplicationName('foo/foo'), - new Version('1.0.0'), - Type::extension($appName, new AnyVersionConstraint), - $this->copyrightInformation, - new RequirementCollection, - new BundledComponentCollection - ); - - $this->assertTrue($manifest->isExtensionFor($appName)); - } - - public function testNonExtensionReturnsFalseWhenQueriesForExtension() { - $appName = new ApplicationName('foo/bar'); - $manifest = new Manifest( - new ApplicationName('foo/foo'), - new Version('1.0.0'), - Type::library(), - $this->copyrightInformation, - new RequirementCollection, - new BundledComponentCollection - ); - - $this->assertFalse($manifest->isExtensionFor($appName)); - } - - /** - * @uses \PharIo\Manifest\Extension - */ - public function testExtendedApplicationCanBeQueriedForExtensionWithVersion() - { - $appName = new ApplicationName('foo/bar'); - $manifest = new Manifest( - new ApplicationName('foo/foo'), - new Version('1.0.0'), - Type::extension($appName, new AnyVersionConstraint), - $this->copyrightInformation, - new RequirementCollection, - new BundledComponentCollection - ); - - $this->assertTrue($manifest->isExtensionFor($appName, new Version('1.2.3'))); - } - -} diff --git a/paragonik-backend/vendor/phar-io/manifest/tests/values/PhpExtensionRequirementTest.php b/paragonik-backend/vendor/phar-io/manifest/tests/values/PhpExtensionRequirementTest.php deleted file mode 100644 index ae1c058..0000000 --- a/paragonik-backend/vendor/phar-io/manifest/tests/values/PhpExtensionRequirementTest.php +++ /dev/null @@ -1,26 +0,0 @@ -, Sebastian Heuer , Sebastian Bergmann - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace PharIo\Manifest; - -use PHPUnit\Framework\TestCase; - -/** - * @covers PharIo\Manifest\PhpExtensionRequirement - */ -class PhpExtensionRequirementTest extends TestCase { - public function testCanBeCreated() { - $this->assertInstanceOf(PhpExtensionRequirement::class, new PhpExtensionRequirement('dom')); - } - - public function testCanBeUsedAsString() { - $this->assertEquals('dom', new PhpExtensionRequirement('dom')); - } -} diff --git a/paragonik-backend/vendor/phar-io/manifest/tests/values/PhpVersionRequirementTest.php b/paragonik-backend/vendor/phar-io/manifest/tests/values/PhpVersionRequirementTest.php deleted file mode 100644 index 67ac41a..0000000 --- a/paragonik-backend/vendor/phar-io/manifest/tests/values/PhpVersionRequirementTest.php +++ /dev/null @@ -1,38 +0,0 @@ -, Sebastian Heuer , Sebastian Bergmann - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace PharIo\Manifest; - -use PharIo\Version\ExactVersionConstraint; -use PHPUnit\Framework\TestCase; - -/** - * @covers PharIo\Manifest\PhpVersionRequirement - * - * @uses \PharIo\Version\VersionConstraint - */ -class PhpVersionRequirementTest extends TestCase { - /** - * @var PhpVersionRequirement - */ - private $requirement; - - protected function setUp() { - $this->requirement = new PhpVersionRequirement(new ExactVersionConstraint('7.1.0')); - } - - public function testCanBeCreated() { - $this->assertInstanceOf(PhpVersionRequirement::class, $this->requirement); - } - - public function testVersionConstraintCanBeRetrieved() { - $this->assertEquals('7.1.0', $this->requirement->getVersionConstraint()->asString()); - } -} diff --git a/paragonik-backend/vendor/phar-io/manifest/tests/values/RequirementCollectionTest.php b/paragonik-backend/vendor/phar-io/manifest/tests/values/RequirementCollectionTest.php deleted file mode 100644 index 2afeb1a..0000000 --- a/paragonik-backend/vendor/phar-io/manifest/tests/values/RequirementCollectionTest.php +++ /dev/null @@ -1,63 +0,0 @@ -, Sebastian Heuer , Sebastian Bergmann - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace PharIo\Manifest; - -use PharIo\Version\ExactVersionConstraint; -use PHPUnit\Framework\TestCase; - -/** - * @covers \PharIo\Manifest\RequirementCollection - * @covers \PharIo\Manifest\RequirementCollectionIterator - * - * @uses \PharIo\Manifest\PhpVersionRequirement - * @uses \PharIo\Version\VersionConstraint - */ -class RequirementCollectionTest extends TestCase { - /** - * @var RequirementCollection - */ - private $collection; - - /** - * @var Requirement - */ - private $item; - - protected function setUp() { - $this->collection = new RequirementCollection; - $this->item = new PhpVersionRequirement(new ExactVersionConstraint('7.1.0')); - } - - public function testCanBeCreated() { - $this->assertInstanceOf(RequirementCollection::class, $this->collection); - } - - public function testCanBeCounted() { - $this->collection->add($this->item); - - $this->assertCount(1, $this->collection); - } - - public function testCanBeIterated() { - $this->collection->add(new PhpVersionRequirement(new ExactVersionConstraint('5.6.0'))); - $this->collection->add($this->item); - - $this->assertContains($this->item, $this->collection); - } - - public function testKeyPositionCanBeRetreived() { - $this->collection->add($this->item); - foreach($this->collection as $key => $item) { - $this->assertEquals(0, $key); - } - } - -} diff --git a/paragonik-backend/vendor/phar-io/manifest/tests/values/UrlTest.php b/paragonik-backend/vendor/phar-io/manifest/tests/values/UrlTest.php deleted file mode 100644 index 20f09c1..0000000 --- a/paragonik-backend/vendor/phar-io/manifest/tests/values/UrlTest.php +++ /dev/null @@ -1,35 +0,0 @@ -, Sebastian Heuer , Sebastian Bergmann - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace PharIo\Manifest; - -use PHPUnit\Framework\TestCase; - -/** - * @covers PharIo\Manifest\Url - */ -class UrlTest extends TestCase { - public function testCanBeCreatedForValidUrl() { - $this->assertInstanceOf(Url::class, new Url('https://phar.io/')); - } - - public function testCanBeUsedAsString() { - $this->assertEquals('https://phar.io/', new Url('https://phar.io/')); - } - - /** - * @covers PharIo\Manifest\InvalidUrlException - */ - public function testCannotBeCreatedForInvalidUrl() { - $this->expectException(InvalidUrlException::class); - - new Url('invalid'); - } -} diff --git a/paragonik-backend/vendor/phar-io/manifest/tests/xml/AuthorElementCollectionTest.php b/paragonik-backend/vendor/phar-io/manifest/tests/xml/AuthorElementCollectionTest.php deleted file mode 100644 index 588558e..0000000 --- a/paragonik-backend/vendor/phar-io/manifest/tests/xml/AuthorElementCollectionTest.php +++ /dev/null @@ -1,18 +0,0 @@ -loadXML(''); - $collection = new AuthorElementCollection($dom->childNodes); - - foreach($collection as $authorElement) { - $this->assertInstanceOf(AuthorElement::class, $authorElement); - } - } - -} diff --git a/paragonik-backend/vendor/phar-io/manifest/tests/xml/AuthorElementTest.php b/paragonik-backend/vendor/phar-io/manifest/tests/xml/AuthorElementTest.php deleted file mode 100644 index 6fce1d4..0000000 --- a/paragonik-backend/vendor/phar-io/manifest/tests/xml/AuthorElementTest.php +++ /dev/null @@ -1,25 +0,0 @@ -loadXML(''); - $this->author = new AuthorElement($dom->documentElement); - } - - public function testNameCanBeRetrieved() { - $this->assertEquals('Reiner Zufall', $this->author->getName()); - } - - public function testEmailCanBeRetrieved() { - $this->assertEquals('reiner@zufall.de', $this->author->getEmail()); - } - -} diff --git a/paragonik-backend/vendor/phar-io/manifest/tests/xml/BundlesElementTest.php b/paragonik-backend/vendor/phar-io/manifest/tests/xml/BundlesElementTest.php deleted file mode 100644 index 7872795..0000000 --- a/paragonik-backend/vendor/phar-io/manifest/tests/xml/BundlesElementTest.php +++ /dev/null @@ -1,41 +0,0 @@ -dom = new DOMDocument(); - $this->dom->loadXML(''); - $this->bundles = new BundlesElement($this->dom->documentElement); - } - - public function testThrowsExceptionWhenGetComponentElementsIsCalledButNodesAreMissing() { - $this->expectException(ManifestElementException::class); - $this->bundles->getComponentElements(); - } - - public function testGetComponentElementsReturnsComponentElementCollection() { - $this->addComponent(); - $this->assertInstanceOf( - ComponentElementCollection::class, $this->bundles->getComponentElements() - ); - } - - private function addComponent() { - $this->dom->documentElement->appendChild( - $this->dom->createElementNS('https://phar.io/xml/manifest/1.0', 'component') - ); - } -} diff --git a/paragonik-backend/vendor/phar-io/manifest/tests/xml/ComponentElementCollectionTest.php b/paragonik-backend/vendor/phar-io/manifest/tests/xml/ComponentElementCollectionTest.php deleted file mode 100644 index 9fe2378..0000000 --- a/paragonik-backend/vendor/phar-io/manifest/tests/xml/ComponentElementCollectionTest.php +++ /dev/null @@ -1,18 +0,0 @@ -loadXML(''); - $collection = new ComponentElementCollection($dom->childNodes); - - foreach($collection as $componentElement) { - $this->assertInstanceOf(ComponentElement::class, $componentElement); - } - } - -} diff --git a/paragonik-backend/vendor/phar-io/manifest/tests/xml/ComponentElementTest.php b/paragonik-backend/vendor/phar-io/manifest/tests/xml/ComponentElementTest.php deleted file mode 100644 index 1996585..0000000 --- a/paragonik-backend/vendor/phar-io/manifest/tests/xml/ComponentElementTest.php +++ /dev/null @@ -1,25 +0,0 @@ -loadXML(''); - $this->component = new ComponentElement($dom->documentElement); - } - - public function testNameCanBeRetrieved() { - $this->assertEquals('phar-io/phive', $this->component->getName()); - } - - public function testEmailCanBeRetrieved() { - $this->assertEquals('0.6.0', $this->component->getVersion()); - } - -} diff --git a/paragonik-backend/vendor/phar-io/manifest/tests/xml/ContainsElementTest.php b/paragonik-backend/vendor/phar-io/manifest/tests/xml/ContainsElementTest.php deleted file mode 100644 index ed08600..0000000 --- a/paragonik-backend/vendor/phar-io/manifest/tests/xml/ContainsElementTest.php +++ /dev/null @@ -1,63 +0,0 @@ -loadXML(''); - $this->domElement = $dom->documentElement; - $this->contains = new ContainsElement($this->domElement); - } - - public function testVersionCanBeRetrieved() { - $this->assertEquals('5.6.5', $this->contains->getVersion()); - } - - public function testThrowsExceptionWhenVersionAttributeIsMissing() { - $this->domElement->removeAttribute('version'); - $this->expectException(ManifestElementException::class); - $this->contains->getVersion(); - } - - public function testNameCanBeRetrieved() { - $this->assertEquals('phpunit/phpunit', $this->contains->getName()); - } - - public function testThrowsExceptionWhenNameAttributeIsMissing() { - $this->domElement->removeAttribute('name'); - $this->expectException(ManifestElementException::class); - $this->contains->getName(); - } - - public function testTypeCanBeRetrieved() { - $this->assertEquals('application', $this->contains->getType()); - } - - public function testThrowsExceptionWhenTypeAttributeIsMissing() { - $this->domElement->removeAttribute('type'); - $this->expectException(ManifestElementException::class); - $this->contains->getType(); - } - - public function testGetExtensionElementReturnsExtensionElement() { - $this->domElement->appendChild( - $this->domElement->ownerDocument->createElementNS('https://phar.io/xml/manifest/1.0', 'extension') - ); - $this->assertInstanceOf(ExtensionElement::class, $this->contains->getExtensionElement()); - } - -} diff --git a/paragonik-backend/vendor/phar-io/manifest/tests/xml/CopyrightElementTest.php b/paragonik-backend/vendor/phar-io/manifest/tests/xml/CopyrightElementTest.php deleted file mode 100644 index c74a2ce..0000000 --- a/paragonik-backend/vendor/phar-io/manifest/tests/xml/CopyrightElementTest.php +++ /dev/null @@ -1,52 +0,0 @@ -dom = new DOMDocument(); - $this->dom->loadXML(''); - $this->copyright = new CopyrightElement($this->dom->documentElement); - } - - public function testThrowsExceptionWhenGetAuthroElementsIsCalledButNodesAreMissing() { - $this->expectException(ManifestElementException::class); - $this->copyright->getAuthorElements(); - } - - public function testThrowsExceptionWhenGetLicenseElementIsCalledButNodeIsMissing() { - $this->expectException(ManifestElementException::class); - $this->copyright->getLicenseElement(); - } - - public function testGetAuthorElementsReturnsAuthorElementCollection() { - $this->dom->documentElement->appendChild( - $this->dom->createElementNS('https://phar.io/xml/manifest/1.0', 'author') - ); - $this->assertInstanceOf( - AuthorElementCollection::class, $this->copyright->getAuthorElements() - ); - } - - public function testGetLicenseElementReturnsLicenseElement() { - $this->dom->documentElement->appendChild( - $this->dom->createElementNS('https://phar.io/xml/manifest/1.0', 'license') - ); - $this->assertInstanceOf( - LicenseElement::class, $this->copyright->getLicenseElement() - ); - } - -} diff --git a/paragonik-backend/vendor/phar-io/manifest/tests/xml/ExtElementCollectionTest.php b/paragonik-backend/vendor/phar-io/manifest/tests/xml/ExtElementCollectionTest.php deleted file mode 100644 index 7a456d2..0000000 --- a/paragonik-backend/vendor/phar-io/manifest/tests/xml/ExtElementCollectionTest.php +++ /dev/null @@ -1,19 +0,0 @@ -loadXML(''); - $collection = new ExtElementCollection($dom->childNodes); - - foreach($collection as $position => $extElement) { - $this->assertInstanceOf(ExtElement::class, $extElement); - $this->assertEquals(0, $position); - } - } - -} diff --git a/paragonik-backend/vendor/phar-io/manifest/tests/xml/ExtElementTest.php b/paragonik-backend/vendor/phar-io/manifest/tests/xml/ExtElementTest.php deleted file mode 100644 index db6ecbc..0000000 --- a/paragonik-backend/vendor/phar-io/manifest/tests/xml/ExtElementTest.php +++ /dev/null @@ -1,21 +0,0 @@ -loadXML(''); - $this->ext = new ExtElement($dom->documentElement); - } - - public function testNameCanBeRetrieved() { - $this->assertEquals('dom', $this->ext->getName()); - } - -} diff --git a/paragonik-backend/vendor/phar-io/manifest/tests/xml/ExtensionElementTest.php b/paragonik-backend/vendor/phar-io/manifest/tests/xml/ExtensionElementTest.php deleted file mode 100644 index 58965d8..0000000 --- a/paragonik-backend/vendor/phar-io/manifest/tests/xml/ExtensionElementTest.php +++ /dev/null @@ -1,25 +0,0 @@ -loadXML(''); - $this->extension = new ExtensionElement($dom->documentElement); - } - - public function testNForCanBeRetrieved() { - $this->assertEquals('phar-io/phive', $this->extension->getFor()); - } - - public function testCompatibleVersionConstraintCanBeRetrieved() { - $this->assertEquals('~0.6', $this->extension->getCompatible()); - } - -} diff --git a/paragonik-backend/vendor/phar-io/manifest/tests/xml/LicenseElementTest.php b/paragonik-backend/vendor/phar-io/manifest/tests/xml/LicenseElementTest.php deleted file mode 100644 index 5b1ffcb..0000000 --- a/paragonik-backend/vendor/phar-io/manifest/tests/xml/LicenseElementTest.php +++ /dev/null @@ -1,25 +0,0 @@ -loadXML(''); - $this->license = new LicenseElement($dom->documentElement); - } - - public function testTypeCanBeRetrieved() { - $this->assertEquals('BSD-3', $this->license->getType()); - } - - public function testUrlCanBeRetrieved() { - $this->assertEquals('https://some.tld/LICENSE', $this->license->getUrl()); - } - -} diff --git a/paragonik-backend/vendor/phar-io/manifest/tests/xml/ManifestDocumentTest.php b/paragonik-backend/vendor/phar-io/manifest/tests/xml/ManifestDocumentTest.php deleted file mode 100644 index 3dd59bf..0000000 --- a/paragonik-backend/vendor/phar-io/manifest/tests/xml/ManifestDocumentTest.php +++ /dev/null @@ -1,110 +0,0 @@ -expectException(ManifestDocumentException::class); - ManifestDocument::fromFile('/does/not/exist'); - } - - public function testCanBeCreatedFromFile() { - $this->assertInstanceOf( - ManifestDocument::class, - ManifestDocument::fromFile(__DIR__ . '/../_fixture/phpunit-5.6.5.xml') - ); - } - - public function testCaneBeConstructedFromString() { - $content = file_get_contents(__DIR__ . '/../_fixture/phpunit-5.6.5.xml'); - $this->assertInstanceOf( - ManifestDocument::class, - ManifestDocument::fromString($content) - ); - } - - public function testThrowsExceptionOnInvalidXML() { - $this->expectException(ManifestDocumentLoadingException::class); - ManifestDocument::fromString(''); - } - - public function testLoadingDocumentWithWrongRootNameThrowsException() { - $this->expectException(ManifestDocumentException::class); - ManifestDocument::fromString(''); - } - - public function testLoadingDocumentWithWrongNamespaceThrowsException() { - $this->expectException(ManifestDocumentException::class); - ManifestDocument::fromString(''); - } - - public function testContainsElementCanBeRetrieved() { - $this->assertInstanceOf( - ContainsElement::class, - $this->loadFixture()->getContainsElement() - ); - } - - public function testRequiresElementCanBeRetrieved() { - $this->assertInstanceOf( - RequiresElement::class, - $this->loadFixture()->getRequiresElement() - ); - } - - public function testCopyrightElementCanBeRetrieved() { - $this->assertInstanceOf( - CopyrightElement::class, - $this->loadFixture()->getCopyrightElement() - ); - } - - public function testBundlesElementCanBeRetrieved() { - $this->assertInstanceOf( - BundlesElement::class, - $this->loadFixture()->getBundlesElement() - ); - } - - public function testThrowsExceptionWhenContainsIsMissing() { - $this->expectException(ManifestDocumentException::class); - $this->loadEmptyFixture()->getContainsElement(); - } - - public function testThrowsExceptionWhenCopyirhgtIsMissing() { - $this->expectException(ManifestDocumentException::class); - $this->loadEmptyFixture()->getCopyrightElement(); - } - - public function testThrowsExceptionWhenRequiresIsMissing() { - $this->expectException(ManifestDocumentException::class); - $this->loadEmptyFixture()->getRequiresElement(); - } - - public function testThrowsExceptionWhenBundlesIsMissing() { - $this->expectException(ManifestDocumentException::class); - $this->loadEmptyFixture()->getBundlesElement(); - } - - public function testHasBundlesReturnsTrueWhenBundlesNodeIsPresent() { - $this->assertTrue( - $this->loadFixture()->hasBundlesElement() - ); - } - - public function testHasBundlesReturnsFalseWhenBundlesNoNodeIsPresent() { - $this->assertFalse( - $this->loadEmptyFixture()->hasBundlesElement() - ); - } - - private function loadFixture() { - return ManifestDocument::fromFile(__DIR__ . '/../_fixture/phpunit-5.6.5.xml'); - } - - private function loadEmptyFixture() { - return ManifestDocument::fromString( - '' - ); - } -} diff --git a/paragonik-backend/vendor/phar-io/manifest/tests/xml/PhpElementTest.php b/paragonik-backend/vendor/phar-io/manifest/tests/xml/PhpElementTest.php deleted file mode 100644 index 62dd359..0000000 --- a/paragonik-backend/vendor/phar-io/manifest/tests/xml/PhpElementTest.php +++ /dev/null @@ -1,48 +0,0 @@ -dom = new DOMDocument(); - $this->dom->loadXML(''); - $this->php = new PhpElement($this->dom->documentElement); - } - - public function testVersionConstraintCanBeRetrieved() { - $this->assertEquals('^5.6 || ^7.0', $this->php->getVersion()); - } - - public function testHasExtElementsReturnsFalseWhenNoExtensionsAreRequired() { - $this->assertFalse($this->php->hasExtElements()); - } - - public function testHasExtElementsReturnsTrueWhenExtensionsAreRequired() { - $this->addExtElement(); - $this->assertTrue($this->php->hasExtElements()); - } - - public function testGetExtElementsReturnsExtElementCollection() { - $this->addExtElement(); - $this->assertInstanceOf(ExtElementCollection::class, $this->php->getExtElements()); - } - - private function addExtElement() { - $this->dom->documentElement->appendChild( - $this->dom->createElementNS('https://phar.io/xml/manifest/1.0', 'ext') - ); - } - -} diff --git a/paragonik-backend/vendor/phar-io/manifest/tests/xml/RequiresElementTest.php b/paragonik-backend/vendor/phar-io/manifest/tests/xml/RequiresElementTest.php deleted file mode 100644 index 35ddc82..0000000 --- a/paragonik-backend/vendor/phar-io/manifest/tests/xml/RequiresElementTest.php +++ /dev/null @@ -1,37 +0,0 @@ -dom = new DOMDocument(); - $this->dom->loadXML(''); - $this->requires = new RequiresElement($this->dom->documentElement); - } - - public function testThrowsExceptionWhenGetPhpElementIsCalledButElementIsMissing() { - $this->expectException(ManifestElementException::class); - $this->requires->getPHPElement(); - } - - public function testHasExtElementsReturnsTrueWhenExtensionsAreRequired() { - $this->dom->documentElement->appendChild( - $this->dom->createElementNS('https://phar.io/xml/manifest/1.0', 'php') - ); - - $this->assertInstanceOf(PhpElement::class, $this->requires->getPHPElement()); - } - -} diff --git a/paragonik-backend/vendor/phar-io/version/.gitignore b/paragonik-backend/vendor/phar-io/version/.gitignore deleted file mode 100644 index 1c8f2e6..0000000 --- a/paragonik-backend/vendor/phar-io/version/.gitignore +++ /dev/null @@ -1,7 +0,0 @@ -/.idea -/.php_cs.cache -/composer.lock -/src/autoload.php -/tools -/vendor - diff --git a/paragonik-backend/vendor/phar-io/version/.php_cs b/paragonik-backend/vendor/phar-io/version/.php_cs deleted file mode 100644 index 159d6a3..0000000 --- a/paragonik-backend/vendor/phar-io/version/.php_cs +++ /dev/null @@ -1,67 +0,0 @@ -files() - ->in('src') - ->in('tests') - ->name('*.php'); - -return Symfony\CS\Config\Config::create() - ->setUsingCache(true) - ->level(\Symfony\CS\FixerInterface::NONE_LEVEL) - ->fixers( - array( - 'align_double_arrow', - 'align_equals', - 'concat_with_spaces', - 'duplicate_semicolon', - 'elseif', - 'empty_return', - 'encoding', - 'eof_ending', - 'extra_empty_lines', - 'function_call_space', - 'function_declaration', - 'indentation', - 'join_function', - 'line_after_namespace', - 'linefeed', - 'list_commas', - 'lowercase_constants', - 'lowercase_keywords', - 'method_argument_space', - 'multiple_use', - 'namespace_no_leading_whitespace', - 'no_blank_lines_after_class_opening', - 'no_empty_lines_after_phpdocs', - 'parenthesis', - 'php_closing_tag', - 'phpdoc_indent', - 'phpdoc_no_access', - 'phpdoc_no_empty_return', - 'phpdoc_no_package', - 'phpdoc_params', - 'phpdoc_scalar', - 'phpdoc_separation', - 'phpdoc_to_comment', - 'phpdoc_trim', - 'phpdoc_types', - 'phpdoc_var_without_name', - 'remove_lines_between_uses', - 'return', - 'self_accessor', - 'short_array_syntax', - 'short_tag', - 'single_line_after_imports', - 'single_quote', - 'spaces_before_semicolon', - 'spaces_cast', - 'ternary_spaces', - 'trailing_spaces', - 'trim_array_spaces', - 'unused_use', - 'visibility', - 'whitespacy_lines' - ) - ) - ->finder($finder); - diff --git a/paragonik-backend/vendor/phar-io/version/.travis.yml b/paragonik-backend/vendor/phar-io/version/.travis.yml deleted file mode 100644 index b4be10f..0000000 --- a/paragonik-backend/vendor/phar-io/version/.travis.yml +++ /dev/null @@ -1,33 +0,0 @@ -os: -- linux - -language: php - -before_install: - - wget https://phar.io/releases/phive.phar - - wget https://phar.io/releases/phive.phar.asc - - gpg --keyserver hkps.pool.sks-keyservers.net --recv-keys 0x9B2D5D79 - - gpg --verify phive.phar.asc phive.phar - - chmod +x phive.phar - - sudo mv phive.phar /usr/bin/phive - -install: - - ant setup - -script: ./tools/phpunit - -php: - - 5.6 - - 7.0 - - 7.1 - - 7.0snapshot - - 7.1snapshot - - master - -matrix: - allow_failures: - - php: master - fast_finish: true - -notifications: - email: false diff --git a/paragonik-backend/vendor/phar-io/version/CHANGELOG.md b/paragonik-backend/vendor/phar-io/version/CHANGELOG.md deleted file mode 100644 index ab9df36..0000000 --- a/paragonik-backend/vendor/phar-io/version/CHANGELOG.md +++ /dev/null @@ -1,44 +0,0 @@ -# Changelog - -All notable changes to phar-io/version are documented in this file using the [Keep a CHANGELOG](http://keepachangelog.com/) principles. - -## [2.0.1] - 08.07.2018 - -### Fixed - -- Versions without a pre-release suffix are now always considered greater -than versions without a pre-release suffix. Example: `3.0.0 > 3.0.0-alpha.1` - -## [2.0.0] - 23.06.2018 - -Changes to public API: - -- `PreReleaseSuffix::construct()`: optional parameter `$number` removed -- `PreReleaseSuffix::isGreaterThan()`: introduced -- `Version::hasPreReleaseSuffix()`: introduced - -### Added - -- [#11](https://github.com/phar-io/version/issues/11): Added support for pre-release version suffixes. Supported values are: - - `dev` - - `beta` (also abbreviated form `b`) - - `rc` - - `alpha` (also abbreviated form `a`) - - `patch` (also abbreviated form `p`) - - All values can be followed by a number, e.g. `beta3`. - - When comparing versions, the pre-release suffix is taken into account. Example: -`1.5.0 > 1.5.0-beta1 > 1.5.0-alpha3 > 1.5.0-alpha2 > 1.5.0-dev11` - -### Changed - -- reorganized the source directories - -### Fixed - -- [#10](https://github.com/phar-io/version/issues/10): Version numbers containing -a numeric suffix as seen in Debian packages are now supported. - -[2.0.1]: https://github.com/phar-io/version/compare/2.0.0...2.0.1 -[2.0.0]: https://github.com/phar-io/version/compare/1.0.1...2.0.0 diff --git a/paragonik-backend/vendor/phar-io/version/LICENSE b/paragonik-backend/vendor/phar-io/version/LICENSE deleted file mode 100644 index 359dbc5..0000000 --- a/paragonik-backend/vendor/phar-io/version/LICENSE +++ /dev/null @@ -1,31 +0,0 @@ -phar-io/version - -Copyright (c) 2016-2017 Arne Blankerts , Sebastian Heuer and contributors -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -* Neither the name of Arne Blankerts nor the names of contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT * NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS -BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, -OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. - diff --git a/paragonik-backend/vendor/phar-io/version/README.md b/paragonik-backend/vendor/phar-io/version/README.md deleted file mode 100644 index 76e6e98..0000000 --- a/paragonik-backend/vendor/phar-io/version/README.md +++ /dev/null @@ -1,61 +0,0 @@ -# Version - -Library for handling version information and constraints - -[![Build Status](https://travis-ci.org/phar-io/version.svg?branch=master)](https://travis-ci.org/phar-io/version) - -## Installation - -You can add this library as a local, per-project dependency to your project using [Composer](https://getcomposer.org/): - - composer require phar-io/version - -If you only need this library during development, for instance to run your project's test suite, then you should add it as a development-time dependency: - - composer require --dev phar-io/version - -## Version constraints - -A Version constraint describes a range of versions or a discrete version number. The format of version numbers follows the schema of [semantic versioning](http://semver.org): `..`. A constraint might contain an operator that describes the range. - -Beside the typical mathematical operators like `<=`, `>=`, there are two special operators: - -*Caret operator*: `^1.0` -can be written as `>=1.0.0 <2.0.0` and read as »every Version within major version `1`«. - -*Tilde operator*: `~1.0.0` -can be written as `>=1.0.0 <1.1.0` and read as »every version within minor version `1.1`. The behavior of tilde operator depends on whether a patch level version is provided or not. If no patch level is provided, tilde operator behaves like the caret operator: `~1.0` is identical to `^1.0`. - -## Usage examples - -Parsing version constraints and check discrete versions for compliance: - -```php - -use PharIo\Version\Version; -use PharIo\Version\VersionConstraintParser; - -$parser = new VersionConstraintParser(); -$caret_constraint = $parser->parse( '^7.0' ); - -$caret_constraint->complies( new Version( '7.0.17' ) ); // true -$caret_constraint->complies( new Version( '7.1.0' ) ); // true -$caret_constraint->complies( new Version( '6.4.34' ) ); // false - -$tilde_constraint = $parser->parse( '~1.1.0' ); - -$tilde_constraint->complies( new Version( '1.1.4' ) ); // true -$tilde_constraint->complies( new Version( '1.2.0' ) ); // false -``` - -As of version 2.0.0, pre-release labels are supported and taken into account when comparing versions: - -```php - -$leftVersion = new PharIo\Version\Version('3.0.0-alpha.1'); -$rightVersion = new PharIo\Version\Version('3.0.0-alpha.2'); - -$leftVersion->isGreaterThan($rightVersion); // false -$rightVersion->isGreaterThan($leftVersion); // true - -``` diff --git a/paragonik-backend/vendor/phar-io/version/build.xml b/paragonik-backend/vendor/phar-io/version/build.xml deleted file mode 100644 index 943c957..0000000 --- a/paragonik-backend/vendor/phar-io/version/build.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/paragonik-backend/vendor/phar-io/version/composer.json b/paragonik-backend/vendor/phar-io/version/composer.json deleted file mode 100644 index 891e8b1..0000000 --- a/paragonik-backend/vendor/phar-io/version/composer.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "name": "phar-io/version", - "description": "Library for handling version information and constraints", - "license": "BSD-3-Clause", - "authors": [ - { - "name": "Arne Blankerts", - "email": "arne@blankerts.de", - "role": "Developer" - }, - { - "name": "Sebastian Heuer", - "email": "sebastian@phpeople.de", - "role": "Developer" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "Developer" - } - ], - "support": { - "issues": "https://github.com/phar-io/version/issues" - }, - "require": { - "php": "^5.6 || ^7.0" - }, - "autoload": { - "classmap": [ - "src/" - ] - } -} - diff --git a/paragonik-backend/vendor/phar-io/version/phive.xml b/paragonik-backend/vendor/phar-io/version/phive.xml deleted file mode 100644 index 0c3bc6f..0000000 --- a/paragonik-backend/vendor/phar-io/version/phive.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/paragonik-backend/vendor/phar-io/version/phpunit.xml b/paragonik-backend/vendor/phar-io/version/phpunit.xml deleted file mode 100644 index c21ffbc..0000000 --- a/paragonik-backend/vendor/phar-io/version/phpunit.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - tests - - - - - src - - - diff --git a/paragonik-backend/vendor/phar-io/version/src/PreReleaseSuffix.php b/paragonik-backend/vendor/phar-io/version/src/PreReleaseSuffix.php deleted file mode 100644 index e936c0e..0000000 --- a/paragonik-backend/vendor/phar-io/version/src/PreReleaseSuffix.php +++ /dev/null @@ -1,95 +0,0 @@ - 0, - 'a' => 1, - 'alpha' => 1, - 'b' => 2, - 'beta' => 2, - 'rc' => 3, - 'p' => 4, - 'patch' => 4, - ]; - - /** - * @var string - */ - private $value; - - /** - * @var int - */ - private $valueScore; - - /** - * @var int - */ - private $number = 0; - - /** - * @param string $value - */ - public function __construct($value) { - $this->parseValue($value); - } - - /** - * @return string - */ - public function getValue() { - return $this->value; - } - - /** - * @return int|null - */ - public function getNumber() { - return $this->number; - } - - /** - * @param PreReleaseSuffix $suffix - * - * @return bool - */ - public function isGreaterThan(PreReleaseSuffix $suffix) { - if ($this->valueScore > $suffix->valueScore) { - return true; - } - - if ($this->valueScore < $suffix->valueScore) { - return false; - } - - return $this->getNumber() > $suffix->getNumber(); - } - - /** - * @param $value - * - * @return int - */ - private function mapValueToScore($value) { - if (array_key_exists($value, $this->valueScoreMap)) { - return $this->valueScoreMap[$value]; - } - - return 0; - } - - private function parseValue($value) { - $regex = '/-?(dev|beta|b|rc|alpha|a|patch|p)\.?(\d*).*$/i'; - if (preg_match($regex, $value, $matches) !== 1) { - throw new InvalidPreReleaseSuffixException(sprintf('Invalid label %s', $value)); - } - - $this->value = $matches[1]; - if (isset($matches[2])) { - $this->number = (int)$matches[2]; - } - $this->valueScore = $this->mapValueToScore($this->value); - } -} diff --git a/paragonik-backend/vendor/phar-io/version/src/Version.php b/paragonik-backend/vendor/phar-io/version/src/Version.php deleted file mode 100644 index 73e1b98..0000000 --- a/paragonik-backend/vendor/phar-io/version/src/Version.php +++ /dev/null @@ -1,175 +0,0 @@ -, Sebastian Heuer , Sebastian Bergmann - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace PharIo\Version; - -class Version { - /** - * @var VersionNumber - */ - private $major; - - /** - * @var VersionNumber - */ - private $minor; - - /** - * @var VersionNumber - */ - private $patch; - - /** - * @var PreReleaseSuffix - */ - private $preReleaseSuffix; - - /** - * @var string - */ - private $versionString = ''; - - /** - * @param string $versionString - */ - public function __construct($versionString) { - $this->ensureVersionStringIsValid($versionString); - - $this->versionString = $versionString; - } - - /** - * @return PreReleaseSuffix - */ - public function getPreReleaseSuffix() { - return $this->preReleaseSuffix; - } - - /** - * @return string - */ - public function getVersionString() { - return $this->versionString; - } - - /** - * @return bool - */ - public function hasPreReleaseSuffix() { - return $this->preReleaseSuffix !== null; - } - - /** - * @param Version $version - * - * @return bool - */ - public function isGreaterThan(Version $version) { - if ($version->getMajor()->getValue() > $this->getMajor()->getValue()) { - return false; - } - - if ($version->getMajor()->getValue() < $this->getMajor()->getValue()) { - return true; - } - - if ($version->getMinor()->getValue() > $this->getMinor()->getValue()) { - return false; - } - - if ($version->getMinor()->getValue() < $this->getMinor()->getValue()) { - return true; - } - - if ($version->getPatch()->getValue() > $this->getPatch()->getValue()) { - return false; - } - - if ($version->getPatch()->getValue() < $this->getPatch()->getValue()) { - return true; - } - - if (!$version->hasPreReleaseSuffix() && !$this->hasPreReleaseSuffix()) { - return false; - } - - if ($version->hasPreReleaseSuffix() && !$this->hasPreReleaseSuffix()) { - return true; - } - - if (!$version->hasPreReleaseSuffix() && $this->hasPreReleaseSuffix()) { - return false; - } - - return $this->getPreReleaseSuffix()->isGreaterThan($version->getPreReleaseSuffix()); - } - - /** - * @return VersionNumber - */ - public function getMajor() { - return $this->major; - } - - /** - * @return VersionNumber - */ - public function getMinor() { - return $this->minor; - } - - /** - * @return VersionNumber - */ - public function getPatch() { - return $this->patch; - } - - /** - * @param array $matches - */ - private function parseVersion(array $matches) { - $this->major = new VersionNumber($matches['Major']); - $this->minor = new VersionNumber($matches['Minor']); - $this->patch = isset($matches['Patch']) ? new VersionNumber($matches['Patch']) : new VersionNumber(null); - - if (isset($matches['PreReleaseSuffix'])) { - $this->preReleaseSuffix = new PreReleaseSuffix($matches['PreReleaseSuffix']); - } - } - - /** - * @param string $version - * - * @throws InvalidVersionException - */ - private function ensureVersionStringIsValid($version) { - $regex = '/^v? - (?(0|(?:[1-9][0-9]*))) - \\. - (?(0|(?:[1-9][0-9]*))) - (\\. - (?(0|(?:[1-9][0-9]*))) - )? - (?: - - - (?(?:(dev|beta|b|RC|alpha|a|patch|p)\.?\d*)) - )? - $/x'; - - if (preg_match($regex, $version, $matches) !== 1) { - throw new InvalidVersionException( - sprintf("Version string '%s' does not follow SemVer semantics", $version) - ); - } - - $this->parseVersion($matches); - } -} diff --git a/paragonik-backend/vendor/phar-io/version/src/VersionConstraintParser.php b/paragonik-backend/vendor/phar-io/version/src/VersionConstraintParser.php deleted file mode 100644 index ed46843..0000000 --- a/paragonik-backend/vendor/phar-io/version/src/VersionConstraintParser.php +++ /dev/null @@ -1,122 +0,0 @@ -, Sebastian Heuer , Sebastian Bergmann - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace PharIo\Version; - -class VersionConstraintParser { - /** - * @param string $value - * - * @return VersionConstraint - * - * @throws UnsupportedVersionConstraintException - */ - public function parse($value) { - - if (strpos($value, '||') !== false) { - return $this->handleOrGroup($value); - } - - if (!preg_match('/^[\^~\*]?[\d.\*]+(?:-.*)?$/', $value)) { - throw new UnsupportedVersionConstraintException( - sprintf('Version constraint %s is not supported.', $value) - ); - } - - switch ($value[0]) { - case '~': - return $this->handleTildeOperator($value); - case '^': - return $this->handleCaretOperator($value); - } - - $version = new VersionConstraintValue($value); - - if ($version->getMajor()->isAny()) { - return new AnyVersionConstraint(); - } - - if ($version->getMinor()->isAny()) { - return new SpecificMajorVersionConstraint( - $version->getVersionString(), - $version->getMajor()->getValue() - ); - } - - if ($version->getPatch()->isAny()) { - return new SpecificMajorAndMinorVersionConstraint( - $version->getVersionString(), - $version->getMajor()->getValue(), - $version->getMinor()->getValue() - ); - } - - return new ExactVersionConstraint($version->getVersionString()); - } - - /** - * @param $value - * - * @return OrVersionConstraintGroup - */ - private function handleOrGroup($value) { - $constraints = []; - - foreach (explode('||', $value) as $groupSegment) { - $constraints[] = $this->parse(trim($groupSegment)); - } - - return new OrVersionConstraintGroup($value, $constraints); - } - - /** - * @param string $value - * - * @return AndVersionConstraintGroup - */ - private function handleTildeOperator($value) { - $version = new Version(substr($value, 1)); - $constraints = [ - new GreaterThanOrEqualToVersionConstraint($value, $version) - ]; - - if ($version->getPatch()->isAny()) { - $constraints[] = new SpecificMajorVersionConstraint( - $value, - $version->getMajor()->getValue() - ); - } else { - $constraints[] = new SpecificMajorAndMinorVersionConstraint( - $value, - $version->getMajor()->getValue(), - $version->getMinor()->getValue() - ); - } - - return new AndVersionConstraintGroup($value, $constraints); - } - - /** - * @param string $value - * - * @return AndVersionConstraintGroup - */ - private function handleCaretOperator($value) { - $version = new Version(substr($value, 1)); - - return new AndVersionConstraintGroup( - $value, - [ - new GreaterThanOrEqualToVersionConstraint($value, $version), - new SpecificMajorVersionConstraint($value, $version->getMajor()->getValue()) - ] - ); - } -} diff --git a/paragonik-backend/vendor/phar-io/version/src/VersionConstraintValue.php b/paragonik-backend/vendor/phar-io/version/src/VersionConstraintValue.php deleted file mode 100644 index 8c975b8..0000000 --- a/paragonik-backend/vendor/phar-io/version/src/VersionConstraintValue.php +++ /dev/null @@ -1,123 +0,0 @@ -versionString = $versionString; - - $this->parseVersion($versionString); - } - - /** - * @return string - */ - public function getLabel() { - return $this->label; - } - - /** - * @return string - */ - public function getBuildMetaData() { - return $this->buildMetaData; - } - - /** - * @return string - */ - public function getVersionString() { - return $this->versionString; - } - - /** - * @return VersionNumber - */ - public function getMajor() { - return $this->major; - } - - /** - * @return VersionNumber - */ - public function getMinor() { - return $this->minor; - } - - /** - * @return VersionNumber - */ - public function getPatch() { - return $this->patch; - } - - /** - * @param $versionString - */ - private function parseVersion($versionString) { - $this->extractBuildMetaData($versionString); - $this->extractLabel($versionString); - - $versionSegments = explode('.', $versionString); - $this->major = new VersionNumber($versionSegments[0]); - - $minorValue = isset($versionSegments[1]) ? $versionSegments[1] : null; - $patchValue = isset($versionSegments[2]) ? $versionSegments[2] : null; - - $this->minor = new VersionNumber($minorValue); - $this->patch = new VersionNumber($patchValue); - } - - /** - * @param string $versionString - */ - private function extractBuildMetaData(&$versionString) { - if (preg_match('/\+(.*)/', $versionString, $matches) == 1) { - $this->buildMetaData = $matches[1]; - $versionString = str_replace($matches[0], '', $versionString); - } - } - - /** - * @param string $versionString - */ - private function extractLabel(&$versionString) { - if (preg_match('/\-(.*)/', $versionString, $matches) == 1) { - $this->label = $matches[1]; - $versionString = str_replace($matches[0], '', $versionString); - } - } -} diff --git a/paragonik-backend/vendor/phar-io/version/src/VersionNumber.php b/paragonik-backend/vendor/phar-io/version/src/VersionNumber.php deleted file mode 100644 index ab512ed..0000000 --- a/paragonik-backend/vendor/phar-io/version/src/VersionNumber.php +++ /dev/null @@ -1,41 +0,0 @@ -, Sebastian Heuer , Sebastian Bergmann - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace PharIo\Version; - -class VersionNumber { - /** - * @var int - */ - private $value; - - /** - * @param mixed $value - */ - public function __construct($value) { - if (is_numeric($value)) { - $this->value = $value; - } - } - - /** - * @return bool - */ - public function isAny() { - return $this->value === null; - } - - /** - * @return int - */ - public function getValue() { - return $this->value; - } -} diff --git a/paragonik-backend/vendor/phar-io/version/src/constraints/AbstractVersionConstraint.php b/paragonik-backend/vendor/phar-io/version/src/constraints/AbstractVersionConstraint.php deleted file mode 100644 index b732dbc..0000000 --- a/paragonik-backend/vendor/phar-io/version/src/constraints/AbstractVersionConstraint.php +++ /dev/null @@ -1,32 +0,0 @@ -, Sebastian Heuer , Sebastian Bergmann - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace PharIo\Version; - -abstract class AbstractVersionConstraint implements VersionConstraint { - /** - * @var string - */ - private $originalValue = ''; - - /** - * @param string $originalValue - */ - public function __construct($originalValue) { - $this->originalValue = $originalValue; - } - - /** - * @return string - */ - public function asString() { - return $this->originalValue; - } -} diff --git a/paragonik-backend/vendor/phar-io/version/src/constraints/AndVersionConstraintGroup.php b/paragonik-backend/vendor/phar-io/version/src/constraints/AndVersionConstraintGroup.php deleted file mode 100644 index d9efeef..0000000 --- a/paragonik-backend/vendor/phar-io/version/src/constraints/AndVersionConstraintGroup.php +++ /dev/null @@ -1,43 +0,0 @@ -, Sebastian Heuer , Sebastian Bergmann - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace PharIo\Version; - -class AndVersionConstraintGroup extends AbstractVersionConstraint { - /** - * @var VersionConstraint[] - */ - private $constraints = []; - - /** - * @param string $originalValue - * @param VersionConstraint[] $constraints - */ - public function __construct($originalValue, array $constraints) { - parent::__construct($originalValue); - - $this->constraints = $constraints; - } - - /** - * @param Version $version - * - * @return bool - */ - public function complies(Version $version) { - foreach ($this->constraints as $constraint) { - if (!$constraint->complies($version)) { - return false; - } - } - - return true; - } -} diff --git a/paragonik-backend/vendor/phar-io/version/src/constraints/AnyVersionConstraint.php b/paragonik-backend/vendor/phar-io/version/src/constraints/AnyVersionConstraint.php deleted file mode 100644 index 13ca2ef..0000000 --- a/paragonik-backend/vendor/phar-io/version/src/constraints/AnyVersionConstraint.php +++ /dev/null @@ -1,29 +0,0 @@ -, Sebastian Heuer , Sebastian Bergmann - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace PharIo\Version; - -class AnyVersionConstraint implements VersionConstraint { - /** - * @param Version $version - * - * @return bool - */ - public function complies(Version $version) { - return true; - } - - /** - * @return string - */ - public function asString() { - return '*'; - } -} diff --git a/paragonik-backend/vendor/phar-io/version/src/constraints/ExactVersionConstraint.php b/paragonik-backend/vendor/phar-io/version/src/constraints/ExactVersionConstraint.php deleted file mode 100644 index b214117..0000000 --- a/paragonik-backend/vendor/phar-io/version/src/constraints/ExactVersionConstraint.php +++ /dev/null @@ -1,22 +0,0 @@ -, Sebastian Heuer , Sebastian Bergmann - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace PharIo\Version; - -class ExactVersionConstraint extends AbstractVersionConstraint { - /** - * @param Version $version - * - * @return bool - */ - public function complies(Version $version) { - return $this->asString() == $version->getVersionString(); - } -} diff --git a/paragonik-backend/vendor/phar-io/version/src/constraints/GreaterThanOrEqualToVersionConstraint.php b/paragonik-backend/vendor/phar-io/version/src/constraints/GreaterThanOrEqualToVersionConstraint.php deleted file mode 100644 index 47039a8..0000000 --- a/paragonik-backend/vendor/phar-io/version/src/constraints/GreaterThanOrEqualToVersionConstraint.php +++ /dev/null @@ -1,38 +0,0 @@ -, Sebastian Heuer , Sebastian Bergmann - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace PharIo\Version; - -class GreaterThanOrEqualToVersionConstraint extends AbstractVersionConstraint { - /** - * @var Version - */ - private $minimalVersion; - - /** - * @param string $originalValue - * @param Version $minimalVersion - */ - public function __construct($originalValue, Version $minimalVersion) { - parent::__construct($originalValue); - - $this->minimalVersion = $minimalVersion; - } - - /** - * @param Version $version - * - * @return bool - */ - public function complies(Version $version) { - return $version->getVersionString() == $this->minimalVersion->getVersionString() - || $version->isGreaterThan($this->minimalVersion); - } -} diff --git a/paragonik-backend/vendor/phar-io/version/src/constraints/OrVersionConstraintGroup.php b/paragonik-backend/vendor/phar-io/version/src/constraints/OrVersionConstraintGroup.php deleted file mode 100644 index 274407f..0000000 --- a/paragonik-backend/vendor/phar-io/version/src/constraints/OrVersionConstraintGroup.php +++ /dev/null @@ -1,43 +0,0 @@ -, Sebastian Heuer , Sebastian Bergmann - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace PharIo\Version; - -class OrVersionConstraintGroup extends AbstractVersionConstraint { - /** - * @var VersionConstraint[] - */ - private $constraints = []; - - /** - * @param string $originalValue - * @param VersionConstraint[] $constraints - */ - public function __construct($originalValue, array $constraints) { - parent::__construct($originalValue); - - $this->constraints = $constraints; - } - - /** - * @param Version $version - * - * @return bool - */ - public function complies(Version $version) { - foreach ($this->constraints as $constraint) { - if ($constraint->complies($version)) { - return true; - } - } - - return false; - } -} diff --git a/paragonik-backend/vendor/phar-io/version/src/constraints/SpecificMajorAndMinorVersionConstraint.php b/paragonik-backend/vendor/phar-io/version/src/constraints/SpecificMajorAndMinorVersionConstraint.php deleted file mode 100644 index 3d58905..0000000 --- a/paragonik-backend/vendor/phar-io/version/src/constraints/SpecificMajorAndMinorVersionConstraint.php +++ /dev/null @@ -1,48 +0,0 @@ -, Sebastian Heuer , Sebastian Bergmann - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace PharIo\Version; - -class SpecificMajorAndMinorVersionConstraint extends AbstractVersionConstraint { - /** - * @var int - */ - private $major = 0; - - /** - * @var int - */ - private $minor = 0; - - /** - * @param string $originalValue - * @param int $major - * @param int $minor - */ - public function __construct($originalValue, $major, $minor) { - parent::__construct($originalValue); - - $this->major = $major; - $this->minor = $minor; - } - - /** - * @param Version $version - * - * @return bool - */ - public function complies(Version $version) { - if ($version->getMajor()->getValue() != $this->major) { - return false; - } - - return $version->getMinor()->getValue() == $this->minor; - } -} diff --git a/paragonik-backend/vendor/phar-io/version/src/constraints/SpecificMajorVersionConstraint.php b/paragonik-backend/vendor/phar-io/version/src/constraints/SpecificMajorVersionConstraint.php deleted file mode 100644 index bbac47b..0000000 --- a/paragonik-backend/vendor/phar-io/version/src/constraints/SpecificMajorVersionConstraint.php +++ /dev/null @@ -1,37 +0,0 @@ -, Sebastian Heuer , Sebastian Bergmann - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace PharIo\Version; - -class SpecificMajorVersionConstraint extends AbstractVersionConstraint { - /** - * @var int - */ - private $major = 0; - - /** - * @param string $originalValue - * @param int $major - */ - public function __construct($originalValue, $major) { - parent::__construct($originalValue); - - $this->major = $major; - } - - /** - * @param Version $version - * - * @return bool - */ - public function complies(Version $version) { - return $version->getMajor()->getValue() == $this->major; - } -} diff --git a/paragonik-backend/vendor/phar-io/version/src/constraints/VersionConstraint.php b/paragonik-backend/vendor/phar-io/version/src/constraints/VersionConstraint.php deleted file mode 100644 index 9558163..0000000 --- a/paragonik-backend/vendor/phar-io/version/src/constraints/VersionConstraint.php +++ /dev/null @@ -1,26 +0,0 @@ -, Sebastian Heuer , Sebastian Bergmann - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace PharIo\Version; - -interface VersionConstraint { - /** - * @param Version $version - * - * @return bool - */ - public function complies(Version $version); - - /** - * @return string - */ - public function asString(); - -} diff --git a/paragonik-backend/vendor/phar-io/version/src/exceptions/Exception.php b/paragonik-backend/vendor/phar-io/version/src/exceptions/Exception.php deleted file mode 100644 index b99e4dd..0000000 --- a/paragonik-backend/vendor/phar-io/version/src/exceptions/Exception.php +++ /dev/null @@ -1,14 +0,0 @@ -, Sebastian Heuer , Sebastian Bergmann - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace PharIo\Version; - -interface Exception { -} diff --git a/paragonik-backend/vendor/phar-io/version/src/exceptions/InvalidPreReleaseSuffixException.php b/paragonik-backend/vendor/phar-io/version/src/exceptions/InvalidPreReleaseSuffixException.php deleted file mode 100644 index 225fe71..0000000 --- a/paragonik-backend/vendor/phar-io/version/src/exceptions/InvalidPreReleaseSuffixException.php +++ /dev/null @@ -1,7 +0,0 @@ -, Sebastian Heuer , Sebastian Bergmann - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace PharIo\Version; - -final class UnsupportedVersionConstraintException extends \RuntimeException implements Exception { -} diff --git a/paragonik-backend/vendor/phar-io/version/tests/Integration/VersionConstraintParserTest.php b/paragonik-backend/vendor/phar-io/version/tests/Integration/VersionConstraintParserTest.php deleted file mode 100644 index f3e1ba8..0000000 --- a/paragonik-backend/vendor/phar-io/version/tests/Integration/VersionConstraintParserTest.php +++ /dev/null @@ -1,146 +0,0 @@ -, Sebastian Heuer , Sebastian Bergmann - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace PharIo\Version; - -use PHPUnit\Framework\TestCase; - -/** - * @covers \PharIo\Version\VersionConstraintParser - */ -class VersionConstraintParserTest extends TestCase { - /** - * @dataProvider versionStringProvider - * - * @param string $versionString - * @param VersionConstraint $expectedConstraint - */ - public function testReturnsExpectedConstraint($versionString, VersionConstraint $expectedConstraint) { - $parser = new VersionConstraintParser; - - $this->assertEquals($expectedConstraint, $parser->parse($versionString)); - } - - /** - * @dataProvider unsupportedVersionStringProvider - * - * @param string $versionString - */ - public function testThrowsExceptionIfVersionStringIsNotSupported($versionString) { - $parser = new VersionConstraintParser; - - $this->expectException(UnsupportedVersionConstraintException::class); - - $parser->parse($versionString); - } - - /** - * @return array - */ - public function versionStringProvider() { - return [ - ['1.0.2', new ExactVersionConstraint('1.0.2')], - [ - '~4.6', - new AndVersionConstraintGroup( - '~4.6', - [ - new GreaterThanOrEqualToVersionConstraint('~4.6', new Version('4.6')), - new SpecificMajorVersionConstraint('~4.6', 4) - ] - ) - ], - [ - '~4.6.2', - new AndVersionConstraintGroup( - '~4.6.2', - [ - new GreaterThanOrEqualToVersionConstraint('~4.6.2', new Version('4.6.2')), - new SpecificMajorAndMinorVersionConstraint('~4.6.2', 4, 6) - ] - ) - ], - [ - '^2.6.1', - new AndVersionConstraintGroup( - '^2.6.1', - [ - new GreaterThanOrEqualToVersionConstraint('^2.6.1', new Version('2.6.1')), - new SpecificMajorVersionConstraint('^2.6.1', 2) - ] - ) - ], - ['5.1.*', new SpecificMajorAndMinorVersionConstraint('5.1.*', 5, 1)], - ['5.*', new SpecificMajorVersionConstraint('5.*', 5)], - ['*', new AnyVersionConstraint()], - [ - '1.0.2 || 1.0.5', - new OrVersionConstraintGroup( - '1.0.2 || 1.0.5', - [ - new ExactVersionConstraint('1.0.2'), - new ExactVersionConstraint('1.0.5') - ] - ) - ], - [ - '^5.6 || ^7.0', - new OrVersionConstraintGroup( - '^5.6 || ^7.0', - [ - new AndVersionConstraintGroup( - '^5.6', [ - new GreaterThanOrEqualToVersionConstraint('^5.6', new Version('5.6')), - new SpecificMajorVersionConstraint('^5.6', 5) - ] - ), - new AndVersionConstraintGroup( - '^7.0', [ - new GreaterThanOrEqualToVersionConstraint('^7.0', new Version('7.0')), - new SpecificMajorVersionConstraint('^7.0', 7) - ] - ) - ] - ) - ], - ['7.0.28-1', new ExactVersionConstraint('7.0.28-1')], - [ - '^3.0.0-alpha1', - new AndVersionConstraintGroup( - '^3.0.0-alpha1', - [ - new GreaterThanOrEqualToVersionConstraint('^3.0.0-alpha1', new Version('3.0.0-alpha1')), - new SpecificMajorVersionConstraint('^3.0.0-alpha1', 3) - ] - ) - ], - [ - '^3.0.0-alpha.1', - new AndVersionConstraintGroup( - '^3.0.0-alpha.1', - [ - new GreaterThanOrEqualToVersionConstraint('^3.0.0-alpha.1', new Version('3.0.0-alpha.1')), - new SpecificMajorVersionConstraint('^3.0.0-alpha.1', 3) - ] - ) - ] - ]; - } - - public function unsupportedVersionStringProvider() { - return [ - ['foo'], - ['+1.0.2'], - ['>=2.0'], - ['^5.6 || >= 7.0'], - ['2.0 || foo'] - ]; - } -} diff --git a/paragonik-backend/vendor/phar-io/version/tests/Unit/AbstractVersionConstraintTest.php b/paragonik-backend/vendor/phar-io/version/tests/Unit/AbstractVersionConstraintTest.php deleted file mode 100644 index c618566..0000000 --- a/paragonik-backend/vendor/phar-io/version/tests/Unit/AbstractVersionConstraintTest.php +++ /dev/null @@ -1,25 +0,0 @@ -, Sebastian Heuer , Sebastian Bergmann - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace PharIo\Version; - -use PHPUnit\Framework\TestCase; - -/** - * @covers \PharIo\Version\AbstractVersionConstraint - */ -class AbstractVersionConstraintTest extends TestCase { - public function testAsString() { - /** @var AbstractVersionConstraint|\PHPUnit_Framework_MockObject_MockObject $constraint */ - $constraint = $this->getMockForAbstractClass(AbstractVersionConstraint::class, ['foo']); - - $this->assertSame('foo', $constraint->asString()); - } -} diff --git a/paragonik-backend/vendor/phar-io/version/tests/Unit/AndVersionConstraintGroupTest.php b/paragonik-backend/vendor/phar-io/version/tests/Unit/AndVersionConstraintGroupTest.php deleted file mode 100644 index c2c5ec0..0000000 --- a/paragonik-backend/vendor/phar-io/version/tests/Unit/AndVersionConstraintGroupTest.php +++ /dev/null @@ -1,52 +0,0 @@ -, Sebastian Heuer , Sebastian Bergmann - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace PharIo\Version; - -use PHPUnit\Framework\TestCase; - -/** - * @covers \PharIo\Version\AndVersionConstraintGroup - */ -class AndVersionConstraintGroupTest extends TestCase { - public function testReturnsFalseIfOneConstraintReturnsFalse() { - $firstConstraint = $this->createMock(VersionConstraint::class); - $secondConstraint = $this->createMock(VersionConstraint::class); - - $firstConstraint->expects($this->once()) - ->method('complies') - ->will($this->returnValue(true)); - - $secondConstraint->expects($this->once()) - ->method('complies') - ->will($this->returnValue(false)); - - $group = new AndVersionConstraintGroup('foo', [$firstConstraint, $secondConstraint]); - - $this->assertFalse($group->complies(new Version('1.0.0'))); - } - - public function testReturnsTrueIfAllConstraintsReturnsTrue() { - $firstConstraint = $this->createMock(VersionConstraint::class); - $secondConstraint = $this->createMock(VersionConstraint::class); - - $firstConstraint->expects($this->once()) - ->method('complies') - ->will($this->returnValue(true)); - - $secondConstraint->expects($this->once()) - ->method('complies') - ->will($this->returnValue(true)); - - $group = new AndVersionConstraintGroup('foo', [$firstConstraint, $secondConstraint]); - - $this->assertTrue($group->complies(new Version('1.0.0'))); - } -} diff --git a/paragonik-backend/vendor/phar-io/version/tests/Unit/AnyVersionConstraintTest.php b/paragonik-backend/vendor/phar-io/version/tests/Unit/AnyVersionConstraintTest.php deleted file mode 100644 index 6883099..0000000 --- a/paragonik-backend/vendor/phar-io/version/tests/Unit/AnyVersionConstraintTest.php +++ /dev/null @@ -1,41 +0,0 @@ -, Sebastian Heuer , Sebastian Bergmann - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace PharIo\Version; - -use PHPUnit\Framework\TestCase; - -/** - * @covers \PharIo\Version\AnyVersionConstraint - */ -class AnyVersionConstraintTest extends TestCase { - public function versionProvider() { - return [ - [new Version('1.0.2')], - [new Version('4.8')], - [new Version('0.1.1-dev')] - ]; - } - - /** - * @dataProvider versionProvider - * - * @param Version $version - */ - public function testReturnsTrue(Version $version) { - $constraint = new AnyVersionConstraint; - - $this->assertTrue($constraint->complies($version)); - } - - public function testAsString() { - $this->assertSame('*', (new AnyVersionConstraint())->asString()); - } -} diff --git a/paragonik-backend/vendor/phar-io/version/tests/Unit/ExactVersionConstraintTest.php b/paragonik-backend/vendor/phar-io/version/tests/Unit/ExactVersionConstraintTest.php deleted file mode 100644 index ebba024..0000000 --- a/paragonik-backend/vendor/phar-io/version/tests/Unit/ExactVersionConstraintTest.php +++ /dev/null @@ -1,58 +0,0 @@ -, Sebastian Heuer , Sebastian Bergmann - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace PharIo\Version; - -use PHPUnit\Framework\TestCase; - -/** - * @covers \PharIo\Version\ExactVersionConstraint - */ -class ExactVersionConstraintTest extends TestCase { - public function compliantVersionProvider() { - return [ - ['1.0.2', new Version('1.0.2')], - ['4.8.9', new Version('4.8.9')], - ['4.8', new Version('4.8')], - ]; - } - - public function nonCompliantVersionProvider() { - return [ - ['1.0.2', new Version('1.0.3')], - ['4.8.9', new Version('4.7.9')], - ['4.8', new Version('4.8.5')], - ]; - } - - /** - * @dataProvider compliantVersionProvider - * - * @param string $constraintValue - * @param Version $version - */ - public function testReturnsTrueForCompliantVersion($constraintValue, Version $version) { - $constraint = new ExactVersionConstraint($constraintValue); - - $this->assertTrue($constraint->complies($version)); - } - - /** - * @dataProvider nonCompliantVersionProvider - * - * @param string $constraintValue - * @param Version $version - */ - public function testReturnsFalseForNonCompliantVersion($constraintValue, Version $version) { - $constraint = new ExactVersionConstraint($constraintValue); - - $this->assertFalse($constraint->complies($version)); - } -} diff --git a/paragonik-backend/vendor/phar-io/version/tests/Unit/GreaterThanOrEqualToVersionConstraintTest.php b/paragonik-backend/vendor/phar-io/version/tests/Unit/GreaterThanOrEqualToVersionConstraintTest.php deleted file mode 100644 index 3cbb11d..0000000 --- a/paragonik-backend/vendor/phar-io/version/tests/Unit/GreaterThanOrEqualToVersionConstraintTest.php +++ /dev/null @@ -1,47 +0,0 @@ -, Sebastian Heuer , Sebastian Bergmann - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace PharIo\Version; - -use PHPUnit\Framework\TestCase; - -/** - * @covers \PharIo\Version\GreaterThanOrEqualToVersionConstraint - */ -class GreaterThanOrEqualToVersionConstraintTest extends TestCase { - public function versionProvider() { - return [ - // compliant versions - [new Version('1.0.2'), new Version('1.0.2'), true], - [new Version('1.0.2'), new Version('1.0.3'), true], - [new Version('1.0.2'), new Version('1.1.1'), true], - [new Version('1.0.2'), new Version('2.0.0'), true], - [new Version('1.0.2'), new Version('1.0.3'), true], - // non-compliant versions - [new Version('1.0.2'), new Version('1.0.1'), false], - [new Version('1.9.8'), new Version('0.9.9'), false], - [new Version('2.3.1'), new Version('2.2.3'), false], - [new Version('3.0.2'), new Version('2.9.9'), false], - ]; - } - - /** - * @dataProvider versionProvider - * - * @param Version $constraintVersion - * @param Version $version - * @param bool $expectedResult - */ - public function testReturnsTrueForCompliantVersions(Version $constraintVersion, Version $version, $expectedResult) { - $constraint = new GreaterThanOrEqualToVersionConstraint('foo', $constraintVersion); - - $this->assertSame($expectedResult, $constraint->complies($version)); - } -} diff --git a/paragonik-backend/vendor/phar-io/version/tests/Unit/OrVersionConstraintGroupTest.php b/paragonik-backend/vendor/phar-io/version/tests/Unit/OrVersionConstraintGroupTest.php deleted file mode 100644 index 088d557..0000000 --- a/paragonik-backend/vendor/phar-io/version/tests/Unit/OrVersionConstraintGroupTest.php +++ /dev/null @@ -1,65 +0,0 @@ -, Sebastian Heuer , Sebastian Bergmann - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace PharIo\Version; - -use PHPUnit\Framework\TestCase; - -/** - * @covers \PharIo\Version\OrVersionConstraintGroup - */ -class OrVersionConstraintGroupTest extends TestCase { - public function testReturnsTrueIfOneConstraintReturnsFalse() { - $firstConstraint = $this->createMock(VersionConstraint::class); - $secondConstraint = $this->createMock(VersionConstraint::class); - - $firstConstraint->expects($this->once()) - ->method('complies') - ->will($this->returnValue(false)); - - $secondConstraint->expects($this->once()) - ->method('complies') - ->will($this->returnValue(true)); - - $group = new OrVersionConstraintGroup('foo', [$firstConstraint, $secondConstraint]); - - $this->assertTrue($group->complies(new Version('1.0.0'))); - } - - public function testReturnsTrueIfAllConstraintsReturnsTrue() { - $firstConstraint = $this->createMock(VersionConstraint::class); - $secondConstraint = $this->createMock(VersionConstraint::class); - - $firstConstraint->expects($this->once()) - ->method('complies') - ->will($this->returnValue(true)); - - $group = new OrVersionConstraintGroup('foo', [$firstConstraint, $secondConstraint]); - - $this->assertTrue($group->complies(new Version('1.0.0'))); - } - - public function testReturnsFalseIfAllConstraintsReturnsFalse() { - $firstConstraint = $this->createMock(VersionConstraint::class); - $secondConstraint = $this->createMock(VersionConstraint::class); - - $firstConstraint->expects($this->once()) - ->method('complies') - ->will($this->returnValue(false)); - - $secondConstraint->expects($this->once()) - ->method('complies') - ->will($this->returnValue(false)); - - $group = new OrVersionConstraintGroup('foo', [$firstConstraint, $secondConstraint]); - - $this->assertFalse($group->complies(new Version('1.0.0'))); - } -} diff --git a/paragonik-backend/vendor/phar-io/version/tests/Unit/PreReleaseSuffixTest.php b/paragonik-backend/vendor/phar-io/version/tests/Unit/PreReleaseSuffixTest.php deleted file mode 100644 index e09a66d..0000000 --- a/paragonik-backend/vendor/phar-io/version/tests/Unit/PreReleaseSuffixTest.php +++ /dev/null @@ -1,46 +0,0 @@ -assertSame($expectedResult, $leftSuffix->isGreaterThan($rightSuffix)); - } - - public function greaterThanProvider() { - return [ - ['alpha1', 'alpha2', false], - ['alpha2', 'alpha1', true], - ['beta1', 'alpha3', true], - ['b1', 'alpha3', true], - ['b1', 'a3', true], - ['dev1', 'alpha2', false], - ['dev1', 'alpha2', false], - ['alpha2', 'dev5', true], - ['rc1', 'beta2', true], - ['patch5', 'rc7', true], - ['alpha1', 'alpha.2', false], - ['alpha.3', 'alpha2', true], - ['alpha.3', 'alpha.2', true], - ]; - } -} diff --git a/paragonik-backend/vendor/phar-io/version/tests/Unit/SpecificMajorAndMinorVersionConstraintTest.php b/paragonik-backend/vendor/phar-io/version/tests/Unit/SpecificMajorAndMinorVersionConstraintTest.php deleted file mode 100644 index 6025889..0000000 --- a/paragonik-backend/vendor/phar-io/version/tests/Unit/SpecificMajorAndMinorVersionConstraintTest.php +++ /dev/null @@ -1,45 +0,0 @@ -, Sebastian Heuer , Sebastian Bergmann - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace PharIo\Version; - -use PHPUnit\Framework\TestCase; - -/** - * @covers \PharIo\Version\SpecificMajorAndMinorVersionConstraint - */ -class SpecificMajorAndMinorVersionConstraintTest extends TestCase { - public function versionProvider() { - return [ - // compliant versions - [1, 0, new Version('1.0.2'), true], - [1, 0, new Version('1.0.3'), true], - [1, 1, new Version('1.1.1'), true], - // non-compliant versions - [2, 9, new Version('0.9.9'), false], - [3, 2, new Version('2.2.3'), false], - [2, 8, new Version('2.9.9'), false], - ]; - } - - /** - * @dataProvider versionProvider - * - * @param int $major - * @param int $minor - * @param Version $version - * @param bool $expectedResult - */ - public function testReturnsTrueForCompliantVersions($major, $minor, Version $version, $expectedResult) { - $constraint = new SpecificMajorAndMinorVersionConstraint('foo', $major, $minor); - - $this->assertSame($expectedResult, $constraint->complies($version)); - } -} diff --git a/paragonik-backend/vendor/phar-io/version/tests/Unit/SpecificMajorVersionConstraintTest.php b/paragonik-backend/vendor/phar-io/version/tests/Unit/SpecificMajorVersionConstraintTest.php deleted file mode 100644 index 6dc3b71..0000000 --- a/paragonik-backend/vendor/phar-io/version/tests/Unit/SpecificMajorVersionConstraintTest.php +++ /dev/null @@ -1,44 +0,0 @@ -, Sebastian Heuer , Sebastian Bergmann - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace PharIo\Version; - -use PHPUnit\Framework\TestCase; - -/** - * @covers \PharIo\Version\SpecificMajorVersionConstraint - */ -class SpecificMajorVersionConstraintTest extends TestCase { - public function versionProvider() { - return [ - // compliant versions - [1, new Version('1.0.2'), true], - [1, new Version('1.0.3'), true], - [1, new Version('1.1.1'), true], - // non-compliant versions - [2, new Version('0.9.9'), false], - [3, new Version('2.2.3'), false], - [3, new Version('2.9.9'), false], - ]; - } - - /** - * @dataProvider versionProvider - * - * @param int $major - * @param Version $version - * @param bool $expectedResult - */ - public function testReturnsTrueForCompliantVersions($major, Version $version, $expectedResult) { - $constraint = new SpecificMajorVersionConstraint('foo', $major); - - $this->assertSame($expectedResult, $constraint->complies($version)); - } -} diff --git a/paragonik-backend/vendor/phar-io/version/tests/Unit/VersionTest.php b/paragonik-backend/vendor/phar-io/version/tests/Unit/VersionTest.php deleted file mode 100644 index 6b4897a..0000000 --- a/paragonik-backend/vendor/phar-io/version/tests/Unit/VersionTest.php +++ /dev/null @@ -1,113 +0,0 @@ -, Sebastian Heuer , Sebastian Bergmann - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace PharIo\Version; - -use PHPUnit\Framework\TestCase; - -/** - * @covers \PharIo\Version\Version - */ -class VersionTest extends TestCase { - /** - * @dataProvider versionProvider - * - * @param string $versionString - * @param string $expectedMajor - * @param string $expectedMinor - * @param string $expectedPatch - * @param string $expectedPreReleaseValue - * @param int $expectedReleaseCount - */ - public function testParsesVersionNumbers( - $versionString, - $expectedMajor, - $expectedMinor, - $expectedPatch, - $expectedPreReleaseValue = '', - $expectedReleaseCount = 0 - ) { - $version = new Version($versionString); - - $this->assertSame($expectedMajor, $version->getMajor()->getValue()); - $this->assertSame($expectedMinor, $version->getMinor()->getValue()); - $this->assertSame($expectedPatch, $version->getPatch()->getValue()); - if ($expectedPreReleaseValue !== '') { - $this->assertSame($expectedPreReleaseValue, $version->getPreReleaseSuffix()->getValue()); - } - if ($expectedReleaseCount !== 0) { - $this->assertSame($expectedReleaseCount, $version->getPreReleaseSuffix()->getNumber()); - } - - $this->assertSame($versionString, $version->getVersionString()); - } - - public function versionProvider() { - return [ - ['0.0.1', '0', '0', '1'], - ['0.1.2', '0', '1', '2'], - ['1.0.0-alpha', '1', '0', '0', 'alpha'], - ['3.4.12-dev3', '3', '4', '12', 'dev', 3], - ]; - } - - /** - * @dataProvider versionGreaterThanProvider - * - * @param Version $versionA - * @param Version $versionB - * @param bool $expectedResult - */ - public function testIsGreaterThan(Version $versionA, Version $versionB, $expectedResult) { - $this->assertSame($expectedResult, $versionA->isGreaterThan($versionB)); - } - - /** - * @return array - */ - public function versionGreaterThanProvider() { - return [ - [new Version('1.0.0'), new Version('1.0.1'), false], - [new Version('1.0.1'), new Version('1.0.0'), true], - [new Version('1.1.0'), new Version('1.0.1'), true], - [new Version('1.1.0'), new Version('2.0.1'), false], - [new Version('1.1.0'), new Version('1.1.0'), false], - [new Version('2.5.8'), new Version('1.6.8'), true], - [new Version('2.5.8'), new Version('2.6.8'), false], - [new Version('2.5.8'), new Version('3.1.2'), false], - [new Version('3.0.0-alpha1'), new Version('3.0.0-alpha2'), false], - [new Version('3.0.0-alpha2'), new Version('3.0.0-alpha1'), true], - [new Version('3.0.0-alpha.1'), new Version('3.0.0'), false], - [new Version('3.0.0'), new Version('3.0.0-alpha.1'), true], - ]; - } - - /** - * @dataProvider invalidVersionStringProvider - * - * @param string $versionString - */ - public function testThrowsExceptionIfVersionStringDoesNotFollowSemVer($versionString) { - $this->expectException(InvalidVersionException::class); - new Version($versionString); - } - - /** - * @return array - */ - public function invalidVersionStringProvider() { - return [ - ['foo'], - ['0.0.1-dev+ABC', '0', '0', '1', 'dev', 'ABC'], - ['1.0.0-x.7.z.92', '1', '0', '0', 'x.7.z.92'] - ]; - } - -} diff --git a/paragonik-backend/vendor/phpdocumentor/reflection-common/.scrutinizer.yml b/paragonik-backend/vendor/phpdocumentor/reflection-common/.scrutinizer.yml deleted file mode 100644 index b83b01f..0000000 --- a/paragonik-backend/vendor/phpdocumentor/reflection-common/.scrutinizer.yml +++ /dev/null @@ -1,48 +0,0 @@ -before_commands: - - "composer install --no-dev --prefer-source" - -checks: - php: - excluded_dependencies: - - phpstan/phpstan - -tools: - external_code_coverage: - enabled: true - timeout: 300 - filter: - excluded_paths: ["tests", "vendor"] - php_code_sniffer: - enabled: true - config: - standard: PSR2 - filter: - paths: ["src/*", "tests/*"] - excluded_paths: [] - php_cpd: - enabled: true - excluded_dirs: ["tests", "vendor"] - php_cs_fixer: - enabled: true - config: - level: all - filter: - paths: ["src/*", "tests/*"] - php_loc: - enabled: true - excluded_dirs: ["tests", "vendor"] - php_mess_detector: - enabled: true - config: - ruleset: phpmd.xml.dist - design_rules: { eval_expression: false } - filter: - paths: ["src/*"] - php_pdepend: - enabled: true - excluded_dirs: ["tests", "vendor"] - php_analyzer: - enabled: true - filter: - paths: ["src/*", "tests/*"] - sensiolabs_security_checker: true diff --git a/paragonik-backend/vendor/phpdocumentor/reflection-common/.travis.yml b/paragonik-backend/vendor/phpdocumentor/reflection-common/.travis.yml deleted file mode 100644 index 2263ed4..0000000 --- a/paragonik-backend/vendor/phpdocumentor/reflection-common/.travis.yml +++ /dev/null @@ -1,53 +0,0 @@ -language: php -php: [ 7.1, 7.2, nightly ] -sudo: false - -env: - -matrix: - fast_finish: true - allow_failures: - - php: nightly - -install: - - travis_retry composer install --no-interaction --prefer-dist --optimize-autoloader - -script: - - ./vendor/bin/phpunit --no-coverage - -jobs: - include: - - stage: analysis - php: 7.1 - script: - - ./vendor/bin/phpunit - after_script: - - travis_retry wget --no-verbose https://phar.io/releases/phive.phar - - travis_retry php phive.phar --no-progress install --trust-gpg-keys E82B2FB314E9906E php-coveralls/php-coveralls && ./tools/php-coveralls --verbose - - travis_retry wget --no-verbose https://scrutinizer-ci.com/ocular.phar && php ocular.phar code-coverage:upload --format=php-clover build/logs/clover.xml - - - stage: analysis - php: 7.1 - before_script: - - travis_retry wget --no-verbose https://phar.io/releases/phive.phar - - travis_retry php phive.phar --no-progress install --trust-gpg-keys 8E730BA25823D8B5 phpstan - script: - - ./tools/phpstan analyse src --level max --configuration phpstan.neon - - - stage: analysis - php: 7.1 - script: - - composer create-project symplify/easy-coding-standard temp/ecs ^3 && temp/ecs/bin/ecs check src tests - -cache: - directories: - - $HOME/.composer - - $HOME/.phive - -notifications: - irc: "irc.freenode.org#phpdocumentor" - slack: - secure: "fjumM0h+4w3EYM4dpgqvpiCug7m4sSIC5+HATgwga/Nrc6IjlbWvGOv3JPgD3kQUhi18VmZfUYPmCv916SIbMnv8JWcrSaJXnPCgmxidvYkuzQDIw1HDJbVppGnkmwQA/qjIrM3sIEMfnu/arLRJQLI363aStZzGPxwIa4PDKcg=" - email: - - me@mikevanriel.com - - ashnazg@php.net diff --git a/paragonik-backend/vendor/phpdocumentor/reflection-common/LICENSE b/paragonik-backend/vendor/phpdocumentor/reflection-common/LICENSE deleted file mode 100644 index ed6926c..0000000 --- a/paragonik-backend/vendor/phpdocumentor/reflection-common/LICENSE +++ /dev/null @@ -1,22 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2015 phpDocumentor - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - diff --git a/paragonik-backend/vendor/phpdocumentor/reflection-common/README.md b/paragonik-backend/vendor/phpdocumentor/reflection-common/README.md deleted file mode 100644 index a8bf63d..0000000 --- a/paragonik-backend/vendor/phpdocumentor/reflection-common/README.md +++ /dev/null @@ -1,12 +0,0 @@ -[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) -[![Travis Status](https://img.shields.io/travis/phpDocumentor/ReflectionCommon.svg?label=Linux)](https://travis-ci.org/phpDocumentor/ReflectionCommon) -[![Appveyor Status](https://img.shields.io/appveyor/ci/phpDocumentor/ReflectionCommon.svg?label=Windows)](https://ci.appveyor.com/project/phpDocumentor/ReflectionCommon/branch/master) -[![Coveralls Coverage](https://img.shields.io/coveralls/github/phpDocumentor/ReflectionCommon.svg)](https://coveralls.io/github/phpDocumentor/ReflectionCommon?branch=master) -[![Scrutinizer Code Coverage](https://img.shields.io/scrutinizer/coverage/g/phpDocumentor/ReflectionCommon.svg)](https://scrutinizer-ci.com/g/phpDocumentor/ReflectionCommon/?branch=master) -[![Scrutinizer Code Quality](https://img.shields.io/scrutinizer/g/phpDocumentor/ReflectionCommon.svg)](https://scrutinizer-ci.com/g/phpDocumentor/ReflectionCommon/?branch=master) -[![Stable Version](https://img.shields.io/packagist/v/phpDocumentor/Reflection-Common.svg)](https://packagist.org/packages/phpDocumentor/Reflection-Common) -[![Unstable Version](https://img.shields.io/packagist/vpre/phpDocumentor/Reflection-Common.svg)](https://packagist.org/packages/phpDocumentor/Reflection-Common) - - -ReflectionCommon -================ diff --git a/paragonik-backend/vendor/phpdocumentor/reflection-common/appveyor.yml b/paragonik-backend/vendor/phpdocumentor/reflection-common/appveyor.yml deleted file mode 100644 index 46e4705..0000000 --- a/paragonik-backend/vendor/phpdocumentor/reflection-common/appveyor.yml +++ /dev/null @@ -1,52 +0,0 @@ -build: false -clone_folder: c:\reflectioncommon -max_jobs: 3 -platform: x86 -pull_requests: - do_not_increment_build_number: true -version: '{build}.{branch}' -skip_tags: true -branches: - only: - - master - -environment: - matrix: - - php_ver_target: 7.1 - - php_ver_target: 7.2 -matrix: - fast_finish: false - -cache: - - c:\php -> appveyor.yml - - '%LOCALAPPDATA%\Composer\files' - -init: - - SET PATH=C:\Program Files\OpenSSL;c:\tools\php;%PATH% - - SET COMPOSER_NO_INTERACTION=1 - - SET PHP=1 - - SET ANSICON=121x90 (121x90) - - -install: - - IF EXIST c:\tools\php (SET PHP=0) - - ps: appveyor-retry cinst --params '""/InstallDir:C:\tools\php""' --ignore-checksums -y php --version ((choco search php --exact --all-versions -r | select-string -pattern $env:php_ver_target | sort { [version]($_ -split '\|' | select -last 1) } -Descending | Select-Object -first 1) -replace '[php|]','') - - cd c:\tools\php - - IF %PHP%==1 copy /Y php.ini-development php.ini - - IF %PHP%==1 echo max_execution_time=1200 >> php.ini - - IF %PHP%==1 echo date.timezone="UTC" >> php.ini - - IF %PHP%==1 echo extension_dir=ext >> php.ini - - IF %PHP%==1 echo extension=php_curl.dll >> php.ini - - IF %PHP%==1 echo extension=php_openssl.dll >> php.ini - - IF %PHP%==1 echo extension=php_mbstring.dll >> php.ini - - IF %PHP%==1 echo extension=php_fileinfo.dll >> php.ini - - IF %PHP%==1 echo zend.assertions=1 >> php.ini - - IF %PHP%==1 echo assert.exception=On >> php.ini - - IF %PHP%==1 echo @php %%~dp0composer.phar %%* > composer.bat - - appveyor-retry appveyor DownloadFile https://getcomposer.org/composer.phar - - cd c:\reflectioncommon - - composer install --no-interaction --prefer-dist --no-progress - -test_script: - - cd c:\reflectioncommon - - vendor\bin\phpunit --no-coverage diff --git a/paragonik-backend/vendor/phpdocumentor/reflection-common/composer.json b/paragonik-backend/vendor/phpdocumentor/reflection-common/composer.json deleted file mode 100644 index 6daeb50..0000000 --- a/paragonik-backend/vendor/phpdocumentor/reflection-common/composer.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "name": "phpdocumentor/reflection-common", - "keywords": ["phpdoc", "phpDocumentor", "reflection", "static analysis", "FQSEN"], - "homepage": "http://www.phpdoc.org", - "description": "Common reflection classes used by phpdocumentor to reflect the code structure", - "license": "MIT", - "authors": [ - { - "name": "Jaap van Otterdijk", - "email": "opensource@ijaap.nl" - } - ], - "require": { - "php": ">=7.1" - }, - "autoload" : { - "psr-4" : { - "phpDocumentor\\Reflection\\": "src/" - } - }, - "require-dev": { - "phpunit/phpunit": "~6" - }, - "extra": { - "branch-alias": { - "dev-master": "2.x-dev" - } - } -} diff --git a/paragonik-backend/vendor/phpdocumentor/reflection-common/easy-coding-standard.neon b/paragonik-backend/vendor/phpdocumentor/reflection-common/easy-coding-standard.neon deleted file mode 100644 index 559a897..0000000 --- a/paragonik-backend/vendor/phpdocumentor/reflection-common/easy-coding-standard.neon +++ /dev/null @@ -1,17 +0,0 @@ -includes: - - temp/ecs/config/clean-code.neon - - temp/ecs/config/psr2.neon - - temp/ecs/config/common.neon - -parameters: - exclude_checkers: - # from temp/ecs/config/common.neon - - PhpCsFixer\Fixer\ClassNotation\OrderedClassElementsFixer - - PhpCsFixer\Fixer\PhpUnit\PhpUnitStrictFixer - - PhpCsFixer\Fixer\ControlStructure\YodaStyleFixer - # from temp/ecs/config/spaces.neon - - PhpCsFixer\Fixer\Operator\NotOperatorWithSuccessorSpaceFixer - - skip: - PHP_CodeSniffer\Standards\Generic\Sniffs\NamingConventions\CamelCapsFunctionNameSniff: - - */tests/** diff --git a/paragonik-backend/vendor/phpdocumentor/reflection-common/phive.xml b/paragonik-backend/vendor/phpdocumentor/reflection-common/phive.xml deleted file mode 100644 index 5630fde..0000000 --- a/paragonik-backend/vendor/phpdocumentor/reflection-common/phive.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/paragonik-backend/vendor/phpdocumentor/reflection-common/phpmd.xml.dist b/paragonik-backend/vendor/phpdocumentor/reflection-common/phpmd.xml.dist deleted file mode 100644 index 9abf85c..0000000 --- a/paragonik-backend/vendor/phpdocumentor/reflection-common/phpmd.xml.dist +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - - - - - - - 40 - - - diff --git a/paragonik-backend/vendor/phpdocumentor/reflection-common/phpstan.neon b/paragonik-backend/vendor/phpdocumentor/reflection-common/phpstan.neon deleted file mode 100644 index e69de29..0000000 diff --git a/paragonik-backend/vendor/phpdocumentor/reflection-common/src/Element.php b/paragonik-backend/vendor/phpdocumentor/reflection-common/src/Element.php deleted file mode 100644 index b3820f8..0000000 --- a/paragonik-backend/vendor/phpdocumentor/reflection-common/src/Element.php +++ /dev/null @@ -1,31 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection; - -/** - * Interface for files processed by the ProjectFactory - */ -interface File -{ - /** - * Returns the content of the file as a string. - */ - public function getContents(): string; - - /** - * Returns md5 hash of the file. - */ - public function md5(): string; - - /** - * Returns an relative path to the file. - */ - public function path(): string; -} diff --git a/paragonik-backend/vendor/phpdocumentor/reflection-common/src/Fqsen.php b/paragonik-backend/vendor/phpdocumentor/reflection-common/src/Fqsen.php deleted file mode 100644 index 9fc0c64..0000000 --- a/paragonik-backend/vendor/phpdocumentor/reflection-common/src/Fqsen.php +++ /dev/null @@ -1,81 +0,0 @@ -fqsen = $fqsen; - - if (isset($matches[2])) { - $this->name = $matches[2]; - } else { - $matches = explode('\\', $fqsen); - $this->name = trim(end($matches), '()'); - } - } - - /** - * converts this class to string. - */ - public function __toString(): string - { - return $this->fqsen; - } - - /** - * Returns the name of the element without path. - */ - public function getName(): string - { - return $this->name; - } -} diff --git a/paragonik-backend/vendor/phpdocumentor/reflection-common/src/Location.php b/paragonik-backend/vendor/phpdocumentor/reflection-common/src/Location.php deleted file mode 100644 index fdb1816..0000000 --- a/paragonik-backend/vendor/phpdocumentor/reflection-common/src/Location.php +++ /dev/null @@ -1,52 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection; - -/** - * The location where an element occurs within a file. - */ -final class Location -{ - /** @var int */ - private $lineNumber = 0; - - /** @var int */ - private $columnNumber = 0; - - /** - * Initializes the location for an element using its line number in the file and optionally the column number. - */ - public function __construct(int $lineNumber, int $columnNumber = 0) - { - $this->lineNumber = $lineNumber; - $this->columnNumber = $columnNumber; - } - - /** - * Returns the line number that is covered by this location. - */ - public function getLineNumber(): int - { - return $this->lineNumber; - } - - /** - * Returns the column number (character position on a line) for this location object. - */ - public function getColumnNumber(): int - { - return $this->columnNumber; - } -} diff --git a/paragonik-backend/vendor/phpdocumentor/reflection-common/src/Project.php b/paragonik-backend/vendor/phpdocumentor/reflection-common/src/Project.php deleted file mode 100644 index 7d4b176..0000000 --- a/paragonik-backend/vendor/phpdocumentor/reflection-common/src/Project.php +++ /dev/null @@ -1,26 +0,0 @@ -create($docComment); -``` - -The `create` method will yield an object of type `\phpDocumentor\Reflection\DocBlock` -whose methods can be queried: - -```php -// Contains the summary for this DocBlock -$summary = $docblock->getSummary(); - -// Contains \phpDocumentor\Reflection\DocBlock\Description object -$description = $docblock->getDescription(); - -// You can either cast it to string -$description = (string) $docblock->getDescription(); - -// Or use the render method to get a string representation of the Description. -$description = $docblock->getDescription()->render(); -``` - -> For more examples it would be best to review the scripts in the [`/examples` folder](/examples). diff --git a/paragonik-backend/vendor/phpdocumentor/reflection-docblock/appveyor.yml b/paragonik-backend/vendor/phpdocumentor/reflection-docblock/appveyor.yml deleted file mode 100644 index 2a650d9..0000000 --- a/paragonik-backend/vendor/phpdocumentor/reflection-docblock/appveyor.yml +++ /dev/null @@ -1,54 +0,0 @@ -build: false -clone_folder: c:\reflectiondocblock -max_jobs: 3 -platform: x86 -pull_requests: - do_not_increment_build_number: true -version: '{build}.{branch}' -skip_tags: true -branches: - only: - - master - -environment: - matrix: - - php_ver_target: 7.1 - - php_ver_target: 7.2 -matrix: - fast_finish: false - -cache: - - c:\php -> appveyor.yml - - '%LOCALAPPDATA%\Composer\files' - -init: - - SET PATH=C:\Program Files\OpenSSL;c:\tools\php;%PATH% - - SET COMPOSER_NO_INTERACTION=1 - - SET PHP=1 - - SET ANSICON=121x90 (121x90) - - -install: - - IF EXIST c:\tools\php (SET PHP=0) - - ps: appveyor-retry cinst --params '""/InstallDir:C:\tools\php""' --ignore-checksums -y php --version ((choco search php --exact --all-versions -r | select-string -pattern $env:php_ver_target | sort { [version]($_ -split '\|' | select -last 1) } -Descending | Select-Object -first 1) -replace '[php|]','') - - cd c:\tools\php - - IF %PHP%==1 copy /Y php.ini-development php.ini - - IF %PHP%==1 echo max_execution_time=1200 >> php.ini - - IF %PHP%==1 echo date.timezone="UTC" >> php.ini - - IF %PHP%==1 echo extension_dir=ext >> php.ini - - IF %PHP%==1 echo extension=php_curl.dll >> php.ini - - IF %PHP%==1 echo extension=php_openssl.dll >> php.ini - - IF %PHP%==1 echo extension=php_mbstring.dll >> php.ini - - IF %PHP%==1 echo extension=php_fileinfo.dll >> php.ini - - IF %PHP%==1 echo zend.assertions=1 >> php.ini - - IF %PHP%==1 echo assert.exception=On >> php.ini - - IF %PHP%==1 echo @php %%~dp0composer.phar %%* > composer.bat - - appveyor-retry appveyor DownloadFile https://getcomposer.org/composer.phar - - cd c:\reflectiondocblock - - composer install --no-interaction --prefer-dist --no-progress - - composer global require phpunit/phpunit ^6 - - composer global config bin-dir --absolute - -test_script: - - cd c:\reflectiondocblock - - c:\Users\appveyor\AppData\Roaming\Composer\vendor\bin\phpunit --no-coverage diff --git a/paragonik-backend/vendor/phpdocumentor/reflection-docblock/composer.json b/paragonik-backend/vendor/phpdocumentor/reflection-docblock/composer.json deleted file mode 100644 index f15fe38..0000000 --- a/paragonik-backend/vendor/phpdocumentor/reflection-docblock/composer.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "name": "phpdocumentor/reflection-docblock", - "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", - "type": "library", - "license": "MIT", - "authors": [ - { - "name": "Mike van Riel", - "email": "me@mikevanriel.com" - } - ], - "require": { - "php": "^7.0", - "phpdocumentor/reflection-common": "^1.0.0 || ^2.0.0", - "phpdocumentor/type-resolver": "~0.4 || ^1.0.0", - "webmozart/assert": "^1.0" - }, - "autoload": { - "psr-4": {"phpDocumentor\\Reflection\\": ["src/"]} - }, - "autoload-dev": { - "psr-4": {"phpDocumentor\\Reflection\\": ["tests/unit"]} - }, - "require-dev": { - "mockery/mockery": "^1.0", - "phpunit/phpunit": "^6.4", - "doctrine/instantiator": "^1.0.5" - }, - "extra": { - "branch-alias": { - "dev-master": "4.x-dev" - } - } -} diff --git a/paragonik-backend/vendor/phpdocumentor/reflection-docblock/easy-coding-standard.neon b/paragonik-backend/vendor/phpdocumentor/reflection-docblock/easy-coding-standard.neon deleted file mode 100644 index 7c2ba6e..0000000 --- a/paragonik-backend/vendor/phpdocumentor/reflection-docblock/easy-coding-standard.neon +++ /dev/null @@ -1,31 +0,0 @@ -includes: - - temp/ecs/config/clean-code.neon - - temp/ecs/config/psr2-checkers.neon - - temp/ecs/config/spaces.neon - - temp/ecs/config/common.neon - -checkers: - PhpCsFixer\Fixer\Operator\ConcatSpaceFixer: - spacing: one - -parameters: - exclude_checkers: - # from temp/ecs/config/common.neon - - PhpCsFixer\Fixer\ClassNotation\OrderedClassElementsFixer - - PhpCsFixer\Fixer\PhpUnit\PhpUnitStrictFixer - - PhpCsFixer\Fixer\ControlStructure\YodaStyleFixer - # from temp/ecs/config/spaces.neon - - PhpCsFixer\Fixer\Operator\NotOperatorWithSuccessorSpaceFixer - - skip: - SlevomatCodingStandard\Sniffs\Classes\UnusedPrivateElementsSniff: - # WIP code - - src/DocBlock/StandardTagFactory.php - PHP_CodeSniffer\Standards\Generic\Sniffs\CodeAnalysis\EmptyStatementSniff: - # WIP code - - src/DocBlock/StandardTagFactory.php - PHP_CodeSniffer\Standards\Squiz\Sniffs\Classes\ValidClassNameSniff: - - src/DocBlock/Tags/Return_.php - - src/DocBlock/Tags/Var_.php - PHP_CodeSniffer\Standards\Generic\Sniffs\NamingConventions\CamelCapsFunctionNameSniff: - - */tests/** diff --git a/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock.php b/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock.php deleted file mode 100644 index 46605b7..0000000 --- a/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock.php +++ /dev/null @@ -1,236 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection; - -use phpDocumentor\Reflection\DocBlock\Tag; -use Webmozart\Assert\Assert; - -final class DocBlock -{ - /** @var string The opening line for this docblock. */ - private $summary = ''; - - /** @var DocBlock\Description The actual description for this docblock. */ - private $description = null; - - /** @var Tag[] An array containing all the tags in this docblock; except inline. */ - private $tags = []; - - /** @var Types\Context Information about the context of this DocBlock. */ - private $context = null; - - /** @var Location Information about the location of this DocBlock. */ - private $location = null; - - /** @var bool Is this DocBlock (the start of) a template? */ - private $isTemplateStart = false; - - /** @var bool Does this DocBlock signify the end of a DocBlock template? */ - private $isTemplateEnd = false; - - /** - * @param string $summary - * @param DocBlock\Description $description - * @param DocBlock\Tag[] $tags - * @param Types\Context $context The context in which the DocBlock occurs. - * @param Location $location The location within the file that this DocBlock occurs in. - * @param bool $isTemplateStart - * @param bool $isTemplateEnd - */ - public function __construct( - $summary = '', - DocBlock\Description $description = null, - array $tags = [], - Types\Context $context = null, - Location $location = null, - $isTemplateStart = false, - $isTemplateEnd = false - ) { - Assert::string($summary); - Assert::boolean($isTemplateStart); - Assert::boolean($isTemplateEnd); - Assert::allIsInstanceOf($tags, Tag::class); - - $this->summary = $summary; - $this->description = $description ?: new DocBlock\Description(''); - foreach ($tags as $tag) { - $this->addTag($tag); - } - - $this->context = $context; - $this->location = $location; - - $this->isTemplateEnd = $isTemplateEnd; - $this->isTemplateStart = $isTemplateStart; - } - - /** - * @return string - */ - public function getSummary() - { - return $this->summary; - } - - /** - * @return DocBlock\Description - */ - public function getDescription() - { - return $this->description; - } - - /** - * Returns the current context. - * - * @return Types\Context - */ - public function getContext() - { - return $this->context; - } - - /** - * Returns the current location. - * - * @return Location - */ - public function getLocation() - { - return $this->location; - } - - /** - * Returns whether this DocBlock is the start of a Template section. - * - * A Docblock may serve as template for a series of subsequent DocBlocks. This is indicated by a special marker - * (`#@+`) that is appended directly after the opening `/**` of a DocBlock. - * - * An example of such an opening is: - * - * ``` - * /**#@+ - * * My DocBlock - * * / - * ``` - * - * The description and tags (not the summary!) are copied onto all subsequent DocBlocks and also applied to all - * elements that follow until another DocBlock is found that contains the closing marker (`#@-`). - * - * @see self::isTemplateEnd() for the check whether a closing marker was provided. - * - * @return boolean - */ - public function isTemplateStart() - { - return $this->isTemplateStart; - } - - /** - * Returns whether this DocBlock is the end of a Template section. - * - * @see self::isTemplateStart() for a more complete description of the Docblock Template functionality. - * - * @return boolean - */ - public function isTemplateEnd() - { - return $this->isTemplateEnd; - } - - /** - * Returns the tags for this DocBlock. - * - * @return Tag[] - */ - public function getTags() - { - return $this->tags; - } - - /** - * Returns an array of tags matching the given name. If no tags are found - * an empty array is returned. - * - * @param string $name String to search by. - * - * @return Tag[] - */ - public function getTagsByName($name) - { - Assert::string($name); - - $result = []; - - /** @var Tag $tag */ - foreach ($this->getTags() as $tag) { - if ($tag->getName() !== $name) { - continue; - } - - $result[] = $tag; - } - - return $result; - } - - /** - * Checks if a tag of a certain type is present in this DocBlock. - * - * @param string $name Tag name to check for. - * - * @return bool - */ - public function hasTag($name) - { - Assert::string($name); - - /** @var Tag $tag */ - foreach ($this->getTags() as $tag) { - if ($tag->getName() === $name) { - return true; - } - } - - return false; - } - - /** - * Remove a tag from this DocBlock. - * - * @param Tag $tag The tag to remove. - * - * @return void - */ - public function removeTag(Tag $tagToRemove) - { - foreach ($this->tags as $key => $tag) { - if ($tag === $tagToRemove) { - unset($this->tags[$key]); - break; - } - } - } - - /** - * Adds a tag to this DocBlock. - * - * @param Tag $tag The tag to add. - * - * @return void - */ - private function addTag(Tag $tag) - { - $this->tags[] = $tag; - } -} diff --git a/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Description.php b/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Description.php deleted file mode 100644 index 25a79e0..0000000 --- a/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Description.php +++ /dev/null @@ -1,114 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\DocBlock; - -use phpDocumentor\Reflection\DocBlock\Tags\Formatter; -use phpDocumentor\Reflection\DocBlock\Tags\Formatter\PassthroughFormatter; -use Webmozart\Assert\Assert; - -/** - * Object representing to description for a DocBlock. - * - * A Description object can consist of plain text but can also include tags. A Description Formatter can then combine - * a body template with sprintf-style placeholders together with formatted tags in order to reconstitute a complete - * description text using the format that you would prefer. - * - * Because parsing a Description text can be a verbose process this is handled by the {@see DescriptionFactory}. It is - * thus recommended to use that to create a Description object, like this: - * - * $description = $descriptionFactory->create('This is a {@see Description}', $context); - * - * The description factory will interpret the given body and create a body template and list of tags from them, and pass - * that onto the constructor if this class. - * - * > The $context variable is a class of type {@see \phpDocumentor\Reflection\Types\Context} and contains the namespace - * > and the namespace aliases that apply to this DocBlock. These are used by the Factory to resolve and expand partial - * > type names and FQSENs. - * - * If you do not want to use the DescriptionFactory you can pass a body template and tag listing like this: - * - * $description = new Description( - * 'This is a %1$s', - * [ new See(new Fqsen('\phpDocumentor\Reflection\DocBlock\Description')) ] - * ); - * - * It is generally recommended to use the Factory as that will also apply escaping rules, while the Description object - * is mainly responsible for rendering. - * - * @see DescriptionFactory to create a new Description. - * @see Description\Formatter for the formatting of the body and tags. - */ -class Description -{ - /** @var string */ - private $bodyTemplate; - - /** @var Tag[] */ - private $tags; - - /** - * Initializes a Description with its body (template) and a listing of the tags used in the body template. - * - * @param string $bodyTemplate - * @param Tag[] $tags - */ - public function __construct($bodyTemplate, array $tags = []) - { - Assert::string($bodyTemplate); - - $this->bodyTemplate = $bodyTemplate; - $this->tags = $tags; - } - - /** - * Returns the tags for this DocBlock. - * - * @return Tag[] - */ - public function getTags() - { - return $this->tags; - } - - /** - * Renders this description as a string where the provided formatter will format the tags in the expected string - * format. - * - * @param Formatter|null $formatter - * - * @return string - */ - public function render(Formatter $formatter = null) - { - if ($formatter === null) { - $formatter = new PassthroughFormatter(); - } - - $tags = []; - foreach ($this->tags as $tag) { - $tags[] = '{' . $formatter->format($tag) . '}'; - } - - return vsprintf($this->bodyTemplate, $tags); - } - - /** - * Returns a plain string representation of this description. - * - * @return string - */ - public function __toString() - { - return $this->render(); - } -} diff --git a/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/DescriptionFactory.php b/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/DescriptionFactory.php deleted file mode 100644 index 48f9c21..0000000 --- a/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/DescriptionFactory.php +++ /dev/null @@ -1,191 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\DocBlock; - -use phpDocumentor\Reflection\Types\Context as TypeContext; - -/** - * Creates a new Description object given a body of text. - * - * Descriptions in phpDocumentor are somewhat complex entities as they can contain one or more tags inside their - * body that can be replaced with a readable output. The replacing is done by passing a Formatter object to the - * Description object's `render` method. - * - * In addition to the above does a Description support two types of escape sequences: - * - * 1. `{@}` to escape the `@` character to prevent it from being interpreted as part of a tag, i.e. `{{@}link}` - * 2. `{}` to escape the `}` character, this can be used if you want to use the `}` character in the description - * of an inline tag. - * - * If a body consists of multiple lines then this factory will also remove any superfluous whitespace at the beginning - * of each line while maintaining any indentation that is used. This will prevent formatting parsers from tripping - * over unexpected spaces as can be observed with tag descriptions. - */ -class DescriptionFactory -{ - /** @var TagFactory */ - private $tagFactory; - - /** - * Initializes this factory with the means to construct (inline) tags. - * - * @param TagFactory $tagFactory - */ - public function __construct(TagFactory $tagFactory) - { - $this->tagFactory = $tagFactory; - } - - /** - * Returns the parsed text of this description. - * - * @param string $contents - * @param TypeContext $context - * - * @return Description - */ - public function create($contents, TypeContext $context = null) - { - list($text, $tags) = $this->parse($this->lex($contents), $context); - - return new Description($text, $tags); - } - - /** - * Strips the contents from superfluous whitespace and splits the description into a series of tokens. - * - * @param string $contents - * - * @return string[] A series of tokens of which the description text is composed. - */ - private function lex($contents) - { - $contents = $this->removeSuperfluousStartingWhitespace($contents); - - // performance optimalization; if there is no inline tag, don't bother splitting it up. - if (strpos($contents, '{@') === false) { - return [$contents]; - } - - return preg_split( - '/\{ - # "{@}" is not a valid inline tag. This ensures that we do not treat it as one, but treat it literally. - (?!@\}) - # We want to capture the whole tag line, but without the inline tag delimiters. - (\@ - # Match everything up to the next delimiter. - [^{}]* - # Nested inline tag content should not be captured, or it will appear in the result separately. - (?: - # Match nested inline tags. - (?: - # Because we did not catch the tag delimiters earlier, we must be explicit with them here. - # Notice that this also matches "{}", as a way to later introduce it as an escape sequence. - \{(?1)?\} - | - # Make sure we match hanging "{". - \{ - ) - # Match content after the nested inline tag. - [^{}]* - )* # If there are more inline tags, match them as well. We use "*" since there may not be any - # nested inline tags. - ) - \}/Sux', - $contents, - null, - PREG_SPLIT_DELIM_CAPTURE - ); - } - - /** - * Parses the stream of tokens in to a new set of tokens containing Tags. - * - * @param string[] $tokens - * @param TypeContext $context - * - * @return string[]|Tag[] - */ - private function parse($tokens, TypeContext $context) - { - $count = count($tokens); - $tagCount = 0; - $tags = []; - - for ($i = 1; $i < $count; $i += 2) { - $tags[] = $this->tagFactory->create($tokens[$i], $context); - $tokens[$i] = '%' . ++$tagCount . '$s'; - } - - //In order to allow "literal" inline tags, the otherwise invalid - //sequence "{@}" is changed to "@", and "{}" is changed to "}". - //"%" is escaped to "%%" because of vsprintf. - //See unit tests for examples. - for ($i = 0; $i < $count; $i += 2) { - $tokens[$i] = str_replace(['{@}', '{}', '%'], ['@', '}', '%%'], $tokens[$i]); - } - - return [implode('', $tokens), $tags]; - } - - /** - * Removes the superfluous from a multi-line description. - * - * When a description has more than one line then it can happen that the second and subsequent lines have an - * additional indentation. This is commonly in use with tags like this: - * - * {@}since 1.1.0 This is an example - * description where we have an - * indentation in the second and - * subsequent lines. - * - * If we do not normalize the indentation then we have superfluous whitespace on the second and subsequent - * lines and this may cause rendering issues when, for example, using a Markdown converter. - * - * @param string $contents - * - * @return string - */ - private function removeSuperfluousStartingWhitespace($contents) - { - $lines = explode("\n", $contents); - - // if there is only one line then we don't have lines with superfluous whitespace and - // can use the contents as-is - if (count($lines) <= 1) { - return $contents; - } - - // determine how many whitespace characters need to be stripped - $startingSpaceCount = 9999999; - for ($i = 1; $i < count($lines); $i++) { - // lines with a no length do not count as they are not indented at all - if (strlen(trim($lines[$i])) === 0) { - continue; - } - - // determine the number of prefixing spaces by checking the difference in line length before and after - // an ltrim - $startingSpaceCount = min($startingSpaceCount, strlen($lines[$i]) - strlen(ltrim($lines[$i]))); - } - - // strip the number of spaces from each line - if ($startingSpaceCount > 0) { - for ($i = 1; $i < count($lines); $i++) { - $lines[$i] = substr($lines[$i], $startingSpaceCount); - } - } - - return implode("\n", $lines); - } -} diff --git a/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/ExampleFinder.php b/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/ExampleFinder.php deleted file mode 100644 index 571ed74..0000000 --- a/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/ExampleFinder.php +++ /dev/null @@ -1,170 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\DocBlock; - -use phpDocumentor\Reflection\DocBlock\Tags\Example; - -/** - * Class used to find an example file's location based on a given ExampleDescriptor. - */ -class ExampleFinder -{ - /** @var string */ - private $sourceDirectory = ''; - - /** @var string[] */ - private $exampleDirectories = []; - - /** - * Attempts to find the example contents for the given descriptor. - * - * @param Example $example - * - * @return string - */ - public function find(Example $example) - { - $filename = $example->getFilePath(); - - $file = $this->getExampleFileContents($filename); - if (!$file) { - return "** File not found : {$filename} **"; - } - - return implode('', array_slice($file, $example->getStartingLine() - 1, $example->getLineCount())); - } - - /** - * Registers the project's root directory where an 'examples' folder can be expected. - * - * @param string $directory - * - * @return void - */ - public function setSourceDirectory($directory = '') - { - $this->sourceDirectory = $directory; - } - - /** - * Returns the project's root directory where an 'examples' folder can be expected. - * - * @return string - */ - public function getSourceDirectory() - { - return $this->sourceDirectory; - } - - /** - * Registers a series of directories that may contain examples. - * - * @param string[] $directories - */ - public function setExampleDirectories(array $directories) - { - $this->exampleDirectories = $directories; - } - - /** - * Returns a series of directories that may contain examples. - * - * @return string[] - */ - public function getExampleDirectories() - { - return $this->exampleDirectories; - } - - /** - * Attempts to find the requested example file and returns its contents or null if no file was found. - * - * This method will try several methods in search of the given example file, the first one it encounters is - * returned: - * - * 1. Iterates through all examples folders for the given filename - * 2. Checks the source folder for the given filename - * 3. Checks the 'examples' folder in the current working directory for examples - * 4. Checks the path relative to the current working directory for the given filename - * - * @param string $filename - * - * @return string|null - */ - private function getExampleFileContents($filename) - { - $normalizedPath = null; - - foreach ($this->exampleDirectories as $directory) { - $exampleFileFromConfig = $this->constructExamplePath($directory, $filename); - if (is_readable($exampleFileFromConfig)) { - $normalizedPath = $exampleFileFromConfig; - break; - } - } - - if (!$normalizedPath) { - if (is_readable($this->getExamplePathFromSource($filename))) { - $normalizedPath = $this->getExamplePathFromSource($filename); - } elseif (is_readable($this->getExamplePathFromExampleDirectory($filename))) { - $normalizedPath = $this->getExamplePathFromExampleDirectory($filename); - } elseif (is_readable($filename)) { - $normalizedPath = $filename; - } - } - - return $normalizedPath && is_readable($normalizedPath) ? file($normalizedPath) : null; - } - - /** - * Get example filepath based on the example directory inside your project. - * - * @param string $file - * - * @return string - */ - private function getExamplePathFromExampleDirectory($file) - { - return getcwd() . DIRECTORY_SEPARATOR . 'examples' . DIRECTORY_SEPARATOR . $file; - } - - /** - * Returns a path to the example file in the given directory.. - * - * @param string $directory - * @param string $file - * - * @return string - */ - private function constructExamplePath($directory, $file) - { - return rtrim($directory, '\\/') . DIRECTORY_SEPARATOR . $file; - } - - /** - * Get example filepath based on sourcecode. - * - * @param string $file - * - * @return string - */ - private function getExamplePathFromSource($file) - { - return sprintf( - '%s%s%s', - trim($this->getSourceDirectory(), '\\/'), - DIRECTORY_SEPARATOR, - trim($file, '"') - ); - } -} diff --git a/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Serializer.php b/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Serializer.php deleted file mode 100644 index 0f355f5..0000000 --- a/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Serializer.php +++ /dev/null @@ -1,155 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\DocBlock; - -use phpDocumentor\Reflection\DocBlock; -use Webmozart\Assert\Assert; - -/** - * Converts a DocBlock back from an object to a complete DocComment including Asterisks. - */ -class Serializer -{ - /** @var string The string to indent the comment with. */ - protected $indentString = ' '; - - /** @var int The number of times the indent string is repeated. */ - protected $indent = 0; - - /** @var bool Whether to indent the first line with the given indent amount and string. */ - protected $isFirstLineIndented = true; - - /** @var int|null The max length of a line. */ - protected $lineLength = null; - - /** @var DocBlock\Tags\Formatter A custom tag formatter. */ - protected $tagFormatter = null; - - /** - * Create a Serializer instance. - * - * @param int $indent The number of times the indent string is repeated. - * @param string $indentString The string to indent the comment with. - * @param bool $indentFirstLine Whether to indent the first line. - * @param int|null $lineLength The max length of a line or NULL to disable line wrapping. - * @param DocBlock\Tags\Formatter $tagFormatter A custom tag formatter, defaults to PassthroughFormatter. - */ - public function __construct($indent = 0, $indentString = ' ', $indentFirstLine = true, $lineLength = null, $tagFormatter = null) - { - Assert::integer($indent); - Assert::string($indentString); - Assert::boolean($indentFirstLine); - Assert::nullOrInteger($lineLength); - Assert::nullOrIsInstanceOf($tagFormatter, 'phpDocumentor\Reflection\DocBlock\Tags\Formatter'); - - $this->indent = $indent; - $this->indentString = $indentString; - $this->isFirstLineIndented = $indentFirstLine; - $this->lineLength = $lineLength; - $this->tagFormatter = $tagFormatter ?: new DocBlock\Tags\Formatter\PassthroughFormatter(); - } - - /** - * Generate a DocBlock comment. - * - * @param DocBlock $docblock The DocBlock to serialize. - * - * @return string The serialized doc block. - */ - public function getDocComment(DocBlock $docblock) - { - $indent = str_repeat($this->indentString, $this->indent); - $firstIndent = $this->isFirstLineIndented ? $indent : ''; - // 3 === strlen(' * ') - $wrapLength = $this->lineLength ? $this->lineLength - strlen($indent) - 3 : null; - - $text = $this->removeTrailingSpaces( - $indent, - $this->addAsterisksForEachLine( - $indent, - $this->getSummaryAndDescriptionTextBlock($docblock, $wrapLength) - ) - ); - - $comment = "{$firstIndent}/**\n"; - if ($text) { - $comment .= "{$indent} * {$text}\n"; - $comment .= "{$indent} *\n"; - } - - $comment = $this->addTagBlock($docblock, $wrapLength, $indent, $comment); - $comment .= $indent . ' */'; - - return $comment; - } - - /** - * @param $indent - * @param $text - * @return mixed - */ - private function removeTrailingSpaces($indent, $text) - { - return str_replace("\n{$indent} * \n", "\n{$indent} *\n", $text); - } - - /** - * @param $indent - * @param $text - * @return mixed - */ - private function addAsterisksForEachLine($indent, $text) - { - return str_replace("\n", "\n{$indent} * ", $text); - } - - /** - * @param DocBlock $docblock - * @param $wrapLength - * @return string - */ - private function getSummaryAndDescriptionTextBlock(DocBlock $docblock, $wrapLength) - { - $text = $docblock->getSummary() . ((string)$docblock->getDescription() ? "\n\n" . $docblock->getDescription() - : ''); - if ($wrapLength !== null) { - $text = wordwrap($text, $wrapLength); - return $text; - } - - return $text; - } - - /** - * @param DocBlock $docblock - * @param $wrapLength - * @param $indent - * @param $comment - * @return string - */ - private function addTagBlock(DocBlock $docblock, $wrapLength, $indent, $comment) - { - foreach ($docblock->getTags() as $tag) { - $tagText = $this->tagFormatter->format($tag); - if ($wrapLength !== null) { - $tagText = wordwrap($tagText, $wrapLength); - } - - $tagText = str_replace("\n", "\n{$indent} * ", $tagText); - - $comment .= "{$indent} * {$tagText}\n"; - } - - return $comment; - } -} diff --git a/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/StandardTagFactory.php b/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/StandardTagFactory.php deleted file mode 100644 index 5a8143c..0000000 --- a/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/StandardTagFactory.php +++ /dev/null @@ -1,319 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\DocBlock; - -use phpDocumentor\Reflection\DocBlock\Tags\Factory\StaticMethod; -use phpDocumentor\Reflection\DocBlock\Tags\Generic; -use phpDocumentor\Reflection\FqsenResolver; -use phpDocumentor\Reflection\Types\Context as TypeContext; -use Webmozart\Assert\Assert; - -/** - * Creates a Tag object given the contents of a tag. - * - * This Factory is capable of determining the appropriate class for a tag and instantiate it using its `create` - * factory method. The `create` factory method of a Tag can have a variable number of arguments; this way you can - * pass the dependencies that you need to construct a tag object. - * - * > Important: each parameter in addition to the body variable for the `create` method must default to null, otherwise - * > it violates the constraint with the interface; it is recommended to use the {@see Assert::notNull()} method to - * > verify that a dependency is actually passed. - * - * This Factory also features a Service Locator component that is used to pass the right dependencies to the - * `create` method of a tag; each dependency should be registered as a service or as a parameter. - * - * When you want to use a Tag of your own with custom handling you need to call the `registerTagHandler` method, pass - * the name of the tag and a Fully Qualified Class Name pointing to a class that implements the Tag interface. - */ -final class StandardTagFactory implements TagFactory -{ - /** PCRE regular expression matching a tag name. */ - const REGEX_TAGNAME = '[\w\-\_\\\\]+'; - - /** - * @var string[] An array with a tag as a key, and an FQCN to a class that handles it as an array value. - */ - private $tagHandlerMappings = [ - 'author' => '\phpDocumentor\Reflection\DocBlock\Tags\Author', - 'covers' => '\phpDocumentor\Reflection\DocBlock\Tags\Covers', - 'deprecated' => '\phpDocumentor\Reflection\DocBlock\Tags\Deprecated', - // 'example' => '\phpDocumentor\Reflection\DocBlock\Tags\Example', - 'link' => '\phpDocumentor\Reflection\DocBlock\Tags\Link', - 'method' => '\phpDocumentor\Reflection\DocBlock\Tags\Method', - 'param' => '\phpDocumentor\Reflection\DocBlock\Tags\Param', - 'property-read' => '\phpDocumentor\Reflection\DocBlock\Tags\PropertyRead', - 'property' => '\phpDocumentor\Reflection\DocBlock\Tags\Property', - 'property-write' => '\phpDocumentor\Reflection\DocBlock\Tags\PropertyWrite', - 'return' => '\phpDocumentor\Reflection\DocBlock\Tags\Return_', - 'see' => '\phpDocumentor\Reflection\DocBlock\Tags\See', - 'since' => '\phpDocumentor\Reflection\DocBlock\Tags\Since', - 'source' => '\phpDocumentor\Reflection\DocBlock\Tags\Source', - 'throw' => '\phpDocumentor\Reflection\DocBlock\Tags\Throws', - 'throws' => '\phpDocumentor\Reflection\DocBlock\Tags\Throws', - 'uses' => '\phpDocumentor\Reflection\DocBlock\Tags\Uses', - 'var' => '\phpDocumentor\Reflection\DocBlock\Tags\Var_', - 'version' => '\phpDocumentor\Reflection\DocBlock\Tags\Version' - ]; - - /** - * @var \ReflectionParameter[][] a lazy-loading cache containing parameters for each tagHandler that has been used. - */ - private $tagHandlerParameterCache = []; - - /** - * @var FqsenResolver - */ - private $fqsenResolver; - - /** - * @var mixed[] an array representing a simple Service Locator where we can store parameters and - * services that can be inserted into the Factory Methods of Tag Handlers. - */ - private $serviceLocator = []; - - /** - * Initialize this tag factory with the means to resolve an FQSEN and optionally a list of tag handlers. - * - * If no tag handlers are provided than the default list in the {@see self::$tagHandlerMappings} property - * is used. - * - * @param FqsenResolver $fqsenResolver - * @param string[] $tagHandlers - * - * @see self::registerTagHandler() to add a new tag handler to the existing default list. - */ - public function __construct(FqsenResolver $fqsenResolver, array $tagHandlers = null) - { - $this->fqsenResolver = $fqsenResolver; - if ($tagHandlers !== null) { - $this->tagHandlerMappings = $tagHandlers; - } - - $this->addService($fqsenResolver, FqsenResolver::class); - } - - /** - * {@inheritDoc} - */ - public function create($tagLine, TypeContext $context = null) - { - if (! $context) { - $context = new TypeContext(''); - } - - list($tagName, $tagBody) = $this->extractTagParts($tagLine); - - if ($tagBody !== '' && $tagBody[0] === '[') { - throw new \InvalidArgumentException( - 'The tag "' . $tagLine . '" does not seem to be wellformed, please check it for errors' - ); - } - - return $this->createTag($tagBody, $tagName, $context); - } - - /** - * {@inheritDoc} - */ - public function addParameter($name, $value) - { - $this->serviceLocator[$name] = $value; - } - - /** - * {@inheritDoc} - */ - public function addService($service, $alias = null) - { - $this->serviceLocator[$alias ?: get_class($service)] = $service; - } - - /** - * {@inheritDoc} - */ - public function registerTagHandler($tagName, $handler) - { - Assert::stringNotEmpty($tagName); - Assert::stringNotEmpty($handler); - Assert::classExists($handler); - Assert::implementsInterface($handler, StaticMethod::class); - - if (strpos($tagName, '\\') && $tagName[0] !== '\\') { - throw new \InvalidArgumentException( - 'A namespaced tag must have a leading backslash as it must be fully qualified' - ); - } - - $this->tagHandlerMappings[$tagName] = $handler; - } - - /** - * Extracts all components for a tag. - * - * @param string $tagLine - * - * @return string[] - */ - private function extractTagParts($tagLine) - { - $matches = []; - if (! preg_match('/^@(' . self::REGEX_TAGNAME . ')(?:\s*([^\s].*)|$)/us', $tagLine, $matches)) { - throw new \InvalidArgumentException( - 'The tag "' . $tagLine . '" does not seem to be wellformed, please check it for errors' - ); - } - - if (count($matches) < 3) { - $matches[] = ''; - } - - return array_slice($matches, 1); - } - - /** - * Creates a new tag object with the given name and body or returns null if the tag name was recognized but the - * body was invalid. - * - * @param string $body - * @param string $name - * @param TypeContext $context - * - * @return Tag|null - */ - private function createTag($body, $name, TypeContext $context) - { - $handlerClassName = $this->findHandlerClassName($name, $context); - $arguments = $this->getArgumentsForParametersFromWiring( - $this->fetchParametersForHandlerFactoryMethod($handlerClassName), - $this->getServiceLocatorWithDynamicParameters($context, $name, $body) - ); - - return call_user_func_array([$handlerClassName, 'create'], $arguments); - } - - /** - * Determines the Fully Qualified Class Name of the Factory or Tag (containing a Factory Method `create`). - * - * @param string $tagName - * @param TypeContext $context - * - * @return string - */ - private function findHandlerClassName($tagName, TypeContext $context) - { - $handlerClassName = Generic::class; - if (isset($this->tagHandlerMappings[$tagName])) { - $handlerClassName = $this->tagHandlerMappings[$tagName]; - } elseif ($this->isAnnotation($tagName)) { - // TODO: Annotation support is planned for a later stage and as such is disabled for now - // $tagName = (string)$this->fqsenResolver->resolve($tagName, $context); - // if (isset($this->annotationMappings[$tagName])) { - // $handlerClassName = $this->annotationMappings[$tagName]; - // } - } - - return $handlerClassName; - } - - /** - * Retrieves the arguments that need to be passed to the Factory Method with the given Parameters. - * - * @param \ReflectionParameter[] $parameters - * @param mixed[] $locator - * - * @return mixed[] A series of values that can be passed to the Factory Method of the tag whose parameters - * is provided with this method. - */ - private function getArgumentsForParametersFromWiring($parameters, $locator) - { - $arguments = []; - foreach ($parameters as $index => $parameter) { - $typeHint = $parameter->getClass() ? $parameter->getClass()->getName() : null; - if (isset($locator[$typeHint])) { - $arguments[] = $locator[$typeHint]; - continue; - } - - $parameterName = $parameter->getName(); - if (isset($locator[$parameterName])) { - $arguments[] = $locator[$parameterName]; - continue; - } - - $arguments[] = null; - } - - return $arguments; - } - - /** - * Retrieves a series of ReflectionParameter objects for the static 'create' method of the given - * tag handler class name. - * - * @param string $handlerClassName - * - * @return \ReflectionParameter[] - */ - private function fetchParametersForHandlerFactoryMethod($handlerClassName) - { - if (! isset($this->tagHandlerParameterCache[$handlerClassName])) { - $methodReflection = new \ReflectionMethod($handlerClassName, 'create'); - $this->tagHandlerParameterCache[$handlerClassName] = $methodReflection->getParameters(); - } - - return $this->tagHandlerParameterCache[$handlerClassName]; - } - - /** - * Returns a copy of this class' Service Locator with added dynamic parameters, such as the tag's name, body and - * Context. - * - * @param TypeContext $context The Context (namespace and aliasses) that may be passed and is used to resolve FQSENs. - * @param string $tagName The name of the tag that may be passed onto the factory method of the Tag class. - * @param string $tagBody The body of the tag that may be passed onto the factory method of the Tag class. - * - * @return mixed[] - */ - private function getServiceLocatorWithDynamicParameters(TypeContext $context, $tagName, $tagBody) - { - $locator = array_merge( - $this->serviceLocator, - [ - 'name' => $tagName, - 'body' => $tagBody, - TypeContext::class => $context - ] - ); - - return $locator; - } - - /** - * Returns whether the given tag belongs to an annotation. - * - * @param string $tagContent - * - * @todo this method should be populated once we implement Annotation notation support. - * - * @return bool - */ - private function isAnnotation($tagContent) - { - // 1. Contains a namespace separator - // 2. Contains parenthesis - // 3. Is present in a list of known annotations (make the algorithm smart by first checking is the last part - // of the annotation class name matches the found tag name - - return false; - } -} diff --git a/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tag.php b/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tag.php deleted file mode 100644 index e765367..0000000 --- a/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tag.php +++ /dev/null @@ -1,26 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\DocBlock; - -use phpDocumentor\Reflection\DocBlock\Tags\Formatter; - -interface Tag -{ - public function getName(); - - public static function create($body); - - public function render(Formatter $formatter = null); - - public function __toString(); -} diff --git a/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/TagFactory.php b/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/TagFactory.php deleted file mode 100644 index 3c1d113..0000000 --- a/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/TagFactory.php +++ /dev/null @@ -1,93 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\DocBlock; - -use phpDocumentor\Reflection\Types\Context as TypeContext; - -interface TagFactory -{ - /** - * Adds a parameter to the service locator that can be injected in a tag's factory method. - * - * When calling a tag's "create" method we always check the signature for dependencies to inject. One way is to - * typehint a parameter in the signature so that we can use that interface or class name to inject a dependency - * (see {@see addService()} for more information on that). - * - * Another way is to check the name of the argument against the names in the Service Locator. With this method - * you can add a variable that will be inserted when a tag's create method is not typehinted and has a matching - * name. - * - * Be aware that there are two reserved names: - * - * - name, representing the name of the tag. - * - body, representing the complete body of the tag. - * - * These parameters are injected at the last moment and will override any existing parameter with those names. - * - * @param string $name - * @param mixed $value - * - * @return void - */ - public function addParameter($name, $value); - - /** - * Registers a service with the Service Locator using the FQCN of the class or the alias, if provided. - * - * When calling a tag's "create" method we always check the signature for dependencies to inject. If a parameter - * has a typehint then the ServiceLocator is queried to see if a Service is registered for that typehint. - * - * Because interfaces are regularly used as type-hints this method provides an alias parameter; if the FQCN of the - * interface is passed as alias then every time that interface is requested the provided service will be returned. - * - * @param object $service - * @param string $alias - * - * @return void - */ - public function addService($service); - - /** - * Factory method responsible for instantiating the correct sub type. - * - * @param string $tagLine The text for this tag, including description. - * @param TypeContext $context - * - * @throws \InvalidArgumentException if an invalid tag line was presented. - * - * @return Tag A new tag object. - */ - public function create($tagLine, TypeContext $context = null); - - /** - * Registers a handler for tags. - * - * If you want to use your own tags then you can use this method to instruct the TagFactory to register the name - * of a tag with the FQCN of a 'Tag Handler'. The Tag handler should implement the {@see Tag} interface (and thus - * the create method). - * - * @param string $tagName Name of tag to register a handler for. When registering a namespaced tag, the full - * name, along with a prefixing slash MUST be provided. - * @param string $handler FQCN of handler. - * - * @throws \InvalidArgumentException if the tag name is not a string - * @throws \InvalidArgumentException if the tag name is namespaced (contains backslashes) but does not start with - * a backslash - * @throws \InvalidArgumentException if the handler is not a string - * @throws \InvalidArgumentException if the handler is not an existing class - * @throws \InvalidArgumentException if the handler does not implement the {@see Tag} interface - * - * @return void - */ - public function registerTagHandler($tagName, $handler); -} diff --git a/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Author.php b/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Author.php deleted file mode 100644 index 29d7f1d..0000000 --- a/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Author.php +++ /dev/null @@ -1,100 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\DocBlock\Tags; - -use Webmozart\Assert\Assert; - -/** - * Reflection class for an {@}author tag in a Docblock. - */ -final class Author extends BaseTag implements Factory\StaticMethod -{ - /** @var string register that this is the author tag. */ - protected $name = 'author'; - - /** @var string The name of the author */ - private $authorName = ''; - - /** @var string The email of the author */ - private $authorEmail = ''; - - /** - * Initializes this tag with the author name and e-mail. - * - * @param string $authorName - * @param string $authorEmail - */ - public function __construct($authorName, $authorEmail) - { - Assert::string($authorName); - Assert::string($authorEmail); - if ($authorEmail && !filter_var($authorEmail, FILTER_VALIDATE_EMAIL)) { - throw new \InvalidArgumentException('The author tag does not have a valid e-mail address'); - } - - $this->authorName = $authorName; - $this->authorEmail = $authorEmail; - } - - /** - * Gets the author's name. - * - * @return string The author's name. - */ - public function getAuthorName() - { - return $this->authorName; - } - - /** - * Returns the author's email. - * - * @return string The author's email. - */ - public function getEmail() - { - return $this->authorEmail; - } - - /** - * Returns this tag in string form. - * - * @return string - */ - public function __toString() - { - return $this->authorName . (strlen($this->authorEmail) ? ' <' . $this->authorEmail . '>' : ''); - } - - /** - * Attempts to create a new Author object based on †he tag body. - * - * @param string $body - * - * @return static - */ - public static function create($body) - { - Assert::string($body); - - $splitTagContent = preg_match('/^([^\<]*)(?:\<([^\>]*)\>)?$/u', $body, $matches); - if (!$splitTagContent) { - return null; - } - - $authorName = trim($matches[1]); - $email = isset($matches[2]) ? trim($matches[2]) : ''; - - return new static($authorName, $email); - } -} diff --git a/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/BaseTag.php b/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/BaseTag.php deleted file mode 100644 index 14bb717..0000000 --- a/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/BaseTag.php +++ /dev/null @@ -1,52 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\DocBlock\Tags; - -use phpDocumentor\Reflection\DocBlock; -use phpDocumentor\Reflection\DocBlock\Description; - -/** - * Parses a tag definition for a DocBlock. - */ -abstract class BaseTag implements DocBlock\Tag -{ - /** @var string Name of the tag */ - protected $name = ''; - - /** @var Description|null Description of the tag. */ - protected $description; - - /** - * Gets the name of this tag. - * - * @return string The name of this tag. - */ - public function getName() - { - return $this->name; - } - - public function getDescription() - { - return $this->description; - } - - public function render(Formatter $formatter = null) - { - if ($formatter === null) { - $formatter = new Formatter\PassthroughFormatter(); - } - - return $formatter->format($this); - } -} diff --git a/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Covers.php b/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Covers.php deleted file mode 100644 index 8d65403..0000000 --- a/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Covers.php +++ /dev/null @@ -1,83 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\DocBlock\Tags; - -use phpDocumentor\Reflection\DocBlock\Description; -use phpDocumentor\Reflection\DocBlock\DescriptionFactory; -use phpDocumentor\Reflection\Fqsen; -use phpDocumentor\Reflection\FqsenResolver; -use phpDocumentor\Reflection\Types\Context as TypeContext; -use Webmozart\Assert\Assert; - -/** - * Reflection class for a @covers tag in a Docblock. - */ -final class Covers extends BaseTag implements Factory\StaticMethod -{ - protected $name = 'covers'; - - /** @var Fqsen */ - private $refers = null; - - /** - * Initializes this tag. - * - * @param Fqsen $refers - * @param Description $description - */ - public function __construct(Fqsen $refers, Description $description = null) - { - $this->refers = $refers; - $this->description = $description; - } - - /** - * {@inheritdoc} - */ - public static function create( - $body, - DescriptionFactory $descriptionFactory = null, - FqsenResolver $resolver = null, - TypeContext $context = null - ) { - Assert::string($body); - Assert::notEmpty($body); - - $parts = preg_split('/\s+/Su', $body, 2); - - return new static( - $resolver->resolve($parts[0], $context), - $descriptionFactory->create(isset($parts[1]) ? $parts[1] : '', $context) - ); - } - - /** - * Returns the structural element this tag refers to. - * - * @return Fqsen - */ - public function getReference() - { - return $this->refers; - } - - /** - * Returns a string representation of this tag. - * - * @return string - */ - public function __toString() - { - return $this->refers . ($this->description ? ' ' . $this->description->render() : ''); - } -} diff --git a/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Deprecated.php b/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Deprecated.php deleted file mode 100644 index 822c305..0000000 --- a/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Deprecated.php +++ /dev/null @@ -1,97 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\DocBlock\Tags; - -use phpDocumentor\Reflection\DocBlock\Description; -use phpDocumentor\Reflection\DocBlock\DescriptionFactory; -use phpDocumentor\Reflection\Types\Context as TypeContext; -use Webmozart\Assert\Assert; - -/** - * Reflection class for a {@}deprecated tag in a Docblock. - */ -final class Deprecated extends BaseTag implements Factory\StaticMethod -{ - protected $name = 'deprecated'; - - /** - * PCRE regular expression matching a version vector. - * Assumes the "x" modifier. - */ - const REGEX_VECTOR = '(?: - # Normal release vectors. - \d\S* - | - # VCS version vectors. Per PHPCS, they are expected to - # follow the form of the VCS name, followed by ":", followed - # by the version vector itself. - # By convention, popular VCSes like CVS, SVN and GIT use "$" - # around the actual version vector. - [^\s\:]+\:\s*\$[^\$]+\$ - )'; - - /** @var string The version vector. */ - private $version = ''; - - public function __construct($version = null, Description $description = null) - { - Assert::nullOrStringNotEmpty($version); - - $this->version = $version; - $this->description = $description; - } - - /** - * @return static - */ - public static function create($body, DescriptionFactory $descriptionFactory = null, TypeContext $context = null) - { - Assert::nullOrString($body); - if (empty($body)) { - return new static(); - } - - $matches = []; - if (!preg_match('/^(' . self::REGEX_VECTOR . ')\s*(.+)?$/sux', $body, $matches)) { - return new static( - null, - null !== $descriptionFactory ? $descriptionFactory->create($body, $context) : null - ); - } - - return new static( - $matches[1], - $descriptionFactory->create(isset($matches[2]) ? $matches[2] : '', $context) - ); - } - - /** - * Gets the version section of the tag. - * - * @return string - */ - public function getVersion() - { - return $this->version; - } - - /** - * Returns a string representation for this tag. - * - * @return string - */ - public function __toString() - { - return $this->version . ($this->description ? ' ' . $this->description->render() : ''); - } -} diff --git a/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Example.php b/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Example.php deleted file mode 100644 index ecb199b..0000000 --- a/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Example.php +++ /dev/null @@ -1,176 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\DocBlock\Tags; - -use phpDocumentor\Reflection\DocBlock\Description; -use phpDocumentor\Reflection\DocBlock\Tag; -use Webmozart\Assert\Assert; - -/** - * Reflection class for a {@}example tag in a Docblock. - */ -final class Example extends BaseTag -{ - /** - * @var string Path to a file to use as an example. May also be an absolute URI. - */ - private $filePath; - - /** - * @var bool Whether the file path component represents an URI. This determines how the file portion - * appears at {@link getContent()}. - */ - private $isURI = false; - - /** - * @var int - */ - private $startingLine; - - /** - * @var int - */ - private $lineCount; - - public function __construct($filePath, $isURI, $startingLine, $lineCount, $description) - { - Assert::notEmpty($filePath); - Assert::integer($startingLine); - Assert::greaterThanEq($startingLine, 0); - - $this->filePath = $filePath; - $this->startingLine = $startingLine; - $this->lineCount = $lineCount; - $this->name = 'example'; - if ($description !== null) { - $this->description = trim($description); - } - - $this->isURI = $isURI; - } - - /** - * {@inheritdoc} - */ - public function getContent() - { - if (null === $this->description) { - $filePath = '"' . $this->filePath . '"'; - if ($this->isURI) { - $filePath = $this->isUriRelative($this->filePath) - ? str_replace('%2F', '/', rawurlencode($this->filePath)) - :$this->filePath; - } - - return trim($filePath . ' ' . parent::getDescription()); - } - - return $this->description; - } - - /** - * {@inheritdoc} - */ - public static function create($body) - { - // File component: File path in quotes or File URI / Source information - if (! preg_match('/^(?:\"([^\"]+)\"|(\S+))(?:\s+(.*))?$/sux', $body, $matches)) { - return null; - } - - $filePath = null; - $fileUri = null; - if ('' !== $matches[1]) { - $filePath = $matches[1]; - } else { - $fileUri = $matches[2]; - } - - $startingLine = 1; - $lineCount = null; - $description = null; - - if (array_key_exists(3, $matches)) { - $description = $matches[3]; - - // Starting line / Number of lines / Description - if (preg_match('/^([1-9]\d*)(?:\s+((?1))\s*)?(.*)$/sux', $matches[3], $contentMatches)) { - $startingLine = (int)$contentMatches[1]; - if (isset($contentMatches[2]) && $contentMatches[2] !== '') { - $lineCount = (int)$contentMatches[2]; - } - - if (array_key_exists(3, $contentMatches)) { - $description = $contentMatches[3]; - } - } - } - - return new static( - $filePath !== null?$filePath:$fileUri, - $fileUri !== null, - $startingLine, - $lineCount, - $description - ); - } - - /** - * Returns the file path. - * - * @return string Path to a file to use as an example. - * May also be an absolute URI. - */ - public function getFilePath() - { - return $this->filePath; - } - - /** - * Returns a string representation for this tag. - * - * @return string - */ - public function __toString() - { - return $this->filePath . ($this->description ? ' ' . $this->description : ''); - } - - /** - * Returns true if the provided URI is relative or contains a complete scheme (and thus is absolute). - * - * @param string $uri - * - * @return bool - */ - private function isUriRelative($uri) - { - return false === strpos($uri, ':'); - } - - /** - * @return int - */ - public function getStartingLine() - { - return $this->startingLine; - } - - /** - * @return int - */ - public function getLineCount() - { - return $this->lineCount; - } -} diff --git a/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Factory/StaticMethod.php b/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Factory/StaticMethod.php deleted file mode 100644 index 98aea45..0000000 --- a/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Factory/StaticMethod.php +++ /dev/null @@ -1,18 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\DocBlock\Tags\Factory; - -interface StaticMethod -{ - public static function create($body); -} diff --git a/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Factory/Strategy.php b/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Factory/Strategy.php deleted file mode 100644 index b9ca0b8..0000000 --- a/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Factory/Strategy.php +++ /dev/null @@ -1,18 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\DocBlock\Tags\Factory; - -interface Strategy -{ - public function create($body); -} diff --git a/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Formatter.php b/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Formatter.php deleted file mode 100644 index 64b2c60..0000000 --- a/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Formatter.php +++ /dev/null @@ -1,27 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\DocBlock\Tags; - -use phpDocumentor\Reflection\DocBlock\Tag; - -interface Formatter -{ - /** - * Formats a tag into a string representation according to a specific format, such as Markdown. - * - * @param Tag $tag - * - * @return string - */ - public function format(Tag $tag); -} diff --git a/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Formatter/AlignFormatter.php b/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Formatter/AlignFormatter.php deleted file mode 100644 index ceb40cc..0000000 --- a/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Formatter/AlignFormatter.php +++ /dev/null @@ -1,47 +0,0 @@ - - * @copyright 2017 Mike van Riel - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\DocBlock\Tags\Formatter; - -use phpDocumentor\Reflection\DocBlock\Tag; -use phpDocumentor\Reflection\DocBlock\Tags\Formatter; - -class AlignFormatter implements Formatter -{ - /** @var int The maximum tag name length. */ - protected $maxLen = 0; - - /** - * Constructor. - * - * @param Tag[] $tags All tags that should later be aligned with the formatter. - */ - public function __construct(array $tags) - { - foreach ($tags as $tag) { - $this->maxLen = max($this->maxLen, strlen($tag->getName())); - } - } - - /** - * Formats the given tag to return a simple plain text version. - * - * @param Tag $tag - * - * @return string - */ - public function format(Tag $tag) - { - return '@' . $tag->getName() . str_repeat(' ', $this->maxLen - strlen($tag->getName()) + 1) . (string)$tag; - } -} diff --git a/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Formatter/PassthroughFormatter.php b/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Formatter/PassthroughFormatter.php deleted file mode 100644 index 4e2c576..0000000 --- a/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Formatter/PassthroughFormatter.php +++ /dev/null @@ -1,31 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\DocBlock\Tags\Formatter; - -use phpDocumentor\Reflection\DocBlock\Tag; -use phpDocumentor\Reflection\DocBlock\Tags\Formatter; - -class PassthroughFormatter implements Formatter -{ - /** - * Formats the given tag to return a simple plain text version. - * - * @param Tag $tag - * - * @return string - */ - public function format(Tag $tag) - { - return trim('@' . $tag->getName() . ' ' . (string)$tag); - } -} diff --git a/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Generic.php b/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Generic.php deleted file mode 100644 index 88b4ebf..0000000 --- a/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Generic.php +++ /dev/null @@ -1,91 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\DocBlock\Tags; - -use phpDocumentor\Reflection\DocBlock\Description; -use phpDocumentor\Reflection\DocBlock\DescriptionFactory; -use phpDocumentor\Reflection\DocBlock\StandardTagFactory; -use phpDocumentor\Reflection\Types\Context as TypeContext; -use Webmozart\Assert\Assert; - -/** - * Parses a tag definition for a DocBlock. - */ -class Generic extends BaseTag implements Factory\StaticMethod -{ - /** - * Parses a tag and populates the member variables. - * - * @param string $name Name of the tag. - * @param Description $description The contents of the given tag. - */ - public function __construct($name, Description $description = null) - { - $this->validateTagName($name); - - $this->name = $name; - $this->description = $description; - } - - /** - * Creates a new tag that represents any unknown tag type. - * - * @param string $body - * @param string $name - * @param DescriptionFactory $descriptionFactory - * @param TypeContext $context - * - * @return static - */ - public static function create( - $body, - $name = '', - DescriptionFactory $descriptionFactory = null, - TypeContext $context = null - ) { - Assert::string($body); - Assert::stringNotEmpty($name); - Assert::notNull($descriptionFactory); - - $description = $descriptionFactory && $body !== "" ? $descriptionFactory->create($body, $context) : null; - - return new static($name, $description); - } - - /** - * Returns the tag as a serialized string - * - * @return string - */ - public function __toString() - { - return ($this->description ? $this->description->render() : ''); - } - - /** - * Validates if the tag name matches the expected format, otherwise throws an exception. - * - * @param string $name - * - * @return void - */ - private function validateTagName($name) - { - if (! preg_match('/^' . StandardTagFactory::REGEX_TAGNAME . '$/u', $name)) { - throw new \InvalidArgumentException( - 'The tag name "' . $name . '" is not wellformed. Tags may only consist of letters, underscores, ' - . 'hyphens and backslashes.' - ); - } - } -} diff --git a/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Link.php b/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Link.php deleted file mode 100644 index 9c0e367..0000000 --- a/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Link.php +++ /dev/null @@ -1,77 +0,0 @@ - - * @copyright 2010-2011 Mike van Riel / Naenius (http://www.naenius.com) - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\DocBlock\Tags; - -use phpDocumentor\Reflection\DocBlock\Description; -use phpDocumentor\Reflection\DocBlock\DescriptionFactory; -use phpDocumentor\Reflection\Types\Context as TypeContext; -use Webmozart\Assert\Assert; - -/** - * Reflection class for a @link tag in a Docblock. - */ -final class Link extends BaseTag implements Factory\StaticMethod -{ - protected $name = 'link'; - - /** @var string */ - private $link = ''; - - /** - * Initializes a link to a URL. - * - * @param string $link - * @param Description $description - */ - public function __construct($link, Description $description = null) - { - Assert::string($link); - - $this->link = $link; - $this->description = $description; - } - - /** - * {@inheritdoc} - */ - public static function create($body, DescriptionFactory $descriptionFactory = null, TypeContext $context = null) - { - Assert::string($body); - Assert::notNull($descriptionFactory); - - $parts = preg_split('/\s+/Su', $body, 2); - $description = isset($parts[1]) ? $descriptionFactory->create($parts[1], $context) : null; - - return new static($parts[0], $description); - } - - /** - * Gets the link - * - * @return string - */ - public function getLink() - { - return $this->link; - } - - /** - * Returns a string representation for this tag. - * - * @return string - */ - public function __toString() - { - return $this->link . ($this->description ? ' ' . $this->description->render() : ''); - } -} diff --git a/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Method.php b/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Method.php deleted file mode 100644 index 7522529..0000000 --- a/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Method.php +++ /dev/null @@ -1,242 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\DocBlock\Tags; - -use phpDocumentor\Reflection\DocBlock\Description; -use phpDocumentor\Reflection\DocBlock\DescriptionFactory; -use phpDocumentor\Reflection\Type; -use phpDocumentor\Reflection\TypeResolver; -use phpDocumentor\Reflection\Types\Context as TypeContext; -use phpDocumentor\Reflection\Types\Void_; -use Webmozart\Assert\Assert; - -/** - * Reflection class for an {@}method in a Docblock. - */ -final class Method extends BaseTag implements Factory\StaticMethod -{ - protected $name = 'method'; - - /** @var string */ - private $methodName = ''; - - /** @var string[] */ - private $arguments = []; - - /** @var bool */ - private $isStatic = false; - - /** @var Type */ - private $returnType; - - public function __construct( - $methodName, - array $arguments = [], - Type $returnType = null, - $static = false, - Description $description = null - ) { - Assert::stringNotEmpty($methodName); - Assert::boolean($static); - - if ($returnType === null) { - $returnType = new Void_(); - } - - $this->methodName = $methodName; - $this->arguments = $this->filterArguments($arguments); - $this->returnType = $returnType; - $this->isStatic = $static; - $this->description = $description; - } - - /** - * {@inheritdoc} - */ - public static function create( - $body, - TypeResolver $typeResolver = null, - DescriptionFactory $descriptionFactory = null, - TypeContext $context = null - ) { - Assert::stringNotEmpty($body); - Assert::allNotNull([ $typeResolver, $descriptionFactory ]); - - // 1. none or more whitespace - // 2. optionally the keyword "static" followed by whitespace - // 3. optionally a word with underscores followed by whitespace : as - // type for the return value - // 4. then optionally a word with underscores followed by () and - // whitespace : as method name as used by phpDocumentor - // 5. then a word with underscores, followed by ( and any character - // until a ) and whitespace : as method name with signature - // 6. any remaining text : as description - if (!preg_match( - '/^ - # Static keyword - # Declares a static method ONLY if type is also present - (?: - (static) - \s+ - )? - # Return type - (?: - ( - (?:[\w\|_\\\\]*\$this[\w\|_\\\\]*) - | - (?: - (?:[\w\|_\\\\]+) - # array notation - (?:\[\])* - )* - ) - \s+ - )? - # Legacy method name (not captured) - (?: - [\w_]+\(\)\s+ - )? - # Method name - ([\w\|_\\\\]+) - # Arguments - (?: - \(([^\)]*)\) - )? - \s* - # Description - (.*) - $/sux', - $body, - $matches - )) { - return null; - } - - list(, $static, $returnType, $methodName, $arguments, $description) = $matches; - - $static = $static === 'static'; - - if ($returnType === '') { - $returnType = 'void'; - } - - $returnType = $typeResolver->resolve($returnType, $context); - $description = $descriptionFactory->create($description, $context); - - if (is_string($arguments) && strlen($arguments) > 0) { - $arguments = explode(',', $arguments); - foreach ($arguments as &$argument) { - $argument = explode(' ', self::stripRestArg(trim($argument)), 2); - if ($argument[0][0] === '$') { - $argumentName = substr($argument[0], 1); - $argumentType = new Void_(); - } else { - $argumentType = $typeResolver->resolve($argument[0], $context); - $argumentName = ''; - if (isset($argument[1])) { - $argument[1] = self::stripRestArg($argument[1]); - $argumentName = substr($argument[1], 1); - } - } - - $argument = [ 'name' => $argumentName, 'type' => $argumentType]; - } - } else { - $arguments = []; - } - - return new static($methodName, $arguments, $returnType, $static, $description); - } - - /** - * Retrieves the method name. - * - * @return string - */ - public function getMethodName() - { - return $this->methodName; - } - - /** - * @return string[] - */ - public function getArguments() - { - return $this->arguments; - } - - /** - * Checks whether the method tag describes a static method or not. - * - * @return bool TRUE if the method declaration is for a static method, FALSE otherwise. - */ - public function isStatic() - { - return $this->isStatic; - } - - /** - * @return Type - */ - public function getReturnType() - { - return $this->returnType; - } - - public function __toString() - { - $arguments = []; - foreach ($this->arguments as $argument) { - $arguments[] = $argument['type'] . ' $' . $argument['name']; - } - - return trim(($this->isStatic() ? 'static ' : '') - . (string)$this->returnType . ' ' - . $this->methodName - . '(' . implode(', ', $arguments) . ')' - . ($this->description ? ' ' . $this->description->render() : '')); - } - - private function filterArguments($arguments) - { - foreach ($arguments as &$argument) { - if (is_string($argument)) { - $argument = [ 'name' => $argument ]; - } - - if (! isset($argument['type'])) { - $argument['type'] = new Void_(); - } - - $keys = array_keys($argument); - sort($keys); - if ($keys !== [ 'name', 'type' ]) { - throw new \InvalidArgumentException( - 'Arguments can only have the "name" and "type" fields, found: ' . var_export($keys, true) - ); - } - } - - return $arguments; - } - - private static function stripRestArg($argument) - { - if (strpos($argument, '...') === 0) { - $argument = trim(substr($argument, 3)); - } - - return $argument; - } -} diff --git a/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Param.php b/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Param.php deleted file mode 100644 index 7d699d8..0000000 --- a/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Param.php +++ /dev/null @@ -1,141 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\DocBlock\Tags; - -use phpDocumentor\Reflection\DocBlock\Description; -use phpDocumentor\Reflection\DocBlock\DescriptionFactory; -use phpDocumentor\Reflection\Type; -use phpDocumentor\Reflection\TypeResolver; -use phpDocumentor\Reflection\Types\Context as TypeContext; -use Webmozart\Assert\Assert; - -/** - * Reflection class for the {@}param tag in a Docblock. - */ -final class Param extends BaseTag implements Factory\StaticMethod -{ - /** @var string */ - protected $name = 'param'; - - /** @var Type */ - private $type; - - /** @var string */ - private $variableName = ''; - - /** @var bool determines whether this is a variadic argument */ - private $isVariadic = false; - - /** - * @param string $variableName - * @param Type $type - * @param bool $isVariadic - * @param Description $description - */ - public function __construct($variableName, Type $type = null, $isVariadic = false, Description $description = null) - { - Assert::string($variableName); - Assert::boolean($isVariadic); - - $this->variableName = $variableName; - $this->type = $type; - $this->isVariadic = $isVariadic; - $this->description = $description; - } - - /** - * {@inheritdoc} - */ - public static function create( - $body, - TypeResolver $typeResolver = null, - DescriptionFactory $descriptionFactory = null, - TypeContext $context = null - ) { - Assert::stringNotEmpty($body); - Assert::allNotNull([$typeResolver, $descriptionFactory]); - - $parts = preg_split('/(\s+)/Su', $body, 3, PREG_SPLIT_DELIM_CAPTURE); - $type = null; - $variableName = ''; - $isVariadic = false; - - // if the first item that is encountered is not a variable; it is a type - if (isset($parts[0]) && (strlen($parts[0]) > 0) && ($parts[0][0] !== '$')) { - $type = $typeResolver->resolve(array_shift($parts), $context); - array_shift($parts); - } - - // if the next item starts with a $ or ...$ it must be the variable name - if (isset($parts[0]) && (strlen($parts[0]) > 0) && ($parts[0][0] === '$' || substr($parts[0], 0, 4) === '...$')) { - $variableName = array_shift($parts); - array_shift($parts); - - if (substr($variableName, 0, 3) === '...') { - $isVariadic = true; - $variableName = substr($variableName, 3); - } - - if (substr($variableName, 0, 1) === '$') { - $variableName = substr($variableName, 1); - } - } - - $description = $descriptionFactory->create(implode('', $parts), $context); - - return new static($variableName, $type, $isVariadic, $description); - } - - /** - * Returns the variable's name. - * - * @return string - */ - public function getVariableName() - { - return $this->variableName; - } - - /** - * Returns the variable's type or null if unknown. - * - * @return Type|null - */ - public function getType() - { - return $this->type; - } - - /** - * Returns whether this tag is variadic. - * - * @return boolean - */ - public function isVariadic() - { - return $this->isVariadic; - } - - /** - * Returns a string representation for this tag. - * - * @return string - */ - public function __toString() - { - return ($this->type ? $this->type . ' ' : '') - . ($this->isVariadic() ? '...' : '') - . '$' . $this->variableName - . ($this->description ? ' ' . $this->description : ''); - } -} diff --git a/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Property.php b/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Property.php deleted file mode 100644 index f0ef7c0..0000000 --- a/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Property.php +++ /dev/null @@ -1,118 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\DocBlock\Tags; - -use phpDocumentor\Reflection\DocBlock\Description; -use phpDocumentor\Reflection\DocBlock\DescriptionFactory; -use phpDocumentor\Reflection\Type; -use phpDocumentor\Reflection\TypeResolver; -use phpDocumentor\Reflection\Types\Context as TypeContext; -use Webmozart\Assert\Assert; - -/** - * Reflection class for a {@}property tag in a Docblock. - */ -class Property extends BaseTag implements Factory\StaticMethod -{ - /** @var string */ - protected $name = 'property'; - - /** @var Type */ - private $type; - - /** @var string */ - protected $variableName = ''; - - /** - * @param string $variableName - * @param Type $type - * @param Description $description - */ - public function __construct($variableName, Type $type = null, Description $description = null) - { - Assert::string($variableName); - - $this->variableName = $variableName; - $this->type = $type; - $this->description = $description; - } - - /** - * {@inheritdoc} - */ - public static function create( - $body, - TypeResolver $typeResolver = null, - DescriptionFactory $descriptionFactory = null, - TypeContext $context = null - ) { - Assert::stringNotEmpty($body); - Assert::allNotNull([$typeResolver, $descriptionFactory]); - - $parts = preg_split('/(\s+)/Su', $body, 3, PREG_SPLIT_DELIM_CAPTURE); - $type = null; - $variableName = ''; - - // if the first item that is encountered is not a variable; it is a type - if (isset($parts[0]) && (strlen($parts[0]) > 0) && ($parts[0][0] !== '$')) { - $type = $typeResolver->resolve(array_shift($parts), $context); - array_shift($parts); - } - - // if the next item starts with a $ or ...$ it must be the variable name - if (isset($parts[0]) && (strlen($parts[0]) > 0) && ($parts[0][0] === '$')) { - $variableName = array_shift($parts); - array_shift($parts); - - if (substr($variableName, 0, 1) === '$') { - $variableName = substr($variableName, 1); - } - } - - $description = $descriptionFactory->create(implode('', $parts), $context); - - return new static($variableName, $type, $description); - } - - /** - * Returns the variable's name. - * - * @return string - */ - public function getVariableName() - { - return $this->variableName; - } - - /** - * Returns the variable's type or null if unknown. - * - * @return Type|null - */ - public function getType() - { - return $this->type; - } - - /** - * Returns a string representation for this tag. - * - * @return string - */ - public function __toString() - { - return ($this->type ? $this->type . ' ' : '') - . '$' . $this->variableName - . ($this->description ? ' ' . $this->description : ''); - } -} diff --git a/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/PropertyRead.php b/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/PropertyRead.php deleted file mode 100644 index e41c0c1..0000000 --- a/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/PropertyRead.php +++ /dev/null @@ -1,118 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\DocBlock\Tags; - -use phpDocumentor\Reflection\DocBlock\Description; -use phpDocumentor\Reflection\DocBlock\DescriptionFactory; -use phpDocumentor\Reflection\Type; -use phpDocumentor\Reflection\TypeResolver; -use phpDocumentor\Reflection\Types\Context as TypeContext; -use Webmozart\Assert\Assert; - -/** - * Reflection class for a {@}property-read tag in a Docblock. - */ -class PropertyRead extends BaseTag implements Factory\StaticMethod -{ - /** @var string */ - protected $name = 'property-read'; - - /** @var Type */ - private $type; - - /** @var string */ - protected $variableName = ''; - - /** - * @param string $variableName - * @param Type $type - * @param Description $description - */ - public function __construct($variableName, Type $type = null, Description $description = null) - { - Assert::string($variableName); - - $this->variableName = $variableName; - $this->type = $type; - $this->description = $description; - } - - /** - * {@inheritdoc} - */ - public static function create( - $body, - TypeResolver $typeResolver = null, - DescriptionFactory $descriptionFactory = null, - TypeContext $context = null - ) { - Assert::stringNotEmpty($body); - Assert::allNotNull([$typeResolver, $descriptionFactory]); - - $parts = preg_split('/(\s+)/Su', $body, 3, PREG_SPLIT_DELIM_CAPTURE); - $type = null; - $variableName = ''; - - // if the first item that is encountered is not a variable; it is a type - if (isset($parts[0]) && (strlen($parts[0]) > 0) && ($parts[0][0] !== '$')) { - $type = $typeResolver->resolve(array_shift($parts), $context); - array_shift($parts); - } - - // if the next item starts with a $ or ...$ it must be the variable name - if (isset($parts[0]) && (strlen($parts[0]) > 0) && ($parts[0][0] === '$')) { - $variableName = array_shift($parts); - array_shift($parts); - - if (substr($variableName, 0, 1) === '$') { - $variableName = substr($variableName, 1); - } - } - - $description = $descriptionFactory->create(implode('', $parts), $context); - - return new static($variableName, $type, $description); - } - - /** - * Returns the variable's name. - * - * @return string - */ - public function getVariableName() - { - return $this->variableName; - } - - /** - * Returns the variable's type or null if unknown. - * - * @return Type|null - */ - public function getType() - { - return $this->type; - } - - /** - * Returns a string representation for this tag. - * - * @return string - */ - public function __toString() - { - return ($this->type ? $this->type . ' ' : '') - . '$' . $this->variableName - . ($this->description ? ' ' . $this->description : ''); - } -} diff --git a/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/PropertyWrite.php b/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/PropertyWrite.php deleted file mode 100644 index cfdb0ed..0000000 --- a/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/PropertyWrite.php +++ /dev/null @@ -1,118 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\DocBlock\Tags; - -use phpDocumentor\Reflection\DocBlock\Description; -use phpDocumentor\Reflection\DocBlock\DescriptionFactory; -use phpDocumentor\Reflection\Type; -use phpDocumentor\Reflection\TypeResolver; -use phpDocumentor\Reflection\Types\Context as TypeContext; -use Webmozart\Assert\Assert; - -/** - * Reflection class for a {@}property-write tag in a Docblock. - */ -class PropertyWrite extends BaseTag implements Factory\StaticMethod -{ - /** @var string */ - protected $name = 'property-write'; - - /** @var Type */ - private $type; - - /** @var string */ - protected $variableName = ''; - - /** - * @param string $variableName - * @param Type $type - * @param Description $description - */ - public function __construct($variableName, Type $type = null, Description $description = null) - { - Assert::string($variableName); - - $this->variableName = $variableName; - $this->type = $type; - $this->description = $description; - } - - /** - * {@inheritdoc} - */ - public static function create( - $body, - TypeResolver $typeResolver = null, - DescriptionFactory $descriptionFactory = null, - TypeContext $context = null - ) { - Assert::stringNotEmpty($body); - Assert::allNotNull([$typeResolver, $descriptionFactory]); - - $parts = preg_split('/(\s+)/Su', $body, 3, PREG_SPLIT_DELIM_CAPTURE); - $type = null; - $variableName = ''; - - // if the first item that is encountered is not a variable; it is a type - if (isset($parts[0]) && (strlen($parts[0]) > 0) && ($parts[0][0] !== '$')) { - $type = $typeResolver->resolve(array_shift($parts), $context); - array_shift($parts); - } - - // if the next item starts with a $ or ...$ it must be the variable name - if (isset($parts[0]) && (strlen($parts[0]) > 0) && ($parts[0][0] === '$')) { - $variableName = array_shift($parts); - array_shift($parts); - - if (substr($variableName, 0, 1) === '$') { - $variableName = substr($variableName, 1); - } - } - - $description = $descriptionFactory->create(implode('', $parts), $context); - - return new static($variableName, $type, $description); - } - - /** - * Returns the variable's name. - * - * @return string - */ - public function getVariableName() - { - return $this->variableName; - } - - /** - * Returns the variable's type or null if unknown. - * - * @return Type|null - */ - public function getType() - { - return $this->type; - } - - /** - * Returns a string representation for this tag. - * - * @return string - */ - public function __toString() - { - return ($this->type ? $this->type . ' ' : '') - . '$' . $this->variableName - . ($this->description ? ' ' . $this->description : ''); - } -} diff --git a/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Reference/Fqsen.php b/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Reference/Fqsen.php deleted file mode 100644 index dc7b8b6..0000000 --- a/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Reference/Fqsen.php +++ /dev/null @@ -1,42 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\DocBlock\Tags\Reference; - -use phpDocumentor\Reflection\Fqsen as RealFqsen; - -/** - * Fqsen reference used by {@see phpDocumentor\Reflection\DocBlock\Tags\See} - */ -final class Fqsen implements Reference -{ - /** - * @var RealFqsen - */ - private $fqsen; - - /** - * Fqsen constructor. - */ - public function __construct(RealFqsen $fqsen) - { - $this->fqsen = $fqsen; - } - - /** - * @return string string representation of the referenced fqsen - */ - public function __toString() - { - return (string)$this->fqsen; - } -} diff --git a/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Reference/Reference.php b/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Reference/Reference.php deleted file mode 100644 index a3ffd24..0000000 --- a/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Reference/Reference.php +++ /dev/null @@ -1,21 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\DocBlock\Tags\Reference; - -/** - * Interface for references in {@see phpDocumentor\Reflection\DocBlock\Tags\See} - */ -interface Reference -{ - public function __toString(); -} diff --git a/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Reference/Url.php b/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Reference/Url.php deleted file mode 100644 index 2671d5e..0000000 --- a/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Reference/Url.php +++ /dev/null @@ -1,40 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\DocBlock\Tags\Reference; - -use Webmozart\Assert\Assert; - -/** - * Url reference used by {@see phpDocumentor\Reflection\DocBlock\Tags\See} - */ -final class Url implements Reference -{ - /** - * @var string - */ - private $uri; - - /** - * Url constructor. - */ - public function __construct($uri) - { - Assert::stringNotEmpty($uri); - $this->uri = $uri; - } - - public function __toString() - { - return $this->uri; - } -} diff --git a/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Return_.php b/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Return_.php deleted file mode 100644 index ca5bda7..0000000 --- a/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Return_.php +++ /dev/null @@ -1,72 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\DocBlock\Tags; - -use phpDocumentor\Reflection\DocBlock\Description; -use phpDocumentor\Reflection\DocBlock\DescriptionFactory; -use phpDocumentor\Reflection\Type; -use phpDocumentor\Reflection\TypeResolver; -use phpDocumentor\Reflection\Types\Context as TypeContext; -use Webmozart\Assert\Assert; - -/** - * Reflection class for a {@}return tag in a Docblock. - */ -final class Return_ extends BaseTag implements Factory\StaticMethod -{ - protected $name = 'return'; - - /** @var Type */ - private $type; - - public function __construct(Type $type, Description $description = null) - { - $this->type = $type; - $this->description = $description; - } - - /** - * {@inheritdoc} - */ - public static function create( - $body, - TypeResolver $typeResolver = null, - DescriptionFactory $descriptionFactory = null, - TypeContext $context = null - ) { - Assert::string($body); - Assert::allNotNull([$typeResolver, $descriptionFactory]); - - $parts = preg_split('/\s+/Su', $body, 2); - - $type = $typeResolver->resolve(isset($parts[0]) ? $parts[0] : '', $context); - $description = $descriptionFactory->create(isset($parts[1]) ? $parts[1] : '', $context); - - return new static($type, $description); - } - - /** - * Returns the type section of the variable. - * - * @return Type - */ - public function getType() - { - return $this->type; - } - - public function __toString() - { - return $this->type . ' ' . $this->description; - } -} diff --git a/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/See.php b/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/See.php deleted file mode 100644 index 9e9e723..0000000 --- a/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/See.php +++ /dev/null @@ -1,88 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\DocBlock\Tags; - -use phpDocumentor\Reflection\DocBlock\Description; -use phpDocumentor\Reflection\DocBlock\DescriptionFactory; -use phpDocumentor\Reflection\DocBlock\Tags\Reference\Fqsen as FqsenRef; -use phpDocumentor\Reflection\DocBlock\Tags\Reference\Reference; -use phpDocumentor\Reflection\DocBlock\Tags\Reference\Url; -use phpDocumentor\Reflection\FqsenResolver; -use phpDocumentor\Reflection\Types\Context as TypeContext; -use Webmozart\Assert\Assert; - -/** - * Reflection class for an {@}see tag in a Docblock. - */ -class See extends BaseTag implements Factory\StaticMethod -{ - protected $name = 'see'; - - /** @var Reference */ - protected $refers = null; - - /** - * Initializes this tag. - * - * @param Reference $refers - * @param Description $description - */ - public function __construct(Reference $refers, Description $description = null) - { - $this->refers = $refers; - $this->description = $description; - } - - /** - * {@inheritdoc} - */ - public static function create( - $body, - FqsenResolver $resolver = null, - DescriptionFactory $descriptionFactory = null, - TypeContext $context = null - ) { - Assert::string($body); - Assert::allNotNull([$resolver, $descriptionFactory]); - - $parts = preg_split('/\s+/Su', $body, 2); - $description = isset($parts[1]) ? $descriptionFactory->create($parts[1], $context) : null; - - // https://tools.ietf.org/html/rfc2396#section-3 - if (preg_match('/\w:\/\/\w/i', $parts[0])) { - return new static(new Url($parts[0]), $description); - } - - return new static(new FqsenRef($resolver->resolve($parts[0], $context)), $description); - } - - /** - * Returns the ref of this tag. - * - * @return Reference - */ - public function getReference() - { - return $this->refers; - } - - /** - * Returns a string representation of this tag. - * - * @return string - */ - public function __toString() - { - return $this->refers . ($this->description ? ' ' . $this->description->render() : ''); - } -} diff --git a/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Since.php b/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Since.php deleted file mode 100644 index 835fb0d..0000000 --- a/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Since.php +++ /dev/null @@ -1,94 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\DocBlock\Tags; - -use phpDocumentor\Reflection\DocBlock\Description; -use phpDocumentor\Reflection\DocBlock\DescriptionFactory; -use phpDocumentor\Reflection\Types\Context as TypeContext; -use Webmozart\Assert\Assert; - -/** - * Reflection class for a {@}since tag in a Docblock. - */ -final class Since extends BaseTag implements Factory\StaticMethod -{ - protected $name = 'since'; - - /** - * PCRE regular expression matching a version vector. - * Assumes the "x" modifier. - */ - const REGEX_VECTOR = '(?: - # Normal release vectors. - \d\S* - | - # VCS version vectors. Per PHPCS, they are expected to - # follow the form of the VCS name, followed by ":", followed - # by the version vector itself. - # By convention, popular VCSes like CVS, SVN and GIT use "$" - # around the actual version vector. - [^\s\:]+\:\s*\$[^\$]+\$ - )'; - - /** @var string The version vector. */ - private $version = ''; - - public function __construct($version = null, Description $description = null) - { - Assert::nullOrStringNotEmpty($version); - - $this->version = $version; - $this->description = $description; - } - - /** - * @return static - */ - public static function create($body, DescriptionFactory $descriptionFactory = null, TypeContext $context = null) - { - Assert::nullOrString($body); - if (empty($body)) { - return new static(); - } - - $matches = []; - if (! preg_match('/^(' . self::REGEX_VECTOR . ')\s*(.+)?$/sux', $body, $matches)) { - return null; - } - - return new static( - $matches[1], - $descriptionFactory->create(isset($matches[2]) ? $matches[2] : '', $context) - ); - } - - /** - * Gets the version section of the tag. - * - * @return string - */ - public function getVersion() - { - return $this->version; - } - - /** - * Returns a string representation for this tag. - * - * @return string - */ - public function __toString() - { - return $this->version . ($this->description ? ' ' . $this->description->render() : ''); - } -} diff --git a/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Source.php b/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Source.php deleted file mode 100644 index 247b1b3..0000000 --- a/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Source.php +++ /dev/null @@ -1,97 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\DocBlock\Tags; - -use phpDocumentor\Reflection\DocBlock\Description; -use phpDocumentor\Reflection\DocBlock\DescriptionFactory; -use phpDocumentor\Reflection\Types\Context as TypeContext; -use Webmozart\Assert\Assert; - -/** - * Reflection class for a {@}source tag in a Docblock. - */ -final class Source extends BaseTag implements Factory\StaticMethod -{ - /** @var string */ - protected $name = 'source'; - - /** @var int The starting line, relative to the structural element's location. */ - private $startingLine = 1; - - /** @var int|null The number of lines, relative to the starting line. NULL means "to the end". */ - private $lineCount = null; - - public function __construct($startingLine, $lineCount = null, Description $description = null) - { - Assert::integerish($startingLine); - Assert::nullOrIntegerish($lineCount); - - $this->startingLine = (int)$startingLine; - $this->lineCount = $lineCount !== null ? (int)$lineCount : null; - $this->description = $description; - } - - /** - * {@inheritdoc} - */ - public static function create($body, DescriptionFactory $descriptionFactory = null, TypeContext $context = null) - { - Assert::stringNotEmpty($body); - Assert::notNull($descriptionFactory); - - $startingLine = 1; - $lineCount = null; - $description = null; - - // Starting line / Number of lines / Description - if (preg_match('/^([1-9]\d*)\s*(?:((?1))\s+)?(.*)$/sux', $body, $matches)) { - $startingLine = (int)$matches[1]; - if (isset($matches[2]) && $matches[2] !== '') { - $lineCount = (int)$matches[2]; - } - - $description = $matches[3]; - } - - return new static($startingLine, $lineCount, $descriptionFactory->create($description, $context)); - } - - /** - * Gets the starting line. - * - * @return int The starting line, relative to the structural element's - * location. - */ - public function getStartingLine() - { - return $this->startingLine; - } - - /** - * Returns the number of lines. - * - * @return int|null The number of lines, relative to the starting line. NULL - * means "to the end". - */ - public function getLineCount() - { - return $this->lineCount; - } - - public function __toString() - { - return $this->startingLine - . ($this->lineCount !== null ? ' ' . $this->lineCount : '') - . ($this->description ? ' ' . $this->description->render() : ''); - } -} diff --git a/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Throws.php b/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Throws.php deleted file mode 100644 index 349e773..0000000 --- a/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Throws.php +++ /dev/null @@ -1,72 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\DocBlock\Tags; - -use phpDocumentor\Reflection\DocBlock\Description; -use phpDocumentor\Reflection\DocBlock\DescriptionFactory; -use phpDocumentor\Reflection\Type; -use phpDocumentor\Reflection\TypeResolver; -use phpDocumentor\Reflection\Types\Context as TypeContext; -use Webmozart\Assert\Assert; - -/** - * Reflection class for a {@}throws tag in a Docblock. - */ -final class Throws extends BaseTag implements Factory\StaticMethod -{ - protected $name = 'throws'; - - /** @var Type */ - private $type; - - public function __construct(Type $type, Description $description = null) - { - $this->type = $type; - $this->description = $description; - } - - /** - * {@inheritdoc} - */ - public static function create( - $body, - TypeResolver $typeResolver = null, - DescriptionFactory $descriptionFactory = null, - TypeContext $context = null - ) { - Assert::string($body); - Assert::allNotNull([$typeResolver, $descriptionFactory]); - - $parts = preg_split('/\s+/Su', $body, 2); - - $type = $typeResolver->resolve(isset($parts[0]) ? $parts[0] : '', $context); - $description = $descriptionFactory->create(isset($parts[1]) ? $parts[1] : '', $context); - - return new static($type, $description); - } - - /** - * Returns the type section of the variable. - * - * @return Type - */ - public function getType() - { - return $this->type; - } - - public function __toString() - { - return $this->type . ' ' . $this->description; - } -} diff --git a/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Uses.php b/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Uses.php deleted file mode 100644 index 00dc3e3..0000000 --- a/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Uses.php +++ /dev/null @@ -1,83 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\DocBlock\Tags; - -use phpDocumentor\Reflection\DocBlock\Description; -use phpDocumentor\Reflection\DocBlock\DescriptionFactory; -use phpDocumentor\Reflection\Fqsen; -use phpDocumentor\Reflection\FqsenResolver; -use phpDocumentor\Reflection\Types\Context as TypeContext; -use Webmozart\Assert\Assert; - -/** - * Reflection class for a {@}uses tag in a Docblock. - */ -final class Uses extends BaseTag implements Factory\StaticMethod -{ - protected $name = 'uses'; - - /** @var Fqsen */ - protected $refers = null; - - /** - * Initializes this tag. - * - * @param Fqsen $refers - * @param Description $description - */ - public function __construct(Fqsen $refers, Description $description = null) - { - $this->refers = $refers; - $this->description = $description; - } - - /** - * {@inheritdoc} - */ - public static function create( - $body, - FqsenResolver $resolver = null, - DescriptionFactory $descriptionFactory = null, - TypeContext $context = null - ) { - Assert::string($body); - Assert::allNotNull([$resolver, $descriptionFactory]); - - $parts = preg_split('/\s+/Su', $body, 2); - - return new static( - $resolver->resolve($parts[0], $context), - $descriptionFactory->create(isset($parts[1]) ? $parts[1] : '', $context) - ); - } - - /** - * Returns the structural element this tag refers to. - * - * @return Fqsen - */ - public function getReference() - { - return $this->refers; - } - - /** - * Returns a string representation of this tag. - * - * @return string - */ - public function __toString() - { - return $this->refers . ' ' . $this->description->render(); - } -} diff --git a/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Var_.php b/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Var_.php deleted file mode 100644 index 8907c95..0000000 --- a/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Var_.php +++ /dev/null @@ -1,118 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\DocBlock\Tags; - -use phpDocumentor\Reflection\DocBlock\Description; -use phpDocumentor\Reflection\DocBlock\DescriptionFactory; -use phpDocumentor\Reflection\Type; -use phpDocumentor\Reflection\TypeResolver; -use phpDocumentor\Reflection\Types\Context as TypeContext; -use Webmozart\Assert\Assert; - -/** - * Reflection class for a {@}var tag in a Docblock. - */ -class Var_ extends BaseTag implements Factory\StaticMethod -{ - /** @var string */ - protected $name = 'var'; - - /** @var Type */ - private $type; - - /** @var string */ - protected $variableName = ''; - - /** - * @param string $variableName - * @param Type $type - * @param Description $description - */ - public function __construct($variableName, Type $type = null, Description $description = null) - { - Assert::string($variableName); - - $this->variableName = $variableName; - $this->type = $type; - $this->description = $description; - } - - /** - * {@inheritdoc} - */ - public static function create( - $body, - TypeResolver $typeResolver = null, - DescriptionFactory $descriptionFactory = null, - TypeContext $context = null - ) { - Assert::stringNotEmpty($body); - Assert::allNotNull([$typeResolver, $descriptionFactory]); - - $parts = preg_split('/(\s+)/Su', $body, 3, PREG_SPLIT_DELIM_CAPTURE); - $type = null; - $variableName = ''; - - // if the first item that is encountered is not a variable; it is a type - if (isset($parts[0]) && (strlen($parts[0]) > 0) && ($parts[0][0] !== '$')) { - $type = $typeResolver->resolve(array_shift($parts), $context); - array_shift($parts); - } - - // if the next item starts with a $ or ...$ it must be the variable name - if (isset($parts[0]) && (strlen($parts[0]) > 0) && ($parts[0][0] === '$')) { - $variableName = array_shift($parts); - array_shift($parts); - - if (substr($variableName, 0, 1) === '$') { - $variableName = substr($variableName, 1); - } - } - - $description = $descriptionFactory->create(implode('', $parts), $context); - - return new static($variableName, $type, $description); - } - - /** - * Returns the variable's name. - * - * @return string - */ - public function getVariableName() - { - return $this->variableName; - } - - /** - * Returns the variable's type or null if unknown. - * - * @return Type|null - */ - public function getType() - { - return $this->type; - } - - /** - * Returns a string representation for this tag. - * - * @return string - */ - public function __toString() - { - return ($this->type ? $this->type . ' ' : '') - . (empty($this->variableName) ? null : ('$' . $this->variableName)) - . ($this->description ? ' ' . $this->description : ''); - } -} diff --git a/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Version.php b/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Version.php deleted file mode 100644 index 7bb0420..0000000 --- a/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Version.php +++ /dev/null @@ -1,94 +0,0 @@ - - * @copyright 2010-2011 Mike van Riel / Naenius (http://www.naenius.com) - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\DocBlock\Tags; - -use phpDocumentor\Reflection\DocBlock\Description; -use phpDocumentor\Reflection\DocBlock\DescriptionFactory; -use phpDocumentor\Reflection\Types\Context as TypeContext; -use Webmozart\Assert\Assert; - -/** - * Reflection class for a {@}version tag in a Docblock. - */ -final class Version extends BaseTag implements Factory\StaticMethod -{ - protected $name = 'version'; - - /** - * PCRE regular expression matching a version vector. - * Assumes the "x" modifier. - */ - const REGEX_VECTOR = '(?: - # Normal release vectors. - \d\S* - | - # VCS version vectors. Per PHPCS, they are expected to - # follow the form of the VCS name, followed by ":", followed - # by the version vector itself. - # By convention, popular VCSes like CVS, SVN and GIT use "$" - # around the actual version vector. - [^\s\:]+\:\s*\$[^\$]+\$ - )'; - - /** @var string The version vector. */ - private $version = ''; - - public function __construct($version = null, Description $description = null) - { - Assert::nullOrStringNotEmpty($version); - - $this->version = $version; - $this->description = $description; - } - - /** - * @return static - */ - public static function create($body, DescriptionFactory $descriptionFactory = null, TypeContext $context = null) - { - Assert::nullOrString($body); - if (empty($body)) { - return new static(); - } - - $matches = []; - if (!preg_match('/^(' . self::REGEX_VECTOR . ')\s*(.+)?$/sux', $body, $matches)) { - return null; - } - - return new static( - $matches[1], - $descriptionFactory->create(isset($matches[2]) ? $matches[2] : '', $context) - ); - } - - /** - * Gets the version section of the tag. - * - * @return string - */ - public function getVersion() - { - return $this->version; - } - - /** - * Returns a string representation for this tag. - * - * @return string - */ - public function __toString() - { - return $this->version . ($this->description ? ' ' . $this->description->render() : ''); - } -} diff --git a/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlockFactory.php b/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlockFactory.php deleted file mode 100644 index 1bdb8f4..0000000 --- a/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlockFactory.php +++ /dev/null @@ -1,277 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection; - -use phpDocumentor\Reflection\DocBlock\DescriptionFactory; -use phpDocumentor\Reflection\DocBlock\StandardTagFactory; -use phpDocumentor\Reflection\DocBlock\Tag; -use phpDocumentor\Reflection\DocBlock\TagFactory; -use Webmozart\Assert\Assert; - -final class DocBlockFactory implements DocBlockFactoryInterface -{ - /** @var DocBlock\DescriptionFactory */ - private $descriptionFactory; - - /** @var DocBlock\TagFactory */ - private $tagFactory; - - /** - * Initializes this factory with the required subcontractors. - * - * @param DescriptionFactory $descriptionFactory - * @param TagFactory $tagFactory - */ - public function __construct(DescriptionFactory $descriptionFactory, TagFactory $tagFactory) - { - $this->descriptionFactory = $descriptionFactory; - $this->tagFactory = $tagFactory; - } - - /** - * Factory method for easy instantiation. - * - * @param string[] $additionalTags - * - * @return DocBlockFactory - */ - public static function createInstance(array $additionalTags = []) - { - $fqsenResolver = new FqsenResolver(); - $tagFactory = new StandardTagFactory($fqsenResolver); - $descriptionFactory = new DescriptionFactory($tagFactory); - - $tagFactory->addService($descriptionFactory); - $tagFactory->addService(new TypeResolver($fqsenResolver)); - - $docBlockFactory = new self($descriptionFactory, $tagFactory); - foreach ($additionalTags as $tagName => $tagHandler) { - $docBlockFactory->registerTagHandler($tagName, $tagHandler); - } - - return $docBlockFactory; - } - - /** - * @param object|string $docblock A string containing the DocBlock to parse or an object supporting the - * getDocComment method (such as a ReflectionClass object). - * @param Types\Context $context - * @param Location $location - * - * @return DocBlock - */ - public function create($docblock, Types\Context $context = null, Location $location = null) - { - if (is_object($docblock)) { - if (!method_exists($docblock, 'getDocComment')) { - $exceptionMessage = 'Invalid object passed; the given object must support the getDocComment method'; - throw new \InvalidArgumentException($exceptionMessage); - } - - $docblock = $docblock->getDocComment(); - } - - Assert::stringNotEmpty($docblock); - - if ($context === null) { - $context = new Types\Context(''); - } - - $parts = $this->splitDocBlock($this->stripDocComment($docblock)); - list($templateMarker, $summary, $description, $tags) = $parts; - - return new DocBlock( - $summary, - $description ? $this->descriptionFactory->create($description, $context) : null, - array_filter($this->parseTagBlock($tags, $context), function ($tag) { - return $tag instanceof Tag; - }), - $context, - $location, - $templateMarker === '#@+', - $templateMarker === '#@-' - ); - } - - public function registerTagHandler($tagName, $handler) - { - $this->tagFactory->registerTagHandler($tagName, $handler); - } - - /** - * Strips the asterisks from the DocBlock comment. - * - * @param string $comment String containing the comment text. - * - * @return string - */ - private function stripDocComment($comment) - { - $comment = trim(preg_replace('#[ \t]*(?:\/\*\*|\*\/|\*)?[ \t]{0,1}(.*)?#u', '$1', $comment)); - - // reg ex above is not able to remove */ from a single line docblock - if (substr($comment, -2) === '*/') { - $comment = trim(substr($comment, 0, -2)); - } - - return str_replace(["\r\n", "\r"], "\n", $comment); - } - - /** - * Splits the DocBlock into a template marker, summary, description and block of tags. - * - * @param string $comment Comment to split into the sub-parts. - * - * @author Richard van Velzen (@_richardJ) Special thanks to Richard for the regex responsible for the split. - * @author Mike van Riel for extending the regex with template marker support. - * - * @return string[] containing the template marker (if any), summary, description and a string containing the tags. - */ - private function splitDocBlock($comment) - { - // Performance improvement cheat: if the first character is an @ then only tags are in this DocBlock. This - // method does not split tags so we return this verbatim as the fourth result (tags). This saves us the - // performance impact of running a regular expression - if (strpos($comment, '@') === 0) { - return ['', '', '', $comment]; - } - - // clears all extra horizontal whitespace from the line endings to prevent parsing issues - $comment = preg_replace('/\h*$/Sum', '', $comment); - - /* - * Splits the docblock into a template marker, summary, description and tags section. - * - * - The template marker is empty, #@+ or #@- if the DocBlock starts with either of those (a newline may - * occur after it and will be stripped). - * - The short description is started from the first character until a dot is encountered followed by a - * newline OR two consecutive newlines (horizontal whitespace is taken into account to consider spacing - * errors). This is optional. - * - The long description, any character until a new line is encountered followed by an @ and word - * characters (a tag). This is optional. - * - Tags; the remaining characters - * - * Big thanks to RichardJ for contributing this Regular Expression - */ - preg_match( - '/ - \A - # 1. Extract the template marker - (?:(\#\@\+|\#\@\-)\n?)? - - # 2. Extract the summary - (?: - (?! @\pL ) # The summary may not start with an @ - ( - [^\n.]+ - (?: - (?! \. \n | \n{2} ) # End summary upon a dot followed by newline or two newlines - [\n.] (?! [ \t]* @\pL ) # End summary when an @ is found as first character on a new line - [^\n.]+ # Include anything else - )* - \.? - )? - ) - - # 3. Extract the description - (?: - \s* # Some form of whitespace _must_ precede a description because a summary must be there - (?! @\pL ) # The description may not start with an @ - ( - [^\n]+ - (?: \n+ - (?! [ \t]* @\pL ) # End description when an @ is found as first character on a new line - [^\n]+ # Include anything else - )* - ) - )? - - # 4. Extract the tags (anything that follows) - (\s+ [\s\S]*)? # everything that follows - /ux', - $comment, - $matches - ); - array_shift($matches); - - while (count($matches) < 4) { - $matches[] = ''; - } - - return $matches; - } - - /** - * Creates the tag objects. - * - * @param string $tags Tag block to parse. - * @param Types\Context $context Context of the parsed Tag - * - * @return DocBlock\Tag[] - */ - private function parseTagBlock($tags, Types\Context $context) - { - $tags = $this->filterTagBlock($tags); - if (!$tags) { - return []; - } - - $result = $this->splitTagBlockIntoTagLines($tags); - foreach ($result as $key => $tagLine) { - $result[$key] = $this->tagFactory->create(trim($tagLine), $context); - } - - return $result; - } - - /** - * @param string $tags - * - * @return string[] - */ - private function splitTagBlockIntoTagLines($tags) - { - $result = []; - foreach (explode("\n", $tags) as $tag_line) { - if (isset($tag_line[0]) && ($tag_line[0] === '@')) { - $result[] = $tag_line; - } else { - $result[count($result) - 1] .= "\n" . $tag_line; - } - } - - return $result; - } - - /** - * @param $tags - * @return string - */ - private function filterTagBlock($tags) - { - $tags = trim($tags); - if (!$tags) { - return null; - } - - if ('@' !== $tags[0]) { - // @codeCoverageIgnoreStart - // Can't simulate this; this only happens if there is an error with the parsing of the DocBlock that - // we didn't foresee. - throw new \LogicException('A tag block started with text instead of an at-sign(@): ' . $tags); - // @codeCoverageIgnoreEnd - } - - return $tags; - } -} diff --git a/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlockFactoryInterface.php b/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlockFactoryInterface.php deleted file mode 100644 index b353342..0000000 --- a/paragonik-backend/vendor/phpdocumentor/reflection-docblock/src/DocBlockFactoryInterface.php +++ /dev/null @@ -1,23 +0,0 @@ - please note that if you want to pass partial class names that additional steps are necessary, see the - > chapter `Resolving partial classes and FQSENs` for more information. - -Where the FqsenResolver can resolve: - -- Constant expressions (i.e. `@see \MyNamespace\MY_CONSTANT`) -- Function expressions (i.e. `@see \MyNamespace\myFunction()`) -- Class expressions (i.e. `@see \MyNamespace\MyClass`) -- Interface expressions (i.e. `@see \MyNamespace\MyInterface`) -- Trait expressions (i.e. `@see \MyNamespace\MyTrait`) -- Class constant expressions (i.e. `@see \MyNamespace\MyClass::MY_CONSTANT`) -- Property expressions (i.e. `@see \MyNamespace\MyClass::$myProperty`) -- Method expressions (i.e. `@see \MyNamespace\MyClass::myMethod()`) - -## Resolving a type - -In order to resolve a type you will have to instantiate the class `\phpDocumentor\Reflection\TypeResolver` and call its `resolve` method like this: - -```php -$typeResolver = new \phpDocumentor\Reflection\TypeResolver(); -$type = $typeResolver->resolve('string|integer'); -``` - -In this example you will receive a Value Object of class `\phpDocumentor\Reflection\Types\Compound` that has two -elements, one of type `\phpDocumentor\Reflection\Types\String_` and one of type -`\phpDocumentor\Reflection\Types\Integer`. - -The real power of this resolver is in its capability to expand partial class names into fully qualified class names; but in order to do that we need an additional `\phpDocumentor\Reflection\Types\Context` class that will inform the resolver in which namespace the given expression occurs and which namespace aliases (or imports) apply. - -### Resolving nullable types - -Php 7.1 introduced nullable types e.g. `?string`. Type resolver will resolve the original type without the nullable notation `?` -just like it would do without the `?`. After that the type is wrapped in a `\phpDocumentor\Reflection\Types\Nullable` object. -The `Nullable` type has a method to fetch the actual type. - -## Resolving an FQSEN - -A Fully Qualified Structural Element Name is a reference to another element in your code bases and can be resolved using the `\phpDocumentor\Reflection\FqsenResolver` class' `resolve` method, like this: - -```php -$fqsenResolver = new \phpDocumentor\Reflection\FqsenResolver(); -$fqsen = $fqsenResolver->resolve('\phpDocumentor\Reflection\FqsenResolver::resolve()'); -``` - -In this example we resolve a Fully Qualified Structural Element Name (meaning that it includes the full namespace, class name and element name) and receive a Value Object of type `\phpDocumentor\Reflection\Fqsen`. - -The real power of this resolver is in its capability to expand partial element names into Fully Qualified Structural Element Names; but in order to do that we need an additional `\phpDocumentor\Reflection\Types\Context` class that will inform the resolver in which namespace the given expression occurs and which namespace aliases (or imports) apply. - -## Resolving partial Classes and Structural Element Names - -Perhaps the best feature of this library is that it knows how to resolve partial class names into fully qualified class names. - -For example, you have this file: - -```php -namespace My\Example; - -use phpDocumentor\Reflection\Types; - -class Classy -{ - /** - * @var Types\Context - * @see Classy::otherFunction() - */ - public function __construct($context) {} - - public function otherFunction(){} -} -``` - -Suppose that you would want to resolve (and expand) the type in the `@var` tag and the element name in the `@see` tag. - -For the resolvers to know how to expand partial names you have to provide a bit of _Context_ for them by instantiating a new class named `\phpDocumentor\Reflection\Types\Context` with the name of the namespace and the aliases that are in play. - -### Creating a Context - -You can do this by manually creating a Context like this: - -```php -$context = new \phpDocumentor\Reflection\Types\Context( - '\My\Example', - [ 'Types' => '\phpDocumentor\Reflection\Types'] -); -``` - -Or by using the `\phpDocumentor\Reflection\Types\ContextFactory` to instantiate a new context based on a Reflector object or by providing the namespace that you'd like to extract and the source code of the file in which the given type expression occurs. - -```php -$contextFactory = new \phpDocumentor\Reflection\Types\ContextFactory(); -$context = $contextFactory->createFromReflector(new ReflectionMethod('\My\Example\Classy', '__construct')); -``` - -or - -```php -$contextFactory = new \phpDocumentor\Reflection\Types\ContextFactory(); -$context = $contextFactory->createForNamespace('\My\Example', file_get_contents('My/Example/Classy.php')); -``` - -### Using the Context - -After you have obtained a Context it is just a matter of passing it along with the `resolve` method of either Resolver class as second argument and the Resolvers will take this into account when resolving partial names. - -To obtain the resolved class name for the `@var` tag in the example above you can do: - -```php -$typeResolver = new \phpDocumentor\Reflection\TypeResolver(); -$type = $typeResolver->resolve('Types\Context', $context); -``` - -When you do this you will receive an object of class `\phpDocumentor\Reflection\Types\Object_` for which you can call the `getFqsen` method to receive a Value Object that represents the complete FQSEN. So that would be `phpDocumentor\Reflection\Types\Context`. - -> Why is the FQSEN wrapped in another object `Object_`? -> -> The resolve method of the TypeResolver only returns object with the interface `Type` and the FQSEN is a common type that does not represent a Type. Also: in some cases a type can represent an "Untyped Object", meaning that it is an object (signified by the `object` keyword) but does not refer to a specific element using an FQSEN. - -Another example is on how to resolve the FQSEN of a method as can be seen with the `@see` tag in the example above. To resolve that you can do the following: - -```php -$fqsenResolver = new \phpDocumentor\Reflection\FqsenResolver(); -$type = $fqsenResolver->resolve('Classy::otherFunction()', $context); -``` - -Because Classy is a Class in the current namespace its FQSEN will have the `My\Example` namespace and by calling the `resolve` method of the FQSEN Resolver you will receive an `Fqsen` object that refers to `\My\Example\Classy::otherFunction()`. diff --git a/paragonik-backend/vendor/phpdocumentor/type-resolver/appveyor.yml b/paragonik-backend/vendor/phpdocumentor/type-resolver/appveyor.yml deleted file mode 100644 index 9dda46c..0000000 --- a/paragonik-backend/vendor/phpdocumentor/type-resolver/appveyor.yml +++ /dev/null @@ -1,52 +0,0 @@ -build: false -clone_folder: c:\typeresolver -max_jobs: 3 -platform: x86 -pull_requests: - do_not_increment_build_number: true -version: '{build}.{branch}' -skip_tags: true -branches: - only: - - master - -environment: - matrix: - - php_ver_target: 7.1 - - php_ver_target: 7.2 -matrix: - fast_finish: false - -cache: - - c:\php -> appveyor.yml - - '%LOCALAPPDATA%\Composer\files' - -init: - - SET PATH=C:\Program Files\OpenSSL;c:\tools\php;%PATH% - - SET COMPOSER_NO_INTERACTION=1 - - SET PHP=1 - - SET ANSICON=121x90 (121x90) - - -install: - - IF EXIST c:\tools\php (SET PHP=0) - - ps: appveyor-retry cinst --params '""/InstallDir:C:\tools\php""' --ignore-checksums -y php --version ((choco search php --exact --all-versions -r | select-string -pattern $env:php_ver_target | sort { [version]($_ -split '\|' | select -last 1) } -Descending | Select-Object -first 1) -replace '[php|]','') - - cd c:\tools\php - - IF %PHP%==1 copy /Y php.ini-development php.ini - - IF %PHP%==1 echo max_execution_time=1200 >> php.ini - - IF %PHP%==1 echo date.timezone="UTC" >> php.ini - - IF %PHP%==1 echo extension_dir=ext >> php.ini - - IF %PHP%==1 echo extension=php_curl.dll >> php.ini - - IF %PHP%==1 echo extension=php_openssl.dll >> php.ini - - IF %PHP%==1 echo extension=php_mbstring.dll >> php.ini - - IF %PHP%==1 echo extension=php_fileinfo.dll >> php.ini - - IF %PHP%==1 echo zend.assertions=1 >> php.ini - - IF %PHP%==1 echo assert.exception=On >> php.ini - - IF %PHP%==1 echo @php %%~dp0composer.phar %%* > composer.bat - - appveyor-retry appveyor DownloadFile https://getcomposer.org/composer.phar - - cd c:\typeresolver - - composer install --no-interaction --prefer-dist --no-progress - -test_script: - - cd c:\typeresolver - - vendor\bin\phpunit --no-coverage diff --git a/paragonik-backend/vendor/phpdocumentor/type-resolver/composer-require-config.json b/paragonik-backend/vendor/phpdocumentor/type-resolver/composer-require-config.json deleted file mode 100644 index 19eee4f..0000000 --- a/paragonik-backend/vendor/phpdocumentor/type-resolver/composer-require-config.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "symbol-whitelist" : [ - "null", "true", "false", - "static", "self", "parent", - "array", "string", "int", "float", "bool", "iterable", "callable", "void", "object", "XSLTProcessor" - ], - "php-core-extensions" : [ - "Core", - "pcre", - "Reflection", - "tokenizer", - "SPL", - "standard" - ] -} diff --git a/paragonik-backend/vendor/phpdocumentor/type-resolver/composer.json b/paragonik-backend/vendor/phpdocumentor/type-resolver/composer.json deleted file mode 100644 index f784935..0000000 --- a/paragonik-backend/vendor/phpdocumentor/type-resolver/composer.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "name": "phpdocumentor/type-resolver", - "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names", - "type": "library", - "license": "MIT", - "authors": [ - { - "name": "Mike van Riel", - "email": "me@mikevanriel.com" - } - ], - "require": { - "php": "^7.1", - "phpdocumentor/reflection-common": "^2.0" - }, - "require-dev": { - "mockery/mockery": "~1", - "ext-tokenizer": "^7.1", - "phpunit/phpunit": "^7.0" - }, - "autoload": { - "psr-4": { - "phpDocumentor\\Reflection\\": "src" - } - }, - "autoload-dev": { - "psr-4": { - "phpDocumentor\\Reflection\\": "tests/unit" - } - }, - "extra": { - "branch-alias": { - "dev-master": "1.x-dev" - } - } -} diff --git a/paragonik-backend/vendor/phpdocumentor/type-resolver/composer.lock b/paragonik-backend/vendor/phpdocumentor/type-resolver/composer.lock deleted file mode 100644 index 529abe6..0000000 --- a/paragonik-backend/vendor/phpdocumentor/type-resolver/composer.lock +++ /dev/null @@ -1,1448 +0,0 @@ -{ - "_readme": [ - "This file locks the dependencies of your project to a known state", - "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", - "This file is @generated automatically" - ], - "content-hash": "8168e5df1ad1444a9512e8b63bab2bfe", - "packages": [ - { - "name": "phpdocumentor/reflection-common", - "version": "2.0.0", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionCommon.git", - "reference": "63a995caa1ca9e5590304cd845c15ad6d482a62a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/63a995caa1ca9e5590304cd845c15ad6d482a62a", - "reference": "63a995caa1ca9e5590304cd845c15ad6d482a62a", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "require-dev": { - "phpunit/phpunit": "~6" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.x-dev" - } - }, - "autoload": { - "psr-4": { - "phpDocumentor\\Reflection\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jaap van Otterdijk", - "email": "opensource@ijaap.nl" - } - ], - "description": "Common reflection classes used by phpdocumentor to reflect the code structure", - "homepage": "http://www.phpdoc.org", - "keywords": [ - "FQSEN", - "phpDocumentor", - "phpdoc", - "reflection", - "static analysis" - ], - "time": "2018-08-07T13:53:10+00:00" - } - ], - "packages-dev": [ - { - "name": "doctrine/instantiator", - "version": "1.2.0", - "source": { - "type": "git", - "url": "https://github.com/doctrine/instantiator.git", - "reference": "a2c590166b2133a4633738648b6b064edae0814a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/a2c590166b2133a4633738648b6b064edae0814a", - "reference": "a2c590166b2133a4633738648b6b064edae0814a", - "shasum": "" - }, - "require": { - "php": "^7.1" - }, - "require-dev": { - "doctrine/coding-standard": "^6.0", - "ext-pdo": "*", - "ext-phar": "*", - "phpbench/phpbench": "^0.13", - "phpstan/phpstan-phpunit": "^0.11", - "phpstan/phpstan-shim": "^0.11", - "phpunit/phpunit": "^7.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.2.x-dev" - } - }, - "autoload": { - "psr-4": { - "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com", - "homepage": "http://ocramius.github.com/" - } - ], - "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", - "homepage": "https://www.doctrine-project.org/projects/instantiator.html", - "keywords": [ - "constructor", - "instantiate" - ], - "time": "2019-03-17T17:37:11+00:00" - }, - { - "name": "hamcrest/hamcrest-php", - "version": "v2.0.0", - "source": { - "type": "git", - "url": "https://github.com/hamcrest/hamcrest-php.git", - "reference": "776503d3a8e85d4f9a1148614f95b7a608b046ad" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/hamcrest/hamcrest-php/zipball/776503d3a8e85d4f9a1148614f95b7a608b046ad", - "reference": "776503d3a8e85d4f9a1148614f95b7a608b046ad", - "shasum": "" - }, - "require": { - "php": "^5.3|^7.0" - }, - "replace": { - "cordoval/hamcrest-php": "*", - "davedevelopment/hamcrest-php": "*", - "kodova/hamcrest-php": "*" - }, - "require-dev": { - "phpunit/php-file-iterator": "1.3.3", - "phpunit/phpunit": "~4.0", - "satooshi/php-coveralls": "^1.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0-dev" - } - }, - "autoload": { - "classmap": [ - "hamcrest" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD" - ], - "description": "This is the PHP port of Hamcrest Matchers", - "keywords": [ - "test" - ], - "time": "2016-01-20T08:20:44+00:00" - }, - { - "name": "mockery/mockery", - "version": "1.2.2", - "source": { - "type": "git", - "url": "https://github.com/mockery/mockery.git", - "reference": "0eb0b48c3f07b3b89f5169ce005b7d05b18cf1d2" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/mockery/mockery/zipball/0eb0b48c3f07b3b89f5169ce005b7d05b18cf1d2", - "reference": "0eb0b48c3f07b3b89f5169ce005b7d05b18cf1d2", - "shasum": "" - }, - "require": { - "hamcrest/hamcrest-php": "~2.0", - "lib-pcre": ">=7.0", - "php": ">=5.6.0" - }, - "require-dev": { - "phpunit/phpunit": "~5.7.10|~6.5|~7.0|~8.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-0": { - "Mockery": "library/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Pádraic Brady", - "email": "padraic.brady@gmail.com", - "homepage": "http://blog.astrumfutura.com" - }, - { - "name": "Dave Marshall", - "email": "dave.marshall@atstsolutions.co.uk", - "homepage": "http://davedevelopment.co.uk" - } - ], - "description": "Mockery is a simple yet flexible PHP mock object framework", - "homepage": "https://github.com/mockery/mockery", - "keywords": [ - "BDD", - "TDD", - "library", - "mock", - "mock objects", - "mockery", - "stub", - "test", - "test double", - "testing" - ], - "time": "2019-02-13T09:37:52+00:00" - }, - { - "name": "myclabs/deep-copy", - "version": "1.9.1", - "source": { - "type": "git", - "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "e6828efaba2c9b79f4499dae1d66ef8bfa7b2b72" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/e6828efaba2c9b79f4499dae1d66ef8bfa7b2b72", - "reference": "e6828efaba2c9b79f4499dae1d66ef8bfa7b2b72", - "shasum": "" - }, - "require": { - "php": "^7.1" - }, - "replace": { - "myclabs/deep-copy": "self.version" - }, - "require-dev": { - "doctrine/collections": "^1.0", - "doctrine/common": "^2.6", - "phpunit/phpunit": "^7.1" - }, - "type": "library", - "autoload": { - "psr-4": { - "DeepCopy\\": "src/DeepCopy/" - }, - "files": [ - "src/DeepCopy/deep_copy.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "Create deep copies (clones) of your objects", - "keywords": [ - "clone", - "copy", - "duplicate", - "object", - "object graph" - ], - "time": "2019-04-07T13:18:21+00:00" - }, - { - "name": "phar-io/manifest", - "version": "1.0.3", - "source": { - "type": "git", - "url": "https://github.com/phar-io/manifest.git", - "reference": "7761fcacf03b4d4f16e7ccb606d4879ca431fcf4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phar-io/manifest/zipball/7761fcacf03b4d4f16e7ccb606d4879ca431fcf4", - "reference": "7761fcacf03b4d4f16e7ccb606d4879ca431fcf4", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-phar": "*", - "phar-io/version": "^2.0", - "php": "^5.6 || ^7.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Arne Blankerts", - "email": "arne@blankerts.de", - "role": "Developer" - }, - { - "name": "Sebastian Heuer", - "email": "sebastian@phpeople.de", - "role": "Developer" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "Developer" - } - ], - "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", - "time": "2018-07-08T19:23:20+00:00" - }, - { - "name": "phar-io/version", - "version": "2.0.1", - "source": { - "type": "git", - "url": "https://github.com/phar-io/version.git", - "reference": "45a2ec53a73c70ce41d55cedef9063630abaf1b6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phar-io/version/zipball/45a2ec53a73c70ce41d55cedef9063630abaf1b6", - "reference": "45a2ec53a73c70ce41d55cedef9063630abaf1b6", - "shasum": "" - }, - "require": { - "php": "^5.6 || ^7.0" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Arne Blankerts", - "email": "arne@blankerts.de", - "role": "Developer" - }, - { - "name": "Sebastian Heuer", - "email": "sebastian@phpeople.de", - "role": "Developer" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "Developer" - } - ], - "description": "Library for handling version information and constraints", - "time": "2018-07-08T19:19:57+00:00" - }, - { - "name": "phpdocumentor/reflection-docblock", - "version": "2.0.5", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "e6a969a640b00d8daa3c66518b0405fb41ae0c4b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/e6a969a640b00d8daa3c66518b0405fb41ae0c4b", - "reference": "e6a969a640b00d8daa3c66518b0405fb41ae0c4b", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "suggest": { - "dflydev/markdown": "~1.0", - "erusev/parsedown": "~1.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "psr-0": { - "phpDocumentor": [ - "src/" - ] - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mike van Riel", - "email": "mike.vanriel@naenius.com" - } - ], - "time": "2016-01-25T08:17:30+00:00" - }, - { - "name": "phpspec/prophecy", - "version": "1.8.0", - "source": { - "type": "git", - "url": "https://github.com/phpspec/prophecy.git", - "reference": "4ba436b55987b4bf311cb7c6ba82aa528aac0a06" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/4ba436b55987b4bf311cb7c6ba82aa528aac0a06", - "reference": "4ba436b55987b4bf311cb7c6ba82aa528aac0a06", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "php": "^5.3|^7.0", - "phpdocumentor/reflection-docblock": "^2.0|^3.0.2|^4.0", - "sebastian/comparator": "^1.1|^2.0|^3.0", - "sebastian/recursion-context": "^1.0|^2.0|^3.0" - }, - "require-dev": { - "phpspec/phpspec": "^2.5|^3.2", - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5 || ^7.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.8.x-dev" - } - }, - "autoload": { - "psr-0": { - "Prophecy\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com", - "homepage": "http://everzet.com" - }, - { - "name": "Marcello Duarte", - "email": "marcello.duarte@gmail.com" - } - ], - "description": "Highly opinionated mocking framework for PHP 5.3+", - "homepage": "https://github.com/phpspec/prophecy", - "keywords": [ - "Double", - "Dummy", - "fake", - "mock", - "spy", - "stub" - ], - "time": "2018-08-05T17:53:17+00:00" - }, - { - "name": "phpunit/php-code-coverage", - "version": "6.1.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "807e6013b00af69b6c5d9ceb4282d0393dbb9d8d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/807e6013b00af69b6c5d9ceb4282d0393dbb9d8d", - "reference": "807e6013b00af69b6c5d9ceb4282d0393dbb9d8d", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-xmlwriter": "*", - "php": "^7.1", - "phpunit/php-file-iterator": "^2.0", - "phpunit/php-text-template": "^1.2.1", - "phpunit/php-token-stream": "^3.0", - "sebastian/code-unit-reverse-lookup": "^1.0.1", - "sebastian/environment": "^3.1 || ^4.0", - "sebastian/version": "^2.0.1", - "theseer/tokenizer": "^1.1" - }, - "require-dev": { - "phpunit/phpunit": "^7.0" - }, - "suggest": { - "ext-xdebug": "^2.6.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "6.1-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", - "homepage": "https://github.com/sebastianbergmann/php-code-coverage", - "keywords": [ - "coverage", - "testing", - "xunit" - ], - "time": "2018-10-31T16:06:48+00:00" - }, - { - "name": "phpunit/php-file-iterator", - "version": "2.0.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "050bedf145a257b1ff02746c31894800e5122946" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/050bedf145a257b1ff02746c31894800e5122946", - "reference": "050bedf145a257b1ff02746c31894800e5122946", - "shasum": "" - }, - "require": { - "php": "^7.1" - }, - "require-dev": { - "phpunit/phpunit": "^7.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "FilterIterator implementation that filters files based on a list of suffixes.", - "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", - "keywords": [ - "filesystem", - "iterator" - ], - "time": "2018-09-13T20:33:42+00:00" - }, - { - "name": "phpunit/php-text-template", - "version": "1.2.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Simple template engine.", - "homepage": "https://github.com/sebastianbergmann/php-text-template/", - "keywords": [ - "template" - ], - "time": "2015-06-21T13:50:34+00:00" - }, - { - "name": "phpunit/php-timer", - "version": "2.1.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "1038454804406b0b5f5f520358e78c1c2f71501e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/1038454804406b0b5f5f520358e78c1c2f71501e", - "reference": "1038454804406b0b5f5f520358e78c1c2f71501e", - "shasum": "" - }, - "require": { - "php": "^7.1" - }, - "require-dev": { - "phpunit/phpunit": "^7.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.1-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Utility class for timing", - "homepage": "https://github.com/sebastianbergmann/php-timer/", - "keywords": [ - "timer" - ], - "time": "2019-06-07T04:22:29+00:00" - }, - { - "name": "phpunit/php-token-stream", - "version": "3.0.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-token-stream.git", - "reference": "c99e3be9d3e85f60646f152f9002d46ed7770d18" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/c99e3be9d3e85f60646f152f9002d46ed7770d18", - "reference": "c99e3be9d3e85f60646f152f9002d46ed7770d18", - "shasum": "" - }, - "require": { - "ext-tokenizer": "*", - "php": "^7.1" - }, - "require-dev": { - "phpunit/phpunit": "^7.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Wrapper around PHP's tokenizer extension.", - "homepage": "https://github.com/sebastianbergmann/php-token-stream/", - "keywords": [ - "tokenizer" - ], - "time": "2018-10-30T05:52:18+00:00" - }, - { - "name": "phpunit/phpunit", - "version": "7.5.12", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "9ba59817745b0fe0c1a5a3032dfd4a6d2994ad1c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/9ba59817745b0fe0c1a5a3032dfd4a6d2994ad1c", - "reference": "9ba59817745b0fe0c1a5a3032dfd4a6d2994ad1c", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.1", - "ext-dom": "*", - "ext-json": "*", - "ext-libxml": "*", - "ext-mbstring": "*", - "ext-xml": "*", - "myclabs/deep-copy": "^1.7", - "phar-io/manifest": "^1.0.2", - "phar-io/version": "^2.0", - "php": "^7.1", - "phpspec/prophecy": "^1.7", - "phpunit/php-code-coverage": "^6.0.7", - "phpunit/php-file-iterator": "^2.0.1", - "phpunit/php-text-template": "^1.2.1", - "phpunit/php-timer": "^2.1", - "sebastian/comparator": "^3.0", - "sebastian/diff": "^3.0", - "sebastian/environment": "^4.0", - "sebastian/exporter": "^3.1", - "sebastian/global-state": "^2.0", - "sebastian/object-enumerator": "^3.0.3", - "sebastian/resource-operations": "^2.0", - "sebastian/version": "^2.0.1" - }, - "conflict": { - "phpunit/phpunit-mock-objects": "*" - }, - "require-dev": { - "ext-pdo": "*" - }, - "suggest": { - "ext-soap": "*", - "ext-xdebug": "*", - "phpunit/php-invoker": "^2.0" - }, - "bin": [ - "phpunit" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "7.5-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "The PHP Unit Testing framework.", - "homepage": "https://phpunit.de/", - "keywords": [ - "phpunit", - "testing", - "xunit" - ], - "time": "2019-05-28T11:59:40+00:00" - }, - { - "name": "sebastian/code-unit-reverse-lookup", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", - "reference": "4419fcdb5eabb9caa61a27c7a1db532a6b55dd18" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/4419fcdb5eabb9caa61a27c7a1db532a6b55dd18", - "reference": "4419fcdb5eabb9caa61a27c7a1db532a6b55dd18", - "shasum": "" - }, - "require": { - "php": "^5.6 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^5.7 || ^6.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Looks up which function or method a line of code belongs to", - "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", - "time": "2017-03-04T06:30:41+00:00" - }, - { - "name": "sebastian/comparator", - "version": "3.0.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "5de4fc177adf9bce8df98d8d141a7559d7ccf6da" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/5de4fc177adf9bce8df98d8d141a7559d7ccf6da", - "reference": "5de4fc177adf9bce8df98d8d141a7559d7ccf6da", - "shasum": "" - }, - "require": { - "php": "^7.1", - "sebastian/diff": "^3.0", - "sebastian/exporter": "^3.1" - }, - "require-dev": { - "phpunit/phpunit": "^7.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@2bepublished.at" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Provides the functionality to compare PHP values for equality", - "homepage": "https://github.com/sebastianbergmann/comparator", - "keywords": [ - "comparator", - "compare", - "equality" - ], - "time": "2018-07-12T15:12:46+00:00" - }, - { - "name": "sebastian/diff", - "version": "3.0.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "720fcc7e9b5cf384ea68d9d930d480907a0c1a29" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/720fcc7e9b5cf384ea68d9d930d480907a0c1a29", - "reference": "720fcc7e9b5cf384ea68d9d930d480907a0c1a29", - "shasum": "" - }, - "require": { - "php": "^7.1" - }, - "require-dev": { - "phpunit/phpunit": "^7.5 || ^8.0", - "symfony/process": "^2 || ^3.3 || ^4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Kore Nordmann", - "email": "mail@kore-nordmann.de" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Diff implementation", - "homepage": "https://github.com/sebastianbergmann/diff", - "keywords": [ - "diff", - "udiff", - "unidiff", - "unified diff" - ], - "time": "2019-02-04T06:01:07+00:00" - }, - { - "name": "sebastian/environment", - "version": "4.2.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "f2a2c8e1c97c11ace607a7a667d73d47c19fe404" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/f2a2c8e1c97c11ace607a7a667d73d47c19fe404", - "reference": "f2a2c8e1c97c11ace607a7a667d73d47c19fe404", - "shasum": "" - }, - "require": { - "php": "^7.1" - }, - "require-dev": { - "phpunit/phpunit": "^7.5" - }, - "suggest": { - "ext-posix": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.2-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Provides functionality to handle HHVM/PHP environments", - "homepage": "http://www.github.com/sebastianbergmann/environment", - "keywords": [ - "Xdebug", - "environment", - "hhvm" - ], - "time": "2019-05-05T09:05:15+00:00" - }, - { - "name": "sebastian/exporter", - "version": "3.1.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "234199f4528de6d12aaa58b612e98f7d36adb937" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/234199f4528de6d12aaa58b612e98f7d36adb937", - "reference": "234199f4528de6d12aaa58b612e98f7d36adb937", - "shasum": "" - }, - "require": { - "php": "^7.0", - "sebastian/recursion-context": "^3.0" - }, - "require-dev": { - "ext-mbstring": "*", - "phpunit/phpunit": "^6.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.1.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@2bepublished.at" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" - } - ], - "description": "Provides the functionality to export PHP variables for visualization", - "homepage": "http://www.github.com/sebastianbergmann/exporter", - "keywords": [ - "export", - "exporter" - ], - "time": "2017-04-03T13:19:02+00:00" - }, - { - "name": "sebastian/global-state", - "version": "2.0.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4", - "reference": "e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4", - "shasum": "" - }, - "require": { - "php": "^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^6.0" - }, - "suggest": { - "ext-uopz": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Snapshotting of global state", - "homepage": "http://www.github.com/sebastianbergmann/global-state", - "keywords": [ - "global state" - ], - "time": "2017-04-27T15:39:26+00:00" - }, - { - "name": "sebastian/object-enumerator", - "version": "3.0.3", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/object-enumerator.git", - "reference": "7cfd9e65d11ffb5af41198476395774d4c8a84c5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/7cfd9e65d11ffb5af41198476395774d4c8a84c5", - "reference": "7cfd9e65d11ffb5af41198476395774d4c8a84c5", - "shasum": "" - }, - "require": { - "php": "^7.0", - "sebastian/object-reflector": "^1.1.1", - "sebastian/recursion-context": "^3.0" - }, - "require-dev": { - "phpunit/phpunit": "^6.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Traverses array structures and object graphs to enumerate all referenced objects", - "homepage": "https://github.com/sebastianbergmann/object-enumerator/", - "time": "2017-08-03T12:35:26+00:00" - }, - { - "name": "sebastian/object-reflector", - "version": "1.1.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/object-reflector.git", - "reference": "773f97c67f28de00d397be301821b06708fca0be" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/773f97c67f28de00d397be301821b06708fca0be", - "reference": "773f97c67f28de00d397be301821b06708fca0be", - "shasum": "" - }, - "require": { - "php": "^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^6.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.1-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Allows reflection of object attributes, including inherited and non-public ones", - "homepage": "https://github.com/sebastianbergmann/object-reflector/", - "time": "2017-03-29T09:07:27+00:00" - }, - { - "name": "sebastian/recursion-context", - "version": "3.0.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8", - "reference": "5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8", - "shasum": "" - }, - "require": { - "php": "^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^6.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" - } - ], - "description": "Provides functionality to recursively process PHP variables", - "homepage": "http://www.github.com/sebastianbergmann/recursion-context", - "time": "2017-03-03T06:23:57+00:00" - }, - { - "name": "sebastian/resource-operations", - "version": "2.0.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/resource-operations.git", - "reference": "4d7a795d35b889bf80a0cc04e08d77cedfa917a9" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/4d7a795d35b889bf80a0cc04e08d77cedfa917a9", - "reference": "4d7a795d35b889bf80a0cc04e08d77cedfa917a9", - "shasum": "" - }, - "require": { - "php": "^7.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Provides a list of PHP built-in functions that operate on resources", - "homepage": "https://www.github.com/sebastianbergmann/resource-operations", - "time": "2018-10-04T04:07:39+00:00" - }, - { - "name": "sebastian/version", - "version": "2.0.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/version.git", - "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/99732be0ddb3361e16ad77b68ba41efc8e979019", - "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019", - "shasum": "" - }, - "require": { - "php": ">=5.6" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Library that helps with managing the version number of Git-hosted PHP projects", - "homepage": "https://github.com/sebastianbergmann/version", - "time": "2016-10-03T07:35:21+00:00" - }, - { - "name": "theseer/tokenizer", - "version": "1.1.2", - "source": { - "type": "git", - "url": "https://github.com/theseer/tokenizer.git", - "reference": "1c42705be2b6c1de5904f8afacef5895cab44bf8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/theseer/tokenizer/zipball/1c42705be2b6c1de5904f8afacef5895cab44bf8", - "reference": "1c42705be2b6c1de5904f8afacef5895cab44bf8", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-tokenizer": "*", - "ext-xmlwriter": "*", - "php": "^7.0" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Arne Blankerts", - "email": "arne@blankerts.de", - "role": "Developer" - } - ], - "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", - "time": "2019-04-04T09:56:43+00:00" - } - ], - "aliases": [], - "minimum-stability": "stable", - "stability-flags": [], - "prefer-stable": false, - "prefer-lowest": false, - "platform": { - "php": "^7.1" - }, - "platform-dev": { - "ext-tokenizer": "^7.1" - } -} diff --git a/paragonik-backend/vendor/phpdocumentor/type-resolver/phive.xml b/paragonik-backend/vendor/phpdocumentor/type-resolver/phive.xml deleted file mode 100644 index 9908931..0000000 --- a/paragonik-backend/vendor/phpdocumentor/type-resolver/phive.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/paragonik-backend/vendor/phpdocumentor/type-resolver/phpcs.xml.dist b/paragonik-backend/vendor/phpdocumentor/type-resolver/phpcs.xml.dist deleted file mode 100644 index c030e8d..0000000 --- a/paragonik-backend/vendor/phpdocumentor/type-resolver/phpcs.xml.dist +++ /dev/null @@ -1,30 +0,0 @@ - - - The coding standard for phpDocumentor. - - src - tests/unit - */tests/unit/Types/ContextFactoryTest.php - - - *\.php - - - - - - - - */src/*_.php - - - - */src/*/Abstract*.php - - - - - - - - diff --git a/paragonik-backend/vendor/phpdocumentor/type-resolver/phpstan.neon b/paragonik-backend/vendor/phpdocumentor/type-resolver/phpstan.neon deleted file mode 100644 index 73a7e51..0000000 --- a/paragonik-backend/vendor/phpdocumentor/type-resolver/phpstan.neon +++ /dev/null @@ -1,7 +0,0 @@ -parameters: - ignoreErrors: - - - message: '#Parameter \#1 \$types of class phpDocumentor\\Reflection\\Types\\Compound constructor expects array, array given\.#' - path: %currentWorkingDirectory%/tests/unit/Types/CompoundTest.php - - message: '#Parameter \#2 \$fileContents of method phpDocumentor\\Reflection\\Types\\ContextFactory::createForNamespace\(\) expects string, string|false given\.#' - path: %currentWorkingDirectory%/tests/unit/Types/ContextFactoryTest.php diff --git a/paragonik-backend/vendor/phpdocumentor/type-resolver/psalm.xml b/paragonik-backend/vendor/phpdocumentor/type-resolver/psalm.xml deleted file mode 100644 index 9fedb8a..0000000 --- a/paragonik-backend/vendor/phpdocumentor/type-resolver/psalm.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - diff --git a/paragonik-backend/vendor/phpdocumentor/type-resolver/src/FqsenResolver.php b/paragonik-backend/vendor/phpdocumentor/type-resolver/src/FqsenResolver.php deleted file mode 100644 index 1f9fe50..0000000 --- a/paragonik-backend/vendor/phpdocumentor/type-resolver/src/FqsenResolver.php +++ /dev/null @@ -1,74 +0,0 @@ -isFqsen($fqsen)) { - return new Fqsen($fqsen); - } - - return $this->resolvePartialStructuralElementName($fqsen, $context); - } - - /** - * Tests whether the given type is a Fully Qualified Structural Element Name. - */ - private function isFqsen(string $type) : bool - { - return strpos($type, self::OPERATOR_NAMESPACE) === 0; - } - - /** - * Resolves a partial Structural Element Name (i.e. `Reflection\DocBlock`) to its FQSEN representation - * (i.e. `\phpDocumentor\Reflection\DocBlock`) based on the Namespace and aliases mentioned in the Context. - * - * @throws InvalidArgumentException When type is not a valid FQSEN. - */ - private function resolvePartialStructuralElementName(string $type, Context $context) : Fqsen - { - $typeParts = explode(self::OPERATOR_NAMESPACE, $type, 2); - - $namespaceAliases = $context->getNamespaceAliases(); - - // if the first segment is not an alias; prepend namespace name and return - if (!isset($namespaceAliases[$typeParts[0]])) { - $namespace = $context->getNamespace(); - if ($namespace !== '') { - $namespace .= self::OPERATOR_NAMESPACE; - } - - return new Fqsen(self::OPERATOR_NAMESPACE . $namespace . $type); - } - - $typeParts[0] = $namespaceAliases[$typeParts[0]]; - - return new Fqsen(self::OPERATOR_NAMESPACE . implode(self::OPERATOR_NAMESPACE, $typeParts)); - } -} diff --git a/paragonik-backend/vendor/phpdocumentor/type-resolver/src/Type.php b/paragonik-backend/vendor/phpdocumentor/type-resolver/src/Type.php deleted file mode 100644 index fc931eb..0000000 --- a/paragonik-backend/vendor/phpdocumentor/type-resolver/src/Type.php +++ /dev/null @@ -1,22 +0,0 @@ - List of recognized keywords and unto which Value Object they map - * @psalm-var array> - */ - private $keywords = [ - 'string' => Types\String_::class, - 'int' => Types\Integer::class, - 'integer' => Types\Integer::class, - 'bool' => Types\Boolean::class, - 'boolean' => Types\Boolean::class, - 'real' => Types\Float_::class, - 'float' => Types\Float_::class, - 'double' => Types\Float_::class, - 'object' => Object_::class, - 'mixed' => Types\Mixed_::class, - 'array' => Array_::class, - 'resource' => Types\Resource_::class, - 'void' => Types\Void_::class, - 'null' => Types\Null_::class, - 'scalar' => Types\Scalar::class, - 'callback' => Types\Callable_::class, - 'callable' => Types\Callable_::class, - 'false' => Types\Boolean::class, - 'true' => Types\Boolean::class, - 'self' => Types\Self_::class, - '$this' => Types\This::class, - 'static' => Types\Static_::class, - 'parent' => Types\Parent_::class, - 'iterable' => Iterable_::class, - ]; - - /** @var FqsenResolver */ - private $fqsenResolver; - - /** - * Initializes this TypeResolver with the means to create and resolve Fqsen objects. - */ - public function __construct(?FqsenResolver $fqsenResolver = null) - { - $this->fqsenResolver = $fqsenResolver ?: new FqsenResolver(); - } - - /** - * Analyzes the given type and returns the FQCN variant. - * - * When a type is provided this method checks whether it is not a keyword or - * Fully Qualified Class Name. If so it will use the given namespace and - * aliases to expand the type to a FQCN representation. - * - * This method only works as expected if the namespace and aliases are set; - * no dynamic reflection is being performed here. - * - * @uses Context::getNamespaceAliases() to check whether the first part of the relative type name should not be - * replaced with another namespace. - * @uses Context::getNamespace() to determine with what to prefix the type name. - * - * @param string $type The relative or absolute type. - */ - public function resolve(string $type, ?Context $context = null) : Type - { - $type = trim($type); - if (!$type) { - throw new InvalidArgumentException('Attempted to resolve "' . $type . '" but it appears to be empty'); - } - - if ($context === null) { - $context = new Context(''); - } - - // split the type string into tokens `|`, `?`, `<`, `>`, `,`, `(`, `)[]`, '<', '>' and type names - $tokens = preg_split( - '/(\\||\\?|<|>|, ?|\\(|\\)(?:\\[\\])+)/', - $type, - -1, - PREG_SPLIT_NO_EMPTY | PREG_SPLIT_DELIM_CAPTURE - ); - - if ($tokens === false) { - throw new InvalidArgumentException('Unable to split the type string "' . $type . '" into tokens'); - } - - $tokenIterator = new ArrayIterator($tokens); - - return $this->parseTypes($tokenIterator, $context, self::PARSER_IN_COMPOUND); - } - - /** - * Analyse each tokens and creates types - * - * @param ArrayIterator $tokens the iterator on tokens - * @param int $parserContext on of self::PARSER_* constants, indicating - * the context where we are in the parsing - */ - private function parseTypes(ArrayIterator $tokens, Context $context, int $parserContext) : Type - { - $types = []; - $token = ''; - while ($tokens->valid()) { - $token = $tokens->current(); - - if ($token === '|') { - if (count($types) === 0) { - throw new RuntimeException( - 'A type is missing before a type separator' - ); - } - - if ($parserContext !== self::PARSER_IN_COMPOUND - && $parserContext !== self::PARSER_IN_ARRAY_EXPRESSION - && $parserContext !== self::PARSER_IN_COLLECTION_EXPRESSION - ) { - throw new RuntimeException( - 'Unexpected type separator' - ); - } - - $tokens->next(); - } elseif ($token === '?') { - if ($parserContext !== self::PARSER_IN_COMPOUND - && $parserContext !== self::PARSER_IN_ARRAY_EXPRESSION - && $parserContext !== self::PARSER_IN_COLLECTION_EXPRESSION - ) { - throw new RuntimeException( - 'Unexpected nullable character' - ); - } - - $tokens->next(); - $type = $this->parseTypes($tokens, $context, self::PARSER_IN_NULLABLE); - $types[] = new Nullable($type); - } elseif ($token === '(') { - $tokens->next(); - $type = $this->parseTypes($tokens, $context, self::PARSER_IN_ARRAY_EXPRESSION); - - $resolvedType = new Array_($type); - - $token = $tokens->current(); - // Someone did not properly close their array expression .. - if ($token === null) { - break; - } - - // we generate arrays corresponding to the number of '[]' after the ')' - $numberOfArrays = (strlen($token) - 1) / 2; - for ($i = 0; $i < $numberOfArrays - 1; ++$i) { - $resolvedType = new Array_($resolvedType); - } - - $types[] = $resolvedType; - $tokens->next(); - } elseif ($parserContext === self::PARSER_IN_ARRAY_EXPRESSION && $token[0] === ')') { - break; - } elseif ($token === '<') { - if (count($types) === 0) { - throw new RuntimeException( - 'Unexpected collection operator "<", class name is missing' - ); - } - - $classType = array_pop($types); - if ($classType !== null) { - $types[] = $this->resolveCollection($tokens, $classType, $context); - } - - $tokens->next(); - } elseif ($parserContext === self::PARSER_IN_COLLECTION_EXPRESSION - && ($token === '>' || trim($token) === ',') - ) { - break; - } else { - $type = $this->resolveSingleType($token, $context); - $tokens->next(); - if ($parserContext === self::PARSER_IN_NULLABLE) { - return $type; - } - - $types[] = $type; - } - } - - if ($token === '|') { - throw new RuntimeException( - 'A type is missing after a type separator' - ); - } - - if (count($types) === 0) { - if ($parserContext === self::PARSER_IN_NULLABLE) { - throw new RuntimeException( - 'A type is missing after a nullable character' - ); - } - - if ($parserContext === self::PARSER_IN_ARRAY_EXPRESSION) { - throw new RuntimeException( - 'A type is missing in an array expression' - ); - } - - if ($parserContext === self::PARSER_IN_COLLECTION_EXPRESSION) { - throw new RuntimeException( - 'A type is missing in a collection expression' - ); - } - } elseif (count($types) === 1) { - return $types[0]; - } - - return new Compound($types); - } - - /** - * resolve the given type into a type object - * - * @param string $type the type string, representing a single type - * - * @return Type|Array_|Object_ - */ - private function resolveSingleType(string $type, Context $context) - { - switch (true) { - case $this->isKeyword($type): - return $this->resolveKeyword($type); - case $this->isTypedArray($type): - return $this->resolveTypedArray($type, $context); - case $this->isFqsen($type): - return $this->resolveTypedObject($type); - case $this->isPartialStructuralElementName($type): - return $this->resolveTypedObject($type, $context); - // @codeCoverageIgnoreStart - default: - // I haven't got the foggiest how the logic would come here but added this as a defense. - throw new RuntimeException( - 'Unable to resolve type "' . $type . '", there is no known method to resolve it' - ); - } - - // @codeCoverageIgnoreEnd - } - - /** - * Adds a keyword to the list of Keywords and associates it with a specific Value Object. - */ - public function addKeyword(string $keyword, string $typeClassName) : void - { - if (!class_exists($typeClassName)) { - throw new InvalidArgumentException( - 'The Value Object that needs to be created with a keyword "' . $keyword . '" must be an existing class' - . ' but we could not find the class ' . $typeClassName - ); - } - - if (!in_array(Type::class, class_implements($typeClassName), true)) { - throw new InvalidArgumentException( - 'The class "' . $typeClassName . '" must implement the interface "phpDocumentor\Reflection\Type"' - ); - } - - $this->keywords[$keyword] = $typeClassName; - } - - /** - * Detects whether the given type represents an array. - * - * @param string $type A relative or absolute type as defined in the phpDocumentor documentation. - */ - private function isTypedArray(string $type) : bool - { - return substr($type, -2) === self::OPERATOR_ARRAY; - } - - /** - * Detects whether the given type represents a PHPDoc keyword. - * - * @param string $type A relative or absolute type as defined in the phpDocumentor documentation. - */ - private function isKeyword(string $type) : bool - { - return in_array(strtolower($type), array_keys($this->keywords), true); - } - - /** - * Detects whether the given type represents a relative structural element name. - * - * @param string $type A relative or absolute type as defined in the phpDocumentor documentation. - */ - private function isPartialStructuralElementName(string $type) : bool - { - return ($type[0] !== self::OPERATOR_NAMESPACE) && !$this->isKeyword($type); - } - - /** - * Tests whether the given type is a Fully Qualified Structural Element Name. - */ - private function isFqsen(string $type) : bool - { - return strpos($type, self::OPERATOR_NAMESPACE) === 0; - } - - /** - * Resolves the given typed array string (i.e. `string[]`) into an Array object with the right types set. - */ - private function resolveTypedArray(string $type, Context $context) : Array_ - { - return new Array_($this->resolveSingleType(substr($type, 0, -2), $context)); - } - - /** - * Resolves the given keyword (such as `string`) into a Type object representing that keyword. - */ - private function resolveKeyword(string $type) : Type - { - $className = $this->keywords[strtolower($type)]; - return new $className(); - } - - /** - * Resolves the given FQSEN string into an FQSEN object. - */ - private function resolveTypedObject(string $type, ?Context $context = null) : Object_ - { - return new Object_($this->fqsenResolver->resolve($type, $context)); - } - - /** - * Resolves the collection values and keys - * - * @return Array_|Collection - */ - private function resolveCollection(ArrayIterator $tokens, Type $classType, Context $context) : Type - { - $isArray = ((string) $classType === 'array'); - - // allow only "array" or class name before "<" - if (!$isArray - && (!$classType instanceof Object_ || $classType->getFqsen() === null)) { - throw new RuntimeException( - $classType . ' is not a collection' - ); - } - - $tokens->next(); - - $valueType = $this->parseTypes($tokens, $context, self::PARSER_IN_COLLECTION_EXPRESSION); - $keyType = null; - - if ($tokens->current() !== null && trim($tokens->current()) === ',') { - // if we have a comma, then we just parsed the key type, not the value type - $keyType = $valueType; - if ($isArray) { - // check the key type for an "array" collection. We allow only - // strings or integers. - if (!$keyType instanceof String_ && - !$keyType instanceof Integer && - !$keyType instanceof Compound - ) { - throw new RuntimeException( - 'An array can have only integers or strings as keys' - ); - } - - if ($keyType instanceof Compound) { - foreach ($keyType->getIterator() as $item) { - if (!$item instanceof String_ && - !$item instanceof Integer - ) { - throw new RuntimeException( - 'An array can have only integers or strings as keys' - ); - } - } - } - } - - $tokens->next(); - // now let's parse the value type - $valueType = $this->parseTypes($tokens, $context, self::PARSER_IN_COLLECTION_EXPRESSION); - } - - if ($tokens->current() !== '>') { - if (empty($tokens->current())) { - throw new RuntimeException( - 'Collection: ">" is missing' - ); - } - - throw new RuntimeException( - 'Unexpected character "' . $tokens->current() . '", ">" is missing' - ); - } - - if ($isArray) { - return new Array_($valueType, $keyType); - } - - /** @psalm-suppress RedundantCondition */ - if ($classType instanceof Object_) { - return $this->makeCollectionFromObject($classType, $valueType, $keyType); - } - - throw new RuntimeException('Invalid $classType provided'); - } - - private function makeCollectionFromObject(Object_ $object, Type $valueType, ?Type $keyType = null) : Collection - { - return new Collection($object->getFqsen(), $valueType, $keyType); - } -} diff --git a/paragonik-backend/vendor/phpdocumentor/type-resolver/src/Types/AbstractList.php b/paragonik-backend/vendor/phpdocumentor/type-resolver/src/Types/AbstractList.php deleted file mode 100644 index 06260bc..0000000 --- a/paragonik-backend/vendor/phpdocumentor/type-resolver/src/Types/AbstractList.php +++ /dev/null @@ -1,85 +0,0 @@ -valueType = $valueType; - $this->defaultKeyType = new Compound([new String_(), new Integer()]); - $this->keyType = $keyType; - } - - /** - * Returns the type for the keys of this array. - */ - public function getKeyType() : Type - { - if ($this->keyType === null) { - return $this->defaultKeyType; - } - - return $this->keyType; - } - - /** - * Returns the value for the keys of this array. - */ - public function getValueType() : Type - { - return $this->valueType; - } - - /** - * Returns a rendered output of the Type as it would be used in a DocBlock. - */ - public function __toString() : string - { - if ($this->keyType) { - return 'array<' . $this->keyType . ',' . $this->valueType . '>'; - } - - if ($this->valueType instanceof Mixed_) { - return 'array'; - } - - if ($this->valueType instanceof Compound) { - return '(' . $this->valueType . ')[]'; - } - - return $this->valueType . '[]'; - } -} diff --git a/paragonik-backend/vendor/phpdocumentor/type-resolver/src/Types/Array_.php b/paragonik-backend/vendor/phpdocumentor/type-resolver/src/Types/Array_.php deleted file mode 100644 index 7e3b13f..0000000 --- a/paragonik-backend/vendor/phpdocumentor/type-resolver/src/Types/Array_.php +++ /dev/null @@ -1,27 +0,0 @@ -` - * 2. `ACollectionObject` - * - * - ACollectionObject can be 'array' or an object that can act as an array - * - aValueType and aKeyType can be any type expression - */ -final class Collection extends AbstractList -{ - /** @var Fqsen|null */ - private $fqsen; - - /** - * Initializes this representation of an array with the given Type or Fqsen. - */ - public function __construct(?Fqsen $fqsen, Type $valueType, ?Type $keyType = null) - { - parent::__construct($valueType, $keyType); - - $this->fqsen = $fqsen; - } - - /** - * Returns the FQSEN associated with this object. - */ - public function getFqsen() : ?Fqsen - { - return $this->fqsen; - } - - /** - * Returns a rendered output of the Type as it would be used in a DocBlock. - */ - public function __toString() : string - { - $objectType = (string) ($this->fqsen ?? 'object'); - - if ($this->keyType === null) { - return $objectType . '<' . $this->valueType . '>'; - } - - return $objectType . '<' . $this->keyType . ',' . $this->valueType . '>'; - } -} diff --git a/paragonik-backend/vendor/phpdocumentor/type-resolver/src/Types/Compound.php b/paragonik-backend/vendor/phpdocumentor/type-resolver/src/Types/Compound.php deleted file mode 100644 index 1da7bf9..0000000 --- a/paragonik-backend/vendor/phpdocumentor/type-resolver/src/Types/Compound.php +++ /dev/null @@ -1,88 +0,0 @@ -types = $types; - } - - /** - * Returns the type at the given index. - */ - public function get(int $index) : ?Type - { - if (!$this->has($index)) { - return null; - } - - return $this->types[$index]; - } - - /** - * Tests if this compound type has a type with the given index. - */ - public function has(int $index) : bool - { - return isset($this->types[$index]); - } - - /** - * Returns a rendered output of the Type as it would be used in a DocBlock. - */ - public function __toString() : string - { - return implode('|', $this->types); - } - - /** - * {@inheritdoc} - */ - public function getIterator() - { - return new ArrayIterator($this->types); - } -} diff --git a/paragonik-backend/vendor/phpdocumentor/type-resolver/src/Types/Context.php b/paragonik-backend/vendor/phpdocumentor/type-resolver/src/Types/Context.php deleted file mode 100644 index 6e29baa..0000000 --- a/paragonik-backend/vendor/phpdocumentor/type-resolver/src/Types/Context.php +++ /dev/null @@ -1,88 +0,0 @@ - Fully Qualified Namespace. */ - private $namespaceAliases; - - /** - * Initializes the new context and normalizes all passed namespaces to be in Qualified Namespace Name (QNN) - * format (without a preceding `\`). - * - * @param string $namespace The namespace where this DocBlock resides in. - * @param string[] $namespaceAliases List of namespace aliases => Fully Qualified Namespace. - */ - public function __construct(string $namespace, array $namespaceAliases = []) - { - $this->namespace = $namespace !== 'global' && $namespace !== 'default' - ? trim($namespace, '\\') - : ''; - - foreach ($namespaceAliases as $alias => $fqnn) { - if ($fqnn[0] === '\\') { - $fqnn = substr($fqnn, 1); - } - - if ($fqnn[strlen($fqnn) - 1] === '\\') { - $fqnn = substr($fqnn, 0, -1); - } - - $namespaceAliases[$alias] = $fqnn; - } - - $this->namespaceAliases = $namespaceAliases; - } - - /** - * Returns the Qualified Namespace Name (thus without `\` in front) where the associated element is in. - */ - public function getNamespace() : string - { - return $this->namespace; - } - - /** - * Returns a list of Qualified Namespace Names (thus without `\` in front) that are imported, the keys represent - * the alias for the imported Namespace. - * - * @return string[] - */ - public function getNamespaceAliases() : array - { - return $this->namespaceAliases; - } -} diff --git a/paragonik-backend/vendor/phpdocumentor/type-resolver/src/Types/ContextFactory.php b/paragonik-backend/vendor/phpdocumentor/type-resolver/src/Types/ContextFactory.php deleted file mode 100644 index 851a3c2..0000000 --- a/paragonik-backend/vendor/phpdocumentor/type-resolver/src/Types/ContextFactory.php +++ /dev/null @@ -1,350 +0,0 @@ -createFromReflectionClass($reflector); - } - - if ($reflector instanceof ReflectionParameter) { - return $this->createFromReflectionParameter($reflector); - } - - if ($reflector instanceof ReflectionMethod) { - return $this->createFromReflectionMethod($reflector); - } - - if ($reflector instanceof ReflectionProperty) { - return $this->createFromReflectionProperty($reflector); - } - - if ($reflector instanceof ReflectionClassConstant) { - return $this->createFromReflectionClassConstant($reflector); - } - - throw new UnexpectedValueException('Unhandled \Reflector instance given: ' . get_class($reflector)); - } - - private function createFromReflectionParameter(ReflectionParameter $parameter) : Context - { - $class = $parameter->getDeclaringClass(); - if ($class) { - return $this->createFromReflectionClass($class); - } - - throw new InvalidArgumentException('Unable to get class of ' . $parameter->getName()); - } - - private function createFromReflectionMethod(ReflectionMethod $method) : Context - { - return $this->createFromReflectionClass($method->getDeclaringClass()); - } - - private function createFromReflectionProperty(ReflectionProperty $property) : Context - { - return $this->createFromReflectionClass($property->getDeclaringClass()); - } - - private function createFromReflectionClassConstant(ReflectionClassConstant $constant) : Context - { - return $this->createFromReflectionClass($constant->getDeclaringClass()); - } - - private function createFromReflectionClass(ReflectionClass $class) : Context - { - $fileName = $class->getFileName(); - $namespace = $class->getNamespaceName(); - - if (is_string($fileName) && file_exists($fileName)) { - $contents = file_get_contents($fileName); - if ($contents === false) { - throw new RuntimeException('Unable to read file "' . $fileName . '"'); - } - - return $this->createForNamespace($namespace, $contents); - } - - return new Context($namespace, []); - } - - /** - * Build a Context for a namespace in the provided file contents. - * - * @see Context for more information on Contexts. - * - * @param string $namespace It does not matter if a `\` precedes the namespace name, - * this method first normalizes. - * @param string $fileContents The file's contents to retrieve the aliases from with the given namespace. - */ - public function createForNamespace(string $namespace, string $fileContents) : Context - { - $namespace = trim($namespace, '\\'); - $useStatements = []; - $currentNamespace = ''; - $tokens = new ArrayIterator(token_get_all($fileContents)); - - while ($tokens->valid()) { - switch ($tokens->current()[0]) { - case T_NAMESPACE: - $currentNamespace = $this->parseNamespace($tokens); - break; - case T_CLASS: - // Fast-forward the iterator through the class so that any - // T_USE tokens found within are skipped - these are not - // valid namespace use statements so should be ignored. - $braceLevel = 0; - $firstBraceFound = false; - while ($tokens->valid() && ($braceLevel > 0 || !$firstBraceFound)) { - if ($tokens->current() === '{' - || $tokens->current()[0] === T_CURLY_OPEN - || $tokens->current()[0] === T_DOLLAR_OPEN_CURLY_BRACES) { - if (!$firstBraceFound) { - $firstBraceFound = true; - } - - ++$braceLevel; - } - - if ($tokens->current() === '}') { - --$braceLevel; - } - - $tokens->next(); - } - break; - case T_USE: - if ($currentNamespace === $namespace) { - $useStatements = array_merge($useStatements, $this->parseUseStatement($tokens)); - } - break; - } - - $tokens->next(); - } - - return new Context($namespace, $useStatements); - } - - /** - * Deduce the name from tokens when we are at the T_NAMESPACE token. - */ - private function parseNamespace(ArrayIterator $tokens) : string - { - // skip to the first string or namespace separator - $this->skipToNextStringOrNamespaceSeparator($tokens); - - $name = ''; - while ($tokens->valid() && ($tokens->current()[0] === T_STRING || $tokens->current()[0] === T_NS_SEPARATOR) - ) { - $name .= $tokens->current()[1]; - $tokens->next(); - } - - return $name; - } - - /** - * Deduce the names of all imports when we are at the T_USE token. - * - * @return string[] - */ - private function parseUseStatement(ArrayIterator $tokens) : array - { - $uses = []; - - while (true) { - $this->skipToNextStringOrNamespaceSeparator($tokens); - - $uses = array_merge($uses, $this->extractUseStatements($tokens)); - if ($tokens->current()[0] === self::T_LITERAL_END_OF_USE) { - return $uses; - } - } - - return $uses; - } - - /** - * Fast-forwards the iterator as longs as we don't encounter a T_STRING or T_NS_SEPARATOR token. - */ - private function skipToNextStringOrNamespaceSeparator(ArrayIterator $tokens) : void - { - while ($tokens->valid() && ($tokens->current()[0] !== T_STRING) && ($tokens->current()[0] !== T_NS_SEPARATOR)) { - $tokens->next(); - } - } - - /** - * Deduce the namespace name and alias of an import when we are at the T_USE token or have not reached the end of - * a USE statement yet. This will return a key/value array of the alias => namespace. - * - * @return string[] - * - * @psalm-suppress TypeDoesNotContainType - */ - private function extractUseStatements(ArrayIterator $tokens) : array - { - $extractedUseStatements = []; - $groupedNs = ''; - $currentNs = ''; - $currentAlias = ''; - $state = 'start'; - - while ($tokens->valid()) { - $currentToken = $tokens->current(); - $tokenId = is_string($currentToken) ? $currentToken : $currentToken[0]; - $tokenValue = is_string($currentToken) ? null : $currentToken[1]; - switch ($state) { - case 'start': - switch ($tokenId) { - case T_STRING: - case T_NS_SEPARATOR: - $currentNs .= $tokenValue; - $currentAlias = $tokenValue; - break; - case T_CURLY_OPEN: - case '{': - $state = 'grouped'; - $groupedNs = $currentNs; - break; - case T_AS: - $state = 'start-alias'; - break; - case self::T_LITERAL_USE_SEPARATOR: - case self::T_LITERAL_END_OF_USE: - $state = 'end'; - break; - default: - break; - } - break; - case 'start-alias': - switch ($tokenId) { - case T_STRING: - $currentAlias = $tokenValue; - break; - case self::T_LITERAL_USE_SEPARATOR: - case self::T_LITERAL_END_OF_USE: - $state = 'end'; - break; - default: - break; - } - break; - case 'grouped': - switch ($tokenId) { - case T_STRING: - case T_NS_SEPARATOR: - $currentNs .= $tokenValue; - $currentAlias = $tokenValue; - break; - case T_AS: - $state = 'grouped-alias'; - break; - case self::T_LITERAL_USE_SEPARATOR: - $state = 'grouped'; - $extractedUseStatements[$currentAlias] = $currentNs; - $currentNs = $groupedNs; - $currentAlias = ''; - break; - case self::T_LITERAL_END_OF_USE: - $state = 'end'; - break; - default: - break; - } - break; - case 'grouped-alias': - switch ($tokenId) { - case T_STRING: - $currentAlias = $tokenValue; - break; - case self::T_LITERAL_USE_SEPARATOR: - $state = 'grouped'; - $extractedUseStatements[$currentAlias] = $currentNs; - $currentNs = $groupedNs; - $currentAlias = ''; - break; - case self::T_LITERAL_END_OF_USE: - $state = 'end'; - break; - default: - break; - } - } - - if ($state === 'end') { - break; - } - - $tokens->next(); - } - - if ($groupedNs !== $currentNs) { - $extractedUseStatements[$currentAlias] = $currentNs; - } - - return $extractedUseStatements; - } -} diff --git a/paragonik-backend/vendor/phpdocumentor/type-resolver/src/Types/Float_.php b/paragonik-backend/vendor/phpdocumentor/type-resolver/src/Types/Float_.php deleted file mode 100644 index 7149c93..0000000 --- a/paragonik-backend/vendor/phpdocumentor/type-resolver/src/Types/Float_.php +++ /dev/null @@ -1,30 +0,0 @@ -realType = $realType; - } - - /** - * Provide access to the actual type directly, if needed. - */ - public function getActualType() : Type - { - return $this->realType; - } - - /** - * Returns a rendered output of the Type as it would be used in a DocBlock. - */ - public function __toString() : string - { - return '?' . $this->realType->__toString(); - } -} diff --git a/paragonik-backend/vendor/phpdocumentor/type-resolver/src/Types/Object_.php b/paragonik-backend/vendor/phpdocumentor/type-resolver/src/Types/Object_.php deleted file mode 100644 index 3155699..0000000 --- a/paragonik-backend/vendor/phpdocumentor/type-resolver/src/Types/Object_.php +++ /dev/null @@ -1,66 +0,0 @@ -fqsen = $fqsen; - } - - /** - * Returns the FQSEN associated with this object. - */ - public function getFqsen() : ?Fqsen - { - return $this->fqsen; - } - - public function __toString() : string - { - if ($this->fqsen) { - return (string) $this->fqsen; - } - - return 'object'; - } -} diff --git a/paragonik-backend/vendor/phpdocumentor/type-resolver/src/Types/Parent_.php b/paragonik-backend/vendor/phpdocumentor/type-resolver/src/Types/Parent_.php deleted file mode 100644 index 8d7efb6..0000000 --- a/paragonik-backend/vendor/phpdocumentor/type-resolver/src/Types/Parent_.php +++ /dev/null @@ -1,32 +0,0 @@ - - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -namespace PhpOption; - -final class LazyOption extends Option -{ - /** @var callable */ - private $callback; - - /** @var array */ - private $arguments; - - /** @var Option|null */ - private $option; - - /** - * @param callable $callback - * @param array $arguments - * - * @return LazyOption - */ - public static function create($callback, array $arguments = []) - { - return new self($callback, $arguments); - } - - /** - * @param callable $callback - * @param array $arguments - */ - public function __construct($callback, array $arguments = []) - { - if (!is_callable($callback)) { - throw new \InvalidArgumentException('Invalid callback given'); - } - - $this->callback = $callback; - $this->arguments = $arguments; - } - - public function isDefined() - { - return $this->option()->isDefined(); - } - - public function isEmpty() - { - return $this->option()->isEmpty(); - } - - public function get() - { - return $this->option()->get(); - } - - public function getOrElse($default) - { - return $this->option()->getOrElse($default); - } - - public function getOrCall($callable) - { - return $this->option()->getOrCall($callable); - } - - public function getOrThrow(\Exception $ex) - { - return $this->option()->getOrThrow($ex); - } - - public function orElse(Option $else) - { - return $this->option()->orElse($else); - } - - /** - * @deprecated Use forAll() instead. - */ - public function ifDefined($callable) - { - $this->option()->ifDefined($callable); - } - - public function forAll($callable) - { - return $this->option()->forAll($callable); - } - - public function map($callable) - { - return $this->option()->map($callable); - } - - public function flatMap($callable) - { - return $this->option()->flatMap($callable); - } - - public function filter($callable) - { - return $this->option()->filter($callable); - } - - public function filterNot($callable) - { - return $this->option()->filterNot($callable); - } - - public function select($value) - { - return $this->option()->select($value); - } - - public function reject($value) - { - return $this->option()->reject($value); - } - - public function getIterator() - { - return $this->option()->getIterator(); - } - - public function foldLeft($initialValue, $callable) - { - return $this->option()->foldLeft($initialValue, $callable); - } - - public function foldRight($initialValue, $callable) - { - return $this->option()->foldRight($initialValue, $callable); - } - - /** - * @return Option - */ - private function option() - { - if (null === $this->option) { - $this->option = call_user_func_array($this->callback, $this->arguments); - if (!$this->option instanceof Option) { - $this->option = null; - - throw new \RuntimeException(sprintf('Expected instance of \%s', Option::class)); - } - } - - return $this->option; - } -} diff --git a/paragonik-backend/vendor/phpoption/phpoption/src/PhpOption/None.php b/paragonik-backend/vendor/phpoption/phpoption/src/PhpOption/None.php deleted file mode 100644 index 37a365f..0000000 --- a/paragonik-backend/vendor/phpoption/phpoption/src/PhpOption/None.php +++ /dev/null @@ -1,132 +0,0 @@ - - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -namespace PhpOption; - -use EmptyIterator; - -final class None extends Option -{ - private static $instance; - - public static function create() - { - if (null === self::$instance) { - self::$instance = new self(); - } - - return self::$instance; - } - - public function get() - { - throw new \RuntimeException('None has no value.'); - } - - public function getOrCall($callable) - { - return $callable(); - } - - public function getOrElse($default) - { - return $default; - } - - public function getOrThrow(\Exception $ex) - { - throw $ex; - } - - public function isEmpty() - { - return true; - } - - public function isDefined() - { - return false; - } - - public function orElse(Option $else) - { - return $else; - } - - /** - * @deprecated Use forAll() instead. - */ - public function ifDefined($callable) - { - // Just do nothing in that case. - } - - public function forAll($callable) - { - return $this; - } - - public function map($callable) - { - return $this; - } - - public function flatMap($callable) - { - return $this; - } - - public function filter($callable) - { - return $this; - } - - public function filterNot($callable) - { - return $this; - } - - public function select($value) - { - return $this; - } - - public function reject($value) - { - return $this; - } - - public function getIterator() - { - return new EmptyIterator(); - } - - public function foldLeft($initialValue, $callable) - { - return $initialValue; - } - - public function foldRight($initialValue, $callable) - { - return $initialValue; - } - - private function __construct() - { - } -} diff --git a/paragonik-backend/vendor/phpoption/phpoption/src/PhpOption/Option.php b/paragonik-backend/vendor/phpoption/phpoption/src/PhpOption/Option.php deleted file mode 100644 index 280b5e0..0000000 --- a/paragonik-backend/vendor/phpoption/phpoption/src/PhpOption/Option.php +++ /dev/null @@ -1,397 +0,0 @@ - - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -namespace PhpOption; - -use IteratorAggregate; - -/** - * Base Option Class. - * - * @author Johannes M. Schmitt - */ -abstract class Option implements IteratorAggregate -{ - /** - * Creates an option given a return value. - * - * This is intended for consuming existing APIs and allows you to easily - * convert them to an option. By default, we treat ``null`` as the None - * case, and everything else as Some. - * - * @param mixed $value The actual return value. - * @param mixed $noneValue The value which should be considered "None"; - * null by default. - * - * @return Option - */ - public static function fromValue($value, $noneValue = null) - { - if ($value === $noneValue) { - return None::create(); - } - - return new Some($value); - } - - /** - * Creates an option from an array's value. - * - * If the key does not exist in the array, the array is not actually an - * array, or the array's value at the given key is null, None is returned. - * Otherwise, Some is returned wrapping the value at the given key. - * - * @param mixed $array A potential array value. - * @param string $key The key to check. - * - * @return Option - */ - public static function fromArraysValue($array, $key) - { - if (!is_array($array) || !isset($array[$key])) { - return None::create(); - } - - return new Some($array[$key]); - } - - /** - * Creates a lazy-option with the given callback. - * - * This is also a helper constructor for lazy-consuming existing APIs where - * the return value is not yet an option. By default, we treat ``null`` as - * None case, and everything else as Some. - * - * @param callable $callback The callback to evaluate. - * @param array $arguments The arguments for the callback. - * @param mixed $noneValue The value which should be considered "None"; null - * by default. - * - * @return Option - */ - public static function fromReturn($callback, array $arguments = [], $noneValue = null) - { - return new LazyOption(function () use ($callback, $arguments, $noneValue) { - $return = call_user_func_array($callback, $arguments); - - if ($return === $noneValue) { - return None::create(); - } - - return new Some($return); - }); - } - - /** - * Option factory, which creates new option based on passed value. - * - * If value is already an option, it simply returns. If value is callable, - * LazyOption with passed callback created and returned. If Option - * returned from callback, it returns directly. On other case value passed - * to Option::fromValue() method. - * - * @param Option|callable|mixed $value - * @param mixed $noneValue Used when $value is mixed or - * callable, for None-check. - * - * @return Option - */ - public static function ensure($value, $noneValue = null) - { - if ($value instanceof self) { - return $value; - } elseif (is_callable($value)) { - return new LazyOption(function () use ($value, $noneValue) { - $return = $value(); - - if ($return instanceof self) { - return $return; - } else { - return self::fromValue($return, $noneValue); - } - }); - } else { - return self::fromValue($value, $noneValue); - } - } - - /** - * Lift a function so that it accepts Option as parameters. - * - * We return a new closure that wraps the original callback. If any of the - * parameters passed to the lifted function is empty, the function will - * return a value of None. Otherwise, we will pass all parameters to the - * original callback and return the value inside a new Option, unless an - * Option is returned from the function, in which case, we use that. - * - * @param callable $callback - * @param mixed $noneValue - * - * @return callable - */ - public static function lift($callback, $noneValue = null) - { - return function () use ($callback, $noneValue) { - $args = func_get_args(); - - // if at least one parameter is empty, return None - if (array_reduce($args, function ($status, self $o) { - return $o->isEmpty() ? true : $status; - }, false)) { - return None::create(); - } - - $args = array_map(function (self $o) { - // it is safe to do so because the fold above checked - // that all arguments are of type Some - return $o->get(); - }, $args); - - return self::ensure(call_user_func_array($callback, $args), $noneValue); - }; - } - - /** - * Returns the value if available, or throws an exception otherwise. - * - * @throws \RuntimeException If value is not available. - * - * @return mixed - */ - abstract public function get(); - - /** - * Returns the value if available, or the default value if not. - * - * @param mixed $default - * - * @return mixed - */ - abstract public function getOrElse($default); - - /** - * Returns the value if available, or the results of the callable. - * - * This is preferable over ``getOrElse`` if the computation of the default - * value is expensive. - * - * @param callable $callable - * - * @return mixed - */ - abstract public function getOrCall($callable); - - /** - * Returns the value if available, or throws the passed exception. - * - * @param \Exception $ex - * - * @return mixed - */ - abstract public function getOrThrow(\Exception $ex); - - /** - * Returns true if no value is available, false otherwise. - * - * @return bool - */ - abstract public function isEmpty(); - - /** - * Returns true if a value is available, false otherwise. - * - * @return bool - */ - abstract public function isDefined(); - - /** - * Returns this option if non-empty, or the passed option otherwise. - * - * This can be used to try multiple alternatives, and is especially useful - * with lazy evaluating options: - * - * ```php - * $repo->findSomething() - * ->orElse(new LazyOption(array($repo, 'findSomethingElse'))) - * ->orElse(new LazyOption(array($repo, 'createSomething'))); - * ``` - * - * @param Option $else - * - * @return Option - */ - abstract public function orElse(self $else); - - /** - * This is similar to map() below except that the return value has no meaning; - * the passed callable is simply executed if the option is non-empty, and - * ignored if the option is empty. - * - * In all cases, the return value of the callable is discarded. - * - * ```php - * $comment->getMaybeFile()->ifDefined(function($file) { - * // Do something with $file here. - * }); - * ``` - * - * If you're looking for something like ``ifEmpty``, you can use ``getOrCall`` - * and ``getOrElse`` in these cases. - * - * @deprecated Use forAll() instead. - * - * @param callable $callable - * - * @return void - */ - abstract public function ifDefined($callable); - - /** - * This is similar to map() except that the return value of the callable has no meaning. - * - * The passed callable is simply executed if the option is non-empty, and ignored if the - * option is empty. This method is preferred for callables with side-effects, while map() - * is intended for callables without side-effects. - * - * @param callable $callable - * - * @return Option - */ - abstract public function forAll($callable); - - /** - * Applies the callable to the value of the option if it is non-empty, - * and returns the return value of the callable wrapped in Some(). - * - * If the option is empty, then the callable is not applied. - * - * ```php - * (new Some("foo"))->map('strtoupper')->get(); // "FOO" - * ``` - * - * @param callable $callable - * - * @return Option - */ - abstract public function map($callable); - - /** - * Applies the callable to the value of the option if it is non-empty, and - * returns the return value of the callable directly. - * - * In contrast to ``map``, the return value of the callable is expected to - * be an Option itself; it is not automatically wrapped in Some(). - * - * @param callable $callable must return an Option - * - * @return Option - */ - abstract public function flatMap($callable); - - /** - * If the option is empty, it is returned immediately without applying the callable. - * - * If the option is non-empty, the callable is applied, and if it returns true, - * the option itself is returned; otherwise, None is returned. - * - * @param callable $callable - * - * @return Option - */ - abstract public function filter($callable); - - /** - * If the option is empty, it is returned immediately without applying the callable. - * - * If the option is non-empty, the callable is applied, and if it returns false, - * the option itself is returned; otherwise, None is returned. - * - * @param callable $callable - * - * @return Option - */ - abstract public function filterNot($callable); - - /** - * If the option is empty, it is returned immediately. - * - * If the option is non-empty, and its value does not equal the passed value - * (via a shallow comparison ===), then None is returned. Otherwise, the - * Option is returned. - * - * In other words, this will filter all but the passed value. - * - * @param mixed $value - * - * @return Option - */ - abstract public function select($value); - - /** - * If the option is empty, it is returned immediately. - * - * If the option is non-empty, and its value does equal the passed value (via - * a shallow comparison ===), then None is returned; otherwise, the Option is - * returned. - * - * In other words, this will let all values through except the passed value. - * - * @param mixed $value - * - * @return Option - */ - abstract public function reject($value); - - /** - * Binary operator for the initial value and the option's value. - * - * If empty, the initial value is returned. If non-empty, the callable - * receives the initial value and the option's value as arguments. - * - * ```php - * - * $some = new Some(5); - * $none = None::create(); - * $result = $some->foldLeft(1, function($a, $b) { return $a + $b; }); // int(6) - * $result = $none->foldLeft(1, function($a, $b) { return $a + $b; }); // int(1) - * - * // This can be used instead of something like the following: - * $option = Option::fromValue($integerOrNull); - * $result = 1; - * if ( ! $option->isEmpty()) { - * $result += $option->get(); - * } - * ``` - * - * @param mixed $initialValue - * @param callable $callable function(initialValue, callable): result - * - * @return mixed - */ - abstract public function foldLeft($initialValue, $callable); - - /** - * foldLeft() but with reversed arguments for the callable. - * - * @param mixed $initialValue - * @param callable $callable function(callable, initialValue): result - * - * @return mixed - */ - abstract public function foldRight($initialValue, $callable); -} diff --git a/paragonik-backend/vendor/phpoption/phpoption/src/PhpOption/Some.php b/paragonik-backend/vendor/phpoption/phpoption/src/PhpOption/Some.php deleted file mode 100644 index 0357f98..0000000 --- a/paragonik-backend/vendor/phpoption/phpoption/src/PhpOption/Some.php +++ /dev/null @@ -1,152 +0,0 @@ - - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -namespace PhpOption; - -use ArrayIterator; - -final class Some extends Option -{ - private $value; - - public function __construct($value) - { - $this->value = $value; - } - - public static function create($value) - { - return new self($value); - } - - public function isDefined() - { - return true; - } - - public function isEmpty() - { - return false; - } - - public function get() - { - return $this->value; - } - - public function getOrElse($default) - { - return $this->value; - } - - public function getOrCall($callable) - { - return $this->value; - } - - public function getOrThrow(\Exception $ex) - { - return $this->value; - } - - public function orElse(Option $else) - { - return $this; - } - - /** - * @deprecated Use forAll() instead. - */ - public function ifDefined($callable) - { - $callable($this->value); - } - - public function forAll($callable) - { - $callable($this->value); - - return $this; - } - - public function map($callable) - { - return new self($callable($this->value)); - } - - public function flatMap($callable) - { - $rs = $callable($this->value); - if (!$rs instanceof Option) { - throw new \RuntimeException('Callables passed to flatMap() must return an Option. Maybe you should use map() instead?'); - } - - return $rs; - } - - public function filter($callable) - { - if (true === $callable($this->value)) { - return $this; - } - - return None::create(); - } - - public function filterNot($callable) - { - if (false === $callable($this->value)) { - return $this; - } - - return None::create(); - } - - public function select($value) - { - if ($this->value === $value) { - return $this; - } - - return None::create(); - } - - public function reject($value) - { - if ($this->value === $value) { - return None::create(); - } - - return $this; - } - - public function getIterator() - { - return new ArrayIterator([$this->value]); - } - - public function foldLeft($initialValue, $callable) - { - return $callable($initialValue, $this->value); - } - - public function foldRight($initialValue, $callable) - { - return $callable($this->value, $initialValue); - } -} diff --git a/paragonik-backend/vendor/phpspec/prophecy/CHANGES.md b/paragonik-backend/vendor/phpspec/prophecy/CHANGES.md deleted file mode 100644 index 35f7b64..0000000 --- a/paragonik-backend/vendor/phpspec/prophecy/CHANGES.md +++ /dev/null @@ -1,225 +0,0 @@ -1.9.0 / 2019/10/03 -================== - -* [added] Add willYield feature to Method Prophecy(@tkotosz) -* [fixed] Allow `MethodProphecy::willThrow()` to accept Throwable as string (@timoschinkel ) -* [fixed] Allow new version of phpdocumentor/reflection-docblock (@ricpelo) - -1.8.1 / 2019/06/13 -================== - -* [fixed] Don't try to patch final constructors (@NiR) - -1.8.0 / 2018/08/05 -================== - -* Support for void return types without explicit will (@crellbar) -* Clearer error message for unexpected method calls (@meridius) -* Clearer error message for aggregate exceptions (@meridius) -* More verbose `shouldBeCalledOnce` expectation (@olvlvl) -* Ability to double Throwable, or methods that extend it (@ciaranmcnulty) -* [fixed] Doubling methods where class has additional arguments to interface (@webimpress) -* [fixed] Doubling methods where arguments are nullable but default is not null (@webimpress) -* [fixed] Doubling magic methods on parent class (@dsnopek) -* [fixed] Check method predictions only once (@dontub) -* [fixed] Argument::containingString throwing error when called with non-string (@dcabrejas) - -1.7.6 / 2018/04/18 -================== - -* Allow sebastian/comparator ^3.0 (@sebastianbergmann) - -1.7.5 / 2018/02/11 -================== - -* Support for object return type hints (thanks @greg0ire) - -1.7.4 / 2018/02/11 -================== - -* Fix issues with PHP 7.2 (thanks @greg0ire) -* Support object type hints in PHP 7.2 (thanks @@jansvoboda11) - -1.7.3 / 2017/11/24 -================== - -* Fix SplInfo ClassPatch to work with Symfony 4 (Thanks @gnugat) - -1.7.2 / 2017-10-04 -================== - -* Reverted "check method predictions only once" due to it breaking Spies - -1.7.1 / 2017-10-03 -================== - -* Allow PHP5 keywords methods generation on PHP7 (thanks @bycosta) -* Allow reflection-docblock v4 (thanks @GrahamCampbell) -* Check method predictions only once (thanks @dontub) -* Escape file path sent to \SplFileObjectConstructor when running on Windows (thanks @danmartin-epiphany) - -1.7.0 / 2017-03-02 -================== - -* Add full PHP 7.1 Support (thanks @prolic) -* Allow `sebastian/comparator ^2.0` (thanks @sebastianbergmann) -* Allow `sebastian/recursion-context ^3.0` (thanks @sebastianbergmann) -* Allow `\Error` instances in `ThrowPromise` (thanks @jameshalsall) -* Support `phpspec/phpspect ^3.2` (thanks @Sam-Burns) -* Fix failing builds (thanks @Sam-Burns) - -1.6.2 / 2016-11-21 -================== - -* Added support for detecting @method on interfaces that the class itself implements, or when the stubbed class is an interface itself (thanks @Seldaek) -* Added support for sebastian/recursion-context 2 (thanks @sebastianbergmann) -* Added testing on PHP 7.1 on Travis (thanks @danizord) -* Fixed the usage of the phpunit comparator (thanks @Anyqax) - -1.6.1 / 2016-06-07 -================== - - * Ignored empty method names in invalid `@method` phpdoc - * Fixed the mocking of SplFileObject - * Added compatibility with phpdocumentor/reflection-docblock 3 - -1.6.0 / 2016-02-15 -================== - - * Add Variadics support (thanks @pamil) - * Add ProphecyComparator for comparing objects that need revealing (thanks @jon-acker) - * Add ApproximateValueToken (thanks @dantleech) - * Add support for 'self' and 'parent' return type (thanks @bendavies) - * Add __invoke to allowed reflectable methods list (thanks @ftrrtf) - * Updated ExportUtil to reflect the latest changes by Sebastian (thanks @jakari) - * Specify the required php version for composer (thanks @jakzal) - * Exclude 'args' in the generated backtrace (thanks @oradwell) - * Fix code generation for scalar parameters (thanks @trowski) - * Fix missing sprintf in InvalidArgumentException __construct call (thanks @emmanuelballery) - * Fix phpdoc for magic methods (thanks @Tobion) - * Fix PhpDoc for interfaces usage (thanks @ImmRanneft) - * Prevent final methods from being manually extended (thanks @kamioftea) - * Enhance exception for invalid argument to ThrowPromise (thanks @Tobion) - -1.5.0 / 2015-04-27 -================== - - * Add support for PHP7 scalar type hints (thanks @trowski) - * Add support for PHP7 return types (thanks @trowski) - * Update internal test suite to support PHP7 - -1.4.1 / 2015-04-27 -================== - - * Fixed bug in closure-based argument tokens (#181) - -1.4.0 / 2015-03-27 -================== - - * Fixed errors in return type phpdocs (thanks @sobit) - * Fixed stringifying of hash containing one value (thanks @avant1) - * Improved clarity of method call expectation exception (thanks @dantleech) - * Add ability to specify which argument is returned in willReturnArgument (thanks @coderbyheart) - * Add more information to MethodNotFound exceptions (thanks @ciaranmcnulty) - * Support for mocking classes with methods that return references (thanks @edsonmedina) - * Improved object comparison (thanks @whatthejeff) - * Adopted '^' in composer dependencies (thanks @GrahamCampbell) - * Fixed non-typehinted arguments being treated as optional (thanks @whatthejeff) - * Magic methods are now filtered for keywords (thanks @seagoj) - * More readable errors for failure when expecting single calls (thanks @dantleech) - -1.3.1 / 2014-11-17 -================== - - * Fix the edge case when failed predictions weren't recorded for `getCheckedPredictions()` - -1.3.0 / 2014-11-14 -================== - - * Add a way to get checked predictions with `MethodProphecy::getCheckedPredictions()` - * Fix HHVM compatibility - * Remove dead code (thanks @stof) - * Add support for DirectoryIterators (thanks @shanethehat) - -1.2.0 / 2014-07-18 -================== - - * Added support for doubling magic methods documented in the class phpdoc (thanks @armetiz) - * Fixed a segfault appearing in some cases (thanks @dmoreaulf) - * Fixed the doubling of methods with typehints on non-existent classes (thanks @gquemener) - * Added support for internal classes using keywords as method names (thanks @milan) - * Added IdenticalValueToken and Argument::is (thanks @florianv) - * Removed the usage of scalar typehints in HHVM as HHVM 3 does not support them anymore in PHP code (thanks @whatthejeff) - -1.1.2 / 2014-01-24 -================== - - * Spy automatically promotes spied method call to an expected one - -1.1.1 / 2014-01-15 -================== - - * Added support for HHVM - -1.1.0 / 2014-01-01 -================== - - * Changed the generated class names to use a static counter instead of a random number - * Added a clss patch for ReflectionClass::newInstance to make its argument optional consistently (thanks @docteurklein) - * Fixed mirroring of classes with typehints on non-existent classes (thanks @docteurklein) - * Fixed the support of array callables in CallbackPromise and CallbackPrediction (thanks @ciaranmcnulty) - * Added support for properties in ObjectStateToken (thanks @adrienbrault) - * Added support for mocking classes with a final constructor (thanks @ciaranmcnulty) - * Added ArrayEveryEntryToken and Argument::withEveryEntry() (thanks @adrienbrault) - * Added an exception when trying to prophesize on a final method instead of ignoring silently (thanks @docteurklein) - * Added StringContainToken and Argument::containingString() (thanks @peterjmit) - * Added ``shouldNotHaveBeenCalled`` on the MethodProphecy (thanks @ciaranmcnulty) - * Fixed the comparison of objects in ExactValuetoken (thanks @sstok) - * Deprecated ``shouldNotBeenCalled`` in favor of ``shouldNotHaveBeenCalled`` - -1.0.4 / 2013-08-10 -================== - - * Better randomness for generated class names (thanks @sstok) - * Add support for interfaces into TypeToken and Argument::type() (thanks @sstok) - * Add support for old-style (method name === class name) constructors (thanks @l310 for report) - -1.0.3 / 2013-07-04 -================== - - * Support callable typehints (thanks @stof) - * Do not attempt to autoload arrays when generating code (thanks @MarcoDeBortoli) - * New ArrayEntryToken (thanks @kagux) - -1.0.2 / 2013-05-19 -================== - - * Logical `AND` token added (thanks @kagux) - * Logical `NOT` token added (thanks @kagux) - * Add support for setting custom constructor arguments - * Properly stringify hashes - * Record calls that throw exceptions - * Migrate spec suite to PhpSpec 2.0 - -1.0.1 / 2013-04-30 -================== - - * Fix broken UnexpectedCallException message - * Trim AggregateException message - -1.0.0 / 2013-04-29 -================== - - * Improve exception messages - -1.0.0-BETA2 / 2013-04-03 -======================== - - * Add more debug information to CallTimes and Call prediction exception messages - * Fix MethodNotFoundException wrong namespace (thanks @gunnarlium) - * Fix some typos in the exception messages (thanks @pborreli) - -1.0.0-BETA1 / 2013-03-25 -======================== - - * Initial release diff --git a/paragonik-backend/vendor/phpspec/prophecy/LICENSE b/paragonik-backend/vendor/phpspec/prophecy/LICENSE deleted file mode 100644 index c8b3647..0000000 --- a/paragonik-backend/vendor/phpspec/prophecy/LICENSE +++ /dev/null @@ -1,23 +0,0 @@ -Copyright (c) 2013 Konstantin Kudryashov - Marcello Duarte - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. diff --git a/paragonik-backend/vendor/phpspec/prophecy/README.md b/paragonik-backend/vendor/phpspec/prophecy/README.md deleted file mode 100644 index 3da9b59..0000000 --- a/paragonik-backend/vendor/phpspec/prophecy/README.md +++ /dev/null @@ -1,402 +0,0 @@ -# Prophecy - -[![Stable release](https://poser.pugx.org/phpspec/prophecy/version.svg)](https://packagist.org/packages/phpspec/prophecy) -[![Build Status](https://travis-ci.org/phpspec/prophecy.svg?branch=master)](https://travis-ci.org/phpspec/prophecy) - -Prophecy is a highly opinionated yet very powerful and flexible PHP object mocking -framework. Though initially it was created to fulfil phpspec2 needs, it is flexible -enough to be used inside any testing framework out there with minimal effort. - -## A simple example - -```php -prophet->prophesize('App\Security\Hasher'); - $user = new App\Entity\User($hasher->reveal()); - - $hasher->generateHash($user, 'qwerty')->willReturn('hashed_pass'); - - $user->setPassword('qwerty'); - - $this->assertEquals('hashed_pass', $user->getPassword()); - } - - protected function setUp() - { - $this->prophet = new \Prophecy\Prophet; - } - - protected function tearDown() - { - $this->prophet->checkPredictions(); - } -} -``` - -## Installation - -### Prerequisites - -Prophecy requires PHP 5.3.3 or greater. - -### Setup through composer - -First, add Prophecy to the list of dependencies inside your `composer.json`: - -```json -{ - "require-dev": { - "phpspec/prophecy": "~1.0" - } -} -``` - -Then simply install it with composer: - -```bash -$> composer install --prefer-dist -``` - -You can read more about Composer on its [official webpage](http://getcomposer.org). - -## How to use it - -First of all, in Prophecy every word has a logical meaning, even the name of the library -itself (Prophecy). When you start feeling that, you'll become very fluid with this -tool. - -For example, Prophecy has been named that way because it concentrates on describing the future -behavior of objects with very limited knowledge about them. But as with any other prophecy, -those object prophecies can't create themselves - there should be a Prophet: - -```php -$prophet = new Prophecy\Prophet; -``` - -The Prophet creates prophecies by *prophesizing* them: - -```php -$prophecy = $prophet->prophesize(); -``` - -The result of the `prophesize()` method call is a new object of class `ObjectProphecy`. Yes, -that's your specific object prophecy, which describes how your object would behave -in the near future. But first, you need to specify which object you're talking about, -right? - -```php -$prophecy->willExtend('stdClass'); -$prophecy->willImplement('SessionHandlerInterface'); -``` - -There are 2 interesting calls - `willExtend` and `willImplement`. The first one tells -object prophecy that our object should extend specific class, the second one says that -it should implement some interface. Obviously, objects in PHP can implement multiple -interfaces, but extend only one parent class. - -### Dummies - -Ok, now we have our object prophecy. What can we do with it? First of all, we can get -our object *dummy* by revealing its prophecy: - -```php -$dummy = $prophecy->reveal(); -``` - -The `$dummy` variable now holds a special dummy object. Dummy objects are objects that extend -and/or implement preset classes/interfaces by overriding all their public methods. The key -point about dummies is that they do not hold any logic - they just do nothing. Any method -of the dummy will always return `null` and the dummy will never throw any exceptions. -Dummy is your friend if you don't care about the actual behavior of this double and just need -a token object to satisfy a method typehint. - -You need to understand one thing - a dummy is not a prophecy. Your object prophecy is still -assigned to `$prophecy` variable and in order to manipulate with your expectations, you -should work with it. `$dummy` is a dummy - a simple php object that tries to fulfil your -prophecy. - -### Stubs - -Ok, now we know how to create basic prophecies and reveal dummies from them. That's -awesome if we don't care about our _doubles_ (objects that reflect originals) -interactions. If we do, we need to use *stubs* or *mocks*. - -A stub is an object double, which doesn't have any expectations about the object behavior, -but when put in specific environment, behaves in specific way. Ok, I know, it's cryptic, -but bear with me for a minute. Simply put, a stub is a dummy, which depending on the called -method signature does different things (has logic). To create stubs in Prophecy: - -```php -$prophecy->read('123')->willReturn('value'); -``` - -Oh wow. We've just made an arbitrary call on the object prophecy? Yes, we did. And this -call returned us a new object instance of class `MethodProphecy`. Yep, that's a specific -method with arguments prophecy. Method prophecies give you the ability to create method -promises or predictions. We'll talk about method predictions later in the _Mocks_ section. - -#### Promises - -Promises are logical blocks, that represent your fictional methods in prophecy terms -and they are handled by the `MethodProphecy::will(PromiseInterface $promise)` method. -As a matter of fact, the call that we made earlier (`willReturn('value')`) is a simple -shortcut to: - -```php -$prophecy->read('123')->will(new Prophecy\Promise\ReturnPromise(array('value'))); -``` - -This promise will cause any call to our double's `read()` method with exactly one -argument - `'123'` to always return `'value'`. But that's only for this -promise, there's plenty others you can use: - -- `ReturnPromise` or `->willReturn(1)` - returns a value from a method call -- `ReturnArgumentPromise` or `->willReturnArgument($index)` - returns the nth method argument from call -- `ThrowPromise` or `->willThrow($exception)` - causes the method to throw specific exception -- `CallbackPromise` or `->will($callback)` - gives you a quick way to define your own custom logic - -Keep in mind, that you can always add even more promises by implementing -`Prophecy\Promise\PromiseInterface`. - -#### Method prophecies idempotency - -Prophecy enforces same method prophecies and, as a consequence, same promises and -predictions for the same method calls with the same arguments. This means: - -```php -$methodProphecy1 = $prophecy->read('123'); -$methodProphecy2 = $prophecy->read('123'); -$methodProphecy3 = $prophecy->read('321'); - -$methodProphecy1 === $methodProphecy2; -$methodProphecy1 !== $methodProphecy3; -``` - -That's interesting, right? Now you might ask me how would you define more complex -behaviors where some method call changes behavior of others. In PHPUnit or Mockery -you do that by predicting how many times your method will be called. In Prophecy, -you'll use promises for that: - -```php -$user->getName()->willReturn(null); - -// For PHP 5.4 -$user->setName('everzet')->will(function () { - $this->getName()->willReturn('everzet'); -}); - -// For PHP 5.3 -$user->setName('everzet')->will(function ($args, $user) { - $user->getName()->willReturn('everzet'); -}); - -// Or -$user->setName('everzet')->will(function ($args) use ($user) { - $user->getName()->willReturn('everzet'); -}); -``` - -And now it doesn't matter how many times or in which order your methods are called. -What matters is their behaviors and how well you faked it. - -Note: If the method is called several times, you can use the following syntax to return different -values for each call: - -```php -$prophecy->read('123')->willReturn(1, 2, 3); -``` - -This feature is actually not recommended for most cases. Relying on the order of -calls for the same arguments tends to make test fragile, as adding one more call -can break everything. - -#### Arguments wildcarding - -The previous example is awesome (at least I hope it is for you), but that's not -optimal enough. We hardcoded `'everzet'` in our expectation. Isn't there a better -way? In fact there is, but it involves understanding what this `'everzet'` -actually is. - -You see, even if method arguments used during method prophecy creation look -like simple method arguments, in reality they are not. They are argument token -wildcards. As a matter of fact, `->setName('everzet')` looks like a simple call just -because Prophecy automatically transforms it under the hood into: - -```php -$user->setName(new Prophecy\Argument\Token\ExactValueToken('everzet')); -``` - -Those argument tokens are simple PHP classes, that implement -`Prophecy\Argument\Token\TokenInterface` and tell Prophecy how to compare real arguments -with your expectations. And yes, those classnames are damn big. That's why there's a -shortcut class `Prophecy\Argument`, which you can use to create tokens like that: - -```php -use Prophecy\Argument; - -$user->setName(Argument::exact('everzet')); -``` - -`ExactValueToken` is not very useful in our case as it forced us to hardcode the username. -That's why Prophecy comes bundled with a bunch of other tokens: - -- `IdenticalValueToken` or `Argument::is($value)` - checks that the argument is identical to a specific value -- `ExactValueToken` or `Argument::exact($value)` - checks that the argument matches a specific value -- `TypeToken` or `Argument::type($typeOrClass)` - checks that the argument matches a specific type or - classname -- `ObjectStateToken` or `Argument::which($method, $value)` - checks that the argument method returns - a specific value -- `CallbackToken` or `Argument::that(callback)` - checks that the argument matches a custom callback -- `AnyValueToken` or `Argument::any()` - matches any argument -- `AnyValuesToken` or `Argument::cetera()` - matches any arguments to the rest of the signature -- `StringContainsToken` or `Argument::containingString($value)` - checks that the argument contains a specific string value - -And you can add even more by implementing `TokenInterface` with your own custom classes. - -So, let's refactor our initial `{set,get}Name()` logic with argument tokens: - -```php -use Prophecy\Argument; - -$user->getName()->willReturn(null); - -// For PHP 5.4 -$user->setName(Argument::type('string'))->will(function ($args) { - $this->getName()->willReturn($args[0]); -}); - -// For PHP 5.3 -$user->setName(Argument::type('string'))->will(function ($args, $user) { - $user->getName()->willReturn($args[0]); -}); - -// Or -$user->setName(Argument::type('string'))->will(function ($args) use ($user) { - $user->getName()->willReturn($args[0]); -}); -``` - -That's it. Now our `{set,get}Name()` prophecy will work with any string argument provided to it. -We've just described how our stub object should behave, even though the original object could have -no behavior whatsoever. - -One last bit about arguments now. You might ask, what happens in case of: - -```php -use Prophecy\Argument; - -$user->getName()->willReturn(null); - -// For PHP 5.4 -$user->setName(Argument::type('string'))->will(function ($args) { - $this->getName()->willReturn($args[0]); -}); - -// For PHP 5.3 -$user->setName(Argument::type('string'))->will(function ($args, $user) { - $user->getName()->willReturn($args[0]); -}); - -// Or -$user->setName(Argument::type('string'))->will(function ($args) use ($user) { - $user->getName()->willReturn($args[0]); -}); - -$user->setName(Argument::any())->will(function () { -}); -``` - -Nothing. Your stub will continue behaving the way it did before. That's because of how -arguments wildcarding works. Every argument token type has a different score level, which -wildcard then uses to calculate the final arguments match score and use the method prophecy -promise that has the highest score. In this case, `Argument::type()` in case of success -scores `5` and `Argument::any()` scores `3`. So the type token wins, as does the first -`setName()` method prophecy and its promise. The simple rule of thumb - more precise token -always wins. - -#### Getting stub objects - -Ok, now we know how to define our prophecy method promises, let's get our stub from -it: - -```php -$stub = $prophecy->reveal(); -``` - -As you might see, the only difference between how we get dummies and stubs is that with -stubs we describe every object conversation instead of just agreeing with `null` returns -(object being *dummy*). As a matter of fact, after you define your first promise -(method call), Prophecy will force you to define all the communications - it throws -the `UnexpectedCallException` for any call you didn't describe with object prophecy before -calling it on a stub. - -### Mocks - -Now we know how to define doubles without behavior (dummies) and doubles with behavior, but -no expectations (stubs). What's left is doubles for which we have some expectations. These -are called mocks and in Prophecy they look almost exactly the same as stubs, except that -they define *predictions* instead of *promises* on method prophecies: - -```php -$entityManager->flush()->shouldBeCalled(); -``` - -#### Predictions - -The `shouldBeCalled()` method here assigns `CallPrediction` to our method prophecy. -Predictions are a delayed behavior check for your prophecies. You see, during the entire lifetime -of your doubles, Prophecy records every single call you're making against it inside your -code. After that, Prophecy can use this collected information to check if it matches defined -predictions. You can assign predictions to method prophecies using the -`MethodProphecy::should(PredictionInterface $prediction)` method. As a matter of fact, -the `shouldBeCalled()` method we used earlier is just a shortcut to: - -```php -$entityManager->flush()->should(new Prophecy\Prediction\CallPrediction()); -``` - -It checks if your method of interest (that matches both the method name and the arguments wildcard) -was called 1 or more times. If the prediction failed then it throws an exception. When does this -check happen? Whenever you call `checkPredictions()` on the main Prophet object: - -```php -$prophet->checkPredictions(); -``` - -In PHPUnit, you would want to put this call into the `tearDown()` method. If no predictions -are defined, it would do nothing. So it won't harm to call it after every test. - -There are plenty more predictions you can play with: - -- `CallPrediction` or `shouldBeCalled()` - checks that the method has been called 1 or more times -- `NoCallsPrediction` or `shouldNotBeCalled()` - checks that the method has not been called -- `CallTimesPrediction` or `shouldBeCalledTimes($count)` - checks that the method has been called - `$count` times -- `CallbackPrediction` or `should($callback)` - checks the method against your own custom callback - -Of course, you can always create your own custom prediction any time by implementing -`PredictionInterface`. - -### Spies - -The last bit of awesomeness in Prophecy is out-of-the-box spies support. As I said in the previous -section, Prophecy records every call made during the double's entire lifetime. This means -you don't need to record predictions in order to check them. You can also do it -manually by using the `MethodProphecy::shouldHave(PredictionInterface $prediction)` method: - -```php -$em = $prophet->prophesize('Doctrine\ORM\EntityManager'); - -$controller->createUser($em->reveal()); - -$em->flush()->shouldHaveBeenCalled(); -``` - -Such manipulation with doubles is called spying. And with Prophecy it just works. diff --git a/paragonik-backend/vendor/phpspec/prophecy/composer.json b/paragonik-backend/vendor/phpspec/prophecy/composer.json deleted file mode 100644 index 7d22143..0000000 --- a/paragonik-backend/vendor/phpspec/prophecy/composer.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "name": "phpspec/prophecy", - "description": "Highly opinionated mocking framework for PHP 5.3+", - "keywords": ["Mock", "Stub", "Dummy", "Double", "Fake", "Spy"], - "homepage": "https://github.com/phpspec/prophecy", - "type": "library", - "license": "MIT", - "authors": [ - { - "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com", - "homepage": "http://everzet.com" - }, - { - "name": "Marcello Duarte", - "email": "marcello.duarte@gmail.com" - } - ], - - "require": { - "php": "^5.3|^7.0", - "phpdocumentor/reflection-docblock": "^2.0|^3.0.2|^4.0|^5.0", - "sebastian/comparator": "^1.1|^2.0|^3.0", - "doctrine/instantiator": "^1.0.2", - "sebastian/recursion-context": "^1.0|^2.0|^3.0" - }, - - "require-dev": { - "phpspec/phpspec": "^2.5|^3.2", - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5 || ^7.1" - }, - - "autoload": { - "psr-4": { - "Prophecy\\": "src/Prophecy" - } - }, - - "autoload-dev": { - "psr-4": { - "Fixtures\\Prophecy\\": "fixtures" - } - }, - - "extra": { - "branch-alias": { - "dev-master": "1.8.x-dev" - } - } -} diff --git a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Argument.php b/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Argument.php deleted file mode 100644 index fde6aa9..0000000 --- a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Argument.php +++ /dev/null @@ -1,212 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy; - -use Prophecy\Argument\Token; - -/** - * Argument tokens shortcuts. - * - * @author Konstantin Kudryashov - */ -class Argument -{ - /** - * Checks that argument is exact value or object. - * - * @param mixed $value - * - * @return Token\ExactValueToken - */ - public static function exact($value) - { - return new Token\ExactValueToken($value); - } - - /** - * Checks that argument is of specific type or instance of specific class. - * - * @param string $type Type name (`integer`, `string`) or full class name - * - * @return Token\TypeToken - */ - public static function type($type) - { - return new Token\TypeToken($type); - } - - /** - * Checks that argument object has specific state. - * - * @param string $methodName - * @param mixed $value - * - * @return Token\ObjectStateToken - */ - public static function which($methodName, $value) - { - return new Token\ObjectStateToken($methodName, $value); - } - - /** - * Checks that argument matches provided callback. - * - * @param callable $callback - * - * @return Token\CallbackToken - */ - public static function that($callback) - { - return new Token\CallbackToken($callback); - } - - /** - * Matches any single value. - * - * @return Token\AnyValueToken - */ - public static function any() - { - return new Token\AnyValueToken; - } - - /** - * Matches all values to the rest of the signature. - * - * @return Token\AnyValuesToken - */ - public static function cetera() - { - return new Token\AnyValuesToken; - } - - /** - * Checks that argument matches all tokens - * - * @param mixed ... a list of tokens - * - * @return Token\LogicalAndToken - */ - public static function allOf() - { - return new Token\LogicalAndToken(func_get_args()); - } - - /** - * Checks that argument array or countable object has exact number of elements. - * - * @param integer $value array elements count - * - * @return Token\ArrayCountToken - */ - public static function size($value) - { - return new Token\ArrayCountToken($value); - } - - /** - * Checks that argument array contains (key, value) pair - * - * @param mixed $key exact value or token - * @param mixed $value exact value or token - * - * @return Token\ArrayEntryToken - */ - public static function withEntry($key, $value) - { - return new Token\ArrayEntryToken($key, $value); - } - - /** - * Checks that arguments array entries all match value - * - * @param mixed $value - * - * @return Token\ArrayEveryEntryToken - */ - public static function withEveryEntry($value) - { - return new Token\ArrayEveryEntryToken($value); - } - - /** - * Checks that argument array contains value - * - * @param mixed $value - * - * @return Token\ArrayEntryToken - */ - public static function containing($value) - { - return new Token\ArrayEntryToken(self::any(), $value); - } - - /** - * Checks that argument array has key - * - * @param mixed $key exact value or token - * - * @return Token\ArrayEntryToken - */ - public static function withKey($key) - { - return new Token\ArrayEntryToken($key, self::any()); - } - - /** - * Checks that argument does not match the value|token. - * - * @param mixed $value either exact value or argument token - * - * @return Token\LogicalNotToken - */ - public static function not($value) - { - return new Token\LogicalNotToken($value); - } - - /** - * @param string $value - * - * @return Token\StringContainsToken - */ - public static function containingString($value) - { - return new Token\StringContainsToken($value); - } - - /** - * Checks that argument is identical value. - * - * @param mixed $value - * - * @return Token\IdenticalValueToken - */ - public static function is($value) - { - return new Token\IdenticalValueToken($value); - } - - /** - * Check that argument is same value when rounding to the - * given precision. - * - * @param float $value - * @param float $precision - * - * @return Token\ApproximateValueToken - */ - public static function approximate($value, $precision = 0) - { - return new Token\ApproximateValueToken($value, $precision); - } -} diff --git a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Argument/ArgumentsWildcard.php b/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Argument/ArgumentsWildcard.php deleted file mode 100644 index a088f21..0000000 --- a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Argument/ArgumentsWildcard.php +++ /dev/null @@ -1,101 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Argument; - -/** - * Arguments wildcarding. - * - * @author Konstantin Kudryashov - */ -class ArgumentsWildcard -{ - /** - * @var Token\TokenInterface[] - */ - private $tokens = array(); - private $string; - - /** - * Initializes wildcard. - * - * @param array $arguments Array of argument tokens or values - */ - public function __construct(array $arguments) - { - foreach ($arguments as $argument) { - if (!$argument instanceof Token\TokenInterface) { - $argument = new Token\ExactValueToken($argument); - } - - $this->tokens[] = $argument; - } - } - - /** - * Calculates wildcard match score for provided arguments. - * - * @param array $arguments - * - * @return false|int False OR integer score (higher - better) - */ - public function scoreArguments(array $arguments) - { - if (0 == count($arguments) && 0 == count($this->tokens)) { - return 1; - } - - $arguments = array_values($arguments); - $totalScore = 0; - foreach ($this->tokens as $i => $token) { - $argument = isset($arguments[$i]) ? $arguments[$i] : null; - if (1 >= $score = $token->scoreArgument($argument)) { - return false; - } - - $totalScore += $score; - - if (true === $token->isLast()) { - return $totalScore; - } - } - - if (count($arguments) > count($this->tokens)) { - return false; - } - - return $totalScore; - } - - /** - * Returns string representation for wildcard. - * - * @return string - */ - public function __toString() - { - if (null === $this->string) { - $this->string = implode(', ', array_map(function ($token) { - return (string) $token; - }, $this->tokens)); - } - - return $this->string; - } - - /** - * @return array - */ - public function getTokens() - { - return $this->tokens; - } -} diff --git a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/AnyValueToken.php b/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/AnyValueToken.php deleted file mode 100644 index 5098811..0000000 --- a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/AnyValueToken.php +++ /dev/null @@ -1,52 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Argument\Token; - -/** - * Any single value token. - * - * @author Konstantin Kudryashov - */ -class AnyValueToken implements TokenInterface -{ - /** - * Always scores 3 for any argument. - * - * @param $argument - * - * @return int - */ - public function scoreArgument($argument) - { - return 3; - } - - /** - * Returns false. - * - * @return bool - */ - public function isLast() - { - return false; - } - - /** - * Returns string representation for token. - * - * @return string - */ - public function __toString() - { - return '*'; - } -} diff --git a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/AnyValuesToken.php b/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/AnyValuesToken.php deleted file mode 100644 index f76b17b..0000000 --- a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/AnyValuesToken.php +++ /dev/null @@ -1,52 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Argument\Token; - -/** - * Any values token. - * - * @author Konstantin Kudryashov - */ -class AnyValuesToken implements TokenInterface -{ - /** - * Always scores 2 for any argument. - * - * @param $argument - * - * @return int - */ - public function scoreArgument($argument) - { - return 2; - } - - /** - * Returns true to stop wildcard from processing other tokens. - * - * @return bool - */ - public function isLast() - { - return true; - } - - /** - * Returns string representation for token. - * - * @return string - */ - public function __toString() - { - return '* [, ...]'; - } -} diff --git a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/ApproximateValueToken.php b/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/ApproximateValueToken.php deleted file mode 100644 index d4918b1..0000000 --- a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/ApproximateValueToken.php +++ /dev/null @@ -1,55 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Argument\Token; - -/** - * Approximate value token - * - * @author Daniel Leech - */ -class ApproximateValueToken implements TokenInterface -{ - private $value; - private $precision; - - public function __construct($value, $precision = 0) - { - $this->value = $value; - $this->precision = $precision; - } - - /** - * {@inheritdoc} - */ - public function scoreArgument($argument) - { - return round($argument, $this->precision) === round($this->value, $this->precision) ? 10 : false; - } - - /** - * {@inheritdoc} - */ - public function isLast() - { - return false; - } - - /** - * Returns string representation for token. - * - * @return string - */ - public function __toString() - { - return sprintf('≅%s', round($this->value, $this->precision)); - } -} diff --git a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/ArrayCountToken.php b/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/ArrayCountToken.php deleted file mode 100644 index 96b4bef..0000000 --- a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/ArrayCountToken.php +++ /dev/null @@ -1,86 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Argument\Token; - -/** - * Array elements count token. - * - * @author Boris Mikhaylov - */ - -class ArrayCountToken implements TokenInterface -{ - private $count; - - /** - * @param integer $value - */ - public function __construct($value) - { - $this->count = $value; - } - - /** - * Scores 6 when argument has preset number of elements. - * - * @param $argument - * - * @return bool|int - */ - public function scoreArgument($argument) - { - return $this->isCountable($argument) && $this->hasProperCount($argument) ? 6 : false; - } - - /** - * Returns false. - * - * @return boolean - */ - public function isLast() - { - return false; - } - - /** - * Returns string representation for token. - * - * @return string - */ - public function __toString() - { - return sprintf('count(%s)', $this->count); - } - - /** - * Returns true if object is either array or instance of \Countable - * - * @param $argument - * @return bool - */ - private function isCountable($argument) - { - return (is_array($argument) || $argument instanceof \Countable); - } - - /** - * Returns true if $argument has expected number of elements - * - * @param array|\Countable $argument - * - * @return bool - */ - private function hasProperCount($argument) - { - return $this->count === count($argument); - } -} diff --git a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/ArrayEntryToken.php b/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/ArrayEntryToken.php deleted file mode 100644 index 0305fc7..0000000 --- a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/ArrayEntryToken.php +++ /dev/null @@ -1,143 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Argument\Token; - -use Prophecy\Exception\InvalidArgumentException; - -/** - * Array entry token. - * - * @author Boris Mikhaylov - */ -class ArrayEntryToken implements TokenInterface -{ - /** @var \Prophecy\Argument\Token\TokenInterface */ - private $key; - /** @var \Prophecy\Argument\Token\TokenInterface */ - private $value; - - /** - * @param mixed $key exact value or token - * @param mixed $value exact value or token - */ - public function __construct($key, $value) - { - $this->key = $this->wrapIntoExactValueToken($key); - $this->value = $this->wrapIntoExactValueToken($value); - } - - /** - * Scores half of combined scores from key and value tokens for same entry. Capped at 8. - * If argument implements \ArrayAccess without \Traversable, then key token is restricted to ExactValueToken. - * - * @param array|\ArrayAccess|\Traversable $argument - * - * @throws \Prophecy\Exception\InvalidArgumentException - * @return bool|int - */ - public function scoreArgument($argument) - { - if ($argument instanceof \Traversable) { - $argument = iterator_to_array($argument); - } - - if ($argument instanceof \ArrayAccess) { - $argument = $this->convertArrayAccessToEntry($argument); - } - - if (!is_array($argument) || empty($argument)) { - return false; - } - - $keyScores = array_map(array($this->key,'scoreArgument'), array_keys($argument)); - $valueScores = array_map(array($this->value,'scoreArgument'), $argument); - $scoreEntry = function ($value, $key) { - return $value && $key ? min(8, ($key + $value) / 2) : false; - }; - - return max(array_map($scoreEntry, $valueScores, $keyScores)); - } - - /** - * Returns false. - * - * @return boolean - */ - public function isLast() - { - return false; - } - - /** - * Returns string representation for token. - * - * @return string - */ - public function __toString() - { - return sprintf('[..., %s => %s, ...]', $this->key, $this->value); - } - - /** - * Returns key - * - * @return TokenInterface - */ - public function getKey() - { - return $this->key; - } - - /** - * Returns value - * - * @return TokenInterface - */ - public function getValue() - { - return $this->value; - } - - /** - * Wraps non token $value into ExactValueToken - * - * @param $value - * @return TokenInterface - */ - private function wrapIntoExactValueToken($value) - { - return $value instanceof TokenInterface ? $value : new ExactValueToken($value); - } - - /** - * Converts instance of \ArrayAccess to key => value array entry - * - * @param \ArrayAccess $object - * - * @return array|null - * @throws \Prophecy\Exception\InvalidArgumentException - */ - private function convertArrayAccessToEntry(\ArrayAccess $object) - { - if (!$this->key instanceof ExactValueToken) { - throw new InvalidArgumentException(sprintf( - 'You can only use exact value tokens to match key of ArrayAccess object'.PHP_EOL. - 'But you used `%s`.', - $this->key - )); - } - - $key = $this->key->getValue(); - - return $object->offsetExists($key) ? array($key => $object[$key]) : array(); - } -} diff --git a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/ArrayEveryEntryToken.php b/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/ArrayEveryEntryToken.php deleted file mode 100644 index 5d41fa4..0000000 --- a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/ArrayEveryEntryToken.php +++ /dev/null @@ -1,82 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Argument\Token; - -/** - * Array every entry token. - * - * @author Adrien Brault - */ -class ArrayEveryEntryToken implements TokenInterface -{ - /** - * @var TokenInterface - */ - private $value; - - /** - * @param mixed $value exact value or token - */ - public function __construct($value) - { - if (!$value instanceof TokenInterface) { - $value = new ExactValueToken($value); - } - - $this->value = $value; - } - - /** - * {@inheritdoc} - */ - public function scoreArgument($argument) - { - if (!$argument instanceof \Traversable && !is_array($argument)) { - return false; - } - - $scores = array(); - foreach ($argument as $key => $argumentEntry) { - $scores[] = $this->value->scoreArgument($argumentEntry); - } - - if (empty($scores) || in_array(false, $scores, true)) { - return false; - } - - return array_sum($scores) / count($scores); - } - - /** - * {@inheritdoc} - */ - public function isLast() - { - return false; - } - - /** - * {@inheritdoc} - */ - public function __toString() - { - return sprintf('[%s, ..., %s]', $this->value, $this->value); - } - - /** - * @return TokenInterface - */ - public function getValue() - { - return $this->value; - } -} diff --git a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/CallbackToken.php b/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/CallbackToken.php deleted file mode 100644 index f45ba20..0000000 --- a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/CallbackToken.php +++ /dev/null @@ -1,75 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Argument\Token; - -use Prophecy\Exception\InvalidArgumentException; - -/** - * Callback-verified token. - * - * @author Konstantin Kudryashov - */ -class CallbackToken implements TokenInterface -{ - private $callback; - - /** - * Initializes token. - * - * @param callable $callback - * - * @throws \Prophecy\Exception\InvalidArgumentException - */ - public function __construct($callback) - { - if (!is_callable($callback)) { - throw new InvalidArgumentException(sprintf( - 'Callable expected as an argument to CallbackToken, but got %s.', - gettype($callback) - )); - } - - $this->callback = $callback; - } - - /** - * Scores 7 if callback returns true, false otherwise. - * - * @param $argument - * - * @return bool|int - */ - public function scoreArgument($argument) - { - return call_user_func($this->callback, $argument) ? 7 : false; - } - - /** - * Returns false. - * - * @return bool - */ - public function isLast() - { - return false; - } - - /** - * Returns string representation for token. - * - * @return string - */ - public function __toString() - { - return 'callback()'; - } -} diff --git a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/ExactValueToken.php b/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/ExactValueToken.php deleted file mode 100644 index aa960f3..0000000 --- a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/ExactValueToken.php +++ /dev/null @@ -1,116 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Argument\Token; - -use SebastianBergmann\Comparator\ComparisonFailure; -use Prophecy\Comparator\Factory as ComparatorFactory; -use Prophecy\Util\StringUtil; - -/** - * Exact value token. - * - * @author Konstantin Kudryashov - */ -class ExactValueToken implements TokenInterface -{ - private $value; - private $string; - private $util; - private $comparatorFactory; - - /** - * Initializes token. - * - * @param mixed $value - * @param StringUtil $util - * @param ComparatorFactory $comparatorFactory - */ - public function __construct($value, StringUtil $util = null, ComparatorFactory $comparatorFactory = null) - { - $this->value = $value; - $this->util = $util ?: new StringUtil(); - - $this->comparatorFactory = $comparatorFactory ?: ComparatorFactory::getInstance(); - } - - /** - * Scores 10 if argument matches preset value. - * - * @param $argument - * - * @return bool|int - */ - public function scoreArgument($argument) - { - if (is_object($argument) && is_object($this->value)) { - $comparator = $this->comparatorFactory->getComparatorFor( - $argument, $this->value - ); - - try { - $comparator->assertEquals($argument, $this->value); - return 10; - } catch (ComparisonFailure $failure) {} - } - - // If either one is an object it should be castable to a string - if (is_object($argument) xor is_object($this->value)) { - if (is_object($argument) && !method_exists($argument, '__toString')) { - return false; - } - - if (is_object($this->value) && !method_exists($this->value, '__toString')) { - return false; - } - } elseif (is_numeric($argument) && is_numeric($this->value)) { - // noop - } elseif (gettype($argument) !== gettype($this->value)) { - return false; - } - - return $argument == $this->value ? 10 : false; - } - - /** - * Returns preset value against which token checks arguments. - * - * @return mixed - */ - public function getValue() - { - return $this->value; - } - - /** - * Returns false. - * - * @return bool - */ - public function isLast() - { - return false; - } - - /** - * Returns string representation for token. - * - * @return string - */ - public function __toString() - { - if (null === $this->string) { - $this->string = sprintf('exact(%s)', $this->util->stringify($this->value)); - } - - return $this->string; - } -} diff --git a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/IdenticalValueToken.php b/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/IdenticalValueToken.php deleted file mode 100644 index 0b6d23a..0000000 --- a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/IdenticalValueToken.php +++ /dev/null @@ -1,74 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Argument\Token; - -use Prophecy\Util\StringUtil; - -/** - * Identical value token. - * - * @author Florian Voutzinos - */ -class IdenticalValueToken implements TokenInterface -{ - private $value; - private $string; - private $util; - - /** - * Initializes token. - * - * @param mixed $value - * @param StringUtil $util - */ - public function __construct($value, StringUtil $util = null) - { - $this->value = $value; - $this->util = $util ?: new StringUtil(); - } - - /** - * Scores 11 if argument matches preset value. - * - * @param $argument - * - * @return bool|int - */ - public function scoreArgument($argument) - { - return $argument === $this->value ? 11 : false; - } - - /** - * Returns false. - * - * @return bool - */ - public function isLast() - { - return false; - } - - /** - * Returns string representation for token. - * - * @return string - */ - public function __toString() - { - if (null === $this->string) { - $this->string = sprintf('identical(%s)', $this->util->stringify($this->value)); - } - - return $this->string; - } -} diff --git a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/LogicalAndToken.php b/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/LogicalAndToken.php deleted file mode 100644 index 4ee1b25..0000000 --- a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/LogicalAndToken.php +++ /dev/null @@ -1,80 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Argument\Token; - -/** - * Logical AND token. - * - * @author Boris Mikhaylov - */ -class LogicalAndToken implements TokenInterface -{ - private $tokens = array(); - - /** - * @param array $arguments exact values or tokens - */ - public function __construct(array $arguments) - { - foreach ($arguments as $argument) { - if (!$argument instanceof TokenInterface) { - $argument = new ExactValueToken($argument); - } - $this->tokens[] = $argument; - } - } - - /** - * Scores maximum score from scores returned by tokens for this argument if all of them score. - * - * @param $argument - * - * @return bool|int - */ - public function scoreArgument($argument) - { - if (0 === count($this->tokens)) { - return false; - } - - $maxScore = 0; - foreach ($this->tokens as $token) { - $score = $token->scoreArgument($argument); - if (false === $score) { - return false; - } - $maxScore = max($score, $maxScore); - } - - return $maxScore; - } - - /** - * Returns false. - * - * @return boolean - */ - public function isLast() - { - return false; - } - - /** - * Returns string representation for token. - * - * @return string - */ - public function __toString() - { - return sprintf('bool(%s)', implode(' AND ', $this->tokens)); - } -} diff --git a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/LogicalNotToken.php b/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/LogicalNotToken.php deleted file mode 100644 index 623efa5..0000000 --- a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/LogicalNotToken.php +++ /dev/null @@ -1,73 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Argument\Token; - -/** - * Logical NOT token. - * - * @author Boris Mikhaylov - */ -class LogicalNotToken implements TokenInterface -{ - /** @var \Prophecy\Argument\Token\TokenInterface */ - private $token; - - /** - * @param mixed $value exact value or token - */ - public function __construct($value) - { - $this->token = $value instanceof TokenInterface? $value : new ExactValueToken($value); - } - - /** - * Scores 4 when preset token does not match the argument. - * - * @param $argument - * - * @return bool|int - */ - public function scoreArgument($argument) - { - return false === $this->token->scoreArgument($argument) ? 4 : false; - } - - /** - * Returns true if preset token is last. - * - * @return bool|int - */ - public function isLast() - { - return $this->token->isLast(); - } - - /** - * Returns originating token. - * - * @return TokenInterface - */ - public function getOriginatingToken() - { - return $this->token; - } - - /** - * Returns string representation for token. - * - * @return string - */ - public function __toString() - { - return sprintf('not(%s)', $this->token); - } -} diff --git a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/ObjectStateToken.php b/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/ObjectStateToken.php deleted file mode 100644 index d771077..0000000 --- a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/ObjectStateToken.php +++ /dev/null @@ -1,104 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Argument\Token; - -use SebastianBergmann\Comparator\ComparisonFailure; -use Prophecy\Comparator\Factory as ComparatorFactory; -use Prophecy\Util\StringUtil; - -/** - * Object state-checker token. - * - * @author Konstantin Kudryashov - */ -class ObjectStateToken implements TokenInterface -{ - private $name; - private $value; - private $util; - private $comparatorFactory; - - /** - * Initializes token. - * - * @param string $methodName - * @param mixed $value Expected return value - * @param null|StringUtil $util - * @param ComparatorFactory $comparatorFactory - */ - public function __construct( - $methodName, - $value, - StringUtil $util = null, - ComparatorFactory $comparatorFactory = null - ) { - $this->name = $methodName; - $this->value = $value; - $this->util = $util ?: new StringUtil; - - $this->comparatorFactory = $comparatorFactory ?: ComparatorFactory::getInstance(); - } - - /** - * Scores 8 if argument is an object, which method returns expected value. - * - * @param mixed $argument - * - * @return bool|int - */ - public function scoreArgument($argument) - { - if (is_object($argument) && method_exists($argument, $this->name)) { - $actual = call_user_func(array($argument, $this->name)); - - $comparator = $this->comparatorFactory->getComparatorFor( - $this->value, $actual - ); - - try { - $comparator->assertEquals($this->value, $actual); - return 8; - } catch (ComparisonFailure $failure) { - return false; - } - } - - if (is_object($argument) && property_exists($argument, $this->name)) { - return $argument->{$this->name} === $this->value ? 8 : false; - } - - return false; - } - - /** - * Returns false. - * - * @return bool - */ - public function isLast() - { - return false; - } - - /** - * Returns string representation for token. - * - * @return string - */ - public function __toString() - { - return sprintf('state(%s(), %s)', - $this->name, - $this->util->stringify($this->value) - ); - } -} diff --git a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/StringContainsToken.php b/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/StringContainsToken.php deleted file mode 100644 index bd8d423..0000000 --- a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/StringContainsToken.php +++ /dev/null @@ -1,67 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Argument\Token; - -/** - * String contains token. - * - * @author Peter Mitchell - */ -class StringContainsToken implements TokenInterface -{ - private $value; - - /** - * Initializes token. - * - * @param string $value - */ - public function __construct($value) - { - $this->value = $value; - } - - public function scoreArgument($argument) - { - return is_string($argument) && strpos($argument, $this->value) !== false ? 6 : false; - } - - /** - * Returns preset value against which token checks arguments. - * - * @return mixed - */ - public function getValue() - { - return $this->value; - } - - /** - * Returns false. - * - * @return bool - */ - public function isLast() - { - return false; - } - - /** - * Returns string representation for token. - * - * @return string - */ - public function __toString() - { - return sprintf('contains("%s")', $this->value); - } -} diff --git a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/TokenInterface.php b/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/TokenInterface.php deleted file mode 100644 index 625d3ba..0000000 --- a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/TokenInterface.php +++ /dev/null @@ -1,43 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Argument\Token; - -/** - * Argument token interface. - * - * @author Konstantin Kudryashov - */ -interface TokenInterface -{ - /** - * Calculates token match score for provided argument. - * - * @param $argument - * - * @return bool|int - */ - public function scoreArgument($argument); - - /** - * Returns true if this token prevents check of other tokens (is last one). - * - * @return bool|int - */ - public function isLast(); - - /** - * Returns string representation for token. - * - * @return string - */ - public function __toString(); -} diff --git a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/TypeToken.php b/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/TypeToken.php deleted file mode 100644 index cb65132..0000000 --- a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/TypeToken.php +++ /dev/null @@ -1,76 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Argument\Token; - -use Prophecy\Exception\InvalidArgumentException; - -/** - * Value type token. - * - * @author Konstantin Kudryashov - */ -class TypeToken implements TokenInterface -{ - private $type; - - /** - * @param string $type - */ - public function __construct($type) - { - $checker = "is_{$type}"; - if (!function_exists($checker) && !interface_exists($type) && !class_exists($type)) { - throw new InvalidArgumentException(sprintf( - 'Type or class name expected as an argument to TypeToken, but got %s.', $type - )); - } - - $this->type = $type; - } - - /** - * Scores 5 if argument has the same type this token was constructed with. - * - * @param $argument - * - * @return bool|int - */ - public function scoreArgument($argument) - { - $checker = "is_{$this->type}"; - if (function_exists($checker)) { - return call_user_func($checker, $argument) ? 5 : false; - } - - return $argument instanceof $this->type ? 5 : false; - } - - /** - * Returns false. - * - * @return bool - */ - public function isLast() - { - return false; - } - - /** - * Returns string representation for token. - * - * @return string - */ - public function __toString() - { - return sprintf('type(%s)', $this->type); - } -} diff --git a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Call/Call.php b/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Call/Call.php deleted file mode 100644 index 2652235..0000000 --- a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Call/Call.php +++ /dev/null @@ -1,162 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Call; - -use Exception; -use Prophecy\Argument\ArgumentsWildcard; - -/** - * Call object. - * - * @author Konstantin Kudryashov - */ -class Call -{ - private $methodName; - private $arguments; - private $returnValue; - private $exception; - private $file; - private $line; - private $scores; - - /** - * Initializes call. - * - * @param string $methodName - * @param array $arguments - * @param mixed $returnValue - * @param Exception $exception - * @param null|string $file - * @param null|int $line - */ - public function __construct($methodName, array $arguments, $returnValue, - Exception $exception = null, $file, $line) - { - $this->methodName = $methodName; - $this->arguments = $arguments; - $this->returnValue = $returnValue; - $this->exception = $exception; - $this->scores = new \SplObjectStorage(); - - if ($file) { - $this->file = $file; - $this->line = intval($line); - } - } - - /** - * Returns called method name. - * - * @return string - */ - public function getMethodName() - { - return $this->methodName; - } - - /** - * Returns called method arguments. - * - * @return array - */ - public function getArguments() - { - return $this->arguments; - } - - /** - * Returns called method return value. - * - * @return null|mixed - */ - public function getReturnValue() - { - return $this->returnValue; - } - - /** - * Returns exception that call thrown. - * - * @return null|Exception - */ - public function getException() - { - return $this->exception; - } - - /** - * Returns callee filename. - * - * @return string - */ - public function getFile() - { - return $this->file; - } - - /** - * Returns callee line number. - * - * @return int - */ - public function getLine() - { - return $this->line; - } - - /** - * Returns short notation for callee place. - * - * @return string - */ - public function getCallPlace() - { - if (null === $this->file) { - return 'unknown'; - } - - return sprintf('%s:%d', $this->file, $this->line); - } - - /** - * Adds the wildcard match score for the provided wildcard. - * - * @param ArgumentsWildcard $wildcard - * @param false|int $score - * - * @return $this - */ - public function addScore(ArgumentsWildcard $wildcard, $score) - { - $this->scores[$wildcard] = $score; - - return $this; - } - - /** - * Returns wildcard match score for the provided wildcard. The score is - * calculated if not already done. - * - * @param ArgumentsWildcard $wildcard - * - * @return false|int False OR integer score (higher - better) - */ - public function getScore(ArgumentsWildcard $wildcard) - { - if (isset($this->scores[$wildcard])) { - return $this->scores[$wildcard]; - } - - return $this->scores[$wildcard] = $wildcard->scoreArguments($this->getArguments()); - } -} diff --git a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Call/CallCenter.php b/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Call/CallCenter.php deleted file mode 100644 index d52ad61..0000000 --- a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Call/CallCenter.php +++ /dev/null @@ -1,206 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Call; - -use Prophecy\Exception\Prophecy\MethodProphecyException; -use Prophecy\Prophecy\ObjectProphecy; -use Prophecy\Argument\ArgumentsWildcard; -use Prophecy\Util\StringUtil; -use Prophecy\Exception\Call\UnexpectedCallException; - -/** - * Calls receiver & manager. - * - * @author Konstantin Kudryashov - */ -class CallCenter -{ - private $util; - - /** - * @var Call[] - */ - private $recordedCalls = array(); - - /** - * Initializes call center. - * - * @param StringUtil $util - */ - public function __construct(StringUtil $util = null) - { - $this->util = $util ?: new StringUtil; - } - - /** - * Makes and records specific method call for object prophecy. - * - * @param ObjectProphecy $prophecy - * @param string $methodName - * @param array $arguments - * - * @return mixed Returns null if no promise for prophecy found or promise return value. - * - * @throws \Prophecy\Exception\Call\UnexpectedCallException If no appropriate method prophecy found - */ - public function makeCall(ObjectProphecy $prophecy, $methodName, array $arguments) - { - // For efficiency exclude 'args' from the generated backtrace - if (PHP_VERSION_ID >= 50400) { - // Limit backtrace to last 3 calls as we don't use the rest - // Limit argument was introduced in PHP 5.4.0 - $backtrace = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, 3); - } elseif (defined('DEBUG_BACKTRACE_IGNORE_ARGS')) { - // DEBUG_BACKTRACE_IGNORE_ARGS was introduced in PHP 5.3.6 - $backtrace = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS); - } else { - $backtrace = debug_backtrace(); - } - - $file = $line = null; - if (isset($backtrace[2]) && isset($backtrace[2]['file'])) { - $file = $backtrace[2]['file']; - $line = $backtrace[2]['line']; - } - - // If no method prophecies defined, then it's a dummy, so we'll just return null - if ('__destruct' === $methodName || 0 == count($prophecy->getMethodProphecies())) { - $this->recordedCalls[] = new Call($methodName, $arguments, null, null, $file, $line); - - return null; - } - - // There are method prophecies, so it's a fake/stub. Searching prophecy for this call - $matches = array(); - foreach ($prophecy->getMethodProphecies($methodName) as $methodProphecy) { - if (0 < $score = $methodProphecy->getArgumentsWildcard()->scoreArguments($arguments)) { - $matches[] = array($score, $methodProphecy); - } - } - - // If fake/stub doesn't have method prophecy for this call - throw exception - if (!count($matches)) { - throw $this->createUnexpectedCallException($prophecy, $methodName, $arguments); - } - - // Sort matches by their score value - @usort($matches, function ($match1, $match2) { return $match2[0] - $match1[0]; }); - - $score = $matches[0][0]; - // If Highest rated method prophecy has a promise - execute it or return null instead - $methodProphecy = $matches[0][1]; - $returnValue = null; - $exception = null; - if ($promise = $methodProphecy->getPromise()) { - try { - $returnValue = $promise->execute($arguments, $prophecy, $methodProphecy); - } catch (\Exception $e) { - $exception = $e; - } - } - - if ($methodProphecy->hasReturnVoid() && $returnValue !== null) { - throw new MethodProphecyException( - "The method \"$methodName\" has a void return type, but the promise returned a value", - $methodProphecy - ); - } - - $this->recordedCalls[] = $call = new Call( - $methodName, $arguments, $returnValue, $exception, $file, $line - ); - $call->addScore($methodProphecy->getArgumentsWildcard(), $score); - - if (null !== $exception) { - throw $exception; - } - - return $returnValue; - } - - /** - * Searches for calls by method name & arguments wildcard. - * - * @param string $methodName - * @param ArgumentsWildcard $wildcard - * - * @return Call[] - */ - public function findCalls($methodName, ArgumentsWildcard $wildcard) - { - return array_values( - array_filter($this->recordedCalls, function (Call $call) use ($methodName, $wildcard) { - return $methodName === $call->getMethodName() - && 0 < $call->getScore($wildcard) - ; - }) - ); - } - - private function createUnexpectedCallException(ObjectProphecy $prophecy, $methodName, - array $arguments) - { - $classname = get_class($prophecy->reveal()); - $indentationLength = 8; // looks good - $argstring = implode( - ",\n", - $this->indentArguments( - array_map(array($this->util, 'stringify'), $arguments), - $indentationLength - ) - ); - - $expected = array(); - - foreach (call_user_func_array('array_merge', $prophecy->getMethodProphecies()) as $methodProphecy) { - $expected[] = sprintf( - " - %s(\n" . - "%s\n" . - " )", - $methodProphecy->getMethodName(), - implode( - ",\n", - $this->indentArguments( - array_map('strval', $methodProphecy->getArgumentsWildcard()->getTokens()), - $indentationLength - ) - ) - ); - } - - return new UnexpectedCallException( - sprintf( - "Unexpected method call on %s:\n". - " - %s(\n". - "%s\n". - " )\n". - "expected calls were:\n". - "%s", - - $classname, $methodName, $argstring, implode("\n", $expected) - ), - $prophecy, $methodName, $arguments - - ); - } - - private function indentArguments(array $arguments, $indentationLength) - { - return preg_replace_callback( - '/^/m', - function () use ($indentationLength) { - return str_repeat(' ', $indentationLength); - }, - $arguments - ); - } -} diff --git a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Comparator/ClosureComparator.php b/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Comparator/ClosureComparator.php deleted file mode 100644 index 874e474..0000000 --- a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Comparator/ClosureComparator.php +++ /dev/null @@ -1,42 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Comparator; - -use SebastianBergmann\Comparator\Comparator; -use SebastianBergmann\Comparator\ComparisonFailure; - -/** - * Closure comparator. - * - * @author Konstantin Kudryashov - */ -final class ClosureComparator extends Comparator -{ - public function accepts($expected, $actual) - { - return is_object($expected) && $expected instanceof \Closure - && is_object($actual) && $actual instanceof \Closure; - } - - public function assertEquals($expected, $actual, $delta = 0.0, $canonicalize = false, $ignoreCase = false) - { - throw new ComparisonFailure( - $expected, - $actual, - // we don't need a diff - '', - '', - false, - 'all closures are born different' - ); - } -} diff --git a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Comparator/Factory.php b/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Comparator/Factory.php deleted file mode 100644 index 2070db1..0000000 --- a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Comparator/Factory.php +++ /dev/null @@ -1,47 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Comparator; - -use SebastianBergmann\Comparator\Factory as BaseFactory; - -/** - * Prophecy comparator factory. - * - * @author Konstantin Kudryashov - */ -final class Factory extends BaseFactory -{ - /** - * @var Factory - */ - private static $instance; - - public function __construct() - { - parent::__construct(); - - $this->register(new ClosureComparator()); - $this->register(new ProphecyComparator()); - } - - /** - * @return Factory - */ - public static function getInstance() - { - if (self::$instance === null) { - self::$instance = new Factory; - } - - return self::$instance; - } -} diff --git a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Comparator/ProphecyComparator.php b/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Comparator/ProphecyComparator.php deleted file mode 100644 index 298a8e3..0000000 --- a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Comparator/ProphecyComparator.php +++ /dev/null @@ -1,28 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Comparator; - -use Prophecy\Prophecy\ProphecyInterface; -use SebastianBergmann\Comparator\ObjectComparator; - -class ProphecyComparator extends ObjectComparator -{ - public function accepts($expected, $actual) - { - return is_object($expected) && is_object($actual) && $actual instanceof ProphecyInterface; - } - - public function assertEquals($expected, $actual, $delta = 0.0, $canonicalize = false, $ignoreCase = false, array &$processed = array()) - { - parent::assertEquals($expected, $actual->reveal(), $delta, $canonicalize, $ignoreCase, $processed); - } -} diff --git a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Doubler/CachedDoubler.php b/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Doubler/CachedDoubler.php deleted file mode 100644 index d6b6b1a..0000000 --- a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Doubler/CachedDoubler.php +++ /dev/null @@ -1,68 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Doubler; - -use ReflectionClass; - -/** - * Cached class doubler. - * Prevents mirroring/creation of the same structure twice. - * - * @author Konstantin Kudryashov - */ -class CachedDoubler extends Doubler -{ - private $classes = array(); - - /** - * {@inheritdoc} - */ - public function registerClassPatch(ClassPatch\ClassPatchInterface $patch) - { - $this->classes[] = array(); - - parent::registerClassPatch($patch); - } - - /** - * {@inheritdoc} - */ - protected function createDoubleClass(ReflectionClass $class = null, array $interfaces) - { - $classId = $this->generateClassId($class, $interfaces); - if (isset($this->classes[$classId])) { - return $this->classes[$classId]; - } - - return $this->classes[$classId] = parent::createDoubleClass($class, $interfaces); - } - - /** - * @param ReflectionClass $class - * @param ReflectionClass[] $interfaces - * - * @return string - */ - private function generateClassId(ReflectionClass $class = null, array $interfaces) - { - $parts = array(); - if (null !== $class) { - $parts[] = $class->getName(); - } - foreach ($interfaces as $interface) { - $parts[] = $interface->getName(); - } - sort($parts); - - return md5(implode('', $parts)); - } -} diff --git a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/ClassPatchInterface.php b/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/ClassPatchInterface.php deleted file mode 100644 index d6d1968..0000000 --- a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/ClassPatchInterface.php +++ /dev/null @@ -1,48 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Doubler\ClassPatch; - -use Prophecy\Doubler\Generator\Node\ClassNode; - -/** - * Class patch interface. - * Class patches extend doubles functionality or help - * Prophecy to avoid some internal PHP bugs. - * - * @author Konstantin Kudryashov - */ -interface ClassPatchInterface -{ - /** - * Checks if patch supports specific class node. - * - * @param ClassNode $node - * - * @return bool - */ - public function supports(ClassNode $node); - - /** - * Applies patch to the specific class node. - * - * @param ClassNode $node - * @return void - */ - public function apply(ClassNode $node); - - /** - * Returns patch priority, which determines when patch will be applied. - * - * @return int Priority number (higher - earlier) - */ - public function getPriority(); -} diff --git a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/DisableConstructorPatch.php b/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/DisableConstructorPatch.php deleted file mode 100644 index 9d84309..0000000 --- a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/DisableConstructorPatch.php +++ /dev/null @@ -1,76 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Doubler\ClassPatch; - -use Prophecy\Doubler\Generator\Node\ClassNode; -use Prophecy\Doubler\Generator\Node\MethodNode; - -/** - * Disable constructor. - * Makes all constructor arguments optional. - * - * @author Konstantin Kudryashov - */ -class DisableConstructorPatch implements ClassPatchInterface -{ - /** - * Checks if class has `__construct` method. - * - * @param ClassNode $node - * - * @return bool - */ - public function supports(ClassNode $node) - { - return true; - } - - /** - * Makes all class constructor arguments optional. - * - * @param ClassNode $node - */ - public function apply(ClassNode $node) - { - if (!$node->isExtendable('__construct')) { - return; - } - - if (!$node->hasMethod('__construct')) { - $node->addMethod(new MethodNode('__construct', '')); - - return; - } - - $constructor = $node->getMethod('__construct'); - foreach ($constructor->getArguments() as $argument) { - $argument->setDefault(null); - } - - $constructor->setCode(<< - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Doubler\ClassPatch; - -use Prophecy\Doubler\Generator\Node\ClassNode; - -/** - * Exception patch for HHVM to remove the stubs from special methods - * - * @author Christophe Coevoet - */ -class HhvmExceptionPatch implements ClassPatchInterface -{ - /** - * Supports exceptions on HHVM. - * - * @param ClassNode $node - * - * @return bool - */ - public function supports(ClassNode $node) - { - if (!defined('HHVM_VERSION')) { - return false; - } - - return 'Exception' === $node->getParentClass() || is_subclass_of($node->getParentClass(), 'Exception'); - } - - /** - * Removes special exception static methods from the doubled methods. - * - * @param ClassNode $node - * - * @return void - */ - public function apply(ClassNode $node) - { - if ($node->hasMethod('setTraceOptions')) { - $node->getMethod('setTraceOptions')->useParentCode(); - } - if ($node->hasMethod('getTraceOptions')) { - $node->getMethod('getTraceOptions')->useParentCode(); - } - } - - /** - * {@inheritdoc} - */ - public function getPriority() - { - return -50; - } -} diff --git a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/KeywordPatch.php b/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/KeywordPatch.php deleted file mode 100644 index 41ea2fc..0000000 --- a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/KeywordPatch.php +++ /dev/null @@ -1,140 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Doubler\ClassPatch; - -use Prophecy\Doubler\Generator\Node\ClassNode; - -/** - * Remove method functionality from the double which will clash with php keywords. - * - * @author Milan Magudia - */ -class KeywordPatch implements ClassPatchInterface -{ - /** - * Support any class - * - * @param ClassNode $node - * - * @return boolean - */ - public function supports(ClassNode $node) - { - return true; - } - - /** - * Remove methods that clash with php keywords - * - * @param ClassNode $node - */ - public function apply(ClassNode $node) - { - $methodNames = array_keys($node->getMethods()); - $methodsToRemove = array_intersect($methodNames, $this->getKeywords()); - foreach ($methodsToRemove as $methodName) { - $node->removeMethod($methodName); - } - } - - /** - * Returns patch priority, which determines when patch will be applied. - * - * @return int Priority number (higher - earlier) - */ - public function getPriority() - { - return 49; - } - - /** - * Returns array of php keywords. - * - * @return array - */ - private function getKeywords() - { - if (\PHP_VERSION_ID >= 70000) { - return array('__halt_compiler'); - } - - return array( - '__halt_compiler', - 'abstract', - 'and', - 'array', - 'as', - 'break', - 'callable', - 'case', - 'catch', - 'class', - 'clone', - 'const', - 'continue', - 'declare', - 'default', - 'die', - 'do', - 'echo', - 'else', - 'elseif', - 'empty', - 'enddeclare', - 'endfor', - 'endforeach', - 'endif', - 'endswitch', - 'endwhile', - 'eval', - 'exit', - 'extends', - 'final', - 'finally', - 'for', - 'foreach', - 'function', - 'global', - 'goto', - 'if', - 'implements', - 'include', - 'include_once', - 'instanceof', - 'insteadof', - 'interface', - 'isset', - 'list', - 'namespace', - 'new', - 'or', - 'print', - 'private', - 'protected', - 'public', - 'require', - 'require_once', - 'return', - 'static', - 'switch', - 'throw', - 'trait', - 'try', - 'unset', - 'use', - 'var', - 'while', - 'xor', - 'yield', - ); - } -} diff --git a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/MagicCallPatch.php b/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/MagicCallPatch.php deleted file mode 100644 index 9ff49cd..0000000 --- a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/MagicCallPatch.php +++ /dev/null @@ -1,94 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Doubler\ClassPatch; - -use Prophecy\Doubler\Generator\Node\ClassNode; -use Prophecy\Doubler\Generator\Node\MethodNode; -use Prophecy\PhpDocumentor\ClassAndInterfaceTagRetriever; -use Prophecy\PhpDocumentor\MethodTagRetrieverInterface; - -/** - * Discover Magical API using "@method" PHPDoc format. - * - * @author Thomas Tourlourat - * @author Kévin Dunglas - * @author Théo FIDRY - */ -class MagicCallPatch implements ClassPatchInterface -{ - private $tagRetriever; - - public function __construct(MethodTagRetrieverInterface $tagRetriever = null) - { - $this->tagRetriever = null === $tagRetriever ? new ClassAndInterfaceTagRetriever() : $tagRetriever; - } - - /** - * Support any class - * - * @param ClassNode $node - * - * @return boolean - */ - public function supports(ClassNode $node) - { - return true; - } - - /** - * Discover Magical API - * - * @param ClassNode $node - */ - public function apply(ClassNode $node) - { - $types = array_filter($node->getInterfaces(), function ($interface) { - return 0 !== strpos($interface, 'Prophecy\\'); - }); - $types[] = $node->getParentClass(); - - foreach ($types as $type) { - $reflectionClass = new \ReflectionClass($type); - - while ($reflectionClass) { - $tagList = $this->tagRetriever->getTagList($reflectionClass); - - foreach ($tagList as $tag) { - $methodName = $tag->getMethodName(); - - if (empty($methodName)) { - continue; - } - - if (!$reflectionClass->hasMethod($methodName)) { - $methodNode = new MethodNode($methodName); - $methodNode->setStatic($tag->isStatic()); - $node->addMethod($methodNode); - } - } - - $reflectionClass = $reflectionClass->getParentClass(); - } - } - } - - /** - * Returns patch priority, which determines when patch will be applied. - * - * @return integer Priority number (higher - earlier) - */ - public function getPriority() - { - return 50; - } -} - diff --git a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/ProphecySubjectPatch.php b/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/ProphecySubjectPatch.php deleted file mode 100644 index 081dea8..0000000 --- a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/ProphecySubjectPatch.php +++ /dev/null @@ -1,104 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Doubler\ClassPatch; - -use Prophecy\Doubler\Generator\Node\ClassNode; -use Prophecy\Doubler\Generator\Node\MethodNode; -use Prophecy\Doubler\Generator\Node\ArgumentNode; - -/** - * Add Prophecy functionality to the double. - * This is a core class patch for Prophecy. - * - * @author Konstantin Kudryashov - */ -class ProphecySubjectPatch implements ClassPatchInterface -{ - /** - * Always returns true. - * - * @param ClassNode $node - * - * @return bool - */ - public function supports(ClassNode $node) - { - return true; - } - - /** - * Apply Prophecy functionality to class node. - * - * @param ClassNode $node - */ - public function apply(ClassNode $node) - { - $node->addInterface('Prophecy\Prophecy\ProphecySubjectInterface'); - $node->addProperty('objectProphecy', 'private'); - - foreach ($node->getMethods() as $name => $method) { - if ('__construct' === strtolower($name)) { - continue; - } - - if ($method->getReturnType() === 'void') { - $method->setCode( - '$this->getProphecy()->makeProphecyMethodCall(__FUNCTION__, func_get_args());' - ); - } else { - $method->setCode( - 'return $this->getProphecy()->makeProphecyMethodCall(__FUNCTION__, func_get_args());' - ); - } - } - - $prophecySetter = new MethodNode('setProphecy'); - $prophecyArgument = new ArgumentNode('prophecy'); - $prophecyArgument->setTypeHint('Prophecy\Prophecy\ProphecyInterface'); - $prophecySetter->addArgument($prophecyArgument); - $prophecySetter->setCode('$this->objectProphecy = $prophecy;'); - - $prophecyGetter = new MethodNode('getProphecy'); - $prophecyGetter->setCode('return $this->objectProphecy;'); - - if ($node->hasMethod('__call')) { - $__call = $node->getMethod('__call'); - } else { - $__call = new MethodNode('__call'); - $__call->addArgument(new ArgumentNode('name')); - $__call->addArgument(new ArgumentNode('arguments')); - - $node->addMethod($__call, true); - } - - $__call->setCode(<<getProphecy(), func_get_arg(0) -); -PHP - ); - - $node->addMethod($prophecySetter, true); - $node->addMethod($prophecyGetter, true); - } - - /** - * Returns patch priority, which determines when patch will be applied. - * - * @return int Priority number (higher - earlier) - */ - public function getPriority() - { - return 0; - } -} diff --git a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/ReflectionClassNewInstancePatch.php b/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/ReflectionClassNewInstancePatch.php deleted file mode 100644 index 9166aee..0000000 --- a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/ReflectionClassNewInstancePatch.php +++ /dev/null @@ -1,57 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Doubler\ClassPatch; - -use Prophecy\Doubler\Generator\Node\ClassNode; - -/** - * ReflectionClass::newInstance patch. - * Makes first argument of newInstance optional, since it works but signature is misleading - * - * @author Florian Klein - */ -class ReflectionClassNewInstancePatch implements ClassPatchInterface -{ - /** - * Supports ReflectionClass - * - * @param ClassNode $node - * - * @return bool - */ - public function supports(ClassNode $node) - { - return 'ReflectionClass' === $node->getParentClass(); - } - - /** - * Updates newInstance's first argument to make it optional - * - * @param ClassNode $node - */ - public function apply(ClassNode $node) - { - foreach ($node->getMethod('newInstance')->getArguments() as $argument) { - $argument->setDefault(null); - } - } - - /** - * Returns patch priority, which determines when patch will be applied. - * - * @return int Priority number (higher = earlier) - */ - public function getPriority() - { - return 50; - } -} diff --git a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/SplFileInfoPatch.php b/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/SplFileInfoPatch.php deleted file mode 100644 index ceee94a..0000000 --- a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/SplFileInfoPatch.php +++ /dev/null @@ -1,123 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Doubler\ClassPatch; - -use Prophecy\Doubler\Generator\Node\ClassNode; -use Prophecy\Doubler\Generator\Node\MethodNode; - -/** - * SplFileInfo patch. - * Makes SplFileInfo and derivative classes usable with Prophecy. - * - * @author Konstantin Kudryashov - */ -class SplFileInfoPatch implements ClassPatchInterface -{ - /** - * Supports everything that extends SplFileInfo. - * - * @param ClassNode $node - * - * @return bool - */ - public function supports(ClassNode $node) - { - if (null === $node->getParentClass()) { - return false; - } - return 'SplFileInfo' === $node->getParentClass() - || is_subclass_of($node->getParentClass(), 'SplFileInfo') - ; - } - - /** - * Updated constructor code to call parent one with dummy file argument. - * - * @param ClassNode $node - */ - public function apply(ClassNode $node) - { - if ($node->hasMethod('__construct')) { - $constructor = $node->getMethod('__construct'); - } else { - $constructor = new MethodNode('__construct'); - $node->addMethod($constructor); - } - - if ($this->nodeIsDirectoryIterator($node)) { - $constructor->setCode('return parent::__construct("' . __DIR__ . '");'); - - return; - } - - if ($this->nodeIsSplFileObject($node)) { - $filePath = str_replace('\\','\\\\',__FILE__); - $constructor->setCode('return parent::__construct("' . $filePath .'");'); - - return; - } - - if ($this->nodeIsSymfonySplFileInfo($node)) { - $filePath = str_replace('\\','\\\\',__FILE__); - $constructor->setCode('return parent::__construct("' . $filePath .'", "", "");'); - - return; - } - - $constructor->useParentCode(); - } - - /** - * Returns patch priority, which determines when patch will be applied. - * - * @return int Priority number (higher - earlier) - */ - public function getPriority() - { - return 50; - } - - /** - * @param ClassNode $node - * @return boolean - */ - private function nodeIsDirectoryIterator(ClassNode $node) - { - $parent = $node->getParentClass(); - - return 'DirectoryIterator' === $parent - || is_subclass_of($parent, 'DirectoryIterator'); - } - - /** - * @param ClassNode $node - * @return boolean - */ - private function nodeIsSplFileObject(ClassNode $node) - { - $parent = $node->getParentClass(); - - return 'SplFileObject' === $parent - || is_subclass_of($parent, 'SplFileObject'); - } - - /** - * @param ClassNode $node - * @return boolean - */ - private function nodeIsSymfonySplFileInfo(ClassNode $node) - { - $parent = $node->getParentClass(); - - return 'Symfony\\Component\\Finder\\SplFileInfo' === $parent; - } -} diff --git a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/ThrowablePatch.php b/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/ThrowablePatch.php deleted file mode 100644 index b98e943..0000000 --- a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/ThrowablePatch.php +++ /dev/null @@ -1,95 +0,0 @@ -implementsAThrowableInterface($node) && $this->doesNotExtendAThrowableClass($node); - } - - /** - * @param ClassNode $node - * @return bool - */ - private function implementsAThrowableInterface(ClassNode $node) - { - foreach ($node->getInterfaces() as $type) { - if (is_a($type, 'Throwable', true)) { - return true; - } - } - - return false; - } - - /** - * @param ClassNode $node - * @return bool - */ - private function doesNotExtendAThrowableClass(ClassNode $node) - { - return !is_a($node->getParentClass(), 'Throwable', true); - } - - /** - * Applies patch to the specific class node. - * - * @param ClassNode $node - * - * @return void - */ - public function apply(ClassNode $node) - { - $this->checkItCanBeDoubled($node); - $this->setParentClassToException($node); - } - - private function checkItCanBeDoubled(ClassNode $node) - { - $className = $node->getParentClass(); - if ($className !== 'stdClass') { - throw new ClassCreatorException( - sprintf( - 'Cannot double concrete class %s as well as implement Traversable', - $className - ), - $node - ); - } - } - - private function setParentClassToException(ClassNode $node) - { - $node->setParentClass('Exception'); - - $node->removeMethod('getMessage'); - $node->removeMethod('getCode'); - $node->removeMethod('getFile'); - $node->removeMethod('getLine'); - $node->removeMethod('getTrace'); - $node->removeMethod('getPrevious'); - $node->removeMethod('getNext'); - $node->removeMethod('getTraceAsString'); - } - - /** - * Returns patch priority, which determines when patch will be applied. - * - * @return int Priority number (higher - earlier) - */ - public function getPriority() - { - return 100; - } -} diff --git a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/TraversablePatch.php b/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/TraversablePatch.php deleted file mode 100644 index eea0202..0000000 --- a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/TraversablePatch.php +++ /dev/null @@ -1,83 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Doubler\ClassPatch; - -use Prophecy\Doubler\Generator\Node\ClassNode; -use Prophecy\Doubler\Generator\Node\MethodNode; - -/** - * Traversable interface patch. - * Forces classes that implement interfaces, that extend Traversable to also implement Iterator. - * - * @author Konstantin Kudryashov - */ -class TraversablePatch implements ClassPatchInterface -{ - /** - * Supports nodetree, that implement Traversable, but not Iterator or IteratorAggregate. - * - * @param ClassNode $node - * - * @return bool - */ - public function supports(ClassNode $node) - { - if (in_array('Iterator', $node->getInterfaces())) { - return false; - } - if (in_array('IteratorAggregate', $node->getInterfaces())) { - return false; - } - - foreach ($node->getInterfaces() as $interface) { - if ('Traversable' !== $interface && !is_subclass_of($interface, 'Traversable')) { - continue; - } - if ('Iterator' === $interface || is_subclass_of($interface, 'Iterator')) { - continue; - } - if ('IteratorAggregate' === $interface || is_subclass_of($interface, 'IteratorAggregate')) { - continue; - } - - return true; - } - - return false; - } - - /** - * Forces class to implement Iterator interface. - * - * @param ClassNode $node - */ - public function apply(ClassNode $node) - { - $node->addInterface('Iterator'); - - $node->addMethod(new MethodNode('current')); - $node->addMethod(new MethodNode('key')); - $node->addMethod(new MethodNode('next')); - $node->addMethod(new MethodNode('rewind')); - $node->addMethod(new MethodNode('valid')); - } - - /** - * Returns patch priority, which determines when patch will be applied. - * - * @return int Priority number (higher - earlier) - */ - public function getPriority() - { - return 100; - } -} diff --git a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Doubler/DoubleInterface.php b/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Doubler/DoubleInterface.php deleted file mode 100644 index 699be3a..0000000 --- a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Doubler/DoubleInterface.php +++ /dev/null @@ -1,22 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Doubler; - -/** - * Core double interface. - * All doubled classes will implement this one. - * - * @author Konstantin Kudryashov - */ -interface DoubleInterface -{ -} diff --git a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Doubler/Doubler.php b/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Doubler/Doubler.php deleted file mode 100644 index a378ae2..0000000 --- a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Doubler/Doubler.php +++ /dev/null @@ -1,146 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Doubler; - -use Doctrine\Instantiator\Instantiator; -use Prophecy\Doubler\ClassPatch\ClassPatchInterface; -use Prophecy\Doubler\Generator\ClassMirror; -use Prophecy\Doubler\Generator\ClassCreator; -use Prophecy\Exception\InvalidArgumentException; -use ReflectionClass; - -/** - * Cached class doubler. - * Prevents mirroring/creation of the same structure twice. - * - * @author Konstantin Kudryashov - */ -class Doubler -{ - private $mirror; - private $creator; - private $namer; - - /** - * @var ClassPatchInterface[] - */ - private $patches = array(); - - /** - * @var \Doctrine\Instantiator\Instantiator - */ - private $instantiator; - - /** - * Initializes doubler. - * - * @param ClassMirror $mirror - * @param ClassCreator $creator - * @param NameGenerator $namer - */ - public function __construct(ClassMirror $mirror = null, ClassCreator $creator = null, - NameGenerator $namer = null) - { - $this->mirror = $mirror ?: new ClassMirror; - $this->creator = $creator ?: new ClassCreator; - $this->namer = $namer ?: new NameGenerator; - } - - /** - * Returns list of registered class patches. - * - * @return ClassPatchInterface[] - */ - public function getClassPatches() - { - return $this->patches; - } - - /** - * Registers new class patch. - * - * @param ClassPatchInterface $patch - */ - public function registerClassPatch(ClassPatchInterface $patch) - { - $this->patches[] = $patch; - - @usort($this->patches, function (ClassPatchInterface $patch1, ClassPatchInterface $patch2) { - return $patch2->getPriority() - $patch1->getPriority(); - }); - } - - /** - * Creates double from specific class or/and list of interfaces. - * - * @param ReflectionClass $class - * @param ReflectionClass[] $interfaces Array of ReflectionClass instances - * @param array $args Constructor arguments - * - * @return DoubleInterface - * - * @throws \Prophecy\Exception\InvalidArgumentException - */ - public function double(ReflectionClass $class = null, array $interfaces, array $args = null) - { - foreach ($interfaces as $interface) { - if (!$interface instanceof ReflectionClass) { - throw new InvalidArgumentException(sprintf( - "[ReflectionClass \$interface1 [, ReflectionClass \$interface2]] array expected as\n". - "a second argument to `Doubler::double(...)`, but got %s.", - is_object($interface) ? get_class($interface).' class' : gettype($interface) - )); - } - } - - $classname = $this->createDoubleClass($class, $interfaces); - $reflection = new ReflectionClass($classname); - - if (null !== $args) { - return $reflection->newInstanceArgs($args); - } - if ((null === $constructor = $reflection->getConstructor()) - || ($constructor->isPublic() && !$constructor->isFinal())) { - return $reflection->newInstance(); - } - - if (!$this->instantiator) { - $this->instantiator = new Instantiator(); - } - - return $this->instantiator->instantiate($classname); - } - - /** - * Creates double class and returns its FQN. - * - * @param ReflectionClass $class - * @param ReflectionClass[] $interfaces - * - * @return string - */ - protected function createDoubleClass(ReflectionClass $class = null, array $interfaces) - { - $name = $this->namer->name($class, $interfaces); - $node = $this->mirror->reflect($class, $interfaces); - - foreach ($this->patches as $patch) { - if ($patch->supports($node)) { - $patch->apply($node); - } - } - - $this->creator->create($name, $node); - - return $name; - } -} diff --git a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/ClassCodeGenerator.php b/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/ClassCodeGenerator.php deleted file mode 100644 index 891faa8..0000000 --- a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/ClassCodeGenerator.php +++ /dev/null @@ -1,129 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Doubler\Generator; - -/** - * Class code creator. - * Generates PHP code for specific class node tree. - * - * @author Konstantin Kudryashov - */ -class ClassCodeGenerator -{ - /** - * @var TypeHintReference - */ - private $typeHintReference; - - public function __construct(TypeHintReference $typeHintReference = null) - { - $this->typeHintReference = $typeHintReference ?: new TypeHintReference(); - } - - /** - * Generates PHP code for class node. - * - * @param string $classname - * @param Node\ClassNode $class - * - * @return string - */ - public function generate($classname, Node\ClassNode $class) - { - $parts = explode('\\', $classname); - $classname = array_pop($parts); - $namespace = implode('\\', $parts); - - $code = sprintf("class %s extends \%s implements %s {\n", - $classname, $class->getParentClass(), implode(', ', - array_map(function ($interface) {return '\\'.$interface;}, $class->getInterfaces()) - ) - ); - - foreach ($class->getProperties() as $name => $visibility) { - $code .= sprintf("%s \$%s;\n", $visibility, $name); - } - $code .= "\n"; - - foreach ($class->getMethods() as $method) { - $code .= $this->generateMethod($method)."\n"; - } - $code .= "\n}"; - - return sprintf("namespace %s {\n%s\n}", $namespace, $code); - } - - private function generateMethod(Node\MethodNode $method) - { - $php = sprintf("%s %s function %s%s(%s)%s {\n", - $method->getVisibility(), - $method->isStatic() ? 'static' : '', - $method->returnsReference() ? '&':'', - $method->getName(), - implode(', ', $this->generateArguments($method->getArguments())), - $this->getReturnType($method) - ); - $php .= $method->getCode()."\n"; - - return $php.'}'; - } - - /** - * @return string - */ - private function getReturnType(Node\MethodNode $method) - { - if (version_compare(PHP_VERSION, '7.1', '>=')) { - if ($method->hasReturnType()) { - return $method->hasNullableReturnType() - ? sprintf(': ?%s', $method->getReturnType()) - : sprintf(': %s', $method->getReturnType()); - } - } - - if (version_compare(PHP_VERSION, '7.0', '>=')) { - return $method->hasReturnType() && $method->getReturnType() !== 'void' - ? sprintf(': %s', $method->getReturnType()) - : ''; - } - - return ''; - } - - private function generateArguments(array $arguments) - { - $typeHintReference = $this->typeHintReference; - return array_map(function (Node\ArgumentNode $argument) use ($typeHintReference) { - $php = ''; - - if (version_compare(PHP_VERSION, '7.1', '>=')) { - $php .= $argument->isNullable() ? '?' : ''; - } - - if ($hint = $argument->getTypeHint()) { - $php .= $typeHintReference->isBuiltInParamTypeHint($hint) ? $hint : '\\'.$hint; - } - - $php .= ' '.($argument->isPassedByReference() ? '&' : ''); - - $php .= $argument->isVariadic() ? '...' : ''; - - $php .= '$'.$argument->getName(); - - if ($argument->isOptional() && !$argument->isVariadic()) { - $php .= ' = '.var_export($argument->getDefault(), true); - } - - return $php; - }, $arguments); - } -} diff --git a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/ClassCreator.php b/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/ClassCreator.php deleted file mode 100644 index 882a4a4..0000000 --- a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/ClassCreator.php +++ /dev/null @@ -1,67 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Doubler\Generator; - -use Prophecy\Exception\Doubler\ClassCreatorException; - -/** - * Class creator. - * Creates specific class in current environment. - * - * @author Konstantin Kudryashov - */ -class ClassCreator -{ - private $generator; - - /** - * Initializes creator. - * - * @param ClassCodeGenerator $generator - */ - public function __construct(ClassCodeGenerator $generator = null) - { - $this->generator = $generator ?: new ClassCodeGenerator; - } - - /** - * Creates class. - * - * @param string $classname - * @param Node\ClassNode $class - * - * @return mixed - * - * @throws \Prophecy\Exception\Doubler\ClassCreatorException - */ - public function create($classname, Node\ClassNode $class) - { - $code = $this->generator->generate($classname, $class); - $return = eval($code); - - if (!class_exists($classname, false)) { - if (count($class->getInterfaces())) { - throw new ClassCreatorException(sprintf( - 'Could not double `%s` and implement interfaces: [%s].', - $class->getParentClass(), implode(', ', $class->getInterfaces()) - ), $class); - } - - throw new ClassCreatorException( - sprintf('Could not double `%s`.', $class->getParentClass()), - $class - ); - } - - return $return; - } -} diff --git a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/ClassMirror.php b/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/ClassMirror.php deleted file mode 100644 index 6dab2d9..0000000 --- a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/ClassMirror.php +++ /dev/null @@ -1,260 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Doubler\Generator; - -use Prophecy\Exception\InvalidArgumentException; -use Prophecy\Exception\Doubler\ClassMirrorException; -use ReflectionClass; -use ReflectionMethod; -use ReflectionParameter; - -/** - * Class mirror. - * Core doubler class. Mirrors specific class and/or interfaces into class node tree. - * - * @author Konstantin Kudryashov - */ -class ClassMirror -{ - private static $reflectableMethods = array( - '__construct', - '__destruct', - '__sleep', - '__wakeup', - '__toString', - '__call', - '__invoke' - ); - - /** - * Reflects provided arguments into class node. - * - * @param ReflectionClass $class - * @param ReflectionClass[] $interfaces - * - * @return Node\ClassNode - * - * @throws \Prophecy\Exception\InvalidArgumentException - */ - public function reflect(ReflectionClass $class = null, array $interfaces) - { - $node = new Node\ClassNode; - - if (null !== $class) { - if (true === $class->isInterface()) { - throw new InvalidArgumentException(sprintf( - "Could not reflect %s as a class, because it\n". - "is interface - use the second argument instead.", - $class->getName() - )); - } - - $this->reflectClassToNode($class, $node); - } - - foreach ($interfaces as $interface) { - if (!$interface instanceof ReflectionClass) { - throw new InvalidArgumentException(sprintf( - "[ReflectionClass \$interface1 [, ReflectionClass \$interface2]] array expected as\n". - "a second argument to `ClassMirror::reflect(...)`, but got %s.", - is_object($interface) ? get_class($interface).' class' : gettype($interface) - )); - } - if (false === $interface->isInterface()) { - throw new InvalidArgumentException(sprintf( - "Could not reflect %s as an interface, because it\n". - "is class - use the first argument instead.", - $interface->getName() - )); - } - - $this->reflectInterfaceToNode($interface, $node); - } - - $node->addInterface('Prophecy\Doubler\Generator\ReflectionInterface'); - - return $node; - } - - private function reflectClassToNode(ReflectionClass $class, Node\ClassNode $node) - { - if (true === $class->isFinal()) { - throw new ClassMirrorException(sprintf( - 'Could not reflect class %s as it is marked final.', $class->getName() - ), $class); - } - - $node->setParentClass($class->getName()); - - foreach ($class->getMethods(ReflectionMethod::IS_ABSTRACT) as $method) { - if (false === $method->isProtected()) { - continue; - } - - $this->reflectMethodToNode($method, $node); - } - - foreach ($class->getMethods(ReflectionMethod::IS_PUBLIC) as $method) { - if (0 === strpos($method->getName(), '_') - && !in_array($method->getName(), self::$reflectableMethods)) { - continue; - } - - if (true === $method->isFinal()) { - $node->addUnextendableMethod($method->getName()); - continue; - } - - $this->reflectMethodToNode($method, $node); - } - } - - private function reflectInterfaceToNode(ReflectionClass $interface, Node\ClassNode $node) - { - $node->addInterface($interface->getName()); - - foreach ($interface->getMethods() as $method) { - $this->reflectMethodToNode($method, $node); - } - } - - private function reflectMethodToNode(ReflectionMethod $method, Node\ClassNode $classNode) - { - $node = new Node\MethodNode($method->getName()); - - if (true === $method->isProtected()) { - $node->setVisibility('protected'); - } - - if (true === $method->isStatic()) { - $node->setStatic(); - } - - if (true === $method->returnsReference()) { - $node->setReturnsReference(); - } - - if (version_compare(PHP_VERSION, '7.0', '>=') && $method->hasReturnType()) { - $returnType = PHP_VERSION_ID >= 70100 ? $method->getReturnType()->getName() : (string) $method->getReturnType(); - $returnTypeLower = strtolower($returnType); - - if ('self' === $returnTypeLower) { - $returnType = $method->getDeclaringClass()->getName(); - } - if ('parent' === $returnTypeLower) { - $returnType = $method->getDeclaringClass()->getParentClass()->getName(); - } - - $node->setReturnType($returnType); - - if (version_compare(PHP_VERSION, '7.1', '>=') && $method->getReturnType()->allowsNull()) { - $node->setNullableReturnType(true); - } - } - - if (is_array($params = $method->getParameters()) && count($params)) { - foreach ($params as $param) { - $this->reflectArgumentToNode($param, $node); - } - } - - $classNode->addMethod($node); - } - - private function reflectArgumentToNode(ReflectionParameter $parameter, Node\MethodNode $methodNode) - { - $name = $parameter->getName() == '...' ? '__dot_dot_dot__' : $parameter->getName(); - $node = new Node\ArgumentNode($name); - - $node->setTypeHint($this->getTypeHint($parameter)); - - if ($this->isVariadic($parameter)) { - $node->setAsVariadic(); - } - - if ($this->hasDefaultValue($parameter)) { - $node->setDefault($this->getDefaultValue($parameter)); - } - - if ($parameter->isPassedByReference()) { - $node->setAsPassedByReference(); - } - - $node->setAsNullable($this->isNullable($parameter)); - - $methodNode->addArgument($node); - } - - private function hasDefaultValue(ReflectionParameter $parameter) - { - if ($this->isVariadic($parameter)) { - return false; - } - - if ($parameter->isDefaultValueAvailable()) { - return true; - } - - return $parameter->isOptional() || $this->isNullable($parameter); - } - - private function getDefaultValue(ReflectionParameter $parameter) - { - if (!$parameter->isDefaultValueAvailable()) { - return null; - } - - return $parameter->getDefaultValue(); - } - - private function getTypeHint(ReflectionParameter $parameter) - { - if (null !== $className = $this->getParameterClassName($parameter)) { - return $className; - } - - if (true === $parameter->isArray()) { - return 'array'; - } - - if (version_compare(PHP_VERSION, '5.4', '>=') && true === $parameter->isCallable()) { - return 'callable'; - } - - if (version_compare(PHP_VERSION, '7.0', '>=') && true === $parameter->hasType()) { - return PHP_VERSION_ID >= 70100 ? $parameter->getType()->getName() : (string) $parameter->getType(); - } - - return null; - } - - private function isVariadic(ReflectionParameter $parameter) - { - return PHP_VERSION_ID >= 50600 && $parameter->isVariadic(); - } - - private function isNullable(ReflectionParameter $parameter) - { - return $parameter->allowsNull() && null !== $this->getTypeHint($parameter); - } - - private function getParameterClassName(ReflectionParameter $parameter) - { - try { - return $parameter->getClass() ? $parameter->getClass()->getName() : null; - } catch (\ReflectionException $e) { - preg_match('/\[\s\<\w+?>\s([\w,\\\]+)/s', $parameter, $matches); - - return isset($matches[1]) ? $matches[1] : null; - } - } -} diff --git a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/Node/ArgumentNode.php b/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/Node/ArgumentNode.php deleted file mode 100644 index dd29b68..0000000 --- a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/Node/ArgumentNode.php +++ /dev/null @@ -1,102 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Doubler\Generator\Node; - -/** - * Argument node. - * - * @author Konstantin Kudryashov - */ -class ArgumentNode -{ - private $name; - private $typeHint; - private $default; - private $optional = false; - private $byReference = false; - private $isVariadic = false; - private $isNullable = false; - - /** - * @param string $name - */ - public function __construct($name) - { - $this->name = $name; - } - - public function getName() - { - return $this->name; - } - - public function getTypeHint() - { - return $this->typeHint; - } - - public function setTypeHint($typeHint = null) - { - $this->typeHint = $typeHint; - } - - public function hasDefault() - { - return $this->isOptional() && !$this->isVariadic(); - } - - public function getDefault() - { - return $this->default; - } - - public function setDefault($default = null) - { - $this->optional = true; - $this->default = $default; - } - - public function isOptional() - { - return $this->optional; - } - - public function setAsPassedByReference($byReference = true) - { - $this->byReference = $byReference; - } - - public function isPassedByReference() - { - return $this->byReference; - } - - public function setAsVariadic($isVariadic = true) - { - $this->isVariadic = $isVariadic; - } - - public function isVariadic() - { - return $this->isVariadic; - } - - public function isNullable() - { - return $this->isNullable; - } - - public function setAsNullable($isNullable = true) - { - $this->isNullable = $isNullable; - } -} diff --git a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/Node/ClassNode.php b/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/Node/ClassNode.php deleted file mode 100644 index f7bd285..0000000 --- a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/Node/ClassNode.php +++ /dev/null @@ -1,169 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Doubler\Generator\Node; - -use Prophecy\Exception\Doubler\MethodNotExtendableException; -use Prophecy\Exception\InvalidArgumentException; - -/** - * Class node. - * - * @author Konstantin Kudryashov - */ -class ClassNode -{ - private $parentClass = 'stdClass'; - private $interfaces = array(); - private $properties = array(); - private $unextendableMethods = array(); - - /** - * @var MethodNode[] - */ - private $methods = array(); - - public function getParentClass() - { - return $this->parentClass; - } - - /** - * @param string $class - */ - public function setParentClass($class) - { - $this->parentClass = $class ?: 'stdClass'; - } - - /** - * @return string[] - */ - public function getInterfaces() - { - return $this->interfaces; - } - - /** - * @param string $interface - */ - public function addInterface($interface) - { - if ($this->hasInterface($interface)) { - return; - } - - array_unshift($this->interfaces, $interface); - } - - /** - * @param string $interface - * - * @return bool - */ - public function hasInterface($interface) - { - return in_array($interface, $this->interfaces); - } - - public function getProperties() - { - return $this->properties; - } - - public function addProperty($name, $visibility = 'public') - { - $visibility = strtolower($visibility); - - if (!in_array($visibility, array('public', 'private', 'protected'))) { - throw new InvalidArgumentException(sprintf( - '`%s` property visibility is not supported.', $visibility - )); - } - - $this->properties[$name] = $visibility; - } - - /** - * @return MethodNode[] - */ - public function getMethods() - { - return $this->methods; - } - - public function addMethod(MethodNode $method, $force = false) - { - if (!$this->isExtendable($method->getName())){ - $message = sprintf( - 'Method `%s` is not extendable, so can not be added.', $method->getName() - ); - throw new MethodNotExtendableException($message, $this->getParentClass(), $method->getName()); - } - - if ($force || !isset($this->methods[$method->getName()])) { - $this->methods[$method->getName()] = $method; - } - } - - public function removeMethod($name) - { - unset($this->methods[$name]); - } - - /** - * @param string $name - * - * @return MethodNode|null - */ - public function getMethod($name) - { - return $this->hasMethod($name) ? $this->methods[$name] : null; - } - - /** - * @param string $name - * - * @return bool - */ - public function hasMethod($name) - { - return isset($this->methods[$name]); - } - - /** - * @return string[] - */ - public function getUnextendableMethods() - { - return $this->unextendableMethods; - } - - /** - * @param string $unextendableMethod - */ - public function addUnextendableMethod($unextendableMethod) - { - if (!$this->isExtendable($unextendableMethod)){ - return; - } - $this->unextendableMethods[] = $unextendableMethod; - } - - /** - * @param string $method - * @return bool - */ - public function isExtendable($method) - { - return !in_array($method, $this->unextendableMethods); - } -} diff --git a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/Node/MethodNode.php b/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/Node/MethodNode.php deleted file mode 100644 index c74b483..0000000 --- a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/Node/MethodNode.php +++ /dev/null @@ -1,198 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Doubler\Generator\Node; - -use Prophecy\Doubler\Generator\TypeHintReference; -use Prophecy\Exception\InvalidArgumentException; - -/** - * Method node. - * - * @author Konstantin Kudryashov - */ -class MethodNode -{ - private $name; - private $code; - private $visibility = 'public'; - private $static = false; - private $returnsReference = false; - private $returnType; - private $nullableReturnType = false; - - /** - * @var ArgumentNode[] - */ - private $arguments = array(); - - /** - * @var TypeHintReference - */ - private $typeHintReference; - - /** - * @param string $name - * @param string $code - */ - public function __construct($name, $code = null, TypeHintReference $typeHintReference = null) - { - $this->name = $name; - $this->code = $code; - $this->typeHintReference = $typeHintReference ?: new TypeHintReference(); - } - - public function getVisibility() - { - return $this->visibility; - } - - /** - * @param string $visibility - */ - public function setVisibility($visibility) - { - $visibility = strtolower($visibility); - - if (!in_array($visibility, array('public', 'private', 'protected'))) { - throw new InvalidArgumentException(sprintf( - '`%s` method visibility is not supported.', $visibility - )); - } - - $this->visibility = $visibility; - } - - public function isStatic() - { - return $this->static; - } - - public function setStatic($static = true) - { - $this->static = (bool) $static; - } - - public function returnsReference() - { - return $this->returnsReference; - } - - public function setReturnsReference() - { - $this->returnsReference = true; - } - - public function getName() - { - return $this->name; - } - - public function addArgument(ArgumentNode $argument) - { - $this->arguments[] = $argument; - } - - /** - * @return ArgumentNode[] - */ - public function getArguments() - { - return $this->arguments; - } - - public function hasReturnType() - { - return null !== $this->returnType; - } - - /** - * @param string $type - */ - public function setReturnType($type = null) - { - if ($type === '' || $type === null) { - $this->returnType = null; - return; - } - $typeMap = array( - 'double' => 'float', - 'real' => 'float', - 'boolean' => 'bool', - 'integer' => 'int', - ); - if (isset($typeMap[$type])) { - $type = $typeMap[$type]; - } - $this->returnType = $this->typeHintReference->isBuiltInReturnTypeHint($type) ? - $type : - '\\' . ltrim($type, '\\'); - } - - public function getReturnType() - { - return $this->returnType; - } - - /** - * @param bool $bool - */ - public function setNullableReturnType($bool = true) - { - $this->nullableReturnType = (bool) $bool; - } - - /** - * @return bool - */ - public function hasNullableReturnType() - { - return $this->nullableReturnType; - } - - /** - * @param string $code - */ - public function setCode($code) - { - $this->code = $code; - } - - public function getCode() - { - if ($this->returnsReference) - { - return "throw new \Prophecy\Exception\Doubler\ReturnByReferenceException('Returning by reference not supported', get_class(\$this), '{$this->name}');"; - } - - return (string) $this->code; - } - - public function useParentCode() - { - $this->code = sprintf( - 'return parent::%s(%s);', $this->getName(), implode(', ', - array_map(array($this, 'generateArgument'), $this->arguments) - ) - ); - } - - private function generateArgument(ArgumentNode $arg) - { - $argument = '$'.$arg->getName(); - - if ($arg->isVariadic()) { - $argument = '...'.$argument; - } - - return $argument; - } -} diff --git a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/ReflectionInterface.php b/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/ReflectionInterface.php deleted file mode 100644 index d720b15..0000000 --- a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/ReflectionInterface.php +++ /dev/null @@ -1,22 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Doubler\Generator; - -/** - * Reflection interface. - * All reflected classes implement this interface. - * - * @author Konstantin Kudryashov - */ -interface ReflectionInterface -{ -} diff --git a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/TypeHintReference.php b/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/TypeHintReference.php deleted file mode 100644 index ce95202..0000000 --- a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/TypeHintReference.php +++ /dev/null @@ -1,46 +0,0 @@ -= 50400; - - case 'bool': - case 'float': - case 'int': - case 'string': - return PHP_VERSION_ID >= 70000; - - case 'iterable': - return PHP_VERSION_ID >= 70100; - - case 'object': - return PHP_VERSION_ID >= 70200; - - default: - return false; - } - } - - public function isBuiltInReturnTypeHint($type) - { - if ($type === 'void') { - return PHP_VERSION_ID >= 70100; - } - - return $this->isBuiltInParamTypeHint($type); - } -} diff --git a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Doubler/LazyDouble.php b/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Doubler/LazyDouble.php deleted file mode 100644 index 8a99c4c..0000000 --- a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Doubler/LazyDouble.php +++ /dev/null @@ -1,127 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Doubler; - -use Prophecy\Exception\Doubler\DoubleException; -use Prophecy\Exception\Doubler\ClassNotFoundException; -use Prophecy\Exception\Doubler\InterfaceNotFoundException; -use ReflectionClass; - -/** - * Lazy double. - * Gives simple interface to describe double before creating it. - * - * @author Konstantin Kudryashov - */ -class LazyDouble -{ - private $doubler; - private $class; - private $interfaces = array(); - private $arguments = null; - private $double; - - /** - * Initializes lazy double. - * - * @param Doubler $doubler - */ - public function __construct(Doubler $doubler) - { - $this->doubler = $doubler; - } - - /** - * Tells doubler to use specific class as parent one for double. - * - * @param string|ReflectionClass $class - * - * @throws \Prophecy\Exception\Doubler\ClassNotFoundException - * @throws \Prophecy\Exception\Doubler\DoubleException - */ - public function setParentClass($class) - { - if (null !== $this->double) { - throw new DoubleException('Can not extend class with already instantiated double.'); - } - - if (!$class instanceof ReflectionClass) { - if (!class_exists($class)) { - throw new ClassNotFoundException(sprintf('Class %s not found.', $class), $class); - } - - $class = new ReflectionClass($class); - } - - $this->class = $class; - } - - /** - * Tells doubler to implement specific interface with double. - * - * @param string|ReflectionClass $interface - * - * @throws \Prophecy\Exception\Doubler\InterfaceNotFoundException - * @throws \Prophecy\Exception\Doubler\DoubleException - */ - public function addInterface($interface) - { - if (null !== $this->double) { - throw new DoubleException( - 'Can not implement interface with already instantiated double.' - ); - } - - if (!$interface instanceof ReflectionClass) { - if (!interface_exists($interface)) { - throw new InterfaceNotFoundException( - sprintf('Interface %s not found.', $interface), - $interface - ); - } - - $interface = new ReflectionClass($interface); - } - - $this->interfaces[] = $interface; - } - - /** - * Sets constructor arguments. - * - * @param array $arguments - */ - public function setArguments(array $arguments = null) - { - $this->arguments = $arguments; - } - - /** - * Creates double instance or returns already created one. - * - * @return DoubleInterface - */ - public function getInstance() - { - if (null === $this->double) { - if (null !== $this->arguments) { - return $this->double = $this->doubler->double( - $this->class, $this->interfaces, $this->arguments - ); - } - - $this->double = $this->doubler->double($this->class, $this->interfaces); - } - - return $this->double; - } -} diff --git a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Doubler/NameGenerator.php b/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Doubler/NameGenerator.php deleted file mode 100644 index d67ec6a..0000000 --- a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Doubler/NameGenerator.php +++ /dev/null @@ -1,52 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Doubler; - -use ReflectionClass; - -/** - * Name generator. - * Generates classname for double. - * - * @author Konstantin Kudryashov - */ -class NameGenerator -{ - private static $counter = 1; - - /** - * Generates name. - * - * @param ReflectionClass $class - * @param ReflectionClass[] $interfaces - * - * @return string - */ - public function name(ReflectionClass $class = null, array $interfaces) - { - $parts = array(); - - if (null !== $class) { - $parts[] = $class->getName(); - } else { - foreach ($interfaces as $interface) { - $parts[] = $interface->getShortName(); - } - } - - if (!count($parts)) { - $parts[] = 'stdClass'; - } - - return sprintf('Double\%s\P%d', implode('\\', $parts), self::$counter++); - } -} diff --git a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Exception/Call/UnexpectedCallException.php b/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Exception/Call/UnexpectedCallException.php deleted file mode 100644 index 48ed225..0000000 --- a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Exception/Call/UnexpectedCallException.php +++ /dev/null @@ -1,40 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Exception\Call; - -use Prophecy\Exception\Prophecy\ObjectProphecyException; -use Prophecy\Prophecy\ObjectProphecy; - -class UnexpectedCallException extends ObjectProphecyException -{ - private $methodName; - private $arguments; - - public function __construct($message, ObjectProphecy $objectProphecy, - $methodName, array $arguments) - { - parent::__construct($message, $objectProphecy); - - $this->methodName = $methodName; - $this->arguments = $arguments; - } - - public function getMethodName() - { - return $this->methodName; - } - - public function getArguments() - { - return $this->arguments; - } -} diff --git a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/ClassCreatorException.php b/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/ClassCreatorException.php deleted file mode 100644 index 822918a..0000000 --- a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/ClassCreatorException.php +++ /dev/null @@ -1,31 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Exception\Doubler; - -use Prophecy\Doubler\Generator\Node\ClassNode; - -class ClassCreatorException extends \RuntimeException implements DoublerException -{ - private $node; - - public function __construct($message, ClassNode $node) - { - parent::__construct($message); - - $this->node = $node; - } - - public function getClassNode() - { - return $this->node; - } -} diff --git a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/ClassMirrorException.php b/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/ClassMirrorException.php deleted file mode 100644 index 8fc53b8..0000000 --- a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/ClassMirrorException.php +++ /dev/null @@ -1,31 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Exception\Doubler; - -use ReflectionClass; - -class ClassMirrorException extends \RuntimeException implements DoublerException -{ - private $class; - - public function __construct($message, ReflectionClass $class) - { - parent::__construct($message); - - $this->class = $class; - } - - public function getReflectedClass() - { - return $this->class; - } -} diff --git a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/ClassNotFoundException.php b/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/ClassNotFoundException.php deleted file mode 100644 index 5bc826d..0000000 --- a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/ClassNotFoundException.php +++ /dev/null @@ -1,33 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Exception\Doubler; - -class ClassNotFoundException extends DoubleException -{ - private $classname; - - /** - * @param string $message - * @param string $classname - */ - public function __construct($message, $classname) - { - parent::__construct($message); - - $this->classname = $classname; - } - - public function getClassname() - { - return $this->classname; - } -} diff --git a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/DoubleException.php b/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/DoubleException.php deleted file mode 100644 index 6642a58..0000000 --- a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/DoubleException.php +++ /dev/null @@ -1,18 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Exception\Doubler; - -use RuntimeException; - -class DoubleException extends RuntimeException implements DoublerException -{ -} diff --git a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/DoublerException.php b/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/DoublerException.php deleted file mode 100644 index 9d6be17..0000000 --- a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/DoublerException.php +++ /dev/null @@ -1,18 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Exception\Doubler; - -use Prophecy\Exception\Exception; - -interface DoublerException extends Exception -{ -} diff --git a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/InterfaceNotFoundException.php b/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/InterfaceNotFoundException.php deleted file mode 100644 index e344dea..0000000 --- a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/InterfaceNotFoundException.php +++ /dev/null @@ -1,20 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Exception\Doubler; - -class InterfaceNotFoundException extends ClassNotFoundException -{ - public function getInterfaceName() - { - return $this->getClassname(); - } -} diff --git a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/MethodNotExtendableException.php b/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/MethodNotExtendableException.php deleted file mode 100644 index 56f47b1..0000000 --- a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/MethodNotExtendableException.php +++ /dev/null @@ -1,41 +0,0 @@ -methodName = $methodName; - $this->className = $className; - } - - - /** - * @return string - */ - public function getMethodName() - { - return $this->methodName; - } - - /** - * @return string - */ - public function getClassName() - { - return $this->className; - } - - } diff --git a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/MethodNotFoundException.php b/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/MethodNotFoundException.php deleted file mode 100644 index a538349..0000000 --- a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/MethodNotFoundException.php +++ /dev/null @@ -1,60 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Exception\Doubler; - -class MethodNotFoundException extends DoubleException -{ - /** - * @var string|object - */ - private $classname; - - /** - * @var string - */ - private $methodName; - - /** - * @var array - */ - private $arguments; - - /** - * @param string $message - * @param string|object $classname - * @param string $methodName - * @param null|Argument\ArgumentsWildcard|array $arguments - */ - public function __construct($message, $classname, $methodName, $arguments = null) - { - parent::__construct($message); - - $this->classname = $classname; - $this->methodName = $methodName; - $this->arguments = $arguments; - } - - public function getClassname() - { - return $this->classname; - } - - public function getMethodName() - { - return $this->methodName; - } - - public function getArguments() - { - return $this->arguments; - } -} diff --git a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/ReturnByReferenceException.php b/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/ReturnByReferenceException.php deleted file mode 100644 index 6303049..0000000 --- a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/ReturnByReferenceException.php +++ /dev/null @@ -1,41 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Exception\Doubler; - -class ReturnByReferenceException extends DoubleException -{ - private $classname; - private $methodName; - - /** - * @param string $message - * @param string $classname - * @param string $methodName - */ - public function __construct($message, $classname, $methodName) - { - parent::__construct($message); - - $this->classname = $classname; - $this->methodName = $methodName; - } - - public function getClassname() - { - return $this->classname; - } - - public function getMethodName() - { - return $this->methodName; - } -} diff --git a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Exception/Exception.php b/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Exception/Exception.php deleted file mode 100644 index ac9fe4d..0000000 --- a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Exception/Exception.php +++ /dev/null @@ -1,26 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Exception; - -/** - * Core Prophecy exception interface. - * All Prophecy exceptions implement it. - * - * @author Konstantin Kudryashov - */ -interface Exception -{ - /** - * @return string - */ - public function getMessage(); -} diff --git a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Exception/InvalidArgumentException.php b/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Exception/InvalidArgumentException.php deleted file mode 100644 index bc91c69..0000000 --- a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Exception/InvalidArgumentException.php +++ /dev/null @@ -1,16 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Exception; - -class InvalidArgumentException extends \InvalidArgumentException implements Exception -{ -} diff --git a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Exception/Prediction/AggregateException.php b/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Exception/Prediction/AggregateException.php deleted file mode 100644 index a00dfb0..0000000 --- a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Exception/Prediction/AggregateException.php +++ /dev/null @@ -1,51 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Exception\Prediction; - -use Prophecy\Prophecy\ObjectProphecy; - -class AggregateException extends \RuntimeException implements PredictionException -{ - private $exceptions = array(); - private $objectProphecy; - - public function append(PredictionException $exception) - { - $message = $exception->getMessage(); - $message = strtr($message, array("\n" => "\n "))."\n"; - $message = empty($this->exceptions) ? $message : "\n" . $message; - - $this->message = rtrim($this->message.$message); - $this->exceptions[] = $exception; - } - - /** - * @return PredictionException[] - */ - public function getExceptions() - { - return $this->exceptions; - } - - public function setObjectProphecy(ObjectProphecy $objectProphecy) - { - $this->objectProphecy = $objectProphecy; - } - - /** - * @return ObjectProphecy - */ - public function getObjectProphecy() - { - return $this->objectProphecy; - } -} diff --git a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Exception/Prediction/FailedPredictionException.php b/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Exception/Prediction/FailedPredictionException.php deleted file mode 100644 index bbbbc3d..0000000 --- a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Exception/Prediction/FailedPredictionException.php +++ /dev/null @@ -1,24 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Exception\Prediction; - -use RuntimeException; - -/** - * Basic failed prediction exception. - * Use it for custom prediction failures. - * - * @author Konstantin Kudryashov - */ -class FailedPredictionException extends RuntimeException implements PredictionException -{ -} diff --git a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Exception/Prediction/NoCallsException.php b/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Exception/Prediction/NoCallsException.php deleted file mode 100644 index 05ea4aa..0000000 --- a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Exception/Prediction/NoCallsException.php +++ /dev/null @@ -1,18 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Exception\Prediction; - -use Prophecy\Exception\Prophecy\MethodProphecyException; - -class NoCallsException extends MethodProphecyException implements PredictionException -{ -} diff --git a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Exception/Prediction/PredictionException.php b/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Exception/Prediction/PredictionException.php deleted file mode 100644 index 2596b1e..0000000 --- a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Exception/Prediction/PredictionException.php +++ /dev/null @@ -1,18 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Exception\Prediction; - -use Prophecy\Exception\Exception; - -interface PredictionException extends Exception -{ -} diff --git a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Exception/Prediction/UnexpectedCallsCountException.php b/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Exception/Prediction/UnexpectedCallsCountException.php deleted file mode 100644 index 9d90543..0000000 --- a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Exception/Prediction/UnexpectedCallsCountException.php +++ /dev/null @@ -1,31 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Exception\Prediction; - -use Prophecy\Prophecy\MethodProphecy; - -class UnexpectedCallsCountException extends UnexpectedCallsException -{ - private $expectedCount; - - public function __construct($message, MethodProphecy $methodProphecy, $count, array $calls) - { - parent::__construct($message, $methodProphecy, $calls); - - $this->expectedCount = intval($count); - } - - public function getExpectedCount() - { - return $this->expectedCount; - } -} diff --git a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Exception/Prediction/UnexpectedCallsException.php b/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Exception/Prediction/UnexpectedCallsException.php deleted file mode 100644 index 7a99c2d..0000000 --- a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Exception/Prediction/UnexpectedCallsException.php +++ /dev/null @@ -1,32 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Exception\Prediction; - -use Prophecy\Prophecy\MethodProphecy; -use Prophecy\Exception\Prophecy\MethodProphecyException; - -class UnexpectedCallsException extends MethodProphecyException implements PredictionException -{ - private $calls = array(); - - public function __construct($message, MethodProphecy $methodProphecy, array $calls) - { - parent::__construct($message, $methodProphecy); - - $this->calls = $calls; - } - - public function getCalls() - { - return $this->calls; - } -} diff --git a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Exception/Prophecy/MethodProphecyException.php b/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Exception/Prophecy/MethodProphecyException.php deleted file mode 100644 index 1b03eaf..0000000 --- a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Exception/Prophecy/MethodProphecyException.php +++ /dev/null @@ -1,34 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Exception\Prophecy; - -use Prophecy\Prophecy\MethodProphecy; - -class MethodProphecyException extends ObjectProphecyException -{ - private $methodProphecy; - - public function __construct($message, MethodProphecy $methodProphecy) - { - parent::__construct($message, $methodProphecy->getObjectProphecy()); - - $this->methodProphecy = $methodProphecy; - } - - /** - * @return MethodProphecy - */ - public function getMethodProphecy() - { - return $this->methodProphecy; - } -} diff --git a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Exception/Prophecy/ObjectProphecyException.php b/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Exception/Prophecy/ObjectProphecyException.php deleted file mode 100644 index e345402..0000000 --- a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Exception/Prophecy/ObjectProphecyException.php +++ /dev/null @@ -1,34 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Exception\Prophecy; - -use Prophecy\Prophecy\ObjectProphecy; - -class ObjectProphecyException extends \RuntimeException implements ProphecyException -{ - private $objectProphecy; - - public function __construct($message, ObjectProphecy $objectProphecy) - { - parent::__construct($message); - - $this->objectProphecy = $objectProphecy; - } - - /** - * @return ObjectProphecy - */ - public function getObjectProphecy() - { - return $this->objectProphecy; - } -} diff --git a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Exception/Prophecy/ProphecyException.php b/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Exception/Prophecy/ProphecyException.php deleted file mode 100644 index 9157332..0000000 --- a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Exception/Prophecy/ProphecyException.php +++ /dev/null @@ -1,18 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Exception\Prophecy; - -use Prophecy\Exception\Exception; - -interface ProphecyException extends Exception -{ -} diff --git a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/PhpDocumentor/ClassAndInterfaceTagRetriever.php b/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/PhpDocumentor/ClassAndInterfaceTagRetriever.php deleted file mode 100644 index 209821c..0000000 --- a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/PhpDocumentor/ClassAndInterfaceTagRetriever.php +++ /dev/null @@ -1,69 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\PhpDocumentor; - -use phpDocumentor\Reflection\DocBlock\Tag\MethodTag as LegacyMethodTag; -use phpDocumentor\Reflection\DocBlock\Tags\Method; - -/** - * @author Théo FIDRY - * - * @internal - */ -final class ClassAndInterfaceTagRetriever implements MethodTagRetrieverInterface -{ - private $classRetriever; - - public function __construct(MethodTagRetrieverInterface $classRetriever = null) - { - if (null !== $classRetriever) { - $this->classRetriever = $classRetriever; - - return; - } - - $this->classRetriever = class_exists('phpDocumentor\Reflection\DocBlockFactory') && class_exists('phpDocumentor\Reflection\Types\ContextFactory') - ? new ClassTagRetriever() - : new LegacyClassTagRetriever() - ; - } - - /** - * @param \ReflectionClass $reflectionClass - * - * @return LegacyMethodTag[]|Method[] - */ - public function getTagList(\ReflectionClass $reflectionClass) - { - return array_merge( - $this->classRetriever->getTagList($reflectionClass), - $this->getInterfacesTagList($reflectionClass) - ); - } - - /** - * @param \ReflectionClass $reflectionClass - * - * @return LegacyMethodTag[]|Method[] - */ - private function getInterfacesTagList(\ReflectionClass $reflectionClass) - { - $interfaces = $reflectionClass->getInterfaces(); - $tagList = array(); - - foreach($interfaces as $interface) { - $tagList = array_merge($tagList, $this->classRetriever->getTagList($interface)); - } - - return $tagList; - } -} diff --git a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/PhpDocumentor/ClassTagRetriever.php b/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/PhpDocumentor/ClassTagRetriever.php deleted file mode 100644 index 1d2da8f..0000000 --- a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/PhpDocumentor/ClassTagRetriever.php +++ /dev/null @@ -1,52 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\PhpDocumentor; - -use phpDocumentor\Reflection\DocBlock\Tags\Method; -use phpDocumentor\Reflection\DocBlockFactory; -use phpDocumentor\Reflection\Types\ContextFactory; - -/** - * @author Théo FIDRY - * - * @internal - */ -final class ClassTagRetriever implements MethodTagRetrieverInterface -{ - private $docBlockFactory; - private $contextFactory; - - public function __construct() - { - $this->docBlockFactory = DocBlockFactory::createInstance(); - $this->contextFactory = new ContextFactory(); - } - - /** - * @param \ReflectionClass $reflectionClass - * - * @return Method[] - */ - public function getTagList(\ReflectionClass $reflectionClass) - { - try { - $phpdoc = $this->docBlockFactory->create( - $reflectionClass, - $this->contextFactory->createFromReflector($reflectionClass) - ); - - return $phpdoc->getTagsByName('method'); - } catch (\InvalidArgumentException $e) { - return array(); - } - } -} diff --git a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/PhpDocumentor/LegacyClassTagRetriever.php b/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/PhpDocumentor/LegacyClassTagRetriever.php deleted file mode 100644 index c0dec3d..0000000 --- a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/PhpDocumentor/LegacyClassTagRetriever.php +++ /dev/null @@ -1,35 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\PhpDocumentor; - -use phpDocumentor\Reflection\DocBlock; -use phpDocumentor\Reflection\DocBlock\Tag\MethodTag as LegacyMethodTag; - -/** - * @author Théo FIDRY - * - * @internal - */ -final class LegacyClassTagRetriever implements MethodTagRetrieverInterface -{ - /** - * @param \ReflectionClass $reflectionClass - * - * @return LegacyMethodTag[] - */ - public function getTagList(\ReflectionClass $reflectionClass) - { - $phpdoc = new DocBlock($reflectionClass->getDocComment()); - - return $phpdoc->getTagsByName('method'); - } -} diff --git a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/PhpDocumentor/MethodTagRetrieverInterface.php b/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/PhpDocumentor/MethodTagRetrieverInterface.php deleted file mode 100644 index d3989da..0000000 --- a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/PhpDocumentor/MethodTagRetrieverInterface.php +++ /dev/null @@ -1,30 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\PhpDocumentor; - -use phpDocumentor\Reflection\DocBlock\Tag\MethodTag as LegacyMethodTag; -use phpDocumentor\Reflection\DocBlock\Tags\Method; - -/** - * @author Théo FIDRY - * - * @internal - */ -interface MethodTagRetrieverInterface -{ - /** - * @param \ReflectionClass $reflectionClass - * - * @return LegacyMethodTag[]|Method[] - */ - public function getTagList(\ReflectionClass $reflectionClass); -} diff --git a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Prediction/CallPrediction.php b/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Prediction/CallPrediction.php deleted file mode 100644 index b478736..0000000 --- a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Prediction/CallPrediction.php +++ /dev/null @@ -1,86 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Prediction; - -use Prophecy\Call\Call; -use Prophecy\Prophecy\ObjectProphecy; -use Prophecy\Prophecy\MethodProphecy; -use Prophecy\Argument\ArgumentsWildcard; -use Prophecy\Argument\Token\AnyValuesToken; -use Prophecy\Util\StringUtil; -use Prophecy\Exception\Prediction\NoCallsException; - -/** - * Call prediction. - * - * @author Konstantin Kudryashov - */ -class CallPrediction implements PredictionInterface -{ - private $util; - - /** - * Initializes prediction. - * - * @param StringUtil $util - */ - public function __construct(StringUtil $util = null) - { - $this->util = $util ?: new StringUtil; - } - - /** - * Tests that there was at least one call. - * - * @param Call[] $calls - * @param ObjectProphecy $object - * @param MethodProphecy $method - * - * @throws \Prophecy\Exception\Prediction\NoCallsException - */ - public function check(array $calls, ObjectProphecy $object, MethodProphecy $method) - { - if (count($calls)) { - return; - } - - $methodCalls = $object->findProphecyMethodCalls( - $method->getMethodName(), - new ArgumentsWildcard(array(new AnyValuesToken)) - ); - - if (count($methodCalls)) { - throw new NoCallsException(sprintf( - "No calls have been made that match:\n". - " %s->%s(%s)\n". - "but expected at least one.\n". - "Recorded `%s(...)` calls:\n%s", - - get_class($object->reveal()), - $method->getMethodName(), - $method->getArgumentsWildcard(), - $method->getMethodName(), - $this->util->stringifyCalls($methodCalls) - ), $method); - } - - throw new NoCallsException(sprintf( - "No calls have been made that match:\n". - " %s->%s(%s)\n". - "but expected at least one.", - - get_class($object->reveal()), - $method->getMethodName(), - $method->getArgumentsWildcard() - ), $method); - } -} diff --git a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Prediction/CallTimesPrediction.php b/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Prediction/CallTimesPrediction.php deleted file mode 100644 index 31c6c57..0000000 --- a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Prediction/CallTimesPrediction.php +++ /dev/null @@ -1,107 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Prediction; - -use Prophecy\Call\Call; -use Prophecy\Prophecy\ObjectProphecy; -use Prophecy\Prophecy\MethodProphecy; -use Prophecy\Argument\ArgumentsWildcard; -use Prophecy\Argument\Token\AnyValuesToken; -use Prophecy\Util\StringUtil; -use Prophecy\Exception\Prediction\UnexpectedCallsCountException; - -/** - * Prediction interface. - * Predictions are logical test blocks, tied to `should...` keyword. - * - * @author Konstantin Kudryashov - */ -class CallTimesPrediction implements PredictionInterface -{ - private $times; - private $util; - - /** - * Initializes prediction. - * - * @param int $times - * @param StringUtil $util - */ - public function __construct($times, StringUtil $util = null) - { - $this->times = intval($times); - $this->util = $util ?: new StringUtil; - } - - /** - * Tests that there was exact amount of calls made. - * - * @param Call[] $calls - * @param ObjectProphecy $object - * @param MethodProphecy $method - * - * @throws \Prophecy\Exception\Prediction\UnexpectedCallsCountException - */ - public function check(array $calls, ObjectProphecy $object, MethodProphecy $method) - { - if ($this->times == count($calls)) { - return; - } - - $methodCalls = $object->findProphecyMethodCalls( - $method->getMethodName(), - new ArgumentsWildcard(array(new AnyValuesToken)) - ); - - if (count($calls)) { - $message = sprintf( - "Expected exactly %d calls that match:\n". - " %s->%s(%s)\n". - "but %d were made:\n%s", - - $this->times, - get_class($object->reveal()), - $method->getMethodName(), - $method->getArgumentsWildcard(), - count($calls), - $this->util->stringifyCalls($calls) - ); - } elseif (count($methodCalls)) { - $message = sprintf( - "Expected exactly %d calls that match:\n". - " %s->%s(%s)\n". - "but none were made.\n". - "Recorded `%s(...)` calls:\n%s", - - $this->times, - get_class($object->reveal()), - $method->getMethodName(), - $method->getArgumentsWildcard(), - $method->getMethodName(), - $this->util->stringifyCalls($methodCalls) - ); - } else { - $message = sprintf( - "Expected exactly %d calls that match:\n". - " %s->%s(%s)\n". - "but none were made.", - - $this->times, - get_class($object->reveal()), - $method->getMethodName(), - $method->getArgumentsWildcard() - ); - } - - throw new UnexpectedCallsCountException($message, $method, $this->times, $calls); - } -} diff --git a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Prediction/CallbackPrediction.php b/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Prediction/CallbackPrediction.php deleted file mode 100644 index 44bc782..0000000 --- a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Prediction/CallbackPrediction.php +++ /dev/null @@ -1,65 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Prediction; - -use Prophecy\Call\Call; -use Prophecy\Prophecy\ObjectProphecy; -use Prophecy\Prophecy\MethodProphecy; -use Prophecy\Exception\InvalidArgumentException; -use Closure; - -/** - * Callback prediction. - * - * @author Konstantin Kudryashov - */ -class CallbackPrediction implements PredictionInterface -{ - private $callback; - - /** - * Initializes callback prediction. - * - * @param callable $callback Custom callback - * - * @throws \Prophecy\Exception\InvalidArgumentException - */ - public function __construct($callback) - { - if (!is_callable($callback)) { - throw new InvalidArgumentException(sprintf( - 'Callable expected as an argument to CallbackPrediction, but got %s.', - gettype($callback) - )); - } - - $this->callback = $callback; - } - - /** - * Executes preset callback. - * - * @param Call[] $calls - * @param ObjectProphecy $object - * @param MethodProphecy $method - */ - public function check(array $calls, ObjectProphecy $object, MethodProphecy $method) - { - $callback = $this->callback; - - if ($callback instanceof Closure && method_exists('Closure', 'bind')) { - $callback = Closure::bind($callback, $object); - } - - call_user_func($callback, $calls, $object, $method); - } -} diff --git a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Prediction/NoCallsPrediction.php b/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Prediction/NoCallsPrediction.php deleted file mode 100644 index 46ac5bf..0000000 --- a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Prediction/NoCallsPrediction.php +++ /dev/null @@ -1,68 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Prediction; - -use Prophecy\Call\Call; -use Prophecy\Prophecy\ObjectProphecy; -use Prophecy\Prophecy\MethodProphecy; -use Prophecy\Util\StringUtil; -use Prophecy\Exception\Prediction\UnexpectedCallsException; - -/** - * No calls prediction. - * - * @author Konstantin Kudryashov - */ -class NoCallsPrediction implements PredictionInterface -{ - private $util; - - /** - * Initializes prediction. - * - * @param null|StringUtil $util - */ - public function __construct(StringUtil $util = null) - { - $this->util = $util ?: new StringUtil; - } - - /** - * Tests that there were no calls made. - * - * @param Call[] $calls - * @param ObjectProphecy $object - * @param MethodProphecy $method - * - * @throws \Prophecy\Exception\Prediction\UnexpectedCallsException - */ - public function check(array $calls, ObjectProphecy $object, MethodProphecy $method) - { - if (!count($calls)) { - return; - } - - $verb = count($calls) === 1 ? 'was' : 'were'; - - throw new UnexpectedCallsException(sprintf( - "No calls expected that match:\n". - " %s->%s(%s)\n". - "but %d %s made:\n%s", - get_class($object->reveal()), - $method->getMethodName(), - $method->getArgumentsWildcard(), - count($calls), - $verb, - $this->util->stringifyCalls($calls) - ), $method, $calls); - } -} diff --git a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Prediction/PredictionInterface.php b/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Prediction/PredictionInterface.php deleted file mode 100644 index f7fb06a..0000000 --- a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Prediction/PredictionInterface.php +++ /dev/null @@ -1,37 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Prediction; - -use Prophecy\Call\Call; -use Prophecy\Prophecy\ObjectProphecy; -use Prophecy\Prophecy\MethodProphecy; - -/** - * Prediction interface. - * Predictions are logical test blocks, tied to `should...` keyword. - * - * @author Konstantin Kudryashov - */ -interface PredictionInterface -{ - /** - * Tests that double fulfilled prediction. - * - * @param Call[] $calls - * @param ObjectProphecy $object - * @param MethodProphecy $method - * - * @throws object - * @return void - */ - public function check(array $calls, ObjectProphecy $object, MethodProphecy $method); -} diff --git a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Promise/CallbackPromise.php b/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Promise/CallbackPromise.php deleted file mode 100644 index 5f406bf..0000000 --- a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Promise/CallbackPromise.php +++ /dev/null @@ -1,66 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Promise; - -use Prophecy\Prophecy\ObjectProphecy; -use Prophecy\Prophecy\MethodProphecy; -use Prophecy\Exception\InvalidArgumentException; -use Closure; - -/** - * Callback promise. - * - * @author Konstantin Kudryashov - */ -class CallbackPromise implements PromiseInterface -{ - private $callback; - - /** - * Initializes callback promise. - * - * @param callable $callback Custom callback - * - * @throws \Prophecy\Exception\InvalidArgumentException - */ - public function __construct($callback) - { - if (!is_callable($callback)) { - throw new InvalidArgumentException(sprintf( - 'Callable expected as an argument to CallbackPromise, but got %s.', - gettype($callback) - )); - } - - $this->callback = $callback; - } - - /** - * Evaluates promise callback. - * - * @param array $args - * @param ObjectProphecy $object - * @param MethodProphecy $method - * - * @return mixed - */ - public function execute(array $args, ObjectProphecy $object, MethodProphecy $method) - { - $callback = $this->callback; - - if ($callback instanceof Closure && method_exists('Closure', 'bind')) { - $callback = Closure::bind($callback, $object); - } - - return call_user_func($callback, $args, $object, $method); - } -} diff --git a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Promise/PromiseInterface.php b/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Promise/PromiseInterface.php deleted file mode 100644 index 382537b..0000000 --- a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Promise/PromiseInterface.php +++ /dev/null @@ -1,35 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Promise; - -use Prophecy\Prophecy\ObjectProphecy; -use Prophecy\Prophecy\MethodProphecy; - -/** - * Promise interface. - * Promises are logical blocks, tied to `will...` keyword. - * - * @author Konstantin Kudryashov - */ -interface PromiseInterface -{ - /** - * Evaluates promise. - * - * @param array $args - * @param ObjectProphecy $object - * @param MethodProphecy $method - * - * @return mixed - */ - public function execute(array $args, ObjectProphecy $object, MethodProphecy $method); -} diff --git a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Promise/ReturnArgumentPromise.php b/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Promise/ReturnArgumentPromise.php deleted file mode 100644 index 39bfeea..0000000 --- a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Promise/ReturnArgumentPromise.php +++ /dev/null @@ -1,61 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Promise; - -use Prophecy\Exception\InvalidArgumentException; -use Prophecy\Prophecy\ObjectProphecy; -use Prophecy\Prophecy\MethodProphecy; - -/** - * Return argument promise. - * - * @author Konstantin Kudryashov - */ -class ReturnArgumentPromise implements PromiseInterface -{ - /** - * @var int - */ - private $index; - - /** - * Initializes callback promise. - * - * @param int $index The zero-indexed number of the argument to return - * - * @throws \Prophecy\Exception\InvalidArgumentException - */ - public function __construct($index = 0) - { - if (!is_int($index) || $index < 0) { - throw new InvalidArgumentException(sprintf( - 'Zero-based index expected as argument to ReturnArgumentPromise, but got %s.', - $index - )); - } - $this->index = $index; - } - - /** - * Returns nth argument if has one, null otherwise. - * - * @param array $args - * @param ObjectProphecy $object - * @param MethodProphecy $method - * - * @return null|mixed - */ - public function execute(array $args, ObjectProphecy $object, MethodProphecy $method) - { - return count($args) > $this->index ? $args[$this->index] : null; - } -} diff --git a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Promise/ReturnPromise.php b/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Promise/ReturnPromise.php deleted file mode 100644 index c7d5ac5..0000000 --- a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Promise/ReturnPromise.php +++ /dev/null @@ -1,55 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Promise; - -use Prophecy\Prophecy\ObjectProphecy; -use Prophecy\Prophecy\MethodProphecy; - -/** - * Return promise. - * - * @author Konstantin Kudryashov - */ -class ReturnPromise implements PromiseInterface -{ - private $returnValues = array(); - - /** - * Initializes promise. - * - * @param array $returnValues Array of values - */ - public function __construct(array $returnValues) - { - $this->returnValues = $returnValues; - } - - /** - * Returns saved values one by one until last one, then continuously returns last value. - * - * @param array $args - * @param ObjectProphecy $object - * @param MethodProphecy $method - * - * @return mixed - */ - public function execute(array $args, ObjectProphecy $object, MethodProphecy $method) - { - $value = array_shift($this->returnValues); - - if (!count($this->returnValues)) { - $this->returnValues[] = $value; - } - - return $value; - } -} diff --git a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Promise/ThrowPromise.php b/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Promise/ThrowPromise.php deleted file mode 100644 index 26ec19e..0000000 --- a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Promise/ThrowPromise.php +++ /dev/null @@ -1,100 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Promise; - -use Doctrine\Instantiator\Instantiator; -use Prophecy\Prophecy\ObjectProphecy; -use Prophecy\Prophecy\MethodProphecy; -use Prophecy\Exception\InvalidArgumentException; -use ReflectionClass; - -/** - * Throw promise. - * - * @author Konstantin Kudryashov - */ -class ThrowPromise implements PromiseInterface -{ - private $exception; - - /** - * @var \Doctrine\Instantiator\Instantiator - */ - private $instantiator; - - /** - * Initializes promise. - * - * @param string|\Exception|\Throwable $exception Exception class name or instance - * - * @throws \Prophecy\Exception\InvalidArgumentException - */ - public function __construct($exception) - { - if (is_string($exception)) { - if ((!class_exists($exception) && !interface_exists($exception)) || !$this->isAValidThrowable($exception)) { - throw new InvalidArgumentException(sprintf( - 'Exception / Throwable class or instance expected as argument to ThrowPromise, but got %s.', - $exception - )); - } - } elseif (!$exception instanceof \Exception && !$exception instanceof \Throwable) { - throw new InvalidArgumentException(sprintf( - 'Exception / Throwable class or instance expected as argument to ThrowPromise, but got %s.', - is_object($exception) ? get_class($exception) : gettype($exception) - )); - } - - $this->exception = $exception; - } - - /** - * Throws predefined exception. - * - * @param array $args - * @param ObjectProphecy $object - * @param MethodProphecy $method - * - * @throws object - */ - public function execute(array $args, ObjectProphecy $object, MethodProphecy $method) - { - if (is_string($this->exception)) { - $classname = $this->exception; - $reflection = new ReflectionClass($classname); - $constructor = $reflection->getConstructor(); - - if ($constructor->isPublic() && 0 == $constructor->getNumberOfRequiredParameters()) { - throw $reflection->newInstance(); - } - - if (!$this->instantiator) { - $this->instantiator = new Instantiator(); - } - - throw $this->instantiator->instantiate($classname); - } - - throw $this->exception; - } - - /** - * @param string $exception - * - * @return bool - */ - private function isAValidThrowable($exception) - { - return is_a($exception, 'Exception', true) - || is_a($exception, 'Throwable', true); - } -} diff --git a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Prophecy/MethodProphecy.php b/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Prophecy/MethodProphecy.php deleted file mode 100644 index f33364c..0000000 --- a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Prophecy/MethodProphecy.php +++ /dev/null @@ -1,522 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Prophecy; - -use Prophecy\Argument; -use Prophecy\Prophet; -use Prophecy\Promise; -use Prophecy\Prediction; -use Prophecy\Exception\Doubler\MethodNotFoundException; -use Prophecy\Exception\InvalidArgumentException; -use Prophecy\Exception\Prophecy\MethodProphecyException; - -/** - * Method prophecy. - * - * @author Konstantin Kudryashov - */ -class MethodProphecy -{ - private $objectProphecy; - private $methodName; - private $argumentsWildcard; - private $promise; - private $prediction; - private $checkedPredictions = array(); - private $bound = false; - private $voidReturnType = false; - - /** - * Initializes method prophecy. - * - * @param ObjectProphecy $objectProphecy - * @param string $methodName - * @param null|Argument\ArgumentsWildcard|array $arguments - * - * @throws \Prophecy\Exception\Doubler\MethodNotFoundException If method not found - */ - public function __construct(ObjectProphecy $objectProphecy, $methodName, $arguments = null) - { - $double = $objectProphecy->reveal(); - if (!method_exists($double, $methodName)) { - throw new MethodNotFoundException(sprintf( - 'Method `%s::%s()` is not defined.', get_class($double), $methodName - ), get_class($double), $methodName, $arguments); - } - - $this->objectProphecy = $objectProphecy; - $this->methodName = $methodName; - - $reflectedMethod = new \ReflectionMethod($double, $methodName); - if ($reflectedMethod->isFinal()) { - throw new MethodProphecyException(sprintf( - "Can not add prophecy for a method `%s::%s()`\n". - "as it is a final method.", - get_class($double), - $methodName - ), $this); - } - - if (null !== $arguments) { - $this->withArguments($arguments); - } - - if (version_compare(PHP_VERSION, '7.0', '>=') && true === $reflectedMethod->hasReturnType()) { - $type = PHP_VERSION_ID >= 70100 ? $reflectedMethod->getReturnType()->getName() : (string) $reflectedMethod->getReturnType(); - - if ('void' === $type) { - $this->voidReturnType = true; - } - - $this->will(function () use ($type) { - switch ($type) { - case 'void': return; - case 'string': return ''; - case 'float': return 0.0; - case 'int': return 0; - case 'bool': return false; - case 'array': return array(); - - case 'callable': - case 'Closure': - return function () {}; - - case 'Traversable': - case 'Generator': - // Remove eval() when minimum version >=5.5 - /** @var callable $generator */ - $generator = eval('return function () { yield; };'); - return $generator(); - - default: - $prophet = new Prophet; - return $prophet->prophesize($type)->reveal(); - } - }); - } - } - - /** - * Sets argument wildcard. - * - * @param array|Argument\ArgumentsWildcard $arguments - * - * @return $this - * - * @throws \Prophecy\Exception\InvalidArgumentException - */ - public function withArguments($arguments) - { - if (is_array($arguments)) { - $arguments = new Argument\ArgumentsWildcard($arguments); - } - - if (!$arguments instanceof Argument\ArgumentsWildcard) { - throw new InvalidArgumentException(sprintf( - "Either an array or an instance of ArgumentsWildcard expected as\n". - 'a `MethodProphecy::withArguments()` argument, but got %s.', - gettype($arguments) - )); - } - - $this->argumentsWildcard = $arguments; - - return $this; - } - - /** - * Sets custom promise to the prophecy. - * - * @param callable|Promise\PromiseInterface $promise - * - * @return $this - * - * @throws \Prophecy\Exception\InvalidArgumentException - */ - public function will($promise) - { - if (is_callable($promise)) { - $promise = new Promise\CallbackPromise($promise); - } - - if (!$promise instanceof Promise\PromiseInterface) { - throw new InvalidArgumentException(sprintf( - 'Expected callable or instance of PromiseInterface, but got %s.', - gettype($promise) - )); - } - - $this->bindToObjectProphecy(); - $this->promise = $promise; - - return $this; - } - - /** - * Sets return promise to the prophecy. - * - * @see \Prophecy\Promise\ReturnPromise - * - * @return $this - */ - public function willReturn() - { - if ($this->voidReturnType) { - throw new MethodProphecyException( - "The method \"$this->methodName\" has a void return type, and so cannot return anything", - $this - ); - } - - return $this->will(new Promise\ReturnPromise(func_get_args())); - } - - /** - * @param array $items - * - * @return $this - * - * @throws \Prophecy\Exception\InvalidArgumentException - */ - public function willYield($items) - { - if ($this->voidReturnType) { - throw new MethodProphecyException( - "The method \"$this->methodName\" has a void return type, and so cannot yield anything", - $this - ); - } - - if (!is_array($items)) { - throw new InvalidArgumentException(sprintf( - 'Expected array, but got %s.', - gettype($items) - )); - } - - // Remove eval() when minimum version >=5.5 - /** @var callable $generator */ - $generator = eval('return function() use ($items) { - foreach ($items as $key => $value) { - yield $key => $value; - } - };'); - - return $this->will($generator); - } - - /** - * Sets return argument promise to the prophecy. - * - * @param int $index The zero-indexed number of the argument to return - * - * @see \Prophecy\Promise\ReturnArgumentPromise - * - * @return $this - */ - public function willReturnArgument($index = 0) - { - if ($this->voidReturnType) { - throw new MethodProphecyException("The method \"$this->methodName\" has a void return type", $this); - } - - return $this->will(new Promise\ReturnArgumentPromise($index)); - } - - /** - * Sets throw promise to the prophecy. - * - * @see \Prophecy\Promise\ThrowPromise - * - * @param string|\Exception $exception Exception class or instance - * - * @return $this - */ - public function willThrow($exception) - { - return $this->will(new Promise\ThrowPromise($exception)); - } - - /** - * Sets custom prediction to the prophecy. - * - * @param callable|Prediction\PredictionInterface $prediction - * - * @return $this - * - * @throws \Prophecy\Exception\InvalidArgumentException - */ - public function should($prediction) - { - if (is_callable($prediction)) { - $prediction = new Prediction\CallbackPrediction($prediction); - } - - if (!$prediction instanceof Prediction\PredictionInterface) { - throw new InvalidArgumentException(sprintf( - 'Expected callable or instance of PredictionInterface, but got %s.', - gettype($prediction) - )); - } - - $this->bindToObjectProphecy(); - $this->prediction = $prediction; - - return $this; - } - - /** - * Sets call prediction to the prophecy. - * - * @see \Prophecy\Prediction\CallPrediction - * - * @return $this - */ - public function shouldBeCalled() - { - return $this->should(new Prediction\CallPrediction); - } - - /** - * Sets no calls prediction to the prophecy. - * - * @see \Prophecy\Prediction\NoCallsPrediction - * - * @return $this - */ - public function shouldNotBeCalled() - { - return $this->should(new Prediction\NoCallsPrediction); - } - - /** - * Sets call times prediction to the prophecy. - * - * @see \Prophecy\Prediction\CallTimesPrediction - * - * @param $count - * - * @return $this - */ - public function shouldBeCalledTimes($count) - { - return $this->should(new Prediction\CallTimesPrediction($count)); - } - - /** - * Sets call times prediction to the prophecy. - * - * @see \Prophecy\Prediction\CallTimesPrediction - * - * @return $this - */ - public function shouldBeCalledOnce() - { - return $this->shouldBeCalledTimes(1); - } - - /** - * Checks provided prediction immediately. - * - * @param callable|Prediction\PredictionInterface $prediction - * - * @return $this - * - * @throws \Prophecy\Exception\InvalidArgumentException - */ - public function shouldHave($prediction) - { - if (is_callable($prediction)) { - $prediction = new Prediction\CallbackPrediction($prediction); - } - - if (!$prediction instanceof Prediction\PredictionInterface) { - throw new InvalidArgumentException(sprintf( - 'Expected callable or instance of PredictionInterface, but got %s.', - gettype($prediction) - )); - } - - if (null === $this->promise && !$this->voidReturnType) { - $this->willReturn(); - } - - $calls = $this->getObjectProphecy()->findProphecyMethodCalls( - $this->getMethodName(), - $this->getArgumentsWildcard() - ); - - try { - $prediction->check($calls, $this->getObjectProphecy(), $this); - $this->checkedPredictions[] = $prediction; - } catch (\Exception $e) { - $this->checkedPredictions[] = $prediction; - - throw $e; - } - - return $this; - } - - /** - * Checks call prediction. - * - * @see \Prophecy\Prediction\CallPrediction - * - * @return $this - */ - public function shouldHaveBeenCalled() - { - return $this->shouldHave(new Prediction\CallPrediction); - } - - /** - * Checks no calls prediction. - * - * @see \Prophecy\Prediction\NoCallsPrediction - * - * @return $this - */ - public function shouldNotHaveBeenCalled() - { - return $this->shouldHave(new Prediction\NoCallsPrediction); - } - - /** - * Checks no calls prediction. - * - * @see \Prophecy\Prediction\NoCallsPrediction - * @deprecated - * - * @return $this - */ - public function shouldNotBeenCalled() - { - return $this->shouldNotHaveBeenCalled(); - } - - /** - * Checks call times prediction. - * - * @see \Prophecy\Prediction\CallTimesPrediction - * - * @param int $count - * - * @return $this - */ - public function shouldHaveBeenCalledTimes($count) - { - return $this->shouldHave(new Prediction\CallTimesPrediction($count)); - } - - /** - * Checks call times prediction. - * - * @see \Prophecy\Prediction\CallTimesPrediction - * - * @return $this - */ - public function shouldHaveBeenCalledOnce() - { - return $this->shouldHaveBeenCalledTimes(1); - } - - /** - * Checks currently registered [with should(...)] prediction. - */ - public function checkPrediction() - { - if (null === $this->prediction) { - return; - } - - $this->shouldHave($this->prediction); - } - - /** - * Returns currently registered promise. - * - * @return null|Promise\PromiseInterface - */ - public function getPromise() - { - return $this->promise; - } - - /** - * Returns currently registered prediction. - * - * @return null|Prediction\PredictionInterface - */ - public function getPrediction() - { - return $this->prediction; - } - - /** - * Returns predictions that were checked on this object. - * - * @return Prediction\PredictionInterface[] - */ - public function getCheckedPredictions() - { - return $this->checkedPredictions; - } - - /** - * Returns object prophecy this method prophecy is tied to. - * - * @return ObjectProphecy - */ - public function getObjectProphecy() - { - return $this->objectProphecy; - } - - /** - * Returns method name. - * - * @return string - */ - public function getMethodName() - { - return $this->methodName; - } - - /** - * Returns arguments wildcard. - * - * @return Argument\ArgumentsWildcard - */ - public function getArgumentsWildcard() - { - return $this->argumentsWildcard; - } - - /** - * @return bool - */ - public function hasReturnVoid() - { - return $this->voidReturnType; - } - - private function bindToObjectProphecy() - { - if ($this->bound) { - return; - } - - $this->getObjectProphecy()->addMethodProphecy($this); - $this->bound = true; - } -} diff --git a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Prophecy/ObjectProphecy.php b/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Prophecy/ObjectProphecy.php deleted file mode 100644 index 8d8f8a1..0000000 --- a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Prophecy/ObjectProphecy.php +++ /dev/null @@ -1,281 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Prophecy; - -use SebastianBergmann\Comparator\ComparisonFailure; -use Prophecy\Comparator\Factory as ComparatorFactory; -use Prophecy\Call\Call; -use Prophecy\Doubler\LazyDouble; -use Prophecy\Argument\ArgumentsWildcard; -use Prophecy\Call\CallCenter; -use Prophecy\Exception\Prophecy\ObjectProphecyException; -use Prophecy\Exception\Prophecy\MethodProphecyException; -use Prophecy\Exception\Prediction\AggregateException; -use Prophecy\Exception\Prediction\PredictionException; - -/** - * Object prophecy. - * - * @author Konstantin Kudryashov - */ -class ObjectProphecy implements ProphecyInterface -{ - private $lazyDouble; - private $callCenter; - private $revealer; - private $comparatorFactory; - - /** - * @var MethodProphecy[][] - */ - private $methodProphecies = array(); - - /** - * Initializes object prophecy. - * - * @param LazyDouble $lazyDouble - * @param CallCenter $callCenter - * @param RevealerInterface $revealer - * @param ComparatorFactory $comparatorFactory - */ - public function __construct( - LazyDouble $lazyDouble, - CallCenter $callCenter = null, - RevealerInterface $revealer = null, - ComparatorFactory $comparatorFactory = null - ) { - $this->lazyDouble = $lazyDouble; - $this->callCenter = $callCenter ?: new CallCenter; - $this->revealer = $revealer ?: new Revealer; - - $this->comparatorFactory = $comparatorFactory ?: ComparatorFactory::getInstance(); - } - - /** - * Forces double to extend specific class. - * - * @param string $class - * - * @return $this - */ - public function willExtend($class) - { - $this->lazyDouble->setParentClass($class); - - return $this; - } - - /** - * Forces double to implement specific interface. - * - * @param string $interface - * - * @return $this - */ - public function willImplement($interface) - { - $this->lazyDouble->addInterface($interface); - - return $this; - } - - /** - * Sets constructor arguments. - * - * @param array $arguments - * - * @return $this - */ - public function willBeConstructedWith(array $arguments = null) - { - $this->lazyDouble->setArguments($arguments); - - return $this; - } - - /** - * Reveals double. - * - * @return object - * - * @throws \Prophecy\Exception\Prophecy\ObjectProphecyException If double doesn't implement needed interface - */ - public function reveal() - { - $double = $this->lazyDouble->getInstance(); - - if (null === $double || !$double instanceof ProphecySubjectInterface) { - throw new ObjectProphecyException( - "Generated double must implement ProphecySubjectInterface, but it does not.\n". - 'It seems you have wrongly configured doubler without required ClassPatch.', - $this - ); - } - - $double->setProphecy($this); - - return $double; - } - - /** - * Adds method prophecy to object prophecy. - * - * @param MethodProphecy $methodProphecy - * - * @throws \Prophecy\Exception\Prophecy\MethodProphecyException If method prophecy doesn't - * have arguments wildcard - */ - public function addMethodProphecy(MethodProphecy $methodProphecy) - { - $argumentsWildcard = $methodProphecy->getArgumentsWildcard(); - if (null === $argumentsWildcard) { - throw new MethodProphecyException(sprintf( - "Can not add prophecy for a method `%s::%s()`\n". - "as you did not specify arguments wildcard for it.", - get_class($this->reveal()), - $methodProphecy->getMethodName() - ), $methodProphecy); - } - - $methodName = $methodProphecy->getMethodName(); - - if (!isset($this->methodProphecies[$methodName])) { - $this->methodProphecies[$methodName] = array(); - } - - $this->methodProphecies[$methodName][] = $methodProphecy; - } - - /** - * Returns either all or related to single method prophecies. - * - * @param null|string $methodName - * - * @return MethodProphecy[] - */ - public function getMethodProphecies($methodName = null) - { - if (null === $methodName) { - return $this->methodProphecies; - } - - if (!isset($this->methodProphecies[$methodName])) { - return array(); - } - - return $this->methodProphecies[$methodName]; - } - - /** - * Makes specific method call. - * - * @param string $methodName - * @param array $arguments - * - * @return mixed - */ - public function makeProphecyMethodCall($methodName, array $arguments) - { - $arguments = $this->revealer->reveal($arguments); - $return = $this->callCenter->makeCall($this, $methodName, $arguments); - - return $this->revealer->reveal($return); - } - - /** - * Finds calls by method name & arguments wildcard. - * - * @param string $methodName - * @param ArgumentsWildcard $wildcard - * - * @return Call[] - */ - public function findProphecyMethodCalls($methodName, ArgumentsWildcard $wildcard) - { - return $this->callCenter->findCalls($methodName, $wildcard); - } - - /** - * Checks that registered method predictions do not fail. - * - * @throws \Prophecy\Exception\Prediction\AggregateException If any of registered predictions fail - */ - public function checkProphecyMethodsPredictions() - { - $exception = new AggregateException(sprintf("%s:\n", get_class($this->reveal()))); - $exception->setObjectProphecy($this); - - foreach ($this->methodProphecies as $prophecies) { - foreach ($prophecies as $prophecy) { - try { - $prophecy->checkPrediction(); - } catch (PredictionException $e) { - $exception->append($e); - } - } - } - - if (count($exception->getExceptions())) { - throw $exception; - } - } - - /** - * Creates new method prophecy using specified method name and arguments. - * - * @param string $methodName - * @param array $arguments - * - * @return MethodProphecy - */ - public function __call($methodName, array $arguments) - { - $arguments = new ArgumentsWildcard($this->revealer->reveal($arguments)); - - foreach ($this->getMethodProphecies($methodName) as $prophecy) { - $argumentsWildcard = $prophecy->getArgumentsWildcard(); - $comparator = $this->comparatorFactory->getComparatorFor( - $argumentsWildcard, $arguments - ); - - try { - $comparator->assertEquals($argumentsWildcard, $arguments); - return $prophecy; - } catch (ComparisonFailure $failure) {} - } - - return new MethodProphecy($this, $methodName, $arguments); - } - - /** - * Tries to get property value from double. - * - * @param string $name - * - * @return mixed - */ - public function __get($name) - { - return $this->reveal()->$name; - } - - /** - * Tries to set property value to double. - * - * @param string $name - * @param mixed $value - */ - public function __set($name, $value) - { - $this->reveal()->$name = $this->revealer->reveal($value); - } -} diff --git a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Prophecy/ProphecyInterface.php b/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Prophecy/ProphecyInterface.php deleted file mode 100644 index 462f15a..0000000 --- a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Prophecy/ProphecyInterface.php +++ /dev/null @@ -1,27 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Prophecy; - -/** - * Core Prophecy interface. - * - * @author Konstantin Kudryashov - */ -interface ProphecyInterface -{ - /** - * Reveals prophecy object (double) . - * - * @return object - */ - public function reveal(); -} diff --git a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Prophecy/ProphecySubjectInterface.php b/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Prophecy/ProphecySubjectInterface.php deleted file mode 100644 index 2d83958..0000000 --- a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Prophecy/ProphecySubjectInterface.php +++ /dev/null @@ -1,34 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Prophecy; - -/** - * Controllable doubles interface. - * - * @author Konstantin Kudryashov - */ -interface ProphecySubjectInterface -{ - /** - * Sets subject prophecy. - * - * @param ProphecyInterface $prophecy - */ - public function setProphecy(ProphecyInterface $prophecy); - - /** - * Returns subject prophecy. - * - * @return ProphecyInterface - */ - public function getProphecy(); -} diff --git a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Prophecy/Revealer.php b/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Prophecy/Revealer.php deleted file mode 100644 index 60ecdac..0000000 --- a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Prophecy/Revealer.php +++ /dev/null @@ -1,44 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Prophecy; - -/** - * Basic prophecies revealer. - * - * @author Konstantin Kudryashov - */ -class Revealer implements RevealerInterface -{ - /** - * Unwraps value(s). - * - * @param mixed $value - * - * @return mixed - */ - public function reveal($value) - { - if (is_array($value)) { - return array_map(array($this, __FUNCTION__), $value); - } - - if (!is_object($value)) { - return $value; - } - - if ($value instanceof ProphecyInterface) { - $value = $value->reveal(); - } - - return $value; - } -} diff --git a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Prophecy/RevealerInterface.php b/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Prophecy/RevealerInterface.php deleted file mode 100644 index ffc82bb..0000000 --- a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Prophecy/RevealerInterface.php +++ /dev/null @@ -1,29 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Prophecy; - -/** - * Prophecies revealer interface. - * - * @author Konstantin Kudryashov - */ -interface RevealerInterface -{ - /** - * Unwraps value(s). - * - * @param mixed $value - * - * @return mixed - */ - public function reveal($value); -} diff --git a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Prophet.php b/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Prophet.php deleted file mode 100644 index a4fe4b0..0000000 --- a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Prophet.php +++ /dev/null @@ -1,135 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy; - -use Prophecy\Doubler\Doubler; -use Prophecy\Doubler\LazyDouble; -use Prophecy\Doubler\ClassPatch; -use Prophecy\Prophecy\ObjectProphecy; -use Prophecy\Prophecy\RevealerInterface; -use Prophecy\Prophecy\Revealer; -use Prophecy\Call\CallCenter; -use Prophecy\Util\StringUtil; -use Prophecy\Exception\Prediction\PredictionException; -use Prophecy\Exception\Prediction\AggregateException; - -/** - * Prophet creates prophecies. - * - * @author Konstantin Kudryashov - */ -class Prophet -{ - private $doubler; - private $revealer; - private $util; - - /** - * @var ObjectProphecy[] - */ - private $prophecies = array(); - - /** - * Initializes Prophet. - * - * @param null|Doubler $doubler - * @param null|RevealerInterface $revealer - * @param null|StringUtil $util - */ - public function __construct(Doubler $doubler = null, RevealerInterface $revealer = null, - StringUtil $util = null) - { - if (null === $doubler) { - $doubler = new Doubler; - $doubler->registerClassPatch(new ClassPatch\SplFileInfoPatch); - $doubler->registerClassPatch(new ClassPatch\TraversablePatch); - $doubler->registerClassPatch(new ClassPatch\ThrowablePatch); - $doubler->registerClassPatch(new ClassPatch\DisableConstructorPatch); - $doubler->registerClassPatch(new ClassPatch\ProphecySubjectPatch); - $doubler->registerClassPatch(new ClassPatch\ReflectionClassNewInstancePatch); - $doubler->registerClassPatch(new ClassPatch\HhvmExceptionPatch()); - $doubler->registerClassPatch(new ClassPatch\MagicCallPatch); - $doubler->registerClassPatch(new ClassPatch\KeywordPatch); - } - - $this->doubler = $doubler; - $this->revealer = $revealer ?: new Revealer; - $this->util = $util ?: new StringUtil; - } - - /** - * Creates new object prophecy. - * - * @param null|string $classOrInterface Class or interface name - * - * @return ObjectProphecy - */ - public function prophesize($classOrInterface = null) - { - $this->prophecies[] = $prophecy = new ObjectProphecy( - new LazyDouble($this->doubler), - new CallCenter($this->util), - $this->revealer - ); - - if ($classOrInterface && class_exists($classOrInterface)) { - return $prophecy->willExtend($classOrInterface); - } - - if ($classOrInterface && interface_exists($classOrInterface)) { - return $prophecy->willImplement($classOrInterface); - } - - return $prophecy; - } - - /** - * Returns all created object prophecies. - * - * @return ObjectProphecy[] - */ - public function getProphecies() - { - return $this->prophecies; - } - - /** - * Returns Doubler instance assigned to this Prophet. - * - * @return Doubler - */ - public function getDoubler() - { - return $this->doubler; - } - - /** - * Checks all predictions defined by prophecies of this Prophet. - * - * @throws Exception\Prediction\AggregateException If any prediction fails - */ - public function checkPredictions() - { - $exception = new AggregateException("Some predictions failed:\n"); - foreach ($this->prophecies as $prophecy) { - try { - $prophecy->checkProphecyMethodsPredictions(); - } catch (PredictionException $e) { - $exception->append($e); - } - } - - if (count($exception->getExceptions())) { - throw $exception; - } - } -} diff --git a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Util/ExportUtil.php b/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Util/ExportUtil.php deleted file mode 100644 index 50dd3f3..0000000 --- a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Util/ExportUtil.php +++ /dev/null @@ -1,212 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * This class is a modification from sebastianbergmann/exporter - * @see https://github.com/sebastianbergmann/exporter - */ -class ExportUtil -{ - /** - * Exports a value as a string - * - * The output of this method is similar to the output of print_r(), but - * improved in various aspects: - * - * - NULL is rendered as "null" (instead of "") - * - TRUE is rendered as "true" (instead of "1") - * - FALSE is rendered as "false" (instead of "") - * - Strings are always quoted with single quotes - * - Carriage returns and newlines are normalized to \n - * - Recursion and repeated rendering is treated properly - * - * @param mixed $value - * @param int $indentation The indentation level of the 2nd+ line - * @return string - */ - public static function export($value, $indentation = 0) - { - return self::recursiveExport($value, $indentation); - } - - /** - * Converts an object to an array containing all of its private, protected - * and public properties. - * - * @param mixed $value - * @return array - */ - public static function toArray($value) - { - if (!is_object($value)) { - return (array) $value; - } - - $array = array(); - - foreach ((array) $value as $key => $val) { - // properties are transformed to keys in the following way: - // private $property => "\0Classname\0property" - // protected $property => "\0*\0property" - // public $property => "property" - if (preg_match('/^\0.+\0(.+)$/', $key, $matches)) { - $key = $matches[1]; - } - - // See https://github.com/php/php-src/commit/5721132 - if ($key === "\0gcdata") { - continue; - } - - $array[$key] = $val; - } - - // Some internal classes like SplObjectStorage don't work with the - // above (fast) mechanism nor with reflection in Zend. - // Format the output similarly to print_r() in this case - if ($value instanceof \SplObjectStorage) { - // However, the fast method does work in HHVM, and exposes the - // internal implementation. Hide it again. - if (property_exists('\SplObjectStorage', '__storage')) { - unset($array['__storage']); - } elseif (property_exists('\SplObjectStorage', 'storage')) { - unset($array['storage']); - } - - if (property_exists('\SplObjectStorage', '__key')) { - unset($array['__key']); - } - - foreach ($value as $key => $val) { - $array[spl_object_hash($val)] = array( - 'obj' => $val, - 'inf' => $value->getInfo(), - ); - } - } - - return $array; - } - - /** - * Recursive implementation of export - * - * @param mixed $value The value to export - * @param int $indentation The indentation level of the 2nd+ line - * @param \SebastianBergmann\RecursionContext\Context $processed Previously processed objects - * @return string - * @see SebastianBergmann\Exporter\Exporter::export - */ - protected static function recursiveExport(&$value, $indentation, $processed = null) - { - if ($value === null) { - return 'null'; - } - - if ($value === true) { - return 'true'; - } - - if ($value === false) { - return 'false'; - } - - if (is_float($value) && floatval(intval($value)) === $value) { - return "$value.0"; - } - - if (is_resource($value)) { - return sprintf( - 'resource(%d) of type (%s)', - $value, - get_resource_type($value) - ); - } - - if (is_string($value)) { - // Match for most non printable chars somewhat taking multibyte chars into account - if (preg_match('/[^\x09-\x0d\x20-\xff]/', $value)) { - return 'Binary String: 0x' . bin2hex($value); - } - - return "'" . - str_replace(array("\r\n", "\n\r", "\r"), array("\n", "\n", "\n"), $value) . - "'"; - } - - $whitespace = str_repeat(' ', 4 * $indentation); - - if (!$processed) { - $processed = new Context; - } - - if (is_array($value)) { - if (($key = $processed->contains($value)) !== false) { - return 'Array &' . $key; - } - - $array = $value; - $key = $processed->add($value); - $values = ''; - - if (count($array) > 0) { - foreach ($array as $k => $v) { - $values .= sprintf( - '%s %s => %s' . "\n", - $whitespace, - self::recursiveExport($k, $indentation), - self::recursiveExport($value[$k], $indentation + 1, $processed) - ); - } - - $values = "\n" . $values . $whitespace; - } - - return sprintf('Array &%s (%s)', $key, $values); - } - - if (is_object($value)) { - $class = get_class($value); - - if ($value instanceof ProphecyInterface) { - return sprintf('%s Object (*Prophecy*)', $class); - } elseif ($hash = $processed->contains($value)) { - return sprintf('%s:%s Object', $class, $hash); - } - - $hash = $processed->add($value); - $values = ''; - $array = self::toArray($value); - - if (count($array) > 0) { - foreach ($array as $k => $v) { - $values .= sprintf( - '%s %s => %s' . "\n", - $whitespace, - self::recursiveExport($k, $indentation), - self::recursiveExport($v, $indentation + 1, $processed) - ); - } - - $values = "\n" . $values . $whitespace; - } - - return sprintf('%s:%s Object (%s)', $class, $hash, $values); - } - - return var_export($value, true); - } -} diff --git a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Util/StringUtil.php b/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Util/StringUtil.php deleted file mode 100644 index ba4faff..0000000 --- a/paragonik-backend/vendor/phpspec/prophecy/src/Prophecy/Util/StringUtil.php +++ /dev/null @@ -1,99 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Util; - -use Prophecy\Call\Call; - -/** - * String utility. - * - * @author Konstantin Kudryashov - */ -class StringUtil -{ - private $verbose; - - /** - * @param bool $verbose - */ - public function __construct($verbose = true) - { - $this->verbose = $verbose; - } - - /** - * Stringifies any provided value. - * - * @param mixed $value - * @param boolean $exportObject - * - * @return string - */ - public function stringify($value, $exportObject = true) - { - if (is_array($value)) { - if (range(0, count($value) - 1) === array_keys($value)) { - return '['.implode(', ', array_map(array($this, __FUNCTION__), $value)).']'; - } - - $stringify = array($this, __FUNCTION__); - - return '['.implode(', ', array_map(function ($item, $key) use ($stringify) { - return (is_integer($key) ? $key : '"'.$key.'"'). - ' => '.call_user_func($stringify, $item); - }, $value, array_keys($value))).']'; - } - if (is_resource($value)) { - return get_resource_type($value).':'.$value; - } - if (is_object($value)) { - return $exportObject ? ExportUtil::export($value) : sprintf('%s:%s', get_class($value), spl_object_hash($value)); - } - if (true === $value || false === $value) { - return $value ? 'true' : 'false'; - } - if (is_string($value)) { - $str = sprintf('"%s"', str_replace("\n", '\\n', $value)); - - if (!$this->verbose && 50 <= strlen($str)) { - return substr($str, 0, 50).'"...'; - } - - return $str; - } - if (null === $value) { - return 'null'; - } - - return (string) $value; - } - - /** - * Stringifies provided array of calls. - * - * @param Call[] $calls Array of Call instances - * - * @return string - */ - public function stringifyCalls(array $calls) - { - $self = $this; - - return implode(PHP_EOL, array_map(function (Call $call) use ($self) { - return sprintf(' - %s(%s) @ %s', - $call->getMethodName(), - implode(', ', array_map(array($self, 'stringify'), $call->getArguments())), - str_replace(GETCWD().DIRECTORY_SEPARATOR, '', $call->getCallPlace()) - ); - }, $calls)); - } -} diff --git a/paragonik-backend/vendor/phpunit/php-code-coverage/.gitattributes b/paragonik-backend/vendor/phpunit/php-code-coverage/.gitattributes deleted file mode 100644 index 461090b..0000000 --- a/paragonik-backend/vendor/phpunit/php-code-coverage/.gitattributes +++ /dev/null @@ -1 +0,0 @@ -*.php diff=php diff --git a/paragonik-backend/vendor/phpunit/php-code-coverage/.github/CONTRIBUTING.md b/paragonik-backend/vendor/phpunit/php-code-coverage/.github/CONTRIBUTING.md deleted file mode 100644 index 3339250..0000000 --- a/paragonik-backend/vendor/phpunit/php-code-coverage/.github/CONTRIBUTING.md +++ /dev/null @@ -1 +0,0 @@ -Please refer to [https://github.com/sebastianbergmann/phpunit/blob/master/CONTRIBUTING.md](https://github.com/sebastianbergmann/phpunit/blob/master/.github/CONTRIBUTING.md) for details on how to contribute to this project. diff --git a/paragonik-backend/vendor/phpunit/php-code-coverage/.github/ISSUE_TEMPLATE.md b/paragonik-backend/vendor/phpunit/php-code-coverage/.github/ISSUE_TEMPLATE.md deleted file mode 100644 index dc8e3b0..0000000 --- a/paragonik-backend/vendor/phpunit/php-code-coverage/.github/ISSUE_TEMPLATE.md +++ /dev/null @@ -1,18 +0,0 @@ -| Q | A -| --------------------------| --------------- -| php-code-coverage version | x.y.z -| PHP version | x.y.z -| Driver | Xdebug / PHPDBG -| Xdebug version (if used) | x.y.z -| Installation Method | Composer / PHPUnit PHAR -| Usage Method | PHPUnit / other -| PHPUnit version (if used) | x.y.z - - - diff --git a/paragonik-backend/vendor/phpunit/php-code-coverage/.github/stale.yml b/paragonik-backend/vendor/phpunit/php-code-coverage/.github/stale.yml deleted file mode 100644 index 51adfac..0000000 --- a/paragonik-backend/vendor/phpunit/php-code-coverage/.github/stale.yml +++ /dev/null @@ -1,44 +0,0 @@ -# Configuration for probot-stale - https://github.com/probot/stale - -# Number of days of inactivity before an Issue or Pull Request becomes stale -daysUntilStale: 60 - -# Number of days of inactivity before a stale Issue or Pull Request is closed. -# Set to false to disable. If disabled, issues still need to be closed manually, but will remain marked as stale. -daysUntilClose: 7 - -# Issues or Pull Requests with these labels will never be considered stale. Set to `[]` to disable -exemptLabels: - - breaking-change - - enhancement - - discussion - - cleanup - - refactoring - -# Set to true to ignore issues in a project (defaults to false) -exemptProjects: false - -# Set to true to ignore issues in a milestone (defaults to false) -exemptMilestones: false - -# Label to use when marking as stale -staleLabel: stale - -# Comment to post when marking as stale. Set to `false` to disable -markComment: > - This issue has been automatically marked as stale because it has not had activity within the last 60 days. It will be closed after 7 days if no further activity occurs. Thank you for your contributions. - -# Comment to post when removing the stale label. -# unmarkComment: > -# Your comment here. - -# Comment to post when closing a stale Issue or Pull Request. -closeComment: > - This issue has been automatically closed because it has not had activity since it was marked as stale. Thank you for your contributions. - -# Limit the number of actions per hour, from 1-30. Default is 30 -limitPerRun: 30 - -# Limit to only `issues` or `pulls` -only: issues - diff --git a/paragonik-backend/vendor/phpunit/php-code-coverage/.gitignore b/paragonik-backend/vendor/phpunit/php-code-coverage/.gitignore deleted file mode 100644 index f25d115..0000000 --- a/paragonik-backend/vendor/phpunit/php-code-coverage/.gitignore +++ /dev/null @@ -1,7 +0,0 @@ -/tests/_files/tmp -/vendor -/composer.lock -/.idea -/.php_cs -/.php_cs.cache - diff --git a/paragonik-backend/vendor/phpunit/php-code-coverage/.php_cs.dist b/paragonik-backend/vendor/phpunit/php-code-coverage/.php_cs.dist deleted file mode 100644 index 59495cf..0000000 --- a/paragonik-backend/vendor/phpunit/php-code-coverage/.php_cs.dist +++ /dev/null @@ -1,189 +0,0 @@ - - -For the full copyright and license information, please view the LICENSE -file that was distributed with this source code. -EOF; - -return PhpCsFixer\Config::create() - ->setRiskyAllowed(true) - ->setRules( - [ - 'align_multiline_comment' => true, - 'array_indentation' => true, - 'array_syntax' => ['syntax' => 'short'], - 'binary_operator_spaces' => [ - 'operators' => [ - '=' => 'align', - '=>' => 'align', - ], - ], - 'blank_line_after_namespace' => true, - 'blank_line_before_statement' => [ - 'statements' => [ - 'break', - 'continue', - 'declare', - 'do', - 'for', - 'foreach', - 'if', - 'include', - 'include_once', - 'require', - 'require_once', - 'return', - 'switch', - 'throw', - 'try', - 'while', - 'yield', - ], - ], - 'braces' => true, - 'cast_spaces' => true, - 'class_attributes_separation' => ['elements' => ['const', 'method', 'property']], - 'combine_consecutive_issets' => true, - 'combine_consecutive_unsets' => true, - 'compact_nullable_typehint' => true, - 'concat_space' => ['spacing' => 'one'], - 'declare_equal_normalize' => ['space' => 'none'], - 'dir_constant' => true, - 'elseif' => true, - 'encoding' => true, - 'full_opening_tag' => true, - 'function_declaration' => true, - 'header_comment' => ['header' => $header, 'separate' => 'none'], - 'indentation_type' => true, - 'is_null' => true, - 'line_ending' => true, - 'list_syntax' => ['syntax' => 'short'], - 'logical_operators' => true, - 'lowercase_cast' => true, - 'lowercase_constants' => true, - 'lowercase_keywords' => true, - 'lowercase_static_reference' => true, - 'magic_constant_casing' => true, - 'method_argument_space' => ['ensure_fully_multiline' => true], - 'modernize_types_casting' => true, - 'multiline_comment_opening_closing' => true, - 'multiline_whitespace_before_semicolons' => true, - 'native_constant_invocation' => true, - 'native_function_casing' => true, - 'native_function_invocation' => true, - 'new_with_braces' => false, - 'no_alias_functions' => true, - 'no_alternative_syntax' => true, - 'no_blank_lines_after_class_opening' => true, - 'no_blank_lines_after_phpdoc' => true, - 'no_blank_lines_before_namespace' => true, - 'no_closing_tag' => true, - 'no_empty_comment' => true, - 'no_empty_phpdoc' => true, - 'no_empty_statement' => true, - 'no_extra_blank_lines' => true, - 'no_homoglyph_names' => true, - 'no_leading_import_slash' => true, - 'no_leading_namespace_whitespace' => true, - 'no_mixed_echo_print' => ['use' => 'print'], - 'no_multiline_whitespace_around_double_arrow' => true, - 'no_null_property_initialization' => true, - 'no_php4_constructor' => true, - 'no_short_bool_cast' => true, - 'no_short_echo_tag' => true, - 'no_singleline_whitespace_before_semicolons' => true, - 'no_spaces_after_function_name' => true, - 'no_spaces_inside_parenthesis' => true, - 'no_superfluous_elseif' => true, - 'no_superfluous_phpdoc_tags' => true, - 'no_trailing_comma_in_list_call' => true, - 'no_trailing_comma_in_singleline_array' => true, - 'no_trailing_whitespace' => true, - 'no_trailing_whitespace_in_comment' => true, - 'no_unneeded_control_parentheses' => true, - 'no_unneeded_curly_braces' => true, - 'no_unneeded_final_method' => true, - 'no_unreachable_default_argument_value' => true, - 'no_unset_on_property' => true, - 'no_unused_imports' => true, - 'no_useless_else' => true, - 'no_useless_return' => true, - 'no_whitespace_before_comma_in_array' => true, - 'no_whitespace_in_blank_line' => true, - 'non_printable_character' => true, - 'normalize_index_brace' => true, - 'object_operator_without_whitespace' => true, - 'ordered_class_elements' => [ - 'order' => [ - 'use_trait', - 'constant_public', - 'constant_protected', - 'constant_private', - 'property_public_static', - 'property_protected_static', - 'property_private_static', - 'property_public', - 'property_protected', - 'property_private', - 'method_public_static', - 'construct', - 'destruct', - 'magic', - 'phpunit', - 'method_public', - 'method_protected', - 'method_private', - 'method_protected_static', - 'method_private_static', - ], - ], - 'ordered_imports' => true, - 'phpdoc_add_missing_param_annotation' => true, - 'phpdoc_align' => true, - 'phpdoc_annotation_without_dot' => true, - 'phpdoc_indent' => true, - 'phpdoc_no_access' => true, - 'phpdoc_no_empty_return' => true, - 'phpdoc_no_package' => true, - 'phpdoc_order' => true, - 'phpdoc_return_self_reference' => true, - 'phpdoc_scalar' => true, - 'phpdoc_separation' => true, - 'phpdoc_single_line_var_spacing' => true, - 'phpdoc_to_comment' => true, - 'phpdoc_trim' => true, - 'phpdoc_trim_consecutive_blank_line_separation' => true, - 'phpdoc_types' => true, - 'phpdoc_types_order' => true, - 'phpdoc_var_without_name' => true, - 'pow_to_exponentiation' => true, - 'protected_to_private' => true, - 'return_assignment' => true, - 'return_type_declaration' => ['space_before' => 'none'], - 'self_accessor' => true, - 'semicolon_after_instruction' => true, - 'set_type_to_cast' => true, - 'short_scalar_cast' => true, - 'simplified_null_return' => true, - 'single_blank_line_at_eof' => true, - 'single_import_per_statement' => true, - 'single_line_after_imports' => true, - 'single_quote' => true, - 'standardize_not_equals' => true, - 'ternary_to_null_coalescing' => true, - 'trailing_comma_in_multiline_array' => true, - 'trim_array_spaces' => true, - 'unary_operator_spaces' => true, - 'visibility_required' => true, - 'void_return' => true, - 'whitespace_after_comma_in_array' => true, - ] - ) - ->setFinder( - PhpCsFixer\Finder::create() - ->files() - ->in(__DIR__ . '/src') - ); diff --git a/paragonik-backend/vendor/phpunit/php-code-coverage/.travis.yml b/paragonik-backend/vendor/phpunit/php-code-coverage/.travis.yml deleted file mode 100644 index e881f45..0000000 --- a/paragonik-backend/vendor/phpunit/php-code-coverage/.travis.yml +++ /dev/null @@ -1,40 +0,0 @@ -language: php - -sudo: false - -php: - - 7.1 - - 7.2 - - 7.3 - - master - -matrix: - allow_failures: - - php: master - fast_finish: true - -env: - matrix: - - DEPENDENCIES="high" - - DEPENDENCIES="low" - global: - - DEFAULT_COMPOSER_FLAGS="--no-interaction --no-ansi --no-progress --no-suggest" - -before_install: - - composer self-update - - composer clear-cache - -install: - - if [[ "$DEPENDENCIES" = 'high' ]]; then travis_retry composer update $DEFAULT_COMPOSER_FLAGS; fi - - if [[ "$DEPENDENCIES" = 'low' ]]; then travis_retry composer update $DEFAULT_COMPOSER_FLAGS --prefer-lowest; fi - -script: - - if [[ "$DRIVER" = 'phpdbg' ]]; then phpdbg -qrr vendor/bin/phpunit --coverage-clover=coverage.xml; fi - - if [[ "$DRIVER" = 'xdebug' ]]; then vendor/bin/phpunit --coverage-clover=coverage.xml; fi - -after_success: - - bash <(curl -s https://codecov.io/bash) - -notifications: - email: false - diff --git a/paragonik-backend/vendor/phpunit/php-code-coverage/ChangeLog-6.1.md b/paragonik-backend/vendor/phpunit/php-code-coverage/ChangeLog-6.1.md deleted file mode 100644 index 716a124..0000000 --- a/paragonik-backend/vendor/phpunit/php-code-coverage/ChangeLog-6.1.md +++ /dev/null @@ -1,41 +0,0 @@ -# Changes in php-code-coverage 6.1 - -All notable changes of the php-code-coverage 6.1 release series are documented in this file using the [Keep a CHANGELOG](http://keepachangelog.com/) principles. - -## [6.1.4] - 2018-10-31 - -### Fixed - -* Fixed [#650](https://github.com/sebastianbergmann/php-code-coverage/issues/650): Wasted screen space in HTML code coverage report - -## [6.1.3] - 2018-10-23 - -### Changed - -* Use `^3.1` of `sebastian/environment` again due to [regression](https://github.com/sebastianbergmann/environment/issues/31) - -## [6.1.2] - 2018-10-23 - -### Fixed - -* Fixed [#645](https://github.com/sebastianbergmann/php-code-coverage/pull/645): Crash that can occur when php-token-stream parses invalid files - -## [6.1.1] - 2018-10-18 - -### Changed - -* This component now allows `^4` of `sebastian/environment` - -## [6.1.0] - 2018-10-16 - -### Changed - -* Class names are now abbreviated (unqualified name shown, fully qualified name shown on hover) in the file view of the HTML report -* Update HTML report to Bootstrap 4 - -[6.1.4]: https://github.com/sebastianbergmann/php-code-coverage/compare/6.1.3...6.1.4 -[6.1.3]: https://github.com/sebastianbergmann/php-code-coverage/compare/6.1.2...6.1.3 -[6.1.2]: https://github.com/sebastianbergmann/php-code-coverage/compare/6.1.1...6.1.2 -[6.1.1]: https://github.com/sebastianbergmann/php-code-coverage/compare/6.1.0...6.1.1 -[6.1.0]: https://github.com/sebastianbergmann/php-code-coverage/compare/6.0...6.1.0 - diff --git a/paragonik-backend/vendor/phpunit/php-code-coverage/LICENSE b/paragonik-backend/vendor/phpunit/php-code-coverage/LICENSE deleted file mode 100644 index f198e20..0000000 --- a/paragonik-backend/vendor/phpunit/php-code-coverage/LICENSE +++ /dev/null @@ -1,33 +0,0 @@ -php-code-coverage - -Copyright (c) 2009-2018, Sebastian Bergmann . -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of Sebastian Bergmann nor the names of his - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. diff --git a/paragonik-backend/vendor/phpunit/php-code-coverage/README.md b/paragonik-backend/vendor/phpunit/php-code-coverage/README.md deleted file mode 100644 index bd4a169..0000000 --- a/paragonik-backend/vendor/phpunit/php-code-coverage/README.md +++ /dev/null @@ -1,40 +0,0 @@ -[![Latest Stable Version](https://poser.pugx.org/phpunit/php-code-coverage/v/stable.png)](https://packagist.org/packages/phpunit/php-code-coverage) -[![Build Status](https://travis-ci.org/sebastianbergmann/php-code-coverage.svg?branch=master)](https://travis-ci.org/sebastianbergmann/php-code-coverage) - -# SebastianBergmann\CodeCoverage - -**SebastianBergmann\CodeCoverage** is a library that provides collection, processing, and rendering functionality for PHP code coverage information. - -## Installation - -You can add this library as a local, per-project dependency to your project using [Composer](https://getcomposer.org/): - - composer require phpunit/php-code-coverage - -If you only need this library during development, for instance to run your project's test suite, then you should add it as a development-time dependency: - - composer require --dev phpunit/php-code-coverage - -## Using the SebastianBergmann\CodeCoverage API - -```php -filter()->addDirectoryToWhitelist('/path/to/src'); - -$coverage->start(''); - -// ... - -$coverage->stop(); - -$writer = new \SebastianBergmann\CodeCoverage\Report\Clover; -$writer->process($coverage, '/tmp/clover.xml'); - -$writer = new \SebastianBergmann\CodeCoverage\Report\Html\Facade; -$writer->process($coverage, '/tmp/code-coverage-report'); -``` - diff --git a/paragonik-backend/vendor/phpunit/php-code-coverage/build.xml b/paragonik-backend/vendor/phpunit/php-code-coverage/build.xml deleted file mode 100644 index 40eeeec..0000000 --- a/paragonik-backend/vendor/phpunit/php-code-coverage/build.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/paragonik-backend/vendor/phpunit/php-code-coverage/composer.json b/paragonik-backend/vendor/phpunit/php-code-coverage/composer.json deleted file mode 100644 index bb27256..0000000 --- a/paragonik-backend/vendor/phpunit/php-code-coverage/composer.json +++ /dev/null @@ -1,55 +0,0 @@ -{ - "name": "phpunit/php-code-coverage", - "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", - "type": "library", - "keywords": [ - "coverage", - "testing", - "xunit" - ], - "homepage": "https://github.com/sebastianbergmann/php-code-coverage", - "license": "BSD-3-Clause", - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "support": { - "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues" - }, - "config": { - "optimize-autoloader": true, - "sort-packages": true - }, - "prefer-stable": true, - "require": { - "php": "^7.1", - "ext-dom": "*", - "ext-xmlwriter": "*", - "phpunit/php-file-iterator": "^2.0", - "phpunit/php-token-stream": "^3.0", - "phpunit/php-text-template": "^1.2.1", - "sebastian/code-unit-reverse-lookup": "^1.0.1", - "sebastian/environment": "^3.1 || ^4.0", - "sebastian/version": "^2.0.1", - "theseer/tokenizer": "^1.1" - }, - "require-dev": { - "phpunit/phpunit": "^7.0" - }, - "suggest": { - "ext-xdebug": "^2.6.0" - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "extra": { - "branch-alias": { - "dev-master": "6.1-dev" - } - } -} diff --git a/paragonik-backend/vendor/phpunit/php-code-coverage/phpunit.xml b/paragonik-backend/vendor/phpunit/php-code-coverage/phpunit.xml deleted file mode 100644 index 37e2219..0000000 --- a/paragonik-backend/vendor/phpunit/php-code-coverage/phpunit.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - tests/tests - - - - - src - - - - - - - - diff --git a/paragonik-backend/vendor/phpunit/php-code-coverage/src/CodeCoverage.php b/paragonik-backend/vendor/phpunit/php-code-coverage/src/CodeCoverage.php deleted file mode 100644 index 67ba403..0000000 --- a/paragonik-backend/vendor/phpunit/php-code-coverage/src/CodeCoverage.php +++ /dev/null @@ -1,1008 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace SebastianBergmann\CodeCoverage; - -use PHPUnit\Framework\TestCase; -use PHPUnit\Runner\PhptTestCase; -use PHPUnit\Util\Test; -use SebastianBergmann\CodeCoverage\Driver\Driver; -use SebastianBergmann\CodeCoverage\Driver\PHPDBG; -use SebastianBergmann\CodeCoverage\Driver\Xdebug; -use SebastianBergmann\CodeCoverage\Node\Builder; -use SebastianBergmann\CodeCoverage\Node\Directory; -use SebastianBergmann\CodeUnitReverseLookup\Wizard; -use SebastianBergmann\Environment\Runtime; - -/** - * Provides collection functionality for PHP code coverage information. - */ -final class CodeCoverage -{ - /** - * @var Driver - */ - private $driver; - - /** - * @var Filter - */ - private $filter; - - /** - * @var Wizard - */ - private $wizard; - - /** - * @var bool - */ - private $cacheTokens = false; - - /** - * @var bool - */ - private $checkForUnintentionallyCoveredCode = false; - - /** - * @var bool - */ - private $forceCoversAnnotation = false; - - /** - * @var bool - */ - private $checkForUnexecutedCoveredCode = false; - - /** - * @var bool - */ - private $checkForMissingCoversAnnotation = false; - - /** - * @var bool - */ - private $addUncoveredFilesFromWhitelist = true; - - /** - * @var bool - */ - private $processUncoveredFilesFromWhitelist = false; - - /** - * @var bool - */ - private $ignoreDeprecatedCode = false; - - /** - * @var PhptTestCase|string|TestCase - */ - private $currentId; - - /** - * Code coverage data. - * - * @var array - */ - private $data = []; - - /** - * @var array - */ - private $ignoredLines = []; - - /** - * @var bool - */ - private $disableIgnoredLines = false; - - /** - * Test data. - * - * @var array - */ - private $tests = []; - - /** - * @var string[] - */ - private $unintentionallyCoveredSubclassesWhitelist = []; - - /** - * Determine if the data has been initialized or not - * - * @var bool - */ - private $isInitialized = false; - - /** - * Determine whether we need to check for dead and unused code on each test - * - * @var bool - */ - private $shouldCheckForDeadAndUnused = true; - - /** - * @var Directory - */ - private $report; - - /** - * @throws RuntimeException - */ - public function __construct(Driver $driver = null, Filter $filter = null) - { - if ($filter === null) { - $filter = new Filter; - } - - if ($driver === null) { - $driver = $this->selectDriver($filter); - } - - $this->driver = $driver; - $this->filter = $filter; - - $this->wizard = new Wizard; - } - - /** - * Returns the code coverage information as a graph of node objects. - */ - public function getReport(): Directory - { - if ($this->report === null) { - $builder = new Builder; - - $this->report = $builder->build($this); - } - - return $this->report; - } - - /** - * Clears collected code coverage data. - */ - public function clear(): void - { - $this->isInitialized = false; - $this->currentId = null; - $this->data = []; - $this->tests = []; - $this->report = null; - } - - /** - * Returns the filter object used. - */ - public function filter(): Filter - { - return $this->filter; - } - - /** - * Returns the collected code coverage data. - */ - public function getData(bool $raw = false): array - { - if (!$raw && $this->addUncoveredFilesFromWhitelist) { - $this->addUncoveredFilesFromWhitelist(); - } - - return $this->data; - } - - /** - * Sets the coverage data. - */ - public function setData(array $data): void - { - $this->data = $data; - $this->report = null; - } - - /** - * Returns the test data. - */ - public function getTests(): array - { - return $this->tests; - } - - /** - * Sets the test data. - */ - public function setTests(array $tests): void - { - $this->tests = $tests; - } - - /** - * Start collection of code coverage information. - * - * @param PhptTestCase|string|TestCase $id - * - * @throws RuntimeException - */ - public function start($id, bool $clear = false): void - { - if ($clear) { - $this->clear(); - } - - if ($this->isInitialized === false) { - $this->initializeData(); - } - - $this->currentId = $id; - - $this->driver->start($this->shouldCheckForDeadAndUnused); - } - - /** - * Stop collection of code coverage information. - * - * @param array|false $linesToBeCovered - * - * @throws MissingCoversAnnotationException - * @throws CoveredCodeNotExecutedException - * @throws RuntimeException - * @throws InvalidArgumentException - * @throws \ReflectionException - */ - public function stop(bool $append = true, $linesToBeCovered = [], array $linesToBeUsed = [], bool $ignoreForceCoversAnnotation = false): array - { - if (!\is_array($linesToBeCovered) && $linesToBeCovered !== false) { - throw InvalidArgumentException::create( - 2, - 'array or false' - ); - } - - $data = $this->driver->stop(); - $this->append($data, null, $append, $linesToBeCovered, $linesToBeUsed, $ignoreForceCoversAnnotation); - - $this->currentId = null; - - return $data; - } - - /** - * Appends code coverage data. - * - * @param PhptTestCase|string|TestCase $id - * @param array|false $linesToBeCovered - * - * @throws \SebastianBergmann\CodeCoverage\UnintentionallyCoveredCodeException - * @throws \SebastianBergmann\CodeCoverage\MissingCoversAnnotationException - * @throws \SebastianBergmann\CodeCoverage\CoveredCodeNotExecutedException - * @throws \ReflectionException - * @throws \SebastianBergmann\CodeCoverage\InvalidArgumentException - * @throws RuntimeException - */ - public function append(array $data, $id = null, bool $append = true, $linesToBeCovered = [], array $linesToBeUsed = [], bool $ignoreForceCoversAnnotation = false): void - { - if ($id === null) { - $id = $this->currentId; - } - - if ($id === null) { - throw new RuntimeException; - } - - $this->applyWhitelistFilter($data); - $this->applyIgnoredLinesFilter($data); - $this->initializeFilesThatAreSeenTheFirstTime($data); - - if (!$append) { - return; - } - - if ($id !== 'UNCOVERED_FILES_FROM_WHITELIST') { - $this->applyCoversAnnotationFilter( - $data, - $linesToBeCovered, - $linesToBeUsed, - $ignoreForceCoversAnnotation - ); - } - - if (empty($data)) { - return; - } - - $size = 'unknown'; - $status = -1; - - if ($id instanceof TestCase) { - $_size = $id->getSize(); - - if ($_size === Test::SMALL) { - $size = 'small'; - } elseif ($_size === Test::MEDIUM) { - $size = 'medium'; - } elseif ($_size === Test::LARGE) { - $size = 'large'; - } - - $status = $id->getStatus(); - $id = \get_class($id) . '::' . $id->getName(); - } elseif ($id instanceof PhptTestCase) { - $size = 'large'; - $id = $id->getName(); - } - - $this->tests[$id] = ['size' => $size, 'status' => $status]; - - foreach ($data as $file => $lines) { - if (!$this->filter->isFile($file)) { - continue; - } - - foreach ($lines as $k => $v) { - if ($v === Driver::LINE_EXECUTED) { - if (empty($this->data[$file][$k]) || !\in_array($id, $this->data[$file][$k])) { - $this->data[$file][$k][] = $id; - } - } - } - } - - $this->report = null; - } - - /** - * Merges the data from another instance. - * - * @param CodeCoverage $that - */ - public function merge(self $that): void - { - $this->filter->setWhitelistedFiles( - \array_merge($this->filter->getWhitelistedFiles(), $that->filter()->getWhitelistedFiles()) - ); - - foreach ($that->data as $file => $lines) { - if (!isset($this->data[$file])) { - if (!$this->filter->isFiltered($file)) { - $this->data[$file] = $lines; - } - - continue; - } - - // we should compare the lines if any of two contains data - $compareLineNumbers = \array_unique( - \array_merge( - \array_keys($this->data[$file]), - \array_keys($that->data[$file]) - ) - ); - - foreach ($compareLineNumbers as $line) { - $thatPriority = $this->getLinePriority($that->data[$file], $line); - $thisPriority = $this->getLinePriority($this->data[$file], $line); - - if ($thatPriority > $thisPriority) { - $this->data[$file][$line] = $that->data[$file][$line]; - } elseif ($thatPriority === $thisPriority && \is_array($this->data[$file][$line])) { - $this->data[$file][$line] = \array_unique( - \array_merge($this->data[$file][$line], $that->data[$file][$line]) - ); - } - } - } - - $this->tests = \array_merge($this->tests, $that->getTests()); - $this->report = null; - } - - public function setCacheTokens(bool $flag): void - { - $this->cacheTokens = $flag; - } - - public function getCacheTokens(): bool - { - return $this->cacheTokens; - } - - public function setCheckForUnintentionallyCoveredCode(bool $flag): void - { - $this->checkForUnintentionallyCoveredCode = $flag; - } - - public function setForceCoversAnnotation(bool $flag): void - { - $this->forceCoversAnnotation = $flag; - } - - public function setCheckForMissingCoversAnnotation(bool $flag): void - { - $this->checkForMissingCoversAnnotation = $flag; - } - - public function setCheckForUnexecutedCoveredCode(bool $flag): void - { - $this->checkForUnexecutedCoveredCode = $flag; - } - - public function setAddUncoveredFilesFromWhitelist(bool $flag): void - { - $this->addUncoveredFilesFromWhitelist = $flag; - } - - public function setProcessUncoveredFilesFromWhitelist(bool $flag): void - { - $this->processUncoveredFilesFromWhitelist = $flag; - } - - public function setDisableIgnoredLines(bool $flag): void - { - $this->disableIgnoredLines = $flag; - } - - public function setIgnoreDeprecatedCode(bool $flag): void - { - $this->ignoreDeprecatedCode = $flag; - } - - public function setUnintentionallyCoveredSubclassesWhitelist(array $whitelist): void - { - $this->unintentionallyCoveredSubclassesWhitelist = $whitelist; - } - - /** - * Determine the priority for a line - * - * 1 = the line is not set - * 2 = the line has not been tested - * 3 = the line is dead code - * 4 = the line has been tested - * - * During a merge, a higher number is better. - * - * @param array $data - * @param int $line - * - * @return int - */ - private function getLinePriority($data, $line) - { - if (!\array_key_exists($line, $data)) { - return 1; - } - - if (\is_array($data[$line]) && \count($data[$line]) === 0) { - return 2; - } - - if ($data[$line] === null) { - return 3; - } - - return 4; - } - - /** - * Applies the @covers annotation filtering. - * - * @param array|false $linesToBeCovered - * - * @throws \SebastianBergmann\CodeCoverage\CoveredCodeNotExecutedException - * @throws \ReflectionException - * @throws MissingCoversAnnotationException - * @throws UnintentionallyCoveredCodeException - */ - private function applyCoversAnnotationFilter(array &$data, $linesToBeCovered, array $linesToBeUsed, bool $ignoreForceCoversAnnotation): void - { - if ($linesToBeCovered === false || - ($this->forceCoversAnnotation && empty($linesToBeCovered) && !$ignoreForceCoversAnnotation)) { - if ($this->checkForMissingCoversAnnotation) { - throw new MissingCoversAnnotationException; - } - - $data = []; - - return; - } - - if (empty($linesToBeCovered)) { - return; - } - - if ($this->checkForUnintentionallyCoveredCode && - (!$this->currentId instanceof TestCase || - (!$this->currentId->isMedium() && !$this->currentId->isLarge()))) { - $this->performUnintentionallyCoveredCodeCheck($data, $linesToBeCovered, $linesToBeUsed); - } - - if ($this->checkForUnexecutedCoveredCode) { - $this->performUnexecutedCoveredCodeCheck($data, $linesToBeCovered, $linesToBeUsed); - } - - $data = \array_intersect_key($data, $linesToBeCovered); - - foreach (\array_keys($data) as $filename) { - $_linesToBeCovered = \array_flip($linesToBeCovered[$filename]); - $data[$filename] = \array_intersect_key($data[$filename], $_linesToBeCovered); - } - } - - private function applyWhitelistFilter(array &$data): void - { - foreach (\array_keys($data) as $filename) { - if ($this->filter->isFiltered($filename)) { - unset($data[$filename]); - } - } - } - - /** - * @throws \SebastianBergmann\CodeCoverage\InvalidArgumentException - */ - private function applyIgnoredLinesFilter(array &$data): void - { - foreach (\array_keys($data) as $filename) { - if (!$this->filter->isFile($filename)) { - continue; - } - - foreach ($this->getLinesToBeIgnored($filename) as $line) { - unset($data[$filename][$line]); - } - } - } - - private function initializeFilesThatAreSeenTheFirstTime(array $data): void - { - foreach ($data as $file => $lines) { - if (!isset($this->data[$file]) && $this->filter->isFile($file)) { - $this->data[$file] = []; - - foreach ($lines as $k => $v) { - $this->data[$file][$k] = $v === -2 ? null : []; - } - } - } - } - - /** - * @throws CoveredCodeNotExecutedException - * @throws InvalidArgumentException - * @throws MissingCoversAnnotationException - * @throws RuntimeException - * @throws UnintentionallyCoveredCodeException - * @throws \ReflectionException - */ - private function addUncoveredFilesFromWhitelist(): void - { - $data = []; - $uncoveredFiles = \array_diff( - $this->filter->getWhitelist(), - \array_keys($this->data) - ); - - foreach ($uncoveredFiles as $uncoveredFile) { - if (!\file_exists($uncoveredFile)) { - continue; - } - - $data[$uncoveredFile] = []; - - $lines = \count(\file($uncoveredFile)); - - for ($i = 1; $i <= $lines; $i++) { - $data[$uncoveredFile][$i] = Driver::LINE_NOT_EXECUTED; - } - } - - $this->append($data, 'UNCOVERED_FILES_FROM_WHITELIST'); - } - - private function getLinesToBeIgnored(string $fileName): array - { - if (isset($this->ignoredLines[$fileName])) { - return $this->ignoredLines[$fileName]; - } - - try { - return $this->getLinesToBeIgnoredInner($fileName); - } catch (\OutOfBoundsException $e) { - // This can happen with PHP_Token_Stream if the file is syntactically invalid, - // and probably affects a file that wasn't executed. - return []; - } - } - - private function getLinesToBeIgnoredInner(string $fileName): array - { - $this->ignoredLines[$fileName] = []; - - $lines = \file($fileName); - - foreach ($lines as $index => $line) { - if (!\trim($line)) { - $this->ignoredLines[$fileName][] = $index + 1; - } - } - - if ($this->cacheTokens) { - $tokens = \PHP_Token_Stream_CachingFactory::get($fileName); - } else { - $tokens = new \PHP_Token_Stream($fileName); - } - - foreach ($tokens->getInterfaces() as $interface) { - $interfaceStartLine = $interface['startLine']; - $interfaceEndLine = $interface['endLine']; - - foreach (\range($interfaceStartLine, $interfaceEndLine) as $line) { - $this->ignoredLines[$fileName][] = $line; - } - } - - foreach (\array_merge($tokens->getClasses(), $tokens->getTraits()) as $classOrTrait) { - $classOrTraitStartLine = $classOrTrait['startLine']; - $classOrTraitEndLine = $classOrTrait['endLine']; - - if (empty($classOrTrait['methods'])) { - foreach (\range($classOrTraitStartLine, $classOrTraitEndLine) as $line) { - $this->ignoredLines[$fileName][] = $line; - } - - continue; - } - - $firstMethod = \array_shift($classOrTrait['methods']); - $firstMethodStartLine = $firstMethod['startLine']; - $firstMethodEndLine = $firstMethod['endLine']; - $lastMethodEndLine = $firstMethodEndLine; - - do { - $lastMethod = \array_pop($classOrTrait['methods']); - } while ($lastMethod !== null && 0 === \strpos($lastMethod['signature'], 'anonymousFunction')); - - if ($lastMethod !== null) { - $lastMethodEndLine = $lastMethod['endLine']; - } - - foreach (\range($classOrTraitStartLine, $firstMethodStartLine) as $line) { - $this->ignoredLines[$fileName][] = $line; - } - - foreach (\range($lastMethodEndLine + 1, $classOrTraitEndLine) as $line) { - $this->ignoredLines[$fileName][] = $line; - } - } - - if ($this->disableIgnoredLines) { - $this->ignoredLines[$fileName] = \array_unique($this->ignoredLines[$fileName]); - \sort($this->ignoredLines[$fileName]); - - return $this->ignoredLines[$fileName]; - } - - $ignore = false; - $stop = false; - - foreach ($tokens->tokens() as $token) { - switch (\get_class($token)) { - case \PHP_Token_COMMENT::class: - case \PHP_Token_DOC_COMMENT::class: - $_token = \trim($token); - $_line = \trim($lines[$token->getLine() - 1]); - - if ($_token === '// @codeCoverageIgnore' || - $_token === '//@codeCoverageIgnore') { - $ignore = true; - $stop = true; - } elseif ($_token === '// @codeCoverageIgnoreStart' || - $_token === '//@codeCoverageIgnoreStart') { - $ignore = true; - } elseif ($_token === '// @codeCoverageIgnoreEnd' || - $_token === '//@codeCoverageIgnoreEnd') { - $stop = true; - } - - if (!$ignore) { - $start = $token->getLine(); - $end = $start + \substr_count($token, "\n"); - - // Do not ignore the first line when there is a token - // before the comment - if (0 !== \strpos($_token, $_line)) { - $start++; - } - - for ($i = $start; $i < $end; $i++) { - $this->ignoredLines[$fileName][] = $i; - } - - // A DOC_COMMENT token or a COMMENT token starting with "/*" - // does not contain the final \n character in its text - if (isset($lines[$i - 1]) && 0 === \strpos($_token, '/*') && '*/' === \substr(\trim($lines[$i - 1]), -2)) { - $this->ignoredLines[$fileName][] = $i; - } - } - - break; - - case \PHP_Token_INTERFACE::class: - case \PHP_Token_TRAIT::class: - case \PHP_Token_CLASS::class: - case \PHP_Token_FUNCTION::class: - /* @var \PHP_Token_Interface $token */ - - $docblock = $token->getDocblock(); - - $this->ignoredLines[$fileName][] = $token->getLine(); - - if (\strpos($docblock, '@codeCoverageIgnore') || ($this->ignoreDeprecatedCode && \strpos($docblock, '@deprecated'))) { - $endLine = $token->getEndLine(); - - for ($i = $token->getLine(); $i <= $endLine; $i++) { - $this->ignoredLines[$fileName][] = $i; - } - } - - break; - - /* @noinspection PhpMissingBreakStatementInspection */ - case \PHP_Token_NAMESPACE::class: - $this->ignoredLines[$fileName][] = $token->getEndLine(); - - // Intentional fallthrough - case \PHP_Token_DECLARE::class: - case \PHP_Token_OPEN_TAG::class: - case \PHP_Token_CLOSE_TAG::class: - case \PHP_Token_USE::class: - $this->ignoredLines[$fileName][] = $token->getLine(); - - break; - } - - if ($ignore) { - $this->ignoredLines[$fileName][] = $token->getLine(); - - if ($stop) { - $ignore = false; - $stop = false; - } - } - } - - $this->ignoredLines[$fileName][] = \count($lines) + 1; - - $this->ignoredLines[$fileName] = \array_unique( - $this->ignoredLines[$fileName] - ); - - $this->ignoredLines[$fileName] = \array_unique($this->ignoredLines[$fileName]); - \sort($this->ignoredLines[$fileName]); - - return $this->ignoredLines[$fileName]; - } - - /** - * @throws \ReflectionException - * @throws UnintentionallyCoveredCodeException - */ - private function performUnintentionallyCoveredCodeCheck(array &$data, array $linesToBeCovered, array $linesToBeUsed): void - { - $allowedLines = $this->getAllowedLines( - $linesToBeCovered, - $linesToBeUsed - ); - - $unintentionallyCoveredUnits = []; - - foreach ($data as $file => $_data) { - foreach ($_data as $line => $flag) { - if ($flag === 1 && !isset($allowedLines[$file][$line])) { - $unintentionallyCoveredUnits[] = $this->wizard->lookup($file, $line); - } - } - } - - $unintentionallyCoveredUnits = $this->processUnintentionallyCoveredUnits($unintentionallyCoveredUnits); - - if (!empty($unintentionallyCoveredUnits)) { - throw new UnintentionallyCoveredCodeException( - $unintentionallyCoveredUnits - ); - } - } - - /** - * @throws CoveredCodeNotExecutedException - */ - private function performUnexecutedCoveredCodeCheck(array &$data, array $linesToBeCovered, array $linesToBeUsed): void - { - $executedCodeUnits = $this->coverageToCodeUnits($data); - $message = ''; - - foreach ($this->linesToCodeUnits($linesToBeCovered) as $codeUnit) { - if (!\in_array($codeUnit, $executedCodeUnits)) { - $message .= \sprintf( - '- %s is expected to be executed (@covers) but was not executed' . "\n", - $codeUnit - ); - } - } - - foreach ($this->linesToCodeUnits($linesToBeUsed) as $codeUnit) { - if (!\in_array($codeUnit, $executedCodeUnits)) { - $message .= \sprintf( - '- %s is expected to be executed (@uses) but was not executed' . "\n", - $codeUnit - ); - } - } - - if (!empty($message)) { - throw new CoveredCodeNotExecutedException($message); - } - } - - private function getAllowedLines(array $linesToBeCovered, array $linesToBeUsed): array - { - $allowedLines = []; - - foreach (\array_keys($linesToBeCovered) as $file) { - if (!isset($allowedLines[$file])) { - $allowedLines[$file] = []; - } - - $allowedLines[$file] = \array_merge( - $allowedLines[$file], - $linesToBeCovered[$file] - ); - } - - foreach (\array_keys($linesToBeUsed) as $file) { - if (!isset($allowedLines[$file])) { - $allowedLines[$file] = []; - } - - $allowedLines[$file] = \array_merge( - $allowedLines[$file], - $linesToBeUsed[$file] - ); - } - - foreach (\array_keys($allowedLines) as $file) { - $allowedLines[$file] = \array_flip( - \array_unique($allowedLines[$file]) - ); - } - - return $allowedLines; - } - - /** - * @throws RuntimeException - */ - private function selectDriver(Filter $filter): Driver - { - $runtime = new Runtime; - - if (!$runtime->canCollectCodeCoverage()) { - throw new RuntimeException('No code coverage driver available'); - } - - if ($runtime->isPHPDBG()) { - return new PHPDBG; - } - - if ($runtime->hasXdebug()) { - return new Xdebug($filter); - } - - throw new RuntimeException('No code coverage driver available'); - } - - private function processUnintentionallyCoveredUnits(array $unintentionallyCoveredUnits): array - { - $unintentionallyCoveredUnits = \array_unique($unintentionallyCoveredUnits); - \sort($unintentionallyCoveredUnits); - - foreach (\array_keys($unintentionallyCoveredUnits) as $k => $v) { - $unit = \explode('::', $unintentionallyCoveredUnits[$k]); - - if (\count($unit) !== 2) { - continue; - } - - $class = new \ReflectionClass($unit[0]); - - foreach ($this->unintentionallyCoveredSubclassesWhitelist as $whitelisted) { - if ($class->isSubclassOf($whitelisted)) { - unset($unintentionallyCoveredUnits[$k]); - - break; - } - } - } - - return \array_values($unintentionallyCoveredUnits); - } - - /** - * @throws CoveredCodeNotExecutedException - * @throws InvalidArgumentException - * @throws MissingCoversAnnotationException - * @throws RuntimeException - * @throws UnintentionallyCoveredCodeException - * @throws \ReflectionException - */ - private function initializeData(): void - { - $this->isInitialized = true; - - if ($this->processUncoveredFilesFromWhitelist) { - $this->shouldCheckForDeadAndUnused = false; - - $this->driver->start(); - - foreach ($this->filter->getWhitelist() as $file) { - if ($this->filter->isFile($file)) { - include_once $file; - } - } - - $data = []; - $coverage = $this->driver->stop(); - - foreach ($coverage as $file => $fileCoverage) { - if ($this->filter->isFiltered($file)) { - continue; - } - - foreach (\array_keys($fileCoverage) as $key) { - if ($fileCoverage[$key] === Driver::LINE_EXECUTED) { - $fileCoverage[$key] = Driver::LINE_NOT_EXECUTED; - } - } - - $data[$file] = $fileCoverage; - } - - $this->append($data, 'UNCOVERED_FILES_FROM_WHITELIST'); - } - } - - private function coverageToCodeUnits(array $data): array - { - $codeUnits = []; - - foreach ($data as $filename => $lines) { - foreach ($lines as $line => $flag) { - if ($flag === 1) { - $codeUnits[] = $this->wizard->lookup($filename, $line); - } - } - } - - return \array_unique($codeUnits); - } - - private function linesToCodeUnits(array $data): array - { - $codeUnits = []; - - foreach ($data as $filename => $lines) { - foreach ($lines as $line) { - $codeUnits[] = $this->wizard->lookup($filename, $line); - } - } - - return \array_unique($codeUnits); - } -} diff --git a/paragonik-backend/vendor/phpunit/php-code-coverage/src/Driver/Driver.php b/paragonik-backend/vendor/phpunit/php-code-coverage/src/Driver/Driver.php deleted file mode 100644 index 3841996..0000000 --- a/paragonik-backend/vendor/phpunit/php-code-coverage/src/Driver/Driver.php +++ /dev/null @@ -1,47 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace SebastianBergmann\CodeCoverage\Driver; - -/** - * Interface for code coverage drivers. - */ -interface Driver -{ - /** - * @var int - * - * @see http://xdebug.org/docs/code_coverage - */ - public const LINE_EXECUTED = 1; - - /** - * @var int - * - * @see http://xdebug.org/docs/code_coverage - */ - public const LINE_NOT_EXECUTED = -1; - - /** - * @var int - * - * @see http://xdebug.org/docs/code_coverage - */ - public const LINE_NOT_EXECUTABLE = -2; - - /** - * Start collection of code coverage information. - */ - public function start(bool $determineUnusedAndDead = true): void; - - /** - * Stop collection of code coverage information. - */ - public function stop(): array; -} diff --git a/paragonik-backend/vendor/phpunit/php-code-coverage/src/Driver/PHPDBG.php b/paragonik-backend/vendor/phpunit/php-code-coverage/src/Driver/PHPDBG.php deleted file mode 100644 index a26267b..0000000 --- a/paragonik-backend/vendor/phpunit/php-code-coverage/src/Driver/PHPDBG.php +++ /dev/null @@ -1,96 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace SebastianBergmann\CodeCoverage\Driver; - -use SebastianBergmann\CodeCoverage\RuntimeException; - -/** - * Driver for PHPDBG's code coverage functionality. - * - * @codeCoverageIgnore - */ -final class PHPDBG implements Driver -{ - /** - * @throws RuntimeException - */ - public function __construct() - { - if (\PHP_SAPI !== 'phpdbg') { - throw new RuntimeException( - 'This driver requires the PHPDBG SAPI' - ); - } - - if (!\function_exists('phpdbg_start_oplog')) { - throw new RuntimeException( - 'This build of PHPDBG does not support code coverage' - ); - } - } - - /** - * Start collection of code coverage information. - */ - public function start(bool $determineUnusedAndDead = true): void - { - \phpdbg_start_oplog(); - } - - /** - * Stop collection of code coverage information. - */ - public function stop(): array - { - static $fetchedLines = []; - - $dbgData = \phpdbg_end_oplog(); - - if ($fetchedLines == []) { - $sourceLines = \phpdbg_get_executable(); - } else { - $newFiles = \array_diff(\get_included_files(), \array_keys($fetchedLines)); - - $sourceLines = []; - - if ($newFiles) { - $sourceLines = phpdbg_get_executable(['files' => $newFiles]); - } - } - - foreach ($sourceLines as $file => $lines) { - foreach ($lines as $lineNo => $numExecuted) { - $sourceLines[$file][$lineNo] = self::LINE_NOT_EXECUTED; - } - } - - $fetchedLines = \array_merge($fetchedLines, $sourceLines); - - return $this->detectExecutedLines($fetchedLines, $dbgData); - } - - /** - * Convert phpdbg based data into the format CodeCoverage expects - */ - private function detectExecutedLines(array $sourceLines, array $dbgData): array - { - foreach ($dbgData as $file => $coveredLines) { - foreach ($coveredLines as $lineNo => $numExecuted) { - // phpdbg also reports $lineNo=0 when e.g. exceptions get thrown. - // make sure we only mark lines executed which are actually executable. - if (isset($sourceLines[$file][$lineNo])) { - $sourceLines[$file][$lineNo] = self::LINE_EXECUTED; - } - } - } - - return $sourceLines; - } -} diff --git a/paragonik-backend/vendor/phpunit/php-code-coverage/src/Driver/Xdebug.php b/paragonik-backend/vendor/phpunit/php-code-coverage/src/Driver/Xdebug.php deleted file mode 100644 index 8c11f88..0000000 --- a/paragonik-backend/vendor/phpunit/php-code-coverage/src/Driver/Xdebug.php +++ /dev/null @@ -1,112 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace SebastianBergmann\CodeCoverage\Driver; - -use SebastianBergmann\CodeCoverage\Filter; -use SebastianBergmann\CodeCoverage\RuntimeException; - -/** - * Driver for Xdebug's code coverage functionality. - * - * @codeCoverageIgnore - */ -final class Xdebug implements Driver -{ - /** - * @var array - */ - private $cacheNumLines = []; - - /** - * @var Filter - */ - private $filter; - - /** - * @throws RuntimeException - */ - public function __construct(Filter $filter = null) - { - if (!\extension_loaded('xdebug')) { - throw new RuntimeException('This driver requires Xdebug'); - } - - if (!\ini_get('xdebug.coverage_enable')) { - throw new RuntimeException('xdebug.coverage_enable=On has to be set in php.ini'); - } - - if ($filter === null) { - $filter = new Filter; - } - - $this->filter = $filter; - } - - /** - * Start collection of code coverage information. - */ - public function start(bool $determineUnusedAndDead = true): void - { - if ($determineUnusedAndDead) { - \xdebug_start_code_coverage(XDEBUG_CC_UNUSED | XDEBUG_CC_DEAD_CODE); - } else { - \xdebug_start_code_coverage(); - } - } - - /** - * Stop collection of code coverage information. - */ - public function stop(): array - { - $data = \xdebug_get_code_coverage(); - - \xdebug_stop_code_coverage(); - - return $this->cleanup($data); - } - - private function cleanup(array $data): array - { - foreach (\array_keys($data) as $file) { - unset($data[$file][0]); - - if (!$this->filter->isFile($file)) { - continue; - } - - $numLines = $this->getNumberOfLinesInFile($file); - - foreach (\array_keys($data[$file]) as $line) { - if ($line > $numLines) { - unset($data[$file][$line]); - } - } - } - - return $data; - } - - private function getNumberOfLinesInFile(string $fileName): int - { - if (!isset($this->cacheNumLines[$fileName])) { - $buffer = \file_get_contents($fileName); - $lines = \substr_count($buffer, "\n"); - - if (\substr($buffer, -1) !== "\n") { - $lines++; - } - - $this->cacheNumLines[$fileName] = $lines; - } - - return $this->cacheNumLines[$fileName]; - } -} diff --git a/paragonik-backend/vendor/phpunit/php-code-coverage/src/Exception/CoveredCodeNotExecutedException.php b/paragonik-backend/vendor/phpunit/php-code-coverage/src/Exception/CoveredCodeNotExecutedException.php deleted file mode 100644 index 7cd14ae..0000000 --- a/paragonik-backend/vendor/phpunit/php-code-coverage/src/Exception/CoveredCodeNotExecutedException.php +++ /dev/null @@ -1,17 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace SebastianBergmann\CodeCoverage; - -/** - * Exception that is raised when covered code is not executed. - */ -final class CoveredCodeNotExecutedException extends RuntimeException -{ -} diff --git a/paragonik-backend/vendor/phpunit/php-code-coverage/src/Exception/Exception.php b/paragonik-backend/vendor/phpunit/php-code-coverage/src/Exception/Exception.php deleted file mode 100644 index 155e7db..0000000 --- a/paragonik-backend/vendor/phpunit/php-code-coverage/src/Exception/Exception.php +++ /dev/null @@ -1,17 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace SebastianBergmann\CodeCoverage; - -/** - * Exception interface for php-code-coverage component. - */ -interface Exception -{ -} diff --git a/paragonik-backend/vendor/phpunit/php-code-coverage/src/Exception/InvalidArgumentException.php b/paragonik-backend/vendor/phpunit/php-code-coverage/src/Exception/InvalidArgumentException.php deleted file mode 100644 index cc4defe..0000000 --- a/paragonik-backend/vendor/phpunit/php-code-coverage/src/Exception/InvalidArgumentException.php +++ /dev/null @@ -1,36 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace SebastianBergmann\CodeCoverage; - -final class InvalidArgumentException extends \InvalidArgumentException implements Exception -{ - /** - * @param int $argument - * @param string $type - * @param null|mixed $value - * - * @return InvalidArgumentException - */ - public static function create($argument, $type, $value = null): self - { - $stack = \debug_backtrace(0); - - return new self( - \sprintf( - 'Argument #%d%sof %s::%s() must be a %s', - $argument, - $value !== null ? ' (' . \gettype($value) . '#' . $value . ')' : ' (No Value) ', - $stack[1]['class'], - $stack[1]['function'], - $type - ) - ); - } -} diff --git a/paragonik-backend/vendor/phpunit/php-code-coverage/src/Exception/MissingCoversAnnotationException.php b/paragonik-backend/vendor/phpunit/php-code-coverage/src/Exception/MissingCoversAnnotationException.php deleted file mode 100644 index 1f8edbb..0000000 --- a/paragonik-backend/vendor/phpunit/php-code-coverage/src/Exception/MissingCoversAnnotationException.php +++ /dev/null @@ -1,17 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace SebastianBergmann\CodeCoverage; - -/** - * Exception that is raised when @covers must be used but is not. - */ -final class MissingCoversAnnotationException extends RuntimeException -{ -} diff --git a/paragonik-backend/vendor/phpunit/php-code-coverage/src/Exception/RuntimeException.php b/paragonik-backend/vendor/phpunit/php-code-coverage/src/Exception/RuntimeException.php deleted file mode 100644 index fe0e434..0000000 --- a/paragonik-backend/vendor/phpunit/php-code-coverage/src/Exception/RuntimeException.php +++ /dev/null @@ -1,14 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace SebastianBergmann\CodeCoverage; - -class RuntimeException extends \RuntimeException implements Exception -{ -} diff --git a/paragonik-backend/vendor/phpunit/php-code-coverage/src/Exception/UnintentionallyCoveredCodeException.php b/paragonik-backend/vendor/phpunit/php-code-coverage/src/Exception/UnintentionallyCoveredCodeException.php deleted file mode 100644 index ae593bd..0000000 --- a/paragonik-backend/vendor/phpunit/php-code-coverage/src/Exception/UnintentionallyCoveredCodeException.php +++ /dev/null @@ -1,44 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace SebastianBergmann\CodeCoverage; - -/** - * Exception that is raised when code is unintentionally covered. - */ -final class UnintentionallyCoveredCodeException extends RuntimeException -{ - /** - * @var array - */ - private $unintentionallyCoveredUnits = []; - - public function __construct(array $unintentionallyCoveredUnits) - { - $this->unintentionallyCoveredUnits = $unintentionallyCoveredUnits; - - parent::__construct($this->toString()); - } - - public function getUnintentionallyCoveredUnits(): array - { - return $this->unintentionallyCoveredUnits; - } - - private function toString(): string - { - $message = ''; - - foreach ($this->unintentionallyCoveredUnits as $unit) { - $message .= '- ' . $unit . "\n"; - } - - return $message; - } -} diff --git a/paragonik-backend/vendor/phpunit/php-code-coverage/src/Filter.php b/paragonik-backend/vendor/phpunit/php-code-coverage/src/Filter.php deleted file mode 100644 index 631e22c..0000000 --- a/paragonik-backend/vendor/phpunit/php-code-coverage/src/Filter.php +++ /dev/null @@ -1,164 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace SebastianBergmann\CodeCoverage; - -use SebastianBergmann\FileIterator\Facade as FileIteratorFacade; - -/** - * Filter for whitelisting of code coverage information. - */ -final class Filter -{ - /** - * Source files that are whitelisted. - * - * @var array - */ - private $whitelistedFiles = []; - - /** - * Remembers the result of the `is_file()` calls. - * - * @var bool[] - */ - private $isFileCallsCache = []; - - /** - * Adds a directory to the whitelist (recursively). - */ - public function addDirectoryToWhitelist(string $directory, string $suffix = '.php', string $prefix = ''): void - { - $facade = new FileIteratorFacade; - $files = $facade->getFilesAsArray($directory, $suffix, $prefix); - - foreach ($files as $file) { - $this->addFileToWhitelist($file); - } - } - - /** - * Adds a file to the whitelist. - */ - public function addFileToWhitelist(string $filename): void - { - $this->whitelistedFiles[\realpath($filename)] = true; - } - - /** - * Adds files to the whitelist. - * - * @param string[] $files - */ - public function addFilesToWhitelist(array $files): void - { - foreach ($files as $file) { - $this->addFileToWhitelist($file); - } - } - - /** - * Removes a directory from the whitelist (recursively). - */ - public function removeDirectoryFromWhitelist(string $directory, string $suffix = '.php', string $prefix = ''): void - { - $facade = new FileIteratorFacade; - $files = $facade->getFilesAsArray($directory, $suffix, $prefix); - - foreach ($files as $file) { - $this->removeFileFromWhitelist($file); - } - } - - /** - * Removes a file from the whitelist. - */ - public function removeFileFromWhitelist(string $filename): void - { - $filename = \realpath($filename); - - unset($this->whitelistedFiles[$filename]); - } - - /** - * Checks whether a filename is a real filename. - */ - public function isFile(string $filename): bool - { - if (isset($this->isFileCallsCache[$filename])) { - return $this->isFileCallsCache[$filename]; - } - - if ($filename === '-' || - \strpos($filename, 'vfs://') === 0 || - \strpos($filename, 'xdebug://debug-eval') !== false || - \strpos($filename, 'eval()\'d code') !== false || - \strpos($filename, 'runtime-created function') !== false || - \strpos($filename, 'runkit created function') !== false || - \strpos($filename, 'assert code') !== false || - \strpos($filename, 'regexp code') !== false || - \strpos($filename, 'Standard input code') !== false) { - $isFile = false; - } else { - $isFile = \file_exists($filename); - } - - $this->isFileCallsCache[$filename] = $isFile; - - return $isFile; - } - - /** - * Checks whether or not a file is filtered. - */ - public function isFiltered(string $filename): bool - { - if (!$this->isFile($filename)) { - return true; - } - - return !isset($this->whitelistedFiles[$filename]); - } - - /** - * Returns the list of whitelisted files. - * - * @return string[] - */ - public function getWhitelist(): array - { - return \array_keys($this->whitelistedFiles); - } - - /** - * Returns whether this filter has a whitelist. - */ - public function hasWhitelist(): bool - { - return !empty($this->whitelistedFiles); - } - - /** - * Returns the whitelisted files. - * - * @return string[] - */ - public function getWhitelistedFiles(): array - { - return $this->whitelistedFiles; - } - - /** - * Sets the whitelisted files. - */ - public function setWhitelistedFiles(array $whitelistedFiles): void - { - $this->whitelistedFiles = $whitelistedFiles; - } -} diff --git a/paragonik-backend/vendor/phpunit/php-code-coverage/src/Node/AbstractNode.php b/paragonik-backend/vendor/phpunit/php-code-coverage/src/Node/AbstractNode.php deleted file mode 100644 index 5c89261..0000000 --- a/paragonik-backend/vendor/phpunit/php-code-coverage/src/Node/AbstractNode.php +++ /dev/null @@ -1,328 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace SebastianBergmann\CodeCoverage\Node; - -use SebastianBergmann\CodeCoverage\Util; - -/** - * Base class for nodes in the code coverage information tree. - */ -abstract class AbstractNode implements \Countable -{ - /** - * @var string - */ - private $name; - - /** - * @var string - */ - private $path; - - /** - * @var array - */ - private $pathArray; - - /** - * @var AbstractNode - */ - private $parent; - - /** - * @var string - */ - private $id; - - public function __construct(string $name, self $parent = null) - { - if (\substr($name, -1) == \DIRECTORY_SEPARATOR) { - $name = \substr($name, 0, -1); - } - - $this->name = $name; - $this->parent = $parent; - } - - public function getName(): string - { - return $this->name; - } - - public function getId(): string - { - if ($this->id === null) { - $parent = $this->getParent(); - - if ($parent === null) { - $this->id = 'index'; - } else { - $parentId = $parent->getId(); - - if ($parentId === 'index') { - $this->id = \str_replace(':', '_', $this->name); - } else { - $this->id = $parentId . '/' . $this->name; - } - } - } - - return $this->id; - } - - public function getPath(): string - { - if ($this->path === null) { - if ($this->parent === null || $this->parent->getPath() === null || $this->parent->getPath() === false) { - $this->path = $this->name; - } else { - $this->path = $this->parent->getPath() . \DIRECTORY_SEPARATOR . $this->name; - } - } - - return $this->path; - } - - public function getPathAsArray(): array - { - if ($this->pathArray === null) { - if ($this->parent === null) { - $this->pathArray = []; - } else { - $this->pathArray = $this->parent->getPathAsArray(); - } - - $this->pathArray[] = $this; - } - - return $this->pathArray; - } - - public function getParent(): ?self - { - return $this->parent; - } - - /** - * Returns the percentage of classes that has been tested. - * - * @return int|string - */ - public function getTestedClassesPercent(bool $asString = true) - { - return Util::percent( - $this->getNumTestedClasses(), - $this->getNumClasses(), - $asString - ); - } - - /** - * Returns the percentage of traits that has been tested. - * - * @return int|string - */ - public function getTestedTraitsPercent(bool $asString = true) - { - return Util::percent( - $this->getNumTestedTraits(), - $this->getNumTraits(), - $asString - ); - } - - /** - * Returns the percentage of classes and traits that has been tested. - * - * @return int|string - */ - public function getTestedClassesAndTraitsPercent(bool $asString = true) - { - return Util::percent( - $this->getNumTestedClassesAndTraits(), - $this->getNumClassesAndTraits(), - $asString - ); - } - - /** - * Returns the percentage of functions that has been tested. - * - * @return int|string - */ - public function getTestedFunctionsPercent(bool $asString = true) - { - return Util::percent( - $this->getNumTestedFunctions(), - $this->getNumFunctions(), - $asString - ); - } - - /** - * Returns the percentage of methods that has been tested. - * - * @return int|string - */ - public function getTestedMethodsPercent(bool $asString = true) - { - return Util::percent( - $this->getNumTestedMethods(), - $this->getNumMethods(), - $asString - ); - } - - /** - * Returns the percentage of functions and methods that has been tested. - * - * @return int|string - */ - public function getTestedFunctionsAndMethodsPercent(bool $asString = true) - { - return Util::percent( - $this->getNumTestedFunctionsAndMethods(), - $this->getNumFunctionsAndMethods(), - $asString - ); - } - - /** - * Returns the percentage of executed lines. - * - * @return int|string - */ - public function getLineExecutedPercent(bool $asString = true) - { - return Util::percent( - $this->getNumExecutedLines(), - $this->getNumExecutableLines(), - $asString - ); - } - - /** - * Returns the number of classes and traits. - */ - public function getNumClassesAndTraits(): int - { - return $this->getNumClasses() + $this->getNumTraits(); - } - - /** - * Returns the number of tested classes and traits. - */ - public function getNumTestedClassesAndTraits(): int - { - return $this->getNumTestedClasses() + $this->getNumTestedTraits(); - } - - /** - * Returns the classes and traits of this node. - */ - public function getClassesAndTraits(): array - { - return \array_merge($this->getClasses(), $this->getTraits()); - } - - /** - * Returns the number of functions and methods. - */ - public function getNumFunctionsAndMethods(): int - { - return $this->getNumFunctions() + $this->getNumMethods(); - } - - /** - * Returns the number of tested functions and methods. - */ - public function getNumTestedFunctionsAndMethods(): int - { - return $this->getNumTestedFunctions() + $this->getNumTestedMethods(); - } - - /** - * Returns the functions and methods of this node. - */ - public function getFunctionsAndMethods(): array - { - return \array_merge($this->getFunctions(), $this->getMethods()); - } - - /** - * Returns the classes of this node. - */ - abstract public function getClasses(): array; - - /** - * Returns the traits of this node. - */ - abstract public function getTraits(): array; - - /** - * Returns the functions of this node. - */ - abstract public function getFunctions(): array; - - /** - * Returns the LOC/CLOC/NCLOC of this node. - */ - abstract public function getLinesOfCode(): array; - - /** - * Returns the number of executable lines. - */ - abstract public function getNumExecutableLines(): int; - - /** - * Returns the number of executed lines. - */ - abstract public function getNumExecutedLines(): int; - - /** - * Returns the number of classes. - */ - abstract public function getNumClasses(): int; - - /** - * Returns the number of tested classes. - */ - abstract public function getNumTestedClasses(): int; - - /** - * Returns the number of traits. - */ - abstract public function getNumTraits(): int; - - /** - * Returns the number of tested traits. - */ - abstract public function getNumTestedTraits(): int; - - /** - * Returns the number of methods. - */ - abstract public function getNumMethods(): int; - - /** - * Returns the number of tested methods. - */ - abstract public function getNumTestedMethods(): int; - - /** - * Returns the number of functions. - */ - abstract public function getNumFunctions(): int; - - /** - * Returns the number of tested functions. - */ - abstract public function getNumTestedFunctions(): int; -} diff --git a/paragonik-backend/vendor/phpunit/php-code-coverage/src/Node/Builder.php b/paragonik-backend/vendor/phpunit/php-code-coverage/src/Node/Builder.php deleted file mode 100644 index 9e4ac24..0000000 --- a/paragonik-backend/vendor/phpunit/php-code-coverage/src/Node/Builder.php +++ /dev/null @@ -1,225 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace SebastianBergmann\CodeCoverage\Node; - -use SebastianBergmann\CodeCoverage\CodeCoverage; - -final class Builder -{ - public function build(CodeCoverage $coverage): Directory - { - $files = $coverage->getData(); - $commonPath = $this->reducePaths($files); - $root = new Directory( - $commonPath, - null - ); - - $this->addItems( - $root, - $this->buildDirectoryStructure($files), - $coverage->getTests(), - $coverage->getCacheTokens() - ); - - return $root; - } - - private function addItems(Directory $root, array $items, array $tests, bool $cacheTokens): void - { - foreach ($items as $key => $value) { - if (\substr($key, -2) == '/f') { - $key = \substr($key, 0, -2); - - if (\file_exists($root->getPath() . \DIRECTORY_SEPARATOR . $key)) { - $root->addFile($key, $value, $tests, $cacheTokens); - } - } else { - $child = $root->addDirectory($key); - $this->addItems($child, $value, $tests, $cacheTokens); - } - } - } - - /** - * Builds an array representation of the directory structure. - * - * For instance, - * - * - * Array - * ( - * [Money.php] => Array - * ( - * ... - * ) - * - * [MoneyBag.php] => Array - * ( - * ... - * ) - * ) - * - * - * is transformed into - * - * - * Array - * ( - * [.] => Array - * ( - * [Money.php] => Array - * ( - * ... - * ) - * - * [MoneyBag.php] => Array - * ( - * ... - * ) - * ) - * ) - * - */ - private function buildDirectoryStructure(array $files): array - { - $result = []; - - foreach ($files as $path => $file) { - $path = \explode(\DIRECTORY_SEPARATOR, $path); - $pointer = &$result; - $max = \count($path); - - for ($i = 0; $i < $max; $i++) { - $type = ''; - - if ($i == ($max - 1)) { - $type = '/f'; - } - - $pointer = &$pointer[$path[$i] . $type]; - } - - $pointer = $file; - } - - return $result; - } - - /** - * Reduces the paths by cutting the longest common start path. - * - * For instance, - * - * - * Array - * ( - * [/home/sb/Money/Money.php] => Array - * ( - * ... - * ) - * - * [/home/sb/Money/MoneyBag.php] => Array - * ( - * ... - * ) - * ) - * - * - * is reduced to - * - * - * Array - * ( - * [Money.php] => Array - * ( - * ... - * ) - * - * [MoneyBag.php] => Array - * ( - * ... - * ) - * ) - * - */ - private function reducePaths(array &$files): string - { - if (empty($files)) { - return '.'; - } - - $commonPath = ''; - $paths = \array_keys($files); - - if (\count($files) === 1) { - $commonPath = \dirname($paths[0]) . \DIRECTORY_SEPARATOR; - $files[\basename($paths[0])] = $files[$paths[0]]; - - unset($files[$paths[0]]); - - return $commonPath; - } - - $max = \count($paths); - - for ($i = 0; $i < $max; $i++) { - // strip phar:// prefixes - if (\strpos($paths[$i], 'phar://') === 0) { - $paths[$i] = \substr($paths[$i], 7); - $paths[$i] = \str_replace('/', \DIRECTORY_SEPARATOR, $paths[$i]); - } - $paths[$i] = \explode(\DIRECTORY_SEPARATOR, $paths[$i]); - - if (empty($paths[$i][0])) { - $paths[$i][0] = \DIRECTORY_SEPARATOR; - } - } - - $done = false; - $max = \count($paths); - - while (!$done) { - for ($i = 0; $i < $max - 1; $i++) { - if (!isset($paths[$i][0]) || - !isset($paths[$i + 1][0]) || - $paths[$i][0] != $paths[$i + 1][0]) { - $done = true; - - break; - } - } - - if (!$done) { - $commonPath .= $paths[0][0]; - - if ($paths[0][0] != \DIRECTORY_SEPARATOR) { - $commonPath .= \DIRECTORY_SEPARATOR; - } - - for ($i = 0; $i < $max; $i++) { - \array_shift($paths[$i]); - } - } - } - - $original = \array_keys($files); - $max = \count($original); - - for ($i = 0; $i < $max; $i++) { - $files[\implode(\DIRECTORY_SEPARATOR, $paths[$i])] = $files[$original[$i]]; - unset($files[$original[$i]]); - } - - \ksort($files); - - return \substr($commonPath, 0, -1); - } -} diff --git a/paragonik-backend/vendor/phpunit/php-code-coverage/src/Node/Directory.php b/paragonik-backend/vendor/phpunit/php-code-coverage/src/Node/Directory.php deleted file mode 100644 index a82b8ea..0000000 --- a/paragonik-backend/vendor/phpunit/php-code-coverage/src/Node/Directory.php +++ /dev/null @@ -1,427 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace SebastianBergmann\CodeCoverage\Node; - -use SebastianBergmann\CodeCoverage\InvalidArgumentException; - -/** - * Represents a directory in the code coverage information tree. - */ -final class Directory extends AbstractNode implements \IteratorAggregate -{ - /** - * @var AbstractNode[] - */ - private $children = []; - - /** - * @var Directory[] - */ - private $directories = []; - - /** - * @var File[] - */ - private $files = []; - - /** - * @var array - */ - private $classes; - - /** - * @var array - */ - private $traits; - - /** - * @var array - */ - private $functions; - - /** - * @var array - */ - private $linesOfCode; - - /** - * @var int - */ - private $numFiles = -1; - - /** - * @var int - */ - private $numExecutableLines = -1; - - /** - * @var int - */ - private $numExecutedLines = -1; - - /** - * @var int - */ - private $numClasses = -1; - - /** - * @var int - */ - private $numTestedClasses = -1; - - /** - * @var int - */ - private $numTraits = -1; - - /** - * @var int - */ - private $numTestedTraits = -1; - - /** - * @var int - */ - private $numMethods = -1; - - /** - * @var int - */ - private $numTestedMethods = -1; - - /** - * @var int - */ - private $numFunctions = -1; - - /** - * @var int - */ - private $numTestedFunctions = -1; - - /** - * Returns the number of files in/under this node. - */ - public function count(): int - { - if ($this->numFiles === -1) { - $this->numFiles = 0; - - foreach ($this->children as $child) { - $this->numFiles += \count($child); - } - } - - return $this->numFiles; - } - - /** - * Returns an iterator for this node. - */ - public function getIterator(): \RecursiveIteratorIterator - { - return new \RecursiveIteratorIterator( - new Iterator($this), - \RecursiveIteratorIterator::SELF_FIRST - ); - } - - /** - * Adds a new directory. - */ - public function addDirectory(string $name): self - { - $directory = new self($name, $this); - - $this->children[] = $directory; - $this->directories[] = &$this->children[\count($this->children) - 1]; - - return $directory; - } - - /** - * Adds a new file. - * - * @throws InvalidArgumentException - */ - public function addFile(string $name, array $coverageData, array $testData, bool $cacheTokens): File - { - $file = new File($name, $this, $coverageData, $testData, $cacheTokens); - - $this->children[] = $file; - $this->files[] = &$this->children[\count($this->children) - 1]; - - $this->numExecutableLines = -1; - $this->numExecutedLines = -1; - - return $file; - } - - /** - * Returns the directories in this directory. - */ - public function getDirectories(): array - { - return $this->directories; - } - - /** - * Returns the files in this directory. - */ - public function getFiles(): array - { - return $this->files; - } - - /** - * Returns the child nodes of this node. - */ - public function getChildNodes(): array - { - return $this->children; - } - - /** - * Returns the classes of this node. - */ - public function getClasses(): array - { - if ($this->classes === null) { - $this->classes = []; - - foreach ($this->children as $child) { - $this->classes = \array_merge( - $this->classes, - $child->getClasses() - ); - } - } - - return $this->classes; - } - - /** - * Returns the traits of this node. - */ - public function getTraits(): array - { - if ($this->traits === null) { - $this->traits = []; - - foreach ($this->children as $child) { - $this->traits = \array_merge( - $this->traits, - $child->getTraits() - ); - } - } - - return $this->traits; - } - - /** - * Returns the functions of this node. - */ - public function getFunctions(): array - { - if ($this->functions === null) { - $this->functions = []; - - foreach ($this->children as $child) { - $this->functions = \array_merge( - $this->functions, - $child->getFunctions() - ); - } - } - - return $this->functions; - } - - /** - * Returns the LOC/CLOC/NCLOC of this node. - */ - public function getLinesOfCode(): array - { - if ($this->linesOfCode === null) { - $this->linesOfCode = ['loc' => 0, 'cloc' => 0, 'ncloc' => 0]; - - foreach ($this->children as $child) { - $linesOfCode = $child->getLinesOfCode(); - - $this->linesOfCode['loc'] += $linesOfCode['loc']; - $this->linesOfCode['cloc'] += $linesOfCode['cloc']; - $this->linesOfCode['ncloc'] += $linesOfCode['ncloc']; - } - } - - return $this->linesOfCode; - } - - /** - * Returns the number of executable lines. - */ - public function getNumExecutableLines(): int - { - if ($this->numExecutableLines === -1) { - $this->numExecutableLines = 0; - - foreach ($this->children as $child) { - $this->numExecutableLines += $child->getNumExecutableLines(); - } - } - - return $this->numExecutableLines; - } - - /** - * Returns the number of executed lines. - */ - public function getNumExecutedLines(): int - { - if ($this->numExecutedLines === -1) { - $this->numExecutedLines = 0; - - foreach ($this->children as $child) { - $this->numExecutedLines += $child->getNumExecutedLines(); - } - } - - return $this->numExecutedLines; - } - - /** - * Returns the number of classes. - */ - public function getNumClasses(): int - { - if ($this->numClasses === -1) { - $this->numClasses = 0; - - foreach ($this->children as $child) { - $this->numClasses += $child->getNumClasses(); - } - } - - return $this->numClasses; - } - - /** - * Returns the number of tested classes. - */ - public function getNumTestedClasses(): int - { - if ($this->numTestedClasses === -1) { - $this->numTestedClasses = 0; - - foreach ($this->children as $child) { - $this->numTestedClasses += $child->getNumTestedClasses(); - } - } - - return $this->numTestedClasses; - } - - /** - * Returns the number of traits. - */ - public function getNumTraits(): int - { - if ($this->numTraits === -1) { - $this->numTraits = 0; - - foreach ($this->children as $child) { - $this->numTraits += $child->getNumTraits(); - } - } - - return $this->numTraits; - } - - /** - * Returns the number of tested traits. - */ - public function getNumTestedTraits(): int - { - if ($this->numTestedTraits === -1) { - $this->numTestedTraits = 0; - - foreach ($this->children as $child) { - $this->numTestedTraits += $child->getNumTestedTraits(); - } - } - - return $this->numTestedTraits; - } - - /** - * Returns the number of methods. - */ - public function getNumMethods(): int - { - if ($this->numMethods === -1) { - $this->numMethods = 0; - - foreach ($this->children as $child) { - $this->numMethods += $child->getNumMethods(); - } - } - - return $this->numMethods; - } - - /** - * Returns the number of tested methods. - */ - public function getNumTestedMethods(): int - { - if ($this->numTestedMethods === -1) { - $this->numTestedMethods = 0; - - foreach ($this->children as $child) { - $this->numTestedMethods += $child->getNumTestedMethods(); - } - } - - return $this->numTestedMethods; - } - - /** - * Returns the number of functions. - */ - public function getNumFunctions(): int - { - if ($this->numFunctions === -1) { - $this->numFunctions = 0; - - foreach ($this->children as $child) { - $this->numFunctions += $child->getNumFunctions(); - } - } - - return $this->numFunctions; - } - - /** - * Returns the number of tested functions. - */ - public function getNumTestedFunctions(): int - { - if ($this->numTestedFunctions === -1) { - $this->numTestedFunctions = 0; - - foreach ($this->children as $child) { - $this->numTestedFunctions += $child->getNumTestedFunctions(); - } - } - - return $this->numTestedFunctions; - } -} diff --git a/paragonik-backend/vendor/phpunit/php-code-coverage/src/Node/File.php b/paragonik-backend/vendor/phpunit/php-code-coverage/src/Node/File.php deleted file mode 100644 index 8355cda..0000000 --- a/paragonik-backend/vendor/phpunit/php-code-coverage/src/Node/File.php +++ /dev/null @@ -1,611 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace SebastianBergmann\CodeCoverage\Node; - -/** - * Represents a file in the code coverage information tree. - */ -final class File extends AbstractNode -{ - /** - * @var array - */ - private $coverageData; - - /** - * @var array - */ - private $testData; - - /** - * @var int - */ - private $numExecutableLines = 0; - - /** - * @var int - */ - private $numExecutedLines = 0; - - /** - * @var array - */ - private $classes = []; - - /** - * @var array - */ - private $traits = []; - - /** - * @var array - */ - private $functions = []; - - /** - * @var array - */ - private $linesOfCode = []; - - /** - * @var int - */ - private $numClasses; - - /** - * @var int - */ - private $numTestedClasses = 0; - - /** - * @var int - */ - private $numTraits; - - /** - * @var int - */ - private $numTestedTraits = 0; - - /** - * @var int - */ - private $numMethods; - - /** - * @var int - */ - private $numTestedMethods; - - /** - * @var int - */ - private $numTestedFunctions; - - /** - * @var bool - */ - private $cacheTokens; - - /** - * @var array - */ - private $codeUnitsByLine = []; - - public function __construct(string $name, AbstractNode $parent, array $coverageData, array $testData, bool $cacheTokens) - { - parent::__construct($name, $parent); - - $this->coverageData = $coverageData; - $this->testData = $testData; - $this->cacheTokens = $cacheTokens; - - $this->calculateStatistics(); - } - - /** - * Returns the number of files in/under this node. - */ - public function count(): int - { - return 1; - } - - /** - * Returns the code coverage data of this node. - */ - public function getCoverageData(): array - { - return $this->coverageData; - } - - /** - * Returns the test data of this node. - */ - public function getTestData(): array - { - return $this->testData; - } - - /** - * Returns the classes of this node. - */ - public function getClasses(): array - { - return $this->classes; - } - - /** - * Returns the traits of this node. - */ - public function getTraits(): array - { - return $this->traits; - } - - /** - * Returns the functions of this node. - */ - public function getFunctions(): array - { - return $this->functions; - } - - /** - * Returns the LOC/CLOC/NCLOC of this node. - */ - public function getLinesOfCode(): array - { - return $this->linesOfCode; - } - - /** - * Returns the number of executable lines. - */ - public function getNumExecutableLines(): int - { - return $this->numExecutableLines; - } - - /** - * Returns the number of executed lines. - */ - public function getNumExecutedLines(): int - { - return $this->numExecutedLines; - } - - /** - * Returns the number of classes. - */ - public function getNumClasses(): int - { - if ($this->numClasses === null) { - $this->numClasses = 0; - - foreach ($this->classes as $class) { - foreach ($class['methods'] as $method) { - if ($method['executableLines'] > 0) { - $this->numClasses++; - - continue 2; - } - } - } - } - - return $this->numClasses; - } - - /** - * Returns the number of tested classes. - */ - public function getNumTestedClasses(): int - { - return $this->numTestedClasses; - } - - /** - * Returns the number of traits. - */ - public function getNumTraits(): int - { - if ($this->numTraits === null) { - $this->numTraits = 0; - - foreach ($this->traits as $trait) { - foreach ($trait['methods'] as $method) { - if ($method['executableLines'] > 0) { - $this->numTraits++; - - continue 2; - } - } - } - } - - return $this->numTraits; - } - - /** - * Returns the number of tested traits. - */ - public function getNumTestedTraits(): int - { - return $this->numTestedTraits; - } - - /** - * Returns the number of methods. - */ - public function getNumMethods(): int - { - if ($this->numMethods === null) { - $this->numMethods = 0; - - foreach ($this->classes as $class) { - foreach ($class['methods'] as $method) { - if ($method['executableLines'] > 0) { - $this->numMethods++; - } - } - } - - foreach ($this->traits as $trait) { - foreach ($trait['methods'] as $method) { - if ($method['executableLines'] > 0) { - $this->numMethods++; - } - } - } - } - - return $this->numMethods; - } - - /** - * Returns the number of tested methods. - */ - public function getNumTestedMethods(): int - { - if ($this->numTestedMethods === null) { - $this->numTestedMethods = 0; - - foreach ($this->classes as $class) { - foreach ($class['methods'] as $method) { - if ($method['executableLines'] > 0 && - $method['coverage'] === 100) { - $this->numTestedMethods++; - } - } - } - - foreach ($this->traits as $trait) { - foreach ($trait['methods'] as $method) { - if ($method['executableLines'] > 0 && - $method['coverage'] === 100) { - $this->numTestedMethods++; - } - } - } - } - - return $this->numTestedMethods; - } - - /** - * Returns the number of functions. - */ - public function getNumFunctions(): int - { - return \count($this->functions); - } - - /** - * Returns the number of tested functions. - */ - public function getNumTestedFunctions(): int - { - if ($this->numTestedFunctions === null) { - $this->numTestedFunctions = 0; - - foreach ($this->functions as $function) { - if ($function['executableLines'] > 0 && - $function['coverage'] === 100) { - $this->numTestedFunctions++; - } - } - } - - return $this->numTestedFunctions; - } - - private function calculateStatistics(): void - { - if ($this->cacheTokens) { - $tokens = \PHP_Token_Stream_CachingFactory::get($this->getPath()); - } else { - $tokens = new \PHP_Token_Stream($this->getPath()); - } - - $this->linesOfCode = $tokens->getLinesOfCode(); - - foreach (\range(1, $this->linesOfCode['loc']) as $lineNumber) { - $this->codeUnitsByLine[$lineNumber] = []; - } - - try { - $this->processClasses($tokens); - $this->processTraits($tokens); - $this->processFunctions($tokens); - } catch (\OutOfBoundsException $e) { - // This can happen with PHP_Token_Stream if the file is syntactically invalid, - // and probably affects a file that wasn't executed. - } - unset($tokens); - - foreach (\range(1, $this->linesOfCode['loc']) as $lineNumber) { - if (isset($this->coverageData[$lineNumber])) { - foreach ($this->codeUnitsByLine[$lineNumber] as &$codeUnit) { - $codeUnit['executableLines']++; - } - - unset($codeUnit); - - $this->numExecutableLines++; - - if (\count($this->coverageData[$lineNumber]) > 0) { - foreach ($this->codeUnitsByLine[$lineNumber] as &$codeUnit) { - $codeUnit['executedLines']++; - } - - unset($codeUnit); - - $this->numExecutedLines++; - } - } - } - - foreach ($this->traits as &$trait) { - foreach ($trait['methods'] as &$method) { - if ($method['executableLines'] > 0) { - $method['coverage'] = ($method['executedLines'] / - $method['executableLines']) * 100; - } else { - $method['coverage'] = 100; - } - - $method['crap'] = $this->crap( - $method['ccn'], - $method['coverage'] - ); - - $trait['ccn'] += $method['ccn']; - } - - unset($method); - - if ($trait['executableLines'] > 0) { - $trait['coverage'] = ($trait['executedLines'] / - $trait['executableLines']) * 100; - - if ($trait['coverage'] === 100) { - $this->numTestedClasses++; - } - } else { - $trait['coverage'] = 100; - } - - $trait['crap'] = $this->crap( - $trait['ccn'], - $trait['coverage'] - ); - } - - unset($trait); - - foreach ($this->classes as &$class) { - foreach ($class['methods'] as &$method) { - if ($method['executableLines'] > 0) { - $method['coverage'] = ($method['executedLines'] / - $method['executableLines']) * 100; - } else { - $method['coverage'] = 100; - } - - $method['crap'] = $this->crap( - $method['ccn'], - $method['coverage'] - ); - - $class['ccn'] += $method['ccn']; - } - - unset($method); - - if ($class['executableLines'] > 0) { - $class['coverage'] = ($class['executedLines'] / - $class['executableLines']) * 100; - - if ($class['coverage'] === 100) { - $this->numTestedClasses++; - } - } else { - $class['coverage'] = 100; - } - - $class['crap'] = $this->crap( - $class['ccn'], - $class['coverage'] - ); - } - - unset($class); - - foreach ($this->functions as &$function) { - if ($function['executableLines'] > 0) { - $function['coverage'] = ($function['executedLines'] / - $function['executableLines']) * 100; - } else { - $function['coverage'] = 100; - } - - if ($function['coverage'] === 100) { - $this->numTestedFunctions++; - } - - $function['crap'] = $this->crap( - $function['ccn'], - $function['coverage'] - ); - } - } - - private function processClasses(\PHP_Token_Stream $tokens): void - { - $classes = $tokens->getClasses(); - $link = $this->getId() . '.html#'; - - foreach ($classes as $className => $class) { - if (\strpos($className, 'anonymous') === 0) { - continue; - } - - if (!empty($class['package']['namespace'])) { - $className = $class['package']['namespace'] . '\\' . $className; - } - - $this->classes[$className] = [ - 'className' => $className, - 'methods' => [], - 'startLine' => $class['startLine'], - 'executableLines' => 0, - 'executedLines' => 0, - 'ccn' => 0, - 'coverage' => 0, - 'crap' => 0, - 'package' => $class['package'], - 'link' => $link . $class['startLine'], - ]; - - foreach ($class['methods'] as $methodName => $method) { - if (\strpos($methodName, 'anonymous') === 0) { - continue; - } - - $this->classes[$className]['methods'][$methodName] = $this->newMethod($methodName, $method, $link); - - foreach (\range($method['startLine'], $method['endLine']) as $lineNumber) { - $this->codeUnitsByLine[$lineNumber] = [ - &$this->classes[$className], - &$this->classes[$className]['methods'][$methodName], - ]; - } - } - } - } - - private function processTraits(\PHP_Token_Stream $tokens): void - { - $traits = $tokens->getTraits(); - $link = $this->getId() . '.html#'; - - foreach ($traits as $traitName => $trait) { - $this->traits[$traitName] = [ - 'traitName' => $traitName, - 'methods' => [], - 'startLine' => $trait['startLine'], - 'executableLines' => 0, - 'executedLines' => 0, - 'ccn' => 0, - 'coverage' => 0, - 'crap' => 0, - 'package' => $trait['package'], - 'link' => $link . $trait['startLine'], - ]; - - foreach ($trait['methods'] as $methodName => $method) { - if (\strpos($methodName, 'anonymous') === 0) { - continue; - } - - $this->traits[$traitName]['methods'][$methodName] = $this->newMethod($methodName, $method, $link); - - foreach (\range($method['startLine'], $method['endLine']) as $lineNumber) { - $this->codeUnitsByLine[$lineNumber] = [ - &$this->traits[$traitName], - &$this->traits[$traitName]['methods'][$methodName], - ]; - } - } - } - } - - private function processFunctions(\PHP_Token_Stream $tokens): void - { - $functions = $tokens->getFunctions(); - $link = $this->getId() . '.html#'; - - foreach ($functions as $functionName => $function) { - if (\strpos($functionName, 'anonymous') === 0) { - continue; - } - - $this->functions[$functionName] = [ - 'functionName' => $functionName, - 'signature' => $function['signature'], - 'startLine' => $function['startLine'], - 'executableLines' => 0, - 'executedLines' => 0, - 'ccn' => $function['ccn'], - 'coverage' => 0, - 'crap' => 0, - 'link' => $link . $function['startLine'], - ]; - - foreach (\range($function['startLine'], $function['endLine']) as $lineNumber) { - $this->codeUnitsByLine[$lineNumber] = [&$this->functions[$functionName]]; - } - } - } - - private function crap(int $ccn, float $coverage): string - { - if ($coverage === 0) { - return (string) ($ccn ** 2 + $ccn); - } - - if ($coverage >= 95) { - return (string) $ccn; - } - - return \sprintf( - '%01.2F', - $ccn ** 2 * (1 - $coverage / 100) ** 3 + $ccn - ); - } - - private function newMethod(string $methodName, array $method, string $link): array - { - return [ - 'methodName' => $methodName, - 'visibility' => $method['visibility'], - 'signature' => $method['signature'], - 'startLine' => $method['startLine'], - 'endLine' => $method['endLine'], - 'executableLines' => 0, - 'executedLines' => 0, - 'ccn' => $method['ccn'], - 'coverage' => 0, - 'crap' => 0, - 'link' => $link . $method['startLine'], - ]; - } -} diff --git a/paragonik-backend/vendor/phpunit/php-code-coverage/src/Node/Iterator.php b/paragonik-backend/vendor/phpunit/php-code-coverage/src/Node/Iterator.php deleted file mode 100644 index 81af4f0..0000000 --- a/paragonik-backend/vendor/phpunit/php-code-coverage/src/Node/Iterator.php +++ /dev/null @@ -1,89 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace SebastianBergmann\CodeCoverage\Node; - -/** - * Recursive iterator for node object graphs. - */ -final class Iterator implements \RecursiveIterator -{ - /** - * @var int - */ - private $position; - - /** - * @var AbstractNode[] - */ - private $nodes; - - public function __construct(Directory $node) - { - $this->nodes = $node->getChildNodes(); - } - - /** - * Rewinds the Iterator to the first element. - */ - public function rewind(): void - { - $this->position = 0; - } - - /** - * Checks if there is a current element after calls to rewind() or next(). - */ - public function valid(): bool - { - return $this->position < \count($this->nodes); - } - - /** - * Returns the key of the current element. - */ - public function key(): int - { - return $this->position; - } - - /** - * Returns the current element. - */ - public function current(): AbstractNode - { - return $this->valid() ? $this->nodes[$this->position] : null; - } - - /** - * Moves forward to next element. - */ - public function next(): void - { - $this->position++; - } - - /** - * Returns the sub iterator for the current element. - * - * @return Iterator - */ - public function getChildren(): self - { - return new self($this->nodes[$this->position]); - } - - /** - * Checks whether the current element has children. - */ - public function hasChildren(): bool - { - return $this->nodes[$this->position] instanceof Directory; - } -} diff --git a/paragonik-backend/vendor/phpunit/php-code-coverage/src/Report/Clover.php b/paragonik-backend/vendor/phpunit/php-code-coverage/src/Report/Clover.php deleted file mode 100644 index 2b28e60..0000000 --- a/paragonik-backend/vendor/phpunit/php-code-coverage/src/Report/Clover.php +++ /dev/null @@ -1,258 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace SebastianBergmann\CodeCoverage\Report; - -use SebastianBergmann\CodeCoverage\CodeCoverage; -use SebastianBergmann\CodeCoverage\Node\File; -use SebastianBergmann\CodeCoverage\RuntimeException; - -/** - * Generates a Clover XML logfile from a code coverage object. - */ -final class Clover -{ - /** - * @throws \RuntimeException - */ - public function process(CodeCoverage $coverage, ?string $target = null, ?string $name = null): string - { - $xmlDocument = new \DOMDocument('1.0', 'UTF-8'); - $xmlDocument->formatOutput = true; - - $xmlCoverage = $xmlDocument->createElement('coverage'); - $xmlCoverage->setAttribute('generated', (int) $_SERVER['REQUEST_TIME']); - $xmlDocument->appendChild($xmlCoverage); - - $xmlProject = $xmlDocument->createElement('project'); - $xmlProject->setAttribute('timestamp', (int) $_SERVER['REQUEST_TIME']); - - if (\is_string($name)) { - $xmlProject->setAttribute('name', $name); - } - - $xmlCoverage->appendChild($xmlProject); - - $packages = []; - $report = $coverage->getReport(); - - foreach ($report as $item) { - if (!$item instanceof File) { - continue; - } - - /* @var File $item */ - - $xmlFile = $xmlDocument->createElement('file'); - $xmlFile->setAttribute('name', $item->getPath()); - - $classes = $item->getClassesAndTraits(); - $coverageData = $item->getCoverageData(); - $lines = []; - $namespace = 'global'; - - foreach ($classes as $className => $class) { - $classStatements = 0; - $coveredClassStatements = 0; - $coveredMethods = 0; - $classMethods = 0; - - foreach ($class['methods'] as $methodName => $method) { - if ($method['executableLines'] == 0) { - continue; - } - - $classMethods++; - $classStatements += $method['executableLines']; - $coveredClassStatements += $method['executedLines']; - - if ($method['coverage'] == 100) { - $coveredMethods++; - } - - $methodCount = 0; - - foreach (\range($method['startLine'], $method['endLine']) as $line) { - if (isset($coverageData[$line]) && ($coverageData[$line] !== null)) { - $methodCount = \max($methodCount, \count($coverageData[$line])); - } - } - - $lines[$method['startLine']] = [ - 'ccn' => $method['ccn'], - 'count' => $methodCount, - 'crap' => $method['crap'], - 'type' => 'method', - 'visibility' => $method['visibility'], - 'name' => $methodName, - ]; - } - - if (!empty($class['package']['namespace'])) { - $namespace = $class['package']['namespace']; - } - - $xmlClass = $xmlDocument->createElement('class'); - $xmlClass->setAttribute('name', $className); - $xmlClass->setAttribute('namespace', $namespace); - - if (!empty($class['package']['fullPackage'])) { - $xmlClass->setAttribute( - 'fullPackage', - $class['package']['fullPackage'] - ); - } - - if (!empty($class['package']['category'])) { - $xmlClass->setAttribute( - 'category', - $class['package']['category'] - ); - } - - if (!empty($class['package']['package'])) { - $xmlClass->setAttribute( - 'package', - $class['package']['package'] - ); - } - - if (!empty($class['package']['subpackage'])) { - $xmlClass->setAttribute( - 'subpackage', - $class['package']['subpackage'] - ); - } - - $xmlFile->appendChild($xmlClass); - - $xmlMetrics = $xmlDocument->createElement('metrics'); - $xmlMetrics->setAttribute('complexity', $class['ccn']); - $xmlMetrics->setAttribute('methods', $classMethods); - $xmlMetrics->setAttribute('coveredmethods', $coveredMethods); - $xmlMetrics->setAttribute('conditionals', 0); - $xmlMetrics->setAttribute('coveredconditionals', 0); - $xmlMetrics->setAttribute('statements', $classStatements); - $xmlMetrics->setAttribute('coveredstatements', $coveredClassStatements); - $xmlMetrics->setAttribute('elements', $classMethods + $classStatements /* + conditionals */); - $xmlMetrics->setAttribute('coveredelements', $coveredMethods + $coveredClassStatements /* + coveredconditionals */); - $xmlClass->appendChild($xmlMetrics); - } - - foreach ($coverageData as $line => $data) { - if ($data === null || isset($lines[$line])) { - continue; - } - - $lines[$line] = [ - 'count' => \count($data), 'type' => 'stmt', - ]; - } - - \ksort($lines); - - foreach ($lines as $line => $data) { - $xmlLine = $xmlDocument->createElement('line'); - $xmlLine->setAttribute('num', $line); - $xmlLine->setAttribute('type', $data['type']); - - if (isset($data['name'])) { - $xmlLine->setAttribute('name', $data['name']); - } - - if (isset($data['visibility'])) { - $xmlLine->setAttribute('visibility', $data['visibility']); - } - - if (isset($data['ccn'])) { - $xmlLine->setAttribute('complexity', $data['ccn']); - } - - if (isset($data['crap'])) { - $xmlLine->setAttribute('crap', $data['crap']); - } - - $xmlLine->setAttribute('count', $data['count']); - $xmlFile->appendChild($xmlLine); - } - - $linesOfCode = $item->getLinesOfCode(); - - $xmlMetrics = $xmlDocument->createElement('metrics'); - $xmlMetrics->setAttribute('loc', $linesOfCode['loc']); - $xmlMetrics->setAttribute('ncloc', $linesOfCode['ncloc']); - $xmlMetrics->setAttribute('classes', $item->getNumClassesAndTraits()); - $xmlMetrics->setAttribute('methods', $item->getNumMethods()); - $xmlMetrics->setAttribute('coveredmethods', $item->getNumTestedMethods()); - $xmlMetrics->setAttribute('conditionals', 0); - $xmlMetrics->setAttribute('coveredconditionals', 0); - $xmlMetrics->setAttribute('statements', $item->getNumExecutableLines()); - $xmlMetrics->setAttribute('coveredstatements', $item->getNumExecutedLines()); - $xmlMetrics->setAttribute('elements', $item->getNumMethods() + $item->getNumExecutableLines() /* + conditionals */); - $xmlMetrics->setAttribute('coveredelements', $item->getNumTestedMethods() + $item->getNumExecutedLines() /* + coveredconditionals */); - $xmlFile->appendChild($xmlMetrics); - - if ($namespace === 'global') { - $xmlProject->appendChild($xmlFile); - } else { - if (!isset($packages[$namespace])) { - $packages[$namespace] = $xmlDocument->createElement( - 'package' - ); - - $packages[$namespace]->setAttribute('name', $namespace); - $xmlProject->appendChild($packages[$namespace]); - } - - $packages[$namespace]->appendChild($xmlFile); - } - } - - $linesOfCode = $report->getLinesOfCode(); - - $xmlMetrics = $xmlDocument->createElement('metrics'); - $xmlMetrics->setAttribute('files', \count($report)); - $xmlMetrics->setAttribute('loc', $linesOfCode['loc']); - $xmlMetrics->setAttribute('ncloc', $linesOfCode['ncloc']); - $xmlMetrics->setAttribute('classes', $report->getNumClassesAndTraits()); - $xmlMetrics->setAttribute('methods', $report->getNumMethods()); - $xmlMetrics->setAttribute('coveredmethods', $report->getNumTestedMethods()); - $xmlMetrics->setAttribute('conditionals', 0); - $xmlMetrics->setAttribute('coveredconditionals', 0); - $xmlMetrics->setAttribute('statements', $report->getNumExecutableLines()); - $xmlMetrics->setAttribute('coveredstatements', $report->getNumExecutedLines()); - $xmlMetrics->setAttribute('elements', $report->getNumMethods() + $report->getNumExecutableLines() /* + conditionals */); - $xmlMetrics->setAttribute('coveredelements', $report->getNumTestedMethods() + $report->getNumExecutedLines() /* + coveredconditionals */); - $xmlProject->appendChild($xmlMetrics); - - $buffer = $xmlDocument->saveXML(); - - if ($target !== null) { - if (!$this->createDirectory(\dirname($target))) { - throw new \RuntimeException(\sprintf('Directory "%s" was not created', \dirname($target))); - } - - if (@\file_put_contents($target, $buffer) === false) { - throw new RuntimeException( - \sprintf( - 'Could not write to "%s', - $target - ) - ); - } - } - - return $buffer; - } - - private function createDirectory(string $directory): bool - { - return !(!\is_dir($directory) && !@\mkdir($directory, 0777, true) && !\is_dir($directory)); - } -} diff --git a/paragonik-backend/vendor/phpunit/php-code-coverage/src/Report/Crap4j.php b/paragonik-backend/vendor/phpunit/php-code-coverage/src/Report/Crap4j.php deleted file mode 100644 index bd3c397..0000000 --- a/paragonik-backend/vendor/phpunit/php-code-coverage/src/Report/Crap4j.php +++ /dev/null @@ -1,165 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace SebastianBergmann\CodeCoverage\Report; - -use SebastianBergmann\CodeCoverage\CodeCoverage; -use SebastianBergmann\CodeCoverage\Node\File; -use SebastianBergmann\CodeCoverage\RuntimeException; - -final class Crap4j -{ - /** - * @var int - */ - private $threshold; - - public function __construct(int $threshold = 30) - { - $this->threshold = $threshold; - } - - /** - * @throws \RuntimeException - */ - public function process(CodeCoverage $coverage, ?string $target = null, ?string $name = null): string - { - $document = new \DOMDocument('1.0', 'UTF-8'); - $document->formatOutput = true; - - $root = $document->createElement('crap_result'); - $document->appendChild($root); - - $project = $document->createElement('project', \is_string($name) ? $name : ''); - $root->appendChild($project); - $root->appendChild($document->createElement('timestamp', \date('Y-m-d H:i:s', (int) $_SERVER['REQUEST_TIME']))); - - $stats = $document->createElement('stats'); - $methodsNode = $document->createElement('methods'); - - $report = $coverage->getReport(); - unset($coverage); - - $fullMethodCount = 0; - $fullCrapMethodCount = 0; - $fullCrapLoad = 0; - $fullCrap = 0; - - foreach ($report as $item) { - $namespace = 'global'; - - if (!$item instanceof File) { - continue; - } - - $file = $document->createElement('file'); - $file->setAttribute('name', $item->getPath()); - - $classes = $item->getClassesAndTraits(); - - foreach ($classes as $className => $class) { - foreach ($class['methods'] as $methodName => $method) { - $crapLoad = $this->getCrapLoad($method['crap'], $method['ccn'], $method['coverage']); - - $fullCrap += $method['crap']; - $fullCrapLoad += $crapLoad; - $fullMethodCount++; - - if ($method['crap'] >= $this->threshold) { - $fullCrapMethodCount++; - } - - $methodNode = $document->createElement('method'); - - if (!empty($class['package']['namespace'])) { - $namespace = $class['package']['namespace']; - } - - $methodNode->appendChild($document->createElement('package', $namespace)); - $methodNode->appendChild($document->createElement('className', $className)); - $methodNode->appendChild($document->createElement('methodName', $methodName)); - $methodNode->appendChild($document->createElement('methodSignature', \htmlspecialchars($method['signature']))); - $methodNode->appendChild($document->createElement('fullMethod', \htmlspecialchars($method['signature']))); - $methodNode->appendChild($document->createElement('crap', $this->roundValue($method['crap']))); - $methodNode->appendChild($document->createElement('complexity', $method['ccn'])); - $methodNode->appendChild($document->createElement('coverage', $this->roundValue($method['coverage']))); - $methodNode->appendChild($document->createElement('crapLoad', \round($crapLoad))); - - $methodsNode->appendChild($methodNode); - } - } - } - - $stats->appendChild($document->createElement('name', 'Method Crap Stats')); - $stats->appendChild($document->createElement('methodCount', $fullMethodCount)); - $stats->appendChild($document->createElement('crapMethodCount', $fullCrapMethodCount)); - $stats->appendChild($document->createElement('crapLoad', \round($fullCrapLoad))); - $stats->appendChild($document->createElement('totalCrap', $fullCrap)); - - $crapMethodPercent = 0; - - if ($fullMethodCount > 0) { - $crapMethodPercent = $this->roundValue((100 * $fullCrapMethodCount) / $fullMethodCount); - } - - $stats->appendChild($document->createElement('crapMethodPercent', $crapMethodPercent)); - - $root->appendChild($stats); - $root->appendChild($methodsNode); - - $buffer = $document->saveXML(); - - if ($target !== null) { - if (!$this->createDirectory(\dirname($target))) { - throw new \RuntimeException(\sprintf('Directory "%s" was not created', \dirname($target))); - } - - if (@\file_put_contents($target, $buffer) === false) { - throw new RuntimeException( - \sprintf( - 'Could not write to "%s', - $target - ) - ); - } - } - - return $buffer; - } - - /** - * @param float $crapValue - * @param int $cyclomaticComplexity - * @param float $coveragePercent - */ - private function getCrapLoad($crapValue, $cyclomaticComplexity, $coveragePercent): float - { - $crapLoad = 0; - - if ($crapValue >= $this->threshold) { - $crapLoad += $cyclomaticComplexity * (1.0 - $coveragePercent / 100); - $crapLoad += $cyclomaticComplexity / $this->threshold; - } - - return $crapLoad; - } - - /** - * @param float $value - */ - private function roundValue($value): float - { - return \round($value, 2); - } - - private function createDirectory(string $directory): bool - { - return !(!\is_dir($directory) && !@\mkdir($directory, 0777, true) && !\is_dir($directory)); - } -} diff --git a/paragonik-backend/vendor/phpunit/php-code-coverage/src/Report/Html/Facade.php b/paragonik-backend/vendor/phpunit/php-code-coverage/src/Report/Html/Facade.php deleted file mode 100644 index 60441bc..0000000 --- a/paragonik-backend/vendor/phpunit/php-code-coverage/src/Report/Html/Facade.php +++ /dev/null @@ -1,167 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace SebastianBergmann\CodeCoverage\Report\Html; - -use SebastianBergmann\CodeCoverage\CodeCoverage; -use SebastianBergmann\CodeCoverage\Node\Directory as DirectoryNode; -use SebastianBergmann\CodeCoverage\RuntimeException; - -/** - * Generates an HTML report from a code coverage object. - */ -final class Facade -{ - /** - * @var string - */ - private $templatePath; - - /** - * @var string - */ - private $generator; - - /** - * @var int - */ - private $lowUpperBound; - - /** - * @var int - */ - private $highLowerBound; - - public function __construct(int $lowUpperBound = 50, int $highLowerBound = 90, string $generator = '') - { - $this->generator = $generator; - $this->highLowerBound = $highLowerBound; - $this->lowUpperBound = $lowUpperBound; - $this->templatePath = __DIR__ . '/Renderer/Template/'; - } - - /** - * @throws RuntimeException - * @throws \InvalidArgumentException - * @throws \RuntimeException - */ - public function process(CodeCoverage $coverage, string $target): void - { - $target = $this->getDirectory($target); - $report = $coverage->getReport(); - - if (!isset($_SERVER['REQUEST_TIME'])) { - $_SERVER['REQUEST_TIME'] = \time(); - } - - $date = \date('D M j G:i:s T Y', $_SERVER['REQUEST_TIME']); - - $dashboard = new Dashboard( - $this->templatePath, - $this->generator, - $date, - $this->lowUpperBound, - $this->highLowerBound - ); - - $directory = new Directory( - $this->templatePath, - $this->generator, - $date, - $this->lowUpperBound, - $this->highLowerBound - ); - - $file = new File( - $this->templatePath, - $this->generator, - $date, - $this->lowUpperBound, - $this->highLowerBound - ); - - $directory->render($report, $target . 'index.html'); - $dashboard->render($report, $target . 'dashboard.html'); - - foreach ($report as $node) { - $id = $node->getId(); - - if ($node instanceof DirectoryNode) { - if (!$this->createDirectory($target . $id)) { - throw new \RuntimeException(\sprintf('Directory "%s" was not created', $target . $id)); - } - - $directory->render($node, $target . $id . '/index.html'); - $dashboard->render($node, $target . $id . '/dashboard.html'); - } else { - $dir = \dirname($target . $id); - - if (!$this->createDirectory($dir)) { - throw new \RuntimeException(\sprintf('Directory "%s" was not created', $dir)); - } - - $file->render($node, $target . $id . '.html'); - } - } - - $this->copyFiles($target); - } - - /** - * @throws RuntimeException - */ - private function copyFiles(string $target): void - { - $dir = $this->getDirectory($target . '.css'); - - \copy($this->templatePath . 'css/bootstrap.min.css', $dir . 'bootstrap.min.css'); - \copy($this->templatePath . 'css/nv.d3.min.css', $dir . 'nv.d3.min.css'); - \copy($this->templatePath . 'css/style.css', $dir . 'style.css'); - \copy($this->templatePath . 'css/custom.css', $dir . 'custom.css'); - \copy($this->templatePath . 'css/octicons.css', $dir . 'octicons.css'); - - $dir = $this->getDirectory($target . '.icons'); - \copy($this->templatePath . 'icons/file-code.svg', $dir . 'file-code.svg'); - \copy($this->templatePath . 'icons/file-directory.svg', $dir . 'file-directory.svg'); - - $dir = $this->getDirectory($target . '.js'); - \copy($this->templatePath . 'js/bootstrap.min.js', $dir . 'bootstrap.min.js'); - \copy($this->templatePath . 'js/popper.min.js', $dir . 'popper.min.js'); - \copy($this->templatePath . 'js/d3.min.js', $dir . 'd3.min.js'); - \copy($this->templatePath . 'js/jquery.min.js', $dir . 'jquery.min.js'); - \copy($this->templatePath . 'js/nv.d3.min.js', $dir . 'nv.d3.min.js'); - \copy($this->templatePath . 'js/file.js', $dir . 'file.js'); - } - - /** - * @throws RuntimeException - */ - private function getDirectory(string $directory): string - { - if (\substr($directory, -1, 1) != \DIRECTORY_SEPARATOR) { - $directory .= \DIRECTORY_SEPARATOR; - } - - if (!$this->createDirectory($directory)) { - throw new RuntimeException( - \sprintf( - 'Directory "%s" does not exist.', - $directory - ) - ); - } - - return $directory; - } - - private function createDirectory(string $directory): bool - { - return !(!\is_dir($directory) && !@\mkdir($directory, 0777, true) && !\is_dir($directory)); - } -} diff --git a/paragonik-backend/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer.php b/paragonik-backend/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer.php deleted file mode 100644 index b39ff4c..0000000 --- a/paragonik-backend/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer.php +++ /dev/null @@ -1,270 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace SebastianBergmann\CodeCoverage\Report\Html; - -use SebastianBergmann\CodeCoverage\Node\AbstractNode; -use SebastianBergmann\CodeCoverage\Node\Directory as DirectoryNode; -use SebastianBergmann\CodeCoverage\Node\File as FileNode; -use SebastianBergmann\CodeCoverage\Version; -use SebastianBergmann\Environment\Runtime; - -/** - * Base class for node renderers. - */ -abstract class Renderer -{ - /** - * @var string - */ - protected $templatePath; - - /** - * @var string - */ - protected $generator; - - /** - * @var string - */ - protected $date; - - /** - * @var int - */ - protected $lowUpperBound; - - /** - * @var int - */ - protected $highLowerBound; - - /** - * @var string - */ - protected $version; - - public function __construct(string $templatePath, string $generator, string $date, int $lowUpperBound, int $highLowerBound) - { - $this->templatePath = $templatePath; - $this->generator = $generator; - $this->date = $date; - $this->lowUpperBound = $lowUpperBound; - $this->highLowerBound = $highLowerBound; - $this->version = Version::id(); - } - - protected function renderItemTemplate(\Text_Template $template, array $data): string - { - $numSeparator = ' / '; - - if (isset($data['numClasses']) && $data['numClasses'] > 0) { - $classesLevel = $this->getColorLevel($data['testedClassesPercent']); - - $classesNumber = $data['numTestedClasses'] . $numSeparator . - $data['numClasses']; - - $classesBar = $this->getCoverageBar( - $data['testedClassesPercent'] - ); - } else { - $classesLevel = ''; - $classesNumber = '0' . $numSeparator . '0'; - $classesBar = ''; - $data['testedClassesPercentAsString'] = 'n/a'; - } - - if ($data['numMethods'] > 0) { - $methodsLevel = $this->getColorLevel($data['testedMethodsPercent']); - - $methodsNumber = $data['numTestedMethods'] . $numSeparator . - $data['numMethods']; - - $methodsBar = $this->getCoverageBar( - $data['testedMethodsPercent'] - ); - } else { - $methodsLevel = ''; - $methodsNumber = '0' . $numSeparator . '0'; - $methodsBar = ''; - $data['testedMethodsPercentAsString'] = 'n/a'; - } - - if ($data['numExecutableLines'] > 0) { - $linesLevel = $this->getColorLevel($data['linesExecutedPercent']); - - $linesNumber = $data['numExecutedLines'] . $numSeparator . - $data['numExecutableLines']; - - $linesBar = $this->getCoverageBar( - $data['linesExecutedPercent'] - ); - } else { - $linesLevel = ''; - $linesNumber = '0' . $numSeparator . '0'; - $linesBar = ''; - $data['linesExecutedPercentAsString'] = 'n/a'; - } - - $template->setVar( - [ - 'icon' => $data['icon'] ?? '', - 'crap' => $data['crap'] ?? '', - 'name' => $data['name'], - 'lines_bar' => $linesBar, - 'lines_executed_percent' => $data['linesExecutedPercentAsString'], - 'lines_level' => $linesLevel, - 'lines_number' => $linesNumber, - 'methods_bar' => $methodsBar, - 'methods_tested_percent' => $data['testedMethodsPercentAsString'], - 'methods_level' => $methodsLevel, - 'methods_number' => $methodsNumber, - 'classes_bar' => $classesBar, - 'classes_tested_percent' => $data['testedClassesPercentAsString'] ?? '', - 'classes_level' => $classesLevel, - 'classes_number' => $classesNumber, - ] - ); - - return $template->render(); - } - - protected function setCommonTemplateVariables(\Text_Template $template, AbstractNode $node): void - { - $template->setVar( - [ - 'id' => $node->getId(), - 'full_path' => $node->getPath(), - 'path_to_root' => $this->getPathToRoot($node), - 'breadcrumbs' => $this->getBreadcrumbs($node), - 'date' => $this->date, - 'version' => $this->version, - 'runtime' => $this->getRuntimeString(), - 'generator' => $this->generator, - 'low_upper_bound' => $this->lowUpperBound, - 'high_lower_bound' => $this->highLowerBound, - ] - ); - } - - protected function getBreadcrumbs(AbstractNode $node): string - { - $breadcrumbs = ''; - $path = $node->getPathAsArray(); - $pathToRoot = []; - $max = \count($path); - - if ($node instanceof FileNode) { - $max--; - } - - for ($i = 0; $i < $max; $i++) { - $pathToRoot[] = \str_repeat('../', $i); - } - - foreach ($path as $step) { - if ($step !== $node) { - $breadcrumbs .= $this->getInactiveBreadcrumb( - $step, - \array_pop($pathToRoot) - ); - } else { - $breadcrumbs .= $this->getActiveBreadcrumb($step); - } - } - - return $breadcrumbs; - } - - protected function getActiveBreadcrumb(AbstractNode $node): string - { - $buffer = \sprintf( - ' ' . "\n", - $node->getName() - ); - - if ($node instanceof DirectoryNode) { - $buffer .= ' ' . "\n"; - } - - return $buffer; - } - - protected function getInactiveBreadcrumb(AbstractNode $node, string $pathToRoot): string - { - return \sprintf( - ' ' . "\n", - $pathToRoot, - $node->getName() - ); - } - - protected function getPathToRoot(AbstractNode $node): string - { - $id = $node->getId(); - $depth = \substr_count($id, '/'); - - if ($id !== 'index' && - $node instanceof DirectoryNode) { - $depth++; - } - - return \str_repeat('../', $depth); - } - - protected function getCoverageBar(float $percent): string - { - $level = $this->getColorLevel($percent); - - $template = new \Text_Template( - $this->templatePath . 'coverage_bar.html', - '{{', - '}}' - ); - - $template->setVar(['level' => $level, 'percent' => \sprintf('%.2F', $percent)]); - - return $template->render(); - } - - protected function getColorLevel(float $percent): string - { - if ($percent <= $this->lowUpperBound) { - return 'danger'; - } - - if ($percent > $this->lowUpperBound && - $percent < $this->highLowerBound) { - return 'warning'; - } - - return 'success'; - } - - private function getRuntimeString(): string - { - $runtime = new Runtime; - - $buffer = \sprintf( - '%s %s', - $runtime->getVendorUrl(), - $runtime->getName(), - $runtime->getVersion() - ); - - if ($runtime->hasXdebug() && !$runtime->hasPHPDBGCodeCoverage()) { - $buffer .= \sprintf( - ' with Xdebug %s', - \phpversion('xdebug') - ); - } - - return $buffer; - } -} diff --git a/paragonik-backend/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Dashboard.php b/paragonik-backend/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Dashboard.php deleted file mode 100644 index 68dfd40..0000000 --- a/paragonik-backend/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Dashboard.php +++ /dev/null @@ -1,281 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace SebastianBergmann\CodeCoverage\Report\Html; - -use SebastianBergmann\CodeCoverage\Node\AbstractNode; -use SebastianBergmann\CodeCoverage\Node\Directory as DirectoryNode; - -/** - * Renders the dashboard for a directory node. - */ -final class Dashboard extends Renderer -{ - /** - * @throws \InvalidArgumentException - * @throws \RuntimeException - */ - public function render(DirectoryNode $node, string $file): void - { - $classes = $node->getClassesAndTraits(); - $template = new \Text_Template( - $this->templatePath . 'dashboard.html', - '{{', - '}}' - ); - - $this->setCommonTemplateVariables($template, $node); - - $baseLink = $node->getId() . '/'; - $complexity = $this->complexity($classes, $baseLink); - $coverageDistribution = $this->coverageDistribution($classes); - $insufficientCoverage = $this->insufficientCoverage($classes, $baseLink); - $projectRisks = $this->projectRisks($classes, $baseLink); - - $template->setVar( - [ - 'insufficient_coverage_classes' => $insufficientCoverage['class'], - 'insufficient_coverage_methods' => $insufficientCoverage['method'], - 'project_risks_classes' => $projectRisks['class'], - 'project_risks_methods' => $projectRisks['method'], - 'complexity_class' => $complexity['class'], - 'complexity_method' => $complexity['method'], - 'class_coverage_distribution' => $coverageDistribution['class'], - 'method_coverage_distribution' => $coverageDistribution['method'], - ] - ); - - $template->renderTo($file); - } - - /** - * Returns the data for the Class/Method Complexity charts. - */ - protected function complexity(array $classes, string $baseLink): array - { - $result = ['class' => [], 'method' => []]; - - foreach ($classes as $className => $class) { - foreach ($class['methods'] as $methodName => $method) { - if ($className !== '*') { - $methodName = $className . '::' . $methodName; - } - - $result['method'][] = [ - $method['coverage'], - $method['ccn'], - \sprintf( - '%s', - \str_replace($baseLink, '', $method['link']), - $methodName - ), - ]; - } - - $result['class'][] = [ - $class['coverage'], - $class['ccn'], - \sprintf( - '%s', - \str_replace($baseLink, '', $class['link']), - $className - ), - ]; - } - - return [ - 'class' => \json_encode($result['class']), - 'method' => \json_encode($result['method']), - ]; - } - - /** - * Returns the data for the Class / Method Coverage Distribution chart. - */ - protected function coverageDistribution(array $classes): array - { - $result = [ - 'class' => [ - '0%' => 0, - '0-10%' => 0, - '10-20%' => 0, - '20-30%' => 0, - '30-40%' => 0, - '40-50%' => 0, - '50-60%' => 0, - '60-70%' => 0, - '70-80%' => 0, - '80-90%' => 0, - '90-100%' => 0, - '100%' => 0, - ], - 'method' => [ - '0%' => 0, - '0-10%' => 0, - '10-20%' => 0, - '20-30%' => 0, - '30-40%' => 0, - '40-50%' => 0, - '50-60%' => 0, - '60-70%' => 0, - '70-80%' => 0, - '80-90%' => 0, - '90-100%' => 0, - '100%' => 0, - ], - ]; - - foreach ($classes as $class) { - foreach ($class['methods'] as $methodName => $method) { - if ($method['coverage'] === 0) { - $result['method']['0%']++; - } elseif ($method['coverage'] === 100) { - $result['method']['100%']++; - } else { - $key = \floor($method['coverage'] / 10) * 10; - $key = $key . '-' . ($key + 10) . '%'; - $result['method'][$key]++; - } - } - - if ($class['coverage'] === 0) { - $result['class']['0%']++; - } elseif ($class['coverage'] === 100) { - $result['class']['100%']++; - } else { - $key = \floor($class['coverage'] / 10) * 10; - $key = $key . '-' . ($key + 10) . '%'; - $result['class'][$key]++; - } - } - - return [ - 'class' => \json_encode(\array_values($result['class'])), - 'method' => \json_encode(\array_values($result['method'])), - ]; - } - - /** - * Returns the classes / methods with insufficient coverage. - */ - protected function insufficientCoverage(array $classes, string $baseLink): array - { - $leastTestedClasses = []; - $leastTestedMethods = []; - $result = ['class' => '', 'method' => '']; - - foreach ($classes as $className => $class) { - foreach ($class['methods'] as $methodName => $method) { - if ($method['coverage'] < $this->highLowerBound) { - $key = $methodName; - - if ($className !== '*') { - $key = $className . '::' . $methodName; - } - - $leastTestedMethods[$key] = $method['coverage']; - } - } - - if ($class['coverage'] < $this->highLowerBound) { - $leastTestedClasses[$className] = $class['coverage']; - } - } - - \asort($leastTestedClasses); - \asort($leastTestedMethods); - - foreach ($leastTestedClasses as $className => $coverage) { - $result['class'] .= \sprintf( - ' %s%d%%' . "\n", - \str_replace($baseLink, '', $classes[$className]['link']), - $className, - $coverage - ); - } - - foreach ($leastTestedMethods as $methodName => $coverage) { - [$class, $method] = \explode('::', $methodName); - - $result['method'] .= \sprintf( - ' %s%d%%' . "\n", - \str_replace($baseLink, '', $classes[$class]['methods'][$method]['link']), - $methodName, - $method, - $coverage - ); - } - - return $result; - } - - /** - * Returns the project risks according to the CRAP index. - */ - protected function projectRisks(array $classes, string $baseLink): array - { - $classRisks = []; - $methodRisks = []; - $result = ['class' => '', 'method' => '']; - - foreach ($classes as $className => $class) { - foreach ($class['methods'] as $methodName => $method) { - if ($method['coverage'] < $this->highLowerBound && $method['ccn'] > 1) { - $key = $methodName; - - if ($className !== '*') { - $key = $className . '::' . $methodName; - } - - $methodRisks[$key] = $method['crap']; - } - } - - if ($class['coverage'] < $this->highLowerBound && - $class['ccn'] > \count($class['methods'])) { - $classRisks[$className] = $class['crap']; - } - } - - \arsort($classRisks); - \arsort($methodRisks); - - foreach ($classRisks as $className => $crap) { - $result['class'] .= \sprintf( - ' %s%d' . "\n", - \str_replace($baseLink, '', $classes[$className]['link']), - $className, - $crap - ); - } - - foreach ($methodRisks as $methodName => $crap) { - [$class, $method] = \explode('::', $methodName); - - $result['method'] .= \sprintf( - ' %s%d' . "\n", - \str_replace($baseLink, '', $classes[$class]['methods'][$method]['link']), - $methodName, - $method, - $crap - ); - } - - return $result; - } - - protected function getActiveBreadcrumb(AbstractNode $node): string - { - return \sprintf( - ' ' . "\n" . - ' ' . "\n", - $node->getName() - ); - } -} diff --git a/paragonik-backend/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Directory.php b/paragonik-backend/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Directory.php deleted file mode 100644 index 711d153..0000000 --- a/paragonik-backend/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Directory.php +++ /dev/null @@ -1,98 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace SebastianBergmann\CodeCoverage\Report\Html; - -use SebastianBergmann\CodeCoverage\Node\AbstractNode as Node; -use SebastianBergmann\CodeCoverage\Node\Directory as DirectoryNode; - -/** - * Renders a directory node. - */ -final class Directory extends Renderer -{ - /** - * @throws \InvalidArgumentException - * @throws \RuntimeException - */ - public function render(DirectoryNode $node, string $file): void - { - $template = new \Text_Template($this->templatePath . 'directory.html', '{{', '}}'); - - $this->setCommonTemplateVariables($template, $node); - - $items = $this->renderItem($node, true); - - foreach ($node->getDirectories() as $item) { - $items .= $this->renderItem($item); - } - - foreach ($node->getFiles() as $item) { - $items .= $this->renderItem($item); - } - - $template->setVar( - [ - 'id' => $node->getId(), - 'items' => $items, - ] - ); - - $template->renderTo($file); - } - - protected function renderItem(Node $node, bool $total = false): string - { - $data = [ - 'numClasses' => $node->getNumClassesAndTraits(), - 'numTestedClasses' => $node->getNumTestedClassesAndTraits(), - 'numMethods' => $node->getNumFunctionsAndMethods(), - 'numTestedMethods' => $node->getNumTestedFunctionsAndMethods(), - 'linesExecutedPercent' => $node->getLineExecutedPercent(false), - 'linesExecutedPercentAsString' => $node->getLineExecutedPercent(), - 'numExecutedLines' => $node->getNumExecutedLines(), - 'numExecutableLines' => $node->getNumExecutableLines(), - 'testedMethodsPercent' => $node->getTestedFunctionsAndMethodsPercent(false), - 'testedMethodsPercentAsString' => $node->getTestedFunctionsAndMethodsPercent(), - 'testedClassesPercent' => $node->getTestedClassesAndTraitsPercent(false), - 'testedClassesPercentAsString' => $node->getTestedClassesAndTraitsPercent(), - ]; - - if ($total) { - $data['name'] = 'Total'; - } else { - if ($node instanceof DirectoryNode) { - $data['name'] = \sprintf( - '%s', - $node->getName(), - $node->getName() - ); - - $up = \str_repeat('../', \count($node->getPathAsArray()) - 2); - - $data['icon'] = \sprintf('', $up); - } else { - $data['name'] = \sprintf( - '%s', - $node->getName(), - $node->getName() - ); - - $up = \str_repeat('../', \count($node->getPathAsArray()) - 2); - - $data['icon'] = \sprintf('', $up); - } - } - - return $this->renderItemTemplate( - new \Text_Template($this->templatePath . 'directory_item.html', '{{', '}}'), - $data - ); - } -} diff --git a/paragonik-backend/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/File.php b/paragonik-backend/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/File.php deleted file mode 100644 index 2e88d19..0000000 --- a/paragonik-backend/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/File.php +++ /dev/null @@ -1,529 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace SebastianBergmann\CodeCoverage\Report\Html; - -use SebastianBergmann\CodeCoverage\Node\File as FileNode; -use SebastianBergmann\CodeCoverage\Util; - -/** - * Renders a file node. - */ -final class File extends Renderer -{ - /** - * @var int - */ - private $htmlSpecialCharsFlags = \ENT_COMPAT | \ENT_HTML401 | \ENT_SUBSTITUTE; - - /** - * @throws \RuntimeException - */ - public function render(FileNode $node, string $file): void - { - $template = new \Text_Template($this->templatePath . 'file.html', '{{', '}}'); - - $template->setVar( - [ - 'items' => $this->renderItems($node), - 'lines' => $this->renderSource($node), - ] - ); - - $this->setCommonTemplateVariables($template, $node); - - $template->renderTo($file); - } - - protected function renderItems(FileNode $node): string - { - $template = new \Text_Template($this->templatePath . 'file_item.html', '{{', '}}'); - - $methodItemTemplate = new \Text_Template( - $this->templatePath . 'method_item.html', - '{{', - '}}' - ); - - $items = $this->renderItemTemplate( - $template, - [ - 'name' => 'Total', - 'numClasses' => $node->getNumClassesAndTraits(), - 'numTestedClasses' => $node->getNumTestedClassesAndTraits(), - 'numMethods' => $node->getNumFunctionsAndMethods(), - 'numTestedMethods' => $node->getNumTestedFunctionsAndMethods(), - 'linesExecutedPercent' => $node->getLineExecutedPercent(false), - 'linesExecutedPercentAsString' => $node->getLineExecutedPercent(), - 'numExecutedLines' => $node->getNumExecutedLines(), - 'numExecutableLines' => $node->getNumExecutableLines(), - 'testedMethodsPercent' => $node->getTestedFunctionsAndMethodsPercent(false), - 'testedMethodsPercentAsString' => $node->getTestedFunctionsAndMethodsPercent(), - 'testedClassesPercent' => $node->getTestedClassesAndTraitsPercent(false), - 'testedClassesPercentAsString' => $node->getTestedClassesAndTraitsPercent(), - 'crap' => 'CRAP', - ] - ); - - $items .= $this->renderFunctionItems( - $node->getFunctions(), - $methodItemTemplate - ); - - $items .= $this->renderTraitOrClassItems( - $node->getTraits(), - $template, - $methodItemTemplate - ); - - $items .= $this->renderTraitOrClassItems( - $node->getClasses(), - $template, - $methodItemTemplate - ); - - return $items; - } - - protected function renderTraitOrClassItems(array $items, \Text_Template $template, \Text_Template $methodItemTemplate): string - { - $buffer = ''; - - if (empty($items)) { - return $buffer; - } - - foreach ($items as $name => $item) { - $numMethods = 0; - $numTestedMethods = 0; - - foreach ($item['methods'] as $method) { - if ($method['executableLines'] > 0) { - $numMethods++; - - if ($method['executedLines'] === $method['executableLines']) { - $numTestedMethods++; - } - } - } - - if ($item['executableLines'] > 0) { - $numClasses = 1; - $numTestedClasses = $numTestedMethods == $numMethods ? 1 : 0; - $linesExecutedPercentAsString = Util::percent( - $item['executedLines'], - $item['executableLines'], - true - ); - } else { - $numClasses = 'n/a'; - $numTestedClasses = 'n/a'; - $linesExecutedPercentAsString = 'n/a'; - } - - $buffer .= $this->renderItemTemplate( - $template, - [ - 'name' => $this->abbreviateClassName($name), - 'numClasses' => $numClasses, - 'numTestedClasses' => $numTestedClasses, - 'numMethods' => $numMethods, - 'numTestedMethods' => $numTestedMethods, - 'linesExecutedPercent' => Util::percent( - $item['executedLines'], - $item['executableLines'], - false - ), - 'linesExecutedPercentAsString' => $linesExecutedPercentAsString, - 'numExecutedLines' => $item['executedLines'], - 'numExecutableLines' => $item['executableLines'], - 'testedMethodsPercent' => Util::percent( - $numTestedMethods, - $numMethods - ), - 'testedMethodsPercentAsString' => Util::percent( - $numTestedMethods, - $numMethods, - true - ), - 'testedClassesPercent' => Util::percent( - $numTestedMethods == $numMethods ? 1 : 0, - 1 - ), - 'testedClassesPercentAsString' => Util::percent( - $numTestedMethods == $numMethods ? 1 : 0, - 1, - true - ), - 'crap' => $item['crap'], - ] - ); - - foreach ($item['methods'] as $method) { - $buffer .= $this->renderFunctionOrMethodItem( - $methodItemTemplate, - $method, - ' ' - ); - } - } - - return $buffer; - } - - protected function renderFunctionItems(array $functions, \Text_Template $template): string - { - if (empty($functions)) { - return ''; - } - - $buffer = ''; - - foreach ($functions as $function) { - $buffer .= $this->renderFunctionOrMethodItem( - $template, - $function - ); - } - - return $buffer; - } - - protected function renderFunctionOrMethodItem(\Text_Template $template, array $item, string $indent = ''): string - { - $numMethods = 0; - $numTestedMethods = 0; - - if ($item['executableLines'] > 0) { - $numMethods = 1; - - if ($item['executedLines'] === $item['executableLines']) { - $numTestedMethods = 1; - } - } - - return $this->renderItemTemplate( - $template, - [ - 'name' => \sprintf( - '%s%s', - $indent, - $item['startLine'], - \htmlspecialchars($item['signature'], $this->htmlSpecialCharsFlags), - $item['functionName'] ?? $item['methodName'] - ), - 'numMethods' => $numMethods, - 'numTestedMethods' => $numTestedMethods, - 'linesExecutedPercent' => Util::percent( - $item['executedLines'], - $item['executableLines'] - ), - 'linesExecutedPercentAsString' => Util::percent( - $item['executedLines'], - $item['executableLines'], - true - ), - 'numExecutedLines' => $item['executedLines'], - 'numExecutableLines' => $item['executableLines'], - 'testedMethodsPercent' => Util::percent( - $numTestedMethods, - 1 - ), - 'testedMethodsPercentAsString' => Util::percent( - $numTestedMethods, - 1, - true - ), - 'crap' => $item['crap'], - ] - ); - } - - protected function renderSource(FileNode $node): string - { - $coverageData = $node->getCoverageData(); - $testData = $node->getTestData(); - $codeLines = $this->loadFile($node->getPath()); - $lines = ''; - $i = 1; - - foreach ($codeLines as $line) { - $trClass = ''; - $popoverContent = ''; - $popoverTitle = ''; - - if (\array_key_exists($i, $coverageData)) { - $numTests = ($coverageData[$i] ? \count($coverageData[$i]) : 0); - - if ($coverageData[$i] === null) { - $trClass = ' class="warning"'; - } elseif ($numTests == 0) { - $trClass = ' class="danger"'; - } else { - $lineCss = 'covered-by-large-tests'; - $popoverContent = '
    '; - - if ($numTests > 1) { - $popoverTitle = $numTests . ' tests cover line ' . $i; - } else { - $popoverTitle = '1 test covers line ' . $i; - } - - foreach ($coverageData[$i] as $test) { - if ($lineCss == 'covered-by-large-tests' && $testData[$test]['size'] == 'medium') { - $lineCss = 'covered-by-medium-tests'; - } elseif ($testData[$test]['size'] == 'small') { - $lineCss = 'covered-by-small-tests'; - } - - switch ($testData[$test]['status']) { - case 0: - switch ($testData[$test]['size']) { - case 'small': - $testCSS = ' class="covered-by-small-tests"'; - - break; - - case 'medium': - $testCSS = ' class="covered-by-medium-tests"'; - - break; - - default: - $testCSS = ' class="covered-by-large-tests"'; - - break; - } - - break; - - case 1: - case 2: - $testCSS = ' class="warning"'; - - break; - - case 3: - $testCSS = ' class="danger"'; - - break; - - case 4: - $testCSS = ' class="danger"'; - - break; - - default: - $testCSS = ''; - } - - $popoverContent .= \sprintf( - '%s', - $testCSS, - \htmlspecialchars($test, $this->htmlSpecialCharsFlags) - ); - } - - $popoverContent .= '
'; - $trClass = ' class="' . $lineCss . ' popin"'; - } - } - - $popover = ''; - - if (!empty($popoverTitle)) { - $popover = \sprintf( - ' data-title="%s" data-content="%s" data-placement="bottom" data-html="true"', - $popoverTitle, - \htmlspecialchars($popoverContent, $this->htmlSpecialCharsFlags) - ); - } - - $lines .= \sprintf( - ' %s' . "\n", - $trClass, - $popover, - $i, - $i, - $i, - $line - ); - - $i++; - } - - return $lines; - } - - /** - * @param string $file - */ - protected function loadFile($file): array - { - $buffer = \file_get_contents($file); - $tokens = \token_get_all($buffer); - $result = ['']; - $i = 0; - $stringFlag = false; - $fileEndsWithNewLine = \substr($buffer, -1) == "\n"; - - unset($buffer); - - foreach ($tokens as $j => $token) { - if (\is_string($token)) { - if ($token === '"' && $tokens[$j - 1] !== '\\') { - $result[$i] .= \sprintf( - '%s', - \htmlspecialchars($token, $this->htmlSpecialCharsFlags) - ); - - $stringFlag = !$stringFlag; - } else { - $result[$i] .= \sprintf( - '%s', - \htmlspecialchars($token, $this->htmlSpecialCharsFlags) - ); - } - - continue; - } - - [$token, $value] = $token; - - $value = \str_replace( - ["\t", ' '], - ['    ', ' '], - \htmlspecialchars($value, $this->htmlSpecialCharsFlags) - ); - - if ($value === "\n") { - $result[++$i] = ''; - } else { - $lines = \explode("\n", $value); - - foreach ($lines as $jj => $line) { - $line = \trim($line); - - if ($line !== '') { - if ($stringFlag) { - $colour = 'string'; - } else { - switch ($token) { - case \T_INLINE_HTML: - $colour = 'html'; - - break; - - case \T_COMMENT: - case \T_DOC_COMMENT: - $colour = 'comment'; - - break; - - case \T_ABSTRACT: - case \T_ARRAY: - case \T_AS: - case \T_BREAK: - case \T_CALLABLE: - case \T_CASE: - case \T_CATCH: - case \T_CLASS: - case \T_CLONE: - case \T_CONTINUE: - case \T_DEFAULT: - case \T_ECHO: - case \T_ELSE: - case \T_ELSEIF: - case \T_EMPTY: - case \T_ENDDECLARE: - case \T_ENDFOR: - case \T_ENDFOREACH: - case \T_ENDIF: - case \T_ENDSWITCH: - case \T_ENDWHILE: - case \T_EXIT: - case \T_EXTENDS: - case \T_FINAL: - case \T_FINALLY: - case \T_FOREACH: - case \T_FUNCTION: - case \T_GLOBAL: - case \T_IF: - case \T_IMPLEMENTS: - case \T_INCLUDE: - case \T_INCLUDE_ONCE: - case \T_INSTANCEOF: - case \T_INSTEADOF: - case \T_INTERFACE: - case \T_ISSET: - case \T_LOGICAL_AND: - case \T_LOGICAL_OR: - case \T_LOGICAL_XOR: - case \T_NAMESPACE: - case \T_NEW: - case \T_PRIVATE: - case \T_PROTECTED: - case \T_PUBLIC: - case \T_REQUIRE: - case \T_REQUIRE_ONCE: - case \T_RETURN: - case \T_STATIC: - case \T_THROW: - case \T_TRAIT: - case \T_TRY: - case \T_UNSET: - case \T_USE: - case \T_VAR: - case \T_WHILE: - case \T_YIELD: - $colour = 'keyword'; - - break; - - default: - $colour = 'default'; - } - } - - $result[$i] .= \sprintf( - '%s', - $colour, - $line - ); - } - - if (isset($lines[$jj + 1])) { - $result[++$i] = ''; - } - } - } - } - - if ($fileEndsWithNewLine) { - unset($result[\count($result) - 1]); - } - - return $result; - } - - private function abbreviateClassName(string $className): string - { - $tmp = \explode('\\', $className); - - if (\count($tmp) > 1) { - $className = \sprintf( - '%s', - $className, - \array_pop($tmp) - ); - } - - return $className; - } -} diff --git a/paragonik-backend/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/coverage_bar.html.dist b/paragonik-backend/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/coverage_bar.html.dist deleted file mode 100644 index 7fcf6f4..0000000 --- a/paragonik-backend/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/coverage_bar.html.dist +++ /dev/null @@ -1,5 +0,0 @@ -
-
- {{percent}}% covered ({{level}}) -
-
diff --git a/paragonik-backend/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/css/bootstrap.min.css b/paragonik-backend/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/css/bootstrap.min.css deleted file mode 100644 index 74a3ca1..0000000 --- a/paragonik-backend/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/css/bootstrap.min.css +++ /dev/null @@ -1,7 +0,0 @@ -/*! - * Bootstrap v4.1.3 (https://getbootstrap.com/) - * Copyright 2011-2018 The Bootstrap Authors - * Copyright 2011-2018 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - */:root{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#007bff;--secondary:#6c757d;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#343a40;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:transparent}@-ms-viewport{width:device-width}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus{outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent;-webkit-text-decoration-skip:objects}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([tabindex]){color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto;-ms-overflow-style:scrollbar}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-family:inherit;font-weight:500;line-height:1.2;color:inherit}.h1,h1{font-size:2.5rem}.h2,h2{font-size:2rem}.h3,h3{font-size:1.75rem}.h4,h4{font-size:1.5rem}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem;font-weight:300;line-height:1.2}.display-2{font-size:5.5rem;font-weight:300;line-height:1.2}.display-3{font-size:4.5rem;font-weight:300;line-height:1.2}.display-4{font-size:3.5rem;font-weight:300;line-height:1.2}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.small,small{font-size:80%;font-weight:400}.mark,mark{padding:.2em;background-color:#fcf8e3}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:90%;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote-footer{display:block;font-size:80%;color:#6c757d}.blockquote-footer::before{content:"\2014 \00A0"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#6c757d}code{font-size:87.5%;color:#e83e8c;word-break:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:87.5%;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:100%;font-weight:700}pre{display:block;font-size:87.5%;color:#212529}pre code{font-size:inherit;color:inherit;word-break:normal}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container{max-width:540px}}@media (min-width:768px){.container{max-width:720px}}@media (min-width:992px){.container{max-width:960px}}@media (min-width:1200px){.container{max-width:1140px}}.container-fluid{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{position:relative;width:100%;min-height:1px;padding-right:15px;padding-left:15px}.col{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-first{-ms-flex-order:-1;order:-1}.order-last{-ms-flex-order:13;order:13}.order-0{-ms-flex-order:0;order:0}.order-1{-ms-flex-order:1;order:1}.order-2{-ms-flex-order:2;order:2}.order-3{-ms-flex-order:3;order:3}.order-4{-ms-flex-order:4;order:4}.order-5{-ms-flex-order:5;order:5}.order-6{-ms-flex-order:6;order:6}.order-7{-ms-flex-order:7;order:7}.order-8{-ms-flex-order:8;order:8}.order-9{-ms-flex-order:9;order:9}.order-10{-ms-flex-order:10;order:10}.order-11{-ms-flex-order:11;order:11}.order-12{-ms-flex-order:12;order:12}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-sm-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-sm-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-sm-first{-ms-flex-order:-1;order:-1}.order-sm-last{-ms-flex-order:13;order:13}.order-sm-0{-ms-flex-order:0;order:0}.order-sm-1{-ms-flex-order:1;order:1}.order-sm-2{-ms-flex-order:2;order:2}.order-sm-3{-ms-flex-order:3;order:3}.order-sm-4{-ms-flex-order:4;order:4}.order-sm-5{-ms-flex-order:5;order:5}.order-sm-6{-ms-flex-order:6;order:6}.order-sm-7{-ms-flex-order:7;order:7}.order-sm-8{-ms-flex-order:8;order:8}.order-sm-9{-ms-flex-order:9;order:9}.order-sm-10{-ms-flex-order:10;order:10}.order-sm-11{-ms-flex-order:11;order:11}.order-sm-12{-ms-flex-order:12;order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-md-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-md-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-md-first{-ms-flex-order:-1;order:-1}.order-md-last{-ms-flex-order:13;order:13}.order-md-0{-ms-flex-order:0;order:0}.order-md-1{-ms-flex-order:1;order:1}.order-md-2{-ms-flex-order:2;order:2}.order-md-3{-ms-flex-order:3;order:3}.order-md-4{-ms-flex-order:4;order:4}.order-md-5{-ms-flex-order:5;order:5}.order-md-6{-ms-flex-order:6;order:6}.order-md-7{-ms-flex-order:7;order:7}.order-md-8{-ms-flex-order:8;order:8}.order-md-9{-ms-flex-order:9;order:9}.order-md-10{-ms-flex-order:10;order:10}.order-md-11{-ms-flex-order:11;order:11}.order-md-12{-ms-flex-order:12;order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-lg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-lg-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-lg-first{-ms-flex-order:-1;order:-1}.order-lg-last{-ms-flex-order:13;order:13}.order-lg-0{-ms-flex-order:0;order:0}.order-lg-1{-ms-flex-order:1;order:1}.order-lg-2{-ms-flex-order:2;order:2}.order-lg-3{-ms-flex-order:3;order:3}.order-lg-4{-ms-flex-order:4;order:4}.order-lg-5{-ms-flex-order:5;order:5}.order-lg-6{-ms-flex-order:6;order:6}.order-lg-7{-ms-flex-order:7;order:7}.order-lg-8{-ms-flex-order:8;order:8}.order-lg-9{-ms-flex-order:9;order:9}.order-lg-10{-ms-flex-order:10;order:10}.order-lg-11{-ms-flex-order:11;order:11}.order-lg-12{-ms-flex-order:12;order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-xl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-xl-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-xl-first{-ms-flex-order:-1;order:-1}.order-xl-last{-ms-flex-order:13;order:13}.order-xl-0{-ms-flex-order:0;order:0}.order-xl-1{-ms-flex-order:1;order:1}.order-xl-2{-ms-flex-order:2;order:2}.order-xl-3{-ms-flex-order:3;order:3}.order-xl-4{-ms-flex-order:4;order:4}.order-xl-5{-ms-flex-order:5;order:5}.order-xl-6{-ms-flex-order:6;order:6}.order-xl-7{-ms-flex-order:7;order:7}.order-xl-8{-ms-flex-order:8;order:8}.order-xl-9{-ms-flex-order:9;order:9}.order-xl-10{-ms-flex-order:10;order:10}.order-xl-11{-ms-flex-order:11;order:11}.order-xl-12{-ms-flex-order:12;order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}.table{width:100%;margin-bottom:1rem;background-color:transparent}.table td,.table th{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6}.table thead th{vertical-align:bottom;border-bottom:2px solid #dee2e6}.table tbody+tbody{border-top:2px solid #dee2e6}.table .table{background-color:#fff}.table-sm td,.table-sm th{padding:.3rem}.table-bordered{border:1px solid #dee2e6}.table-bordered td,.table-bordered th{border:1px solid #dee2e6}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-borderless tbody+tbody,.table-borderless td,.table-borderless th,.table-borderless thead th{border:0}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover tbody tr:hover{background-color:rgba(0,0,0,.075)}.table-primary,.table-primary>td,.table-primary>th{background-color:#b8daff}.table-hover .table-primary:hover{background-color:#9fcdff}.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#9fcdff}.table-secondary,.table-secondary>td,.table-secondary>th{background-color:#d6d8db}.table-hover .table-secondary:hover{background-color:#c8cbcf}.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#c8cbcf}.table-success,.table-success>td,.table-success>th{background-color:#c3e6cb}.table-hover .table-success:hover{background-color:#b1dfbb}.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#b1dfbb}.table-info,.table-info>td,.table-info>th{background-color:#bee5eb}.table-hover .table-info:hover{background-color:#abdde5}.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#abdde5}.table-warning,.table-warning>td,.table-warning>th{background-color:#ffeeba}.table-hover .table-warning:hover{background-color:#ffe8a1}.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#ffe8a1}.table-danger,.table-danger>td,.table-danger>th{background-color:#f5c6cb}.table-hover .table-danger:hover{background-color:#f1b0b7}.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#f1b0b7}.table-light,.table-light>td,.table-light>th{background-color:#fdfdfe}.table-hover .table-light:hover{background-color:#ececf6}.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:#ececf6}.table-dark,.table-dark>td,.table-dark>th{background-color:#c6c8ca}.table-hover .table-dark:hover{background-color:#b9bbbe}.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#b9bbbe}.table-active,.table-active>td,.table-active>th{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.table .thead-dark th{color:#fff;background-color:#212529;border-color:#32383e}.table .thead-light th{color:#495057;background-color:#e9ecef;border-color:#dee2e6}.table-dark{color:#fff;background-color:#212529}.table-dark td,.table-dark th,.table-dark thead th{border-color:#32383e}.table-dark.table-bordered{border:0}.table-dark.table-striped tbody tr:nth-of-type(odd){background-color:rgba(255,255,255,.05)}.table-dark.table-hover tbody tr:hover{background-color:rgba(255,255,255,.075)}@media (max-width:575.98px){.table-responsive-sm{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive-sm>.table-bordered{border:0}}@media (max-width:767.98px){.table-responsive-md{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive-md>.table-bordered{border:0}}@media (max-width:991.98px){.table-responsive-lg{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive-lg>.table-bordered{border:0}}@media (max-width:1199.98px){.table-responsive-xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive-xl>.table-bordered{border:0}}.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive>.table-bordered{border:0}.form-control{display:block;width:100%;height:calc(2.25rem + 2px);padding:.375rem .75rem;font-size:1rem;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media screen and (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:focus{color:#495057;background-color:#fff;border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.form-control::-webkit-input-placeholder{color:#6c757d;opacity:1}.form-control::-moz-placeholder{color:#6c757d;opacity:1}.form-control:-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}select.form-control:focus::-ms-value{color:#495057;background-color:#fff}.form-control-file,.form-control-range{display:block;width:100%}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem;line-height:1.5}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem;line-height:1.5}.form-control-plaintext{display:block;width:100%;padding-top:.375rem;padding-bottom:.375rem;margin-bottom:0;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{height:calc(1.8125rem + 2px);padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.form-control-lg{height:calc(2.875rem + 2px);padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}select.form-control[multiple],select.form-control[size]{height:auto}textarea.form-control{height:auto}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.form-row>.col,.form-row>[class*=col-]{padding-right:5px;padding-left:5px}.form-check{position:relative;display:block;padding-left:1.25rem}.form-check-input{position:absolute;margin-top:.3rem;margin-left:-1.25rem}.form-check-input:disabled~.form-check-label{color:#6c757d}.form-check-label{margin-bottom:0}.form-check-inline{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;padding-left:0;margin-right:.75rem}.form-check-inline .form-check-input{position:static;margin-top:0;margin-right:.3125rem;margin-left:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#28a745}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(40,167,69,.9);border-radius:.25rem}.custom-select.is-valid,.form-control.is-valid,.was-validated .custom-select:valid,.was-validated .form-control:valid{border-color:#28a745}.custom-select.is-valid:focus,.form-control.is-valid:focus,.was-validated .custom-select:valid:focus,.was-validated .form-control:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.custom-select.is-valid~.valid-feedback,.custom-select.is-valid~.valid-tooltip,.form-control.is-valid~.valid-feedback,.form-control.is-valid~.valid-tooltip,.was-validated .custom-select:valid~.valid-feedback,.was-validated .custom-select:valid~.valid-tooltip,.was-validated .form-control:valid~.valid-feedback,.was-validated .form-control:valid~.valid-tooltip{display:block}.form-control-file.is-valid~.valid-feedback,.form-control-file.is-valid~.valid-tooltip,.was-validated .form-control-file:valid~.valid-feedback,.was-validated .form-control-file:valid~.valid-tooltip{display:block}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#28a745}.form-check-input.is-valid~.valid-feedback,.form-check-input.is-valid~.valid-tooltip,.was-validated .form-check-input:valid~.valid-feedback,.was-validated .form-check-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid~.custom-control-label,.was-validated .custom-control-input:valid~.custom-control-label{color:#28a745}.custom-control-input.is-valid~.custom-control-label::before,.was-validated .custom-control-input:valid~.custom-control-label::before{background-color:#71dd8a}.custom-control-input.is-valid~.valid-feedback,.custom-control-input.is-valid~.valid-tooltip,.was-validated .custom-control-input:valid~.valid-feedback,.was-validated .custom-control-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid:checked~.custom-control-label::before,.was-validated .custom-control-input:valid:checked~.custom-control-label::before{background-color:#34ce57}.custom-control-input.is-valid:focus~.custom-control-label::before,.was-validated .custom-control-input:valid:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(40,167,69,.25)}.custom-file-input.is-valid~.custom-file-label,.was-validated .custom-file-input:valid~.custom-file-label{border-color:#28a745}.custom-file-input.is-valid~.custom-file-label::after,.was-validated .custom-file-input:valid~.custom-file-label::after{border-color:inherit}.custom-file-input.is-valid~.valid-feedback,.custom-file-input.is-valid~.valid-tooltip,.was-validated .custom-file-input:valid~.valid-feedback,.was-validated .custom-file-input:valid~.valid-tooltip{display:block}.custom-file-input.is-valid:focus~.custom-file-label,.was-validated .custom-file-input:valid:focus~.custom-file-label{box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(220,53,69,.9);border-radius:.25rem}.custom-select.is-invalid,.form-control.is-invalid,.was-validated .custom-select:invalid,.was-validated .form-control:invalid{border-color:#dc3545}.custom-select.is-invalid:focus,.form-control.is-invalid:focus,.was-validated .custom-select:invalid:focus,.was-validated .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.custom-select.is-invalid~.invalid-feedback,.custom-select.is-invalid~.invalid-tooltip,.form-control.is-invalid~.invalid-feedback,.form-control.is-invalid~.invalid-tooltip,.was-validated .custom-select:invalid~.invalid-feedback,.was-validated .custom-select:invalid~.invalid-tooltip,.was-validated .form-control:invalid~.invalid-feedback,.was-validated .form-control:invalid~.invalid-tooltip{display:block}.form-control-file.is-invalid~.invalid-feedback,.form-control-file.is-invalid~.invalid-tooltip,.was-validated .form-control-file:invalid~.invalid-feedback,.was-validated .form-control-file:invalid~.invalid-tooltip{display:block}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545}.form-check-input.is-invalid~.invalid-feedback,.form-check-input.is-invalid~.invalid-tooltip,.was-validated .form-check-input:invalid~.invalid-feedback,.was-validated .form-check-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid~.custom-control-label,.was-validated .custom-control-input:invalid~.custom-control-label{color:#dc3545}.custom-control-input.is-invalid~.custom-control-label::before,.was-validated .custom-control-input:invalid~.custom-control-label::before{background-color:#efa2a9}.custom-control-input.is-invalid~.invalid-feedback,.custom-control-input.is-invalid~.invalid-tooltip,.was-validated .custom-control-input:invalid~.invalid-feedback,.was-validated .custom-control-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid:checked~.custom-control-label::before,.was-validated .custom-control-input:invalid:checked~.custom-control-label::before{background-color:#e4606d}.custom-control-input.is-invalid:focus~.custom-control-label::before,.was-validated .custom-control-input:invalid:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(220,53,69,.25)}.custom-file-input.is-invalid~.custom-file-label,.was-validated .custom-file-input:invalid~.custom-file-label{border-color:#dc3545}.custom-file-input.is-invalid~.custom-file-label::after,.was-validated .custom-file-input:invalid~.custom-file-label::after{border-color:inherit}.custom-file-input.is-invalid~.invalid-feedback,.custom-file-input.is-invalid~.invalid-tooltip,.was-validated .custom-file-input:invalid~.invalid-feedback,.was-validated .custom-file-input:invalid~.invalid-tooltip{display:block}.custom-file-input.is-invalid:focus~.custom-file-label,.was-validated .custom-file-input:invalid:focus~.custom-file-label{box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-inline{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center;align-items:center}.form-inline .form-check{width:100%}@media (min-width:576px){.form-inline label{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;margin-bottom:0}.form-inline .form-group{display:-ms-flexbox;display:flex;-ms-flex:0 0 auto;flex:0 0 auto;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center;align-items:center;margin-bottom:0}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-plaintext{display:inline-block}.form-inline .custom-select,.form-inline .input-group{width:auto}.form-inline .form-check{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:auto;padding-left:0}.form-inline .form-check-input{position:relative;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.form-inline .custom-control-label{margin-bottom:0}}.btn{display:inline-block;font-weight:400;text-align:center;white-space:nowrap;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media screen and (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:focus,.btn:hover{text-decoration:none}.btn.focus,.btn:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.btn.disabled,.btn:disabled{opacity:.65}.btn:not(:disabled):not(.disabled){cursor:pointer}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:hover{color:#fff;background-color:#0069d9;border-color:#0062cc}.btn-primary.focus,.btn-primary:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:not(:disabled):not(.disabled).active,.btn-primary:not(:disabled):not(.disabled):active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#0062cc;border-color:#005cbf}.btn-primary:not(:disabled):not(.disabled).active:focus,.btn-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:hover{color:#fff;background-color:#5a6268;border-color:#545b62}.btn-secondary.focus,.btn-secondary:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:not(:disabled):not(.disabled).active,.btn-secondary:not(:disabled):not(.disabled):active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#545b62;border-color:#4e555b}.btn-secondary:not(:disabled):not(.disabled).active:focus,.btn-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-success{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:hover{color:#fff;background-color:#218838;border-color:#1e7e34}.btn-success.focus,.btn-success:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:not(:disabled):not(.disabled).active,.btn-success:not(:disabled):not(.disabled):active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#1e7e34;border-color:#1c7430}.btn-success:not(:disabled):not(.disabled).active:focus,.btn-success:not(:disabled):not(.disabled):active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-info{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:hover{color:#fff;background-color:#138496;border-color:#117a8b}.btn-info.focus,.btn-info:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-info.disabled,.btn-info:disabled{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:not(:disabled):not(.disabled).active,.btn-info:not(:disabled):not(.disabled):active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#117a8b;border-color:#10707f}.btn-info:not(:disabled):not(.disabled).active:focus,.btn-info:not(:disabled):not(.disabled):active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-warning{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:hover{color:#212529;background-color:#e0a800;border-color:#d39e00}.btn-warning.focus,.btn-warning:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:not(:disabled):not(.disabled).active,.btn-warning:not(:disabled):not(.disabled):active,.show>.btn-warning.dropdown-toggle{color:#212529;background-color:#d39e00;border-color:#c69500}.btn-warning:not(:disabled):not(.disabled).active:focus,.btn-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:hover{color:#fff;background-color:#c82333;border-color:#bd2130}.btn-danger.focus,.btn-danger:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:not(:disabled):not(.disabled).active,.btn-danger:not(:disabled):not(.disabled):active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#bd2130;border-color:#b21f2d}.btn-danger:not(:disabled):not(.disabled).active:focus,.btn-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-light{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#212529;background-color:#e2e6ea;border-color:#dae0e5}.btn-light.focus,.btn-light:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-light.disabled,.btn-light:disabled{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:not(:disabled):not(.disabled).active,.btn-light:not(:disabled):not(.disabled):active,.show>.btn-light.dropdown-toggle{color:#212529;background-color:#dae0e5;border-color:#d3d9df}.btn-light:not(:disabled):not(.disabled).active:focus,.btn-light:not(:disabled):not(.disabled):active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-dark{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:hover{color:#fff;background-color:#23272b;border-color:#1d2124}.btn-dark.focus,.btn-dark:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:not(:disabled):not(.disabled).active,.btn-dark:not(:disabled):not(.disabled):active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1d2124;border-color:#171a1d}.btn-dark:not(:disabled):not(.disabled).active:focus,.btn-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-outline-primary{color:#007bff;background-color:transparent;background-image:none;border-color:#007bff}.btn-outline-primary:hover{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary.focus,.btn-outline-primary:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#007bff;background-color:transparent}.btn-outline-primary:not(:disabled):not(.disabled).active,.btn-outline-primary:not(:disabled):not(.disabled):active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary:not(:disabled):not(.disabled).active:focus,.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-secondary{color:#6c757d;background-color:transparent;background-image:none;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary.focus,.btn-outline-secondary:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}.btn-outline-secondary:not(:disabled):not(.disabled).active,.btn-outline-secondary:not(:disabled):not(.disabled):active,.show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-success{color:#28a745;background-color:transparent;background-image:none;border-color:#28a745}.btn-outline-success:hover{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success.focus,.btn-outline-success:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#28a745;background-color:transparent}.btn-outline-success:not(:disabled):not(.disabled).active,.btn-outline-success:not(:disabled):not(.disabled):active,.show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success:not(:disabled):not(.disabled).active:focus,.btn-outline-success:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-info{color:#17a2b8;background-color:transparent;background-image:none;border-color:#17a2b8}.btn-outline-info:hover{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info.focus,.btn-outline-info:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#17a2b8;background-color:transparent}.btn-outline-info:not(:disabled):not(.disabled).active,.btn-outline-info:not(:disabled):not(.disabled):active,.show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info:not(:disabled):not(.disabled).active:focus,.btn-outline-info:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-warning{color:#ffc107;background-color:transparent;background-image:none;border-color:#ffc107}.btn-outline-warning:hover{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning.focus,.btn-outline-warning:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc107;background-color:transparent}.btn-outline-warning:not(:disabled):not(.disabled).active,.btn-outline-warning:not(:disabled):not(.disabled):active,.show>.btn-outline-warning.dropdown-toggle{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning:not(:disabled):not(.disabled).active:focus,.btn-outline-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-danger{color:#dc3545;background-color:transparent;background-image:none;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger.focus,.btn-outline-danger:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#dc3545;background-color:transparent}.btn-outline-danger:not(:disabled):not(.disabled).active,.btn-outline-danger:not(:disabled):not(.disabled):active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger:not(:disabled):not(.disabled).active:focus,.btn-outline-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-light{color:#f8f9fa;background-color:transparent;background-image:none;border-color:#f8f9fa}.btn-outline-light:hover{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light.focus,.btn-outline-light:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-light:not(:disabled):not(.disabled).active,.btn-outline-light:not(:disabled):not(.disabled):active,.show>.btn-outline-light.dropdown-toggle{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:not(:disabled):not(.disabled).active:focus,.btn-outline-light:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-dark{color:#343a40;background-color:transparent;background-image:none;border-color:#343a40}.btn-outline-dark:hover{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark.focus,.btn-outline-dark:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#343a40;background-color:transparent}.btn-outline-dark:not(:disabled):not(.disabled).active,.btn-outline-dark:not(:disabled):not(.disabled):active,.show>.btn-outline-dark.dropdown-toggle{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark:not(:disabled):not(.disabled).active:focus,.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-link{font-weight:400;color:#007bff;background-color:transparent}.btn-link:hover{color:#0056b3;text-decoration:underline;background-color:transparent;border-color:transparent}.btn-link.focus,.btn-link:focus{text-decoration:underline;border-color:transparent;box-shadow:none}.btn-link.disabled,.btn-link:disabled{color:#6c757d;pointer-events:none}.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{transition:opacity .15s linear}@media screen and (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{position:relative;height:0;overflow:hidden;transition:height .35s ease}@media screen and (prefers-reduced-motion:reduce){.collapsing{transition:none}}.dropdown,.dropleft,.dropright,.dropup{position:relative}.dropdown-toggle::after{display:inline-block;width:0;height:0;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-menu-right{right:0;left:auto}.dropup .dropdown-menu{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;width:0;height:0;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-menu{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropright .dropdown-toggle::after{display:inline-block;width:0;height:0;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropright .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-toggle::after{vertical-align:0}.dropleft .dropdown-menu{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropleft .dropdown-toggle::after{display:inline-block;width:0;height:0;margin-left:.255em;vertical-align:.255em;content:""}.dropleft .dropdown-toggle::after{display:none}.dropleft .dropdown-toggle::before{display:inline-block;width:0;height:0;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropleft .dropdown-toggle:empty::after{margin-left:0}.dropleft .dropdown-toggle::before{vertical-align:0}.dropdown-menu[x-placement^=bottom],.dropdown-menu[x-placement^=left],.dropdown-menu[x-placement^=right],.dropdown-menu[x-placement^=top]{right:auto;bottom:auto}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9ecef}.dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#212529;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#16181b;text-decoration:none;background-color:#f8f9fa}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#007bff}.dropdown-item.disabled,.dropdown-item:disabled{color:#6c757d;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1.5rem;color:#212529}.btn-group,.btn-group-vertical{position:relative;display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;-ms-flex:0 1 auto;flex:0 1 auto}.btn-group-vertical>.btn:hover,.btn-group>.btn:hover{z-index:1}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus{z-index:1}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group,.btn-group-vertical .btn+.btn,.btn-group-vertical .btn+.btn-group,.btn-group-vertical .btn-group+.btn,.btn-group-vertical .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:start;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropright .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropleft .dropdown-toggle-split::before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:center;justify-content:center}.btn-group-vertical .btn,.btn-group-vertical .btn-group{width:100%}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn{margin-bottom:0}.btn-group-toggle>.btn input[type=checkbox],.btn-group-toggle>.btn input[type=radio],.btn-group-toggle>.btn-group>.btn input[type=checkbox],.btn-group-toggle>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:stretch;align-items:stretch;width:100%}.input-group>.custom-file,.input-group>.custom-select,.input-group>.form-control{position:relative;-ms-flex:1 1 auto;flex:1 1 auto;width:1%;margin-bottom:0}.input-group>.custom-file+.custom-file,.input-group>.custom-file+.custom-select,.input-group>.custom-file+.form-control,.input-group>.custom-select+.custom-file,.input-group>.custom-select+.custom-select,.input-group>.custom-select+.form-control,.input-group>.form-control+.custom-file,.input-group>.form-control+.custom-select,.input-group>.form-control+.form-control{margin-left:-1px}.input-group>.custom-file .custom-file-input:focus~.custom-file-label,.input-group>.custom-select:focus,.input-group>.form-control:focus{z-index:3}.input-group>.custom-file .custom-file-input:focus{z-index:4}.input-group>.custom-select:not(:last-child),.input-group>.form-control:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-select:not(:first-child),.input-group>.form-control:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.custom-file{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.input-group>.custom-file:not(:last-child) .custom-file-label,.input-group>.custom-file:not(:last-child) .custom-file-label::after{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-file:not(:first-child) .custom-file-label{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-append,.input-group-prepend{display:-ms-flexbox;display:flex}.input-group-append .btn,.input-group-prepend .btn{position:relative;z-index:2}.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .input-group-text+.btn,.input-group-append .input-group-text+.input-group-text,.input-group-prepend .btn+.btn,.input-group-prepend .btn+.input-group-text,.input-group-prepend .input-group-text+.btn,.input-group-prepend .input-group-text+.input-group-text{margin-left:-1px}.input-group-prepend{margin-right:-1px}.input-group-append{margin-left:-1px}.input-group-text{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:.375rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-text input[type=checkbox],.input-group-text input[type=radio]{margin-top:0}.input-group-lg>.form-control,.input-group-lg>.input-group-append>.btn,.input-group-lg>.input-group-append>.input-group-text,.input-group-lg>.input-group-prepend>.btn,.input-group-lg>.input-group-prepend>.input-group-text{height:calc(2.875rem + 2px);padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.input-group-sm>.form-control,.input-group-sm>.input-group-append>.btn,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-prepend>.input-group-text{height:calc(1.8125rem + 2px);padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child),.input-group>.input-group-append:not(:last-child)>.btn,.input-group>.input-group-append:not(:last-child)>.input-group-text,.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child),.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text{border-top-left-radius:0;border-bottom-left-radius:0}.custom-control{position:relative;display:block;min-height:1.5rem;padding-left:1.5rem}.custom-control-inline{display:-ms-inline-flexbox;display:inline-flex;margin-right:1rem}.custom-control-input{position:absolute;z-index:-1;opacity:0}.custom-control-input:checked~.custom-control-label::before{color:#fff;background-color:#007bff}.custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-control-input:active~.custom-control-label::before{color:#fff;background-color:#b3d7ff}.custom-control-input:disabled~.custom-control-label{color:#6c757d}.custom-control-input:disabled~.custom-control-label::before{background-color:#e9ecef}.custom-control-label{position:relative;margin-bottom:0}.custom-control-label::before{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;pointer-events:none;content:"";-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#dee2e6}.custom-control-label::after{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;content:"";background-repeat:no-repeat;background-position:center center;background-size:50% 50%}.custom-checkbox .custom-control-label::before{border-radius:.25rem}.custom-checkbox .custom-control-input:checked~.custom-control-label::before{background-color:#007bff}.custom-checkbox .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before{background-color:#007bff}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E")}.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-radio .custom-control-label::before{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-label::before{background-color:#007bff}.custom-radio .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E")}.custom-radio .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-select{display:inline-block;width:100%;height:calc(2.25rem + 2px);padding:.375rem 1.75rem .375rem .75rem;line-height:1.5;color:#495057;vertical-align:middle;background:#fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right .75rem center;background-size:8px 10px;border:1px solid #ced4da;border-radius:.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-select:focus{border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(128,189,255,.5)}.custom-select:focus::-ms-value{color:#495057;background-color:#fff}.custom-select[multiple],.custom-select[size]:not([size="1"]){height:auto;padding-right:.75rem;background-image:none}.custom-select:disabled{color:#6c757d;background-color:#e9ecef}.custom-select::-ms-expand{opacity:0}.custom-select-sm{height:calc(1.8125rem + 2px);padding-top:.375rem;padding-bottom:.375rem;font-size:75%}.custom-select-lg{height:calc(2.875rem + 2px);padding-top:.375rem;padding-bottom:.375rem;font-size:125%}.custom-file{position:relative;display:inline-block;width:100%;height:calc(2.25rem + 2px);margin-bottom:0}.custom-file-input{position:relative;z-index:2;width:100%;height:calc(2.25rem + 2px);margin:0;opacity:0}.custom-file-input:focus~.custom-file-label{border-color:#80bdff;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-file-input:focus~.custom-file-label::after{border-color:#80bdff}.custom-file-input:disabled~.custom-file-label{background-color:#e9ecef}.custom-file-input:lang(en)~.custom-file-label::after{content:"Browse"}.custom-file-label{position:absolute;top:0;right:0;left:0;z-index:1;height:calc(2.25rem + 2px);padding:.375rem .75rem;line-height:1.5;color:#495057;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem}.custom-file-label::after{position:absolute;top:0;right:0;bottom:0;z-index:3;display:block;height:2.25rem;padding:.375rem .75rem;line-height:1.5;color:#495057;content:"Browse";background-color:#e9ecef;border-left:1px solid #ced4da;border-radius:0 .25rem .25rem 0}.custom-range{width:100%;padding-left:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-range:focus{outline:0}.custom-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range::-moz-focus-outer{border:0}.custom-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#007bff;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;appearance:none}@media screen and (prefers-reduced-motion:reduce){.custom-range::-webkit-slider-thumb{transition:none}}.custom-range::-webkit-slider-thumb:active{background-color:#b3d7ff}.custom-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#007bff;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-moz-appearance:none;appearance:none}@media screen and (prefers-reduced-motion:reduce){.custom-range::-moz-range-thumb{transition:none}}.custom-range::-moz-range-thumb:active{background-color:#b3d7ff}.custom-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-ms-thumb{width:1rem;height:1rem;margin-top:0;margin-right:.2rem;margin-left:.2rem;background-color:#007bff;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media screen and (prefers-reduced-motion:reduce){.custom-range::-ms-thumb{transition:none}}.custom-range::-ms-thumb:active{background-color:#b3d7ff}.custom-range::-ms-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:transparent;border-color:transparent;border-width:.5rem}.custom-range::-ms-fill-lower{background-color:#dee2e6;border-radius:1rem}.custom-range::-ms-fill-upper{margin-right:15px;background-color:#dee2e6;border-radius:1rem}.custom-control-label::before,.custom-file-label,.custom-select{transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media screen and (prefers-reduced-motion:reduce){.custom-control-label::before,.custom-file-label,.custom-select{transition:none}}.nav{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem}.nav-link:focus,.nav-link:hover{text-decoration:none}.nav-link.disabled{color:#6c757d}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-item{margin-bottom:-1px}.nav-tabs .nav-link{border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#007bff}.nav-fill .nav-item{-ms-flex:1 1 auto;flex:1 1 auto;text-align:center}.nav-justified .nav-item{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;padding:.5rem 1rem}.navbar>.container,.navbar>.container-fluid{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between}.navbar-brand{display:inline-block;padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-nav{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static;float:none}.navbar-text{display:inline-block;padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{-ms-flex-preferred-size:100%;flex-basis:100%;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem}.navbar-toggler:focus,.navbar-toggler:hover{text-decoration:none}.navbar-toggler:not(:disabled):not(.disabled){cursor:pointer}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:no-repeat center center;background-size:100% 100%}@media (max-width:575.98px){.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:576px){.navbar-expand-sm{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-sm .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-sm .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media (max-width:767.98px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:768px){.navbar-expand-md{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-md .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-md .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media (max-width:991.98px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:992px){.navbar-expand-lg{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-lg .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-lg .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media (max-width:1199.98px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:1200px){.navbar-expand-xl{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-xl .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-xl .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}.navbar-expand{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand>.container,.navbar-expand>.container-fluid{padding-right:0;padding-left:0}.navbar-expand .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand>.container,.navbar-expand>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.5)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.5);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.navbar-light .navbar-text{color:rgba(0,0,0,.5)}.navbar-light .navbar-text a{color:rgba(0,0,0,.9)}.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,.5)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:rgba(255,255,255,.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .show>.nav-link{color:#fff}.navbar-dark .navbar-toggler{color:rgba(255,255,255,.5);border-color:rgba(255,255,255,.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.navbar-dark .navbar-text{color:rgba(255,255,255,.5)}.navbar-dark .navbar-text a{color:#fff}.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.card{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group:first-child .list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.card>.list-group:last-child .list-group-item:last-child{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.card-body{-ms-flex:1 1 auto;flex:1 1 auto;padding:1.25rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-header+.list-group .list-group-item:first-child{border-top:0}.card-footer{padding:.75rem 1.25rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-right:-.625rem;margin-bottom:-.75rem;margin-left:-.625rem;border-bottom:0}.card-header-pills{margin-right:-.625rem;margin-left:-.625rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem}.card-img{width:100%;border-radius:calc(.25rem - 1px)}.card-img-top{width:100%;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img-bottom{width:100%;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-deck{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.card-deck .card{margin-bottom:15px}@media (min-width:576px){.card-deck{-ms-flex-flow:row wrap;flex-flow:row wrap;margin-right:-15px;margin-left:-15px}.card-deck .card{display:-ms-flexbox;display:flex;-ms-flex:1 0 0%;flex:1 0 0%;-ms-flex-direction:column;flex-direction:column;margin-right:15px;margin-bottom:0;margin-left:15px}}.card-group{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.card-group>.card{margin-bottom:15px}@media (min-width:576px){.card-group{-ms-flex-flow:row wrap;flex-flow:row wrap}.card-group>.card{-ms-flex:1 0 0%;flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:first-child .card-header,.card-group>.card:first-child .card-img-top{border-top-right-radius:0}.card-group>.card:first-child .card-footer,.card-group>.card:first-child .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:last-child .card-header,.card-group>.card:last-child .card-img-top{border-top-left-radius:0}.card-group>.card:last-child .card-footer,.card-group>.card:last-child .card-img-bottom{border-bottom-left-radius:0}.card-group>.card:only-child{border-radius:.25rem}.card-group>.card:only-child .card-header,.card-group>.card:only-child .card-img-top{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.card-group>.card:only-child .card-footer,.card-group>.card:only-child .card-img-bottom{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.card-group>.card:not(:first-child):not(:last-child):not(:only-child){border-radius:0}.card-group>.card:not(:first-child):not(:last-child):not(:only-child) .card-footer,.card-group>.card:not(:first-child):not(:last-child):not(:only-child) .card-header,.card-group>.card:not(:first-child):not(:last-child):not(:only-child) .card-img-bottom,.card-group>.card:not(:first-child):not(:last-child):not(:only-child) .card-img-top{border-radius:0}}.card-columns .card{margin-bottom:.75rem}@media (min-width:576px){.card-columns{-webkit-column-count:3;-moz-column-count:3;column-count:3;-webkit-column-gap:1.25rem;-moz-column-gap:1.25rem;column-gap:1.25rem;orphans:1;widows:1}.card-columns .card{display:inline-block;width:100%}}.accordion .card:not(:first-of-type):not(:last-of-type){border-bottom:0;border-radius:0}.accordion .card:not(:first-of-type) .card-header:first-child{border-radius:0}.accordion .card:first-of-type{border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion .card:last-of-type{border-top-left-radius:0;border-top-right-radius:0}.breadcrumb{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#e9ecef;border-radius:.25rem}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{display:inline-block;padding-right:.5rem;color:#6c757d;content:"/"}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:underline}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:none}.breadcrumb-item.active{color:#6c757d}.pagination{display:-ms-flexbox;display:flex;padding-left:0;list-style:none;border-radius:.25rem}.page-link{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#007bff;background-color:#fff;border:1px solid #dee2e6}.page-link:hover{z-index:2;color:#0056b3;text-decoration:none;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:2;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.page-link:not(:disabled):not(.disabled){cursor:pointer}.page-item:first-child .page-link{margin-left:0;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.page-item.active .page-link{z-index:1;color:#fff;background-color:#007bff;border-color:#007bff}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;cursor:auto;background-color:#fff;border-color:#dee2e6}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem;line-height:1.5}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem;line-height:1.5}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-primary{color:#fff;background-color:#007bff}.badge-primary[href]:focus,.badge-primary[href]:hover{color:#fff;text-decoration:none;background-color:#0062cc}.badge-secondary{color:#fff;background-color:#6c757d}.badge-secondary[href]:focus,.badge-secondary[href]:hover{color:#fff;text-decoration:none;background-color:#545b62}.badge-success{color:#fff;background-color:#28a745}.badge-success[href]:focus,.badge-success[href]:hover{color:#fff;text-decoration:none;background-color:#1e7e34}.badge-info{color:#fff;background-color:#17a2b8}.badge-info[href]:focus,.badge-info[href]:hover{color:#fff;text-decoration:none;background-color:#117a8b}.badge-warning{color:#212529;background-color:#ffc107}.badge-warning[href]:focus,.badge-warning[href]:hover{color:#212529;text-decoration:none;background-color:#d39e00}.badge-danger{color:#fff;background-color:#dc3545}.badge-danger[href]:focus,.badge-danger[href]:hover{color:#fff;text-decoration:none;background-color:#bd2130}.badge-light{color:#212529;background-color:#f8f9fa}.badge-light[href]:focus,.badge-light[href]:hover{color:#212529;text-decoration:none;background-color:#dae0e5}.badge-dark{color:#fff;background-color:#343a40}.badge-dark[href]:focus,.badge-dark[href]:hover{color:#fff;text-decoration:none;background-color:#1d2124}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#e9ecef;border-radius:.3rem}@media (min-width:576px){.jumbotron{padding:4rem 2rem}}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:4rem}.alert-dismissible .close{position:absolute;top:0;right:0;padding:.75rem 1.25rem;color:inherit}.alert-primary{color:#004085;background-color:#cce5ff;border-color:#b8daff}.alert-primary hr{border-top-color:#9fcdff}.alert-primary .alert-link{color:#002752}.alert-secondary{color:#383d41;background-color:#e2e3e5;border-color:#d6d8db}.alert-secondary hr{border-top-color:#c8cbcf}.alert-secondary .alert-link{color:#202326}.alert-success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}.alert-success hr{border-top-color:#b1dfbb}.alert-success .alert-link{color:#0b2e13}.alert-info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}.alert-info hr{border-top-color:#abdde5}.alert-info .alert-link{color:#062c33}.alert-warning{color:#856404;background-color:#fff3cd;border-color:#ffeeba}.alert-warning hr{border-top-color:#ffe8a1}.alert-warning .alert-link{color:#533f03}.alert-danger{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.alert-danger hr{border-top-color:#f1b0b7}.alert-danger .alert-link{color:#491217}.alert-light{color:#818182;background-color:#fefefe;border-color:#fdfdfe}.alert-light hr{border-top-color:#ececf6}.alert-light .alert-link{color:#686868}.alert-dark{color:#1b1e21;background-color:#d6d8d9;border-color:#c6c8ca}.alert-dark hr{border-top-color:#b9bbbe}.alert-dark .alert-link{color:#040505}@-webkit-keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}.progress{display:-ms-flexbox;display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress-bar{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;color:#fff;text-align:center;white-space:nowrap;background-color:#007bff;transition:width .6s ease}@media screen and (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}.progress-bar-animated{-webkit-animation:progress-bar-stripes 1s linear infinite;animation:progress-bar-stripes 1s linear infinite}.media{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start}.media-body{-ms-flex:1;flex:1}.list-group{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;margin-bottom:-1px;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.list-group-item:focus,.list-group-item:hover{z-index:1;text-decoration:none}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#007bff;border-color:#007bff}.list-group-flush .list-group-item{border-right:0;border-left:0;border-radius:0}.list-group-flush:first-child .list-group-item:first-child{border-top:0}.list-group-flush:last-child .list-group-item:last-child{border-bottom:0}.list-group-item-primary{color:#004085;background-color:#b8daff}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#004085;background-color:#9fcdff}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#004085;border-color:#004085}.list-group-item-secondary{color:#383d41;background-color:#d6d8db}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#383d41;background-color:#c8cbcf}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#383d41;border-color:#383d41}.list-group-item-success{color:#155724;background-color:#c3e6cb}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#155724;background-color:#b1dfbb}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#155724;border-color:#155724}.list-group-item-info{color:#0c5460;background-color:#bee5eb}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#0c5460;background-color:#abdde5}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#0c5460;border-color:#0c5460}.list-group-item-warning{color:#856404;background-color:#ffeeba}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#856404;background-color:#ffe8a1}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#856404;border-color:#856404}.list-group-item-danger{color:#721c24;background-color:#f5c6cb}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#721c24;background-color:#f1b0b7}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#721c24;border-color:#721c24}.list-group-item-light{color:#818182;background-color:#fdfdfe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#818182;background-color:#ececf6}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#818182;border-color:#818182}.list-group-item-dark{color:#1b1e21;background-color:#c6c8ca}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#1b1e21;background-color:#b9bbbe}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#1b1e21;border-color:#1b1e21}.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close:not(:disabled):not(.disabled){cursor:pointer}.close:not(:disabled):not(.disabled):focus,.close:not(:disabled):not(.disabled):hover{color:#000;text-decoration:none;opacity:.75}button.close{padding:0;background-color:transparent;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out;-webkit-transform:translate(0,-25%);transform:translate(0,-25%)}@media screen and (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{-webkit-transform:translate(0,0);transform:translate(0,0)}.modal-dialog-centered{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;min-height:calc(100% - (.5rem * 2))}.modal-dialog-centered::before{display:block;height:calc(100vh - (.5rem * 2));content:""}.modal-content{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:justify;justify-content:space-between;padding:1rem;border-bottom:1px solid #e9ecef;border-top-left-radius:.3rem;border-top-right-radius:.3rem}.modal-header .close{padding:1rem;margin:-1rem -1rem -1rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;-ms-flex:1 1 auto;flex:1 1 auto;padding:1rem}.modal-footer{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:end;justify-content:flex-end;padding:1rem;border-top:1px solid #e9ecef}.modal-footer>:not(:first-child){margin-left:.25rem}.modal-footer>:not(:last-child){margin-right:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-centered{min-height:calc(100% - (1.75rem * 2))}.modal-dialog-centered::before{height:calc(100vh - (1.75rem * 2))}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg{max-width:800px}}.tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[x-placement^=top],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[x-placement^=top] .arrow,.bs-tooltip-top .arrow{bottom:0}.bs-tooltip-auto[x-placement^=top] .arrow::before,.bs-tooltip-top .arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[x-placement^=right],.bs-tooltip-right{padding:0 .4rem}.bs-tooltip-auto[x-placement^=right] .arrow,.bs-tooltip-right .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=right] .arrow::before,.bs-tooltip-right .arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[x-placement^=bottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[x-placement^=bottom] .arrow,.bs-tooltip-bottom .arrow{top:0}.bs-tooltip-auto[x-placement^=bottom] .arrow::before,.bs-tooltip-bottom .arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[x-placement^=left],.bs-tooltip-left{padding:0 .4rem}.bs-tooltip-auto[x-placement^=left] .arrow,.bs-tooltip-left .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=left] .arrow::before,.bs-tooltip-left .arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:276px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover .arrow{position:absolute;display:block;width:1rem;height:.5rem;margin:0 .3rem}.popover .arrow::after,.popover .arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-auto[x-placement^=top],.bs-popover-top{margin-bottom:.5rem}.bs-popover-auto[x-placement^=top] .arrow,.bs-popover-top .arrow{bottom:calc((.5rem + 1px) * -1)}.bs-popover-auto[x-placement^=top] .arrow::after,.bs-popover-auto[x-placement^=top] .arrow::before,.bs-popover-top .arrow::after,.bs-popover-top .arrow::before{border-width:.5rem .5rem 0}.bs-popover-auto[x-placement^=top] .arrow::before,.bs-popover-top .arrow::before{bottom:0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=top] .arrow::after,.bs-popover-top .arrow::after{bottom:1px;border-top-color:#fff}.bs-popover-auto[x-placement^=right],.bs-popover-right{margin-left:.5rem}.bs-popover-auto[x-placement^=right] .arrow,.bs-popover-right .arrow{left:calc((.5rem + 1px) * -1);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=right] .arrow::after,.bs-popover-auto[x-placement^=right] .arrow::before,.bs-popover-right .arrow::after,.bs-popover-right .arrow::before{border-width:.5rem .5rem .5rem 0}.bs-popover-auto[x-placement^=right] .arrow::before,.bs-popover-right .arrow::before{left:0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=right] .arrow::after,.bs-popover-right .arrow::after{left:1px;border-right-color:#fff}.bs-popover-auto[x-placement^=bottom],.bs-popover-bottom{margin-top:.5rem}.bs-popover-auto[x-placement^=bottom] .arrow,.bs-popover-bottom .arrow{top:calc((.5rem + 1px) * -1)}.bs-popover-auto[x-placement^=bottom] .arrow::after,.bs-popover-auto[x-placement^=bottom] .arrow::before,.bs-popover-bottom .arrow::after,.bs-popover-bottom .arrow::before{border-width:0 .5rem .5rem .5rem}.bs-popover-auto[x-placement^=bottom] .arrow::before,.bs-popover-bottom .arrow::before{top:0;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=bottom] .arrow::after,.bs-popover-bottom .arrow::after{top:1px;border-bottom-color:#fff}.bs-popover-auto[x-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f7f7f7}.bs-popover-auto[x-placement^=left],.bs-popover-left{margin-right:.5rem}.bs-popover-auto[x-placement^=left] .arrow,.bs-popover-left .arrow{right:calc((.5rem + 1px) * -1);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=left] .arrow::after,.bs-popover-auto[x-placement^=left] .arrow::before,.bs-popover-left .arrow::after,.bs-popover-left .arrow::before{border-width:.5rem 0 .5rem .5rem}.bs-popover-auto[x-placement^=left] .arrow::before,.bs-popover-left .arrow::before{right:0;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=left] .arrow::after,.bs-popover-left .arrow::after{right:1px;border-left-color:#fff}.popover-header{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;color:inherit;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:.5rem .75rem;color:#212529}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-item{position:relative;display:none;-ms-flex-align:center;align-items:center;width:100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block;transition:-webkit-transform .6s ease;transition:transform .6s ease;transition:transform .6s ease,-webkit-transform .6s ease}@media screen and (prefers-reduced-motion:reduce){.carousel-item-next,.carousel-item-prev,.carousel-item.active{transition:none}}.carousel-item-next,.carousel-item-prev{position:absolute;top:0}.carousel-item-next.carousel-item-left,.carousel-item-prev.carousel-item-right{-webkit-transform:translateX(0);transform:translateX(0)}@supports ((-webkit-transform-style:preserve-3d) or (transform-style:preserve-3d)){.carousel-item-next.carousel-item-left,.carousel-item-prev.carousel-item-right{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.active.carousel-item-right,.carousel-item-next{-webkit-transform:translateX(100%);transform:translateX(100%)}@supports ((-webkit-transform-style:preserve-3d) or (transform-style:preserve-3d)){.active.carousel-item-right,.carousel-item-next{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.active.carousel-item-left,.carousel-item-prev{-webkit-transform:translateX(-100%);transform:translateX(-100%)}@supports ((-webkit-transform-style:preserve-3d) or (transform-style:preserve-3d)){.active.carousel-item-left,.carousel-item-prev{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.carousel-fade .carousel-item{opacity:0;transition-duration:.6s;transition-property:opacity}.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right,.carousel-fade .carousel-item.active{opacity:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{opacity:0}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-prev,.carousel-fade .carousel-item-next,.carousel-fade .carousel-item-prev,.carousel-fade .carousel-item.active{-webkit-transform:translateX(0);transform:translateX(0)}@supports ((-webkit-transform-style:preserve-3d) or (transform-style:preserve-3d)){.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-prev,.carousel-fade .carousel-item-next,.carousel-fade .carousel-item-prev,.carousel-fade .carousel-item.active{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:20px;height:20px;background:transparent no-repeat center center;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E")}.carousel-control-next-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E")}.carousel-indicators{position:absolute;right:0;bottom:10px;left:0;z-index:15;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{position:relative;-ms-flex:0 1 auto;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:rgba(255,255,255,.5)}.carousel-indicators li::before{position:absolute;top:-10px;left:0;display:inline-block;width:100%;height:10px;content:""}.carousel-indicators li::after{position:absolute;bottom:-10px;left:0;display:inline-block;width:100%;height:10px;content:""}.carousel-indicators .active{background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.bg-primary{background-color:#007bff!important}a.bg-primary:focus,a.bg-primary:hover,button.bg-primary:focus,button.bg-primary:hover{background-color:#0062cc!important}.bg-secondary{background-color:#6c757d!important}a.bg-secondary:focus,a.bg-secondary:hover,button.bg-secondary:focus,button.bg-secondary:hover{background-color:#545b62!important}.bg-success{background-color:#28a745!important}a.bg-success:focus,a.bg-success:hover,button.bg-success:focus,button.bg-success:hover{background-color:#1e7e34!important}.bg-info{background-color:#17a2b8!important}a.bg-info:focus,a.bg-info:hover,button.bg-info:focus,button.bg-info:hover{background-color:#117a8b!important}.bg-warning{background-color:#ffc107!important}a.bg-warning:focus,a.bg-warning:hover,button.bg-warning:focus,button.bg-warning:hover{background-color:#d39e00!important}.bg-danger{background-color:#dc3545!important}a.bg-danger:focus,a.bg-danger:hover,button.bg-danger:focus,button.bg-danger:hover{background-color:#bd2130!important}.bg-light{background-color:#f8f9fa!important}a.bg-light:focus,a.bg-light:hover,button.bg-light:focus,button.bg-light:hover{background-color:#dae0e5!important}.bg-dark{background-color:#343a40!important}a.bg-dark:focus,a.bg-dark:hover,button.bg-dark:focus,button.bg-dark:hover{background-color:#1d2124!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:transparent!important}.border{border:1px solid #dee2e6!important}.border-top{border-top:1px solid #dee2e6!important}.border-right{border-right:1px solid #dee2e6!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-left{border-left:1px solid #dee2e6!important}.border-0{border:0!important}.border-top-0{border-top:0!important}.border-right-0{border-right:0!important}.border-bottom-0{border-bottom:0!important}.border-left-0{border-left:0!important}.border-primary{border-color:#007bff!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#28a745!important}.border-info{border-color:#17a2b8!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#343a40!important}.border-white{border-color:#fff!important}.rounded{border-radius:.25rem!important}.rounded-top{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}.rounded-right{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.rounded-bottom{border-bottom-right-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-left{border-top-left-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-circle{border-radius:50%!important}.rounded-0{border-radius:0!important}.clearfix::after{display:block;clear:both;content:""}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:-ms-flexbox!important;display:flex!important}.d-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:-ms-flexbox!important;display:flex!important}.d-sm-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:-ms-flexbox!important;display:flex!important}.d-md-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:-ms-flexbox!important;display:flex!important}.d-lg-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:-ms-flexbox!important;display:flex!important}.d-xl-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:-ms-flexbox!important;display:flex!important}.d-print-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}.embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive::before{display:block;content:""}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9::before{padding-top:42.857143%}.embed-responsive-16by9::before{padding-top:56.25%}.embed-responsive-4by3::before{padding-top:75%}.embed-responsive-1by1::before{padding-top:100%}.flex-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-center{-ms-flex-align:center!important;align-items:center!important}.align-items-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}@media (min-width:576px){.flex-sm-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-sm-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-sm-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-sm-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-sm-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-sm-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-sm-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-sm-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-sm-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-sm-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-sm-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-sm-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-sm-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-sm-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-sm-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-sm-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-sm-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-sm-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-sm-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-sm-center{-ms-flex-align:center!important;align-items:center!important}.align-items-sm-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-sm-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-sm-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-sm-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-sm-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-sm-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-sm-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-sm-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-sm-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-sm-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-sm-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-sm-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-sm-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-sm-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:768px){.flex-md-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-md-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-md-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-md-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-md-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-md-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-md-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-md-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-md-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-md-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-md-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-md-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-md-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-md-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-md-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-md-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-md-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-md-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-md-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-md-center{-ms-flex-align:center!important;align-items:center!important}.align-items-md-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-md-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-md-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-md-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-md-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-md-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-md-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-md-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-md-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-md-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-md-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-md-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-md-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-md-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:992px){.flex-lg-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-lg-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-lg-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-lg-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-lg-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-lg-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-lg-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-lg-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-lg-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-lg-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-lg-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-lg-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-lg-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-lg-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-lg-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-lg-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-lg-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-lg-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-lg-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-lg-center{-ms-flex-align:center!important;align-items:center!important}.align-items-lg-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-lg-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-lg-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-lg-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-lg-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-lg-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-lg-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-lg-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-lg-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-lg-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-lg-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-lg-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-lg-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-lg-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:1200px){.flex-xl-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-xl-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-xl-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xl-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xl-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xl-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xl-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-xl-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-xl-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-xl-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-xl-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-xl-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-xl-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xl-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xl-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xl-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-xl-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-xl-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xl-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xl-center{-ms-flex-align:center!important;align-items:center!important}.align-items-xl-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xl-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-xl-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xl-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xl-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xl-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xl-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xl-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xl-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-xl-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xl-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xl-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-xl-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xl-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}@media (min-width:576px){.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}}@media (min-width:768px){.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}}@media (min-width:992px){.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}}@media (min-width:1200px){.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}@supports ((position:-webkit-sticky) or (position:sticky)){.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mw-100{max-width:100%!important}.mh-100{max-height:100%!important}.m-0{margin:0!important}.mt-0,.my-0{margin-top:0!important}.mr-0,.mx-0{margin-right:0!important}.mb-0,.my-0{margin-bottom:0!important}.ml-0,.mx-0{margin-left:0!important}.m-1{margin:.25rem!important}.mt-1,.my-1{margin-top:.25rem!important}.mr-1,.mx-1{margin-right:.25rem!important}.mb-1,.my-1{margin-bottom:.25rem!important}.ml-1,.mx-1{margin-left:.25rem!important}.m-2{margin:.5rem!important}.mt-2,.my-2{margin-top:.5rem!important}.mr-2,.mx-2{margin-right:.5rem!important}.mb-2,.my-2{margin-bottom:.5rem!important}.ml-2,.mx-2{margin-left:.5rem!important}.m-3{margin:1rem!important}.mt-3,.my-3{margin-top:1rem!important}.mr-3,.mx-3{margin-right:1rem!important}.mb-3,.my-3{margin-bottom:1rem!important}.ml-3,.mx-3{margin-left:1rem!important}.m-4{margin:1.5rem!important}.mt-4,.my-4{margin-top:1.5rem!important}.mr-4,.mx-4{margin-right:1.5rem!important}.mb-4,.my-4{margin-bottom:1.5rem!important}.ml-4,.mx-4{margin-left:1.5rem!important}.m-5{margin:3rem!important}.mt-5,.my-5{margin-top:3rem!important}.mr-5,.mx-5{margin-right:3rem!important}.mb-5,.my-5{margin-bottom:3rem!important}.ml-5,.mx-5{margin-left:3rem!important}.p-0{padding:0!important}.pt-0,.py-0{padding-top:0!important}.pr-0,.px-0{padding-right:0!important}.pb-0,.py-0{padding-bottom:0!important}.pl-0,.px-0{padding-left:0!important}.p-1{padding:.25rem!important}.pt-1,.py-1{padding-top:.25rem!important}.pr-1,.px-1{padding-right:.25rem!important}.pb-1,.py-1{padding-bottom:.25rem!important}.pl-1,.px-1{padding-left:.25rem!important}.p-2{padding:.5rem!important}.pt-2,.py-2{padding-top:.5rem!important}.pr-2,.px-2{padding-right:.5rem!important}.pb-2,.py-2{padding-bottom:.5rem!important}.pl-2,.px-2{padding-left:.5rem!important}.p-3{padding:1rem!important}.pt-3,.py-3{padding-top:1rem!important}.pr-3,.px-3{padding-right:1rem!important}.pb-3,.py-3{padding-bottom:1rem!important}.pl-3,.px-3{padding-left:1rem!important}.p-4{padding:1.5rem!important}.pt-4,.py-4{padding-top:1.5rem!important}.pr-4,.px-4{padding-right:1.5rem!important}.pb-4,.py-4{padding-bottom:1.5rem!important}.pl-4,.px-4{padding-left:1.5rem!important}.p-5{padding:3rem!important}.pt-5,.py-5{padding-top:3rem!important}.pr-5,.px-5{padding-right:3rem!important}.pb-5,.py-5{padding-bottom:3rem!important}.pl-5,.px-5{padding-left:3rem!important}.m-auto{margin:auto!important}.mt-auto,.my-auto{margin-top:auto!important}.mr-auto,.mx-auto{margin-right:auto!important}.mb-auto,.my-auto{margin-bottom:auto!important}.ml-auto,.mx-auto{margin-left:auto!important}@media (min-width:576px){.m-sm-0{margin:0!important}.mt-sm-0,.my-sm-0{margin-top:0!important}.mr-sm-0,.mx-sm-0{margin-right:0!important}.mb-sm-0,.my-sm-0{margin-bottom:0!important}.ml-sm-0,.mx-sm-0{margin-left:0!important}.m-sm-1{margin:.25rem!important}.mt-sm-1,.my-sm-1{margin-top:.25rem!important}.mr-sm-1,.mx-sm-1{margin-right:.25rem!important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem!important}.ml-sm-1,.mx-sm-1{margin-left:.25rem!important}.m-sm-2{margin:.5rem!important}.mt-sm-2,.my-sm-2{margin-top:.5rem!important}.mr-sm-2,.mx-sm-2{margin-right:.5rem!important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem!important}.ml-sm-2,.mx-sm-2{margin-left:.5rem!important}.m-sm-3{margin:1rem!important}.mt-sm-3,.my-sm-3{margin-top:1rem!important}.mr-sm-3,.mx-sm-3{margin-right:1rem!important}.mb-sm-3,.my-sm-3{margin-bottom:1rem!important}.ml-sm-3,.mx-sm-3{margin-left:1rem!important}.m-sm-4{margin:1.5rem!important}.mt-sm-4,.my-sm-4{margin-top:1.5rem!important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem!important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem!important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem!important}.m-sm-5{margin:3rem!important}.mt-sm-5,.my-sm-5{margin-top:3rem!important}.mr-sm-5,.mx-sm-5{margin-right:3rem!important}.mb-sm-5,.my-sm-5{margin-bottom:3rem!important}.ml-sm-5,.mx-sm-5{margin-left:3rem!important}.p-sm-0{padding:0!important}.pt-sm-0,.py-sm-0{padding-top:0!important}.pr-sm-0,.px-sm-0{padding-right:0!important}.pb-sm-0,.py-sm-0{padding-bottom:0!important}.pl-sm-0,.px-sm-0{padding-left:0!important}.p-sm-1{padding:.25rem!important}.pt-sm-1,.py-sm-1{padding-top:.25rem!important}.pr-sm-1,.px-sm-1{padding-right:.25rem!important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem!important}.pl-sm-1,.px-sm-1{padding-left:.25rem!important}.p-sm-2{padding:.5rem!important}.pt-sm-2,.py-sm-2{padding-top:.5rem!important}.pr-sm-2,.px-sm-2{padding-right:.5rem!important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem!important}.pl-sm-2,.px-sm-2{padding-left:.5rem!important}.p-sm-3{padding:1rem!important}.pt-sm-3,.py-sm-3{padding-top:1rem!important}.pr-sm-3,.px-sm-3{padding-right:1rem!important}.pb-sm-3,.py-sm-3{padding-bottom:1rem!important}.pl-sm-3,.px-sm-3{padding-left:1rem!important}.p-sm-4{padding:1.5rem!important}.pt-sm-4,.py-sm-4{padding-top:1.5rem!important}.pr-sm-4,.px-sm-4{padding-right:1.5rem!important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem!important}.pl-sm-4,.px-sm-4{padding-left:1.5rem!important}.p-sm-5{padding:3rem!important}.pt-sm-5,.py-sm-5{padding-top:3rem!important}.pr-sm-5,.px-sm-5{padding-right:3rem!important}.pb-sm-5,.py-sm-5{padding-bottom:3rem!important}.pl-sm-5,.px-sm-5{padding-left:3rem!important}.m-sm-auto{margin:auto!important}.mt-sm-auto,.my-sm-auto{margin-top:auto!important}.mr-sm-auto,.mx-sm-auto{margin-right:auto!important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto!important}.ml-sm-auto,.mx-sm-auto{margin-left:auto!important}}@media (min-width:768px){.m-md-0{margin:0!important}.mt-md-0,.my-md-0{margin-top:0!important}.mr-md-0,.mx-md-0{margin-right:0!important}.mb-md-0,.my-md-0{margin-bottom:0!important}.ml-md-0,.mx-md-0{margin-left:0!important}.m-md-1{margin:.25rem!important}.mt-md-1,.my-md-1{margin-top:.25rem!important}.mr-md-1,.mx-md-1{margin-right:.25rem!important}.mb-md-1,.my-md-1{margin-bottom:.25rem!important}.ml-md-1,.mx-md-1{margin-left:.25rem!important}.m-md-2{margin:.5rem!important}.mt-md-2,.my-md-2{margin-top:.5rem!important}.mr-md-2,.mx-md-2{margin-right:.5rem!important}.mb-md-2,.my-md-2{margin-bottom:.5rem!important}.ml-md-2,.mx-md-2{margin-left:.5rem!important}.m-md-3{margin:1rem!important}.mt-md-3,.my-md-3{margin-top:1rem!important}.mr-md-3,.mx-md-3{margin-right:1rem!important}.mb-md-3,.my-md-3{margin-bottom:1rem!important}.ml-md-3,.mx-md-3{margin-left:1rem!important}.m-md-4{margin:1.5rem!important}.mt-md-4,.my-md-4{margin-top:1.5rem!important}.mr-md-4,.mx-md-4{margin-right:1.5rem!important}.mb-md-4,.my-md-4{margin-bottom:1.5rem!important}.ml-md-4,.mx-md-4{margin-left:1.5rem!important}.m-md-5{margin:3rem!important}.mt-md-5,.my-md-5{margin-top:3rem!important}.mr-md-5,.mx-md-5{margin-right:3rem!important}.mb-md-5,.my-md-5{margin-bottom:3rem!important}.ml-md-5,.mx-md-5{margin-left:3rem!important}.p-md-0{padding:0!important}.pt-md-0,.py-md-0{padding-top:0!important}.pr-md-0,.px-md-0{padding-right:0!important}.pb-md-0,.py-md-0{padding-bottom:0!important}.pl-md-0,.px-md-0{padding-left:0!important}.p-md-1{padding:.25rem!important}.pt-md-1,.py-md-1{padding-top:.25rem!important}.pr-md-1,.px-md-1{padding-right:.25rem!important}.pb-md-1,.py-md-1{padding-bottom:.25rem!important}.pl-md-1,.px-md-1{padding-left:.25rem!important}.p-md-2{padding:.5rem!important}.pt-md-2,.py-md-2{padding-top:.5rem!important}.pr-md-2,.px-md-2{padding-right:.5rem!important}.pb-md-2,.py-md-2{padding-bottom:.5rem!important}.pl-md-2,.px-md-2{padding-left:.5rem!important}.p-md-3{padding:1rem!important}.pt-md-3,.py-md-3{padding-top:1rem!important}.pr-md-3,.px-md-3{padding-right:1rem!important}.pb-md-3,.py-md-3{padding-bottom:1rem!important}.pl-md-3,.px-md-3{padding-left:1rem!important}.p-md-4{padding:1.5rem!important}.pt-md-4,.py-md-4{padding-top:1.5rem!important}.pr-md-4,.px-md-4{padding-right:1.5rem!important}.pb-md-4,.py-md-4{padding-bottom:1.5rem!important}.pl-md-4,.px-md-4{padding-left:1.5rem!important}.p-md-5{padding:3rem!important}.pt-md-5,.py-md-5{padding-top:3rem!important}.pr-md-5,.px-md-5{padding-right:3rem!important}.pb-md-5,.py-md-5{padding-bottom:3rem!important}.pl-md-5,.px-md-5{padding-left:3rem!important}.m-md-auto{margin:auto!important}.mt-md-auto,.my-md-auto{margin-top:auto!important}.mr-md-auto,.mx-md-auto{margin-right:auto!important}.mb-md-auto,.my-md-auto{margin-bottom:auto!important}.ml-md-auto,.mx-md-auto{margin-left:auto!important}}@media (min-width:992px){.m-lg-0{margin:0!important}.mt-lg-0,.my-lg-0{margin-top:0!important}.mr-lg-0,.mx-lg-0{margin-right:0!important}.mb-lg-0,.my-lg-0{margin-bottom:0!important}.ml-lg-0,.mx-lg-0{margin-left:0!important}.m-lg-1{margin:.25rem!important}.mt-lg-1,.my-lg-1{margin-top:.25rem!important}.mr-lg-1,.mx-lg-1{margin-right:.25rem!important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem!important}.ml-lg-1,.mx-lg-1{margin-left:.25rem!important}.m-lg-2{margin:.5rem!important}.mt-lg-2,.my-lg-2{margin-top:.5rem!important}.mr-lg-2,.mx-lg-2{margin-right:.5rem!important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem!important}.ml-lg-2,.mx-lg-2{margin-left:.5rem!important}.m-lg-3{margin:1rem!important}.mt-lg-3,.my-lg-3{margin-top:1rem!important}.mr-lg-3,.mx-lg-3{margin-right:1rem!important}.mb-lg-3,.my-lg-3{margin-bottom:1rem!important}.ml-lg-3,.mx-lg-3{margin-left:1rem!important}.m-lg-4{margin:1.5rem!important}.mt-lg-4,.my-lg-4{margin-top:1.5rem!important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem!important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem!important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem!important}.m-lg-5{margin:3rem!important}.mt-lg-5,.my-lg-5{margin-top:3rem!important}.mr-lg-5,.mx-lg-5{margin-right:3rem!important}.mb-lg-5,.my-lg-5{margin-bottom:3rem!important}.ml-lg-5,.mx-lg-5{margin-left:3rem!important}.p-lg-0{padding:0!important}.pt-lg-0,.py-lg-0{padding-top:0!important}.pr-lg-0,.px-lg-0{padding-right:0!important}.pb-lg-0,.py-lg-0{padding-bottom:0!important}.pl-lg-0,.px-lg-0{padding-left:0!important}.p-lg-1{padding:.25rem!important}.pt-lg-1,.py-lg-1{padding-top:.25rem!important}.pr-lg-1,.px-lg-1{padding-right:.25rem!important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem!important}.pl-lg-1,.px-lg-1{padding-left:.25rem!important}.p-lg-2{padding:.5rem!important}.pt-lg-2,.py-lg-2{padding-top:.5rem!important}.pr-lg-2,.px-lg-2{padding-right:.5rem!important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem!important}.pl-lg-2,.px-lg-2{padding-left:.5rem!important}.p-lg-3{padding:1rem!important}.pt-lg-3,.py-lg-3{padding-top:1rem!important}.pr-lg-3,.px-lg-3{padding-right:1rem!important}.pb-lg-3,.py-lg-3{padding-bottom:1rem!important}.pl-lg-3,.px-lg-3{padding-left:1rem!important}.p-lg-4{padding:1.5rem!important}.pt-lg-4,.py-lg-4{padding-top:1.5rem!important}.pr-lg-4,.px-lg-4{padding-right:1.5rem!important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem!important}.pl-lg-4,.px-lg-4{padding-left:1.5rem!important}.p-lg-5{padding:3rem!important}.pt-lg-5,.py-lg-5{padding-top:3rem!important}.pr-lg-5,.px-lg-5{padding-right:3rem!important}.pb-lg-5,.py-lg-5{padding-bottom:3rem!important}.pl-lg-5,.px-lg-5{padding-left:3rem!important}.m-lg-auto{margin:auto!important}.mt-lg-auto,.my-lg-auto{margin-top:auto!important}.mr-lg-auto,.mx-lg-auto{margin-right:auto!important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto!important}.ml-lg-auto,.mx-lg-auto{margin-left:auto!important}}@media (min-width:1200px){.m-xl-0{margin:0!important}.mt-xl-0,.my-xl-0{margin-top:0!important}.mr-xl-0,.mx-xl-0{margin-right:0!important}.mb-xl-0,.my-xl-0{margin-bottom:0!important}.ml-xl-0,.mx-xl-0{margin-left:0!important}.m-xl-1{margin:.25rem!important}.mt-xl-1,.my-xl-1{margin-top:.25rem!important}.mr-xl-1,.mx-xl-1{margin-right:.25rem!important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem!important}.ml-xl-1,.mx-xl-1{margin-left:.25rem!important}.m-xl-2{margin:.5rem!important}.mt-xl-2,.my-xl-2{margin-top:.5rem!important}.mr-xl-2,.mx-xl-2{margin-right:.5rem!important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem!important}.ml-xl-2,.mx-xl-2{margin-left:.5rem!important}.m-xl-3{margin:1rem!important}.mt-xl-3,.my-xl-3{margin-top:1rem!important}.mr-xl-3,.mx-xl-3{margin-right:1rem!important}.mb-xl-3,.my-xl-3{margin-bottom:1rem!important}.ml-xl-3,.mx-xl-3{margin-left:1rem!important}.m-xl-4{margin:1.5rem!important}.mt-xl-4,.my-xl-4{margin-top:1.5rem!important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem!important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem!important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem!important}.m-xl-5{margin:3rem!important}.mt-xl-5,.my-xl-5{margin-top:3rem!important}.mr-xl-5,.mx-xl-5{margin-right:3rem!important}.mb-xl-5,.my-xl-5{margin-bottom:3rem!important}.ml-xl-5,.mx-xl-5{margin-left:3rem!important}.p-xl-0{padding:0!important}.pt-xl-0,.py-xl-0{padding-top:0!important}.pr-xl-0,.px-xl-0{padding-right:0!important}.pb-xl-0,.py-xl-0{padding-bottom:0!important}.pl-xl-0,.px-xl-0{padding-left:0!important}.p-xl-1{padding:.25rem!important}.pt-xl-1,.py-xl-1{padding-top:.25rem!important}.pr-xl-1,.px-xl-1{padding-right:.25rem!important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem!important}.pl-xl-1,.px-xl-1{padding-left:.25rem!important}.p-xl-2{padding:.5rem!important}.pt-xl-2,.py-xl-2{padding-top:.5rem!important}.pr-xl-2,.px-xl-2{padding-right:.5rem!important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem!important}.pl-xl-2,.px-xl-2{padding-left:.5rem!important}.p-xl-3{padding:1rem!important}.pt-xl-3,.py-xl-3{padding-top:1rem!important}.pr-xl-3,.px-xl-3{padding-right:1rem!important}.pb-xl-3,.py-xl-3{padding-bottom:1rem!important}.pl-xl-3,.px-xl-3{padding-left:1rem!important}.p-xl-4{padding:1.5rem!important}.pt-xl-4,.py-xl-4{padding-top:1.5rem!important}.pr-xl-4,.px-xl-4{padding-right:1.5rem!important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem!important}.pl-xl-4,.px-xl-4{padding-left:1.5rem!important}.p-xl-5{padding:3rem!important}.pt-xl-5,.py-xl-5{padding-top:3rem!important}.pr-xl-5,.px-xl-5{padding-right:3rem!important}.pb-xl-5,.py-xl-5{padding-bottom:3rem!important}.pl-xl-5,.px-xl-5{padding-left:3rem!important}.m-xl-auto{margin:auto!important}.mt-xl-auto,.my-xl-auto{margin-top:auto!important}.mr-xl-auto,.mx-xl-auto{margin-right:auto!important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto!important}.ml-xl-auto,.mx-xl-auto{margin-left:auto!important}}.text-monospace{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}.text-justify{text-align:justify!important}.text-nowrap{white-space:nowrap!important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}@media (min-width:576px){.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.font-weight-light{font-weight:300!important}.font-weight-normal{font-weight:400!important}.font-weight-bold{font-weight:700!important}.font-italic{font-style:italic!important}.text-white{color:#fff!important}.text-primary{color:#007bff!important}a.text-primary:focus,a.text-primary:hover{color:#0062cc!important}.text-secondary{color:#6c757d!important}a.text-secondary:focus,a.text-secondary:hover{color:#545b62!important}.text-success{color:#28a745!important}a.text-success:focus,a.text-success:hover{color:#1e7e34!important}.text-info{color:#17a2b8!important}a.text-info:focus,a.text-info:hover{color:#117a8b!important}.text-warning{color:#ffc107!important}a.text-warning:focus,a.text-warning:hover{color:#d39e00!important}.text-danger{color:#dc3545!important}a.text-danger:focus,a.text-danger:hover{color:#bd2130!important}.text-light{color:#f8f9fa!important}a.text-light:focus,a.text-light:hover{color:#dae0e5!important}.text-dark{color:#343a40!important}a.text-dark:focus,a.text-dark:hover{color:#1d2124!important}.text-body{color:#212529!important}.text-muted{color:#6c757d!important}.text-black-50{color:rgba(0,0,0,.5)!important}.text-white-50{color:rgba(255,255,255,.5)!important}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media print{*,::after,::before{text-shadow:none!important;box-shadow:none!important}a:not(.btn){text-decoration:underline}abbr[title]::after{content:" (" attr(title) ")"}pre{white-space:pre-wrap!important}blockquote,pre{border:1px solid #adb5bd;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}@page{size:a3}body{min-width:992px!important}.container{min-width:992px!important}.navbar{display:none}.badge{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #dee2e6!important}.table-dark{color:inherit}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#dee2e6}.table .thead-dark th{color:inherit;border-color:#dee2e6}} -/*# sourceMappingURL=bootstrap.min.css.map */ diff --git a/paragonik-backend/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/css/custom.css b/paragonik-backend/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/css/custom.css deleted file mode 100644 index e69de29..0000000 diff --git a/paragonik-backend/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/css/nv.d3.min.css b/paragonik-backend/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/css/nv.d3.min.css deleted file mode 100644 index 7a6f7fe..0000000 --- a/paragonik-backend/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/css/nv.d3.min.css +++ /dev/null @@ -1 +0,0 @@ -.nvd3 .nv-axis{pointer-events:none;opacity:1}.nvd3 .nv-axis path{fill:none;stroke:#000;stroke-opacity:.75;shape-rendering:crispEdges}.nvd3 .nv-axis path.domain{stroke-opacity:.75}.nvd3 .nv-axis.nv-x path.domain{stroke-opacity:0}.nvd3 .nv-axis line{fill:none;stroke:#e5e5e5;shape-rendering:crispEdges}.nvd3 .nv-axis .zero line,.nvd3 .nv-axis line.zero{stroke-opacity:.75}.nvd3 .nv-axis .nv-axisMaxMin text{font-weight:700}.nvd3 .x .nv-axis .nv-axisMaxMin text,.nvd3 .x2 .nv-axis .nv-axisMaxMin text,.nvd3 .x3 .nv-axis .nv-axisMaxMin text{text-anchor:middle}.nvd3 .nv-axis.nv-disabled{opacity:0}.nvd3 .nv-bars rect{fill-opacity:.75;transition:fill-opacity 250ms linear;-moz-transition:fill-opacity 250ms linear;-webkit-transition:fill-opacity 250ms linear}.nvd3 .nv-bars rect.hover{fill-opacity:1}.nvd3 .nv-bars .hover rect{fill:#add8e6}.nvd3 .nv-bars text{fill:rgba(0,0,0,0)}.nvd3 .nv-bars .hover text{fill:rgba(0,0,0,1)}.nvd3 .nv-multibar .nv-groups rect,.nvd3 .nv-multibarHorizontal .nv-groups rect,.nvd3 .nv-discretebar .nv-groups rect{stroke-opacity:0;transition:fill-opacity 250ms linear;-moz-transition:fill-opacity 250ms linear;-webkit-transition:fill-opacity 250ms linear}.nvd3 .nv-multibar .nv-groups rect:hover,.nvd3 .nv-multibarHorizontal .nv-groups rect:hover,.nvd3 .nv-candlestickBar .nv-ticks rect:hover,.nvd3 .nv-discretebar .nv-groups rect:hover{fill-opacity:1}.nvd3 .nv-discretebar .nv-groups text,.nvd3 .nv-multibarHorizontal .nv-groups text{font-weight:700;fill:rgba(0,0,0,1);stroke:rgba(0,0,0,0)}.nvd3 .nv-boxplot circle{fill-opacity:.5}.nvd3 .nv-boxplot circle:hover{fill-opacity:1}.nvd3 .nv-boxplot rect:hover{fill-opacity:1}.nvd3 line.nv-boxplot-median{stroke:#000}.nv-boxplot-tick:hover{stroke-width:2.5px}.nvd3.nv-bullet{font:10px sans-serif}.nvd3.nv-bullet .nv-measure{fill-opacity:.8}.nvd3.nv-bullet .nv-measure:hover{fill-opacity:1}.nvd3.nv-bullet .nv-marker{stroke:#000;stroke-width:2px}.nvd3.nv-bullet .nv-markerTriangle{stroke:#000;fill:#fff;stroke-width:1.5px}.nvd3.nv-bullet .nv-tick line{stroke:#666;stroke-width:.5px}.nvd3.nv-bullet .nv-range.nv-s0{fill:#eee}.nvd3.nv-bullet .nv-range.nv-s1{fill:#ddd}.nvd3.nv-bullet .nv-range.nv-s2{fill:#ccc}.nvd3.nv-bullet .nv-title{font-size:14px;font-weight:700}.nvd3.nv-bullet .nv-subtitle{fill:#999}.nvd3.nv-bullet .nv-range{fill:#bababa;fill-opacity:.4}.nvd3.nv-bullet .nv-range:hover{fill-opacity:.7}.nvd3.nv-candlestickBar .nv-ticks .nv-tick{stroke-width:1px}.nvd3.nv-candlestickBar .nv-ticks .nv-tick.hover{stroke-width:2px}.nvd3.nv-candlestickBar .nv-ticks .nv-tick.positive rect{stroke:#2ca02c;fill:#2ca02c}.nvd3.nv-candlestickBar .nv-ticks .nv-tick.negative rect{stroke:#d62728;fill:#d62728}.with-transitions .nv-candlestickBar .nv-ticks .nv-tick{transition:stroke-width 250ms linear,stroke-opacity 250ms linear;-moz-transition:stroke-width 250ms linear,stroke-opacity 250ms linear;-webkit-transition:stroke-width 250ms linear,stroke-opacity 250ms linear}.nvd3.nv-candlestickBar .nv-ticks line{stroke:#333}.nvd3 .nv-legend .nv-disabled rect{}.nvd3 .nv-check-box .nv-box{fill-opacity:0;stroke-width:2}.nvd3 .nv-check-box .nv-check{fill-opacity:0;stroke-width:4}.nvd3 .nv-series.nv-disabled .nv-check-box .nv-check{fill-opacity:0;stroke-opacity:0}.nvd3 .nv-controlsWrap .nv-legend .nv-check-box .nv-check{opacity:0}.nvd3.nv-linePlusBar .nv-bar rect{fill-opacity:.75}.nvd3.nv-linePlusBar .nv-bar rect:hover{fill-opacity:1}.nvd3 .nv-groups path.nv-line{fill:none}.nvd3 .nv-groups path.nv-area{stroke:none}.nvd3.nv-line .nvd3.nv-scatter .nv-groups .nv-point{fill-opacity:0;stroke-opacity:0}.nvd3.nv-scatter.nv-single-point .nv-groups .nv-point{fill-opacity:.5!important;stroke-opacity:.5!important}.with-transitions .nvd3 .nv-groups .nv-point{transition:stroke-width 250ms linear,stroke-opacity 250ms linear;-moz-transition:stroke-width 250ms linear,stroke-opacity 250ms linear;-webkit-transition:stroke-width 250ms linear,stroke-opacity 250ms linear}.nvd3.nv-scatter .nv-groups .nv-point.hover,.nvd3 .nv-groups .nv-point.hover{stroke-width:7px;fill-opacity:.95!important;stroke-opacity:.95!important}.nvd3 .nv-point-paths path{stroke:#aaa;stroke-opacity:0;fill:#eee;fill-opacity:0}.nvd3 .nv-indexLine{cursor:ew-resize}svg.nvd3-svg{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-ms-user-select:none;-moz-user-select:none;user-select:none;display:block;width:100%;height:100%}.nvtooltip.with-3d-shadow,.with-3d-shadow .nvtooltip{-moz-box-shadow:0 5px 10px rgba(0,0,0,.2);-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.nvd3 text{font:400 12px Arial}.nvd3 .title{font:700 14px Arial}.nvd3 .nv-background{fill:#fff;fill-opacity:0}.nvd3.nv-noData{font-size:18px;font-weight:700}.nv-brush .extent{fill-opacity:.125;shape-rendering:crispEdges}.nv-brush .resize path{fill:#eee;stroke:#666}.nvd3 .nv-legend .nv-series{cursor:pointer}.nvd3 .nv-legend .nv-disabled circle{fill-opacity:0}.nvd3 .nv-brush .extent{fill-opacity:0!important}.nvd3 .nv-brushBackground rect{stroke:#000;stroke-width:.4;fill:#fff;fill-opacity:.7}.nvd3.nv-ohlcBar .nv-ticks .nv-tick{stroke-width:1px}.nvd3.nv-ohlcBar .nv-ticks .nv-tick.hover{stroke-width:2px}.nvd3.nv-ohlcBar .nv-ticks .nv-tick.positive{stroke:#2ca02c}.nvd3.nv-ohlcBar .nv-ticks .nv-tick.negative{stroke:#d62728}.nvd3 .background path{fill:none;stroke:#EEE;stroke-opacity:.4;shape-rendering:crispEdges}.nvd3 .foreground path{fill:none;stroke-opacity:.7}.nvd3 .nv-parallelCoordinates-brush .extent{fill:#fff;fill-opacity:.6;stroke:gray;shape-rendering:crispEdges}.nvd3 .nv-parallelCoordinates .hover{fill-opacity:1;stroke-width:3px}.nvd3 .missingValuesline line{fill:none;stroke:#000;stroke-width:1;stroke-opacity:1;stroke-dasharray:5,5}.nvd3.nv-pie path{stroke-opacity:0;transition:fill-opacity 250ms linear,stroke-width 250ms linear,stroke-opacity 250ms linear;-moz-transition:fill-opacity 250ms linear,stroke-width 250ms linear,stroke-opacity 250ms linear;-webkit-transition:fill-opacity 250ms linear,stroke-width 250ms linear,stroke-opacity 250ms linear}.nvd3.nv-pie .nv-pie-title{font-size:24px;fill:rgba(19,196,249,.59)}.nvd3.nv-pie .nv-slice text{stroke:#000;stroke-width:0}.nvd3.nv-pie path{stroke:#fff;stroke-width:1px;stroke-opacity:1}.nvd3.nv-pie .hover path{fill-opacity:.7}.nvd3.nv-pie .nv-label{pointer-events:none}.nvd3.nv-pie .nv-label rect{fill-opacity:0;stroke-opacity:0}.nvd3 .nv-groups .nv-point.hover{stroke-width:20px;stroke-opacity:.5}.nvd3 .nv-scatter .nv-point.hover{fill-opacity:1}.nv-noninteractive{pointer-events:none}.nv-distx,.nv-disty{pointer-events:none}.nvd3.nv-sparkline path{fill:none}.nvd3.nv-sparklineplus g.nv-hoverValue{pointer-events:none}.nvd3.nv-sparklineplus .nv-hoverValue line{stroke:#333;stroke-width:1.5px}.nvd3.nv-sparklineplus,.nvd3.nv-sparklineplus g{pointer-events:all}.nvd3 .nv-hoverArea{fill-opacity:0;stroke-opacity:0}.nvd3.nv-sparklineplus .nv-xValue,.nvd3.nv-sparklineplus .nv-yValue{stroke-width:0;font-size:.9em;font-weight:400}.nvd3.nv-sparklineplus .nv-yValue{stroke:#f66}.nvd3.nv-sparklineplus .nv-maxValue{stroke:#2ca02c;fill:#2ca02c}.nvd3.nv-sparklineplus .nv-minValue{stroke:#d62728;fill:#d62728}.nvd3.nv-sparklineplus .nv-currentValue{font-weight:700;font-size:1.1em}.nvd3.nv-stackedarea path.nv-area{fill-opacity:.7;stroke-opacity:0;transition:fill-opacity 250ms linear,stroke-opacity 250ms linear;-moz-transition:fill-opacity 250ms linear,stroke-opacity 250ms linear;-webkit-transition:fill-opacity 250ms linear,stroke-opacity 250ms linear}.nvd3.nv-stackedarea path.nv-area.hover{fill-opacity:.9}.nvd3.nv-stackedarea .nv-groups .nv-point{stroke-opacity:0;fill-opacity:0}.nvtooltip{position:absolute;background-color:rgba(255,255,255,1);color:rgba(0,0,0,1);padding:1px;border:1px solid rgba(0,0,0,.2);z-index:10000;display:block;font-family:Arial;font-size:13px;text-align:left;pointer-events:none;white-space:nowrap;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.nvtooltip{background:rgba(255,255,255,.8);border:1px solid rgba(0,0,0,.5);border-radius:4px}.nvtooltip.with-transitions,.with-transitions .nvtooltip{transition:opacity 50ms linear;-moz-transition:opacity 50ms linear;-webkit-transition:opacity 50ms linear;transition-delay:200ms;-moz-transition-delay:200ms;-webkit-transition-delay:200ms}.nvtooltip.x-nvtooltip,.nvtooltip.y-nvtooltip{padding:8px}.nvtooltip h3{margin:0;padding:4px 14px;line-height:18px;font-weight:400;background-color:rgba(247,247,247,.75);color:rgba(0,0,0,1);text-align:center;border-bottom:1px solid #ebebeb;-webkit-border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0}.nvtooltip p{margin:0;padding:5px 14px;text-align:center}.nvtooltip span{display:inline-block;margin:2px 0}.nvtooltip table{margin:6px;border-spacing:0}.nvtooltip table td{padding:2px 9px 2px 0;vertical-align:middle}.nvtooltip table td.key{font-weight:400}.nvtooltip table td.value{text-align:right;font-weight:700}.nvtooltip table tr.highlight td{padding:1px 9px 1px 0;border-bottom-style:solid;border-bottom-width:1px;border-top-style:solid;border-top-width:1px}.nvtooltip table td.legend-color-guide div{width:8px;height:8px;vertical-align:middle}.nvtooltip table td.legend-color-guide div{width:12px;height:12px;border:1px solid #999}.nvtooltip .footer{padding:3px;text-align:center}.nvtooltip-pending-removal{pointer-events:none;display:none}.nvd3 .nv-interactiveGuideLine{pointer-events:none}.nvd3 line.nv-guideline{stroke:#ccc} \ No newline at end of file diff --git a/paragonik-backend/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/css/octicons.css b/paragonik-backend/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/css/octicons.css deleted file mode 100644 index 31d9786..0000000 --- a/paragonik-backend/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/css/octicons.css +++ /dev/null @@ -1,5 +0,0 @@ -.octicon { - display: inline-block; - vertical-align: text-top; - fill: currentColor; -} diff --git a/paragonik-backend/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/css/style.css b/paragonik-backend/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/css/style.css deleted file mode 100644 index 6d9c21e..0000000 --- a/paragonik-backend/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/css/style.css +++ /dev/null @@ -1,122 +0,0 @@ -body { - padding-top: 10px; -} - -.popover { - max-width: none; -} - -.octicon { - margin-right:.25em; -} - -.table-bordered>thead>tr>td { - border-bottom-width: 1px; -} - -.table tbody>tr>td, .table thead>tr>td { - padding-top: 3px; - padding-bottom: 3px; -} - -.table-condensed tbody>tr>td { - padding-top: 0; - padding-bottom: 0; -} - -.table .progress { - margin-bottom: inherit; -} - -.table-borderless th, .table-borderless td { - border: 0 !important; -} - -.table tbody tr.covered-by-large-tests, li.covered-by-large-tests, tr.success, td.success, li.success, span.success { - background-color: #dff0d8; -} - -.table tbody tr.covered-by-medium-tests, li.covered-by-medium-tests { - background-color: #c3e3b5; -} - -.table tbody tr.covered-by-small-tests, li.covered-by-small-tests { - background-color: #99cb84; -} - -.table tbody tr.danger, .table tbody td.danger, li.danger, span.danger { - background-color: #f2dede; -} - -.table tbody td.warning, li.warning, span.warning { - background-color: #fcf8e3; -} - -.table tbody td.info { - background-color: #d9edf7; -} - -td.big { - width: 117px; -} - -td.small { -} - -td.codeLine { - font-family: "Source Code Pro", "SFMono-Regular", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; - white-space: pre; -} - -td span.comment { - color: #888a85; -} - -td span.default { - color: #2e3436; -} - -td span.html { - color: #888a85; -} - -td span.keyword { - color: #2e3436; - font-weight: bold; -} - -pre span.string { - color: #2e3436; -} - -span.success, span.warning, span.danger { - margin-right: 2px; - padding-left: 10px; - padding-right: 10px; - text-align: center; -} - -#classCoverageDistribution, #classComplexity { - height: 200px; - width: 475px; -} - -#toplink { - position: fixed; - left: 5px; - bottom: 5px; - outline: 0; -} - -svg text { - font-family: "Lucida Grande", "Lucida Sans Unicode", Verdana, Arial, Helvetica, sans-serif; - font-size: 11px; - color: #666; - fill: #666; -} - -.scrollbox { - height:245px; - overflow-x:hidden; - overflow-y:scroll; -} diff --git a/paragonik-backend/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/dashboard.html.dist b/paragonik-backend/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/dashboard.html.dist deleted file mode 100644 index cfa5768..0000000 --- a/paragonik-backend/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/dashboard.html.dist +++ /dev/null @@ -1,281 +0,0 @@ - - - - - Dashboard for {{full_path}} - - - - - - - -
-
-
-
- -
-
-
-
-
-
-
-

Classes

-
-
-
-
-

Coverage Distribution

-
- -
-
-
-

Complexity

-
- -
-
-
-
-
-

Insufficient Coverage

-
- - - - - - - - -{{insufficient_coverage_classes}} - -
ClassCoverage
-
-
-
-

Project Risks

-
- - - - - - - - -{{project_risks_classes}} - -
ClassCRAP
-
-
-
-
-
-

Methods

-
-
-
-
-

Coverage Distribution

-
- -
-
-
-

Complexity

-
- -
-
-
-
-
-

Insufficient Coverage

-
- - - - - - - - -{{insufficient_coverage_methods}} - -
MethodCoverage
-
-
-
-

Project Risks

-
- - - - - - - - -{{project_risks_methods}} - -
MethodCRAP
-
-
-
- -
- - - - - - diff --git a/paragonik-backend/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/directory.html.dist b/paragonik-backend/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/directory.html.dist deleted file mode 100644 index 2fbf691..0000000 --- a/paragonik-backend/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/directory.html.dist +++ /dev/null @@ -1,60 +0,0 @@ - - - - - Code Coverage for {{full_path}} - - - - - - - -
-
-
-
- -
-
-
-
-
-
- - - - - - - - - - - - - - -{{items}} - -
 
Code Coverage
 
Lines
Functions and Methods
Classes and Traits
-
-
-
-

Legend

-

- Low: 0% to {{low_upper_bound}}% - Medium: {{low_upper_bound}}% to {{high_lower_bound}}% - High: {{high_lower_bound}}% to 100% -

-

- Generated by php-code-coverage {{version}} using {{runtime}}{{generator}} at {{date}}. -

-
-
- - diff --git a/paragonik-backend/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/directory_item.html.dist b/paragonik-backend/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/directory_item.html.dist deleted file mode 100644 index f6941a4..0000000 --- a/paragonik-backend/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/directory_item.html.dist +++ /dev/null @@ -1,13 +0,0 @@ - - {{icon}}{{name}} - {{lines_bar}} -
{{lines_executed_percent}}
-
{{lines_number}}
- {{methods_bar}} -
{{methods_tested_percent}}
-
{{methods_number}}
- {{classes_bar}} -
{{classes_tested_percent}}
-
{{classes_number}}
- - diff --git a/paragonik-backend/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/file.html.dist b/paragonik-backend/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/file.html.dist deleted file mode 100644 index 1c33503..0000000 --- a/paragonik-backend/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/file.html.dist +++ /dev/null @@ -1,72 +0,0 @@ - - - - - Code Coverage for {{full_path}} - - - - - - - -
-
-
-
- -
-
-
-
-
-
- - - - - - - - - - - - - - -{{items}} - -
 
Code Coverage
 
Classes and Traits
Functions and Methods
Lines
-
- - -{{lines}} - -
- -
- - - - - - diff --git a/paragonik-backend/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/file_item.html.dist b/paragonik-backend/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/file_item.html.dist deleted file mode 100644 index dc754b3..0000000 --- a/paragonik-backend/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/file_item.html.dist +++ /dev/null @@ -1,14 +0,0 @@ - - {{name}} - {{classes_bar}} -
{{classes_tested_percent}}
-
{{classes_number}}
- {{methods_bar}} -
{{methods_tested_percent}}
-
{{methods_number}}
- {{crap}} - {{lines_bar}} -
{{lines_executed_percent}}
-
{{lines_number}}
- - diff --git a/paragonik-backend/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/icons/file-code.svg b/paragonik-backend/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/icons/file-code.svg deleted file mode 100644 index 5b4b199..0000000 --- a/paragonik-backend/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/icons/file-code.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/paragonik-backend/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/icons/file-directory.svg b/paragonik-backend/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/icons/file-directory.svg deleted file mode 100644 index 4bf1f1c..0000000 --- a/paragonik-backend/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/icons/file-directory.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/paragonik-backend/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/js/bootstrap.min.js b/paragonik-backend/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/js/bootstrap.min.js deleted file mode 100644 index 1a47712..0000000 --- a/paragonik-backend/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/js/bootstrap.min.js +++ /dev/null @@ -1,7 +0,0 @@ -/*! - * Bootstrap v4.1.3 (https://getbootstrap.com/) - * Copyright 2011-2018 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - */ -!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("jquery"),require("popper.js")):"function"==typeof define&&define.amd?define(["exports","jquery","popper.js"],e):e(t.bootstrap={},t.jQuery,t.Popper)}(this,function(t,e,h){"use strict";function i(t,e){for(var n=0;nthis._items.length-1||t<0))if(this._isSliding)P(this._element).one(Q.SLID,function(){return e.to(t)});else{if(n===t)return this.pause(),void this.cycle();var i=ndocument.documentElement.clientHeight;!this._isBodyOverflowing&&t&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!t&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},t._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},t._checkScrollbar=function(){var t=document.body.getBoundingClientRect();this._isBodyOverflowing=t.left+t.right
',trigger:"hover focus",title:"",delay:0,html:!(Ie={AUTO:"auto",TOP:"top",RIGHT:"right",BOTTOM:"bottom",LEFT:"left"}),selector:!(Se={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"(number|string)",container:"(string|element|boolean)",fallbackPlacement:"(string|array)",boundary:"(string|element)"}),placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent"},we="out",Ne={HIDE:"hide"+Ee,HIDDEN:"hidden"+Ee,SHOW:(De="show")+Ee,SHOWN:"shown"+Ee,INSERTED:"inserted"+Ee,CLICK:"click"+Ee,FOCUSIN:"focusin"+Ee,FOCUSOUT:"focusout"+Ee,MOUSEENTER:"mouseenter"+Ee,MOUSELEAVE:"mouseleave"+Ee},Oe="fade",ke="show",Pe=".tooltip-inner",je=".arrow",He="hover",Le="focus",Re="click",xe="manual",We=function(){function i(t,e){if("undefined"==typeof h)throw new TypeError("Bootstrap tooltips require Popper.js (https://popper.js.org)");this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=t,this.config=this._getConfig(e),this.tip=null,this._setListeners()}var t=i.prototype;return t.enable=function(){this._isEnabled=!0},t.disable=function(){this._isEnabled=!1},t.toggleEnabled=function(){this._isEnabled=!this._isEnabled},t.toggle=function(t){if(this._isEnabled)if(t){var e=this.constructor.DATA_KEY,n=pe(t.currentTarget).data(e);n||(n=new this.constructor(t.currentTarget,this._getDelegateConfig()),pe(t.currentTarget).data(e,n)),n._activeTrigger.click=!n._activeTrigger.click,n._isWithActiveTrigger()?n._enter(null,n):n._leave(null,n)}else{if(pe(this.getTipElement()).hasClass(ke))return void this._leave(null,this);this._enter(null,this)}},t.dispose=function(){clearTimeout(this._timeout),pe.removeData(this.element,this.constructor.DATA_KEY),pe(this.element).off(this.constructor.EVENT_KEY),pe(this.element).closest(".modal").off("hide.bs.modal"),this.tip&&pe(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,(this._activeTrigger=null)!==this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},t.show=function(){var e=this;if("none"===pe(this.element).css("display"))throw new Error("Please use show on visible elements");var t=pe.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){pe(this.element).trigger(t);var n=pe.contains(this.element.ownerDocument.documentElement,this.element);if(t.isDefaultPrevented()||!n)return;var i=this.getTipElement(),r=Fn.getUID(this.constructor.NAME);i.setAttribute("id",r),this.element.setAttribute("aria-describedby",r),this.setContent(),this.config.animation&&pe(i).addClass(Oe);var o="function"==typeof this.config.placement?this.config.placement.call(this,i,this.element):this.config.placement,s=this._getAttachment(o);this.addAttachmentClass(s);var a=!1===this.config.container?document.body:pe(document).find(this.config.container);pe(i).data(this.constructor.DATA_KEY,this),pe.contains(this.element.ownerDocument.documentElement,this.tip)||pe(i).appendTo(a),pe(this.element).trigger(this.constructor.Event.INSERTED),this._popper=new h(this.element,i,{placement:s,modifiers:{offset:{offset:this.config.offset},flip:{behavior:this.config.fallbackPlacement},arrow:{element:je},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(t){t.originalPlacement!==t.placement&&e._handlePopperPlacementChange(t)},onUpdate:function(t){e._handlePopperPlacementChange(t)}}),pe(i).addClass(ke),"ontouchstart"in document.documentElement&&pe(document.body).children().on("mouseover",null,pe.noop);var l=function(){e.config.animation&&e._fixTransition();var t=e._hoverState;e._hoverState=null,pe(e.element).trigger(e.constructor.Event.SHOWN),t===we&&e._leave(null,e)};if(pe(this.tip).hasClass(Oe)){var c=Fn.getTransitionDurationFromElement(this.tip);pe(this.tip).one(Fn.TRANSITION_END,l).emulateTransitionEnd(c)}else l()}},t.hide=function(t){var e=this,n=this.getTipElement(),i=pe.Event(this.constructor.Event.HIDE),r=function(){e._hoverState!==De&&n.parentNode&&n.parentNode.removeChild(n),e._cleanTipClass(),e.element.removeAttribute("aria-describedby"),pe(e.element).trigger(e.constructor.Event.HIDDEN),null!==e._popper&&e._popper.destroy(),t&&t()};if(pe(this.element).trigger(i),!i.isDefaultPrevented()){if(pe(n).removeClass(ke),"ontouchstart"in document.documentElement&&pe(document.body).children().off("mouseover",null,pe.noop),this._activeTrigger[Re]=!1,this._activeTrigger[Le]=!1,this._activeTrigger[He]=!1,pe(this.tip).hasClass(Oe)){var o=Fn.getTransitionDurationFromElement(n);pe(n).one(Fn.TRANSITION_END,r).emulateTransitionEnd(o)}else r();this._hoverState=""}},t.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},t.isWithContent=function(){return Boolean(this.getTitle())},t.addAttachmentClass=function(t){pe(this.getTipElement()).addClass(Te+"-"+t)},t.getTipElement=function(){return this.tip=this.tip||pe(this.config.template)[0],this.tip},t.setContent=function(){var t=this.getTipElement();this.setElementContent(pe(t.querySelectorAll(Pe)),this.getTitle()),pe(t).removeClass(Oe+" "+ke)},t.setElementContent=function(t,e){var n=this.config.html;"object"==typeof e&&(e.nodeType||e.jquery)?n?pe(e).parent().is(t)||t.empty().append(e):t.text(pe(e).text()):t[n?"html":"text"](e)},t.getTitle=function(){var t=this.element.getAttribute("data-original-title");return t||(t="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),t},t._getAttachment=function(t){return Ie[t.toUpperCase()]},t._setListeners=function(){var i=this;this.config.trigger.split(" ").forEach(function(t){if("click"===t)pe(i.element).on(i.constructor.Event.CLICK,i.config.selector,function(t){return i.toggle(t)});else if(t!==xe){var e=t===He?i.constructor.Event.MOUSEENTER:i.constructor.Event.FOCUSIN,n=t===He?i.constructor.Event.MOUSELEAVE:i.constructor.Event.FOCUSOUT;pe(i.element).on(e,i.config.selector,function(t){return i._enter(t)}).on(n,i.config.selector,function(t){return i._leave(t)})}pe(i.element).closest(".modal").on("hide.bs.modal",function(){return i.hide()})}),this.config.selector?this.config=l({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},t._fixTitle=function(){var t=typeof this.element.getAttribute("data-original-title");(this.element.getAttribute("title")||"string"!==t)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},t._enter=function(t,e){var n=this.constructor.DATA_KEY;(e=e||pe(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),pe(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusin"===t.type?Le:He]=!0),pe(e.getTipElement()).hasClass(ke)||e._hoverState===De?e._hoverState=De:(clearTimeout(e._timeout),e._hoverState=De,e.config.delay&&e.config.delay.show?e._timeout=setTimeout(function(){e._hoverState===De&&e.show()},e.config.delay.show):e.show())},t._leave=function(t,e){var n=this.constructor.DATA_KEY;(e=e||pe(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),pe(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusout"===t.type?Le:He]=!1),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState=we,e.config.delay&&e.config.delay.hide?e._timeout=setTimeout(function(){e._hoverState===we&&e.hide()},e.config.delay.hide):e.hide())},t._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},t._getConfig=function(t){return"number"==typeof(t=l({},this.constructor.Default,pe(this.element).data(),"object"==typeof t&&t?t:{})).delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),Fn.typeCheckConfig(ve,t,this.constructor.DefaultType),t},t._getDelegateConfig=function(){var t={};if(this.config)for(var e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t},t._cleanTipClass=function(){var t=pe(this.getTipElement()),e=t.attr("class").match(be);null!==e&&e.length&&t.removeClass(e.join(""))},t._handlePopperPlacementChange=function(t){var e=t.instance;this.tip=e.popper,this._cleanTipClass(),this.addAttachmentClass(this._getAttachment(t.placement))},t._fixTransition=function(){var t=this.getTipElement(),e=this.config.animation;null===t.getAttribute("x-placement")&&(pe(t).removeClass(Oe),this.config.animation=!1,this.hide(),this.show(),this.config.animation=e)},i._jQueryInterface=function(n){return this.each(function(){var t=pe(this).data(ye),e="object"==typeof n&&n;if((t||!/dispose|hide/.test(n))&&(t||(t=new i(this,e),pe(this).data(ye,t)),"string"==typeof n)){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n]()}})},s(i,null,[{key:"VERSION",get:function(){return"4.1.3"}},{key:"Default",get:function(){return Ae}},{key:"NAME",get:function(){return ve}},{key:"DATA_KEY",get:function(){return ye}},{key:"Event",get:function(){return Ne}},{key:"EVENT_KEY",get:function(){return Ee}},{key:"DefaultType",get:function(){return Se}}]),i}(),pe.fn[ve]=We._jQueryInterface,pe.fn[ve].Constructor=We,pe.fn[ve].noConflict=function(){return pe.fn[ve]=Ce,We._jQueryInterface},We),Jn=(qe="popover",Ke="."+(Fe="bs.popover"),Me=(Ue=e).fn[qe],Qe="bs-popover",Be=new RegExp("(^|\\s)"+Qe+"\\S+","g"),Ve=l({},zn.Default,{placement:"right",trigger:"click",content:"",template:''}),Ye=l({},zn.DefaultType,{content:"(string|element|function)"}),ze="fade",Ze=".popover-header",Ge=".popover-body",$e={HIDE:"hide"+Ke,HIDDEN:"hidden"+Ke,SHOW:(Je="show")+Ke,SHOWN:"shown"+Ke,INSERTED:"inserted"+Ke,CLICK:"click"+Ke,FOCUSIN:"focusin"+Ke,FOCUSOUT:"focusout"+Ke,MOUSEENTER:"mouseenter"+Ke,MOUSELEAVE:"mouseleave"+Ke},Xe=function(t){var e,n;function i(){return t.apply(this,arguments)||this}n=t,(e=i).prototype=Object.create(n.prototype),(e.prototype.constructor=e).__proto__=n;var r=i.prototype;return r.isWithContent=function(){return this.getTitle()||this._getContent()},r.addAttachmentClass=function(t){Ue(this.getTipElement()).addClass(Qe+"-"+t)},r.getTipElement=function(){return this.tip=this.tip||Ue(this.config.template)[0],this.tip},r.setContent=function(){var t=Ue(this.getTipElement());this.setElementContent(t.find(Ze),this.getTitle());var e=this._getContent();"function"==typeof e&&(e=e.call(this.element)),this.setElementContent(t.find(Ge),e),t.removeClass(ze+" "+Je)},r._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},r._cleanTipClass=function(){var t=Ue(this.getTipElement()),e=t.attr("class").match(Be);null!==e&&0=this._offsets[r]&&("undefined"==typeof this._offsets[r+1]||tn?-1:n>t?1:n>=t?0:NaN}function r(n){return null===n?NaN:+n}function i(n){return!isNaN(n)}function u(n){return{left:function(t,e,r,i){for(arguments.length<3&&(r=0),arguments.length<4&&(i=t.length);i>r;){var u=r+i>>>1;n(t[u],e)<0?r=u+1:i=u}return r},right:function(t,e,r,i){for(arguments.length<3&&(r=0),arguments.length<4&&(i=t.length);i>r;){var u=r+i>>>1;n(t[u],e)>0?i=u:r=u+1}return r}}}function o(n){return n.length}function a(n){for(var t=1;n*t%1;)t*=10;return t}function l(n,t){for(var e in t)Object.defineProperty(n.prototype,e,{value:t[e],enumerable:!1})}function c(){this._=Object.create(null)}function f(n){return(n+="")===bo||n[0]===_o?_o+n:n}function s(n){return(n+="")[0]===_o?n.slice(1):n}function h(n){return f(n)in this._}function p(n){return(n=f(n))in this._&&delete this._[n]}function g(){var n=[];for(var t in this._)n.push(s(t));return n}function v(){var n=0;for(var t in this._)++n;return n}function d(){for(var n in this._)return!1;return!0}function y(){this._=Object.create(null)}function m(n){return n}function M(n,t,e){return function(){var r=e.apply(t,arguments);return r===t?n:r}}function x(n,t){if(t in n)return t;t=t.charAt(0).toUpperCase()+t.slice(1);for(var e=0,r=wo.length;r>e;++e){var i=wo[e]+t;if(i in n)return i}}function b(){}function _(){}function w(n){function t(){for(var t,r=e,i=-1,u=r.length;++ie;e++)for(var i,u=n[e],o=0,a=u.length;a>o;o++)(i=u[o])&&t(i,o,e);return n}function Z(n){return ko(n,qo),n}function V(n){var t,e;return function(r,i,u){var o,a=n[u].update,l=a.length;for(u!=e&&(e=u,t=0),i>=t&&(t=i+1);!(o=a[t])&&++t0&&(n=n.slice(0,a));var c=To.get(n);return c&&(n=c,l=B),a?t?i:r:t?b:u}function $(n,t){return function(e){var r=ao.event;ao.event=e,t[0]=this.__data__;try{n.apply(this,t)}finally{ao.event=r}}}function B(n,t){var e=$(n,t);return function(n){var t=this,r=n.relatedTarget;r&&(r===t||8&r.compareDocumentPosition(t))||e.call(t,n)}}function W(e){var r=".dragsuppress-"+ ++Do,i="click"+r,u=ao.select(t(e)).on("touchmove"+r,S).on("dragstart"+r,S).on("selectstart"+r,S);if(null==Ro&&(Ro="onselectstart"in e?!1:x(e.style,"userSelect")),Ro){var o=n(e).style,a=o[Ro];o[Ro]="none"}return function(n){if(u.on(r,null),Ro&&(o[Ro]=a),n){var t=function(){u.on(i,null)};u.on(i,function(){S(),t()},!0),setTimeout(t,0)}}}function J(n,e){e.changedTouches&&(e=e.changedTouches[0]);var r=n.ownerSVGElement||n;if(r.createSVGPoint){var i=r.createSVGPoint();if(0>Po){var u=t(n);if(u.scrollX||u.scrollY){r=ao.select("body").append("svg").style({position:"absolute",top:0,left:0,margin:0,padding:0,border:"none"},"important");var o=r[0][0].getScreenCTM();Po=!(o.f||o.e),r.remove()}}return Po?(i.x=e.pageX,i.y=e.pageY):(i.x=e.clientX,i.y=e.clientY),i=i.matrixTransform(n.getScreenCTM().inverse()),[i.x,i.y]}var a=n.getBoundingClientRect();return[e.clientX-a.left-n.clientLeft,e.clientY-a.top-n.clientTop]}function G(){return ao.event.changedTouches[0].identifier}function K(n){return n>0?1:0>n?-1:0}function Q(n,t,e){return(t[0]-n[0])*(e[1]-n[1])-(t[1]-n[1])*(e[0]-n[0])}function nn(n){return n>1?0:-1>n?Fo:Math.acos(n)}function tn(n){return n>1?Io:-1>n?-Io:Math.asin(n)}function en(n){return((n=Math.exp(n))-1/n)/2}function rn(n){return((n=Math.exp(n))+1/n)/2}function un(n){return((n=Math.exp(2*n))-1)/(n+1)}function on(n){return(n=Math.sin(n/2))*n}function an(){}function ln(n,t,e){return this instanceof ln?(this.h=+n,this.s=+t,void(this.l=+e)):arguments.length<2?n instanceof ln?new ln(n.h,n.s,n.l):_n(""+n,wn,ln):new ln(n,t,e)}function cn(n,t,e){function r(n){return n>360?n-=360:0>n&&(n+=360),60>n?u+(o-u)*n/60:180>n?o:240>n?u+(o-u)*(240-n)/60:u}function i(n){return Math.round(255*r(n))}var u,o;return n=isNaN(n)?0:(n%=360)<0?n+360:n,t=isNaN(t)?0:0>t?0:t>1?1:t,e=0>e?0:e>1?1:e,o=.5>=e?e*(1+t):e+t-e*t,u=2*e-o,new mn(i(n+120),i(n),i(n-120))}function fn(n,t,e){return this instanceof fn?(this.h=+n,this.c=+t,void(this.l=+e)):arguments.length<2?n instanceof fn?new fn(n.h,n.c,n.l):n instanceof hn?gn(n.l,n.a,n.b):gn((n=Sn((n=ao.rgb(n)).r,n.g,n.b)).l,n.a,n.b):new fn(n,t,e)}function sn(n,t,e){return isNaN(n)&&(n=0),isNaN(t)&&(t=0),new hn(e,Math.cos(n*=Yo)*t,Math.sin(n)*t)}function hn(n,t,e){return this instanceof hn?(this.l=+n,this.a=+t,void(this.b=+e)):arguments.length<2?n instanceof hn?new hn(n.l,n.a,n.b):n instanceof fn?sn(n.h,n.c,n.l):Sn((n=mn(n)).r,n.g,n.b):new hn(n,t,e)}function pn(n,t,e){var r=(n+16)/116,i=r+t/500,u=r-e/200;return i=vn(i)*na,r=vn(r)*ta,u=vn(u)*ea,new mn(yn(3.2404542*i-1.5371385*r-.4985314*u),yn(-.969266*i+1.8760108*r+.041556*u),yn(.0556434*i-.2040259*r+1.0572252*u))}function gn(n,t,e){return n>0?new fn(Math.atan2(e,t)*Zo,Math.sqrt(t*t+e*e),n):new fn(NaN,NaN,n)}function vn(n){return n>.206893034?n*n*n:(n-4/29)/7.787037}function dn(n){return n>.008856?Math.pow(n,1/3):7.787037*n+4/29}function yn(n){return Math.round(255*(.00304>=n?12.92*n:1.055*Math.pow(n,1/2.4)-.055))}function mn(n,t,e){return this instanceof mn?(this.r=~~n,this.g=~~t,void(this.b=~~e)):arguments.length<2?n instanceof mn?new mn(n.r,n.g,n.b):_n(""+n,mn,cn):new mn(n,t,e)}function Mn(n){return new mn(n>>16,n>>8&255,255&n)}function xn(n){return Mn(n)+""}function bn(n){return 16>n?"0"+Math.max(0,n).toString(16):Math.min(255,n).toString(16)}function _n(n,t,e){var r,i,u,o=0,a=0,l=0;if(r=/([a-z]+)\((.*)\)/.exec(n=n.toLowerCase()))switch(i=r[2].split(","),r[1]){case"hsl":return e(parseFloat(i[0]),parseFloat(i[1])/100,parseFloat(i[2])/100);case"rgb":return t(Nn(i[0]),Nn(i[1]),Nn(i[2]))}return(u=ua.get(n))?t(u.r,u.g,u.b):(null==n||"#"!==n.charAt(0)||isNaN(u=parseInt(n.slice(1),16))||(4===n.length?(o=(3840&u)>>4,o=o>>4|o,a=240&u,a=a>>4|a,l=15&u,l=l<<4|l):7===n.length&&(o=(16711680&u)>>16,a=(65280&u)>>8,l=255&u)),t(o,a,l))}function wn(n,t,e){var r,i,u=Math.min(n/=255,t/=255,e/=255),o=Math.max(n,t,e),a=o-u,l=(o+u)/2;return a?(i=.5>l?a/(o+u):a/(2-o-u),r=n==o?(t-e)/a+(e>t?6:0):t==o?(e-n)/a+2:(n-t)/a+4,r*=60):(r=NaN,i=l>0&&1>l?0:r),new ln(r,i,l)}function Sn(n,t,e){n=kn(n),t=kn(t),e=kn(e);var r=dn((.4124564*n+.3575761*t+.1804375*e)/na),i=dn((.2126729*n+.7151522*t+.072175*e)/ta),u=dn((.0193339*n+.119192*t+.9503041*e)/ea);return hn(116*i-16,500*(r-i),200*(i-u))}function kn(n){return(n/=255)<=.04045?n/12.92:Math.pow((n+.055)/1.055,2.4)}function Nn(n){var t=parseFloat(n);return"%"===n.charAt(n.length-1)?Math.round(2.55*t):t}function En(n){return"function"==typeof n?n:function(){return n}}function An(n){return function(t,e,r){return 2===arguments.length&&"function"==typeof e&&(r=e,e=null),Cn(t,e,n,r)}}function Cn(n,t,e,r){function i(){var n,t=l.status;if(!t&&Ln(l)||t>=200&&300>t||304===t){try{n=e.call(u,l)}catch(r){return void o.error.call(u,r)}o.load.call(u,n)}else o.error.call(u,l)}var u={},o=ao.dispatch("beforesend","progress","load","error"),a={},l=new XMLHttpRequest,c=null;return!this.XDomainRequest||"withCredentials"in l||!/^(http(s)?:)?\/\//.test(n)||(l=new XDomainRequest),"onload"in l?l.onload=l.onerror=i:l.onreadystatechange=function(){l.readyState>3&&i()},l.onprogress=function(n){var t=ao.event;ao.event=n;try{o.progress.call(u,l)}finally{ao.event=t}},u.header=function(n,t){return n=(n+"").toLowerCase(),arguments.length<2?a[n]:(null==t?delete a[n]:a[n]=t+"",u)},u.mimeType=function(n){return arguments.length?(t=null==n?null:n+"",u):t},u.responseType=function(n){return arguments.length?(c=n,u):c},u.response=function(n){return e=n,u},["get","post"].forEach(function(n){u[n]=function(){return u.send.apply(u,[n].concat(co(arguments)))}}),u.send=function(e,r,i){if(2===arguments.length&&"function"==typeof r&&(i=r,r=null),l.open(e,n,!0),null==t||"accept"in a||(a.accept=t+",*/*"),l.setRequestHeader)for(var f in a)l.setRequestHeader(f,a[f]);return null!=t&&l.overrideMimeType&&l.overrideMimeType(t),null!=c&&(l.responseType=c),null!=i&&u.on("error",i).on("load",function(n){i(null,n)}),o.beforesend.call(u,l),l.send(null==r?null:r),u},u.abort=function(){return l.abort(),u},ao.rebind(u,o,"on"),null==r?u:u.get(zn(r))}function zn(n){return 1===n.length?function(t,e){n(null==t?e:null)}:n}function Ln(n){var t=n.responseType;return t&&"text"!==t?n.response:n.responseText}function qn(n,t,e){var r=arguments.length;2>r&&(t=0),3>r&&(e=Date.now());var i=e+t,u={c:n,t:i,n:null};return aa?aa.n=u:oa=u,aa=u,la||(ca=clearTimeout(ca),la=1,fa(Tn)),u}function Tn(){var n=Rn(),t=Dn()-n;t>24?(isFinite(t)&&(clearTimeout(ca),ca=setTimeout(Tn,t)),la=0):(la=1,fa(Tn))}function Rn(){for(var n=Date.now(),t=oa;t;)n>=t.t&&t.c(n-t.t)&&(t.c=null),t=t.n;return n}function Dn(){for(var n,t=oa,e=1/0;t;)t.c?(t.t8?function(n){return n/e}:function(n){return n*e},symbol:n}}function jn(n){var t=n.decimal,e=n.thousands,r=n.grouping,i=n.currency,u=r&&e?function(n,t){for(var i=n.length,u=[],o=0,a=r[0],l=0;i>0&&a>0&&(l+a+1>t&&(a=Math.max(1,t-l)),u.push(n.substring(i-=a,i+a)),!((l+=a+1)>t));)a=r[o=(o+1)%r.length];return u.reverse().join(e)}:m;return function(n){var e=ha.exec(n),r=e[1]||" ",o=e[2]||">",a=e[3]||"-",l=e[4]||"",c=e[5],f=+e[6],s=e[7],h=e[8],p=e[9],g=1,v="",d="",y=!1,m=!0;switch(h&&(h=+h.substring(1)),(c||"0"===r&&"="===o)&&(c=r="0",o="="),p){case"n":s=!0,p="g";break;case"%":g=100,d="%",p="f";break;case"p":g=100,d="%",p="r";break;case"b":case"o":case"x":case"X":"#"===l&&(v="0"+p.toLowerCase());case"c":m=!1;case"d":y=!0,h=0;break;case"s":g=-1,p="r"}"$"===l&&(v=i[0],d=i[1]),"r"!=p||h||(p="g"),null!=h&&("g"==p?h=Math.max(1,Math.min(21,h)):"e"!=p&&"f"!=p||(h=Math.max(0,Math.min(20,h)))),p=pa.get(p)||Fn;var M=c&&s;return function(n){var e=d;if(y&&n%1)return"";var i=0>n||0===n&&0>1/n?(n=-n,"-"):"-"===a?"":a;if(0>g){var l=ao.formatPrefix(n,h);n=l.scale(n),e=l.symbol+d}else n*=g;n=p(n,h);var x,b,_=n.lastIndexOf(".");if(0>_){var w=m?n.lastIndexOf("e"):-1;0>w?(x=n,b=""):(x=n.substring(0,w),b=n.substring(w))}else x=n.substring(0,_),b=t+n.substring(_+1);!c&&s&&(x=u(x,1/0));var S=v.length+x.length+b.length+(M?0:i.length),k=f>S?new Array(S=f-S+1).join(r):"";return M&&(x=u(k+x,k.length?f-b.length:1/0)),i+=v,n=x+b,("<"===o?i+n+k:">"===o?k+i+n:"^"===o?k.substring(0,S>>=1)+i+n+k.substring(S):i+(M?n:k+n))+e}}}function Fn(n){return n+""}function Hn(){this._=new Date(arguments.length>1?Date.UTC.apply(this,arguments):arguments[0])}function On(n,t,e){function r(t){var e=n(t),r=u(e,1);return r-t>t-e?e:r}function i(e){return t(e=n(new va(e-1)),1),e}function u(n,e){return t(n=new va(+n),e),n}function o(n,r,u){var o=i(n),a=[];if(u>1)for(;r>o;)e(o)%u||a.push(new Date(+o)),t(o,1);else for(;r>o;)a.push(new Date(+o)),t(o,1);return a}function a(n,t,e){try{va=Hn;var r=new Hn;return r._=n,o(r,t,e)}finally{va=Date}}n.floor=n,n.round=r,n.ceil=i,n.offset=u,n.range=o;var l=n.utc=In(n);return l.floor=l,l.round=In(r),l.ceil=In(i),l.offset=In(u),l.range=a,n}function In(n){return function(t,e){try{va=Hn;var r=new Hn;return r._=t,n(r,e)._}finally{va=Date}}}function Yn(n){function t(n){function t(t){for(var e,i,u,o=[],a=-1,l=0;++aa;){if(r>=c)return-1;if(i=t.charCodeAt(a++),37===i){if(o=t.charAt(a++),u=C[o in ya?t.charAt(a++):o],!u||(r=u(n,e,r))<0)return-1}else if(i!=e.charCodeAt(r++))return-1}return r}function r(n,t,e){_.lastIndex=0;var r=_.exec(t.slice(e));return r?(n.w=w.get(r[0].toLowerCase()),e+r[0].length):-1}function i(n,t,e){x.lastIndex=0;var r=x.exec(t.slice(e));return r?(n.w=b.get(r[0].toLowerCase()),e+r[0].length):-1}function u(n,t,e){N.lastIndex=0;var r=N.exec(t.slice(e));return r?(n.m=E.get(r[0].toLowerCase()),e+r[0].length):-1}function o(n,t,e){S.lastIndex=0;var r=S.exec(t.slice(e));return r?(n.m=k.get(r[0].toLowerCase()),e+r[0].length):-1}function a(n,t,r){return e(n,A.c.toString(),t,r)}function l(n,t,r){return e(n,A.x.toString(),t,r)}function c(n,t,r){return e(n,A.X.toString(),t,r)}function f(n,t,e){var r=M.get(t.slice(e,e+=2).toLowerCase());return null==r?-1:(n.p=r,e)}var s=n.dateTime,h=n.date,p=n.time,g=n.periods,v=n.days,d=n.shortDays,y=n.months,m=n.shortMonths;t.utc=function(n){function e(n){try{va=Hn;var t=new va;return t._=n,r(t)}finally{va=Date}}var r=t(n);return e.parse=function(n){try{va=Hn;var t=r.parse(n);return t&&t._}finally{va=Date}},e.toString=r.toString,e},t.multi=t.utc.multi=ct;var M=ao.map(),x=Vn(v),b=Xn(v),_=Vn(d),w=Xn(d),S=Vn(y),k=Xn(y),N=Vn(m),E=Xn(m);g.forEach(function(n,t){M.set(n.toLowerCase(),t)});var A={a:function(n){return d[n.getDay()]},A:function(n){return v[n.getDay()]},b:function(n){return m[n.getMonth()]},B:function(n){return y[n.getMonth()]},c:t(s),d:function(n,t){return Zn(n.getDate(),t,2)},e:function(n,t){return Zn(n.getDate(),t,2)},H:function(n,t){return Zn(n.getHours(),t,2)},I:function(n,t){return Zn(n.getHours()%12||12,t,2)},j:function(n,t){return Zn(1+ga.dayOfYear(n),t,3)},L:function(n,t){return Zn(n.getMilliseconds(),t,3)},m:function(n,t){return Zn(n.getMonth()+1,t,2)},M:function(n,t){return Zn(n.getMinutes(),t,2)},p:function(n){return g[+(n.getHours()>=12)]},S:function(n,t){return Zn(n.getSeconds(),t,2)},U:function(n,t){return Zn(ga.sundayOfYear(n),t,2)},w:function(n){return n.getDay()},W:function(n,t){return Zn(ga.mondayOfYear(n),t,2)},x:t(h),X:t(p),y:function(n,t){return Zn(n.getFullYear()%100,t,2)},Y:function(n,t){return Zn(n.getFullYear()%1e4,t,4)},Z:at,"%":function(){return"%"}},C={a:r,A:i,b:u,B:o,c:a,d:tt,e:tt,H:rt,I:rt,j:et,L:ot,m:nt,M:it,p:f,S:ut,U:Bn,w:$n,W:Wn,x:l,X:c,y:Gn,Y:Jn,Z:Kn,"%":lt};return t}function Zn(n,t,e){var r=0>n?"-":"",i=(r?-n:n)+"",u=i.length;return r+(e>u?new Array(e-u+1).join(t)+i:i)}function Vn(n){return new RegExp("^(?:"+n.map(ao.requote).join("|")+")","i")}function Xn(n){for(var t=new c,e=-1,r=n.length;++e68?1900:2e3)}function nt(n,t,e){ma.lastIndex=0;var r=ma.exec(t.slice(e,e+2));return r?(n.m=r[0]-1,e+r[0].length):-1}function tt(n,t,e){ma.lastIndex=0;var r=ma.exec(t.slice(e,e+2));return r?(n.d=+r[0],e+r[0].length):-1}function et(n,t,e){ma.lastIndex=0;var r=ma.exec(t.slice(e,e+3));return r?(n.j=+r[0],e+r[0].length):-1}function rt(n,t,e){ma.lastIndex=0;var r=ma.exec(t.slice(e,e+2));return r?(n.H=+r[0],e+r[0].length):-1}function it(n,t,e){ma.lastIndex=0;var r=ma.exec(t.slice(e,e+2));return r?(n.M=+r[0],e+r[0].length):-1}function ut(n,t,e){ma.lastIndex=0;var r=ma.exec(t.slice(e,e+2));return r?(n.S=+r[0],e+r[0].length):-1}function ot(n,t,e){ma.lastIndex=0;var r=ma.exec(t.slice(e,e+3));return r?(n.L=+r[0],e+r[0].length):-1}function at(n){var t=n.getTimezoneOffset(),e=t>0?"-":"+",r=xo(t)/60|0,i=xo(t)%60;return e+Zn(r,"0",2)+Zn(i,"0",2)}function lt(n,t,e){Ma.lastIndex=0;var r=Ma.exec(t.slice(e,e+1));return r?e+r[0].length:-1}function ct(n){for(var t=n.length,e=-1;++e=0?1:-1,a=o*e,l=Math.cos(t),c=Math.sin(t),f=u*c,s=i*l+f*Math.cos(a),h=f*o*Math.sin(a);ka.add(Math.atan2(h,s)),r=n,i=l,u=c}var t,e,r,i,u;Na.point=function(o,a){Na.point=n,r=(t=o)*Yo,i=Math.cos(a=(e=a)*Yo/2+Fo/4),u=Math.sin(a)},Na.lineEnd=function(){n(t,e)}}function dt(n){var t=n[0],e=n[1],r=Math.cos(e);return[r*Math.cos(t),r*Math.sin(t),Math.sin(e)]}function yt(n,t){return n[0]*t[0]+n[1]*t[1]+n[2]*t[2]}function mt(n,t){return[n[1]*t[2]-n[2]*t[1],n[2]*t[0]-n[0]*t[2],n[0]*t[1]-n[1]*t[0]]}function Mt(n,t){n[0]+=t[0],n[1]+=t[1],n[2]+=t[2]}function xt(n,t){return[n[0]*t,n[1]*t,n[2]*t]}function bt(n){var t=Math.sqrt(n[0]*n[0]+n[1]*n[1]+n[2]*n[2]);n[0]/=t,n[1]/=t,n[2]/=t}function _t(n){return[Math.atan2(n[1],n[0]),tn(n[2])]}function wt(n,t){return xo(n[0]-t[0])a;++a)i.point((e=n[a])[0],e[1]);return void i.lineEnd()}var l=new Tt(e,n,null,!0),c=new Tt(e,null,l,!1);l.o=c,u.push(l),o.push(c),l=new Tt(r,n,null,!1),c=new Tt(r,null,l,!0),l.o=c,u.push(l),o.push(c)}}),o.sort(t),qt(u),qt(o),u.length){for(var a=0,l=e,c=o.length;c>a;++a)o[a].e=l=!l;for(var f,s,h=u[0];;){for(var p=h,g=!0;p.v;)if((p=p.n)===h)return;f=p.z,i.lineStart();do{if(p.v=p.o.v=!0,p.e){if(g)for(var a=0,c=f.length;c>a;++a)i.point((s=f[a])[0],s[1]);else r(p.x,p.n.x,1,i);p=p.n}else{if(g){f=p.p.z;for(var a=f.length-1;a>=0;--a)i.point((s=f[a])[0],s[1])}else r(p.x,p.p.x,-1,i);p=p.p}p=p.o,f=p.z,g=!g}while(!p.v);i.lineEnd()}}}function qt(n){if(t=n.length){for(var t,e,r=0,i=n[0];++r0){for(b||(u.polygonStart(),b=!0),u.lineStart();++o1&&2&t&&e.push(e.pop().concat(e.shift())),p.push(e.filter(Dt))}var p,g,v,d=t(u),y=i.invert(r[0],r[1]),m={point:o,lineStart:l,lineEnd:c,polygonStart:function(){m.point=f,m.lineStart=s,m.lineEnd=h,p=[],g=[]},polygonEnd:function(){m.point=o,m.lineStart=l,m.lineEnd=c,p=ao.merge(p);var n=Ot(y,g);p.length?(b||(u.polygonStart(),b=!0),Lt(p,Ut,n,e,u)):n&&(b||(u.polygonStart(),b=!0),u.lineStart(),e(null,null,1,u),u.lineEnd()),b&&(u.polygonEnd(),b=!1),p=g=null},sphere:function(){u.polygonStart(),u.lineStart(),e(null,null,1,u),u.lineEnd(),u.polygonEnd()}},M=Pt(),x=t(M),b=!1;return m}}function Dt(n){return n.length>1}function Pt(){var n,t=[];return{lineStart:function(){t.push(n=[])},point:function(t,e){n.push([t,e])},lineEnd:b,buffer:function(){var e=t;return t=[],n=null,e},rejoin:function(){t.length>1&&t.push(t.pop().concat(t.shift()))}}}function Ut(n,t){return((n=n.x)[0]<0?n[1]-Io-Uo:Io-n[1])-((t=t.x)[0]<0?t[1]-Io-Uo:Io-t[1])}function jt(n){var t,e=NaN,r=NaN,i=NaN;return{lineStart:function(){n.lineStart(),t=1},point:function(u,o){var a=u>0?Fo:-Fo,l=xo(u-e);xo(l-Fo)0?Io:-Io),n.point(i,r),n.lineEnd(),n.lineStart(),n.point(a,r),n.point(u,r),t=0):i!==a&&l>=Fo&&(xo(e-i)Uo?Math.atan((Math.sin(t)*(u=Math.cos(r))*Math.sin(e)-Math.sin(r)*(i=Math.cos(t))*Math.sin(n))/(i*u*o)):(t+r)/2}function Ht(n,t,e,r){var i;if(null==n)i=e*Io,r.point(-Fo,i),r.point(0,i),r.point(Fo,i),r.point(Fo,0),r.point(Fo,-i),r.point(0,-i),r.point(-Fo,-i),r.point(-Fo,0),r.point(-Fo,i);else if(xo(n[0]-t[0])>Uo){var u=n[0]a;++a){var c=t[a],f=c.length;if(f)for(var s=c[0],h=s[0],p=s[1]/2+Fo/4,g=Math.sin(p),v=Math.cos(p),d=1;;){d===f&&(d=0),n=c[d];var y=n[0],m=n[1]/2+Fo/4,M=Math.sin(m),x=Math.cos(m),b=y-h,_=b>=0?1:-1,w=_*b,S=w>Fo,k=g*M;if(ka.add(Math.atan2(k*_*Math.sin(w),v*x+k*Math.cos(w))),u+=S?b+_*Ho:b,S^h>=e^y>=e){var N=mt(dt(s),dt(n));bt(N);var E=mt(i,N);bt(E);var A=(S^b>=0?-1:1)*tn(E[2]);(r>A||r===A&&(N[0]||N[1]))&&(o+=S^b>=0?1:-1)}if(!d++)break;h=y,g=M,v=x,s=n}}return(-Uo>u||Uo>u&&-Uo>ka)^1&o}function It(n){function t(n,t){return Math.cos(n)*Math.cos(t)>u}function e(n){var e,u,l,c,f;return{lineStart:function(){c=l=!1,f=1},point:function(s,h){var p,g=[s,h],v=t(s,h),d=o?v?0:i(s,h):v?i(s+(0>s?Fo:-Fo),h):0;if(!e&&(c=l=v)&&n.lineStart(),v!==l&&(p=r(e,g),(wt(e,p)||wt(g,p))&&(g[0]+=Uo,g[1]+=Uo,v=t(g[0],g[1]))),v!==l)f=0,v?(n.lineStart(),p=r(g,e),n.point(p[0],p[1])):(p=r(e,g),n.point(p[0],p[1]),n.lineEnd()),e=p;else if(a&&e&&o^v){var y;d&u||!(y=r(g,e,!0))||(f=0,o?(n.lineStart(),n.point(y[0][0],y[0][1]),n.point(y[1][0],y[1][1]),n.lineEnd()):(n.point(y[1][0],y[1][1]),n.lineEnd(),n.lineStart(),n.point(y[0][0],y[0][1])))}!v||e&&wt(e,g)||n.point(g[0],g[1]),e=g,l=v,u=d},lineEnd:function(){l&&n.lineEnd(),e=null},clean:function(){return f|(c&&l)<<1}}}function r(n,t,e){var r=dt(n),i=dt(t),o=[1,0,0],a=mt(r,i),l=yt(a,a),c=a[0],f=l-c*c;if(!f)return!e&&n;var s=u*l/f,h=-u*c/f,p=mt(o,a),g=xt(o,s),v=xt(a,h);Mt(g,v);var d=p,y=yt(g,d),m=yt(d,d),M=y*y-m*(yt(g,g)-1);if(!(0>M)){var x=Math.sqrt(M),b=xt(d,(-y-x)/m);if(Mt(b,g),b=_t(b),!e)return b;var _,w=n[0],S=t[0],k=n[1],N=t[1];w>S&&(_=w,w=S,S=_);var E=S-w,A=xo(E-Fo)E;if(!A&&k>N&&(_=k,k=N,N=_),C?A?k+N>0^b[1]<(xo(b[0]-w)Fo^(w<=b[0]&&b[0]<=S)){var z=xt(d,(-y+x)/m);return Mt(z,g),[b,_t(z)]}}}function i(t,e){var r=o?n:Fo-n,i=0;return-r>t?i|=1:t>r&&(i|=2),-r>e?i|=4:e>r&&(i|=8),i}var u=Math.cos(n),o=u>0,a=xo(u)>Uo,l=ve(n,6*Yo);return Rt(t,e,l,o?[0,-n]:[-Fo,n-Fo])}function Yt(n,t,e,r){return function(i){var u,o=i.a,a=i.b,l=o.x,c=o.y,f=a.x,s=a.y,h=0,p=1,g=f-l,v=s-c;if(u=n-l,g||!(u>0)){if(u/=g,0>g){if(h>u)return;p>u&&(p=u)}else if(g>0){if(u>p)return;u>h&&(h=u)}if(u=e-l,g||!(0>u)){if(u/=g,0>g){if(u>p)return;u>h&&(h=u)}else if(g>0){if(h>u)return;p>u&&(p=u)}if(u=t-c,v||!(u>0)){if(u/=v,0>v){if(h>u)return;p>u&&(p=u)}else if(v>0){if(u>p)return;u>h&&(h=u)}if(u=r-c,v||!(0>u)){if(u/=v,0>v){if(u>p)return;u>h&&(h=u)}else if(v>0){if(h>u)return;p>u&&(p=u)}return h>0&&(i.a={x:l+h*g,y:c+h*v}),1>p&&(i.b={x:l+p*g,y:c+p*v}),i}}}}}}function Zt(n,t,e,r){function i(r,i){return xo(r[0]-n)0?0:3:xo(r[0]-e)0?2:1:xo(r[1]-t)0?1:0:i>0?3:2}function u(n,t){return o(n.x,t.x)}function o(n,t){var e=i(n,1),r=i(t,1);return e!==r?e-r:0===e?t[1]-n[1]:1===e?n[0]-t[0]:2===e?n[1]-t[1]:t[0]-n[0]}return function(a){function l(n){for(var t=0,e=d.length,r=n[1],i=0;e>i;++i)for(var u,o=1,a=d[i],l=a.length,c=a[0];l>o;++o)u=a[o],c[1]<=r?u[1]>r&&Q(c,u,n)>0&&++t:u[1]<=r&&Q(c,u,n)<0&&--t,c=u;return 0!==t}function c(u,a,l,c){var f=0,s=0;if(null==u||(f=i(u,l))!==(s=i(a,l))||o(u,a)<0^l>0){do c.point(0===f||3===f?n:e,f>1?r:t);while((f=(f+l+4)%4)!==s)}else c.point(a[0],a[1])}function f(i,u){return i>=n&&e>=i&&u>=t&&r>=u}function s(n,t){f(n,t)&&a.point(n,t)}function h(){C.point=g,d&&d.push(y=[]),S=!0,w=!1,b=_=NaN}function p(){v&&(g(m,M),x&&w&&E.rejoin(),v.push(E.buffer())),C.point=s,w&&a.lineEnd()}function g(n,t){n=Math.max(-Ha,Math.min(Ha,n)),t=Math.max(-Ha,Math.min(Ha,t));var e=f(n,t);if(d&&y.push([n,t]),S)m=n,M=t,x=e,S=!1,e&&(a.lineStart(),a.point(n,t));else if(e&&w)a.point(n,t);else{var r={a:{x:b,y:_},b:{x:n,y:t}};A(r)?(w||(a.lineStart(),a.point(r.a.x,r.a.y)),a.point(r.b.x,r.b.y),e||a.lineEnd(),k=!1):e&&(a.lineStart(),a.point(n,t),k=!1)}b=n,_=t,w=e}var v,d,y,m,M,x,b,_,w,S,k,N=a,E=Pt(),A=Yt(n,t,e,r),C={point:s,lineStart:h,lineEnd:p,polygonStart:function(){a=E,v=[],d=[],k=!0},polygonEnd:function(){a=N,v=ao.merge(v);var t=l([n,r]),e=k&&t,i=v.length;(e||i)&&(a.polygonStart(),e&&(a.lineStart(),c(null,null,1,a),a.lineEnd()),i&&Lt(v,u,t,c,a),a.polygonEnd()),v=d=y=null}};return C}}function Vt(n){var t=0,e=Fo/3,r=ae(n),i=r(t,e);return i.parallels=function(n){return arguments.length?r(t=n[0]*Fo/180,e=n[1]*Fo/180):[t/Fo*180,e/Fo*180]},i}function Xt(n,t){function e(n,t){var e=Math.sqrt(u-2*i*Math.sin(t))/i;return[e*Math.sin(n*=i),o-e*Math.cos(n)]}var r=Math.sin(n),i=(r+Math.sin(t))/2,u=1+r*(2*i-r),o=Math.sqrt(u)/i;return e.invert=function(n,t){var e=o-t;return[Math.atan2(n,e)/i,tn((u-(n*n+e*e)*i*i)/(2*i))]},e}function $t(){function n(n,t){Ia+=i*n-r*t,r=n,i=t}var t,e,r,i;$a.point=function(u,o){$a.point=n,t=r=u,e=i=o},$a.lineEnd=function(){n(t,e)}}function Bt(n,t){Ya>n&&(Ya=n),n>Va&&(Va=n),Za>t&&(Za=t),t>Xa&&(Xa=t)}function Wt(){function n(n,t){o.push("M",n,",",t,u)}function t(n,t){o.push("M",n,",",t),a.point=e}function e(n,t){o.push("L",n,",",t)}function r(){a.point=n}function i(){o.push("Z")}var u=Jt(4.5),o=[],a={point:n,lineStart:function(){a.point=t},lineEnd:r,polygonStart:function(){a.lineEnd=i},polygonEnd:function(){a.lineEnd=r,a.point=n},pointRadius:function(n){return u=Jt(n),a},result:function(){if(o.length){var n=o.join("");return o=[],n}}};return a}function Jt(n){return"m0,"+n+"a"+n+","+n+" 0 1,1 0,"+-2*n+"a"+n+","+n+" 0 1,1 0,"+2*n+"z"}function Gt(n,t){Ca+=n,za+=t,++La}function Kt(){function n(n,r){var i=n-t,u=r-e,o=Math.sqrt(i*i+u*u);qa+=o*(t+n)/2,Ta+=o*(e+r)/2,Ra+=o,Gt(t=n,e=r)}var t,e;Wa.point=function(r,i){Wa.point=n,Gt(t=r,e=i)}}function Qt(){Wa.point=Gt}function ne(){function n(n,t){var e=n-r,u=t-i,o=Math.sqrt(e*e+u*u);qa+=o*(r+n)/2,Ta+=o*(i+t)/2,Ra+=o,o=i*n-r*t,Da+=o*(r+n),Pa+=o*(i+t),Ua+=3*o,Gt(r=n,i=t)}var t,e,r,i;Wa.point=function(u,o){Wa.point=n,Gt(t=r=u,e=i=o)},Wa.lineEnd=function(){n(t,e)}}function te(n){function t(t,e){n.moveTo(t+o,e),n.arc(t,e,o,0,Ho)}function e(t,e){n.moveTo(t,e),a.point=r}function r(t,e){n.lineTo(t,e)}function i(){a.point=t}function u(){n.closePath()}var o=4.5,a={point:t,lineStart:function(){a.point=e},lineEnd:i,polygonStart:function(){a.lineEnd=u},polygonEnd:function(){a.lineEnd=i,a.point=t},pointRadius:function(n){return o=n,a},result:b};return a}function ee(n){function t(n){return(a?r:e)(n)}function e(t){return ue(t,function(e,r){e=n(e,r),t.point(e[0],e[1])})}function r(t){function e(e,r){e=n(e,r),t.point(e[0],e[1])}function r(){M=NaN,S.point=u,t.lineStart()}function u(e,r){var u=dt([e,r]),o=n(e,r);i(M,x,m,b,_,w,M=o[0],x=o[1],m=e,b=u[0],_=u[1],w=u[2],a,t),t.point(M,x)}function o(){S.point=e,t.lineEnd()}function l(){ -r(),S.point=c,S.lineEnd=f}function c(n,t){u(s=n,h=t),p=M,g=x,v=b,d=_,y=w,S.point=u}function f(){i(M,x,m,b,_,w,p,g,s,v,d,y,a,t),S.lineEnd=o,o()}var s,h,p,g,v,d,y,m,M,x,b,_,w,S={point:e,lineStart:r,lineEnd:o,polygonStart:function(){t.polygonStart(),S.lineStart=l},polygonEnd:function(){t.polygonEnd(),S.lineStart=r}};return S}function i(t,e,r,a,l,c,f,s,h,p,g,v,d,y){var m=f-t,M=s-e,x=m*m+M*M;if(x>4*u&&d--){var b=a+p,_=l+g,w=c+v,S=Math.sqrt(b*b+_*_+w*w),k=Math.asin(w/=S),N=xo(xo(w)-1)u||xo((m*z+M*L)/x-.5)>.3||o>a*p+l*g+c*v)&&(i(t,e,r,a,l,c,A,C,N,b/=S,_/=S,w,d,y),y.point(A,C),i(A,C,N,b,_,w,f,s,h,p,g,v,d,y))}}var u=.5,o=Math.cos(30*Yo),a=16;return t.precision=function(n){return arguments.length?(a=(u=n*n)>0&&16,t):Math.sqrt(u)},t}function re(n){var t=ee(function(t,e){return n([t*Zo,e*Zo])});return function(n){return le(t(n))}}function ie(n){this.stream=n}function ue(n,t){return{point:t,sphere:function(){n.sphere()},lineStart:function(){n.lineStart()},lineEnd:function(){n.lineEnd()},polygonStart:function(){n.polygonStart()},polygonEnd:function(){n.polygonEnd()}}}function oe(n){return ae(function(){return n})()}function ae(n){function t(n){return n=a(n[0]*Yo,n[1]*Yo),[n[0]*h+l,c-n[1]*h]}function e(n){return n=a.invert((n[0]-l)/h,(c-n[1])/h),n&&[n[0]*Zo,n[1]*Zo]}function r(){a=Ct(o=se(y,M,x),u);var n=u(v,d);return l=p-n[0]*h,c=g+n[1]*h,i()}function i(){return f&&(f.valid=!1,f=null),t}var u,o,a,l,c,f,s=ee(function(n,t){return n=u(n,t),[n[0]*h+l,c-n[1]*h]}),h=150,p=480,g=250,v=0,d=0,y=0,M=0,x=0,b=Fa,_=m,w=null,S=null;return t.stream=function(n){return f&&(f.valid=!1),f=le(b(o,s(_(n)))),f.valid=!0,f},t.clipAngle=function(n){return arguments.length?(b=null==n?(w=n,Fa):It((w=+n)*Yo),i()):w},t.clipExtent=function(n){return arguments.length?(S=n,_=n?Zt(n[0][0],n[0][1],n[1][0],n[1][1]):m,i()):S},t.scale=function(n){return arguments.length?(h=+n,r()):h},t.translate=function(n){return arguments.length?(p=+n[0],g=+n[1],r()):[p,g]},t.center=function(n){return arguments.length?(v=n[0]%360*Yo,d=n[1]%360*Yo,r()):[v*Zo,d*Zo]},t.rotate=function(n){return arguments.length?(y=n[0]%360*Yo,M=n[1]%360*Yo,x=n.length>2?n[2]%360*Yo:0,r()):[y*Zo,M*Zo,x*Zo]},ao.rebind(t,s,"precision"),function(){return u=n.apply(this,arguments),t.invert=u.invert&&e,r()}}function le(n){return ue(n,function(t,e){n.point(t*Yo,e*Yo)})}function ce(n,t){return[n,t]}function fe(n,t){return[n>Fo?n-Ho:-Fo>n?n+Ho:n,t]}function se(n,t,e){return n?t||e?Ct(pe(n),ge(t,e)):pe(n):t||e?ge(t,e):fe}function he(n){return function(t,e){return t+=n,[t>Fo?t-Ho:-Fo>t?t+Ho:t,e]}}function pe(n){var t=he(n);return t.invert=he(-n),t}function ge(n,t){function e(n,t){var e=Math.cos(t),a=Math.cos(n)*e,l=Math.sin(n)*e,c=Math.sin(t),f=c*r+a*i;return[Math.atan2(l*u-f*o,a*r-c*i),tn(f*u+l*o)]}var r=Math.cos(n),i=Math.sin(n),u=Math.cos(t),o=Math.sin(t);return e.invert=function(n,t){var e=Math.cos(t),a=Math.cos(n)*e,l=Math.sin(n)*e,c=Math.sin(t),f=c*u-l*o;return[Math.atan2(l*u+c*o,a*r+f*i),tn(f*r-a*i)]},e}function ve(n,t){var e=Math.cos(n),r=Math.sin(n);return function(i,u,o,a){var l=o*t;null!=i?(i=de(e,i),u=de(e,u),(o>0?u>i:i>u)&&(i+=o*Ho)):(i=n+o*Ho,u=n-.5*l);for(var c,f=i;o>0?f>u:u>f;f-=l)a.point((c=_t([e,-r*Math.cos(f),-r*Math.sin(f)]))[0],c[1])}}function de(n,t){var e=dt(t);e[0]-=n,bt(e);var r=nn(-e[1]);return((-e[2]<0?-r:r)+2*Math.PI-Uo)%(2*Math.PI)}function ye(n,t,e){var r=ao.range(n,t-Uo,e).concat(t);return function(n){return r.map(function(t){return[n,t]})}}function me(n,t,e){var r=ao.range(n,t-Uo,e).concat(t);return function(n){return r.map(function(t){return[t,n]})}}function Me(n){return n.source}function xe(n){return n.target}function be(n,t,e,r){var i=Math.cos(t),u=Math.sin(t),o=Math.cos(r),a=Math.sin(r),l=i*Math.cos(n),c=i*Math.sin(n),f=o*Math.cos(e),s=o*Math.sin(e),h=2*Math.asin(Math.sqrt(on(r-t)+i*o*on(e-n))),p=1/Math.sin(h),g=h?function(n){var t=Math.sin(n*=h)*p,e=Math.sin(h-n)*p,r=e*l+t*f,i=e*c+t*s,o=e*u+t*a;return[Math.atan2(i,r)*Zo,Math.atan2(o,Math.sqrt(r*r+i*i))*Zo]}:function(){return[n*Zo,t*Zo]};return g.distance=h,g}function _e(){function n(n,i){var u=Math.sin(i*=Yo),o=Math.cos(i),a=xo((n*=Yo)-t),l=Math.cos(a);Ja+=Math.atan2(Math.sqrt((a=o*Math.sin(a))*a+(a=r*u-e*o*l)*a),e*u+r*o*l),t=n,e=u,r=o}var t,e,r;Ga.point=function(i,u){t=i*Yo,e=Math.sin(u*=Yo),r=Math.cos(u),Ga.point=n},Ga.lineEnd=function(){Ga.point=Ga.lineEnd=b}}function we(n,t){function e(t,e){var r=Math.cos(t),i=Math.cos(e),u=n(r*i);return[u*i*Math.sin(t),u*Math.sin(e)]}return e.invert=function(n,e){var r=Math.sqrt(n*n+e*e),i=t(r),u=Math.sin(i),o=Math.cos(i);return[Math.atan2(n*u,r*o),Math.asin(r&&e*u/r)]},e}function Se(n,t){function e(n,t){o>0?-Io+Uo>t&&(t=-Io+Uo):t>Io-Uo&&(t=Io-Uo);var e=o/Math.pow(i(t),u);return[e*Math.sin(u*n),o-e*Math.cos(u*n)]}var r=Math.cos(n),i=function(n){return Math.tan(Fo/4+n/2)},u=n===t?Math.sin(n):Math.log(r/Math.cos(t))/Math.log(i(t)/i(n)),o=r*Math.pow(i(n),u)/u;return u?(e.invert=function(n,t){var e=o-t,r=K(u)*Math.sqrt(n*n+e*e);return[Math.atan2(n,e)/u,2*Math.atan(Math.pow(o/r,1/u))-Io]},e):Ne}function ke(n,t){function e(n,t){var e=u-t;return[e*Math.sin(i*n),u-e*Math.cos(i*n)]}var r=Math.cos(n),i=n===t?Math.sin(n):(r-Math.cos(t))/(t-n),u=r/i+n;return xo(i)i;i++){for(;r>1&&Q(n[e[r-2]],n[e[r-1]],n[i])<=0;)--r;e[r++]=i}return e.slice(0,r)}function qe(n,t){return n[0]-t[0]||n[1]-t[1]}function Te(n,t,e){return(e[0]-t[0])*(n[1]-t[1])<(e[1]-t[1])*(n[0]-t[0])}function Re(n,t,e,r){var i=n[0],u=e[0],o=t[0]-i,a=r[0]-u,l=n[1],c=e[1],f=t[1]-l,s=r[1]-c,h=(a*(l-c)-s*(i-u))/(s*o-a*f);return[i+h*o,l+h*f]}function De(n){var t=n[0],e=n[n.length-1];return!(t[0]-e[0]||t[1]-e[1])}function Pe(){rr(this),this.edge=this.site=this.circle=null}function Ue(n){var t=cl.pop()||new Pe;return t.site=n,t}function je(n){Be(n),ol.remove(n),cl.push(n),rr(n)}function Fe(n){var t=n.circle,e=t.x,r=t.cy,i={x:e,y:r},u=n.P,o=n.N,a=[n];je(n);for(var l=u;l.circle&&xo(e-l.circle.x)f;++f)c=a[f],l=a[f-1],nr(c.edge,l.site,c.site,i);l=a[0],c=a[s-1],c.edge=Ke(l.site,c.site,null,i),$e(l),$e(c)}function He(n){for(var t,e,r,i,u=n.x,o=n.y,a=ol._;a;)if(r=Oe(a,o)-u,r>Uo)a=a.L;else{if(i=u-Ie(a,o),!(i>Uo)){r>-Uo?(t=a.P,e=a):i>-Uo?(t=a,e=a.N):t=e=a;break}if(!a.R){t=a;break}a=a.R}var l=Ue(n);if(ol.insert(t,l),t||e){if(t===e)return Be(t),e=Ue(t.site),ol.insert(l,e),l.edge=e.edge=Ke(t.site,l.site),$e(t),void $e(e);if(!e)return void(l.edge=Ke(t.site,l.site));Be(t),Be(e);var c=t.site,f=c.x,s=c.y,h=n.x-f,p=n.y-s,g=e.site,v=g.x-f,d=g.y-s,y=2*(h*d-p*v),m=h*h+p*p,M=v*v+d*d,x={x:(d*m-p*M)/y+f,y:(h*M-v*m)/y+s};nr(e.edge,c,g,x),l.edge=Ke(c,n,null,x),e.edge=Ke(n,g,null,x),$e(t),$e(e)}}function Oe(n,t){var e=n.site,r=e.x,i=e.y,u=i-t;if(!u)return r;var o=n.P;if(!o)return-(1/0);e=o.site;var a=e.x,l=e.y,c=l-t;if(!c)return a;var f=a-r,s=1/u-1/c,h=f/c;return s?(-h+Math.sqrt(h*h-2*s*(f*f/(-2*c)-l+c/2+i-u/2)))/s+r:(r+a)/2}function Ie(n,t){var e=n.N;if(e)return Oe(e,t);var r=n.site;return r.y===t?r.x:1/0}function Ye(n){this.site=n,this.edges=[]}function Ze(n){for(var t,e,r,i,u,o,a,l,c,f,s=n[0][0],h=n[1][0],p=n[0][1],g=n[1][1],v=ul,d=v.length;d--;)if(u=v[d],u&&u.prepare())for(a=u.edges,l=a.length,o=0;l>o;)f=a[o].end(),r=f.x,i=f.y,c=a[++o%l].start(),t=c.x,e=c.y,(xo(r-t)>Uo||xo(i-e)>Uo)&&(a.splice(o,0,new tr(Qe(u.site,f,xo(r-s)Uo?{x:s,y:xo(t-s)Uo?{x:xo(e-g)Uo?{x:h,y:xo(t-h)Uo?{x:xo(e-p)=-jo)){var p=l*l+c*c,g=f*f+s*s,v=(s*p-c*g)/h,d=(l*g-f*p)/h,s=d+a,y=fl.pop()||new Xe;y.arc=n,y.site=i,y.x=v+o,y.y=s+Math.sqrt(v*v+d*d),y.cy=s,n.circle=y;for(var m=null,M=ll._;M;)if(y.yd||d>=a)return;if(h>g){if(u){if(u.y>=c)return}else u={x:d,y:l};e={x:d,y:c}}else{if(u){if(u.yr||r>1)if(h>g){if(u){if(u.y>=c)return}else u={x:(l-i)/r,y:l};e={x:(c-i)/r,y:c}}else{if(u){if(u.yp){if(u){if(u.x>=a)return}else u={x:o,y:r*o+i};e={x:a,y:r*a+i}}else{if(u){if(u.xu||s>o||r>h||i>p)){if(g=n.point){var g,v=t-n.x,d=e-n.y,y=v*v+d*d;if(l>y){var m=Math.sqrt(l=y);r=t-m,i=e-m,u=t+m,o=e+m,a=g}}for(var M=n.nodes,x=.5*(f+h),b=.5*(s+p),_=t>=x,w=e>=b,S=w<<1|_,k=S+4;k>S;++S)if(n=M[3&S])switch(3&S){case 0:c(n,f,s,x,b);break;case 1:c(n,x,s,h,b);break;case 2:c(n,f,b,x,p);break;case 3:c(n,x,b,h,p)}}}(n,r,i,u,o),a}function vr(n,t){n=ao.rgb(n),t=ao.rgb(t);var e=n.r,r=n.g,i=n.b,u=t.r-e,o=t.g-r,a=t.b-i;return function(n){return"#"+bn(Math.round(e+u*n))+bn(Math.round(r+o*n))+bn(Math.round(i+a*n))}}function dr(n,t){var e,r={},i={};for(e in n)e in t?r[e]=Mr(n[e],t[e]):i[e]=n[e];for(e in t)e in n||(i[e]=t[e]);return function(n){for(e in r)i[e]=r[e](n);return i}}function yr(n,t){return n=+n,t=+t,function(e){return n*(1-e)+t*e}}function mr(n,t){var e,r,i,u=hl.lastIndex=pl.lastIndex=0,o=-1,a=[],l=[];for(n+="",t+="";(e=hl.exec(n))&&(r=pl.exec(t));)(i=r.index)>u&&(i=t.slice(u,i),a[o]?a[o]+=i:a[++o]=i),(e=e[0])===(r=r[0])?a[o]?a[o]+=r:a[++o]=r:(a[++o]=null,l.push({i:o,x:yr(e,r)})),u=pl.lastIndex;return ur;++r)a[(e=l[r]).i]=e.x(n);return a.join("")})}function Mr(n,t){for(var e,r=ao.interpolators.length;--r>=0&&!(e=ao.interpolators[r](n,t)););return e}function xr(n,t){var e,r=[],i=[],u=n.length,o=t.length,a=Math.min(n.length,t.length);for(e=0;a>e;++e)r.push(Mr(n[e],t[e]));for(;u>e;++e)i[e]=n[e];for(;o>e;++e)i[e]=t[e];return function(n){for(e=0;a>e;++e)i[e]=r[e](n);return i}}function br(n){return function(t){return 0>=t?0:t>=1?1:n(t)}}function _r(n){return function(t){return 1-n(1-t)}}function wr(n){return function(t){return.5*(.5>t?n(2*t):2-n(2-2*t))}}function Sr(n){return n*n}function kr(n){return n*n*n}function Nr(n){if(0>=n)return 0;if(n>=1)return 1;var t=n*n,e=t*n;return 4*(.5>n?e:3*(n-t)+e-.75)}function Er(n){return function(t){return Math.pow(t,n)}}function Ar(n){return 1-Math.cos(n*Io)}function Cr(n){return Math.pow(2,10*(n-1))}function zr(n){return 1-Math.sqrt(1-n*n)}function Lr(n,t){var e;return arguments.length<2&&(t=.45),arguments.length?e=t/Ho*Math.asin(1/n):(n=1,e=t/4),function(r){return 1+n*Math.pow(2,-10*r)*Math.sin((r-e)*Ho/t)}}function qr(n){return n||(n=1.70158),function(t){return t*t*((n+1)*t-n)}}function Tr(n){return 1/2.75>n?7.5625*n*n:2/2.75>n?7.5625*(n-=1.5/2.75)*n+.75:2.5/2.75>n?7.5625*(n-=2.25/2.75)*n+.9375:7.5625*(n-=2.625/2.75)*n+.984375}function Rr(n,t){n=ao.hcl(n),t=ao.hcl(t);var e=n.h,r=n.c,i=n.l,u=t.h-e,o=t.c-r,a=t.l-i;return isNaN(o)&&(o=0,r=isNaN(r)?t.c:r),isNaN(u)?(u=0,e=isNaN(e)?t.h:e):u>180?u-=360:-180>u&&(u+=360),function(n){return sn(e+u*n,r+o*n,i+a*n)+""}}function Dr(n,t){n=ao.hsl(n),t=ao.hsl(t);var e=n.h,r=n.s,i=n.l,u=t.h-e,o=t.s-r,a=t.l-i;return isNaN(o)&&(o=0,r=isNaN(r)?t.s:r),isNaN(u)?(u=0,e=isNaN(e)?t.h:e):u>180?u-=360:-180>u&&(u+=360),function(n){return cn(e+u*n,r+o*n,i+a*n)+""}}function Pr(n,t){n=ao.lab(n),t=ao.lab(t);var e=n.l,r=n.a,i=n.b,u=t.l-e,o=t.a-r,a=t.b-i;return function(n){return pn(e+u*n,r+o*n,i+a*n)+""}}function Ur(n,t){return t-=n,function(e){return Math.round(n+t*e)}}function jr(n){var t=[n.a,n.b],e=[n.c,n.d],r=Hr(t),i=Fr(t,e),u=Hr(Or(e,t,-i))||0;t[0]*e[1]180?t+=360:t-n>180&&(n+=360),r.push({i:e.push(Ir(e)+"rotate(",null,")")-2,x:yr(n,t)})):t&&e.push(Ir(e)+"rotate("+t+")")}function Vr(n,t,e,r){n!==t?r.push({i:e.push(Ir(e)+"skewX(",null,")")-2,x:yr(n,t)}):t&&e.push(Ir(e)+"skewX("+t+")")}function Xr(n,t,e,r){if(n[0]!==t[0]||n[1]!==t[1]){var i=e.push(Ir(e)+"scale(",null,",",null,")");r.push({i:i-4,x:yr(n[0],t[0])},{i:i-2,x:yr(n[1],t[1])})}else 1===t[0]&&1===t[1]||e.push(Ir(e)+"scale("+t+")")}function $r(n,t){var e=[],r=[];return n=ao.transform(n),t=ao.transform(t),Yr(n.translate,t.translate,e,r),Zr(n.rotate,t.rotate,e,r),Vr(n.skew,t.skew,e,r),Xr(n.scale,t.scale,e,r),n=t=null,function(n){for(var t,i=-1,u=r.length;++i=0;)e.push(i[r])}function oi(n,t){for(var e=[n],r=[];null!=(n=e.pop());)if(r.push(n),(u=n.children)&&(i=u.length))for(var i,u,o=-1;++oe;++e)(t=n[e][1])>i&&(r=e,i=t);return r}function yi(n){return n.reduce(mi,0)}function mi(n,t){return n+t[1]}function Mi(n,t){return xi(n,Math.ceil(Math.log(t.length)/Math.LN2+1))}function xi(n,t){for(var e=-1,r=+n[0],i=(n[1]-r)/t,u=[];++e<=t;)u[e]=i*e+r;return u}function bi(n){return[ao.min(n),ao.max(n)]}function _i(n,t){return n.value-t.value}function wi(n,t){var e=n._pack_next;n._pack_next=t,t._pack_prev=n,t._pack_next=e,e._pack_prev=t}function Si(n,t){n._pack_next=t,t._pack_prev=n}function ki(n,t){var e=t.x-n.x,r=t.y-n.y,i=n.r+t.r;return.999*i*i>e*e+r*r}function Ni(n){function t(n){f=Math.min(n.x-n.r,f),s=Math.max(n.x+n.r,s),h=Math.min(n.y-n.r,h),p=Math.max(n.y+n.r,p)}if((e=n.children)&&(c=e.length)){var e,r,i,u,o,a,l,c,f=1/0,s=-(1/0),h=1/0,p=-(1/0);if(e.forEach(Ei),r=e[0],r.x=-r.r,r.y=0,t(r),c>1&&(i=e[1],i.x=i.r,i.y=0,t(i),c>2))for(u=e[2],zi(r,i,u),t(u),wi(r,u),r._pack_prev=u,wi(u,i),i=r._pack_next,o=3;c>o;o++){zi(r,i,u=e[o]);var g=0,v=1,d=1;for(a=i._pack_next;a!==i;a=a._pack_next,v++)if(ki(a,u)){g=1;break}if(1==g)for(l=r._pack_prev;l!==a._pack_prev&&!ki(l,u);l=l._pack_prev,d++);g?(d>v||v==d&&i.ro;o++)u=e[o],u.x-=y,u.y-=m,M=Math.max(M,u.r+Math.sqrt(u.x*u.x+u.y*u.y));n.r=M,e.forEach(Ai)}}function Ei(n){n._pack_next=n._pack_prev=n}function Ai(n){delete n._pack_next,delete n._pack_prev}function Ci(n,t,e,r){var i=n.children;if(n.x=t+=r*n.x,n.y=e+=r*n.y,n.r*=r,i)for(var u=-1,o=i.length;++u=0;)t=i[u],t.z+=e,t.m+=e,e+=t.s+(r+=t.c)}function Pi(n,t,e){return n.a.parent===t.parent?n.a:e}function Ui(n){return 1+ao.max(n,function(n){return n.y})}function ji(n){return n.reduce(function(n,t){return n+t.x},0)/n.length}function Fi(n){var t=n.children;return t&&t.length?Fi(t[0]):n}function Hi(n){var t,e=n.children;return e&&(t=e.length)?Hi(e[t-1]):n}function Oi(n){return{x:n.x,y:n.y,dx:n.dx,dy:n.dy}}function Ii(n,t){var e=n.x+t[3],r=n.y+t[0],i=n.dx-t[1]-t[3],u=n.dy-t[0]-t[2];return 0>i&&(e+=i/2,i=0),0>u&&(r+=u/2,u=0),{x:e,y:r,dx:i,dy:u}}function Yi(n){var t=n[0],e=n[n.length-1];return e>t?[t,e]:[e,t]}function Zi(n){return n.rangeExtent?n.rangeExtent():Yi(n.range())}function Vi(n,t,e,r){var i=e(n[0],n[1]),u=r(t[0],t[1]);return function(n){return u(i(n))}}function Xi(n,t){var e,r=0,i=n.length-1,u=n[r],o=n[i];return u>o&&(e=r,r=i,i=e,e=u,u=o,o=e),n[r]=t.floor(u),n[i]=t.ceil(o),n}function $i(n){return n?{floor:function(t){return Math.floor(t/n)*n},ceil:function(t){return Math.ceil(t/n)*n}}:Sl}function Bi(n,t,e,r){var i=[],u=[],o=0,a=Math.min(n.length,t.length)-1;for(n[a]2?Bi:Vi,l=r?Wr:Br;return o=i(n,t,l,e),a=i(t,n,l,Mr),u}function u(n){return o(n)}var o,a;return u.invert=function(n){return a(n)},u.domain=function(t){return arguments.length?(n=t.map(Number),i()):n},u.range=function(n){return arguments.length?(t=n,i()):t},u.rangeRound=function(n){return u.range(n).interpolate(Ur)},u.clamp=function(n){return arguments.length?(r=n,i()):r},u.interpolate=function(n){return arguments.length?(e=n,i()):e},u.ticks=function(t){return Qi(n,t)},u.tickFormat=function(t,e){return nu(n,t,e)},u.nice=function(t){return Gi(n,t),i()},u.copy=function(){return Wi(n,t,e,r)},i()}function Ji(n,t){return ao.rebind(n,t,"range","rangeRound","interpolate","clamp")}function Gi(n,t){return Xi(n,$i(Ki(n,t)[2])),Xi(n,$i(Ki(n,t)[2])),n}function Ki(n,t){null==t&&(t=10);var e=Yi(n),r=e[1]-e[0],i=Math.pow(10,Math.floor(Math.log(r/t)/Math.LN10)),u=t/r*i;return.15>=u?i*=10:.35>=u?i*=5:.75>=u&&(i*=2),e[0]=Math.ceil(e[0]/i)*i,e[1]=Math.floor(e[1]/i)*i+.5*i,e[2]=i,e}function Qi(n,t){return ao.range.apply(ao,Ki(n,t))}function nu(n,t,e){var r=Ki(n,t);if(e){var i=ha.exec(e);if(i.shift(),"s"===i[8]){var u=ao.formatPrefix(Math.max(xo(r[0]),xo(r[1])));return i[7]||(i[7]="."+tu(u.scale(r[2]))),i[8]="f",e=ao.format(i.join("")),function(n){return e(u.scale(n))+u.symbol}}i[7]||(i[7]="."+eu(i[8],r)),e=i.join("")}else e=",."+tu(r[2])+"f";return ao.format(e)}function tu(n){return-Math.floor(Math.log(n)/Math.LN10+.01)}function eu(n,t){var e=tu(t[2]);return n in kl?Math.abs(e-tu(Math.max(xo(t[0]),xo(t[1]))))+ +("e"!==n):e-2*("%"===n)}function ru(n,t,e,r){function i(n){return(e?Math.log(0>n?0:n):-Math.log(n>0?0:-n))/Math.log(t)}function u(n){return e?Math.pow(t,n):-Math.pow(t,-n)}function o(t){return n(i(t))}return o.invert=function(t){return u(n.invert(t))},o.domain=function(t){return arguments.length?(e=t[0]>=0,n.domain((r=t.map(Number)).map(i)),o):r},o.base=function(e){return arguments.length?(t=+e,n.domain(r.map(i)),o):t},o.nice=function(){var t=Xi(r.map(i),e?Math:El);return n.domain(t),r=t.map(u),o},o.ticks=function(){var n=Yi(r),o=[],a=n[0],l=n[1],c=Math.floor(i(a)),f=Math.ceil(i(l)),s=t%1?2:t;if(isFinite(f-c)){if(e){for(;f>c;c++)for(var h=1;s>h;h++)o.push(u(c)*h);o.push(u(c))}else for(o.push(u(c));c++0;h--)o.push(u(c)*h);for(c=0;o[c]l;f--);o=o.slice(c,f)}return o},o.tickFormat=function(n,e){if(!arguments.length)return Nl;arguments.length<2?e=Nl:"function"!=typeof e&&(e=ao.format(e));var r=Math.max(1,t*n/o.ticks().length);return function(n){var o=n/u(Math.round(i(n)));return t-.5>o*t&&(o*=t),r>=o?e(n):""}},o.copy=function(){return ru(n.copy(),t,e,r)},Ji(o,n)}function iu(n,t,e){function r(t){return n(i(t))}var i=uu(t),u=uu(1/t);return r.invert=function(t){return u(n.invert(t))},r.domain=function(t){return arguments.length?(n.domain((e=t.map(Number)).map(i)),r):e},r.ticks=function(n){return Qi(e,n)},r.tickFormat=function(n,t){return nu(e,n,t)},r.nice=function(n){return r.domain(Gi(e,n))},r.exponent=function(o){return arguments.length?(i=uu(t=o),u=uu(1/t),n.domain(e.map(i)),r):t},r.copy=function(){return iu(n.copy(),t,e)},Ji(r,n)}function uu(n){return function(t){return 0>t?-Math.pow(-t,n):Math.pow(t,n)}}function ou(n,t){function e(e){return u[((i.get(e)||("range"===t.t?i.set(e,n.push(e)):NaN))-1)%u.length]}function r(t,e){return ao.range(n.length).map(function(n){return t+e*n})}var i,u,o;return e.domain=function(r){if(!arguments.length)return n;n=[],i=new c;for(var u,o=-1,a=r.length;++oe?[NaN,NaN]:[e>0?a[e-1]:n[0],et?NaN:t/u+n,[t,t+1/u]},r.copy=function(){return lu(n,t,e)},i()}function cu(n,t){function e(e){return e>=e?t[ao.bisect(n,e)]:void 0}return e.domain=function(t){return arguments.length?(n=t,e):n},e.range=function(n){return arguments.length?(t=n,e):t},e.invertExtent=function(e){return e=t.indexOf(e),[n[e-1],n[e]]},e.copy=function(){return cu(n,t)},e}function fu(n){function t(n){return+n}return t.invert=t,t.domain=t.range=function(e){return arguments.length?(n=e.map(t),t):n},t.ticks=function(t){return Qi(n,t)},t.tickFormat=function(t,e){return nu(n,t,e)},t.copy=function(){return fu(n)},t}function su(){return 0}function hu(n){return n.innerRadius}function pu(n){return n.outerRadius}function gu(n){return n.startAngle}function vu(n){return n.endAngle}function du(n){return n&&n.padAngle}function yu(n,t,e,r){return(n-e)*t-(t-r)*n>0?0:1}function mu(n,t,e,r,i){var u=n[0]-t[0],o=n[1]-t[1],a=(i?r:-r)/Math.sqrt(u*u+o*o),l=a*o,c=-a*u,f=n[0]+l,s=n[1]+c,h=t[0]+l,p=t[1]+c,g=(f+h)/2,v=(s+p)/2,d=h-f,y=p-s,m=d*d+y*y,M=e-r,x=f*p-h*s,b=(0>y?-1:1)*Math.sqrt(Math.max(0,M*M*m-x*x)),_=(x*y-d*b)/m,w=(-x*d-y*b)/m,S=(x*y+d*b)/m,k=(-x*d+y*b)/m,N=_-g,E=w-v,A=S-g,C=k-v;return N*N+E*E>A*A+C*C&&(_=S,w=k),[[_-l,w-c],[_*e/M,w*e/M]]}function Mu(n){function t(t){function o(){c.push("M",u(n(f),a))}for(var l,c=[],f=[],s=-1,h=t.length,p=En(e),g=En(r);++s1?n.join("L"):n+"Z"}function bu(n){return n.join("L")+"Z"}function _u(n){for(var t=0,e=n.length,r=n[0],i=[r[0],",",r[1]];++t1&&i.push("H",r[0]),i.join("")}function wu(n){for(var t=0,e=n.length,r=n[0],i=[r[0],",",r[1]];++t1){a=t[1],u=n[l],l++,r+="C"+(i[0]+o[0])+","+(i[1]+o[1])+","+(u[0]-a[0])+","+(u[1]-a[1])+","+u[0]+","+u[1];for(var c=2;c9&&(i=3*t/Math.sqrt(i),o[a]=i*e,o[a+1]=i*r));for(a=-1;++a<=l;)i=(n[Math.min(l,a+1)][0]-n[Math.max(0,a-1)][0])/(6*(1+o[a]*o[a])),u.push([i||0,o[a]*i||0]);return u}function Fu(n){return n.length<3?xu(n):n[0]+Au(n,ju(n))}function Hu(n){for(var t,e,r,i=-1,u=n.length;++i=t?o(n-t):void(f.c=o)}function o(e){var i=g.active,u=g[i];u&&(u.timer.c=null,u.timer.t=NaN,--g.count,delete g[i],u.event&&u.event.interrupt.call(n,n.__data__,u.index));for(var o in g)if(r>+o){var c=g[o];c.timer.c=null,c.timer.t=NaN,--g.count,delete g[o]}f.c=a,qn(function(){return f.c&&a(e||1)&&(f.c=null,f.t=NaN),1},0,l),g.active=r,v.event&&v.event.start.call(n,n.__data__,t),p=[],v.tween.forEach(function(e,r){(r=r.call(n,n.__data__,t))&&p.push(r)}),h=v.ease,s=v.duration}function a(i){for(var u=i/s,o=h(u),a=p.length;a>0;)p[--a].call(n,o);return u>=1?(v.event&&v.event.end.call(n,n.__data__,t),--g.count?delete g[r]:delete n[e],1):void 0}var l,f,s,h,p,g=n[e]||(n[e]={active:0,count:0}),v=g[r];v||(l=i.time,f=qn(u,0,l),v=g[r]={tween:new c,time:l,timer:f,delay:i.delay,duration:i.duration,ease:i.ease,index:t},i=null,++g.count)}function no(n,t,e){n.attr("transform",function(n){var r=t(n);return"translate("+(isFinite(r)?r:e(n))+",0)"})}function to(n,t,e){n.attr("transform",function(n){var r=t(n);return"translate(0,"+(isFinite(r)?r:e(n))+")"})}function eo(n){return n.toISOString()}function ro(n,t,e){function r(t){return n(t)}function i(n,e){var r=n[1]-n[0],i=r/e,u=ao.bisect(Kl,i);return u==Kl.length?[t.year,Ki(n.map(function(n){return n/31536e6}),e)[2]]:u?t[i/Kl[u-1]1?{floor:function(t){for(;e(t=n.floor(t));)t=io(t-1);return t},ceil:function(t){for(;e(t=n.ceil(t));)t=io(+t+1);return t}}:n))},r.ticks=function(n,t){var e=Yi(r.domain()),u=null==n?i(e,10):"number"==typeof n?i(e,n):!n.range&&[{range:n},t];return u&&(n=u[0],t=u[1]),n.range(e[0],io(+e[1]+1),1>t?1:t)},r.tickFormat=function(){return e},r.copy=function(){return ro(n.copy(),t,e)},Ji(r,n)}function io(n){return new Date(n)}function uo(n){return JSON.parse(n.responseText)}function oo(n){var t=fo.createRange();return t.selectNode(fo.body),t.createContextualFragment(n.responseText)}var ao={version:"3.5.17"},lo=[].slice,co=function(n){return lo.call(n)},fo=this.document;if(fo)try{co(fo.documentElement.childNodes)[0].nodeType}catch(so){co=function(n){for(var t=n.length,e=new Array(t);t--;)e[t]=n[t];return e}}if(Date.now||(Date.now=function(){return+new Date}),fo)try{fo.createElement("DIV").style.setProperty("opacity",0,"")}catch(ho){var po=this.Element.prototype,go=po.setAttribute,vo=po.setAttributeNS,yo=this.CSSStyleDeclaration.prototype,mo=yo.setProperty;po.setAttribute=function(n,t){go.call(this,n,t+"")},po.setAttributeNS=function(n,t,e){vo.call(this,n,t,e+"")},yo.setProperty=function(n,t,e){mo.call(this,n,t+"",e)}}ao.ascending=e,ao.descending=function(n,t){return n>t?-1:t>n?1:t>=n?0:NaN},ao.min=function(n,t){var e,r,i=-1,u=n.length;if(1===arguments.length){for(;++i=r){e=r;break}for(;++ir&&(e=r)}else{for(;++i=r){e=r;break}for(;++ir&&(e=r)}return e},ao.max=function(n,t){var e,r,i=-1,u=n.length;if(1===arguments.length){for(;++i=r){e=r;break}for(;++ie&&(e=r)}else{for(;++i=r){e=r;break}for(;++ie&&(e=r)}return e},ao.extent=function(n,t){var e,r,i,u=-1,o=n.length;if(1===arguments.length){for(;++u=r){e=i=r;break}for(;++ur&&(e=r),r>i&&(i=r))}else{for(;++u=r){e=i=r;break}for(;++ur&&(e=r),r>i&&(i=r))}return[e,i]},ao.sum=function(n,t){var e,r=0,u=n.length,o=-1;if(1===arguments.length)for(;++o1?l/(f-1):void 0},ao.deviation=function(){var n=ao.variance.apply(this,arguments);return n?Math.sqrt(n):n};var Mo=u(e);ao.bisectLeft=Mo.left,ao.bisect=ao.bisectRight=Mo.right,ao.bisector=function(n){return u(1===n.length?function(t,r){return e(n(t),r)}:n)},ao.shuffle=function(n,t,e){(u=arguments.length)<3&&(e=n.length,2>u&&(t=0));for(var r,i,u=e-t;u;)i=Math.random()*u--|0,r=n[u+t],n[u+t]=n[i+t],n[i+t]=r;return n},ao.permute=function(n,t){for(var e=t.length,r=new Array(e);e--;)r[e]=n[t[e]];return r},ao.pairs=function(n){for(var t,e=0,r=n.length-1,i=n[0],u=new Array(0>r?0:r);r>e;)u[e]=[t=i,i=n[++e]];return u},ao.transpose=function(n){if(!(i=n.length))return[];for(var t=-1,e=ao.min(n,o),r=new Array(e);++t=0;)for(r=n[i],t=r.length;--t>=0;)e[--o]=r[t];return e};var xo=Math.abs;ao.range=function(n,t,e){if(arguments.length<3&&(e=1,arguments.length<2&&(t=n,n=0)),(t-n)/e===1/0)throw new Error("infinite range");var r,i=[],u=a(xo(e)),o=-1;if(n*=u,t*=u,e*=u,0>e)for(;(r=n+e*++o)>t;)i.push(r/u);else for(;(r=n+e*++o)=u.length)return r?r.call(i,o):e?o.sort(e):o;for(var l,f,s,h,p=-1,g=o.length,v=u[a++],d=new c;++p=u.length)return n;var r=[],i=o[e++];return n.forEach(function(n,i){r.push({key:n,values:t(i,e)})}),i?r.sort(function(n,t){return i(n.key,t.key)}):r}var e,r,i={},u=[],o=[];return i.map=function(t,e){return n(e,t,0)},i.entries=function(e){return t(n(ao.map,e,0),0)},i.key=function(n){return u.push(n),i},i.sortKeys=function(n){return o[u.length-1]=n,i},i.sortValues=function(n){return e=n,i},i.rollup=function(n){return r=n,i},i},ao.set=function(n){var t=new y;if(n)for(var e=0,r=n.length;r>e;++e)t.add(n[e]);return t},l(y,{has:h,add:function(n){return this._[f(n+="")]=!0,n},remove:p,values:g,size:v,empty:d,forEach:function(n){for(var t in this._)n.call(this,s(t))}}),ao.behavior={},ao.rebind=function(n,t){for(var e,r=1,i=arguments.length;++r=0&&(r=n.slice(e+1),n=n.slice(0,e)),n)return arguments.length<2?this[n].on(r):this[n].on(r,t);if(2===arguments.length){if(null==t)for(n in this)this.hasOwnProperty(n)&&this[n].on(r,null);return this}},ao.event=null,ao.requote=function(n){return n.replace(So,"\\$&")};var So=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,ko={}.__proto__?function(n,t){n.__proto__=t}:function(n,t){for(var e in t)n[e]=t[e]},No=function(n,t){return t.querySelector(n)},Eo=function(n,t){return t.querySelectorAll(n)},Ao=function(n,t){var e=n.matches||n[x(n,"matchesSelector")];return(Ao=function(n,t){return e.call(n,t)})(n,t)};"function"==typeof Sizzle&&(No=function(n,t){return Sizzle(n,t)[0]||null},Eo=Sizzle,Ao=Sizzle.matchesSelector),ao.selection=function(){return ao.select(fo.documentElement)};var Co=ao.selection.prototype=[];Co.select=function(n){var t,e,r,i,u=[];n=A(n);for(var o=-1,a=this.length;++o=0&&"xmlns"!==(e=n.slice(0,t))&&(n=n.slice(t+1)),Lo.hasOwnProperty(e)?{space:Lo[e],local:n}:n}},Co.attr=function(n,t){if(arguments.length<2){if("string"==typeof n){var e=this.node();return n=ao.ns.qualify(n),n.local?e.getAttributeNS(n.space,n.local):e.getAttribute(n)}for(t in n)this.each(z(t,n[t]));return this}return this.each(z(n,t))},Co.classed=function(n,t){if(arguments.length<2){if("string"==typeof n){var e=this.node(),r=(n=T(n)).length,i=-1;if(t=e.classList){for(;++ii){if("string"!=typeof n){2>i&&(e="");for(r in n)this.each(P(r,n[r],e));return this}if(2>i){var u=this.node();return t(u).getComputedStyle(u,null).getPropertyValue(n)}r=""}return this.each(P(n,e,r))},Co.property=function(n,t){if(arguments.length<2){if("string"==typeof n)return this.node()[n];for(t in n)this.each(U(t,n[t]));return this}return this.each(U(n,t))},Co.text=function(n){return arguments.length?this.each("function"==typeof n?function(){var t=n.apply(this,arguments);this.textContent=null==t?"":t}:null==n?function(){this.textContent=""}:function(){this.textContent=n}):this.node().textContent},Co.html=function(n){return arguments.length?this.each("function"==typeof n?function(){var t=n.apply(this,arguments);this.innerHTML=null==t?"":t}:null==n?function(){this.innerHTML=""}:function(){this.innerHTML=n}):this.node().innerHTML},Co.append=function(n){return n=j(n),this.select(function(){return this.appendChild(n.apply(this,arguments))})},Co.insert=function(n,t){return n=j(n),t=A(t),this.select(function(){return this.insertBefore(n.apply(this,arguments),t.apply(this,arguments)||null)})},Co.remove=function(){return this.each(F)},Co.data=function(n,t){function e(n,e){var r,i,u,o=n.length,s=e.length,h=Math.min(o,s),p=new Array(s),g=new Array(s),v=new Array(o);if(t){var d,y=new c,m=new Array(o);for(r=-1;++rr;++r)g[r]=H(e[r]);for(;o>r;++r)v[r]=n[r]}g.update=p,g.parentNode=p.parentNode=v.parentNode=n.parentNode,a.push(g),l.push(p),f.push(v)}var r,i,u=-1,o=this.length;if(!arguments.length){for(n=new Array(o=(r=this[0]).length);++uu;u++){i.push(t=[]),t.parentNode=(e=this[u]).parentNode;for(var a=0,l=e.length;l>a;a++)(r=e[a])&&n.call(r,r.__data__,a,u)&&t.push(r)}return E(i)},Co.order=function(){for(var n=-1,t=this.length;++n=0;)(e=r[i])&&(u&&u!==e.nextSibling&&u.parentNode.insertBefore(e,u),u=e);return this},Co.sort=function(n){n=I.apply(this,arguments);for(var t=-1,e=this.length;++tn;n++)for(var e=this[n],r=0,i=e.length;i>r;r++){var u=e[r];if(u)return u}return null},Co.size=function(){var n=0;return Y(this,function(){++n}),n};var qo=[];ao.selection.enter=Z,ao.selection.enter.prototype=qo,qo.append=Co.append,qo.empty=Co.empty,qo.node=Co.node,qo.call=Co.call,qo.size=Co.size,qo.select=function(n){for(var t,e,r,i,u,o=[],a=-1,l=this.length;++ar){if("string"!=typeof n){2>r&&(t=!1);for(e in n)this.each(X(e,n[e],t));return this}if(2>r)return(r=this.node()["__on"+n])&&r._;e=!1}return this.each(X(n,t,e))};var To=ao.map({mouseenter:"mouseover",mouseleave:"mouseout"});fo&&To.forEach(function(n){"on"+n in fo&&To.remove(n)});var Ro,Do=0;ao.mouse=function(n){return J(n,k())};var Po=this.navigator&&/WebKit/.test(this.navigator.userAgent)?-1:0;ao.touch=function(n,t,e){if(arguments.length<3&&(e=t,t=k().changedTouches),t)for(var r,i=0,u=t.length;u>i;++i)if((r=t[i]).identifier===e)return J(n,r)},ao.behavior.drag=function(){function n(){this.on("mousedown.drag",u).on("touchstart.drag",o)}function e(n,t,e,u,o){return function(){function a(){var n,e,r=t(h,v);r&&(n=r[0]-M[0],e=r[1]-M[1],g|=n|e,M=r,p({type:"drag",x:r[0]+c[0],y:r[1]+c[1],dx:n,dy:e}))}function l(){t(h,v)&&(y.on(u+d,null).on(o+d,null),m(g),p({type:"dragend"}))}var c,f=this,s=ao.event.target.correspondingElement||ao.event.target,h=f.parentNode,p=r.of(f,arguments),g=0,v=n(),d=".drag"+(null==v?"":"-"+v),y=ao.select(e(s)).on(u+d,a).on(o+d,l),m=W(s),M=t(h,v);i?(c=i.apply(f,arguments),c=[c.x-M[0],c.y-M[1]]):c=[0,0],p({type:"dragstart"})}}var r=N(n,"drag","dragstart","dragend"),i=null,u=e(b,ao.mouse,t,"mousemove","mouseup"),o=e(G,ao.touch,m,"touchmove","touchend");return n.origin=function(t){return arguments.length?(i=t,n):i},ao.rebind(n,r,"on")},ao.touches=function(n,t){return arguments.length<2&&(t=k().touches),t?co(t).map(function(t){var e=J(n,t);return e.identifier=t.identifier,e}):[]};var Uo=1e-6,jo=Uo*Uo,Fo=Math.PI,Ho=2*Fo,Oo=Ho-Uo,Io=Fo/2,Yo=Fo/180,Zo=180/Fo,Vo=Math.SQRT2,Xo=2,$o=4;ao.interpolateZoom=function(n,t){var e,r,i=n[0],u=n[1],o=n[2],a=t[0],l=t[1],c=t[2],f=a-i,s=l-u,h=f*f+s*s;if(jo>h)r=Math.log(c/o)/Vo,e=function(n){return[i+n*f,u+n*s,o*Math.exp(Vo*n*r)]};else{var p=Math.sqrt(h),g=(c*c-o*o+$o*h)/(2*o*Xo*p),v=(c*c-o*o-$o*h)/(2*c*Xo*p),d=Math.log(Math.sqrt(g*g+1)-g),y=Math.log(Math.sqrt(v*v+1)-v);r=(y-d)/Vo,e=function(n){var t=n*r,e=rn(d),a=o/(Xo*p)*(e*un(Vo*t+d)-en(d));return[i+a*f,u+a*s,o*e/rn(Vo*t+d)]}}return e.duration=1e3*r,e},ao.behavior.zoom=function(){function n(n){n.on(L,s).on(Wo+".zoom",p).on("dblclick.zoom",g).on(R,h)}function e(n){return[(n[0]-k.x)/k.k,(n[1]-k.y)/k.k]}function r(n){return[n[0]*k.k+k.x,n[1]*k.k+k.y]}function i(n){k.k=Math.max(A[0],Math.min(A[1],n))}function u(n,t){t=r(t),k.x+=n[0]-t[0],k.y+=n[1]-t[1]}function o(t,e,r,o){t.__chart__={x:k.x,y:k.y,k:k.k},i(Math.pow(2,o)),u(d=e,r),t=ao.select(t),C>0&&(t=t.transition().duration(C)),t.call(n.event)}function a(){b&&b.domain(x.range().map(function(n){return(n-k.x)/k.k}).map(x.invert)),w&&w.domain(_.range().map(function(n){return(n-k.y)/k.k}).map(_.invert))}function l(n){z++||n({type:"zoomstart"})}function c(n){a(),n({type:"zoom",scale:k.k,translate:[k.x,k.y]})}function f(n){--z||(n({type:"zoomend"}),d=null)}function s(){function n(){a=1,u(ao.mouse(i),h),c(o)}function r(){s.on(q,null).on(T,null),p(a),f(o)}var i=this,o=D.of(i,arguments),a=0,s=ao.select(t(i)).on(q,n).on(T,r),h=e(ao.mouse(i)),p=W(i);Il.call(i),l(o)}function h(){function n(){var n=ao.touches(g);return p=k.k,n.forEach(function(n){n.identifier in d&&(d[n.identifier]=e(n))}),n}function t(){var t=ao.event.target;ao.select(t).on(x,r).on(b,a),_.push(t);for(var e=ao.event.changedTouches,i=0,u=e.length;u>i;++i)d[e[i].identifier]=null;var l=n(),c=Date.now();if(1===l.length){if(500>c-M){var f=l[0];o(g,f,d[f.identifier],Math.floor(Math.log(k.k)/Math.LN2)+1),S()}M=c}else if(l.length>1){var f=l[0],s=l[1],h=f[0]-s[0],p=f[1]-s[1];y=h*h+p*p}}function r(){var n,t,e,r,o=ao.touches(g);Il.call(g);for(var a=0,l=o.length;l>a;++a,r=null)if(e=o[a],r=d[e.identifier]){if(t)break;n=e,t=r}if(r){var f=(f=e[0]-n[0])*f+(f=e[1]-n[1])*f,s=y&&Math.sqrt(f/y);n=[(n[0]+e[0])/2,(n[1]+e[1])/2],t=[(t[0]+r[0])/2,(t[1]+r[1])/2],i(s*p)}M=null,u(n,t),c(v)}function a(){if(ao.event.touches.length){for(var t=ao.event.changedTouches,e=0,r=t.length;r>e;++e)delete d[t[e].identifier];for(var i in d)return void n()}ao.selectAll(_).on(m,null),w.on(L,s).on(R,h),N(),f(v)}var p,g=this,v=D.of(g,arguments),d={},y=0,m=".zoom-"+ao.event.changedTouches[0].identifier,x="touchmove"+m,b="touchend"+m,_=[],w=ao.select(g),N=W(g);t(),l(v),w.on(L,null).on(R,t)}function p(){var n=D.of(this,arguments);m?clearTimeout(m):(Il.call(this),v=e(d=y||ao.mouse(this)),l(n)),m=setTimeout(function(){m=null,f(n)},50),S(),i(Math.pow(2,.002*Bo())*k.k),u(d,v),c(n)}function g(){var n=ao.mouse(this),t=Math.log(k.k)/Math.LN2;o(this,n,e(n),ao.event.shiftKey?Math.ceil(t)-1:Math.floor(t)+1)}var v,d,y,m,M,x,b,_,w,k={x:0,y:0,k:1},E=[960,500],A=Jo,C=250,z=0,L="mousedown.zoom",q="mousemove.zoom",T="mouseup.zoom",R="touchstart.zoom",D=N(n,"zoomstart","zoom","zoomend");return Wo||(Wo="onwheel"in fo?(Bo=function(){return-ao.event.deltaY*(ao.event.deltaMode?120:1)},"wheel"):"onmousewheel"in fo?(Bo=function(){return ao.event.wheelDelta},"mousewheel"):(Bo=function(){return-ao.event.detail},"MozMousePixelScroll")),n.event=function(n){n.each(function(){var n=D.of(this,arguments),t=k;Hl?ao.select(this).transition().each("start.zoom",function(){k=this.__chart__||{x:0,y:0,k:1},l(n)}).tween("zoom:zoom",function(){var e=E[0],r=E[1],i=d?d[0]:e/2,u=d?d[1]:r/2,o=ao.interpolateZoom([(i-k.x)/k.k,(u-k.y)/k.k,e/k.k],[(i-t.x)/t.k,(u-t.y)/t.k,e/t.k]);return function(t){var r=o(t),a=e/r[2];this.__chart__=k={x:i-r[0]*a,y:u-r[1]*a,k:a},c(n)}}).each("interrupt.zoom",function(){f(n)}).each("end.zoom",function(){f(n)}):(this.__chart__=k,l(n),c(n),f(n))})},n.translate=function(t){return arguments.length?(k={x:+t[0],y:+t[1],k:k.k},a(),n):[k.x,k.y]},n.scale=function(t){return arguments.length?(k={x:k.x,y:k.y,k:null},i(+t),a(),n):k.k},n.scaleExtent=function(t){return arguments.length?(A=null==t?Jo:[+t[0],+t[1]],n):A},n.center=function(t){return arguments.length?(y=t&&[+t[0],+t[1]],n):y},n.size=function(t){return arguments.length?(E=t&&[+t[0],+t[1]],n):E},n.duration=function(t){return arguments.length?(C=+t,n):C},n.x=function(t){return arguments.length?(b=t,x=t.copy(),k={x:0,y:0,k:1},n):b},n.y=function(t){return arguments.length?(w=t,_=t.copy(),k={x:0,y:0,k:1},n):w},ao.rebind(n,D,"on")};var Bo,Wo,Jo=[0,1/0];ao.color=an,an.prototype.toString=function(){return this.rgb()+""},ao.hsl=ln;var Go=ln.prototype=new an;Go.brighter=function(n){return n=Math.pow(.7,arguments.length?n:1),new ln(this.h,this.s,this.l/n)},Go.darker=function(n){return n=Math.pow(.7,arguments.length?n:1),new ln(this.h,this.s,n*this.l)},Go.rgb=function(){return cn(this.h,this.s,this.l)},ao.hcl=fn;var Ko=fn.prototype=new an;Ko.brighter=function(n){return new fn(this.h,this.c,Math.min(100,this.l+Qo*(arguments.length?n:1)))},Ko.darker=function(n){return new fn(this.h,this.c,Math.max(0,this.l-Qo*(arguments.length?n:1)))},Ko.rgb=function(){return sn(this.h,this.c,this.l).rgb()},ao.lab=hn;var Qo=18,na=.95047,ta=1,ea=1.08883,ra=hn.prototype=new an;ra.brighter=function(n){return new hn(Math.min(100,this.l+Qo*(arguments.length?n:1)),this.a,this.b)},ra.darker=function(n){return new hn(Math.max(0,this.l-Qo*(arguments.length?n:1)),this.a,this.b)},ra.rgb=function(){return pn(this.l,this.a,this.b)},ao.rgb=mn;var ia=mn.prototype=new an;ia.brighter=function(n){n=Math.pow(.7,arguments.length?n:1);var t=this.r,e=this.g,r=this.b,i=30;return t||e||r?(t&&i>t&&(t=i),e&&i>e&&(e=i),r&&i>r&&(r=i),new mn(Math.min(255,t/n),Math.min(255,e/n),Math.min(255,r/n))):new mn(i,i,i)},ia.darker=function(n){return n=Math.pow(.7,arguments.length?n:1),new mn(n*this.r,n*this.g,n*this.b)},ia.hsl=function(){return wn(this.r,this.g,this.b)},ia.toString=function(){return"#"+bn(this.r)+bn(this.g)+bn(this.b)};var ua=ao.map({aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074});ua.forEach(function(n,t){ua.set(n,Mn(t))}),ao.functor=En,ao.xhr=An(m),ao.dsv=function(n,t){function e(n,e,u){arguments.length<3&&(u=e,e=null);var o=Cn(n,t,null==e?r:i(e),u);return o.row=function(n){return arguments.length?o.response(null==(e=n)?r:i(n)):e},o}function r(n){return e.parse(n.responseText)}function i(n){return function(t){return e.parse(t.responseText,n)}}function u(t){return t.map(o).join(n)}function o(n){return a.test(n)?'"'+n.replace(/\"/g,'""')+'"':n}var a=new RegExp('["'+n+"\n]"),l=n.charCodeAt(0);return e.parse=function(n,t){var r;return e.parseRows(n,function(n,e){if(r)return r(n,e-1);var i=new Function("d","return {"+n.map(function(n,t){return JSON.stringify(n)+": d["+t+"]"}).join(",")+"}");r=t?function(n,e){return t(i(n),e)}:i})},e.parseRows=function(n,t){function e(){if(f>=c)return o;if(i)return i=!1,u;var t=f;if(34===n.charCodeAt(t)){for(var e=t;e++f;){var r=n.charCodeAt(f++),a=1;if(10===r)i=!0;else if(13===r)i=!0,10===n.charCodeAt(f)&&(++f,++a);else if(r!==l)continue;return n.slice(t,f-a)}return n.slice(t)}for(var r,i,u={},o={},a=[],c=n.length,f=0,s=0;(r=e())!==o;){for(var h=[];r!==u&&r!==o;)h.push(r),r=e();t&&null==(h=t(h,s++))||a.push(h)}return a},e.format=function(t){if(Array.isArray(t[0]))return e.formatRows(t);var r=new y,i=[];return t.forEach(function(n){for(var t in n)r.has(t)||i.push(r.add(t))}),[i.map(o).join(n)].concat(t.map(function(t){return i.map(function(n){return o(t[n])}).join(n)})).join("\n")},e.formatRows=function(n){return n.map(u).join("\n")},e},ao.csv=ao.dsv(",","text/csv"),ao.tsv=ao.dsv(" ","text/tab-separated-values");var oa,aa,la,ca,fa=this[x(this,"requestAnimationFrame")]||function(n){setTimeout(n,17)};ao.timer=function(){qn.apply(this,arguments)},ao.timer.flush=function(){Rn(),Dn()},ao.round=function(n,t){return t?Math.round(n*(t=Math.pow(10,t)))/t:Math.round(n)};var sa=["y","z","a","f","p","n","\xb5","m","","k","M","G","T","P","E","Z","Y"].map(Un);ao.formatPrefix=function(n,t){var e=0;return(n=+n)&&(0>n&&(n*=-1),t&&(n=ao.round(n,Pn(n,t))),e=1+Math.floor(1e-12+Math.log(n)/Math.LN10),e=Math.max(-24,Math.min(24,3*Math.floor((e-1)/3)))),sa[8+e/3]};var ha=/(?:([^{])?([<>=^]))?([+\- ])?([$#])?(0)?(\d+)?(,)?(\.-?\d+)?([a-z%])?/i,pa=ao.map({b:function(n){return n.toString(2)},c:function(n){return String.fromCharCode(n)},o:function(n){return n.toString(8)},x:function(n){return n.toString(16)},X:function(n){return n.toString(16).toUpperCase()},g:function(n,t){return n.toPrecision(t)},e:function(n,t){return n.toExponential(t)},f:function(n,t){return n.toFixed(t)},r:function(n,t){return(n=ao.round(n,Pn(n,t))).toFixed(Math.max(0,Math.min(20,Pn(n*(1+1e-15),t))))}}),ga=ao.time={},va=Date;Hn.prototype={getDate:function(){return this._.getUTCDate()},getDay:function(){return this._.getUTCDay()},getFullYear:function(){return this._.getUTCFullYear()},getHours:function(){return this._.getUTCHours()},getMilliseconds:function(){return this._.getUTCMilliseconds()},getMinutes:function(){return this._.getUTCMinutes()},getMonth:function(){return this._.getUTCMonth()},getSeconds:function(){return this._.getUTCSeconds()},getTime:function(){return this._.getTime()},getTimezoneOffset:function(){return 0},valueOf:function(){return this._.valueOf()},setDate:function(){da.setUTCDate.apply(this._,arguments)},setDay:function(){da.setUTCDay.apply(this._,arguments)},setFullYear:function(){da.setUTCFullYear.apply(this._,arguments)},setHours:function(){da.setUTCHours.apply(this._,arguments)},setMilliseconds:function(){da.setUTCMilliseconds.apply(this._,arguments)},setMinutes:function(){da.setUTCMinutes.apply(this._,arguments)},setMonth:function(){da.setUTCMonth.apply(this._,arguments)},setSeconds:function(){da.setUTCSeconds.apply(this._,arguments)},setTime:function(){da.setTime.apply(this._,arguments)}};var da=Date.prototype;ga.year=On(function(n){return n=ga.day(n),n.setMonth(0,1),n},function(n,t){n.setFullYear(n.getFullYear()+t)},function(n){return n.getFullYear()}),ga.years=ga.year.range,ga.years.utc=ga.year.utc.range,ga.day=On(function(n){var t=new va(2e3,0);return t.setFullYear(n.getFullYear(),n.getMonth(),n.getDate()),t},function(n,t){n.setDate(n.getDate()+t)},function(n){return n.getDate()-1}),ga.days=ga.day.range,ga.days.utc=ga.day.utc.range,ga.dayOfYear=function(n){var t=ga.year(n);return Math.floor((n-t-6e4*(n.getTimezoneOffset()-t.getTimezoneOffset()))/864e5)},["sunday","monday","tuesday","wednesday","thursday","friday","saturday"].forEach(function(n,t){t=7-t;var e=ga[n]=On(function(n){return(n=ga.day(n)).setDate(n.getDate()-(n.getDay()+t)%7),n},function(n,t){n.setDate(n.getDate()+7*Math.floor(t))},function(n){var e=ga.year(n).getDay();return Math.floor((ga.dayOfYear(n)+(e+t)%7)/7)-(e!==t)});ga[n+"s"]=e.range,ga[n+"s"].utc=e.utc.range,ga[n+"OfYear"]=function(n){var e=ga.year(n).getDay();return Math.floor((ga.dayOfYear(n)+(e+t)%7)/7)}}),ga.week=ga.sunday,ga.weeks=ga.sunday.range,ga.weeks.utc=ga.sunday.utc.range,ga.weekOfYear=ga.sundayOfYear;var ya={"-":"",_:" ",0:"0"},ma=/^\s*\d+/,Ma=/^%/;ao.locale=function(n){return{numberFormat:jn(n),timeFormat:Yn(n)}};var xa=ao.locale({decimal:".",thousands:",",grouping:[3],currency:["$",""],dateTime:"%a %b %e %X %Y",date:"%m/%d/%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"], -shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});ao.format=xa.numberFormat,ao.geo={},ft.prototype={s:0,t:0,add:function(n){st(n,this.t,ba),st(ba.s,this.s,this),this.s?this.t+=ba.t:this.s=ba.t},reset:function(){this.s=this.t=0},valueOf:function(){return this.s}};var ba=new ft;ao.geo.stream=function(n,t){n&&_a.hasOwnProperty(n.type)?_a[n.type](n,t):ht(n,t)};var _a={Feature:function(n,t){ht(n.geometry,t)},FeatureCollection:function(n,t){for(var e=n.features,r=-1,i=e.length;++rn?4*Fo+n:n,Na.lineStart=Na.lineEnd=Na.point=b}};ao.geo.bounds=function(){function n(n,t){M.push(x=[f=n,h=n]),s>t&&(s=t),t>p&&(p=t)}function t(t,e){var r=dt([t*Yo,e*Yo]);if(y){var i=mt(y,r),u=[i[1],-i[0],0],o=mt(u,i);bt(o),o=_t(o);var l=t-g,c=l>0?1:-1,v=o[0]*Zo*c,d=xo(l)>180;if(d^(v>c*g&&c*t>v)){var m=o[1]*Zo;m>p&&(p=m)}else if(v=(v+360)%360-180,d^(v>c*g&&c*t>v)){var m=-o[1]*Zo;s>m&&(s=m)}else s>e&&(s=e),e>p&&(p=e);d?g>t?a(f,t)>a(f,h)&&(h=t):a(t,h)>a(f,h)&&(f=t):h>=f?(f>t&&(f=t),t>h&&(h=t)):t>g?a(f,t)>a(f,h)&&(h=t):a(t,h)>a(f,h)&&(f=t)}else n(t,e);y=r,g=t}function e(){b.point=t}function r(){x[0]=f,x[1]=h,b.point=n,y=null}function i(n,e){if(y){var r=n-g;m+=xo(r)>180?r+(r>0?360:-360):r}else v=n,d=e;Na.point(n,e),t(n,e)}function u(){Na.lineStart()}function o(){i(v,d),Na.lineEnd(),xo(m)>Uo&&(f=-(h=180)),x[0]=f,x[1]=h,y=null}function a(n,t){return(t-=n)<0?t+360:t}function l(n,t){return n[0]-t[0]}function c(n,t){return t[0]<=t[1]?t[0]<=n&&n<=t[1]:nka?(f=-(h=180),s=-(p=90)):m>Uo?p=90:-Uo>m&&(s=-90),x[0]=f,x[1]=h}};return function(n){p=h=-(f=s=1/0),M=[],ao.geo.stream(n,b);var t=M.length;if(t){M.sort(l);for(var e,r=1,i=M[0],u=[i];t>r;++r)e=M[r],c(e[0],i)||c(e[1],i)?(a(i[0],e[1])>a(i[0],i[1])&&(i[1]=e[1]),a(e[0],i[1])>a(i[0],i[1])&&(i[0]=e[0])):u.push(i=e);for(var o,e,g=-(1/0),t=u.length-1,r=0,i=u[t];t>=r;i=e,++r)e=u[r],(o=a(i[1],e[0]))>g&&(g=o,f=e[0],h=i[1])}return M=x=null,f===1/0||s===1/0?[[NaN,NaN],[NaN,NaN]]:[[f,s],[h,p]]}}(),ao.geo.centroid=function(n){Ea=Aa=Ca=za=La=qa=Ta=Ra=Da=Pa=Ua=0,ao.geo.stream(n,ja);var t=Da,e=Pa,r=Ua,i=t*t+e*e+r*r;return jo>i&&(t=qa,e=Ta,r=Ra,Uo>Aa&&(t=Ca,e=za,r=La),i=t*t+e*e+r*r,jo>i)?[NaN,NaN]:[Math.atan2(e,t)*Zo,tn(r/Math.sqrt(i))*Zo]};var Ea,Aa,Ca,za,La,qa,Ta,Ra,Da,Pa,Ua,ja={sphere:b,point:St,lineStart:Nt,lineEnd:Et,polygonStart:function(){ja.lineStart=At},polygonEnd:function(){ja.lineStart=Nt}},Fa=Rt(zt,jt,Ht,[-Fo,-Fo/2]),Ha=1e9;ao.geo.clipExtent=function(){var n,t,e,r,i,u,o={stream:function(n){return i&&(i.valid=!1),i=u(n),i.valid=!0,i},extent:function(a){return arguments.length?(u=Zt(n=+a[0][0],t=+a[0][1],e=+a[1][0],r=+a[1][1]),i&&(i.valid=!1,i=null),o):[[n,t],[e,r]]}};return o.extent([[0,0],[960,500]])},(ao.geo.conicEqualArea=function(){return Vt(Xt)}).raw=Xt,ao.geo.albers=function(){return ao.geo.conicEqualArea().rotate([96,0]).center([-.6,38.7]).parallels([29.5,45.5]).scale(1070)},ao.geo.albersUsa=function(){function n(n){var u=n[0],o=n[1];return t=null,e(u,o),t||(r(u,o),t)||i(u,o),t}var t,e,r,i,u=ao.geo.albers(),o=ao.geo.conicEqualArea().rotate([154,0]).center([-2,58.5]).parallels([55,65]),a=ao.geo.conicEqualArea().rotate([157,0]).center([-3,19.9]).parallels([8,18]),l={point:function(n,e){t=[n,e]}};return n.invert=function(n){var t=u.scale(),e=u.translate(),r=(n[0]-e[0])/t,i=(n[1]-e[1])/t;return(i>=.12&&.234>i&&r>=-.425&&-.214>r?o:i>=.166&&.234>i&&r>=-.214&&-.115>r?a:u).invert(n)},n.stream=function(n){var t=u.stream(n),e=o.stream(n),r=a.stream(n);return{point:function(n,i){t.point(n,i),e.point(n,i),r.point(n,i)},sphere:function(){t.sphere(),e.sphere(),r.sphere()},lineStart:function(){t.lineStart(),e.lineStart(),r.lineStart()},lineEnd:function(){t.lineEnd(),e.lineEnd(),r.lineEnd()},polygonStart:function(){t.polygonStart(),e.polygonStart(),r.polygonStart()},polygonEnd:function(){t.polygonEnd(),e.polygonEnd(),r.polygonEnd()}}},n.precision=function(t){return arguments.length?(u.precision(t),o.precision(t),a.precision(t),n):u.precision()},n.scale=function(t){return arguments.length?(u.scale(t),o.scale(.35*t),a.scale(t),n.translate(u.translate())):u.scale()},n.translate=function(t){if(!arguments.length)return u.translate();var c=u.scale(),f=+t[0],s=+t[1];return e=u.translate(t).clipExtent([[f-.455*c,s-.238*c],[f+.455*c,s+.238*c]]).stream(l).point,r=o.translate([f-.307*c,s+.201*c]).clipExtent([[f-.425*c+Uo,s+.12*c+Uo],[f-.214*c-Uo,s+.234*c-Uo]]).stream(l).point,i=a.translate([f-.205*c,s+.212*c]).clipExtent([[f-.214*c+Uo,s+.166*c+Uo],[f-.115*c-Uo,s+.234*c-Uo]]).stream(l).point,n},n.scale(1070)};var Oa,Ia,Ya,Za,Va,Xa,$a={point:b,lineStart:b,lineEnd:b,polygonStart:function(){Ia=0,$a.lineStart=$t},polygonEnd:function(){$a.lineStart=$a.lineEnd=$a.point=b,Oa+=xo(Ia/2)}},Ba={point:Bt,lineStart:b,lineEnd:b,polygonStart:b,polygonEnd:b},Wa={point:Gt,lineStart:Kt,lineEnd:Qt,polygonStart:function(){Wa.lineStart=ne},polygonEnd:function(){Wa.point=Gt,Wa.lineStart=Kt,Wa.lineEnd=Qt}};ao.geo.path=function(){function n(n){return n&&("function"==typeof a&&u.pointRadius(+a.apply(this,arguments)),o&&o.valid||(o=i(u)),ao.geo.stream(n,o)),u.result()}function t(){return o=null,n}var e,r,i,u,o,a=4.5;return n.area=function(n){return Oa=0,ao.geo.stream(n,i($a)),Oa},n.centroid=function(n){return Ca=za=La=qa=Ta=Ra=Da=Pa=Ua=0,ao.geo.stream(n,i(Wa)),Ua?[Da/Ua,Pa/Ua]:Ra?[qa/Ra,Ta/Ra]:La?[Ca/La,za/La]:[NaN,NaN]},n.bounds=function(n){return Va=Xa=-(Ya=Za=1/0),ao.geo.stream(n,i(Ba)),[[Ya,Za],[Va,Xa]]},n.projection=function(n){return arguments.length?(i=(e=n)?n.stream||re(n):m,t()):e},n.context=function(n){return arguments.length?(u=null==(r=n)?new Wt:new te(n),"function"!=typeof a&&u.pointRadius(a),t()):r},n.pointRadius=function(t){return arguments.length?(a="function"==typeof t?t:(u.pointRadius(+t),+t),n):a},n.projection(ao.geo.albersUsa()).context(null)},ao.geo.transform=function(n){return{stream:function(t){var e=new ie(t);for(var r in n)e[r]=n[r];return e}}},ie.prototype={point:function(n,t){this.stream.point(n,t)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}},ao.geo.projection=oe,ao.geo.projectionMutator=ae,(ao.geo.equirectangular=function(){return oe(ce)}).raw=ce.invert=ce,ao.geo.rotation=function(n){function t(t){return t=n(t[0]*Yo,t[1]*Yo),t[0]*=Zo,t[1]*=Zo,t}return n=se(n[0]%360*Yo,n[1]*Yo,n.length>2?n[2]*Yo:0),t.invert=function(t){return t=n.invert(t[0]*Yo,t[1]*Yo),t[0]*=Zo,t[1]*=Zo,t},t},fe.invert=ce,ao.geo.circle=function(){function n(){var n="function"==typeof r?r.apply(this,arguments):r,t=se(-n[0]*Yo,-n[1]*Yo,0).invert,i=[];return e(null,null,1,{point:function(n,e){i.push(n=t(n,e)),n[0]*=Zo,n[1]*=Zo}}),{type:"Polygon",coordinates:[i]}}var t,e,r=[0,0],i=6;return n.origin=function(t){return arguments.length?(r=t,n):r},n.angle=function(r){return arguments.length?(e=ve((t=+r)*Yo,i*Yo),n):t},n.precision=function(r){return arguments.length?(e=ve(t*Yo,(i=+r)*Yo),n):i},n.angle(90)},ao.geo.distance=function(n,t){var e,r=(t[0]-n[0])*Yo,i=n[1]*Yo,u=t[1]*Yo,o=Math.sin(r),a=Math.cos(r),l=Math.sin(i),c=Math.cos(i),f=Math.sin(u),s=Math.cos(u);return Math.atan2(Math.sqrt((e=s*o)*e+(e=c*f-l*s*a)*e),l*f+c*s*a)},ao.geo.graticule=function(){function n(){return{type:"MultiLineString",coordinates:t()}}function t(){return ao.range(Math.ceil(u/d)*d,i,d).map(h).concat(ao.range(Math.ceil(c/y)*y,l,y).map(p)).concat(ao.range(Math.ceil(r/g)*g,e,g).filter(function(n){return xo(n%d)>Uo}).map(f)).concat(ao.range(Math.ceil(a/v)*v,o,v).filter(function(n){return xo(n%y)>Uo}).map(s))}var e,r,i,u,o,a,l,c,f,s,h,p,g=10,v=g,d=90,y=360,m=2.5;return n.lines=function(){return t().map(function(n){return{type:"LineString",coordinates:n}})},n.outline=function(){return{type:"Polygon",coordinates:[h(u).concat(p(l).slice(1),h(i).reverse().slice(1),p(c).reverse().slice(1))]}},n.extent=function(t){return arguments.length?n.majorExtent(t).minorExtent(t):n.minorExtent()},n.majorExtent=function(t){return arguments.length?(u=+t[0][0],i=+t[1][0],c=+t[0][1],l=+t[1][1],u>i&&(t=u,u=i,i=t),c>l&&(t=c,c=l,l=t),n.precision(m)):[[u,c],[i,l]]},n.minorExtent=function(t){return arguments.length?(r=+t[0][0],e=+t[1][0],a=+t[0][1],o=+t[1][1],r>e&&(t=r,r=e,e=t),a>o&&(t=a,a=o,o=t),n.precision(m)):[[r,a],[e,o]]},n.step=function(t){return arguments.length?n.majorStep(t).minorStep(t):n.minorStep()},n.majorStep=function(t){return arguments.length?(d=+t[0],y=+t[1],n):[d,y]},n.minorStep=function(t){return arguments.length?(g=+t[0],v=+t[1],n):[g,v]},n.precision=function(t){return arguments.length?(m=+t,f=ye(a,o,90),s=me(r,e,m),h=ye(c,l,90),p=me(u,i,m),n):m},n.majorExtent([[-180,-90+Uo],[180,90-Uo]]).minorExtent([[-180,-80-Uo],[180,80+Uo]])},ao.geo.greatArc=function(){function n(){return{type:"LineString",coordinates:[t||r.apply(this,arguments),e||i.apply(this,arguments)]}}var t,e,r=Me,i=xe;return n.distance=function(){return ao.geo.distance(t||r.apply(this,arguments),e||i.apply(this,arguments))},n.source=function(e){return arguments.length?(r=e,t="function"==typeof e?null:e,n):r},n.target=function(t){return arguments.length?(i=t,e="function"==typeof t?null:t,n):i},n.precision=function(){return arguments.length?n:0},n},ao.geo.interpolate=function(n,t){return be(n[0]*Yo,n[1]*Yo,t[0]*Yo,t[1]*Yo)},ao.geo.length=function(n){return Ja=0,ao.geo.stream(n,Ga),Ja};var Ja,Ga={sphere:b,point:b,lineStart:_e,lineEnd:b,polygonStart:b,polygonEnd:b},Ka=we(function(n){return Math.sqrt(2/(1+n))},function(n){return 2*Math.asin(n/2)});(ao.geo.azimuthalEqualArea=function(){return oe(Ka)}).raw=Ka;var Qa=we(function(n){var t=Math.acos(n);return t&&t/Math.sin(t)},m);(ao.geo.azimuthalEquidistant=function(){return oe(Qa)}).raw=Qa,(ao.geo.conicConformal=function(){return Vt(Se)}).raw=Se,(ao.geo.conicEquidistant=function(){return Vt(ke)}).raw=ke;var nl=we(function(n){return 1/n},Math.atan);(ao.geo.gnomonic=function(){return oe(nl)}).raw=nl,Ne.invert=function(n,t){return[n,2*Math.atan(Math.exp(t))-Io]},(ao.geo.mercator=function(){return Ee(Ne)}).raw=Ne;var tl=we(function(){return 1},Math.asin);(ao.geo.orthographic=function(){return oe(tl)}).raw=tl;var el=we(function(n){return 1/(1+n)},function(n){return 2*Math.atan(n)});(ao.geo.stereographic=function(){return oe(el)}).raw=el,Ae.invert=function(n,t){return[-t,2*Math.atan(Math.exp(n))-Io]},(ao.geo.transverseMercator=function(){var n=Ee(Ae),t=n.center,e=n.rotate;return n.center=function(n){return n?t([-n[1],n[0]]):(n=t(),[n[1],-n[0]])},n.rotate=function(n){return n?e([n[0],n[1],n.length>2?n[2]+90:90]):(n=e(),[n[0],n[1],n[2]-90])},e([0,0,90])}).raw=Ae,ao.geom={},ao.geom.hull=function(n){function t(n){if(n.length<3)return[];var t,i=En(e),u=En(r),o=n.length,a=[],l=[];for(t=0;o>t;t++)a.push([+i.call(this,n[t],t),+u.call(this,n[t],t),t]);for(a.sort(qe),t=0;o>t;t++)l.push([a[t][0],-a[t][1]]);var c=Le(a),f=Le(l),s=f[0]===c[0],h=f[f.length-1]===c[c.length-1],p=[];for(t=c.length-1;t>=0;--t)p.push(n[a[c[t]][2]]);for(t=+s;t=r&&c.x<=u&&c.y>=i&&c.y<=o?[[r,o],[u,o],[u,i],[r,i]]:[];f.point=n[a]}),t}function e(n){return n.map(function(n,t){return{x:Math.round(u(n,t)/Uo)*Uo,y:Math.round(o(n,t)/Uo)*Uo,i:t}})}var r=Ce,i=ze,u=r,o=i,a=sl;return n?t(n):(t.links=function(n){return ar(e(n)).edges.filter(function(n){return n.l&&n.r}).map(function(t){return{source:n[t.l.i],target:n[t.r.i]}})},t.triangles=function(n){var t=[];return ar(e(n)).cells.forEach(function(e,r){for(var i,u,o=e.site,a=e.edges.sort(Ve),l=-1,c=a.length,f=a[c-1].edge,s=f.l===o?f.r:f.l;++l=c,h=r>=f,p=h<<1|s;n.leaf=!1,n=n.nodes[p]||(n.nodes[p]=hr()),s?i=c:a=c,h?o=f:l=f,u(n,t,e,r,i,o,a,l)}var f,s,h,p,g,v,d,y,m,M=En(a),x=En(l);if(null!=t)v=t,d=e,y=r,m=i;else if(y=m=-(v=d=1/0),s=[],h=[],g=n.length,o)for(p=0;g>p;++p)f=n[p],f.xy&&(y=f.x),f.y>m&&(m=f.y),s.push(f.x),h.push(f.y);else for(p=0;g>p;++p){var b=+M(f=n[p],p),_=+x(f,p);v>b&&(v=b),d>_&&(d=_),b>y&&(y=b),_>m&&(m=_),s.push(b),h.push(_)}var w=y-v,S=m-d;w>S?m=d+w:y=v+S;var k=hr();if(k.add=function(n){u(k,n,+M(n,++p),+x(n,p),v,d,y,m)},k.visit=function(n){pr(n,k,v,d,y,m)},k.find=function(n){return gr(k,n[0],n[1],v,d,y,m)},p=-1,null==t){for(;++p=0?n.slice(0,t):n,r=t>=0?n.slice(t+1):"in";return e=vl.get(e)||gl,r=dl.get(r)||m,br(r(e.apply(null,lo.call(arguments,1))))},ao.interpolateHcl=Rr,ao.interpolateHsl=Dr,ao.interpolateLab=Pr,ao.interpolateRound=Ur,ao.transform=function(n){var t=fo.createElementNS(ao.ns.prefix.svg,"g");return(ao.transform=function(n){if(null!=n){t.setAttribute("transform",n);var e=t.transform.baseVal.consolidate()}return new jr(e?e.matrix:yl)})(n)},jr.prototype.toString=function(){return"translate("+this.translate+")rotate("+this.rotate+")skewX("+this.skew+")scale("+this.scale+")"};var yl={a:1,b:0,c:0,d:1,e:0,f:0};ao.interpolateTransform=$r,ao.layout={},ao.layout.bundle=function(){return function(n){for(var t=[],e=-1,r=n.length;++ea*a/y){if(v>l){var c=t.charge/l;n.px-=u*c,n.py-=o*c}return!0}if(t.point&&l&&v>l){var c=t.pointCharge/l;n.px-=u*c,n.py-=o*c}}return!t.charge}}function t(n){n.px=ao.event.x,n.py=ao.event.y,l.resume()}var e,r,i,u,o,a,l={},c=ao.dispatch("start","tick","end"),f=[1,1],s=.9,h=ml,p=Ml,g=-30,v=xl,d=.1,y=.64,M=[],x=[];return l.tick=function(){if((i*=.99)<.005)return e=null,c.end({type:"end",alpha:i=0}),!0;var t,r,l,h,p,v,y,m,b,_=M.length,w=x.length;for(r=0;w>r;++r)l=x[r],h=l.source,p=l.target,m=p.x-h.x,b=p.y-h.y,(v=m*m+b*b)&&(v=i*o[r]*((v=Math.sqrt(v))-u[r])/v,m*=v,b*=v,p.x-=m*(y=h.weight+p.weight?h.weight/(h.weight+p.weight):.5),p.y-=b*y,h.x+=m*(y=1-y),h.y+=b*y);if((y=i*d)&&(m=f[0]/2,b=f[1]/2,r=-1,y))for(;++r<_;)l=M[r],l.x+=(m-l.x)*y,l.y+=(b-l.y)*y;if(g)for(ri(t=ao.geom.quadtree(M),i,a),r=-1;++r<_;)(l=M[r]).fixed||t.visit(n(l));for(r=-1;++r<_;)l=M[r],l.fixed?(l.x=l.px,l.y=l.py):(l.x-=(l.px-(l.px=l.x))*s,l.y-=(l.py-(l.py=l.y))*s);c.tick({type:"tick",alpha:i})},l.nodes=function(n){return arguments.length?(M=n,l):M},l.links=function(n){return arguments.length?(x=n,l):x},l.size=function(n){return arguments.length?(f=n,l):f},l.linkDistance=function(n){return arguments.length?(h="function"==typeof n?n:+n,l):h},l.distance=l.linkDistance,l.linkStrength=function(n){return arguments.length?(p="function"==typeof n?n:+n,l):p},l.friction=function(n){return arguments.length?(s=+n,l):s},l.charge=function(n){return arguments.length?(g="function"==typeof n?n:+n,l):g},l.chargeDistance=function(n){return arguments.length?(v=n*n,l):Math.sqrt(v)},l.gravity=function(n){return arguments.length?(d=+n,l):d},l.theta=function(n){return arguments.length?(y=n*n,l):Math.sqrt(y)},l.alpha=function(n){return arguments.length?(n=+n,i?n>0?i=n:(e.c=null,e.t=NaN,e=null,c.end({type:"end",alpha:i=0})):n>0&&(c.start({type:"start",alpha:i=n}),e=qn(l.tick)),l):i},l.start=function(){function n(n,r){if(!e){for(e=new Array(i),l=0;i>l;++l)e[l]=[];for(l=0;c>l;++l){var u=x[l];e[u.source.index].push(u.target),e[u.target.index].push(u.source)}}for(var o,a=e[t],l=-1,f=a.length;++lt;++t)(r=M[t]).index=t,r.weight=0;for(t=0;c>t;++t)r=x[t],"number"==typeof r.source&&(r.source=M[r.source]),"number"==typeof r.target&&(r.target=M[r.target]),++r.source.weight,++r.target.weight;for(t=0;i>t;++t)r=M[t],isNaN(r.x)&&(r.x=n("x",s)),isNaN(r.y)&&(r.y=n("y",v)),isNaN(r.px)&&(r.px=r.x),isNaN(r.py)&&(r.py=r.y);if(u=[],"function"==typeof h)for(t=0;c>t;++t)u[t]=+h.call(this,x[t],t);else for(t=0;c>t;++t)u[t]=h;if(o=[],"function"==typeof p)for(t=0;c>t;++t)o[t]=+p.call(this,x[t],t);else for(t=0;c>t;++t)o[t]=p;if(a=[],"function"==typeof g)for(t=0;i>t;++t)a[t]=+g.call(this,M[t],t);else for(t=0;i>t;++t)a[t]=g;return l.resume()},l.resume=function(){return l.alpha(.1)},l.stop=function(){return l.alpha(0)},l.drag=function(){return r||(r=ao.behavior.drag().origin(m).on("dragstart.force",Qr).on("drag.force",t).on("dragend.force",ni)),arguments.length?void this.on("mouseover.force",ti).on("mouseout.force",ei).call(r):r},ao.rebind(l,c,"on")};var ml=20,Ml=1,xl=1/0;ao.layout.hierarchy=function(){function n(i){var u,o=[i],a=[];for(i.depth=0;null!=(u=o.pop());)if(a.push(u),(c=e.call(n,u,u.depth))&&(l=c.length)){for(var l,c,f;--l>=0;)o.push(f=c[l]),f.parent=u,f.depth=u.depth+1;r&&(u.value=0),u.children=c}else r&&(u.value=+r.call(n,u,u.depth)||0),delete u.children;return oi(i,function(n){var e,i;t&&(e=n.children)&&e.sort(t),r&&(i=n.parent)&&(i.value+=n.value)}),a}var t=ci,e=ai,r=li;return n.sort=function(e){return arguments.length?(t=e,n):t},n.children=function(t){return arguments.length?(e=t,n):e},n.value=function(t){return arguments.length?(r=t,n):r},n.revalue=function(t){return r&&(ui(t,function(n){n.children&&(n.value=0)}),oi(t,function(t){var e;t.children||(t.value=+r.call(n,t,t.depth)||0),(e=t.parent)&&(e.value+=t.value)})),t},n},ao.layout.partition=function(){function n(t,e,r,i){var u=t.children;if(t.x=e,t.y=t.depth*i,t.dx=r,t.dy=i,u&&(o=u.length)){var o,a,l,c=-1;for(r=t.value?r/t.value:0;++cs?-1:1),g=ao.sum(c),v=g?(s-l*p)/g:0,d=ao.range(l),y=[];return null!=e&&d.sort(e===bl?function(n,t){return c[t]-c[n]}:function(n,t){return e(o[n],o[t])}),d.forEach(function(n){y[n]={data:o[n],value:a=c[n],startAngle:f,endAngle:f+=a*v+p,padAngle:h}}),y}var t=Number,e=bl,r=0,i=Ho,u=0;return n.value=function(e){return arguments.length?(t=e,n):t},n.sort=function(t){return arguments.length?(e=t,n):e},n.startAngle=function(t){return arguments.length?(r=t,n):r},n.endAngle=function(t){return arguments.length?(i=t,n):i},n.padAngle=function(t){return arguments.length?(u=t,n):u},n};var bl={};ao.layout.stack=function(){function n(a,l){if(!(h=a.length))return a;var c=a.map(function(e,r){return t.call(n,e,r)}),f=c.map(function(t){return t.map(function(t,e){return[u.call(n,t,e),o.call(n,t,e)]})}),s=e.call(n,f,l);c=ao.permute(c,s),f=ao.permute(f,s);var h,p,g,v,d=r.call(n,f,l),y=c[0].length;for(g=0;y>g;++g)for(i.call(n,c[0][g],v=d[g],f[0][g][1]),p=1;h>p;++p)i.call(n,c[p][g],v+=f[p-1][g][1],f[p][g][1]);return a}var t=m,e=gi,r=vi,i=pi,u=si,o=hi;return n.values=function(e){return arguments.length?(t=e,n):t},n.order=function(t){return arguments.length?(e="function"==typeof t?t:_l.get(t)||gi,n):e},n.offset=function(t){return arguments.length?(r="function"==typeof t?t:wl.get(t)||vi,n):r},n.x=function(t){return arguments.length?(u=t,n):u},n.y=function(t){return arguments.length?(o=t,n):o},n.out=function(t){return arguments.length?(i=t,n):i},n};var _l=ao.map({"inside-out":function(n){var t,e,r=n.length,i=n.map(di),u=n.map(yi),o=ao.range(r).sort(function(n,t){return i[n]-i[t]}),a=0,l=0,c=[],f=[];for(t=0;r>t;++t)e=o[t],l>a?(a+=u[e],c.push(e)):(l+=u[e],f.push(e));return f.reverse().concat(c)},reverse:function(n){return ao.range(n.length).reverse()},"default":gi}),wl=ao.map({silhouette:function(n){var t,e,r,i=n.length,u=n[0].length,o=[],a=0,l=[];for(e=0;u>e;++e){for(t=0,r=0;i>t;t++)r+=n[t][e][1];r>a&&(a=r),o.push(r)}for(e=0;u>e;++e)l[e]=(a-o[e])/2;return l},wiggle:function(n){var t,e,r,i,u,o,a,l,c,f=n.length,s=n[0],h=s.length,p=[];for(p[0]=l=c=0,e=1;h>e;++e){for(t=0,i=0;f>t;++t)i+=n[t][e][1];for(t=0,u=0,a=s[e][0]-s[e-1][0];f>t;++t){for(r=0,o=(n[t][e][1]-n[t][e-1][1])/(2*a);t>r;++r)o+=(n[r][e][1]-n[r][e-1][1])/a;u+=o*n[t][e][1]}p[e]=l-=i?u/i*a:0,c>l&&(c=l)}for(e=0;h>e;++e)p[e]-=c;return p},expand:function(n){var t,e,r,i=n.length,u=n[0].length,o=1/i,a=[];for(e=0;u>e;++e){for(t=0,r=0;i>t;t++)r+=n[t][e][1];if(r)for(t=0;i>t;t++)n[t][e][1]/=r;else for(t=0;i>t;t++)n[t][e][1]=o}for(e=0;u>e;++e)a[e]=0;return a},zero:vi});ao.layout.histogram=function(){function n(n,u){for(var o,a,l=[],c=n.map(e,this),f=r.call(this,c,u),s=i.call(this,f,c,u),u=-1,h=c.length,p=s.length-1,g=t?1:1/h;++u0)for(u=-1;++u=f[0]&&a<=f[1]&&(o=l[ao.bisect(s,a,1,p)-1],o.y+=g,o.push(n[u]));return l}var t=!0,e=Number,r=bi,i=Mi;return n.value=function(t){return arguments.length?(e=t,n):e},n.range=function(t){return arguments.length?(r=En(t),n):r},n.bins=function(t){return arguments.length?(i="number"==typeof t?function(n){return xi(n,t)}:En(t),n):i},n.frequency=function(e){return arguments.length?(t=!!e,n):t},n},ao.layout.pack=function(){function n(n,u){var o=e.call(this,n,u),a=o[0],l=i[0],c=i[1],f=null==t?Math.sqrt:"function"==typeof t?t:function(){return t};if(a.x=a.y=0,oi(a,function(n){n.r=+f(n.value)}),oi(a,Ni),r){var s=r*(t?1:Math.max(2*a.r/l,2*a.r/c))/2;oi(a,function(n){n.r+=s}),oi(a,Ni),oi(a,function(n){n.r-=s})}return Ci(a,l/2,c/2,t?1:1/Math.max(2*a.r/l,2*a.r/c)),o}var t,e=ao.layout.hierarchy().sort(_i),r=0,i=[1,1];return n.size=function(t){return arguments.length?(i=t,n):i},n.radius=function(e){return arguments.length?(t=null==e||"function"==typeof e?e:+e,n):t},n.padding=function(t){return arguments.length?(r=+t,n):r},ii(n,e)},ao.layout.tree=function(){function n(n,i){var f=o.call(this,n,i),s=f[0],h=t(s);if(oi(h,e),h.parent.m=-h.z,ui(h,r),c)ui(s,u);else{var p=s,g=s,v=s;ui(s,function(n){n.xg.x&&(g=n),n.depth>v.depth&&(v=n)});var d=a(p,g)/2-p.x,y=l[0]/(g.x+a(g,p)/2+d),m=l[1]/(v.depth||1);ui(s,function(n){n.x=(n.x+d)*y,n.y=n.depth*m})}return f}function t(n){for(var t,e={A:null,children:[n]},r=[e];null!=(t=r.pop());)for(var i,u=t.children,o=0,a=u.length;a>o;++o)r.push((u[o]=i={_:u[o],parent:t,children:(i=u[o].children)&&i.slice()||[],A:null,a:null,z:0,m:0,c:0,s:0,t:null,i:o}).a=i);return e.children[0]}function e(n){var t=n.children,e=n.parent.children,r=n.i?e[n.i-1]:null;if(t.length){Di(n);var u=(t[0].z+t[t.length-1].z)/2;r?(n.z=r.z+a(n._,r._),n.m=n.z-u):n.z=u}else r&&(n.z=r.z+a(n._,r._));n.parent.A=i(n,r,n.parent.A||e[0])}function r(n){n._.x=n.z+n.parent.m,n.m+=n.parent.m}function i(n,t,e){if(t){for(var r,i=n,u=n,o=t,l=i.parent.children[0],c=i.m,f=u.m,s=o.m,h=l.m;o=Ti(o),i=qi(i),o&&i;)l=qi(l),u=Ti(u),u.a=n,r=o.z+s-i.z-c+a(o._,i._),r>0&&(Ri(Pi(o,n,e),n,r),c+=r,f+=r),s+=o.m,c+=i.m,h+=l.m,f+=u.m;o&&!Ti(u)&&(u.t=o,u.m+=s-f),i&&!qi(l)&&(l.t=i,l.m+=c-h,e=n)}return e}function u(n){n.x*=l[0],n.y=n.depth*l[1]}var o=ao.layout.hierarchy().sort(null).value(null),a=Li,l=[1,1],c=null;return n.separation=function(t){return arguments.length?(a=t,n):a},n.size=function(t){return arguments.length?(c=null==(l=t)?u:null,n):c?null:l},n.nodeSize=function(t){return arguments.length?(c=null==(l=t)?null:u,n):c?l:null},ii(n,o)},ao.layout.cluster=function(){function n(n,u){var o,a=t.call(this,n,u),l=a[0],c=0;oi(l,function(n){var t=n.children;t&&t.length?(n.x=ji(t),n.y=Ui(t)):(n.x=o?c+=e(n,o):0,n.y=0,o=n)});var f=Fi(l),s=Hi(l),h=f.x-e(f,s)/2,p=s.x+e(s,f)/2;return oi(l,i?function(n){n.x=(n.x-l.x)*r[0],n.y=(l.y-n.y)*r[1]}:function(n){n.x=(n.x-h)/(p-h)*r[0],n.y=(1-(l.y?n.y/l.y:1))*r[1]}),a}var t=ao.layout.hierarchy().sort(null).value(null),e=Li,r=[1,1],i=!1;return n.separation=function(t){return arguments.length?(e=t,n):e},n.size=function(t){return arguments.length?(i=null==(r=t),n):i?null:r},n.nodeSize=function(t){return arguments.length?(i=null!=(r=t),n):i?r:null},ii(n,t)},ao.layout.treemap=function(){function n(n,t){for(var e,r,i=-1,u=n.length;++it?0:t),e.area=isNaN(r)||0>=r?0:r}function t(e){var u=e.children;if(u&&u.length){var o,a,l,c=s(e),f=[],h=u.slice(),g=1/0,v="slice"===p?c.dx:"dice"===p?c.dy:"slice-dice"===p?1&e.depth?c.dy:c.dx:Math.min(c.dx,c.dy);for(n(h,c.dx*c.dy/e.value),f.area=0;(l=h.length)>0;)f.push(o=h[l-1]),f.area+=o.area,"squarify"!==p||(a=r(f,v))<=g?(h.pop(),g=a):(f.area-=f.pop().area,i(f,v,c,!1),v=Math.min(c.dx,c.dy),f.length=f.area=0,g=1/0);f.length&&(i(f,v,c,!0),f.length=f.area=0),u.forEach(t)}}function e(t){var r=t.children;if(r&&r.length){var u,o=s(t),a=r.slice(),l=[];for(n(a,o.dx*o.dy/t.value),l.area=0;u=a.pop();)l.push(u),l.area+=u.area,null!=u.z&&(i(l,u.z?o.dx:o.dy,o,!a.length),l.length=l.area=0);r.forEach(e)}}function r(n,t){for(var e,r=n.area,i=0,u=1/0,o=-1,a=n.length;++oe&&(u=e),e>i&&(i=e));return r*=r,t*=t,r?Math.max(t*i*g/r,r/(t*u*g)):1/0}function i(n,t,e,r){var i,u=-1,o=n.length,a=e.x,c=e.y,f=t?l(n.area/t):0; -if(t==e.dx){for((r||f>e.dy)&&(f=e.dy);++ue.dx)&&(f=e.dx);++ue&&(t=1),1>e&&(n=0),function(){var e,r,i;do e=2*Math.random()-1,r=2*Math.random()-1,i=e*e+r*r;while(!i||i>1);return n+t*e*Math.sqrt(-2*Math.log(i)/i)}},logNormal:function(){var n=ao.random.normal.apply(ao,arguments);return function(){return Math.exp(n())}},bates:function(n){var t=ao.random.irwinHall(n);return function(){return t()/n}},irwinHall:function(n){return function(){for(var t=0,e=0;n>e;e++)t+=Math.random();return t}}},ao.scale={};var Sl={floor:m,ceil:m};ao.scale.linear=function(){return Wi([0,1],[0,1],Mr,!1)};var kl={s:1,g:1,p:1,r:1,e:1};ao.scale.log=function(){return ru(ao.scale.linear().domain([0,1]),10,!0,[1,10])};var Nl=ao.format(".0e"),El={floor:function(n){return-Math.ceil(-n)},ceil:function(n){return-Math.floor(-n)}};ao.scale.pow=function(){return iu(ao.scale.linear(),1,[0,1])},ao.scale.sqrt=function(){return ao.scale.pow().exponent(.5)},ao.scale.ordinal=function(){return ou([],{t:"range",a:[[]]})},ao.scale.category10=function(){return ao.scale.ordinal().range(Al)},ao.scale.category20=function(){return ao.scale.ordinal().range(Cl)},ao.scale.category20b=function(){return ao.scale.ordinal().range(zl)},ao.scale.category20c=function(){return ao.scale.ordinal().range(Ll)};var Al=[2062260,16744206,2924588,14034728,9725885,9197131,14907330,8355711,12369186,1556175].map(xn),Cl=[2062260,11454440,16744206,16759672,2924588,10018698,14034728,16750742,9725885,12955861,9197131,12885140,14907330,16234194,8355711,13092807,12369186,14408589,1556175,10410725].map(xn),zl=[3750777,5395619,7040719,10264286,6519097,9216594,11915115,13556636,9202993,12426809,15186514,15190932,8666169,11356490,14049643,15177372,8077683,10834324,13528509,14589654].map(xn),Ll=[3244733,7057110,10406625,13032431,15095053,16616764,16625259,16634018,3253076,7652470,10607003,13101504,7695281,10394312,12369372,14342891,6513507,9868950,12434877,14277081].map(xn);ao.scale.quantile=function(){return au([],[])},ao.scale.quantize=function(){return lu(0,1,[0,1])},ao.scale.threshold=function(){return cu([.5],[0,1])},ao.scale.identity=function(){return fu([0,1])},ao.svg={},ao.svg.arc=function(){function n(){var n=Math.max(0,+e.apply(this,arguments)),c=Math.max(0,+r.apply(this,arguments)),f=o.apply(this,arguments)-Io,s=a.apply(this,arguments)-Io,h=Math.abs(s-f),p=f>s?0:1;if(n>c&&(g=c,c=n,n=g),h>=Oo)return t(c,p)+(n?t(n,1-p):"")+"Z";var g,v,d,y,m,M,x,b,_,w,S,k,N=0,E=0,A=[];if((y=(+l.apply(this,arguments)||0)/2)&&(d=u===ql?Math.sqrt(n*n+c*c):+u.apply(this,arguments),p||(E*=-1),c&&(E=tn(d/c*Math.sin(y))),n&&(N=tn(d/n*Math.sin(y)))),c){m=c*Math.cos(f+E),M=c*Math.sin(f+E),x=c*Math.cos(s-E),b=c*Math.sin(s-E);var C=Math.abs(s-f-2*E)<=Fo?0:1;if(E&&yu(m,M,x,b)===p^C){var z=(f+s)/2;m=c*Math.cos(z),M=c*Math.sin(z),x=b=null}}else m=M=0;if(n){_=n*Math.cos(s-N),w=n*Math.sin(s-N),S=n*Math.cos(f+N),k=n*Math.sin(f+N);var L=Math.abs(f-s+2*N)<=Fo?0:1;if(N&&yu(_,w,S,k)===1-p^L){var q=(f+s)/2;_=n*Math.cos(q),w=n*Math.sin(q),S=k=null}}else _=w=0;if(h>Uo&&(g=Math.min(Math.abs(c-n)/2,+i.apply(this,arguments)))>.001){v=c>n^p?0:1;var T=g,R=g;if(Fo>h){var D=null==S?[_,w]:null==x?[m,M]:Re([m,M],[S,k],[x,b],[_,w]),P=m-D[0],U=M-D[1],j=x-D[0],F=b-D[1],H=1/Math.sin(Math.acos((P*j+U*F)/(Math.sqrt(P*P+U*U)*Math.sqrt(j*j+F*F)))/2),O=Math.sqrt(D[0]*D[0]+D[1]*D[1]);R=Math.min(g,(n-O)/(H-1)),T=Math.min(g,(c-O)/(H+1))}if(null!=x){var I=mu(null==S?[_,w]:[S,k],[m,M],c,T,p),Y=mu([x,b],[_,w],c,T,p);g===T?A.push("M",I[0],"A",T,",",T," 0 0,",v," ",I[1],"A",c,",",c," 0 ",1-p^yu(I[1][0],I[1][1],Y[1][0],Y[1][1]),",",p," ",Y[1],"A",T,",",T," 0 0,",v," ",Y[0]):A.push("M",I[0],"A",T,",",T," 0 1,",v," ",Y[0])}else A.push("M",m,",",M);if(null!=S){var Z=mu([m,M],[S,k],n,-R,p),V=mu([_,w],null==x?[m,M]:[x,b],n,-R,p);g===R?A.push("L",V[0],"A",R,",",R," 0 0,",v," ",V[1],"A",n,",",n," 0 ",p^yu(V[1][0],V[1][1],Z[1][0],Z[1][1]),",",1-p," ",Z[1],"A",R,",",R," 0 0,",v," ",Z[0]):A.push("L",V[0],"A",R,",",R," 0 0,",v," ",Z[0])}else A.push("L",_,",",w)}else A.push("M",m,",",M),null!=x&&A.push("A",c,",",c," 0 ",C,",",p," ",x,",",b),A.push("L",_,",",w),null!=S&&A.push("A",n,",",n," 0 ",L,",",1-p," ",S,",",k);return A.push("Z"),A.join("")}function t(n,t){return"M0,"+n+"A"+n+","+n+" 0 1,"+t+" 0,"+-n+"A"+n+","+n+" 0 1,"+t+" 0,"+n}var e=hu,r=pu,i=su,u=ql,o=gu,a=vu,l=du;return n.innerRadius=function(t){return arguments.length?(e=En(t),n):e},n.outerRadius=function(t){return arguments.length?(r=En(t),n):r},n.cornerRadius=function(t){return arguments.length?(i=En(t),n):i},n.padRadius=function(t){return arguments.length?(u=t==ql?ql:En(t),n):u},n.startAngle=function(t){return arguments.length?(o=En(t),n):o},n.endAngle=function(t){return arguments.length?(a=En(t),n):a},n.padAngle=function(t){return arguments.length?(l=En(t),n):l},n.centroid=function(){var n=(+e.apply(this,arguments)+ +r.apply(this,arguments))/2,t=(+o.apply(this,arguments)+ +a.apply(this,arguments))/2-Io;return[Math.cos(t)*n,Math.sin(t)*n]},n};var ql="auto";ao.svg.line=function(){return Mu(m)};var Tl=ao.map({linear:xu,"linear-closed":bu,step:_u,"step-before":wu,"step-after":Su,basis:zu,"basis-open":Lu,"basis-closed":qu,bundle:Tu,cardinal:Eu,"cardinal-open":ku,"cardinal-closed":Nu,monotone:Fu});Tl.forEach(function(n,t){t.key=n,t.closed=/-closed$/.test(n)});var Rl=[0,2/3,1/3,0],Dl=[0,1/3,2/3,0],Pl=[0,1/6,2/3,1/6];ao.svg.line.radial=function(){var n=Mu(Hu);return n.radius=n.x,delete n.x,n.angle=n.y,delete n.y,n},wu.reverse=Su,Su.reverse=wu,ao.svg.area=function(){return Ou(m)},ao.svg.area.radial=function(){var n=Ou(Hu);return n.radius=n.x,delete n.x,n.innerRadius=n.x0,delete n.x0,n.outerRadius=n.x1,delete n.x1,n.angle=n.y,delete n.y,n.startAngle=n.y0,delete n.y0,n.endAngle=n.y1,delete n.y1,n},ao.svg.chord=function(){function n(n,a){var l=t(this,u,n,a),c=t(this,o,n,a);return"M"+l.p0+r(l.r,l.p1,l.a1-l.a0)+(e(l,c)?i(l.r,l.p1,l.r,l.p0):i(l.r,l.p1,c.r,c.p0)+r(c.r,c.p1,c.a1-c.a0)+i(c.r,c.p1,l.r,l.p0))+"Z"}function t(n,t,e,r){var i=t.call(n,e,r),u=a.call(n,i,r),o=l.call(n,i,r)-Io,f=c.call(n,i,r)-Io;return{r:u,a0:o,a1:f,p0:[u*Math.cos(o),u*Math.sin(o)],p1:[u*Math.cos(f),u*Math.sin(f)]}}function e(n,t){return n.a0==t.a0&&n.a1==t.a1}function r(n,t,e){return"A"+n+","+n+" 0 "+ +(e>Fo)+",1 "+t}function i(n,t,e,r){return"Q 0,0 "+r}var u=Me,o=xe,a=Iu,l=gu,c=vu;return n.radius=function(t){return arguments.length?(a=En(t),n):a},n.source=function(t){return arguments.length?(u=En(t),n):u},n.target=function(t){return arguments.length?(o=En(t),n):o},n.startAngle=function(t){return arguments.length?(l=En(t),n):l},n.endAngle=function(t){return arguments.length?(c=En(t),n):c},n},ao.svg.diagonal=function(){function n(n,i){var u=t.call(this,n,i),o=e.call(this,n,i),a=(u.y+o.y)/2,l=[u,{x:u.x,y:a},{x:o.x,y:a},o];return l=l.map(r),"M"+l[0]+"C"+l[1]+" "+l[2]+" "+l[3]}var t=Me,e=xe,r=Yu;return n.source=function(e){return arguments.length?(t=En(e),n):t},n.target=function(t){return arguments.length?(e=En(t),n):e},n.projection=function(t){return arguments.length?(r=t,n):r},n},ao.svg.diagonal.radial=function(){var n=ao.svg.diagonal(),t=Yu,e=n.projection;return n.projection=function(n){return arguments.length?e(Zu(t=n)):t},n},ao.svg.symbol=function(){function n(n,r){return(Ul.get(t.call(this,n,r))||$u)(e.call(this,n,r))}var t=Xu,e=Vu;return n.type=function(e){return arguments.length?(t=En(e),n):t},n.size=function(t){return arguments.length?(e=En(t),n):e},n};var Ul=ao.map({circle:$u,cross:function(n){var t=Math.sqrt(n/5)/2;return"M"+-3*t+","+-t+"H"+-t+"V"+-3*t+"H"+t+"V"+-t+"H"+3*t+"V"+t+"H"+t+"V"+3*t+"H"+-t+"V"+t+"H"+-3*t+"Z"},diamond:function(n){var t=Math.sqrt(n/(2*Fl)),e=t*Fl;return"M0,"+-t+"L"+e+",0 0,"+t+" "+-e+",0Z"},square:function(n){var t=Math.sqrt(n)/2;return"M"+-t+","+-t+"L"+t+","+-t+" "+t+","+t+" "+-t+","+t+"Z"},"triangle-down":function(n){var t=Math.sqrt(n/jl),e=t*jl/2;return"M0,"+e+"L"+t+","+-e+" "+-t+","+-e+"Z"},"triangle-up":function(n){var t=Math.sqrt(n/jl),e=t*jl/2;return"M0,"+-e+"L"+t+","+e+" "+-t+","+e+"Z"}});ao.svg.symbolTypes=Ul.keys();var jl=Math.sqrt(3),Fl=Math.tan(30*Yo);Co.transition=function(n){for(var t,e,r=Hl||++Zl,i=Ku(n),u=[],o=Ol||{time:Date.now(),ease:Nr,delay:0,duration:250},a=-1,l=this.length;++au;u++){i.push(t=[]);for(var e=this[u],a=0,l=e.length;l>a;a++)(r=e[a])&&n.call(r,r.__data__,a,u)&&t.push(r)}return Wu(i,this.namespace,this.id)},Yl.tween=function(n,t){var e=this.id,r=this.namespace;return arguments.length<2?this.node()[r][e].tween.get(n):Y(this,null==t?function(t){t[r][e].tween.remove(n)}:function(i){i[r][e].tween.set(n,t)})},Yl.attr=function(n,t){function e(){this.removeAttribute(a)}function r(){this.removeAttributeNS(a.space,a.local)}function i(n){return null==n?e:(n+="",function(){var t,e=this.getAttribute(a);return e!==n&&(t=o(e,n),function(n){this.setAttribute(a,t(n))})})}function u(n){return null==n?r:(n+="",function(){var t,e=this.getAttributeNS(a.space,a.local);return e!==n&&(t=o(e,n),function(n){this.setAttributeNS(a.space,a.local,t(n))})})}if(arguments.length<2){for(t in n)this.attr(t,n[t]);return this}var o="transform"==n?$r:Mr,a=ao.ns.qualify(n);return Ju(this,"attr."+n,t,a.local?u:i)},Yl.attrTween=function(n,t){function e(n,e){var r=t.call(this,n,e,this.getAttribute(i));return r&&function(n){this.setAttribute(i,r(n))}}function r(n,e){var r=t.call(this,n,e,this.getAttributeNS(i.space,i.local));return r&&function(n){this.setAttributeNS(i.space,i.local,r(n))}}var i=ao.ns.qualify(n);return this.tween("attr."+n,i.local?r:e)},Yl.style=function(n,e,r){function i(){this.style.removeProperty(n)}function u(e){return null==e?i:(e+="",function(){var i,u=t(this).getComputedStyle(this,null).getPropertyValue(n);return u!==e&&(i=Mr(u,e),function(t){this.style.setProperty(n,i(t),r)})})}var o=arguments.length;if(3>o){if("string"!=typeof n){2>o&&(e="");for(r in n)this.style(r,n[r],e);return this}r=""}return Ju(this,"style."+n,e,u)},Yl.styleTween=function(n,e,r){function i(i,u){var o=e.call(this,i,u,t(this).getComputedStyle(this,null).getPropertyValue(n));return o&&function(t){this.style.setProperty(n,o(t),r)}}return arguments.length<3&&(r=""),this.tween("style."+n,i)},Yl.text=function(n){return Ju(this,"text",n,Gu)},Yl.remove=function(){var n=this.namespace;return this.each("end.transition",function(){var t;this[n].count<2&&(t=this.parentNode)&&t.removeChild(this)})},Yl.ease=function(n){var t=this.id,e=this.namespace;return arguments.length<1?this.node()[e][t].ease:("function"!=typeof n&&(n=ao.ease.apply(ao,arguments)),Y(this,function(r){r[e][t].ease=n}))},Yl.delay=function(n){var t=this.id,e=this.namespace;return arguments.length<1?this.node()[e][t].delay:Y(this,"function"==typeof n?function(r,i,u){r[e][t].delay=+n.call(r,r.__data__,i,u)}:(n=+n,function(r){r[e][t].delay=n}))},Yl.duration=function(n){var t=this.id,e=this.namespace;return arguments.length<1?this.node()[e][t].duration:Y(this,"function"==typeof n?function(r,i,u){r[e][t].duration=Math.max(1,n.call(r,r.__data__,i,u))}:(n=Math.max(1,n),function(r){r[e][t].duration=n}))},Yl.each=function(n,t){var e=this.id,r=this.namespace;if(arguments.length<2){var i=Ol,u=Hl;try{Hl=e,Y(this,function(t,i,u){Ol=t[r][e],n.call(t,t.__data__,i,u)})}finally{Ol=i,Hl=u}}else Y(this,function(i){var u=i[r][e];(u.event||(u.event=ao.dispatch("start","end","interrupt"))).on(n,t)});return this},Yl.transition=function(){for(var n,t,e,r,i=this.id,u=++Zl,o=this.namespace,a=[],l=0,c=this.length;c>l;l++){a.push(n=[]);for(var t=this[l],f=0,s=t.length;s>f;f++)(e=t[f])&&(r=e[o][i],Qu(e,f,o,u,{time:r.time,ease:r.ease,delay:r.delay+r.duration,duration:r.duration})),n.push(e)}return Wu(a,o,u)},ao.svg.axis=function(){function n(n){n.each(function(){var n,c=ao.select(this),f=this.__chart__||e,s=this.__chart__=e.copy(),h=null==l?s.ticks?s.ticks.apply(s,a):s.domain():l,p=null==t?s.tickFormat?s.tickFormat.apply(s,a):m:t,g=c.selectAll(".tick").data(h,s),v=g.enter().insert("g",".domain").attr("class","tick").style("opacity",Uo),d=ao.transition(g.exit()).style("opacity",Uo).remove(),y=ao.transition(g.order()).style("opacity",1),M=Math.max(i,0)+o,x=Zi(s),b=c.selectAll(".domain").data([0]),_=(b.enter().append("path").attr("class","domain"),ao.transition(b));v.append("line"),v.append("text");var w,S,k,N,E=v.select("line"),A=y.select("line"),C=g.select("text").text(p),z=v.select("text"),L=y.select("text"),q="top"===r||"left"===r?-1:1;if("bottom"===r||"top"===r?(n=no,w="x",k="y",S="x2",N="y2",C.attr("dy",0>q?"0em":".71em").style("text-anchor","middle"),_.attr("d","M"+x[0]+","+q*u+"V0H"+x[1]+"V"+q*u)):(n=to,w="y",k="x",S="y2",N="x2",C.attr("dy",".32em").style("text-anchor",0>q?"end":"start"),_.attr("d","M"+q*u+","+x[0]+"H0V"+x[1]+"H"+q*u)),E.attr(N,q*i),z.attr(k,q*M),A.attr(S,0).attr(N,q*i),L.attr(w,0).attr(k,q*M),s.rangeBand){var T=s,R=T.rangeBand()/2;f=s=function(n){return T(n)+R}}else f.rangeBand?f=s:d.call(n,s,f);v.call(n,f,s),y.call(n,s,s)})}var t,e=ao.scale.linear(),r=Vl,i=6,u=6,o=3,a=[10],l=null;return n.scale=function(t){return arguments.length?(e=t,n):e},n.orient=function(t){return arguments.length?(r=t in Xl?t+"":Vl,n):r},n.ticks=function(){return arguments.length?(a=co(arguments),n):a},n.tickValues=function(t){return arguments.length?(l=t,n):l},n.tickFormat=function(e){return arguments.length?(t=e,n):t},n.tickSize=function(t){var e=arguments.length;return e?(i=+t,u=+arguments[e-1],n):i},n.innerTickSize=function(t){return arguments.length?(i=+t,n):i},n.outerTickSize=function(t){return arguments.length?(u=+t,n):u},n.tickPadding=function(t){return arguments.length?(o=+t,n):o},n.tickSubdivide=function(){return arguments.length&&n},n};var Vl="bottom",Xl={top:1,right:1,bottom:1,left:1};ao.svg.brush=function(){function n(t){t.each(function(){var t=ao.select(this).style("pointer-events","all").style("-webkit-tap-highlight-color","rgba(0,0,0,0)").on("mousedown.brush",u).on("touchstart.brush",u),o=t.selectAll(".background").data([0]);o.enter().append("rect").attr("class","background").style("visibility","hidden").style("cursor","crosshair"),t.selectAll(".extent").data([0]).enter().append("rect").attr("class","extent").style("cursor","move");var a=t.selectAll(".resize").data(v,m);a.exit().remove(),a.enter().append("g").attr("class",function(n){return"resize "+n}).style("cursor",function(n){return $l[n]}).append("rect").attr("x",function(n){return/[ew]$/.test(n)?-3:null}).attr("y",function(n){return/^[ns]/.test(n)?-3:null}).attr("width",6).attr("height",6).style("visibility","hidden"),a.style("display",n.empty()?"none":null);var l,s=ao.transition(t),h=ao.transition(o);c&&(l=Zi(c),h.attr("x",l[0]).attr("width",l[1]-l[0]),r(s)),f&&(l=Zi(f),h.attr("y",l[0]).attr("height",l[1]-l[0]),i(s)),e(s)})}function e(n){n.selectAll(".resize").attr("transform",function(n){return"translate("+s[+/e$/.test(n)]+","+h[+/^s/.test(n)]+")"})}function r(n){n.select(".extent").attr("x",s[0]),n.selectAll(".extent,.n>rect,.s>rect").attr("width",s[1]-s[0])}function i(n){n.select(".extent").attr("y",h[0]),n.selectAll(".extent,.e>rect,.w>rect").attr("height",h[1]-h[0])}function u(){function u(){32==ao.event.keyCode&&(C||(M=null,L[0]-=s[1],L[1]-=h[1],C=2),S())}function v(){32==ao.event.keyCode&&2==C&&(L[0]+=s[1],L[1]+=h[1],C=0,S())}function d(){var n=ao.mouse(b),t=!1;x&&(n[0]+=x[0],n[1]+=x[1]),C||(ao.event.altKey?(M||(M=[(s[0]+s[1])/2,(h[0]+h[1])/2]),L[0]=s[+(n[0]f?(i=r,r=f):i=f),v[0]!=r||v[1]!=i?(e?a=null:o=null,v[0]=r,v[1]=i,!0):void 0}function m(){d(),k.style("pointer-events","all").selectAll(".resize").style("display",n.empty()?"none":null),ao.select("body").style("cursor",null),q.on("mousemove.brush",null).on("mouseup.brush",null).on("touchmove.brush",null).on("touchend.brush",null).on("keydown.brush",null).on("keyup.brush",null),z(),w({type:"brushend"})}var M,x,b=this,_=ao.select(ao.event.target),w=l.of(b,arguments),k=ao.select(b),N=_.datum(),E=!/^(n|s)$/.test(N)&&c,A=!/^(e|w)$/.test(N)&&f,C=_.classed("extent"),z=W(b),L=ao.mouse(b),q=ao.select(t(b)).on("keydown.brush",u).on("keyup.brush",v);if(ao.event.changedTouches?q.on("touchmove.brush",d).on("touchend.brush",m):q.on("mousemove.brush",d).on("mouseup.brush",m),k.interrupt().selectAll("*").interrupt(),C)L[0]=s[0]-L[0],L[1]=h[0]-L[1];else if(N){var T=+/w$/.test(N),R=+/^n/.test(N);x=[s[1-T]-L[0],h[1-R]-L[1]],L[0]=s[T],L[1]=h[R]}else ao.event.altKey&&(M=L.slice());k.style("pointer-events","none").selectAll(".resize").style("display",null),ao.select("body").style("cursor",_.style("cursor")),w({type:"brushstart"}),d()}var o,a,l=N(n,"brushstart","brush","brushend"),c=null,f=null,s=[0,0],h=[0,0],p=!0,g=!0,v=Bl[0];return n.event=function(n){n.each(function(){var n=l.of(this,arguments),t={x:s,y:h,i:o,j:a},e=this.__chart__||t;this.__chart__=t,Hl?ao.select(this).transition().each("start.brush",function(){o=e.i,a=e.j,s=e.x,h=e.y,n({type:"brushstart"})}).tween("brush:brush",function(){var e=xr(s,t.x),r=xr(h,t.y);return o=a=null,function(i){s=t.x=e(i),h=t.y=r(i),n({type:"brush",mode:"resize"})}}).each("end.brush",function(){o=t.i,a=t.j,n({type:"brush",mode:"resize"}),n({type:"brushend"})}):(n({type:"brushstart"}),n({type:"brush",mode:"resize"}),n({type:"brushend"}))})},n.x=function(t){return arguments.length?(c=t,v=Bl[!c<<1|!f],n):c},n.y=function(t){return arguments.length?(f=t,v=Bl[!c<<1|!f],n):f},n.clamp=function(t){return arguments.length?(c&&f?(p=!!t[0],g=!!t[1]):c?p=!!t:f&&(g=!!t),n):c&&f?[p,g]:c?p:f?g:null},n.extent=function(t){var e,r,i,u,l;return arguments.length?(c&&(e=t[0],r=t[1],f&&(e=e[0],r=r[0]),o=[e,r],c.invert&&(e=c(e),r=c(r)),e>r&&(l=e,e=r,r=l),e==s[0]&&r==s[1]||(s=[e,r])),f&&(i=t[0],u=t[1],c&&(i=i[1],u=u[1]),a=[i,u],f.invert&&(i=f(i),u=f(u)),i>u&&(l=i,i=u,u=l),i==h[0]&&u==h[1]||(h=[i,u])),n):(c&&(o?(e=o[0],r=o[1]):(e=s[0],r=s[1],c.invert&&(e=c.invert(e),r=c.invert(r)),e>r&&(l=e,e=r,r=l))),f&&(a?(i=a[0],u=a[1]):(i=h[0],u=h[1],f.invert&&(i=f.invert(i),u=f.invert(u)),i>u&&(l=i,i=u,u=l))),c&&f?[[e,i],[r,u]]:c?[e,r]:f&&[i,u])},n.clear=function(){return n.empty()||(s=[0,0],h=[0,0],o=a=null),n},n.empty=function(){return!!c&&s[0]==s[1]||!!f&&h[0]==h[1]},ao.rebind(n,l,"on")};var $l={n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"},Bl=[["n","e","s","w","nw","ne","se","sw"],["e","w"],["n","s"],[]],Wl=ga.format=xa.timeFormat,Jl=Wl.utc,Gl=Jl("%Y-%m-%dT%H:%M:%S.%LZ");Wl.iso=Date.prototype.toISOString&&+new Date("2000-01-01T00:00:00.000Z")?eo:Gl,eo.parse=function(n){var t=new Date(n);return isNaN(t)?null:t},eo.toString=Gl.toString,ga.second=On(function(n){return new va(1e3*Math.floor(n/1e3))},function(n,t){n.setTime(n.getTime()+1e3*Math.floor(t))},function(n){return n.getSeconds()}),ga.seconds=ga.second.range,ga.seconds.utc=ga.second.utc.range,ga.minute=On(function(n){return new va(6e4*Math.floor(n/6e4))},function(n,t){n.setTime(n.getTime()+6e4*Math.floor(t))},function(n){return n.getMinutes()}),ga.minutes=ga.minute.range,ga.minutes.utc=ga.minute.utc.range,ga.hour=On(function(n){var t=n.getTimezoneOffset()/60;return new va(36e5*(Math.floor(n/36e5-t)+t))},function(n,t){n.setTime(n.getTime()+36e5*Math.floor(t))},function(n){return n.getHours()}),ga.hours=ga.hour.range,ga.hours.utc=ga.hour.utc.range,ga.month=On(function(n){return n=ga.day(n),n.setDate(1),n},function(n,t){n.setMonth(n.getMonth()+t)},function(n){return n.getMonth()}),ga.months=ga.month.range,ga.months.utc=ga.month.utc.range;var Kl=[1e3,5e3,15e3,3e4,6e4,3e5,9e5,18e5,36e5,108e5,216e5,432e5,864e5,1728e5,6048e5,2592e6,7776e6,31536e6],Ql=[[ga.second,1],[ga.second,5],[ga.second,15],[ga.second,30],[ga.minute,1],[ga.minute,5],[ga.minute,15],[ga.minute,30],[ga.hour,1],[ga.hour,3],[ga.hour,6],[ga.hour,12],[ga.day,1],[ga.day,2],[ga.week,1],[ga.month,1],[ga.month,3],[ga.year,1]],nc=Wl.multi([[".%L",function(n){return n.getMilliseconds()}],[":%S",function(n){return n.getSeconds()}],["%I:%M",function(n){return n.getMinutes()}],["%I %p",function(n){return n.getHours()}],["%a %d",function(n){return n.getDay()&&1!=n.getDate()}],["%b %d",function(n){return 1!=n.getDate()}],["%B",function(n){return n.getMonth()}],["%Y",zt]]),tc={range:function(n,t,e){return ao.range(Math.ceil(n/e)*e,+t,e).map(io)},floor:m,ceil:m};Ql.year=ga.year,ga.scale=function(){return ro(ao.scale.linear(),Ql,nc)};var ec=Ql.map(function(n){return[n[0].utc,n[1]]}),rc=Jl.multi([[".%L",function(n){return n.getUTCMilliseconds()}],[":%S",function(n){return n.getUTCSeconds()}],["%I:%M",function(n){return n.getUTCMinutes()}],["%I %p",function(n){return n.getUTCHours()}],["%a %d",function(n){return n.getUTCDay()&&1!=n.getUTCDate()}],["%b %d",function(n){return 1!=n.getUTCDate()}],["%B",function(n){return n.getUTCMonth()}],["%Y",zt]]);ec.year=ga.year.utc,ga.scale.utc=function(){return ro(ao.scale.linear(),ec,rc)},ao.text=An(function(n){return n.responseText}),ao.json=function(n,t){return Cn(n,"application/json",uo,t)},ao.html=function(n,t){return Cn(n,"text/html",oo,t)},ao.xml=An(function(n){return n.responseXML}),"function"==typeof define&&define.amd?(this.d3=ao,define(ao)):"object"==typeof module&&module.exports?module.exports=ao:this.d3=ao}(); \ No newline at end of file diff --git a/paragonik-backend/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/js/file.js b/paragonik-backend/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/js/file.js deleted file mode 100644 index 756cc08..0000000 --- a/paragonik-backend/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/js/file.js +++ /dev/null @@ -1,61 +0,0 @@ - $(function() { - var $window = $(window) - , $top_link = $('#toplink') - , $body = $('body, html') - , offset = $('#code').offset().top - , hidePopover = function ($target) { - $target.data('popover-hover', false); - - setTimeout(function () { - if (!$target.data('popover-hover')) { - $target.popover('hide'); - } - }, 300); - }; - - $top_link.hide().click(function(event) { - event.preventDefault(); - $body.animate({scrollTop:0}, 800); - }); - - $window.scroll(function() { - if($window.scrollTop() > offset) { - $top_link.fadeIn(); - } else { - $top_link.fadeOut(); - } - }).scroll(); - - $('.popin') - .popover({trigger: 'manual'}) - .on({ - 'mouseenter.popover': function () { - var $target = $(this); - - $target.data('popover-hover', true); - - // popover already displayed - if ($target.next('.popover').length) { - return; - } - - // show the popover - $target.popover('show'); - - // register mouse events on the popover - $target.next('.popover:not(.popover-initialized)') - .on({ - 'mouseenter': function () { - $target.data('popover-hover', true); - }, - 'mouseleave': function () { - hidePopover($target); - } - }) - .addClass('popover-initialized'); - }, - 'mouseleave.popover': function () { - hidePopover($(this)); - } - }); - }); diff --git a/paragonik-backend/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/js/jquery.min.js b/paragonik-backend/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/js/jquery.min.js deleted file mode 100644 index 4d9b3a2..0000000 --- a/paragonik-backend/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/js/jquery.min.js +++ /dev/null @@ -1,2 +0,0 @@ -/*! jQuery v3.3.1 | (c) JS Foundation and other contributors | jquery.org/license */ -!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(e,t){"use strict";var n=[],r=e.document,i=Object.getPrototypeOf,o=n.slice,a=n.concat,s=n.push,u=n.indexOf,l={},c=l.toString,f=l.hasOwnProperty,p=f.toString,d=p.call(Object),h={},g=function e(t){return"function"==typeof t&&"number"!=typeof t.nodeType},y=function e(t){return null!=t&&t===t.window},v={type:!0,src:!0,noModule:!0};function m(e,t,n){var i,o=(t=t||r).createElement("script");if(o.text=e,n)for(i in v)n[i]&&(o[i]=n[i]);t.head.appendChild(o).parentNode.removeChild(o)}function x(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?l[c.call(e)]||"object":typeof e}var b="3.3.1",w=function(e,t){return new w.fn.init(e,t)},T=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;w.fn=w.prototype={jquery:"3.3.1",constructor:w,length:0,toArray:function(){return o.call(this)},get:function(e){return null==e?o.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=w.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return w.each(this,e)},map:function(e){return this.pushStack(w.map(this,function(t,n){return e.call(t,n,t)}))},slice:function(){return this.pushStack(o.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(n>=0&&n0&&t-1 in e)}var E=function(e){var t,n,r,i,o,a,s,u,l,c,f,p,d,h,g,y,v,m,x,b="sizzle"+1*new Date,w=e.document,T=0,C=0,E=ae(),k=ae(),S=ae(),D=function(e,t){return e===t&&(f=!0),0},N={}.hasOwnProperty,A=[],j=A.pop,q=A.push,L=A.push,H=A.slice,O=function(e,t){for(var n=0,r=e.length;n+~]|"+M+")"+M+"*"),z=new RegExp("="+M+"*([^\\]'\"]*?)"+M+"*\\]","g"),X=new RegExp(W),U=new RegExp("^"+R+"$"),V={ID:new RegExp("^#("+R+")"),CLASS:new RegExp("^\\.("+R+")"),TAG:new RegExp("^("+R+"|[*])"),ATTR:new RegExp("^"+I),PSEUDO:new RegExp("^"+W),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+P+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},G=/^(?:input|select|textarea|button)$/i,Y=/^h\d$/i,Q=/^[^{]+\{\s*\[native \w/,J=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,K=/[+~]/,Z=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),ee=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},te=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ne=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},re=function(){p()},ie=me(function(e){return!0===e.disabled&&("form"in e||"label"in e)},{dir:"parentNode",next:"legend"});try{L.apply(A=H.call(w.childNodes),w.childNodes),A[w.childNodes.length].nodeType}catch(e){L={apply:A.length?function(e,t){q.apply(e,H.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function oe(e,t,r,i){var o,s,l,c,f,h,v,m=t&&t.ownerDocument,T=t?t.nodeType:9;if(r=r||[],"string"!=typeof e||!e||1!==T&&9!==T&&11!==T)return r;if(!i&&((t?t.ownerDocument||t:w)!==d&&p(t),t=t||d,g)){if(11!==T&&(f=J.exec(e)))if(o=f[1]){if(9===T){if(!(l=t.getElementById(o)))return r;if(l.id===o)return r.push(l),r}else if(m&&(l=m.getElementById(o))&&x(t,l)&&l.id===o)return r.push(l),r}else{if(f[2])return L.apply(r,t.getElementsByTagName(e)),r;if((o=f[3])&&n.getElementsByClassName&&t.getElementsByClassName)return L.apply(r,t.getElementsByClassName(o)),r}if(n.qsa&&!S[e+" "]&&(!y||!y.test(e))){if(1!==T)m=t,v=e;else if("object"!==t.nodeName.toLowerCase()){(c=t.getAttribute("id"))?c=c.replace(te,ne):t.setAttribute("id",c=b),s=(h=a(e)).length;while(s--)h[s]="#"+c+" "+ve(h[s]);v=h.join(","),m=K.test(e)&&ge(t.parentNode)||t}if(v)try{return L.apply(r,m.querySelectorAll(v)),r}catch(e){}finally{c===b&&t.removeAttribute("id")}}}return u(e.replace(B,"$1"),t,r,i)}function ae(){var e=[];function t(n,i){return e.push(n+" ")>r.cacheLength&&delete t[e.shift()],t[n+" "]=i}return t}function se(e){return e[b]=!0,e}function ue(e){var t=d.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function le(e,t){var n=e.split("|"),i=n.length;while(i--)r.attrHandle[n[i]]=t}function ce(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function fe(e){return function(t){return"input"===t.nodeName.toLowerCase()&&t.type===e}}function pe(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function de(e){return function(t){return"form"in t?t.parentNode&&!1===t.disabled?"label"in t?"label"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&ie(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function he(e){return se(function(t){return t=+t,se(function(n,r){var i,o=e([],n.length,t),a=o.length;while(a--)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}function ge(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}n=oe.support={},o=oe.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&"HTML"!==t.nodeName},p=oe.setDocument=function(e){var t,i,a=e?e.ownerDocument||e:w;return a!==d&&9===a.nodeType&&a.documentElement?(d=a,h=d.documentElement,g=!o(d),w!==d&&(i=d.defaultView)&&i.top!==i&&(i.addEventListener?i.addEventListener("unload",re,!1):i.attachEvent&&i.attachEvent("onunload",re)),n.attributes=ue(function(e){return e.className="i",!e.getAttribute("className")}),n.getElementsByTagName=ue(function(e){return e.appendChild(d.createComment("")),!e.getElementsByTagName("*").length}),n.getElementsByClassName=Q.test(d.getElementsByClassName),n.getById=ue(function(e){return h.appendChild(e).id=b,!d.getElementsByName||!d.getElementsByName(b).length}),n.getById?(r.filter.ID=function(e){var t=e.replace(Z,ee);return function(e){return e.getAttribute("id")===t}},r.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&g){var n=t.getElementById(e);return n?[n]:[]}}):(r.filter.ID=function(e){var t=e.replace(Z,ee);return function(e){var n="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}},r.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&g){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),r.find.TAG=n.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):n.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},r.find.CLASS=n.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&g)return t.getElementsByClassName(e)},v=[],y=[],(n.qsa=Q.test(d.querySelectorAll))&&(ue(function(e){h.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&y.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||y.push("\\["+M+"*(?:value|"+P+")"),e.querySelectorAll("[id~="+b+"-]").length||y.push("~="),e.querySelectorAll(":checked").length||y.push(":checked"),e.querySelectorAll("a#"+b+"+*").length||y.push(".#.+[+~]")}),ue(function(e){e.innerHTML="";var t=d.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&y.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&y.push(":enabled",":disabled"),h.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&y.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),y.push(",.*:")})),(n.matchesSelector=Q.test(m=h.matches||h.webkitMatchesSelector||h.mozMatchesSelector||h.oMatchesSelector||h.msMatchesSelector))&&ue(function(e){n.disconnectedMatch=m.call(e,"*"),m.call(e,"[s!='']:x"),v.push("!=",W)}),y=y.length&&new RegExp(y.join("|")),v=v.length&&new RegExp(v.join("|")),t=Q.test(h.compareDocumentPosition),x=t||Q.test(h.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return f=!0,0;var r=!e.compareDocumentPosition-!t.compareDocumentPosition;return r||(1&(r=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!n.sortDetached&&t.compareDocumentPosition(e)===r?e===d||e.ownerDocument===w&&x(w,e)?-1:t===d||t.ownerDocument===w&&x(w,t)?1:c?O(c,e)-O(c,t):0:4&r?-1:1)}:function(e,t){if(e===t)return f=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===d?-1:t===d?1:i?-1:o?1:c?O(c,e)-O(c,t):0;if(i===o)return ce(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?ce(a[r],s[r]):a[r]===w?-1:s[r]===w?1:0},d):d},oe.matches=function(e,t){return oe(e,null,null,t)},oe.matchesSelector=function(e,t){if((e.ownerDocument||e)!==d&&p(e),t=t.replace(z,"='$1']"),n.matchesSelector&&g&&!S[t+" "]&&(!v||!v.test(t))&&(!y||!y.test(t)))try{var r=m.call(e,t);if(r||n.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(e){}return oe(t,d,null,[e]).length>0},oe.contains=function(e,t){return(e.ownerDocument||e)!==d&&p(e),x(e,t)},oe.attr=function(e,t){(e.ownerDocument||e)!==d&&p(e);var i=r.attrHandle[t.toLowerCase()],o=i&&N.call(r.attrHandle,t.toLowerCase())?i(e,t,!g):void 0;return void 0!==o?o:n.attributes||!g?e.getAttribute(t):(o=e.getAttributeNode(t))&&o.specified?o.value:null},oe.escape=function(e){return(e+"").replace(te,ne)},oe.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},oe.uniqueSort=function(e){var t,r=[],i=0,o=0;if(f=!n.detectDuplicates,c=!n.sortStable&&e.slice(0),e.sort(D),f){while(t=e[o++])t===e[o]&&(i=r.push(o));while(i--)e.splice(r[i],1)}return c=null,e},i=oe.getText=function(e){var t,n="",r=0,o=e.nodeType;if(o){if(1===o||9===o||11===o){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=i(e)}else if(3===o||4===o)return e.nodeValue}else while(t=e[r++])n+=i(t);return n},(r=oe.selectors={cacheLength:50,createPseudo:se,match:V,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(Z,ee),e[3]=(e[3]||e[4]||e[5]||"").replace(Z,ee),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||oe.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&oe.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return V.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=a(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(Z,ee).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=E[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&E(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=oe.attr(r,e);return null==i?"!="===t:!t||(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i.replace($," ")+" ").indexOf(n)>-1:"|="===t&&(i===n||i.slice(0,n.length+1)===n+"-"))}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,c,f,p,d,h,g=o!==a?"nextSibling":"previousSibling",y=t.parentNode,v=s&&t.nodeName.toLowerCase(),m=!u&&!s,x=!1;if(y){if(o){while(g){p=t;while(p=p[g])if(s?p.nodeName.toLowerCase()===v:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?y.firstChild:y.lastChild],a&&m){x=(d=(l=(c=(f=(p=y)[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]||[])[0]===T&&l[1])&&l[2],p=d&&y.childNodes[d];while(p=++d&&p&&p[g]||(x=d=0)||h.pop())if(1===p.nodeType&&++x&&p===t){c[e]=[T,d,x];break}}else if(m&&(x=d=(l=(c=(f=(p=t)[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]||[])[0]===T&&l[1]),!1===x)while(p=++d&&p&&p[g]||(x=d=0)||h.pop())if((s?p.nodeName.toLowerCase()===v:1===p.nodeType)&&++x&&(m&&((c=(f=p[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]=[T,x]),p===t))break;return(x-=i)===r||x%r==0&&x/r>=0}}},PSEUDO:function(e,t){var n,i=r.pseudos[e]||r.setFilters[e.toLowerCase()]||oe.error("unsupported pseudo: "+e);return i[b]?i(t):i.length>1?(n=[e,e,"",t],r.setFilters.hasOwnProperty(e.toLowerCase())?se(function(e,n){var r,o=i(e,t),a=o.length;while(a--)e[r=O(e,o[a])]=!(n[r]=o[a])}):function(e){return i(e,0,n)}):i}},pseudos:{not:se(function(e){var t=[],n=[],r=s(e.replace(B,"$1"));return r[b]?se(function(e,t,n,i){var o,a=r(e,null,i,[]),s=e.length;while(s--)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),t[0]=null,!n.pop()}}),has:se(function(e){return function(t){return oe(e,t).length>0}}),contains:se(function(e){return e=e.replace(Z,ee),function(t){return(t.textContent||t.innerText||i(t)).indexOf(e)>-1}}),lang:se(function(e){return U.test(e||"")||oe.error("unsupported lang: "+e),e=e.replace(Z,ee).toLowerCase(),function(t){var n;do{if(n=g?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return(n=n.toLowerCase())===e||0===n.indexOf(e+"-")}while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===h},focus:function(e){return e===d.activeElement&&(!d.hasFocus||d.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:de(!1),disabled:de(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!r.pseudos.empty(e)},header:function(e){return Y.test(e.nodeName)},input:function(e){return G.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:he(function(){return[0]}),last:he(function(e,t){return[t-1]}),eq:he(function(e,t,n){return[n<0?n+t:n]}),even:he(function(e,t){for(var n=0;n=0;)e.push(r);return e}),gt:he(function(e,t,n){for(var r=n<0?n+t:n;++r1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function be(e,t,n){for(var r=0,i=t.length;r-1&&(o[l]=!(a[l]=f))}}else v=we(v===a?v.splice(h,v.length):v),i?i(null,a,v,u):L.apply(a,v)})}function Ce(e){for(var t,n,i,o=e.length,a=r.relative[e[0].type],s=a||r.relative[" "],u=a?1:0,c=me(function(e){return e===t},s,!0),f=me(function(e){return O(t,e)>-1},s,!0),p=[function(e,n,r){var i=!a&&(r||n!==l)||((t=n).nodeType?c(e,n,r):f(e,n,r));return t=null,i}];u1&&xe(p),u>1&&ve(e.slice(0,u-1).concat({value:" "===e[u-2].type?"*":""})).replace(B,"$1"),n,u0,i=e.length>0,o=function(o,a,s,u,c){var f,h,y,v=0,m="0",x=o&&[],b=[],w=l,C=o||i&&r.find.TAG("*",c),E=T+=null==w?1:Math.random()||.1,k=C.length;for(c&&(l=a===d||a||c);m!==k&&null!=(f=C[m]);m++){if(i&&f){h=0,a||f.ownerDocument===d||(p(f),s=!g);while(y=e[h++])if(y(f,a||d,s)){u.push(f);break}c&&(T=E)}n&&((f=!y&&f)&&v--,o&&x.push(f))}if(v+=m,n&&m!==v){h=0;while(y=t[h++])y(x,b,a,s);if(o){if(v>0)while(m--)x[m]||b[m]||(b[m]=j.call(u));b=we(b)}L.apply(u,b),c&&!o&&b.length>0&&v+t.length>1&&oe.uniqueSort(u)}return c&&(T=E,l=w),x};return n?se(o):o}return s=oe.compile=function(e,t){var n,r=[],i=[],o=S[e+" "];if(!o){t||(t=a(e)),n=t.length;while(n--)(o=Ce(t[n]))[b]?r.push(o):i.push(o);(o=S(e,Ee(i,r))).selector=e}return o},u=oe.select=function(e,t,n,i){var o,u,l,c,f,p="function"==typeof e&&e,d=!i&&a(e=p.selector||e);if(n=n||[],1===d.length){if((u=d[0]=d[0].slice(0)).length>2&&"ID"===(l=u[0]).type&&9===t.nodeType&&g&&r.relative[u[1].type]){if(!(t=(r.find.ID(l.matches[0].replace(Z,ee),t)||[])[0]))return n;p&&(t=t.parentNode),e=e.slice(u.shift().value.length)}o=V.needsContext.test(e)?0:u.length;while(o--){if(l=u[o],r.relative[c=l.type])break;if((f=r.find[c])&&(i=f(l.matches[0].replace(Z,ee),K.test(u[0].type)&&ge(t.parentNode)||t))){if(u.splice(o,1),!(e=i.length&&ve(u)))return L.apply(n,i),n;break}}}return(p||s(e,d))(i,t,!g,n,!t||K.test(e)&&ge(t.parentNode)||t),n},n.sortStable=b.split("").sort(D).join("")===b,n.detectDuplicates=!!f,p(),n.sortDetached=ue(function(e){return 1&e.compareDocumentPosition(d.createElement("fieldset"))}),ue(function(e){return e.innerHTML="","#"===e.firstChild.getAttribute("href")})||le("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),n.attributes&&ue(function(e){return e.innerHTML="",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||le("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ue(function(e){return null==e.getAttribute("disabled")})||le(P,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),oe}(e);w.find=E,w.expr=E.selectors,w.expr[":"]=w.expr.pseudos,w.uniqueSort=w.unique=E.uniqueSort,w.text=E.getText,w.isXMLDoc=E.isXML,w.contains=E.contains,w.escapeSelector=E.escape;var k=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&w(e).is(n))break;r.push(e)}return r},S=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},D=w.expr.match.needsContext;function N(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var A=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,t,n){return g(t)?w.grep(e,function(e,r){return!!t.call(e,r,e)!==n}):t.nodeType?w.grep(e,function(e){return e===t!==n}):"string"!=typeof t?w.grep(e,function(e){return u.call(t,e)>-1!==n}):w.filter(t,e,n)}w.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?w.find.matchesSelector(r,e)?[r]:[]:w.find.matches(e,w.grep(t,function(e){return 1===e.nodeType}))},w.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(w(e).filter(function(){for(t=0;t1?w.uniqueSort(n):n},filter:function(e){return this.pushStack(j(this,e||[],!1))},not:function(e){return this.pushStack(j(this,e||[],!0))},is:function(e){return!!j(this,"string"==typeof e&&D.test(e)?w(e):e||[],!1).length}});var q,L=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(w.fn.init=function(e,t,n){var i,o;if(!e)return this;if(n=n||q,"string"==typeof e){if(!(i="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:L.exec(e))||!i[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(i[1]){if(t=t instanceof w?t[0]:t,w.merge(this,w.parseHTML(i[1],t&&t.nodeType?t.ownerDocument||t:r,!0)),A.test(i[1])&&w.isPlainObject(t))for(i in t)g(this[i])?this[i](t[i]):this.attr(i,t[i]);return this}return(o=r.getElementById(i[2]))&&(this[0]=o,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):g(e)?void 0!==n.ready?n.ready(e):e(w):w.makeArray(e,this)}).prototype=w.fn,q=w(r);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};w.fn.extend({has:function(e){var t=w(e,this),n=t.length;return this.filter(function(){for(var e=0;e-1:1===n.nodeType&&w.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(o.length>1?w.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?u.call(w(e),this[0]):u.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(w.uniqueSort(w.merge(this.get(),w(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}});function P(e,t){while((e=e[t])&&1!==e.nodeType);return e}w.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return k(e,"parentNode")},parentsUntil:function(e,t,n){return k(e,"parentNode",n)},next:function(e){return P(e,"nextSibling")},prev:function(e){return P(e,"previousSibling")},nextAll:function(e){return k(e,"nextSibling")},prevAll:function(e){return k(e,"previousSibling")},nextUntil:function(e,t,n){return k(e,"nextSibling",n)},prevUntil:function(e,t,n){return k(e,"previousSibling",n)},siblings:function(e){return S((e.parentNode||{}).firstChild,e)},children:function(e){return S(e.firstChild)},contents:function(e){return N(e,"iframe")?e.contentDocument:(N(e,"template")&&(e=e.content||e),w.merge([],e.childNodes))}},function(e,t){w.fn[e]=function(n,r){var i=w.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=w.filter(r,i)),this.length>1&&(O[e]||w.uniqueSort(i),H.test(e)&&i.reverse()),this.pushStack(i)}});var M=/[^\x20\t\r\n\f]+/g;function R(e){var t={};return w.each(e.match(M)||[],function(e,n){t[n]=!0}),t}w.Callbacks=function(e){e="string"==typeof e?R(e):w.extend({},e);var t,n,r,i,o=[],a=[],s=-1,u=function(){for(i=i||e.once,r=t=!0;a.length;s=-1){n=a.shift();while(++s-1)o.splice(n,1),n<=s&&s--}),this},has:function(e){return e?w.inArray(e,o)>-1:o.length>0},empty:function(){return o&&(o=[]),this},disable:function(){return i=a=[],o=n="",this},disabled:function(){return!o},lock:function(){return i=a=[],n||t||(o=n=""),this},locked:function(){return!!i},fireWith:function(e,n){return i||(n=[e,(n=n||[]).slice?n.slice():n],a.push(n),t||u()),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!r}};return l};function I(e){return e}function W(e){throw e}function $(e,t,n,r){var i;try{e&&g(i=e.promise)?i.call(e).done(t).fail(n):e&&g(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}w.extend({Deferred:function(t){var n=[["notify","progress",w.Callbacks("memory"),w.Callbacks("memory"),2],["resolve","done",w.Callbacks("once memory"),w.Callbacks("once memory"),0,"resolved"],["reject","fail",w.Callbacks("once memory"),w.Callbacks("once memory"),1,"rejected"]],r="pending",i={state:function(){return r},always:function(){return o.done(arguments).fail(arguments),this},"catch":function(e){return i.then(null,e)},pipe:function(){var e=arguments;return w.Deferred(function(t){w.each(n,function(n,r){var i=g(e[r[4]])&&e[r[4]];o[r[1]](function(){var e=i&&i.apply(this,arguments);e&&g(e.promise)?e.promise().progress(t.notify).done(t.resolve).fail(t.reject):t[r[0]+"With"](this,i?[e]:arguments)})}),e=null}).promise()},then:function(t,r,i){var o=0;function a(t,n,r,i){return function(){var s=this,u=arguments,l=function(){var e,l;if(!(t=o&&(r!==W&&(s=void 0,u=[e]),n.rejectWith(s,u))}};t?c():(w.Deferred.getStackHook&&(c.stackTrace=w.Deferred.getStackHook()),e.setTimeout(c))}}return w.Deferred(function(e){n[0][3].add(a(0,e,g(i)?i:I,e.notifyWith)),n[1][3].add(a(0,e,g(t)?t:I)),n[2][3].add(a(0,e,g(r)?r:W))}).promise()},promise:function(e){return null!=e?w.extend(e,i):i}},o={};return w.each(n,function(e,t){var a=t[2],s=t[5];i[t[1]]=a.add,s&&a.add(function(){r=s},n[3-e][2].disable,n[3-e][3].disable,n[0][2].lock,n[0][3].lock),a.add(t[3].fire),o[t[0]]=function(){return o[t[0]+"With"](this===o?void 0:this,arguments),this},o[t[0]+"With"]=a.fireWith}),i.promise(o),t&&t.call(o,o),o},when:function(e){var t=arguments.length,n=t,r=Array(n),i=o.call(arguments),a=w.Deferred(),s=function(e){return function(n){r[e]=this,i[e]=arguments.length>1?o.call(arguments):n,--t||a.resolveWith(r,i)}};if(t<=1&&($(e,a.done(s(n)).resolve,a.reject,!t),"pending"===a.state()||g(i[n]&&i[n].then)))return a.then();while(n--)$(i[n],s(n),a.reject);return a.promise()}});var B=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;w.Deferred.exceptionHook=function(t,n){e.console&&e.console.warn&&t&&B.test(t.name)&&e.console.warn("jQuery.Deferred exception: "+t.message,t.stack,n)},w.readyException=function(t){e.setTimeout(function(){throw t})};var F=w.Deferred();w.fn.ready=function(e){return F.then(e)["catch"](function(e){w.readyException(e)}),this},w.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--w.readyWait:w.isReady)||(w.isReady=!0,!0!==e&&--w.readyWait>0||F.resolveWith(r,[w]))}}),w.ready.then=F.then;function _(){r.removeEventListener("DOMContentLoaded",_),e.removeEventListener("load",_),w.ready()}"complete"===r.readyState||"loading"!==r.readyState&&!r.documentElement.doScroll?e.setTimeout(w.ready):(r.addEventListener("DOMContentLoaded",_),e.addEventListener("load",_));var z=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===x(n)){i=!0;for(s in n)z(e,t,s,n[s],!0,o,a)}else if(void 0!==r&&(i=!0,g(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(w(e),n)})),t))for(;s1,null,!0)},removeData:function(e){return this.each(function(){K.remove(this,e)})}}),w.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=J.get(e,t),n&&(!r||Array.isArray(n)?r=J.access(e,t,w.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=w.queue(e,t),r=n.length,i=n.shift(),o=w._queueHooks(e,t),a=function(){w.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return J.get(e,n)||J.access(e,n,{empty:w.Callbacks("once memory").add(function(){J.remove(e,[t+"queue",n])})})}}),w.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length\x20\t\r\n\f]+)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};ge.optgroup=ge.option,ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td;function ye(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&N(e,t)?w.merge([e],n):n}function ve(e,t){for(var n=0,r=e.length;n-1)i&&i.push(o);else if(l=w.contains(o.ownerDocument,o),a=ye(f.appendChild(o),"script"),l&&ve(a),n){c=0;while(o=a[c++])he.test(o.type||"")&&n.push(o)}return f}!function(){var e=r.createDocumentFragment().appendChild(r.createElement("div")),t=r.createElement("input");t.setAttribute("type","radio"),t.setAttribute("checked","checked"),t.setAttribute("name","t"),e.appendChild(t),h.checkClone=e.cloneNode(!0).cloneNode(!0).lastChild.checked,e.innerHTML="",h.noCloneChecked=!!e.cloneNode(!0).lastChild.defaultValue}();var be=r.documentElement,we=/^key/,Te=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ce=/^([^.]*)(?:\.(.+)|)/;function Ee(){return!0}function ke(){return!1}function Se(){try{return r.activeElement}catch(e){}}function De(e,t,n,r,i,o){var a,s;if("object"==typeof t){"string"!=typeof n&&(r=r||n,n=void 0);for(s in t)De(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=ke;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return w().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=w.guid++)),e.each(function(){w.event.add(this,t,i,r,n)})}w.event={global:{},add:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,y=J.get(e);if(y){n.handler&&(n=(o=n).handler,i=o.selector),i&&w.find.matchesSelector(be,i),n.guid||(n.guid=w.guid++),(u=y.events)||(u=y.events={}),(a=y.handle)||(a=y.handle=function(t){return"undefined"!=typeof w&&w.event.triggered!==t.type?w.event.dispatch.apply(e,arguments):void 0}),l=(t=(t||"").match(M)||[""]).length;while(l--)d=g=(s=Ce.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=w.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=w.event.special[d]||{},c=w.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&w.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(e,r,h,a)||e.addEventListener&&e.addEventListener(d,a)),f.add&&(f.add.call(e,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),w.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,y=J.hasData(e)&&J.get(e);if(y&&(u=y.events)){l=(t=(t||"").match(M)||[""]).length;while(l--)if(s=Ce.exec(t[l])||[],d=g=s[1],h=(s[2]||"").split(".").sort(),d){f=w.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,y.handle)||w.removeEvent(e,d,y.handle),delete u[d])}else for(d in u)w.event.remove(e,d+t[l],n,r,!0);w.isEmptyObject(u)&&J.remove(e,"handle events")}},dispatch:function(e){var t=w.event.fix(e),n,r,i,o,a,s,u=new Array(arguments.length),l=(J.get(this,"events")||{})[t.type]||[],c=w.event.special[t.type]||{};for(u[0]=t,n=1;n=1))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n-1:w.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u\x20\t\r\n\f]*)[^>]*)\/>/gi,Ae=/\s*$/g;function Le(e,t){return N(e,"table")&&N(11!==t.nodeType?t:t.firstChild,"tr")?w(e).children("tbody")[0]||e:e}function He(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Oe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Pe(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(J.hasData(e)&&(o=J.access(e),a=J.set(t,o),l=o.events)){delete a.handle,a.events={};for(i in l)for(n=0,r=l[i].length;n1&&"string"==typeof y&&!h.checkClone&&je.test(y))return e.each(function(i){var o=e.eq(i);v&&(t[0]=y.call(this,i,o.html())),Re(o,t,n,r)});if(p&&(i=xe(t,e[0].ownerDocument,!1,e,r),o=i.firstChild,1===i.childNodes.length&&(i=o),o||r)){for(u=(s=w.map(ye(i,"script"),He)).length;f")},clone:function(e,t,n){var r,i,o,a,s=e.cloneNode(!0),u=w.contains(e.ownerDocument,e);if(!(h.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||w.isXMLDoc(e)))for(a=ye(s),r=0,i=(o=ye(e)).length;r0&&ve(a,!u&&ye(e,"script")),s},cleanData:function(e){for(var t,n,r,i=w.event.special,o=0;void 0!==(n=e[o]);o++)if(Y(n)){if(t=n[J.expando]){if(t.events)for(r in t.events)i[r]?w.event.remove(n,r):w.removeEvent(n,r,t.handle);n[J.expando]=void 0}n[K.expando]&&(n[K.expando]=void 0)}}}),w.fn.extend({detach:function(e){return Ie(this,e,!0)},remove:function(e){return Ie(this,e)},text:function(e){return z(this,function(e){return void 0===e?w.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return Re(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Le(this,e).appendChild(e)})},prepend:function(){return Re(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Le(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Re(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Re(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(w.cleanData(ye(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return w.clone(this,e,t)})},html:function(e){return z(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!Ae.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=w.htmlPrefilter(e);try{for(;n=0&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))),u}function et(e,t,n){var r=$e(e),i=Fe(e,t,r),o="border-box"===w.css(e,"boxSizing",!1,r),a=o;if(We.test(i)){if(!n)return i;i="auto"}return a=a&&(h.boxSizingReliable()||i===e.style[t]),("auto"===i||!parseFloat(i)&&"inline"===w.css(e,"display",!1,r))&&(i=e["offset"+t[0].toUpperCase()+t.slice(1)],a=!0),(i=parseFloat(i)||0)+Ze(e,t,n||(o?"border":"content"),a,r,i)+"px"}w.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Fe(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=G(t),u=Xe.test(t),l=e.style;if(u||(t=Je(s)),a=w.cssHooks[t]||w.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"==(o=typeof n)&&(i=ie.exec(n))&&i[1]&&(n=ue(e,t,i),o="number"),null!=n&&n===n&&("number"===o&&(n+=i&&i[3]||(w.cssNumber[s]?"":"px")),h.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=G(t);return Xe.test(t)||(t=Je(s)),(a=w.cssHooks[t]||w.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=Fe(e,t,r)),"normal"===i&&t in Ve&&(i=Ve[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),w.each(["height","width"],function(e,t){w.cssHooks[t]={get:function(e,n,r){if(n)return!ze.test(w.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?et(e,t,r):se(e,Ue,function(){return et(e,t,r)})},set:function(e,n,r){var i,o=$e(e),a="border-box"===w.css(e,"boxSizing",!1,o),s=r&&Ze(e,t,r,a,o);return a&&h.scrollboxSize()===o.position&&(s-=Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-parseFloat(o[t])-Ze(e,t,"border",!1,o)-.5)),s&&(i=ie.exec(n))&&"px"!==(i[3]||"px")&&(e.style[t]=n,n=w.css(e,t)),Ke(e,n,s)}}}),w.cssHooks.marginLeft=_e(h.reliableMarginLeft,function(e,t){if(t)return(parseFloat(Fe(e,"marginLeft"))||e.getBoundingClientRect().left-se(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),w.each({margin:"",padding:"",border:"Width"},function(e,t){w.cssHooks[e+t]={expand:function(n){for(var r=0,i={},o="string"==typeof n?n.split(" "):[n];r<4;r++)i[e+oe[r]+t]=o[r]||o[r-2]||o[0];return i}},"margin"!==e&&(w.cssHooks[e+t].set=Ke)}),w.fn.extend({css:function(e,t){return z(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=$e(e),i=t.length;a1)}});function tt(e,t,n,r,i){return new tt.prototype.init(e,t,n,r,i)}w.Tween=tt,tt.prototype={constructor:tt,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||w.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(w.cssNumber[n]?"":"px")},cur:function(){var e=tt.propHooks[this.prop];return e&&e.get?e.get(this):tt.propHooks._default.get(this)},run:function(e){var t,n=tt.propHooks[this.prop];return this.options.duration?this.pos=t=w.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):tt.propHooks._default.set(this),this}},tt.prototype.init.prototype=tt.prototype,tt.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=w.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){w.fx.step[e.prop]?w.fx.step[e.prop](e):1!==e.elem.nodeType||null==e.elem.style[w.cssProps[e.prop]]&&!w.cssHooks[e.prop]?e.elem[e.prop]=e.now:w.style(e.elem,e.prop,e.now+e.unit)}}},tt.propHooks.scrollTop=tt.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},w.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},w.fx=tt.prototype.init,w.fx.step={};var nt,rt,it=/^(?:toggle|show|hide)$/,ot=/queueHooks$/;function at(){rt&&(!1===r.hidden&&e.requestAnimationFrame?e.requestAnimationFrame(at):e.setTimeout(at,w.fx.interval),w.fx.tick())}function st(){return e.setTimeout(function(){nt=void 0}),nt=Date.now()}function ut(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=oe[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function lt(e,t,n){for(var r,i=(pt.tweeners[t]||[]).concat(pt.tweeners["*"]),o=0,a=i.length;o1)},removeAttr:function(e){return this.each(function(){w.removeAttr(this,e)})}}),w.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?w.prop(e,t,n):(1===o&&w.isXMLDoc(e)||(i=w.attrHooks[t.toLowerCase()]||(w.expr.match.bool.test(t)?dt:void 0)),void 0!==n?null===n?void w.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=w.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!h.radioValue&&"radio"===t&&N(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(M);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),dt={set:function(e,t,n){return!1===t?w.removeAttr(e,n):e.setAttribute(n,n),n}},w.each(w.expr.match.bool.source.match(/\w+/g),function(e,t){var n=ht[t]||w.find.attr;ht[t]=function(e,t,r){var i,o,a=t.toLowerCase();return r||(o=ht[a],ht[a]=i,i=null!=n(e,t,r)?a:null,ht[a]=o),i}});var gt=/^(?:input|select|textarea|button)$/i,yt=/^(?:a|area)$/i;w.fn.extend({prop:function(e,t){return z(this,w.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[w.propFix[e]||e]})}}),w.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&w.isXMLDoc(e)||(t=w.propFix[t]||t,i=w.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=w.find.attr(e,"tabindex");return t?parseInt(t,10):gt.test(e.nodeName)||yt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),h.optSelected||(w.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),w.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){w.propFix[this.toLowerCase()]=this});function vt(e){return(e.match(M)||[]).join(" ")}function mt(e){return e.getAttribute&&e.getAttribute("class")||""}function xt(e){return Array.isArray(e)?e:"string"==typeof e?e.match(M)||[]:[]}w.fn.extend({addClass:function(e){var t,n,r,i,o,a,s,u=0;if(g(e))return this.each(function(t){w(this).addClass(e.call(this,t,mt(this)))});if((t=xt(e)).length)while(n=this[u++])if(i=mt(n),r=1===n.nodeType&&" "+vt(i)+" "){a=0;while(o=t[a++])r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=vt(r))&&n.setAttribute("class",s)}return this},removeClass:function(e){var t,n,r,i,o,a,s,u=0;if(g(e))return this.each(function(t){w(this).removeClass(e.call(this,t,mt(this)))});if(!arguments.length)return this.attr("class","");if((t=xt(e)).length)while(n=this[u++])if(i=mt(n),r=1===n.nodeType&&" "+vt(i)+" "){a=0;while(o=t[a++])while(r.indexOf(" "+o+" ")>-1)r=r.replace(" "+o+" "," ");i!==(s=vt(r))&&n.setAttribute("class",s)}return this},toggleClass:function(e,t){var n=typeof e,r="string"===n||Array.isArray(e);return"boolean"==typeof t&&r?t?this.addClass(e):this.removeClass(e):g(e)?this.each(function(n){w(this).toggleClass(e.call(this,n,mt(this),t),t)}):this.each(function(){var t,i,o,a;if(r){i=0,o=w(this),a=xt(e);while(t=a[i++])o.hasClass(t)?o.removeClass(t):o.addClass(t)}else void 0!==e&&"boolean"!==n||((t=mt(this))&&J.set(this,"__className__",t),this.setAttribute&&this.setAttribute("class",t||!1===e?"":J.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&(" "+vt(mt(n))+" ").indexOf(t)>-1)return!0;return!1}});var bt=/\r/g;w.fn.extend({val:function(e){var t,n,r,i=this[0];{if(arguments.length)return r=g(e),this.each(function(n){var i;1===this.nodeType&&(null==(i=r?e.call(this,n,w(this).val()):e)?i="":"number"==typeof i?i+="":Array.isArray(i)&&(i=w.map(i,function(e){return null==e?"":e+""})),(t=w.valHooks[this.type]||w.valHooks[this.nodeName.toLowerCase()])&&"set"in t&&void 0!==t.set(this,i,"value")||(this.value=i))});if(i)return(t=w.valHooks[i.type]||w.valHooks[i.nodeName.toLowerCase()])&&"get"in t&&void 0!==(n=t.get(i,"value"))?n:"string"==typeof(n=i.value)?n.replace(bt,""):null==n?"":n}}}),w.extend({valHooks:{option:{get:function(e){var t=w.find.attr(e,"value");return null!=t?t:vt(w.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r-1)&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),w.each(["radio","checkbox"],function(){w.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=w.inArray(w(e).val(),t)>-1}},h.checkOn||(w.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),h.focusin="onfocusin"in e;var wt=/^(?:focusinfocus|focusoutblur)$/,Tt=function(e){e.stopPropagation()};w.extend(w.event,{trigger:function(t,n,i,o){var a,s,u,l,c,p,d,h,v=[i||r],m=f.call(t,"type")?t.type:t,x=f.call(t,"namespace")?t.namespace.split("."):[];if(s=h=u=i=i||r,3!==i.nodeType&&8!==i.nodeType&&!wt.test(m+w.event.triggered)&&(m.indexOf(".")>-1&&(m=(x=m.split(".")).shift(),x.sort()),c=m.indexOf(":")<0&&"on"+m,t=t[w.expando]?t:new w.Event(m,"object"==typeof t&&t),t.isTrigger=o?2:3,t.namespace=x.join("."),t.rnamespace=t.namespace?new RegExp("(^|\\.)"+x.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=i),n=null==n?[t]:w.makeArray(n,[t]),d=w.event.special[m]||{},o||!d.trigger||!1!==d.trigger.apply(i,n))){if(!o&&!d.noBubble&&!y(i)){for(l=d.delegateType||m,wt.test(l+m)||(s=s.parentNode);s;s=s.parentNode)v.push(s),u=s;u===(i.ownerDocument||r)&&v.push(u.defaultView||u.parentWindow||e)}a=0;while((s=v[a++])&&!t.isPropagationStopped())h=s,t.type=a>1?l:d.bindType||m,(p=(J.get(s,"events")||{})[t.type]&&J.get(s,"handle"))&&p.apply(s,n),(p=c&&s[c])&&p.apply&&Y(s)&&(t.result=p.apply(s,n),!1===t.result&&t.preventDefault());return t.type=m,o||t.isDefaultPrevented()||d._default&&!1!==d._default.apply(v.pop(),n)||!Y(i)||c&&g(i[m])&&!y(i)&&((u=i[c])&&(i[c]=null),w.event.triggered=m,t.isPropagationStopped()&&h.addEventListener(m,Tt),i[m](),t.isPropagationStopped()&&h.removeEventListener(m,Tt),w.event.triggered=void 0,u&&(i[c]=u)),t.result}},simulate:function(e,t,n){var r=w.extend(new w.Event,n,{type:e,isSimulated:!0});w.event.trigger(r,null,t)}}),w.fn.extend({trigger:function(e,t){return this.each(function(){w.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return w.event.trigger(e,t,n,!0)}}),h.focusin||w.each({focus:"focusin",blur:"focusout"},function(e,t){var n=function(e){w.event.simulate(t,e.target,w.event.fix(e))};w.event.special[t]={setup:function(){var r=this.ownerDocument||this,i=J.access(r,t);i||r.addEventListener(e,n,!0),J.access(r,t,(i||0)+1)},teardown:function(){var r=this.ownerDocument||this,i=J.access(r,t)-1;i?J.access(r,t,i):(r.removeEventListener(e,n,!0),J.remove(r,t))}}});var Ct=e.location,Et=Date.now(),kt=/\?/;w.parseXML=function(t){var n;if(!t||"string"!=typeof t)return null;try{n=(new e.DOMParser).parseFromString(t,"text/xml")}catch(e){n=void 0}return n&&!n.getElementsByTagName("parsererror").length||w.error("Invalid XML: "+t),n};var St=/\[\]$/,Dt=/\r?\n/g,Nt=/^(?:submit|button|image|reset|file)$/i,At=/^(?:input|select|textarea|keygen)/i;function jt(e,t,n,r){var i;if(Array.isArray(t))w.each(t,function(t,i){n||St.test(e)?r(e,i):jt(e+"["+("object"==typeof i&&null!=i?t:"")+"]",i,n,r)});else if(n||"object"!==x(t))r(e,t);else for(i in t)jt(e+"["+i+"]",t[i],n,r)}w.param=function(e,t){var n,r=[],i=function(e,t){var n=g(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(Array.isArray(e)||e.jquery&&!w.isPlainObject(e))w.each(e,function(){i(this.name,this.value)});else for(n in e)jt(n,e[n],t,i);return r.join("&")},w.fn.extend({serialize:function(){return w.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=w.prop(this,"elements");return e?w.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!w(this).is(":disabled")&&At.test(this.nodeName)&&!Nt.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=w(this).val();return null==n?null:Array.isArray(n)?w.map(n,function(e){return{name:t.name,value:e.replace(Dt,"\r\n")}}):{name:t.name,value:n.replace(Dt,"\r\n")}}).get()}});var qt=/%20/g,Lt=/#.*$/,Ht=/([?&])_=[^&]*/,Ot=/^(.*?):[ \t]*([^\r\n]*)$/gm,Pt=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Mt=/^(?:GET|HEAD)$/,Rt=/^\/\//,It={},Wt={},$t="*/".concat("*"),Bt=r.createElement("a");Bt.href=Ct.href;function Ft(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,o=t.toLowerCase().match(M)||[];if(g(n))while(r=o[i++])"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function _t(e,t,n,r){var i={},o=e===Wt;function a(s){var u;return i[s]=!0,w.each(e[s]||[],function(e,s){var l=s(t,n,r);return"string"!=typeof l||o||i[l]?o?!(u=l):void 0:(t.dataTypes.unshift(l),a(l),!1)}),u}return a(t.dataTypes[0])||!i["*"]&&a("*")}function zt(e,t){var n,r,i=w.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&w.extend(!0,e,r),e}function Xt(e,t,n){var r,i,o,a,s=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}function Ut(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}w.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Ct.href,type:"GET",isLocal:Pt.test(Ct.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":$t,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":w.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?zt(zt(e,w.ajaxSettings),t):zt(w.ajaxSettings,e)},ajaxPrefilter:Ft(It),ajaxTransport:Ft(Wt),ajax:function(t,n){"object"==typeof t&&(n=t,t=void 0),n=n||{};var i,o,a,s,u,l,c,f,p,d,h=w.ajaxSetup({},n),g=h.context||h,y=h.context&&(g.nodeType||g.jquery)?w(g):w.event,v=w.Deferred(),m=w.Callbacks("once memory"),x=h.statusCode||{},b={},T={},C="canceled",E={readyState:0,getResponseHeader:function(e){var t;if(c){if(!s){s={};while(t=Ot.exec(a))s[t[1].toLowerCase()]=t[2]}t=s[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return c?a:null},setRequestHeader:function(e,t){return null==c&&(e=T[e.toLowerCase()]=T[e.toLowerCase()]||e,b[e]=t),this},overrideMimeType:function(e){return null==c&&(h.mimeType=e),this},statusCode:function(e){var t;if(e)if(c)E.always(e[E.status]);else for(t in e)x[t]=[x[t],e[t]];return this},abort:function(e){var t=e||C;return i&&i.abort(t),k(0,t),this}};if(v.promise(E),h.url=((t||h.url||Ct.href)+"").replace(Rt,Ct.protocol+"//"),h.type=n.method||n.type||h.method||h.type,h.dataTypes=(h.dataType||"*").toLowerCase().match(M)||[""],null==h.crossDomain){l=r.createElement("a");try{l.href=h.url,l.href=l.href,h.crossDomain=Bt.protocol+"//"+Bt.host!=l.protocol+"//"+l.host}catch(e){h.crossDomain=!0}}if(h.data&&h.processData&&"string"!=typeof h.data&&(h.data=w.param(h.data,h.traditional)),_t(It,h,n,E),c)return E;(f=w.event&&h.global)&&0==w.active++&&w.event.trigger("ajaxStart"),h.type=h.type.toUpperCase(),h.hasContent=!Mt.test(h.type),o=h.url.replace(Lt,""),h.hasContent?h.data&&h.processData&&0===(h.contentType||"").indexOf("application/x-www-form-urlencoded")&&(h.data=h.data.replace(qt,"+")):(d=h.url.slice(o.length),h.data&&(h.processData||"string"==typeof h.data)&&(o+=(kt.test(o)?"&":"?")+h.data,delete h.data),!1===h.cache&&(o=o.replace(Ht,"$1"),d=(kt.test(o)?"&":"?")+"_="+Et+++d),h.url=o+d),h.ifModified&&(w.lastModified[o]&&E.setRequestHeader("If-Modified-Since",w.lastModified[o]),w.etag[o]&&E.setRequestHeader("If-None-Match",w.etag[o])),(h.data&&h.hasContent&&!1!==h.contentType||n.contentType)&&E.setRequestHeader("Content-Type",h.contentType),E.setRequestHeader("Accept",h.dataTypes[0]&&h.accepts[h.dataTypes[0]]?h.accepts[h.dataTypes[0]]+("*"!==h.dataTypes[0]?", "+$t+"; q=0.01":""):h.accepts["*"]);for(p in h.headers)E.setRequestHeader(p,h.headers[p]);if(h.beforeSend&&(!1===h.beforeSend.call(g,E,h)||c))return E.abort();if(C="abort",m.add(h.complete),E.done(h.success),E.fail(h.error),i=_t(Wt,h,n,E)){if(E.readyState=1,f&&y.trigger("ajaxSend",[E,h]),c)return E;h.async&&h.timeout>0&&(u=e.setTimeout(function(){E.abort("timeout")},h.timeout));try{c=!1,i.send(b,k)}catch(e){if(c)throw e;k(-1,e)}}else k(-1,"No Transport");function k(t,n,r,s){var l,p,d,b,T,C=n;c||(c=!0,u&&e.clearTimeout(u),i=void 0,a=s||"",E.readyState=t>0?4:0,l=t>=200&&t<300||304===t,r&&(b=Xt(h,E,r)),b=Ut(h,b,E,l),l?(h.ifModified&&((T=E.getResponseHeader("Last-Modified"))&&(w.lastModified[o]=T),(T=E.getResponseHeader("etag"))&&(w.etag[o]=T)),204===t||"HEAD"===h.type?C="nocontent":304===t?C="notmodified":(C=b.state,p=b.data,l=!(d=b.error))):(d=C,!t&&C||(C="error",t<0&&(t=0))),E.status=t,E.statusText=(n||C)+"",l?v.resolveWith(g,[p,C,E]):v.rejectWith(g,[E,C,d]),E.statusCode(x),x=void 0,f&&y.trigger(l?"ajaxSuccess":"ajaxError",[E,h,l?p:d]),m.fireWith(g,[E,C]),f&&(y.trigger("ajaxComplete",[E,h]),--w.active||w.event.trigger("ajaxStop")))}return E},getJSON:function(e,t,n){return w.get(e,t,n,"json")},getScript:function(e,t){return w.get(e,void 0,t,"script")}}),w.each(["get","post"],function(e,t){w[t]=function(e,n,r,i){return g(n)&&(i=i||r,r=n,n=void 0),w.ajax(w.extend({url:e,type:t,dataType:i,data:n,success:r},w.isPlainObject(e)&&e))}}),w._evalUrl=function(e){return w.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,"throws":!0})},w.fn.extend({wrapAll:function(e){var t;return this[0]&&(g(e)&&(e=e.call(this[0])),t=w(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(e){return g(e)?this.each(function(t){w(this).wrapInner(e.call(this,t))}):this.each(function(){var t=w(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=g(e);return this.each(function(n){w(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(e){return this.parent(e).not("body").each(function(){w(this).replaceWith(this.childNodes)}),this}}),w.expr.pseudos.hidden=function(e){return!w.expr.pseudos.visible(e)},w.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},w.ajaxSettings.xhr=function(){try{return new e.XMLHttpRequest}catch(e){}};var Vt={0:200,1223:204},Gt=w.ajaxSettings.xhr();h.cors=!!Gt&&"withCredentials"in Gt,h.ajax=Gt=!!Gt,w.ajaxTransport(function(t){var n,r;if(h.cors||Gt&&!t.crossDomain)return{send:function(i,o){var a,s=t.xhr();if(s.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(a in t.xhrFields)s[a]=t.xhrFields[a];t.mimeType&&s.overrideMimeType&&s.overrideMimeType(t.mimeType),t.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest");for(a in i)s.setRequestHeader(a,i[a]);n=function(e){return function(){n&&(n=r=s.onload=s.onerror=s.onabort=s.ontimeout=s.onreadystatechange=null,"abort"===e?s.abort():"error"===e?"number"!=typeof s.status?o(0,"error"):o(s.status,s.statusText):o(Vt[s.status]||s.status,s.statusText,"text"!==(s.responseType||"text")||"string"!=typeof s.responseText?{binary:s.response}:{text:s.responseText},s.getAllResponseHeaders()))}},s.onload=n(),r=s.onerror=s.ontimeout=n("error"),void 0!==s.onabort?s.onabort=r:s.onreadystatechange=function(){4===s.readyState&&e.setTimeout(function(){n&&r()})},n=n("abort");try{s.send(t.hasContent&&t.data||null)}catch(e){if(n)throw e}},abort:function(){n&&n()}}}),w.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),w.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return w.globalEval(e),e}}}),w.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),w.ajaxTransport("script",function(e){if(e.crossDomain){var t,n;return{send:function(i,o){t=w(" - - - - - diff --git a/paragonik-backend/vendor/phpunit/php-code-coverage/tests/_files/Report/HTML/CoverageForBankAccount/dashboard.html b/paragonik-backend/vendor/phpunit/php-code-coverage/tests/_files/Report/HTML/CoverageForBankAccount/dashboard.html deleted file mode 100644 index 6605ff9..0000000 --- a/paragonik-backend/vendor/phpunit/php-code-coverage/tests/_files/Report/HTML/CoverageForBankAccount/dashboard.html +++ /dev/null @@ -1,287 +0,0 @@ - - - - - Dashboard for %s - - - - - - - -
-
-
-
- -
-
-
-
-
-
-
-

Classes

-
-
-
-
-

Coverage Distribution

-
- -
-
-
-

Complexity

-
- -
-
-
-
-
-

Insufficient Coverage

-
- - - - - - - - - - - -
ClassCoverage
BankAccount50%
-
-
-
-

Project Risks

-
- - - - - - - - - - - -
ClassCRAP
BankAccount8
-
-
-
-
-
-

Methods

-
-
-
-
-

Coverage Distribution

-
- -
-
-
-

Complexity

-
- -
-
-
-
-
-

Insufficient Coverage

-
- - - - - - - - - - - -
MethodCoverage
setBalance0%
-
-
-
-

Project Risks

-
- - - - - - - - - - - -
MethodCRAP
setBalance6
-
-
-
- -
- - - - - - diff --git a/paragonik-backend/vendor/phpunit/php-code-coverage/tests/_files/Report/HTML/CoverageForBankAccount/index.html b/paragonik-backend/vendor/phpunit/php-code-coverage/tests/_files/Report/HTML/CoverageForBankAccount/index.html deleted file mode 100644 index bd0e78a..0000000 --- a/paragonik-backend/vendor/phpunit/php-code-coverage/tests/_files/Report/HTML/CoverageForBankAccount/index.html +++ /dev/null @@ -1,118 +0,0 @@ - - - - - Code Coverage for %s - - - - - - - -
-
-
-
- -
-
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 
Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
-
- 50.00% covered (danger) -
-
-
50.00%
5 / 10
-
- 75.00% covered (warning) -
-
-
75.00%
3 / 4
-
- 0.00% covered (danger) -
-
-
0.00%
0 / 1
BankAccount.php
-
- 50.00% covered (danger) -
-
-
50.00%
5 / 10
-
- 75.00% covered (warning) -
-
-
75.00%
3 / 4
-
- 0.00% covered (danger) -
-
-
0.00%
0 / 1
-
-
-
-

Legend

-

- Low: 0% to 50% - Medium: 50% to 90% - High: 90% to 100% -

-

- Generated by php-code-coverage %s using %s at %s. -

-
-
- - diff --git a/paragonik-backend/vendor/phpunit/php-code-coverage/tests/_files/Report/HTML/CoverageForClassWithAnonymousFunction/dashboard.html b/paragonik-backend/vendor/phpunit/php-code-coverage/tests/_files/Report/HTML/CoverageForClassWithAnonymousFunction/dashboard.html deleted file mode 100644 index 07f7eae..0000000 --- a/paragonik-backend/vendor/phpunit/php-code-coverage/tests/_files/Report/HTML/CoverageForClassWithAnonymousFunction/dashboard.html +++ /dev/null @@ -1,285 +0,0 @@ - - - - - Dashboard for %s - - - - - - - -
-
-
-
- -
-
-
-
-
-
-
-

Classes

-
-
-
-
-

Coverage Distribution

-
- -
-
-
-

Complexity

-
- -
-
-
-
-
-

Insufficient Coverage

-
- - - - - - - - - - - -
ClassCoverage
CoveredClassWithAnonymousFunctionInStaticMethod87%
-
-
-
-

Project Risks

-
- - - - - - - - - - -
ClassCRAP
-
-
-
-
-
-

Methods

-
-
-
-
-

Coverage Distribution

-
- -
-
-
-

Complexity

-
- -
-
-
-
-
-

Insufficient Coverage

-
- - - - - - - - - - - -
MethodCoverage
runAnonymous87%
-
-
-
-

Project Risks

-
- - - - - - - - - - -
MethodCRAP
-
-
-
- -
- - - - - - diff --git a/paragonik-backend/vendor/phpunit/php-code-coverage/tests/_files/Report/HTML/CoverageForClassWithAnonymousFunction/index.html b/paragonik-backend/vendor/phpunit/php-code-coverage/tests/_files/Report/HTML/CoverageForClassWithAnonymousFunction/index.html deleted file mode 100644 index 90a15c2..0000000 --- a/paragonik-backend/vendor/phpunit/php-code-coverage/tests/_files/Report/HTML/CoverageForClassWithAnonymousFunction/index.html +++ /dev/null @@ -1,118 +0,0 @@ - - - - - Code Coverage for %s - - - - - - - -
-
-
-
- -
-
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 
Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
-
- 87.50% covered (warning) -
-
-
87.50%
7 / 8
-
- 0.00% covered (danger) -
-
-
0.00%
0 / 1
-
- 0.00% covered (danger) -
-
-
0.00%
0 / 1
source_with_class_and_anonymous_function.php
-
- 87.50% covered (warning) -
-
-
87.50%
7 / 8
-
- 0.00% covered (danger) -
-
-
0.00%
0 / 1
-
- 0.00% covered (danger) -
-
-
0.00%
0 / 1
-
-
-
-

Legend

-

- Low: 0% to 50% - Medium: 50% to 90% - High: 90% to 100% -

-

- Generated by php-code-coverage %s using %s at %s. -

-
-
- - diff --git a/paragonik-backend/vendor/phpunit/php-code-coverage/tests/_files/Report/HTML/CoverageForClassWithAnonymousFunction/source_with_class_and_anonymous_function.php.html b/paragonik-backend/vendor/phpunit/php-code-coverage/tests/_files/Report/HTML/CoverageForClassWithAnonymousFunction/source_with_class_and_anonymous_function.php.html deleted file mode 100644 index 85c4316..0000000 --- a/paragonik-backend/vendor/phpunit/php-code-coverage/tests/_files/Report/HTML/CoverageForClassWithAnonymousFunction/source_with_class_and_anonymous_function.php.html +++ /dev/null @@ -1,172 +0,0 @@ - - - - - Code Coverage for %s%esource_with_class_and_anonymous_function.php - - - - - - - -
-
-
-
- -
-
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 
Code Coverage
 
Classes and Traits
Functions and Methods
Lines
Total
-
- 0.00% covered (danger) -
-
-
0.00%
0 / 1
-
- 0.00% covered (danger) -
-
-
0.00%
0 / 1
CRAP
-
- 87.50% covered (warning) -
-
-
87.50%
7 / 8
CoveredClassWithAnonymousFunctionInStaticMethod
-
- 0.00% covered (danger) -
-
-
0.00%
0 / 1
-
- 0.00% covered (danger) -
-
-
0.00%
0 / 1
1.00
-
- 87.50% covered (warning) -
-
-
87.50%
7 / 8
 runAnonymous
-
- 0.00% covered (danger) -
-
-
0.00%
0 / 1
1.00
-
- 87.50% covered (warning) -
-
-
87.50%
7 / 8
-
- - - - - - - - - - - - - - - - - - - - - - - -
<?php
class CoveredClassWithAnonymousFunctionInStaticMethod
{
    public static function runAnonymous()
    {
        $filter = ['abc124', 'abc123', '123'];
        array_walk(
            $filter,
            function (&$val, $key) {
                $val = preg_replace('|[^0-9]|', '', $val);
            }
        );
        // Should be covered
        $extravar = true;
    }
}
- -
- - - - - - diff --git a/paragonik-backend/vendor/phpunit/php-code-coverage/tests/_files/Report/HTML/CoverageForFileWithIgnoredLines/dashboard.html b/paragonik-backend/vendor/phpunit/php-code-coverage/tests/_files/Report/HTML/CoverageForFileWithIgnoredLines/dashboard.html deleted file mode 100644 index 360409a..0000000 --- a/paragonik-backend/vendor/phpunit/php-code-coverage/tests/_files/Report/HTML/CoverageForFileWithIgnoredLines/dashboard.html +++ /dev/null @@ -1,283 +0,0 @@ - - - - - Dashboard for %s - - - - - - - -
-
-
-
- -
-
-
-
-
-
-
-

Classes

-
-
-
-
-

Coverage Distribution

-
- -
-
-
-

Complexity

-
- -
-
-
-
-
-

Insufficient Coverage

-
- - - - - - - - - - -
ClassCoverage
-
-
-
-

Project Risks

-
- - - - - - - - - - -
ClassCRAP
-
-
-
-
-
-

Methods

-
-
-
-
-

Coverage Distribution

-
- -
-
-
-

Complexity

-
- -
-
-
-
-
-

Insufficient Coverage

-
- - - - - - - - - - -
MethodCoverage
-
-
-
-

Project Risks

-
- - - - - - - - - - -
MethodCRAP
-
-
-
- -
- - - - - - diff --git a/paragonik-backend/vendor/phpunit/php-code-coverage/tests/_files/Report/HTML/CoverageForFileWithIgnoredLines/index.html b/paragonik-backend/vendor/phpunit/php-code-coverage/tests/_files/Report/HTML/CoverageForFileWithIgnoredLines/index.html deleted file mode 100644 index 8f55038..0000000 --- a/paragonik-backend/vendor/phpunit/php-code-coverage/tests/_files/Report/HTML/CoverageForFileWithIgnoredLines/index.html +++ /dev/null @@ -1,108 +0,0 @@ - - - - - Code Coverage for %s - - - - - - - -
-
-
-
- -
-
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 
Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
-
- 50.00% covered (danger) -
-
-
50.00%
1 / 2
-
- 100.00% covered (success) -
-
-
100.00%
1 / 1
n/a
0 / 0
source_with_ignore.php
-
- 50.00% covered (danger) -
-
-
50.00%
1 / 2
-
- 100.00% covered (success) -
-
-
100.00%
1 / 1
n/a
0 / 0
-
-
-
-

Legend

-

- Low: 0% to 50% - Medium: 50% to 90% - High: 90% to 100% -

-

- Generated by php-code-coverage %s using %s at %s. -

-
-
- - diff --git a/paragonik-backend/vendor/phpunit/php-code-coverage/tests/_files/Report/HTML/CoverageForFileWithIgnoredLines/source_with_ignore.php.html b/paragonik-backend/vendor/phpunit/php-code-coverage/tests/_files/Report/HTML/CoverageForFileWithIgnoredLines/source_with_ignore.php.html deleted file mode 100644 index 0949eda..0000000 --- a/paragonik-backend/vendor/phpunit/php-code-coverage/tests/_files/Report/HTML/CoverageForFileWithIgnoredLines/source_with_ignore.php.html +++ /dev/null @@ -1,196 +0,0 @@ - - - - - Code Coverage for %s/source_with_ignore.php - - - - - - - -
-
-
-
- -
-
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 
Code Coverage
 
Classes and Traits
Functions and Methods
Lines
Total
n/a
0 / 0
-
- 100.00% covered (success) -
-
-
100.00%
1 / 1
CRAP
-
- 50.00% covered (danger) -
-
-
50.00%
1 / 2
baz
n/a
0 / 0
1
n/a
0 / 0
Foo
n/a
0 / 0
n/a
0 / 0
1
n/a
0 / 0
 bar
n/a
0 / 0
1
n/a
0 / 0
Bar
n/a
0 / 0
n/a
0 / 0
1
n/a
0 / 0
 foo
n/a
0 / 0
1
n/a
0 / 0
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
<?php
if ($neverHappens) {
    // @codeCoverageIgnoreStart
    print '*';
    // @codeCoverageIgnoreEnd
}
/**
 * @codeCoverageIgnore
 */
class Foo
{
    public function bar()
    {
    }
}
class Bar
{
    /**
     * @codeCoverageIgnore
     */
    public function foo()
    {
    }
}
function baz()
{
    print '*'; // @codeCoverageIgnore
}
interface Bor
{
    public function foo();
}
- -
- - - - - - diff --git a/paragonik-backend/vendor/phpunit/php-code-coverage/tests/_files/Report/XML/CoverageForBankAccount/BankAccount.php.xml b/paragonik-backend/vendor/phpunit/php-code-coverage/tests/_files/Report/XML/CoverageForBankAccount/BankAccount.php.xml deleted file mode 100644 index 359f6a3..0000000 --- a/paragonik-backend/vendor/phpunit/php-code-coverage/tests/_files/Report/XML/CoverageForBankAccount/BankAccount.php.xml +++ /dev/null @@ -1,262 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - <?php - - - class - - BankAccount - - - { - - - - protected - - $balance - - = - - 0 - ; - - - - - public - - function - - getBalance - ( - ) - - - - { - - - - return - - $this - -> - balance - ; - - - - } - - - - - protected - - function - - setBalance - ( - $balance - ) - - - - { - - - - if - - ( - $balance - - >= - - 0 - ) - - { - - - - $this - -> - balance - - = - - $balance - ; - - - - } - - else - - { - - - - throw - - new - - RuntimeException - ; - - - - } - - - - } - - - - - public - - function - - depositMoney - ( - $balance - ) - - - - { - - - - $this - -> - setBalance - ( - $this - -> - getBalance - ( - ) - - + - - $balance - ) - ; - - - - - return - - $this - -> - getBalance - ( - ) - ; - - - - } - - - - - public - - function - - withdrawMoney - ( - $balance - ) - - - - { - - - - $this - -> - setBalance - ( - $this - -> - getBalance - ( - ) - - - - - $balance - ) - ; - - - - - return - - $this - -> - getBalance - ( - ) - ; - - - - } - - - } - - - - - diff --git a/paragonik-backend/vendor/phpunit/php-code-coverage/tests/_files/Report/XML/CoverageForBankAccount/index.xml b/paragonik-backend/vendor/phpunit/php-code-coverage/tests/_files/Report/XML/CoverageForBankAccount/index.xml deleted file mode 100644 index 3d73a56..0000000 --- a/paragonik-backend/vendor/phpunit/php-code-coverage/tests/_files/Report/XML/CoverageForBankAccount/index.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/paragonik-backend/vendor/phpunit/php-code-coverage/tests/_files/Report/XML/CoverageForClassWithAnonymousFunction/index.xml b/paragonik-backend/vendor/phpunit/php-code-coverage/tests/_files/Report/XML/CoverageForClassWithAnonymousFunction/index.xml deleted file mode 100644 index a2e6ad4..0000000 --- a/paragonik-backend/vendor/phpunit/php-code-coverage/tests/_files/Report/XML/CoverageForClassWithAnonymousFunction/index.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/paragonik-backend/vendor/phpunit/php-code-coverage/tests/_files/Report/XML/CoverageForClassWithAnonymousFunction/source_with_class_and_anonymous_function.php.xml b/paragonik-backend/vendor/phpunit/php-code-coverage/tests/_files/Report/XML/CoverageForClassWithAnonymousFunction/source_with_class_and_anonymous_function.php.xml deleted file mode 100644 index a413174..0000000 --- a/paragonik-backend/vendor/phpunit/php-code-coverage/tests/_files/Report/XML/CoverageForClassWithAnonymousFunction/source_with_class_and_anonymous_function.php.xml +++ /dev/null @@ -1,161 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - <?php - - - - class - - CoveredClassWithAnonymousFunctionInStaticMethod - - - { - - - - public - - static - - function - - runAnonymous - ( - ) - - - - { - - - - $filter - - = - - [ - 'abc124' - , - - 'abc123' - , - - '123' - ] - ; - - - - - array_walk - ( - - - - $filter - , - - - - function - - ( - & - $val - , - - $key - ) - - { - - - - $val - - = - - preg_replace - ( - '|[^0-9]|' - , - - '' - , - - $val - ) - ; - - - - } - - - - ) - ; - - - - - // Should be covered - - - - $extravar - - = - - true - ; - - - - } - - - } - - - - - diff --git a/paragonik-backend/vendor/phpunit/php-code-coverage/tests/_files/Report/XML/CoverageForFileWithIgnoredLines/index.xml b/paragonik-backend/vendor/phpunit/php-code-coverage/tests/_files/Report/XML/CoverageForFileWithIgnoredLines/index.xml deleted file mode 100644 index 1fe281e..0000000 --- a/paragonik-backend/vendor/phpunit/php-code-coverage/tests/_files/Report/XML/CoverageForFileWithIgnoredLines/index.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/paragonik-backend/vendor/phpunit/php-code-coverage/tests/_files/Report/XML/CoverageForFileWithIgnoredLines/source_with_ignore.php.xml b/paragonik-backend/vendor/phpunit/php-code-coverage/tests/_files/Report/XML/CoverageForFileWithIgnoredLines/source_with_ignore.php.xml deleted file mode 100644 index 5ff1d6b..0000000 --- a/paragonik-backend/vendor/phpunit/php-code-coverage/tests/_files/Report/XML/CoverageForFileWithIgnoredLines/source_with_ignore.php.xml +++ /dev/null @@ -1,187 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - <?php - - - if - - ( - $neverHappens - ) - - { - - - - // @codeCoverageIgnoreStart - - - - print - - '*' - ; - - - - // @codeCoverageIgnoreEnd - - - } - - - - /** - - - * @codeCoverageIgnore - - - */ - - - class - - Foo - - - { - - - - public - - function - - bar - ( - ) - - - - { - - - - } - - - } - - - - class - - Bar - - - { - - - - /** - - - * @codeCoverageIgnore - - - */ - - - - public - - function - - foo - ( - ) - - - - { - - - - } - - - } - - - - function - - baz - ( - ) - - - { - - - - print - - '*' - ; - - // @codeCoverageIgnore - - - } - - - - interface - - Bor - - - { - - - - public - - function - - foo - ( - ) - ; - - - - } - - - - - diff --git a/paragonik-backend/vendor/phpunit/php-code-coverage/tests/_files/class-with-anonymous-function-clover.xml b/paragonik-backend/vendor/phpunit/php-code-coverage/tests/_files/class-with-anonymous-function-clover.xml deleted file mode 100644 index 008db55..0000000 --- a/paragonik-backend/vendor/phpunit/php-code-coverage/tests/_files/class-with-anonymous-function-clover.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/paragonik-backend/vendor/phpunit/php-code-coverage/tests/_files/class-with-anonymous-function-crap4j.xml b/paragonik-backend/vendor/phpunit/php-code-coverage/tests/_files/class-with-anonymous-function-crap4j.xml deleted file mode 100644 index 5bd2535..0000000 --- a/paragonik-backend/vendor/phpunit/php-code-coverage/tests/_files/class-with-anonymous-function-crap4j.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - CoverageForClassWithAnonymousFunction - %s - - Method Crap Stats - 1 - 0 - 0 - 1 - 0 - - - - global - CoveredClassWithAnonymousFunctionInStaticMethod - runAnonymous - runAnonymous() - runAnonymous() - 1 - 1 - 87.5 - 0 - - - diff --git a/paragonik-backend/vendor/phpunit/php-code-coverage/tests/_files/class-with-anonymous-function-text.txt b/paragonik-backend/vendor/phpunit/php-code-coverage/tests/_files/class-with-anonymous-function-text.txt deleted file mode 100644 index e4204cc..0000000 --- a/paragonik-backend/vendor/phpunit/php-code-coverage/tests/_files/class-with-anonymous-function-text.txt +++ /dev/null @@ -1,12 +0,0 @@ - - -Code Coverage Report: - %s - - Summary: - Classes: 0.00% (0/1) - Methods: 0.00% (0/1) - Lines: 87.50% (7/8) - -CoveredClassWithAnonymousFunctionInStaticMethod - Methods: 0.00% ( 0/ 1) Lines: 87.50% ( 7/ 8) diff --git a/paragonik-backend/vendor/phpunit/php-code-coverage/tests/_files/ignored-lines-clover.xml b/paragonik-backend/vendor/phpunit/php-code-coverage/tests/_files/ignored-lines-clover.xml deleted file mode 100644 index efd3801..0000000 --- a/paragonik-backend/vendor/phpunit/php-code-coverage/tests/_files/ignored-lines-clover.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/paragonik-backend/vendor/phpunit/php-code-coverage/tests/_files/ignored-lines-crap4j.xml b/paragonik-backend/vendor/phpunit/php-code-coverage/tests/_files/ignored-lines-crap4j.xml deleted file mode 100644 index 2607b59..0000000 --- a/paragonik-backend/vendor/phpunit/php-code-coverage/tests/_files/ignored-lines-crap4j.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - CoverageForFileWithIgnoredLines - %s - - Method Crap Stats - 2 - 0 - 0 - 2 - 0 - - - - global - Foo - bar - bar() - bar() - 1 - 1 - 100 - 0 - - - global - Bar - foo - foo() - foo() - 1 - 1 - 100 - 0 - - - diff --git a/paragonik-backend/vendor/phpunit/php-code-coverage/tests/_files/ignored-lines-text.txt b/paragonik-backend/vendor/phpunit/php-code-coverage/tests/_files/ignored-lines-text.txt deleted file mode 100644 index 6e8e149..0000000 --- a/paragonik-backend/vendor/phpunit/php-code-coverage/tests/_files/ignored-lines-text.txt +++ /dev/null @@ -1,10 +0,0 @@ - - -Code Coverage Report:%w - %s -%w - Summary:%w - Classes: (0/0) - Methods: (0/0) - Lines: 50.00% (1/2) - diff --git a/paragonik-backend/vendor/phpunit/php-code-coverage/tests/_files/source_with_class_and_anonymous_function.php b/paragonik-backend/vendor/phpunit/php-code-coverage/tests/_files/source_with_class_and_anonymous_function.php deleted file mode 100644 index 72aa938..0000000 --- a/paragonik-backend/vendor/phpunit/php-code-coverage/tests/_files/source_with_class_and_anonymous_function.php +++ /dev/null @@ -1,19 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace SebastianBergmann\CodeCoverage\Report; - -use SebastianBergmann\CodeCoverage\Driver\Driver; -use SebastianBergmann\CodeCoverage\CodeCoverage; -use SebastianBergmann\CodeCoverage\Filter; -use SebastianBergmann\CodeCoverage\TestCase; -use SebastianBergmann\CodeCoverage\Node\Builder; - -class BuilderTest extends TestCase -{ - protected $factory; - - protected function setUp() - { - $this->factory = new Builder; - } - - public function testSomething() - { - $root = $this->getCoverageForBankAccount()->getReport(); - - $expectedPath = rtrim(TEST_FILES_PATH, DIRECTORY_SEPARATOR); - $this->assertEquals($expectedPath, $root->getName()); - $this->assertEquals($expectedPath, $root->getPath()); - $this->assertEquals(10, $root->getNumExecutableLines()); - $this->assertEquals(5, $root->getNumExecutedLines()); - $this->assertEquals(1, $root->getNumClasses()); - $this->assertEquals(0, $root->getNumTestedClasses()); - $this->assertEquals(4, $root->getNumMethods()); - $this->assertEquals(3, $root->getNumTestedMethods()); - $this->assertEquals('0.00%', $root->getTestedClassesPercent()); - $this->assertEquals('75.00%', $root->getTestedMethodsPercent()); - $this->assertEquals('50.00%', $root->getLineExecutedPercent()); - $this->assertEquals(0, $root->getNumFunctions()); - $this->assertEquals(0, $root->getNumTestedFunctions()); - $this->assertNull($root->getParent()); - $this->assertEquals([], $root->getDirectories()); - #$this->assertEquals(array(), $root->getFiles()); - #$this->assertEquals(array(), $root->getChildNodes()); - - $this->assertEquals( - [ - 'BankAccount' => [ - 'methods' => [ - 'getBalance' => [ - 'signature' => 'getBalance()', - 'startLine' => 6, - 'endLine' => 9, - 'executableLines' => 1, - 'executedLines' => 1, - 'ccn' => 1, - 'coverage' => 100, - 'crap' => '1', - 'link' => 'BankAccount.php.html#6', - 'methodName' => 'getBalance', - 'visibility' => 'public', - ], - 'setBalance' => [ - 'signature' => 'setBalance($balance)', - 'startLine' => 11, - 'endLine' => 18, - 'executableLines' => 5, - 'executedLines' => 0, - 'ccn' => 2, - 'coverage' => 0, - 'crap' => 6, - 'link' => 'BankAccount.php.html#11', - 'methodName' => 'setBalance', - 'visibility' => 'protected', - ], - 'depositMoney' => [ - 'signature' => 'depositMoney($balance)', - 'startLine' => 20, - 'endLine' => 25, - 'executableLines' => 2, - 'executedLines' => 2, - 'ccn' => 1, - 'coverage' => 100, - 'crap' => '1', - 'link' => 'BankAccount.php.html#20', - 'methodName' => 'depositMoney', - 'visibility' => 'public', - ], - 'withdrawMoney' => [ - 'signature' => 'withdrawMoney($balance)', - 'startLine' => 27, - 'endLine' => 32, - 'executableLines' => 2, - 'executedLines' => 2, - 'ccn' => 1, - 'coverage' => 100, - 'crap' => '1', - 'link' => 'BankAccount.php.html#27', - 'methodName' => 'withdrawMoney', - 'visibility' => 'public', - ], - ], - 'startLine' => 2, - 'executableLines' => 10, - 'executedLines' => 5, - 'ccn' => 5, - 'coverage' => 50, - 'crap' => '8.12', - 'package' => [ - 'namespace' => '', - 'fullPackage' => '', - 'category' => '', - 'package' => '', - 'subpackage' => '' - ], - 'link' => 'BankAccount.php.html#2', - 'className' => 'BankAccount' - ] - ], - $root->getClasses() - ); - - $this->assertEquals([], $root->getFunctions()); - } - - public function testNotCrashParsing() - { - $coverage = $this->getCoverageForCrashParsing(); - $root = $coverage->getReport(); - - $expectedPath = rtrim(TEST_FILES_PATH, DIRECTORY_SEPARATOR); - $this->assertEquals($expectedPath, $root->getName()); - $this->assertEquals($expectedPath, $root->getPath()); - $this->assertEquals(2, $root->getNumExecutableLines()); - $this->assertEquals(0, $root->getNumExecutedLines()); - $data = $coverage->getData(); - $expectedFile = $expectedPath . DIRECTORY_SEPARATOR . 'Crash.php'; - $this->assertSame([$expectedFile => [1 => [], 2 => []]], $data); - } - - public function testBuildDirectoryStructure() - { - $s = \DIRECTORY_SEPARATOR; - - $method = new \ReflectionMethod( - Builder::class, - 'buildDirectoryStructure' - ); - - $method->setAccessible(true); - - $this->assertEquals( - [ - 'src' => [ - 'Money.php/f' => [], - 'MoneyBag.php/f' => [], - 'Foo' => [ - 'Bar' => [ - 'Baz' => [ - 'Foo.php/f' => [], - ], - ], - ], - ] - ], - $method->invoke( - $this->factory, - [ - "src{$s}Money.php" => [], - "src{$s}MoneyBag.php" => [], - "src{$s}Foo{$s}Bar{$s}Baz{$s}Foo.php" => [], - ] - ) - ); - } - - /** - * @dataProvider reducePathsProvider - */ - public function testReducePaths($reducedPaths, $commonPath, $paths) - { - $method = new \ReflectionMethod( - Builder::class, - 'reducePaths' - ); - - $method->setAccessible(true); - - $_commonPath = $method->invokeArgs($this->factory, [&$paths]); - - $this->assertEquals($reducedPaths, $paths); - $this->assertEquals($commonPath, $_commonPath); - } - - public function reducePathsProvider() - { - $s = \DIRECTORY_SEPARATOR; - - yield [ - [], - ".", - [] - ]; - - $prefixes = ["C:$s", "$s"]; - - foreach($prefixes as $p){ - yield [ - [ - "Money.php" => [] - ], - "{$p}home{$s}sb{$s}Money{$s}", - [ - "{$p}home{$s}sb{$s}Money{$s}Money.php" => [] - ] - ]; - - yield [ - [ - "Money.php" => [], - "MoneyBag.php" => [] - ], - "{$p}home{$s}sb{$s}Money", - [ - "{$p}home{$s}sb{$s}Money{$s}Money.php" => [], - "{$p}home{$s}sb{$s}Money{$s}MoneyBag.php" => [] - ] - ]; - - yield [ - [ - "Money.php" => [], - "MoneyBag.php" => [], - "Cash.phar{$s}Cash.php" => [], - ], - "{$p}home{$s}sb{$s}Money", - [ - "{$p}home{$s}sb{$s}Money{$s}Money.php" => [], - "{$p}home{$s}sb{$s}Money{$s}MoneyBag.php" => [], - "phar://{$p}home{$s}sb{$s}Money{$s}Cash.phar{$s}Cash.php" => [], - ], - ]; - } - } -} diff --git a/paragonik-backend/vendor/phpunit/php-code-coverage/tests/tests/CloverTest.php b/paragonik-backend/vendor/phpunit/php-code-coverage/tests/tests/CloverTest.php deleted file mode 100644 index 85743ab..0000000 --- a/paragonik-backend/vendor/phpunit/php-code-coverage/tests/tests/CloverTest.php +++ /dev/null @@ -1,49 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace SebastianBergmann\CodeCoverage\Report; - -use SebastianBergmann\CodeCoverage\TestCase; - -/** - * @covers SebastianBergmann\CodeCoverage\Report\Clover - */ -class CloverTest extends TestCase -{ - public function testCloverForBankAccountTest() - { - $clover = new Clover; - - $this->assertStringMatchesFormatFile( - TEST_FILES_PATH . 'BankAccount-clover.xml', - $clover->process($this->getCoverageForBankAccount(), null, 'BankAccount') - ); - } - - public function testCloverForFileWithIgnoredLines() - { - $clover = new Clover; - - $this->assertStringMatchesFormatFile( - TEST_FILES_PATH . 'ignored-lines-clover.xml', - $clover->process($this->getCoverageForFileWithIgnoredLines()) - ); - } - - public function testCloverForClassWithAnonymousFunction() - { - $clover = new Clover; - - $this->assertStringMatchesFormatFile( - TEST_FILES_PATH . 'class-with-anonymous-function-clover.xml', - $clover->process($this->getCoverageForClassWithAnonymousFunction()) - ); - } -} diff --git a/paragonik-backend/vendor/phpunit/php-code-coverage/tests/tests/CodeCoverageTest.php b/paragonik-backend/vendor/phpunit/php-code-coverage/tests/tests/CodeCoverageTest.php deleted file mode 100644 index f217f8d..0000000 --- a/paragonik-backend/vendor/phpunit/php-code-coverage/tests/tests/CodeCoverageTest.php +++ /dev/null @@ -1,499 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace SebastianBergmann\CodeCoverage; - -require __DIR__ . '/../_files/BankAccount.php'; -require __DIR__ . '/../_files/BankAccountTest.php'; - -use SebastianBergmann\CodeCoverage\Driver\Driver; -use SebastianBergmann\CodeCoverage\Driver\PHPDBG; -use SebastianBergmann\CodeCoverage\Driver\Xdebug; - -/** - * @covers SebastianBergmann\CodeCoverage\CodeCoverage - */ -class CodeCoverageTest extends TestCase -{ - /** - * @var CodeCoverage - */ - private $coverage; - - protected function setUp() - { - $this->coverage = new CodeCoverage; - } - - public function testCanBeConstructedForXdebugWithoutGivenFilterObject() - { - if (PHP_SAPI == 'phpdbg') { - $this->markTestSkipped('Requires PHP CLI and Xdebug'); - } - - $this->assertAttributeInstanceOf( - Xdebug::class, - 'driver', - $this->coverage - ); - - $this->assertAttributeInstanceOf( - Filter::class, - 'filter', - $this->coverage - ); - } - - public function testCanBeConstructedForXdebugWithGivenFilterObject() - { - if (PHP_SAPI == 'phpdbg') { - $this->markTestSkipped('Requires PHP CLI and Xdebug'); - } - - $filter = new Filter; - $coverage = new CodeCoverage(null, $filter); - - $this->assertAttributeInstanceOf( - Xdebug::class, - 'driver', - $coverage - ); - - $this->assertSame($filter, $coverage->filter()); - } - - public function testCanBeConstructedForPhpdbgWithoutGivenFilterObject() - { - if (PHP_SAPI != 'phpdbg') { - $this->markTestSkipped('Requires PHPDBG'); - } - - $this->assertAttributeInstanceOf( - PHPDBG::class, - 'driver', - $this->coverage - ); - - $this->assertAttributeInstanceOf( - Filter::class, - 'filter', - $this->coverage - ); - } - - public function testCanBeConstructedForPhpdbgWithGivenFilterObject() - { - if (PHP_SAPI != 'phpdbg') { - $this->markTestSkipped('Requires PHPDBG'); - } - - $filter = new Filter; - $coverage = new CodeCoverage(null, $filter); - - $this->assertAttributeInstanceOf( - PHPDBG::class, - 'driver', - $coverage - ); - - $this->assertSame($filter, $coverage->filter()); - } - - public function testCannotStopWithInvalidSecondArgument() - { - $this->expectException(Exception::class); - - $this->coverage->stop(true, null); - } - - public function testCannotAppendWithInvalidArgument() - { - $this->expectException(Exception::class); - - $this->coverage->append([], null); - } - - public function testSetCacheTokens() - { - $this->coverage->setCacheTokens(true); - - $this->assertAttributeEquals(true, 'cacheTokens', $this->coverage); - } - - public function testSetCheckForUnintentionallyCoveredCode() - { - $this->coverage->setCheckForUnintentionallyCoveredCode(true); - - $this->assertAttributeEquals( - true, - 'checkForUnintentionallyCoveredCode', - $this->coverage - ); - } - - public function testSetCheckForMissingCoversAnnotation() - { - $this->coverage->setCheckForMissingCoversAnnotation(true); - - $this->assertAttributeEquals( - true, - 'checkForMissingCoversAnnotation', - $this->coverage - ); - } - - public function testSetForceCoversAnnotation() - { - $this->coverage->setForceCoversAnnotation(true); - - $this->assertAttributeEquals( - true, - 'forceCoversAnnotation', - $this->coverage - ); - } - - public function testSetCheckForUnexecutedCoveredCode() - { - $this->coverage->setCheckForUnexecutedCoveredCode(true); - - $this->assertAttributeEquals( - true, - 'checkForUnexecutedCoveredCode', - $this->coverage - ); - } - - public function testSetAddUncoveredFilesFromWhitelist() - { - $this->coverage->setAddUncoveredFilesFromWhitelist(true); - - $this->assertAttributeEquals( - true, - 'addUncoveredFilesFromWhitelist', - $this->coverage - ); - } - - public function testSetProcessUncoveredFilesFromWhitelist() - { - $this->coverage->setProcessUncoveredFilesFromWhitelist(true); - - $this->assertAttributeEquals( - true, - 'processUncoveredFilesFromWhitelist', - $this->coverage - ); - } - - public function testSetIgnoreDeprecatedCode() - { - $this->coverage->setIgnoreDeprecatedCode(true); - - $this->assertAttributeEquals( - true, - 'ignoreDeprecatedCode', - $this->coverage - ); - } - - public function testClear() - { - $this->coverage->clear(); - - $this->assertAttributeEquals(null, 'currentId', $this->coverage); - $this->assertAttributeEquals([], 'data', $this->coverage); - $this->assertAttributeEquals([], 'tests', $this->coverage); - } - - public function testCollect() - { - $coverage = $this->getCoverageForBankAccount(); - - $this->assertEquals( - $this->getExpectedDataArrayForBankAccount(), - $coverage->getData() - ); - - $this->assertEquals( - [ - 'BankAccountTest::testBalanceIsInitiallyZero' => ['size' => 'unknown', 'status' => -1], - 'BankAccountTest::testBalanceCannotBecomeNegative' => ['size' => 'unknown', 'status' => -1], - 'BankAccountTest::testBalanceCannotBecomeNegative2' => ['size' => 'unknown', 'status' => -1], - 'BankAccountTest::testDepositWithdrawMoney' => ['size' => 'unknown', 'status' => -1] - ], - $coverage->getTests() - ); - } - - public function testMerge() - { - $coverage = $this->getCoverageForBankAccountForFirstTwoTests(); - $coverage->merge($this->getCoverageForBankAccountForLastTwoTests()); - - $this->assertEquals( - $this->getExpectedDataArrayForBankAccount(), - $coverage->getData() - ); - } - - public function testMergeReverseOrder() - { - $coverage = $this->getCoverageForBankAccountForLastTwoTests(); - $coverage->merge($this->getCoverageForBankAccountForFirstTwoTests()); - - $this->assertEquals( - $this->getExpectedDataArrayForBankAccountInReverseOrder(), - $coverage->getData() - ); - } - - public function testMerge2() - { - $coverage = new CodeCoverage( - $this->createMock(Driver::class), - new Filter - ); - - $coverage->merge($this->getCoverageForBankAccount()); - - $this->assertEquals( - $this->getExpectedDataArrayForBankAccount(), - $coverage->getData() - ); - } - - public function testGetLinesToBeIgnored() - { - $this->assertEquals( - [ - 1, - 3, - 4, - 5, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 30, - 32, - 33, - 34, - 35, - 36, - 37, - 38 - ], - $this->getLinesToBeIgnored()->invoke( - $this->coverage, - TEST_FILES_PATH . 'source_with_ignore.php' - ) - ); - } - - public function testGetLinesToBeIgnored2() - { - $this->assertEquals( - [1, 5], - $this->getLinesToBeIgnored()->invoke( - $this->coverage, - TEST_FILES_PATH . 'source_without_ignore.php' - ) - ); - } - - public function testGetLinesToBeIgnored3() - { - $this->assertEquals( - [ - 1, - 2, - 3, - 4, - 5, - 8, - 11, - 15, - 16, - 19, - 20 - ], - $this->getLinesToBeIgnored()->invoke( - $this->coverage, - TEST_FILES_PATH . 'source_with_class_and_anonymous_function.php' - ) - ); - } - - public function testGetLinesToBeIgnoredOneLineAnnotations() - { - $this->assertEquals( - [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 14, - 15, - 16, - 18, - 20, - 21, - 23, - 24, - 25, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 37 - ], - $this->getLinesToBeIgnored()->invoke( - $this->coverage, - TEST_FILES_PATH . 'source_with_oneline_annotations.php' - ) - ); - } - - /** - * @return \ReflectionMethod - */ - private function getLinesToBeIgnored() - { - $getLinesToBeIgnored = new \ReflectionMethod( - 'SebastianBergmann\CodeCoverage\CodeCoverage', - 'getLinesToBeIgnored' - ); - - $getLinesToBeIgnored->setAccessible(true); - - return $getLinesToBeIgnored; - } - - public function testGetLinesToBeIgnoredWhenIgnoreIsDisabled() - { - $this->coverage->setDisableIgnoredLines(true); - - $this->assertEquals( - [ - 7, - 11, - 12, - 13, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 26, - 27, - 32, - 33, - 34, - 35, - 36, - 37 - ], - $this->getLinesToBeIgnored()->invoke( - $this->coverage, - TEST_FILES_PATH . 'source_with_ignore.php' - ) - ); - } - - public function testAppendThrowsExceptionIfCoveredCodeWasNotExecuted() - { - $this->coverage->filter()->addDirectoryToWhitelist(TEST_FILES_PATH); - $this->coverage->setCheckForUnexecutedCoveredCode(true); - - $data = [ - TEST_FILES_PATH . 'BankAccount.php' => [ - 29 => -1, - 31 => -1 - ] - ]; - - $linesToBeCovered = [ - TEST_FILES_PATH . 'BankAccount.php' => [ - 22, - 24 - ] - ]; - - $linesToBeUsed = []; - - $this->expectException(CoveredCodeNotExecutedException::class); - - $this->coverage->append($data, 'File1.php', true, $linesToBeCovered, $linesToBeUsed); - } - - public function testAppendThrowsExceptionIfUsedCodeWasNotExecuted() - { - $this->coverage->filter()->addDirectoryToWhitelist(TEST_FILES_PATH); - $this->coverage->setCheckForUnexecutedCoveredCode(true); - - $data = [ - TEST_FILES_PATH . 'BankAccount.php' => [ - 29 => -1, - 31 => -1 - ] - ]; - - $linesToBeCovered = [ - TEST_FILES_PATH . 'BankAccount.php' => [ - 29, - 31 - ] - ]; - - $linesToBeUsed = [ - TEST_FILES_PATH . 'BankAccount.php' => [ - 22, - 24 - ] - ]; - - $this->expectException(CoveredCodeNotExecutedException::class); - - $this->coverage->append($data, 'File1.php', true, $linesToBeCovered, $linesToBeUsed); - } -} diff --git a/paragonik-backend/vendor/phpunit/php-code-coverage/tests/tests/Crap4jTest.php b/paragonik-backend/vendor/phpunit/php-code-coverage/tests/tests/Crap4jTest.php deleted file mode 100644 index faa1ac5..0000000 --- a/paragonik-backend/vendor/phpunit/php-code-coverage/tests/tests/Crap4jTest.php +++ /dev/null @@ -1,49 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace SebastianBergmann\CodeCoverage\Report; - -use SebastianBergmann\CodeCoverage\TestCase; - -/** - * @covers SebastianBergmann\CodeCoverage\Report\Crap4j - */ -class Crap4jTest extends TestCase -{ - public function testForBankAccountTest() - { - $crap4j = new Crap4j; - - $this->assertStringMatchesFormatFile( - TEST_FILES_PATH . 'BankAccount-crap4j.xml', - $crap4j->process($this->getCoverageForBankAccount(), null, 'BankAccount') - ); - } - - public function testForFileWithIgnoredLines() - { - $crap4j = new Crap4j; - - $this->assertStringMatchesFormatFile( - TEST_FILES_PATH . 'ignored-lines-crap4j.xml', - $crap4j->process($this->getCoverageForFileWithIgnoredLines(), null, 'CoverageForFileWithIgnoredLines') - ); - } - - public function testForClassWithAnonymousFunction() - { - $crap4j = new Crap4j; - - $this->assertStringMatchesFormatFile( - TEST_FILES_PATH . 'class-with-anonymous-function-crap4j.xml', - $crap4j->process($this->getCoverageForClassWithAnonymousFunction(), null, 'CoverageForClassWithAnonymousFunction') - ); - } -} diff --git a/paragonik-backend/vendor/phpunit/php-code-coverage/tests/tests/FilterTest.php b/paragonik-backend/vendor/phpunit/php-code-coverage/tests/tests/FilterTest.php deleted file mode 100644 index 4c90fca..0000000 --- a/paragonik-backend/vendor/phpunit/php-code-coverage/tests/tests/FilterTest.php +++ /dev/null @@ -1,198 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace SebastianBergmann\CodeCoverage; - -use PHPUnit\Framework\TestCase; -use SebastianBergmann\FileIterator\Facade as FileIteratorFacade; - -class FilterTest extends TestCase -{ - /** - * @var Filter - */ - private $filter; - - /** - * @var array - */ - private $files = []; - - protected function setUp() - { - $this->filter = unserialize('O:37:"SebastianBergmann\CodeCoverage\Filter":0:{}'); - - $this->files = [ - TEST_FILES_PATH . 'BankAccount.php', - TEST_FILES_PATH . 'BankAccountTest.php', - TEST_FILES_PATH . 'CoverageClassExtendedTest.php', - TEST_FILES_PATH . 'CoverageClassTest.php', - TEST_FILES_PATH . 'CoverageFunctionParenthesesTest.php', - TEST_FILES_PATH . 'CoverageFunctionParenthesesWhitespaceTest.php', - TEST_FILES_PATH . 'CoverageFunctionTest.php', - TEST_FILES_PATH . 'CoverageMethodOneLineAnnotationTest.php', - TEST_FILES_PATH . 'CoverageMethodParenthesesTest.php', - TEST_FILES_PATH . 'CoverageMethodParenthesesWhitespaceTest.php', - TEST_FILES_PATH . 'CoverageMethodTest.php', - TEST_FILES_PATH . 'CoverageNoneTest.php', - TEST_FILES_PATH . 'CoverageNotPrivateTest.php', - TEST_FILES_PATH . 'CoverageNotProtectedTest.php', - TEST_FILES_PATH . 'CoverageNotPublicTest.php', - TEST_FILES_PATH . 'CoverageNothingTest.php', - TEST_FILES_PATH . 'CoveragePrivateTest.php', - TEST_FILES_PATH . 'CoverageProtectedTest.php', - TEST_FILES_PATH . 'CoveragePublicTest.php', - TEST_FILES_PATH . 'CoverageTwoDefaultClassAnnotations.php', - TEST_FILES_PATH . 'CoveredClass.php', - TEST_FILES_PATH . 'CoveredFunction.php', - TEST_FILES_PATH . 'Crash.php', - TEST_FILES_PATH . 'NamespaceCoverageClassExtendedTest.php', - TEST_FILES_PATH . 'NamespaceCoverageClassTest.php', - TEST_FILES_PATH . 'NamespaceCoverageCoversClassPublicTest.php', - TEST_FILES_PATH . 'NamespaceCoverageCoversClassTest.php', - TEST_FILES_PATH . 'NamespaceCoverageMethodTest.php', - TEST_FILES_PATH . 'NamespaceCoverageNotPrivateTest.php', - TEST_FILES_PATH . 'NamespaceCoverageNotProtectedTest.php', - TEST_FILES_PATH . 'NamespaceCoverageNotPublicTest.php', - TEST_FILES_PATH . 'NamespaceCoveragePrivateTest.php', - TEST_FILES_PATH . 'NamespaceCoverageProtectedTest.php', - TEST_FILES_PATH . 'NamespaceCoveragePublicTest.php', - TEST_FILES_PATH . 'NamespaceCoveredClass.php', - TEST_FILES_PATH . 'NotExistingCoveredElementTest.php', - TEST_FILES_PATH . 'source_with_class_and_anonymous_function.php', - TEST_FILES_PATH . 'source_with_ignore.php', - TEST_FILES_PATH . 'source_with_namespace.php', - TEST_FILES_PATH . 'source_with_oneline_annotations.php', - TEST_FILES_PATH . 'source_without_ignore.php', - TEST_FILES_PATH . 'source_without_namespace.php' - ]; - } - - /** - * @covers SebastianBergmann\CodeCoverage\Filter::addFileToWhitelist - * @covers SebastianBergmann\CodeCoverage\Filter::getWhitelist - */ - public function testAddingAFileToTheWhitelistWorks() - { - $this->filter->addFileToWhitelist($this->files[0]); - - $this->assertEquals( - [$this->files[0]], - $this->filter->getWhitelist() - ); - } - - /** - * @covers SebastianBergmann\CodeCoverage\Filter::removeFileFromWhitelist - * @covers SebastianBergmann\CodeCoverage\Filter::getWhitelist - */ - public function testRemovingAFileFromTheWhitelistWorks() - { - $this->filter->addFileToWhitelist($this->files[0]); - $this->filter->removeFileFromWhitelist($this->files[0]); - - $this->assertEquals([], $this->filter->getWhitelist()); - } - - /** - * @covers SebastianBergmann\CodeCoverage\Filter::addDirectoryToWhitelist - * @covers SebastianBergmann\CodeCoverage\Filter::getWhitelist - * @depends testAddingAFileToTheWhitelistWorks - */ - public function testAddingADirectoryToTheWhitelistWorks() - { - $this->filter->addDirectoryToWhitelist(TEST_FILES_PATH); - - $whitelist = $this->filter->getWhitelist(); - sort($whitelist); - - $this->assertEquals($this->files, $whitelist); - } - - /** - * @covers SebastianBergmann\CodeCoverage\Filter::addFilesToWhitelist - * @covers SebastianBergmann\CodeCoverage\Filter::getWhitelist - */ - public function testAddingFilesToTheWhitelistWorks() - { - $facade = new FileIteratorFacade; - - $files = $facade->getFilesAsArray( - TEST_FILES_PATH, - $suffixes = '.php' - ); - - $this->filter->addFilesToWhitelist($files); - - $whitelist = $this->filter->getWhitelist(); - sort($whitelist); - - $this->assertEquals($this->files, $whitelist); - } - - /** - * @covers SebastianBergmann\CodeCoverage\Filter::removeDirectoryFromWhitelist - * @covers SebastianBergmann\CodeCoverage\Filter::getWhitelist - * @depends testAddingADirectoryToTheWhitelistWorks - */ - public function testRemovingADirectoryFromTheWhitelistWorks() - { - $this->filter->addDirectoryToWhitelist(TEST_FILES_PATH); - $this->filter->removeDirectoryFromWhitelist(TEST_FILES_PATH); - - $this->assertEquals([], $this->filter->getWhitelist()); - } - - /** - * @covers SebastianBergmann\CodeCoverage\Filter::isFile - */ - public function testIsFile() - { - $this->assertFalse($this->filter->isFile('vfs://root/a/path')); - $this->assertFalse($this->filter->isFile('xdebug://debug-eval')); - $this->assertFalse($this->filter->isFile('eval()\'d code')); - $this->assertFalse($this->filter->isFile('runtime-created function')); - $this->assertFalse($this->filter->isFile('assert code')); - $this->assertFalse($this->filter->isFile('regexp code')); - $this->assertTrue($this->filter->isFile(__FILE__)); - } - - /** - * @covers SebastianBergmann\CodeCoverage\Filter::isFiltered - */ - public function testWhitelistedFileIsNotFiltered() - { - $this->filter->addFileToWhitelist($this->files[0]); - $this->assertFalse($this->filter->isFiltered($this->files[0])); - } - - /** - * @covers SebastianBergmann\CodeCoverage\Filter::isFiltered - */ - public function testNotWhitelistedFileIsFiltered() - { - $this->filter->addFileToWhitelist($this->files[0]); - $this->assertTrue($this->filter->isFiltered($this->files[1])); - } - - /** - * @covers SebastianBergmann\CodeCoverage\Filter::isFiltered - * @covers SebastianBergmann\CodeCoverage\Filter::isFile - */ - public function testNonFilesAreFiltered() - { - $this->assertTrue($this->filter->isFiltered('vfs://root/a/path')); - $this->assertTrue($this->filter->isFiltered('xdebug://debug-eval')); - $this->assertTrue($this->filter->isFiltered('eval()\'d code')); - $this->assertTrue($this->filter->isFiltered('runtime-created function')); - $this->assertTrue($this->filter->isFiltered('assert code')); - $this->assertTrue($this->filter->isFiltered('regexp code')); - } -} diff --git a/paragonik-backend/vendor/phpunit/php-code-coverage/tests/tests/HTMLTest.php b/paragonik-backend/vendor/phpunit/php-code-coverage/tests/tests/HTMLTest.php deleted file mode 100644 index 48353f0..0000000 --- a/paragonik-backend/vendor/phpunit/php-code-coverage/tests/tests/HTMLTest.php +++ /dev/null @@ -1,103 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace SebastianBergmann\CodeCoverage\Report\Html; - -use SebastianBergmann\CodeCoverage\TestCase; - -class HTMLTest extends TestCase -{ - private static $TEST_REPORT_PATH_SOURCE; - - public static function setUpBeforeClass() - { - parent::setUpBeforeClass(); - - self::$TEST_REPORT_PATH_SOURCE = TEST_FILES_PATH . 'Report' . DIRECTORY_SEPARATOR . 'HTML'; - } - - protected function tearDown() - { - parent::tearDown(); - - $tmpFilesIterator = new \RecursiveIteratorIterator( - new \RecursiveDirectoryIterator(self::$TEST_TMP_PATH, \RecursiveDirectoryIterator::SKIP_DOTS), - \RecursiveIteratorIterator::CHILD_FIRST - ); - - foreach ($tmpFilesIterator as $path => $fileInfo) { - /* @var \SplFileInfo $fileInfo */ - $pathname = $fileInfo->getPathname(); - $fileInfo->isDir() ? rmdir($pathname) : unlink($pathname); - } - } - - public function testForBankAccountTest() - { - $expectedFilesPath = self::$TEST_REPORT_PATH_SOURCE . DIRECTORY_SEPARATOR . 'CoverageForBankAccount'; - - $report = new Facade; - $report->process($this->getCoverageForBankAccount(), self::$TEST_TMP_PATH); - - $this->assertFilesEquals($expectedFilesPath, self::$TEST_TMP_PATH); - } - - public function testForFileWithIgnoredLines() - { - $expectedFilesPath = self::$TEST_REPORT_PATH_SOURCE . DIRECTORY_SEPARATOR . 'CoverageForFileWithIgnoredLines'; - - $report = new Facade; - $report->process($this->getCoverageForFileWithIgnoredLines(), self::$TEST_TMP_PATH); - - $this->assertFilesEquals($expectedFilesPath, self::$TEST_TMP_PATH); - } - - public function testForClassWithAnonymousFunction() - { - $expectedFilesPath = - self::$TEST_REPORT_PATH_SOURCE . DIRECTORY_SEPARATOR . 'CoverageForClassWithAnonymousFunction'; - - $report = new Facade; - $report->process($this->getCoverageForClassWithAnonymousFunction(), self::$TEST_TMP_PATH); - - $this->assertFilesEquals($expectedFilesPath, self::$TEST_TMP_PATH); - } - - /** - * @param string $expectedFilesPath - * @param string $actualFilesPath - */ - private function assertFilesEquals($expectedFilesPath, $actualFilesPath) - { - $expectedFilesIterator = new \FilesystemIterator($expectedFilesPath); - $actualFilesIterator = new \RegexIterator(new \FilesystemIterator($actualFilesPath), '/.html/'); - - $this->assertEquals( - iterator_count($expectedFilesIterator), - iterator_count($actualFilesIterator), - 'Generated files and expected files not match' - ); - - foreach ($expectedFilesIterator as $path => $fileInfo) { - /* @var \SplFileInfo $fileInfo */ - $filename = $fileInfo->getFilename(); - - $actualFile = $actualFilesPath . DIRECTORY_SEPARATOR . $filename; - - $this->assertFileExists($actualFile); - - $this->assertStringMatchesFormatFile( - $fileInfo->getPathname(), - str_replace(PHP_EOL, "\n", file_get_contents($actualFile)), - "${filename} not match" - ); - } - } -} diff --git a/paragonik-backend/vendor/phpunit/php-code-coverage/tests/tests/TextTest.php b/paragonik-backend/vendor/phpunit/php-code-coverage/tests/tests/TextTest.php deleted file mode 100644 index 04da00a..0000000 --- a/paragonik-backend/vendor/phpunit/php-code-coverage/tests/tests/TextTest.php +++ /dev/null @@ -1,49 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace SebastianBergmann\CodeCoverage\Report; - -use SebastianBergmann\CodeCoverage\TestCase; - -/** - * @covers SebastianBergmann\CodeCoverage\Report\Text - */ -class TextTest extends TestCase -{ - public function testTextForBankAccountTest() - { - $text = new Text(50, 90, false, false); - - $this->assertStringMatchesFormatFile( - TEST_FILES_PATH . 'BankAccount-text.txt', - str_replace(PHP_EOL, "\n", $text->process($this->getCoverageForBankAccount())) - ); - } - - public function testTextForFileWithIgnoredLines() - { - $text = new Text(50, 90, false, false); - - $this->assertStringMatchesFormatFile( - TEST_FILES_PATH . 'ignored-lines-text.txt', - str_replace(PHP_EOL, "\n", $text->process($this->getCoverageForFileWithIgnoredLines())) - ); - } - - public function testTextForClassWithAnonymousFunction() - { - $text = new Text(50, 90, false, false); - - $this->assertStringMatchesFormatFile( - TEST_FILES_PATH . 'class-with-anonymous-function-text.txt', - str_replace(PHP_EOL, "\n", $text->process($this->getCoverageForClassWithAnonymousFunction())) - ); - } -} diff --git a/paragonik-backend/vendor/phpunit/php-code-coverage/tests/tests/UtilTest.php b/paragonik-backend/vendor/phpunit/php-code-coverage/tests/tests/UtilTest.php deleted file mode 100644 index a6f19ea..0000000 --- a/paragonik-backend/vendor/phpunit/php-code-coverage/tests/tests/UtilTest.php +++ /dev/null @@ -1,29 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace SebastianBergmann\CodeCoverage; - -use PHPUnit\Framework\TestCase; - -/** - * @covers SebastianBergmann\CodeCoverage\Util - */ -class UtilTest extends TestCase -{ - public function testPercent() - { - $this->assertEquals(100, Util::percent(100, 0)); - $this->assertEquals(100, Util::percent(100, 100)); - $this->assertEquals( - '100.00%', - Util::percent(100, 100, true) - ); - } -} diff --git a/paragonik-backend/vendor/phpunit/php-code-coverage/tests/tests/XmlTest.php b/paragonik-backend/vendor/phpunit/php-code-coverage/tests/tests/XmlTest.php deleted file mode 100644 index 624bb2a..0000000 --- a/paragonik-backend/vendor/phpunit/php-code-coverage/tests/tests/XmlTest.php +++ /dev/null @@ -1,98 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace SebastianBergmann\CodeCoverage\Report\Xml; - -use SebastianBergmann\CodeCoverage\TestCase; - -class XmlTest extends TestCase -{ - private static $TEST_REPORT_PATH_SOURCE; - - public static function setUpBeforeClass() - { - parent::setUpBeforeClass(); - - self::$TEST_REPORT_PATH_SOURCE = TEST_FILES_PATH . 'Report' . DIRECTORY_SEPARATOR . 'XML'; - } - - protected function tearDown() - { - parent::tearDown(); - - $tmpFilesIterator = new \FilesystemIterator(self::$TEST_TMP_PATH); - - foreach ($tmpFilesIterator as $path => $fileInfo) { - /* @var \SplFileInfo $fileInfo */ - unlink($fileInfo->getPathname()); - } - } - - public function testForBankAccountTest() - { - $expectedFilesPath = self::$TEST_REPORT_PATH_SOURCE . DIRECTORY_SEPARATOR . 'CoverageForBankAccount'; - - $xml = new Facade('1.0.0'); - $xml->process($this->getCoverageForBankAccount(), self::$TEST_TMP_PATH); - - $this->assertFilesEquals($expectedFilesPath, self::$TEST_TMP_PATH); - } - - public function testForFileWithIgnoredLines() - { - $expectedFilesPath = self::$TEST_REPORT_PATH_SOURCE . DIRECTORY_SEPARATOR . 'CoverageForFileWithIgnoredLines'; - - $xml = new Facade('1.0.0'); - $xml->process($this->getCoverageForFileWithIgnoredLines(), self::$TEST_TMP_PATH); - - $this->assertFilesEquals($expectedFilesPath, self::$TEST_TMP_PATH); - } - - public function testForClassWithAnonymousFunction() - { - $expectedFilesPath = self::$TEST_REPORT_PATH_SOURCE . DIRECTORY_SEPARATOR . 'CoverageForClassWithAnonymousFunction'; - - $xml = new Facade('1.0.0'); - $xml->process($this->getCoverageForClassWithAnonymousFunction(), self::$TEST_TMP_PATH); - - $this->assertFilesEquals($expectedFilesPath, self::$TEST_TMP_PATH); - } - - /** - * @param string $expectedFilesPath - * @param string $actualFilesPath - */ - private function assertFilesEquals($expectedFilesPath, $actualFilesPath) - { - $expectedFilesIterator = new \FilesystemIterator($expectedFilesPath); - $actualFilesIterator = new \FilesystemIterator($actualFilesPath); - - $this->assertEquals( - iterator_count($expectedFilesIterator), - iterator_count($actualFilesIterator), - 'Generated files and expected files not match' - ); - - foreach ($expectedFilesIterator as $path => $fileInfo) { - /* @var \SplFileInfo $fileInfo */ - $filename = $fileInfo->getFilename(); - - $actualFile = $actualFilesPath . DIRECTORY_SEPARATOR . $filename; - - $this->assertFileExists($actualFile); - - $this->assertStringMatchesFormatFile( - $fileInfo->getPathname(), - file_get_contents($actualFile), - "${filename} not match" - ); - } - } -} diff --git a/paragonik-backend/vendor/phpunit/php-file-iterator/.gitattributes b/paragonik-backend/vendor/phpunit/php-file-iterator/.gitattributes deleted file mode 100644 index 461090b..0000000 --- a/paragonik-backend/vendor/phpunit/php-file-iterator/.gitattributes +++ /dev/null @@ -1 +0,0 @@ -*.php diff=php diff --git a/paragonik-backend/vendor/phpunit/php-file-iterator/.github/stale.yml b/paragonik-backend/vendor/phpunit/php-file-iterator/.github/stale.yml deleted file mode 100644 index 4eadca3..0000000 --- a/paragonik-backend/vendor/phpunit/php-file-iterator/.github/stale.yml +++ /dev/null @@ -1,40 +0,0 @@ -# Configuration for probot-stale - https://github.com/probot/stale - -# Number of days of inactivity before an Issue or Pull Request becomes stale -daysUntilStale: 60 - -# Number of days of inactivity before a stale Issue or Pull Request is closed. -# Set to false to disable. If disabled, issues still need to be closed manually, but will remain marked as stale. -daysUntilClose: 7 - -# Issues or Pull Requests with these labels will never be considered stale. Set to `[]` to disable -exemptLabels: - - enhancement - -# Set to true to ignore issues in a project (defaults to false) -exemptProjects: false - -# Set to true to ignore issues in a milestone (defaults to false) -exemptMilestones: false - -# Label to use when marking as stale -staleLabel: stale - -# Comment to post when marking as stale. Set to `false` to disable -markComment: > - This issue has been automatically marked as stale because it has not had activity within the last 60 days. It will be closed after 7 days if no further activity occurs. Thank you for your contributions. - -# Comment to post when removing the stale label. -# unmarkComment: > -# Your comment here. - -# Comment to post when closing a stale Issue or Pull Request. -closeComment: > - This issue has been automatically closed because it has not had activity since it was marked as stale. Thank you for your contributions. - -# Limit the number of actions per hour, from 1-30. Default is 30 -limitPerRun: 30 - -# Limit to only `issues` or `pulls` -only: issues - diff --git a/paragonik-backend/vendor/phpunit/php-file-iterator/.gitignore b/paragonik-backend/vendor/phpunit/php-file-iterator/.gitignore deleted file mode 100644 index 5ad7a64..0000000 --- a/paragonik-backend/vendor/phpunit/php-file-iterator/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -/.idea -/vendor/ -/.php_cs -/.php_cs.cache -/composer.lock diff --git a/paragonik-backend/vendor/phpunit/php-file-iterator/.php_cs.dist b/paragonik-backend/vendor/phpunit/php-file-iterator/.php_cs.dist deleted file mode 100644 index efc649f..0000000 --- a/paragonik-backend/vendor/phpunit/php-file-iterator/.php_cs.dist +++ /dev/null @@ -1,168 +0,0 @@ - - -For the full copyright and license information, please view the LICENSE -file that was distributed with this source code. -EOF; - -return PhpCsFixer\Config::create() - ->setRiskyAllowed(true) - ->setRules( - [ - 'array_syntax' => ['syntax' => 'short'], - 'binary_operator_spaces' => [ - 'operators' => [ - '=' => 'align', - '=>' => 'align', - ], - ], - 'blank_line_after_namespace' => true, - 'blank_line_before_statement' => [ - 'statements' => [ - 'break', - 'continue', - 'declare', - 'do', - 'for', - 'foreach', - 'if', - 'include', - 'include_once', - 'require', - 'require_once', - 'return', - 'switch', - 'throw', - 'try', - 'while', - 'yield', - ], - ], - 'braces' => true, - 'cast_spaces' => true, - 'class_attributes_separation' => ['elements' => ['method']], - 'compact_nullable_typehint' => true, - 'concat_space' => ['spacing' => 'one'], - 'declare_equal_normalize' => ['space' => 'none'], - 'dir_constant' => true, - 'elseif' => true, - 'encoding' => true, - 'full_opening_tag' => true, - 'function_declaration' => true, - 'header_comment' => ['header' => $header, 'separate' => 'none'], - 'indentation_type' => true, - 'line_ending' => true, - 'list_syntax' => ['syntax' => 'short'], - 'lowercase_cast' => true, - 'lowercase_constants' => true, - 'lowercase_keywords' => true, - 'magic_constant_casing' => true, - 'method_argument_space' => ['ensure_fully_multiline' => true], - 'modernize_types_casting' => true, - 'native_function_casing' => true, - 'native_function_invocation' => true, - 'no_alias_functions' => true, - 'no_blank_lines_after_class_opening' => true, - 'no_blank_lines_after_phpdoc' => true, - 'no_closing_tag' => true, - 'no_empty_comment' => true, - 'no_empty_phpdoc' => true, - 'no_empty_statement' => true, - 'no_extra_blank_lines' => true, - 'no_homoglyph_names' => true, - 'no_leading_import_slash' => true, - 'no_leading_namespace_whitespace' => true, - 'no_mixed_echo_print' => ['use' => 'print'], - 'no_null_property_initialization' => true, - 'no_short_bool_cast' => true, - 'no_short_echo_tag' => true, - 'no_singleline_whitespace_before_semicolons' => true, - 'no_spaces_after_function_name' => true, - 'no_spaces_inside_parenthesis' => true, - 'no_superfluous_elseif' => true, - 'no_trailing_comma_in_list_call' => true, - 'no_trailing_comma_in_singleline_array' => true, - 'no_trailing_whitespace' => true, - 'no_trailing_whitespace_in_comment' => true, - 'no_unneeded_control_parentheses' => true, - 'no_unneeded_curly_braces' => true, - 'no_unneeded_final_method' => true, - 'no_unreachable_default_argument_value' => true, - 'no_unused_imports' => true, - 'no_useless_else' => true, - 'no_whitespace_before_comma_in_array' => true, - 'no_whitespace_in_blank_line' => true, - 'non_printable_character' => true, - 'normalize_index_brace' => true, - 'object_operator_without_whitespace' => true, - 'ordered_class_elements' => [ - 'order' => [ - 'use_trait', - 'constant_public', - 'constant_protected', - 'constant_private', - 'property_public_static', - 'property_protected_static', - 'property_private_static', - 'property_public', - 'property_protected', - 'property_private', - 'method_public_static', - 'construct', - 'destruct', - 'magic', - 'phpunit', - 'method_public', - 'method_protected', - 'method_private', - 'method_protected_static', - 'method_private_static', - ], - ], - 'ordered_imports' => true, - 'phpdoc_add_missing_param_annotation' => true, - 'phpdoc_align' => true, - 'phpdoc_annotation_without_dot' => true, - 'phpdoc_indent' => true, - 'phpdoc_no_access' => true, - 'phpdoc_no_empty_return' => true, - 'phpdoc_no_package' => true, - 'phpdoc_order' => true, - 'phpdoc_return_self_reference' => true, - 'phpdoc_scalar' => true, - 'phpdoc_separation' => true, - 'phpdoc_single_line_var_spacing' => true, - 'phpdoc_to_comment' => true, - 'phpdoc_trim' => true, - 'phpdoc_types' => true, - 'phpdoc_types_order' => true, - 'phpdoc_var_without_name' => true, - 'pow_to_exponentiation' => true, - 'protected_to_private' => true, - 'return_type_declaration' => ['space_before' => 'none'], - 'self_accessor' => true, - 'short_scalar_cast' => true, - 'simplified_null_return' => true, - 'single_blank_line_at_eof' => true, - 'single_import_per_statement' => true, - 'single_line_after_imports' => true, - 'single_quote' => true, - 'standardize_not_equals' => true, - 'ternary_to_null_coalescing' => true, - 'trim_array_spaces' => true, - 'unary_operator_spaces' => true, - 'visibility_required' => true, - 'void_return' => true, - 'whitespace_after_comma_in_array' => true, - ] - ) - ->setFinder( - PhpCsFixer\Finder::create() - ->files() - ->in(__DIR__ . '/src') - ->in(__DIR__ . '/tests') - ->notName('*.phpt') - ); diff --git a/paragonik-backend/vendor/phpunit/php-file-iterator/.travis.yml b/paragonik-backend/vendor/phpunit/php-file-iterator/.travis.yml deleted file mode 100644 index 16b399c..0000000 --- a/paragonik-backend/vendor/phpunit/php-file-iterator/.travis.yml +++ /dev/null @@ -1,32 +0,0 @@ -language: php - -sudo: false - -php: - - 7.1 - - 7.2 - - master - -env: - matrix: - - DEPENDENCIES="high" - - DEPENDENCIES="low" - global: - - DEFAULT_COMPOSER_FLAGS="--no-interaction --no-ansi --no-progress --no-suggest" - -before_install: - - composer self-update - - composer clear-cache - -install: - - if [[ "$DEPENDENCIES" = 'high' ]]; then travis_retry composer update $DEFAULT_COMPOSER_FLAGS; fi - - if [[ "$DEPENDENCIES" = 'low' ]]; then travis_retry composer update $DEFAULT_COMPOSER_FLAGS --prefer-lowest; fi - -script: - - ./vendor/bin/phpunit --coverage-clover=coverage.xml - -after_success: - - bash <(curl -s https://codecov.io/bash) - -notifications: - email: false diff --git a/paragonik-backend/vendor/phpunit/php-file-iterator/ChangeLog.md b/paragonik-backend/vendor/phpunit/php-file-iterator/ChangeLog.md deleted file mode 100644 index f4a0801..0000000 --- a/paragonik-backend/vendor/phpunit/php-file-iterator/ChangeLog.md +++ /dev/null @@ -1,70 +0,0 @@ -# Change Log - -All notable changes to this project will be documented in this file. This project adheres to [Semantic Versioning](http://semver.org/). - -## [2.0.2] - 2018-09-13 - -### Fixed - -* Fixed [#48](https://github.com/sebastianbergmann/php-file-iterator/issues/48): Excluding an array that contains false ends up excluding the current working directory - -## [2.0.1] - 2018-06-11 - -### Fixed - -* Fixed [#46](https://github.com/sebastianbergmann/php-file-iterator/issues/46): Regression with hidden parent directory - -## [2.0.0] - 2018-05-28 - -### Fixed - -* Fixed [#30](https://github.com/sebastianbergmann/php-file-iterator/issues/30): Exclude is not considered if it is a parent of the base path - -### Changed - -* This component now uses namespaces - -### Removed - -* This component is no longer supported on PHP 5.3, PHP 5.4, PHP 5.5, PHP 5.6, and PHP 7.0 - -## [1.4.5] - 2017-11-27 - -### Fixed - -* Fixed [#37](https://github.com/sebastianbergmann/php-file-iterator/issues/37): Regression caused by fix for [#30](https://github.com/sebastianbergmann/php-file-iterator/issues/30) - -## [1.4.4] - 2017-11-27 - -### Fixed - -* Fixed [#30](https://github.com/sebastianbergmann/php-file-iterator/issues/30): Exclude is not considered if it is a parent of the base path - -## [1.4.3] - 2017-11-25 - -### Fixed - -* Fixed [#34](https://github.com/sebastianbergmann/php-file-iterator/issues/34): Factory should use canonical directory names - -## [1.4.2] - 2016-11-26 - -No changes - -## [1.4.1] - 2015-07-26 - -No changes - -## 1.4.0 - 2015-04-02 - -### Added - -* [Added support for wildcards (glob) in exclude](https://github.com/sebastianbergmann/php-file-iterator/pull/23) - -[2.0.2]: https://github.com/sebastianbergmann/php-file-iterator/compare/2.0.1...2.0.2 -[2.0.1]: https://github.com/sebastianbergmann/php-file-iterator/compare/2.0.0...2.0.1 -[2.0.0]: https://github.com/sebastianbergmann/php-file-iterator/compare/1.4...master -[1.4.5]: https://github.com/sebastianbergmann/php-file-iterator/compare/1.4.4...1.4.5 -[1.4.4]: https://github.com/sebastianbergmann/php-file-iterator/compare/1.4.3...1.4.4 -[1.4.3]: https://github.com/sebastianbergmann/php-file-iterator/compare/1.4.2...1.4.3 -[1.4.2]: https://github.com/sebastianbergmann/php-file-iterator/compare/1.4.1...1.4.2 -[1.4.1]: https://github.com/sebastianbergmann/php-file-iterator/compare/1.4.0...1.4.1 diff --git a/paragonik-backend/vendor/phpunit/php-file-iterator/LICENSE b/paragonik-backend/vendor/phpunit/php-file-iterator/LICENSE deleted file mode 100644 index 87c3b51..0000000 --- a/paragonik-backend/vendor/phpunit/php-file-iterator/LICENSE +++ /dev/null @@ -1,33 +0,0 @@ -php-file-iterator - -Copyright (c) 2009-2018, Sebastian Bergmann . -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of Sebastian Bergmann nor the names of his - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. diff --git a/paragonik-backend/vendor/phpunit/php-file-iterator/README.md b/paragonik-backend/vendor/phpunit/php-file-iterator/README.md deleted file mode 100644 index 3cbfdaa..0000000 --- a/paragonik-backend/vendor/phpunit/php-file-iterator/README.md +++ /dev/null @@ -1,14 +0,0 @@ -[![Build Status](https://travis-ci.org/sebastianbergmann/php-file-iterator.svg?branch=master)](https://travis-ci.org/sebastianbergmann/php-file-iterator) - -# php-file-iterator - -## Installation - -You can add this library as a local, per-project dependency to your project using [Composer](https://getcomposer.org/): - - composer require phpunit/php-file-iterator - -If you only need this library during development, for instance to run your project's test suite, then you should add it as a development-time dependency: - - composer require --dev phpunit/php-file-iterator - diff --git a/paragonik-backend/vendor/phpunit/php-file-iterator/composer.json b/paragonik-backend/vendor/phpunit/php-file-iterator/composer.json deleted file mode 100644 index 002e511..0000000 --- a/paragonik-backend/vendor/phpunit/php-file-iterator/composer.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "name": "phpunit/php-file-iterator", - "description": "FilterIterator implementation that filters files based on a list of suffixes.", - "type": "library", - "keywords": [ - "iterator", - "filesystem" - ], - "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", - "license": "BSD-3-Clause", - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "support": { - "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues" - }, - "require": { - "php": "^7.1" - }, - "require-dev": { - "phpunit/phpunit": "^7.1" - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - } -} diff --git a/paragonik-backend/vendor/phpunit/php-file-iterator/phpunit.xml b/paragonik-backend/vendor/phpunit/php-file-iterator/phpunit.xml deleted file mode 100644 index 3e12be4..0000000 --- a/paragonik-backend/vendor/phpunit/php-file-iterator/phpunit.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - tests - - - - - - src - - - diff --git a/paragonik-backend/vendor/phpunit/php-file-iterator/src/Facade.php b/paragonik-backend/vendor/phpunit/php-file-iterator/src/Facade.php deleted file mode 100644 index 2456e16..0000000 --- a/paragonik-backend/vendor/phpunit/php-file-iterator/src/Facade.php +++ /dev/null @@ -1,112 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace SebastianBergmann\FileIterator; - -class Facade -{ - /** - * @param array|string $paths - * @param array|string $suffixes - * @param array|string $prefixes - * @param array $exclude - * @param bool $commonPath - * - * @return array - */ - public function getFilesAsArray($paths, $suffixes = '', $prefixes = '', array $exclude = [], bool $commonPath = false): array - { - if (\is_string($paths)) { - $paths = [$paths]; - } - - $factory = new Factory; - - $iterator = $factory->getFileIterator($paths, $suffixes, $prefixes, $exclude); - - $files = []; - - foreach ($iterator as $file) { - $file = $file->getRealPath(); - - if ($file) { - $files[] = $file; - } - } - - foreach ($paths as $path) { - if (\is_file($path)) { - $files[] = \realpath($path); - } - } - - $files = \array_unique($files); - \sort($files); - - if ($commonPath) { - return [ - 'commonPath' => $this->getCommonPath($files), - 'files' => $files - ]; - } - - return $files; - } - - protected function getCommonPath(array $files): string - { - $count = \count($files); - - if ($count === 0) { - return ''; - } - - if ($count === 1) { - return \dirname($files[0]) . DIRECTORY_SEPARATOR; - } - - $_files = []; - - foreach ($files as $file) { - $_files[] = $_fileParts = \explode(DIRECTORY_SEPARATOR, $file); - - if (empty($_fileParts[0])) { - $_fileParts[0] = DIRECTORY_SEPARATOR; - } - } - - $common = ''; - $done = false; - $j = 0; - $count--; - - while (!$done) { - for ($i = 0; $i < $count; $i++) { - if ($_files[$i][$j] != $_files[$i + 1][$j]) { - $done = true; - - break; - } - } - - if (!$done) { - $common .= $_files[0][$j]; - - if ($j > 0) { - $common .= DIRECTORY_SEPARATOR; - } - } - - $j++; - } - - return DIRECTORY_SEPARATOR . $common; - } -} diff --git a/paragonik-backend/vendor/phpunit/php-file-iterator/src/Factory.php b/paragonik-backend/vendor/phpunit/php-file-iterator/src/Factory.php deleted file mode 100644 index 02e2f38..0000000 --- a/paragonik-backend/vendor/phpunit/php-file-iterator/src/Factory.php +++ /dev/null @@ -1,83 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace SebastianBergmann\FileIterator; - -class Factory -{ - /** - * @param array|string $paths - * @param array|string $suffixes - * @param array|string $prefixes - * @param array $exclude - * - * @return \AppendIterator - */ - public function getFileIterator($paths, $suffixes = '', $prefixes = '', array $exclude = []): \AppendIterator - { - if (\is_string($paths)) { - $paths = [$paths]; - } - - $paths = $this->getPathsAfterResolvingWildcards($paths); - $exclude = $this->getPathsAfterResolvingWildcards($exclude); - - if (\is_string($prefixes)) { - if ($prefixes !== '') { - $prefixes = [$prefixes]; - } else { - $prefixes = []; - } - } - - if (\is_string($suffixes)) { - if ($suffixes !== '') { - $suffixes = [$suffixes]; - } else { - $suffixes = []; - } - } - - $iterator = new \AppendIterator; - - foreach ($paths as $path) { - if (\is_dir($path)) { - $iterator->append( - new Iterator( - $path, - new \RecursiveIteratorIterator( - new \RecursiveDirectoryIterator($path, \RecursiveDirectoryIterator::FOLLOW_SYMLINKS | \RecursiveDirectoryIterator::SKIP_DOTS) - ), - $suffixes, - $prefixes, - $exclude - ) - ); - } - } - - return $iterator; - } - - protected function getPathsAfterResolvingWildcards(array $paths): array - { - $_paths = []; - - foreach ($paths as $path) { - if ($locals = \glob($path, GLOB_ONLYDIR)) { - $_paths = \array_merge($_paths, \array_map('\realpath', $locals)); - } else { - $_paths[] = \realpath($path); - } - } - - return \array_filter($_paths); - } -} diff --git a/paragonik-backend/vendor/phpunit/php-file-iterator/src/Iterator.php b/paragonik-backend/vendor/phpunit/php-file-iterator/src/Iterator.php deleted file mode 100644 index 84882d4..0000000 --- a/paragonik-backend/vendor/phpunit/php-file-iterator/src/Iterator.php +++ /dev/null @@ -1,112 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace SebastianBergmann\FileIterator; - -class Iterator extends \FilterIterator -{ - const PREFIX = 0; - const SUFFIX = 1; - - /** - * @var string - */ - private $basePath; - - /** - * @var array - */ - private $suffixes = []; - - /** - * @var array - */ - private $prefixes = []; - - /** - * @var array - */ - private $exclude = []; - - /** - * @param string $basePath - * @param \Iterator $iterator - * @param array $suffixes - * @param array $prefixes - * @param array $exclude - */ - public function __construct(string $basePath, \Iterator $iterator, array $suffixes = [], array $prefixes = [], array $exclude = []) - { - $this->basePath = \realpath($basePath); - $this->prefixes = $prefixes; - $this->suffixes = $suffixes; - $this->exclude = \array_filter(\array_map('realpath', $exclude)); - - parent::__construct($iterator); - } - - public function accept() - { - $current = $this->getInnerIterator()->current(); - $filename = $current->getFilename(); - $realPath = $current->getRealPath(); - - return $this->acceptPath($realPath) && - $this->acceptPrefix($filename) && - $this->acceptSuffix($filename); - } - - private function acceptPath(string $path): bool - { - // Filter files in hidden directories by checking path that is relative to the base path. - if (\preg_match('=/\.[^/]*/=', \str_replace($this->basePath, '', $path))) { - return false; - } - - foreach ($this->exclude as $exclude) { - if (\strpos($path, $exclude) === 0) { - return false; - } - } - - return true; - } - - private function acceptPrefix(string $filename): bool - { - return $this->acceptSubString($filename, $this->prefixes, self::PREFIX); - } - - private function acceptSuffix(string $filename): bool - { - return $this->acceptSubString($filename, $this->suffixes, self::SUFFIX); - } - - private function acceptSubString(string $filename, array $subStrings, int $type): bool - { - if (empty($subStrings)) { - return true; - } - - $matched = false; - - foreach ($subStrings as $string) { - if (($type === self::PREFIX && \strpos($filename, $string) === 0) || - ($type === self::SUFFIX && - \substr($filename, -1 * \strlen($string)) === $string)) { - $matched = true; - - break; - } - } - - return $matched; - } -} diff --git a/paragonik-backend/vendor/phpunit/php-file-iterator/tests/FactoryTest.php b/paragonik-backend/vendor/phpunit/php-file-iterator/tests/FactoryTest.php deleted file mode 100644 index ba4bdbf..0000000 --- a/paragonik-backend/vendor/phpunit/php-file-iterator/tests/FactoryTest.php +++ /dev/null @@ -1,50 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace SebastianBergmann\FileIterator; - -use PHPUnit\Framework\TestCase; - -/** - * @covers \SebastianBergmann\FileIterator\Factory - */ -class FactoryTest extends TestCase -{ - /** - * @var string - */ - private $root; - - /** - * @var Factory - */ - private $factory; - - protected function setUp(): void - { - $this->root = __DIR__; - $this->factory = new Factory; - } - - public function testFindFilesInTestDirectory(): void - { - $iterator = $this->factory->getFileIterator($this->root, 'Test.php'); - $files = \iterator_to_array($iterator); - - $this->assertGreaterThanOrEqual(1, \count($files)); - } - - public function testFindFilesWithExcludedNonExistingSubdirectory(): void - { - $iterator = $this->factory->getFileIterator($this->root, 'Test.php', '', [$this->root . '/nonExistingDir']); - $files = \iterator_to_array($iterator); - - $this->assertGreaterThanOrEqual(1, \count($files)); - } -} diff --git a/paragonik-backend/vendor/phpunit/php-text-template/.gitattributes b/paragonik-backend/vendor/phpunit/php-text-template/.gitattributes deleted file mode 100644 index 461090b..0000000 --- a/paragonik-backend/vendor/phpunit/php-text-template/.gitattributes +++ /dev/null @@ -1 +0,0 @@ -*.php diff=php diff --git a/paragonik-backend/vendor/phpunit/php-text-template/.gitignore b/paragonik-backend/vendor/phpunit/php-text-template/.gitignore deleted file mode 100644 index c599212..0000000 --- a/paragonik-backend/vendor/phpunit/php-text-template/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -/composer.lock -/composer.phar -/.idea -/vendor - diff --git a/paragonik-backend/vendor/phpunit/php-text-template/LICENSE b/paragonik-backend/vendor/phpunit/php-text-template/LICENSE deleted file mode 100644 index 9f9a32d..0000000 --- a/paragonik-backend/vendor/phpunit/php-text-template/LICENSE +++ /dev/null @@ -1,33 +0,0 @@ -Text_Template - -Copyright (c) 2009-2015, Sebastian Bergmann . -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of Sebastian Bergmann nor the names of his - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. diff --git a/paragonik-backend/vendor/phpunit/php-text-template/README.md b/paragonik-backend/vendor/phpunit/php-text-template/README.md deleted file mode 100644 index ec8f593..0000000 --- a/paragonik-backend/vendor/phpunit/php-text-template/README.md +++ /dev/null @@ -1,14 +0,0 @@ -# Text_Template - -## Installation - -## Installation - -To add this package as a local, per-project dependency to your project, simply add a dependency on `phpunit/php-text-template` to your project's `composer.json` file. Here is a minimal example of a `composer.json` file that just defines a dependency on Text_Template: - - { - "require": { - "phpunit/php-text-template": "~1.2" - } - } - diff --git a/paragonik-backend/vendor/phpunit/php-text-template/composer.json b/paragonik-backend/vendor/phpunit/php-text-template/composer.json deleted file mode 100644 index a5779c8..0000000 --- a/paragonik-backend/vendor/phpunit/php-text-template/composer.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "name": "phpunit/php-text-template", - "description": "Simple template engine.", - "type": "library", - "keywords": [ - "template" - ], - "homepage": "https://github.com/sebastianbergmann/php-text-template/", - "license": "BSD-3-Clause", - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "support": { - "issues": "https://github.com/sebastianbergmann/php-text-template/issues" - }, - "require": { - "php": ">=5.3.3" - }, - "autoload": { - "classmap": [ - "src/" - ] - } -} - diff --git a/paragonik-backend/vendor/phpunit/php-text-template/src/Template.php b/paragonik-backend/vendor/phpunit/php-text-template/src/Template.php deleted file mode 100644 index 9eb39ad..0000000 --- a/paragonik-backend/vendor/phpunit/php-text-template/src/Template.php +++ /dev/null @@ -1,135 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * A simple template engine. - * - * @since Class available since Release 1.0.0 - */ -class Text_Template -{ - /** - * @var string - */ - protected $template = ''; - - /** - * @var string - */ - protected $openDelimiter = '{'; - - /** - * @var string - */ - protected $closeDelimiter = '}'; - - /** - * @var array - */ - protected $values = array(); - - /** - * Constructor. - * - * @param string $file - * @throws InvalidArgumentException - */ - public function __construct($file = '', $openDelimiter = '{', $closeDelimiter = '}') - { - $this->setFile($file); - $this->openDelimiter = $openDelimiter; - $this->closeDelimiter = $closeDelimiter; - } - - /** - * Sets the template file. - * - * @param string $file - * @throws InvalidArgumentException - */ - public function setFile($file) - { - $distFile = $file . '.dist'; - - if (file_exists($file)) { - $this->template = file_get_contents($file); - } - - else if (file_exists($distFile)) { - $this->template = file_get_contents($distFile); - } - - else { - throw new InvalidArgumentException( - 'Template file could not be loaded.' - ); - } - } - - /** - * Sets one or more template variables. - * - * @param array $values - * @param bool $merge - */ - public function setVar(array $values, $merge = TRUE) - { - if (!$merge || empty($this->values)) { - $this->values = $values; - } else { - $this->values = array_merge($this->values, $values); - } - } - - /** - * Renders the template and returns the result. - * - * @return string - */ - public function render() - { - $keys = array(); - - foreach ($this->values as $key => $value) { - $keys[] = $this->openDelimiter . $key . $this->closeDelimiter; - } - - return str_replace($keys, $this->values, $this->template); - } - - /** - * Renders the template and writes the result to a file. - * - * @param string $target - */ - public function renderTo($target) - { - $fp = @fopen($target, 'wt'); - - if ($fp) { - fwrite($fp, $this->render()); - fclose($fp); - } else { - $error = error_get_last(); - - throw new RuntimeException( - sprintf( - 'Could not write to %s: %s', - $target, - substr( - $error['message'], - strpos($error['message'], ':') + 2 - ) - ) - ); - } - } -} - diff --git a/paragonik-backend/vendor/phpunit/php-timer/.gitattributes b/paragonik-backend/vendor/phpunit/php-timer/.gitattributes deleted file mode 100644 index 461090b..0000000 --- a/paragonik-backend/vendor/phpunit/php-timer/.gitattributes +++ /dev/null @@ -1 +0,0 @@ -*.php diff=php diff --git a/paragonik-backend/vendor/phpunit/php-timer/.github/FUNDING.yml b/paragonik-backend/vendor/phpunit/php-timer/.github/FUNDING.yml deleted file mode 100644 index b19ea81..0000000 --- a/paragonik-backend/vendor/phpunit/php-timer/.github/FUNDING.yml +++ /dev/null @@ -1 +0,0 @@ -patreon: s_bergmann diff --git a/paragonik-backend/vendor/phpunit/php-timer/.github/stale.yml b/paragonik-backend/vendor/phpunit/php-timer/.github/stale.yml deleted file mode 100644 index 4eadca3..0000000 --- a/paragonik-backend/vendor/phpunit/php-timer/.github/stale.yml +++ /dev/null @@ -1,40 +0,0 @@ -# Configuration for probot-stale - https://github.com/probot/stale - -# Number of days of inactivity before an Issue or Pull Request becomes stale -daysUntilStale: 60 - -# Number of days of inactivity before a stale Issue or Pull Request is closed. -# Set to false to disable. If disabled, issues still need to be closed manually, but will remain marked as stale. -daysUntilClose: 7 - -# Issues or Pull Requests with these labels will never be considered stale. Set to `[]` to disable -exemptLabels: - - enhancement - -# Set to true to ignore issues in a project (defaults to false) -exemptProjects: false - -# Set to true to ignore issues in a milestone (defaults to false) -exemptMilestones: false - -# Label to use when marking as stale -staleLabel: stale - -# Comment to post when marking as stale. Set to `false` to disable -markComment: > - This issue has been automatically marked as stale because it has not had activity within the last 60 days. It will be closed after 7 days if no further activity occurs. Thank you for your contributions. - -# Comment to post when removing the stale label. -# unmarkComment: > -# Your comment here. - -# Comment to post when closing a stale Issue or Pull Request. -closeComment: > - This issue has been automatically closed because it has not had activity since it was marked as stale. Thank you for your contributions. - -# Limit the number of actions per hour, from 1-30. Default is 30 -limitPerRun: 30 - -# Limit to only `issues` or `pulls` -only: issues - diff --git a/paragonik-backend/vendor/phpunit/php-timer/.gitignore b/paragonik-backend/vendor/phpunit/php-timer/.gitignore deleted file mode 100644 index 953d2a2..0000000 --- a/paragonik-backend/vendor/phpunit/php-timer/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -/.idea -/.php_cs.cache -/vendor -/composer.lock - diff --git a/paragonik-backend/vendor/phpunit/php-timer/.php_cs.dist b/paragonik-backend/vendor/phpunit/php-timer/.php_cs.dist deleted file mode 100644 index c442264..0000000 --- a/paragonik-backend/vendor/phpunit/php-timer/.php_cs.dist +++ /dev/null @@ -1,197 +0,0 @@ - - -For the full copyright and license information, please view the LICENSE -file that was distributed with this source code. -EOF; - -return PhpCsFixer\Config::create() - ->setRiskyAllowed(true) - ->setRules( - [ - 'align_multiline_comment' => true, - 'array_indentation' => true, - 'array_syntax' => ['syntax' => 'short'], - 'binary_operator_spaces' => [ - 'operators' => [ - '=' => 'align', - '=>' => 'align', - ], - ], - 'blank_line_after_namespace' => true, - 'blank_line_before_statement' => [ - 'statements' => [ - 'break', - 'continue', - 'declare', - 'do', - 'for', - 'foreach', - 'if', - 'include', - 'include_once', - 'require', - 'require_once', - 'return', - 'switch', - 'throw', - 'try', - 'while', - 'yield', - ], - ], - 'braces' => true, - 'cast_spaces' => true, - 'class_attributes_separation' => ['elements' => ['const', 'method', 'property']], - 'combine_consecutive_issets' => true, - 'combine_consecutive_unsets' => true, - 'compact_nullable_typehint' => true, - 'concat_space' => ['spacing' => 'one'], - 'declare_equal_normalize' => ['space' => 'none'], - 'declare_strict_types' => true, - 'dir_constant' => true, - 'elseif' => true, - 'encoding' => true, - 'full_opening_tag' => true, - 'function_declaration' => true, - 'header_comment' => ['header' => $header, 'separate' => 'none'], - 'indentation_type' => true, - 'is_null' => true, - 'line_ending' => true, - 'list_syntax' => ['syntax' => 'short'], - 'logical_operators' => true, - 'lowercase_cast' => true, - 'lowercase_constants' => true, - 'lowercase_keywords' => true, - 'lowercase_static_reference' => true, - 'magic_constant_casing' => true, - 'method_argument_space' => ['ensure_fully_multiline' => true], - 'modernize_types_casting' => true, - 'multiline_comment_opening_closing' => true, - 'multiline_whitespace_before_semicolons' => true, - 'native_constant_invocation' => true, - 'native_function_casing' => true, - 'native_function_invocation' => true, - 'new_with_braces' => false, - 'no_alias_functions' => true, - 'no_alternative_syntax' => true, - 'no_blank_lines_after_class_opening' => true, - 'no_blank_lines_after_phpdoc' => true, - 'no_blank_lines_before_namespace' => true, - 'no_closing_tag' => true, - 'no_empty_comment' => true, - 'no_empty_phpdoc' => true, - 'no_empty_statement' => true, - 'no_extra_blank_lines' => true, - 'no_homoglyph_names' => true, - 'no_leading_import_slash' => true, - 'no_leading_namespace_whitespace' => true, - 'no_mixed_echo_print' => ['use' => 'print'], - 'no_multiline_whitespace_around_double_arrow' => true, - 'no_null_property_initialization' => true, - 'no_php4_constructor' => true, - 'no_short_bool_cast' => true, - 'no_short_echo_tag' => true, - 'no_singleline_whitespace_before_semicolons' => true, - 'no_spaces_after_function_name' => true, - 'no_spaces_inside_parenthesis' => true, - 'no_superfluous_elseif' => true, - 'no_superfluous_phpdoc_tags' => true, - 'no_trailing_comma_in_list_call' => true, - 'no_trailing_comma_in_singleline_array' => true, - 'no_trailing_whitespace' => true, - 'no_trailing_whitespace_in_comment' => true, - 'no_unneeded_control_parentheses' => true, - 'no_unneeded_curly_braces' => true, - 'no_unneeded_final_method' => true, - 'no_unreachable_default_argument_value' => true, - 'no_unset_on_property' => true, - 'no_unused_imports' => true, - 'no_useless_else' => true, - 'no_useless_return' => true, - 'no_whitespace_before_comma_in_array' => true, - 'no_whitespace_in_blank_line' => true, - 'non_printable_character' => true, - 'normalize_index_brace' => true, - 'object_operator_without_whitespace' => true, - 'ordered_class_elements' => [ - 'order' => [ - 'use_trait', - 'constant_public', - 'constant_protected', - 'constant_private', - 'property_public_static', - 'property_protected_static', - 'property_private_static', - 'property_public', - 'property_protected', - 'property_private', - 'method_public_static', - 'construct', - 'destruct', - 'magic', - 'phpunit', - 'method_public', - 'method_protected', - 'method_private', - 'method_protected_static', - 'method_private_static', - ], - ], - 'ordered_imports' => true, - 'phpdoc_add_missing_param_annotation' => true, - 'phpdoc_align' => true, - 'phpdoc_annotation_without_dot' => true, - 'phpdoc_indent' => true, - 'phpdoc_no_access' => true, - 'phpdoc_no_empty_return' => true, - 'phpdoc_no_package' => true, - 'phpdoc_order' => true, - 'phpdoc_return_self_reference' => true, - 'phpdoc_scalar' => true, - 'phpdoc_separation' => true, - 'phpdoc_single_line_var_spacing' => true, - 'phpdoc_to_comment' => true, - 'phpdoc_trim' => true, - 'phpdoc_trim_consecutive_blank_line_separation' => true, - 'phpdoc_types' => ['groups' => ['simple', 'meta']], - 'phpdoc_types_order' => true, - 'phpdoc_var_without_name' => true, - 'pow_to_exponentiation' => true, - 'protected_to_private' => true, - 'return_assignment' => true, - 'return_type_declaration' => ['space_before' => 'none'], - 'self_accessor' => true, - 'semicolon_after_instruction' => true, - 'set_type_to_cast' => true, - 'short_scalar_cast' => true, - 'simplified_null_return' => true, - 'single_blank_line_at_eof' => true, - 'single_import_per_statement' => true, - 'single_line_after_imports' => true, - 'single_quote' => true, - 'standardize_not_equals' => true, - 'ternary_to_null_coalescing' => true, - 'trailing_comma_in_multiline_array' => true, - 'trim_array_spaces' => true, - 'unary_operator_spaces' => true, - 'visibility_required' => [ - 'elements' => [ - 'const', - 'method', - 'property', - ], - ], - 'void_return' => true, - 'whitespace_after_comma_in_array' => true, - ] - ) - ->setFinder( - PhpCsFixer\Finder::create() - ->files() - ->in(__DIR__ . '/src') - ->in(__DIR__ . '/tests') - ); diff --git a/paragonik-backend/vendor/phpunit/php-timer/.travis.yml b/paragonik-backend/vendor/phpunit/php-timer/.travis.yml deleted file mode 100644 index a217292..0000000 --- a/paragonik-backend/vendor/phpunit/php-timer/.travis.yml +++ /dev/null @@ -1,23 +0,0 @@ -language: php - -php: - - 7.1 - - 7.2 - - 7.3 - - 7.4snapshot - -before_install: - - composer self-update - - composer clear-cache - -install: - - travis_retry composer update --no-interaction --no-ansi --no-progress --no-suggest - -script: - - ./vendor/bin/phpunit --coverage-clover=coverage.xml - -after_success: - - bash <(curl -s https://codecov.io/bash) - -notifications: - email: false diff --git a/paragonik-backend/vendor/phpunit/php-timer/ChangeLog.md b/paragonik-backend/vendor/phpunit/php-timer/ChangeLog.md deleted file mode 100644 index 6ebc9fe..0000000 --- a/paragonik-backend/vendor/phpunit/php-timer/ChangeLog.md +++ /dev/null @@ -1,36 +0,0 @@ -# ChangeLog - -All notable changes are documented in this file using the [Keep a CHANGELOG](http://keepachangelog.com/) principles. - -## [2.1.2] - 2019-06-07 - -### Fixed - -* Fixed [#21](https://github.com/sebastianbergmann/php-timer/pull/3352): Formatting of memory consumption does not work on 32bit systems - -## [2.1.1] - 2019-02-20 - -### Changed - -* Improved formatting of memory consumption for `resourceUsage()` - -## [2.1.0] - 2019-02-20 - -### Changed - -* Improved formatting of memory consumption for `resourceUsage()` - -## [2.0.0] - 2018-02-01 - -### Changed - -* This component now uses namespaces - -### Removed - -* This component is no longer supported on PHP 5.3, PHP 5.4, PHP 5.5, PHP 5.6, and PHP 7.0 - -[2.1.2]: https://github.com/sebastianbergmann/diff/compare/2.1.1...2.1.2 -[2.1.1]: https://github.com/sebastianbergmann/diff/compare/2.1.0...2.1.1 -[2.1.0]: https://github.com/sebastianbergmann/diff/compare/2.0.0...2.1.0 -[2.0.0]: https://github.com/sebastianbergmann/diff/compare/1.0.9...2.0.0 diff --git a/paragonik-backend/vendor/phpunit/php-timer/LICENSE b/paragonik-backend/vendor/phpunit/php-timer/LICENSE deleted file mode 100644 index a4eb944..0000000 --- a/paragonik-backend/vendor/phpunit/php-timer/LICENSE +++ /dev/null @@ -1,33 +0,0 @@ -phpunit/php-timer - -Copyright (c) 2010-2019, Sebastian Bergmann . -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of Sebastian Bergmann nor the names of his - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. diff --git a/paragonik-backend/vendor/phpunit/php-timer/README.md b/paragonik-backend/vendor/phpunit/php-timer/README.md deleted file mode 100644 index 61725c2..0000000 --- a/paragonik-backend/vendor/phpunit/php-timer/README.md +++ /dev/null @@ -1,49 +0,0 @@ -[![Build Status](https://travis-ci.org/sebastianbergmann/php-timer.svg?branch=master)](https://travis-ci.org/sebastianbergmann/php-timer) - -# phpunit/php-timer - -Utility class for timing things, factored out of PHPUnit into a stand-alone component. - -## Installation - -You can add this library as a local, per-project dependency to your project using [Composer](https://getcomposer.org/): - - composer require phpunit/php-timer - -If you only need this library during development, for instance to run your project's test suite, then you should add it as a development-time dependency: - - composer require --dev phpunit/php-timer - -## Usage - -### Basic Timing - -```php -use SebastianBergmann\Timer\Timer; - -Timer::start(); - -// ... - -$time = Timer::stop(); -var_dump($time); - -print Timer::secondsToTimeString($time); -``` - -The code above yields the output below: - - double(1.0967254638672E-5) - 0 ms - -### Resource Consumption Since PHP Startup - -```php -use SebastianBergmann\Timer\Timer; - -print Timer::resourceUsage(); -``` - -The code above yields the output below: - - Time: 0 ms, Memory: 0.50MB diff --git a/paragonik-backend/vendor/phpunit/php-timer/build.xml b/paragonik-backend/vendor/phpunit/php-timer/build.xml deleted file mode 100644 index b8d3256..0000000 --- a/paragonik-backend/vendor/phpunit/php-timer/build.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/paragonik-backend/vendor/phpunit/php-timer/composer.json b/paragonik-backend/vendor/phpunit/php-timer/composer.json deleted file mode 100644 index d400ad7..0000000 --- a/paragonik-backend/vendor/phpunit/php-timer/composer.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "name": "phpunit/php-timer", - "description": "Utility class for timing", - "type": "library", - "keywords": [ - "timer" - ], - "homepage": "https://github.com/sebastianbergmann/php-timer/", - "license": "BSD-3-Clause", - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "support": { - "issues": "https://github.com/sebastianbergmann/php-timer/issues" - }, - "prefer-stable": true, - "require": { - "php": "^7.1" - }, - "require-dev": { - "phpunit/phpunit": "^7.0" - }, - "config": { - "optimize-autoloader": true, - "sort-packages": true - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "extra": { - "branch-alias": { - "dev-master": "2.1-dev" - } - } -} - diff --git a/paragonik-backend/vendor/phpunit/php-timer/phpunit.xml b/paragonik-backend/vendor/phpunit/php-timer/phpunit.xml deleted file mode 100644 index 28a95de..0000000 --- a/paragonik-backend/vendor/phpunit/php-timer/phpunit.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - tests - - - - - src - - - diff --git a/paragonik-backend/vendor/phpunit/php-timer/src/Exception.php b/paragonik-backend/vendor/phpunit/php-timer/src/Exception.php deleted file mode 100644 index 7f9a26b..0000000 --- a/paragonik-backend/vendor/phpunit/php-timer/src/Exception.php +++ /dev/null @@ -1,14 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace SebastianBergmann\Timer; - -interface Exception -{ -} diff --git a/paragonik-backend/vendor/phpunit/php-timer/src/RuntimeException.php b/paragonik-backend/vendor/phpunit/php-timer/src/RuntimeException.php deleted file mode 100644 index aff06fa..0000000 --- a/paragonik-backend/vendor/phpunit/php-timer/src/RuntimeException.php +++ /dev/null @@ -1,14 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace SebastianBergmann\Timer; - -final class RuntimeException extends \RuntimeException implements Exception -{ -} diff --git a/paragonik-backend/vendor/phpunit/php-timer/src/Timer.php b/paragonik-backend/vendor/phpunit/php-timer/src/Timer.php deleted file mode 100644 index 378ff72..0000000 --- a/paragonik-backend/vendor/phpunit/php-timer/src/Timer.php +++ /dev/null @@ -1,100 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace SebastianBergmann\Timer; - -final class Timer -{ - /** - * @var int[] - */ - private static $sizes = [ - 'GB' => 1073741824, - 'MB' => 1048576, - 'KB' => 1024, - ]; - - /** - * @var int[] - */ - private static $times = [ - 'hour' => 3600000, - 'minute' => 60000, - 'second' => 1000, - ]; - - /** - * @var float[] - */ - private static $startTimes = []; - - public static function start(): void - { - self::$startTimes[] = \microtime(true); - } - - public static function stop(): float - { - return \microtime(true) - \array_pop(self::$startTimes); - } - - public static function bytesToString(float $bytes): string - { - foreach (self::$sizes as $unit => $value) { - if ($bytes >= $value) { - return \sprintf('%.2f %s', $bytes >= 1024 ? $bytes / $value : $bytes, $unit); - } - } - - return $bytes . ' byte' . ((int) $bytes !== 1 ? 's' : ''); - } - - public static function secondsToTimeString(float $time): string - { - $ms = \round($time * 1000); - - foreach (self::$times as $unit => $value) { - if ($ms >= $value) { - $time = \floor($ms / $value * 100.0) / 100.0; - - return $time . ' ' . ($time == 1 ? $unit : $unit . 's'); - } - } - - return $ms . ' ms'; - } - - /** - * @throws RuntimeException - */ - public static function timeSinceStartOfRequest(): string - { - if (isset($_SERVER['REQUEST_TIME_FLOAT'])) { - $startOfRequest = $_SERVER['REQUEST_TIME_FLOAT']; - } elseif (isset($_SERVER['REQUEST_TIME'])) { - $startOfRequest = $_SERVER['REQUEST_TIME']; - } else { - throw new RuntimeException('Cannot determine time at which the request started'); - } - - return self::secondsToTimeString(\microtime(true) - $startOfRequest); - } - - /** - * @throws RuntimeException - */ - public static function resourceUsage(): string - { - return \sprintf( - 'Time: %s, Memory: %s', - self::timeSinceStartOfRequest(), - self::bytesToString(\memory_get_peak_usage(true)) - ); - } -} diff --git a/paragonik-backend/vendor/phpunit/php-timer/tests/TimerTest.php b/paragonik-backend/vendor/phpunit/php-timer/tests/TimerTest.php deleted file mode 100644 index 93cc474..0000000 --- a/paragonik-backend/vendor/phpunit/php-timer/tests/TimerTest.php +++ /dev/null @@ -1,134 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace SebastianBergmann\Timer; - -use PHPUnit\Framework\TestCase; - -/** - * @covers \SebastianBergmann\Timer\Timer - */ -final class TimerTest extends TestCase -{ - public function testCanBeStartedAndStopped(): void - { - $this->assertIsFloat(Timer::stop()); - } - - public function testCanFormatTimeSinceStartOfRequest(): void - { - $this->assertStringMatchesFormat('%f %s', Timer::timeSinceStartOfRequest()); - } - - /** - * @backupGlobals enabled - */ - public function testCanFormatSinceStartOfRequestWhenRequestTimeIsNotAvailableAsFloat(): void - { - if (isset($_SERVER['REQUEST_TIME_FLOAT'])) { - unset($_SERVER['REQUEST_TIME_FLOAT']); - } - - $this->assertStringMatchesFormat('%f %s', Timer::timeSinceStartOfRequest()); - } - - /** - * @backupGlobals enabled - */ - public function testCannotFormatTimeSinceStartOfRequestWhenRequestTimeIsNotAvailable(): void - { - if (isset($_SERVER['REQUEST_TIME_FLOAT'])) { - unset($_SERVER['REQUEST_TIME_FLOAT']); - } - - if (isset($_SERVER['REQUEST_TIME'])) { - unset($_SERVER['REQUEST_TIME']); - } - - $this->expectException(RuntimeException::class); - - Timer::timeSinceStartOfRequest(); - } - - public function testCanFormatResourceUsage(): void - { - $this->assertStringMatchesFormat('Time: %s, Memory: %f %s', Timer::resourceUsage()); - } - - /** - * @dataProvider secondsProvider - */ - public function testCanFormatSecondsAsString(string $string, float $seconds): void - { - $this->assertEquals($string, Timer::secondsToTimeString($seconds)); - } - - public function secondsProvider(): array - { - return [ - ['0 ms', 0], - ['1 ms', .001], - ['10 ms', .01], - ['100 ms', .1], - ['999 ms', .999], - ['1 second', .9999], - ['1 second', 1], - ['2 seconds', 2], - ['59.9 seconds', 59.9], - ['59.99 seconds', 59.99], - ['59.99 seconds', 59.999], - ['1 minute', 59.9999], - ['59 seconds', 59.001], - ['59.01 seconds', 59.01], - ['1 minute', 60], - ['1.01 minutes', 61], - ['2 minutes', 120], - ['2.01 minutes', 121], - ['59.99 minutes', 3599.9], - ['59.99 minutes', 3599.99], - ['59.99 minutes', 3599.999], - ['1 hour', 3599.9999], - ['59.98 minutes', 3599.001], - ['59.98 minutes', 3599.01], - ['1 hour', 3600], - ['1 hour', 3601], - ['1 hour', 3601.9], - ['1 hour', 3601.99], - ['1 hour', 3601.999], - ['1 hour', 3601.9999], - ['1.01 hours', 3659.9999], - ['1.01 hours', 3659.001], - ['1.01 hours', 3659.01], - ['2 hours', 7199.9999], - ]; - } - - /** - * @dataProvider bytesProvider - */ - public function testCanFormatBytesAsString(string $string, float $bytes): void - { - $this->assertEquals($string, Timer::bytesToString($bytes)); - } - - public function bytesProvider(): array - { - return [ - ['0 bytes', 0], - ['1 byte', 1], - ['1023 bytes', 1023], - ['1.00 KB', 1024], - ['1.50 KB', 1.5 * 1024], - ['2.00 MB', 2 * 1048576], - ['2.50 MB', 2.5 * 1048576], - ['3.00 GB', 3 * 1073741824], - ['3.50 GB', 3.5 * 1073741824], - ]; - } -} diff --git a/paragonik-backend/vendor/phpunit/php-token-stream/.gitattributes b/paragonik-backend/vendor/phpunit/php-token-stream/.gitattributes deleted file mode 100644 index 461090b..0000000 --- a/paragonik-backend/vendor/phpunit/php-token-stream/.gitattributes +++ /dev/null @@ -1 +0,0 @@ -*.php diff=php diff --git a/paragonik-backend/vendor/phpunit/php-token-stream/.github/FUNDING.yml b/paragonik-backend/vendor/phpunit/php-token-stream/.github/FUNDING.yml deleted file mode 100644 index b19ea81..0000000 --- a/paragonik-backend/vendor/phpunit/php-token-stream/.github/FUNDING.yml +++ /dev/null @@ -1 +0,0 @@ -patreon: s_bergmann diff --git a/paragonik-backend/vendor/phpunit/php-token-stream/.gitignore b/paragonik-backend/vendor/phpunit/php-token-stream/.gitignore deleted file mode 100644 index 77aae3d..0000000 --- a/paragonik-backend/vendor/phpunit/php-token-stream/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -/.idea -/composer.lock -/vendor diff --git a/paragonik-backend/vendor/phpunit/php-token-stream/.travis.yml b/paragonik-backend/vendor/phpunit/php-token-stream/.travis.yml deleted file mode 100644 index 4e8056d..0000000 --- a/paragonik-backend/vendor/phpunit/php-token-stream/.travis.yml +++ /dev/null @@ -1,26 +0,0 @@ -language: php - -php: - - 7.1 - - 7.2 - - 7.3 - - 7.4snapshot - -sudo: false - -before_install: - - composer self-update - - composer clear-cache - -install: - - travis_retry composer update --no-interaction --no-ansi --no-progress --no-suggest - -script: - - ./vendor/bin/phpunit --coverage-clover=coverage.xml - -after_success: - - bash <(curl -s https://codecov.io/bash) - -notifications: - email: false - diff --git a/paragonik-backend/vendor/phpunit/php-token-stream/ChangeLog.md b/paragonik-backend/vendor/phpunit/php-token-stream/ChangeLog.md deleted file mode 100644 index 884fd1f..0000000 --- a/paragonik-backend/vendor/phpunit/php-token-stream/ChangeLog.md +++ /dev/null @@ -1,57 +0,0 @@ -# Change Log - -All notable changes to `sebastianbergmann/php-token-stream` are documented in this file using the [Keep a CHANGELOG](http://keepachangelog.com/) principles. - -## [3.1.1] - 2019-09-17 - -### Fixed - -* Fixed [#84](https://github.com/sebastianbergmann/php-token-stream/issues/84): Methods named `class` are not handled correctly - -## [3.1.0] - 2019-07-25 - -### Added - -* Added support for `FN` and `COALESCE_EQUAL` tokens introduced in PHP 7.4 - -## [3.0.2] - 2019-07-08 - -### Changed - -* Implemented [#82](https://github.com/sebastianbergmann/php-token-stream/issues/82): Make sure this component works when its classes are prefixed using php-scoper - -## [3.0.1] - 2018-10-30 - -### Fixed - -* Fixed [#78](https://github.com/sebastianbergmann/php-token-stream/pull/78): `getEndTokenId()` does not handle string-dollar (`"${var}"`) interpolation - -## [3.0.0] - 2018-02-01 - -### Removed - -* Implemented [#71](https://github.com/sebastianbergmann/php-token-stream/issues/71): Remove code specific to Hack language constructs -* Implemented [#72](https://github.com/sebastianbergmann/php-token-stream/issues/72): Drop support for PHP 7.0 - -## [2.0.2] - 2017-11-27 - -### Fixed - -* Fixed [#69](https://github.com/sebastianbergmann/php-token-stream/issues/69): `PHP_Token_USE_FUNCTION` does not serialize correctly - -## [2.0.1] - 2017-08-20 - -### Fixed - -* Fixed [#68](https://github.com/sebastianbergmann/php-token-stream/issues/68): Method with name `empty` wrongly recognized as anonymous function - -## [2.0.0] - 2017-08-03 - -[3.1.1]: https://github.com/sebastianbergmann/php-token-stream/compare/3.1.0...3.1.1 -[3.1.0]: https://github.com/sebastianbergmann/php-token-stream/compare/3.0.2...3.1.0 -[3.0.2]: https://github.com/sebastianbergmann/php-token-stream/compare/3.0.1...3.0.2 -[3.0.1]: https://github.com/sebastianbergmann/php-token-stream/compare/3.0.0...3.0.1 -[3.0.0]: https://github.com/sebastianbergmann/php-token-stream/compare/2.0...3.0.0 -[2.0.2]: https://github.com/sebastianbergmann/php-token-stream/compare/2.0.1...2.0.2 -[2.0.1]: https://github.com/sebastianbergmann/php-token-stream/compare/2.0.0...2.0.1 -[2.0.0]: https://github.com/sebastianbergmann/php-token-stream/compare/1.4.11...2.0.0 diff --git a/paragonik-backend/vendor/phpunit/php-token-stream/LICENSE b/paragonik-backend/vendor/phpunit/php-token-stream/LICENSE deleted file mode 100644 index 2cad5be..0000000 --- a/paragonik-backend/vendor/phpunit/php-token-stream/LICENSE +++ /dev/null @@ -1,33 +0,0 @@ -php-token-stream - -Copyright (c) 2009-2019, Sebastian Bergmann . -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of Sebastian Bergmann nor the names of his - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. diff --git a/paragonik-backend/vendor/phpunit/php-token-stream/README.md b/paragonik-backend/vendor/phpunit/php-token-stream/README.md deleted file mode 100644 index 149b7e2..0000000 --- a/paragonik-backend/vendor/phpunit/php-token-stream/README.md +++ /dev/null @@ -1,14 +0,0 @@ -[![Build Status](https://travis-ci.org/sebastianbergmann/php-token-stream.svg?branch=master)](https://travis-ci.org/sebastianbergmann/php-token-stream) - -# php-token-stream - -## Installation - -You can add this library as a local, per-project dependency to your project using [Composer](https://getcomposer.org/): - - composer require phpunit/php-token-stream - -If you only need this library during development, for instance to run your project's test suite, then you should add it as a development-time dependency: - - composer require --dev phpunit/php-token-stream - diff --git a/paragonik-backend/vendor/phpunit/php-token-stream/build.xml b/paragonik-backend/vendor/phpunit/php-token-stream/build.xml deleted file mode 100644 index 0da8056..0000000 --- a/paragonik-backend/vendor/phpunit/php-token-stream/build.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/paragonik-backend/vendor/phpunit/php-token-stream/composer.json b/paragonik-backend/vendor/phpunit/php-token-stream/composer.json deleted file mode 100644 index f50e937..0000000 --- a/paragonik-backend/vendor/phpunit/php-token-stream/composer.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "name": "phpunit/php-token-stream", - "description": "Wrapper around PHP's tokenizer extension.", - "type": "library", - "keywords": ["tokenizer"], - "homepage": "https://github.com/sebastianbergmann/php-token-stream/", - "license": "BSD-3-Clause", - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "support": { - "issues": "https://github.com/sebastianbergmann/php-token-stream/issues" - }, - "prefer-stable": true, - "require": { - "php": "^7.1", - "ext-tokenizer": "*" - }, - "require-dev": { - "phpunit/phpunit": "^7.0" - }, - "config": { - "optimize-autoloader": true, - "sort-packages": true - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "extra": { - "branch-alias": { - "dev-master": "3.1-dev" - } - } -} diff --git a/paragonik-backend/vendor/phpunit/php-token-stream/phpunit.xml b/paragonik-backend/vendor/phpunit/php-token-stream/phpunit.xml deleted file mode 100644 index 8f159fb..0000000 --- a/paragonik-backend/vendor/phpunit/php-token-stream/phpunit.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - tests - - - - - - src - - - diff --git a/paragonik-backend/vendor/phpunit/php-token-stream/src/Token.php b/paragonik-backend/vendor/phpunit/php-token-stream/src/Token.php deleted file mode 100644 index 65fdb06..0000000 --- a/paragonik-backend/vendor/phpunit/php-token-stream/src/Token.php +++ /dev/null @@ -1,1361 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * A PHP token. - */ -abstract class PHP_Token -{ - /** - * @var string - */ - protected $text; - - /** - * @var int - */ - protected $line; - - /** - * @var PHP_Token_Stream - */ - protected $tokenStream; - - /** - * @var int - */ - protected $id; - - /** - * @param string $text - * @param int $line - * @param PHP_Token_Stream $tokenStream - * @param int $id - */ - public function __construct($text, $line, PHP_Token_Stream $tokenStream, $id) - { - $this->text = $text; - $this->line = $line; - $this->tokenStream = $tokenStream; - $this->id = $id; - } - - /** - * @return string - */ - public function __toString() - { - return $this->text; - } - - /** - * @return int - */ - public function getLine() - { - return $this->line; - } - - /** - * @return int - */ - public function getId() - { - return $this->id; - } -} - -abstract class PHP_TokenWithScope extends PHP_Token -{ - /** - * @var int - */ - protected $endTokenId; - - /** - * Get the docblock for this token - * - * This method will fetch the docblock belonging to the current token. The - * docblock must be placed on the line directly above the token to be - * recognized. - * - * @return string|null Returns the docblock as a string if found - */ - public function getDocblock() - { - $tokens = $this->tokenStream->tokens(); - $currentLineNumber = $tokens[$this->id]->getLine(); - $prevLineNumber = $currentLineNumber - 1; - - for ($i = $this->id - 1; $i; $i--) { - if (!isset($tokens[$i])) { - return; - } - - if ($tokens[$i] instanceof PHP_Token_FUNCTION || - $tokens[$i] instanceof PHP_Token_CLASS || - $tokens[$i] instanceof PHP_Token_TRAIT) { - // Some other trait, class or function, no docblock can be - // used for the current token - break; - } - - $line = $tokens[$i]->getLine(); - - if ($line == $currentLineNumber || - ($line == $prevLineNumber && - $tokens[$i] instanceof PHP_Token_WHITESPACE)) { - continue; - } - - if ($line < $currentLineNumber && - !$tokens[$i] instanceof PHP_Token_DOC_COMMENT) { - break; - } - - return (string) $tokens[$i]; - } - } - - /** - * @return int - */ - public function getEndTokenId() - { - $block = 0; - $i = $this->id; - $tokens = $this->tokenStream->tokens(); - - while ($this->endTokenId === null && isset($tokens[$i])) { - if ($tokens[$i] instanceof PHP_Token_OPEN_CURLY || - $tokens[$i] instanceof PHP_Token_DOLLAR_OPEN_CURLY_BRACES || - $tokens[$i] instanceof PHP_Token_CURLY_OPEN) { - $block++; - } elseif ($tokens[$i] instanceof PHP_Token_CLOSE_CURLY) { - $block--; - - if ($block === 0) { - $this->endTokenId = $i; - } - } elseif (($this instanceof PHP_Token_FUNCTION || - $this instanceof PHP_Token_NAMESPACE) && - $tokens[$i] instanceof PHP_Token_SEMICOLON) { - if ($block === 0) { - $this->endTokenId = $i; - } - } - - $i++; - } - - if ($this->endTokenId === null) { - $this->endTokenId = $this->id; - } - - return $this->endTokenId; - } - - /** - * @return int - */ - public function getEndLine() - { - return $this->tokenStream[$this->getEndTokenId()]->getLine(); - } -} - -abstract class PHP_TokenWithScopeAndVisibility extends PHP_TokenWithScope -{ - /** - * @return string - */ - public function getVisibility() - { - $tokens = $this->tokenStream->tokens(); - - for ($i = $this->id - 2; $i > $this->id - 7; $i -= 2) { - if (isset($tokens[$i]) && - ($tokens[$i] instanceof PHP_Token_PRIVATE || - $tokens[$i] instanceof PHP_Token_PROTECTED || - $tokens[$i] instanceof PHP_Token_PUBLIC)) { - return strtolower( - str_replace('PHP_Token_', '', PHP_Token_Util::getClass($tokens[$i])) - ); - } - if (isset($tokens[$i]) && - !($tokens[$i] instanceof PHP_Token_STATIC || - $tokens[$i] instanceof PHP_Token_FINAL || - $tokens[$i] instanceof PHP_Token_ABSTRACT)) { - // no keywords; stop visibility search - break; - } - } - } - - /** - * @return string - */ - public function getKeywords() - { - $keywords = []; - $tokens = $this->tokenStream->tokens(); - - for ($i = $this->id - 2; $i > $this->id - 7; $i -= 2) { - if (isset($tokens[$i]) && - ($tokens[$i] instanceof PHP_Token_PRIVATE || - $tokens[$i] instanceof PHP_Token_PROTECTED || - $tokens[$i] instanceof PHP_Token_PUBLIC)) { - continue; - } - - if (isset($tokens[$i]) && - ($tokens[$i] instanceof PHP_Token_STATIC || - $tokens[$i] instanceof PHP_Token_FINAL || - $tokens[$i] instanceof PHP_Token_ABSTRACT)) { - $keywords[] = strtolower( - str_replace('PHP_Token_', '', PHP_Token_Util::getClass($tokens[$i])) - ); - } - } - - return implode(',', $keywords); - } -} - -abstract class PHP_Token_Includes extends PHP_Token -{ - /** - * @var string - */ - protected $name; - - /** - * @var string - */ - protected $type; - - /** - * @return string - */ - public function getName() - { - if ($this->name === null) { - $this->process(); - } - - return $this->name; - } - - /** - * @return string - */ - public function getType() - { - if ($this->type === null) { - $this->process(); - } - - return $this->type; - } - - private function process() - { - $tokens = $this->tokenStream->tokens(); - - if ($tokens[$this->id + 2] instanceof PHP_Token_CONSTANT_ENCAPSED_STRING) { - $this->name = trim($tokens[$this->id + 2], "'\""); - $this->type = strtolower( - str_replace('PHP_Token_', '', PHP_Token_Util::getClass($tokens[$this->id])) - ); - } - } -} - -class PHP_Token_FUNCTION extends PHP_TokenWithScopeAndVisibility -{ - /** - * @var array - */ - protected $arguments; - - /** - * @var int - */ - protected $ccn; - - /** - * @var string - */ - protected $name; - - /** - * @var string - */ - protected $signature; - - /** - * @var bool - */ - private $anonymous = false; - - /** - * @return array - */ - public function getArguments() - { - if ($this->arguments !== null) { - return $this->arguments; - } - - $this->arguments = []; - $tokens = $this->tokenStream->tokens(); - $typeDeclaration = null; - - // Search for first token inside brackets - $i = $this->id + 2; - - while (!$tokens[$i - 1] instanceof PHP_Token_OPEN_BRACKET) { - $i++; - } - - while (!$tokens[$i] instanceof PHP_Token_CLOSE_BRACKET) { - if ($tokens[$i] instanceof PHP_Token_STRING) { - $typeDeclaration = (string) $tokens[$i]; - } elseif ($tokens[$i] instanceof PHP_Token_VARIABLE) { - $this->arguments[(string) $tokens[$i]] = $typeDeclaration; - $typeDeclaration = null; - } - - $i++; - } - - return $this->arguments; - } - - /** - * @return string - */ - public function getName() - { - if ($this->name !== null) { - return $this->name; - } - - $tokens = $this->tokenStream->tokens(); - - $i = $this->id + 1; - - if ($tokens[$i] instanceof PHP_Token_WHITESPACE) { - $i++; - } - - if ($tokens[$i] instanceof PHP_Token_AMPERSAND) { - $i++; - } - - if ($tokens[$i + 1] instanceof PHP_Token_OPEN_BRACKET) { - $this->name = (string) $tokens[$i]; - } elseif ($tokens[$i + 1] instanceof PHP_Token_WHITESPACE && $tokens[$i + 2] instanceof PHP_Token_OPEN_BRACKET) { - $this->name = (string) $tokens[$i]; - } else { - $this->anonymous = true; - - $this->name = sprintf( - 'anonymousFunction:%s#%s', - $this->getLine(), - $this->getId() - ); - } - - if (!$this->isAnonymous()) { - for ($i = $this->id; $i; --$i) { - if ($tokens[$i] instanceof PHP_Token_NAMESPACE) { - $this->name = $tokens[$i]->getName() . '\\' . $this->name; - - break; - } - - if ($tokens[$i] instanceof PHP_Token_INTERFACE) { - break; - } - } - } - - return $this->name; - } - - /** - * @return int - */ - public function getCCN() - { - if ($this->ccn !== null) { - return $this->ccn; - } - - $this->ccn = 1; - $end = $this->getEndTokenId(); - $tokens = $this->tokenStream->tokens(); - - for ($i = $this->id; $i <= $end; $i++) { - switch (PHP_Token_Util::getClass($tokens[$i])) { - case 'PHP_Token_IF': - case 'PHP_Token_ELSEIF': - case 'PHP_Token_FOR': - case 'PHP_Token_FOREACH': - case 'PHP_Token_WHILE': - case 'PHP_Token_CASE': - case 'PHP_Token_CATCH': - case 'PHP_Token_BOOLEAN_AND': - case 'PHP_Token_LOGICAL_AND': - case 'PHP_Token_BOOLEAN_OR': - case 'PHP_Token_LOGICAL_OR': - case 'PHP_Token_QUESTION_MARK': - $this->ccn++; - break; - } - } - - return $this->ccn; - } - - /** - * @return string - */ - public function getSignature() - { - if ($this->signature !== null) { - return $this->signature; - } - - if ($this->isAnonymous()) { - $this->signature = 'anonymousFunction'; - $i = $this->id + 1; - } else { - $this->signature = ''; - $i = $this->id + 2; - } - - $tokens = $this->tokenStream->tokens(); - - while (isset($tokens[$i]) && - !$tokens[$i] instanceof PHP_Token_OPEN_CURLY && - !$tokens[$i] instanceof PHP_Token_SEMICOLON) { - $this->signature .= $tokens[$i++]; - } - - $this->signature = trim($this->signature); - - return $this->signature; - } - - /** - * @return bool - */ - public function isAnonymous() - { - return $this->anonymous; - } -} - -class PHP_Token_INTERFACE extends PHP_TokenWithScopeAndVisibility -{ - /** - * @var array - */ - protected $interfaces; - - /** - * @return string - */ - public function getName() - { - return (string) $this->tokenStream[$this->id + 2]; - } - - /** - * @return bool - */ - public function hasParent() - { - return $this->tokenStream[$this->id + 4] instanceof PHP_Token_EXTENDS; - } - - /** - * @return array - */ - public function getPackage() - { - $className = $this->getName(); - $docComment = $this->getDocblock(); - - $result = [ - 'namespace' => '', - 'fullPackage' => '', - 'category' => '', - 'package' => '', - 'subpackage' => '' - ]; - - for ($i = $this->id; $i; --$i) { - if ($this->tokenStream[$i] instanceof PHP_Token_NAMESPACE) { - $result['namespace'] = $this->tokenStream[$i]->getName(); - break; - } - } - - if (preg_match('/@category[\s]+([\.\w]+)/', $docComment, $matches)) { - $result['category'] = $matches[1]; - } - - if (preg_match('/@package[\s]+([\.\w]+)/', $docComment, $matches)) { - $result['package'] = $matches[1]; - $result['fullPackage'] = $matches[1]; - } - - if (preg_match('/@subpackage[\s]+([\.\w]+)/', $docComment, $matches)) { - $result['subpackage'] = $matches[1]; - $result['fullPackage'] .= '.' . $matches[1]; - } - - if (empty($result['fullPackage'])) { - $result['fullPackage'] = $this->arrayToName( - explode('_', str_replace('\\', '_', $className)), - '.' - ); - } - - return $result; - } - - /** - * @param array $parts - * @param string $join - * - * @return string - */ - protected function arrayToName(array $parts, $join = '\\') - { - $result = ''; - - if (count($parts) > 1) { - array_pop($parts); - - $result = implode($join, $parts); - } - - return $result; - } - - /** - * @return bool|string - */ - public function getParent() - { - if (!$this->hasParent()) { - return false; - } - - $i = $this->id + 6; - $tokens = $this->tokenStream->tokens(); - $className = (string) $tokens[$i]; - - while (isset($tokens[$i + 1]) && - !$tokens[$i + 1] instanceof PHP_Token_WHITESPACE) { - $className .= (string) $tokens[++$i]; - } - - return $className; - } - - /** - * @return bool - */ - public function hasInterfaces() - { - return (isset($this->tokenStream[$this->id + 4]) && - $this->tokenStream[$this->id + 4] instanceof PHP_Token_IMPLEMENTS) || - (isset($this->tokenStream[$this->id + 8]) && - $this->tokenStream[$this->id + 8] instanceof PHP_Token_IMPLEMENTS); - } - - /** - * @return array|bool - */ - public function getInterfaces() - { - if ($this->interfaces !== null) { - return $this->interfaces; - } - - if (!$this->hasInterfaces()) { - return ($this->interfaces = false); - } - - if ($this->tokenStream[$this->id + 4] instanceof PHP_Token_IMPLEMENTS) { - $i = $this->id + 3; - } else { - $i = $this->id + 7; - } - - $tokens = $this->tokenStream->tokens(); - - while (!$tokens[$i + 1] instanceof PHP_Token_OPEN_CURLY) { - $i++; - - if ($tokens[$i] instanceof PHP_Token_STRING) { - $this->interfaces[] = (string) $tokens[$i]; - } - } - - return $this->interfaces; - } -} - -class PHP_Token_ABSTRACT extends PHP_Token -{ -} - -class PHP_Token_AMPERSAND extends PHP_Token -{ -} - -class PHP_Token_AND_EQUAL extends PHP_Token -{ -} - -class PHP_Token_ARRAY extends PHP_Token -{ -} - -class PHP_Token_ARRAY_CAST extends PHP_Token -{ -} - -class PHP_Token_AS extends PHP_Token -{ -} - -class PHP_Token_AT extends PHP_Token -{ -} - -class PHP_Token_BACKTICK extends PHP_Token -{ -} - -class PHP_Token_BAD_CHARACTER extends PHP_Token -{ -} - -class PHP_Token_BOOLEAN_AND extends PHP_Token -{ -} - -class PHP_Token_BOOLEAN_OR extends PHP_Token -{ -} - -class PHP_Token_BOOL_CAST extends PHP_Token -{ -} - -class PHP_Token_BREAK extends PHP_Token -{ -} - -class PHP_Token_CARET extends PHP_Token -{ -} - -class PHP_Token_CASE extends PHP_Token -{ -} - -class PHP_Token_CATCH extends PHP_Token -{ -} - -class PHP_Token_CHARACTER extends PHP_Token -{ -} - -class PHP_Token_CLASS extends PHP_Token_INTERFACE -{ - /** - * @var bool - */ - private $anonymous = false; - - /** - * @var string - */ - private $name; - - /** - * @return string - */ - public function getName() - { - if ($this->name !== null) { - return $this->name; - } - - $next = $this->tokenStream[$this->id + 1]; - - if ($next instanceof PHP_Token_WHITESPACE) { - $next = $this->tokenStream[$this->id + 2]; - } - - if ($next instanceof PHP_Token_STRING) { - $this->name =(string) $next; - - return $this->name; - } - - if ($next instanceof PHP_Token_OPEN_CURLY || - $next instanceof PHP_Token_EXTENDS || - $next instanceof PHP_Token_IMPLEMENTS) { - - $this->name = sprintf( - 'AnonymousClass:%s#%s', - $this->getLine(), - $this->getId() - ); - - $this->anonymous = true; - - return $this->name; - } - } - - public function isAnonymous() - { - return $this->anonymous; - } -} - -class PHP_Token_CLASS_C extends PHP_Token -{ -} - -class PHP_Token_CLASS_NAME_CONSTANT extends PHP_Token -{ -} - -class PHP_Token_CLONE extends PHP_Token -{ -} - -class PHP_Token_CLOSE_BRACKET extends PHP_Token -{ -} - -class PHP_Token_CLOSE_CURLY extends PHP_Token -{ -} - -class PHP_Token_CLOSE_SQUARE extends PHP_Token -{ -} - -class PHP_Token_CLOSE_TAG extends PHP_Token -{ -} - -class PHP_Token_COLON extends PHP_Token -{ -} - -class PHP_Token_COMMA extends PHP_Token -{ -} - -class PHP_Token_COMMENT extends PHP_Token -{ -} - -class PHP_Token_CONCAT_EQUAL extends PHP_Token -{ -} - -class PHP_Token_CONST extends PHP_Token -{ -} - -class PHP_Token_CONSTANT_ENCAPSED_STRING extends PHP_Token -{ -} - -class PHP_Token_CONTINUE extends PHP_Token -{ -} - -class PHP_Token_CURLY_OPEN extends PHP_Token -{ -} - -class PHP_Token_DEC extends PHP_Token -{ -} - -class PHP_Token_DECLARE extends PHP_Token -{ -} - -class PHP_Token_DEFAULT extends PHP_Token -{ -} - -class PHP_Token_DIV extends PHP_Token -{ -} - -class PHP_Token_DIV_EQUAL extends PHP_Token -{ -} - -class PHP_Token_DNUMBER extends PHP_Token -{ -} - -class PHP_Token_DO extends PHP_Token -{ -} - -class PHP_Token_DOC_COMMENT extends PHP_Token -{ -} - -class PHP_Token_DOLLAR extends PHP_Token -{ -} - -class PHP_Token_DOLLAR_OPEN_CURLY_BRACES extends PHP_Token -{ -} - -class PHP_Token_DOT extends PHP_Token -{ -} - -class PHP_Token_DOUBLE_ARROW extends PHP_Token -{ -} - -class PHP_Token_DOUBLE_CAST extends PHP_Token -{ -} - -class PHP_Token_DOUBLE_COLON extends PHP_Token -{ -} - -class PHP_Token_DOUBLE_QUOTES extends PHP_Token -{ -} - -class PHP_Token_ECHO extends PHP_Token -{ -} - -class PHP_Token_ELSE extends PHP_Token -{ -} - -class PHP_Token_ELSEIF extends PHP_Token -{ -} - -class PHP_Token_EMPTY extends PHP_Token -{ -} - -class PHP_Token_ENCAPSED_AND_WHITESPACE extends PHP_Token -{ -} - -class PHP_Token_ENDDECLARE extends PHP_Token -{ -} - -class PHP_Token_ENDFOR extends PHP_Token -{ -} - -class PHP_Token_ENDFOREACH extends PHP_Token -{ -} - -class PHP_Token_ENDIF extends PHP_Token -{ -} - -class PHP_Token_ENDSWITCH extends PHP_Token -{ -} - -class PHP_Token_ENDWHILE extends PHP_Token -{ -} - -class PHP_Token_END_HEREDOC extends PHP_Token -{ -} - -class PHP_Token_EQUAL extends PHP_Token -{ -} - -class PHP_Token_EVAL extends PHP_Token -{ -} - -class PHP_Token_EXCLAMATION_MARK extends PHP_Token -{ -} - -class PHP_Token_EXIT extends PHP_Token -{ -} - -class PHP_Token_EXTENDS extends PHP_Token -{ -} - -class PHP_Token_FILE extends PHP_Token -{ -} - -class PHP_Token_FINAL extends PHP_Token -{ -} - -class PHP_Token_FOR extends PHP_Token -{ -} - -class PHP_Token_FOREACH extends PHP_Token -{ -} - -class PHP_Token_FUNC_C extends PHP_Token -{ -} - -class PHP_Token_GLOBAL extends PHP_Token -{ -} - -class PHP_Token_GT extends PHP_Token -{ -} - -class PHP_Token_IF extends PHP_Token -{ -} - -class PHP_Token_IMPLEMENTS extends PHP_Token -{ -} - -class PHP_Token_INC extends PHP_Token -{ -} - -class PHP_Token_INCLUDE extends PHP_Token_Includes -{ -} - -class PHP_Token_INCLUDE_ONCE extends PHP_Token_Includes -{ -} - -class PHP_Token_INLINE_HTML extends PHP_Token -{ -} - -class PHP_Token_INSTANCEOF extends PHP_Token -{ -} - -class PHP_Token_INT_CAST extends PHP_Token -{ -} - -class PHP_Token_ISSET extends PHP_Token -{ -} - -class PHP_Token_IS_EQUAL extends PHP_Token -{ -} - -class PHP_Token_IS_GREATER_OR_EQUAL extends PHP_Token -{ -} - -class PHP_Token_IS_IDENTICAL extends PHP_Token -{ -} - -class PHP_Token_IS_NOT_EQUAL extends PHP_Token -{ -} - -class PHP_Token_IS_NOT_IDENTICAL extends PHP_Token -{ -} - -class PHP_Token_IS_SMALLER_OR_EQUAL extends PHP_Token -{ -} - -class PHP_Token_LINE extends PHP_Token -{ -} - -class PHP_Token_LIST extends PHP_Token -{ -} - -class PHP_Token_LNUMBER extends PHP_Token -{ -} - -class PHP_Token_LOGICAL_AND extends PHP_Token -{ -} - -class PHP_Token_LOGICAL_OR extends PHP_Token -{ -} - -class PHP_Token_LOGICAL_XOR extends PHP_Token -{ -} - -class PHP_Token_LT extends PHP_Token -{ -} - -class PHP_Token_METHOD_C extends PHP_Token -{ -} - -class PHP_Token_MINUS extends PHP_Token -{ -} - -class PHP_Token_MINUS_EQUAL extends PHP_Token -{ -} - -class PHP_Token_MOD_EQUAL extends PHP_Token -{ -} - -class PHP_Token_MULT extends PHP_Token -{ -} - -class PHP_Token_MUL_EQUAL extends PHP_Token -{ -} - -class PHP_Token_NEW extends PHP_Token -{ -} - -class PHP_Token_NUM_STRING extends PHP_Token -{ -} - -class PHP_Token_OBJECT_CAST extends PHP_Token -{ -} - -class PHP_Token_OBJECT_OPERATOR extends PHP_Token -{ -} - -class PHP_Token_OPEN_BRACKET extends PHP_Token -{ -} - -class PHP_Token_OPEN_CURLY extends PHP_Token -{ -} - -class PHP_Token_OPEN_SQUARE extends PHP_Token -{ -} - -class PHP_Token_OPEN_TAG extends PHP_Token -{ -} - -class PHP_Token_OPEN_TAG_WITH_ECHO extends PHP_Token -{ -} - -class PHP_Token_OR_EQUAL extends PHP_Token -{ -} - -class PHP_Token_PAAMAYIM_NEKUDOTAYIM extends PHP_Token -{ -} - -class PHP_Token_PERCENT extends PHP_Token -{ -} - -class PHP_Token_PIPE extends PHP_Token -{ -} - -class PHP_Token_PLUS extends PHP_Token -{ -} - -class PHP_Token_PLUS_EQUAL extends PHP_Token -{ -} - -class PHP_Token_PRINT extends PHP_Token -{ -} - -class PHP_Token_PRIVATE extends PHP_Token -{ -} - -class PHP_Token_PROTECTED extends PHP_Token -{ -} - -class PHP_Token_PUBLIC extends PHP_Token -{ -} - -class PHP_Token_QUESTION_MARK extends PHP_Token -{ -} - -class PHP_Token_REQUIRE extends PHP_Token_Includes -{ -} - -class PHP_Token_REQUIRE_ONCE extends PHP_Token_Includes -{ -} - -class PHP_Token_RETURN extends PHP_Token -{ -} - -class PHP_Token_SEMICOLON extends PHP_Token -{ -} - -class PHP_Token_SL extends PHP_Token -{ -} - -class PHP_Token_SL_EQUAL extends PHP_Token -{ -} - -class PHP_Token_SR extends PHP_Token -{ -} - -class PHP_Token_SR_EQUAL extends PHP_Token -{ -} - -class PHP_Token_START_HEREDOC extends PHP_Token -{ -} - -class PHP_Token_STATIC extends PHP_Token -{ -} - -class PHP_Token_STRING extends PHP_Token -{ -} - -class PHP_Token_STRING_CAST extends PHP_Token -{ -} - -class PHP_Token_STRING_VARNAME extends PHP_Token -{ -} - -class PHP_Token_SWITCH extends PHP_Token -{ -} - -class PHP_Token_THROW extends PHP_Token -{ -} - -class PHP_Token_TILDE extends PHP_Token -{ -} - -class PHP_Token_TRY extends PHP_Token -{ -} - -class PHP_Token_UNSET extends PHP_Token -{ -} - -class PHP_Token_UNSET_CAST extends PHP_Token -{ -} - -class PHP_Token_USE extends PHP_Token -{ -} - -class PHP_Token_USE_FUNCTION extends PHP_Token -{ -} - -class PHP_Token_VAR extends PHP_Token -{ -} - -class PHP_Token_VARIABLE extends PHP_Token -{ -} - -class PHP_Token_WHILE extends PHP_Token -{ -} - -class PHP_Token_WHITESPACE extends PHP_Token -{ -} - -class PHP_Token_XOR_EQUAL extends PHP_Token -{ -} - -// Tokens introduced in PHP 5.1 -class PHP_Token_HALT_COMPILER extends PHP_Token -{ -} - -// Tokens introduced in PHP 5.3 -class PHP_Token_DIR extends PHP_Token -{ -} - -class PHP_Token_GOTO extends PHP_Token -{ -} - -class PHP_Token_NAMESPACE extends PHP_TokenWithScope -{ - /** - * @return string - */ - public function getName() - { - $tokens = $this->tokenStream->tokens(); - $namespace = (string) $tokens[$this->id + 2]; - - for ($i = $this->id + 3;; $i += 2) { - if (isset($tokens[$i]) && - $tokens[$i] instanceof PHP_Token_NS_SEPARATOR) { - $namespace .= '\\' . $tokens[$i + 1]; - } else { - break; - } - } - - return $namespace; - } -} - -class PHP_Token_NS_C extends PHP_Token -{ -} - -class PHP_Token_NS_SEPARATOR extends PHP_Token -{ -} - -// Tokens introduced in PHP 5.4 -class PHP_Token_CALLABLE extends PHP_Token -{ -} - -class PHP_Token_INSTEADOF extends PHP_Token -{ -} - -class PHP_Token_TRAIT extends PHP_Token_INTERFACE -{ -} - -class PHP_Token_TRAIT_C extends PHP_Token -{ -} - -// Tokens introduced in PHP 5.5 -class PHP_Token_FINALLY extends PHP_Token -{ -} - -class PHP_Token_YIELD extends PHP_Token -{ -} - -// Tokens introduced in PHP 5.6 -class PHP_Token_ELLIPSIS extends PHP_Token -{ -} - -class PHP_Token_POW extends PHP_Token -{ -} - -class PHP_Token_POW_EQUAL extends PHP_Token -{ -} - -// Tokens introduced in PHP 7.0 -class PHP_Token_COALESCE extends PHP_Token -{ -} - -class PHP_Token_SPACESHIP extends PHP_Token -{ -} - -class PHP_Token_YIELD_FROM extends PHP_Token -{ -} - -// Tokens introduced in PHP 7.4 -class PHP_Token_COALESCE_EQUAL extends PHP_Token -{ -} - -class PHP_Token_FN extends PHP_Token -{ -} diff --git a/paragonik-backend/vendor/phpunit/php-token-stream/src/Token/Stream.php b/paragonik-backend/vendor/phpunit/php-token-stream/src/Token/Stream.php deleted file mode 100644 index 40549b9..0000000 --- a/paragonik-backend/vendor/phpunit/php-token-stream/src/Token/Stream.php +++ /dev/null @@ -1,609 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * A stream of PHP tokens. - */ -class PHP_Token_Stream implements ArrayAccess, Countable, SeekableIterator -{ - /** - * @var array - */ - protected static $customTokens = [ - '(' => 'PHP_Token_OPEN_BRACKET', - ')' => 'PHP_Token_CLOSE_BRACKET', - '[' => 'PHP_Token_OPEN_SQUARE', - ']' => 'PHP_Token_CLOSE_SQUARE', - '{' => 'PHP_Token_OPEN_CURLY', - '}' => 'PHP_Token_CLOSE_CURLY', - ';' => 'PHP_Token_SEMICOLON', - '.' => 'PHP_Token_DOT', - ',' => 'PHP_Token_COMMA', - '=' => 'PHP_Token_EQUAL', - '<' => 'PHP_Token_LT', - '>' => 'PHP_Token_GT', - '+' => 'PHP_Token_PLUS', - '-' => 'PHP_Token_MINUS', - '*' => 'PHP_Token_MULT', - '/' => 'PHP_Token_DIV', - '?' => 'PHP_Token_QUESTION_MARK', - '!' => 'PHP_Token_EXCLAMATION_MARK', - ':' => 'PHP_Token_COLON', - '"' => 'PHP_Token_DOUBLE_QUOTES', - '@' => 'PHP_Token_AT', - '&' => 'PHP_Token_AMPERSAND', - '%' => 'PHP_Token_PERCENT', - '|' => 'PHP_Token_PIPE', - '$' => 'PHP_Token_DOLLAR', - '^' => 'PHP_Token_CARET', - '~' => 'PHP_Token_TILDE', - '`' => 'PHP_Token_BACKTICK' - ]; - - /** - * @var string - */ - protected $filename; - - /** - * @var array - */ - protected $tokens = []; - - /** - * @var int - */ - protected $position = 0; - - /** - * @var array - */ - protected $linesOfCode = ['loc' => 0, 'cloc' => 0, 'ncloc' => 0]; - - /** - * @var array - */ - protected $classes; - - /** - * @var array - */ - protected $functions; - - /** - * @var array - */ - protected $includes; - - /** - * @var array - */ - protected $interfaces; - - /** - * @var array - */ - protected $traits; - - /** - * @var array - */ - protected $lineToFunctionMap = []; - - /** - * Constructor. - * - * @param string $sourceCode - */ - public function __construct($sourceCode) - { - if (is_file($sourceCode)) { - $this->filename = $sourceCode; - $sourceCode = file_get_contents($sourceCode); - } - - $this->scan($sourceCode); - } - - /** - * Destructor. - */ - public function __destruct() - { - $this->tokens = []; - } - - /** - * @return string - */ - public function __toString() - { - $buffer = ''; - - foreach ($this as $token) { - $buffer .= $token; - } - - return $buffer; - } - - /** - * @return string - */ - public function getFilename() - { - return $this->filename; - } - - /** - * Scans the source for sequences of characters and converts them into a - * stream of tokens. - * - * @param string $sourceCode - */ - protected function scan($sourceCode) - { - $id = 0; - $line = 1; - $tokens = token_get_all($sourceCode); - $numTokens = count($tokens); - - $lastNonWhitespaceTokenWasDoubleColon = false; - - for ($i = 0; $i < $numTokens; ++$i) { - $token = $tokens[$i]; - $skip = 0; - - if (is_array($token)) { - $name = substr(token_name($token[0]), 2); - $text = $token[1]; - - if ($lastNonWhitespaceTokenWasDoubleColon && $name == 'CLASS') { - $name = 'CLASS_NAME_CONSTANT'; - } elseif ($name == 'USE' && isset($tokens[$i + 2][0]) && $tokens[$i + 2][0] == T_FUNCTION) { - $name = 'USE_FUNCTION'; - $text .= $tokens[$i + 1][1] . $tokens[$i + 2][1]; - $skip = 2; - } - - $tokenClass = 'PHP_Token_' . $name; - } else { - $text = $token; - $tokenClass = self::$customTokens[$token]; - } - - $this->tokens[] = new $tokenClass($text, $line, $this, $id++); - $lines = substr_count($text, "\n"); - $line += $lines; - - if ($tokenClass == 'PHP_Token_HALT_COMPILER') { - break; - } elseif ($tokenClass == 'PHP_Token_COMMENT' || - $tokenClass == 'PHP_Token_DOC_COMMENT') { - $this->linesOfCode['cloc'] += $lines + 1; - } - - if ($name == 'DOUBLE_COLON') { - $lastNonWhitespaceTokenWasDoubleColon = true; - } elseif ($name != 'WHITESPACE') { - $lastNonWhitespaceTokenWasDoubleColon = false; - } - - $i += $skip; - } - - $this->linesOfCode['loc'] = substr_count($sourceCode, "\n"); - $this->linesOfCode['ncloc'] = $this->linesOfCode['loc'] - - $this->linesOfCode['cloc']; - } - - /** - * @return int - */ - public function count() - { - return count($this->tokens); - } - - /** - * @return PHP_Token[] - */ - public function tokens() - { - return $this->tokens; - } - - /** - * @return array - */ - public function getClasses() - { - if ($this->classes !== null) { - return $this->classes; - } - - $this->parse(); - - return $this->classes; - } - - /** - * @return array - */ - public function getFunctions() - { - if ($this->functions !== null) { - return $this->functions; - } - - $this->parse(); - - return $this->functions; - } - - /** - * @return array - */ - public function getInterfaces() - { - if ($this->interfaces !== null) { - return $this->interfaces; - } - - $this->parse(); - - return $this->interfaces; - } - - /** - * @return array - */ - public function getTraits() - { - if ($this->traits !== null) { - return $this->traits; - } - - $this->parse(); - - return $this->traits; - } - - /** - * Gets the names of all files that have been included - * using include(), include_once(), require() or require_once(). - * - * Parameter $categorize set to TRUE causing this function to return a - * multi-dimensional array with categories in the keys of the first dimension - * and constants and their values in the second dimension. - * - * Parameter $category allow to filter following specific inclusion type - * - * @param bool $categorize OPTIONAL - * @param string $category OPTIONAL Either 'require_once', 'require', - * 'include_once', 'include'. - * - * @return array - */ - public function getIncludes($categorize = false, $category = null) - { - if ($this->includes === null) { - $this->includes = [ - 'require_once' => [], - 'require' => [], - 'include_once' => [], - 'include' => [] - ]; - - foreach ($this->tokens as $token) { - switch (PHP_Token_Util::getClass($token)) { - case 'PHP_Token_REQUIRE_ONCE': - case 'PHP_Token_REQUIRE': - case 'PHP_Token_INCLUDE_ONCE': - case 'PHP_Token_INCLUDE': - $this->includes[$token->getType()][] = $token->getName(); - break; - } - } - } - - if (isset($this->includes[$category])) { - $includes = $this->includes[$category]; - } elseif ($categorize === false) { - $includes = array_merge( - $this->includes['require_once'], - $this->includes['require'], - $this->includes['include_once'], - $this->includes['include'] - ); - } else { - $includes = $this->includes; - } - - return $includes; - } - - /** - * Returns the name of the function or method a line belongs to. - * - * @return string or null if the line is not in a function or method - */ - public function getFunctionForLine($line) - { - $this->parse(); - - if (isset($this->lineToFunctionMap[$line])) { - return $this->lineToFunctionMap[$line]; - } - } - - protected function parse() - { - $this->interfaces = []; - $this->classes = []; - $this->traits = []; - $this->functions = []; - $class = []; - $classEndLine = []; - $trait = false; - $traitEndLine = false; - $interface = false; - $interfaceEndLine = false; - - foreach ($this->tokens as $token) { - switch (PHP_Token_Util::getClass($token)) { - case 'PHP_Token_HALT_COMPILER': - return; - - case 'PHP_Token_INTERFACE': - $interface = $token->getName(); - $interfaceEndLine = $token->getEndLine(); - - $this->interfaces[$interface] = [ - 'methods' => [], - 'parent' => $token->getParent(), - 'keywords' => $token->getKeywords(), - 'docblock' => $token->getDocblock(), - 'startLine' => $token->getLine(), - 'endLine' => $interfaceEndLine, - 'package' => $token->getPackage(), - 'file' => $this->filename - ]; - break; - - case 'PHP_Token_CLASS': - case 'PHP_Token_TRAIT': - $tmp = [ - 'methods' => [], - 'parent' => $token->getParent(), - 'interfaces'=> $token->getInterfaces(), - 'keywords' => $token->getKeywords(), - 'docblock' => $token->getDocblock(), - 'startLine' => $token->getLine(), - 'endLine' => $token->getEndLine(), - 'package' => $token->getPackage(), - 'file' => $this->filename - ]; - - if ($token->getName() !== null) { - if ($token instanceof PHP_Token_CLASS) { - $class[] = $token->getName(); - $classEndLine[] = $token->getEndLine(); - - $this->classes[$class[count($class) - 1]] = $tmp; - } else { - $trait = $token->getName(); - $traitEndLine = $token->getEndLine(); - $this->traits[$trait] = $tmp; - } - } - break; - - case 'PHP_Token_FUNCTION': - $name = $token->getName(); - $tmp = [ - 'docblock' => $token->getDocblock(), - 'keywords' => $token->getKeywords(), - 'visibility'=> $token->getVisibility(), - 'signature' => $token->getSignature(), - 'startLine' => $token->getLine(), - 'endLine' => $token->getEndLine(), - 'ccn' => $token->getCCN(), - 'file' => $this->filename - ]; - - if (empty($class) && - $trait === false && - $interface === false) { - $this->functions[$name] = $tmp; - - $this->addFunctionToMap( - $name, - $tmp['startLine'], - $tmp['endLine'] - ); - } elseif (!empty($class)) { - $this->classes[$class[count($class) - 1]]['methods'][$name] = $tmp; - - $this->addFunctionToMap( - $class[count($class) - 1] . '::' . $name, - $tmp['startLine'], - $tmp['endLine'] - ); - } elseif ($trait !== false) { - $this->traits[$trait]['methods'][$name] = $tmp; - - $this->addFunctionToMap( - $trait . '::' . $name, - $tmp['startLine'], - $tmp['endLine'] - ); - } else { - $this->interfaces[$interface]['methods'][$name] = $tmp; - } - break; - - case 'PHP_Token_CLOSE_CURLY': - if (!empty($classEndLine) && - $classEndLine[count($classEndLine) - 1] == $token->getLine()) { - array_pop($classEndLine); - array_pop($class); - } elseif ($traitEndLine !== false && - $traitEndLine == $token->getLine()) { - $trait = false; - $traitEndLine = false; - } elseif ($interfaceEndLine !== false && - $interfaceEndLine == $token->getLine()) { - $interface = false; - $interfaceEndLine = false; - } - break; - } - } - } - - /** - * @return array - */ - public function getLinesOfCode() - { - return $this->linesOfCode; - } - - /** - */ - public function rewind() - { - $this->position = 0; - } - - /** - * @return bool - */ - public function valid() - { - return isset($this->tokens[$this->position]); - } - - /** - * @return int - */ - public function key() - { - return $this->position; - } - - /** - * @return PHP_Token - */ - public function current() - { - return $this->tokens[$this->position]; - } - - /** - */ - public function next() - { - $this->position++; - } - - /** - * @param int $offset - * - * @return bool - */ - public function offsetExists($offset) - { - return isset($this->tokens[$offset]); - } - - /** - * @param int $offset - * - * @return mixed - * - * @throws OutOfBoundsException - */ - public function offsetGet($offset) - { - if (!$this->offsetExists($offset)) { - throw new OutOfBoundsException( - sprintf( - 'No token at position "%s"', - $offset - ) - ); - } - - return $this->tokens[$offset]; - } - - /** - * @param int $offset - * @param mixed $value - */ - public function offsetSet($offset, $value) - { - $this->tokens[$offset] = $value; - } - - /** - * @param int $offset - * - * @throws OutOfBoundsException - */ - public function offsetUnset($offset) - { - if (!$this->offsetExists($offset)) { - throw new OutOfBoundsException( - sprintf( - 'No token at position "%s"', - $offset - ) - ); - } - - unset($this->tokens[$offset]); - } - - /** - * Seek to an absolute position. - * - * @param int $position - * - * @throws OutOfBoundsException - */ - public function seek($position) - { - $this->position = $position; - - if (!$this->valid()) { - throw new OutOfBoundsException( - sprintf( - 'No token at position "%s"', - $this->position - ) - ); - } - } - - /** - * @param string $name - * @param int $startLine - * @param int $endLine - */ - private function addFunctionToMap($name, $startLine, $endLine) - { - for ($line = $startLine; $line <= $endLine; $line++) { - $this->lineToFunctionMap[$line] = $name; - } - } -} diff --git a/paragonik-backend/vendor/phpunit/php-token-stream/src/Token/Stream/CachingFactory.php b/paragonik-backend/vendor/phpunit/php-token-stream/src/Token/Stream/CachingFactory.php deleted file mode 100644 index 9d69393..0000000 --- a/paragonik-backend/vendor/phpunit/php-token-stream/src/Token/Stream/CachingFactory.php +++ /dev/null @@ -1,46 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * A caching factory for token stream objects. - */ -class PHP_Token_Stream_CachingFactory -{ - /** - * @var array - */ - protected static $cache = []; - - /** - * @param string $filename - * - * @return PHP_Token_Stream - */ - public static function get($filename) - { - if (!isset(self::$cache[$filename])) { - self::$cache[$filename] = new PHP_Token_Stream($filename); - } - - return self::$cache[$filename]; - } - - /** - * @param string $filename - */ - public static function clear($filename = null) - { - if (is_string($filename)) { - unset(self::$cache[$filename]); - } else { - self::$cache = []; - } - } -} diff --git a/paragonik-backend/vendor/phpunit/php-token-stream/src/Token/Util.php b/paragonik-backend/vendor/phpunit/php-token-stream/src/Token/Util.php deleted file mode 100644 index 4d82f1a..0000000 --- a/paragonik-backend/vendor/phpunit/php-token-stream/src/Token/Util.php +++ /dev/null @@ -1,19 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -final class PHP_Token_Util -{ - public static function getClass($object): string - { - $parts = explode('\\', get_class($object)); - - return array_pop($parts); - } -} \ No newline at end of file diff --git a/paragonik-backend/vendor/phpunit/php-token-stream/tests/Token/ClassTest.php b/paragonik-backend/vendor/phpunit/php-token-stream/tests/Token/ClassTest.php deleted file mode 100644 index 05eca32..0000000 --- a/paragonik-backend/vendor/phpunit/php-token-stream/tests/Token/ClassTest.php +++ /dev/null @@ -1,152 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -use PHPUnit\Framework\TestCase; - -class PHP_Token_ClassTest extends TestCase -{ - /** - * @var PHP_Token_CLASS - */ - private $class; - - /** - * @var PHP_Token_FUNCTION - */ - private $function; - - protected function setUp() - { - foreach (new PHP_Token_Stream(TEST_FILES_PATH . 'source2.php') as $token) { - if ($token instanceof PHP_Token_CLASS) { - $this->class = $token; - } - - if ($token instanceof PHP_Token_FUNCTION) { - $this->function = $token; - break; - } - } - } - - public function testGetClassKeywords() - { - $this->assertEquals('abstract', $this->class->getKeywords()); - } - - public function testGetFunctionKeywords() - { - $this->assertEquals('abstract,static', $this->function->getKeywords()); - } - - public function testGetFunctionVisibility() - { - $this->assertEquals('public', $this->function->getVisibility()); - } - - public function testIssue19() - { - foreach (new PHP_Token_Stream(TEST_FILES_PATH . 'issue19.php') as $token) { - if ($token instanceof PHP_Token_CLASS) { - $this->assertFalse($token->hasInterfaces()); - } - } - } - - public function testIssue30() - { - $ts = new PHP_Token_Stream(TEST_FILES_PATH . 'issue30.php'); - $this->assertCount(1, $ts->getClasses()); - } - - public function testAnonymousClassesAreHandledCorrectly() - { - $ts = new PHP_Token_Stream(TEST_FILES_PATH . 'class_with_method_that_declares_anonymous_class.php'); - - $classes = $ts->getClasses(); - - $this->assertEquals( - [ - 'class_with_method_that_declares_anonymous_class', - 'AnonymousClass:9#31', - 'AnonymousClass:10#55', - 'AnonymousClass:11#75', - 'AnonymousClass:12#91', - 'AnonymousClass:13#107' - ], - array_keys($classes) - ); - } - - /** - * @ticket https://github.com/sebastianbergmann/php-token-stream/issues/52 - */ - public function testAnonymousClassesAreHandledCorrectly2() - { - $ts = new PHP_Token_Stream(TEST_FILES_PATH . 'class_with_method_that_declares_anonymous_class2.php'); - - $classes = $ts->getClasses(); - - $this->assertEquals(['Test', 'AnonymousClass:4#23'], array_keys($classes)); - $this->assertEquals(['methodOne', 'methodTwo'], array_keys($classes['Test']['methods'])); - - $this->assertEmpty($ts->getFunctions()); - } - - public function testImportedFunctionsAreHandledCorrectly() - { - $ts = new PHP_Token_Stream(TEST_FILES_PATH . 'classUsesNamespacedFunction.php'); - - $this->assertEmpty($ts->getFunctions()); - $this->assertCount(1, $ts->getClasses()); - } - - /** - * @ticket https://github.com/sebastianbergmann/php-code-coverage/issues/543 - */ - public function testClassWithMultipleAnonymousClassesAndFunctionsIsHandledCorrectly() - { - $ts = new PHP_Token_Stream(TEST_FILES_PATH . 'class_with_multiple_anonymous_classes_and_functions.php'); - - $classes = $ts->getClasses(); - - $this->assertArrayHasKey('class_with_multiple_anonymous_classes_and_functions', $classes); - $this->assertArrayHasKey('AnonymousClass:6#23', $classes); - $this->assertArrayHasKey('AnonymousClass:12#53', $classes); - $this->assertArrayHasKey('m', $classes['class_with_multiple_anonymous_classes_and_functions']['methods']); - $this->assertArrayHasKey('anonymousFunction:18#81', $classes['class_with_multiple_anonymous_classes_and_functions']['methods']); - $this->assertArrayHasKey('anonymousFunction:22#108', $classes['class_with_multiple_anonymous_classes_and_functions']['methods']); - } - - /** - * @ticket https://github.com/sebastianbergmann/php-token-stream/issues/68 - */ - public function testClassWithMethodNamedEmptyIsHandledCorrectly() - { - $classes = (new PHP_Token_Stream(TEST_FILES_PATH . 'class_with_method_named_empty.php'))->getClasses(); - - $this->assertArrayHasKey('class_with_method_named_empty', $classes); - $this->assertArrayHasKey('empty', $classes['class_with_method_named_empty']['methods']); - } - - /** - * @ticket https://github.com/sebastianbergmann/php-code-coverage/issues/424 - */ - public function testAnonymousFunctionDoesNotAffectStartAndEndLineOfMethod() - { - $classes = (new PHP_Token_Stream(TEST_FILES_PATH . 'php-code-coverage-issue-424.php'))->getClasses(); - - $this->assertSame(5, $classes['Example']['methods']['even']['startLine']); - $this->assertSame(12, $classes['Example']['methods']['even']['endLine']); - - $this->assertSame(7, $classes['Example']['methods']['anonymousFunction:7#28']['startLine']); - $this->assertSame(9, $classes['Example']['methods']['anonymousFunction:7#28']['endLine']); - } -} diff --git a/paragonik-backend/vendor/phpunit/php-token-stream/tests/Token/ClosureTest.php b/paragonik-backend/vendor/phpunit/php-token-stream/tests/Token/ClosureTest.php deleted file mode 100644 index 4e893d8..0000000 --- a/paragonik-backend/vendor/phpunit/php-token-stream/tests/Token/ClosureTest.php +++ /dev/null @@ -1,64 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -use PHPUnit\Framework\TestCase; - -class PHP_Token_ClosureTest extends TestCase -{ - /** - * @var PHP_Token_FUNCTION[] - */ - private $functions; - - protected function setUp() - { - foreach (new PHP_Token_Stream(TEST_FILES_PATH . 'closure.php') as $token) { - if ($token instanceof PHP_Token_FUNCTION) { - $this->functions[] = $token; - } - } - } - - public function testGetArguments() - { - $this->assertEquals(['$foo' => null, '$bar' => null], $this->functions[0]->getArguments()); - $this->assertEquals(['$foo' => 'Foo', '$bar' => null], $this->functions[1]->getArguments()); - $this->assertEquals(['$foo' => null, '$bar' => null, '$baz' => null], $this->functions[2]->getArguments()); - $this->assertEquals(['$foo' => 'Foo', '$bar' => null, '$baz' => null], $this->functions[3]->getArguments()); - $this->assertEquals([], $this->functions[4]->getArguments()); - $this->assertEquals([], $this->functions[5]->getArguments()); - } - - public function testGetName() - { - $this->assertEquals('anonymousFunction:2#5', $this->functions[0]->getName()); - $this->assertEquals('anonymousFunction:3#27', $this->functions[1]->getName()); - $this->assertEquals('anonymousFunction:4#51', $this->functions[2]->getName()); - $this->assertEquals('anonymousFunction:5#71', $this->functions[3]->getName()); - $this->assertEquals('anonymousFunction:6#93', $this->functions[4]->getName()); - $this->assertEquals('anonymousFunction:7#106', $this->functions[5]->getName()); - } - - public function testGetLine() - { - $this->assertEquals(2, $this->functions[0]->getLine()); - $this->assertEquals(3, $this->functions[1]->getLine()); - $this->assertEquals(4, $this->functions[2]->getLine()); - $this->assertEquals(5, $this->functions[3]->getLine()); - } - - public function testGetEndLine() - { - $this->assertEquals(2, $this->functions[0]->getLine()); - $this->assertEquals(3, $this->functions[1]->getLine()); - $this->assertEquals(4, $this->functions[2]->getLine()); - $this->assertEquals(5, $this->functions[3]->getLine()); - } -} diff --git a/paragonik-backend/vendor/phpunit/php-token-stream/tests/Token/FunctionTest.php b/paragonik-backend/vendor/phpunit/php-token-stream/tests/Token/FunctionTest.php deleted file mode 100644 index c88454b..0000000 --- a/paragonik-backend/vendor/phpunit/php-token-stream/tests/Token/FunctionTest.php +++ /dev/null @@ -1,124 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -use PHPUnit\Framework\TestCase; - -class PHP_Token_FunctionTest extends TestCase -{ - /** - * @var PHP_Token_FUNCTION[] - */ - private $functions; - - protected function setUp() - { - foreach (new PHP_Token_Stream(TEST_FILES_PATH . 'source.php') as $token) { - if ($token instanceof PHP_Token_FUNCTION) { - $this->functions[] = $token; - } - } - } - - public function testGetArguments() - { - $this->assertEquals([], $this->functions[0]->getArguments()); - - $this->assertEquals( - ['$baz' => 'Baz'], $this->functions[1]->getArguments() - ); - - $this->assertEquals( - ['$foobar' => 'Foobar'], $this->functions[2]->getArguments() - ); - - $this->assertEquals( - ['$barfoo' => 'Barfoo'], $this->functions[3]->getArguments() - ); - - $this->assertEquals([], $this->functions[4]->getArguments()); - - $this->assertEquals(['$x' => null, '$y' => null], $this->functions[5]->getArguments()); - } - - public function testGetName() - { - $this->assertEquals('foo', $this->functions[0]->getName()); - $this->assertEquals('bar', $this->functions[1]->getName()); - $this->assertEquals('foobar', $this->functions[2]->getName()); - $this->assertEquals('barfoo', $this->functions[3]->getName()); - $this->assertEquals('baz', $this->functions[4]->getName()); - } - - public function testGetLine() - { - $this->assertEquals(5, $this->functions[0]->getLine()); - $this->assertEquals(10, $this->functions[1]->getLine()); - $this->assertEquals(17, $this->functions[2]->getLine()); - $this->assertEquals(21, $this->functions[3]->getLine()); - $this->assertEquals(29, $this->functions[4]->getLine()); - $this->assertEquals(37, $this->functions[6]->getLine()); - } - - public function testGetEndLine() - { - $this->assertEquals(5, $this->functions[0]->getEndLine()); - $this->assertEquals(12, $this->functions[1]->getEndLine()); - $this->assertEquals(19, $this->functions[2]->getEndLine()); - $this->assertEquals(23, $this->functions[3]->getEndLine()); - $this->assertEquals(31, $this->functions[4]->getEndLine()); - $this->assertEquals(41, $this->functions[6]->getEndLine()); - } - - public function testGetDocblock() - { - $this->assertNull($this->functions[0]->getDocblock()); - - $this->assertEquals( - "/**\n * @param Baz \$baz\n */", - $this->functions[1]->getDocblock() - ); - - $this->assertEquals( - "/**\n * @param Foobar \$foobar\n */", - $this->functions[2]->getDocblock() - ); - - $this->assertNull($this->functions[3]->getDocblock()); - $this->assertNull($this->functions[4]->getDocblock()); - } - - public function testSignature() - { - $tokens = new PHP_Token_Stream(TEST_FILES_PATH . 'source5.php'); - $functions = $tokens->getFunctions(); - $classes = $tokens->getClasses(); - $interfaces = $tokens->getInterfaces(); - - $this->assertEquals( - 'foo($a, array $b, array $c = array())', - $functions['foo']['signature'] - ); - - $this->assertEquals( - 'm($a, array $b, array $c = array())', - $classes['c']['methods']['m']['signature'] - ); - - $this->assertEquals( - 'm($a, array $b, array $c = array())', - $classes['a']['methods']['m']['signature'] - ); - - $this->assertEquals( - 'm($a, array $b, array $c = array())', - $interfaces['i']['methods']['m']['signature'] - ); - } -} diff --git a/paragonik-backend/vendor/phpunit/php-token-stream/tests/Token/IncludeTest.php b/paragonik-backend/vendor/phpunit/php-token-stream/tests/Token/IncludeTest.php deleted file mode 100644 index 7f83a73..0000000 --- a/paragonik-backend/vendor/phpunit/php-token-stream/tests/Token/IncludeTest.php +++ /dev/null @@ -1,53 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -use PHPUnit\Framework\TestCase; - -class PHP_Token_IncludeTest extends TestCase -{ - /** - * @var PHP_Token_Stream - */ - private $ts; - - protected function setUp() - { - $this->ts = new PHP_Token_Stream(TEST_FILES_PATH . 'source3.php'); - } - - public function testGetIncludes() - { - $this->assertSame( - ['test4.php', 'test3.php', 'test2.php', 'test1.php'], - $this->ts->getIncludes() - ); - } - - public function testGetIncludesCategorized() - { - $this->assertSame( - [ - 'require_once' => ['test4.php'], - 'require' => ['test3.php'], - 'include_once' => ['test2.php'], - 'include' => ['test1.php'] - ], - $this->ts->getIncludes(true) - ); - } - - public function testGetIncludesCategory() - { - $this->assertSame( - ['test4.php'], - $this->ts->getIncludes(true, 'require_once') - ); - } -} diff --git a/paragonik-backend/vendor/phpunit/php-token-stream/tests/Token/InterfaceTest.php b/paragonik-backend/vendor/phpunit/php-token-stream/tests/Token/InterfaceTest.php deleted file mode 100644 index c61ec38..0000000 --- a/paragonik-backend/vendor/phpunit/php-token-stream/tests/Token/InterfaceTest.php +++ /dev/null @@ -1,169 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -use PHPUnit\Framework\TestCase; - -class PHP_Token_InterfaceTest extends TestCase -{ - /** - * @var PHP_Token_CLASS - */ - private $class; - - /** - * @var PHP_Token_INTERFACE[] - */ - private $interfaces; - - protected function setUp() - { - $ts = new PHP_Token_Stream(TEST_FILES_PATH . 'source4.php'); - $i = 0; - - foreach ($ts as $token) { - if ($token instanceof PHP_Token_CLASS) { - $this->class = $token; - } elseif ($token instanceof PHP_Token_INTERFACE) { - $this->interfaces[$i] = $token; - $i++; - } - } - } - - public function testGetName() - { - $this->assertEquals( - 'iTemplate', $this->interfaces[0]->getName() - ); - } - - public function testGetParentNotExists() - { - $this->assertFalse( - $this->interfaces[0]->getParent() - ); - } - - public function testHasParentNotExists() - { - $this->assertFalse( - $this->interfaces[0]->hasParent() - ); - } - - public function testGetParentExists() - { - $this->assertEquals( - 'a', $this->interfaces[2]->getParent() - ); - } - - public function testHasParentExists() - { - $this->assertTrue( - $this->interfaces[2]->hasParent() - ); - } - - public function testGetInterfacesExists() - { - $this->assertEquals( - ['b'], - $this->class->getInterfaces() - ); - } - - public function testHasInterfacesExists() - { - $this->assertTrue( - $this->class->hasInterfaces() - ); - } - - public function testGetPackageNamespace() - { - foreach (new PHP_Token_Stream(TEST_FILES_PATH . 'classInNamespace.php') as $token) { - if ($token instanceof PHP_Token_INTERFACE) { - $package = $token->getPackage(); - $this->assertSame('Foo\\Bar', $package['namespace']); - } - } - } - - public function provideFilesWithClassesWithinMultipleNamespaces() - { - return [ - [TEST_FILES_PATH . 'multipleNamespacesWithOneClassUsingBraces.php'], - [TEST_FILES_PATH . 'multipleNamespacesWithOneClassUsingNonBraceSyntax.php'], - ]; - } - - /** - * @dataProvider provideFilesWithClassesWithinMultipleNamespaces - */ - public function testGetPackageNamespaceForFileWithMultipleNamespaces($filepath) - { - $tokenStream = new PHP_Token_Stream($filepath); - $firstClassFound = false; - - foreach ($tokenStream as $token) { - if ($firstClassFound === false && $token instanceof PHP_Token_INTERFACE) { - $package = $token->getPackage(); - $this->assertSame('TestClassInBar', $token->getName()); - $this->assertSame('Foo\\Bar', $package['namespace']); - $firstClassFound = true; - continue; - } - // Secound class - if ($token instanceof PHP_Token_INTERFACE) { - $package = $token->getPackage(); - $this->assertSame('TestClassInBaz', $token->getName()); - $this->assertSame('Foo\\Baz', $package['namespace']); - - return; - } - } - $this->fail('Searching for 2 classes failed'); - } - - public function testGetPackageNamespaceIsEmptyForInterfacesThatAreNotWithinNamespaces() - { - foreach ($this->interfaces as $token) { - $package = $token->getPackage(); - $this->assertSame('', $package['namespace']); - } - } - - public function testGetPackageNamespaceWhenExtentingFromNamespaceClass() - { - $tokenStream = new PHP_Token_Stream(TEST_FILES_PATH . 'classExtendsNamespacedClass.php'); - $firstClassFound = false; - - foreach ($tokenStream as $token) { - if ($firstClassFound === false && $token instanceof PHP_Token_INTERFACE) { - $package = $token->getPackage(); - $this->assertSame('Baz', $token->getName()); - $this->assertSame('Foo\\Bar', $package['namespace']); - $firstClassFound = true; - continue; - } - - if ($token instanceof PHP_Token_INTERFACE) { - $package = $token->getPackage(); - $this->assertSame('Extender', $token->getName()); - $this->assertSame('Other\\Space', $package['namespace']); - - return; - } - } - - $this->fail('Searching for 2 classes failed'); - } -} diff --git a/paragonik-backend/vendor/phpunit/php-token-stream/tests/Token/NamespaceTest.php b/paragonik-backend/vendor/phpunit/php-token-stream/tests/Token/NamespaceTest.php deleted file mode 100644 index 97a9224..0000000 --- a/paragonik-backend/vendor/phpunit/php-token-stream/tests/Token/NamespaceTest.php +++ /dev/null @@ -1,62 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -use PHPUnit\Framework\TestCase; - -class PHP_Token_NamespaceTest extends TestCase -{ - public function testGetName() - { - $tokenStream = new PHP_Token_Stream( - TEST_FILES_PATH . 'classInNamespace.php' - ); - - foreach ($tokenStream as $token) { - if ($token instanceof PHP_Token_NAMESPACE) { - $this->assertSame('Foo\\Bar', $token->getName()); - } - } - } - - public function testGetStartLineWithUnscopedNamespace() - { - foreach (new PHP_Token_Stream(TEST_FILES_PATH . 'classInNamespace.php') as $token) { - if ($token instanceof PHP_Token_NAMESPACE) { - $this->assertSame(2, $token->getLine()); - } - } - } - - public function testGetEndLineWithUnscopedNamespace() - { - foreach (new PHP_Token_Stream(TEST_FILES_PATH . 'classInNamespace.php') as $token) { - if ($token instanceof PHP_Token_NAMESPACE) { - $this->assertSame(2, $token->getEndLine()); - } - } - } - public function testGetStartLineWithScopedNamespace() - { - foreach (new PHP_Token_Stream(TEST_FILES_PATH . 'classInScopedNamespace.php') as $token) { - if ($token instanceof PHP_Token_NAMESPACE) { - $this->assertSame(2, $token->getLine()); - } - } - } - - public function testGetEndLineWithScopedNamespace() - { - foreach (new PHP_Token_Stream(TEST_FILES_PATH . 'classInScopedNamespace.php') as $token) { - if ($token instanceof PHP_Token_NAMESPACE) { - $this->assertSame(8, $token->getEndLine()); - } - } - } -} diff --git a/paragonik-backend/vendor/phpunit/php-token-stream/tests/_fixture/classExtendsNamespacedClass.php b/paragonik-backend/vendor/phpunit/php-token-stream/tests/_fixture/classExtendsNamespacedClass.php deleted file mode 100644 index 560eec9..0000000 --- a/paragonik-backend/vendor/phpunit/php-token-stream/tests/_fixture/classExtendsNamespacedClass.php +++ /dev/null @@ -1,10 +0,0 @@ -method_in_anonymous_class(); - } - - public function methodTwo() { - return false; - } -} diff --git a/paragonik-backend/vendor/phpunit/php-token-stream/tests/_fixture/class_with_multiple_anonymous_classes_and_functions.php b/paragonik-backend/vendor/phpunit/php-token-stream/tests/_fixture/class_with_multiple_anonymous_classes_and_functions.php deleted file mode 100644 index 3267ba5..0000000 --- a/paragonik-backend/vendor/phpunit/php-token-stream/tests/_fixture/class_with_multiple_anonymous_classes_and_functions.php +++ /dev/null @@ -1,26 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -require __DIR__ . '/../vendor/autoload.php'; - -define( - 'TEST_FILES_PATH', - __DIR__ . DIRECTORY_SEPARATOR . '_fixture' . DIRECTORY_SEPARATOR -); diff --git a/paragonik-backend/vendor/phpunit/phpunit/.editorconfig b/paragonik-backend/vendor/phpunit/phpunit/.editorconfig deleted file mode 100644 index 536f29a..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/.editorconfig +++ /dev/null @@ -1,14 +0,0 @@ -root = true - -[*] -end_of_line = lf -insert_final_newline = true -indent_style = space -indent_size = 4 -charset = utf-8 - -[*.yml] -indent_size = 2 - -[tests/_files/*_result_cache.txt] -insert_final_newline = false diff --git a/paragonik-backend/vendor/phpunit/phpunit/.gitattributes b/paragonik-backend/vendor/phpunit/phpunit/.gitattributes deleted file mode 100644 index 3a79906..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/.gitattributes +++ /dev/null @@ -1,6 +0,0 @@ -/build export-ignore -/tools export-ignore -/tools/* binary - -*.php diff=php - diff --git a/paragonik-backend/vendor/phpunit/phpunit/.github/CODE_OF_CONDUCT.md b/paragonik-backend/vendor/phpunit/phpunit/.github/CODE_OF_CONDUCT.md deleted file mode 100644 index ee242a8..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/.github/CODE_OF_CONDUCT.md +++ /dev/null @@ -1,28 +0,0 @@ -# Contributor Code of Conduct - -As contributors and maintainers of this project, and in the interest of fostering an open and welcoming community, we pledge to respect all people who contribute through reporting issues, posting feature requests, updating documentation, submitting pull requests or patches, and other activities. - -We are committed to making participation in this project a harassment-free experience for everyone, regardless of level of experience, gender, gender identity and expression, sexual orientation, disability, personal appearance, body size, race, ethnicity, age, religion, or nationality. - -Examples of unacceptable behavior by participants include: - -* The use of sexualized language or imagery -* Personal attacks -* Trolling or insulting/derogatory comments -* Public or private harassment -* Publishing other's private information, such as physical or electronic - addresses, without explicit permission -* Other unethical or unprofessional conduct - -Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. - -By adopting this Code of Conduct, project maintainers commit themselves to fairly and consistently applying these principles to every aspect of managing this project. Project maintainers who do not follow or enforce the Code of Conduct may be permanently removed from the project team. - -This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. - -Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project maintainer at sebastian@phpunit.de. All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances. Maintainers are obligated to maintain confidentiality with regard to the reporter of an incident. - -This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.3.0, available at [https://contributor-covenant.org/version/1/3/0/][version] - -[homepage]: https://contributor-covenant.org -[version]: https://contributor-covenant.org/version/1/3/0/ diff --git a/paragonik-backend/vendor/phpunit/phpunit/.github/CONTRIBUTING.md b/paragonik-backend/vendor/phpunit/phpunit/.github/CONTRIBUTING.md deleted file mode 100644 index 6f593df..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/.github/CONTRIBUTING.md +++ /dev/null @@ -1,68 +0,0 @@ -# Contributing to PHPUnit - -## Contributor Code of Conduct - -Please note that this project is released with a [Contributor Code of Conduct](CODE_OF_CONDUCT.md). By participating in this project you agree to abide by its terms. - -## Workflow - -* Fork the project. -* Make your bug fix or feature addition. -* Add tests for it. This is important so we don't break it in a future version unintentionally. -* Send a pull request. Bonus points for topic branches. - -Please make sure that you have [set up your user name and email address](https://git-scm.com/book/en/v2/Getting-Started-First-Time-Git-Setup) for use with Git. Strings such as `silly nick name ` look really stupid in the commit history of a project. - -Pull requests for bug fixes must be made for the oldest branch that is [supported](https://phpunit.de/supported-versions.html). Pull requests for new features must be based on the `master` branch. - -We are trying to keep backwards compatibility breaks in PHPUnit to an absolute minimum. Please take this into account when proposing changes. - -Due to time constraints, we are not always able to respond as quickly as we would like. Please do not take delays personal and feel free to remind us if you feel that we forgot to respond. - -## Coding Guidelines - -This project comes with a configuration file and an executable for [php-cs-fixer](https://github.com/FriendsOfPHP/PHP-CS-Fixer) (`.php_cs`) that you can use to (re)format your source code for compliance with this project's coding guidelines: - -```bash -$ ./tools/php-cs-fixer fix -``` - -## Using PHPUnit from a Git checkout - -The following commands can be used to perform the initial checkout of PHPUnit: - -```bash -$ git clone git://github.com/sebastianbergmann/phpunit.git - -$ cd phpunit -``` - -Retrieve PHPUnit's dependencies using [Composer](https://getcomposer.org/): - -```bash -$ ./tools/composer install -``` - -The `phpunit` script can be used to invoke the PHPUnit test runner: - -```bash -$ ./phpunit --version -``` - -## Running PHPUnit's own test suite - -After following the steps shown above, PHPUnit's own test suite is run like this: - -```bash -$ ./phpunit -``` - -## Reporting issues - -Please use the most specific issue tracker to search for existing tickets and to open new tickets: - -* [General problems](https://github.com/sebastianbergmann/phpunit/issues) -* [Code Coverage](https://github.com/sebastianbergmann/php-code-coverage/issues) -* [Documentation](https://github.com/sebastianbergmann/phpunit-documentation-english/issues) -* [Website](https://github.com/sebastianbergmann/phpunit-website/issues) - diff --git a/paragonik-backend/vendor/phpunit/phpunit/.github/ISSUE_TEMPLATE.md b/paragonik-backend/vendor/phpunit/phpunit/.github/ISSUE_TEMPLATE.md deleted file mode 100644 index ad1dc39..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/.github/ISSUE_TEMPLATE.md +++ /dev/null @@ -1,15 +0,0 @@ -| Q | A -| --------------------| --------------- -| PHPUnit version | x.y.z -| PHP version | x.y.z -| Installation Method | Composer / PHAR - - - diff --git a/paragonik-backend/vendor/phpunit/phpunit/.github/workflows/ci.yml b/paragonik-backend/vendor/phpunit/phpunit/.github/workflows/ci.yml deleted file mode 100644 index 8c175f2..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/.github/workflows/ci.yml +++ /dev/null @@ -1,18 +0,0 @@ -# https://help.github.com/en/categories/automating-your-workflow-with-github-actions - -on: - - push - - pull_request - -name: CI - -jobs: - coding-guidelines: - name: Coding Guidelines - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@master - - - name: Run friendsofphp/php-cs-fixer - run: php7.3 tools/php-cs-fixer fix --diff-format=udiff --dry-run --show-progress=dots --using-cache=no --verbose diff --git a/paragonik-backend/vendor/phpunit/phpunit/.gitignore b/paragonik-backend/vendor/phpunit/phpunit/.gitignore deleted file mode 100644 index 9416cae..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/.gitignore +++ /dev/null @@ -1,20 +0,0 @@ -/.ant_targets -/.idea -/.php_cs -/.php_cs.cache -/build/documentation -/build/logfiles -/build/phar -/build/phpdox -/build/*.phar -/build/*.phar.asc -/build/binary-phar-autoload.php -/cache.properties -/composer.lock -/tests/end-to-end/*.diff -/tests/end-to-end/*.exp -/tests/end-to-end/*.log -/tests/end-to-end/*.out -/tests/end-to-end/*.php -/vendor -.phpunit.result.cache diff --git a/paragonik-backend/vendor/phpunit/phpunit/.php_cs.dist b/paragonik-backend/vendor/phpunit/phpunit/.php_cs.dist deleted file mode 100644 index 30439ff..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/.php_cs.dist +++ /dev/null @@ -1,201 +0,0 @@ - - -For the full copyright and license information, please view the LICENSE -file that was distributed with this source code. -EOF; - -return PhpCsFixer\Config::create() - ->setRiskyAllowed(true) - ->setRules( - [ - 'align_multiline_comment' => true, - 'array_indentation' => true, - 'array_syntax' => ['syntax' => 'short'], - 'binary_operator_spaces' => [ - 'operators' => [ - '=' => 'align', - '=>' => 'align', - ], - ], - 'blank_line_after_namespace' => true, - 'blank_line_before_statement' => [ - 'statements' => [ - 'break', - 'continue', - 'declare', - 'do', - 'for', - 'foreach', - 'if', - 'include', - 'include_once', - 'require', - 'require_once', - 'return', - 'switch', - 'throw', - 'try', - 'while', - 'yield', - ], - ], - 'braces' => true, - 'cast_spaces' => true, - 'class_attributes_separation' => ['elements' => ['const', 'method', 'property']], - 'combine_consecutive_issets' => true, - 'combine_consecutive_unsets' => true, - 'compact_nullable_typehint' => true, - 'concat_space' => ['spacing' => 'one'], - 'declare_equal_normalize' => ['space' => 'none'], - 'dir_constant' => true, - 'elseif' => true, - 'encoding' => true, - 'full_opening_tag' => true, - 'function_declaration' => true, - 'header_comment' => ['header' => $header, 'separate' => 'none'], - 'indentation_type' => true, - 'is_null' => true, - 'line_ending' => true, - 'list_syntax' => ['syntax' => 'short'], - 'logical_operators' => true, - 'lowercase_cast' => true, - 'lowercase_constants' => true, - 'lowercase_keywords' => true, - 'lowercase_static_reference' => true, - 'magic_constant_casing' => true, - 'method_argument_space' => ['ensure_fully_multiline' => true], - 'modernize_types_casting' => true, - 'multiline_comment_opening_closing' => true, - 'multiline_whitespace_before_semicolons' => true, - 'native_constant_invocation' => true, - 'native_function_casing' => true, - 'native_function_invocation' => true, - 'new_with_braces' => false, - 'no_alias_functions' => true, - 'no_alternative_syntax' => true, - 'no_blank_lines_after_class_opening' => true, - 'no_blank_lines_after_phpdoc' => true, - 'no_blank_lines_before_namespace' => true, - 'no_closing_tag' => true, - 'no_empty_comment' => true, - 'no_empty_phpdoc' => true, - 'no_empty_statement' => true, - 'no_extra_blank_lines' => true, - 'no_homoglyph_names' => true, - 'no_leading_import_slash' => true, - 'no_leading_namespace_whitespace' => true, - 'no_mixed_echo_print' => ['use' => 'print'], - 'no_multiline_whitespace_around_double_arrow' => true, - 'no_null_property_initialization' => true, - 'no_php4_constructor' => true, - 'no_short_bool_cast' => true, - 'no_short_echo_tag' => true, - 'no_singleline_whitespace_before_semicolons' => true, - 'no_spaces_after_function_name' => true, - 'no_spaces_inside_parenthesis' => true, - 'no_superfluous_elseif' => true, - 'no_superfluous_phpdoc_tags' => true, - 'no_trailing_comma_in_list_call' => true, - 'no_trailing_comma_in_singleline_array' => true, - 'no_trailing_whitespace' => true, - 'no_trailing_whitespace_in_comment' => true, - 'no_unneeded_control_parentheses' => true, - 'no_unneeded_curly_braces' => true, - 'no_unneeded_final_method' => true, - 'no_unreachable_default_argument_value' => true, - 'no_unset_on_property' => true, - 'no_unused_imports' => true, - 'no_useless_else' => true, - 'no_useless_return' => true, - 'no_whitespace_before_comma_in_array' => true, - 'no_whitespace_in_blank_line' => true, - 'non_printable_character' => true, - 'normalize_index_brace' => true, - 'object_operator_without_whitespace' => true, - 'ordered_class_elements' => [ - 'order' => [ - 'use_trait', - 'constant_public', - 'constant_protected', - 'constant_private', - 'property_public_static', - 'property_protected_static', - 'property_private_static', - 'property_public', - 'property_protected', - 'property_private', - 'method_public_static', - 'construct', - 'destruct', - 'magic', - 'phpunit', - 'method_public', - 'method_protected', - 'method_private', - 'method_protected_static', - 'method_private_static', - ], - ], - 'ordered_imports' => true, - 'ordered_interfaces' => [ - 'direction' => 'ascend', - 'order' => 'alpha', - ], - 'phpdoc_add_missing_param_annotation' => true, - 'phpdoc_align' => true, - 'phpdoc_annotation_without_dot' => true, - 'phpdoc_indent' => true, - 'phpdoc_no_access' => true, - 'phpdoc_no_empty_return' => true, - 'phpdoc_no_package' => true, - 'phpdoc_order' => true, - 'phpdoc_return_self_reference' => true, - 'phpdoc_scalar' => true, - 'phpdoc_separation' => true, - 'phpdoc_single_line_var_spacing' => true, - 'phpdoc_to_comment' => true, - 'phpdoc_trim' => true, - 'phpdoc_trim_consecutive_blank_line_separation' => true, - 'phpdoc_types' => ['groups' => ['simple', 'meta']], - 'phpdoc_types_order' => true, - 'phpdoc_var_without_name' => true, - 'pow_to_exponentiation' => true, - 'protected_to_private' => true, - 'return_assignment' => true, - 'return_type_declaration' => ['space_before' => 'none'], - 'self_accessor' => true, - 'semicolon_after_instruction' => true, - 'set_type_to_cast' => true, - 'short_scalar_cast' => true, - 'simplified_null_return' => false, - 'single_blank_line_at_eof' => true, - 'single_import_per_statement' => true, - 'single_line_after_imports' => true, - 'single_quote' => true, - 'standardize_not_equals' => true, - 'ternary_to_null_coalescing' => true, - 'trailing_comma_in_multiline_array' => true, - 'trim_array_spaces' => true, - 'unary_operator_spaces' => true, - 'visibility_required' => [ - 'elements' => [ - 'const', - 'method', - 'property', - ], - ], - //'void_return' => true, - 'whitespace_after_comma_in_array' => true, - ] - ) - ->setFinder( - PhpCsFixer\Finder::create() - ->files() - ->in(__DIR__ . '/src') - ->in(__DIR__ . '/tests') - ->notName('*.phpt') - ); diff --git a/paragonik-backend/vendor/phpunit/phpunit/.travis.yml b/paragonik-backend/vendor/phpunit/phpunit/.travis.yml deleted file mode 100644 index 5c43040..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/.travis.yml +++ /dev/null @@ -1,46 +0,0 @@ -language: php - -addons: - apt: - packages: - - libxml2-utils - -php: - - 7.1 - - 7.2 - - 7.3 - -matrix: - fast_finish: true - -env: - matrix: - - DEPENDENCIES="high" - - DEPENDENCIES="low" - global: - - DEFAULT_COMPOSER_FLAGS="--no-interaction --no-ansi --no-progress --no-suggest" - -before_install: - - ./tools/composer clear-cache - -install: - - if [[ "$DEPENDENCIES" = 'high' ]]; then travis_retry ./tools/composer update $DEFAULT_COMPOSER_FLAGS; fi - - if [[ "$DEPENDENCIES" = 'low' ]]; then travis_retry ./tools/composer update $DEFAULT_COMPOSER_FLAGS --prefer-lowest; fi - -before_script: - - echo 'zend.assertions=1' >> ~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/travis.ini - - echo 'assert.exception=On' >> ~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/travis.ini - -script: - - ./phpunit --coverage-clover=coverage.xml - - ./phpunit --configuration ./build/travis-ci-fail.xml > /dev/null; if [ $? -eq 0 ]; then echo "SHOULD FAIL"; false; else echo "fail checked"; fi; - - xmllint --noout --schema phpunit.xsd phpunit.xml - - xmllint --noout --schema phpunit.xsd tests/_files/configuration.xml - - xmllint --noout --schema phpunit.xsd tests/_files/configuration_empty.xml - - xmllint --noout --schema phpunit.xsd tests/_files/configuration_xinclude.xml -xinclude - -after_success: - - bash <(curl -s https://codecov.io/bash) - -notifications: - email: false diff --git a/paragonik-backend/vendor/phpunit/phpunit/ChangeLog-7.5.md b/paragonik-backend/vendor/phpunit/phpunit/ChangeLog-7.5.md deleted file mode 100644 index 43e8133..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/ChangeLog-7.5.md +++ /dev/null @@ -1,173 +0,0 @@ -# Changes in PHPUnit 7.5 - -All notable changes of the PHPUnit 7.5 release series are documented in this file using the [Keep a CHANGELOG](http://keepachangelog.com/) principles. - -## [7.5.17] - 2019-10-28 - -### Fixed - -* Fixed [#3727](https://github.com/sebastianbergmann/phpunit/issues/3727): Problem hidden by PHPUnit's error handler -* Fixed [#3863](https://github.com/sebastianbergmann/phpunit/pull/3863): `\Countable` needs to be checked before `\EmptyIterator` - -## [7.5.16] - 2019-09-14 - -### Fixed - -* Fixed [#3801](https://github.com/sebastianbergmann/phpunit/issues/3801): Class constant as default parameter is undefined -* Fixed [#3834](https://github.com/sebastianbergmann/phpunit/issues/3834): Trailing slash breaks code coverage on Windows - -## [7.5.15] - 2019-08-21 - -### Changed - -* Implemented [#3765](https://github.com/sebastianbergmann/phpunit/pull/3765): Use `ReflectionType::getName()` instead of `ReflectionType::__toString()` (which is deprecated in PHP 7.4) - -## [7.5.14] - 2019-07-15 - -### Fixed - -* Fixed [#3743](https://github.com/sebastianbergmann/phpunit/issues/3743): `EmptyIterator` instances are not handled correctly by `Count` and `IsEmpty` constraints - -## [7.5.13] - 2019-06-19 - -### Fixed - -* Fixed [#3722](https://github.com/sebastianbergmann/phpunit/issues/3722): `getObjectForTrait()` does not work for traits that declare a constructor -* Fixed [#3723](https://github.com/sebastianbergmann/phpunit/pull/3723): Unescaped dash in character group in regular expression - -## [7.5.12] - 2019-05-28 - -### Changed - -* After each test, `libxml_clear_errors()` is now called to clear the libxml error buffer - -### Fixed - -* Fixed [#3694](https://github.com/sebastianbergmann/phpunit/pull/3694): Constructor arguments for `Throwable` and `Exception` are ignored -* Fixed [#3709](https://github.com/sebastianbergmann/phpunit/pull/3709): Method-level `@coversNothing` annotation does not prevent code coverage data collection - -## [7.5.11] - 2019-05-14 - -### Fixed - -* Fixed [#3683](https://github.com/sebastianbergmann/phpunit/issues/3683): Regression in PHPUnit 7.5.10 with regard to Exception stubbing/mocking - -## [7.5.10] - 2019-05-09 - -### Fixed - -* Fixed [#3414](https://github.com/sebastianbergmann/phpunit/pull/3414): `willThrowException()` only accepts `Exception`, not `Throwable` -* Fixed [#3587](https://github.com/sebastianbergmann/phpunit/issues/3587): `.phpunit.result.cache` file is all over the place -* Fixed [#3596](https://github.com/sebastianbergmann/phpunit/issues/3596): Mocking an interface that extends another interface forgets to mock its own methods -* Fixed [#3674](https://github.com/sebastianbergmann/phpunit/issues/3674): `TypeError` when an incorrect file path is given - -## [7.5.9] - 2019-04-19 - -### Fixed - -* Fixed [#3607](https://github.com/sebastianbergmann/phpunit/issues/3607): Return value generation interferes with proxying to original method - -## [7.5.8] - 2019-03-26 - -### Fixed - -* Fixed [#3564](https://github.com/sebastianbergmann/phpunit/issues/3564): Production code uses class from test suite's fixture - -## [7.5.7] - 2019-03-16 - -### Fixed - -* Fixed [#3480](https://github.com/sebastianbergmann/phpunit/issues/3480): Wrong return type declaration for `TestCase::getExpectedExceptionMessage()` and `TestCase::getExpectedExceptionMessageRegExp()` -* Fixed [#3550](https://github.com/sebastianbergmann/phpunit/issues/3550): Check for valid attribute names in `assertObjectHasAttribute()` is too strict - -## [7.5.6] - 2019-02-18 - -### Fixed - -* Fixed [#3530](https://github.com/sebastianbergmann/phpunit/issues/3530): `generateClassFromWsdl()` does not handle methods with multiple output values -* Fixed [#3531](https://github.com/sebastianbergmann/phpunit/issues/3531): Test suite fails on warning -* Fixed [#3534](https://github.com/sebastianbergmann/phpunit/pull/3534): Wrong message in `ConstraintTestCase` - -## [7.5.5] - 2019-02-15 - -### Fixed - -* Fixed [#3011](https://github.com/sebastianbergmann/phpunit/issues/3011): Unsupported PHPT `--SECTION--` throws unhandled exception -* Fixed [#3461](https://github.com/sebastianbergmann/phpunit/issues/3461): `StringEndsWith` matches too loosely -* Fixed [#3515](https://github.com/sebastianbergmann/phpunit/issues/3515): Random order seed is only printed in verbose mode -* Fixed [#3517](https://github.com/sebastianbergmann/phpunit/issues/3517): Useless error message when depending on test that does not exist - -## [7.5.4] - 2019-02-07 - -### Fixed - -* Fixed [#3352](https://github.com/sebastianbergmann/phpunit/issues/3352): Using `phpunit.phar` with PHPDBG does not work with `auto_globals_jit=On` -* Fixed [#3502](https://github.com/sebastianbergmann/phpunit/issues/3502): Numeric `@ticket` or `@group` annotations no longer work - -## [7.5.3] - 2019-02-01 - -### Fixed - -* Fixed [#3490](https://github.com/sebastianbergmann/phpunit/pull/3490): Exceptions in `tearDownAfterClass()` kill PHPUnit - -### Deprecated - -* The method `assertArraySubset()` is now deprecated. There is no behavioral change in this version of PHPUnit. Using this method will trigger a deprecation warning in PHPUnit 8 and in PHPUnit 9 this method will be removed. - -## [7.5.2] - 2019-01-15 - -### Fixed - -* Fixed [#3456](https://github.com/sebastianbergmann/phpunit/pull/3456): Generator for Xdebug filter script does not handle directories with leading `.` correctly -* Fixed [#3459](https://github.com/sebastianbergmann/phpunit/issues/3459): `@requires` function swallows digits at the end of function name - -## [7.5.1] - 2018-12-12 - -### Fixed - -* Fixed [#3441](https://github.com/sebastianbergmann/phpunit/issues/3441): Call to undefined method `DataProviderTestSuite::usesDataProvider()` - -## [7.5.0] - 2018-12-07 - -### Added - -* Implemented [#3340](https://github.com/sebastianbergmann/phpunit/issues/3340): Added `assertEqualsCanonicalizing()`, `assertEqualsIgnoringCase()`, `assertEqualsWithDelta()`, `assertNotEqualsCanonicalizing()`, `assertNotEqualsIgnoringCase()`, and `assertNotEqualsWithDelta()` as alternatives to using `assertEquals()` and `assertNotEquals()` with the `$delta`, `$canonicalize`, or `$ignoreCase` parameters -* Implemented [#3368](https://github.com/sebastianbergmann/phpunit/issues/3368): Added `assertIsArray()`, `assertIsBool()`, `assertIsFloat()`, `assertIsInt()`, `assertIsNumeric()`, `assertIsObject()`, `assertIsResource()`, `assertIsString()`, `assertIsScalar()`, `assertIsCallable()`, `assertIsIterable()`, `assertIsNotArray()`, `assertIsNotBool()`, `assertIsNotFloat()`, `assertIsNotInt()`, `assertIsNotNumeric()`, `assertIsNotObject()`, `assertIsNotResource()`, `assertIsNotString()`, `assertIsNotScalar()`, `assertIsNotCallable()`, `assertIsNotIterable()` as alternatives to `assertInternalType()` and `assertNotInternalType()` -* Implemented [#3391](https://github.com/sebastianbergmann/phpunit/issues/3391): Added a `TestHook` that fires after each test, regardless of result -* Implemented [#3417](https://github.com/sebastianbergmann/phpunit/pull/3417): Refinements related to test suite sorting and TestDox result printer -* Implemented [#3422](https://github.com/sebastianbergmann/phpunit/issues/3422): Added `assertStringContainsString()`, `assertStringContainsStringIgnoringCase()`, `assertStringNotContainsString()`, and `assertStringNotContainsStringIgnoringCase()` - -### Deprecated - -* The methods `assertInternalType()` and `assertNotInternalType()` are now deprecated. There is no behavioral change in this version of PHPUnit. Using these methods will trigger a deprecation warning in PHPUnit 8 and in PHPUnit 9 these methods will be removed. -* The methods `assertAttributeContains()`, `assertAttributeNotContains()`, `assertAttributeContainsOnly()`, `assertAttributeNotContainsOnly()`, `assertAttributeCount()`, `assertAttributeNotCount()`, `assertAttributeEquals()`, `assertAttributeNotEquals()`, `assertAttributeEmpty()`, `assertAttributeNotEmpty()`, `assertAttributeGreaterThan()`, `assertAttributeGreaterThanOrEqual()`, `assertAttributeLessThan()`, `assertAttributeLessThanOrEqual()`, `assertAttributeSame()`, `assertAttributeNotSame()`, `assertAttributeInstanceOf()`, `assertAttributeNotInstanceOf()`, `assertAttributeInternalType()`, `assertAttributeNotInternalType()`, `attributeEqualTo()`, `readAttribute()`, `getStaticAttribute()`, and `getObjectAttribute()` are now deprecated. There is no behavioral change in this version of PHPUnit. Using these methods will trigger a deprecation warning in PHPUnit 8 and in PHPUnit 9 these methods will be removed. -* The optional parameters `$delta`, `$maxDepth`, `$canonicalize`, and `$ignoreCase` of `assertEquals()` and `assertNotEquals()` are now deprecated. There is no behavioral change in this version of PHPUnit. Using these parameters will trigger a deprecation warning in PHPUnit 8 and in PHPUnit 9 these parameters will be removed. -* The annotations `@expectedException`, `@expectedExceptionCode`, `@expectedExceptionMessage`, and `@expectedExceptionMessageRegExp` are now deprecated. There is no behavioral change in this version of PHPUnit. Using these annotations will trigger a deprecation warning in PHPUnit 8 and in PHPUnit 9 these annotations will be removed. -* Using the methods `assertContains()` and `assertNotContains()` on `string` haystacks is now deprecated. There is no behavioral change in this version of PHPUnit. Using these methods on `string` haystacks will trigger a deprecation warning in PHPUnit 8 and in PHPUnit 9 these methods cannot be used on on `string` haystacks anymore. -* The optional parameters `$ignoreCase`, `$checkForObjectIdentity`, and `$checkForNonObjectIdentity` of `assertContains()` and `assertNotContains()` are now deprecated. There is no behavioral change in this version of PHPUnit. Using these parameters will trigger a deprecation warning in PHPUnit 8 and in PHPUnit 9 these parameters will be removed. - -### Fixed - -* Fixed [#3428](https://github.com/sebastianbergmann/phpunit/pull/3428): `TestSuite` setup failures are not logged correctly -* Fixed [#3429](https://github.com/sebastianbergmann/phpunit/pull/3429): Inefficient loop in `getHookMethods()` -* Fixed [#3437](https://github.com/sebastianbergmann/phpunit/pull/3437): JUnit logger skips PHPT tests - -[7.5.17]: https://github.com/sebastianbergmann/phpunit/compare/7.5.16...7.5.17 -[7.5.16]: https://github.com/sebastianbergmann/phpunit/compare/7.5.15...7.5.16 -[7.5.15]: https://github.com/sebastianbergmann/phpunit/compare/7.5.14...7.5.15 -[7.5.14]: https://github.com/sebastianbergmann/phpunit/compare/7.5.13...7.5.14 -[7.5.13]: https://github.com/sebastianbergmann/phpunit/compare/7.5.12...7.5.13 -[7.5.12]: https://github.com/sebastianbergmann/phpunit/compare/7.5.11...7.5.12 -[7.5.11]: https://github.com/sebastianbergmann/phpunit/compare/7.5.10...7.5.11 -[7.5.10]: https://github.com/sebastianbergmann/phpunit/compare/7.5.9...7.5.10 -[7.5.9]: https://github.com/sebastianbergmann/phpunit/compare/7.5.8...7.5.9 -[7.5.8]: https://github.com/sebastianbergmann/phpunit/compare/7.5.7...7.5.8 -[7.5.7]: https://github.com/sebastianbergmann/phpunit/compare/7.5.6...7.5.7 -[7.5.6]: https://github.com/sebastianbergmann/phpunit/compare/7.5.5...7.5.6 -[7.5.5]: https://github.com/sebastianbergmann/phpunit/compare/7.5.4...7.5.5 -[7.5.4]: https://github.com/sebastianbergmann/phpunit/compare/7.5.3...7.5.4 -[7.5.3]: https://github.com/sebastianbergmann/phpunit/compare/7.5.2...7.5.3 -[7.5.2]: https://github.com/sebastianbergmann/phpunit/compare/7.5.1...7.5.2 -[7.5.1]: https://github.com/sebastianbergmann/phpunit/compare/7.5.0...7.5.1 -[7.5.0]: https://github.com/sebastianbergmann/phpunit/compare/7.4.5...7.5.0 - diff --git a/paragonik-backend/vendor/phpunit/phpunit/LICENSE b/paragonik-backend/vendor/phpunit/phpunit/LICENSE deleted file mode 100644 index 46fabcb..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/LICENSE +++ /dev/null @@ -1,33 +0,0 @@ -PHPUnit - -Copyright (c) 2001-2019, Sebastian Bergmann . -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of Sebastian Bergmann nor the names of his - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. diff --git a/paragonik-backend/vendor/phpunit/phpunit/README.md b/paragonik-backend/vendor/phpunit/phpunit/README.md deleted file mode 100644 index ac52cee..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/README.md +++ /dev/null @@ -1,40 +0,0 @@ -# PHPUnit - -PHPUnit is a programmer-oriented testing framework for PHP. It is an instance of the xUnit architecture for unit testing frameworks. - -[![Latest Stable Version](https://img.shields.io/packagist/v/phpunit/phpunit.svg?style=flat-square)](https://packagist.org/packages/phpunit/phpunit) -[![Minimum PHP Version](https://img.shields.io/badge/php-%3E%3D%207.1-8892BF.svg?style=flat-square)](https://php.net/) -[![Build Status](https://img.shields.io/travis/sebastianbergmann/phpunit/7.5.svg?style=flat-square)](https://phpunit.de/build-status.html) - -## Installation - -We distribute a [PHP Archive (PHAR)](https://php.net/phar) that has all required (as well as some optional) dependencies of PHPUnit 7.5 bundled in a single file: - -```bash -$ wget https://phar.phpunit.de/phpunit-7.5.phar - -$ php phpunit-7.5.phar --version -``` - -Alternatively, you may use [Composer](https://getcomposer.org/) to download and install PHPUnit as well as its dependencies. Please refer to the "[Getting Started](https://phpunit.de/getting-started-with-phpunit.html)" guide for details on how to install PHPUnit. - -## Contribute - -Please refer to [CONTRIBUTING.md](https://github.com/sebastianbergmann/phpunit/blob/master/.github/CONTRIBUTING.md) for information on how to contribute to PHPUnit and its related projects. - -## List of Contributors - -Thanks to everyone who has contributed to PHPUnit! You can find a detailed list of contributors on every PHPUnit related package on GitHub. This list shows only the major components: - -* [PHPUnit](https://github.com/sebastianbergmann/phpunit/graphs/contributors) -* [php-code-coverage](https://github.com/sebastianbergmann/php-code-coverage/graphs/contributors) - -A very special thanks to everyone who has contributed to the documentation and helps maintain the translations: - -* [English](https://github.com/sebastianbergmann/phpunit-documentation-english/graphs/contributors) -* [Spanish](https://github.com/sebastianbergmann/phpunit-documentation-spanish/graphs/contributors) -* [French](https://github.com/sebastianbergmann/phpunit-documentation-french/graphs/contributors) -* [Japanese](https://github.com/sebastianbergmann/phpunit-documentation-japanese/graphs/contributors) -* [Brazilian Portuguese](https://github.com/sebastianbergmann/phpunit-documentation-brazilian-portuguese/graphs/contributors) -* [Simplified Chinese](https://github.com/sebastianbergmann/phpunit-documentation-chinese/graphs/contributors) - diff --git a/paragonik-backend/vendor/phpunit/phpunit/build.xml b/paragonik-backend/vendor/phpunit/phpunit/build.xml deleted file mode 100644 index 2bdb1a4..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/build.xml +++ /dev/null @@ -1,428 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/paragonik-backend/vendor/phpunit/phpunit/composer.json b/paragonik-backend/vendor/phpunit/phpunit/composer.json deleted file mode 100644 index d690b5e..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/composer.json +++ /dev/null @@ -1,90 +0,0 @@ -{ - "name": "phpunit/phpunit", - "description": "The PHP Unit Testing framework.", - "type": "library", - "keywords": [ - "phpunit", - "xunit", - "testing" - ], - "homepage": "https://phpunit.de/", - "license": "BSD-3-Clause", - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "support": { - "issues": "https://github.com/sebastianbergmann/phpunit/issues" - }, - "prefer-stable": true, - "require": { - "php": "^7.1", - "ext-dom": "*", - "ext-json": "*", - "ext-libxml": "*", - "ext-mbstring": "*", - "ext-xml": "*", - "doctrine/instantiator": "^1.1", - "myclabs/deep-copy": "^1.7", - "phar-io/manifest": "^1.0.2", - "phar-io/version": "^2.0", - "phpspec/prophecy": "^1.7", - "phpunit/php-code-coverage": "^6.0.7", - "phpunit/php-file-iterator": "^2.0.1", - "phpunit/php-text-template": "^1.2.1", - "phpunit/php-timer": "^2.1", - "sebastian/comparator": "^3.0", - "sebastian/diff": "^3.0", - "sebastian/environment": "^4.0", - "sebastian/exporter": "^3.1", - "sebastian/global-state": "^2.0", - "sebastian/object-enumerator": "^3.0.3", - "sebastian/resource-operations": "^2.0", - "sebastian/version": "^2.0.1" - }, - "require-dev": { - "ext-PDO": "*" - }, - "conflict": { - "phpunit/phpunit-mock-objects": "*" - }, - "config": { - "platform": { - "php": "7.1.0" - }, - "optimize-autoloader": true, - "sort-packages": true - }, - "suggest": { - "phpunit/php-invoker": "^2.0", - "ext-soap": "*", - "ext-xdebug": "*" - }, - "bin": [ - "phpunit" - ], - "autoload": { - "classmap": [ - "src/" - ] - }, - "autoload-dev": { - "classmap": [ - "tests/" - ], - "files": [ - "src/Framework/Assert/Functions.php", - "tests/_files/CoverageNamespacedFunctionTest.php", - "tests/_files/CoveredFunction.php", - "tests/_files/NamespaceCoveredFunction.php" - ] - }, - "extra": { - "branch-alias": { - "dev-master": "7.5-dev" - } - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/phive.xml b/paragonik-backend/vendor/phpunit/phpunit/phive.xml deleted file mode 100644 index 5a5ed44..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/phive.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/paragonik-backend/vendor/phpunit/phpunit/phpunit b/paragonik-backend/vendor/phpunit/phpunit/phpunit deleted file mode 100644 index 2b5749a..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/phpunit +++ /dev/null @@ -1,61 +0,0 @@ -#!/usr/bin/env php - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -if (version_compare('7.1.0', PHP_VERSION, '>')) { - fwrite( - STDERR, - sprintf( - 'This version of PHPUnit is supported on PHP 7.1, PHP 7.2, and PHP 7.3.' . PHP_EOL . - 'You are using PHP %s (%s).' . PHP_EOL, - PHP_VERSION, - PHP_BINARY - ) - ); - - die(1); -} - -if (!ini_get('date.timezone')) { - ini_set('date.timezone', 'UTC'); -} - -foreach (array(__DIR__ . '/../../autoload.php', __DIR__ . '/../vendor/autoload.php', __DIR__ . '/vendor/autoload.php') as $file) { - if (file_exists($file)) { - define('PHPUNIT_COMPOSER_INSTALL', $file); - - break; - } -} - -unset($file); - -if (!defined('PHPUNIT_COMPOSER_INSTALL')) { - fwrite( - STDERR, - 'You need to set up the project dependencies using Composer:' . PHP_EOL . PHP_EOL . - ' composer install' . PHP_EOL . PHP_EOL . - 'You can learn all about Composer on https://getcomposer.org/.' . PHP_EOL - ); - - die(1); -} - -$options = getopt('', array('prepend:')); - -if (isset($options['prepend'])) { - require $options['prepend']; -} - -unset($options); - -require PHPUNIT_COMPOSER_INSTALL; - -PHPUnit\TextUI\Command::main(); diff --git a/paragonik-backend/vendor/phpunit/phpunit/phpunit.xml b/paragonik-backend/vendor/phpunit/phpunit/phpunit.xml deleted file mode 100644 index 673e3c9..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/phpunit.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - tests/unit - - - - tests/end-to-end - tests/end-to-end/_files - - - - - - src - - src/Framework/Assert/Functions.php - src/Util/PHP/eval-stdin.php - - - - - - - - diff --git a/paragonik-backend/vendor/phpunit/phpunit/phpunit.xsd b/paragonik-backend/vendor/phpunit/phpunit/phpunit.xsd deleted file mode 100644 index ceafb10..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/phpunit.xsd +++ /dev/null @@ -1,307 +0,0 @@ - - - - - This Schema file defines the rules by which the XML configuration file of PHPUnit 7.5 may be structured. - - - - - - Root Element - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The main type specifying the document structure - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Exception.php b/paragonik-backend/vendor/phpunit/phpunit/src/Exception.php deleted file mode 100644 index b2ce026..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Exception.php +++ /dev/null @@ -1,17 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit; - -/** - * Marker interface for PHPUnit exceptions. - */ -interface Exception extends \Throwable -{ -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Assert.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Assert.php deleted file mode 100644 index 5e93c12..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Assert.php +++ /dev/null @@ -1,2896 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework; - -use ArrayAccess; -use Countable; -use DOMDocument; -use DOMElement; -use PHPUnit\Framework\Constraint\ArrayHasKey; -use PHPUnit\Framework\Constraint\ArraySubset; -use PHPUnit\Framework\Constraint\Attribute; -use PHPUnit\Framework\Constraint\Callback; -use PHPUnit\Framework\Constraint\ClassHasAttribute; -use PHPUnit\Framework\Constraint\ClassHasStaticAttribute; -use PHPUnit\Framework\Constraint\Constraint; -use PHPUnit\Framework\Constraint\Count; -use PHPUnit\Framework\Constraint\DirectoryExists; -use PHPUnit\Framework\Constraint\FileExists; -use PHPUnit\Framework\Constraint\GreaterThan; -use PHPUnit\Framework\Constraint\IsAnything; -use PHPUnit\Framework\Constraint\IsEmpty; -use PHPUnit\Framework\Constraint\IsEqual; -use PHPUnit\Framework\Constraint\IsFalse; -use PHPUnit\Framework\Constraint\IsFinite; -use PHPUnit\Framework\Constraint\IsIdentical; -use PHPUnit\Framework\Constraint\IsInfinite; -use PHPUnit\Framework\Constraint\IsInstanceOf; -use PHPUnit\Framework\Constraint\IsJson; -use PHPUnit\Framework\Constraint\IsNan; -use PHPUnit\Framework\Constraint\IsNull; -use PHPUnit\Framework\Constraint\IsReadable; -use PHPUnit\Framework\Constraint\IsTrue; -use PHPUnit\Framework\Constraint\IsType; -use PHPUnit\Framework\Constraint\IsWritable; -use PHPUnit\Framework\Constraint\JsonMatches; -use PHPUnit\Framework\Constraint\LessThan; -use PHPUnit\Framework\Constraint\LogicalAnd; -use PHPUnit\Framework\Constraint\LogicalNot; -use PHPUnit\Framework\Constraint\LogicalOr; -use PHPUnit\Framework\Constraint\LogicalXor; -use PHPUnit\Framework\Constraint\ObjectHasAttribute; -use PHPUnit\Framework\Constraint\RegularExpression; -use PHPUnit\Framework\Constraint\SameSize; -use PHPUnit\Framework\Constraint\StringContains; -use PHPUnit\Framework\Constraint\StringEndsWith; -use PHPUnit\Framework\Constraint\StringMatchesFormatDescription; -use PHPUnit\Framework\Constraint\StringStartsWith; -use PHPUnit\Framework\Constraint\TraversableContains; -use PHPUnit\Framework\Constraint\TraversableContainsOnly; -use PHPUnit\Util\InvalidArgumentHelper; -use PHPUnit\Util\Type; -use PHPUnit\Util\Xml; -use ReflectionClass; -use ReflectionException; -use ReflectionObject; -use Traversable; - -/** - * A set of assertion methods. - */ -abstract class Assert -{ - /** - * @var int - */ - private static $count = 0; - - /** - * Asserts that an array has a specified key. - * - * @param int|string $key - * @param array|ArrayAccess $array - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public static function assertArrayHasKey($key, $array, string $message = ''): void - { - if (!(\is_int($key) || \is_string($key))) { - throw InvalidArgumentHelper::factory( - 1, - 'integer or string' - ); - } - - if (!(\is_array($array) || $array instanceof ArrayAccess)) { - throw InvalidArgumentHelper::factory( - 2, - 'array or ArrayAccess' - ); - } - - $constraint = new ArrayHasKey($key); - - static::assertThat($array, $constraint, $message); - } - - /** - * Asserts that an array has a specified subset. - * - * @param array|ArrayAccess $subset - * @param array|ArrayAccess $array - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - * - * @deprecated https://github.com/sebastianbergmann/phpunit/issues/3494 - */ - public static function assertArraySubset($subset, $array, bool $checkForObjectIdentity = false, string $message = ''): void - { - if (!(\is_array($subset) || $subset instanceof ArrayAccess)) { - throw InvalidArgumentHelper::factory( - 1, - 'array or ArrayAccess' - ); - } - - if (!(\is_array($array) || $array instanceof ArrayAccess)) { - throw InvalidArgumentHelper::factory( - 2, - 'array or ArrayAccess' - ); - } - - $constraint = new ArraySubset($subset, $checkForObjectIdentity); - - static::assertThat($array, $constraint, $message); - } - - /** - * Asserts that an array does not have a specified key. - * - * @param int|string $key - * @param array|ArrayAccess $array - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public static function assertArrayNotHasKey($key, $array, string $message = ''): void - { - if (!(\is_int($key) || \is_string($key))) { - throw InvalidArgumentHelper::factory( - 1, - 'integer or string' - ); - } - - if (!(\is_array($array) || $array instanceof ArrayAccess)) { - throw InvalidArgumentHelper::factory( - 2, - 'array or ArrayAccess' - ); - } - - $constraint = new LogicalNot( - new ArrayHasKey($key) - ); - - static::assertThat($array, $constraint, $message); - } - - /** - * Asserts that a haystack contains a needle. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public static function assertContains($needle, $haystack, string $message = '', bool $ignoreCase = false, bool $checkForObjectIdentity = true, bool $checkForNonObjectIdentity = false): void - { - if (\is_array($haystack) || - (\is_object($haystack) && $haystack instanceof Traversable)) { - $constraint = new TraversableContains( - $needle, - $checkForObjectIdentity, - $checkForNonObjectIdentity - ); - } elseif (\is_string($haystack)) { - if (!\is_string($needle)) { - throw InvalidArgumentHelper::factory( - 1, - 'string' - ); - } - - $constraint = new StringContains( - $needle, - $ignoreCase - ); - } else { - throw InvalidArgumentHelper::factory( - 2, - 'array, traversable or string' - ); - } - - static::assertThat($haystack, $constraint, $message); - } - - /** - * Asserts that a haystack that is stored in a static attribute of a class - * or an attribute of an object contains a needle. - * - * @param object|string $haystackClassOrObject - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - * - * @deprecated https://github.com/sebastianbergmann/phpunit/issues/3338 - */ - public static function assertAttributeContains($needle, string $haystackAttributeName, $haystackClassOrObject, string $message = '', bool $ignoreCase = false, bool $checkForObjectIdentity = true, bool $checkForNonObjectIdentity = false): void - { - static::assertContains( - $needle, - static::readAttribute($haystackClassOrObject, $haystackAttributeName), - $message, - $ignoreCase, - $checkForObjectIdentity, - $checkForNonObjectIdentity - ); - } - - /** - * Asserts that a haystack does not contain a needle. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public static function assertNotContains($needle, $haystack, string $message = '', bool $ignoreCase = false, bool $checkForObjectIdentity = true, bool $checkForNonObjectIdentity = false): void - { - if (\is_array($haystack) || - (\is_object($haystack) && $haystack instanceof Traversable)) { - $constraint = new LogicalNot( - new TraversableContains( - $needle, - $checkForObjectIdentity, - $checkForNonObjectIdentity - ) - ); - } elseif (\is_string($haystack)) { - if (!\is_string($needle)) { - throw InvalidArgumentHelper::factory( - 1, - 'string' - ); - } - - $constraint = new LogicalNot( - new StringContains( - $needle, - $ignoreCase - ) - ); - } else { - throw InvalidArgumentHelper::factory( - 2, - 'array, traversable or string' - ); - } - - static::assertThat($haystack, $constraint, $message); - } - - /** - * Asserts that a haystack that is stored in a static attribute of a class - * or an attribute of an object does not contain a needle. - * - * @param object|string $haystackClassOrObject - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - * - * @deprecated https://github.com/sebastianbergmann/phpunit/issues/3338 - */ - public static function assertAttributeNotContains($needle, string $haystackAttributeName, $haystackClassOrObject, string $message = '', bool $ignoreCase = false, bool $checkForObjectIdentity = true, bool $checkForNonObjectIdentity = false): void - { - static::assertNotContains( - $needle, - static::readAttribute($haystackClassOrObject, $haystackAttributeName), - $message, - $ignoreCase, - $checkForObjectIdentity, - $checkForNonObjectIdentity - ); - } - - /** - * Asserts that a haystack contains only values of a given type. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public static function assertContainsOnly(string $type, iterable $haystack, ?bool $isNativeType = null, string $message = ''): void - { - if ($isNativeType === null) { - $isNativeType = Type::isType($type); - } - - static::assertThat( - $haystack, - new TraversableContainsOnly( - $type, - $isNativeType - ), - $message - ); - } - - /** - * Asserts that a haystack contains only instances of a given class name. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public static function assertContainsOnlyInstancesOf(string $className, iterable $haystack, string $message = ''): void - { - static::assertThat( - $haystack, - new TraversableContainsOnly( - $className, - false - ), - $message - ); - } - - /** - * Asserts that a haystack that is stored in a static attribute of a class - * or an attribute of an object contains only values of a given type. - * - * @param object|string $haystackClassOrObject - * @param bool $isNativeType - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - * - * @deprecated https://github.com/sebastianbergmann/phpunit/issues/3338 - */ - public static function assertAttributeContainsOnly(string $type, string $haystackAttributeName, $haystackClassOrObject, ?bool $isNativeType = null, string $message = ''): void - { - static::assertContainsOnly( - $type, - static::readAttribute($haystackClassOrObject, $haystackAttributeName), - $isNativeType, - $message - ); - } - - /** - * Asserts that a haystack does not contain only values of a given type. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public static function assertNotContainsOnly(string $type, iterable $haystack, ?bool $isNativeType = null, string $message = ''): void - { - if ($isNativeType === null) { - $isNativeType = Type::isType($type); - } - - static::assertThat( - $haystack, - new LogicalNot( - new TraversableContainsOnly( - $type, - $isNativeType - ) - ), - $message - ); - } - - /** - * Asserts that a haystack that is stored in a static attribute of a class - * or an attribute of an object does not contain only values of a given - * type. - * - * @param object|string $haystackClassOrObject - * @param bool $isNativeType - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - * - * @deprecated https://github.com/sebastianbergmann/phpunit/issues/3338 - */ - public static function assertAttributeNotContainsOnly(string $type, string $haystackAttributeName, $haystackClassOrObject, ?bool $isNativeType = null, string $message = ''): void - { - static::assertNotContainsOnly( - $type, - static::readAttribute($haystackClassOrObject, $haystackAttributeName), - $isNativeType, - $message - ); - } - - /** - * Asserts the number of elements of an array, Countable or Traversable. - * - * @param Countable|iterable $haystack - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public static function assertCount(int $expectedCount, $haystack, string $message = ''): void - { - if (!$haystack instanceof Countable && !\is_iterable($haystack)) { - throw InvalidArgumentHelper::factory(2, 'countable or iterable'); - } - - static::assertThat( - $haystack, - new Count($expectedCount), - $message - ); - } - - /** - * Asserts the number of elements of an array, Countable or Traversable - * that is stored in an attribute. - * - * @param object|string $haystackClassOrObject - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - * - * @deprecated https://github.com/sebastianbergmann/phpunit/issues/3338 - */ - public static function assertAttributeCount(int $expectedCount, string $haystackAttributeName, $haystackClassOrObject, string $message = ''): void - { - static::assertCount( - $expectedCount, - static::readAttribute($haystackClassOrObject, $haystackAttributeName), - $message - ); - } - - /** - * Asserts the number of elements of an array, Countable or Traversable. - * - * @param Countable|iterable $haystack - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public static function assertNotCount(int $expectedCount, $haystack, string $message = ''): void - { - if (!$haystack instanceof Countable && !\is_iterable($haystack)) { - throw InvalidArgumentHelper::factory(2, 'countable or iterable'); - } - - $constraint = new LogicalNot( - new Count($expectedCount) - ); - - static::assertThat($haystack, $constraint, $message); - } - - /** - * Asserts the number of elements of an array, Countable or Traversable - * that is stored in an attribute. - * - * @param object|string $haystackClassOrObject - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - * - * @deprecated https://github.com/sebastianbergmann/phpunit/issues/3338 - */ - public static function assertAttributeNotCount(int $expectedCount, string $haystackAttributeName, $haystackClassOrObject, string $message = ''): void - { - static::assertNotCount( - $expectedCount, - static::readAttribute($haystackClassOrObject, $haystackAttributeName), - $message - ); - } - - /** - * Asserts that two variables are equal. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public static function assertEquals($expected, $actual, string $message = '', float $delta = 0.0, int $maxDepth = 10, bool $canonicalize = false, bool $ignoreCase = false): void - { - $constraint = new IsEqual( - $expected, - $delta, - $maxDepth, - $canonicalize, - $ignoreCase - ); - - static::assertThat($actual, $constraint, $message); - } - - /** - * Asserts that two variables are equal (canonicalizing). - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public static function assertEqualsCanonicalizing($expected, $actual, string $message = ''): void - { - $constraint = new IsEqual( - $expected, - 0.0, - 10, - true, - false - ); - - static::assertThat($actual, $constraint, $message); - } - - /** - * Asserts that two variables are equal (ignoring case). - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public static function assertEqualsIgnoringCase($expected, $actual, string $message = ''): void - { - $constraint = new IsEqual( - $expected, - 0.0, - 10, - false, - true - ); - - static::assertThat($actual, $constraint, $message); - } - - /** - * Asserts that two variables are equal (with delta). - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public static function assertEqualsWithDelta($expected, $actual, float $delta, string $message = ''): void - { - $constraint = new IsEqual( - $expected, - $delta - ); - - static::assertThat($actual, $constraint, $message); - } - - /** - * Asserts that a variable is equal to an attribute of an object. - * - * @param object|string $actualClassOrObject - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - * - * @deprecated https://github.com/sebastianbergmann/phpunit/issues/3338 - */ - public static function assertAttributeEquals($expected, string $actualAttributeName, $actualClassOrObject, string $message = '', float $delta = 0.0, int $maxDepth = 10, bool $canonicalize = false, bool $ignoreCase = false): void - { - static::assertEquals( - $expected, - static::readAttribute($actualClassOrObject, $actualAttributeName), - $message, - $delta, - $maxDepth, - $canonicalize, - $ignoreCase - ); - } - - /** - * Asserts that two variables are not equal. - * - * @param float $delta - * @param int $maxDepth - * @param bool $canonicalize - * @param bool $ignoreCase - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public static function assertNotEquals($expected, $actual, string $message = '', $delta = 0.0, $maxDepth = 10, $canonicalize = false, $ignoreCase = false): void - { - $constraint = new LogicalNot( - new IsEqual( - $expected, - $delta, - $maxDepth, - $canonicalize, - $ignoreCase - ) - ); - - static::assertThat($actual, $constraint, $message); - } - - /** - * Asserts that two variables are not equal (canonicalizing). - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public static function assertNotEqualsCanonicalizing($expected, $actual, string $message = ''): void - { - $constraint = new LogicalNot( - new IsEqual( - $expected, - 0.0, - 10, - true, - false - ) - ); - - static::assertThat($actual, $constraint, $message); - } - - /** - * Asserts that two variables are not equal (ignoring case). - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public static function assertNotEqualsIgnoringCase($expected, $actual, string $message = ''): void - { - $constraint = new LogicalNot( - new IsEqual( - $expected, - 0.0, - 10, - false, - true - ) - ); - - static::assertThat($actual, $constraint, $message); - } - - /** - * Asserts that two variables are not equal (with delta). - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public static function assertNotEqualsWithDelta($expected, $actual, float $delta, string $message = ''): void - { - $constraint = new LogicalNot( - new IsEqual( - $expected, - $delta - ) - ); - - static::assertThat($actual, $constraint, $message); - } - - /** - * Asserts that a variable is not equal to an attribute of an object. - * - * @param object|string $actualClassOrObject - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - * - * @deprecated https://github.com/sebastianbergmann/phpunit/issues/3338 - */ - public static function assertAttributeNotEquals($expected, string $actualAttributeName, $actualClassOrObject, string $message = '', float $delta = 0.0, int $maxDepth = 10, bool $canonicalize = false, bool $ignoreCase = false): void - { - static::assertNotEquals( - $expected, - static::readAttribute($actualClassOrObject, $actualAttributeName), - $message, - $delta, - $maxDepth, - $canonicalize, - $ignoreCase - ); - } - - /** - * Asserts that a variable is empty. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public static function assertEmpty($actual, string $message = ''): void - { - static::assertThat($actual, static::isEmpty(), $message); - } - - /** - * Asserts that a static attribute of a class or an attribute of an object - * is empty. - * - * @param object|string $haystackClassOrObject - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - * - * @deprecated https://github.com/sebastianbergmann/phpunit/issues/3338 - */ - public static function assertAttributeEmpty(string $haystackAttributeName, $haystackClassOrObject, string $message = ''): void - { - static::assertEmpty( - static::readAttribute($haystackClassOrObject, $haystackAttributeName), - $message - ); - } - - /** - * Asserts that a variable is not empty. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public static function assertNotEmpty($actual, string $message = ''): void - { - static::assertThat($actual, static::logicalNot(static::isEmpty()), $message); - } - - /** - * Asserts that a static attribute of a class or an attribute of an object - * is not empty. - * - * @param object|string $haystackClassOrObject - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - * - * @deprecated https://github.com/sebastianbergmann/phpunit/issues/3338 - */ - public static function assertAttributeNotEmpty(string $haystackAttributeName, $haystackClassOrObject, string $message = ''): void - { - static::assertNotEmpty( - static::readAttribute($haystackClassOrObject, $haystackAttributeName), - $message - ); - } - - /** - * Asserts that a value is greater than another value. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public static function assertGreaterThan($expected, $actual, string $message = ''): void - { - static::assertThat($actual, static::greaterThan($expected), $message); - } - - /** - * Asserts that an attribute is greater than another value. - * - * @param object|string $actualClassOrObject - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - * - * @deprecated https://github.com/sebastianbergmann/phpunit/issues/3338 - */ - public static function assertAttributeGreaterThan($expected, string $actualAttributeName, $actualClassOrObject, string $message = ''): void - { - static::assertGreaterThan( - $expected, - static::readAttribute($actualClassOrObject, $actualAttributeName), - $message - ); - } - - /** - * Asserts that a value is greater than or equal to another value. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public static function assertGreaterThanOrEqual($expected, $actual, string $message = ''): void - { - static::assertThat( - $actual, - static::greaterThanOrEqual($expected), - $message - ); - } - - /** - * Asserts that an attribute is greater than or equal to another value. - * - * @param object|string $actualClassOrObject - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - * - * @deprecated https://github.com/sebastianbergmann/phpunit/issues/3338 - */ - public static function assertAttributeGreaterThanOrEqual($expected, string $actualAttributeName, $actualClassOrObject, string $message = ''): void - { - static::assertGreaterThanOrEqual( - $expected, - static::readAttribute($actualClassOrObject, $actualAttributeName), - $message - ); - } - - /** - * Asserts that a value is smaller than another value. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public static function assertLessThan($expected, $actual, string $message = ''): void - { - static::assertThat($actual, static::lessThan($expected), $message); - } - - /** - * Asserts that an attribute is smaller than another value. - * - * @param object|string $actualClassOrObject - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - * - * @deprecated https://github.com/sebastianbergmann/phpunit/issues/3338 - */ - public static function assertAttributeLessThan($expected, string $actualAttributeName, $actualClassOrObject, string $message = ''): void - { - static::assertLessThan( - $expected, - static::readAttribute($actualClassOrObject, $actualAttributeName), - $message - ); - } - - /** - * Asserts that a value is smaller than or equal to another value. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public static function assertLessThanOrEqual($expected, $actual, string $message = ''): void - { - static::assertThat($actual, static::lessThanOrEqual($expected), $message); - } - - /** - * Asserts that an attribute is smaller than or equal to another value. - * - * @param object|string $actualClassOrObject - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - * - * @deprecated https://github.com/sebastianbergmann/phpunit/issues/3338 - */ - public static function assertAttributeLessThanOrEqual($expected, string $actualAttributeName, $actualClassOrObject, string $message = ''): void - { - static::assertLessThanOrEqual( - $expected, - static::readAttribute($actualClassOrObject, $actualAttributeName), - $message - ); - } - - /** - * Asserts that the contents of one file is equal to the contents of another - * file. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public static function assertFileEquals(string $expected, string $actual, string $message = '', bool $canonicalize = false, bool $ignoreCase = false): void - { - static::assertFileExists($expected, $message); - static::assertFileExists($actual, $message); - - static::assertEquals( - \file_get_contents($expected), - \file_get_contents($actual), - $message, - 0, - 10, - $canonicalize, - $ignoreCase - ); - } - - /** - * Asserts that the contents of one file is not equal to the contents of - * another file. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public static function assertFileNotEquals(string $expected, string $actual, string $message = '', bool $canonicalize = false, bool $ignoreCase = false): void - { - static::assertFileExists($expected, $message); - static::assertFileExists($actual, $message); - - static::assertNotEquals( - \file_get_contents($expected), - \file_get_contents($actual), - $message, - 0, - 10, - $canonicalize, - $ignoreCase - ); - } - - /** - * Asserts that the contents of a string is equal - * to the contents of a file. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public static function assertStringEqualsFile(string $expectedFile, string $actualString, string $message = '', bool $canonicalize = false, bool $ignoreCase = false): void - { - static::assertFileExists($expectedFile, $message); - - /** @noinspection PhpUnitTestsInspection */ - static::assertEquals( - \file_get_contents($expectedFile), - $actualString, - $message, - 0, - 10, - $canonicalize, - $ignoreCase - ); - } - - /** - * Asserts that the contents of a string is not equal - * to the contents of a file. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public static function assertStringNotEqualsFile(string $expectedFile, string $actualString, string $message = '', bool $canonicalize = false, bool $ignoreCase = false): void - { - static::assertFileExists($expectedFile, $message); - - static::assertNotEquals( - \file_get_contents($expectedFile), - $actualString, - $message, - 0, - 10, - $canonicalize, - $ignoreCase - ); - } - - /** - * Asserts that a file/dir is readable. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public static function assertIsReadable(string $filename, string $message = ''): void - { - static::assertThat($filename, new IsReadable, $message); - } - - /** - * Asserts that a file/dir exists and is not readable. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public static function assertNotIsReadable(string $filename, string $message = ''): void - { - static::assertThat($filename, new LogicalNot(new IsReadable), $message); - } - - /** - * Asserts that a file/dir exists and is writable. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public static function assertIsWritable(string $filename, string $message = ''): void - { - static::assertThat($filename, new IsWritable, $message); - } - - /** - * Asserts that a file/dir exists and is not writable. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public static function assertNotIsWritable(string $filename, string $message = ''): void - { - static::assertThat($filename, new LogicalNot(new IsWritable), $message); - } - - /** - * Asserts that a directory exists. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public static function assertDirectoryExists(string $directory, string $message = ''): void - { - static::assertThat($directory, new DirectoryExists, $message); - } - - /** - * Asserts that a directory does not exist. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public static function assertDirectoryNotExists(string $directory, string $message = ''): void - { - static::assertThat($directory, new LogicalNot(new DirectoryExists), $message); - } - - /** - * Asserts that a directory exists and is readable. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public static function assertDirectoryIsReadable(string $directory, string $message = ''): void - { - self::assertDirectoryExists($directory, $message); - self::assertIsReadable($directory, $message); - } - - /** - * Asserts that a directory exists and is not readable. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public static function assertDirectoryNotIsReadable(string $directory, string $message = ''): void - { - self::assertDirectoryExists($directory, $message); - self::assertNotIsReadable($directory, $message); - } - - /** - * Asserts that a directory exists and is writable. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public static function assertDirectoryIsWritable(string $directory, string $message = ''): void - { - self::assertDirectoryExists($directory, $message); - self::assertIsWritable($directory, $message); - } - - /** - * Asserts that a directory exists and is not writable. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public static function assertDirectoryNotIsWritable(string $directory, string $message = ''): void - { - self::assertDirectoryExists($directory, $message); - self::assertNotIsWritable($directory, $message); - } - - /** - * Asserts that a file exists. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public static function assertFileExists(string $filename, string $message = ''): void - { - static::assertThat($filename, new FileExists, $message); - } - - /** - * Asserts that a file does not exist. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public static function assertFileNotExists(string $filename, string $message = ''): void - { - static::assertThat($filename, new LogicalNot(new FileExists), $message); - } - - /** - * Asserts that a file exists and is readable. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public static function assertFileIsReadable(string $file, string $message = ''): void - { - self::assertFileExists($file, $message); - self::assertIsReadable($file, $message); - } - - /** - * Asserts that a file exists and is not readable. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public static function assertFileNotIsReadable(string $file, string $message = ''): void - { - self::assertFileExists($file, $message); - self::assertNotIsReadable($file, $message); - } - - /** - * Asserts that a file exists and is writable. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public static function assertFileIsWritable(string $file, string $message = ''): void - { - self::assertFileExists($file, $message); - self::assertIsWritable($file, $message); - } - - /** - * Asserts that a file exists and is not writable. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public static function assertFileNotIsWritable(string $file, string $message = ''): void - { - self::assertFileExists($file, $message); - self::assertNotIsWritable($file, $message); - } - - /** - * Asserts that a condition is true. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public static function assertTrue($condition, string $message = ''): void - { - static::assertThat($condition, static::isTrue(), $message); - } - - /** - * Asserts that a condition is not true. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public static function assertNotTrue($condition, string $message = ''): void - { - static::assertThat($condition, static::logicalNot(static::isTrue()), $message); - } - - /** - * Asserts that a condition is false. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public static function assertFalse($condition, string $message = ''): void - { - static::assertThat($condition, static::isFalse(), $message); - } - - /** - * Asserts that a condition is not false. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public static function assertNotFalse($condition, string $message = ''): void - { - static::assertThat($condition, static::logicalNot(static::isFalse()), $message); - } - - /** - * Asserts that a variable is null. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public static function assertNull($actual, string $message = ''): void - { - static::assertThat($actual, static::isNull(), $message); - } - - /** - * Asserts that a variable is not null. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public static function assertNotNull($actual, string $message = ''): void - { - static::assertThat($actual, static::logicalNot(static::isNull()), $message); - } - - /** - * Asserts that a variable is finite. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public static function assertFinite($actual, string $message = ''): void - { - static::assertThat($actual, static::isFinite(), $message); - } - - /** - * Asserts that a variable is infinite. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public static function assertInfinite($actual, string $message = ''): void - { - static::assertThat($actual, static::isInfinite(), $message); - } - - /** - * Asserts that a variable is nan. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public static function assertNan($actual, string $message = ''): void - { - static::assertThat($actual, static::isNan(), $message); - } - - /** - * Asserts that a class has a specified attribute. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public static function assertClassHasAttribute(string $attributeName, string $className, string $message = ''): void - { - if (!self::isValidClassAttributeName($attributeName)) { - throw InvalidArgumentHelper::factory(1, 'valid attribute name'); - } - - if (!\class_exists($className)) { - throw InvalidArgumentHelper::factory(2, 'class name', $className); - } - - static::assertThat($className, new ClassHasAttribute($attributeName), $message); - } - - /** - * Asserts that a class does not have a specified attribute. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public static function assertClassNotHasAttribute(string $attributeName, string $className, string $message = ''): void - { - if (!self::isValidClassAttributeName($attributeName)) { - throw InvalidArgumentHelper::factory(1, 'valid attribute name'); - } - - if (!\class_exists($className)) { - throw InvalidArgumentHelper::factory(2, 'class name', $className); - } - - static::assertThat( - $className, - new LogicalNot( - new ClassHasAttribute($attributeName) - ), - $message - ); - } - - /** - * Asserts that a class has a specified static attribute. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public static function assertClassHasStaticAttribute(string $attributeName, string $className, string $message = ''): void - { - if (!self::isValidClassAttributeName($attributeName)) { - throw InvalidArgumentHelper::factory(1, 'valid attribute name'); - } - - if (!\class_exists($className)) { - throw InvalidArgumentHelper::factory(2, 'class name', $className); - } - - static::assertThat( - $className, - new ClassHasStaticAttribute($attributeName), - $message - ); - } - - /** - * Asserts that a class does not have a specified static attribute. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public static function assertClassNotHasStaticAttribute(string $attributeName, string $className, string $message = ''): void - { - if (!self::isValidClassAttributeName($attributeName)) { - throw InvalidArgumentHelper::factory(1, 'valid attribute name'); - } - - if (!\class_exists($className)) { - throw InvalidArgumentHelper::factory(2, 'class name', $className); - } - - static::assertThat( - $className, - new LogicalNot( - new ClassHasStaticAttribute($attributeName) - ), - $message - ); - } - - /** - * Asserts that an object has a specified attribute. - * - * @param object $object - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public static function assertObjectHasAttribute(string $attributeName, $object, string $message = ''): void - { - if (!self::isValidObjectAttributeName($attributeName)) { - throw InvalidArgumentHelper::factory(1, 'valid attribute name'); - } - - if (!\is_object($object)) { - throw InvalidArgumentHelper::factory(2, 'object'); - } - - static::assertThat( - $object, - new ObjectHasAttribute($attributeName), - $message - ); - } - - /** - * Asserts that an object does not have a specified attribute. - * - * @param object $object - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public static function assertObjectNotHasAttribute(string $attributeName, $object, string $message = ''): void - { - if (!self::isValidObjectAttributeName($attributeName)) { - throw InvalidArgumentHelper::factory(1, 'valid attribute name'); - } - - if (!\is_object($object)) { - throw InvalidArgumentHelper::factory(2, 'object'); - } - - static::assertThat( - $object, - new LogicalNot( - new ObjectHasAttribute($attributeName) - ), - $message - ); - } - - /** - * Asserts that two variables have the same type and value. - * Used on objects, it asserts that two variables reference - * the same object. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public static function assertSame($expected, $actual, string $message = ''): void - { - static::assertThat( - $actual, - new IsIdentical($expected), - $message - ); - } - - /** - * Asserts that a variable and an attribute of an object have the same type - * and value. - * - * @param object|string $actualClassOrObject - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - * - * @deprecated https://github.com/sebastianbergmann/phpunit/issues/3338 - */ - public static function assertAttributeSame($expected, string $actualAttributeName, $actualClassOrObject, string $message = ''): void - { - static::assertSame( - $expected, - static::readAttribute($actualClassOrObject, $actualAttributeName), - $message - ); - } - - /** - * Asserts that two variables do not have the same type and value. - * Used on objects, it asserts that two variables do not reference - * the same object. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public static function assertNotSame($expected, $actual, string $message = ''): void - { - if (\is_bool($expected) && \is_bool($actual)) { - static::assertNotEquals($expected, $actual, $message); - } - - static::assertThat( - $actual, - new LogicalNot( - new IsIdentical($expected) - ), - $message - ); - } - - /** - * Asserts that a variable and an attribute of an object do not have the - * same type and value. - * - * @param object|string $actualClassOrObject - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - * - * @deprecated https://github.com/sebastianbergmann/phpunit/issues/3338 - */ - public static function assertAttributeNotSame($expected, string $actualAttributeName, $actualClassOrObject, string $message = ''): void - { - static::assertNotSame( - $expected, - static::readAttribute($actualClassOrObject, $actualAttributeName), - $message - ); - } - - /** - * Asserts that a variable is of a given type. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public static function assertInstanceOf(string $expected, $actual, string $message = ''): void - { - if (!\class_exists($expected) && !\interface_exists($expected)) { - throw InvalidArgumentHelper::factory(1, 'class or interface name'); - } - - static::assertThat( - $actual, - new IsInstanceOf($expected), - $message - ); - } - - /** - * Asserts that an attribute is of a given type. - * - * @param object|string $classOrObject - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - * - * @deprecated https://github.com/sebastianbergmann/phpunit/issues/3338 - */ - public static function assertAttributeInstanceOf(string $expected, string $attributeName, $classOrObject, string $message = ''): void - { - static::assertInstanceOf( - $expected, - static::readAttribute($classOrObject, $attributeName), - $message - ); - } - - /** - * Asserts that a variable is not of a given type. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public static function assertNotInstanceOf(string $expected, $actual, string $message = ''): void - { - if (!\class_exists($expected) && !\interface_exists($expected)) { - throw InvalidArgumentHelper::factory(1, 'class or interface name'); - } - - static::assertThat( - $actual, - new LogicalNot( - new IsInstanceOf($expected) - ), - $message - ); - } - - /** - * Asserts that an attribute is of a given type. - * - * @param object|string $classOrObject - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - * - * @deprecated https://github.com/sebastianbergmann/phpunit/issues/3338 - */ - public static function assertAttributeNotInstanceOf(string $expected, string $attributeName, $classOrObject, string $message = ''): void - { - static::assertNotInstanceOf( - $expected, - static::readAttribute($classOrObject, $attributeName), - $message - ); - } - - /** - * Asserts that a variable is of a given type. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - * - * @deprecated https://github.com/sebastianbergmann/phpunit/issues/3369 - */ - public static function assertInternalType(string $expected, $actual, string $message = ''): void - { - static::assertThat( - $actual, - new IsType($expected), - $message - ); - } - - /** - * Asserts that an attribute is of a given type. - * - * @param object|string $classOrObject - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - * - * @deprecated https://github.com/sebastianbergmann/phpunit/issues/3338 - */ - public static function assertAttributeInternalType(string $expected, string $attributeName, $classOrObject, string $message = ''): void - { - static::assertInternalType( - $expected, - static::readAttribute($classOrObject, $attributeName), - $message - ); - } - - /** - * Asserts that a variable is of type array. - */ - public static function assertIsArray($actual, string $message = ''): void - { - static::assertThat( - $actual, - new IsType(IsType::TYPE_ARRAY), - $message - ); - } - - /** - * Asserts that a variable is of type bool. - */ - public static function assertIsBool($actual, string $message = ''): void - { - static::assertThat( - $actual, - new IsType(IsType::TYPE_BOOL), - $message - ); - } - - /** - * Asserts that a variable is of type float. - */ - public static function assertIsFloat($actual, string $message = ''): void - { - static::assertThat( - $actual, - new IsType(IsType::TYPE_FLOAT), - $message - ); - } - - /** - * Asserts that a variable is of type int. - */ - public static function assertIsInt($actual, string $message = ''): void - { - static::assertThat( - $actual, - new IsType(IsType::TYPE_INT), - $message - ); - } - - /** - * Asserts that a variable is of type numeric. - */ - public static function assertIsNumeric($actual, string $message = ''): void - { - static::assertThat( - $actual, - new IsType(IsType::TYPE_NUMERIC), - $message - ); - } - - /** - * Asserts that a variable is of type object. - */ - public static function assertIsObject($actual, string $message = ''): void - { - static::assertThat( - $actual, - new IsType(IsType::TYPE_OBJECT), - $message - ); - } - - /** - * Asserts that a variable is of type resource. - */ - public static function assertIsResource($actual, string $message = ''): void - { - static::assertThat( - $actual, - new IsType(IsType::TYPE_RESOURCE), - $message - ); - } - - /** - * Asserts that a variable is of type string. - */ - public static function assertIsString($actual, string $message = ''): void - { - static::assertThat( - $actual, - new IsType(IsType::TYPE_STRING), - $message - ); - } - - /** - * Asserts that a variable is of type scalar. - */ - public static function assertIsScalar($actual, string $message = ''): void - { - static::assertThat( - $actual, - new IsType(IsType::TYPE_SCALAR), - $message - ); - } - - /** - * Asserts that a variable is of type callable. - */ - public static function assertIsCallable($actual, string $message = ''): void - { - static::assertThat( - $actual, - new IsType(IsType::TYPE_CALLABLE), - $message - ); - } - - /** - * Asserts that a variable is of type iterable. - */ - public static function assertIsIterable($actual, string $message = ''): void - { - static::assertThat( - $actual, - new IsType(IsType::TYPE_ITERABLE), - $message - ); - } - - /** - * Asserts that a variable is not of a given type. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - * - * @deprecated https://github.com/sebastianbergmann/phpunit/issues/3369 - */ - public static function assertNotInternalType(string $expected, $actual, string $message = ''): void - { - static::assertThat( - $actual, - new LogicalNot( - new IsType($expected) - ), - $message - ); - } - - /** - * Asserts that a variable is not of type array. - */ - public static function assertIsNotArray($actual, string $message = ''): void - { - static::assertThat( - $actual, - new LogicalNot(new IsType(IsType::TYPE_ARRAY)), - $message - ); - } - - /** - * Asserts that a variable is not of type bool. - */ - public static function assertIsNotBool($actual, string $message = ''): void - { - static::assertThat( - $actual, - new LogicalNot(new IsType(IsType::TYPE_BOOL)), - $message - ); - } - - /** - * Asserts that a variable is not of type float. - */ - public static function assertIsNotFloat($actual, string $message = ''): void - { - static::assertThat( - $actual, - new LogicalNot(new IsType(IsType::TYPE_FLOAT)), - $message - ); - } - - /** - * Asserts that a variable is not of type int. - */ - public static function assertIsNotInt($actual, string $message = ''): void - { - static::assertThat( - $actual, - new LogicalNot(new IsType(IsType::TYPE_INT)), - $message - ); - } - - /** - * Asserts that a variable is not of type numeric. - */ - public static function assertIsNotNumeric($actual, string $message = ''): void - { - static::assertThat( - $actual, - new LogicalNot(new IsType(IsType::TYPE_NUMERIC)), - $message - ); - } - - /** - * Asserts that a variable is not of type object. - */ - public static function assertIsNotObject($actual, string $message = ''): void - { - static::assertThat( - $actual, - new LogicalNot(new IsType(IsType::TYPE_OBJECT)), - $message - ); - } - - /** - * Asserts that a variable is not of type resource. - */ - public static function assertIsNotResource($actual, string $message = ''): void - { - static::assertThat( - $actual, - new LogicalNot(new IsType(IsType::TYPE_RESOURCE)), - $message - ); - } - - /** - * Asserts that a variable is not of type string. - */ - public static function assertIsNotString($actual, string $message = ''): void - { - static::assertThat( - $actual, - new LogicalNot(new IsType(IsType::TYPE_STRING)), - $message - ); - } - - /** - * Asserts that a variable is not of type scalar. - */ - public static function assertIsNotScalar($actual, string $message = ''): void - { - static::assertThat( - $actual, - new LogicalNot(new IsType(IsType::TYPE_SCALAR)), - $message - ); - } - - /** - * Asserts that a variable is not of type callable. - */ - public static function assertIsNotCallable($actual, string $message = ''): void - { - static::assertThat( - $actual, - new LogicalNot(new IsType(IsType::TYPE_CALLABLE)), - $message - ); - } - - /** - * Asserts that a variable is not of type iterable. - */ - public static function assertIsNotIterable($actual, string $message = ''): void - { - static::assertThat( - $actual, - new LogicalNot(new IsType(IsType::TYPE_ITERABLE)), - $message - ); - } - - /** - * Asserts that an attribute is of a given type. - * - * @param object|string $classOrObject - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - * - * @deprecated https://github.com/sebastianbergmann/phpunit/issues/3338 - */ - public static function assertAttributeNotInternalType(string $expected, string $attributeName, $classOrObject, string $message = ''): void - { - static::assertNotInternalType( - $expected, - static::readAttribute($classOrObject, $attributeName), - $message - ); - } - - /** - * Asserts that a string matches a given regular expression. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public static function assertRegExp(string $pattern, string $string, string $message = ''): void - { - static::assertThat($string, new RegularExpression($pattern), $message); - } - - /** - * Asserts that a string does not match a given regular expression. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public static function assertNotRegExp(string $pattern, string $string, string $message = ''): void - { - static::assertThat( - $string, - new LogicalNot( - new RegularExpression($pattern) - ), - $message - ); - } - - /** - * Assert that the size of two arrays (or `Countable` or `Traversable` objects) - * is the same. - * - * @param Countable|iterable $expected - * @param Countable|iterable $actual - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public static function assertSameSize($expected, $actual, string $message = ''): void - { - if (!$expected instanceof Countable && !\is_iterable($expected)) { - throw InvalidArgumentHelper::factory(1, 'countable or iterable'); - } - - if (!$actual instanceof Countable && !\is_iterable($actual)) { - throw InvalidArgumentHelper::factory(2, 'countable or iterable'); - } - - static::assertThat( - $actual, - new SameSize($expected), - $message - ); - } - - /** - * Assert that the size of two arrays (or `Countable` or `Traversable` objects) - * is not the same. - * - * @param Countable|iterable $expected - * @param Countable|iterable $actual - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public static function assertNotSameSize($expected, $actual, string $message = ''): void - { - if (!$expected instanceof Countable && !\is_iterable($expected)) { - throw InvalidArgumentHelper::factory(1, 'countable or iterable'); - } - - if (!$actual instanceof Countable && !\is_iterable($actual)) { - throw InvalidArgumentHelper::factory(2, 'countable or iterable'); - } - - static::assertThat( - $actual, - new LogicalNot( - new SameSize($expected) - ), - $message - ); - } - - /** - * Asserts that a string matches a given format string. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public static function assertStringMatchesFormat(string $format, string $string, string $message = ''): void - { - static::assertThat($string, new StringMatchesFormatDescription($format), $message); - } - - /** - * Asserts that a string does not match a given format string. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public static function assertStringNotMatchesFormat(string $format, string $string, string $message = ''): void - { - static::assertThat( - $string, - new LogicalNot( - new StringMatchesFormatDescription($format) - ), - $message - ); - } - - /** - * Asserts that a string matches a given format file. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public static function assertStringMatchesFormatFile(string $formatFile, string $string, string $message = ''): void - { - static::assertFileExists($formatFile, $message); - - static::assertThat( - $string, - new StringMatchesFormatDescription( - \file_get_contents($formatFile) - ), - $message - ); - } - - /** - * Asserts that a string does not match a given format string. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public static function assertStringNotMatchesFormatFile(string $formatFile, string $string, string $message = ''): void - { - static::assertFileExists($formatFile, $message); - - static::assertThat( - $string, - new LogicalNot( - new StringMatchesFormatDescription( - \file_get_contents($formatFile) - ) - ), - $message - ); - } - - /** - * Asserts that a string starts with a given prefix. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public static function assertStringStartsWith(string $prefix, string $string, string $message = ''): void - { - static::assertThat($string, new StringStartsWith($prefix), $message); - } - - /** - * Asserts that a string starts not with a given prefix. - * - * @param string $prefix - * @param string $string - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public static function assertStringStartsNotWith($prefix, $string, string $message = ''): void - { - static::assertThat( - $string, - new LogicalNot( - new StringStartsWith($prefix) - ), - $message - ); - } - - public static function assertStringContainsString(string $needle, string $haystack, string $message = ''): void - { - $constraint = new StringContains($needle, false); - - static::assertThat($haystack, $constraint, $message); - } - - public static function assertStringContainsStringIgnoringCase(string $needle, string $haystack, string $message = ''): void - { - $constraint = new StringContains($needle, true); - - static::assertThat($haystack, $constraint, $message); - } - - public static function assertStringNotContainsString(string $needle, string $haystack, string $message = ''): void - { - $constraint = new LogicalNot(new StringContains($needle)); - - static::assertThat($haystack, $constraint, $message); - } - - public static function assertStringNotContainsStringIgnoringCase(string $needle, string $haystack, string $message = ''): void - { - $constraint = new LogicalNot(new StringContains($needle, true)); - - static::assertThat($haystack, $constraint, $message); - } - - /** - * Asserts that a string ends with a given suffix. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public static function assertStringEndsWith(string $suffix, string $string, string $message = ''): void - { - static::assertThat($string, new StringEndsWith($suffix), $message); - } - - /** - * Asserts that a string ends not with a given suffix. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public static function assertStringEndsNotWith(string $suffix, string $string, string $message = ''): void - { - static::assertThat( - $string, - new LogicalNot( - new StringEndsWith($suffix) - ), - $message - ); - } - - /** - * Asserts that two XML files are equal. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public static function assertXmlFileEqualsXmlFile(string $expectedFile, string $actualFile, string $message = ''): void - { - $expected = Xml::loadFile($expectedFile); - $actual = Xml::loadFile($actualFile); - - static::assertEquals($expected, $actual, $message); - } - - /** - * Asserts that two XML files are not equal. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public static function assertXmlFileNotEqualsXmlFile(string $expectedFile, string $actualFile, string $message = ''): void - { - $expected = Xml::loadFile($expectedFile); - $actual = Xml::loadFile($actualFile); - - static::assertNotEquals($expected, $actual, $message); - } - - /** - * Asserts that two XML documents are equal. - * - * @param DOMDocument|string $actualXml - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public static function assertXmlStringEqualsXmlFile(string $expectedFile, $actualXml, string $message = ''): void - { - $expected = Xml::loadFile($expectedFile); - $actual = Xml::load($actualXml); - - static::assertEquals($expected, $actual, $message); - } - - /** - * Asserts that two XML documents are not equal. - * - * @param DOMDocument|string $actualXml - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public static function assertXmlStringNotEqualsXmlFile(string $expectedFile, $actualXml, string $message = ''): void - { - $expected = Xml::loadFile($expectedFile); - $actual = Xml::load($actualXml); - - static::assertNotEquals($expected, $actual, $message); - } - - /** - * Asserts that two XML documents are equal. - * - * @param DOMDocument|string $expectedXml - * @param DOMDocument|string $actualXml - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public static function assertXmlStringEqualsXmlString($expectedXml, $actualXml, string $message = ''): void - { - $expected = Xml::load($expectedXml); - $actual = Xml::load($actualXml); - - static::assertEquals($expected, $actual, $message); - } - - /** - * Asserts that two XML documents are not equal. - * - * @param DOMDocument|string $expectedXml - * @param DOMDocument|string $actualXml - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public static function assertXmlStringNotEqualsXmlString($expectedXml, $actualXml, string $message = ''): void - { - $expected = Xml::load($expectedXml); - $actual = Xml::load($actualXml); - - static::assertNotEquals($expected, $actual, $message); - } - - /** - * Asserts that a hierarchy of DOMElements matches. - * - * @throws AssertionFailedError - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public static function assertEqualXMLStructure(DOMElement $expectedElement, DOMElement $actualElement, bool $checkAttributes = false, string $message = ''): void - { - $expectedElement = Xml::import($expectedElement); - $actualElement = Xml::import($actualElement); - - static::assertSame( - $expectedElement->tagName, - $actualElement->tagName, - $message - ); - - if ($checkAttributes) { - static::assertSame( - $expectedElement->attributes->length, - $actualElement->attributes->length, - \sprintf( - '%s%sNumber of attributes on node "%s" does not match', - $message, - !empty($message) ? "\n" : '', - $expectedElement->tagName - ) - ); - - for ($i = 0; $i < $expectedElement->attributes->length; $i++) { - /** @var \DOMAttr $expectedAttribute */ - $expectedAttribute = $expectedElement->attributes->item($i); - - /** @var \DOMAttr $actualAttribute */ - $actualAttribute = $actualElement->attributes->getNamedItem( - $expectedAttribute->name - ); - - if (!$actualAttribute) { - static::fail( - \sprintf( - '%s%sCould not find attribute "%s" on node "%s"', - $message, - !empty($message) ? "\n" : '', - $expectedAttribute->name, - $expectedElement->tagName - ) - ); - } - } - } - - Xml::removeCharacterDataNodes($expectedElement); - Xml::removeCharacterDataNodes($actualElement); - - static::assertSame( - $expectedElement->childNodes->length, - $actualElement->childNodes->length, - \sprintf( - '%s%sNumber of child nodes of "%s" differs', - $message, - !empty($message) ? "\n" : '', - $expectedElement->tagName - ) - ); - - for ($i = 0; $i < $expectedElement->childNodes->length; $i++) { - static::assertEqualXMLStructure( - $expectedElement->childNodes->item($i), - $actualElement->childNodes->item($i), - $checkAttributes, - $message - ); - } - } - - /** - * Evaluates a PHPUnit\Framework\Constraint matcher object. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public static function assertThat($value, Constraint $constraint, string $message = ''): void - { - self::$count += \count($constraint); - - $constraint->evaluate($value, $message); - } - - /** - * Asserts that a string is a valid JSON string. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public static function assertJson(string $actualJson, string $message = ''): void - { - static::assertThat($actualJson, static::isJson(), $message); - } - - /** - * Asserts that two given JSON encoded objects or arrays are equal. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public static function assertJsonStringEqualsJsonString(string $expectedJson, string $actualJson, string $message = ''): void - { - static::assertJson($expectedJson, $message); - static::assertJson($actualJson, $message); - - static::assertThat($actualJson, new JsonMatches($expectedJson), $message); - } - - /** - * Asserts that two given JSON encoded objects or arrays are not equal. - * - * @param string $expectedJson - * @param string $actualJson - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public static function assertJsonStringNotEqualsJsonString($expectedJson, $actualJson, string $message = ''): void - { - static::assertJson($expectedJson, $message); - static::assertJson($actualJson, $message); - - static::assertThat( - $actualJson, - new LogicalNot( - new JsonMatches($expectedJson) - ), - $message - ); - } - - /** - * Asserts that the generated JSON encoded object and the content of the given file are equal. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public static function assertJsonStringEqualsJsonFile(string $expectedFile, string $actualJson, string $message = ''): void - { - static::assertFileExists($expectedFile, $message); - $expectedJson = \file_get_contents($expectedFile); - - static::assertJson($expectedJson, $message); - static::assertJson($actualJson, $message); - - static::assertThat($actualJson, new JsonMatches($expectedJson), $message); - } - - /** - * Asserts that the generated JSON encoded object and the content of the given file are not equal. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public static function assertJsonStringNotEqualsJsonFile(string $expectedFile, string $actualJson, string $message = ''): void - { - static::assertFileExists($expectedFile, $message); - $expectedJson = \file_get_contents($expectedFile); - - static::assertJson($expectedJson, $message); - static::assertJson($actualJson, $message); - - static::assertThat( - $actualJson, - new LogicalNot( - new JsonMatches($expectedJson) - ), - $message - ); - } - - /** - * Asserts that two JSON files are equal. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public static function assertJsonFileEqualsJsonFile(string $expectedFile, string $actualFile, string $message = ''): void - { - static::assertFileExists($expectedFile, $message); - static::assertFileExists($actualFile, $message); - - $actualJson = \file_get_contents($actualFile); - $expectedJson = \file_get_contents($expectedFile); - - static::assertJson($expectedJson, $message); - static::assertJson($actualJson, $message); - - $constraintExpected = new JsonMatches( - $expectedJson - ); - - $constraintActual = new JsonMatches($actualJson); - - static::assertThat($expectedJson, $constraintActual, $message); - static::assertThat($actualJson, $constraintExpected, $message); - } - - /** - * Asserts that two JSON files are not equal. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public static function assertJsonFileNotEqualsJsonFile(string $expectedFile, string $actualFile, string $message = ''): void - { - static::assertFileExists($expectedFile, $message); - static::assertFileExists($actualFile, $message); - - $actualJson = \file_get_contents($actualFile); - $expectedJson = \file_get_contents($expectedFile); - - static::assertJson($expectedJson, $message); - static::assertJson($actualJson, $message); - - $constraintExpected = new JsonMatches( - $expectedJson - ); - - $constraintActual = new JsonMatches($actualJson); - - static::assertThat($expectedJson, new LogicalNot($constraintActual), $message); - static::assertThat($actualJson, new LogicalNot($constraintExpected), $message); - } - - public static function logicalAnd(): LogicalAnd - { - $constraints = \func_get_args(); - - $constraint = new LogicalAnd; - $constraint->setConstraints($constraints); - - return $constraint; - } - - public static function logicalOr(): LogicalOr - { - $constraints = \func_get_args(); - - $constraint = new LogicalOr; - $constraint->setConstraints($constraints); - - return $constraint; - } - - public static function logicalNot(Constraint $constraint): LogicalNot - { - return new LogicalNot($constraint); - } - - public static function logicalXor(): LogicalXor - { - $constraints = \func_get_args(); - - $constraint = new LogicalXor; - $constraint->setConstraints($constraints); - - return $constraint; - } - - public static function anything(): IsAnything - { - return new IsAnything; - } - - public static function isTrue(): IsTrue - { - return new IsTrue; - } - - public static function callback(callable $callback): Callback - { - return new Callback($callback); - } - - public static function isFalse(): IsFalse - { - return new IsFalse; - } - - public static function isJson(): IsJson - { - return new IsJson; - } - - public static function isNull(): IsNull - { - return new IsNull; - } - - public static function isFinite(): IsFinite - { - return new IsFinite; - } - - public static function isInfinite(): IsInfinite - { - return new IsInfinite; - } - - public static function isNan(): IsNan - { - return new IsNan; - } - - /** - * @deprecated https://github.com/sebastianbergmann/phpunit/issues/3338 - */ - public static function attribute(Constraint $constraint, string $attributeName): Attribute - { - return new Attribute($constraint, $attributeName); - } - - public static function contains($value, bool $checkForObjectIdentity = true, bool $checkForNonObjectIdentity = false): TraversableContains - { - return new TraversableContains($value, $checkForObjectIdentity, $checkForNonObjectIdentity); - } - - public static function containsOnly(string $type): TraversableContainsOnly - { - return new TraversableContainsOnly($type); - } - - public static function containsOnlyInstancesOf(string $className): TraversableContainsOnly - { - return new TraversableContainsOnly($className, false); - } - - /** - * @param int|string $key - */ - public static function arrayHasKey($key): ArrayHasKey - { - return new ArrayHasKey($key); - } - - public static function equalTo($value, float $delta = 0.0, int $maxDepth = 10, bool $canonicalize = false, bool $ignoreCase = false): IsEqual - { - return new IsEqual($value, $delta, $maxDepth, $canonicalize, $ignoreCase); - } - - /** - * @deprecated https://github.com/sebastianbergmann/phpunit/issues/3338 - */ - public static function attributeEqualTo(string $attributeName, $value, float $delta = 0.0, int $maxDepth = 10, bool $canonicalize = false, bool $ignoreCase = false): Attribute - { - return static::attribute( - static::equalTo( - $value, - $delta, - $maxDepth, - $canonicalize, - $ignoreCase - ), - $attributeName - ); - } - - public static function isEmpty(): IsEmpty - { - return new IsEmpty; - } - - public static function isWritable(): IsWritable - { - return new IsWritable; - } - - public static function isReadable(): IsReadable - { - return new IsReadable; - } - - public static function directoryExists(): DirectoryExists - { - return new DirectoryExists; - } - - public static function fileExists(): FileExists - { - return new FileExists; - } - - public static function greaterThan($value): GreaterThan - { - return new GreaterThan($value); - } - - public static function greaterThanOrEqual($value): LogicalOr - { - return static::logicalOr( - new IsEqual($value), - new GreaterThan($value) - ); - } - - public static function classHasAttribute(string $attributeName): ClassHasAttribute - { - return new ClassHasAttribute($attributeName); - } - - public static function classHasStaticAttribute(string $attributeName): ClassHasStaticAttribute - { - return new ClassHasStaticAttribute($attributeName); - } - - public static function objectHasAttribute($attributeName): ObjectHasAttribute - { - return new ObjectHasAttribute($attributeName); - } - - public static function identicalTo($value): IsIdentical - { - return new IsIdentical($value); - } - - public static function isInstanceOf(string $className): IsInstanceOf - { - return new IsInstanceOf($className); - } - - public static function isType(string $type): IsType - { - return new IsType($type); - } - - public static function lessThan($value): LessThan - { - return new LessThan($value); - } - - public static function lessThanOrEqual($value): LogicalOr - { - return static::logicalOr( - new IsEqual($value), - new LessThan($value) - ); - } - - public static function matchesRegularExpression(string $pattern): RegularExpression - { - return new RegularExpression($pattern); - } - - public static function matches(string $string): StringMatchesFormatDescription - { - return new StringMatchesFormatDescription($string); - } - - public static function stringStartsWith($prefix): StringStartsWith - { - return new StringStartsWith($prefix); - } - - public static function stringContains(string $string, bool $case = true): StringContains - { - return new StringContains($string, $case); - } - - public static function stringEndsWith(string $suffix): StringEndsWith - { - return new StringEndsWith($suffix); - } - - public static function countOf(int $count): Count - { - return new Count($count); - } - - /** - * Fails a test with the given message. - * - * @throws AssertionFailedError - */ - public static function fail(string $message = ''): void - { - self::$count++; - - throw new AssertionFailedError($message); - } - - /** - * Returns the value of an attribute of a class or an object. - * This also works for attributes that are declared protected or private. - * - * @param object|string $classOrObject - * - * @throws Exception - * - * @deprecated https://github.com/sebastianbergmann/phpunit/issues/3338 - */ - public static function readAttribute($classOrObject, string $attributeName) - { - if (!self::isValidClassAttributeName($attributeName)) { - throw InvalidArgumentHelper::factory(2, 'valid attribute name'); - } - - if (\is_string($classOrObject)) { - if (!\class_exists($classOrObject)) { - throw InvalidArgumentHelper::factory( - 1, - 'class name' - ); - } - - return static::getStaticAttribute( - $classOrObject, - $attributeName - ); - } - - if (\is_object($classOrObject)) { - return static::getObjectAttribute( - $classOrObject, - $attributeName - ); - } - - throw InvalidArgumentHelper::factory( - 1, - 'class name or object' - ); - } - - /** - * Returns the value of a static attribute. - * This also works for attributes that are declared protected or private. - * - * @throws Exception - * @throws ReflectionException - * - * @deprecated https://github.com/sebastianbergmann/phpunit/issues/3338 - */ - public static function getStaticAttribute(string $className, string $attributeName) - { - if (!\class_exists($className)) { - throw InvalidArgumentHelper::factory(1, 'class name'); - } - - if (!self::isValidClassAttributeName($attributeName)) { - throw InvalidArgumentHelper::factory(2, 'valid attribute name'); - } - - $class = new ReflectionClass($className); - - while ($class) { - $attributes = $class->getStaticProperties(); - - if (\array_key_exists($attributeName, $attributes)) { - return $attributes[$attributeName]; - } - - $class = $class->getParentClass(); - } - - throw new Exception( - \sprintf( - 'Attribute "%s" not found in class.', - $attributeName - ) - ); - } - - /** - * Returns the value of an object's attribute. - * This also works for attributes that are declared protected or private. - * - * @param object $object - * - * @throws Exception - * - * @deprecated https://github.com/sebastianbergmann/phpunit/issues/3338 - */ - public static function getObjectAttribute($object, string $attributeName) - { - if (!\is_object($object)) { - throw InvalidArgumentHelper::factory(1, 'object'); - } - - if (!self::isValidClassAttributeName($attributeName)) { - throw InvalidArgumentHelper::factory(2, 'valid attribute name'); - } - - try { - $reflector = new ReflectionObject($object); - - do { - try { - $attribute = $reflector->getProperty($attributeName); - - if (!$attribute || $attribute->isPublic()) { - return $object->$attributeName; - } - - $attribute->setAccessible(true); - $value = $attribute->getValue($object); - $attribute->setAccessible(false); - - return $value; - } catch (ReflectionException $e) { - } - } while ($reflector = $reflector->getParentClass()); - } catch (ReflectionException $e) { - } - - throw new Exception( - \sprintf( - 'Attribute "%s" not found in object.', - $attributeName - ) - ); - } - - /** - * Mark the test as incomplete. - * - * @throws IncompleteTestError - */ - public static function markTestIncomplete(string $message = ''): void - { - throw new IncompleteTestError($message); - } - - /** - * Mark the test as skipped. - * - * @throws SkippedTestError - */ - public static function markTestSkipped(string $message = ''): void - { - throw new SkippedTestError($message); - } - - /** - * Return the current assertion count. - */ - public static function getCount(): int - { - return self::$count; - } - - /** - * Reset the assertion counter. - */ - public static function resetCount(): void - { - self::$count = 0; - } - - private static function isValidObjectAttributeName(string $attributeName): bool - { - return \preg_match('/[^\x00-\x1f\x7f-\x9f]+/', $attributeName); - } - - private static function isValidClassAttributeName(string $attributeName): bool - { - return \preg_match('/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/', $attributeName); - } - - private static function createWarning(string $warning): void - { - foreach (\debug_backtrace() as $step) { - if (isset($step['object']) && $step['object'] instanceof TestCase) { - $step['object']->addWarning($warning); - - break; - } - } - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Assert/Functions.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Assert/Functions.php deleted file mode 100644 index ba6f79f..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Assert/Functions.php +++ /dev/null @@ -1,1668 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -use PHPUnit\Framework\Assert; -use PHPUnit\Framework\Constraint\ArrayHasKey; -use PHPUnit\Framework\Constraint\Attribute; -use PHPUnit\Framework\Constraint\Callback; -use PHPUnit\Framework\Constraint\ClassHasAttribute; -use PHPUnit\Framework\Constraint\ClassHasStaticAttribute; -use PHPUnit\Framework\Constraint\Constraint; -use PHPUnit\Framework\Constraint\Count; -use PHPUnit\Framework\Constraint\DirectoryExists; -use PHPUnit\Framework\Constraint\FileExists; -use PHPUnit\Framework\Constraint\GreaterThan; -use PHPUnit\Framework\Constraint\IsAnything; -use PHPUnit\Framework\Constraint\IsEmpty; -use PHPUnit\Framework\Constraint\IsEqual; -use PHPUnit\Framework\Constraint\IsFalse; -use PHPUnit\Framework\Constraint\IsFinite; -use PHPUnit\Framework\Constraint\IsIdentical; -use PHPUnit\Framework\Constraint\IsInfinite; -use PHPUnit\Framework\Constraint\IsInstanceOf; -use PHPUnit\Framework\Constraint\IsJson; -use PHPUnit\Framework\Constraint\IsNan; -use PHPUnit\Framework\Constraint\IsNull; -use PHPUnit\Framework\Constraint\IsReadable; -use PHPUnit\Framework\Constraint\IsTrue; -use PHPUnit\Framework\Constraint\IsType; -use PHPUnit\Framework\Constraint\IsWritable; -use PHPUnit\Framework\Constraint\LessThan; -use PHPUnit\Framework\Constraint\LogicalAnd; -use PHPUnit\Framework\Constraint\LogicalNot; -use PHPUnit\Framework\Constraint\LogicalOr; -use PHPUnit\Framework\Constraint\LogicalXor; -use PHPUnit\Framework\Constraint\ObjectHasAttribute; -use PHPUnit\Framework\Constraint\RegularExpression; -use PHPUnit\Framework\Constraint\StringContains; -use PHPUnit\Framework\Constraint\StringEndsWith; -use PHPUnit\Framework\Constraint\StringMatchesFormatDescription; -use PHPUnit\Framework\Constraint\StringStartsWith; -use PHPUnit\Framework\Constraint\TraversableContains; -use PHPUnit\Framework\Constraint\TraversableContainsOnly; -use PHPUnit\Framework\ExpectationFailedException; -use PHPUnit\Framework\MockObject\Matcher\AnyInvokedCount as AnyInvokedCountMatcher; -use PHPUnit\Framework\MockObject\Matcher\InvokedAtIndex as InvokedAtIndexMatcher; -use PHPUnit\Framework\MockObject\Matcher\InvokedAtLeastCount as InvokedAtLeastCountMatcher; -use PHPUnit\Framework\MockObject\Matcher\InvokedAtLeastOnce as InvokedAtLeastOnceMatcher; -use PHPUnit\Framework\MockObject\Matcher\InvokedAtMostCount as InvokedAtMostCountMatcher; -use PHPUnit\Framework\MockObject\Matcher\InvokedCount as InvokedCountMatcher; -use PHPUnit\Framework\MockObject\Stub\ConsecutiveCalls as ConsecutiveCallsStub; -use PHPUnit\Framework\MockObject\Stub\Exception as ExceptionStub; -use PHPUnit\Framework\MockObject\Stub\ReturnArgument as ReturnArgumentStub; -use PHPUnit\Framework\MockObject\Stub\ReturnCallback as ReturnCallbackStub; -use PHPUnit\Framework\MockObject\Stub\ReturnSelf as ReturnSelfStub; -use PHPUnit\Framework\MockObject\Stub\ReturnStub; -use PHPUnit\Framework\MockObject\Stub\ReturnValueMap as ReturnValueMapStub; - -/** - * Asserts that an array has a specified key. - * - * @param int|string $key - * @param array|ArrayAccess $array - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertArrayHasKey($key, $array, string $message = ''): void -{ - Assert::assertArrayHasKey(...\func_get_args()); -} - -/** - * Asserts that an array has a specified subset. - * - * @param array|ArrayAccess $subset - * @param array|ArrayAccess $array - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - * - * @deprecated https://github.com/sebastianbergmann/phpunit/issues/3494 - */ -function assertArraySubset($subset, $array, bool $checkForObjectIdentity = false, string $message = ''): void -{ - Assert::assertArraySubset(...\func_get_args()); -} - -/** - * Asserts that an array does not have a specified key. - * - * @param int|string $key - * @param array|ArrayAccess $array - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertArrayNotHasKey($key, $array, string $message = ''): void -{ - Assert::assertArrayNotHasKey(...\func_get_args()); -} - -/** - * Asserts that a haystack contains a needle. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertContains($needle, $haystack, string $message = '', bool $ignoreCase = false, bool $checkForObjectIdentity = true, bool $checkForNonObjectIdentity = false): void -{ - Assert::assertContains(...\func_get_args()); -} - -/** - * Asserts that a haystack that is stored in a static attribute of a class - * or an attribute of an object contains a needle. - * - * @param object|string $haystackClassOrObject - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertAttributeContains($needle, string $haystackAttributeName, $haystackClassOrObject, string $message = '', bool $ignoreCase = false, bool $checkForObjectIdentity = true, bool $checkForNonObjectIdentity = false): void -{ - Assert::assertAttributeContains(...\func_get_args()); -} - -/** - * Asserts that a haystack does not contain a needle. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertNotContains($needle, $haystack, string $message = '', bool $ignoreCase = false, bool $checkForObjectIdentity = true, bool $checkForNonObjectIdentity = false): void -{ - Assert::assertNotContains(...\func_get_args()); -} - -/** - * Asserts that a haystack that is stored in a static attribute of a class - * or an attribute of an object does not contain a needle. - * - * @param object|string $haystackClassOrObject - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertAttributeNotContains($needle, string $haystackAttributeName, $haystackClassOrObject, string $message = '', bool $ignoreCase = false, bool $checkForObjectIdentity = true, bool $checkForNonObjectIdentity = false): void -{ - Assert::assertAttributeNotContains(...\func_get_args()); -} - -/** - * Asserts that a haystack contains only values of a given type. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertContainsOnly(string $type, iterable $haystack, ?bool $isNativeType = null, string $message = ''): void -{ - Assert::assertContainsOnly(...\func_get_args()); -} - -/** - * Asserts that a haystack contains only instances of a given class name. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertContainsOnlyInstancesOf(string $className, iterable $haystack, string $message = ''): void -{ - Assert::assertContainsOnlyInstancesOf(...\func_get_args()); -} - -/** - * Asserts that a haystack that is stored in a static attribute of a class - * or an attribute of an object contains only values of a given type. - * - * @param object|string $haystackClassOrObject - * @param bool $isNativeType - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertAttributeContainsOnly(string $type, string $haystackAttributeName, $haystackClassOrObject, ?bool $isNativeType = null, string $message = ''): void -{ - Assert::assertAttributeContainsOnly(...\func_get_args()); -} - -/** - * Asserts that a haystack does not contain only values of a given type. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertNotContainsOnly(string $type, iterable $haystack, ?bool $isNativeType = null, string $message = ''): void -{ - Assert::assertNotContainsOnly(...\func_get_args()); -} - -/** - * Asserts that a haystack that is stored in a static attribute of a class - * or an attribute of an object does not contain only values of a given - * type. - * - * @param object|string $haystackClassOrObject - * @param bool $isNativeType - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertAttributeNotContainsOnly(string $type, string $haystackAttributeName, $haystackClassOrObject, ?bool $isNativeType = null, string $message = ''): void -{ - Assert::assertAttributeNotContainsOnly(...\func_get_args()); -} - -/** - * Asserts the number of elements of an array, Countable or Traversable. - * - * @param Countable|iterable $haystack - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertCount(int $expectedCount, $haystack, string $message = ''): void -{ - Assert::assertCount(...\func_get_args()); -} - -/** - * Asserts the number of elements of an array, Countable or Traversable - * that is stored in an attribute. - * - * @param object|string $haystackClassOrObject - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertAttributeCount(int $expectedCount, string $haystackAttributeName, $haystackClassOrObject, string $message = ''): void -{ - Assert::assertAttributeCount(...\func_get_args()); -} - -/** - * Asserts the number of elements of an array, Countable or Traversable. - * - * @param Countable|iterable $haystack - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertNotCount(int $expectedCount, $haystack, string $message = ''): void -{ - Assert::assertNotCount(...\func_get_args()); -} - -/** - * Asserts the number of elements of an array, Countable or Traversable - * that is stored in an attribute. - * - * @param object|string $haystackClassOrObject - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertAttributeNotCount(int $expectedCount, string $haystackAttributeName, $haystackClassOrObject, string $message = ''): void -{ - Assert::assertAttributeNotCount(...\func_get_args()); -} - -/** - * Asserts that two variables are equal. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertEquals($expected, $actual, string $message = '', float $delta = 0.0, int $maxDepth = 10, bool $canonicalize = false, bool $ignoreCase = false): void -{ - Assert::assertEquals(...\func_get_args()); -} - -/** - * Asserts that a variable is equal to an attribute of an object. - * - * @param object|string $actualClassOrObject - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertAttributeEquals($expected, string $actualAttributeName, $actualClassOrObject, string $message = '', float $delta = 0.0, int $maxDepth = 10, bool $canonicalize = false, bool $ignoreCase = false): void -{ - Assert::assertAttributeEquals(...\func_get_args()); -} - -/** - * Asserts that two variables are not equal. - * - * @param float $delta - * @param int $maxDepth - * @param bool $canonicalize - * @param bool $ignoreCase - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertNotEquals($expected, $actual, string $message = '', $delta = 0.0, $maxDepth = 10, $canonicalize = false, $ignoreCase = false): void -{ - Assert::assertNotEquals(...\func_get_args()); -} - -/** - * Asserts that a variable is not equal to an attribute of an object. - * - * @param object|string $actualClassOrObject - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertAttributeNotEquals($expected, string $actualAttributeName, $actualClassOrObject, string $message = '', float $delta = 0.0, int $maxDepth = 10, bool $canonicalize = false, bool $ignoreCase = false): void -{ - Assert::assertAttributeNotEquals(...\func_get_args()); -} - -/** - * Asserts that a variable is empty. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertEmpty($actual, string $message = ''): void -{ - Assert::assertEmpty(...\func_get_args()); -} - -/** - * Asserts that a static attribute of a class or an attribute of an object - * is empty. - * - * @param object|string $haystackClassOrObject - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertAttributeEmpty(string $haystackAttributeName, $haystackClassOrObject, string $message = ''): void -{ - Assert::assertAttributeEmpty(...\func_get_args()); -} - -/** - * Asserts that a variable is not empty. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertNotEmpty($actual, string $message = ''): void -{ - Assert::assertNotEmpty(...\func_get_args()); -} - -/** - * Asserts that a static attribute of a class or an attribute of an object - * is not empty. - * - * @param object|string $haystackClassOrObject - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertAttributeNotEmpty(string $haystackAttributeName, $haystackClassOrObject, string $message = ''): void -{ - Assert::assertAttributeNotEmpty(...\func_get_args()); -} - -/** - * Asserts that a value is greater than another value. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertGreaterThan($expected, $actual, string $message = ''): void -{ - Assert::assertGreaterThan(...\func_get_args()); -} - -/** - * Asserts that an attribute is greater than another value. - * - * @param object|string $actualClassOrObject - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertAttributeGreaterThan($expected, string $actualAttributeName, $actualClassOrObject, string $message = ''): void -{ - Assert::assertAttributeGreaterThan(...\func_get_args()); -} - -/** - * Asserts that a value is greater than or equal to another value. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertGreaterThanOrEqual($expected, $actual, string $message = ''): void -{ - Assert::assertGreaterThanOrEqual(...\func_get_args()); -} - -/** - * Asserts that an attribute is greater than or equal to another value. - * - * @param object|string $actualClassOrObject - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertAttributeGreaterThanOrEqual($expected, string $actualAttributeName, $actualClassOrObject, string $message = ''): void -{ - Assert::assertAttributeGreaterThanOrEqual(...\func_get_args()); -} - -/** - * Asserts that a value is smaller than another value. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertLessThan($expected, $actual, string $message = ''): void -{ - Assert::assertLessThan(...\func_get_args()); -} - -/** - * Asserts that an attribute is smaller than another value. - * - * @param object|string $actualClassOrObject - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertAttributeLessThan($expected, string $actualAttributeName, $actualClassOrObject, string $message = ''): void -{ - Assert::assertAttributeLessThan(...\func_get_args()); -} - -/** - * Asserts that a value is smaller than or equal to another value. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertLessThanOrEqual($expected, $actual, string $message = ''): void -{ - Assert::assertLessThanOrEqual(...\func_get_args()); -} - -/** - * Asserts that an attribute is smaller than or equal to another value. - * - * @param object|string $actualClassOrObject - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertAttributeLessThanOrEqual($expected, string $actualAttributeName, $actualClassOrObject, string $message = ''): void -{ - Assert::assertAttributeLessThanOrEqual(...\func_get_args()); -} - -/** - * Asserts that the contents of one file is equal to the contents of another - * file. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertFileEquals(string $expected, string $actual, string $message = '', bool $canonicalize = false, bool $ignoreCase = false): void -{ - Assert::assertFileEquals(...\func_get_args()); -} - -/** - * Asserts that the contents of one file is not equal to the contents of - * another file. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertFileNotEquals(string $expected, string $actual, string $message = '', bool $canonicalize = false, bool $ignoreCase = false): void -{ - Assert::assertFileNotEquals(...\func_get_args()); -} - -/** - * Asserts that the contents of a string is equal - * to the contents of a file. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertStringEqualsFile(string $expectedFile, string $actualString, string $message = '', bool $canonicalize = false, bool $ignoreCase = false): void -{ - Assert::assertStringEqualsFile(...\func_get_args()); -} - -/** - * Asserts that the contents of a string is not equal - * to the contents of a file. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertStringNotEqualsFile(string $expectedFile, string $actualString, string $message = '', bool $canonicalize = false, bool $ignoreCase = false): void -{ - Assert::assertStringNotEqualsFile(...\func_get_args()); -} - -/** - * Asserts that a file/dir is readable. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertIsReadable(string $filename, string $message = ''): void -{ - Assert::assertIsReadable(...\func_get_args()); -} - -/** - * Asserts that a file/dir exists and is not readable. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertNotIsReadable(string $filename, string $message = ''): void -{ - Assert::assertNotIsReadable(...\func_get_args()); -} - -/** - * Asserts that a file/dir exists and is writable. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertIsWritable(string $filename, string $message = ''): void -{ - Assert::assertIsWritable(...\func_get_args()); -} - -/** - * Asserts that a file/dir exists and is not writable. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertNotIsWritable(string $filename, string $message = ''): void -{ - Assert::assertNotIsWritable(...\func_get_args()); -} - -/** - * Asserts that a directory exists. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertDirectoryExists(string $directory, string $message = ''): void -{ - Assert::assertDirectoryExists(...\func_get_args()); -} - -/** - * Asserts that a directory does not exist. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertDirectoryNotExists(string $directory, string $message = ''): void -{ - Assert::assertDirectoryNotExists(...\func_get_args()); -} - -/** - * Asserts that a directory exists and is readable. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertDirectoryIsReadable(string $directory, string $message = ''): void -{ - Assert::assertDirectoryIsReadable(...\func_get_args()); -} - -/** - * Asserts that a directory exists and is not readable. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertDirectoryNotIsReadable(string $directory, string $message = ''): void -{ - Assert::assertDirectoryNotIsReadable(...\func_get_args()); -} - -/** - * Asserts that a directory exists and is writable. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertDirectoryIsWritable(string $directory, string $message = ''): void -{ - Assert::assertDirectoryIsWritable(...\func_get_args()); -} - -/** - * Asserts that a directory exists and is not writable. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertDirectoryNotIsWritable(string $directory, string $message = ''): void -{ - Assert::assertDirectoryNotIsWritable(...\func_get_args()); -} - -/** - * Asserts that a file exists. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertFileExists(string $filename, string $message = ''): void -{ - Assert::assertFileExists(...\func_get_args()); -} - -/** - * Asserts that a file does not exist. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertFileNotExists(string $filename, string $message = ''): void -{ - Assert::assertFileNotExists(...\func_get_args()); -} - -/** - * Asserts that a file exists and is readable. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertFileIsReadable(string $file, string $message = ''): void -{ - Assert::assertFileIsReadable(...\func_get_args()); -} - -/** - * Asserts that a file exists and is not readable. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertFileNotIsReadable(string $file, string $message = ''): void -{ - Assert::assertFileNotIsReadable(...\func_get_args()); -} - -/** - * Asserts that a file exists and is writable. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertFileIsWritable(string $file, string $message = ''): void -{ - Assert::assertFileIsWritable(...\func_get_args()); -} - -/** - * Asserts that a file exists and is not writable. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertFileNotIsWritable(string $file, string $message = ''): void -{ - Assert::assertFileNotIsWritable(...\func_get_args()); -} - -/** - * Asserts that a condition is true. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertTrue($condition, string $message = ''): void -{ - Assert::assertTrue(...\func_get_args()); -} - -/** - * Asserts that a condition is not true. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertNotTrue($condition, string $message = ''): void -{ - Assert::assertNotTrue(...\func_get_args()); -} - -/** - * Asserts that a condition is false. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertFalse($condition, string $message = ''): void -{ - Assert::assertFalse(...\func_get_args()); -} - -/** - * Asserts that a condition is not false. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertNotFalse($condition, string $message = ''): void -{ - Assert::assertNotFalse(...\func_get_args()); -} - -/** - * Asserts that a variable is null. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertNull($actual, string $message = ''): void -{ - Assert::assertNull(...\func_get_args()); -} - -/** - * Asserts that a variable is not null. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertNotNull($actual, string $message = ''): void -{ - Assert::assertNotNull(...\func_get_args()); -} - -/** - * Asserts that a variable is finite. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertFinite($actual, string $message = ''): void -{ - Assert::assertFinite(...\func_get_args()); -} - -/** - * Asserts that a variable is infinite. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertInfinite($actual, string $message = ''): void -{ - Assert::assertInfinite(...\func_get_args()); -} - -/** - * Asserts that a variable is nan. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertNan($actual, string $message = ''): void -{ - Assert::assertNan(...\func_get_args()); -} - -/** - * Asserts that a class has a specified attribute. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertClassHasAttribute(string $attributeName, string $className, string $message = ''): void -{ - Assert::assertClassHasAttribute(...\func_get_args()); -} - -/** - * Asserts that a class does not have a specified attribute. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertClassNotHasAttribute(string $attributeName, string $className, string $message = ''): void -{ - Assert::assertClassNotHasAttribute(...\func_get_args()); -} - -/** - * Asserts that a class has a specified static attribute. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertClassHasStaticAttribute(string $attributeName, string $className, string $message = ''): void -{ - Assert::assertClassHasStaticAttribute(...\func_get_args()); -} - -/** - * Asserts that a class does not have a specified static attribute. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertClassNotHasStaticAttribute(string $attributeName, string $className, string $message = ''): void -{ - Assert::assertClassNotHasStaticAttribute(...\func_get_args()); -} - -/** - * Asserts that an object has a specified attribute. - * - * @param object $object - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertObjectHasAttribute(string $attributeName, $object, string $message = ''): void -{ - Assert::assertObjectHasAttribute(...\func_get_args()); -} - -/** - * Asserts that an object does not have a specified attribute. - * - * @param object $object - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertObjectNotHasAttribute(string $attributeName, $object, string $message = ''): void -{ - Assert::assertObjectNotHasAttribute(...\func_get_args()); -} - -/** - * Asserts that two variables have the same type and value. - * Used on objects, it asserts that two variables reference - * the same object. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertSame($expected, $actual, string $message = ''): void -{ - Assert::assertSame(...\func_get_args()); -} - -/** - * Asserts that a variable and an attribute of an object have the same type - * and value. - * - * @param object|string $actualClassOrObject - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertAttributeSame($expected, string $actualAttributeName, $actualClassOrObject, string $message = ''): void -{ - Assert::assertAttributeSame(...\func_get_args()); -} - -/** - * Asserts that two variables do not have the same type and value. - * Used on objects, it asserts that two variables do not reference - * the same object. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertNotSame($expected, $actual, string $message = ''): void -{ - Assert::assertNotSame(...\func_get_args()); -} - -/** - * Asserts that a variable and an attribute of an object do not have the - * same type and value. - * - * @param object|string $actualClassOrObject - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertAttributeNotSame($expected, string $actualAttributeName, $actualClassOrObject, string $message = ''): void -{ - Assert::assertAttributeNotSame(...\func_get_args()); -} - -/** - * Asserts that a variable is of a given type. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertInstanceOf(string $expected, $actual, string $message = ''): void -{ - Assert::assertInstanceOf(...\func_get_args()); -} - -/** - * Asserts that an attribute is of a given type. - * - * @param object|string $classOrObject - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertAttributeInstanceOf(string $expected, string $attributeName, $classOrObject, string $message = ''): void -{ - Assert::assertAttributeInstanceOf(...\func_get_args()); -} - -/** - * Asserts that a variable is not of a given type. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertNotInstanceOf(string $expected, $actual, string $message = ''): void -{ - Assert::assertNotInstanceOf(...\func_get_args()); -} - -/** - * Asserts that an attribute is of a given type. - * - * @param object|string $classOrObject - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertAttributeNotInstanceOf(string $expected, string $attributeName, $classOrObject, string $message = ''): void -{ - Assert::assertAttributeNotInstanceOf(...\func_get_args()); -} - -/** - * Asserts that a variable is of a given type. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertInternalType(string $expected, $actual, string $message = ''): void -{ - Assert::assertInternalType(...\func_get_args()); -} - -/** - * Asserts that an attribute is of a given type. - * - * @param object|string $classOrObject - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertAttributeInternalType(string $expected, string $attributeName, $classOrObject, string $message = ''): void -{ - Assert::assertAttributeInternalType(...\func_get_args()); -} - -/** - * Asserts that a variable is not of a given type. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertNotInternalType(string $expected, $actual, string $message = ''): void -{ - Assert::assertNotInternalType(...\func_get_args()); -} - -/** - * Asserts that an attribute is of a given type. - * - * @param object|string $classOrObject - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertAttributeNotInternalType(string $expected, string $attributeName, $classOrObject, string $message = ''): void -{ - Assert::assertAttributeNotInternalType(...\func_get_args()); -} - -/** - * Asserts that a string matches a given regular expression. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertRegExp(string $pattern, string $string, string $message = ''): void -{ - Assert::assertRegExp(...\func_get_args()); -} - -/** - * Asserts that a string does not match a given regular expression. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertNotRegExp(string $pattern, string $string, string $message = ''): void -{ - Assert::assertNotRegExp(...\func_get_args()); -} - -/** - * Assert that the size of two arrays (or `Countable` or `Traversable` objects) - * is the same. - * - * @param Countable|iterable $expected - * @param Countable|iterable $actual - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertSameSize($expected, $actual, string $message = ''): void -{ - Assert::assertSameSize(...\func_get_args()); -} - -/** - * Assert that the size of two arrays (or `Countable` or `Traversable` objects) - * is not the same. - * - * @param Countable|iterable $expected - * @param Countable|iterable $actual - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertNotSameSize($expected, $actual, string $message = ''): void -{ - Assert::assertNotSameSize(...\func_get_args()); -} - -/** - * Asserts that a string matches a given format string. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertStringMatchesFormat(string $format, string $string, string $message = ''): void -{ - Assert::assertStringMatchesFormat(...\func_get_args()); -} - -/** - * Asserts that a string does not match a given format string. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertStringNotMatchesFormat(string $format, string $string, string $message = ''): void -{ - Assert::assertStringNotMatchesFormat(...\func_get_args()); -} - -/** - * Asserts that a string matches a given format file. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertStringMatchesFormatFile(string $formatFile, string $string, string $message = ''): void -{ - Assert::assertStringMatchesFormatFile(...\func_get_args()); -} - -/** - * Asserts that a string does not match a given format string. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertStringNotMatchesFormatFile(string $formatFile, string $string, string $message = ''): void -{ - Assert::assertStringNotMatchesFormatFile(...\func_get_args()); -} - -/** - * Asserts that a string starts with a given prefix. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertStringStartsWith(string $prefix, string $string, string $message = ''): void -{ - Assert::assertStringStartsWith(...\func_get_args()); -} - -/** - * Asserts that a string starts not with a given prefix. - * - * @param string $prefix - * @param string $string - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertStringStartsNotWith($prefix, $string, string $message = ''): void -{ - Assert::assertStringStartsNotWith(...\func_get_args()); -} - -/** - * Asserts that a string ends with a given suffix. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertStringEndsWith(string $suffix, string $string, string $message = ''): void -{ - Assert::assertStringEndsWith(...\func_get_args()); -} - -/** - * Asserts that a string ends not with a given suffix. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertStringEndsNotWith(string $suffix, string $string, string $message = ''): void -{ - Assert::assertStringEndsNotWith(...\func_get_args()); -} - -/** - * Asserts that two XML files are equal. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertXmlFileEqualsXmlFile(string $expectedFile, string $actualFile, string $message = ''): void -{ - Assert::assertXmlFileEqualsXmlFile(...\func_get_args()); -} - -/** - * Asserts that two XML files are not equal. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertXmlFileNotEqualsXmlFile(string $expectedFile, string $actualFile, string $message = ''): void -{ - Assert::assertXmlFileNotEqualsXmlFile(...\func_get_args()); -} - -/** - * Asserts that two XML documents are equal. - * - * @param DOMDocument|string $actualXml - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertXmlStringEqualsXmlFile(string $expectedFile, $actualXml, string $message = ''): void -{ - Assert::assertXmlStringEqualsXmlFile(...\func_get_args()); -} - -/** - * Asserts that two XML documents are not equal. - * - * @param DOMDocument|string $actualXml - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertXmlStringNotEqualsXmlFile(string $expectedFile, $actualXml, string $message = ''): void -{ - Assert::assertXmlStringNotEqualsXmlFile(...\func_get_args()); -} - -/** - * Asserts that two XML documents are equal. - * - * @param DOMDocument|string $expectedXml - * @param DOMDocument|string $actualXml - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertXmlStringEqualsXmlString($expectedXml, $actualXml, string $message = ''): void -{ - Assert::assertXmlStringEqualsXmlString(...\func_get_args()); -} - -/** - * Asserts that two XML documents are not equal. - * - * @param DOMDocument|string $expectedXml - * @param DOMDocument|string $actualXml - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertXmlStringNotEqualsXmlString($expectedXml, $actualXml, string $message = ''): void -{ - Assert::assertXmlStringNotEqualsXmlString(...\func_get_args()); -} - -/** - * Asserts that a hierarchy of DOMElements matches. - * - * @throws AssertionFailedError - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertEqualXMLStructure(DOMElement $expectedElement, DOMElement $actualElement, bool $checkAttributes = false, string $message = ''): void -{ - Assert::assertEqualXMLStructure(...\func_get_args()); -} - -/** - * Evaluates a PHPUnit\Framework\Constraint matcher object. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertThat($value, Constraint $constraint, string $message = ''): void -{ - Assert::assertThat(...\func_get_args()); -} - -/** - * Asserts that a string is a valid JSON string. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertJson(string $actualJson, string $message = ''): void -{ - Assert::assertJson(...\func_get_args()); -} - -/** - * Asserts that two given JSON encoded objects or arrays are equal. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertJsonStringEqualsJsonString(string $expectedJson, string $actualJson, string $message = ''): void -{ - Assert::assertJsonStringEqualsJsonString(...\func_get_args()); -} - -/** - * Asserts that two given JSON encoded objects or arrays are not equal. - * - * @param string $expectedJson - * @param string $actualJson - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertJsonStringNotEqualsJsonString($expectedJson, $actualJson, string $message = ''): void -{ - Assert::assertJsonStringNotEqualsJsonString(...\func_get_args()); -} - -/** - * Asserts that the generated JSON encoded object and the content of the given file are equal. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertJsonStringEqualsJsonFile(string $expectedFile, string $actualJson, string $message = ''): void -{ - Assert::assertJsonStringEqualsJsonFile(...\func_get_args()); -} - -/** - * Asserts that the generated JSON encoded object and the content of the given file are not equal. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertJsonStringNotEqualsJsonFile(string $expectedFile, string $actualJson, string $message = ''): void -{ - Assert::assertJsonStringNotEqualsJsonFile(...\func_get_args()); -} - -/** - * Asserts that two JSON files are equal. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertJsonFileEqualsJsonFile(string $expectedFile, string $actualFile, string $message = ''): void -{ - Assert::assertJsonFileEqualsJsonFile(...\func_get_args()); -} - -/** - * Asserts that two JSON files are not equal. - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ -function assertJsonFileNotEqualsJsonFile(string $expectedFile, string $actualFile, string $message = ''): void -{ - Assert::assertJsonFileNotEqualsJsonFile(...\func_get_args()); -} - -function logicalAnd(): LogicalAnd -{ - return Assert::logicalAnd(...\func_get_args()); -} - -function logicalOr(): LogicalOr -{ - return Assert::logicalOr(...\func_get_args()); -} - -function logicalNot(Constraint $constraint): LogicalNot -{ - return Assert::logicalNot(...\func_get_args()); -} - -function logicalXor(): LogicalXor -{ - return Assert::logicalXor(...\func_get_args()); -} - -function anything(): IsAnything -{ - return Assert::anything(); -} - -function isTrue(): IsTrue -{ - return Assert::isTrue(); -} - -function callback(callable $callback): Callback -{ - return Assert::callback(...\func_get_args()); -} - -function isFalse(): IsFalse -{ - return Assert::isFalse(); -} - -function isJson(): IsJson -{ - return Assert::isJson(); -} - -function isNull(): IsNull -{ - return Assert::isNull(); -} - -function isFinite(): IsFinite -{ - return Assert::isFinite(); -} - -function isInfinite(): IsInfinite -{ - return Assert::isInfinite(); -} - -function isNan(): IsNan -{ - return Assert::isNan(); -} - -function attribute(Constraint $constraint, string $attributeName): Attribute -{ - return Assert::attribute(...\func_get_args()); -} - -function contains($value, bool $checkForObjectIdentity = true, bool $checkForNonObjectIdentity = false): TraversableContains -{ - return Assert::contains(...\func_get_args()); -} - -function containsOnly(string $type): TraversableContainsOnly -{ - return Assert::containsOnly(...\func_get_args()); -} - -function containsOnlyInstancesOf(string $className): TraversableContainsOnly -{ - return Assert::containsOnlyInstancesOf(...\func_get_args()); -} - -function arrayHasKey($key): ArrayHasKey -{ - return Assert::arrayHasKey(...\func_get_args()); -} - -function equalTo($value, float $delta = 0.0, int $maxDepth = 10, bool $canonicalize = false, bool $ignoreCase = false): IsEqual -{ - return Assert::equalTo(...\func_get_args()); -} - -function attributeEqualTo(string $attributeName, $value, float $delta = 0.0, int $maxDepth = 10, bool $canonicalize = false, bool $ignoreCase = false): Attribute -{ - return Assert::attributeEqualTo(...\func_get_args()); -} - -function isEmpty(): IsEmpty -{ - return Assert::isEmpty(); -} - -function isWritable(): IsWritable -{ - return Assert::isWritable(); -} - -function isReadable(): IsReadable -{ - return Assert::isReadable(); -} - -function directoryExists(): DirectoryExists -{ - return Assert::directoryExists(); -} - -function fileExists(): FileExists -{ - return Assert::fileExists(); -} - -function greaterThan($value): GreaterThan -{ - return Assert::greaterThan(...\func_get_args()); -} - -function greaterThanOrEqual($value): LogicalOr -{ - return Assert::greaterThanOrEqual(...\func_get_args()); -} - -function classHasAttribute(string $attributeName): ClassHasAttribute -{ - return Assert::classHasAttribute(...\func_get_args()); -} - -function classHasStaticAttribute(string $attributeName): ClassHasStaticAttribute -{ - return Assert::classHasStaticAttribute(...\func_get_args()); -} - -function objectHasAttribute($attributeName): ObjectHasAttribute -{ - return Assert::objectHasAttribute(...\func_get_args()); -} - -function identicalTo($value): IsIdentical -{ - return Assert::identicalTo(...\func_get_args()); -} - -function isInstanceOf(string $className): IsInstanceOf -{ - return Assert::isInstanceOf(...\func_get_args()); -} - -function isType(string $type): IsType -{ - return Assert::isType(...\func_get_args()); -} - -function lessThan($value): LessThan -{ - return Assert::lessThan(...\func_get_args()); -} - -function lessThanOrEqual($value): LogicalOr -{ - return Assert::lessThanOrEqual(...\func_get_args()); -} - -function matchesRegularExpression(string $pattern): RegularExpression -{ - return Assert::matchesRegularExpression(...\func_get_args()); -} - -function matches(string $string): StringMatchesFormatDescription -{ - return Assert::matches(...\func_get_args()); -} - -function stringStartsWith($prefix): StringStartsWith -{ - return Assert::stringStartsWith(...\func_get_args()); -} - -function stringContains(string $string, bool $case = true): StringContains -{ - return Assert::stringContains(...\func_get_args()); -} - -function stringEndsWith(string $suffix): StringEndsWith -{ - return Assert::stringEndsWith(...\func_get_args()); -} - -function countOf(int $count): Count -{ - return Assert::countOf(...\func_get_args()); -} - -/** - * Returns a matcher that matches when the method is executed - * zero or more times. - */ -function any(): AnyInvokedCountMatcher -{ - return new AnyInvokedCountMatcher; -} - -/** - * Returns a matcher that matches when the method is never executed. - */ -function never(): InvokedCountMatcher -{ - return new InvokedCountMatcher(0); -} - -/** - * Returns a matcher that matches when the method is executed - * at least N times. - * - * @param int $requiredInvocations - */ -function atLeast($requiredInvocations): InvokedAtLeastCountMatcher -{ - return new InvokedAtLeastCountMatcher( - $requiredInvocations - ); -} - -/** - * Returns a matcher that matches when the method is executed at least once. - */ -function atLeastOnce(): InvokedAtLeastOnceMatcher -{ - return new InvokedAtLeastOnceMatcher; -} - -/** - * Returns a matcher that matches when the method is executed exactly once. - */ -function once(): InvokedCountMatcher -{ - return new InvokedCountMatcher(1); -} - -/** - * Returns a matcher that matches when the method is executed - * exactly $count times. - * - * @param int $count - */ -function exactly($count): InvokedCountMatcher -{ - return new InvokedCountMatcher($count); -} - -/** - * Returns a matcher that matches when the method is executed - * at most N times. - * - * @param int $allowedInvocations - */ -function atMost($allowedInvocations): InvokedAtMostCountMatcher -{ - return new InvokedAtMostCountMatcher($allowedInvocations); -} - -/** - * Returns a matcher that matches when the method is executed - * at the given index. - * - * @param int $index - */ -function at($index): InvokedAtIndexMatcher -{ - return new InvokedAtIndexMatcher($index); -} - -function returnValue($value): ReturnStub -{ - return new ReturnStub($value); -} - -function returnValueMap(array $valueMap): ReturnValueMapStub -{ - return new ReturnValueMapStub($valueMap); -} - -/** - * @param int $argumentIndex - */ -function returnArgument($argumentIndex): ReturnArgumentStub -{ - return new ReturnArgumentStub($argumentIndex); -} - -function returnCallback($callback): ReturnCallbackStub -{ - return new ReturnCallbackStub($callback); -} - -/** - * Returns the current object. - * - * This method is useful when mocking a fluent interface. - */ -function returnSelf(): ReturnSelfStub -{ - return new ReturnSelfStub; -} - -function throwException(Throwable $exception): ExceptionStub -{ - return new ExceptionStub($exception); -} - -function onConsecutiveCalls(): ConsecutiveCallsStub -{ - $args = \func_get_args(); - - return new ConsecutiveCallsStub($args); -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/AssertionFailedError.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/AssertionFailedError.php deleted file mode 100644 index a402e57..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/AssertionFailedError.php +++ /dev/null @@ -1,24 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework; - -/** - * Thrown when an assertion failed. - */ -class AssertionFailedError extends Exception implements SelfDescribing -{ - /** - * Wrapper for getMessage() which is declared as final. - */ - public function toString(): string - { - return $this->getMessage(); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/CodeCoverageException.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/CodeCoverageException.php deleted file mode 100644 index 298f5c4..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/CodeCoverageException.php +++ /dev/null @@ -1,14 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework; - -class CodeCoverageException extends Exception -{ -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/ArrayHasKey.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/ArrayHasKey.php deleted file mode 100644 index c60dd18..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/ArrayHasKey.php +++ /dev/null @@ -1,81 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\Constraint; - -use ArrayAccess; - -/** - * Constraint that asserts that the array it is evaluated for has a given key. - * - * Uses array_key_exists() to check if the key is found in the input array, if - * not found the evaluation fails. - * - * The array key is passed in the constructor. - */ -class ArrayHasKey extends Constraint -{ - /** - * @var int|string - */ - private $key; - - /** - * @param int|string $key - */ - public function __construct($key) - { - parent::__construct(); - $this->key = $key; - } - - /** - * Returns a string representation of the constraint. - * - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public function toString(): string - { - return 'has the key ' . $this->exporter->export($this->key); - } - - /** - * Evaluates the constraint for parameter $other. Returns true if the - * constraint is met, false otherwise. - * - * @param mixed $other value or object to evaluate - */ - protected function matches($other): bool - { - if (\is_array($other)) { - return \array_key_exists($this->key, $other); - } - - if ($other instanceof ArrayAccess) { - return $other->offsetExists($this->key); - } - - return false; - } - - /** - * Returns the description of the failure - * - * The beginning of failure messages is "Failed asserting that" in most - * cases. This method should return the second part of that sentence. - * - * @param mixed $other evaluated value or object - * - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - protected function failureDescription($other): string - { - return 'an array ' . $this->toString(); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/ArraySubset.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/ArraySubset.php deleted file mode 100644 index 6294372..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/ArraySubset.php +++ /dev/null @@ -1,133 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\Constraint; - -use PHPUnit\Framework\ExpectationFailedException; -use SebastianBergmann\Comparator\ComparisonFailure; - -/** - * Constraint that asserts that the array it is evaluated for has a specified subset. - * - * Uses array_replace_recursive() to check if a key value subset is part of the - * subject array. - * - * @deprecated https://github.com/sebastianbergmann/phpunit/issues/3494 - */ -class ArraySubset extends Constraint -{ - /** - * @var iterable - */ - private $subset; - - /** - * @var bool - */ - private $strict; - - public function __construct(iterable $subset, bool $strict = false) - { - parent::__construct(); - - $this->strict = $strict; - $this->subset = $subset; - } - - /** - * Evaluates the constraint for parameter $other - * - * If $returnResult is set to false (the default), an exception is thrown - * in case of a failure. null is returned otherwise. - * - * If $returnResult is true, the result of the evaluation is returned as - * a boolean value instead: true in case of success, false in case of a - * failure. - * - * @param mixed $other value or object to evaluate - * @param string $description Additional information about the test - * @param bool $returnResult Whether to return a result or throw an exception - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public function evaluate($other, $description = '', $returnResult = false) - { - //type cast $other & $this->subset as an array to allow - //support in standard array functions. - $other = $this->toArray($other); - $this->subset = $this->toArray($this->subset); - - $patched = \array_replace_recursive($other, $this->subset); - - if ($this->strict) { - $result = $other === $patched; - } else { - $result = $other == $patched; - } - - if ($returnResult) { - return $result; - } - - if (!$result) { - $f = new ComparisonFailure( - $patched, - $other, - \var_export($patched, true), - \var_export($other, true) - ); - - $this->fail($other, $description, $f); - } - } - - /** - * Returns a string representation of the constraint. - * - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public function toString(): string - { - return 'has the subset ' . $this->exporter->export($this->subset); - } - - /** - * Returns the description of the failure - * - * The beginning of failure messages is "Failed asserting that" in most - * cases. This method should return the second part of that sentence. - * - * @param mixed $other evaluated value or object - * - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - protected function failureDescription($other): string - { - return 'an array ' . $this->toString(); - } - - private function toArray(iterable $other): array - { - if (\is_array($other)) { - return $other; - } - - if ($other instanceof \ArrayObject) { - return $other->getArrayCopy(); - } - - if ($other instanceof \Traversable) { - return \iterator_to_array($other); - } - - // Keep BC even if we know that array would not be the expected one - return (array) $other; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/Attribute.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/Attribute.php deleted file mode 100644 index 36321f3..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/Attribute.php +++ /dev/null @@ -1,79 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\Constraint; - -use PHPUnit\Framework\Assert; -use PHPUnit\Framework\ExpectationFailedException; - -class Attribute extends Composite -{ - /** - * @var string - */ - private $attributeName; - - public function __construct(Constraint $constraint, string $attributeName) - { - parent::__construct($constraint); - - $this->attributeName = $attributeName; - } - - /** - * Evaluates the constraint for parameter $other - * - * If $returnResult is set to false (the default), an exception is thrown - * in case of a failure. null is returned otherwise. - * - * If $returnResult is true, the result of the evaluation is returned as - * a boolean value instead: true in case of success, false in case of a - * failure. - * - * @param mixed $other value or object to evaluate - * @param string $description Additional information about the test - * @param bool $returnResult Whether to return a result or throw an exception - * - * @throws ExpectationFailedException - * @throws \PHPUnit\Framework\Exception - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public function evaluate($other, $description = '', $returnResult = false) - { - return parent::evaluate( - Assert::readAttribute( - $other, - $this->attributeName - ), - $description, - $returnResult - ); - } - - /** - * Returns a string representation of the constraint. - */ - public function toString(): string - { - return 'attribute "' . $this->attributeName . '" ' . $this->innerConstraint()->toString(); - } - - /** - * Returns the description of the failure - * - * The beginning of failure messages is "Failed asserting that" in most - * cases. This method should return the second part of that sentence. - * - * @param mixed $other evaluated value or object - */ - protected function failureDescription($other): string - { - return $this->toString(); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/Callback.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/Callback.php deleted file mode 100644 index 489d804..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/Callback.php +++ /dev/null @@ -1,47 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\Constraint; - -/** - * Constraint that evaluates against a specified closure. - */ -class Callback extends Constraint -{ - /** - * @var callable - */ - private $callback; - - public function __construct(callable $callback) - { - parent::__construct(); - - $this->callback = $callback; - } - - /** - * Returns a string representation of the constraint. - */ - public function toString(): string - { - return 'is accepted by specified callback'; - } - - /** - * Evaluates the constraint for parameter $value. Returns true if the - * constraint is met, false otherwise. - * - * @param mixed $other value or object to evaluate - */ - protected function matches($other): bool - { - return \call_user_func($this->callback, $other); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/ClassHasAttribute.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/ClassHasAttribute.php deleted file mode 100644 index fb70d5b..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/ClassHasAttribute.php +++ /dev/null @@ -1,80 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\Constraint; - -use ReflectionClass; - -/** - * Constraint that asserts that the class it is evaluated for has a given - * attribute. - * - * The attribute name is passed in the constructor. - */ -class ClassHasAttribute extends Constraint -{ - /** - * @var string - */ - private $attributeName; - - public function __construct(string $attributeName) - { - parent::__construct(); - - $this->attributeName = $attributeName; - } - - /** - * Returns a string representation of the constraint. - */ - public function toString(): string - { - return \sprintf( - 'has attribute "%s"', - $this->attributeName - ); - } - - /** - * Evaluates the constraint for parameter $other. Returns true if the - * constraint is met, false otherwise. - * - * @param mixed $other value or object to evaluate - */ - protected function matches($other): bool - { - $class = new ReflectionClass($other); - - return $class->hasProperty($this->attributeName); - } - - /** - * Returns the description of the failure - * - * The beginning of failure messages is "Failed asserting that" in most - * cases. This method should return the second part of that sentence. - * - * @param mixed $other evaluated value or object - */ - protected function failureDescription($other): string - { - return \sprintf( - '%sclass "%s" %s', - \is_object($other) ? 'object of ' : '', - \is_object($other) ? \get_class($other) : $other, - $this->toString() - ); - } - - protected function attributeName(): string - { - return $this->attributeName; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/ClassHasStaticAttribute.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/ClassHasStaticAttribute.php deleted file mode 100644 index b68d070..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/ClassHasStaticAttribute.php +++ /dev/null @@ -1,51 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\Constraint; - -use ReflectionClass; - -/** - * Constraint that asserts that the class it is evaluated for has a given - * static attribute. - * - * The attribute name is passed in the constructor. - */ -class ClassHasStaticAttribute extends ClassHasAttribute -{ - /** - * Returns a string representation of the constraint. - */ - public function toString(): string - { - return \sprintf( - 'has static attribute "%s"', - $this->attributeName() - ); - } - - /** - * Evaluates the constraint for parameter $other. Returns true if the - * constraint is met, false otherwise. - * - * @param mixed $other value or object to evaluate - */ - protected function matches($other): bool - { - $class = new ReflectionClass($other); - - if ($class->hasProperty($this->attributeName())) { - $attribute = $class->getProperty($this->attributeName()); - - return $attribute->isStatic(); - } - - return false; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/Composite.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/Composite.php deleted file mode 100644 index 3b19df3..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/Composite.php +++ /dev/null @@ -1,70 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\Constraint; - -use PHPUnit\Framework\ExpectationFailedException; - -abstract class Composite extends Constraint -{ - /** - * @var Constraint - */ - private $innerConstraint; - - public function __construct(Constraint $innerConstraint) - { - parent::__construct(); - - $this->innerConstraint = $innerConstraint; - } - - /** - * Evaluates the constraint for parameter $other - * - * If $returnResult is set to false (the default), an exception is thrown - * in case of a failure. null is returned otherwise. - * - * If $returnResult is true, the result of the evaluation is returned as - * a boolean value instead: true in case of success, false in case of a - * failure. - * - * @param mixed $other value or object to evaluate - * @param string $description Additional information about the test - * @param bool $returnResult Whether to return a result or throw an exception - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public function evaluate($other, $description = '', $returnResult = false) - { - try { - return $this->innerConstraint->evaluate( - $other, - $description, - $returnResult - ); - } catch (ExpectationFailedException $e) { - $this->fail($other, $description, $e->getComparisonFailure()); - } - } - - /** - * Counts the number of constraint elements. - */ - public function count(): int - { - return \count($this->innerConstraint); - } - - protected function innerConstraint(): Constraint - { - return $this->innerConstraint; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/Constraint.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/Constraint.php deleted file mode 100644 index 175557d..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/Constraint.php +++ /dev/null @@ -1,148 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\Constraint; - -use Countable; -use PHPUnit\Framework\ExpectationFailedException; -use PHPUnit\Framework\SelfDescribing; -use SebastianBergmann\Comparator\ComparisonFailure; -use SebastianBergmann\Exporter\Exporter; - -/** - * Abstract base class for constraints which can be applied to any value. - */ -abstract class Constraint implements Countable, SelfDescribing -{ - protected $exporter; - - public function __construct() - { - $this->exporter = new Exporter; - } - - /** - * Evaluates the constraint for parameter $other - * - * If $returnResult is set to false (the default), an exception is thrown - * in case of a failure. null is returned otherwise. - * - * If $returnResult is true, the result of the evaluation is returned as - * a boolean value instead: true in case of success, false in case of a - * failure. - * - * @param mixed $other value or object to evaluate - * @param string $description Additional information about the test - * @param bool $returnResult Whether to return a result or throw an exception - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public function evaluate($other, $description = '', $returnResult = false) - { - $success = false; - - if ($this->matches($other)) { - $success = true; - } - - if ($returnResult) { - return $success; - } - - if (!$success) { - $this->fail($other, $description); - } - } - - /** - * Counts the number of constraint elements. - */ - public function count(): int - { - return 1; - } - - /** - * Evaluates the constraint for parameter $other. Returns true if the - * constraint is met, false otherwise. - * - * This method can be overridden to implement the evaluation algorithm. - * - * @param mixed $other value or object to evaluate - */ - protected function matches($other): bool - { - return false; - } - - /** - * Throws an exception for the given compared value and test description - * - * @param mixed $other evaluated value or object - * @param string $description Additional information about the test - * @param ComparisonFailure $comparisonFailure - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - protected function fail($other, $description, ComparisonFailure $comparisonFailure = null): void - { - $failureDescription = \sprintf( - 'Failed asserting that %s.', - $this->failureDescription($other) - ); - - $additionalFailureDescription = $this->additionalFailureDescription($other); - - if ($additionalFailureDescription) { - $failureDescription .= "\n" . $additionalFailureDescription; - } - - if (!empty($description)) { - $failureDescription = $description . "\n" . $failureDescription; - } - - throw new ExpectationFailedException( - $failureDescription, - $comparisonFailure - ); - } - - /** - * Return additional failure description where needed - * - * The function can be overridden to provide additional failure - * information like a diff - * - * @param mixed $other evaluated value or object - */ - protected function additionalFailureDescription($other): string - { - return ''; - } - - /** - * Returns the description of the failure - * - * The beginning of failure messages is "Failed asserting that" in most - * cases. This method should return the second part of that sentence. - * - * To provide additional failure information additionalFailureDescription - * can be used. - * - * @param mixed $other evaluated value or object - * - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - protected function failureDescription($other): string - { - return $this->exporter->export($other) . ' ' . $this->toString(); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/Count.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/Count.php deleted file mode 100644 index d6f09dc..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/Count.php +++ /dev/null @@ -1,123 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\Constraint; - -use Countable; -use Generator; -use Iterator; -use IteratorAggregate; -use Traversable; - -class Count extends Constraint -{ - /** - * @var int - */ - private $expectedCount; - - public function __construct(int $expected) - { - parent::__construct(); - - $this->expectedCount = $expected; - } - - public function toString(): string - { - return \sprintf( - 'count matches %d', - $this->expectedCount - ); - } - - /** - * Evaluates the constraint for parameter $other. Returns true if the - * constraint is met, false otherwise. - */ - protected function matches($other): bool - { - return $this->expectedCount === $this->getCountOf($other); - } - - /** - * @param iterable $other - */ - protected function getCountOf($other): ?int - { - if ($other instanceof Countable || \is_array($other)) { - return \count($other); - } - - if ($other instanceof \EmptyIterator) { - return 0; - } - - if ($other instanceof Traversable) { - while ($other instanceof IteratorAggregate) { - $other = $other->getIterator(); - } - - $iterator = $other; - - if ($iterator instanceof Generator) { - return $this->getCountOfGenerator($iterator); - } - - if (!$iterator instanceof Iterator) { - return \iterator_count($iterator); - } - - $key = $iterator->key(); - $count = \iterator_count($iterator); - - // Manually rewind $iterator to previous key, since iterator_count - // moves pointer. - if ($key !== null) { - $iterator->rewind(); - - while ($iterator->valid() && $key !== $iterator->key()) { - $iterator->next(); - } - } - - return $count; - } - } - - /** - * Returns the total number of iterations from a generator. - * This will fully exhaust the generator. - */ - protected function getCountOfGenerator(Generator $generator): int - { - for ($count = 0; $generator->valid(); $generator->next()) { - ++$count; - } - - return $count; - } - - /** - * Returns the description of the failure. - * - * The beginning of failure messages is "Failed asserting that" in most - * cases. This method should return the second part of that sentence. - * - * @param mixed $other evaluated value or object - */ - protected function failureDescription($other): string - { - return \sprintf( - 'actual size %d matches expected size %d', - $this->getCountOf($other), - $this->expectedCount - ); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/DirectoryExists.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/DirectoryExists.php deleted file mode 100644 index 09f1f4a..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/DirectoryExists.php +++ /dev/null @@ -1,53 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\Constraint; - -/** - * Constraint that checks if the directory(name) that it is evaluated for exists. - * - * The file path to check is passed as $other in evaluate(). - */ -class DirectoryExists extends Constraint -{ - /** - * Returns a string representation of the constraint. - */ - public function toString(): string - { - return 'directory exists'; - } - - /** - * Evaluates the constraint for parameter $other. Returns true if the - * constraint is met, false otherwise. - * - * @param mixed $other value or object to evaluate - */ - protected function matches($other): bool - { - return \is_dir($other); - } - - /** - * Returns the description of the failure - * - * The beginning of failure messages is "Failed asserting that" in most - * cases. This method should return the second part of that sentence. - * - * @param mixed $other evaluated value or object - */ - protected function failureDescription($other): string - { - return \sprintf( - 'directory "%s" exists', - $other - ); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/Exception.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/Exception.php deleted file mode 100644 index 7e0c021..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/Exception.php +++ /dev/null @@ -1,82 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\Constraint; - -use PHPUnit\Util\Filter; -use Throwable; - -class Exception extends Constraint -{ - /** - * @var string - */ - private $className; - - public function __construct(string $className) - { - parent::__construct(); - - $this->className = $className; - } - - /** - * Returns a string representation of the constraint. - */ - public function toString(): string - { - return \sprintf( - 'exception of type "%s"', - $this->className - ); - } - - /** - * Evaluates the constraint for parameter $other. Returns true if the - * constraint is met, false otherwise. - * - * @param mixed $other value or object to evaluate - */ - protected function matches($other): bool - { - return $other instanceof $this->className; - } - - /** - * Returns the description of the failure - * - * The beginning of failure messages is "Failed asserting that" in most - * cases. This method should return the second part of that sentence. - * - * @param mixed $other evaluated value or object - */ - protected function failureDescription($other): string - { - if ($other !== null) { - $message = ''; - - if ($other instanceof Throwable) { - $message = '. Message was: "' . $other->getMessage() . '" at' - . "\n" . Filter::getFilteredStacktrace($other); - } - - return \sprintf( - 'exception of type "%s" matches expected exception "%s"%s', - \get_class($other), - $this->className, - $message - ); - } - - return \sprintf( - 'exception of type "%s" is thrown', - $this->className - ); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/ExceptionCode.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/ExceptionCode.php deleted file mode 100644 index 6cb2ac0..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/ExceptionCode.php +++ /dev/null @@ -1,63 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\Constraint; - -class ExceptionCode extends Constraint -{ - /** - * @var int|string - */ - private $expectedCode; - - /** - * @param int|string $expected - */ - public function __construct($expected) - { - parent::__construct(); - - $this->expectedCode = $expected; - } - - public function toString(): string - { - return 'exception code is '; - } - - /** - * Evaluates the constraint for parameter $other. Returns true if the - * constraint is met, false otherwise. - * - * @param \Throwable $other - */ - protected function matches($other): bool - { - return (string) $other->getCode() === (string) $this->expectedCode; - } - - /** - * Returns the description of the failure - * - * The beginning of failure messages is "Failed asserting that" in most - * cases. This method should return the second part of that sentence. - * - * @param mixed $other evaluated value or object - * - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - protected function failureDescription($other): string - { - return \sprintf( - '%s is equal to expected exception code %s', - $this->exporter->export($other->getCode()), - $this->exporter->export($this->expectedCode) - ); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/ExceptionMessage.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/ExceptionMessage.php deleted file mode 100644 index 299d512..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/ExceptionMessage.php +++ /dev/null @@ -1,73 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\Constraint; - -class ExceptionMessage extends Constraint -{ - /** - * @var string - */ - private $expectedMessage; - - public function __construct(string $expected) - { - parent::__construct(); - - $this->expectedMessage = $expected; - } - - public function toString(): string - { - if ($this->expectedMessage === '') { - return 'exception message is empty'; - } - - return 'exception message contains '; - } - - /** - * Evaluates the constraint for parameter $other. Returns true if the - * constraint is met, false otherwise. - * - * @param \Throwable $other - */ - protected function matches($other): bool - { - if ($this->expectedMessage === '') { - return $other->getMessage() === ''; - } - - return \strpos($other->getMessage(), $this->expectedMessage) !== false; - } - - /** - * Returns the description of the failure - * - * The beginning of failure messages is "Failed asserting that" in most - * cases. This method should return the second part of that sentence. - * - * @param mixed $other evaluated value or object - */ - protected function failureDescription($other): string - { - if ($this->expectedMessage === '') { - return \sprintf( - "exception message is empty but is '%s'", - $other->getMessage() - ); - } - - return \sprintf( - "exception message '%s' contains '%s'", - $other->getMessage(), - $this->expectedMessage - ); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/ExceptionMessageRegularExpression.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/ExceptionMessageRegularExpression.php deleted file mode 100644 index 63f323a..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/ExceptionMessageRegularExpression.php +++ /dev/null @@ -1,71 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\Constraint; - -use PHPUnit\Util\RegularExpression as RegularExpressionUtil; - -class ExceptionMessageRegularExpression extends Constraint -{ - /** - * @var string - */ - private $expectedMessageRegExp; - - public function __construct(string $expected) - { - parent::__construct(); - - $this->expectedMessageRegExp = $expected; - } - - public function toString(): string - { - return 'exception message matches '; - } - - /** - * Evaluates the constraint for parameter $other. Returns true if the - * constraint is met, false otherwise. - * - * @param \PHPUnit\Framework\Exception $other - * - * @throws \Exception - * @throws \PHPUnit\Framework\Exception - */ - protected function matches($other): bool - { - $match = RegularExpressionUtil::safeMatch($this->expectedMessageRegExp, $other->getMessage()); - - if ($match === false) { - throw new \PHPUnit\Framework\Exception( - "Invalid expected exception message regex given: '{$this->expectedMessageRegExp}'" - ); - } - - return $match === 1; - } - - /** - * Returns the description of the failure - * - * The beginning of failure messages is "Failed asserting that" in most - * cases. This method should return the second part of that sentence. - * - * @param mixed $other evaluated value or object - */ - protected function failureDescription($other): string - { - return \sprintf( - "exception message '%s' matches '%s'", - $other->getMessage(), - $this->expectedMessageRegExp - ); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/FileExists.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/FileExists.php deleted file mode 100644 index 35e2962..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/FileExists.php +++ /dev/null @@ -1,53 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\Constraint; - -/** - * Constraint that checks if the file(name) that it is evaluated for exists. - * - * The file path to check is passed as $other in evaluate(). - */ -class FileExists extends Constraint -{ - /** - * Returns a string representation of the constraint. - */ - public function toString(): string - { - return 'file exists'; - } - - /** - * Evaluates the constraint for parameter $other. Returns true if the - * constraint is met, false otherwise. - * - * @param mixed $other value or object to evaluate - */ - protected function matches($other): bool - { - return \file_exists($other); - } - - /** - * Returns the description of the failure - * - * The beginning of failure messages is "Failed asserting that" in most - * cases. This method should return the second part of that sentence. - * - * @param mixed $other evaluated value or object - */ - protected function failureDescription($other): string - { - return \sprintf( - 'file "%s" exists', - $other - ); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/GreaterThan.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/GreaterThan.php deleted file mode 100644 index 890e13d..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/GreaterThan.php +++ /dev/null @@ -1,53 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\Constraint; - -/** - * Constraint that asserts that the value it is evaluated for is greater - * than a given value. - */ -class GreaterThan extends Constraint -{ - /** - * @var float|int - */ - private $value; - - /** - * @param float|int $value - */ - public function __construct($value) - { - parent::__construct(); - - $this->value = $value; - } - - /** - * Returns a string representation of the constraint. - * - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public function toString(): string - { - return 'is greater than ' . $this->exporter->export($this->value); - } - - /** - * Evaluates the constraint for parameter $other. Returns true if the - * constraint is met, false otherwise. - * - * @param mixed $other value or object to evaluate - */ - protected function matches($other): bool - { - return $this->value < $other; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/IsAnything.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/IsAnything.php deleted file mode 100644 index 526cc37..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/IsAnything.php +++ /dev/null @@ -1,55 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\Constraint; - -use PHPUnit\Framework\ExpectationFailedException; - -/** - * Constraint that accepts any input value. - */ -class IsAnything extends Constraint -{ - /** - * Evaluates the constraint for parameter $other - * - * If $returnResult is set to false (the default), an exception is thrown - * in case of a failure. null is returned otherwise. - * - * If $returnResult is true, the result of the evaluation is returned as - * a boolean value instead: true in case of success, false in case of a - * failure. - * - * @param mixed $other value or object to evaluate - * @param string $description Additional information about the test - * @param bool $returnResult Whether to return a result or throw an exception - * - * @throws ExpectationFailedException - */ - public function evaluate($other, $description = '', $returnResult = false) - { - return $returnResult ? true : null; - } - - /** - * Returns a string representation of the constraint. - */ - public function toString(): string - { - return 'is anything'; - } - - /** - * Counts the number of constraint elements. - */ - public function count(): int - { - return 0; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/IsEmpty.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/IsEmpty.php deleted file mode 100644 index 1ffe417..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/IsEmpty.php +++ /dev/null @@ -1,65 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\Constraint; - -use Countable; - -/** - * Constraint that checks whether a variable is empty(). - */ -class IsEmpty extends Constraint -{ - /** - * Returns a string representation of the constraint. - */ - public function toString(): string - { - return 'is empty'; - } - - /** - * Evaluates the constraint for parameter $other. Returns true if the - * constraint is met, false otherwise. - * - * @param mixed $other value or object to evaluate - */ - protected function matches($other): bool - { - if ($other instanceof \EmptyIterator) { - return true; - } - - if ($other instanceof Countable) { - return \count($other) === 0; - } - - return empty($other); - } - - /** - * Returns the description of the failure - * - * The beginning of failure messages is "Failed asserting that" in most - * cases. This method should return the second part of that sentence. - * - * @param mixed $other evaluated value or object - */ - protected function failureDescription($other): string - { - $type = \gettype($other); - - return \sprintf( - '%s %s %s', - $type[0] == 'a' || $type[0] == 'o' ? 'an' : 'a', - $type, - $this->toString() - ); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/IsEqual.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/IsEqual.php deleted file mode 100644 index 0cc999e..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/IsEqual.php +++ /dev/null @@ -1,150 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\Constraint; - -use PHPUnit\Framework\ExpectationFailedException; -use SebastianBergmann\Comparator\ComparisonFailure; -use SebastianBergmann\Comparator\Factory as ComparatorFactory; - -/** - * Constraint that checks if one value is equal to another. - * - * Equality is checked with PHP's == operator, the operator is explained in - * detail at {@url https://php.net/manual/en/types.comparisons.php}. - * Two values are equal if they have the same value disregarding type. - * - * The expected value is passed in the constructor. - */ -class IsEqual extends Constraint -{ - /** - * @var mixed - */ - private $value; - - /** - * @var float - */ - private $delta; - - /** - * @var int - */ - private $maxDepth; - - /** - * @var bool - */ - private $canonicalize; - - /** - * @var bool - */ - private $ignoreCase; - - public function __construct($value, float $delta = 0.0, int $maxDepth = 10, bool $canonicalize = false, bool $ignoreCase = false) - { - parent::__construct(); - - $this->value = $value; - $this->delta = $delta; - $this->maxDepth = $maxDepth; - $this->canonicalize = $canonicalize; - $this->ignoreCase = $ignoreCase; - } - - /** - * Evaluates the constraint for parameter $other - * - * If $returnResult is set to false (the default), an exception is thrown - * in case of a failure. null is returned otherwise. - * - * If $returnResult is true, the result of the evaluation is returned as - * a boolean value instead: true in case of success, false in case of a - * failure. - * - * @param mixed $other value or object to evaluate - * @param string $description Additional information about the test - * @param bool $returnResult Whether to return a result or throw an exception - * - * @throws ExpectationFailedException - */ - public function evaluate($other, $description = '', $returnResult = false) - { - // If $this->value and $other are identical, they are also equal. - // This is the most common path and will allow us to skip - // initialization of all the comparators. - if ($this->value === $other) { - return true; - } - - $comparatorFactory = ComparatorFactory::getInstance(); - - try { - $comparator = $comparatorFactory->getComparatorFor( - $this->value, - $other - ); - - $comparator->assertEquals( - $this->value, - $other, - $this->delta, - $this->canonicalize, - $this->ignoreCase - ); - } catch (ComparisonFailure $f) { - if ($returnResult) { - return false; - } - - throw new ExpectationFailedException( - \trim($description . "\n" . $f->getMessage()), - $f - ); - } - - return true; - } - - /** - * Returns a string representation of the constraint. - * - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public function toString(): string - { - $delta = ''; - - if (\is_string($this->value)) { - if (\strpos($this->value, "\n") !== false) { - return 'is equal to '; - } - - return \sprintf( - "is equal to '%s'", - $this->value - ); - } - - if ($this->delta != 0) { - $delta = \sprintf( - ' with delta <%F>', - $this->delta - ); - } - - return \sprintf( - 'is equal to %s%s', - $this->exporter->export($this->value), - $delta - ); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/IsFalse.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/IsFalse.php deleted file mode 100644 index 82858a7..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/IsFalse.php +++ /dev/null @@ -1,35 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\Constraint; - -/** - * Constraint that accepts false. - */ -class IsFalse extends Constraint -{ - /** - * Returns a string representation of the constraint. - */ - public function toString(): string - { - return 'is false'; - } - - /** - * Evaluates the constraint for parameter $other. Returns true if the - * constraint is met, false otherwise. - * - * @param mixed $other value or object to evaluate - */ - protected function matches($other): bool - { - return $other === false; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/IsFinite.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/IsFinite.php deleted file mode 100644 index 3d36900..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/IsFinite.php +++ /dev/null @@ -1,35 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\Constraint; - -/** - * Constraint that accepts finite. - */ -class IsFinite extends Constraint -{ - /** - * Returns a string representation of the constraint. - */ - public function toString(): string - { - return 'is finite'; - } - - /** - * Evaluates the constraint for parameter $other. Returns true if the - * constraint is met, false otherwise. - * - * @param mixed $other value or object to evaluate - */ - protected function matches($other): bool - { - return \is_finite($other); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/IsIdentical.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/IsIdentical.php deleted file mode 100644 index c4362f0..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/IsIdentical.php +++ /dev/null @@ -1,144 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\Constraint; - -use PHPUnit\Framework\ExpectationFailedException; -use SebastianBergmann\Comparator\ComparisonFailure; - -/** - * Constraint that asserts that one value is identical to another. - * - * Identical check is performed with PHP's === operator, the operator is - * explained in detail at - * {@url https://php.net/manual/en/types.comparisons.php}. - * Two values are identical if they have the same value and are of the same - * type. - * - * The expected value is passed in the constructor. - */ -class IsIdentical extends Constraint -{ - /** - * @var float - */ - private const EPSILON = 0.0000000001; - - /** - * @var mixed - */ - private $value; - - public function __construct($value) - { - parent::__construct(); - - $this->value = $value; - } - - /** - * Evaluates the constraint for parameter $other - * - * If $returnResult is set to false (the default), an exception is thrown - * in case of a failure. null is returned otherwise. - * - * If $returnResult is true, the result of the evaluation is returned as - * a boolean value instead: true in case of success, false in case of a - * failure. - * - * @param mixed $other value or object to evaluate - * @param string $description Additional information about the test - * @param bool $returnResult Whether to return a result or throw an exception - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public function evaluate($other, $description = '', $returnResult = false) - { - if (\is_float($this->value) && \is_float($other) && - !\is_infinite($this->value) && !\is_infinite($other) && - !\is_nan($this->value) && !\is_nan($other)) { - $success = \abs($this->value - $other) < self::EPSILON; - } else { - $success = $this->value === $other; - } - - if ($returnResult) { - return $success; - } - - if (!$success) { - $f = null; - - // if both values are strings, make sure a diff is generated - if (\is_string($this->value) && \is_string($other)) { - $f = new ComparisonFailure( - $this->value, - $other, - \sprintf("'%s'", $this->value), - \sprintf("'%s'", $other) - ); - } - - // if both values are array, make sure a diff is generated - if (\is_array($this->value) && \is_array($other)) { - $f = new ComparisonFailure( - $this->value, - $other, - $this->exporter->export($this->value), - $this->exporter->export($other) - ); - } - - $this->fail($other, $description, $f); - } - } - - /** - * Returns a string representation of the constraint. - * - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public function toString(): string - { - if (\is_object($this->value)) { - return 'is identical to an object of class "' . - \get_class($this->value) . '"'; - } - - return 'is identical to ' . $this->exporter->export($this->value); - } - - /** - * Returns the description of the failure - * - * The beginning of failure messages is "Failed asserting that" in most - * cases. This method should return the second part of that sentence. - * - * @param mixed $other evaluated value or object - * - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - protected function failureDescription($other): string - { - if (\is_object($this->value) && \is_object($other)) { - return 'two variables reference the same object'; - } - - if (\is_string($this->value) && \is_string($other)) { - return 'two strings are identical'; - } - - if (\is_array($this->value) && \is_array($other)) { - return 'two arrays are identical'; - } - - return parent::failureDescription($other); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/IsInfinite.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/IsInfinite.php deleted file mode 100644 index 8ac16d2..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/IsInfinite.php +++ /dev/null @@ -1,35 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\Constraint; - -/** - * Constraint that accepts infinite. - */ -class IsInfinite extends Constraint -{ - /** - * Returns a string representation of the constraint. - */ - public function toString(): string - { - return 'is infinite'; - } - - /** - * Evaluates the constraint for parameter $other. Returns true if the - * constraint is met, false otherwise. - * - * @param mixed $other value or object to evaluate - */ - protected function matches($other): bool - { - return \is_infinite($other); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/IsInstanceOf.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/IsInstanceOf.php deleted file mode 100644 index b7c70ff..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/IsInstanceOf.php +++ /dev/null @@ -1,91 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\Constraint; - -use ReflectionClass; -use ReflectionException; - -/** - * Constraint that asserts that the object it is evaluated for is an instance - * of a given class. - * - * The expected class name is passed in the constructor. - */ -class IsInstanceOf extends Constraint -{ - /** - * @var string - */ - private $className; - - public function __construct(string $className) - { - parent::__construct(); - - $this->className = $className; - } - - /** - * Returns a string representation of the constraint. - */ - public function toString(): string - { - return \sprintf( - 'is instance of %s "%s"', - $this->getType(), - $this->className - ); - } - - /** - * Evaluates the constraint for parameter $other. Returns true if the - * constraint is met, false otherwise. - * - * @param mixed $other value or object to evaluate - */ - protected function matches($other): bool - { - return $other instanceof $this->className; - } - - /** - * Returns the description of the failure - * - * The beginning of failure messages is "Failed asserting that" in most - * cases. This method should return the second part of that sentence. - * - * @param mixed $other evaluated value or object - * - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - protected function failureDescription($other): string - { - return \sprintf( - '%s is an instance of %s "%s"', - $this->exporter->shortenedExport($other), - $this->getType(), - $this->className - ); - } - - private function getType(): string - { - try { - $reflection = new ReflectionClass($this->className); - - if ($reflection->isInterface()) { - return 'interface'; - } - } catch (ReflectionException $e) { - } - - return 'class'; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/IsJson.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/IsJson.php deleted file mode 100644 index ad06ec1..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/IsJson.php +++ /dev/null @@ -1,73 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\Constraint; - -/** - * Constraint that asserts that a string is valid JSON. - */ -class IsJson extends Constraint -{ - /** - * Returns a string representation of the constraint. - */ - public function toString(): string - { - return 'is valid JSON'; - } - - /** - * Evaluates the constraint for parameter $other. Returns true if the - * constraint is met, false otherwise. - * - * @param mixed $other value or object to evaluate - */ - protected function matches($other): bool - { - if ($other === '') { - return false; - } - - \json_decode($other); - - if (\json_last_error()) { - return false; - } - - return true; - } - - /** - * Returns the description of the failure - * - * The beginning of failure messages is "Failed asserting that" in most - * cases. This method should return the second part of that sentence. - * - * @param mixed $other evaluated value or object - * - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - protected function failureDescription($other): string - { - if ($other === '') { - return 'an empty string is valid JSON'; - } - - \json_decode($other); - $error = JsonMatchesErrorMessageProvider::determineJsonError( - \json_last_error() - ); - - return \sprintf( - '%s is valid JSON (%s)', - $this->exporter->shortenedExport($other), - $error - ); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/IsNan.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/IsNan.php deleted file mode 100644 index 2a62b61..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/IsNan.php +++ /dev/null @@ -1,35 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\Constraint; - -/** - * Constraint that accepts nan. - */ -class IsNan extends Constraint -{ - /** - * Returns a string representation of the constraint. - */ - public function toString(): string - { - return 'is nan'; - } - - /** - * Evaluates the constraint for parameter $other. Returns true if the - * constraint is met, false otherwise. - * - * @param mixed $other value or object to evaluate - */ - protected function matches($other): bool - { - return \is_nan($other); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/IsNull.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/IsNull.php deleted file mode 100644 index 620eae2..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/IsNull.php +++ /dev/null @@ -1,35 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\Constraint; - -/** - * Constraint that accepts null. - */ -class IsNull extends Constraint -{ - /** - * Returns a string representation of the constraint. - */ - public function toString(): string - { - return 'is null'; - } - - /** - * Evaluates the constraint for parameter $other. Returns true if the - * constraint is met, false otherwise. - * - * @param mixed $other value or object to evaluate - */ - protected function matches($other): bool - { - return $other === null; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/IsReadable.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/IsReadable.php deleted file mode 100644 index bdc8ca3..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/IsReadable.php +++ /dev/null @@ -1,53 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\Constraint; - -/** - * Constraint that checks if the file/dir(name) that it is evaluated for is readable. - * - * The file path to check is passed as $other in evaluate(). - */ -class IsReadable extends Constraint -{ - /** - * Returns a string representation of the constraint. - */ - public function toString(): string - { - return 'is readable'; - } - - /** - * Evaluates the constraint for parameter $other. Returns true if the - * constraint is met, false otherwise. - * - * @param mixed $other value or object to evaluate - */ - protected function matches($other): bool - { - return \is_readable($other); - } - - /** - * Returns the description of the failure - * - * The beginning of failure messages is "Failed asserting that" in most - * cases. This method should return the second part of that sentence. - * - * @param mixed $other evaluated value or object - */ - protected function failureDescription($other): string - { - return \sprintf( - '"%s" is readable', - $other - ); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/IsTrue.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/IsTrue.php deleted file mode 100644 index c0a4756..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/IsTrue.php +++ /dev/null @@ -1,35 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\Constraint; - -/** - * Constraint that accepts true. - */ -class IsTrue extends Constraint -{ - /** - * Returns a string representation of the constraint. - */ - public function toString(): string - { - return 'is true'; - } - - /** - * Evaluates the constraint for parameter $other. Returns true if the - * constraint is met, false otherwise. - * - * @param mixed $other value or object to evaluate - */ - protected function matches($other): bool - { - return $other === true; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/IsType.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/IsType.php deleted file mode 100644 index 4f68477..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/IsType.php +++ /dev/null @@ -1,152 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\Constraint; - -/** - * Constraint that asserts that the value it is evaluated for is of a - * specified type. - * - * The expected value is passed in the constructor. - */ -class IsType extends Constraint -{ - public const TYPE_ARRAY = 'array'; - - public const TYPE_BOOL = 'bool'; - - public const TYPE_FLOAT = 'float'; - - public const TYPE_INT = 'int'; - - public const TYPE_NULL = 'null'; - - public const TYPE_NUMERIC = 'numeric'; - - public const TYPE_OBJECT = 'object'; - - public const TYPE_RESOURCE = 'resource'; - - public const TYPE_STRING = 'string'; - - public const TYPE_SCALAR = 'scalar'; - - public const TYPE_CALLABLE = 'callable'; - - public const TYPE_ITERABLE = 'iterable'; - - /** - * @var array - */ - private const KNOWN_TYPES = [ - 'array' => true, - 'boolean' => true, - 'bool' => true, - 'double' => true, - 'float' => true, - 'integer' => true, - 'int' => true, - 'null' => true, - 'numeric' => true, - 'object' => true, - 'real' => true, - 'resource' => true, - 'string' => true, - 'scalar' => true, - 'callable' => true, - 'iterable' => true, - ]; - - /** - * @var string - */ - private $type; - - /** - * @throws \PHPUnit\Framework\Exception - */ - public function __construct(string $type) - { - parent::__construct(); - - if (!isset(self::KNOWN_TYPES[$type])) { - throw new \PHPUnit\Framework\Exception( - \sprintf( - 'Type specified for PHPUnit\Framework\Constraint\IsType <%s> ' . - 'is not a valid type.', - $type - ) - ); - } - - $this->type = $type; - } - - /** - * Returns a string representation of the constraint. - */ - public function toString(): string - { - return \sprintf( - 'is of type "%s"', - $this->type - ); - } - - /** - * Evaluates the constraint for parameter $other. Returns true if the - * constraint is met, false otherwise. - * - * @param mixed $other value or object to evaluate - */ - protected function matches($other): bool - { - switch ($this->type) { - case 'numeric': - return \is_numeric($other); - - case 'integer': - case 'int': - return \is_int($other); - - case 'double': - case 'float': - case 'real': - return \is_float($other); - - case 'string': - return \is_string($other); - - case 'boolean': - case 'bool': - return \is_bool($other); - - case 'null': - return null === $other; - - case 'array': - return \is_array($other); - - case 'object': - return \is_object($other); - - case 'resource': - return \is_resource($other) || \is_string(@\get_resource_type($other)); - - case 'scalar': - return \is_scalar($other); - - case 'callable': - return \is_callable($other); - - case 'iterable': - return \is_iterable($other); - } - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/IsWritable.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/IsWritable.php deleted file mode 100644 index f19cea9..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/IsWritable.php +++ /dev/null @@ -1,53 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\Constraint; - -/** - * Constraint that checks if the file/dir(name) that it is evaluated for is writable. - * - * The file path to check is passed as $other in evaluate(). - */ -class IsWritable extends Constraint -{ - /** - * Returns a string representation of the constraint. - */ - public function toString(): string - { - return 'is writable'; - } - - /** - * Evaluates the constraint for parameter $other. Returns true if the - * constraint is met, false otherwise. - * - * @param mixed $other value or object to evaluate - */ - protected function matches($other): bool - { - return \is_writable($other); - } - - /** - * Returns the description of the failure - * - * The beginning of failure messages is "Failed asserting that" in most - * cases. This method should return the second part of that sentence. - * - * @param mixed $other evaluated value or object - */ - protected function failureDescription($other): string - { - return \sprintf( - '"%s" is writable', - $other - ); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/JsonMatches.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/JsonMatches.php deleted file mode 100644 index 2246199..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/JsonMatches.php +++ /dev/null @@ -1,111 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\Constraint; - -use PHPUnit\Framework\ExpectationFailedException; -use PHPUnit\Util\Json; -use SebastianBergmann\Comparator\ComparisonFailure; - -/** - * Asserts whether or not two JSON objects are equal. - */ -class JsonMatches extends Constraint -{ - /** - * @var string - */ - private $value; - - public function __construct(string $value) - { - parent::__construct(); - - $this->value = $value; - } - - /** - * Returns a string representation of the object. - */ - public function toString(): string - { - return \sprintf( - 'matches JSON string "%s"', - $this->value - ); - } - - /** - * Evaluates the constraint for parameter $other. Returns true if the - * constraint is met, false otherwise. - * - * This method can be overridden to implement the evaluation algorithm. - * - * @param mixed $other value or object to evaluate - */ - protected function matches($other): bool - { - [$error, $recodedOther] = Json::canonicalize($other); - - if ($error) { - return false; - } - - [$error, $recodedValue] = Json::canonicalize($this->value); - - if ($error) { - return false; - } - - return $recodedOther == $recodedValue; - } - - /** - * Throws an exception for the given compared value and test description - * - * @param mixed $other evaluated value or object - * @param string $description Additional information about the test - * @param ComparisonFailure $comparisonFailure - * - * @throws ExpectationFailedException - * @throws \PHPUnit\Framework\Exception - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - protected function fail($other, $description, ComparisonFailure $comparisonFailure = null): void - { - if ($comparisonFailure === null) { - [$error] = Json::canonicalize($other); - - if ($error) { - parent::fail($other, $description); - - return; - } - - [$error] = Json::canonicalize($this->value); - - if ($error) { - parent::fail($other, $description); - - return; - } - - $comparisonFailure = new ComparisonFailure( - \json_decode($this->value), - \json_decode($other), - Json::prettify($this->value), - Json::prettify($other), - false, - 'Failed asserting that two json values are equal.' - ); - } - - parent::fail($other, $description, $comparisonFailure); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/JsonMatchesErrorMessageProvider.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/JsonMatchesErrorMessageProvider.php deleted file mode 100644 index 9b3659a..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/JsonMatchesErrorMessageProvider.php +++ /dev/null @@ -1,62 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\Constraint; - -/** - * Provides human readable messages for each JSON error. - */ -class JsonMatchesErrorMessageProvider -{ - /** - * Translates JSON error to a human readable string. - */ - public static function determineJsonError(string $error, string $prefix = ''): ?string - { - switch ($error) { - case \JSON_ERROR_NONE: - return null; - case \JSON_ERROR_DEPTH: - return $prefix . 'Maximum stack depth exceeded'; - case \JSON_ERROR_STATE_MISMATCH: - return $prefix . 'Underflow or the modes mismatch'; - case \JSON_ERROR_CTRL_CHAR: - return $prefix . 'Unexpected control character found'; - case \JSON_ERROR_SYNTAX: - return $prefix . 'Syntax error, malformed JSON'; - case \JSON_ERROR_UTF8: - return $prefix . 'Malformed UTF-8 characters, possibly incorrectly encoded'; - default: - return $prefix . 'Unknown error'; - } - } - - /** - * Translates a given type to a human readable message prefix. - */ - public static function translateTypeToPrefix(string $type): string - { - switch (\strtolower($type)) { - case 'expected': - $prefix = 'Expected value JSON decode error - '; - - break; - case 'actual': - $prefix = 'Actual value JSON decode error - '; - - break; - default: - $prefix = ''; - - break; - } - - return $prefix; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/LessThan.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/LessThan.php deleted file mode 100644 index 8e8d9e5..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/LessThan.php +++ /dev/null @@ -1,53 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\Constraint; - -/** - * Constraint that asserts that the value it is evaluated for is less than - * a given value. - */ -class LessThan extends Constraint -{ - /** - * @var float|int - */ - private $value; - - /** - * @param float|int $value - */ - public function __construct($value) - { - parent::__construct(); - - $this->value = $value; - } - - /** - * Returns a string representation of the constraint. - * - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public function toString(): string - { - return 'is less than ' . $this->exporter->export($this->value); - } - - /** - * Evaluates the constraint for parameter $other. Returns true if the - * constraint is met, false otherwise. - * - * @param mixed $other value or object to evaluate - */ - protected function matches($other): bool - { - return $this->value > $other; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/LogicalAnd.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/LogicalAnd.php deleted file mode 100644 index fd7fa29..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/LogicalAnd.php +++ /dev/null @@ -1,123 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\Constraint; - -use PHPUnit\Framework\ExpectationFailedException; - -/** - * Logical AND. - */ -class LogicalAnd extends Constraint -{ - /** - * @var Constraint[] - */ - private $constraints = []; - - public static function fromConstraints(Constraint ...$constraints): self - { - $constraint = new self; - - $constraint->constraints = \array_values($constraints); - - return $constraint; - } - - /** - * @param Constraint[] $constraints - * - * @throws \PHPUnit\Framework\Exception - */ - public function setConstraints(array $constraints): void - { - $this->constraints = []; - - foreach ($constraints as $constraint) { - if (!($constraint instanceof Constraint)) { - throw new \PHPUnit\Framework\Exception( - 'All parameters to ' . __CLASS__ . - ' must be a constraint object.' - ); - } - - $this->constraints[] = $constraint; - } - } - - /** - * Evaluates the constraint for parameter $other - * - * If $returnResult is set to false (the default), an exception is thrown - * in case of a failure. null is returned otherwise. - * - * If $returnResult is true, the result of the evaluation is returned as - * a boolean value instead: true in case of success, false in case of a - * failure. - * - * @param mixed $other value or object to evaluate - * @param string $description Additional information about the test - * @param bool $returnResult Whether to return a result or throw an exception - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public function evaluate($other, $description = '', $returnResult = false) - { - $success = true; - - foreach ($this->constraints as $constraint) { - if (!$constraint->evaluate($other, $description, true)) { - $success = false; - - break; - } - } - - if ($returnResult) { - return $success; - } - - if (!$success) { - $this->fail($other, $description); - } - } - - /** - * Returns a string representation of the constraint. - */ - public function toString(): string - { - $text = ''; - - foreach ($this->constraints as $key => $constraint) { - if ($key > 0) { - $text .= ' and '; - } - - $text .= $constraint->toString(); - } - - return $text; - } - - /** - * Counts the number of constraint elements. - */ - public function count(): int - { - $count = 0; - - foreach ($this->constraints as $constraint) { - $count += \count($constraint); - } - - return $count; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/LogicalNot.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/LogicalNot.php deleted file mode 100644 index 0d3b001..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/LogicalNot.php +++ /dev/null @@ -1,171 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\Constraint; - -use PHPUnit\Framework\ExpectationFailedException; - -/** - * Logical NOT. - */ -class LogicalNot extends Constraint -{ - /** - * @var Constraint - */ - private $constraint; - - public static function negate(string $string): string - { - $positives = [ - 'contains ', - 'exists', - 'has ', - 'is ', - 'are ', - 'matches ', - 'starts with ', - 'ends with ', - 'reference ', - 'not not ', - ]; - - $negatives = [ - 'does not contain ', - 'does not exist', - 'does not have ', - 'is not ', - 'are not ', - 'does not match ', - 'starts not with ', - 'ends not with ', - 'don\'t reference ', - 'not ', - ]; - - \preg_match('/(\'[\w\W]*\')([\w\W]*)("[\w\W]*")/i', $string, $matches); - - if (\count($matches) > 0) { - $nonInput = $matches[2]; - - $negatedString = \str_replace( - $nonInput, - \str_replace( - $positives, - $negatives, - $nonInput - ), - $string - ); - } else { - $negatedString = \str_replace( - $positives, - $negatives, - $string - ); - } - - return $negatedString; - } - - /** - * @param Constraint|mixed $constraint - */ - public function __construct($constraint) - { - parent::__construct(); - - if (!($constraint instanceof Constraint)) { - $constraint = new IsEqual($constraint); - } - - $this->constraint = $constraint; - } - - /** - * Evaluates the constraint for parameter $other - * - * If $returnResult is set to false (the default), an exception is thrown - * in case of a failure. null is returned otherwise. - * - * If $returnResult is true, the result of the evaluation is returned as - * a boolean value instead: true in case of success, false in case of a - * failure. - * - * @param mixed $other value or object to evaluate - * @param string $description Additional information about the test - * @param bool $returnResult Whether to return a result or throw an exception - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public function evaluate($other, $description = '', $returnResult = false) - { - $success = !$this->constraint->evaluate($other, $description, true); - - if ($returnResult) { - return $success; - } - - if (!$success) { - $this->fail($other, $description); - } - } - - /** - * Returns a string representation of the constraint. - */ - public function toString(): string - { - switch (\get_class($this->constraint)) { - case LogicalAnd::class: - case self::class: - case LogicalOr::class: - return 'not( ' . $this->constraint->toString() . ' )'; - - default: - return self::negate( - $this->constraint->toString() - ); - } - } - - /** - * Counts the number of constraint elements. - */ - public function count(): int - { - return \count($this->constraint); - } - - /** - * Returns the description of the failure - * - * The beginning of failure messages is "Failed asserting that" in most - * cases. This method should return the second part of that sentence. - * - * @param mixed $other evaluated value or object - * - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - protected function failureDescription($other): string - { - switch (\get_class($this->constraint)) { - case LogicalAnd::class: - case self::class: - case LogicalOr::class: - return 'not( ' . $this->constraint->failureDescription($other) . ' )'; - - default: - return self::negate( - $this->constraint->failureDescription($other) - ); - } - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/LogicalOr.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/LogicalOr.php deleted file mode 100644 index dd1fda8..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/LogicalOr.php +++ /dev/null @@ -1,120 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\Constraint; - -use PHPUnit\Framework\ExpectationFailedException; - -/** - * Logical OR. - */ -class LogicalOr extends Constraint -{ - /** - * @var Constraint[] - */ - private $constraints = []; - - public static function fromConstraints(Constraint ...$constraints): self - { - $constraint = new self; - - $constraint->constraints = \array_values($constraints); - - return $constraint; - } - - /** - * @param Constraint[] $constraints - */ - public function setConstraints(array $constraints): void - { - $this->constraints = []; - - foreach ($constraints as $constraint) { - if (!($constraint instanceof Constraint)) { - $constraint = new IsEqual( - $constraint - ); - } - - $this->constraints[] = $constraint; - } - } - - /** - * Evaluates the constraint for parameter $other - * - * If $returnResult is set to false (the default), an exception is thrown - * in case of a failure. null is returned otherwise. - * - * If $returnResult is true, the result of the evaluation is returned as - * a boolean value instead: true in case of success, false in case of a - * failure. - * - * @param mixed $other value or object to evaluate - * @param string $description Additional information about the test - * @param bool $returnResult Whether to return a result or throw an exception - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public function evaluate($other, $description = '', $returnResult = false) - { - $success = false; - - foreach ($this->constraints as $constraint) { - if ($constraint->evaluate($other, $description, true)) { - $success = true; - - break; - } - } - - if ($returnResult) { - return $success; - } - - if (!$success) { - $this->fail($other, $description); - } - } - - /** - * Returns a string representation of the constraint. - */ - public function toString(): string - { - $text = ''; - - foreach ($this->constraints as $key => $constraint) { - if ($key > 0) { - $text .= ' or '; - } - - $text .= $constraint->toString(); - } - - return $text; - } - - /** - * Counts the number of constraint elements. - */ - public function count(): int - { - $count = 0; - - foreach ($this->constraints as $constraint) { - $count += \count($constraint); - } - - return $count; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/LogicalXor.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/LogicalXor.php deleted file mode 100644 index b8a2802..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/LogicalXor.php +++ /dev/null @@ -1,125 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\Constraint; - -use PHPUnit\Framework\ExpectationFailedException; - -/** - * Logical XOR. - */ -class LogicalXor extends Constraint -{ - /** - * @var Constraint[] - */ - private $constraints = []; - - public static function fromConstraints(Constraint ...$constraints): self - { - $constraint = new self; - - $constraint->constraints = \array_values($constraints); - - return $constraint; - } - - /** - * @param Constraint[] $constraints - */ - public function setConstraints(array $constraints): void - { - $this->constraints = []; - - foreach ($constraints as $constraint) { - if (!($constraint instanceof Constraint)) { - $constraint = new IsEqual( - $constraint - ); - } - - $this->constraints[] = $constraint; - } - } - - /** - * Evaluates the constraint for parameter $other - * - * If $returnResult is set to false (the default), an exception is thrown - * in case of a failure. null is returned otherwise. - * - * If $returnResult is true, the result of the evaluation is returned as - * a boolean value instead: true in case of success, false in case of a - * failure. - * - * @param mixed $other value or object to evaluate - * @param string $description Additional information about the test - * @param bool $returnResult Whether to return a result or throw an exception - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public function evaluate($other, $description = '', $returnResult = false) - { - $success = true; - $lastResult = null; - - foreach ($this->constraints as $constraint) { - $result = $constraint->evaluate($other, $description, true); - - if ($result === $lastResult) { - $success = false; - - break; - } - - $lastResult = $result; - } - - if ($returnResult) { - return $success; - } - - if (!$success) { - $this->fail($other, $description); - } - } - - /** - * Returns a string representation of the constraint. - */ - public function toString(): string - { - $text = ''; - - foreach ($this->constraints as $key => $constraint) { - if ($key > 0) { - $text .= ' xor '; - } - - $text .= $constraint->toString(); - } - - return $text; - } - - /** - * Counts the number of constraint elements. - */ - public function count(): int - { - $count = 0; - - foreach ($this->constraints as $constraint) { - $count += \count($constraint); - } - - return $count; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/ObjectHasAttribute.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/ObjectHasAttribute.php deleted file mode 100644 index 15127c0..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/ObjectHasAttribute.php +++ /dev/null @@ -1,34 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\Constraint; - -use ReflectionObject; - -/** - * Constraint that asserts that the object it is evaluated for has a given - * attribute. - * - * The attribute name is passed in the constructor. - */ -class ObjectHasAttribute extends ClassHasAttribute -{ - /** - * Evaluates the constraint for parameter $other. Returns true if the - * constraint is met, false otherwise. - * - * @param mixed $other value or object to evaluate - */ - protected function matches($other): bool - { - $object = new ReflectionObject($other); - - return $object->hasProperty($this->attributeName()); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/RegularExpression.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/RegularExpression.php deleted file mode 100644 index cb1f665..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/RegularExpression.php +++ /dev/null @@ -1,56 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\Constraint; - -/** - * Constraint that asserts that the string it is evaluated for matches - * a regular expression. - * - * Checks a given value using the Perl Compatible Regular Expression extension - * in PHP. The pattern is matched by executing preg_match(). - * - * The pattern string passed in the constructor. - */ -class RegularExpression extends Constraint -{ - /** - * @var string - */ - private $pattern; - - public function __construct(string $pattern) - { - parent::__construct(); - - $this->pattern = $pattern; - } - - /** - * Returns a string representation of the constraint. - */ - public function toString(): string - { - return \sprintf( - 'matches PCRE pattern "%s"', - $this->pattern - ); - } - - /** - * Evaluates the constraint for parameter $other. Returns true if the - * constraint is met, false otherwise. - * - * @param mixed $other value or object to evaluate - */ - protected function matches($other): bool - { - return \preg_match($this->pattern, $other) > 0; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/SameSize.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/SameSize.php deleted file mode 100644 index dc9b003..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/SameSize.php +++ /dev/null @@ -1,18 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\Constraint; - -class SameSize extends Count -{ - public function __construct(iterable $expected) - { - parent::__construct($this->getCountOf($expected)); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/StringContains.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/StringContains.php deleted file mode 100644 index cc72c32..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/StringContains.php +++ /dev/null @@ -1,76 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\Constraint; - -/** - * Constraint that asserts that the string it is evaluated for contains - * a given string. - * - * Uses mb_strpos() to find the position of the string in the input, if not - * found the evaluation fails. - * - * The sub-string is passed in the constructor. - */ -class StringContains extends Constraint -{ - /** - * @var string - */ - private $string; - - /** - * @var bool - */ - private $ignoreCase; - - public function __construct(string $string, bool $ignoreCase = false) - { - parent::__construct(); - - $this->string = $string; - $this->ignoreCase = $ignoreCase; - } - - /** - * Returns a string representation of the constraint. - */ - public function toString(): string - { - if ($this->ignoreCase) { - $string = \mb_strtolower($this->string); - } else { - $string = $this->string; - } - - return \sprintf( - 'contains "%s"', - $string - ); - } - - /** - * Evaluates the constraint for parameter $other. Returns true if the - * constraint is met, false otherwise. - * - * @param mixed $other value or object to evaluate - */ - protected function matches($other): bool - { - if ('' === $this->string) { - return true; - } - - if ($this->ignoreCase) { - return \mb_stripos($other, $this->string) !== false; - } - - return \mb_strpos($other, $this->string) !== false; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/StringEndsWith.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/StringEndsWith.php deleted file mode 100644 index 3856078..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/StringEndsWith.php +++ /dev/null @@ -1,48 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\Constraint; - -/** - * Constraint that asserts that the string it is evaluated for ends with a given - * suffix. - */ -class StringEndsWith extends Constraint -{ - /** - * @var string - */ - private $suffix; - - public function __construct(string $suffix) - { - parent::__construct(); - - $this->suffix = $suffix; - } - - /** - * Returns a string representation of the constraint. - */ - public function toString(): string - { - return 'ends with "' . $this->suffix . '"'; - } - - /** - * Evaluates the constraint for parameter $other. Returns true if the - * constraint is met, false otherwise. - * - * @param mixed $other value or object to evaluate - */ - protected function matches($other): bool - { - return \substr($other, 0 - \strlen($this->suffix)) === $this->suffix; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/StringMatchesFormatDescription.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/StringMatchesFormatDescription.php deleted file mode 100644 index 5b27e53..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/StringMatchesFormatDescription.php +++ /dev/null @@ -1,103 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\Constraint; - -use SebastianBergmann\Diff\Differ; - -/** - * ... - */ -class StringMatchesFormatDescription extends RegularExpression -{ - /** - * @var string - */ - private $string; - - public function __construct(string $string) - { - parent::__construct( - $this->createPatternFromFormat( - $this->convertNewlines($string) - ) - ); - - $this->string = $string; - } - - /** - * Evaluates the constraint for parameter $other. Returns true if the - * constraint is met, false otherwise. - * - * @param mixed $other value or object to evaluate - */ - protected function matches($other): bool - { - return parent::matches( - $this->convertNewlines($other) - ); - } - - protected function failureDescription($other): string - { - return 'string matches format description'; - } - - protected function additionalFailureDescription($other): string - { - $from = \explode("\n", $this->string); - $to = \explode("\n", $this->convertNewlines($other)); - - foreach ($from as $index => $line) { - if (isset($to[$index]) && $line !== $to[$index]) { - $line = $this->createPatternFromFormat($line); - - if (\preg_match($line, $to[$index]) > 0) { - $from[$index] = $to[$index]; - } - } - } - - $this->string = \implode("\n", $from); - $other = \implode("\n", $to); - - $differ = new Differ("--- Expected\n+++ Actual\n"); - - return $differ->diff($this->string, $other); - } - - private function createPatternFromFormat(string $string): string - { - $string = \strtr( - \preg_quote($string, '/'), - [ - '%%' => '%', - '%e' => '\\' . \DIRECTORY_SEPARATOR, - '%s' => '[^\r\n]+', - '%S' => '[^\r\n]*', - '%a' => '.+', - '%A' => '.*', - '%w' => '\s*', - '%i' => '[+-]?\d+', - '%d' => '\d+', - '%x' => '[0-9a-fA-F]+', - '%f' => '[+-]?\.?\d+\.?\d*(?:[Ee][+-]?\d+)?', - '%c' => '.', - ] - ); - - return '/^' . $string . '$/s'; - } - - private function convertNewlines($text): string - { - return \preg_replace('/\r\n/', "\n", $text); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/StringStartsWith.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/StringStartsWith.php deleted file mode 100644 index a169d94..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/StringStartsWith.php +++ /dev/null @@ -1,54 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\Constraint; - -use PHPUnit\Util\InvalidArgumentHelper; - -/** - * Constraint that asserts that the string it is evaluated for begins with a - * given prefix. - */ -class StringStartsWith extends Constraint -{ - /** - * @var string - */ - private $prefix; - - public function __construct(string $prefix) - { - parent::__construct(); - - if (\strlen($prefix) === 0) { - throw InvalidArgumentHelper::factory(1, 'non-empty string'); - } - - $this->prefix = $prefix; - } - - /** - * Returns a string representation of the constraint. - */ - public function toString(): string - { - return 'starts with "' . $this->prefix . '"'; - } - - /** - * Evaluates the constraint for parameter $other. Returns true if the - * constraint is met, false otherwise. - * - * @param mixed $other value or object to evaluate - */ - protected function matches($other): bool - { - return \strpos($other, $this->prefix) === 0; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/TraversableContains.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/TraversableContains.php deleted file mode 100644 index ace1c78..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/TraversableContains.php +++ /dev/null @@ -1,116 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\Constraint; - -use SplObjectStorage; - -/** - * Constraint that asserts that the Traversable it is applied to contains - * a given value. - */ -class TraversableContains extends Constraint -{ - /** - * @var bool - */ - private $checkForObjectIdentity; - - /** - * @var bool - */ - private $checkForNonObjectIdentity; - - /** - * @var mixed - */ - private $value; - - /** - * @throws \PHPUnit\Framework\Exception - */ - public function __construct($value, bool $checkForObjectIdentity = true, bool $checkForNonObjectIdentity = false) - { - parent::__construct(); - - $this->checkForObjectIdentity = $checkForObjectIdentity; - $this->checkForNonObjectIdentity = $checkForNonObjectIdentity; - $this->value = $value; - } - - /** - * Returns a string representation of the constraint. - * - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public function toString(): string - { - if (\is_string($this->value) && \strpos($this->value, "\n") !== false) { - return 'contains "' . $this->value . '"'; - } - - return 'contains ' . $this->exporter->export($this->value); - } - - /** - * Evaluates the constraint for parameter $other. Returns true if the - * constraint is met, false otherwise. - * - * @param mixed $other value or object to evaluate - */ - protected function matches($other): bool - { - if ($other instanceof SplObjectStorage) { - return $other->contains($this->value); - } - - if (\is_object($this->value)) { - foreach ($other as $element) { - if ($this->checkForObjectIdentity && $element === $this->value) { - return true; - } - - if (!$this->checkForObjectIdentity && $element == $this->value) { - return true; - } - } - } else { - foreach ($other as $element) { - if ($this->checkForNonObjectIdentity && $element === $this->value) { - return true; - } - - if (!$this->checkForNonObjectIdentity && $element == $this->value) { - return true; - } - } - } - - return false; - } - - /** - * Returns the description of the failure - * - * The beginning of failure messages is "Failed asserting that" in most - * cases. This method should return the second part of that sentence. - * - * @param mixed $other evaluated value or object - * - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - protected function failureDescription($other): string - { - return \sprintf( - '%s %s', - \is_array($other) ? 'an array' : 'a traversable', - $this->toString() - ); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/TraversableContainsOnly.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/TraversableContainsOnly.php deleted file mode 100644 index 20c5134..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Constraint/TraversableContainsOnly.php +++ /dev/null @@ -1,93 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\Constraint; - -use PHPUnit\Framework\ExpectationFailedException; - -/** - * Constraint that asserts that the Traversable it is applied to contains - * only values of a given type. - */ -class TraversableContainsOnly extends Constraint -{ - /** - * @var Constraint - */ - private $constraint; - - /** - * @var string - */ - private $type; - - /** - * @throws \PHPUnit\Framework\Exception - */ - public function __construct(string $type, bool $isNativeType = true) - { - parent::__construct(); - - if ($isNativeType) { - $this->constraint = new IsType($type); - } else { - $this->constraint = new IsInstanceOf( - $type - ); - } - - $this->type = $type; - } - - /** - * Evaluates the constraint for parameter $other - * - * If $returnResult is set to false (the default), an exception is thrown - * in case of a failure. null is returned otherwise. - * - * If $returnResult is true, the result of the evaluation is returned as - * a boolean value instead: true in case of success, false in case of a - * failure. - * - * @param mixed $other value or object to evaluate - * @param string $description Additional information about the test - * @param bool $returnResult Whether to return a result or throw an exception - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public function evaluate($other, $description = '', $returnResult = false) - { - $success = true; - - foreach ($other as $item) { - if (!$this->constraint->evaluate($item, '', true)) { - $success = false; - - break; - } - } - - if ($returnResult) { - return $success; - } - - if (!$success) { - $this->fail($other, $description); - } - } - - /** - * Returns a string representation of the constraint. - */ - public function toString(): string - { - return 'contains only values of type "' . $this->type . '"'; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/CoveredCodeNotExecutedException.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/CoveredCodeNotExecutedException.php deleted file mode 100644 index 45deaaa..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/CoveredCodeNotExecutedException.php +++ /dev/null @@ -1,14 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework; - -class CoveredCodeNotExecutedException extends RiskyTestError -{ -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/DataProviderTestSuite.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/DataProviderTestSuite.php deleted file mode 100644 index 15380b5..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/DataProviderTestSuite.php +++ /dev/null @@ -1,44 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework; - -class DataProviderTestSuite extends TestSuite -{ - /** - * @var string[] - */ - private $dependencies = []; - - /** - * @param string[] $dependencies - */ - public function setDependencies(array $dependencies): void - { - $this->dependencies = $dependencies; - - foreach ($this->tests as $test) { - if (!$test instanceof TestCase) { - continue; - } - - $test->setDependencies($dependencies); - } - } - - public function getDependencies(): array - { - return $this->dependencies; - } - - public function hasDependencies(): bool - { - return \count($this->dependencies) > 0; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Error/Deprecated.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Error/Deprecated.php deleted file mode 100644 index f43b8f9..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Error/Deprecated.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\Error; - -class Deprecated extends Error -{ - public static $enabled = true; -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Error/Error.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Error/Error.php deleted file mode 100644 index 3478703..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Error/Error.php +++ /dev/null @@ -1,26 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\Error; - -use PHPUnit\Framework\Exception; - -/** - * Wrapper for PHP errors. - */ -class Error extends Exception -{ - public function __construct(string $message, int $code, string $file, int $line, \Exception $previous = null) - { - parent::__construct($message, $code, $previous); - - $this->file = $file; - $this->line = $line; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Error/Notice.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Error/Notice.php deleted file mode 100644 index 0275c09..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Error/Notice.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\Error; - -class Notice extends Error -{ - public static $enabled = true; -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Error/Warning.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Error/Warning.php deleted file mode 100644 index decb33e..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Error/Warning.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\Error; - -class Warning extends Error -{ - public static $enabled = true; -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Exception.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Exception.php deleted file mode 100644 index 2ea2a1b..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Exception.php +++ /dev/null @@ -1,78 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework; - -use PHPUnit\Util\Filter; - -/** - * Base class for all PHPUnit Framework exceptions. - * - * Ensures that exceptions thrown during a test run do not leave stray - * references behind. - * - * Every Exception contains a stack trace. Each stack frame contains the 'args' - * of the called function. The function arguments can contain references to - * instantiated objects. The references prevent the objects from being - * destructed (until test results are eventually printed), so memory cannot be - * freed up. - * - * With enabled process isolation, test results are serialized in the child - * process and unserialized in the parent process. The stack trace of Exceptions - * may contain objects that cannot be serialized or unserialized (e.g., PDO - * connections). Unserializing user-space objects from the child process into - * the parent would break the intended encapsulation of process isolation. - * - * @see http://fabien.potencier.org/article/9/php-serialization-stack-traces-and-exceptions - */ -class Exception extends \RuntimeException implements \PHPUnit\Exception -{ - /** - * @var array - */ - protected $serializableTrace; - - public function __construct($message = '', $code = 0, \Exception $previous = null) - { - parent::__construct($message, $code, $previous); - - $this->serializableTrace = $this->getTrace(); - - foreach ($this->serializableTrace as $i => $call) { - unset($this->serializableTrace[$i]['args']); - } - } - - /** - * @throws \InvalidArgumentException - */ - public function __toString(): string - { - $string = TestFailure::exceptionToString($this); - - if ($trace = Filter::getFilteredStacktrace($this)) { - $string .= "\n" . $trace; - } - - return $string; - } - - public function __sleep(): array - { - return \array_keys(\get_object_vars($this)); - } - - /** - * Returns the serializable trace (without 'args'). - */ - public function getSerializableTrace(): array - { - return $this->serializableTrace; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/ExceptionWrapper.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/ExceptionWrapper.php deleted file mode 100644 index 702712a..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/ExceptionWrapper.php +++ /dev/null @@ -1,118 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework; - -use PHPUnit\Util\Filter; -use Throwable; - -/** - * Wraps Exceptions thrown by code under test. - * - * Re-instantiates Exceptions thrown by user-space code to retain their original - * class names, properties, and stack traces (but without arguments). - * - * Unlike PHPUnit\Framework_\Exception, the complete stack of previous Exceptions - * is processed. - */ -class ExceptionWrapper extends Exception -{ - /** - * @var string - */ - protected $className; - - /** - * @var null|ExceptionWrapper - */ - protected $previous; - - public function __construct(Throwable $t) - { - // PDOException::getCode() is a string. - // @see https://php.net/manual/en/class.pdoexception.php#95812 - parent::__construct($t->getMessage(), (int) $t->getCode()); - $this->setOriginalException($t); - } - - /** - * @throws \InvalidArgumentException - */ - public function __toString(): string - { - $string = TestFailure::exceptionToString($this); - - if ($trace = Filter::getFilteredStacktrace($this)) { - $string .= "\n" . $trace; - } - - if ($this->previous) { - $string .= "\nCaused by\n" . $this->previous; - } - - return $string; - } - - public function getClassName(): string - { - return $this->className; - } - - public function getPreviousWrapped(): ?self - { - return $this->previous; - } - - public function setClassName(string $className): void - { - $this->className = $className; - } - - public function setOriginalException(\Throwable $t): void - { - $this->originalException($t); - - $this->className = \get_class($t); - $this->file = $t->getFile(); - $this->line = $t->getLine(); - - $this->serializableTrace = $t->getTrace(); - - foreach ($this->serializableTrace as $i => $call) { - unset($this->serializableTrace[$i]['args']); - } - - if ($t->getPrevious()) { - $this->previous = new self($t->getPrevious()); - } - } - - public function getOriginalException(): ?Throwable - { - return $this->originalException(); - } - - /** - * Method to contain static originalException to exclude it from stacktrace to prevent the stacktrace contents, - * which can be quite big, from being garbage-collected, thus blocking memory until shutdown. - * Approach works both for var_dump() and var_export() and print_r() - */ - private function originalException(Throwable $exceptionToStore = null): ?Throwable - { - static $originalExceptions; - - $instanceId = \spl_object_hash($this); - - if ($exceptionToStore) { - $originalExceptions[$instanceId] = $exceptionToStore; - } - - return $originalExceptions[$instanceId] ?? null; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/ExpectationFailedException.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/ExpectationFailedException.php deleted file mode 100644 index 2771d9b..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/ExpectationFailedException.php +++ /dev/null @@ -1,39 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework; - -use SebastianBergmann\Comparator\ComparisonFailure; - -/** - * Exception for expectations which failed their check. - * - * The exception contains the error message and optionally a - * SebastianBergmann\Comparator\ComparisonFailure which is used to - * generate diff output of the failed expectations. - */ -class ExpectationFailedException extends AssertionFailedError -{ - /** - * @var ComparisonFailure - */ - protected $comparisonFailure; - - public function __construct(string $message, ComparisonFailure $comparisonFailure = null, \Exception $previous = null) - { - $this->comparisonFailure = $comparisonFailure; - - parent::__construct($message, 0, $previous); - } - - public function getComparisonFailure(): ?ComparisonFailure - { - return $this->comparisonFailure; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/IncompleteTest.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/IncompleteTest.php deleted file mode 100644 index 53654f9..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/IncompleteTest.php +++ /dev/null @@ -1,18 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework; - -/** - * A marker interface for marking any exception/error as result of an unit - * test as incomplete implementation or currently not implemented. - */ -interface IncompleteTest -{ -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/IncompleteTestCase.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/IncompleteTestCase.php deleted file mode 100644 index 0092532..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/IncompleteTestCase.php +++ /dev/null @@ -1,76 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework; - -/** - * An incomplete test case - */ -class IncompleteTestCase extends TestCase -{ - /** - * @var string - */ - protected $message = ''; - - /** - * @var bool - */ - protected $backupGlobals = false; - - /** - * @var bool - */ - protected $backupStaticAttributes = false; - - /** - * @var bool - */ - protected $runTestInSeparateProcess = false; - - /** - * @var bool - */ - protected $useErrorHandler = false; - - /** - * @var bool - */ - protected $useOutputBuffering = false; - - public function __construct(string $className, string $methodName, string $message = '') - { - parent::__construct($className . '::' . $methodName); - - $this->message = $message; - } - - public function getMessage(): string - { - return $this->message; - } - - /** - * Returns a string representation of the test case. - * - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public function toString(): string - { - return $this->getName(); - } - - /** - * @throws Exception - */ - protected function runTest(): void - { - $this->markTestIncomplete($this->message); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/IncompleteTestError.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/IncompleteTestError.php deleted file mode 100644 index 0921f07..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/IncompleteTestError.php +++ /dev/null @@ -1,14 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework; - -class IncompleteTestError extends AssertionFailedError implements IncompleteTest -{ -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/InvalidCoversTargetException.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/InvalidCoversTargetException.php deleted file mode 100644 index 40e9c33..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/InvalidCoversTargetException.php +++ /dev/null @@ -1,14 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework; - -class InvalidCoversTargetException extends CodeCoverageException -{ -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/InvalidParameterGroupException.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/InvalidParameterGroupException.php deleted file mode 100644 index feb9cc9..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/InvalidParameterGroupException.php +++ /dev/null @@ -1,17 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework; - -/** - * @internal This class is not covered by the backward compatibility promise for PHPUnit - */ -final class InvalidParameterGroupException extends Exception -{ -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MissingCoversAnnotationException.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MissingCoversAnnotationException.php deleted file mode 100644 index ed3bcb6..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MissingCoversAnnotationException.php +++ /dev/null @@ -1,14 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework; - -class MissingCoversAnnotationException extends RiskyTestError -{ -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Builder/Identity.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Builder/Identity.php deleted file mode 100644 index 9db235f..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Builder/Identity.php +++ /dev/null @@ -1,30 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\MockObject\Builder; - -/** - * Builder interface for unique identifiers. - * - * Defines the interface for recording unique identifiers. The identifiers - * can be used to define the invocation order of expectations. The expectation - * is recorded using id() and then defined in order using - * PHPUnit\Framework\MockObject\Builder\Match::after(). - */ -interface Identity -{ - /** - * Sets the identification of the expectation to $id. - * - * @note The identifier is unique per mock object. - * - * @param string $id unique identification of expectation - */ - public function id($id); -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Builder/InvocationMocker.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Builder/InvocationMocker.php deleted file mode 100644 index 35b44f2..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Builder/InvocationMocker.php +++ /dev/null @@ -1,277 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\MockObject\Builder; - -use PHPUnit\Framework\Constraint\Constraint; -use PHPUnit\Framework\MockObject\Matcher; -use PHPUnit\Framework\MockObject\Matcher\Invocation; -use PHPUnit\Framework\MockObject\RuntimeException; -use PHPUnit\Framework\MockObject\Stub; -use PHPUnit\Framework\MockObject\Stub\MatcherCollection; - -/** - * Builder for mocked or stubbed invocations. - * - * Provides methods for building expectations without having to resort to - * instantiating the various matchers manually. These methods also form a - * more natural way of reading the expectation. This class should be together - * with the test case PHPUnit\Framework\MockObject\TestCase. - */ -class InvocationMocker implements MethodNameMatch -{ - /** - * @var MatcherCollection - */ - private $collection; - - /** - * @var Matcher - */ - private $matcher; - - /** - * @var string[] - */ - private $configurableMethods; - - public function __construct(MatcherCollection $collection, Invocation $invocationMatcher, array $configurableMethods) - { - $this->collection = $collection; - $this->matcher = new Matcher($invocationMatcher); - - $this->collection->addMatcher($this->matcher); - - $this->configurableMethods = $configurableMethods; - } - - /** - * @return Matcher - */ - public function getMatcher() - { - return $this->matcher; - } - - /** - * @return InvocationMocker - */ - public function id($id) - { - $this->collection->registerId($id, $this); - - return $this; - } - - /** - * @return InvocationMocker - */ - public function will(Stub $stub) - { - $this->matcher->setStub($stub); - - return $this; - } - - /** - * @return InvocationMocker - */ - public function willReturn($value, ...$nextValues) - { - if (\count($nextValues) === 0) { - $stub = new Stub\ReturnStub($value); - } else { - $stub = new Stub\ConsecutiveCalls( - \array_merge([$value], $nextValues) - ); - } - - return $this->will($stub); - } - - /** - * @param mixed $reference - * - * @return InvocationMocker - */ - public function willReturnReference(&$reference) - { - $stub = new Stub\ReturnReference($reference); - - return $this->will($stub); - } - - /** - * @return InvocationMocker - */ - public function willReturnMap(array $valueMap) - { - $stub = new Stub\ReturnValueMap($valueMap); - - return $this->will($stub); - } - - /** - * @return InvocationMocker - */ - public function willReturnArgument($argumentIndex) - { - $stub = new Stub\ReturnArgument($argumentIndex); - - return $this->will($stub); - } - - /** - * @param callable $callback - * - * @return InvocationMocker - */ - public function willReturnCallback($callback) - { - $stub = new Stub\ReturnCallback($callback); - - return $this->will($stub); - } - - /** - * @return InvocationMocker - */ - public function willReturnSelf() - { - $stub = new Stub\ReturnSelf; - - return $this->will($stub); - } - - /** - * @return InvocationMocker - */ - public function willReturnOnConsecutiveCalls(...$values) - { - $stub = new Stub\ConsecutiveCalls($values); - - return $this->will($stub); - } - - /** - * @return InvocationMocker - */ - public function willThrowException(\Throwable $exception) - { - $stub = new Stub\Exception($exception); - - return $this->will($stub); - } - - /** - * @return InvocationMocker - */ - public function after($id) - { - $this->matcher->setAfterMatchBuilderId($id); - - return $this; - } - - /** - * @param array ...$arguments - * - * @throws RuntimeException - * - * @return InvocationMocker - */ - public function with(...$arguments) - { - $this->canDefineParameters(); - - $this->matcher->setParametersMatcher(new Matcher\Parameters($arguments)); - - return $this; - } - - /** - * @param array ...$arguments - * - * @throws RuntimeException - * - * @return InvocationMocker - */ - public function withConsecutive(...$arguments) - { - $this->canDefineParameters(); - - $this->matcher->setParametersMatcher(new Matcher\ConsecutiveParameters($arguments)); - - return $this; - } - - /** - * @throws RuntimeException - * - * @return InvocationMocker - */ - public function withAnyParameters() - { - $this->canDefineParameters(); - - $this->matcher->setParametersMatcher(new Matcher\AnyParameters); - - return $this; - } - - /** - * @param Constraint|string $constraint - * - * @throws RuntimeException - * - * @return InvocationMocker - */ - public function method($constraint) - { - if ($this->matcher->hasMethodNameMatcher()) { - throw new RuntimeException( - 'Method name matcher is already defined, cannot redefine' - ); - } - - if (\is_string($constraint) && !\in_array(\strtolower($constraint), $this->configurableMethods, true)) { - throw new RuntimeException( - \sprintf( - 'Trying to configure method "%s" which cannot be configured because it does not exist, has not been specified, is final, or is static', - $constraint - ) - ); - } - - $this->matcher->setMethodNameMatcher(new Matcher\MethodName($constraint)); - - return $this; - } - - /** - * Validate that a parameters matcher can be defined, throw exceptions otherwise. - * - * @throws RuntimeException - */ - private function canDefineParameters(): void - { - if (!$this->matcher->hasMethodNameMatcher()) { - throw new RuntimeException( - 'Method name matcher is not defined, cannot define parameter ' . - 'matcher without one' - ); - } - - if ($this->matcher->hasParametersMatcher()) { - throw new RuntimeException( - 'Parameter matcher is already defined, cannot redefine' - ); - } - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Builder/Match.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Builder/Match.php deleted file mode 100644 index eeace16..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Builder/Match.php +++ /dev/null @@ -1,26 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\MockObject\Builder; - -/** - * Builder interface for invocation order matches. - */ -interface Match extends Stub -{ - /** - * Defines the expectation which must occur before the current is valid. - * - * @param string $id the identification of the expectation that should - * occur before this one - * - * @return Stub - */ - public function after($id); -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Builder/MethodNameMatch.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Builder/MethodNameMatch.php deleted file mode 100644 index 55816a3..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Builder/MethodNameMatch.php +++ /dev/null @@ -1,26 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\MockObject\Builder; - -/** - * Builder interface for matcher of method names. - */ -interface MethodNameMatch extends ParametersMatch -{ - /** - * Adds a new method name match and returns the parameter match object for - * further matching possibilities. - * - * @param \PHPUnit\Framework\Constraint\Constraint $name Constraint for matching method, if a string is passed it will use the PHPUnit_Framework_Constraint_IsEqual - * - * @return ParametersMatch - */ - public function method($name); -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Builder/NamespaceMatch.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Builder/NamespaceMatch.php deleted file mode 100644 index 9e1b063..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Builder/NamespaceMatch.php +++ /dev/null @@ -1,37 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\MockObject\Builder; - -/** - * Interface for builders which can register builders with a given identification. - * - * This interface relates to Identity. - */ -interface NamespaceMatch -{ - /** - * Looks up the match builder with identification $id and returns it. - * - * @param string $id The identification of the match builder - * - * @return Match - */ - public function lookupId($id); - - /** - * Registers the match builder $builder with the identification $id. The - * builder can later be looked up using lookupId() to figure out if it - * has been invoked. - * - * @param string $id The identification of the match builder - * @param Match $builder The builder which is being registered - */ - public function registerId($id, Match $builder); -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Builder/ParametersMatch.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Builder/ParametersMatch.php deleted file mode 100644 index 957ded1..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Builder/ParametersMatch.php +++ /dev/null @@ -1,50 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\MockObject\Builder; - -use PHPUnit\Framework\MockObject\Matcher\AnyParameters; - -/** - * Builder interface for parameter matchers. - */ -interface ParametersMatch extends Match -{ - /** - * Sets the parameters to match for, each parameter to this function will - * be part of match. To perform specific matches or constraints create a - * new PHPUnit\Framework\Constraint\Constraint and use it for the parameter. - * If the parameter value is not a constraint it will use the - * PHPUnit\Framework\Constraint\IsEqual for the value. - * - * Some examples: - * - * // match first parameter with value 2 - * $b->with(2); - * // match first parameter with value 'smock' and second identical to 42 - * $b->with('smock', new PHPUnit\Framework\Constraint\IsEqual(42)); - * - * - * @return ParametersMatch - */ - public function with(...$arguments); - - /** - * Sets a matcher which allows any kind of parameters. - * - * Some examples: - * - * // match any number of parameters - * $b->withAnyParameters(); - * - * - * @return AnyParameters - */ - public function withAnyParameters(); -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Builder/Stub.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Builder/Stub.php deleted file mode 100644 index ad9e6c1..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Builder/Stub.php +++ /dev/null @@ -1,26 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\MockObject\Builder; - -use PHPUnit\Framework\MockObject\Stub as BaseStub; - -/** - * Builder interface for stubs which are actions replacing an invocation. - */ -interface Stub extends Identity -{ - /** - * Stubs the matching method with the stub object $stub. Any invocations of - * the matched method will now be handled by the stub instead. - * - * @return Identity - */ - public function will(BaseStub $stub); -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Exception/BadMethodCallException.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Exception/BadMethodCallException.php deleted file mode 100644 index c0a0128..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Exception/BadMethodCallException.php +++ /dev/null @@ -1,14 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\MockObject; - -class BadMethodCallException extends \BadMethodCallException implements Exception -{ -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Exception/Exception.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Exception/Exception.php deleted file mode 100644 index b79d6f9..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Exception/Exception.php +++ /dev/null @@ -1,17 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\MockObject; - -/** - * Interface for exceptions used by PHPUnit_MockObject. - */ -interface Exception extends \Throwable -{ -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Exception/RuntimeException.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Exception/RuntimeException.php deleted file mode 100644 index b286736..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Exception/RuntimeException.php +++ /dev/null @@ -1,14 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\MockObject; - -class RuntimeException extends \RuntimeException implements Exception -{ -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/ForwardCompatibility/MockObject.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/ForwardCompatibility/MockObject.php deleted file mode 100644 index f020e8c..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/ForwardCompatibility/MockObject.php +++ /dev/null @@ -1,16 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\MockObject; - -use PHPUnit_Framework_MockObject_MockObject; - -interface MockObject extends PHPUnit_Framework_MockObject_MockObject -{ -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Generator.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Generator.php deleted file mode 100644 index c7300f7..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Generator.php +++ /dev/null @@ -1,1028 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\MockObject; - -use Doctrine\Instantiator\Exception\ExceptionInterface as InstantiatorException; -use Doctrine\Instantiator\Instantiator; -use Iterator; -use IteratorAggregate; -use PHPUnit\Framework\Exception; -use PHPUnit\Util\InvalidArgumentHelper; -use ReflectionClass; -use ReflectionMethod; -use SoapClient; -use Text_Template; -use Traversable; - -/** - * Mock Object Code Generator - */ -class Generator -{ - /** - * @var array - */ - private const BLACKLISTED_METHOD_NAMES = [ - '__CLASS__' => true, - '__DIR__' => true, - '__FILE__' => true, - '__FUNCTION__' => true, - '__LINE__' => true, - '__METHOD__' => true, - '__NAMESPACE__' => true, - '__TRAIT__' => true, - '__clone' => true, - '__halt_compiler' => true, - ]; - - /** - * @var array - */ - private static $cache = []; - - /** - * @var Text_Template[] - */ - private static $templates = []; - - /** - * Returns a mock object for the specified class. - * - * @param string|string[] $type - * @param array $methods - * @param string $mockClassName - * @param bool $callOriginalConstructor - * @param bool $callOriginalClone - * @param bool $callAutoload - * @param bool $cloneArguments - * @param bool $callOriginalMethods - * @param object $proxyTarget - * @param bool $allowMockingUnknownTypes - * @param bool $returnValueGeneration - * - * @throws Exception - * @throws RuntimeException - * @throws \PHPUnit\Framework\Exception - * @throws \ReflectionException - * - * @return MockObject - */ - public function getMock($type, $methods = [], array $arguments = [], $mockClassName = '', $callOriginalConstructor = true, $callOriginalClone = true, $callAutoload = true, $cloneArguments = true, $callOriginalMethods = false, $proxyTarget = null, $allowMockingUnknownTypes = true, $returnValueGeneration = true) - { - if (!\is_array($type) && !\is_string($type)) { - throw InvalidArgumentHelper::factory(1, 'array or string'); - } - - if (!\is_string($mockClassName)) { - throw InvalidArgumentHelper::factory(4, 'string'); - } - - if (!\is_array($methods) && null !== $methods) { - throw InvalidArgumentHelper::factory(2, 'array', $methods); - } - - if ($type === 'Traversable' || $type === '\\Traversable') { - $type = 'Iterator'; - } - - if (\is_array($type)) { - $type = \array_unique( - \array_map( - function ($type) { - if ($type === 'Traversable' || - $type === '\\Traversable' || - $type === '\\Iterator') { - return 'Iterator'; - } - - return $type; - }, - $type - ) - ); - } - - if (!$allowMockingUnknownTypes) { - if (\is_array($type)) { - foreach ($type as $_type) { - if (!\class_exists($_type, $callAutoload) && - !\interface_exists($_type, $callAutoload)) { - throw new RuntimeException( - \sprintf( - 'Cannot stub or mock class or interface "%s" which does not exist', - $_type - ) - ); - } - } - } else { - if (!\class_exists($type, $callAutoload) && - !\interface_exists($type, $callAutoload) - ) { - throw new RuntimeException( - \sprintf( - 'Cannot stub or mock class or interface "%s" which does not exist', - $type - ) - ); - } - } - } - - if (null !== $methods) { - foreach ($methods as $method) { - if (!\preg_match('~[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*~', $method)) { - throw new RuntimeException( - \sprintf( - 'Cannot stub or mock method with invalid name "%s"', - $method - ) - ); - } - } - - if ($methods !== \array_unique($methods)) { - throw new RuntimeException( - \sprintf( - 'Cannot stub or mock using a method list that contains duplicates: "%s" (duplicate: "%s")', - \implode(', ', $methods), - \implode(', ', \array_unique(\array_diff_assoc($methods, \array_unique($methods)))) - ) - ); - } - } - - if ($mockClassName !== '' && \class_exists($mockClassName, false)) { - $reflect = new ReflectionClass($mockClassName); - - if (!$reflect->implementsInterface(MockObject::class)) { - throw new RuntimeException( - \sprintf( - 'Class "%s" already exists.', - $mockClassName - ) - ); - } - } - - if ($callOriginalConstructor === false && $callOriginalMethods === true) { - throw new RuntimeException( - 'Proxying to original methods requires invoking the original constructor' - ); - } - - $mock = $this->generate( - $type, - $methods, - $mockClassName, - $callOriginalClone, - $callAutoload, - $cloneArguments, - $callOriginalMethods - ); - - return $this->getObject( - $mock['code'], - $mock['mockClassName'], - $type, - $callOriginalConstructor, - $callAutoload, - $arguments, - $callOriginalMethods, - $proxyTarget, - $returnValueGeneration - ); - } - - /** - * Returns a mock object for the specified abstract class with all abstract - * methods of the class mocked. Concrete methods to mock can be specified with - * the last parameter - * - * @param string $originalClassName - * @param string $mockClassName - * @param bool $callOriginalConstructor - * @param bool $callOriginalClone - * @param bool $callAutoload - * @param array $mockedMethods - * @param bool $cloneArguments - * - * @throws \ReflectionException - * @throws RuntimeException - * @throws Exception - * - * @return MockObject - */ - public function getMockForAbstractClass($originalClassName, array $arguments = [], $mockClassName = '', $callOriginalConstructor = true, $callOriginalClone = true, $callAutoload = true, $mockedMethods = [], $cloneArguments = true) - { - if (!\is_string($originalClassName)) { - throw InvalidArgumentHelper::factory(1, 'string'); - } - - if (!\is_string($mockClassName)) { - throw InvalidArgumentHelper::factory(3, 'string'); - } - - if (\class_exists($originalClassName, $callAutoload) || - \interface_exists($originalClassName, $callAutoload)) { - $reflector = new ReflectionClass($originalClassName); - $methods = $mockedMethods; - - foreach ($reflector->getMethods() as $method) { - if ($method->isAbstract() && !\in_array($method->getName(), $methods, true)) { - $methods[] = $method->getName(); - } - } - - if (empty($methods)) { - $methods = null; - } - - return $this->getMock( - $originalClassName, - $methods, - $arguments, - $mockClassName, - $callOriginalConstructor, - $callOriginalClone, - $callAutoload, - $cloneArguments - ); - } - - throw new RuntimeException( - \sprintf('Class "%s" does not exist.', $originalClassName) - ); - } - - /** - * Returns a mock object for the specified trait with all abstract methods - * of the trait mocked. Concrete methods to mock can be specified with the - * `$mockedMethods` parameter. - * - * @param string $traitName - * @param string $mockClassName - * @param bool $callOriginalConstructor - * @param bool $callOriginalClone - * @param bool $callAutoload - * @param array $mockedMethods - * @param bool $cloneArguments - * - * @throws \ReflectionException - * @throws RuntimeException - * @throws Exception - * - * @return MockObject - */ - public function getMockForTrait($traitName, array $arguments = [], $mockClassName = '', $callOriginalConstructor = true, $callOriginalClone = true, $callAutoload = true, $mockedMethods = [], $cloneArguments = true) - { - if (!\is_string($traitName)) { - throw InvalidArgumentHelper::factory(1, 'string'); - } - - if (!\is_string($mockClassName)) { - throw InvalidArgumentHelper::factory(3, 'string'); - } - - if (!\trait_exists($traitName, $callAutoload)) { - throw new RuntimeException( - \sprintf( - 'Trait "%s" does not exist.', - $traitName - ) - ); - } - - $className = $this->generateClassName( - $traitName, - '', - 'Trait_' - ); - - $classTemplate = $this->getTemplate('trait_class.tpl'); - - $classTemplate->setVar( - [ - 'prologue' => 'abstract ', - 'class_name' => $className['className'], - 'trait_name' => $traitName, - ] - ); - - $this->evalClass( - $classTemplate->render(), - $className['className'] - ); - - return $this->getMockForAbstractClass($className['className'], $arguments, $mockClassName, $callOriginalConstructor, $callOriginalClone, $callAutoload, $mockedMethods, $cloneArguments); - } - - /** - * Returns an object for the specified trait. - * - * @param string $traitName - * @param string $traitClassName - * @param bool $callOriginalConstructor - * @param bool $callOriginalClone - * @param bool $callAutoload - * - * @throws \ReflectionException - * @throws RuntimeException - * @throws Exception - * - * @return object - */ - public function getObjectForTrait($traitName, array $arguments = [], $traitClassName = '', $callOriginalConstructor = true, $callOriginalClone = true, $callAutoload = true) - { - if (!\is_string($traitName)) { - throw InvalidArgumentHelper::factory(1, 'string'); - } - - if (!\is_string($traitClassName)) { - throw InvalidArgumentHelper::factory(3, 'string'); - } - - if (!\trait_exists($traitName, $callAutoload)) { - throw new RuntimeException( - \sprintf( - 'Trait "%s" does not exist.', - $traitName - ) - ); - } - - $className = $this->generateClassName( - $traitName, - $traitClassName, - 'Trait_' - ); - - $classTemplate = $this->getTemplate('trait_class.tpl'); - - $classTemplate->setVar( - [ - 'prologue' => '', - 'class_name' => $className['className'], - 'trait_name' => $traitName, - ] - ); - - return $this->getObject( - $classTemplate->render(), - $className['className'], - '', - $callOriginalConstructor, - $callAutoload, - $arguments - ); - } - - /** - * @param array|string $type - * @param array $methods - * @param string $mockClassName - * @param bool $callOriginalClone - * @param bool $callAutoload - * @param bool $cloneArguments - * @param bool $callOriginalMethods - * - * @throws \ReflectionException - * @throws \PHPUnit\Framework\MockObject\RuntimeException - * - * @return array - */ - public function generate($type, array $methods = null, $mockClassName = '', $callOriginalClone = true, $callAutoload = true, $cloneArguments = true, $callOriginalMethods = false) - { - if (\is_array($type)) { - \sort($type); - } - - if ($mockClassName !== '') { - return $this->generateMock( - $type, - $methods, - $mockClassName, - $callOriginalClone, - $callAutoload, - $cloneArguments, - $callOriginalMethods - ); - } - $key = \md5( - \is_array($type) ? \implode('_', $type) : $type . - \serialize($methods) . - \serialize($callOriginalClone) . - \serialize($cloneArguments) . - \serialize($callOriginalMethods) - ); - - if (!isset(self::$cache[$key])) { - self::$cache[$key] = $this->generateMock( - $type, - $methods, - $mockClassName, - $callOriginalClone, - $callAutoload, - $cloneArguments, - $callOriginalMethods - ); - } - - return self::$cache[$key]; - } - - /** - * @param string $wsdlFile - * @param string $className - * - * @throws RuntimeException - * - * @return string - */ - public function generateClassFromWsdl($wsdlFile, $className, array $methods = [], array $options = []) - { - if (!\extension_loaded('soap')) { - throw new RuntimeException( - 'The SOAP extension is required to generate a mock object from WSDL.' - ); - } - - $options = \array_merge($options, ['cache_wsdl' => \WSDL_CACHE_NONE]); - $client = new SoapClient($wsdlFile, $options); - $_methods = \array_unique($client->__getFunctions()); - unset($client); - - \sort($_methods); - - $methodTemplate = $this->getTemplate('wsdl_method.tpl'); - $methodsBuffer = ''; - - foreach ($_methods as $method) { - \preg_match_all('/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*\(/', $method, $matches, \PREG_OFFSET_CAPTURE); - $lastFunction = \array_pop($matches[0]); - $nameStart = $lastFunction[1]; - $nameEnd = $nameStart + \strlen($lastFunction[0]) - 1; - $name = \str_replace('(', '', $lastFunction[0]); - - if (empty($methods) || \in_array($name, $methods, true)) { - $args = \explode( - ',', - \str_replace(')', '', \substr($method, $nameEnd + 1)) - ); - - foreach (\range(0, \count($args) - 1) as $i) { - $args[$i] = \substr($args[$i], \strpos($args[$i], '$')); - } - - $methodTemplate->setVar( - [ - 'method_name' => $name, - 'arguments' => \implode(', ', $args), - ] - ); - - $methodsBuffer .= $methodTemplate->render(); - } - } - - $optionsBuffer = '['; - - foreach ($options as $key => $value) { - $optionsBuffer .= $key . ' => ' . $value; - } - - $optionsBuffer .= ']'; - - $classTemplate = $this->getTemplate('wsdl_class.tpl'); - $namespace = ''; - - if (\strpos($className, '\\') !== false) { - $parts = \explode('\\', $className); - $className = \array_pop($parts); - $namespace = 'namespace ' . \implode('\\', $parts) . ';' . "\n\n"; - } - - $classTemplate->setVar( - [ - 'namespace' => $namespace, - 'class_name' => $className, - 'wsdl' => $wsdlFile, - 'options' => $optionsBuffer, - 'methods' => $methodsBuffer, - ] - ); - - return $classTemplate->render(); - } - - /** - * @param string $className - * - * @throws \ReflectionException - * - * @return string[] - */ - public function getClassMethods($className): array - { - $class = new ReflectionClass($className); - $methods = []; - - foreach ($class->getMethods() as $method) { - if ($method->isPublic() || $method->isAbstract()) { - $methods[] = $method->getName(); - } - } - - return $methods; - } - - /** - * @throws \ReflectionException - * - * @return MockMethod[] - */ - public function mockClassMethods(string $className, bool $callOriginalMethods, bool $cloneArguments): array - { - $class = new ReflectionClass($className); - $methods = []; - - foreach ($class->getMethods() as $method) { - if (($method->isPublic() || $method->isAbstract()) && $this->canMockMethod($method)) { - $methods[] = MockMethod::fromReflection($method, $callOriginalMethods, $cloneArguments); - } - } - - return $methods; - } - - /** - * @throws \ReflectionException - * - * @return \ReflectionMethod[] - */ - private function getInterfaceOwnMethods(string $interfaceName): array - { - $reflect = new ReflectionClass($interfaceName); - $methods = []; - - foreach ($reflect->getMethods() as $method) { - if ($method->getDeclaringClass()->getName() === $interfaceName) { - $methods[] = $method; - } - } - - return $methods; - } - - /** - * @param string $code - * @param string $className - * @param array|string $type - * @param bool $callOriginalConstructor - * @param bool $callAutoload - * @param bool $callOriginalMethods - * @param object $proxyTarget - * @param bool $returnValueGeneration - * - * @throws \ReflectionException - * @throws RuntimeException - * - * @return MockObject - */ - private function getObject($code, $className, $type = '', $callOriginalConstructor = false, $callAutoload = false, array $arguments = [], $callOriginalMethods = false, $proxyTarget = null, $returnValueGeneration = true) - { - $this->evalClass($code, $className); - - if ($callOriginalConstructor) { - if (\count($arguments) === 0) { - $object = new $className; - } else { - $class = new ReflectionClass($className); - $object = $class->newInstanceArgs($arguments); - } - } else { - try { - $instantiator = new Instantiator; - $object = $instantiator->instantiate($className); - } catch (InstantiatorException $exception) { - throw new RuntimeException($exception->getMessage()); - } - } - - if ($callOriginalMethods) { - if (!\is_object($proxyTarget)) { - if (\count($arguments) === 0) { - $proxyTarget = new $type; - } else { - $class = new ReflectionClass($type); - $proxyTarget = $class->newInstanceArgs($arguments); - } - } - - $object->__phpunit_setOriginalObject($proxyTarget); - } - - if ($object instanceof MockObject) { - $object->__phpunit_setReturnValueGeneration($returnValueGeneration); - } - - return $object; - } - - /** - * @param string $code - * @param string $className - */ - private function evalClass($code, $className): void - { - if (!\class_exists($className, false)) { - eval($code); - } - } - - /** - * @param array|string $type - * @param null|array $explicitMethods - * @param string $mockClassName - * @param bool $callOriginalClone - * @param bool $callAutoload - * @param bool $cloneArguments - * @param bool $callOriginalMethods - * - * @throws \InvalidArgumentException - * @throws \ReflectionException - * @throws RuntimeException - * - * @return array - */ - private function generateMock($type, $explicitMethods, $mockClassName, $callOriginalClone, $callAutoload, $cloneArguments, $callOriginalMethods) - { - $classTemplate = $this->getTemplate('mocked_class.tpl'); - - $additionalInterfaces = []; - $cloneTemplate = ''; - $isClass = false; - $isInterface = false; - $class = null; - $mockMethods = new MockMethodSet; - - if (\is_array($type)) { - $interfaceMethods = []; - - foreach ($type as $_type) { - if (!\interface_exists($_type, $callAutoload)) { - throw new RuntimeException( - \sprintf( - 'Interface "%s" does not exist.', - $_type - ) - ); - } - - $additionalInterfaces[] = $_type; - $typeClass = new ReflectionClass($_type); - - foreach ($this->getClassMethods($_type) as $method) { - if (\in_array($method, $interfaceMethods, true)) { - throw new RuntimeException( - \sprintf( - 'Duplicate method "%s" not allowed.', - $method - ) - ); - } - - $methodReflection = $typeClass->getMethod($method); - - if ($this->canMockMethod($methodReflection)) { - $mockMethods->addMethods( - MockMethod::fromReflection($methodReflection, $callOriginalMethods, $cloneArguments) - ); - - $interfaceMethods[] = $method; - } - } - } - - unset($interfaceMethods); - } - - $mockClassName = $this->generateClassName( - $type, - $mockClassName, - 'Mock_' - ); - - if (\class_exists($mockClassName['fullClassName'], $callAutoload)) { - $isClass = true; - } elseif (\interface_exists($mockClassName['fullClassName'], $callAutoload)) { - $isInterface = true; - } - - if (!$isClass && !$isInterface) { - $prologue = 'class ' . $mockClassName['originalClassName'] . "\n{\n}\n\n"; - - if (!empty($mockClassName['namespaceName'])) { - $prologue = 'namespace ' . $mockClassName['namespaceName'] . - " {\n\n" . $prologue . "}\n\n" . - "namespace {\n\n"; - - $epilogue = "\n\n}"; - } - - $cloneTemplate = $this->getTemplate('mocked_clone.tpl'); - } else { - $class = new ReflectionClass($mockClassName['fullClassName']); - - if ($class->isFinal()) { - throw new RuntimeException( - \sprintf( - 'Class "%s" is declared "final" and cannot be mocked.', - $mockClassName['fullClassName'] - ) - ); - } - - // @see https://github.com/sebastianbergmann/phpunit/issues/2995 - if ($isInterface && $class->implementsInterface(\Throwable::class)) { - $actualClassName = \Exception::class; - $additionalInterfaces[] = $class->getName(); - $isInterface = false; - - try { - $class = new \ReflectionClass($actualClassName); - } catch (\ReflectionException $e) { - throw new RuntimeException( - $e->getMessage(), - (int) $e->getCode(), - $e - ); - } - - foreach ($this->getInterfaceOwnMethods($mockClassName['fullClassName']) as $method) { - $methodName = $method->getName(); - - if ($class->hasMethod($methodName)) { - try { - $classMethod = $class->getMethod($methodName); - } catch (\ReflectionException $e) { - throw new RuntimeException( - $e->getMessage(), - (int) $e->getCode(), - $e - ); - } - - if (!$this->canMockMethod($classMethod)) { - continue; - } - } - - $mockMethods->addMethods( - MockMethod::fromReflection($method, $callOriginalMethods, $cloneArguments) - ); - } - - $mockClassName = $this->generateClassName( - $actualClassName, - '', - 'Mock_' - ); - } - - // https://github.com/sebastianbergmann/phpunit-mock-objects/issues/103 - if ($isInterface && $class->implementsInterface(Traversable::class) && - !$class->implementsInterface(Iterator::class) && - !$class->implementsInterface(IteratorAggregate::class)) { - $additionalInterfaces[] = Iterator::class; - - $mockMethods->addMethods( - ...$this->mockClassMethods(Iterator::class, $callOriginalMethods, $cloneArguments) - ); - } - - if ($class->hasMethod('__clone')) { - $cloneMethod = $class->getMethod('__clone'); - - if (!$cloneMethod->isFinal()) { - if ($callOriginalClone && !$isInterface) { - $cloneTemplate = $this->getTemplate('unmocked_clone.tpl'); - } else { - $cloneTemplate = $this->getTemplate('mocked_clone.tpl'); - } - } - } else { - $cloneTemplate = $this->getTemplate('mocked_clone.tpl'); - } - } - - if (\is_object($cloneTemplate)) { - $cloneTemplate = $cloneTemplate->render(); - } - - if ($explicitMethods === [] && - ($isClass || $isInterface)) { - $mockMethods->addMethods( - ...$this->mockClassMethods($mockClassName['fullClassName'], $callOriginalMethods, $cloneArguments) - ); - } - - if (\is_array($explicitMethods)) { - foreach ($explicitMethods as $methodName) { - if ($class !== null && $class->hasMethod($methodName)) { - $method = $class->getMethod($methodName); - - if ($this->canMockMethod($method)) { - $mockMethods->addMethods( - MockMethod::fromReflection($method, $callOriginalMethods, $cloneArguments) - ); - } - } else { - $mockMethods->addMethods( - MockMethod::fromName( - $mockClassName['fullClassName'], - $methodName, - $cloneArguments - ) - ); - } - } - } - - $mockedMethods = ''; - $configurable = []; - - /** @var MockMethod $mockMethod */ - foreach ($mockMethods->asArray() as $mockMethod) { - $mockedMethods .= $mockMethod->generateCode(); - $configurable[] = \strtolower($mockMethod->getName()); - } - - $method = ''; - - if (!$mockMethods->hasMethod('method') && (!isset($class) || !$class->hasMethod('method'))) { - $methodTemplate = $this->getTemplate('mocked_class_method.tpl'); - - $method = $methodTemplate->render(); - } - - $classTemplate->setVar( - [ - 'prologue' => $prologue ?? '', - 'epilogue' => $epilogue ?? '', - 'class_declaration' => $this->generateMockClassDeclaration( - $mockClassName, - $isInterface, - $additionalInterfaces - ), - 'clone' => $cloneTemplate, - 'mock_class_name' => $mockClassName['className'], - 'mocked_methods' => $mockedMethods, - 'method' => $method, - 'configurable' => '[' . \implode( - ', ', - \array_map( - function ($m) { - return '\'' . $m . '\''; - }, - $configurable - ) - ) . ']', - ] - ); - - return [ - 'code' => $classTemplate->render(), - 'mockClassName' => $mockClassName['className'], - ]; - } - - /** - * @param array|string $type - * @param string $className - * @param string $prefix - * - * @return array - */ - private function generateClassName($type, $className, $prefix) - { - if (\is_array($type)) { - $type = \implode('_', $type); - } - - if ($type[0] === '\\') { - $type = \substr($type, 1); - } - - $classNameParts = \explode('\\', $type); - - if (\count($classNameParts) > 1) { - $type = \array_pop($classNameParts); - $namespaceName = \implode('\\', $classNameParts); - $fullClassName = $namespaceName . '\\' . $type; - } else { - $namespaceName = ''; - $fullClassName = $type; - } - - if ($className === '') { - do { - $className = $prefix . $type . '_' . - \substr(\md5(\mt_rand()), 0, 8); - } while (\class_exists($className, false)); - } - - return [ - 'className' => $className, - 'originalClassName' => $type, - 'fullClassName' => $fullClassName, - 'namespaceName' => $namespaceName, - ]; - } - - /** - * @param bool $isInterface - * - * @return string - */ - private function generateMockClassDeclaration(array $mockClassName, $isInterface, array $additionalInterfaces = []) - { - $buffer = 'class '; - - $additionalInterfaces[] = MockObject::class; - $interfaces = \implode(', ', $additionalInterfaces); - - if ($isInterface) { - $buffer .= \sprintf( - '%s implements %s', - $mockClassName['className'], - $interfaces - ); - - if (!\in_array($mockClassName['originalClassName'], $additionalInterfaces)) { - $buffer .= ', '; - - if (!empty($mockClassName['namespaceName'])) { - $buffer .= $mockClassName['namespaceName'] . '\\'; - } - - $buffer .= $mockClassName['originalClassName']; - } - } else { - $buffer .= \sprintf( - '%s extends %s%s implements %s', - $mockClassName['className'], - !empty($mockClassName['namespaceName']) ? $mockClassName['namespaceName'] . '\\' : '', - $mockClassName['originalClassName'], - $interfaces - ); - } - - return $buffer; - } - - /** - * @return bool - */ - private function canMockMethod(ReflectionMethod $method) - { - return !($method->isConstructor() || $method->isFinal() || $method->isPrivate() || $this->isMethodNameBlacklisted($method->getName())); - } - - /** - * Returns whether a method name is blacklisted - * - * @param string $name - * - * @return bool - */ - private function isMethodNameBlacklisted($name) - { - return isset(self::BLACKLISTED_METHOD_NAMES[$name]); - } - - /** - * @param string $template - * - * @throws \InvalidArgumentException - * - * @return Text_Template - */ - private function getTemplate($template) - { - $filename = __DIR__ . \DIRECTORY_SEPARATOR . 'Generator' . \DIRECTORY_SEPARATOR . $template; - - if (!isset(self::$templates[$filename])) { - self::$templates[$filename] = new Text_Template($filename); - } - - return self::$templates[$filename]; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/deprecation.tpl.dist b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/deprecation.tpl.dist deleted file mode 100644 index 5bf06f5..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/deprecation.tpl.dist +++ /dev/null @@ -1,2 +0,0 @@ - - @trigger_error({deprecation}, E_USER_DEPRECATED); diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/mocked_class.tpl.dist b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/mocked_class.tpl.dist deleted file mode 100644 index 4b68a2b..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/mocked_class.tpl.dist +++ /dev/null @@ -1,46 +0,0 @@ -{prologue}{class_declaration} -{ - private $__phpunit_invocationMocker; - private $__phpunit_originalObject; - private $__phpunit_configurable = {configurable}; - private $__phpunit_returnValueGeneration = true; - -{clone}{mocked_methods} - public function expects(\PHPUnit\Framework\MockObject\Matcher\Invocation $matcher) - { - return $this->__phpunit_getInvocationMocker()->expects($matcher); - } -{method} - public function __phpunit_setOriginalObject($originalObject) - { - $this->__phpunit_originalObject = $originalObject; - } - - public function __phpunit_setReturnValueGeneration(bool $returnValueGeneration) - { - $this->__phpunit_returnValueGeneration = $returnValueGeneration; - } - - public function __phpunit_getInvocationMocker() - { - if ($this->__phpunit_invocationMocker === null) { - $this->__phpunit_invocationMocker = new \PHPUnit\Framework\MockObject\InvocationMocker($this->__phpunit_configurable, $this->__phpunit_returnValueGeneration); - } - - return $this->__phpunit_invocationMocker; - } - - public function __phpunit_hasMatchers() - { - return $this->__phpunit_getInvocationMocker()->hasMatchers(); - } - - public function __phpunit_verify(bool $unsetInvocationMocker = true) - { - $this->__phpunit_getInvocationMocker()->verify(); - - if ($unsetInvocationMocker) { - $this->__phpunit_invocationMocker = null; - } - } -}{epilogue} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/mocked_class_method.tpl.dist b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/mocked_class_method.tpl.dist deleted file mode 100644 index d6a036f..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/mocked_class_method.tpl.dist +++ /dev/null @@ -1,8 +0,0 @@ - - public function method() - { - $any = new \PHPUnit\Framework\MockObject\Matcher\AnyInvokedCount; - $expects = $this->expects($any); - - return call_user_func_array([$expects, 'method'], func_get_args()); - } diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/mocked_clone.tpl.dist b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/mocked_clone.tpl.dist deleted file mode 100644 index bd846de..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/mocked_clone.tpl.dist +++ /dev/null @@ -1,4 +0,0 @@ - public function __clone() - { - $this->__phpunit_invocationMocker = clone $this->__phpunit_getInvocationMocker(); - } diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/mocked_method.tpl.dist b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/mocked_method.tpl.dist deleted file mode 100644 index 3adf2f0..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/mocked_method.tpl.dist +++ /dev/null @@ -1,22 +0,0 @@ - - {modifier} function {reference}{method_name}({arguments_decl}){return_delim}{return_type} - {{deprecation} - $__phpunit_arguments = [{arguments_call}]; - $__phpunit_count = func_num_args(); - - if ($__phpunit_count > {arguments_count}) { - $__phpunit_arguments_tmp = func_get_args(); - - for ($__phpunit_i = {arguments_count}; $__phpunit_i < $__phpunit_count; $__phpunit_i++) { - $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i]; - } - } - - $__phpunit_result = $this->__phpunit_getInvocationMocker()->invoke( - new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation( - '{class_name}', '{method_name}', $__phpunit_arguments, '{return_type}', $this, {clone_arguments} - ) - ); - - return $__phpunit_result; - } diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/mocked_method_void.tpl.dist b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/mocked_method_void.tpl.dist deleted file mode 100644 index 3813fe4..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/mocked_method_void.tpl.dist +++ /dev/null @@ -1,20 +0,0 @@ - - {modifier} function {reference}{method_name}({arguments_decl}){return_delim}{return_type} - {{deprecation} - $__phpunit_arguments = [{arguments_call}]; - $__phpunit_count = func_num_args(); - - if ($__phpunit_count > {arguments_count}) { - $__phpunit_arguments_tmp = func_get_args(); - - for ($__phpunit_i = {arguments_count}; $__phpunit_i < $__phpunit_count; $__phpunit_i++) { - $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i]; - } - } - - $this->__phpunit_getInvocationMocker()->invoke( - new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation( - '{class_name}', '{method_name}', $__phpunit_arguments, '{return_type}', $this, {clone_arguments} - ) - ); - } diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/mocked_static_method.tpl.dist b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/mocked_static_method.tpl.dist deleted file mode 100644 index 56b561b..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/mocked_static_method.tpl.dist +++ /dev/null @@ -1,5 +0,0 @@ - - {modifier} function {reference}{method_name}({arguments_decl}){return_delim}{return_type} - { - throw new \PHPUnit\Framework\MockObject\BadMethodCallException('Static method "{method_name}" cannot be invoked on mock object'); - } diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/proxied_method.tpl.dist b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/proxied_method.tpl.dist deleted file mode 100644 index 4dd87cd..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/proxied_method.tpl.dist +++ /dev/null @@ -1,26 +0,0 @@ - - {modifier} function {reference}{method_name}({arguments_decl}){return_delim}{return_type} - { - $__phpunit_arguments = [{arguments_call}]; - $__phpunit_count = func_num_args(); - - if ($__phpunit_count > {arguments_count}) { - $__phpunit_arguments_tmp = func_get_args(); - - for ($__phpunit_i = {arguments_count}; $__phpunit_i < $__phpunit_count; $__phpunit_i++) { - $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i]; - } - } - - $__phpunit_invocation = new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation( - '{class_name}', '{method_name}', $__phpunit_arguments, '{return_type}', $this, {clone_arguments} - ); - - $__phpunit_invocation->setProxiedCall(); - - $this->__phpunit_getInvocationMocker()->invoke($__phpunit_invocation); - - unset($__phpunit_invocation); - - return call_user_func_array(array($this->__phpunit_originalObject, "{method_name}"), $__phpunit_arguments); - } diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/proxied_method_void.tpl.dist b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/proxied_method_void.tpl.dist deleted file mode 100644 index 0d868f2..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/proxied_method_void.tpl.dist +++ /dev/null @@ -1,26 +0,0 @@ - - {modifier} function {reference}{method_name}({arguments_decl}){return_delim}{return_type} - { - $__phpunit_arguments = [{arguments_call}]; - $__phpunit_count = func_num_args(); - - if ($__phpunit_count > {arguments_count}) { - $__phpunit_arguments_tmp = func_get_args(); - - for ($__phpunit_i = {arguments_count}; $__phpunit_i < $__phpunit_count; $__phpunit_i++) { - $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i]; - } - } - - $__phpunit_invocation = new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation( - '{class_name}', '{method_name}', $__phpunit_arguments, '{return_type}', $this, {clone_arguments} - ); - - $__phpunit_invocation->setProxiedCall(); - - $this->__phpunit_getInvocationMocker()->invoke($__phpunit_invocation); - - unset($__phpunit_invocation); - - call_user_func_array(array($this->__phpunit_originalObject, "{method_name}"), $__phpunit_arguments); - } diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/trait_class.tpl.dist b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/trait_class.tpl.dist deleted file mode 100644 index 4143b0f..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/trait_class.tpl.dist +++ /dev/null @@ -1,4 +0,0 @@ -{prologue}class {class_name} -{ - use {trait_name}; -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/unmocked_clone.tpl.dist b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/unmocked_clone.tpl.dist deleted file mode 100644 index fa0e70a..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/unmocked_clone.tpl.dist +++ /dev/null @@ -1,5 +0,0 @@ - public function __clone() - { - $this->__phpunit_invocationMocker = clone $this->__phpunit_getInvocationMocker(); - parent::__clone(); - } diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/wsdl_class.tpl.dist b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/wsdl_class.tpl.dist deleted file mode 100644 index cc69fd3..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/wsdl_class.tpl.dist +++ /dev/null @@ -1,7 +0,0 @@ -{namespace}class {class_name} extends \SoapClient -{ - public function __construct($wsdl, array $options) - { - parent::__construct('{wsdl}', $options); - } -{methods}} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/wsdl_method.tpl.dist b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/wsdl_method.tpl.dist deleted file mode 100644 index bb16e76..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/wsdl_method.tpl.dist +++ /dev/null @@ -1,4 +0,0 @@ - - public function {method_name}({arguments}) - { - } diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Invocation/Invocation.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Invocation/Invocation.php deleted file mode 100644 index 7373867..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Invocation/Invocation.php +++ /dev/null @@ -1,31 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\MockObject; - -/** - * Interface for invocations. - */ -interface Invocation -{ - /** - * @return mixed mocked return value - */ - public function generateReturnValue(); - - public function getClassName(): string; - - public function getMethodName(): string; - - public function getParameters(): array; - - public function getReturnType(): string; - - public function isReturnTypeNullable(): bool; -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Invocation/ObjectInvocation.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Invocation/ObjectInvocation.php deleted file mode 100644 index eb4475f..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Invocation/ObjectInvocation.php +++ /dev/null @@ -1,40 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\MockObject\Invocation; - -/** - * Represents a non-static invocation. - */ -class ObjectInvocation extends StaticInvocation -{ - /** - * @var object - */ - private $object; - - /** - * @param string $className - * @param string $methodName - * @param string $returnType - * @param object $object - * @param bool $cloneObjects - */ - public function __construct($className, $methodName, array $parameters, $returnType, $object, $cloneObjects = false) - { - parent::__construct($className, $methodName, $parameters, $returnType, $cloneObjects); - - $this->object = $object; - } - - public function getObject() - { - return $this->object; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Invocation/StaticInvocation.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Invocation/StaticInvocation.php deleted file mode 100644 index 7d87488..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Invocation/StaticInvocation.php +++ /dev/null @@ -1,268 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\MockObject\Invocation; - -use PHPUnit\Framework\MockObject\Generator; -use PHPUnit\Framework\MockObject\Invocation; -use PHPUnit\Framework\SelfDescribing; -use ReflectionObject; -use SebastianBergmann\Exporter\Exporter; - -/** - * Represents a static invocation. - */ -class StaticInvocation implements Invocation, SelfDescribing -{ - /** - * @var array - */ - private static $uncloneableExtensions = [ - 'mysqli' => true, - 'SQLite' => true, - 'sqlite3' => true, - 'tidy' => true, - 'xmlwriter' => true, - 'xsl' => true, - ]; - - /** - * @var array - */ - private static $uncloneableClasses = [ - 'Closure', - 'COMPersistHelper', - 'IteratorIterator', - 'RecursiveIteratorIterator', - 'SplFileObject', - 'PDORow', - 'ZipArchive', - ]; - - /** - * @var string - */ - private $className; - - /** - * @var string - */ - private $methodName; - - /** - * @var array - */ - private $parameters; - - /** - * @var string - */ - private $returnType; - - /** - * @var bool - */ - private $isReturnTypeNullable = false; - - /** - * @var bool - */ - private $proxiedCall = false; - - /** - * @param string $className - * @param string $methodName - * @param string $returnType - * @param bool $cloneObjects - */ - public function __construct($className, $methodName, array $parameters, $returnType, $cloneObjects = false) - { - $this->className = $className; - $this->methodName = $methodName; - $this->parameters = $parameters; - - if (\strtolower($methodName) === '__tostring') { - $returnType = 'string'; - } - - if (\strpos($returnType, '?') === 0) { - $returnType = \substr($returnType, 1); - $this->isReturnTypeNullable = true; - } - - $this->returnType = $returnType; - - if (!$cloneObjects) { - return; - } - - foreach ($this->parameters as $key => $value) { - if (\is_object($value)) { - $this->parameters[$key] = $this->cloneObject($value); - } - } - } - - public function getClassName(): string - { - return $this->className; - } - - public function getMethodName(): string - { - return $this->methodName; - } - - public function getParameters(): array - { - return $this->parameters; - } - - public function getReturnType(): string - { - return $this->returnType; - } - - public function isReturnTypeNullable(): bool - { - return $this->isReturnTypeNullable; - } - - /** - * @throws \ReflectionException - * @throws \PHPUnit\Framework\MockObject\RuntimeException - * @throws \PHPUnit\Framework\Exception - * - * @return mixed Mocked return value - */ - public function generateReturnValue() - { - if ($this->isReturnTypeNullable || $this->proxiedCall) { - return; - } - - switch (\strtolower($this->returnType)) { - case '': - case 'void': - return; - - case 'string': - return ''; - - case 'float': - return 0.0; - - case 'int': - return 0; - - case 'bool': - return false; - - case 'array': - return []; - - case 'object': - return new \stdClass; - - case 'callable': - case 'closure': - return function (): void { - }; - - case 'traversable': - case 'generator': - case 'iterable': - $generator = function () { - yield; - }; - - return $generator(); - - default: - $generator = new Generator; - - return $generator->getMock($this->returnType, [], [], '', false); - } - } - - public function setProxiedCall(): void - { - $this->proxiedCall = true; - } - - public function toString(): string - { - $exporter = new Exporter; - - return \sprintf( - '%s::%s(%s)%s', - $this->className, - $this->methodName, - \implode( - ', ', - \array_map( - [$exporter, 'shortenedExport'], - $this->parameters - ) - ), - $this->returnType ? \sprintf(': %s', $this->returnType) : '' - ); - } - - /** - * @param object $original - * - * @return object - */ - private function cloneObject($original) - { - $cloneable = null; - $object = new ReflectionObject($original); - - // Check the blacklist before asking PHP reflection to work around - // https://bugs.php.net/bug.php?id=53967 - if ($object->isInternal() && - isset(self::$uncloneableExtensions[$object->getExtensionName()])) { - $cloneable = false; - } - - if ($cloneable === null) { - foreach (self::$uncloneableClasses as $class) { - if ($original instanceof $class) { - $cloneable = false; - - break; - } - } - } - - if ($cloneable === null) { - $cloneable = $object->isCloneable(); - } - - if ($cloneable === null && $object->hasMethod('__clone')) { - $method = $object->getMethod('__clone'); - $cloneable = $method->isPublic(); - } - - if ($cloneable === null) { - $cloneable = true; - } - - if ($cloneable) { - try { - return clone $original; - } catch (\Exception $e) { - return $original; - } - } else { - return $original; - } - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/InvocationMocker.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/InvocationMocker.php deleted file mode 100644 index 72e59b1..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/InvocationMocker.php +++ /dev/null @@ -1,186 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\MockObject; - -use Exception; -use PHPUnit\Framework\ExpectationFailedException; -use PHPUnit\Framework\MockObject\Builder\InvocationMocker as BuilderInvocationMocker; -use PHPUnit\Framework\MockObject\Builder\Match; -use PHPUnit\Framework\MockObject\Builder\NamespaceMatch; -use PHPUnit\Framework\MockObject\Matcher\DeferredError; -use PHPUnit\Framework\MockObject\Matcher\Invocation as MatcherInvocation; -use PHPUnit\Framework\MockObject\Stub\MatcherCollection; - -/** - * Mocker for invocations which are sent from - * MockObject objects. - * - * Keeps track of all expectations and stubs as well as registering - * identifications for builders. - */ -class InvocationMocker implements Invokable, MatcherCollection, NamespaceMatch -{ - /** - * @var MatcherInvocation[] - */ - private $matchers = []; - - /** - * @var Match[] - */ - private $builderMap = []; - - /** - * @var string[] - */ - private $configurableMethods; - - /** - * @var bool - */ - private $returnValueGeneration; - - public function __construct(array $configurableMethods, bool $returnValueGeneration) - { - $this->configurableMethods = $configurableMethods; - $this->returnValueGeneration = $returnValueGeneration; - } - - public function addMatcher(MatcherInvocation $matcher): void - { - $this->matchers[] = $matcher; - } - - public function hasMatchers() - { - foreach ($this->matchers as $matcher) { - if ($matcher->hasMatchers()) { - return true; - } - } - - return false; - } - - /** - * @return null|bool - */ - public function lookupId($id) - { - if (isset($this->builderMap[$id])) { - return $this->builderMap[$id]; - } - } - - /** - * @throws RuntimeException - */ - public function registerId($id, Match $builder): void - { - if (isset($this->builderMap[$id])) { - throw new RuntimeException( - 'Match builder with id <' . $id . '> is already registered.' - ); - } - - $this->builderMap[$id] = $builder; - } - - /** - * @return BuilderInvocationMocker - */ - public function expects(MatcherInvocation $matcher) - { - return new BuilderInvocationMocker( - $this, - $matcher, - $this->configurableMethods - ); - } - - /** - * @throws Exception - */ - public function invoke(Invocation $invocation) - { - $exception = null; - $hasReturnValue = false; - $returnValue = null; - - foreach ($this->matchers as $match) { - try { - if ($match->matches($invocation)) { - $value = $match->invoked($invocation); - - if (!$hasReturnValue) { - $returnValue = $value; - $hasReturnValue = true; - } - } - } catch (Exception $e) { - $exception = $e; - } - } - - if ($exception !== null) { - throw $exception; - } - - if ($hasReturnValue) { - return $returnValue; - } - - if ($this->returnValueGeneration === false) { - $exception = new ExpectationFailedException( - \sprintf( - 'Return value inference disabled and no expectation set up for %s::%s()', - $invocation->getClassName(), - $invocation->getMethodName() - ) - ); - - if (\strtolower($invocation->getMethodName()) === '__tostring') { - $this->addMatcher(new DeferredError($exception)); - - return ''; - } - - throw $exception; - } - - return $invocation->generateReturnValue(); - } - - /** - * @return bool - */ - public function matches(Invocation $invocation) - { - foreach ($this->matchers as $matcher) { - if (!$matcher->matches($invocation)) { - return false; - } - } - - return true; - } - - /** - * @throws \PHPUnit\Framework\ExpectationFailedException - * - * @return bool - */ - public function verify() - { - foreach ($this->matchers as $matcher) { - $matcher->verify(); - } - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Invokable.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Invokable.php deleted file mode 100644 index 3411895..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Invokable.php +++ /dev/null @@ -1,38 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\MockObject; - -/** - * Interface for classes which can be invoked. - * - * The invocation will be taken from a mock object and passed to an object - * of this class. - */ -interface Invokable extends Verifiable -{ - /** - * Invokes the invocation object $invocation so that it can be checked for - * expectations or matched against stubs. - * - * @param Invocation $invocation The invocation object passed from mock object - * - * @return object - */ - public function invoke(Invocation $invocation); - - /** - * Checks if the invocation matches. - * - * @param Invocation $invocation The invocation object passed from mock object - * - * @return bool - */ - public function matches(Invocation $invocation); -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Matcher.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Matcher.php deleted file mode 100644 index e0552a6..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Matcher.php +++ /dev/null @@ -1,309 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\MockObject; - -use PHPUnit\Framework\ExpectationFailedException; -use PHPUnit\Framework\MockObject\Matcher\AnyInvokedCount; -use PHPUnit\Framework\MockObject\Matcher\AnyParameters; -use PHPUnit\Framework\MockObject\Matcher\Invocation as MatcherInvocation; -use PHPUnit\Framework\MockObject\Matcher\InvokedCount; -use PHPUnit\Framework\MockObject\Matcher\MethodName; -use PHPUnit\Framework\MockObject\Matcher\Parameters; -use PHPUnit\Framework\TestFailure; - -/** - * Main matcher which defines a full expectation using method, parameter and - * invocation matchers. - * This matcher encapsulates all the other matchers and allows the builder to - * set the specific matchers when the appropriate methods are called (once(), - * where() etc.). - * - * All properties are public so that they can easily be accessed by the builder. - */ -class Matcher implements MatcherInvocation -{ - /** - * @var MatcherInvocation - */ - private $invocationMatcher; - - /** - * @var mixed - */ - private $afterMatchBuilderId; - - /** - * @var bool - */ - private $afterMatchBuilderIsInvoked = false; - - /** - * @var MethodName - */ - private $methodNameMatcher; - - /** - * @var Parameters - */ - private $parametersMatcher; - - /** - * @var Stub - */ - private $stub; - - public function __construct(MatcherInvocation $invocationMatcher) - { - $this->invocationMatcher = $invocationMatcher; - } - - public function hasMatchers(): bool - { - return $this->invocationMatcher !== null && !$this->invocationMatcher instanceof AnyInvokedCount; - } - - public function hasMethodNameMatcher(): bool - { - return $this->methodNameMatcher !== null; - } - - public function getMethodNameMatcher(): MethodName - { - return $this->methodNameMatcher; - } - - public function setMethodNameMatcher(MethodName $matcher): void - { - $this->methodNameMatcher = $matcher; - } - - public function hasParametersMatcher(): bool - { - return $this->parametersMatcher !== null; - } - - public function getParametersMatcher(): Parameters - { - return $this->parametersMatcher; - } - - public function setParametersMatcher($matcher): void - { - $this->parametersMatcher = $matcher; - } - - public function setStub($stub): void - { - $this->stub = $stub; - } - - public function setAfterMatchBuilderId($id): void - { - $this->afterMatchBuilderId = $id; - } - - /** - * @throws \Exception - * @throws RuntimeException - * @throws ExpectationFailedException - */ - public function invoked(Invocation $invocation) - { - if ($this->invocationMatcher === null) { - throw new RuntimeException( - 'No invocation matcher is set' - ); - } - - if ($this->methodNameMatcher === null) { - throw new RuntimeException('No method matcher is set'); - } - - if ($this->afterMatchBuilderId !== null) { - $builder = $invocation->getObject() - ->__phpunit_getInvocationMocker() - ->lookupId($this->afterMatchBuilderId); - - if (!$builder) { - throw new RuntimeException( - \sprintf( - 'No builder found for match builder identification <%s>', - $this->afterMatchBuilderId - ) - ); - } - - $matcher = $builder->getMatcher(); - - if ($matcher && $matcher->invocationMatcher->hasBeenInvoked()) { - $this->afterMatchBuilderIsInvoked = true; - } - } - - $this->invocationMatcher->invoked($invocation); - - try { - if ($this->parametersMatcher !== null && - !$this->parametersMatcher->matches($invocation)) { - $this->parametersMatcher->verify(); - } - } catch (ExpectationFailedException $e) { - throw new ExpectationFailedException( - \sprintf( - "Expectation failed for %s when %s\n%s", - $this->methodNameMatcher->toString(), - $this->invocationMatcher->toString(), - $e->getMessage() - ), - $e->getComparisonFailure() - ); - } - - if ($this->stub) { - return $this->stub->invoke($invocation); - } - - return $invocation->generateReturnValue(); - } - - /** - * @throws RuntimeException - * @throws ExpectationFailedException - * - * @return bool - */ - public function matches(Invocation $invocation) - { - if ($this->afterMatchBuilderId !== null) { - $builder = $invocation->getObject() - ->__phpunit_getInvocationMocker() - ->lookupId($this->afterMatchBuilderId); - - if (!$builder) { - throw new RuntimeException( - \sprintf( - 'No builder found for match builder identification <%s>', - $this->afterMatchBuilderId - ) - ); - } - - $matcher = $builder->getMatcher(); - - if (!$matcher) { - return false; - } - - if (!$matcher->invocationMatcher->hasBeenInvoked()) { - return false; - } - } - - if ($this->invocationMatcher === null) { - throw new RuntimeException( - 'No invocation matcher is set' - ); - } - - if ($this->methodNameMatcher === null) { - throw new RuntimeException('No method matcher is set'); - } - - if (!$this->invocationMatcher->matches($invocation)) { - return false; - } - - try { - if (!$this->methodNameMatcher->matches($invocation)) { - return false; - } - } catch (ExpectationFailedException $e) { - throw new ExpectationFailedException( - \sprintf( - "Expectation failed for %s when %s\n%s", - $this->methodNameMatcher->toString(), - $this->invocationMatcher->toString(), - $e->getMessage() - ), - $e->getComparisonFailure() - ); - } - - return true; - } - - /** - * @throws RuntimeException - * @throws ExpectationFailedException - */ - public function verify(): void - { - if ($this->invocationMatcher === null) { - throw new RuntimeException( - 'No invocation matcher is set' - ); - } - - if ($this->methodNameMatcher === null) { - throw new RuntimeException('No method matcher is set'); - } - - try { - $this->invocationMatcher->verify(); - - if ($this->parametersMatcher === null) { - $this->parametersMatcher = new AnyParameters; - } - - $invocationIsAny = $this->invocationMatcher instanceof AnyInvokedCount; - $invocationIsNever = $this->invocationMatcher instanceof InvokedCount && $this->invocationMatcher->isNever(); - - if (!$invocationIsAny && !$invocationIsNever) { - $this->parametersMatcher->verify(); - } - } catch (ExpectationFailedException $e) { - throw new ExpectationFailedException( - \sprintf( - "Expectation failed for %s when %s.\n%s", - $this->methodNameMatcher->toString(), - $this->invocationMatcher->toString(), - TestFailure::exceptionToString($e) - ) - ); - } - } - - public function toString(): string - { - $list = []; - - if ($this->invocationMatcher !== null) { - $list[] = $this->invocationMatcher->toString(); - } - - if ($this->methodNameMatcher !== null) { - $list[] = 'where ' . $this->methodNameMatcher->toString(); - } - - if ($this->parametersMatcher !== null) { - $list[] = 'and ' . $this->parametersMatcher->toString(); - } - - if ($this->afterMatchBuilderId !== null) { - $list[] = 'after ' . $this->afterMatchBuilderId; - } - - if ($this->stub !== null) { - $list[] = 'will ' . $this->stub->toString(); - } - - return \implode(' ', $list); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Matcher/AnyInvokedCount.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Matcher/AnyInvokedCount.php deleted file mode 100644 index ddabf92..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Matcher/AnyInvokedCount.php +++ /dev/null @@ -1,26 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\MockObject\Matcher; - -/** - * Invocation matcher which checks if a method has been invoked zero or more - * times. This matcher will always match. - */ -class AnyInvokedCount extends InvokedRecorder -{ - public function toString(): string - { - return 'invoked zero or more times'; - } - - public function verify(): void - { - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Matcher/AnyParameters.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Matcher/AnyParameters.php deleted file mode 100644 index 48eb561..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Matcher/AnyParameters.php +++ /dev/null @@ -1,31 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\MockObject\Matcher; - -use PHPUnit\Framework\MockObject\Invocation as BaseInvocation; - -/** - * Invocation matcher which allows any parameters to a method. - */ -class AnyParameters extends StatelessInvocation -{ - public function toString(): string - { - return 'with any parameters'; - } - - /** - * @return bool - */ - public function matches(BaseInvocation $invocation) - { - return true; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Matcher/ConsecutiveParameters.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Matcher/ConsecutiveParameters.php deleted file mode 100644 index dca7f48..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Matcher/ConsecutiveParameters.php +++ /dev/null @@ -1,137 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\MockObject\Matcher; - -use PHPUnit\Framework\Constraint\Constraint; -use PHPUnit\Framework\Constraint\IsEqual; -use PHPUnit\Framework\ExpectationFailedException; -use PHPUnit\Framework\InvalidParameterGroupException; -use PHPUnit\Framework\MockObject\Invocation as BaseInvocation; - -/** - * Invocation matcher which looks for sets of specific parameters in the invocations. - * - * Checks the parameters of the incoming invocations, the parameter list is - * checked against the defined constraints in $parameters. If the constraint - * is met it will return true in matches(). - * - * It takes a list of match groups and and increases a call index after each invocation. - * So the first invocation uses the first group of constraints, the second the next and so on. - */ -class ConsecutiveParameters extends StatelessInvocation -{ - /** - * @var array - */ - private $parameterGroups = []; - - /** - * @var array - */ - private $invocations = []; - - /** - * @throws \PHPUnit\Framework\Exception - */ - public function __construct(array $parameterGroups) - { - foreach ($parameterGroups as $index => $parameters) { - if (!\is_iterable($parameters)) { - throw new InvalidParameterGroupException( - \sprintf( - 'Parameter group #%d must be an array or Traversable, got %s', - $index, - \gettype($parameters) - ) - ); - } - - foreach ($parameters as $parameter) { - if (!$parameter instanceof Constraint) { - $parameter = new IsEqual($parameter); - } - - $this->parameterGroups[$index][] = $parameter; - } - } - } - - public function toString(): string - { - return 'with consecutive parameters'; - } - - /** - * @throws \PHPUnit\Framework\ExpectationFailedException - * - * @return bool - */ - public function matches(BaseInvocation $invocation) - { - $this->invocations[] = $invocation; - $callIndex = \count($this->invocations) - 1; - - $this->verifyInvocation($invocation, $callIndex); - - return false; - } - - public function verify(): void - { - foreach ($this->invocations as $callIndex => $invocation) { - $this->verifyInvocation($invocation, $callIndex); - } - } - - /** - * Verify a single invocation - * - * @param int $callIndex - * - * @throws ExpectationFailedException - */ - private function verifyInvocation(BaseInvocation $invocation, $callIndex): void - { - if (!isset($this->parameterGroups[$callIndex])) { - // no parameter assertion for this call index - return; - } - - if ($invocation === null) { - throw new ExpectationFailedException( - 'Mocked method does not exist.' - ); - } - - $parameters = $this->parameterGroups[$callIndex]; - - if (\count($invocation->getParameters()) < \count($parameters)) { - throw new ExpectationFailedException( - \sprintf( - 'Parameter count for invocation %s is too low.', - $invocation->toString() - ) - ); - } - - foreach ($parameters as $i => $parameter) { - $parameter->evaluate( - $invocation->getParameters()[$i], - \sprintf( - 'Parameter %s for invocation #%d %s does not match expected ' . - 'value.', - $i, - $callIndex, - $invocation->toString() - ) - ); - } - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Matcher/DeferredError.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Matcher/DeferredError.php deleted file mode 100644 index fae95e4..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Matcher/DeferredError.php +++ /dev/null @@ -1,40 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\MockObject\Matcher; - -use PHPUnit\Framework\MockObject\Invocation as BaseInvocation; - -class DeferredError extends StatelessInvocation -{ - /** - * @var \Throwable - */ - private $exception; - - public function __construct(\Throwable $exception) - { - $this->exception = $exception; - } - - public function verify(): void - { - throw $this->exception; - } - - public function toString(): string - { - return ''; - } - - public function matches(BaseInvocation $invocation): bool - { - return true; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Matcher/Invocation.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Matcher/Invocation.php deleted file mode 100644 index d3f93b2..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Matcher/Invocation.php +++ /dev/null @@ -1,47 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\MockObject\Matcher; - -use PHPUnit\Framework\MockObject\Invocation as BaseInvocation; -use PHPUnit\Framework\MockObject\Verifiable; -use PHPUnit\Framework\SelfDescribing; - -/** - * Interface for classes which matches an invocation based on its - * method name, argument, order or call count. - */ -interface Invocation extends SelfDescribing, Verifiable -{ - /** - * Registers the invocation $invocation in the object as being invoked. - * This will only occur after matches() returns true which means the - * current invocation is the correct one. - * - * The matcher can store information from the invocation which can later - * be checked in verify(), or it can check the values directly and throw - * and exception if an expectation is not met. - * - * If the matcher is a stub it will also have a return value. - * - * @param BaseInvocation $invocation Object containing information on a mocked or stubbed method which was invoked - */ - public function invoked(BaseInvocation $invocation); - - /** - * Checks if the invocation $invocation matches the current rules. If it does - * the matcher will get the invoked() method called which should check if an - * expectation is met. - * - * @param BaseInvocation $invocation Object containing information on a mocked or stubbed method which was invoked - * - * @return bool - */ - public function matches(BaseInvocation $invocation); -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Matcher/InvokedAtIndex.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Matcher/InvokedAtIndex.php deleted file mode 100644 index 2584ef3..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Matcher/InvokedAtIndex.php +++ /dev/null @@ -1,81 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\MockObject\Matcher; - -use PHPUnit\Framework\ExpectationFailedException; -use PHPUnit\Framework\MockObject\Invocation as BaseInvocation; - -/** - * Invocation matcher which checks if a method was invoked at a certain index. - * - * If the expected index number does not match the current invocation index it - * will not match which means it skips all method and parameter matching. Only - * once the index is reached will the method and parameter start matching and - * verifying. - * - * If the index is never reached it will throw an exception in index. - */ -class InvokedAtIndex implements Invocation -{ - /** - * @var int - */ - private $sequenceIndex; - - /** - * @var int - */ - private $currentIndex = -1; - - /** - * @param int $sequenceIndex - */ - public function __construct($sequenceIndex) - { - $this->sequenceIndex = $sequenceIndex; - } - - public function toString(): string - { - return 'invoked at sequence index ' . $this->sequenceIndex; - } - - /** - * @return bool - */ - public function matches(BaseInvocation $invocation) - { - $this->currentIndex++; - - return $this->currentIndex == $this->sequenceIndex; - } - - public function invoked(BaseInvocation $invocation): void - { - } - - /** - * Verifies that the current expectation is valid. If everything is OK the - * code should just return, if not it must throw an exception. - * - * @throws ExpectationFailedException - */ - public function verify(): void - { - if ($this->currentIndex < $this->sequenceIndex) { - throw new ExpectationFailedException( - \sprintf( - 'The expected invocation at index %s was never reached.', - $this->sequenceIndex - ) - ); - } - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Matcher/InvokedAtLeastCount.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Matcher/InvokedAtLeastCount.php deleted file mode 100644 index ada506f..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Matcher/InvokedAtLeastCount.php +++ /dev/null @@ -1,55 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\MockObject\Matcher; - -use PHPUnit\Framework\ExpectationFailedException; - -/** - * Invocation matcher which checks if a method has been invoked at least - * N times. - */ -class InvokedAtLeastCount extends InvokedRecorder -{ - /** - * @var int - */ - private $requiredInvocations; - - /** - * @param int $requiredInvocations - */ - public function __construct($requiredInvocations) - { - $this->requiredInvocations = $requiredInvocations; - } - - public function toString(): string - { - return 'invoked at least ' . $this->requiredInvocations . ' times'; - } - - /** - * Verifies that the current expectation is valid. If everything is OK the - * code should just return, if not it must throw an exception. - * - * @throws ExpectationFailedException - */ - public function verify(): void - { - $count = $this->getInvocationCount(); - - if ($count < $this->requiredInvocations) { - throw new ExpectationFailedException( - 'Expected invocation at least ' . $this->requiredInvocations . - ' times but it occurred ' . $count . ' time(s).' - ); - } - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Matcher/InvokedAtLeastOnce.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Matcher/InvokedAtLeastOnce.php deleted file mode 100644 index 33b6b8f..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Matcher/InvokedAtLeastOnce.php +++ /dev/null @@ -1,43 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\MockObject\Matcher; - -use PHPUnit\Framework\ExpectationFailedException; - -/** - * Invocation matcher which checks if a method has been invoked at least one - * time. - * - * If the number of invocations is 0 it will throw an exception in verify. - */ -class InvokedAtLeastOnce extends InvokedRecorder -{ - public function toString(): string - { - return 'invoked at least once'; - } - - /** - * Verifies that the current expectation is valid. If everything is OK the - * code should just return, if not it must throw an exception. - * - * @throws ExpectationFailedException - */ - public function verify(): void - { - $count = $this->getInvocationCount(); - - if ($count < 1) { - throw new ExpectationFailedException( - 'Expected invocation at least once but it never occurred.' - ); - } - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Matcher/InvokedAtMostCount.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Matcher/InvokedAtMostCount.php deleted file mode 100644 index 981ef36..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Matcher/InvokedAtMostCount.php +++ /dev/null @@ -1,55 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\MockObject\Matcher; - -use PHPUnit\Framework\ExpectationFailedException; - -/** - * Invocation matcher which checks if a method has been invoked at least - * N times. - */ -class InvokedAtMostCount extends InvokedRecorder -{ - /** - * @var int - */ - private $allowedInvocations; - - /** - * @param int $allowedInvocations - */ - public function __construct($allowedInvocations) - { - $this->allowedInvocations = $allowedInvocations; - } - - public function toString(): string - { - return 'invoked at most ' . $this->allowedInvocations . ' times'; - } - - /** - * Verifies that the current expectation is valid. If everything is OK the - * code should just return, if not it must throw an exception. - * - * @throws ExpectationFailedException - */ - public function verify(): void - { - $count = $this->getInvocationCount(); - - if ($count > $this->allowedInvocations) { - throw new ExpectationFailedException( - 'Expected invocation at most ' . $this->allowedInvocations . - ' times but it occurred ' . $count . ' time(s).' - ); - } - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Matcher/InvokedCount.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Matcher/InvokedCount.php deleted file mode 100644 index f4cb1ab..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Matcher/InvokedCount.php +++ /dev/null @@ -1,106 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\MockObject\Matcher; - -use PHPUnit\Framework\ExpectationFailedException; -use PHPUnit\Framework\MockObject\Invocation as BaseInvocation; - -/** - * Invocation matcher which checks if a method has been invoked a certain amount - * of times. - * If the number of invocations exceeds the value it will immediately throw an - * exception, - * If the number is less it will later be checked in verify() and also throw an - * exception. - */ -class InvokedCount extends InvokedRecorder -{ - /** - * @var int - */ - private $expectedCount; - - /** - * @param int $expectedCount - */ - public function __construct($expectedCount) - { - $this->expectedCount = $expectedCount; - } - - /** - * @return bool - */ - public function isNever() - { - return $this->expectedCount === 0; - } - - public function toString(): string - { - return 'invoked ' . $this->expectedCount . ' time(s)'; - } - - /** - * @throws ExpectationFailedException - */ - public function invoked(BaseInvocation $invocation): void - { - parent::invoked($invocation); - - $count = $this->getInvocationCount(); - - if ($count > $this->expectedCount) { - $message = $invocation->toString() . ' '; - - switch ($this->expectedCount) { - case 0: - $message .= 'was not expected to be called.'; - - break; - - case 1: - $message .= 'was not expected to be called more than once.'; - - break; - - default: - $message .= \sprintf( - 'was not expected to be called more than %d times.', - $this->expectedCount - ); - } - - throw new ExpectationFailedException($message); - } - } - - /** - * Verifies that the current expectation is valid. If everything is OK the - * code should just return, if not it must throw an exception. - * - * @throws ExpectationFailedException - */ - public function verify(): void - { - $count = $this->getInvocationCount(); - - if ($count !== $this->expectedCount) { - throw new ExpectationFailedException( - \sprintf( - 'Method was expected to be called %d times, ' . - 'actually called %d times.', - $this->expectedCount, - $count - ) - ); - } - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Matcher/InvokedRecorder.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Matcher/InvokedRecorder.php deleted file mode 100644 index 216aae7..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Matcher/InvokedRecorder.php +++ /dev/null @@ -1,63 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\MockObject\Matcher; - -use PHPUnit\Framework\MockObject\Invocation as BaseInvocation; - -/** - * Records invocations and provides convenience methods for checking them later - * on. - * This abstract class can be implemented by matchers which needs to check the - * number of times an invocation has occurred. - */ -abstract class InvokedRecorder implements Invocation -{ - /** - * @var BaseInvocation[] - */ - private $invocations = []; - - /** - * @return int - */ - public function getInvocationCount() - { - return \count($this->invocations); - } - - /** - * @return BaseInvocation[] - */ - public function getInvocations() - { - return $this->invocations; - } - - /** - * @return bool - */ - public function hasBeenInvoked() - { - return \count($this->invocations) > 0; - } - - public function invoked(BaseInvocation $invocation): void - { - $this->invocations[] = $invocation; - } - - /** - * @return bool - */ - public function matches(BaseInvocation $invocation) - { - return true; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Matcher/MethodName.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Matcher/MethodName.php deleted file mode 100644 index 7aea38a..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Matcher/MethodName.php +++ /dev/null @@ -1,68 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\MockObject\Matcher; - -use PHPUnit\Framework\Constraint\Constraint; -use PHPUnit\Framework\Constraint\IsEqual; -use PHPUnit\Framework\MockObject\Invocation as BaseInvocation; -use PHPUnit\Util\InvalidArgumentHelper; - -/** - * Invocation matcher which looks for a specific method name in the invocations. - * - * Checks the method name all incoming invocations, the name is checked against - * the defined constraint $constraint. If the constraint is met it will return - * true in matches(). - */ -class MethodName extends StatelessInvocation -{ - /** - * @var Constraint - */ - private $constraint; - - /** - * @param Constraint|string - * - * @throws Constraint - * @throws \PHPUnit\Framework\Exception - */ - public function __construct($constraint) - { - if (!$constraint instanceof Constraint) { - if (!\is_string($constraint)) { - throw InvalidArgumentHelper::factory(1, 'string'); - } - - $constraint = new IsEqual( - $constraint, - 0, - 10, - false, - true - ); - } - - $this->constraint = $constraint; - } - - public function toString(): string - { - return 'method name ' . $this->constraint->toString(); - } - - /** - * @return bool - */ - public function matches(BaseInvocation $invocation) - { - return $this->constraint->evaluate($invocation->getMethodName(), '', true); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Matcher/Parameters.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Matcher/Parameters.php deleted file mode 100644 index a74e3a3..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Matcher/Parameters.php +++ /dev/null @@ -1,158 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\MockObject\Matcher; - -use PHPUnit\Framework\Constraint\Constraint; -use PHPUnit\Framework\Constraint\IsAnything; -use PHPUnit\Framework\Constraint\IsEqual; -use PHPUnit\Framework\ExpectationFailedException; -use PHPUnit\Framework\MockObject\Invocation as BaseInvocation; - -/** - * Invocation matcher which looks for specific parameters in the invocations. - * - * Checks the parameters of all incoming invocations, the parameter list is - * checked against the defined constraints in $parameters. If the constraint - * is met it will return true in matches(). - */ -class Parameters extends StatelessInvocation -{ - /** - * @var Constraint[] - */ - private $parameters = []; - - /** - * @var BaseInvocation - */ - private $invocation; - - /** - * @var ExpectationFailedException - */ - private $parameterVerificationResult; - - /** - * @throws \PHPUnit\Framework\Exception - */ - public function __construct(array $parameters) - { - foreach ($parameters as $parameter) { - if (!($parameter instanceof Constraint)) { - $parameter = new IsEqual( - $parameter - ); - } - - $this->parameters[] = $parameter; - } - } - - public function toString(): string - { - $text = 'with parameter'; - - foreach ($this->parameters as $index => $parameter) { - if ($index > 0) { - $text .= ' and'; - } - - $text .= ' ' . $index . ' ' . $parameter->toString(); - } - - return $text; - } - - /** - * @throws \Exception - * - * @return bool - */ - public function matches(BaseInvocation $invocation) - { - $this->invocation = $invocation; - $this->parameterVerificationResult = null; - - try { - $this->parameterVerificationResult = $this->verify(); - - return $this->parameterVerificationResult; - } catch (ExpectationFailedException $e) { - $this->parameterVerificationResult = $e; - - throw $this->parameterVerificationResult; - } - } - - /** - * Checks if the invocation $invocation matches the current rules. If it - * does the matcher will get the invoked() method called which should check - * if an expectation is met. - * - * @throws ExpectationFailedException - * - * @return bool - */ - public function verify() - { - if (isset($this->parameterVerificationResult)) { - return $this->guardAgainstDuplicateEvaluationOfParameterConstraints(); - } - - if ($this->invocation === null) { - throw new ExpectationFailedException('Mocked method does not exist.'); - } - - if (\count($this->invocation->getParameters()) < \count($this->parameters)) { - $message = 'Parameter count for invocation %s is too low.'; - - // The user called `->with($this->anything())`, but may have meant - // `->withAnyParameters()`. - // - // @see https://github.com/sebastianbergmann/phpunit-mock-objects/issues/199 - if (\count($this->parameters) === 1 && - \get_class($this->parameters[0]) === IsAnything::class) { - $message .= "\nTo allow 0 or more parameters with any value, omit ->with() or use ->withAnyParameters() instead."; - } - - throw new ExpectationFailedException( - \sprintf($message, $this->invocation->toString()) - ); - } - - foreach ($this->parameters as $i => $parameter) { - $parameter->evaluate( - $this->invocation->getParameters()[$i], - \sprintf( - 'Parameter %s for invocation %s does not match expected ' . - 'value.', - $i, - $this->invocation->toString() - ) - ); - } - - return true; - } - - /** - * @throws ExpectationFailedException - * - * @return bool - */ - private function guardAgainstDuplicateEvaluationOfParameterConstraints() - { - if ($this->parameterVerificationResult instanceof \Exception) { - throw $this->parameterVerificationResult; - } - - return (bool) $this->parameterVerificationResult; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Matcher/StatelessInvocation.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Matcher/StatelessInvocation.php deleted file mode 100644 index f4e50a6..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Matcher/StatelessInvocation.php +++ /dev/null @@ -1,50 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\MockObject\Matcher; - -use PHPUnit\Framework\MockObject\Invocation as BaseInvocation; - -/** - * Invocation matcher which does not care about previous state from earlier - * invocations. - * - * This abstract class can be implemented by matchers which does not care about - * state but only the current run-time value of the invocation itself. - */ -abstract class StatelessInvocation implements Invocation -{ - /** - * Registers the invocation $invocation in the object as being invoked. - * This will only occur after matches() returns true which means the - * current invocation is the correct one. - * - * The matcher can store information from the invocation which can later - * be checked in verify(), or it can check the values directly and throw - * and exception if an expectation is not met. - * - * If the matcher is a stub it will also have a return value. - * - * @param BaseInvocation $invocation Object containing information on a mocked or stubbed method which was invoked - */ - public function invoked(BaseInvocation $invocation) - { - } - - /** - * Checks if the invocation $invocation matches the current rules. If it does - * the matcher will get the invoked() method called which should check if an - * expectation is met. - * - * @return bool - */ - public function verify() - { - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/MockBuilder.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/MockBuilder.php deleted file mode 100644 index 3199afd..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/MockBuilder.php +++ /dev/null @@ -1,408 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\MockObject; - -use PHPUnit\Framework\TestCase; - -/** - * Implementation of the Builder pattern for Mock objects. - */ -class MockBuilder -{ - /** - * @var TestCase - */ - private $testCase; - - /** - * @var string - */ - private $type; - - /** - * @var array - */ - private $methods = []; - - /** - * @var array - */ - private $methodsExcept = []; - - /** - * @var string - */ - private $mockClassName = ''; - - /** - * @var array - */ - private $constructorArgs = []; - - /** - * @var bool - */ - private $originalConstructor = true; - - /** - * @var bool - */ - private $originalClone = true; - - /** - * @var bool - */ - private $autoload = true; - - /** - * @var bool - */ - private $cloneArguments = false; - - /** - * @var bool - */ - private $callOriginalMethods = false; - - /** - * @var object - */ - private $proxyTarget; - - /** - * @var bool - */ - private $allowMockingUnknownTypes = true; - - /** - * @var bool - */ - private $returnValueGeneration = true; - - /** - * @var Generator - */ - private $generator; - - /** - * @param array|string $type - */ - public function __construct(TestCase $testCase, $type) - { - $this->testCase = $testCase; - $this->type = $type; - $this->generator = new Generator; - } - - /** - * Creates a mock object using a fluent interface. - * - * @return MockObject - */ - public function getMock() - { - $object = $this->generator->getMock( - $this->type, - $this->methods, - $this->constructorArgs, - $this->mockClassName, - $this->originalConstructor, - $this->originalClone, - $this->autoload, - $this->cloneArguments, - $this->callOriginalMethods, - $this->proxyTarget, - $this->allowMockingUnknownTypes, - $this->returnValueGeneration - ); - - $this->testCase->registerMockObject($object); - - return $object; - } - - /** - * Creates a mock object for an abstract class using a fluent interface. - * - * @return MockObject - */ - public function getMockForAbstractClass() - { - $object = $this->generator->getMockForAbstractClass( - $this->type, - $this->constructorArgs, - $this->mockClassName, - $this->originalConstructor, - $this->originalClone, - $this->autoload, - $this->methods, - $this->cloneArguments - ); - - $this->testCase->registerMockObject($object); - - return $object; - } - - /** - * Creates a mock object for a trait using a fluent interface. - * - * @return MockObject - */ - public function getMockForTrait() - { - $object = $this->generator->getMockForTrait( - $this->type, - $this->constructorArgs, - $this->mockClassName, - $this->originalConstructor, - $this->originalClone, - $this->autoload, - $this->methods, - $this->cloneArguments - ); - - $this->testCase->registerMockObject($object); - - return $object; - } - - /** - * Specifies the subset of methods to mock. Default is to mock none of them. - * - * @return MockBuilder - */ - public function setMethods(array $methods = null) - { - $this->methods = $methods; - - return $this; - } - - /** - * Specifies the subset of methods to not mock. Default is to mock all of them. - * - * @return MockBuilder - */ - public function setMethodsExcept(array $methods = []) - { - $this->methodsExcept = $methods; - - $this->setMethods( - \array_diff( - $this->generator->getClassMethods($this->type), - $this->methodsExcept - ) - ); - - return $this; - } - - /** - * Specifies the arguments for the constructor. - * - * @return MockBuilder - */ - public function setConstructorArgs(array $args) - { - $this->constructorArgs = $args; - - return $this; - } - - /** - * Specifies the name for the mock class. - * - * @param string $name - * - * @return MockBuilder - */ - public function setMockClassName($name) - { - $this->mockClassName = $name; - - return $this; - } - - /** - * Disables the invocation of the original constructor. - * - * @return MockBuilder - */ - public function disableOriginalConstructor() - { - $this->originalConstructor = false; - - return $this; - } - - /** - * Enables the invocation of the original constructor. - * - * @return MockBuilder - */ - public function enableOriginalConstructor() - { - $this->originalConstructor = true; - - return $this; - } - - /** - * Disables the invocation of the original clone constructor. - * - * @return MockBuilder - */ - public function disableOriginalClone() - { - $this->originalClone = false; - - return $this; - } - - /** - * Enables the invocation of the original clone constructor. - * - * @return MockBuilder - */ - public function enableOriginalClone() - { - $this->originalClone = true; - - return $this; - } - - /** - * Disables the use of class autoloading while creating the mock object. - * - * @return MockBuilder - */ - public function disableAutoload() - { - $this->autoload = false; - - return $this; - } - - /** - * Enables the use of class autoloading while creating the mock object. - * - * @return MockBuilder - */ - public function enableAutoload() - { - $this->autoload = true; - - return $this; - } - - /** - * Disables the cloning of arguments passed to mocked methods. - * - * @return MockBuilder - */ - public function disableArgumentCloning() - { - $this->cloneArguments = false; - - return $this; - } - - /** - * Enables the cloning of arguments passed to mocked methods. - * - * @return MockBuilder - */ - public function enableArgumentCloning() - { - $this->cloneArguments = true; - - return $this; - } - - /** - * Enables the invocation of the original methods. - * - * @return MockBuilder - */ - public function enableProxyingToOriginalMethods() - { - $this->callOriginalMethods = true; - - return $this; - } - - /** - * Disables the invocation of the original methods. - * - * @return MockBuilder - */ - public function disableProxyingToOriginalMethods() - { - $this->callOriginalMethods = false; - $this->proxyTarget = null; - - return $this; - } - - /** - * Sets the proxy target. - * - * @param object $object - * - * @return MockBuilder - */ - public function setProxyTarget($object) - { - $this->proxyTarget = $object; - - return $this; - } - - /** - * @return MockBuilder - */ - public function allowMockingUnknownTypes() - { - $this->allowMockingUnknownTypes = true; - - return $this; - } - - /** - * @return MockBuilder - */ - public function disallowMockingUnknownTypes() - { - $this->allowMockingUnknownTypes = false; - - return $this; - } - - /** - * @return MockBuilder - */ - public function enableAutoReturnValueGeneration() - { - $this->returnValueGeneration = true; - - return $this; - } - - /** - * @return MockBuilder - */ - public function disableAutoReturnValueGeneration() - { - $this->returnValueGeneration = false; - - return $this; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/MockMethod.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/MockMethod.php deleted file mode 100644 index f02ba75..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/MockMethod.php +++ /dev/null @@ -1,355 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\MockObject; - -use ReflectionClass; -use ReflectionException; -use ReflectionMethod; -use Text_Template; - -final class MockMethod -{ - /** - * @var Text_Template[] - */ - private static $templates = []; - - /** - * @var string - */ - private $className; - - /** - * @var string - */ - private $methodName; - - /** - * @var bool - */ - private $cloneArguments; - - /** - * @var string string - */ - private $modifier; - - /** - * @var string - */ - private $argumentsForDeclaration; - - /** - * @var string - */ - private $argumentsForCall; - - /** - * @var string - */ - private $returnType; - - /** - * @var string - */ - private $reference; - - /** - * @var bool - */ - private $callOriginalMethod; - - /** - * @var bool - */ - private $static; - - /** - * @var ?string - */ - private $deprecation; - - /** - * @var bool - */ - private $allowsReturnNull; - - public static function fromReflection(ReflectionMethod $method, bool $callOriginalMethod, bool $cloneArguments): self - { - if ($method->isPrivate()) { - $modifier = 'private'; - } elseif ($method->isProtected()) { - $modifier = 'protected'; - } else { - $modifier = 'public'; - } - - if ($method->isStatic()) { - $modifier .= ' static'; - } - - if ($method->returnsReference()) { - $reference = '&'; - } else { - $reference = ''; - } - - if ($method->hasReturnType()) { - $returnType = $method->getReturnType()->getName(); - } else { - $returnType = ''; - } - - $docComment = $method->getDocComment(); - - if (\is_string($docComment) - && \preg_match('#\*[ \t]*+@deprecated[ \t]*+(.*?)\r?+\n[ \t]*+\*(?:[ \t]*+@|/$)#s', $docComment, $deprecation) - ) { - $deprecation = \trim(\preg_replace('#[ \t]*\r?\n[ \t]*+\*[ \t]*+#', ' ', $deprecation[1])); - } else { - $deprecation = null; - } - - return new self( - $method->getDeclaringClass()->getName(), - $method->getName(), - $cloneArguments, - $modifier, - self::getMethodParameters($method), - self::getMethodParameters($method, true), - $returnType, - $reference, - $callOriginalMethod, - $method->isStatic(), - $deprecation, - $method->hasReturnType() && $method->getReturnType()->allowsNull() - ); - } - - public static function fromName(string $fullClassName, string $methodName, bool $cloneArguments): self - { - return new self( - $fullClassName, - $methodName, - $cloneArguments, - 'public', - '', - '', - '', - '', - false, - false, - null, - false - ); - } - - public function __construct(string $className, string $methodName, bool $cloneArguments, string $modifier, string $argumentsForDeclaration, string $argumentsForCall, string $returnType, string $reference, bool $callOriginalMethod, bool $static, ?string $deprecation, bool $allowsReturnNull) - { - $this->className = $className; - $this->methodName = $methodName; - $this->cloneArguments = $cloneArguments; - $this->modifier = $modifier; - $this->argumentsForDeclaration = $argumentsForDeclaration; - $this->argumentsForCall = $argumentsForCall; - $this->returnType = $returnType; - $this->reference = $reference; - $this->callOriginalMethod = $callOriginalMethod; - $this->static = $static; - $this->deprecation = $deprecation; - $this->allowsReturnNull = $allowsReturnNull; - } - - public function getName(): string - { - return $this->methodName; - } - - /** - * @throws \ReflectionException - * @throws \PHPUnit\Framework\MockObject\RuntimeException - * @throws \InvalidArgumentException - */ - public function generateCode(): string - { - if ($this->static) { - $templateFile = 'mocked_static_method.tpl'; - } elseif ($this->returnType === 'void') { - $templateFile = \sprintf( - '%s_method_void.tpl', - $this->callOriginalMethod ? 'proxied' : 'mocked' - ); - } else { - $templateFile = \sprintf( - '%s_method.tpl', - $this->callOriginalMethod ? 'proxied' : 'mocked' - ); - } - - $returnType = $this->returnType; - // @see https://bugs.php.net/bug.php?id=70722 - if ($returnType === 'self') { - $returnType = $this->className; - } - - // @see https://github.com/sebastianbergmann/phpunit-mock-objects/issues/406 - if ($returnType === 'parent') { - $reflector = new ReflectionClass($this->className); - - $parentClass = $reflector->getParentClass(); - - if ($parentClass === false) { - throw new RuntimeException( - \sprintf( - 'Cannot mock %s::%s because "parent" return type declaration is used but %s does not have a parent class', - $this->className, - $this->methodName, - $this->className - ) - ); - } - - $returnType = $parentClass->getName(); - } - - $deprecation = $this->deprecation; - - if (null !== $this->deprecation) { - $deprecation = "The $this->className::$this->methodName method is deprecated ($this->deprecation)."; - $deprecationTemplate = $this->getTemplate('deprecation.tpl'); - - $deprecationTemplate->setVar([ - 'deprecation' => \var_export($deprecation, true), - ]); - - $deprecation = $deprecationTemplate->render(); - } - - $template = $this->getTemplate($templateFile); - - $template->setVar( - [ - 'arguments_decl' => $this->argumentsForDeclaration, - 'arguments_call' => $this->argumentsForCall, - 'return_delim' => $returnType ? ': ' : '', - 'return_type' => $this->allowsReturnNull ? '?' . $returnType : $returnType, - 'arguments_count' => !empty($this->argumentsForCall) ? \substr_count($this->argumentsForCall, ',') + 1 : 0, - 'class_name' => $this->className, - 'method_name' => $this->methodName, - 'modifier' => $this->modifier, - 'reference' => $this->reference, - 'clone_arguments' => $this->cloneArguments ? 'true' : 'false', - 'deprecation' => $deprecation, - ] - ); - - return $template->render(); - } - - private function getTemplate(string $template): Text_Template - { - $filename = __DIR__ . \DIRECTORY_SEPARATOR . 'Generator' . \DIRECTORY_SEPARATOR . $template; - - if (!isset(self::$templates[$filename])) { - self::$templates[$filename] = new Text_Template($filename); - } - - return self::$templates[$filename]; - } - - /** - * Returns the parameters of a function or method. - * - * @throws RuntimeException - */ - private static function getMethodParameters(ReflectionMethod $method, bool $forCall = false): string - { - $parameters = []; - - foreach ($method->getParameters() as $i => $parameter) { - $name = '$' . $parameter->getName(); - - /* Note: PHP extensions may use empty names for reference arguments - * or "..." for methods taking a variable number of arguments. - */ - if ($name === '$' || $name === '$...') { - $name = '$arg' . $i; - } - - if ($parameter->isVariadic()) { - if ($forCall) { - continue; - } - - $name = '...' . $name; - } - - $nullable = ''; - $default = ''; - $reference = ''; - $typeDeclaration = ''; - - if (!$forCall) { - if ($parameter->hasType() && $parameter->allowsNull()) { - $nullable = '?'; - } - - if ($parameter->hasType() && $parameter->getType()->getName() !== 'self') { - $typeDeclaration = $parameter->getType()->getName() . ' '; - } else { - try { - $class = $parameter->getClass(); - } catch (ReflectionException $e) { - throw new RuntimeException( - \sprintf( - 'Cannot mock %s::%s() because a class or ' . - 'interface used in the signature is not loaded', - $method->getDeclaringClass()->getName(), - $method->getName() - ), - 0, - $e - ); - } - - if ($class !== null) { - $typeDeclaration = $class->getName() . ' '; - } - } - - if (!$parameter->isVariadic()) { - if ($parameter->isDefaultValueAvailable()) { - try { - $value = \var_export($parameter->getDefaultValue(), true); - } catch (\ReflectionException $e) { - throw new RuntimeException( - $e->getMessage(), - (int) $e->getCode(), - $e - ); - } - - $default = ' = ' . $value; - } elseif ($parameter->isOptional()) { - $default = ' = null'; - } - } - } - - if ($parameter->isPassedByReference()) { - $reference = '&'; - } - - $parameters[] = $nullable . $typeDeclaration . $reference . $name . $default; - } - - return \implode(', ', $parameters); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/MockMethodSet.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/MockMethodSet.php deleted file mode 100644 index b81536a..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/MockMethodSet.php +++ /dev/null @@ -1,36 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\MockObject; - -final class MockMethodSet -{ - /** - * @var MockMethod[] - */ - private $methods = []; - - public function addMethods(MockMethod ...$methods): void - { - foreach ($methods as $method) { - $this->methods[\strtolower($method->getName())] = $method; - } - } - - public function asArray(): array - { - return \array_values($this->methods); - } - - public function hasMethod(string $methodName): bool - { - return \array_key_exists(\strtolower($methodName), $this->methods); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/MockObject.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/MockObject.php deleted file mode 100644 index cb5e51e..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/MockObject.php +++ /dev/null @@ -1,57 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -use PHPUnit\Framework\ExpectationFailedException; -use PHPUnit\Framework\MockObject\Builder\InvocationMocker; -use PHPUnit\Framework\MockObject\Matcher\Invocation; - -/** - * Interface for all mock objects which are generated by - * MockBuilder. - * - * @method InvocationMocker method($constraint) - * - * @deprecated Use PHPUnit\Framework\MockObject\MockObject instead - */ -interface PHPUnit_Framework_MockObject_MockObject /*extends Verifiable*/ -{ - /** - * @return InvocationMocker - */ - public function __phpunit_setOriginalObject($originalObject); - - /** - * @return InvocationMocker - */ - public function __phpunit_getInvocationMocker(); - - /** - * Verifies that the current expectation is valid. If everything is OK the - * code should just return, if not it must throw an exception. - * - * @throws ExpectationFailedException - */ - public function __phpunit_verify(bool $unsetInvocationMocker = true); - - /** - * @return bool - */ - public function __phpunit_hasMatchers(); - - public function __phpunit_setReturnValueGeneration(bool $returnValueGeneration); - - /** - * Registers a new expectation in the mock object and returns the match - * object which can be infused with further details. - * - * @return InvocationMocker - */ - public function expects(Invocation $matcher); -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Stub.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Stub.php deleted file mode 100644 index b0f04f5..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Stub.php +++ /dev/null @@ -1,29 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\MockObject; - -use PHPUnit\Framework\SelfDescribing; - -/** - * An object that stubs the process of a normal method for a mock object. - * - * The stub object will replace the code for the stubbed method and return a - * specific value instead of the original value. - */ -interface Stub extends SelfDescribing -{ - /** - * Fakes the processing of the invocation $invocation by returning a - * specific value. - * - * @param Invocation $invocation The invocation which was mocked and matched by the current method and argument matchers - */ - public function invoke(Invocation $invocation); -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Stub/ConsecutiveCalls.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Stub/ConsecutiveCalls.php deleted file mode 100644 index ee60927..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Stub/ConsecutiveCalls.php +++ /dev/null @@ -1,56 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\MockObject\Stub; - -use PHPUnit\Framework\MockObject\Invocation; -use PHPUnit\Framework\MockObject\Stub; -use SebastianBergmann\Exporter\Exporter; - -/** - * Stubs a method by returning a user-defined stack of values. - */ -class ConsecutiveCalls implements Stub -{ - /** - * @var array - */ - private $stack; - - /** - * @var mixed - */ - private $value; - - public function __construct(array $stack) - { - $this->stack = $stack; - } - - public function invoke(Invocation $invocation) - { - $this->value = \array_shift($this->stack); - - if ($this->value instanceof Stub) { - $this->value = $this->value->invoke($invocation); - } - - return $this->value; - } - - public function toString(): string - { - $exporter = new Exporter; - - return \sprintf( - 'return user-specified value %s', - $exporter->export($this->value) - ); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Stub/Exception.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Stub/Exception.php deleted file mode 100644 index 3080a6e..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Stub/Exception.php +++ /dev/null @@ -1,42 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\MockObject\Stub; - -use PHPUnit\Framework\MockObject\Invocation; -use PHPUnit\Framework\MockObject\Stub; -use SebastianBergmann\Exporter\Exporter; - -/** - * Stubs a method by raising a user-defined exception. - */ -class Exception implements Stub -{ - private $exception; - - public function __construct(\Throwable $exception) - { - $this->exception = $exception; - } - - public function invoke(Invocation $invocation): void - { - throw $this->exception; - } - - public function toString(): string - { - $exporter = new Exporter; - - return \sprintf( - 'raise user-specified exception %s', - $exporter->export($this->exception) - ); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Stub/MatcherCollection.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Stub/MatcherCollection.php deleted file mode 100644 index f53834a..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Stub/MatcherCollection.php +++ /dev/null @@ -1,26 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\MockObject\Stub; - -use PHPUnit\Framework\MockObject\Matcher\Invocation; - -/** - * Stubs a method by returning a user-defined value. - */ -interface MatcherCollection -{ - /** - * Adds a new matcher to the collection which can be used as an expectation - * or a stub. - * - * @param Invocation $matcher Matcher for invocations to mock objects - */ - public function addMatcher(Invocation $matcher); -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Stub/ReturnArgument.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Stub/ReturnArgument.php deleted file mode 100644 index 3e63d78..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Stub/ReturnArgument.php +++ /dev/null @@ -1,41 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\MockObject\Stub; - -use PHPUnit\Framework\MockObject\Invocation; -use PHPUnit\Framework\MockObject\Stub; - -/** - * Stubs a method by returning an argument that was passed to the mocked method. - */ -class ReturnArgument implements Stub -{ - /** - * @var int - */ - private $argumentIndex; - - public function __construct($argumentIndex) - { - $this->argumentIndex = $argumentIndex; - } - - public function invoke(Invocation $invocation) - { - if (isset($invocation->getParameters()[$this->argumentIndex])) { - return $invocation->getParameters()[$this->argumentIndex]; - } - } - - public function toString(): string - { - return \sprintf('return argument #%d', $this->argumentIndex); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Stub/ReturnCallback.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Stub/ReturnCallback.php deleted file mode 100644 index 933e9ca..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Stub/ReturnCallback.php +++ /dev/null @@ -1,52 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\MockObject\Stub; - -use PHPUnit\Framework\MockObject\Invocation; -use PHPUnit\Framework\MockObject\Stub; - -class ReturnCallback implements Stub -{ - private $callback; - - public function __construct($callback) - { - $this->callback = $callback; - } - - public function invoke(Invocation $invocation) - { - return \call_user_func_array($this->callback, $invocation->getParameters()); - } - - public function toString(): string - { - if (\is_array($this->callback)) { - if (\is_object($this->callback[0])) { - $class = \get_class($this->callback[0]); - $type = '->'; - } else { - $class = $this->callback[0]; - $type = '::'; - } - - return \sprintf( - 'return result of user defined callback %s%s%s() with the ' . - 'passed arguments', - $class, - $type, - $this->callback[1] - ); - } - - return 'return result of user defined callback ' . $this->callback . - ' with the passed arguments'; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Stub/ReturnReference.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Stub/ReturnReference.php deleted file mode 100644 index 2d78442..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Stub/ReturnReference.php +++ /dev/null @@ -1,45 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\MockObject\Stub; - -use PHPUnit\Framework\MockObject\Invocation; -use PHPUnit\Framework\MockObject\Stub; -use SebastianBergmann\Exporter\Exporter; - -/** - * Stubs a method by returning a user-defined reference to a value. - */ -class ReturnReference implements Stub -{ - /** - * @var mixed - */ - private $reference; - - public function __construct(&$reference) - { - $this->reference = &$reference; - } - - public function invoke(Invocation $invocation) - { - return $this->reference; - } - - public function toString(): string - { - $exporter = new Exporter; - - return \sprintf( - 'return user-specified reference %s', - $exporter->export($this->reference) - ); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Stub/ReturnSelf.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Stub/ReturnSelf.php deleted file mode 100644 index 4261a6a..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Stub/ReturnSelf.php +++ /dev/null @@ -1,38 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\MockObject\Stub; - -use PHPUnit\Framework\MockObject\Invocation; -use PHPUnit\Framework\MockObject\Invocation\ObjectInvocation; -use PHPUnit\Framework\MockObject\RuntimeException; -use PHPUnit\Framework\MockObject\Stub; - -/** - * Stubs a method by returning the current object. - */ -class ReturnSelf implements Stub -{ - public function invoke(Invocation $invocation) - { - if (!$invocation instanceof ObjectInvocation) { - throw new RuntimeException( - 'The current object can only be returned when mocking an ' . - 'object, not a static class.' - ); - } - - return $invocation->getObject(); - } - - public function toString(): string - { - return 'return the current object'; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Stub/ReturnStub.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Stub/ReturnStub.php deleted file mode 100644 index 76dc7b6..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Stub/ReturnStub.php +++ /dev/null @@ -1,45 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\MockObject\Stub; - -use PHPUnit\Framework\MockObject\Invocation; -use PHPUnit\Framework\MockObject\Stub; -use SebastianBergmann\Exporter\Exporter; - -/** - * Stubs a method by returning a user-defined value. - */ -class ReturnStub implements Stub -{ - /** - * @var mixed - */ - private $value; - - public function __construct($value) - { - $this->value = $value; - } - - public function invoke(Invocation $invocation) - { - return $this->value; - } - - public function toString(): string - { - $exporter = new Exporter; - - return \sprintf( - 'return user-specified value %s', - $exporter->export($this->value) - ); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Stub/ReturnValueMap.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Stub/ReturnValueMap.php deleted file mode 100644 index 195cc16..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Stub/ReturnValueMap.php +++ /dev/null @@ -1,51 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\MockObject\Stub; - -use PHPUnit\Framework\MockObject\Invocation; -use PHPUnit\Framework\MockObject\Stub; - -/** - * Stubs a method by returning a value from a map. - */ -class ReturnValueMap implements Stub -{ - /** - * @var array - */ - private $valueMap; - - public function __construct(array $valueMap) - { - $this->valueMap = $valueMap; - } - - public function invoke(Invocation $invocation) - { - $parameterCount = \count($invocation->getParameters()); - - foreach ($this->valueMap as $map) { - if (!\is_array($map) || $parameterCount !== (\count($map) - 1)) { - continue; - } - - $return = \array_pop($map); - - if ($invocation->getParameters() === $map) { - return $return; - } - } - } - - public function toString(): string - { - return 'return value from a map'; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Verifiable.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Verifiable.php deleted file mode 100644 index 1e18846..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/MockObject/Verifiable.php +++ /dev/null @@ -1,26 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\MockObject; - -use PHPUnit\Framework\ExpectationFailedException; - -/** - * Interface for classes which must verify a given expectation. - */ -interface Verifiable -{ - /** - * Verifies that the current expectation is valid. If everything is OK the - * code should just return, if not it must throw an exception. - * - * @throws ExpectationFailedException - */ - public function verify(); -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/OutputError.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/OutputError.php deleted file mode 100644 index 5b1517b..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/OutputError.php +++ /dev/null @@ -1,14 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework; - -class OutputError extends AssertionFailedError -{ -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/RiskyTest.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/RiskyTest.php deleted file mode 100644 index e013217..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/RiskyTest.php +++ /dev/null @@ -1,14 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework; - -interface RiskyTest -{ -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/RiskyTestError.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/RiskyTestError.php deleted file mode 100644 index fe1e3a4..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/RiskyTestError.php +++ /dev/null @@ -1,14 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework; - -class RiskyTestError extends AssertionFailedError implements RiskyTest -{ -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/SelfDescribing.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/SelfDescribing.php deleted file mode 100644 index faf9290..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/SelfDescribing.php +++ /dev/null @@ -1,21 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework; - -/** - * Interface for classes that can return a description of itself. - */ -interface SelfDescribing -{ - /** - * Returns a string representation of the object. - */ - public function toString(): string; -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/SkippedTest.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/SkippedTest.php deleted file mode 100644 index 8151f2d..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/SkippedTest.php +++ /dev/null @@ -1,14 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework; - -interface SkippedTest -{ -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/SkippedTestCase.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/SkippedTestCase.php deleted file mode 100644 index cf88d7b..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/SkippedTestCase.php +++ /dev/null @@ -1,76 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework; - -/** - * A skipped test case - */ -class SkippedTestCase extends TestCase -{ - /** - * @var string - */ - protected $message = ''; - - /** - * @var bool - */ - protected $backupGlobals = false; - - /** - * @var bool - */ - protected $backupStaticAttributes = false; - - /** - * @var bool - */ - protected $runTestInSeparateProcess = false; - - /** - * @var bool - */ - protected $useErrorHandler = false; - - /** - * @var bool - */ - protected $useOutputBuffering = false; - - public function __construct(string $className, string $methodName, string $message = '') - { - parent::__construct($className . '::' . $methodName); - - $this->message = $message; - } - - public function getMessage(): string - { - return $this->message; - } - - /** - * Returns a string representation of the test case. - * - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public function toString(): string - { - return $this->getName(); - } - - /** - * @throws Exception - */ - protected function runTest(): void - { - $this->markTestSkipped($this->message); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/SkippedTestError.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/SkippedTestError.php deleted file mode 100644 index 0893a5d..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/SkippedTestError.php +++ /dev/null @@ -1,14 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework; - -class SkippedTestError extends AssertionFailedError implements SkippedTest -{ -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/SkippedTestSuiteError.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/SkippedTestSuiteError.php deleted file mode 100644 index c74015b..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/SkippedTestSuiteError.php +++ /dev/null @@ -1,14 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework; - -class SkippedTestSuiteError extends AssertionFailedError implements SkippedTest -{ -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/SyntheticError.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/SyntheticError.php deleted file mode 100644 index db2280f..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/SyntheticError.php +++ /dev/null @@ -1,61 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework; - -/** - * Creates a synthetic failed assertion. - */ -class SyntheticError extends AssertionFailedError -{ - /** - * The synthetic file. - * - * @var string - */ - protected $syntheticFile = ''; - - /** - * The synthetic line number. - * - * @var int - */ - protected $syntheticLine = 0; - - /** - * The synthetic trace. - * - * @var array - */ - protected $syntheticTrace = []; - - public function __construct(string $message, int $code, string $file, int $line, array $trace) - { - parent::__construct($message, $code); - - $this->syntheticFile = $file; - $this->syntheticLine = $line; - $this->syntheticTrace = $trace; - } - - public function getSyntheticFile(): string - { - return $this->syntheticFile; - } - - public function getSyntheticLine(): int - { - return $this->syntheticLine; - } - - public function getSyntheticTrace(): array - { - return $this->syntheticTrace; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Test.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Test.php deleted file mode 100644 index 347a63f..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Test.php +++ /dev/null @@ -1,23 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework; - -use Countable; - -/** - * A Test can be run and collect its results. - */ -interface Test extends Countable -{ - /** - * Runs a test and collects its result in a TestResult instance. - */ - public function run(TestResult $result = null): TestResult; -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/TestCase.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/TestCase.php deleted file mode 100644 index 355d11f..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/TestCase.php +++ /dev/null @@ -1,2138 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework; - -use DeepCopy\DeepCopy; -use PHPUnit\Framework\Constraint\Exception as ExceptionConstraint; -use PHPUnit\Framework\Constraint\ExceptionCode; -use PHPUnit\Framework\Constraint\ExceptionMessage; -use PHPUnit\Framework\Constraint\ExceptionMessageRegularExpression; -use PHPUnit\Framework\MockObject\Generator as MockGenerator; -use PHPUnit\Framework\MockObject\Matcher\AnyInvokedCount as AnyInvokedCountMatcher; -use PHPUnit\Framework\MockObject\Matcher\InvokedAtIndex as InvokedAtIndexMatcher; -use PHPUnit\Framework\MockObject\Matcher\InvokedAtLeastCount as InvokedAtLeastCountMatcher; -use PHPUnit\Framework\MockObject\Matcher\InvokedAtLeastOnce as InvokedAtLeastOnceMatcher; -use PHPUnit\Framework\MockObject\Matcher\InvokedAtMostCount as InvokedAtMostCountMatcher; -use PHPUnit\Framework\MockObject\Matcher\InvokedCount as InvokedCountMatcher; -use PHPUnit\Framework\MockObject\MockBuilder; -use PHPUnit\Framework\MockObject\MockObject; -use PHPUnit\Framework\MockObject\Stub\ConsecutiveCalls as ConsecutiveCallsStub; -use PHPUnit\Framework\MockObject\Stub\Exception as ExceptionStub; -use PHPUnit\Framework\MockObject\Stub\ReturnArgument as ReturnArgumentStub; -use PHPUnit\Framework\MockObject\Stub\ReturnCallback as ReturnCallbackStub; -use PHPUnit\Framework\MockObject\Stub\ReturnSelf as ReturnSelfStub; -use PHPUnit\Framework\MockObject\Stub\ReturnStub; -use PHPUnit\Framework\MockObject\Stub\ReturnValueMap as ReturnValueMapStub; -use PHPUnit\Runner\BaseTestRunner; -use PHPUnit\Runner\PhptTestCase; -use PHPUnit\Util\GlobalState; -use PHPUnit\Util\PHP\AbstractPhpProcess; -use Prophecy; -use Prophecy\Exception\Prediction\PredictionException; -use Prophecy\Prophecy\MethodProphecy; -use Prophecy\Prophecy\ObjectProphecy; -use Prophecy\Prophet; -use ReflectionClass; -use ReflectionException; -use ReflectionObject; -use SebastianBergmann\Comparator\Comparator; -use SebastianBergmann\Comparator\Factory as ComparatorFactory; -use SebastianBergmann\Diff\Differ; -use SebastianBergmann\Exporter\Exporter; -use SebastianBergmann\GlobalState\Blacklist; -use SebastianBergmann\GlobalState\Restorer; -use SebastianBergmann\GlobalState\Snapshot; -use SebastianBergmann\ObjectEnumerator\Enumerator; -use Text_Template; -use Throwable; - -abstract class TestCase extends Assert implements SelfDescribing, Test -{ - private const LOCALE_CATEGORIES = [\LC_ALL, \LC_COLLATE, \LC_CTYPE, \LC_MONETARY, \LC_NUMERIC, \LC_TIME]; - - /** - * @var bool - */ - protected $backupGlobals; - - /** - * @var array - */ - protected $backupGlobalsBlacklist = []; - - /** - * @var bool - */ - protected $backupStaticAttributes; - - /** - * @var array - */ - protected $backupStaticAttributesBlacklist = []; - - /** - * @var bool - */ - protected $runTestInSeparateProcess; - - /** - * @var bool - */ - protected $preserveGlobalState = true; - - /** - * @var bool - */ - private $runClassInSeparateProcess; - - /** - * @var bool - */ - private $inIsolation = false; - - /** - * @var array - */ - private $data; - - /** - * @var string - */ - private $dataName; - - /** - * @var bool - */ - private $useErrorHandler; - - /** - * @var null|string - */ - private $expectedException; - - /** - * @var null|string - */ - private $expectedExceptionMessage; - - /** - * @var null|string - */ - private $expectedExceptionMessageRegExp; - - /** - * @var null|int|string - */ - private $expectedExceptionCode; - - /** - * @var string - */ - private $name; - - /** - * @var string[] - */ - private $dependencies = []; - - /** - * @var array - */ - private $dependencyInput = []; - - /** - * @var array - */ - private $iniSettings = []; - - /** - * @var array - */ - private $locale = []; - - /** - * @var array - */ - private $mockObjects = []; - - /** - * @var MockGenerator - */ - private $mockObjectGenerator; - - /** - * @var int - */ - private $status = BaseTestRunner::STATUS_UNKNOWN; - - /** - * @var string - */ - private $statusMessage = ''; - - /** - * @var int - */ - private $numAssertions = 0; - - /** - * @var TestResult - */ - private $result; - - /** - * @var mixed - */ - private $testResult; - - /** - * @var string - */ - private $output = ''; - - /** - * @var string - */ - private $outputExpectedRegex; - - /** - * @var string - */ - private $outputExpectedString; - - /** - * @var mixed - */ - private $outputCallback = false; - - /** - * @var bool - */ - private $outputBufferingActive = false; - - /** - * @var int - */ - private $outputBufferingLevel; - - /** - * @var Snapshot - */ - private $snapshot; - - /** - * @var Prophecy\Prophet - */ - private $prophet; - - /** - * @var bool - */ - private $beStrictAboutChangesToGlobalState = false; - - /** - * @var bool - */ - private $registerMockObjectsFromTestArgumentsRecursively = false; - - /** - * @var string[] - */ - private $warnings = []; - - /** - * @var array - */ - private $groups = []; - - /** - * @var bool - */ - private $doesNotPerformAssertions = false; - - /** - * @var Comparator[] - */ - private $customComparators = []; - - /** - * Returns a matcher that matches when the method is executed - * zero or more times. - */ - public static function any(): AnyInvokedCountMatcher - { - return new AnyInvokedCountMatcher; - } - - /** - * Returns a matcher that matches when the method is never executed. - */ - public static function never(): InvokedCountMatcher - { - return new InvokedCountMatcher(0); - } - - /** - * Returns a matcher that matches when the method is executed - * at least N times. - */ - public static function atLeast(int $requiredInvocations): InvokedAtLeastCountMatcher - { - return new InvokedAtLeastCountMatcher( - $requiredInvocations - ); - } - - /** - * Returns a matcher that matches when the method is executed at least once. - */ - public static function atLeastOnce(): InvokedAtLeastOnceMatcher - { - return new InvokedAtLeastOnceMatcher; - } - - /** - * Returns a matcher that matches when the method is executed exactly once. - */ - public static function once(): InvokedCountMatcher - { - return new InvokedCountMatcher(1); - } - - /** - * Returns a matcher that matches when the method is executed - * exactly $count times. - */ - public static function exactly(int $count): InvokedCountMatcher - { - return new InvokedCountMatcher($count); - } - - /** - * Returns a matcher that matches when the method is executed - * at most N times. - */ - public static function atMost(int $allowedInvocations): InvokedAtMostCountMatcher - { - return new InvokedAtMostCountMatcher($allowedInvocations); - } - - /** - * Returns a matcher that matches when the method is executed - * at the given index. - */ - public static function at(int $index): InvokedAtIndexMatcher - { - return new InvokedAtIndexMatcher($index); - } - - public static function returnValue($value): ReturnStub - { - return new ReturnStub($value); - } - - public static function returnValueMap(array $valueMap): ReturnValueMapStub - { - return new ReturnValueMapStub($valueMap); - } - - public static function returnArgument(int $argumentIndex): ReturnArgumentStub - { - return new ReturnArgumentStub($argumentIndex); - } - - public static function returnCallback($callback): ReturnCallbackStub - { - return new ReturnCallbackStub($callback); - } - - /** - * Returns the current object. - * - * This method is useful when mocking a fluent interface. - */ - public static function returnSelf(): ReturnSelfStub - { - return new ReturnSelfStub; - } - - public static function throwException(Throwable $exception): ExceptionStub - { - return new ExceptionStub($exception); - } - - public static function onConsecutiveCalls(...$args): ConsecutiveCallsStub - { - return new ConsecutiveCallsStub($args); - } - - /** - * @param string $name - * @param string $dataName - */ - public function __construct($name = null, array $data = [], $dataName = '') - { - if ($name !== null) { - $this->setName($name); - } - - $this->data = $data; - $this->dataName = $dataName; - } - - /** - * This method is called before the first test of this test class is run. - */ - public static function setUpBeforeClass()/* The :void return type declaration that should be here would cause a BC issue */ - { - } - - /** - * This method is called after the last test of this test class is run. - */ - public static function tearDownAfterClass()/* The :void return type declaration that should be here would cause a BC issue */ - { - } - - /** - * This method is called before each test. - */ - protected function setUp()/* The :void return type declaration that should be here would cause a BC issue */ - { - } - - /** - * This method is called after each test. - */ - protected function tearDown()/* The :void return type declaration that should be here would cause a BC issue */ - { - } - - /** - * Returns a string representation of the test case. - * - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - * @throws \ReflectionException - */ - public function toString(): string - { - $class = new ReflectionClass($this); - - $buffer = \sprintf( - '%s::%s', - $class->name, - $this->getName(false) - ); - - return $buffer . $this->getDataSetAsString(); - } - - public function count(): int - { - return 1; - } - - public function getGroups(): array - { - return $this->groups; - } - - public function setGroups(array $groups): void - { - $this->groups = $groups; - } - - public function getAnnotations(): array - { - return \PHPUnit\Util\Test::parseTestMethodAnnotations( - \get_class($this), - $this->name - ); - } - - /** - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public function getName(bool $withDataSet = true): ?string - { - if ($withDataSet) { - return $this->name . $this->getDataSetAsString(false); - } - - return $this->name; - } - - /** - * Returns the size of the test. - * - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public function getSize(): int - { - return \PHPUnit\Util\Test::getSize( - \get_class($this), - $this->getName(false) - ); - } - - /** - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public function hasSize(): bool - { - return $this->getSize() !== \PHPUnit\Util\Test::UNKNOWN; - } - - /** - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public function isSmall(): bool - { - return $this->getSize() === \PHPUnit\Util\Test::SMALL; - } - - /** - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public function isMedium(): bool - { - return $this->getSize() === \PHPUnit\Util\Test::MEDIUM; - } - - /** - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public function isLarge(): bool - { - return $this->getSize() === \PHPUnit\Util\Test::LARGE; - } - - public function getActualOutput(): string - { - if (!$this->outputBufferingActive) { - return $this->output; - } - - return \ob_get_contents(); - } - - public function hasOutput(): bool - { - if ($this->output === '') { - return false; - } - - if ($this->hasExpectationOnOutput()) { - return false; - } - - return true; - } - - public function doesNotPerformAssertions(): bool - { - return $this->doesNotPerformAssertions; - } - - public function expectOutputRegex(string $expectedRegex): void - { - $this->outputExpectedRegex = $expectedRegex; - } - - public function expectOutputString(string $expectedString): void - { - $this->outputExpectedString = $expectedString; - } - - public function hasExpectationOnOutput(): bool - { - return \is_string($this->outputExpectedString) || \is_string($this->outputExpectedRegex); - } - - public function getExpectedException(): ?string - { - return $this->expectedException; - } - - /** - * @return null|int|string - */ - public function getExpectedExceptionCode() - { - return $this->expectedExceptionCode; - } - - public function getExpectedExceptionMessage(): ?string - { - return $this->expectedExceptionMessage; - } - - public function getExpectedExceptionMessageRegExp(): ?string - { - return $this->expectedExceptionMessageRegExp; - } - - public function expectException(string $exception): void - { - $this->expectedException = $exception; - } - - /** - * @param int|string $code - */ - public function expectExceptionCode($code): void - { - $this->expectedExceptionCode = $code; - } - - public function expectExceptionMessage(string $message): void - { - $this->expectedExceptionMessage = $message; - } - - public function expectExceptionMessageRegExp(string $messageRegExp): void - { - $this->expectedExceptionMessageRegExp = $messageRegExp; - } - - /** - * Sets up an expectation for an exception to be raised by the code under test. - * Information for expected exception class, expected exception message, and - * expected exception code are retrieved from a given Exception object. - */ - public function expectExceptionObject(\Exception $exception): void - { - $this->expectException(\get_class($exception)); - $this->expectExceptionMessage($exception->getMessage()); - $this->expectExceptionCode($exception->getCode()); - } - - public function expectNotToPerformAssertions() - { - $this->doesNotPerformAssertions = true; - } - - public function setRegisterMockObjectsFromTestArgumentsRecursively(bool $flag): void - { - $this->registerMockObjectsFromTestArgumentsRecursively = $flag; - } - - public function setUseErrorHandler(bool $useErrorHandler): void - { - $this->useErrorHandler = $useErrorHandler; - } - - public function getStatus(): int - { - return $this->status; - } - - public function markAsRisky(): void - { - $this->status = BaseTestRunner::STATUS_RISKY; - } - - public function getStatusMessage(): string - { - return $this->statusMessage; - } - - public function hasFailed(): bool - { - $status = $this->getStatus(); - - return $status === BaseTestRunner::STATUS_FAILURE || $status === BaseTestRunner::STATUS_ERROR; - } - - /** - * Runs the test case and collects the results in a TestResult object. - * If no TestResult object is passed a new one will be created. - * - * @throws CodeCoverageException - * @throws ReflectionException - * @throws \SebastianBergmann\CodeCoverage\CoveredCodeNotExecutedException - * @throws \SebastianBergmann\CodeCoverage\InvalidArgumentException - * @throws \SebastianBergmann\CodeCoverage\MissingCoversAnnotationException - * @throws \SebastianBergmann\CodeCoverage\RuntimeException - * @throws \SebastianBergmann\CodeCoverage\UnintentionallyCoveredCodeException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public function run(TestResult $result = null): TestResult - { - if ($result === null) { - $result = $this->createResult(); - } - - if (!$this instanceof WarningTestCase) { - $this->setTestResultObject($result); - $this->setUseErrorHandlerFromAnnotation(); - } - - if ($this->useErrorHandler !== null) { - $oldErrorHandlerSetting = $result->getConvertErrorsToExceptions(); - $result->convertErrorsToExceptions($this->useErrorHandler); - } - - if (!$this instanceof WarningTestCase && - !$this instanceof SkippedTestCase && - !$this->handleDependencies()) { - return $result; - } - - if ($this->runInSeparateProcess()) { - $runEntireClass = $this->runClassInSeparateProcess && !$this->runTestInSeparateProcess; - - $class = new ReflectionClass($this); - - if ($runEntireClass) { - $template = new Text_Template( - __DIR__ . '/../Util/PHP/Template/TestCaseClass.tpl' - ); - } else { - $template = new Text_Template( - __DIR__ . '/../Util/PHP/Template/TestCaseMethod.tpl' - ); - } - - if ($this->preserveGlobalState) { - $constants = GlobalState::getConstantsAsString(); - $globals = GlobalState::getGlobalsAsString(); - $includedFiles = GlobalState::getIncludedFilesAsString(); - $iniSettings = GlobalState::getIniSettingsAsString(); - } else { - $constants = ''; - - if (!empty($GLOBALS['__PHPUNIT_BOOTSTRAP'])) { - $globals = '$GLOBALS[\'__PHPUNIT_BOOTSTRAP\'] = ' . \var_export($GLOBALS['__PHPUNIT_BOOTSTRAP'], true) . ";\n"; - } else { - $globals = ''; - } - $includedFiles = ''; - $iniSettings = ''; - } - - $coverage = $result->getCollectCodeCoverageInformation() ? 'true' : 'false'; - $isStrictAboutTestsThatDoNotTestAnything = $result->isStrictAboutTestsThatDoNotTestAnything() ? 'true' : 'false'; - $isStrictAboutOutputDuringTests = $result->isStrictAboutOutputDuringTests() ? 'true' : 'false'; - $enforcesTimeLimit = $result->enforcesTimeLimit() ? 'true' : 'false'; - $isStrictAboutTodoAnnotatedTests = $result->isStrictAboutTodoAnnotatedTests() ? 'true' : 'false'; - $isStrictAboutResourceUsageDuringSmallTests = $result->isStrictAboutResourceUsageDuringSmallTests() ? 'true' : 'false'; - - if (\defined('PHPUNIT_COMPOSER_INSTALL')) { - $composerAutoload = \var_export(PHPUNIT_COMPOSER_INSTALL, true); - } else { - $composerAutoload = '\'\''; - } - - if (\defined('__PHPUNIT_PHAR__')) { - $phar = \var_export(__PHPUNIT_PHAR__, true); - } else { - $phar = '\'\''; - } - - if ($result->getCodeCoverage()) { - $codeCoverageFilter = $result->getCodeCoverage()->filter(); - } else { - $codeCoverageFilter = null; - } - - $data = \var_export(\serialize($this->data), true); - $dataName = \var_export($this->dataName, true); - $dependencyInput = \var_export(\serialize($this->dependencyInput), true); - $includePath = \var_export(\get_include_path(), true); - $codeCoverageFilter = \var_export(\serialize($codeCoverageFilter), true); - // must do these fixes because TestCaseMethod.tpl has unserialize('{data}') in it, and we can't break BC - // the lines above used to use addcslashes() rather than var_export(), which breaks null byte escape sequences - $data = "'." . $data . ".'"; - $dataName = "'.(" . $dataName . ").'"; - $dependencyInput = "'." . $dependencyInput . ".'"; - $includePath = "'." . $includePath . ".'"; - $codeCoverageFilter = "'." . $codeCoverageFilter . ".'"; - - $configurationFilePath = $GLOBALS['__PHPUNIT_CONFIGURATION_FILE'] ?? ''; - - $var = [ - 'composerAutoload' => $composerAutoload, - 'phar' => $phar, - 'filename' => $class->getFileName(), - 'className' => $class->getName(), - 'collectCodeCoverageInformation' => $coverage, - 'data' => $data, - 'dataName' => $dataName, - 'dependencyInput' => $dependencyInput, - 'constants' => $constants, - 'globals' => $globals, - 'include_path' => $includePath, - 'included_files' => $includedFiles, - 'iniSettings' => $iniSettings, - 'isStrictAboutTestsThatDoNotTestAnything' => $isStrictAboutTestsThatDoNotTestAnything, - 'isStrictAboutOutputDuringTests' => $isStrictAboutOutputDuringTests, - 'enforcesTimeLimit' => $enforcesTimeLimit, - 'isStrictAboutTodoAnnotatedTests' => $isStrictAboutTodoAnnotatedTests, - 'isStrictAboutResourceUsageDuringSmallTests' => $isStrictAboutResourceUsageDuringSmallTests, - 'codeCoverageFilter' => $codeCoverageFilter, - 'configurationFilePath' => $configurationFilePath, - 'name' => $this->getName(false), - ]; - - if (!$runEntireClass) { - $var['methodName'] = $this->name; - } - - $template->setVar( - $var - ); - - $php = AbstractPhpProcess::factory(); - $php->runTestJob($template->render(), $this, $result); - } else { - $result->run($this); - } - - if (isset($oldErrorHandlerSetting)) { - $result->convertErrorsToExceptions($oldErrorHandlerSetting); - } - - $this->result = null; - - return $result; - } - - /** - * @throws \Throwable - */ - public function runBare(): void - { - $this->numAssertions = 0; - - $this->snapshotGlobalState(); - $this->startOutputBuffering(); - \clearstatcache(); - $currentWorkingDirectory = \getcwd(); - - $hookMethods = \PHPUnit\Util\Test::getHookMethods(\get_class($this)); - - $hasMetRequirements = false; - - try { - $this->checkRequirements(); - $hasMetRequirements = true; - - if ($this->inIsolation) { - foreach ($hookMethods['beforeClass'] as $method) { - $this->$method(); - } - } - - $this->setExpectedExceptionFromAnnotation(); - $this->setDoesNotPerformAssertionsFromAnnotation(); - - foreach ($hookMethods['before'] as $method) { - $this->$method(); - } - - $this->assertPreConditions(); - $this->testResult = $this->runTest(); - $this->verifyMockObjects(); - $this->assertPostConditions(); - - if (!empty($this->warnings)) { - throw new Warning( - \implode( - "\n", - \array_unique($this->warnings) - ) - ); - } - - $this->status = BaseTestRunner::STATUS_PASSED; - } catch (IncompleteTest $e) { - $this->status = BaseTestRunner::STATUS_INCOMPLETE; - $this->statusMessage = $e->getMessage(); - } catch (SkippedTest $e) { - $this->status = BaseTestRunner::STATUS_SKIPPED; - $this->statusMessage = $e->getMessage(); - } catch (Warning $e) { - $this->status = BaseTestRunner::STATUS_WARNING; - $this->statusMessage = $e->getMessage(); - } catch (AssertionFailedError $e) { - $this->status = BaseTestRunner::STATUS_FAILURE; - $this->statusMessage = $e->getMessage(); - } catch (PredictionException $e) { - $this->status = BaseTestRunner::STATUS_FAILURE; - $this->statusMessage = $e->getMessage(); - } catch (Throwable $_e) { - $e = $_e; - $this->status = BaseTestRunner::STATUS_ERROR; - $this->statusMessage = $_e->getMessage(); - } - - $this->mockObjects = []; - $this->prophet = null; - - // Tear down the fixture. An exception raised in tearDown() will be - // caught and passed on when no exception was raised before. - try { - if ($hasMetRequirements) { - foreach ($hookMethods['after'] as $method) { - $this->$method(); - } - - if ($this->inIsolation) { - foreach ($hookMethods['afterClass'] as $method) { - $this->$method(); - } - } - } - } catch (Throwable $_e) { - $e = $e ?? $_e; - } - - try { - $this->stopOutputBuffering(); - } catch (RiskyTestError $_e) { - $e = $e ?? $_e; - } - - if (isset($_e)) { - $this->status = BaseTestRunner::STATUS_ERROR; - $this->statusMessage = $_e->getMessage(); - } - - \clearstatcache(); - - if ($currentWorkingDirectory != \getcwd()) { - \chdir($currentWorkingDirectory); - } - - $this->restoreGlobalState(); - $this->unregisterCustomComparators(); - $this->cleanupIniSettings(); - $this->cleanupLocaleSettings(); - \libxml_clear_errors(); - - // Perform assertion on output. - if (!isset($e)) { - try { - if ($this->outputExpectedRegex !== null) { - $this->assertRegExp($this->outputExpectedRegex, $this->output); - } elseif ($this->outputExpectedString !== null) { - $this->assertEquals($this->outputExpectedString, $this->output); - } - } catch (Throwable $_e) { - $e = $_e; - } - } - - // Workaround for missing "finally". - if (isset($e)) { - if ($e instanceof PredictionException) { - $e = new AssertionFailedError($e->getMessage()); - } - - $this->onNotSuccessfulTest($e); - } - } - - public function setName(string $name): void - { - $this->name = $name; - } - - /** - * @param string[] $dependencies - */ - public function setDependencies(array $dependencies): void - { - $this->dependencies = $dependencies; - } - - public function getDependencies(): array - { - return $this->dependencies; - } - - public function hasDependencies(): bool - { - return \count($this->dependencies) > 0; - } - - public function setDependencyInput(array $dependencyInput): void - { - $this->dependencyInput = $dependencyInput; - } - - public function setBeStrictAboutChangesToGlobalState(?bool $beStrictAboutChangesToGlobalState): void - { - $this->beStrictAboutChangesToGlobalState = $beStrictAboutChangesToGlobalState; - } - - public function setBackupGlobals(?bool $backupGlobals): void - { - if ($this->backupGlobals === null && $backupGlobals !== null) { - $this->backupGlobals = $backupGlobals; - } - } - - public function setBackupStaticAttributes(?bool $backupStaticAttributes): void - { - if ($this->backupStaticAttributes === null && $backupStaticAttributes !== null) { - $this->backupStaticAttributes = $backupStaticAttributes; - } - } - - public function setRunTestInSeparateProcess(bool $runTestInSeparateProcess): void - { - if ($this->runTestInSeparateProcess === null) { - $this->runTestInSeparateProcess = $runTestInSeparateProcess; - } - } - - public function setRunClassInSeparateProcess(bool $runClassInSeparateProcess): void - { - if ($this->runClassInSeparateProcess === null) { - $this->runClassInSeparateProcess = $runClassInSeparateProcess; - } - } - - public function setPreserveGlobalState(bool $preserveGlobalState): void - { - $this->preserveGlobalState = $preserveGlobalState; - } - - public function setInIsolation(bool $inIsolation): void - { - $this->inIsolation = $inIsolation; - } - - public function isInIsolation(): bool - { - return $this->inIsolation; - } - - public function getResult() - { - return $this->testResult; - } - - public function setResult($result): void - { - $this->testResult = $result; - } - - public function setOutputCallback(callable $callback): void - { - $this->outputCallback = $callback; - } - - public function getTestResultObject(): ?TestResult - { - return $this->result; - } - - public function setTestResultObject(TestResult $result): void - { - $this->result = $result; - } - - public function registerMockObject(MockObject $mockObject): void - { - $this->mockObjects[] = $mockObject; - } - - /** - * Returns a builder object to create mock objects using a fluent interface. - * - * @param string|string[] $className - */ - public function getMockBuilder($className): MockBuilder - { - return new MockBuilder($this, $className); - } - - public function addToAssertionCount(int $count): void - { - $this->numAssertions += $count; - } - - /** - * Returns the number of assertions performed by this test. - */ - public function getNumAssertions(): int - { - return $this->numAssertions; - } - - public function usesDataProvider(): bool - { - return !empty($this->data); - } - - public function dataDescription(): string - { - return \is_string($this->dataName) ? $this->dataName : ''; - } - - /** - * @return int|string - */ - public function dataName() - { - return $this->dataName; - } - - public function registerComparator(Comparator $comparator): void - { - ComparatorFactory::getInstance()->register($comparator); - - $this->customComparators[] = $comparator; - } - - public function getDataSetAsString(bool $includeData = true): string - { - $buffer = ''; - - if (!empty($this->data)) { - if (\is_int($this->dataName)) { - $buffer .= \sprintf(' with data set #%d', $this->dataName); - } else { - $buffer .= \sprintf(' with data set "%s"', $this->dataName); - } - - $exporter = new Exporter; - - if ($includeData) { - $buffer .= \sprintf(' (%s)', $exporter->shortenedRecursiveExport($this->data)); - } - } - - return $buffer; - } - - /** - * Gets the data set of a TestCase. - */ - public function getProvidedData(): array - { - return $this->data; - } - - public function addWarning(string $warning): void - { - $this->warnings[] = $warning; - } - - /** - * Override to run the test and assert its state. - * - * @throws AssertionFailedError - * @throws Exception - * @throws ExpectationFailedException - * @throws \SebastianBergmann\ObjectEnumerator\InvalidArgumentException - * @throws Throwable - */ - protected function runTest() - { - if ($this->name === null) { - throw new Exception( - 'PHPUnit\Framework\TestCase::$name must not be null.' - ); - } - - $testArguments = \array_merge($this->data, $this->dependencyInput); - - $this->registerMockObjectsFromTestArguments($testArguments); - - try { - $testResult = $this->{$this->name}(...\array_values($testArguments)); - } catch (Throwable $exception) { - if (!$this->checkExceptionExpectations($exception)) { - throw $exception; - } - - if ($this->expectedException !== null) { - $this->assertThat( - $exception, - new ExceptionConstraint( - $this->expectedException - ) - ); - } - - if ($this->expectedExceptionMessage !== null) { - $this->assertThat( - $exception, - new ExceptionMessage( - $this->expectedExceptionMessage - ) - ); - } - - if ($this->expectedExceptionMessageRegExp !== null) { - $this->assertThat( - $exception, - new ExceptionMessageRegularExpression( - $this->expectedExceptionMessageRegExp - ) - ); - } - - if ($this->expectedExceptionCode !== null) { - $this->assertThat( - $exception, - new ExceptionCode( - $this->expectedExceptionCode - ) - ); - } - - return; - } - - if ($this->expectedException !== null) { - $this->assertThat( - null, - new ExceptionConstraint( - $this->expectedException - ) - ); - } elseif ($this->expectedExceptionMessage !== null) { - $this->numAssertions++; - - throw new AssertionFailedError( - \sprintf( - 'Failed asserting that exception with message "%s" is thrown', - $this->expectedExceptionMessage - ) - ); - } elseif ($this->expectedExceptionMessageRegExp !== null) { - $this->numAssertions++; - - throw new AssertionFailedError( - \sprintf( - 'Failed asserting that exception with message matching "%s" is thrown', - $this->expectedExceptionMessageRegExp - ) - ); - } elseif ($this->expectedExceptionCode !== null) { - $this->numAssertions++; - - throw new AssertionFailedError( - \sprintf( - 'Failed asserting that exception with code "%s" is thrown', - $this->expectedExceptionCode - ) - ); - } - - return $testResult; - } - - /** - * This method is a wrapper for the ini_set() function that automatically - * resets the modified php.ini setting to its original value after the - * test is run. - * - * @throws Exception - */ - protected function iniSet(string $varName, $newValue): void - { - $currentValue = \ini_set($varName, $newValue); - - if ($currentValue !== false) { - $this->iniSettings[$varName] = $currentValue; - } else { - throw new Exception( - \sprintf( - 'INI setting "%s" could not be set to "%s".', - $varName, - $newValue - ) - ); - } - } - - /** - * This method is a wrapper for the setlocale() function that automatically - * resets the locale to its original value after the test is run. - * - * @throws Exception - */ - protected function setLocale(...$args): void - { - if (\count($args) < 2) { - throw new Exception; - } - - [$category, $locale] = $args; - - if (\defined('LC_MESSAGES')) { - $categories[] = \LC_MESSAGES; - } - - if (!\in_array($category, self::LOCALE_CATEGORIES, true)) { - throw new Exception; - } - - if (!\is_array($locale) && !\is_string($locale)) { - throw new Exception; - } - - $this->locale[$category] = \setlocale($category, 0); - - $result = \setlocale(...$args); - - if ($result === false) { - throw new Exception( - 'The locale functionality is not implemented on your platform, ' . - 'the specified locale does not exist or the category name is ' . - 'invalid.' - ); - } - } - - /** - * Returns a test double for the specified class. - * - * @param string|string[] $originalClassName - * - * @throws Exception - * @throws \InvalidArgumentException - */ - protected function createMock($originalClassName): MockObject - { - return $this->getMockBuilder($originalClassName) - ->disableOriginalConstructor() - ->disableOriginalClone() - ->disableArgumentCloning() - ->disallowMockingUnknownTypes() - ->getMock(); - } - - /** - * Returns a configured test double for the specified class. - * - * @param string|string[] $originalClassName - * - * @throws Exception - * @throws \InvalidArgumentException - */ - protected function createConfiguredMock($originalClassName, array $configuration): MockObject - { - $o = $this->createMock($originalClassName); - - foreach ($configuration as $method => $return) { - $o->method($method)->willReturn($return); - } - - return $o; - } - - /** - * Returns a partial test double for the specified class. - * - * @param string|string[] $originalClassName - * @param string[] $methods - * - * @throws Exception - * @throws \InvalidArgumentException - */ - protected function createPartialMock($originalClassName, array $methods): MockObject - { - return $this->getMockBuilder($originalClassName) - ->disableOriginalConstructor() - ->disableOriginalClone() - ->disableArgumentCloning() - ->disallowMockingUnknownTypes() - ->setMethods(empty($methods) ? null : $methods) - ->getMock(); - } - - /** - * Returns a test proxy for the specified class. - * - * @throws Exception - * @throws \InvalidArgumentException - */ - protected function createTestProxy(string $originalClassName, array $constructorArguments = []): MockObject - { - return $this->getMockBuilder($originalClassName) - ->setConstructorArgs($constructorArguments) - ->enableProxyingToOriginalMethods() - ->getMock(); - } - - /** - * Mocks the specified class and returns the name of the mocked class. - * - * @param string $originalClassName - * @param array $methods - * @param string $mockClassName - * @param bool $callOriginalConstructor - * @param bool $callOriginalClone - * @param bool $callAutoload - * @param bool $cloneArguments - * - * @throws Exception - * @throws ReflectionException - * @throws \InvalidArgumentException - */ - protected function getMockClass($originalClassName, $methods = [], array $arguments = [], $mockClassName = '', $callOriginalConstructor = false, $callOriginalClone = true, $callAutoload = true, $cloneArguments = false): string - { - $mock = $this->getMockObjectGenerator()->getMock( - $originalClassName, - $methods, - $arguments, - $mockClassName, - $callOriginalConstructor, - $callOriginalClone, - $callAutoload, - $cloneArguments - ); - - return \get_class($mock); - } - - /** - * Returns a mock object for the specified abstract class with all abstract - * methods of the class mocked. Concrete methods are not mocked by default. - * To mock concrete methods, use the 7th parameter ($mockedMethods). - * - * @param string $originalClassName - * @param string $mockClassName - * @param bool $callOriginalConstructor - * @param bool $callOriginalClone - * @param bool $callAutoload - * @param array $mockedMethods - * @param bool $cloneArguments - * - * @throws Exception - * @throws ReflectionException - * @throws \InvalidArgumentException - */ - protected function getMockForAbstractClass($originalClassName, array $arguments = [], $mockClassName = '', $callOriginalConstructor = true, $callOriginalClone = true, $callAutoload = true, $mockedMethods = [], $cloneArguments = false): MockObject - { - $mockObject = $this->getMockObjectGenerator()->getMockForAbstractClass( - $originalClassName, - $arguments, - $mockClassName, - $callOriginalConstructor, - $callOriginalClone, - $callAutoload, - $mockedMethods, - $cloneArguments - ); - - $this->registerMockObject($mockObject); - - return $mockObject; - } - - /** - * Returns a mock object based on the given WSDL file. - * - * @param string $wsdlFile - * @param string $originalClassName - * @param string $mockClassName - * @param bool $callOriginalConstructor - * @param array $options An array of options passed to SOAPClient::_construct - * - * @throws Exception - * @throws ReflectionException - * @throws \InvalidArgumentException - */ - protected function getMockFromWsdl($wsdlFile, $originalClassName = '', $mockClassName = '', array $methods = [], $callOriginalConstructor = true, array $options = []): MockObject - { - if ($originalClassName === '') { - $fileName = \pathinfo(\basename(\parse_url($wsdlFile)['path']), \PATHINFO_FILENAME); - $originalClassName = \preg_replace('/[^a-zA-Z0-9_]/', '', $fileName); - } - - if (!\class_exists($originalClassName)) { - eval( - $this->getMockObjectGenerator()->generateClassFromWsdl( - $wsdlFile, - $originalClassName, - $methods, - $options - ) - ); - } - - $mockObject = $this->getMockObjectGenerator()->getMock( - $originalClassName, - $methods, - ['', $options], - $mockClassName, - $callOriginalConstructor, - false, - false - ); - - $this->registerMockObject($mockObject); - - return $mockObject; - } - - /** - * Returns a mock object for the specified trait with all abstract methods - * of the trait mocked. Concrete methods to mock can be specified with the - * `$mockedMethods` parameter. - * - * @param string $traitName - * @param string $mockClassName - * @param bool $callOriginalConstructor - * @param bool $callOriginalClone - * @param bool $callAutoload - * @param array $mockedMethods - * @param bool $cloneArguments - * - * @throws Exception - * @throws ReflectionException - * @throws \InvalidArgumentException - */ - protected function getMockForTrait($traitName, array $arguments = [], $mockClassName = '', $callOriginalConstructor = true, $callOriginalClone = true, $callAutoload = true, $mockedMethods = [], $cloneArguments = false): MockObject - { - $mockObject = $this->getMockObjectGenerator()->getMockForTrait( - $traitName, - $arguments, - $mockClassName, - $callOriginalConstructor, - $callOriginalClone, - $callAutoload, - $mockedMethods, - $cloneArguments - ); - - $this->registerMockObject($mockObject); - - return $mockObject; - } - - /** - * Returns an object for the specified trait. - * - * @param string $traitName - * @param string $traitClassName - * @param bool $callOriginalConstructor - * @param bool $callOriginalClone - * @param bool $callAutoload - * - * @throws Exception - * @throws ReflectionException - * @throws \InvalidArgumentException - * - * @return object - */ - protected function getObjectForTrait($traitName, array $arguments = [], $traitClassName = '', $callOriginalConstructor = true, $callOriginalClone = true, $callAutoload = true)/*: object*/ - { - return $this->getMockObjectGenerator()->getObjectForTrait( - $traitName, - $arguments, - $traitClassName, - $callOriginalConstructor, - $callOriginalClone, - $callAutoload - ); - } - - /** - * @param null|string $classOrInterface - * - * @throws Prophecy\Exception\Doubler\ClassNotFoundException - * @throws Prophecy\Exception\Doubler\DoubleException - * @throws Prophecy\Exception\Doubler\InterfaceNotFoundException - */ - protected function prophesize($classOrInterface = null): ObjectProphecy - { - return $this->getProphet()->prophesize($classOrInterface); - } - - /** - * Creates a default TestResult object. - */ - protected function createResult(): TestResult - { - return new TestResult; - } - - /** - * Performs assertions shared by all tests of a test case. - * - * This method is called between setUp() and test. - */ - protected function assertPreConditions()/* The :void return type declaration that should be here would cause a BC issue */ - { - } - - /** - * Performs assertions shared by all tests of a test case. - * - * This method is called between test and tearDown(). - */ - protected function assertPostConditions()/* The :void return type declaration that should be here would cause a BC issue */ - { - } - - /** - * This method is called when a test method did not execute successfully. - * - * @throws Throwable - */ - protected function onNotSuccessfulTest(Throwable $t)/* The :void return type declaration that should be here would cause a BC issue */ - { - throw $t; - } - - private function setExpectedExceptionFromAnnotation(): void - { - try { - $expectedException = \PHPUnit\Util\Test::getExpectedException( - \get_class($this), - $this->name - ); - - if ($expectedException !== false) { - $this->expectException($expectedException['class']); - - if ($expectedException['code'] !== null) { - $this->expectExceptionCode($expectedException['code']); - } - - if ($expectedException['message'] !== '') { - $this->expectExceptionMessage($expectedException['message']); - } elseif ($expectedException['message_regex'] !== '') { - $this->expectExceptionMessageRegExp($expectedException['message_regex']); - } - } - } catch (ReflectionException $e) { - } - } - - private function setUseErrorHandlerFromAnnotation(): void - { - try { - $useErrorHandler = \PHPUnit\Util\Test::getErrorHandlerSettings( - \get_class($this), - $this->name - ); - - if ($useErrorHandler !== null) { - $this->setUseErrorHandler($useErrorHandler); - } - } catch (ReflectionException $e) { - } - } - - private function checkRequirements(): void - { - if (!$this->name || !\method_exists($this, $this->name)) { - return; - } - - $missingRequirements = \PHPUnit\Util\Test::getMissingRequirements( - \get_class($this), - $this->name - ); - - if (!empty($missingRequirements)) { - $this->markTestSkipped(\implode(\PHP_EOL, $missingRequirements)); - } - } - - private function verifyMockObjects(): void - { - foreach ($this->mockObjects as $mockObject) { - if ($mockObject->__phpunit_hasMatchers()) { - $this->numAssertions++; - } - - $mockObject->__phpunit_verify( - $this->shouldInvocationMockerBeReset($mockObject) - ); - } - - if ($this->prophet !== null) { - try { - $this->prophet->checkPredictions(); - } finally { - foreach ($this->prophet->getProphecies() as $objectProphecy) { - foreach ($objectProphecy->getMethodProphecies() as $methodProphecies) { - /** @var MethodProphecy[] $methodProphecies */ - foreach ($methodProphecies as $methodProphecy) { - $this->numAssertions += \count($methodProphecy->getCheckedPredictions()); - } - } - } - } - } - } - - private function handleDependencies(): bool - { - if (!empty($this->dependencies) && !$this->inIsolation) { - $className = \get_class($this); - $passed = $this->result->passed(); - $passedKeys = \array_keys($passed); - $numKeys = \count($passedKeys); - - for ($i = 0; $i < $numKeys; $i++) { - $pos = \strpos($passedKeys[$i], ' with data set'); - - if ($pos !== false) { - $passedKeys[$i] = \substr($passedKeys[$i], 0, $pos); - } - } - - $passedKeys = \array_flip(\array_unique($passedKeys)); - - foreach ($this->dependencies as $dependency) { - $deepClone = false; - $shallowClone = false; - - if (\strpos($dependency, 'clone ') === 0) { - $deepClone = true; - $dependency = \substr($dependency, \strlen('clone ')); - } elseif (\strpos($dependency, '!clone ') === 0) { - $deepClone = false; - $dependency = \substr($dependency, \strlen('!clone ')); - } - - if (\strpos($dependency, 'shallowClone ') === 0) { - $shallowClone = true; - $dependency = \substr($dependency, \strlen('shallowClone ')); - } elseif (\strpos($dependency, '!shallowClone ') === 0) { - $shallowClone = false; - $dependency = \substr($dependency, \strlen('!shallowClone ')); - } - - if (\strpos($dependency, '::') === false) { - $dependency = $className . '::' . $dependency; - } - - if (!isset($passedKeys[$dependency])) { - if (!\is_callable($dependency, false, $callableName) || $dependency !== $callableName) { - $this->markWarningForUncallableDependency($dependency); - } else { - $this->markSkippedForMissingDependecy($dependency); - } - - return false; - } - - if (isset($passed[$dependency])) { - if ($passed[$dependency]['size'] != \PHPUnit\Util\Test::UNKNOWN && - $this->getSize() != \PHPUnit\Util\Test::UNKNOWN && - $passed[$dependency]['size'] > $this->getSize()) { - $this->result->addError( - $this, - new SkippedTestError( - 'This test depends on a test that is larger than itself.' - ), - 0 - ); - - return false; - } - - if ($deepClone) { - $deepCopy = new DeepCopy; - $deepCopy->skipUncloneable(false); - - $this->dependencyInput[$dependency] = $deepCopy->copy($passed[$dependency]['result']); - } elseif ($shallowClone) { - $this->dependencyInput[$dependency] = clone $passed[$dependency]['result']; - } else { - $this->dependencyInput[$dependency] = $passed[$dependency]['result']; - } - } else { - $this->dependencyInput[$dependency] = null; - } - } - } - - return true; - } - - private function markSkippedForMissingDependecy(string $dependency): void - { - $this->status = BaseTestRunner::STATUS_SKIPPED; - $this->result->startTest($this); - $this->result->addError( - $this, - new SkippedTestError( - \sprintf( - 'This test depends on "%s" to pass.', - $dependency - ) - ), - 0 - ); - $this->result->endTest($this, 0); - } - - private function markWarningForUncallableDependency(string $dependency): void - { - $this->status = BaseTestRunner::STATUS_WARNING; - $this->result->startTest($this); - $this->result->addWarning( - $this, - new Warning( - \sprintf( - 'This test depends on "%s" which does not exist.', - $dependency - ) - ), - 0 - ); - $this->result->endTest($this, 0); - } - - /** - * Get the mock object generator, creating it if it doesn't exist. - */ - private function getMockObjectGenerator(): MockGenerator - { - if ($this->mockObjectGenerator === null) { - $this->mockObjectGenerator = new MockGenerator; - } - - return $this->mockObjectGenerator; - } - - private function startOutputBuffering(): void - { - \ob_start(); - - $this->outputBufferingActive = true; - $this->outputBufferingLevel = \ob_get_level(); - } - - /** - * @throws RiskyTestError - */ - private function stopOutputBuffering(): void - { - if (\ob_get_level() !== $this->outputBufferingLevel) { - while (\ob_get_level() >= $this->outputBufferingLevel) { - \ob_end_clean(); - } - - throw new RiskyTestError( - 'Test code or tested code did not (only) close its own output buffers' - ); - } - - $this->output = \ob_get_contents(); - - if ($this->outputCallback !== false) { - $this->output = (string) \call_user_func($this->outputCallback, $this->output); - } - - \ob_end_clean(); - - $this->outputBufferingActive = false; - $this->outputBufferingLevel = \ob_get_level(); - } - - private function snapshotGlobalState(): void - { - if ($this->runTestInSeparateProcess || $this->inIsolation || - (!$this->backupGlobals === true && !$this->backupStaticAttributes)) { - return; - } - - $this->snapshot = $this->createGlobalStateSnapshot($this->backupGlobals === true); - } - - /** - * @throws RiskyTestError - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - * @throws \InvalidArgumentException - */ - private function restoreGlobalState(): void - { - if (!$this->snapshot instanceof Snapshot) { - return; - } - - if ($this->beStrictAboutChangesToGlobalState) { - try { - $this->compareGlobalStateSnapshots( - $this->snapshot, - $this->createGlobalStateSnapshot($this->backupGlobals === true) - ); - } catch (RiskyTestError $rte) { - // Intentionally left empty - } - } - - $restorer = new Restorer; - - if ($this->backupGlobals === true) { - $restorer->restoreGlobalVariables($this->snapshot); - } - - if ($this->backupStaticAttributes) { - $restorer->restoreStaticAttributes($this->snapshot); - } - - $this->snapshot = null; - - if (isset($rte)) { - throw $rte; - } - } - - private function createGlobalStateSnapshot(bool $backupGlobals): Snapshot - { - $blacklist = new Blacklist; - - foreach ($this->backupGlobalsBlacklist as $globalVariable) { - $blacklist->addGlobalVariable($globalVariable); - } - - if (!\defined('PHPUNIT_TESTSUITE')) { - $blacklist->addClassNamePrefix('PHPUnit'); - $blacklist->addClassNamePrefix('SebastianBergmann\CodeCoverage'); - $blacklist->addClassNamePrefix('SebastianBergmann\FileIterator'); - $blacklist->addClassNamePrefix('SebastianBergmann\Invoker'); - $blacklist->addClassNamePrefix('SebastianBergmann\Timer'); - $blacklist->addClassNamePrefix('PHP_Token'); - $blacklist->addClassNamePrefix('Symfony'); - $blacklist->addClassNamePrefix('Text_Template'); - $blacklist->addClassNamePrefix('Doctrine\Instantiator'); - $blacklist->addClassNamePrefix('Prophecy'); - - foreach ($this->backupStaticAttributesBlacklist as $class => $attributes) { - foreach ($attributes as $attribute) { - $blacklist->addStaticAttribute($class, $attribute); - } - } - } - - return new Snapshot( - $blacklist, - $backupGlobals, - (bool) $this->backupStaticAttributes, - false, - false, - false, - false, - false, - false, - false - ); - } - - /** - * @throws RiskyTestError - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - * @throws \InvalidArgumentException - */ - private function compareGlobalStateSnapshots(Snapshot $before, Snapshot $after): void - { - $backupGlobals = $this->backupGlobals === null || $this->backupGlobals === true; - - if ($backupGlobals) { - $this->compareGlobalStateSnapshotPart( - $before->globalVariables(), - $after->globalVariables(), - "--- Global variables before the test\n+++ Global variables after the test\n" - ); - - $this->compareGlobalStateSnapshotPart( - $before->superGlobalVariables(), - $after->superGlobalVariables(), - "--- Super-global variables before the test\n+++ Super-global variables after the test\n" - ); - } - - if ($this->backupStaticAttributes) { - $this->compareGlobalStateSnapshotPart( - $before->staticAttributes(), - $after->staticAttributes(), - "--- Static attributes before the test\n+++ Static attributes after the test\n" - ); - } - } - - /** - * @throws RiskyTestError - */ - private function compareGlobalStateSnapshotPart(array $before, array $after, string $header): void - { - if ($before != $after) { - $differ = new Differ($header); - $exporter = new Exporter; - - $diff = $differ->diff( - $exporter->export($before), - $exporter->export($after) - ); - - throw new RiskyTestError( - $diff - ); - } - } - - private function getProphet(): Prophet - { - if ($this->prophet === null) { - $this->prophet = new Prophet; - } - - return $this->prophet; - } - - /** - * @throws \SebastianBergmann\ObjectEnumerator\InvalidArgumentException - */ - private function shouldInvocationMockerBeReset(MockObject $mock): bool - { - $enumerator = new Enumerator; - - foreach ($enumerator->enumerate($this->dependencyInput) as $object) { - if ($mock === $object) { - return false; - } - } - - if (!\is_array($this->testResult) && !\is_object($this->testResult)) { - return true; - } - - return !\in_array($mock, $enumerator->enumerate($this->testResult), true); - } - - /** - * @throws \SebastianBergmann\ObjectEnumerator\InvalidArgumentException - * @throws \SebastianBergmann\ObjectReflector\InvalidArgumentException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - private function registerMockObjectsFromTestArguments(array $testArguments, array &$visited = []): void - { - if ($this->registerMockObjectsFromTestArgumentsRecursively) { - $enumerator = new Enumerator; - - foreach ($enumerator->enumerate($testArguments) as $object) { - if ($object instanceof MockObject) { - $this->registerMockObject($object); - } - } - } else { - foreach ($testArguments as $testArgument) { - if ($testArgument instanceof MockObject) { - if ($this->isCloneable($testArgument)) { - $testArgument = clone $testArgument; - } - - $this->registerMockObject($testArgument); - } elseif (\is_array($testArgument) && !\in_array($testArgument, $visited, true)) { - $visited[] = $testArgument; - - $this->registerMockObjectsFromTestArguments( - $testArgument, - $visited - ); - } - } - } - } - - private function setDoesNotPerformAssertionsFromAnnotation(): void - { - $annotations = $this->getAnnotations(); - - if (isset($annotations['method']['doesNotPerformAssertions'])) { - $this->doesNotPerformAssertions = true; - } - } - - private function isCloneable(MockObject $testArgument): bool - { - $reflector = new ReflectionObject($testArgument); - - if (!$reflector->isCloneable()) { - return false; - } - - if ($reflector->hasMethod('__clone') && - $reflector->getMethod('__clone')->isPublic()) { - return true; - } - - return false; - } - - private function unregisterCustomComparators(): void - { - $factory = ComparatorFactory::getInstance(); - - foreach ($this->customComparators as $comparator) { - $factory->unregister($comparator); - } - - $this->customComparators = []; - } - - private function cleanupIniSettings(): void - { - foreach ($this->iniSettings as $varName => $oldValue) { - \ini_set($varName, $oldValue); - } - - $this->iniSettings = []; - } - - private function cleanupLocaleSettings(): void - { - foreach ($this->locale as $category => $locale) { - \setlocale($category, $locale); - } - - $this->locale = []; - } - - /** - * @throws ReflectionException - */ - private function checkExceptionExpectations(Throwable $throwable): bool - { - $result = false; - - if ($this->expectedException !== null || $this->expectedExceptionCode !== null || $this->expectedExceptionMessage !== null || $this->expectedExceptionMessageRegExp !== null) { - $result = true; - } - - if ($throwable instanceof Exception) { - $result = false; - } - - if (\is_string($this->expectedException)) { - $reflector = new ReflectionClass($this->expectedException); - - if ($this->expectedException === 'PHPUnit\Framework\Exception' || - $this->expectedException === '\PHPUnit\Framework\Exception' || - $reflector->isSubclassOf(Exception::class)) { - $result = true; - } - } - - return $result; - } - - private function runInSeparateProcess(): bool - { - return ($this->runTestInSeparateProcess === true || $this->runClassInSeparateProcess === true) && - $this->inIsolation !== true && !$this instanceof PhptTestCase; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/TestFailure.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/TestFailure.php deleted file mode 100644 index fce6af7..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/TestFailure.php +++ /dev/null @@ -1,154 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework; - -use PHPUnit\Framework\Error\Error; -use Throwable; - -/** - * A TestFailure collects a failed test together with the caught exception. - */ -class TestFailure -{ - /** - * @var null|Test - */ - protected $failedTest; - - /** - * @var Throwable - */ - protected $thrownException; - - /** - * @var string - */ - private $testName; - - /** - * Returns a description for an exception. - * - * @throws \InvalidArgumentException - */ - public static function exceptionToString(Throwable $e): string - { - if ($e instanceof SelfDescribing) { - $buffer = $e->toString(); - - if ($e instanceof ExpectationFailedException && $e->getComparisonFailure()) { - $buffer .= $e->getComparisonFailure()->getDiff(); - } - - if (!empty($buffer)) { - $buffer = \trim($buffer) . "\n"; - } - - return $buffer; - } - - if ($e instanceof Error) { - return $e->getMessage() . "\n"; - } - - if ($e instanceof ExceptionWrapper) { - return $e->getClassName() . ': ' . $e->getMessage() . "\n"; - } - - return \get_class($e) . ': ' . $e->getMessage() . "\n"; - } - - /** - * Constructs a TestFailure with the given test and exception. - * - * @param Throwable $t - */ - public function __construct(Test $failedTest, $t) - { - if ($failedTest instanceof SelfDescribing) { - $this->testName = $failedTest->toString(); - } else { - $this->testName = \get_class($failedTest); - } - - if (!$failedTest instanceof TestCase || !$failedTest->isInIsolation()) { - $this->failedTest = $failedTest; - } - - $this->thrownException = $t; - } - - /** - * Returns a short description of the failure. - */ - public function toString(): string - { - return \sprintf( - '%s: %s', - $this->testName, - $this->thrownException->getMessage() - ); - } - - /** - * Returns a description for the thrown exception. - * - * @throws \InvalidArgumentException - */ - public function getExceptionAsString(): string - { - return self::exceptionToString($this->thrownException); - } - - /** - * Returns the name of the failing test (including data set, if any). - */ - public function getTestName(): string - { - return $this->testName; - } - - /** - * Returns the failing test. - * - * Note: The test object is not set when the test is executed in process - * isolation. - * - * @see Exception - */ - public function failedTest(): ?Test - { - return $this->failedTest; - } - - /** - * Gets the thrown exception. - */ - public function thrownException(): Throwable - { - return $this->thrownException; - } - - /** - * Returns the exception's message. - */ - public function exceptionMessage(): string - { - return $this->thrownException()->getMessage(); - } - - /** - * Returns true if the thrown exception - * is of type AssertionFailedError. - */ - public function isFailure(): bool - { - return $this->thrownException() instanceof AssertionFailedError; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/TestListener.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/TestListener.php deleted file mode 100644 index e1c670c..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/TestListener.php +++ /dev/null @@ -1,66 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework; - -/** - * A Listener for test progress. - */ -interface TestListener -{ - /** - * An error occurred. - */ - public function addError(Test $test, \Throwable $t, float $time): void; - - /** - * A warning occurred. - */ - public function addWarning(Test $test, Warning $e, float $time): void; - - /** - * A failure occurred. - */ - public function addFailure(Test $test, AssertionFailedError $e, float $time): void; - - /** - * Incomplete test. - */ - public function addIncompleteTest(Test $test, \Throwable $t, float $time): void; - - /** - * Risky test. - */ - public function addRiskyTest(Test $test, \Throwable $t, float $time): void; - - /** - * Skipped test. - */ - public function addSkippedTest(Test $test, \Throwable $t, float $time): void; - - /** - * A test suite started. - */ - public function startTestSuite(TestSuite $suite): void; - - /** - * A test suite ended. - */ - public function endTestSuite(TestSuite $suite): void; - - /** - * A test started. - */ - public function startTest(Test $test): void; - - /** - * A test ended. - */ - public function endTest(Test $test, float $time): void; -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/TestListenerDefaultImplementation.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/TestListenerDefaultImplementation.php deleted file mode 100644 index df6416f..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/TestListenerDefaultImplementation.php +++ /dev/null @@ -1,53 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework; - -trait TestListenerDefaultImplementation -{ - public function addError(Test $test, \Throwable $t, float $time): void - { - } - - public function addWarning(Test $test, Warning $e, float $time): void - { - } - - public function addFailure(Test $test, AssertionFailedError $e, float $time): void - { - } - - public function addIncompleteTest(Test $test, \Throwable $t, float $time): void - { - } - - public function addRiskyTest(Test $test, \Throwable $t, float $time): void - { - } - - public function addSkippedTest(Test $test, \Throwable $t, float $time): void - { - } - - public function startTestSuite(TestSuite $suite): void - { - } - - public function endTestSuite(TestSuite $suite): void - { - } - - public function startTest(Test $test): void - { - } - - public function endTest(Test $test, float $time): void - { - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/TestResult.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/TestResult.php deleted file mode 100644 index ce99a77..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/TestResult.php +++ /dev/null @@ -1,1146 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework; - -use AssertionError; -use Countable; -use Error; -use PHPUnit\Framework\MockObject\Exception as MockObjectException; -use PHPUnit\Util\Blacklist; -use PHPUnit\Util\ErrorHandler; -use PHPUnit\Util\Printer; -use SebastianBergmann\CodeCoverage\CodeCoverage; -use SebastianBergmann\CodeCoverage\CoveredCodeNotExecutedException as OriginalCoveredCodeNotExecutedException; -use SebastianBergmann\CodeCoverage\Exception as OriginalCodeCoverageException; -use SebastianBergmann\CodeCoverage\MissingCoversAnnotationException as OriginalMissingCoversAnnotationException; -use SebastianBergmann\CodeCoverage\UnintentionallyCoveredCodeException; -use SebastianBergmann\Invoker\Invoker; -use SebastianBergmann\Invoker\TimeoutException; -use SebastianBergmann\ResourceOperations\ResourceOperations; -use SebastianBergmann\Timer\Timer; -use Throwable; - -/** - * A TestResult collects the results of executing a test case. - */ -class TestResult implements Countable -{ - /** - * @var array - */ - protected $passed = []; - - /** - * @var TestFailure[] - */ - protected $errors = []; - - /** - * @var TestFailure[] - */ - protected $failures = []; - - /** - * @var TestFailure[] - */ - protected $warnings = []; - - /** - * @var TestFailure[] - */ - protected $notImplemented = []; - - /** - * @var TestFailure[] - */ - protected $risky = []; - - /** - * @var TestFailure[] - */ - protected $skipped = []; - - /** - * @var TestListener[] - */ - protected $listeners = []; - - /** - * @var int - */ - protected $runTests = 0; - - /** - * @var float - */ - protected $time = 0; - - /** - * @var TestSuite - */ - protected $topTestSuite; - - /** - * Code Coverage information. - * - * @var CodeCoverage - */ - protected $codeCoverage; - - /** - * @var bool - */ - protected $convertErrorsToExceptions = true; - - /** - * @var bool - */ - protected $stop = false; - - /** - * @var bool - */ - protected $stopOnError = false; - - /** - * @var bool - */ - protected $stopOnFailure = false; - - /** - * @var bool - */ - protected $stopOnWarning = false; - - /** - * @var bool - */ - protected $beStrictAboutTestsThatDoNotTestAnything = true; - - /** - * @var bool - */ - protected $beStrictAboutOutputDuringTests = false; - - /** - * @var bool - */ - protected $beStrictAboutTodoAnnotatedTests = false; - - /** - * @var bool - */ - protected $beStrictAboutResourceUsageDuringSmallTests = false; - - /** - * @var bool - */ - protected $enforceTimeLimit = false; - - /** - * @var int - */ - protected $timeoutForSmallTests = 1; - - /** - * @var int - */ - protected $timeoutForMediumTests = 10; - - /** - * @var int - */ - protected $timeoutForLargeTests = 60; - - /** - * @var bool - */ - protected $stopOnRisky = false; - - /** - * @var bool - */ - protected $stopOnIncomplete = false; - - /** - * @var bool - */ - protected $stopOnSkipped = false; - - /** - * @var bool - */ - protected $lastTestFailed = false; - - /** - * @var int - */ - private $defaultTimeLimit = 0; - - /** - * @var bool - */ - private $stopOnDefect = false; - - /** - * @var bool - */ - private $registerMockObjectsFromTestArgumentsRecursively = false; - - public static function isAnyCoverageRequired(TestCase $test) - { - $annotations = $test->getAnnotations(); - - // If there is a @coversNothing annotation on the test method then code - // coverage data does not need to be collected - if (isset($annotations['method']['coversNothing'])) { - return false; - } - - // If any methods have covers, coverage must me generated - if (isset($annotations['method']['covers'])) { - return true; - } - - // If there are no explicit covers, and the test class is - // marked as covers nothing, all coverage can be skipped - if (isset($annotations['class']['coversNothing'])) { - return false; - } - - // Otherwise each test method can generate coverage - return true; - } - - /** - * Registers a TestListener. - */ - public function addListener(TestListener $listener): void - { - $this->listeners[] = $listener; - } - - /** - * Unregisters a TestListener. - */ - public function removeListener(TestListener $listener): void - { - foreach ($this->listeners as $key => $_listener) { - if ($listener === $_listener) { - unset($this->listeners[$key]); - } - } - } - - /** - * Flushes all flushable TestListeners. - */ - public function flushListeners(): void - { - foreach ($this->listeners as $listener) { - if ($listener instanceof Printer) { - $listener->flush(); - } - } - } - - /** - * Adds an error to the list of errors. - */ - public function addError(Test $test, Throwable $t, float $time): void - { - if ($t instanceof RiskyTest) { - $this->risky[] = new TestFailure($test, $t); - $notifyMethod = 'addRiskyTest'; - - if ($test instanceof TestCase) { - $test->markAsRisky(); - } - - if ($this->stopOnRisky || $this->stopOnDefect) { - $this->stop(); - } - } elseif ($t instanceof IncompleteTest) { - $this->notImplemented[] = new TestFailure($test, $t); - $notifyMethod = 'addIncompleteTest'; - - if ($this->stopOnIncomplete) { - $this->stop(); - } - } elseif ($t instanceof SkippedTest) { - $this->skipped[] = new TestFailure($test, $t); - $notifyMethod = 'addSkippedTest'; - - if ($this->stopOnSkipped) { - $this->stop(); - } - } else { - $this->errors[] = new TestFailure($test, $t); - $notifyMethod = 'addError'; - - if ($this->stopOnError || $this->stopOnFailure) { - $this->stop(); - } - } - - // @see https://github.com/sebastianbergmann/phpunit/issues/1953 - if ($t instanceof Error) { - $t = new ExceptionWrapper($t); - } - - foreach ($this->listeners as $listener) { - $listener->$notifyMethod($test, $t, $time); - } - - $this->lastTestFailed = true; - $this->time += $time; - } - - /** - * Adds a warning to the list of warnings. - * The passed in exception caused the warning. - */ - public function addWarning(Test $test, Warning $e, float $time): void - { - if ($this->stopOnWarning || $this->stopOnDefect) { - $this->stop(); - } - - $this->warnings[] = new TestFailure($test, $e); - - foreach ($this->listeners as $listener) { - $listener->addWarning($test, $e, $time); - } - - $this->time += $time; - } - - /** - * Adds a failure to the list of failures. - * The passed in exception caused the failure. - */ - public function addFailure(Test $test, AssertionFailedError $e, float $time): void - { - if ($e instanceof RiskyTest || $e instanceof OutputError) { - $this->risky[] = new TestFailure($test, $e); - $notifyMethod = 'addRiskyTest'; - - if ($test instanceof TestCase) { - $test->markAsRisky(); - } - - if ($this->stopOnRisky || $this->stopOnDefect) { - $this->stop(); - } - } elseif ($e instanceof IncompleteTest) { - $this->notImplemented[] = new TestFailure($test, $e); - $notifyMethod = 'addIncompleteTest'; - - if ($this->stopOnIncomplete) { - $this->stop(); - } - } elseif ($e instanceof SkippedTest) { - $this->skipped[] = new TestFailure($test, $e); - $notifyMethod = 'addSkippedTest'; - - if ($this->stopOnSkipped) { - $this->stop(); - } - } else { - $this->failures[] = new TestFailure($test, $e); - $notifyMethod = 'addFailure'; - - if ($this->stopOnFailure || $this->stopOnDefect) { - $this->stop(); - } - } - - foreach ($this->listeners as $listener) { - $listener->$notifyMethod($test, $e, $time); - } - - $this->lastTestFailed = true; - $this->time += $time; - } - - /** - * Informs the result that a test suite will be started. - */ - public function startTestSuite(TestSuite $suite): void - { - if ($this->topTestSuite === null) { - $this->topTestSuite = $suite; - } - - foreach ($this->listeners as $listener) { - $listener->startTestSuite($suite); - } - } - - /** - * Informs the result that a test suite was completed. - */ - public function endTestSuite(TestSuite $suite): void - { - foreach ($this->listeners as $listener) { - $listener->endTestSuite($suite); - } - } - - /** - * Informs the result that a test will be started. - */ - public function startTest(Test $test): void - { - $this->lastTestFailed = false; - $this->runTests += \count($test); - - foreach ($this->listeners as $listener) { - $listener->startTest($test); - } - } - - /** - * Informs the result that a test was completed. - * - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public function endTest(Test $test, float $time): void - { - foreach ($this->listeners as $listener) { - $listener->endTest($test, $time); - } - - if (!$this->lastTestFailed && $test instanceof TestCase) { - $class = \get_class($test); - $key = $class . '::' . $test->getName(); - - $this->passed[$key] = [ - 'result' => $test->getResult(), - 'size' => \PHPUnit\Util\Test::getSize( - $class, - $test->getName(false) - ), - ]; - - $this->time += $time; - } - } - - /** - * Returns true if no risky test occurred. - */ - public function allHarmless(): bool - { - return $this->riskyCount() == 0; - } - - /** - * Gets the number of risky tests. - */ - public function riskyCount(): int - { - return \count($this->risky); - } - - /** - * Returns true if no incomplete test occurred. - */ - public function allCompletelyImplemented(): bool - { - return $this->notImplementedCount() == 0; - } - - /** - * Gets the number of incomplete tests. - */ - public function notImplementedCount(): int - { - return \count($this->notImplemented); - } - - /** - * Returns an array of TestFailure objects for the risky tests - * - * @return TestFailure[] - */ - public function risky(): array - { - return $this->risky; - } - - /** - * Returns an array of TestFailure objects for the incomplete tests - * - * @return TestFailure[] - */ - public function notImplemented(): array - { - return $this->notImplemented; - } - - /** - * Returns true if no test has been skipped. - */ - public function noneSkipped(): bool - { - return $this->skippedCount() == 0; - } - - /** - * Gets the number of skipped tests. - */ - public function skippedCount(): int - { - return \count($this->skipped); - } - - /** - * Returns an array of TestFailure objects for the skipped tests - * - * @return TestFailure[] - */ - public function skipped(): array - { - return $this->skipped; - } - - /** - * Gets the number of detected errors. - */ - public function errorCount(): int - { - return \count($this->errors); - } - - /** - * Returns an array of TestFailure objects for the errors - * - * @return TestFailure[] - */ - public function errors(): array - { - return $this->errors; - } - - /** - * Gets the number of detected failures. - */ - public function failureCount(): int - { - return \count($this->failures); - } - - /** - * Returns an array of TestFailure objects for the failures - * - * @return TestFailure[] - */ - public function failures(): array - { - return $this->failures; - } - - /** - * Gets the number of detected warnings. - */ - public function warningCount(): int - { - return \count($this->warnings); - } - - /** - * Returns an array of TestFailure objects for the warnings - * - * @return TestFailure[] - */ - public function warnings(): array - { - return $this->warnings; - } - - /** - * Returns the names of the tests that have passed. - */ - public function passed(): array - { - return $this->passed; - } - - /** - * Returns the (top) test suite. - */ - public function topTestSuite(): TestSuite - { - return $this->topTestSuite; - } - - /** - * Returns whether code coverage information should be collected. - */ - public function getCollectCodeCoverageInformation(): bool - { - return $this->codeCoverage !== null; - } - - /** - * Runs a TestCase. - * - * @throws CodeCoverageException - * @throws OriginalCoveredCodeNotExecutedException - * @throws OriginalMissingCoversAnnotationException - * @throws UnintentionallyCoveredCodeException - * @throws \ReflectionException - * @throws \SebastianBergmann\CodeCoverage\InvalidArgumentException - * @throws \SebastianBergmann\CodeCoverage\RuntimeException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public function run(Test $test): void - { - Assert::resetCount(); - - $coversNothing = false; - - if ($test instanceof TestCase) { - $test->setRegisterMockObjectsFromTestArgumentsRecursively( - $this->registerMockObjectsFromTestArgumentsRecursively - ); - - $isAnyCoverageRequired = self::isAnyCoverageRequired($test); - } - - $error = false; - $failure = false; - $warning = false; - $incomplete = false; - $risky = false; - $skipped = false; - - $this->startTest($test); - - $errorHandlerSet = false; - - if ($this->convertErrorsToExceptions) { - $oldErrorHandler = \set_error_handler( - [ErrorHandler::class, 'handleError'], - \E_ALL | \E_STRICT - ); - - if ($oldErrorHandler === null) { - $errorHandlerSet = true; - } else { - \restore_error_handler(); - } - } - - $collectCodeCoverage = $this->codeCoverage !== null && - !$test instanceof WarningTestCase && - $isAnyCoverageRequired; - - if ($collectCodeCoverage) { - $this->codeCoverage->start($test); - } - - $monitorFunctions = $this->beStrictAboutResourceUsageDuringSmallTests && - !$test instanceof WarningTestCase && - $test->getSize() == \PHPUnit\Util\Test::SMALL && - \function_exists('xdebug_start_function_monitor'); - - if ($monitorFunctions) { - /* @noinspection ForgottenDebugOutputInspection */ - \xdebug_start_function_monitor(ResourceOperations::getFunctions()); - } - - Timer::start(); - - try { - if (!$test instanceof WarningTestCase && - $this->enforceTimeLimit && - ($this->defaultTimeLimit || $test->getSize() != \PHPUnit\Util\Test::UNKNOWN) && - \extension_loaded('pcntl') && \class_exists(Invoker::class)) { - switch ($test->getSize()) { - case \PHPUnit\Util\Test::SMALL: - $_timeout = $this->timeoutForSmallTests; - - break; - - case \PHPUnit\Util\Test::MEDIUM: - $_timeout = $this->timeoutForMediumTests; - - break; - - case \PHPUnit\Util\Test::LARGE: - $_timeout = $this->timeoutForLargeTests; - - break; - - case \PHPUnit\Util\Test::UNKNOWN: - $_timeout = $this->defaultTimeLimit; - - break; - } - - $invoker = new Invoker; - $invoker->invoke([$test, 'runBare'], [], $_timeout); - } else { - $test->runBare(); - } - } catch (TimeoutException $e) { - $this->addFailure( - $test, - new RiskyTestError( - $e->getMessage() - ), - $_timeout - ); - - $risky = true; - } catch (MockObjectException $e) { - $e = new Warning( - $e->getMessage() - ); - - $warning = true; - } catch (AssertionFailedError $e) { - $failure = true; - - if ($e instanceof RiskyTestError) { - $risky = true; - } elseif ($e instanceof IncompleteTestError) { - $incomplete = true; - } elseif ($e instanceof SkippedTestError) { - $skipped = true; - } - } catch (AssertionError $e) { - $test->addToAssertionCount(1); - - $failure = true; - $frame = $e->getTrace()[0]; - - $e = new AssertionFailedError( - \sprintf( - '%s in %s:%s', - $e->getMessage(), - $frame['file'], - $frame['line'] - ) - ); - } catch (Warning $e) { - $warning = true; - } catch (Exception $e) { - $error = true; - } catch (Throwable $e) { - $e = new ExceptionWrapper($e); - $error = true; - } - - $time = Timer::stop(); - $test->addToAssertionCount(Assert::getCount()); - - if ($monitorFunctions) { - $blacklist = new Blacklist; - - /** @noinspection ForgottenDebugOutputInspection */ - $functions = \xdebug_get_monitored_functions(); - - /* @noinspection ForgottenDebugOutputInspection */ - \xdebug_stop_function_monitor(); - - foreach ($functions as $function) { - if (!$blacklist->isBlacklisted($function['filename'])) { - $this->addFailure( - $test, - new RiskyTestError( - \sprintf( - '%s() used in %s:%s', - $function['function'], - $function['filename'], - $function['lineno'] - ) - ), - $time - ); - } - } - } - - if ($this->beStrictAboutTestsThatDoNotTestAnything && - $test->getNumAssertions() == 0) { - $risky = true; - } - - if ($collectCodeCoverage) { - $append = !$risky && !$incomplete && !$skipped; - $linesToBeCovered = []; - $linesToBeUsed = []; - - if ($append && $test instanceof TestCase) { - try { - $linesToBeCovered = \PHPUnit\Util\Test::getLinesToBeCovered( - \get_class($test), - $test->getName(false) - ); - - $linesToBeUsed = \PHPUnit\Util\Test::getLinesToBeUsed( - \get_class($test), - $test->getName(false) - ); - } catch (InvalidCoversTargetException $cce) { - $this->addWarning( - $test, - new Warning( - $cce->getMessage() - ), - $time - ); - } - } - - try { - $this->codeCoverage->stop( - $append, - $linesToBeCovered, - $linesToBeUsed - ); - } catch (UnintentionallyCoveredCodeException $cce) { - $this->addFailure( - $test, - new UnintentionallyCoveredCodeError( - 'This test executed code that is not listed as code to be covered or used:' . - \PHP_EOL . $cce->getMessage() - ), - $time - ); - } catch (OriginalCoveredCodeNotExecutedException $cce) { - $this->addFailure( - $test, - new CoveredCodeNotExecutedException( - 'This test did not execute all the code that is listed as code to be covered:' . - \PHP_EOL . $cce->getMessage() - ), - $time - ); - } catch (OriginalMissingCoversAnnotationException $cce) { - if ($linesToBeCovered !== false) { - $this->addFailure( - $test, - new MissingCoversAnnotationException( - 'This test does not have a @covers annotation but is expected to have one' - ), - $time - ); - } - } catch (OriginalCodeCoverageException $cce) { - $error = true; - - $e = $e ?? $cce; - } - } - - if ($errorHandlerSet === true) { - \restore_error_handler(); - } - - if ($error === true) { - $this->addError($test, $e, $time); - } elseif ($failure === true) { - $this->addFailure($test, $e, $time); - } elseif ($warning === true) { - $this->addWarning($test, $e, $time); - } elseif ($this->beStrictAboutTestsThatDoNotTestAnything && - !$test->doesNotPerformAssertions() && - $test->getNumAssertions() == 0) { - $reflected = new \ReflectionClass($test); - $name = $test->getName(false); - - if ($name && $reflected->hasMethod($name)) { - $reflected = $reflected->getMethod($name); - } - - $this->addFailure( - $test, - new RiskyTestError( - \sprintf( - "This test did not perform any assertions\n\n%s:%d", - $reflected->getFileName(), - $reflected->getStartLine() - ) - ), - $time - ); - } elseif ($this->beStrictAboutTestsThatDoNotTestAnything && - $test->doesNotPerformAssertions() && - $test->getNumAssertions() > 0) { - $this->addFailure( - $test, - new RiskyTestError( - \sprintf( - 'This test is annotated with "@doesNotPerformAssertions" but performed %d assertions', - $test->getNumAssertions() - ) - ), - $time - ); - } elseif ($this->beStrictAboutOutputDuringTests && $test->hasOutput()) { - $this->addFailure( - $test, - new OutputError( - \sprintf( - 'This test printed output: %s', - $test->getActualOutput() - ) - ), - $time - ); - } elseif ($this->beStrictAboutTodoAnnotatedTests && $test instanceof TestCase) { - $annotations = $test->getAnnotations(); - - if (isset($annotations['method']['todo'])) { - $this->addFailure( - $test, - new RiskyTestError( - 'Test method is annotated with @todo' - ), - $time - ); - } - } - - $this->endTest($test, $time); - } - - /** - * Gets the number of run tests. - */ - public function count(): int - { - return $this->runTests; - } - - /** - * Checks whether the test run should stop. - */ - public function shouldStop(): bool - { - return $this->stop; - } - - /** - * Marks that the test run should stop. - */ - public function stop(): void - { - $this->stop = true; - } - - /** - * Returns the code coverage object. - */ - public function getCodeCoverage(): ?CodeCoverage - { - return $this->codeCoverage; - } - - /** - * Sets the code coverage object. - */ - public function setCodeCoverage(CodeCoverage $codeCoverage): void - { - $this->codeCoverage = $codeCoverage; - } - - /** - * Enables or disables the error-to-exception conversion. - */ - public function convertErrorsToExceptions(bool $flag): void - { - $this->convertErrorsToExceptions = $flag; - } - - /** - * Returns the error-to-exception conversion setting. - */ - public function getConvertErrorsToExceptions(): bool - { - return $this->convertErrorsToExceptions; - } - - /** - * Enables or disables the stopping when an error occurs. - */ - public function stopOnError(bool $flag): void - { - $this->stopOnError = $flag; - } - - /** - * Enables or disables the stopping when a failure occurs. - */ - public function stopOnFailure(bool $flag): void - { - $this->stopOnFailure = $flag; - } - - /** - * Enables or disables the stopping when a warning occurs. - */ - public function stopOnWarning(bool $flag): void - { - $this->stopOnWarning = $flag; - } - - public function beStrictAboutTestsThatDoNotTestAnything(bool $flag): void - { - $this->beStrictAboutTestsThatDoNotTestAnything = $flag; - } - - public function isStrictAboutTestsThatDoNotTestAnything(): bool - { - return $this->beStrictAboutTestsThatDoNotTestAnything; - } - - public function beStrictAboutOutputDuringTests(bool $flag): void - { - $this->beStrictAboutOutputDuringTests = $flag; - } - - public function isStrictAboutOutputDuringTests(): bool - { - return $this->beStrictAboutOutputDuringTests; - } - - public function beStrictAboutResourceUsageDuringSmallTests(bool $flag): void - { - $this->beStrictAboutResourceUsageDuringSmallTests = $flag; - } - - public function isStrictAboutResourceUsageDuringSmallTests(): bool - { - return $this->beStrictAboutResourceUsageDuringSmallTests; - } - - public function enforceTimeLimit(bool $flag): void - { - $this->enforceTimeLimit = $flag; - } - - public function enforcesTimeLimit(): bool - { - return $this->enforceTimeLimit; - } - - public function beStrictAboutTodoAnnotatedTests(bool $flag): void - { - $this->beStrictAboutTodoAnnotatedTests = $flag; - } - - public function isStrictAboutTodoAnnotatedTests(): bool - { - return $this->beStrictAboutTodoAnnotatedTests; - } - - /** - * Enables or disables the stopping for risky tests. - */ - public function stopOnRisky(bool $flag): void - { - $this->stopOnRisky = $flag; - } - - /** - * Enables or disables the stopping for incomplete tests. - */ - public function stopOnIncomplete(bool $flag): void - { - $this->stopOnIncomplete = $flag; - } - - /** - * Enables or disables the stopping for skipped tests. - */ - public function stopOnSkipped(bool $flag): void - { - $this->stopOnSkipped = $flag; - } - - /** - * Enables or disables the stopping for defects: error, failure, warning - */ - public function stopOnDefect(bool $flag): void - { - $this->stopOnDefect = $flag; - } - - /** - * Returns the time spent running the tests. - */ - public function time(): float - { - return $this->time; - } - - /** - * Returns whether the entire test was successful or not. - */ - public function wasSuccessful(): bool - { - return $this->wasSuccessfulIgnoringWarnings() && empty($this->warnings); - } - - public function wasSuccessfulIgnoringWarnings(): bool - { - return empty($this->errors) && empty($this->failures); - } - - /** - * Sets the default timeout for tests - */ - public function setDefaultTimeLimit(int $timeout): void - { - $this->defaultTimeLimit = $timeout; - } - - /** - * Sets the timeout for small tests. - */ - public function setTimeoutForSmallTests(int $timeout): void - { - $this->timeoutForSmallTests = $timeout; - } - - /** - * Sets the timeout for medium tests. - */ - public function setTimeoutForMediumTests(int $timeout): void - { - $this->timeoutForMediumTests = $timeout; - } - - /** - * Sets the timeout for large tests. - */ - public function setTimeoutForLargeTests(int $timeout): void - { - $this->timeoutForLargeTests = $timeout; - } - - /** - * Returns the set timeout for large tests. - */ - public function getTimeoutForLargeTests(): int - { - return $this->timeoutForLargeTests; - } - - public function setRegisterMockObjectsFromTestArgumentsRecursively(bool $flag): void - { - $this->registerMockObjectsFromTestArgumentsRecursively = $flag; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/TestSuite.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/TestSuite.php deleted file mode 100644 index 6f4b243..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/TestSuite.php +++ /dev/null @@ -1,962 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework; - -use Iterator; -use IteratorAggregate; -use PHPUnit\Runner\BaseTestRunner; -use PHPUnit\Runner\Filter\Factory; -use PHPUnit\Runner\PhptTestCase; -use PHPUnit\Util\FileLoader; -use PHPUnit\Util\InvalidArgumentHelper; -use ReflectionClass; -use ReflectionMethod; -use Throwable; - -/** - * A TestSuite is a composite of Tests. It runs a collection of test cases. - */ -class TestSuite implements IteratorAggregate, SelfDescribing, Test -{ - /** - * Enable or disable the backup and restoration of the $GLOBALS array. - * - * @var bool - */ - protected $backupGlobals; - - /** - * Enable or disable the backup and restoration of static attributes. - * - * @var bool - */ - protected $backupStaticAttributes; - - /** - * @var bool - */ - protected $runTestInSeparateProcess = false; - - /** - * The name of the test suite. - * - * @var string - */ - protected $name = ''; - - /** - * The test groups of the test suite. - * - * @var array - */ - protected $groups = []; - - /** - * The tests in the test suite. - * - * @var Test[] - */ - protected $tests = []; - - /** - * The number of tests in the test suite. - * - * @var int - */ - protected $numTests = -1; - - /** - * @var bool - */ - protected $testCase = false; - - /** - * @var array - */ - protected $foundClasses = []; - - /** - * Last count of tests in this suite. - * - * @var null|int - */ - private $cachedNumTests; - - /** - * @var bool - */ - private $beStrictAboutChangesToGlobalState; - - /** - * @var Factory - */ - private $iteratorFilter; - - /** - * @var string[] - */ - private $declaredClasses; - - /** - * @param string $name - * - * @throws Exception - */ - public static function createTest(ReflectionClass $theClass, $name): Test - { - $className = $theClass->getName(); - - if (!$theClass->isInstantiable()) { - return self::warning( - \sprintf('Cannot instantiate class "%s".', $className) - ); - } - - $backupSettings = \PHPUnit\Util\Test::getBackupSettings( - $className, - $name - ); - - $preserveGlobalState = \PHPUnit\Util\Test::getPreserveGlobalStateSettings( - $className, - $name - ); - - $runTestInSeparateProcess = \PHPUnit\Util\Test::getProcessIsolationSettings( - $className, - $name - ); - - $runClassInSeparateProcess = \PHPUnit\Util\Test::getClassProcessIsolationSettings( - $className, - $name - ); - - $constructor = $theClass->getConstructor(); - - if ($constructor === null) { - throw new Exception('No valid test provided.'); - } - $parameters = $constructor->getParameters(); - - // TestCase() or TestCase($name) - if (\count($parameters) < 2) { - $test = new $className; - } // TestCase($name, $data) - else { - try { - $data = \PHPUnit\Util\Test::getProvidedData( - $className, - $name - ); - } catch (IncompleteTestError $e) { - $message = \sprintf( - 'Test for %s::%s marked incomplete by data provider', - $className, - $name - ); - - $_message = $e->getMessage(); - - if (!empty($_message)) { - $message .= "\n" . $_message; - } - - $data = self::incompleteTest($className, $name, $message); - } catch (SkippedTestError $e) { - $message = \sprintf( - 'Test for %s::%s skipped by data provider', - $className, - $name - ); - - $_message = $e->getMessage(); - - if (!empty($_message)) { - $message .= "\n" . $_message; - } - - $data = self::skipTest($className, $name, $message); - } catch (Throwable $t) { - $message = \sprintf( - 'The data provider specified for %s::%s is invalid.', - $className, - $name - ); - - $_message = $t->getMessage(); - - if (!empty($_message)) { - $message .= "\n" . $_message; - } - - $data = self::warning($message); - } - - // Test method with @dataProvider. - if (isset($data)) { - $test = new DataProviderTestSuite( - $className . '::' . $name - ); - - if (empty($data)) { - $data = self::warning( - \sprintf( - 'No tests found in suite "%s".', - $test->getName() - ) - ); - } - - $groups = \PHPUnit\Util\Test::getGroups($className, $name); - - if ($data instanceof WarningTestCase || - $data instanceof SkippedTestCase || - $data instanceof IncompleteTestCase) { - $test->addTest($data, $groups); - } else { - foreach ($data as $_dataName => $_data) { - $_test = new $className($name, $_data, $_dataName); - - /* @var TestCase $_test */ - - if ($runTestInSeparateProcess) { - $_test->setRunTestInSeparateProcess(true); - - if ($preserveGlobalState !== null) { - $_test->setPreserveGlobalState($preserveGlobalState); - } - } - - if ($runClassInSeparateProcess) { - $_test->setRunClassInSeparateProcess(true); - - if ($preserveGlobalState !== null) { - $_test->setPreserveGlobalState($preserveGlobalState); - } - } - - if ($backupSettings['backupGlobals'] !== null) { - $_test->setBackupGlobals( - $backupSettings['backupGlobals'] - ); - } - - if ($backupSettings['backupStaticAttributes'] !== null) { - $_test->setBackupStaticAttributes( - $backupSettings['backupStaticAttributes'] - ); - } - - $test->addTest($_test, $groups); - } - } - } else { - $test = new $className; - } - } - - if ($test instanceof TestCase) { - $test->setName($name); - - if ($runTestInSeparateProcess) { - $test->setRunTestInSeparateProcess(true); - - if ($preserveGlobalState !== null) { - $test->setPreserveGlobalState($preserveGlobalState); - } - } - - if ($runClassInSeparateProcess) { - $test->setRunClassInSeparateProcess(true); - - if ($preserveGlobalState !== null) { - $test->setPreserveGlobalState($preserveGlobalState); - } - } - - if ($backupSettings['backupGlobals'] !== null) { - $test->setBackupGlobals($backupSettings['backupGlobals']); - } - - if ($backupSettings['backupStaticAttributes'] !== null) { - $test->setBackupStaticAttributes( - $backupSettings['backupStaticAttributes'] - ); - } - } - - return $test; - } - - public static function isTestMethod(ReflectionMethod $method): bool - { - if (\strpos($method->name, 'test') === 0) { - return true; - } - - $annotations = \PHPUnit\Util\Test::parseAnnotations($method->getDocComment()); - - return isset($annotations['test']); - } - - /** - * Constructs a new TestSuite: - * - * - PHPUnit\Framework\TestSuite() constructs an empty TestSuite. - * - * - PHPUnit\Framework\TestSuite(ReflectionClass) constructs a - * TestSuite from the given class. - * - * - PHPUnit\Framework\TestSuite(ReflectionClass, String) - * constructs a TestSuite from the given class with the given - * name. - * - * - PHPUnit\Framework\TestSuite(String) either constructs a - * TestSuite from the given class (if the passed string is the - * name of an existing class) or constructs an empty TestSuite - * with the given name. - * - * @param string $name - * - * @throws Exception - */ - public function __construct($theClass = '', $name = '') - { - $this->declaredClasses = \get_declared_classes(); - - $argumentsValid = false; - - if (\is_object($theClass) && - $theClass instanceof ReflectionClass) { - $argumentsValid = true; - } elseif (\is_string($theClass) && - $theClass !== '' && - \class_exists($theClass, true)) { - $argumentsValid = true; - - if ($name == '') { - $name = $theClass; - } - - $theClass = new ReflectionClass($theClass); - } elseif (\is_string($theClass)) { - $this->setName($theClass); - - return; - } - - if (!$argumentsValid) { - throw new Exception; - } - - if (!$theClass->isSubclassOf(TestCase::class)) { - $this->setName($theClass); - - return; - } - - if ($name != '') { - $this->setName($name); - } else { - $this->setName($theClass->getName()); - } - - $constructor = $theClass->getConstructor(); - - if ($constructor !== null && - !$constructor->isPublic()) { - $this->addTest( - self::warning( - \sprintf( - 'Class "%s" has no public constructor.', - $theClass->getName() - ) - ) - ); - - return; - } - - foreach ($theClass->getMethods() as $method) { - if ($method->getDeclaringClass()->getName() === Assert::class) { - continue; - } - - if ($method->getDeclaringClass()->getName() === TestCase::class) { - continue; - } - - $this->addTestMethod($theClass, $method); - } - - if (empty($this->tests)) { - $this->addTest( - self::warning( - \sprintf( - 'No tests found in class "%s".', - $theClass->getName() - ) - ) - ); - } - - $this->testCase = true; - } - - /** - * Template Method that is called before the tests - * of this test suite are run. - */ - protected function setUp(): void - { - } - - /** - * Template Method that is called after the tests - * of this test suite have finished running. - */ - protected function tearDown(): void - { - } - - /** - * Returns a string representation of the test suite. - */ - public function toString(): string - { - return $this->getName(); - } - - /** - * Adds a test to the suite. - * - * @param array $groups - */ - public function addTest(Test $test, $groups = []): void - { - $class = new ReflectionClass($test); - - if (!$class->isAbstract()) { - $this->tests[] = $test; - $this->numTests = -1; - - if ($test instanceof self && empty($groups)) { - $groups = $test->getGroups(); - } - - if (empty($groups)) { - $groups = ['default']; - } - - foreach ($groups as $group) { - if (!isset($this->groups[$group])) { - $this->groups[$group] = [$test]; - } else { - $this->groups[$group][] = $test; - } - } - - if ($test instanceof TestCase) { - $test->setGroups($groups); - } - } - } - - /** - * Adds the tests from the given class to the suite. - * - * @throws Exception - */ - public function addTestSuite($testClass): void - { - if (\is_string($testClass) && \class_exists($testClass)) { - $testClass = new ReflectionClass($testClass); - } - - if (!\is_object($testClass)) { - throw InvalidArgumentHelper::factory( - 1, - 'class name or object' - ); - } - - if ($testClass instanceof self) { - $this->addTest($testClass); - } elseif ($testClass instanceof ReflectionClass) { - $suiteMethod = false; - - if (!$testClass->isAbstract() && $testClass->hasMethod(BaseTestRunner::SUITE_METHODNAME)) { - $method = $testClass->getMethod( - BaseTestRunner::SUITE_METHODNAME - ); - - if ($method->isStatic()) { - $this->addTest( - $method->invoke(null, $testClass->getName()) - ); - - $suiteMethod = true; - } - } - - if (!$suiteMethod && !$testClass->isAbstract() && $testClass->isSubclassOf(TestCase::class)) { - $this->addTest(new self($testClass)); - } - } else { - throw new Exception; - } - } - - /** - * Wraps both addTest() and addTestSuite - * as well as the separate import statements for the user's convenience. - * - * If the named file cannot be read or there are no new tests that can be - * added, a PHPUnit\Framework\WarningTestCase will be created instead, - * leaving the current test run untouched. - * - * @throws Exception - */ - public function addTestFile(string $filename): void - { - if (\file_exists($filename) && \substr($filename, -5) == '.phpt') { - $this->addTest( - new PhptTestCase($filename) - ); - - return; - } - - // The given file may contain further stub classes in addition to the - // test class itself. Figure out the actual test class. - $filename = FileLoader::checkAndLoad($filename); - $newClasses = \array_diff(\get_declared_classes(), $this->declaredClasses); - - // The diff is empty in case a parent class (with test methods) is added - // AFTER a child class that inherited from it. To account for that case, - // accumulate all discovered classes, so the parent class may be found in - // a later invocation. - if (!empty($newClasses)) { - // On the assumption that test classes are defined first in files, - // process discovered classes in approximate LIFO order, so as to - // avoid unnecessary reflection. - $this->foundClasses = \array_merge($newClasses, $this->foundClasses); - $this->declaredClasses = \get_declared_classes(); - } - - // The test class's name must match the filename, either in full, or as - // a PEAR/PSR-0 prefixed short name ('NameSpace_ShortName'), or as a - // PSR-1 local short name ('NameSpace\ShortName'). The comparison must be - // anchored to prevent false-positive matches (e.g., 'OtherShortName'). - $shortName = \basename($filename, '.php'); - $shortNameRegEx = '/(?:^|_|\\\\)' . \preg_quote($shortName, '/') . '$/'; - - foreach ($this->foundClasses as $i => $className) { - if (\preg_match($shortNameRegEx, $className)) { - $class = new ReflectionClass($className); - - if ($class->getFileName() == $filename) { - $newClasses = [$className]; - unset($this->foundClasses[$i]); - - break; - } - } - } - - foreach ($newClasses as $className) { - $class = new ReflectionClass($className); - - if (\dirname($class->getFileName()) === __DIR__) { - continue; - } - - if (!$class->isAbstract()) { - if ($class->hasMethod(BaseTestRunner::SUITE_METHODNAME)) { - $method = $class->getMethod( - BaseTestRunner::SUITE_METHODNAME - ); - - if ($method->isStatic()) { - $this->addTest($method->invoke(null, $className)); - } - } elseif ($class->implementsInterface(Test::class)) { - $this->addTestSuite($class); - } - } - } - - $this->numTests = -1; - } - - /** - * Wrapper for addTestFile() that adds multiple test files. - * - * @param array|Iterator $fileNames - * - * @throws Exception - */ - public function addTestFiles($fileNames): void - { - if (!(\is_array($fileNames) || - (\is_object($fileNames) && $fileNames instanceof Iterator))) { - throw InvalidArgumentHelper::factory( - 1, - 'array or iterator' - ); - } - - foreach ($fileNames as $filename) { - $this->addTestFile((string) $filename); - } - } - - /** - * Counts the number of test cases that will be run by this test. - * - * @param bool $preferCache indicates if cache is preferred - */ - public function count($preferCache = false): int - { - if ($preferCache && $this->cachedNumTests !== null) { - return $this->cachedNumTests; - } - - $numTests = 0; - - foreach ($this as $test) { - $numTests += \count($test); - } - - $this->cachedNumTests = $numTests; - - return $numTests; - } - - /** - * Returns the name of the suite. - */ - public function getName(): string - { - return $this->name; - } - - /** - * Returns the test groups of the suite. - */ - public function getGroups(): array - { - return \array_keys($this->groups); - } - - public function getGroupDetails() - { - return $this->groups; - } - - /** - * Set tests groups of the test case - */ - public function setGroupDetails(array $groups): void - { - $this->groups = $groups; - } - - /** - * Runs the tests and collects their result in a TestResult. - * - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public function run(TestResult $result = null): TestResult - { - if ($result === null) { - $result = $this->createResult(); - } - - if (\count($this) == 0) { - return $result; - } - - $hookMethods = \PHPUnit\Util\Test::getHookMethods($this->name); - - $result->startTestSuite($this); - - try { - $this->setUp(); - - foreach ($hookMethods['beforeClass'] as $beforeClassMethod) { - if ($this->testCase === true && - \class_exists($this->name, false) && - \method_exists($this->name, $beforeClassMethod)) { - if ($missingRequirements = \PHPUnit\Util\Test::getMissingRequirements($this->name, $beforeClassMethod)) { - $this->markTestSuiteSkipped(\implode(\PHP_EOL, $missingRequirements)); - } - - \call_user_func([$this->name, $beforeClassMethod]); - } - } - } catch (SkippedTestSuiteError $error) { - foreach ($this->tests() as $test) { - $result->startTest($test); - $result->addFailure($test, $error, 0); - $result->endTest($test, 0); - } - - $this->tearDown(); - $result->endTestSuite($this); - - return $result; - } catch (Throwable $t) { - foreach ($this->tests() as $test) { - if ($result->shouldStop()) { - break; - } - - $result->startTest($test); - $result->addError($test, $t, 0); - $result->endTest($test, 0); - } - - $this->tearDown(); - $result->endTestSuite($this); - - return $result; - } - - foreach ($this as $test) { - if ($result->shouldStop()) { - break; - } - - if ($test instanceof TestCase || $test instanceof self) { - $test->setBeStrictAboutChangesToGlobalState($this->beStrictAboutChangesToGlobalState); - $test->setBackupGlobals($this->backupGlobals); - $test->setBackupStaticAttributes($this->backupStaticAttributes); - $test->setRunTestInSeparateProcess($this->runTestInSeparateProcess); - } - - $test->run($result); - } - - try { - foreach ($hookMethods['afterClass'] as $afterClassMethod) { - if ($this->testCase === true && \class_exists($this->name, false) && \method_exists( - $this->name, - $afterClassMethod - )) { - \call_user_func([$this->name, $afterClassMethod]); - } - } - } catch (Throwable $t) { - $message = "Exception in {$this->name}::$afterClassMethod" . \PHP_EOL . $t->getMessage(); - $error = new SyntheticError($message, 0, $t->getFile(), $t->getLine(), $t->getTrace()); - - $placeholderTest = clone $test; - $placeholderTest->setName($afterClassMethod); - - $result->startTest($placeholderTest); - $result->addFailure($placeholderTest, $error, 0); - $result->endTest($placeholderTest, 0); - } - - $this->tearDown(); - - $result->endTestSuite($this); - - return $result; - } - - public function setRunTestInSeparateProcess(bool $runTestInSeparateProcess): void - { - $this->runTestInSeparateProcess = $runTestInSeparateProcess; - } - - public function setName(string $name): void - { - $this->name = $name; - } - - /** - * Returns the test at the given index. - * - * @return false|Test - */ - public function testAt(int $index) - { - if (isset($this->tests[$index])) { - return $this->tests[$index]; - } - - return false; - } - - /** - * Returns the tests as an enumeration. - * - * @return Test[] - */ - public function tests(): array - { - return $this->tests; - } - - /** - * Set tests of the test suite - * - * @param Test[] $tests - */ - public function setTests(array $tests): void - { - $this->tests = $tests; - } - - /** - * Mark the test suite as skipped. - * - * @param string $message - * - * @throws SkippedTestSuiteError - */ - public function markTestSuiteSkipped($message = ''): void - { - throw new SkippedTestSuiteError($message); - } - - /** - * @param bool $beStrictAboutChangesToGlobalState - */ - public function setBeStrictAboutChangesToGlobalState($beStrictAboutChangesToGlobalState): void - { - if (null === $this->beStrictAboutChangesToGlobalState && \is_bool($beStrictAboutChangesToGlobalState)) { - $this->beStrictAboutChangesToGlobalState = $beStrictAboutChangesToGlobalState; - } - } - - /** - * @param bool $backupGlobals - */ - public function setBackupGlobals($backupGlobals): void - { - if (null === $this->backupGlobals && \is_bool($backupGlobals)) { - $this->backupGlobals = $backupGlobals; - } - } - - /** - * @param bool $backupStaticAttributes - */ - public function setBackupStaticAttributes($backupStaticAttributes): void - { - if (null === $this->backupStaticAttributes && \is_bool($backupStaticAttributes)) { - $this->backupStaticAttributes = $backupStaticAttributes; - } - } - - /** - * Returns an iterator for this test suite. - */ - public function getIterator(): Iterator - { - $iterator = new TestSuiteIterator($this); - - if ($this->iteratorFilter !== null) { - $iterator = $this->iteratorFilter->factory($iterator, $this); - } - - return $iterator; - } - - public function injectFilter(Factory $filter): void - { - $this->iteratorFilter = $filter; - - foreach ($this as $test) { - if ($test instanceof self) { - $test->injectFilter($filter); - } - } - } - - /** - * Creates a default TestResult object. - */ - protected function createResult(): TestResult - { - return new TestResult; - } - - /** - * @throws Exception - */ - protected function addTestMethod(ReflectionClass $class, ReflectionMethod $method): void - { - if (!$this->isTestMethod($method)) { - return; - } - - $name = $method->getName(); - - if (!$method->isPublic()) { - $this->addTest( - self::warning( - \sprintf( - 'Test method "%s" in test class "%s" is not public.', - $name, - $class->getName() - ) - ) - ); - - return; - } - - $test = self::createTest($class, $name); - - if ($test instanceof TestCase || $test instanceof DataProviderTestSuite) { - $test->setDependencies( - \PHPUnit\Util\Test::getDependencies($class->getName(), $name) - ); - } - - $this->addTest( - $test, - \PHPUnit\Util\Test::getGroups($class->getName(), $name) - ); - } - - /** - * @param string $message - */ - protected static function warning($message): WarningTestCase - { - return new WarningTestCase($message); - } - - /** - * @param string $class - * @param string $methodName - * @param string $message - */ - protected static function skipTest($class, $methodName, $message): SkippedTestCase - { - return new SkippedTestCase($class, $methodName, $message); - } - - /** - * @param string $class - * @param string $methodName - * @param string $message - */ - protected static function incompleteTest($class, $methodName, $message): IncompleteTestCase - { - return new IncompleteTestCase($class, $methodName, $message); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/TestSuiteIterator.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/TestSuiteIterator.php deleted file mode 100644 index 79f9c5e..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/TestSuiteIterator.php +++ /dev/null @@ -1,101 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework; - -use RecursiveIterator; - -/** - * Iterator for test suites. - */ -final class TestSuiteIterator implements RecursiveIterator -{ - /** - * @var int - */ - private $position = 0; - - /** - * @var Test[] - */ - private $tests; - - public function __construct(TestSuite $testSuite) - { - $this->tests = $testSuite->tests(); - } - - /** - * Rewinds the Iterator to the first element. - */ - public function rewind(): void - { - $this->position = 0; - } - - /** - * Checks if there is a current element after calls to rewind() or next(). - */ - public function valid(): bool - { - return $this->position < \count($this->tests); - } - - /** - * Returns the key of the current element. - */ - public function key(): int - { - return $this->position; - } - - /** - * Returns the current element. - */ - public function current(): ?Test - { - return $this->valid() ? $this->tests[$this->position] : null; - } - - /** - * Moves forward to next element. - */ - public function next(): void - { - $this->position++; - } - - /** - * Returns the sub iterator for the current element. - * - * @throws \UnexpectedValueException if the current element is no TestSuite - */ - public function getChildren(): self - { - if (!$this->hasChildren()) { - throw new UnexpectedValueException( - 'The current item is no TestSuite instance and hence cannot have any children.', - 1567849414 - ); - } - - /** @var TestSuite $current */ - $current = $this->current(); - - return new self($current); - } - - /** - * Checks whether the current element has children. - */ - public function hasChildren(): bool - { - return $this->current() instanceof TestSuite; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/UnexpectedValueException.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/UnexpectedValueException.php deleted file mode 100644 index 70cd3bd..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/UnexpectedValueException.php +++ /dev/null @@ -1,14 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework; - -final class UnexpectedValueException extends Exception -{ -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/UnintentionallyCoveredCodeError.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/UnintentionallyCoveredCodeError.php deleted file mode 100644 index af2623d..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/UnintentionallyCoveredCodeError.php +++ /dev/null @@ -1,18 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework; - -/** - * Extension to PHPUnit\Framework\AssertionFailedError to mark the special - * case of a test that unintentionally covers code. - */ -class UnintentionallyCoveredCodeError extends RiskyTestError -{ -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Warning.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Warning.php deleted file mode 100644 index 726eb07..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/Warning.php +++ /dev/null @@ -1,24 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework; - -/** - * Thrown when there is a warning. - */ -class Warning extends Exception implements SelfDescribing -{ - /** - * Wrapper for getMessage() which is declared as final. - */ - public function toString(): string - { - return $this->getMessage(); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/WarningTestCase.php b/paragonik-backend/vendor/phpunit/phpunit/src/Framework/WarningTestCase.php deleted file mode 100644 index 53f6bff..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Framework/WarningTestCase.php +++ /dev/null @@ -1,71 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework; - -/** - * A warning. - */ -class WarningTestCase extends TestCase -{ - /** - * @var string - */ - protected $message = ''; - - /** - * @var bool - */ - protected $backupGlobals = false; - - /** - * @var bool - */ - protected $backupStaticAttributes = false; - - /** - * @var bool - */ - protected $runTestInSeparateProcess = false; - - /** - * @var bool - */ - protected $useErrorHandler = false; - - /** - * @param string $message - */ - public function __construct($message = '') - { - $this->message = $message; - parent::__construct('Warning'); - } - - public function getMessage(): string - { - return $this->message; - } - - /** - * Returns a string representation of the test case. - */ - public function toString(): string - { - return 'Warning'; - } - - /** - * @throws Exception - */ - protected function runTest(): void - { - throw new Warning($this->message); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Runner/BaseTestRunner.php b/paragonik-backend/vendor/phpunit/phpunit/src/Runner/BaseTestRunner.php deleted file mode 100644 index 098b133..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Runner/BaseTestRunner.php +++ /dev/null @@ -1,172 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Runner; - -use PHPUnit\Framework\Exception; -use PHPUnit\Framework\Test; -use PHPUnit\Framework\TestSuite; -use ReflectionClass; -use ReflectionException; -use SebastianBergmann\FileIterator\Facade as FileIteratorFacade; - -/** - * Base class for all test runners. - */ -abstract class BaseTestRunner -{ - /** - * @var int - */ - public const STATUS_UNKNOWN = -1; - - /** - * @var int - */ - public const STATUS_PASSED = 0; - - /** - * @var int - */ - public const STATUS_SKIPPED = 1; - - /** - * @var int - */ - public const STATUS_INCOMPLETE = 2; - - /** - * @var int - */ - public const STATUS_FAILURE = 3; - - /** - * @var int - */ - public const STATUS_ERROR = 4; - - /** - * @var int - */ - public const STATUS_RISKY = 5; - - /** - * @var int - */ - public const STATUS_WARNING = 6; - - /** - * @var string - */ - public const SUITE_METHODNAME = 'suite'; - - /** - * Returns the loader to be used. - */ - public function getLoader(): TestSuiteLoader - { - return new StandardTestSuiteLoader; - } - - /** - * Returns the Test corresponding to the given suite. - * This is a template method, subclasses override - * the runFailed() and clearStatus() methods. - * - * @param string|string[] $suffixes - * - * @throws Exception - */ - public function getTest(string $suiteClassName, string $suiteClassFile = '', $suffixes = ''): ?Test - { - if (\is_dir($suiteClassName) && - !\is_file($suiteClassName . '.php') && empty($suiteClassFile)) { - $facade = new FileIteratorFacade; - $files = $facade->getFilesAsArray( - $suiteClassName, - $suffixes - ); - - $suite = new TestSuite($suiteClassName); - $suite->addTestFiles($files); - - return $suite; - } - - try { - $testClass = $this->loadSuiteClass( - $suiteClassName, - $suiteClassFile - ); - } catch (Exception $e) { - $this->runFailed($e->getMessage()); - - return null; - } - - try { - $suiteMethod = $testClass->getMethod(self::SUITE_METHODNAME); - - if (!$suiteMethod->isStatic()) { - $this->runFailed( - 'suite() method must be static.' - ); - - return null; - } - - try { - $test = $suiteMethod->invoke(null, $testClass->getName()); - } catch (ReflectionException $e) { - $this->runFailed( - \sprintf( - "Failed to invoke suite() method.\n%s", - $e->getMessage() - ) - ); - - return null; - } - } catch (ReflectionException $e) { - try { - $test = new TestSuite($testClass); - } catch (Exception $e) { - $test = new TestSuite; - $test->setName($suiteClassName); - } - } - - $this->clearStatus(); - - return $test; - } - - /** - * Returns the loaded ReflectionClass for a suite name. - */ - protected function loadSuiteClass(string $suiteClassName, string $suiteClassFile = ''): ReflectionClass - { - $loader = $this->getLoader(); - - return $loader->load($suiteClassName, $suiteClassFile); - } - - /** - * Clears the status message. - */ - protected function clearStatus(): void - { - } - - /** - * Override to define how to handle a failed loading of - * a test suite. - */ - abstract protected function runFailed(string $message); -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Runner/Exception.php b/paragonik-backend/vendor/phpunit/phpunit/src/Runner/Exception.php deleted file mode 100644 index 18cdfa7..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Runner/Exception.php +++ /dev/null @@ -1,14 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Runner; - -class Exception extends \RuntimeException implements \PHPUnit\Exception -{ -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Runner/Filter/ExcludeGroupFilterIterator.php b/paragonik-backend/vendor/phpunit/phpunit/src/Runner/Filter/ExcludeGroupFilterIterator.php deleted file mode 100644 index 17af7dc..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Runner/Filter/ExcludeGroupFilterIterator.php +++ /dev/null @@ -1,18 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Runner\Filter; - -class ExcludeGroupFilterIterator extends GroupFilterIterator -{ - protected function doAccept(string $hash): bool - { - return !\in_array($hash, $this->groupTests, true); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Runner/Filter/Factory.php b/paragonik-backend/vendor/phpunit/phpunit/src/Runner/Filter/Factory.php deleted file mode 100644 index 139e097..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Runner/Filter/Factory.php +++ /dev/null @@ -1,51 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Runner\Filter; - -use FilterIterator; -use InvalidArgumentException; -use Iterator; -use PHPUnit\Framework\TestSuite; -use ReflectionClass; - -class Factory -{ - /** - * @var array - */ - private $filters = []; - - /** - * @throws InvalidArgumentException - */ - public function addFilter(ReflectionClass $filter, $args): void - { - if (!$filter->isSubclassOf(\RecursiveFilterIterator::class)) { - throw new InvalidArgumentException( - \sprintf( - 'Class "%s" does not extend RecursiveFilterIterator', - $filter->name - ) - ); - } - - $this->filters[] = [$filter, $args]; - } - - public function factory(Iterator $iterator, TestSuite $suite): FilterIterator - { - foreach ($this->filters as $filter) { - [$class, $args] = $filter; - $iterator = $class->newInstance($iterator, $args, $suite); - } - - return $iterator; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Runner/Filter/GroupFilterIterator.php b/paragonik-backend/vendor/phpunit/phpunit/src/Runner/Filter/GroupFilterIterator.php deleted file mode 100644 index 1d204ad..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Runner/Filter/GroupFilterIterator.php +++ /dev/null @@ -1,51 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Runner\Filter; - -use PHPUnit\Framework\TestSuite; -use RecursiveFilterIterator; -use RecursiveIterator; - -abstract class GroupFilterIterator extends RecursiveFilterIterator -{ - /** - * @var string[] - */ - protected $groupTests = []; - - public function __construct(RecursiveIterator $iterator, array $groups, TestSuite $suite) - { - parent::__construct($iterator); - - foreach ($suite->getGroupDetails() as $group => $tests) { - if (\in_array((string) $group, $groups, true)) { - $testHashes = \array_map( - 'spl_object_hash', - $tests - ); - - $this->groupTests = \array_merge($this->groupTests, $testHashes); - } - } - } - - public function accept(): bool - { - $test = $this->getInnerIterator()->current(); - - if ($test instanceof TestSuite) { - return true; - } - - return $this->doAccept(\spl_object_hash($test)); - } - - abstract protected function doAccept(string $hash); -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Runner/Filter/IncludeGroupFilterIterator.php b/paragonik-backend/vendor/phpunit/phpunit/src/Runner/Filter/IncludeGroupFilterIterator.php deleted file mode 100644 index c9dc1f8..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Runner/Filter/IncludeGroupFilterIterator.php +++ /dev/null @@ -1,18 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Runner\Filter; - -class IncludeGroupFilterIterator extends GroupFilterIterator -{ - protected function doAccept(string $hash): bool - { - return \in_array($hash, $this->groupTests, true); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Runner/Filter/NameFilterIterator.php b/paragonik-backend/vendor/phpunit/phpunit/src/Runner/Filter/NameFilterIterator.php deleted file mode 100644 index 18734a0..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Runner/Filter/NameFilterIterator.php +++ /dev/null @@ -1,122 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Runner\Filter; - -use PHPUnit\Framework\TestSuite; -use PHPUnit\Framework\WarningTestCase; -use PHPUnit\Util\RegularExpression; -use RecursiveFilterIterator; -use RecursiveIterator; - -class NameFilterIterator extends RecursiveFilterIterator -{ - /** - * @var string - */ - protected $filter; - - /** - * @var int - */ - protected $filterMin; - - /** - * @var int - */ - protected $filterMax; - - /** - * @throws \Exception - */ - public function __construct(RecursiveIterator $iterator, string $filter) - { - parent::__construct($iterator); - - $this->setFilter($filter); - } - - public function accept(): bool - { - $test = $this->getInnerIterator()->current(); - - if ($test instanceof TestSuite) { - return true; - } - - $tmp = \PHPUnit\Util\Test::describe($test); - - if ($test instanceof WarningTestCase) { - $name = $test->getMessage(); - } else { - if ($tmp[0] !== '') { - $name = \implode('::', $tmp); - } else { - $name = $tmp[1]; - } - } - - $accepted = @\preg_match($this->filter, $name, $matches); - - if ($accepted && isset($this->filterMax)) { - $set = \end($matches); - $accepted = $set >= $this->filterMin && $set <= $this->filterMax; - } - - return (bool) $accepted; - } - - /** - * @throws \Exception - */ - protected function setFilter(string $filter): void - { - if (RegularExpression::safeMatch($filter, '') === false) { - // Handles: - // * testAssertEqualsSucceeds#4 - // * testAssertEqualsSucceeds#4-8 - if (\preg_match('/^(.*?)#(\d+)(?:-(\d+))?$/', $filter, $matches)) { - if (isset($matches[3]) && $matches[2] < $matches[3]) { - $filter = \sprintf( - '%s.*with data set #(\d+)$', - $matches[1] - ); - - $this->filterMin = $matches[2]; - $this->filterMax = $matches[3]; - } else { - $filter = \sprintf( - '%s.*with data set #%s$', - $matches[1], - $matches[2] - ); - } - } // Handles: - // * testDetermineJsonError@JSON_ERROR_NONE - // * testDetermineJsonError@JSON.* - elseif (\preg_match('/^(.*?)@(.+)$/', $filter, $matches)) { - $filter = \sprintf( - '%s.*with data set "%s"$', - $matches[1], - $matches[2] - ); - } - - // Escape delimiters in regular expression. Do NOT use preg_quote, - // to keep magic characters. - $filter = \sprintf('/%s/i', \str_replace( - '/', - '\\/', - $filter - )); - } - - $this->filter = $filter; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Runner/Hook/AfterIncompleteTestHook.php b/paragonik-backend/vendor/phpunit/phpunit/src/Runner/Hook/AfterIncompleteTestHook.php deleted file mode 100644 index 35ded5d..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Runner/Hook/AfterIncompleteTestHook.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Runner; - -interface AfterIncompleteTestHook extends TestHook -{ - public function executeAfterIncompleteTest(string $test, string $message, float $time): void; -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Runner/Hook/AfterLastTestHook.php b/paragonik-backend/vendor/phpunit/phpunit/src/Runner/Hook/AfterLastTestHook.php deleted file mode 100644 index 7dee9f9..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Runner/Hook/AfterLastTestHook.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Runner; - -interface AfterLastTestHook extends Hook -{ - public function executeAfterLastTest(): void; -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Runner/Hook/AfterRiskyTestHook.php b/paragonik-backend/vendor/phpunit/phpunit/src/Runner/Hook/AfterRiskyTestHook.php deleted file mode 100644 index 7fe9ee7..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Runner/Hook/AfterRiskyTestHook.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Runner; - -interface AfterRiskyTestHook extends TestHook -{ - public function executeAfterRiskyTest(string $test, string $message, float $time): void; -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Runner/Hook/AfterSkippedTestHook.php b/paragonik-backend/vendor/phpunit/phpunit/src/Runner/Hook/AfterSkippedTestHook.php deleted file mode 100644 index f9253b5..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Runner/Hook/AfterSkippedTestHook.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Runner; - -interface AfterSkippedTestHook extends TestHook -{ - public function executeAfterSkippedTest(string $test, string $message, float $time): void; -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Runner/Hook/AfterSuccessfulTestHook.php b/paragonik-backend/vendor/phpunit/phpunit/src/Runner/Hook/AfterSuccessfulTestHook.php deleted file mode 100644 index 6b55cc8..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Runner/Hook/AfterSuccessfulTestHook.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Runner; - -interface AfterSuccessfulTestHook extends TestHook -{ - public function executeAfterSuccessfulTest(string $test, float $time): void; -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Runner/Hook/AfterTestErrorHook.php b/paragonik-backend/vendor/phpunit/phpunit/src/Runner/Hook/AfterTestErrorHook.php deleted file mode 100644 index f5c23fb..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Runner/Hook/AfterTestErrorHook.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Runner; - -interface AfterTestErrorHook extends TestHook -{ - public function executeAfterTestError(string $test, string $message, float $time): void; -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Runner/Hook/AfterTestFailureHook.php b/paragonik-backend/vendor/phpunit/phpunit/src/Runner/Hook/AfterTestFailureHook.php deleted file mode 100644 index 9ed2939..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Runner/Hook/AfterTestFailureHook.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Runner; - -interface AfterTestFailureHook extends TestHook -{ - public function executeAfterTestFailure(string $test, string $message, float $time): void; -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Runner/Hook/AfterTestHook.php b/paragonik-backend/vendor/phpunit/phpunit/src/Runner/Hook/AfterTestHook.php deleted file mode 100644 index f463732..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Runner/Hook/AfterTestHook.php +++ /dev/null @@ -1,21 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Runner; - -interface AfterTestHook extends Hook -{ - /** - * This hook will fire after any test, regardless of the result. - * - * For more fine grained control, have a look at the other hooks - * that extend PHPUnit\Runner\Hook. - */ - public function executeAfterTest(string $test, float $time): void; -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Runner/Hook/AfterTestWarningHook.php b/paragonik-backend/vendor/phpunit/phpunit/src/Runner/Hook/AfterTestWarningHook.php deleted file mode 100644 index 12de80f..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Runner/Hook/AfterTestWarningHook.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Runner; - -interface AfterTestWarningHook extends TestHook -{ - public function executeAfterTestWarning(string $test, string $message, float $time): void; -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Runner/Hook/BeforeFirstTestHook.php b/paragonik-backend/vendor/phpunit/phpunit/src/Runner/Hook/BeforeFirstTestHook.php deleted file mode 100644 index 59b6666..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Runner/Hook/BeforeFirstTestHook.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Runner; - -interface BeforeFirstTestHook extends Hook -{ - public function executeBeforeFirstTest(): void; -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Runner/Hook/BeforeTestHook.php b/paragonik-backend/vendor/phpunit/phpunit/src/Runner/Hook/BeforeTestHook.php deleted file mode 100644 index 8bbf8a9..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Runner/Hook/BeforeTestHook.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Runner; - -interface BeforeTestHook extends TestHook -{ - public function executeBeforeTest(string $test): void; -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Runner/Hook/Hook.php b/paragonik-backend/vendor/phpunit/phpunit/src/Runner/Hook/Hook.php deleted file mode 100644 index 546f1a3..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Runner/Hook/Hook.php +++ /dev/null @@ -1,14 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Runner; - -interface Hook -{ -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Runner/Hook/TestHook.php b/paragonik-backend/vendor/phpunit/phpunit/src/Runner/Hook/TestHook.php deleted file mode 100644 index 47c41f9..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Runner/Hook/TestHook.php +++ /dev/null @@ -1,14 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Runner; - -interface TestHook extends Hook -{ -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Runner/Hook/TestListenerAdapter.php b/paragonik-backend/vendor/phpunit/phpunit/src/Runner/Hook/TestListenerAdapter.php deleted file mode 100644 index 02ed700..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Runner/Hook/TestListenerAdapter.php +++ /dev/null @@ -1,137 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Runner; - -use PHPUnit\Framework\AssertionFailedError; -use PHPUnit\Framework\Test; -use PHPUnit\Framework\TestListener; -use PHPUnit\Framework\TestSuite; -use PHPUnit\Framework\Warning; -use PHPUnit\Util\Test as TestUtil; - -final class TestListenerAdapter implements TestListener -{ - /** - * @var TestHook[] - */ - private $hooks = []; - - /** - * @var bool - */ - private $lastTestWasNotSuccessful; - - public function add(TestHook $hook): void - { - $this->hooks[] = $hook; - } - - public function startTest(Test $test): void - { - foreach ($this->hooks as $hook) { - if ($hook instanceof BeforeTestHook) { - $hook->executeBeforeTest(TestUtil::describeAsString($test)); - } - } - - $this->lastTestWasNotSuccessful = false; - } - - public function addError(Test $test, \Throwable $t, float $time): void - { - foreach ($this->hooks as $hook) { - if ($hook instanceof AfterTestErrorHook) { - $hook->executeAfterTestError(TestUtil::describeAsString($test), $t->getMessage(), $time); - } - } - - $this->lastTestWasNotSuccessful = true; - } - - public function addWarning(Test $test, Warning $e, float $time): void - { - foreach ($this->hooks as $hook) { - if ($hook instanceof AfterTestWarningHook) { - $hook->executeAfterTestWarning(TestUtil::describeAsString($test), $e->getMessage(), $time); - } - } - - $this->lastTestWasNotSuccessful = true; - } - - public function addFailure(Test $test, AssertionFailedError $e, float $time): void - { - foreach ($this->hooks as $hook) { - if ($hook instanceof AfterTestFailureHook) { - $hook->executeAfterTestFailure(TestUtil::describeAsString($test), $e->getMessage(), $time); - } - } - - $this->lastTestWasNotSuccessful = true; - } - - public function addIncompleteTest(Test $test, \Throwable $t, float $time): void - { - foreach ($this->hooks as $hook) { - if ($hook instanceof AfterIncompleteTestHook) { - $hook->executeAfterIncompleteTest(TestUtil::describeAsString($test), $t->getMessage(), $time); - } - } - - $this->lastTestWasNotSuccessful = true; - } - - public function addRiskyTest(Test $test, \Throwable $t, float $time): void - { - foreach ($this->hooks as $hook) { - if ($hook instanceof AfterRiskyTestHook) { - $hook->executeAfterRiskyTest(TestUtil::describeAsString($test), $t->getMessage(), $time); - } - } - - $this->lastTestWasNotSuccessful = true; - } - - public function addSkippedTest(Test $test, \Throwable $t, float $time): void - { - foreach ($this->hooks as $hook) { - if ($hook instanceof AfterSkippedTestHook) { - $hook->executeAfterSkippedTest(TestUtil::describeAsString($test), $t->getMessage(), $time); - } - } - - $this->lastTestWasNotSuccessful = true; - } - - public function endTest(Test $test, float $time): void - { - if ($this->lastTestWasNotSuccessful !== true) { - foreach ($this->hooks as $hook) { - if ($hook instanceof AfterSuccessfulTestHook) { - $hook->executeAfterSuccessfulTest(TestUtil::describeAsString($test), $time); - } - } - } - - foreach ($this->hooks as $hook) { - if ($hook instanceof AfterTestHook) { - $hook->executeAfterTest(TestUtil::describeAsString($test), $time); - } - } - } - - public function startTestSuite(TestSuite $suite): void - { - } - - public function endTestSuite(TestSuite $suite): void - { - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Runner/PhptTestCase.php b/paragonik-backend/vendor/phpunit/phpunit/src/Runner/PhptTestCase.php deleted file mode 100644 index bccc70b..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Runner/PhptTestCase.php +++ /dev/null @@ -1,598 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Runner; - -use PHPUnit\Framework\Assert; -use PHPUnit\Framework\AssertionFailedError; -use PHPUnit\Framework\IncompleteTestError; -use PHPUnit\Framework\SelfDescribing; -use PHPUnit\Framework\SkippedTestError; -use PHPUnit\Framework\Test; -use PHPUnit\Framework\TestResult; -use PHPUnit\Util\PHP\AbstractPhpProcess; -use SebastianBergmann\Timer\Timer; -use Text_Template; -use Throwable; - -/** - * Runner for PHPT test cases. - */ -class PhptTestCase implements SelfDescribing, Test -{ - /** - * @var string[] - */ - private const SETTINGS = [ - 'allow_url_fopen=1', - 'auto_append_file=', - 'auto_prepend_file=', - 'disable_functions=', - 'display_errors=1', - 'docref_ext=.html', - 'docref_root=', - 'error_append_string=', - 'error_prepend_string=', - 'error_reporting=-1', - 'html_errors=0', - 'log_errors=0', - 'magic_quotes_runtime=0', - 'open_basedir=', - 'output_buffering=Off', - 'output_handler=', - 'report_memleaks=0', - 'report_zend_debug=0', - 'safe_mode=0', - 'xdebug.default_enable=0', - ]; - - /** - * @var string - */ - private $filename; - - /** - * @var AbstractPhpProcess - */ - private $phpUtil; - - /** - * @var string - */ - private $output = ''; - - /** - * Constructs a test case with the given filename. - * - * @throws Exception - */ - public function __construct(string $filename, AbstractPhpProcess $phpUtil = null) - { - if (!\is_file($filename)) { - throw new Exception( - \sprintf( - 'File "%s" does not exist.', - $filename - ) - ); - } - - $this->filename = $filename; - $this->phpUtil = $phpUtil ?: AbstractPhpProcess::factory(); - } - - /** - * Counts the number of test cases executed by run(TestResult result). - */ - public function count(): int - { - return 1; - } - - /** - * Runs a test and collects its result in a TestResult instance. - * - * @throws Exception - * @throws \ReflectionException - * @throws \SebastianBergmann\CodeCoverage\CoveredCodeNotExecutedException - * @throws \SebastianBergmann\CodeCoverage\InvalidArgumentException - * @throws \SebastianBergmann\CodeCoverage\MissingCoversAnnotationException - * @throws \SebastianBergmann\CodeCoverage\RuntimeException - * @throws \SebastianBergmann\CodeCoverage\UnintentionallyCoveredCodeException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public function run(TestResult $result = null): TestResult - { - if ($result === null) { - $result = new TestResult; - } - - try { - $sections = $this->parse(); - } catch (Exception $e) { - $result->startTest($this); - $result->addFailure($this, new SkippedTestError($e->getMessage()), 0); - $result->endTest($this, 0); - - return $result; - } - - $code = $this->render($sections['FILE']); - $xfail = false; - $settings = $this->parseIniSection(self::SETTINGS); - - $result->startTest($this); - - if (isset($sections['INI'])) { - $settings = $this->parseIniSection($sections['INI'], $settings); - } - - if (isset($sections['ENV'])) { - $env = $this->parseEnvSection($sections['ENV']); - $this->phpUtil->setEnv($env); - } - - $this->phpUtil->setUseStderrRedirection(true); - - if ($result->enforcesTimeLimit()) { - $this->phpUtil->setTimeout($result->getTimeoutForLargeTests()); - } - - $skip = $this->runSkip($sections, $result, $settings); - - if ($skip) { - return $result; - } - - if (isset($sections['XFAIL'])) { - $xfail = \trim($sections['XFAIL']); - } - - if (isset($sections['STDIN'])) { - $this->phpUtil->setStdin($sections['STDIN']); - } - - if (isset($sections['ARGS'])) { - $this->phpUtil->setArgs($sections['ARGS']); - } - - if ($result->getCollectCodeCoverageInformation()) { - $this->renderForCoverage($code); - } - - Timer::start(); - - $jobResult = $this->phpUtil->runJob($code, $this->stringifyIni($settings)); - $time = Timer::stop(); - $this->output = $jobResult['stdout'] ?? ''; - - if ($result->getCollectCodeCoverageInformation() && ($coverage = $this->cleanupForCoverage())) { - $result->getCodeCoverage()->append($coverage, $this, true, [], [], true); - } - - try { - $this->assertPhptExpectation($sections, $this->output); - } catch (AssertionFailedError $e) { - $failure = $e; - - if ($xfail !== false) { - $failure = new IncompleteTestError($xfail, 0, $e); - } - $result->addFailure($this, $failure, $time); - } catch (Throwable $t) { - $result->addError($this, $t, $time); - } - - if ($result->allCompletelyImplemented() && $xfail !== false) { - $result->addFailure($this, new IncompleteTestError('XFAIL section but test passes'), $time); - } - - $this->runClean($sections); - - $result->endTest($this, $time); - - return $result; - } - - /** - * Returns the name of the test case. - */ - public function getName(): string - { - return $this->toString(); - } - - /** - * Returns a string representation of the test case. - */ - public function toString(): string - { - return $this->filename; - } - - public function usesDataProvider(): bool - { - return false; - } - - public function getNumAssertions(): int - { - return 1; - } - - public function getActualOutput(): string - { - return $this->output; - } - - public function hasOutput(): bool - { - return !empty($this->output); - } - - /** - * Parse --INI-- section key value pairs and return as array. - * - * @param array|string - */ - private function parseIniSection($content, $ini = []): array - { - if (\is_string($content)) { - $content = \explode("\n", \trim($content)); - } - - foreach ($content as $setting) { - if (\strpos($setting, '=') === false) { - continue; - } - - $setting = \explode('=', $setting, 2); - $name = \trim($setting[0]); - $value = \trim($setting[1]); - - if ($name === 'extension' || $name === 'zend_extension') { - if (!isset($ini[$name])) { - $ini[$name] = []; - } - - $ini[$name][] = $value; - - continue; - } - - $ini[$name] = $value; - } - - return $ini; - } - - private function parseEnvSection(string $content): array - { - $env = []; - - foreach (\explode("\n", \trim($content)) as $e) { - $e = \explode('=', \trim($e), 2); - - if (!empty($e[0]) && isset($e[1])) { - $env[$e[0]] = $e[1]; - } - } - - return $env; - } - - /** - * @throws Exception - */ - private function assertPhptExpectation(array $sections, string $output): void - { - $assertions = [ - 'EXPECT' => 'assertEquals', - 'EXPECTF' => 'assertStringMatchesFormat', - 'EXPECTREGEX' => 'assertRegExp', - ]; - - $actual = \preg_replace('/\r\n/', "\n", \trim($output)); - - foreach ($assertions as $sectionName => $sectionAssertion) { - if (isset($sections[$sectionName])) { - $sectionContent = \preg_replace('/\r\n/', "\n", \trim($sections[$sectionName])); - $expected = $sectionName === 'EXPECTREGEX' ? "/{$sectionContent}/" : $sectionContent; - - if ($expected === null) { - throw new Exception('No PHPT expectation found'); - } - Assert::$sectionAssertion($expected, $actual); - - return; - } - } - - throw new Exception('No PHPT assertion found'); - } - - /** - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - private function runSkip(array &$sections, TestResult $result, array $settings): bool - { - if (!isset($sections['SKIPIF'])) { - return false; - } - - $skipif = $this->render($sections['SKIPIF']); - $jobResult = $this->phpUtil->runJob($skipif, $this->stringifyIni($settings)); - - if (!\strncasecmp('skip', \ltrim($jobResult['stdout']), 4)) { - $message = ''; - - if (\preg_match('/^\s*skip\s*(.+)\s*/i', $jobResult['stdout'], $skipMatch)) { - $message = \substr($skipMatch[1], 2); - } - - $result->addFailure($this, new SkippedTestError($message), 0); - $result->endTest($this, 0); - - return true; - } - - return false; - } - - private function runClean(array &$sections): void - { - $this->phpUtil->setStdin(''); - $this->phpUtil->setArgs(''); - - if (isset($sections['CLEAN'])) { - $cleanCode = $this->render($sections['CLEAN']); - - $this->phpUtil->runJob($cleanCode, self::SETTINGS); - } - } - - /** - * @throws Exception - */ - private function parse(): array - { - $sections = []; - $section = ''; - - $unsupportedSections = [ - 'CGI', - 'COOKIE', - 'DEFLATE_POST', - 'EXPECTHEADERS', - 'EXTENSIONS', - 'GET', - 'GZIP_POST', - 'HEADERS', - 'PHPDBG', - 'POST', - 'POST_RAW', - 'PUT', - 'REDIRECTTEST', - 'REQUEST', - ]; - - foreach (\file($this->filename) as $line) { - if (\preg_match('/^--([_A-Z]+)--/', $line, $result)) { - $section = $result[1]; - $sections[$section] = ''; - - continue; - } - - if (empty($section)) { - throw new Exception('Invalid PHPT file: empty section header'); - } - - $sections[$section] .= $line; - } - - if (isset($sections['FILEEOF'])) { - $sections['FILE'] = \rtrim($sections['FILEEOF'], "\r\n"); - unset($sections['FILEEOF']); - } - - $this->parseExternal($sections); - - if (!$this->validate($sections)) { - throw new Exception('Invalid PHPT file'); - } - - foreach ($unsupportedSections as $section) { - if (isset($sections[$section])) { - throw new Exception( - "PHPUnit does not support PHPT $section sections" - ); - } - } - - return $sections; - } - - /** - * @throws Exception - */ - private function parseExternal(array &$sections): void - { - $allowSections = [ - 'FILE', - 'EXPECT', - 'EXPECTF', - 'EXPECTREGEX', - ]; - $testDirectory = \dirname($this->filename) . \DIRECTORY_SEPARATOR; - - foreach ($allowSections as $section) { - if (isset($sections[$section . '_EXTERNAL'])) { - $externalFilename = \trim($sections[$section . '_EXTERNAL']); - - if (!\is_file($testDirectory . $externalFilename) || - !\is_readable($testDirectory . $externalFilename)) { - throw new Exception( - \sprintf( - 'Could not load --%s-- %s for PHPT file', - $section . '_EXTERNAL', - $testDirectory . $externalFilename - ) - ); - } - - $sections[$section] = \file_get_contents($testDirectory . $externalFilename); - - unset($sections[$section . '_EXTERNAL']); - } - } - } - - private function validate(array &$sections): bool - { - $requiredSections = [ - 'FILE', - [ - 'EXPECT', - 'EXPECTF', - 'EXPECTREGEX', - ], - ]; - - foreach ($requiredSections as $section) { - if (\is_array($section)) { - $foundSection = false; - - foreach ($section as $anySection) { - if (isset($sections[$anySection])) { - $foundSection = true; - - break; - } - } - - if (!$foundSection) { - return false; - } - - continue; - } - - if (!isset($sections[$section])) { - return false; - } - } - - return true; - } - - private function render(string $code): string - { - return \str_replace( - [ - '__DIR__', - '__FILE__', - ], - [ - "'" . \dirname($this->filename) . "'", - "'" . $this->filename . "'", - ], - $code - ); - } - - private function getCoverageFiles(): array - { - $baseDir = \dirname(\realpath($this->filename)) . \DIRECTORY_SEPARATOR; - $basename = \basename($this->filename, 'phpt'); - - return [ - 'coverage' => $baseDir . $basename . 'coverage', - 'job' => $baseDir . $basename . 'php', - ]; - } - - private function renderForCoverage(string &$job): void - { - $files = $this->getCoverageFiles(); - - $template = new Text_Template( - __DIR__ . '/../Util/PHP/Template/PhptTestCase.tpl' - ); - - $composerAutoload = '\'\''; - - if (\defined('PHPUNIT_COMPOSER_INSTALL') && !\defined('PHPUNIT_TESTSUITE')) { - $composerAutoload = \var_export(PHPUNIT_COMPOSER_INSTALL, true); - } - - $phar = '\'\''; - - if (\defined('__PHPUNIT_PHAR__')) { - $phar = \var_export(__PHPUNIT_PHAR__, true); - } - - $globals = ''; - - if (!empty($GLOBALS['__PHPUNIT_BOOTSTRAP'])) { - $globals = '$GLOBALS[\'__PHPUNIT_BOOTSTRAP\'] = ' . \var_export( - $GLOBALS['__PHPUNIT_BOOTSTRAP'], - true - ) . ";\n"; - } - - $template->setVar( - [ - 'composerAutoload' => $composerAutoload, - 'phar' => $phar, - 'globals' => $globals, - 'job' => $files['job'], - 'coverageFile' => $files['coverage'], - ] - ); - - \file_put_contents($files['job'], $job); - $job = $template->render(); - } - - private function cleanupForCoverage(): array - { - $files = $this->getCoverageFiles(); - $coverage = @\unserialize(\file_get_contents($files['coverage'])); - - if ($coverage === false) { - $coverage = []; - } - - foreach ($files as $file) { - @\unlink($file); - } - - return $coverage; - } - - private function stringifyIni(array $ini): array - { - $settings = []; - - foreach ($ini as $key => $value) { - if (\is_array($value)) { - foreach ($value as $val) { - $settings[] = $key . '=' . $val; - } - - continue; - } - - $settings[] = $key . '=' . $value; - } - - return $settings; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Runner/ResultCacheExtension.php b/paragonik-backend/vendor/phpunit/phpunit/src/Runner/ResultCacheExtension.php deleted file mode 100644 index 609164a..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Runner/ResultCacheExtension.php +++ /dev/null @@ -1,104 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Runner; - -final class ResultCacheExtension implements AfterIncompleteTestHook, AfterLastTestHook, AfterRiskyTestHook, AfterSkippedTestHook, AfterSuccessfulTestHook, AfterTestErrorHook, AfterTestFailureHook, AfterTestWarningHook -{ - /** - * @var TestResultCacheInterface - */ - private $cache; - - public function __construct(TestResultCache $cache) - { - $this->cache = $cache; - } - - public function flush(): void - { - $this->cache->persist(); - } - - public function executeAfterSuccessfulTest(string $test, float $time): void - { - $testName = $this->getTestName($test); - - $this->cache->setTime($testName, \round($time, 3)); - } - - public function executeAfterIncompleteTest(string $test, string $message, float $time): void - { - $testName = $this->getTestName($test); - - $this->cache->setTime($testName, \round($time, 3)); - $this->cache->setState($testName, BaseTestRunner::STATUS_INCOMPLETE); - } - - public function executeAfterRiskyTest(string $test, string $message, float $time): void - { - $testName = $this->getTestName($test); - - $this->cache->setTime($testName, \round($time, 3)); - $this->cache->setState($testName, BaseTestRunner::STATUS_RISKY); - } - - public function executeAfterSkippedTest(string $test, string $message, float $time): void - { - $testName = $this->getTestName($test); - - $this->cache->setTime($testName, \round($time, 3)); - $this->cache->setState($testName, BaseTestRunner::STATUS_SKIPPED); - } - - public function executeAfterTestError(string $test, string $message, float $time): void - { - $testName = $this->getTestName($test); - - $this->cache->setTime($testName, \round($time, 3)); - $this->cache->setState($testName, BaseTestRunner::STATUS_ERROR); - } - - public function executeAfterTestFailure(string $test, string $message, float $time): void - { - $testName = $this->getTestName($test); - - $this->cache->setTime($testName, \round($time, 3)); - $this->cache->setState($testName, BaseTestRunner::STATUS_FAILURE); - } - - public function executeAfterTestWarning(string $test, string $message, float $time): void - { - $testName = $this->getTestName($test); - - $this->cache->setTime($testName, \round($time, 3)); - $this->cache->setState($testName, BaseTestRunner::STATUS_WARNING); - } - - public function executeAfterLastTest(): void - { - $this->flush(); - } - - /** - * @param string $test A long description format of the current test - * - * @return string The test name without TestSuiteClassName:: and @dataprovider details - */ - private function getTestName(string $test): string - { - $matches = []; - - if (\preg_match('/^(?\S+::\S+)(?:(? with data set (?:#\d+|"[^"]+"))\s\()?/', $test, $matches)) { - $test = $matches['name'] . ($matches['dataname'] ?? ''); - } - - return $test; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Runner/StandardTestSuiteLoader.php b/paragonik-backend/vendor/phpunit/phpunit/src/Runner/StandardTestSuiteLoader.php deleted file mode 100644 index 633a7c2..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Runner/StandardTestSuiteLoader.php +++ /dev/null @@ -1,112 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Runner; - -use PHPUnit\Framework\TestCase; -use PHPUnit\Util\FileLoader; -use PHPUnit\Util\Filesystem; -use ReflectionClass; - -/** - * The standard test suite loader. - */ -class StandardTestSuiteLoader implements TestSuiteLoader -{ - /** - * @throws Exception - * @throws \PHPUnit\Framework\Exception - */ - public function load(string $suiteClassName, string $suiteClassFile = ''): ReflectionClass - { - $suiteClassName = \str_replace('.php', '', $suiteClassName); - - if (empty($suiteClassFile)) { - $suiteClassFile = Filesystem::classNameToFilename( - $suiteClassName - ); - } - - if (!\class_exists($suiteClassName, false)) { - $loadedClasses = \get_declared_classes(); - - $filename = FileLoader::checkAndLoad($suiteClassFile); - - $loadedClasses = \array_values( - \array_diff(\get_declared_classes(), $loadedClasses) - ); - } - - if (!\class_exists($suiteClassName, false) && !empty($loadedClasses)) { - $offset = 0 - \strlen($suiteClassName); - - foreach ($loadedClasses as $loadedClass) { - $class = new ReflectionClass($loadedClass); - - if (\substr($loadedClass, $offset) === $suiteClassName && - $class->getFileName() == $filename) { - $suiteClassName = $loadedClass; - - break; - } - } - } - - if (!\class_exists($suiteClassName, false) && !empty($loadedClasses)) { - $testCaseClass = TestCase::class; - - foreach ($loadedClasses as $loadedClass) { - $class = new ReflectionClass($loadedClass); - $classFile = $class->getFileName(); - - if ($class->isSubclassOf($testCaseClass) && !$class->isAbstract()) { - $suiteClassName = $loadedClass; - $testCaseClass = $loadedClass; - - if ($classFile == \realpath($suiteClassFile)) { - break; - } - } - - if ($class->hasMethod('suite')) { - $method = $class->getMethod('suite'); - - if (!$method->isAbstract() && $method->isPublic() && $method->isStatic()) { - $suiteClassName = $loadedClass; - - if ($classFile == \realpath($suiteClassFile)) { - break; - } - } - } - } - } - - if (\class_exists($suiteClassName, false)) { - $class = new ReflectionClass($suiteClassName); - - if ($class->getFileName() == \realpath($suiteClassFile)) { - return $class; - } - } - - throw new Exception( - \sprintf( - "Class '%s' could not be found in '%s'.", - $suiteClassName, - $suiteClassFile - ) - ); - } - - public function reload(ReflectionClass $aClass): ReflectionClass - { - return $aClass; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Runner/TestSuiteLoader.php b/paragonik-backend/vendor/phpunit/phpunit/src/Runner/TestSuiteLoader.php deleted file mode 100644 index 74cf753..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Runner/TestSuiteLoader.php +++ /dev/null @@ -1,22 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Runner; - -use ReflectionClass; - -/** - * An interface to define how a test suite should be loaded. - */ -interface TestSuiteLoader -{ - public function load(string $suiteClassName, string $suiteClassFile = ''): ReflectionClass; - - public function reload(ReflectionClass $aClass): ReflectionClass; -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Runner/TestSuiteSorter.php b/paragonik-backend/vendor/phpunit/phpunit/src/Runner/TestSuiteSorter.php deleted file mode 100644 index d467ac6..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Runner/TestSuiteSorter.php +++ /dev/null @@ -1,360 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Runner; - -use PHPUnit\Framework\DataProviderTestSuite; -use PHPUnit\Framework\Test; -use PHPUnit\Framework\TestCase; -use PHPUnit\Framework\TestSuite; - -final class TestSuiteSorter -{ - /** - * @var int - */ - public const ORDER_DEFAULT = 0; - - /** - * @var int - */ - public const ORDER_RANDOMIZED = 1; - - /** - * @var int - */ - public const ORDER_REVERSED = 2; - - /** - * @var int - */ - public const ORDER_DEFECTS_FIRST = 3; - - /** - * @var int - */ - public const ORDER_DURATION = 4; - - /** - * List of sorting weights for all test result codes. A higher number gives higher priority. - */ - private const DEFECT_SORT_WEIGHT = [ - BaseTestRunner::STATUS_ERROR => 6, - BaseTestRunner::STATUS_FAILURE => 5, - BaseTestRunner::STATUS_WARNING => 4, - BaseTestRunner::STATUS_INCOMPLETE => 3, - BaseTestRunner::STATUS_RISKY => 2, - BaseTestRunner::STATUS_SKIPPED => 1, - BaseTestRunner::STATUS_UNKNOWN => 0, - ]; - - /** - * @var array Associative array of (string => DEFECT_SORT_WEIGHT) elements - */ - private $defectSortOrder = []; - - /** - * @var TestResultCacheInterface - */ - private $cache; - - /** - * @var array array A list of normalized names of tests before reordering - */ - private $originalExecutionOrder = []; - - /** - * @var array array A list of normalized names of tests affected by reordering - */ - private $executionOrder = []; - - public static function getTestSorterUID(Test $test): string - { - if ($test instanceof PhptTestCase) { - return $test->getName(); - } - - if ($test instanceof TestCase) { - $testName = $test->getName(true); - - if (\strpos($testName, '::') === false) { - $testName = \get_class($test) . '::' . $testName; - } - - return $testName; - } - - return $test->getName(); - } - - public function __construct(?TestResultCacheInterface $cache = null) - { - $this->cache = $cache ?? new NullTestResultCache; - } - - /** - * @throws Exception - */ - public function reorderTestsInSuite(Test $suite, int $order, bool $resolveDependencies, int $orderDefects, bool $isRootTestSuite = true): void - { - $allowedOrders = [ - self::ORDER_DEFAULT, - self::ORDER_REVERSED, - self::ORDER_RANDOMIZED, - self::ORDER_DURATION, - ]; - - if (!\in_array($order, $allowedOrders, true)) { - throw new Exception( - '$order must be one of TestSuiteSorter::ORDER_DEFAULT, TestSuiteSorter::ORDER_REVERSED, or TestSuiteSorter::ORDER_RANDOMIZED, or TestSuiteSorter::ORDER_DURATION' - ); - } - - $allowedOrderDefects = [ - self::ORDER_DEFAULT, - self::ORDER_DEFECTS_FIRST, - ]; - - if (!\in_array($orderDefects, $allowedOrderDefects, true)) { - throw new Exception( - '$orderDefects must be one of TestSuiteSorter::ORDER_DEFAULT, TestSuiteSorter::ORDER_DEFECTS_FIRST' - ); - } - - if ($isRootTestSuite) { - $this->originalExecutionOrder = $this->calculateTestExecutionOrder($suite); - } - - if ($suite instanceof TestSuite) { - foreach ($suite as $_suite) { - $this->reorderTestsInSuite($_suite, $order, $resolveDependencies, $orderDefects, false); - } - - if ($orderDefects === self::ORDER_DEFECTS_FIRST) { - $this->addSuiteToDefectSortOrder($suite); - } - - $this->sort($suite, $order, $resolveDependencies, $orderDefects); - } - - if ($isRootTestSuite) { - $this->executionOrder = $this->calculateTestExecutionOrder($suite); - } - } - - public function getOriginalExecutionOrder(): array - { - return $this->originalExecutionOrder; - } - - public function getExecutionOrder(): array - { - return $this->executionOrder; - } - - private function sort(TestSuite $suite, int $order, bool $resolveDependencies, int $orderDefects): void - { - if (empty($suite->tests())) { - return; - } - - if ($order === self::ORDER_REVERSED) { - $suite->setTests($this->reverse($suite->tests())); - } elseif ($order === self::ORDER_RANDOMIZED) { - $suite->setTests($this->randomize($suite->tests())); - } elseif ($order === self::ORDER_DURATION && $this->cache !== null) { - $suite->setTests($this->sortByDuration($suite->tests())); - } - - if ($orderDefects === self::ORDER_DEFECTS_FIRST && $this->cache !== null) { - $suite->setTests($this->sortDefectsFirst($suite->tests())); - } - - if ($resolveDependencies && !($suite instanceof DataProviderTestSuite) && $this->suiteOnlyContainsTests($suite)) { - /** @var TestCase[] $tests */ - $tests = $suite->tests(); - - $suite->setTests($this->resolveDependencies($tests)); - } - } - - private function addSuiteToDefectSortOrder(TestSuite $suite): void - { - $max = 0; - - foreach ($suite->tests() as $test) { - $testname = self::getTestSorterUID($test); - - if (!isset($this->defectSortOrder[$testname])) { - $this->defectSortOrder[$testname] = self::DEFECT_SORT_WEIGHT[$this->cache->getState($testname)]; - $max = \max($max, $this->defectSortOrder[$testname]); - } - } - - $this->defectSortOrder[$suite->getName()] = $max; - } - - private function suiteOnlyContainsTests(TestSuite $suite): bool - { - return \array_reduce( - $suite->tests(), - function ($carry, $test) { - return $carry && ($test instanceof TestCase || $test instanceof DataProviderTestSuite); - }, - true - ); - } - - private function reverse(array $tests): array - { - return \array_reverse($tests); - } - - private function randomize(array $tests): array - { - \shuffle($tests); - - return $tests; - } - - private function sortDefectsFirst(array $tests): array - { - \usort( - $tests, - function ($left, $right) { - return $this->cmpDefectPriorityAndTime($left, $right); - } - ); - - return $tests; - } - - private function sortByDuration(array $tests): array - { - \usort( - $tests, - function ($left, $right) { - return $this->cmpDuration($left, $right); - } - ); - - return $tests; - } - - /** - * Comparator callback function to sort tests for "reach failure as fast as possible": - * 1. sort tests by defect weight defined in self::DEFECT_SORT_WEIGHT - * 2. when tests are equally defective, sort the fastest to the front - * 3. do not reorder successful tests - */ - private function cmpDefectPriorityAndTime(Test $a, Test $b): int - { - $priorityA = $this->defectSortOrder[self::getTestSorterUID($a)] ?? 0; - $priorityB = $this->defectSortOrder[self::getTestSorterUID($b)] ?? 0; - - if ($priorityB <=> $priorityA) { - // Sort defect weight descending - return $priorityB <=> $priorityA; - } - - if ($priorityA || $priorityB) { - return $this->cmpDuration($a, $b); - } - - // do not change execution order - return 0; - } - - /** - * Compares test duration for sorting tests by duration ascending. - */ - private function cmpDuration(Test $a, Test $b): int - { - return $this->cache->getTime(self::getTestSorterUID($a)) <=> $this->cache->getTime(self::getTestSorterUID($b)); - } - - /** - * Reorder Tests within a TestCase in such a way as to resolve as many dependencies as possible. - * The algorithm will leave the tests in original running order when it can. - * For more details see the documentation for test dependencies. - * - * Short description of algorithm: - * 1. Pick the next Test from remaining tests to be checked for dependencies. - * 2. If the test has no dependencies: mark done, start again from the top - * 3. If the test has dependencies but none left to do: mark done, start again from the top - * 4. When we reach the end add any leftover tests to the end. These will be marked 'skipped' during execution. - * - * @param array $tests - * - * @return array - */ - private function resolveDependencies(array $tests): array - { - $newTestOrder = []; - $i = 0; - - do { - $todoNames = \array_map( - function ($test) { - return self::getTestSorterUID($test); - }, - $tests - ); - - if (!$tests[$i]->hasDependencies() || empty(\array_intersect($this->getNormalizedDependencyNames($tests[$i]), $todoNames))) { - $newTestOrder = \array_merge($newTestOrder, \array_splice($tests, $i, 1)); - $i = 0; - } else { - $i++; - } - } while (!empty($tests) && ($i < \count($tests))); - - return \array_merge($newTestOrder, $tests); - } - - /** - * @param DataProviderTestSuite|TestCase $test - * - * @return array A list of full test names as "TestSuiteClassName::testMethodName" - */ - private function getNormalizedDependencyNames($test): array - { - if ($test instanceof DataProviderTestSuite) { - $testClass = \substr($test->getName(), 0, \strpos($test->getName(), '::')); - } else { - $testClass = \get_class($test); - } - - $names = \array_map( - function ($name) use ($testClass) { - return \strpos($name, '::') === false ? $testClass . '::' . $name : $name; - }, - $test->getDependencies() - ); - - return $names; - } - - private function calculateTestExecutionOrder(Test $suite): array - { - $tests = []; - - if ($suite instanceof TestSuite) { - foreach ($suite->tests() as $test) { - if (!($test instanceof TestSuite)) { - $tests[] = self::getTestSorterUID($test); - } else { - $tests = \array_merge($tests, $this->calculateTestExecutionOrder($test)); - } - } - } - - return $tests; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Runner/Version.php b/paragonik-backend/vendor/phpunit/phpunit/src/Runner/Version.php deleted file mode 100644 index c2006e0..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Runner/Version.php +++ /dev/null @@ -1,64 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Runner; - -use SebastianBergmann\Version as VersionId; - -/** - * This class defines the current version of PHPUnit. - */ -class Version -{ - private static $pharVersion; - - private static $version; - - /** - * Returns the current version of PHPUnit. - */ - public static function id(): string - { - if (self::$pharVersion !== null) { - return self::$pharVersion; - } - - if (self::$version === null) { - $version = new VersionId('7.5.17', \dirname(__DIR__, 2)); - self::$version = $version->getVersion(); - } - - return self::$version; - } - - public static function series(): string - { - if (\strpos(self::id(), '-')) { - $version = \explode('-', self::id())[0]; - } else { - $version = self::id(); - } - - return \implode('.', \array_slice(\explode('.', $version), 0, 2)); - } - - public static function getVersionString(): string - { - return 'PHPUnit ' . self::id() . ' by Sebastian Bergmann and contributors.'; - } - - public static function getReleaseChannel(): string - { - if (\strpos(self::$pharVersion, '-') !== false) { - return '-nightly'; - } - - return ''; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/TextUI/Command.php b/paragonik-backend/vendor/phpunit/phpunit/src/TextUI/Command.php deleted file mode 100644 index e801368..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/TextUI/Command.php +++ /dev/null @@ -1,1384 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\TextUI; - -use PharIo\Manifest\ApplicationName; -use PharIo\Manifest\Exception as ManifestException; -use PharIo\Manifest\ManifestLoader; -use PharIo\Version\Version as PharIoVersion; -use PHPUnit\Framework\Exception; -use PHPUnit\Framework\Test; -use PHPUnit\Framework\TestListener; -use PHPUnit\Framework\TestSuite; -use PHPUnit\Runner\PhptTestCase; -use PHPUnit\Runner\StandardTestSuiteLoader; -use PHPUnit\Runner\TestSuiteLoader; -use PHPUnit\Runner\TestSuiteSorter; -use PHPUnit\Runner\Version; -use PHPUnit\Util\Configuration; -use PHPUnit\Util\ConfigurationGenerator; -use PHPUnit\Util\FileLoader; -use PHPUnit\Util\Filesystem; -use PHPUnit\Util\Getopt; -use PHPUnit\Util\Log\TeamCity; -use PHPUnit\Util\Printer; -use PHPUnit\Util\TestDox\CliTestDoxPrinter; -use PHPUnit\Util\TextTestListRenderer; -use PHPUnit\Util\XmlTestListRenderer; -use ReflectionClass; -use SebastianBergmann\FileIterator\Facade as FileIteratorFacade; - -use Throwable; - -/** - * A TestRunner for the Command Line Interface (CLI) - * PHP SAPI Module. - */ -class Command -{ - /** - * @var array - */ - protected $arguments = [ - 'listGroups' => false, - 'listSuites' => false, - 'listTests' => false, - 'listTestsXml' => false, - 'loader' => null, - 'useDefaultConfiguration' => true, - 'loadedExtensions' => [], - 'notLoadedExtensions' => [], - ]; - - /** - * @var array - */ - protected $options = []; - - /** - * @var array - */ - protected $longOptions = [ - 'atleast-version=' => null, - 'prepend=' => null, - 'bootstrap=' => null, - 'cache-result' => null, - 'cache-result-file=' => null, - 'check-version' => null, - 'colors==' => null, - 'columns=' => null, - 'configuration=' => null, - 'coverage-clover=' => null, - 'coverage-crap4j=' => null, - 'coverage-html=' => null, - 'coverage-php=' => null, - 'coverage-text==' => null, - 'coverage-xml=' => null, - 'debug' => null, - 'disallow-test-output' => null, - 'disallow-resource-usage' => null, - 'disallow-todo-tests' => null, - 'default-time-limit=' => null, - 'enforce-time-limit' => null, - 'exclude-group=' => null, - 'filter=' => null, - 'generate-configuration' => null, - 'globals-backup' => null, - 'group=' => null, - 'help' => null, - 'resolve-dependencies' => null, - 'ignore-dependencies' => null, - 'include-path=' => null, - 'list-groups' => null, - 'list-suites' => null, - 'list-tests' => null, - 'list-tests-xml=' => null, - 'loader=' => null, - 'log-junit=' => null, - 'log-teamcity=' => null, - 'no-configuration' => null, - 'no-coverage' => null, - 'no-logging' => null, - 'no-extensions' => null, - 'order-by=' => null, - 'printer=' => null, - 'process-isolation' => null, - 'repeat=' => null, - 'dont-report-useless-tests' => null, - 'random-order' => null, - 'random-order-seed=' => null, - 'reverse-order' => null, - 'reverse-list' => null, - 'static-backup' => null, - 'stderr' => null, - 'stop-on-defect' => null, - 'stop-on-error' => null, - 'stop-on-failure' => null, - 'stop-on-warning' => null, - 'stop-on-incomplete' => null, - 'stop-on-risky' => null, - 'stop-on-skipped' => null, - 'fail-on-warning' => null, - 'fail-on-risky' => null, - 'strict-coverage' => null, - 'disable-coverage-ignore' => null, - 'strict-global-state' => null, - 'teamcity' => null, - 'testdox' => null, - 'testdox-group=' => null, - 'testdox-exclude-group=' => null, - 'testdox-html=' => null, - 'testdox-text=' => null, - 'testdox-xml=' => null, - 'test-suffix=' => null, - 'testsuite=' => null, - 'verbose' => null, - 'version' => null, - 'whitelist=' => null, - 'dump-xdebug-filter=' => null, - ]; - - /** - * @var bool - */ - private $versionStringPrinted = false; - - /** - * @throws \RuntimeException - * @throws \PHPUnit\Framework\Exception - * @throws \InvalidArgumentException - */ - public static function main(bool $exit = true): int - { - $command = new static; - - return $command->run($_SERVER['argv'], $exit); - } - - /** - * @throws \RuntimeException - * @throws \ReflectionException - * @throws \InvalidArgumentException - * @throws Exception - */ - public function run(array $argv, bool $exit = true): int - { - $this->handleArguments($argv); - - $runner = $this->createRunner(); - - if ($this->arguments['test'] instanceof Test) { - $suite = $this->arguments['test']; - } else { - $suite = $runner->getTest( - $this->arguments['test'], - $this->arguments['testFile'], - $this->arguments['testSuffixes'] - ); - } - - if ($this->arguments['listGroups']) { - return $this->handleListGroups($suite, $exit); - } - - if ($this->arguments['listSuites']) { - return $this->handleListSuites($exit); - } - - if ($this->arguments['listTests']) { - return $this->handleListTests($suite, $exit); - } - - if ($this->arguments['listTestsXml']) { - return $this->handleListTestsXml($suite, $this->arguments['listTestsXml'], $exit); - } - - unset($this->arguments['test'], $this->arguments['testFile']); - - try { - $result = $runner->doRun($suite, $this->arguments, $exit); - } catch (Exception $e) { - print $e->getMessage() . \PHP_EOL; - } - - $return = TestRunner::FAILURE_EXIT; - - if (isset($result) && $result->wasSuccessful()) { - $return = TestRunner::SUCCESS_EXIT; - } elseif (!isset($result) || $result->errorCount() > 0) { - $return = TestRunner::EXCEPTION_EXIT; - } - - if ($exit) { - exit($return); - } - - return $return; - } - - /** - * Create a TestRunner, override in subclasses. - */ - protected function createRunner(): TestRunner - { - return new TestRunner($this->arguments['loader']); - } - - /** - * Handles the command-line arguments. - * - * A child class of PHPUnit\TextUI\Command can hook into the argument - * parsing by adding the switch(es) to the $longOptions array and point to a - * callback method that handles the switch(es) in the child class like this - * - * - * longOptions['my-switch'] = 'myHandler'; - * // my-secondswitch will accept a value - note the equals sign - * $this->longOptions['my-secondswitch='] = 'myOtherHandler'; - * } - * - * // --my-switch -> myHandler() - * protected function myHandler() - * { - * } - * - * // --my-secondswitch foo -> myOtherHandler('foo') - * protected function myOtherHandler ($value) - * { - * } - * - * // You will also need this - the static keyword in the - * // PHPUnit\TextUI\Command will mean that it'll be - * // PHPUnit\TextUI\Command that gets instantiated, - * // not MyCommand - * public static function main($exit = true) - * { - * $command = new static; - * - * return $command->run($_SERVER['argv'], $exit); - * } - * - * } - * - * - * @throws Exception - */ - protected function handleArguments(array $argv): void - { - try { - $this->options = Getopt::getopt( - $argv, - 'd:c:hv', - \array_keys($this->longOptions) - ); - } catch (Exception $t) { - $this->exitWithErrorMessage($t->getMessage()); - } - - foreach ($this->options[0] as $option) { - switch ($option[0]) { - case '--colors': - $this->arguments['colors'] = $option[1] ?: ResultPrinter::COLOR_AUTO; - - break; - - case '--bootstrap': - $this->arguments['bootstrap'] = $option[1]; - - break; - - case '--cache-result': - $this->arguments['cacheResult'] = true; - - break; - - case '--cache-result-file': - $this->arguments['cacheResultFile'] = $option[1]; - - break; - - case '--columns': - if (\is_numeric($option[1])) { - $this->arguments['columns'] = (int) $option[1]; - } elseif ($option[1] === 'max') { - $this->arguments['columns'] = 'max'; - } - - break; - - case 'c': - case '--configuration': - $this->arguments['configuration'] = $option[1]; - - break; - - case '--coverage-clover': - $this->arguments['coverageClover'] = $option[1]; - - break; - - case '--coverage-crap4j': - $this->arguments['coverageCrap4J'] = $option[1]; - - break; - - case '--coverage-html': - $this->arguments['coverageHtml'] = $option[1]; - - break; - - case '--coverage-php': - $this->arguments['coveragePHP'] = $option[1]; - - break; - - case '--coverage-text': - if ($option[1] === null) { - $option[1] = 'php://stdout'; - } - - $this->arguments['coverageText'] = $option[1]; - $this->arguments['coverageTextShowUncoveredFiles'] = false; - $this->arguments['coverageTextShowOnlySummary'] = false; - - break; - - case '--coverage-xml': - $this->arguments['coverageXml'] = $option[1]; - - break; - - case 'd': - $ini = \explode('=', $option[1]); - - if (isset($ini[0])) { - if (isset($ini[1])) { - \ini_set($ini[0], $ini[1]); - } else { - \ini_set($ini[0], true); - } - } - - break; - - case '--debug': - $this->arguments['debug'] = true; - - break; - - case 'h': - case '--help': - $this->showHelp(); - exit(TestRunner::SUCCESS_EXIT); - - break; - - case '--filter': - $this->arguments['filter'] = $option[1]; - - break; - - case '--testsuite': - $this->arguments['testsuite'] = $option[1]; - - break; - - case '--generate-configuration': - $this->printVersionString(); - - print 'Generating phpunit.xml in ' . \getcwd() . \PHP_EOL . \PHP_EOL; - - print 'Bootstrap script (relative to path shown above; default: vendor/autoload.php): '; - $bootstrapScript = \trim(\fgets(\STDIN)); - - print 'Tests directory (relative to path shown above; default: tests): '; - $testsDirectory = \trim(\fgets(\STDIN)); - - print 'Source directory (relative to path shown above; default: src): '; - $src = \trim(\fgets(\STDIN)); - - if ($bootstrapScript === '') { - $bootstrapScript = 'vendor/autoload.php'; - } - - if ($testsDirectory === '') { - $testsDirectory = 'tests'; - } - - if ($src === '') { - $src = 'src'; - } - - $generator = new ConfigurationGenerator; - - \file_put_contents( - 'phpunit.xml', - $generator->generateDefaultConfiguration( - Version::series(), - $bootstrapScript, - $testsDirectory, - $src - ) - ); - - print \PHP_EOL . 'Generated phpunit.xml in ' . \getcwd() . \PHP_EOL; - - exit(TestRunner::SUCCESS_EXIT); - - break; - - case '--group': - $this->arguments['groups'] = \explode(',', $option[1]); - - break; - - case '--exclude-group': - $this->arguments['excludeGroups'] = \explode( - ',', - $option[1] - ); - - break; - - case '--test-suffix': - $this->arguments['testSuffixes'] = \explode( - ',', - $option[1] - ); - - break; - - case '--include-path': - $includePath = $option[1]; - - break; - - case '--list-groups': - $this->arguments['listGroups'] = true; - - break; - - case '--list-suites': - $this->arguments['listSuites'] = true; - - break; - - case '--list-tests': - $this->arguments['listTests'] = true; - - break; - - case '--list-tests-xml': - $this->arguments['listTestsXml'] = $option[1]; - - break; - - case '--printer': - $this->arguments['printer'] = $option[1]; - - break; - - case '--loader': - $this->arguments['loader'] = $option[1]; - - break; - - case '--log-junit': - $this->arguments['junitLogfile'] = $option[1]; - - break; - - case '--log-teamcity': - $this->arguments['teamcityLogfile'] = $option[1]; - - break; - - case '--order-by': - $this->handleOrderByOption($option[1]); - - break; - - case '--process-isolation': - $this->arguments['processIsolation'] = true; - - break; - - case '--repeat': - $this->arguments['repeat'] = (int) $option[1]; - - break; - - case '--stderr': - $this->arguments['stderr'] = true; - - break; - - case '--stop-on-defect': - $this->arguments['stopOnDefect'] = true; - - break; - - case '--stop-on-error': - $this->arguments['stopOnError'] = true; - - break; - - case '--stop-on-failure': - $this->arguments['stopOnFailure'] = true; - - break; - - case '--stop-on-warning': - $this->arguments['stopOnWarning'] = true; - - break; - - case '--stop-on-incomplete': - $this->arguments['stopOnIncomplete'] = true; - - break; - - case '--stop-on-risky': - $this->arguments['stopOnRisky'] = true; - - break; - - case '--stop-on-skipped': - $this->arguments['stopOnSkipped'] = true; - - break; - - case '--fail-on-warning': - $this->arguments['failOnWarning'] = true; - - break; - - case '--fail-on-risky': - $this->arguments['failOnRisky'] = true; - - break; - - case '--teamcity': - $this->arguments['printer'] = TeamCity::class; - - break; - - case '--testdox': - $this->arguments['printer'] = CliTestDoxPrinter::class; - - break; - - case '--testdox-group': - $this->arguments['testdoxGroups'] = \explode( - ',', - $option[1] - ); - - break; - - case '--testdox-exclude-group': - $this->arguments['testdoxExcludeGroups'] = \explode( - ',', - $option[1] - ); - - break; - - case '--testdox-html': - $this->arguments['testdoxHTMLFile'] = $option[1]; - - break; - - case '--testdox-text': - $this->arguments['testdoxTextFile'] = $option[1]; - - break; - - case '--testdox-xml': - $this->arguments['testdoxXMLFile'] = $option[1]; - - break; - - case '--no-configuration': - $this->arguments['useDefaultConfiguration'] = false; - - break; - - case '--no-extensions': - $this->arguments['noExtensions'] = true; - - break; - - case '--no-coverage': - $this->arguments['noCoverage'] = true; - - break; - - case '--no-logging': - $this->arguments['noLogging'] = true; - - break; - - case '--globals-backup': - $this->arguments['backupGlobals'] = true; - - break; - - case '--static-backup': - $this->arguments['backupStaticAttributes'] = true; - - break; - - case 'v': - case '--verbose': - $this->arguments['verbose'] = true; - - break; - - case '--atleast-version': - if (\version_compare(Version::id(), $option[1], '>=')) { - exit(TestRunner::SUCCESS_EXIT); - } - - exit(TestRunner::FAILURE_EXIT); - - break; - - case '--version': - $this->printVersionString(); - exit(TestRunner::SUCCESS_EXIT); - - break; - - case '--dont-report-useless-tests': - $this->arguments['reportUselessTests'] = false; - - break; - - case '--strict-coverage': - $this->arguments['strictCoverage'] = true; - - break; - - case '--disable-coverage-ignore': - $this->arguments['disableCodeCoverageIgnore'] = true; - - break; - - case '--strict-global-state': - $this->arguments['beStrictAboutChangesToGlobalState'] = true; - - break; - - case '--disallow-test-output': - $this->arguments['disallowTestOutput'] = true; - - break; - - case '--disallow-resource-usage': - $this->arguments['beStrictAboutResourceUsageDuringSmallTests'] = true; - - break; - - case '--default-time-limit': - $this->arguments['defaultTimeLimit'] = (int) $option[1]; - - break; - - case '--enforce-time-limit': - $this->arguments['enforceTimeLimit'] = true; - - break; - - case '--disallow-todo-tests': - $this->arguments['disallowTodoAnnotatedTests'] = true; - - break; - - case '--reverse-list': - $this->arguments['reverseList'] = true; - - break; - - case '--check-version': - $this->handleVersionCheck(); - - break; - - case '--whitelist': - $this->arguments['whitelist'] = $option[1]; - - break; - - case '--random-order': - $this->handleOrderByOption('random'); - - break; - - case '--random-order-seed': - $this->arguments['randomOrderSeed'] = (int) $option[1]; - - break; - - case '--resolve-dependencies': - $this->handleOrderByOption('depends'); - - break; - - case '--ignore-dependencies': - $this->arguments['resolveDependencies'] = false; - - break; - - case '--reverse-order': - $this->handleOrderByOption('reverse'); - - break; - - case '--dump-xdebug-filter': - $this->arguments['xdebugFilterFile'] = $option[1]; - - break; - - default: - $optionName = \str_replace('--', '', $option[0]); - - $handler = null; - - if (isset($this->longOptions[$optionName])) { - $handler = $this->longOptions[$optionName]; - } elseif (isset($this->longOptions[$optionName . '='])) { - $handler = $this->longOptions[$optionName . '=']; - } - - if (isset($handler) && \is_callable([$this, $handler])) { - $this->$handler($option[1]); - } - } - } - - $this->handleCustomTestSuite(); - - if (!isset($this->arguments['test'])) { - if (isset($this->options[1][0])) { - $this->arguments['test'] = $this->options[1][0]; - } - - if (isset($this->options[1][1])) { - $testFile = \realpath($this->options[1][1]); - - if ($testFile === false) { - $this->exitWithErrorMessage( - \sprintf( - 'Cannot open file "%s".', - $this->options[1][1] - ) - ); - } - $this->arguments['testFile'] = $testFile; - } else { - $this->arguments['testFile'] = ''; - } - - if (isset($this->arguments['test']) && - \is_file($this->arguments['test']) && - \substr($this->arguments['test'], -5, 5) != '.phpt') { - $this->arguments['testFile'] = \realpath($this->arguments['test']); - $this->arguments['test'] = \substr($this->arguments['test'], 0, \strrpos($this->arguments['test'], '.')); - } - } - - if (!isset($this->arguments['testSuffixes'])) { - $this->arguments['testSuffixes'] = ['Test.php', '.phpt']; - } - - if (isset($includePath)) { - \ini_set( - 'include_path', - $includePath . \PATH_SEPARATOR . \ini_get('include_path') - ); - } - - if ($this->arguments['loader'] !== null) { - $this->arguments['loader'] = $this->handleLoader($this->arguments['loader']); - } - - if (isset($this->arguments['configuration']) && - \is_dir($this->arguments['configuration'])) { - $configurationFile = $this->arguments['configuration'] . '/phpunit.xml'; - - if (\file_exists($configurationFile)) { - $this->arguments['configuration'] = \realpath( - $configurationFile - ); - } elseif (\file_exists($configurationFile . '.dist')) { - $this->arguments['configuration'] = \realpath( - $configurationFile . '.dist' - ); - } - } elseif (!isset($this->arguments['configuration']) && - $this->arguments['useDefaultConfiguration']) { - if (\file_exists('phpunit.xml')) { - $this->arguments['configuration'] = \realpath('phpunit.xml'); - } elseif (\file_exists('phpunit.xml.dist')) { - $this->arguments['configuration'] = \realpath( - 'phpunit.xml.dist' - ); - } - } - - if (isset($this->arguments['configuration'])) { - try { - $configuration = Configuration::getInstance( - $this->arguments['configuration'] - ); - } catch (Throwable $t) { - print $t->getMessage() . \PHP_EOL; - exit(TestRunner::FAILURE_EXIT); - } - - $phpunitConfiguration = $configuration->getPHPUnitConfiguration(); - - $configuration->handlePHPConfiguration(); - - /* - * Issue #1216 - */ - if (isset($this->arguments['bootstrap'])) { - $this->handleBootstrap($this->arguments['bootstrap']); - } elseif (isset($phpunitConfiguration['bootstrap'])) { - $this->handleBootstrap($phpunitConfiguration['bootstrap']); - } - - /* - * Issue #657 - */ - if (isset($phpunitConfiguration['stderr']) && !isset($this->arguments['stderr'])) { - $this->arguments['stderr'] = $phpunitConfiguration['stderr']; - } - - if (isset($phpunitConfiguration['extensionsDirectory']) && !isset($this->arguments['noExtensions']) && \extension_loaded('phar')) { - $this->handleExtensions($phpunitConfiguration['extensionsDirectory']); - } - - if (isset($phpunitConfiguration['columns']) && !isset($this->arguments['columns'])) { - $this->arguments['columns'] = $phpunitConfiguration['columns']; - } - - if (!isset($this->arguments['printer']) && isset($phpunitConfiguration['printerClass'])) { - if (isset($phpunitConfiguration['printerFile'])) { - $file = $phpunitConfiguration['printerFile']; - } else { - $file = ''; - } - - $this->arguments['printer'] = $this->handlePrinter( - $phpunitConfiguration['printerClass'], - $file - ); - } - - if (isset($phpunitConfiguration['testSuiteLoaderClass'])) { - if (isset($phpunitConfiguration['testSuiteLoaderFile'])) { - $file = $phpunitConfiguration['testSuiteLoaderFile']; - } else { - $file = ''; - } - - $this->arguments['loader'] = $this->handleLoader( - $phpunitConfiguration['testSuiteLoaderClass'], - $file - ); - } - - if (!isset($this->arguments['testsuite']) && isset($phpunitConfiguration['defaultTestSuite'])) { - $this->arguments['testsuite'] = $phpunitConfiguration['defaultTestSuite']; - } - - if (!isset($this->arguments['test'])) { - $testSuite = $configuration->getTestSuiteConfiguration($this->arguments['testsuite'] ?? ''); - - if ($testSuite !== null) { - $this->arguments['test'] = $testSuite; - } - } - } elseif (isset($this->arguments['bootstrap'])) { - $this->handleBootstrap($this->arguments['bootstrap']); - } - - if (isset($this->arguments['printer']) && - \is_string($this->arguments['printer'])) { - $this->arguments['printer'] = $this->handlePrinter($this->arguments['printer']); - } - - if (isset($this->arguments['test']) && \is_string($this->arguments['test']) && \substr($this->arguments['test'], -5, 5) == '.phpt') { - $test = new PhptTestCase($this->arguments['test']); - - $this->arguments['test'] = new TestSuite; - $this->arguments['test']->addTest($test); - } - - if (!isset($this->arguments['test'])) { - $this->showHelp(); - exit(TestRunner::EXCEPTION_EXIT); - } - } - - /** - * Handles the loading of the PHPUnit\Runner\TestSuiteLoader implementation. - */ - protected function handleLoader(string $loaderClass, string $loaderFile = ''): ?TestSuiteLoader - { - if (!\class_exists($loaderClass, false)) { - if ($loaderFile == '') { - $loaderFile = Filesystem::classNameToFilename( - $loaderClass - ); - } - - $loaderFile = \stream_resolve_include_path($loaderFile); - - if ($loaderFile) { - require $loaderFile; - } - } - - if (\class_exists($loaderClass, false)) { - $class = new ReflectionClass($loaderClass); - - if ($class->implementsInterface(TestSuiteLoader::class) && - $class->isInstantiable()) { - return $class->newInstance(); - } - } - - if ($loaderClass == StandardTestSuiteLoader::class) { - return null; - } - - $this->exitWithErrorMessage( - \sprintf( - 'Could not use "%s" as loader.', - $loaderClass - ) - ); - - return null; - } - - /** - * Handles the loading of the PHPUnit\Util\Printer implementation. - * - * @return null|Printer|string - */ - protected function handlePrinter(string $printerClass, string $printerFile = '') - { - if (!\class_exists($printerClass, false)) { - if ($printerFile == '') { - $printerFile = Filesystem::classNameToFilename( - $printerClass - ); - } - - $printerFile = \stream_resolve_include_path($printerFile); - - if ($printerFile) { - require $printerFile; - } - } - - if (!\class_exists($printerClass)) { - $this->exitWithErrorMessage( - \sprintf( - 'Could not use "%s" as printer: class does not exist', - $printerClass - ) - ); - } - - $class = new ReflectionClass($printerClass); - - if (!$class->implementsInterface(TestListener::class)) { - $this->exitWithErrorMessage( - \sprintf( - 'Could not use "%s" as printer: class does not implement %s', - $printerClass, - TestListener::class - ) - ); - } - - if (!$class->isSubclassOf(Printer::class)) { - $this->exitWithErrorMessage( - \sprintf( - 'Could not use "%s" as printer: class does not extend %s', - $printerClass, - Printer::class - ) - ); - } - - if (!$class->isInstantiable()) { - $this->exitWithErrorMessage( - \sprintf( - 'Could not use "%s" as printer: class cannot be instantiated', - $printerClass - ) - ); - } - - if ($class->isSubclassOf(ResultPrinter::class)) { - return $printerClass; - } - - $outputStream = isset($this->arguments['stderr']) ? 'php://stderr' : null; - - return $class->newInstance($outputStream); - } - - /** - * Loads a bootstrap file. - */ - protected function handleBootstrap(string $filename): void - { - try { - FileLoader::checkAndLoad($filename); - } catch (Exception $e) { - $this->exitWithErrorMessage($e->getMessage()); - } - } - - protected function handleVersionCheck(): void - { - $this->printVersionString(); - - $latestVersion = \file_get_contents('https://phar.phpunit.de/latest-version-of/phpunit'); - $isOutdated = \version_compare($latestVersion, Version::id(), '>'); - - if ($isOutdated) { - \printf( - 'You are not using the latest version of PHPUnit.' . \PHP_EOL . - 'The latest version is PHPUnit %s.' . \PHP_EOL, - $latestVersion - ); - } else { - print 'You are using the latest version of PHPUnit.' . \PHP_EOL; - } - - exit(TestRunner::SUCCESS_EXIT); - } - - /** - * Show the help message. - */ - protected function showHelp(): void - { - $this->printVersionString(); - - print << - -Code Coverage Options: - - --coverage-clover Generate code coverage report in Clover XML format - --coverage-crap4j Generate code coverage report in Crap4J XML format - --coverage-html Generate code coverage report in HTML format - --coverage-php Export PHP_CodeCoverage object to file - --coverage-text= Generate code coverage report in text format - Default: Standard output - --coverage-xml Generate code coverage report in PHPUnit XML format - --whitelist Whitelist for code coverage analysis - --disable-coverage-ignore Disable annotations for ignoring code coverage - --no-coverage Ignore code coverage configuration - --dump-xdebug-filter Generate script to set Xdebug code coverage filter - -Logging Options: - - --log-junit Log test execution in JUnit XML format to file - --log-teamcity Log test execution in TeamCity format to file - --testdox-html Write agile documentation in HTML format to file - --testdox-text Write agile documentation in Text format to file - --testdox-xml Write agile documentation in XML format to file - --reverse-list Print defects in reverse order - -Test Selection Options: - - --filter Filter which tests to run - --testsuite Filter which testsuite to run - --group ... Only runs tests from the specified group(s) - --exclude-group ... Exclude tests from the specified group(s) - --list-groups List available test groups - --list-suites List available test suites - --list-tests List available tests - --list-tests-xml List available tests in XML format - --test-suffix ... Only search for test in files with specified - suffix(es). Default: Test.php,.phpt - -Test Execution Options: - - --dont-report-useless-tests Do not report tests that do not test anything - --strict-coverage Be strict about @covers annotation usage - --strict-global-state Be strict about changes to global state - --disallow-test-output Be strict about output during tests - --disallow-resource-usage Be strict about resource usage during small tests - --enforce-time-limit Enforce time limit based on test size - --default-time-limit= Timeout in seconds for tests without @small, @medium or @large - --disallow-todo-tests Disallow @todo-annotated tests - - --process-isolation Run each test in a separate PHP process - --globals-backup Backup and restore \$GLOBALS for each test - --static-backup Backup and restore static attributes for each test - - --colors= Use colors in output ("never", "auto" or "always") - --columns Number of columns to use for progress output - --columns max Use maximum number of columns for progress output - --stderr Write to STDERR instead of STDOUT - --stop-on-defect Stop execution upon first not-passed test - --stop-on-error Stop execution upon first error - --stop-on-failure Stop execution upon first error or failure - --stop-on-warning Stop execution upon first warning - --stop-on-risky Stop execution upon first risky test - --stop-on-skipped Stop execution upon first skipped test - --stop-on-incomplete Stop execution upon first incomplete test - --fail-on-warning Treat tests with warnings as failures - --fail-on-risky Treat risky tests as failures - -v|--verbose Output more verbose information - --debug Display debugging information - - --loader TestSuiteLoader implementation to use - --repeat Runs the test(s) repeatedly - --teamcity Report test execution progress in TeamCity format - --testdox Report test execution progress in TestDox format - --testdox-group Only include tests from the specified group(s) - --testdox-exclude-group Exclude tests from the specified group(s) - --printer TestListener implementation to use - - --resolve-dependencies Resolve dependencies between tests - --order-by= Run tests in order: default|reverse|random|defects|depends - --random-order-seed= Use a specific random seed for random order - --cache-result Write run result to cache to enable ordering tests defects-first - -Configuration Options: - - --prepend A PHP script that is included as early as possible - --bootstrap A PHP script that is included before the tests run - -c|--configuration Read configuration from XML file - --no-configuration Ignore default configuration file (phpunit.xml) - --no-logging Ignore logging configuration - --no-extensions Do not load PHPUnit extensions - --include-path Prepend PHP's include_path with given path(s) - -d key[=value] Sets a php.ini value - --generate-configuration Generate configuration file with suggested settings - --cache-result-file= Specify result cache path and filename - -Miscellaneous Options: - - -h|--help Prints this usage information - --version Prints the version and exits - --atleast-version Checks that version is greater than min and exits - --check-version Check whether PHPUnit is the latest version - -EOT; - } - - /** - * Custom callback for test suite discovery. - */ - protected function handleCustomTestSuite(): void - { - } - - private function printVersionString(): void - { - if ($this->versionStringPrinted) { - return; - } - - print Version::getVersionString() . \PHP_EOL . \PHP_EOL; - - $this->versionStringPrinted = true; - } - - private function exitWithErrorMessage(string $message): void - { - $this->printVersionString(); - - print $message . \PHP_EOL; - - exit(TestRunner::FAILURE_EXIT); - } - - private function handleExtensions(string $directory): void - { - $facade = new FileIteratorFacade; - - foreach ($facade->getFilesAsArray($directory, '.phar') as $file) { - if (!\file_exists('phar://' . $file . '/manifest.xml')) { - $this->arguments['notLoadedExtensions'][] = $file . ' is not an extension for PHPUnit'; - - continue; - } - - try { - $applicationName = new ApplicationName('phpunit/phpunit'); - $version = new PharIoVersion(Version::series()); - $manifest = ManifestLoader::fromFile('phar://' . $file . '/manifest.xml'); - - if (!$manifest->isExtensionFor($applicationName)) { - $this->arguments['notLoadedExtensions'][] = $file . ' is not an extension for PHPUnit'; - - continue; - } - - if (!$manifest->isExtensionFor($applicationName, $version)) { - $this->arguments['notLoadedExtensions'][] = $file . ' is not compatible with this version of PHPUnit'; - - continue; - } - } catch (ManifestException $e) { - $this->arguments['notLoadedExtensions'][] = $file . ': ' . $e->getMessage(); - - continue; - } - - require $file; - - $this->arguments['loadedExtensions'][] = $manifest->getName() . ' ' . $manifest->getVersion()->getVersionString(); - } - } - - private function handleListGroups(TestSuite $suite, bool $exit): int - { - $this->printVersionString(); - - print 'Available test group(s):' . \PHP_EOL; - - $groups = $suite->getGroups(); - \sort($groups); - - foreach ($groups as $group) { - \printf( - ' - %s' . \PHP_EOL, - $group - ); - } - - if ($exit) { - exit(TestRunner::SUCCESS_EXIT); - } - - return TestRunner::SUCCESS_EXIT; - } - - private function handleListSuites(bool $exit): int - { - $this->printVersionString(); - - print 'Available test suite(s):' . \PHP_EOL; - - $configuration = Configuration::getInstance( - $this->arguments['configuration'] - ); - - $suiteNames = $configuration->getTestSuiteNames(); - - foreach ($suiteNames as $suiteName) { - \printf( - ' - %s' . \PHP_EOL, - $suiteName - ); - } - - if ($exit) { - exit(TestRunner::SUCCESS_EXIT); - } - - return TestRunner::SUCCESS_EXIT; - } - - private function handleListTests(TestSuite $suite, bool $exit): int - { - $this->printVersionString(); - - $renderer = new TextTestListRenderer; - - print $renderer->render($suite); - - if ($exit) { - exit(TestRunner::SUCCESS_EXIT); - } - - return TestRunner::SUCCESS_EXIT; - } - - private function handleListTestsXml(TestSuite $suite, string $target, bool $exit): int - { - $this->printVersionString(); - - $renderer = new XmlTestListRenderer; - - \file_put_contents($target, $renderer->render($suite)); - - \printf( - 'Wrote list of tests that would have been run to %s' . \PHP_EOL, - $target - ); - - if ($exit) { - exit(TestRunner::SUCCESS_EXIT); - } - - return TestRunner::SUCCESS_EXIT; - } - - private function handleOrderByOption(string $value): void - { - foreach (\explode(',', $value) as $order) { - switch ($order) { - case 'default': - $this->arguments['executionOrder'] = TestSuiteSorter::ORDER_DEFAULT; - $this->arguments['executionOrderDefects'] = TestSuiteSorter::ORDER_DEFAULT; - $this->arguments['resolveDependencies'] = false; - - break; - - case 'reverse': - $this->arguments['executionOrder'] = TestSuiteSorter::ORDER_REVERSED; - - break; - - case 'random': - $this->arguments['executionOrder'] = TestSuiteSorter::ORDER_RANDOMIZED; - - break; - - case 'defects': - $this->arguments['executionOrderDefects'] = TestSuiteSorter::ORDER_DEFECTS_FIRST; - - break; - - case 'depends': - $this->arguments['resolveDependencies'] = true; - - break; - - default: - $this->exitWithErrorMessage("unrecognized --order-by option: $order"); - } - } - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/TextUI/ResultPrinter.php b/paragonik-backend/vendor/phpunit/phpunit/src/TextUI/ResultPrinter.php deleted file mode 100644 index 2782f07..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/TextUI/ResultPrinter.php +++ /dev/null @@ -1,596 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\TextUI; - -use PHPUnit\Framework\AssertionFailedError; -use PHPUnit\Framework\Exception; -use PHPUnit\Framework\Test; -use PHPUnit\Framework\TestCase; -use PHPUnit\Framework\TestFailure; -use PHPUnit\Framework\TestListener; -use PHPUnit\Framework\TestResult; -use PHPUnit\Framework\TestSuite; -use PHPUnit\Framework\Warning; -use PHPUnit\Runner\PhptTestCase; -use PHPUnit\Util\InvalidArgumentHelper; -use PHPUnit\Util\Printer; -use SebastianBergmann\Environment\Console; -use SebastianBergmann\Timer\Timer; - -/** - * Prints the result of a TextUI TestRunner run. - */ -class ResultPrinter extends Printer implements TestListener -{ - public const EVENT_TEST_START = 0; - - public const EVENT_TEST_END = 1; - - public const EVENT_TESTSUITE_START = 2; - - public const EVENT_TESTSUITE_END = 3; - - public const COLOR_NEVER = 'never'; - - public const COLOR_AUTO = 'auto'; - - public const COLOR_ALWAYS = 'always'; - - public const COLOR_DEFAULT = self::COLOR_NEVER; - - private const AVAILABLE_COLORS = [self::COLOR_NEVER, self::COLOR_AUTO, self::COLOR_ALWAYS]; - - /** - * @var array - */ - private static $ansiCodes = [ - 'bold' => 1, - 'fg-black' => 30, - 'fg-red' => 31, - 'fg-green' => 32, - 'fg-yellow' => 33, - 'fg-blue' => 34, - 'fg-magenta' => 35, - 'fg-cyan' => 36, - 'fg-white' => 37, - 'bg-black' => 40, - 'bg-red' => 41, - 'bg-green' => 42, - 'bg-yellow' => 43, - 'bg-blue' => 44, - 'bg-magenta' => 45, - 'bg-cyan' => 46, - 'bg-white' => 47, - ]; - - /** - * @var int - */ - protected $column = 0; - - /** - * @var int - */ - protected $maxColumn; - - /** - * @var bool - */ - protected $lastTestFailed = false; - - /** - * @var int - */ - protected $numAssertions = 0; - - /** - * @var int - */ - protected $numTests = -1; - - /** - * @var int - */ - protected $numTestsRun = 0; - - /** - * @var int - */ - protected $numTestsWidth; - - /** - * @var bool - */ - protected $colors = false; - - /** - * @var bool - */ - protected $debug = false; - - /** - * @var bool - */ - protected $verbose = false; - - /** - * @var int - */ - private $numberOfColumns; - - /** - * @var bool - */ - private $reverse; - - /** - * @var bool - */ - private $defectListPrinted = false; - - /** - * Constructor. - * - * @param string $colors - * @param int|string $numberOfColumns - * @param null|mixed $out - * - * @throws Exception - */ - public function __construct($out = null, bool $verbose = false, $colors = self::COLOR_DEFAULT, bool $debug = false, $numberOfColumns = 80, bool $reverse = false) - { - parent::__construct($out); - - if (!\in_array($colors, self::AVAILABLE_COLORS, true)) { - throw InvalidArgumentHelper::factory( - 3, - \vsprintf('value from "%s", "%s" or "%s"', self::AVAILABLE_COLORS) - ); - } - - if (!\is_int($numberOfColumns) && $numberOfColumns !== 'max') { - throw InvalidArgumentHelper::factory(5, 'integer or "max"'); - } - - $console = new Console; - $maxNumberOfColumns = $console->getNumberOfColumns(); - - if ($numberOfColumns === 'max' || ($numberOfColumns !== 80 && $numberOfColumns > $maxNumberOfColumns)) { - $numberOfColumns = $maxNumberOfColumns; - } - - $this->numberOfColumns = $numberOfColumns; - $this->verbose = $verbose; - $this->debug = $debug; - $this->reverse = $reverse; - - if ($colors === self::COLOR_AUTO && $console->hasColorSupport()) { - $this->colors = true; - } else { - $this->colors = (self::COLOR_ALWAYS === $colors); - } - } - - public function printResult(TestResult $result): void - { - $this->printHeader(); - $this->printErrors($result); - $this->printWarnings($result); - $this->printFailures($result); - $this->printRisky($result); - - if ($this->verbose) { - $this->printIncompletes($result); - $this->printSkipped($result); - } - - $this->printFooter($result); - } - - /** - * An error occurred. - */ - public function addError(Test $test, \Throwable $t, float $time): void - { - $this->writeProgressWithColor('fg-red, bold', 'E'); - $this->lastTestFailed = true; - } - - /** - * A failure occurred. - */ - public function addFailure(Test $test, AssertionFailedError $e, float $time): void - { - $this->writeProgressWithColor('bg-red, fg-white', 'F'); - $this->lastTestFailed = true; - } - - /** - * A warning occurred. - */ - public function addWarning(Test $test, Warning $e, float $time): void - { - $this->writeProgressWithColor('fg-yellow, bold', 'W'); - $this->lastTestFailed = true; - } - - /** - * Incomplete test. - */ - public function addIncompleteTest(Test $test, \Throwable $t, float $time): void - { - $this->writeProgressWithColor('fg-yellow, bold', 'I'); - $this->lastTestFailed = true; - } - - /** - * Risky test. - */ - public function addRiskyTest(Test $test, \Throwable $t, float $time): void - { - $this->writeProgressWithColor('fg-yellow, bold', 'R'); - $this->lastTestFailed = true; - } - - /** - * Skipped test. - */ - public function addSkippedTest(Test $test, \Throwable $t, float $time): void - { - $this->writeProgressWithColor('fg-cyan, bold', 'S'); - $this->lastTestFailed = true; - } - - /** - * A testsuite started. - */ - public function startTestSuite(TestSuite $suite): void - { - if ($this->numTests == -1) { - $this->numTests = \count($suite); - $this->numTestsWidth = \strlen((string) $this->numTests); - $this->maxColumn = $this->numberOfColumns - \strlen(' / (XXX%)') - (2 * $this->numTestsWidth); - } - } - - /** - * A testsuite ended. - */ - public function endTestSuite(TestSuite $suite): void - { - } - - /** - * A test started. - */ - public function startTest(Test $test): void - { - if ($this->debug) { - $this->write( - \sprintf( - "Test '%s' started\n", - \PHPUnit\Util\Test::describeAsString($test) - ) - ); - } - } - - /** - * A test ended. - */ - public function endTest(Test $test, float $time): void - { - if ($this->debug) { - $this->write( - \sprintf( - "Test '%s' ended\n", - \PHPUnit\Util\Test::describeAsString($test) - ) - ); - } - - if (!$this->lastTestFailed) { - $this->writeProgress('.'); - } - - if ($test instanceof TestCase) { - $this->numAssertions += $test->getNumAssertions(); - } elseif ($test instanceof PhptTestCase) { - $this->numAssertions++; - } - - $this->lastTestFailed = false; - - if ($test instanceof TestCase && !$test->hasExpectationOnOutput()) { - $this->write($test->getActualOutput()); - } - } - - protected function printDefects(array $defects, string $type): void - { - $count = \count($defects); - - if ($count == 0) { - return; - } - - if ($this->defectListPrinted) { - $this->write("\n--\n\n"); - } - - $this->write( - \sprintf( - "There %s %d %s%s:\n", - ($count == 1) ? 'was' : 'were', - $count, - $type, - ($count == 1) ? '' : 's' - ) - ); - - $i = 1; - - if ($this->reverse) { - $defects = \array_reverse($defects); - } - - foreach ($defects as $defect) { - $this->printDefect($defect, $i++); - } - - $this->defectListPrinted = true; - } - - protected function printDefect(TestFailure $defect, int $count): void - { - $this->printDefectHeader($defect, $count); - $this->printDefectTrace($defect); - } - - protected function printDefectHeader(TestFailure $defect, int $count): void - { - $this->write( - \sprintf( - "\n%d) %s\n", - $count, - $defect->getTestName() - ) - ); - } - - protected function printDefectTrace(TestFailure $defect): void - { - $e = $defect->thrownException(); - $this->write((string) $e); - - while ($e = $e->getPrevious()) { - $this->write("\nCaused by\n" . $e); - } - } - - protected function printErrors(TestResult $result): void - { - $this->printDefects($result->errors(), 'error'); - } - - protected function printFailures(TestResult $result): void - { - $this->printDefects($result->failures(), 'failure'); - } - - protected function printWarnings(TestResult $result): void - { - $this->printDefects($result->warnings(), 'warning'); - } - - protected function printIncompletes(TestResult $result): void - { - $this->printDefects($result->notImplemented(), 'incomplete test'); - } - - protected function printRisky(TestResult $result): void - { - $this->printDefects($result->risky(), 'risky test'); - } - - protected function printSkipped(TestResult $result): void - { - $this->printDefects($result->skipped(), 'skipped test'); - } - - protected function printHeader(): void - { - $this->write("\n\n" . Timer::resourceUsage() . "\n\n"); - } - - protected function printFooter(TestResult $result): void - { - if (\count($result) === 0) { - $this->writeWithColor( - 'fg-black, bg-yellow', - 'No tests executed!' - ); - - return; - } - - if ($result->wasSuccessful() && - $result->allHarmless() && - $result->allCompletelyImplemented() && - $result->noneSkipped()) { - $this->writeWithColor( - 'fg-black, bg-green', - \sprintf( - 'OK (%d test%s, %d assertion%s)', - \count($result), - (\count($result) == 1) ? '' : 's', - $this->numAssertions, - ($this->numAssertions == 1) ? '' : 's' - ) - ); - } else { - if ($result->wasSuccessful()) { - $color = 'fg-black, bg-yellow'; - - if ($this->verbose || !$result->allHarmless()) { - $this->write("\n"); - } - - $this->writeWithColor( - $color, - 'OK, but incomplete, skipped, or risky tests!' - ); - } else { - $this->write("\n"); - - if ($result->errorCount()) { - $color = 'fg-white, bg-red'; - - $this->writeWithColor( - $color, - 'ERRORS!' - ); - } elseif ($result->failureCount()) { - $color = 'fg-white, bg-red'; - - $this->writeWithColor( - $color, - 'FAILURES!' - ); - } elseif ($result->warningCount()) { - $color = 'fg-black, bg-yellow'; - - $this->writeWithColor( - $color, - 'WARNINGS!' - ); - } - } - - $this->writeCountString(\count($result), 'Tests', $color, true); - $this->writeCountString($this->numAssertions, 'Assertions', $color, true); - $this->writeCountString($result->errorCount(), 'Errors', $color); - $this->writeCountString($result->failureCount(), 'Failures', $color); - $this->writeCountString($result->warningCount(), 'Warnings', $color); - $this->writeCountString($result->skippedCount(), 'Skipped', $color); - $this->writeCountString($result->notImplementedCount(), 'Incomplete', $color); - $this->writeCountString($result->riskyCount(), 'Risky', $color); - $this->writeWithColor($color, '.'); - } - } - - protected function writeProgress(string $progress): void - { - if ($this->debug) { - return; - } - - $this->write($progress); - $this->column++; - $this->numTestsRun++; - - if ($this->column == $this->maxColumn || $this->numTestsRun == $this->numTests) { - if ($this->numTestsRun == $this->numTests) { - $this->write(\str_repeat(' ', $this->maxColumn - $this->column)); - } - - $this->write( - \sprintf( - ' %' . $this->numTestsWidth . 'd / %' . - $this->numTestsWidth . 'd (%3s%%)', - $this->numTestsRun, - $this->numTests, - \floor(($this->numTestsRun / $this->numTests) * 100) - ) - ); - - if ($this->column == $this->maxColumn) { - $this->writeNewLine(); - } - } - } - - protected function writeNewLine(): void - { - $this->column = 0; - $this->write("\n"); - } - - /** - * Formats a buffer with a specified ANSI color sequence if colors are - * enabled. - */ - protected function formatWithColor(string $color, string $buffer): string - { - if (!$this->colors) { - return $buffer; - } - - $codes = \array_map('\trim', \explode(',', $color)); - $lines = \explode("\n", $buffer); - $padding = \max(\array_map('\strlen', $lines)); - $styles = []; - - foreach ($codes as $code) { - $styles[] = self::$ansiCodes[$code]; - } - - $style = \sprintf("\x1b[%sm", \implode(';', $styles)); - - $styledLines = []; - - foreach ($lines as $line) { - $styledLines[] = $style . \str_pad($line, $padding) . "\x1b[0m"; - } - - return \implode("\n", $styledLines); - } - - /** - * Writes a buffer out with a color sequence if colors are enabled. - */ - protected function writeWithColor(string $color, string $buffer, bool $lf = true): void - { - $this->write($this->formatWithColor($color, $buffer)); - - if ($lf) { - $this->write("\n"); - } - } - - /** - * Writes progress with a color sequence if colors are enabled. - */ - protected function writeProgressWithColor(string $color, string $buffer): void - { - $buffer = $this->formatWithColor($color, $buffer); - $this->writeProgress($buffer); - } - - private function writeCountString(int $count, string $name, string $color, bool $always = false): void - { - static $first = true; - - if ($always || $count > 0) { - $this->writeWithColor( - $color, - \sprintf( - '%s%s: %d', - !$first ? ', ' : '', - $name, - $count - ), - false - ); - - $first = false; - } - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/TextUI/TestRunner.php b/paragonik-backend/vendor/phpunit/phpunit/src/TextUI/TestRunner.php deleted file mode 100644 index 325b609..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/TextUI/TestRunner.php +++ /dev/null @@ -1,1328 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\TextUI; - -use PHPUnit\Framework\Error\Deprecated; -use PHPUnit\Framework\Error\Notice; -use PHPUnit\Framework\Error\Warning; -use PHPUnit\Framework\Exception; -use PHPUnit\Framework\Test; -use PHPUnit\Framework\TestCase; -use PHPUnit\Framework\TestListener; -use PHPUnit\Framework\TestResult; -use PHPUnit\Framework\TestSuite; -use PHPUnit\Runner\AfterLastTestHook; -use PHPUnit\Runner\BaseTestRunner; -use PHPUnit\Runner\BeforeFirstTestHook; -use PHPUnit\Runner\Filter\ExcludeGroupFilterIterator; -use PHPUnit\Runner\Filter\Factory; -use PHPUnit\Runner\Filter\IncludeGroupFilterIterator; -use PHPUnit\Runner\Filter\NameFilterIterator; -use PHPUnit\Runner\Hook; -use PHPUnit\Runner\NullTestResultCache; -use PHPUnit\Runner\ResultCacheExtension; -use PHPUnit\Runner\StandardTestSuiteLoader; -use PHPUnit\Runner\TestHook; -use PHPUnit\Runner\TestListenerAdapter; -use PHPUnit\Runner\TestResultCache; -use PHPUnit\Runner\TestSuiteLoader; -use PHPUnit\Runner\TestSuiteSorter; -use PHPUnit\Runner\Version; -use PHPUnit\Util\Configuration; -use PHPUnit\Util\Filesystem; -use PHPUnit\Util\Log\JUnit; -use PHPUnit\Util\Log\TeamCity; -use PHPUnit\Util\Printer; -use PHPUnit\Util\TestDox\CliTestDoxPrinter; -use PHPUnit\Util\TestDox\HtmlResultPrinter; -use PHPUnit\Util\TestDox\TextResultPrinter; -use PHPUnit\Util\TestDox\XmlResultPrinter; -use PHPUnit\Util\XdebugFilterScriptGenerator; -use ReflectionClass; -use SebastianBergmann\CodeCoverage\CodeCoverage; -use SebastianBergmann\CodeCoverage\Exception as CodeCoverageException; -use SebastianBergmann\CodeCoverage\Filter as CodeCoverageFilter; -use SebastianBergmann\CodeCoverage\Report\Clover as CloverReport; -use SebastianBergmann\CodeCoverage\Report\Crap4j as Crap4jReport; -use SebastianBergmann\CodeCoverage\Report\Html\Facade as HtmlReport; -use SebastianBergmann\CodeCoverage\Report\PHP as PhpReport; -use SebastianBergmann\CodeCoverage\Report\Text as TextReport; -use SebastianBergmann\CodeCoverage\Report\Xml\Facade as XmlReport; -use SebastianBergmann\Comparator\Comparator; -use SebastianBergmann\Environment\Runtime; -use SebastianBergmann\Invoker\Invoker; - -/** - * A TestRunner for the Command Line Interface (CLI) - * PHP SAPI Module. - */ -class TestRunner extends BaseTestRunner -{ - public const SUCCESS_EXIT = 0; - - public const FAILURE_EXIT = 1; - - public const EXCEPTION_EXIT = 2; - - /** - * @var bool - */ - protected static $versionStringPrinted = false; - - /** - * @var CodeCoverageFilter - */ - protected $codeCoverageFilter; - - /** - * @var TestSuiteLoader - */ - protected $loader; - - /** - * @var ResultPrinter - */ - protected $printer; - - /** - * @var Runtime - */ - private $runtime; - - /** - * @var bool - */ - private $messagePrinted = false; - - /** - * @var Hook[] - */ - private $extensions = []; - - /** - * @param ReflectionClass|Test $test - * @param bool $exit - * - * @throws \RuntimeException - * @throws \InvalidArgumentException - * @throws Exception - * @throws \ReflectionException - */ - public static function run($test, array $arguments = [], $exit = true): TestResult - { - if ($test instanceof ReflectionClass) { - $test = new TestSuite($test); - } - - if ($test instanceof Test) { - $aTestRunner = new self; - - return $aTestRunner->doRun( - $test, - $arguments, - $exit - ); - } - - throw new Exception('No test case or test suite found.'); - } - - public function __construct(TestSuiteLoader $loader = null, CodeCoverageFilter $filter = null) - { - if ($filter === null) { - $filter = new CodeCoverageFilter; - } - - $this->codeCoverageFilter = $filter; - $this->loader = $loader; - $this->runtime = new Runtime; - } - - /** - * @throws \PHPUnit\Runner\Exception - * @throws Exception - * @throws \InvalidArgumentException - * @throws \RuntimeException - * @throws \ReflectionException - */ - public function doRun(Test $suite, array $arguments = [], bool $exit = true): TestResult - { - if (isset($arguments['configuration'])) { - $GLOBALS['__PHPUNIT_CONFIGURATION_FILE'] = $arguments['configuration']; - } - - $this->handleConfiguration($arguments); - - if (\is_int($arguments['columns']) && $arguments['columns'] < 16) { - $arguments['columns'] = 16; - $tooFewColumnsRequested = true; - } - - if (isset($arguments['bootstrap'])) { - $GLOBALS['__PHPUNIT_BOOTSTRAP'] = $arguments['bootstrap']; - } - - if ($suite instanceof TestCase || $suite instanceof TestSuite) { - if ($arguments['backupGlobals'] === true) { - $suite->setBackupGlobals(true); - } - - if ($arguments['backupStaticAttributes'] === true) { - $suite->setBackupStaticAttributes(true); - } - - if ($arguments['beStrictAboutChangesToGlobalState'] === true) { - $suite->setBeStrictAboutChangesToGlobalState(true); - } - } - - if ($arguments['executionOrder'] === TestSuiteSorter::ORDER_RANDOMIZED) { - \mt_srand($arguments['randomOrderSeed']); - } - - if ($arguments['cacheResult']) { - if (!isset($arguments['cacheResultFile'])) { - if ($arguments['configuration'] instanceof Configuration) { - $cacheLocation = $arguments['configuration']->getFilename(); - } else { - $cacheLocation = $_SERVER['PHP_SELF']; - } - - $arguments['cacheResultFile'] = null; - - $cacheResultFile = \realpath($cacheLocation); - - if ($cacheResultFile !== false) { - $arguments['cacheResultFile'] = \dirname($cacheResultFile); - } - } - - $cache = new TestResultCache($arguments['cacheResultFile']); - $this->extensions[] = new ResultCacheExtension($cache); - } - - if ($arguments['executionOrder'] !== TestSuiteSorter::ORDER_DEFAULT || $arguments['executionOrderDefects'] !== TestSuiteSorter::ORDER_DEFAULT || $arguments['resolveDependencies']) { - $cache = $cache ?? new NullTestResultCache; - - $cache->load(); - - $sorter = new TestSuiteSorter($cache); - - $sorter->reorderTestsInSuite($suite, $arguments['executionOrder'], $arguments['resolveDependencies'], $arguments['executionOrderDefects']); - $originalExecutionOrder = $sorter->getOriginalExecutionOrder(); - - unset($sorter); - } - - if (\is_int($arguments['repeat']) && $arguments['repeat'] > 0) { - $_suite = new TestSuite; - - foreach (\range(1, $arguments['repeat']) as $step) { - $_suite->addTest($suite); - } - - $suite = $_suite; - - unset($_suite); - } - - $result = $this->createTestResult(); - - $listener = new TestListenerAdapter; - $listenerNeeded = false; - - foreach ($this->extensions as $extension) { - if ($extension instanceof TestHook) { - $listener->add($extension); - - $listenerNeeded = true; - } - } - - if ($listenerNeeded) { - $result->addListener($listener); - } - - unset($listener, $listenerNeeded); - - if (!$arguments['convertErrorsToExceptions']) { - $result->convertErrorsToExceptions(false); - } - - if (!$arguments['convertDeprecationsToExceptions']) { - Deprecated::$enabled = false; - } - - if (!$arguments['convertNoticesToExceptions']) { - Notice::$enabled = false; - } - - if (!$arguments['convertWarningsToExceptions']) { - Warning::$enabled = false; - } - - if ($arguments['stopOnError']) { - $result->stopOnError(true); - } - - if ($arguments['stopOnFailure']) { - $result->stopOnFailure(true); - } - - if ($arguments['stopOnWarning']) { - $result->stopOnWarning(true); - } - - if ($arguments['stopOnIncomplete']) { - $result->stopOnIncomplete(true); - } - - if ($arguments['stopOnRisky']) { - $result->stopOnRisky(true); - } - - if ($arguments['stopOnSkipped']) { - $result->stopOnSkipped(true); - } - - if ($arguments['stopOnDefect']) { - $result->stopOnDefect(true); - } - - if ($arguments['registerMockObjectsFromTestArgumentsRecursively']) { - $result->setRegisterMockObjectsFromTestArgumentsRecursively(true); - } - - if ($this->printer === null) { - if (isset($arguments['printer']) && - $arguments['printer'] instanceof Printer) { - $this->printer = $arguments['printer']; - } else { - $printerClass = ResultPrinter::class; - - if (isset($arguments['printer']) && \is_string($arguments['printer']) && \class_exists($arguments['printer'], false)) { - $class = new ReflectionClass($arguments['printer']); - - if ($class->isSubclassOf(ResultPrinter::class)) { - $printerClass = $arguments['printer']; - } - } - - $this->printer = new $printerClass( - (isset($arguments['stderr']) && $arguments['stderr'] === true) ? 'php://stderr' : null, - $arguments['verbose'], - $arguments['colors'], - $arguments['debug'], - $arguments['columns'], - $arguments['reverseList'] - ); - - if (isset($originalExecutionOrder) && ($this->printer instanceof CliTestDoxPrinter)) { - /* @var CliTestDoxPrinter */ - $this->printer->setOriginalExecutionOrder($originalExecutionOrder); - } - } - } - - $this->printer->write( - Version::getVersionString() . "\n" - ); - - self::$versionStringPrinted = true; - - if ($arguments['verbose']) { - $runtime = $this->runtime->getNameWithVersion(); - - if ($this->runtime->hasXdebug()) { - $runtime .= \sprintf( - ' with Xdebug %s', - \phpversion('xdebug') - ); - } - - $this->writeMessage('Runtime', $runtime); - - if (isset($arguments['configuration'])) { - $this->writeMessage( - 'Configuration', - $arguments['configuration']->getFilename() - ); - } - - foreach ($arguments['loadedExtensions'] as $extension) { - $this->writeMessage( - 'Extension', - $extension - ); - } - - foreach ($arguments['notLoadedExtensions'] as $extension) { - $this->writeMessage( - 'Extension', - $extension - ); - } - } - - if ($arguments['executionOrder'] === TestSuiteSorter::ORDER_RANDOMIZED) { - $this->writeMessage( - 'Random seed', - $arguments['randomOrderSeed'] - ); - } - - if (isset($tooFewColumnsRequested)) { - $this->writeMessage('Error', 'Less than 16 columns requested, number of columns set to 16'); - } - - if ($this->runtime->discardsComments()) { - $this->writeMessage('Warning', 'opcache.save_comments=0 set; annotations will not work'); - } - - if (isset($arguments['configuration']) && $arguments['configuration']->hasValidationErrors()) { - $this->write( - "\n Warning - The configuration file did not pass validation!\n The following problems have been detected:\n" - ); - - foreach ($arguments['configuration']->getValidationErrors() as $line => $errors) { - $this->write(\sprintf("\n Line %d:\n", $line)); - - foreach ($errors as $msg) { - $this->write(\sprintf(" - %s\n", $msg)); - } - } - $this->write("\n Test results may not be as expected.\n\n"); - } - - foreach ($arguments['listeners'] as $listener) { - $result->addListener($listener); - } - - $result->addListener($this->printer); - - $codeCoverageReports = 0; - - if (!isset($arguments['noLogging'])) { - if (isset($arguments['testdoxHTMLFile'])) { - $result->addListener( - new HtmlResultPrinter( - $arguments['testdoxHTMLFile'], - $arguments['testdoxGroups'], - $arguments['testdoxExcludeGroups'] - ) - ); - } - - if (isset($arguments['testdoxTextFile'])) { - $result->addListener( - new TextResultPrinter( - $arguments['testdoxTextFile'], - $arguments['testdoxGroups'], - $arguments['testdoxExcludeGroups'] - ) - ); - } - - if (isset($arguments['testdoxXMLFile'])) { - $result->addListener( - new XmlResultPrinter( - $arguments['testdoxXMLFile'] - ) - ); - } - - if (isset($arguments['teamcityLogfile'])) { - $result->addListener( - new TeamCity($arguments['teamcityLogfile']) - ); - } - - if (isset($arguments['junitLogfile'])) { - $result->addListener( - new JUnit( - $arguments['junitLogfile'], - $arguments['reportUselessTests'] - ) - ); - } - - if (isset($arguments['coverageClover'])) { - $codeCoverageReports++; - } - - if (isset($arguments['coverageCrap4J'])) { - $codeCoverageReports++; - } - - if (isset($arguments['coverageHtml'])) { - $codeCoverageReports++; - } - - if (isset($arguments['coveragePHP'])) { - $codeCoverageReports++; - } - - if (isset($arguments['coverageText'])) { - $codeCoverageReports++; - } - - if (isset($arguments['coverageXml'])) { - $codeCoverageReports++; - } - } - - if (isset($arguments['noCoverage'])) { - $codeCoverageReports = 0; - } - - if ($codeCoverageReports > 0 && !$this->runtime->canCollectCodeCoverage()) { - $this->writeMessage('Error', 'No code coverage driver is available'); - - $codeCoverageReports = 0; - } - - if ($codeCoverageReports > 0 || isset($arguments['xdebugFilterFile'])) { - $whitelistFromConfigurationFile = false; - $whitelistFromOption = false; - - if (isset($arguments['whitelist'])) { - $this->codeCoverageFilter->addDirectoryToWhitelist($arguments['whitelist']); - - $whitelistFromOption = true; - } - - if (isset($arguments['configuration'])) { - $filterConfiguration = $arguments['configuration']->getFilterConfiguration(); - - if (!empty($filterConfiguration['whitelist'])) { - $whitelistFromConfigurationFile = true; - } - - if (!empty($filterConfiguration['whitelist'])) { - foreach ($filterConfiguration['whitelist']['include']['directory'] as $dir) { - $this->codeCoverageFilter->addDirectoryToWhitelist( - $dir['path'], - $dir['suffix'], - $dir['prefix'] - ); - } - - foreach ($filterConfiguration['whitelist']['include']['file'] as $file) { - $this->codeCoverageFilter->addFileToWhitelist($file); - } - - foreach ($filterConfiguration['whitelist']['exclude']['directory'] as $dir) { - $this->codeCoverageFilter->removeDirectoryFromWhitelist( - $dir['path'], - $dir['suffix'], - $dir['prefix'] - ); - } - - foreach ($filterConfiguration['whitelist']['exclude']['file'] as $file) { - $this->codeCoverageFilter->removeFileFromWhitelist($file); - } - } - } - } - - if ($codeCoverageReports > 0) { - $codeCoverage = new CodeCoverage( - null, - $this->codeCoverageFilter - ); - - $codeCoverage->setUnintentionallyCoveredSubclassesWhitelist( - [Comparator::class] - ); - - $codeCoverage->setCheckForUnintentionallyCoveredCode( - $arguments['strictCoverage'] - ); - - $codeCoverage->setCheckForMissingCoversAnnotation( - $arguments['strictCoverage'] - ); - - if (isset($arguments['forceCoversAnnotation'])) { - $codeCoverage->setForceCoversAnnotation( - $arguments['forceCoversAnnotation'] - ); - } - - if (isset($arguments['ignoreDeprecatedCodeUnitsFromCodeCoverage'])) { - $codeCoverage->setIgnoreDeprecatedCode( - $arguments['ignoreDeprecatedCodeUnitsFromCodeCoverage'] - ); - } - - if (isset($arguments['disableCodeCoverageIgnore'])) { - $codeCoverage->setDisableIgnoredLines(true); - } - - if (!empty($filterConfiguration['whitelist'])) { - $codeCoverage->setAddUncoveredFilesFromWhitelist( - $filterConfiguration['whitelist']['addUncoveredFilesFromWhitelist'] - ); - - $codeCoverage->setProcessUncoveredFilesFromWhitelist( - $filterConfiguration['whitelist']['processUncoveredFilesFromWhitelist'] - ); - } - - if (!$this->codeCoverageFilter->hasWhitelist()) { - if (!$whitelistFromConfigurationFile && !$whitelistFromOption) { - $this->writeMessage('Error', 'No whitelist is configured, no code coverage will be generated.'); - } else { - $this->writeMessage('Error', 'Incorrect whitelist config, no code coverage will be generated.'); - } - - $codeCoverageReports = 0; - - unset($codeCoverage); - } - } - - if (isset($arguments['xdebugFilterFile'], $filterConfiguration)) { - $this->write("\n"); - - $script = (new XdebugFilterScriptGenerator)->generate($filterConfiguration['whitelist']); - - if ($arguments['xdebugFilterFile'] !== 'php://stdout' && $arguments['xdebugFilterFile'] !== 'php://stderr' && !Filesystem::createDirectory(\dirname($arguments['xdebugFilterFile']))) { - $this->write(\sprintf('Cannot write Xdebug filter script to %s ' . \PHP_EOL, $arguments['xdebugFilterFile'])); - - exit(self::EXCEPTION_EXIT); - } - - \file_put_contents($arguments['xdebugFilterFile'], $script); - - $this->write(\sprintf('Wrote Xdebug filter script to %s ' . \PHP_EOL, $arguments['xdebugFilterFile'])); - - exit(self::SUCCESS_EXIT); - } - - $this->printer->write("\n"); - - if (isset($codeCoverage)) { - $result->setCodeCoverage($codeCoverage); - - if ($codeCoverageReports > 1 && isset($arguments['cacheTokens'])) { - $codeCoverage->setCacheTokens($arguments['cacheTokens']); - } - } - - $result->beStrictAboutTestsThatDoNotTestAnything($arguments['reportUselessTests']); - $result->beStrictAboutOutputDuringTests($arguments['disallowTestOutput']); - $result->beStrictAboutTodoAnnotatedTests($arguments['disallowTodoAnnotatedTests']); - $result->beStrictAboutResourceUsageDuringSmallTests($arguments['beStrictAboutResourceUsageDuringSmallTests']); - - if ($arguments['enforceTimeLimit'] === true) { - if (!\class_exists(Invoker::class)) { - $this->writeMessage('Error', 'Package phpunit/php-invoker is required for enforcing time limits'); - } - - if (!\extension_loaded('pcntl') || \strpos(\ini_get('disable_functions'), 'pcntl') !== false) { - $this->writeMessage('Error', 'PHP extension pcntl is required for enforcing time limits'); - } - } - $result->enforceTimeLimit($arguments['enforceTimeLimit']); - $result->setDefaultTimeLimit($arguments['defaultTimeLimit']); - $result->setTimeoutForSmallTests($arguments['timeoutForSmallTests']); - $result->setTimeoutForMediumTests($arguments['timeoutForMediumTests']); - $result->setTimeoutForLargeTests($arguments['timeoutForLargeTests']); - - if ($suite instanceof TestSuite) { - $this->processSuiteFilters($suite, $arguments); - $suite->setRunTestInSeparateProcess($arguments['processIsolation']); - } - - foreach ($this->extensions as $extension) { - if ($extension instanceof BeforeFirstTestHook) { - $extension->executeBeforeFirstTest(); - } - } - - $suite->run($result); - - foreach ($this->extensions as $extension) { - if ($extension instanceof AfterLastTestHook) { - $extension->executeAfterLastTest(); - } - } - - $result->flushListeners(); - - if ($this->printer instanceof ResultPrinter) { - $this->printer->printResult($result); - } - - if (isset($codeCoverage)) { - if (isset($arguments['coverageClover'])) { - $this->printer->write( - "\nGenerating code coverage report in Clover XML format ..." - ); - - try { - $writer = new CloverReport; - $writer->process($codeCoverage, $arguments['coverageClover']); - - $this->printer->write(" done\n"); - unset($writer); - } catch (CodeCoverageException $e) { - $this->printer->write( - " failed\n" . $e->getMessage() . "\n" - ); - } - } - - if (isset($arguments['coverageCrap4J'])) { - $this->printer->write( - "\nGenerating Crap4J report XML file ..." - ); - - try { - $writer = new Crap4jReport($arguments['crap4jThreshold']); - $writer->process($codeCoverage, $arguments['coverageCrap4J']); - - $this->printer->write(" done\n"); - unset($writer); - } catch (CodeCoverageException $e) { - $this->printer->write( - " failed\n" . $e->getMessage() . "\n" - ); - } - } - - if (isset($arguments['coverageHtml'])) { - $this->printer->write( - "\nGenerating code coverage report in HTML format ..." - ); - - try { - $writer = new HtmlReport( - $arguments['reportLowUpperBound'], - $arguments['reportHighLowerBound'], - \sprintf( - ' and PHPUnit %s', - Version::id() - ) - ); - - $writer->process($codeCoverage, $arguments['coverageHtml']); - - $this->printer->write(" done\n"); - unset($writer); - } catch (CodeCoverageException $e) { - $this->printer->write( - " failed\n" . $e->getMessage() . "\n" - ); - } - } - - if (isset($arguments['coveragePHP'])) { - $this->printer->write( - "\nGenerating code coverage report in PHP format ..." - ); - - try { - $writer = new PhpReport; - $writer->process($codeCoverage, $arguments['coveragePHP']); - - $this->printer->write(" done\n"); - unset($writer); - } catch (CodeCoverageException $e) { - $this->printer->write( - " failed\n" . $e->getMessage() . "\n" - ); - } - } - - if (isset($arguments['coverageText'])) { - if ($arguments['coverageText'] == 'php://stdout') { - $outputStream = $this->printer; - $colors = $arguments['colors'] && $arguments['colors'] != ResultPrinter::COLOR_NEVER; - } else { - $outputStream = new Printer($arguments['coverageText']); - $colors = false; - } - - $processor = new TextReport( - $arguments['reportLowUpperBound'], - $arguments['reportHighLowerBound'], - $arguments['coverageTextShowUncoveredFiles'], - $arguments['coverageTextShowOnlySummary'] - ); - - $outputStream->write( - $processor->process($codeCoverage, $colors) - ); - } - - if (isset($arguments['coverageXml'])) { - $this->printer->write( - "\nGenerating code coverage report in PHPUnit XML format ..." - ); - - try { - $writer = new XmlReport(Version::id()); - $writer->process($codeCoverage, $arguments['coverageXml']); - - $this->printer->write(" done\n"); - unset($writer); - } catch (CodeCoverageException $e) { - $this->printer->write( - " failed\n" . $e->getMessage() . "\n" - ); - } - } - } - - if ($exit) { - if ($result->wasSuccessfulIgnoringWarnings()) { - if ($arguments['failOnRisky'] && !$result->allHarmless()) { - exit(self::FAILURE_EXIT); - } - - if ($arguments['failOnWarning'] && $result->warningCount() > 0) { - exit(self::FAILURE_EXIT); - } - - exit(self::SUCCESS_EXIT); - } - - if ($result->errorCount() > 0) { - exit(self::EXCEPTION_EXIT); - } - - if ($result->failureCount() > 0) { - exit(self::FAILURE_EXIT); - } - } - - return $result; - } - - public function setPrinter(ResultPrinter $resultPrinter): void - { - $this->printer = $resultPrinter; - } - - /** - * Returns the loader to be used. - */ - public function getLoader(): TestSuiteLoader - { - if ($this->loader === null) { - $this->loader = new StandardTestSuiteLoader; - } - - return $this->loader; - } - - protected function createTestResult(): TestResult - { - return new TestResult; - } - - /** - * Override to define how to handle a failed loading of - * a test suite. - */ - protected function runFailed(string $message): void - { - $this->write($message . \PHP_EOL); - - exit(self::FAILURE_EXIT); - } - - protected function write(string $buffer): void - { - if (\PHP_SAPI != 'cli' && \PHP_SAPI != 'phpdbg') { - $buffer = \htmlspecialchars($buffer); - } - - if ($this->printer !== null) { - $this->printer->write($buffer); - } else { - print $buffer; - } - } - - /** - * @throws Exception - */ - protected function handleConfiguration(array &$arguments): void - { - if (isset($arguments['configuration']) && - !$arguments['configuration'] instanceof Configuration) { - $arguments['configuration'] = Configuration::getInstance( - $arguments['configuration'] - ); - } - - $arguments['debug'] = $arguments['debug'] ?? false; - $arguments['filter'] = $arguments['filter'] ?? false; - $arguments['listeners'] = $arguments['listeners'] ?? []; - - if (isset($arguments['configuration'])) { - $arguments['configuration']->handlePHPConfiguration(); - - $phpunitConfiguration = $arguments['configuration']->getPHPUnitConfiguration(); - - if (isset($phpunitConfiguration['backupGlobals']) && !isset($arguments['backupGlobals'])) { - $arguments['backupGlobals'] = $phpunitConfiguration['backupGlobals']; - } - - if (isset($phpunitConfiguration['backupStaticAttributes']) && !isset($arguments['backupStaticAttributes'])) { - $arguments['backupStaticAttributes'] = $phpunitConfiguration['backupStaticAttributes']; - } - - if (isset($phpunitConfiguration['beStrictAboutChangesToGlobalState']) && !isset($arguments['beStrictAboutChangesToGlobalState'])) { - $arguments['beStrictAboutChangesToGlobalState'] = $phpunitConfiguration['beStrictAboutChangesToGlobalState']; - } - - if (isset($phpunitConfiguration['bootstrap']) && !isset($arguments['bootstrap'])) { - $arguments['bootstrap'] = $phpunitConfiguration['bootstrap']; - } - - if (isset($phpunitConfiguration['cacheResult']) && !isset($arguments['cacheResult'])) { - $arguments['cacheResult'] = $phpunitConfiguration['cacheResult']; - } - - if (isset($phpunitConfiguration['cacheResultFile']) && !isset($arguments['cacheResultFile'])) { - $arguments['cacheResultFile'] = $phpunitConfiguration['cacheResultFile']; - } - - if (isset($phpunitConfiguration['cacheTokens']) && !isset($arguments['cacheTokens'])) { - $arguments['cacheTokens'] = $phpunitConfiguration['cacheTokens']; - } - - if (isset($phpunitConfiguration['cacheTokens']) && !isset($arguments['cacheTokens'])) { - $arguments['cacheTokens'] = $phpunitConfiguration['cacheTokens']; - } - - if (isset($phpunitConfiguration['colors']) && !isset($arguments['colors'])) { - $arguments['colors'] = $phpunitConfiguration['colors']; - } - - if (isset($phpunitConfiguration['convertDeprecationsToExceptions']) && !isset($arguments['convertDeprecationsToExceptions'])) { - $arguments['convertDeprecationsToExceptions'] = $phpunitConfiguration['convertDeprecationsToExceptions']; - } - - if (isset($phpunitConfiguration['convertErrorsToExceptions']) && !isset($arguments['convertErrorsToExceptions'])) { - $arguments['convertErrorsToExceptions'] = $phpunitConfiguration['convertErrorsToExceptions']; - } - - if (isset($phpunitConfiguration['convertNoticesToExceptions']) && !isset($arguments['convertNoticesToExceptions'])) { - $arguments['convertNoticesToExceptions'] = $phpunitConfiguration['convertNoticesToExceptions']; - } - - if (isset($phpunitConfiguration['convertWarningsToExceptions']) && !isset($arguments['convertWarningsToExceptions'])) { - $arguments['convertWarningsToExceptions'] = $phpunitConfiguration['convertWarningsToExceptions']; - } - - if (isset($phpunitConfiguration['processIsolation']) && !isset($arguments['processIsolation'])) { - $arguments['processIsolation'] = $phpunitConfiguration['processIsolation']; - } - - if (isset($phpunitConfiguration['stopOnDefect']) && !isset($arguments['stopOnDefect'])) { - $arguments['stopOnDefect'] = $phpunitConfiguration['stopOnDefect']; - } - - if (isset($phpunitConfiguration['stopOnError']) && !isset($arguments['stopOnError'])) { - $arguments['stopOnError'] = $phpunitConfiguration['stopOnError']; - } - - if (isset($phpunitConfiguration['stopOnFailure']) && !isset($arguments['stopOnFailure'])) { - $arguments['stopOnFailure'] = $phpunitConfiguration['stopOnFailure']; - } - - if (isset($phpunitConfiguration['stopOnWarning']) && !isset($arguments['stopOnWarning'])) { - $arguments['stopOnWarning'] = $phpunitConfiguration['stopOnWarning']; - } - - if (isset($phpunitConfiguration['stopOnIncomplete']) && !isset($arguments['stopOnIncomplete'])) { - $arguments['stopOnIncomplete'] = $phpunitConfiguration['stopOnIncomplete']; - } - - if (isset($phpunitConfiguration['stopOnRisky']) && !isset($arguments['stopOnRisky'])) { - $arguments['stopOnRisky'] = $phpunitConfiguration['stopOnRisky']; - } - - if (isset($phpunitConfiguration['stopOnSkipped']) && !isset($arguments['stopOnSkipped'])) { - $arguments['stopOnSkipped'] = $phpunitConfiguration['stopOnSkipped']; - } - - if (isset($phpunitConfiguration['failOnWarning']) && !isset($arguments['failOnWarning'])) { - $arguments['failOnWarning'] = $phpunitConfiguration['failOnWarning']; - } - - if (isset($phpunitConfiguration['failOnRisky']) && !isset($arguments['failOnRisky'])) { - $arguments['failOnRisky'] = $phpunitConfiguration['failOnRisky']; - } - - if (isset($phpunitConfiguration['timeoutForSmallTests']) && !isset($arguments['timeoutForSmallTests'])) { - $arguments['timeoutForSmallTests'] = $phpunitConfiguration['timeoutForSmallTests']; - } - - if (isset($phpunitConfiguration['timeoutForMediumTests']) && !isset($arguments['timeoutForMediumTests'])) { - $arguments['timeoutForMediumTests'] = $phpunitConfiguration['timeoutForMediumTests']; - } - - if (isset($phpunitConfiguration['timeoutForLargeTests']) && !isset($arguments['timeoutForLargeTests'])) { - $arguments['timeoutForLargeTests'] = $phpunitConfiguration['timeoutForLargeTests']; - } - - if (isset($phpunitConfiguration['reportUselessTests']) && !isset($arguments['reportUselessTests'])) { - $arguments['reportUselessTests'] = $phpunitConfiguration['reportUselessTests']; - } - - if (isset($phpunitConfiguration['strictCoverage']) && !isset($arguments['strictCoverage'])) { - $arguments['strictCoverage'] = $phpunitConfiguration['strictCoverage']; - } - - if (isset($phpunitConfiguration['ignoreDeprecatedCodeUnitsFromCodeCoverage']) && !isset($arguments['ignoreDeprecatedCodeUnitsFromCodeCoverage'])) { - $arguments['ignoreDeprecatedCodeUnitsFromCodeCoverage'] = $phpunitConfiguration['ignoreDeprecatedCodeUnitsFromCodeCoverage']; - } - - if (isset($phpunitConfiguration['disallowTestOutput']) && !isset($arguments['disallowTestOutput'])) { - $arguments['disallowTestOutput'] = $phpunitConfiguration['disallowTestOutput']; - } - - if (isset($phpunitConfiguration['defaultTimeLimit']) && !isset($arguments['defaultTimeLimit'])) { - $arguments['defaultTimeLimit'] = $phpunitConfiguration['defaultTimeLimit']; - } - - if (isset($phpunitConfiguration['enforceTimeLimit']) && !isset($arguments['enforceTimeLimit'])) { - $arguments['enforceTimeLimit'] = $phpunitConfiguration['enforceTimeLimit']; - } - - if (isset($phpunitConfiguration['disallowTodoAnnotatedTests']) && !isset($arguments['disallowTodoAnnotatedTests'])) { - $arguments['disallowTodoAnnotatedTests'] = $phpunitConfiguration['disallowTodoAnnotatedTests']; - } - - if (isset($phpunitConfiguration['beStrictAboutResourceUsageDuringSmallTests']) && !isset($arguments['beStrictAboutResourceUsageDuringSmallTests'])) { - $arguments['beStrictAboutResourceUsageDuringSmallTests'] = $phpunitConfiguration['beStrictAboutResourceUsageDuringSmallTests']; - } - - if (isset($phpunitConfiguration['verbose']) && !isset($arguments['verbose'])) { - $arguments['verbose'] = $phpunitConfiguration['verbose']; - } - - if (isset($phpunitConfiguration['reverseDefectList']) && !isset($arguments['reverseList'])) { - $arguments['reverseList'] = $phpunitConfiguration['reverseDefectList']; - } - - if (isset($phpunitConfiguration['forceCoversAnnotation']) && !isset($arguments['forceCoversAnnotation'])) { - $arguments['forceCoversAnnotation'] = $phpunitConfiguration['forceCoversAnnotation']; - } - - if (isset($phpunitConfiguration['disableCodeCoverageIgnore']) && !isset($arguments['disableCodeCoverageIgnore'])) { - $arguments['disableCodeCoverageIgnore'] = $phpunitConfiguration['disableCodeCoverageIgnore']; - } - - if (isset($phpunitConfiguration['registerMockObjectsFromTestArgumentsRecursively']) && !isset($arguments['registerMockObjectsFromTestArgumentsRecursively'])) { - $arguments['registerMockObjectsFromTestArgumentsRecursively'] = $phpunitConfiguration['registerMockObjectsFromTestArgumentsRecursively']; - } - - if (isset($phpunitConfiguration['executionOrder']) && !isset($arguments['executionOrder'])) { - $arguments['executionOrder'] = $phpunitConfiguration['executionOrder']; - } - - if (isset($phpunitConfiguration['executionOrderDefects']) && !isset($arguments['executionOrderDefects'])) { - $arguments['executionOrderDefects'] = $phpunitConfiguration['executionOrderDefects']; - } - - if (isset($phpunitConfiguration['resolveDependencies']) && !isset($arguments['resolveDependencies'])) { - $arguments['resolveDependencies'] = $phpunitConfiguration['resolveDependencies']; - } - - $groupCliArgs = []; - - if (!empty($arguments['groups'])) { - $groupCliArgs = $arguments['groups']; - } - - $groupConfiguration = $arguments['configuration']->getGroupConfiguration(); - - if (!empty($groupConfiguration['include']) && !isset($arguments['groups'])) { - $arguments['groups'] = $groupConfiguration['include']; - } - - if (!empty($groupConfiguration['exclude']) && !isset($arguments['excludeGroups'])) { - $arguments['excludeGroups'] = \array_diff($groupConfiguration['exclude'], $groupCliArgs); - } - - foreach ($arguments['configuration']->getExtensionConfiguration() as $extension) { - if (!\class_exists($extension['class'], false) && $extension['file'] !== '') { - require_once $extension['file']; - } - - if (!\class_exists($extension['class'])) { - throw new Exception( - \sprintf( - 'Class "%s" does not exist', - $extension['class'] - ) - ); - } - - $extensionClass = new ReflectionClass($extension['class']); - - if (!$extensionClass->implementsInterface(Hook::class)) { - throw new Exception( - \sprintf( - 'Class "%s" does not implement a PHPUnit\Runner\Hook interface', - $extension['class'] - ) - ); - } - - if (\count($extension['arguments']) == 0) { - $this->extensions[] = $extensionClass->newInstance(); - } else { - $this->extensions[] = $extensionClass->newInstanceArgs( - $extension['arguments'] - ); - } - } - - foreach ($arguments['configuration']->getListenerConfiguration() as $listener) { - if (!\class_exists($listener['class'], false) && - $listener['file'] !== '') { - require_once $listener['file']; - } - - if (!\class_exists($listener['class'])) { - throw new Exception( - \sprintf( - 'Class "%s" does not exist', - $listener['class'] - ) - ); - } - - $listenerClass = new ReflectionClass($listener['class']); - - if (!$listenerClass->implementsInterface(TestListener::class)) { - throw new Exception( - \sprintf( - 'Class "%s" does not implement the PHPUnit\Framework\TestListener interface', - $listener['class'] - ) - ); - } - - if (\count($listener['arguments']) == 0) { - $listener = new $listener['class']; - } else { - $listener = $listenerClass->newInstanceArgs( - $listener['arguments'] - ); - } - - $arguments['listeners'][] = $listener; - } - - $loggingConfiguration = $arguments['configuration']->getLoggingConfiguration(); - - if (isset($loggingConfiguration['coverage-clover']) && !isset($arguments['coverageClover'])) { - $arguments['coverageClover'] = $loggingConfiguration['coverage-clover']; - } - - if (isset($loggingConfiguration['coverage-crap4j']) && !isset($arguments['coverageCrap4J'])) { - $arguments['coverageCrap4J'] = $loggingConfiguration['coverage-crap4j']; - - if (isset($loggingConfiguration['crap4jThreshold']) && !isset($arguments['crap4jThreshold'])) { - $arguments['crap4jThreshold'] = $loggingConfiguration['crap4jThreshold']; - } - } - - if (isset($loggingConfiguration['coverage-html']) && !isset($arguments['coverageHtml'])) { - if (isset($loggingConfiguration['lowUpperBound']) && !isset($arguments['reportLowUpperBound'])) { - $arguments['reportLowUpperBound'] = $loggingConfiguration['lowUpperBound']; - } - - if (isset($loggingConfiguration['highLowerBound']) && !isset($arguments['reportHighLowerBound'])) { - $arguments['reportHighLowerBound'] = $loggingConfiguration['highLowerBound']; - } - - $arguments['coverageHtml'] = $loggingConfiguration['coverage-html']; - } - - if (isset($loggingConfiguration['coverage-php']) && !isset($arguments['coveragePHP'])) { - $arguments['coveragePHP'] = $loggingConfiguration['coverage-php']; - } - - if (isset($loggingConfiguration['coverage-text']) && !isset($arguments['coverageText'])) { - $arguments['coverageText'] = $loggingConfiguration['coverage-text']; - - if (isset($loggingConfiguration['coverageTextShowUncoveredFiles'])) { - $arguments['coverageTextShowUncoveredFiles'] = $loggingConfiguration['coverageTextShowUncoveredFiles']; - } else { - $arguments['coverageTextShowUncoveredFiles'] = false; - } - - if (isset($loggingConfiguration['coverageTextShowOnlySummary'])) { - $arguments['coverageTextShowOnlySummary'] = $loggingConfiguration['coverageTextShowOnlySummary']; - } else { - $arguments['coverageTextShowOnlySummary'] = false; - } - } - - if (isset($loggingConfiguration['coverage-xml']) && !isset($arguments['coverageXml'])) { - $arguments['coverageXml'] = $loggingConfiguration['coverage-xml']; - } - - if (isset($loggingConfiguration['plain'])) { - $arguments['listeners'][] = new ResultPrinter( - $loggingConfiguration['plain'], - true - ); - } - - if (isset($loggingConfiguration['teamcity']) && !isset($arguments['teamcityLogfile'])) { - $arguments['teamcityLogfile'] = $loggingConfiguration['teamcity']; - } - - if (isset($loggingConfiguration['junit']) && !isset($arguments['junitLogfile'])) { - $arguments['junitLogfile'] = $loggingConfiguration['junit']; - } - - if (isset($loggingConfiguration['testdox-html']) && !isset($arguments['testdoxHTMLFile'])) { - $arguments['testdoxHTMLFile'] = $loggingConfiguration['testdox-html']; - } - - if (isset($loggingConfiguration['testdox-text']) && !isset($arguments['testdoxTextFile'])) { - $arguments['testdoxTextFile'] = $loggingConfiguration['testdox-text']; - } - - if (isset($loggingConfiguration['testdox-xml']) && !isset($arguments['testdoxXMLFile'])) { - $arguments['testdoxXMLFile'] = $loggingConfiguration['testdox-xml']; - } - - $testdoxGroupConfiguration = $arguments['configuration']->getTestdoxGroupConfiguration(); - - if (isset($testdoxGroupConfiguration['include']) && - !isset($arguments['testdoxGroups'])) { - $arguments['testdoxGroups'] = $testdoxGroupConfiguration['include']; - } - - if (isset($testdoxGroupConfiguration['exclude']) && - !isset($arguments['testdoxExcludeGroups'])) { - $arguments['testdoxExcludeGroups'] = $testdoxGroupConfiguration['exclude']; - } - } - - $arguments['addUncoveredFilesFromWhitelist'] = $arguments['addUncoveredFilesFromWhitelist'] ?? true; - $arguments['backupGlobals'] = $arguments['backupGlobals'] ?? null; - $arguments['backupStaticAttributes'] = $arguments['backupStaticAttributes'] ?? null; - $arguments['beStrictAboutChangesToGlobalState'] = $arguments['beStrictAboutChangesToGlobalState'] ?? null; - $arguments['beStrictAboutResourceUsageDuringSmallTests'] = $arguments['beStrictAboutResourceUsageDuringSmallTests'] ?? false; - $arguments['cacheResult'] = $arguments['cacheResult'] ?? false; - $arguments['cacheTokens'] = $arguments['cacheTokens'] ?? false; - $arguments['colors'] = $arguments['colors'] ?? ResultPrinter::COLOR_DEFAULT; - $arguments['columns'] = $arguments['columns'] ?? 80; - $arguments['convertDeprecationsToExceptions'] = $arguments['convertDeprecationsToExceptions'] ?? true; - $arguments['convertErrorsToExceptions'] = $arguments['convertErrorsToExceptions'] ?? true; - $arguments['convertNoticesToExceptions'] = $arguments['convertNoticesToExceptions'] ?? true; - $arguments['convertWarningsToExceptions'] = $arguments['convertWarningsToExceptions'] ?? true; - $arguments['crap4jThreshold'] = $arguments['crap4jThreshold'] ?? 30; - $arguments['disallowTestOutput'] = $arguments['disallowTestOutput'] ?? false; - $arguments['disallowTodoAnnotatedTests'] = $arguments['disallowTodoAnnotatedTests'] ?? false; - $arguments['defaultTimeLimit'] = $arguments['defaultTimeLimit'] ?? 0; - $arguments['enforceTimeLimit'] = $arguments['enforceTimeLimit'] ?? false; - $arguments['excludeGroups'] = $arguments['excludeGroups'] ?? []; - $arguments['failOnRisky'] = $arguments['failOnRisky'] ?? false; - $arguments['failOnWarning'] = $arguments['failOnWarning'] ?? false; - $arguments['executionOrderDefects'] = $arguments['executionOrderDefects'] ?? TestSuiteSorter::ORDER_DEFAULT; - $arguments['groups'] = $arguments['groups'] ?? []; - $arguments['processIsolation'] = $arguments['processIsolation'] ?? false; - $arguments['processUncoveredFilesFromWhitelist'] = $arguments['processUncoveredFilesFromWhitelist'] ?? false; - $arguments['randomOrderSeed'] = $arguments['randomOrderSeed'] ?? \time(); - $arguments['registerMockObjectsFromTestArgumentsRecursively'] = $arguments['registerMockObjectsFromTestArgumentsRecursively'] ?? false; - $arguments['repeat'] = $arguments['repeat'] ?? false; - $arguments['reportHighLowerBound'] = $arguments['reportHighLowerBound'] ?? 90; - $arguments['reportLowUpperBound'] = $arguments['reportLowUpperBound'] ?? 50; - $arguments['reportUselessTests'] = $arguments['reportUselessTests'] ?? true; - $arguments['reverseList'] = $arguments['reverseList'] ?? false; - $arguments['executionOrder'] = $arguments['executionOrder'] ?? TestSuiteSorter::ORDER_DEFAULT; - $arguments['resolveDependencies'] = $arguments['resolveDependencies'] ?? false; - $arguments['stopOnError'] = $arguments['stopOnError'] ?? false; - $arguments['stopOnFailure'] = $arguments['stopOnFailure'] ?? false; - $arguments['stopOnIncomplete'] = $arguments['stopOnIncomplete'] ?? false; - $arguments['stopOnRisky'] = $arguments['stopOnRisky'] ?? false; - $arguments['stopOnSkipped'] = $arguments['stopOnSkipped'] ?? false; - $arguments['stopOnWarning'] = $arguments['stopOnWarning'] ?? false; - $arguments['stopOnDefect'] = $arguments['stopOnDefect'] ?? false; - $arguments['strictCoverage'] = $arguments['strictCoverage'] ?? false; - $arguments['testdoxExcludeGroups'] = $arguments['testdoxExcludeGroups'] ?? []; - $arguments['testdoxGroups'] = $arguments['testdoxGroups'] ?? []; - $arguments['timeoutForLargeTests'] = $arguments['timeoutForLargeTests'] ?? 60; - $arguments['timeoutForMediumTests'] = $arguments['timeoutForMediumTests'] ?? 10; - $arguments['timeoutForSmallTests'] = $arguments['timeoutForSmallTests'] ?? 1; - $arguments['verbose'] = $arguments['verbose'] ?? false; - } - - /** - * @throws \ReflectionException - * @throws \InvalidArgumentException - */ - private function processSuiteFilters(TestSuite $suite, array $arguments): void - { - if (!$arguments['filter'] && - empty($arguments['groups']) && - empty($arguments['excludeGroups'])) { - return; - } - - $filterFactory = new Factory; - - if (!empty($arguments['excludeGroups'])) { - $filterFactory->addFilter( - new ReflectionClass(ExcludeGroupFilterIterator::class), - $arguments['excludeGroups'] - ); - } - - if (!empty($arguments['groups'])) { - $filterFactory->addFilter( - new ReflectionClass(IncludeGroupFilterIterator::class), - $arguments['groups'] - ); - } - - if ($arguments['filter']) { - $filterFactory->addFilter( - new ReflectionClass(NameFilterIterator::class), - $arguments['filter'] - ); - } - - $suite->injectFilter($filterFactory); - } - - private function writeMessage(string $type, string $message): void - { - if (!$this->messagePrinted) { - $this->write("\n"); - } - - $this->write( - \sprintf( - "%-15s%s\n", - $type . ':', - $message - ) - ); - - $this->messagePrinted = true; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Util/Blacklist.php b/paragonik-backend/vendor/phpunit/phpunit/src/Util/Blacklist.php deleted file mode 100644 index 0834dea..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Util/Blacklist.php +++ /dev/null @@ -1,196 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Util; - -use Composer\Autoload\ClassLoader; -use DeepCopy\DeepCopy; -use Doctrine\Instantiator\Instantiator; -use PharIo\Manifest\Manifest; -use PharIo\Version\Version as PharIoVersion; -use PHP_Token; -use phpDocumentor\Reflection\DocBlock; -use phpDocumentor\Reflection\Project; -use phpDocumentor\Reflection\Type; -use PHPUnit\Framework\TestCase; -use Prophecy\Prophet; -use ReflectionClass; -use SebastianBergmann\CodeCoverage\CodeCoverage; -use SebastianBergmann\CodeUnitReverseLookup\Wizard; -use SebastianBergmann\Comparator\Comparator; -use SebastianBergmann\Diff\Diff; -use SebastianBergmann\Environment\Runtime; -use SebastianBergmann\Exporter\Exporter; -use SebastianBergmann\FileIterator\Facade as FileIteratorFacade; -use SebastianBergmann\GlobalState\Snapshot; -use SebastianBergmann\Invoker\Invoker; -use SebastianBergmann\ObjectEnumerator\Enumerator; -use SebastianBergmann\RecursionContext\Context; -use SebastianBergmann\ResourceOperations\ResourceOperations; -use SebastianBergmann\Timer\Timer; -use SebastianBergmann\Version; -use Text_Template; -use TheSeer\Tokenizer\Tokenizer; -use Webmozart\Assert\Assert; - -/** - * Utility class for blacklisting PHPUnit's own source code files. - */ -final class Blacklist -{ - /** - * @var array - */ - public static $blacklistedClassNames = [ - // composer - ClassLoader::class => 1, - - // doctrine/instantiator - Instantiator::class => 1, - - // myclabs/deepcopy - DeepCopy::class => 1, - - // phar-io/manifest - Manifest::class => 1, - - // phar-io/version - PharIoVersion::class => 1, - - // phpdocumentor/reflection-common - Project::class => 1, - - // phpdocumentor/reflection-docblock - DocBlock::class => 1, - - // phpdocumentor/type-resolver - Type::class => 1, - - // phpspec/prophecy - Prophet::class => 1, - - // phpunit/phpunit - TestCase::class => 2, - - // phpunit/php-code-coverage - CodeCoverage::class => 1, - - // phpunit/php-file-iterator - FileIteratorFacade::class => 1, - - // phpunit/php-invoker - Invoker::class => 1, - - // phpunit/php-text-template - Text_Template::class => 1, - - // phpunit/php-timer - Timer::class => 1, - - // phpunit/php-token-stream - PHP_Token::class => 1, - - // sebastian/code-unit-reverse-lookup - Wizard::class => 1, - - // sebastian/comparator - Comparator::class => 1, - - // sebastian/diff - Diff::class => 1, - - // sebastian/environment - Runtime::class => 1, - - // sebastian/exporter - Exporter::class => 1, - - // sebastian/global-state - Snapshot::class => 1, - - // sebastian/object-enumerator - Enumerator::class => 1, - - // sebastian/recursion-context - Context::class => 1, - - // sebastian/resource-operations - ResourceOperations::class => 1, - - // sebastian/version - Version::class => 1, - - // theseer/tokenizer - Tokenizer::class => 1, - - // webmozart/assert - Assert::class => 1, - ]; - - /** - * @var string[] - */ - private static $directories; - - /** - * @return string[] - */ - public function getBlacklistedDirectories(): array - { - $this->initialize(); - - return self::$directories; - } - - public function isBlacklisted(string $file): bool - { - if (\defined('PHPUNIT_TESTSUITE')) { - return false; - } - - $this->initialize(); - - foreach (self::$directories as $directory) { - if (\strpos($file, $directory) === 0) { - return true; - } - } - - return false; - } - - private function initialize(): void - { - if (self::$directories === null) { - self::$directories = []; - - foreach (self::$blacklistedClassNames as $className => $parent) { - if (!\class_exists($className)) { - continue; - } - - $reflector = new ReflectionClass($className); - $directory = $reflector->getFileName(); - - for ($i = 0; $i < $parent; $i++) { - $directory = \dirname($directory); - } - - self::$directories[] = $directory; - } - - // Hide process isolation workaround on Windows. - if (\DIRECTORY_SEPARATOR === '\\') { - // tempnam() prefix is limited to first 3 chars. - // @see https://php.net/manual/en/function.tempnam.php - self::$directories[] = \sys_get_temp_dir() . '\\PHP'; - } - } - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Util/Configuration.php b/paragonik-backend/vendor/phpunit/phpunit/src/Util/Configuration.php deleted file mode 100644 index 0a18430..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Util/Configuration.php +++ /dev/null @@ -1,1331 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Util; - -use DOMElement; -use DOMXPath; -use PHPUnit\Framework\Exception; -use PHPUnit\Framework\TestSuite; -use PHPUnit\Runner\TestSuiteSorter; -use PHPUnit\TextUI\ResultPrinter; -use SebastianBergmann\FileIterator\Facade as FileIteratorFacade; - -/** - * Wrapper for the PHPUnit XML configuration file. - * - * Example XML configuration file: - * - * - * - * - * - * - * /path/to/files - * /path/to/MyTest.php - * /path/to/files/exclude - * - * - * - * - * - * name - * - * - * name - * - * - * - * - * - * name - * - * - * name - * - * - * - * - * - * /path/to/files - * /path/to/file - * - * /path/to/files - * /path/to/file - * - * - * - * - * - * - * - * - * - * Sebastian - * - * - * 22 - * April - * 19.78 - * - * - * MyRelativeFile.php - * MyRelativeDir - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * . - * - * - * - * - * - * - * - * - * - * - * - * - * - */ -final class Configuration -{ - /** - * @var self[] - */ - private static $instances = []; - - /** - * @var \DOMDocument - */ - private $document; - - /** - * @var DOMXPath - */ - private $xpath; - - /** - * @var string - */ - private $filename; - - /** - * @var \LibXMLError[] - */ - private $errors = []; - - /** - * Returns a PHPUnit configuration object. - * - * @throws Exception - */ - public static function getInstance(string $filename): self - { - $realPath = \realpath($filename); - - if ($realPath === false) { - throw new Exception( - \sprintf( - 'Could not read "%s".', - $filename - ) - ); - } - - /** @var string $realPath */ - if (!isset(self::$instances[$realPath])) { - self::$instances[$realPath] = new self($realPath); - } - - return self::$instances[$realPath]; - } - - /** - * Loads a PHPUnit configuration file. - * - * @throws Exception - */ - private function __construct(string $filename) - { - $this->filename = $filename; - $this->document = Xml::loadFile($filename, false, true, true); - $this->xpath = new DOMXPath($this->document); - - $this->validateConfigurationAgainstSchema(); - } - - /** - * @codeCoverageIgnore - */ - private function __clone() - { - } - - public function hasValidationErrors(): bool - { - return \count($this->errors) > 0; - } - - public function getValidationErrors(): array - { - $result = []; - - foreach ($this->errors as $error) { - if (!isset($result[$error->line])) { - $result[$error->line] = []; - } - $result[$error->line][] = \trim($error->message); - } - - return $result; - } - - /** - * Returns the real path to the configuration file. - */ - public function getFilename(): string - { - return $this->filename; - } - - public function getExtensionConfiguration(): array - { - $result = []; - - foreach ($this->xpath->query('extensions/extension') as $extension) { - /** @var DOMElement $extension */ - $class = (string) $extension->getAttribute('class'); - $file = ''; - $arguments = $this->getConfigurationArguments($extension->childNodes); - - if ($extension->getAttribute('file')) { - $file = $this->toAbsolutePath( - (string) $extension->getAttribute('file'), - true - ); - } - $result[] = [ - 'class' => $class, - 'file' => $file, - 'arguments' => $arguments, - ]; - } - - return $result; - } - - /** - * Returns the configuration for SUT filtering. - */ - public function getFilterConfiguration(): array - { - $addUncoveredFilesFromWhitelist = true; - $processUncoveredFilesFromWhitelist = false; - $includeDirectory = []; - $includeFile = []; - $excludeDirectory = []; - $excludeFile = []; - - $tmp = $this->xpath->query('filter/whitelist'); - - if ($tmp->length === 1) { - if ($tmp->item(0)->hasAttribute('addUncoveredFilesFromWhitelist')) { - $addUncoveredFilesFromWhitelist = $this->getBoolean( - (string) $tmp->item(0)->getAttribute( - 'addUncoveredFilesFromWhitelist' - ), - true - ); - } - - if ($tmp->item(0)->hasAttribute('processUncoveredFilesFromWhitelist')) { - $processUncoveredFilesFromWhitelist = $this->getBoolean( - (string) $tmp->item(0)->getAttribute( - 'processUncoveredFilesFromWhitelist' - ), - false - ); - } - - $includeDirectory = $this->readFilterDirectories( - 'filter/whitelist/directory' - ); - - $includeFile = $this->readFilterFiles( - 'filter/whitelist/file' - ); - - $excludeDirectory = $this->readFilterDirectories( - 'filter/whitelist/exclude/directory' - ); - - $excludeFile = $this->readFilterFiles( - 'filter/whitelist/exclude/file' - ); - } - - return [ - 'whitelist' => [ - 'addUncoveredFilesFromWhitelist' => $addUncoveredFilesFromWhitelist, - 'processUncoveredFilesFromWhitelist' => $processUncoveredFilesFromWhitelist, - 'include' => [ - 'directory' => $includeDirectory, - 'file' => $includeFile, - ], - 'exclude' => [ - 'directory' => $excludeDirectory, - 'file' => $excludeFile, - ], - ], - ]; - } - - /** - * Returns the configuration for groups. - */ - public function getGroupConfiguration(): array - { - return $this->parseGroupConfiguration('groups'); - } - - /** - * Returns the configuration for testdox groups. - */ - public function getTestdoxGroupConfiguration(): array - { - return $this->parseGroupConfiguration('testdoxGroups'); - } - - /** - * Returns the configuration for listeners. - */ - public function getListenerConfiguration(): array - { - $result = []; - - foreach ($this->xpath->query('listeners/listener') as $listener) { - /** @var DOMElement $listener */ - $class = (string) $listener->getAttribute('class'); - $file = ''; - $arguments = $this->getConfigurationArguments($listener->childNodes); - - if ($listener->getAttribute('file')) { - $file = $this->toAbsolutePath( - (string) $listener->getAttribute('file'), - true - ); - } - - $result[] = [ - 'class' => $class, - 'file' => $file, - 'arguments' => $arguments, - ]; - } - - return $result; - } - - /** - * Returns the logging configuration. - */ - public function getLoggingConfiguration(): array - { - $result = []; - - foreach ($this->xpath->query('logging/log') as $log) { - /** @var DOMElement $log */ - $type = (string) $log->getAttribute('type'); - $target = (string) $log->getAttribute('target'); - - if (!$target) { - continue; - } - - $target = $this->toAbsolutePath($target); - - if ($type === 'coverage-html') { - if ($log->hasAttribute('lowUpperBound')) { - $result['lowUpperBound'] = $this->getInteger( - (string) $log->getAttribute('lowUpperBound'), - 50 - ); - } - - if ($log->hasAttribute('highLowerBound')) { - $result['highLowerBound'] = $this->getInteger( - (string) $log->getAttribute('highLowerBound'), - 90 - ); - } - } elseif ($type === 'coverage-crap4j') { - if ($log->hasAttribute('threshold')) { - $result['crap4jThreshold'] = $this->getInteger( - (string) $log->getAttribute('threshold'), - 30 - ); - } - } elseif ($type === 'coverage-text') { - if ($log->hasAttribute('showUncoveredFiles')) { - $result['coverageTextShowUncoveredFiles'] = $this->getBoolean( - (string) $log->getAttribute('showUncoveredFiles'), - false - ); - } - - if ($log->hasAttribute('showOnlySummary')) { - $result['coverageTextShowOnlySummary'] = $this->getBoolean( - (string) $log->getAttribute('showOnlySummary'), - false - ); - } - } - - $result[$type] = $target; - } - - return $result; - } - - /** - * Returns the PHP configuration. - */ - public function getPHPConfiguration(): array - { - $result = [ - 'include_path' => [], - 'ini' => [], - 'const' => [], - 'var' => [], - 'env' => [], - 'post' => [], - 'get' => [], - 'cookie' => [], - 'server' => [], - 'files' => [], - 'request' => [], - ]; - - foreach ($this->xpath->query('php/includePath') as $includePath) { - $path = (string) $includePath->textContent; - - if ($path) { - $result['include_path'][] = $this->toAbsolutePath($path); - } - } - - foreach ($this->xpath->query('php/ini') as $ini) { - /** @var DOMElement $ini */ - $name = (string) $ini->getAttribute('name'); - $value = (string) $ini->getAttribute('value'); - - $result['ini'][$name]['value'] = $value; - } - - foreach ($this->xpath->query('php/const') as $const) { - /** @var DOMElement $const */ - $name = (string) $const->getAttribute('name'); - $value = (string) $const->getAttribute('value'); - - $result['const'][$name]['value'] = $this->getBoolean($value, $value); - } - - foreach (['var', 'env', 'post', 'get', 'cookie', 'server', 'files', 'request'] as $array) { - foreach ($this->xpath->query('php/' . $array) as $var) { - /** @var DOMElement $var */ - $name = (string) $var->getAttribute('name'); - $value = (string) $var->getAttribute('value'); - $verbatim = false; - - if ($var->hasAttribute('verbatim')) { - $verbatim = $this->getBoolean($var->getAttribute('verbatim'), false); - $result[$array][$name]['verbatim'] = $verbatim; - } - - if ($var->hasAttribute('force')) { - $force = $this->getBoolean($var->getAttribute('force'), false); - $result[$array][$name]['force'] = $force; - } - - if (!$verbatim) { - $value = $this->getBoolean($value, $value); - } - - $result[$array][$name]['value'] = $value; - } - } - - return $result; - } - - /** - * Handles the PHP configuration. - */ - public function handlePHPConfiguration(): void - { - $configuration = $this->getPHPConfiguration(); - - if (!empty($configuration['include_path'])) { - \ini_set( - 'include_path', - \implode(\PATH_SEPARATOR, $configuration['include_path']) . - \PATH_SEPARATOR . - \ini_get('include_path') - ); - } - - foreach ($configuration['ini'] as $name => $data) { - $value = $data['value']; - - if (\defined($value)) { - $value = (string) \constant($value); - } - - \ini_set($name, $value); - } - - foreach ($configuration['const'] as $name => $data) { - $value = $data['value']; - - if (!\defined($name)) { - \define($name, $value); - } - } - - foreach (['var', 'post', 'get', 'cookie', 'server', 'files', 'request'] as $array) { - /* - * @see https://github.com/sebastianbergmann/phpunit/issues/277 - */ - switch ($array) { - case 'var': - $target = &$GLOBALS; - - break; - - case 'server': - $target = &$_SERVER; - - break; - - default: - $target = &$GLOBALS['_' . \strtoupper($array)]; - - break; - } - - foreach ($configuration[$array] as $name => $data) { - $target[$name] = $data['value']; - } - } - - foreach ($configuration['env'] as $name => $data) { - $value = $data['value']; - $force = $data['force'] ?? false; - - if ($force || \getenv($name) === false) { - \putenv("{$name}={$value}"); - } - - $value = \getenv($name); - - if (!isset($_ENV[$name])) { - $_ENV[$name] = $value; - } - - if ($force === true) { - $_ENV[$name] = $value; - } - } - } - - /** - * Returns the PHPUnit configuration. - */ - public function getPHPUnitConfiguration(): array - { - $result = []; - $root = $this->document->documentElement; - - if ($root->hasAttribute('cacheTokens')) { - $result['cacheTokens'] = $this->getBoolean( - (string) $root->getAttribute('cacheTokens'), - false - ); - } - - if ($root->hasAttribute('columns')) { - $columns = (string) $root->getAttribute('columns'); - - if ($columns === 'max') { - $result['columns'] = 'max'; - } else { - $result['columns'] = $this->getInteger($columns, 80); - } - } - - if ($root->hasAttribute('colors')) { - /* only allow boolean for compatibility with previous versions - 'always' only allowed from command line */ - if ($this->getBoolean($root->getAttribute('colors'), false)) { - $result['colors'] = ResultPrinter::COLOR_AUTO; - } else { - $result['colors'] = ResultPrinter::COLOR_NEVER; - } - } - - /* - * @see https://github.com/sebastianbergmann/phpunit/issues/657 - */ - if ($root->hasAttribute('stderr')) { - $result['stderr'] = $this->getBoolean( - (string) $root->getAttribute('stderr'), - false - ); - } - - if ($root->hasAttribute('backupGlobals')) { - $result['backupGlobals'] = $this->getBoolean( - (string) $root->getAttribute('backupGlobals'), - false - ); - } - - if ($root->hasAttribute('backupStaticAttributes')) { - $result['backupStaticAttributes'] = $this->getBoolean( - (string) $root->getAttribute('backupStaticAttributes'), - false - ); - } - - if ($root->getAttribute('bootstrap')) { - $result['bootstrap'] = $this->toAbsolutePath( - (string) $root->getAttribute('bootstrap') - ); - } - - if ($root->hasAttribute('convertDeprecationsToExceptions')) { - $result['convertDeprecationsToExceptions'] = $this->getBoolean( - (string) $root->getAttribute('convertDeprecationsToExceptions'), - true - ); - } - - if ($root->hasAttribute('convertErrorsToExceptions')) { - $result['convertErrorsToExceptions'] = $this->getBoolean( - (string) $root->getAttribute('convertErrorsToExceptions'), - true - ); - } - - if ($root->hasAttribute('convertNoticesToExceptions')) { - $result['convertNoticesToExceptions'] = $this->getBoolean( - (string) $root->getAttribute('convertNoticesToExceptions'), - true - ); - } - - if ($root->hasAttribute('convertWarningsToExceptions')) { - $result['convertWarningsToExceptions'] = $this->getBoolean( - (string) $root->getAttribute('convertWarningsToExceptions'), - true - ); - } - - if ($root->hasAttribute('forceCoversAnnotation')) { - $result['forceCoversAnnotation'] = $this->getBoolean( - (string) $root->getAttribute('forceCoversAnnotation'), - false - ); - } - - if ($root->hasAttribute('disableCodeCoverageIgnore')) { - $result['disableCodeCoverageIgnore'] = $this->getBoolean( - (string) $root->getAttribute('disableCodeCoverageIgnore'), - false - ); - } - - if ($root->hasAttribute('processIsolation')) { - $result['processIsolation'] = $this->getBoolean( - (string) $root->getAttribute('processIsolation'), - false - ); - } - - if ($root->hasAttribute('stopOnDefect')) { - $result['stopOnDefect'] = $this->getBoolean( - (string) $root->getAttribute('stopOnDefect'), - false - ); - } - - if ($root->hasAttribute('stopOnError')) { - $result['stopOnError'] = $this->getBoolean( - (string) $root->getAttribute('stopOnError'), - false - ); - } - - if ($root->hasAttribute('stopOnFailure')) { - $result['stopOnFailure'] = $this->getBoolean( - (string) $root->getAttribute('stopOnFailure'), - false - ); - } - - if ($root->hasAttribute('stopOnWarning')) { - $result['stopOnWarning'] = $this->getBoolean( - (string) $root->getAttribute('stopOnWarning'), - false - ); - } - - if ($root->hasAttribute('stopOnIncomplete')) { - $result['stopOnIncomplete'] = $this->getBoolean( - (string) $root->getAttribute('stopOnIncomplete'), - false - ); - } - - if ($root->hasAttribute('stopOnRisky')) { - $result['stopOnRisky'] = $this->getBoolean( - (string) $root->getAttribute('stopOnRisky'), - false - ); - } - - if ($root->hasAttribute('stopOnSkipped')) { - $result['stopOnSkipped'] = $this->getBoolean( - (string) $root->getAttribute('stopOnSkipped'), - false - ); - } - - if ($root->hasAttribute('failOnWarning')) { - $result['failOnWarning'] = $this->getBoolean( - (string) $root->getAttribute('failOnWarning'), - false - ); - } - - if ($root->hasAttribute('failOnRisky')) { - $result['failOnRisky'] = $this->getBoolean( - (string) $root->getAttribute('failOnRisky'), - false - ); - } - - if ($root->hasAttribute('testSuiteLoaderClass')) { - $result['testSuiteLoaderClass'] = (string) $root->getAttribute( - 'testSuiteLoaderClass' - ); - } - - if ($root->hasAttribute('defaultTestSuite')) { - $result['defaultTestSuite'] = (string) $root->getAttribute( - 'defaultTestSuite' - ); - } - - if ($root->getAttribute('testSuiteLoaderFile')) { - $result['testSuiteLoaderFile'] = $this->toAbsolutePath( - (string) $root->getAttribute('testSuiteLoaderFile') - ); - } - - if ($root->hasAttribute('printerClass')) { - $result['printerClass'] = (string) $root->getAttribute( - 'printerClass' - ); - } - - if ($root->getAttribute('printerFile')) { - $result['printerFile'] = $this->toAbsolutePath( - (string) $root->getAttribute('printerFile') - ); - } - - if ($root->hasAttribute('beStrictAboutChangesToGlobalState')) { - $result['beStrictAboutChangesToGlobalState'] = $this->getBoolean( - (string) $root->getAttribute('beStrictAboutChangesToGlobalState'), - false - ); - } - - if ($root->hasAttribute('beStrictAboutOutputDuringTests')) { - $result['disallowTestOutput'] = $this->getBoolean( - (string) $root->getAttribute('beStrictAboutOutputDuringTests'), - false - ); - } - - if ($root->hasAttribute('beStrictAboutResourceUsageDuringSmallTests')) { - $result['beStrictAboutResourceUsageDuringSmallTests'] = $this->getBoolean( - (string) $root->getAttribute('beStrictAboutResourceUsageDuringSmallTests'), - false - ); - } - - if ($root->hasAttribute('beStrictAboutTestsThatDoNotTestAnything')) { - $result['reportUselessTests'] = $this->getBoolean( - (string) $root->getAttribute('beStrictAboutTestsThatDoNotTestAnything'), - true - ); - } - - if ($root->hasAttribute('beStrictAboutTodoAnnotatedTests')) { - $result['disallowTodoAnnotatedTests'] = $this->getBoolean( - (string) $root->getAttribute('beStrictAboutTodoAnnotatedTests'), - false - ); - } - - if ($root->hasAttribute('beStrictAboutCoversAnnotation')) { - $result['strictCoverage'] = $this->getBoolean( - (string) $root->getAttribute('beStrictAboutCoversAnnotation'), - false - ); - } - - if ($root->hasAttribute('defaultTimeLimit')) { - $result['defaultTimeLimit'] = $this->getInteger( - (string) $root->getAttribute('defaultTimeLimit'), - 1 - ); - } - - if ($root->hasAttribute('enforceTimeLimit')) { - $result['enforceTimeLimit'] = $this->getBoolean( - (string) $root->getAttribute('enforceTimeLimit'), - false - ); - } - - if ($root->hasAttribute('ignoreDeprecatedCodeUnitsFromCodeCoverage')) { - $result['ignoreDeprecatedCodeUnitsFromCodeCoverage'] = $this->getBoolean( - (string) $root->getAttribute('ignoreDeprecatedCodeUnitsFromCodeCoverage'), - false - ); - } - - if ($root->hasAttribute('timeoutForSmallTests')) { - $result['timeoutForSmallTests'] = $this->getInteger( - (string) $root->getAttribute('timeoutForSmallTests'), - 1 - ); - } - - if ($root->hasAttribute('timeoutForMediumTests')) { - $result['timeoutForMediumTests'] = $this->getInteger( - (string) $root->getAttribute('timeoutForMediumTests'), - 10 - ); - } - - if ($root->hasAttribute('timeoutForLargeTests')) { - $result['timeoutForLargeTests'] = $this->getInteger( - (string) $root->getAttribute('timeoutForLargeTests'), - 60 - ); - } - - if ($root->hasAttribute('reverseDefectList')) { - $result['reverseDefectList'] = $this->getBoolean( - (string) $root->getAttribute('reverseDefectList'), - false - ); - } - - if ($root->hasAttribute('verbose')) { - $result['verbose'] = $this->getBoolean( - (string) $root->getAttribute('verbose'), - false - ); - } - - if ($root->hasAttribute('registerMockObjectsFromTestArgumentsRecursively')) { - $result['registerMockObjectsFromTestArgumentsRecursively'] = $this->getBoolean( - (string) $root->getAttribute('registerMockObjectsFromTestArgumentsRecursively'), - false - ); - } - - if ($root->hasAttribute('extensionsDirectory')) { - $result['extensionsDirectory'] = $this->toAbsolutePath( - (string) $root->getAttribute( - 'extensionsDirectory' - ) - ); - } - - if ($root->hasAttribute('cacheResult')) { - $result['cacheResult'] = $this->getBoolean( - (string) $root->getAttribute('cacheResult'), - false - ); - } - - if ($root->hasAttribute('cacheResultFile')) { - $result['cacheResultFile'] = $this->toAbsolutePath( - (string) $root->getAttribute('cacheResultFile') - ); - } - - if ($root->hasAttribute('executionOrder')) { - foreach (\explode(',', $root->getAttribute('executionOrder')) as $order) { - switch ($order) { - case 'default': - $result['executionOrder'] = TestSuiteSorter::ORDER_DEFAULT; - $result['executionOrderDefects'] = TestSuiteSorter::ORDER_DEFAULT; - $result['resolveDependencies'] = false; - - break; - case 'reverse': - $result['executionOrder'] = TestSuiteSorter::ORDER_REVERSED; - - break; - case 'random': - $result['executionOrder'] = TestSuiteSorter::ORDER_RANDOMIZED; - - break; - case 'defects': - $result['executionOrderDefects'] = TestSuiteSorter::ORDER_DEFECTS_FIRST; - - break; - case 'depends': - $result['resolveDependencies'] = true; - - break; - } - } - } - - if ($root->hasAttribute('resolveDependencies')) { - $result['resolveDependencies'] = $this->getBoolean( - (string) $root->getAttribute('resolveDependencies'), - false - ); - } - - return $result; - } - - /** - * Returns the test suite configuration. - * - * @throws Exception - */ - public function getTestSuiteConfiguration(string $testSuiteFilter = ''): TestSuite - { - $testSuiteNodes = $this->xpath->query('testsuites/testsuite'); - - if ($testSuiteNodes->length === 0) { - $testSuiteNodes = $this->xpath->query('testsuite'); - } - - if ($testSuiteNodes->length === 1) { - return $this->getTestSuite($testSuiteNodes->item(0), $testSuiteFilter); - } - - $suite = new TestSuite; - - foreach ($testSuiteNodes as $testSuiteNode) { - $suite->addTestSuite( - $this->getTestSuite($testSuiteNode, $testSuiteFilter) - ); - } - - return $suite; - } - - /** - * Returns the test suite names from the configuration. - */ - public function getTestSuiteNames(): array - { - $names = []; - - foreach ($this->xpath->query('*/testsuite') as $node) { - /* @var DOMElement $node */ - $names[] = $node->getAttribute('name'); - } - - return $names; - } - - private function validateConfigurationAgainstSchema(): void - { - $original = \libxml_use_internal_errors(true); - $xsdFilename = __DIR__ . '/../../phpunit.xsd'; - - if (\defined('__PHPUNIT_PHAR_ROOT__')) { - $xsdFilename = __PHPUNIT_PHAR_ROOT__ . '/phpunit.xsd'; - } - - $this->document->schemaValidate($xsdFilename); - $this->errors = \libxml_get_errors(); - \libxml_clear_errors(); - \libxml_use_internal_errors($original); - } - - /** - * Collects and returns the configuration arguments from the PHPUnit - * XML configuration - */ - private function getConfigurationArguments(\DOMNodeList $nodes): array - { - $arguments = []; - - if ($nodes->length === 0) { - return $arguments; - } - - foreach ($nodes as $node) { - if (!$node instanceof DOMElement) { - continue; - } - - if ($node->tagName !== 'arguments') { - continue; - } - - foreach ($node->childNodes as $argument) { - if (!$argument instanceof DOMElement) { - continue; - } - - if ($argument->tagName === 'file' || $argument->tagName === 'directory') { - $arguments[] = $this->toAbsolutePath((string) $argument->textContent); - } else { - $arguments[] = Xml::xmlToVariable($argument); - } - } - } - - return $arguments; - } - - /** - * @throws \PHPUnit\Framework\Exception - */ - private function getTestSuite(DOMElement $testSuiteNode, string $testSuiteFilter = ''): TestSuite - { - if ($testSuiteNode->hasAttribute('name')) { - $suite = new TestSuite( - (string) $testSuiteNode->getAttribute('name') - ); - } else { - $suite = new TestSuite; - } - - $exclude = []; - - foreach ($testSuiteNode->getElementsByTagName('exclude') as $excludeNode) { - $excludeFile = (string) $excludeNode->textContent; - - if ($excludeFile) { - $exclude[] = $this->toAbsolutePath($excludeFile); - } - } - - $fileIteratorFacade = new FileIteratorFacade; - $testSuiteFilter = $testSuiteFilter ? \explode(',', $testSuiteFilter) : []; - - foreach ($testSuiteNode->getElementsByTagName('directory') as $directoryNode) { - /** @var DOMElement $directoryNode */ - if (!empty($testSuiteFilter) && !\in_array($directoryNode->parentNode->getAttribute('name'), $testSuiteFilter)) { - continue; - } - - $directory = (string) $directoryNode->textContent; - - if (empty($directory)) { - continue; - } - - $prefix = ''; - $suffix = 'Test.php'; - - if (!$this->satisfiesPhpVersion($directoryNode)) { - continue; - } - - if ($directoryNode->hasAttribute('prefix')) { - $prefix = (string) $directoryNode->getAttribute('prefix'); - } - - if ($directoryNode->hasAttribute('suffix')) { - $suffix = (string) $directoryNode->getAttribute('suffix'); - } - - $files = $fileIteratorFacade->getFilesAsArray( - $this->toAbsolutePath($directory), - $suffix, - $prefix, - $exclude - ); - - $suite->addTestFiles($files); - } - - foreach ($testSuiteNode->getElementsByTagName('file') as $fileNode) { - /** @var DOMElement $fileNode */ - if (!empty($testSuiteFilter) && !\in_array($fileNode->parentNode->getAttribute('name'), $testSuiteFilter)) { - continue; - } - - $file = (string) $fileNode->textContent; - - if (empty($file)) { - continue; - } - - $file = $fileIteratorFacade->getFilesAsArray( - $this->toAbsolutePath($file) - ); - - if (!isset($file[0])) { - continue; - } - - $file = $file[0]; - - if (!$this->satisfiesPhpVersion($fileNode)) { - continue; - } - - $suite->addTestFile($file); - } - - return $suite; - } - - private function satisfiesPhpVersion(DOMElement $node): bool - { - $phpVersion = \PHP_VERSION; - $phpVersionOperator = '>='; - - if ($node->hasAttribute('phpVersion')) { - $phpVersion = (string) $node->getAttribute('phpVersion'); - } - - if ($node->hasAttribute('phpVersionOperator')) { - $phpVersionOperator = (string) $node->getAttribute('phpVersionOperator'); - } - - return \version_compare(\PHP_VERSION, $phpVersion, $phpVersionOperator); - } - - /** - * if $value is 'false' or 'true', this returns the value that $value represents. - * Otherwise, returns $default, which may be a string in rare cases. - * See PHPUnit\Util\ConfigurationTest::testPHPConfigurationIsReadCorrectly - * - * @param bool|string $default - * - * @return bool|string - */ - private function getBoolean(string $value, $default) - { - if (\strtolower($value) === 'false') { - return false; - } - - if (\strtolower($value) === 'true') { - return true; - } - - return $default; - } - - private function getInteger(string $value, int $default): int - { - if (\is_numeric($value)) { - return (int) $value; - } - - return $default; - } - - private function readFilterDirectories(string $query): array - { - $directories = []; - - foreach ($this->xpath->query($query) as $directoryNode) { - /** @var DOMElement $directoryNode */ - $directoryPath = (string) $directoryNode->textContent; - - if (!$directoryPath) { - continue; - } - - $prefix = ''; - $suffix = '.php'; - $group = 'DEFAULT'; - - if ($directoryNode->hasAttribute('prefix')) { - $prefix = (string) $directoryNode->getAttribute('prefix'); - } - - if ($directoryNode->hasAttribute('suffix')) { - $suffix = (string) $directoryNode->getAttribute('suffix'); - } - - if ($directoryNode->hasAttribute('group')) { - $group = (string) $directoryNode->getAttribute('group'); - } - - $directories[] = [ - 'path' => $this->toAbsolutePath($directoryPath), - 'prefix' => $prefix, - 'suffix' => $suffix, - 'group' => $group, - ]; - } - - return $directories; - } - - /** - * @return string[] - */ - private function readFilterFiles(string $query): array - { - $files = []; - - foreach ($this->xpath->query($query) as $file) { - $filePath = (string) $file->textContent; - - if ($filePath) { - $files[] = $this->toAbsolutePath($filePath); - } - } - - return $files; - } - - private function toAbsolutePath(string $path, bool $useIncludePath = false): string - { - $path = \trim($path); - - if ($path[0] === '/') { - return $path; - } - - // Matches the following on Windows: - // - \\NetworkComputer\Path - // - \\.\D: - // - \\.\c: - // - C:\Windows - // - C:\windows - // - C:/windows - // - c:/windows - if (\defined('PHP_WINDOWS_VERSION_BUILD') && - ($path[0] === '\\' || (\strlen($path) >= 3 && \preg_match('#^[A-Z]\:[/\\\]#i', \substr($path, 0, 3))))) { - return $path; - } - - if (\strpos($path, '://') !== false) { - return $path; - } - - $file = \dirname($this->filename) . \DIRECTORY_SEPARATOR . $path; - - if ($useIncludePath && !\file_exists($file)) { - $includePathFile = \stream_resolve_include_path($path); - - if ($includePathFile) { - $file = $includePathFile; - } - } - - return $file; - } - - private function parseGroupConfiguration(string $root): array - { - $groups = [ - 'include' => [], - 'exclude' => [], - ]; - - foreach ($this->xpath->query($root . '/include/group') as $group) { - $groups['include'][] = (string) $group->textContent; - } - - foreach ($this->xpath->query($root . '/exclude/group') as $group) { - $groups['exclude'][] = (string) $group->textContent; - } - - return $groups; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Util/ConfigurationGenerator.php b/paragonik-backend/vendor/phpunit/phpunit/src/Util/ConfigurationGenerator.php deleted file mode 100644 index 30bb128..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Util/ConfigurationGenerator.php +++ /dev/null @@ -1,60 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Util; - -final class ConfigurationGenerator -{ - /** - * @var string - */ - private const TEMPLATE = << - - - - {tests_directory} - - - - - - {src_directory} - - - - -EOT; - - public function generateDefaultConfiguration(string $phpunitVersion, string $bootstrapScript, string $testsDirectory, string $srcDirectory): string - { - return \str_replace( - [ - '{phpunit_version}', - '{bootstrap_script}', - '{tests_directory}', - '{src_directory}', - ], - [ - $phpunitVersion, - $bootstrapScript, - $testsDirectory, - $srcDirectory, - ], - self::TEMPLATE - ); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Util/ErrorHandler.php b/paragonik-backend/vendor/phpunit/phpunit/src/Util/ErrorHandler.php deleted file mode 100644 index e71cedb..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Util/ErrorHandler.php +++ /dev/null @@ -1,106 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Util; - -use PHPUnit\Framework\Error\Deprecated; -use PHPUnit\Framework\Error\Error; -use PHPUnit\Framework\Error\Notice; -use PHPUnit\Framework\Error\Warning; - -/** - * Error handler that converts PHP errors and warnings to exceptions. - */ -final class ErrorHandler -{ - private static $errorStack = []; - - /** - * Returns the error stack. - */ - public static function getErrorStack(): array - { - return self::$errorStack; - } - - public static function handleError(int $errorNumber, string $errorString, string $errorFile, int $errorLine): bool - { - if (!($errorNumber & \error_reporting())) { - return false; - } - - self::$errorStack[] = [$errorNumber, $errorString, $errorFile, $errorLine]; - - $trace = \debug_backtrace(); - \array_shift($trace); - - foreach ($trace as $frame) { - if ($frame['function'] === '__toString') { - return false; - } - } - - if ($errorNumber === \E_NOTICE || $errorNumber === \E_USER_NOTICE || $errorNumber === \E_STRICT) { - if (Notice::$enabled !== true) { - return false; - } - - $exception = Notice::class; - } elseif ($errorNumber === \E_WARNING || $errorNumber === \E_USER_WARNING) { - if (Warning::$enabled !== true) { - return false; - } - - $exception = Warning::class; - } elseif ($errorNumber === \E_DEPRECATED || $errorNumber === \E_USER_DEPRECATED) { - if (Deprecated::$enabled !== true) { - return false; - } - - $exception = Deprecated::class; - } else { - $exception = Error::class; - } - - throw new $exception($errorString, $errorNumber, $errorFile, $errorLine); - } - - /** - * Registers an error handler and returns a function that will restore - * the previous handler when invoked - * - * @param int $severity PHP predefined error constant - * - * @throws \Exception if event of specified severity is emitted - */ - public static function handleErrorOnce($severity = \E_WARNING): callable - { - $terminator = function () { - static $expired = false; - - if (!$expired) { - $expired = true; - - return \restore_error_handler(); - } - }; - - \set_error_handler( - function ($errorNumber, $errorString) use ($severity) { - if ($errorNumber === $severity) { - return; - } - - return false; - } - ); - - return $terminator; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Util/FileLoader.php b/paragonik-backend/vendor/phpunit/phpunit/src/Util/FileLoader.php deleted file mode 100644 index cad4bdc..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Util/FileLoader.php +++ /dev/null @@ -1,68 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Util; - -use PHPUnit\Framework\Exception; - -/** - * Utility methods to load PHP sourcefiles. - */ -final class FileLoader -{ - /** - * Checks if a PHP sourcecode file is readable. The sourcecode file is loaded through the load() method. - * - * As a fallback, PHP looks in the directory of the file executing the stream_resolve_include_path function. - * We do not want to load the Test.php file here, so skip it if it found that. - * PHP prioritizes the include_path setting, so if the current directory is in there, it will first look in the - * current working directory. - * - * @throws Exception - */ - public static function checkAndLoad(string $filename): string - { - $includePathFilename = \stream_resolve_include_path($filename); - $localFile = __DIR__ . \DIRECTORY_SEPARATOR . $filename; - - /** - * @see https://github.com/sebastianbergmann/phpunit/pull/2751 - */ - $isReadable = @\fopen($includePathFilename, 'r') !== false; - - if (!$includePathFilename || !$isReadable || $includePathFilename === $localFile) { - throw new Exception( - \sprintf('Cannot open file "%s".' . "\n", $filename) - ); - } - - self::load($includePathFilename); - - return $includePathFilename; - } - - /** - * Loads a PHP sourcefile. - */ - public static function load(string $filename): void - { - $oldVariableNames = \array_keys(\get_defined_vars()); - - include_once $filename; - - $newVariables = \get_defined_vars(); - $newVariableNames = \array_diff(\array_keys($newVariables), $oldVariableNames); - - foreach ($newVariableNames as $variableName) { - if ($variableName !== 'oldVariableNames') { - $GLOBALS[$variableName] = $newVariables[$variableName]; - } - } - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Util/Filesystem.php b/paragonik-backend/vendor/phpunit/phpunit/src/Util/Filesystem.php deleted file mode 100644 index 068a3b0..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Util/Filesystem.php +++ /dev/null @@ -1,35 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Util; - -/** - * Filesystem helpers. - */ -final class Filesystem -{ - /** - * Maps class names to source file names: - * - PEAR CS: Foo_Bar_Baz -> Foo/Bar/Baz.php - * - Namespace: Foo\Bar\Baz -> Foo/Bar/Baz.php - */ - public static function classNameToFilename(string $className): string - { - return \str_replace( - ['_', '\\'], - \DIRECTORY_SEPARATOR, - $className - ) . '.php'; - } - - public static function createDirectory(string $directory): bool - { - return !(!\is_dir($directory) && !@\mkdir($directory, 0777, true) && !\is_dir($directory)); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Util/Filter.php b/paragonik-backend/vendor/phpunit/phpunit/src/Util/Filter.php deleted file mode 100644 index e57055b..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Util/Filter.php +++ /dev/null @@ -1,83 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Util; - -use PHPUnit\Framework\Exception; -use PHPUnit\Framework\SyntheticError; - -final class Filter -{ - public static function getFilteredStacktrace(\Throwable $t): string - { - $prefix = false; - $script = \realpath($GLOBALS['_SERVER']['SCRIPT_NAME']); - - if (\defined('__PHPUNIT_PHAR_ROOT__')) { - $prefix = __PHPUNIT_PHAR_ROOT__; - } - - $filteredStacktrace = ''; - - if ($t instanceof SyntheticError) { - $eTrace = $t->getSyntheticTrace(); - $eFile = $t->getSyntheticFile(); - $eLine = $t->getSyntheticLine(); - } elseif ($t instanceof Exception) { - $eTrace = $t->getSerializableTrace(); - $eFile = $t->getFile(); - $eLine = $t->getLine(); - } else { - if ($t->getPrevious()) { - $t = $t->getPrevious(); - } - - $eTrace = $t->getTrace(); - $eFile = $t->getFile(); - $eLine = $t->getLine(); - } - - if (!self::frameExists($eTrace, $eFile, $eLine)) { - \array_unshift( - $eTrace, - ['file' => $eFile, 'line' => $eLine] - ); - } - - $blacklist = new Blacklist; - - foreach ($eTrace as $frame) { - if (isset($frame['file']) && \is_file($frame['file']) && - (empty($GLOBALS['__PHPUNIT_ISOLATION_BLACKLIST']) || !\in_array($frame['file'], $GLOBALS['__PHPUNIT_ISOLATION_BLACKLIST'])) && - !$blacklist->isBlacklisted($frame['file']) && - ($prefix === false || \strpos($frame['file'], $prefix) !== 0) && - $frame['file'] !== $script) { - $filteredStacktrace .= \sprintf( - "%s:%s\n", - $frame['file'], - $frame['line'] ?? '?' - ); - } - } - - return $filteredStacktrace; - } - - private static function frameExists(array $trace, string $file, int $line): bool - { - foreach ($trace as $frame) { - if (isset($frame['file']) && $frame['file'] === $file && - isset($frame['line']) && $frame['line'] === $line) { - return true; - } - } - - return false; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Util/Getopt.php b/paragonik-backend/vendor/phpunit/phpunit/src/Util/Getopt.php deleted file mode 100644 index 71c9fd5..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Util/Getopt.php +++ /dev/null @@ -1,183 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Util; - -use PHPUnit\Framework\Exception; - -/** - * Command-line options parsing class. - */ -final class Getopt -{ - /** - * @throws Exception - */ - public static function getopt(array $args, string $short_options, array $long_options = null): array - { - if (empty($args)) { - return [[], []]; - } - - $opts = []; - $non_opts = []; - - if ($long_options) { - \sort($long_options); - } - - if (isset($args[0][0]) && $args[0][0] !== '-') { - \array_shift($args); - } - - \reset($args); - - $args = \array_map('trim', $args); - - /* @noinspection ComparisonOperandsOrderInspection */ - while (false !== $arg = \current($args)) { - $i = \key($args); - \next($args); - - if ($arg === '') { - continue; - } - - if ($arg === '--') { - $non_opts = \array_merge($non_opts, \array_slice($args, $i + 1)); - - break; - } - - if ($arg[0] !== '-' || (\strlen($arg) > 1 && $arg[1] === '-' && !$long_options)) { - $non_opts[] = $args[$i]; - - continue; - } - - if (\strlen($arg) > 1 && $arg[1] === '-') { - self::parseLongOption( - \substr($arg, 2), - $long_options, - $opts, - $args - ); - } else { - self::parseShortOption( - \substr($arg, 1), - $short_options, - $opts, - $args - ); - } - } - - return [$opts, $non_opts]; - } - - /** - * @throws Exception - */ - private static function parseShortOption(string $arg, string $short_options, array &$opts, array &$args): void - { - $argLen = \strlen($arg); - - for ($i = 0; $i < $argLen; $i++) { - $opt = $arg[$i]; - $opt_arg = null; - - if ($arg[$i] === ':' || ($spec = \strstr($short_options, $opt)) === false) { - throw new Exception( - "unrecognized option -- $opt" - ); - } - - if (\strlen($spec) > 1 && $spec[1] === ':') { - if ($i + 1 < $argLen) { - $opts[] = [$opt, \substr($arg, $i + 1)]; - - break; - } - - if (!(\strlen($spec) > 2 && $spec[2] === ':')) { - /* @noinspection ComparisonOperandsOrderInspection */ - if (false === $opt_arg = \current($args)) { - throw new Exception( - "option requires an argument -- $opt" - ); - } - - \next($args); - } - } - - $opts[] = [$opt, $opt_arg]; - } - } - - /** - * @throws Exception - */ - private static function parseLongOption(string $arg, array $long_options, array &$opts, array &$args): void - { - $count = \count($long_options); - $list = \explode('=', $arg); - $opt = $list[0]; - $opt_arg = null; - - if (\count($list) > 1) { - $opt_arg = $list[1]; - } - - $opt_len = \strlen($opt); - - for ($i = 0; $i < $count; $i++) { - $long_opt = $long_options[$i]; - $opt_start = \substr($long_opt, 0, $opt_len); - - if ($opt_start !== $opt) { - continue; - } - - $opt_rest = \substr($long_opt, $opt_len); - - if ($opt_rest !== '' && $i + 1 < $count && $opt[0] !== '=' && - \strpos($long_options[$i + 1], $opt) === 0) { - throw new Exception( - "option --$opt is ambiguous" - ); - } - - if (\substr($long_opt, -1) === '=') { - /* @noinspection StrlenInEmptyStringCheckContextInspection */ - if (\substr($long_opt, -2) !== '==' && !\strlen($opt_arg)) { - /* @noinspection ComparisonOperandsOrderInspection */ - if (false === $opt_arg = \current($args)) { - throw new Exception( - "option --$opt requires an argument" - ); - } - - \next($args); - } - } elseif ($opt_arg) { - throw new Exception( - "option --$opt doesn't allow an argument" - ); - } - - $full_option = '--' . \preg_replace('/={1,2}$/', '', $long_opt); - $opts[] = [$full_option, $opt_arg]; - - return; - } - - throw new Exception("unrecognized option --$opt"); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Util/GlobalState.php b/paragonik-backend/vendor/phpunit/phpunit/src/Util/GlobalState.php deleted file mode 100644 index 69c151a..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Util/GlobalState.php +++ /dev/null @@ -1,172 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Util; - -use Closure; - -final class GlobalState -{ - /** - * @var string[] - */ - private const SUPER_GLOBAL_ARRAYS = [ - '_ENV', - '_POST', - '_GET', - '_COOKIE', - '_SERVER', - '_FILES', - '_REQUEST', - ]; - - public static function getIncludedFilesAsString(): string - { - return static::processIncludedFilesAsString(\get_included_files()); - } - - /** - * @param string[] $files - */ - public static function processIncludedFilesAsString(array $files): string - { - $blacklist = new Blacklist; - $prefix = false; - $result = ''; - - if (\defined('__PHPUNIT_PHAR__')) { - $prefix = 'phar://' . __PHPUNIT_PHAR__ . '/'; - } - - for ($i = \count($files) - 1; $i > 0; $i--) { - $file = $files[$i]; - - if (!empty($GLOBALS['__PHPUNIT_ISOLATION_BLACKLIST']) && - \in_array($file, $GLOBALS['__PHPUNIT_ISOLATION_BLACKLIST'])) { - continue; - } - - if ($prefix !== false && \strpos($file, $prefix) === 0) { - continue; - } - - // Skip virtual file system protocols - if (\preg_match('/^(vfs|phpvfs[a-z0-9]+):/', $file)) { - continue; - } - - if (!$blacklist->isBlacklisted($file) && \is_file($file)) { - $result = 'require_once \'' . $file . "';\n" . $result; - } - } - - return $result; - } - - public static function getIniSettingsAsString(): string - { - $result = ''; - $iniSettings = \ini_get_all(null, false); - - foreach ($iniSettings as $key => $value) { - $result .= \sprintf( - '@ini_set(%s, %s);' . "\n", - self::exportVariable($key), - self::exportVariable($value) - ); - } - - return $result; - } - - public static function getConstantsAsString(): string - { - $constants = \get_defined_constants(true); - $result = ''; - - if (isset($constants['user'])) { - foreach ($constants['user'] as $name => $value) { - $result .= \sprintf( - 'if (!defined(\'%s\')) define(\'%s\', %s);' . "\n", - $name, - $name, - self::exportVariable($value) - ); - } - } - - return $result; - } - - public static function getGlobalsAsString(): string - { - $result = ''; - - foreach (self::SUPER_GLOBAL_ARRAYS as $superGlobalArray) { - if (isset($GLOBALS[$superGlobalArray]) && \is_array($GLOBALS[$superGlobalArray])) { - foreach (\array_keys($GLOBALS[$superGlobalArray]) as $key) { - if ($GLOBALS[$superGlobalArray][$key] instanceof Closure) { - continue; - } - - $result .= \sprintf( - '$GLOBALS[\'%s\'][\'%s\'] = %s;' . "\n", - $superGlobalArray, - $key, - self::exportVariable($GLOBALS[$superGlobalArray][$key]) - ); - } - } - } - - $blacklist = self::SUPER_GLOBAL_ARRAYS; - $blacklist[] = 'GLOBALS'; - - foreach (\array_keys($GLOBALS) as $key) { - if (!$GLOBALS[$key] instanceof Closure && !\in_array($key, $blacklist, true)) { - $result .= \sprintf( - '$GLOBALS[\'%s\'] = %s;' . "\n", - $key, - self::exportVariable($GLOBALS[$key]) - ); - } - } - - return $result; - } - - private static function exportVariable($variable): string - { - if (\is_scalar($variable) || $variable === null || - (\is_array($variable) && self::arrayOnlyContainsScalars($variable))) { - return \var_export($variable, true); - } - - return 'unserialize(' . \var_export(\serialize($variable), true) . ')'; - } - - private static function arrayOnlyContainsScalars(array $array): bool - { - $result = true; - - foreach ($array as $element) { - if (\is_array($element)) { - $result = self::arrayOnlyContainsScalars($element); - } elseif (!\is_scalar($element) && $element !== null) { - $result = false; - } - - if ($result === false) { - break; - } - } - - return $result; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Util/InvalidArgumentHelper.php b/paragonik-backend/vendor/phpunit/phpunit/src/Util/InvalidArgumentHelper.php deleted file mode 100644 index 1c4ef50..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Util/InvalidArgumentHelper.php +++ /dev/null @@ -1,35 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Util; - -use PHPUnit\Framework\Exception; - -/** - * Factory for PHPUnit\Framework\Exception objects that are used to describe - * invalid arguments passed to a function or method. - */ -final class InvalidArgumentHelper -{ - public static function factory(int $argument, string $type, $value = null): Exception - { - $stack = \debug_backtrace(); - - return new Exception( - \sprintf( - 'Argument #%d%sof %s::%s() must be a %s', - $argument, - $value !== null ? ' (' . \gettype($value) . '#' . $value . ')' : ' (No Value) ', - $stack[1]['class'], - $stack[1]['function'], - $type - ) - ); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Util/Json.php b/paragonik-backend/vendor/phpunit/phpunit/src/Util/Json.php deleted file mode 100644 index c881191..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Util/Json.php +++ /dev/null @@ -1,83 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Util; - -use PHPUnit\Framework\Exception; - -final class Json -{ - /** - * Prettify json string - * - * @throws \PHPUnit\Framework\Exception - */ - public static function prettify(string $json): string - { - $decodedJson = \json_decode($json, true); - - if (\json_last_error()) { - throw new Exception( - 'Cannot prettify invalid json' - ); - } - - return \json_encode($decodedJson, \JSON_PRETTY_PRINT | \JSON_UNESCAPED_SLASHES); - } - - /* - * To allow comparison of JSON strings, first process them into a consistent - * format so that they can be compared as strings. - * @return array ($error, $canonicalized_json) The $error parameter is used - * to indicate an error decoding the json. This is used to avoid ambiguity - * with JSON strings consisting entirely of 'null' or 'false'. - */ - public static function canonicalize(string $json): array - { - $decodedJson = \json_decode($json); - - if (\json_last_error()) { - return [true, null]; - } - - self::recursiveSort($decodedJson); - - $reencodedJson = \json_encode($decodedJson); - - return [false, $reencodedJson]; - } - - /* - * JSON object keys are unordered while PHP array keys are ordered. - * Sort all array keys to ensure both the expected and actual values have - * their keys in the same order. - */ - private static function recursiveSort(&$json): void - { - if (\is_array($json) === false) { - // If the object is not empty, change it to an associative array - // so we can sort the keys (and we will still re-encode it - // correctly, since PHP encodes associative arrays as JSON objects.) - // But EMPTY objects MUST remain empty objects. (Otherwise we will - // re-encode it as a JSON array rather than a JSON object.) - // See #2919. - if (\is_object($json) && \count((array) $json) > 0) { - $json = (array) $json; - } else { - return; - } - } - - \ksort($json); - - foreach ($json as $key => &$value) { - self::recursiveSort($value); - } - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Util/Log/JUnit.php b/paragonik-backend/vendor/phpunit/phpunit/src/Util/Log/JUnit.php deleted file mode 100644 index 9320c92..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Util/Log/JUnit.php +++ /dev/null @@ -1,432 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Util\Log; - -use DOMDocument; -use DOMElement; -use PHPUnit\Framework\AssertionFailedError; -use PHPUnit\Framework\ExceptionWrapper; -use PHPUnit\Framework\SelfDescribing; -use PHPUnit\Framework\Test; -use PHPUnit\Framework\TestFailure; -use PHPUnit\Framework\TestListener; -use PHPUnit\Framework\TestSuite; -use PHPUnit\Framework\Warning; -use PHPUnit\Util\Filter; -use PHPUnit\Util\Printer; -use PHPUnit\Util\Xml; -use ReflectionClass; -use ReflectionException; - -/** - * A TestListener that generates a logfile of the test execution in XML markup. - * - * The XML markup used is the same as the one that is used by the JUnit Ant task. - */ -class JUnit extends Printer implements TestListener -{ - /** - * @var DOMDocument - */ - protected $document; - - /** - * @var DOMElement - */ - protected $root; - - /** - * @var bool - */ - protected $reportRiskyTests = false; - - /** - * @var bool - */ - protected $writeDocument = true; - - /** - * @var DOMElement[] - */ - protected $testSuites = []; - - /** - * @var int[] - */ - protected $testSuiteTests = [0]; - - /** - * @var int[] - */ - protected $testSuiteAssertions = [0]; - - /** - * @var int[] - */ - protected $testSuiteErrors = [0]; - - /** - * @var int[] - */ - protected $testSuiteFailures = [0]; - - /** - * @var int[] - */ - protected $testSuiteSkipped = [0]; - - /** - * @var int[] - */ - protected $testSuiteTimes = [0]; - - /** - * @var int - */ - protected $testSuiteLevel = 0; - - /** - * @var DOMElement - */ - protected $currentTestCase; - - /** - * Constructor. - * - * @param null|mixed $out - * - * @throws \PHPUnit\Framework\Exception - */ - public function __construct($out = null, bool $reportRiskyTests = false) - { - $this->document = new DOMDocument('1.0', 'UTF-8'); - $this->document->formatOutput = true; - - $this->root = $this->document->createElement('testsuites'); - $this->document->appendChild($this->root); - - parent::__construct($out); - - $this->reportRiskyTests = $reportRiskyTests; - } - - /** - * Flush buffer and close output. - */ - public function flush(): void - { - if ($this->writeDocument === true) { - $this->write($this->getXML()); - } - - parent::flush(); - } - - /** - * An error occurred. - * - * @throws \InvalidArgumentException - */ - public function addError(Test $test, \Throwable $t, float $time): void - { - $this->doAddFault($test, $t, $time, 'error'); - $this->testSuiteErrors[$this->testSuiteLevel]++; - } - - /** - * A warning occurred. - * - * @throws \InvalidArgumentException - */ - public function addWarning(Test $test, Warning $e, float $time): void - { - $this->doAddFault($test, $e, $time, 'warning'); - $this->testSuiteFailures[$this->testSuiteLevel]++; - } - - /** - * A failure occurred. - * - * @throws \InvalidArgumentException - */ - public function addFailure(Test $test, AssertionFailedError $e, float $time): void - { - $this->doAddFault($test, $e, $time, 'failure'); - $this->testSuiteFailures[$this->testSuiteLevel]++; - } - - /** - * Incomplete test. - */ - public function addIncompleteTest(Test $test, \Throwable $t, float $time): void - { - $this->doAddSkipped($test); - } - - /** - * Risky test. - */ - public function addRiskyTest(Test $test, \Throwable $t, float $time): void - { - if (!$this->reportRiskyTests || $this->currentTestCase === null) { - return; - } - - $error = $this->document->createElement( - 'error', - Xml::prepareString( - "Risky Test\n" . - Filter::getFilteredStacktrace($t) - ) - ); - - $error->setAttribute('type', \get_class($t)); - - $this->currentTestCase->appendChild($error); - - $this->testSuiteErrors[$this->testSuiteLevel]++; - } - - /** - * Skipped test. - */ - public function addSkippedTest(Test $test, \Throwable $t, float $time): void - { - $this->doAddSkipped($test); - } - - /** - * A testsuite started. - */ - public function startTestSuite(TestSuite $suite): void - { - $testSuite = $this->document->createElement('testsuite'); - $testSuite->setAttribute('name', $suite->getName()); - - if (\class_exists($suite->getName(), false)) { - try { - $class = new ReflectionClass($suite->getName()); - - $testSuite->setAttribute('file', $class->getFileName()); - } catch (ReflectionException $e) { - } - } - - if ($this->testSuiteLevel > 0) { - $this->testSuites[$this->testSuiteLevel]->appendChild($testSuite); - } else { - $this->root->appendChild($testSuite); - } - - $this->testSuiteLevel++; - $this->testSuites[$this->testSuiteLevel] = $testSuite; - $this->testSuiteTests[$this->testSuiteLevel] = 0; - $this->testSuiteAssertions[$this->testSuiteLevel] = 0; - $this->testSuiteErrors[$this->testSuiteLevel] = 0; - $this->testSuiteFailures[$this->testSuiteLevel] = 0; - $this->testSuiteSkipped[$this->testSuiteLevel] = 0; - $this->testSuiteTimes[$this->testSuiteLevel] = 0; - } - - /** - * A testsuite ended. - */ - public function endTestSuite(TestSuite $suite): void - { - $this->testSuites[$this->testSuiteLevel]->setAttribute( - 'tests', - $this->testSuiteTests[$this->testSuiteLevel] - ); - - $this->testSuites[$this->testSuiteLevel]->setAttribute( - 'assertions', - $this->testSuiteAssertions[$this->testSuiteLevel] - ); - - $this->testSuites[$this->testSuiteLevel]->setAttribute( - 'errors', - $this->testSuiteErrors[$this->testSuiteLevel] - ); - - $this->testSuites[$this->testSuiteLevel]->setAttribute( - 'failures', - $this->testSuiteFailures[$this->testSuiteLevel] - ); - - $this->testSuites[$this->testSuiteLevel]->setAttribute( - 'skipped', - $this->testSuiteSkipped[$this->testSuiteLevel] - ); - - $this->testSuites[$this->testSuiteLevel]->setAttribute( - 'time', - \sprintf('%F', $this->testSuiteTimes[$this->testSuiteLevel]) - ); - - if ($this->testSuiteLevel > 1) { - $this->testSuiteTests[$this->testSuiteLevel - 1] += $this->testSuiteTests[$this->testSuiteLevel]; - $this->testSuiteAssertions[$this->testSuiteLevel - 1] += $this->testSuiteAssertions[$this->testSuiteLevel]; - $this->testSuiteErrors[$this->testSuiteLevel - 1] += $this->testSuiteErrors[$this->testSuiteLevel]; - $this->testSuiteFailures[$this->testSuiteLevel - 1] += $this->testSuiteFailures[$this->testSuiteLevel]; - $this->testSuiteSkipped[$this->testSuiteLevel - 1] += $this->testSuiteSkipped[$this->testSuiteLevel]; - $this->testSuiteTimes[$this->testSuiteLevel - 1] += $this->testSuiteTimes[$this->testSuiteLevel]; - } - - $this->testSuiteLevel--; - } - - /** - * A test started. - * - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - * @throws ReflectionException - */ - public function startTest(Test $test): void - { - $usesDataprovider = false; - - if (\method_exists($test, 'usesDataProvider')) { - $usesDataprovider = $test->usesDataProvider(); - } - - $testCase = $this->document->createElement('testcase'); - $testCase->setAttribute('name', $test->getName()); - - $class = new ReflectionClass($test); - $methodName = $test->getName(!$usesDataprovider); - - if ($class->hasMethod($methodName)) { - $method = $class->getMethod($methodName); - - $testCase->setAttribute('class', $class->getName()); - $testCase->setAttribute('classname', \str_replace('\\', '.', $class->getName())); - $testCase->setAttribute('file', $class->getFileName()); - $testCase->setAttribute('line', $method->getStartLine()); - } - - $this->currentTestCase = $testCase; - } - - /** - * A test ended. - */ - public function endTest(Test $test, float $time): void - { - $numAssertions = 0; - - if (\method_exists($test, 'getNumAssertions')) { - $numAssertions = $test->getNumAssertions(); - } - - $this->testSuiteAssertions[$this->testSuiteLevel] += $numAssertions; - - $this->currentTestCase->setAttribute( - 'assertions', - $numAssertions - ); - - $this->currentTestCase->setAttribute( - 'time', - \sprintf('%F', $time) - ); - - $this->testSuites[$this->testSuiteLevel]->appendChild( - $this->currentTestCase - ); - - $this->testSuiteTests[$this->testSuiteLevel]++; - $this->testSuiteTimes[$this->testSuiteLevel] += $time; - - $testOutput = ''; - - if (\method_exists($test, 'hasOutput') && \method_exists($test, 'getActualOutput')) { - $testOutput = $test->hasOutput() ? $test->getActualOutput() : ''; - } - - if (!empty($testOutput)) { - $systemOut = $this->document->createElement( - 'system-out', - Xml::prepareString($testOutput) - ); - - $this->currentTestCase->appendChild($systemOut); - } - - $this->currentTestCase = null; - } - - /** - * Returns the XML as a string. - */ - public function getXML(): string - { - return $this->document->saveXML(); - } - - /** - * Enables or disables the writing of the document - * in flush(). - * - * This is a "hack" needed for the integration of - * PHPUnit with Phing. - */ - public function setWriteDocument(/*bool*/ $flag): void - { - if (\is_bool($flag)) { - $this->writeDocument = $flag; - } - } - - /** - * Method which generalizes addError() and addFailure() - * - * @throws \InvalidArgumentException - */ - private function doAddFault(Test $test, \Throwable $t, float $time, $type): void - { - if ($this->currentTestCase === null) { - return; - } - - if ($test instanceof SelfDescribing) { - $buffer = $test->toString() . "\n"; - } else { - $buffer = ''; - } - - $buffer .= TestFailure::exceptionToString($t) . "\n" . - Filter::getFilteredStacktrace($t); - - $fault = $this->document->createElement( - $type, - Xml::prepareString($buffer) - ); - - if ($t instanceof ExceptionWrapper) { - $fault->setAttribute('type', $t->getClassName()); - } else { - $fault->setAttribute('type', \get_class($t)); - } - - $this->currentTestCase->appendChild($fault); - } - - private function doAddSkipped(Test $test): void - { - if ($this->currentTestCase === null) { - return; - } - - $skipped = $this->document->createElement('skipped'); - $this->currentTestCase->appendChild($skipped); - - $this->testSuiteSkipped[$this->testSuiteLevel]++; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Util/Log/TeamCity.php b/paragonik-backend/vendor/phpunit/phpunit/src/Util/Log/TeamCity.php deleted file mode 100644 index 8958ef7..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Util/Log/TeamCity.php +++ /dev/null @@ -1,391 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Util\Log; - -use PHPUnit\Framework\AssertionFailedError; -use PHPUnit\Framework\ExceptionWrapper; -use PHPUnit\Framework\ExpectationFailedException; -use PHPUnit\Framework\Test; -use PHPUnit\Framework\TestCase; -use PHPUnit\Framework\TestFailure; -use PHPUnit\Framework\TestResult; -use PHPUnit\Framework\TestSuite; -use PHPUnit\Framework\Warning; -use PHPUnit\TextUI\ResultPrinter; -use PHPUnit\Util\Filter; -use ReflectionClass; -use SebastianBergmann\Comparator\ComparisonFailure; - -/** - * A TestListener that generates a logfile of the test execution using the - * TeamCity format (for use with PhpStorm, for instance). - */ -class TeamCity extends ResultPrinter -{ - /** - * @var bool - */ - private $isSummaryTestCountPrinted = false; - - /** - * @var string - */ - private $startedTestName; - - /** - * @var false|int - */ - private $flowId; - - public function printResult(TestResult $result): void - { - $this->printHeader(); - $this->printFooter($result); - } - - /** - * An error occurred. - * - * @throws \InvalidArgumentException - */ - public function addError(Test $test, \Throwable $t, float $time): void - { - $this->printEvent( - 'testFailed', - [ - 'name' => $test->getName(), - 'message' => self::getMessage($t), - 'details' => self::getDetails($t), - 'duration' => self::toMilliseconds($time), - ] - ); - } - - /** - * A warning occurred. - * - * @throws \InvalidArgumentException - */ - public function addWarning(Test $test, Warning $e, float $time): void - { - $this->printEvent( - 'testFailed', - [ - 'name' => $test->getName(), - 'message' => self::getMessage($e), - 'details' => self::getDetails($e), - 'duration' => self::toMilliseconds($time), - ] - ); - } - - /** - * A failure occurred. - * - * @throws \InvalidArgumentException - */ - public function addFailure(Test $test, AssertionFailedError $e, float $time): void - { - $parameters = [ - 'name' => $test->getName(), - 'message' => self::getMessage($e), - 'details' => self::getDetails($e), - 'duration' => self::toMilliseconds($time), - ]; - - if ($e instanceof ExpectationFailedException) { - $comparisonFailure = $e->getComparisonFailure(); - - if ($comparisonFailure instanceof ComparisonFailure) { - $expectedString = $comparisonFailure->getExpectedAsString(); - - if ($expectedString === null || empty($expectedString)) { - $expectedString = self::getPrimitiveValueAsString($comparisonFailure->getExpected()); - } - - $actualString = $comparisonFailure->getActualAsString(); - - if ($actualString === null || empty($actualString)) { - $actualString = self::getPrimitiveValueAsString($comparisonFailure->getActual()); - } - - if ($actualString !== null && $expectedString !== null) { - $parameters['type'] = 'comparisonFailure'; - $parameters['actual'] = $actualString; - $parameters['expected'] = $expectedString; - } - } - } - - $this->printEvent('testFailed', $parameters); - } - - /** - * Incomplete test. - */ - public function addIncompleteTest(Test $test, \Throwable $t, float $time): void - { - $this->printIgnoredTest($test->getName(), $t, $time); - } - - /** - * Risky test. - * - * @throws \InvalidArgumentException - */ - public function addRiskyTest(Test $test, \Throwable $t, float $time): void - { - $this->addError($test, $t, $time); - } - - /** - * Skipped test. - * - * @throws \ReflectionException - */ - public function addSkippedTest(Test $test, \Throwable $t, float $time): void - { - $testName = $test->getName(); - - if ($this->startedTestName !== $testName) { - $this->startTest($test); - $this->printIgnoredTest($testName, $t, $time); - $this->endTest($test, $time); - } else { - $this->printIgnoredTest($testName, $t, $time); - } - } - - public function printIgnoredTest($testName, \Throwable $t, float $time): void - { - $this->printEvent( - 'testIgnored', - [ - 'name' => $testName, - 'message' => self::getMessage($t), - 'details' => self::getDetails($t), - 'duration' => self::toMilliseconds($time), - ] - ); - } - - /** - * A testsuite started. - * - * @throws \ReflectionException - */ - public function startTestSuite(TestSuite $suite): void - { - if (\stripos(\ini_get('disable_functions'), 'getmypid') === false) { - $this->flowId = \getmypid(); - } else { - $this->flowId = false; - } - - if (!$this->isSummaryTestCountPrinted) { - $this->isSummaryTestCountPrinted = true; - - $this->printEvent( - 'testCount', - ['count' => \count($suite)] - ); - } - - $suiteName = $suite->getName(); - - if (empty($suiteName)) { - return; - } - - $parameters = ['name' => $suiteName]; - - if (\class_exists($suiteName, false)) { - $fileName = self::getFileName($suiteName); - $parameters['locationHint'] = "php_qn://$fileName::\\$suiteName"; - } else { - $split = \explode('::', $suiteName); - - if (\count($split) === 2 && \class_exists($split[0]) && \method_exists($split[0], $split[1])) { - $fileName = self::getFileName($split[0]); - $parameters['locationHint'] = "php_qn://$fileName::\\$suiteName"; - $parameters['name'] = $split[1]; - } - } - - $this->printEvent('testSuiteStarted', $parameters); - } - - /** - * A testsuite ended. - */ - public function endTestSuite(TestSuite $suite): void - { - $suiteName = $suite->getName(); - - if (empty($suiteName)) { - return; - } - - $parameters = ['name' => $suiteName]; - - if (!\class_exists($suiteName, false)) { - $split = \explode('::', $suiteName); - - if (\count($split) === 2 && \class_exists($split[0]) && \method_exists($split[0], $split[1])) { - $parameters['name'] = $split[1]; - } - } - - $this->printEvent('testSuiteFinished', $parameters); - } - - /** - * A test started. - * - * @throws \ReflectionException - */ - public function startTest(Test $test): void - { - $testName = $test->getName(); - $this->startedTestName = $testName; - $params = ['name' => $testName]; - - if ($test instanceof TestCase) { - $className = \get_class($test); - $fileName = self::getFileName($className); - $params['locationHint'] = "php_qn://$fileName::\\$className::$testName"; - } - - $this->printEvent('testStarted', $params); - } - - /** - * A test ended. - */ - public function endTest(Test $test, float $time): void - { - parent::endTest($test, $time); - - $this->printEvent( - 'testFinished', - [ - 'name' => $test->getName(), - 'duration' => self::toMilliseconds($time), - ] - ); - } - - protected function writeProgress(string $progress): void - { - } - - /** - * @param string $eventName - * @param array $params - */ - private function printEvent($eventName, $params = []): void - { - $this->write("\n##teamcity[$eventName"); - - if ($this->flowId) { - $params['flowId'] = $this->flowId; - } - - foreach ($params as $key => $value) { - $escapedValue = self::escapeValue($value); - $this->write(" $key='$escapedValue'"); - } - - $this->write("]\n"); - } - - private static function getMessage(\Throwable $t): string - { - $message = ''; - - if ($t instanceof ExceptionWrapper) { - if ($t->getClassName() !== '') { - $message .= $t->getClassName(); - } - - if ($message !== '' && $t->getMessage() !== '') { - $message .= ' : '; - } - } - - return $message . $t->getMessage(); - } - - /** - * @throws \InvalidArgumentException - */ - private static function getDetails(\Throwable $t): string - { - $stackTrace = Filter::getFilteredStacktrace($t); - $previous = $t instanceof ExceptionWrapper ? $t->getPreviousWrapped() : $t->getPrevious(); - - while ($previous) { - $stackTrace .= "\nCaused by\n" . - TestFailure::exceptionToString($previous) . "\n" . - Filter::getFilteredStacktrace($previous); - - $previous = $previous instanceof ExceptionWrapper ? - $previous->getPreviousWrapped() : $previous->getPrevious(); - } - - return ' ' . \str_replace("\n", "\n ", $stackTrace); - } - - private static function getPrimitiveValueAsString($value): ?string - { - if ($value === null) { - return 'null'; - } - - if (\is_bool($value)) { - return $value === true ? 'true' : 'false'; - } - - if (\is_scalar($value)) { - return \print_r($value, true); - } - - return null; - } - - private static function escapeValue(string $text): string - { - return \str_replace( - ['|', "'", "\n", "\r", ']', '['], - ['||', "|'", '|n', '|r', '|]', '|['], - $text - ); - } - - /** - * @param string $className - * - * @throws \ReflectionException - */ - private static function getFileName($className): string - { - $reflectionClass = new ReflectionClass($className); - - return $reflectionClass->getFileName(); - } - - /** - * @param float $time microseconds - */ - private static function toMilliseconds(float $time): int - { - return \round($time * 1000); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Util/NullTestResultCache.php b/paragonik-backend/vendor/phpunit/phpunit/src/Util/NullTestResultCache.php deleted file mode 100644 index fd63a6d..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Util/NullTestResultCache.php +++ /dev/null @@ -1,31 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Runner; - -class NullTestResultCache implements TestResultCacheInterface -{ - public function getState($testName): int - { - return BaseTestRunner::STATUS_UNKNOWN; - } - - public function getTime($testName): float - { - return 0; - } - - public function load(): void - { - } - - public function persist(): void - { - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Util/PHP/AbstractPhpProcess.php b/paragonik-backend/vendor/phpunit/phpunit/src/Util/PHP/AbstractPhpProcess.php deleted file mode 100644 index fba0b96..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Util/PHP/AbstractPhpProcess.php +++ /dev/null @@ -1,368 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Util\PHP; - -use __PHP_Incomplete_Class; -use ErrorException; -use PHPUnit\Framework\Exception; -use PHPUnit\Framework\SyntheticError; -use PHPUnit\Framework\Test; -use PHPUnit\Framework\TestCase; -use PHPUnit\Framework\TestFailure; -use PHPUnit\Framework\TestResult; -use SebastianBergmann\Environment\Runtime; - -/** - * Utility methods for PHP sub-processes. - */ -abstract class AbstractPhpProcess -{ - /** - * @var Runtime - */ - protected $runtime; - - /** - * @var bool - */ - protected $stderrRedirection = false; - - /** - * @var string - */ - protected $stdin = ''; - - /** - * @var string - */ - protected $args = ''; - - /** - * @var array - */ - protected $env = []; - - /** - * @var int - */ - protected $timeout = 0; - - public static function factory(): self - { - if (\DIRECTORY_SEPARATOR === '\\') { - return new WindowsPhpProcess; - } - - return new DefaultPhpProcess; - } - - public function __construct() - { - $this->runtime = new Runtime; - } - - /** - * Defines if should use STDERR redirection or not. - * - * Then $stderrRedirection is TRUE, STDERR is redirected to STDOUT. - */ - public function setUseStderrRedirection(bool $stderrRedirection): void - { - $this->stderrRedirection = $stderrRedirection; - } - - /** - * Returns TRUE if uses STDERR redirection or FALSE if not. - */ - public function useStderrRedirection(): bool - { - return $this->stderrRedirection; - } - - /** - * Sets the input string to be sent via STDIN - */ - public function setStdin(string $stdin): void - { - $this->stdin = $stdin; - } - - /** - * Returns the input string to be sent via STDIN - */ - public function getStdin(): string - { - return $this->stdin; - } - - /** - * Sets the string of arguments to pass to the php job - */ - public function setArgs(string $args): void - { - $this->args = $args; - } - - /** - * Returns the string of arguments to pass to the php job - */ - public function getArgs(): string - { - return $this->args; - } - - /** - * Sets the array of environment variables to start the child process with - * - * @param array $env - */ - public function setEnv(array $env): void - { - $this->env = $env; - } - - /** - * Returns the array of environment variables to start the child process with - */ - public function getEnv(): array - { - return $this->env; - } - - /** - * Sets the amount of seconds to wait before timing out - */ - public function setTimeout(int $timeout): void - { - $this->timeout = $timeout; - } - - /** - * Returns the amount of seconds to wait before timing out - */ - public function getTimeout(): int - { - return $this->timeout; - } - - /** - * Runs a single test in a separate PHP process. - * - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public function runTestJob(string $job, Test $test, TestResult $result): void - { - $result->startTest($test); - - $_result = $this->runJob($job); - - $this->processChildResult( - $test, - $result, - $_result['stdout'], - $_result['stderr'] - ); - } - - /** - * Returns the command based into the configurations. - */ - public function getCommand(array $settings, string $file = null): string - { - $command = $this->runtime->getBinary(); - $command .= $this->settingsToParameters($settings); - - if (\PHP_SAPI === 'phpdbg') { - $command .= ' -qrr'; - - if (!$file) { - $command .= 's='; - } - } - - if ($file) { - $command .= ' ' . \escapeshellarg($file); - } - - if ($this->args) { - if (!$file) { - $command .= ' --'; - } - $command .= ' ' . $this->args; - } - - if ($this->stderrRedirection === true) { - $command .= ' 2>&1'; - } - - return $command; - } - - /** - * Runs a single job (PHP code) using a separate PHP process. - */ - abstract public function runJob(string $job, array $settings = []): array; - - protected function settingsToParameters(array $settings): string - { - $buffer = ''; - - foreach ($settings as $setting) { - $buffer .= ' -d ' . \escapeshellarg($setting); - } - - return $buffer; - } - - /** - * Processes the TestResult object from an isolated process. - * - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - private function processChildResult(Test $test, TestResult $result, string $stdout, string $stderr): void - { - $time = 0; - - if (!empty($stderr)) { - $result->addError( - $test, - new Exception(\trim($stderr)), - $time - ); - } else { - \set_error_handler(function ($errno, $errstr, $errfile, $errline): void { - throw new ErrorException($errstr, $errno, $errno, $errfile, $errline); - }); - - try { - if (\strpos($stdout, "#!/usr/bin/env php\n") === 0) { - $stdout = \substr($stdout, 19); - } - - $childResult = \unserialize(\str_replace("#!/usr/bin/env php\n", '', $stdout)); - \restore_error_handler(); - } catch (ErrorException $e) { - \restore_error_handler(); - $childResult = false; - - $result->addError( - $test, - new Exception(\trim($stdout), 0, $e), - $time - ); - } - - if ($childResult !== false) { - if (!empty($childResult['output'])) { - $output = $childResult['output']; - } - - /* @var TestCase $test */ - - $test->setResult($childResult['testResult']); - $test->addToAssertionCount($childResult['numAssertions']); - - /** @var TestResult $childResult */ - $childResult = $childResult['result']; - - if ($result->getCollectCodeCoverageInformation()) { - $result->getCodeCoverage()->merge( - $childResult->getCodeCoverage() - ); - } - - $time = $childResult->time(); - $notImplemented = $childResult->notImplemented(); - $risky = $childResult->risky(); - $skipped = $childResult->skipped(); - $errors = $childResult->errors(); - $warnings = $childResult->warnings(); - $failures = $childResult->failures(); - - if (!empty($notImplemented)) { - $result->addError( - $test, - $this->getException($notImplemented[0]), - $time - ); - } elseif (!empty($risky)) { - $result->addError( - $test, - $this->getException($risky[0]), - $time - ); - } elseif (!empty($skipped)) { - $result->addError( - $test, - $this->getException($skipped[0]), - $time - ); - } elseif (!empty($errors)) { - $result->addError( - $test, - $this->getException($errors[0]), - $time - ); - } elseif (!empty($warnings)) { - $result->addWarning( - $test, - $this->getException($warnings[0]), - $time - ); - } elseif (!empty($failures)) { - $result->addFailure( - $test, - $this->getException($failures[0]), - $time - ); - } - } - } - - $result->endTest($test, $time); - - if (!empty($output)) { - print $output; - } - } - - /** - * Gets the thrown exception from a PHPUnit\Framework\TestFailure. - * - * @see https://github.com/sebastianbergmann/phpunit/issues/74 - */ - private function getException(TestFailure $error): Exception - { - $exception = $error->thrownException(); - - if ($exception instanceof __PHP_Incomplete_Class) { - $exceptionArray = []; - - foreach ((array) $exception as $key => $value) { - $key = \substr($key, \strrpos($key, "\0") + 1); - $exceptionArray[$key] = $value; - } - - $exception = new SyntheticError( - \sprintf( - '%s: %s', - $exceptionArray['_PHP_Incomplete_Class_Name'], - $exceptionArray['message'] - ), - $exceptionArray['code'], - $exceptionArray['file'], - $exceptionArray['line'], - $exceptionArray['trace'] - ); - } - - return $exception; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Util/PHP/DefaultPhpProcess.php b/paragonik-backend/vendor/phpunit/phpunit/src/Util/PHP/DefaultPhpProcess.php deleted file mode 100644 index 396d7d7..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Util/PHP/DefaultPhpProcess.php +++ /dev/null @@ -1,218 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Util\PHP; - -use PHPUnit\Framework\Exception; - -/** - * Default utility for PHP sub-processes. - */ -class DefaultPhpProcess extends AbstractPhpProcess -{ - /** - * @var string - */ - protected $tempFile; - - /** - * Runs a single job (PHP code) using a separate PHP process. - * - * @throws Exception - */ - public function runJob(string $job, array $settings = []): array - { - if ($this->useTemporaryFile() || $this->stdin) { - if (!($this->tempFile = \tempnam(\sys_get_temp_dir(), 'PHPUnit')) || - \file_put_contents($this->tempFile, $job) === false) { - throw new Exception( - 'Unable to write temporary file' - ); - } - - $job = $this->stdin; - } - - return $this->runProcess($job, $settings); - } - - /** - * Returns an array of file handles to be used in place of pipes - */ - protected function getHandles(): array - { - return []; - } - - /** - * Handles creating the child process and returning the STDOUT and STDERR - * - * @throws Exception - */ - protected function runProcess(string $job, array $settings): array - { - $handles = $this->getHandles(); - - $env = null; - - if ($this->env) { - $env = $_SERVER ?? []; - unset($env['argv'], $env['argc']); - $env = \array_merge($env, $this->env); - - foreach ($env as $envKey => $envVar) { - if (\is_array($envVar)) { - unset($env[$envKey]); - } - } - } - - $pipeSpec = [ - 0 => $handles[0] ?? ['pipe', 'r'], - 1 => $handles[1] ?? ['pipe', 'w'], - 2 => $handles[2] ?? ['pipe', 'w'], - ]; - - $process = \proc_open( - $this->getCommand($settings, $this->tempFile), - $pipeSpec, - $pipes, - null, - $env - ); - - if (!\is_resource($process)) { - throw new Exception( - 'Unable to spawn worker process' - ); - } - - if ($job) { - $this->process($pipes[0], $job); - } - - \fclose($pipes[0]); - - $stderr = $stdout = ''; - - if ($this->timeout) { - unset($pipes[0]); - - while (true) { - $r = $pipes; - $w = null; - $e = null; - - $n = @\stream_select($r, $w, $e, $this->timeout); - - if ($n === false) { - break; - } - - if ($n === 0) { - \proc_terminate($process, 9); - - throw new Exception( - \sprintf( - 'Job execution aborted after %d seconds', - $this->timeout - ) - ); - } - - if ($n > 0) { - foreach ($r as $pipe) { - $pipeOffset = 0; - - foreach ($pipes as $i => $origPipe) { - if ($pipe === $origPipe) { - $pipeOffset = $i; - - break; - } - } - - if (!$pipeOffset) { - break; - } - - $line = \fread($pipe, 8192); - - if ($line === '') { - \fclose($pipes[$pipeOffset]); - - unset($pipes[$pipeOffset]); - } else { - if ($pipeOffset === 1) { - $stdout .= $line; - } else { - $stderr .= $line; - } - } - } - - if (empty($pipes)) { - break; - } - } - } - } else { - if (isset($pipes[1])) { - $stdout = \stream_get_contents($pipes[1]); - - \fclose($pipes[1]); - } - - if (isset($pipes[2])) { - $stderr = \stream_get_contents($pipes[2]); - - \fclose($pipes[2]); - } - } - - if (isset($handles[1])) { - \rewind($handles[1]); - - $stdout = \stream_get_contents($handles[1]); - - \fclose($handles[1]); - } - - if (isset($handles[2])) { - \rewind($handles[2]); - - $stderr = \stream_get_contents($handles[2]); - - \fclose($handles[2]); - } - - \proc_close($process); - - $this->cleanup(); - - return ['stdout' => $stdout, 'stderr' => $stderr]; - } - - protected function process($pipe, string $job): void - { - \fwrite($pipe, $job); - } - - protected function cleanup(): void - { - if ($this->tempFile) { - \unlink($this->tempFile); - } - } - - protected function useTemporaryFile(): bool - { - return false; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Util/PHP/Template/PhptTestCase.tpl.dist b/paragonik-backend/vendor/phpunit/phpunit/src/Util/PHP/Template/PhptTestCase.tpl.dist deleted file mode 100644 index 14c3e7e..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Util/PHP/Template/PhptTestCase.tpl.dist +++ /dev/null @@ -1,40 +0,0 @@ -start(__FILE__); -} - -register_shutdown_function(function() use ($coverage) { - $output = null; - if ($coverage) { - $output = $coverage->stop(); - } - file_put_contents('{coverageFile}', serialize($output)); -}); - -ob_end_clean(); - -require '{job}'; diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Util/PHP/Template/TestCaseClass.tpl.dist b/paragonik-backend/vendor/phpunit/phpunit/src/Util/PHP/Template/TestCaseClass.tpl.dist deleted file mode 100644 index 75ceda3..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Util/PHP/Template/TestCaseClass.tpl.dist +++ /dev/null @@ -1,108 +0,0 @@ -setCodeCoverage( - new CodeCoverage( - null, - unserialize('{codeCoverageFilter}') - ) - ); - } - - $result->beStrictAboutTestsThatDoNotTestAnything({isStrictAboutTestsThatDoNotTestAnything}); - $result->beStrictAboutOutputDuringTests({isStrictAboutOutputDuringTests}); - $result->enforceTimeLimit({enforcesTimeLimit}); - $result->beStrictAboutTodoAnnotatedTests({isStrictAboutTodoAnnotatedTests}); - $result->beStrictAboutResourceUsageDuringSmallTests({isStrictAboutResourceUsageDuringSmallTests}); - - $test = new {className}('{name}', unserialize('{data}'), '{dataName}'); - $test->setDependencyInput(unserialize('{dependencyInput}')); - $test->setInIsolation(TRUE); - - ob_end_clean(); - $test->run($result); - $output = ''; - if (!$test->hasExpectationOnOutput()) { - $output = $test->getActualOutput(); - } - - ini_set('xdebug.scream', 0); - @rewind(STDOUT); /* @ as not every STDOUT target stream is rewindable */ - if ($stdout = stream_get_contents(STDOUT)) { - $output = $stdout . $output; - $streamMetaData = stream_get_meta_data(STDOUT); - if (!empty($streamMetaData['stream_type']) && 'STDIO' === $streamMetaData['stream_type']) { - @ftruncate(STDOUT, 0); - @rewind(STDOUT); - } - } - - print serialize( - [ - 'testResult' => $test->getResult(), - 'numAssertions' => $test->getNumAssertions(), - 'result' => $result, - 'output' => $output - ] - ); -} - -$configurationFilePath = '{configurationFilePath}'; - -if ('' !== $configurationFilePath) { - $configuration = PHPUnit\Util\Configuration::getInstance($configurationFilePath); - $configuration->handlePHPConfiguration(); - unset($configuration); -} - -function __phpunit_error_handler($errno, $errstr, $errfile, $errline, $errcontext) -{ - return true; -} - -set_error_handler('__phpunit_error_handler'); - -{constants} -{included_files} -{globals} - -restore_error_handler(); - -if (isset($GLOBALS['__PHPUNIT_BOOTSTRAP'])) { - require_once $GLOBALS['__PHPUNIT_BOOTSTRAP']; - unset($GLOBALS['__PHPUNIT_BOOTSTRAP']); -} - -__phpunit_run_isolated_test(); diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Util/PHP/Template/TestCaseMethod.tpl.dist b/paragonik-backend/vendor/phpunit/phpunit/src/Util/PHP/Template/TestCaseMethod.tpl.dist deleted file mode 100644 index b39938d..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Util/PHP/Template/TestCaseMethod.tpl.dist +++ /dev/null @@ -1,110 +0,0 @@ -setCodeCoverage( - new CodeCoverage( - null, - unserialize('{codeCoverageFilter}') - ) - ); - } - - $result->beStrictAboutTestsThatDoNotTestAnything({isStrictAboutTestsThatDoNotTestAnything}); - $result->beStrictAboutOutputDuringTests({isStrictAboutOutputDuringTests}); - $result->enforceTimeLimit({enforcesTimeLimit}); - $result->beStrictAboutTodoAnnotatedTests({isStrictAboutTodoAnnotatedTests}); - $result->beStrictAboutResourceUsageDuringSmallTests({isStrictAboutResourceUsageDuringSmallTests}); - - /** @var TestCase $test */ - $test = new {className}('{methodName}', unserialize('{data}'), '{dataName}'); - $test->setDependencyInput(unserialize('{dependencyInput}')); - $test->setInIsolation(TRUE); - - ob_end_clean(); - $test->run($result); - $output = ''; - if (!$test->hasExpectationOnOutput()) { - $output = $test->getActualOutput(); - } - - ini_set('xdebug.scream', '0'); - @rewind(STDOUT); /* @ as not every STDOUT target stream is rewindable */ - if ($stdout = stream_get_contents(STDOUT)) { - $output = $stdout . $output; - $streamMetaData = stream_get_meta_data(STDOUT); - if (!empty($streamMetaData['stream_type']) && 'STDIO' === $streamMetaData['stream_type']) { - @ftruncate(STDOUT, 0); - @rewind(STDOUT); - } - } - - print serialize( - [ - 'testResult' => $test->getResult(), - 'numAssertions' => $test->getNumAssertions(), - 'result' => $result, - 'output' => $output - ] - ); -} - -$configurationFilePath = '{configurationFilePath}'; - -if ('' !== $configurationFilePath) { - $configuration = PHPUnit\Util\Configuration::getInstance($configurationFilePath); - $configuration->handlePHPConfiguration(); - unset($configuration); -} - -function __phpunit_error_handler($errno, $errstr, $errfile, $errline, $errcontext) -{ - return true; -} - -set_error_handler('__phpunit_error_handler'); - -{constants} -{included_files} -{globals} - -restore_error_handler(); - -if (isset($GLOBALS['__PHPUNIT_BOOTSTRAP'])) { - require_once $GLOBALS['__PHPUNIT_BOOTSTRAP']; - unset($GLOBALS['__PHPUNIT_BOOTSTRAP']); -} - -__phpunit_run_isolated_test(); diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Util/PHP/WindowsPhpProcess.php b/paragonik-backend/vendor/phpunit/phpunit/src/Util/PHP/WindowsPhpProcess.php deleted file mode 100644 index 46fffa3..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Util/PHP/WindowsPhpProcess.php +++ /dev/null @@ -1,46 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Util\PHP; - -use PHPUnit\Framework\Exception; - -/** - * Windows utility for PHP sub-processes. - * - * Reading from STDOUT or STDERR hangs forever on Windows if the output is - * too large. - * - * @see https://bugs.php.net/bug.php?id=51800 - */ -class WindowsPhpProcess extends DefaultPhpProcess -{ - public function getCommand(array $settings, string $file = null): string - { - return '"' . parent::getCommand($settings, $file) . '"'; - } - - protected function getHandles(): array - { - if (false === $stdout_handle = \tmpfile()) { - throw new Exception( - 'A temporary file could not be created; verify that your TEMP environment variable is writable' - ); - } - - return [ - 1 => $stdout_handle, - ]; - } - - protected function useTemporaryFile(): bool - { - return true; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Util/PHP/eval-stdin.php b/paragonik-backend/vendor/phpunit/phpunit/src/Util/PHP/eval-stdin.php deleted file mode 100644 index 37de8ed..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Util/PHP/eval-stdin.php +++ /dev/null @@ -1,10 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -eval('?>' . \file_get_contents('php://stdin')); diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Util/Printer.php b/paragonik-backend/vendor/phpunit/phpunit/src/Util/Printer.php deleted file mode 100644 index 45df2c1..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Util/Printer.php +++ /dev/null @@ -1,139 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Util; - -use PHPUnit\Framework\Exception; - -/** - * Utility class that can print to STDOUT or write to a file. - */ -class Printer -{ - /** - * If true, flush output after every write. - * - * @var bool - */ - protected $autoFlush = false; - - /** - * @var resource - */ - protected $out; - - /** - * @var string - */ - protected $outTarget; - - /** - * Constructor. - * - * @param null|mixed $out - * - * @throws Exception - */ - public function __construct($out = null) - { - if ($out === null) { - return; - } - - if (\is_string($out) === false) { - $this->out = $out; - - return; - } - - if (\strpos($out, 'socket://') === 0) { - $out = \explode(':', \str_replace('socket://', '', $out)); - - if (\count($out) !== 2) { - throw new Exception; - } - - $this->out = \fsockopen($out[0], $out[1]); - } else { - if (\strpos($out, 'php://') === false && !Filesystem::createDirectory(\dirname($out))) { - throw new Exception(\sprintf('Directory "%s" was not created', \dirname($out))); - } - - $this->out = \fopen($out, 'wt'); - } - - $this->outTarget = $out; - } - - /** - * Flush buffer and close output if it's not to a PHP stream - */ - public function flush(): void - { - if ($this->out && \strncmp($this->outTarget, 'php://', 6) !== 0) { - \fclose($this->out); - } - } - - /** - * Performs a safe, incremental flush. - * - * Do not confuse this function with the flush() function of this class, - * since the flush() function may close the file being written to, rendering - * the current object no longer usable. - */ - public function incrementalFlush(): void - { - if ($this->out) { - \fflush($this->out); - } else { - \flush(); - } - } - - public function write(string $buffer): void - { - if ($this->out) { - \fwrite($this->out, $buffer); - - if ($this->autoFlush) { - $this->incrementalFlush(); - } - } else { - if (\PHP_SAPI !== 'cli' && \PHP_SAPI !== 'phpdbg') { - $buffer = \htmlspecialchars($buffer, \ENT_SUBSTITUTE); - } - - print $buffer; - - if ($this->autoFlush) { - $this->incrementalFlush(); - } - } - } - - /** - * Check auto-flush mode. - */ - public function getAutoFlush(): bool - { - return $this->autoFlush; - } - - /** - * Set auto-flushing mode. - * - * If set, *incremental* flushes will be done after each write. This should - * not be confused with the different effects of this class' flush() method. - */ - public function setAutoFlush(bool $autoFlush): void - { - $this->autoFlush = $autoFlush; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Util/RegularExpression.php b/paragonik-backend/vendor/phpunit/phpunit/src/Util/RegularExpression.php deleted file mode 100644 index 2f7baa7..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Util/RegularExpression.php +++ /dev/null @@ -1,27 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Util; - -final class RegularExpression -{ - /** - * @throws \Exception - * - * @return false|int - */ - public static function safeMatch(string $pattern, string $subject, ?array $matches = null, int $flags = 0, int $offset = 0) - { - $handler_terminator = ErrorHandler::handleErrorOnce(); - $match = \preg_match($pattern, $subject, $matches, $flags, $offset); - $handler_terminator(); - - return $match; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Util/Test.php b/paragonik-backend/vendor/phpunit/phpunit/src/Util/Test.php deleted file mode 100644 index f583f59..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Util/Test.php +++ /dev/null @@ -1,1121 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Util; - -use PharIo\Version\VersionConstraintParser; -use PHPUnit\Framework\Assert; -use PHPUnit\Framework\CodeCoverageException; -use PHPUnit\Framework\Exception; -use PHPUnit\Framework\InvalidCoversTargetException; -use PHPUnit\Framework\SelfDescribing; -use PHPUnit\Framework\SkippedTestError; -use PHPUnit\Framework\TestCase; -use PHPUnit\Framework\Warning; -use PHPUnit\Runner\Version; -use ReflectionClass; -use ReflectionException; -use ReflectionFunction; -use ReflectionMethod; -use SebastianBergmann\Environment\OperatingSystem; -use Traversable; - -final class Test -{ - /** - * @var int - */ - public const UNKNOWN = -1; - - /** - * @var int - */ - public const SMALL = 0; - - /** - * @var int - */ - public const MEDIUM = 1; - - /** - * @var int - */ - public const LARGE = 2; - - /** - * @var string - * - * @todo This constant should be private (it's public because of TestTest::testGetProvidedDataRegEx) - */ - public const REGEX_DATA_PROVIDER = '/@dataProvider\s+([a-zA-Z0-9._:-\\\\x7f-\xff]+)/'; - - /** - * @var string - */ - private const REGEX_TEST_WITH = '/@testWith\s+/'; - - /** - * @var string - */ - private const REGEX_EXPECTED_EXCEPTION = '(@expectedException\s+([:.\w\\\\x7f-\xff]+)(?:[\t ]+(\S*))?(?:[\t ]+(\S*))?\s*$)m'; - - /** - * @var string - */ - private const REGEX_REQUIRES_VERSION = '/@requires\s+(?PPHP(?:Unit)?)\s+(?P[<>=!]{0,2})\s*(?P[\d\.-]+(dev|(RC|alpha|beta)[\d\.])?)[ \t]*\r?$/m'; - - /** - * @var string - */ - private const REGEX_REQUIRES_VERSION_CONSTRAINT = '/@requires\s+(?PPHP(?:Unit)?)\s+(?P[\d\t \-.|~^]+)[ \t]*\r?$/m'; - - /** - * @var string - */ - private const REGEX_REQUIRES_OS = '/@requires\s+(?POS(?:FAMILY)?)\s+(?P.+?)[ \t]*\r?$/m'; - - /** - * @var string - */ - private const REGEX_REQUIRES_SETTING = '/@requires\s+(?Psetting)\s+(?P([^ ]+?))\s*(?P[\w\.-]+[\w\.]?)?[ \t]*\r?$/m'; - - /** - * @var string - */ - private const REGEX_REQUIRES = '/@requires\s+(?Pfunction|extension)\s+(?P([^\s<>=!]+))\s*(?P[<>=!]{0,2})\s*(?P[\d\.-]+[\d\.]?)?[ \t]*\r?$/m'; - - /** - * @var array - */ - private static $annotationCache = []; - - /** - * @var array - */ - private static $hookMethods = []; - - public static function describe(\PHPUnit\Framework\Test $test): array - { - if ($test instanceof TestCase) { - return [\get_class($test), $test->getName()]; - } - - if ($test instanceof SelfDescribing) { - return ['', $test->toString()]; - } - - return ['', \get_class($test)]; - } - - public static function describeAsString(\PHPUnit\Framework\Test $test): string - { - if ($test instanceof SelfDescribing) { - return $test->toString(); - } - - return \get_class($test); - } - - /** - * @throws CodeCoverageException - * - * @return array|bool - */ - public static function getLinesToBeCovered(string $className, string $methodName) - { - $annotations = self::parseTestMethodAnnotations( - $className, - $methodName - ); - - if (self::shouldCoversAnnotationBeUsed($annotations) === false) { - return false; - } - - return self::getLinesToBeCoveredOrUsed($className, $methodName, 'covers'); - } - - /** - * Returns lines of code specified with the @uses annotation. - * - * @throws CodeCoverageException - */ - public static function getLinesToBeUsed(string $className, string $methodName): array - { - return self::getLinesToBeCoveredOrUsed($className, $methodName, 'uses'); - } - - /** - * Returns the requirements for a test. - * - * @throws Warning - */ - public static function getRequirements(string $className, string $methodName): array - { - $reflector = new ReflectionClass($className); - $docComment = $reflector->getDocComment(); - $reflector = new ReflectionMethod($className, $methodName); - $docComment .= "\n" . $reflector->getDocComment(); - $requires = []; - - if ($count = \preg_match_all(self::REGEX_REQUIRES_OS, $docComment, $matches)) { - foreach (\range(0, $count - 1) as $i) { - $requires[$matches['name'][$i]] = $matches['value'][$i]; - } - } - - if ($count = \preg_match_all(self::REGEX_REQUIRES_VERSION, $docComment, $matches)) { - foreach (\range(0, $count - 1) as $i) { - $requires[$matches['name'][$i]] = [ - 'version' => $matches['version'][$i], - 'operator' => $matches['operator'][$i], - ]; - } - } - - if ($count = \preg_match_all(self::REGEX_REQUIRES_VERSION_CONSTRAINT, $docComment, $matches)) { - foreach (\range(0, $count - 1) as $i) { - if (!empty($requires[$matches['name'][$i]])) { - continue; - } - - try { - $versionConstraintParser = new VersionConstraintParser; - - $requires[$matches['name'][$i] . '_constraint'] = [ - 'constraint' => $versionConstraintParser->parse(\trim($matches['constraint'][$i])), - ]; - } catch (\PharIo\Version\Exception $e) { - throw new Warning($e->getMessage(), $e->getCode(), $e); - } - } - } - - if ($count = \preg_match_all(self::REGEX_REQUIRES_SETTING, $docComment, $matches)) { - $requires['setting'] = []; - - foreach (\range(0, $count - 1) as $i) { - $requires['setting'][$matches['setting'][$i]] = $matches['value'][$i]; - } - } - - if ($count = \preg_match_all(self::REGEX_REQUIRES, $docComment, $matches)) { - foreach (\range(0, $count - 1) as $i) { - $name = $matches['name'][$i] . 's'; - - if (!isset($requires[$name])) { - $requires[$name] = []; - } - - $requires[$name][] = $matches['value'][$i]; - - if ($name !== 'extensions' || empty($matches['version'][$i])) { - continue; - } - - $requires['extension_versions'][$matches['value'][$i]] = [ - 'version' => $matches['version'][$i], - 'operator' => $matches['operator'][$i], - ]; - } - } - - return $requires; - } - - /** - * Returns the missing requirements for a test. - * - * @throws Warning - * - * @return string[] - */ - public static function getMissingRequirements(string $className, string $methodName): array - { - $required = static::getRequirements($className, $methodName); - $missing = []; - - if (!empty($required['PHP'])) { - $operator = empty($required['PHP']['operator']) ? '>=' : $required['PHP']['operator']; - - if (!\version_compare(\PHP_VERSION, $required['PHP']['version'], $operator)) { - $missing[] = \sprintf('PHP %s %s is required.', $operator, $required['PHP']['version']); - } - } elseif (!empty($required['PHP_constraint'])) { - $version = new \PharIo\Version\Version(self::sanitizeVersionNumber(\PHP_VERSION)); - - if (!$required['PHP_constraint']['constraint']->complies($version)) { - $missing[] = \sprintf( - 'PHP version does not match the required constraint %s.', - $required['PHP_constraint']['constraint']->asString() - ); - } - } - - if (!empty($required['PHPUnit'])) { - $phpunitVersion = Version::id(); - - $operator = empty($required['PHPUnit']['operator']) ? '>=' : $required['PHPUnit']['operator']; - - if (!\version_compare($phpunitVersion, $required['PHPUnit']['version'], $operator)) { - $missing[] = \sprintf('PHPUnit %s %s is required.', $operator, $required['PHPUnit']['version']); - } - } elseif (!empty($required['PHPUnit_constraint'])) { - $phpunitVersion = new \PharIo\Version\Version(self::sanitizeVersionNumber(Version::id())); - - if (!$required['PHPUnit_constraint']['constraint']->complies($phpunitVersion)) { - $missing[] = \sprintf( - 'PHPUnit version does not match the required constraint %s.', - $required['PHPUnit_constraint']['constraint']->asString() - ); - } - } - - if (!empty($required['OSFAMILY']) && $required['OSFAMILY'] !== (new OperatingSystem)->getFamily()) { - $missing[] = \sprintf('Operating system %s is required.', $required['OSFAMILY']); - } - - if (!empty($required['OS'])) { - $requiredOsPattern = \sprintf('/%s/i', \addcslashes($required['OS'], '/')); - - if (!\preg_match($requiredOsPattern, \PHP_OS)) { - $missing[] = \sprintf('Operating system matching %s is required.', $requiredOsPattern); - } - } - - if (!empty($required['functions'])) { - foreach ($required['functions'] as $function) { - $pieces = \explode('::', $function); - - if (\count($pieces) === 2 && \class_exists($pieces[0]) && \method_exists($pieces[0], $pieces[1])) { - continue; - } - - if (\function_exists($function)) { - continue; - } - - $missing[] = \sprintf('Function %s is required.', $function); - } - } - - if (!empty($required['setting'])) { - foreach ($required['setting'] as $setting => $value) { - if (\ini_get($setting) != $value) { - $missing[] = \sprintf('Setting "%s" must be "%s".', $setting, $value); - } - } - } - - if (!empty($required['extensions'])) { - foreach ($required['extensions'] as $extension) { - if (isset($required['extension_versions'][$extension])) { - continue; - } - - if (!\extension_loaded($extension)) { - $missing[] = \sprintf('Extension %s is required.', $extension); - } - } - } - - if (!empty($required['extension_versions'])) { - foreach ($required['extension_versions'] as $extension => $required) { - $actualVersion = \phpversion($extension); - - $operator = empty($required['operator']) ? '>=' : $required['operator']; - - if ($actualVersion === false || !\version_compare($actualVersion, $required['version'], $operator)) { - $missing[] = \sprintf('Extension %s %s %s is required.', $extension, $operator, $required['version']); - } - } - } - - return $missing; - } - - /** - * Returns the expected exception for a test. - * - * @return array|false - */ - public static function getExpectedException(string $className, ?string $methodName) - { - $reflector = new ReflectionMethod($className, $methodName); - $docComment = $reflector->getDocComment(); - $docComment = \substr($docComment, 3, -2); - - if (\preg_match(self::REGEX_EXPECTED_EXCEPTION, $docComment, $matches)) { - $annotations = self::parseTestMethodAnnotations( - $className, - $methodName - ); - - $class = $matches[1]; - $code = null; - $message = ''; - $messageRegExp = ''; - - if (isset($matches[2])) { - $message = \trim($matches[2]); - } elseif (isset($annotations['method']['expectedExceptionMessage'])) { - $message = self::parseAnnotationContent( - $annotations['method']['expectedExceptionMessage'][0] - ); - } - - if (isset($annotations['method']['expectedExceptionMessageRegExp'])) { - $messageRegExp = self::parseAnnotationContent( - $annotations['method']['expectedExceptionMessageRegExp'][0] - ); - } - - if (isset($matches[3])) { - $code = $matches[3]; - } elseif (isset($annotations['method']['expectedExceptionCode'])) { - $code = self::parseAnnotationContent( - $annotations['method']['expectedExceptionCode'][0] - ); - } - - if (\is_numeric($code)) { - $code = (int) $code; - } elseif (\is_string($code) && \defined($code)) { - $code = (int) \constant($code); - } - - return [ - 'class' => $class, 'code' => $code, 'message' => $message, 'message_regex' => $messageRegExp, - ]; - } - - return false; - } - - /** - * Returns the provided data for a method. - * - * @throws Exception - */ - public static function getProvidedData(string $className, string $methodName): ?array - { - $reflector = new ReflectionMethod($className, $methodName); - $docComment = $reflector->getDocComment(); - - $data = self::getDataFromDataProviderAnnotation($docComment, $className, $methodName); - - if ($data === null) { - $data = self::getDataFromTestWithAnnotation($docComment); - } - - if ($data === []) { - throw new SkippedTestError; - } - - if ($data !== null) { - foreach ($data as $key => $value) { - if (!\is_array($value)) { - throw new Exception( - \sprintf( - 'Data set %s is invalid.', - \is_int($key) ? '#' . $key : '"' . $key . '"' - ) - ); - } - } - } - - return $data; - } - - /** - * @throws Exception - */ - public static function getDataFromTestWithAnnotation(string $docComment): ?array - { - $docComment = self::cleanUpMultiLineAnnotation($docComment); - - if (\preg_match(self::REGEX_TEST_WITH, $docComment, $matches, \PREG_OFFSET_CAPTURE)) { - $offset = \strlen($matches[0][0]) + $matches[0][1]; - $annotationContent = \substr($docComment, $offset); - $data = []; - - foreach (\explode("\n", $annotationContent) as $candidateRow) { - $candidateRow = \trim($candidateRow); - - if ($candidateRow[0] !== '[') { - break; - } - - $dataSet = \json_decode($candidateRow, true); - - if (\json_last_error() !== \JSON_ERROR_NONE) { - throw new Exception( - 'The data set for the @testWith annotation cannot be parsed: ' . \json_last_error_msg() - ); - } - - $data[] = $dataSet; - } - - if (!$data) { - throw new Exception('The data set for the @testWith annotation cannot be parsed.'); - } - - return $data; - } - - return null; - } - - public static function parseTestMethodAnnotations(string $className, ?string $methodName = ''): array - { - if (!isset(self::$annotationCache[$className])) { - $class = new ReflectionClass($className); - $traits = $class->getTraits(); - $annotations = []; - - foreach ($traits as $trait) { - $annotations = \array_merge( - $annotations, - self::parseAnnotations($trait->getDocComment()) - ); - } - - self::$annotationCache[$className] = \array_merge( - $annotations, - self::parseAnnotations($class->getDocComment()) - ); - } - - $cacheKey = $className . '::' . $methodName; - - if ($methodName !== null && !isset(self::$annotationCache[$cacheKey])) { - try { - $method = new ReflectionMethod($className, $methodName); - $annotations = self::parseAnnotations($method->getDocComment()); - } catch (ReflectionException $e) { - $annotations = []; - } - - self::$annotationCache[$cacheKey] = $annotations; - } - - return [ - 'class' => self::$annotationCache[$className], - 'method' => $methodName !== null ? self::$annotationCache[$cacheKey] : [], - ]; - } - - public static function getInlineAnnotations(string $className, string $methodName): array - { - $method = new ReflectionMethod($className, $methodName); - $code = \file($method->getFileName()); - $lineNumber = $method->getStartLine(); - $startLine = $method->getStartLine() - 1; - $endLine = $method->getEndLine() - 1; - $methodLines = \array_slice($code, $startLine, $endLine - $startLine + 1); - $annotations = []; - - foreach ($methodLines as $line) { - if (\preg_match('#/\*\*?\s*@(?P[A-Za-z_-]+)(?:[ \t]+(?P.*?))?[ \t]*\r?\*/$#m', $line, $matches)) { - $annotations[\strtolower($matches['name'])] = [ - 'line' => $lineNumber, - 'value' => $matches['value'], - ]; - } - - $lineNumber++; - } - - return $annotations; - } - - public static function parseAnnotations(string $docBlock): array - { - $annotations = []; - // Strip away the docblock header and footer to ease parsing of one line annotations - $docBlock = \substr($docBlock, 3, -2); - - if (\preg_match_all('/@(?P[A-Za-z_-]+)(?:[ \t]+(?P.*?))?[ \t]*\r?$/m', $docBlock, $matches)) { - $numMatches = \count($matches[0]); - - for ($i = 0; $i < $numMatches; ++$i) { - $annotations[$matches['name'][$i]][] = (string) $matches['value'][$i]; - } - } - - return $annotations; - } - - public static function getBackupSettings(string $className, string $methodName): array - { - return [ - 'backupGlobals' => self::getBooleanAnnotationSetting( - $className, - $methodName, - 'backupGlobals' - ), - 'backupStaticAttributes' => self::getBooleanAnnotationSetting( - $className, - $methodName, - 'backupStaticAttributes' - ), - ]; - } - - public static function getDependencies(string $className, string $methodName): array - { - $annotations = self::parseTestMethodAnnotations( - $className, - $methodName - ); - - $dependencies = []; - - if (isset($annotations['class']['depends'])) { - $dependencies = $annotations['class']['depends']; - } - - if (isset($annotations['method']['depends'])) { - $dependencies = \array_merge( - $dependencies, - $annotations['method']['depends'] - ); - } - - return \array_unique($dependencies); - } - - public static function getErrorHandlerSettings(string $className, ?string $methodName): ?bool - { - return self::getBooleanAnnotationSetting( - $className, - $methodName, - 'errorHandler' - ); - } - - public static function getGroups(string $className, ?string $methodName = ''): array - { - $annotations = self::parseTestMethodAnnotations( - $className, - $methodName - ); - - $groups = []; - - if (isset($annotations['method']['author'])) { - $groups = $annotations['method']['author']; - } elseif (isset($annotations['class']['author'])) { - $groups = $annotations['class']['author']; - } - - if (isset($annotations['class']['group'])) { - $groups = \array_merge($groups, $annotations['class']['group']); - } - - if (isset($annotations['method']['group'])) { - $groups = \array_merge($groups, $annotations['method']['group']); - } - - if (isset($annotations['class']['ticket'])) { - $groups = \array_merge($groups, $annotations['class']['ticket']); - } - - if (isset($annotations['method']['ticket'])) { - $groups = \array_merge($groups, $annotations['method']['ticket']); - } - - foreach (['method', 'class'] as $element) { - foreach (['small', 'medium', 'large'] as $size) { - if (isset($annotations[$element][$size])) { - $groups[] = $size; - - break 2; - } - } - } - - return \array_unique($groups); - } - - public static function getSize(string $className, ?string $methodName): int - { - $groups = \array_flip(self::getGroups($className, $methodName)); - - if (isset($groups['large'])) { - return self::LARGE; - } - - if (isset($groups['medium'])) { - return self::MEDIUM; - } - - if (isset($groups['small'])) { - return self::SMALL; - } - - return self::UNKNOWN; - } - - public static function getProcessIsolationSettings(string $className, string $methodName): bool - { - $annotations = self::parseTestMethodAnnotations( - $className, - $methodName - ); - - return isset($annotations['class']['runTestsInSeparateProcesses']) || isset($annotations['method']['runInSeparateProcess']); - } - - public static function getClassProcessIsolationSettings(string $className, string $methodName): bool - { - $annotations = self::parseTestMethodAnnotations( - $className, - $methodName - ); - - return isset($annotations['class']['runClassInSeparateProcess']); - } - - public static function getPreserveGlobalStateSettings(string $className, string $methodName): ?bool - { - return self::getBooleanAnnotationSetting( - $className, - $methodName, - 'preserveGlobalState' - ); - } - - public static function getHookMethods(string $className): array - { - if (!\class_exists($className, false)) { - return self::emptyHookMethodsArray(); - } - - if (!isset(self::$hookMethods[$className])) { - self::$hookMethods[$className] = self::emptyHookMethodsArray(); - - try { - $class = new ReflectionClass($className); - - foreach ($class->getMethods() as $method) { - if ($method->getDeclaringClass()->getName() === Assert::class) { - continue; - } - - if ($method->getDeclaringClass()->getName() === TestCase::class) { - continue; - } - - if ($methodComment = $method->getDocComment()) { - if ($method->isStatic()) { - if (\strpos($methodComment, '@beforeClass') !== false) { - \array_unshift( - self::$hookMethods[$className]['beforeClass'], - $method->getName() - ); - } - - if (\strpos($methodComment, '@afterClass') !== false) { - self::$hookMethods[$className]['afterClass'][] = $method->getName(); - } - } - - if (\preg_match('/@before\b/', $methodComment) > 0) { - \array_unshift( - self::$hookMethods[$className]['before'], - $method->getName() - ); - } - - if (\preg_match('/@after\b/', $methodComment) > 0) { - self::$hookMethods[$className]['after'][] = $method->getName(); - } - } - } - } catch (ReflectionException $e) { - } - } - - return self::$hookMethods[$className]; - } - - /** - * @throws CodeCoverageException - */ - private static function getLinesToBeCoveredOrUsed(string $className, string $methodName, string $mode): array - { - $annotations = self::parseTestMethodAnnotations( - $className, - $methodName - ); - - $classShortcut = null; - - if (!empty($annotations['class'][$mode . 'DefaultClass'])) { - if (\count($annotations['class'][$mode . 'DefaultClass']) > 1) { - throw new CodeCoverageException( - \sprintf( - 'More than one @%sClass annotation in class or interface "%s".', - $mode, - $className - ) - ); - } - - $classShortcut = $annotations['class'][$mode . 'DefaultClass'][0]; - } - - $list = []; - - if (isset($annotations['class'][$mode])) { - $list = $annotations['class'][$mode]; - } - - if (isset($annotations['method'][$mode])) { - $list = \array_merge($list, $annotations['method'][$mode]); - } - - $codeList = []; - - foreach (\array_unique($list) as $element) { - if ($classShortcut && \strncmp($element, '::', 2) === 0) { - $element = $classShortcut . $element; - } - - $element = \preg_replace('/[\s()]+$/', '', $element); - $element = \explode(' ', $element); - $element = $element[0]; - - if ($mode === 'covers' && \interface_exists($element)) { - throw new InvalidCoversTargetException( - \sprintf( - 'Trying to @cover interface "%s".', - $element - ) - ); - } - - $codeList = \array_merge( - $codeList, - self::resolveElementToReflectionObjects($element) - ); - } - - return self::resolveReflectionObjectsToLines($codeList); - } - - /** - * Parse annotation content to use constant/class constant values - * - * Constants are specified using a starting '@'. For example: @ClassName::CONST_NAME - * - * If the constant is not found the string is used as is to ensure maximum BC. - */ - private static function parseAnnotationContent(string $message): string - { - if (\defined($message) && (\strpos($message, '::') !== false && \substr_count($message, '::') + 1 === 2)) { - $message = \constant($message); - } - - return $message; - } - - /** - * Returns the provided data for a method. - */ - private static function getDataFromDataProviderAnnotation(string $docComment, string $className, string $methodName): ?iterable - { - if (\preg_match_all(self::REGEX_DATA_PROVIDER, $docComment, $matches)) { - $result = []; - - foreach ($matches[1] as $match) { - $dataProviderMethodNameNamespace = \explode('\\', $match); - $leaf = \explode('::', \array_pop($dataProviderMethodNameNamespace)); - $dataProviderMethodName = \array_pop($leaf); - - if (empty($dataProviderMethodNameNamespace)) { - $dataProviderMethodNameNamespace = ''; - } else { - $dataProviderMethodNameNamespace = \implode('\\', $dataProviderMethodNameNamespace) . '\\'; - } - - if (empty($leaf)) { - $dataProviderClassName = $className; - } else { - $dataProviderClassName = $dataProviderMethodNameNamespace . \array_pop($leaf); - } - - $dataProviderClass = new ReflectionClass($dataProviderClassName); - $dataProviderMethod = $dataProviderClass->getMethod( - $dataProviderMethodName - ); - - if ($dataProviderMethod->isStatic()) { - $object = null; - } else { - $object = $dataProviderClass->newInstance(); - } - - if ($dataProviderMethod->getNumberOfParameters() === 0) { - $data = $dataProviderMethod->invoke($object); - } else { - $data = $dataProviderMethod->invoke($object, $methodName); - } - - if ($data instanceof Traversable) { - $origData = $data; - $data = []; - - foreach ($origData as $key => $value) { - if (\is_int($key)) { - $data[] = $value; - } else { - $data[$key] = $value; - } - } - } - - if (\is_array($data)) { - $result = \array_merge($result, $data); - } - } - - return $result; - } - - return null; - } - - private static function cleanUpMultiLineAnnotation(string $docComment): string - { - //removing initial ' * ' for docComment - $docComment = \str_replace("\r\n", "\n", $docComment); - $docComment = \preg_replace('/' . '\n' . '\s*' . '\*' . '\s?' . '/', "\n", $docComment); - $docComment = \substr($docComment, 0, -1); - - return \rtrim($docComment, "\n"); - } - - private static function emptyHookMethodsArray(): array - { - return [ - 'beforeClass' => ['setUpBeforeClass'], - 'before' => ['setUp'], - 'after' => ['tearDown'], - 'afterClass' => ['tearDownAfterClass'], - ]; - } - - private static function getBooleanAnnotationSetting(string $className, ?string $methodName, string $settingName): ?bool - { - $annotations = self::parseTestMethodAnnotations( - $className, - $methodName - ); - - if (isset($annotations['method'][$settingName])) { - if ($annotations['method'][$settingName][0] === 'enabled') { - return true; - } - - if ($annotations['method'][$settingName][0] === 'disabled') { - return false; - } - } - - if (isset($annotations['class'][$settingName])) { - if ($annotations['class'][$settingName][0] === 'enabled') { - return true; - } - - if ($annotations['class'][$settingName][0] === 'disabled') { - return false; - } - } - - return null; - } - - /** - * @throws InvalidCoversTargetException - */ - private static function resolveElementToReflectionObjects(string $element): array - { - $codeToCoverList = []; - - if (\strpos($element, '\\') !== false && \function_exists($element)) { - $codeToCoverList[] = new ReflectionFunction($element); - } elseif (\strpos($element, '::') !== false) { - [$className, $methodName] = \explode('::', $element); - - if (isset($methodName[0]) && $methodName[0] === '<') { - $classes = [$className]; - - foreach ($classes as $className) { - if (!\class_exists($className) && - !\interface_exists($className) && - !\trait_exists($className)) { - throw new InvalidCoversTargetException( - \sprintf( - 'Trying to @cover or @use not existing class or ' . - 'interface "%s".', - $className - ) - ); - } - - $class = new ReflectionClass($className); - $methods = $class->getMethods(); - $inverse = isset($methodName[1]) && $methodName[1] === '!'; - $visibility = 'isPublic'; - - if (\strpos($methodName, 'protected')) { - $visibility = 'isProtected'; - } elseif (\strpos($methodName, 'private')) { - $visibility = 'isPrivate'; - } - - foreach ($methods as $method) { - if ($inverse && !$method->$visibility()) { - $codeToCoverList[] = $method; - } elseif (!$inverse && $method->$visibility()) { - $codeToCoverList[] = $method; - } - } - } - } else { - $classes = [$className]; - - foreach ($classes as $className) { - if ($className === '' && \function_exists($methodName)) { - $codeToCoverList[] = new ReflectionFunction( - $methodName - ); - } else { - if (!((\class_exists($className) || \interface_exists($className) || \trait_exists($className)) && - \method_exists($className, $methodName))) { - throw new InvalidCoversTargetException( - \sprintf( - 'Trying to @cover or @use not existing method "%s::%s".', - $className, - $methodName - ) - ); - } - - $codeToCoverList[] = new ReflectionMethod( - $className, - $methodName - ); - } - } - } - } else { - $extended = false; - - if (\strpos($element, '') !== false) { - $element = \str_replace('', '', $element); - $extended = true; - } - - $classes = [$element]; - - if ($extended) { - $classes = \array_merge( - $classes, - \class_implements($element), - \class_parents($element) - ); - } - - foreach ($classes as $className) { - if (!\class_exists($className) && - !\interface_exists($className) && - !\trait_exists($className)) { - throw new InvalidCoversTargetException( - \sprintf( - 'Trying to @cover or @use not existing class or ' . - 'interface "%s".', - $className - ) - ); - } - - $codeToCoverList[] = new ReflectionClass($className); - } - } - - return $codeToCoverList; - } - - private static function resolveReflectionObjectsToLines(array $reflectors): array - { - $result = []; - - foreach ($reflectors as $reflector) { - if ($reflector instanceof ReflectionClass) { - foreach ($reflector->getTraits() as $trait) { - $reflectors[] = $trait; - } - } - } - - foreach ($reflectors as $reflector) { - $filename = $reflector->getFileName(); - - if (!isset($result[$filename])) { - $result[$filename] = []; - } - - $result[$filename] = \array_merge( - $result[$filename], - \range($reflector->getStartLine(), $reflector->getEndLine()) - ); - } - - foreach ($result as $filename => $lineNumbers) { - $result[$filename] = \array_keys(\array_flip($lineNumbers)); - } - - return $result; - } - - /** - * Trims any extensions from version string that follows after - * the .[.] format - */ - private static function sanitizeVersionNumber(string $version) - { - return \preg_replace( - '/^(\d+\.\d+(?:.\d+)?).*$/', - '$1', - $version - ); - } - - private static function shouldCoversAnnotationBeUsed(array $annotations): bool - { - if (isset($annotations['method']['coversNothing'])) { - return false; - } - - if (isset($annotations['method']['covers'])) { - return true; - } - - if (isset($annotations['class']['coversNothing'])) { - return false; - } - - return true; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Util/TestDox/CliTestDoxPrinter.php b/paragonik-backend/vendor/phpunit/phpunit/src/Util/TestDox/CliTestDoxPrinter.php deleted file mode 100644 index 217377e..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Util/TestDox/CliTestDoxPrinter.php +++ /dev/null @@ -1,429 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Util\TestDox; - -use PHPUnit\Framework\AssertionFailedError; -use PHPUnit\Framework\Test; -use PHPUnit\Framework\TestCase; -use PHPUnit\Framework\TestResult; -use PHPUnit\Framework\TestSuite; -use PHPUnit\Framework\Warning; -use PHPUnit\Runner\PhptTestCase; -use PHPUnit\Runner\TestSuiteSorter; -use PHPUnit\TextUI\ResultPrinter; -use SebastianBergmann\Timer\Timer; - -/** - * This printer is for CLI output only. For the classes that output to file, html and xml, - * please refer to the PHPUnit\Util\TestDox namespace - */ -class CliTestDoxPrinter extends ResultPrinter -{ - /** - * @var int[] - */ - private $nonSuccessfulTestResults = []; - - /** - * @var NamePrettifier - */ - private $prettifier; - - /** - * @var int The number of test results received from the TestRunner - */ - private $testIndex = 0; - - /** - * @var int The number of test results already sent to the output - */ - private $testFlushIndex = 0; - - /** - * @var array Buffer for write() - */ - private $outputBuffer = []; - - /** - * @var bool - */ - private $bufferExecutionOrder = false; - - /** - * @var array array - */ - private $originalExecutionOrder = []; - - /** - * @var string Classname of the current test - */ - private $className = ''; - - /** - * @var string Classname of the previous test; empty for first test - */ - private $lastClassName = ''; - - /** - * @var string Prettified test name of current test - */ - private $testMethod; - - /** - * @var string Test result message of current test - */ - private $testResultMessage; - - /** - * @var bool Test result message of current test contains a verbose dump - */ - private $lastFlushedTestWasVerbose = false; - - public function __construct( - $out = null, - bool $verbose = false, - $colors = self::COLOR_DEFAULT, - bool $debug = false, - $numberOfColumns = 80, - bool $reverse = false - ) { - parent::__construct($out, $verbose, $colors, $debug, $numberOfColumns, $reverse); - - $this->prettifier = new NamePrettifier; - } - - public function setOriginalExecutionOrder(array $order): void - { - $this->originalExecutionOrder = $order; - $this->bufferExecutionOrder = !empty($order); - } - - public function startTest(Test $test): void - { - if (!$test instanceof TestCase && !$test instanceof PhptTestCase && !$test instanceof TestSuite) { - return; - } - - $this->lastTestFailed = false; - $this->lastClassName = $this->className; - $this->testResultMessage = ''; - - if ($test instanceof TestCase) { - $className = $this->prettifier->prettifyTestClass(\get_class($test)); - $testMethod = $this->prettifier->prettifyTestCase($test); - } elseif ($test instanceof PhptTestCase) { - $className = \get_class($test); - $testMethod = $test->getName(); - } - - $this->className = $className; - $this->testMethod = $testMethod; - - parent::startTest($test); - } - - public function endTest(Test $test, float $time): void - { - if (!$test instanceof TestCase && !$test instanceof PhptTestCase && !$test instanceof TestSuite) { - return; - } - - if ($test instanceof TestCase || $test instanceof PhptTestCase) { - $this->testIndex++; - } - - if ($this->lastTestFailed) { - $resultMessage = $this->testResultMessage; - $this->nonSuccessfulTestResults[] = $this->testIndex; - } else { - $resultMessage = $this->formatTestResultMessage( - $this->formatWithColor('fg-green', '✔'), - '', - $time, - $this->verbose - ); - } - - if ($this->bufferExecutionOrder) { - $this->bufferTestResult($test, $resultMessage); - $this->flushOutputBuffer(); - } else { - $this->writeTestResult($resultMessage); - - if ($this->lastTestFailed) { - $this->bufferTestResult($test, $resultMessage); - } - } - - parent::endTest($test, $time); - } - - public function addError(Test $test, \Throwable $t, float $time): void - { - $this->lastTestFailed = true; - $this->testResultMessage = $this->formatTestResultMessage( - $this->formatWithColor('fg-yellow', '✘'), - (string) $t, - $time, - true - ); - } - - public function addWarning(Test $test, Warning $e, float $time): void - { - $this->lastTestFailed = true; - $this->testResultMessage = $this->formatTestResultMessage( - $this->formatWithColor('fg-yellow', '✘'), - (string) $e, - $time, - true - ); - } - - public function addFailure(Test $test, AssertionFailedError $e, float $time): void - { - $this->lastTestFailed = true; - $this->testResultMessage = $this->formatTestResultMessage( - $this->formatWithColor('fg-red', '✘'), - (string) $e, - $time, - true - ); - } - - public function addIncompleteTest(Test $test, \Throwable $t, float $time): void - { - $this->lastTestFailed = true; - $this->testResultMessage = $this->formatTestResultMessage( - $this->formatWithColor('fg-yellow', '∅'), - (string) $t, - $time, - false - ); - } - - public function addRiskyTest(Test $test, \Throwable $t, float $time): void - { - $this->lastTestFailed = true; - $this->testResultMessage = $this->formatTestResultMessage( - $this->formatWithColor('fg-yellow', '☢'), - (string) $t, - $time, - false - ); - } - - public function addSkippedTest(Test $test, \Throwable $t, float $time): void - { - $this->lastTestFailed = true; - $this->testResultMessage = $this->formatTestResultMessage( - $this->formatWithColor('fg-yellow', '→'), - (string) $t, - $time, - false - ); - } - - public function bufferTestResult(Test $test, string $msg): void - { - $this->outputBuffer[$this->testIndex] = [ - 'className' => $this->className, - 'testName' => TestSuiteSorter::getTestSorterUID($test), - 'testMethod' => $this->testMethod, - 'message' => $msg, - 'failed' => $this->lastTestFailed, - 'verbose' => $this->lastFlushedTestWasVerbose, - ]; - } - - public function writeTestResult(string $msg): void - { - $msg = $this->formatTestSuiteHeader($this->lastClassName, $this->className, $msg); - $this->write($msg); - } - - public function writeProgress(string $progress): void - { - } - - public function flush(): void - { - } - - public function printResult(TestResult $result): void - { - $this->printHeader(); - - $this->printNonSuccessfulTestsSummary($result->count()); - - $this->printFooter($result); - } - - protected function printHeader(): void - { - $this->write("\n" . Timer::resourceUsage() . "\n\n"); - } - - private function flushOutputBuffer(): void - { - if ($this->testFlushIndex === $this->testIndex) { - return; - } - - if ($this->testFlushIndex > 0) { - $prevResult = $this->getTestResultByName($this->originalExecutionOrder[$this->testFlushIndex - 1]); - } else { - $prevResult = $this->getEmptyTestResult(); - } - - do { - $flushed = false; - $result = $this->getTestResultByName($this->originalExecutionOrder[$this->testFlushIndex]); - - if (!empty($result)) { - $this->writeBufferTestResult($prevResult, $result); - $this->testFlushIndex++; - $prevResult = $result; - $flushed = true; - } - } while ($flushed && $this->testFlushIndex < $this->testIndex); - } - - private function writeBufferTestResult(array $prevResult, array $result): void - { - // Write spacer line for new suite headers and after verbose messages - if ($prevResult['testName'] !== '' && - ($prevResult['verbose'] === true || $prevResult['className'] !== $result['className'])) { - $this->write("\n"); - } - - // Write suite header - if ($prevResult['className'] !== $result['className']) { - $this->write($result['className'] . "\n"); - } - - // Write the test result itself - $this->write($result['message']); - } - - private function getTestResultByName(string $testName): array - { - foreach ($this->outputBuffer as $result) { - if ($result['testName'] === $testName) { - return $result; - } - } - - return []; - } - - private function formatTestSuiteHeader(?string $lastClassName, string $className, string $msg): string - { - if ($lastClassName === null || $className !== $lastClassName) { - return \sprintf( - "%s%s\n%s", - ($this->lastClassName !== '') ? "\n" : '', - $className, - $msg - ); - } - - return $msg; - } - - private function formatTestResultMessage( - string $symbol, - string $resultMessage, - float $time, - bool $alwaysVerbose = false - ): string { - $additionalInformation = $this->getFormattedAdditionalInformation($resultMessage, $alwaysVerbose); - $msg = \sprintf( - " %s %s%s\n%s", - $symbol, - $this->testMethod, - $this->verbose ? ' ' . $this->getFormattedRuntime($time) : '', - $additionalInformation - ); - - $this->lastFlushedTestWasVerbose = !empty($additionalInformation); - - return $msg; - } - - private function getFormattedRuntime(float $time): string - { - if ($time > 5) { - return $this->formatWithColor('fg-red', \sprintf('[%.2f ms]', $time * 1000)); - } - - if ($time > 1) { - return $this->formatWithColor('fg-yellow', \sprintf('[%.2f ms]', $time * 1000)); - } - - return \sprintf('[%.2f ms]', $time * 1000); - } - - private function getFormattedAdditionalInformation(string $resultMessage, bool $verbose): string - { - if ($resultMessage === '') { - return ''; - } - - if (!($this->verbose || $verbose)) { - return ''; - } - - return \sprintf( - " │\n%s\n", - \implode( - "\n", - \array_map( - function (string $text) { - return \sprintf(' │ %s', $text); - }, - \explode("\n", $resultMessage) - ) - ) - ); - } - - private function printNonSuccessfulTestsSummary(int $numberOfExecutedTests): void - { - if (empty($this->nonSuccessfulTestResults)) { - return; - } - - if ((\count($this->nonSuccessfulTestResults) / $numberOfExecutedTests) >= 0.7) { - return; - } - - $this->write("Summary of non-successful tests:\n\n"); - - $prevResult = $this->getEmptyTestResult(); - - foreach ($this->nonSuccessfulTestResults as $testIndex) { - $result = $this->outputBuffer[$testIndex]; - $this->writeBufferTestResult($prevResult, $result); - $prevResult = $result; - } - } - - private function getEmptyTestResult(): array - { - return [ - 'className' => '', - 'testName' => '', - 'message' => '', - 'failed' => '', - 'verbose' => '', - ]; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Util/TestDox/HtmlResultPrinter.php b/paragonik-backend/vendor/phpunit/phpunit/src/Util/TestDox/HtmlResultPrinter.php deleted file mode 100644 index 7167543..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Util/TestDox/HtmlResultPrinter.php +++ /dev/null @@ -1,131 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Util\TestDox; - -/** - * Prints TestDox documentation in HTML format. - */ -final class HtmlResultPrinter extends ResultPrinter -{ - /** - * @var string - */ - private const PAGE_HEADER = << - - - - Test Documentation - - - -EOT; - - /** - * @var string - */ - private const CLASS_HEADER = <<%s -
    - -EOT; - - /** - * @var string - */ - private const CLASS_FOOTER = << -EOT; - - /** - * @var string - */ - private const PAGE_FOOTER = << - -EOT; - - /** - * Handler for 'start run' event. - */ - protected function startRun(): void - { - $this->write(self::PAGE_HEADER); - } - - /** - * Handler for 'start class' event. - */ - protected function startClass(string $name): void - { - $this->write( - \sprintf( - self::CLASS_HEADER, - $name, - $this->currentTestClassPrettified - ) - ); - } - - /** - * Handler for 'on test' event. - */ - protected function onTest($name, bool $success = true): void - { - $this->write( - \sprintf( - "
  • %s %s
  • \n", - $success ? '#555753' : '#ef2929', - $success ? '✓' : 'âŒ', - $name - ) - ); - } - - /** - * Handler for 'end class' event. - */ - protected function endClass(string $name): void - { - $this->write(self::CLASS_FOOTER); - } - - /** - * Handler for 'end run' event. - */ - protected function endRun(): void - { - $this->write(self::PAGE_FOOTER); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Util/TestDox/NamePrettifier.php b/paragonik-backend/vendor/phpunit/phpunit/src/Util/TestDox/NamePrettifier.php deleted file mode 100644 index fc5a1fe..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Util/TestDox/NamePrettifier.php +++ /dev/null @@ -1,193 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Util\TestDox; - -use PHPUnit\Framework\TestCase; -use SebastianBergmann\Exporter\Exporter; - -/** - * Prettifies class and method names for use in TestDox documentation. - */ -final class NamePrettifier -{ - /** - * @var array - */ - private $strings = []; - - /** - * Prettifies the name of a test class. - */ - public function prettifyTestClass(string $className): string - { - try { - $annotations = \PHPUnit\Util\Test::parseTestMethodAnnotations($className); - - if (isset($annotations['class']['testdox'][0])) { - return $annotations['class']['testdox'][0]; - } - } catch (\ReflectionException $e) { - } - - $result = $className; - - if (\substr($className, -1 * \strlen('Test')) === 'Test') { - $result = \substr($result, 0, \strripos($result, 'Test')); - } - - if (\strpos($className, 'Tests') === 0) { - $result = \substr($result, \strlen('Tests')); - } elseif (\strpos($className, 'Test') === 0) { - $result = \substr($result, \strlen('Test')); - } - - if ($result[0] === '\\') { - $result = \substr($result, 1); - } - - return $result; - } - - /** - * @throws \ReflectionException - */ - public function prettifyTestCase(TestCase $test): string - { - $annotations = $test->getAnnotations(); - $annotationWithPlaceholders = false; - - $callback = static function (string $variable): string { - return \sprintf('/%s(?=\b)/', \preg_quote($variable, '/')); - }; - - if (isset($annotations['method']['testdox'][0])) { - $result = $annotations['method']['testdox'][0]; - - if (\strpos($result, '$') !== false) { - $annotation = $annotations['method']['testdox'][0]; - $providedData = $this->mapTestMethodParameterNamesToProvidedDataValues($test); - $variables = \array_map($callback, \array_keys($providedData)); - - $result = \trim(\preg_replace($variables, $providedData, $annotation)); - - $annotationWithPlaceholders = true; - } - } else { - $result = $this->prettifyTestMethod($test->getName(false)); - } - - if ($test->usesDataProvider() && !$annotationWithPlaceholders) { - $result .= $test->getDataSetAsString(false); - } - - return $result; - } - - /** - * Prettifies the name of a test method. - */ - public function prettifyTestMethod(string $name): string - { - $buffer = ''; - - if (!\is_string($name) || $name === '') { - return $buffer; - } - - $string = \preg_replace('#\d+$#', '', $name, -1, $count); - - if (\in_array($string, $this->strings)) { - $name = $string; - } elseif ($count === 0) { - $this->strings[] = $string; - } - - if (\strpos($name, 'test_') === 0) { - $name = \substr($name, 5); - } elseif (\strpos($name, 'test') === 0) { - $name = \substr($name, 4); - } - - if ($name === '') { - return $buffer; - } - - $name[0] = \strtoupper($name[0]); - - if (\strpos($name, '_') !== false) { - return \trim(\str_replace('_', ' ', $name)); - } - - $max = \strlen($name); - $wasNumeric = false; - - for ($i = 0; $i < $max; $i++) { - if ($i > 0 && \ord($name[$i]) >= 65 && \ord($name[$i]) <= 90) { - $buffer .= ' ' . \strtolower($name[$i]); - } else { - $isNumeric = \is_numeric($name[$i]); - - if (!$wasNumeric && $isNumeric) { - $buffer .= ' '; - $wasNumeric = true; - } - - if ($wasNumeric && !$isNumeric) { - $wasNumeric = false; - } - - $buffer .= $name[$i]; - } - } - - return $buffer; - } - - /** - * @throws \ReflectionException - */ - private function mapTestMethodParameterNamesToProvidedDataValues(TestCase $test): array - { - $reflector = new \ReflectionMethod(\get_class($test), $test->getName(false)); - $providedData = []; - $providedDataValues = \array_values($test->getProvidedData()); - $i = 0; - - foreach ($reflector->getParameters() as $parameter) { - if (!\array_key_exists($i, $providedDataValues) && $parameter->isDefaultValueAvailable()) { - $providedDataValues[$i] = $parameter->getDefaultValue(); - } - - $value = $providedDataValues[$i++] ?? null; - - if (\is_object($value)) { - $reflector = new \ReflectionObject($value); - - if ($reflector->hasMethod('__toString')) { - $value = (string) $value; - } - } - - if (!\is_scalar($value)) { - $value = \gettype($value); - } - - if (\is_bool($value) || \is_int($value) || \is_float($value)) { - $exporter = new Exporter; - - $value = $exporter->export($value); - } - - $providedData['$' . $parameter->getName()] = $value; - } - - return $providedData; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Util/TestDox/ResultPrinter.php b/paragonik-backend/vendor/phpunit/phpunit/src/Util/TestDox/ResultPrinter.php deleted file mode 100644 index 89583ea..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Util/TestDox/ResultPrinter.php +++ /dev/null @@ -1,339 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Util\TestDox; - -use PHPUnit\Framework\AssertionFailedError; -use PHPUnit\Framework\Test; -use PHPUnit\Framework\TestCase; -use PHPUnit\Framework\TestListener; -use PHPUnit\Framework\TestSuite; -use PHPUnit\Framework\Warning; -use PHPUnit\Framework\WarningTestCase; -use PHPUnit\Runner\BaseTestRunner; -use PHPUnit\Util\Printer; - -/** - * Base class for printers of TestDox documentation. - */ -abstract class ResultPrinter extends Printer implements TestListener -{ - /** - * @var NamePrettifier - */ - protected $prettifier; - - /** - * @var string - */ - protected $testClass = ''; - - /** - * @var int - */ - protected $testStatus; - - /** - * @var array - */ - protected $tests = []; - - /** - * @var int - */ - protected $successful = 0; - - /** - * @var int - */ - protected $warned = 0; - - /** - * @var int - */ - protected $failed = 0; - - /** - * @var int - */ - protected $risky = 0; - - /** - * @var int - */ - protected $skipped = 0; - - /** - * @var int - */ - protected $incomplete = 0; - - /** - * @var null|string - */ - protected $currentTestClassPrettified; - - /** - * @var null|string - */ - protected $currentTestMethodPrettified; - - /** - * @var array - */ - private $groups; - - /** - * @var array - */ - private $excludeGroups; - - /** - * @param resource $out - * - * @throws \PHPUnit\Framework\Exception - */ - public function __construct($out = null, array $groups = [], array $excludeGroups = []) - { - parent::__construct($out); - - $this->groups = $groups; - $this->excludeGroups = $excludeGroups; - - $this->prettifier = new NamePrettifier; - $this->startRun(); - } - - /** - * Flush buffer and close output. - */ - public function flush(): void - { - $this->doEndClass(); - $this->endRun(); - - parent::flush(); - } - - /** - * An error occurred. - */ - public function addError(Test $test, \Throwable $t, float $time): void - { - if (!$this->isOfInterest($test)) { - return; - } - - $this->testStatus = BaseTestRunner::STATUS_ERROR; - $this->failed++; - } - - /** - * A warning occurred. - */ - public function addWarning(Test $test, Warning $e, float $time): void - { - if (!$this->isOfInterest($test)) { - return; - } - - $this->testStatus = BaseTestRunner::STATUS_WARNING; - $this->warned++; - } - - /** - * A failure occurred. - */ - public function addFailure(Test $test, AssertionFailedError $e, float $time): void - { - if (!$this->isOfInterest($test)) { - return; - } - - $this->testStatus = BaseTestRunner::STATUS_FAILURE; - $this->failed++; - } - - /** - * Incomplete test. - */ - public function addIncompleteTest(Test $test, \Throwable $t, float $time): void - { - if (!$this->isOfInterest($test)) { - return; - } - - $this->testStatus = BaseTestRunner::STATUS_INCOMPLETE; - $this->incomplete++; - } - - /** - * Risky test. - */ - public function addRiskyTest(Test $test, \Throwable $t, float $time): void - { - if (!$this->isOfInterest($test)) { - return; - } - - $this->testStatus = BaseTestRunner::STATUS_RISKY; - $this->risky++; - } - - /** - * Skipped test. - */ - public function addSkippedTest(Test $test, \Throwable $t, float $time): void - { - if (!$this->isOfInterest($test)) { - return; - } - - $this->testStatus = BaseTestRunner::STATUS_SKIPPED; - $this->skipped++; - } - - /** - * A testsuite started. - */ - public function startTestSuite(TestSuite $suite): void - { - } - - /** - * A testsuite ended. - */ - public function endTestSuite(TestSuite $suite): void - { - } - - /** - * A test started. - * - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public function startTest(Test $test): void - { - if (!$this->isOfInterest($test)) { - return; - } - - $class = \get_class($test); - - if ($this->testClass !== $class) { - if ($this->testClass !== '') { - $this->doEndClass(); - } - - $this->currentTestClassPrettified = $this->prettifier->prettifyTestClass($class); - $this->testClass = $class; - $this->tests = []; - - $this->startClass($class); - } - - if ($test instanceof TestCase) { - $this->currentTestMethodPrettified = $this->prettifier->prettifyTestCase($test); - } - - $this->testStatus = BaseTestRunner::STATUS_PASSED; - } - - /** - * A test ended. - */ - public function endTest(Test $test, float $time): void - { - if (!$this->isOfInterest($test)) { - return; - } - - $this->tests[] = [$this->currentTestMethodPrettified, $this->testStatus]; - - $this->currentTestClassPrettified = null; - $this->currentTestMethodPrettified = null; - } - - protected function doEndClass(): void - { - foreach ($this->tests as $test) { - $this->onTest($test[0], $test[1] === BaseTestRunner::STATUS_PASSED); - } - - $this->endClass($this->testClass); - } - - /** - * Handler for 'start run' event. - */ - protected function startRun(): void - { - } - - /** - * Handler for 'start class' event. - */ - protected function startClass(string $name): void - { - } - - /** - * Handler for 'on test' event. - */ - protected function onTest($name, bool $success = true): void - { - } - - /** - * Handler for 'end class' event. - */ - protected function endClass(string $name): void - { - } - - /** - * Handler for 'end run' event. - */ - protected function endRun(): void - { - } - - private function isOfInterest(Test $test): bool - { - if (!$test instanceof TestCase) { - return false; - } - - if ($test instanceof WarningTestCase) { - return false; - } - - if (!empty($this->groups)) { - foreach ($test->getGroups() as $group) { - if (\in_array($group, $this->groups)) { - return true; - } - } - - return false; - } - - if (!empty($this->excludeGroups)) { - foreach ($test->getGroups() as $group) { - if (\in_array($group, $this->excludeGroups)) { - return false; - } - } - - return true; - } - - return true; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Util/TestDox/TestResult.php b/paragonik-backend/vendor/phpunit/phpunit/src/Util/TestDox/TestResult.php deleted file mode 100644 index 6d8ae2f..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Util/TestDox/TestResult.php +++ /dev/null @@ -1,155 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Util\TestDox; - -final class TestResult -{ - /** - * @var callable - */ - private $colorize; - - /** - * @var string - */ - private $testClass; - - /** - * @var string - */ - private $testMethod; - - /** - * @var bool - */ - private $testSuccesful; - - /** - * @var string - */ - private $symbol; - - /** - * @var string - */ - private $additionalInformation; - - /** - * @var bool - */ - private $additionalInformationVerbose; - - /** - * @var float - */ - private $runtime; - - public function __construct(callable $colorize, string $testClass, string $testMethod) - { - $this->colorize = $colorize; - $this->testClass = $testClass; - $this->testMethod = $testMethod; - $this->testSuccesful = true; - $this->symbol = ($this->colorize)('fg-green', '✔'); - $this->additionalInformation = ''; - } - - public function isTestSuccessful(): bool - { - return $this->testSuccesful; - } - - public function fail(string $symbol, string $additionalInformation, bool $additionalInformationVerbose = false): void - { - $this->testSuccesful = false; - $this->symbol = $symbol; - $this->additionalInformation = $additionalInformation; - $this->additionalInformationVerbose = $additionalInformationVerbose; - } - - public function setRuntime(float $runtime): void - { - $this->runtime = $runtime; - } - - public function toString(?self $previousTestResult, $verbose = false): string - { - return \sprintf( - "%s%s %s %s%s\n%s", - $previousTestResult && $previousTestResult->additionalInformationPrintable($verbose) ? "\n" : '', - $this->getClassNameHeader($previousTestResult ? $previousTestResult->testClass : null), - $this->symbol, - $this->testMethod, - $verbose ? ' ' . $this->getFormattedRuntime() : '', - $this->getFormattedAdditionalInformation($verbose) - ); - } - - private function getClassNameHeader(?string $previousTestClass): string - { - $className = ''; - - if ($this->testClass !== $previousTestClass) { - if (null !== $previousTestClass) { - $className = "\n"; - } - - $className .= \sprintf("%s\n", $this->testClass); - } - - return $className; - } - - private function getFormattedRuntime(): string - { - if ($this->runtime > 5) { - return ($this->colorize)('fg-red', \sprintf('[%.2f ms]', $this->runtime * 1000)); - } - - if ($this->runtime > 1) { - return ($this->colorize)('fg-yellow', \sprintf('[%.2f ms]', $this->runtime * 1000)); - } - - return \sprintf('[%.2f ms]', $this->runtime * 1000); - } - - private function getFormattedAdditionalInformation($verbose): string - { - if (!$this->additionalInformationPrintable($verbose)) { - return ''; - } - - return \sprintf( - " │\n%s\n", - \implode( - "\n", - \array_map( - function (string $text) { - return \sprintf(' │ %s', $text); - }, - \explode("\n", $this->additionalInformation) - ) - ) - ); - } - - private function additionalInformationPrintable(bool $verbose): bool - { - if ($this->additionalInformation === '') { - return false; - } - - if ($this->additionalInformationVerbose && !$verbose) { - return false; - } - - return true; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Util/TestDox/TextResultPrinter.php b/paragonik-backend/vendor/phpunit/phpunit/src/Util/TestDox/TextResultPrinter.php deleted file mode 100644 index 818a0ac..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Util/TestDox/TextResultPrinter.php +++ /dev/null @@ -1,47 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Util\TestDox; - -/** - * Prints TestDox documentation in text format to files. - * For the CLI testdox printer please refer to \PHPUnit\TextUI\TextDoxPrinter. - */ -class TextResultPrinter extends ResultPrinter -{ - /** - * Handler for 'start class' event. - */ - protected function startClass(string $name): void - { - $this->write($this->currentTestClassPrettified . "\n"); - } - - /** - * Handler for 'on test' event. - */ - protected function onTest($name, bool $success = true): void - { - if ($success) { - $this->write(' [x] '); - } else { - $this->write(' [ ] '); - } - - $this->write($name . "\n"); - } - - /** - * Handler for 'end class' event. - */ - protected function endClass(string $name): void - { - $this->write("\n"); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Util/TestDox/XmlResultPrinter.php b/paragonik-backend/vendor/phpunit/phpunit/src/Util/TestDox/XmlResultPrinter.php deleted file mode 100644 index 8ffdd0a..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Util/TestDox/XmlResultPrinter.php +++ /dev/null @@ -1,205 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Util\TestDox; - -use DOMDocument; -use DOMElement; -use PHPUnit\Framework\AssertionFailedError; -use PHPUnit\Framework\Exception; -use PHPUnit\Framework\Test; -use PHPUnit\Framework\TestCase; -use PHPUnit\Framework\TestListener; -use PHPUnit\Framework\TestSuite; -use PHPUnit\Framework\Warning; -use PHPUnit\Util\Printer; -use ReflectionClass; - -class XmlResultPrinter extends Printer implements TestListener -{ - /** - * @var DOMDocument - */ - private $document; - - /** - * @var DOMElement - */ - private $root; - - /** - * @var NamePrettifier - */ - private $prettifier; - - /** - * @var null|\Throwable - */ - private $exception; - - /** - * @param resource|string $out - * - * @throws Exception - */ - public function __construct($out = null) - { - $this->document = new DOMDocument('1.0', 'UTF-8'); - $this->document->formatOutput = true; - - $this->root = $this->document->createElement('tests'); - $this->document->appendChild($this->root); - - $this->prettifier = new NamePrettifier; - - parent::__construct($out); - } - - /** - * Flush buffer and close output. - */ - public function flush(): void - { - $this->write($this->document->saveXML()); - - parent::flush(); - } - - /** - * An error occurred. - */ - public function addError(Test $test, \Throwable $t, float $time): void - { - $this->exception = $t; - } - - /** - * A warning occurred. - */ - public function addWarning(Test $test, Warning $e, float $time): void - { - } - - /** - * A failure occurred. - */ - public function addFailure(Test $test, AssertionFailedError $e, float $time): void - { - $this->exception = $e; - } - - /** - * Incomplete test. - */ - public function addIncompleteTest(Test $test, \Throwable $t, float $time): void - { - } - - /** - * Risky test. - */ - public function addRiskyTest(Test $test, \Throwable $t, float $time): void - { - } - - /** - * Skipped test. - */ - public function addSkippedTest(Test $test, \Throwable $t, float $time): void - { - } - - /** - * A test suite started. - */ - public function startTestSuite(TestSuite $suite): void - { - } - - /** - * A test suite ended. - */ - public function endTestSuite(TestSuite $suite): void - { - } - - /** - * A test started. - */ - public function startTest(Test $test): void - { - $this->exception = null; - } - - /** - * A test ended. - * - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public function endTest(Test $test, float $time): void - { - if (!$test instanceof TestCase) { - return; - } - - /* @var TestCase $test */ - - $groups = \array_filter( - $test->getGroups(), - function ($group) { - return !($group === 'small' || $group === 'medium' || $group === 'large'); - } - ); - - $node = $this->document->createElement('test'); - - $node->setAttribute('className', \get_class($test)); - $node->setAttribute('methodName', $test->getName()); - $node->setAttribute('prettifiedClassName', $this->prettifier->prettifyTestClass(\get_class($test))); - $node->setAttribute('prettifiedMethodName', $this->prettifier->prettifyTestCase($test)); - $node->setAttribute('status', $test->getStatus()); - $node->setAttribute('time', $time); - $node->setAttribute('size', $test->getSize()); - $node->setAttribute('groups', \implode(',', $groups)); - - $inlineAnnotations = \PHPUnit\Util\Test::getInlineAnnotations(\get_class($test), $test->getName()); - - if (isset($inlineAnnotations['given'], $inlineAnnotations['when'], $inlineAnnotations['then'])) { - $node->setAttribute('given', $inlineAnnotations['given']['value']); - $node->setAttribute('givenStartLine', (string) $inlineAnnotations['given']['line']); - $node->setAttribute('when', $inlineAnnotations['when']['value']); - $node->setAttribute('whenStartLine', (string) $inlineAnnotations['when']['line']); - $node->setAttribute('then', $inlineAnnotations['then']['value']); - $node->setAttribute('thenStartLine', (string) $inlineAnnotations['then']['line']); - } - - if ($this->exception !== null) { - if ($this->exception instanceof Exception) { - $steps = $this->exception->getSerializableTrace(); - } else { - $steps = $this->exception->getTrace(); - } - - $class = new ReflectionClass($test); - $file = $class->getFileName(); - - foreach ($steps as $step) { - if (isset($step['file']) && $step['file'] === $file) { - $node->setAttribute('exceptionLine', $step['line']); - - break; - } - } - - $node->setAttribute('exceptionMessage', $this->exception->getMessage()); - } - - $this->root->appendChild($node); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Util/TestResultCache.php b/paragonik-backend/vendor/phpunit/phpunit/src/Util/TestResultCache.php deleted file mode 100644 index 11972bd..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Util/TestResultCache.php +++ /dev/null @@ -1,196 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Runner; - -use PHPUnit\Framework\Test; -use PHPUnit\Util\Filesystem; - -class TestResultCache implements \Serializable, TestResultCacheInterface -{ - /** - * @var string - */ - public const DEFAULT_RESULT_CACHE_FILENAME = '.phpunit.result.cache'; - - /** - * Provide extra protection against incomplete or corrupt caches - * - * @var array - */ - private const ALLOWED_CACHE_TEST_STATUSES = [ - BaseTestRunner::STATUS_SKIPPED, - BaseTestRunner::STATUS_INCOMPLETE, - BaseTestRunner::STATUS_FAILURE, - BaseTestRunner::STATUS_ERROR, - BaseTestRunner::STATUS_RISKY, - BaseTestRunner::STATUS_WARNING, - ]; - - /** - * Path and filename for result cache file - * - * @var string - */ - private $cacheFilename; - - /** - * The list of defective tests - * - * - * // Mark a test skipped - * $this->defects[$testName] = BaseTestRunner::TEST_SKIPPED; - * - * - * @var array array - */ - private $defects = []; - - /** - * The list of execution duration of suites and tests (in seconds) - * - * - * // Record running time for test - * $this->times[$testName] = 1.234; - * - * - * @var array - */ - private $times = []; - - public function __construct($filepath = null) - { - if ($filepath !== null && \is_dir($filepath)) { - // cache path provided, use default cache filename in that location - $filepath = $filepath . \DIRECTORY_SEPARATOR . self::DEFAULT_RESULT_CACHE_FILENAME; - } - - $this->cacheFilename = $filepath ?? $_ENV['PHPUNIT_RESULT_CACHE'] ?? self::DEFAULT_RESULT_CACHE_FILENAME; - } - - public function persist(): void - { - $this->saveToFile(); - } - - public function saveToFile(): void - { - if (\defined('PHPUNIT_TESTSUITE_RESULTCACHE')) { - return; - } - - if (!Filesystem::createDirectory(\dirname($this->cacheFilename))) { - throw new Exception( - \sprintf( - 'Cannot create directory "%s" for result cache file', - $this->cacheFilename - ) - ); - } - - \file_put_contents( - $this->cacheFilename, - \serialize($this) - ); - } - - public function setState(string $testName, int $state): void - { - if ($state !== BaseTestRunner::STATUS_PASSED) { - $this->defects[$testName] = $state; - } - } - - public function getState($testName): int - { - return $this->defects[$testName] ?? BaseTestRunner::STATUS_UNKNOWN; - } - - public function setTime(string $testName, float $time): void - { - $this->times[$testName] = $time; - } - - public function getTime($testName): float - { - return $this->times[$testName] ?? 0; - } - - public function load(): void - { - $this->clear(); - - if (\is_file($this->cacheFilename) === false) { - return; - } - - $cacheData = @\file_get_contents($this->cacheFilename); - - // @codeCoverageIgnoreStart - if ($cacheData === false) { - return; - } - // @codeCoverageIgnoreEnd - - $cache = @\unserialize($cacheData, ['allowed_classes' => [self::class]]); - - if ($cache === false) { - return; - } - - if ($cache instanceof self) { - /* @var \PHPUnit\Runner\TestResultCache */ - $cache->copyStateToCache($this); - } - } - - public function copyStateToCache(self $targetCache): void - { - foreach ($this->defects as $name => $state) { - $targetCache->setState($name, $state); - } - - foreach ($this->times as $name => $time) { - $targetCache->setTime($name, $time); - } - } - - public function clear(): void - { - $this->defects = []; - $this->times = []; - } - - public function serialize(): string - { - return \serialize([ - 'defects' => $this->defects, - 'times' => $this->times, - ]); - } - - public function unserialize($serialized): void - { - $data = \unserialize($serialized); - - if (isset($data['times'])) { - foreach ($data['times'] as $testName => $testTime) { - $this->times[$testName] = (float) $testTime; - } - } - - if (isset($data['defects'])) { - foreach ($data['defects'] as $testName => $testResult) { - if (\in_array($testResult, self::ALLOWED_CACHE_TEST_STATUSES, true)) { - $this->defects[$testName] = $testResult; - } - } - } - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Util/TestResultCacheInterface.php b/paragonik-backend/vendor/phpunit/phpunit/src/Util/TestResultCacheInterface.php deleted file mode 100644 index 8041d29..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Util/TestResultCacheInterface.php +++ /dev/null @@ -1,21 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Runner; - -interface TestResultCacheInterface -{ - public function getState($testName): int; - - public function getTime($testName): float; - - public function load(): void; - - public function persist(): void; -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Util/TextTestListRenderer.php b/paragonik-backend/vendor/phpunit/phpunit/src/Util/TextTestListRenderer.php deleted file mode 100644 index 467a41e..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Util/TextTestListRenderer.php +++ /dev/null @@ -1,43 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Util; - -use PHPUnit\Framework\TestCase; -use PHPUnit\Framework\TestSuite; -use PHPUnit\Runner\PhptTestCase; - -final class TextTestListRenderer -{ - public function render(TestSuite $suite): string - { - $buffer = 'Available test(s):' . \PHP_EOL; - - foreach (new \RecursiveIteratorIterator($suite->getIterator()) as $test) { - if ($test instanceof TestCase) { - $name = \sprintf( - '%s::%s', - \get_class($test), - \str_replace(' with data set ', '', $test->getName()) - ); - } elseif ($test instanceof PhptTestCase) { - $name = $test->getName(); - } else { - continue; - } - - $buffer .= \sprintf( - ' - %s' . \PHP_EOL, - $name - ); - } - - return $buffer; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Util/Type.php b/paragonik-backend/vendor/phpunit/phpunit/src/Util/Type.php deleted file mode 100644 index 587761e..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Util/Type.php +++ /dev/null @@ -1,36 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Util; - -final class Type -{ - public static function isType(string $type): bool - { - switch ($type) { - case 'numeric': - case 'integer': - case 'int': - case 'iterable': - case 'float': - case 'string': - case 'boolean': - case 'bool': - case 'null': - case 'array': - case 'object': - case 'resource': - case 'scalar': - return true; - - default: - return false; - } - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Util/XdebugFilterScriptGenerator.php b/paragonik-backend/vendor/phpunit/phpunit/src/Util/XdebugFilterScriptGenerator.php deleted file mode 100644 index d35f6be..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Util/XdebugFilterScriptGenerator.php +++ /dev/null @@ -1,72 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Util; - -final class XdebugFilterScriptGenerator -{ - public function generate(array $filterData): string - { - $items = $this->getWhitelistItems($filterData); - - $files = \array_map( - function ($item) { - return \sprintf( - " '%s'", - $item - ); - }, - $items - ); - - $files = \implode(",\n", $files); - - return << - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Util; - -use DOMCharacterData; -use DOMDocument; -use DOMElement; -use DOMNode; -use DOMText; -use PHPUnit\Framework\Exception; -use ReflectionClass; - -final class Xml -{ - public static function import(DOMElement $element): DOMElement - { - $document = new DOMDocument; - - return $document->importNode($element, true); - } - - /** - * Load an $actual document into a DOMDocument. This is called - * from the selector assertions. - * - * If $actual is already a DOMDocument, it is returned with - * no changes. Otherwise, $actual is loaded into a new DOMDocument - * as either HTML or XML, depending on the value of $isHtml. If $isHtml is - * false and $xinclude is true, xinclude is performed on the loaded - * DOMDocument. - * - * Note: prior to PHPUnit 3.3.0, this method loaded a file and - * not a string as it currently does. To load a file into a - * DOMDocument, use loadFile() instead. - * - * @param DOMDocument|string $actual - * - * @throws Exception - */ - public static function load($actual, bool $isHtml = false, string $filename = '', bool $xinclude = false, bool $strict = false): DOMDocument - { - if ($actual instanceof DOMDocument) { - return $actual; - } - - if (!\is_string($actual)) { - throw new Exception('Could not load XML from ' . \gettype($actual)); - } - - if ($actual === '') { - throw new Exception('Could not load XML from empty string'); - } - - // Required for XInclude on Windows. - if ($xinclude) { - $cwd = \getcwd(); - @\chdir(\dirname($filename)); - } - - $document = new DOMDocument; - $document->preserveWhiteSpace = false; - - $internal = \libxml_use_internal_errors(true); - $message = ''; - $reporting = \error_reporting(0); - - if ($filename !== '') { - // Required for XInclude - $document->documentURI = $filename; - } - - if ($isHtml) { - $loaded = $document->loadHTML($actual); - } else { - $loaded = $document->loadXML($actual); - } - - if (!$isHtml && $xinclude) { - $document->xinclude(); - } - - foreach (\libxml_get_errors() as $error) { - $message .= "\n" . $error->message; - } - - \libxml_use_internal_errors($internal); - \error_reporting($reporting); - - if (isset($cwd)) { - @\chdir($cwd); - } - - if ($loaded === false || ($strict && $message !== '')) { - if ($filename !== '') { - throw new Exception( - \sprintf( - 'Could not load "%s".%s', - $filename, - $message !== '' ? "\n" . $message : '' - ) - ); - } - - if ($message === '') { - $message = 'Could not load XML for unknown reason'; - } - - throw new Exception($message); - } - - return $document; - } - - /** - * Loads an XML (or HTML) file into a DOMDocument object. - * - * @throws Exception - */ - public static function loadFile(string $filename, bool $isHtml = false, bool $xinclude = false, bool $strict = false): DOMDocument - { - $reporting = \error_reporting(0); - $contents = \file_get_contents($filename); - - \error_reporting($reporting); - - if ($contents === false) { - throw new Exception( - \sprintf( - 'Could not read "%s".', - $filename - ) - ); - } - - return self::load($contents, $isHtml, $filename, $xinclude, $strict); - } - - public static function removeCharacterDataNodes(DOMNode $node): void - { - if ($node->hasChildNodes()) { - for ($i = $node->childNodes->length - 1; $i >= 0; $i--) { - if (($child = $node->childNodes->item($i)) instanceof DOMCharacterData) { - $node->removeChild($child); - } - } - } - } - - /** - * Escapes a string for the use in XML documents - * - * Any Unicode character is allowed, excluding the surrogate blocks, FFFE, - * and FFFF (not even as character reference). - * - * @see https://www.w3.org/TR/xml/#charsets - */ - public static function prepareString(string $string): string - { - return \preg_replace( - '/[\\x00-\\x08\\x0b\\x0c\\x0e-\\x1f\\x7f]/', - '', - \htmlspecialchars( - self::convertToUtf8($string), - \ENT_QUOTES - ) - ); - } - - /** - * "Convert" a DOMElement object into a PHP variable. - */ - public static function xmlToVariable(DOMElement $element) - { - $variable = null; - - switch ($element->tagName) { - case 'array': - $variable = []; - - foreach ($element->childNodes as $entry) { - if (!$entry instanceof DOMElement || $entry->tagName !== 'element') { - continue; - } - $item = $entry->childNodes->item(0); - - if ($item instanceof DOMText) { - $item = $entry->childNodes->item(1); - } - - $value = self::xmlToVariable($item); - - if ($entry->hasAttribute('key')) { - $variable[(string) $entry->getAttribute('key')] = $value; - } else { - $variable[] = $value; - } - } - - break; - - case 'object': - $className = $element->getAttribute('class'); - - if ($element->hasChildNodes()) { - $arguments = $element->childNodes->item(0)->childNodes; - $constructorArgs = []; - - foreach ($arguments as $argument) { - if ($argument instanceof DOMElement) { - $constructorArgs[] = self::xmlToVariable($argument); - } - } - - $class = new ReflectionClass($className); - $variable = $class->newInstanceArgs($constructorArgs); - } else { - $variable = new $className; - } - - break; - - case 'boolean': - $variable = $element->textContent === 'true'; - - break; - - case 'integer': - case 'double': - case 'string': - $variable = $element->textContent; - - \settype($variable, $element->tagName); - - break; - } - - return $variable; - } - - private static function convertToUtf8(string $string): string - { - if (!self::isUtf8($string)) { - $string = \mb_convert_encoding($string, 'UTF-8'); - } - - return $string; - } - - private static function isUtf8(string $string): bool - { - $length = \strlen($string); - - for ($i = 0; $i < $length; $i++) { - if (\ord($string[$i]) < 0x80) { - $n = 0; - } elseif ((\ord($string[$i]) & 0xE0) === 0xC0) { - $n = 1; - } elseif ((\ord($string[$i]) & 0xF0) === 0xE0) { - $n = 2; - } elseif ((\ord($string[$i]) & 0xF0) === 0xF0) { - $n = 3; - } else { - return false; - } - - for ($j = 0; $j < $n; $j++) { - if ((++$i === $length) || ((\ord($string[$i]) & 0xC0) !== 0x80)) { - return false; - } - } - } - - return true; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/src/Util/XmlTestListRenderer.php b/paragonik-backend/vendor/phpunit/phpunit/src/Util/XmlTestListRenderer.php deleted file mode 100644 index e374a87..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/src/Util/XmlTestListRenderer.php +++ /dev/null @@ -1,81 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Util; - -use PHPUnit\Framework\TestCase; -use PHPUnit\Framework\TestSuite; -use PHPUnit\Runner\PhptTestCase; - -final class XmlTestListRenderer -{ - public function render(TestSuite $suite): string - { - $writer = new \XMLWriter; - - $writer->openMemory(); - $writer->setIndent(true); - $writer->startDocument(); - $writer->startElement('tests'); - - $currentTestCase = null; - - foreach (new \RecursiveIteratorIterator($suite->getIterator()) as $test) { - if ($test instanceof TestCase) { - if (\get_class($test) !== $currentTestCase) { - if ($currentTestCase !== null) { - $writer->endElement(); - } - - $writer->startElement('testCaseClass'); - $writer->writeAttribute('name', \get_class($test)); - - $currentTestCase = \get_class($test); - } - - $writer->startElement('testCaseMethod'); - $writer->writeAttribute('name', $test->getName(false)); - $writer->writeAttribute('groups', \implode(',', $test->getGroups())); - - if (!empty($test->getDataSetAsString(false))) { - $writer->writeAttribute( - 'dataSet', - \str_replace( - ' with data set ', - '', - $test->getDataSetAsString(false) - ) - ); - } - - $writer->endElement(); - } elseif ($test instanceof PhptTestCase) { - if ($currentTestCase !== null) { - $writer->endElement(); - - $currentTestCase = null; - } - - $writer->startElement('phptFile'); - $writer->writeAttribute('path', $test->getName()); - $writer->endElement(); - } else { - continue; - } - } - - if ($currentTestCase !== null) { - $writer->endElement(); - } - - $writer->endElement(); - - return $writer->outputMemory(); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/3194.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/3194.php deleted file mode 100644 index b59d958..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/3194.php +++ /dev/null @@ -1,42 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -use PHPUnit\Framework\TestCase; - -trait T3194 -{ - public function doSomethingElse(): bool - { - return true; - } -} - -final class C3194 -{ - use T3194; - - public function doSomething(): bool - { - return $this->doSomethingElse(); - } -} - -/** - * @covers C3194 - */ -final class Test3194 extends TestCase -{ - public function testOne(): void - { - $o = new C; - - $this->assertTrue($o->doSomething()); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/3530.wsdl b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/3530.wsdl deleted file mode 100644 index b94a1e0..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/3530.wsdl +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/AbstractMockTestClass.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/AbstractMockTestClass.php deleted file mode 100644 index ec318d0..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/AbstractMockTestClass.php +++ /dev/null @@ -1,18 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -abstract class AbstractMockTestClass implements MockTestInterface -{ - abstract public function doSomething(); - - public function returnAnything() - { - return 1; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/AbstractTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/AbstractTest.php deleted file mode 100644 index a519e37..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/AbstractTest.php +++ /dev/null @@ -1,18 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -abstract class AbstractTest extends TestCase -{ - public function testOne(): void - { - $this->assertTrue(true); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/AbstractTrait.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/AbstractTrait.php deleted file mode 100644 index 5e713f1..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/AbstractTrait.php +++ /dev/null @@ -1,23 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -trait AbstractTrait -{ - abstract public function doSomething(); - - public function mockableMethod() - { - return true; - } - - public function anotherMockableMethod() - { - return true; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/AnInterface.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/AnInterface.php deleted file mode 100644 index 3ffce14..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/AnInterface.php +++ /dev/null @@ -1,13 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -interface AnInterface -{ - public function doSomething(); -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/AnInterfaceWithReturnType.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/AnInterfaceWithReturnType.php deleted file mode 100644 index 058c45e..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/AnInterfaceWithReturnType.php +++ /dev/null @@ -1,13 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -interface AnInterfaceWithReturnType -{ - public function returnAnArray(): array; -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/AnotherInterface.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/AnotherInterface.php deleted file mode 100644 index 19aeeff..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/AnotherInterface.php +++ /dev/null @@ -1,13 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -interface AnotherInterface -{ - public function doSomethingElse(); -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/ArrayAccessible.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/ArrayAccessible.php deleted file mode 100644 index 171eebe..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/ArrayAccessible.php +++ /dev/null @@ -1,47 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -class ArrayAccessible implements ArrayAccess, IteratorAggregate -{ - private $array; - - public function __construct(array $array = []) - { - $this->array = $array; - } - - public function offsetExists($offset) - { - return \array_key_exists($offset, $this->array); - } - - public function offsetGet($offset) - { - return $this->array[$offset]; - } - - public function offsetSet($offset, $value): void - { - if (null === $offset) { - $this->array[] = $value; - } else { - $this->array[$offset] = $value; - } - } - - public function offsetUnset($offset): void - { - unset($this->array[$offset]); - } - - public function getIterator() - { - return new ArrayIterator($this->array); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/AssertionExample.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/AssertionExample.php deleted file mode 100644 index 30d659d..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/AssertionExample.php +++ /dev/null @@ -1,16 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -class AssertionExample -{ - public function doSomething(): void - { - \assert(false); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/AssertionExampleTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/AssertionExampleTest.php deleted file mode 100644 index 26a6569..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/AssertionExampleTest.php +++ /dev/null @@ -1,20 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class AssertionExampleTest extends TestCase -{ - public function testOne(): void - { - $e = new AssertionExample; - - $e->doSomething(); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/Author.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/Author.php deleted file mode 100644 index e5417eb..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/Author.php +++ /dev/null @@ -1,25 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * An author. - */ -class Author -{ - // the order of properties is important for testing the cycle! - public $books = []; - - private $name = ''; - - public function __construct($name) - { - $this->name = $name; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/BankAccount.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/BankAccount.php deleted file mode 100644 index b7d51d0..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/BankAccount.php +++ /dev/null @@ -1,80 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -class BankAccountException extends RuntimeException -{ -} - -/** - * A bank account. - */ -class BankAccount -{ - /** - * The bank account's balance. - * - * @var float - */ - protected $balance = 0; - - /** - * Returns the bank account's balance. - * - * @return float - */ - public function getBalance() - { - return $this->balance; - } - - /** - * Deposits an amount of money to the bank account. - * - * @param float $balance - * - * @throws BankAccountException - */ - public function depositMoney($balance) - { - $this->setBalance($this->getBalance() + $balance); - - return $this->getBalance(); - } - - /** - * Withdraws an amount of money from the bank account. - * - * @param float $balance - * - * @throws BankAccountException - */ - public function withdrawMoney($balance) - { - $this->setBalance($this->getBalance() - $balance); - - return $this->getBalance(); - } - - /** - * Sets the bank account's balance. - * - * @param float $balance - * - * @throws BankAccountException - */ - protected function setBalance($balance): void - { - if ($balance >= 0) { - $this->balance = $balance; - } else { - throw new BankAccountException; - } - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/BankAccountTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/BankAccountTest.php deleted file mode 100644 index b68dfc4..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/BankAccountTest.php +++ /dev/null @@ -1,93 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -/** - * Tests for the BankAccount class. - */ -class BankAccountTest extends TestCase -{ - protected $ba; - - protected function setUp(): void - { - $this->ba = new BankAccount; - } - - /** - * @covers BankAccount::getBalance - * @group balanceIsInitiallyZero - * @group specification - */ - public function testBalanceIsInitiallyZero(): void - { - /* @Given a fresh bank account */ - $ba = new BankAccount; - - /* @When I ask it for its balance */ - $balance = $ba->getBalance(); - - /* @Then I should get 0 */ - $this->assertEquals(0, $balance); - } - - /** - * @covers BankAccount::withdrawMoney - * @group balanceCannotBecomeNegative - * @group specification - */ - public function testBalanceCannotBecomeNegative(): void - { - try { - $this->ba->withdrawMoney(1); - } catch (BankAccountException $e) { - $this->assertEquals(0, $this->ba->getBalance()); - - return; - } - - $this->fail(); - } - - /** - * @covers BankAccount::depositMoney - * @group balanceCannotBecomeNegative - * @group specification - */ - public function testBalanceCannotBecomeNegative2(): void - { - try { - $this->ba->depositMoney(-1); - } catch (BankAccountException $e) { - $this->assertEquals(0, $this->ba->getBalance()); - - return; - } - - $this->fail(); - } - - /* - * @covers BankAccount::getBalance - * @covers BankAccount::depositMoney - * @covers BankAccount::withdrawMoney - * @group balanceCannotBecomeNegative - */ - /* - public function testDepositingAndWithdrawingMoneyWorks() - { - $this->assertEquals(0, $this->ba->getBalance()); - $this->ba->depositMoney(1); - $this->assertEquals(1, $this->ba->getBalance()); - $this->ba->withdrawMoney(1); - $this->assertEquals(0, $this->ba->getBalance()); - } - */ -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/BankAccountTest.test.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/BankAccountTest.test.php deleted file mode 100644 index ab2d60b..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/BankAccountTest.test.php +++ /dev/null @@ -1,86 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -/** - * Tests for the BankAccount class. - */ -class BankAccountWithCustomExtensionTest extends TestCase -{ - protected $ba; - - protected function setUp(): void - { - $this->ba = new BankAccount; - } - - /** - * @covers BankAccount::getBalance - * @group balanceIsInitiallyZero - * @group specification - */ - public function testBalanceIsInitiallyZero(): void - { - $this->assertEquals(0, $this->ba->getBalance()); - } - - /** - * @covers BankAccount::withdrawMoney - * @group balanceCannotBecomeNegative - * @group specification - */ - public function testBalanceCannotBecomeNegative(): void - { - try { - $this->ba->withdrawMoney(1); - } catch (BankAccountException $e) { - $this->assertEquals(0, $this->ba->getBalance()); - - return; - } - - $this->fail(); - } - - /** - * @covers BankAccount::depositMoney - * @group balanceCannotBecomeNegative - * @group specification - */ - public function testBalanceCannotBecomeNegative2(): void - { - try { - $this->ba->depositMoney(-1); - } catch (BankAccountException $e) { - $this->assertEquals(0, $this->ba->getBalance()); - - return; - } - - $this->fail(); - } - - /* - * @covers BankAccount::getBalance - * @covers BankAccount::depositMoney - * @covers BankAccount::withdrawMoney - * @group balanceCannotBecomeNegative - */ - /* - public function testDepositingAndWithdrawingMoneyWorks() - { - $this->assertEquals(0, $this->ba->getBalance()); - $this->ba->depositMoney(1); - $this->assertEquals(1, $this->ba->getBalance()); - $this->ba->withdrawMoney(1); - $this->assertEquals(0, $this->ba->getBalance()); - } - */ -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/BankAccountTest2.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/BankAccountTest2.php deleted file mode 100644 index 6e2aef7..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/BankAccountTest2.php +++ /dev/null @@ -1,56 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -use PHPUnit\Framework\TestCase; - -class BankAccountTest extends TestCase -{ - private $ba; - - protected function setUp(): void - { - $this->ba = new BankAccount; - } - - public function testBalanceIsInitiallyZero(): void - { - $ba = new BankAccount; - - $balance = $ba->getBalance(); - - $this->assertEquals(0, $balance); - } - - public function testBalanceCannotBecomeNegative(): void - { - try { - $this->ba->withdrawMoney(1); - } catch (BankAccountException $e) { - $this->assertEquals(0, $this->ba->getBalance()); - - return; - } - - $this->fail(); - } - - public function testBalanceCannotBecomeNegative2(): void - { - try { - $this->ba->depositMoney(-1); - } catch (BankAccountException $e) { - $this->assertEquals(0, $this->ba->getBalance()); - - return; - } - - $this->fail(); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/Bar.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/Bar.php deleted file mode 100644 index 669104d..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/Bar.php +++ /dev/null @@ -1,16 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -class Bar -{ - public function doSomethingElse() - { - return 'result'; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/BeforeAndAfterTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/BeforeAndAfterTest.php deleted file mode 100644 index 0ac856d..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/BeforeAndAfterTest.php +++ /dev/null @@ -1,47 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class BeforeAndAfterTest extends TestCase -{ - public static $beforeWasRun; - - public static $afterWasRun; - - public static function resetProperties(): void - { - self::$beforeWasRun = 0; - self::$afterWasRun = 0; - } - - /** - * @before - */ - public function initialSetup(): void - { - self::$beforeWasRun++; - } - - /** - * @after - */ - public function finalTeardown(): void - { - self::$afterWasRun++; - } - - public function test1(): void - { - } - - public function test2(): void - { - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/BeforeClassAndAfterClassTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/BeforeClassAndAfterClassTest.php deleted file mode 100644 index 6344af4..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/BeforeClassAndAfterClassTest.php +++ /dev/null @@ -1,47 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class BeforeClassAndAfterClassTest extends TestCase -{ - public static $beforeClassWasRun = 0; - - public static $afterClassWasRun = 0; - - public static function resetProperties(): void - { - self::$beforeClassWasRun = 0; - self::$afterClassWasRun = 0; - } - - /** - * @beforeClass - */ - public static function initialClassSetup(): void - { - self::$beforeClassWasRun++; - } - - /** - * @afterClass - */ - public static function finalClassTeardown(): void - { - self::$afterClassWasRun++; - } - - public function test1(): void - { - } - - public function test2(): void - { - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/BeforeClassWithOnlyDataProviderTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/BeforeClassWithOnlyDataProviderTest.php deleted file mode 100644 index ea68659..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/BeforeClassWithOnlyDataProviderTest.php +++ /dev/null @@ -1,48 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -class BeforeClassWithOnlyDataProviderTest extends \PHPUnit\Framework\TestCase -{ - public static $setUpBeforeClassWasCalled; - - public static $beforeClassWasCalled; - - public static function resetProperties(): void - { - self::$setUpBeforeClassWasCalled = false; - self::$beforeClassWasCalled = false; - } - - /** - * @beforeClass - */ - public static function someAnnotatedSetupMethod(): void - { - self::$beforeClassWasCalled = true; - } - - public static function setUpBeforeClass(): void - { - self::$setUpBeforeClassWasCalled = true; - } - - public function dummyProvider() - { - return [[1]]; - } - - /** - * @dataProvider dummyProvider - * delete annotation to fail test case - */ - public function testDummy(): void - { - $this->assertFalse(false); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/Book.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/Book.php deleted file mode 100644 index 2e0f88b..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/Book.php +++ /dev/null @@ -1,18 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * A book. - */ -class Book -{ - // the order of properties is important for testing the cycle! - public $author; -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/Calculator.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/Calculator.php deleted file mode 100644 index c8ab513..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/Calculator.php +++ /dev/null @@ -1,22 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -class Calculator -{ - /** - * @assert (0, 0) == 0 - * @assert (0, 1) == 1 - * @assert (1, 0) == 1 - * @assert (1, 1) == 2 - */ - public function add($a, $b) - { - return $a + $b; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/ChangeCurrentWorkingDirectoryTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/ChangeCurrentWorkingDirectoryTest.php deleted file mode 100644 index c0cc608..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/ChangeCurrentWorkingDirectoryTest.php +++ /dev/null @@ -1,19 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class ChangeCurrentWorkingDirectoryTest extends TestCase -{ - public function testSomethingThatChangesTheCwd(): void - { - \chdir('../'); - $this->assertTrue(true); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/ClassThatImplementsSerializable.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/ClassThatImplementsSerializable.php deleted file mode 100644 index d795036..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/ClassThatImplementsSerializable.php +++ /dev/null @@ -1,23 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -class ClassThatImplementsSerializable implements Serializable -{ - public function serialize() - { - return \get_object_vars($this); - } - - public function unserialize($serialized) - { - foreach (\unserialize($serialized) as $key => $value) { - $this->{$key} = $value; - } - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/ClassWithAllPossibleReturnTypes.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/ClassWithAllPossibleReturnTypes.php deleted file mode 100644 index 9af8ef0..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/ClassWithAllPossibleReturnTypes.php +++ /dev/null @@ -1,64 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -class ClassWithAllPossibleReturnTypes -{ - public function methodWithNoReturnTypeDeclaration() - { - } - - public function methodWithVoidReturnTypeDeclaration(): void - { - } - - public function methodWithStringReturnTypeDeclaration(): string - { - return 'string'; - } - - public function methodWithFloatReturnTypeDeclaration(): float - { - return 1.0; - } - - public function methodWithIntReturnTypeDeclaration(): int - { - return 1; - } - - public function methodWithBoolReturnTypeDeclaration(): bool - { - return true; - } - - public function methodWithArrayReturnTypeDeclaration(): array - { - return ['string']; - } - - public function methodWithTraversableReturnTypeDeclaration(): Traversable - { - return new ArrayIterator(['string']); - } - - public function methodWithGeneratorReturnTypeDeclaration(): Generator - { - yield 1; - } - - public function methodWithObjectReturnTypeDeclaration(): object - { - return new Exception; - } - - public function methodWithClassReturnTypeDeclaration(): stdClass - { - return new stdClass; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/ClassWithNonPublicAttributes.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/ClassWithNonPublicAttributes.php deleted file mode 100644 index 3cabd9a..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/ClassWithNonPublicAttributes.php +++ /dev/null @@ -1,47 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -class ParentClassWithPrivateAttributes -{ - private static $privateStaticParentAttribute = 'foo'; - - private $privateParentAttribute = 'bar'; -} - -class ParentClassWithProtectedAttributes extends ParentClassWithPrivateAttributes -{ - protected static $protectedStaticParentAttribute = 'foo'; - - protected $protectedParentAttribute = 'bar'; -} - -class ClassWithNonPublicAttributes extends ParentClassWithProtectedAttributes -{ - public static $publicStaticAttribute = 'foo'; - - protected static $protectedStaticAttribute = 'bar'; - - protected static $privateStaticAttribute = 'baz'; - - public $publicAttribute = 'foo'; - - public $foo = 1; - - public $bar = 2; - - public $publicArray = ['foo']; - - protected $protectedAttribute = 'bar'; - - protected $privateAttribute = 'baz'; - - protected $protectedArray = ['bar']; - - protected $privateArray = ['baz']; -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/ClassWithScalarTypeDeclarations.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/ClassWithScalarTypeDeclarations.php deleted file mode 100644 index 0780e24..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/ClassWithScalarTypeDeclarations.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -class ClassWithScalarTypeDeclarations -{ - public function foo(string $string, int $int): void - { - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/ClassWithSelfTypeHint.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/ClassWithSelfTypeHint.php deleted file mode 100644 index ee597bc..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/ClassWithSelfTypeHint.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -class ClassWithSelfTypeHint -{ - public function foo(self $foo) - { - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/ClassWithStaticMethod.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/ClassWithStaticMethod.php deleted file mode 100644 index 6b2618a..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/ClassWithStaticMethod.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -class ClassWithStaticMethod -{ - public static function staticMethod() - { - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/ClassWithToString.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/ClassWithToString.php deleted file mode 100644 index ec9edd1..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/ClassWithToString.php +++ /dev/null @@ -1,20 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * A class with a __toString() method. - */ -class ClassWithToString -{ - public function __toString() - { - return 'string representation'; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/ClassWithVariadicArgumentMethod.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/ClassWithVariadicArgumentMethod.php deleted file mode 100644 index 281cc94..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/ClassWithVariadicArgumentMethod.php +++ /dev/null @@ -1,20 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * A class with a method that takes a variadic argument. - */ -class ClassWithVariadicArgumentMethod -{ - public function foo(...$args) - { - return $args; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/ClonedDependencyTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/ClonedDependencyTest.php deleted file mode 100644 index 93adb1e..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/ClonedDependencyTest.php +++ /dev/null @@ -1,67 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class ClonedDependencyTest extends TestCase -{ - private static $dependency; - - public static function setUpBeforeClass(): void - { - self::$dependency = new stdClass; - } - - public function testOne() - { - $this->assertTrue(true); - - return self::$dependency; - } - - /** - * @depends testOne - */ - public function testTwo($dependency): void - { - $this->assertSame(self::$dependency, $dependency); - } - - /** - * @depends !clone testOne - */ - public function testThree($dependency): void - { - $this->assertSame(self::$dependency, $dependency); - } - - /** - * @depends clone testOne - */ - public function testFour($dependency): void - { - $this->assertNotSame(self::$dependency, $dependency); - } - - /** - * @depends !shallowClone testOne - */ - public function testFive($dependency): void - { - $this->assertSame(self::$dependency, $dependency); - } - - /** - * @depends shallowClone testOne - */ - public function testSix($dependency): void - { - $this->assertNotSame(self::$dependency, $dependency); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/ConcreteTest.my.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/ConcreteTest.my.php deleted file mode 100644 index 739cd0f..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/ConcreteTest.my.php +++ /dev/null @@ -1,16 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -class ConcreteWithMyCustomExtensionTest extends AbstractTest -{ - public function testTwo(): void - { - $this->assertTrue(true); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/ConcreteTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/ConcreteTest.php deleted file mode 100644 index 8e6d496..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/ConcreteTest.php +++ /dev/null @@ -1,16 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -class ConcreteTest extends AbstractTest -{ - public function testTwo(): void - { - $this->assertTrue(true); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/CountConstraint.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/CountConstraint.php deleted file mode 100644 index 8262e44..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/CountConstraint.php +++ /dev/null @@ -1,45 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\Constraint\Constraint; - -final class CountConstraint extends Constraint -{ - /** - * @var int - */ - private $count; - - public static function fromCount(int $count): self - { - $instance = new self; - - $instance->count = $count; - - return $instance; - } - - public function matches($other): bool - { - return true; - } - - public function toString(): string - { - return \sprintf( - 'is accepted by %s', - self::class - ); - } - - public function count(): int - { - return $this->count; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/CoverageClassExtendedTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/CoverageClassExtendedTest.php deleted file mode 100644 index cf1a85e..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/CoverageClassExtendedTest.php +++ /dev/null @@ -1,22 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class CoverageClassExtendedTest extends TestCase -{ - /** - * @covers CoveredClass - */ - public function testSomething(): void - { - $o = new CoveredClass; - $o->publicMethod(); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/CoverageClassNothingTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/CoverageClassNothingTest.php deleted file mode 100644 index b0355ff..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/CoverageClassNothingTest.php +++ /dev/null @@ -1,22 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -/** - * @coversNothing - */ -class CoverageClassNothingTest extends TestCase -{ - public function testSomething(): void - { - $o = new CoveredClass; - $o->publicMethod(); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/CoverageClassTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/CoverageClassTest.php deleted file mode 100644 index e9710a9..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/CoverageClassTest.php +++ /dev/null @@ -1,22 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class CoverageClassTest extends TestCase -{ - /** - * @covers CoveredClass - */ - public function testSomething(): void - { - $o = new CoveredClass; - $o->publicMethod(); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/CoverageClassWithoutAnnotationsTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/CoverageClassWithoutAnnotationsTest.php deleted file mode 100644 index b02028a..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/CoverageClassWithoutAnnotationsTest.php +++ /dev/null @@ -1,19 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class CoverageClassWithoutAnnotationsTest extends TestCase -{ - public function testSomething(): void - { - $o = new CoveredClass; - $o->publicMethod(); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/CoverageCoversOverridesCoversNothingTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/CoverageCoversOverridesCoversNothingTest.php deleted file mode 100644 index 6929367..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/CoverageCoversOverridesCoversNothingTest.php +++ /dev/null @@ -1,25 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -/** - * @coversNothing - */ -class CoverageCoversOverridesCoversNothingTest extends TestCase -{ - /** - * @covers CoveredClass::publicMethod - */ - public function testSomething(): void - { - $o = new CoveredClass; - $o->publicMethod(); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/CoverageFunctionParenthesesTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/CoverageFunctionParenthesesTest.php deleted file mode 100644 index 6f118f4..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/CoverageFunctionParenthesesTest.php +++ /dev/null @@ -1,21 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class CoverageFunctionParenthesesTest extends TestCase -{ - /** - * @covers ::globalFunction() - */ - public function testSomething(): void - { - globalFunction(); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/CoverageFunctionParenthesesWhitespaceTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/CoverageFunctionParenthesesWhitespaceTest.php deleted file mode 100644 index ffea17c..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/CoverageFunctionParenthesesWhitespaceTest.php +++ /dev/null @@ -1,21 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class CoverageFunctionParenthesesWhitespaceTest extends TestCase -{ - /** - * @covers ::globalFunction ( ) - */ - public function testSomething(): void - { - globalFunction(); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/CoverageFunctionTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/CoverageFunctionTest.php deleted file mode 100644 index 75479c7..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/CoverageFunctionTest.php +++ /dev/null @@ -1,21 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class CoverageFunctionTest extends TestCase -{ - /** - * @covers ::globalFunction - */ - public function testSomething(): void - { - globalFunction(); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/CoverageMethodNothingCoversMethod.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/CoverageMethodNothingCoversMethod.php deleted file mode 100644 index f594452..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/CoverageMethodNothingCoversMethod.php +++ /dev/null @@ -1,23 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class CoverageMethodNothingCoversMethod extends TestCase -{ - /** - * @covers CoveredClass::publicMethod - * @coversNothing - */ - public function testSomething(): void - { - $o = new CoveredClass; - $o->publicMethod(); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/CoverageMethodNothingTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/CoverageMethodNothingTest.php deleted file mode 100644 index a3b6278..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/CoverageMethodNothingTest.php +++ /dev/null @@ -1,22 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class CoverageMethodNothingTest extends TestCase -{ - /** - * @coversNothing - */ - public function testSomething(): void - { - $o = new CoveredClass; - $o->publicMethod(); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/CoverageMethodOneLineAnnotationTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/CoverageMethodOneLineAnnotationTest.php deleted file mode 100644 index 198f576..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/CoverageMethodOneLineAnnotationTest.php +++ /dev/null @@ -1,20 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class CoverageMethodOneLineAnnotationTest extends TestCase -{ - /** @covers CoveredClass::publicMethod */ - public function testSomething(): void - { - $o = new CoveredClass; - $o->publicMethod(); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/CoverageMethodParenthesesTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/CoverageMethodParenthesesTest.php deleted file mode 100644 index 341cbbe..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/CoverageMethodParenthesesTest.php +++ /dev/null @@ -1,22 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class CoverageMethodParenthesesTest extends TestCase -{ - /** - * @covers CoveredClass::publicMethod() - */ - public function testSomething(): void - { - $o = new CoveredClass; - $o->publicMethod(); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/CoverageMethodParenthesesWhitespaceTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/CoverageMethodParenthesesWhitespaceTest.php deleted file mode 100644 index 58bf8b5..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/CoverageMethodParenthesesWhitespaceTest.php +++ /dev/null @@ -1,22 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class CoverageMethodParenthesesWhitespaceTest extends TestCase -{ - /** - * @covers CoveredClass::publicMethod ( ) - */ - public function testSomething(): void - { - $o = new CoveredClass; - $o->publicMethod(); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/CoverageMethodTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/CoverageMethodTest.php deleted file mode 100644 index 4013efc..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/CoverageMethodTest.php +++ /dev/null @@ -1,22 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class CoverageMethodTest extends TestCase -{ - /** - * @covers CoveredClass::publicMethod - */ - public function testSomething(): void - { - $o = new CoveredClass; - $o->publicMethod(); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/CoverageNamespacedFunctionTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/CoverageNamespacedFunctionTest.php deleted file mode 100644 index 97afd87..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/CoverageNamespacedFunctionTest.php +++ /dev/null @@ -1,21 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class CoverageNamespacedFunctionTest extends TestCase -{ - /** - * @covers foo\func() - */ - public function testFunc(): void - { - foo\func(); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/CoverageNoneTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/CoverageNoneTest.php deleted file mode 100644 index 268de4c..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/CoverageNoneTest.php +++ /dev/null @@ -1,19 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class CoverageNoneTest extends TestCase -{ - public function testSomething(): void - { - $o = new CoveredClass; - $o->publicMethod(); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/CoverageNotPrivateTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/CoverageNotPrivateTest.php deleted file mode 100644 index 2e37c28..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/CoverageNotPrivateTest.php +++ /dev/null @@ -1,22 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class CoverageNotPrivateTest extends TestCase -{ - /** - * @covers CoveredClass:: - */ - public function testSomething(): void - { - $o = new CoveredClass; - $o->publicMethod(); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/CoverageNotProtectedTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/CoverageNotProtectedTest.php deleted file mode 100644 index 310154f..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/CoverageNotProtectedTest.php +++ /dev/null @@ -1,22 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class CoverageNotProtectedTest extends TestCase -{ - /** - * @covers CoveredClass:: - */ - public function testSomething(): void - { - $o = new CoveredClass; - $o->publicMethod(); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/CoverageNotPublicTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/CoverageNotPublicTest.php deleted file mode 100644 index 9f6c41b..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/CoverageNotPublicTest.php +++ /dev/null @@ -1,22 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class CoverageNotPublicTest extends TestCase -{ - /** - * @covers CoveredClass:: - */ - public function testSomething(): void - { - $o = new CoveredClass; - $o->publicMethod(); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/CoveragePrivateTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/CoveragePrivateTest.php deleted file mode 100644 index 741899a..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/CoveragePrivateTest.php +++ /dev/null @@ -1,22 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class CoveragePrivateTest extends TestCase -{ - /** - * @covers CoveredClass:: - */ - public function testSomething(): void - { - $o = new CoveredClass; - $o->publicMethod(); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/CoverageProtectedTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/CoverageProtectedTest.php deleted file mode 100644 index 3fded37..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/CoverageProtectedTest.php +++ /dev/null @@ -1,22 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class CoverageProtectedTest extends TestCase -{ - /** - * @covers CoveredClass:: - */ - public function testSomething(): void - { - $o = new CoveredClass; - $o->publicMethod(); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/CoveragePublicTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/CoveragePublicTest.php deleted file mode 100644 index e7f5f3e..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/CoveragePublicTest.php +++ /dev/null @@ -1,22 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class CoveragePublicTest extends TestCase -{ - /** - * @covers CoveredClass:: - */ - public function testSomething(): void - { - $o = new CoveredClass; - $o->publicMethod(); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/CoverageTwoDefaultClassAnnotations.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/CoverageTwoDefaultClassAnnotations.php deleted file mode 100644 index 35a3e8b..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/CoverageTwoDefaultClassAnnotations.php +++ /dev/null @@ -1,25 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * @coversDefaultClass \NamespaceOne - * @coversDefaultClass \AnotherDefault\Name\Space\Does\Not\Work - */ -class CoverageTwoDefaultClassAnnotations -{ - /** - * @covers Foo\CoveredClass:: - */ - public function testSomething(): void - { - $o = new Foo\CoveredClass; - $o->publicMethod(); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/CoveredClass.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/CoveredClass.php deleted file mode 100644 index 283b849..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/CoveredClass.php +++ /dev/null @@ -1,44 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -class CoveredParentClass -{ - public function publicMethod(): void - { - $this->protectedMethod(); - } - - protected function protectedMethod(): void - { - $this->privateMethod(); - } - - private function privateMethod(): void - { - } -} - -class CoveredClass extends CoveredParentClass -{ - public function publicMethod(): void - { - parent::publicMethod(); - $this->protectedMethod(); - } - - protected function protectedMethod(): void - { - parent::protectedMethod(); - $this->privateMethod(); - } - - private function privateMethod(): void - { - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/CoveredFunction.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/CoveredFunction.php deleted file mode 100644 index a2b3a3b..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/CoveredFunction.php +++ /dev/null @@ -1,12 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -function globalFunction(): void -{ -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/CustomPrinter.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/CustomPrinter.php deleted file mode 100644 index c3eea05..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/CustomPrinter.php +++ /dev/null @@ -1,14 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\TextUI\ResultPrinter; - -class CustomPrinter extends ResultPrinter -{ -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/DataProviderDebugTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/DataProviderDebugTest.php deleted file mode 100644 index de14779..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/DataProviderDebugTest.php +++ /dev/null @@ -1,58 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class DataProviderDebugTest extends TestCase -{ - public static function provider() - { - $obj2 = new \stdClass; - $obj2->foo = 'bar'; - - $obj3 = (object) [1, 2, "Test\r\n", 4, 5, 6, 7, 8]; - - $obj = new \stdClass; - //@codingStandardsIgnoreStart - $obj->null = null; - //@codingStandardsIgnoreEnd - $obj->boolean = true; - $obj->integer = 1; - $obj->double = 1.2; - $obj->string = '1'; - $obj->text = "this\nis\na\nvery\nvery\nvery\nvery\nvery\nvery\rlong\n\rtext"; - $obj->object = $obj2; - $obj->objectagain = $obj2; - $obj->array = ['foo' => 'bar']; - $obj->self = $obj; - - $storage = new \SplObjectStorage; - $storage->attach($obj2); - $storage->foo = $obj; - - return [ - [null, true, 1, 1.0], - [1.2, \fopen('php://memory', 'r'), '1'], - [[[1, 2, 3], [3, 4, 5]]], - // \n\r and \r is converted to \n - ["this\nis\na\nvery\nvery\nvery\nvery\nvery\nvery\rlong\n\rtext"], - [new \stdClass, $obj, [], $storage, $obj3], - [\chr(0) . \chr(1) . \chr(2) . \chr(3) . \chr(4) . \chr(5), \implode('', \array_map('chr', \range(0x0e, 0x1f)))], - [\chr(0x00) . \chr(0x09)], - ]; - } - - /** - * @dataProvider provider - */ - public function testProvider(): void - { - $this->assertTrue(true); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/DataProviderDependencyTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/DataProviderDependencyTest.php deleted file mode 100644 index 38ed4bd..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/DataProviderDependencyTest.php +++ /dev/null @@ -1,33 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -class DataProviderDependencyTest extends PHPUnit\Framework\TestCase -{ - public function testReference(): void - { - $this->markTestSkipped('This test should be skipped.'); - $this->assertTrue(true); - } - - /** - * @see https://github.com/sebastianbergmann/phpunit/issues/1896 - * @depends testReference - * @dataProvider provider - */ - public function testDependency($param): void - { - } - - public function provider() - { - $this->markTestSkipped('Any test with this data provider should be skipped.'); - - return []; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/DataProviderFilterTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/DataProviderFilterTest.php deleted file mode 100644 index ace0b6b..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/DataProviderFilterTest.php +++ /dev/null @@ -1,49 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class DataProviderFilterTest extends TestCase -{ - public static function truthProvider() - { - return [ - [true], - [true], - [true], - [true], - ]; - } - - public static function falseProvider() - { - return [ - 'false test' => [false], - 'false test 2' => [false], - 'other false test' => [false], - 'other false test2'=> [false], - ]; - } - - /** - * @dataProvider truthProvider - */ - public function testTrue($truth): void - { - $this->assertTrue($truth); - } - - /** - * @dataProvider falseProvider - */ - public function testFalse($false): void - { - $this->assertFalse($false); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/DataProviderIncompleteTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/DataProviderIncompleteTest.php deleted file mode 100644 index 24af21e..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/DataProviderIncompleteTest.php +++ /dev/null @@ -1,47 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class DataProviderIncompleteTest extends TestCase -{ - public static function providerMethod() - { - return [ - [0, 0, 0], - [0, 1, 1], - ]; - } - - /** - * @dataProvider incompleteTestProviderMethod - */ - public function testIncomplete($a, $b, $c): void - { - $this->assertTrue(true); - } - - /** - * @dataProvider providerMethod - */ - public function testAdd($a, $b, $c): void - { - $this->assertEquals($c, $a + $b); - } - - public function incompleteTestProviderMethod() - { - $this->markTestIncomplete('incomplete'); - - return [ - [0, 0, 0], - [0, 1, 1], - ]; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/DataProviderIssue2833/FirstTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/DataProviderIssue2833/FirstTest.php deleted file mode 100644 index 4c10ce8..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/DataProviderIssue2833/FirstTest.php +++ /dev/null @@ -1,30 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace Foo\DataProviderIssue2833; - -use PHPUnit\Framework\TestCase; - -class FirstTest extends TestCase -{ - /** - * @dataProvider provide - */ - public function testFirst($x): void - { - $this->assertTrue(true); - } - - public function provide() - { - SecondTest::DUMMY; - - return [[true]]; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/DataProviderIssue2833/SecondTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/DataProviderIssue2833/SecondTest.php deleted file mode 100644 index 8fa706c..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/DataProviderIssue2833/SecondTest.php +++ /dev/null @@ -1,22 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace Foo\DataProviderIssue2833; - -use PHPUnit\Framework\TestCase; - -class SecondTest extends TestCase -{ - public const DUMMY = 'dummy'; - - public function testSecond(): void - { - $this->assertTrue(true); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/DataProviderIssue2859/phpunit.xml b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/DataProviderIssue2859/phpunit.xml deleted file mode 100644 index 1e47e51..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/DataProviderIssue2859/phpunit.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - ./tests/ - ./tests/*/ - - - diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/DataProviderIssue2859/tests/another/TestWithDataProviderTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/DataProviderIssue2859/tests/another/TestWithDataProviderTest.php deleted file mode 100644 index 69323f8..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/DataProviderIssue2859/tests/another/TestWithDataProviderTest.php +++ /dev/null @@ -1,28 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace Foo\DataProviderIssue2859; - -use PHPUnit\Framework\TestCase; - -class TestWithDataProviderTest extends TestCase -{ - /** - * @dataProvider provide - */ - public function testFirst($x): void - { - $this->assertTrue(true); - } - - public function provide() - { - return [[true]]; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/DataProviderIssue2922/FirstTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/DataProviderIssue2922/FirstTest.php deleted file mode 100644 index fe6202e..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/DataProviderIssue2922/FirstTest.php +++ /dev/null @@ -1,31 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace Foo\DataProviderIssue2922; - -use PHPUnit\Framework\TestCase; - -/** - * @group foo - */ -class FirstTest extends TestCase -{ - /** - * @dataProvider provide - */ - public function testFirst($x): void - { - $this->assertTrue(true); - } - - public function provide(): void - { - throw new \Exception; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/DataProviderIssue2922/SecondTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/DataProviderIssue2922/SecondTest.php deleted file mode 100644 index 3f3251d..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/DataProviderIssue2922/SecondTest.php +++ /dev/null @@ -1,21 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace Foo\DataProviderIssue2922; - -use PHPUnit\Framework\TestCase; - -// the name of the class cannot match file name - if they match all is fine -class SecondHelloWorldTest extends TestCase -{ - public function testSecond(): void - { - $this->assertTrue(true); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/DataProviderSkippedTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/DataProviderSkippedTest.php deleted file mode 100644 index 9ca1b98..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/DataProviderSkippedTest.php +++ /dev/null @@ -1,47 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class DataProviderSkippedTest extends TestCase -{ - public static function providerMethod() - { - return [ - [0, 0, 0], - [0, 1, 1], - ]; - } - - /** - * @dataProvider skippedTestProviderMethod - */ - public function testSkipped($a, $b, $c): void - { - $this->assertTrue(true); - } - - /** - * @dataProvider providerMethod - */ - public function testAdd($a, $b, $c): void - { - $this->assertEquals($c, $a + $b); - } - - public function skippedTestProviderMethod() - { - $this->markTestSkipped('skipped'); - - return [ - [0, 0, 0], - [0, 1, 1], - ]; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/DataProviderTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/DataProviderTest.php deleted file mode 100644 index 1fdcc16..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/DataProviderTest.php +++ /dev/null @@ -1,31 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class DataProviderTest extends TestCase -{ - public static function providerMethod() - { - return [ - [0, 0, 0], - [0, 1, 1], - [1, 1, 3], - [1, 0, 1], - ]; - } - - /** - * @dataProvider providerMethod - */ - public function testAdd($a, $b, $c): void - { - $this->assertEquals($c, $a + $b); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/DataProviderTestDoxTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/DataProviderTestDoxTest.php deleted file mode 100644 index 72515b2..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/DataProviderTestDoxTest.php +++ /dev/null @@ -1,83 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class DataProviderTestDoxTest extends TestCase -{ - /** - * @dataProvider provider - * @testdox Does something - */ - public function testOne(): void - { - $this->assertTrue(true); - } - - /** - * @dataProvider provider - */ - public function testDoesSomethingElse(): void - { - $this->assertTrue(true); - } - - /** - * @dataProvider providerWithIndexedArray - */ - public function testWithProviderWithIndexedArray($value): void - { - $this->assertTrue(true); - } - - /** - * @dataProvider placeHolderprovider - * @testdox ... $value ... - */ - public function testWithPlaceholders($value): void - { - $this->assertTrue(true); - } - - public function provider() - { - return [ - 'one' => [1], - 'two' => [2], - ]; - } - - public function providerWithIndexedArray() - { - return [ - ['first'], - ['second'], - ]; - } - - public function placeHolderprovider(): array - { - return [ - 'boolean' => [true], - 'integer' => [1], - 'float' => [1.0], - 'string' => ['string'], - 'array' => [[1, 2, 3]], - 'object' => [new \stdClass], - 'stringableObject' => [new class { - public function __toString() - { - return 'string'; - } - }], - 'resource' => [\fopen(__FILE__, 'rb')], - 'null' => [null], - ]; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/DataproviderExecutionOrderTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/DataproviderExecutionOrderTest.php deleted file mode 100644 index b920d71..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/DataproviderExecutionOrderTest.php +++ /dev/null @@ -1,48 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class DataproviderExecutionOrderTest extends TestCase -{ - public function testFirstTestThatAlwaysWorks() - { - $this->assertTrue(true); - } - - /** - * @dataProvider dataproviderAdditions - */ - public function testAddNumbersWithADataprovider(int $a, int $b, int $sum) - { - $this->assertSame($sum, $a + $b); - } - - public function testTestInTheMiddleThatAlwaysWorks() - { - $this->assertTrue(true); - } - - /** - * @dataProvider dataproviderAdditions - */ - public function testAddMoreNumbersWithADataprovider(int $a, int $b, int $sum) - { - $this->assertSame($sum, $a + $b); - } - - public function dataproviderAdditions() - { - return [ - '1+2=3' => [1, 2, 3], - '2+1=3' => [2, 1, 3], - '1+1=3' => [1, 1, 3], - ]; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/DataproviderExecutionOrderTest_result_cache.txt b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/DataproviderExecutionOrderTest_result_cache.txt deleted file mode 100644 index 516a9eb..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/DataproviderExecutionOrderTest_result_cache.txt +++ /dev/null @@ -1 +0,0 @@ -C:30:"PHPUnit\Runner\TestResultCache":2119:{a:2:{s:7:"defects";a:5:{s:60:"tests/end-to-end/regression/GitHub/3396/issue-3396-test.phpt";i:3;s:88:"MultiDependencyExecutionOrderTest::testAddNumbersWithADataprovider with data set "1+1=3"";i:3;s:92:"MultiDependencyExecutionOrderTest::testAddMoreNumbersWithADataprovider with data set "1+1=3"";i:3;s:85:"DataproviderExecutionOrderTest::testAddNumbersWithADataprovider with data set "1+1=3"";i:3;s:89:"DataproviderExecutionOrderTest::testAddMoreNumbersWithADataprovider with data set "1+1=3"";i:3;}s:5:"times";a:17:{s:60:"tests/end-to-end/regression/GitHub/3396/issue-3396-test.phpt";d:0.115;s:63:"MultiDependencyExecutionOrderTest::testFirstTestThatAlwaysWorks";d:0;s:88:"MultiDependencyExecutionOrderTest::testAddNumbersWithADataprovider with data set "1+2=3"";d:0;s:88:"MultiDependencyExecutionOrderTest::testAddNumbersWithADataprovider with data set "2+1=3"";d:0;s:88:"MultiDependencyExecutionOrderTest::testAddNumbersWithADataprovider with data set "1+1=3"";d:0.003;s:69:"MultiDependencyExecutionOrderTest::testTestInTheMiddleThatAlwaysWorks";d:0;s:92:"MultiDependencyExecutionOrderTest::testAddMoreNumbersWithADataprovider with data set "1+2=3"";d:0;s:92:"MultiDependencyExecutionOrderTest::testAddMoreNumbersWithADataprovider with data set "2+1=3"";d:0;s:92:"MultiDependencyExecutionOrderTest::testAddMoreNumbersWithADataprovider with data set "1+1=3"";d:0;s:60:"DataproviderExecutionOrderTest::testFirstTestThatAlwaysWorks";d:0.002;s:85:"DataproviderExecutionOrderTest::testAddNumbersWithADataprovider with data set "1+2=3"";d:0;s:85:"DataproviderExecutionOrderTest::testAddNumbersWithADataprovider with data set "2+1=3"";d:0;s:85:"DataproviderExecutionOrderTest::testAddNumbersWithADataprovider with data set "1+1=3"";d:0.001;s:66:"DataproviderExecutionOrderTest::testTestInTheMiddleThatAlwaysWorks";d:0;s:89:"DataproviderExecutionOrderTest::testAddMoreNumbersWithADataprovider with data set "1+2=3"";d:0;s:89:"DataproviderExecutionOrderTest::testAddMoreNumbersWithADataprovider with data set "2+1=3"";d:0;s:89:"DataproviderExecutionOrderTest::testAddMoreNumbersWithADataprovider with data set "1+1=3"";d:0;}}} \ No newline at end of file diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/DependencyFailureTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/DependencyFailureTest.php deleted file mode 100644 index cec0ddf..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/DependencyFailureTest.php +++ /dev/null @@ -1,55 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class DependencyFailureTest extends TestCase -{ - public function testOne(): void - { - $this->fail(); - } - - /** - * @depends testOne - */ - public function testTwo(): void - { - $this->assertTrue(true); - } - - /** - * @depends !clone testTwo - */ - public function testThree(): void - { - $this->assertTrue(true); - } - - /** - * @depends clone testOne - */ - public function testFour(): void - { - $this->assertTrue(true); - } - - /** - * This test has been added to check the printed warnings for the user - * when a dependency simply doesn't exist. - * - * @depends doesNotExist - * - * @see https://github.com/sebastianbergmann/phpunit/issues/3517 - */ - public function testHandlesDependsAnnotationForNonexistentTests(): void - { - $this->assertTrue(true); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/DependencySuccessTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/DependencySuccessTest.php deleted file mode 100644 index 0dd9626..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/DependencySuccessTest.php +++ /dev/null @@ -1,34 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class DependencySuccessTest extends TestCase -{ - public function testOne(): void - { - $this->assertTrue(true); - } - - /** - * @depends testOne - */ - public function testTwo(): void - { - $this->assertTrue(true); - } - - /** - * @depends DependencySuccessTest::testTwo - */ - public function testThree(): void - { - $this->assertTrue(true); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/DependencyTestSuite.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/DependencyTestSuite.php deleted file mode 100644 index 4f0e63c..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/DependencyTestSuite.php +++ /dev/null @@ -1,23 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestSuite; - -class DependencyTestSuite -{ - public static function suite() - { - $suite = new TestSuite('Test Dependencies'); - - $suite->addTestSuite(DependencySuccessTest::class); - $suite->addTestSuite(DependencyFailureTest::class); - - return $suite; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/DoNoAssertionTestCase.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/DoNoAssertionTestCase.php deleted file mode 100644 index b867146..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/DoNoAssertionTestCase.php +++ /dev/null @@ -1,17 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class DoNoAssertionTestCase extends TestCase -{ - public function testNothing(): void - { - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/DoesNotPerformAssertionsButPerformingAssertionsTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/DoesNotPerformAssertionsButPerformingAssertionsTest.php deleted file mode 100644 index d0d6344..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/DoesNotPerformAssertionsButPerformingAssertionsTest.php +++ /dev/null @@ -1,22 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class DoesNotPerformAssertionsButPerformingAssertionsTest extends TestCase -{ - /** - * @doesNotPerformAssertions - */ - public function testFalseAndTrueAreStillFine(): void - { - $this->assertFalse(false); - $this->assertTrue(true); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/DoubleTestCase.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/DoubleTestCase.php deleted file mode 100644 index 8862e85..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/DoubleTestCase.php +++ /dev/null @@ -1,39 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\Test; -use PHPUnit\Framework\TestCase; -use PHPUnit\Framework\TestResult; - -class DoubleTestCase implements Test -{ - protected $testCase; - - public function __construct(TestCase $testCase) - { - $this->testCase = $testCase; - } - - public function count() - { - return 2; - } - - public function run(TestResult $result = null): TestResult - { - $result->startTest($this); - - $this->testCase->runBare(); - $this->testCase->runBare(); - - $result->endTest($this, 0); - - return $result; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/DummyBarTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/DummyBarTest.php deleted file mode 100644 index 5958871..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/DummyBarTest.php +++ /dev/null @@ -1,18 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class DummyBarTest extends TestCase -{ - public function testBarEqualsBar(): void - { - $this->assertEquals('Bar', 'Bar'); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/DummyException.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/DummyException.php deleted file mode 100644 index 29758e9..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/DummyException.php +++ /dev/null @@ -1,12 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -class DummyException extends Exception -{ -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/DummyFooTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/DummyFooTest.php deleted file mode 100644 index abfb9e0..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/DummyFooTest.php +++ /dev/null @@ -1,18 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class DummyFooTest extends TestCase -{ - public function testFooEqualsFoo(): void - { - $this->assertEquals('Foo', 'Foo'); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/EmptyTestCaseTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/EmptyTestCaseTest.php deleted file mode 100644 index ce9a1de..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/EmptyTestCaseTest.php +++ /dev/null @@ -1,14 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class EmptyTestCaseTest extends TestCase -{ -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/ExampleTrait.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/ExampleTrait.php deleted file mode 100644 index 5b1be81..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/ExampleTrait.php +++ /dev/null @@ -1,16 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -trait ExampleTrait -{ - public function ohHai() - { - return __FUNCTION__; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/ExceptionInAssertPostConditionsTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/ExceptionInAssertPostConditionsTest.php deleted file mode 100644 index ff2ea0a..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/ExceptionInAssertPostConditionsTest.php +++ /dev/null @@ -1,50 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class ExceptionInAssertPostConditionsTest extends TestCase -{ - public $setUp = false; - - public $assertPreConditions = false; - - public $assertPostConditions = false; - - public $tearDown = false; - - public $testSomething = false; - - protected function setUp(): void - { - $this->setUp = true; - } - - protected function tearDown(): void - { - $this->tearDown = true; - } - - public function testSomething(): void - { - $this->testSomething = true; - } - - protected function assertPreConditions(): void - { - $this->assertPreConditions = true; - } - - protected function assertPostConditions(): void - { - $this->assertPostConditions = true; - - throw new Exception; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/ExceptionInAssertPreConditionsTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/ExceptionInAssertPreConditionsTest.php deleted file mode 100644 index f9e5515..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/ExceptionInAssertPreConditionsTest.php +++ /dev/null @@ -1,50 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class ExceptionInAssertPreConditionsTest extends TestCase -{ - public $setUp = false; - - public $assertPreConditions = false; - - public $assertPostConditions = false; - - public $tearDown = false; - - public $testSomething = false; - - protected function setUp(): void - { - $this->setUp = true; - } - - protected function tearDown(): void - { - $this->tearDown = true; - } - - public function testSomething(): void - { - $this->testSomething = true; - } - - protected function assertPreConditions(): void - { - $this->assertPreConditions = true; - - throw new Exception; - } - - protected function assertPostConditions(): void - { - $this->assertPostConditions = true; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/ExceptionInSetUpTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/ExceptionInSetUpTest.php deleted file mode 100644 index 52a630d..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/ExceptionInSetUpTest.php +++ /dev/null @@ -1,50 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class ExceptionInSetUpTest extends TestCase -{ - public $setUp = false; - - public $assertPreConditions = false; - - public $assertPostConditions = false; - - public $tearDown = false; - - public $testSomething = false; - - protected function setUp(): void - { - $this->setUp = true; - - throw new Exception; - } - - protected function tearDown(): void - { - $this->tearDown = true; - } - - public function testSomething(): void - { - $this->testSomething = true; - } - - protected function assertPreConditions(): void - { - $this->assertPreConditions = true; - } - - protected function assertPostConditions(): void - { - $this->assertPostConditions = true; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/ExceptionInTearDownAfterClassTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/ExceptionInTearDownAfterClassTest.php deleted file mode 100644 index e313ba7..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/ExceptionInTearDownAfterClassTest.php +++ /dev/null @@ -1,28 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class ExceptionInTearDownAfterClassTest extends TestCase -{ - public static function tearDownAfterClass(): void - { - throw new Exception('throw Exception in tearDownAfterClass()'); - } - - public function testOne(): void - { - $this->assertTrue(true); - } - - public function testTwo(): void - { - $this->assertTrue(true); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/ExceptionInTearDownTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/ExceptionInTearDownTest.php deleted file mode 100644 index 44cf1e6..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/ExceptionInTearDownTest.php +++ /dev/null @@ -1,50 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class ExceptionInTearDownTest extends TestCase -{ - public $setUp = false; - - public $assertPreConditions = false; - - public $assertPostConditions = false; - - public $tearDown = false; - - public $testSomething = false; - - protected function setUp(): void - { - $this->setUp = true; - } - - protected function tearDown(): void - { - $this->tearDown = true; - - throw new Exception('throw Exception in tearDown()'); - } - - public function testSomething(): void - { - $this->testSomething = true; - } - - protected function assertPreConditions(): void - { - $this->assertPreConditions = true; - } - - protected function assertPostConditions(): void - { - $this->assertPostConditions = true; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/ExceptionInTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/ExceptionInTest.php deleted file mode 100644 index 2e48399..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/ExceptionInTest.php +++ /dev/null @@ -1,50 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class ExceptionInTest extends TestCase -{ - public $setUp = false; - - public $assertPreConditions = false; - - public $assertPostConditions = false; - - public $tearDown = false; - - public $testSomething = false; - - protected function setUp(): void - { - $this->setUp = true; - } - - protected function tearDown(): void - { - $this->tearDown = true; - } - - public function testSomething(): void - { - $this->testSomething = true; - - throw new Exception; - } - - protected function assertPreConditions(): void - { - $this->assertPreConditions = true; - } - - protected function assertPostConditions(): void - { - $this->assertPostConditions = true; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/ExceptionInTestDetectedInTeardown.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/ExceptionInTestDetectedInTeardown.php deleted file mode 100644 index a8f2fb5..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/ExceptionInTestDetectedInTeardown.php +++ /dev/null @@ -1,29 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -use PHPUnit\Runner\BaseTestRunner; - -class ExceptionInTestDetectedInTeardown extends TestCase -{ - public $exceptionDetected = false; - - protected function tearDown(): void - { - if (BaseTestRunner::STATUS_ERROR == $this->getStatus()) { - $this->exceptionDetected = true; - } - } - - public function testSomething(): void - { - throw new Exception; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/ExceptionNamespaceTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/ExceptionNamespaceTest.php deleted file mode 100644 index 88a7d2f..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/ExceptionNamespaceTest.php +++ /dev/null @@ -1,45 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace My\Space; - -class ExceptionNamespaceTest extends \PHPUnit\Framework\TestCase -{ - /** - * Exception message - * - * @var string - */ - public const ERROR_MESSAGE = 'Exception namespace message'; - - /** - * Exception code - * - * @var int - */ - public const ERROR_CODE = 200; - - /** - * @expectedException Class - * @expectedExceptionMessage My\Space\ExceptionNamespaceTest::ERROR_MESSAGE - * @expectedExceptionCode My\Space\ExceptionNamespaceTest::ERROR_CODE - */ - public function testConstants(): void - { - } - - /** - * @expectedException Class - * @expectedExceptionCode My\Space\ExceptionNamespaceTest::UNKNOWN_CODE_CONSTANT - * @expectedExceptionMessage My\Space\ExceptionNamespaceTest::UNKNOWN_MESSAGE_CONSTANT - */ - public function testUnknownConstants(): void - { - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/ExceptionStackTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/ExceptionStackTest.php deleted file mode 100644 index 62bc733..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/ExceptionStackTest.php +++ /dev/null @@ -1,34 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\ExpectationFailedException; -use PHPUnit\Framework\TestCase; - -class ExceptionStackTest extends TestCase -{ - public function testPrintingChildException(): void - { - try { - $this->assertEquals([1], [2], 'message'); - } catch (ExpectationFailedException $e) { - $message = $e->getMessage() . $e->getComparisonFailure()->getDiff(); - - throw new PHPUnit\Framework\Exception("Child exception\n$message", 101, $e); - } - } - - public function testNestedExceptions(): void - { - $exceptionThree = new Exception('Three'); - $exceptionTwo = new InvalidArgumentException('Two', 0, $exceptionThree); - $exceptionOne = new Exception('One', 0, $exceptionTwo); - - throw $exceptionOne; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/ExceptionTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/ExceptionTest.php deleted file mode 100644 index 244a53c..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/ExceptionTest.php +++ /dev/null @@ -1,149 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class ExceptionTest extends TestCase -{ - /** - * Exception message - * - * @var string - */ - public const ERROR_MESSAGE = 'Exception message'; - - /** - * Exception message - * - * @var string - */ - public const ERROR_MESSAGE_REGEX = '#regex#'; - - /** - * Exception code - * - * @var int - */ - public const ERROR_CODE = 500; - - /** - * @expectedException FooBarBaz - */ - public function testOne(): void - { - } - - /** - * @expectedException Foo_Bar_Baz - */ - public function testTwo(): void - { - } - - /** - * @expectedException Foo\Bar\Baz - */ - public function testThree(): void - { - } - - /** - * @expectedException ã»ã’ - */ - public function testFour(): void - { - } - - /** - * @expectedException Class Message 1234 - */ - public function testFive(): void - { - } - - /** - * @expectedException Class - * @expectedExceptionMessage Message - * @expectedExceptionCode 1234 - */ - public function testSix(): void - { - } - - /** - * @expectedException Class - * @expectedExceptionMessage Message - * @expectedExceptionCode ExceptionCode - */ - public function testSeven(): void - { - } - - /** - * @expectedException Class - * @expectedExceptionMessage Message - * @expectedExceptionCode 0 - */ - public function testEight(): void - { - } - - /** - * @expectedException Class - * @expectedExceptionMessage ExceptionTest::ERROR_MESSAGE - * @expectedExceptionCode ExceptionTest::ERROR_CODE - */ - public function testNine(): void - { - } - - /** @expectedException Class */ - public function testSingleLine(): void - { - } - - /** - * @expectedException Class - * @expectedExceptionCode ExceptionTest::UNKNOWN_CODE_CONSTANT - * @expectedExceptionMessage ExceptionTest::UNKNOWN_MESSAGE_CONSTANT - */ - public function testUnknownConstants(): void - { - } - - /** - * @expectedException Class - * @expectedExceptionCode 1234 - * @expectedExceptionMessage Message - * @expectedExceptionMessageRegExp #regex# - */ - public function testWithRegexMessage(): void - { - } - - /** - * @expectedException Class - * @expectedExceptionCode 1234 - * @expectedExceptionMessage Message - * @expectedExceptionMessageRegExp ExceptionTest::ERROR_MESSAGE_REGEX - */ - public function testWithRegexMessageFromClassConstant(): void - { - } - - /** - * @expectedException Class - * @expectedExceptionCode 1234 - * @expectedExceptionMessage Message - * @expectedExceptionMessageRegExp ExceptionTest::UNKNOWN_MESSAGE_REGEX_CONSTANT - */ - public function testWithUnknowRegexMessageFromClassConstant(): void - { - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/ExceptionWithThrowable.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/ExceptionWithThrowable.php deleted file mode 100644 index fb2b2f0..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/ExceptionWithThrowable.php +++ /dev/null @@ -1,13 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -interface ExceptionWithThrowable extends \Throwable -{ - public function getAdditionalInformation(); -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/Failure.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/Failure.php deleted file mode 100644 index 2ced7cf..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/Failure.php +++ /dev/null @@ -1,18 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class Failure extends TestCase -{ - protected function runTest(): void - { - $this->fail(); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/FailureTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/FailureTest.php deleted file mode 100644 index e80b747..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/FailureTest.php +++ /dev/null @@ -1,85 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class FailureTest extends TestCase -{ - public function testAssertArrayEqualsArray(): void - { - $this->assertEquals([1], [2], 'message'); - } - - public function testAssertIntegerEqualsInteger(): void - { - $this->assertEquals(1, 2, 'message'); - } - - public function testAssertObjectEqualsObject(): void - { - $a = new stdClass; - $a->foo = 'bar'; - - $b = new stdClass; - $b->bar = 'foo'; - - $this->assertEquals($a, $b, 'message'); - } - - public function testAssertNullEqualsString(): void - { - $this->assertEquals(null, 'bar', 'message'); - } - - public function testAssertStringEqualsString(): void - { - $this->assertEquals('foo', 'bar', 'message'); - } - - public function testAssertTextEqualsText(): void - { - $this->assertEquals("foo\nbar\n", "foo\nbaz\n", 'message'); - } - - public function testAssertStringMatchesFormat(): void - { - $this->assertStringMatchesFormat('*%s*', '**', 'message'); - } - - public function testAssertNumericEqualsNumeric(): void - { - $this->assertEquals(1, 2, 'message'); - } - - public function testAssertTextSameText(): void - { - $this->assertSame('foo', 'bar', 'message'); - } - - public function testAssertObjectSameObject(): void - { - $this->assertSame(new stdClass, new stdClass, 'message'); - } - - public function testAssertObjectSameNull(): void - { - $this->assertSame(new stdClass, null, 'message'); - } - - public function testAssertFloatSameFloat(): void - { - $this->assertSame(1.0, 1.5, 'message'); - } - - // Note that due to the implementation of this assertion it counts as 2 asserts - public function testAssertStringMatchesFormatFile(): void - { - $this->assertStringMatchesFormatFile(__DIR__ . '/expectedFileFormat.txt', '...BAR...'); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/FalsyConstraint.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/FalsyConstraint.php deleted file mode 100644 index cd1542d..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/FalsyConstraint.php +++ /dev/null @@ -1,26 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\Constraint\Constraint; - -final class FalsyConstraint extends Constraint -{ - public function matches($other): bool - { - return false; - } - - public function toString(): string - { - return \sprintf( - 'is accepted by %s', - self::class - ); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/FatalTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/FatalTest.php deleted file mode 100644 index 847cfa0..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/FatalTest.php +++ /dev/null @@ -1,22 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class FatalTest extends TestCase -{ - public function testFatalError(): void - { - if (\extension_loaded('xdebug')) { - \xdebug_disable(); - } - - eval('class FatalTest {}'); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/FinalClass.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/FinalClass.php deleted file mode 100644 index 26c4f72..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/FinalClass.php +++ /dev/null @@ -1,24 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -final class FinalClass -{ - private $value; - - public function __construct($value) - { - $this->value = $value; - } - - public function value() - { - return $this->value; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/Foo.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/Foo.php deleted file mode 100644 index ad79e9e..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/Foo.php +++ /dev/null @@ -1,16 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -class Foo -{ - public function doSomething(Bar $bar) - { - return $bar->doSomethingElse(); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/FunctionCallback.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/FunctionCallback.php deleted file mode 100644 index fad921a..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/FunctionCallback.php +++ /dev/null @@ -1,20 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -class FunctionCallbackWrapper -{ - public static function functionCallback() - { - $args = \func_get_args(); - - if ($args == ['foo', 'bar']) { - return 'pass'; - } - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/Go ogle-Sea.rch.wsdl b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/Go ogle-Sea.rch.wsdl deleted file mode 100644 index e448501..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/Go ogle-Sea.rch.wsdl +++ /dev/null @@ -1,198 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/GoogleSearch.wsdl b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/GoogleSearch.wsdl deleted file mode 100644 index e448501..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/GoogleSearch.wsdl +++ /dev/null @@ -1,198 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/IgnoreCodeCoverageClass.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/IgnoreCodeCoverageClass.php deleted file mode 100644 index f50bbca..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/IgnoreCodeCoverageClass.php +++ /dev/null @@ -1,25 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * @codeCoverageIgnore - */ -class IgnoreCodeCoverageClass -{ - public function returnTrue() - { - return true; - } - - public function returnFalse() - { - return false; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/IgnoreCodeCoverageClassTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/IgnoreCodeCoverageClassTest.php deleted file mode 100644 index d14fea2..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/IgnoreCodeCoverageClassTest.php +++ /dev/null @@ -1,25 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class IgnoreCodeCoverageClassTest extends TestCase -{ - public function testReturnTrue(): void - { - $sut = new IgnoreCodeCoverageClass; - $this->assertTrue($sut->returnTrue()); - } - - public function testReturnFalse(): void - { - $sut = new IgnoreCodeCoverageClass; - $this->assertFalse($sut->returnFalse()); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/IncompleteTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/IncompleteTest.php deleted file mode 100644 index 15cddd9..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/IncompleteTest.php +++ /dev/null @@ -1,18 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class IncompleteTest extends TestCase -{ - public function testIncomplete(): void - { - $this->markTestIncomplete('Test incomplete'); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/Inheritance/InheritanceA.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/Inheritance/InheritanceA.php deleted file mode 100644 index fc4f9be..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/Inheritance/InheritanceA.php +++ /dev/null @@ -1,14 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -require_once __DIR__ . '/InheritanceB.php'; - -class InheritanceA extends InheritanceB -{ -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/Inheritance/InheritanceB.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/Inheritance/InheritanceB.php deleted file mode 100644 index 796f1a7..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/Inheritance/InheritanceB.php +++ /dev/null @@ -1,17 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class InheritanceB extends TestCase -{ - public function testSomething(): void - { - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/InheritedTestCase.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/InheritedTestCase.php deleted file mode 100644 index 9fef514..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/InheritedTestCase.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -class InheritedTestCase extends OneTestCase -{ - public function test2(): void - { - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/IniTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/IniTest.php deleted file mode 100644 index 45517d4..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/IniTest.php +++ /dev/null @@ -1,18 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class IniTest extends TestCase -{ - public function testIni(): void - { - $this->assertEquals('application/x-test', \ini_get('default_mimetype')); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/InterfaceWithSemiReservedMethodName.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/InterfaceWithSemiReservedMethodName.php deleted file mode 100644 index 50df1aa..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/InterfaceWithSemiReservedMethodName.php +++ /dev/null @@ -1,13 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -interface InterfaceWithSemiReservedMethodName -{ - public function unset(); -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/InterfaceWithStaticMethod.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/InterfaceWithStaticMethod.php deleted file mode 100644 index d224161..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/InterfaceWithStaticMethod.php +++ /dev/null @@ -1,13 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -interface InterfaceWithStaticMethod -{ - public static function staticMethod(); -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/IsolationTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/IsolationTest.php deleted file mode 100644 index 63f7141..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/IsolationTest.php +++ /dev/null @@ -1,23 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class IsolationTest extends TestCase -{ - public function testIsInIsolationReturnsFalse(): void - { - $this->assertFalse($this->isInIsolation()); - } - - public function testIsInIsolationReturnsTrue(): void - { - $this->assertTrue($this->isInIsolation()); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/JsonData/arrayObject.json b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/JsonData/arrayObject.json deleted file mode 100644 index 8a74fc5..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/JsonData/arrayObject.json +++ /dev/null @@ -1 +0,0 @@ -["Mascott", "Tux", "OS", "Linux"] diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/JsonData/simpleObject.json b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/JsonData/simpleObject.json deleted file mode 100644 index 27085be..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/JsonData/simpleObject.json +++ /dev/null @@ -1 +0,0 @@ -{"Mascott":"Tux"} \ No newline at end of file diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/MethodCallback.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/MethodCallback.php deleted file mode 100644 index 921be2e..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/MethodCallback.php +++ /dev/null @@ -1,29 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -class MethodCallback -{ - public static function staticCallback() - { - $args = \func_get_args(); - - if ($args == ['foo', 'bar']) { - return 'pass'; - } - } - - public function nonStaticCallback() - { - $args = \func_get_args(); - - if ($args == ['foo', 'bar']) { - return 'pass'; - } - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/MethodCallbackByReference.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/MethodCallbackByReference.php deleted file mode 100644 index 78624e8..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/MethodCallbackByReference.php +++ /dev/null @@ -1,21 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -class MethodCallbackByReference -{ - public function bar(&$a, &$b, $c) - { - Legacy::bar($a, $b, $c); - } - - public function callback(&$a, &$b, $c) - { - $b = 1; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/MockRunner.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/MockRunner.php deleted file mode 100644 index be9442f..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/MockRunner.php +++ /dev/null @@ -1,17 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Runner\BaseTestRunner; - -class MockRunner extends BaseTestRunner -{ - protected function runFailed($message): void - { - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/MockTestInterface.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/MockTestInterface.php deleted file mode 100644 index 4d01e30..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/MockTestInterface.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -interface MockTestInterface -{ - public function returnAnything(); - - public function returnAnythingElse(); -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/Mockable.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/Mockable.php deleted file mode 100644 index f5369d1..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/Mockable.php +++ /dev/null @@ -1,37 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -class Mockable -{ - public $constructorArgs; - - public $cloned; - - public function __construct($arg1 = null, $arg2 = null) - { - $this->constructorArgs = [$arg1, $arg2]; - } - - public function __clone() - { - $this->cloned = true; - } - - public function mockableMethod() - { - // something different from NULL - return true; - } - - public function anotherMockableMethod() - { - // something different from NULL - return true; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/MultiDependencyTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/MultiDependencyTest.php deleted file mode 100644 index 21945dc..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/MultiDependencyTest.php +++ /dev/null @@ -1,50 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class MultiDependencyTest extends TestCase -{ - public function testOne() - { - $this->assertTrue(true); - - return 'foo'; - } - - public function testTwo() - { - $this->assertTrue(true); - - return 'bar'; - } - - /** - * @depends testOne - * @depends testTwo - */ - public function testThree($a, $b): void - { - $this->assertEquals('foo', $a); - $this->assertEquals('bar', $b); - } - - /** - * @depends MultiDependencyTest::testThree - */ - public function testFour() - { - $this->assertTrue(true); - } - - public function testFive() - { - $this->assertTrue(true); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/MultiDependencyTest_result_cache.txt b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/MultiDependencyTest_result_cache.txt deleted file mode 100644 index 2b0bb96..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/MultiDependencyTest_result_cache.txt +++ /dev/null @@ -1 +0,0 @@ -C:30:"PHPUnit\Runner\TestResultCache":289:{a:2:{s:7:"defects";a:1:{s:29:"MultiDependencyTest::testFive";i:1;}s:5:"times";a:5:{s:28:"MultiDependencyTest::testOne";d:0;s:28:"MultiDependencyTest::testTwo";d:0;s:30:"MultiDependencyTest::testThree";d:0;s:29:"MultiDependencyTest::testFour";d:0;s:29:"MultiDependencyTest::testFive";d:0;}}} \ No newline at end of file diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/MultipleDataProviderTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/MultipleDataProviderTest.php deleted file mode 100644 index 81d113f..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/MultipleDataProviderTest.php +++ /dev/null @@ -1,89 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class MultipleDataProviderTest extends TestCase -{ - public static function providerA() - { - return [ - ['ok', null, null], - ['ok', null, null], - ['ok', null, null], - ]; - } - - public static function providerB() - { - return [ - [null, 'ok', null], - [null, 'ok', null], - [null, 'ok', null], - ]; - } - - public static function providerC() - { - return [ - [null, null, 'ok'], - [null, null, 'ok'], - [null, null, 'ok'], - ]; - } - - public static function providerD() - { - yield ['ok', null, null]; - - yield ['ok', null, null]; - - yield ['ok', null, null]; - } - - public static function providerE() - { - yield [null, 'ok', null]; - - yield [null, 'ok', null]; - - yield [null, 'ok', null]; - } - - public static function providerF() - { - $object = new ArrayObject( - [ - [null, null, 'ok'], - [null, null, 'ok'], - [null, null, 'ok'], - ] - ); - - return $object->getIterator(); - } - - /** - * @dataProvider providerA - * @dataProvider providerB - * @dataProvider providerC - */ - public function testOne(): void - { - } - - /** - * @dataProvider providerD - * @dataProvider providerE - * @dataProvider providerF - */ - public function testTwo(): void - { - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/MyCommand.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/MyCommand.php deleted file mode 100644 index 390f7fe..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/MyCommand.php +++ /dev/null @@ -1,24 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\TextUI\Command; - -class MyCommand extends Command -{ - public function __construct() - { - $this->longOptions['my-option='] = 'myHandler'; - $this->longOptions['my-other-option'] = null; - } - - public function myHandler($value): void - { - print __METHOD__ . " $value\n"; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/MyTestListener.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/MyTestListener.php deleted file mode 100644 index 7e8e17d..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/MyTestListener.php +++ /dev/null @@ -1,121 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\AssertionFailedError; -use PHPUnit\Framework\Test; -use PHPUnit\Framework\TestListener; -use PHPUnit\Framework\TestSuite; -use PHPUnit\Framework\Warning; - -final class MyTestListener implements TestListener -{ - private $endCount = 0; - - private $errorCount = 0; - - private $failureCount = 0; - - private $warningCount = 0; - - private $notImplementedCount = 0; - - private $riskyCount = 0; - - private $skippedCount = 0; - - private $startCount = 0; - - public function addError(Test $test, \Throwable $t, float $time): void - { - $this->errorCount++; - } - - public function addWarning(Test $test, Warning $e, float $time): void - { - $this->warningCount++; - } - - public function addFailure(Test $test, AssertionFailedError $e, float $time): void - { - $this->failureCount++; - } - - public function addIncompleteTest(Test $test, \Throwable $t, float $time): void - { - $this->notImplementedCount++; - } - - public function addRiskyTest(Test $test, \Throwable $t, float $time): void - { - $this->riskyCount++; - } - - public function addSkippedTest(Test $test, \Throwable $t, float $time): void - { - $this->skippedCount++; - } - - public function startTestSuite(TestSuite $suite): void - { - } - - public function endTestSuite(TestSuite $suite): void - { - } - - public function startTest(Test $test): void - { - $this->startCount++; - } - - public function endTest(Test $test, float $time): void - { - $this->endCount++; - } - - public function endCount(): int - { - return $this->endCount; - } - - public function errorCount(): int - { - return $this->errorCount; - } - - public function failureCount(): int - { - return $this->failureCount; - } - - public function warningCount(): int - { - return $this->warningCount; - } - - public function notImplementedCount(): int - { - return $this->notImplementedCount; - } - - public function riskyCount(): int - { - return $this->riskyCount; - } - - public function skippedCount(): int - { - return $this->skippedCount; - } - - public function startCount(): int - { - return $this->startCount; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/NamedConstraint.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/NamedConstraint.php deleted file mode 100644 index 4cf5b3a..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/NamedConstraint.php +++ /dev/null @@ -1,37 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\Constraint\Constraint; - -final class NamedConstraint extends Constraint -{ - /** - * @var int - */ - private $name; - - public static function fromName(string $name): self - { - $instance = new self; - - $instance->name = $name; - - return $instance; - } - - public function matches($other): bool - { - return true; - } - - public function toString(): string - { - return $this->name; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/NamespaceCoverageClassExtendedTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/NamespaceCoverageClassExtendedTest.php deleted file mode 100644 index 7c60471..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/NamespaceCoverageClassExtendedTest.php +++ /dev/null @@ -1,22 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class NamespaceCoverageClassExtendedTest extends TestCase -{ - /** - * @covers Foo\CoveredClass - */ - public function testSomething(): void - { - $o = new Foo\CoveredClass; - $o->publicMethod(); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/NamespaceCoverageClassTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/NamespaceCoverageClassTest.php deleted file mode 100644 index efb6a44..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/NamespaceCoverageClassTest.php +++ /dev/null @@ -1,22 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class NamespaceCoverageClassTest extends TestCase -{ - /** - * @covers Foo\CoveredClass - */ - public function testSomething(): void - { - $o = new Foo\CoveredClass; - $o->publicMethod(); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/NamespaceCoverageCoversClassPublicTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/NamespaceCoverageCoversClassPublicTest.php deleted file mode 100644 index 4e6d56d..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/NamespaceCoverageCoversClassPublicTest.php +++ /dev/null @@ -1,25 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -/** - * @coversDefaultClass \Foo\CoveredClass - */ -class NamespaceCoverageCoversClassPublicTest extends TestCase -{ - /** - * @covers ::publicMethod - */ - public function testSomething(): void - { - $o = new Foo\CoveredClass; - $o->publicMethod(); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/NamespaceCoverageCoversClassTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/NamespaceCoverageCoversClassTest.php deleted file mode 100644 index 78970cf..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/NamespaceCoverageCoversClassTest.php +++ /dev/null @@ -1,30 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -/** - * @coversDefaultClass \Foo\CoveredClass - */ -class NamespaceCoverageCoversClassTest extends TestCase -{ - /** - * @covers ::privateMethod - * @covers ::protectedMethod - * @covers ::publicMethod - * @covers \Foo\CoveredParentClass::privateMethod - * @covers \Foo\CoveredParentClass::protectedMethod - * @covers \Foo\CoveredParentClass::publicMethod - */ - public function testSomething(): void - { - $o = new Foo\CoveredClass; - $o->publicMethod(); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/NamespaceCoverageMethodTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/NamespaceCoverageMethodTest.php deleted file mode 100644 index 2b9cfd6..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/NamespaceCoverageMethodTest.php +++ /dev/null @@ -1,22 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class NamespaceCoverageMethodTest extends TestCase -{ - /** - * @covers Foo\CoveredClass::publicMethod - */ - public function testSomething(): void - { - $o = new Foo\CoveredClass; - $o->publicMethod(); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/NamespaceCoverageNotPrivateTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/NamespaceCoverageNotPrivateTest.php deleted file mode 100644 index 63fe46d..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/NamespaceCoverageNotPrivateTest.php +++ /dev/null @@ -1,22 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class NamespaceCoverageNotPrivateTest extends TestCase -{ - /** - * @covers Foo\CoveredClass:: - */ - public function testSomething(): void - { - $o = new Foo\CoveredClass; - $o->publicMethod(); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/NamespaceCoverageNotProtectedTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/NamespaceCoverageNotProtectedTest.php deleted file mode 100644 index 5d64a56..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/NamespaceCoverageNotProtectedTest.php +++ /dev/null @@ -1,22 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class NamespaceCoverageNotProtectedTest extends TestCase -{ - /** - * @covers Foo\CoveredClass:: - */ - public function testSomething(): void - { - $o = new Foo\CoveredClass; - $o->publicMethod(); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/NamespaceCoverageNotPublicTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/NamespaceCoverageNotPublicTest.php deleted file mode 100644 index eed2b0f..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/NamespaceCoverageNotPublicTest.php +++ /dev/null @@ -1,22 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class NamespaceCoverageNotPublicTest extends TestCase -{ - /** - * @covers Foo\CoveredClass:: - */ - public function testSomething(): void - { - $o = new Foo\CoveredClass; - $o->publicMethod(); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/NamespaceCoveragePrivateTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/NamespaceCoveragePrivateTest.php deleted file mode 100644 index 370f2ed..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/NamespaceCoveragePrivateTest.php +++ /dev/null @@ -1,22 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class NamespaceCoveragePrivateTest extends TestCase -{ - /** - * @covers Foo\CoveredClass:: - */ - public function testSomething(): void - { - $o = new Foo\CoveredClass; - $o->publicMethod(); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/NamespaceCoverageProtectedTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/NamespaceCoverageProtectedTest.php deleted file mode 100644 index 031a6cf..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/NamespaceCoverageProtectedTest.php +++ /dev/null @@ -1,22 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class NamespaceCoverageProtectedTest extends TestCase -{ - /** - * @covers Foo\CoveredClass:: - */ - public function testSomething(): void - { - $o = new Foo\CoveredClass; - $o->publicMethod(); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/NamespaceCoveragePublicTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/NamespaceCoveragePublicTest.php deleted file mode 100644 index 87a146f..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/NamespaceCoveragePublicTest.php +++ /dev/null @@ -1,22 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class NamespaceCoveragePublicTest extends TestCase -{ - /** - * @covers Foo\CoveredClass:: - */ - public function testSomething(): void - { - $o = new Foo\CoveredClass; - $o->publicMethod(); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/NamespaceCoveredClass.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/NamespaceCoveredClass.php deleted file mode 100644 index 40651ba..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/NamespaceCoveredClass.php +++ /dev/null @@ -1,46 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace Foo; - -class CoveredParentClass -{ - public function publicMethod(): void - { - $this->protectedMethod(); - } - - protected function protectedMethod(): void - { - $this->privateMethod(); - } - - private function privateMethod(): void - { - } -} - -class CoveredClass extends CoveredParentClass -{ - public function publicMethod(): void - { - parent::publicMethod(); - $this->protectedMethod(); - } - - protected function protectedMethod(): void - { - parent::protectedMethod(); - $this->privateMethod(); - } - - private function privateMethod(): void - { - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/NamespaceCoveredFunction.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/NamespaceCoveredFunction.php deleted file mode 100644 index 62d9582..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/NamespaceCoveredFunction.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace foo; - -function func() -{ - return true; -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/NoArgTestCaseTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/NoArgTestCaseTest.php deleted file mode 100644 index f00c87f..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/NoArgTestCaseTest.php +++ /dev/null @@ -1,17 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class NoArgTestCaseTest extends TestCase -{ - public function testNothing(): void - { - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/NoTestCaseClass.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/NoTestCaseClass.php deleted file mode 100644 index 7dace27..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/NoTestCaseClass.php +++ /dev/null @@ -1,12 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -class NoTestCaseClass -{ -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/NoTestCases.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/NoTestCases.php deleted file mode 100644 index 1ec9957..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/NoTestCases.php +++ /dev/null @@ -1,17 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class NoTestCases extends TestCase -{ - public function noTestCase(): void - { - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/NonStatic.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/NonStatic.php deleted file mode 100644 index 1c9839e..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/NonStatic.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -class NonStatic -{ - public function suite(): void - { - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/NotExistingCoveredElementTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/NotExistingCoveredElementTest.php deleted file mode 100644 index a92f6dd..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/NotExistingCoveredElementTest.php +++ /dev/null @@ -1,34 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class NotExistingCoveredElementTest extends TestCase -{ - /** - * @covers NotExistingClass - */ - public function testOne(): void - { - } - - /** - * @covers NotExistingClass::notExistingMethod - */ - public function testTwo(): void - { - } - - /** - * @covers NotExistingClass:: - */ - public function testThree(): void - { - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/NotPublicTestCase.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/NotPublicTestCase.php deleted file mode 100644 index 5175cab..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/NotPublicTestCase.php +++ /dev/null @@ -1,21 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class NotPublicTestCase extends TestCase -{ - public function testPublic(): void - { - } - - protected function testNotPublic(): void - { - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/NotSelfDescribingTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/NotSelfDescribingTest.php deleted file mode 100644 index 4ac5999..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/NotSelfDescribingTest.php +++ /dev/null @@ -1,29 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\Test; -use PHPUnit\Framework\TestResult; - -class NotSelfDescribingTest implements Test -{ - public function log($msg): void - { - print $msg; - } - - public function count(): int - { - return 0; - } - - public function run(TestResult $result = null): TestResult - { - return new TestResult(); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/NotVoidTestCase.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/NotVoidTestCase.php deleted file mode 100644 index 4c8853e..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/NotVoidTestCase.php +++ /dev/null @@ -1,14 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class NotVoidTestCase extends TestCase -{ -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/NothingTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/NothingTest.php deleted file mode 100644 index 88c91ee..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/NothingTest.php +++ /dev/null @@ -1,17 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class NothingTest extends TestCase -{ - public function testNothing(): void - { - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/NumericGroupAnnotationTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/NumericGroupAnnotationTest.php deleted file mode 100644 index 9a48f9c..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/NumericGroupAnnotationTest.php +++ /dev/null @@ -1,38 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -class NumericGroupAnnotationTest extends \PHPUnit\Framework\TestCase -{ - /** - * @testdox Empty test for @ticket numeric annotation values - * @ticket 3502 - * - * @see https://github.com/sebastianbergmann/phpunit/issues/3502 - */ - public function testTicketAnnotationSupportsNumericValue(): void - { - $this->assertTrue(true); - } - - /** - * @testdox Empty test for @group numeric annotation values - * @group 3502 - * - * @see https://github.com/sebastianbergmann/phpunit/issues/3502 - */ - public function testGroupAnnotationSupportsNumericValue(): void - { - $this->assertTrue(true); - } - - public function testDummyTestThatShouldNotRun(): void - { - $this->doesNotPerformAssertions(); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/OneTestCase.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/OneTestCase.php deleted file mode 100644 index 118bfcb..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/OneTestCase.php +++ /dev/null @@ -1,21 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class OneTestCase extends TestCase -{ - public function noTestCase(): void - { - } - - public function testCase($arg = ''): void - { - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/OutputTestCase.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/OutputTestCase.php deleted file mode 100644 index 52a46e9..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/OutputTestCase.php +++ /dev/null @@ -1,37 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class OutputTestCase extends TestCase -{ - public function testExpectOutputStringFooActualFoo(): void - { - $this->expectOutputString('foo'); - print 'foo'; - } - - public function testExpectOutputStringFooActualBar(): void - { - $this->expectOutputString('foo'); - print 'bar'; - } - - public function testExpectOutputRegexFooActualFoo(): void - { - $this->expectOutputRegex('/foo/'); - print 'foo'; - } - - public function testExpectOutputRegexFooActualBar(): void - { - $this->expectOutputRegex('/foo/'); - print 'bar'; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/OverrideTestCase.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/OverrideTestCase.php deleted file mode 100644 index 6cdb2dc..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/OverrideTestCase.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -class OverrideTestCase extends OneTestCase -{ - public function testCase($arg = ''): void - { - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/ParseTestMethodAnnotationsMock.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/ParseTestMethodAnnotationsMock.php deleted file mode 100644 index 81f5bb2..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/ParseTestMethodAnnotationsMock.php +++ /dev/null @@ -1,24 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * @theClassAnnotation - */ -class ParseTestMethodAnnotationsMock -{ - use ParseTestMethodAnnotationsTrait; -} - -/** - * @theTraitAnnotation - */ -trait ParseTestMethodAnnotationsTrait -{ -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/PartialMockTestClass.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/PartialMockTestClass.php deleted file mode 100644 index 6966588..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/PartialMockTestClass.php +++ /dev/null @@ -1,26 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -class PartialMockTestClass -{ - public $constructorCalled = false; - - public function __construct() - { - $this->constructorCalled = true; - } - - public function doSomething() - { - } - - public function doAnotherThing() - { - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/RequirementsClassBeforeClassHookTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/RequirementsClassBeforeClassHookTest.php deleted file mode 100644 index c06fed1..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/RequirementsClassBeforeClassHookTest.php +++ /dev/null @@ -1,21 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -/** - * @requires extension nonExistingExtension - */ -class RequirementsClassBeforeClassHookTest extends TestCase -{ - public static function setUpBeforeClass(): void - { - throw new Exception(__METHOD__ . ' should not be called because of class requirements.'); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/RequirementsClassDocBlockTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/RequirementsClassDocBlockTest.php deleted file mode 100644 index db10d9e..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/RequirementsClassDocBlockTest.php +++ /dev/null @@ -1,30 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * @requires PHP 5.3 - * @requires PHPUnit 4.0 - * @requires OS Linux - * @requires function testFuncClass - * @requires extension testExtClass - */ -class RequirementsClassDocBlockTest -{ - /** - * @requires PHP 5.4 - * @requires PHPUnit 3.7 - * @requires OS WINNT - * @requires function testFuncMethod - * @requires extension testExtMethod - */ - public function testMethod(): void - { - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/RequirementsTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/RequirementsTest.php deleted file mode 100644 index cdff0db..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/RequirementsTest.php +++ /dev/null @@ -1,466 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class RequirementsTest extends TestCase -{ - public function testOne(): void - { - } - - /** - * @requires PHPUnit 1.0 - */ - public function testTwo(): void - { - } - - /** - * @requires PHP 2.0 - */ - public function testThree(): void - { - } - - /** - * @requires PHPUnit 2.0 - * @requires PHP 1.0 - */ - public function testFour(): void - { - } - - /** - * @requires PHP 5.4.0RC6 - */ - public function testFive(): void - { - } - - /** - * @requires PHP 5.4.0-alpha1 - */ - public function testSix(): void - { - } - - /** - * @requires PHP 5.4.0beta2 - */ - public function testSeven(): void - { - } - - /** - * @requires PHP 5.4-dev - */ - public function testEight(): void - { - } - - /** - * @requires function testFunc - */ - public function testNine(): void - { - } - - /** - * @requires function testFunc2 - * - * @see https://github.com/sebastianbergmann/phpunit/issues/3459 - */ - public function testRequiresFunctionWithDigit(): void - { - } - - /** - * @requires extension testExt - */ - public function testTen(): void - { - } - - /** - * @requires OS SunOS - * @requires OSFAMILY Solaris - */ - public function testEleven(): void - { - } - - /** - * @requires PHP 99-dev - * @requires PHPUnit 9-dev - * @requires OS DOESNOTEXIST - * @requires function testFuncOne - * @requires function testFunc2 - * @requires extension testExtOne - * @requires extension testExt2 - * @requires extension testExtThree 2.0 - * @requires setting not_a_setting Off - */ - public function testAllPossibleRequirements(): void - { - } - - /** - * @requires function array_merge - */ - public function testExistingFunction(): void - { - } - - /** - * @requires function ReflectionMethod::setAccessible - */ - public function testExistingMethod(): void - { - } - - /** - * @requires extension spl - */ - public function testExistingExtension(): void - { - } - - /** - * @requires OS .* - */ - public function testExistingOs(): void - { - } - - /** - * @requires PHPUnit 1111111 - */ - public function testAlwaysSkip(): void - { - } - - /** - * @requires PHP 9999999 - */ - public function testAlwaysSkip2(): void - { - } - - /** - * @requires OS DOESNOTEXIST - */ - public function testAlwaysSkip3(): void - { - } - - /** - * @requires OSFAMILY DOESNOTEXIST - */ - public function testAlwaysSkip4(): void - { - } - - /** - * @requires extension spl - * @requires OS .* - */ - public function testSpace(): void - { - } - - /** - * @requires extension testExt 1.8.0 - */ - public function testSpecificExtensionVersion(): void - { - } - - /** - * @requires PHP < 5.4 - */ - public function testPHPVersionOperatorLessThan(): void - { - } - - /** - * @requires PHP <= 5.4 - */ - public function testPHPVersionOperatorLessThanEquals(): void - { - } - - /** - * @requires PHP > 99 - */ - public function testPHPVersionOperatorGreaterThan(): void - { - } - - /** - * @requires PHP >= 99 - */ - public function testPHPVersionOperatorGreaterThanEquals(): void - { - } - - /** - * @requires PHP = 5.4 - */ - public function testPHPVersionOperatorEquals(): void - { - } - - /** - * @requires PHP == 5.4 - */ - public function testPHPVersionOperatorDoubleEquals(): void - { - } - - /** - * @requires PHP != 99 - */ - public function testPHPVersionOperatorBangEquals(): void - { - } - - /** - * @requires PHP <> 99 - */ - public function testPHPVersionOperatorNotEquals(): void - { - } - - /** - * @requires PHP >=99 - */ - public function testPHPVersionOperatorNoSpace(): void - { - } - - /** - * @requires PHPUnit < 1.0 - */ - public function testPHPUnitVersionOperatorLessThan(): void - { - } - - /** - * @requires PHPUnit <= 1.0 - */ - public function testPHPUnitVersionOperatorLessThanEquals(): void - { - } - - /** - * @requires PHPUnit > 99 - */ - public function testPHPUnitVersionOperatorGreaterThan(): void - { - } - - /** - * @requires PHPUnit >= 99 - */ - public function testPHPUnitVersionOperatorGreaterThanEquals(): void - { - } - - /** - * @requires PHPUnit = 1.0 - */ - public function testPHPUnitVersionOperatorEquals(): void - { - } - - /** - * @requires PHPUnit == 1.0 - */ - public function testPHPUnitVersionOperatorDoubleEquals(): void - { - } - - /** - * @requires PHPUnit != 99 - */ - public function testPHPUnitVersionOperatorBangEquals(): void - { - } - - /** - * @requires PHPUnit <> 99 - */ - public function testPHPUnitVersionOperatorNotEquals(): void - { - } - - /** - * @requires PHPUnit >=99 - */ - public function testPHPUnitVersionOperatorNoSpace(): void - { - } - - /** - * @requires extension testExtOne < 1.0 - */ - public function testExtensionVersionOperatorLessThan(): void - { - } - - /** - * @requires extension testExtOne <= 1.0 - */ - public function testExtensionVersionOperatorLessThanEquals(): void - { - } - - /** - * @requires extension testExtOne > 99 - */ - public function testExtensionVersionOperatorGreaterThan(): void - { - } - - /** - * @requires extension testExtOne >= 99 - */ - public function testExtensionVersionOperatorGreaterThanEquals(): void - { - } - - /** - * @requires extension testExtOne = 1.0 - */ - public function testExtensionVersionOperatorEquals(): void - { - } - - /** - * @requires extension testExtOne == 1.0 - */ - public function testExtensionVersionOperatorDoubleEquals(): void - { - } - - /** - * @requires extension testExtOne != 99 - */ - public function testExtensionVersionOperatorBangEquals(): void - { - } - - /** - * @requires extension testExtOne <> 99 - */ - public function testExtensionVersionOperatorNotEquals(): void - { - } - - /** - * @requires extension testExtOne >=99 - */ - public function testExtensionVersionOperatorNoSpace(): void - { - } - - /** - * @requires PHP ~1.0 - * @requires PHPUnit ~2.0 - */ - public function testVersionConstraintTildeMajor(): void - { - } - - /** - * @requires PHP ^1.0 - * @requires PHPUnit ^2.0 - */ - public function testVersionConstraintCaretMajor(): void - { - } - - /** - * @requires PHP ~3.4.7 - * @requires PHPUnit ~4.7.1 - */ - public function testVersionConstraintTildeMinor(): void - { - } - - /** - * @requires PHP ^7.0.17 - * @requires PHPUnit ^4.7.1 - */ - public function testVersionConstraintCaretMinor(): void - { - } - - /** - * @requires PHP ^5.6 || ^7.0 - * @requires PHPUnit ^5.0 || ^6.0 - */ - public function testVersionConstraintCaretOr(): void - { - } - - /** - * @requires PHP ~5.6.22 || ~7.0.17 - * @requires PHPUnit ^5.0.5 || ^6.0.6 - */ - public function testVersionConstraintTildeOr(): void - { - } - - /** - * @requires PHP ~5.6.22 || ^7.0 - * @requires PHPUnit ~5.6.22 || ^7.0 - */ - public function testVersionConstraintTildeOrCaret(): void - { - } - - /** - * @requires PHP ^5.6 || ~7.0.17 - * @requires PHPUnit ^5.6 || ~7.0.17 - */ - public function testVersionConstraintCaretOrTilde(): void - { - } - - /** - * @requires PHP ~5.6.22 || ~7.0.17 - * @requires PHPUnit ~5.6.22 || ~7.0.17 - */ - public function testVersionConstraintRegexpIgnoresWhitespace(): void - { - } - - /** - * @requires PHP ~^12345 - */ - public function testVersionConstraintInvalidPhpConstraint(): void - { - } - - /** - * @requires PHPUnit ~^12345 - */ - public function testVersionConstraintInvalidPhpUnitConstraint(): void - { - } - - /** - * @requires setting display_errors On - */ - public function testSettingDisplayErrorsOn(): void - { - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/RouterTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/RouterTest.php deleted file mode 100644 index 1c4c7ff..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/RouterTest.php +++ /dev/null @@ -1,34 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -use PHPUnit\Framework\TestCase; - -final class RouterTest extends TestCase -{ - /** - * @dataProvider routesProvider - * @testdox Routes $url to $handler - */ - public function testRoutesRequest(string $url, string $handler): void - { - $this->assertTrue(true); - } - - public function routesProvider() - { - return [ - '/foo/bar' => [ - '/foo/bar', - FooBarHandler::class, - // ... - ], - ]; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/SampleArrayAccess.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/SampleArrayAccess.php deleted file mode 100644 index 6c2fd59..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/SampleArrayAccess.php +++ /dev/null @@ -1,42 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -class SampleArrayAccess implements ArrayAccess -{ - private $container; - - public function __construct() - { - $this->container = []; - } - - public function offsetSet($offset, $value): void - { - if (null === $offset) { - $this->container[] = $value; - } else { - $this->container[$offset] = $value; - } - } - - public function offsetExists($offset) - { - return isset($this->container[$offset]); - } - - public function offsetUnset($offset): void - { - unset($this->container[$offset]); - } - - public function offsetGet($offset) - { - return $this->container[$offset] ?? null; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/SampleClass.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/SampleClass.php deleted file mode 100644 index d4e0bf6..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/SampleClass.php +++ /dev/null @@ -1,24 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -class SampleClass -{ - public $a; - - public $b; - - public $c; - - public function __construct($a, $b, $c) - { - $this->a = $a; - $this->b = $b; - $this->c = $c; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/Singleton.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/Singleton.php deleted file mode 100644 index 0bfeb3e..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/Singleton.php +++ /dev/null @@ -1,30 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -class Singleton -{ - private static $uniqueInstance = null; - - public static function getInstance() - { - if (self::$uniqueInstance === null) { - self::$uniqueInstance = new self; - } - - return self::$uniqueInstance; - } - - protected function __construct() - { - } - - private function __clone() - { - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/SingletonClass.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/SingletonClass.php deleted file mode 100644 index c2549be..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/SingletonClass.php +++ /dev/null @@ -1,35 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -class SingletonClass -{ - public static function getInstance() - { - } - - protected function __construct() - { - } - - private function __sleep() - { - } - - private function __wakeup() - { - } - - private function __clone() - { - } - - public function doSomething() - { - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/SomeClass.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/SomeClass.php deleted file mode 100644 index 9ee1249..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/SomeClass.php +++ /dev/null @@ -1,19 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -class SomeClass -{ - public function doSomething($a, $b) - { - } - - public function doSomethingElse($c) - { - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/StackTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/StackTest.php deleted file mode 100644 index 76537d9..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/StackTest.php +++ /dev/null @@ -1,34 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class StackTest extends TestCase -{ - public function testPush() - { - $stack = []; - $this->assertCount(0, $stack); - - $stack[] = 'foo'; - $this->assertEquals('foo', \end($stack)); - $this->assertCount(1, $stack); - - return $stack; - } - - /** - * @depends testPush - */ - public function testPop(array $stack): void - { - $this->assertEquals('foo', \array_pop($stack)); - $this->assertCount(0, $stack); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/StaticMockTestClass.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/StaticMockTestClass.php deleted file mode 100644 index 9effe2e..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/StaticMockTestClass.php +++ /dev/null @@ -1,20 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -class StaticMockTestClass -{ - public static function doSomething() - { - } - - public static function doSomethingElse() - { - return static::doSomething(); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/StatusTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/StatusTest.php deleted file mode 100644 index 8f891df..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/StatusTest.php +++ /dev/null @@ -1,50 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace vendor\project; - -use PHPUnit\Framework\TestCase; -use PHPUnit\Framework\Warning; - -class StatusTest extends TestCase -{ - public function testSuccess(): void - { - $this->assertTrue(true); - } - - public function testFailure(): void - { - $this->assertTrue(false); - } - - public function testError(): void - { - throw new \RuntimeException; - } - - public function testIncomplete(): void - { - $this->markTestIncomplete(); - } - - public function testSkipped(): void - { - $this->markTestSkipped(); - } - - public function testRisky(): void - { - } - - public function testWarning(): void - { - throw new Warning; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/StopOnErrorTestSuite.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/StopOnErrorTestSuite.php deleted file mode 100644 index 3a9d210..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/StopOnErrorTestSuite.php +++ /dev/null @@ -1,29 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -class StopOnErrorTestSuite extends \PHPUnit\Framework\TestCase -{ - public function testIncomplete() - { - $this->markTestIncomplete(); - } - - public function testWithError() - { - $this->assertTrue(true); - - throw new Error('StopOnErrorTestSuite_error'); - } - - public function testThatIsNeverReached() - { - $this->assertTrue(true); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/StopOnWarningTestSuite.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/StopOnWarningTestSuite.php deleted file mode 100644 index 862b37e..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/StopOnWarningTestSuite.php +++ /dev/null @@ -1,23 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestSuite; - -class StopOnWarningTestSuite -{ - public static function suite() - { - $suite = new TestSuite('Test Warnings'); - - $suite->addTestSuite(NoTestCases::class); - $suite->addTestSuite(CoverageClassTest::class); - - return $suite; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/StopsOnWarningTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/StopsOnWarningTest.php deleted file mode 100644 index 2018d05..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/StopsOnWarningTest.php +++ /dev/null @@ -1,17 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class StopsOnWarningTest extends TestCase -{ - public function testOne(): void - { - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/StringableClass.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/StringableClass.php deleted file mode 100644 index ab2ab52..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/StringableClass.php +++ /dev/null @@ -1,16 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -class StringableClass -{ - public function __toString() - { - return '12345'; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/Struct.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/Struct.php deleted file mode 100644 index 6344b43..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/Struct.php +++ /dev/null @@ -1,18 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -class Struct -{ - public $var; - - public function __construct($var) - { - $this->var = $var; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/Success.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/Success.php deleted file mode 100644 index 14c2ff9..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/Success.php +++ /dev/null @@ -1,18 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class Success extends TestCase -{ - protected function runTest(): void - { - $this->assertTrue(true); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/TemplateMethodsTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/TemplateMethodsTest.php deleted file mode 100644 index c2f68b4..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/TemplateMethodsTest.php +++ /dev/null @@ -1,62 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class TemplateMethodsTest extends TestCase -{ - public static function setUpBeforeClass(): void - { - print __METHOD__ . "\n"; - } - - public static function tearDownAfterClass(): void - { - print __METHOD__ . "\n"; - } - - protected function setUp(): void - { - print __METHOD__ . "\n"; - } - - protected function tearDown(): void - { - print __METHOD__ . "\n"; - } - - public function testOne(): void - { - print __METHOD__ . "\n"; - $this->assertTrue(true); - } - - public function testTwo(): void - { - print __METHOD__ . "\n"; - $this->assertTrue(false); - } - - protected function assertPreConditions(): void - { - print __METHOD__ . "\n"; - } - - protected function assertPostConditions(): void - { - print __METHOD__ . "\n"; - } - - protected function onNotSuccessfulTest(Throwable $t): void - { - print __METHOD__ . "\n"; - - throw $t; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/TestAutoreferenced.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/TestAutoreferenced.php deleted file mode 100644 index 280d73c..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/TestAutoreferenced.php +++ /dev/null @@ -1,20 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class TestAutoreferenced extends TestCase -{ - public $myTestData; - - public function testJsonEncodeException($data): void - { - $this->myTestData = $data; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/TestDoxGroupTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/TestDoxGroupTest.php deleted file mode 100644 index 4ad0629..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/TestDoxGroupTest.php +++ /dev/null @@ -1,29 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class TestDoxGroupTest extends TestCase -{ - /** - * @group one - */ - public function testOne(): void - { - $this->assertTrue(true); - } - - /** - * @group two - */ - public function testTwo(): void - { - $this->assertTrue(true); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/TestGeneratorMaker.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/TestGeneratorMaker.php deleted file mode 100644 index bd8650e..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/TestGeneratorMaker.php +++ /dev/null @@ -1,18 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -class TestGeneratorMaker -{ - public function create($array = []) - { - foreach ($array as $key => $value) { - yield $key => $value; - } - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/TestIncomplete.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/TestIncomplete.php deleted file mode 100644 index 3ae44f3..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/TestIncomplete.php +++ /dev/null @@ -1,18 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class TestIncomplete extends TestCase -{ - protected function runTest(): void - { - $this->markTestIncomplete('Incomplete test'); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/TestIterator.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/TestIterator.php deleted file mode 100644 index f191db5..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/TestIterator.php +++ /dev/null @@ -1,45 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -class TestIterator implements Iterator -{ - protected $array; - - protected $position = 0; - - public function __construct($array = []) - { - $this->array = $array; - } - - public function rewind(): void - { - $this->position = 0; - } - - public function valid() - { - return $this->position < \count($this->array); - } - - public function key() - { - return $this->position; - } - - public function current() - { - return $this->array[$this->position]; - } - - public function next(): void - { - $this->position++; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/TestIterator2.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/TestIterator2.php deleted file mode 100644 index 676141e..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/TestIterator2.php +++ /dev/null @@ -1,43 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -class TestIterator2 implements Iterator -{ - protected $data; - - public function __construct(array $array) - { - $this->data = $array; - } - - public function current() - { - return \current($this->data); - } - - public function next(): void - { - \next($this->data); - } - - public function key() - { - return \key($this->data); - } - - public function valid() - { - return \key($this->data) !== null; - } - - public function rewind(): void - { - \reset($this->data); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/TestIteratorAggregate.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/TestIteratorAggregate.php deleted file mode 100644 index 7c98561..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/TestIteratorAggregate.php +++ /dev/null @@ -1,23 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -class TestIteratorAggregate implements IteratorAggregate -{ - private $traversable; - - public function __construct(\Traversable $traversable) - { - $this->traversable = $traversable; - } - - public function getIterator() - { - return $this->traversable; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/TestIteratorAggregate2.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/TestIteratorAggregate2.php deleted file mode 100644 index 338e340..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/TestIteratorAggregate2.php +++ /dev/null @@ -1,24 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -class TestIteratorAggregate2 implements IteratorAggregate -{ - private $traversable; - - public function __construct(\Traversable $traversable) - { - $this->traversable = $traversable; - } - - public function getIterator() - { - return $this->traversable; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/TestProxyFixture.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/TestProxyFixture.php deleted file mode 100644 index 655f604..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/TestProxyFixture.php +++ /dev/null @@ -1,49 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -class TestProxyFixture -{ - public function returnString() - { - return 'result'; - } - - public function returnTypedString(): string - { - return 'result'; - } - - public function returnObject() - { - $result = new stdClass; - - $result->foo = 'bar'; - - return $result; - } - - public function returnTypedObject(): stdClass - { - $result = new stdClass; - - $result->foo = 'bar'; - - return $result; - } - - public function returnObjectOfFinalClass() - { - return new FinalClass('value'); - } - - public function returnTypedObjectOfFinalClass(): FinalClass - { - return new FinalClass('value'); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/TestRisky.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/TestRisky.php deleted file mode 100644 index e8ce427..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/TestRisky.php +++ /dev/null @@ -1,18 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class TestRisky extends TestCase -{ - protected function runTest(): void - { - $this->markAsRisky(); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/TestSkipped.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/TestSkipped.php deleted file mode 100644 index 00bab2b..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/TestSkipped.php +++ /dev/null @@ -1,18 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class TestSkipped extends TestCase -{ - protected function runTest(): void - { - $this->markTestSkipped('Skipped test'); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/TestTestError.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/TestTestError.php deleted file mode 100644 index 92f6c9b..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/TestTestError.php +++ /dev/null @@ -1,18 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class TestError extends TestCase -{ - protected function runTest(): void - { - throw new Exception; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/TestWarning.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/TestWarning.php deleted file mode 100644 index 337a6d8..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/TestWarning.php +++ /dev/null @@ -1,19 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; -use PHPUnit\Framework\Warning; - -class TestWarning extends TestCase -{ - protected function runTest(): void - { - throw new Warning; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/TestWithTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/TestWithTest.php deleted file mode 100644 index acd5089..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/TestWithTest.php +++ /dev/null @@ -1,34 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class TestWithTest extends TestCase -{ - public static function providerMethod() - { - return [ - [0, 0, 0], - [0, 1, 1], - [1, 1, 3], - [1, 0, 1], - ]; - } - - /** - * @testWith [0, 0, 0] - * [0, 1, 1] - * [1, 2, 3] - * [20, 22, 42] - */ - public function testAdd($a, $b, $c): void - { - $this->assertEquals($c, $a + $b); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/TestableCliTestDoxPrinter.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/TestableCliTestDoxPrinter.php deleted file mode 100644 index 6cb7ca5..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/TestableCliTestDoxPrinter.php +++ /dev/null @@ -1,25 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Util\TestDox; - -class TestableCliTestDoxPrinter extends CliTestDoxPrinter -{ - private $buffer; - - public function write(string $text): void - { - $this->buffer .= $text; - } - - public function getBuffer(): string - { - return $this->buffer; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/ThrowExceptionTestCase.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/ThrowExceptionTestCase.php deleted file mode 100644 index 203750b..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/ThrowExceptionTestCase.php +++ /dev/null @@ -1,18 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class ThrowExceptionTestCase extends TestCase -{ - public function test(): void - { - throw new RuntimeException('A runtime error occurred'); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/ThrowNoExceptionTestCase.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/ThrowNoExceptionTestCase.php deleted file mode 100644 index a759f32..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/ThrowNoExceptionTestCase.php +++ /dev/null @@ -1,17 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class ThrowNoExceptionTestCase extends TestCase -{ - public function test(): void - { - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/TraitWithConstructor.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/TraitWithConstructor.php deleted file mode 100644 index ac9c559..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/TraitWithConstructor.php +++ /dev/null @@ -1,23 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -trait TraitWithConstructor -{ - private $value; - - public function __construct(string $value) - { - $this->value = $value; - } - - public function value(): string - { - return $this->value; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/TraversableMockTestInterface.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/TraversableMockTestInterface.php deleted file mode 100644 index a3d2062..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/TraversableMockTestInterface.php +++ /dev/null @@ -1,12 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -interface TraversableMockTestInterface extends \Traversable -{ -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/TruthyConstraint.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/TruthyConstraint.php deleted file mode 100644 index 825ba8c..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/TruthyConstraint.php +++ /dev/null @@ -1,26 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\Constraint\Constraint; - -final class TruthyConstraint extends Constraint -{ - public function matches($other): bool - { - return true; - } - - public function toString(): string - { - return \sprintf( - 'is accepted by %s', - self::class - ); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/VariousIterableDataProviderTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/VariousIterableDataProviderTest.php deleted file mode 100644 index bff499e..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/VariousIterableDataProviderTest.php +++ /dev/null @@ -1,47 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -class VariousIterableDataProviderTest -{ - public static function asArrayProvider() - { - return [ - ['A'], - ['B'], - ['C'], - ]; - } - - public static function asIteratorProvider() - { - yield ['D']; - - yield ['E']; - - yield ['F']; - } - - public static function asTraversableProvider() - { - return new WrapperIteratorAggregate([ - ['G'], - ['H'], - ['I'], - ]); - } - - /** - * @dataProvider asArrayProvider - * @dataProvider asIteratorProvider - * @dataProvider asTraversableProvider - */ - public function test(): void - { - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/WasRun.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/WasRun.php deleted file mode 100644 index ea3d057..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/WasRun.php +++ /dev/null @@ -1,20 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class WasRun extends TestCase -{ - public $wasRun = false; - - protected function runTest(): void - { - $this->wasRun = true; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/WrapperIteratorAggregate.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/WrapperIteratorAggregate.php deleted file mode 100644 index 0dadad6..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/WrapperIteratorAggregate.php +++ /dev/null @@ -1,29 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -class WrapperIteratorAggregate implements IteratorAggregate -{ - /** - * @var array|\Traversable - */ - private $baseCollection; - - public function __construct($baseCollection) - { - \assert(\is_array($baseCollection) || $baseCollection instanceof Traversable); - $this->baseCollection = $baseCollection; - } - - public function getIterator() - { - foreach ($this->baseCollection as $k => $v) { - yield $k => $v; - } - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/bar.xml b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/bar.xml deleted file mode 100644 index 5d3fa28..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/bar.xml +++ /dev/null @@ -1 +0,0 @@ - diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/configuration.colors.empty.xml b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/configuration.colors.empty.xml deleted file mode 100644 index 5f9e055..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/configuration.colors.empty.xml +++ /dev/null @@ -1 +0,0 @@ - diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/configuration.colors.false.xml b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/configuration.colors.false.xml deleted file mode 100644 index dcd4aa4..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/configuration.colors.false.xml +++ /dev/null @@ -1 +0,0 @@ - diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/configuration.colors.invalid.xml b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/configuration.colors.invalid.xml deleted file mode 100644 index c5bd699..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/configuration.colors.invalid.xml +++ /dev/null @@ -1 +0,0 @@ - diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/configuration.colors.true.xml b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/configuration.colors.true.xml deleted file mode 100644 index 1efe413..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/configuration.colors.true.xml +++ /dev/null @@ -1 +0,0 @@ - diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/configuration.columns.default.xml b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/configuration.columns.default.xml deleted file mode 100644 index c2cb278..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/configuration.columns.default.xml +++ /dev/null @@ -1 +0,0 @@ - diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/configuration.custom-printer.xml b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/configuration.custom-printer.xml deleted file mode 100644 index 7a5a1f1..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/configuration.custom-printer.xml +++ /dev/null @@ -1,2 +0,0 @@ - - \ No newline at end of file diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/configuration.defaulttestsuite.xml b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/configuration.defaulttestsuite.xml deleted file mode 100644 index cc17002..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/configuration.defaulttestsuite.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - ../_files/DummyFooTest.php - - - ../_files/DummyBarTest.php - - - diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/configuration.one-file-suite.xml b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/configuration.one-file-suite.xml deleted file mode 100644 index 4eddce6..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/configuration.one-file-suite.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - ../../tests/end-to-end/debug.phpt - - - diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/configuration.suites.xml b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/configuration.suites.xml deleted file mode 100644 index eb9ec3d..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/configuration.suites.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/configuration.xml b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/configuration.xml deleted file mode 100644 index 5786d92..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/configuration.xml +++ /dev/null @@ -1,162 +0,0 @@ - - - - - /path/to/files - /path/to/MyTest.php - - - - - - name - - - name - - - - - - name - - - name - - - - - - /path/to/files - /path/to/file - - /path/to/file - - - /path/to/files - /path/to/file - - - - - - - - - - Sebastian - - - 22 - April - 19.78 - - - MyTestFile.php - MyRelativePath - true - - - - - - 42 - false - - - - - - - - - - Sebastian - - - 22 - April - 19.78 - - - MyTestFile.php - MyRelativePath - - - - - - 42 - - - - - - - - - - - - - - - - - - - - . - /path/to/lib - - - - - - - - - - - - - - - - - - diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/configuration_empty.xml b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/configuration_empty.xml deleted file mode 100644 index f63d655..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/configuration_empty.xml +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/configuration_execution_order_options.xml b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/configuration_execution_order_options.xml deleted file mode 100644 index bc4c643..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/configuration_execution_order_options.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/configuration_stop_on_defect.xml b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/configuration_stop_on_defect.xml deleted file mode 100644 index 8cfdf60..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/configuration_stop_on_defect.xml +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/configuration_stop_on_error.xml b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/configuration_stop_on_error.xml deleted file mode 100644 index 77e440e..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/configuration_stop_on_error.xml +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/configuration_stop_on_incomplete.xml b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/configuration_stop_on_incomplete.xml deleted file mode 100644 index 08a6390..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/configuration_stop_on_incomplete.xml +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/configuration_stop_on_warning.xml b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/configuration_stop_on_warning.xml deleted file mode 100644 index 8bcd06a..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/configuration_stop_on_warning.xml +++ /dev/null @@ -1,2 +0,0 @@ - - \ No newline at end of file diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/configuration_whitelist.xml b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/configuration_whitelist.xml deleted file mode 100644 index dacd6ea..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/configuration_whitelist.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - AbstractTest.php - - Foo.php - - - - - - diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/configuration_xinclude.xml b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/configuration_xinclude.xml deleted file mode 100644 index 19087d3..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/configuration_xinclude.xml +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - - - - - . - /path/to/lib - - - - - - - - - - - - - - - - - - diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/expectedFileFormat.txt b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/expectedFileFormat.txt deleted file mode 100644 index b7d6715..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/expectedFileFormat.txt +++ /dev/null @@ -1 +0,0 @@ -FOO diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/foo.xml b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/foo.xml deleted file mode 100644 index f1999f8..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/foo.xml +++ /dev/null @@ -1 +0,0 @@ - diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/phpt-for-coverage.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/phpt-for-coverage.phpt deleted file mode 100644 index 4e9a804..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/phpt-for-coverage.phpt +++ /dev/null @@ -1,8 +0,0 @@ ---TEST-- -PHPT for testing coverage ---FILE-- -publicMethod(); ---EXPECT-- diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/phpt-unsupported-section.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/phpt-unsupported-section.phpt deleted file mode 100644 index aad3c09..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/phpt-unsupported-section.phpt +++ /dev/null @@ -1,10 +0,0 @@ ---TEST-- -PHPT runner handles unsupported --SECTION-- gracefully ---FILE-- - ---GET-- -Gerste, Hopfen und Wasser ---EXPECT-- -Hello world diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/phpt-xfail.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/phpt-xfail.phpt deleted file mode 100644 index c8ccad9..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/phpt-xfail.phpt +++ /dev/null @@ -1,11 +0,0 @@ ---TEST-- -PHPT runner supports XFAIL section ---FILE-- - ---XFAIL-- -Syntax Error in PHPT is supposed to fail ---EXPECT-- -Should not see this diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/phpunit-example-extension/phpunit.xml b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/phpunit-example-extension/phpunit.xml deleted file mode 100644 index f15e472..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/phpunit-example-extension/phpunit.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - tests - - - diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/phpunit-example-extension/tests/OneTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/phpunit-example-extension/tests/OneTest.php deleted file mode 100644 index dc61f99..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/phpunit-example-extension/tests/OneTest.php +++ /dev/null @@ -1,21 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\ExampleExtension\TestCaseTrait; -use PHPUnit\Framework\TestCase; - -class OneTest extends TestCase -{ - use TestCaseTrait; - - public function testOne(): void - { - $this->assertTrue(true); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/phpunit-example-extension/tools/phpunit.d/phpunit-example-extension-3.0.3.phar b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/phpunit-example-extension/tools/phpunit.d/phpunit-example-extension-3.0.3.phar deleted file mode 100644 index 767dbe3..0000000 Binary files a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/phpunit-example-extension/tools/phpunit.d/phpunit-example-extension-3.0.3.phar and /dev/null differ diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/structureAttributesAreSameButValuesAreNot.xml b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/structureAttributesAreSameButValuesAreNot.xml deleted file mode 100644 index a5d9ab3..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/structureAttributesAreSameButValuesAreNot.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - Image 1: Dette er en test caption - - - diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/structureExpected.xml b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/structureExpected.xml deleted file mode 100644 index d900105..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/structureExpected.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - Image 1: Dette er en test caption - - - diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/structureIgnoreTextNodes.xml b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/structureIgnoreTextNodes.xml deleted file mode 100644 index 0771b60..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/structureIgnoreTextNodes.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - textnode - - textnode - - textnode - Image 1: Dette er en test caption - textnode - - - diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/structureIsSameButDataIsNot.xml b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/structureIsSameButDataIsNot.xml deleted file mode 100644 index 2ba21b9..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/structureIsSameButDataIsNot.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - Image is not the same 1: Dette er en test caption - - - diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/structureWrongNumberOfAttributes.xml b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/structureWrongNumberOfAttributes.xml deleted file mode 100644 index af9b974..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/structureWrongNumberOfAttributes.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - Image 1: Dette er en test caption - - - diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/structureWrongNumberOfNodes.xml b/paragonik-backend/vendor/phpunit/phpunit/tests/_files/structureWrongNumberOfNodes.xml deleted file mode 100644 index 9a394e2..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/_files/structureWrongNumberOfNodes.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/bootstrap.php b/paragonik-backend/vendor/phpunit/phpunit/tests/bootstrap.php deleted file mode 100644 index 3763b0d..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/bootstrap.php +++ /dev/null @@ -1,17 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -if (!\defined('TEST_FILES_PATH')) { - \define('TEST_FILES_PATH', __DIR__ . \DIRECTORY_SEPARATOR . '_files' . \DIRECTORY_SEPARATOR); -} - -\ini_set('precision', 14); -\ini_set('serialize_precision', 14); - -require_once __DIR__ . '/../vendor/autoload.php'; diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/_files/Extension.php b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/_files/Extension.php deleted file mode 100644 index 5a94378..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/_files/Extension.php +++ /dev/null @@ -1,93 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Test; - -use PHPUnit\Runner\AfterIncompleteTestHook; -use PHPUnit\Runner\AfterLastTestHook; -use PHPUnit\Runner\AfterRiskyTestHook; -use PHPUnit\Runner\AfterSkippedTestHook; -use PHPUnit\Runner\AfterSuccessfulTestHook; -use PHPUnit\Runner\AfterTestErrorHook; -use PHPUnit\Runner\AfterTestFailureHook; -use PHPUnit\Runner\AfterTestHook; -use PHPUnit\Runner\AfterTestWarningHook; -use PHPUnit\Runner\BeforeFirstTestHook; -use PHPUnit\Runner\BeforeTestHook; - -final class Extension implements AfterIncompleteTestHook, AfterLastTestHook, AfterRiskyTestHook, AfterSkippedTestHook, AfterSuccessfulTestHook, AfterTestErrorHook, AfterTestFailureHook, AfterTestHook, AfterTestWarningHook, BeforeFirstTestHook, BeforeTestHook -{ - private $amountOfInjectedArguments = 0; - - public function __construct() - { - $this->amountOfInjectedArguments = \count(\func_get_args()); - } - - public function tellAmountOfInjectedArguments(): void - { - print __METHOD__ . ': ' . $this->amountOfInjectedArguments . \PHP_EOL; - } - - public function executeBeforeFirstTest(): void - { - $this->tellAmountOfInjectedArguments(); - print __METHOD__ . \PHP_EOL; - } - - public function executeBeforeTest(string $test): void - { - print __METHOD__ . ': ' . $test . \PHP_EOL; - } - - public function executeAfterTest(string $test, float $time): void - { - print __METHOD__ . ': ' . $test . \PHP_EOL; - } - - public function executeAfterSuccessfulTest(string $test, float $time): void - { - print __METHOD__ . ': ' . $test . \PHP_EOL; - } - - public function executeAfterIncompleteTest(string $test, string $message, float $time): void - { - print __METHOD__ . ': ' . $test . ': ' . $message . \PHP_EOL; - } - - public function executeAfterRiskyTest(string $test, string $message, float $time): void - { - print __METHOD__ . ': ' . $test . ': ' . $message . \PHP_EOL; - } - - public function executeAfterSkippedTest(string $test, string $message, float $time): void - { - print __METHOD__ . ': ' . $test . ': ' . $message . \PHP_EOL; - } - - public function executeAfterTestError(string $test, string $message, float $time): void - { - print __METHOD__ . ': ' . $test . ': ' . $message . \PHP_EOL; - } - - public function executeAfterTestFailure(string $test, string $message, float $time): void - { - print __METHOD__ . ': ' . $test . ': ' . $message . \PHP_EOL; - } - - public function executeAfterTestWarning(string $test, string $message, float $time): void - { - print __METHOD__ . ': ' . $test . ': ' . $message . \PHP_EOL; - } - - public function executeAfterLastTest(): void - { - print __METHOD__ . \PHP_EOL; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/_files/HookTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/_files/HookTest.php deleted file mode 100644 index 6328045..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/_files/HookTest.php +++ /dev/null @@ -1,52 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Test; - -use PHPUnit\Framework\RiskyTestError; -use PHPUnit\Framework\TestCase; -use PHPUnit\Framework\Warning; - -final class HookTest extends TestCase -{ - public function testSuccess(): void - { - $this->assertTrue(true); - } - - public function testFailure(): void - { - $this->assertTrue(false); - } - - public function testError(): void - { - throw new \Exception('message'); - } - - public function testIncomplete(): void - { - $this->markTestIncomplete('message'); - } - - public function testRisky(): void - { - throw new RiskyTestError('message'); - } - - public function testSkipped(): void - { - $this->markTestSkipped('message'); - } - - public function testWarning(): void - { - throw new Warning('message'); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/_files/NullPrinter.php b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/_files/NullPrinter.php deleted file mode 100644 index f41ceb7..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/_files/NullPrinter.php +++ /dev/null @@ -1,19 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Test; - -use PHPUnit\Framework\TestListener; -use PHPUnit\Framework\TestListenerDefaultImplementation; -use PHPUnit\Util\Printer; - -final class NullPrinter extends Printer implements TestListener -{ - use TestListenerDefaultImplementation; -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/_files/expect_external.txt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/_files/expect_external.txt deleted file mode 100644 index 5e1c309..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/_files/expect_external.txt +++ /dev/null @@ -1 +0,0 @@ -Hello World \ No newline at end of file diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/_files/hooks.xml b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/_files/hooks.xml deleted file mode 100644 index bc43304..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/_files/hooks.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - 10 - SOME_STRING - 2.3 - - - - diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/_files/phpt-env.expected.txt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/_files/phpt-env.expected.txt deleted file mode 100644 index ef75baf..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/_files/phpt-env.expected.txt +++ /dev/null @@ -1 +0,0 @@ -string(%d) "%s" diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/_files/phpt_external.php b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/_files/phpt_external.php deleted file mode 100644 index f0bab63..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/_files/phpt_external.php +++ /dev/null @@ -1,10 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -print 'Hello World'; diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/abstract-test-class.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/abstract-test-class.phpt deleted file mode 100644 index bc61c8e..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/abstract-test-class.phpt +++ /dev/null @@ -1,24 +0,0 @@ ---TEST-- -phpunit AbstractTest ../../_files/AbstractTest.php ---FILE-- - ---EXPECTF-- -PHPUnit %s by Sebastian Bergmann and contributors. - -F 1 / 1 (100%) - -Time: %s, Memory: %s - -There was 1 failure: - -1) AssertionExampleTest::testOne -assert(false) in %sAssertionExample.php:%d - -FAILURES! -Tests: 1, Assertions: 1, Failures: 1. diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/cache-result.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/cache-result.phpt deleted file mode 100644 index 222f19e..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/cache-result.phpt +++ /dev/null @@ -1,29 +0,0 @@ ---TEST-- -phpunit --reverse-order --cache-result --cache-result-file MultiDependencyTest ./tests/_files/MultiDependencyTest.php ---FILE-- - ---FILE-- - ---FILE-- - - - - - - - - DataProviderTest::testAdd with data set #2 (1, 1, 3) -Failed asserting that 2 matches expected 3. - -%s:%i - - - - - - - - -Time: %s, Memory: %s - -There was 1 failure: - -1) DataProviderTest::testAdd with data set #2 (1, 1, 3) -Failed asserting that 2 matches expected 3. - -%s:%i - -FAILURES! -Tests: 4, Assertions: 4, Failures: 1. diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/dataprovider-log-xml.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/dataprovider-log-xml.phpt deleted file mode 100644 index 9b30eac..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/dataprovider-log-xml.phpt +++ /dev/null @@ -1,45 +0,0 @@ ---TEST-- -phpunit --log-junit php://stdout DataProviderTest ../../_files/DataProviderTest.php ---FILE-- - - - - - - - - DataProviderTest::testAdd with data set #2 (1, 1, 3) -Failed asserting that 2 matches expected 3. - -%s:%i - - - - - - - - -Time: %s, Memory: %s - -There was 1 failure: - -1) DataProviderTest::testAdd with data set #2 (1, 1, 3) -Failed asserting that 2 matches expected 3. - -%s:%i - -FAILURES! -Tests: 4, Assertions: 4, Failures: 1. diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/dataprovider-testdox.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/dataprovider-testdox.phpt deleted file mode 100644 index 3eeefc5..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/dataprovider-testdox.phpt +++ /dev/null @@ -1,34 +0,0 @@ ---TEST-- -phpunit DataProviderTestDoxTest ../../_files/DataProviderTestDoxTest.php ---FILE-- - ---EXPECTF-- -PHPUnit %s by Sebastian Bergmann and contributors. - -..... 5 / 5 (100%) - -Time: %s, Memory: %s - -OK (5 tests, 6 assertions) diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/disable-code-coverage-ignore.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/disable-code-coverage-ignore.phpt deleted file mode 100644 index bf75260..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/disable-code-coverage-ignore.phpt +++ /dev/null @@ -1,40 +0,0 @@ ---TEST-- -phpunit --colors=never --coverage-text=php://stdout --disable-coverage-ignore IgnoreCodeCoverageClassTest tests/_files/IgnoreCodeCoverageClassTest.php --whitelist ../../../tests/_files/IgnoreCodeCoverageClass.php ---SKIPIF-- - ---FILE-- - ---EXPECTF-- -PHPUnit %s by Sebastian Bergmann and contributors. - -W 1 / 1 (100%) - -Time: %s, Memory: %s - -There was 1 warning: - -1) Warning -No tests found in class "EmptyTestCaseTest". - -WARNINGS! -Tests: 1, Assertions: 0, Warnings: 1. diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/exception-stack.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/exception-stack.phpt deleted file mode 100644 index 601f039..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/exception-stack.phpt +++ /dev/null @@ -1,64 +0,0 @@ ---TEST-- -phpunit ExceptionStackTest ../../_files/ExceptionStackTest.php ---FILE-- - 1 -+ 0 => 2 - ) - - -%s:%i - -Caused by -message -Failed asserting that two arrays are equal. ---- Expected -+++ Actual -@@ @@ - Array ( -- 0 => 1 -+ 0 => 2 - ) - -%s:%i - -2) ExceptionStackTest::testNestedExceptions -Exception: One - -%s:%i - -Caused by -InvalidArgumentException: Two - -%s:%i - -Caused by -Exception: Three - -%s:%i - -ERRORS! -Tests: 2, Assertions: 1, Errors: 2. diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/exclude-group-isolation.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/exclude-group-isolation.phpt deleted file mode 100644 index e545395..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/exclude-group-isolation.phpt +++ /dev/null @@ -1,21 +0,0 @@ ---TEST-- -phpunit --process-isolation --exclude-group balanceIsInitiallyZero BankAccountTest ../../_files/BankAccountTest.php ---FILE-- - 1 -+ 0 => 2 - ) - -%s:%i - -2) FailureTest::testAssertIntegerEqualsInteger -message -Failed asserting that 2 matches expected 1. - -%s:%i - -3) FailureTest::testAssertObjectEqualsObject -message -Failed asserting that two objects are equal. ---- Expected -+++ Actual -@@ @@ - stdClass Object ( -- 'foo' => 'bar' -+ 'bar' => 'foo' - ) - -%s:%i - -4) FailureTest::testAssertNullEqualsString -message -Failed asserting that 'bar' matches expected null. - -%s:%i - -5) FailureTest::testAssertStringEqualsString -message -Failed asserting that two strings are equal. ---- Expected -+++ Actual -@@ @@ --'foo' -+'bar' - -%s:%i - -6) FailureTest::testAssertTextEqualsText -message -Failed asserting that two strings are equal. ---- Expected -+++ Actual -@@ @@ - 'foo\n --bar\n -+baz\n - ' - -%s:%i - -7) FailureTest::testAssertStringMatchesFormat -message -Failed asserting that string matches format description. ---- Expected -+++ Actual -@@ @@ --*%s* -+** - -%s:%i - -8) FailureTest::testAssertNumericEqualsNumeric -message -Failed asserting that 2 matches expected 1. - -%s:%i - -9) FailureTest::testAssertTextSameText -message -Failed asserting that two strings are identical. ---- Expected -+++ Actual -@@ @@ --'foo' -+'bar' - -%s:%i - -10) FailureTest::testAssertObjectSameObject -message -Failed asserting that two variables reference the same object. - -%s:%i - -11) FailureTest::testAssertObjectSameNull -message -Failed asserting that null is identical to an object of class "stdClass". - -%s:%i - -12) FailureTest::testAssertFloatSameFloat -message -Failed asserting that 1.5 is identical to 1.0. - -%s:%i - -13) FailureTest::testAssertStringMatchesFormatFile -Failed asserting that string matches format description. ---- Expected -+++ Actual -@@ @@ --FOO -+...BAR... - -%s:%i - -FAILURES! -Tests: 13, Assertions: 14, Failures: 13. diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/failure-reverse-list.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/failure-reverse-list.phpt deleted file mode 100644 index 8f532bb..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/failure-reverse-list.phpt +++ /dev/null @@ -1,140 +0,0 @@ ---TEST-- -phpunit --reverse-list FailureTest ../../_files/FailureTest.php ---FILE-- - 'bar' -+ 'bar' => 'foo' - ) - -%s:%d - -12) FailureTest::testAssertIntegerEqualsInteger -message -Failed asserting that 2 matches expected 1. - -%s:%d - -13) FailureTest::testAssertArrayEqualsArray -message -Failed asserting that two arrays are equal. ---- Expected -+++ Actual -@@ @@ - Array ( -- 0 => 1 -+ 0 => 2 - ) - -%s:%d - -FAILURES! -Tests: 13, Assertions: 14, Failures: 13. diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/failure.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/failure.phpt deleted file mode 100644 index a0d4c16..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/failure.phpt +++ /dev/null @@ -1,139 +0,0 @@ ---TEST-- -phpunit FailureTest ../../_files/FailureTest.php ---FILE-- - 1 -+ 0 => 2 - ) - -%s:%i - -2) FailureTest::testAssertIntegerEqualsInteger -message -Failed asserting that 2 matches expected 1. - -%s:%i - -3) FailureTest::testAssertObjectEqualsObject -message -Failed asserting that two objects are equal. ---- Expected -+++ Actual -@@ @@ - stdClass Object ( -- 'foo' => 'bar' -+ 'bar' => 'foo' - ) - -%s:%i - -4) FailureTest::testAssertNullEqualsString -message -Failed asserting that 'bar' matches expected null. - -%s:%i - -5) FailureTest::testAssertStringEqualsString -message -Failed asserting that two strings are equal. ---- Expected -+++ Actual -@@ @@ --'foo' -+'bar' - -%s:%i - -6) FailureTest::testAssertTextEqualsText -message -Failed asserting that two strings are equal. ---- Expected -+++ Actual -@@ @@ - 'foo\n --bar\n -+baz\n - ' - -%s:%i - -7) FailureTest::testAssertStringMatchesFormat -message -Failed asserting that string matches format description. ---- Expected -+++ Actual -@@ @@ --*%s* -+** - -%s:%i - -8) FailureTest::testAssertNumericEqualsNumeric -message -Failed asserting that 2 matches expected 1. - -%s:%i - -9) FailureTest::testAssertTextSameText -message -Failed asserting that two strings are identical. ---- Expected -+++ Actual -@@ @@ --'foo' -+'bar' - -%s:%i - -10) FailureTest::testAssertObjectSameObject -message -Failed asserting that two variables reference the same object. - -%s:%i - -11) FailureTest::testAssertObjectSameNull -message -Failed asserting that null is identical to an object of class "stdClass". - -%s:%i - -12) FailureTest::testAssertFloatSameFloat -message -Failed asserting that 1.5 is identical to 1.0. - -%s:%i - -13) FailureTest::testAssertStringMatchesFormatFile -Failed asserting that string matches format description. ---- Expected -+++ Actual -@@ @@ --FOO -+...BAR... - -%s:%i - -FAILURES! -Tests: 13, Assertions: 14, Failures: 13. diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/fatal-isolation.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/fatal-isolation.phpt deleted file mode 100644 index 178accc..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/fatal-isolation.phpt +++ /dev/null @@ -1,24 +0,0 @@ ---TEST-- -phpunit FatalTest --process-isolation ../../_files/FatalTest.php ---FILE-- - - -Code Coverage Options: - - --coverage-clover Generate code coverage report in Clover XML format - --coverage-crap4j Generate code coverage report in Crap4J XML format - --coverage-html Generate code coverage report in HTML format - --coverage-php Export PHP_CodeCoverage object to file - --coverage-text= Generate code coverage report in text format - Default: Standard output - --coverage-xml Generate code coverage report in PHPUnit XML format - --whitelist Whitelist for code coverage analysis - --disable-coverage-ignore Disable annotations for ignoring code coverage - --no-coverage Ignore code coverage configuration - --dump-xdebug-filter Generate script to set Xdebug code coverage filter - -Logging Options: - - --log-junit Log test execution in JUnit XML format to file - --log-teamcity Log test execution in TeamCity format to file - --testdox-html Write agile documentation in HTML format to file - --testdox-text Write agile documentation in Text format to file - --testdox-xml Write agile documentation in XML format to file - --reverse-list Print defects in reverse order - -Test Selection Options: - - --filter Filter which tests to run - --testsuite Filter which testsuite to run - --group ... Only runs tests from the specified group(s) - --exclude-group ... Exclude tests from the specified group(s) - --list-groups List available test groups - --list-suites List available test suites - --list-tests List available tests - --list-tests-xml List available tests in XML format - --test-suffix ... Only search for test in files with specified - suffix(es). Default: Test.php,.phpt - -Test Execution Options: - - --dont-report-useless-tests Do not report tests that do not test anything - --strict-coverage Be strict about @covers annotation usage - --strict-global-state Be strict about changes to global state - --disallow-test-output Be strict about output during tests - --disallow-resource-usage Be strict about resource usage during small tests - --enforce-time-limit Enforce time limit based on test size - --default-time-limit= Timeout in seconds for tests without @small, @medium or @large - --disallow-todo-tests Disallow @todo-annotated tests - - --process-isolation Run each test in a separate PHP process - --globals-backup Backup and restore $GLOBALS for each test - --static-backup Backup and restore static attributes for each test - - --colors= Use colors in output ("never", "auto" or "always") - --columns Number of columns to use for progress output - --columns max Use maximum number of columns for progress output - --stderr Write to STDERR instead of STDOUT - --stop-on-defect Stop execution upon first not-passed test - --stop-on-error Stop execution upon first error - --stop-on-failure Stop execution upon first error or failure - --stop-on-warning Stop execution upon first warning - --stop-on-risky Stop execution upon first risky test - --stop-on-skipped Stop execution upon first skipped test - --stop-on-incomplete Stop execution upon first incomplete test - --fail-on-warning Treat tests with warnings as failures - --fail-on-risky Treat risky tests as failures - -v|--verbose Output more verbose information - --debug Display debugging information - - --loader TestSuiteLoader implementation to use - --repeat Runs the test(s) repeatedly - --teamcity Report test execution progress in TeamCity format - --testdox Report test execution progress in TestDox format - --testdox-group Only include tests from the specified group(s) - --testdox-exclude-group Exclude tests from the specified group(s) - --printer TestListener implementation to use - - --resolve-dependencies Resolve dependencies between tests - --order-by= Run tests in order: default|reverse|random|defects|depends - --random-order-seed= Use a specific random seed for random order - --cache-result Write run result to cache to enable ordering tests defects-first - -Configuration Options: - - --prepend A PHP script that is included as early as possible - --bootstrap A PHP script that is included before the tests run - -c|--configuration Read configuration from XML file - --no-configuration Ignore default configuration file (phpunit.xml) - --no-logging Ignore logging configuration - --no-extensions Do not load PHPUnit extensions - --include-path Prepend PHP's include_path with given path(s) - -d key[=value] Sets a php.ini value - --generate-configuration Generate configuration file with suggested settings - --cache-result-file= Specify result cache path and filename - -Miscellaneous Options: - - -h|--help Prints this usage information - --version Prints the version and exits - --atleast-version Checks that version is greater than min and exits - --check-version Check whether PHPUnit is the latest version diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/help2.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/help2.phpt deleted file mode 100644 index b0c6ecb..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/help2.phpt +++ /dev/null @@ -1,114 +0,0 @@ ---TEST-- -phpunit --help ---FILE-- - - -Code Coverage Options: - - --coverage-clover Generate code coverage report in Clover XML format - --coverage-crap4j Generate code coverage report in Crap4J XML format - --coverage-html Generate code coverage report in HTML format - --coverage-php Export PHP_CodeCoverage object to file - --coverage-text= Generate code coverage report in text format - Default: Standard output - --coverage-xml Generate code coverage report in PHPUnit XML format - --whitelist Whitelist for code coverage analysis - --disable-coverage-ignore Disable annotations for ignoring code coverage - --no-coverage Ignore code coverage configuration - --dump-xdebug-filter Generate script to set Xdebug code coverage filter - -Logging Options: - - --log-junit Log test execution in JUnit XML format to file - --log-teamcity Log test execution in TeamCity format to file - --testdox-html Write agile documentation in HTML format to file - --testdox-text Write agile documentation in Text format to file - --testdox-xml Write agile documentation in XML format to file - --reverse-list Print defects in reverse order - -Test Selection Options: - - --filter Filter which tests to run - --testsuite Filter which testsuite to run - --group ... Only runs tests from the specified group(s) - --exclude-group ... Exclude tests from the specified group(s) - --list-groups List available test groups - --list-suites List available test suites - --list-tests List available tests - --list-tests-xml List available tests in XML format - --test-suffix ... Only search for test in files with specified - suffix(es). Default: Test.php,.phpt - -Test Execution Options: - - --dont-report-useless-tests Do not report tests that do not test anything - --strict-coverage Be strict about @covers annotation usage - --strict-global-state Be strict about changes to global state - --disallow-test-output Be strict about output during tests - --disallow-resource-usage Be strict about resource usage during small tests - --enforce-time-limit Enforce time limit based on test size - --default-time-limit= Timeout in seconds for tests without @small, @medium or @large - --disallow-todo-tests Disallow @todo-annotated tests - - --process-isolation Run each test in a separate PHP process - --globals-backup Backup and restore $GLOBALS for each test - --static-backup Backup and restore static attributes for each test - - --colors= Use colors in output ("never", "auto" or "always") - --columns Number of columns to use for progress output - --columns max Use maximum number of columns for progress output - --stderr Write to STDERR instead of STDOUT - --stop-on-defect Stop execution upon first not-passed test - --stop-on-error Stop execution upon first error - --stop-on-failure Stop execution upon first error or failure - --stop-on-warning Stop execution upon first warning - --stop-on-risky Stop execution upon first risky test - --stop-on-skipped Stop execution upon first skipped test - --stop-on-incomplete Stop execution upon first incomplete test - --fail-on-warning Treat tests with warnings as failures - --fail-on-risky Treat risky tests as failures - -v|--verbose Output more verbose information - --debug Display debugging information - - --loader TestSuiteLoader implementation to use - --repeat Runs the test(s) repeatedly - --teamcity Report test execution progress in TeamCity format - --testdox Report test execution progress in TestDox format - --testdox-group Only include tests from the specified group(s) - --testdox-exclude-group Exclude tests from the specified group(s) - --printer TestListener implementation to use - - --resolve-dependencies Resolve dependencies between tests - --order-by= Run tests in order: default|reverse|random|defects|depends - --random-order-seed= Use a specific random seed for random order - --cache-result Write run result to cache to enable ordering tests defects-first - -Configuration Options: - - --prepend A PHP script that is included as early as possible - --bootstrap A PHP script that is included before the tests run - -c|--configuration Read configuration from XML file - --no-configuration Ignore default configuration file (phpunit.xml) - --no-logging Ignore logging configuration - --no-extensions Do not load PHPUnit extensions - --include-path Prepend PHP's include_path with given path(s) - -d key[=value] Sets a php.ini value - --generate-configuration Generate configuration file with suggested settings - --cache-result-file= Specify result cache path and filename - -Miscellaneous Options: - - -h|--help Prints this usage information - --version Prints the version and exits - --atleast-version Checks that version is greater than min and exits - --check-version Check whether PHPUnit is the latest version diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/hooks.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/hooks.phpt deleted file mode 100644 index 731e9c6..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/hooks.phpt +++ /dev/null @@ -1,38 +0,0 @@ ---TEST-- -phpunit --configuration _files/hooks.xml HookTest _files/HookTest.php ---FILE-- - - - - - - - - - \ No newline at end of file diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/log-junit-phpt.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/log-junit-phpt.phpt deleted file mode 100644 index d3310dd..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/log-junit-phpt.phpt +++ /dev/null @@ -1,28 +0,0 @@ ---TEST-- -phpunit --log-junit php://stdout ../end-to-end/phpt-stderr.phpt ---FILE-- - ---EXPECTF-- -PHPUnit %s by Sebastian Bergmann and contributors. - -. 1 / 1 (100%) - - - - PHPUnit must look at STDERR when running PHPT tests. - - - - - -Time: %s, Memory: %s - -OK (1 test, 1 assertion) diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/log-junit.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/log-junit.phpt deleted file mode 100644 index 42445c2..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/log-junit.phpt +++ /dev/null @@ -1,91 +0,0 @@ ---TEST-- -phpunit --log-junit php://stdout StatusTest ../../_files/StatusTest.php ---FILE-- - ---EXPECTF-- -PHPUnit %s by Sebastian Bergmann and contributors. - -.FEISRW 7 / 7 (100%) - - - - - vendor\project\StatusTest::testFailure -Failed asserting that false is true. - -%s%eStatusTest.php:%d - - - - vendor\project\StatusTest::testError -RuntimeException:%w - -%s%eStatusTest.php:%d - - - - - - - - - - Risky Test - - - - vendor\project\StatusTest::testWarning - -%s%eStatusTest.php:%d - - - - - - -Time: %s, Memory: %s - -There was 1 error: - -1) vendor\project\StatusTest::testError -RuntimeException:%w - -%s%eStatusTest.php:%d - --- - -There was 1 warning: - -1) vendor\project\StatusTest::testWarning - -%s%eStatusTest.php:%d - --- - -There was 1 failure: - -1) vendor\project\StatusTest::testFailure -Failed asserting that false is true. - -%s%eStatusTest.php:%d - --- - -There was 1 risky test: - -1) vendor\project\StatusTest::testRisky -This test did not perform any assertions - -%s:42 - -ERRORS! -Tests: 7, Assertions: 2, Errors: 1, Failures: 1, Warnings: 1, Skipped: 1, Incomplete: 1, Risky: 1. diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/log-teamcity-phpt.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/log-teamcity-phpt.phpt deleted file mode 100644 index 70fa1fa..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/log-teamcity-phpt.phpt +++ /dev/null @@ -1,25 +0,0 @@ ---TEST-- -phpunit --log-teamcity php://stdout ../end-to-end/phpt-stderr.phpt ---FILE-- -hi(); - } -} - -class Foo -{ - use ChildTrait; - - public function speak() - { - return $this->world(); - } -} - -require __DIR__ . '/../../../../vendor/autoload.php'; - -$generator = new \PHPUnit\Framework\MockObject\Generator; - -$mock = $generator->generate( - 'Foo', - [], - 'MockFoo', - true, - true -); - -print $mock['code']; -?> ---EXPECT-- -class MockFoo extends Foo implements PHPUnit\Framework\MockObject\MockObject -{ - private $__phpunit_invocationMocker; - private $__phpunit_originalObject; - private $__phpunit_configurable = ['speak']; - private $__phpunit_returnValueGeneration = true; - - public function __clone() - { - $this->__phpunit_invocationMocker = clone $this->__phpunit_getInvocationMocker(); - } - - public function speak() - { - $__phpunit_arguments = []; - $__phpunit_count = func_num_args(); - - if ($__phpunit_count > 0) { - $__phpunit_arguments_tmp = func_get_args(); - - for ($__phpunit_i = 0; $__phpunit_i < $__phpunit_count; $__phpunit_i++) { - $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i]; - } - } - - $__phpunit_result = $this->__phpunit_getInvocationMocker()->invoke( - new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation( - 'Foo', 'speak', $__phpunit_arguments, '', $this, true - ) - ); - - return $__phpunit_result; - } - - public function expects(\PHPUnit\Framework\MockObject\Matcher\Invocation $matcher) - { - return $this->__phpunit_getInvocationMocker()->expects($matcher); - } - - public function method() - { - $any = new \PHPUnit\Framework\MockObject\Matcher\AnyInvokedCount; - $expects = $this->expects($any); - - return call_user_func_array([$expects, 'method'], func_get_args()); - } - - public function __phpunit_setOriginalObject($originalObject) - { - $this->__phpunit_originalObject = $originalObject; - } - - public function __phpunit_setReturnValueGeneration(bool $returnValueGeneration) - { - $this->__phpunit_returnValueGeneration = $returnValueGeneration; - } - - public function __phpunit_getInvocationMocker() - { - if ($this->__phpunit_invocationMocker === null) { - $this->__phpunit_invocationMocker = new \PHPUnit\Framework\MockObject\InvocationMocker($this->__phpunit_configurable, $this->__phpunit_returnValueGeneration); - } - - return $this->__phpunit_invocationMocker; - } - - public function __phpunit_hasMatchers() - { - return $this->__phpunit_getInvocationMocker()->hasMatchers(); - } - - public function __phpunit_verify(bool $unsetInvocationMocker = true) - { - $this->__phpunit_getInvocationMocker()->verify(); - - if ($unsetInvocationMocker) { - $this->__phpunit_invocationMocker = null; - } - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/3154_namespaced_constant_resolving.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/3154_namespaced_constant_resolving.phpt deleted file mode 100644 index 6010ff3..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/3154_namespaced_constant_resolving.phpt +++ /dev/null @@ -1,119 +0,0 @@ ---TEST-- -https://github.com/sebastianbergmann/phpunit-mock-objects/issues/420 -https://github.com/sebastianbergmann/phpunit/issues/3154 ---FILE-- - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -const A_CONSTANT = 17; -const PHP_VERSION = ""; - -class Issue3154 -{ - public function a(int $i = PHP_INT_MAX, int $j = A_CONSTANT, string $v = \PHP_VERSION, string $z = '#'): string - { - return $z."sum: ".($i+$j).$v; - } -} -require __DIR__ . '/../../../../vendor/autoload.php'; - -$generator = new \PHPUnit\Framework\MockObject\Generator; - -$mock = $generator->generate( - Issue3154::class, - [], - 'Issue3154Mock', - true, - true -); - -print $mock['code']; ---EXPECTF-- -class Issue3154Mock extends Is\Namespaced\Issue3154 implements PHPUnit\Framework\MockObject\MockObject -{ - private $__phpunit_invocationMocker; - private $__phpunit_originalObject; - private $__phpunit_configurable = ['a']; - private $__phpunit_returnValueGeneration = true; - - public function __clone() - { - $this->__phpunit_invocationMocker = clone $this->__phpunit_getInvocationMocker(); - } - - public function a(int $i = %d, int $j = 17, string $v = '%s', string $z = '#'): string - { - $__phpunit_arguments = [$i, $j, $v, $z]; - $__phpunit_count = func_num_args(); - - if ($__phpunit_count > 4) { - $__phpunit_arguments_tmp = func_get_args(); - - for ($__phpunit_i = 4; $__phpunit_i < $__phpunit_count; $__phpunit_i++) { - $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i]; - } - } - - $__phpunit_result = $this->__phpunit_getInvocationMocker()->invoke( - new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation( - 'Is\Namespaced\Issue3154', 'a', $__phpunit_arguments, 'string', $this, true - ) - ); - - return $__phpunit_result; - } - - public function expects(\PHPUnit\Framework\MockObject\Matcher\Invocation $matcher) - { - return $this->__phpunit_getInvocationMocker()->expects($matcher); - } - - public function method() - { - $any = new \PHPUnit\Framework\MockObject\Matcher\AnyInvokedCount; - $expects = $this->expects($any); - - return call_user_func_array([$expects, 'method'], func_get_args()); - } - - public function __phpunit_setOriginalObject($originalObject) - { - $this->__phpunit_originalObject = $originalObject; - } - - public function __phpunit_setReturnValueGeneration(bool $returnValueGeneration) - { - $this->__phpunit_returnValueGeneration = $returnValueGeneration; - } - - public function __phpunit_getInvocationMocker() - { - if ($this->__phpunit_invocationMocker === null) { - $this->__phpunit_invocationMocker = new \PHPUnit\Framework\MockObject\InvocationMocker($this->__phpunit_configurable, $this->__phpunit_returnValueGeneration); - } - - return $this->__phpunit_invocationMocker; - } - - public function __phpunit_hasMatchers() - { - return $this->__phpunit_getInvocationMocker()->hasMatchers(); - } - - public function __phpunit_verify(bool $unsetInvocationMocker = true) - { - $this->__phpunit_getInvocationMocker()->verify(); - - if ($unsetInvocationMocker) { - $this->__phpunit_invocationMocker = null; - } - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/3530.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/3530.phpt deleted file mode 100644 index 588a654..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/3530.phpt +++ /dev/null @@ -1,27 +0,0 @@ ---TEST-- -\PHPUnit\Framework\MockObject\Generator::generateClassFromWsdl('3530.wsdl', 'Test') ---SKIPIF-- -generateClassFromWsdl( - __DIR__ . '/../../../_files/3530.wsdl', - 'Test' -); ---EXPECTF-- -class Test extends \SoapClient -{ - public function __construct($wsdl, array $options) - { - parent::__construct('%s/3530.wsdl', $options); - } - - public function Contact_Information($Contact_Id) - { - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/397.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/397.phpt deleted file mode 100644 index dd0a35d..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/397.phpt +++ /dev/null @@ -1,105 +0,0 @@ ---TEST-- -https://github.com/sebastianbergmann/phpunit-mock-objects/issues/397 ---FILE-- -generate( - C::class, - [], - 'MockC', - true, - true -); - -print $mock['code']; ---EXPECT-- -class MockC extends C implements PHPUnit\Framework\MockObject\MockObject -{ - private $__phpunit_invocationMocker; - private $__phpunit_originalObject; - private $__phpunit_configurable = ['m']; - private $__phpunit_returnValueGeneration = true; - - public function __clone() - { - $this->__phpunit_invocationMocker = clone $this->__phpunit_getInvocationMocker(); - } - - public function m(?C $other): C - { - $__phpunit_arguments = [$other]; - $__phpunit_count = func_num_args(); - - if ($__phpunit_count > 1) { - $__phpunit_arguments_tmp = func_get_args(); - - for ($__phpunit_i = 1; $__phpunit_i < $__phpunit_count; $__phpunit_i++) { - $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i]; - } - } - - $__phpunit_result = $this->__phpunit_getInvocationMocker()->invoke( - new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation( - 'C', 'm', $__phpunit_arguments, 'C', $this, true - ) - ); - - return $__phpunit_result; - } - - public function expects(\PHPUnit\Framework\MockObject\Matcher\Invocation $matcher) - { - return $this->__phpunit_getInvocationMocker()->expects($matcher); - } - - public function method() - { - $any = new \PHPUnit\Framework\MockObject\Matcher\AnyInvokedCount; - $expects = $this->expects($any); - - return call_user_func_array([$expects, 'method'], func_get_args()); - } - - public function __phpunit_setOriginalObject($originalObject) - { - $this->__phpunit_originalObject = $originalObject; - } - - public function __phpunit_setReturnValueGeneration(bool $returnValueGeneration) - { - $this->__phpunit_returnValueGeneration = $returnValueGeneration; - } - - public function __phpunit_getInvocationMocker() - { - if ($this->__phpunit_invocationMocker === null) { - $this->__phpunit_invocationMocker = new \PHPUnit\Framework\MockObject\InvocationMocker($this->__phpunit_configurable, $this->__phpunit_returnValueGeneration); - } - - return $this->__phpunit_invocationMocker; - } - - public function __phpunit_hasMatchers() - { - return $this->__phpunit_getInvocationMocker()->hasMatchers(); - } - - public function __phpunit_verify(bool $unsetInvocationMocker = true) - { - $this->__phpunit_getInvocationMocker()->verify(); - - if ($unsetInvocationMocker) { - $this->__phpunit_invocationMocker = null; - } - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/abstract_class.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/abstract_class.phpt deleted file mode 100644 index 6c4e9ce..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/abstract_class.phpt +++ /dev/null @@ -1,154 +0,0 @@ ---TEST-- -\PHPUnit\Framework\MockObject\Generator::generate('Foo', [], 'MockFoo', true, true) ---FILE-- -generate( - 'Foo', - [], - 'MockFoo', - true, - true -); - -print $mock['code']; -?> ---EXPECT-- -class MockFoo extends Foo implements PHPUnit\Framework\MockObject\MockObject -{ - private $__phpunit_invocationMocker; - private $__phpunit_originalObject; - private $__phpunit_configurable = ['one', 'two', 'three']; - private $__phpunit_returnValueGeneration = true; - - public function __clone() - { - $this->__phpunit_invocationMocker = clone $this->__phpunit_getInvocationMocker(); - } - - public function one() - { - $__phpunit_arguments = []; - $__phpunit_count = func_num_args(); - - if ($__phpunit_count > 0) { - $__phpunit_arguments_tmp = func_get_args(); - - for ($__phpunit_i = 0; $__phpunit_i < $__phpunit_count; $__phpunit_i++) { - $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i]; - } - } - - $__phpunit_result = $this->__phpunit_getInvocationMocker()->invoke( - new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation( - 'Foo', 'one', $__phpunit_arguments, '', $this, true - ) - ); - - return $__phpunit_result; - } - - public function two() - { - $__phpunit_arguments = []; - $__phpunit_count = func_num_args(); - - if ($__phpunit_count > 0) { - $__phpunit_arguments_tmp = func_get_args(); - - for ($__phpunit_i = 0; $__phpunit_i < $__phpunit_count; $__phpunit_i++) { - $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i]; - } - } - - $__phpunit_result = $this->__phpunit_getInvocationMocker()->invoke( - new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation( - 'Foo', 'two', $__phpunit_arguments, '', $this, true - ) - ); - - return $__phpunit_result; - } - - protected function three() - { - $__phpunit_arguments = []; - $__phpunit_count = func_num_args(); - - if ($__phpunit_count > 0) { - $__phpunit_arguments_tmp = func_get_args(); - - for ($__phpunit_i = 0; $__phpunit_i < $__phpunit_count; $__phpunit_i++) { - $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i]; - } - } - - $__phpunit_result = $this->__phpunit_getInvocationMocker()->invoke( - new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation( - 'Foo', 'three', $__phpunit_arguments, '', $this, true - ) - ); - - return $__phpunit_result; - } - - public function expects(\PHPUnit\Framework\MockObject\Matcher\Invocation $matcher) - { - return $this->__phpunit_getInvocationMocker()->expects($matcher); - } - - public function method() - { - $any = new \PHPUnit\Framework\MockObject\Matcher\AnyInvokedCount; - $expects = $this->expects($any); - - return call_user_func_array([$expects, 'method'], func_get_args()); - } - - public function __phpunit_setOriginalObject($originalObject) - { - $this->__phpunit_originalObject = $originalObject; - } - - public function __phpunit_setReturnValueGeneration(bool $returnValueGeneration) - { - $this->__phpunit_returnValueGeneration = $returnValueGeneration; - } - - public function __phpunit_getInvocationMocker() - { - if ($this->__phpunit_invocationMocker === null) { - $this->__phpunit_invocationMocker = new \PHPUnit\Framework\MockObject\InvocationMocker($this->__phpunit_configurable, $this->__phpunit_returnValueGeneration); - } - - return $this->__phpunit_invocationMocker; - } - - public function __phpunit_hasMatchers() - { - return $this->__phpunit_getInvocationMocker()->hasMatchers(); - } - - public function __phpunit_verify(bool $unsetInvocationMocker = true) - { - $this->__phpunit_getInvocationMocker()->verify(); - - if ($unsetInvocationMocker) { - $this->__phpunit_invocationMocker = null; - } - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/class.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/class.phpt deleted file mode 100644 index a7f5adf..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/class.phpt +++ /dev/null @@ -1,132 +0,0 @@ ---TEST-- -\PHPUnit\Framework\MockObject\Generator::generate('Foo', [], 'MockFoo', true, true) ---FILE-- -generate( - 'Foo', - [], - 'MockFoo', - true, - true -); - -print $mock['code']; -?> ---EXPECT-- -class MockFoo extends Foo implements PHPUnit\Framework\MockObject\MockObject -{ - private $__phpunit_invocationMocker; - private $__phpunit_originalObject; - private $__phpunit_configurable = ['bar', 'baz']; - private $__phpunit_returnValueGeneration = true; - - public function __clone() - { - $this->__phpunit_invocationMocker = clone $this->__phpunit_getInvocationMocker(); - } - - public function bar(Foo $foo) - { - $__phpunit_arguments = [$foo]; - $__phpunit_count = func_num_args(); - - if ($__phpunit_count > 1) { - $__phpunit_arguments_tmp = func_get_args(); - - for ($__phpunit_i = 1; $__phpunit_i < $__phpunit_count; $__phpunit_i++) { - $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i]; - } - } - - $__phpunit_result = $this->__phpunit_getInvocationMocker()->invoke( - new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation( - 'Foo', 'bar', $__phpunit_arguments, '', $this, true - ) - ); - - return $__phpunit_result; - } - - public function baz(Foo $foo) - { - $__phpunit_arguments = [$foo]; - $__phpunit_count = func_num_args(); - - if ($__phpunit_count > 1) { - $__phpunit_arguments_tmp = func_get_args(); - - for ($__phpunit_i = 1; $__phpunit_i < $__phpunit_count; $__phpunit_i++) { - $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i]; - } - } - - $__phpunit_result = $this->__phpunit_getInvocationMocker()->invoke( - new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation( - 'Foo', 'baz', $__phpunit_arguments, '', $this, true - ) - ); - - return $__phpunit_result; - } - - public function expects(\PHPUnit\Framework\MockObject\Matcher\Invocation $matcher) - { - return $this->__phpunit_getInvocationMocker()->expects($matcher); - } - - public function method() - { - $any = new \PHPUnit\Framework\MockObject\Matcher\AnyInvokedCount; - $expects = $this->expects($any); - - return call_user_func_array([$expects, 'method'], func_get_args()); - } - - public function __phpunit_setOriginalObject($originalObject) - { - $this->__phpunit_originalObject = $originalObject; - } - - public function __phpunit_setReturnValueGeneration(bool $returnValueGeneration) - { - $this->__phpunit_returnValueGeneration = $returnValueGeneration; - } - - public function __phpunit_getInvocationMocker() - { - if ($this->__phpunit_invocationMocker === null) { - $this->__phpunit_invocationMocker = new \PHPUnit\Framework\MockObject\InvocationMocker($this->__phpunit_configurable, $this->__phpunit_returnValueGeneration); - } - - return $this->__phpunit_invocationMocker; - } - - public function __phpunit_hasMatchers() - { - return $this->__phpunit_getInvocationMocker()->hasMatchers(); - } - - public function __phpunit_verify(bool $unsetInvocationMocker = true) - { - $this->__phpunit_getInvocationMocker()->verify(); - - if ($unsetInvocationMocker) { - $this->__phpunit_invocationMocker = null; - } - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/class_call_parent_clone.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/class_call_parent_clone.phpt deleted file mode 100644 index f260e00..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/class_call_parent_clone.phpt +++ /dev/null @@ -1,84 +0,0 @@ ---TEST-- -\PHPUnit\Framework\MockObject\Generator::generate('Foo', [], 'MockFoo', true) ---FILE-- -generate( - 'Foo', - [], - 'MockFoo', - true -); - -print $mock['code']; -?> ---EXPECT-- -class MockFoo extends Foo implements PHPUnit\Framework\MockObject\MockObject -{ - private $__phpunit_invocationMocker; - private $__phpunit_originalObject; - private $__phpunit_configurable = []; - private $__phpunit_returnValueGeneration = true; - - public function __clone() - { - $this->__phpunit_invocationMocker = clone $this->__phpunit_getInvocationMocker(); - parent::__clone(); - } - - public function expects(\PHPUnit\Framework\MockObject\Matcher\Invocation $matcher) - { - return $this->__phpunit_getInvocationMocker()->expects($matcher); - } - - public function method() - { - $any = new \PHPUnit\Framework\MockObject\Matcher\AnyInvokedCount; - $expects = $this->expects($any); - - return call_user_func_array([$expects, 'method'], func_get_args()); - } - - public function __phpunit_setOriginalObject($originalObject) - { - $this->__phpunit_originalObject = $originalObject; - } - - public function __phpunit_setReturnValueGeneration(bool $returnValueGeneration) - { - $this->__phpunit_returnValueGeneration = $returnValueGeneration; - } - - public function __phpunit_getInvocationMocker() - { - if ($this->__phpunit_invocationMocker === null) { - $this->__phpunit_invocationMocker = new \PHPUnit\Framework\MockObject\InvocationMocker($this->__phpunit_configurable, $this->__phpunit_returnValueGeneration); - } - - return $this->__phpunit_invocationMocker; - } - - public function __phpunit_hasMatchers() - { - return $this->__phpunit_getInvocationMocker()->hasMatchers(); - } - - public function __phpunit_verify(bool $unsetInvocationMocker = true) - { - $this->__phpunit_getInvocationMocker()->verify(); - - if ($unsetInvocationMocker) { - $this->__phpunit_invocationMocker = null; - } - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/class_call_parent_constructor.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/class_call_parent_constructor.phpt deleted file mode 100644 index f14f77a..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/class_call_parent_constructor.phpt +++ /dev/null @@ -1,83 +0,0 @@ ---TEST-- -\PHPUnit\Framework\MockObject\Generator::generate('Foo', [], 'MockFoo', true) ---FILE-- -generate( - 'Foo', - [], - 'MockFoo', - true -); - -print $mock['code']; -?> ---EXPECT-- -class MockFoo extends Foo implements PHPUnit\Framework\MockObject\MockObject -{ - private $__phpunit_invocationMocker; - private $__phpunit_originalObject; - private $__phpunit_configurable = []; - private $__phpunit_returnValueGeneration = true; - - public function __clone() - { - $this->__phpunit_invocationMocker = clone $this->__phpunit_getInvocationMocker(); - } - - public function expects(\PHPUnit\Framework\MockObject\Matcher\Invocation $matcher) - { - return $this->__phpunit_getInvocationMocker()->expects($matcher); - } - - public function method() - { - $any = new \PHPUnit\Framework\MockObject\Matcher\AnyInvokedCount; - $expects = $this->expects($any); - - return call_user_func_array([$expects, 'method'], func_get_args()); - } - - public function __phpunit_setOriginalObject($originalObject) - { - $this->__phpunit_originalObject = $originalObject; - } - - public function __phpunit_setReturnValueGeneration(bool $returnValueGeneration) - { - $this->__phpunit_returnValueGeneration = $returnValueGeneration; - } - - public function __phpunit_getInvocationMocker() - { - if ($this->__phpunit_invocationMocker === null) { - $this->__phpunit_invocationMocker = new \PHPUnit\Framework\MockObject\InvocationMocker($this->__phpunit_configurable, $this->__phpunit_returnValueGeneration); - } - - return $this->__phpunit_invocationMocker; - } - - public function __phpunit_hasMatchers() - { - return $this->__phpunit_getInvocationMocker()->hasMatchers(); - } - - public function __phpunit_verify(bool $unsetInvocationMocker = true) - { - $this->__phpunit_getInvocationMocker()->verify(); - - if ($unsetInvocationMocker) { - $this->__phpunit_invocationMocker = null; - } - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/class_dont_call_parent_clone.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/class_dont_call_parent_clone.phpt deleted file mode 100644 index 16c6503..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/class_dont_call_parent_clone.phpt +++ /dev/null @@ -1,83 +0,0 @@ ---TEST-- -\PHPUnit\Framework\MockObject\Generator::generate('Foo', [], 'MockFoo', false) ---FILE-- -generate( - 'Foo', - [], - 'MockFoo', - false -); - -print $mock['code']; -?> ---EXPECT-- -class MockFoo extends Foo implements PHPUnit\Framework\MockObject\MockObject -{ - private $__phpunit_invocationMocker; - private $__phpunit_originalObject; - private $__phpunit_configurable = []; - private $__phpunit_returnValueGeneration = true; - - public function __clone() - { - $this->__phpunit_invocationMocker = clone $this->__phpunit_getInvocationMocker(); - } - - public function expects(\PHPUnit\Framework\MockObject\Matcher\Invocation $matcher) - { - return $this->__phpunit_getInvocationMocker()->expects($matcher); - } - - public function method() - { - $any = new \PHPUnit\Framework\MockObject\Matcher\AnyInvokedCount; - $expects = $this->expects($any); - - return call_user_func_array([$expects, 'method'], func_get_args()); - } - - public function __phpunit_setOriginalObject($originalObject) - { - $this->__phpunit_originalObject = $originalObject; - } - - public function __phpunit_setReturnValueGeneration(bool $returnValueGeneration) - { - $this->__phpunit_returnValueGeneration = $returnValueGeneration; - } - - public function __phpunit_getInvocationMocker() - { - if ($this->__phpunit_invocationMocker === null) { - $this->__phpunit_invocationMocker = new \PHPUnit\Framework\MockObject\InvocationMocker($this->__phpunit_configurable, $this->__phpunit_returnValueGeneration); - } - - return $this->__phpunit_invocationMocker; - } - - public function __phpunit_hasMatchers() - { - return $this->__phpunit_getInvocationMocker()->hasMatchers(); - } - - public function __phpunit_verify(bool $unsetInvocationMocker = true) - { - $this->__phpunit_getInvocationMocker()->verify(); - - if ($unsetInvocationMocker) { - $this->__phpunit_invocationMocker = null; - } - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/class_dont_call_parent_constructor.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/class_dont_call_parent_constructor.phpt deleted file mode 100644 index f14f77a..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/class_dont_call_parent_constructor.phpt +++ /dev/null @@ -1,83 +0,0 @@ ---TEST-- -\PHPUnit\Framework\MockObject\Generator::generate('Foo', [], 'MockFoo', true) ---FILE-- -generate( - 'Foo', - [], - 'MockFoo', - true -); - -print $mock['code']; -?> ---EXPECT-- -class MockFoo extends Foo implements PHPUnit\Framework\MockObject\MockObject -{ - private $__phpunit_invocationMocker; - private $__phpunit_originalObject; - private $__phpunit_configurable = []; - private $__phpunit_returnValueGeneration = true; - - public function __clone() - { - $this->__phpunit_invocationMocker = clone $this->__phpunit_getInvocationMocker(); - } - - public function expects(\PHPUnit\Framework\MockObject\Matcher\Invocation $matcher) - { - return $this->__phpunit_getInvocationMocker()->expects($matcher); - } - - public function method() - { - $any = new \PHPUnit\Framework\MockObject\Matcher\AnyInvokedCount; - $expects = $this->expects($any); - - return call_user_func_array([$expects, 'method'], func_get_args()); - } - - public function __phpunit_setOriginalObject($originalObject) - { - $this->__phpunit_originalObject = $originalObject; - } - - public function __phpunit_setReturnValueGeneration(bool $returnValueGeneration) - { - $this->__phpunit_returnValueGeneration = $returnValueGeneration; - } - - public function __phpunit_getInvocationMocker() - { - if ($this->__phpunit_invocationMocker === null) { - $this->__phpunit_invocationMocker = new \PHPUnit\Framework\MockObject\InvocationMocker($this->__phpunit_configurable, $this->__phpunit_returnValueGeneration); - } - - return $this->__phpunit_invocationMocker; - } - - public function __phpunit_hasMatchers() - { - return $this->__phpunit_getInvocationMocker()->hasMatchers(); - } - - public function __phpunit_verify(bool $unsetInvocationMocker = true) - { - $this->__phpunit_getInvocationMocker()->verify(); - - if ($unsetInvocationMocker) { - $this->__phpunit_invocationMocker = null; - } - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/class_implementing_interface_call_parent_constructor.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/class_implementing_interface_call_parent_constructor.phpt deleted file mode 100644 index b249560..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/class_implementing_interface_call_parent_constructor.phpt +++ /dev/null @@ -1,88 +0,0 @@ ---TEST-- -\PHPUnit\Framework\MockObject\Generator::generate('Foo', [], 'MockFoo', true) ---FILE-- -generate( - 'Foo', - [], - 'MockFoo', - true -); - -print $mock['code']; -?> ---EXPECT-- -class MockFoo extends Foo implements PHPUnit\Framework\MockObject\MockObject -{ - private $__phpunit_invocationMocker; - private $__phpunit_originalObject; - private $__phpunit_configurable = []; - private $__phpunit_returnValueGeneration = true; - - public function __clone() - { - $this->__phpunit_invocationMocker = clone $this->__phpunit_getInvocationMocker(); - } - - public function expects(\PHPUnit\Framework\MockObject\Matcher\Invocation $matcher) - { - return $this->__phpunit_getInvocationMocker()->expects($matcher); - } - - public function method() - { - $any = new \PHPUnit\Framework\MockObject\Matcher\AnyInvokedCount; - $expects = $this->expects($any); - - return call_user_func_array([$expects, 'method'], func_get_args()); - } - - public function __phpunit_setOriginalObject($originalObject) - { - $this->__phpunit_originalObject = $originalObject; - } - - public function __phpunit_setReturnValueGeneration(bool $returnValueGeneration) - { - $this->__phpunit_returnValueGeneration = $returnValueGeneration; - } - - public function __phpunit_getInvocationMocker() - { - if ($this->__phpunit_invocationMocker === null) { - $this->__phpunit_invocationMocker = new \PHPUnit\Framework\MockObject\InvocationMocker($this->__phpunit_configurable, $this->__phpunit_returnValueGeneration); - } - - return $this->__phpunit_invocationMocker; - } - - public function __phpunit_hasMatchers() - { - return $this->__phpunit_getInvocationMocker()->hasMatchers(); - } - - public function __phpunit_verify(bool $unsetInvocationMocker = true) - { - $this->__phpunit_getInvocationMocker()->verify(); - - if ($unsetInvocationMocker) { - $this->__phpunit_invocationMocker = null; - } - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/class_implementing_interface_dont_call_parent_constructor.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/class_implementing_interface_dont_call_parent_constructor.phpt deleted file mode 100644 index b249560..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/class_implementing_interface_dont_call_parent_constructor.phpt +++ /dev/null @@ -1,88 +0,0 @@ ---TEST-- -\PHPUnit\Framework\MockObject\Generator::generate('Foo', [], 'MockFoo', true) ---FILE-- -generate( - 'Foo', - [], - 'MockFoo', - true -); - -print $mock['code']; -?> ---EXPECT-- -class MockFoo extends Foo implements PHPUnit\Framework\MockObject\MockObject -{ - private $__phpunit_invocationMocker; - private $__phpunit_originalObject; - private $__phpunit_configurable = []; - private $__phpunit_returnValueGeneration = true; - - public function __clone() - { - $this->__phpunit_invocationMocker = clone $this->__phpunit_getInvocationMocker(); - } - - public function expects(\PHPUnit\Framework\MockObject\Matcher\Invocation $matcher) - { - return $this->__phpunit_getInvocationMocker()->expects($matcher); - } - - public function method() - { - $any = new \PHPUnit\Framework\MockObject\Matcher\AnyInvokedCount; - $expects = $this->expects($any); - - return call_user_func_array([$expects, 'method'], func_get_args()); - } - - public function __phpunit_setOriginalObject($originalObject) - { - $this->__phpunit_originalObject = $originalObject; - } - - public function __phpunit_setReturnValueGeneration(bool $returnValueGeneration) - { - $this->__phpunit_returnValueGeneration = $returnValueGeneration; - } - - public function __phpunit_getInvocationMocker() - { - if ($this->__phpunit_invocationMocker === null) { - $this->__phpunit_invocationMocker = new \PHPUnit\Framework\MockObject\InvocationMocker($this->__phpunit_configurable, $this->__phpunit_returnValueGeneration); - } - - return $this->__phpunit_invocationMocker; - } - - public function __phpunit_hasMatchers() - { - return $this->__phpunit_getInvocationMocker()->hasMatchers(); - } - - public function __phpunit_verify(bool $unsetInvocationMocker = true) - { - $this->__phpunit_getInvocationMocker()->verify(); - - if ($unsetInvocationMocker) { - $this->__phpunit_invocationMocker = null; - } - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/class_nonexistent_method.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/class_nonexistent_method.phpt deleted file mode 100644 index 1ffa0b6..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/class_nonexistent_method.phpt +++ /dev/null @@ -1,106 +0,0 @@ ---TEST-- -\PHPUnit\Framework\MockObject\Generator::generate('Foo', array('bar'), 'MockFoo', true, true) ---FILE-- -generate( - 'Foo', - array('bar'), - 'MockFoo', - true, - true -); - -print $mock['code']; -?> ---EXPECT-- -class MockFoo extends Foo implements PHPUnit\Framework\MockObject\MockObject -{ - private $__phpunit_invocationMocker; - private $__phpunit_originalObject; - private $__phpunit_configurable = ['bar']; - private $__phpunit_returnValueGeneration = true; - - public function __clone() - { - $this->__phpunit_invocationMocker = clone $this->__phpunit_getInvocationMocker(); - } - - public function bar() - { - $__phpunit_arguments = []; - $__phpunit_count = func_num_args(); - - if ($__phpunit_count > 0) { - $__phpunit_arguments_tmp = func_get_args(); - - for ($__phpunit_i = 0; $__phpunit_i < $__phpunit_count; $__phpunit_i++) { - $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i]; - } - } - - $__phpunit_result = $this->__phpunit_getInvocationMocker()->invoke( - new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation( - 'Foo', 'bar', $__phpunit_arguments, '', $this, true - ) - ); - - return $__phpunit_result; - } - - public function expects(\PHPUnit\Framework\MockObject\Matcher\Invocation $matcher) - { - return $this->__phpunit_getInvocationMocker()->expects($matcher); - } - - public function method() - { - $any = new \PHPUnit\Framework\MockObject\Matcher\AnyInvokedCount; - $expects = $this->expects($any); - - return call_user_func_array([$expects, 'method'], func_get_args()); - } - - public function __phpunit_setOriginalObject($originalObject) - { - $this->__phpunit_originalObject = $originalObject; - } - - public function __phpunit_setReturnValueGeneration(bool $returnValueGeneration) - { - $this->__phpunit_returnValueGeneration = $returnValueGeneration; - } - - public function __phpunit_getInvocationMocker() - { - if ($this->__phpunit_invocationMocker === null) { - $this->__phpunit_invocationMocker = new \PHPUnit\Framework\MockObject\InvocationMocker($this->__phpunit_configurable, $this->__phpunit_returnValueGeneration); - } - - return $this->__phpunit_invocationMocker; - } - - public function __phpunit_hasMatchers() - { - return $this->__phpunit_getInvocationMocker()->hasMatchers(); - } - - public function __phpunit_verify(bool $unsetInvocationMocker = true) - { - $this->__phpunit_getInvocationMocker()->verify(); - - if ($unsetInvocationMocker) { - $this->__phpunit_invocationMocker = null; - } - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/class_partial.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/class_partial.phpt deleted file mode 100644 index 324ffd4..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/class_partial.phpt +++ /dev/null @@ -1,110 +0,0 @@ ---TEST-- -\PHPUnit\Framework\MockObject\Generator::generate('Foo', array('bar'), 'MockFoo', true, true) ---FILE-- -generate( - 'Foo', - array('bar'), - 'MockFoo', - true, - true -); - -print $mock['code']; -?> ---EXPECT-- -class MockFoo extends Foo implements PHPUnit\Framework\MockObject\MockObject -{ - private $__phpunit_invocationMocker; - private $__phpunit_originalObject; - private $__phpunit_configurable = ['bar']; - private $__phpunit_returnValueGeneration = true; - - public function __clone() - { - $this->__phpunit_invocationMocker = clone $this->__phpunit_getInvocationMocker(); - } - - public function bar(Foo $foo) - { - $__phpunit_arguments = [$foo]; - $__phpunit_count = func_num_args(); - - if ($__phpunit_count > 1) { - $__phpunit_arguments_tmp = func_get_args(); - - for ($__phpunit_i = 1; $__phpunit_i < $__phpunit_count; $__phpunit_i++) { - $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i]; - } - } - - $__phpunit_result = $this->__phpunit_getInvocationMocker()->invoke( - new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation( - 'Foo', 'bar', $__phpunit_arguments, '', $this, true - ) - ); - - return $__phpunit_result; - } - - public function expects(\PHPUnit\Framework\MockObject\Matcher\Invocation $matcher) - { - return $this->__phpunit_getInvocationMocker()->expects($matcher); - } - - public function method() - { - $any = new \PHPUnit\Framework\MockObject\Matcher\AnyInvokedCount; - $expects = $this->expects($any); - - return call_user_func_array([$expects, 'method'], func_get_args()); - } - - public function __phpunit_setOriginalObject($originalObject) - { - $this->__phpunit_originalObject = $originalObject; - } - - public function __phpunit_setReturnValueGeneration(bool $returnValueGeneration) - { - $this->__phpunit_returnValueGeneration = $returnValueGeneration; - } - - public function __phpunit_getInvocationMocker() - { - if ($this->__phpunit_invocationMocker === null) { - $this->__phpunit_invocationMocker = new \PHPUnit\Framework\MockObject\InvocationMocker($this->__phpunit_configurable, $this->__phpunit_returnValueGeneration); - } - - return $this->__phpunit_invocationMocker; - } - - public function __phpunit_hasMatchers() - { - return $this->__phpunit_getInvocationMocker()->hasMatchers(); - } - - public function __phpunit_verify(bool $unsetInvocationMocker = true) - { - $this->__phpunit_getInvocationMocker()->verify(); - - if ($unsetInvocationMocker) { - $this->__phpunit_invocationMocker = null; - } - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/class_with_deprecated_method.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/class_with_deprecated_method.phpt deleted file mode 100644 index e50c983..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/class_with_deprecated_method.phpt +++ /dev/null @@ -1,112 +0,0 @@ ---TEST-- -\PHPUnit\Framework\MockObject\Generator::generate('ClassWithDeprecatedMethod', [], 'MockFoo', TRUE, TRUE) ---FILE-- -generate( - 'ClassWithDeprecatedMethod', - [], - 'MockFoo', - TRUE, - TRUE -); - -print $mock['code']; -?> ---EXPECT-- -class MockFoo extends ClassWithDeprecatedMethod implements PHPUnit\Framework\MockObject\MockObject -{ - private $__phpunit_invocationMocker; - private $__phpunit_originalObject; - private $__phpunit_configurable = ['deprecatedmethod']; - private $__phpunit_returnValueGeneration = true; - - public function __clone() - { - $this->__phpunit_invocationMocker = clone $this->__phpunit_getInvocationMocker(); - } - - public function deprecatedMethod() - { - @trigger_error('The ClassWithDeprecatedMethod::deprecatedMethod method is deprecated (this method is deprecated).', E_USER_DEPRECATED); - - $__phpunit_arguments = []; - $__phpunit_count = func_num_args(); - - if ($__phpunit_count > 0) { - $__phpunit_arguments_tmp = func_get_args(); - - for ($__phpunit_i = 0; $__phpunit_i < $__phpunit_count; $__phpunit_i++) { - $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i]; - } - } - - $__phpunit_result = $this->__phpunit_getInvocationMocker()->invoke( - new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation( - 'ClassWithDeprecatedMethod', 'deprecatedMethod', $__phpunit_arguments, '', $this, true - ) - ); - - return $__phpunit_result; - } - - public function expects(\PHPUnit\Framework\MockObject\Matcher\Invocation $matcher) - { - return $this->__phpunit_getInvocationMocker()->expects($matcher); - } - - public function method() - { - $any = new \PHPUnit\Framework\MockObject\Matcher\AnyInvokedCount; - $expects = $this->expects($any); - - return call_user_func_array([$expects, 'method'], func_get_args()); - } - - public function __phpunit_setOriginalObject($originalObject) - { - $this->__phpunit_originalObject = $originalObject; - } - - public function __phpunit_setReturnValueGeneration(bool $returnValueGeneration) - { - $this->__phpunit_returnValueGeneration = $returnValueGeneration; - } - - public function __phpunit_getInvocationMocker() - { - if ($this->__phpunit_invocationMocker === null) { - $this->__phpunit_invocationMocker = new \PHPUnit\Framework\MockObject\InvocationMocker($this->__phpunit_configurable, $this->__phpunit_returnValueGeneration); - } - - return $this->__phpunit_invocationMocker; - } - - public function __phpunit_hasMatchers() - { - return $this->__phpunit_getInvocationMocker()->hasMatchers(); - } - - public function __phpunit_verify(bool $unsetInvocationMocker = true) - { - $this->__phpunit_getInvocationMocker()->verify(); - - if ($unsetInvocationMocker) { - $this->__phpunit_invocationMocker = null; - } - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/class_with_final_method.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/class_with_final_method.phpt deleted file mode 100644 index 8b59f58..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/class_with_final_method.phpt +++ /dev/null @@ -1,84 +0,0 @@ ---TEST-- -\PHPUnit\Framework\MockObject\Generator::generate('ClassWithFinalMethod', [], 'MockFoo', true, true) ---FILE-- -generate( - 'ClassWithFinalMethod', - [], - 'MockFoo', - true, - true -); - -print $mock['code']; -?> ---EXPECT-- -class MockFoo extends ClassWithFinalMethod implements PHPUnit\Framework\MockObject\MockObject -{ - private $__phpunit_invocationMocker; - private $__phpunit_originalObject; - private $__phpunit_configurable = []; - private $__phpunit_returnValueGeneration = true; - - public function __clone() - { - $this->__phpunit_invocationMocker = clone $this->__phpunit_getInvocationMocker(); - } - - public function expects(\PHPUnit\Framework\MockObject\Matcher\Invocation $matcher) - { - return $this->__phpunit_getInvocationMocker()->expects($matcher); - } - - public function method() - { - $any = new \PHPUnit\Framework\MockObject\Matcher\AnyInvokedCount; - $expects = $this->expects($any); - - return call_user_func_array([$expects, 'method'], func_get_args()); - } - - public function __phpunit_setOriginalObject($originalObject) - { - $this->__phpunit_originalObject = $originalObject; - } - - public function __phpunit_setReturnValueGeneration(bool $returnValueGeneration) - { - $this->__phpunit_returnValueGeneration = $returnValueGeneration; - } - - public function __phpunit_getInvocationMocker() - { - if ($this->__phpunit_invocationMocker === null) { - $this->__phpunit_invocationMocker = new \PHPUnit\Framework\MockObject\InvocationMocker($this->__phpunit_configurable, $this->__phpunit_returnValueGeneration); - } - - return $this->__phpunit_invocationMocker; - } - - public function __phpunit_hasMatchers() - { - return $this->__phpunit_getInvocationMocker()->hasMatchers(); - } - - public function __phpunit_verify(bool $unsetInvocationMocker = true) - { - $this->__phpunit_getInvocationMocker()->verify(); - - if ($unsetInvocationMocker) { - $this->__phpunit_invocationMocker = null; - } - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/class_with_method_named_method.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/class_with_method_named_method.phpt deleted file mode 100644 index 0c3ea95..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/class_with_method_named_method.phpt +++ /dev/null @@ -1,98 +0,0 @@ ---TEST-- -\PHPUnit\Framework\MockObject\Generator::generate('Foo', [], 'MockFoo', true, true) ---FILE-- -generate( - 'Foo', - [], - 'MockFoo', - true, - true -); - -print $mock['code']; -?> ---EXPECT-- -class MockFoo extends Foo implements PHPUnit\Framework\MockObject\MockObject -{ - private $__phpunit_invocationMocker; - private $__phpunit_originalObject; - private $__phpunit_configurable = ['method']; - private $__phpunit_returnValueGeneration = true; - - public function __clone() - { - $this->__phpunit_invocationMocker = clone $this->__phpunit_getInvocationMocker(); - } - - public function method() - { - $__phpunit_arguments = []; - $__phpunit_count = func_num_args(); - - if ($__phpunit_count > 0) { - $__phpunit_arguments_tmp = func_get_args(); - - for ($__phpunit_i = 0; $__phpunit_i < $__phpunit_count; $__phpunit_i++) { - $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i]; - } - } - - $__phpunit_result = $this->__phpunit_getInvocationMocker()->invoke( - new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation( - 'Foo', 'method', $__phpunit_arguments, '', $this, true - ) - ); - - return $__phpunit_result; - } - - public function expects(\PHPUnit\Framework\MockObject\Matcher\Invocation $matcher) - { - return $this->__phpunit_getInvocationMocker()->expects($matcher); - } - - public function __phpunit_setOriginalObject($originalObject) - { - $this->__phpunit_originalObject = $originalObject; - } - - public function __phpunit_setReturnValueGeneration(bool $returnValueGeneration) - { - $this->__phpunit_returnValueGeneration = $returnValueGeneration; - } - - public function __phpunit_getInvocationMocker() - { - if ($this->__phpunit_invocationMocker === null) { - $this->__phpunit_invocationMocker = new \PHPUnit\Framework\MockObject\InvocationMocker($this->__phpunit_configurable, $this->__phpunit_returnValueGeneration); - } - - return $this->__phpunit_invocationMocker; - } - - public function __phpunit_hasMatchers() - { - return $this->__phpunit_getInvocationMocker()->hasMatchers(); - } - - public function __phpunit_verify(bool $unsetInvocationMocker = true) - { - $this->__phpunit_getInvocationMocker()->verify(); - - if ($unsetInvocationMocker) { - $this->__phpunit_invocationMocker = null; - } - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/class_with_method_with_nullable_typehinted_variadic_arguments.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/class_with_method_with_nullable_typehinted_variadic_arguments.phpt deleted file mode 100644 index 410131c..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/class_with_method_with_nullable_typehinted_variadic_arguments.phpt +++ /dev/null @@ -1,106 +0,0 @@ ---TEST-- -\PHPUnit\Framework\MockObject\Generator::generate('ClassWithMethodWithVariadicArguments', [], 'MockFoo', true, true) ---FILE-- -generate( - 'ClassWithMethodWithNullableTypehintedVariadicArguments', - [], - 'MockFoo', - true, - true -); - -print $mock['code']; -?> ---EXPECT-- -class MockFoo extends ClassWithMethodWithNullableTypehintedVariadicArguments implements PHPUnit\Framework\MockObject\MockObject -{ - private $__phpunit_invocationMocker; - private $__phpunit_originalObject; - private $__phpunit_configurable = ['methodwithnullabletypehintedvariadicarguments']; - private $__phpunit_returnValueGeneration = true; - - public function __clone() - { - $this->__phpunit_invocationMocker = clone $this->__phpunit_getInvocationMocker(); - } - - public function methodWithNullableTypehintedVariadicArguments($a, ?string ...$parameters) - { - $__phpunit_arguments = [$a]; - $__phpunit_count = func_num_args(); - - if ($__phpunit_count > 1) { - $__phpunit_arguments_tmp = func_get_args(); - - for ($__phpunit_i = 1; $__phpunit_i < $__phpunit_count; $__phpunit_i++) { - $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i]; - } - } - - $__phpunit_result = $this->__phpunit_getInvocationMocker()->invoke( - new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation( - 'ClassWithMethodWithNullableTypehintedVariadicArguments', 'methodWithNullableTypehintedVariadicArguments', $__phpunit_arguments, '', $this, true - ) - ); - - return $__phpunit_result; - } - - public function expects(\PHPUnit\Framework\MockObject\Matcher\Invocation $matcher) - { - return $this->__phpunit_getInvocationMocker()->expects($matcher); - } - - public function method() - { - $any = new \PHPUnit\Framework\MockObject\Matcher\AnyInvokedCount; - $expects = $this->expects($any); - - return call_user_func_array([$expects, 'method'], func_get_args()); - } - - public function __phpunit_setOriginalObject($originalObject) - { - $this->__phpunit_originalObject = $originalObject; - } - - public function __phpunit_setReturnValueGeneration(bool $returnValueGeneration) - { - $this->__phpunit_returnValueGeneration = $returnValueGeneration; - } - - public function __phpunit_getInvocationMocker() - { - if ($this->__phpunit_invocationMocker === null) { - $this->__phpunit_invocationMocker = new \PHPUnit\Framework\MockObject\InvocationMocker($this->__phpunit_configurable, $this->__phpunit_returnValueGeneration); - } - - return $this->__phpunit_invocationMocker; - } - - public function __phpunit_hasMatchers() - { - return $this->__phpunit_getInvocationMocker()->hasMatchers(); - } - - public function __phpunit_verify(bool $unsetInvocationMocker = true) - { - $this->__phpunit_getInvocationMocker()->verify(); - - if ($unsetInvocationMocker) { - $this->__phpunit_invocationMocker = null; - } - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/class_with_method_with_typehinted_variadic_arguments.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/class_with_method_with_typehinted_variadic_arguments.phpt deleted file mode 100644 index e326ca3..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/class_with_method_with_typehinted_variadic_arguments.phpt +++ /dev/null @@ -1,106 +0,0 @@ ---TEST-- -\PHPUnit\Framework\MockObject\Generator::generate('ClassWithMethodWithVariadicArguments', [], 'MockFoo', true, true) ---FILE-- -generate( - 'ClassWithMethodWithTypehintedVariadicArguments', - [], - 'MockFoo', - true, - true -); - -print $mock['code']; -?> ---EXPECT-- -class MockFoo extends ClassWithMethodWithTypehintedVariadicArguments implements PHPUnit\Framework\MockObject\MockObject -{ - private $__phpunit_invocationMocker; - private $__phpunit_originalObject; - private $__phpunit_configurable = ['methodwithtypehintedvariadicarguments']; - private $__phpunit_returnValueGeneration = true; - - public function __clone() - { - $this->__phpunit_invocationMocker = clone $this->__phpunit_getInvocationMocker(); - } - - public function methodWithTypehintedVariadicArguments($a, string ...$parameters) - { - $__phpunit_arguments = [$a]; - $__phpunit_count = func_num_args(); - - if ($__phpunit_count > 1) { - $__phpunit_arguments_tmp = func_get_args(); - - for ($__phpunit_i = 1; $__phpunit_i < $__phpunit_count; $__phpunit_i++) { - $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i]; - } - } - - $__phpunit_result = $this->__phpunit_getInvocationMocker()->invoke( - new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation( - 'ClassWithMethodWithTypehintedVariadicArguments', 'methodWithTypehintedVariadicArguments', $__phpunit_arguments, '', $this, true - ) - ); - - return $__phpunit_result; - } - - public function expects(\PHPUnit\Framework\MockObject\Matcher\Invocation $matcher) - { - return $this->__phpunit_getInvocationMocker()->expects($matcher); - } - - public function method() - { - $any = new \PHPUnit\Framework\MockObject\Matcher\AnyInvokedCount; - $expects = $this->expects($any); - - return call_user_func_array([$expects, 'method'], func_get_args()); - } - - public function __phpunit_setOriginalObject($originalObject) - { - $this->__phpunit_originalObject = $originalObject; - } - - public function __phpunit_setReturnValueGeneration(bool $returnValueGeneration) - { - $this->__phpunit_returnValueGeneration = $returnValueGeneration; - } - - public function __phpunit_getInvocationMocker() - { - if ($this->__phpunit_invocationMocker === null) { - $this->__phpunit_invocationMocker = new \PHPUnit\Framework\MockObject\InvocationMocker($this->__phpunit_configurable, $this->__phpunit_returnValueGeneration); - } - - return $this->__phpunit_invocationMocker; - } - - public function __phpunit_hasMatchers() - { - return $this->__phpunit_getInvocationMocker()->hasMatchers(); - } - - public function __phpunit_verify(bool $unsetInvocationMocker = true) - { - $this->__phpunit_getInvocationMocker()->verify(); - - if ($unsetInvocationMocker) { - $this->__phpunit_invocationMocker = null; - } - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/class_with_method_with_variadic_arguments.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/class_with_method_with_variadic_arguments.phpt deleted file mode 100644 index aabc0cf..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/class_with_method_with_variadic_arguments.phpt +++ /dev/null @@ -1,106 +0,0 @@ ---TEST-- -\PHPUnit\Framework\MockObject\Generator::generate('ClassWithMethodWithVariadicArguments', [], 'MockFoo', true, true) ---FILE-- -generate( - 'ClassWithMethodWithVariadicArguments', - [], - 'MockFoo', - true, - true -); - -print $mock['code']; -?> ---EXPECT-- -class MockFoo extends ClassWithMethodWithVariadicArguments implements PHPUnit\Framework\MockObject\MockObject -{ - private $__phpunit_invocationMocker; - private $__phpunit_originalObject; - private $__phpunit_configurable = ['methodwithvariadicarguments']; - private $__phpunit_returnValueGeneration = true; - - public function __clone() - { - $this->__phpunit_invocationMocker = clone $this->__phpunit_getInvocationMocker(); - } - - public function methodWithVariadicArguments($a, ...$parameters) - { - $__phpunit_arguments = [$a]; - $__phpunit_count = func_num_args(); - - if ($__phpunit_count > 1) { - $__phpunit_arguments_tmp = func_get_args(); - - for ($__phpunit_i = 1; $__phpunit_i < $__phpunit_count; $__phpunit_i++) { - $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i]; - } - } - - $__phpunit_result = $this->__phpunit_getInvocationMocker()->invoke( - new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation( - 'ClassWithMethodWithVariadicArguments', 'methodWithVariadicArguments', $__phpunit_arguments, '', $this, true - ) - ); - - return $__phpunit_result; - } - - public function expects(\PHPUnit\Framework\MockObject\Matcher\Invocation $matcher) - { - return $this->__phpunit_getInvocationMocker()->expects($matcher); - } - - public function method() - { - $any = new \PHPUnit\Framework\MockObject\Matcher\AnyInvokedCount; - $expects = $this->expects($any); - - return call_user_func_array([$expects, 'method'], func_get_args()); - } - - public function __phpunit_setOriginalObject($originalObject) - { - $this->__phpunit_originalObject = $originalObject; - } - - public function __phpunit_setReturnValueGeneration(bool $returnValueGeneration) - { - $this->__phpunit_returnValueGeneration = $returnValueGeneration; - } - - public function __phpunit_getInvocationMocker() - { - if ($this->__phpunit_invocationMocker === null) { - $this->__phpunit_invocationMocker = new \PHPUnit\Framework\MockObject\InvocationMocker($this->__phpunit_configurable, $this->__phpunit_returnValueGeneration); - } - - return $this->__phpunit_invocationMocker; - } - - public function __phpunit_hasMatchers() - { - return $this->__phpunit_getInvocationMocker()->hasMatchers(); - } - - public function __phpunit_verify(bool $unsetInvocationMocker = true) - { - $this->__phpunit_getInvocationMocker()->verify(); - - if ($unsetInvocationMocker) { - $this->__phpunit_invocationMocker = null; - } - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/constant_as_parameter_default_value.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/constant_as_parameter_default_value.phpt deleted file mode 100644 index 39cdb64..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/constant_as_parameter_default_value.phpt +++ /dev/null @@ -1,106 +0,0 @@ ---TEST-- -\PHPUnit\Framework\MockObject\Generator::generate('Foo', [], 'MockFoo', true, true) ---FILE-- -generate( - 'Foo', - [], - 'MockFoo', - true, - true -); - -print $mock['code']; -?> ---EXPECTF-- -class MockFoo extends Foo implements PHPUnit\Framework\MockObject\MockObject -{ - private $__phpunit_invocationMocker; - private $__phpunit_originalObject; - private $__phpunit_configurable = ['bar']; - private $__phpunit_returnValueGeneration = true; - - public function __clone() - { - $this->__phpunit_invocationMocker = clone $this->__phpunit_getInvocationMocker(); - } - - public function bar(int $baz = %d) - { - $__phpunit_arguments = [$baz]; - $__phpunit_count = func_num_args(); - - if ($__phpunit_count > 1) { - $__phpunit_arguments_tmp = func_get_args(); - - for ($__phpunit_i = 1; $__phpunit_i < $__phpunit_count; $__phpunit_i++) { - $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i]; - } - } - - $__phpunit_result = $this->__phpunit_getInvocationMocker()->invoke( - new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation( - 'Foo', 'bar', $__phpunit_arguments, '', $this, true - ) - ); - - return $__phpunit_result; - } - - public function expects(\PHPUnit\Framework\MockObject\Matcher\Invocation $matcher) - { - return $this->__phpunit_getInvocationMocker()->expects($matcher); - } - - public function method() - { - $any = new \PHPUnit\Framework\MockObject\Matcher\AnyInvokedCount; - $expects = $this->expects($any); - - return call_user_func_array([$expects, 'method'], func_get_args()); - } - - public function __phpunit_setOriginalObject($originalObject) - { - $this->__phpunit_originalObject = $originalObject; - } - - public function __phpunit_setReturnValueGeneration(bool $returnValueGeneration) - { - $this->__phpunit_returnValueGeneration = $returnValueGeneration; - } - - public function __phpunit_getInvocationMocker() - { - if ($this->__phpunit_invocationMocker === null) { - $this->__phpunit_invocationMocker = new \PHPUnit\Framework\MockObject\InvocationMocker($this->__phpunit_configurable, $this->__phpunit_returnValueGeneration); - } - - return $this->__phpunit_invocationMocker; - } - - public function __phpunit_hasMatchers() - { - return $this->__phpunit_getInvocationMocker()->hasMatchers(); - } - - public function __phpunit_verify(bool $unsetInvocationMocker = true) - { - $this->__phpunit_getInvocationMocker()->verify(); - - if ($unsetInvocationMocker) { - $this->__phpunit_invocationMocker = null; - } - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/interface.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/interface.phpt deleted file mode 100644 index cd4c108..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/interface.phpt +++ /dev/null @@ -1,104 +0,0 @@ ---TEST-- -\PHPUnit\Framework\MockObject\Generator::generate('Foo', [], 'MockFoo', true, true) ---FILE-- -generate( - 'Foo', - [], - 'MockFoo', - true, - true -); - -print $mock['code']; -?> ---EXPECT-- -class MockFoo implements PHPUnit\Framework\MockObject\MockObject, Foo -{ - private $__phpunit_invocationMocker; - private $__phpunit_originalObject; - private $__phpunit_configurable = ['bar']; - private $__phpunit_returnValueGeneration = true; - - public function __clone() - { - $this->__phpunit_invocationMocker = clone $this->__phpunit_getInvocationMocker(); - } - - public function bar(Foo $foo) - { - $__phpunit_arguments = [$foo]; - $__phpunit_count = func_num_args(); - - if ($__phpunit_count > 1) { - $__phpunit_arguments_tmp = func_get_args(); - - for ($__phpunit_i = 1; $__phpunit_i < $__phpunit_count; $__phpunit_i++) { - $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i]; - } - } - - $__phpunit_result = $this->__phpunit_getInvocationMocker()->invoke( - new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation( - 'Foo', 'bar', $__phpunit_arguments, '', $this, true - ) - ); - - return $__phpunit_result; - } - - public function expects(\PHPUnit\Framework\MockObject\Matcher\Invocation $matcher) - { - return $this->__phpunit_getInvocationMocker()->expects($matcher); - } - - public function method() - { - $any = new \PHPUnit\Framework\MockObject\Matcher\AnyInvokedCount; - $expects = $this->expects($any); - - return call_user_func_array([$expects, 'method'], func_get_args()); - } - - public function __phpunit_setOriginalObject($originalObject) - { - $this->__phpunit_originalObject = $originalObject; - } - - public function __phpunit_setReturnValueGeneration(bool $returnValueGeneration) - { - $this->__phpunit_returnValueGeneration = $returnValueGeneration; - } - - public function __phpunit_getInvocationMocker() - { - if ($this->__phpunit_invocationMocker === null) { - $this->__phpunit_invocationMocker = new \PHPUnit\Framework\MockObject\InvocationMocker($this->__phpunit_configurable, $this->__phpunit_returnValueGeneration); - } - - return $this->__phpunit_invocationMocker; - } - - public function __phpunit_hasMatchers() - { - return $this->__phpunit_getInvocationMocker()->hasMatchers(); - } - - public function __phpunit_verify(bool $unsetInvocationMocker = true) - { - $this->__phpunit_getInvocationMocker()->verify(); - - if ($unsetInvocationMocker) { - $this->__phpunit_invocationMocker = null; - } - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/invocation_object_clone_object.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/invocation_object_clone_object.phpt deleted file mode 100644 index 684022a..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/invocation_object_clone_object.phpt +++ /dev/null @@ -1,133 +0,0 @@ ---TEST-- -\PHPUnit\Framework\MockObject\Generator::generate('Foo', [], 'MockFoo', true, true, true) ---FILE-- -generate( - 'Foo', - [], - 'MockFoo', - true, - true, - true -); - -print $mock['code']; -?> ---EXPECT-- -class MockFoo extends Foo implements PHPUnit\Framework\MockObject\MockObject -{ - private $__phpunit_invocationMocker; - private $__phpunit_originalObject; - private $__phpunit_configurable = ['bar', 'baz']; - private $__phpunit_returnValueGeneration = true; - - public function __clone() - { - $this->__phpunit_invocationMocker = clone $this->__phpunit_getInvocationMocker(); - } - - public function bar(Foo $foo) - { - $__phpunit_arguments = [$foo]; - $__phpunit_count = func_num_args(); - - if ($__phpunit_count > 1) { - $__phpunit_arguments_tmp = func_get_args(); - - for ($__phpunit_i = 1; $__phpunit_i < $__phpunit_count; $__phpunit_i++) { - $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i]; - } - } - - $__phpunit_result = $this->__phpunit_getInvocationMocker()->invoke( - new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation( - 'Foo', 'bar', $__phpunit_arguments, '', $this, true - ) - ); - - return $__phpunit_result; - } - - public function baz(Foo $foo) - { - $__phpunit_arguments = [$foo]; - $__phpunit_count = func_num_args(); - - if ($__phpunit_count > 1) { - $__phpunit_arguments_tmp = func_get_args(); - - for ($__phpunit_i = 1; $__phpunit_i < $__phpunit_count; $__phpunit_i++) { - $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i]; - } - } - - $__phpunit_result = $this->__phpunit_getInvocationMocker()->invoke( - new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation( - 'Foo', 'baz', $__phpunit_arguments, '', $this, true - ) - ); - - return $__phpunit_result; - } - - public function expects(\PHPUnit\Framework\MockObject\Matcher\Invocation $matcher) - { - return $this->__phpunit_getInvocationMocker()->expects($matcher); - } - - public function method() - { - $any = new \PHPUnit\Framework\MockObject\Matcher\AnyInvokedCount; - $expects = $this->expects($any); - - return call_user_func_array([$expects, 'method'], func_get_args()); - } - - public function __phpunit_setOriginalObject($originalObject) - { - $this->__phpunit_originalObject = $originalObject; - } - - public function __phpunit_setReturnValueGeneration(bool $returnValueGeneration) - { - $this->__phpunit_returnValueGeneration = $returnValueGeneration; - } - - public function __phpunit_getInvocationMocker() - { - if ($this->__phpunit_invocationMocker === null) { - $this->__phpunit_invocationMocker = new \PHPUnit\Framework\MockObject\InvocationMocker($this->__phpunit_configurable, $this->__phpunit_returnValueGeneration); - } - - return $this->__phpunit_invocationMocker; - } - - public function __phpunit_hasMatchers() - { - return $this->__phpunit_getInvocationMocker()->hasMatchers(); - } - - public function __phpunit_verify(bool $unsetInvocationMocker = true) - { - $this->__phpunit_getInvocationMocker()->verify(); - - if ($unsetInvocationMocker) { - $this->__phpunit_invocationMocker = null; - } - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/namespaced_class.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/namespaced_class.phpt deleted file mode 100644 index 9da8632..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/namespaced_class.phpt +++ /dev/null @@ -1,134 +0,0 @@ ---TEST-- -\PHPUnit\Framework\MockObject\Generator::generate('NS\Foo', [], 'MockFoo', true, true) ---FILE-- -generate( - 'NS\Foo', - [], - 'MockFoo', - true, - true -); - -print $mock['code']; -?> ---EXPECT-- -class MockFoo extends NS\Foo implements PHPUnit\Framework\MockObject\MockObject -{ - private $__phpunit_invocationMocker; - private $__phpunit_originalObject; - private $__phpunit_configurable = ['bar', 'baz']; - private $__phpunit_returnValueGeneration = true; - - public function __clone() - { - $this->__phpunit_invocationMocker = clone $this->__phpunit_getInvocationMocker(); - } - - public function bar(NS\Foo $foo) - { - $__phpunit_arguments = [$foo]; - $__phpunit_count = func_num_args(); - - if ($__phpunit_count > 1) { - $__phpunit_arguments_tmp = func_get_args(); - - for ($__phpunit_i = 1; $__phpunit_i < $__phpunit_count; $__phpunit_i++) { - $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i]; - } - } - - $__phpunit_result = $this->__phpunit_getInvocationMocker()->invoke( - new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation( - 'NS\Foo', 'bar', $__phpunit_arguments, '', $this, true - ) - ); - - return $__phpunit_result; - } - - public function baz(NS\Foo $foo) - { - $__phpunit_arguments = [$foo]; - $__phpunit_count = func_num_args(); - - if ($__phpunit_count > 1) { - $__phpunit_arguments_tmp = func_get_args(); - - for ($__phpunit_i = 1; $__phpunit_i < $__phpunit_count; $__phpunit_i++) { - $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i]; - } - } - - $__phpunit_result = $this->__phpunit_getInvocationMocker()->invoke( - new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation( - 'NS\Foo', 'baz', $__phpunit_arguments, '', $this, true - ) - ); - - return $__phpunit_result; - } - - public function expects(\PHPUnit\Framework\MockObject\Matcher\Invocation $matcher) - { - return $this->__phpunit_getInvocationMocker()->expects($matcher); - } - - public function method() - { - $any = new \PHPUnit\Framework\MockObject\Matcher\AnyInvokedCount; - $expects = $this->expects($any); - - return call_user_func_array([$expects, 'method'], func_get_args()); - } - - public function __phpunit_setOriginalObject($originalObject) - { - $this->__phpunit_originalObject = $originalObject; - } - - public function __phpunit_setReturnValueGeneration(bool $returnValueGeneration) - { - $this->__phpunit_returnValueGeneration = $returnValueGeneration; - } - - public function __phpunit_getInvocationMocker() - { - if ($this->__phpunit_invocationMocker === null) { - $this->__phpunit_invocationMocker = new \PHPUnit\Framework\MockObject\InvocationMocker($this->__phpunit_configurable, $this->__phpunit_returnValueGeneration); - } - - return $this->__phpunit_invocationMocker; - } - - public function __phpunit_hasMatchers() - { - return $this->__phpunit_getInvocationMocker()->hasMatchers(); - } - - public function __phpunit_verify(bool $unsetInvocationMocker = true) - { - $this->__phpunit_getInvocationMocker()->verify(); - - if ($unsetInvocationMocker) { - $this->__phpunit_invocationMocker = null; - } - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/namespaced_class_call_parent_clone.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/namespaced_class_call_parent_clone.phpt deleted file mode 100644 index f911172..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/namespaced_class_call_parent_clone.phpt +++ /dev/null @@ -1,86 +0,0 @@ ---TEST-- -\PHPUnit\Framework\MockObject\Generator::generate('NS\Foo', [], 'MockFoo', true) ---FILE-- -generate( - 'NS\Foo', - [], - 'MockFoo', - true -); - -print $mock['code']; -?> ---EXPECT-- -class MockFoo extends NS\Foo implements PHPUnit\Framework\MockObject\MockObject -{ - private $__phpunit_invocationMocker; - private $__phpunit_originalObject; - private $__phpunit_configurable = []; - private $__phpunit_returnValueGeneration = true; - - public function __clone() - { - $this->__phpunit_invocationMocker = clone $this->__phpunit_getInvocationMocker(); - parent::__clone(); - } - - public function expects(\PHPUnit\Framework\MockObject\Matcher\Invocation $matcher) - { - return $this->__phpunit_getInvocationMocker()->expects($matcher); - } - - public function method() - { - $any = new \PHPUnit\Framework\MockObject\Matcher\AnyInvokedCount; - $expects = $this->expects($any); - - return call_user_func_array([$expects, 'method'], func_get_args()); - } - - public function __phpunit_setOriginalObject($originalObject) - { - $this->__phpunit_originalObject = $originalObject; - } - - public function __phpunit_setReturnValueGeneration(bool $returnValueGeneration) - { - $this->__phpunit_returnValueGeneration = $returnValueGeneration; - } - - public function __phpunit_getInvocationMocker() - { - if ($this->__phpunit_invocationMocker === null) { - $this->__phpunit_invocationMocker = new \PHPUnit\Framework\MockObject\InvocationMocker($this->__phpunit_configurable, $this->__phpunit_returnValueGeneration); - } - - return $this->__phpunit_invocationMocker; - } - - public function __phpunit_hasMatchers() - { - return $this->__phpunit_getInvocationMocker()->hasMatchers(); - } - - public function __phpunit_verify(bool $unsetInvocationMocker = true) - { - $this->__phpunit_getInvocationMocker()->verify(); - - if ($unsetInvocationMocker) { - $this->__phpunit_invocationMocker = null; - } - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/namespaced_class_call_parent_constructor.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/namespaced_class_call_parent_constructor.phpt deleted file mode 100644 index fe98973..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/namespaced_class_call_parent_constructor.phpt +++ /dev/null @@ -1,85 +0,0 @@ ---TEST-- -\PHPUnit\Framework\MockObject\Generator::generate('NS\Foo', [], 'MockFoo', true) ---FILE-- -generate( - 'NS\Foo', - [], - 'MockFoo', - true -); - -print $mock['code']; -?> ---EXPECT-- -class MockFoo extends NS\Foo implements PHPUnit\Framework\MockObject\MockObject -{ - private $__phpunit_invocationMocker; - private $__phpunit_originalObject; - private $__phpunit_configurable = []; - private $__phpunit_returnValueGeneration = true; - - public function __clone() - { - $this->__phpunit_invocationMocker = clone $this->__phpunit_getInvocationMocker(); - } - - public function expects(\PHPUnit\Framework\MockObject\Matcher\Invocation $matcher) - { - return $this->__phpunit_getInvocationMocker()->expects($matcher); - } - - public function method() - { - $any = new \PHPUnit\Framework\MockObject\Matcher\AnyInvokedCount; - $expects = $this->expects($any); - - return call_user_func_array([$expects, 'method'], func_get_args()); - } - - public function __phpunit_setOriginalObject($originalObject) - { - $this->__phpunit_originalObject = $originalObject; - } - - public function __phpunit_setReturnValueGeneration(bool $returnValueGeneration) - { - $this->__phpunit_returnValueGeneration = $returnValueGeneration; - } - - public function __phpunit_getInvocationMocker() - { - if ($this->__phpunit_invocationMocker === null) { - $this->__phpunit_invocationMocker = new \PHPUnit\Framework\MockObject\InvocationMocker($this->__phpunit_configurable, $this->__phpunit_returnValueGeneration); - } - - return $this->__phpunit_invocationMocker; - } - - public function __phpunit_hasMatchers() - { - return $this->__phpunit_getInvocationMocker()->hasMatchers(); - } - - public function __phpunit_verify(bool $unsetInvocationMocker = true) - { - $this->__phpunit_getInvocationMocker()->verify(); - - if ($unsetInvocationMocker) { - $this->__phpunit_invocationMocker = null; - } - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/namespaced_class_dont_call_parent_clone.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/namespaced_class_dont_call_parent_clone.phpt deleted file mode 100644 index 4cfa507..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/namespaced_class_dont_call_parent_clone.phpt +++ /dev/null @@ -1,85 +0,0 @@ ---TEST-- -\PHPUnit\Framework\MockObject\Generator::generate('NS\Foo', [], 'MockFoo', false) ---FILE-- -generate( - 'NS\Foo', - [], - 'MockFoo', - false -); - -print $mock['code']; -?> ---EXPECT-- -class MockFoo extends NS\Foo implements PHPUnit\Framework\MockObject\MockObject -{ - private $__phpunit_invocationMocker; - private $__phpunit_originalObject; - private $__phpunit_configurable = []; - private $__phpunit_returnValueGeneration = true; - - public function __clone() - { - $this->__phpunit_invocationMocker = clone $this->__phpunit_getInvocationMocker(); - } - - public function expects(\PHPUnit\Framework\MockObject\Matcher\Invocation $matcher) - { - return $this->__phpunit_getInvocationMocker()->expects($matcher); - } - - public function method() - { - $any = new \PHPUnit\Framework\MockObject\Matcher\AnyInvokedCount; - $expects = $this->expects($any); - - return call_user_func_array([$expects, 'method'], func_get_args()); - } - - public function __phpunit_setOriginalObject($originalObject) - { - $this->__phpunit_originalObject = $originalObject; - } - - public function __phpunit_setReturnValueGeneration(bool $returnValueGeneration) - { - $this->__phpunit_returnValueGeneration = $returnValueGeneration; - } - - public function __phpunit_getInvocationMocker() - { - if ($this->__phpunit_invocationMocker === null) { - $this->__phpunit_invocationMocker = new \PHPUnit\Framework\MockObject\InvocationMocker($this->__phpunit_configurable, $this->__phpunit_returnValueGeneration); - } - - return $this->__phpunit_invocationMocker; - } - - public function __phpunit_hasMatchers() - { - return $this->__phpunit_getInvocationMocker()->hasMatchers(); - } - - public function __phpunit_verify(bool $unsetInvocationMocker = true) - { - $this->__phpunit_getInvocationMocker()->verify(); - - if ($unsetInvocationMocker) { - $this->__phpunit_invocationMocker = null; - } - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/namespaced_class_dont_call_parent_constructor.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/namespaced_class_dont_call_parent_constructor.phpt deleted file mode 100644 index fe98973..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/namespaced_class_dont_call_parent_constructor.phpt +++ /dev/null @@ -1,85 +0,0 @@ ---TEST-- -\PHPUnit\Framework\MockObject\Generator::generate('NS\Foo', [], 'MockFoo', true) ---FILE-- -generate( - 'NS\Foo', - [], - 'MockFoo', - true -); - -print $mock['code']; -?> ---EXPECT-- -class MockFoo extends NS\Foo implements PHPUnit\Framework\MockObject\MockObject -{ - private $__phpunit_invocationMocker; - private $__phpunit_originalObject; - private $__phpunit_configurable = []; - private $__phpunit_returnValueGeneration = true; - - public function __clone() - { - $this->__phpunit_invocationMocker = clone $this->__phpunit_getInvocationMocker(); - } - - public function expects(\PHPUnit\Framework\MockObject\Matcher\Invocation $matcher) - { - return $this->__phpunit_getInvocationMocker()->expects($matcher); - } - - public function method() - { - $any = new \PHPUnit\Framework\MockObject\Matcher\AnyInvokedCount; - $expects = $this->expects($any); - - return call_user_func_array([$expects, 'method'], func_get_args()); - } - - public function __phpunit_setOriginalObject($originalObject) - { - $this->__phpunit_originalObject = $originalObject; - } - - public function __phpunit_setReturnValueGeneration(bool $returnValueGeneration) - { - $this->__phpunit_returnValueGeneration = $returnValueGeneration; - } - - public function __phpunit_getInvocationMocker() - { - if ($this->__phpunit_invocationMocker === null) { - $this->__phpunit_invocationMocker = new \PHPUnit\Framework\MockObject\InvocationMocker($this->__phpunit_configurable, $this->__phpunit_returnValueGeneration); - } - - return $this->__phpunit_invocationMocker; - } - - public function __phpunit_hasMatchers() - { - return $this->__phpunit_getInvocationMocker()->hasMatchers(); - } - - public function __phpunit_verify(bool $unsetInvocationMocker = true) - { - $this->__phpunit_getInvocationMocker()->verify(); - - if ($unsetInvocationMocker) { - $this->__phpunit_invocationMocker = null; - } - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/namespaced_class_implementing_interface_call_parent_constructor.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/namespaced_class_implementing_interface_call_parent_constructor.phpt deleted file mode 100644 index 4d4df3d..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/namespaced_class_implementing_interface_call_parent_constructor.phpt +++ /dev/null @@ -1,90 +0,0 @@ ---TEST-- -\PHPUnit\Framework\MockObject\Generator::generate('NS\Foo', [], 'MockFoo', true) ---FILE-- -generate( - 'NS\Foo', - [], - 'MockFoo', - true -); - -print $mock['code']; -?> ---EXPECT-- -class MockFoo extends NS\Foo implements PHPUnit\Framework\MockObject\MockObject -{ - private $__phpunit_invocationMocker; - private $__phpunit_originalObject; - private $__phpunit_configurable = []; - private $__phpunit_returnValueGeneration = true; - - public function __clone() - { - $this->__phpunit_invocationMocker = clone $this->__phpunit_getInvocationMocker(); - } - - public function expects(\PHPUnit\Framework\MockObject\Matcher\Invocation $matcher) - { - return $this->__phpunit_getInvocationMocker()->expects($matcher); - } - - public function method() - { - $any = new \PHPUnit\Framework\MockObject\Matcher\AnyInvokedCount; - $expects = $this->expects($any); - - return call_user_func_array([$expects, 'method'], func_get_args()); - } - - public function __phpunit_setOriginalObject($originalObject) - { - $this->__phpunit_originalObject = $originalObject; - } - - public function __phpunit_setReturnValueGeneration(bool $returnValueGeneration) - { - $this->__phpunit_returnValueGeneration = $returnValueGeneration; - } - - public function __phpunit_getInvocationMocker() - { - if ($this->__phpunit_invocationMocker === null) { - $this->__phpunit_invocationMocker = new \PHPUnit\Framework\MockObject\InvocationMocker($this->__phpunit_configurable, $this->__phpunit_returnValueGeneration); - } - - return $this->__phpunit_invocationMocker; - } - - public function __phpunit_hasMatchers() - { - return $this->__phpunit_getInvocationMocker()->hasMatchers(); - } - - public function __phpunit_verify(bool $unsetInvocationMocker = true) - { - $this->__phpunit_getInvocationMocker()->verify(); - - if ($unsetInvocationMocker) { - $this->__phpunit_invocationMocker = null; - } - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/namespaced_class_implementing_interface_dont_call_parent_constructor.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/namespaced_class_implementing_interface_dont_call_parent_constructor.phpt deleted file mode 100644 index 4d4df3d..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/namespaced_class_implementing_interface_dont_call_parent_constructor.phpt +++ /dev/null @@ -1,90 +0,0 @@ ---TEST-- -\PHPUnit\Framework\MockObject\Generator::generate('NS\Foo', [], 'MockFoo', true) ---FILE-- -generate( - 'NS\Foo', - [], - 'MockFoo', - true -); - -print $mock['code']; -?> ---EXPECT-- -class MockFoo extends NS\Foo implements PHPUnit\Framework\MockObject\MockObject -{ - private $__phpunit_invocationMocker; - private $__phpunit_originalObject; - private $__phpunit_configurable = []; - private $__phpunit_returnValueGeneration = true; - - public function __clone() - { - $this->__phpunit_invocationMocker = clone $this->__phpunit_getInvocationMocker(); - } - - public function expects(\PHPUnit\Framework\MockObject\Matcher\Invocation $matcher) - { - return $this->__phpunit_getInvocationMocker()->expects($matcher); - } - - public function method() - { - $any = new \PHPUnit\Framework\MockObject\Matcher\AnyInvokedCount; - $expects = $this->expects($any); - - return call_user_func_array([$expects, 'method'], func_get_args()); - } - - public function __phpunit_setOriginalObject($originalObject) - { - $this->__phpunit_originalObject = $originalObject; - } - - public function __phpunit_setReturnValueGeneration(bool $returnValueGeneration) - { - $this->__phpunit_returnValueGeneration = $returnValueGeneration; - } - - public function __phpunit_getInvocationMocker() - { - if ($this->__phpunit_invocationMocker === null) { - $this->__phpunit_invocationMocker = new \PHPUnit\Framework\MockObject\InvocationMocker($this->__phpunit_configurable, $this->__phpunit_returnValueGeneration); - } - - return $this->__phpunit_invocationMocker; - } - - public function __phpunit_hasMatchers() - { - return $this->__phpunit_getInvocationMocker()->hasMatchers(); - } - - public function __phpunit_verify(bool $unsetInvocationMocker = true) - { - $this->__phpunit_getInvocationMocker()->verify(); - - if ($unsetInvocationMocker) { - $this->__phpunit_invocationMocker = null; - } - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/namespaced_class_partial.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/namespaced_class_partial.phpt deleted file mode 100644 index 0602680..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/namespaced_class_partial.phpt +++ /dev/null @@ -1,112 +0,0 @@ ---TEST-- -\PHPUnit\Framework\MockObject\Generator::generate('NS\Foo', array('bar'), 'MockFoo', true, true) ---FILE-- -generate( - 'NS\Foo', - array('bar'), - 'MockFoo', - true, - true -); - -print $mock['code']; -?> ---EXPECT-- -class MockFoo extends NS\Foo implements PHPUnit\Framework\MockObject\MockObject -{ - private $__phpunit_invocationMocker; - private $__phpunit_originalObject; - private $__phpunit_configurable = ['bar']; - private $__phpunit_returnValueGeneration = true; - - public function __clone() - { - $this->__phpunit_invocationMocker = clone $this->__phpunit_getInvocationMocker(); - } - - public function bar(NS\Foo $foo) - { - $__phpunit_arguments = [$foo]; - $__phpunit_count = func_num_args(); - - if ($__phpunit_count > 1) { - $__phpunit_arguments_tmp = func_get_args(); - - for ($__phpunit_i = 1; $__phpunit_i < $__phpunit_count; $__phpunit_i++) { - $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i]; - } - } - - $__phpunit_result = $this->__phpunit_getInvocationMocker()->invoke( - new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation( - 'NS\Foo', 'bar', $__phpunit_arguments, '', $this, true - ) - ); - - return $__phpunit_result; - } - - public function expects(\PHPUnit\Framework\MockObject\Matcher\Invocation $matcher) - { - return $this->__phpunit_getInvocationMocker()->expects($matcher); - } - - public function method() - { - $any = new \PHPUnit\Framework\MockObject\Matcher\AnyInvokedCount; - $expects = $this->expects($any); - - return call_user_func_array([$expects, 'method'], func_get_args()); - } - - public function __phpunit_setOriginalObject($originalObject) - { - $this->__phpunit_originalObject = $originalObject; - } - - public function __phpunit_setReturnValueGeneration(bool $returnValueGeneration) - { - $this->__phpunit_returnValueGeneration = $returnValueGeneration; - } - - public function __phpunit_getInvocationMocker() - { - if ($this->__phpunit_invocationMocker === null) { - $this->__phpunit_invocationMocker = new \PHPUnit\Framework\MockObject\InvocationMocker($this->__phpunit_configurable, $this->__phpunit_returnValueGeneration); - } - - return $this->__phpunit_invocationMocker; - } - - public function __phpunit_hasMatchers() - { - return $this->__phpunit_getInvocationMocker()->hasMatchers(); - } - - public function __phpunit_verify(bool $unsetInvocationMocker = true) - { - $this->__phpunit_getInvocationMocker()->verify(); - - if ($unsetInvocationMocker) { - $this->__phpunit_invocationMocker = null; - } - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/namespaced_interface.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/namespaced_interface.phpt deleted file mode 100644 index a34e53d..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/namespaced_interface.phpt +++ /dev/null @@ -1,106 +0,0 @@ ---TEST-- -\PHPUnit\Framework\MockObject\Generator::generate('NS\Foo', [], 'MockFoo', true, true) ---FILE-- -generate( - 'NS\Foo', - [], - 'MockFoo', - true, - true -); - -print $mock['code']; -?> ---EXPECT-- -class MockFoo implements PHPUnit\Framework\MockObject\MockObject, NS\Foo -{ - private $__phpunit_invocationMocker; - private $__phpunit_originalObject; - private $__phpunit_configurable = ['bar']; - private $__phpunit_returnValueGeneration = true; - - public function __clone() - { - $this->__phpunit_invocationMocker = clone $this->__phpunit_getInvocationMocker(); - } - - public function bar(NS\Foo $foo) - { - $__phpunit_arguments = [$foo]; - $__phpunit_count = func_num_args(); - - if ($__phpunit_count > 1) { - $__phpunit_arguments_tmp = func_get_args(); - - for ($__phpunit_i = 1; $__phpunit_i < $__phpunit_count; $__phpunit_i++) { - $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i]; - } - } - - $__phpunit_result = $this->__phpunit_getInvocationMocker()->invoke( - new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation( - 'NS\Foo', 'bar', $__phpunit_arguments, '', $this, true - ) - ); - - return $__phpunit_result; - } - - public function expects(\PHPUnit\Framework\MockObject\Matcher\Invocation $matcher) - { - return $this->__phpunit_getInvocationMocker()->expects($matcher); - } - - public function method() - { - $any = new \PHPUnit\Framework\MockObject\Matcher\AnyInvokedCount; - $expects = $this->expects($any); - - return call_user_func_array([$expects, 'method'], func_get_args()); - } - - public function __phpunit_setOriginalObject($originalObject) - { - $this->__phpunit_originalObject = $originalObject; - } - - public function __phpunit_setReturnValueGeneration(bool $returnValueGeneration) - { - $this->__phpunit_returnValueGeneration = $returnValueGeneration; - } - - public function __phpunit_getInvocationMocker() - { - if ($this->__phpunit_invocationMocker === null) { - $this->__phpunit_invocationMocker = new \PHPUnit\Framework\MockObject\InvocationMocker($this->__phpunit_configurable, $this->__phpunit_returnValueGeneration); - } - - return $this->__phpunit_invocationMocker; - } - - public function __phpunit_hasMatchers() - { - return $this->__phpunit_getInvocationMocker()->hasMatchers(); - } - - public function __phpunit_verify(bool $unsetInvocationMocker = true) - { - $this->__phpunit_getInvocationMocker()->verify(); - - if ($unsetInvocationMocker) { - $this->__phpunit_invocationMocker = null; - } - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/nonexistent_class.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/nonexistent_class.phpt deleted file mode 100644 index 2ead71e..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/nonexistent_class.phpt +++ /dev/null @@ -1,81 +0,0 @@ ---TEST-- -\PHPUnit\Framework\MockObject\Generator::generate('NonExistentClass', [], 'MockFoo', true, true) ---FILE-- -generate( - 'NonExistentClass', - [], - 'MockFoo', - true, - true -); - -print $mock['code']; -?> ---EXPECT-- -class NonExistentClass -{ -} - -class MockFoo extends NonExistentClass implements PHPUnit\Framework\MockObject\MockObject -{ - private $__phpunit_invocationMocker; - private $__phpunit_originalObject; - private $__phpunit_configurable = []; - private $__phpunit_returnValueGeneration = true; - - public function __clone() - { - $this->__phpunit_invocationMocker = clone $this->__phpunit_getInvocationMocker(); - } - - public function expects(\PHPUnit\Framework\MockObject\Matcher\Invocation $matcher) - { - return $this->__phpunit_getInvocationMocker()->expects($matcher); - } - - public function method() - { - $any = new \PHPUnit\Framework\MockObject\Matcher\AnyInvokedCount; - $expects = $this->expects($any); - - return call_user_func_array([$expects, 'method'], func_get_args()); - } - - public function __phpunit_setOriginalObject($originalObject) - { - $this->__phpunit_originalObject = $originalObject; - } - - public function __phpunit_setReturnValueGeneration(bool $returnValueGeneration) - { - $this->__phpunit_returnValueGeneration = $returnValueGeneration; - } - - public function __phpunit_getInvocationMocker() - { - if ($this->__phpunit_invocationMocker === null) { - $this->__phpunit_invocationMocker = new \PHPUnit\Framework\MockObject\InvocationMocker($this->__phpunit_configurable, $this->__phpunit_returnValueGeneration); - } - - return $this->__phpunit_invocationMocker; - } - - public function __phpunit_hasMatchers() - { - return $this->__phpunit_getInvocationMocker()->hasMatchers(); - } - - public function __phpunit_verify(bool $unsetInvocationMocker = true) - { - $this->__phpunit_getInvocationMocker()->verify(); - - if ($unsetInvocationMocker) { - $this->__phpunit_invocationMocker = null; - } - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/nonexistent_class_with_namespace.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/nonexistent_class_with_namespace.phpt deleted file mode 100644 index 69c55c4..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/nonexistent_class_with_namespace.phpt +++ /dev/null @@ -1,89 +0,0 @@ ---TEST-- -\PHPUnit\Framework\MockObject\Generator::generate('Foo', [], 'MockFoo', true, true) ---FILE-- -generate( - 'NS\Foo', - [], - 'MockFoo', - true, - true -); - -print $mock['code']; -?> ---EXPECT-- -namespace NS { - -class Foo -{ -} - -} - -namespace { - -class MockFoo extends NS\Foo implements PHPUnit\Framework\MockObject\MockObject -{ - private $__phpunit_invocationMocker; - private $__phpunit_originalObject; - private $__phpunit_configurable = []; - private $__phpunit_returnValueGeneration = true; - - public function __clone() - { - $this->__phpunit_invocationMocker = clone $this->__phpunit_getInvocationMocker(); - } - - public function expects(\PHPUnit\Framework\MockObject\Matcher\Invocation $matcher) - { - return $this->__phpunit_getInvocationMocker()->expects($matcher); - } - - public function method() - { - $any = new \PHPUnit\Framework\MockObject\Matcher\AnyInvokedCount; - $expects = $this->expects($any); - - return call_user_func_array([$expects, 'method'], func_get_args()); - } - - public function __phpunit_setOriginalObject($originalObject) - { - $this->__phpunit_originalObject = $originalObject; - } - - public function __phpunit_setReturnValueGeneration(bool $returnValueGeneration) - { - $this->__phpunit_returnValueGeneration = $returnValueGeneration; - } - - public function __phpunit_getInvocationMocker() - { - if ($this->__phpunit_invocationMocker === null) { - $this->__phpunit_invocationMocker = new \PHPUnit\Framework\MockObject\InvocationMocker($this->__phpunit_configurable, $this->__phpunit_returnValueGeneration); - } - - return $this->__phpunit_invocationMocker; - } - - public function __phpunit_hasMatchers() - { - return $this->__phpunit_getInvocationMocker()->hasMatchers(); - } - - public function __phpunit_verify(bool $unsetInvocationMocker = true) - { - $this->__phpunit_getInvocationMocker()->verify(); - - if ($unsetInvocationMocker) { - $this->__phpunit_invocationMocker = null; - } - } -} - -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/nonexistent_class_with_namespace_starting_with_separator.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/nonexistent_class_with_namespace_starting_with_separator.phpt deleted file mode 100644 index 85b35b1..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/nonexistent_class_with_namespace_starting_with_separator.phpt +++ /dev/null @@ -1,89 +0,0 @@ ---TEST-- -\PHPUnit\Framework\MockObject\Generator::generate('Foo', [], 'MockFoo', true, true) ---FILE-- -generate( - '\NS\Foo', - [], - 'MockFoo', - true, - true -); - -print $mock['code']; -?> ---EXPECT-- -namespace NS { - -class Foo -{ -} - -} - -namespace { - -class MockFoo extends NS\Foo implements PHPUnit\Framework\MockObject\MockObject -{ - private $__phpunit_invocationMocker; - private $__phpunit_originalObject; - private $__phpunit_configurable = []; - private $__phpunit_returnValueGeneration = true; - - public function __clone() - { - $this->__phpunit_invocationMocker = clone $this->__phpunit_getInvocationMocker(); - } - - public function expects(\PHPUnit\Framework\MockObject\Matcher\Invocation $matcher) - { - return $this->__phpunit_getInvocationMocker()->expects($matcher); - } - - public function method() - { - $any = new \PHPUnit\Framework\MockObject\Matcher\AnyInvokedCount; - $expects = $this->expects($any); - - return call_user_func_array([$expects, 'method'], func_get_args()); - } - - public function __phpunit_setOriginalObject($originalObject) - { - $this->__phpunit_originalObject = $originalObject; - } - - public function __phpunit_setReturnValueGeneration(bool $returnValueGeneration) - { - $this->__phpunit_returnValueGeneration = $returnValueGeneration; - } - - public function __phpunit_getInvocationMocker() - { - if ($this->__phpunit_invocationMocker === null) { - $this->__phpunit_invocationMocker = new \PHPUnit\Framework\MockObject\InvocationMocker($this->__phpunit_configurable, $this->__phpunit_returnValueGeneration); - } - - return $this->__phpunit_invocationMocker; - } - - public function __phpunit_hasMatchers() - { - return $this->__phpunit_getInvocationMocker()->hasMatchers(); - } - - public function __phpunit_verify(bool $unsetInvocationMocker = true) - { - $this->__phpunit_getInvocationMocker()->verify(); - - if ($unsetInvocationMocker) { - $this->__phpunit_invocationMocker = null; - } - } -} - -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/nullable_types.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/nullable_types.phpt deleted file mode 100644 index 90ec83b..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/nullable_types.phpt +++ /dev/null @@ -1,106 +0,0 @@ ---TEST-- -\PHPUnit\Framework\MockObject\Generator::generate('Foo', [], 'MockFoo', true, true) ---FILE-- -generate( - 'Foo', - [], - 'MockFoo', - true, - true -); - -print $mock['code']; -?> ---EXPECT-- -class MockFoo extends Foo implements PHPUnit\Framework\MockObject\MockObject -{ - private $__phpunit_invocationMocker; - private $__phpunit_originalObject; - private $__phpunit_configurable = ['bar']; - private $__phpunit_returnValueGeneration = true; - - public function __clone() - { - $this->__phpunit_invocationMocker = clone $this->__phpunit_getInvocationMocker(); - } - - public function bar(?int $x) - { - $__phpunit_arguments = [$x]; - $__phpunit_count = func_num_args(); - - if ($__phpunit_count > 1) { - $__phpunit_arguments_tmp = func_get_args(); - - for ($__phpunit_i = 1; $__phpunit_i < $__phpunit_count; $__phpunit_i++) { - $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i]; - } - } - - $__phpunit_result = $this->__phpunit_getInvocationMocker()->invoke( - new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation( - 'Foo', 'bar', $__phpunit_arguments, '', $this, true - ) - ); - - return $__phpunit_result; - } - - public function expects(\PHPUnit\Framework\MockObject\Matcher\Invocation $matcher) - { - return $this->__phpunit_getInvocationMocker()->expects($matcher); - } - - public function method() - { - $any = new \PHPUnit\Framework\MockObject\Matcher\AnyInvokedCount; - $expects = $this->expects($any); - - return call_user_func_array([$expects, 'method'], func_get_args()); - } - - public function __phpunit_setOriginalObject($originalObject) - { - $this->__phpunit_originalObject = $originalObject; - } - - public function __phpunit_setReturnValueGeneration(bool $returnValueGeneration) - { - $this->__phpunit_returnValueGeneration = $returnValueGeneration; - } - - public function __phpunit_getInvocationMocker() - { - if ($this->__phpunit_invocationMocker === null) { - $this->__phpunit_invocationMocker = new \PHPUnit\Framework\MockObject\InvocationMocker($this->__phpunit_configurable, $this->__phpunit_returnValueGeneration); - } - - return $this->__phpunit_invocationMocker; - } - - public function __phpunit_hasMatchers() - { - return $this->__phpunit_getInvocationMocker()->hasMatchers(); - } - - public function __phpunit_verify(bool $unsetInvocationMocker = true) - { - $this->__phpunit_getInvocationMocker()->verify(); - - if ($unsetInvocationMocker) { - $this->__phpunit_invocationMocker = null; - } - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/proxy.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/proxy.phpt deleted file mode 100644 index 88da529..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/proxy.phpt +++ /dev/null @@ -1,136 +0,0 @@ ---TEST-- -\PHPUnit\Framework\MockObject\Generator::generate('Foo', null, 'ProxyFoo', true, true, true, true) ---FILE-- -generate( - 'Foo', [], 'ProxyFoo', true, true, true, true -); - -print $mock['code']; -?> ---EXPECT-- -class ProxyFoo extends Foo implements PHPUnit\Framework\MockObject\MockObject -{ - private $__phpunit_invocationMocker; - private $__phpunit_originalObject; - private $__phpunit_configurable = ['bar', 'baz']; - private $__phpunit_returnValueGeneration = true; - - public function __clone() - { - $this->__phpunit_invocationMocker = clone $this->__phpunit_getInvocationMocker(); - } - - public function bar(Foo $foo) - { - $__phpunit_arguments = [$foo]; - $__phpunit_count = func_num_args(); - - if ($__phpunit_count > 1) { - $__phpunit_arguments_tmp = func_get_args(); - - for ($__phpunit_i = 1; $__phpunit_i < $__phpunit_count; $__phpunit_i++) { - $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i]; - } - } - - $__phpunit_invocation = new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation( - 'Foo', 'bar', $__phpunit_arguments, '', $this, true - ); - - $__phpunit_invocation->setProxiedCall(); - - $this->__phpunit_getInvocationMocker()->invoke($__phpunit_invocation); - - unset($__phpunit_invocation); - - return call_user_func_array(array($this->__phpunit_originalObject, "bar"), $__phpunit_arguments); - } - - public function baz(Foo $foo) - { - $__phpunit_arguments = [$foo]; - $__phpunit_count = func_num_args(); - - if ($__phpunit_count > 1) { - $__phpunit_arguments_tmp = func_get_args(); - - for ($__phpunit_i = 1; $__phpunit_i < $__phpunit_count; $__phpunit_i++) { - $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i]; - } - } - - $__phpunit_invocation = new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation( - 'Foo', 'baz', $__phpunit_arguments, '', $this, true - ); - - $__phpunit_invocation->setProxiedCall(); - - $this->__phpunit_getInvocationMocker()->invoke($__phpunit_invocation); - - unset($__phpunit_invocation); - - return call_user_func_array(array($this->__phpunit_originalObject, "baz"), $__phpunit_arguments); - } - - public function expects(\PHPUnit\Framework\MockObject\Matcher\Invocation $matcher) - { - return $this->__phpunit_getInvocationMocker()->expects($matcher); - } - - public function method() - { - $any = new \PHPUnit\Framework\MockObject\Matcher\AnyInvokedCount; - $expects = $this->expects($any); - - return call_user_func_array([$expects, 'method'], func_get_args()); - } - - public function __phpunit_setOriginalObject($originalObject) - { - $this->__phpunit_originalObject = $originalObject; - } - - public function __phpunit_setReturnValueGeneration(bool $returnValueGeneration) - { - $this->__phpunit_returnValueGeneration = $returnValueGeneration; - } - - public function __phpunit_getInvocationMocker() - { - if ($this->__phpunit_invocationMocker === null) { - $this->__phpunit_invocationMocker = new \PHPUnit\Framework\MockObject\InvocationMocker($this->__phpunit_configurable, $this->__phpunit_returnValueGeneration); - } - - return $this->__phpunit_invocationMocker; - } - - public function __phpunit_hasMatchers() - { - return $this->__phpunit_getInvocationMocker()->hasMatchers(); - } - - public function __phpunit_verify(bool $unsetInvocationMocker = true) - { - $this->__phpunit_getInvocationMocker()->verify(); - - if ($unsetInvocationMocker) { - $this->__phpunit_invocationMocker = null; - } - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/return_type_declarations_closure.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/return_type_declarations_closure.phpt deleted file mode 100644 index 2c37987..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/return_type_declarations_closure.phpt +++ /dev/null @@ -1,104 +0,0 @@ ---TEST-- -\PHPUnit\Framework\MockObject\Generator::generate('Foo', [], 'MockFoo', true, true) ---FILE-- -generate( - 'Foo', - [], - 'MockFoo', - true, - true -); - -print $mock['code']; -?> ---EXPECT-- -class MockFoo implements PHPUnit\Framework\MockObject\MockObject, Foo -{ - private $__phpunit_invocationMocker; - private $__phpunit_originalObject; - private $__phpunit_configurable = ['bar']; - private $__phpunit_returnValueGeneration = true; - - public function __clone() - { - $this->__phpunit_invocationMocker = clone $this->__phpunit_getInvocationMocker(); - } - - public function bar(): Closure - { - $__phpunit_arguments = []; - $__phpunit_count = func_num_args(); - - if ($__phpunit_count > 0) { - $__phpunit_arguments_tmp = func_get_args(); - - for ($__phpunit_i = 0; $__phpunit_i < $__phpunit_count; $__phpunit_i++) { - $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i]; - } - } - - $__phpunit_result = $this->__phpunit_getInvocationMocker()->invoke( - new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation( - 'Foo', 'bar', $__phpunit_arguments, 'Closure', $this, true - ) - ); - - return $__phpunit_result; - } - - public function expects(\PHPUnit\Framework\MockObject\Matcher\Invocation $matcher) - { - return $this->__phpunit_getInvocationMocker()->expects($matcher); - } - - public function method() - { - $any = new \PHPUnit\Framework\MockObject\Matcher\AnyInvokedCount; - $expects = $this->expects($any); - - return call_user_func_array([$expects, 'method'], func_get_args()); - } - - public function __phpunit_setOriginalObject($originalObject) - { - $this->__phpunit_originalObject = $originalObject; - } - - public function __phpunit_setReturnValueGeneration(bool $returnValueGeneration) - { - $this->__phpunit_returnValueGeneration = $returnValueGeneration; - } - - public function __phpunit_getInvocationMocker() - { - if ($this->__phpunit_invocationMocker === null) { - $this->__phpunit_invocationMocker = new \PHPUnit\Framework\MockObject\InvocationMocker($this->__phpunit_configurable, $this->__phpunit_returnValueGeneration); - } - - return $this->__phpunit_invocationMocker; - } - - public function __phpunit_hasMatchers() - { - return $this->__phpunit_getInvocationMocker()->hasMatchers(); - } - - public function __phpunit_verify(bool $unsetInvocationMocker = true) - { - $this->__phpunit_getInvocationMocker()->verify(); - - if ($unsetInvocationMocker) { - $this->__phpunit_invocationMocker = null; - } - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/return_type_declarations_final.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/return_type_declarations_final.phpt deleted file mode 100644 index c2051db..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/return_type_declarations_final.phpt +++ /dev/null @@ -1,111 +0,0 @@ ---TEST-- -\PHPUnit\Framework\MockObject\Generator::generate('Foo', [], 'MockFoo', true, true) ---FILE-- -generate( - 'Foo', - [], - 'MockFoo', - true, - true -); - -print $mock['code']; -?> ---EXPECT-- -class MockFoo extends Foo implements PHPUnit\Framework\MockObject\MockObject -{ - private $__phpunit_invocationMocker; - private $__phpunit_originalObject; - private $__phpunit_configurable = ['bar']; - private $__phpunit_returnValueGeneration = true; - - public function __clone() - { - $this->__phpunit_invocationMocker = clone $this->__phpunit_getInvocationMocker(); - } - - public function bar(): FinalClass - { - $__phpunit_arguments = []; - $__phpunit_count = func_num_args(); - - if ($__phpunit_count > 0) { - $__phpunit_arguments_tmp = func_get_args(); - - for ($__phpunit_i = 0; $__phpunit_i < $__phpunit_count; $__phpunit_i++) { - $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i]; - } - } - - $__phpunit_result = $this->__phpunit_getInvocationMocker()->invoke( - new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation( - 'Foo', 'bar', $__phpunit_arguments, 'FinalClass', $this, true - ) - ); - - return $__phpunit_result; - } - - public function expects(\PHPUnit\Framework\MockObject\Matcher\Invocation $matcher) - { - return $this->__phpunit_getInvocationMocker()->expects($matcher); - } - - public function method() - { - $any = new \PHPUnit\Framework\MockObject\Matcher\AnyInvokedCount; - $expects = $this->expects($any); - - return call_user_func_array([$expects, 'method'], func_get_args()); - } - - public function __phpunit_setOriginalObject($originalObject) - { - $this->__phpunit_originalObject = $originalObject; - } - - public function __phpunit_setReturnValueGeneration(bool $returnValueGeneration) - { - $this->__phpunit_returnValueGeneration = $returnValueGeneration; - } - - public function __phpunit_getInvocationMocker() - { - if ($this->__phpunit_invocationMocker === null) { - $this->__phpunit_invocationMocker = new \PHPUnit\Framework\MockObject\InvocationMocker($this->__phpunit_configurable, $this->__phpunit_returnValueGeneration); - } - - return $this->__phpunit_invocationMocker; - } - - public function __phpunit_hasMatchers() - { - return $this->__phpunit_getInvocationMocker()->hasMatchers(); - } - - public function __phpunit_verify(bool $unsetInvocationMocker = true) - { - $this->__phpunit_getInvocationMocker()->verify(); - - if ($unsetInvocationMocker) { - $this->__phpunit_invocationMocker = null; - } - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/return_type_declarations_generator.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/return_type_declarations_generator.phpt deleted file mode 100644 index 8783ff8..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/return_type_declarations_generator.phpt +++ /dev/null @@ -1,104 +0,0 @@ ---TEST-- -\PHPUnit\Framework\MockObject\Generator::generate('Foo', [], 'MockFoo', true, true) ---FILE-- -generate( - 'Foo', - [], - 'MockFoo', - true, - true -); - -print $mock['code']; -?> ---EXPECT-- -class MockFoo implements PHPUnit\Framework\MockObject\MockObject, Foo -{ - private $__phpunit_invocationMocker; - private $__phpunit_originalObject; - private $__phpunit_configurable = ['bar']; - private $__phpunit_returnValueGeneration = true; - - public function __clone() - { - $this->__phpunit_invocationMocker = clone $this->__phpunit_getInvocationMocker(); - } - - public function bar(): Generator - { - $__phpunit_arguments = []; - $__phpunit_count = func_num_args(); - - if ($__phpunit_count > 0) { - $__phpunit_arguments_tmp = func_get_args(); - - for ($__phpunit_i = 0; $__phpunit_i < $__phpunit_count; $__phpunit_i++) { - $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i]; - } - } - - $__phpunit_result = $this->__phpunit_getInvocationMocker()->invoke( - new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation( - 'Foo', 'bar', $__phpunit_arguments, 'Generator', $this, true - ) - ); - - return $__phpunit_result; - } - - public function expects(\PHPUnit\Framework\MockObject\Matcher\Invocation $matcher) - { - return $this->__phpunit_getInvocationMocker()->expects($matcher); - } - - public function method() - { - $any = new \PHPUnit\Framework\MockObject\Matcher\AnyInvokedCount; - $expects = $this->expects($any); - - return call_user_func_array([$expects, 'method'], func_get_args()); - } - - public function __phpunit_setOriginalObject($originalObject) - { - $this->__phpunit_originalObject = $originalObject; - } - - public function __phpunit_setReturnValueGeneration(bool $returnValueGeneration) - { - $this->__phpunit_returnValueGeneration = $returnValueGeneration; - } - - public function __phpunit_getInvocationMocker() - { - if ($this->__phpunit_invocationMocker === null) { - $this->__phpunit_invocationMocker = new \PHPUnit\Framework\MockObject\InvocationMocker($this->__phpunit_configurable, $this->__phpunit_returnValueGeneration); - } - - return $this->__phpunit_invocationMocker; - } - - public function __phpunit_hasMatchers() - { - return $this->__phpunit_getInvocationMocker()->hasMatchers(); - } - - public function __phpunit_verify(bool $unsetInvocationMocker = true) - { - $this->__phpunit_getInvocationMocker()->verify(); - - if ($unsetInvocationMocker) { - $this->__phpunit_invocationMocker = null; - } - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/return_type_declarations_nullable.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/return_type_declarations_nullable.phpt deleted file mode 100644 index 18956eb..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/return_type_declarations_nullable.phpt +++ /dev/null @@ -1,104 +0,0 @@ ---TEST-- -\PHPUnit\Framework\MockObject\Generator::generate('Foo', [], 'MockFoo', true, true) ---FILE-- -generate( - 'Foo', - [], - 'MockFoo', - true, - true -); - -print $mock['code']; -?> ---EXPECT-- -class MockFoo implements PHPUnit\Framework\MockObject\MockObject, Foo -{ - private $__phpunit_invocationMocker; - private $__phpunit_originalObject; - private $__phpunit_configurable = ['bar']; - private $__phpunit_returnValueGeneration = true; - - public function __clone() - { - $this->__phpunit_invocationMocker = clone $this->__phpunit_getInvocationMocker(); - } - - public function bar(string $baz): ?string - { - $__phpunit_arguments = [$baz]; - $__phpunit_count = func_num_args(); - - if ($__phpunit_count > 1) { - $__phpunit_arguments_tmp = func_get_args(); - - for ($__phpunit_i = 1; $__phpunit_i < $__phpunit_count; $__phpunit_i++) { - $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i]; - } - } - - $__phpunit_result = $this->__phpunit_getInvocationMocker()->invoke( - new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation( - 'Foo', 'bar', $__phpunit_arguments, '?string', $this, true - ) - ); - - return $__phpunit_result; - } - - public function expects(\PHPUnit\Framework\MockObject\Matcher\Invocation $matcher) - { - return $this->__phpunit_getInvocationMocker()->expects($matcher); - } - - public function method() - { - $any = new \PHPUnit\Framework\MockObject\Matcher\AnyInvokedCount; - $expects = $this->expects($any); - - return call_user_func_array([$expects, 'method'], func_get_args()); - } - - public function __phpunit_setOriginalObject($originalObject) - { - $this->__phpunit_originalObject = $originalObject; - } - - public function __phpunit_setReturnValueGeneration(bool $returnValueGeneration) - { - $this->__phpunit_returnValueGeneration = $returnValueGeneration; - } - - public function __phpunit_getInvocationMocker() - { - if ($this->__phpunit_invocationMocker === null) { - $this->__phpunit_invocationMocker = new \PHPUnit\Framework\MockObject\InvocationMocker($this->__phpunit_configurable, $this->__phpunit_returnValueGeneration); - } - - return $this->__phpunit_invocationMocker; - } - - public function __phpunit_hasMatchers() - { - return $this->__phpunit_getInvocationMocker()->hasMatchers(); - } - - public function __phpunit_verify(bool $unsetInvocationMocker = true) - { - $this->__phpunit_getInvocationMocker()->verify(); - - if ($unsetInvocationMocker) { - $this->__phpunit_invocationMocker = null; - } - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/return_type_declarations_object_method.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/return_type_declarations_object_method.phpt deleted file mode 100644 index 255064a..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/return_type_declarations_object_method.phpt +++ /dev/null @@ -1,107 +0,0 @@ ---TEST-- -\PHPUnit\Framework\MockObject\Generator::generate('Foo', [], 'MockFoo', true, true) ---FILE-- -generate( - 'Foo', - [], - 'MockFoo', - true, - true -); - -print $mock['code']; -?> ---EXPECT-- -class MockFoo extends Foo implements PHPUnit\Framework\MockObject\MockObject -{ - private $__phpunit_invocationMocker; - private $__phpunit_originalObject; - private $__phpunit_configurable = ['bar']; - private $__phpunit_returnValueGeneration = true; - - public function __clone() - { - $this->__phpunit_invocationMocker = clone $this->__phpunit_getInvocationMocker(); - } - - public function bar(string $baz): Bar - { - $__phpunit_arguments = [$baz]; - $__phpunit_count = func_num_args(); - - if ($__phpunit_count > 1) { - $__phpunit_arguments_tmp = func_get_args(); - - for ($__phpunit_i = 1; $__phpunit_i < $__phpunit_count; $__phpunit_i++) { - $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i]; - } - } - - $__phpunit_result = $this->__phpunit_getInvocationMocker()->invoke( - new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation( - 'Foo', 'bar', $__phpunit_arguments, 'Bar', $this, true - ) - ); - - return $__phpunit_result; - } - - public function expects(\PHPUnit\Framework\MockObject\Matcher\Invocation $matcher) - { - return $this->__phpunit_getInvocationMocker()->expects($matcher); - } - - public function method() - { - $any = new \PHPUnit\Framework\MockObject\Matcher\AnyInvokedCount; - $expects = $this->expects($any); - - return call_user_func_array([$expects, 'method'], func_get_args()); - } - - public function __phpunit_setOriginalObject($originalObject) - { - $this->__phpunit_originalObject = $originalObject; - } - - public function __phpunit_setReturnValueGeneration(bool $returnValueGeneration) - { - $this->__phpunit_returnValueGeneration = $returnValueGeneration; - } - - public function __phpunit_getInvocationMocker() - { - if ($this->__phpunit_invocationMocker === null) { - $this->__phpunit_invocationMocker = new \PHPUnit\Framework\MockObject\InvocationMocker($this->__phpunit_configurable, $this->__phpunit_returnValueGeneration); - } - - return $this->__phpunit_invocationMocker; - } - - public function __phpunit_hasMatchers() - { - return $this->__phpunit_getInvocationMocker()->hasMatchers(); - } - - public function __phpunit_verify(bool $unsetInvocationMocker = true) - { - $this->__phpunit_getInvocationMocker()->verify(); - - if ($unsetInvocationMocker) { - $this->__phpunit_invocationMocker = null; - } - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/return_type_declarations_parent.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/return_type_declarations_parent.phpt deleted file mode 100644 index afacf3d..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/return_type_declarations_parent.phpt +++ /dev/null @@ -1,110 +0,0 @@ ---TEST-- -\PHPUnit\Framework\MockObject\Generator::generate('Bar', [], 'MockBar', true, true) ---FILE-- -generate( - 'Bar', - [], - 'MockBar', - true, - true -); - -print $mock['code']; ---EXPECT-- -class MockBar extends Bar implements PHPUnit\Framework\MockObject\MockObject -{ - private $__phpunit_invocationMocker; - private $__phpunit_originalObject; - private $__phpunit_configurable = ['baz']; - private $__phpunit_returnValueGeneration = true; - - public function __clone() - { - $this->__phpunit_invocationMocker = clone $this->__phpunit_getInvocationMocker(); - } - - public function baz(): Foo - { - $__phpunit_arguments = []; - $__phpunit_count = func_num_args(); - - if ($__phpunit_count > 0) { - $__phpunit_arguments_tmp = func_get_args(); - - for ($__phpunit_i = 0; $__phpunit_i < $__phpunit_count; $__phpunit_i++) { - $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i]; - } - } - - $__phpunit_result = $this->__phpunit_getInvocationMocker()->invoke( - new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation( - 'Bar', 'baz', $__phpunit_arguments, 'Foo', $this, true - ) - ); - - return $__phpunit_result; - } - - public function expects(\PHPUnit\Framework\MockObject\Matcher\Invocation $matcher) - { - return $this->__phpunit_getInvocationMocker()->expects($matcher); - } - - public function method() - { - $any = new \PHPUnit\Framework\MockObject\Matcher\AnyInvokedCount; - $expects = $this->expects($any); - - return call_user_func_array([$expects, 'method'], func_get_args()); - } - - public function __phpunit_setOriginalObject($originalObject) - { - $this->__phpunit_originalObject = $originalObject; - } - - public function __phpunit_setReturnValueGeneration(bool $returnValueGeneration) - { - $this->__phpunit_returnValueGeneration = $returnValueGeneration; - } - - public function __phpunit_getInvocationMocker() - { - if ($this->__phpunit_invocationMocker === null) { - $this->__phpunit_invocationMocker = new \PHPUnit\Framework\MockObject\InvocationMocker($this->__phpunit_configurable, $this->__phpunit_returnValueGeneration); - } - - return $this->__phpunit_invocationMocker; - } - - public function __phpunit_hasMatchers() - { - return $this->__phpunit_getInvocationMocker()->hasMatchers(); - } - - public function __phpunit_verify(bool $unsetInvocationMocker = true) - { - $this->__phpunit_getInvocationMocker()->verify(); - - if ($unsetInvocationMocker) { - $this->__phpunit_invocationMocker = null; - } - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/return_type_declarations_self.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/return_type_declarations_self.phpt deleted file mode 100644 index e16a608..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/return_type_declarations_self.phpt +++ /dev/null @@ -1,104 +0,0 @@ ---TEST-- -\PHPUnit\Framework\MockObject\Generator::generate('Foo', [], 'MockFoo', true, true) ---FILE-- -generate( - 'Foo', - [], - 'MockFoo', - true, - true -); - -print $mock['code']; -?> ---EXPECT-- -class MockFoo implements PHPUnit\Framework\MockObject\MockObject, Foo -{ - private $__phpunit_invocationMocker; - private $__phpunit_originalObject; - private $__phpunit_configurable = ['bar']; - private $__phpunit_returnValueGeneration = true; - - public function __clone() - { - $this->__phpunit_invocationMocker = clone $this->__phpunit_getInvocationMocker(); - } - - public function bar(string $baz): Foo - { - $__phpunit_arguments = [$baz]; - $__phpunit_count = func_num_args(); - - if ($__phpunit_count > 1) { - $__phpunit_arguments_tmp = func_get_args(); - - for ($__phpunit_i = 1; $__phpunit_i < $__phpunit_count; $__phpunit_i++) { - $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i]; - } - } - - $__phpunit_result = $this->__phpunit_getInvocationMocker()->invoke( - new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation( - 'Foo', 'bar', $__phpunit_arguments, 'Foo', $this, true - ) - ); - - return $__phpunit_result; - } - - public function expects(\PHPUnit\Framework\MockObject\Matcher\Invocation $matcher) - { - return $this->__phpunit_getInvocationMocker()->expects($matcher); - } - - public function method() - { - $any = new \PHPUnit\Framework\MockObject\Matcher\AnyInvokedCount; - $expects = $this->expects($any); - - return call_user_func_array([$expects, 'method'], func_get_args()); - } - - public function __phpunit_setOriginalObject($originalObject) - { - $this->__phpunit_originalObject = $originalObject; - } - - public function __phpunit_setReturnValueGeneration(bool $returnValueGeneration) - { - $this->__phpunit_returnValueGeneration = $returnValueGeneration; - } - - public function __phpunit_getInvocationMocker() - { - if ($this->__phpunit_invocationMocker === null) { - $this->__phpunit_invocationMocker = new \PHPUnit\Framework\MockObject\InvocationMocker($this->__phpunit_configurable, $this->__phpunit_returnValueGeneration); - } - - return $this->__phpunit_invocationMocker; - } - - public function __phpunit_hasMatchers() - { - return $this->__phpunit_getInvocationMocker()->hasMatchers(); - } - - public function __phpunit_verify(bool $unsetInvocationMocker = true) - { - $this->__phpunit_getInvocationMocker()->verify(); - - if ($unsetInvocationMocker) { - $this->__phpunit_invocationMocker = null; - } - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/return_type_declarations_static_method.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/return_type_declarations_static_method.phpt deleted file mode 100644 index f16ef2c..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/return_type_declarations_static_method.phpt +++ /dev/null @@ -1,90 +0,0 @@ ---TEST-- -\PHPUnit\Framework\MockObject\Generator::generate('Foo', [], 'MockFoo', true, true) ---FILE-- -generate( - 'Foo', - [], - 'MockFoo', - true, - true -); - -print $mock['code']; -?> ---EXPECT-- -class MockFoo extends Foo implements PHPUnit\Framework\MockObject\MockObject -{ - private $__phpunit_invocationMocker; - private $__phpunit_originalObject; - private $__phpunit_configurable = ['bar']; - private $__phpunit_returnValueGeneration = true; - - public function __clone() - { - $this->__phpunit_invocationMocker = clone $this->__phpunit_getInvocationMocker(); - } - - public static function bar(string $baz): Bar - { - throw new \PHPUnit\Framework\MockObject\BadMethodCallException('Static method "bar" cannot be invoked on mock object'); - } - - public function expects(\PHPUnit\Framework\MockObject\Matcher\Invocation $matcher) - { - return $this->__phpunit_getInvocationMocker()->expects($matcher); - } - - public function method() - { - $any = new \PHPUnit\Framework\MockObject\Matcher\AnyInvokedCount; - $expects = $this->expects($any); - - return call_user_func_array([$expects, 'method'], func_get_args()); - } - - public function __phpunit_setOriginalObject($originalObject) - { - $this->__phpunit_originalObject = $originalObject; - } - - public function __phpunit_setReturnValueGeneration(bool $returnValueGeneration) - { - $this->__phpunit_returnValueGeneration = $returnValueGeneration; - } - - public function __phpunit_getInvocationMocker() - { - if ($this->__phpunit_invocationMocker === null) { - $this->__phpunit_invocationMocker = new \PHPUnit\Framework\MockObject\InvocationMocker($this->__phpunit_configurable, $this->__phpunit_returnValueGeneration); - } - - return $this->__phpunit_invocationMocker; - } - - public function __phpunit_hasMatchers() - { - return $this->__phpunit_getInvocationMocker()->hasMatchers(); - } - - public function __phpunit_verify(bool $unsetInvocationMocker = true) - { - $this->__phpunit_getInvocationMocker()->verify(); - - if ($unsetInvocationMocker) { - $this->__phpunit_invocationMocker = null; - } - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/return_type_declarations_void.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/return_type_declarations_void.phpt deleted file mode 100644 index 0acc92a..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/return_type_declarations_void.phpt +++ /dev/null @@ -1,102 +0,0 @@ ---TEST-- -\PHPUnit\Framework\MockObject\Generator::generate('Foo', [], 'MockFoo', true, true) ---FILE-- -generate( - 'Foo', - [], - 'MockFoo', - true, - true -); - -print $mock['code']; -?> ---EXPECT-- -class MockFoo implements PHPUnit\Framework\MockObject\MockObject, Foo -{ - private $__phpunit_invocationMocker; - private $__phpunit_originalObject; - private $__phpunit_configurable = ['bar']; - private $__phpunit_returnValueGeneration = true; - - public function __clone() - { - $this->__phpunit_invocationMocker = clone $this->__phpunit_getInvocationMocker(); - } - - public function bar(string $baz): void - { - $__phpunit_arguments = [$baz]; - $__phpunit_count = func_num_args(); - - if ($__phpunit_count > 1) { - $__phpunit_arguments_tmp = func_get_args(); - - for ($__phpunit_i = 1; $__phpunit_i < $__phpunit_count; $__phpunit_i++) { - $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i]; - } - } - - $this->__phpunit_getInvocationMocker()->invoke( - new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation( - 'Foo', 'bar', $__phpunit_arguments, 'void', $this, true - ) - ); - } - - public function expects(\PHPUnit\Framework\MockObject\Matcher\Invocation $matcher) - { - return $this->__phpunit_getInvocationMocker()->expects($matcher); - } - - public function method() - { - $any = new \PHPUnit\Framework\MockObject\Matcher\AnyInvokedCount; - $expects = $this->expects($any); - - return call_user_func_array([$expects, 'method'], func_get_args()); - } - - public function __phpunit_setOriginalObject($originalObject) - { - $this->__phpunit_originalObject = $originalObject; - } - - public function __phpunit_setReturnValueGeneration(bool $returnValueGeneration) - { - $this->__phpunit_returnValueGeneration = $returnValueGeneration; - } - - public function __phpunit_getInvocationMocker() - { - if ($this->__phpunit_invocationMocker === null) { - $this->__phpunit_invocationMocker = new \PHPUnit\Framework\MockObject\InvocationMocker($this->__phpunit_configurable, $this->__phpunit_returnValueGeneration); - } - - return $this->__phpunit_invocationMocker; - } - - public function __phpunit_hasMatchers() - { - return $this->__phpunit_getInvocationMocker()->hasMatchers(); - } - - public function __phpunit_verify(bool $unsetInvocationMocker = true) - { - $this->__phpunit_getInvocationMocker()->verify(); - - if ($unsetInvocationMocker) { - $this->__phpunit_invocationMocker = null; - } - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/scalar_type_declarations.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/scalar_type_declarations.phpt deleted file mode 100644 index 9ff90ac..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/scalar_type_declarations.phpt +++ /dev/null @@ -1,106 +0,0 @@ ---TEST-- -\PHPUnit\Framework\MockObject\Generator::generate('Foo', [], 'MockFoo', true, true) ---FILE-- -generate( - 'Foo', - [], - 'MockFoo', - true, - true -); - -print $mock['code']; -?> ---EXPECT-- -class MockFoo extends Foo implements PHPUnit\Framework\MockObject\MockObject -{ - private $__phpunit_invocationMocker; - private $__phpunit_originalObject; - private $__phpunit_configurable = ['bar']; - private $__phpunit_returnValueGeneration = true; - - public function __clone() - { - $this->__phpunit_invocationMocker = clone $this->__phpunit_getInvocationMocker(); - } - - public function bar(string $baz) - { - $__phpunit_arguments = [$baz]; - $__phpunit_count = func_num_args(); - - if ($__phpunit_count > 1) { - $__phpunit_arguments_tmp = func_get_args(); - - for ($__phpunit_i = 1; $__phpunit_i < $__phpunit_count; $__phpunit_i++) { - $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i]; - } - } - - $__phpunit_result = $this->__phpunit_getInvocationMocker()->invoke( - new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation( - 'Foo', 'bar', $__phpunit_arguments, '', $this, true - ) - ); - - return $__phpunit_result; - } - - public function expects(\PHPUnit\Framework\MockObject\Matcher\Invocation $matcher) - { - return $this->__phpunit_getInvocationMocker()->expects($matcher); - } - - public function method() - { - $any = new \PHPUnit\Framework\MockObject\Matcher\AnyInvokedCount; - $expects = $this->expects($any); - - return call_user_func_array([$expects, 'method'], func_get_args()); - } - - public function __phpunit_setOriginalObject($originalObject) - { - $this->__phpunit_originalObject = $originalObject; - } - - public function __phpunit_setReturnValueGeneration(bool $returnValueGeneration) - { - $this->__phpunit_returnValueGeneration = $returnValueGeneration; - } - - public function __phpunit_getInvocationMocker() - { - if ($this->__phpunit_invocationMocker === null) { - $this->__phpunit_invocationMocker = new \PHPUnit\Framework\MockObject\InvocationMocker($this->__phpunit_configurable, $this->__phpunit_returnValueGeneration); - } - - return $this->__phpunit_invocationMocker; - } - - public function __phpunit_hasMatchers() - { - return $this->__phpunit_getInvocationMocker()->hasMatchers(); - } - - public function __phpunit_verify(bool $unsetInvocationMocker = true) - { - $this->__phpunit_getInvocationMocker()->verify(); - - if ($unsetInvocationMocker) { - $this->__phpunit_invocationMocker = null; - } - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/wsdl_class.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/wsdl_class.phpt deleted file mode 100644 index a6c51dd..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/wsdl_class.phpt +++ /dev/null @@ -1,37 +0,0 @@ ---TEST-- -\PHPUnit\Framework\MockObject\Generator::generateClassFromWsdl('GoogleSearch.wsdl', 'GoogleSearch') ---SKIPIF-- - ---FILE-- -generateClassFromWsdl( - __DIR__ . '/../../../_files/GoogleSearch.wsdl', - 'GoogleSearch' -); -?> ---EXPECTF-- -class GoogleSearch extends \SoapClient -{ - public function __construct($wsdl, array $options) - { - parent::__construct('%s/GoogleSearch.wsdl', $options); - } - - public function doGoogleSearch($key, $q, $start, $maxResults, $filter, $restrict, $safeSearch, $lr, $ie, $oe) - { - } - - public function doGetCachedPage($key, $url) - { - } - - public function doSpellingSuggestion($key, $phrase) - { - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/wsdl_class_namespace.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/wsdl_class_namespace.phpt deleted file mode 100644 index 216b10a..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/wsdl_class_namespace.phpt +++ /dev/null @@ -1,38 +0,0 @@ ---TEST-- -\PHPUnit\Framework\MockObject\Generator::generateClassFromWsdl('GoogleSearch.wsdl', 'GoogleSearch') ---SKIPIF-- -generateClassFromWsdl( - __DIR__ . '/../../../_files/GoogleSearch.wsdl', - 'My\\Space\\GoogleSearch' -); -?> ---EXPECTF-- -namespace My\Space; - -class GoogleSearch extends \SoapClient -{ - public function __construct($wsdl, array $options) - { - parent::__construct('%s/GoogleSearch.wsdl', $options); - } - - public function doGoogleSearch($key, $q, $start, $maxResults, $filter, $restrict, $safeSearch, $lr, $ie, $oe) - { - } - - public function doGetCachedPage($key, $url) - { - } - - public function doSpellingSuggestion($key, $phrase) - { - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/wsdl_class_partial.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/wsdl_class_partial.phpt deleted file mode 100644 index ec1ed59..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/wsdl_class_partial.phpt +++ /dev/null @@ -1,30 +0,0 @@ ---TEST-- -\PHPUnit\Framework\MockObject\Generator::generateClassFromWsdl('GoogleSearch.wsdl', 'GoogleSearch', array('doGoogleSearch')) ---SKIPIF-- - ---FILE-- -generateClassFromWsdl( - __DIR__ . '/../../../_files/GoogleSearch.wsdl', - 'GoogleSearch', - array('doGoogleSearch') -); -?> ---EXPECTF-- -class GoogleSearch extends \SoapClient -{ - public function __construct($wsdl, array $options) - { - parent::__construct('%s/GoogleSearch.wsdl', $options); - } - - public function doGoogleSearch($key, $q, $start, $maxResults, $filter, $restrict, $safeSearch, $lr, $ie, $oe) - { - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/call_original.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/call_original.phpt deleted file mode 100644 index 4153e79..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/call_original.phpt +++ /dev/null @@ -1,49 +0,0 @@ ---TEST-- -Mock method and call original method ---FILE-- -getMethod('bar'), - true, - false -); - -$code = $mockMethod->generateCode(); - -print $code; -?> ---EXPECT-- - - public function bar() - { - $__phpunit_arguments = []; - $__phpunit_count = func_num_args(); - - if ($__phpunit_count > 0) { - $__phpunit_arguments_tmp = func_get_args(); - - for ($__phpunit_i = 0; $__phpunit_i < $__phpunit_count; $__phpunit_i++) { - $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i]; - } - } - - $__phpunit_invocation = new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation( - 'Foo', 'bar', $__phpunit_arguments, '', $this, false - ); - - $__phpunit_invocation->setProxiedCall(); - - $this->__phpunit_getInvocationMocker()->invoke($__phpunit_invocation); - - unset($__phpunit_invocation); - - return call_user_func_array(array($this->__phpunit_originalObject, "bar"), $__phpunit_arguments); - } diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/call_original_with_argument.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/call_original_with_argument.phpt deleted file mode 100644 index 085f267..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/call_original_with_argument.phpt +++ /dev/null @@ -1,49 +0,0 @@ ---TEST-- -Mock method and call original method with argument ---FILE-- -getMethod('bar'), - true, - false -); - -$code = $mockMethod->generateCode(); - -print $code; -?> ---EXPECT-- - -private function bar($arg) - { - $__phpunit_arguments = [$arg]; - $__phpunit_count = func_num_args(); - - if ($__phpunit_count > 1) { - $__phpunit_arguments_tmp = func_get_args(); - - for ($__phpunit_i = 1; $__phpunit_i < $__phpunit_count; $__phpunit_i++) { - $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i]; - } - } - - $__phpunit_invocation = new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation( - 'Foo', 'bar', $__phpunit_arguments, '', $this, false - ); - - $__phpunit_invocation->setProxiedCall(); - - $this->__phpunit_getInvocationMocker()->invoke($__phpunit_invocation); - - unset($__phpunit_invocation); - - return call_user_func_array(array($this->__phpunit_originalObject, "bar"), $__phpunit_arguments); - } diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/call_original_with_argument_variadic.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/call_original_with_argument_variadic.phpt deleted file mode 100644 index 3e92d6a..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/call_original_with_argument_variadic.phpt +++ /dev/null @@ -1,49 +0,0 @@ ---TEST-- -Mock method and call original method with variadic argument ---FILE-- -getMethod('bar'), - true, - false -); - -$code = $mockMethod->generateCode(); - -print $code; -?> ---EXPECT-- - -private function bar(...$args) - { - $__phpunit_arguments = []; - $__phpunit_count = func_num_args(); - - if ($__phpunit_count > 0) { - $__phpunit_arguments_tmp = func_get_args(); - - for ($__phpunit_i = 0; $__phpunit_i < $__phpunit_count; $__phpunit_i++) { - $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i]; - } - } - - $__phpunit_invocation = new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation( - 'Foo', 'bar', $__phpunit_arguments, '', $this, false - ); - - $__phpunit_invocation->setProxiedCall(); - - $this->__phpunit_getInvocationMocker()->invoke($__phpunit_invocation); - - unset($__phpunit_invocation); - - return call_user_func_array(array($this->__phpunit_originalObject, "bar"), $__phpunit_arguments); - } diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/call_original_with_return_type_void.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/call_original_with_return_type_void.phpt deleted file mode 100644 index d3218b2..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/call_original_with_return_type_void.phpt +++ /dev/null @@ -1,49 +0,0 @@ ---TEST-- -Mock method and call original method that has a return type of void ---FILE-- -getMethod('bar'), - true, - false -); - -$code = $mockMethod->generateCode(); - -print $code; -?> ---EXPECT-- - - public function bar(): void - { - $__phpunit_arguments = []; - $__phpunit_count = func_num_args(); - - if ($__phpunit_count > 0) { - $__phpunit_arguments_tmp = func_get_args(); - - for ($__phpunit_i = 0; $__phpunit_i < $__phpunit_count; $__phpunit_i++) { - $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i]; - } - } - - $__phpunit_invocation = new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation( - 'Foo', 'bar', $__phpunit_arguments, 'void', $this, false - ); - - $__phpunit_invocation->setProxiedCall(); - - $this->__phpunit_getInvocationMocker()->invoke($__phpunit_invocation); - - unset($__phpunit_invocation); - - call_user_func_array(array($this->__phpunit_originalObject, "bar"), $__phpunit_arguments); - } diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/clone_method_arguments.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/clone_method_arguments.phpt deleted file mode 100644 index 1103c6b..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/clone_method_arguments.phpt +++ /dev/null @@ -1,45 +0,0 @@ ---TEST-- -Mock method and clone method arguments ---FILE-- -getMethod('bar'), - false, - true -); - -$code = $mockMethod->generateCode(); - -print $code; -?> ---EXPECT-- - - public function bar() - { - $__phpunit_arguments = []; - $__phpunit_count = func_num_args(); - - if ($__phpunit_count > 0) { - $__phpunit_arguments_tmp = func_get_args(); - - for ($__phpunit_i = 0; $__phpunit_i < $__phpunit_count; $__phpunit_i++) { - $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i]; - } - } - - $__phpunit_result = $this->__phpunit_getInvocationMocker()->invoke( - new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation( - 'Foo', 'bar', $__phpunit_arguments, '', $this, true - ) - ); - - return $__phpunit_result; - } diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/deprecated_with_description.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/deprecated_with_description.phpt deleted file mode 100644 index 1846373..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/deprecated_with_description.phpt +++ /dev/null @@ -1,50 +0,0 @@ ---TEST-- -Emit deprecation notice when mocking deprecated message. ---FILE-- -getMethod('bar'), - false, - false -); - -$code = $mockMethod->generateCode(); - -print $code; -?> ---EXPECT-- - -public function bar() - { - @trigger_error('The Foo::bar method is deprecated (some explanation).', E_USER_DEPRECATED); - - $__phpunit_arguments = []; - $__phpunit_count = func_num_args(); - - if ($__phpunit_count > 0) { - $__phpunit_arguments_tmp = func_get_args(); - - for ($__phpunit_i = 0; $__phpunit_i < $__phpunit_count; $__phpunit_i++) { - $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i]; - } - } - - $__phpunit_result = $this->__phpunit_getInvocationMocker()->invoke( - new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation( - 'Foo', 'bar', $__phpunit_arguments, '', $this, false - ) - ); - - return $__phpunit_result; - } diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/deprecated_without_description.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/deprecated_without_description.phpt deleted file mode 100644 index c74a04e..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/deprecated_without_description.phpt +++ /dev/null @@ -1,50 +0,0 @@ ---TEST-- -Mock static method ---FILE-- -getMethod('bar'), - false, - false -); - -$code = $mockMethod->generateCode(); - -print $code; -?> ---EXPECT-- - -public function bar() - { - @trigger_error('The Foo::bar method is deprecated ().', E_USER_DEPRECATED); - - $__phpunit_arguments = []; - $__phpunit_count = func_num_args(); - - if ($__phpunit_count > 0) { - $__phpunit_arguments_tmp = func_get_args(); - - for ($__phpunit_i = 0; $__phpunit_i < $__phpunit_count; $__phpunit_i++) { - $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i]; - } - } - - $__phpunit_result = $this->__phpunit_getInvocationMocker()->invoke( - new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation( - 'Foo', 'bar', $__phpunit_arguments, '', $this, false - ) - ); - - return $__phpunit_result; - } diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/private_method.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/private_method.phpt deleted file mode 100644 index 2209943..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/private_method.phpt +++ /dev/null @@ -1,45 +0,0 @@ ---TEST-- -Mock static method ---FILE-- -getMethod('bar'), - false, - false -); - -$code = $mockMethod->generateCode(); - -print $code; -?> ---EXPECT-- - -private function bar() - { - $__phpunit_arguments = []; - $__phpunit_count = func_num_args(); - - if ($__phpunit_count > 0) { - $__phpunit_arguments_tmp = func_get_args(); - - for ($__phpunit_i = 0; $__phpunit_i < $__phpunit_count; $__phpunit_i++) { - $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i]; - } - } - - $__phpunit_result = $this->__phpunit_getInvocationMocker()->invoke( - new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation( - 'Foo', 'bar', $__phpunit_arguments, '', $this, false - ) - ); - - return $__phpunit_result; - } diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/protected_method.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/protected_method.phpt deleted file mode 100644 index bdaba87..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/protected_method.phpt +++ /dev/null @@ -1,45 +0,0 @@ ---TEST-- -Mock static method ---FILE-- -getMethod('bar'), - false, - false -); - -$code = $mockMethod->generateCode(); - -print $code; -?> ---EXPECT-- - -protected function bar() - { - $__phpunit_arguments = []; - $__phpunit_count = func_num_args(); - - if ($__phpunit_count > 0) { - $__phpunit_arguments_tmp = func_get_args(); - - for ($__phpunit_i = 0; $__phpunit_i < $__phpunit_count; $__phpunit_i++) { - $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i]; - } - } - - $__phpunit_result = $this->__phpunit_getInvocationMocker()->invoke( - new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation( - 'Foo', 'bar', $__phpunit_arguments, '', $this, false - ) - ); - - return $__phpunit_result; - } diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/return_by_reference.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/return_by_reference.phpt deleted file mode 100644 index 6547c2b..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/return_by_reference.phpt +++ /dev/null @@ -1,45 +0,0 @@ ---TEST-- -Mock static method ---FILE-- -getMethod('bar'), - false, - false -); - -$code = $mockMethod->generateCode(); - -print $code; -?> ---EXPECT-- - -public function &bar() - { - $__phpunit_arguments = []; - $__phpunit_count = func_num_args(); - - if ($__phpunit_count > 0) { - $__phpunit_arguments_tmp = func_get_args(); - - for ($__phpunit_i = 0; $__phpunit_i < $__phpunit_count; $__phpunit_i++) { - $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i]; - } - } - - $__phpunit_result = $this->__phpunit_getInvocationMocker()->invoke( - new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation( - 'Foo', 'bar', $__phpunit_arguments, '', $this, false - ) - ); - - return $__phpunit_result; - } diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/return_by_reference_with_return_type.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/return_by_reference_with_return_type.phpt deleted file mode 100644 index fb2207d..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/return_by_reference_with_return_type.phpt +++ /dev/null @@ -1,45 +0,0 @@ ---TEST-- -Mock static method ---FILE-- -getMethod('bar'), - false, - false -); - -$code = $mockMethod->generateCode(); - -print $code; -?> ---EXPECT-- - -public function &bar(): string - { - $__phpunit_arguments = []; - $__phpunit_count = func_num_args(); - - if ($__phpunit_count > 0) { - $__phpunit_arguments_tmp = func_get_args(); - - for ($__phpunit_i = 0; $__phpunit_i < $__phpunit_count; $__phpunit_i++) { - $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i]; - } - } - - $__phpunit_result = $this->__phpunit_getInvocationMocker()->invoke( - new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation( - 'Foo', 'bar', $__phpunit_arguments, 'string', $this, false - ) - ); - - return $__phpunit_result; - } diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/return_type.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/return_type.phpt deleted file mode 100644 index 1dead7a..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/return_type.phpt +++ /dev/null @@ -1,45 +0,0 @@ ---TEST-- -Mock static method ---FILE-- -getMethod('bar'), - false, - false -); - -$code = $mockMethod->generateCode(); - -print $code; -?> ---EXPECT-- - -public function bar(): string - { - $__phpunit_arguments = []; - $__phpunit_count = func_num_args(); - - if ($__phpunit_count > 0) { - $__phpunit_arguments_tmp = func_get_args(); - - for ($__phpunit_i = 0; $__phpunit_i < $__phpunit_count; $__phpunit_i++) { - $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i]; - } - } - - $__phpunit_result = $this->__phpunit_getInvocationMocker()->invoke( - new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation( - 'Foo', 'bar', $__phpunit_arguments, 'string', $this, false - ) - ); - - return $__phpunit_result; - } diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/return_type_parent.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/return_type_parent.phpt deleted file mode 100644 index dfa81ca..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/return_type_parent.phpt +++ /dev/null @@ -1,49 +0,0 @@ ---TEST-- -Mock static method ---FILE-- -getMethod('bar'), - false, - false -); - -$code = $mockMethod->generateCode(); - -print $code; -?> ---EXPECT-- - -public function bar(): Baz - { - $__phpunit_arguments = []; - $__phpunit_count = func_num_args(); - - if ($__phpunit_count > 0) { - $__phpunit_arguments_tmp = func_get_args(); - - for ($__phpunit_i = 0; $__phpunit_i < $__phpunit_count; $__phpunit_i++) { - $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i]; - } - } - - $__phpunit_result = $this->__phpunit_getInvocationMocker()->invoke( - new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation( - 'Foo', 'bar', $__phpunit_arguments, 'Baz', $this, false - ) - ); - - return $__phpunit_result; - } diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/return_type_self.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/return_type_self.phpt deleted file mode 100644 index e10329a..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/return_type_self.phpt +++ /dev/null @@ -1,45 +0,0 @@ ---TEST-- -Mock static method ---FILE-- -getMethod('bar'), - false, - false -); - -$code = $mockMethod->generateCode(); - -print $code; -?> ---EXPECT-- - -public function bar(): Foo - { - $__phpunit_arguments = []; - $__phpunit_count = func_num_args(); - - if ($__phpunit_count > 0) { - $__phpunit_arguments_tmp = func_get_args(); - - for ($__phpunit_i = 0; $__phpunit_i < $__phpunit_count; $__phpunit_i++) { - $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i]; - } - } - - $__phpunit_result = $this->__phpunit_getInvocationMocker()->invoke( - new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation( - 'Foo', 'bar', $__phpunit_arguments, 'Foo', $this, false - ) - ); - - return $__phpunit_result; - } diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/static_method.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/static_method.phpt deleted file mode 100644 index 908907f..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/static_method.phpt +++ /dev/null @@ -1,28 +0,0 @@ ---TEST-- -Mock static method ---FILE-- -getMethod('bar'), - false, - false -); - -$code = $mockMethod->generateCode(); - -print $code; -?> ---EXPECT-- - -public static function bar() - { - throw new \PHPUnit\Framework\MockObject\BadMethodCallException('Static method "bar" cannot be invoked on mock object'); - } diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/static_method_with_return_type.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/static_method_with_return_type.phpt deleted file mode 100644 index 1646846..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/static_method_with_return_type.phpt +++ /dev/null @@ -1,28 +0,0 @@ ---TEST-- -Mock static method ---FILE-- -getMethod('bar'), - false, - false -); - -$code = $mockMethod->generateCode(); - -print $code; -?> ---EXPECT-- - -public static function bar(): bool - { - throw new \PHPUnit\Framework\MockObject\BadMethodCallException('Static method "bar" cannot be invoked on mock object'); - } diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/with_argument.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/with_argument.phpt deleted file mode 100644 index 5e8b288..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/with_argument.phpt +++ /dev/null @@ -1,45 +0,0 @@ ---TEST-- -Mock static method ---FILE-- -getMethod('bar'), - false, - false -); - -$code = $mockMethod->generateCode(); - -print $code; -?> ---EXPECT-- - -private function bar($arg) - { - $__phpunit_arguments = [$arg]; - $__phpunit_count = func_num_args(); - - if ($__phpunit_count > 1) { - $__phpunit_arguments_tmp = func_get_args(); - - for ($__phpunit_i = 1; $__phpunit_i < $__phpunit_count; $__phpunit_i++) { - $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i]; - } - } - - $__phpunit_result = $this->__phpunit_getInvocationMocker()->invoke( - new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation( - 'Foo', 'bar', $__phpunit_arguments, '', $this, false - ) - ); - - return $__phpunit_result; - } diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/with_argument_default.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/with_argument_default.phpt deleted file mode 100644 index 26e0d56..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/with_argument_default.phpt +++ /dev/null @@ -1,45 +0,0 @@ ---TEST-- -Mock static method ---FILE-- -getMethod('bar'), - false, - false -); - -$code = $mockMethod->generateCode(); - -print $code; -?> ---EXPECT-- - -private function bar($arg = false) - { - $__phpunit_arguments = [$arg]; - $__phpunit_count = func_num_args(); - - if ($__phpunit_count > 1) { - $__phpunit_arguments_tmp = func_get_args(); - - for ($__phpunit_i = 1; $__phpunit_i < $__phpunit_count; $__phpunit_i++) { - $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i]; - } - } - - $__phpunit_result = $this->__phpunit_getInvocationMocker()->invoke( - new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation( - 'Foo', 'bar', $__phpunit_arguments, '', $this, false - ) - ); - - return $__phpunit_result; - } diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/with_argument_default_constant.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/with_argument_default_constant.phpt deleted file mode 100644 index 8955d87..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/with_argument_default_constant.phpt +++ /dev/null @@ -1,50 +0,0 @@ ---TEST-- -Mock static method ---FILE-- -getMethod('bar'), - false, - false -); - -$code = $mockMethod->generateCode(); - -print $code; -?> ---EXPECT-- - -private function bar($a = 1, $b = 2, $c = 3, $d = 4) - { - $__phpunit_arguments = [$a, $b, $c, $d]; - $__phpunit_count = func_num_args(); - - if ($__phpunit_count > 4) { - $__phpunit_arguments_tmp = func_get_args(); - - for ($__phpunit_i = 4; $__phpunit_i < $__phpunit_count; $__phpunit_i++) { - $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i]; - } - } - - $__phpunit_result = $this->__phpunit_getInvocationMocker()->invoke( - new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation( - 'Foo', 'bar', $__phpunit_arguments, '', $this, false - ) - ); - - return $__phpunit_result; - } diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/with_argument_default_null.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/with_argument_default_null.phpt deleted file mode 100644 index 905faf3..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/with_argument_default_null.phpt +++ /dev/null @@ -1,45 +0,0 @@ ---TEST-- -Mock static method ---FILE-- -getMethod('bar'), - false, - false -); - -$code = $mockMethod->generateCode(); - -print $code; -?> ---EXPECT-- - -private function bar($arg = NULL) - { - $__phpunit_arguments = [$arg]; - $__phpunit_count = func_num_args(); - - if ($__phpunit_count > 1) { - $__phpunit_arguments_tmp = func_get_args(); - - for ($__phpunit_i = 1; $__phpunit_i < $__phpunit_count; $__phpunit_i++) { - $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i]; - } - } - - $__phpunit_result = $this->__phpunit_getInvocationMocker()->invoke( - new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation( - 'Foo', 'bar', $__phpunit_arguments, '', $this, false - ) - ); - - return $__phpunit_result; - } diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/with_argument_nullable.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/with_argument_nullable.phpt deleted file mode 100644 index 37b42ad..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/with_argument_nullable.phpt +++ /dev/null @@ -1,45 +0,0 @@ ---TEST-- -Mock static method ---FILE-- -getMethod('bar'), - false, - false -); - -$code = $mockMethod->generateCode(); - -print $code; -?> ---EXPECT-- - -private function bar(?string $arg) - { - $__phpunit_arguments = [$arg]; - $__phpunit_count = func_num_args(); - - if ($__phpunit_count > 1) { - $__phpunit_arguments_tmp = func_get_args(); - - for ($__phpunit_i = 1; $__phpunit_i < $__phpunit_count; $__phpunit_i++) { - $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i]; - } - } - - $__phpunit_result = $this->__phpunit_getInvocationMocker()->invoke( - new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation( - 'Foo', 'bar', $__phpunit_arguments, '', $this, false - ) - ); - - return $__phpunit_result; - } diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/with_argument_reference.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/with_argument_reference.phpt deleted file mode 100644 index d65daae..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/with_argument_reference.phpt +++ /dev/null @@ -1,45 +0,0 @@ ---TEST-- -Mock static method ---FILE-- -getMethod('bar'), - false, - false -); - -$code = $mockMethod->generateCode(); - -print $code; -?> ---EXPECT-- - -private function bar(&$arg) - { - $__phpunit_arguments = [&$arg]; - $__phpunit_count = func_num_args(); - - if ($__phpunit_count > 1) { - $__phpunit_arguments_tmp = func_get_args(); - - for ($__phpunit_i = 1; $__phpunit_i < $__phpunit_count; $__phpunit_i++) { - $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i]; - } - } - - $__phpunit_result = $this->__phpunit_getInvocationMocker()->invoke( - new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation( - 'Foo', 'bar', $__phpunit_arguments, '', $this, false - ) - ); - - return $__phpunit_result; - } diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/with_argument_typed_array.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/with_argument_typed_array.phpt deleted file mode 100644 index 6d7c136..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/with_argument_typed_array.phpt +++ /dev/null @@ -1,45 +0,0 @@ ---TEST-- -Mock static method ---FILE-- -getMethod('bar'), - false, - false -); - -$code = $mockMethod->generateCode(); - -print $code; -?> ---EXPECT-- - -private function bar(array $arg) - { - $__phpunit_arguments = [$arg]; - $__phpunit_count = func_num_args(); - - if ($__phpunit_count > 1) { - $__phpunit_arguments_tmp = func_get_args(); - - for ($__phpunit_i = 1; $__phpunit_i < $__phpunit_count; $__phpunit_i++) { - $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i]; - } - } - - $__phpunit_result = $this->__phpunit_getInvocationMocker()->invoke( - new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation( - 'Foo', 'bar', $__phpunit_arguments, '', $this, false - ) - ); - - return $__phpunit_result; - } diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/with_argument_typed_callable.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/with_argument_typed_callable.phpt deleted file mode 100644 index d95e254..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/with_argument_typed_callable.phpt +++ /dev/null @@ -1,45 +0,0 @@ ---TEST-- -Mock static method ---FILE-- -getMethod('bar'), - false, - false -); - -$code = $mockMethod->generateCode(); - -print $code; -?> ---EXPECT-- - -private function bar(callable $arg) - { - $__phpunit_arguments = [$arg]; - $__phpunit_count = func_num_args(); - - if ($__phpunit_count > 1) { - $__phpunit_arguments_tmp = func_get_args(); - - for ($__phpunit_i = 1; $__phpunit_i < $__phpunit_count; $__phpunit_i++) { - $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i]; - } - } - - $__phpunit_result = $this->__phpunit_getInvocationMocker()->invoke( - new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation( - 'Foo', 'bar', $__phpunit_arguments, '', $this, false - ) - ); - - return $__phpunit_result; - } diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/with_argument_typed_class.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/with_argument_typed_class.phpt deleted file mode 100644 index 7347bd2..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/with_argument_typed_class.phpt +++ /dev/null @@ -1,45 +0,0 @@ ---TEST-- -Mock static method ---FILE-- -getMethod('bar'), - false, - false -); - -$code = $mockMethod->generateCode(); - -print $code; -?> ---EXPECT-- - -private function bar(Exception $arg) - { - $__phpunit_arguments = [$arg]; - $__phpunit_count = func_num_args(); - - if ($__phpunit_count > 1) { - $__phpunit_arguments_tmp = func_get_args(); - - for ($__phpunit_i = 1; $__phpunit_i < $__phpunit_count; $__phpunit_i++) { - $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i]; - } - } - - $__phpunit_result = $this->__phpunit_getInvocationMocker()->invoke( - new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation( - 'Foo', 'bar', $__phpunit_arguments, '', $this, false - ) - ); - - return $__phpunit_result; - } diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/with_argument_typed_scalar.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/with_argument_typed_scalar.phpt deleted file mode 100644 index a6988b0..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/with_argument_typed_scalar.phpt +++ /dev/null @@ -1,45 +0,0 @@ ---TEST-- -Mock static method ---FILE-- -getMethod('bar'), - false, - false -); - -$code = $mockMethod->generateCode(); - -print $code; -?> ---EXPECT-- - -private function bar(string $arg) - { - $__phpunit_arguments = [$arg]; - $__phpunit_count = func_num_args(); - - if ($__phpunit_count > 1) { - $__phpunit_arguments_tmp = func_get_args(); - - for ($__phpunit_i = 1; $__phpunit_i < $__phpunit_count; $__phpunit_i++) { - $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i]; - } - } - - $__phpunit_result = $this->__phpunit_getInvocationMocker()->invoke( - new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation( - 'Foo', 'bar', $__phpunit_arguments, '', $this, false - ) - ); - - return $__phpunit_result; - } diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/with_argument_typed_self.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/with_argument_typed_self.phpt deleted file mode 100644 index 924cbae..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/with_argument_typed_self.phpt +++ /dev/null @@ -1,45 +0,0 @@ ---TEST-- -Mock static method ---FILE-- -getMethod('bar'), - false, - false -); - -$code = $mockMethod->generateCode(); - -print $code; -?> ---EXPECT-- - -private function bar(Foo $arg) - { - $__phpunit_arguments = [$arg]; - $__phpunit_count = func_num_args(); - - if ($__phpunit_count > 1) { - $__phpunit_arguments_tmp = func_get_args(); - - for ($__phpunit_i = 1; $__phpunit_i < $__phpunit_count; $__phpunit_i++) { - $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i]; - } - } - - $__phpunit_result = $this->__phpunit_getInvocationMocker()->invoke( - new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation( - 'Foo', 'bar', $__phpunit_arguments, '', $this, false - ) - ); - - return $__phpunit_result; - } diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/with_argument_typed_unkown_class.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/with_argument_typed_unkown_class.phpt deleted file mode 100644 index dcf7af5..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/with_argument_typed_unkown_class.phpt +++ /dev/null @@ -1,45 +0,0 @@ ---TEST-- -Mock static method ---FILE-- -getMethod('bar'), - false, - false -); - -$code = $mockMethod->generateCode(); - -print $code; -?> ---EXPECT-- - -private function bar(UnknownClass $arg) - { - $__phpunit_arguments = [$arg]; - $__phpunit_count = func_num_args(); - - if ($__phpunit_count > 1) { - $__phpunit_arguments_tmp = func_get_args(); - - for ($__phpunit_i = 1; $__phpunit_i < $__phpunit_count; $__phpunit_i++) { - $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i]; - } - } - - $__phpunit_result = $this->__phpunit_getInvocationMocker()->invoke( - new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation( - 'Foo', 'bar', $__phpunit_arguments, '', $this, false - ) - ); - - return $__phpunit_result; - } diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/with_argument_typed_variadic.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/with_argument_typed_variadic.phpt deleted file mode 100644 index 504c295..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/with_argument_typed_variadic.phpt +++ /dev/null @@ -1,45 +0,0 @@ ---TEST-- -Mock static method ---FILE-- -getMethod('bar'), - false, - false -); - -$code = $mockMethod->generateCode(); - -print $code; -?> ---EXPECT-- - -private function bar(string ...$args) - { - $__phpunit_arguments = []; - $__phpunit_count = func_num_args(); - - if ($__phpunit_count > 0) { - $__phpunit_arguments_tmp = func_get_args(); - - for ($__phpunit_i = 0; $__phpunit_i < $__phpunit_count; $__phpunit_i++) { - $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i]; - } - } - - $__phpunit_result = $this->__phpunit_getInvocationMocker()->invoke( - new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation( - 'Foo', 'bar', $__phpunit_arguments, '', $this, false - ) - ); - - return $__phpunit_result; - } diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/with_argument_variadic.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/with_argument_variadic.phpt deleted file mode 100644 index c6ed942..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/with_argument_variadic.phpt +++ /dev/null @@ -1,45 +0,0 @@ ---TEST-- -Mock static method ---FILE-- -getMethod('bar'), - false, - false -); - -$code = $mockMethod->generateCode(); - -print $code; -?> ---EXPECT-- - -private function bar(...$args) - { - $__phpunit_arguments = []; - $__phpunit_count = func_num_args(); - - if ($__phpunit_count > 0) { - $__phpunit_arguments_tmp = func_get_args(); - - for ($__phpunit_i = 0; $__phpunit_i < $__phpunit_count; $__phpunit_i++) { - $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i]; - } - } - - $__phpunit_result = $this->__phpunit_getInvocationMocker()->invoke( - new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation( - 'Foo', 'bar', $__phpunit_arguments, '', $this, false - ) - ); - - return $__phpunit_result; - } diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/with_arguments.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/with_arguments.phpt deleted file mode 100644 index ff7318f..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/with_arguments.phpt +++ /dev/null @@ -1,45 +0,0 @@ ---TEST-- -Mock static method ---FILE-- -getMethod('bar'), - false, - false -); - -$code = $mockMethod->generateCode(); - -print $code; -?> ---EXPECT-- - -private function bar($arg1, $arg2) - { - $__phpunit_arguments = [$arg1, $arg2]; - $__phpunit_count = func_num_args(); - - if ($__phpunit_count > 2) { - $__phpunit_arguments_tmp = func_get_args(); - - for ($__phpunit_i = 2; $__phpunit_i < $__phpunit_count; $__phpunit_i++) { - $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i]; - } - } - - $__phpunit_result = $this->__phpunit_getInvocationMocker()->invoke( - new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation( - 'Foo', 'bar', $__phpunit_arguments, '', $this, false - ) - ); - - return $__phpunit_result; - } diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mycommand.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mycommand.phpt deleted file mode 100644 index b8df424..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/mycommand.phpt +++ /dev/null @@ -1,24 +0,0 @@ ---TEST-- -phpunit BankAccountTest ../../_files/BankAccountTest.php ---FILE-- - ---EXPECTF-- -MyCommand::myHandler 123 -PHPUnit %s by Sebastian Bergmann and contributors. - -... 3 / 3 (100%) - -Time: %s, Memory: %s - -OK (3 tests, 3 assertions) diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/options-after-arguments.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/options-after-arguments.phpt deleted file mode 100644 index 43fd5ec..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/options-after-arguments.phpt +++ /dev/null @@ -1,18 +0,0 @@ ---TEST-- -phpunit BankAccountTest ../../_files/BankAccountTest.php --colors ---FILE-- - 0 && $argv[1] == 'help') { - print 'Help'; -} -?> ---EXPECT-- -Help diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/phpt-env.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/phpt-env.phpt deleted file mode 100644 index fc8ebb1..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/phpt-env.phpt +++ /dev/null @@ -1,12 +0,0 @@ ---TEST-- -PHPT runner should support ENV section ---ENV-- -FOO=bar ---FILE-- - ---EXPECTF_EXTERNAL-- -_files/phpt-env.expected.txt diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/phpt-external.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/phpt-external.phpt deleted file mode 100644 index c6ff50e..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/phpt-external.phpt +++ /dev/null @@ -1,6 +0,0 @@ ---TEST-- -GH-1436: PHPT runner doesn't handle external files. ---FILE_EXTERNAL-- -_files/phpt_external.php ---EXPECT_EXTERNAL-- -_files/expect_external.txt diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/phpt-parsing.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/phpt-parsing.phpt deleted file mode 100644 index 04b520a..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/phpt-parsing.phpt +++ /dev/null @@ -1,26 +0,0 @@ ---TEST-- -PHPT runner supports XFAIL section ---FILE-- - ---EXPECT-- -Hello World diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/phpt-xfail.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/phpt-xfail.phpt deleted file mode 100644 index 6b3e49f..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/phpt-xfail.phpt +++ /dev/null @@ -1,18 +0,0 @@ ---TEST-- -PHPT runner supports XFAIL section ---FILE-- - ---EXPECTF-- -PHPUnit %s by Sebastian Bergmann and contributors. - -.1. 2 / 2 (100%)2 - -Time: %s, Memory: %s - -OK (2 tests, 2 assertions) diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/1149/Issue1149Test.php b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/1149/Issue1149Test.php deleted file mode 100644 index 025124d..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/1149/Issue1149Test.php +++ /dev/null @@ -1,28 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class Issue1149Test extends TestCase -{ - public function testOne(): void - { - $this->assertTrue(true); - print '1'; - } - - /** - * @runInSeparateProcess - */ - public function testTwo(): void - { - $this->assertTrue(true); - print '2'; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/1216.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/1216.phpt deleted file mode 100644 index 89796bf..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/1216.phpt +++ /dev/null @@ -1,25 +0,0 @@ ---TEST-- -GH-1216: PHPUnit bootstrap must take globals vars even when the file is specified in command line ---FILE-- - ---EXPECTF-- -PHPUnit %s by Sebastian Bergmann and contributors. - -Test 'Issue1216Test::testConfigAvailableInBootstrap' started -Test 'Issue1216Test::testConfigAvailableInBootstrap' ended - - -Time: %s, Memory: %s - -OK (1 test, 1 assertion) diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/1216/Issue1216Test.php b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/1216/Issue1216Test.php deleted file mode 100644 index 6129635..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/1216/Issue1216Test.php +++ /dev/null @@ -1,18 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class Issue1216Test extends TestCase -{ - public function testConfigAvailableInBootstrap(): void - { - $this->assertTrue($_ENV['configAvailableInBootstrap']); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/1216/bootstrap1216.php b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/1216/bootstrap1216.php deleted file mode 100644 index 9d0eb30..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/1216/bootstrap1216.php +++ /dev/null @@ -1,10 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -$_ENV['configAvailableInBootstrap'] = isset($_ENV['loadedFromConfig']); diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/1216/phpunit1216.xml b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/1216/phpunit1216.xml deleted file mode 100644 index c1cc9bd..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/1216/phpunit1216.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - Issue1216Test.php - - - - - diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/1265.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/1265.phpt deleted file mode 100644 index 6964f5d..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/1265.phpt +++ /dev/null @@ -1,21 +0,0 @@ ---TEST-- -GH-1265: Could not use "PHPUnit\Runner\StandardTestSuiteLoader" as loader ---FILE-- - ---EXPECTF-- -PHPUnit %s by Sebastian Bergmann and contributors. - -. 1 / 1 (100%) - -Time: %s, Memory: %s - -OK (1 test, 1 assertion) diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/1265/Issue1265Test.php b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/1265/Issue1265Test.php deleted file mode 100644 index dcb43e8..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/1265/Issue1265Test.php +++ /dev/null @@ -1,18 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class Issue1265Test extends TestCase -{ - public function testTrue(): void - { - $this->assertTrue(true); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/1265/phpunit1265.xml b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/1265/phpunit1265.xml deleted file mode 100644 index 417c8e7..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/1265/phpunit1265.xml +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/1330.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/1330.phpt deleted file mode 100644 index 898f7a3..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/1330.phpt +++ /dev/null @@ -1,24 +0,0 @@ ---TEST-- -GH-1330: Allow non-ambiguous shortened longopts ---FILE-- - ---EXPECTF-- -PHPUnit %s by Sebastian Bergmann and contributors. - -Test 'Issue1330Test::testTrue' started -Test 'Issue1330Test::testTrue' ended - - -Time: %s, Memory: %s - -OK (1 test, 1 assertion) diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/1330/Issue1330Test.php b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/1330/Issue1330Test.php deleted file mode 100644 index 789238e..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/1330/Issue1330Test.php +++ /dev/null @@ -1,18 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class Issue1330Test extends TestCase -{ - public function testTrue(): void - { - $this->assertTrue(PHPUNIT_1330); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/1330/phpunit1330.xml b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/1330/phpunit1330.xml deleted file mode 100644 index a61e0cc..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/1330/phpunit1330.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/1335.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/1335.phpt deleted file mode 100644 index 1504550..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/1335.phpt +++ /dev/null @@ -1,19 +0,0 @@ ---TEST-- -https://github.com/sebastianbergmann/phpunit/issues/1335 ---FILE-- - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -/** - * @runTestsInSeparateProcesses - * @preserveGlobalState enabled - */ -class Issue1335Test extends TestCase -{ - public function testGlobalString(): void - { - $this->assertEquals('Hello', $GLOBALS['globalString']); - } - - public function testGlobalIntTruthy(): void - { - $this->assertEquals(1, $GLOBALS['globalIntTruthy']); - } - - public function testGlobalIntFalsey(): void - { - $this->assertEquals(0, $GLOBALS['globalIntFalsey']); - } - - public function testGlobalFloat(): void - { - $this->assertEquals(1.123, $GLOBALS['globalFloat']); - } - - public function testGlobalBoolTrue(): void - { - $this->assertTrue($GLOBALS['globalBoolTrue']); - } - - public function testGlobalBoolFalse(): void - { - $this->assertFalse($GLOBALS['globalBoolFalse']); - } - - public function testGlobalNull(): void - { - $this->assertEquals(null, $GLOBALS['globalNull']); - } - - public function testGlobalArray(): void - { - $this->assertEquals(['foo'], $GLOBALS['globalArray']); - } - - public function testGlobalNestedArray(): void - { - $this->assertEquals([['foo']], $GLOBALS['globalNestedArray']); - } - - public function testGlobalObject(): void - { - $this->assertEquals((object) ['foo'=> 'bar'], $GLOBALS['globalObject']); - } - - public function testGlobalObjectWithBackSlashString(): void - { - $this->assertEquals((object) ['foo'=> 'back\\slash'], $GLOBALS['globalObjectWithBackSlashString']); - } - - public function testGlobalObjectWithDoubleBackSlashString(): void - { - $this->assertEquals((object) ['foo'=> 'back\\\\slash'], $GLOBALS['globalObjectWithDoubleBackSlashString']); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/1335/bootstrap1335.php b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/1335/bootstrap1335.php deleted file mode 100644 index 51dad55..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/1335/bootstrap1335.php +++ /dev/null @@ -1,21 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -$globalString = 'Hello'; -$globalIntTruthy = 1; -$globalIntFalsey = 0; -$globalFloat = 1.123; -$globalBoolTrue = true; -$globalBoolFalse = false; -$globalNull = null; -$globalArray = ['foo']; -$globalNestedArray = [['foo']]; -$globalObject = (object) ['foo'=> 'bar']; -$globalObjectWithBackSlashString = (object) ['foo'=> 'back\\slash']; -$globalObjectWithDoubleBackSlashString = (object) ['foo'=> 'back\\\\slash']; diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/1337.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/1337.phpt deleted file mode 100644 index 4bef341..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/1337.phpt +++ /dev/null @@ -1,19 +0,0 @@ ---TEST-- -https://github.com/sebastianbergmann/phpunit/issues/1337 ---FILE-- - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class Issue1337Test extends TestCase -{ - /** - * @dataProvider dataProvider - */ - public function testProvider($a): void - { - $this->assertTrue($a); - } - - public function dataProvider() - { - return [ - 'c:\\'=> [true], - 0.9 => [true], - ]; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/1348.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/1348.phpt deleted file mode 100644 index 1d8b2a3..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/1348.phpt +++ /dev/null @@ -1,33 +0,0 @@ ---TEST-- -https://github.com/sebastianbergmann/phpunit/issues/1348 ---SKIPIF-- - ---FILE-- - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class Issue1348Test extends TestCase -{ - public function testSTDOUT(): void - { - \fwrite(\STDOUT, "\nSTDOUT does not break test result\n"); - $this->assertTrue(true); - } - - public function testSTDERR(): void - { - \fwrite(\STDERR, 'STDERR works as usual.'); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/1351.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/1351.phpt deleted file mode 100644 index 6685904..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/1351.phpt +++ /dev/null @@ -1,46 +0,0 @@ ---TEST-- -https://github.com/sebastianbergmann/phpunit/issues/1351 ---SKIPIF-- - ---FILE-- - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -class ChildProcessClass1351 -{ -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/1351/Issue1351Test.php b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/1351/Issue1351Test.php deleted file mode 100644 index a4cad5c..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/1351/Issue1351Test.php +++ /dev/null @@ -1,59 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class Issue1351Test extends TestCase -{ - protected $instance; - - /** - * @runInSeparateProcess - */ - public function testFailurePre(): void - { - $this->instance = new ChildProcessClass1351; - $this->assertFalse(true, 'Expected failure.'); - } - - public function testFailurePost(): void - { - $this->assertNull($this->instance); - $this->assertFalse(\class_exists(ChildProcessClass1351::class, false), 'ChildProcessClass1351 is not loaded.'); - } - - /** - * @runInSeparateProcess - */ - public function testExceptionPre(): void - { - $this->instance = new ChildProcessClass1351; - - try { - throw new LogicException('Expected exception.'); - } catch (LogicException $e) { - throw new RuntimeException('Expected rethrown exception.', 0, $e); - } - } - - public function testExceptionPost(): void - { - $this->assertNull($this->instance); - $this->assertFalse(\class_exists(ChildProcessClass1351::class, false), 'ChildProcessClass1351 is not loaded.'); - } - - public function testPhpCoreLanguageException(): void - { - // User-space code cannot instantiate a PDOException with a string code, - // so trigger a real one. - $connection = new PDO('sqlite::memory:'); - $connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); - $connection->query("DELETE FROM php_wtf WHERE exception_code = 'STRING'"); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/1374.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/1374.phpt deleted file mode 100644 index 73751e1..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/1374.phpt +++ /dev/null @@ -1,19 +0,0 @@ ---TEST-- -https://github.com/sebastianbergmann/phpunit/issues/1374 ---FILE-- - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -/** - * @requires extension I_DO_NOT_EXIST - */ -class Issue1374Test extends TestCase -{ - protected function setUp(): void - { - print __FUNCTION__; - } - - protected function tearDown(): void - { - print __FUNCTION__; - } - - public function testSomething(): void - { - $this->fail('This should not be reached'); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/1437.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/1437.phpt deleted file mode 100644 index b107cd0..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/1437.phpt +++ /dev/null @@ -1,26 +0,0 @@ ---TEST-- -https://github.com/sebastianbergmann/phpunit/issues/1437 ---FILE-- - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class Issue1437Test extends TestCase -{ - public function testFailure(): void - { - \ob_start(); - $this->assertTrue(false); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/1468.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/1468.phpt deleted file mode 100644 index 16e3834..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/1468.phpt +++ /dev/null @@ -1,20 +0,0 @@ ---TEST-- -https://github.com/sebastianbergmann/phpunit/issues/1468 ---FILE-- - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class Issue1468Test extends TestCase -{ - /** - * @todo Implement this test - */ - public function testFailure(): void - { - $this->markTestIncomplete(); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/1471.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/1471.phpt deleted file mode 100644 index b326361..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/1471.phpt +++ /dev/null @@ -1,26 +0,0 @@ ---TEST-- -https://github.com/sebastianbergmann/phpunit/issues/1471 ---FILE-- - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class Issue1471Test extends TestCase -{ - public function testFailure(): void - { - $this->expectOutputString('*'); - - print '*'; - - $this->assertTrue(false); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/1472.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/1472.phpt deleted file mode 100644 index e243bf7..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/1472.phpt +++ /dev/null @@ -1,18 +0,0 @@ ---TEST-- -https://github.com/sebastianbergmann/phpunit/issues/1472 ---FILE-- - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class Issue1472Test extends TestCase -{ - public function testAssertEqualXMLStructure(): void - { - $doc = new DOMDocument; - $doc->loadXML(''); - - $xpath = new DOMXPath($doc); - - $labelElement = $doc->getElementsByTagName('label')->item(0); - - $this->assertEquals(1, $xpath->evaluate('count(//label[text() = "text content"])')); - - $expectedElmt = $doc->createElement('label', 'text content'); - $this->assertEqualXMLStructure($expectedElmt, $labelElement); - - // the following assertion fails, even though it passed before - which is due to the assertEqualXMLStructure() has modified the $labelElement - $this->assertEquals(1, $xpath->evaluate('count(//label[text() = "text content"])')); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/1570.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/1570.phpt deleted file mode 100644 index 05e6107..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/1570.phpt +++ /dev/null @@ -1,27 +0,0 @@ ---TEST-- -https://github.com/sebastianbergmann/phpunit/issues/1570 ---FILE-- - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class Issue1570Test extends TestCase -{ - public function testOne(): void - { - print '*'; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2085-enforce-time-limit-options-via-config-without-invoker.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2085-enforce-time-limit-options-via-config-without-invoker.phpt deleted file mode 100644 index c6d9403..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2085-enforce-time-limit-options-via-config-without-invoker.phpt +++ /dev/null @@ -1,33 +0,0 @@ ---TEST-- -Test XML config enforceTimeLimit, defaultTimeLimit without php-invoker, with pcntl ---SKIPIF-- - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class Issue2085Test extends TestCase -{ - public function testShouldAbortSlowTestByEnforcingTimeLimit(): void - { - $this->assertTrue(true); - \sleep(1.2); - $this->assertTrue(true); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2085/configuration_enforce_time_limit_options.xml b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2085/configuration_enforce_time_limit_options.xml deleted file mode 100644 index 609ca4a..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2085/configuration_enforce_time_limit_options.xml +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2137-filter.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2137-filter.phpt deleted file mode 100644 index bb79708..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2137-filter.phpt +++ /dev/null @@ -1,28 +0,0 @@ ---TEST-- -#2137: Error message for invalid dataprovider ---FILE-- - ---EXPECTF-- -PHPUnit %s by Sebastian Bergmann and contributors. - -W 1 / 1 (100%) - -Time: %s, Memory: %s - -There was 1 warning: - -1) Warning -The data provider specified for Issue2137Test::testBrandService is invalid. -Data set #0 is invalid. - -WARNINGS! -Tests: 1, Assertions: 0, Warnings: 1. diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2137-no_filter.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2137-no_filter.phpt deleted file mode 100644 index 02105e4..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2137-no_filter.phpt +++ /dev/null @@ -1,30 +0,0 @@ ---TEST-- -#2137: Error message for invalid dataprovider ---FILE-- - ---EXPECTF-- -PHPUnit %s by Sebastian Bergmann and contributors. - -WW 2 / 2 (100%) - -Time: %s, Memory: %s - -There were 2 warnings: - -1) Warning -The data provider specified for Issue2137Test::testBrandService is invalid. -Data set #0 is invalid. - -2) Warning -The data provider specified for Issue2137Test::testSomethingElseInvalid is invalid. -Data set #0 is invalid. - -WARNINGS! -Tests: 2, Assertions: 0, Warnings: 2. diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2137/Issue2137Test.php b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2137/Issue2137Test.php deleted file mode 100644 index 617e66f..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2137/Issue2137Test.php +++ /dev/null @@ -1,43 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -class Issue2137Test extends PHPUnit\Framework\TestCase -{ - /** - * @dataProvider provideBrandService - * - * @throws Exception - * @throws \PHPUnit\Framework\ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public function testBrandService($provided, $expected): void - { - $this->assertSame($provided, $expected); - } - - public function provideBrandService() - { - return [ - //[true, true] - new stdClass, // not valid - ]; - } - - /** - * @dataProvider provideBrandService - * - * @throws Exception - * @throws \PHPUnit\Framework\ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public function testSomethingElseInvalid($provided, $expected): void - { - $this->assertSame($provided, $expected); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2145.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2145.phpt deleted file mode 100644 index 862b709..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2145.phpt +++ /dev/null @@ -1,27 +0,0 @@ ---TEST-- ---stop-on-failure fails to stop on PHP 7 ---FILE-- - ---EXPECTF-- -PHPUnit %s by Sebastian Bergmann and contributors. - -E - -Time: %s, Memory: %s - -There was 1 error: - -1) Issue2145Test::testOne -Exception in %s%eIssue2145Test.php:%d -%A -ERRORS! -Tests: 1, Assertions: 0, Errors: 1. diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2145/Issue2145Test.php b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2145/Issue2145Test.php deleted file mode 100644 index 99c9dd7..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2145/Issue2145Test.php +++ /dev/null @@ -1,24 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -class Issue2145Test extends PHPUnit\Framework\TestCase -{ - public static function setUpBeforeClass(): void - { - throw new Exception; - } - - public function testOne(): void - { - } - - public function testTwo(): void - { - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2158.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2158.phpt deleted file mode 100644 index daedfef..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2158.phpt +++ /dev/null @@ -1,19 +0,0 @@ ---TEST-- -#2158: Failure to run tests in separate processes if a file included into main process contains constant definition ---FILE-- - ---EXPECTF-- -PHPUnit %s by Sebastian Bergmann and contributors. - -.. 2 / 2 (100%) - -Time: %s, Memory: %s - -OK (2 tests, 2 assertions) diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2158/Issue2158Test.php b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2158/Issue2158Test.php deleted file mode 100644 index 5e70ba3..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2158/Issue2158Test.php +++ /dev/null @@ -1,33 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class Issue2158Test extends TestCase -{ - /** - * Set constant in main process - */ - public function testSomething(): void - { - include __DIR__ . '/constant.inc'; - $this->assertTrue(true); - } - - /** - * Constant defined previously in main process constant should be available and - * no errors should be yielded by reload of included files - * - * @runInSeparateProcess - */ - public function testSomethingElse(): void - { - $this->assertTrue(\defined('TEST_CONSTANT')); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2158/constant.inc b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2158/constant.inc deleted file mode 100644 index 4137114..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2158/constant.inc +++ /dev/null @@ -1,5 +0,0 @@ - diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2366.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2366.phpt deleted file mode 100644 index 3d8808d..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2366.phpt +++ /dev/null @@ -1,19 +0,0 @@ ---TEST-- -#2366: Using a test double from a data provider only works once ---FILE-- - ---EXPECTF-- -PHPUnit %s by Sebastian Bergmann and contributors. - -.. 2 / 2 (100%) - -Time: %s, Memory: %s - -OK (2 tests, 2 assertions) diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2366/Issue2366Test.php b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2366/Issue2366Test.php deleted file mode 100644 index a0b5f59..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2366/Issue2366Test.php +++ /dev/null @@ -1,41 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class Issue2366 -{ - public function foo(): bool - { - return false; - } -} - -class Issue2366Test extends TestCase -{ - /** - * @dataProvider provider - */ - public function testOne($o): void - { - $this->assertEquals(1, $o->foo()); - } - - public function provider() - { - $o = $this->createMock(Issue2366::class); - - $o->method('foo')->willReturn(1); - - return [ - [$o], - [$o], - ]; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2380.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2380.phpt deleted file mode 100644 index 1e6ec76..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2380.phpt +++ /dev/null @@ -1,19 +0,0 @@ ---TEST-- -#2380: Data Providers cannot be generators anymore ---FILE-- - ---EXPECTF-- -PHPUnit %s by Sebastian Bergmann and contributors. - -. 1 / 1 (100%) - -Time: %s, Memory: %s - -OK (1 test, 1 assertion) diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2380/Issue2380Test.php b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2380/Issue2380Test.php deleted file mode 100644 index 78ada8f..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2380/Issue2380Test.php +++ /dev/null @@ -1,29 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class Issue2380Test extends TestCase -{ - /** - * @dataProvider generatorData - */ - public function testGeneratorProvider($data): void - { - $this->assertNotEmpty($data); - } - - /** - * @return Generator - */ - public function generatorData() - { - yield ['testing']; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2382.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2382.phpt deleted file mode 100644 index 706926e..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2382.phpt +++ /dev/null @@ -1,19 +0,0 @@ ---TEST-- -#2382: Data Providers throw error with uncloneable object ---FILE-- - ---EXPECTF-- -PHPUnit %s by Sebastian Bergmann and contributors. - -. 1 / 1 (100%) - -Time: %s, Memory: %s - -OK (1 test, 1 assertion) diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2382/Issue2382Test.php b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2382/Issue2382Test.php deleted file mode 100644 index 9e5f6f0..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2382/Issue2382Test.php +++ /dev/null @@ -1,30 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class Issue2382Test extends TestCase -{ - /** - * @dataProvider dataProvider - */ - public function testOne($test): void - { - $this->assertInstanceOf(\Exception::class, $test); - } - - public function dataProvider() - { - return [ - [ - $this->getMockBuilder(\Exception::class)->getMock(), - ], - ]; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2435.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2435.phpt deleted file mode 100644 index a80da99..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2435.phpt +++ /dev/null @@ -1,20 +0,0 @@ ---TEST-- -GH-2435: Test empty @group annotation ---FILE-- - ---EXPECTF-- -PHPUnit %s by Sebastian Bergmann and contributors. - -. 1 / 1 (100%) - -Time: %s, Memory: %s - -OK (1 test, 1 assertion) diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2435/Issue2435Test.php b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2435/Issue2435Test.php deleted file mode 100644 index f77833d..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2435/Issue2435Test.php +++ /dev/null @@ -1,16 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -class Issue2435Test extends PHPUnit\Framework\TestCase -{ - public function testOne(): void - { - $this->assertTrue(true); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/244.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/244.phpt deleted file mode 100644 index 2b5f269..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/244.phpt +++ /dev/null @@ -1,32 +0,0 @@ ---TEST-- -GH-244: Expected Exception should support string codes ---FILE-- - ---EXPECTF-- -PHPUnit %s by Sebastian Bergmann and contributors. - -.FFF 4 / 4 (100%) - -Time: %s, Memory: %s - -There were 3 failures: - -1) Issue244Test::testFails -Failed asserting that '123StringCode' is equal to expected exception code 'OtherString'. - -2) Issue244Test::testFailsTooIfExpectationIsANumber -Failed asserting that '123StringCode' is equal to expected exception code 123. - -3) Issue244Test::testFailsTooIfExceptionCodeIsANumber -Failed asserting that 123 is equal to expected exception code '123String'. - -FAILURES! -Tests: 4, Assertions: 8, Failures: 3. diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/244/Issue244Test.php b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/244/Issue244Test.php deleted file mode 100644 index dc544b2..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/244/Issue244Test.php +++ /dev/null @@ -1,65 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class Issue244Test extends TestCase -{ - /** - * @expectedException Issue244Exception - * @expectedExceptionCode 123StringCode - */ - public function testWorks(): void - { - throw new Issue244Exception; - } - - /** - * @expectedException Issue244Exception - * @expectedExceptionCode OtherString - */ - public function testFails(): void - { - throw new Issue244Exception; - } - - /** - * @expectedException Issue244Exception - * @expectedExceptionCode 123 - */ - public function testFailsTooIfExpectationIsANumber(): void - { - throw new Issue244Exception; - } - - /** - * @expectedException Issue244ExceptionIntCode - * @expectedExceptionCode 123String - */ - public function testFailsTooIfExceptionCodeIsANumber(): void - { - throw new Issue244ExceptionIntCode; - } -} - -class Issue244Exception extends Exception -{ - public function __construct() - { - $this->code = '123StringCode'; - } -} - -class Issue244ExceptionIntCode extends Exception -{ - public function __construct() - { - $this->code = 123; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2448-existing-test.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2448-existing-test.phpt deleted file mode 100644 index 296be15..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2448-existing-test.phpt +++ /dev/null @@ -1,21 +0,0 @@ ---TEST-- -#2448: Weird error when trying to run `Test` from `Test.php` but `Test.php` does not exist ---FILE-- - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -class Test extends PHPUnit\Framework\TestCase -{ - public function testOne(): void - { - $this->assertTrue(true); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2724-diff-pid-from-master-process.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2724-diff-pid-from-master-process.phpt deleted file mode 100644 index 4522e3d..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2724-diff-pid-from-master-process.phpt +++ /dev/null @@ -1,22 +0,0 @@ ---TEST-- -GH-2724: Missing initialization of setRunClassInSeparateProcess() for tests without data providers ---FILE-- - ---EXPECTF-- -PHPUnit %s by Sebastian Bergmann and contributors. - -. 1 / 1 (100%) - -Time: %s, Memory: %s - -OK (1 test, 3 assertions) diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2724/SeparateClassRunMethodInNewProcessTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2724/SeparateClassRunMethodInNewProcessTest.php deleted file mode 100644 index 472c76a..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2724/SeparateClassRunMethodInNewProcessTest.php +++ /dev/null @@ -1,53 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * @runClassInSeparateProcess - */ -class SeparateClassRunMethodInNewProcessTest extends PHPUnit\Framework\TestCase -{ - public const PROCESS_ID_FILE_PATH = __DIR__ . '/parent_process_id.txt'; - - public const INITIAL_MASTER_PID = 0; - - public const INITIAL_PID1 = 1; - - public static $masterPid = self::INITIAL_MASTER_PID; - - public static $pid1 = self::INITIAL_PID1; - - public static function setUpBeforeClass(): void - { - parent::setUpBeforeClass(); - - if (\file_exists(self::PROCESS_ID_FILE_PATH)) { - static::$masterPid = (int) \file_get_contents(self::PROCESS_ID_FILE_PATH); - } - } - - public static function tearDownAfterClass(): void - { - parent::tearDownAfterClass(); - - if (\file_exists(self::PROCESS_ID_FILE_PATH)) { - \unlink(self::PROCESS_ID_FILE_PATH); - } - } - - public function testMethodShouldGetDifferentPidThanMaster(): void - { - static::$pid1 = \getmypid(); - - $this->assertNotEquals(self::INITIAL_PID1, static::$pid1); - $this->assertNotEquals(self::INITIAL_MASTER_PID, static::$masterPid); - - $this->assertNotEquals(static::$pid1, static::$masterPid); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2725-separate-class-before-after-pid.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2725-separate-class-before-after-pid.phpt deleted file mode 100644 index 28fcee8..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2725-separate-class-before-after-pid.phpt +++ /dev/null @@ -1,18 +0,0 @@ ---TEST-- -GH-2725: Verify that @runClassInSeparateProcess runs @beforeclass and @afterclass methods in the same process as test methods. ---FILE-- - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace Issue2725; - -use PHPUnit\Framework\TestCase; - -/** - * @runClassInSeparateProcess - */ -class BeforeAfterClassPidTest extends TestCase -{ - public const PID_VARIABLE = 'current_pid'; - - /** - * @beforeClass - */ - public static function showPidBefore(): void - { - $GLOBALS[static::PID_VARIABLE] = \getmypid(); - } - - /** - * @afterClass - */ - public static function showPidAfter(): void - { - if ($GLOBALS[static::PID_VARIABLE] - \getmypid() !== 0) { - print "\n@afterClass output - PID difference should be zero!"; - } - - unset($GLOBALS[static::PID_VARIABLE]); - } - - public function testMethod1WithItsBeforeAndAfter(): void - { - $this->assertEquals($GLOBALS[static::PID_VARIABLE], \getmypid()); - } - - public function testMethod2WithItsBeforeAndAfter(): void - { - $this->assertEquals($GLOBALS[static::PID_VARIABLE], \getmypid()); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2731.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2731.phpt deleted file mode 100644 index 1b5e130..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2731.phpt +++ /dev/null @@ -1,26 +0,0 @@ ---TEST-- -GH-2731: Empty exception message cannot be expected ---FILE-- - ---EXPECTF-- -PHPUnit %s by Sebastian Bergmann and contributors. - -F 1 / 1 (100%) - -Time: %s, Memory: %s - -There was 1 failure: - -1) Issue2731Test::testOne -Failed asserting that exception message is empty but is 'message'. - -FAILURES! -Tests: 1, Assertions: 2, Failures: 1. diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2731/Issue2731Test.php b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2731/Issue2731Test.php deleted file mode 100644 index b2530db..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2731/Issue2731Test.php +++ /dev/null @@ -1,19 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -class Issue2731Test extends PHPUnit\Framework\TestCase -{ - public function testOne(): void - { - $this->expectException(Exception::class); - $this->expectExceptionMessage(''); - - throw new Exception('message'); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2811.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2811.phpt deleted file mode 100644 index bb7afe0..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2811.phpt +++ /dev/null @@ -1,20 +0,0 @@ ---TEST-- -GH-2811: expectExceptionMessage() does not work without expectException() ---FILE-- - ---EXPECTF-- -PHPUnit %s by Sebastian Bergmann and contributors. - -. 1 / 1 (100%) - -Time: %s, Memory: %s - -OK (1 test, 1 assertion) diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2811/Issue2811Test.php b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2811/Issue2811Test.php deleted file mode 100644 index 340c688..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2811/Issue2811Test.php +++ /dev/null @@ -1,18 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -class Issue2811Test extends PHPUnit\Framework\TestCase -{ - public function testOne(): void - { - $this->expectExceptionMessage('hello'); - - throw new \Exception('hello'); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2830.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2830.phpt deleted file mode 100644 index 9bee2aa..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2830.phpt +++ /dev/null @@ -1,20 +0,0 @@ ---TEST-- -GH-2830: @runClassInSeparateProcess fails for tests with a @dataProvider ---FILE-- - ---EXPECTF-- -PHPUnit %s by Sebastian Bergmann and contributors. - -. 1 / 1 (100%) - -Time: %s, Memory: %s - -OK (1 test, 1 assertion) diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2830/Issue2830Test.php b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2830/Issue2830Test.php deleted file mode 100644 index bcf7c6a..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2830/Issue2830Test.php +++ /dev/null @@ -1,27 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -class Issue2830Test extends PHPUnit\Framework\TestCase -{ - /** - * @dataProvider simpleDataProvider - */ - public function testMethodUsesDataProvider(): void - { - $this->assertTrue(true); - } - - public function simpleDataProvider() - { - return [ - ['foo'], - ]; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2972.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2972.phpt deleted file mode 100644 index 04d15ae..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2972.phpt +++ /dev/null @@ -1,18 +0,0 @@ ---TEST-- -GH-2972: Test suite shouldn't fail when it contains both *.phpt files and unconventionally named tests ---FILE-- - ---EXPECTF-- -PHPUnit %s by Sebastian Bergmann and contributors. - -.. 2 / 2 (100%) - -Time: %s, Memory: %s - -OK (2 tests, 2 assertions) diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2972/issue-2972-test.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2972/issue-2972-test.phpt deleted file mode 100644 index 2d7dd75..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2972/issue-2972-test.phpt +++ /dev/null @@ -1,10 +0,0 @@ ---TEST-- -Just a sample test for issue 2972, does not actually test anything ---FILE-- - -===DONE=== ---EXPECT-- -Hello world -===DONE=== diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2972/unconventiallyNamedIssue2972Test.php b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2972/unconventiallyNamedIssue2972Test.php deleted file mode 100644 index e978491..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2972/unconventiallyNamedIssue2972Test.php +++ /dev/null @@ -1,20 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace Issue2972; - -use PHPUnit\Framework\TestCase; - -class Issue2972Test extends TestCase -{ - public function testHello(): void - { - $this->assertNotEmpty('Hello world!'); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/3093/Issue3093Test.php b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/3093/Issue3093Test.php deleted file mode 100644 index 2fc50fd..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/3093/Issue3093Test.php +++ /dev/null @@ -1,30 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -class Issue3093Test extends \PHPUnit\Framework\TestCase -{ - public function someDataProvider(): array - { - return [['some values']]; - } - - public function testFirstWithoutDependencies(): void - { - self::assertTrue(true); - } - - /** - * @depends testFirstWithoutDependencies - * @dataProvider someDataProvider - */ - public function testSecondThatDependsOnFirstAndDataprovider($value) - { - self::assertTrue(true); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/3093/issue-3093-test.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/3093/issue-3093-test.phpt deleted file mode 100644 index f28f5c0..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/3093/issue-3093-test.phpt +++ /dev/null @@ -1,19 +0,0 @@ ---TEST-- -https://github.com/sebastianbergmann/phpunit/issues/3093 ---FILE-- - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace Issue3107; - -use PHPUnit\Framework\TestCase; - -class Issue3107Test extends TestCase -{ - public static function setUpBeforeClass(): void - { - does_not_exist(); - } - - public function testOne(): void - { - $this->assertTrue(true); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/3107/issue-3107-test.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/3107/issue-3107-test.phpt deleted file mode 100644 index 6fba405..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/3107/issue-3107-test.phpt +++ /dev/null @@ -1,27 +0,0 @@ ---TEST-- -https://github.com/sebastianbergmann/phpunit/issues/3107 ---FILE-- - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace Test; - -use PHPUnit\Framework\TestCase; -use stdClass; - -class Issue3156Test extends TestCase -{ - public function testConstants(): stdClass - { - $this->assertStringEndsWith('/', '/'); - - return new stdClass; - } - - public function dataSelectOperatorsProvider(): array - { - return [ - ['1'], - ['2'], - ]; - } - - /** - * @depends testConstants - * @dataProvider dataSelectOperatorsProvider - */ - public function testDependsRequire(string $val, stdClass $obj): void - { - $this->assertStringEndsWith('/', '/'); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/322.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/322.phpt deleted file mode 100644 index 9c76146..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/322.phpt +++ /dev/null @@ -1,27 +0,0 @@ ---TEST-- -GH-322: group commandline option should override group/exclude setting in phpunit.xml ---FILE-- - ---EXPECTF-- -PHPUnit %s by Sebastian Bergmann and contributors. - -Test 'Issue322Test::testOne' started -Test 'Issue322Test::testOne' ended - - -Time: %s, Memory: %s - -OK (1 test, 1 assertion) - diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/322/Issue322Test.php b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/322/Issue322Test.php deleted file mode 100644 index df698c7..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/322/Issue322Test.php +++ /dev/null @@ -1,29 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class Issue322Test extends TestCase -{ - /** - * @group one - */ - public function testOne(): void - { - $this->assertTrue(true); - } - - /** - * @group two - */ - public function testTwo(): void - { - $this->assertTrue(true); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/322/phpunit322.xml b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/322/phpunit322.xml deleted file mode 100644 index e3b2948..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/322/phpunit322.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - Test.php - - - - - one - - - diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/3364/issue-3364-test.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/3364/issue-3364-test.phpt deleted file mode 100644 index 89881ee..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/3364/issue-3364-test.phpt +++ /dev/null @@ -1,58 +0,0 @@ ---TEST-- -https://github.com/sebastianbergmann/phpunit/issues/3364 ---FILE-- - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -use PHPUnit\Framework\TestCase; - -class Issue3364SetupBeforeClassTest extends TestCase -{ - public static function setUpBeforeClass(): void - { - throw new \RuntimeException('throw exception in setUpBeforeClass'); - } - - public function testOneWithClassSetupException(): void - { - $this->fail(); - } - - public function testTwoWithClassSetupException(): void - { - $this->fail(); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/3364/tests/Issue3364SetupTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/3364/tests/Issue3364SetupTest.php deleted file mode 100644 index da89f44..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/3364/tests/Issue3364SetupTest.php +++ /dev/null @@ -1,30 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -use PHPUnit\Framework\TestCase; - -class Issue3364SetupTest extends TestCase -{ - public function setUp(): void - { - throw new \RuntimeException('throw exception in setUp'); - } - - public function testOneWithSetupException(): void - { - $this->fail(); - } - - public function testTwoWithSetupException(): void - { - $this->fail(); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/3379.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/3379.phpt deleted file mode 100644 index 6808142..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/3379.phpt +++ /dev/null @@ -1,20 +0,0 @@ ---TEST-- -GH-3379: Dependent test of skipped test has status -1 ---FILE-- - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace Test; - -use PHPUnit\Framework\TestCase; - -class Issue3379Test extends TestCase -{ - public function testOne(): void - { - $this->markTestSkipped(); - } - - /** - * @depends testOne - */ - public function testTwo(): void - { - $this->assertTrue(true); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/3379/Issue3379TestListener.php b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/3379/Issue3379TestListener.php deleted file mode 100644 index b4206de..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/3379/Issue3379TestListener.php +++ /dev/null @@ -1,26 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -use PHPUnit\Framework\Test; -use PHPUnit\Framework\TestCase; -use PHPUnit\Framework\TestListener; -use PHPUnit\Framework\TestListenerDefaultImplementation; - -class Issue3379TestListener implements TestListener -{ - use TestListenerDefaultImplementation; - - public function addSkippedTest(Test $test, \Throwable $t, float $time): void - { - if ($test instanceof TestCase) { - print 'Skipped test ' . $test->getName() . ', status: ' . $test->getStatus() . \PHP_EOL; - } - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/3379/phpunit.xml b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/3379/phpunit.xml deleted file mode 100644 index c5fdce9..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/3379/phpunit.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - . - - - - - - - diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/3380/issue-3380-test.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/3380/issue-3380-test.phpt deleted file mode 100644 index 0aca1c4..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/3380/issue-3380-test.phpt +++ /dev/null @@ -1,63 +0,0 @@ ---TEST-- -https://github.com/sebastianbergmann/phpunit/issues/3380 ---FILE-- - ---EXPECTF-- -PHPUnit %s by Sebastian Bergmann and contributors. - -..F 3 / 3 (100%) - -Time: %s, Memory: %s - -There was 1 failure: - -1) Issue433Test::testNotMatchingOutput -Failed asserting that two strings are equal. ---- Expected -+++ Actual -@@ @@ --'foo' -+'bar' - -FAILURES! -Tests: 3, Assertions: 3, Failures: 1. diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/433/Issue433Test.php b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/433/Issue433Test.php deleted file mode 100644 index 799b7a7..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/433/Issue433Test.php +++ /dev/null @@ -1,31 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class Issue433Test extends TestCase -{ - public function testOutputWithExpectationBefore(): void - { - $this->expectOutputString('test'); - print 'test'; - } - - public function testOutputWithExpectationAfter(): void - { - print 'test'; - $this->expectOutputString('test'); - } - - public function testNotMatchingOutput(): void - { - print 'bar'; - $this->expectOutputString('foo'); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/445.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/445.phpt deleted file mode 100644 index 9ad1b44..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/445.phpt +++ /dev/null @@ -1,32 +0,0 @@ ---TEST-- -GH-455: expectOutputString not working in strict mode ---FILE-- - ---EXPECTF-- -PHPUnit %s by Sebastian Bergmann and contributors. - -..F 3 / 3 (100%) - -Time: %s, Memory: %s - -There was 1 failure: - -1) Issue445Test::testNotMatchingOutput -Failed asserting that two strings are equal. ---- Expected -+++ Actual -@@ @@ --'foo' -+'bar' - -FAILURES! -Tests: 3, Assertions: 3, Failures: 1. diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/445/Issue445Test.php b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/445/Issue445Test.php deleted file mode 100644 index a506939..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/445/Issue445Test.php +++ /dev/null @@ -1,31 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class Issue445Test extends TestCase -{ - public function testOutputWithExpectationBefore(): void - { - $this->expectOutputString('test'); - print 'test'; - } - - public function testOutputWithExpectationAfter(): void - { - print 'test'; - $this->expectOutputString('test'); - } - - public function testNotMatchingOutput(): void - { - print 'bar'; - $this->expectOutputString('foo'); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/498.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/498.phpt deleted file mode 100644 index 84d70f7..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/498.phpt +++ /dev/null @@ -1,29 +0,0 @@ ---TEST-- -GH-498: The test methods won't be run if a dataProvider throws Exception and --group is added in command line ---FILE-- - ---EXPECTF-- -PHPUnit %s by Sebastian Bergmann and contributors. - -W 1 / 1 (100%) - -Time: %s, Memory: %s - -There was 1 warning: - -1) Warning -The data provider specified for Issue498Test::shouldBeFalse is invalid. -Can't create the data - -WARNINGS! -Tests: 1, Assertions: 0, Warnings: 1. diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/498/Issue498Test.php b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/498/Issue498Test.php deleted file mode 100644 index e6e4194..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/498/Issue498Test.php +++ /dev/null @@ -1,53 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class Issue498Test extends TestCase -{ - /** - * @test - * @dataProvider shouldBeTrueDataProvider - * @group falseOnly - */ - public function shouldBeTrue($testData): void - { - $this->assertTrue(true); - } - - /** - * @test - * @dataProvider shouldBeFalseDataProvider - * @group trueOnly - */ - public function shouldBeFalse($testData): void - { - $this->assertFalse(false); - } - - public function shouldBeTrueDataProvider() - { - - //throw new Exception("Can't create the data"); - return [ - [true], - [false], - ]; - } - - public function shouldBeFalseDataProvider() - { - throw new Exception("Can't create the data"); - - return [ - [true], - [false], - ]; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/503.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/503.phpt deleted file mode 100644 index 07e9341..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/503.phpt +++ /dev/null @@ -1,35 +0,0 @@ ---TEST-- -GH-503: assertEquals() Line Ending Differences Are Obscure ---FILE-- - ---EXPECTF-- -PHPUnit %s by Sebastian Bergmann and contributors. - -F 1 / 1 (100%) - -Time: %s, Memory: %s - -There was 1 failure: - -1) Issue503Test::testCompareDifferentLineEndings -Failed asserting that two strings are identical. ---- Expected -+++ Actual -@@ @@ - #Warning: Strings contain different line endings! --'foo -+'foo - ' - -%s:%i - -FAILURES! -Tests: 1, Assertions: 1, Failures: 1. diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/503/Issue503Test.php b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/503/Issue503Test.php deleted file mode 100644 index 0b26c32..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/503/Issue503Test.php +++ /dev/null @@ -1,21 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class Issue503Test extends TestCase -{ - public function testCompareDifferentLineEndings(): void - { - $this->assertSame( - "foo\n", - "foo\r\n" - ); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/581.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/581.phpt deleted file mode 100644 index a577c50..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/581.phpt +++ /dev/null @@ -1,40 +0,0 @@ ---TEST-- -GH-581: PHPUnit_Util_Type::export adds extra newlines in Windows ---FILE-- - ---EXPECTF-- -PHPUnit %s by Sebastian Bergmann and contributors. - -F 1 / 1 (100%) - -Time: %s, Memory: %s - -There was 1 failure: - -1) Issue581Test::testExportingObjectsDoesNotBreakWindowsLineFeeds -Failed asserting that two objects are equal. ---- Expected -+++ Actual -@@ @@ - 1 => 2 - 2 => 'Test\r\n' - 3 => 4 -- 4 => 5 -+ 4 => 1 - 5 => 6 - 6 => 7 - 7 => 8 - ) - -%s:%i - -FAILURES! -Tests: 1, Assertions: 1, Failures: 1. diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/581/Issue581Test.php b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/581/Issue581Test.php deleted file mode 100644 index 6de4867..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/581/Issue581Test.php +++ /dev/null @@ -1,21 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class Issue581Test extends TestCase -{ - public function testExportingObjectsDoesNotBreakWindowsLineFeeds(): void - { - $this->assertEquals( - (object) [1, 2, "Test\r\n", 4, 5, 6, 7, 8], - (object) [1, 2, "Test\r\n", 4, 1, 6, 7, 8] - ); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/74.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/74.phpt deleted file mode 100644 index 920c740..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/74.phpt +++ /dev/null @@ -1,28 +0,0 @@ ---TEST-- -GH-74: catchable fatal error in 3.5 ---FILE-- - ---EXPECTF-- -PHPUnit %s by Sebastian Bergmann and contributors. - -E 1 / 1 (100%) - -Time: %s, Memory: %s - -There was 1 error: - -1) Issue74Test::testCreateAndThrowNewExceptionInProcessIsolation -NewException: Testing GH-74 - -%sIssue74Test.php:%d - -ERRORS! -Tests: 1, Assertions: 0, Errors: 1. diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/74/Issue74Test.php b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/74/Issue74Test.php deleted file mode 100644 index a20fddf..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/74/Issue74Test.php +++ /dev/null @@ -1,20 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class Issue74Test extends TestCase -{ - public function testCreateAndThrowNewExceptionInProcessIsolation(): void - { - require_once __DIR__ . '/NewException.php'; - - throw new NewException('Testing GH-74'); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/74/NewException.php b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/74/NewException.php deleted file mode 100644 index 61dd361..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/74/NewException.php +++ /dev/null @@ -1,12 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -class NewException extends Exception -{ -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/765.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/765.phpt deleted file mode 100644 index dc58e7d..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/765.phpt +++ /dev/null @@ -1,26 +0,0 @@ ---TEST-- -GH-765: Fatal error triggered in PHPUnit when exception is thrown in data provider of a test with a dependency ---FILE-- - ---EXPECTF-- -PHPUnit %s by Sebastian Bergmann and contributors. - -.W 2 / 2 (100%) - -Time: %s, Memory: %s - -There was 1 warning: - -1) Warning -The data provider specified for Issue765Test::testDependent is invalid. - -WARNINGS! -Tests: 2, Assertions: 1, Warnings: 1. diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/765/Issue765Test.php b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/765/Issue765Test.php deleted file mode 100644 index 0a487e2..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/765/Issue765Test.php +++ /dev/null @@ -1,32 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class Issue765Test extends TestCase -{ - public function testDependee(): void - { - $this->assertTrue(true); - } - - /** - * @depends testDependee - * @dataProvider dependentProvider - */ - public function testDependent($a): void - { - $this->assertTrue(true); - } - - public function dependentProvider(): void - { - throw new Exception; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/797.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/797.phpt deleted file mode 100644 index 6ee4430..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/797.phpt +++ /dev/null @@ -1,22 +0,0 @@ ---TEST-- -GH-797: Disabled $preserveGlobalState does not load bootstrap.php. ---FILE-- - ---EXPECTF-- -PHPUnit %s by Sebastian Bergmann and contributors. - -. 1 / 1 (100%) - -Time: %s, Memory: %s - -OK (1 test, 1 assertion) diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/797/Issue797Test.php b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/797/Issue797Test.php deleted file mode 100644 index f142496..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/797/Issue797Test.php +++ /dev/null @@ -1,20 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class Issue797Test extends TestCase -{ - protected $preserveGlobalState = false; - - public function testBootstrapPhpIsExecutedInIsolation(): void - { - $this->assertEquals(GITHUB_ISSUE, 797); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/797/bootstrap797.php b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/797/bootstrap797.php deleted file mode 100644 index 90a3eea..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/797/bootstrap797.php +++ /dev/null @@ -1,13 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -// PHPUnit_Framework_TestCase itself does not exist. :-) -require __DIR__ . '/../../../../bootstrap.php'; - -const GITHUB_ISSUE = 797; diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/863.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/863.phpt deleted file mode 100644 index 465743e..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/863.phpt +++ /dev/null @@ -1,24 +0,0 @@ ---TEST-- -GH-863: Number of tests to run calculated incorrectly when --repeat is used ---FILE-- - ---EXPECTF-- -PHPUnit %s by Sebastian Bergmann and contributors. - -............................................................... 63 / 150 ( 42%) -............................................................... 126 / 150 ( 84%) -........................ 150 / 150 (100%) - -Time: %s, Memory: %s - -OK (150 tests, 150 assertions) diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/873.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/873.phpt deleted file mode 100644 index bd1a606..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/873.phpt +++ /dev/null @@ -1,21 +0,0 @@ ---TEST-- -GH-873: PHPUnit suppresses exceptions thrown outside of test case function ---SKIPIF-- - ---FILE-- - ---EXPECTF-- -%AException: PHPUnit suppresses exceptions thrown outside of test case function in %s:%i -Stack trace: -%a diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/873/Issue873Test.php b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/873/Issue873Test.php deleted file mode 100644 index 5a61138..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/873/Issue873Test.php +++ /dev/null @@ -1,16 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -if (\extension_loaded('xdebug')) { - \xdebug_disable(); -} - - throw new Exception( - 'PHPUnit suppresses exceptions thrown outside of test case function' - ); diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/Trac/1021.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/Trac/1021.phpt deleted file mode 100644 index 19029b8..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/Trac/1021.phpt +++ /dev/null @@ -1,19 +0,0 @@ ---TEST-- -#1021: Depending on a test that uses a data provider does not work ---FILE-- - ---EXPECTF-- -PHPUnit %s by Sebastian Bergmann and contributors. - -.. 2 / 2 (100%) - -Time: %s, Memory: %s - -OK (2 tests, 2 assertions) diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/Trac/1021/Issue1021Test.php b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/Trac/1021/Issue1021Test.php deleted file mode 100644 index cf11f16..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/Trac/1021/Issue1021Test.php +++ /dev/null @@ -1,34 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class Issue1021Test extends TestCase -{ - /** - * @dataProvider provider - */ - public function testSomething($data): void - { - $this->assertTrue($data); - } - - /** - * @depends testSomething - */ - public function testSomethingElse(): void - { - $this->assertTrue(true); - } - - public function provider() - { - return [[true]]; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/Trac/523.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/Trac/523.phpt deleted file mode 100644 index 8418429..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/Trac/523.phpt +++ /dev/null @@ -1,19 +0,0 @@ ---TEST-- -#523: assertAttributeEquals does not work with classes extending ArrayIterator ---FILE-- - ---EXPECTF-- -PHPUnit %s by Sebastian Bergmann and contributors. - -. 1 / 1 (100%) - -Time: %s, Memory: %s - -OK (1 test, 1 assertion) diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/Trac/523/Issue523Test.php b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/Trac/523/Issue523Test.php deleted file mode 100644 index dec9256..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/Trac/523/Issue523Test.php +++ /dev/null @@ -1,23 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class Issue523Test extends TestCase -{ - public function testAttributeEquals(): void - { - $this->assertAttributeEquals('foo', 'field', new Issue523); - } -} - -class Issue523 extends ArrayIterator -{ - protected $field = 'foo'; -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/Trac/578.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/Trac/578.phpt deleted file mode 100644 index 165d539..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/Trac/578.phpt +++ /dev/null @@ -1,37 +0,0 @@ ---TEST-- -#578: Double printing of trace line for exceptions from notices and warnings ---FILE-- - ---EXPECTF-- -PHPUnit %s by Sebastian Bergmann and contributors. - -EEE 3 / 3 (100%) - -Time: %s, Memory: %s - -There were 3 errors: - -1) Issue578Test::testNoticesDoublePrintStackTrace -Invalid error type specified - -%sIssue578Test.php:%i - -2) Issue578Test::testWarningsDoublePrintStackTrace -Invalid error type specified - -%sIssue578Test.php:%i - -3) Issue578Test::testUnexpectedExceptionsPrintsCorrectly -Exception: Double printed exception - -%sIssue578Test.php:%i - -ERRORS! -Tests: 3, Assertions: 0, Errors: 3. diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/Trac/578/Issue578Test.php b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/Trac/578/Issue578Test.php deleted file mode 100644 index b7cde2c..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/Trac/578/Issue578Test.php +++ /dev/null @@ -1,30 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class Issue578Test extends TestCase -{ - public function testNoticesDoublePrintStackTrace(): void - { - $this->iniSet('error_reporting', \E_ALL | \E_NOTICE); - \trigger_error('Stack Trace Test Notice', \E_NOTICE); - } - - public function testWarningsDoublePrintStackTrace(): void - { - $this->iniSet('error_reporting', \E_ALL | \E_NOTICE); - \trigger_error('Stack Trace Test Notice', \E_WARNING); - } - - public function testUnexpectedExceptionsPrintsCorrectly(): void - { - throw new Exception('Double printed exception'); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/Trac/684.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/Trac/684.phpt deleted file mode 100644 index ec16889..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/Trac/684.phpt +++ /dev/null @@ -1,25 +0,0 @@ ---TEST-- -#684: Unable to find test class when no test methods exists ---FILE-- - ---EXPECTF-- -PHPUnit %s by Sebastian Bergmann and contributors. - -W 1 / 1 (100%) - -Time: %s, Memory: %s - -There was 1 warning: - -1) Warning -No tests found in class "Foo_Bar_Issue684Test". - -WARNINGS! -Tests: 1, Assertions: 0, Warnings: 1. diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/Trac/684/Issue684Test.php b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/Trac/684/Issue684Test.php deleted file mode 100644 index 4e14dbb..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/Trac/684/Issue684Test.php +++ /dev/null @@ -1,14 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -class Foo_Bar_Issue684Test extends TestCase -{ -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/Trac/783.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/Trac/783.phpt deleted file mode 100644 index d1a40b7..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/Trac/783.phpt +++ /dev/null @@ -1,21 +0,0 @@ ---TEST-- -#783: Tests getting executed twice when using multiple groups ---FILE-- - ---EXPECTF-- -PHPUnit %s by Sebastian Bergmann and contributors. - -.. 2 / 2 (100%) - -Time: %s, Memory: %s - -OK (2 tests, 2 assertions) diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/Trac/783/ChildSuite.php b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/Trac/783/ChildSuite.php deleted file mode 100644 index 6b64bda..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/Trac/783/ChildSuite.php +++ /dev/null @@ -1,26 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestSuite; - -require_once 'OneTest.php'; - -require_once 'TwoTest.php'; - -class ChildSuite -{ - public static function suite() - { - $suite = new TestSuite('Child'); - $suite->addTestSuite(OneTest::class); - $suite->addTestSuite(TwoTest::class); - - return $suite; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/Trac/783/OneTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/Trac/783/OneTest.php deleted file mode 100644 index 7e49161..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/Trac/783/OneTest.php +++ /dev/null @@ -1,21 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -/** - * @group foo - */ -class OneTest extends TestCase -{ - public function testSomething(): void - { - $this->assertTrue(true); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/Trac/783/ParentSuite.php b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/Trac/783/ParentSuite.php deleted file mode 100644 index 9803380..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/Trac/783/ParentSuite.php +++ /dev/null @@ -1,23 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestSuite; - -require_once 'ChildSuite.php'; - -class ParentSuite -{ - public static function suite() - { - $suite = new TestSuite('Parent'); - $suite->addTest(ChildSuite::suite()); - - return $suite; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/Trac/783/TwoTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/Trac/783/TwoTest.php deleted file mode 100644 index dada5bb..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/regression/Trac/783/TwoTest.php +++ /dev/null @@ -1,21 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; - -/** - * @group bar - */ -class TwoTest extends TestCase -{ - public function testSomething(): void - { - $this->assertTrue(true); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/repeat.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/repeat.phpt deleted file mode 100644 index 6ff980d..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/repeat.phpt +++ /dev/null @@ -1,20 +0,0 @@ ---TEST-- -phpunit --repeat 3 BankAccountTest ../../_files/BankAccountTest.php ---FILE-- - 1|n+ 0 => 2|n )|n' details=' %s_files%eExceptionStackTest.php:%d|n |n Caused by|n message|n Failed asserting that two arrays are equal.|n --- Expected|n +++ Actual|n @@ @@|n Array (|n - 0 => 1|n + 0 => 2|n )|n |n %s_files%eExceptionStackTest.php:%d|n ' duration='%d' flowId='%d'] - -##teamcity[testFinished name='testPrintingChildException' duration='%d' flowId='%d'] - -##teamcity[testStarted name='testNestedExceptions' locationHint='php_qn://%s%etests%e_files%eExceptionStackTest.php::\ExceptionStackTest::testNestedExceptions' flowId='%d'] - -##teamcity[testFailed name='testNestedExceptions' message='Exception : One' details=' %s%etests%e_files%eExceptionStackTest.php:%d|n |n Caused by|n InvalidArgumentException: Two|n |n %s%etests%e_files%eExceptionStackTest.php:%d|n |n Caused by|n Exception: Three|n |n %s%etests%e_files%eExceptionStackTest.php:%d|n ' duration='%d' flowId='%d'] - -##teamcity[testFinished name='testNestedExceptions' duration='%d' flowId='%d'] - -##teamcity[testSuiteFinished name='ExceptionStackTest' flowId='%d'] - - -Time: %s, Memory: %s - - -ERRORS! -Tests: 2, Assertions: 1, Errors: 2. diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/teamcity.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/teamcity.phpt deleted file mode 100644 index 81b0ea7..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/teamcity.phpt +++ /dev/null @@ -1,37 +0,0 @@ ---TEST-- -phpunit --teamcity BankAccountTest ../../_files/BankAccountTest.php ---FILE-- - ---EXPECTF-- -PHPUnit %s by Sebastian Bergmann and contributors. - -Random seed: 54321 - -Test 'MultiDependencyTest::testTwo' started -Test 'MultiDependencyTest::testTwo' ended -Test 'MultiDependencyTest::testFive' started -Test 'MultiDependencyTest::testFive' ended -Test 'MultiDependencyTest::testOne' started -Test 'MultiDependencyTest::testOne' ended -Test 'MultiDependencyTest::testThree' started -Test 'MultiDependencyTest::testThree' ended -Test 'MultiDependencyTest::testFour' started -Test 'MultiDependencyTest::testFour' ended - - -Time: %s, Memory: %s - -OK (5 tests, 6 assertions) diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/test-order-randomized-with-dependency-resolution.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/test-order-randomized-with-dependency-resolution.phpt deleted file mode 100644 index c3c0292..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/test-order-randomized-with-dependency-resolution.phpt +++ /dev/null @@ -1,25 +0,0 @@ ---TEST-- -phpunit --order-by=random --resolve-dependencies ../_files/MultiDependencyTest.php ---FILE-- - ---EXPECTF-- -PHPUnit %s by Sebastian Bergmann and contributors. - -Runtime: %s -Random seed: %d - -..... 5 / 5 (100%) - -Time: %s, Memory: %s - -OK (5 tests, 6 assertions) diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/test-order-reversed-with-dependency-resolution.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/test-order-reversed-with-dependency-resolution.phpt deleted file mode 100644 index d3f858c..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/test-order-reversed-with-dependency-resolution.phpt +++ /dev/null @@ -1,35 +0,0 @@ ---TEST-- -phpunit --verbose --order-by=reverse ../_files/DependencySuccessTest.php ---FILE-- - ---EXPECTF-- -PHPUnit %s by Sebastian Bergmann and contributors. - -Runtime: %s - -Test 'MultiDependencyTest::testFive' started -Test 'MultiDependencyTest::testFive' ended -Test 'MultiDependencyTest::testTwo' started -Test 'MultiDependencyTest::testTwo' ended -Test 'MultiDependencyTest::testOne' started -Test 'MultiDependencyTest::testOne' ended -Test 'MultiDependencyTest::testThree' started -Test 'MultiDependencyTest::testThree' ended -Test 'MultiDependencyTest::testFour' started -Test 'MultiDependencyTest::testFour' ended - - -Time: %s, Memory: %s - -OK (5 tests, 6 assertions) diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/test-order-reversed-without-dependency-resolution.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/test-order-reversed-without-dependency-resolution.phpt deleted file mode 100644 index d754595..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/test-order-reversed-without-dependency-resolution.phpt +++ /dev/null @@ -1,44 +0,0 @@ ---TEST-- -phpunit --reverse-order --ignore-dependencies ../_files/MultiDependencyTest.php ---FILE-- - ---EXPECTF-- -PHPUnit %s by Sebastian Bergmann and contributors. - -Runtime: %s - -Test 'MultiDependencyTest::testFive' started -Test 'MultiDependencyTest::testFive' ended -Test 'MultiDependencyTest::testFour' started -Test 'MultiDependencyTest::testFour' ended -Test 'MultiDependencyTest::testThree' started -Test 'MultiDependencyTest::testThree' ended -Test 'MultiDependencyTest::testTwo' started -Test 'MultiDependencyTest::testTwo' ended -Test 'MultiDependencyTest::testOne' started -Test 'MultiDependencyTest::testOne' ended - - -Time: %s, Memory: %s - -There were 2 skipped tests: - -1) MultiDependencyTest::testFour -This test depends on "MultiDependencyTest::testThree" to pass. - -2) MultiDependencyTest::testThree -This test depends on "MultiDependencyTest::testOne" to pass. - -OK, but incomplete, skipped, or risky tests! -Tests: 5, Assertions: 3, Skipped: 2. diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/test-suffix-multiple.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/test-suffix-multiple.phpt deleted file mode 100644 index 5d6a6b0..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/test-suffix-multiple.phpt +++ /dev/null @@ -1,19 +0,0 @@ ---TEST-- -phpunit --test-suffix .test.php,.my.php ../../_files/ ---FILE-- - - - - - Test Documentation - - - - -

    BankAccount

    -
      -... 3 / 3 (100%)
    • ✓ Balance is initially zero
    • -
    • ✓ Balance cannot become negative
    • -
    • ✓ Balance cannot become negative
    • -
    - - - -Time: %s, Memory: %s - -OK (3 tests, 3 assertions) diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/testdox-text.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/testdox-text.phpt deleted file mode 100644 index b864b70..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/testdox-text.phpt +++ /dev/null @@ -1,25 +0,0 @@ ---TEST-- -phpunit --testdox-text php://stdout BankAccountTest ../../_files/BankAccountTest.php ---FILE-- - - - - - - - - - - - - -Time: %s, Memory: %s - -There was 1 error: - -1) vendor\project\StatusTest::testError -RuntimeException:%s - -%s%eStatusTest.php:%d - --- - -There was 1 warning: - -1) vendor\project\StatusTest::testWarning - -%s%eStatusTest.php:%d - --- - -There was 1 failure: - -1) vendor\project\StatusTest::testFailure -Failed asserting that false is true. - -%s%eStatusTest.php:%d - --- - -There was 1 risky test: - -1) vendor\project\StatusTest::testRisky -This test did not perform any assertions - -%s:42 - -ERRORS! -Tests: 7, Assertions: 2, Errors: 1, Failures: 1, Warnings: 1, Skipped: 1, Incomplete: 1, Risky: 1. diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/testdox.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/testdox.phpt deleted file mode 100644 index edb15f4..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/end-to-end/testdox.phpt +++ /dev/null @@ -1,22 +0,0 @@ ---TEST-- -phpunit --testdox php://stdout BankAccountTest ../../_files/BankAccountTest.php ---FILE-- - ---EXPECTF-- -PHPUnit %s by Sebastian Bergmann and contributors. diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/fail/fail.phpt b/paragonik-backend/vendor/phpunit/phpunit/tests/fail/fail.phpt deleted file mode 100644 index b88454f..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/fail/fail.phpt +++ /dev/null @@ -1,5 +0,0 @@ ---TEST-- -// This test intentionally fails and it is checked by Travis. ---FILE-- ---EXPECTF-- -unexpected diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/AssertTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/AssertTest.php deleted file mode 100644 index 2218efe..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/AssertTest.php +++ /dev/null @@ -1,3368 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework; - -use PHPUnit\Util\Xml; - -class AssertTest extends TestCase -{ - public static function validInvalidJsonDataprovider(): array - { - return [ - 'error syntax in expected JSON' => ['{"Mascott"::}', '{"Mascott" : "Tux"}'], - 'error UTF-8 in actual JSON' => ['{"Mascott" : "Tux"}', '{"Mascott" : :}'], - ]; - } - - public function testFail(): void - { - try { - $this->fail(); - } catch (AssertionFailedError $e) { - return; - } - - throw new AssertionFailedError('Fail did not throw fail exception'); - } - - public function testAssertSplObjectStorageContainsObject(): void - { - $a = new \stdClass; - $b = new \stdClass; - $c = new \SplObjectStorage; - $c->attach($a); - - $this->assertContains($a, $c); - - $this->expectException(AssertionFailedError::class); - - $this->assertContains($b, $c); - } - - public function testAssertArrayContainsObject(): void - { - $a = new \stdClass; - $b = new \stdClass; - - $this->assertContains($a, [$a]); - - $this->expectException(AssertionFailedError::class); - - $this->assertContains($a, [$b]); - } - - public function testAssertArrayContainsString(): void - { - $this->assertContains('foo', ['foo']); - - $this->expectException(AssertionFailedError::class); - - $this->assertContains('foo', ['bar']); - } - - public function testAssertArrayContainsNonObject(): void - { - $this->assertContains('foo', [true]); - - $this->expectException(AssertionFailedError::class); - - $this->assertContains('foo', [true], '', false, true, true); - } - - public function testAssertContainsOnlyInstancesOf(): void - { - $test = [new \Book, new \Book]; - - $this->assertContainsOnlyInstancesOf(\Book::class, $test); - $this->assertContainsOnlyInstancesOf(\stdClass::class, [new \stdClass]); - - $test2 = [new \Author('Test')]; - - $this->expectException(AssertionFailedError::class); - - $this->assertContainsOnlyInstancesOf(\Book::class, $test2); - } - - public function testAssertContainsPartialStringInString(): void - { - $this->assertContains('bar', 'foo bar'); - - $this->expectException(AssertionFailedError::class); - - $this->assertContains('cake', 'foo bar'); - } - - public function testAssertContainsNonCaseSensitiveStringInString(): void - { - $this->assertContains('Foo', 'foo', '', true); - - $this->expectException(AssertionFailedError::class); - - $this->assertContains('Foo', 'foo', '', false); - } - - public function testAssertContainsEmptyStringInString(): void - { - $this->assertContains('', 'test'); - } - - public function testAssertStringContainsNonString(): void - { - $this->expectException(Exception::class); - - $this->assertContains(null, ''); - } - - public function testAssertStringNotContainsNonString(): void - { - $this->expectException(Exception::class); - - $this->assertNotContains(null, ''); - } - - public function testAssertArrayHasKeyThrowsExceptionForInvalidFirstArgument(): void - { - $this->expectException(Exception::class); - - $this->assertArrayHasKey(null, []); - } - - public function testAssertArrayHasKeyThrowsExceptionForInvalidSecondArgument(): void - { - $this->expectException(Exception::class); - - $this->assertArrayHasKey(0, null); - } - - public function testAssertArrayHasIntegerKey(): void - { - $this->assertArrayHasKey(0, ['foo']); - - $this->expectException(AssertionFailedError::class); - - $this->assertArrayHasKey(1, ['foo']); - } - - public function testAssertArraySubset(): void - { - $array = [ - 'a' => 'item a', - 'b' => 'item b', - 'c' => ['a2' => 'item a2', 'b2' => 'item b2'], - 'd' => ['a2' => ['a3' => 'item a3', 'b3' => 'item b3']], - ]; - - $this->assertArraySubset(['a' => 'item a', 'c' => ['a2' => 'item a2']], $array); - $this->assertArraySubset(['a' => 'item a', 'd' => ['a2' => ['b3' => 'item b3']]], $array); - - $arrayAccessData = new \ArrayObject($array); - - $this->assertArraySubset(['a' => 'item a', 'c' => ['a2' => 'item a2']], $arrayAccessData); - $this->assertArraySubset(['a' => 'item a', 'd' => ['a2' => ['b3' => 'item b3']]], $arrayAccessData); - - try { - $this->assertArraySubset(['a' => 'bad value'], $array); - } catch (AssertionFailedError $e) { - } - - try { - $this->assertArraySubset(['d' => ['a2' => ['bad index' => 'item b3']]], $array); - } catch (AssertionFailedError $e) { - return; - } - - $this->fail(); - } - - public function testAssertArraySubsetWithDeepNestedArrays(): void - { - $array = [ - 'path' => [ - 'to' => [ - 'the' => [ - 'cake' => 'is a lie', - ], - ], - ], - ]; - - $this->assertArraySubset(['path' => []], $array); - $this->assertArraySubset(['path' => ['to' => []]], $array); - $this->assertArraySubset(['path' => ['to' => ['the' => []]]], $array); - $this->assertArraySubset(['path' => ['to' => ['the' => ['cake' => 'is a lie']]]], $array); - - $this->expectException(AssertionFailedError::class); - - $this->assertArraySubset(['path' => ['to' => ['the' => ['cake' => 'is not a lie']]]], $array); - } - - public function testAssertArraySubsetWithNoStrictCheckAndObjects(): void - { - $obj = new \stdClass; - $reference = &$obj; - $array = ['a' => $obj]; - - $this->assertArraySubset(['a' => $reference], $array); - $this->assertArraySubset(['a' => new \stdClass], $array); - } - - public function testAssertArraySubsetWithStrictCheckAndObjects(): void - { - $obj = new \stdClass; - $reference = &$obj; - $array = ['a' => $obj]; - - $this->assertArraySubset(['a' => $reference], $array, true); - - $this->expectException(AssertionFailedError::class); - - $this->assertArraySubset(['a' => new \stdClass], $array, true); - } - - /** - * @dataProvider assertArraySubsetInvalidArgumentProvider - * - * @throws Exception - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public function testAssertArraySubsetRaisesExceptionForInvalidArguments($partial, $subject): void - { - $this->expectException(Exception::class); - - $this->assertArraySubset($partial, $subject); - } - - public function assertArraySubsetInvalidArgumentProvider(): array - { - return [ - [false, []], - [[], false], - ]; - } - - public function testAssertArrayNotHasKeyThrowsExceptionForInvalidFirstArgument(): void - { - $this->expectException(Exception::class); - - $this->assertArrayNotHasKey(null, []); - } - - public function testAssertArrayNotHasKeyThrowsExceptionForInvalidSecondArgument(): void - { - $this->expectException(Exception::class); - - $this->assertArrayNotHasKey(0, null); - } - - public function testAssertArrayNotHasIntegerKey(): void - { - $this->assertArrayNotHasKey(1, ['foo']); - - $this->expectException(AssertionFailedError::class); - - $this->assertArrayNotHasKey(0, ['foo']); - } - - public function testAssertArrayHasStringKey(): void - { - $this->assertArrayHasKey('foo', ['foo' => 'bar']); - - $this->expectException(AssertionFailedError::class); - - $this->assertArrayHasKey('bar', ['foo' => 'bar']); - } - - public function testAssertArrayNotHasStringKey(): void - { - $this->assertArrayNotHasKey('bar', ['foo' => 'bar']); - - $this->expectException(AssertionFailedError::class); - - $this->assertArrayNotHasKey('foo', ['foo' => 'bar']); - } - - public function testAssertArrayHasKeyAcceptsArrayObjectValue(): void - { - $array = new \ArrayObject; - $array['foo'] = 'bar'; - - $this->assertArrayHasKey('foo', $array); - } - - public function testAssertArrayHasKeyProperlyFailsWithArrayObjectValue(): void - { - $array = new \ArrayObject; - $array['bar'] = 'bar'; - - $this->expectException(AssertionFailedError::class); - - $this->assertArrayHasKey('foo', $array); - } - - public function testAssertArrayHasKeyAcceptsArrayAccessValue(): void - { - $array = new \SampleArrayAccess; - $array['foo'] = 'bar'; - - $this->assertArrayHasKey('foo', $array); - } - - public function testAssertArrayHasKeyProperlyFailsWithArrayAccessValue(): void - { - $array = new \SampleArrayAccess; - $array['bar'] = 'bar'; - - $this->expectException(AssertionFailedError::class); - - $this->assertArrayHasKey('foo', $array); - } - - public function testAssertArrayNotHasKeyAcceptsArrayAccessValue(): void - { - $array = new \ArrayObject; - $array['foo'] = 'bar'; - - $this->assertArrayNotHasKey('bar', $array); - } - - public function testAssertArrayNotHasKeyPropertlyFailsWithArrayAccessValue(): void - { - $array = new \ArrayObject; - $array['bar'] = 'bar'; - - $this->expectException(AssertionFailedError::class); - - $this->assertArrayNotHasKey('bar', $array); - } - - public function testAssertContainsThrowsException(): void - { - $this->expectException(Exception::class); - - $this->assertContains(null, null); - } - - public function testAssertIteratorContainsObject(): void - { - $foo = new \stdClass; - - $this->assertContains($foo, new \TestIterator([$foo])); - - $this->expectException(AssertionFailedError::class); - - $this->assertContains($foo, new \TestIterator([new \stdClass])); - } - - public function testAssertIteratorContainsString(): void - { - $this->assertContains('foo', new \TestIterator(['foo'])); - - $this->expectException(AssertionFailedError::class); - - $this->assertContains('foo', new \TestIterator(['bar'])); - } - - public function testAssertStringContainsString(): void - { - $this->assertContains('foo', 'foobar'); - - $this->expectException(AssertionFailedError::class); - - $this->assertContains('foo', 'bar'); - } - - public function testAssertStringContainsStringForUtf8(): void - { - $this->assertContains('oryginaÅ‚', 'oryginaÅ‚'); - - $this->expectException(AssertionFailedError::class); - - $this->assertContains('ORYGINAÅ', 'oryginaÅ‚'); - } - - public function testAssertStringContainsStringForUtf8WhenIgnoreCase(): void - { - $this->assertContains('oryginaÅ‚', 'oryginaÅ‚', '', true); - $this->assertContains('ORYGINAÅ', 'oryginaÅ‚', '', true); - - $this->expectException(AssertionFailedError::class); - - $this->assertContains('foo', 'oryginaÅ‚', '', true); - } - - public function testAssertNotContainsThrowsException(): void - { - $this->expectException(Exception::class); - - $this->assertNotContains(null, null); - } - - public function testAssertSplObjectStorageNotContainsObject(): void - { - $a = new \stdClass; - $b = new \stdClass; - $c = new \SplObjectStorage; - $c->attach($a); - - $this->assertNotContains($b, $c); - - $this->expectException(AssertionFailedError::class); - - $this->assertNotContains($a, $c); - } - - public function testAssertArrayNotContainsObject(): void - { - $a = new \stdClass; - $b = new \stdClass; - - $this->assertNotContains($a, [$b]); - - $this->expectException(AssertionFailedError::class); - - $this->assertNotContains($a, [$a]); - } - - public function testAssertArrayNotContainsString(): void - { - $this->assertNotContains('foo', ['bar']); - - $this->expectException(AssertionFailedError::class); - - $this->assertNotContains('foo', ['foo']); - } - - public function testAssertArrayNotContainsNonObject(): void - { - $this->assertNotContains('foo', [true], '', false, true, true); - - $this->expectException(AssertionFailedError::class); - - $this->assertNotContains('foo', [true]); - } - - public function testAssertStringNotContainsString(): void - { - $this->assertNotContains('foo', 'bar'); - - $this->expectException(AssertionFailedError::class); - - $this->assertNotContains('foo', 'foo'); - } - - public function testAssertStringNotContainsStringForUtf8(): void - { - $this->assertNotContains('ORYGINAÅ', 'oryginaÅ‚'); - - $this->expectException(AssertionFailedError::class); - - $this->assertNotContains('oryginaÅ‚', 'oryginaÅ‚'); - } - - public function testAssertStringNotContainsStringForUtf8WhenIgnoreCase(): void - { - $this->expectException(AssertionFailedError::class); - - $this->assertNotContains('ORYGINAÅ', 'oryginaÅ‚', '', true); - } - - public function testAssertArrayContainsOnlyIntegers(): void - { - $this->assertContainsOnly('integer', [1, 2, 3]); - - $this->expectException(AssertionFailedError::class); - - $this->assertContainsOnly('integer', ['1', 2, 3]); - } - - public function testAssertArrayNotContainsOnlyIntegers(): void - { - $this->assertNotContainsOnly('integer', ['1', 2, 3]); - - $this->expectException(AssertionFailedError::class); - - $this->assertNotContainsOnly('integer', [1, 2, 3]); - } - - public function testAssertArrayContainsOnlyStdClass(): void - { - $this->assertContainsOnly('StdClass', [new \stdClass]); - - $this->expectException(AssertionFailedError::class); - - $this->assertContainsOnly('StdClass', ['StdClass']); - } - - public function testAssertArrayNotContainsOnlyStdClass(): void - { - $this->assertNotContainsOnly('StdClass', ['StdClass']); - - $this->expectException(AssertionFailedError::class); - - $this->assertNotContainsOnly('StdClass', [new \stdClass]); - } - - public function equalProvider(): array - { - // same |= equal - return \array_merge($this->equalValues(), $this->sameValues()); - } - - public function notEqualProvider() - { - return $this->notEqualValues(); - } - - public function sameProvider(): array - { - return $this->sameValues(); - } - - public function notSameProvider(): array - { - // not equal |= not same - // equal, ¬same |= not same - return \array_merge($this->notEqualValues(), $this->equalValues()); - } - - /** - * @dataProvider equalProvider - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public function testAssertEqualsSucceeds($a, $b, $delta = 0.0, $canonicalize = false, $ignoreCase = false): void - { - $this->assertEquals($a, $b, '', $delta, 10, $canonicalize, $ignoreCase); - } - - /** - * @dataProvider notEqualProvider - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public function testAssertEqualsFails($a, $b, $delta = 0.0, $canonicalize = false, $ignoreCase = false): void - { - $this->expectException(AssertionFailedError::class); - - $this->assertEquals($a, $b, '', $delta, 10, $canonicalize, $ignoreCase); - } - - /** - * @dataProvider notEqualProvider - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public function testAssertNotEqualsSucceeds($a, $b, $delta = 0.0, $canonicalize = false, $ignoreCase = false): void - { - $this->assertNotEquals($a, $b, '', $delta, 10, $canonicalize, $ignoreCase); - } - - /** - * @dataProvider equalProvider - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public function testAssertNotEqualsFails($a, $b, $delta = 0.0, $canonicalize = false, $ignoreCase = false): void - { - $this->expectException(AssertionFailedError::class); - - $this->assertNotEquals($a, $b, '', $delta, 10, $canonicalize, $ignoreCase); - } - - /** - * @dataProvider sameProvider - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public function testAssertSameSucceeds($a, $b): void - { - $this->assertSame($a, $b); - } - - /** - * @dataProvider notSameProvider - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public function testAssertSameFails($a, $b): void - { - $this->expectException(AssertionFailedError::class); - - $this->assertSame($a, $b); - } - - /** - * @dataProvider notSameProvider - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public function testAssertNotSameSucceeds($a, $b): void - { - $this->assertNotSame($a, $b); - } - - /** - * @dataProvider sameProvider - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public function testAssertNotSameFails($a, $b): void - { - $this->expectException(AssertionFailedError::class); - - $this->assertNotSame($a, $b); - } - - public function testAssertXmlFileEqualsXmlFile(): void - { - $this->assertXmlFileEqualsXmlFile( - TEST_FILES_PATH . 'foo.xml', - TEST_FILES_PATH . 'foo.xml' - ); - - $this->expectException(AssertionFailedError::class); - - $this->assertXmlFileEqualsXmlFile( - TEST_FILES_PATH . 'foo.xml', - TEST_FILES_PATH . 'bar.xml' - ); - } - - public function testAssertXmlFileNotEqualsXmlFile(): void - { - $this->assertXmlFileNotEqualsXmlFile( - TEST_FILES_PATH . 'foo.xml', - TEST_FILES_PATH . 'bar.xml' - ); - - $this->expectException(AssertionFailedError::class); - - $this->assertXmlFileNotEqualsXmlFile( - TEST_FILES_PATH . 'foo.xml', - TEST_FILES_PATH . 'foo.xml' - ); - } - - public function testAssertXmlStringEqualsXmlFile(): void - { - $this->assertXmlStringEqualsXmlFile( - TEST_FILES_PATH . 'foo.xml', - \file_get_contents(TEST_FILES_PATH . 'foo.xml') - ); - - $this->expectException(AssertionFailedError::class); - - $this->assertXmlStringEqualsXmlFile( - TEST_FILES_PATH . 'foo.xml', - \file_get_contents(TEST_FILES_PATH . 'bar.xml') - ); - } - - public function testXmlStringNotEqualsXmlFile(): void - { - $this->assertXmlStringNotEqualsXmlFile( - TEST_FILES_PATH . 'foo.xml', - \file_get_contents(TEST_FILES_PATH . 'bar.xml') - ); - - $this->expectException(AssertionFailedError::class); - - $this->assertXmlStringNotEqualsXmlFile( - TEST_FILES_PATH . 'foo.xml', - \file_get_contents(TEST_FILES_PATH . 'foo.xml') - ); - } - - public function testAssertXmlStringEqualsXmlString(): void - { - $this->assertXmlStringEqualsXmlString('', ''); - - $this->expectException(AssertionFailedError::class); - - $this->assertXmlStringEqualsXmlString('', ''); - } - - /** - * @ticket 1860 - */ - public function testAssertXmlStringEqualsXmlString2(): void - { - $this->expectException(Exception::class); - - $this->assertXmlStringEqualsXmlString('', ''); - } - - /** - * @ticket 1860 - */ - public function testAssertXmlStringEqualsXmlString3(): void - { - $expected = << - - - -XML; - - $actual = << - - - -XML; - - $this->assertXmlStringEqualsXmlString($expected, $actual); - } - - public function testAssertXmlStringNotEqualsXmlString(): void - { - $this->assertXmlStringNotEqualsXmlString('', ''); - - $this->expectException(AssertionFailedError::class); - - $this->assertXmlStringNotEqualsXmlString('', ''); - } - - public function testXMLStructureIsSame(): void - { - $expected = new \DOMDocument; - $expected->load(TEST_FILES_PATH . 'structureExpected.xml'); - - $actual = new \DOMDocument; - $actual->load(TEST_FILES_PATH . 'structureExpected.xml'); - - $this->assertEqualXMLStructure( - $expected->firstChild, - $actual->firstChild, - true - ); - } - - public function testXMLStructureWrongNumberOfAttributes(): void - { - $expected = new \DOMDocument; - $expected->load(TEST_FILES_PATH . 'structureExpected.xml'); - - $actual = new \DOMDocument; - $actual->load(TEST_FILES_PATH . 'structureWrongNumberOfAttributes.xml'); - - $this->expectException(ExpectationFailedException::class); - - $this->assertEqualXMLStructure( - $expected->firstChild, - $actual->firstChild, - true - ); - } - - public function testXMLStructureWrongNumberOfNodes(): void - { - $expected = new \DOMDocument; - $expected->load(TEST_FILES_PATH . 'structureExpected.xml'); - - $actual = new \DOMDocument; - $actual->load(TEST_FILES_PATH . 'structureWrongNumberOfNodes.xml'); - - $this->expectException(ExpectationFailedException::class); - - $this->assertEqualXMLStructure( - $expected->firstChild, - $actual->firstChild, - true - ); - } - - public function testXMLStructureIsSameButDataIsNot(): void - { - $expected = new \DOMDocument; - $expected->load(TEST_FILES_PATH . 'structureExpected.xml'); - - $actual = new \DOMDocument; - $actual->load(TEST_FILES_PATH . 'structureIsSameButDataIsNot.xml'); - - $this->assertEqualXMLStructure( - $expected->firstChild, - $actual->firstChild, - true - ); - } - - public function testXMLStructureAttributesAreSameButValuesAreNot(): void - { - $expected = new \DOMDocument; - $expected->load(TEST_FILES_PATH . 'structureExpected.xml'); - - $actual = new \DOMDocument; - $actual->load(TEST_FILES_PATH . 'structureAttributesAreSameButValuesAreNot.xml'); - - $this->assertEqualXMLStructure( - $expected->firstChild, - $actual->firstChild, - true - ); - } - - public function testXMLStructureIgnoreTextNodes(): void - { - $expected = new \DOMDocument; - $expected->load(TEST_FILES_PATH . 'structureExpected.xml'); - - $actual = new \DOMDocument; - $actual->load(TEST_FILES_PATH . 'structureIgnoreTextNodes.xml'); - - $this->assertEqualXMLStructure( - $expected->firstChild, - $actual->firstChild, - true - ); - } - - public function testAssertStringEqualsNumeric(): void - { - $this->assertEquals('0', 0); - - $this->expectException(AssertionFailedError::class); - - $this->assertEquals('0', 1); - } - - public function testAssertStringEqualsNumeric2(): void - { - $this->assertNotEquals('A', 0); - } - - public function testAssertIsReadable(): void - { - $this->assertIsReadable(__FILE__); - - $this->expectException(AssertionFailedError::class); - - $this->assertIsReadable(__DIR__ . \DIRECTORY_SEPARATOR . 'NotExisting'); - } - - public function testAssertNotIsReadable(): void - { - $this->assertNotIsReadable(__DIR__ . \DIRECTORY_SEPARATOR . 'NotExisting'); - - $this->expectException(AssertionFailedError::class); - - $this->assertNotIsReadable(__FILE__); - } - - public function testAssertIsWritable(): void - { - $this->assertIsWritable(__FILE__); - - $this->expectException(AssertionFailedError::class); - - $this->assertIsWritable(__DIR__ . \DIRECTORY_SEPARATOR . 'NotExisting'); - } - - public function testAssertNotIsWritable(): void - { - $this->assertNotIsWritable(__DIR__ . \DIRECTORY_SEPARATOR . 'NotExisting'); - - $this->expectException(AssertionFailedError::class); - - $this->assertNotIsWritable(__FILE__); - } - - public function testAssertDirectoryExists(): void - { - $this->assertDirectoryExists(__DIR__); - - $this->expectException(AssertionFailedError::class); - - $this->assertDirectoryExists(__DIR__ . \DIRECTORY_SEPARATOR . 'NotExisting'); - } - - public function testAssertDirectoryNotExists(): void - { - $this->assertDirectoryNotExists(__DIR__ . \DIRECTORY_SEPARATOR . 'NotExisting'); - - $this->expectException(AssertionFailedError::class); - - $this->assertDirectoryNotExists(__DIR__); - } - - public function testAssertDirectoryIsReadable(): void - { - $this->assertDirectoryIsReadable(__DIR__); - - $this->expectException(AssertionFailedError::class); - - $this->assertDirectoryIsReadable(__DIR__ . \DIRECTORY_SEPARATOR . 'NotExisting'); - } - - public function testAssertDirectoryIsWritable(): void - { - $this->assertDirectoryIsWritable(__DIR__); - - $this->expectException(AssertionFailedError::class); - - $this->assertDirectoryIsWritable(__DIR__ . \DIRECTORY_SEPARATOR . 'NotExisting'); - } - - public function testAssertFileExists(): void - { - $this->assertFileExists(__FILE__); - - $this->expectException(AssertionFailedError::class); - - $this->assertFileExists(__DIR__ . \DIRECTORY_SEPARATOR . 'NotExisting'); - } - - public function testAssertFileNotExists(): void - { - $this->assertFileNotExists(__DIR__ . \DIRECTORY_SEPARATOR . 'NotExisting'); - - $this->expectException(AssertionFailedError::class); - - $this->assertFileNotExists(__FILE__); - } - - public function testAssertFileIsReadable(): void - { - $this->assertFileIsReadable(__FILE__); - - $this->expectException(AssertionFailedError::class); - - $this->assertFileIsReadable(__DIR__ . \DIRECTORY_SEPARATOR . 'NotExisting'); - } - - public function testAssertFileIsWritable(): void - { - $this->assertFileIsWritable(__FILE__); - - $this->expectException(AssertionFailedError::class); - - $this->assertFileIsWritable(__DIR__ . \DIRECTORY_SEPARATOR . 'NotExisting'); - } - - public function testAssertObjectHasAttribute(): void - { - $o = new \Author('Terry Pratchett'); - - $this->assertObjectHasAttribute('name', $o); - - $this->expectException(AssertionFailedError::class); - - $this->assertObjectHasAttribute('foo', $o); - } - - public function testAssertObjectHasAttributeNumericAttribute(): void - { - $object = new \stdClass; - $object->{'2020'} = 'Tokyo'; - - $this->assertObjectHasAttribute('2020', $object); - - $this->expectException(AssertionFailedError::class); - - $this->assertObjectHasAttribute('2018', $object); - } - - public function testAssertObjectHasAttributeMultiByteAttribute(): void - { - $object = new \stdClass; - $object->{'æ±äº¬'} = 2020; - - $this->assertObjectHasAttribute('æ±äº¬', $object); - - $this->expectException(AssertionFailedError::class); - - $this->assertObjectHasAttribute('長野', $object); - } - - public function testAssertObjectNotHasAttribute(): void - { - $o = new \Author('Terry Pratchett'); - - $this->assertObjectNotHasAttribute('foo', $o); - - $this->expectException(AssertionFailedError::class); - - $this->assertObjectNotHasAttribute('name', $o); - } - - public function testAssertObjectNotHasAttributeNumericAttribute(): void - { - $object = new \stdClass; - $object->{'2020'} = 'Tokyo'; - - $this->assertObjectNotHasAttribute('2018', $object); - - $this->expectException(AssertionFailedError::class); - - $this->assertObjectNotHasAttribute('2020', $object); - } - - public function testAssertObjectNotHasAttributeMultiByteAttribute(): void - { - $object = new \stdClass; - $object->{'æ±äº¬'} = 2020; - - $this->assertObjectNotHasAttribute('長野', $object); - - $this->expectException(AssertionFailedError::class); - - $this->assertObjectNotHasAttribute('æ±äº¬', $object); - } - - public function testAssertFinite(): void - { - $this->assertFinite(1); - - $this->expectException(AssertionFailedError::class); - - $this->assertFinite(\INF); - } - - public function testAssertInfinite(): void - { - $this->assertInfinite(\INF); - - $this->expectException(AssertionFailedError::class); - - $this->assertInfinite(1); - } - - public function testAssertNan(): void - { - $this->assertNan(\NAN); - - $this->expectException(AssertionFailedError::class); - - $this->assertNan(1); - } - - public function testAssertNull(): void - { - $this->assertNull(null); - - $this->expectException(AssertionFailedError::class); - - $this->assertNull(new \stdClass); - } - - public function testAssertNotNull(): void - { - $this->assertNotNull(new \stdClass); - - $this->expectException(AssertionFailedError::class); - - $this->assertNotNull(null); - } - - public function testAssertTrue(): void - { - $this->assertTrue(true); - - $this->expectException(AssertionFailedError::class); - - $this->assertTrue(false); - } - - public function testAssertNotTrue(): void - { - $this->assertNotTrue(false); - $this->assertNotTrue(1); - $this->assertNotTrue('true'); - - $this->expectException(AssertionFailedError::class); - - $this->assertNotTrue(true); - } - - public function testAssertFalse(): void - { - $this->assertFalse(false); - - $this->expectException(AssertionFailedError::class); - - $this->assertFalse(true); - } - - public function testAssertNotFalse(): void - { - $this->assertNotFalse(true); - $this->assertNotFalse(0); - $this->assertNotFalse(''); - - $this->expectException(AssertionFailedError::class); - - $this->assertNotFalse(false); - } - - public function testAssertRegExp(): void - { - $this->assertRegExp('/foo/', 'foobar'); - - $this->expectException(AssertionFailedError::class); - - $this->assertRegExp('/foo/', 'bar'); - } - - public function testAssertNotRegExp(): void - { - $this->assertNotRegExp('/foo/', 'bar'); - - $this->expectException(AssertionFailedError::class); - - $this->assertNotRegExp('/foo/', 'foobar'); - } - - public function testAssertSame(): void - { - $o = new \stdClass; - - $this->assertSame($o, $o); - - $this->expectException(AssertionFailedError::class); - - $this->assertSame(new \stdClass, new \stdClass); - } - - public function testAssertSame2(): void - { - $this->assertSame(true, true); - $this->assertSame(false, false); - - $this->expectException(AssertionFailedError::class); - - $this->assertSame(true, false); - } - - public function testAssertNotSame(): void - { - $this->assertNotSame( - new \stdClass, - null - ); - - $this->assertNotSame( - null, - new \stdClass - ); - - $this->assertNotSame( - new \stdClass, - new \stdClass - ); - - $o = new \stdClass; - - $this->expectException(AssertionFailedError::class); - - $this->assertNotSame($o, $o); - } - - public function testAssertNotSame2(): void - { - $this->assertNotSame(true, false); - $this->assertNotSame(false, true); - - $this->expectException(AssertionFailedError::class); - - $this->assertNotSame(true, true); - } - - public function testAssertNotSameFailsNull(): void - { - $this->expectException(AssertionFailedError::class); - - $this->assertNotSame(null, null); - } - - public function testGreaterThan(): void - { - $this->assertGreaterThan(1, 2); - - $this->expectException(AssertionFailedError::class); - - $this->assertGreaterThan(2, 1); - } - - public function testAttributeGreaterThan(): void - { - $this->assertAttributeGreaterThan( - 1, - 'bar', - new \ClassWithNonPublicAttributes - ); - - $this->expectException(AssertionFailedError::class); - - $this->assertAttributeGreaterThan( - 1, - 'foo', - new \ClassWithNonPublicAttributes - ); - } - - public function testGreaterThanOrEqual(): void - { - $this->assertGreaterThanOrEqual(1, 2); - - $this->expectException(AssertionFailedError::class); - - $this->assertGreaterThanOrEqual(2, 1); - } - - public function testAttributeGreaterThanOrEqual(): void - { - $this->assertAttributeGreaterThanOrEqual( - 1, - 'bar', - new \ClassWithNonPublicAttributes - ); - - $this->expectException(AssertionFailedError::class); - - $this->assertAttributeGreaterThanOrEqual( - 2, - 'foo', - new \ClassWithNonPublicAttributes - ); - } - - public function testLessThan(): void - { - $this->assertLessThan(2, 1); - - try { - $this->assertLessThan(1, 2); - } catch (AssertionFailedError $e) { - return; - } - - $this->fail(); - } - - public function testAttributeLessThan(): void - { - $this->assertAttributeLessThan( - 2, - 'foo', - new \ClassWithNonPublicAttributes - ); - - $this->expectException(AssertionFailedError::class); - - $this->assertAttributeLessThan( - 1, - 'bar', - new \ClassWithNonPublicAttributes - ); - } - - public function testLessThanOrEqual(): void - { - $this->assertLessThanOrEqual(2, 1); - - $this->expectException(AssertionFailedError::class); - - $this->assertLessThanOrEqual(1, 2); - } - - public function testAttributeLessThanOrEqual(): void - { - $this->assertAttributeLessThanOrEqual( - 2, - 'foo', - new \ClassWithNonPublicAttributes - ); - - $this->expectException(AssertionFailedError::class); - - $this->assertAttributeLessThanOrEqual( - 1, - 'bar', - new \ClassWithNonPublicAttributes - ); - } - - public function testReadAttribute(): void - { - $obj = new \ClassWithNonPublicAttributes; - - $this->assertEquals('foo', $this->readAttribute($obj, 'publicAttribute')); - $this->assertEquals('bar', $this->readAttribute($obj, 'protectedAttribute')); - $this->assertEquals('baz', $this->readAttribute($obj, 'privateAttribute')); - $this->assertEquals('bar', $this->readAttribute($obj, 'protectedParentAttribute')); - //$this->assertEquals('bar', $this->readAttribute($obj, 'privateParentAttribute')); - } - - public function testReadAttribute2(): void - { - $this->assertEquals('foo', $this->readAttribute(\ClassWithNonPublicAttributes::class, 'publicStaticAttribute')); - $this->assertEquals('bar', $this->readAttribute(\ClassWithNonPublicAttributes::class, 'protectedStaticAttribute')); - $this->assertEquals('baz', $this->readAttribute(\ClassWithNonPublicAttributes::class, 'privateStaticAttribute')); - $this->assertEquals('foo', $this->readAttribute(\ClassWithNonPublicAttributes::class, 'protectedStaticParentAttribute')); - $this->assertEquals('foo', $this->readAttribute(\ClassWithNonPublicAttributes::class, 'privateStaticParentAttribute')); - } - - public function testReadAttribute4(): void - { - $this->expectException(Exception::class); - - $this->readAttribute('NotExistingClass', 'foo'); - } - - public function testReadAttribute5(): void - { - $this->expectException(Exception::class); - - $this->readAttribute(null, 'foo'); - } - - public function testReadAttributeIfAttributeNameIsNotValid(): void - { - $this->expectException(Exception::class); - - $this->readAttribute(\stdClass::class, '2'); - } - - public function testGetStaticAttributeRaisesExceptionForInvalidFirstArgument2(): void - { - $this->expectException(Exception::class); - - $this->getStaticAttribute('NotExistingClass', 'foo'); - } - - public function testGetStaticAttributeRaisesExceptionForInvalidSecondArgument2(): void - { - $this->expectException(Exception::class); - - $this->getStaticAttribute(\stdClass::class, '0'); - } - - public function testGetStaticAttributeRaisesExceptionForInvalidSecondArgument3(): void - { - $this->expectException(Exception::class); - - $this->getStaticAttribute(\stdClass::class, 'foo'); - } - - public function testGetObjectAttributeRaisesExceptionForInvalidFirstArgument(): void - { - $this->expectException(Exception::class); - - $this->getObjectAttribute(null, 'foo'); - } - - public function testGetObjectAttributeRaisesExceptionForInvalidSecondArgument2(): void - { - $this->expectException(Exception::class); - - $this->getObjectAttribute(new \stdClass, '0'); - } - - public function testGetObjectAttributeRaisesExceptionForInvalidSecondArgument3(): void - { - $this->expectException(Exception::class); - - $this->getObjectAttribute(new \stdClass, 'foo'); - } - - public function testGetObjectAttributeWorksForInheritedAttributes(): void - { - $this->assertEquals( - 'bar', - $this->getObjectAttribute(new \ClassWithNonPublicAttributes, 'privateParentAttribute') - ); - } - - public function testAssertPublicAttributeContains(): void - { - $obj = new \ClassWithNonPublicAttributes; - - $this->assertAttributeContains('foo', 'publicArray', $obj); - - $this->expectException(AssertionFailedError::class); - - $this->assertAttributeContains('bar', 'publicArray', $obj); - } - - public function testAssertPublicAttributeContainsOnly(): void - { - $obj = new \ClassWithNonPublicAttributes; - - $this->assertAttributeContainsOnly('string', 'publicArray', $obj); - - $this->expectException(AssertionFailedError::class); - - $this->assertAttributeContainsOnly('integer', 'publicArray', $obj); - } - - public function testAssertPublicAttributeNotContains(): void - { - $obj = new \ClassWithNonPublicAttributes; - - $this->assertAttributeNotContains('bar', 'publicArray', $obj); - - $this->expectException(AssertionFailedError::class); - - $this->assertAttributeNotContains('foo', 'publicArray', $obj); - } - - public function testAssertPublicAttributeNotContainsOnly(): void - { - $obj = new \ClassWithNonPublicAttributes; - - $this->assertAttributeNotContainsOnly('integer', 'publicArray', $obj); - - $this->expectException(AssertionFailedError::class); - - $this->assertAttributeNotContainsOnly('string', 'publicArray', $obj); - } - - public function testAssertProtectedAttributeContains(): void - { - $obj = new \ClassWithNonPublicAttributes; - - $this->assertAttributeContains('bar', 'protectedArray', $obj); - - $this->expectException(AssertionFailedError::class); - - $this->assertAttributeContains('foo', 'protectedArray', $obj); - } - - public function testAssertProtectedAttributeNotContains(): void - { - $obj = new \ClassWithNonPublicAttributes; - - $this->assertAttributeNotContains('foo', 'protectedArray', $obj); - - $this->expectException(AssertionFailedError::class); - - $this->assertAttributeNotContains('bar', 'protectedArray', $obj); - } - - public function testAssertPrivateAttributeContains(): void - { - $obj = new \ClassWithNonPublicAttributes; - - $this->assertAttributeContains('baz', 'privateArray', $obj); - - $this->expectException(AssertionFailedError::class); - - $this->assertAttributeContains('foo', 'privateArray', $obj); - } - - public function testAssertPrivateAttributeNotContains(): void - { - $obj = new \ClassWithNonPublicAttributes; - - $this->assertAttributeNotContains('foo', 'privateArray', $obj); - - $this->expectException(AssertionFailedError::class); - - $this->assertAttributeNotContains('baz', 'privateArray', $obj); - } - - public function testAssertAttributeContainsNonObject(): void - { - $obj = new \ClassWithNonPublicAttributes; - - $this->assertAttributeContains(true, 'privateArray', $obj); - - $this->expectException(AssertionFailedError::class); - - $this->assertAttributeContains(true, 'privateArray', $obj, '', false, true, true); - } - - public function testAssertAttributeNotContainsNonObject(): void - { - $obj = new \ClassWithNonPublicAttributes; - - $this->assertAttributeNotContains(true, 'privateArray', $obj, '', false, true, true); - - $this->expectException(AssertionFailedError::class); - - $this->assertAttributeNotContains(true, 'privateArray', $obj); - } - - public function testAssertPublicAttributeEquals(): void - { - $obj = new \ClassWithNonPublicAttributes; - - $this->assertAttributeEquals('foo', 'publicAttribute', $obj); - - $this->expectException(AssertionFailedError::class); - - $this->assertAttributeEquals('bar', 'publicAttribute', $obj); - } - - public function testAssertPublicAttributeNotEquals(): void - { - $obj = new \ClassWithNonPublicAttributes; - - $this->assertAttributeNotEquals('bar', 'publicAttribute', $obj); - - $this->expectException(AssertionFailedError::class); - - $this->assertAttributeNotEquals('foo', 'publicAttribute', $obj); - } - - public function testAssertPublicAttributeSame(): void - { - $obj = new \ClassWithNonPublicAttributes; - - $this->assertAttributeSame('foo', 'publicAttribute', $obj); - - $this->expectException(AssertionFailedError::class); - - $this->assertAttributeSame('bar', 'publicAttribute', $obj); - } - - public function testAssertPublicAttributeNotSame(): void - { - $obj = new \ClassWithNonPublicAttributes; - - $this->assertAttributeNotSame('bar', 'publicAttribute', $obj); - - $this->expectException(AssertionFailedError::class); - - $this->assertAttributeNotSame('foo', 'publicAttribute', $obj); - } - - public function testAssertProtectedAttributeEquals(): void - { - $obj = new \ClassWithNonPublicAttributes; - - $this->assertAttributeEquals('bar', 'protectedAttribute', $obj); - - $this->expectException(AssertionFailedError::class); - - $this->assertAttributeEquals('foo', 'protectedAttribute', $obj); - } - - public function testAssertProtectedAttributeNotEquals(): void - { - $obj = new \ClassWithNonPublicAttributes; - - $this->assertAttributeNotEquals('foo', 'protectedAttribute', $obj); - - $this->expectException(AssertionFailedError::class); - - $this->assertAttributeNotEquals('bar', 'protectedAttribute', $obj); - } - - public function testAssertPrivateAttributeEquals(): void - { - $obj = new \ClassWithNonPublicAttributes; - - $this->assertAttributeEquals('baz', 'privateAttribute', $obj); - - $this->expectException(AssertionFailedError::class); - - $this->assertAttributeEquals('foo', 'privateAttribute', $obj); - } - - public function testAssertPrivateAttributeNotEquals(): void - { - $obj = new \ClassWithNonPublicAttributes; - - $this->assertAttributeNotEquals('foo', 'privateAttribute', $obj); - - $this->expectException(AssertionFailedError::class); - - $this->assertAttributeNotEquals('baz', 'privateAttribute', $obj); - } - - public function testAssertPublicStaticAttributeEquals(): void - { - $this->assertAttributeEquals('foo', 'publicStaticAttribute', \ClassWithNonPublicAttributes::class); - - $this->expectException(AssertionFailedError::class); - - $this->assertAttributeEquals('bar', 'publicStaticAttribute', \ClassWithNonPublicAttributes::class); - } - - public function testAssertPublicStaticAttributeNotEquals(): void - { - $this->assertAttributeNotEquals('bar', 'publicStaticAttribute', \ClassWithNonPublicAttributes::class); - - $this->expectException(AssertionFailedError::class); - - $this->assertAttributeNotEquals('foo', 'publicStaticAttribute', \ClassWithNonPublicAttributes::class); - } - - public function testAssertProtectedStaticAttributeEquals(): void - { - $this->assertAttributeEquals('bar', 'protectedStaticAttribute', \ClassWithNonPublicAttributes::class); - - $this->expectException(AssertionFailedError::class); - - $this->assertAttributeEquals('foo', 'protectedStaticAttribute', \ClassWithNonPublicAttributes::class); - } - - public function testAssertProtectedStaticAttributeNotEquals(): void - { - $this->assertAttributeNotEquals('foo', 'protectedStaticAttribute', \ClassWithNonPublicAttributes::class); - - $this->expectException(AssertionFailedError::class); - - $this->assertAttributeNotEquals('bar', 'protectedStaticAttribute', \ClassWithNonPublicAttributes::class); - } - - public function testAssertPrivateStaticAttributeEquals(): void - { - $this->assertAttributeEquals('baz', 'privateStaticAttribute', \ClassWithNonPublicAttributes::class); - - $this->expectException(AssertionFailedError::class); - - $this->assertAttributeEquals('foo', 'privateStaticAttribute', \ClassWithNonPublicAttributes::class); - } - - public function testAssertPrivateStaticAttributeNotEquals(): void - { - $this->assertAttributeNotEquals('foo', 'privateStaticAttribute', \ClassWithNonPublicAttributes::class); - - $this->expectException(AssertionFailedError::class); - - $this->assertAttributeNotEquals('baz', 'privateStaticAttribute', \ClassWithNonPublicAttributes::class); - } - - public function testAssertClassHasAttributeThrowsExceptionIfAttributeNameIsNotValid(): void - { - $this->expectException(Exception::class); - - $this->assertClassHasAttribute('1', \ClassWithNonPublicAttributes::class); - } - - public function testAssertClassHasAttributeThrowsExceptionIfClassDoesNotExist(): void - { - $this->expectException(Exception::class); - - $this->assertClassHasAttribute('attribute', 'ClassThatDoesNotExist'); - } - - public function testAssertClassNotHasAttributeThrowsExceptionIfAttributeNameIsNotValid(): void - { - $this->expectException(Exception::class); - - $this->assertClassNotHasAttribute('1', \ClassWithNonPublicAttributes::class); - } - - public function testAssertClassNotHasAttributeThrowsExceptionIfClassDoesNotExist(): void - { - $this->expectException(Exception::class); - - $this->assertClassNotHasAttribute('attribute', 'ClassThatDoesNotExist'); - } - - public function testAssertClassHasStaticAttributeThrowsExceptionIfAttributeNameIsNotValid(): void - { - $this->expectException(Exception::class); - - $this->assertClassHasStaticAttribute('1', \ClassWithNonPublicAttributes::class); - } - - public function testAssertClassHasStaticAttributeThrowsExceptionIfClassDoesNotExist(): void - { - $this->expectException(Exception::class); - - $this->assertClassHasStaticAttribute('attribute', 'ClassThatDoesNotExist'); - } - - public function testAssertClassNotHasStaticAttributeThrowsExceptionIfAttributeNameIsNotValid(): void - { - $this->expectException(Exception::class); - - $this->assertClassNotHasStaticAttribute('1', \ClassWithNonPublicAttributes::class); - } - - public function testAssertClassNotHasStaticAttributeThrowsExceptionIfClassDoesNotExist(): void - { - $this->expectException(Exception::class); - - $this->assertClassNotHasStaticAttribute('attribute', 'ClassThatDoesNotExist'); - } - - public function testAssertObjectHasAttributeThrowsException2(): void - { - $this->expectException(Exception::class); - - $this->assertObjectHasAttribute('foo', null); - } - - public function testAssertObjectHasAttributeThrowsExceptionIfAttributeNameIsNotValid(): void - { - $this->expectException(Exception::class); - - $this->assertObjectHasAttribute('1', \ClassWithNonPublicAttributes::class); - } - - public function testAssertObjectNotHasAttributeThrowsException2(): void - { - $this->expectException(Exception::class); - - $this->assertObjectNotHasAttribute('foo', null); - } - - public function testAssertObjectNotHasAttributeThrowsExceptionIfAttributeNameIsNotValid(): void - { - $this->expectException(Exception::class); - - $this->assertObjectNotHasAttribute('1', \ClassWithNonPublicAttributes::class); - } - - public function testClassHasPublicAttribute(): void - { - $this->assertClassHasAttribute('publicAttribute', \ClassWithNonPublicAttributes::class); - - $this->expectException(AssertionFailedError::class); - - $this->assertClassHasAttribute('attribute', \ClassWithNonPublicAttributes::class); - } - - public function testClassNotHasPublicAttribute(): void - { - $this->assertClassNotHasAttribute('attribute', \ClassWithNonPublicAttributes::class); - - $this->expectException(AssertionFailedError::class); - - $this->assertClassNotHasAttribute('publicAttribute', \ClassWithNonPublicAttributes::class); - } - - public function testClassHasPublicStaticAttribute(): void - { - $this->assertClassHasStaticAttribute('publicStaticAttribute', \ClassWithNonPublicAttributes::class); - - $this->expectException(AssertionFailedError::class); - - $this->assertClassHasStaticAttribute('attribute', \ClassWithNonPublicAttributes::class); - } - - public function testClassNotHasPublicStaticAttribute(): void - { - $this->assertClassNotHasStaticAttribute('attribute', \ClassWithNonPublicAttributes::class); - - $this->expectException(AssertionFailedError::class); - - $this->assertClassNotHasStaticAttribute('publicStaticAttribute', \ClassWithNonPublicAttributes::class); - } - - public function testObjectHasPublicAttribute(): void - { - $obj = new \ClassWithNonPublicAttributes; - - $this->assertObjectHasAttribute('publicAttribute', $obj); - - $this->expectException(AssertionFailedError::class); - - $this->assertObjectHasAttribute('attribute', $obj); - } - - public function testObjectNotHasPublicAttribute(): void - { - $obj = new \ClassWithNonPublicAttributes; - - $this->assertObjectNotHasAttribute('attribute', $obj); - - $this->expectException(AssertionFailedError::class); - - $this->assertObjectNotHasAttribute('publicAttribute', $obj); - } - - public function testObjectHasOnTheFlyAttribute(): void - { - $obj = new \stdClass; - $obj->foo = 'bar'; - - $this->assertObjectHasAttribute('foo', $obj); - - $this->expectException(AssertionFailedError::class); - - $this->assertObjectHasAttribute('bar', $obj); - } - - public function testObjectNotHasOnTheFlyAttribute(): void - { - $obj = new \stdClass; - $obj->foo = 'bar'; - - $this->assertObjectNotHasAttribute('bar', $obj); - - $this->expectException(AssertionFailedError::class); - - $this->assertObjectNotHasAttribute('foo', $obj); - } - - public function testObjectHasProtectedAttribute(): void - { - $obj = new \ClassWithNonPublicAttributes; - - $this->assertObjectHasAttribute('protectedAttribute', $obj); - - $this->expectException(AssertionFailedError::class); - - $this->assertObjectHasAttribute('attribute', $obj); - } - - public function testObjectNotHasProtectedAttribute(): void - { - $obj = new \ClassWithNonPublicAttributes; - - $this->assertObjectNotHasAttribute('attribute', $obj); - - $this->expectException(AssertionFailedError::class); - - $this->assertObjectNotHasAttribute('protectedAttribute', $obj); - } - - public function testObjectHasPrivateAttribute(): void - { - $obj = new \ClassWithNonPublicAttributes; - - $this->assertObjectHasAttribute('privateAttribute', $obj); - - $this->expectException(AssertionFailedError::class); - - $this->assertObjectHasAttribute('attribute', $obj); - } - - public function testObjectNotHasPrivateAttribute(): void - { - $obj = new \ClassWithNonPublicAttributes; - - $this->assertObjectNotHasAttribute('attribute', $obj); - - $this->expectException(AssertionFailedError::class); - - $this->assertObjectNotHasAttribute('privateAttribute', $obj); - } - - public function testAssertThatAttributeEquals(): void - { - $this->assertThat( - new \ClassWithNonPublicAttributes, - $this->attribute( - $this->equalTo('foo'), - 'publicAttribute' - ) - ); - } - - public function testAssertThatAttributeEquals2(): void - { - $this->expectException(AssertionFailedError::class); - - $this->assertThat( - new \ClassWithNonPublicAttributes, - $this->attribute( - $this->equalTo('bar'), - 'publicAttribute' - ) - ); - } - - public function testAssertThatAttributeEqualTo(): void - { - $this->assertThat( - new \ClassWithNonPublicAttributes, - $this->attributeEqualTo('publicAttribute', 'foo') - ); - } - - /** - * @doesNotPerformAssertions - */ - public function testAssertThatAnything(): void - { - $this->assertThat('anything', $this->anything()); - } - - public function testAssertThatIsTrue(): void - { - $this->assertThat(true, $this->isTrue()); - } - - public function testAssertThatIsFalse(): void - { - $this->assertThat(false, $this->isFalse()); - } - - public function testAssertThatIsJson(): void - { - $this->assertThat('{}', $this->isJson()); - } - - /** - * @doesNotPerformAssertions - */ - public function testAssertThatAnythingAndAnything(): void - { - $this->assertThat( - 'anything', - $this->logicalAnd( - $this->anything(), - $this->anything() - ) - ); - } - - /** - * @doesNotPerformAssertions - */ - public function testAssertThatAnythingOrAnything(): void - { - $this->assertThat( - 'anything', - $this->logicalOr( - $this->anything(), - $this->anything() - ) - ); - } - - /** - * @doesNotPerformAssertions - */ - public function testAssertThatAnythingXorNotAnything(): void - { - $this->assertThat( - 'anything', - $this->logicalXor( - $this->anything(), - $this->logicalNot($this->anything()) - ) - ); - } - - public function testAssertThatContains(): void - { - $this->assertThat(['foo'], $this->contains('foo')); - } - - public function testAssertThatStringContains(): void - { - $this->assertThat('barfoobar', $this->stringContains('foo')); - } - - public function testAssertThatContainsOnly(): void - { - $this->assertThat(['foo'], $this->containsOnly('string')); - } - - public function testAssertThatContainsOnlyInstancesOf(): void - { - $this->assertThat([new \Book], $this->containsOnlyInstancesOf(\Book::class)); - } - - public function testAssertThatArrayHasKey(): void - { - $this->assertThat(['foo' => 'bar'], $this->arrayHasKey('foo')); - } - - public function testAssertThatClassHasAttribute(): void - { - $this->assertThat( - new \ClassWithNonPublicAttributes, - $this->classHasAttribute('publicAttribute') - ); - } - - public function testAssertThatClassHasStaticAttribute(): void - { - $this->assertThat( - new \ClassWithNonPublicAttributes, - $this->classHasStaticAttribute('publicStaticAttribute') - ); - } - - public function testAssertThatObjectHasAttribute(): void - { - $this->assertThat( - new \ClassWithNonPublicAttributes, - $this->objectHasAttribute('publicAttribute') - ); - } - - public function testAssertThatEqualTo(): void - { - $this->assertThat('foo', $this->equalTo('foo')); - } - - public function testAssertThatIdenticalTo(): void - { - $value = new \stdClass; - $constraint = $this->identicalTo($value); - - $this->assertThat($value, $constraint); - } - - public function testAssertThatIsInstanceOf(): void - { - $this->assertThat(new \stdClass, $this->isInstanceOf('StdClass')); - } - - public function testAssertThatIsType(): void - { - $this->assertThat('string', $this->isType('string')); - } - - public function testAssertThatIsEmpty(): void - { - $this->assertThat([], $this->isEmpty()); - } - - public function testAssertThatFileExists(): void - { - $this->assertThat(__FILE__, $this->fileExists()); - } - - public function testAssertThatGreaterThan(): void - { - $this->assertThat(2, $this->greaterThan(1)); - } - - public function testAssertThatGreaterThanOrEqual(): void - { - $this->assertThat(2, $this->greaterThanOrEqual(1)); - } - - public function testAssertThatLessThan(): void - { - $this->assertThat(1, $this->lessThan(2)); - } - - public function testAssertThatLessThanOrEqual(): void - { - $this->assertThat(1, $this->lessThanOrEqual(2)); - } - - public function testAssertThatMatchesRegularExpression(): void - { - $this->assertThat('foobar', $this->matchesRegularExpression('/foo/')); - } - - public function testAssertThatCallback(): void - { - $this->assertThat( - null, - $this->callback(function ($other) { - return true; - }) - ); - } - - public function testAssertThatCountOf(): void - { - $this->assertThat([1], $this->countOf(1)); - } - - public function testAssertFileEquals(): void - { - $this->assertFileEquals( - TEST_FILES_PATH . 'foo.xml', - TEST_FILES_PATH . 'foo.xml' - ); - - $this->expectException(AssertionFailedError::class); - - $this->assertFileEquals( - TEST_FILES_PATH . 'foo.xml', - TEST_FILES_PATH . 'bar.xml' - ); - } - - public function testAssertFileNotEquals(): void - { - $this->assertFileNotEquals( - TEST_FILES_PATH . 'foo.xml', - TEST_FILES_PATH . 'bar.xml' - ); - - $this->expectException(AssertionFailedError::class); - - $this->assertFileNotEquals( - TEST_FILES_PATH . 'foo.xml', - TEST_FILES_PATH . 'foo.xml' - ); - } - - public function testAssertStringEqualsFile(): void - { - $this->assertStringEqualsFile( - TEST_FILES_PATH . 'foo.xml', - \file_get_contents(TEST_FILES_PATH . 'foo.xml') - ); - - $this->expectException(AssertionFailedError::class); - - $this->assertStringEqualsFile( - TEST_FILES_PATH . 'foo.xml', - \file_get_contents(TEST_FILES_PATH . 'bar.xml') - ); - } - - public function testAssertStringNotEqualsFile(): void - { - $this->assertStringNotEqualsFile( - TEST_FILES_PATH . 'foo.xml', - \file_get_contents(TEST_FILES_PATH . 'bar.xml') - ); - - $this->expectException(AssertionFailedError::class); - - $this->assertStringNotEqualsFile( - TEST_FILES_PATH . 'foo.xml', - \file_get_contents(TEST_FILES_PATH . 'foo.xml') - ); - } - - public function testAssertStringStartsNotWithThrowsException2(): void - { - $this->expectException(Exception::class); - - $this->assertStringStartsNotWith('', null); - } - - public function testAssertStringStartsWith(): void - { - $this->assertStringStartsWith('prefix', 'prefixfoo'); - - $this->expectException(AssertionFailedError::class); - - $this->assertStringStartsWith('prefix', 'foo'); - } - - public function testAssertStringStartsNotWith(): void - { - $this->assertStringStartsNotWith('prefix', 'foo'); - - $this->expectException(AssertionFailedError::class); - - $this->assertStringStartsNotWith('prefix', 'prefixfoo'); - } - - public function testAssertStringEndsWith(): void - { - $this->assertStringEndsWith('suffix', 'foosuffix'); - - $this->expectException(AssertionFailedError::class); - - $this->assertStringEndsWith('suffix', 'foo'); - } - - public function testAssertStringEndsNotWith(): void - { - $this->assertStringEndsNotWith('suffix', 'foo'); - - $this->expectException(AssertionFailedError::class); - - $this->assertStringEndsNotWith('suffix', 'foosuffix'); - } - - public function testAssertStringMatchesFormat(): void - { - $this->assertStringMatchesFormat('*%s*', '***'); - } - - public function testAssertStringMatchesFormatFailure(): void - { - $this->expectException(AssertionFailedError::class); - - $this->assertStringMatchesFormat('*%s*', '**'); - } - - public function testAssertStringNotMatchesFormat(): void - { - $this->assertStringNotMatchesFormat('*%s*', '**'); - - $this->expectException(AssertionFailedError::class); - - $this->assertStringMatchesFormat('*%s*', '**'); - } - - public function testAssertEmpty(): void - { - $this->assertEmpty([]); - - $this->expectException(AssertionFailedError::class); - - $this->assertEmpty(['foo']); - } - - public function testAssertNotEmpty(): void - { - $this->assertNotEmpty(['foo']); - - $this->expectException(AssertionFailedError::class); - - $this->assertNotEmpty([]); - } - - public function testAssertAttributeEmpty(): void - { - $o = new \stdClass; - $o->a = []; - - $this->assertAttributeEmpty('a', $o); - - $o->a = ['b']; - - $this->expectException(AssertionFailedError::class); - - $this->assertAttributeEmpty('a', $o); - } - - public function testAssertAttributeNotEmpty(): void - { - $o = new \stdClass; - $o->a = ['b']; - - $this->assertAttributeNotEmpty('a', $o); - - $o->a = []; - - $this->expectException(AssertionFailedError::class); - - $this->assertAttributeNotEmpty('a', $o); - } - - public function testMarkTestIncomplete(): void - { - try { - $this->markTestIncomplete('incomplete'); - } catch (IncompleteTestError $e) { - $this->assertEquals('incomplete', $e->getMessage()); - - return; - } - - $this->fail(); - } - - public function testMarkTestSkipped(): void - { - try { - $this->markTestSkipped('skipped'); - } catch (SkippedTestError $e) { - $this->assertEquals('skipped', $e->getMessage()); - - return; - } - - $this->fail(); - } - - public function testAssertCount(): void - { - $this->assertCount(2, [1, 2]); - - $this->expectException(AssertionFailedError::class); - - $this->assertCount(2, [1, 2, 3]); - } - - public function testAssertCountTraversable(): void - { - $this->assertCount(2, new \ArrayIterator([1, 2])); - - $this->expectException(AssertionFailedError::class); - - $this->assertCount(2, new \ArrayIterator([1, 2, 3])); - } - - public function testAssertCountThrowsExceptionIfElementIsNotCountable(): void - { - try { - $this->assertCount(2, ''); - } catch (Exception $e) { - $this->assertEquals('Argument #2 (No Value) of PHPUnit\Framework\Assert::assertCount() must be a countable or iterable', $e->getMessage()); - - return; - } - - $this->fail(); - } - - public function testAssertAttributeCount(): void - { - $o = new \stdClass; - $o->a = []; - - $this->assertAttributeCount(0, 'a', $o); - } - - public function testAssertNotCount(): void - { - $this->assertNotCount(2, [1, 2, 3]); - - $this->expectException(AssertionFailedError::class); - - $this->assertNotCount(2, [1, 2]); - } - - public function testAssertNotCountThrowsExceptionIfElementIsNotCountable(): void - { - $this->expectException(Exception::class); - - $this->assertNotCount(2, ''); - } - - public function testAssertAttributeNotCount(): void - { - $o = new \stdClass; - $o->a = []; - - $this->assertAttributeNotCount(1, 'a', $o); - } - - public function testAssertSameSize(): void - { - $this->assertSameSize([1, 2], [3, 4]); - - $this->expectException(AssertionFailedError::class); - - $this->assertSameSize([1, 2], [1, 2, 3]); - } - - public function testAssertSameSizeThrowsExceptionIfExpectedIsNotCountable(): void - { - try { - $this->assertSameSize('a', []); - } catch (Exception $e) { - $this->assertEquals('Argument #1 (No Value) of PHPUnit\Framework\Assert::assertSameSize() must be a countable or iterable', $e->getMessage()); - - return; - } - - $this->fail(); - } - - public function testAssertSameSizeThrowsExceptionIfActualIsNotCountable(): void - { - try { - $this->assertSameSize([], ''); - } catch (Exception $e) { - $this->assertEquals('Argument #2 (No Value) of PHPUnit\Framework\Assert::assertSameSize() must be a countable or iterable', $e->getMessage()); - - return; - } - - $this->fail(); - } - - public function testAssertNotSameSize(): void - { - $this->assertNotSameSize([1, 2], [1, 2, 3]); - - $this->expectException(AssertionFailedError::class); - - $this->assertNotSameSize([1, 2], [3, 4]); - } - - public function testAssertNotSameSizeThrowsExceptionIfExpectedIsNotCountable(): void - { - $this->expectException(Exception::class); - - $this->assertNotSameSize('a', []); - } - - public function testAssertNotSameSizeThrowsExceptionIfActualIsNotCountable(): void - { - $this->expectException(Exception::class); - - $this->assertNotSameSize([], ''); - } - - public function testAssertJson(): void - { - $this->assertJson('{}'); - } - - public function testAssertJsonStringEqualsJsonString(): void - { - $expected = '{"Mascott" : "Tux"}'; - $actual = '{"Mascott" : "Tux"}'; - $message = 'Given Json strings do not match'; - - $this->assertJsonStringEqualsJsonString($expected, $actual, $message); - } - - /** - * @dataProvider validInvalidJsonDataprovider - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public function testAssertJsonStringEqualsJsonStringErrorRaised($expected, $actual): void - { - $this->expectException(AssertionFailedError::class); - - $this->assertJsonStringEqualsJsonString($expected, $actual); - } - - public function testAssertJsonStringNotEqualsJsonString(): void - { - $expected = '{"Mascott" : "Beastie"}'; - $actual = '{"Mascott" : "Tux"}'; - $message = 'Given Json strings do match'; - - $this->assertJsonStringNotEqualsJsonString($expected, $actual, $message); - } - - /** - * @dataProvider validInvalidJsonDataprovider - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public function testAssertJsonStringNotEqualsJsonStringErrorRaised($expected, $actual): void - { - $this->expectException(AssertionFailedError::class); - - $this->assertJsonStringNotEqualsJsonString($expected, $actual); - } - - public function testAssertJsonStringEqualsJsonFile(): void - { - $file = TEST_FILES_PATH . 'JsonData/simpleObject.json'; - $actual = \json_encode(['Mascott' => 'Tux']); - $message = ''; - - $this->assertJsonStringEqualsJsonFile($file, $actual, $message); - } - - public function testAssertJsonStringEqualsJsonFileExpectingExpectationFailedException(): void - { - $file = TEST_FILES_PATH . 'JsonData/simpleObject.json'; - $actual = \json_encode(['Mascott' => 'Beastie']); - $message = ''; - - try { - $this->assertJsonStringEqualsJsonFile($file, $actual, $message); - } catch (ExpectationFailedException $e) { - $this->assertEquals( - 'Failed asserting that \'{"Mascott":"Beastie"}\' matches JSON string "{"Mascott":"Tux"}".', - $e->getMessage() - ); - - return; - } - - $this->fail('Expected Exception not thrown.'); - } - - public function testAssertJsonStringNotEqualsJsonFile(): void - { - $file = TEST_FILES_PATH . 'JsonData/simpleObject.json'; - $actual = \json_encode(['Mascott' => 'Beastie']); - $message = ''; - - $this->assertJsonStringNotEqualsJsonFile($file, $actual, $message); - } - - public function testAssertJsonFileNotEqualsJsonFile(): void - { - $fileExpected = TEST_FILES_PATH . 'JsonData/simpleObject.json'; - $fileActual = TEST_FILES_PATH . 'JsonData/arrayObject.json'; - $message = ''; - - $this->assertJsonFileNotEqualsJsonFile($fileExpected, $fileActual, $message); - } - - public function testAssertJsonFileEqualsJsonFile(): void - { - $file = TEST_FILES_PATH . 'JsonData/simpleObject.json'; - $message = ''; - - $this->assertJsonFileEqualsJsonFile($file, $file, $message); - } - - public function testAssertInstanceOfThrowsExceptionIfTypeDoesNotExist(): void - { - $this->expectException(Exception::class); - - $this->assertInstanceOf('ClassThatDoesNotExist', new \stdClass); - } - - public function testAssertInstanceOf(): void - { - $this->assertInstanceOf(\stdClass::class, new \stdClass); - - $this->expectException(AssertionFailedError::class); - - $this->assertInstanceOf(\Exception::class, new \stdClass); - } - - public function testAssertAttributeInstanceOf(): void - { - $o = new \stdClass; - $o->a = new \stdClass; - - $this->assertAttributeInstanceOf(\stdClass::class, 'a', $o); - } - - public function testAssertNotInstanceOfThrowsExceptionIfTypeDoesNotExist(): void - { - $this->expectException(Exception::class); - - $this->assertNotInstanceOf('ClassThatDoesNotExist', new \stdClass); - } - - public function testAssertNotInstanceOf(): void - { - $this->assertNotInstanceOf(\Exception::class, new \stdClass); - - $this->expectException(AssertionFailedError::class); - - $this->assertNotInstanceOf(\stdClass::class, new \stdClass); - } - - public function testAssertAttributeNotInstanceOf(): void - { - $o = new \stdClass; - $o->a = new \stdClass; - - $this->assertAttributeNotInstanceOf(\Exception::class, 'a', $o); - } - - public function testAssertInternalType(): void - { - $this->assertInternalType('integer', 1); - - $this->expectException(AssertionFailedError::class); - - $this->assertInternalType('string', 1); - } - - public function testAssertInternalTypeDouble(): void - { - $this->assertInternalType('double', 1.0); - - $this->expectException(AssertionFailedError::class); - - $this->assertInternalType('double', 1); - } - - public function testAssertAttributeInternalType(): void - { - $o = new \stdClass; - $o->a = 1; - - $this->assertAttributeInternalType('integer', 'a', $o); - } - - public function testAssertNotInternalType(): void - { - $this->assertNotInternalType('string', 1); - - $this->expectException(AssertionFailedError::class); - - $this->assertNotInternalType('integer', 1); - } - - public function testAssertAttributeNotInternalType(): void - { - $o = new \stdClass; - $o->a = 1; - - $this->assertAttributeNotInternalType('string', 'a', $o); - } - - public function testAssertStringMatchesFormatFileThrowsExceptionForInvalidArgument(): void - { - $this->expectException(Exception::class); - - $this->assertStringMatchesFormatFile('not_existing_file', ''); - } - - public function testAssertStringMatchesFormatFile(): void - { - $this->assertStringMatchesFormatFile(TEST_FILES_PATH . 'expectedFileFormat.txt', "FOO\n"); - - $this->expectException(AssertionFailedError::class); - - $this->assertStringMatchesFormatFile(TEST_FILES_PATH . 'expectedFileFormat.txt', "BAR\n"); - } - - public function testAssertStringNotMatchesFormatFileThrowsExceptionForInvalidArgument(): void - { - $this->expectException(Exception::class); - - $this->assertStringNotMatchesFormatFile('not_existing_file', ''); - } - - public function testAssertStringNotMatchesFormatFile(): void - { - $this->assertStringNotMatchesFormatFile(TEST_FILES_PATH . 'expectedFileFormat.txt', "BAR\n"); - - $this->expectException(AssertionFailedError::class); - - $this->assertStringNotMatchesFormatFile(TEST_FILES_PATH . 'expectedFileFormat.txt', "FOO\n"); - } - - public function testStringsCanBeComparedForEqualityIgnoringCase(): void - { - $this->assertEqualsIgnoringCase('a', 'A'); - - $this->assertNotEqualsIgnoringCase('a', 'B'); - } - - public function testArraysOfStringsCanBeComparedForEqualityIgnoringCase(): void - { - $this->assertEqualsIgnoringCase(['a'], ['A']); - - $this->assertNotEqualsIgnoringCase(['a'], ['B']); - } - - public function testStringsCanBeComparedForEqualityWithDelta(): void - { - $this->assertEqualsWithDelta(2.3, 2.5, 0.5); - - $this->assertNotEqualsWithDelta(2.3, 3.5, 0.5); - } - - public function testArraysOfStringsCanBeComparedForEqualityWithDelta(): void - { - $this->assertEqualsWithDelta([2.3], [2.5], 0.5); - - $this->assertNotEqualsWithDelta([2.3], [3.5], 0.5); - } - - public function testArraysCanBeComparedForEqualityWithCanonicalization(): void - { - $this->assertEqualsCanonicalizing([3, 2, 1], [2, 3, 1]); - - $this->assertNotEqualsCanonicalizing([3, 2, 1], [2, 3, 4]); - } - - public function testArrayTypeCanBeAsserted(): void - { - $this->assertIsArray([]); - - try { - $this->assertIsArray(null); - } catch (AssertionFailedError $e) { - return; - } - - $this->fail(); - } - - public function testBoolTypeCanBeAsserted(): void - { - $this->assertIsBool(true); - - try { - $this->assertIsBool(null); - } catch (AssertionFailedError $e) { - return; - } - - $this->fail(); - } - - public function testFloatTypeCanBeAsserted(): void - { - $this->assertIsFloat(0.0); - - try { - $this->assertIsFloat(null); - } catch (AssertionFailedError $e) { - return; - } - - $this->fail(); - } - - public function testIntTypeCanBeAsserted(): void - { - $this->assertIsInt(1); - - try { - $this->assertIsInt(null); - } catch (AssertionFailedError $e) { - return; - } - - $this->fail(); - } - - public function testNumericTypeCanBeAsserted(): void - { - $this->assertIsNumeric('1.0'); - - try { - $this->assertIsNumeric('abc'); - } catch (AssertionFailedError $e) { - return; - } - - $this->fail(); - } - - public function testObjectTypeCanBeAsserted(): void - { - $this->assertIsObject(new \stdClass); - - try { - $this->assertIsObject(null); - } catch (AssertionFailedError $e) { - return; - } - - $this->fail(); - } - - public function testResourceTypeCanBeAsserted(): void - { - $this->assertIsResource(\fopen(__FILE__, 'r')); - - try { - $this->assertIsResource(null); - } catch (AssertionFailedError $e) { - return; - } - - $this->fail(); - } - - public function testStringTypeCanBeAsserted(): void - { - $this->assertIsString(''); - - try { - $this->assertIsString(null); - } catch (AssertionFailedError $e) { - return; - } - - $this->fail(); - } - - public function testScalarTypeCanBeAsserted(): void - { - $this->assertIsScalar(true); - - try { - $this->assertIsScalar(new \stdClass); - } catch (AssertionFailedError $e) { - return; - } - - $this->fail(); - } - - public function testCallableTypeCanBeAsserted(): void - { - $this->assertIsCallable(function () { - }); - - try { - $this->assertIsCallable(null); - } catch (AssertionFailedError $e) { - return; - } - - $this->fail(); - } - - public function testIterableTypeCanBeAsserted(): void - { - $this->assertIsIterable([]); - - try { - $this->assertIsIterable(null); - } catch (AssertionFailedError $e) { - return; - } - - $this->fail(); - } - - public function testNotArrayTypeCanBeAsserted(): void - { - $this->assertIsNotArray(null); - - try { - $this->assertIsNotArray([]); - } catch (AssertionFailedError $e) { - return; - } - - $this->fail(); - } - - public function testNotBoolTypeCanBeAsserted(): void - { - $this->assertIsNotBool(null); - - try { - $this->assertIsNotBool(true); - } catch (AssertionFailedError $e) { - return; - } - - $this->fail(); - } - - public function testNotFloatTypeCanBeAsserted(): void - { - $this->assertIsNotFloat(null); - - try { - $this->assertIsNotFloat(0.0); - } catch (AssertionFailedError $e) { - return; - } - - $this->fail(); - } - - public function testNotIntTypeCanBeAsserted(): void - { - $this->assertIsNotInt(null); - - try { - $this->assertIsNotInt(1); - } catch (AssertionFailedError $e) { - return; - } - - $this->fail(); - } - - public function testNotNumericTypeCanBeAsserted(): void - { - $this->assertIsNotNumeric('abc'); - - try { - $this->assertIsNotNumeric('1.0'); - } catch (AssertionFailedError $e) { - return; - } - - $this->fail(); - } - - public function testNotObjectTypeCanBeAsserted(): void - { - $this->assertIsNotObject(null); - - try { - $this->assertIsNotObject(new \stdClass); - } catch (AssertionFailedError $e) { - return; - } - - $this->fail(); - } - - public function testNotResourceTypeCanBeAsserted(): void - { - $this->assertIsNotResource(null); - - try { - $this->assertIsNotResource(\fopen(__FILE__, 'r')); - } catch (AssertionFailedError $e) { - return; - } - - $this->fail(); - } - - public function testNotScalarTypeCanBeAsserted(): void - { - $this->assertIsNotScalar(new \stdClass); - - try { - $this->assertIsNotScalar(true); - } catch (AssertionFailedError $e) { - return; - } - - $this->fail(); - } - - public function testNotStringTypeCanBeAsserted(): void - { - $this->assertIsNotString(null); - - try { - $this->assertIsNotString(''); - } catch (AssertionFailedError $e) { - return; - } - - $this->fail(); - } - - public function testNotCallableTypeCanBeAsserted(): void - { - $this->assertIsNotCallable(null); - - try { - $this->assertIsNotCallable(function () { - }); - } catch (AssertionFailedError $e) { - return; - } - - $this->fail(); - } - - public function testNotIterableTypeCanBeAsserted(): void - { - $this->assertIsNotIterable(null); - - try { - $this->assertIsNotIterable([]); - } catch (AssertionFailedError $e) { - return; - } - - $this->fail(); - } - - public function testLogicalAnd(): void - { - $this->assertThat( - true, - $this->logicalAnd( - $this->isTrue(), - $this->isTrue() - ) - ); - - $this->expectException(AssertionFailedError::class); - - $this->assertThat( - true, - $this->logicalAnd( - $this->isTrue(), - $this->isFalse() - ) - ); - } - - public function testLogicalOr(): void - { - $this->assertThat( - true, - $this->logicalOr( - $this->isTrue(), - $this->isFalse() - ) - ); - - $this->expectException(AssertionFailedError::class); - - $this->assertThat( - true, - $this->logicalOr( - $this->isFalse(), - $this->isFalse() - ) - ); - } - - public function testLogicalXor(): void - { - $this->assertThat( - true, - $this->logicalXor( - $this->isTrue(), - $this->isFalse() - ) - ); - - $this->expectException(AssertionFailedError::class); - - $this->assertThat( - true, - $this->logicalXor( - $this->isTrue(), - $this->isTrue() - ) - ); - } - - public function testStringContainsStringCanBeAsserted(): void - { - $this->assertStringContainsString('bar', 'foobarbaz'); - - try { - $this->assertStringContainsString('barbara', 'foobarbaz'); - } catch (AssertionFailedError $e) { - return; - } - - $this->fail(); - } - - public function testStringNotContainsStringCanBeAsserted(): void - { - $this->assertStringNotContainsString('barbara', 'foobarbaz'); - - try { - $this->assertStringNotContainsString('bar', 'foobarbaz'); - } catch (AssertionFailedError $e) { - return; - } - - $this->fail(); - } - - public function testStringContainsStringCanBeAssertedIgnoringCase(): void - { - $this->assertStringContainsStringIgnoringCase('BAR', 'foobarbaz'); - - try { - $this->assertStringContainsStringIgnoringCase('BARBARA', 'foobarbaz'); - } catch (AssertionFailedError $e) { - return; - } - - $this->fail(); - } - - public function testStringNotContainsStringCanBeAssertedIgnoringCase(): void - { - $this->assertStringNotContainsStringIgnoringCase('BARBARA', 'foobarbaz'); - - try { - $this->assertStringNotContainsStringIgnoringCase('BAR', 'foobarbaz'); - } catch (AssertionFailedError $e) { - return; - } - - $this->fail(); - } - - public function testIterableContainsSameObjectCanBeAsserted(): void - { - $object = new \stdClass; - $iterable = [$object]; - - $this->assertContains($object, $iterable); - - try { - $this->assertContains(new \stdClass, $iterable); - } catch (AssertionFailedError $e) { - return; - } - - $this->fail(); - } - - public function testIterableNotContainsSameObjectCanBeAsserted(): void - { - $object = new \stdClass; - $iterable = [$object]; - - $this->assertNotContains(new \stdClass, $iterable); - - try { - $this->assertNotContains($object, $iterable); - } catch (AssertionFailedError $e) { - return; - } - - $this->fail(); - } - - protected function sameValues(): array - { - $object = new \SampleClass(4, 8, 15); - $file = TEST_FILES_PATH . 'foo.xml'; - $resource = \fopen($file, 'r'); - - return [ - // null - [null, null], - // strings - ['a', 'a'], - // integers - [0, 0], - // floats - [2.3, 2.3], - [1 / 3, 1 - 2 / 3], - [\log(0), \log(0)], - // arrays - [[], []], - [[0 => 1], [0 => 1]], - [[0 => null], [0 => null]], - [['a', 'b' => [1, 2]], ['a', 'b' => [1, 2]]], - // objects - [$object, $object], - // resources - [$resource, $resource], - ]; - } - - protected function notEqualValues(): array - { - // cyclic dependencies - $book1 = new \Book; - $book1->author = new \Author('Terry Pratchett'); - $book1->author->books[] = $book1; - $book2 = new \Book; - $book2->author = new \Author('Terry Pratch'); - $book2->author->books[] = $book2; - - $book3 = new \Book; - $book3->author = 'Terry Pratchett'; - $book4 = new \stdClass; - $book4->author = 'Terry Pratchett'; - - $object1 = new \SampleClass(4, 8, 15); - $object2 = new \SampleClass(16, 23, 42); - $object3 = new \SampleClass(4, 8, 15); - $storage1 = new \SplObjectStorage; - $storage1->attach($object1); - $storage2 = new \SplObjectStorage; - $storage2->attach($object3); // same content, different object - - $file = TEST_FILES_PATH . 'foo.xml'; - - return [ - // strings - ['a', 'b'], - ['a', 'A'], - // https://github.com/sebastianbergmann/phpunit/issues/1023 - ['9E6666666', '9E7777777'], - // integers - [1, 2], - [2, 1], - // floats - [2.3, 4.2], - [2.3, 4.2, 0.5], - [[2.3], [4.2], 0.5], - [[[2.3]], [[4.2]], 0.5], - [new \Struct(2.3), new \Struct(4.2), 0.5], - [[new \Struct(2.3)], [new \Struct(4.2)], 0.5], - // NAN - [\NAN, \NAN], - // arrays - [[], [0 => 1]], - [[0 => 1], []], - [[0 => null], []], - [[0 => 1, 1 => 2], [0 => 1, 1 => 3]], - [['a', 'b' => [1, 2]], ['a', 'b' => [2, 1]]], - // objects - [new \SampleClass(4, 8, 15), new \SampleClass(16, 23, 42)], - [$object1, $object2], - [$book1, $book2], - [$book3, $book4], // same content, different class - // resources - [\fopen($file, 'r'), \fopen($file, 'r')], - // SplObjectStorage - [$storage1, $storage2], - // DOMDocument - [ - Xml::load(''), - Xml::load(''), - ], - [ - Xml::load(''), - Xml::load(''), - ], - [ - Xml::load(' bar '), - Xml::load(''), - ], - [ - Xml::load(''), - Xml::load(''), - ], - [ - Xml::load(' bar '), - Xml::load(' bir '), - ], - [ - new \DateTime('2013-03-29 04:13:35', new \DateTimeZone('America/New_York')), - new \DateTime('2013-03-29 03:13:35', new \DateTimeZone('America/New_York')), - ], - [ - new \DateTime('2013-03-29 04:13:35', new \DateTimeZone('America/New_York')), - new \DateTime('2013-03-29 03:13:35', new \DateTimeZone('America/New_York')), - 3500, - ], - [ - new \DateTime('2013-03-29 04:13:35', new \DateTimeZone('America/New_York')), - new \DateTime('2013-03-29 05:13:35', new \DateTimeZone('America/New_York')), - 3500, - ], - [ - new \DateTime('2013-03-29', new \DateTimeZone('America/New_York')), - new \DateTime('2013-03-30', new \DateTimeZone('America/New_York')), - ], - [ - new \DateTime('2013-03-29', new \DateTimeZone('America/New_York')), - new \DateTime('2013-03-30', new \DateTimeZone('America/New_York')), - 43200, - ], - [ - new \DateTime('2013-03-29 04:13:35', new \DateTimeZone('America/New_York')), - new \DateTime('2013-03-29 04:13:35', new \DateTimeZone('America/Chicago')), - ], - [ - new \DateTime('2013-03-29 04:13:35', new \DateTimeZone('America/New_York')), - new \DateTime('2013-03-29 04:13:35', new \DateTimeZone('America/Chicago')), - 3500, - ], - [ - new \DateTime('2013-03-30', new \DateTimeZone('America/New_York')), - new \DateTime('2013-03-30', new \DateTimeZone('America/Chicago')), - ], - [ - new \DateTime('2013-03-29T05:13:35-0600'), - new \DateTime('2013-03-29T04:13:35-0600'), - ], - [ - new \DateTime('2013-03-29T05:13:35-0600'), - new \DateTime('2013-03-29T05:13:35-0500'), - ], - // Exception - //array(new Exception('Exception 1'), new Exception('Exception 2')), - // different types - [new \SampleClass(4, 8, 15), false], - [false, new \SampleClass(4, 8, 15)], - [[0 => 1, 1 => 2], false], - [false, [0 => 1, 1 => 2]], - [[], new \stdClass], - [new \stdClass, []], - // PHP: 0 == 'Foobar' => true! - // We want these values to differ - [0, 'Foobar'], - ['Foobar', 0], - [3, \acos(8)], - [\acos(8), 3], - ]; - } - - protected function equalValues(): array - { - // cyclic dependencies - $book1 = new \Book; - $book1->author = new \Author('Terry Pratchett'); - $book1->author->books[] = $book1; - $book2 = new \Book; - $book2->author = new \Author('Terry Pratchett'); - $book2->author->books[] = $book2; - - $object1 = new \SampleClass(4, 8, 15); - $object2 = new \SampleClass(4, 8, 15); - $storage1 = new \SplObjectStorage; - $storage1->attach($object1); - $storage2 = new \SplObjectStorage; - $storage2->attach($object1); - - return [ - // strings - ['a', 'A', 0, false, true], // ignore case - // arrays - [['a' => 1, 'b' => 2], ['b' => 2, 'a' => 1]], - [[1], ['1']], - [[3, 2, 1], [2, 3, 1], 0, true], // canonicalized comparison - // floats - [2.3, 2.5, 0.5], - [[2.3], [2.5], 0.5], - [[[2.3]], [[2.5]], 0.5], - [new \Struct(2.3), new \Struct(2.5), 0.5], - [[new \Struct(2.3)], [new \Struct(2.5)], 0.5], - // numeric with delta - [1, 2, 1], - // objects - [$object1, $object2], - [$book1, $book2], - // SplObjectStorage - [$storage1, $storage2], - // DOMDocument - [ - Xml::load(''), - Xml::load(''), - ], - [ - Xml::load(''), - Xml::load(''), - ], - [ - Xml::load(''), - Xml::load(''), - ], - [ - Xml::load("\n \n"), - Xml::load(''), - ], - [ - new \DateTime('2013-03-29 04:13:35', new \DateTimeZone('America/New_York')), - new \DateTime('2013-03-29 04:13:35', new \DateTimeZone('America/New_York')), - ], - [ - new \DateTime('2013-03-29 04:13:35', new \DateTimeZone('America/New_York')), - new \DateTime('2013-03-29 04:13:25', new \DateTimeZone('America/New_York')), - 10, - ], - [ - new \DateTime('2013-03-29 04:13:35', new \DateTimeZone('America/New_York')), - new \DateTime('2013-03-29 04:14:40', new \DateTimeZone('America/New_York')), - 65, - ], - [ - new \DateTime('2013-03-29', new \DateTimeZone('America/New_York')), - new \DateTime('2013-03-29', new \DateTimeZone('America/New_York')), - ], - [ - new \DateTime('2013-03-29 04:13:35', new \DateTimeZone('America/New_York')), - new \DateTime('2013-03-29 03:13:35', new \DateTimeZone('America/Chicago')), - ], - [ - new \DateTime('2013-03-29 04:13:35', new \DateTimeZone('America/New_York')), - new \DateTime('2013-03-29 03:13:49', new \DateTimeZone('America/Chicago')), - 15, - ], - [ - new \DateTime('2013-03-30', new \DateTimeZone('America/New_York')), - new \DateTime('2013-03-29 23:00:00', new \DateTimeZone('America/Chicago')), - ], - [ - new \DateTime('2013-03-30', new \DateTimeZone('America/New_York')), - new \DateTime('2013-03-29 23:01:30', new \DateTimeZone('America/Chicago')), - 100, - ], - [ - new \DateTime('@1364616000'), - new \DateTime('2013-03-29 23:00:00', new \DateTimeZone('America/Chicago')), - ], - [ - new \DateTime('2013-03-29T05:13:35-0500'), - new \DateTime('2013-03-29T04:13:35-0600'), - ], - // Exception - //array(new Exception('Exception 1'), new Exception('Exception 1')), - // mixed types - [0, '0'], - ['0', 0], - [2.3, '2.3'], - ['2.3', 2.3], - [(string) (1 / 3), 1 - 2 / 3], - [1 / 3, (string) (1 - 2 / 3)], - ['string representation', new \ClassWithToString], - [new \ClassWithToString, 'string representation'], - ]; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/ArrayHasKeyTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/ArrayHasKeyTest.php deleted file mode 100644 index f7a5bbc..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/ArrayHasKeyTest.php +++ /dev/null @@ -1,64 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\Constraint; - -use PHPUnit\Framework\ExpectationFailedException; -use PHPUnit\Framework\TestFailure; - -class ArrayHasKeyTest extends ConstraintTestCase -{ - public function testConstraintArrayHasKey(): void - { - $constraint = new ArrayHasKey(0); - - $this->assertFalse($constraint->evaluate([], '', true)); - $this->assertEquals('has the key 0', $constraint->toString()); - $this->assertCount(1, $constraint); - - try { - $constraint->evaluate([]); - } catch (ExpectationFailedException $e) { - $this->assertEquals( - <<fail(); - } - - public function testConstraintArrayHasKey2(): void - { - $constraint = new ArrayHasKey(0); - - try { - $constraint->evaluate([], 'custom message'); - } catch (ExpectationFailedException $e) { - $this->assertEquals( - <<fail(); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/ArraySubsetTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/ArraySubsetTest.php deleted file mode 100644 index 1ca0040..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/ArraySubsetTest.php +++ /dev/null @@ -1,86 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\Constraint; - -use PHPUnit\Framework\ExpectationFailedException; - -class ArraySubsetTest extends ConstraintTestCase -{ - public static function evaluateDataProvider(): array - { - return [ - 'loose array subset and array other' => [ - 'expected' => true, - 'subset' => ['bar' => 0], - 'other' => ['foo' => '', 'bar' => '0'], - 'strict' => false, - ], - 'strict array subset and array other' => [ - 'expected' => false, - 'subset' => ['bar' => 0], - 'other' => ['foo' => '', 'bar' => '0'], - 'strict' => true, - ], - 'loose array subset and ArrayObject other' => [ - 'expected' => true, - 'subset' => ['bar' => 0], - 'other' => new \ArrayObject(['foo' => '', 'bar' => '0']), - 'strict' => false, - ], - 'strict ArrayObject subset and array other' => [ - 'expected' => true, - 'subset' => new \ArrayObject(['bar' => 0]), - 'other' => ['foo' => '', 'bar' => 0], - 'strict' => true, - ], - ]; - } - - /** - * @param bool $expected - * @param array|\Traversable $subset - * @param array|\Traversable $other - * @param bool $strict - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - * @dataProvider evaluateDataProvider - */ - public function testEvaluate($expected, $subset, $other, $strict): void - { - $constraint = new ArraySubset($subset, $strict); - - $this->assertSame($expected, $constraint->evaluate($other, '', true)); - } - - public function testEvaluateWithArrayAccess(): void - { - $arrayAccess = new \ArrayAccessible(['foo' => 'bar']); - - $constraint = new ArraySubset(['foo' => 'bar']); - - $this->assertTrue($constraint->evaluate($arrayAccess, '', true)); - } - - public function testEvaluateFailMessage(): void - { - $constraint = new ArraySubset(['foo' => 'bar']); - - try { - $constraint->evaluate(['baz' => 'bar'], '', false); - $this->fail(\sprintf('Expected %s to be thrown.', ExpectationFailedException::class)); - } catch (ExpectationFailedException $expectedException) { - $comparisonFailure = $expectedException->getComparisonFailure(); - $this->assertNotNull($comparisonFailure); - $this->assertContains("'foo' => 'bar'", $comparisonFailure->getExpectedAsString()); - $this->assertContains("'baz' => 'bar'", $comparisonFailure->getActualAsString()); - } - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/AttributeTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/AttributeTest.php deleted file mode 100644 index b7ea107..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/AttributeTest.php +++ /dev/null @@ -1,80 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\Constraint; - -use PHPUnit\Framework\ExpectationFailedException; -use PHPUnit\Framework\TestFailure; - -class AttributeTest extends ConstraintTestCase -{ - public function testAttributeEqualTo(): void - { - $object = new \ClassWithNonPublicAttributes; - - $constraint = new Attribute( - new IsEqual(1), - 'foo' - ); - - $this->assertTrue($constraint->evaluate($object, '', true)); - $this->assertEquals('attribute "foo" is equal to 1', $constraint->toString()); - $this->assertCount(1, $constraint); - - $constraint = new Attribute( - new IsEqual(2), - 'foo' - ); - - $this->assertFalse($constraint->evaluate($object, '', true)); - - try { - $constraint->evaluate($object); - } catch (ExpectationFailedException $e) { - $this->assertEquals( - <<fail(); - } - - public function testAttributeEqualTo2(): void - { - $object = new \ClassWithNonPublicAttributes; - $constraint = new Attribute( - new IsEqual(2), - 'foo' - ); - - try { - $constraint->evaluate($object, 'custom message'); - } catch (ExpectationFailedException $e) { - $this->assertEquals( - <<fail(); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/CallbackTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/CallbackTest.php deleted file mode 100644 index 7eef19a..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/CallbackTest.php +++ /dev/null @@ -1,65 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\Constraint; - -use PHPUnit\Framework\ExpectationFailedException; - -class CallbackTest extends ConstraintTestCase -{ - public static function staticCallbackReturningTrue() - { - return true; - } - - public function callbackReturningTrue() - { - return true; - } - - public function testConstraintCallback(): void - { - $closureReflect = function ($parameter) { - return $parameter; - }; - - $closureWithoutParameter = function () { - return true; - }; - - $constraint = new Callback($closureWithoutParameter); - $this->assertTrue($constraint->evaluate('', '', true)); - - $constraint = new Callback($closureReflect); - $this->assertTrue($constraint->evaluate(true, '', true)); - $this->assertFalse($constraint->evaluate(false, '', true)); - - $callback = [$this, 'callbackReturningTrue']; - $constraint = new Callback($callback); - $this->assertTrue($constraint->evaluate(false, '', true)); - - $callback = [self::class, 'staticCallbackReturningTrue']; - $constraint = new Callback($callback); - $this->assertTrue($constraint->evaluate(null, '', true)); - - $this->assertEquals('is accepted by specified callback', $constraint->toString()); - } - - public function testConstraintCallbackFailure(): void - { - $constraint = new Callback(function () { - return false; - }); - - $this->expectException(ExpectationFailedException::class); - $this->expectExceptionMessage('Failed asserting that \'This fails\' is accepted by specified callback.'); - - $constraint->evaluate('This fails'); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/ClassHasAttributeTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/ClassHasAttributeTest.php deleted file mode 100644 index be203c9..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/ClassHasAttributeTest.php +++ /dev/null @@ -1,70 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\Constraint; - -use PHPUnit\Framework\ExpectationFailedException; -use PHPUnit\Framework\TestFailure; - -class ClassHasAttributeTest extends ConstraintTestCase -{ - public function testConstraintClassHasAttribute(): void - { - $constraint = new ClassHasAttribute( - 'privateAttribute' - ); - - $this->assertTrue($constraint->evaluate(\ClassWithNonPublicAttributes::class, '', true)); - $this->assertFalse($constraint->evaluate(\stdClass::class, '', true)); - $this->assertEquals('has attribute "privateAttribute"', $constraint->toString()); - $this->assertCount(1, $constraint); - - try { - $constraint->evaluate(\stdClass::class); - } catch (ExpectationFailedException $e) { - $this->assertEquals( - <<fail(); - } - - public function testConstraintClassHasAttribute2(): void - { - $constraint = new ClassHasAttribute( - 'privateAttribute' - ); - - try { - $constraint->evaluate(\stdClass::class, 'custom message'); - } catch (ExpectationFailedException $e) { - $this->assertEquals( - <<fail(); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/ClassHasStaticAttributeTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/ClassHasStaticAttributeTest.php deleted file mode 100644 index 35991e7..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/ClassHasStaticAttributeTest.php +++ /dev/null @@ -1,66 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\Constraint; - -use PHPUnit\Framework\ExpectationFailedException; -use PHPUnit\Framework\TestFailure; - -class ClassHasStaticAttributeTest extends ConstraintTestCase -{ - public function testConstraintClassHasStaticAttribute(): void - { - $constraint = new ClassHasStaticAttribute('privateStaticAttribute'); - - $this->assertTrue($constraint->evaluate(\ClassWithNonPublicAttributes::class, '', true)); - $this->assertFalse($constraint->evaluate(\stdClass::class, '', true)); - $this->assertEquals('has static attribute "privateStaticAttribute"', $constraint->toString()); - $this->assertCount(1, $constraint); - - try { - $constraint->evaluate(\stdClass::class); - } catch (ExpectationFailedException $e) { - $this->assertEquals( - <<fail(); - } - - public function testConstraintClassHasStaticAttribute2(): void - { - $constraint = new ClassHasStaticAttribute('foo'); - - try { - $constraint->evaluate(\stdClass::class, 'custom message'); - } catch (ExpectationFailedException $e) { - $this->assertEquals( - <<fail(); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/ConstraintTestCase.php b/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/ConstraintTestCase.php deleted file mode 100644 index df950ae..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/ConstraintTestCase.php +++ /dev/null @@ -1,54 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\Constraint; - -use PHPUnit\Framework\SelfDescribing; -use PHPUnit\Framework\TestCase; - -abstract class ConstraintTestCase extends TestCase -{ - final public function testIsCountable(): void - { - $className = $this->className(); - - $reflection = new \ReflectionClass($className); - - $this->assertTrue($reflection->implementsInterface(\Countable::class), \sprintf( - 'Failed to assert that "%s" implements "%s".', - $className, - \Countable::class - )); - } - - final public function testIsSelfDescribing(): void - { - $className = $this->className(); - - $reflection = new \ReflectionClass($className); - - $this->assertTrue($reflection->implementsInterface(SelfDescribing::class), \sprintf( - 'Failed to assert that "%s" implements "%s".', - $className, - SelfDescribing::class - )); - } - - /** - * Returns the class name of the constraint. - */ - final protected function className(): string - { - return \preg_replace( - '/Test$/', - '', - static::class - ); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/CountTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/CountTest.php deleted file mode 100644 index ccb5817..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/CountTest.php +++ /dev/null @@ -1,155 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\Constraint; - -class CountTest extends ConstraintTestCase -{ - public function testCount(): void - { - $countConstraint = new Count(3); - $this->assertTrue($countConstraint->evaluate([1, 2, 3], '', true)); - - $countConstraint = new Count(0); - $this->assertTrue($countConstraint->evaluate([], '', true)); - - $countConstraint = new Count(2); - $it = new \TestIterator([1, 2]); - $ia = new \TestIteratorAggregate($it); - $ia2 = new \TestIteratorAggregate2($ia); - - $this->assertTrue($countConstraint->evaluate($it, '', true)); - $this->assertTrue($countConstraint->evaluate($ia, '', true)); - $this->assertTrue($countConstraint->evaluate($ia2, '', true)); - } - - public function testCountDoesNotChangeIteratorKey(): void - { - $countConstraint = new Count(2); - - // test with 1st implementation of Iterator - $it = new \TestIterator([1, 2]); - - $countConstraint->evaluate($it, '', true); - $this->assertEquals(1, $it->current()); - - $it->next(); - $countConstraint->evaluate($it, '', true); - $this->assertEquals(2, $it->current()); - - $it->next(); - $countConstraint->evaluate($it, '', true); - $this->assertFalse($it->valid()); - - // test with 2nd implementation of Iterator - $it = new \TestIterator2([1, 2]); - - $countConstraint = new Count(2); - $countConstraint->evaluate($it, '', true); - $this->assertEquals(1, $it->current()); - - $it->next(); - $countConstraint->evaluate($it, '', true); - $this->assertEquals(2, $it->current()); - - $it->next(); - $countConstraint->evaluate($it, '', true); - $this->assertFalse($it->valid()); - - // test with IteratorAggregate - $it = new \TestIterator([1, 2]); - $ia = new \TestIteratorAggregate($it); - - $countConstraint = new Count(2); - $countConstraint->evaluate($ia, '', true); - $this->assertEquals(1, $it->current()); - - $it->next(); - $countConstraint->evaluate($ia, '', true); - $this->assertEquals(2, $it->current()); - - $it->next(); - $countConstraint->evaluate($ia, '', true); - $this->assertFalse($it->valid()); - - // test with nested IteratorAggregate - $it = new \TestIterator([1, 2]); - $ia = new \TestIteratorAggregate($it); - $ia2 = new \TestIteratorAggregate2($ia); - - $countConstraint = new Count(2); - $countConstraint->evaluate($ia2, '', true); - $this->assertEquals(1, $it->current()); - - $it->next(); - $countConstraint->evaluate($ia2, '', true); - $this->assertEquals(2, $it->current()); - - $it->next(); - $countConstraint->evaluate($ia2, '', true); - $this->assertFalse($it->valid()); - } - - public function testCountGeneratorsDoNotRewind(): void - { - $generatorMaker = new \TestGeneratorMaker; - - $countConstraint = new Count(3); - - $generator = $generatorMaker->create([1, 2, 3]); - $this->assertEquals(1, $generator->current()); - $countConstraint->evaluate($generator, '', true); - $this->assertEquals(null, $generator->current()); - - $countConstraint = new Count(2); - - $generator = $generatorMaker->create([1, 2, 3]); - $this->assertEquals(1, $generator->current()); - $generator->next(); - $this->assertEquals(2, $generator->current()); - $countConstraint->evaluate($generator, '', true); - $this->assertEquals(null, $generator->current()); - - $countConstraint = new Count(1); - - $generator = $generatorMaker->create([1, 2, 3]); - $this->assertEquals(1, $generator->current()); - $generator->next(); - $this->assertEquals(2, $generator->current()); - $generator->next(); - $this->assertEquals(3, $generator->current()); - $countConstraint->evaluate($generator, '', true); - $this->assertEquals(null, $generator->current()); - } - - public function testCountTraversable(): void - { - $countConstraint = new Count(5); - - // DatePeriod is used as an object that is Traversable but does not - // implement Iterator or IteratorAggregate. The following ISO 8601 - // recurring time interval will yield five total DateTime objects. - $datePeriod = new \DatePeriod('R4/2017-05-01T00:00:00Z/P1D'); - - $this->assertInstanceOf(\Traversable::class, $datePeriod); - $this->assertNotInstanceOf(\Iterator::class, $datePeriod); - $this->assertNotInstanceOf(\IteratorAggregate::class, $datePeriod); - $this->assertTrue($countConstraint->evaluate($datePeriod, '', true)); - } - - /** - * @ticket https://github.com/sebastianbergmann/phpunit/issues/3743 - */ - public function test_EmptyIterator_is_handled_correctly(): void - { - $constraint = new Count(0); - - $this->assertTrue($constraint->evaluate(new \EmptyIterator, '', true)); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/DirectoryExistsTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/DirectoryExistsTest.php deleted file mode 100644 index 256aa85..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/DirectoryExistsTest.php +++ /dev/null @@ -1,66 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\Constraint; - -use PHPUnit\Framework\ExpectationFailedException; -use PHPUnit\Framework\TestFailure; - -class DirectoryExistsTest extends ConstraintTestCase -{ - public function testDefaults(): void - { - $constraint = new DirectoryExists; - - $this->assertCount(1, $constraint); - $this->assertSame('directory exists', $constraint->toString()); - } - - public function testEvaluateReturnsFalseWhenDirectoryDoesNotExist(): void - { - $directory = __DIR__ . '/NonExistentDirectory'; - - $constraint = new DirectoryExists; - - $this->assertFalse($constraint->evaluate($directory, '', true)); - } - - public function testEvaluateReturnsTrueWhenDirectoryExists(): void - { - $directory = __DIR__; - - $constraint = new DirectoryExists; - - $this->assertTrue($constraint->evaluate($directory, '', true)); - } - - public function testEvaluateThrowsExpectationFailedExceptionWhenDirectoryDoesNotExist(): void - { - $directory = __DIR__ . '/NonExistentDirectory'; - - $constraint = new DirectoryExists; - - try { - $constraint->evaluate($directory); - } catch (ExpectationFailedException $e) { - $this->assertSame( - <<fail(); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/ExceptionMessageRegExpTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/ExceptionMessageRegExpTest.php deleted file mode 100644 index 90a7c23..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/ExceptionMessageRegExpTest.php +++ /dev/null @@ -1,53 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\Constraint; - -use PHPUnit\Framework\TestCase; - -class ExceptionMessageRegExpTest extends TestCase -{ - public function testRegexMessage(): void - { - $this->expectException(\Exception::class); - $this->expectExceptionMessageRegExp('/^A polymorphic \w+ message/'); - - throw new \Exception('A polymorphic exception message'); - } - - public function testRegexMessageExtreme(): void - { - $this->expectException(\Exception::class); - $this->expectExceptionMessageRegExp('/^a poly[a-z]+ [a-zA-Z0-9_]+ me(s){2}age$/i'); - - throw new \Exception('A polymorphic exception message'); - } - - /** - * @runInSeparateProcess - * @requires extension xdebug - */ - public function testMessageXdebugScreamCompatibility(): void - { - \ini_set('xdebug.scream', '1'); - - $this->expectException(\Exception::class); - $this->expectExceptionMessageRegExp('#Screaming preg_match#'); - - throw new \Exception('Screaming preg_match'); - } - - public function testSimultaneousLiteralAndRegExpExceptionMessage(): void - { - $this->expectException(\Exception::class); - $this->expectExceptionMessageRegExp('/^A variadic \w+ message/'); - - throw new \Exception('A variadic exception message'); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/ExceptionMessageTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/ExceptionMessageTest.php deleted file mode 100644 index e238c0a..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/ExceptionMessageTest.php +++ /dev/null @@ -1,47 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\Constraint; - -use PHPUnit\Framework\TestCase; - -class ExceptionMessageTest extends TestCase -{ - public function testLiteralMessage(): void - { - $this->expectException(\Exception::class); - $this->expectExceptionMessage('A literal exception message'); - - throw new \Exception('A literal exception message'); - } - - public function testPartialMessageBegin(): void - { - $this->expectException(\Exception::class); - $this->expectExceptionMessage('A partial'); - - throw new \Exception('A partial exception message'); - } - - public function testPartialMessageMiddle(): void - { - $this->expectException(\Exception::class); - $this->expectExceptionMessage('partial exception'); - - throw new \Exception('A partial exception message'); - } - - public function testPartialMessageEnd(): void - { - $this->expectException(\Exception::class); - $this->expectExceptionMessage('exception message'); - - throw new \Exception('A partial exception message'); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/FileExistsTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/FileExistsTest.php deleted file mode 100644 index dee7435..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/FileExistsTest.php +++ /dev/null @@ -1,65 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\Constraint; - -use PHPUnit\Framework\ExpectationFailedException; -use PHPUnit\Framework\TestFailure; - -class FileExistsTest extends ConstraintTestCase -{ - public function testConstraintFileExists(): void - { - $constraint = new FileExists; - - $this->assertFalse($constraint->evaluate('foo', '', true)); - $this->assertEquals('file exists', $constraint->toString()); - $this->assertCount(1, $constraint); - - try { - $constraint->evaluate('foo'); - } catch (ExpectationFailedException $e) { - $this->assertEquals( - <<fail(); - } - - public function testConstraintFileExists2(): void - { - $constraint = new FileExists; - - try { - $constraint->evaluate('foo', 'custom message'); - } catch (ExpectationFailedException $e) { - $this->assertEquals( - <<fail(); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/GreaterThanTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/GreaterThanTest.php deleted file mode 100644 index e62bdf7..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/GreaterThanTest.php +++ /dev/null @@ -1,66 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\Constraint; - -use PHPUnit\Framework\ExpectationFailedException; -use PHPUnit\Framework\TestFailure; - -class GreaterThanTest extends ConstraintTestCase -{ - public function testConstraintGreaterThan(): void - { - $constraint = new GreaterThan(1); - - $this->assertFalse($constraint->evaluate(0, '', true)); - $this->assertTrue($constraint->evaluate(2, '', true)); - $this->assertEquals('is greater than 1', $constraint->toString()); - $this->assertCount(1, $constraint); - - try { - $constraint->evaluate(0); - } catch (ExpectationFailedException $e) { - $this->assertEquals( - <<fail(); - } - - public function testConstraintGreaterThan2(): void - { - $constraint = new GreaterThan(1); - - try { - $constraint->evaluate(0, 'custom message'); - } catch (ExpectationFailedException $e) { - $this->assertEquals( - <<fail(); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/IsEmptyTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/IsEmptyTest.php deleted file mode 100644 index 96a3d82..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/IsEmptyTest.php +++ /dev/null @@ -1,77 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\Constraint; - -use PHPUnit\Framework\ExpectationFailedException; -use PHPUnit\Framework\TestFailure; - -class IsEmptyTest extends ConstraintTestCase -{ - public function testConstraintIsEmpty(): void - { - $constraint = new IsEmpty; - - $this->assertFalse($constraint->evaluate(['foo'], '', true)); - $this->assertTrue($constraint->evaluate([], '', true)); - $this->assertFalse($constraint->evaluate(new \ArrayObject(['foo']), '', true)); - $this->assertTrue($constraint->evaluate(new \ArrayObject([]), '', true)); - $this->assertEquals('is empty', $constraint->toString()); - $this->assertCount(1, $constraint); - - try { - $constraint->evaluate(['foo']); - } catch (ExpectationFailedException $e) { - $this->assertEquals( - <<fail(); - } - - public function testConstraintIsEmpty2(): void - { - $constraint = new IsEmpty; - - try { - $constraint->evaluate(['foo'], 'custom message'); - } catch (ExpectationFailedException $e) { - $this->assertEquals( - <<fail(); - } - - /** - * @ticket https://github.com/sebastianbergmann/phpunit/issues/3743 - */ - public function test_EmptyIterator_is_handled_correctly(): void - { - $constraint = new IsEmpty; - - $this->assertTrue($constraint->evaluate(new \EmptyIterator, '', true)); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/IsEqualTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/IsEqualTest.php deleted file mode 100644 index 642124a..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/IsEqualTest.php +++ /dev/null @@ -1,321 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\Constraint; - -use PHPUnit\Framework\ExpectationFailedException; -use PHPUnit\Framework\TestFailure; - -class IsEqualTest extends ConstraintTestCase -{ - public function testConstraintIsEqual(): void - { - $constraint = new IsEqual(1); - - $this->assertTrue($constraint->evaluate(1, '', true)); - $this->assertFalse($constraint->evaluate(0, '', true)); - $this->assertEquals('is equal to 1', $constraint->toString()); - $this->assertCount(1, $constraint); - - try { - $constraint->evaluate(0); - } catch (ExpectationFailedException $e) { - $this->assertEquals( - <<fail(); - } - - /** - * @dataProvider isEqualProvider - */ - public function testConstraintIsEqual2($expected, $actual, $message): void - { - $constraint = new IsEqual($expected); - - try { - $constraint->evaluate($actual, 'custom message'); - } catch (ExpectationFailedException $e) { - $this->assertEquals( - "custom message\n$message", - $this->trimnl(TestFailure::exceptionToString($e)) - ); - - return; - } - - $this->fail(); - } - - public function isEqualProvider(): array - { - $a = new \stdClass; - $a->foo = 'bar'; - $b = new \stdClass; - $ahash = \spl_object_hash($a); - $bhash = \spl_object_hash($b); - - $c = new \stdClass; - $c->foo = 'bar'; - $c->int = 1; - $c->array = [0, [1], [2], 3]; - $c->related = new \stdClass; - $c->related->foo = "a\nb\nc\nd\ne\nf\ng\nh\ni\nj\nk"; - $c->self = $c; - $c->c = $c; - $d = new \stdClass; - $d->foo = 'bar'; - $d->int = 2; - $d->array = [0, [4], [2], 3]; - $d->related = new \stdClass; - $d->related->foo = "a\np\nc\nd\ne\nf\ng\nh\ni\nw\nk"; - $d->self = $d; - $d->c = $c; - - $storage1 = new \SplObjectStorage; - $storage1->attach($a); - $storage1->attach($b); - $storage2 = new \SplObjectStorage; - $storage2->attach($b); - $storage1hash = \spl_object_hash($storage1); - $storage2hash = \spl_object_hash($storage2); - - $dom1 = new \DOMDocument; - $dom1->preserveWhiteSpace = false; - $dom1->loadXML(''); - $dom2 = new \DOMDocument; - $dom2->preserveWhiteSpace = false; - $dom2->loadXML(''); - - return [ - [1, 0, << 0 -+ 0 => 1 - ) - -EOF - ], - [[true], ['true'], << true -+ 0 => 'true' - ) - -EOF - ], - [[0, [1], [2], 3], [0, [4], [2], 3], << 0 - 1 => Array ( -- 0 => 1 -+ 0 => 4 - ) - 2 => Array (...) - 3 => 3 - ) - -EOF - ], - [$a, [0], << 'bar' - ) - -EOF - ], - [$c, $d, << 'bar' -- 'int' => 1 -+ 'int' => 2 - 'array' => Array ( - 0 => 0 - 1 => Array ( -- 0 => 1 -+ 0 => 4 - ) - 2 => Array (...) - 3 => 3 -@@ @@ - ) - 'related' => stdClass Object ( - 'foo' => 'a\\n -- b\\n -+ p\\n - c\\n - d\\n - e\\n -@@ @@ - g\\n - h\\n - i\\n -- j\\n -+ w\\n - k' - ) - 'self' => stdClass Object (...) - 'c' => stdClass Object (...) - ) - -EOF - ], - [$dom1, $dom2, << -- -+ -+ -+ - -EOF - ], - [ - new \DateTime('2013-03-29 04:13:35', new \DateTimeZone('America/New_York')), - new \DateTime('2013-03-29 04:13:35', new \DateTimeZone('America/Chicago')), - << Array &0 ( -- 'obj' => stdClass Object &$ahash ( -- 'foo' => 'bar' -- ) -- 'inf' => null -- ) -- '$bhash' => Array &1 ( -+SplObjectStorage Object &$storage2hash ( -+ '$bhash' => Array &0 ( - 'obj' => stdClass Object &$bhash () - 'inf' => null - ) - ) - -EOF - ], - ]; - } - - /** - * Removes spaces in front of newlines - * - * @param string $string - * - * @return string - */ - private function trimnl($string) - { - return \preg_replace('/[ ]*\n/', "\n", $string); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/IsIdenticalTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/IsIdenticalTest.php deleted file mode 100644 index f4f27f7..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/IsIdenticalTest.php +++ /dev/null @@ -1,197 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\Constraint; - -use PHPUnit\Framework\ExpectationFailedException; -use PHPUnit\Framework\TestFailure; - -class IsIdenticalTest extends ConstraintTestCase -{ - public function testConstraintIsIdentical(): void - { - $a = new \stdClass; - $b = new \stdClass; - - $constraint = new IsIdentical($a); - - $this->assertFalse($constraint->evaluate($b, '', true)); - $this->assertTrue($constraint->evaluate($a, '', true)); - $this->assertEquals('is identical to an object of class "stdClass"', $constraint->toString()); - $this->assertCount(1, $constraint); - - try { - $constraint->evaluate($b); - } catch (ExpectationFailedException $e) { - $this->assertEquals( - <<fail(); - } - - public function testConstraintIsIdentical2(): void - { - $a = new \stdClass; - $b = new \stdClass; - - $constraint = new IsIdentical($a); - - try { - $constraint->evaluate($b, 'custom message'); - } catch (ExpectationFailedException $e) { - $this->assertEquals( - <<fail(); - } - - public function testConstraintIsIdentical3(): void - { - $constraint = new IsIdentical('a'); - - try { - $constraint->evaluate('b', 'custom message'); - } catch (ExpectationFailedException $e) { - $this->assertEquals( - <<fail(); - } - - public function testConstraintIsIdenticalArrayDiff(): void - { - $expected = [1, 2, 3, 4, 5, 6]; - $actual = [1, 2, 33, 4, 5, 6]; - - $constraint = new IsIdentical($expected); - - try { - $constraint->evaluate($actual, 'custom message'); - } catch (ExpectationFailedException $e) { - $this->assertSame( - << 1 - 1 => 2 -- 2 => 3 -+ 2 => 33 - 3 => 4 - 4 => 5 - 5 => 6 - ) - -EOF - , - TestFailure::exceptionToString($e) - ); - - return; - } - - $this->fail(); - } - - public function testConstraintIsIdenticalNestedArrayDiff(): void - { - $expected = [ - ['A' => 'B'], - [ - 'C' => [ - 'D', - 'E', - ], - ], - ]; - $actual = [ - ['A' => 'C'], - [ - 'C' => [ - 'C', - 'E', - 'F', - ], - ], - ]; - $constraint = new IsIdentical($expected); - - try { - $constraint->evaluate($actual, 'custom message'); - } catch (ExpectationFailedException $e) { - $this->assertEquals( - << Array &1 ( -- 'A' => 'B' -+ 'A' => 'C' - ) - 1 => Array &2 ( - 'C' => Array &3 ( -- 0 => 'D' -+ 0 => 'C' - 1 => 'E' -+ 2 => 'F' - ) - ) - ) - -EOF - , - TestFailure::exceptionToString($e) - ); - - return; - } - - $this->fail(); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/IsInstanceOfTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/IsInstanceOfTest.php deleted file mode 100644 index ff66ba6..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/IsInstanceOfTest.php +++ /dev/null @@ -1,41 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\Constraint; - -use PHPUnit\Framework\ExpectationFailedException; -use PHPUnit\Framework\TestFailure; - -final class IsInstanceOfTest extends ConstraintTestCase -{ - public function testConstraintInstanceOf(): void - { - $constraint = new IsInstanceOf(\stdClass::class); - - self::assertTrue($constraint->evaluate(new \stdClass, '', true)); - } - - public function testConstraintFailsOnString(): void - { - $constraint = new IsInstanceOf(\stdClass::class); - - try { - $constraint->evaluate('stdClass'); - } catch (ExpectationFailedException $e) { - self::assertSame( - << - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\Constraint; - -class IsJsonTest extends ConstraintTestCase -{ - public static function evaluateDataprovider(): array - { - return [ - 'valid JSON' => [true, '{}'], - 'empty string should be treated as invalid JSON' => [false, ''], - ]; - } - - /** - * @dataProvider evaluateDataprovider - * - * @throws \PHPUnit\Framework\ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public function testEvaluate($expected, $jsonOther): void - { - $constraint = new IsJson; - - $this->assertEquals($expected, $constraint->evaluate($jsonOther, '', true)); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/IsNullTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/IsNullTest.php deleted file mode 100644 index 70a642a..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/IsNullTest.php +++ /dev/null @@ -1,66 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\Constraint; - -use PHPUnit\Framework\ExpectationFailedException; -use PHPUnit\Framework\TestFailure; - -class IsNullTest extends ConstraintTestCase -{ - public function testConstraintIsNull(): void - { - $constraint = new IsNull; - - $this->assertFalse($constraint->evaluate(0, '', true)); - $this->assertTrue($constraint->evaluate(null, '', true)); - $this->assertEquals('is null', $constraint->toString()); - $this->assertCount(1, $constraint); - - try { - $constraint->evaluate(0); - } catch (ExpectationFailedException $e) { - $this->assertEquals( - <<fail(); - } - - public function testConstraintIsNull2(): void - { - $constraint = new IsNull; - - try { - $constraint->evaluate(0, 'custom message'); - } catch (ExpectationFailedException $e) { - $this->assertEquals( - <<fail(); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/IsReadableTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/IsReadableTest.php deleted file mode 100644 index da9d80b..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/IsReadableTest.php +++ /dev/null @@ -1,42 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\Constraint; - -use PHPUnit\Framework\ExpectationFailedException; -use PHPUnit\Framework\TestFailure; - -class IsReadableTest extends ConstraintTestCase -{ - public function testConstraintIsReadable(): void - { - $constraint = new IsReadable; - - $this->assertFalse($constraint->evaluate('foo', '', true)); - $this->assertEquals('is readable', $constraint->toString()); - $this->assertCount(1, $constraint); - - try { - $constraint->evaluate('foo'); - } catch (ExpectationFailedException $e) { - $this->assertEquals( - <<fail(); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/IsTypeTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/IsTypeTest.php deleted file mode 100644 index effe57b..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/IsTypeTest.php +++ /dev/null @@ -1,111 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\Constraint; - -use PHPUnit\Framework\Assert; -use PHPUnit\Framework\ExpectationFailedException; -use PHPUnit\Framework\TestFailure; - -class IsTypeTest extends ConstraintTestCase -{ - public function testConstraintIsType(): void - { - $constraint = Assert::isType('string'); - - $this->assertFalse($constraint->evaluate(0, '', true)); - $this->assertTrue($constraint->evaluate('', '', true)); - $this->assertEquals('is of type "string"', $constraint->toString()); - $this->assertCount(1, $constraint); - - try { - $constraint->evaluate(new \stdClass); - } catch (ExpectationFailedException $e) { - $this->assertStringMatchesFormat( - <<trimnl(TestFailure::exceptionToString($e)) - ); - - return; - } - - $this->fail(); - } - - public function testConstraintIsType2(): void - { - $constraint = Assert::isType('string'); - - try { - $constraint->evaluate(new \stdClass, 'custom message'); - } catch (ExpectationFailedException $e) { - $this->assertStringMatchesFormat( - <<trimnl(TestFailure::exceptionToString($e)) - ); - - return; - } - - $this->fail(); - } - - /** - * @dataProvider resources - */ - public function testConstraintIsResourceTypeEvaluatesCorrectlyWithResources($resource): void - { - $constraint = Assert::isType('resource'); - - $this->assertTrue($constraint->evaluate($resource, '', true)); - - @\fclose($resource); - } - - public function resources() - { - $fh = \fopen(__FILE__, 'r'); - \fclose($fh); - - return [ - 'open resource' => [\fopen(__FILE__, 'r')], - 'closed resource' => [$fh], - ]; - } - - public function testIterableTypeIsSupported(): void - { - $constraint = Assert::isType('iterable'); - - $this->assertFalse($constraint->evaluate('', '', true)); - $this->assertTrue($constraint->evaluate([], '', true)); - $this->assertEquals('is of type "iterable"', $constraint->toString()); - } - - /** - * Removes spaces in front of newlines - * - * @param string $string - * - * @return string - */ - private function trimnl($string) - { - return \preg_replace('/[ ]*\n/', "\n", $string); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/IsWritableTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/IsWritableTest.php deleted file mode 100644 index 806a363..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/IsWritableTest.php +++ /dev/null @@ -1,42 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\Constraint; - -use PHPUnit\Framework\ExpectationFailedException; -use PHPUnit\Framework\TestFailure; - -class IsWritableTest extends ConstraintTestCase -{ - public function testConstraintIsWritable(): void - { - $constraint = new IsWritable; - - $this->assertFalse($constraint->evaluate('foo', '', true)); - $this->assertEquals('is writable', $constraint->toString()); - $this->assertCount(1, $constraint); - - try { - $constraint->evaluate('foo'); - } catch (ExpectationFailedException $e) { - $this->assertEquals( - <<fail(); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/JsonMatchesErrorMessageProviderTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/JsonMatchesErrorMessageProviderTest.php deleted file mode 100644 index 48a76d4..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/JsonMatchesErrorMessageProviderTest.php +++ /dev/null @@ -1,87 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\Constraint; - -use PHPUnit\Framework\TestCase; - -class JsonMatchesErrorMessageProviderTest extends TestCase -{ - public static function determineJsonErrorDataprovider(): array - { - return [ - 'JSON_ERROR_NONE' => [ - null, 'json_error_none', '', - ], - 'JSON_ERROR_DEPTH' => [ - 'Maximum stack depth exceeded', \JSON_ERROR_DEPTH, '', - ], - 'prefixed JSON_ERROR_DEPTH' => [ - 'TUX: Maximum stack depth exceeded', \JSON_ERROR_DEPTH, 'TUX: ', - ], - 'JSON_ERROR_STATE_MISMatch' => [ - 'Underflow or the modes mismatch', \JSON_ERROR_STATE_MISMATCH, '', - ], - 'JSON_ERROR_CTRL_CHAR' => [ - 'Unexpected control character found', \JSON_ERROR_CTRL_CHAR, '', - ], - 'JSON_ERROR_SYNTAX' => [ - 'Syntax error, malformed JSON', \JSON_ERROR_SYNTAX, '', - ], - 'JSON_ERROR_UTF8`' => [ - 'Malformed UTF-8 characters, possibly incorrectly encoded', - \JSON_ERROR_UTF8, - '', - ], - 'Invalid error indicator' => [ - 'Unknown error', 55, '', - ], - ]; - } - - public static function translateTypeToPrefixDataprovider(): array - { - return [ - 'expected' => ['Expected value JSON decode error - ', 'expected'], - 'actual' => ['Actual value JSON decode error - ', 'actual'], - 'default' => ['', ''], - ]; - } - - /** - * @dataProvider translateTypeToPrefixDataprovider - * - * @throws \PHPUnit\Framework\ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public function testTranslateTypeToPrefix($expected, $type): void - { - $this->assertEquals( - $expected, - JsonMatchesErrorMessageProvider::translateTypeToPrefix($type) - ); - } - - /** - * @dataProvider determineJsonErrorDataprovider - * - * @throws \PHPUnit\Framework\ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public function testDetermineJsonError($expected, $error, $prefix): void - { - $this->assertEquals( - $expected, - JsonMatchesErrorMessageProvider::determineJsonError( - $error, - $prefix - ) - ); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/JsonMatchesTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/JsonMatchesTest.php deleted file mode 100644 index 680215d..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/JsonMatchesTest.php +++ /dev/null @@ -1,94 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\Constraint; - -use PHPUnit\Framework\ExpectationFailedException; -use PHPUnit\Util\Json; - -class JsonMatchesTest extends ConstraintTestCase -{ - public static function evaluateDataprovider(): array - { - return [ - 'valid JSON' => [true, \json_encode(['Mascott' => 'Tux']), \json_encode(['Mascott' => 'Tux'])], - 'error syntax' => [false, '{"Mascott"::}', \json_encode(['Mascott' => 'Tux'])], - 'error UTF-8' => [false, \json_encode('\xB1\x31'), \json_encode(['Mascott' => 'Tux'])], - 'invalid JSON in class instantiation' => [false, \json_encode(['Mascott' => 'Tux']), '{"Mascott"::}'], - 'string type not equals number' => [false, '{"age": "5"}', '{"age": 5}'], - 'string type not equals boolean' => [false, '{"age": "true"}', '{"age": true}'], - 'string type not equals null' => [false, '{"age": "null"}', '{"age": null}'], - 'object fields are unordered' => [true, '{"first":1, "second":"2"}', '{"second":"2", "first":1}'], - 'child object fields are unordered' => [true, '{"Mascott": {"name":"Tux", "age":5}}', '{"Mascott": {"age":5, "name":"Tux"}}'], - 'null field different from missing field' => [false, '{"present": true, "missing": null}', '{"present": true}'], - 'array elements are ordered' => [false, '["first", "second"]', '["second", "first"]'], - 'single boolean valid json' => [true, 'true', 'true'], - 'single number valid json' => [true, '5.3', '5.3'], - 'single null valid json' => [true, 'null', 'null'], - 'objects are not arrays' => [false, '{}', '[]'], - ]; - } - - public static function evaluateThrowsExpectationFailedExceptionWhenJsonIsValidButDoesNotMatchDataprovider(): array - { - return [ - 'error UTF-8' => [\json_encode('\xB1\x31'), \json_encode(['Mascott' => 'Tux'])], - 'string type not equals number' => ['{"age": "5"}', '{"age": 5}'], - 'string type not equals boolean' => ['{"age": "true"}', '{"age": true}'], - 'string type not equals null' => ['{"age": "null"}', '{"age": null}'], - 'null field different from missing field' => ['{"present": true, "missing": null}', '{"present": true}'], - 'array elements are ordered' => ['["first", "second"]', '["second", "first"]'], - ]; - } - - /** - * @dataProvider evaluateDataprovider - * - * @throws ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public function testEvaluate($expected, $jsonOther, $jsonValue): void - { - $constraint = new JsonMatches($jsonValue); - - $this->assertEquals($expected, $constraint->evaluate($jsonOther, '', true)); - } - - /** - * @dataProvider evaluateThrowsExpectationFailedExceptionWhenJsonIsValidButDoesNotMatchDataprovider - * - * @throws ExpectationFailedException - * @throws \PHPUnit\Framework\AssertionFailedError - * @throws \PHPUnit\Framework\Exception - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public function testEvaluateThrowsExpectationFailedExceptionWhenJsonIsValidButDoesNotMatch($jsonOther, $jsonValue): void - { - $constraint = new JsonMatches($jsonValue); - - try { - $constraint->evaluate($jsonOther, '', false); - $this->fail(\sprintf('Expected %s to be thrown.', ExpectationFailedException::class)); - } catch (ExpectationFailedException $expectedException) { - $comparisonFailure = $expectedException->getComparisonFailure(); - $this->assertNotNull($comparisonFailure); - $this->assertSame(Json::prettify($jsonOther), $comparisonFailure->getActualAsString()); - $this->assertSame(Json::prettify($jsonValue), $comparisonFailure->getExpectedAsString()); - $this->assertSame('Failed asserting that two json values are equal.', $comparisonFailure->getMessage()); - } - } - - public function testToString(): void - { - $jsonValue = \json_encode(['Mascott' => 'Tux']); - $constraint = new JsonMatches($jsonValue); - - $this->assertEquals('matches JSON string "' . $jsonValue . '"', $constraint->toString()); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/LessThanTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/LessThanTest.php deleted file mode 100644 index b21f02f..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/LessThanTest.php +++ /dev/null @@ -1,66 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\Constraint; - -use PHPUnit\Framework\ExpectationFailedException; -use PHPUnit\Framework\TestFailure; - -class LessThanTest extends ConstraintTestCase -{ - public function testConstraintLessThan(): void - { - $constraint = new LessThan(1); - - $this->assertTrue($constraint->evaluate(0, '', true)); - $this->assertFalse($constraint->evaluate(1, '', true)); - $this->assertEquals('is less than 1', $constraint->toString()); - $this->assertCount(1, $constraint); - - try { - $constraint->evaluate(1); - } catch (ExpectationFailedException $e) { - $this->assertEquals( - <<fail(); - } - - public function testConstraintLessThan2(): void - { - $constraint = new LessThan(1); - - try { - $constraint->evaluate(1, 'custom message'); - } catch (ExpectationFailedException $e) { - $this->assertEquals( - <<fail(); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/LogicalAndTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/LogicalAndTest.php deleted file mode 100644 index 87d8db5..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/LogicalAndTest.php +++ /dev/null @@ -1,237 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\Constraint; - -use PHPUnit\Framework\Exception; -use PHPUnit\Framework\ExpectationFailedException; -use PHPUnit\Framework\TestFailure; - -final class LogicalAndTest extends ConstraintTestCase -{ - public function testSetConstraintsRejectsInvalidConstraint(): void - { - $constraints = [ - new \TruthyConstraint, - new \FalsyConstraint, - new \stdClass, - ]; - - $constraint = new LogicalAnd; - - $this->expectException(Exception::class); - $this->expectExceptionMessage(\sprintf( - 'All parameters to %s must be a constraint object.', - LogicalAnd::class - )); - - $constraint->setConstraints($constraints); - } - - public function testCountReturnsCountOfComposedConstraints(): void - { - $counts = [ - 3, - 5, - 8, - ]; - - $constraints = \array_map(function (int $count) { - return \CountConstraint::fromCount($count); - }, $counts); - - $constraint = new LogicalAnd; - - $constraint->setConstraints($constraints); - - $expected = \array_sum($counts); - - $this->assertSame($expected, $constraint->count()); - } - - public function testToStringReturnsImplodedStringRepresentationOfComposedConstraintsGluedWithAnd(): void - { - $names = [ - 'is healthy', - 'is rich in amino acids', - 'is rich in unsaturated fats', - ]; - - $constraints = \array_map(function (string $name) { - return \NamedConstraint::fromName($name); - }, $names); - - $constraint = new LogicalAnd; - - $constraint->setConstraints($constraints); - - $expected = \implode(' and ', $names); - - $this->assertSame($expected, $constraint->toString()); - } - - /** - * @dataProvider providerFailingConstraints - * - * @param Constraint[] $constraints - */ - public function testEvaluateReturnsFalseIfAnyOfTheComposedConstraintsEvaluateToFalse(array $constraints): void - { - $constraint = new LogicalAnd; - - $constraint->setConstraints($constraints); - - $this->assertFalse($constraint->evaluate('whatever', '', true)); - } - - /** - * @dataProvider providerSucceedingConstraints - * - * @param Constraint[] $constraints - */ - public function testEvaluateReturnsTrueIfAllOfTheComposedConstraintsEvaluateToTrue(array $constraints): void - { - $constraint = new LogicalAnd; - - $constraint->setConstraints($constraints); - - $this->assertTrue($constraint->evaluate('whatever', '', true)); - } - - /** - * @dataProvider providerFailingConstraints - * - * @param Constraint[] $constraints - */ - public function testEvaluateThrowsExceptionIfAnyOfTheComposedConstraintsEvaluateToFalse(array $constraints): void - { - $other = 'whatever'; - - $constraint = new LogicalAnd; - - $constraint->setConstraints($constraints); - - try { - $constraint->evaluate($other); - } catch (ExpectationFailedException $exception) { - $toString = $this->stringify($constraints); - - $expectedDescription = <<assertEquals($expectedDescription, TestFailure::exceptionToString($exception)); - - return; - } - - $this->fail(); - } - - /** - * @dataProvider providerFailingConstraints - * - * @param Constraint[] $constraints - */ - public function testEvaluateThrowsExceptionWithCustomMessageIfAnyOfTheComposedConstraintsEvaluateToFalse(array $constraints): void - { - $other = 'whatever'; - $customDescription = 'Not very happy about the results at this point in time, I have to admit!'; - - $constraint = new LogicalAnd; - - $constraint->setConstraints($constraints); - - try { - $constraint->evaluate( - $other, - $customDescription - ); - } catch (ExpectationFailedException $exception) { - $toString = $this->stringify($constraints); - - $expectedDescription = <<assertEquals($expectedDescription, TestFailure::exceptionToString($exception)); - - return; - } - - $this->fail(); - } - - /** - * @dataProvider providerSucceedingConstraints - * - * @param Constraint[] $constraints - */ - public function testEvaluateReturnsNothingIfAllOfTheComposedConstraintsEvaluateToTrue(array $constraints): void - { - $constraint = new LogicalAnd; - - $constraint->setConstraints($constraints); - - $this->assertNull($constraint->evaluate('whatever')); - } - - public function providerFailingConstraints(): \Generator - { - $values = [ - 'single' => [ - new \FalsyConstraint, - ], - 'multiple' => [ - new \TruthyConstraint, - new \FalsyConstraint, - new \TruthyConstraint, - ], - ]; - - foreach ($values as $key => $constraints) { - yield $key => [ - $constraints, - ]; - } - } - - public function providerSucceedingConstraints(): \Generator - { - $values = [ - 'single' => [ - new \TruthyConstraint, - ], - 'multiple' => [ - new \TruthyConstraint, - new \TruthyConstraint, - new \TruthyConstraint, - ], - ]; - - foreach ($values as $key => $constraints) { - yield $key => [ - $constraints, - ]; - } - } - - private function stringify(array $constraints): string - { - return \implode( - ' and ', - \array_map(function (Constraint $constraint) { - return $constraint->toString(); - }, $constraints) - ); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/LogicalOrTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/LogicalOrTest.php deleted file mode 100644 index f9a5318..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/LogicalOrTest.php +++ /dev/null @@ -1,232 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\Constraint; - -use PHPUnit\Framework\ExpectationFailedException; -use PHPUnit\Framework\TestFailure; - -final class LogicalOrTest extends ConstraintTestCase -{ - public function testSetConstraintsDecoratesNonConstraintWithIsEqual(): void - { - $constraints = [ - new \stdClass, - ]; - - $constraint = new LogicalOr; - - $constraint->setConstraints($constraints); - - $this->assertTrue($constraint->evaluate(new \stdClass, '', true)); - } - - public function testCountReturnsCountOfComposedConstraints(): void - { - $counts = [ - 3, - 5, - 8, - ]; - - $constraints = \array_map(function (int $count) { - return \CountConstraint::fromCount($count); - }, $counts); - - $constraint = new LogicalOr; - - $constraint->setConstraints($constraints); - - $expected = \array_sum($counts); - - $this->assertSame($expected, $constraint->count()); - } - - public function testToStringReturnsImplodedStringRepresentationOfComposedConstraintsGluedWithOr(): void - { - $names = [ - 'is healthy', - 'is rich in amino acids', - 'is rich in unsaturated fats', - ]; - - $constraints = \array_map(function (string $name) { - return \NamedConstraint::fromName($name); - }, $names); - - $constraint = new LogicalOr; - - $constraint->setConstraints($constraints); - - $expected = \implode(' or ', $names); - - $this->assertSame($expected, $constraint->toString()); - } - - /** - * @dataProvider providerFailingConstraints - * - * @param Constraint[] $constraints - */ - public function testEvaluateReturnsFalseIfAllOfTheComposedConstraintsEvaluateToFalse(array $constraints): void - { - $constraint = new LogicalOr; - - $constraint->setConstraints($constraints); - - $this->assertFalse($constraint->evaluate('whatever', '', true)); - } - - /** - * @dataProvider providerSucceedingConstraints - * - * @param Constraint[] $constraints - */ - public function testEvaluateReturnsTrueIfAnyOfTheComposedConstraintsEvaluateToTrue(array $constraints): void - { - $constraint = new LogicalOr; - - $constraint->setConstraints($constraints); - - $this->assertTrue($constraint->evaluate('whatever', '', true)); - } - - /** - * @dataProvider providerFailingConstraints - * - * @param Constraint[] $constraints - */ - public function testEvaluateThrowsExceptionIfAllOfTheComposedConstraintsEvaluateToFalse(array $constraints): void - { - $other = 'whatever'; - - $constraint = new LogicalOr; - - $constraint->setConstraints($constraints); - - try { - $constraint->evaluate($other); - } catch (ExpectationFailedException $exception) { - $toString = $this->stringify($constraints); - - $expectedDescription = <<assertEquals($expectedDescription, TestFailure::exceptionToString($exception)); - - return; - } - - $this->fail(); - } - - /** - * @dataProvider providerFailingConstraints - * - * @param Constraint[] $constraints - */ - public function testEvaluateThrowsExceptionWithCustomMessageIfAllOfTheComposedConstraintsEvaluateToFalse(array $constraints): void - { - $other = 'whatever'; - $customDescription = 'Not very happy about the results at this point in time, I have to admit!'; - - $constraint = new LogicalOr; - - $constraint->setConstraints($constraints); - - try { - $constraint->evaluate( - $other, - $customDescription - ); - } catch (ExpectationFailedException $exception) { - $toString = $this->stringify($constraints); - - $expectedDescription = <<assertEquals($expectedDescription, TestFailure::exceptionToString($exception)); - - return; - } - - $this->fail(); - } - - /** - * @dataProvider providerSucceedingConstraints - * - * @param Constraint[] $constraints - */ - public function testEvaluateReturnsNothingIfAnyOfTheComposedConstraintsEvaluateToTrue(array $constraints): void - { - $constraint = new LogicalOr; - - $constraint->setConstraints($constraints); - - $this->assertNull($constraint->evaluate('whatever')); - } - - public function providerFailingConstraints(): \Generator - { - $values = [ - 'single' => [ - new \FalsyConstraint, - new \FalsyConstraint, - new \FalsyConstraint, - ], - 'multiple' => [ - new \FalsyConstraint, - new \FalsyConstraint, - new \FalsyConstraint, - ], - ]; - - foreach ($values as $key => $constraints) { - yield $key => [ - $constraints, - ]; - } - } - - public function providerSucceedingConstraints(): \Generator - { - $values = [ - 'single' => [ - new \TruthyConstraint, - ], - 'multiple' => [ - new \FalsyConstraint, - new \TruthyConstraint, - new \FalsyConstraint, - ], - ]; - - foreach ($values as $key => $constraints) { - yield $key => [ - $constraints, - ]; - } - } - - private function stringify(array $constraints): string - { - return \implode( - ' or ', - \array_map(function (Constraint $constraint) { - return $constraint->toString(); - }, $constraints) - ); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/LogicalXorTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/LogicalXorTest.php deleted file mode 100644 index f801e15..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/LogicalXorTest.php +++ /dev/null @@ -1,44 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace Framework\Constraint; - -use PHPUnit\Framework\Constraint\Constraint; -use PHPUnit\Framework\Constraint\LogicalXor; -use PHPUnit\Framework\TestCase; - -final class LogicalXorTest extends TestCase -{ - public function testFromConstraintsReturnsConstraint(): void - { - $other = 'Foo'; - $count = 5; - - $constraints = \array_map(function () use ($other) { - static $count = 0; - - $constraint = $this->getMockBuilder(Constraint::class)->getMock(); - - $constraint - ->expects($this->once()) - ->method('evaluate') - ->with($this->identicalTo($other)) - ->willReturn($count % 2 === 1); - - ++$count; - - return $constraint; - }, \array_fill(0, $count, null)); - - $constraint = LogicalXor::fromConstraints(...$constraints); - - $this->assertInstanceOf(LogicalXor::class, $constraint); - $this->assertTrue($constraint->evaluate($other, '', true)); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/ObjectHasAttributeTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/ObjectHasAttributeTest.php deleted file mode 100644 index 3c042cf..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/ObjectHasAttributeTest.php +++ /dev/null @@ -1,66 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\Constraint; - -use PHPUnit\Framework\ExpectationFailedException; -use PHPUnit\Framework\TestFailure; - -class ObjectHasAttributeTest extends ConstraintTestCase -{ - public function testConstraintObjectHasAttribute(): void - { - $constraint = new ObjectHasAttribute('privateAttribute'); - - $this->assertTrue($constraint->evaluate(new \ClassWithNonPublicAttributes, '', true)); - $this->assertFalse($constraint->evaluate(new \stdClass, '', true)); - $this->assertEquals('has attribute "privateAttribute"', $constraint->toString()); - $this->assertCount(1, $constraint); - - try { - $constraint->evaluate(new \stdClass); - } catch (ExpectationFailedException $e) { - $this->assertEquals( - <<fail(); - } - - public function testConstraintObjectHasAttribute2(): void - { - $constraint = new ObjectHasAttribute('privateAttribute'); - - try { - $constraint->evaluate(new \stdClass, 'custom message'); - } catch (ExpectationFailedException $e) { - $this->assertEquals( - <<fail(); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/RegularExpressionTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/RegularExpressionTest.php deleted file mode 100644 index 176c86f..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/RegularExpressionTest.php +++ /dev/null @@ -1,66 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\Constraint; - -use PHPUnit\Framework\ExpectationFailedException; -use PHPUnit\Framework\TestFailure; - -class RegularExpressionTest extends ConstraintTestCase -{ - public function testConstraintRegularExpression(): void - { - $constraint = new RegularExpression('/foo/'); - - $this->assertFalse($constraint->evaluate('barbazbar', '', true)); - $this->assertTrue($constraint->evaluate('barfoobar', '', true)); - $this->assertEquals('matches PCRE pattern "/foo/"', $constraint->toString()); - $this->assertCount(1, $constraint); - - try { - $constraint->evaluate('barbazbar'); - } catch (ExpectationFailedException $e) { - $this->assertEquals( - <<fail(); - } - - public function testConstraintRegularExpression2(): void - { - $constraint = new RegularExpression('/foo/'); - - try { - $constraint->evaluate('barbazbar', 'custom message'); - } catch (ExpectationFailedException $e) { - $this->assertEquals( - <<fail(); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/SameSizeTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/SameSizeTest.php deleted file mode 100644 index 9e24f7f..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/SameSizeTest.php +++ /dev/null @@ -1,62 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\Constraint; - -use PHPUnit\Framework\ExpectationFailedException; -use PHPUnit\Framework\TestFailure; - -class SameSizeTest extends ConstraintTestCase -{ - public function testConstraintSameSizeWithAnArray(): void - { - $constraint = new SameSize([1, 2, 3, 4, 5]); - - $this->assertTrue($constraint->evaluate([6, 7, 8, 9, 10], '', true)); - $this->assertFalse($constraint->evaluate([1, 2, 3, 4], '', true)); - } - - public function testConstraintSameSizeWithAnIteratorWhichDoesNotImplementCountable(): void - { - $constraint = new SameSize(new \TestIterator([1, 2, 3, 4, 5])); - - $this->assertTrue($constraint->evaluate(new \TestIterator([6, 7, 8, 9, 10]), '', true)); - $this->assertFalse($constraint->evaluate(new \TestIterator([1, 2, 3, 4]), '', true)); - } - - public function testConstraintSameSizeWithAnObjectImplementingCountable(): void - { - $constraint = new SameSize(new \ArrayObject([1, 2, 3, 4, 5])); - - $this->assertTrue($constraint->evaluate(new \ArrayObject([6, 7, 8, 9, 10]), '', true)); - $this->assertFalse($constraint->evaluate(new \ArrayObject([1, 2, 3, 4]), '', true)); - } - - public function testConstraintSameSizeFailing(): void - { - $constraint = new SameSize([1, 2, 3, 4, 5]); - - try { - $constraint->evaluate([1, 2]); - } catch (ExpectationFailedException $e) { - $this->assertEquals( - <<fail(); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/StringContainsTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/StringContainsTest.php deleted file mode 100644 index ce010df..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/StringContainsTest.php +++ /dev/null @@ -1,96 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\Constraint; - -use PHPUnit\Framework\ExpectationFailedException; -use PHPUnit\Framework\TestFailure; - -class StringContainsTest extends ConstraintTestCase -{ - public function testConstraintStringContains(): void - { - $constraint = new StringContains('foo'); - - $this->assertFalse($constraint->evaluate('barbazbar', '', true)); - $this->assertTrue($constraint->evaluate('barfoobar', '', true)); - $this->assertEquals('contains "foo"', $constraint->toString()); - $this->assertCount(1, $constraint); - - try { - $constraint->evaluate('barbazbar'); - } catch (ExpectationFailedException $e) { - $this->assertEquals( - <<fail(); - } - - public function testConstraintStringContainsWhenIgnoreCase(): void - { - $constraint = new StringContains('oryginaÅ‚', true); - - $this->assertFalse($constraint->evaluate('oryginal', '', true)); - $this->assertTrue($constraint->evaluate('ORYGINAÅ', '', true)); - $this->assertTrue($constraint->evaluate('oryginaÅ‚', '', true)); - $this->assertEquals('contains "oryginaÅ‚"', $constraint->toString()); - $this->assertCount(1, $constraint); - - $this->expectException(ExpectationFailedException::class); - - $constraint->evaluate('oryginal'); - } - - public function testConstraintStringContainsForUtf8StringWhenNotIgnoreCase(): void - { - $constraint = new StringContains('oryginaÅ‚', false); - - $this->assertFalse($constraint->evaluate('oryginal', '', true)); - $this->assertFalse($constraint->evaluate('ORYGINAÅ', '', true)); - $this->assertTrue($constraint->evaluate('oryginaÅ‚', '', true)); - $this->assertEquals('contains "oryginaÅ‚"', $constraint->toString()); - $this->assertCount(1, $constraint); - - $this->expectException(ExpectationFailedException::class); - - $constraint->evaluate('oryginal'); - } - - public function testConstraintStringContains2(): void - { - $constraint = new StringContains('foo'); - - try { - $constraint->evaluate('barbazbar', 'custom message'); - } catch (ExpectationFailedException $e) { - $this->assertEquals( - <<fail(); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/StringEndsWithTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/StringEndsWithTest.php deleted file mode 100644 index 2a997f6..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/StringEndsWithTest.php +++ /dev/null @@ -1,103 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\Constraint; - -use PHPUnit\Framework\ExpectationFailedException; -use PHPUnit\Framework\TestFailure; - -class StringEndsWithTest extends ConstraintTestCase -{ - public function testConstraintStringEndsWithCorrectValueAndReturnResult(): void - { - $constraint = new StringEndsWith('suffix'); - - $this->assertTrue($constraint->evaluate('foosuffix', '', true)); - } - - public function testConstraintStringEndsWithNotCorrectValueAndReturnResult(): void - { - $constraint = new StringEndsWith('suffix'); - - $this->assertFalse($constraint->evaluate('suffixerror', '', true)); - } - - public function testConstraintStringEndsWithCorrectNumericValueAndReturnResult(): void - { - $constraint = new StringEndsWith('0E1'); - - $this->assertTrue($constraint->evaluate('zzz0E1', '', true)); - } - - public function testConstraintStringEndsWithNotCorrectNumericValueAndReturnResult(): void - { - $constraint = new StringEndsWith('0E1'); - - $this->assertFalse($constraint->evaluate('zzz0E2', '', true)); - } - - public function testConstraintStringEndsWithToStringMethod(): void - { - $constraint = new StringEndsWith('suffix'); - - $this->assertEquals('ends with "suffix"', $constraint->toString()); - } - - public function testConstraintStringEndsWithCountMethod(): void - { - $constraint = new StringEndsWith('suffix'); - - $this->assertCount(1, $constraint); - } - - public function testConstraintStringEndsWithNotCorrectValueAndExpectation(): void - { - $constraint = new StringEndsWith('suffix'); - - try { - $constraint->evaluate('error'); - } catch (ExpectationFailedException $e) { - $this->assertEquals( - <<fail(); - } - - public function testConstraintStringEndsWithNotCorrectValueExceptionAndCustomMessage(): void - { - $constraint = new StringEndsWith('suffix'); - - try { - $constraint->evaluate('error', 'custom message'); - } catch (ExpectationFailedException $e) { - $this->assertEquals( - <<fail(); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/StringMatchesFormatDescriptionTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/StringMatchesFormatDescriptionTest.php deleted file mode 100644 index 4507160..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/StringMatchesFormatDescriptionTest.php +++ /dev/null @@ -1,278 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\Constraint; - -use PHPUnit\Framework\ExpectationFailedException; - -class StringMatchesFormatDescriptionTest extends ConstraintTestCase -{ - public function testConstraintStringMatchesDirectorySeparator(): void - { - $constraint = new StringMatchesFormatDescription('*%e*'); - - $this->assertFalse($constraint->evaluate('**', '', true)); - $this->assertFalse($constraint->evaluate('*a*', '', true)); - - $this->assertTrue($constraint->evaluate('*' . \DIRECTORY_SEPARATOR . '*', '', true)); - - $this->assertEquals('matches PCRE pattern "/^\*\\' . \DIRECTORY_SEPARATOR . '\*$/s"', $constraint->toString()); - $this->assertCount(1, $constraint); - } - - public function testConstraintStringMatchesString(): void - { - $constraint = new StringMatchesFormatDescription('*%s*'); - - $this->assertFalse($constraint->evaluate('**', '', true)); - $this->assertFalse($constraint->evaluate("*\n*", '', true)); - - $this->assertTrue($constraint->evaluate('***', '', true)); - $this->assertTrue($constraint->evaluate('*foo 123 bar*', '', true)); - - $this->assertEquals('matches PCRE pattern "/^\*[^\r\n]+\*$/s"', $constraint->toString()); - $this->assertCount(1, $constraint); - } - - public function testConstraintStringMatchesOptionalString(): void - { - $constraint = new StringMatchesFormatDescription('*%S*'); - - $this->assertFalse($constraint->evaluate('*', '', true)); - $this->assertFalse($constraint->evaluate("*\n*", '', true)); - - $this->assertTrue($constraint->evaluate('***', '', true)); - $this->assertTrue($constraint->evaluate('*foo 123 bar*', '', true)); - $this->assertTrue($constraint->evaluate('**', '', true)); - - $this->assertEquals('matches PCRE pattern "/^\*[^\r\n]*\*$/s"', $constraint->toString()); - $this->assertCount(1, $constraint); - } - - public function testConstraintStringMatchesAnything(): void - { - $constraint = new StringMatchesFormatDescription('*%a*'); - - $this->assertFalse($constraint->evaluate('**', '', true)); - - $this->assertTrue($constraint->evaluate('***', '', true)); - $this->assertTrue($constraint->evaluate('*foo 123 bar*', '', true)); - $this->assertTrue($constraint->evaluate("*\n*", '', true)); - - $this->assertEquals('matches PCRE pattern "/^\*.+\*$/s"', $constraint->toString()); - $this->assertCount(1, $constraint); - } - - public function testConstraintStringMatchesOptionalAnything(): void - { - $constraint = new StringMatchesFormatDescription('*%A*'); - - $this->assertFalse($constraint->evaluate('*', '', true)); - - $this->assertTrue($constraint->evaluate('***', '', true)); - $this->assertTrue($constraint->evaluate('*foo 123 bar*', '', true)); - $this->assertTrue($constraint->evaluate("*\n*", '', true)); - $this->assertTrue($constraint->evaluate('**', '', true)); - - $this->assertEquals('matches PCRE pattern "/^\*.*\*$/s"', $constraint->toString()); - $this->assertCount(1, $constraint); - } - - public function testConstraintStringMatchesWhitespace(): void - { - $constraint = new StringMatchesFormatDescription('*%w*'); - - $this->assertFalse($constraint->evaluate('*', '', true)); - $this->assertFalse($constraint->evaluate('*a*', '', true)); - - $this->assertTrue($constraint->evaluate('* *', '', true)); - $this->assertTrue($constraint->evaluate("*\t\n*", '', true)); - $this->assertTrue($constraint->evaluate('**', '', true)); - - $this->assertEquals('matches PCRE pattern "/^\*\s*\*$/s"', $constraint->toString()); - $this->assertCount(1, $constraint); - } - - public function testConstraintStringMatchesInteger(): void - { - $constraint = new StringMatchesFormatDescription('*%i*'); - - $this->assertFalse($constraint->evaluate('**', '', true)); - $this->assertFalse($constraint->evaluate('*a*', '', true)); - $this->assertFalse($constraint->evaluate('*1.0*', '', true)); - - $this->assertTrue($constraint->evaluate('*0*', '', true)); - $this->assertTrue($constraint->evaluate('*12*', '', true)); - $this->assertTrue($constraint->evaluate('*-1*', '', true)); - $this->assertTrue($constraint->evaluate('*+2*', '', true)); - - $this->assertEquals('matches PCRE pattern "/^\*[+-]?\d+\*$/s"', $constraint->toString()); - $this->assertCount(1, $constraint); - } - - public function testConstraintStringMatchesUnsignedInt(): void - { - $constraint = new StringMatchesFormatDescription('*%d*'); - - $this->assertFalse($constraint->evaluate('**', '', true)); - $this->assertFalse($constraint->evaluate('*a*', '', true)); - $this->assertFalse($constraint->evaluate('*1.0*', '', true)); - $this->assertFalse($constraint->evaluate('*-1*', '', true)); - $this->assertFalse($constraint->evaluate('*+2*', '', true)); - - $this->assertTrue($constraint->evaluate('*0*', '', true)); - $this->assertTrue($constraint->evaluate('*12*', '', true)); - - $this->assertEquals('matches PCRE pattern "/^\*\d+\*$/s"', $constraint->toString()); - $this->assertCount(1, $constraint); - } - - public function testConstraintStringMatchesHexadecimal(): void - { - $constraint = new StringMatchesFormatDescription('*%x*'); - - $this->assertFalse($constraint->evaluate('**', '', true)); - $this->assertFalse($constraint->evaluate('***', '', true)); - $this->assertFalse($constraint->evaluate('*g*', '', true)); - $this->assertFalse($constraint->evaluate('*1.0*', '', true)); - $this->assertFalse($constraint->evaluate('*-1*', '', true)); - $this->assertFalse($constraint->evaluate('*+2*', '', true)); - - $this->assertTrue($constraint->evaluate('*0f0f0f*', '', true)); - $this->assertTrue($constraint->evaluate('*0*', '', true)); - $this->assertTrue($constraint->evaluate('*12*', '', true)); - $this->assertTrue($constraint->evaluate('*a*', '', true)); - - $this->assertEquals('matches PCRE pattern "/^\*[0-9a-fA-F]+\*$/s"', $constraint->toString()); - $this->assertCount(1, $constraint); - } - - public function testConstraintStringMatchesFloat(): void - { - $constraint = new StringMatchesFormatDescription('*%f*'); - - $this->assertFalse($constraint->evaluate('**', '', true)); - $this->assertFalse($constraint->evaluate('***', '', true)); - $this->assertFalse($constraint->evaluate('*a*', '', true)); - - $this->assertTrue($constraint->evaluate('*1.0*', '', true)); - $this->assertTrue($constraint->evaluate('*0*', '', true)); - $this->assertTrue($constraint->evaluate('*12*', '', true)); - $this->assertTrue($constraint->evaluate('*.1*', '', true)); - $this->assertTrue($constraint->evaluate('*1.*', '', true)); - $this->assertTrue($constraint->evaluate('*2e3*', '', true)); - $this->assertTrue($constraint->evaluate('*-2.34e-56*', '', true)); - $this->assertTrue($constraint->evaluate('*+2.34e+56*', '', true)); - - $this->assertEquals('matches PCRE pattern "/^\*[+-]?\.?\d+\.?\d*(?:[Ee][+-]?\d+)?\*$/s"', $constraint->toString()); - $this->assertCount(1, $constraint); - } - - public function testConstraintStringMatchesCharacter(): void - { - $constraint = new StringMatchesFormatDescription('*%c*'); - - $this->assertFalse($constraint->evaluate('**', '', true)); - $this->assertFalse($constraint->evaluate('*ab*', '', true)); - - $this->assertTrue($constraint->evaluate('***', '', true)); - $this->assertTrue($constraint->evaluate('*a*', '', true)); - $this->assertTrue($constraint->evaluate('*g*', '', true)); - $this->assertTrue($constraint->evaluate('*0*', '', true)); - $this->assertTrue($constraint->evaluate('*2*', '', true)); - $this->assertTrue($constraint->evaluate('* *', '', true)); - $this->assertTrue($constraint->evaluate("*\n*", '', true)); - - $this->assertEquals('matches PCRE pattern "/^\*.\*$/s"', $constraint->toString()); - $this->assertCount(1, $constraint); - } - - public function testConstraintStringMatchesEscapedPercent(): void - { - $constraint = new StringMatchesFormatDescription('%%,%%e,%%s,%%S,%%a,%%A,%%w,%%i,%%d,%%x,%%f,%%c,%%Z,%%%%,%%'); - - $this->assertFalse($constraint->evaluate('%%,%' . \DIRECTORY_SEPARATOR . ',%*,%*,%*,%*,% ,%0,%0,%0f0f0f,%1.0,%*,%%Z,%%%%,%%', '', true)); - $this->assertTrue($constraint->evaluate('%,%e,%s,%S,%a,%A,%w,%i,%d,%x,%f,%c,%Z,%%,%', '', true)); - $this->assertEquals('matches PCRE pattern "/^%,%e,%s,%S,%a,%A,%w,%i,%d,%x,%f,%c,%Z,%%,%$/s"', $constraint->toString()); - $this->assertCount(1, $constraint); - } - - public function testConstraintStringMatchesEscapedPercentThenPlaceholder(): void - { - $constraint = new StringMatchesFormatDescription('%%%e,%%%s,%%%S,%%%a,%%%A,%%%w,%%%i,%%%d,%%%x,%%%f,%%%c'); - - $this->assertFalse($constraint->evaluate('%%e,%%s,%%S,%%a,%%A,%%w,%%i,%%d,%%x,%%f,%%c', '', true)); - $this->assertTrue($constraint->evaluate('%' . \DIRECTORY_SEPARATOR . ',%*,%*,%*,%*,% ,%0,%0,%0f0f0f,%1.0,%*', '', true)); - $this->assertEquals('matches PCRE pattern "/^%\\' . \DIRECTORY_SEPARATOR . ',%[^\r\n]+,%[^\r\n]*,%.+,%.*,%\s*,%[+-]?\d+,%\d+,%[0-9a-fA-F]+,%[+-]?\.?\d+\.?\d*(?:[Ee][+-]?\d+)?,%.$/s"', $constraint->toString()); - $this->assertCount(1, $constraint); - } - - public function testConstraintStringMatchesSlash(): void - { - $constraint = new StringMatchesFormatDescription('/'); - - $this->assertFalse($constraint->evaluate('\\/', '', true)); - $this->assertTrue($constraint->evaluate('/', '', true)); - $this->assertEquals('matches PCRE pattern "/^\\/$/s"', $constraint->toString()); - $this->assertCount(1, $constraint); - } - - public function testConstraintStringMatchesBackslash(): void - { - $constraint = new StringMatchesFormatDescription('\\'); - - $this->assertFalse($constraint->evaluate('\\\\', '', true)); - $this->assertTrue($constraint->evaluate('\\', '', true)); - $this->assertEquals('matches PCRE pattern "/^\\\\$/s"', $constraint->toString()); - $this->assertCount(1, $constraint); - } - - public function testConstraintStringMatchesBackslashSlash(): void - { - $constraint = new StringMatchesFormatDescription('\\/'); - - $this->assertFalse($constraint->evaluate('/', '', true)); - $this->assertTrue($constraint->evaluate('\\/', '', true)); - $this->assertEquals('matches PCRE pattern "/^\\\\\\/$/s"', $constraint->toString()); - $this->assertCount(1, $constraint); - } - - public function testConstraintStringMatchesNewline(): void - { - $constraint = new StringMatchesFormatDescription("\r\n"); - - $this->assertFalse($constraint->evaluate("*\r\n", '', true)); - $this->assertTrue($constraint->evaluate("\r\n", '', true)); - $this->assertEquals("matches PCRE pattern \"/^\n$/s\"", $constraint->toString()); - $this->assertCount(1, $constraint); - } - - public function testFailureMessageWithNewlines(): void - { - $constraint = new StringMatchesFormatDescription("%c\nfoo\n%c"); - - try { - $constraint->evaluate("*\nbar\n*"); - $this->fail('Expected ExpectationFailedException, but it was not thrown.'); - } catch (ExpectationFailedException $e) { - $expected = <<assertEquals($expected, $e->getMessage()); - } - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/StringStartsWithTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/StringStartsWithTest.php deleted file mode 100644 index 7be21cb..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/StringStartsWithTest.php +++ /dev/null @@ -1,110 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\Constraint; - -use PHPUnit\Framework\ExpectationFailedException; -use PHPUnit\Framework\TestFailure; - -class StringStartsWithTest extends ConstraintTestCase -{ - public function testConstraintStringStartsWithCorrectValueAndReturnResult(): void - { - $constraint = new StringStartsWith('prefix'); - - $this->assertTrue($constraint->evaluate('prefixfoo', '', true)); - } - - public function testConstraintStringStartsWithNotCorrectValueAndReturnResult(): void - { - $constraint = new StringStartsWith('prefix'); - - $this->assertFalse($constraint->evaluate('error', '', true)); - } - - public function testConstraintStringStartsWithCorrectNumericValueAndReturnResult(): void - { - $constraint = new StringStartsWith('0E1'); - - $this->assertTrue($constraint->evaluate('0E1zzz', '', true)); - } - - public function testConstraintStringStartsWithCorrectSingleZeroAndReturnResult(): void - { - $constraint = new StringStartsWith('0'); - - $this->assertTrue($constraint->evaluate('0ABC', '', true)); - } - - public function testConstraintStringStartsWithNotCorrectNumericValueAndReturnResult(): void - { - $constraint = new StringStartsWith('0E1'); - - $this->assertFalse($constraint->evaluate('0E2zzz', '', true)); - } - - public function testConstraintStringStartsWithToStringMethod(): void - { - $constraint = new StringStartsWith('prefix'); - - $this->assertEquals('starts with "prefix"', $constraint->toString()); - } - - public function testConstraintStringStartsWitCountMethod(): void - { - $constraint = new StringStartsWith('prefix'); - - $this->assertCount(1, $constraint); - } - - public function testConstraintStringStartsWithNotCorrectValueAndExpectation(): void - { - $constraint = new StringStartsWith('prefix'); - - try { - $constraint->evaluate('error'); - } catch (ExpectationFailedException $e) { - $this->assertEquals( - <<fail(); - } - - public function testConstraintStringStartsWithNotCorrectValueExceptionAndCustomMessage(): void - { - $constraint = new StringStartsWith('prefix'); - - try { - $constraint->evaluate('error', 'custom message'); - } catch (ExpectationFailedException $e) { - $this->assertEquals( - <<fail(); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/TraversableContainsTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/TraversableContainsTest.php deleted file mode 100644 index aa7ba3a..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/TraversableContainsTest.php +++ /dev/null @@ -1,170 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\Constraint; - -use PHPUnit\Framework\ExpectationFailedException; -use PHPUnit\Framework\TestFailure; - -class TraversableContainsTest extends ConstraintTestCase -{ - public function testConstraintTraversableCheckForObjectIdentityForDefaultCase(): void - { - $constraint = new TraversableContains('foo'); - - $this->assertTrue($constraint->evaluate([0], '', true)); - $this->assertTrue($constraint->evaluate([true], '', true)); - } - - public function testConstraintTraversableCheckForObjectIdentityForPrimitiveType(): void - { - $constraint = new TraversableContains('foo', true, true); - - $this->assertFalse($constraint->evaluate([0], '', true)); - $this->assertFalse($constraint->evaluate([true], '', true)); - } - - public function testConstraintTraversableWithRightValue(): void - { - $constraint = new TraversableContains('foo'); - - $this->assertTrue($constraint->evaluate(['foo'], '', true)); - } - - public function testConstraintTraversableWithFailValue(): void - { - $constraint = new TraversableContains('foo'); - - $this->assertFalse($constraint->evaluate(['bar'], '', true)); - } - - public function testConstraintTraversableCountMethods(): void - { - $constraint = new TraversableContains('foo'); - - $this->assertCount(1, $constraint); - } - - public function testConstraintTraversableEvaluateMethodWithFailExample(): void - { - $constraint = new TraversableContains('foo'); - - try { - $constraint->evaluate(['bar']); - } catch (ExpectationFailedException $e) { - $this->assertEquals( - <<fail(); - } - - public function testConstraintTraversableEvaluateMethodWithFailExampleWithCustomMessage(): void - { - $constraint = new TraversableContains('foo'); - - try { - $constraint->evaluate(['bar'], 'custom message'); - } catch (ExpectationFailedException $e) { - $this->assertEquals( - <<fail(); - } - - public function testConstraintTraversableToStringMethodsWithStdClass(): void - { - $object = new \stdClass; - $constraint = new TraversableContains($object); - $this->assertStringMatchesFormat('contains stdClass Object &%s ()', $constraint->toString()); - } - - public function testConstraintTraversableToStringMethods(): void - { - $constraint = new TraversableContains('foo'); - - $this->assertEquals("contains 'foo'", $constraint->toString()); - } - - public function testConstraintTraversableToStringMethodsWithSplObjectStorage(): void - { - $object = new \stdClass; - $constraint = new TraversableContains($object); - - $storage = new \SplObjectStorage; - $this->assertFalse($constraint->evaluate($storage, '', true)); - - $storage->attach($object); - $this->assertTrue($constraint->evaluate($storage, '', true)); - } - - public function testConstraintTraversableStdClassForFailSplObjectStorage(): void - { - $object = new \stdClass; - $constraint = new TraversableContains($object); - - try { - $constraint->evaluate(new \SplObjectStorage); - } catch (ExpectationFailedException $e) { - $this->assertStringMatchesFormat( - <<fail(); - } - - public function testConstraintTraversableStdClassForFailSplObjectStorageWithCustomMessage(): void - { - $object = new \stdClass; - $constraint = new TraversableContains($object); - - try { - $constraint->evaluate(new \SplObjectStorage, 'custom message'); - } catch (ExpectationFailedException $e) { - $this->assertStringMatchesFormat( - <<fail(); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/ConstraintTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/ConstraintTest.php deleted file mode 100644 index 9cd623e..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/ConstraintTest.php +++ /dev/null @@ -1,1492 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework; - -use PHPUnit\Framework\Constraint\Count; -use PHPUnit\Framework\Constraint\SameSize; -use PHPUnit\Framework\Constraint\TraversableContains; -use PHPUnit\Util\Filter; - -class ConstraintTest extends TestCase -{ - public function testConstraintArrayNotHasKey(): void - { - $constraint = Assert::logicalNot( - Assert::arrayHasKey(0) - ); - - $this->assertFalse($constraint->evaluate([0 => 1], '', true)); - $this->assertEquals('does not have the key 0', $constraint->toString()); - $this->assertCount(1, $constraint); - - try { - $constraint->evaluate([0 => 1]); - } catch (ExpectationFailedException $e) { - $this->assertEquals( - <<fail(); - } - - public function testConstraintArrayNotHasKey2(): void - { - $constraint = Assert::logicalNot( - Assert::arrayHasKey(0) - ); - - try { - $constraint->evaluate([0], 'custom message'); - } catch (ExpectationFailedException $e) { - $this->assertEquals( - <<fail(); - } - - public function testConstraintFileNotExists(): void - { - $file = TEST_FILES_PATH . 'ClassWithNonPublicAttributes.php'; - - $constraint = Assert::logicalNot( - Assert::fileExists() - ); - - $this->assertFalse($constraint->evaluate($file, '', true)); - $this->assertEquals('file does not exist', $constraint->toString()); - $this->assertCount(1, $constraint); - - try { - $constraint->evaluate($file); - } catch (ExpectationFailedException $e) { - $this->assertEquals( - <<fail(); - } - - public function testConstraintFileNotExists2(): void - { - $file = TEST_FILES_PATH . 'ClassWithNonPublicAttributes.php'; - - $constraint = Assert::logicalNot( - Assert::fileExists() - ); - - try { - $constraint->evaluate($file, 'custom message'); - } catch (ExpectationFailedException $e) { - $this->assertEquals( - <<fail(); - } - - public function testConstraintNotGreaterThan(): void - { - $constraint = Assert::logicalNot( - Assert::greaterThan(1) - ); - - $this->assertTrue($constraint->evaluate(1, '', true)); - $this->assertEquals('is not greater than 1', $constraint->toString()); - $this->assertCount(1, $constraint); - - try { - $constraint->evaluate(2); - } catch (ExpectationFailedException $e) { - $this->assertEquals( - <<fail(); - } - - public function testConstraintNotGreaterThan2(): void - { - $constraint = Assert::logicalNot( - Assert::greaterThan(1) - ); - - try { - $constraint->evaluate(2, 'custom message'); - } catch (ExpectationFailedException $e) { - $this->assertEquals( - <<fail(); - } - - public function testConstraintGreaterThanOrEqual(): void - { - $constraint = Assert::greaterThanOrEqual(1); - - $this->assertTrue($constraint->evaluate(1, '', true)); - $this->assertFalse($constraint->evaluate(0, '', true)); - $this->assertEquals('is equal to 1 or is greater than 1', $constraint->toString()); - $this->assertCount(2, $constraint); - - try { - $constraint->evaluate(0); - } catch (ExpectationFailedException $e) { - $this->assertEquals( - <<fail(); - } - - public function testConstraintGreaterThanOrEqual2(): void - { - $constraint = Assert::greaterThanOrEqual(1); - - try { - $constraint->evaluate(0, 'custom message'); - } catch (ExpectationFailedException $e) { - $this->assertEquals( - <<fail(); - } - - public function testConstraintNotGreaterThanOrEqual(): void - { - $constraint = Assert::logicalNot( - Assert::greaterThanOrEqual(1) - ); - - $this->assertFalse($constraint->evaluate(1, '', true)); - $this->assertEquals('not( is equal to 1 or is greater than 1 )', $constraint->toString()); - $this->assertCount(2, $constraint); - - try { - $constraint->evaluate(1); - } catch (ExpectationFailedException $e) { - $this->assertEquals( - <<fail(); - } - - public function testConstraintNotGreaterThanOrEqual2(): void - { - $constraint = Assert::logicalNot( - Assert::greaterThanOrEqual(1) - ); - - try { - $constraint->evaluate(1, 'custom message'); - } catch (ExpectationFailedException $e) { - $this->assertEquals( - <<fail(); - } - - public function testConstraintIsAnything(): void - { - $constraint = Assert::anything(); - - $this->assertTrue($constraint->evaluate(null, '', true)); - $this->assertNull($constraint->evaluate(null)); - $this->assertEquals('is anything', $constraint->toString()); - $this->assertCount(0, $constraint); - } - - public function testConstraintNotIsAnything(): void - { - $constraint = Assert::logicalNot( - Assert::anything() - ); - - $this->assertFalse($constraint->evaluate(null, '', true)); - $this->assertEquals('is not anything', $constraint->toString()); - $this->assertCount(0, $constraint); - - try { - $constraint->evaluate(null); - } catch (ExpectationFailedException $e) { - $this->assertEquals( - <<fail(); - } - - public function testConstraintIsNotEqual(): void - { - $constraint = Assert::logicalNot( - Assert::equalTo(1) - ); - - $this->assertTrue($constraint->evaluate(0, '', true)); - $this->assertFalse($constraint->evaluate(1, '', true)); - $this->assertEquals('is not equal to 1', $constraint->toString()); - $this->assertCount(1, $constraint); - - try { - $constraint->evaluate(1); - } catch (ExpectationFailedException $e) { - $this->assertEquals( - <<fail(); - } - - public function testConstraintIsNotEqual2(): void - { - $constraint = Assert::logicalNot( - Assert::equalTo(1) - ); - - try { - $constraint->evaluate(1, 'custom message'); - } catch (ExpectationFailedException $e) { - $this->assertEquals( - <<fail(); - } - - public function testConstraintIsNotIdentical(): void - { - $a = new \stdClass; - $b = new \stdClass; - - $constraint = Assert::logicalNot( - Assert::identicalTo($a) - ); - - $this->assertTrue($constraint->evaluate($b, '', true)); - $this->assertFalse($constraint->evaluate($a, '', true)); - $this->assertEquals('is not identical to an object of class "stdClass"', $constraint->toString()); - $this->assertCount(1, $constraint); - - try { - $constraint->evaluate($a); - } catch (ExpectationFailedException $e) { - $this->assertEquals( - <<trimnl(TestFailure::exceptionToString($e)) - ); - - return; - } - - $this->fail(); - } - - public function testConstraintIsNotIdentical2(): void - { - $a = new \stdClass; - - $constraint = Assert::logicalNot( - Assert::identicalTo($a) - ); - - try { - $constraint->evaluate($a, 'custom message'); - } catch (ExpectationFailedException $e) { - $this->assertEquals( - <<fail(); - } - - public function testConstraintIsNotIdentical3(): void - { - $constraint = Assert::logicalNot( - Assert::identicalTo('a') - ); - - try { - $constraint->evaluate('a', 'custom message'); - } catch (ExpectationFailedException $e) { - $this->assertEquals( - <<trimnl(TestFailure::exceptionToString($e)) - ); - - return; - } - - $this->fail(); - } - - public function testConstraintIsInstanceOf(): void - { - $constraint = Assert::isInstanceOf(\Exception::class); - - $this->assertFalse($constraint->evaluate(new \stdClass, '', true)); - $this->assertTrue($constraint->evaluate(new \Exception, '', true)); - $this->assertEquals('is instance of class "Exception"', $constraint->toString()); - $this->assertCount(1, $constraint); - - $interfaceConstraint = Assert::isInstanceOf(\Countable::class); - $this->assertFalse($interfaceConstraint->evaluate(new \stdClass, '', true)); - $this->assertTrue($interfaceConstraint->evaluate(new \ArrayObject, '', true)); - $this->assertEquals('is instance of interface "Countable"', $interfaceConstraint->toString()); - - try { - $constraint->evaluate(new \stdClass); - } catch (ExpectationFailedException $e) { - $this->assertEquals( - <<fail(); - } - - public function testConstraintIsInstanceOf2(): void - { - $constraint = Assert::isInstanceOf(\Exception::class); - - try { - $constraint->evaluate(new \stdClass, 'custom message'); - } catch (ExpectationFailedException $e) { - $this->assertEquals( - <<fail(); - } - - public function testConstraintIsNotInstanceOf(): void - { - $constraint = Assert::logicalNot( - Assert::isInstanceOf(\stdClass::class) - ); - - $this->assertFalse($constraint->evaluate(new \stdClass, '', true)); - $this->assertTrue($constraint->evaluate(new Exception, '', true)); - $this->assertEquals('is not instance of class "stdClass"', $constraint->toString()); - $this->assertCount(1, $constraint); - - try { - $constraint->evaluate(new \stdClass); - } catch (ExpectationFailedException $e) { - $this->assertEquals( - <<fail(); - } - - public function testConstraintIsNotInstanceOf2(): void - { - $constraint = Assert::logicalNot( - Assert::isInstanceOf(\stdClass::class) - ); - - try { - $constraint->evaluate(new \stdClass, 'custom message'); - } catch (ExpectationFailedException $e) { - $this->assertEquals( - <<fail(); - } - - public function testConstraintIsNotType(): void - { - $constraint = Assert::logicalNot( - Assert::isType('string') - ); - - $this->assertTrue($constraint->evaluate(0, '', true)); - $this->assertFalse($constraint->evaluate('', '', true)); - $this->assertEquals('is not of type "string"', $constraint->toString()); - $this->assertCount(1, $constraint); - - try { - $constraint->evaluate(''); - } catch (ExpectationFailedException $e) { - $this->assertEquals( - <<fail(); - } - - public function testConstraintIsNotType2(): void - { - $constraint = Assert::logicalNot( - Assert::isType('string') - ); - - try { - $constraint->evaluate('', 'custom message'); - } catch (ExpectationFailedException $e) { - $this->assertEquals( - <<fail(); - } - - public function testConstraintIsNotNull(): void - { - $constraint = Assert::logicalNot( - Assert::isNull() - ); - - $this->assertFalse($constraint->evaluate(null, '', true)); - $this->assertTrue($constraint->evaluate(0, '', true)); - $this->assertEquals('is not null', $constraint->toString()); - $this->assertCount(1, $constraint); - - try { - $constraint->evaluate(null); - } catch (ExpectationFailedException $e) { - $this->assertEquals( - <<fail(); - } - - public function testConstraintIsNotNull2(): void - { - $constraint = Assert::logicalNot( - Assert::isNull() - ); - - try { - $constraint->evaluate(null, 'custom message'); - } catch (ExpectationFailedException $e) { - $this->assertEquals( - <<fail(); - } - - public function testConstraintNotLessThan(): void - { - $constraint = Assert::logicalNot( - Assert::lessThan(1) - ); - - $this->assertTrue($constraint->evaluate(1, '', true)); - $this->assertFalse($constraint->evaluate(0, '', true)); - $this->assertEquals('is not less than 1', $constraint->toString()); - $this->assertCount(1, $constraint); - - try { - $constraint->evaluate(0); - } catch (ExpectationFailedException $e) { - $this->assertEquals( - <<fail(); - } - - public function testConstraintNotLessThan2(): void - { - $constraint = Assert::logicalNot( - Assert::lessThan(1) - ); - - try { - $constraint->evaluate(0, 'custom message'); - } catch (ExpectationFailedException $e) { - $this->assertEquals( - <<fail(); - } - - public function testConstraintLessThanOrEqual(): void - { - $constraint = Assert::lessThanOrEqual(1); - - $this->assertTrue($constraint->evaluate(1, '', true)); - $this->assertFalse($constraint->evaluate(2, '', true)); - $this->assertEquals('is equal to 1 or is less than 1', $constraint->toString()); - $this->assertCount(2, $constraint); - - try { - $constraint->evaluate(2); - } catch (ExpectationFailedException $e) { - $this->assertEquals( - <<fail(); - } - - public function testConstraintLessThanOrEqual2(): void - { - $constraint = Assert::lessThanOrEqual(1); - - try { - $constraint->evaluate(2, 'custom message'); - } catch (ExpectationFailedException $e) { - $this->assertEquals( - <<fail(); - } - - public function testConstraintNotLessThanOrEqual(): void - { - $constraint = Assert::logicalNot( - Assert::lessThanOrEqual(1) - ); - - $this->assertTrue($constraint->evaluate(2, '', true)); - $this->assertFalse($constraint->evaluate(1, '', true)); - $this->assertEquals('not( is equal to 1 or is less than 1 )', $constraint->toString()); - $this->assertCount(2, $constraint); - - try { - $constraint->evaluate(1); - } catch (ExpectationFailedException $e) { - $this->assertEquals( - <<fail(); - } - - public function testConstraintNotLessThanOrEqual2(): void - { - $constraint = Assert::logicalNot( - Assert::lessThanOrEqual(1) - ); - - try { - $constraint->evaluate(1, 'custom message'); - } catch (ExpectationFailedException $e) { - $this->assertEquals( - <<fail(); - } - - public function testConstraintClassNotHasAttribute(): void - { - $constraint = Assert::logicalNot( - Assert::classHasAttribute('privateAttribute') - ); - - $this->assertTrue($constraint->evaluate(\stdClass::class, '', true)); - $this->assertFalse($constraint->evaluate(\ClassWithNonPublicAttributes::class, '', true)); - $this->assertEquals('does not have attribute "privateAttribute"', $constraint->toString()); - $this->assertCount(1, $constraint); - - try { - $constraint->evaluate(\ClassWithNonPublicAttributes::class); - } catch (ExpectationFailedException $e) { - $this->assertEquals( - <<fail(); - } - - public function testConstraintClassNotHasAttribute2(): void - { - $constraint = Assert::logicalNot( - Assert::classHasAttribute('privateAttribute') - ); - - try { - $constraint->evaluate(\ClassWithNonPublicAttributes::class, 'custom message'); - } catch (ExpectationFailedException $e) { - $this->assertEquals( - <<fail(); - } - - public function testConstraintClassNotHasStaticAttribute(): void - { - $constraint = Assert::logicalNot( - Assert::classHasStaticAttribute('privateStaticAttribute') - ); - - $this->assertTrue($constraint->evaluate(\stdClass::class, '', true)); - $this->assertFalse($constraint->evaluate(\ClassWithNonPublicAttributes::class, '', true)); - $this->assertEquals('does not have static attribute "privateStaticAttribute"', $constraint->toString()); - $this->assertCount(1, $constraint); - - try { - $constraint->evaluate(\ClassWithNonPublicAttributes::class); - } catch (ExpectationFailedException $e) { - $this->assertEquals( - <<fail(); - } - - public function testConstraintClassNotHasStaticAttribute2(): void - { - $constraint = Assert::logicalNot( - Assert::classHasStaticAttribute('privateStaticAttribute') - ); - - try { - $constraint->evaluate(\ClassWithNonPublicAttributes::class, 'custom message'); - } catch (ExpectationFailedException $e) { - $this->assertEquals( - <<fail(); - } - - public function testConstraintObjectNotHasAttribute(): void - { - $constraint = Assert::logicalNot( - Assert::objectHasAttribute('privateAttribute') - ); - - $this->assertTrue($constraint->evaluate(new \stdClass, '', true)); - $this->assertFalse($constraint->evaluate(new \ClassWithNonPublicAttributes, '', true)); - $this->assertEquals('does not have attribute "privateAttribute"', $constraint->toString()); - $this->assertCount(1, $constraint); - - try { - $constraint->evaluate(new \ClassWithNonPublicAttributes); - } catch (ExpectationFailedException $e) { - $this->assertEquals( - <<fail(); - } - - public function testConstraintObjectNotHasAttribute2(): void - { - $constraint = Assert::logicalNot( - Assert::objectHasAttribute('privateAttribute') - ); - - try { - $constraint->evaluate(new \ClassWithNonPublicAttributes, 'custom message'); - } catch (ExpectationFailedException $e) { - $this->assertEquals( - <<fail(); - } - - public function testConstraintPCRENotMatch(): void - { - $constraint = Assert::logicalNot( - Assert::matchesRegularExpression('/foo/') - ); - - $this->assertTrue($constraint->evaluate('barbazbar', '', true)); - $this->assertFalse($constraint->evaluate('barfoobar', '', true)); - $this->assertEquals('does not match PCRE pattern "/foo/"', $constraint->toString()); - $this->assertCount(1, $constraint); - - try { - $constraint->evaluate('barfoobar'); - } catch (ExpectationFailedException $e) { - $this->assertEquals( - <<fail(); - } - - public function testConstraintPCRENotMatch2(): void - { - $constraint = Assert::logicalNot( - Assert::matchesRegularExpression('/foo/') - ); - - try { - $constraint->evaluate('barfoobar', 'custom message'); - } catch (ExpectationFailedException $e) { - $this->assertEquals( - <<fail(); - } - - public function testConstraintStringStartsNotWith(): void - { - $constraint = Assert::logicalNot( - Assert::stringStartsWith('prefix') - ); - - $this->assertTrue($constraint->evaluate('foo', '', true)); - $this->assertFalse($constraint->evaluate('prefixfoo', '', true)); - $this->assertEquals('starts not with "prefix"', $constraint->toString()); - $this->assertCount(1, $constraint); - - try { - $constraint->evaluate('prefixfoo'); - } catch (ExpectationFailedException $e) { - $this->assertEquals( - <<fail(); - } - - public function testConstraintStringStartsNotWith2(): void - { - $constraint = Assert::logicalNot( - Assert::stringStartsWith('prefix') - ); - - try { - $constraint->evaluate('prefixfoo', 'custom message'); - } catch (ExpectationFailedException $e) { - $this->assertEquals( - <<fail(); - } - - public function testConstraintStringNotContains(): void - { - $constraint = Assert::logicalNot( - Assert::stringContains('foo') - ); - - $this->assertTrue($constraint->evaluate('barbazbar', '', true)); - $this->assertFalse($constraint->evaluate('barfoobar', '', true)); - $this->assertEquals('does not contain "foo"', $constraint->toString()); - $this->assertCount(1, $constraint); - - try { - $constraint->evaluate('barfoobar'); - } catch (ExpectationFailedException $e) { - $this->assertEquals( - <<fail(); - } - - public function testConstraintStringNotContainsWhenIgnoreCase(): void - { - $constraint = Assert::logicalNot( - Assert::stringContains('oryginaÅ‚') - ); - - $this->assertTrue($constraint->evaluate('original', '', true)); - $this->assertFalse($constraint->evaluate('ORYGINAÅ', '', true)); - $this->assertFalse($constraint->evaluate('oryginaÅ‚', '', true)); - $this->assertEquals('does not contain "oryginaÅ‚"', $constraint->toString()); - $this->assertCount(1, $constraint); - - $this->expectException(ExpectationFailedException::class); - - $constraint->evaluate('ORYGINAÅ'); - } - - public function testConstraintStringNotContainsForUtf8StringWhenNotIgnoreCase(): void - { - $constraint = Assert::logicalNot( - Assert::stringContains('oryginaÅ‚', false) - ); - - $this->assertTrue($constraint->evaluate('original', '', true)); - $this->assertTrue($constraint->evaluate('ORYGINAÅ', '', true)); - $this->assertFalse($constraint->evaluate('oryginaÅ‚', '', true)); - $this->assertEquals('does not contain "oryginaÅ‚"', $constraint->toString()); - $this->assertCount(1, $constraint); - - $this->expectException(ExpectationFailedException::class); - - $constraint->evaluate('oryginaÅ‚'); - } - - public function testConstraintStringNotContains2(): void - { - $constraint = Assert::logicalNot( - Assert::stringContains('foo') - ); - - try { - $constraint->evaluate('barfoobar', 'custom message'); - } catch (ExpectationFailedException $e) { - $this->assertEquals( - <<fail(); - } - - public function testConstraintStringEndsNotWith(): void - { - $constraint = Assert::logicalNot( - Assert::stringEndsWith('suffix') - ); - - $this->assertTrue($constraint->evaluate('foo', '', true)); - $this->assertFalse($constraint->evaluate('foosuffix', '', true)); - $this->assertEquals('ends not with "suffix"', $constraint->toString()); - $this->assertCount(1, $constraint); - - try { - $constraint->evaluate('foosuffix'); - } catch (ExpectationFailedException $e) { - $this->assertEquals( - <<fail(); - } - - public function testConstraintStringEndsNotWith2(): void - { - $constraint = Assert::logicalNot( - Assert::stringEndsWith('suffix') - ); - - try { - $constraint->evaluate('foosuffix', 'custom message'); - } catch (ExpectationFailedException $e) { - $this->assertEquals( - <<fail(); - } - - public function testConstraintArrayNotContains(): void - { - $constraint = Assert::logicalNot( - new TraversableContains('foo') - ); - - $this->assertTrue($constraint->evaluate(['bar'], '', true)); - $this->assertFalse($constraint->evaluate(['foo'], '', true)); - $this->assertEquals("does not contain 'foo'", $constraint->toString()); - $this->assertCount(1, $constraint); - - try { - $constraint->evaluate(['foo']); - } catch (ExpectationFailedException $e) { - $this->assertEquals( - <<fail(); - } - - public function testConstraintArrayNotContains2(): void - { - $constraint = Assert::logicalNot( - new TraversableContains('foo') - ); - - try { - $constraint->evaluate(['foo'], 'custom message'); - } catch (ExpectationFailedException $e) { - $this->assertEquals( - <<fail(); - } - - public function testAttributeNotEqualTo(): void - { - $object = new \ClassWithNonPublicAttributes; - $constraint = Assert::logicalNot( - Assert::attributeEqualTo('foo', 2) - ); - - $this->assertTrue($constraint->evaluate($object, '', true)); - $this->assertEquals('attribute "foo" is not equal to 2', $constraint->toString()); - $this->assertCount(1, $constraint); - - $constraint = Assert::logicalNot( - Assert::attributeEqualTo('foo', 1) - ); - - $this->assertFalse($constraint->evaluate($object, '', true)); - - try { - $constraint->evaluate($object); - } catch (ExpectationFailedException $e) { - $this->assertEquals( - <<fail(); - } - - public function testAttributeNotEqualTo2(): void - { - $object = new \ClassWithNonPublicAttributes; - $constraint = Assert::logicalNot( - Assert::attributeEqualTo('foo', 1) - ); - - try { - $constraint->evaluate($object, 'custom message'); - } catch (ExpectationFailedException $e) { - $this->assertEquals( - <<fail(); - } - - public function testConstraintCountWithAnArray(): void - { - $constraint = new Count(5); - - $this->assertTrue($constraint->evaluate([1, 2, 3, 4, 5], '', true)); - $this->assertFalse($constraint->evaluate([1, 2, 3, 4], '', true)); - } - - public function testConstraintCountWithAnIteratorWhichDoesNotImplementCountable(): void - { - $constraint = new Count(5); - - $this->assertTrue($constraint->evaluate(new \TestIterator([1, 2, 3, 4, 5]), '', true)); - $this->assertFalse($constraint->evaluate(new \TestIterator([1, 2, 3, 4]), '', true)); - } - - public function testConstraintCountWithAnObjectImplementingCountable(): void - { - $constraint = new Count(5); - - $this->assertTrue($constraint->evaluate(new \ArrayObject([1, 2, 3, 4, 5]), '', true)); - $this->assertFalse($constraint->evaluate(new \ArrayObject([1, 2, 3, 4]), '', true)); - } - - public function testConstraintCountFailing(): void - { - $constraint = new Count(5); - - try { - $constraint->evaluate([1, 2]); - } catch (ExpectationFailedException $e) { - $this->assertEquals( - <<fail(); - } - - public function testConstraintNotCountFailing(): void - { - $constraint = Assert::logicalNot( - new Count(2) - ); - - try { - $constraint->evaluate([1, 2]); - } catch (ExpectationFailedException $e) { - $this->assertEquals( - <<fail(); - } - - public function testConstraintNotSameSizeFailing(): void - { - $constraint = Assert::logicalNot( - new SameSize([1, 2]) - ); - - try { - $constraint->evaluate([3, 4]); - } catch (ExpectationFailedException $e) { - $this->assertEquals( - <<fail(); - } - - public function testConstraintException(): void - { - $constraint = new Constraint\Exception('FoobarException'); - $exception = new \DummyException('Test'); - $stackTrace = Filter::getFilteredStacktrace($exception); - - try { - $constraint->evaluate($exception); - } catch (ExpectationFailedException $e) { - $this->assertEquals( - <<fail(); - } - - /** - * Removes spaces in front of newlines - * - * @param string $string - * - * @return string - */ - private function trimnl($string) - { - return \preg_replace('/[ ]*\n/', "\n", $string); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/ExceptionWrapperTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/ExceptionWrapperTest.php deleted file mode 100644 index f0d85f0..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/ExceptionWrapperTest.php +++ /dev/null @@ -1,55 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework; - -class ExceptionWrapperTest extends TestCase -{ - /** - * @runInSeparateProcess - */ - public function testGetOriginalException(): void - { - $e = new \BadFunctionCallException('custom class exception'); - $wrapper = new ExceptionWrapper($e); - - $this->assertInstanceOf(\BadFunctionCallException::class, $wrapper->getOriginalException()); - } - - /** - * @runInSeparateProcess - */ - public function testGetOriginalExceptionWithPrevious(): void - { - $e = new \BadFunctionCallException('custom class exception', 0, new \Exception('previous')); - $wrapper = new ExceptionWrapper($e); - - $this->assertInstanceOf(\BadFunctionCallException::class, $wrapper->getOriginalException()); - } - - /** - * @runInSeparateProcess - */ - public function testNoOriginalExceptionInStacktrace(): void - { - $e = new \BadFunctionCallException('custom class exception'); - $wrapper = new ExceptionWrapper($e); - - // Replace the only mention of "BadFunctionCallException" in wrapper - $wrapper->setClassName('MyException'); - - $data = \print_r($wrapper, 1); - - $this->assertNotContains( - 'BadFunctionCallException', - $data, - 'Assert there is s no other BadFunctionCallException mention in stacktrace' - ); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/MockObject/Builder/InvocationMockerTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/MockObject/Builder/InvocationMockerTest.php deleted file mode 100644 index 4057fe0..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/MockObject/Builder/InvocationMockerTest.php +++ /dev/null @@ -1,89 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -use PHPUnit\Framework\MockObject\Stub\MatcherCollection; -use PHPUnit\Framework\TestCase; - -class InvocationMockerTest extends TestCase -{ - public function testWillReturnWithOneValue(): void - { - $mock = $this->getMockBuilder(stdClass::class) - ->setMethods(['foo']) - ->getMock(); - - $mock->expects($this->any()) - ->method('foo') - ->willReturn(1); - - $this->assertEquals(1, $mock->foo()); - } - - public function testWillReturnWithMultipleValues(): void - { - $mock = $this->getMockBuilder(stdClass::class) - ->setMethods(['foo']) - ->getMock(); - - $mock->expects($this->any()) - ->method('foo') - ->willReturn(1, 2, 3); - - $this->assertEquals(1, $mock->foo()); - $this->assertEquals(2, $mock->foo()); - $this->assertEquals(3, $mock->foo()); - } - - public function testWillReturnOnConsecutiveCalls(): void - { - $mock = $this->getMockBuilder(stdClass::class) - ->setMethods(['foo']) - ->getMock(); - - $mock->expects($this->any()) - ->method('foo') - ->willReturnOnConsecutiveCalls(1, 2, 3); - - $this->assertEquals(1, $mock->foo()); - $this->assertEquals(2, $mock->foo()); - $this->assertEquals(3, $mock->foo()); - } - - public function testWillReturnByReference(): void - { - $mock = $this->getMockBuilder(stdClass::class) - ->setMethods(['foo']) - ->getMock(); - - $mock->expects($this->any()) - ->method('foo') - ->willReturnReference($value); - - $this->assertNull($mock->foo()); - $value = 'foo'; - $this->assertSame('foo', $mock->foo()); - $value = 'bar'; - $this->assertSame('bar', $mock->foo()); - } - - public function testWillFailWhenTryingToPerformExpectationUnconfigurableMethod(): void - { - /** @var MatcherCollection|\PHPUnit\Framework\MockObject\MockObject $matcherCollection */ - $matcherCollection = $this->createMock(MatcherCollection::class); - $invocationMocker = new \PHPUnit\Framework\MockObject\Builder\InvocationMocker( - $matcherCollection, - $this->any(), - [] - ); - - $this->expectException(RuntimeException::class); - $invocationMocker->method('someMethod'); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/MockObject/GeneratorTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/MockObject/GeneratorTest.php deleted file mode 100644 index e5609ef..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/MockObject/GeneratorTest.php +++ /dev/null @@ -1,260 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -use PHPUnit\Framework\MockObject\Generator; -use PHPUnit\Framework\MockObject\MockObject; -use PHPUnit\Framework\TestCase; - -/** - * @covers \PHPUnit\Framework\MockObject\Generator - * - * @uses \PHPUnit\Framework\MockObject\InvocationMocker - * @uses \PHPUnit\Framework\MockObject\Builder\InvocationMocker - * @uses \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation - * @uses \PHPUnit\Framework\MockObject\Invocation\StaticInvocation - * @uses \PHPUnit\Framework\MockObject\Matcher - * @uses \PHPUnit\Framework\MockObject\Matcher\InvokedRecorder - * @uses \PHPUnit\Framework\MockObject\Matcher\MethodName - * @uses \PHPUnit\Framework\MockObject\Stub\ReturnStub - * @uses \PHPUnit\Framework\MockObject\Matcher\InvokedCount - */ -class GeneratorTest extends TestCase -{ - /** - * @var Generator - */ - private $generator; - - protected function setUp(): void - { - $this->generator = new Generator; - } - - public function testGetMockFailsWhenInvalidFunctionNameIsPassedInAsAFunctionToMock(): void - { - $this->expectException(\PHPUnit\Framework\MockObject\RuntimeException::class); - - $this->generator->getMock(stdClass::class, [0]); - } - - public function testGetMockCanCreateNonExistingFunctions(): void - { - $mock = $this->generator->getMock(stdClass::class, ['testFunction']); - - $this->assertTrue(\method_exists($mock, 'testFunction')); - } - - public function testGetMockGeneratorFails(): void - { - $this->expectException(\PHPUnit\Framework\MockObject\RuntimeException::class); - $this->expectExceptionMessage('duplicates: "foo, bar, foo" (duplicate: "foo")'); - - $this->generator->getMock(stdClass::class, ['foo', 'bar', 'foo']); - } - - public function testGetMockBlacklistedMethodNamesPhp7(): void - { - $mock = $this->generator->getMock(InterfaceWithSemiReservedMethodName::class); - - $this->assertTrue(\method_exists($mock, 'unset')); - $this->assertInstanceOf(InterfaceWithSemiReservedMethodName::class, $mock); - } - - public function testGetMockForAbstractClassDoesNotFailWhenFakingInterfaces(): void - { - $mock = $this->generator->getMockForAbstractClass(Countable::class); - - $this->assertTrue(\method_exists($mock, 'count')); - } - - public function testGetMockForAbstractClassStubbingAbstractClass(): void - { - $mock = $this->generator->getMockForAbstractClass(AbstractMockTestClass::class); - - $this->assertTrue(\method_exists($mock, 'doSomething')); - } - - public function testGetMockForAbstractClassWithNonExistentMethods(): void - { - $mock = $this->generator->getMockForAbstractClass( - AbstractMockTestClass::class, - [], - '', - true, - true, - true, - ['nonexistentMethod'] - ); - - $this->assertTrue(\method_exists($mock, 'nonexistentMethod')); - $this->assertTrue(\method_exists($mock, 'doSomething')); - } - - public function testGetMockForAbstractClassShouldCreateStubsOnlyForAbstractMethodWhenNoMethodsWereInformed(): void - { - $mock = $this->generator->getMockForAbstractClass(AbstractMockTestClass::class); - - $mock->expects($this->any()) - ->method('doSomething') - ->willReturn('testing'); - - $this->assertEquals('testing', $mock->doSomething()); - $this->assertEquals(1, $mock->returnAnything()); - } - - /** - * @dataProvider getMockForAbstractClassExpectsInvalidArgumentExceptionDataprovider - */ - public function testGetMockForAbstractClassExpectingInvalidArgumentException($className, $mockClassName): void - { - $this->expectException(PHPUnit\Framework\Exception::class); - - $this->generator->getMockForAbstractClass($className, [], $mockClassName); - } - - public function testGetMockForAbstractClassAbstractClassDoesNotExist(): void - { - $this->expectException(\PHPUnit\Framework\MockObject\RuntimeException::class); - - $this->generator->getMockForAbstractClass('Tux'); - } - - public function getMockForAbstractClassExpectsInvalidArgumentExceptionDataprovider(): array - { - return [ - 'className not a string' => [[], ''], - 'mockClassName not a string' => [Countable::class, new stdClass], - ]; - } - - public function testGetMockForTraitWithNonExistentMethodsAndNonAbstractMethods(): void - { - $mock = $this->generator->getMockForTrait( - AbstractTrait::class, - [], - '', - true, - true, - true, - ['nonexistentMethod'] - ); - - $this->assertTrue(\method_exists($mock, 'nonexistentMethod')); - $this->assertTrue(\method_exists($mock, 'doSomething')); - $this->assertTrue($mock->mockableMethod()); - $this->assertTrue($mock->anotherMockableMethod()); - } - - public function testGetMockForTraitStubbingAbstractMethod(): void - { - $mock = $this->generator->getMockForTrait(AbstractTrait::class); - - $this->assertTrue(\method_exists($mock, 'doSomething')); - } - - public function testGetMockForSingletonWithReflectionSuccess(): void - { - $mock = $this->generator->getMock(SingletonClass::class, ['doSomething'], [], '', false); - - $this->assertInstanceOf('SingletonClass', $mock); - } - - public function testExceptionIsRaisedForMutuallyExclusiveOptions(): void - { - $this->expectException(\PHPUnit\Framework\MockObject\RuntimeException::class); - - $this->generator->getMock(stdClass::class, [], [], '', false, true, true, true, true); - } - - public function testCanImplementInterfacesThatHaveMethodsWithReturnTypes(): void - { - $stub = $this->generator->getMock([AnInterfaceWithReturnType::class, AnInterface::class]); - - $this->assertInstanceOf(AnInterfaceWithReturnType::class, $stub); - $this->assertInstanceOf(AnInterface::class, $stub); - $this->assertInstanceOf(MockObject::class, $stub); - } - - public function testCanConfigureMethodsForDoubleOfNonExistentClass(): void - { - $className = 'X' . \md5(\microtime()); - - $mock = $this->generator->getMock($className, ['someMethod']); - - $this->assertInstanceOf($className, $mock); - } - - public function testCanInvokeMethodsOfNonExistentClass(): void - { - $className = 'X' . \md5(\microtime()); - - $mock = $this->generator->getMock($className, ['someMethod']); - - $mock->expects($this->once())->method('someMethod'); - - $this->assertNull($mock->someMethod()); - } - - public function testMockingOfExceptionWithThrowable(): void - { - $stub = $this->generator->getMock(ExceptionWithThrowable::class); - - $this->assertInstanceOf(ExceptionWithThrowable::class, $stub); - $this->assertInstanceOf(Exception::class, $stub); - $this->assertInstanceOf(MockObject::class, $stub); - } - - public function testMockingOfThrowable(): void - { - $stub = $this->generator->getMock(Throwable::class); - - $this->assertInstanceOf(Throwable::class, $stub); - $this->assertInstanceOf(Exception::class, $stub); - $this->assertInstanceOf(MockObject::class, $stub); - } - - public function testMockingOfThrowableConstructorArguments(): void - { - $mock = $this->generator->getMock(Throwable::class, null, ['It works']); - $this->assertSame('It works', $mock->getMessage()); - } - - public function testVariadicArgumentsArePassedToOriginalMethod() - { - /** @var ClassWithVariadicArgumentMethod|MockObject $mock */ - $mock = $this->generator->getMock( - ClassWithVariadicArgumentMethod::class, - [], - [], - '', - true, - false, - true, - false, - true - ); - - $arguments = [1, 'foo', false]; - $this->assertSame($arguments, $mock->foo(...$arguments)); - } - - public function testVariadicArgumentsArePassedToMockedMethod() - { - /** @var ClassWithVariadicArgumentMethod|MockObject $mock */ - $mock = $this->createMock(ClassWithVariadicArgumentMethod::class); - - $arguments = [1, 'foo', false]; - $mock->expects($this->once()) - ->method('foo') - ->with(...$arguments); - - $mock->foo(...$arguments); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/MockObject/Invocation/ObjectInvocationTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/MockObject/Invocation/ObjectInvocationTest.php deleted file mode 100644 index f604e90..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/MockObject/Invocation/ObjectInvocationTest.php +++ /dev/null @@ -1,120 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -use PHPUnit\Framework\MockObject\Invocation\ObjectInvocation; -use PHPUnit\Framework\TestCase; - -class ObjectInvocationTest extends TestCase -{ - public function testConstructorRequiresClassAndMethodAndParametersAndObject(): void - { - $this->assertInstanceOf( - ObjectInvocation::class, - new ObjectInvocation( - 'FooClass', - 'FooMethod', - ['an_argument'], - 'ReturnType', - new stdClass - ) - ); - } - - public function testAllowToGetClassNameSetInConstructor(): void - { - $invocation = new ObjectInvocation( - 'FooClass', - 'FooMethod', - ['an_argument'], - 'ReturnType', - new stdClass - ); - - $this->assertSame('FooClass', $invocation->getClassName()); - } - - public function testAllowToGetMethodNameSetInConstructor(): void - { - $invocation = new ObjectInvocation( - 'FooClass', - 'FooMethod', - ['an_argument'], - 'ReturnType', - new stdClass - ); - - $this->assertSame('FooMethod', $invocation->getMethodName()); - } - - public function testAllowToGetObjectSetInConstructor(): void - { - $expectedObject = new stdClass; - - $invocation = new ObjectInvocation( - 'FooClass', - 'FooMethod', - ['an_argument'], - 'ReturnType', - $expectedObject - ); - - $this->assertSame($expectedObject, $invocation->getObject()); - } - - public function testAllowToGetMethodParametersSetInConstructor(): void - { - $expectedParameters = [ - 'foo', 5, ['a', 'b'], new stdClass, null, false, - ]; - - $invocation = new ObjectInvocation( - 'FooClass', - 'FooMethod', - $expectedParameters, - 'ReturnType', - new stdClass - ); - - $this->assertSame($expectedParameters, $invocation->getParameters()); - } - - public function testConstructorAllowToSetFlagCloneObjectsInParameters(): void - { - $parameters = [new stdClass]; - $cloneObjects = true; - - $invocation = new ObjectInvocation( - 'FooClass', - 'FooMethod', - $parameters, - 'ReturnType', - new stdClass, - $cloneObjects - ); - - $this->assertEquals($parameters, $invocation->getParameters()); - $this->assertNotSame($parameters, $invocation->getParameters()); - } - - public function testAllowToGetReturnTypeSetInConstructor(): void - { - $expectedReturnType = 'string'; - - $invocation = new ObjectInvocation( - 'FooClass', - 'FooMethod', - ['an_argument'], - $expectedReturnType, - new stdClass - ); - - $this->assertSame($expectedReturnType, $invocation->getReturnType()); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/MockObject/Invocation/StaticInvocationTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/MockObject/Invocation/StaticInvocationTest.php deleted file mode 100644 index c884418..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/MockObject/Invocation/StaticInvocationTest.php +++ /dev/null @@ -1,114 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -use PHPUnit\Framework\MockObject\Invocation\StaticInvocation; -use PHPUnit\Framework\TestCase; - -class StaticInvocationTest extends TestCase -{ - public function testConstructorRequiresClassAndMethodAndParameters(): void - { - $this->assertInstanceOf( - StaticInvocation::class, - new StaticInvocation( - 'FooClass', - 'FooMethod', - ['an_argument'], - 'ReturnType' - ) - ); - } - - public function testAllowToGetClassNameSetInConstructor(): void - { - $invocation = new StaticInvocation( - 'FooClass', - 'FooMethod', - ['an_argument'], - 'ReturnType' - ); - - $this->assertSame('FooClass', $invocation->getClassName()); - } - - public function testAllowToGetMethodNameSetInConstructor(): void - { - $invocation = new StaticInvocation( - 'FooClass', - 'FooMethod', - ['an_argument'], - 'ReturnType' - ); - - $this->assertSame('FooMethod', $invocation->getMethodName()); - } - - public function testAllowToGetMethodParametersSetInConstructor(): void - { - $expectedParameters = [ - 'foo', 5, ['a', 'b'], new stdClass, null, false, - ]; - - $invocation = new StaticInvocation( - 'FooClass', - 'FooMethod', - $expectedParameters, - 'ReturnType' - ); - - $this->assertSame($expectedParameters, $invocation->getParameters()); - } - - public function testConstructorAllowToSetFlagCloneObjectsInParameters(): void - { - $parameters = [new stdClass]; - $cloneObjects = true; - - $invocation = new StaticInvocation( - 'FooClass', - 'FooMethod', - $parameters, - 'ReturnType', - $cloneObjects - ); - - $this->assertEquals($parameters, $invocation->getParameters()); - $this->assertNotSame($parameters, $invocation->getParameters()); - } - - public function testAllowToGetReturnTypeSetInConstructor(): void - { - $expectedReturnType = 'string'; - - $invocation = new StaticInvocation( - 'FooClass', - 'FooMethod', - ['an_argument'], - $expectedReturnType - ); - - $this->assertSame($expectedReturnType, $invocation->getReturnType()); - } - - public function testToStringWillReturnEmptyString(): void - { - $expectedReturnType = 'string'; - - $invocation = new StaticInvocation( - 'FooClass', - '__toString', - [], - '' - ); - - $this->assertSame($expectedReturnType, $invocation->getReturnType()); - $this->assertSame('', $invocation->generateReturnValue()); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/MockObject/Matcher/ConsecutiveParametersTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/MockObject/Matcher/ConsecutiveParametersTest.php deleted file mode 100644 index 3cbef65..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/MockObject/Matcher/ConsecutiveParametersTest.php +++ /dev/null @@ -1,86 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -use PHPUnit\Framework\ExpectationFailedException; -use PHPUnit\Framework\InvalidParameterGroupException; -use PHPUnit\Framework\TestCase; - -class ConsecutiveParametersTest extends TestCase -{ - public function testIntegration(): void - { - $mock = $this->getMockBuilder(stdClass::class) - ->setMethods(['foo']) - ->getMock(); - - $mock->expects($this->any()) - ->method('foo') - ->withConsecutive( - ['bar'], - [21, 42] - ); - - $this->assertNull($mock->foo('bar')); - $this->assertNull($mock->foo(21, 42)); - } - - public function testIntegrationWithLessAssertionsThanMethodCalls(): void - { - $mock = $this->getMockBuilder(stdClass::class) - ->setMethods(['foo']) - ->getMock(); - - $mock->expects($this->any()) - ->method('foo') - ->withConsecutive( - ['bar'] - ); - - $this->assertNull($mock->foo('bar')); - $this->assertNull($mock->foo(21, 42)); - } - - public function testIntegrationExpectingException(): void - { - $mock = $this->getMockBuilder(stdClass::class) - ->setMethods(['foo']) - ->getMock(); - - $mock->expects($this->any()) - ->method('foo') - ->withConsecutive( - ['bar'], - [21, 42] - ); - - $mock->foo('bar'); - - $this->expectException(ExpectationFailedException::class); - - $mock->foo('invalid'); - } - - public function testIntegrationFailsWithNonIterableParameterGroup(): void - { - $mock = $this->getMockBuilder(stdClass::class) - ->setMethods(['foo']) - ->getMock(); - - $this->expectException(InvalidParameterGroupException::class); - $this->expectExceptionMessage('Parameter group #1 must be an array or Traversable, got object'); - - $mock->expects($this->any()) - ->method('foo') - ->withConsecutive( - ['bar'], - $this->identicalTo([21, 42]) // this is not an array - ); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/MockObject/MockBuilderTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/MockObject/MockBuilderTest.php deleted file mode 100644 index 5d9e3c9..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/MockObject/MockBuilderTest.php +++ /dev/null @@ -1,129 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -use PHPUnit\Framework\MockObject\MockBuilder; -use PHPUnit\Framework\TestCase; - -class MockBuilderTest extends TestCase -{ - public function testMockBuilderRequiresClassName(): void - { - $mock = $this->getMockBuilder(Mockable::class)->getMock(); - - $this->assertInstanceOf(Mockable::class, $mock); - } - - public function testByDefaultMocksAllMethods(): void - { - $mock = $this->getMockBuilder(Mockable::class)->getMock(); - - $this->assertNull($mock->mockableMethod()); - $this->assertNull($mock->anotherMockableMethod()); - } - - public function testMethodsToMockCanBeSpecified(): void - { - $mock = $this->getMockBuilder(Mockable::class) - ->setMethods(['mockableMethod']) - ->getMock(); - - $this->assertNull($mock->mockableMethod()); - $this->assertTrue($mock->anotherMockableMethod()); - } - - public function testMethodExceptionsToMockCanBeSpecified(): void - { - $mock = $this->getMockBuilder(Mockable::class) - ->setMethodsExcept(['mockableMethod']) - ->getMock(); - - $this->assertTrue($mock->mockableMethod()); - $this->assertNull($mock->anotherMockableMethod()); - } - - public function testEmptyMethodExceptionsToMockCanBeSpecified(): void - { - $mock = $this->getMockBuilder(Mockable::class) - ->setMethodsExcept() - ->getMock(); - - $this->assertNull($mock->mockableMethod()); - $this->assertNull($mock->anotherMockableMethod()); - } - - public function testByDefaultDoesNotPassArgumentsToTheConstructor(): void - { - $mock = $this->getMockBuilder(Mockable::class)->getMock(); - - $this->assertEquals([null, null], $mock->constructorArgs); - } - - public function testMockClassNameCanBeSpecified(): void - { - $mock = $this->getMockBuilder(Mockable::class) - ->setMockClassName('ACustomClassName') - ->getMock(); - - $this->assertInstanceOf(ACustomClassName::class, $mock); - } - - public function testConstructorArgumentsCanBeSpecified(): void - { - $mock = $this->getMockBuilder(Mockable::class) - ->setConstructorArgs([23, 42]) - ->getMock(); - - $this->assertEquals([23, 42], $mock->constructorArgs); - } - - public function testOriginalConstructorCanBeDisabled(): void - { - $mock = $this->getMockBuilder(Mockable::class) - ->disableOriginalConstructor() - ->getMock(); - - $this->assertNull($mock->constructorArgs); - } - - public function testByDefaultOriginalCloneIsPreserved(): void - { - $mock = $this->getMockBuilder(Mockable::class) - ->getMock(); - - $cloned = clone $mock; - - $this->assertTrue($cloned->cloned); - } - - public function testOriginalCloneCanBeDisabled(): void - { - $mock = $this->getMockBuilder(Mockable::class) - ->disableOriginalClone() - ->getMock(); - - $mock->cloned = false; - $cloned = clone $mock; - - $this->assertFalse($cloned->cloned); - } - - public function testProvidesAFluentInterface(): void - { - $spec = $this->getMockBuilder(Mockable::class) - ->setMethods(['mockableMethod']) - ->setConstructorArgs([]) - ->setMockClassName('DummyClassName') - ->disableOriginalConstructor() - ->disableOriginalClone() - ->disableAutoload(); - - $this->assertInstanceOf(MockBuilder::class, $spec); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/MockObject/MockMethodTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/MockObject/MockMethodTest.php deleted file mode 100644 index f9e74ff..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/MockObject/MockMethodTest.php +++ /dev/null @@ -1,55 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework\MockObject; - -use PHPUnit\Framework\TestCase; - -class MockMethodTest extends TestCase -{ - public function testGetNameReturnsMethodName() - { - $method = new MockMethod( - 'ClassName', - 'methodName', - false, - '', - '', - '', - '', - '', - false, - false, - null, - false - ); - $this->assertEquals('methodName', $method->getName()); - } - - public function testFailWhenReturnTypeIsParentButThereIsNoParentClass() - { - $method = new MockMethod( - \stdClass::class, - 'methodName', - false, - '', - '', - '', - 'parent', - '', - false, - false, - null, - false - ); - $this->expectException(\RuntimeException::class); - $method->generateCode(); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/MockObject/MockObjectTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/MockObject/MockObjectTest.php deleted file mode 100644 index d58d7b2..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/MockObject/MockObjectTest.php +++ /dev/null @@ -1,1135 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -use PHPUnit\Framework\ExpectationFailedException; -use PHPUnit\Framework\MockObject\MockObject; -use PHPUnit\Framework\TestCase; - -class MockObjectTest extends TestCase -{ - public function testMockedMethodIsNeverCalled(): void - { - $mock = $this->getMockBuilder(AnInterface::class) - ->getMock(); - - $mock->expects($this->never()) - ->method('doSomething'); - } - - public function testMockedMethodIsNeverCalledWithParameter(): void - { - $mock = $this->getMockBuilder(SomeClass::class) - ->getMock(); - - $mock->expects($this->never()) - ->method('doSomething') - ->with('someArg'); - } - - /** - * @doesNotPerformAssertions - */ - public function testMockedMethodIsNotCalledWhenExpectsAnyWithParameter(): void - { - $mock = $this->getMockBuilder(SomeClass::class) - ->getMock(); - - $mock->expects($this->any()) - ->method('doSomethingElse') - ->with('someArg'); - } - - /** - * @doesNotPerformAssertions - */ - public function testMockedMethodIsNotCalledWhenMethodSpecifiedDirectlyWithParameter(): void - { - $mock = $this->getMockBuilder(SomeClass::class) - ->getMock(); - - $mock->method('doSomethingElse') - ->with('someArg'); - } - - public function testMockedMethodIsCalledAtLeastOnce(): void - { - $mock = $this->getMockBuilder(AnInterface::class) - ->getMock(); - - $mock->expects($this->atLeastOnce()) - ->method('doSomething'); - - $mock->doSomething(); - } - - public function testMockedMethodIsCalledAtLeastOnce2(): void - { - $mock = $this->getMockBuilder(AnInterface::class) - ->getMock(); - - $mock->expects($this->atLeastOnce()) - ->method('doSomething'); - - $mock->doSomething(); - $mock->doSomething(); - } - - public function testMockedMethodIsCalledAtLeastTwice(): void - { - $mock = $this->getMockBuilder(AnInterface::class) - ->getMock(); - - $mock->expects($this->atLeast(2)) - ->method('doSomething'); - - $mock->doSomething(); - $mock->doSomething(); - } - - public function testMockedMethodIsCalledAtLeastTwice2(): void - { - $mock = $this->getMockBuilder(AnInterface::class) - ->getMock(); - - $mock->expects($this->atLeast(2)) - ->method('doSomething'); - - $mock->doSomething(); - $mock->doSomething(); - $mock->doSomething(); - } - - public function testMockedMethodIsCalledAtMostTwice(): void - { - $mock = $this->getMockBuilder(AnInterface::class) - ->getMock(); - - $mock->expects($this->atMost(2)) - ->method('doSomething'); - - $mock->doSomething(); - $mock->doSomething(); - } - - public function testMockedMethodIsCalledAtMosttTwice2(): void - { - $mock = $this->getMockBuilder(AnInterface::class) - ->getMock(); - - $mock->expects($this->atMost(2)) - ->method('doSomething'); - - $mock->doSomething(); - } - - public function testMockedMethodIsCalledOnce(): void - { - $mock = $this->getMockBuilder(AnInterface::class) - ->getMock(); - - $mock->expects($this->once()) - ->method('doSomething'); - - $mock->doSomething(); - } - - public function testMockedMethodIsCalledOnceWithParameter(): void - { - $mock = $this->getMockBuilder(SomeClass::class) - ->getMock(); - - $mock->expects($this->once()) - ->method('doSomethingElse') - ->with($this->equalTo('something')); - - $mock->doSomethingElse('something'); - } - - public function testMockedMethodIsCalledExactly(): void - { - $mock = $this->getMockBuilder(AnInterface::class) - ->getMock(); - - $mock->expects($this->exactly(2)) - ->method('doSomething'); - - $mock->doSomething(); - $mock->doSomething(); - } - - public function testStubbedException(): void - { - $mock = $this->getMockBuilder(AnInterface::class) - ->getMock(); - - $mock->expects($this->any()) - ->method('doSomething') - ->will($this->throwException(new \Exception)); - - $this->expectException(\Exception::class); - - $mock->doSomething(); - } - - public function testStubbedWillThrowException(): void - { - $mock = $this->getMockBuilder(AnInterface::class) - ->getMock(); - - $mock->expects($this->any()) - ->method('doSomething') - ->willThrowException(new \Exception); - - $this->expectException(\Exception::class); - - $mock->doSomething(); - } - - public function testStubbedReturnValue(): void - { - $mock = $this->getMockBuilder(AnInterface::class) - ->getMock(); - - $mock->expects($this->any()) - ->method('doSomething') - ->will($this->returnValue('something')); - - $this->assertEquals('something', $mock->doSomething()); - - $mock = $this->getMockBuilder(AnInterface::class) - ->getMock(); - - $mock->expects($this->any()) - ->method('doSomething') - ->willReturn('something'); - - $this->assertEquals('something', $mock->doSomething()); - } - - public function testStubbedReturnValueMap(): void - { - $map = [ - ['a', 'b', 'c', 'd'], - ['e', 'f', 'g', 'h'], - ]; - - $mock = $this->getMockBuilder(AnInterface::class) - ->getMock(); - - $mock->expects($this->any()) - ->method('doSomething') - ->will($this->returnValueMap($map)); - - $this->assertEquals('d', $mock->doSomething('a', 'b', 'c')); - $this->assertEquals('h', $mock->doSomething('e', 'f', 'g')); - $this->assertNull($mock->doSomething('foo', 'bar')); - - $mock = $this->getMockBuilder(AnInterface::class) - ->getMock(); - - $mock->expects($this->any()) - ->method('doSomething') - ->willReturnMap($map); - - $this->assertEquals('d', $mock->doSomething('a', 'b', 'c')); - $this->assertEquals('h', $mock->doSomething('e', 'f', 'g')); - $this->assertNull($mock->doSomething('foo', 'bar')); - } - - public function testStubbedReturnArgument(): void - { - $mock = $this->getMockBuilder(AnInterface::class) - ->getMock(); - - $mock->expects($this->any()) - ->method('doSomething') - ->will($this->returnArgument(1)); - - $this->assertEquals('b', $mock->doSomething('a', 'b')); - - $mock = $this->getMockBuilder(AnInterface::class) - ->getMock(); - - $mock->expects($this->any()) - ->method('doSomething') - ->willReturnArgument(1); - - $this->assertEquals('b', $mock->doSomething('a', 'b')); - } - - public function testFunctionCallback(): void - { - $mock = $this->getMockBuilder(SomeClass::class) - ->setMethods(['doSomething']) - ->getMock(); - - $mock->expects($this->once()) - ->method('doSomething') - ->will($this->returnCallback('FunctionCallbackWrapper::functionCallback')); - - $this->assertEquals('pass', $mock->doSomething('foo', 'bar')); - - $mock = $this->getMockBuilder(SomeClass::class) - ->setMethods(['doSomething']) - ->getMock(); - - $mock->expects($this->once()) - ->method('doSomething') - ->willReturnCallback('FunctionCallbackWrapper::functionCallback'); - - $this->assertEquals('pass', $mock->doSomething('foo', 'bar')); - } - - public function testStubbedReturnSelf(): void - { - $mock = $this->getMockBuilder(AnInterface::class) - ->getMock(); - - $mock->expects($this->any()) - ->method('doSomething') - ->will($this->returnSelf()); - - $this->assertEquals($mock, $mock->doSomething()); - - $mock = $this->getMockBuilder(AnInterface::class) - ->getMock(); - - $mock->expects($this->any()) - ->method('doSomething') - ->willReturnSelf(); - - $this->assertEquals($mock, $mock->doSomething()); - } - - public function testStubbedReturnOnConsecutiveCalls(): void - { - $mock = $this->getMockBuilder(AnInterface::class) - ->getMock(); - - $mock->expects($this->any()) - ->method('doSomething') - ->will($this->onConsecutiveCalls('a', 'b', 'c')); - - $this->assertEquals('a', $mock->doSomething()); - $this->assertEquals('b', $mock->doSomething()); - $this->assertEquals('c', $mock->doSomething()); - - $mock = $this->getMockBuilder(AnInterface::class) - ->getMock(); - - $mock->expects($this->any()) - ->method('doSomething') - ->willReturnOnConsecutiveCalls('a', 'b', 'c'); - - $this->assertEquals('a', $mock->doSomething()); - $this->assertEquals('b', $mock->doSomething()); - $this->assertEquals('c', $mock->doSomething()); - } - - public function testStaticMethodCallback(): void - { - $mock = $this->getMockBuilder(SomeClass::class) - ->setMethods(['doSomething']) - ->getMock(); - - $mock->expects($this->once()) - ->method('doSomething') - ->will($this->returnCallback(['MethodCallback', 'staticCallback'])); - - $this->assertEquals('pass', $mock->doSomething('foo', 'bar')); - } - - public function testPublicMethodCallback(): void - { - $mock = $this->getMockBuilder(SomeClass::class) - ->setMethods(['doSomething']) - ->getMock(); - - $mock->expects($this->once()) - ->method('doSomething') - ->will($this->returnCallback([new MethodCallback, 'nonStaticCallback'])); - - $this->assertEquals('pass', $mock->doSomething('foo', 'bar')); - } - - public function testMockClassOnlyGeneratedOnce(): void - { - $mock1 = $this->getMockBuilder(AnInterface::class) - ->getMock(); - - $mock2 = $this->getMockBuilder(AnInterface::class) - ->getMock(); - - $this->assertEquals(\get_class($mock1), \get_class($mock2)); - } - - public function testMockClassDifferentForPartialMocks(): void - { - $mock1 = $this->getMockBuilder(PartialMockTestClass::class) - ->getMock(); - - $mock2 = $this->getMockBuilder(PartialMockTestClass::class) - ->setMethods(['doSomething']) - ->getMock(); - - $mock3 = $this->getMockBuilder(PartialMockTestClass::class) - ->setMethods(['doSomething']) - ->getMock(); - - $mock4 = $this->getMockBuilder(PartialMockTestClass::class) - ->setMethods(['doAnotherThing']) - ->getMock(); - - $mock5 = $this->getMockBuilder(PartialMockTestClass::class) - ->setMethods(['doAnotherThing']) - ->getMock(); - - $this->assertNotEquals(\get_class($mock1), \get_class($mock2)); - $this->assertNotEquals(\get_class($mock1), \get_class($mock3)); - $this->assertNotEquals(\get_class($mock1), \get_class($mock4)); - $this->assertNotEquals(\get_class($mock1), \get_class($mock5)); - $this->assertEquals(\get_class($mock2), \get_class($mock3)); - $this->assertNotEquals(\get_class($mock2), \get_class($mock4)); - $this->assertNotEquals(\get_class($mock2), \get_class($mock5)); - $this->assertEquals(\get_class($mock4), \get_class($mock5)); - } - - public function testMockClassStoreOverrulable(): void - { - $mock1 = $this->getMockBuilder(PartialMockTestClass::class) - ->getMock(); - - $mock2 = $this->getMockBuilder(PartialMockTestClass::class) - ->setMockClassName('MyMockClassNameForPartialMockTestClass1') - ->getMock(); - - $mock3 = $this->getMockBuilder(PartialMockTestClass::class) - ->getMock(); - - $mock4 = $this->getMockBuilder(PartialMockTestClass::class) - ->setMethods(['doSomething']) - ->setMockClassName('AnotherMockClassNameForPartialMockTestClass') - ->getMock(); - - $mock5 = $this->getMockBuilder(PartialMockTestClass::class) - ->setMockClassName('MyMockClassNameForPartialMockTestClass2') - ->getMock(); - - $this->assertNotEquals(\get_class($mock1), \get_class($mock2)); - $this->assertEquals(\get_class($mock1), \get_class($mock3)); - $this->assertNotEquals(\get_class($mock1), \get_class($mock4)); - $this->assertNotEquals(\get_class($mock2), \get_class($mock3)); - $this->assertNotEquals(\get_class($mock2), \get_class($mock4)); - $this->assertNotEquals(\get_class($mock2), \get_class($mock5)); - $this->assertNotEquals(\get_class($mock3), \get_class($mock4)); - $this->assertNotEquals(\get_class($mock3), \get_class($mock5)); - $this->assertNotEquals(\get_class($mock4), \get_class($mock5)); - } - - public function testGetMockWithFixedClassNameCanProduceTheSameMockTwice(): void - { - $mock = $this->getMockBuilder(stdClass::class)->setMockClassName('FixedName')->getMock(); - $this->assertInstanceOf(stdClass::class, $mock); - } - - public function testOriginalConstructorSettingConsidered(): void - { - $mock1 = $this->getMockBuilder(PartialMockTestClass::class) - ->getMock(); - - $mock2 = $this->getMockBuilder(PartialMockTestClass::class) - ->disableOriginalConstructor() - ->getMock(); - - $this->assertTrue($mock1->constructorCalled); - $this->assertFalse($mock2->constructorCalled); - } - - public function testOriginalCloneSettingConsidered(): void - { - $mock1 = $this->getMockBuilder(PartialMockTestClass::class) - ->getMock(); - - $mock2 = $this->getMockBuilder(PartialMockTestClass::class) - ->disableOriginalClone() - ->getMock(); - - $this->assertNotEquals(\get_class($mock1), \get_class($mock2)); - } - - public function testGetMockForAbstractClass(): void - { - $mock = $this->getMockBuilder(AbstractMockTestClass::class) - ->getMock(); - - $mock->expects($this->never()) - ->method('doSomething'); - } - - /** - * @dataProvider traversableProvider - */ - public function testGetMockForTraversable($type): void - { - $mock = $this->getMockBuilder($type) - ->getMock(); - - $this->assertInstanceOf(Traversable::class, $mock); - } - - public function testMultipleInterfacesCanBeMockedInSingleObject(): void - { - $mock = $this->getMockBuilder([AnInterface::class, AnotherInterface::class]) - ->getMock(); - - $this->assertInstanceOf(AnInterface::class, $mock); - $this->assertInstanceOf(AnotherInterface::class, $mock); - } - - public function testGetMockForTrait(): void - { - $mock = $this->getMockForTrait(AbstractTrait::class); - - $mock->expects($this->never()) - ->method('doSomething'); - - $parent = \get_parent_class($mock); - $traits = \class_uses($parent, false); - - $this->assertContains(AbstractTrait::class, $traits); - } - - public function testClonedMockObjectShouldStillEqualTheOriginal(): void - { - $a = $this->getMockBuilder(stdClass::class) - ->getMock(); - - $b = clone $a; - - $this->assertEquals($a, $b); - } - - public function testMockObjectsConstructedIndepentantlyShouldBeEqual(): void - { - $a = $this->getMockBuilder(stdClass::class) - ->getMock(); - - $b = $this->getMockBuilder(stdClass::class) - ->getMock(); - - $this->assertEquals($a, $b); - } - - public function testMockObjectsConstructedIndepentantlyShouldNotBeTheSame(): void - { - $a = $this->getMockBuilder(stdClass::class) - ->getMock(); - - $b = $this->getMockBuilder(stdClass::class) - ->getMock(); - - $this->assertNotSame($a, $b); - } - - public function testClonedMockObjectCanBeUsedInPlaceOfOriginalOne(): void - { - $x = $this->getMockBuilder(stdClass::class) - ->getMock(); - - $y = clone $x; - - $mock = $this->getMockBuilder(stdClass::class) - ->setMethods(['foo']) - ->getMock(); - - $mock->expects($this->once()) - ->method('foo') - ->with($this->equalTo($x)); - - $mock->foo($y); - } - - public function testClonedMockObjectIsNotIdenticalToOriginalOne(): void - { - $x = $this->getMockBuilder(stdClass::class) - ->getMock(); - - $y = clone $x; - - $mock = $this->getMockBuilder(stdClass::class) - ->setMethods(['foo']) - ->getMock(); - - $mock->expects($this->once()) - ->method('foo') - ->with($this->logicalNot($this->identicalTo($x))); - - $mock->foo($y); - } - - public function testObjectMethodCallWithArgumentCloningEnabled(): void - { - $expectedObject = new stdClass; - - $mock = $this->getMockBuilder('SomeClass') - ->setMethods(['doSomethingElse']) - ->enableArgumentCloning() - ->getMock(); - - $actualArguments = []; - - $mock->expects($this->any()) - ->method('doSomethingElse') - ->will( - $this->returnCallback( - function () use (&$actualArguments): void { - $actualArguments = \func_get_args(); - } - ) - ); - - $mock->doSomethingElse($expectedObject); - - $this->assertCount(1, $actualArguments); - $this->assertEquals($expectedObject, $actualArguments[0]); - $this->assertNotSame($expectedObject, $actualArguments[0]); - } - - public function testObjectMethodCallWithArgumentCloningDisabled(): void - { - $expectedObject = new stdClass; - - $mock = $this->getMockBuilder('SomeClass') - ->setMethods(['doSomethingElse']) - ->disableArgumentCloning() - ->getMock(); - - $actualArguments = []; - - $mock->expects($this->any()) - ->method('doSomethingElse') - ->will( - $this->returnCallback( - function () use (&$actualArguments): void { - $actualArguments = \func_get_args(); - } - ) - ); - - $mock->doSomethingElse($expectedObject); - - $this->assertCount(1, $actualArguments); - $this->assertSame($expectedObject, $actualArguments[0]); - } - - public function testArgumentCloningOptionGeneratesUniqueMock(): void - { - $mockWithCloning = $this->getMockBuilder('SomeClass') - ->setMethods(['doSomethingElse']) - ->enableArgumentCloning() - ->getMock(); - - $mockWithoutCloning = $this->getMockBuilder('SomeClass') - ->setMethods(['doSomethingElse']) - ->disableArgumentCloning() - ->getMock(); - - $this->assertNotEquals($mockWithCloning, $mockWithoutCloning); - } - - public function testVerificationOfMethodNameFailsWithoutParameters(): void - { - $mock = $this->getMockBuilder(SomeClass::class) - ->setMethods(['right', 'wrong']) - ->getMock(); - - $mock->expects($this->once()) - ->method('right'); - - $mock->wrong(); - - try { - $mock->__phpunit_verify(); - $this->fail('Expected exception'); - } catch (ExpectationFailedException $e) { - $this->assertSame( - "Expectation failed for method name is equal to 'right' when invoked 1 time(s).\n" . - 'Method was expected to be called 1 times, actually called 0 times.' . "\n", - $e->getMessage() - ); - } - - $this->resetMockObjects(); - } - - public function testVerificationOfMethodNameFailsWithParameters(): void - { - $mock = $this->getMockBuilder(SomeClass::class) - ->setMethods(['right', 'wrong']) - ->getMock(); - - $mock->expects($this->once()) - ->method('right'); - - $mock->wrong(); - - try { - $mock->__phpunit_verify(); - $this->fail('Expected exception'); - } catch (ExpectationFailedException $e) { - $this->assertSame( - "Expectation failed for method name is equal to 'right' when invoked 1 time(s).\n" . - 'Method was expected to be called 1 times, actually called 0 times.' . "\n", - $e->getMessage() - ); - } - - $this->resetMockObjects(); - } - - public function testVerificationOfMethodNameFailsWithWrongParameters(): void - { - $mock = $this->getMockBuilder(SomeClass::class) - ->setMethods(['right', 'wrong']) - ->getMock(); - - $mock->expects($this->once()) - ->method('right') - ->with(['first', 'second']); - - try { - $mock->right(['second']); - } catch (ExpectationFailedException $e) { - $this->assertSame( - "Expectation failed for method name is equal to 'right' when invoked 1 time(s)\n" . - 'Parameter 0 for invocation SomeClass::right(Array (...)) does not match expected value.' . "\n" . - 'Failed asserting that two arrays are equal.', - $e->getMessage() - ); - } - - try { - $mock->__phpunit_verify(); - - // CHECKOUT THIS MORE CAREFULLY -// $this->fail('Expected exception'); - } catch (ExpectationFailedException $e) { - $this->assertSame( - "Expectation failed for method name is equal to 'right' when invoked 1 time(s).\n" . - 'Parameter 0 for invocation SomeClass::right(Array (...)) does not match expected value.' . "\n" . - 'Failed asserting that two arrays are equal.' . "\n" . - '--- Expected' . "\n" . - '+++ Actual' . "\n" . - '@@ @@' . "\n" . - ' Array (' . "\n" . - '- 0 => \'first\'' . "\n" . - '- 1 => \'second\'' . "\n" . - '+ 0 => \'second\'' . "\n" . - ' )' . "\n", - $e->getMessage() - ); - } - - $this->resetMockObjects(); - } - - public function testVerificationOfNeverFailsWithEmptyParameters(): void - { - $mock = $this->getMockBuilder(SomeClass::class) - ->setMethods(['right', 'wrong']) - ->getMock(); - - $mock->expects($this->never()) - ->method('right') - ->with(); - - try { - $mock->right(); - $this->fail('Expected exception'); - } catch (ExpectationFailedException $e) { - $this->assertSame( - 'SomeClass::right() was not expected to be called.', - $e->getMessage() - ); - } - - $this->resetMockObjects(); - } - - public function testVerificationOfNeverFailsWithAnyParameters(): void - { - $mock = $this->getMockBuilder(SomeClass::class) - ->setMethods(['right', 'wrong']) - ->getMock(); - - $mock->expects($this->never()) - ->method('right') - ->withAnyParameters(); - - try { - $mock->right(); - $this->fail('Expected exception'); - } catch (ExpectationFailedException $e) { - $this->assertSame( - 'SomeClass::right() was not expected to be called.', - $e->getMessage() - ); - } - - $this->resetMockObjects(); - } - - public function testWithAnythingInsteadOfWithAnyParameters(): void - { - $mock = $this->getMockBuilder(SomeClass::class) - ->setMethods(['right', 'wrong']) - ->getMock(); - - $mock->expects($this->once()) - ->method('right') - ->with($this->anything()); - - try { - $mock->right(); - $this->fail('Expected exception'); - } catch (ExpectationFailedException $e) { - $this->assertSame( - "Expectation failed for method name is equal to 'right' when invoked 1 time(s)\n" . - 'Parameter count for invocation SomeClass::right() is too low.' . "\n" . - 'To allow 0 or more parameters with any value, omit ->with() or use ->withAnyParameters() instead.', - $e->getMessage() - ); - } - - $this->resetMockObjects(); - } - - /** - * See https://github.com/sebastianbergmann/phpunit-mock-objects/issues/81 - */ - public function testMockArgumentsPassedByReference(): void - { - $foo = $this->getMockBuilder('MethodCallbackByReference') - ->setMethods(['bar']) - ->disableOriginalConstructor() - ->disableArgumentCloning() - ->getMock(); - - $foo->expects($this->any()) - ->method('bar') - ->will($this->returnCallback([$foo, 'callback'])); - - $a = $b = $c = 0; - - $foo->bar($a, $b, $c); - - $this->assertEquals(1, $b); - } - - /** - * See https://github.com/sebastianbergmann/phpunit-mock-objects/issues/81 - */ - public function testMockArgumentsPassedByReference2(): void - { - $foo = $this->getMockBuilder('MethodCallbackByReference') - ->disableOriginalConstructor() - ->disableArgumentCloning() - ->getMock(); - - $foo->expects($this->any()) - ->method('bar') - ->will($this->returnCallback( - function (&$a, &$b, $c): void { - $b = 1; - } - )); - - $a = $b = $c = 0; - - $foo->bar($a, $b, $c); - - $this->assertEquals(1, $b); - } - - /** - * @see https://github.com/sebastianbergmann/phpunit-mock-objects/issues/116 - */ - public function testMockArgumentsPassedByReference3(): void - { - $foo = $this->getMockBuilder('MethodCallbackByReference') - ->setMethods(['bar']) - ->disableOriginalConstructor() - ->disableArgumentCloning() - ->getMock(); - - $a = new stdClass; - $b = $c = 0; - - $foo->expects($this->any()) - ->method('bar') - ->with($a, $b, $c) - ->will($this->returnCallback([$foo, 'callback'])); - - $this->assertNull($foo->bar($a, $b, $c)); - } - - /** - * @see https://github.com/sebastianbergmann/phpunit/issues/796 - */ - public function testMockArgumentsPassedByReference4(): void - { - $foo = $this->getMockBuilder('MethodCallbackByReference') - ->setMethods(['bar']) - ->disableOriginalConstructor() - ->disableArgumentCloning() - ->getMock(); - - $a = new stdClass; - $b = $c = 0; - - $foo->expects($this->any()) - ->method('bar') - ->with($this->isInstanceOf(stdClass::class), $b, $c) - ->will($this->returnCallback([$foo, 'callback'])); - - $this->assertNull($foo->bar($a, $b, $c)); - } - - /** - * @requires extension soap - */ - public function testCreateMockFromWsdl(): void - { - $mock = $this->getMockFromWsdl(TEST_FILES_PATH . 'GoogleSearch.wsdl', 'WsdlMock'); - - $this->assertStringStartsWith( - 'Mock_WsdlMock_', - \get_class($mock) - ); - } - - /** - * @requires extension soap - */ - public function testCreateNamespacedMockFromWsdl(): void - { - $mock = $this->getMockFromWsdl(TEST_FILES_PATH . 'GoogleSearch.wsdl', 'My\\Space\\WsdlMock'); - - $this->assertStringStartsWith( - 'Mock_WsdlMock_', - \get_class($mock) - ); - } - - /** - * @requires extension soap - */ - public function testCreateTwoMocksOfOneWsdlFile(): void - { - $a = $this->getMockFromWsdl(TEST_FILES_PATH . 'GoogleSearch.wsdl'); - $b = $this->getMockFromWsdl(TEST_FILES_PATH . 'GoogleSearch.wsdl'); - - $this->assertStringStartsWith('Mock_GoogleSearch_', \get_class($a)); - $this->assertEquals(\get_class($a), \get_class($b)); - } - - /** - * @see https://github.com/sebastianbergmann/phpunit/issues/2573 - * @ticket 2573 - * @requires extension soap - */ - public function testCreateMockOfWsdlFileWithSpecialChars(): void - { - $mock = $this->getMockFromWsdl(TEST_FILES_PATH . 'Go ogle-Sea.rch.wsdl'); - - $this->assertStringStartsWith('Mock_GoogleSearch_', \get_class($mock)); - } - - /** - * @see https://github.com/sebastianbergmann/phpunit-mock-objects/issues/156 - * @ticket 156 - */ - public function testInterfaceWithStaticMethodCanBeStubbed(): void - { - $this->assertInstanceOf( - InterfaceWithStaticMethod::class, - $this->getMockBuilder(InterfaceWithStaticMethod::class)->getMock() - ); - } - - public function testInvokingStubbedStaticMethodRaisesException(): void - { - $mock = $this->getMockBuilder(ClassWithStaticMethod::class)->getMock(); - - $this->expectException(\PHPUnit\Framework\MockObject\BadMethodCallException::class); - - $mock->staticMethod(); - } - - /** - * @see https://github.com/sebastianbergmann/phpunit-mock-objects/issues/171 - * @ticket 171 - */ - public function testStubForClassThatImplementsSerializableCanBeCreatedWithoutInvokingTheConstructor(): void - { - $this->assertInstanceOf( - ClassThatImplementsSerializable::class, - $this->getMockBuilder(ClassThatImplementsSerializable::class) - ->disableOriginalConstructor() - ->getMock() - ); - } - - public function testGetMockForClassWithSelfTypeHint(): void - { - $this->assertInstanceOf( - ClassWithSelfTypeHint::class, - $this->getMockBuilder(ClassWithSelfTypeHint::class)->getMock() - ); - } - - public function testStringableClassDoesNotThrow(): void - { - /** @var PHPUnit\Framework\MockObject\MockObject|StringableClass $mock */ - $mock = $this->getMockBuilder(StringableClass::class)->getMock(); - - $this->assertIsString((string) $mock); - } - - public function testStringableClassCanBeMocked(): void - { - /** @var PHPUnit\Framework\MockObject\MockObject|StringableClass $mock */ - $mock = $this->getMockBuilder(StringableClass::class)->getMock(); - - $mock->method('__toString')->willReturn('foo'); - - $this->assertSame('foo', (string) $mock); - } - - public function traversableProvider(): array - { - return [ - ['Traversable'], - ['\Traversable'], - ['TraversableMockTestInterface'], - [['Traversable']], - [['Iterator', 'Traversable']], - [['\Iterator', '\Traversable']], - ]; - } - - public function testParameterCallbackConstraintOnlyEvaluatedOnce(): void - { - $mock = $this->getMockBuilder(Foo::class)->setMethods(['bar'])->getMock(); - $expectedNumberOfCalls = 1; - $callCount = 0; - - $mock->expects($this->exactly($expectedNumberOfCalls))->method('bar') - ->with($this->callback(function ($argument) use (&$callCount) { - return $argument === 'call_' . $callCount++; - })); - - for ($i = 0; $i < $expectedNumberOfCalls; $i++) { - $mock->bar('call_' . $i); - } - } - - public function testReturnTypesAreMockedCorrectly(): void - { - /** @var ClassWithAllPossibleReturnTypes|MockObject $stub */ - $stub = $this->createMock(ClassWithAllPossibleReturnTypes::class); - - $this->assertNull($stub->methodWithNoReturnTypeDeclaration()); - $this->assertSame('', $stub->methodWithStringReturnTypeDeclaration()); - $this->assertSame(0.0, $stub->methodWithFloatReturnTypeDeclaration()); - $this->assertSame(0, $stub->methodWithIntReturnTypeDeclaration()); - $this->assertFalse($stub->methodWithBoolReturnTypeDeclaration()); - $this->assertSame([], $stub->methodWithArrayReturnTypeDeclaration()); - $this->assertInstanceOf(MockObject::class, $stub->methodWithClassReturnTypeDeclaration()); - } - - public function testDisableAutomaticReturnValueGeneration(): void - { - $mock = $this->getMockBuilder(SomeClass::class) - ->disableAutoReturnValueGeneration() - ->getMock(); - - $this->expectException(ExpectationFailedException::class); - $this->expectExceptionMessage( - 'Return value inference disabled and no expectation set up for SomeClass::doSomethingElse()' - ); - - $mock->doSomethingElse(1); - } - - public function testDisableAutomaticReturnValueGenerationWithToString(): void - { - /** @var PHPUnit\Framework\MockObject\MockObject|StringableClass $mock */ - $mock = $this->getMockBuilder(StringableClass::class) - ->disableAutoReturnValueGeneration() - ->getMock(); - - (string) $mock; - - try { - $mock->__phpunit_verify(); - $this->fail('Exception expected'); - } catch (ExpectationFailedException $e) { - $this->assertSame( - 'Return value inference disabled and no expectation set up for StringableClass::__toString()', - $e->getMessage() - ); - } - - $this->resetMockObjects(); - } - - public function testVoidReturnTypeIsMockedCorrectly(): void - { - /** @var ClassWithAllPossibleReturnTypes|MockObject $stub */ - $stub = $this->createMock(ClassWithAllPossibleReturnTypes::class); - - $this->assertNull($stub->methodWithVoidReturnTypeDeclaration()); - } - - /** - * @requires PHP 7.2 - */ - public function testObjectReturnTypeIsMockedCorrectly(): void - { - /** @var ClassWithAllPossibleReturnTypes|MockObject $stub */ - $stub = $this->createMock(ClassWithAllPossibleReturnTypes::class); - - $this->assertInstanceOf(stdClass::class, $stub->methodWithObjectReturnTypeDeclaration()); - } - - public function testTraitCanBeDoubled(): void - { - $object = $this->getObjectForTrait(ExampleTrait::class); - - $this->assertSame('ohHai', $object->ohHai()); - } - - public function testTraitWithConstructorCanBeDoubled(): void - { - $object = $this->getObjectForTrait(TraitWithConstructor::class, ['value']); - - $this->assertSame('value', $object->value()); - } - - private function resetMockObjects(): void - { - $refl = new ReflectionObject($this); - $refl = $refl->getParentClass(); - $prop = $refl->getProperty('mockObjects'); - $prop->setAccessible(true); - $prop->setValue($this, []); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/MockObject/ProxyObjectTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/MockObject/ProxyObjectTest.php deleted file mode 100644 index 811b353..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/MockObject/ProxyObjectTest.php +++ /dev/null @@ -1,93 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -use PHPUnit\Framework\MockObject\MockObject; -use PHPUnit\Framework\TestCase; - -final class ProxyObjectTest extends TestCase -{ - public function testProxyingWorksForMethodThatReturnsUndeclaredScalarValue(): void - { - $proxy = $this->createTestProxy(TestProxyFixture::class); - - $proxy->expects($this->once()) - ->method('returnString'); - - \assert($proxy instanceof MockObject); - \assert($proxy instanceof TestProxyFixture); - - $this->assertSame('result', $proxy->returnString()); - } - - public function testProxyingWorksForMethodThatReturnsDeclaredScalarValue(): void - { - $proxy = $this->createTestProxy(TestProxyFixture::class); - - $proxy->expects($this->once()) - ->method('returnTypedString'); - - \assert($proxy instanceof MockObject); - \assert($proxy instanceof TestProxyFixture); - - $this->assertSame('result', $proxy->returnTypedString()); - } - - public function testProxyingWorksForMethodThatReturnsUndeclaredObject(): void - { - $proxy = $this->createTestProxy(TestProxyFixture::class); - - $proxy->expects($this->once()) - ->method('returnObject'); - - \assert($proxy instanceof MockObject); - \assert($proxy instanceof TestProxyFixture); - - $this->assertSame('bar', $proxy->returnObject()->foo); - } - - public function testProxyingWorksForMethodThatReturnsDeclaredObject(): void - { - $proxy = $this->createTestProxy(TestProxyFixture::class); - - $proxy->expects($this->once()) - ->method('returnTypedObject'); - - \assert($proxy instanceof MockObject); - \assert($proxy instanceof TestProxyFixture); - - $this->assertSame('bar', $proxy->returnTypedObject()->foo); - } - - public function testProxyingWorksForMethodThatReturnsUndeclaredObjectOfFinalClass(): void - { - $proxy = $this->createTestProxy(TestProxyFixture::class); - - $proxy->expects($this->once()) - ->method('returnObjectOfFinalClass'); - - \assert($proxy instanceof MockObject); - \assert($proxy instanceof TestProxyFixture); - - $this->assertSame('value', $proxy->returnObjectOfFinalClass()->value()); - } - - public function testProxyingWorksForMethodThatReturnsDeclaredObjectOfFinalClass(): void - { - $proxy = $this->createTestProxy(TestProxyFixture::class); - - $proxy->expects($this->once()) - ->method('returnTypedObjectOfFinalClass'); - - \assert($proxy instanceof MockObject); - \assert($proxy instanceof TestProxyFixture); - - $this->assertSame('value', $proxy->returnTypedObjectOfFinalClass()->value()); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/TestCaseTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/TestCaseTest.php deleted file mode 100644 index b373e93..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/TestCaseTest.php +++ /dev/null @@ -1,779 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework; - -use PHPUnit\Framework\MockObject\MockObject; -use PHPUnit\Runner\BaseTestRunner; - -class TestCaseTest extends TestCase -{ - protected static $testStatic = 456; - - protected $backupGlobalsBlacklist = ['i', 'singleton']; - - public static function setUpBeforeClass(): void - { - $GLOBALS['a'] = 'a'; - $_ENV['b'] = 'b'; - $_POST['c'] = 'c'; - $_GET['d'] = 'd'; - $_COOKIE['e'] = 'e'; - $_SERVER['f'] = 'f'; - $_FILES['g'] = 'g'; - $_REQUEST['h'] = 'h'; - $GLOBALS['i'] = 'i'; - } - - public static function tearDownAfterClass(): void - { - unset( - $GLOBALS['a'], - $_ENV['b'], - $_POST['c'], - $_GET['d'], - $_COOKIE['e'], - $_SERVER['f'], - $_FILES['g'], - $_REQUEST['h'], - $GLOBALS['i'] - ); - } - - public function testCaseToString(): void - { - $this->assertEquals( - 'PHPUnit\Framework\TestCaseTest::testCaseToString', - $this->toString() - ); - } - - public function testSuccess(): void - { - $test = new \Success; - $result = $test->run(); - - $this->assertEquals(BaseTestRunner::STATUS_PASSED, $test->getStatus()); - $this->assertEquals(0, $result->errorCount()); - $this->assertEquals(0, $result->failureCount()); - $this->assertEquals(0, $result->skippedCount()); - $this->assertCount(1, $result); - } - - public function testFailure(): void - { - $test = new \Failure; - $result = $test->run(); - - $this->assertEquals(BaseTestRunner::STATUS_FAILURE, $test->getStatus()); - $this->assertEquals(0, $result->errorCount()); - $this->assertEquals(1, $result->failureCount()); - $this->assertEquals(0, $result->skippedCount()); - $this->assertCount(1, $result); - } - - public function testError(): void - { - $test = new \TestError; - $result = $test->run(); - - $this->assertEquals(BaseTestRunner::STATUS_ERROR, $test->getStatus()); - $this->assertEquals(1, $result->errorCount()); - $this->assertEquals(0, $result->failureCount()); - $this->assertEquals(0, $result->skippedCount()); - $this->assertCount(1, $result); - } - - public function testSkipped(): void - { - $test = new \TestSkipped; - $result = $test->run(); - - $this->assertEquals(BaseTestRunner::STATUS_SKIPPED, $test->getStatus()); - $this->assertEquals('Skipped test', $test->getStatusMessage()); - $this->assertEquals(0, $result->errorCount()); - $this->assertEquals(0, $result->failureCount()); - $this->assertEquals(1, $result->skippedCount()); - $this->assertCount(1, $result); - } - - public function testIncomplete(): void - { - $test = new \TestIncomplete; - $result = $test->run(); - - $this->assertEquals(BaseTestRunner::STATUS_INCOMPLETE, $test->getStatus()); - $this->assertEquals('Incomplete test', $test->getStatusMessage()); - $this->assertEquals(0, $result->errorCount()); - $this->assertEquals(0, $result->failureCount()); - $this->assertEquals(0, $result->skippedCount()); - $this->assertCount(1, $result); - } - - public function testExceptionInSetUp(): void - { - $test = new \ExceptionInSetUpTest('testSomething'); - $test->run(); - - $this->assertTrue($test->setUp); - $this->assertFalse($test->assertPreConditions); - $this->assertFalse($test->testSomething); - $this->assertFalse($test->assertPostConditions); - $this->assertTrue($test->tearDown); - } - - public function testExceptionInAssertPreConditions(): void - { - $test = new \ExceptionInAssertPreConditionsTest('testSomething'); - $test->run(); - - $this->assertTrue($test->setUp); - $this->assertTrue($test->assertPreConditions); - $this->assertFalse($test->testSomething); - $this->assertFalse($test->assertPostConditions); - $this->assertTrue($test->tearDown); - } - - public function testExceptionInTest(): void - { - $test = new \ExceptionInTest('testSomething'); - $test->run(); - - $this->assertTrue($test->setUp); - $this->assertTrue($test->assertPreConditions); - $this->assertTrue($test->testSomething); - $this->assertFalse($test->assertPostConditions); - $this->assertTrue($test->tearDown); - } - - public function testExceptionInAssertPostConditions(): void - { - $test = new \ExceptionInAssertPostConditionsTest('testSomething'); - $test->run(); - - $this->assertTrue($test->setUp); - $this->assertTrue($test->assertPreConditions); - $this->assertTrue($test->testSomething); - $this->assertTrue($test->assertPostConditions); - $this->assertTrue($test->tearDown); - } - - public function testExceptionInTearDown(): void - { - $test = new \ExceptionInTearDownTest('testSomething'); - $test->run(); - - $this->assertTrue($test->setUp); - $this->assertTrue($test->assertPreConditions); - $this->assertTrue($test->testSomething); - $this->assertTrue($test->assertPostConditions); - $this->assertTrue($test->tearDown); - $this->assertEquals(BaseTestRunner::STATUS_ERROR, $test->getStatus()); - $this->assertSame('throw Exception in tearDown()', $test->getStatusMessage()); - } - - public function testExceptionInTestIsDetectedInTeardown(): void - { - $test = new \ExceptionInTestDetectedInTeardown('testSomething'); - $test->run(); - - $this->assertTrue($test->exceptionDetected); - } - - public function testNoArgTestCasePasses(): void - { - $result = new TestResult; - $t = new TestSuite(\NoArgTestCaseTest::class); - - $t->run($result); - - $this->assertCount(1, $result); - $this->assertEquals(0, $result->failureCount()); - $this->assertEquals(0, $result->errorCount()); - } - - public function testWasRun(): void - { - $test = new \WasRun; - $test->run(); - - $this->assertTrue($test->wasRun); - } - - public function testException(): void - { - $test = new \ThrowExceptionTestCase('test'); - $test->expectException(\RuntimeException::class); - - $result = $test->run(); - - $this->assertCount(1, $result); - $this->assertTrue($result->wasSuccessful()); - } - - public function testExceptionWithEmptyMessage(): void - { - $test = new \ThrowExceptionTestCase('test'); - $test->expectException(\RuntimeException::class); - - $result = $test->run(); - - $this->assertCount(1, $result); - $this->assertTrue($result->wasSuccessful()); - } - - public function testExceptionWithNullMessage(): void - { - $test = new \ThrowExceptionTestCase('test'); - $test->expectException(\RuntimeException::class); - - $result = $test->run(); - - $this->assertCount(1, $result); - $this->assertTrue($result->wasSuccessful()); - } - - public function testExceptionWithMessage(): void - { - $test = new \ThrowExceptionTestCase('test'); - $test->expectException(\RuntimeException::class); - $test->expectExceptionMessage('A runtime error occurred'); - - $result = $test->run(); - - $this->assertCount(1, $result); - $this->assertTrue($result->wasSuccessful()); - } - - public function testExceptionWithWrongMessage(): void - { - $test = new \ThrowExceptionTestCase('test'); - $test->expectException(\RuntimeException::class); - $test->expectExceptionMessage('A logic error occurred'); - - $result = $test->run(); - - $this->assertEquals(1, $result->failureCount()); - $this->assertCount(1, $result); - $this->assertEquals( - "Failed asserting that exception message 'A runtime error occurred' contains 'A logic error occurred'.", - $test->getStatusMessage() - ); - } - - public function testExceptionWithRegexpMessage(): void - { - $test = new \ThrowExceptionTestCase('test'); - $test->expectException(\RuntimeException::class); - $test->expectExceptionMessageRegExp('/runtime .*? occurred/'); - - $result = $test->run(); - - $this->assertCount(1, $result); - $this->assertTrue($result->wasSuccessful()); - } - - public function testExceptionWithWrongRegexpMessage(): void - { - $test = new \ThrowExceptionTestCase('test'); - $test->expectException(\RuntimeException::class); - $test->expectExceptionMessageRegExp('/logic .*? occurred/'); - - $result = $test->run(); - - $this->assertEquals(1, $result->failureCount()); - $this->assertCount(1, $result); - $this->assertEquals( - "Failed asserting that exception message 'A runtime error occurred' matches '/logic .*? occurred/'.", - $test->getStatusMessage() - ); - } - - public function testExceptionWithInvalidRegexpMessage(): void - { - $test = new \ThrowExceptionTestCase('test'); - $test->expectException(\RuntimeException::class); - $test->expectExceptionMessageRegExp('#runtime .*? occurred/'); - - $test->run(); - - $this->assertEquals( - "Invalid expected exception message regex given: '#runtime .*? occurred/'", - $test->getStatusMessage() - ); - } - - public function testNoException(): void - { - $test = new \ThrowNoExceptionTestCase('test'); - $test->expectException(\RuntimeException::class); - - $result = $test->run(); - - $this->assertEquals(1, $result->failureCount()); - $this->assertCount(1, $result); - } - - public function testWrongException(): void - { - $test = new \ThrowExceptionTestCase('test'); - $test->expectException(\InvalidArgumentException::class); - - $result = $test->run(); - - $this->assertEquals(1, $result->failureCount()); - $this->assertCount(1, $result); - } - - public function testDoesNotPerformAssertions(): void - { - $test = new \DoNoAssertionTestCase('testNothing'); - $test->expectNotToPerformAssertions(); - - $result = $test->run(); - - $this->assertEquals(0, $result->riskyCount()); - $this->assertCount(1, $result); - } - - /** - * @backupGlobals enabled - */ - public function testGlobalsBackupPre(): void - { - global $a; - global $i; - - $this->assertEquals('a', $a); - $this->assertEquals('a', $GLOBALS['a']); - $this->assertEquals('b', $_ENV['b']); - $this->assertEquals('c', $_POST['c']); - $this->assertEquals('d', $_GET['d']); - $this->assertEquals('e', $_COOKIE['e']); - $this->assertEquals('f', $_SERVER['f']); - $this->assertEquals('g', $_FILES['g']); - $this->assertEquals('h', $_REQUEST['h']); - $this->assertEquals('i', $i); - $this->assertEquals('i', $GLOBALS['i']); - - $GLOBALS['a'] = 'aa'; - $GLOBALS['foo'] = 'bar'; - $_ENV['b'] = 'bb'; - $_POST['c'] = 'cc'; - $_GET['d'] = 'dd'; - $_COOKIE['e'] = 'ee'; - $_SERVER['f'] = 'ff'; - $_FILES['g'] = 'gg'; - $_REQUEST['h'] = 'hh'; - $GLOBALS['i'] = 'ii'; - - $this->assertEquals('aa', $a); - $this->assertEquals('aa', $GLOBALS['a']); - $this->assertEquals('bar', $GLOBALS['foo']); - $this->assertEquals('bb', $_ENV['b']); - $this->assertEquals('cc', $_POST['c']); - $this->assertEquals('dd', $_GET['d']); - $this->assertEquals('ee', $_COOKIE['e']); - $this->assertEquals('ff', $_SERVER['f']); - $this->assertEquals('gg', $_FILES['g']); - $this->assertEquals('hh', $_REQUEST['h']); - $this->assertEquals('ii', $i); - $this->assertEquals('ii', $GLOBALS['i']); - } - - /** - * @depends testGlobalsBackupPre - */ - public function testGlobalsBackupPost(): void - { - global $a; - global $i; - - $this->assertEquals('a', $a); - $this->assertEquals('a', $GLOBALS['a']); - $this->assertEquals('b', $_ENV['b']); - $this->assertEquals('c', $_POST['c']); - $this->assertEquals('d', $_GET['d']); - $this->assertEquals('e', $_COOKIE['e']); - $this->assertEquals('f', $_SERVER['f']); - $this->assertEquals('g', $_FILES['g']); - $this->assertEquals('h', $_REQUEST['h']); - $this->assertEquals('ii', $i); - $this->assertEquals('ii', $GLOBALS['i']); - - $this->assertArrayNotHasKey('foo', $GLOBALS); - } - - /** - * @backupGlobals enabled - * @backupStaticAttributes enabled - * - * @doesNotPerformAssertions - */ - public function testStaticAttributesBackupPre(): void - { - $GLOBALS['singleton'] = \Singleton::getInstance(); - $GLOBALS['i'] = 'not reset by backup'; - - $GLOBALS['j'] = 'reset by backup'; - self::$testStatic = 123; - } - - /** - * @depends testStaticAttributesBackupPre - */ - public function testStaticAttributesBackupPost(): void - { - // Snapshots made by @backupGlobals - $this->assertSame(\Singleton::getInstance(), $GLOBALS['singleton']); - $this->assertSame('not reset by backup', $GLOBALS['i']); - - // Reset global - $this->assertArrayNotHasKey('j', $GLOBALS); - - // Static reset to original state by @backupStaticAttributes - $this->assertSame(456, self::$testStatic); - } - - public function testIsInIsolationReturnsFalse(): void - { - $test = new \IsolationTest('testIsInIsolationReturnsFalse'); - $result = $test->run(); - - $this->assertCount(1, $result); - $this->assertTrue($result->wasSuccessful()); - } - - public function testIsInIsolationReturnsTrue(): void - { - $test = new \IsolationTest('testIsInIsolationReturnsTrue'); - $test->setRunTestInSeparateProcess(true); - $result = $test->run(); - - $this->assertCount(1, $result); - $this->assertTrue($result->wasSuccessful()); - } - - public function testExpectOutputStringFooActualFoo(): void - { - $test = new \OutputTestCase('testExpectOutputStringFooActualFoo'); - $result = $test->run(); - - $this->assertCount(1, $result); - $this->assertTrue($result->wasSuccessful()); - } - - public function testExpectOutputStringFooActualBar(): void - { - $test = new \OutputTestCase('testExpectOutputStringFooActualBar'); - $result = $test->run(); - - $this->assertCount(1, $result); - $this->assertFalse($result->wasSuccessful()); - } - - public function testExpectOutputRegexFooActualFoo(): void - { - $test = new \OutputTestCase('testExpectOutputRegexFooActualFoo'); - $result = $test->run(); - - $this->assertCount(1, $result); - $this->assertTrue($result->wasSuccessful()); - } - - public function testExpectOutputRegexFooActualBar(): void - { - $test = new \OutputTestCase('testExpectOutputRegexFooActualBar'); - $result = $test->run(); - - $this->assertCount(1, $result); - $this->assertFalse($result->wasSuccessful()); - } - - public function testSkipsIfRequiresHigherVersionOfPHPUnit(): void - { - $test = new \RequirementsTest('testAlwaysSkip'); - $result = $test->run(); - - $this->assertEquals(1, $result->skippedCount()); - $this->assertEquals( - 'PHPUnit >= 1111111 is required.', - $test->getStatusMessage() - ); - } - - public function testSkipsIfRequiresHigherVersionOfPHP(): void - { - $test = new \RequirementsTest('testAlwaysSkip2'); - $result = $test->run(); - - $this->assertEquals(1, $result->skippedCount()); - $this->assertEquals( - 'PHP >= 9999999 is required.', - $test->getStatusMessage() - ); - } - - public function testSkipsIfRequiresNonExistingOs(): void - { - $test = new \RequirementsTest('testAlwaysSkip3'); - $result = $test->run(); - - $this->assertEquals(1, $result->skippedCount()); - $this->assertEquals( - 'Operating system matching /DOESNOTEXIST/i is required.', - $test->getStatusMessage() - ); - } - - public function testSkipsIfRequiresNonExistingOsFamily(): void - { - $test = new \RequirementsTest('testAlwaysSkip4'); - $result = $test->run(); - - $this->assertEquals(1, $result->skippedCount()); - $this->assertEquals( - 'Operating system DOESNOTEXIST is required.', - $test->getStatusMessage() - ); - } - - public function testSkipsIfRequiresNonExistingFunction(): void - { - $test = new \RequirementsTest('testNine'); - $result = $test->run(); - - $this->assertEquals(1, $result->skippedCount()); - $this->assertEquals( - 'Function testFunc is required.', - $test->getStatusMessage() - ); - } - - public function testSkipsIfRequiresNonExistingExtension(): void - { - $test = new \RequirementsTest('testTen'); - $test->run(); - - $this->assertEquals( - 'Extension testExt is required.', - $test->getStatusMessage() - ); - } - - public function testSkipsIfRequiresExtensionWithAMinimumVersion(): void - { - $test = new \RequirementsTest('testSpecificExtensionVersion'); - $test->run(); - - $this->assertEquals( - 'Extension testExt >= 1.8.0 is required.', - $test->getStatusMessage() - ); - } - - public function testSkipsProvidesMessagesForAllSkippingReasons(): void - { - $test = new \RequirementsTest('testAllPossibleRequirements'); - $test->run(); - - $this->assertEquals( - 'PHP >= 99-dev is required.' . \PHP_EOL . - 'PHPUnit >= 9-dev is required.' . \PHP_EOL . - 'Operating system matching /DOESNOTEXIST/i is required.' . \PHP_EOL . - 'Function testFuncOne is required.' . \PHP_EOL . - 'Function testFunc2 is required.' . \PHP_EOL . - 'Setting "not_a_setting" must be "Off".' . \PHP_EOL . - 'Extension testExtOne is required.' . \PHP_EOL . - 'Extension testExt2 is required.' . \PHP_EOL . - 'Extension testExtThree >= 2.0 is required.', - $test->getStatusMessage() - ); - } - - public function testRequiringAnExistingMethodDoesNotSkip(): void - { - $test = new \RequirementsTest('testExistingMethod'); - $result = $test->run(); - $this->assertEquals(0, $result->skippedCount()); - } - - public function testRequiringAnExistingFunctionDoesNotSkip(): void - { - $test = new \RequirementsTest('testExistingFunction'); - $result = $test->run(); - $this->assertEquals(0, $result->skippedCount()); - } - - public function testRequiringAnExistingExtensionDoesNotSkip(): void - { - $test = new \RequirementsTest('testExistingExtension'); - $result = $test->run(); - $this->assertEquals(0, $result->skippedCount()); - } - - public function testRequiringAnExistingOsDoesNotSkip(): void - { - $test = new \RequirementsTest('testExistingOs'); - $result = $test->run(); - $this->assertEquals(0, $result->skippedCount()); - } - - public function testRequiringASetting(): void - { - $test = new \RequirementsTest('testSettingDisplayErrorsOn'); - - // Get this so we can return it to whatever it was before the test. - $displayErrorsVal = \ini_get('display_errors'); - - \ini_set('display_errors', 'On'); - $result = $test->run(); - $this->assertEquals(0, $result->skippedCount()); - - \ini_set('display_errors', 'Off'); - $result = $test->run(); - $this->assertEquals(1, $result->skippedCount()); - - \ini_set('display_errors', $displayErrorsVal); - } - - public function testCurrentWorkingDirectoryIsRestored(): void - { - $expectedCwd = \getcwd(); - - $test = new \ChangeCurrentWorkingDirectoryTest('testSomethingThatChangesTheCwd'); - $test->run(); - - $this->assertSame($expectedCwd, \getcwd()); - } - - /** - * @requires PHP 7 - */ - public function testTypeErrorCanBeExpected(): void - { - $o = new \ClassWithScalarTypeDeclarations; - - $this->expectException(\TypeError::class); - - $o->foo(null, null); - } - - public function testCreateMockFromClassName(): void - { - $mock = $this->createMock(\Mockable::class); - - $this->assertInstanceOf(\Mockable::class, $mock); - $this->assertInstanceOf(MockObject::class, $mock); - } - - public function testCreateMockMocksAllMethods(): void - { - /** @var \Mockable $mock */ - $mock = $this->createMock(\Mockable::class); - - $this->assertNull($mock->mockableMethod()); - $this->assertNull($mock->anotherMockableMethod()); - } - - public function testCreatePartialMockDoesNotMockAllMethods(): void - { - /** @var \Mockable $mock */ - $mock = $this->createPartialMock(\Mockable::class, ['mockableMethod']); - - $this->assertNull($mock->mockableMethod()); - $this->assertTrue($mock->anotherMockableMethod()); - } - - public function testCreatePartialMockCanMockNoMethods(): void - { - /** @var \Mockable $mock */ - $mock = $this->createPartialMock(\Mockable::class, []); - - $this->assertTrue($mock->mockableMethod()); - $this->assertTrue($mock->anotherMockableMethod()); - } - - public function testCreateMockSkipsConstructor(): void - { - /** @var \Mockable $mock */ - $mock = $this->createMock(\Mockable::class); - - $this->assertNull($mock->constructorArgs); - } - - public function testCreateMockDisablesOriginalClone(): void - { - /** @var \Mockable $mock */ - $mock = $this->createMock(\Mockable::class); - - $cloned = clone $mock; - $this->assertNull($cloned->cloned); - } - - public function testConfiguredMockCanBeCreated(): void - { - /** @var \Mockable $mock */ - $mock = $this->createConfiguredMock( - \Mockable::class, - [ - 'mockableMethod' => false, - ] - ); - - $this->assertFalse($mock->mockableMethod()); - $this->assertNull($mock->anotherMockableMethod()); - } - - public function testProvidingOfAutoreferencedArray(): void - { - $test = new \TestAutoreferenced('testJsonEncodeException', $this->getAutoreferencedArray()); - $test->runBare(); - - $this->assertIsArray($test->myTestData); - $this->assertArrayHasKey('data', $test->myTestData); - $this->assertEquals($test->myTestData['data'][0], $test->myTestData['data']); - } - - public function testProvidingArrayThatMixesObjectsAndScalars(): void - { - $data = [ - [123], - ['foo'], - [$this->createMock(\Mockable::class)], - ]; - - $test = new \TestAutoreferenced('testJsonEncodeException', [$data]); - $test->runBare(); - - $this->assertIsArray($test->myTestData); - $this->assertSame($data, $test->myTestData); - } - - public function testGettingNullTestResultObject(): void - { - $test = new \Success; - $this->assertNull($test->getTestResultObject()); - } - - /** - * @return array - */ - private function getAutoreferencedArray() - { - $recursionData = []; - $recursionData[] = &$recursionData; - - return [ - 'RECURSION' => [ - 'data' => $recursionData, - ], - ]; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/TestFailureTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/TestFailureTest.php deleted file mode 100644 index 57a32a5..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/TestFailureTest.php +++ /dev/null @@ -1,141 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework; - -use PHPUnit\Framework\Error\Error; -use SebastianBergmann\Comparator\ComparisonFailure; - -class TestFailureTest extends TestCase -{ - public function testToString(): void - { - $test = new self(__FUNCTION__); - $exception = new Exception('message'); - $failure = new TestFailure($test, $exception); - - $this->assertEquals(__METHOD__ . ': message', $failure->toString()); - } - - public function testToStringForError(): void - { - $test = new self(__FUNCTION__); - $exception = new \Error('message'); - $failure = new TestFailure($test, $exception); - - $this->assertEquals(__METHOD__ . ': message', $failure->toString()); - } - - public function testToStringForNonSelfDescribing(): void - { - $test = new \NotSelfDescribingTest(); - $exception = new Exception('message'); - $failure = new TestFailure($test, $exception); - - $this->assertEquals('NotSelfDescribingTest: message', $failure->toString()); - } - - public function testgetExceptionAsString(): void - { - $test = new self(__FUNCTION__); - $exception = new \Error('message'); - $failure = new TestFailure($test, $exception); - - $this->assertEquals("Error: message\n", $failure->getExceptionAsString()); - } - - public function testExceptionToString(): void - { - $exception = new AssertionFailedError('message'); - - $this->assertEquals("message\n", TestFailure::exceptionToString($exception)); - } - - public function testExceptionToStringForExpectationFailedException(): void - { - $exception = new ExpectationFailedException('message'); - - $this->assertEquals("message\n", TestFailure::exceptionToString($exception)); - } - - public function testExceptionToStringForExpectationFailedExceptionWithComparisonFailure(): void - { - $exception = new ExpectationFailedException('message', new ComparisonFailure('expected', 'actual', 'expected', 'actual')); - - $this->assertEquals("message\n--- Expected\n+++ Actual\n@@ @@\n-expected\n+actual\n", TestFailure::exceptionToString($exception)); - } - - public function testExceptionToStringForFrameworkError(): void - { - $exception = new Error('message', 0, 'file', 1); - - $this->assertEquals("message\n", TestFailure::exceptionToString($exception)); - } - - public function testExceptionToStringForExceptionWrapper(): void - { - $exception = new ExceptionWrapper(new \Error('message')); - - $this->assertEquals("Error: message\n", TestFailure::exceptionToString($exception)); - } - - public function testGetTestName(): void - { - $test = new self(__FUNCTION__); - $exception = new Exception('message'); - $failure = new TestFailure($test, $exception); - - $this->assertEquals($this->toString(), $failure->getTestName()); - } - - public function testFailedTest(): void - { - $test = new self(__FUNCTION__); - $exception = new Exception('message'); - $failure = new TestFailure($test, $exception); - - $this->assertEquals($test, $failure->failedTest()); - } - - public function testThrownException(): void - { - $test = new self(__FUNCTION__); - $exception = new Exception('message'); - $failure = new TestFailure($test, $exception); - - $this->assertEquals($exception, $failure->thrownException()); - } - - public function testExceptionMessage(): void - { - $test = new self(__FUNCTION__); - $exception = new Exception('message'); - $failure = new TestFailure($test, $exception); - - $this->assertEquals('message', $failure->exceptionMessage()); - } - - public function testIsFailure(): void - { - $test = new self(__FUNCTION__); - $exception = new ExpectationFailedException('message'); - $failure = new TestFailure($test, $exception); - - $this->assertTrue($failure->isFailure()); - } - - public function testIsFailureFalse(): void - { - $test = new self(__FUNCTION__); - $exception = new Warning('message'); - $failure = new TestFailure($test, $exception); - - $this->assertFalse($failure->isFailure()); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/TestImplementorTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/TestImplementorTest.php deleted file mode 100644 index 67ca038..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/TestImplementorTest.php +++ /dev/null @@ -1,25 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework; - -class TestImplementorTest extends TestCase -{ - public function testSuccessfulRun(): void - { - $result = new TestResult; - - $test = new \DoubleTestCase(new \Success); - $test->run($result); - - $this->assertCount(\count($test), $result); - $this->assertEquals(0, $result->errorCount()); - $this->assertEquals(0, $result->failureCount()); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/TestListenerTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/TestListenerTest.php deleted file mode 100644 index d4e725f..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/TestListenerTest.php +++ /dev/null @@ -1,60 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework; - -use MyTestListener; - -final class TestListenerTest extends TestCase -{ - /** - * @var TestResult - */ - private $result; - - /** - * @var MyTestListener - */ - private $listener; - - protected function setUp(): void - { - $this->result = new TestResult; - $this->listener = new MyTestListener; - - $this->result->addListener($this->listener); - } - - public function testError(): void - { - $test = new \TestError; - $test->run($this->result); - - $this->assertEquals(1, $this->listener->errorCount()); - $this->assertEquals(1, $this->listener->endCount()); - } - - public function testFailure(): void - { - $test = new \Failure; - $test->run($this->result); - - $this->assertEquals(1, $this->listener->failureCount()); - $this->assertEquals(1, $this->listener->endCount()); - } - - public function testStartStop(): void - { - $test = new \Success; - $test->run($this->result); - - $this->assertEquals(1, $this->listener->startCount()); - $this->assertEquals(1, $this->listener->endCount()); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/TestResultTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/TestResultTest.php deleted file mode 100644 index 467df42..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/TestResultTest.php +++ /dev/null @@ -1,90 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework; - -class TestResultTest extends TestCase -{ - public function testRemoveListenerRemovesOnlyExpectedListener(): void - { - $result = new TestResult; - $firstListener = $this->getMockBuilder(TestListener::class)->getMock(); - $secondListener = $this->getMockBuilder(TestListener::class)->getMock(); - $thirdListener = $this->getMockBuilder(TestListener::class)->getMock(); - $result->addListener($firstListener); - $result->addListener($secondListener); - $result->addListener($thirdListener); - $result->addListener($firstListener); - $this->assertAttributeEquals( - [$firstListener, $secondListener, $thirdListener, $firstListener], - 'listeners', - $result - ); - $result->removeListener($firstListener); - $this->assertAttributeEquals( - [1 => $secondListener, 2 => $thirdListener], - 'listeners', - $result - ); - } - - public function testAddErrorOfTypeIncompleteTest(): void - { - $time = 17; - $throwable = new IncompleteTestError; - $result = new TestResult; - $test = $this->getMockBuilder(Test::class)->getMock(); - $listener = $this->getMockBuilder(TestListener::class)->getMock(); - - $listener->expects($this->exactly(2)) - ->method('addIncompleteTest') - ->with($test, $throwable, $time); - $result->addListener($listener); - //No Stop - $result->stopOnIncomplete(false); - $result->addError($test, $throwable, $time); - $this->assertAttributeEquals($time, 'time', $result); - $this->assertAttributeCount(1, 'notImplemented', $result); - $this->assertAttributeEquals(false, 'stop', $result); - //Stop - $result->stopOnIncomplete(true); - $result->addError($test, $throwable, $time); - $this->assertAttributeEquals(2 * $time, 'time', $result); - $this->assertAttributeCount(2, 'notImplemented', $result); - $this->assertAttributeEquals(true, 'stop', $result); - //Final checks - $this->assertAttributeEquals(true, 'lastTestFailed', $result); - $this->assertAttributeContainsOnly(TestFailure::class, 'notImplemented', $result); - } - - public function canSkipCoverageProvider(): array - { - return [ - ['CoverageClassTest', false], - ['CoverageClassWithoutAnnotationsTest', false], - ['CoverageCoversOverridesCoversNothingTest', false], - ['CoverageClassNothingTest', true], - ['CoverageMethodNothingTest', true], - ]; - } - - /** - * @dataProvider canSkipCoverageProvider - */ - public function testCanSkipCoverage($testCase, $expectedCanSkip): void - { - require_once TEST_FILES_PATH . $testCase . '.php'; - - $test = new $testCase('testSomething'); - $coverageRequired = TestResult::isAnyCoverageRequired($test); - $canSkipCoverage = !$coverageRequired; - - $this->assertEquals($expectedCanSkip, $canSkipCoverage); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/TestSuiteIteratorTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/TestSuiteIteratorTest.php deleted file mode 100644 index d33fe50..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/TestSuiteIteratorTest.php +++ /dev/null @@ -1,216 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework; - -/** - * @small - */ -final class TestSuiteIteratorTest extends TestCase -{ - /* - * tests for the initial state with empty test suite - */ - - public function testKeyForEmptyTestSuiteInitiallyReturnsZero(): void - { - $testSuite = new TestSuite(); - $subject = new TestSuiteIterator($testSuite); - - $this->assertSame(0, $subject->key()); - } - - public function testValidForEmptyTestSuiteInitiallyReturnsFalse(): void - { - $testSuite = new TestSuite(); - $subject = new TestSuiteIterator($testSuite); - - $this->assertFalse($subject->valid()); - } - - public function testCurrentForEmptyTestSuiteInitiallyReturnsNull(): void - { - $testSuite = new TestSuite(); - $subject = new TestSuiteIterator($testSuite); - - $this->assertNull($subject->current()); - } - - /* - * tests for the initial state with non-empty test suite - */ - - public function testKeyForNonEmptyTestSuiteInitiallyReturnsZero(): void - { - $testSuite = new TestSuite(); - $testSuite->addTest(new \EmptyTestCaseTest()); - $subject = new TestSuiteIterator($testSuite); - - $this->assertSame(0, $subject->key()); - } - - public function testValidForNonEmptyTestSuiteInitiallyReturnsTrue(): void - { - $testSuite = new TestSuite(); - $testSuite->addTest(new \EmptyTestCaseTest()); - $subject = new TestSuiteIterator($testSuite); - - $this->assertTrue($subject->valid()); - } - - public function testCurrentForNonEmptyTestSuiteInitiallyReturnsFirstTest(): void - { - $test = new \EmptyTestCaseTest(); - $testSuite = new TestSuite(); - $testSuite->addTest($test); - $subject = new TestSuiteIterator($testSuite); - - $this->assertSame($test, $subject->current()); - } - - /* - * tests for rewind - */ - - public function testRewindResetsKeyToZero(): void - { - $testSuite = new TestSuite(); - $testSuite->addTest(new \EmptyTestCaseTest()); - $subject = new TestSuiteIterator($testSuite); - $subject->next(); - - $subject->rewind(); - - $this->assertSame(0, $subject->key()); - } - - public function testRewindResetsCurrentToFirstElement(): void - { - $testSuite = new TestSuite(); - $test = new \EmptyTestCaseTest(); - $testSuite->addTest($test); - $subject = new TestSuiteIterator($testSuite); - $subject->next(); - - $subject->rewind(); - - $this->assertSame($test, $subject->current()); - } - - /* - * tests for next - */ - - public function testNextIncreasesKeyFromZeroToOne(): void - { - $testSuite = new TestSuite(); - $testSuite->addTest(new \EmptyTestCaseTest()); - $subject = new TestSuiteIterator($testSuite); - - $subject->next(); - - $this->assertSame(1, $subject->key()); - } - - public function testCurrentAfterLastElementReturnsNull(): void - { - $testSuite = new TestSuite(); - $testSuite->addTest(new \EmptyTestCaseTest()); - $subject = new TestSuiteIterator($testSuite); - - $subject->next(); - - $this->assertNull($subject->current()); - } - - public function testValidAfterLastElementReturnsFalse(): void - { - $testSuite = new TestSuite(); - $testSuite->addTest(new \EmptyTestCaseTest()); - $subject = new TestSuiteIterator($testSuite); - - $subject->next(); - - $this->assertFalse($subject->valid()); - } - - /* - * tests for getChildren - */ - - public function testGetChildrenForEmptyTestSuiteThrowsException(): void - { - $testSuite = new TestSuite(); - $subject = new TestSuiteIterator($testSuite); - - $this->expectException(UnexpectedValueException::class); - - $subject->getChildren(); - } - - public function testGetChildrenForCurrentTestThrowsException(): void - { - $testSuite = new TestSuite(); - $testSuite->addTest(new \EmptyTestCaseTest()); - $subject = new TestSuiteIterator($testSuite); - - $this->expectException(UnexpectedValueException::class); - - $subject->getChildren(); - } - - public function testGetChildrenReturnsNewInstanceWithCurrentTestSuite(): void - { - $childSuite = new TestSuite(); - $test = new \EmptyTestCaseTest(); - $childSuite->addTest($test); - - $testSuite = new TestSuite(); - $testSuite->addTest($childSuite); - - $subject = new TestSuiteIterator($testSuite); - - $children = $subject->getChildren(); - - $this->assertNotSame($subject, $children); - $this->assertSame($test, $children->current()); - } - - /* - * tests for hasChildren - */ - - public function testHasChildrenForCurrentTestSuiteReturnsTrue(): void - { - $testSuite = new TestSuite(); - $childSuite = new TestSuite(); - $testSuite->addTest($childSuite); - $subject = new TestSuiteIterator($testSuite); - - $this->assertTrue($subject->hasChildren()); - } - - public function testHasChildrenForCurrentTestReturnsFalse(): void - { - $testSuite = new TestSuite(); - $test = new \EmptyTestCaseTest(); - $testSuite->addTest($test); - $subject = new TestSuiteIterator($testSuite); - - $this->assertFalse($subject->hasChildren()); - } - - public function testHasChildrenForNoTestsReturnsFalse(): void - { - $testSuite = new TestSuite(); - $subject = new TestSuiteIterator($testSuite); - - $this->assertFalse($subject->hasChildren()); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/TestSuiteTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/TestSuiteTest.php deleted file mode 100644 index e0fe801..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Framework/TestSuiteTest.php +++ /dev/null @@ -1,250 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Framework; - -class TestSuiteTest extends TestCase -{ - /** - * @var TestResult - */ - private $result; - - protected function setUp(): void - { - $this->result = new TestResult; - } - - protected function tearDown(): void - { - $this->result = null; - } - - /** - * @testdox TestSuite can be created with name of existing non-TestCase class - */ - public function testSuiteNameCanBeSameAsExistingNonTestClassName(): void - { - $suite = new TestSuite('stdClass'); - $suite->addTestSuite(\OneTestCase::class); - $suite->run($this->result); - - $this->assertCount(1, $this->result); - } - - public function testAddTestSuite(): void - { - $suite = new TestSuite(\OneTestCase::class); - - $suite->run($this->result); - - $this->assertCount(1, $this->result); - } - - public function testInheritedTests(): void - { - $suite = new TestSuite(\InheritedTestCase::class); - - $suite->run($this->result); - - $this->assertTrue($this->result->wasSuccessful()); - $this->assertCount(2, $this->result); - } - - public function testNoTestCases(): void - { - $suite = new TestSuite(\NoTestCases::class); - - $suite->run($this->result); - - $this->assertNotTrue($this->result->wasSuccessful()); - $this->assertEquals(0, $this->result->failureCount()); - $this->assertEquals(1, $this->result->warningCount()); - $this->assertCount(1, $this->result); - } - - public function testNotPublicTestCase(): void - { - $suite = new TestSuite(\NotPublicTestCase::class); - - $this->assertCount(2, $suite); - } - - public function testNotVoidTestCase(): void - { - $suite = new TestSuite(\NotVoidTestCase::class); - - $this->assertCount(1, $suite); - } - - public function testOneTestCase(): void - { - $suite = new TestSuite(\OneTestCase::class); - - $suite->run($this->result); - - $this->assertEquals(0, $this->result->errorCount()); - $this->assertEquals(0, $this->result->failureCount()); - $this->assertCount(1, $this->result); - $this->assertTrue($this->result->wasSuccessful()); - } - - public function testShadowedTests(): void - { - $suite = new TestSuite(\OverrideTestCase::class); - - $suite->run($this->result); - - $this->assertCount(1, $this->result); - } - - public function testBeforeClassAndAfterClassAnnotations(): void - { - $suite = new TestSuite(\BeforeClassAndAfterClassTest::class); - - \BeforeClassAndAfterClassTest::resetProperties(); - $suite->run($this->result); - - $this->assertEquals(1, \BeforeClassAndAfterClassTest::$beforeClassWasRun, '@beforeClass method was not run once for the whole suite.'); - $this->assertEquals(1, \BeforeClassAndAfterClassTest::$afterClassWasRun, '@afterClass method was not run once for the whole suite.'); - } - - public function testBeforeClassWithDataProviders(): void - { - $suite = new TestSuite(\BeforeClassWithOnlyDataProviderTest::class); - - \BeforeClassWithOnlyDataProviderTest::resetProperties(); - $suite->run($this->result); - - $this->assertTrue(\BeforeClassWithOnlyDataProviderTest::$setUpBeforeClassWasCalled, 'setUpBeforeClass method was not run.'); - $this->assertTrue(\BeforeClassWithOnlyDataProviderTest::$beforeClassWasCalled, '@beforeClass method was not run.'); - } - - public function testBeforeAnnotation(): void - { - $test = new TestSuite(\BeforeAndAfterTest::class); - - \BeforeAndAfterTest::resetProperties(); - $test->run(); - - $this->assertEquals(2, \BeforeAndAfterTest::$beforeWasRun); - $this->assertEquals(2, \BeforeAndAfterTest::$afterWasRun); - } - - public function testTestWithAnnotation(): void - { - $test = new TestSuite(\TestWithTest::class); - - \BeforeAndAfterTest::resetProperties(); - $result = $test->run(); - - $this->assertCount(4, $result->passed()); - } - - public function testSkippedTestDataProvider(): void - { - $suite = new TestSuite(\DataProviderSkippedTest::class); - - $suite->run($this->result); - - $this->assertEquals(3, $this->result->count()); - $this->assertEquals(1, $this->result->skippedCount()); - } - - public function testTestDataProviderDependency(): void - { - $suite = new TestSuite(\DataProviderDependencyTest::class); - - $suite->run($this->result); - - $skipped = $this->result->skipped(); - $lastSkippedResult = \array_pop($skipped); - $message = $lastSkippedResult->thrownException()->getMessage(); - - $this->assertContains('Test for DataProviderDependencyTest::testDependency skipped by data provider', $message); - } - - public function testIncompleteTestDataProvider(): void - { - $suite = new TestSuite(\DataProviderIncompleteTest::class); - - $suite->run($this->result); - - $this->assertEquals(3, $this->result->count()); - $this->assertEquals(1, $this->result->notImplementedCount()); - } - - public function testRequirementsBeforeClassHook(): void - { - $suite = new TestSuite(\RequirementsClassBeforeClassHookTest::class); - - $suite->run($this->result); - - $this->assertEquals(0, $this->result->errorCount()); - $this->assertEquals(1, $this->result->skippedCount()); - } - - public function testDoNotSkipInheritedClass(): void - { - $suite = new TestSuite( - 'DontSkipInheritedClass' - ); - - $dir = TEST_FILES_PATH . \DIRECTORY_SEPARATOR . 'Inheritance' . \DIRECTORY_SEPARATOR; - - $suite->addTestFile($dir . 'InheritanceA.php'); - $suite->addTestFile($dir . 'InheritanceB.php'); - - $result = $suite->run(); - - $this->assertCount(2, $result); - } - - public function testCreateTestForConstructorlessTestClass(): void - { - $reflection = $this->getMockBuilder(\ReflectionClass::class) - ->setConstructorArgs([$this]) - ->getMock(); - - $reflection->expects($this->once()) - ->method('getConstructor') - ->willReturn(null); - $reflection->expects($this->once()) - ->method('isInstantiable') - ->willReturn(true); - $reflection->expects($this->once()) - ->method('getName') - ->willReturn(__CLASS__); - - $this->expectException(Exception::class); - $this->expectExceptionMessage('No valid test provided.'); - - TestSuite::createTest($reflection, 'TestForConstructorlessTestClass'); - } - - /** - * @testdox Handles exceptions in tearDownAfterClass() - */ - public function testTearDownAfterClassInTestSuite(): void - { - $suite = new TestSuite(\ExceptionInTearDownAfterClassTest::class); - $suite->run($this->result); - - $this->assertSame(3, $this->result->count()); - $this->assertCount(1, $this->result->failures()); - - $failure = $this->result->failures()[0]; - - $this->assertSame( - 'Exception in ExceptionInTearDownAfterClassTest::tearDownAfterClass' . \PHP_EOL . - 'throw Exception in tearDownAfterClass()', - $failure->thrownException()->getMessage() - ); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Runner/Filter/NameFilterIteratorTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Runner/Filter/NameFilterIteratorTest.php deleted file mode 100644 index 868246d..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Runner/Filter/NameFilterIteratorTest.php +++ /dev/null @@ -1,38 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Runner\Filter; - -use PHPUnit\Framework\TestCase; -use PHPUnit\Framework\TestSuite; - -class NameFilterIteratorTest extends TestCase -{ - public function testCaseSensitiveMatch(): void - { - $this->assertTrue($this->createFilter('BankAccountTest')->accept()); - } - - public function testCaseInsensitiveMatch(): void - { - $this->assertTrue($this->createFilter('bankaccounttest')->accept()); - } - - private function createFilter(string $filter): NameFilterIterator - { - $suite = new TestSuite; - $suite->addTest(new \BankAccountTest('testBalanceIsInitiallyZero')); - - $iterator = new NameFilterIterator($suite->getIterator(), $filter); - - $iterator->rewind(); - - return $iterator; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Runner/PhptTestCaseTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Runner/PhptTestCaseTest.php deleted file mode 100644 index 27c650d..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Runner/PhptTestCaseTest.php +++ /dev/null @@ -1,349 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Runner; - -use PHPUnit\Framework\TestCase; -use PHPUnit\Util\PHP\AbstractPhpProcess; - -class PhptTestCaseTest extends TestCase -{ - private const EXPECT_CONTENT = << ---EXPECT-- -Hello PHPUnit! -EOF; - - private const EXPECTF_CONTENT = << ---EXPECTF-- -Hello %s! -EOF; - - private const EXPECTREGEX_CONTENT = << ---EXPECTREGEX-- -Hello [HPU]{4}[nit]{3}! -EOF; - - private const FILE_SECTION = << - -EOF; - - /** - * @var string - */ - private $dirname; - - /** - * @var string - */ - private $filename; - - /** - * @var PhptTestCase - */ - private $testCase; - - /** - * @var AbstractPhpProcess|\PHPUnit\Framework\MockObject\MockObject - */ - private $phpProcess; - - protected function setUp(): void - { - $this->dirname = \sys_get_temp_dir(); - $this->filename = $this->dirname . '/phpunit.phpt'; - \touch($this->filename); - - $this->phpProcess = $this->getMockForAbstractClass(AbstractPhpProcess::class, [], '', false); - $this->testCase = new PhptTestCase($this->filename, $this->phpProcess); - } - - protected function tearDown(): void - { - @\unlink($this->filename); - - $this->phpProcess = null; - $this->testCase = null; - } - - public function testAlwaysReportsNumberOfAssertionsIsOne(): void - { - $this->assertSame(1, $this->testCase->getNumAssertions()); - } - - public function testAlwaysReportsItDoesNotUseADataprovider(): void - { - $this->assertSame(false, $this->testCase->usesDataProvider()); - } - - public function testShouldRunFileSectionAsTest(): void - { - $this->setPhpContent($this->ensureCorrectEndOfLine(self::EXPECT_CONTENT)); - - $fileSection = '' . \PHP_EOL; - - $this->phpProcess - ->expects($this->once()) - ->method('runJob') - ->with($fileSection) - ->will($this->returnValue(['stdout' => '', 'stderr' => ''])); - - $this->testCase->run(); - } - - public function testRenderFileSection(): void - { - $this->setPhpContent($this->ensureCorrectEndOfLine( - << ---EXPECT-- -Something -EOF - )); - - $renderedCode = "dirname . "' . '" . $this->filename . "'; ?>" . \PHP_EOL; - - $this->phpProcess - ->expects($this->once()) - ->method('runJob') - ->with($renderedCode) - ->will($this->returnValue(['stdout' => '', 'stderr' => ''])); - - $this->testCase->run(); - } - - public function testRenderSkipifSection(): void - { - $phptContent = self::EXPECT_CONTENT . \PHP_EOL; - $phptContent .= '--SKIPIF--' . \PHP_EOL; - $phptContent .= "" . \PHP_EOL; - - $this->setPhpContent($phptContent); - - $renderedCode = "filename . "'; ?>" . \PHP_EOL; - - $this->phpProcess - ->expects($this->at(0)) - ->method('runJob') - ->with($renderedCode) - ->will($this->returnValue(['stdout' => '', 'stderr' => ''])); - - $this->testCase->run(); - } - - public function testShouldRunSkipifSectionWhenExists(): void - { - $skipifSection = '' . \PHP_EOL; - - $phptContent = self::EXPECT_CONTENT . \PHP_EOL; - $phptContent .= '--SKIPIF--' . \PHP_EOL; - $phptContent .= $skipifSection; - - $this->setPhpContent($phptContent); - - $this->phpProcess - ->expects($this->at(0)) - ->method('runJob') - ->with($skipifSection) - ->will($this->returnValue(['stdout' => '', 'stderr' => ''])); - - $this->testCase->run(); - } - - public function testShouldNotRunTestSectionIfSkipifSectionReturnsOutputWithSkipWord(): void - { - $skipifSection = '' . \PHP_EOL; - - $phptContent = self::EXPECT_CONTENT . \PHP_EOL; - $phptContent .= '--SKIPIF--' . \PHP_EOL; - $phptContent .= $skipifSection; - - $this->setPhpContent($phptContent); - - $this->phpProcess - ->expects($this->once()) - ->method('runJob') - ->with($skipifSection) - ->will($this->returnValue(['stdout' => 'skip: Reason', 'stderr' => ''])); - - $this->testCase->run(); - } - - public function testShouldRunCleanSectionWhenDefined(): void - { - $cleanSection = '' . \PHP_EOL; - - $phptContent = self::EXPECT_CONTENT . \PHP_EOL; - $phptContent .= '--CLEAN--' . \PHP_EOL; - $phptContent .= $cleanSection; - - $this->setPhpContent($phptContent); - - $this->phpProcess - ->expects($this->at(1)) - ->method('runJob') - ->with($cleanSection); - - $this->testCase->run(); - } - - public function testShouldSkipTestWhenPhptFileIsEmpty(): void - { - $this->setPhpContent(''); - - $result = $this->testCase->run(); - $this->assertCount(1, $result->skipped()); - $this->assertSame('Invalid PHPT file', $result->skipped()[0]->thrownException()->getMessage()); - } - - public function testShouldSkipTestWhenFileSectionIsMissing(): void - { - $this->setPhpContent( - <<testCase->run(); - - $this->assertCount(1, $result->skipped()); - $this->assertSame('Invalid PHPT file', $result->skipped()[0]->thrownException()->getMessage()); - } - - public function testShouldSkipTestWhenThereIsNoExpecOrExpectifOrExpecregexSectionInPhptFile(): void - { - $this->setPhpContent( - << -EOF - ); - - $result = $this->testCase->run(); - - $this->assertCount(1, $result->skipped()); - $skipMessage = $result->skipped()[0]->thrownException()->getMessage(); - $this->assertSame('Invalid PHPT file', $skipMessage); - } - - public function testShouldSkipTestWhenSectionHeaderIsMalformed(): void - { - $this->setPhpContent( - <<testCase->run(); - - $this->assertCount(1, $result->skipped()); - $skipMessage = $result->skipped()[0]->thrownException()->getMessage(); - $this->assertSame('Invalid PHPT file: empty section header', $skipMessage); - } - - public function testShouldValidateExpectSession(): void - { - $this->setPhpContent(self::EXPECT_CONTENT); - - $this->phpProcess - ->expects($this->once()) - ->method('runJob') - ->with(self::FILE_SECTION) - ->will($this->returnValue(['stdout' => 'Hello PHPUnit!', 'stderr' => ''])); - - $result = $this->testCase->run(); - - $this->assertTrue($result->wasSuccessful()); - } - - public function testShouldValidateExpectfSession(): void - { - $this->setPhpContent(self::EXPECTF_CONTENT); - - $this->phpProcess - ->expects($this->once()) - ->method('runJob') - ->with(self::FILE_SECTION) - ->will($this->returnValue(['stdout' => 'Hello PHPUnit!', 'stderr' => ''])); - - $result = $this->testCase->run(); - - $this->assertTrue($result->wasSuccessful()); - } - - public function testShouldValidateExpectregexSession(): void - { - $this->setPhpContent(self::EXPECTREGEX_CONTENT); - - $this->phpProcess - ->expects($this->once()) - ->method('runJob') - ->with(self::FILE_SECTION) - ->will($this->returnValue(['stdout' => 'Hello PHPUnit!', 'stderr' => ''])); - - $result = $this->testCase->run(); - - $this->assertTrue($result->wasSuccessful()); - } - - /** - * Defines the content of the current PHPT test. - * - * @param string $content - */ - private function setPhpContent($content): void - { - \file_put_contents($this->filename, $content); - } - - /** - * Ensures the correct line ending is used for comparison - * - * @param string $content - * - * @return string - */ - private function ensureCorrectEndOfLine($content) - { - return \strtr( - $content, - [ - "\r\n" => \PHP_EOL, - "\r" => \PHP_EOL, - "\n" => \PHP_EOL, - ] - ); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Runner/ResultCacheExtensionTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Runner/ResultCacheExtensionTest.php deleted file mode 100644 index 4a1edc3..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Runner/ResultCacheExtensionTest.php +++ /dev/null @@ -1,139 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Runner; - -use PHPUnit\Framework\TestCase; -use PHPUnit\Framework\TestCaseTest; -use PHPUnit\Framework\TestResult; -use PHPUnit\Framework\TestSuite; - -/** - * @group test-reorder - */ -class ResultCacheExtensionTest extends TestCase -{ - /** - * @var TestResultCache - */ - protected $cache; - - /** - * @var ResultCacheExtension - */ - protected $extension; - - /** - * @var TestResult - */ - protected $result; - - protected function setUp(): void - { - $this->cache = new TestResultCache; - $this->extension = new ResultCacheExtension($this->cache); - - $listener = new TestListenerAdapter; - $listener->add($this->extension); - - $this->result = new TestResult; - $this->result->addListener($listener); - } - - /** - * @dataProvider longTestNamesDataprovider - */ - public function testStripsDataproviderParametersFromTestName(string $testName, string $expectedTestName): void - { - $test = new TestCaseTest($testName); - $test->run($this->result); - - $this->assertSame(BaseTestRunner::STATUS_ERROR, $this->cache->getState($expectedTestName)); - } - - public function longTestNamesDataprovider(): array - { - return [ - 'ClassName::testMethod' => [ - 'testSomething', - TestCaseTest::class . '::testSomething', ], - 'ClassName::testMethod and data set number and vardump' => [ - 'testMethod with data set #123 (\'a\', "A", 0, false)', - TestCaseTest::class . '::testMethod with data set #123', ], - 'ClassName::testMethod and data set name and vardump' => [ - 'testMethod with data set "data name" (\'a\', "A\", 0, false)', - TestCaseTest::class . '::testMethod with data set "data name"', ], - ]; - } - - public function testError(): void - { - $test = new \TestError('test_name'); - $test->run($this->result); - - $this->assertSame(BaseTestRunner::STATUS_ERROR, $this->cache->getState(\TestError::class . '::test_name')); - } - - public function testFailure(): void - { - $test = new \Failure('test_name'); - $test->run($this->result); - - $this->assertSame(BaseTestRunner::STATUS_FAILURE, $this->cache->getState(\Failure::class . '::test_name')); - } - - public function testSkipped(): void - { - $test = new \TestSkipped('test_name'); - $test->run($this->result); - - $this->assertSame(BaseTestRunner::STATUS_SKIPPED, $this->cache->getState(\TestSkipped::class . '::test_name')); - } - - public function testIncomplete(): void - { - $test = new \TestIncomplete('test_name'); - $test->run($this->result); - - $this->assertSame(BaseTestRunner::STATUS_INCOMPLETE, $this->cache->getState(\TestIncomplete::class . '::test_name')); - } - - public function testPassedTestsOnlyCacheTime(): void - { - $test = new \Success('test_name'); - $test->run($this->result); - - $this->assertSame(BaseTestRunner::STATUS_UNKNOWN, $this->cache->getState(\Success::class . '::test_name')); - } - - public function testWarning(): void - { - $test = new \TestWarning('test_name'); - $test->run($this->result); - - $this->assertSame(BaseTestRunner::STATUS_WARNING, $this->cache->getState(\TestWarning::class . '::test_name')); - } - - public function testRisky(): void - { - $test = new \TestRisky('test_name'); - $test->run($this->result); - - $this->assertSame(BaseTestRunner::STATUS_RISKY, $this->cache->getState(\TestRisky::class . '::test_name')); - } - - public function testEmptySuite(): void - { - $suite = new TestSuite; - $suite->addTestSuite(\EmptyTestCaseTest::class); - $suite->run($this->result); - - $this->assertSame(BaseTestRunner::STATUS_WARNING, $this->cache->getState('Warning')); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Runner/TestSuiteSorterTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Runner/TestSuiteSorterTest.php deleted file mode 100644 index 165af21..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Runner/TestSuiteSorterTest.php +++ /dev/null @@ -1,608 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Runner; - -use PHPUnit\Framework\TestCase; -use PHPUnit\Framework\TestSuite; - -/** - * @group test-reorder - */ -class TestSuiteSorterTest extends TestCase -{ - /** - * Constants to improve clarity of @dataprovider - */ - private const IGNORE_DEPENDENCIES = false; - - private const RESOLVE_DEPENDENCIES = true; - - private const MULTIDEPENDENCYTEST_EXECUTION_ORDER = [ - \MultiDependencyTest::class . '::testOne', - \MultiDependencyTest::class . '::testTwo', - \MultiDependencyTest::class . '::testThree', - \MultiDependencyTest::class . '::testFour', - \MultiDependencyTest::class . '::testFive', - ]; - - public function testThrowsExceptionWhenUsingInvalidOrderOption(): void - { - $suite = new TestSuite; - $suite->addTestSuite(\MultiDependencyTest::class); - $sorter = new TestSuiteSorter; - - $this->expectException(Exception::class); - $this->expectExceptionMessage('$order must be one of TestSuiteSorter::ORDER_DEFAULT, TestSuiteSorter::ORDER_REVERSED, or TestSuiteSorter::ORDER_RANDOMIZED, or TestSuiteSorter::ORDER_DURATION'); - $sorter->reorderTestsInSuite($suite, -1, false, TestSuiteSorter::ORDER_DEFAULT); - } - - public function testThrowsExceptionWhenUsingInvalidOrderDefectsOption(): void - { - $suite = new TestSuite; - $suite->addTestSuite(\MultiDependencyTest::class); - $sorter = new TestSuiteSorter; - - $this->expectException(Exception::class); - $this->expectExceptionMessage('$orderDefects must be one of TestSuiteSorter::ORDER_DEFAULT, TestSuiteSorter::ORDER_DEFECTS_FIRST'); - $sorter->reorderTestsInSuite($suite, TestSuiteSorter::ORDER_DEFAULT, false, -1); - } - - /** - * @dataProvider suiteSorterOptionPermutationsProvider - */ - public function testShouldNotAffectEmptyTestSuite(int $order, bool $resolveDependencies, int $orderDefects): void - { - $sorter = new TestSuiteSorter; - $suite = new TestSuite; - - $sorter->reorderTestsInSuite($suite, $order, $resolveDependencies, $orderDefects); - - $this->assertEmpty($suite->tests()); - $this->assertEmpty($sorter->getOriginalExecutionOrder()); - $this->assertEmpty($sorter->getExecutionOrder()); - } - - /** - * @dataProvider commonSorterOptionsProvider - */ - public function testBasicExecutionOrderOptions(int $order, bool $resolveDependencies, array $expectedOrder): void - { - $suite = new TestSuite; - $suite->addTestSuite(\MultiDependencyTest::class); - $sorter = new TestSuiteSorter; - - $sorter->reorderTestsInSuite($suite, $order, $resolveDependencies, TestSuiteSorter::ORDER_DEFAULT); - - $this->assertSame(self::MULTIDEPENDENCYTEST_EXECUTION_ORDER, $sorter->getOriginalExecutionOrder()); - $this->assertSame($expectedOrder, $sorter->getExecutionOrder()); - } - - public function testCanSetRandomizationWithASeed(): void - { - $suite = new TestSuite; - $suite->addTestSuite(\MultiDependencyTest::class); - $sorter = new TestSuiteSorter; - - \mt_srand(54321); - $sorter->reorderTestsInSuite($suite, TestSuiteSorter::ORDER_RANDOMIZED, false, TestSuiteSorter::ORDER_DEFAULT); - - $expectedOrder = [ - \MultiDependencyTest::class . '::testTwo', - \MultiDependencyTest::class . '::testFour', - \MultiDependencyTest::class . '::testFive', - \MultiDependencyTest::class . '::testThree', - \MultiDependencyTest::class . '::testOne', - ]; - - $this->assertSame($expectedOrder, $sorter->getExecutionOrder()); - } - - public function testCanSetRandomizationWithASeedAndResolveDependencies(): void - { - $suite = new TestSuite; - $suite->addTestSuite(\MultiDependencyTest::class); - $sorter = new TestSuiteSorter; - - \mt_srand(54321); - $sorter->reorderTestsInSuite($suite, TestSuiteSorter::ORDER_RANDOMIZED, true, TestSuiteSorter::ORDER_DEFAULT); - - $expectedOrder = [ - \MultiDependencyTest::class . '::testTwo', - \MultiDependencyTest::class . '::testFive', - \MultiDependencyTest::class . '::testOne', - \MultiDependencyTest::class . '::testThree', - \MultiDependencyTest::class . '::testFour', - ]; - - $this->assertSame($expectedOrder, $sorter->getExecutionOrder()); - } - - /** - * @dataProvider orderDurationWithoutCacheProvider - */ - public function testOrderDurationWithoutCache(bool $resolveDependencies, array $expected): void - { - $suite = new TestSuite; - - $suite->addTestSuite(\MultiDependencyTest::class); - - $sorter = new TestSuiteSorter; - - $sorter->reorderTestsInSuite( - $suite, - TestSuiteSorter::ORDER_DURATION, - $resolveDependencies, - TestSuiteSorter::ORDER_DEFAULT - ); - - $this->assertSame($expected, $sorter->getExecutionOrder()); - } - - public function orderDurationWithoutCacheProvider(): array - { - return [ - 'dependency-ignore' => [ - self::IGNORE_DEPENDENCIES, - [ - \MultiDependencyTest::class . '::testOne', - \MultiDependencyTest::class . '::testTwo', - \MultiDependencyTest::class . '::testThree', - \MultiDependencyTest::class . '::testFour', - \MultiDependencyTest::class . '::testFive', - ], - ], - 'dependency-resolve' => [ - self::RESOLVE_DEPENDENCIES, - [ - \MultiDependencyTest::class . '::testOne', - \MultiDependencyTest::class . '::testTwo', - \MultiDependencyTest::class . '::testThree', - \MultiDependencyTest::class . '::testFour', - \MultiDependencyTest::class . '::testFive', - ], - ], - ]; - } - - /** - * @dataProvider orderDurationWithCacheProvider - */ - public function testOrderDurationWithCache(bool $resolveDependencies, array $testTimes, array $expected): void - { - $suite = new TestSuite; - - $suite->addTestSuite(\MultiDependencyTest::class); - - $cache = new TestResultCache; - - foreach ($testTimes as $testName => $time) { - $cache->setTime(\MultiDependencyTest::class . '::' . $testName, $time); - } - - $sorter = new TestSuiteSorter($cache); - - $sorter->reorderTestsInSuite( - $suite, - TestSuiteSorter::ORDER_DURATION, - $resolveDependencies, - TestSuiteSorter::ORDER_DEFAULT - ); - - $this->assertSame($expected, $sorter->getExecutionOrder()); - } - - public function orderDurationWithCacheProvider(): array - { - return [ - 'duration-same-dependency-ignore' => [ - self::IGNORE_DEPENDENCIES, - [ - 'testOne' => 1, - 'testTwo' => 1, - 'testThree' => 1, - 'testFour' => 1, - 'testFive' => 1, - ], - [ - \MultiDependencyTest::class . '::testOne', - \MultiDependencyTest::class . '::testTwo', - \MultiDependencyTest::class . '::testThree', - \MultiDependencyTest::class . '::testFour', - \MultiDependencyTest::class . '::testFive', - ], - ], - 'duration-same-dependency-resolve' => [ - self::RESOLVE_DEPENDENCIES, - [ - 'testOne' => 1, - 'testTwo' => 1, - 'testThree' => 1, - 'testFour' => 1, - 'testFive' => 1, - ], - [ - \MultiDependencyTest::class . '::testOne', - \MultiDependencyTest::class . '::testTwo', - \MultiDependencyTest::class . '::testThree', - \MultiDependencyTest::class . '::testFour', - \MultiDependencyTest::class . '::testFive', - ], - ], - 'duration-different-dependency-ignore' => [ - self::IGNORE_DEPENDENCIES, - [ - 'testOne' => 5, - 'testTwo' => 3, - 'testThree' => 4, - 'testFour' => 1, - 'testFive' => 2, - ], - [ - \MultiDependencyTest::class . '::testFour', - \MultiDependencyTest::class . '::testFive', - \MultiDependencyTest::class . '::testTwo', - \MultiDependencyTest::class . '::testThree', - \MultiDependencyTest::class . '::testOne', - ], - ], - 'duration-different-dependency-resolve' => [ - self::RESOLVE_DEPENDENCIES, - [ - 'testOne' => 5, - 'testTwo' => 3, - 'testThree' => 4, - 'testFour' => 1, - 'testFive' => 2, - ], - [ - \MultiDependencyTest::class . '::testFive', - \MultiDependencyTest::class . '::testTwo', - \MultiDependencyTest::class . '::testOne', - \MultiDependencyTest::class . '::testThree', - \MultiDependencyTest::class . '::testFour', - ], - ], - ]; - } - - /** - * @dataProvider defectsSorterOptionsProvider - */ - public function testSuiteSorterDefectsOptions(int $order, bool $resolveDependencies, array $runState, array $expected): void - { - $suite = new TestSuite; - $suite->addTestSuite(\MultiDependencyTest::class); - - $cache = new TestResultCache; - - foreach ($runState as $testName => $data) { - $cache->setState(\MultiDependencyTest::class . '::' . $testName, $data['state']); - $cache->setTime(\MultiDependencyTest::class . '::' . $testName, $data['time']); - } - - $sorter = new TestSuiteSorter($cache); - $sorter->reorderTestsInSuite($suite, $order, $resolveDependencies, TestSuiteSorter::ORDER_DEFECTS_FIRST); - - $this->assertSame($expected, $sorter->getExecutionOrder()); - } - - /** - * A @dataprovider for basic execution reordering options based on MultiDependencyTest - * This class has the following relevant properties: - * - it has five tests 'testOne' ... 'testFive' - * - 'testThree' @depends on both 'testOne' and 'testTwo' - * - 'testFour' @depends on 'MultiDependencyTest::testThree' to test FQN @depends - * - 'testFive' has no dependencies - */ - public function commonSorterOptionsProvider(): array - { - return [ - 'default' => [ - TestSuiteSorter::ORDER_DEFAULT, - self::IGNORE_DEPENDENCIES, - [ - \MultiDependencyTest::class . '::testOne', - \MultiDependencyTest::class . '::testTwo', - \MultiDependencyTest::class . '::testThree', - \MultiDependencyTest::class . '::testFour', - \MultiDependencyTest::class . '::testFive', - ], - ], - - // Activating dependency resolution should have no effect under normal circumstances - 'resolve default' => [ - TestSuiteSorter::ORDER_DEFAULT, - self::RESOLVE_DEPENDENCIES, - [ - \MultiDependencyTest::class . '::testOne', - \MultiDependencyTest::class . '::testTwo', - \MultiDependencyTest::class . '::testThree', - \MultiDependencyTest::class . '::testFour', - \MultiDependencyTest::class . '::testFive', - ], - ], - - // Reversing without checks should give a simple reverse order - 'reverse' => [ - TestSuiteSorter::ORDER_REVERSED, - self::IGNORE_DEPENDENCIES, - [ - \MultiDependencyTest::class . '::testFive', - \MultiDependencyTest::class . '::testFour', - \MultiDependencyTest::class . '::testThree', - \MultiDependencyTest::class . '::testTwo', - \MultiDependencyTest::class . '::testOne', - ], - ], - - // Reversing with resolution still allows testFive to move to front, testTwo before testOne - 'resolve reverse' => [ - TestSuiteSorter::ORDER_REVERSED, - self::RESOLVE_DEPENDENCIES, - [ - \MultiDependencyTest::class . '::testFive', - \MultiDependencyTest::class . '::testTwo', - \MultiDependencyTest::class . '::testOne', - \MultiDependencyTest::class . '::testThree', - \MultiDependencyTest::class . '::testFour', - ], - ], - ]; - } - - /** - * A @dataprovider for testing defects execution reordering options based on MultiDependencyTest - * This class has the following relevant properties: - * - it has five tests 'testOne' ... 'testFive' - * - 'testThree' @depends on both 'testOne' and 'testTwo' - * - 'testFour' @depends on 'MultiDependencyTest::testThree' to test FQN @depends - * - 'testFive' has no dependencies - */ - public function defectsSorterOptionsProvider(): array - { - return [ - // The most simple situation should work as normal - 'default, no defects' => [ - TestSuiteSorter::ORDER_DEFAULT, - self::IGNORE_DEPENDENCIES, - [ - 'testOne' => ['state' => BaseTestRunner::STATUS_PASSED, 'time' => 1], - 'testTwo' => ['state' => BaseTestRunner::STATUS_PASSED, 'time' => 1], - 'testThree' => ['state' => BaseTestRunner::STATUS_PASSED, 'time' => 1], - 'testFour' => ['state' => BaseTestRunner::STATUS_PASSED, 'time' => 1], - 'testFive' => ['state' => BaseTestRunner::STATUS_PASSED, 'time' => 1], - ], - [ - \MultiDependencyTest::class . '::testOne', - \MultiDependencyTest::class . '::testTwo', - \MultiDependencyTest::class . '::testThree', - \MultiDependencyTest::class . '::testFour', - \MultiDependencyTest::class . '::testFive', - ], - ], - - // Running with an empty cache should not spook the TestSuiteSorter - 'default, empty result cache' => [ - TestSuiteSorter::ORDER_DEFAULT, - self::IGNORE_DEPENDENCIES, - [ - // empty result cache - ], - [ - \MultiDependencyTest::class . '::testOne', - \MultiDependencyTest::class . '::testTwo', - \MultiDependencyTest::class . '::testThree', - \MultiDependencyTest::class . '::testFour', - \MultiDependencyTest::class . '::testFive', - ], - ], - - // testFive is independent and can be moved to the front - 'default, testFive skipped' => [ - TestSuiteSorter::ORDER_DEFAULT, - self::IGNORE_DEPENDENCIES, - [ - 'testOne' => ['state' => BaseTestRunner::STATUS_PASSED, 'time' => 1], - 'testTwo' => ['state' => BaseTestRunner::STATUS_PASSED, 'time' => 1], - 'testThree' => ['state' => BaseTestRunner::STATUS_PASSED, 'time' => 1], - 'testFour' => ['state' => BaseTestRunner::STATUS_PASSED, 'time' => 1], - 'testFive' => ['state' => BaseTestRunner::STATUS_SKIPPED, 'time' => 1], - ], - [ - \MultiDependencyTest::class . '::testFive', - \MultiDependencyTest::class . '::testOne', - \MultiDependencyTest::class . '::testTwo', - \MultiDependencyTest::class . '::testThree', - \MultiDependencyTest::class . '::testFour', - ], - ], - - // Defects in testFive and testTwo, but the faster testFive should be run first - 'default, testTwo testFive skipped' => [ - TestSuiteSorter::ORDER_DEFAULT, - self::IGNORE_DEPENDENCIES, - [ - 'testOne' => ['state' => BaseTestRunner::STATUS_PASSED, 'time' => 1], - 'testTwo' => ['state' => BaseTestRunner::STATUS_SKIPPED, 'time' => 1], - 'testThree' => ['state' => BaseTestRunner::STATUS_PASSED, 'time' => 1], - 'testFour' => ['state' => BaseTestRunner::STATUS_PASSED, 'time' => 1], - 'testFive' => ['state' => BaseTestRunner::STATUS_SKIPPED, 'time' => 0], - ], - [ - \MultiDependencyTest::class . '::testFive', - \MultiDependencyTest::class . '::testTwo', - \MultiDependencyTest::class . '::testOne', - \MultiDependencyTest::class . '::testThree', - \MultiDependencyTest::class . '::testFour', - ], - ], - - // Skipping testThree will move it to the front when ignoring dependencies - 'default, testThree skipped' => [ - TestSuiteSorter::ORDER_DEFAULT, - self::IGNORE_DEPENDENCIES, - [ - 'testOne' => ['state' => BaseTestRunner::STATUS_PASSED, 'time' => 1], - 'testTwo' => ['state' => BaseTestRunner::STATUS_PASSED, 'time' => 1], - 'testThree' => ['state' => BaseTestRunner::STATUS_SKIPPED, 'time' => 1], - 'testFour' => ['state' => BaseTestRunner::STATUS_PASSED, 'time' => 1], - 'testFive' => ['state' => BaseTestRunner::STATUS_PASSED, 'time' => 1], - ], - [ - \MultiDependencyTest::class . '::testThree', - \MultiDependencyTest::class . '::testOne', - \MultiDependencyTest::class . '::testTwo', - \MultiDependencyTest::class . '::testFour', - \MultiDependencyTest::class . '::testFive', - ], - ], - - // Skipping testThree will move it to the front but behind its dependencies - 'default resolve, testThree skipped' => [ - TestSuiteSorter::ORDER_DEFAULT, - self::RESOLVE_DEPENDENCIES, - [ - 'testOne' => ['state' => BaseTestRunner::STATUS_PASSED, 'time' => 1], - 'testTwo' => ['state' => BaseTestRunner::STATUS_PASSED, 'time' => 1], - 'testThree' => ['state' => BaseTestRunner::STATUS_SKIPPED, 'time' => 1], - 'testFour' => ['state' => BaseTestRunner::STATUS_PASSED, 'time' => 1], - 'testFive' => ['state' => BaseTestRunner::STATUS_PASSED, 'time' => 1], - ], - [ - \MultiDependencyTest::class . '::testOne', - \MultiDependencyTest::class . '::testTwo', - \MultiDependencyTest::class . '::testThree', - \MultiDependencyTest::class . '::testFour', - \MultiDependencyTest::class . '::testFive', - ], - ], - - // Skipping testThree will move it to the front and keep the others reversed - 'reverse, testThree skipped' => [ - TestSuiteSorter::ORDER_REVERSED, - self::IGNORE_DEPENDENCIES, - [ - 'testOne' => ['state' => BaseTestRunner::STATUS_PASSED, 'time' => 1], - 'testTwo' => ['state' => BaseTestRunner::STATUS_PASSED, 'time' => 1], - 'testThree' => ['state' => BaseTestRunner::STATUS_SKIPPED, 'time' => 1], - 'testFour' => ['state' => BaseTestRunner::STATUS_PASSED, 'time' => 1], - 'testFive' => ['state' => BaseTestRunner::STATUS_PASSED, 'time' => 1], - ], - [ - \MultiDependencyTest::class . '::testThree', - \MultiDependencyTest::class . '::testFive', - \MultiDependencyTest::class . '::testFour', - \MultiDependencyTest::class . '::testTwo', - \MultiDependencyTest::class . '::testOne', - ], - ], - - // Demonstrate a limit of the dependency resolver: after sorting defects to the front, - // the resolver will mark testFive done before testThree because of dependencies - 'default resolve, testThree skipped, testFive fast' => [ - TestSuiteSorter::ORDER_DEFAULT, - self::RESOLVE_DEPENDENCIES, - [ - 'testOne' => ['state' => BaseTestRunner::STATUS_PASSED, 'time' => 1], - 'testTwo' => ['state' => BaseTestRunner::STATUS_PASSED, 'time' => 1], - 'testThree' => ['state' => BaseTestRunner::STATUS_SKIPPED, 'time' => 0], - 'testFour' => ['state' => BaseTestRunner::STATUS_PASSED, 'time' => 1], - 'testFive' => ['state' => BaseTestRunner::STATUS_SKIPPED, 'time' => 1], - ], - [ - \MultiDependencyTest::class . '::testFive', - \MultiDependencyTest::class . '::testOne', - \MultiDependencyTest::class . '::testTwo', - \MultiDependencyTest::class . '::testThree', - \MultiDependencyTest::class . '::testFour', - ], - ], - - // Torture test - // - incomplete TestResultCache - // - skipped testThree: will move it to the front as far as possible - // - testOne and testTwo are required before testThree, but can be reversed locally - // - testFive is independent will remain reversed up front - 'reverse resolve, testThree skipped' => [ - TestSuiteSorter::ORDER_REVERSED, - self::RESOLVE_DEPENDENCIES, - [ - 'testOne' => ['state' => BaseTestRunner::STATUS_PASSED, 'time' => 1], - 'testTwo' => ['state' => BaseTestRunner::STATUS_PASSED, 'time' => 1], - 'testThree' => ['state' => BaseTestRunner::STATUS_SKIPPED, 'time' => 1], - ], - [ - \MultiDependencyTest::class . '::testFive', - \MultiDependencyTest::class . '::testTwo', - \MultiDependencyTest::class . '::testOne', - \MultiDependencyTest::class . '::testThree', - \MultiDependencyTest::class . '::testFour', - ], - ], - - // Make sure the dependency resolver is not confused by failing tests. - // Scenario: Four has a @depends on Three and fails. Result: Three is still run first - // testFive also fails but can be moved around freely and will be up front. - 'depends first, then defects' => [ - TestSuiteSorter::ORDER_DEFAULT, - self::RESOLVE_DEPENDENCIES, - [ - 'testOne' => ['state' => BaseTestRunner::STATUS_PASSED, 'time' => 1], - 'testTwo' => ['state' => BaseTestRunner::STATUS_PASSED, 'time' => 1], - 'testThree' => ['state' => BaseTestRunner::STATUS_PASSED, 'time' => 1], - 'testFour' => ['state' => BaseTestRunner::STATUS_FAILURE, 'time' => 1], - 'testFive' => ['state' => BaseTestRunner::STATUS_FAILURE, 'time' => 1], - ], - [ - \MultiDependencyTest::class . '::testFive', - \MultiDependencyTest::class . '::testOne', - \MultiDependencyTest::class . '::testTwo', - \MultiDependencyTest::class . '::testThree', - \MultiDependencyTest::class . '::testFour', - ], - ], - ]; - } - - /** - * @see https://github.com/lstrojny/phpunit-clever-and-smart/issues/38 - */ - public function testCanHandleSuiteWithEmptyTestCase(): void - { - $suite = new TestSuite; - $suite->addTestSuite(\EmptyTestCaseTest::class); - - $sorter = new TestSuiteSorter; - - $sorter->reorderTestsInSuite($suite, TestSuiteSorter::ORDER_DEFAULT, false, TestSuiteSorter::ORDER_DEFAULT); - - $this->assertSame(\EmptyTestCaseTest::class, $suite->tests()[0]->getName()); - $this->assertSame('No tests found in class "EmptyTestCaseTest".', $suite->tests()[0]->tests()[0]->getMessage()); - } - - public function suiteSorterOptionPermutationsProvider(): array - { - $orderValues = [TestSuiteSorter::ORDER_DEFAULT, TestSuiteSorter::ORDER_REVERSED, TestSuiteSorter::ORDER_RANDOMIZED]; - $resolveValues = [false, true]; - $orderDefectsValues = [TestSuiteSorter::ORDER_DEFAULT, TestSuiteSorter::ORDER_DEFECTS_FIRST]; - - $data = []; - - foreach ($orderValues as $order) { - foreach ($resolveValues as $resolve) { - foreach ($orderDefectsValues as $orderDefects) { - $data[] = [$order, $resolve, $orderDefects]; - } - } - } - - return $data; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/TextUI/TestRunnerTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/unit/TextUI/TestRunnerTest.php deleted file mode 100644 index e0fe862..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/TextUI/TestRunnerTest.php +++ /dev/null @@ -1,49 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\TextUI; - -use PHPUnit\Framework\TestCase; - -class TestRunnerTest extends TestCase -{ - public function testTestIsRunnable(): void - { - $runner = new TestRunner; - $runner->setPrinter($this->getResultPrinterMock()); - $runner->doRun(new \Success, ['filter' => 'foo'], false); - } - - public function testSuiteIsRunnable(): void - { - $runner = new TestRunner; - $runner->setPrinter($this->getResultPrinterMock()); - $runner->doRun($this->getSuiteMock(), ['filter' => 'foo'], false); - } - - /** - * @return \PHPUnit\TextUI\ResultPrinter - */ - private function getResultPrinterMock() - { - return $this->createMock(\PHPUnit\TextUI\ResultPrinter::class); - } - - /** - * @return \PHPUnit\Framework\TestSuite - */ - private function getSuiteMock() - { - $suite = $this->createMock(\PHPUnit\Framework\TestSuite::class); - $suite->expects($this->once())->method('injectFilter'); - $suite->expects($this->once())->method('run'); - - return $suite; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Util/ConfigurationGeneratorTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Util/ConfigurationGeneratorTest.php deleted file mode 100644 index 70f4073..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Util/ConfigurationGeneratorTest.php +++ /dev/null @@ -1,51 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Util; - -use PHPUnit\Framework\TestCase; - -class ConfigurationGeneratorTest extends TestCase -{ - public function testGeneratesConfigurationCorrectly(): void - { - $generator = new ConfigurationGenerator; - - $this->assertEquals( - ' - - - - tests - - - - - - src - - - -', - $generator->generateDefaultConfiguration( - 'X.Y.Z', - 'vendor/autoload.php', - 'tests', - 'src' - ) - ); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Util/ConfigurationTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Util/ConfigurationTest.php deleted file mode 100644 index 8e34e85..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Util/ConfigurationTest.php +++ /dev/null @@ -1,614 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Util; - -use PHPUnit\Framework\Exception; -use PHPUnit\Framework\TestCase; -use PHPUnit\Runner\TestSuiteSorter; -use PHPUnit\TextUI\ResultPrinter; - -class ConfigurationTest extends TestCase -{ - /** - * @var Configuration - */ - protected $configuration; - - protected function setUp(): void - { - $this->configuration = Configuration::getInstance( - TEST_FILES_PATH . 'configuration.xml' - ); - } - - public function testExceptionIsThrownForNotExistingConfigurationFile(): void - { - $this->expectException(Exception::class); - - Configuration::getInstance('not_existing_file.xml'); - } - - public function testShouldReadColorsWhenTrueInConfigurationFile(): void - { - $configurationFilename = TEST_FILES_PATH . 'configuration.colors.true.xml'; - $configurationInstance = Configuration::getInstance($configurationFilename); - $configurationValues = $configurationInstance->getPHPUnitConfiguration(); - - $this->assertEquals(ResultPrinter::COLOR_AUTO, $configurationValues['colors']); - } - - public function testShouldReadColorsWhenFalseInConfigurationFile(): void - { - $configurationFilename = TEST_FILES_PATH . 'configuration.colors.false.xml'; - $configurationInstance = Configuration::getInstance($configurationFilename); - $configurationValues = $configurationInstance->getPHPUnitConfiguration(); - - $this->assertEquals(ResultPrinter::COLOR_NEVER, $configurationValues['colors']); - } - - public function testShouldReadColorsWhenEmptyInConfigurationFile(): void - { - $configurationFilename = TEST_FILES_PATH . 'configuration.colors.empty.xml'; - $configurationInstance = Configuration::getInstance($configurationFilename); - $configurationValues = $configurationInstance->getPHPUnitConfiguration(); - - $this->assertEquals(ResultPrinter::COLOR_NEVER, $configurationValues['colors']); - } - - public function testShouldReadColorsWhenInvalidInConfigurationFile(): void - { - $configurationFilename = TEST_FILES_PATH . 'configuration.colors.invalid.xml'; - $configurationInstance = Configuration::getInstance($configurationFilename); - $configurationValues = $configurationInstance->getPHPUnitConfiguration(); - - $this->assertEquals(ResultPrinter::COLOR_NEVER, $configurationValues['colors']); - } - - public function testInvalidConfigurationGeneratesValidationErrors(): void - { - $configurationFilename = TEST_FILES_PATH . 'configuration.colors.invalid.xml'; - $configurationInstance = Configuration::getInstance($configurationFilename); - - $this->assertTrue($configurationInstance->hasValidationErrors()); - $this->assertArraySubset( - [1 => ["Element 'phpunit', attribute 'colors': 'Something else' is not a valid value of the atomic type 'xs:boolean'."]], - $configurationInstance->getValidationErrors() - ); - } - - public function testShouldUseDefaultValuesForInvalidIntegers(): void - { - $configurationFilename = TEST_FILES_PATH . 'configuration.columns.default.xml'; - $configurationInstance = Configuration::getInstance($configurationFilename); - $configurationValues = $configurationInstance->getPHPUnitConfiguration(); - - $this->assertEquals(80, $configurationValues['columns']); - } - - /** - * @dataProvider configurationRootOptionsProvider - * - * @group test-reorder - * - * @param bool|int|string $expected - */ - public function testShouldParseXmlConfigurationRootAttributes(string $optionName, string $optionValue, $expected): void - { - $tmpFilename = \sys_get_temp_dir() . \DIRECTORY_SEPARATOR . 'phpunit.' . $optionName . \uniqid() . '.xml'; - $xml = "" . \PHP_EOL; - \file_put_contents($tmpFilename, $xml); - - $configurationInstance = Configuration::getInstance($tmpFilename); - $this->assertFalse($configurationInstance->hasValidationErrors(), 'option causes validation error'); - - $configurationValues = $configurationInstance->getPHPUnitConfiguration(); - $this->assertEquals($expected, $configurationValues[$optionName]); - - @\unlink($tmpFilename); - } - - public function configurationRootOptionsProvider(): array - { - return [ - 'executionOrder default' => ['executionOrder', 'default', TestSuiteSorter::ORDER_DEFAULT], - 'executionOrder random' => ['executionOrder', 'random', TestSuiteSorter::ORDER_RANDOMIZED], - 'executionOrder reverse' => ['executionOrder', 'reverse', TestSuiteSorter::ORDER_REVERSED], - 'cacheResult false' => ['cacheResult', 'false', false], - 'cacheResult true' => ['cacheResult', 'true', true], - 'cacheResultFile absolute path' => ['cacheResultFile', '/path/to/result/cache', '/path/to/result/cache'], - 'columns' => ['columns', 'max', 'max'], - 'stopOnFailure' => ['stopOnFailure', 'true', true], - 'stopOnWarning' => ['stopOnWarning', 'true', true], - 'stopOnIncomplete' => ['stopOnIncomplete', 'true', true], - 'stopOnRisky' => ['stopOnRisky', 'true', true], - 'stopOnSkipped' => ['stopOnSkipped', 'true', true], - 'failOnWarning' => ['failOnWarning', 'true', true], - 'failOnRisky' => ['failOnRisky', 'true', true], - 'disableCodeCoverageIgnore' => ['disableCodeCoverageIgnore', 'true', true], - 'processIsolation' => ['processIsolation', 'true', true], - 'testSuiteLoaderFile absolute path' => ['testSuiteLoaderFile', '/path/to/file', '/path/to/file'], - 'reverseDefectList' => ['reverseDefectList', 'true', true], - 'registerMockObjectsFromTestArgumentsRecursively' => ['registerMockObjectsFromTestArgumentsRecursively', 'true', true], - ]; - } - - public function testShouldParseXmlConfigurationExecutionOrderCombined(): void - { - $tmpFilename = \sys_get_temp_dir() . \DIRECTORY_SEPARATOR . 'phpunit.' . \uniqid() . '.xml'; - $xml = "" . \PHP_EOL; - \file_put_contents($tmpFilename, $xml); - - $configurationInstance = Configuration::getInstance($tmpFilename); - $this->assertFalse($configurationInstance->hasValidationErrors(), 'option causes validation error'); - - $configurationValues = $configurationInstance->getPHPUnitConfiguration(); - $this->assertSame(TestSuiteSorter::ORDER_DEFECTS_FIRST, $configurationValues['executionOrderDefects']); - $this->assertSame(true, $configurationValues['resolveDependencies']); - - @\unlink($tmpFilename); - } - - public function testFilterConfigurationIsReadCorrectly(): void - { - $this->assertEquals( - [ - 'whitelist' => [ - 'addUncoveredFilesFromWhitelist' => true, - 'processUncoveredFilesFromWhitelist' => false, - 'include' => [ - 'directory' => [ - 0 => [ - 'path' => '/path/to/files', - 'prefix' => '', - 'suffix' => '.php', - 'group' => 'DEFAULT', - ], - ], - 'file' => [ - 0 => '/path/to/file', - 1 => '/path/to/file', - ], - ], - 'exclude' => [ - 'directory' => [ - 0 => [ - 'path' => '/path/to/files', - 'prefix' => '', - 'suffix' => '.php', - 'group' => 'DEFAULT', - ], - ], - 'file' => [ - 0 => '/path/to/file', - ], - ], - ], - ], - $this->configuration->getFilterConfiguration() - ); - } - - public function testGroupConfigurationIsReadCorrectly(): void - { - $this->assertEquals( - [ - 'include' => [ - 0 => 'name', - ], - 'exclude' => [ - 0 => 'name', - ], - ], - $this->configuration->getGroupConfiguration() - ); - } - - public function testTestdoxGroupConfigurationIsReadCorrectly(): void - { - $this->assertEquals( - [ - 'include' => [ - 0 => 'name', - ], - 'exclude' => [ - 0 => 'name', - ], - ], - $this->configuration->getTestdoxGroupConfiguration() - ); - } - - public function testListenerConfigurationIsReadCorrectly(): void - { - $dir = __DIR__; - $includePath = \ini_get('include_path'); - - \ini_set('include_path', $dir . \PATH_SEPARATOR . $includePath); - - $this->assertEquals( - [ - 0 => [ - 'class' => 'MyListener', - 'file' => '/optional/path/to/MyListener.php', - 'arguments' => [ - 0 => [ - 0 => 'Sebastian', - ], - 1 => 22, - 2 => 'April', - 3 => 19.78, - 4 => null, - 5 => new \stdClass, - 6 => TEST_FILES_PATH . 'MyTestFile.php', - 7 => TEST_FILES_PATH . 'MyRelativePath', - 8 => true, - ], - ], - [ - 'class' => 'IncludePathListener', - 'file' => __FILE__, - 'arguments' => [], - ], - [ - 'class' => 'CompactArgumentsListener', - 'file' => '/CompactArgumentsListener.php', - 'arguments' => [ - 0 => 42, - 1 => false, - ], - ], - ], - $this->configuration->getListenerConfiguration() - ); - - \ini_set('include_path', $includePath); - } - - public function testExtensionConfigurationIsReadCorrectly(): void - { - $dir = __DIR__; - $includePath = \ini_get('include_path'); - - \ini_set('include_path', $dir . \PATH_SEPARATOR . $includePath); - - $this->assertEquals( - [ - 0 => [ - 'class' => 'MyExtension', - 'file' => '/optional/path/to/MyExtension.php', - 'arguments' => [ - 0 => [ - 0 => 'Sebastian', - ], - 1 => 22, - 2 => 'April', - 3 => 19.78, - 4 => null, - 5 => new \stdClass, - 6 => TEST_FILES_PATH . 'MyTestFile.php', - 7 => TEST_FILES_PATH . 'MyRelativePath', - ], - ], - [ - 'class' => 'IncludePathExtension', - 'file' => __FILE__, - 'arguments' => [], - ], - [ - 'class' => 'CompactArgumentsExtension', - 'file' => '/CompactArgumentsExtension.php', - 'arguments' => [ - 0 => 42, - ], - ], - ], - $this->configuration->getExtensionConfiguration() - ); - - \ini_set('include_path', $includePath); - } - - public function testLoggingConfigurationIsReadCorrectly(): void - { - $this->assertEquals( - [ - 'lowUpperBound' => '50', - 'highLowerBound' => '90', - 'coverage-html' => '/tmp/report', - 'coverage-clover' => '/tmp/clover.xml', - 'coverage-crap4j' => '/tmp/crap4j.xml', - 'crap4jThreshold' => 50, - 'coverage-text' => '/tmp/coverage.txt', - 'coverageTextShowUncoveredFiles' => true, - 'coverageTextShowOnlySummary' => true, - 'json' => '/tmp/logfile.json', - 'plain' => '/tmp/logfile.txt', - 'tap' => '/tmp/logfile.tap', - 'junit' => '/tmp/logfile.xml', - 'testdox-html' => '/tmp/testdox.html', - 'testdox-text' => '/tmp/testdox.txt', - 'testdox-xml' => '/tmp/testdox.xml', - ], - $this->configuration->getLoggingConfiguration() - ); - } - - public function testPHPConfigurationIsReadCorrectly(): void - { - $this->assertEquals( - [ - 'include_path' => [ - TEST_FILES_PATH . '.', - '/path/to/lib', - ], - 'ini' => ['foo' => ['value' => 'bar'], 'highlight.keyword' => ['value' => '#123456'], 'highlight.string' => ['value' => 'TEST_FILES_PATH']], - 'const' => ['FOO' => ['value' => false], 'BAR' => ['value' => true]], - 'var' => ['foo' => ['value' => false]], - 'env' => ['foo' => ['value' => true], 'bar' => ['value' => 'true', 'verbatim' => true], 'foo_force' => ['value' => 'forced', 'force' => true]], - 'post' => ['foo' => ['value' => 'bar']], - 'get' => ['foo' => ['value' => 'bar']], - 'cookie' => ['foo' => ['value' => 'bar']], - 'server' => ['foo' => ['value' => 'bar']], - 'files' => ['foo' => ['value' => 'bar']], - 'request'=> ['foo' => ['value' => 'bar']], - ], - $this->configuration->getPHPConfiguration() - ); - } - - /** - * @backupGlobals enabled - */ - public function testPHPConfigurationIsHandledCorrectly(): void - { - $savedIniHighlightKeyword = \ini_get('highlight.keyword'); - $savedIniHighlightString = \ini_get('highlight.string'); - - $this->configuration->handlePHPConfiguration(); - - $path = TEST_FILES_PATH . '.' . \PATH_SEPARATOR . '/path/to/lib'; - $this->assertStringStartsWith($path, \ini_get('include_path')); - $this->assertEquals('#123456', \ini_get('highlight.keyword')); - $this->assertEquals(TEST_FILES_PATH, \ini_get('highlight.string')); - $this->assertFalse(\FOO); - $this->assertTrue(\BAR); - $this->assertFalse($GLOBALS['foo']); - $this->assertTrue((bool) $_ENV['foo']); - $this->assertEquals(1, \getenv('foo')); - $this->assertEquals('bar', $_POST['foo']); - $this->assertEquals('bar', $_GET['foo']); - $this->assertEquals('bar', $_COOKIE['foo']); - $this->assertEquals('bar', $_SERVER['foo']); - $this->assertEquals('bar', $_FILES['foo']); - $this->assertEquals('bar', $_REQUEST['foo']); - - \ini_set('highlight.keyword', $savedIniHighlightKeyword); - \ini_set('highlight.string', $savedIniHighlightString); - } - - /** - * @backupGlobals enabled - * - * @see https://github.com/sebastianbergmann/phpunit/issues/1181 - */ - public function testHandlePHPConfigurationDoesNotOverwrittenExistingEnvArrayVariables(): void - { - $_ENV['foo'] = false; - $this->configuration->handlePHPConfiguration(); - - $this->assertFalse($_ENV['foo']); - $this->assertEquals('forced', \getenv('foo_force')); - } - - /** - * @backupGlobals enabled - * - * @see https://github.com/sebastianbergmann/phpunit/issues/2353 - */ - public function testHandlePHPConfigurationDoesForceOverwrittenExistingEnvArrayVariables(): void - { - $_ENV['foo_force'] = false; - $this->configuration->handlePHPConfiguration(); - - $this->assertEquals('forced', $_ENV['foo_force']); - $this->assertEquals('forced', \getenv('foo_force')); - } - - /** - * @backupGlobals enabled - * - * @see https://github.com/sebastianbergmann/phpunit/issues/1181 - */ - public function testHandlePHPConfigurationDoesNotOverriteVariablesFromPutEnv(): void - { - $backupFoo = \getenv('foo'); - - \putenv('foo=putenv'); - $this->configuration->handlePHPConfiguration(); - - $this->assertEquals('putenv', $_ENV['foo']); - $this->assertEquals('putenv', \getenv('foo')); - - if ($backupFoo === false) { - \putenv('foo'); // delete variable from environment - } else { - \putenv("foo=$backupFoo"); - } - } - - /** - * @backupGlobals enabled - * - * @see https://github.com/sebastianbergmann/phpunit/issues/1181 - */ - public function testHandlePHPConfigurationDoesOverwriteVariablesFromPutEnvWhenForced(): void - { - \putenv('foo_force=putenv'); - $this->configuration->handlePHPConfiguration(); - - $this->assertEquals('forced', $_ENV['foo_force']); - $this->assertEquals('forced', \getenv('foo_force')); - } - - public function testPHPUnitConfigurationIsReadCorrectly(): void - { - $this->assertEquals( - [ - 'backupGlobals' => true, - 'backupStaticAttributes' => false, - 'beStrictAboutChangesToGlobalState' => false, - 'bootstrap' => '/path/to/bootstrap.php', - 'cacheTokens' => false, - 'columns' => 80, - 'colors' => 'never', - 'stderr' => false, - 'convertDeprecationsToExceptions' => true, - 'convertErrorsToExceptions' => true, - 'convertNoticesToExceptions' => true, - 'convertWarningsToExceptions' => true, - 'forceCoversAnnotation' => false, - 'stopOnFailure' => false, - 'stopOnWarning' => false, - 'reportUselessTests' => false, - 'strictCoverage' => false, - 'disallowTestOutput' => false, - 'defaultTimeLimit' => 123, - 'enforceTimeLimit' => false, - 'extensionsDirectory' => '/tmp', - 'printerClass' => 'PHPUnit\TextUI\ResultPrinter', - 'testSuiteLoaderClass' => 'PHPUnit\Runner\StandardTestSuiteLoader', - 'defaultTestSuite' => 'My Test Suite', - 'verbose' => false, - 'timeoutForSmallTests' => 1, - 'timeoutForMediumTests' => 10, - 'timeoutForLargeTests' => 60, - 'beStrictAboutResourceUsageDuringSmallTests' => false, - 'disallowTodoAnnotatedTests' => false, - 'failOnWarning' => false, - 'failOnRisky' => false, - 'ignoreDeprecatedCodeUnitsFromCodeCoverage' => false, - 'executionOrder' => TestSuiteSorter::ORDER_DEFAULT, - 'executionOrderDefects' => TestSuiteSorter::ORDER_DEFAULT, - 'resolveDependencies' => false, - ], - $this->configuration->getPHPUnitConfiguration() - ); - } - - public function testXincludeInConfiguration(): void - { - $configurationWithXinclude = Configuration::getInstance( - TEST_FILES_PATH . 'configuration_xinclude.xml' - ); - - $this->assertConfigurationEquals( - $this->configuration, - $configurationWithXinclude - ); - } - - /** - * @ticket 1311 - */ - public function testWithEmptyConfigurations(): void - { - $emptyConfiguration = Configuration::getInstance( - TEST_FILES_PATH . 'configuration_empty.xml' - ); - - $logging = $emptyConfiguration->getLoggingConfiguration(); - $this->assertEmpty($logging); - - $php = $emptyConfiguration->getPHPConfiguration(); - $this->assertEmpty($php['include_path']); - - $phpunit = $emptyConfiguration->getPHPUnitConfiguration(); - $this->assertArrayNotHasKey('bootstrap', $phpunit); - $this->assertArrayNotHasKey('testSuiteLoaderFile', $phpunit); - $this->assertArrayNotHasKey('printerFile', $phpunit); - - $suite = $emptyConfiguration->getTestSuiteConfiguration(); - $this->assertEmpty($suite->getGroups()); - - $filter = $emptyConfiguration->getFilterConfiguration(); - $this->assertEmpty($filter['whitelist']['include']['directory']); - $this->assertEmpty($filter['whitelist']['include']['file']); - $this->assertEmpty($filter['whitelist']['exclude']['directory']); - $this->assertEmpty($filter['whitelist']['exclude']['file']); - } - - public function testGetTestSuiteNamesReturnsTheNamesIfDefined(): void - { - $configuration = Configuration::getInstance( - TEST_FILES_PATH . 'configuration.suites.xml' - ); - - $names = $configuration->getTestSuiteNames(); - - $this->assertEquals(['Suite One', 'Suite Two'], $names); - } - - public function testTestSuiteConfigurationForASingleFileInASuite(): void - { - $configuration = Configuration::getInstance( - TEST_FILES_PATH . 'configuration.one-file-suite.xml' - ); - - $config = $configuration->getTestSuiteConfiguration(); - $tests = $config->tests(); - - $this->assertCount(1, $tests); - } - - /** - * Asserts that the values in $actualConfiguration equal $expectedConfiguration. - * - * @throws Exception - * @throws \PHPUnit\Framework\ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - protected function assertConfigurationEquals(Configuration $expectedConfiguration, Configuration $actualConfiguration): void - { - $this->assertEquals( - $expectedConfiguration->getFilterConfiguration(), - $actualConfiguration->getFilterConfiguration() - ); - - $this->assertEquals( - $expectedConfiguration->getGroupConfiguration(), - $actualConfiguration->getGroupConfiguration() - ); - - $this->assertEquals( - $expectedConfiguration->getListenerConfiguration(), - $actualConfiguration->getListenerConfiguration() - ); - - $this->assertEquals( - $expectedConfiguration->getLoggingConfiguration(), - $actualConfiguration->getLoggingConfiguration() - ); - - $this->assertEquals( - $expectedConfiguration->getPHPConfiguration(), - $actualConfiguration->getPHPConfiguration() - ); - - $this->assertEquals( - $expectedConfiguration->getPHPUnitConfiguration(), - $actualConfiguration->getPHPUnitConfiguration() - ); - - $this->assertEquals( - $expectedConfiguration->getTestSuiteConfiguration()->tests(), - $actualConfiguration->getTestSuiteConfiguration()->tests() - ); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Util/GetoptTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Util/GetoptTest.php deleted file mode 100644 index be9ae97..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Util/GetoptTest.php +++ /dev/null @@ -1,214 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Util; - -use PHPUnit\Framework\Exception; -use PHPUnit\Framework\TestCase; - -class GetoptTest extends TestCase -{ - public function testItIncludeTheLongOptionsAfterTheArgument(): void - { - $args = [ - 'command', - 'myArgument', - '--colors', - ]; - $actual = Getopt::getopt($args, '', ['colors==']); - - $expected = [ - [ - [ - '--colors', - null, - ], - ], - [ - 'myArgument', - ], - ]; - - $this->assertEquals($expected, $actual); - } - - public function testItIncludeTheShortOptionsAfterTheArgument(): void - { - $args = [ - 'command', - 'myArgument', - '-v', - ]; - $actual = Getopt::getopt($args, 'v'); - - $expected = [ - [ - [ - 'v', - null, - ], - ], - [ - 'myArgument', - ], - ]; - - $this->assertEquals($expected, $actual); - } - - public function testShortOptionUnrecognizedException(): void - { - $args = [ - 'command', - 'myArgument', - '-v', - ]; - - $this->expectException(Exception::class); - $this->expectExceptionMessage('unrecognized option -- v'); - - Getopt::getopt($args, ''); - } - - public function testShortOptionRequiresAnArgumentException(): void - { - $args = [ - 'command', - 'myArgument', - '-f', - ]; - - $this->expectException(Exception::class); - $this->expectExceptionMessage('option requires an argument -- f'); - - Getopt::getopt($args, 'f:'); - } - - public function testShortOptionHandleAnOptionalValue(): void - { - $args = [ - 'command', - 'myArgument', - '-f', - ]; - $actual = Getopt::getopt($args, 'f::'); - $expected = [ - [ - [ - 'f', - null, - ], - ], - [ - 'myArgument', - ], - ]; - $this->assertEquals($expected, $actual); - } - - public function testLongOptionIsAmbiguousException(): void - { - $args = [ - 'command', - '--col', - ]; - - $this->expectException(Exception::class); - $this->expectExceptionMessage('option --col is ambiguous'); - - Getopt::getopt($args, '', ['columns', 'colors']); - } - - public function testLongOptionUnrecognizedException(): void - { - // the exception 'unrecognized option --option' is not thrown - // if the there are not defined extended options - $args = [ - 'command', - '--foo', - ]; - - $this->expectException(Exception::class); - $this->expectExceptionMessage('unrecognized option --foo'); - - Getopt::getopt($args, '', ['colors']); - } - - public function testLongOptionRequiresAnArgumentException(): void - { - $args = [ - 'command', - '--foo', - ]; - - $this->expectException(Exception::class); - $this->expectExceptionMessage('option --foo requires an argument'); - - Getopt::getopt($args, '', ['foo=']); - } - - public function testLongOptionDoesNotAllowAnArgumentException(): void - { - $args = [ - 'command', - '--foo=bar', - ]; - - $this->expectException(Exception::class); - $this->expectExceptionMessage("option --foo doesn't allow an argument"); - - Getopt::getopt($args, '', ['foo']); - } - - public function testItHandlesLongParametesWithValues(): void - { - $command = 'command parameter-0 --exec parameter-1 --conf config.xml --optn parameter-2 --optn=content-of-o parameter-n'; - $args = \explode(' ', $command); - unset($args[0]); - $expected = [ - [ - ['--exec', null], - ['--conf', 'config.xml'], - ['--optn', null], - ['--optn', 'content-of-o'], - ], - [ - 'parameter-0', - 'parameter-1', - 'parameter-2', - 'parameter-n', - ], - ]; - $actual = Getopt::getopt($args, '', ['exec', 'conf=', 'optn==']); - $this->assertEquals($expected, $actual); - } - - public function testItHandlesShortParametesWithValues(): void - { - $command = 'command parameter-0 -x parameter-1 -c config.xml -o parameter-2 -ocontent-of-o parameter-n'; - $args = \explode(' ', $command); - unset($args[0]); - $expected = [ - [ - ['x', null], - ['c', 'config.xml'], - ['o', null], - ['o', 'content-of-o'], - ], - [ - 'parameter-0', - 'parameter-1', - 'parameter-2', - 'parameter-n', - ], - ]; - $actual = Getopt::getopt($args, 'xc:o::'); - $this->assertEquals($expected, $actual); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Util/GlobalStateTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Util/GlobalStateTest.php deleted file mode 100644 index aa01345..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Util/GlobalStateTest.php +++ /dev/null @@ -1,35 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Util; - -use PHPUnit\Framework\TestCase; - -class GlobalStateTest extends TestCase -{ - public function testIncludedFilesAsStringSkipsVfsProtocols(): void - { - $dir = __DIR__; - $files = [ - 'phpunit', // The 0 index is not used - $dir . '/ConfigurationTest.php', - $dir . '/GlobalStateTest.php', - 'vfs://' . $dir . '/RegexTest.php', - 'phpvfs53e46260465c7://' . $dir . '/TestTest.php', - 'file://' . $dir . '/XmlTest.php', - ]; - - $this->assertEquals( - "require_once '" . $dir . "/ConfigurationTest.php';\n" . - "require_once '" . $dir . "/GlobalStateTest.php';\n" . - "require_once 'file://" . $dir . "/XmlTest.php';\n", - GlobalState::processIncludedFilesAsString($files) - ); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Util/JsonTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Util/JsonTest.php deleted file mode 100644 index 3a437e6..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Util/JsonTest.php +++ /dev/null @@ -1,80 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Util; - -use PHPUnit\Framework\Exception; -use PHPUnit\Framework\TestCase; - -class JsonTest extends TestCase -{ - /** - * @dataProvider canonicalizeProvider - * - * @throws \PHPUnit\Framework\ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public function testCanonicalize($actual, $expected, $expectError): void - { - [$error, $canonicalized] = Json::canonicalize($actual); - $this->assertEquals($expectError, $error); - - if (!$expectError) { - $this->assertEquals($expected, $canonicalized); - } - } - - public function canonicalizeProvider(): array - { - return [ - ['{"name":"John","age":"35"}', '{"age":"35","name":"John"}', false], - ['{"name":"John","age":"35","kids":[{"name":"Petr","age":"5"}]}', '{"age":"35","kids":[{"age":"5","name":"Petr"}],"name":"John"}', false], - ['"name":"John","age":"35"}', '{"age":"35","name":"John"}', true], - ]; - } - - /** - * @dataProvider prettifyProvider - * - * @throws \PHPUnit\Framework\Exception - * @throws \PHPUnit\Framework\ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public function testPrettify($actual, $expected): void - { - $this->assertEquals($expected, Json::prettify($actual)); - } - - public function prettifyProvider(): array - { - return [ - ['{"name":"John","age": "5"}', "{\n \"name\": \"John\",\n \"age\": \"5\"\n}"], - ['{"url":"https://www.example.com/"}', "{\n \"url\": \"https://www.example.com/\"\n}"], - ]; - } - - /** - * @dataProvider prettifyExceptionProvider - */ - public function testPrettifyException($json): void - { - $this->expectException(Exception::class); - $this->expectExceptionMessage('Cannot prettify invalid json'); - - Json::prettify($json); - } - - public function prettifyExceptionProvider(): array - { - return [ - ['"name":"John","age": "5"}'], - [''], - ]; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Util/NullTestResultCacheTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Util/NullTestResultCacheTest.php deleted file mode 100644 index 93fc3c7..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Util/NullTestResultCacheTest.php +++ /dev/null @@ -1,28 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; -use PHPUnit\Runner\BaseTestRunner; -use PHPUnit\Runner\NullTestResultCache; - -/** - * @group test-reorder - */ -class NullTestResultCacheTest extends TestCase -{ - public function testHasWorkingStubs(): void - { - $cache = new NullTestResultCache; - $cache->load(); - $cache->persist(); - - $this->assertSame(BaseTestRunner::STATUS_UNKNOWN, $cache->getState('testName')); - $this->assertSame(0.0, $cache->getTime('testName')); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Util/PHP/AbstractPhpProcessTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Util/PHP/AbstractPhpProcessTest.php deleted file mode 100644 index 862d5ea..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Util/PHP/AbstractPhpProcessTest.php +++ /dev/null @@ -1,119 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Util\PHP; - -use PHPUnit\Framework\TestCase; - -class AbstractPhpProcessTest extends TestCase -{ - /** - * @var AbstractPhpProcess|\PHPUnit\Framework\MockObject\MockObject - */ - private $phpProcess; - - protected function setUp(): void - { - $this->phpProcess = $this->getMockForAbstractClass(AbstractPhpProcess::class); - } - - protected function tearDown(): void - { - $this->phpProcess = null; - } - - public function testShouldNotUseStderrRedirectionByDefault(): void - { - $this->assertFalse($this->phpProcess->useStderrRedirection()); - } - - public function testShouldDefinedIfUseStderrRedirection(): void - { - $this->phpProcess->setUseStderrRedirection(true); - - $this->assertTrue($this->phpProcess->useStderrRedirection()); - } - - public function testShouldDefinedIfDoNotUseStderrRedirection(): void - { - $this->phpProcess->setUseStderrRedirection(false); - - $this->assertFalse($this->phpProcess->useStderrRedirection()); - } - - public function testShouldUseGivenSettingsToCreateCommand(): void - { - $settings = [ - 'allow_url_fopen=1', - 'auto_append_file=', - 'display_errors=1', - ]; - - $expectedCommandFormat = '%s -d %callow_url_fopen=1%c -d %cauto_append_file=%c -d %cdisplay_errors=1%c%S'; - $actualCommand = $this->phpProcess->getCommand($settings); - - $this->assertStringMatchesFormat($expectedCommandFormat, $actualCommand); - } - - public function testShouldRedirectStderrToStdoutWhenDefined(): void - { - $this->phpProcess->setUseStderrRedirection(true); - - $expectedCommandFormat = '%s 2>&1'; - $actualCommand = $this->phpProcess->getCommand([]); - - $this->assertStringMatchesFormat($expectedCommandFormat, $actualCommand); - } - - public function testShouldUseArgsToCreateCommand(): void - { - $this->phpProcess->setArgs('foo=bar'); - - $expectedCommandFormat = '%s foo=bar'; - $actualCommand = $this->phpProcess->getCommand([]); - - $this->assertStringMatchesFormat($expectedCommandFormat, $actualCommand); - } - - public function testShouldHaveFileToCreateCommand(): void - { - $expectedCommandFormat = '%s %cfile.php%c'; - $actualCommand = $this->phpProcess->getCommand([], 'file.php'); - - $this->assertStringMatchesFormat($expectedCommandFormat, $actualCommand); - } - - public function testStdinGetterAndSetter(): void - { - $this->phpProcess->setStdin('foo'); - - $this->assertEquals('foo', $this->phpProcess->getStdin()); - } - - public function testArgsGetterAndSetter(): void - { - $this->phpProcess->setArgs('foo=bar'); - - $this->assertEquals('foo=bar', $this->phpProcess->getArgs()); - } - - public function testEnvGetterAndSetter(): void - { - $this->phpProcess->setEnv(['foo' => 'bar']); - - $this->assertEquals(['foo' => 'bar'], $this->phpProcess->getEnv()); - } - - public function testTimeoutGetterAndSetter(): void - { - $this->phpProcess->setTimeout(30); - - $this->assertEquals(30, $this->phpProcess->getTimeout()); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Util/RegularExpressionTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Util/RegularExpressionTest.php deleted file mode 100644 index 07bfe53..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Util/RegularExpressionTest.php +++ /dev/null @@ -1,56 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Util; - -use PHPUnit\Framework\TestCase; - -class RegularExpressionTest extends TestCase -{ - public function validRegexpProvider(): array - { - return [ - ['#valid regexp#', 'valid regexp', 1], - [';val.*xp;', 'valid regexp', 1], - ['/val.*xp/i', 'VALID REGEXP', 1], - ['/a val.*p/', 'valid regexp', 0], - ]; - } - - public function invalidRegexpProvider(): array - { - return [ - ['valid regexp', 'valid regexp'], - [';val.*xp', 'valid regexp'], - ['val.*xp/i', 'VALID REGEXP'], - ]; - } - - /** - * @dataProvider validRegexpProvider - * - * @throws \Exception - * @throws \PHPUnit\Framework\ExpectationFailedException - */ - public function testValidRegex($pattern, $subject, $return): void - { - $this->assertEquals($return, RegularExpression::safeMatch($pattern, $subject)); - } - - /** - * @dataProvider invalidRegexpProvider - * - * @throws \Exception - * @throws \PHPUnit\Framework\ExpectationFailedException - */ - public function testInvalidRegex($pattern, $subject): void - { - $this->assertFalse(RegularExpression::safeMatch($pattern, $subject)); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Util/TestDox/CliTestDoxPrinterTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Util/TestDox/CliTestDoxPrinterTest.php deleted file mode 100644 index 39b913d..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Util/TestDox/CliTestDoxPrinterTest.php +++ /dev/null @@ -1,209 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Util\TestDox; - -use Exception; -use PHPUnit\Framework\AssertionFailedError; -use PHPUnit\Framework\TestCase; -use PHPUnit\Framework\Warning; - -final class CliTestDoxPrinterTest extends TestCase -{ - /** - * @var TestableCliTestDoxPrinter - */ - private $printer; - - /** - * @var TestableCliTestDoxPrinter - */ - private $verbosePrinter; - - protected function setUp(): void - { - $this->printer = new TestableCliTestDoxPrinter; - $this->verbosePrinter = new TestableCliTestDoxPrinter(null, true); - } - - protected function tearDown(): void - { - $this->printer = null; - $this->verbosePrinter = null; - } - - public function testPrintsTheClassNameOfTheTestClass(): void - { - $this->printer->startTest($this); - $this->printer->endTest($this, 0); - - $this->assertStringStartsWith('PHPUnit\Util\TestDox\CliTestDoxPrinter', $this->printer->getBuffer()); - } - - public function testPrintsThePrettifiedMethodName(): void - { - $this->printer->startTest($this); - $this->printer->endTest($this, 0.001); - - $this->assertContains('Prints the prettified method name', $this->printer->getBuffer()); - } - - public function testPrintsCheckMarkForSuccessfulTest(): void - { - $this->printer->startTest($this); - $this->printer->endTest($this, 0.001); - - $this->assertContains('✔', $this->printer->getBuffer()); - } - - public function testDoesNotPrintAdditionalInformationForSuccessfulTest(): void - { - $this->printer->startTest($this); - $this->printer->endTest($this, 0.001); - - $this->assertNotContains('│', $this->printer->getBuffer()); - } - - public function testPrintsCrossForTestWithError(): void - { - $this->printer->startTest($this); - $this->printer->addError($this, new Exception, 0); - $this->printer->endTest($this, 0.001); - - $this->assertContains('✘', $this->printer->getBuffer()); - } - - public function testPrintsAdditionalInformationForTestWithError(): void - { - $this->printer->startTest($this); - $this->printer->addError($this, new Exception, 0); - $this->printer->endTest($this, 0.001); - - $this->assertContains('│', $this->printer->getBuffer()); - } - - public function testPrintsCrossForTestWithWarning(): void - { - $this->printer->startTest($this); - $this->printer->addWarning($this, new Warning, 0); - $this->printer->endTest($this, 0.001); - - $this->assertContains('✘', $this->printer->getBuffer()); - } - - public function testPrintsAdditionalInformationForTestWithWarning(): void - { - $this->printer->startTest($this); - $this->printer->addWarning($this, new Warning, 0); - $this->printer->endTest($this, 0.001); - - $this->assertContains('│', $this->printer->getBuffer()); - } - - public function testPrintsCrossForTestWithFailure(): void - { - $this->printer->startTest($this); - $this->printer->addFailure($this, new AssertionFailedError, 0); - $this->printer->endTest($this, 0.001); - - $this->assertContains('✘', $this->printer->getBuffer()); - } - - public function testPrintsAdditionalInformationForTestWithFailure(): void - { - $this->printer->startTest($this); - $this->printer->addFailure($this, new AssertionFailedError, 0); - $this->printer->endTest($this, 0.001); - - $this->assertContains('│', $this->printer->getBuffer()); - } - - public function testPrintsEmptySetSymbolForTestWithFailure(): void - { - $this->printer->startTest($this); - $this->printer->addIncompleteTest($this, new Exception, 0); - $this->printer->endTest($this, 0.001); - - $this->assertContains('∅', $this->printer->getBuffer()); - } - - public function testDoesNotPrintAdditionalInformationForIncompleteTestByDefault(): void - { - $this->printer->startTest($this); - $this->printer->addIncompleteTest($this, new Exception, 0); - $this->printer->endTest($this, 0.001); - - $this->assertNotContains('│', $this->printer->getBuffer()); - } - - public function testPrintsAdditionalInformationForIncompleteTestInVerboseMode(): void - { - $this->verbosePrinter->startTest($this); - $this->verbosePrinter->addIncompleteTest($this, new Exception('E_X_C_E_P_T_I_O_N'), 0); - $this->verbosePrinter->endTest($this, 0.001); - - $this->assertContains('│', $this->verbosePrinter->getBuffer()); - $this->assertContains('E_X_C_E_P_T_I_O_N', $this->verbosePrinter->getBuffer()); - } - - public function testPrintsRadioactiveSymbolForRiskyTest(): void - { - $this->printer->startTest($this); - $this->printer->addRiskyTest($this, new Exception, 0); - $this->printer->endTest($this, 0.001); - - $this->assertContains('☢', $this->printer->getBuffer()); - } - - public function testDoesNotPrintAdditionalInformationForRiskyTestByDefault(): void - { - $this->printer->startTest($this); - $this->printer->addRiskyTest($this, new Exception, 0); - $this->printer->endTest($this, 0.001); - - $this->assertNotContains('│', $this->printer->getBuffer()); - } - - public function testPrintsAdditionalInformationForRiskyTestInVerboseMode(): void - { - $this->verbosePrinter->startTest($this); - $this->verbosePrinter->addRiskyTest($this, new Exception, 0); - $this->verbosePrinter->endTest($this, 0.001); - - $this->assertContains('│', $this->verbosePrinter->getBuffer()); - } - - public function testPrintsArrowForSkippedTest(): void - { - $this->printer->startTest($this); - $this->printer->addSkippedTest($this, new Exception, 0); - $this->printer->endTest($this, 0.001); - - $this->assertContains('→', $this->printer->getBuffer()); - } - - public function testDoesNotPrintAdditionalInformationForSkippedTestByDefault(): void - { - $this->printer->startTest($this); - $this->printer->addSkippedTest($this, new Exception, 0); - $this->printer->endTest($this, 0.001); - - $this->assertNotContains('│', $this->printer->getBuffer()); - } - - public function testPrintsAdditionalInformationForSkippedTestInVerboseMode(): void - { - $this->verbosePrinter->startTest($this); - $this->verbosePrinter->addSkippedTest($this, new Exception('S_K_I_P_P_E_D'), 0); - $this->verbosePrinter->endTest($this, 0.001); - - $this->assertContains('│', $this->verbosePrinter->getBuffer()); - $this->assertContains('S_K_I_P_P_E_D', $this->verbosePrinter->getBuffer()); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Util/TestDox/NamePrettifierTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Util/TestDox/NamePrettifierTest.php deleted file mode 100644 index a097047..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Util/TestDox/NamePrettifierTest.php +++ /dev/null @@ -1,172 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Util\TestDox; - -use PHPUnit\Framework\TestCase; - -class NamePrettifierTest extends TestCase -{ - /** - * @var NamePrettifier - */ - private $namePrettifier; - - protected function setUp(): void - { - $this->namePrettifier = new NamePrettifier; - } - - protected function tearDown(): void - { - $this->namePrettifier = null; - } - - public function testTitleHasSensibleDefaults(): void - { - $this->assertEquals('Foo', $this->namePrettifier->prettifyTestClass('FooTest')); - $this->assertEquals('Foo', $this->namePrettifier->prettifyTestClass('TestFoo')); - $this->assertEquals('Foo', $this->namePrettifier->prettifyTestClass('TestFooTest')); - $this->assertEquals('Foo', $this->namePrettifier->prettifyTestClass('Test\FooTest')); - $this->assertEquals('Foo', $this->namePrettifier->prettifyTestClass('Tests\FooTest')); - } - - public function testTestNameIsConvertedToASentence(): void - { - $this->assertEquals('This is a test', $this->namePrettifier->prettifyTestMethod('testThisIsATest')); - $this->assertEquals('This is a test', $this->namePrettifier->prettifyTestMethod('testThisIsATest2')); - $this->assertEquals('This is a test', $this->namePrettifier->prettifyTestMethod('this_is_a_test')); - $this->assertEquals('This is a test', $this->namePrettifier->prettifyTestMethod('test_this_is_a_test')); - $this->assertEquals('Foo for bar is 0', $this->namePrettifier->prettifyTestMethod('testFooForBarIs0')); - $this->assertEquals('Foo for baz is 1', $this->namePrettifier->prettifyTestMethod('testFooForBazIs1')); - $this->assertEquals('This has a 123 in its name', $this->namePrettifier->prettifyTestMethod('testThisHasA123InItsName')); - $this->assertEquals('', $this->namePrettifier->prettifyTestMethod('test')); - } - - /** - * @ticket 224 - */ - public function testTestNameIsNotGroupedWhenNotInSequence(): void - { - $this->assertEquals('Sets redirect header on 301', $this->namePrettifier->prettifyTestMethod('testSetsRedirectHeaderOn301')); - $this->assertEquals('Sets redirect header on 302', $this->namePrettifier->prettifyTestMethod('testSetsRedirectHeaderOn302')); - } - - public function testPhpDoxIgnoreDataKeys(): void - { - $test = new class extends TestCase { - public function __construct() - { - parent::__construct('testAddition', [ - 'augend' => 1, - 'addend' => 2, - 'result' => 3, - ]); - } - - public function testAddition(int $augend, int $addend, int $result): void - { - } - - public function getAnnotations(): array - { - return [ - 'method' => [ - 'testdox' => ['$augend + $addend = $result'], - ], - ]; - } - }; - - $this->assertEquals('1 + 2 = 3', $this->namePrettifier->prettifyTestCase($test)); - } - - public function testPhpDoxUsesDefaultValue(): void - { - $test = new class extends TestCase { - public function __construct() - { - parent::__construct('testAddition', []); - } - - public function testAddition(int $augend = 1, int $addend = 2, int $result = 3): void - { - } - - public function getAnnotations(): array - { - return [ - 'method' => [ - 'testdox' => ['$augend + $addend = $result'], - ], - ]; - } - }; - - $this->assertEquals('1 + 2 = 3', $this->namePrettifier->prettifyTestCase($test)); - } - - public function testPhpDoxArgumentExporting(): void - { - $test = new class extends TestCase { - public function __construct() - { - parent::__construct('testExport', [ - 'int' => 1234, - 'strInt' => '1234', - 'float' => 2.123, - 'strFloat' => '2.123', - 'string' => 'foo', - 'bool' => true, - 'null' => null, - ]); - } - - public function testExport($int, $strInt, $float, $strFloat, $string, $bool, $null): void - { - } - - public function getAnnotations(): array - { - return [ - 'method' => [ - 'testdox' => ['$int, $strInt, $float, $strFloat, $string, $bool, $null'], - ], - ]; - } - }; - - $this->assertEquals('1234, 1234, 2.123, 2.123, foo, true, NULL', $this->namePrettifier->prettifyTestCase($test)); - } - - public function testPhpDoxReplacesLongerVariablesFirst(): void - { - $test = new class extends TestCase { - public function __construct() - { - parent::__construct('testFoo', []); - } - - public function testFoo(int $a = 1, int $ab = 2, int $abc = 3): void - { - } - - public function getAnnotations(): array - { - return [ - 'method' => [ - 'testdox' => ['$a, "$a", $a$ab, $abc, $abcd, $ab'], - ], - ]; - } - }; - - $this->assertEquals('1, "1", 12, 3, $abcd, 2', $this->namePrettifier->prettifyTestCase($test)); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Util/TestResultCacheTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Util/TestResultCacheTest.php deleted file mode 100644 index 442a497..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Util/TestResultCacheTest.php +++ /dev/null @@ -1,95 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -use PHPUnit\Framework\TestCase; -use PHPUnit\Runner\BaseTestRunner; -use PHPUnit\Runner\TestResultCache; - -/** - * @group test-reorder - */ -class TestResultCacheTest extends TestCase -{ - public function testReadsCacheFromProvidedFilename(): void - { - $cacheFile = TEST_FILES_PATH . '/MultiDependencyTest_result_cache.txt'; - $cache = new TestResultCache($cacheFile); - $cache->load(); - - $this->assertSame(BaseTestRunner::STATUS_UNKNOWN, $cache->getState(\MultiDependencyTest::class . '::testOne')); - $this->assertSame(BaseTestRunner::STATUS_SKIPPED, $cache->getState(\MultiDependencyTest::class . '::testFive')); - } - - public function testDoesClearCacheBeforeLoad(): void - { - $cacheFile = TEST_FILES_PATH . '/MultiDependencyTest_result_cache.txt'; - $cache = new TestResultCache($cacheFile); - $cache->setState('someTest', BaseTestRunner::STATUS_FAILURE); - - $this->assertSame(BaseTestRunner::STATUS_UNKNOWN, $cache->getState(\MultiDependencyTest::class . '::testFive')); - - $cache->load(); - - $this->assertSame(BaseTestRunner::STATUS_UNKNOWN, $cache->getState(\MultiDependencyTest::class . '::someTest')); - $this->assertSame(BaseTestRunner::STATUS_SKIPPED, $cache->getState(\MultiDependencyTest::class . '::testFive')); - } - - public function testShouldNotSerializePassedTestsAsDefectButTimeIsStored(): void - { - $cache = new TestResultCache; - $cache->setState('testOne', BaseTestRunner::STATUS_PASSED); - $cache->setTime('testOne', 123); - - $data = \serialize($cache); - $this->assertSame('C:30:"PHPUnit\Runner\TestResultCache":64:{a:2:{s:7:"defects";a:0:{}s:5:"times";a:1:{s:7:"testOne";d:123;}}}', $data); - } - - public function testCanPersistCacheToFile(): void - { - // Create a cache with one result and store it - $cacheFile = \tempnam(\sys_get_temp_dir(), 'phpunit_'); - $cache = new TestResultCache($cacheFile); - $testName = 'test' . \uniqid(); - $cache->setState($testName, BaseTestRunner::STATUS_SKIPPED); - $cache->persist(); - unset($cache); - - // Load the cache we just created - $loadedCache = new TestResultCache($cacheFile); - $loadedCache->load(); - $this->assertSame(BaseTestRunner::STATUS_SKIPPED, $loadedCache->getState($testName)); - - // Clean up - \unlink($cacheFile); - } - - public function testShouldReturnEmptyCacheWhenFileDoesNotExist(): void - { - $cache = new TestResultCache('/a/wrong/path/file'); - $cache->load(); - - $this->assertTrue($this->isSerializedEmptyCache(\serialize($cache))); - } - - public function testShouldReturnEmptyCacheFromInvalidFile(): void - { - $cacheFile = \tempnam(\sys_get_temp_dir(), 'phpunit_'); - \file_put_contents($cacheFile, ''); - - $cache = new TestResultCache($cacheFile); - $cache->load(); - - $this->assertTrue($this->isSerializedEmptyCache(\serialize($cache))); - } - - public function isSerializedEmptyCache(string $data): bool - { - return $data === 'C:30:"PHPUnit\Runner\TestResultCache":44:{a:2:{s:7:"defects";a:0:{}s:5:"times";a:0:{}}}'; - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Util/TestTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Util/TestTest.php deleted file mode 100644 index c6675fb..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Util/TestTest.php +++ /dev/null @@ -1,1056 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Util; - -use PharIo\Version\VersionConstraint; -use PHPUnit\Framework\CodeCoverageException; -use PHPUnit\Framework\Exception; -use PHPUnit\Framework\TestCase; -use PHPUnit\Framework\Warning; - -class TestTest extends TestCase -{ - /** - * @todo Split up in separate tests - */ - public function testGetExpectedException(): void - { - $this->assertArraySubset( - ['class' => 'FooBarBaz', 'code' => null, 'message' => ''], - Test::getExpectedException(\ExceptionTest::class, 'testOne') - ); - - $this->assertArraySubset( - ['class' => 'Foo_Bar_Baz', 'code' => null, 'message' => ''], - Test::getExpectedException(\ExceptionTest::class, 'testTwo') - ); - - $this->assertArraySubset( - ['class' => 'Foo\Bar\Baz', 'code' => null, 'message' => ''], - Test::getExpectedException(\ExceptionTest::class, 'testThree') - ); - - $this->assertArraySubset( - ['class' => 'ã»ã’', 'code' => null, 'message' => ''], - Test::getExpectedException(\ExceptionTest::class, 'testFour') - ); - - $this->assertArraySubset( - ['class' => 'Class', 'code' => 1234, 'message' => 'Message'], - Test::getExpectedException(\ExceptionTest::class, 'testFive') - ); - - $this->assertArraySubset( - ['class' => 'Class', 'code' => 1234, 'message' => 'Message'], - Test::getExpectedException(\ExceptionTest::class, 'testSix') - ); - - $this->assertArraySubset( - ['class' => 'Class', 'code' => 'ExceptionCode', 'message' => 'Message'], - Test::getExpectedException(\ExceptionTest::class, 'testSeven') - ); - - $this->assertArraySubset( - ['class' => 'Class', 'code' => 0, 'message' => 'Message'], - Test::getExpectedException(\ExceptionTest::class, 'testEight') - ); - - $this->assertArraySubset( - ['class' => 'Class', 'code' => \ExceptionTest::ERROR_CODE, 'message' => \ExceptionTest::ERROR_MESSAGE], - Test::getExpectedException(\ExceptionTest::class, 'testNine') - ); - - $this->assertArraySubset( - ['class' => 'Class', 'code' => null, 'message' => ''], - Test::getExpectedException(\ExceptionTest::class, 'testSingleLine') - ); - - $this->assertArraySubset( - ['class' => 'Class', 'code' => \My\Space\ExceptionNamespaceTest::ERROR_CODE, 'message' => \My\Space\ExceptionNamespaceTest::ERROR_MESSAGE], - Test::getExpectedException(\My\Space\ExceptionNamespaceTest::class, 'testConstants') - ); - - // Ensure the Class::CONST expression is only evaluated when the constant really exists - $this->assertArraySubset( - ['class' => 'Class', 'code' => 'ExceptionTest::UNKNOWN_CODE_CONSTANT', 'message' => 'ExceptionTest::UNKNOWN_MESSAGE_CONSTANT'], - Test::getExpectedException(\ExceptionTest::class, 'testUnknownConstants') - ); - - $this->assertArraySubset( - ['class' => 'Class', 'code' => 'My\Space\ExceptionNamespaceTest::UNKNOWN_CODE_CONSTANT', 'message' => 'My\Space\ExceptionNamespaceTest::UNKNOWN_MESSAGE_CONSTANT'], - Test::getExpectedException(\My\Space\ExceptionNamespaceTest::class, 'testUnknownConstants') - ); - } - - public function testGetExpectedRegExp(): void - { - $this->assertArraySubset( - ['message_regex' => '#regex#'], - Test::getExpectedException(\ExceptionTest::class, 'testWithRegexMessage') - ); - - $this->assertArraySubset( - ['message_regex' => '#regex#'], - Test::getExpectedException(\ExceptionTest::class, 'testWithRegexMessageFromClassConstant') - ); - - $this->assertArraySubset( - ['message_regex' => 'ExceptionTest::UNKNOWN_MESSAGE_REGEX_CONSTANT'], - Test::getExpectedException(\ExceptionTest::class, 'testWithUnknowRegexMessageFromClassConstant') - ); - } - - /** - * @dataProvider requirementsProvider - * - * @throws Warning - * @throws \PHPUnit\Framework\ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public function testGetRequirements($test, $result): void - { - $this->assertEquals( - $result, - Test::getRequirements(\RequirementsTest::class, $test) - ); - } - - public function requirementsProvider(): array - { - return [ - ['testOne', []], - ['testTwo', ['PHPUnit' => ['version' => '1.0', 'operator' => '']]], - ['testThree', ['PHP' => ['version' => '2.0', 'operator' => '']]], - ['testFour', [ - 'PHPUnit' => ['version' => '2.0', 'operator' => ''], - 'PHP' => ['version' => '1.0', 'operator' => ''], - ]], - ['testFive', ['PHP' => ['version' => '5.4.0RC6', 'operator' => '']]], - ['testSix', ['PHP' => ['version' => '5.4.0-alpha1', 'operator' => '']]], - ['testSeven', ['PHP' => ['version' => '5.4.0beta2', 'operator' => '']]], - ['testEight', ['PHP' => ['version' => '5.4-dev', 'operator' => '']]], - ['testNine', ['functions' => ['testFunc']]], - ['testTen', ['extensions' => ['testExt']]], - ['testEleven', [ - 'OS' => 'SunOS', - 'OSFAMILY' => 'Solaris', - ]], - [ - 'testSpace', - [ - 'extensions' => ['spl'], - 'OS' => '.*', - ], - ], - [ - 'testAllPossibleRequirements', - [ - 'PHP' => ['version' => '99-dev', 'operator' => ''], - 'PHPUnit' => ['version' => '9-dev', 'operator' => ''], - 'OS' => 'DOESNOTEXIST', - 'functions' => [ - 'testFuncOne', - 'testFunc2', - ], - 'setting' => [ - 'not_a_setting' => 'Off', - ], - 'extensions' => [ - 'testExtOne', - 'testExt2', - 'testExtThree', - ], - 'extension_versions' => [ - 'testExtThree' => ['version' => '2.0', 'operator' => ''], - ], - ], - ], - ['testSpecificExtensionVersion', - [ - 'extension_versions' => ['testExt' => ['version' => '1.8.0', 'operator' => '']], - 'extensions' => ['testExt'], - ], - ], - ['testPHPVersionOperatorLessThan', - [ - 'PHP' => ['version' => '5.4', 'operator' => '<'], - ], - ], - ['testPHPVersionOperatorLessThanEquals', - [ - 'PHP' => ['version' => '5.4', 'operator' => '<='], - ], - ], - ['testPHPVersionOperatorGreaterThan', - [ - 'PHP' => ['version' => '99', 'operator' => '>'], - ], - ], - ['testPHPVersionOperatorGreaterThanEquals', - [ - 'PHP' => ['version' => '99', 'operator' => '>='], - ], - ], - ['testPHPVersionOperatorEquals', - [ - 'PHP' => ['version' => '5.4', 'operator' => '='], - ], - ], - ['testPHPVersionOperatorDoubleEquals', - [ - 'PHP' => ['version' => '5.4', 'operator' => '=='], - ], - ], - ['testPHPVersionOperatorBangEquals', - [ - 'PHP' => ['version' => '99', 'operator' => '!='], - ], - ], - ['testPHPVersionOperatorNotEquals', - [ - 'PHP' => ['version' => '99', 'operator' => '<>'], - ], - ], - ['testPHPVersionOperatorNoSpace', - [ - 'PHP' => ['version' => '99', 'operator' => '>='], - ], - ], - ['testPHPUnitVersionOperatorLessThan', - [ - 'PHPUnit' => ['version' => '1.0', 'operator' => '<'], - ], - ], - ['testPHPUnitVersionOperatorLessThanEquals', - [ - 'PHPUnit' => ['version' => '1.0', 'operator' => '<='], - ], - ], - ['testPHPUnitVersionOperatorGreaterThan', - [ - 'PHPUnit' => ['version' => '99', 'operator' => '>'], - ], - ], - ['testPHPUnitVersionOperatorGreaterThanEquals', - [ - 'PHPUnit' => ['version' => '99', 'operator' => '>='], - ], - ], - ['testPHPUnitVersionOperatorEquals', - [ - 'PHPUnit' => ['version' => '1.0', 'operator' => '='], - ], - ], - ['testPHPUnitVersionOperatorDoubleEquals', - [ - 'PHPUnit' => ['version' => '1.0', 'operator' => '=='], - ], - ], - ['testPHPUnitVersionOperatorBangEquals', - [ - 'PHPUnit' => ['version' => '99', 'operator' => '!='], - ], - ], - ['testPHPUnitVersionOperatorNotEquals', - [ - 'PHPUnit' => ['version' => '99', 'operator' => '<>'], - ], - ], - ['testPHPUnitVersionOperatorNoSpace', - [ - 'PHPUnit' => ['version' => '99', 'operator' => '>='], - ], - ], - ['testExtensionVersionOperatorLessThanEquals', - [ - 'extensions' => ['testExtOne'], - 'extension_versions' => ['testExtOne' => ['version' => '1.0', 'operator' => '<=']], - ], - ], - ['testExtensionVersionOperatorGreaterThan', - [ - 'extensions' => ['testExtOne'], - 'extension_versions' => ['testExtOne' => ['version' => '99', 'operator' => '>']], - ], - ], - ['testExtensionVersionOperatorGreaterThanEquals', - [ - 'extensions' => ['testExtOne'], - 'extension_versions' => ['testExtOne' => ['version' => '99', 'operator' => '>=']], - ], - ], - ['testExtensionVersionOperatorEquals', - [ - 'extensions' => ['testExtOne'], - 'extension_versions' => ['testExtOne' => ['version' => '1.0', 'operator' => '=']], - ], - ], - ['testExtensionVersionOperatorDoubleEquals', - [ - 'extensions' => ['testExtOne'], - 'extension_versions' => ['testExtOne' => ['version' => '1.0', 'operator' => '==']], - ], - ], - ['testExtensionVersionOperatorBangEquals', - [ - 'extensions' => ['testExtOne'], - 'extension_versions' => ['testExtOne' => ['version' => '99', 'operator' => '!=']], - ], - ], - ['testExtensionVersionOperatorNotEquals', - [ - 'extensions' => ['testExtOne'], - 'extension_versions' => ['testExtOne' => ['version' => '99', 'operator' => '<>']], - ], - ], - ['testExtensionVersionOperatorNoSpace', - [ - 'extensions' => ['testExtOne'], - 'extension_versions' => ['testExtOne' => ['version' => '99', 'operator' => '>=']], - ], - ], - ]; - } - - /** - * @dataProvider requirementsWithVersionConstraintsProvider - * - * @throws Exception - * @throws Warning - * @throws \PHPUnit\Framework\ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public function testGetRequirementsWithVersionConstraints($test, array $result): void - { - $requirements = Test::getRequirements(\RequirementsTest::class, $test); - - foreach ($result as $type => $expected_requirement) { - $this->assertArrayHasKey( - "{$type}_constraint", - $requirements - ); - $this->assertArrayHasKey( - 'constraint', - $requirements["{$type}_constraint"] - ); - $this->assertInstanceOf( - VersionConstraint::class, - $requirements["{$type}_constraint"]['constraint'] - ); - $this->assertSame( - $expected_requirement['constraint'], - $requirements["{$type}_constraint"]['constraint']->asString() - ); - } - } - - public function requirementsWithVersionConstraintsProvider(): array - { - return [ - [ - 'testVersionConstraintTildeMajor', - [ - 'PHP' => [ - 'constraint' => '~1.0', - ], - 'PHPUnit' => [ - 'constraint' => '~2.0', - ], - ], - ], - [ - 'testVersionConstraintCaretMajor', - [ - 'PHP' => [ - 'constraint' => '^1.0', - ], - 'PHPUnit' => [ - 'constraint' => '^2.0', - ], - ], - ], - [ - 'testVersionConstraintTildeMinor', - [ - 'PHP' => [ - 'constraint' => '~3.4.7', - ], - 'PHPUnit' => [ - 'constraint' => '~4.7.1', - ], - ], - ], - [ - 'testVersionConstraintCaretMinor', - [ - 'PHP' => [ - 'constraint' => '^7.0.17', - ], - 'PHPUnit' => [ - 'constraint' => '^4.7.1', - ], - ], - ], - [ - 'testVersionConstraintCaretOr', - [ - 'PHP' => [ - 'constraint' => '^5.6 || ^7.0', - ], - 'PHPUnit' => [ - 'constraint' => '^5.0 || ^6.0', - ], - ], - ], - [ - 'testVersionConstraintTildeOr', - [ - 'PHP' => [ - 'constraint' => '~5.6.22 || ~7.0.17', - ], - 'PHPUnit' => [ - 'constraint' => '^5.0.5 || ^6.0.6', - ], - ], - ], - [ - 'testVersionConstraintTildeOrCaret', - [ - 'PHP' => [ - 'constraint' => '~5.6.22 || ^7.0', - ], - 'PHPUnit' => [ - 'constraint' => '~5.6.22 || ^7.0', - ], - ], - ], - [ - 'testVersionConstraintCaretOrTilde', - [ - 'PHP' => [ - 'constraint' => '^5.6 || ~7.0.17', - ], - 'PHPUnit' => [ - 'constraint' => '^5.6 || ~7.0.17', - ], - ], - ], - [ - 'testVersionConstraintRegexpIgnoresWhitespace', - [ - 'PHP' => [ - 'constraint' => '~5.6.22 || ~7.0.17', - ], - 'PHPUnit' => [ - 'constraint' => '~5.6.22 || ~7.0.17', - ], - ], - ], - ]; - } - - /** - * @dataProvider requirementsWithInvalidVersionConstraintsThrowsExceptionProvider - * - * @throws Warning - */ - public function testGetRequirementsWithInvalidVersionConstraintsThrowsException($test): void - { - $this->expectException(Warning::class); - Test::getRequirements(\RequirementsTest::class, $test); - } - - public function requirementsWithInvalidVersionConstraintsThrowsExceptionProvider(): array - { - return [ - ['testVersionConstraintInvalidPhpConstraint'], - ['testVersionConstraintInvalidPhpUnitConstraint'], - ]; - } - - public function testGetRequirementsMergesClassAndMethodDocBlocks(): void - { - $expectedAnnotations = [ - 'PHP' => ['version' => '5.4', 'operator' => ''], - 'PHPUnit' => ['version' => '3.7', 'operator' => ''], - 'OS' => 'WINNT', - 'functions' => [ - 'testFuncClass', - 'testFuncMethod', - ], - 'extensions' => [ - 'testExtClass', - 'testExtMethod', - ], - ]; - - $this->assertEquals( - $expectedAnnotations, - Test::getRequirements(\RequirementsClassDocBlockTest::class, 'testMethod') - ); - } - - /** - * @dataProvider missingRequirementsProvider - * - * @throws Warning - * @throws \PHPUnit\Framework\ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public function testGetMissingRequirements($test, $result): void - { - $this->assertEquals( - $result, - Test::getMissingRequirements(\RequirementsTest::class, $test) - ); - } - - public function missingRequirementsProvider(): array - { - return [ - ['testOne', []], - ['testNine', ['Function testFunc is required.']], - ['testTen', ['Extension testExt is required.']], - ['testAlwaysSkip', ['PHPUnit >= 1111111 is required.']], - ['testAlwaysSkip2', ['PHP >= 9999999 is required.']], - ['testAlwaysSkip3', ['Operating system matching /DOESNOTEXIST/i is required.']], - ['testAllPossibleRequirements', [ - 'PHP >= 99-dev is required.', - 'PHPUnit >= 9-dev is required.', - 'Operating system matching /DOESNOTEXIST/i is required.', - 'Function testFuncOne is required.', - 'Function testFunc2 is required.', - 'Setting "not_a_setting" must be "Off".', - 'Extension testExtOne is required.', - 'Extension testExt2 is required.', - 'Extension testExtThree >= 2.0 is required.', - ]], - ['testPHPVersionOperatorLessThan', ['PHP < 5.4 is required.']], - ['testPHPVersionOperatorLessThanEquals', ['PHP <= 5.4 is required.']], - ['testPHPVersionOperatorGreaterThan', ['PHP > 99 is required.']], - ['testPHPVersionOperatorGreaterThanEquals', ['PHP >= 99 is required.']], - ['testPHPVersionOperatorNoSpace', ['PHP >= 99 is required.']], - ['testPHPVersionOperatorEquals', ['PHP = 5.4 is required.']], - ['testPHPVersionOperatorDoubleEquals', ['PHP == 5.4 is required.']], - ['testPHPUnitVersionOperatorLessThan', ['PHPUnit < 1.0 is required.']], - ['testPHPUnitVersionOperatorLessThanEquals', ['PHPUnit <= 1.0 is required.']], - ['testPHPUnitVersionOperatorGreaterThan', ['PHPUnit > 99 is required.']], - ['testPHPUnitVersionOperatorGreaterThanEquals', ['PHPUnit >= 99 is required.']], - ['testPHPUnitVersionOperatorEquals', ['PHPUnit = 1.0 is required.']], - ['testPHPUnitVersionOperatorDoubleEquals', ['PHPUnit == 1.0 is required.']], - ['testPHPUnitVersionOperatorNoSpace', ['PHPUnit >= 99 is required.']], - ['testExtensionVersionOperatorLessThan', ['Extension testExtOne < 1.0 is required.']], - ['testExtensionVersionOperatorLessThanEquals', ['Extension testExtOne <= 1.0 is required.']], - ['testExtensionVersionOperatorGreaterThan', ['Extension testExtOne > 99 is required.']], - ['testExtensionVersionOperatorGreaterThanEquals', ['Extension testExtOne >= 99 is required.']], - ['testExtensionVersionOperatorEquals', ['Extension testExtOne = 1.0 is required.']], - ['testExtensionVersionOperatorDoubleEquals', ['Extension testExtOne == 1.0 is required.']], - ['testExtensionVersionOperatorNoSpace', ['Extension testExtOne >= 99 is required.']], - ['testVersionConstraintTildeMajor', [ - 'PHP version does not match the required constraint ~1.0.', - 'PHPUnit version does not match the required constraint ~2.0.', - ]], - ['testVersionConstraintCaretMajor', [ - 'PHP version does not match the required constraint ^1.0.', - 'PHPUnit version does not match the required constraint ^2.0.', - ]], - ]; - } - - /** - * @todo This test does not really test functionality of \PHPUnit\Util\Test - */ - public function testGetProvidedDataRegEx(): void - { - $result = \preg_match(Test::REGEX_DATA_PROVIDER, '@dataProvider method', $matches); - $this->assertEquals(1, $result); - $this->assertEquals('method', $matches[1]); - - $result = \preg_match(Test::REGEX_DATA_PROVIDER, '@dataProvider class::method', $matches); - $this->assertEquals(1, $result); - $this->assertEquals('class::method', $matches[1]); - - $result = \preg_match(Test::REGEX_DATA_PROVIDER, '@dataProvider namespace\class::method', $matches); - $this->assertEquals(1, $result); - $this->assertEquals('namespace\class::method', $matches[1]); - - $result = \preg_match(Test::REGEX_DATA_PROVIDER, '@dataProvider namespace\namespace\class::method', $matches); - $this->assertEquals(1, $result); - $this->assertEquals('namespace\namespace\class::method', $matches[1]); - - $result = \preg_match(Test::REGEX_DATA_PROVIDER, '@dataProvider メソッド', $matches); - $this->assertEquals(1, $result); - $this->assertEquals('メソッド', $matches[1]); - } - - /** - * Check if all data providers are being merged. - */ - public function testMultipleDataProviders(): void - { - $dataSets = Test::getProvidedData(\MultipleDataProviderTest::class, 'testOne'); - - $this->assertCount(9, $dataSets); - - $aCount = 0; - $bCount = 0; - $cCount = 0; - - for ($i = 0; $i < 9; $i++) { - $aCount += $dataSets[$i][0] != null ? 1 : 0; - $bCount += $dataSets[$i][1] != null ? 1 : 0; - $cCount += $dataSets[$i][2] != null ? 1 : 0; - } - - $this->assertEquals(3, $aCount); - $this->assertEquals(3, $bCount); - $this->assertEquals(3, $cCount); - } - - public function testMultipleYieldIteratorDataProviders(): void - { - $dataSets = Test::getProvidedData(\MultipleDataProviderTest::class, 'testTwo'); - - $this->assertCount(9, $dataSets); - - $aCount = 0; - $bCount = 0; - $cCount = 0; - - for ($i = 0; $i < 9; $i++) { - $aCount += $dataSets[$i][0] != null ? 1 : 0; - $bCount += $dataSets[$i][1] != null ? 1 : 0; - $cCount += $dataSets[$i][2] != null ? 1 : 0; - } - - $this->assertEquals(3, $aCount); - $this->assertEquals(3, $bCount); - $this->assertEquals(3, $cCount); - } - - public function testWithVariousIterableDataProviders(): void - { - $dataSets = Test::getProvidedData(\VariousIterableDataProviderTest::class, 'test'); - - $this->assertEquals([ - ['A'], - ['B'], - ['C'], - ['D'], - ['E'], - ['F'], - ['G'], - ['H'], - ['I'], - ], $dataSets); - } - - public function testTestWithEmptyAnnotation(): void - { - $result = Test::getDataFromTestWithAnnotation("/**\n * @anotherAnnotation\n */"); - $this->assertNull($result); - } - - public function testTestWithSimpleCase(): void - { - $result = Test::getDataFromTestWithAnnotation('/** - * @testWith [1] - */'); - $this->assertEquals([[1]], $result); - } - - public function testTestWithMultiLineMultiParameterCase(): void - { - $result = Test::getDataFromTestWithAnnotation('/** - * @testWith [1, 2] - * [3, 4] - */'); - $this->assertEquals([[1, 2], [3, 4]], $result); - } - - public function testTestWithVariousTypes(): void - { - $result = Test::getDataFromTestWithAnnotation('/** - * @testWith ["ab"] - * [true] - * [null] - */'); - $this->assertEquals([['ab'], [true], [null]], $result); - } - - public function testTestWithAnnotationAfter(): void - { - $result = Test::getDataFromTestWithAnnotation('/** - * @testWith [1] - * [2] - * @annotation - */'); - $this->assertEquals([[1], [2]], $result); - } - - public function testTestWithSimpleTextAfter(): void - { - $result = Test::getDataFromTestWithAnnotation('/** - * @testWith [1] - * [2] - * blah blah - */'); - $this->assertEquals([[1], [2]], $result); - } - - public function testTestWithCharacterEscape(): void - { - $result = Test::getDataFromTestWithAnnotation('/** - * @testWith ["\"", "\""] - */'); - $this->assertEquals([['"', '"']], $result); - } - - public function testTestWithThrowsProperExceptionIfDatasetCannotBeParsed(): void - { - $this->expectException(Exception::class); - $this->expectExceptionMessageRegExp('/^The data set for the @testWith annotation cannot be parsed:/'); - - Test::getDataFromTestWithAnnotation('/** - * @testWith [s] - */'); - } - - public function testTestWithThrowsProperExceptionIfMultiLineDatasetCannotBeParsed(): void - { - $this->expectException(Exception::class); - $this->expectExceptionMessageRegExp('/^The data set for the @testWith annotation cannot be parsed:/'); - - Test::getDataFromTestWithAnnotation('/** - * @testWith ["valid"] - * [invalid] - */'); - } - - /** - * @todo Not sure what this test tests (name is misleading at least) - */ - public function testParseAnnotation(): void - { - $this->assertEquals( - ['Foo', 'ã»ã’'], - Test::getDependencies(\get_class($this), 'methodForTestParseAnnotation') - ); - } - - /** - * @depends Foo - * @depends ã»ã’ - * - * @todo Remove fixture from test class - */ - public function methodForTestParseAnnotation(): void - { - } - - public function testParseAnnotationThatIsOnlyOneLine(): void - { - $this->assertEquals( - ['Bar'], - Test::getDependencies(\get_class($this), 'methodForTestParseAnnotationThatIsOnlyOneLine') - ); - } - - /** @depends Bar */ - public function methodForTestParseAnnotationThatIsOnlyOneLine(): void - { - // TODO Remove fixture from test class - } - - /** - * @dataProvider getLinesToBeCoveredProvider - * - * @throws CodeCoverageException - * @throws \PHPUnit\Framework\ExpectationFailedException - * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException - */ - public function testGetLinesToBeCovered($test, $lines): void - { - if (\strpos($test, 'Namespace') === 0) { - $expected = [ - TEST_FILES_PATH . 'NamespaceCoveredClass.php' => $lines, - ]; - } elseif ($test === 'CoverageMethodNothingCoversMethod') { - $expected = false; - } elseif ($test === 'CoverageCoversOverridesCoversNothingTest') { - $expected = [TEST_FILES_PATH . 'CoveredClass.php' => $lines]; - } elseif ($test === 'CoverageNoneTest') { - $expected = []; - } elseif ($test === 'CoverageClassNothingTest') { - $expected = false; - } elseif ($test === 'CoverageMethodNothingTest') { - $expected = false; - } elseif ($test === 'CoverageFunctionTest') { - $expected = [ - TEST_FILES_PATH . 'CoveredFunction.php' => $lines, - ]; - } else { - $expected = [TEST_FILES_PATH . 'CoveredClass.php' => $lines]; - } - - $this->assertEquals( - $expected, - Test::getLinesToBeCovered( - $test, - 'testSomething' - ) - ); - } - - public function testGetLinesToBeCovered2(): void - { - $this->expectException(CodeCoverageException::class); - - Test::getLinesToBeCovered( - 'NotExistingCoveredElementTest', - 'testOne' - ); - } - - public function testGetLinesToBeCovered3(): void - { - $this->expectException(CodeCoverageException::class); - - Test::getLinesToBeCovered( - 'NotExistingCoveredElementTest', - 'testTwo' - ); - } - - public function testGetLinesToBeCovered4(): void - { - $this->expectException(CodeCoverageException::class); - - Test::getLinesToBeCovered( - 'NotExistingCoveredElementTest', - 'testThree' - ); - } - - public function testGetLinesToBeCoveredSkipsNonExistentMethods(): void - { - $this->assertSame( - [], - Test::getLinesToBeCovered( - 'NotExistingCoveredElementTest', - 'methodDoesNotExist' - ) - ); - } - - public function testTwoCoversDefaultClassAnnotationsAreNotAllowed(): void - { - $this->expectException(CodeCoverageException::class); - - Test::getLinesToBeCovered( - 'CoverageTwoDefaultClassAnnotations', - 'testSomething' - ); - } - - public function testFunctionParenthesesAreAllowed(): void - { - $this->assertSame( - [TEST_FILES_PATH . 'CoveredFunction.php' => \range(10, 12)], - Test::getLinesToBeCovered( - 'CoverageFunctionParenthesesTest', - 'testSomething' - ) - ); - } - - public function testFunctionParenthesesAreAllowedWithWhitespace(): void - { - $this->assertSame( - [TEST_FILES_PATH . 'CoveredFunction.php' => \range(10, 12)], - Test::getLinesToBeCovered( - 'CoverageFunctionParenthesesWhitespaceTest', - 'testSomething' - ) - ); - } - - public function testMethodParenthesesAreAllowed(): void - { - $this->assertSame( - [TEST_FILES_PATH . 'CoveredClass.php' => \range(29, 33)], - Test::getLinesToBeCovered( - 'CoverageMethodParenthesesTest', - 'testSomething' - ) - ); - } - - public function testMethodParenthesesAreAllowedWithWhitespace(): void - { - $this->assertSame( - [TEST_FILES_PATH . 'CoveredClass.php' => \range(29, 33)], - Test::getLinesToBeCovered( - 'CoverageMethodParenthesesWhitespaceTest', - 'testSomething' - ) - ); - } - - public function testNamespacedFunctionCanBeCoveredOrUsed(): void - { - $this->assertEquals( - [ - TEST_FILES_PATH . 'NamespaceCoveredFunction.php' => \range(12, 15), - ], - Test::getLinesToBeCovered( - \CoverageNamespacedFunctionTest::class, - 'testFunc' - ) - ); - } - - public function getLinesToBeCoveredProvider(): array - { - return [ - [ - 'CoverageNoneTest', - [], - ], - [ - 'CoverageClassExtendedTest', - \array_merge(\range(27, 44), \range(10, 25)), - ], - [ - 'CoverageClassTest', - \range(27, 44), - ], - [ - 'CoverageMethodTest', - \range(29, 33), - ], - [ - 'CoverageMethodOneLineAnnotationTest', - \range(29, 33), - ], - [ - 'CoverageNotPrivateTest', - \array_merge(\range(29, 33), \range(35, 39)), - ], - [ - 'CoverageNotProtectedTest', - \array_merge(\range(29, 33), \range(41, 43)), - ], - [ - 'CoverageNotPublicTest', - \array_merge(\range(35, 39), \range(41, 43)), - ], - [ - 'CoveragePrivateTest', - \range(41, 43), - ], - [ - 'CoverageProtectedTest', - \range(35, 39), - ], - [ - 'CoveragePublicTest', - \range(29, 33), - ], - [ - 'CoverageFunctionTest', - \range(10, 12), - ], - [ - 'NamespaceCoverageClassExtendedTest', - \array_merge(\range(29, 46), \range(12, 27)), - ], - [ - 'NamespaceCoverageClassTest', - \range(29, 46), - ], - [ - 'NamespaceCoverageMethodTest', - \range(31, 35), - ], - [ - 'NamespaceCoverageNotPrivateTest', - \array_merge(\range(31, 35), \range(37, 41)), - ], - [ - 'NamespaceCoverageNotProtectedTest', - \array_merge(\range(31, 35), \range(43, 45)), - ], - [ - 'NamespaceCoverageNotPublicTest', - \array_merge(\range(37, 41), \range(43, 45)), - ], - [ - 'NamespaceCoveragePrivateTest', - \range(43, 45), - ], - [ - 'NamespaceCoverageProtectedTest', - \range(37, 41), - ], - [ - 'NamespaceCoveragePublicTest', - \range(31, 35), - ], - [ - 'NamespaceCoverageCoversClassTest', - \array_merge(\range(43, 45), \range(37, 41), \range(31, 35), \range(24, 26), \range(19, 22), \range(14, 17)), - ], - [ - 'NamespaceCoverageCoversClassPublicTest', - \range(31, 35), - ], - [ - 'CoverageClassNothingTest', - false, - ], - [ - 'CoverageMethodNothingTest', - false, - ], - [ - 'CoverageCoversOverridesCoversNothingTest', - \range(29, 33), - ], - [ - 'CoverageMethodNothingCoversMethod', - false, - ], - ]; - } - - public function testParseTestMethodAnnotationsIncorporatesTraits(): void - { - $result = Test::parseTestMethodAnnotations(\ParseTestMethodAnnotationsMock::class); - - $this->assertArrayHasKey('class', $result); - $this->assertArrayHasKey('method', $result); - $this->assertArrayHasKey('theClassAnnotation', $result['class']); - $this->assertArrayHasKey('theTraitAnnotation', $result['class']); - } - - public function testCoversAnnotationIncludesTraitsUsedByClass(): void - { - $this->assertSame( - [ - TEST_FILES_PATH . '3194.php' => \array_merge(\range(21, 29), \range(13, 19)), - ], - Test::getLinesToBeCovered( - \Test3194::class, - 'testOne' - ) - ); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Util/XDebugFilterScriptGeneratorTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Util/XDebugFilterScriptGeneratorTest.php deleted file mode 100644 index 41ddf80..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Util/XDebugFilterScriptGeneratorTest.php +++ /dev/null @@ -1,85 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Util; - -use PHPUnit\Framework\TestCase; - -class XDebugFilterScriptGeneratorTest extends TestCase -{ - /** - * @covers \PHPUnit\Util\XdebugFilterScriptGenerator::generate - */ - public function testReturnsExpectedScript(): void - { - $expectedDirectory = \sprintf('%s/', __DIR__); - $expected = <<assertDirectoryNotExists($directoryPathThatDoesNotExist); - - $filterConfiguration = [ - 'include' => [ - 'directory' => [ - [ - 'path' => __DIR__, - 'suffix' => '.php', - 'prefix' => '', - ], - [ - 'path' => \sprintf('%s/', __DIR__), - 'suffix' => '.php', - 'prefix' => '', - ], - [ - 'path' => \sprintf('%s/./%s', \dirname(__DIR__), \basename(__DIR__)), - 'suffix' => '.php', - 'prefix' => '', - ], - [ - 'path' => $directoryPathThatDoesNotExist, - 'suffix' => '.php', - 'prefix' => '', - ], - ], - 'file' => [ - 'src/foo.php', - 'src/bar.php', - ], - ], - 'exclude' => [ - 'directory' => [], - 'file' => [], - ], - ]; - - $writer = new XdebugFilterScriptGenerator; - $actual = $writer->generate($filterConfiguration); - - $this->assertSame($expected, $actual); - } -} diff --git a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Util/XmlTest.php b/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Util/XmlTest.php deleted file mode 100644 index 2163483..0000000 --- a/paragonik-backend/vendor/phpunit/phpunit/tests/unit/Util/XmlTest.php +++ /dev/null @@ -1,119 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace PHPUnit\Util; - -use PHPUnit\Framework\Exception; -use PHPUnit\Framework\TestCase; - -class XmlTest extends TestCase -{ - /** - * @dataProvider charProvider - */ - public function testPrepareString(string $char): void - { - $e = null; - - $escapedString = Xml::prepareString($char); - $xml = "$escapedString"; - $dom = new \DOMDocument('1.0', 'UTF-8'); - - try { - $dom->loadXML($xml); - } catch (Exception $e) { - } - - $this->assertNull( - $e, - \sprintf( - '\PHPUnit\Util\Xml::prepareString("\x%02x") should not crash DomDocument', - \ord($char) - ) - ); - } - - public function charProvider(): array - { - $data = []; - - for ($i = 0; $i < 256; $i++) { - $data[] = [\chr($i)]; - } - - return $data; - } - - public function testLoadEmptyString(): void - { - $this->expectException(Exception::class); - $this->expectExceptionMessage('Could not load XML from empty string'); - - Xml::load(''); - } - - public function testLoadArray(): void - { - $this->expectException(Exception::class); - $this->expectExceptionMessage('Could not load XML from array'); - - Xml::load([1, 2, 3]); - } - - public function testLoadBoolean(): void - { - $this->expectException(Exception::class); - $this->expectExceptionMessage('Could not load XML from boolean'); - - Xml::load(false); - } - - public function testNestedXmlToVariable(): void - { - $xml = 'foobar'; - $dom = new \DOMDocument; - $dom->loadXML($xml); - - $expected = [ - 'a' => [ - 'b' => 'foo', - ], - 'c' => 'bar', - ]; - - $actual = Xml::xmlToVariable($dom->documentElement); - - $this->assertSame($expected, $actual); - } - - public function testXmlToVariableCanHandleMultipleOfTheSameArgumentType(): void - { - $xml = 'abc'; - $dom = new \DOMDocument; - $dom->loadXML($xml); - - $expected = ['a' => 'a', 'b' => 'b', 'c' => 'c']; - - $actual = Xml::xmlToVariable($dom->documentElement); - - $this->assertSame($expected, (array) $actual); - } - - public function testXmlToVariableCanConstructObjectsWithConstructorArgumentsRecursively(): void - { - $xml = 'one0two'; - $dom = new \DOMDocument; - $dom->loadXML($xml); - - $actual = Xml::xmlToVariable($dom->documentElement); - - $this->assertEquals('one', $actual->getMessage()); - $this->assertEquals('two', $actual->getPrevious()->getMessage()); - } -} diff --git a/paragonik-backend/vendor/psr/container/.gitignore b/paragonik-backend/vendor/psr/container/.gitignore deleted file mode 100644 index b2395aa..0000000 --- a/paragonik-backend/vendor/psr/container/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -composer.lock -composer.phar -/vendor/ diff --git a/paragonik-backend/vendor/psr/container/LICENSE b/paragonik-backend/vendor/psr/container/LICENSE deleted file mode 100644 index 2877a48..0000000 --- a/paragonik-backend/vendor/psr/container/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2013-2016 container-interop -Copyright (c) 2016 PHP Framework Interoperability Group - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/paragonik-backend/vendor/psr/container/README.md b/paragonik-backend/vendor/psr/container/README.md deleted file mode 100644 index 084f6df..0000000 --- a/paragonik-backend/vendor/psr/container/README.md +++ /dev/null @@ -1,5 +0,0 @@ -# PSR Container - -This repository holds all interfaces/classes/traits related to [PSR-11](https://github.com/container-interop/fig-standards/blob/master/proposed/container.md). - -Note that this is not a container implementation of its own. See the specification for more details. diff --git a/paragonik-backend/vendor/psr/container/composer.json b/paragonik-backend/vendor/psr/container/composer.json deleted file mode 100644 index b8ee012..0000000 --- a/paragonik-backend/vendor/psr/container/composer.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "name": "psr/container", - "type": "library", - "description": "Common Container Interface (PHP FIG PSR-11)", - "keywords": ["psr", "psr-11", "container", "container-interop", "container-interface"], - "homepage": "https://github.com/php-fig/container", - "license": "MIT", - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "require": { - "php": ">=5.3.0" - }, - "autoload": { - "psr-4": { - "Psr\\Container\\": "src/" - } - }, - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - } -} diff --git a/paragonik-backend/vendor/psr/container/src/ContainerExceptionInterface.php b/paragonik-backend/vendor/psr/container/src/ContainerExceptionInterface.php deleted file mode 100644 index d35c6b4..0000000 --- a/paragonik-backend/vendor/psr/container/src/ContainerExceptionInterface.php +++ /dev/null @@ -1,13 +0,0 @@ -log(LogLevel::EMERGENCY, $message, $context); - } - - /** - * Action must be taken immediately. - * - * Example: Entire website down, database unavailable, etc. This should - * trigger the SMS alerts and wake you up. - * - * @param string $message - * @param array $context - * - * @return void - */ - public function alert($message, array $context = array()) - { - $this->log(LogLevel::ALERT, $message, $context); - } - - /** - * Critical conditions. - * - * Example: Application component unavailable, unexpected exception. - * - * @param string $message - * @param array $context - * - * @return void - */ - public function critical($message, array $context = array()) - { - $this->log(LogLevel::CRITICAL, $message, $context); - } - - /** - * Runtime errors that do not require immediate action but should typically - * be logged and monitored. - * - * @param string $message - * @param array $context - * - * @return void - */ - public function error($message, array $context = array()) - { - $this->log(LogLevel::ERROR, $message, $context); - } - - /** - * Exceptional occurrences that are not errors. - * - * Example: Use of deprecated APIs, poor use of an API, undesirable things - * that are not necessarily wrong. - * - * @param string $message - * @param array $context - * - * @return void - */ - public function warning($message, array $context = array()) - { - $this->log(LogLevel::WARNING, $message, $context); - } - - /** - * Normal but significant events. - * - * @param string $message - * @param array $context - * - * @return void - */ - public function notice($message, array $context = array()) - { - $this->log(LogLevel::NOTICE, $message, $context); - } - - /** - * Interesting events. - * - * Example: User logs in, SQL logs. - * - * @param string $message - * @param array $context - * - * @return void - */ - public function info($message, array $context = array()) - { - $this->log(LogLevel::INFO, $message, $context); - } - - /** - * Detailed debug information. - * - * @param string $message - * @param array $context - * - * @return void - */ - public function debug($message, array $context = array()) - { - $this->log(LogLevel::DEBUG, $message, $context); - } -} diff --git a/paragonik-backend/vendor/psr/log/Psr/Log/InvalidArgumentException.php b/paragonik-backend/vendor/psr/log/Psr/Log/InvalidArgumentException.php deleted file mode 100644 index 67f852d..0000000 --- a/paragonik-backend/vendor/psr/log/Psr/Log/InvalidArgumentException.php +++ /dev/null @@ -1,7 +0,0 @@ -logger = $logger; - } -} diff --git a/paragonik-backend/vendor/psr/log/Psr/Log/LoggerInterface.php b/paragonik-backend/vendor/psr/log/Psr/Log/LoggerInterface.php deleted file mode 100644 index e695046..0000000 --- a/paragonik-backend/vendor/psr/log/Psr/Log/LoggerInterface.php +++ /dev/null @@ -1,125 +0,0 @@ -log(LogLevel::EMERGENCY, $message, $context); - } - - /** - * Action must be taken immediately. - * - * Example: Entire website down, database unavailable, etc. This should - * trigger the SMS alerts and wake you up. - * - * @param string $message - * @param array $context - * - * @return void - */ - public function alert($message, array $context = array()) - { - $this->log(LogLevel::ALERT, $message, $context); - } - - /** - * Critical conditions. - * - * Example: Application component unavailable, unexpected exception. - * - * @param string $message - * @param array $context - * - * @return void - */ - public function critical($message, array $context = array()) - { - $this->log(LogLevel::CRITICAL, $message, $context); - } - - /** - * Runtime errors that do not require immediate action but should typically - * be logged and monitored. - * - * @param string $message - * @param array $context - * - * @return void - */ - public function error($message, array $context = array()) - { - $this->log(LogLevel::ERROR, $message, $context); - } - - /** - * Exceptional occurrences that are not errors. - * - * Example: Use of deprecated APIs, poor use of an API, undesirable things - * that are not necessarily wrong. - * - * @param string $message - * @param array $context - * - * @return void - */ - public function warning($message, array $context = array()) - { - $this->log(LogLevel::WARNING, $message, $context); - } - - /** - * Normal but significant events. - * - * @param string $message - * @param array $context - * - * @return void - */ - public function notice($message, array $context = array()) - { - $this->log(LogLevel::NOTICE, $message, $context); - } - - /** - * Interesting events. - * - * Example: User logs in, SQL logs. - * - * @param string $message - * @param array $context - * - * @return void - */ - public function info($message, array $context = array()) - { - $this->log(LogLevel::INFO, $message, $context); - } - - /** - * Detailed debug information. - * - * @param string $message - * @param array $context - * - * @return void - */ - public function debug($message, array $context = array()) - { - $this->log(LogLevel::DEBUG, $message, $context); - } - - /** - * Logs with an arbitrary level. - * - * @param mixed $level - * @param string $message - * @param array $context - * - * @return void - * - * @throws \Psr\Log\InvalidArgumentException - */ - abstract public function log($level, $message, array $context = array()); -} diff --git a/paragonik-backend/vendor/psr/log/Psr/Log/NullLogger.php b/paragonik-backend/vendor/psr/log/Psr/Log/NullLogger.php deleted file mode 100644 index c8f7293..0000000 --- a/paragonik-backend/vendor/psr/log/Psr/Log/NullLogger.php +++ /dev/null @@ -1,30 +0,0 @@ -logger) { }` - * blocks. - */ -class NullLogger extends AbstractLogger -{ - /** - * Logs with an arbitrary level. - * - * @param mixed $level - * @param string $message - * @param array $context - * - * @return void - * - * @throws \Psr\Log\InvalidArgumentException - */ - public function log($level, $message, array $context = array()) - { - // noop - } -} diff --git a/paragonik-backend/vendor/psr/log/Psr/Log/Test/LoggerInterfaceTest.php b/paragonik-backend/vendor/psr/log/Psr/Log/Test/LoggerInterfaceTest.php deleted file mode 100644 index 9ecb6c4..0000000 --- a/paragonik-backend/vendor/psr/log/Psr/Log/Test/LoggerInterfaceTest.php +++ /dev/null @@ -1,146 +0,0 @@ - ". - * - * Example ->error('Foo') would yield "error Foo". - * - * @return string[] - */ - abstract public function getLogs(); - - public function testImplements() - { - $this->assertInstanceOf('Psr\Log\LoggerInterface', $this->getLogger()); - } - - /** - * @dataProvider provideLevelsAndMessages - */ - public function testLogsAtAllLevels($level, $message) - { - $logger = $this->getLogger(); - $logger->{$level}($message, array('user' => 'Bob')); - $logger->log($level, $message, array('user' => 'Bob')); - - $expected = array( - $level.' message of level '.$level.' with context: Bob', - $level.' message of level '.$level.' with context: Bob', - ); - $this->assertEquals($expected, $this->getLogs()); - } - - public function provideLevelsAndMessages() - { - return array( - LogLevel::EMERGENCY => array(LogLevel::EMERGENCY, 'message of level emergency with context: {user}'), - LogLevel::ALERT => array(LogLevel::ALERT, 'message of level alert with context: {user}'), - LogLevel::CRITICAL => array(LogLevel::CRITICAL, 'message of level critical with context: {user}'), - LogLevel::ERROR => array(LogLevel::ERROR, 'message of level error with context: {user}'), - LogLevel::WARNING => array(LogLevel::WARNING, 'message of level warning with context: {user}'), - LogLevel::NOTICE => array(LogLevel::NOTICE, 'message of level notice with context: {user}'), - LogLevel::INFO => array(LogLevel::INFO, 'message of level info with context: {user}'), - LogLevel::DEBUG => array(LogLevel::DEBUG, 'message of level debug with context: {user}'), - ); - } - - /** - * @expectedException \Psr\Log\InvalidArgumentException - */ - public function testThrowsOnInvalidLevel() - { - $logger = $this->getLogger(); - $logger->log('invalid level', 'Foo'); - } - - public function testContextReplacement() - { - $logger = $this->getLogger(); - $logger->info('{Message {nothing} {user} {foo.bar} a}', array('user' => 'Bob', 'foo.bar' => 'Bar')); - - $expected = array('info {Message {nothing} Bob Bar a}'); - $this->assertEquals($expected, $this->getLogs()); - } - - public function testObjectCastToString() - { - if (method_exists($this, 'createPartialMock')) { - $dummy = $this->createPartialMock('Psr\Log\Test\DummyTest', array('__toString')); - } else { - $dummy = $this->getMock('Psr\Log\Test\DummyTest', array('__toString')); - } - $dummy->expects($this->once()) - ->method('__toString') - ->will($this->returnValue('DUMMY')); - - $this->getLogger()->warning($dummy); - - $expected = array('warning DUMMY'); - $this->assertEquals($expected, $this->getLogs()); - } - - public function testContextCanContainAnything() - { - $closed = fopen('php://memory', 'r'); - fclose($closed); - - $context = array( - 'bool' => true, - 'null' => null, - 'string' => 'Foo', - 'int' => 0, - 'float' => 0.5, - 'nested' => array('with object' => new DummyTest), - 'object' => new \DateTime, - 'resource' => fopen('php://memory', 'r'), - 'closed' => $closed, - ); - - $this->getLogger()->warning('Crazy context data', $context); - - $expected = array('warning Crazy context data'); - $this->assertEquals($expected, $this->getLogs()); - } - - public function testContextExceptionKeyCanBeExceptionOrOtherValues() - { - $logger = $this->getLogger(); - $logger->warning('Random message', array('exception' => 'oops')); - $logger->critical('Uncaught Exception!', array('exception' => new \LogicException('Fail'))); - - $expected = array( - 'warning Random message', - 'critical Uncaught Exception!' - ); - $this->assertEquals($expected, $this->getLogs()); - } -} - -class DummyTest -{ - public function __toString() - { - return 'DummyTest'; - } -} diff --git a/paragonik-backend/vendor/psr/log/Psr/Log/Test/TestLogger.php b/paragonik-backend/vendor/psr/log/Psr/Log/Test/TestLogger.php deleted file mode 100644 index 1be3230..0000000 --- a/paragonik-backend/vendor/psr/log/Psr/Log/Test/TestLogger.php +++ /dev/null @@ -1,147 +0,0 @@ - $level, - 'message' => $message, - 'context' => $context, - ]; - - $this->recordsByLevel[$record['level']][] = $record; - $this->records[] = $record; - } - - public function hasRecords($level) - { - return isset($this->recordsByLevel[$level]); - } - - public function hasRecord($record, $level) - { - if (is_string($record)) { - $record = ['message' => $record]; - } - return $this->hasRecordThatPasses(function ($rec) use ($record) { - if ($rec['message'] !== $record['message']) { - return false; - } - if (isset($record['context']) && $rec['context'] !== $record['context']) { - return false; - } - return true; - }, $level); - } - - public function hasRecordThatContains($message, $level) - { - return $this->hasRecordThatPasses(function ($rec) use ($message) { - return strpos($rec['message'], $message) !== false; - }, $level); - } - - public function hasRecordThatMatches($regex, $level) - { - return $this->hasRecordThatPasses(function ($rec) use ($regex) { - return preg_match($regex, $rec['message']) > 0; - }, $level); - } - - public function hasRecordThatPasses(callable $predicate, $level) - { - if (!isset($this->recordsByLevel[$level])) { - return false; - } - foreach ($this->recordsByLevel[$level] as $i => $rec) { - if (call_user_func($predicate, $rec, $i)) { - return true; - } - } - return false; - } - - public function __call($method, $args) - { - if (preg_match('/(.*)(Debug|Info|Notice|Warning|Error|Critical|Alert|Emergency)(.*)/', $method, $matches) > 0) { - $genericMethod = $matches[1] . ('Records' !== $matches[3] ? 'Record' : '') . $matches[3]; - $level = strtolower($matches[2]); - if (method_exists($this, $genericMethod)) { - $args[] = $level; - return call_user_func_array([$this, $genericMethod], $args); - } - } - throw new \BadMethodCallException('Call to undefined method ' . get_class($this) . '::' . $method . '()'); - } - - public function reset() - { - $this->records = []; - $this->recordsByLevel = []; - } -} diff --git a/paragonik-backend/vendor/psr/log/README.md b/paragonik-backend/vendor/psr/log/README.md deleted file mode 100644 index a9f20c4..0000000 --- a/paragonik-backend/vendor/psr/log/README.md +++ /dev/null @@ -1,58 +0,0 @@ -PSR Log -======= - -This repository holds all interfaces/classes/traits related to -[PSR-3](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-3-logger-interface.md). - -Note that this is not a logger of its own. It is merely an interface that -describes a logger. See the specification for more details. - -Installation ------------- - -```bash -composer require psr/log -``` - -Usage ------ - -If you need a logger, you can use the interface like this: - -```php -logger = $logger; - } - - public function doSomething() - { - if ($this->logger) { - $this->logger->info('Doing work'); - } - - try { - $this->doSomethingElse(); - } catch (Exception $exception) { - $this->logger->error('Oh no!', array('exception' => $exception)); - } - - // do something useful - } -} -``` - -You can then pick one of the implementations of the interface to get a logger. - -If you want to implement the interface, you can require this package and -implement `Psr\Log\LoggerInterface` in your code. Please read the -[specification text](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-3-logger-interface.md) -for details. diff --git a/paragonik-backend/vendor/psr/log/composer.json b/paragonik-backend/vendor/psr/log/composer.json deleted file mode 100644 index 3f6d4ee..0000000 --- a/paragonik-backend/vendor/psr/log/composer.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "name": "psr/log", - "description": "Common interface for logging libraries", - "keywords": ["psr", "psr-3", "log"], - "homepage": "https://github.com/php-fig/log", - "license": "MIT", - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "require": { - "php": ">=5.3.0" - }, - "autoload": { - "psr-4": { - "Psr\\Log\\": "Psr/Log/" - } - }, - "extra": { - "branch-alias": { - "dev-master": "1.1.x-dev" - } - } -} diff --git a/paragonik-backend/vendor/psr/simple-cache/.editorconfig b/paragonik-backend/vendor/psr/simple-cache/.editorconfig deleted file mode 100644 index 48542cb..0000000 --- a/paragonik-backend/vendor/psr/simple-cache/.editorconfig +++ /dev/null @@ -1,12 +0,0 @@ -; This file is for unifying the coding style for different editors and IDEs. -; More information at http://editorconfig.org - -root = true - -[*] -charset = utf-8 -indent_size = 4 -indent_style = space -end_of_line = lf -insert_final_newline = true -trim_trailing_whitespace = true diff --git a/paragonik-backend/vendor/psr/simple-cache/LICENSE.md b/paragonik-backend/vendor/psr/simple-cache/LICENSE.md deleted file mode 100644 index e49a7c8..0000000 --- a/paragonik-backend/vendor/psr/simple-cache/LICENSE.md +++ /dev/null @@ -1,21 +0,0 @@ -# The MIT License (MIT) - -Copyright (c) 2016 PHP Framework Interoperability Group - -> Permission is hereby granted, free of charge, to any person obtaining a copy -> of this software and associated documentation files (the "Software"), to deal -> in the Software without restriction, including without limitation the rights -> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -> copies of the Software, and to permit persons to whom the Software is -> furnished to do so, subject to the following conditions: -> -> The above copyright notice and this permission notice shall be included in -> all copies or substantial portions of the Software. -> -> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -> THE SOFTWARE. diff --git a/paragonik-backend/vendor/psr/simple-cache/README.md b/paragonik-backend/vendor/psr/simple-cache/README.md deleted file mode 100644 index 43641d1..0000000 --- a/paragonik-backend/vendor/psr/simple-cache/README.md +++ /dev/null @@ -1,8 +0,0 @@ -PHP FIG Simple Cache PSR -======================== - -This repository holds all interfaces related to PSR-16. - -Note that this is not a cache implementation of its own. It is merely an interface that describes a cache implementation. See [the specification](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-16-simple-cache.md) for more details. - -You can find implementations of the specification by looking for packages providing the [psr/simple-cache-implementation](https://packagist.org/providers/psr/simple-cache-implementation) virtual package. diff --git a/paragonik-backend/vendor/psr/simple-cache/composer.json b/paragonik-backend/vendor/psr/simple-cache/composer.json deleted file mode 100644 index 2978fa5..0000000 --- a/paragonik-backend/vendor/psr/simple-cache/composer.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "name": "psr/simple-cache", - "description": "Common interfaces for simple caching", - "keywords": ["psr", "psr-16", "cache", "simple-cache", "caching"], - "license": "MIT", - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "require": { - "php": ">=5.3.0" - }, - "autoload": { - "psr-4": { - "Psr\\SimpleCache\\": "src/" - } - }, - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - } -} diff --git a/paragonik-backend/vendor/psr/simple-cache/src/CacheException.php b/paragonik-backend/vendor/psr/simple-cache/src/CacheException.php deleted file mode 100644 index eba5381..0000000 --- a/paragonik-backend/vendor/psr/simple-cache/src/CacheException.php +++ /dev/null @@ -1,10 +0,0 @@ - value pairs. Cache keys that do not exist or are stale will have $default as value. - * - * @throws \Psr\SimpleCache\InvalidArgumentException - * MUST be thrown if $keys is neither an array nor a Traversable, - * or if any of the $keys are not a legal value. - */ - public function getMultiple($keys, $default = null); - - /** - * Persists a set of key => value pairs in the cache, with an optional TTL. - * - * @param iterable $values A list of key => value pairs for a multiple-set operation. - * @param null|int|\DateInterval $ttl Optional. The TTL value of this item. If no value is sent and - * the driver supports TTL then the library may set a default value - * for it or let the driver take care of that. - * - * @return bool True on success and false on failure. - * - * @throws \Psr\SimpleCache\InvalidArgumentException - * MUST be thrown if $values is neither an array nor a Traversable, - * or if any of the $values are not a legal value. - */ - public function setMultiple($values, $ttl = null); - - /** - * Deletes multiple cache items in a single operation. - * - * @param iterable $keys A list of string-based keys to be deleted. - * - * @return bool True if the items were successfully removed. False if there was an error. - * - * @throws \Psr\SimpleCache\InvalidArgumentException - * MUST be thrown if $keys is neither an array nor a Traversable, - * or if any of the $keys are not a legal value. - */ - public function deleteMultiple($keys); - - /** - * Determines whether an item is present in the cache. - * - * NOTE: It is recommended that has() is only to be used for cache warming type purposes - * and not to be used within your live applications operations for get/set, as this method - * is subject to a race condition where your has() will return true and immediately after, - * another script can remove it making the state of your app out of date. - * - * @param string $key The cache item key. - * - * @return bool - * - * @throws \Psr\SimpleCache\InvalidArgumentException - * MUST be thrown if the $key string is not a legal value. - */ - public function has($key); -} diff --git a/paragonik-backend/vendor/psr/simple-cache/src/InvalidArgumentException.php b/paragonik-backend/vendor/psr/simple-cache/src/InvalidArgumentException.php deleted file mode 100644 index 6a9524a..0000000 --- a/paragonik-backend/vendor/psr/simple-cache/src/InvalidArgumentException.php +++ /dev/null @@ -1,13 +0,0 @@ - [ - 'src/', - 'vendor/dnoegel/php-xdg-base-dir/src/', - 'vendor/doctrine/instantiator/src/', - 'vendor/hoa/console/', - 'vendor/jakub-onderka/php-console-color/src/', - 'vendor/jakub-onderka/php-console-highlighter/src/', - 'vendor/nikic/php-parser/lib/', - 'vendor/phpdocumentor/reflection-docblock/', - 'vendor/symfony/console/', - 'vendor/symfony/filesystem/', - 'vendor/symfony/finder/', - 'vendor/symfony/var-dumper/', - ], - - // A directory list that defines files that will be excluded - // from static analysis, but whose class and method - // information should be included. - // - // Generally, you'll want to include the directories for - // third-party code (such as "vendor/") in this list. - // - // n.b.: If you'd like to parse but not analyze 3rd - // party code, directories containing that code - // should be added to both the `directory_list` - // and `exclude_analysis_directory_list` arrays. - "exclude_analysis_directory_list" => [ - 'vendor/' - ], -]; diff --git a/paragonik-backend/vendor/psy/psysh/.php_cs b/paragonik-backend/vendor/psy/psysh/.php_cs deleted file mode 100644 index 421c31d..0000000 --- a/paragonik-backend/vendor/psy/psysh/.php_cs +++ /dev/null @@ -1,32 +0,0 @@ -in(__DIR__) - ->name('.php_cs') - ->name('build-manual') - ->name('build-phar') - ->exclude('build-vendor'); - -$header = <<setRules(array( - '@Symfony' => true, - 'array_syntax' => array('syntax' => 'short'), - 'binary_operator_spaces' => false, - 'concat_space' => array('spacing' => 'one'), - 'header_comment' => array('header' => $header), - 'increment_style' => array('style' => 'post'), - 'method_argument_space' => array('keep_multiple_spaces_after_comma' => true), - 'ordered_imports' => true, - 'pre_increment' => false, - 'yoda_style' => false, - )) - ->setFinder($finder); diff --git a/paragonik-backend/vendor/psy/psysh/.styleci.yml b/paragonik-backend/vendor/psy/psysh/.styleci.yml deleted file mode 100644 index 96fc96b..0000000 --- a/paragonik-backend/vendor/psy/psysh/.styleci.yml +++ /dev/null @@ -1,29 +0,0 @@ -preset: symfony - -enabled: - - align_double_arrow - - concat_with_spaces - - short_array_syntax - - ordered_use - - strict - -disabled: - - blank_line_before_break - - blank_line_before_continue - - blank_line_before_throw - - blank_line_before_try - - concat_without_spaces - - method_argument_space - - pre_increment - - unalign_double_arrow - - unalign_equals - - yoda_style - - property_separation - - const_separation - -finder: - name: - - "*.php" - - ".php_cs" - - "build-manual" - - "build-phar" diff --git a/paragonik-backend/vendor/psy/psysh/.travis.yml b/paragonik-backend/vendor/psy/psysh/.travis.yml deleted file mode 100644 index 660937b..0000000 --- a/paragonik-backend/vendor/psy/psysh/.travis.yml +++ /dev/null @@ -1,47 +0,0 @@ -language: php - -sudo: false - -matrix: - include: - - php: 5.4 - dist: trusty - - php: 5.4 - env: 'COMPOSER_FLAGS="--prefer-lowest --prefer-stable"' - dist: trusty - - php: 5.5 - dist: trusty - - php: 5.6 - - php: 7.0 - - php: 7.1 - - php: 7.2 - - php: hhvm - dist: trusty - allow_failures: - - php: 5.4 - env: 'COMPOSER_FLAGS="--prefer-lowest --prefer-stable"' - - php: hhvm - fast_finish: true - -install: travis_retry composer update --no-interaction $COMPOSER_FLAGS - -script: - - vendor/bin/phpunit --verbose --coverage-clover=coverage.xml - - '[[ $TRAVIS_PHP_VERSION = 7.2* ]] && make build -j 4 || true' - -after_success: - - bash <(curl -s https://codecov.io/bash) - -before_deploy: make dist -j 4 - -deploy: - provider: releases - api_key: - secure: LL8koDM1xDqzF9t0URHvmMPyWjojyd4PeZ7IW7XYgyvD6n1H6GYrVAeKCh5wfUKFbwHoa9s5AAn6pLzra00bODVkPTmUH+FSMWz9JKLw9ODAn8HvN7C+IooxmeClGHFZc0TfHfya8/D1E9C1iXtGGEoE/GqtaYq/z0C1DLpO0OU= - file_glob: true - file: dist/psysh-*.tar.gz - skip_cleanup: true - on: - tags: true - repo: bobthecow/psysh - condition: $TRAVIS_PHP_VERSION = 7.2* diff --git a/paragonik-backend/vendor/psy/psysh/LICENSE b/paragonik-backend/vendor/psy/psysh/LICENSE deleted file mode 100644 index 2c6a451..0000000 --- a/paragonik-backend/vendor/psy/psysh/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2012-2018 Justin Hileman - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE -OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/paragonik-backend/vendor/psy/psysh/Makefile b/paragonik-backend/vendor/psy/psysh/Makefile deleted file mode 100644 index a1fdb42..0000000 --- a/paragonik-backend/vendor/psy/psysh/Makefile +++ /dev/null @@ -1,95 +0,0 @@ -PSYSH_SRC = bin src box.json.dist composer.json build/stub -PSYSH_SRC_FILES = $(shell find src -type f -name "*.php") -VERSION = $(shell git describe --tag --always --dirty=-dev) - -COMPOSER_OPTS = --no-interaction --no-progress --verbose -COMPOSER_REQUIRE_OPTS = $(COMPOSER_OPTS) --no-update -COMPOSER_UPDATE_OPTS = $(COMPOSER_OPTS) --prefer-stable --no-dev --classmap-authoritative --prefer-dist - - -# Commands - -.PHONY: help clean build dist -.DEFAULT_GOAL := help - -help: - @echo "\033[33mUsage:\033[0m\n make TARGET\n\n\033[33mTargets:\033[0m" - @grep -E '^[a-zA-Z0-9_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf " \033[32m%-7s\033[0m %s\n", $$1, $$2}' - -clean: ## Clean all created artifacts - rm -rf build/* - rm -rf dist/* - rm -rf vendor-bin/*/vendor/ - -build: ## Compile PHARs -build: build/psysh/psysh build/psysh-compat/psysh build/psysh-php54/psysh build/psysh-php54-compat/psysh - -dist: ## Build tarballs for distribution -dist: dist/psysh-$(VERSION).tar.gz dist/psysh-$(VERSION)-compat.tar.gz dist/psysh-$(VERSION)-php54.tar.gz dist/psysh-$(VERSION)-php54-compat.tar.gz - - -# All the composer stuffs - -composer.lock: composer.json - composer install - touch $@ - -vendor/autoload.php: composer.lock - composer install - touch $@ - -vendor/bin/box: vendor/autoload.php - composer bin box install - touch $@ - - -# Lots of PHARs - -build/stub: bin/build-stub bin/psysh LICENSE - bin/build-stub - -build/psysh: $(PSYSH_SRC) $(PSYSH_SRC_FILES) - rm -rf $@ || true - mkdir $@ - cp -R $(PSYSH_SRC) $@/ - composer config --working-dir $@ platform.php 7.0 - composer require --working-dir $@ $(COMPOSER_REQUIRE_OPTS) php:'>=7.0.0' - composer update --working-dir $@ $(COMPOSER_UPDATE_OPTS) - -build/psysh-compat: $(PSYSH_SRC) $(PSYSH_SRC_FILES) - rm -rf $@ || true - mkdir $@ - cp -R $(PSYSH_SRC) $@/ - composer config --working-dir $@ platform.php 7.0 - composer require --working-dir $@ $(COMPOSER_REQUIRE_OPTS) php:'>=7.0.0' - composer require --working-dir $@ $(COMPOSER_REQUIRE_OPTS) symfony/polyfill-iconv symfony/polyfill-mbstring hoa/console - composer update --working-dir $@ $(COMPOSER_UPDATE_OPTS) - -build/psysh-php54: $(PSYSH_SRC) $(PSYSH_SRC_FILES) - rm -rf $@ || true - mkdir $@ - cp -R $(PSYSH_SRC) $@/ - composer config --working-dir $@ platform.php 5.4 - composer update --working-dir $@ $(COMPOSER_UPDATE_OPTS) - -build/psysh-php54-compat: $(PSYSH_SRC) $(PSYSH_SRC_FILES) - rm -rf $@ || true - mkdir $@ - cp -R $(PSYSH_SRC) $@/ - composer config --working-dir $@ platform.php 5.4 - composer require --working-dir $@ $(COMPOSER_REQUIRE_OPTS) symfony/polyfill-iconv symfony/polyfill-mbstring hoa/console:^2.15 - composer update --working-dir $@ $(COMPOSER_UPDATE_OPTS) - -build/%/psysh: vendor/bin/box build/% - vendor/bin/box compile --working-dir $(dir $@) - - -# Dist packages - -dist/psysh-$(VERSION).tar.gz: build/psysh/psysh - @mkdir -p $(@D) - tar -C $(dir $<) -czf $@ $(notdir $<) - -dist/psysh-$(VERSION)-%.tar.gz: build/psysh-%/psysh - @mkdir -p $(@D) - tar -C $(dir $<) -czf $@ $(notdir $<) diff --git a/paragonik-backend/vendor/psy/psysh/README.md b/paragonik-backend/vendor/psy/psysh/README.md deleted file mode 100644 index 710434c..0000000 --- a/paragonik-backend/vendor/psy/psysh/README.md +++ /dev/null @@ -1,34 +0,0 @@ -# PsySH - -PsySH is a runtime developer console, interactive debugger and [REPL](https://en.wikipedia.org/wiki/Read%E2%80%93eval%E2%80%93print_loop) for PHP. Learn more at [psysh.org](http://psysh.org/) and [in the manual](https://github.com/bobthecow/psysh/wiki/Home). - - -[![Package version](https://img.shields.io/packagist/v/psy/psysh.svg?style=flat-square)](https://packagist.org/packages/psy/psysh) -[![Monthly downloads](http://img.shields.io/packagist/dm/psy/psysh.svg?style=flat-square)](https://packagist.org/packages/psy/psysh) -[![Made out of awesome](https://img.shields.io/badge/made_out_of_awesome-✓-brightgreen.svg?style=flat-square)](http://psysh.org) - -[![Build status](https://img.shields.io/travis/bobthecow/psysh/master.svg?style=flat-square)](http://travis-ci.org/bobthecow/psysh) -[![StyleCI](https://styleci.io/repos/4549925/shield)](https://styleci.io/repos/4549925) - - - - -## [PsySH manual](https://github.com/bobthecow/psysh/wiki/Home) - -### [💾 Installation](https://github.com/bobthecow/psysh/wiki/Installation) - * [📕 PHP manual installation](https://github.com/bobthecow/psysh/wiki/PHP-manual) - * Windows - -### [🖥 Usage](https://github.com/bobthecow/psysh/wiki/Usage) - * [✨ Magic variables](https://github.com/bobthecow/psysh/wiki/Magic-variables) - * [â³ Managing history](https://github.com/bobthecow/psysh/wiki/History) - * [💲 System shell integration](https://github.com/bobthecow/psysh/wiki/Shell-integration) - * [🎥 Tutorials & guides](https://github.com/bobthecow/psysh/wiki/Tutorials) - -### [📢 Commands](https://github.com/bobthecow/psysh/wiki/Commands) - -### [🛠 Configuration](https://github.com/bobthecow/psysh/wiki/Configuration) - * [🎛 Config options](https://github.com/bobthecow/psysh/wiki/Config-options) - * [📄 Sample config file](https://github.com/bobthecow/psysh/wiki/Sample-config) - -### [🔌 Integrations](https://github.com/bobthecow/psysh/wiki/Integrations) diff --git a/paragonik-backend/vendor/psy/psysh/bin/build-stub b/paragonik-backend/vendor/psy/psysh/bin/build-stub deleted file mode 100644 index 0d26110..0000000 --- a/paragonik-backend/vendor/psy/psysh/bin/build-stub +++ /dev/null @@ -1,22 +0,0 @@ -#!/usr/bin/env php ->> \*/}sm', $autoload, $content); -$content = preg_replace('/\\(c\\) .*?with this source code./sm', $license, $content); - -$content .= '__HALT_COMPILER();'; - -@mkdir(dirname(__DIR__) . '/build'); - -file_put_contents(dirname(__DIR__) . '/build/stub', $content); diff --git a/paragonik-backend/vendor/psy/psysh/bin/psysh b/paragonik-backend/vendor/psy/psysh/bin/psysh deleted file mode 100644 index 7dbd203..0000000 --- a/paragonik-backend/vendor/psy/psysh/bin/psysh +++ /dev/null @@ -1,138 +0,0 @@ -#!/usr/bin/env php - $arg) { - if ($arg === '--cwd') { - if ($i >= count($argv) - 1) { - echo 'Missing --cwd argument.' . PHP_EOL; - exit(1); - } - $cwd = $argv[$i + 1]; - break; - } - - if (preg_match('/^--cwd=/', $arg)) { - $cwd = substr($arg, 6); - break; - } - } - - // Or fall back to the actual cwd - if (!isset($cwd)) { - $cwd = getcwd(); - } - - $cwd = str_replace('\\', '/', $cwd); - - $chunks = explode('/', $cwd); - while (!empty($chunks)) { - $path = implode('/', $chunks); - - // Find composer.json - if (is_file($path . '/composer.json')) { - if ($cfg = json_decode(file_get_contents($path . '/composer.json'), true)) { - if (isset($cfg['name']) && $cfg['name'] === 'psy/psysh') { - // We're inside the psysh project. Let's use the local - // Composer autoload. - if (is_file($path . '/vendor/autoload.php')) { - require $path . '/vendor/autoload.php'; - } - - return; - } - } - } - - // Or a composer.lock - if (is_file($path . '/composer.lock')) { - if ($cfg = json_decode(file_get_contents($path . '/composer.lock'), true)) { - foreach (array_merge($cfg['packages'], $cfg['packages-dev']) as $pkg) { - if (isset($pkg['name']) && $pkg['name'] === 'psy/psysh') { - // We're inside a project which requires psysh. We'll - // use the local Composer autoload. - if (is_file($path . '/vendor/autoload.php')) { - require $path . '/vendor/autoload.php'; - } - - return; - } - } - } - } - - array_pop($chunks); - } -}); - -// We didn't find an autoloader for a local version, so use the autoloader that -// came with this script. -if (!class_exists('Psy\Shell')) { -/* <<< */ - if (is_file(__DIR__ . '/../vendor/autoload.php')) { - require __DIR__ . '/../vendor/autoload.php'; - } elseif (is_file(__DIR__ . '/../../../autoload.php')) { - require __DIR__ . '/../../../autoload.php'; - } else { - echo 'PsySH dependencies not found, be sure to run `composer install`.' . PHP_EOL; - echo 'See https://getcomposer.org to get Composer.' . PHP_EOL; - exit(1); - } -/* >>> */ -} - -// If the psysh binary was included directly, assume they just wanted an -// autoloader and bail early. -// -// Keep this PHP 5.3 code around for a while in case someone is using a globally -// installed psysh as a bin launcher for older local versions. -if (version_compare(PHP_VERSION, '5.3.6', '<')) { - $trace = debug_backtrace(); -} elseif (version_compare(PHP_VERSION, '5.4.0', '<')) { - $trace = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS); -} else { - $trace = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, 1); -} - -if (Psy\Shell::isIncluded($trace)) { - unset($trace); - - return; -} - -// Clean up after ourselves. -unset($trace); - -// If the local version is too old, we can't do this -if (!function_exists('Psy\bin')) { - $argv = $_SERVER['argv']; - $first = array_shift($argv); - if (preg_match('/php(\.exe)?$/', $first)) { - array_shift($argv); - } - array_unshift($argv, 'vendor/bin/psysh'); - - echo 'A local PsySH dependency was found, but it cannot be loaded. Please update to' . PHP_EOL; - echo 'the latest version, or run the local copy directly, e.g.:' . PHP_EOL; - echo PHP_EOL; - echo ' ' . implode(' ', $argv) . PHP_EOL; - exit(1); -} - -// And go! -call_user_func(Psy\bin()); diff --git a/paragonik-backend/vendor/psy/psysh/box.json.dist b/paragonik-backend/vendor/psy/psysh/box.json.dist deleted file mode 100644 index e302f26..0000000 --- a/paragonik-backend/vendor/psy/psysh/box.json.dist +++ /dev/null @@ -1,12 +0,0 @@ -{ - "stub": "stub", - "output": "psysh", - "compactors": [ - "KevinGH\\Box\\Compactor\\Php" - ], - "blacklist": [ - "grammar", - "test_old", - "Documentation" - ] -} diff --git a/paragonik-backend/vendor/psy/psysh/composer.json b/paragonik-backend/vendor/psy/psysh/composer.json deleted file mode 100644 index 1b20b50..0000000 --- a/paragonik-backend/vendor/psy/psysh/composer.json +++ /dev/null @@ -1,54 +0,0 @@ -{ - "name": "psy/psysh", - "description": "An interactive shell for modern PHP.", - "type": "library", - "keywords": ["console", "interactive", "shell", "repl"], - "homepage": "http://psysh.org", - "license": "MIT", - "authors": [ - { - "name": "Justin Hileman", - "email": "justin@justinhileman.info", - "homepage": "http://justinhileman.com" - } - ], - "require": { - "php": ">=5.4.0", - "ext-json": "*", - "ext-tokenizer": "*", - "symfony/console": "~2.3.10|^2.4.2|~3.0|~4.0|~5.0", - "symfony/var-dumper": "~2.7|~3.0|~4.0|~5.0", - "nikic/php-parser": "~1.3|~2.0|~3.0|~4.0", - "dnoegel/php-xdg-base-dir": "0.1", - "jakub-onderka/php-console-highlighter": "0.3.*|0.4.*" - }, - "require-dev": { - "phpunit/phpunit": "~4.8.35|~5.0|~6.0|~7.0", - "hoa/console": "~2.15|~3.16", - "bamarni/composer-bin-plugin": "^1.2" - }, - "suggest": { - "ext-pcntl": "Enabling the PCNTL extension makes PsySH a lot happier :)", - "ext-posix": "If you have PCNTL, you'll want the POSIX extension as well.", - "ext-readline": "Enables support for arrow-key history navigation, and showing and manipulating command history.", - "ext-pdo-sqlite": "The doc command requires SQLite to work.", - "hoa/console": "A pure PHP readline implementation. You'll want this if your PHP install doesn't already support readline or libedit." - }, - "autoload": { - "files": ["src/functions.php"], - "psr-4": { - "Psy\\": "src/" - } - }, - "autoload-dev": { - "psr-4": { - "Psy\\Test\\": "test/" - } - }, - "bin": ["bin/psysh"], - "extra": { - "branch-alias": { - "dev-develop": "0.9.x-dev" - } - } -} diff --git a/paragonik-backend/vendor/psy/psysh/phpunit.xml.dist b/paragonik-backend/vendor/psy/psysh/phpunit.xml.dist deleted file mode 100644 index 3534fca..0000000 --- a/paragonik-backend/vendor/psy/psysh/phpunit.xml.dist +++ /dev/null @@ -1,12 +0,0 @@ - - - - ./test - - - - - ./src - - - diff --git a/paragonik-backend/vendor/psy/psysh/src/CodeCleaner.php b/paragonik-backend/vendor/psy/psysh/src/CodeCleaner.php deleted file mode 100644 index e44c2c1..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/CodeCleaner.php +++ /dev/null @@ -1,349 +0,0 @@ -createParser(); - } - - $this->parser = $parser; - $this->printer = $printer ?: new Printer(); - $this->traverser = $traverser ?: new NodeTraverser(); - - foreach ($this->getDefaultPasses() as $pass) { - $this->traverser->addVisitor($pass); - } - } - - /** - * Get default CodeCleaner passes. - * - * @return array - */ - private function getDefaultPasses() - { - $useStatementPass = new UseStatementPass(); - $namespacePass = new NamespacePass($this); - - // Try to add implicit `use` statements and an implicit namespace, - // based on the file in which the `debug` call was made. - $this->addImplicitDebugContext([$useStatementPass, $namespacePass]); - - return [ - // Validation passes - new AbstractClassPass(), - new AssignThisVariablePass(), - new CalledClassPass(), - new CallTimePassByReferencePass(), - new FinalClassPass(), - new FunctionContextPass(), - new FunctionReturnInWriteContextPass(), - new InstanceOfPass(), - new LeavePsyshAlonePass(), - new LegacyEmptyPass(), - new ListPass(), - new LoopContextPass(), - new PassableByReferencePass(), - new ValidConstructorPass(), - - // Rewriting shenanigans - $useStatementPass, // must run before the namespace pass - new ExitPass(), - new ImplicitReturnPass(), - new MagicConstantsPass(), - $namespacePass, // must run after the implicit return pass - new RequirePass(), - new StrictTypesPass(), - - // Namespace-aware validation (which depends on aforementioned shenanigans) - new ValidClassNamePass(), - new ValidConstantPass(), - new ValidFunctionNamePass(), - ]; - } - - /** - * "Warm up" code cleaner passes when we're coming from a debug call. - * - * This is useful, for example, for `UseStatementPass` and `NamespacePass` - * which keep track of state between calls, to maintain the current - * namespace and a map of use statements. - * - * @param array $passes - */ - private function addImplicitDebugContext(array $passes) - { - $file = $this->getDebugFile(); - if ($file === null) { - return; - } - - try { - $code = @\file_get_contents($file); - if (!$code) { - return; - } - - $stmts = $this->parse($code, true); - if ($stmts === false) { - return; - } - - // Set up a clean traverser for just these code cleaner passes - $traverser = new NodeTraverser(); - foreach ($passes as $pass) { - $traverser->addVisitor($pass); - } - - $traverser->traverse($stmts); - } catch (\Throwable $e) { - // Don't care. - } catch (\Exception $e) { - // Still don't care. - } - } - - /** - * Search the stack trace for a file in which the user called Psy\debug. - * - * @return string|null - */ - private static function getDebugFile() - { - $trace = \debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS); - - foreach (\array_reverse($trace) as $stackFrame) { - if (!self::isDebugCall($stackFrame)) { - continue; - } - - if (\preg_match('/eval\(/', $stackFrame['file'])) { - \preg_match_all('/([^\(]+)\((\d+)/', $stackFrame['file'], $matches); - - return $matches[1][0]; - } - - return $stackFrame['file']; - } - } - - /** - * Check whether a given backtrace frame is a call to Psy\debug. - * - * @param array $stackFrame - * - * @return bool - */ - private static function isDebugCall(array $stackFrame) - { - $class = isset($stackFrame['class']) ? $stackFrame['class'] : null; - $function = isset($stackFrame['function']) ? $stackFrame['function'] : null; - - return ($class === null && $function === 'Psy\debug') || - ($class === 'Psy\Shell' && $function === 'debug'); - } - - /** - * Clean the given array of code. - * - * @throws ParseErrorException if the code is invalid PHP, and cannot be coerced into valid PHP - * - * @param array $codeLines - * @param bool $requireSemicolons - * - * @return string|false Cleaned PHP code, False if the input is incomplete - */ - public function clean(array $codeLines, $requireSemicolons = false) - { - $stmts = $this->parse('traverser->traverse($stmts); - - // Work around https://github.com/nikic/PHP-Parser/issues/399 - $oldLocale = \setlocale(LC_NUMERIC, 0); - \setlocale(LC_NUMERIC, 'C'); - - $code = $this->printer->prettyPrint($stmts); - - // Now put the locale back - \setlocale(LC_NUMERIC, $oldLocale); - - return $code; - } - - /** - * Set the current local namespace. - * - * @param null|array $namespace (default: null) - * - * @return null|array - */ - public function setNamespace(array $namespace = null) - { - $this->namespace = $namespace; - } - - /** - * Get the current local namespace. - * - * @return null|array - */ - public function getNamespace() - { - return $this->namespace; - } - - /** - * Lex and parse a block of code. - * - * @see Parser::parse - * - * @throws ParseErrorException for parse errors that can't be resolved by - * waiting a line to see what comes next - * - * @param string $code - * @param bool $requireSemicolons - * - * @return array|false A set of statements, or false if incomplete - */ - protected function parse($code, $requireSemicolons = false) - { - try { - return $this->parser->parse($code); - } catch (\PhpParser\Error $e) { - if ($this->parseErrorIsUnclosedString($e, $code)) { - return false; - } - - if ($this->parseErrorIsUnterminatedComment($e, $code)) { - return false; - } - - if ($this->parseErrorIsTrailingComma($e, $code)) { - return false; - } - - if (!$this->parseErrorIsEOF($e)) { - throw ParseErrorException::fromParseError($e); - } - - if ($requireSemicolons) { - return false; - } - - try { - // Unexpected EOF, try again with an implicit semicolon - return $this->parser->parse($code . ';'); - } catch (\PhpParser\Error $e) { - return false; - } - } - } - - private function parseErrorIsEOF(\PhpParser\Error $e) - { - $msg = $e->getRawMessage(); - - return ($msg === 'Unexpected token EOF') || (\strpos($msg, 'Syntax error, unexpected EOF') !== false); - } - - /** - * A special test for unclosed single-quoted strings. - * - * Unlike (all?) other unclosed statements, single quoted strings have - * their own special beautiful snowflake syntax error just for - * themselves. - * - * @param \PhpParser\Error $e - * @param string $code - * - * @return bool - */ - private function parseErrorIsUnclosedString(\PhpParser\Error $e, $code) - { - if ($e->getRawMessage() !== 'Syntax error, unexpected T_ENCAPSED_AND_WHITESPACE') { - return false; - } - - try { - $this->parser->parse($code . "';"); - } catch (\Exception $e) { - return false; - } - - return true; - } - - private function parseErrorIsUnterminatedComment(\PhpParser\Error $e, $code) - { - return $e->getRawMessage() === 'Unterminated comment'; - } - - private function parseErrorIsTrailingComma(\PhpParser\Error $e, $code) - { - return ($e->getRawMessage() === 'A trailing comma is not allowed here') && (\substr(\rtrim($code), -1) === ','); - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/CodeCleaner/AbstractClassPass.php b/paragonik-backend/vendor/psy/psysh/src/CodeCleaner/AbstractClassPass.php deleted file mode 100644 index 81d12b6..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/CodeCleaner/AbstractClassPass.php +++ /dev/null @@ -1,71 +0,0 @@ -class = $node; - $this->abstractMethods = []; - } elseif ($node instanceof ClassMethod) { - if ($node->isAbstract()) { - $name = \sprintf('%s::%s', $this->class->name, $node->name); - $this->abstractMethods[] = $name; - - if ($node->stmts !== null) { - $msg = \sprintf('Abstract function %s cannot contain body', $name); - throw new FatalErrorException($msg, 0, E_ERROR, null, $node->getLine()); - } - } - } - } - - /** - * @throws RuntimeException if the node is a non-abstract class with abstract methods - * - * @param Node $node - */ - public function leaveNode(Node $node) - { - if ($node instanceof Class_) { - $count = \count($this->abstractMethods); - if ($count > 0 && !$node->isAbstract()) { - $msg = \sprintf( - 'Class %s contains %d abstract method%s must therefore be declared abstract or implement the remaining methods (%s)', - $node->name, - $count, - ($count === 1) ? '' : 's', - \implode(', ', $this->abstractMethods) - ); - throw new FatalErrorException($msg, 0, E_ERROR, null, $node->getLine()); - } - } - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/CodeCleaner/AssignThisVariablePass.php b/paragonik-backend/vendor/psy/psysh/src/CodeCleaner/AssignThisVariablePass.php deleted file mode 100644 index 4c42d97..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/CodeCleaner/AssignThisVariablePass.php +++ /dev/null @@ -1,39 +0,0 @@ - - */ -class AssignThisVariablePass extends CodeCleanerPass -{ - /** - * Validate that the user input does not assign the `$this` variable. - * - * @throws RuntimeException if the user assign the `$this` variable - * - * @param Node $node - */ - public function enterNode(Node $node) - { - if ($node instanceof Assign && $node->var instanceof Variable && $node->var->name === 'this') { - throw new FatalErrorException('Cannot re-assign $this', 0, E_ERROR, null, $node->getLine()); - } - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/CodeCleaner/CallTimePassByReferencePass.php b/paragonik-backend/vendor/psy/psysh/src/CodeCleaner/CallTimePassByReferencePass.php deleted file mode 100644 index cff2c51..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/CodeCleaner/CallTimePassByReferencePass.php +++ /dev/null @@ -1,50 +0,0 @@ - - */ -class CallTimePassByReferencePass extends CodeCleanerPass -{ - const EXCEPTION_MESSAGE = 'Call-time pass-by-reference has been removed'; - - /** - * Validate of use call-time pass-by-reference. - * - * @throws RuntimeException if the user used call-time pass-by-reference - * - * @param Node $node - */ - public function enterNode(Node $node) - { - if (!$node instanceof FuncCall && !$node instanceof MethodCall && !$node instanceof StaticCall) { - return; - } - - foreach ($node->args as $arg) { - if ($arg->byRef) { - throw new FatalErrorException(self::EXCEPTION_MESSAGE, 0, E_ERROR, null, $node->getLine()); - } - } - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/CodeCleaner/CalledClassPass.php b/paragonik-backend/vendor/psy/psysh/src/CodeCleaner/CalledClassPass.php deleted file mode 100644 index e78f08d..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/CodeCleaner/CalledClassPass.php +++ /dev/null @@ -1,83 +0,0 @@ -inClass = false; - } - - /** - * @throws ErrorException if get_class or get_called_class is called without an object from outside a class - * - * @param Node $node - */ - public function enterNode(Node $node) - { - if ($node instanceof Class_ || $node instanceof Trait_) { - $this->inClass = true; - } elseif ($node instanceof FuncCall && !$this->inClass) { - // We'll give any args at all (besides null) a pass. - // Technically we should be checking whether the args are objects, but this will do for now. - // - // @todo switch this to actually validate args when we get context-aware code cleaner passes. - if (!empty($node->args) && !$this->isNull($node->args[0])) { - return; - } - - // We'll ignore name expressions as well (things like `$foo()`) - if (!($node->name instanceof Name)) { - return; - } - - $name = \strtolower($node->name); - if (\in_array($name, ['get_class', 'get_called_class'])) { - $msg = \sprintf('%s() called without object from outside a class', $name); - throw new ErrorException($msg, 0, E_USER_WARNING, null, $node->getLine()); - } - } - } - - /** - * @param Node $node - */ - public function leaveNode(Node $node) - { - if ($node instanceof Class_) { - $this->inClass = false; - } - } - - private function isNull(Node $node) - { - return $node->value instanceof ConstFetch && \strtolower($node->value->name) === 'null'; - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/CodeCleaner/CodeCleanerPass.php b/paragonik-backend/vendor/psy/psysh/src/CodeCleaner/CodeCleanerPass.php deleted file mode 100644 index 58e5d05..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/CodeCleaner/CodeCleanerPass.php +++ /dev/null @@ -1,22 +0,0 @@ -finalClasses = []; - } - - /** - * @throws RuntimeException if the node is a class that extends a final class - * - * @param Node $node - */ - public function enterNode(Node $node) - { - if ($node instanceof Class_) { - if ($node->extends) { - $extends = (string) $node->extends; - if ($this->isFinalClass($extends)) { - $msg = \sprintf('Class %s may not inherit from final class (%s)', $node->name, $extends); - throw new FatalErrorException($msg, 0, E_ERROR, null, $node->getLine()); - } - } - - if ($node->isFinal()) { - $this->finalClasses[\strtolower($node->name)] = true; - } - } - } - - /** - * @param string $name Class name - * - * @return bool - */ - private function isFinalClass($name) - { - if (!\class_exists($name)) { - return isset($this->finalClasses[\strtolower($name)]); - } - - $refl = new \ReflectionClass($name); - - return $refl->isFinal(); - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/CodeCleaner/FunctionContextPass.php b/paragonik-backend/vendor/psy/psysh/src/CodeCleaner/FunctionContextPass.php deleted file mode 100644 index adff5ca..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/CodeCleaner/FunctionContextPass.php +++ /dev/null @@ -1,61 +0,0 @@ -functionDepth = 0; - } - - public function enterNode(Node $node) - { - if ($node instanceof FunctionLike) { - $this->functionDepth++; - - return; - } - - // node is inside function context - if ($this->functionDepth !== 0) { - return; - } - - // It causes fatal error. - if ($node instanceof Yield_) { - $msg = 'The "yield" expression can only be used inside a function'; - throw new FatalErrorException($msg, 0, E_ERROR, null, $node->getLine()); - } - } - - /** - * @param \PhpParser\Node $node - */ - public function leaveNode(Node $node) - { - if ($node instanceof FunctionLike) { - $this->functionDepth--; - } - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/CodeCleaner/FunctionReturnInWriteContextPass.php b/paragonik-backend/vendor/psy/psysh/src/CodeCleaner/FunctionReturnInWriteContextPass.php deleted file mode 100644 index 87e5e7a..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/CodeCleaner/FunctionReturnInWriteContextPass.php +++ /dev/null @@ -1,81 +0,0 @@ - - */ -class FunctionReturnInWriteContextPass extends CodeCleanerPass -{ - const PHP55_MESSAGE = 'Cannot use isset() on the result of a function call (you can use "null !== func()" instead)'; - const EXCEPTION_MESSAGE = "Can't use function return value in write context"; - - private $atLeastPhp55; - - public function __construct() - { - $this->atLeastPhp55 = \version_compare(PHP_VERSION, '5.5', '>='); - } - - /** - * Validate that the functions are used correctly. - * - * @throws FatalErrorException if a function is passed as an argument reference - * @throws FatalErrorException if a function is used as an argument in the isset - * @throws FatalErrorException if a function is used as an argument in the empty, only for PHP < 5.5 - * @throws FatalErrorException if a value is assigned to a function - * - * @param Node $node - */ - public function enterNode(Node $node) - { - if ($node instanceof Array_ || $this->isCallNode($node)) { - $items = $node instanceof Array_ ? $node->items : $node->args; - foreach ($items as $item) { - if ($item && $item->byRef && $this->isCallNode($item->value)) { - throw new FatalErrorException(self::EXCEPTION_MESSAGE, 0, E_ERROR, null, $node->getLine()); - } - } - } elseif ($node instanceof Isset_ || $node instanceof Unset_) { - foreach ($node->vars as $var) { - if (!$this->isCallNode($var)) { - continue; - } - - $msg = ($node instanceof Isset_ && $this->atLeastPhp55) ? self::PHP55_MESSAGE : self::EXCEPTION_MESSAGE; - throw new FatalErrorException($msg, 0, E_ERROR, null, $node->getLine()); - } - } elseif ($node instanceof Empty_ && !$this->atLeastPhp55 && $this->isCallNode($node->expr)) { - throw new FatalErrorException(self::EXCEPTION_MESSAGE, 0, E_ERROR, null, $node->getLine()); // @codeCoverageIgnore - } elseif ($node instanceof Assign && $this->isCallNode($node->var)) { - throw new FatalErrorException(self::EXCEPTION_MESSAGE, 0, E_ERROR, null, $node->getLine()); - } - } - - private function isCallNode(Node $node) - { - return $node instanceof FuncCall || $node instanceof MethodCall || $node instanceof StaticCall; - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/CodeCleaner/ImplicitReturnPass.php b/paragonik-backend/vendor/psy/psysh/src/CodeCleaner/ImplicitReturnPass.php deleted file mode 100644 index 06b0697..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/CodeCleaner/ImplicitReturnPass.php +++ /dev/null @@ -1,128 +0,0 @@ -addImplicitReturn($nodes); - } - - /** - * @param array $nodes - * - * @return array - */ - private function addImplicitReturn(array $nodes) - { - // If nodes is empty, it can't have a return value. - if (empty($nodes)) { - return [new Return_(NoReturnValue::create())]; - } - - $last = \end($nodes); - - // Special case a few types of statements to add an implicit return - // value (even though they technically don't have any return value) - // because showing a return value in these instances is useful and not - // very surprising. - if ($last instanceof If_) { - $last->stmts = $this->addImplicitReturn($last->stmts); - - foreach ($last->elseifs as $elseif) { - $elseif->stmts = $this->addImplicitReturn($elseif->stmts); - } - - if ($last->else) { - $last->else->stmts = $this->addImplicitReturn($last->else->stmts); - } - } elseif ($last instanceof Switch_) { - foreach ($last->cases as $case) { - // only add an implicit return to cases which end in break - $caseLast = \end($case->stmts); - if ($caseLast instanceof Break_) { - $case->stmts = $this->addImplicitReturn(\array_slice($case->stmts, 0, -1)); - $case->stmts[] = $caseLast; - } - } - } elseif ($last instanceof Expr && !($last instanceof Exit_)) { - // @codeCoverageIgnoreStart - $nodes[\count($nodes) - 1] = new Return_($last, [ - 'startLine' => $last->getLine(), - 'endLine' => $last->getLine(), - ]); - // @codeCoverageIgnoreEnd - } elseif ($last instanceof Expression && !($last->expr instanceof Exit_)) { - // For PHP Parser 4.x - $nodes[\count($nodes) - 1] = new Return_($last->expr, [ - 'startLine' => $last->getLine(), - 'endLine' => $last->getLine(), - ]); - } elseif ($last instanceof Namespace_) { - $last->stmts = $this->addImplicitReturn($last->stmts); - } - - // Return a "no return value" for all non-expression statements, so that - // PsySH can suppress the `null` that `eval()` returns otherwise. - // - // Note that statements special cased above (if/elseif/else, switch) - // _might_ implicitly return a value before this catch-all return is - // reached. - // - // We're not adding a fallback return after namespace statements, - // because code outside namespace statements doesn't really work, and - // there's already an implicit return in the namespace statement anyway. - if (self::isNonExpressionStmt($last)) { - $nodes[] = new Return_(NoReturnValue::create()); - } - - return $nodes; - } - - /** - * Check whether a given node is a non-expression statement. - * - * As of PHP Parser 4.x, Expressions are now instances of Stmt as well, so - * we'll exclude them here. - * - * @param Node $node - * - * @return bool - */ - private static function isNonExpressionStmt(Node $node) - { - return $node instanceof Stmt && - !$node instanceof Expression && - !$node instanceof Return_ && - !$node instanceof Namespace_; - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/CodeCleaner/InstanceOfPass.php b/paragonik-backend/vendor/psy/psysh/src/CodeCleaner/InstanceOfPass.php deleted file mode 100644 index 44e24ca..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/CodeCleaner/InstanceOfPass.php +++ /dev/null @@ -1,47 +0,0 @@ - - */ -class InstanceOfPass extends CodeCleanerPass -{ - const EXCEPTION_MSG = 'instanceof expects an object instance, constant given'; - - /** - * Validate that the instanceof statement does not receive a scalar value or a non-class constant. - * - * @throws FatalErrorException if a scalar or a non-class constant is given - * - * @param Node $node - */ - public function enterNode(Node $node) - { - if (!$node instanceof Instanceof_) { - return; - } - - if (($node->expr instanceof Scalar && !$node->expr instanceof Encapsed) || $node->expr instanceof ConstFetch) { - throw new FatalErrorException(self::EXCEPTION_MSG, 0, E_ERROR, null, $node->getLine()); - } - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/CodeCleaner/LeavePsyshAlonePass.php b/paragonik-backend/vendor/psy/psysh/src/CodeCleaner/LeavePsyshAlonePass.php deleted file mode 100644 index 08f6fbe..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/CodeCleaner/LeavePsyshAlonePass.php +++ /dev/null @@ -1,36 +0,0 @@ -name === '__psysh__') { - throw new RuntimeException('Don\'t mess with $__psysh__; bad things will happen'); - } - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/CodeCleaner/LegacyEmptyPass.php b/paragonik-backend/vendor/psy/psysh/src/CodeCleaner/LegacyEmptyPass.php deleted file mode 100644 index 9793d8c..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/CodeCleaner/LegacyEmptyPass.php +++ /dev/null @@ -1,73 +0,0 @@ -atLeastPhp55 = \version_compare(PHP_VERSION, '5.5', '>='); - } - - /** - * Validate use of empty in PHP < 5.5. - * - * @throws ParseErrorException if the user used empty with anything but a variable - * - * @param Node $node - */ - public function enterNode(Node $node) - { - if ($this->atLeastPhp55) { - return; - } - - if (!$node instanceof Empty_) { - return; - } - - if (!$node->expr instanceof Variable) { - $msg = \sprintf('syntax error, unexpected %s', $this->getUnexpectedThing($node->expr)); - - throw new ParseErrorException($msg, $node->expr->getLine()); - } - } - - private function getUnexpectedThing(Node $node) - { - switch ($node->getType()) { - case 'Scalar_String': - case 'Scalar_LNumber': - case 'Scalar_DNumber': - return \json_encode($node->value); - - case 'Expr_ConstFetch': - return (string) $node->name; - - default: - return $node->getType(); - } - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/CodeCleaner/ListPass.php b/paragonik-backend/vendor/psy/psysh/src/CodeCleaner/ListPass.php deleted file mode 100644 index b0d1d73..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/CodeCleaner/ListPass.php +++ /dev/null @@ -1,112 +0,0 @@ -atLeastPhp71 = \version_compare(PHP_VERSION, '7.1', '>='); - } - - /** - * Validate use of list assignment. - * - * @throws ParseErrorException if the user used empty with anything but a variable - * - * @param Node $node - */ - public function enterNode(Node $node) - { - if (!$node instanceof Assign) { - return; - } - - if (!$node->var instanceof Array_ && !$node->var instanceof List_) { - return; - } - - if (!$this->atLeastPhp71 && $node->var instanceof Array_) { - $msg = "syntax error, unexpected '='"; - throw new ParseErrorException($msg, $node->expr->getLine()); - } - - // Polyfill for PHP-Parser 2.x - $items = isset($node->var->items) ? $node->var->items : $node->var->vars; - - if ($items === [] || $items === [null]) { - throw new ParseErrorException('Cannot use empty list', $node->var->getLine()); - } - - $itemFound = false; - foreach ($items as $item) { - if ($item === null) { - continue; - } - - $itemFound = true; - - // List_->$vars in PHP-Parser 2.x is Variable instead of ArrayItem. - if (!$this->atLeastPhp71 && $item instanceof ArrayItem && $item->key !== null) { - $msg = 'Syntax error, unexpected T_CONSTANT_ENCAPSED_STRING, expecting \',\' or \')\''; - throw new ParseErrorException($msg, $item->key->getLine()); - } - - if (!self::isValidArrayItem($item)) { - $msg = 'Assignments can only happen to writable values'; - throw new ParseErrorException($msg, $item->getLine()); - } - } - - if (!$itemFound) { - throw new ParseErrorException('Cannot use empty list'); - } - } - - /** - * Validate whether a given item in an array is valid for short assignment. - * - * @param Expr $item - * - * @return bool - */ - private static function isValidArrayItem(Expr $item) - { - $value = ($item instanceof ArrayItem) ? $item->value : $item; - - while ($value instanceof ArrayDimFetch || $value instanceof PropertyFetch) { - $value = $value->var; - } - - // We just kind of give up if it's a method call. We can't tell if it's - // valid via static analysis. - return $value instanceof Variable || $value instanceof MethodCall || $value instanceof FuncCall; - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/CodeCleaner/LoopContextPass.php b/paragonik-backend/vendor/psy/psysh/src/CodeCleaner/LoopContextPass.php deleted file mode 100644 index 933278e..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/CodeCleaner/LoopContextPass.php +++ /dev/null @@ -1,103 +0,0 @@ -loopDepth = 0; - } - - /** - * @throws FatalErrorException if the node is a break or continue in a non-loop or switch context - * @throws FatalErrorException if the node is trying to break out of more nested structures than exist - * @throws FatalErrorException if the node is a break or continue and has a non-numeric argument - * @throws FatalErrorException if the node is a break or continue and has an argument less than 1 - * - * @param Node $node - */ - public function enterNode(Node $node) - { - switch (true) { - case $node instanceof Do_: - case $node instanceof For_: - case $node instanceof Foreach_: - case $node instanceof Switch_: - case $node instanceof While_: - $this->loopDepth++; - break; - - case $node instanceof Break_: - case $node instanceof Continue_: - $operator = $node instanceof Break_ ? 'break' : 'continue'; - - if ($this->loopDepth === 0) { - $msg = \sprintf("'%s' not in the 'loop' or 'switch' context", $operator); - throw new FatalErrorException($msg, 0, E_ERROR, null, $node->getLine()); - } - - if ($node->num instanceof LNumber || $node->num instanceof DNumber) { - $num = $node->num->value; - if ($node->num instanceof DNumber || $num < 1) { - $msg = \sprintf("'%s' operator accepts only positive numbers", $operator); - throw new FatalErrorException($msg, 0, E_ERROR, null, $node->getLine()); - } - - if ($num > $this->loopDepth) { - $msg = \sprintf("Cannot '%s' %d levels", $operator, $num); - throw new FatalErrorException($msg, 0, E_ERROR, null, $node->getLine()); - } - } elseif ($node->num) { - $msg = \sprintf("'%s' operator with non-constant operand is no longer supported", $operator); - throw new FatalErrorException($msg, 0, E_ERROR, null, $node->getLine()); - } - break; - } - } - - /** - * @param Node $node - */ - public function leaveNode(Node $node) - { - switch (true) { - case $node instanceof Do_: - case $node instanceof For_: - case $node instanceof Foreach_: - case $node instanceof Switch_: - case $node instanceof While_: - $this->loopDepth--; - break; - } - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/CodeCleaner/MagicConstantsPass.php b/paragonik-backend/vendor/psy/psysh/src/CodeCleaner/MagicConstantsPass.php deleted file mode 100644 index 50936b2..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/CodeCleaner/MagicConstantsPass.php +++ /dev/null @@ -1,42 +0,0 @@ -getAttributes()); - } elseif ($node instanceof File) { - return new String_('', $node->getAttributes()); - } - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/CodeCleaner/NamespaceAwarePass.php b/paragonik-backend/vendor/psy/psysh/src/CodeCleaner/NamespaceAwarePass.php deleted file mode 100644 index 6679206..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/CodeCleaner/NamespaceAwarePass.php +++ /dev/null @@ -1,71 +0,0 @@ -namespace = []; - $this->currentScope = []; - } - - /** - * @todo should this be final? Extending classes should be sure to either use - * leaveNode or call parent::enterNode() when overloading - * - * @param Node $node - */ - public function enterNode(Node $node) - { - if ($node instanceof Namespace_) { - $this->namespace = isset($node->name) ? $node->name->parts : []; - } - } - - /** - * Get a fully-qualified name (class, function, interface, etc). - * - * @param mixed $name - * - * @return string - */ - protected function getFullyQualifiedName($name) - { - if ($name instanceof FullyQualifiedName) { - return \implode('\\', $name->parts); - } elseif ($name instanceof Name) { - $name = $name->parts; - } elseif (!\is_array($name)) { - $name = [$name]; - } - - return \implode('\\', \array_merge($this->namespace, $name)); - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/CodeCleaner/NamespacePass.php b/paragonik-backend/vendor/psy/psysh/src/CodeCleaner/NamespacePass.php deleted file mode 100644 index d26f07c..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/CodeCleaner/NamespacePass.php +++ /dev/null @@ -1,88 +0,0 @@ -cleaner = $cleaner; - } - - /** - * If this is a standalone namespace line, remember it for later. - * - * Otherwise, apply remembered namespaces to the code until a new namespace - * is encountered. - * - * @param array $nodes - */ - public function beforeTraverse(array $nodes) - { - if (empty($nodes)) { - return $nodes; - } - - $last = \end($nodes); - - if ($last instanceof Namespace_) { - $kind = $last->getAttribute('kind'); - - // Treat all namespace statements pre-PHP-Parser v3.1.2 as "open", - // even though we really have no way of knowing. - if ($kind === null || $kind === Namespace_::KIND_SEMICOLON) { - // Save the current namespace for open namespaces - $this->setNamespace($last->name); - } else { - // Clear the current namespace after a braced namespace - $this->setNamespace(null); - } - - return $nodes; - } - - return $this->namespace ? [new Namespace_($this->namespace, $nodes)] : $nodes; - } - - /** - * Remember the namespace and (re)set the namespace on the CodeCleaner as - * well. - * - * @param null|Name $namespace - */ - private function setNamespace($namespace) - { - $this->namespace = $namespace; - $this->cleaner->setNamespace($namespace === null ? null : $namespace->parts); - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/CodeCleaner/NoReturnValue.php b/paragonik-backend/vendor/psy/psysh/src/CodeCleaner/NoReturnValue.php deleted file mode 100644 index 9032570..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/CodeCleaner/NoReturnValue.php +++ /dev/null @@ -1,35 +0,0 @@ -name instanceof Expr || $node->name instanceof Variable) { - return; - } - - $name = (string) $node->name; - - if ($name === 'array_multisort') { - return $this->validateArrayMultisort($node); - } - - try { - $refl = new \ReflectionFunction($name); - } catch (\ReflectionException $e) { - // Well, we gave it a shot! - return; - } - - foreach ($refl->getParameters() as $key => $param) { - if (\array_key_exists($key, $node->args)) { - $arg = $node->args[$key]; - if ($param->isPassedByReference() && !$this->isPassableByReference($arg)) { - throw new FatalErrorException(self::EXCEPTION_MESSAGE, 0, E_ERROR, null, $node->getLine()); - } - } - } - } - } - - private function isPassableByReference(Node $arg) - { - // FuncCall, MethodCall and StaticCall are all PHP _warnings_ not fatal errors, so we'll let - // PHP handle those ones :) - return $arg->value instanceof ClassConstFetch || - $arg->value instanceof PropertyFetch || - $arg->value instanceof Variable || - $arg->value instanceof FuncCall || - $arg->value instanceof MethodCall || - $arg->value instanceof StaticCall; - } - - /** - * Because array_multisort has a problematic signature... - * - * The argument order is all sorts of wonky, and whether something is passed - * by reference or not depends on the values of the two arguments before it. - * We'll do a good faith attempt at validating this, but err on the side of - * permissive. - * - * This is why you don't design languages where core code and extensions can - * implement APIs that wouldn't be possible in userland code. - * - * @throws FatalErrorException for clearly invalid arguments - * - * @param Node $node - */ - private function validateArrayMultisort(Node $node) - { - $nonPassable = 2; // start with 2 because the first one has to be passable by reference - foreach ($node->args as $arg) { - if ($this->isPassableByReference($arg)) { - $nonPassable = 0; - } elseif (++$nonPassable > 2) { - // There can be *at most* two non-passable-by-reference args in a row. This is about - // as close as we can get to validating the arguments for this function :-/ - throw new FatalErrorException(self::EXCEPTION_MESSAGE, 0, E_ERROR, null, $node->getLine()); - } - } - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/CodeCleaner/RequirePass.php b/paragonik-backend/vendor/psy/psysh/src/CodeCleaner/RequirePass.php deleted file mode 100644 index 31c156a..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/CodeCleaner/RequirePass.php +++ /dev/null @@ -1,101 +0,0 @@ -isRequireNode($origNode)) { - return; - } - - $node = clone $origNode; - - /* - * rewrite - * - * $foo = require $bar - * - * to - * - * $foo = require \Psy\CodeCleaner\RequirePass::resolve($bar) - */ - $node->expr = new StaticCall( - new FullyQualifiedName('Psy\CodeCleaner\RequirePass'), - 'resolve', - [new Arg($origNode->expr), new Arg(new LNumber($origNode->getLine()))], - $origNode->getAttributes() - ); - - return $node; - } - - /** - * Runtime validation that $file can be resolved as an include path. - * - * If $file can be resolved, return $file. Otherwise throw a fatal error exception. - * - * @throws FatalErrorException when unable to resolve include path for $file - * @throws ErrorException if $file is empty and E_WARNING is included in error_reporting level - * - * @param string $file - * @param int $lineNumber Line number of the original require expression - * - * @return string Exactly the same as $file - */ - public static function resolve($file, $lineNumber = null) - { - $file = (string) $file; - - if ($file === '') { - // @todo Shell::handleError would be better here, because we could - // fake the file and line number, but we can't call it statically. - // So we're duplicating some of the logics here. - if (E_WARNING & \error_reporting()) { - ErrorException::throwException(E_WARNING, 'Filename cannot be empty', null, $lineNumber); - } - // @todo trigger an error as fallback? this is pretty ugly… - // trigger_error('Filename cannot be empty', E_USER_WARNING); - } - - if ($file === '' || !\stream_resolve_include_path($file)) { - $msg = \sprintf("Failed opening required '%s'", $file); - throw new FatalErrorException($msg, 0, E_ERROR, null, $lineNumber); - } - - return $file; - } - - private function isRequireNode(Node $node) - { - return $node instanceof Include_ && \in_array($node->type, self::$requireTypes); - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/CodeCleaner/StrictTypesPass.php b/paragonik-backend/vendor/psy/psysh/src/CodeCleaner/StrictTypesPass.php deleted file mode 100644 index 058a5a8..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/CodeCleaner/StrictTypesPass.php +++ /dev/null @@ -1,87 +0,0 @@ -atLeastPhp7 = \version_compare(PHP_VERSION, '7.0', '>='); - } - - /** - * If this is a standalone strict types declaration, remember it for later. - * - * Otherwise, apply remembered strict types declaration to to the code until - * a new declaration is encountered. - * - * @throws FatalErrorException if an invalid `strict_types` declaration is found - * - * @param array $nodes - */ - public function beforeTraverse(array $nodes) - { - if (!$this->atLeastPhp7) { - return; // @codeCoverageIgnore - } - - $prependStrictTypes = $this->strictTypes; - - foreach ($nodes as $key => $node) { - if ($node instanceof Declare_) { - foreach ($node->declares as $declare) { - // For PHP Parser 4.x - $declareKey = $declare->key instanceof Identifier ? $declare->key->toString() : $declare->key; - if ($declareKey === 'strict_types') { - $value = $declare->value; - if (!$value instanceof LNumber || ($value->value !== 0 && $value->value !== 1)) { - throw new FatalErrorException(self::EXCEPTION_MESSAGE, 0, E_ERROR, null, $node->getLine()); - } - - $this->strictTypes = $value->value === 1; - } - } - } - } - - if ($prependStrictTypes) { - $first = \reset($nodes); - if (!$first instanceof Declare_) { - $declare = new Declare_([new DeclareDeclare('strict_types', new LNumber(1))]); - \array_unshift($nodes, $declare); - } - } - - return $nodes; - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/CodeCleaner/UseStatementPass.php b/paragonik-backend/vendor/psy/psysh/src/CodeCleaner/UseStatementPass.php deleted file mode 100644 index 64ac5be..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/CodeCleaner/UseStatementPass.php +++ /dev/null @@ -1,126 +0,0 @@ -name) === \strtolower($this->lastNamespace)) { - $this->aliases = $this->lastAliases; - } - } - } - - /** - * If this statement is a namespace, forget all the aliases we had. - * - * If it's a use statement, remember the alias for later. Otherwise, apply - * remembered aliases to the code. - * - * @param Node $node - */ - public function leaveNode(Node $node) - { - if ($node instanceof Use_) { - // Store a reference to every "use" statement, because we'll need - // them in a bit. - foreach ($node->uses as $use) { - $alias = $use->alias ?: \end($use->name->parts); - $this->aliases[\strtolower($alias)] = $use->name; - } - - return NodeTraverser::REMOVE_NODE; - } elseif ($node instanceof GroupUse) { - // Expand every "use" statement in the group into a full, standalone - // "use" and store 'em with the others. - foreach ($node->uses as $use) { - $alias = $use->alias ?: \end($use->name->parts); - $this->aliases[\strtolower($alias)] = Name::concat($node->prefix, $use->name, [ - 'startLine' => $node->prefix->getAttribute('startLine'), - 'endLine' => $use->name->getAttribute('endLine'), - ]); - } - - return NodeTraverser::REMOVE_NODE; - } elseif ($node instanceof Namespace_) { - // Start fresh, since we're done with this namespace. - $this->lastNamespace = $node->name; - $this->lastAliases = $this->aliases; - $this->aliases = []; - } else { - foreach ($node as $name => $subNode) { - if ($subNode instanceof Name) { - // Implicitly thunk all aliases. - if ($replacement = $this->findAlias($subNode)) { - $node->$name = $replacement; - } - } - } - - return $node; - } - } - - /** - * Find class/namespace aliases. - * - * @param Name $name - * - * @return FullyQualifiedName|null - */ - private function findAlias(Name $name) - { - $that = \strtolower($name); - foreach ($this->aliases as $alias => $prefix) { - if ($that === $alias) { - return new FullyQualifiedName($prefix->toString()); - } elseif (\substr($that, 0, \strlen($alias) + 1) === $alias . '\\') { - return new FullyQualifiedName($prefix->toString() . \substr($name, \strlen($alias))); - } - } - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/CodeCleaner/ValidClassNamePass.php b/paragonik-backend/vendor/psy/psysh/src/CodeCleaner/ValidClassNamePass.php deleted file mode 100644 index 9578c9a..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/CodeCleaner/ValidClassNamePass.php +++ /dev/null @@ -1,411 +0,0 @@ -atLeastPhp55 = \version_compare(PHP_VERSION, '5.5', '>='); - } - - /** - * Validate class, interface and trait definitions. - * - * Validate them upon entering the node, so that we know about their - * presence and can validate constant fetches and static calls in class or - * trait methods. - * - * @param Node $node - */ - public function enterNode(Node $node) - { - parent::enterNode($node); - - if (self::isConditional($node)) { - $this->conditionalScopes++; - } else { - // @todo add an "else" here which adds a runtime check for instances where we can't tell - // whether a class is being redefined by static analysis alone. - if ($this->conditionalScopes === 0) { - if ($node instanceof Class_) { - $this->validateClassStatement($node); - } elseif ($node instanceof Interface_) { - $this->validateInterfaceStatement($node); - } elseif ($node instanceof Trait_) { - $this->validateTraitStatement($node); - } - } - } - } - - /** - * Validate `new` expressions, class constant fetches, and static calls. - * - * @throws FatalErrorException if a class, interface or trait is referenced which does not exist - * @throws FatalErrorException if a class extends something that is not a class - * @throws FatalErrorException if a class implements something that is not an interface - * @throws FatalErrorException if an interface extends something that is not an interface - * @throws FatalErrorException if a class, interface or trait redefines an existing class, interface or trait name - * - * @param Node $node - */ - public function leaveNode(Node $node) - { - if (self::isConditional($node)) { - $this->conditionalScopes--; - } elseif ($node instanceof New_) { - $this->validateNewExpression($node); - } elseif ($node instanceof ClassConstFetch) { - $this->validateClassConstFetchExpression($node); - } elseif ($node instanceof StaticCall) { - $this->validateStaticCallExpression($node); - } - } - - private static function isConditional(Node $node) - { - return $node instanceof If_ || - $node instanceof While_ || - $node instanceof Do_ || - $node instanceof Switch_; - } - - /** - * Validate a class definition statement. - * - * @param Class_ $stmt - */ - protected function validateClassStatement(Class_ $stmt) - { - $this->ensureCanDefine($stmt, self::CLASS_TYPE); - if (isset($stmt->extends)) { - $this->ensureClassExists($this->getFullyQualifiedName($stmt->extends), $stmt); - } - $this->ensureInterfacesExist($stmt->implements, $stmt); - } - - /** - * Validate an interface definition statement. - * - * @param Interface_ $stmt - */ - protected function validateInterfaceStatement(Interface_ $stmt) - { - $this->ensureCanDefine($stmt, self::INTERFACE_TYPE); - $this->ensureInterfacesExist($stmt->extends, $stmt); - } - - /** - * Validate a trait definition statement. - * - * @param Trait_ $stmt - */ - protected function validateTraitStatement(Trait_ $stmt) - { - $this->ensureCanDefine($stmt, self::TRAIT_TYPE); - } - - /** - * Validate a `new` expression. - * - * @param New_ $stmt - */ - protected function validateNewExpression(New_ $stmt) - { - // if class name is an expression or an anonymous class, give it a pass for now - if (!$stmt->class instanceof Expr && !$stmt->class instanceof Class_) { - $this->ensureClassExists($this->getFullyQualifiedName($stmt->class), $stmt); - } - } - - /** - * Validate a class constant fetch expression's class. - * - * @param ClassConstFetch $stmt - */ - protected function validateClassConstFetchExpression(ClassConstFetch $stmt) - { - // there is no need to check exists for ::class const for php 5.5 or newer - if (\strtolower($stmt->name) === 'class' && $this->atLeastPhp55) { - return; - } - - // if class name is an expression, give it a pass for now - if (!$stmt->class instanceof Expr) { - $this->ensureClassOrInterfaceExists($this->getFullyQualifiedName($stmt->class), $stmt); - } - } - - /** - * Validate a class constant fetch expression's class. - * - * @param StaticCall $stmt - */ - protected function validateStaticCallExpression(StaticCall $stmt) - { - // if class name is an expression, give it a pass for now - if (!$stmt->class instanceof Expr) { - $this->ensureMethodExists($this->getFullyQualifiedName($stmt->class), $stmt->name, $stmt); - } - } - - /** - * Ensure that no class, interface or trait name collides with a new definition. - * - * @throws FatalErrorException - * - * @param Stmt $stmt - * @param string $scopeType - */ - protected function ensureCanDefine(Stmt $stmt, $scopeType = self::CLASS_TYPE) - { - $name = $this->getFullyQualifiedName($stmt->name); - - // check for name collisions - $errorType = null; - if ($this->classExists($name)) { - $errorType = self::CLASS_TYPE; - } elseif ($this->interfaceExists($name)) { - $errorType = self::INTERFACE_TYPE; - } elseif ($this->traitExists($name)) { - $errorType = self::TRAIT_TYPE; - } - - if ($errorType !== null) { - throw $this->createError(\sprintf('%s named %s already exists', \ucfirst($errorType), $name), $stmt); - } - - // Store creation for the rest of this code snippet so we can find local - // issue too - $this->currentScope[\strtolower($name)] = $scopeType; - } - - /** - * Ensure that a referenced class exists. - * - * @throws FatalErrorException - * - * @param string $name - * @param Stmt $stmt - */ - protected function ensureClassExists($name, $stmt) - { - if (!$this->classExists($name)) { - throw $this->createError(\sprintf('Class \'%s\' not found', $name), $stmt); - } - } - - /** - * Ensure that a referenced class _or interface_ exists. - * - * @throws FatalErrorException - * - * @param string $name - * @param Stmt $stmt - */ - protected function ensureClassOrInterfaceExists($name, $stmt) - { - if (!$this->classExists($name) && !$this->interfaceExists($name)) { - throw $this->createError(\sprintf('Class \'%s\' not found', $name), $stmt); - } - } - - /** - * Ensure that a referenced class _or trait_ exists. - * - * @throws FatalErrorException - * - * @param string $name - * @param Stmt $stmt - */ - protected function ensureClassOrTraitExists($name, $stmt) - { - if (!$this->classExists($name) && !$this->traitExists($name)) { - throw $this->createError(\sprintf('Class \'%s\' not found', $name), $stmt); - } - } - - /** - * Ensure that a statically called method exists. - * - * @throws FatalErrorException - * - * @param string $class - * @param string $name - * @param Stmt $stmt - */ - protected function ensureMethodExists($class, $name, $stmt) - { - $this->ensureClassOrTraitExists($class, $stmt); - - // let's pretend all calls to self, parent and static are valid - if (\in_array(\strtolower($class), ['self', 'parent', 'static'])) { - return; - } - - // ... and all calls to classes defined right now - if ($this->findInScope($class) === self::CLASS_TYPE) { - return; - } - - // if method name is an expression, give it a pass for now - if ($name instanceof Expr) { - return; - } - - if (!\method_exists($class, $name) && !\method_exists($class, '__callStatic')) { - throw $this->createError(\sprintf('Call to undefined method %s::%s()', $class, $name), $stmt); - } - } - - /** - * Ensure that a referenced interface exists. - * - * @throws FatalErrorException - * - * @param Interface_[] $interfaces - * @param Stmt $stmt - */ - protected function ensureInterfacesExist($interfaces, $stmt) - { - foreach ($interfaces as $interface) { - /** @var string $name */ - $name = $this->getFullyQualifiedName($interface); - if (!$this->interfaceExists($name)) { - throw $this->createError(\sprintf('Interface \'%s\' not found', $name), $stmt); - } - } - } - - /** - * Get a symbol type key for storing in the scope name cache. - * - * @deprecated No longer used. Scope type should be passed into ensureCanDefine directly. - * @codeCoverageIgnore - * - * @param Stmt $stmt - * - * @return string - */ - protected function getScopeType(Stmt $stmt) - { - if ($stmt instanceof Class_) { - return self::CLASS_TYPE; - } elseif ($stmt instanceof Interface_) { - return self::INTERFACE_TYPE; - } elseif ($stmt instanceof Trait_) { - return self::TRAIT_TYPE; - } - } - - /** - * Check whether a class exists, or has been defined in the current code snippet. - * - * Gives `self`, `static` and `parent` a free pass. - * - * @param string $name - * - * @return bool - */ - protected function classExists($name) - { - // Give `self`, `static` and `parent` a pass. This will actually let - // some errors through, since we're not checking whether the keyword is - // being used in a class scope. - if (\in_array(\strtolower($name), ['self', 'static', 'parent'])) { - return true; - } - - return \class_exists($name) || $this->findInScope($name) === self::CLASS_TYPE; - } - - /** - * Check whether an interface exists, or has been defined in the current code snippet. - * - * @param string $name - * - * @return bool - */ - protected function interfaceExists($name) - { - return \interface_exists($name) || $this->findInScope($name) === self::INTERFACE_TYPE; - } - - /** - * Check whether a trait exists, or has been defined in the current code snippet. - * - * @param string $name - * - * @return bool - */ - protected function traitExists($name) - { - return \trait_exists($name) || $this->findInScope($name) === self::TRAIT_TYPE; - } - - /** - * Find a symbol in the current code snippet scope. - * - * @param string $name - * - * @return string|null - */ - protected function findInScope($name) - { - $name = \strtolower($name); - if (isset($this->currentScope[$name])) { - return $this->currentScope[$name]; - } - } - - /** - * Error creation factory. - * - * @param string $msg - * @param Stmt $stmt - * - * @return FatalErrorException - */ - protected function createError($msg, $stmt) - { - return new FatalErrorException($msg, 0, E_ERROR, null, $stmt->getLine()); - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/CodeCleaner/ValidConstantPass.php b/paragonik-backend/vendor/psy/psysh/src/CodeCleaner/ValidConstantPass.php deleted file mode 100644 index 2d5e3e6..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/CodeCleaner/ValidConstantPass.php +++ /dev/null @@ -1,90 +0,0 @@ -name->parts) > 1) { - $name = $this->getFullyQualifiedName($node->name); - if (!\defined($name)) { - $msg = \sprintf('Undefined constant %s', $name); - throw new FatalErrorException($msg, 0, E_ERROR, null, $node->getLine()); - } - } elseif ($node instanceof ClassConstFetch) { - $this->validateClassConstFetchExpression($node); - } - } - - /** - * Validate a class constant fetch expression. - * - * @throws FatalErrorException if a class constant is not defined - * - * @param ClassConstFetch $stmt - */ - protected function validateClassConstFetchExpression(ClassConstFetch $stmt) - { - // For PHP Parser 4.x - $constName = $stmt->name instanceof Identifier ? $stmt->name->toString() : $stmt->name; - - // give the `class` pseudo-constant a pass - if ($constName === 'class') { - return; - } - - // if class name is an expression, give it a pass for now - if (!$stmt->class instanceof Expr) { - $className = $this->getFullyQualifiedName($stmt->class); - - // if the class doesn't exist, don't throw an exception… it might be - // defined in the same line it's used or something stupid like that. - if (\class_exists($className) || \interface_exists($className)) { - $refl = new \ReflectionClass($className); - if (!$refl->hasConstant($constName)) { - $constType = \class_exists($className) ? 'Class' : 'Interface'; - $msg = \sprintf('%s constant \'%s::%s\' not found', $constType, $className, $constName); - throw new FatalErrorException($msg, 0, E_ERROR, null, $stmt->getLine()); - } - } - } - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/CodeCleaner/ValidConstructorPass.php b/paragonik-backend/vendor/psy/psysh/src/CodeCleaner/ValidConstructorPass.php deleted file mode 100644 index a079e26..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/CodeCleaner/ValidConstructorPass.php +++ /dev/null @@ -1,112 +0,0 @@ - - */ -class ValidConstructorPass extends CodeCleanerPass -{ - private $namespace; - - public function beforeTraverse(array $nodes) - { - $this->namespace = []; - } - - /** - * Validate that the constructor is not static and does not have a return type. - * - * @throws FatalErrorException the constructor function is static - * @throws FatalErrorException the constructor function has a return type - * - * @param Node $node - */ - public function enterNode(Node $node) - { - if ($node instanceof Namespace_) { - $this->namespace = isset($node->name) ? $node->name->parts : []; - } elseif ($node instanceof Class_) { - $constructor = null; - foreach ($node->stmts as $stmt) { - if ($stmt instanceof ClassMethod) { - // If we find a new-style constructor, no need to look for the old-style - if ('__construct' === \strtolower($stmt->name)) { - $this->validateConstructor($stmt, $node); - - return; - } - - // We found a possible old-style constructor (unless there is also a __construct method) - if (empty($this->namespace) && \strtolower($node->name) === \strtolower($stmt->name)) { - $constructor = $stmt; - } - } - } - - if ($constructor) { - $this->validateConstructor($constructor, $node); - } - } - } - - /** - * @throws FatalErrorException the constructor function is static - * @throws FatalErrorException the constructor function has a return type - * - * @param Node $constructor - * @param Node $classNode - */ - private function validateConstructor(Node $constructor, Node $classNode) - { - if ($constructor->isStatic()) { - // For PHP Parser 4.x - $className = $classNode->name instanceof Identifier ? $classNode->name->toString() : $classNode->name; - - $msg = \sprintf( - 'Constructor %s::%s() cannot be static', - \implode('\\', \array_merge($this->namespace, (array) $className)), - $constructor->name - ); - throw new FatalErrorException($msg, 0, E_ERROR, null, $classNode->getLine()); - } - - if (\method_exists($constructor, 'getReturnType') && $constructor->getReturnType()) { - // For PHP Parser 4.x - $className = $classNode->name instanceof Identifier ? $classNode->name->toString() : $classNode->name; - - $msg = \sprintf( - 'Constructor %s::%s() cannot declare a return type', - \implode('\\', \array_merge($this->namespace, (array) $className)), - $constructor->name - ); - throw new FatalErrorException($msg, 0, E_ERROR, null, $classNode->getLine()); - } - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/CodeCleaner/ValidFunctionNamePass.php b/paragonik-backend/vendor/psy/psysh/src/CodeCleaner/ValidFunctionNamePass.php deleted file mode 100644 index dd1e057..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/CodeCleaner/ValidFunctionNamePass.php +++ /dev/null @@ -1,97 +0,0 @@ -conditionalScopes++; - } elseif ($node instanceof Function_) { - $name = $this->getFullyQualifiedName($node->name); - - // @todo add an "else" here which adds a runtime check for instances where we can't tell - // whether a function is being redefined by static analysis alone. - if ($this->conditionalScopes === 0) { - if (\function_exists($name) || - isset($this->currentScope[\strtolower($name)])) { - $msg = \sprintf('Cannot redeclare %s()', $name); - throw new FatalErrorException($msg, 0, E_ERROR, null, $node->getLine()); - } - } - - $this->currentScope[\strtolower($name)] = true; - } - } - - /** - * Validate that function calls will succeed. - * - * @throws FatalErrorException if a function is redefined - * @throws FatalErrorException if the function name is a string (not an expression) and is not defined - * - * @param Node $node - */ - public function leaveNode(Node $node) - { - if (self::isConditional($node)) { - $this->conditionalScopes--; - } elseif ($node instanceof FuncCall) { - // if function name is an expression or a variable, give it a pass for now. - $name = $node->name; - if (!$name instanceof Expr && !$name instanceof Variable) { - $shortName = \implode('\\', $name->parts); - $fullName = $this->getFullyQualifiedName($name); - $inScope = isset($this->currentScope[\strtolower($fullName)]); - if (!$inScope && !\function_exists($shortName) && !\function_exists($fullName)) { - $message = \sprintf('Call to undefined function %s()', $name); - throw new FatalErrorException($message, 0, E_ERROR, null, $node->getLine()); - } - } - } - } - - private static function isConditional(Node $node) - { - return $node instanceof If_ || - $node instanceof While_ || - $node instanceof Do_ || - $node instanceof Switch_; - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/Command/BufferCommand.php b/paragonik-backend/vendor/psy/psysh/src/Command/BufferCommand.php deleted file mode 100644 index 169ea7a..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/Command/BufferCommand.php +++ /dev/null @@ -1,79 +0,0 @@ -setName('buffer') - ->setAliases(['buf']) - ->setDefinition([ - new InputOption('clear', '', InputOption::VALUE_NONE, 'Clear the current buffer.'), - ]) - ->setDescription('Show (or clear) the contents of the code input buffer.') - ->setHelp( - <<<'HELP' -Show the contents of the code buffer for the current multi-line expression. - -Optionally, clear the buffer by passing the --clear option. -HELP - ); - } - - /** - * {@inheritdoc} - */ - protected function execute(InputInterface $input, OutputInterface $output) - { - $buf = $this->getApplication()->getCodeBuffer(); - if ($input->getOption('clear')) { - $this->getApplication()->resetCodeBuffer(); - $output->writeln($this->formatLines($buf, 'urgent'), ShellOutput::NUMBER_LINES); - } else { - $output->writeln($this->formatLines($buf), ShellOutput::NUMBER_LINES); - } - - return 0; - } - - /** - * A helper method for wrapping buffer lines in `` and `` formatter strings. - * - * @param array $lines - * @param string $type (default: 'return') - * - * @return array Formatted strings - */ - protected function formatLines(array $lines, $type = 'return') - { - $template = \sprintf('<%s>%%s', $type, $type); - - return \array_map(function ($line) use ($template) { - return \sprintf($template, $line); - }, $lines); - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/Command/ClearCommand.php b/paragonik-backend/vendor/psy/psysh/src/Command/ClearCommand.php deleted file mode 100644 index eb13857..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/Command/ClearCommand.php +++ /dev/null @@ -1,51 +0,0 @@ -setName('clear') - ->setDefinition([]) - ->setDescription('Clear the Psy Shell screen.') - ->setHelp( - <<<'HELP' -Clear the Psy Shell screen. - -Pro Tip: If your PHP has readline support, you should be able to use ctrl+l too! -HELP - ); - } - - /** - * {@inheritdoc} - */ - protected function execute(InputInterface $input, OutputInterface $output) - { - $output->write(\sprintf('%c[2J%c[0;0f', 27, 27)); - - return 0; - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/Command/Command.php b/paragonik-backend/vendor/psy/psysh/src/Command/Command.php deleted file mode 100644 index be013a1..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/Command/Command.php +++ /dev/null @@ -1,282 +0,0 @@ -Usage:', - ' ' . $this->getSynopsis(), - '', - ]; - - if ($this->getAliases()) { - $messages[] = $this->aliasesAsText(); - } - - if ($this->getArguments()) { - $messages[] = $this->argumentsAsText(); - } - - if ($this->getOptions()) { - $messages[] = $this->optionsAsText(); - } - - if ($help = $this->getProcessedHelp()) { - $messages[] = 'Help:'; - $messages[] = ' ' . \str_replace("\n", "\n ", $help) . "\n"; - } - - return \implode("\n", $messages); - } - - /** - * {@inheritdoc} - */ - private function getArguments() - { - $hidden = $this->getHiddenArguments(); - - return \array_filter($this->getNativeDefinition()->getArguments(), function ($argument) use ($hidden) { - return !\in_array($argument->getName(), $hidden); - }); - } - - /** - * These arguments will be excluded from help output. - * - * @return array - */ - protected function getHiddenArguments() - { - return ['command']; - } - - /** - * {@inheritdoc} - */ - private function getOptions() - { - $hidden = $this->getHiddenOptions(); - - return \array_filter($this->getNativeDefinition()->getOptions(), function ($option) use ($hidden) { - return !\in_array($option->getName(), $hidden); - }); - } - - /** - * These options will be excluded from help output. - * - * @return array - */ - protected function getHiddenOptions() - { - return ['verbose']; - } - - /** - * Format command aliases as text.. - * - * @return string - */ - private function aliasesAsText() - { - return 'Aliases: ' . \implode(', ', $this->getAliases()) . '' . PHP_EOL; - } - - /** - * Format command arguments as text. - * - * @return string - */ - private function argumentsAsText() - { - $max = $this->getMaxWidth(); - $messages = []; - - $arguments = $this->getArguments(); - if (!empty($arguments)) { - $messages[] = 'Arguments:'; - foreach ($arguments as $argument) { - if (null !== $argument->getDefault() && (!\is_array($argument->getDefault()) || \count($argument->getDefault()))) { - $default = \sprintf(' (default: %s)', $this->formatDefaultValue($argument->getDefault())); - } else { - $default = ''; - } - - $description = \str_replace("\n", "\n" . \str_pad('', $max + 2, ' '), $argument->getDescription()); - - $messages[] = \sprintf(" %-${max}s %s%s", $argument->getName(), $description, $default); - } - - $messages[] = ''; - } - - return \implode(PHP_EOL, $messages); - } - - /** - * Format options as text. - * - * @return string - */ - private function optionsAsText() - { - $max = $this->getMaxWidth(); - $messages = []; - - $options = $this->getOptions(); - if ($options) { - $messages[] = 'Options:'; - - foreach ($options as $option) { - if ($option->acceptValue() && null !== $option->getDefault() && (!\is_array($option->getDefault()) || \count($option->getDefault()))) { - $default = \sprintf(' (default: %s)', $this->formatDefaultValue($option->getDefault())); - } else { - $default = ''; - } - - $multiple = $option->isArray() ? ' (multiple values allowed)' : ''; - $description = \str_replace("\n", "\n" . \str_pad('', $max + 2, ' '), $option->getDescription()); - - $optionMax = $max - \strlen($option->getName()) - 2; - $messages[] = \sprintf( - " %s %-${optionMax}s%s%s%s", - '--' . $option->getName(), - $option->getShortcut() ? \sprintf('(-%s) ', $option->getShortcut()) : '', - $description, - $default, - $multiple - ); - } - - $messages[] = ''; - } - - return \implode(PHP_EOL, $messages); - } - - /** - * Calculate the maximum padding width for a set of lines. - * - * @return int - */ - private function getMaxWidth() - { - $max = 0; - - foreach ($this->getOptions() as $option) { - $nameLength = \strlen($option->getName()) + 2; - if ($option->getShortcut()) { - $nameLength += \strlen($option->getShortcut()) + 3; - } - - $max = \max($max, $nameLength); - } - - foreach ($this->getArguments() as $argument) { - $max = \max($max, \strlen($argument->getName())); - } - - return ++$max; - } - - /** - * Format an option default as text. - * - * @param mixed $default - * - * @return string - */ - private function formatDefaultValue($default) - { - if (\is_array($default) && $default === \array_values($default)) { - return \sprintf("array('%s')", \implode("', '", $default)); - } - - return \str_replace("\n", '', \var_export($default, true)); - } - - /** - * Get a Table instance. - * - * Falls back to legacy TableHelper. - * - * @return Table|TableHelper - */ - protected function getTable(OutputInterface $output) - { - if (!\class_exists('Symfony\Component\Console\Helper\Table')) { - return $this->getTableHelper(); - } - - $style = new TableStyle(); - $style - ->setVerticalBorderChar(' ') - ->setHorizontalBorderChar('') - ->setCrossingChar(''); - - $table = new Table($output); - - return $table - ->setRows([]) - ->setStyle($style); - } - - /** - * Legacy fallback for getTable. - * - * @return TableHelper - */ - protected function getTableHelper() - { - $table = $this->getApplication()->getHelperSet()->get('table'); - - return $table - ->setRows([]) - ->setLayout(TableHelper::LAYOUT_BORDERLESS) - ->setHorizontalBorderChar('') - ->setCrossingChar(''); - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/Command/DocCommand.php b/paragonik-backend/vendor/psy/psysh/src/Command/DocCommand.php deleted file mode 100644 index 605917a..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/Command/DocCommand.php +++ /dev/null @@ -1,133 +0,0 @@ -setName('doc') - ->setAliases(['rtfm', 'man']) - ->setDefinition([ - new CodeArgument('target', CodeArgument::REQUIRED, 'Function, class, instance, constant, method or property to document.'), - ]) - ->setDescription('Read the documentation for an object, class, constant, method or property.') - ->setHelp( - <<>>> doc preg_replace ->>> doc Psy\Shell ->>> doc Psy\Shell::debug ->>> \$s = new Psy\Shell ->>> doc \$s->run -HELP - ); - } - - /** - * {@inheritdoc} - */ - protected function execute(InputInterface $input, OutputInterface $output) - { - $value = $input->getArgument('target'); - if (ReflectionLanguageConstruct::isLanguageConstruct($value)) { - $reflector = new ReflectionLanguageConstruct($value); - $doc = $this->getManualDocById($value); - } else { - list($target, $reflector) = $this->getTargetAndReflector($value); - $doc = $this->getManualDoc($reflector) ?: DocblockFormatter::format($reflector); - } - - $db = $this->getApplication()->getManualDb(); - - $output->page(function ($output) use ($reflector, $doc, $db) { - $output->writeln(SignatureFormatter::format($reflector)); - $output->writeln(''); - - if (empty($doc) && !$db) { - $output->writeln('PHP manual not found'); - $output->writeln(' To document core PHP functionality, download the PHP reference manual:'); - $output->writeln(' https://github.com/bobthecow/psysh/wiki/PHP-manual'); - } else { - $output->writeln($doc); - } - }); - - // Set some magic local variables - $this->setCommandScopeVariables($reflector); - - return 0; - } - - private function getManualDoc($reflector) - { - switch (\get_class($reflector)) { - case 'ReflectionClass': - case 'ReflectionObject': - case 'ReflectionFunction': - $id = $reflector->name; - break; - - case 'ReflectionMethod': - $id = $reflector->class . '::' . $reflector->name; - break; - - case 'ReflectionProperty': - $id = $reflector->class . '::$' . $reflector->name; - break; - - case 'ReflectionClassConstant': - case 'Psy\Reflection\ReflectionClassConstant': - // @todo this is going to collide with ReflectionMethod ids - // someday... start running the query by id + type if the DB - // supports it. - $id = $reflector->class . '::' . $reflector->name; - break; - - case 'Psy\Reflection\ReflectionConstant_': - $id = $reflector->name; - break; - - default: - return false; - } - - return $this->getManualDocById($id); - } - - private function getManualDocById($id) - { - if ($db = $this->getApplication()->getManualDb()) { - return $db - ->query(\sprintf('SELECT doc FROM php_manual WHERE id = %s', $db->quote($id))) - ->fetchColumn(0); - } - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/Command/DumpCommand.php b/paragonik-backend/vendor/psy/psysh/src/Command/DumpCommand.php deleted file mode 100644 index da7e9de..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/Command/DumpCommand.php +++ /dev/null @@ -1,96 +0,0 @@ -presenter = $presenter; - } - - /** - * {@inheritdoc} - */ - protected function configure() - { - $this - ->setName('dump') - ->setDefinition([ - new CodeArgument('target', CodeArgument::REQUIRED, 'A target object or primitive to dump.'), - new InputOption('depth', '', InputOption::VALUE_REQUIRED, 'Depth to parse.', 10), - new InputOption('all', 'a', InputOption::VALUE_NONE, 'Include private and protected methods and properties.'), - ]) - ->setDescription('Dump an object or primitive.') - ->setHelp( - <<<'HELP' -Dump an object or primitive. - -This is like var_dump but way awesomer. - -e.g. ->>> dump $_ ->>> dump $someVar ->>> dump $stuff->getAll() -HELP - ); - } - - /** - * {@inheritdoc} - */ - protected function execute(InputInterface $input, OutputInterface $output) - { - $depth = $input->getOption('depth'); - $target = $this->resolveCode($input->getArgument('target')); - $output->page($this->presenter->present($target, $depth, $input->getOption('all') ? Presenter::VERBOSE : 0)); - - if (\is_object($target)) { - $this->setCommandScopeVariables(new \ReflectionObject($target)); - } - - return 0; - } - - /** - * @deprecated Use `resolveCode` instead - * - * @param string $name - * - * @return mixed - */ - protected function resolveTarget($name) - { - @\trigger_error('`resolveTarget` is deprecated; use `resolveCode` instead.', E_USER_DEPRECATED); - - return $this->resolveCode($name); - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/Command/EditCommand.php b/paragonik-backend/vendor/psy/psysh/src/Command/EditCommand.php deleted file mode 100644 index 7bd2007..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/Command/EditCommand.php +++ /dev/null @@ -1,189 +0,0 @@ -runtimeDir = $runtimeDir; - } - - protected function configure() - { - $this - ->setName('edit') - ->setDefinition([ - new InputArgument('file', InputArgument::OPTIONAL, 'The file to open for editing. If this is not given, edits a temporary file.', null), - new InputOption( - 'exec', - 'e', - InputOption::VALUE_NONE, - 'Execute the file content after editing. This is the default when a file name argument is not given.', - null - ), - new InputOption( - 'no-exec', - 'E', - InputOption::VALUE_NONE, - 'Do not execute the file content after editing. This is the default when a file name argument is given.', - null - ), - ]) - ->setDescription('Open an external editor. Afterwards, get produced code in input buffer.') - ->setHelp('Set the EDITOR environment variable to something you\'d like to use.'); - } - - /** - * @param InputInterface $input - * @param OutputInterface $output - * - * @throws \InvalidArgumentException when both exec and no-exec flags are given or if a given variable is not found in the current context - * @throws \UnexpectedValueException if file_get_contents on the edited file returns false instead of a string - */ - protected function execute(InputInterface $input, OutputInterface $output) - { - if ($input->getOption('exec') && - $input->getOption('no-exec')) { - throw new \InvalidArgumentException('The --exec and --no-exec flags are mutually exclusive'); - } - - $filePath = $this->extractFilePath($input->getArgument('file')); - - $execute = $this->shouldExecuteFile( - $input->getOption('exec'), - $input->getOption('no-exec'), - $filePath - ); - - $shouldRemoveFile = false; - - if ($filePath === null) { - $filePath = \tempnam($this->runtimeDir, 'psysh-edit-command'); - $shouldRemoveFile = true; - } - - $editedContent = $this->editFile($filePath, $shouldRemoveFile); - - if ($execute) { - $this->getApplication()->addInput($editedContent); - } - - return 0; - } - - /** - * @param bool $execOption - * @param bool $noExecOption - * @param string|null $filePath - * - * @return bool - */ - private function shouldExecuteFile($execOption, $noExecOption, $filePath) - { - if ($execOption) { - return true; - } - - if ($noExecOption) { - return false; - } - - // By default, code that is edited is executed if there was no given input file path - return $filePath === null; - } - - /** - * @param string|null $fileArgument - * - * @return string|null The file path to edit, null if the input was null, or the value of the referenced variable - * - * @throws \InvalidArgumentException If the variable is not found in the current context - */ - private function extractFilePath($fileArgument) - { - // If the file argument was a variable, get it from the context - if ($fileArgument !== null && - \strlen($fileArgument) > 0 && - $fileArgument[0] === '$') { - $fileArgument = $this->context->get(\preg_replace('/^\$/', '', $fileArgument)); - } - - return $fileArgument; - } - - /** - * @param string $filePath - * @param string $shouldRemoveFile - * - * @return string - * - * @throws \UnexpectedValueException if file_get_contents on $filePath returns false instead of a string - */ - private function editFile($filePath, $shouldRemoveFile) - { - $escapedFilePath = \escapeshellarg($filePath); - - $pipes = []; - $proc = \proc_open((\getenv('EDITOR') ?: 'nano') . " {$escapedFilePath}", [STDIN, STDOUT, STDERR], $pipes); - \proc_close($proc); - - $editedContent = @\file_get_contents($filePath); - - if ($shouldRemoveFile) { - @\unlink($filePath); - } - - if ($editedContent === false) { - throw new \UnexpectedValueException("Reading {$filePath} returned false"); - } - - return $editedContent; - } - - /** - * Set the Context reference. - * - * @param Context $context - */ - public function setContext(Context $context) - { - $this->context = $context; - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/Command/ExitCommand.php b/paragonik-backend/vendor/psy/psysh/src/Command/ExitCommand.php deleted file mode 100644 index 4339886..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/Command/ExitCommand.php +++ /dev/null @@ -1,52 +0,0 @@ -setName('exit') - ->setAliases(['quit', 'q']) - ->setDefinition([]) - ->setDescription('End the current session and return to caller.') - ->setHelp( - <<<'HELP' -End the current session and return to caller. - -e.g. ->>> exit -HELP - ); - } - - /** - * {@inheritdoc} - */ - protected function execute(InputInterface $input, OutputInterface $output) - { - throw new BreakException('Goodbye'); - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/Command/HelpCommand.php b/paragonik-backend/vendor/psy/psysh/src/Command/HelpCommand.php deleted file mode 100644 index 8ad3e82..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/Command/HelpCommand.php +++ /dev/null @@ -1,100 +0,0 @@ -setName('help') - ->setAliases(['?']) - ->setDefinition([ - new InputArgument('command_name', InputArgument::OPTIONAL, 'The command name.', null), - ]) - ->setDescription('Show a list of commands. Type `help [foo]` for information about [foo].') - ->setHelp('My. How meta.'); - } - - /** - * Helper for setting a subcommand to retrieve help for. - * - * @param Command $command - */ - public function setCommand($command) - { - $this->command = $command; - } - - /** - * {@inheritdoc} - */ - protected function execute(InputInterface $input, OutputInterface $output) - { - if ($this->command !== null) { - // help for an individual command - $output->page($this->command->asText()); - $this->command = null; - } elseif ($name = $input->getArgument('command_name')) { - // help for an individual command - $output->page($this->getApplication()->get($name)->asText()); - } else { - // list available commands - $commands = $this->getApplication()->all(); - - $table = $this->getTable($output); - - foreach ($commands as $name => $command) { - if ($name !== $command->getName()) { - continue; - } - - if ($command->getAliases()) { - $aliases = \sprintf('Aliases: %s', \implode(', ', $command->getAliases())); - } else { - $aliases = ''; - } - - $table->addRow([ - \sprintf('%s', $name), - $command->getDescription(), - $aliases, - ]); - } - - $output->startPaging(); - if ($table instanceof TableHelper) { - $table->render($output); - } else { - $table->render(); - } - $output->stopPaging(); - } - - return 0; - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/Command/HistoryCommand.php b/paragonik-backend/vendor/psy/psysh/src/Command/HistoryCommand.php deleted file mode 100644 index bd6d245..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/Command/HistoryCommand.php +++ /dev/null @@ -1,248 +0,0 @@ -filter = new FilterOptions(); - - parent::__construct($name); - } - - /** - * Set the Shell's Readline service. - * - * @param Readline $readline - */ - public function setReadline(Readline $readline) - { - $this->readline = $readline; - } - - /** - * {@inheritdoc} - */ - protected function configure() - { - list($grep, $insensitive, $invert) = FilterOptions::getOptions(); - - $this - ->setName('history') - ->setAliases(['hist']) - ->setDefinition([ - new InputOption('show', 's', InputOption::VALUE_REQUIRED, 'Show the given range of lines.'), - new InputOption('head', 'H', InputOption::VALUE_REQUIRED, 'Display the first N items.'), - new InputOption('tail', 'T', InputOption::VALUE_REQUIRED, 'Display the last N items.'), - - $grep, - $insensitive, - $invert, - - new InputOption('no-numbers', 'N', InputOption::VALUE_NONE, 'Omit line numbers.'), - - new InputOption('save', '', InputOption::VALUE_REQUIRED, 'Save history to a file.'), - new InputOption('replay', '', InputOption::VALUE_NONE, 'Replay.'), - new InputOption('clear', '', InputOption::VALUE_NONE, 'Clear the history.'), - ]) - ->setDescription('Show the Psy Shell history.') - ->setHelp( - <<<'HELP' -Show, search, save or replay the Psy Shell history. - -e.g. ->>> history --grep /[bB]acon/ ->>> history --show 0..10 --replay ->>> history --clear ->>> history --tail 1000 --save somefile.txt -HELP - ); - } - - /** - * {@inheritdoc} - */ - protected function execute(InputInterface $input, OutputInterface $output) - { - $this->validateOnlyOne($input, ['show', 'head', 'tail']); - $this->validateOnlyOne($input, ['save', 'replay', 'clear']); - - $history = $this->getHistorySlice( - $input->getOption('show'), - $input->getOption('head'), - $input->getOption('tail') - ); - $highlighted = false; - - $this->filter->bind($input); - if ($this->filter->hasFilter()) { - $matches = []; - $highlighted = []; - foreach ($history as $i => $line) { - if ($this->filter->match($line, $matches)) { - if (isset($matches[0])) { - $chunks = \explode($matches[0], $history[$i]); - $chunks = \array_map([__CLASS__, 'escape'], $chunks); - $glue = \sprintf('%s', self::escape($matches[0])); - - $highlighted[$i] = \implode($glue, $chunks); - } - } else { - unset($history[$i]); - } - } - } - - if ($save = $input->getOption('save')) { - $output->writeln(\sprintf('Saving history in %s...', $save)); - \file_put_contents($save, \implode(PHP_EOL, $history) . PHP_EOL); - $output->writeln('History saved.'); - } elseif ($input->getOption('replay')) { - if (!($input->getOption('show') || $input->getOption('head') || $input->getOption('tail'))) { - throw new \InvalidArgumentException('You must limit history via --head, --tail or --show before replaying'); - } - - $count = \count($history); - $output->writeln(\sprintf('Replaying %d line%s of history', $count, ($count !== 1) ? 's' : '')); - $this->getApplication()->addInput($history); - } elseif ($input->getOption('clear')) { - $this->clearHistory(); - $output->writeln('History cleared.'); - } else { - $type = $input->getOption('no-numbers') ? 0 : ShellOutput::NUMBER_LINES; - if (!$highlighted) { - $type = $type | OutputInterface::OUTPUT_RAW; - } - - $output->page($highlighted ?: $history, $type); - } - - return 0; - } - - /** - * Extract a range from a string. - * - * @param string $range - * - * @return array [ start, end ] - */ - private function extractRange($range) - { - if (\preg_match('/^\d+$/', $range)) { - return [$range, $range + 1]; - } - - $matches = []; - if ($range !== '..' && \preg_match('/^(\d*)\.\.(\d*)$/', $range, $matches)) { - $start = $matches[1] ? \intval($matches[1]) : 0; - $end = $matches[2] ? \intval($matches[2]) + 1 : PHP_INT_MAX; - - return [$start, $end]; - } - - throw new \InvalidArgumentException('Unexpected range: ' . $range); - } - - /** - * Retrieve a slice of the readline history. - * - * @param string $show - * @param string $head - * @param string $tail - * - * @return array A slilce of history - */ - private function getHistorySlice($show, $head, $tail) - { - $history = $this->readline->listHistory(); - - // don't show the current `history` invocation - \array_pop($history); - - if ($show) { - list($start, $end) = $this->extractRange($show); - $length = $end - $start; - } elseif ($head) { - if (!\preg_match('/^\d+$/', $head)) { - throw new \InvalidArgumentException('Please specify an integer argument for --head'); - } - - $start = 0; - $length = \intval($head); - } elseif ($tail) { - if (!\preg_match('/^\d+$/', $tail)) { - throw new \InvalidArgumentException('Please specify an integer argument for --tail'); - } - - $start = \count($history) - $tail; - $length = \intval($tail) + 1; - } else { - return $history; - } - - return \array_slice($history, $start, $length, true); - } - - /** - * Validate that only one of the given $options is set. - * - * @param InputInterface $input - * @param array $options - */ - private function validateOnlyOne(InputInterface $input, array $options) - { - $count = 0; - foreach ($options as $opt) { - if ($input->getOption($opt)) { - $count++; - } - } - - if ($count > 1) { - throw new \InvalidArgumentException('Please specify only one of --' . \implode(', --', $options)); - } - } - - /** - * Clear the readline history. - */ - private function clearHistory() - { - $this->readline->clearHistory(); - } - - public static function escape($string) - { - return OutputFormatter::escape($string); - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/Command/ListCommand.php b/paragonik-backend/vendor/psy/psysh/src/Command/ListCommand.php deleted file mode 100644 index fd938a1..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/Command/ListCommand.php +++ /dev/null @@ -1,278 +0,0 @@ -presenter = $presenter; - } - - /** - * {@inheritdoc} - */ - protected function configure() - { - list($grep, $insensitive, $invert) = FilterOptions::getOptions(); - - $this - ->setName('ls') - ->setAliases(['list', 'dir']) - ->setDefinition([ - new CodeArgument('target', CodeArgument::OPTIONAL, 'A target class or object to list.'), - - new InputOption('vars', '', InputOption::VALUE_NONE, 'Display variables.'), - new InputOption('constants', 'c', InputOption::VALUE_NONE, 'Display defined constants.'), - new InputOption('functions', 'f', InputOption::VALUE_NONE, 'Display defined functions.'), - new InputOption('classes', 'k', InputOption::VALUE_NONE, 'Display declared classes.'), - new InputOption('interfaces', 'I', InputOption::VALUE_NONE, 'Display declared interfaces.'), - new InputOption('traits', 't', InputOption::VALUE_NONE, 'Display declared traits.'), - - new InputOption('no-inherit', '', InputOption::VALUE_NONE, 'Exclude inherited methods, properties and constants.'), - - new InputOption('properties', 'p', InputOption::VALUE_NONE, 'Display class or object properties (public properties by default).'), - new InputOption('methods', 'm', InputOption::VALUE_NONE, 'Display class or object methods (public methods by default).'), - - $grep, - $insensitive, - $invert, - - new InputOption('globals', 'g', InputOption::VALUE_NONE, 'Include global variables.'), - new InputOption('internal', 'n', InputOption::VALUE_NONE, 'Limit to internal functions and classes.'), - new InputOption('user', 'u', InputOption::VALUE_NONE, 'Limit to user-defined constants, functions and classes.'), - new InputOption('category', 'C', InputOption::VALUE_REQUIRED, 'Limit to constants in a specific category (e.g. "date").'), - - new InputOption('all', 'a', InputOption::VALUE_NONE, 'Include private and protected methods and properties.'), - new InputOption('long', 'l', InputOption::VALUE_NONE, 'List in long format: includes class names and method signatures.'), - ]) - ->setDescription('List local, instance or class variables, methods and constants.') - ->setHelp( - <<<'HELP' -List variables, constants, classes, interfaces, traits, functions, methods, -and properties. - -Called without options, this will return a list of variables currently in scope. - -If a target object is provided, list properties, constants and methods of that -target. If a class, interface or trait name is passed instead, list constants -and methods on that class. - -e.g. ->>> ls ->>> ls $foo ->>> ls -k --grep mongo -i ->>> ls -al ReflectionClass ->>> ls --constants --category date ->>> ls -l --functions --grep /^array_.*/ ->>> ls -l --properties new DateTime() -HELP - ); - } - - /** - * {@inheritdoc} - */ - protected function execute(InputInterface $input, OutputInterface $output) - { - $this->validateInput($input); - $this->initEnumerators(); - - $method = $input->getOption('long') ? 'writeLong' : 'write'; - - if ($target = $input->getArgument('target')) { - list($target, $reflector) = $this->getTargetAndReflector($target); - } else { - $reflector = null; - } - - // @todo something cleaner than this :-/ - if ($input->getOption('long')) { - $output->startPaging(); - } - - foreach ($this->enumerators as $enumerator) { - $this->$method($output, $enumerator->enumerate($input, $reflector, $target)); - } - - if ($input->getOption('long')) { - $output->stopPaging(); - } - - // Set some magic local variables - if ($reflector !== null) { - $this->setCommandScopeVariables($reflector); - } - - return 0; - } - - /** - * Initialize Enumerators. - */ - protected function initEnumerators() - { - if (!isset($this->enumerators)) { - $mgr = $this->presenter; - - $this->enumerators = [ - new ClassConstantEnumerator($mgr), - new ClassEnumerator($mgr), - new ConstantEnumerator($mgr), - new FunctionEnumerator($mgr), - new GlobalVariableEnumerator($mgr), - new PropertyEnumerator($mgr), - new MethodEnumerator($mgr), - new VariableEnumerator($mgr, $this->context), - ]; - } - } - - /** - * Write the list items to $output. - * - * @param OutputInterface $output - * @param null|array $result List of enumerated items - */ - protected function write(OutputInterface $output, array $result = null) - { - if ($result === null) { - return; - } - - foreach ($result as $label => $items) { - $names = \array_map([$this, 'formatItemName'], $items); - $output->writeln(\sprintf('%s: %s', $label, \implode(', ', $names))); - } - } - - /** - * Write the list items to $output. - * - * Items are listed one per line, and include the item signature. - * - * @param OutputInterface $output - * @param null|array $result List of enumerated items - */ - protected function writeLong(OutputInterface $output, array $result = null) - { - if ($result === null) { - return; - } - - $table = $this->getTable($output); - - foreach ($result as $label => $items) { - $output->writeln(''); - $output->writeln(\sprintf('%s:', $label)); - - $table->setRows([]); - foreach ($items as $item) { - $table->addRow([$this->formatItemName($item), $item['value']]); - } - - if ($table instanceof TableHelper) { - $table->render($output); - } else { - $table->render(); - } - } - } - - /** - * Format an item name given its visibility. - * - * @param array $item - * - * @return string - */ - private function formatItemName($item) - { - return \sprintf('<%s>%s', $item['style'], OutputFormatter::escape($item['name']), $item['style']); - } - - /** - * Validate that input options make sense, provide defaults when called without options. - * - * @throws RuntimeException if options are inconsistent - * - * @param InputInterface $input - */ - private function validateInput(InputInterface $input) - { - if (!$input->getArgument('target')) { - // if no target is passed, there can be no properties or methods - foreach (['properties', 'methods', 'no-inherit'] as $option) { - if ($input->getOption($option)) { - throw new RuntimeException('--' . $option . ' does not make sense without a specified target'); - } - } - - foreach (['globals', 'vars', 'constants', 'functions', 'classes', 'interfaces', 'traits'] as $option) { - if ($input->getOption($option)) { - return; - } - } - - // default to --vars if no other options are passed - $input->setOption('vars', true); - } else { - // if a target is passed, classes, functions, etc don't make sense - foreach (['vars', 'globals', 'functions', 'classes', 'interfaces', 'traits'] as $option) { - if ($input->getOption($option)) { - throw new RuntimeException('--' . $option . ' does not make sense with a specified target'); - } - } - - foreach (['constants', 'properties', 'methods'] as $option) { - if ($input->getOption($option)) { - return; - } - } - - // default to --constants --properties --methods if no other options are passed - $input->setOption('constants', true); - $input->setOption('properties', true); - $input->setOption('methods', true); - } - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/Command/ListCommand/ClassConstantEnumerator.php b/paragonik-backend/vendor/psy/psysh/src/Command/ListCommand/ClassConstantEnumerator.php deleted file mode 100644 index a1d82ea..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/Command/ListCommand/ClassConstantEnumerator.php +++ /dev/null @@ -1,127 +0,0 @@ -getOption('constants')) { - return; - } - - $noInherit = $input->getOption('no-inherit'); - $constants = $this->prepareConstants($this->getConstants($reflector, $noInherit)); - - if (empty($constants)) { - return; - } - - $ret = []; - $ret[$this->getKindLabel($reflector)] = $constants; - - return $ret; - } - - /** - * Get defined constants for the given class or object Reflector. - * - * @param \Reflector $reflector - * @param bool $noInherit Exclude inherited constants - * - * @return array - */ - protected function getConstants(\Reflector $reflector, $noInherit = false) - { - $className = $reflector->getName(); - - $constants = []; - foreach ($reflector->getConstants() as $name => $constant) { - $constReflector = ReflectionClassConstant::create($reflector->name, $name); - - if ($noInherit && $constReflector->getDeclaringClass()->getName() !== $className) { - continue; - } - - $constants[$name] = $constReflector; - } - - \ksort($constants, SORT_NATURAL | SORT_FLAG_CASE); - - return $constants; - } - - /** - * Prepare formatted constant array. - * - * @param array $constants - * - * @return array - */ - protected function prepareConstants(array $constants) - { - // My kingdom for a generator. - $ret = []; - - foreach ($constants as $name => $constant) { - if ($this->showItem($name)) { - $ret[$name] = [ - 'name' => $name, - 'style' => self::IS_CONSTANT, - 'value' => $this->presentRef($constant->getValue()), - ]; - } - } - - return $ret; - } - - /** - * Get a label for the particular kind of "class" represented. - * - * @param \ReflectionClass $reflector - * - * @return string - */ - protected function getKindLabel(\ReflectionClass $reflector) - { - if ($reflector->isInterface()) { - return 'Interface Constants'; - } elseif (\method_exists($reflector, 'isTrait') && $reflector->isTrait()) { - return 'Trait Constants'; - } else { - return 'Class Constants'; - } - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/Command/ListCommand/ClassEnumerator.php b/paragonik-backend/vendor/psy/psysh/src/Command/ListCommand/ClassEnumerator.php deleted file mode 100644 index 8ab6d7a..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/Command/ListCommand/ClassEnumerator.php +++ /dev/null @@ -1,126 +0,0 @@ -getOption('user'); - $internal = $input->getOption('internal'); - - $ret = []; - - // only list classes, interfaces and traits if we are specifically asked - - if ($input->getOption('classes')) { - $ret = \array_merge($ret, $this->filterClasses('Classes', \get_declared_classes(), $internal, $user)); - } - - if ($input->getOption('interfaces')) { - $ret = \array_merge($ret, $this->filterClasses('Interfaces', \get_declared_interfaces(), $internal, $user)); - } - - if ($input->getOption('traits')) { - $ret = \array_merge($ret, $this->filterClasses('Traits', \get_declared_traits(), $internal, $user)); - } - - return \array_map([$this, 'prepareClasses'], \array_filter($ret)); - } - - /** - * Filter a list of classes, interfaces or traits. - * - * If $internal or $user is defined, results will be limited to internal or - * user-defined classes as appropriate. - * - * @param string $key - * @param array $classes - * @param bool $internal - * @param bool $user - * - * @return array - */ - protected function filterClasses($key, $classes, $internal, $user) - { - $ret = []; - - if ($internal) { - $ret['Internal ' . $key] = \array_filter($classes, function ($class) { - $refl = new \ReflectionClass($class); - - return $refl->isInternal(); - }); - } - - if ($user) { - $ret['User ' . $key] = \array_filter($classes, function ($class) { - $refl = new \ReflectionClass($class); - - return !$refl->isInternal(); - }); - } - - if (!$user && !$internal) { - $ret[$key] = $classes; - } - - return $ret; - } - - /** - * Prepare formatted class array. - * - * @param array $classes - * - * @return array - */ - protected function prepareClasses(array $classes) - { - \natcasesort($classes); - - // My kingdom for a generator. - $ret = []; - - foreach ($classes as $name) { - if ($this->showItem($name)) { - $ret[$name] = [ - 'name' => $name, - 'style' => self::IS_CLASS, - 'value' => $this->presentSignature($name), - ]; - } - } - - return $ret; - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/Command/ListCommand/ConstantEnumerator.php b/paragonik-backend/vendor/psy/psysh/src/Command/ListCommand/ConstantEnumerator.php deleted file mode 100644 index ad4ce0d..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/Command/ListCommand/ConstantEnumerator.php +++ /dev/null @@ -1,122 +0,0 @@ -getOption('constants')) { - return; - } - - $user = $input->getOption('user'); - $internal = $input->getOption('internal'); - $category = $input->getOption('category'); - - $ret = []; - - if ($user) { - $ret['User Constants'] = $this->getConstants('user'); - } - - if ($internal) { - $ret['Interal Constants'] = $this->getConstants('internal'); - } - - if ($category) { - $label = \ucfirst($category) . ' Constants'; - $ret[$label] = $this->getConstants($category); - } - - if (!$user && !$internal && !$category) { - $ret['Constants'] = $this->getConstants(); - } - - return \array_map([$this, 'prepareConstants'], \array_filter($ret)); - } - - /** - * Get defined constants. - * - * Optionally restrict constants to a given category, e.g. "date". If the - * category is "internal", include all non-user-defined constants. - * - * @param string $category - * - * @return array - */ - protected function getConstants($category = null) - { - if (!$category) { - return \get_defined_constants(); - } - - $consts = \get_defined_constants(true); - - if ($category === 'internal') { - unset($consts['user']); - - return \call_user_func_array('array_merge', $consts); - } - - return isset($consts[$category]) ? $consts[$category] : []; - } - - /** - * Prepare formatted constant array. - * - * @param array $constants - * - * @return array - */ - protected function prepareConstants(array $constants) - { - // My kingdom for a generator. - $ret = []; - - $names = \array_keys($constants); - \natcasesort($names); - - foreach ($names as $name) { - if ($this->showItem($name)) { - $ret[$name] = [ - 'name' => $name, - 'style' => self::IS_CONSTANT, - 'value' => $this->presentRef($constants[$name]), - ]; - } - } - - return $ret; - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/Command/ListCommand/Enumerator.php b/paragonik-backend/vendor/psy/psysh/src/Command/ListCommand/Enumerator.php deleted file mode 100644 index 616543d..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/Command/ListCommand/Enumerator.php +++ /dev/null @@ -1,106 +0,0 @@ -filter = new FilterOptions(); - $this->presenter = $presenter; - } - - /** - * Return a list of categorized things with the given input options and target. - * - * @param InputInterface $input - * @param \Reflector $reflector - * @param mixed $target - * - * @return array - */ - public function enumerate(InputInterface $input, \Reflector $reflector = null, $target = null) - { - $this->filter->bind($input); - - return $this->listItems($input, $reflector, $target); - } - - /** - * Enumerate specific items with the given input options and target. - * - * Implementing classes should return an array of arrays: - * - * [ - * 'Constants' => [ - * 'FOO' => [ - * 'name' => 'FOO', - * 'style' => 'public', - * 'value' => '123', - * ], - * ], - * ] - * - * @param InputInterface $input - * @param \Reflector $reflector - * @param mixed $target - * - * @return array - */ - abstract protected function listItems(InputInterface $input, \Reflector $reflector = null, $target = null); - - protected function showItem($name) - { - return $this->filter->match($name); - } - - protected function presentRef($value) - { - return $this->presenter->presentRef($value); - } - - protected function presentSignature($target) - { - // This might get weird if the signature is actually for a reflector. Hrm. - if (!$target instanceof \Reflector) { - $target = Mirror::get($target); - } - - return SignatureFormatter::format($target); - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/Command/ListCommand/FunctionEnumerator.php b/paragonik-backend/vendor/psy/psysh/src/Command/ListCommand/FunctionEnumerator.php deleted file mode 100644 index 6c3fa5e..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/Command/ListCommand/FunctionEnumerator.php +++ /dev/null @@ -1,112 +0,0 @@ -getOption('functions')) { - return; - } - - if ($input->getOption('user')) { - $label = 'User Functions'; - $functions = $this->getFunctions('user'); - } elseif ($input->getOption('internal')) { - $label = 'Internal Functions'; - $functions = $this->getFunctions('internal'); - } else { - $label = 'Functions'; - $functions = $this->getFunctions(); - } - - $functions = $this->prepareFunctions($functions); - - if (empty($functions)) { - return; - } - - $ret = []; - $ret[$label] = $functions; - - return $ret; - } - - /** - * Get defined functions. - * - * Optionally limit functions to "user" or "internal" functions. - * - * @param null|string $type "user" or "internal" (default: both) - * - * @return array - */ - protected function getFunctions($type = null) - { - $funcs = \get_defined_functions(); - - if ($type) { - return $funcs[$type]; - } else { - return \array_merge($funcs['internal'], $funcs['user']); - } - } - - /** - * Prepare formatted function array. - * - * @param array $functions - * - * @return array - */ - protected function prepareFunctions(array $functions) - { - \natcasesort($functions); - - // My kingdom for a generator. - $ret = []; - - foreach ($functions as $name) { - if ($this->showItem($name)) { - $ret[$name] = [ - 'name' => $name, - 'style' => self::IS_FUNCTION, - 'value' => $this->presentSignature($name), - ]; - } - } - - return $ret; - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/Command/ListCommand/GlobalVariableEnumerator.php b/paragonik-backend/vendor/psy/psysh/src/Command/ListCommand/GlobalVariableEnumerator.php deleted file mode 100644 index f51791c..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/Command/ListCommand/GlobalVariableEnumerator.php +++ /dev/null @@ -1,92 +0,0 @@ -getOption('globals')) { - return; - } - - $globals = $this->prepareGlobals($this->getGlobals()); - - if (empty($globals)) { - return; - } - - return [ - 'Global Variables' => $globals, - ]; - } - - /** - * Get defined global variables. - * - * @return array - */ - protected function getGlobals() - { - global $GLOBALS; - - $names = \array_keys($GLOBALS); - \natcasesort($names); - - $ret = []; - foreach ($names as $name) { - $ret[$name] = $GLOBALS[$name]; - } - - return $ret; - } - - /** - * Prepare formatted global variable array. - * - * @param array $globals - * - * @return array - */ - protected function prepareGlobals($globals) - { - // My kingdom for a generator. - $ret = []; - - foreach ($globals as $name => $value) { - if ($this->showItem($name)) { - $fname = '$' . $name; - $ret[$fname] = [ - 'name' => $fname, - 'style' => self::IS_GLOBAL, - 'value' => $this->presentRef($value), - ]; - } - } - - return $ret; - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/Command/ListCommand/InterfaceEnumerator.php b/paragonik-backend/vendor/psy/psysh/src/Command/ListCommand/InterfaceEnumerator.php deleted file mode 100644 index 4531fce..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/Command/ListCommand/InterfaceEnumerator.php +++ /dev/null @@ -1,89 +0,0 @@ -getOption('interfaces')) { - return; - } - - $interfaces = $this->prepareInterfaces(\get_declared_interfaces()); - - if (empty($interfaces)) { - return; - } - - return [ - 'Interfaces' => $interfaces, - ]; - } - - /** - * Prepare formatted interface array. - * - * @param array $interfaces - * - * @return array - */ - protected function prepareInterfaces(array $interfaces) - { - \natcasesort($interfaces); - - // My kingdom for a generator. - $ret = []; - - foreach ($interfaces as $name) { - if ($this->showItem($name)) { - $ret[$name] = [ - 'name' => $name, - 'style' => self::IS_CLASS, - 'value' => $this->presentSignature($name), - ]; - } - } - - return $ret; - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/Command/ListCommand/MethodEnumerator.php b/paragonik-backend/vendor/psy/psysh/src/Command/ListCommand/MethodEnumerator.php deleted file mode 100644 index 49d7e10..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/Command/ListCommand/MethodEnumerator.php +++ /dev/null @@ -1,145 +0,0 @@ -getOption('methods')) { - return; - } - - $showAll = $input->getOption('all'); - $noInherit = $input->getOption('no-inherit'); - $methods = $this->prepareMethods($this->getMethods($showAll, $reflector, $noInherit)); - - if (empty($methods)) { - return; - } - - $ret = []; - $ret[$this->getKindLabel($reflector)] = $methods; - - return $ret; - } - - /** - * Get defined methods for the given class or object Reflector. - * - * @param bool $showAll Include private and protected methods - * @param \Reflector $reflector - * @param bool $noInherit Exclude inherited methods - * - * @return array - */ - protected function getMethods($showAll, \Reflector $reflector, $noInherit = false) - { - $className = $reflector->getName(); - - $methods = []; - foreach ($reflector->getMethods() as $name => $method) { - if ($noInherit && $method->getDeclaringClass()->getName() !== $className) { - continue; - } - - if ($showAll || $method->isPublic()) { - $methods[$method->getName()] = $method; - } - } - - \ksort($methods, SORT_NATURAL | SORT_FLAG_CASE); - - return $methods; - } - - /** - * Prepare formatted method array. - * - * @param array $methods - * - * @return array - */ - protected function prepareMethods(array $methods) - { - // My kingdom for a generator. - $ret = []; - - foreach ($methods as $name => $method) { - if ($this->showItem($name)) { - $ret[$name] = [ - 'name' => $name, - 'style' => $this->getVisibilityStyle($method), - 'value' => $this->presentSignature($method), - ]; - } - } - - return $ret; - } - - /** - * Get a label for the particular kind of "class" represented. - * - * @param \ReflectionClass $reflector - * - * @return string - */ - protected function getKindLabel(\ReflectionClass $reflector) - { - if ($reflector->isInterface()) { - return 'Interface Methods'; - } elseif (\method_exists($reflector, 'isTrait') && $reflector->isTrait()) { - return 'Trait Methods'; - } else { - return 'Class Methods'; - } - } - - /** - * Get output style for the given method's visibility. - * - * @param \ReflectionMethod $method - * - * @return string - */ - private function getVisibilityStyle(\ReflectionMethod $method) - { - if ($method->isPublic()) { - return self::IS_PUBLIC; - } elseif ($method->isProtected()) { - return self::IS_PROTECTED; - } else { - return self::IS_PRIVATE; - } - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/Command/ListCommand/PropertyEnumerator.php b/paragonik-backend/vendor/psy/psysh/src/Command/ListCommand/PropertyEnumerator.php deleted file mode 100644 index d56cade..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/Command/ListCommand/PropertyEnumerator.php +++ /dev/null @@ -1,180 +0,0 @@ -getOption('properties')) { - return; - } - - $showAll = $input->getOption('all'); - $noInherit = $input->getOption('no-inherit'); - $properties = $this->prepareProperties($this->getProperties($showAll, $reflector, $noInherit), $target); - - if (empty($properties)) { - return; - } - - $ret = []; - $ret[$this->getKindLabel($reflector)] = $properties; - - return $ret; - } - - /** - * Get defined properties for the given class or object Reflector. - * - * @param bool $showAll Include private and protected properties - * @param \Reflector $reflector - * @param bool $noInherit Exclude inherited properties - * - * @return array - */ - protected function getProperties($showAll, \Reflector $reflector, $noInherit = false) - { - $className = $reflector->getName(); - - $properties = []; - foreach ($reflector->getProperties() as $property) { - if ($noInherit && $property->getDeclaringClass()->getName() !== $className) { - continue; - } - - if ($showAll || $property->isPublic()) { - $properties[$property->getName()] = $property; - } - } - - \ksort($properties, SORT_NATURAL | SORT_FLAG_CASE); - - return $properties; - } - - /** - * Prepare formatted property array. - * - * @param array $properties - * - * @return array - */ - protected function prepareProperties(array $properties, $target = null) - { - // My kingdom for a generator. - $ret = []; - - foreach ($properties as $name => $property) { - if ($this->showItem($name)) { - $fname = '$' . $name; - $ret[$fname] = [ - 'name' => $fname, - 'style' => $this->getVisibilityStyle($property), - 'value' => $this->presentValue($property, $target), - ]; - } - } - - return $ret; - } - - /** - * Get a label for the particular kind of "class" represented. - * - * @param \ReflectionClass $reflector - * - * @return string - */ - protected function getKindLabel(\ReflectionClass $reflector) - { - if ($reflector->isInterface()) { - return 'Interface Properties'; - } elseif (\method_exists($reflector, 'isTrait') && $reflector->isTrait()) { - return 'Trait Properties'; - } else { - return 'Class Properties'; - } - } - - /** - * Get output style for the given property's visibility. - * - * @param \ReflectionProperty $property - * - * @return string - */ - private function getVisibilityStyle(\ReflectionProperty $property) - { - if ($property->isPublic()) { - return self::IS_PUBLIC; - } elseif ($property->isProtected()) { - return self::IS_PROTECTED; - } else { - return self::IS_PRIVATE; - } - } - - /** - * Present the $target's current value for a reflection property. - * - * @param \ReflectionProperty $property - * @param mixed $target - * - * @return string - */ - protected function presentValue(\ReflectionProperty $property, $target) - { - // If $target is a class, trait or interface (try to) get the default - // value for the property. - if (!\is_object($target)) { - try { - $refl = new \ReflectionClass($target); - $props = $refl->getDefaultProperties(); - if (\array_key_exists($property->name, $props)) { - $suffix = $property->isStatic() ? '' : ' '; - - return $this->presentRef($props[$property->name]) . $suffix; - } - } catch (\Exception $e) { - // Well, we gave it a shot. - } - - return ''; - } - - $property->setAccessible(true); - $value = $property->getValue($target); - - return $this->presentRef($value); - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/Command/ListCommand/TraitEnumerator.php b/paragonik-backend/vendor/psy/psysh/src/Command/ListCommand/TraitEnumerator.php deleted file mode 100644 index 3ee6015..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/Command/ListCommand/TraitEnumerator.php +++ /dev/null @@ -1,89 +0,0 @@ -getOption('traits')) { - return; - } - - $traits = $this->prepareTraits(\get_declared_traits()); - - if (empty($traits)) { - return; - } - - return [ - 'Traits' => $traits, - ]; - } - - /** - * Prepare formatted trait array. - * - * @param array $traits - * - * @return array - */ - protected function prepareTraits(array $traits) - { - \natcasesort($traits); - - // My kingdom for a generator. - $ret = []; - - foreach ($traits as $name) { - if ($this->showItem($name)) { - $ret[$name] = [ - 'name' => $name, - 'style' => self::IS_CLASS, - 'value' => $this->presentSignature($name), - ]; - } - } - - return $ret; - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/Command/ListCommand/VariableEnumerator.php b/paragonik-backend/vendor/psy/psysh/src/Command/ListCommand/VariableEnumerator.php deleted file mode 100644 index 0586c20..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/Command/ListCommand/VariableEnumerator.php +++ /dev/null @@ -1,137 +0,0 @@ -context = $context; - parent::__construct($presenter); - } - - /** - * {@inheritdoc} - */ - protected function listItems(InputInterface $input, \Reflector $reflector = null, $target = null) - { - // only list variables when no Reflector is present. - if ($reflector !== null || $target !== null) { - return; - } - - // only list variables if we are specifically asked - if (!$input->getOption('vars')) { - return; - } - - $showAll = $input->getOption('all'); - $variables = $this->prepareVariables($this->getVariables($showAll)); - - if (empty($variables)) { - return; - } - - return [ - 'Variables' => $variables, - ]; - } - - /** - * Get scope variables. - * - * @param bool $showAll Include special variables (e.g. $_) - * - * @return array - */ - protected function getVariables($showAll) - { - $scopeVars = $this->context->getAll(); - \uksort($scopeVars, function ($a, $b) { - $aIndex = \array_search($a, self::$specialNames); - $bIndex = \array_search($b, self::$specialNames); - - if ($aIndex !== false) { - if ($bIndex !== false) { - return $aIndex - $bIndex; - } - - return 1; - } - - if ($bIndex !== false) { - return -1; - } - - return \strnatcasecmp($a, $b); - }); - - $ret = []; - foreach ($scopeVars as $name => $val) { - if (!$showAll && \in_array($name, self::$specialNames)) { - continue; - } - - $ret[$name] = $val; - } - - return $ret; - } - - /** - * Prepare formatted variable array. - * - * @param array $variables - * - * @return array - */ - protected function prepareVariables(array $variables) - { - // My kingdom for a generator. - $ret = []; - foreach ($variables as $name => $val) { - if ($this->showItem($name)) { - $fname = '$' . $name; - $ret[$fname] = [ - 'name' => $fname, - 'style' => \in_array($name, self::$specialNames) ? self::IS_PRIVATE : self::IS_PUBLIC, - 'value' => $this->presentRef($val), - ]; - } - } - - return $ret; - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/Command/ParseCommand.php b/paragonik-backend/vendor/psy/psysh/src/Command/ParseCommand.php deleted file mode 100644 index 8de7973..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/Command/ParseCommand.php +++ /dev/null @@ -1,182 +0,0 @@ -parserFactory = new ParserFactory(); - $this->parsers = []; - - parent::__construct($name); - } - - /** - * ContextAware interface. - * - * @param Context $context - */ - public function setContext(Context $context) - { - $this->context = $context; - } - - /** - * PresenterAware interface. - * - * @param Presenter $presenter - */ - public function setPresenter(Presenter $presenter) - { - $this->presenter = clone $presenter; - $this->presenter->addCasters([ - 'PhpParser\Node' => function (Node $node, array $a) { - $a = [ - Caster::PREFIX_VIRTUAL . 'type' => $node->getType(), - Caster::PREFIX_VIRTUAL . 'attributes' => $node->getAttributes(), - ]; - - foreach ($node->getSubNodeNames() as $name) { - $a[Caster::PREFIX_VIRTUAL . $name] = $node->$name; - } - - return $a; - }, - ]); - } - - /** - * {@inheritdoc} - */ - protected function configure() - { - $definition = [ - new CodeArgument('code', CodeArgument::REQUIRED, 'PHP code to parse.'), - new InputOption('depth', '', InputOption::VALUE_REQUIRED, 'Depth to parse.', 10), - ]; - - if ($this->parserFactory->hasKindsSupport()) { - $msg = 'One of PhpParser\\ParserFactory constants: ' - . \implode(', ', ParserFactory::getPossibleKinds()) - . " (default is based on current interpreter's version)."; - $defaultKind = $this->parserFactory->getDefaultKind(); - - $definition[] = new InputOption('kind', '', InputOption::VALUE_REQUIRED, $msg, $defaultKind); - } - - $this - ->setName('parse') - ->setDefinition($definition) - ->setDescription('Parse PHP code and show the abstract syntax tree.') - ->setHelp( - <<<'HELP' -Parse PHP code and show the abstract syntax tree. - -This command is used in the development of PsySH. Given a string of PHP code, -it pretty-prints the PHP Parser parse tree. - -See https://github.com/nikic/PHP-Parser - -It prolly won't be super useful for most of you, but it's here if you want to play. -HELP - ); - } - - /** - * {@inheritdoc} - */ - protected function execute(InputInterface $input, OutputInterface $output) - { - $code = $input->getArgument('code'); - if (\strpos('parserFactory->hasKindsSupport() ? $input->getOption('kind') : null; - $depth = $input->getOption('depth'); - $nodes = $this->parse($this->getParser($parserKind), $code); - $output->page($this->presenter->present($nodes, $depth)); - - $this->context->setReturnValue($nodes); - - return 0; - } - - /** - * Lex and parse a string of code into statements. - * - * @param Parser $parser - * @param string $code - * - * @return array Statements - */ - private function parse(Parser $parser, $code) - { - try { - return $parser->parse($code); - } catch (\PhpParser\Error $e) { - if (\strpos($e->getMessage(), 'unexpected EOF') === false) { - throw $e; - } - - // If we got an unexpected EOF, let's try it again with a semicolon. - return $parser->parse($code . ';'); - } - } - - /** - * Get (or create) the Parser instance. - * - * @param string|null $kind One of Psy\ParserFactory constants (only for PHP parser 2.0 and above) - * - * @return Parser - */ - private function getParser($kind = null) - { - if (!\array_key_exists($kind, $this->parsers)) { - $this->parsers[$kind] = $this->parserFactory->createParser($kind); - } - - return $this->parsers[$kind]; - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/Command/PsyVersionCommand.php b/paragonik-backend/vendor/psy/psysh/src/Command/PsyVersionCommand.php deleted file mode 100644 index 737475b..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/Command/PsyVersionCommand.php +++ /dev/null @@ -1,43 +0,0 @@ -setName('version') - ->setDefinition([]) - ->setDescription('Show Psy Shell version.') - ->setHelp('Show Psy Shell version.'); - } - - /** - * {@inheritdoc} - */ - protected function execute(InputInterface $input, OutputInterface $output) - { - $output->writeln($this->getApplication()->getVersion()); - - return 0; - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/Command/ReflectingCommand.php b/paragonik-backend/vendor/psy/psysh/src/Command/ReflectingCommand.php deleted file mode 100644 index 3286328..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/Command/ReflectingCommand.php +++ /dev/null @@ -1,303 +0,0 @@ -)(\w+)$/'; - - /** - * Context instance (for ContextAware interface). - * - * @var Context - */ - protected $context; - - /** - * ContextAware interface. - * - * @param Context $context - */ - public function setContext(Context $context) - { - $this->context = $context; - } - - /** - * Get the target for a value. - * - * @throws \InvalidArgumentException when the value specified can't be resolved - * - * @param string $valueName Function, class, variable, constant, method or property name - * - * @return array (class or instance name, member name, kind) - */ - protected function getTarget($valueName) - { - $valueName = \trim($valueName); - $matches = []; - switch (true) { - case \preg_match(self::CLASS_OR_FUNC, $valueName, $matches): - return [$this->resolveName($matches[0], true), null, 0]; - - case \preg_match(self::CLASS_MEMBER, $valueName, $matches): - return [$this->resolveName($matches[1]), $matches[2], Mirror::CONSTANT | Mirror::METHOD]; - - case \preg_match(self::CLASS_STATIC, $valueName, $matches): - return [$this->resolveName($matches[1]), $matches[2], Mirror::STATIC_PROPERTY | Mirror::PROPERTY]; - - case \preg_match(self::INSTANCE_MEMBER, $valueName, $matches): - if ($matches[2] === '->') { - $kind = Mirror::METHOD | Mirror::PROPERTY; - } else { - $kind = Mirror::CONSTANT | Mirror::METHOD; - } - - return [$this->resolveObject($matches[1]), $matches[3], $kind]; - - default: - return [$this->resolveObject($valueName), null, 0]; - } - } - - /** - * Resolve a class or function name (with the current shell namespace). - * - * @throws ErrorException when `self` or `static` is used in a non-class scope - * - * @param string $name - * @param bool $includeFunctions (default: false) - * - * @return string - */ - protected function resolveName($name, $includeFunctions = false) - { - $shell = $this->getApplication(); - - // While not *technically* 100% accurate, let's treat `self` and `static` as equivalent. - if (\in_array(\strtolower($name), ['self', 'static'])) { - if ($boundClass = $shell->getBoundClass()) { - return $boundClass; - } - - if ($boundObject = $shell->getBoundObject()) { - return \get_class($boundObject); - } - - $msg = \sprintf('Cannot use "%s" when no class scope is active', \strtolower($name)); - throw new ErrorException($msg, 0, E_USER_ERROR, "eval()'d code", 1); - } - - if (\substr($name, 0, 1) === '\\') { - return $name; - } - - if ($namespace = $shell->getNamespace()) { - $fullName = $namespace . '\\' . $name; - - if (\class_exists($fullName) || \interface_exists($fullName) || ($includeFunctions && \function_exists($fullName))) { - return $fullName; - } - } - - return $name; - } - - /** - * Get a Reflector and documentation for a function, class or instance, constant, method or property. - * - * @param string $valueName Function, class, variable, constant, method or property name - * - * @return array (value, Reflector) - */ - protected function getTargetAndReflector($valueName) - { - list($value, $member, $kind) = $this->getTarget($valueName); - - return [$value, Mirror::get($value, $member, $kind)]; - } - - /** - * Resolve code to a value in the current scope. - * - * @throws RuntimeException when the code does not return a value in the current scope - * - * @param string $code - * - * @return mixed Variable value - */ - protected function resolveCode($code) - { - try { - $value = $this->getApplication()->execute($code, true); - } catch (\Exception $e) { - // Swallow all exceptions? - } - - if (!isset($value) || $value instanceof NoReturnValue) { - throw new RuntimeException('Unknown target: ' . $code); - } - - return $value; - } - - /** - * Resolve code to an object in the current scope. - * - * @throws RuntimeException when the code resolves to a non-object value - * - * @param string $code - * - * @return object Variable instance - */ - private function resolveObject($code) - { - $value = $this->resolveCode($code); - - if (!\is_object($value)) { - throw new RuntimeException('Unable to inspect a non-object'); - } - - return $value; - } - - /** - * @deprecated Use `resolveCode` instead - * - * @param string $name - * - * @return mixed Variable instance - */ - protected function resolveInstance($name) - { - @\trigger_error('`resolveInstance` is deprecated; use `resolveCode` instead.', E_USER_DEPRECATED); - - return $this->resolveCode($name); - } - - /** - * Get a variable from the current shell scope. - * - * @param string $name - * - * @return mixed - */ - protected function getScopeVariable($name) - { - return $this->context->get($name); - } - - /** - * Get all scope variables from the current shell scope. - * - * @return array - */ - protected function getScopeVariables() - { - return $this->context->getAll(); - } - - /** - * Given a Reflector instance, set command-scope variables in the shell - * execution context. This is used to inject magic $__class, $__method and - * $__file variables (as well as a handful of others). - * - * @param \Reflector $reflector - */ - protected function setCommandScopeVariables(\Reflector $reflector) - { - $vars = []; - - switch (\get_class($reflector)) { - case 'ReflectionClass': - case 'ReflectionObject': - $vars['__class'] = $reflector->name; - if ($reflector->inNamespace()) { - $vars['__namespace'] = $reflector->getNamespaceName(); - } - break; - - case 'ReflectionMethod': - $vars['__method'] = \sprintf('%s::%s', $reflector->class, $reflector->name); - $vars['__class'] = $reflector->class; - $classReflector = $reflector->getDeclaringClass(); - if ($classReflector->inNamespace()) { - $vars['__namespace'] = $classReflector->getNamespaceName(); - } - break; - - case 'ReflectionFunction': - $vars['__function'] = $reflector->name; - if ($reflector->inNamespace()) { - $vars['__namespace'] = $reflector->getNamespaceName(); - } - break; - - case 'ReflectionGenerator': - $funcReflector = $reflector->getFunction(); - $vars['__function'] = $funcReflector->name; - if ($funcReflector->inNamespace()) { - $vars['__namespace'] = $funcReflector->getNamespaceName(); - } - if ($fileName = $reflector->getExecutingFile()) { - $vars['__file'] = $fileName; - $vars['__line'] = $reflector->getExecutingLine(); - $vars['__dir'] = \dirname($fileName); - } - break; - - case 'ReflectionProperty': - case 'ReflectionClassConstant': - case 'Psy\Reflection\ReflectionClassConstant': - $classReflector = $reflector->getDeclaringClass(); - $vars['__class'] = $classReflector->name; - if ($classReflector->inNamespace()) { - $vars['__namespace'] = $classReflector->getNamespaceName(); - } - // no line for these, but this'll do - if ($fileName = $reflector->getDeclaringClass()->getFileName()) { - $vars['__file'] = $fileName; - $vars['__dir'] = \dirname($fileName); - } - break; - - case 'Psy\Reflection\ReflectionConstant_': - if ($reflector->inNamespace()) { - $vars['__namespace'] = $reflector->getNamespaceName(); - } - break; - } - - if ($reflector instanceof \ReflectionClass || $reflector instanceof \ReflectionFunctionAbstract) { - if ($fileName = $reflector->getFileName()) { - $vars['__file'] = $fileName; - $vars['__line'] = $reflector->getStartLine(); - $vars['__dir'] = \dirname($fileName); - } - } - - $this->context->setCommandScopeVariables($vars); - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/Command/ShowCommand.php b/paragonik-backend/vendor/psy/psysh/src/Command/ShowCommand.php deleted file mode 100644 index c0934ab..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/Command/ShowCommand.php +++ /dev/null @@ -1,292 +0,0 @@ -colorMode = $colorMode ?: Configuration::COLOR_MODE_AUTO; - - parent::__construct(); - } - - /** - * {@inheritdoc} - */ - protected function configure() - { - $this - ->setName('show') - ->setDefinition([ - new CodeArgument('target', CodeArgument::OPTIONAL, 'Function, class, instance, constant, method or property to show.'), - new InputOption('ex', null, InputOption::VALUE_OPTIONAL, 'Show last exception context. Optionally specify a stack index.', 1), - ]) - ->setDescription('Show the code for an object, class, constant, method or property.') - ->setHelp( - <<cat --ex defaults to showing the lines surrounding the location of the last -exception. Invoking it more than once travels up the exception's stack trace, -and providing a number shows the context of the given index of the trace. - -e.g. ->>> show \$myObject ->>> show Psy\Shell::debug ->>> show --ex ->>> show --ex 3 -HELP - ); - } - - /** - * {@inheritdoc} - */ - protected function execute(InputInterface $input, OutputInterface $output) - { - // n.b. As far as I can tell, InputInterface doesn't want to tell me - // whether an option with an optional value was actually passed. If you - // call `$input->getOption('ex')`, it will return the default, both when - // `--ex` is specified with no value, and when `--ex` isn't specified at - // all. - // - // So we're doing something sneaky here. If we call `getOptions`, it'll - // return the default value when `--ex` is not present, and `null` if - // `--ex` is passed with no value. /shrug - $opts = $input->getOptions(); - - // Strict comparison to `1` (the default value) here, because `--ex 1` - // will come in as `"1"`. Now we can tell the difference between - // "no --ex present", because it's the integer 1, "--ex with no value", - // because it's `null`, and "--ex 1", because it's the string "1". - if ($opts['ex'] !== 1) { - if ($input->getArgument('target')) { - throw new \InvalidArgumentException('Too many arguments (supply either "target" or "--ex")'); - } - - $this->writeExceptionContext($input, $output); - - return 0; - } - - if ($input->getArgument('target')) { - $this->writeCodeContext($input, $output); - - return 0; - } - - throw new RuntimeException('Not enough arguments (missing: "target")'); - } - - private function writeCodeContext(InputInterface $input, OutputInterface $output) - { - list($target, $reflector) = $this->getTargetAndReflector($input->getArgument('target')); - - // Set some magic local variables - $this->setCommandScopeVariables($reflector); - - try { - $output->page(CodeFormatter::format($reflector, $this->colorMode), OutputInterface::OUTPUT_RAW); - } catch (RuntimeException $e) { - $output->writeln(SignatureFormatter::format($reflector)); - throw $e; - } - } - - private function writeExceptionContext(InputInterface $input, OutputInterface $output) - { - $exception = $this->context->getLastException(); - if ($exception !== $this->lastException) { - $this->lastException = null; - $this->lastExceptionIndex = null; - } - - $opts = $input->getOptions(); - if ($opts['ex'] === null) { - if ($this->lastException && $this->lastExceptionIndex !== null) { - $index = $this->lastExceptionIndex + 1; - } else { - $index = 0; - } - } else { - $index = \max(0, \intval($input->getOption('ex')) - 1); - } - - $trace = $exception->getTrace(); - \array_unshift($trace, [ - 'file' => $exception->getFile(), - 'line' => $exception->getLine(), - ]); - - if ($index >= \count($trace)) { - $index = 0; - } - - $this->lastException = $exception; - $this->lastExceptionIndex = $index; - - $output->writeln($this->getApplication()->formatException($exception)); - $output->writeln('--'); - $this->writeTraceLine($output, $trace, $index); - $this->writeTraceCodeSnippet($output, $trace, $index); - - $this->setCommandScopeVariablesFromContext($trace[$index]); - } - - private function writeTraceLine(OutputInterface $output, array $trace, $index) - { - $file = isset($trace[$index]['file']) ? $this->replaceCwd($trace[$index]['file']) : 'n/a'; - $line = isset($trace[$index]['line']) ? $trace[$index]['line'] : 'n/a'; - - $output->writeln(\sprintf( - 'From %s:%d at level %d of backtrace (of %d).', - OutputFormatter::escape($file), - OutputFormatter::escape($line), - $index + 1, - \count($trace) - )); - } - - private function replaceCwd($file) - { - if ($cwd = \getcwd()) { - $cwd = \rtrim($cwd, DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR; - } - - if ($cwd === false) { - return $file; - } else { - return \preg_replace('/^' . \preg_quote($cwd, '/') . '/', '', $file); - } - } - - private function writeTraceCodeSnippet(OutputInterface $output, array $trace, $index) - { - if (!isset($trace[$index]['file'])) { - return; - } - - $file = $trace[$index]['file']; - if ($fileAndLine = $this->extractEvalFileAndLine($file)) { - list($file, $line) = $fileAndLine; - } else { - if (!isset($trace[$index]['line'])) { - return; - } - - $line = $trace[$index]['line']; - } - - if (\is_file($file)) { - $code = @\file_get_contents($file); - } - - if (empty($code)) { - return; - } - - $output->write($this->getHighlighter()->getCodeSnippet($code, $line, 5, 5), false, OutputInterface::OUTPUT_RAW); - } - - private function getHighlighter() - { - if (!$this->highlighter) { - $factory = new ConsoleColorFactory($this->colorMode); - $this->highlighter = new Highlighter($factory->getConsoleColor()); - } - - return $this->highlighter; - } - - private function setCommandScopeVariablesFromContext(array $context) - { - $vars = []; - - if (isset($context['class'])) { - $vars['__class'] = $context['class']; - if (isset($context['function'])) { - $vars['__method'] = $context['function']; - } - - try { - $refl = new \ReflectionClass($context['class']); - if ($namespace = $refl->getNamespaceName()) { - $vars['__namespace'] = $namespace; - } - } catch (\Exception $e) { - // oh well - } - } elseif (isset($context['function'])) { - $vars['__function'] = $context['function']; - - try { - $refl = new \ReflectionFunction($context['function']); - if ($namespace = $refl->getNamespaceName()) { - $vars['__namespace'] = $namespace; - } - } catch (\Exception $e) { - // oh well - } - } - - if (isset($context['file'])) { - $file = $context['file']; - if ($fileAndLine = $this->extractEvalFileAndLine($file)) { - list($file, $line) = $fileAndLine; - } elseif (isset($context['line'])) { - $line = $context['line']; - } - - if (\is_file($file)) { - $vars['__file'] = $file; - if (isset($line)) { - $vars['__line'] = $line; - } - $vars['__dir'] = \dirname($file); - } - } - - $this->context->setCommandScopeVariables($vars); - } - - private function extractEvalFileAndLine($file) - { - if (\preg_match('/(.*)\\((\\d+)\\) : eval\\(\\)\'d code$/', $file, $matches)) { - return [$matches[1], $matches[2]]; - } - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/Command/SudoCommand.php b/paragonik-backend/vendor/psy/psysh/src/Command/SudoCommand.php deleted file mode 100644 index 95b2146..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/Command/SudoCommand.php +++ /dev/null @@ -1,145 +0,0 @@ -parser = $parserFactory->createParser(); - - $this->traverser = new NodeTraverser(); - $this->traverser->addVisitor(new SudoVisitor()); - - $this->printer = new Printer(); - - parent::__construct($name); - } - - /** - * Set the Shell's Readline service. - * - * @param Readline $readline - */ - public function setReadline(Readline $readline) - { - $this->readline = $readline; - } - - /** - * {@inheritdoc} - */ - protected function configure() - { - $this - ->setName('sudo') - ->setDefinition([ - new CodeArgument('code', CodeArgument::REQUIRED, 'Code to execute.'), - ]) - ->setDescription('Evaluate PHP code, bypassing visibility restrictions.') - ->setHelp( - <<<'HELP' -Evaluate PHP code, bypassing visibility restrictions. - -e.g. ->>> $sekret->whisper("hi") -PHP error: Call to private method Sekret::whisper() from context '' on line 1 - ->>> sudo $sekret->whisper("hi") -=> "hi" - ->>> $sekret->word -PHP error: Cannot access private property Sekret::$word on line 1 - ->>> sudo $sekret->word -=> "hi" - ->>> $sekret->word = "please" -PHP error: Cannot access private property Sekret::$word on line 1 - ->>> sudo $sekret->word = "please" -=> "please" -HELP - ); - } - - /** - * {@inheritdoc} - */ - protected function execute(InputInterface $input, OutputInterface $output) - { - $code = $input->getArgument('code'); - - // special case for !! - if ($code === '!!') { - $history = $this->readline->listHistory(); - if (\count($history) < 2) { - throw new \InvalidArgumentException('No previous command to replay'); - } - $code = $history[\count($history) - 2]; - } - - if (\strpos('traverser->traverse($this->parse($code)); - - $sudoCode = $this->printer->prettyPrint($nodes); - $shell = $this->getApplication(); - $shell->addCode($sudoCode, !$shell->hasCode()); - - return 0; - } - - /** - * Lex and parse a string of code into statements. - * - * @param string $code - * - * @return array Statements - */ - private function parse($code) - { - try { - return $this->parser->parse($code); - } catch (\PhpParser\Error $e) { - if (\strpos($e->getMessage(), 'unexpected EOF') === false) { - throw $e; - } - - // If we got an unexpected EOF, let's try it again with a semicolon. - return $this->parser->parse($code . ';'); - } - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/Command/ThrowUpCommand.php b/paragonik-backend/vendor/psy/psysh/src/Command/ThrowUpCommand.php deleted file mode 100644 index 201cd92..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/Command/ThrowUpCommand.php +++ /dev/null @@ -1,174 +0,0 @@ -parser = $parserFactory->createParser(); - $this->printer = new Printer(); - - parent::__construct($name); - } - - /** - * ContextAware interface. - * - * @param Context $context - */ - public function setContext(Context $context) - { - $this->context = $context; - } - - /** - * {@inheritdoc} - */ - protected function configure() - { - $this - ->setName('throw-up') - ->setDefinition([ - new CodeArgument('exception', CodeArgument::OPTIONAL, 'Exception or Error to throw.'), - ]) - ->setDescription('Throw an exception or error out of the Psy Shell.') - ->setHelp( - <<<'HELP' -Throws an exception or error out of the current the Psy Shell instance. - -By default it throws the most recent exception. - -e.g. ->>> throw-up ->>> throw-up $e ->>> throw-up new Exception('WHEEEEEE!') ->>> throw-up "bye!" -HELP - ); - } - - /** - * {@inheritdoc} - * - * @throws InvalidArgumentException if there is no exception to throw - */ - protected function execute(InputInterface $input, OutputInterface $output) - { - $args = $this->prepareArgs($input->getArgument('exception')); - $throwStmt = new Throw_(new StaticCall(new FullyQualifiedName(self::THROW_CLASS), 'fromThrowable', $args)); - $throwCode = $this->printer->prettyPrint([$throwStmt]); - - $shell = $this->getApplication(); - $shell->addCode($throwCode, !$shell->hasCode()); - - return 0; - } - - /** - * Parse the supplied command argument. - * - * If no argument was given, this falls back to `$_e` - * - * @throws InvalidArgumentException if there is no exception to throw - * - * @param string $code - * - * @return Arg[] - */ - private function prepareArgs($code = null) - { - if (!$code) { - // Default to last exception if nothing else was supplied - return [new Arg(new Variable('_e'))]; - } - - if (\strpos('parse($code); - if (\count($nodes) !== 1) { - throw new \InvalidArgumentException('No idea how to throw this'); - } - - $node = $nodes[0]; - - // Make this work for PHP Parser v3.x - $expr = isset($node->expr) ? $node->expr : $node; - - $args = [new Arg($expr, false, false, $node->getAttributes())]; - - // Allow throwing via a string, e.g. `throw-up "SUP"` - if ($expr instanceof String_) { - return [new New_(new FullyQualifiedName('Exception'), $args)]; - } - - return $args; - } - - /** - * Lex and parse a string of code into statements. - * - * @param string $code - * - * @return array Statements - */ - private function parse($code) - { - try { - return $this->parser->parse($code); - } catch (\PhpParser\Error $e) { - if (\strpos($e->getMessage(), 'unexpected EOF') === false) { - throw $e; - } - - // If we got an unexpected EOF, let's try it again with a semicolon. - return $this->parser->parse($code . ';'); - } - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/Command/TimeitCommand.php b/paragonik-backend/vendor/psy/psysh/src/Command/TimeitCommand.php deleted file mode 100644 index 2bbc26c..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/Command/TimeitCommand.php +++ /dev/null @@ -1,197 +0,0 @@ -Command took %.6f seconds to complete.'; - const AVG_RESULT_MSG = 'Command took %.6f seconds on average (%.6f median; %.6f total) to complete.'; - - private static $start = null; - private static $times = []; - - private $parser; - private $traverser; - private $printer; - - /** - * {@inheritdoc} - */ - public function __construct($name = null) - { - $parserFactory = new ParserFactory(); - $this->parser = $parserFactory->createParser(); - - $this->traverser = new NodeTraverser(); - $this->traverser->addVisitor(new TimeitVisitor()); - - $this->printer = new Printer(); - - parent::__construct($name); - } - - /** - * {@inheritdoc} - */ - protected function configure() - { - $this - ->setName('timeit') - ->setDefinition([ - new InputOption('num', 'n', InputOption::VALUE_REQUIRED, 'Number of iterations.'), - new CodeArgument('code', CodeArgument::REQUIRED, 'Code to execute.'), - ]) - ->setDescription('Profiles with a timer.') - ->setHelp( - <<<'HELP' -Time profiling for functions and commands. - -e.g. ->>> timeit sleep(1) ->>> timeit -n1000 $closure() -HELP - ); - } - - /** - * {@inheritdoc} - */ - protected function execute(InputInterface $input, OutputInterface $output) - { - $code = $input->getArgument('code'); - $num = $input->getOption('num') ?: 1; - $shell = $this->getApplication(); - - $instrumentedCode = $this->instrumentCode($code); - - self::$times = []; - - for ($i = 0; $i < $num; $i++) { - $_ = $shell->execute($instrumentedCode); - $this->ensureEndMarked(); - } - - $shell->writeReturnValue($_); - - $times = self::$times; - self::$times = []; - - if ($num === 1) { - $output->writeln(\sprintf(self::RESULT_MSG, $times[0])); - } else { - $total = \array_sum($times); - \rsort($times); - $median = $times[\round($num / 2)]; - - $output->writeln(\sprintf(self::AVG_RESULT_MSG, $total / $num, $median, $total)); - } - - return 0; - } - - /** - * Internal method for marking the start of timeit execution. - * - * A static call to this method will be injected at the start of the timeit - * input code to instrument the call. We will use the saved start time to - * more accurately calculate time elapsed during execution. - */ - public static function markStart() - { - self::$start = \microtime(true); - } - - /** - * Internal method for marking the end of timeit execution. - * - * A static call to this method is injected by TimeitVisitor at the end - * of the timeit input code to instrument the call. - * - * Note that this accepts an optional $ret parameter, which is used to pass - * the return value of the last statement back out of timeit. This saves us - * a bunch of code rewriting shenanigans. - * - * @param mixed $ret - * - * @return mixed it just passes $ret right back - */ - public static function markEnd($ret = null) - { - self::$times[] = \microtime(true) - self::$start; - self::$start = null; - - return $ret; - } - - /** - * Ensure that the end of code execution was marked. - * - * The end *should* be marked in the instrumented code, but just in case - * we'll add a fallback here. - */ - private function ensureEndMarked() - { - if (self::$start !== null) { - self::markEnd(); - } - } - - /** - * Instrument code for timeit execution. - * - * This inserts `markStart` and `markEnd` calls to ensure that (reasonably) - * accurate times are recorded for just the code being executed. - * - * @param string $code - * - * @return string - */ - private function instrumentCode($code) - { - return $this->printer->prettyPrint($this->traverser->traverse($this->parse($code))); - } - - /** - * Lex and parse a string of code into statements. - * - * @param string $code - * - * @return array Statements - */ - private function parse($code) - { - $code = 'parser->parse($code); - } catch (\PhpParser\Error $e) { - if (\strpos($e->getMessage(), 'unexpected EOF') === false) { - throw $e; - } - - // If we got an unexpected EOF, let's try it again with a semicolon. - return $this->parser->parse($code . ';'); - } - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/Command/TimeitCommand/TimeitVisitor.php b/paragonik-backend/vendor/psy/psysh/src/Command/TimeitCommand/TimeitVisitor.php deleted file mode 100644 index 841ba13..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/Command/TimeitCommand/TimeitVisitor.php +++ /dev/null @@ -1,139 +0,0 @@ -functionDepth = 0; - } - - /** - * {@inheritdoc} - */ - public function enterNode(Node $node) - { - // keep track of nested function-like nodes, because they can have - // returns statements... and we don't want to call markEnd for those. - if ($node instanceof FunctionLike) { - $this->functionDepth++; - - return; - } - - // replace any top-level `return` statements with a `markEnd` call - if ($this->functionDepth === 0 && $node instanceof Return_) { - return new Return_($this->getEndCall($node->expr), $node->getAttributes()); - } - } - - /** - * {@inheritdoc} - */ - public function leaveNode(Node $node) - { - if ($node instanceof FunctionLike) { - $this->functionDepth--; - } - } - - /** - * {@inheritdoc} - */ - public function afterTraverse(array $nodes) - { - // prepend a `markStart` call - \array_unshift($nodes, $this->maybeExpression($this->getStartCall())); - - // append a `markEnd` call (wrapping the final node, if it's an expression) - $last = $nodes[\count($nodes) - 1]; - if ($last instanceof Expr) { - \array_pop($nodes); - $nodes[] = $this->getEndCall($last); - } elseif ($last instanceof Expression) { - \array_pop($nodes); - $nodes[] = new Expression($this->getEndCall($last->expr), $last->getAttributes()); - } elseif ($last instanceof Return_) { - // nothing to do here, we're already ending with a return call - } else { - $nodes[] = $this->maybeExpression($this->getEndCall()); - } - - return $nodes; - } - - /** - * Get PhpParser AST nodes for a `markStart` call. - * - * @return PhpParser\Node\Expr\StaticCall - */ - private function getStartCall() - { - return new StaticCall(new FullyQualifiedName('Psy\Command\TimeitCommand'), 'markStart'); - } - - /** - * Get PhpParser AST nodes for a `markEnd` call. - * - * Optionally pass in a return value. - * - * @param Expr|null $arg - * - * @return PhpParser\Node\Expr\StaticCall - */ - private function getEndCall(Expr $arg = null) - { - if ($arg === null) { - $arg = NoReturnValue::create(); - } - - return new StaticCall(new FullyQualifiedName('Psy\Command\TimeitCommand'), 'markEnd', [new Arg($arg)]); - } - - /** - * Compatibility shim for PHP Parser 3.x. - * - * Wrap $expr in a PhpParser\Node\Stmt\Expression if the class exists. - * - * @param PhpParser\Node $expr - * @param array $attrs - * - * @return PhpParser\Node\Expr|PhpParser\Node\Stmt\Expression - */ - private function maybeExpression($expr, $attrs = []) - { - return \class_exists('PhpParser\Node\Stmt\Expression') ? new Expression($expr, $attrs) : $expr; - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/Command/TraceCommand.php b/paragonik-backend/vendor/psy/psysh/src/Command/TraceCommand.php deleted file mode 100644 index b85a07f..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/Command/TraceCommand.php +++ /dev/null @@ -1,169 +0,0 @@ -filter = new FilterOptions(); - - parent::__construct($name); - } - - /** - * {@inheritdoc} - */ - protected function configure() - { - list($grep, $insensitive, $invert) = FilterOptions::getOptions(); - - $this - ->setName('trace') - ->setDefinition([ - new InputOption('include-psy', 'p', InputOption::VALUE_NONE, 'Include Psy in the call stack.'), - new InputOption('num', 'n', InputOption::VALUE_REQUIRED, 'Only include NUM lines.'), - - $grep, - $insensitive, - $invert, - ]) - ->setDescription('Show the current call stack.') - ->setHelp( - <<<'HELP' -Show the current call stack. - -Optionally, include PsySH in the call stack by passing the --include-psy option. - -e.g. -> trace -n10 -> trace --include-psy -HELP - ); - } - - /** - * {@inheritdoc} - */ - protected function execute(InputInterface $input, OutputInterface $output) - { - $this->filter->bind($input); - $trace = $this->getBacktrace(new \Exception(), $input->getOption('num'), $input->getOption('include-psy')); - $output->page($trace, ShellOutput::NUMBER_LINES); - - return 0; - } - - /** - * Get a backtrace for an exception. - * - * Optionally limit the number of rows to include with $count, and exclude - * Psy from the trace. - * - * @param \Exception $e The exception with a backtrace - * @param int $count (default: PHP_INT_MAX) - * @param bool $includePsy (default: true) - * - * @return array Formatted stacktrace lines - */ - protected function getBacktrace(\Exception $e, $count = null, $includePsy = true) - { - if ($cwd = \getcwd()) { - $cwd = \rtrim($cwd, DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR; - } - - if ($count === null) { - $count = PHP_INT_MAX; - } - - $lines = []; - - $trace = $e->getTrace(); - \array_unshift($trace, [ - 'function' => '', - 'file' => $e->getFile() !== null ? $e->getFile() : 'n/a', - 'line' => $e->getLine() !== null ? $e->getLine() : 'n/a', - 'args' => [], - ]); - - if (!$includePsy) { - for ($i = \count($trace) - 1; $i >= 0; $i--) { - $thing = isset($trace[$i]['class']) ? $trace[$i]['class'] : $trace[$i]['function']; - if (\preg_match('/\\\\?Psy\\\\/', $thing)) { - $trace = \array_slice($trace, $i + 1); - break; - } - } - } - - for ($i = 0, $count = \min($count, \count($trace)); $i < $count; $i++) { - $class = isset($trace[$i]['class']) ? $trace[$i]['class'] : ''; - $type = isset($trace[$i]['type']) ? $trace[$i]['type'] : ''; - $function = $trace[$i]['function']; - $file = isset($trace[$i]['file']) ? $this->replaceCwd($cwd, $trace[$i]['file']) : 'n/a'; - $line = isset($trace[$i]['line']) ? $trace[$i]['line'] : 'n/a'; - - // Leave execution loop out of the `eval()'d code` lines - if (\preg_match("#/src/Execution(?:Loop)?Closure.php\(\d+\) : eval\(\)'d code$#", \str_replace('\\', '/', $file))) { - $file = "eval()'d code"; - } - - // Skip any lines that don't match our filter options - if (!$this->filter->match(\sprintf('%s%s%s() at %s:%s', $class, $type, $function, $file, $line))) { - continue; - } - - $lines[] = \sprintf( - ' %s%s%s() at %s:%s', - OutputFormatter::escape($class), - OutputFormatter::escape($type), - OutputFormatter::escape($function), - OutputFormatter::escape($file), - OutputFormatter::escape($line) - ); - } - - return $lines; - } - - /** - * Replace the given directory from the start of a filepath. - * - * @param string $cwd - * @param string $file - * - * @return string - */ - private function replaceCwd($cwd, $file) - { - if ($cwd === false) { - return $file; - } else { - return \preg_replace('/^' . \preg_quote($cwd, '/') . '/', '', $file); - } - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/Command/WhereamiCommand.php b/paragonik-backend/vendor/psy/psysh/src/Command/WhereamiCommand.php deleted file mode 100644 index ccc4510..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/Command/WhereamiCommand.php +++ /dev/null @@ -1,149 +0,0 @@ -colorMode = $colorMode ?: Configuration::COLOR_MODE_AUTO; - $this->backtrace = \debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS); - - parent::__construct(); - } - - /** - * {@inheritdoc} - */ - protected function configure() - { - $this - ->setName('whereami') - ->setDefinition([ - new InputOption('num', 'n', InputOption::VALUE_OPTIONAL, 'Number of lines before and after.', '5'), - ]) - ->setDescription('Show where you are in the code.') - ->setHelp( - <<<'HELP' -Show where you are in the code. - -Optionally, include how many lines before and after you want to display. - -e.g. -> whereami -> whereami -n10 -HELP - ); - } - - /** - * Obtains the correct stack frame in the full backtrace. - * - * @return array - */ - protected function trace() - { - foreach (\array_reverse($this->backtrace) as $stackFrame) { - if ($this->isDebugCall($stackFrame)) { - return $stackFrame; - } - } - - return \end($this->backtrace); - } - - private static function isDebugCall(array $stackFrame) - { - $class = isset($stackFrame['class']) ? $stackFrame['class'] : null; - $function = isset($stackFrame['function']) ? $stackFrame['function'] : null; - - return ($class === null && $function === 'Psy\debug') || - ($class === 'Psy\Shell' && \in_array($function, ['__construct', 'debug'])); - } - - /** - * Determine the file and line based on the specific backtrace. - * - * @return array - */ - protected function fileInfo() - { - $stackFrame = $this->trace(); - if (\preg_match('/eval\(/', $stackFrame['file'])) { - \preg_match_all('/([^\(]+)\((\d+)/', $stackFrame['file'], $matches); - $file = $matches[1][0]; - $line = (int) $matches[2][0]; - } else { - $file = $stackFrame['file']; - $line = $stackFrame['line']; - } - - return \compact('file', 'line'); - } - - /** - * {@inheritdoc} - */ - protected function execute(InputInterface $input, OutputInterface $output) - { - $info = $this->fileInfo(); - $num = $input->getOption('num'); - $factory = new ConsoleColorFactory($this->colorMode); - $colors = $factory->getConsoleColor(); - $highlighter = new Highlighter($colors); - $contents = \file_get_contents($info['file']); - - $output->startPaging(); - $output->writeln(''); - $output->writeln(\sprintf('From %s:%s:', $this->replaceCwd($info['file']), $info['line'])); - $output->writeln(''); - $output->write($highlighter->getCodeSnippet($contents, $info['line'], $num, $num), false, OutputInterface::OUTPUT_RAW); - $output->stopPaging(); - - return 0; - } - - /** - * Replace the given directory from the start of a filepath. - * - * @param string $file - * - * @return string - */ - private function replaceCwd($file) - { - $cwd = \getcwd(); - if ($cwd === false) { - return $file; - } - - $cwd = \rtrim($cwd, DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR; - - return \preg_replace('/^' . \preg_quote($cwd, '/') . '/', '', $file); - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/Command/WtfCommand.php b/paragonik-backend/vendor/psy/psysh/src/Command/WtfCommand.php deleted file mode 100644 index a937af0..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/Command/WtfCommand.php +++ /dev/null @@ -1,127 +0,0 @@ -context = $context; - } - - /** - * {@inheritdoc} - */ - protected function configure() - { - list($grep, $insensitive, $invert) = FilterOptions::getOptions(); - - $this - ->setName('wtf') - ->setAliases(['last-exception', 'wtf?']) - ->setDefinition([ - new InputArgument('incredulity', InputArgument::OPTIONAL | InputArgument::IS_ARRAY, 'Number of lines to show.'), - new InputOption('all', 'a', InputOption::VALUE_NONE, 'Show entire backtrace.'), - - $grep, - $insensitive, - $invert, - ]) - ->setDescription('Show the backtrace of the most recent exception.') - ->setHelp( - <<<'HELP' -Shows a few lines of the backtrace of the most recent exception. - -If you want to see more lines, add more question marks or exclamation marks: - -e.g. ->>> wtf ? ->>> wtf ?!???!?!? - -To see the entire backtrace, pass the -a/--all flag: - -e.g. ->>> wtf -a -HELP - ); - } - - /** - * {@inheritdoc} - */ - protected function execute(InputInterface $input, OutputInterface $output) - { - $this->filter->bind($input); - - $incredulity = \implode('', $input->getArgument('incredulity')); - if (\strlen(\preg_replace('/[\\?!]/', '', $incredulity))) { - throw new \InvalidArgumentException('Incredulity must include only "?" and "!"'); - } - - $exception = $this->context->getLastException(); - $count = $input->getOption('all') ? PHP_INT_MAX : \max(3, \pow(2, \strlen($incredulity) + 1)); - - $shell = $this->getApplication(); - $output->startPaging(); - do { - $traceCount = \count($exception->getTrace()); - $showLines = $count; - // Show the whole trace if we'd only be hiding a few lines - if ($traceCount < \max($count * 1.2, $count + 2)) { - $showLines = PHP_INT_MAX; - } - - $trace = $this->getBacktrace($exception, $showLines); - $moreLines = $traceCount - \count($trace); - - $output->writeln($shell->formatException($exception)); - $output->writeln('--'); - $output->write($trace, true, ShellOutput::NUMBER_LINES); - $output->writeln(''); - - if ($moreLines > 0) { - $output->writeln(\sprintf( - '', - $moreLines - )); - $output->writeln(''); - } - } while ($exception = $exception->getPrevious()); - $output->stopPaging(); - - return 0; - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/ConfigPaths.php b/paragonik-backend/vendor/psy/psysh/src/ConfigPaths.php deleted file mode 100644 index c4de2d5..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/ConfigPaths.php +++ /dev/null @@ -1,237 +0,0 @@ -getConfigDirs()); - } - - /** - * Get potential home config directory paths. - * - * Returns `~/.psysh`, `%APPDATA%/PsySH` (when on Windows), and the - * XDG Base Directory home config directory: - * - * http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html - * - * @return string[] - */ - public static function getHomeConfigDirs() - { - $xdg = new Xdg(); - - return self::getDirNames([$xdg->getHomeConfigDir()]); - } - - /** - * Get the current home config directory. - * - * Returns the highest precedence home config directory which actually - * exists. If none of them exists, returns the highest precedence home - * config directory (`%APPDATA%/PsySH` on Windows, `~/.config/psysh` - * everywhere else). - * - * @see self::getHomeConfigDirs - * - * @return string - */ - public static function getCurrentConfigDir() - { - $configDirs = self::getHomeConfigDirs(); - foreach ($configDirs as $configDir) { - if (@\is_dir($configDir)) { - return $configDir; - } - } - - return $configDirs[0]; - } - - /** - * Find real config files in config directories. - * - * @param string[] $names Config file names - * @param string $configDir Optionally use a specific config directory - * - * @return string[] - */ - public static function getConfigFiles(array $names, $configDir = null) - { - $dirs = ($configDir === null) ? self::getConfigDirs() : [$configDir]; - - return self::getRealFiles($dirs, $names); - } - - /** - * Get potential data directory paths. - * - * If a `dataDir` option was explicitly set, returns an array containing - * just that directory. - * - * Otherwise, it returns `~/.psysh` and all XDG Base Directory data directories: - * - * http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html - * - * @return string[] - */ - public static function getDataDirs() - { - $xdg = new Xdg(); - - return self::getDirNames($xdg->getDataDirs()); - } - - /** - * Find real data files in config directories. - * - * @param string[] $names Config file names - * @param string $dataDir Optionally use a specific config directory - * - * @return string[] - */ - public static function getDataFiles(array $names, $dataDir = null) - { - $dirs = ($dataDir === null) ? self::getDataDirs() : [$dataDir]; - - return self::getRealFiles($dirs, $names); - } - - /** - * Get a runtime directory. - * - * Defaults to `/psysh` inside the system's temp dir. - * - * @return string - */ - public static function getRuntimeDir() - { - $xdg = new Xdg(); - - \set_error_handler(['Psy\Exception\ErrorException', 'throwException']); - - try { - // XDG doesn't really work on Windows, sometimes complains about - // permissions, sometimes tries to remove non-empty directories. - // It's a bit flaky. So we'll give this a shot first... - $runtimeDir = $xdg->getRuntimeDir(false); - } catch (\Exception $e) { - // Well. That didn't work. Fall back to a boring old folder in the - // system temp dir. - $runtimeDir = \sys_get_temp_dir(); - } - - \restore_error_handler(); - - return \strtr($runtimeDir, '\\', '/') . '/psysh'; - } - - private static function getDirNames(array $baseDirs) - { - $dirs = \array_map(function ($dir) { - return \strtr($dir, '\\', '/') . '/psysh'; - }, $baseDirs); - - // Add ~/.psysh - if ($home = \getenv('HOME')) { - $dirs[] = \strtr($home, '\\', '/') . '/.psysh'; - } - - // Add some Windows specific ones :) - if (\defined('PHP_WINDOWS_VERSION_MAJOR')) { - if ($appData = \getenv('APPDATA')) { - // AppData gets preference - \array_unshift($dirs, \strtr($appData, '\\', '/') . '/PsySH'); - } - - $dir = \strtr(\getenv('HOMEDRIVE') . '/' . \getenv('HOMEPATH'), '\\', '/') . '/.psysh'; - if (!\in_array($dir, $dirs)) { - $dirs[] = $dir; - } - } - - return $dirs; - } - - private static function getRealFiles(array $dirNames, array $fileNames) - { - $files = []; - foreach ($dirNames as $dir) { - foreach ($fileNames as $name) { - $file = $dir . '/' . $name; - if (@\is_file($file)) { - $files[] = $file; - } - } - } - - return $files; - } - - /** - * Ensure that $file exists and is writable, make the parent directory if necessary. - * - * Generates E_USER_NOTICE error if either $file or its directory is not writable. - * - * @param string $file - * - * @return string|false Full path to $file, or false if file is not writable - */ - public static function touchFileWithMkdir($file) - { - if (\file_exists($file)) { - if (\is_writable($file)) { - return $file; - } - - \trigger_error(\sprintf('Writing to %s is not allowed.', $file), E_USER_NOTICE); - - return false; - } - - $dir = \dirname($file); - - if (!\is_dir($dir)) { - // Just try making it and see if it works - @\mkdir($dir, 0700, true); - } - - if (!\is_dir($dir) || !\is_writable($dir)) { - \trigger_error(\sprintf('Writing to %s is not allowed.', $dir), E_USER_NOTICE); - - return false; - } - - \touch($file); - - return $file; - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/Configuration.php b/paragonik-backend/vendor/psy/psysh/src/Configuration.php deleted file mode 100644 index 00ddbc1..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/Configuration.php +++ /dev/null @@ -1,1307 +0,0 @@ -setColorMode(self::COLOR_MODE_AUTO); - - // explicit configFile option - if (isset($config['configFile'])) { - $this->configFile = $config['configFile']; - } elseif ($configFile = \getenv('PSYSH_CONFIG')) { - $this->configFile = $configFile; - } - - // legacy baseDir option - if (isset($config['baseDir'])) { - $msg = "The 'baseDir' configuration option is deprecated; " . - "please specify 'configDir' and 'dataDir' options instead"; - throw new DeprecatedException($msg); - } - - unset($config['configFile'], $config['baseDir']); - - // go go gadget, config! - $this->loadConfig($config); - $this->init(); - } - - /** - * Initialize the configuration. - * - * This checks for the presence of Readline and Pcntl extensions. - * - * If a config file is available, it will be loaded and merged with the current config. - * - * If no custom config file was specified and a local project config file - * is available, it will be loaded and merged with the current config. - */ - public function init() - { - // feature detection - $this->hasReadline = \function_exists('readline'); - $this->hasPcntl = \function_exists('pcntl_signal') && \function_exists('posix_getpid'); - - if ($configFile = $this->getConfigFile()) { - $this->loadConfigFile($configFile); - } - - if (!$this->configFile && $localConfig = $this->getLocalConfigFile()) { - $this->loadConfigFile($localConfig); - } - } - - /** - * Get the current PsySH config file. - * - * If a `configFile` option was passed to the Configuration constructor, - * this file will be returned. If not, all possible config directories will - * be searched, and the first `config.php` or `rc.php` file which exists - * will be returned. - * - * If you're trying to decide where to put your config file, pick - * - * ~/.config/psysh/config.php - * - * @return string - */ - public function getConfigFile() - { - if (isset($this->configFile)) { - return $this->configFile; - } - - $files = ConfigPaths::getConfigFiles(['config.php', 'rc.php'], $this->configDir); - - if (!empty($files)) { - if ($this->warnOnMultipleConfigs && \count($files) > 1) { - $msg = \sprintf('Multiple configuration files found: %s. Using %s', \implode($files, ', '), $files[0]); - \trigger_error($msg, E_USER_NOTICE); - } - - return $files[0]; - } - } - - /** - * Get the local PsySH config file. - * - * Searches for a project specific config file `.psysh.php` in the current - * working directory. - * - * @return string - */ - public function getLocalConfigFile() - { - $localConfig = \getcwd() . '/.psysh.php'; - - if (@\is_file($localConfig)) { - return $localConfig; - } - } - - /** - * Load configuration values from an array of options. - * - * @param array $options - */ - public function loadConfig(array $options) - { - foreach (self::$AVAILABLE_OPTIONS as $option) { - if (isset($options[$option])) { - $method = 'set' . \ucfirst($option); - $this->$method($options[$option]); - } - } - - // legacy `tabCompletion` option - if (isset($options['tabCompletion'])) { - $msg = '`tabCompletion` is deprecated; use `useTabCompletion` instead.'; - @\trigger_error($msg, E_USER_DEPRECATED); - - $this->setUseTabCompletion($options['tabCompletion']); - } - - foreach (['commands', 'matchers', 'casters'] as $option) { - if (isset($options[$option])) { - $method = 'add' . \ucfirst($option); - $this->$method($options[$option]); - } - } - - // legacy `tabCompletionMatchers` option - if (isset($options['tabCompletionMatchers'])) { - $msg = '`tabCompletionMatchers` is deprecated; use `matchers` instead.'; - @\trigger_error($msg, E_USER_DEPRECATED); - - $this->addMatchers($options['tabCompletionMatchers']); - } - } - - /** - * Load a configuration file (default: `$HOME/.config/psysh/config.php`). - * - * This configuration instance will be available to the config file as $config. - * The config file may directly manipulate the configuration, or may return - * an array of options which will be merged with the current configuration. - * - * @throws \InvalidArgumentException if the config file returns a non-array result - * - * @param string $file - */ - public function loadConfigFile($file) - { - $__psysh_config_file__ = $file; - $load = function ($config) use ($__psysh_config_file__) { - $result = require $__psysh_config_file__; - if ($result !== 1) { - return $result; - } - }; - $result = $load($this); - - if (!empty($result)) { - if (\is_array($result)) { - $this->loadConfig($result); - } else { - throw new \InvalidArgumentException('Psy Shell configuration must return an array of options'); - } - } - } - - /** - * Set files to be included by default at the start of each shell session. - * - * @param array $includes - */ - public function setDefaultIncludes(array $includes = []) - { - $this->defaultIncludes = $includes; - } - - /** - * Get files to be included by default at the start of each shell session. - * - * @return array - */ - public function getDefaultIncludes() - { - return $this->defaultIncludes ?: []; - } - - /** - * Set the shell's config directory location. - * - * @param string $dir - */ - public function setConfigDir($dir) - { - $this->configDir = (string) $dir; - } - - /** - * Get the current configuration directory, if any is explicitly set. - * - * @return string - */ - public function getConfigDir() - { - return $this->configDir; - } - - /** - * Set the shell's data directory location. - * - * @param string $dir - */ - public function setDataDir($dir) - { - $this->dataDir = (string) $dir; - } - - /** - * Get the current data directory, if any is explicitly set. - * - * @return string - */ - public function getDataDir() - { - return $this->dataDir; - } - - /** - * Set the shell's temporary directory location. - * - * @param string $dir - */ - public function setRuntimeDir($dir) - { - $this->runtimeDir = (string) $dir; - } - - /** - * Get the shell's temporary directory location. - * - * Defaults to `/psysh` inside the system's temp dir unless explicitly - * overridden. - * - * @return string - */ - public function getRuntimeDir() - { - if (!isset($this->runtimeDir)) { - $this->runtimeDir = ConfigPaths::getRuntimeDir(); - } - - if (!\is_dir($this->runtimeDir)) { - \mkdir($this->runtimeDir, 0700, true); - } - - return $this->runtimeDir; - } - - /** - * Set the readline history file path. - * - * @param string $file - */ - public function setHistoryFile($file) - { - $this->historyFile = ConfigPaths::touchFileWithMkdir($file); - } - - /** - * Get the readline history file path. - * - * Defaults to `/history` inside the shell's base config dir unless - * explicitly overridden. - * - * @return string - */ - public function getHistoryFile() - { - if (isset($this->historyFile)) { - return $this->historyFile; - } - - $files = ConfigPaths::getConfigFiles(['psysh_history', 'history'], $this->configDir); - - if (!empty($files)) { - if ($this->warnOnMultipleConfigs && \count($files) > 1) { - $msg = \sprintf('Multiple history files found: %s. Using %s', \implode($files, ', '), $files[0]); - \trigger_error($msg, E_USER_NOTICE); - } - - $this->setHistoryFile($files[0]); - } else { - // fallback: create our own history file - $dir = $this->configDir ?: ConfigPaths::getCurrentConfigDir(); - $this->setHistoryFile($dir . '/psysh_history'); - } - - return $this->historyFile; - } - - /** - * Set the readline max history size. - * - * @param int $value - */ - public function setHistorySize($value) - { - $this->historySize = (int) $value; - } - - /** - * Get the readline max history size. - * - * @return int - */ - public function getHistorySize() - { - return $this->historySize; - } - - /** - * Sets whether readline erases old duplicate history entries. - * - * @param bool $value - */ - public function setEraseDuplicates($value) - { - $this->eraseDuplicates = (bool) $value; - } - - /** - * Get whether readline erases old duplicate history entries. - * - * @return bool - */ - public function getEraseDuplicates() - { - return $this->eraseDuplicates; - } - - /** - * Get a temporary file of type $type for process $pid. - * - * The file will be created inside the current temporary directory. - * - * @see self::getRuntimeDir - * - * @param string $type - * @param int $pid - * - * @return string Temporary file name - */ - public function getTempFile($type, $pid) - { - return \tempnam($this->getRuntimeDir(), $type . '_' . $pid . '_'); - } - - /** - * Get a filename suitable for a FIFO pipe of $type for process $pid. - * - * The pipe will be created inside the current temporary directory. - * - * @param string $type - * @param int $pid - * - * @return string Pipe name - */ - public function getPipe($type, $pid) - { - return \sprintf('%s/%s_%s', $this->getRuntimeDir(), $type, $pid); - } - - /** - * Check whether this PHP instance has Readline available. - * - * @return bool True if Readline is available - */ - public function hasReadline() - { - return $this->hasReadline; - } - - /** - * Enable or disable Readline usage. - * - * @param bool $useReadline - */ - public function setUseReadline($useReadline) - { - $this->useReadline = (bool) $useReadline; - } - - /** - * Check whether to use Readline. - * - * If `setUseReadline` as been set to true, but Readline is not actually - * available, this will return false. - * - * @return bool True if the current Shell should use Readline - */ - public function useReadline() - { - return isset($this->useReadline) ? ($this->hasReadline && $this->useReadline) : $this->hasReadline; - } - - /** - * Set the Psy Shell readline service. - * - * @param Readline $readline - */ - public function setReadline(Readline $readline) - { - $this->readline = $readline; - } - - /** - * Get the Psy Shell readline service. - * - * By default, this service uses (in order of preference): - * - * * GNU Readline - * * Libedit - * * A transient array-based readline emulation. - * - * @return Readline - */ - public function getReadline() - { - if (!isset($this->readline)) { - $className = $this->getReadlineClass(); - $this->readline = new $className( - $this->getHistoryFile(), - $this->getHistorySize(), - $this->getEraseDuplicates() - ); - } - - return $this->readline; - } - - /** - * Get the appropriate Readline implementation class name. - * - * @see self::getReadline - * - * @return string - */ - private function getReadlineClass() - { - if ($this->useReadline()) { - if (GNUReadline::isSupported()) { - return 'Psy\Readline\GNUReadline'; - } elseif (Libedit::isSupported()) { - return 'Psy\Readline\Libedit'; - } elseif (HoaConsole::isSupported()) { - return 'Psy\Readline\HoaConsole'; - } - } - - return 'Psy\Readline\Transient'; - } - - /** - * Enable or disable bracketed paste. - * - * Note that this only works with readline (not libedit) integration for now. - * - * @param bool $useBracketedPaste - */ - public function setUseBracketedPaste($useBracketedPaste) - { - $this->useBracketedPaste = (bool) $useBracketedPaste; - } - - /** - * Check whether to use bracketed paste with readline. - * - * When this works, it's magical. Tabs in pastes don't try to autcomplete. - * Newlines in paste don't execute code until you get to the end. It makes - * readline act like you'd expect when pasting. - * - * But it often (usually?) does not work. And when it doesn't, it just spews - * escape codes all over the place and generally makes things ugly :( - * - * If `useBracketedPaste` has been set to true, but the current readline - * implementation is anything besides GNU readline, this will return false. - * - * @return bool True if the shell should use bracketed paste - */ - public function useBracketedPaste() - { - // For now, only the GNU readline implementation supports bracketed paste. - $supported = ($this->getReadlineClass() === 'Psy\Readline\GNUReadline'); - - return $supported && $this->useBracketedPaste; - - // @todo mebbe turn this on by default some day? - // return isset($this->useBracketedPaste) ? ($supported && $this->useBracketedPaste) : $supported; - } - - /** - * Check whether this PHP instance has Pcntl available. - * - * @return bool True if Pcntl is available - */ - public function hasPcntl() - { - return $this->hasPcntl; - } - - /** - * Enable or disable Pcntl usage. - * - * @param bool $usePcntl - */ - public function setUsePcntl($usePcntl) - { - $this->usePcntl = (bool) $usePcntl; - } - - /** - * Check whether to use Pcntl. - * - * If `setUsePcntl` has been set to true, but Pcntl is not actually - * available, this will return false. - * - * @return bool True if the current Shell should use Pcntl - */ - public function usePcntl() - { - return isset($this->usePcntl) ? ($this->hasPcntl && $this->usePcntl) : $this->hasPcntl; - } - - /** - * Enable or disable strict requirement of semicolons. - * - * @see self::requireSemicolons() - * - * @param bool $requireSemicolons - */ - public function setRequireSemicolons($requireSemicolons) - { - $this->requireSemicolons = (bool) $requireSemicolons; - } - - /** - * Check whether to require semicolons on all statements. - * - * By default, PsySH will automatically insert semicolons at the end of - * statements if they're missing. To strictly require semicolons, set - * `requireSemicolons` to true. - * - * @return bool - */ - public function requireSemicolons() - { - return $this->requireSemicolons; - } - - /** - * Enable or disable Unicode in PsySH specific output. - * - * Note that this does not disable Unicode output in general, it just makes - * it so PsySH won't output any itself. - * - * @param bool $useUnicode - */ - public function setUseUnicode($useUnicode) - { - $this->useUnicode = (bool) $useUnicode; - } - - /** - * Check whether to use Unicode in PsySH specific output. - * - * Note that this does not disable Unicode output in general, it just makes - * it so PsySH won't output any itself. - * - * @return bool - */ - public function useUnicode() - { - if (isset($this->useUnicode)) { - return $this->useUnicode; - } - - // @todo detect `chsh` != 65001 on Windows and return false - return true; - } - - /** - * Set the error logging level. - * - * @see self::errorLoggingLevel - * - * @param bool $errorLoggingLevel - */ - public function setErrorLoggingLevel($errorLoggingLevel) - { - $this->errorLoggingLevel = (E_ALL | E_STRICT) & $errorLoggingLevel; - } - - /** - * Get the current error logging level. - * - * By default, PsySH will automatically log all errors, regardless of the - * current `error_reporting` level. Additionally, if the `error_reporting` - * level warrants, an ErrorException will be thrown. - * - * Set `errorLoggingLevel` to 0 to prevent logging non-thrown errors. Set it - * to any valid error_reporting value to log only errors which match that - * level. - * - * http://php.net/manual/en/function.error-reporting.php - * - * @return int - */ - public function errorLoggingLevel() - { - return $this->errorLoggingLevel; - } - - /** - * Set a CodeCleaner service instance. - * - * @param CodeCleaner $cleaner - */ - public function setCodeCleaner(CodeCleaner $cleaner) - { - $this->cleaner = $cleaner; - } - - /** - * Get a CodeCleaner service instance. - * - * If none has been explicitly defined, this will create a new instance. - * - * @return CodeCleaner - */ - public function getCodeCleaner() - { - if (!isset($this->cleaner)) { - $this->cleaner = new CodeCleaner(); - } - - return $this->cleaner; - } - - /** - * Enable or disable tab completion. - * - * @param bool $useTabCompletion - */ - public function setUseTabCompletion($useTabCompletion) - { - $this->useTabCompletion = (bool) $useTabCompletion; - } - - /** - * @deprecated Call `setUseTabCompletion` instead - * - * @param bool $useTabCompletion - */ - public function setTabCompletion($useTabCompletion) - { - $this->setUseTabCompletion($useTabCompletion); - } - - /** - * Check whether to use tab completion. - * - * If `setUseTabCompletion` has been set to true, but readline is not - * actually available, this will return false. - * - * @return bool True if the current Shell should use tab completion - */ - public function useTabCompletion() - { - return isset($this->useTabCompletion) ? ($this->hasReadline && $this->useTabCompletion) : $this->hasReadline; - } - - /** - * @deprecated Call `useTabCompletion` instead - * - * @return bool - */ - public function getTabCompletion() - { - return $this->useTabCompletion(); - } - - /** - * Set the Shell Output service. - * - * @param ShellOutput $output - */ - public function setOutput(ShellOutput $output) - { - $this->output = $output; - } - - /** - * Get a Shell Output service instance. - * - * If none has been explicitly provided, this will create a new instance - * with VERBOSITY_NORMAL and the output page supplied by self::getPager - * - * @see self::getPager - * - * @return ShellOutput - */ - public function getOutput() - { - if (!isset($this->output)) { - $this->output = new ShellOutput( - OutputInterface::VERBOSITY_NORMAL, - $this->getOutputDecorated(), - null, - $this->getPager() - ); - } - - return $this->output; - } - - /** - * Get the decoration (i.e. color) setting for the Shell Output service. - * - * @return null|bool 3-state boolean corresponding to the current color mode - */ - public function getOutputDecorated() - { - if ($this->colorMode() === self::COLOR_MODE_AUTO) { - return; - } elseif ($this->colorMode() === self::COLOR_MODE_FORCED) { - return true; - } elseif ($this->colorMode() === self::COLOR_MODE_DISABLED) { - return false; - } - } - - /** - * Set the OutputPager service. - * - * If a string is supplied, a ProcOutputPager will be used which shells out - * to the specified command. - * - * @throws \InvalidArgumentException if $pager is not a string or OutputPager instance - * - * @param string|OutputPager $pager - */ - public function setPager($pager) - { - if ($pager && !\is_string($pager) && !$pager instanceof OutputPager) { - throw new \InvalidArgumentException('Unexpected pager instance'); - } - - $this->pager = $pager; - } - - /** - * Get an OutputPager instance or a command for an external Proc pager. - * - * If no Pager has been explicitly provided, and Pcntl is available, this - * will default to `cli.pager` ini value, falling back to `which less`. - * - * @return string|OutputPager - */ - public function getPager() - { - if (!isset($this->pager) && $this->usePcntl()) { - if ($pager = \ini_get('cli.pager')) { - // use the default pager - $this->pager = $pager; - } elseif ($less = \exec('which less 2>/dev/null')) { - // check for the presence of less... - $this->pager = $less . ' -R -S -F -X'; - } - } - - return $this->pager; - } - - /** - * Set the Shell AutoCompleter service. - * - * @param AutoCompleter $autoCompleter - */ - public function setAutoCompleter(AutoCompleter $autoCompleter) - { - $this->autoCompleter = $autoCompleter; - } - - /** - * Get an AutoCompleter service instance. - * - * @return AutoCompleter - */ - public function getAutoCompleter() - { - if (!isset($this->autoCompleter)) { - $this->autoCompleter = new AutoCompleter(); - } - - return $this->autoCompleter; - } - - /** - * @deprecated Nothing should be using this anymore - * - * @return array - */ - public function getTabCompletionMatchers() - { - return []; - } - - /** - * Add tab completion matchers to the AutoCompleter. - * - * This will buffer new matchers in the event that the Shell has not yet - * been instantiated. This allows the user to specify matchers in their - * config rc file, despite the fact that their file is needed in the Shell - * constructor. - * - * @param array $matchers - */ - public function addMatchers(array $matchers) - { - $this->newMatchers = \array_merge($this->newMatchers, $matchers); - if (isset($this->shell)) { - $this->doAddMatchers(); - } - } - - /** - * Internal method for adding tab completion matchers. This will set any new - * matchers once a Shell is available. - */ - private function doAddMatchers() - { - if (!empty($this->newMatchers)) { - $this->shell->addMatchers($this->newMatchers); - $this->newMatchers = []; - } - } - - /** - * @deprecated Use `addMatchers` instead - * - * @param array $matchers - */ - public function addTabCompletionMatchers(array $matchers) - { - $this->addMatchers($matchers); - } - - /** - * Add commands to the Shell. - * - * This will buffer new commands in the event that the Shell has not yet - * been instantiated. This allows the user to specify commands in their - * config rc file, despite the fact that their file is needed in the Shell - * constructor. - * - * @param array $commands - */ - public function addCommands(array $commands) - { - $this->newCommands = \array_merge($this->newCommands, $commands); - if (isset($this->shell)) { - $this->doAddCommands(); - } - } - - /** - * Internal method for adding commands. This will set any new commands once - * a Shell is available. - */ - private function doAddCommands() - { - if (!empty($this->newCommands)) { - $this->shell->addCommands($this->newCommands); - $this->newCommands = []; - } - } - - /** - * Set the Shell backreference and add any new commands to the Shell. - * - * @param Shell $shell - */ - public function setShell(Shell $shell) - { - $this->shell = $shell; - $this->doAddCommands(); - $this->doAddMatchers(); - } - - /** - * Set the PHP manual database file. - * - * This file should be an SQLite database generated from the phpdoc source - * with the `bin/build_manual` script. - * - * @param string $filename - */ - public function setManualDbFile($filename) - { - $this->manualDbFile = (string) $filename; - } - - /** - * Get the current PHP manual database file. - * - * @return string Default: '~/.local/share/psysh/php_manual.sqlite' - */ - public function getManualDbFile() - { - if (isset($this->manualDbFile)) { - return $this->manualDbFile; - } - - $files = ConfigPaths::getDataFiles(['php_manual.sqlite'], $this->dataDir); - if (!empty($files)) { - if ($this->warnOnMultipleConfigs && \count($files) > 1) { - $msg = \sprintf('Multiple manual database files found: %s. Using %s', \implode($files, ', '), $files[0]); - \trigger_error($msg, E_USER_NOTICE); - } - - return $this->manualDbFile = $files[0]; - } - } - - /** - * Get a PHP manual database connection. - * - * @return \PDO - */ - public function getManualDb() - { - if (!isset($this->manualDb)) { - $dbFile = $this->getManualDbFile(); - if (\is_file($dbFile)) { - try { - $this->manualDb = new \PDO('sqlite:' . $dbFile); - } catch (\PDOException $e) { - if ($e->getMessage() === 'could not find driver') { - throw new RuntimeException('SQLite PDO driver not found', 0, $e); - } else { - throw $e; - } - } - } - } - - return $this->manualDb; - } - - /** - * Add an array of casters definitions. - * - * @param array $casters - */ - public function addCasters(array $casters) - { - $this->getPresenter()->addCasters($casters); - } - - /** - * Get the Presenter service. - * - * @return Presenter - */ - public function getPresenter() - { - if (!isset($this->presenter)) { - $this->presenter = new Presenter($this->getOutput()->getFormatter(), $this->forceArrayIndexes()); - } - - return $this->presenter; - } - - /** - * Enable or disable warnings on multiple configuration or data files. - * - * @see self::warnOnMultipleConfigs() - * - * @param bool $warnOnMultipleConfigs - */ - public function setWarnOnMultipleConfigs($warnOnMultipleConfigs) - { - $this->warnOnMultipleConfigs = (bool) $warnOnMultipleConfigs; - } - - /** - * Check whether to warn on multiple configuration or data files. - * - * By default, PsySH will use the file with highest precedence, and will - * silently ignore all others. With this enabled, a warning will be emitted - * (but not an exception thrown) if multiple configuration or data files - * are found. - * - * This will default to true in a future release, but is false for now. - * - * @return bool - */ - public function warnOnMultipleConfigs() - { - return $this->warnOnMultipleConfigs; - } - - /** - * Set the current color mode. - * - * @param string $colorMode - */ - public function setColorMode($colorMode) - { - $validColorModes = [ - self::COLOR_MODE_AUTO, - self::COLOR_MODE_FORCED, - self::COLOR_MODE_DISABLED, - ]; - - if (\in_array($colorMode, $validColorModes)) { - $this->colorMode = $colorMode; - } else { - throw new \InvalidArgumentException('invalid color mode: ' . $colorMode); - } - } - - /** - * Get the current color mode. - * - * @return string - */ - public function colorMode() - { - return $this->colorMode; - } - - /** - * Set an update checker service instance. - * - * @param Checker $checker - */ - public function setChecker(Checker $checker) - { - $this->checker = $checker; - } - - /** - * Get an update checker service instance. - * - * If none has been explicitly defined, this will create a new instance. - * - * @return Checker - */ - public function getChecker() - { - if (!isset($this->checker)) { - $interval = $this->getUpdateCheck(); - switch ($interval) { - case Checker::ALWAYS: - $this->checker = new GitHubChecker(); - break; - - case Checker::DAILY: - case Checker::WEEKLY: - case Checker::MONTHLY: - $checkFile = $this->getUpdateCheckCacheFile(); - if ($checkFile === false) { - $this->checker = new NoopChecker(); - } else { - $this->checker = new IntervalChecker($checkFile, $interval); - } - break; - - case Checker::NEVER: - $this->checker = new NoopChecker(); - break; - } - } - - return $this->checker; - } - - /** - * Get the current update check interval. - * - * One of 'always', 'daily', 'weekly', 'monthly' or 'never'. If none is - * explicitly set, default to 'weekly'. - * - * @return string - */ - public function getUpdateCheck() - { - return isset($this->updateCheck) ? $this->updateCheck : Checker::WEEKLY; - } - - /** - * Set the update check interval. - * - * @throws \InvalidArgumentDescription if the update check interval is unknown - * - * @param string $interval - */ - public function setUpdateCheck($interval) - { - $validIntervals = [ - Checker::ALWAYS, - Checker::DAILY, - Checker::WEEKLY, - Checker::MONTHLY, - Checker::NEVER, - ]; - - if (!\in_array($interval, $validIntervals)) { - throw new \InvalidArgumentException('invalid update check interval: ' . $interval); - } - - $this->updateCheck = $interval; - } - - /** - * Get a cache file path for the update checker. - * - * @return string|false Return false if config file/directory is not writable - */ - public function getUpdateCheckCacheFile() - { - $dir = $this->configDir ?: ConfigPaths::getCurrentConfigDir(); - - return ConfigPaths::touchFileWithMkdir($dir . '/update_check.json'); - } - - /** - * Set the startup message. - * - * @param string $message - */ - public function setStartupMessage($message) - { - $this->startupMessage = $message; - } - - /** - * Get the startup message. - * - * @return string|null - */ - public function getStartupMessage() - { - return $this->startupMessage; - } - - /** - * Set the prompt. - * - * @param string $prompt - */ - public function setPrompt($prompt) - { - $this->prompt = $prompt; - } - - /** - * Get the prompt. - * - * @return string - */ - public function getPrompt() - { - return $this->prompt; - } - - /** - * Get the force array indexes. - * - * @return bool - */ - public function forceArrayIndexes() - { - return $this->forceArrayIndexes; - } - - /** - * Set the force array indexes. - * - * @param bool $forceArrayIndexes - */ - public function setForceArrayIndexes($forceArrayIndexes) - { - $this->forceArrayIndexes = $forceArrayIndexes; - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/ConsoleColorFactory.php b/paragonik-backend/vendor/psy/psysh/src/ConsoleColorFactory.php deleted file mode 100644 index 76ad3b5..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/ConsoleColorFactory.php +++ /dev/null @@ -1,82 +0,0 @@ -colorMode = $colorMode; - } - - /** - * Get a `ConsoleColor` instance configured according to the given color - * mode. - * - * @return ConsoleColor - */ - public function getConsoleColor() - { - if ($this->colorMode === Configuration::COLOR_MODE_AUTO) { - return $this->getDefaultConsoleColor(); - } elseif ($this->colorMode === Configuration::COLOR_MODE_FORCED) { - return $this->getForcedConsoleColor(); - } elseif ($this->colorMode === Configuration::COLOR_MODE_DISABLED) { - return $this->getDisabledConsoleColor(); - } - } - - private function getDefaultConsoleColor() - { - $color = new ConsoleColor(); - $color->addTheme(Highlighter::LINE_NUMBER, ['blue']); - $color->addTheme(Highlighter::TOKEN_KEYWORD, ['yellow']); - $color->addTheme(Highlighter::TOKEN_STRING, ['green']); - $color->addTheme(Highlighter::TOKEN_COMMENT, ['dark_gray']); - - return $color; - } - - private function getForcedConsoleColor() - { - $color = $this->getDefaultConsoleColor(); - $color->setForceStyle(true); - - return $color; - } - - private function getDisabledConsoleColor() - { - $color = new ConsoleColor(); - - $color->addTheme(Highlighter::TOKEN_STRING, ['none']); - $color->addTheme(Highlighter::TOKEN_COMMENT, ['none']); - $color->addTheme(Highlighter::TOKEN_KEYWORD, ['none']); - $color->addTheme(Highlighter::TOKEN_DEFAULT, ['none']); - $color->addTheme(Highlighter::TOKEN_HTML, ['none']); - $color->addTheme(Highlighter::ACTUAL_LINE_MARK, ['none']); - $color->addTheme(Highlighter::LINE_NUMBER, ['none']); - - return $color; - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/Context.php b/paragonik-backend/vendor/psy/psysh/src/Context.php deleted file mode 100644 index 104dc8f..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/Context.php +++ /dev/null @@ -1,320 +0,0 @@ -returnValue; - - case '_e': - if (isset($this->lastException)) { - return $this->lastException; - } - break; - - case '__out': - if (isset($this->lastStdout)) { - return $this->lastStdout; - } - break; - - case 'this': - if (isset($this->boundObject)) { - return $this->boundObject; - } - break; - - case '__function': - case '__method': - case '__class': - case '__namespace': - case '__file': - case '__line': - case '__dir': - if (\array_key_exists($name, $this->commandScopeVariables)) { - return $this->commandScopeVariables[$name]; - } - break; - - default: - if (\array_key_exists($name, $this->scopeVariables)) { - return $this->scopeVariables[$name]; - } - break; - } - - throw new \InvalidArgumentException('Unknown variable: $' . $name); - } - - /** - * Get all defined variables. - * - * @return array - */ - public function getAll() - { - return \array_merge($this->scopeVariables, $this->getSpecialVariables()); - } - - /** - * Get all defined magic variables: $_, $_e, $__out, $__class, $__file, etc. - * - * @return array - */ - public function getSpecialVariables() - { - $vars = [ - '_' => $this->returnValue, - ]; - - if (isset($this->lastException)) { - $vars['_e'] = $this->lastException; - } - - if (isset($this->lastStdout)) { - $vars['__out'] = $this->lastStdout; - } - - if (isset($this->boundObject)) { - $vars['this'] = $this->boundObject; - } - - return \array_merge($vars, $this->commandScopeVariables); - } - - /** - * Set all scope variables. - * - * This method does *not* set any of the magic variables: $_, $_e, $__out, - * $__class, $__file, etc. - * - * @param array $vars - */ - public function setAll(array $vars) - { - foreach (self::$specialNames as $key) { - unset($vars[$key]); - } - - foreach (self::$commandScopeNames as $key) { - unset($vars[$key]); - } - - $this->scopeVariables = $vars; - } - - /** - * Set the most recent return value. - * - * @param mixed $value - */ - public function setReturnValue($value) - { - $this->returnValue = $value; - } - - /** - * Get the most recent return value. - * - * @return mixed - */ - public function getReturnValue() - { - return $this->returnValue; - } - - /** - * Set the most recent Exception. - * - * @param \Exception $e - */ - public function setLastException(\Exception $e) - { - $this->lastException = $e; - } - - /** - * Get the most recent Exception. - * - * @throws \InvalidArgumentException If no Exception has been caught - * - * @return null|\Exception - */ - public function getLastException() - { - if (!isset($this->lastException)) { - throw new \InvalidArgumentException('No most-recent exception'); - } - - return $this->lastException; - } - - /** - * Set the most recent output from evaluated code. - * - * @param string $lastStdout - */ - public function setLastStdout($lastStdout) - { - $this->lastStdout = $lastStdout; - } - - /** - * Get the most recent output from evaluated code. - * - * @throws \InvalidArgumentException If no output has happened yet - * - * @return null|string - */ - public function getLastStdout() - { - if (!isset($this->lastStdout)) { - throw new \InvalidArgumentException('No most-recent output'); - } - - return $this->lastStdout; - } - - /** - * Set the bound object ($this variable) for the interactive shell. - * - * Note that this unsets the bound class, if any exists. - * - * @param object|null $boundObject - */ - public function setBoundObject($boundObject) - { - $this->boundObject = \is_object($boundObject) ? $boundObject : null; - $this->boundClass = null; - } - - /** - * Get the bound object ($this variable) for the interactive shell. - * - * @return object|null - */ - public function getBoundObject() - { - return $this->boundObject; - } - - /** - * Set the bound class (self) for the interactive shell. - * - * Note that this unsets the bound object, if any exists. - * - * @param string|null $boundClass - */ - public function setBoundClass($boundClass) - { - $this->boundClass = (\is_string($boundClass) && $boundClass !== '') ? $boundClass : null; - $this->boundObject = null; - } - - /** - * Get the bound class (self) for the interactive shell. - * - * @return string|null - */ - public function getBoundClass() - { - return $this->boundClass; - } - - /** - * Set command-scope magic variables: $__class, $__file, etc. - * - * @param array $commandScopeVariables - */ - public function setCommandScopeVariables(array $commandScopeVariables) - { - $vars = []; - foreach ($commandScopeVariables as $key => $value) { - // kind of type check - if (\is_scalar($value) && \in_array($key, self::$commandScopeNames)) { - $vars[$key] = $value; - } - } - - $this->commandScopeVariables = $vars; - } - - /** - * Get command-scope magic variables: $__class, $__file, etc. - * - * @return array - */ - public function getCommandScopeVariables() - { - return $this->commandScopeVariables; - } - - /** - * Get unused command-scope magic variables names: __class, __file, etc. - * - * This is used by the shell to unset old command-scope variables after a - * new batch is set. - * - * @return array Array of unused variable names - */ - public function getUnusedCommandScopeVariableNames() - { - return \array_diff(self::$commandScopeNames, \array_keys($this->commandScopeVariables)); - } - - /** - * Check whether a variable name is a magic variable. - * - * @param string $name - * - * @return bool - */ - public static function isSpecialVariableName($name) - { - return \in_array($name, self::$specialNames) || \in_array($name, self::$commandScopeNames); - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/ContextAware.php b/paragonik-backend/vendor/psy/psysh/src/ContextAware.php deleted file mode 100644 index 748f13a..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/ContextAware.php +++ /dev/null @@ -1,28 +0,0 @@ -rawMessage = $message; - parent::__construct(\sprintf('Exit: %s', $message), $code, $previous); - } - - /** - * Return a raw (unformatted) version of the error message. - * - * @return string - */ - public function getRawMessage() - { - return $this->rawMessage; - } - - /** - * Throws BreakException. - * - * Since `throw` can not be inserted into arbitrary expressions, it wraps with function call. - * - * @throws BreakException - */ - public static function exitShell() - { - throw new self('Goodbye'); - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/Exception/DeprecatedException.php b/paragonik-backend/vendor/psy/psysh/src/Exception/DeprecatedException.php deleted file mode 100644 index 8ac0104..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/Exception/DeprecatedException.php +++ /dev/null @@ -1,20 +0,0 @@ -rawMessage = $message; - - if (!empty($filename) && \preg_match('{Psy[/\\\\]ExecutionLoop}', $filename)) { - $filename = ''; - } - - switch ($severity) { - case E_STRICT: - $type = 'Strict error'; - break; - - case E_NOTICE: - case E_USER_NOTICE: - $type = 'Notice'; - break; - - case E_WARNING: - case E_CORE_WARNING: - case E_COMPILE_WARNING: - case E_USER_WARNING: - $type = 'Warning'; - break; - - case E_DEPRECATED: - case E_USER_DEPRECATED: - $type = 'Deprecated'; - break; - - case E_RECOVERABLE_ERROR: - $type = 'Recoverable fatal error'; - break; - - default: - $type = 'Error'; - break; - } - - $message = \sprintf('PHP %s: %s%s on line %d', $type, $message, $filename ? ' in ' . $filename : '', $lineno); - parent::__construct($message, $code, $severity, $filename, $lineno, $previous); - } - - /** - * Get the raw (unformatted) message for this error. - * - * @return string - */ - public function getRawMessage() - { - return $this->rawMessage; - } - - /** - * Helper for throwing an ErrorException. - * - * This allows us to: - * - * set_error_handler(array('Psy\Exception\ErrorException', 'throwException')); - * - * @throws ErrorException - * - * @param int $errno Error type - * @param string $errstr Message - * @param string $errfile Filename - * @param int $errline Line number - */ - public static function throwException($errno, $errstr, $errfile, $errline) - { - throw new self($errstr, 0, $errno, $errfile, $errline); - } - - /** - * Create an ErrorException from an Error. - * - * @param \Error $e - * - * @return ErrorException - */ - public static function fromError(\Error $e) - { - return new self($e->getMessage(), $e->getCode(), 1, $e->getFile(), $e->getLine(), $e); - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/Exception/Exception.php b/paragonik-backend/vendor/psy/psysh/src/Exception/Exception.php deleted file mode 100644 index de68954..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/Exception/Exception.php +++ /dev/null @@ -1,27 +0,0 @@ -rawMessage = $message; - $message = \sprintf('PHP Fatal error: %s in %s on line %d', $message, $filename ?: "eval()'d code", $lineno); - parent::__construct($message, $code, $severity, $filename, $lineno, $previous); - } - - /** - * Return a raw (unformatted) version of the error message. - * - * @return string - */ - public function getRawMessage() - { - return $this->rawMessage; - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/Exception/ParseErrorException.php b/paragonik-backend/vendor/psy/psysh/src/Exception/ParseErrorException.php deleted file mode 100644 index cb6380e..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/Exception/ParseErrorException.php +++ /dev/null @@ -1,42 +0,0 @@ -getRawMessage(), $e->getStartLine()); - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/Exception/RuntimeException.php b/paragonik-backend/vendor/psy/psysh/src/Exception/RuntimeException.php deleted file mode 100644 index 09e6848..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/Exception/RuntimeException.php +++ /dev/null @@ -1,43 +0,0 @@ -rawMessage = $message; - parent::__construct($message, $code, $previous); - } - - /** - * Return a raw (unformatted) version of the error message. - * - * @return string - */ - public function getRawMessage() - { - return $this->rawMessage; - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/Exception/ThrowUpException.php b/paragonik-backend/vendor/psy/psysh/src/Exception/ThrowUpException.php deleted file mode 100644 index b0ca490..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/Exception/ThrowUpException.php +++ /dev/null @@ -1,57 +0,0 @@ -getMessage()); - parent::__construct($message, $exception->getCode(), $exception); - } - - /** - * Return a raw (unformatted) version of the error message. - * - * @return string - */ - public function getRawMessage() - { - return $this->getPrevious()->getMessage(); - } - - /** - * Create a ThrowUpException from a Throwable. - * - * @param \Throwable $throwable - * - * @return ThrowUpException - */ - public static function fromThrowable($throwable) - { - if ($throwable instanceof \Error) { - $throwable = ErrorException::fromError($throwable); - } - - if (!$throwable instanceof \Exception) { - throw new \InvalidArgumentException('throw-up can only throw Exceptions and Errors'); - } - - return new self($throwable); - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/Exception/TypeErrorException.php b/paragonik-backend/vendor/psy/psysh/src/Exception/TypeErrorException.php deleted file mode 100644 index b689498..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/Exception/TypeErrorException.php +++ /dev/null @@ -1,55 +0,0 @@ -rawMessage = $message; - $message = \preg_replace('/, called in .*?: eval\\(\\)\'d code/', '', $message); - parent::__construct(\sprintf('TypeError: %s', $message), $code); - } - - /** - * Get the raw (unformatted) message for this error. - * - * @return string - */ - public function getRawMessage() - { - return $this->rawMessage; - } - - /** - * Create a TypeErrorException from a TypeError. - * - * @param \TypeError $e - * - * @return TypeErrorException - */ - public static function fromTypeError(\TypeError $e) - { - return new self($e->getMessage(), $e->getCode()); - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/ExecutionClosure.php b/paragonik-backend/vendor/psy/psysh/src/ExecutionClosure.php deleted file mode 100644 index 5c7cd25..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/ExecutionClosure.php +++ /dev/null @@ -1,119 +0,0 @@ -setClosure($__psysh__, function () use ($__psysh__) { - try { - // Restore execution scope variables - \extract($__psysh__->getScopeVariables(false)); - - // Buffer stdout; we'll need it later - \ob_start([$__psysh__, 'writeStdout'], 1); - - // Convert all errors to exceptions - \set_error_handler([$__psysh__, 'handleError']); - - // Evaluate the current code buffer - $_ = eval($__psysh__->onExecute($__psysh__->flushCode() ?: ExecutionClosure::NOOP_INPUT)); - } catch (\Throwable $_e) { - // Clean up on our way out. - \restore_error_handler(); - if (\ob_get_level() > 0) { - \ob_end_clean(); - } - - throw $_e; - } catch (\Exception $_e) { - // Clean up on our way out. - \restore_error_handler(); - if (\ob_get_level() > 0) { - \ob_end_clean(); - } - - throw $_e; - } - - // Won't be needing this anymore - \restore_error_handler(); - - // Flush stdout (write to shell output, plus save to magic variable) - \ob_end_flush(); - - // Save execution scope variables for next time - $__psysh__->setScopeVariables(\get_defined_vars()); - - return $_; - }); - } - - /** - * Set the closure instance. - * - * @param Shell $psysh - * @param \Closure $closure - */ - protected function setClosure(Shell $shell, \Closure $closure) - { - if (self::shouldBindClosure()) { - $that = $shell->getBoundObject(); - if (\is_object($that)) { - $closure = $closure->bindTo($that, \get_class($that)); - } else { - $closure = $closure->bindTo(null, $shell->getBoundClass()); - } - } - - $this->closure = $closure; - } - - /** - * Go go gadget closure. - * - * @return mixed - */ - public function execute() - { - $closure = $this->closure; - - return $closure(); - } - - /** - * Decide whether to bind the execution closure. - * - * @return bool - */ - protected static function shouldBindClosure() - { - // skip binding on HHVM < 3.5.0 - // see https://github.com/facebook/hhvm/issues/1203 - if (\defined('HHVM_VERSION')) { - return \version_compare(HHVM_VERSION, '3.5.0', '>='); - } - - return true; - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/ExecutionLoop.php b/paragonik-backend/vendor/psy/psysh/src/ExecutionLoop.php deleted file mode 100644 index 2e4307c..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/ExecutionLoop.php +++ /dev/null @@ -1,67 +0,0 @@ -loadIncludes($shell); - - $closure = new ExecutionLoopClosure($shell); - $closure->execute(); - } - - /** - * Load user-defined includes. - * - * @param Shell $shell - */ - protected function loadIncludes(Shell $shell) - { - // Load user-defined includes - $load = function (Shell $__psysh__) { - \set_error_handler([$__psysh__, 'handleError']); - foreach ($__psysh__->getIncludes() as $__psysh_include__) { - try { - include $__psysh_include__; - } catch (\Error $_e) { - $__psysh__->writeException(ErrorException::fromError($_e)); - } catch (\Exception $_e) { - $__psysh__->writeException($_e); - } - } - \restore_error_handler(); - unset($__psysh_include__); - - // Override any new local variables with pre-defined scope variables - \extract($__psysh__->getScopeVariables(false)); - - // ... then add the whole mess of variables back. - $__psysh__->setScopeVariables(\get_defined_vars()); - }; - - $load($shell); - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/ExecutionLoop/AbstractListener.php b/paragonik-backend/vendor/psy/psysh/src/ExecutionLoop/AbstractListener.php deleted file mode 100644 index 3617fa2..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/ExecutionLoop/AbstractListener.php +++ /dev/null @@ -1,62 +0,0 @@ - 0) { - // This is the main thread. We'll just wait for a while. - - // We won't be needing this one. - \fclose($up); - - // Wait for a return value from the loop process. - $read = [$down]; - $write = null; - $except = null; - - do { - $n = @\stream_select($read, $write, $except, null); - - if ($n === 0) { - throw new \RuntimeException('Process timed out waiting for execution loop'); - } - - if ($n === false) { - $err = \error_get_last(); - if (!isset($err['message']) || \stripos($err['message'], 'interrupted system call') === false) { - $msg = $err['message'] ? - \sprintf('Error waiting for execution loop: %s', $err['message']) : - 'Error waiting for execution loop'; - throw new \RuntimeException($msg); - } - } - } while ($n < 1); - - $content = \stream_get_contents($down); - \fclose($down); - - if ($content) { - $shell->setScopeVariables(@\unserialize($content)); - } - - throw new BreakException('Exiting main thread'); - } - - // This is the child process. It's going to do all the work. - if (\function_exists('setproctitle')) { - setproctitle('psysh (loop)'); - } - - // We won't be needing this one. - \fclose($down); - - // Save this; we'll need to close it in `afterRun` - $this->up = $up; - } - - /** - * Create a savegame at the start of each loop iteration. - * - * @param Shell $shell - */ - public function beforeLoop(Shell $shell) - { - $this->createSavegame(); - } - - /** - * Clean up old savegames at the end of each loop iteration. - * - * @param Shell $shell - */ - public function afterLoop(Shell $shell) - { - // if there's an old savegame hanging around, let's kill it. - if (isset($this->savegame)) { - \posix_kill($this->savegame, SIGKILL); - \pcntl_signal_dispatch(); - } - } - - /** - * After the REPL session ends, send the scope variables back up to the main - * thread (if this is a child thread). - * - * @param Shell $shell - */ - public function afterRun(Shell $shell) - { - // We're a child thread. Send the scope variables back up to the main thread. - if (isset($this->up)) { - \fwrite($this->up, $this->serializeReturn($shell->getScopeVariables(false))); - \fclose($this->up); - - \posix_kill(\posix_getpid(), SIGKILL); - } - } - - /** - * Create a savegame fork. - * - * The savegame contains the current execution state, and can be resumed in - * the event that the worker dies unexpectedly (for example, by encountering - * a PHP fatal error). - */ - private function createSavegame() - { - // the current process will become the savegame - $this->savegame = \posix_getpid(); - - $pid = \pcntl_fork(); - if ($pid < 0) { - throw new \RuntimeException('Unable to create savegame fork'); - } elseif ($pid > 0) { - // we're the savegame now... let's wait and see what happens - \pcntl_waitpid($pid, $status); - - // worker exited cleanly, let's bail - if (!\pcntl_wexitstatus($status)) { - \posix_kill(\posix_getpid(), SIGKILL); - } - - // worker didn't exit cleanly, we'll need to have another go - $this->createSavegame(); - } - } - - /** - * Serialize all serializable return values. - * - * A naïve serialization will run into issues if there is a Closure or - * SimpleXMLElement (among other things) in scope when exiting the execution - * loop. We'll just ignore these unserializable classes, and serialize what - * we can. - * - * @param array $return - * - * @return string - */ - private function serializeReturn(array $return) - { - $serializable = []; - - foreach ($return as $key => $value) { - // No need to return magic variables - if (Context::isSpecialVariableName($key)) { - continue; - } - - // Resources and Closures don't error, but they don't serialize well either. - if (\is_resource($value) || $value instanceof \Closure) { - continue; - } - - try { - @\serialize($value); - $serializable[$key] = $value; - } catch (\Throwable $e) { - // we'll just ignore this one... - } catch (\Exception $e) { - // and this one too... - // @todo remove this once we don't support PHP 5.x anymore :) - } - } - - return @\serialize($serializable); - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/ExecutionLoop/RunkitReloader.php b/paragonik-backend/vendor/psy/psysh/src/ExecutionLoop/RunkitReloader.php deleted file mode 100644 index d80480b..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/ExecutionLoop/RunkitReloader.php +++ /dev/null @@ -1,135 +0,0 @@ -parser = $parserFactory->createParser(); - } - - /** - * Reload code on input. - * - * @param Shell $shell - * @param string $input - */ - public function onInput(Shell $shell, $input) - { - $this->reload($shell); - } - - /** - * Look through included files and update anything with a new timestamp. - * - * @param Shell $shell - */ - private function reload(Shell $shell) - { - \clearstatcache(); - $modified = []; - - foreach (\get_included_files() as $file) { - $timestamp = \filemtime($file); - - if (!isset($this->timestamps[$file])) { - $this->timestamps[$file] = $timestamp; - continue; - } - - if ($this->timestamps[$file] === $timestamp) { - continue; - } - - if (!$this->lintFile($file)) { - $msg = \sprintf('Modified file "%s" could not be reloaded', $file); - $shell->writeException(new ParseErrorException($msg)); - continue; - } - - $modified[] = $file; - $this->timestamps[$file] = $timestamp; - } - - // switch (count($modified)) { - // case 0: - // return; - - // case 1: - // printf("Reloading modified file: \"%s\"\n", str_replace(getcwd(), '.', $file)); - // break; - - // default: - // printf("Reloading %d modified files\n", count($modified)); - // break; - // } - - foreach ($modified as $file) { - runkit_import($file, ( - RUNKIT_IMPORT_FUNCTIONS | - RUNKIT_IMPORT_CLASSES | - RUNKIT_IMPORT_CLASS_METHODS | - RUNKIT_IMPORT_CLASS_CONSTS | - RUNKIT_IMPORT_CLASS_PROPS | - RUNKIT_IMPORT_OVERRIDE - )); - } - } - - /** - * Should this file be re-imported? - * - * Use PHP-Parser to ensure that the file is valid PHP. - * - * @param string $file - * - * @return bool - */ - private function lintFile($file) - { - // first try to parse it - try { - $this->parser->parse(\file_get_contents($file)); - } catch (\Exception $e) { - return false; - } - - return true; - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/ExecutionLoopClosure.php b/paragonik-backend/vendor/psy/psysh/src/ExecutionLoopClosure.php deleted file mode 100644 index 5b8238c..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/ExecutionLoopClosure.php +++ /dev/null @@ -1,104 +0,0 @@ -setClosure($__psysh__, function () use ($__psysh__) { - // Restore execution scope variables - \extract($__psysh__->getScopeVariables(false)); - - do { - $__psysh__->beforeLoop(); - - try { - $__psysh__->getInput(); - - try { - // Pull in any new execution scope variables - if ($__psysh__->getLastExecSuccess()) { - \extract($__psysh__->getScopeVariablesDiff(\get_defined_vars())); - } - - // Buffer stdout; we'll need it later - \ob_start([$__psysh__, 'writeStdout'], 1); - - // Convert all errors to exceptions - \set_error_handler([$__psysh__, 'handleError']); - - // Evaluate the current code buffer - $_ = eval($__psysh__->onExecute($__psysh__->flushCode() ?: ExecutionClosure::NOOP_INPUT)); - } catch (\Throwable $_e) { - // Clean up on our way out. - \restore_error_handler(); - if (\ob_get_level() > 0) { - \ob_end_clean(); - } - - throw $_e; - } catch (\Exception $_e) { - // Clean up on our way out. - \restore_error_handler(); - if (\ob_get_level() > 0) { - \ob_end_clean(); - } - - throw $_e; - } - - // Won't be needing this anymore - \restore_error_handler(); - - // Flush stdout (write to shell output, plus save to magic variable) - \ob_end_flush(); - - // Save execution scope variables for next time - $__psysh__->setScopeVariables(\get_defined_vars()); - - $__psysh__->writeReturnValue($_); - } catch (BreakException $_e) { - $__psysh__->writeException($_e); - - return; - } catch (ThrowUpException $_e) { - $__psysh__->writeException($_e); - - throw $_e; - } catch (\TypeError $_e) { - $__psysh__->writeException(TypeErrorException::fromTypeError($_e)); - } catch (\Error $_e) { - $__psysh__->writeException(ErrorException::fromError($_e)); - } catch (\Exception $_e) { - $__psysh__->writeException($_e); - } - - $__psysh__->afterLoop(); - } while (true); - }); - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/Formatter/CodeFormatter.php b/paragonik-backend/vendor/psy/psysh/src/Formatter/CodeFormatter.php deleted file mode 100644 index 2ac37cc..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/Formatter/CodeFormatter.php +++ /dev/null @@ -1,71 +0,0 @@ -getFileName()) { - if (!\is_file($fileName)) { - throw new RuntimeException('Source code unavailable'); - } - - $file = \file_get_contents($fileName); - $start = $reflector->getStartLine(); - $end = $reflector->getEndLine() - $start; - - $factory = new ConsoleColorFactory($colorMode); - $colors = $factory->getConsoleColor(); - $highlighter = new Highlighter($colors); - - return $highlighter->getCodeSnippet($file, $start, 0, $end); - } else { - throw new RuntimeException('Source code unavailable'); - } - } - - /** - * Check whether a Reflector instance is reflectable by this formatter. - * - * @param \Reflector $reflector - * - * @return bool - */ - private static function isReflectable(\Reflector $reflector) - { - return $reflector instanceof \ReflectionClass || - $reflector instanceof \ReflectionFunctionAbstract; - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/Formatter/DocblockFormatter.php b/paragonik-backend/vendor/psy/psysh/src/Formatter/DocblockFormatter.php deleted file mode 100644 index 39ea60e..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/Formatter/DocblockFormatter.php +++ /dev/null @@ -1,168 +0,0 @@ - 'info', - 'var' => 'strong', - ]; - - /** - * Format a docblock. - * - * @param \Reflector $reflector - * - * @return string Formatted docblock - */ - public static function format(\Reflector $reflector) - { - $docblock = new Docblock($reflector); - $chunks = []; - - if (!empty($docblock->desc)) { - $chunks[] = 'Description:'; - $chunks[] = self::indent(OutputFormatter::escape($docblock->desc), ' '); - $chunks[] = ''; - } - - if (!empty($docblock->tags)) { - foreach ($docblock::$vectors as $name => $vector) { - if (isset($docblock->tags[$name])) { - $chunks[] = \sprintf('%s:', self::inflect($name)); - $chunks[] = self::formatVector($vector, $docblock->tags[$name]); - $chunks[] = ''; - } - } - - $tags = self::formatTags(\array_keys($docblock::$vectors), $docblock->tags); - if (!empty($tags)) { - $chunks[] = $tags; - $chunks[] = ''; - } - } - - return \rtrim(\implode("\n", $chunks)); - } - - /** - * Format a docblock vector, for example, `@throws`, `@param`, or `@return`. - * - * @see DocBlock::$vectors - * - * @param array $vector - * @param array $lines - * - * @return string - */ - private static function formatVector(array $vector, array $lines) - { - $template = [' ']; - foreach ($vector as $type) { - $max = 0; - foreach ($lines as $line) { - $chunk = $line[$type]; - $cur = empty($chunk) ? 0 : \strlen($chunk) + 1; - if ($cur > $max) { - $max = $cur; - } - } - - $template[] = self::getVectorParamTemplate($type, $max); - } - $template = \implode(' ', $template); - - return \implode("\n", \array_map(function ($line) use ($template) { - $escaped = \array_map(['Symfony\Component\Console\Formatter\OutputFormatter', 'escape'], $line); - - return \rtrim(\vsprintf($template, $escaped)); - }, $lines)); - } - - /** - * Format docblock tags. - * - * @param array $skip Tags to exclude - * @param array $tags Tags to format - * - * @return string formatted tags - */ - private static function formatTags(array $skip, array $tags) - { - $chunks = []; - - foreach ($tags as $name => $values) { - if (\in_array($name, $skip)) { - continue; - } - - foreach ($values as $value) { - $chunks[] = \sprintf('%s%s %s', self::inflect($name), empty($value) ? '' : ':', OutputFormatter::escape($value)); - } - - $chunks[] = ''; - } - - return \implode("\n", $chunks); - } - - /** - * Get a docblock vector template. - * - * @param string $type Vector type - * @param int $max Pad width - * - * @return string - */ - private static function getVectorParamTemplate($type, $max) - { - if (!isset(self::$vectorParamTemplates[$type])) { - return \sprintf('%%-%ds', $max); - } - - return \sprintf('<%s>%%-%ds', self::$vectorParamTemplates[$type], $max, self::$vectorParamTemplates[$type]); - } - - /** - * Indent a string. - * - * @param string $text String to indent - * @param string $indent (default: ' ') - * - * @return string - */ - private static function indent($text, $indent = ' ') - { - return $indent . \str_replace("\n", "\n" . $indent, $text); - } - - /** - * Convert underscored or whitespace separated words into sentence case. - * - * @param string $text - * - * @return string - */ - private static function inflect($text) - { - $words = \trim(\preg_replace('/[\s_-]+/', ' ', \preg_replace('/([a-z])([A-Z])/', '$1 $2', $text))); - - return \implode(' ', \array_map('ucfirst', \explode(' ', $words))); - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/Formatter/Formatter.php b/paragonik-backend/vendor/psy/psysh/src/Formatter/Formatter.php deleted file mode 100644 index 08a8e4c..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/Formatter/Formatter.php +++ /dev/null @@ -1,25 +0,0 @@ -getName(); - } - - /** - * Print the method, property or class modifiers. - * - * @param \Reflector $reflector - * - * @return string Formatted modifiers - */ - private static function formatModifiers(\Reflector $reflector) - { - if ($reflector instanceof \ReflectionClass && $reflector->isTrait()) { - // For some reason, PHP 5.x returns `abstract public` modifiers for - // traits. Let's just ignore that business entirely. - if (\version_compare(PHP_VERSION, '7.0.0', '<')) { - return []; - } - } - - return \implode(' ', \array_map(function ($modifier) { - return \sprintf('%s', $modifier); - }, \Reflection::getModifierNames($reflector->getModifiers()))); - } - - /** - * Format a class signature. - * - * @param \ReflectionClass $reflector - * - * @return string Formatted signature - */ - private static function formatClass(\ReflectionClass $reflector) - { - $chunks = []; - - if ($modifiers = self::formatModifiers($reflector)) { - $chunks[] = $modifiers; - } - - if ($reflector->isTrait()) { - $chunks[] = 'trait'; - } else { - $chunks[] = $reflector->isInterface() ? 'interface' : 'class'; - } - - $chunks[] = \sprintf('%s', self::formatName($reflector)); - - if ($parent = $reflector->getParentClass()) { - $chunks[] = 'extends'; - $chunks[] = \sprintf('%s', $parent->getName()); - } - - $interfaces = $reflector->getInterfaceNames(); - if (!empty($interfaces)) { - \sort($interfaces); - - $chunks[] = 'implements'; - $chunks[] = \implode(', ', \array_map(function ($name) { - return \sprintf('%s', $name); - }, $interfaces)); - } - - return \implode(' ', $chunks); - } - - /** - * Format a constant signature. - * - * @param ReflectionClassConstant|\ReflectionClassConstant $reflector - * - * @return string Formatted signature - */ - private static function formatClassConstant($reflector) - { - $value = $reflector->getValue(); - $style = self::getTypeStyle($value); - - return \sprintf( - 'const %s = <%s>%s', - self::formatName($reflector), - $style, - OutputFormatter::escape(Json::encode($value)), - $style - ); - } - - /** - * Format a constant signature. - * - * @param ReflectionConstant_ $reflector - * - * @return string Formatted signature - */ - private static function formatConstant($reflector) - { - $value = $reflector->getValue(); - $style = self::getTypeStyle($value); - - return \sprintf( - 'define(%s, <%s>%s)', - OutputFormatter::escape(Json::encode($reflector->getName())), - $style, - OutputFormatter::escape(Json::encode($value)), - $style - ); - } - - /** - * Helper for getting output style for a given value's type. - * - * @param mixed $value - * - * @return string - */ - private static function getTypeStyle($value) - { - if (\is_int($value) || \is_float($value)) { - return 'number'; - } elseif (\is_string($value)) { - return 'string'; - } elseif (\is_bool($value) || \is_null($value)) { - return 'bool'; - } else { - return 'strong'; // @codeCoverageIgnore - } - } - - /** - * Format a property signature. - * - * @param \ReflectionProperty $reflector - * - * @return string Formatted signature - */ - private static function formatProperty(\ReflectionProperty $reflector) - { - return \sprintf( - '%s $%s', - self::formatModifiers($reflector), - $reflector->getName() - ); - } - - /** - * Format a function signature. - * - * @param \ReflectionFunction $reflector - * - * @return string Formatted signature - */ - private static function formatFunction(\ReflectionFunctionAbstract $reflector) - { - return \sprintf( - 'function %s%s(%s)', - $reflector->returnsReference() ? '&' : '', - self::formatName($reflector), - \implode(', ', self::formatFunctionParams($reflector)) - ); - } - - /** - * Format a method signature. - * - * @param \ReflectionMethod $reflector - * - * @return string Formatted signature - */ - private static function formatMethod(\ReflectionMethod $reflector) - { - return \sprintf( - '%s %s', - self::formatModifiers($reflector), - self::formatFunction($reflector) - ); - } - - /** - * Print the function params. - * - * @param \ReflectionFunctionAbstract $reflector - * - * @return array - */ - private static function formatFunctionParams(\ReflectionFunctionAbstract $reflector) - { - $params = []; - foreach ($reflector->getParameters() as $param) { - $hint = ''; - try { - if ($param->isArray()) { - $hint = 'array '; - } elseif ($class = $param->getClass()) { - $hint = \sprintf('%s ', $class->getName()); - } - } catch (\Exception $e) { - // sometimes we just don't know... - // bad class names, or autoloaded classes that haven't been loaded yet, or whathaveyou. - // come to think of it, the only time I've seen this is with the intl extension. - - // Hax: we'll try to extract it :P - - // @codeCoverageIgnoreStart - $chunks = \explode('$' . $param->getName(), (string) $param); - $chunks = \explode(' ', \trim($chunks[0])); - $guess = \end($chunks); - - $hint = \sprintf('%s ', $guess); - // @codeCoverageIgnoreEnd - } - - if ($param->isOptional()) { - if (!$param->isDefaultValueAvailable()) { - $value = 'unknown'; - $typeStyle = 'urgent'; - } else { - $value = $param->getDefaultValue(); - $typeStyle = self::getTypeStyle($value); - $value = \is_array($value) ? 'array()' : \is_null($value) ? 'null' : \var_export($value, true); - } - $default = \sprintf(' = <%s>%s', $typeStyle, OutputFormatter::escape($value), $typeStyle); - } else { - $default = ''; - } - - $params[] = \sprintf( - '%s%s$%s%s', - $param->isPassedByReference() ? '&' : '', - $hint, - $param->getName(), - $default - ); - } - - return $params; - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/Input/CodeArgument.php b/paragonik-backend/vendor/psy/psysh/src/Input/CodeArgument.php deleted file mode 100644 index cfeb9e1..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/Input/CodeArgument.php +++ /dev/null @@ -1,50 +0,0 @@ -validateInput($input); - - if (!$pattern = $input->getOption('grep')) { - $this->filter = false; - - return; - } - - if (!$this->stringIsRegex($pattern)) { - $pattern = '/' . \preg_quote($pattern, '/') . '/'; - } - - if ($insensitive = $input->getOption('insensitive')) { - $pattern .= 'i'; - } - - $this->validateRegex($pattern); - - $this->filter = true; - $this->pattern = $pattern; - $this->insensitive = $insensitive; - $this->invert = $input->getOption('invert'); - } - - /** - * Check whether the bound input has filter options. - * - * @return bool - */ - public function hasFilter() - { - return $this->filter; - } - - /** - * Check whether a string matches the current filter options. - * - * @param string $string - * @param array $matches - * - * @return bool - */ - public function match($string, array &$matches = null) - { - return $this->filter === false || (\preg_match($this->pattern, $string, $matches) xor $this->invert); - } - - /** - * Validate that grep, invert and insensitive input options are consistent. - * - * @param InputInterface $input - * - * @return bool - */ - private function validateInput(InputInterface $input) - { - if (!$input->getOption('grep')) { - foreach (['invert', 'insensitive'] as $option) { - if ($input->getOption($option)) { - throw new RuntimeException('--' . $option . ' does not make sense without --grep'); - } - } - } - } - - /** - * Check whether a string appears to be a regular expression. - * - * @param string $string - * - * @return bool - */ - private function stringIsRegex($string) - { - return \substr($string, 0, 1) === '/' && \substr($string, -1) === '/' && \strlen($string) >= 3; - } - - /** - * Validate that $pattern is a valid regular expression. - * - * @param string $pattern - * - * @return bool - */ - private function validateRegex($pattern) - { - \set_error_handler(['Psy\Exception\ErrorException', 'throwException']); - try { - \preg_match($pattern, ''); - } catch (ErrorException $e) { - \restore_error_handler(); - throw new RuntimeException(\str_replace('preg_match(): ', 'Invalid regular expression: ', $e->getRawMessage())); - } - \restore_error_handler(); - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/Input/ShellInput.php b/paragonik-backend/vendor/psy/psysh/src/Input/ShellInput.php deleted file mode 100644 index 8675f4d..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/Input/ShellInput.php +++ /dev/null @@ -1,336 +0,0 @@ -tokenPairs = $this->tokenize($input); - } - - /** - * {@inheritdoc} - * - * @throws \InvalidArgumentException if $definition has CodeArgument before the final argument position - */ - public function bind(InputDefinition $definition) - { - $hasCodeArgument = false; - - if ($definition->getArgumentCount() > 0) { - $args = $definition->getArguments(); - $lastArg = \array_pop($args); - foreach ($args as $arg) { - if ($arg instanceof CodeArgument) { - $msg = \sprintf('Unexpected CodeArgument before the final position: %s', $arg->getName()); - throw new \InvalidArgumentException($msg); - } - } - - if ($lastArg instanceof CodeArgument) { - $hasCodeArgument = true; - } - } - - $this->hasCodeArgument = $hasCodeArgument; - - return parent::bind($definition); - } - - /** - * Tokenizes a string. - * - * The version of this on StringInput is good, but doesn't handle code - * arguments if they're at all complicated. This does :) - * - * @param string $input The input to tokenize - * - * @return array An array of token/rest pairs - * - * @throws \InvalidArgumentException When unable to parse input (should never happen) - */ - private function tokenize($input) - { - $tokens = []; - $length = \strlen($input); - $cursor = 0; - while ($cursor < $length) { - if (\preg_match('/\s+/A', $input, $match, null, $cursor)) { - } elseif (\preg_match('/([^="\'\s]+?)(=?)(' . StringInput::REGEX_QUOTED_STRING . '+)/A', $input, $match, null, $cursor)) { - $tokens[] = [ - $match[1] . $match[2] . \stripcslashes(\str_replace(['"\'', '\'"', '\'\'', '""'], '', \substr($match[3], 1, \strlen($match[3]) - 2))), - \stripcslashes(\substr($input, $cursor)), - ]; - } elseif (\preg_match('/' . StringInput::REGEX_QUOTED_STRING . '/A', $input, $match, null, $cursor)) { - $tokens[] = [ - \stripcslashes(\substr($match[0], 1, \strlen($match[0]) - 2)), - \stripcslashes(\substr($input, $cursor)), - ]; - } elseif (\preg_match('/' . StringInput::REGEX_STRING . '/A', $input, $match, null, $cursor)) { - $tokens[] = [ - \stripcslashes($match[1]), - \stripcslashes(\substr($input, $cursor)), - ]; - } else { - // should never happen - // @codeCoverageIgnoreStart - throw new \InvalidArgumentException(\sprintf('Unable to parse input near "... %s ..."', \substr($input, $cursor, 10))); - // @codeCoverageIgnoreEnd - } - - $cursor += \strlen($match[0]); - } - - return $tokens; - } - - /** - * Same as parent, but with some bonus handling for code arguments. - */ - protected function parse() - { - $parseOptions = true; - $this->parsed = $this->tokenPairs; - while (null !== $tokenPair = \array_shift($this->parsed)) { - // token is what you'd expect. rest is the remainder of the input - // string, including token, and will be used if this is a code arg. - list($token, $rest) = $tokenPair; - - if ($parseOptions && '' === $token) { - $this->parseShellArgument($token, $rest); - } elseif ($parseOptions && '--' === $token) { - $parseOptions = false; - } elseif ($parseOptions && 0 === \strpos($token, '--')) { - $this->parseLongOption($token); - } elseif ($parseOptions && '-' === $token[0] && '-' !== $token) { - $this->parseShortOption($token); - } else { - $this->parseShellArgument($token, $rest); - } - } - } - - /** - * Parses an argument, with bonus handling for code arguments. - * - * @param string $token The current token - * @param string $rest The remaining unparsed input, including the current token - * - * @throws \RuntimeException When too many arguments are given - */ - private function parseShellArgument($token, $rest) - { - $c = \count($this->arguments); - - // if input is expecting another argument, add it - if ($this->definition->hasArgument($c)) { - $arg = $this->definition->getArgument($c); - - if ($arg instanceof CodeArgument) { - // When we find a code argument, we're done parsing. Add the - // remaining input to the current argument and call it a day. - $this->parsed = []; - $this->arguments[$arg->getName()] = $rest; - } else { - $this->arguments[$arg->getName()] = $arg->isArray() ? [$token] : $token; - } - - return; - } - - // (copypasta) - // - // @codeCoverageIgnoreStart - - // if last argument isArray(), append token to last argument - if ($this->definition->hasArgument($c - 1) && $this->definition->getArgument($c - 1)->isArray()) { - $arg = $this->definition->getArgument($c - 1); - $this->arguments[$arg->getName()][] = $token; - - return; - } - - // unexpected argument - $all = $this->definition->getArguments(); - if (\count($all)) { - throw new \RuntimeException(\sprintf('Too many arguments, expected arguments "%s".', \implode('" "', \array_keys($all)))); - } - - throw new \RuntimeException(\sprintf('No arguments expected, got "%s".', $token)); - // @codeCoverageIgnoreEnd - } - - // Everything below this is copypasta from ArgvInput private methods - // @codeCoverageIgnoreStart - - /** - * Parses a short option. - * - * @param string $token The current token - */ - private function parseShortOption($token) - { - $name = \substr($token, 1); - - if (\strlen($name) > 1) { - if ($this->definition->hasShortcut($name[0]) && $this->definition->getOptionForShortcut($name[0])->acceptValue()) { - // an option with a value (with no space) - $this->addShortOption($name[0], \substr($name, 1)); - } else { - $this->parseShortOptionSet($name); - } - } else { - $this->addShortOption($name, null); - } - } - - /** - * Parses a short option set. - * - * @param string $name The current token - * - * @throws \RuntimeException When option given doesn't exist - */ - private function parseShortOptionSet($name) - { - $len = \strlen($name); - for ($i = 0; $i < $len; $i++) { - if (!$this->definition->hasShortcut($name[$i])) { - throw new \RuntimeException(\sprintf('The "-%s" option does not exist.', $name[$i])); - } - - $option = $this->definition->getOptionForShortcut($name[$i]); - if ($option->acceptValue()) { - $this->addLongOption($option->getName(), $i === $len - 1 ? null : \substr($name, $i + 1)); - - break; - } else { - $this->addLongOption($option->getName(), null); - } - } - } - - /** - * Parses a long option. - * - * @param string $token The current token - */ - private function parseLongOption($token) - { - $name = \substr($token, 2); - - if (false !== $pos = \strpos($name, '=')) { - if (0 === \strlen($value = \substr($name, $pos + 1))) { - // if no value after "=" then substr() returns "" since php7 only, false before - // see http://php.net/manual/fr/migration70.incompatible.php#119151 - if (PHP_VERSION_ID < 70000 && false === $value) { - $value = ''; - } - \array_unshift($this->parsed, [$value, null]); - } - $this->addLongOption(\substr($name, 0, $pos), $value); - } else { - $this->addLongOption($name, null); - } - } - - /** - * Adds a short option value. - * - * @param string $shortcut The short option key - * @param mixed $value The value for the option - * - * @throws \RuntimeException When option given doesn't exist - */ - private function addShortOption($shortcut, $value) - { - if (!$this->definition->hasShortcut($shortcut)) { - throw new \RuntimeException(\sprintf('The "-%s" option does not exist.', $shortcut)); - } - - $this->addLongOption($this->definition->getOptionForShortcut($shortcut)->getName(), $value); - } - - /** - * Adds a long option value. - * - * @param string $name The long option key - * @param mixed $value The value for the option - * - * @throws \RuntimeException When option given doesn't exist - */ - private function addLongOption($name, $value) - { - if (!$this->definition->hasOption($name)) { - throw new \RuntimeException(\sprintf('The "--%s" option does not exist.', $name)); - } - - $option = $this->definition->getOption($name); - - if (null !== $value && !$option->acceptValue()) { - throw new \RuntimeException(\sprintf('The "--%s" option does not accept a value.', $name)); - } - - if (\in_array($value, ['', null], true) && $option->acceptValue() && \count($this->parsed)) { - // if option accepts an optional or mandatory argument - // let's see if there is one provided - $next = \array_shift($this->parsed); - $nextToken = $next[0]; - if ((isset($nextToken[0]) && '-' !== $nextToken[0]) || \in_array($nextToken, ['', null], true)) { - $value = $nextToken; - } else { - \array_unshift($this->parsed, $next); - } - } - - if (null === $value) { - if ($option->isValueRequired()) { - throw new \RuntimeException(\sprintf('The "--%s" option requires a value.', $name)); - } - - if (!$option->isArray() && !$option->isValueOptional()) { - $value = true; - } - } - - if ($option->isArray()) { - $this->options[$name][] = $value; - } else { - $this->options[$name] = $value; - } - } - - // @codeCoverageIgnoreEnd -} diff --git a/paragonik-backend/vendor/psy/psysh/src/Input/SilentInput.php b/paragonik-backend/vendor/psy/psysh/src/Input/SilentInput.php deleted file mode 100644 index c6f234b..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/Input/SilentInput.php +++ /dev/null @@ -1,44 +0,0 @@ -inputString = $inputString; - } - - /** - * To. String. - * - * @return string - */ - public function __toString() - { - return $this->inputString; - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/Output/OutputPager.php b/paragonik-backend/vendor/psy/psysh/src/Output/OutputPager.php deleted file mode 100644 index a2f12ae..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/Output/OutputPager.php +++ /dev/null @@ -1,26 +0,0 @@ -getStream()); - } - - /** - * Close the current pager process. - */ - public function close() - { - // nothing to do here - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/Output/ProcOutputPager.php b/paragonik-backend/vendor/psy/psysh/src/Output/ProcOutputPager.php deleted file mode 100644 index a047b1c..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/Output/ProcOutputPager.php +++ /dev/null @@ -1,103 +0,0 @@ -stream = $output->getStream(); - $this->cmd = $cmd; - } - - /** - * Writes a message to the output. - * - * @param string $message A message to write to the output - * @param bool $newline Whether to add a newline or not - * - * @throws \RuntimeException When unable to write output (should never happen) - */ - public function doWrite($message, $newline) - { - $pipe = $this->getPipe(); - if (false === @\fwrite($pipe, $message . ($newline ? PHP_EOL : ''))) { - // @codeCoverageIgnoreStart - // should never happen - throw new \RuntimeException('Unable to write output'); - // @codeCoverageIgnoreEnd - } - - \fflush($pipe); - } - - /** - * Close the current pager process. - */ - public function close() - { - if (isset($this->pipe)) { - \fclose($this->pipe); - } - - if (isset($this->proc)) { - $exit = \proc_close($this->proc); - if ($exit !== 0) { - throw new \RuntimeException('Error closing output stream'); - } - } - - unset($this->pipe, $this->proc); - } - - /** - * Get a pipe for paging output. - * - * If no active pager process exists, fork one and return its input pipe. - */ - private function getPipe() - { - if (!isset($this->pipe) || !isset($this->proc)) { - $desc = [['pipe', 'r'], $this->stream, \fopen('php://stderr', 'w')]; - $this->proc = \proc_open($this->cmd, $desc, $pipes); - - if (!\is_resource($this->proc)) { - throw new \RuntimeException('Error opening output stream'); - } - - $this->pipe = $pipes[0]; - } - - return $this->pipe; - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/Output/ShellOutput.php b/paragonik-backend/vendor/psy/psysh/src/Output/ShellOutput.php deleted file mode 100644 index 5881a5c..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/Output/ShellOutput.php +++ /dev/null @@ -1,204 +0,0 @@ -initFormatters(); - - if ($pager === null) { - $this->pager = new PassthruPager($this); - } elseif (\is_string($pager)) { - $this->pager = new ProcOutputPager($this, $pager); - } elseif ($pager instanceof OutputPager) { - $this->pager = $pager; - } else { - throw new \InvalidArgumentException('Unexpected pager parameter: ' . $pager); - } - } - - /** - * Page multiple lines of output. - * - * The output pager is started - * - * If $messages is callable, it will be called, passing this output instance - * for rendering. Otherwise, all passed $messages are paged to output. - * - * Upon completion, the output pager is flushed. - * - * @param string|array|\Closure $messages A string, array of strings or a callback - * @param int $type (default: 0) - */ - public function page($messages, $type = 0) - { - if (\is_string($messages)) { - $messages = (array) $messages; - } - - if (!\is_array($messages) && !\is_callable($messages)) { - throw new \InvalidArgumentException('Paged output requires a string, array or callback'); - } - - $this->startPaging(); - - if (\is_callable($messages)) { - $messages($this); - } else { - $this->write($messages, true, $type); - } - - $this->stopPaging(); - } - - /** - * Start sending output to the output pager. - */ - public function startPaging() - { - $this->paging++; - } - - /** - * Stop paging output and flush the output pager. - */ - public function stopPaging() - { - $this->paging--; - $this->closePager(); - } - - /** - * Writes a message to the output. - * - * Optionally, pass `$type | self::NUMBER_LINES` as the $type parameter to - * number the lines of output. - * - * @throws \InvalidArgumentException When unknown output type is given - * - * @param string|array $messages The message as an array of lines or a single string - * @param bool $newline Whether to add a newline or not - * @param int $type The type of output - */ - public function write($messages, $newline = false, $type = 0) - { - if ($this->getVerbosity() === self::VERBOSITY_QUIET) { - return; - } - - $messages = (array) $messages; - - if ($type & self::NUMBER_LINES) { - $pad = \strlen((string) \count($messages)); - $template = $this->isDecorated() ? ": %s" : "%{$pad}s: %s"; - - if ($type & self::OUTPUT_RAW) { - $messages = \array_map(['Symfony\Component\Console\Formatter\OutputFormatter', 'escape'], $messages); - } - - foreach ($messages as $i => $line) { - $messages[$i] = \sprintf($template, $i, $line); - } - - // clean this up for super. - $type = $type & ~self::NUMBER_LINES & ~self::OUTPUT_RAW; - } - - parent::write($messages, $newline, $type); - } - - /** - * Writes a message to the output. - * - * Handles paged output, or writes directly to the output stream. - * - * @param string $message A message to write to the output - * @param bool $newline Whether to add a newline or not - */ - public function doWrite($message, $newline) - { - if ($this->paging > 0) { - $this->pager->doWrite($message, $newline); - } else { - parent::doWrite($message, $newline); - } - } - - /** - * Flush and close the output pager. - */ - private function closePager() - { - if ($this->paging <= 0) { - $this->pager->close(); - } - } - - /** - * Initialize output formatter styles. - */ - private function initFormatters() - { - $formatter = $this->getFormatter(); - - $formatter->setStyle('warning', new OutputFormatterStyle('black', 'yellow')); - $formatter->setStyle('error', new OutputFormatterStyle('black', 'red', ['bold'])); - $formatter->setStyle('aside', new OutputFormatterStyle('blue')); - $formatter->setStyle('strong', new OutputFormatterStyle(null, null, ['bold'])); - $formatter->setStyle('return', new OutputFormatterStyle('cyan')); - $formatter->setStyle('urgent', new OutputFormatterStyle('red')); - $formatter->setStyle('hidden', new OutputFormatterStyle('black')); - - // Visibility - $formatter->setStyle('public', new OutputFormatterStyle(null, null, ['bold'])); - $formatter->setStyle('protected', new OutputFormatterStyle('yellow')); - $formatter->setStyle('private', new OutputFormatterStyle('red')); - $formatter->setStyle('global', new OutputFormatterStyle('cyan', null, ['bold'])); - $formatter->setStyle('const', new OutputFormatterStyle('cyan')); - $formatter->setStyle('class', new OutputFormatterStyle('blue', null, ['underscore'])); - $formatter->setStyle('function', new OutputFormatterStyle(null)); - $formatter->setStyle('default', new OutputFormatterStyle(null)); - - // Types - $formatter->setStyle('number', new OutputFormatterStyle('magenta')); - $formatter->setStyle('string', new OutputFormatterStyle('green')); - $formatter->setStyle('bool', new OutputFormatterStyle('cyan')); - $formatter->setStyle('keyword', new OutputFormatterStyle('yellow')); - $formatter->setStyle('comment', new OutputFormatterStyle('blue')); - $formatter->setStyle('object', new OutputFormatterStyle('blue')); - $formatter->setStyle('resource', new OutputFormatterStyle('yellow')); - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/ParserFactory.php b/paragonik-backend/vendor/psy/psysh/src/ParserFactory.php deleted file mode 100644 index 263da20..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/ParserFactory.php +++ /dev/null @@ -1,91 +0,0 @@ -= 2.0 — does. - * - * @return bool - */ - public function hasKindsSupport() - { - return \class_exists('PhpParser\ParserFactory'); - } - - /** - * Default kind (if supported, based on current interpreter's version). - * - * @return string|null - */ - public function getDefaultKind() - { - if ($this->hasKindsSupport()) { - return \version_compare(PHP_VERSION, '7.0', '>=') ? static::ONLY_PHP7 : static::ONLY_PHP5; - } - } - - /** - * New parser instance with given kind. - * - * @param string|null $kind One of class constants (only for PHP parser 2.0 and above) - * - * @return Parser - */ - public function createParser($kind = null) - { - if ($this->hasKindsSupport()) { - $originalFactory = new OriginalParserFactory(); - - $kind = $kind ?: $this->getDefaultKind(); - - if (!\in_array($kind, static::getPossibleKinds())) { - throw new \InvalidArgumentException('Unknown parser kind'); - } - - $parser = $originalFactory->create(\constant('PhpParser\ParserFactory::' . $kind)); - } else { - if ($kind !== null) { - throw new \InvalidArgumentException('Install PHP Parser v2.x to specify parser kind'); - } - - $parser = new Parser(new Lexer()); - } - - return $parser; - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/Readline/GNUReadline.php b/paragonik-backend/vendor/psy/psysh/src/Readline/GNUReadline.php deleted file mode 100644 index 1cec3c6..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/Readline/GNUReadline.php +++ /dev/null @@ -1,170 +0,0 @@ -historyFile = ($historyFile !== null) ? $historyFile : false; - $this->historySize = $historySize; - $this->eraseDups = $eraseDups; - } - - /** - * {@inheritdoc} - */ - public function addHistory($line) - { - if ($res = \readline_add_history($line)) { - $this->writeHistory(); - } - - return $res; - } - - /** - * {@inheritdoc} - */ - public function clearHistory() - { - if ($res = \readline_clear_history()) { - $this->writeHistory(); - } - - return $res; - } - - /** - * {@inheritdoc} - */ - public function listHistory() - { - return readline_list_history(); - } - - /** - * {@inheritdoc} - */ - public function readHistory() - { - // Workaround PHP bug #69054 - // - // If open_basedir is set, readline_read_history() segfaults. This was fixed in 5.6.7: - // - // https://github.com/php/php-src/blob/423a057023ef3c00d2ffc16a6b43ba01d0f71796/NEWS#L19-L21 - // - if (\version_compare(PHP_VERSION, '5.6.7', '>=') || !\ini_get('open_basedir')) { - \readline_read_history(); - } - \readline_clear_history(); - - return \readline_read_history($this->historyFile); - } - - /** - * {@inheritdoc} - */ - public function readline($prompt = null) - { - return \readline($prompt); - } - - /** - * {@inheritdoc} - */ - public function redisplay() - { - \readline_redisplay(); - } - - /** - * {@inheritdoc} - */ - public function writeHistory() - { - // We have to write history first, since it is used - // by Libedit to list history - if ($this->historyFile !== false) { - $res = \readline_write_history($this->historyFile); - } else { - $res = true; - } - - if (!$res || !$this->eraseDups && !$this->historySize > 0) { - return $res; - } - - $hist = $this->listHistory(); - if (!$hist) { - return true; - } - - if ($this->eraseDups) { - // flip-flip technique: removes duplicates, latest entries win. - $hist = \array_flip(\array_flip($hist)); - // sort on keys to get the order back - \ksort($hist); - } - - if ($this->historySize > 0) { - $histsize = \count($hist); - if ($histsize > $this->historySize) { - $hist = \array_slice($hist, $histsize - $this->historySize); - } - } - - \readline_clear_history(); - foreach ($hist as $line) { - \readline_add_history($line); - } - - if ($this->historyFile !== false) { - return \readline_write_history($this->historyFile); - } - - return true; - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/Readline/HoaConsole.php b/paragonik-backend/vendor/psy/psysh/src/Readline/HoaConsole.php deleted file mode 100644 index a49b592..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/Readline/HoaConsole.php +++ /dev/null @@ -1,107 +0,0 @@ -hoaReadline = new HoaReadline(); - } - - /** - * {@inheritdoc} - */ - public function addHistory($line) - { - $this->hoaReadline->addHistory($line); - - return true; - } - - /** - * {@inheritdoc} - */ - public function clearHistory() - { - $this->hoaReadline->clearHistory(); - - return true; - } - - /** - * {@inheritdoc} - */ - public function listHistory() - { - $i = 0; - $list = []; - while (($item = $this->hoaReadline->getHistory($i++)) !== null) { - $list[] = $item; - } - - return $list; - } - - /** - * {@inheritdoc} - */ - public function readHistory() - { - return true; - } - - /** - * {@inheritdoc} - * - * @throws BreakException if user hits Ctrl+D - * - * @return string - */ - public function readline($prompt = null) - { - return $this->hoaReadline->readLine($prompt); - } - - /** - * {@inheritdoc} - */ - public function redisplay() - { - // noop - } - - /** - * {@inheritdoc} - */ - public function writeHistory() - { - return true; - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/Readline/Libedit.php b/paragonik-backend/vendor/psy/psysh/src/Readline/Libedit.php deleted file mode 100644 index d1dc002..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/Readline/Libedit.php +++ /dev/null @@ -1,83 +0,0 @@ -historyFile); - if (!$history) { - return []; - } - - // libedit doesn't seem to support non-unix line separators. - $history = \explode("\n", $history); - - // shift the history signature, ensure it's valid - if (\array_shift($history) !== '_HiStOrY_V2_') { - return []; - } - - // decode the line - $history = \array_map([$this, 'parseHistoryLine'], $history); - // filter empty lines & comments - return \array_values(\array_filter($history)); - } - - /** - * From GNUReadline (readline/histfile.c & readline/histexpand.c): - * lines starting with "\0" are comments or timestamps; - * if "\0" is found in an entry, - * everything from it until the next line is a comment. - * - * @param string $line The history line to parse - * - * @return string | null - */ - protected function parseHistoryLine($line) - { - // empty line, comment or timestamp - if (!$line || $line[0] === "\0") { - return; - } - // if "\0" is found in an entry, then - // everything from it until the end of line is a comment. - if (($pos = \strpos($line, "\0")) !== false) { - $line = \substr($line, 0, $pos); - } - - return ($line !== '') ? Str::unvis($line) : null; - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/Readline/Readline.php b/paragonik-backend/vendor/psy/psysh/src/Readline/Readline.php deleted file mode 100644 index 6d0cb6e..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/Readline/Readline.php +++ /dev/null @@ -1,76 +0,0 @@ -history = []; - $this->historySize = $historySize; - $this->eraseDups = $eraseDups; - } - - /** - * {@inheritdoc} - */ - public function addHistory($line) - { - if ($this->eraseDups) { - if (($key = \array_search($line, $this->history)) !== false) { - unset($this->history[$key]); - } - } - - $this->history[] = $line; - - if ($this->historySize > 0) { - $histsize = \count($this->history); - if ($histsize > $this->historySize) { - $this->history = \array_slice($this->history, $histsize - $this->historySize); - } - } - - $this->history = \array_values($this->history); - - return true; - } - - /** - * {@inheritdoc} - */ - public function clearHistory() - { - $this->history = []; - - return true; - } - - /** - * {@inheritdoc} - */ - public function listHistory() - { - return $this->history; - } - - /** - * {@inheritdoc} - */ - public function readHistory() - { - return true; - } - - /** - * {@inheritdoc} - * - * @throws BreakException if user hits Ctrl+D - * - * @return string - */ - public function readline($prompt = null) - { - echo $prompt; - - return \rtrim(\fgets($this->getStdin()), "\n\r"); - } - - /** - * {@inheritdoc} - */ - public function redisplay() - { - // noop - } - - /** - * {@inheritdoc} - */ - public function writeHistory() - { - return true; - } - - /** - * Get a STDIN file handle. - * - * @throws BreakException if user hits Ctrl+D - * - * @return resource - */ - private function getStdin() - { - if (!isset($this->stdin)) { - $this->stdin = \fopen('php://stdin', 'r'); - } - - if (\feof($this->stdin)) { - throw new BreakException('Ctrl+D'); - } - - return $this->stdin; - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/Reflection/ReflectionClassConstant.php b/paragonik-backend/vendor/psy/psysh/src/Reflection/ReflectionClassConstant.php deleted file mode 100644 index 019ad21..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/Reflection/ReflectionClassConstant.php +++ /dev/null @@ -1,228 +0,0 @@ -class = $class; - $this->name = $name; - - $constants = $class->getConstants(); - if (!\array_key_exists($name, $constants)) { - throw new \InvalidArgumentException('Unknown constant: ' . $name); - } - - $this->value = $constants[$name]; - } - - /** - * Exports a reflection. - * - * @param string|object $class - * @param string $name - * @param bool $return pass true to return the export, as opposed to emitting it - * - * @return null|string - */ - public static function export($class, $name, $return = false) - { - $refl = new self($class, $name); - $value = $refl->getValue(); - - $str = \sprintf('Constant [ public %s %s ] { %s }', \gettype($value), $refl->getName(), $value); - - if ($return) { - return $str; - } - - echo $str . "\n"; - } - - /** - * Gets the declaring class. - * - * @return \ReflectionClass - */ - public function getDeclaringClass() - { - $parent = $this->class; - - // Since we don't have real reflection constants, we can't see where - // it's actually defined. Let's check for a constant that is also - // available on the parent class which has exactly the same value. - // - // While this isn't _technically_ correct, it's prolly close enough. - do { - $class = $parent; - $parent = $class->getParentClass(); - } while ($parent && $parent->hasConstant($this->name) && $parent->getConstant($this->name) === $this->value); - - return $class; - } - - /** - * Get the constant's docblock. - * - * @return false - */ - public function getDocComment() - { - return false; - } - - /** - * Gets the class constant modifiers. - * - * Since this is only used for PHP < 7.1, we can just return "public". All - * the fancier modifiers are only available on PHP versions which have their - * own ReflectionClassConstant class :) - * - * @return int - */ - public function getModifiers() - { - return \ReflectionMethod::IS_PUBLIC; - } - - /** - * Gets the constant name. - * - * @return string - */ - public function getName() - { - return $this->name; - } - - /** - * Gets the value of the constant. - * - * @return mixed - */ - public function getValue() - { - return $this->value; - } - - /** - * Checks if class constant is private. - * - * @return bool false - */ - public function isPrivate() - { - return false; - } - - /** - * Checks if class constant is protected. - * - * @return bool false - */ - public function isProtected() - { - return false; - } - - /** - * Checks if class constant is public. - * - * @return bool true - */ - public function isPublic() - { - return true; - } - - /** - * To string. - * - * @return string - */ - public function __toString() - { - return $this->getName(); - } - - /** - * Gets the constant's file name. - * - * Currently returns null, because if it returns a file name the signature - * formatter will barf. - */ - public function getFileName() - { - return; - // return $this->class->getFileName(); - } - - /** - * Get the code start line. - * - * @throws \RuntimeException - */ - public function getStartLine() - { - throw new \RuntimeException('Not yet implemented because it\'s unclear what I should do here :)'); - } - - /** - * Get the code end line. - * - * @throws \RuntimeException - */ - public function getEndLine() - { - return $this->getStartLine(); - } - - /** - * Get a ReflectionClassConstant instance. - * - * In PHP >= 7.1, this will return a \ReflectionClassConstant from the - * standard reflection library. For older PHP, it will return this polyfill. - * - * @param string|object $class - * @param string $name - * - * @return ReflectionClassConstant|\ReflectionClassConstant - */ - public static function create($class, $name) - { - if (\class_exists('\\ReflectionClassConstant')) { - return new \ReflectionClassConstant($class, $name); - } - - return new self($class, $name); - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/Reflection/ReflectionConstant.php b/paragonik-backend/vendor/psy/psysh/src/Reflection/ReflectionConstant.php deleted file mode 100644 index a813fc5..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/Reflection/ReflectionConstant.php +++ /dev/null @@ -1,30 +0,0 @@ -name = $name; - - if (!\defined($name) && !self::isMagicConstant($name)) { - throw new \InvalidArgumentException('Unknown constant: ' . $name); - } - - if (!self::isMagicConstant($name)) { - $this->value = @\constant($name); - } - } - - /** - * Exports a reflection. - * - * @param string $name - * @param bool $return pass true to return the export, as opposed to emitting it - * - * @return null|string - */ - public static function export($name, $return = false) - { - $refl = new self($name); - $value = $refl->getValue(); - - $str = \sprintf('Constant [ %s %s ] { %s }', \gettype($value), $refl->getName(), $value); - - if ($return) { - return $str; - } - - echo $str . "\n"; - } - - public static function isMagicConstant($name) - { - return \in_array($name, self::$magicConstants); - } - - /** - * Get the constant's docblock. - * - * @return false - */ - public function getDocComment() - { - return false; - } - - /** - * Gets the constant name. - * - * @return string - */ - public function getName() - { - return $this->name; - } - - /** - * Gets the namespace name. - * - * Returns '' when the constant is not namespaced. - * - * @return string - */ - public function getNamespaceName() - { - if (!$this->inNamespace()) { - return ''; - } - - return \preg_replace('/\\\\[^\\\\]+$/', '', $this->name); - } - - /** - * Gets the value of the constant. - * - * @return mixed - */ - public function getValue() - { - return $this->value; - } - - /** - * Checks if this constant is defined in a namespace. - * - * @return bool - */ - public function inNamespace() - { - return \strpos($this->name, '\\') !== false; - } - - /** - * To string. - * - * @return string - */ - public function __toString() - { - return $this->getName(); - } - - /** - * Gets the constant's file name. - * - * Currently returns null, because if it returns a file name the signature - * formatter will barf. - */ - public function getFileName() - { - return; - // return $this->class->getFileName(); - } - - /** - * Get the code start line. - * - * @throws \RuntimeException - */ - public function getStartLine() - { - throw new \RuntimeException('Not yet implemented because it\'s unclear what I should do here :)'); - } - - /** - * Get the code end line. - * - * @throws \RuntimeException - */ - public function getEndLine() - { - return $this->getStartLine(); - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/Reflection/ReflectionLanguageConstruct.php b/paragonik-backend/vendor/psy/psysh/src/Reflection/ReflectionLanguageConstruct.php deleted file mode 100644 index 9b8eefc..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/Reflection/ReflectionLanguageConstruct.php +++ /dev/null @@ -1,164 +0,0 @@ - [ - 'var' => [], - '...' => [ - 'isOptional' => true, - 'defaultValue' => null, - ], - ], - - 'unset' => [ - 'var' => [], - '...' => [ - 'isOptional' => true, - 'defaultValue' => null, - ], - ], - - 'empty' => [ - 'var' => [], - ], - - 'echo' => [ - 'arg1' => [], - '...' => [ - 'isOptional' => true, - 'defaultValue' => null, - ], - ], - - 'print' => [ - 'arg' => [], - ], - - 'die' => [ - 'status' => [ - 'isOptional' => true, - 'defaultValue' => 0, - ], - ], - - 'exit' => [ - 'status' => [ - 'isOptional' => true, - 'defaultValue' => 0, - ], - ], - ]; - - /** - * Construct a ReflectionLanguageConstruct object. - * - * @param string $keyword - */ - public function __construct($keyword) - { - if (!self::isLanguageConstruct($keyword)) { - throw new \InvalidArgumentException('Unknown language construct: ' . $keyword); - } - - $this->keyword = $keyword; - } - - /** - * This can't (and shouldn't) do anything :). - * - * @throws \RuntimeException - */ - public static function export($name) - { - throw new \RuntimeException('Not yet implemented because it\'s unclear what I should do here :)'); - } - - /** - * Get language construct name. - * - * @return string - */ - public function getName() - { - return $this->keyword; - } - - /** - * None of these return references. - * - * @return bool - */ - public function returnsReference() - { - return false; - } - - /** - * Get language construct params. - * - * @return array - */ - public function getParameters() - { - $params = []; - foreach (self::$languageConstructs[$this->keyword] as $parameter => $opts) { - \array_push($params, new ReflectionLanguageConstructParameter($this->keyword, $parameter, $opts)); - } - - return $params; - } - - /** - * Gets the file name from a language construct. - * - * (Hint: it always returns false) - * - * @return bool false - */ - public function getFileName() - { - return false; - } - - /** - * To string. - * - * @return string - */ - public function __toString() - { - return $this->getName(); - } - - /** - * Check whether keyword is a (known) language construct. - * - * @param string $keyword - * - * @return bool - */ - public static function isLanguageConstruct($keyword) - { - return \array_key_exists($keyword, self::$languageConstructs); - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/Reflection/ReflectionLanguageConstructParameter.php b/paragonik-backend/vendor/psy/psysh/src/Reflection/ReflectionLanguageConstructParameter.php deleted file mode 100644 index 9161aa7..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/Reflection/ReflectionLanguageConstructParameter.php +++ /dev/null @@ -1,103 +0,0 @@ -function = $function; - $this->parameter = $parameter; - $this->opts = $opts; - } - - /** - * No class here. - */ - public function getClass() - { - return; - } - - /** - * Is the param an array? - * - * @return bool - */ - public function isArray() - { - return \array_key_exists('isArray', $this->opts) && $this->opts['isArray']; - } - - /** - * Get param default value. - * - * @return mixed - */ - public function getDefaultValue() - { - if ($this->isDefaultValueAvailable()) { - return $this->opts['defaultValue']; - } - } - - /** - * Get param name. - * - * @return string - */ - public function getName() - { - return $this->parameter; - } - - /** - * Is the param optional? - * - * @return bool - */ - public function isOptional() - { - return \array_key_exists('isOptional', $this->opts) && $this->opts['isOptional']; - } - - /** - * Does the param have a default value? - * - * @return bool - */ - public function isDefaultValueAvailable() - { - return \array_key_exists('defaultValue', $this->opts); - } - - /** - * Is the param passed by reference? - * - * (I don't think this is true for anything we need to fake a param for) - * - * @return bool - */ - public function isPassedByReference() - { - return \array_key_exists('isPassedByReference', $this->opts) && $this->opts['isPassedByReference']; - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/Shell.php b/paragonik-backend/vendor/psy/psysh/src/Shell.php deleted file mode 100644 index efde452..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/Shell.php +++ /dev/null @@ -1,1339 +0,0 @@ -run(); - * - * @author Justin Hileman - */ -class Shell extends Application -{ - const VERSION = 'v0.9.11'; - - const PROMPT = '>>> '; - const BUFF_PROMPT = '... '; - const REPLAY = '--> '; - const RETVAL = '=> '; - - private $config; - private $cleaner; - private $output; - private $readline; - private $inputBuffer; - private $code; - private $codeBuffer; - private $codeBufferOpen; - private $codeStack; - private $stdoutBuffer; - private $context; - private $includes; - private $loop; - private $outputWantsNewline = false; - private $prompt; - private $loopListeners; - private $autoCompleter; - private $matchers = []; - private $commandsMatcher; - private $lastExecSuccess = true; - - /** - * Create a new Psy Shell. - * - * @param Configuration $config (default: null) - */ - public function __construct(Configuration $config = null) - { - $this->config = $config ?: new Configuration(); - $this->cleaner = $this->config->getCodeCleaner(); - $this->loop = new ExecutionLoop(); - $this->context = new Context(); - $this->includes = []; - $this->readline = $this->config->getReadline(); - $this->inputBuffer = []; - $this->codeStack = []; - $this->stdoutBuffer = ''; - $this->loopListeners = $this->getDefaultLoopListeners(); - - parent::__construct('Psy Shell', self::VERSION); - - $this->config->setShell($this); - - // Register the current shell session's config with \Psy\info - \Psy\info($this->config); - } - - /** - * Check whether the first thing in a backtrace is an include call. - * - * This is used by the psysh bin to decide whether to start a shell on boot, - * or to simply autoload the library. - */ - public static function isIncluded(array $trace) - { - return isset($trace[0]['function']) && - \in_array($trace[0]['function'], ['require', 'include', 'require_once', 'include_once']); - } - - /** - * Invoke a Psy Shell from the current context. - * - * @see Psy\debug - * @deprecated will be removed in 1.0. Use \Psy\debug instead - * - * @param array $vars Scope variables from the calling context (default: array()) - * @param object|string $bindTo Bound object ($this) or class (self) value for the shell - * - * @return array Scope variables from the debugger session - */ - public static function debug(array $vars = [], $bindTo = null) - { - return \Psy\debug($vars, $bindTo); - } - - /** - * Adds a command object. - * - * {@inheritdoc} - * - * @param BaseCommand $command A Symfony Console Command object - * - * @return BaseCommand The registered command - */ - public function add(BaseCommand $command) - { - if ($ret = parent::add($command)) { - if ($ret instanceof ContextAware) { - $ret->setContext($this->context); - } - - if ($ret instanceof PresenterAware) { - $ret->setPresenter($this->config->getPresenter()); - } - - if (isset($this->commandsMatcher)) { - $this->commandsMatcher->setCommands($this->all()); - } - } - - return $ret; - } - - /** - * Gets the default input definition. - * - * @return InputDefinition An InputDefinition instance - */ - protected function getDefaultInputDefinition() - { - return new InputDefinition([ - new InputArgument('command', InputArgument::REQUIRED, 'The command to execute'), - new InputOption('--help', '-h', InputOption::VALUE_NONE, 'Display this help message.'), - ]); - } - - /** - * Gets the default commands that should always be available. - * - * @return array An array of default Command instances - */ - protected function getDefaultCommands() - { - $sudo = new Command\SudoCommand(); - $sudo->setReadline($this->readline); - - $hist = new Command\HistoryCommand(); - $hist->setReadline($this->readline); - - return [ - new Command\HelpCommand(), - new Command\ListCommand(), - new Command\DumpCommand(), - new Command\DocCommand(), - new Command\ShowCommand($this->config->colorMode()), - new Command\WtfCommand($this->config->colorMode()), - new Command\WhereamiCommand($this->config->colorMode()), - new Command\ThrowUpCommand(), - new Command\TimeitCommand(), - new Command\TraceCommand(), - new Command\BufferCommand(), - new Command\ClearCommand(), - new Command\EditCommand($this->config->getRuntimeDir()), - // new Command\PsyVersionCommand(), - $sudo, - $hist, - new Command\ExitCommand(), - ]; - } - - /** - * @return array - */ - protected function getDefaultMatchers() - { - // Store the Commands Matcher for later. If more commands are added, - // we'll update the Commands Matcher too. - $this->commandsMatcher = new Matcher\CommandsMatcher($this->all()); - - return [ - $this->commandsMatcher, - new Matcher\KeywordsMatcher(), - new Matcher\VariablesMatcher(), - new Matcher\ConstantsMatcher(), - new Matcher\FunctionsMatcher(), - new Matcher\ClassNamesMatcher(), - new Matcher\ClassMethodsMatcher(), - new Matcher\ClassAttributesMatcher(), - new Matcher\ObjectMethodsMatcher(), - new Matcher\ObjectAttributesMatcher(), - new Matcher\ClassMethodDefaultParametersMatcher(), - new Matcher\ObjectMethodDefaultParametersMatcher(), - new Matcher\FunctionDefaultParametersMatcher(), - ]; - } - - /** - * @deprecated Nothing should use this anymore - */ - protected function getTabCompletionMatchers() - { - @\trigger_error('getTabCompletionMatchers is no longer used', E_USER_DEPRECATED); - } - - /** - * Gets the default command loop listeners. - * - * @return array An array of Execution Loop Listener instances - */ - protected function getDefaultLoopListeners() - { - $listeners = []; - - if (ProcessForker::isSupported() && $this->config->usePcntl()) { - $listeners[] = new ProcessForker(); - } - - if (RunkitReloader::isSupported()) { - $listeners[] = new RunkitReloader(); - } - - return $listeners; - } - - /** - * Add tab completion matchers. - * - * @param array $matchers - */ - public function addMatchers(array $matchers) - { - $this->matchers = \array_merge($this->matchers, $matchers); - - if (isset($this->autoCompleter)) { - $this->addMatchersToAutoCompleter($matchers); - } - } - - /** - * @deprecated Call `addMatchers` instead - * - * @param array $matchers - */ - public function addTabCompletionMatchers(array $matchers) - { - $this->addMatchers($matchers); - } - - /** - * Set the Shell output. - * - * @param OutputInterface $output - */ - public function setOutput(OutputInterface $output) - { - $this->output = $output; - } - - /** - * Runs the current application. - * - * @param InputInterface $input An Input instance - * @param OutputInterface $output An Output instance - * - * @return int 0 if everything went fine, or an error code - */ - public function run(InputInterface $input = null, OutputInterface $output = null) - { - $this->initializeTabCompletion(); - - if ($input === null && !isset($_SERVER['argv'])) { - $input = new ArgvInput([]); - } - - if ($output === null) { - $output = $this->config->getOutput(); - } - - try { - return parent::run($input, $output); - } catch (\Exception $e) { - $this->writeException($e); - } - - return 1; - } - - /** - * Runs the current application. - * - * @throws Exception if thrown via the `throw-up` command - * - * @param InputInterface $input An Input instance - * @param OutputInterface $output An Output instance - * - * @return int 0 if everything went fine, or an error code - */ - public function doRun(InputInterface $input, OutputInterface $output) - { - $this->setOutput($output); - - $this->resetCodeBuffer(); - - $this->setAutoExit(false); - $this->setCatchExceptions(false); - - $this->readline->readHistory(); - - $this->output->writeln($this->getHeader()); - $this->writeVersionInfo(); - $this->writeStartupMessage(); - - try { - $this->beforeRun(); - $this->loop->run($this); - $this->afterRun(); - } catch (ThrowUpException $e) { - throw $e->getPrevious(); - } catch (BreakException $e) { - // The ProcessForker throws a BreakException to finish the main thread. - return; - } - } - - /** - * Read user input. - * - * This will continue fetching user input until the code buffer contains - * valid code. - * - * @throws BreakException if user hits Ctrl+D - */ - public function getInput() - { - $this->codeBufferOpen = false; - - do { - // reset output verbosity (in case it was altered by a subcommand) - $this->output->setVerbosity(OutputInterface::VERBOSITY_VERBOSE); - - $input = $this->readline(); - - /* - * Handle Ctrl+D. It behaves differently in different cases: - * - * 1) In an expression, like a function or "if" block, clear the input buffer - * 2) At top-level session, behave like the exit command - */ - if ($input === false) { - $this->output->writeln(''); - - if ($this->hasCode()) { - $this->resetCodeBuffer(); - } else { - throw new BreakException('Ctrl+D'); - } - } - - // handle empty input - if (\trim($input) === '' && !$this->codeBufferOpen) { - continue; - } - - $input = $this->onInput($input); - - // If the input isn't in an open string or comment, check for commands to run. - if ($this->hasCommand($input) && !$this->inputInOpenStringOrComment($input)) { - $this->addHistory($input); - $this->runCommand($input); - - continue; - } - - $this->addCode($input); - } while (!$this->hasValidCode()); - } - - /** - * Check whether the code buffer (plus current input) is in an open string or comment. - * - * @param string $input current line of input - * - * @return bool true if the input is in an open string or comment - */ - private function inputInOpenStringOrComment($input) - { - if (!$this->hasCode()) { - return; - } - - $code = $this->codeBuffer; - \array_push($code, $input); - $tokens = @\token_get_all('loopListeners as $listener) { - $listener->beforeRun($this); - } - } - - /** - * Run execution loop listeners at the start of each loop. - */ - public function beforeLoop() - { - foreach ($this->loopListeners as $listener) { - $listener->beforeLoop($this); - } - } - - /** - * Run execution loop listeners on user input. - * - * @param string $input - * - * @return string - */ - public function onInput($input) - { - foreach ($this->loopListeners as $listeners) { - if (($return = $listeners->onInput($this, $input)) !== null) { - $input = $return; - } - } - - return $input; - } - - /** - * Run execution loop listeners on code to be executed. - * - * @param string $code - * - * @return string - */ - public function onExecute($code) - { - foreach ($this->loopListeners as $listener) { - if (($return = $listener->onExecute($this, $code)) !== null) { - $code = $return; - } - } - - return $code; - } - - /** - * Run execution loop listeners after each loop. - */ - public function afterLoop() - { - foreach ($this->loopListeners as $listener) { - $listener->afterLoop($this); - } - } - - /** - * Run execution loop listers after the shell session. - */ - protected function afterRun() - { - foreach ($this->loopListeners as $listener) { - $listener->afterRun($this); - } - } - - /** - * Set the variables currently in scope. - * - * @param array $vars - */ - public function setScopeVariables(array $vars) - { - $this->context->setAll($vars); - } - - /** - * Return the set of variables currently in scope. - * - * @param bool $includeBoundObject Pass false to exclude 'this'. If you're - * passing the scope variables to `extract` - * in PHP 7.1+, you _must_ exclude 'this' - * - * @return array Associative array of scope variables - */ - public function getScopeVariables($includeBoundObject = true) - { - $vars = $this->context->getAll(); - - if (!$includeBoundObject) { - unset($vars['this']); - } - - return $vars; - } - - /** - * Return the set of magic variables currently in scope. - * - * @param bool $includeBoundObject Pass false to exclude 'this'. If you're - * passing the scope variables to `extract` - * in PHP 7.1+, you _must_ exclude 'this' - * - * @return array Associative array of magic scope variables - */ - public function getSpecialScopeVariables($includeBoundObject = true) - { - $vars = $this->context->getSpecialVariables(); - - if (!$includeBoundObject) { - unset($vars['this']); - } - - return $vars; - } - - /** - * Return the set of variables currently in scope which differ from the - * values passed as $currentVars. - * - * This is used inside the Execution Loop Closure to pick up scope variable - * changes made by commands while the loop is running. - * - * @param array $currentVars - * - * @return array Associative array of scope variables which differ from $currentVars - */ - public function getScopeVariablesDiff(array $currentVars) - { - $newVars = []; - - foreach ($this->getScopeVariables(false) as $key => $value) { - if (!array_key_exists($key, $currentVars) || $currentVars[$key] !== $value) { - $newVars[$key] = $value; - } - } - - return $newVars; - } - - /** - * Get the set of unused command-scope variable names. - * - * @return array Array of unused variable names - */ - public function getUnusedCommandScopeVariableNames() - { - return $this->context->getUnusedCommandScopeVariableNames(); - } - - /** - * Get the set of variable names currently in scope. - * - * @return array Array of variable names - */ - public function getScopeVariableNames() - { - return \array_keys($this->context->getAll()); - } - - /** - * Get a scope variable value by name. - * - * @param string $name - * - * @return mixed - */ - public function getScopeVariable($name) - { - return $this->context->get($name); - } - - /** - * Set the bound object ($this variable) for the interactive shell. - * - * @param object|null $boundObject - */ - public function setBoundObject($boundObject) - { - $this->context->setBoundObject($boundObject); - } - - /** - * Get the bound object ($this variable) for the interactive shell. - * - * @return object|null - */ - public function getBoundObject() - { - return $this->context->getBoundObject(); - } - - /** - * Set the bound class (self) for the interactive shell. - * - * @param string|null $boundClass - */ - public function setBoundClass($boundClass) - { - $this->context->setBoundClass($boundClass); - } - - /** - * Get the bound class (self) for the interactive shell. - * - * @return string|null - */ - public function getBoundClass() - { - return $this->context->getBoundClass(); - } - - /** - * Add includes, to be parsed and executed before running the interactive shell. - * - * @param array $includes - */ - public function setIncludes(array $includes = []) - { - $this->includes = $includes; - } - - /** - * Get PHP files to be parsed and executed before running the interactive shell. - * - * @return array - */ - public function getIncludes() - { - return \array_merge($this->config->getDefaultIncludes(), $this->includes); - } - - /** - * Check whether this shell's code buffer contains code. - * - * @return bool True if the code buffer contains code - */ - public function hasCode() - { - return !empty($this->codeBuffer); - } - - /** - * Check whether the code in this shell's code buffer is valid. - * - * If the code is valid, the code buffer should be flushed and evaluated. - * - * @return bool True if the code buffer content is valid - */ - protected function hasValidCode() - { - return !$this->codeBufferOpen && $this->code !== false; - } - - /** - * Add code to the code buffer. - * - * @param string $code - * @param bool $silent - */ - public function addCode($code, $silent = false) - { - try { - // Code lines ending in \ keep the buffer open - if (\substr(\rtrim($code), -1) === '\\') { - $this->codeBufferOpen = true; - $code = \substr(\rtrim($code), 0, -1); - } else { - $this->codeBufferOpen = false; - } - - $this->codeBuffer[] = $silent ? new SilentInput($code) : $code; - $this->code = $this->cleaner->clean($this->codeBuffer, $this->config->requireSemicolons()); - } catch (\Exception $e) { - // Add failed code blocks to the readline history. - $this->addCodeBufferToHistory(); - - throw $e; - } - } - - /** - * Set the code buffer. - * - * This is mostly used by `Shell::execute`. Any existing code in the input - * buffer is pushed onto a stack and will come back after this new code is - * executed. - * - * @throws \InvalidArgumentException if $code isn't a complete statement - * - * @param string $code - * @param bool $silent - */ - private function setCode($code, $silent = false) - { - if ($this->hasCode()) { - $this->codeStack[] = [$this->codeBuffer, $this->codeBufferOpen, $this->code]; - } - - $this->resetCodeBuffer(); - try { - $this->addCode($code, $silent); - } catch (\Throwable $e) { - $this->popCodeStack(); - - throw $e; - } catch (\Exception $e) { - $this->popCodeStack(); - - throw $e; - } - - if (!$this->hasValidCode()) { - $this->popCodeStack(); - - throw new \InvalidArgumentException('Unexpected end of input'); - } - } - - /** - * Get the current code buffer. - * - * This is useful for commands which manipulate the buffer. - * - * @return array - */ - public function getCodeBuffer() - { - return $this->codeBuffer; - } - - /** - * Run a Psy Shell command given the user input. - * - * @throws InvalidArgumentException if the input is not a valid command - * - * @param string $input User input string - * - * @return mixed Who knows? - */ - protected function runCommand($input) - { - $command = $this->getCommand($input); - - if (empty($command)) { - throw new \InvalidArgumentException('Command not found: ' . $input); - } - - $input = new ShellInput(\str_replace('\\', '\\\\', \rtrim($input, " \t\n\r\0\x0B;"))); - - if ($input->hasParameterOption(['--help', '-h'])) { - $helpCommand = $this->get('help'); - $helpCommand->setCommand($command); - - return $helpCommand->run($input, $this->output); - } - - return $command->run($input, $this->output); - } - - /** - * Reset the current code buffer. - * - * This should be run after evaluating user input, catching exceptions, or - * on demand by commands such as BufferCommand. - */ - public function resetCodeBuffer() - { - $this->codeBuffer = []; - $this->code = false; - } - - /** - * Inject input into the input buffer. - * - * This is useful for commands which want to replay history. - * - * @param string|array $input - * @param bool $silent - */ - public function addInput($input, $silent = false) - { - foreach ((array) $input as $line) { - $this->inputBuffer[] = $silent ? new SilentInput($line) : $line; - } - } - - /** - * Flush the current (valid) code buffer. - * - * If the code buffer is valid, resets the code buffer and returns the - * current code. - * - * @return string PHP code buffer contents - */ - public function flushCode() - { - if ($this->hasValidCode()) { - $this->addCodeBufferToHistory(); - $code = $this->code; - $this->popCodeStack(); - - return $code; - } - } - - /** - * Reset the code buffer and restore any code pushed during `execute` calls. - */ - private function popCodeStack() - { - $this->resetCodeBuffer(); - - if (empty($this->codeStack)) { - return; - } - - list($codeBuffer, $codeBufferOpen, $code) = \array_pop($this->codeStack); - - $this->codeBuffer = $codeBuffer; - $this->codeBufferOpen = $codeBufferOpen; - $this->code = $code; - } - - /** - * (Possibly) add a line to the readline history. - * - * Like Bash, if the line starts with a space character, it will be omitted - * from history. Note that an entire block multi-line code input will be - * omitted iff the first line begins with a space. - * - * Additionally, if a line is "silent", i.e. it was initially added with the - * silent flag, it will also be omitted. - * - * @param string|SilentInput $line - */ - private function addHistory($line) - { - if ($line instanceof SilentInput) { - return; - } - - // Skip empty lines and lines starting with a space - if (\trim($line) !== '' && \substr($line, 0, 1) !== ' ') { - $this->readline->addHistory($line); - } - } - - /** - * Filter silent input from code buffer, write the rest to readline history. - */ - private function addCodeBufferToHistory() - { - $codeBuffer = \array_filter($this->codeBuffer, function ($line) { - return !$line instanceof SilentInput; - }); - - $this->addHistory(\implode("\n", $codeBuffer)); - } - - /** - * Get the current evaluation scope namespace. - * - * @see CodeCleaner::getNamespace - * - * @return string Current code namespace - */ - public function getNamespace() - { - if ($namespace = $this->cleaner->getNamespace()) { - return \implode('\\', $namespace); - } - } - - /** - * Write a string to stdout. - * - * This is used by the shell loop for rendering output from evaluated code. - * - * @param string $out - * @param int $phase Output buffering phase - */ - public function writeStdout($out, $phase = PHP_OUTPUT_HANDLER_END) - { - $isCleaning = $phase & PHP_OUTPUT_HANDLER_CLEAN; - - // Incremental flush - if ($out !== '' && !$isCleaning) { - $this->output->write($out, false, OutputInterface::OUTPUT_RAW); - $this->outputWantsNewline = (\substr($out, -1) !== "\n"); - $this->stdoutBuffer .= $out; - } - - // Output buffering is done! - if ($phase & PHP_OUTPUT_HANDLER_END) { - // Write an extra newline if stdout didn't end with one - if ($this->outputWantsNewline) { - $this->output->writeln(\sprintf('', $this->config->useUnicode() ? 'âŽ' : '\\n')); - $this->outputWantsNewline = false; - } - - // Save the stdout buffer as $__out - if ($this->stdoutBuffer !== '') { - $this->context->setLastStdout($this->stdoutBuffer); - $this->stdoutBuffer = ''; - } - } - } - - /** - * Write a return value to stdout. - * - * The return value is formatted or pretty-printed, and rendered in a - * visibly distinct manner (in this case, as cyan). - * - * @see self::presentValue - * - * @param mixed $ret - */ - public function writeReturnValue($ret) - { - $this->lastExecSuccess = true; - - if ($ret instanceof NoReturnValue) { - return; - } - - $this->context->setReturnValue($ret); - $ret = $this->presentValue($ret); - $indent = \str_repeat(' ', \strlen(static::RETVAL)); - - $this->output->writeln(static::RETVAL . \str_replace(PHP_EOL, PHP_EOL . $indent, $ret)); - } - - /** - * Renders a caught Exception. - * - * Exceptions are formatted according to severity. ErrorExceptions which were - * warnings or Strict errors aren't rendered as harshly as real errors. - * - * Stores $e as the last Exception in the Shell Context. - * - * @param \Exception $e An exception instance - */ - public function writeException(\Exception $e) - { - $this->lastExecSuccess = false; - $this->context->setLastException($e); - $this->output->writeln($this->formatException($e)); - $this->resetCodeBuffer(); - } - - /** - * Check whether the last exec was successful. - * - * Returns true if a return value was logged rather than an exception. - * - * @return bool - */ - public function getLastExecSuccess() - { - return $this->lastExecSuccess; - } - - /** - * Helper for formatting an exception for writeException(). - * - * @todo extract this to somewhere it makes more sense - * - * @param \Exception $e - * - * @return string - */ - public function formatException(\Exception $e) - { - $message = $e->getMessage(); - if (!$e instanceof PsyException) { - if ($message === '') { - $message = \get_class($e); - } else { - $message = \sprintf('%s with message \'%s\'', \get_class($e), $message); - } - } - - $message = \preg_replace( - "#(\\w:)?(/\\w+)*/src/Execution(?:Loop)?Closure.php\(\d+\) : eval\(\)'d code#", - "eval()'d code", - \str_replace('\\', '/', $message) - ); - - $message = \str_replace(" in eval()'d code", ' in Psy Shell code', $message); - - $severity = ($e instanceof \ErrorException) ? $this->getSeverity($e) : 'error'; - - return \sprintf('<%s>%s', $severity, OutputFormatter::escape($message), $severity); - } - - /** - * Helper for getting an output style for the given ErrorException's level. - * - * @param \ErrorException $e - * - * @return string - */ - protected function getSeverity(\ErrorException $e) - { - $severity = $e->getSeverity(); - if ($severity & \error_reporting()) { - switch ($severity) { - case E_WARNING: - case E_NOTICE: - case E_CORE_WARNING: - case E_COMPILE_WARNING: - case E_USER_WARNING: - case E_USER_NOTICE: - case E_STRICT: - return 'warning'; - - default: - return 'error'; - } - } else { - // Since this is below the user's reporting threshold, it's always going to be a warning. - return 'warning'; - } - } - - /** - * Execute code in the shell execution context. - * - * @param string $code - * @param bool $throwExceptions - * - * @return mixed - */ - public function execute($code, $throwExceptions = false) - { - $this->setCode($code, true); - $closure = new ExecutionClosure($this); - - if ($throwExceptions) { - return $closure->execute(); - } - - try { - return $closure->execute(); - } catch (\TypeError $_e) { - $this->writeException(TypeErrorException::fromTypeError($_e)); - } catch (\Error $_e) { - $this->writeException(ErrorException::fromError($_e)); - } catch (\Exception $_e) { - $this->writeException($_e); - } - } - - /** - * Helper for throwing an ErrorException. - * - * This allows us to: - * - * set_error_handler(array($psysh, 'handleError')); - * - * Unlike ErrorException::throwException, this error handler respects the - * current error_reporting level; i.e. it logs warnings and notices, but - * doesn't throw an exception unless it's above the current error_reporting - * threshold. This should probably only be used in the inner execution loop - * of the shell, as most of the time a thrown exception is much more useful. - * - * If the error type matches the `errorLoggingLevel` config, it will be - * logged as well, regardless of the `error_reporting` level. - * - * @see \Psy\Exception\ErrorException::throwException - * @see \Psy\Shell::writeException - * - * @throws \Psy\Exception\ErrorException depending on the current error_reporting level - * - * @param int $errno Error type - * @param string $errstr Message - * @param string $errfile Filename - * @param int $errline Line number - */ - public function handleError($errno, $errstr, $errfile, $errline) - { - if ($errno & \error_reporting()) { - ErrorException::throwException($errno, $errstr, $errfile, $errline); - } elseif ($errno & $this->config->errorLoggingLevel()) { - // log it and continue... - $this->writeException(new ErrorException($errstr, 0, $errno, $errfile, $errline)); - } - } - - /** - * Format a value for display. - * - * @see Presenter::present - * - * @param mixed $val - * - * @return string Formatted value - */ - protected function presentValue($val) - { - return $this->config->getPresenter()->present($val); - } - - /** - * Get a command (if one exists) for the current input string. - * - * @param string $input - * - * @return null|BaseCommand - */ - protected function getCommand($input) - { - $input = new StringInput($input); - if ($name = $input->getFirstArgument()) { - return $this->get($name); - } - } - - /** - * Check whether a command is set for the current input string. - * - * @param string $input - * - * @return bool True if the shell has a command for the given input - */ - protected function hasCommand($input) - { - if (\preg_match('/([^\s]+?)(?:\s|$)/A', \ltrim($input), $match)) { - return $this->has($match[1]); - } - - return false; - } - - /** - * Get the current input prompt. - * - * @return string - */ - protected function getPrompt() - { - if ($this->hasCode()) { - return static::BUFF_PROMPT; - } - - return $this->config->getPrompt() ?: static::PROMPT; - } - - /** - * Read a line of user input. - * - * This will return a line from the input buffer (if any exist). Otherwise, - * it will ask the user for input. - * - * If readline is enabled, this delegates to readline. Otherwise, it's an - * ugly `fgets` call. - * - * @return string One line of user input - */ - protected function readline() - { - if (!empty($this->inputBuffer)) { - $line = \array_shift($this->inputBuffer); - if (!$line instanceof SilentInput) { - $this->output->writeln(\sprintf('', static::REPLAY, OutputFormatter::escape($line))); - } - - return $line; - } - - if ($bracketedPaste = $this->config->useBracketedPaste()) { - \printf("\e[?2004h"); // Enable bracketed paste - } - - $line = $this->readline->readline($this->getPrompt()); - - if ($bracketedPaste) { - \printf("\e[?2004l"); // ... and disable it again - } - - return $line; - } - - /** - * Get the shell output header. - * - * @return string - */ - protected function getHeader() - { - return \sprintf('', $this->getVersion()); - } - - /** - * Get the current version of Psy Shell. - * - * @return string - */ - public function getVersion() - { - $separator = $this->config->useUnicode() ? '—' : '-'; - - return \sprintf('Psy Shell %s (PHP %s %s %s)', self::VERSION, PHP_VERSION, $separator, PHP_SAPI); - } - - /** - * Get a PHP manual database instance. - * - * @return \PDO|null - */ - public function getManualDb() - { - return $this->config->getManualDb(); - } - - /** - * @deprecated Tab completion is provided by the AutoCompleter service - */ - protected function autocomplete($text) - { - @\trigger_error('Tab completion is provided by the AutoCompleter service', E_USER_DEPRECATED); - } - - /** - * Initialize tab completion matchers. - * - * If tab completion is enabled this adds tab completion matchers to the - * auto completer and sets context if needed. - */ - protected function initializeTabCompletion() - { - if (!$this->config->useTabCompletion()) { - return; - } - - $this->autoCompleter = $this->config->getAutoCompleter(); - - // auto completer needs shell to be linked to configuration because of - // the context aware matchers - $this->addMatchersToAutoCompleter($this->getDefaultMatchers()); - $this->addMatchersToAutoCompleter($this->matchers); - - $this->autoCompleter->activate(); - } - - /** - * Add matchers to the auto completer, setting context if needed. - * - * @param array $matchers - */ - private function addMatchersToAutoCompleter(array $matchers) - { - foreach ($matchers as $matcher) { - if ($matcher instanceof ContextAware) { - $matcher->setContext($this->context); - } - $this->autoCompleter->addMatcher($matcher); - } - } - - /** - * @todo Implement self-update - * @todo Implement prompt to start update - * - * @return void|string - */ - protected function writeVersionInfo() - { - if (PHP_SAPI !== 'cli') { - return; - } - - try { - $client = $this->config->getChecker(); - if (!$client->isLatest()) { - $this->output->writeln(\sprintf('New version is available (current: %s, latest: %s)', self::VERSION, $client->getLatest())); - } - } catch (\InvalidArgumentException $e) { - $this->output->writeln($e->getMessage()); - } - } - - /** - * Write a startup message if set. - */ - protected function writeStartupMessage() - { - $message = $this->config->getStartupMessage(); - if ($message !== null && $message !== '') { - $this->output->writeln($message); - } - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/Sudo.php b/paragonik-backend/vendor/psy/psysh/src/Sudo.php deleted file mode 100644 index be354be..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/Sudo.php +++ /dev/null @@ -1,150 +0,0 @@ -property - */ - public static function fetchProperty($object, $property) - { - $refl = new \ReflectionObject($object); - $prop = $refl->getProperty($property); - $prop->setAccessible(true); - - return $prop->getValue($object); - } - - /** - * Assign the value of a property of an object, bypassing visibility restrictions. - * - * @param object $object - * @param string $property property name - * @param mixed $value - * - * @return mixed Value of $object->property - */ - public static function assignProperty($object, $property, $value) - { - $refl = new \ReflectionObject($object); - $prop = $refl->getProperty($property); - $prop->setAccessible(true); - $prop->setValue($object, $value); - - return $value; - } - - /** - * Call a method on an object, bypassing visibility restrictions. - * - * @param object $object - * @param string $method method name - * @param mixed $args... - * - * @return mixed - */ - public static function callMethod($object, $method, $args = null) - { - $args = \func_get_args(); - $object = \array_shift($args); - $method = \array_shift($args); - - $refl = new \ReflectionObject($object); - $reflMethod = $refl->getMethod($method); - $reflMethod->setAccessible(true); - - return $reflMethod->invokeArgs($object, $args); - } - - /** - * Fetch a property of a class, bypassing visibility restrictions. - * - * @param string|object $class class name or instance - * @param string $property property name - * - * @return mixed Value of $class::$property - */ - public static function fetchStaticProperty($class, $property) - { - $refl = new \ReflectionClass($class); - $prop = $refl->getProperty($property); - $prop->setAccessible(true); - - return $prop->getValue(); - } - - /** - * Assign the value of a static property of a class, bypassing visibility restrictions. - * - * @param string|object $class class name or instance - * @param string $property property name - * @param mixed $value - * - * @return mixed Value of $class::$property - */ - public static function assignStaticProperty($class, $property, $value) - { - $refl = new \ReflectionClass($class); - $prop = $refl->getProperty($property); - $prop->setAccessible(true); - $prop->setValue($value); - - return $value; - } - - /** - * Call a static method on a class, bypassing visibility restrictions. - * - * @param string|object $class class name or instance - * @param string $method method name - * @param mixed $args... - * - * @return mixed - */ - public static function callStatic($class, $method, $args = null) - { - $args = \func_get_args(); - $class = \array_shift($args); - $method = \array_shift($args); - - $refl = new \ReflectionClass($class); - $reflMethod = $refl->getMethod($method); - $reflMethod->setAccessible(true); - - return $reflMethod->invokeArgs(null, $args); - } - - /** - * Fetch a class constant, bypassing visibility restrictions. - * - * @param string|object $class class name or instance - * @param string $const constant name - * - * @return mixed - */ - public static function fetchClassConst($class, $const) - { - $refl = new \ReflectionClass($class); - - return $refl->getConstant($const); - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/Sudo/SudoVisitor.php b/paragonik-backend/vendor/psy/psysh/src/Sudo/SudoVisitor.php deleted file mode 100644 index 2b78a42..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/Sudo/SudoVisitor.php +++ /dev/null @@ -1,124 +0,0 @@ -name instanceof Identifier ? $node->name->toString() : $node->name; - $args = [ - $node->var, - \is_string($name) ? new String_($name) : $name, - ]; - - return $this->prepareCall(self::PROPERTY_FETCH, $args); - } elseif ($node instanceof Assign && $node->var instanceof PropertyFetch) { - $target = $node->var; - $name = $target->name instanceof Identifier ? $target->name->toString() : $target->name; - $args = [ - $target->var, - \is_string($name) ? new String_($name) : $name, - $node->expr, - ]; - - return $this->prepareCall(self::PROPERTY_ASSIGN, $args); - } elseif ($node instanceof MethodCall) { - $name = $node->name instanceof Identifier ? $node->name->toString() : $node->name; - $args = $node->args; - \array_unshift($args, new Arg(\is_string($name) ? new String_($name) : $name)); - \array_unshift($args, new Arg($node->var)); - - // not using prepareCall because the $node->args we started with are already Arg instances - return new StaticCall(new FullyQualifiedName(self::SUDO_CLASS), self::METHOD_CALL, $args); - } elseif ($node instanceof StaticPropertyFetch) { - $class = $node->class instanceof Name ? $node->class->toString() : $node->class; - $name = $node->name instanceof Identifier ? $node->name->toString() : $node->name; - $args = [ - \is_string($class) ? new String_($class) : $class, - \is_string($name) ? new String_($name) : $name, - ]; - - return $this->prepareCall(self::STATIC_PROPERTY_FETCH, $args); - } elseif ($node instanceof Assign && $node->var instanceof StaticPropertyFetch) { - $target = $node->var; - $class = $target->class instanceof Name ? $target->class->toString() : $target->class; - $name = $target->name instanceof Identifier ? $target->name->toString() : $target->name; - $args = [ - \is_string($class) ? new String_($class) : $class, - \is_string($name) ? new String_($name) : $name, - $node->expr, - ]; - - return $this->prepareCall(self::STATIC_PROPERTY_ASSIGN, $args); - } elseif ($node instanceof StaticCall) { - $args = $node->args; - $class = $node->class instanceof Name ? $node->class->toString() : $node->class; - $name = $node->name instanceof Identifier ? $node->name->toString() : $node->name; - \array_unshift($args, new Arg(\is_string($name) ? new String_($name) : $name)); - \array_unshift($args, new Arg(\is_string($class) ? new String_($class) : $class)); - - // not using prepareCall because the $node->args we started with are already Arg instances - return new StaticCall(new FullyQualifiedName(self::SUDO_CLASS), self::STATIC_CALL, $args); - } elseif ($node instanceof ClassConstFetch) { - $class = $node->class instanceof Name ? $node->class->toString() : $node->class; - $name = $node->name instanceof Identifier ? $node->name->toString() : $node->name; - $args = [ - \is_string($class) ? new String_($class) : $class, - \is_string($name) ? new String_($name) : $name, - ]; - - return $this->prepareCall(self::CLASS_CONST_FETCH, $args); - } - } - - private function prepareCall($method, $args) - { - return new StaticCall(new FullyQualifiedName(self::SUDO_CLASS), $method, \array_map(function ($arg) { - return new Arg($arg); - }, $args)); - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/TabCompletion/AutoCompleter.php b/paragonik-backend/vendor/psy/psysh/src/TabCompletion/AutoCompleter.php deleted file mode 100644 index 0751aa7..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/TabCompletion/AutoCompleter.php +++ /dev/null @@ -1,110 +0,0 @@ - - */ -class AutoCompleter -{ - /** @var Matcher\AbstractMatcher[] */ - protected $matchers; - - /** - * Register a tab completion Matcher. - * - * @param AbstractMatcher $matcher - */ - public function addMatcher(AbstractMatcher $matcher) - { - $this->matchers[] = $matcher; - } - - /** - * Activate readline tab completion. - */ - public function activate() - { - \readline_completion_function([&$this, 'callback']); - } - - /** - * Handle readline completion. - * - * @param string $input Readline current word - * @param int $index Current word index - * @param array $info readline_info() data - * - * @return array - */ - public function processCallback($input, $index, $info = []) - { - // Some (Windows?) systems provide incomplete `readline_info`, so let's - // try to work around it. - $line = $info['line_buffer']; - if (isset($info['end'])) { - $line = \substr($line, 0, $info['end']); - } - if ($line === '' && $input !== '') { - $line = $input; - } - - $tokens = \token_get_all('matchers as $matcher) { - if ($matcher->hasMatched($tokens)) { - $matches = \array_merge($matcher->getMatches($tokens), $matches); - } - } - - $matches = \array_unique($matches); - - return !empty($matches) ? $matches : ['']; - } - - /** - * The readline_completion_function callback handler. - * - * @see processCallback - * - * @param string $input - * @param int $index - * - * @return array - */ - public function callback($input, $index) - { - return $this->processCallback($input, $index, \readline_info()); - } - - /** - * Remove readline callback handler on destruct. - */ - public function __destruct() - { - // PHP didn't implement the whole readline API when they first switched - // to libedit. And they still haven't. - if (\function_exists('readline_callback_handler_remove')) { - \readline_callback_handler_remove(); - } - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/TabCompletion/Matcher/AbstractContextAwareMatcher.php b/paragonik-backend/vendor/psy/psysh/src/TabCompletion/Matcher/AbstractContextAwareMatcher.php deleted file mode 100644 index 91816b2..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/TabCompletion/Matcher/AbstractContextAwareMatcher.php +++ /dev/null @@ -1,65 +0,0 @@ - - */ -abstract class AbstractContextAwareMatcher extends AbstractMatcher implements ContextAware -{ - /** - * Context instance (for ContextAware interface). - * - * @var Context - */ - protected $context; - - /** - * ContextAware interface. - * - * @param Context $context - */ - public function setContext(Context $context) - { - $this->context = $context; - } - - /** - * Get a Context variable by name. - * - * @param string $var Variable name - * - * @return mixed - */ - protected function getVariable($var) - { - return $this->context->get($var); - } - - /** - * Get all variables in the current Context. - * - * @return array - */ - protected function getVariables() - { - return $this->context->getAll(); - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/TabCompletion/Matcher/AbstractDefaultParametersMatcher.php b/paragonik-backend/vendor/psy/psysh/src/TabCompletion/Matcher/AbstractDefaultParametersMatcher.php deleted file mode 100644 index c44af36..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/TabCompletion/Matcher/AbstractDefaultParametersMatcher.php +++ /dev/null @@ -1,76 +0,0 @@ -isDefaultValueAvailable()) { - return []; - } - - $defaultValue = $this->valueToShortString($parameter->getDefaultValue()); - - $parametersProcessed[] = "\${$parameter->getName()} = $defaultValue"; - } - - if (empty($parametersProcessed)) { - return []; - } - - return [\implode(', ', $parametersProcessed) . ')']; - } - - /** - * Takes in the default value of a parameter and turns it into a - * string representation that fits inline. - * This is not 100% true to the original (newlines are inlined, for example). - * - * @param mixed $value - * - * @return string - */ - private function valueToShortString($value) - { - if (!\is_array($value)) { - return \json_encode($value); - } - - $chunks = []; - $chunksSequential = []; - - $allSequential = true; - - foreach ($value as $key => $item) { - $allSequential = $allSequential && \is_numeric($key) && $key === \count($chunksSequential); - - $keyString = $this->valueToShortString($key); - $itemString = $this->valueToShortString($item); - - $chunks[] = "{$keyString} => {$itemString}"; - $chunksSequential[] = $itemString; - } - - $chunksToImplode = $allSequential ? $chunksSequential : $chunks; - - return '[' . \implode(', ', $chunksToImplode) . ']'; - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/TabCompletion/Matcher/AbstractMatcher.php b/paragonik-backend/vendor/psy/psysh/src/TabCompletion/Matcher/AbstractMatcher.php deleted file mode 100644 index 63b7154..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/TabCompletion/Matcher/AbstractMatcher.php +++ /dev/null @@ -1,195 +0,0 @@ - - */ -abstract class AbstractMatcher -{ - /** Syntax types */ - const CONSTANT_SYNTAX = '^[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*$'; - const VAR_SYNTAX = '^\$[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*$'; - const MISC_OPERATORS = '+-*/^|&'; - /** Token values */ - const T_OPEN_TAG = 'T_OPEN_TAG'; - const T_VARIABLE = 'T_VARIABLE'; - const T_OBJECT_OPERATOR = 'T_OBJECT_OPERATOR'; - const T_DOUBLE_COLON = 'T_DOUBLE_COLON'; - const T_NEW = 'T_NEW'; - const T_CLONE = 'T_CLONE'; - const T_NS_SEPARATOR = 'T_NS_SEPARATOR'; - const T_STRING = 'T_STRING'; - const T_WHITESPACE = 'T_WHITESPACE'; - const T_AND_EQUAL = 'T_AND_EQUAL'; - const T_BOOLEAN_AND = 'T_BOOLEAN_AND'; - const T_BOOLEAN_OR = 'T_BOOLEAN_OR'; - - const T_ENCAPSED_AND_WHITESPACE = 'T_ENCAPSED_AND_WHITESPACE'; - const T_REQUIRE = 'T_REQUIRE'; - const T_REQUIRE_ONCE = 'T_REQUIRE_ONCE'; - const T_INCLUDE = 'T_INCLUDE'; - const T_INCLUDE_ONCE = 'T_INCLUDE_ONCE'; - - /** - * Check whether this matcher can provide completions for $tokens. - * - * @param array $tokens Tokenized readline input - * - * @return bool - */ - public function hasMatched(array $tokens) - { - return false; - } - - /** - * Get current readline input word. - * - * @param array $tokens Tokenized readline input (see token_get_all) - * - * @return string - */ - protected function getInput(array $tokens) - { - $var = ''; - $firstToken = \array_pop($tokens); - if (self::tokenIs($firstToken, self::T_STRING)) { - $var = $firstToken[1]; - } - - return $var; - } - - /** - * Get current namespace and class (if any) from readline input. - * - * @param array $tokens Tokenized readline input (see token_get_all) - * - * @return string - */ - protected function getNamespaceAndClass($tokens) - { - $class = ''; - while (self::hasToken( - [self::T_NS_SEPARATOR, self::T_STRING], - $token = \array_pop($tokens) - )) { - if (self::needCompleteClass($token)) { - continue; - } - - $class = $token[1] . $class; - } - - return $class; - } - - /** - * Provide tab completion matches for readline input. - * - * @param array $tokens information substracted with get_token_all - * @param array $info readline_info object - * - * @return array The matches resulting from the query - */ - abstract public function getMatches(array $tokens, array $info = []); - - /** - * Check whether $word starts with $prefix. - * - * @param string $prefix - * @param string $word - * - * @return bool - */ - public static function startsWith($prefix, $word) - { - return \preg_match(\sprintf('#^%s#', $prefix), $word); - } - - /** - * Check whether $token matches a given syntax pattern. - * - * @param mixed $token A PHP token (see token_get_all) - * @param string $syntax A syntax pattern (default: variable pattern) - * - * @return bool - */ - public static function hasSyntax($token, $syntax = self::VAR_SYNTAX) - { - if (!\is_array($token)) { - return false; - } - - $regexp = \sprintf('#%s#', $syntax); - - return (bool) \preg_match($regexp, $token[1]); - } - - /** - * Check whether $token type is $which. - * - * @param string $which A PHP token type - * @param mixed $token A PHP token (see token_get_all) - * - * @return bool - */ - public static function tokenIs($token, $which) - { - if (!\is_array($token)) { - return false; - } - - return \token_name($token[0]) === $which; - } - - /** - * Check whether $token is an operator. - * - * @param mixed $token A PHP token (see token_get_all) - * - * @return bool - */ - public static function isOperator($token) - { - if (!\is_string($token)) { - return false; - } - - return \strpos(self::MISC_OPERATORS, $token) !== false; - } - - public static function needCompleteClass($token) - { - return \in_array($token[1], ['doc', 'ls', 'show']); - } - - /** - * Check whether $token type is present in $coll. - * - * @param array $coll A list of token types - * @param mixed $token A PHP token (see token_get_all) - * - * @return bool - */ - public static function hasToken(array $coll, $token) - { - if (!\is_array($token)) { - return false; - } - - return \in_array(\token_name($token[0]), $coll); - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/TabCompletion/Matcher/ClassAttributesMatcher.php b/paragonik-backend/vendor/psy/psysh/src/TabCompletion/Matcher/ClassAttributesMatcher.php deleted file mode 100644 index 8e976b0..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/TabCompletion/Matcher/ClassAttributesMatcher.php +++ /dev/null @@ -1,87 +0,0 @@ - - */ -class ClassAttributesMatcher extends AbstractMatcher -{ - /** - * {@inheritdoc} - */ - public function getMatches(array $tokens, array $info = []) - { - $input = $this->getInput($tokens); - - $firstToken = \array_pop($tokens); - if (self::tokenIs($firstToken, self::T_STRING)) { - // second token is the nekudotayim operator - \array_pop($tokens); - } - - $class = $this->getNamespaceAndClass($tokens); - - try { - $reflection = new \ReflectionClass($class); - } catch (\ReflectionException $re) { - return []; - } - - $vars = \array_merge( - \array_map( - function ($var) { - return '$' . $var; - }, - \array_keys($reflection->getStaticProperties()) - ), - \array_keys($reflection->getConstants()) - ); - - return \array_map( - function ($name) use ($class) { - $chunks = \explode('\\', $class); - $className = \array_pop($chunks); - - return $className . '::' . $name; - }, - \array_filter( - $vars, - function ($var) use ($input) { - return AbstractMatcher::startsWith($input, $var); - } - ) - ); - } - - /** - * {@inheritdoc} - */ - public function hasMatched(array $tokens) - { - $token = \array_pop($tokens); - $prevToken = \array_pop($tokens); - - switch (true) { - case self::tokenIs($prevToken, self::T_DOUBLE_COLON) && self::tokenIs($token, self::T_STRING): - case self::tokenIs($token, self::T_DOUBLE_COLON): - return true; - } - - return false; - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/TabCompletion/Matcher/ClassMethodDefaultParametersMatcher.php b/paragonik-backend/vendor/psy/psysh/src/TabCompletion/Matcher/ClassMethodDefaultParametersMatcher.php deleted file mode 100644 index 3a269a3..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/TabCompletion/Matcher/ClassMethodDefaultParametersMatcher.php +++ /dev/null @@ -1,64 +0,0 @@ -getNamespaceAndClass($tokens); - - try { - $reflection = new \ReflectionClass($class); - } catch (\ReflectionException $e) { - // In this case the class apparently does not exist, so we can do nothing - return []; - } - - $methods = $reflection->getMethods(\ReflectionMethod::IS_STATIC); - - foreach ($methods as $method) { - if ($method->getName() === $functionName[1]) { - return $this->getDefaultParameterCompletion($method->getParameters()); - } - } - - return []; - } - - public function hasMatched(array $tokens) - { - $openBracket = \array_pop($tokens); - - if ($openBracket !== '(') { - return false; - } - - $functionName = \array_pop($tokens); - - if (!self::tokenIs($functionName, self::T_STRING)) { - return false; - } - - $operator = \array_pop($tokens); - - if (!self::tokenIs($operator, self::T_DOUBLE_COLON)) { - return false; - } - - return true; - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/TabCompletion/Matcher/ClassMethodsMatcher.php b/paragonik-backend/vendor/psy/psysh/src/TabCompletion/Matcher/ClassMethodsMatcher.php deleted file mode 100644 index d278c18..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/TabCompletion/Matcher/ClassMethodsMatcher.php +++ /dev/null @@ -1,84 +0,0 @@ - - */ -class ClassMethodsMatcher extends AbstractMatcher -{ - /** - * {@inheritdoc} - */ - public function getMatches(array $tokens, array $info = []) - { - $input = $this->getInput($tokens); - - $firstToken = \array_pop($tokens); - if (self::tokenIs($firstToken, self::T_STRING)) { - // second token is the nekudotayim operator - \array_pop($tokens); - } - - $class = $this->getNamespaceAndClass($tokens); - - try { - $reflection = new \ReflectionClass($class); - } catch (\ReflectionException $re) { - return []; - } - - if (self::needCompleteClass($tokens[1])) { - $methods = $reflection->getMethods(); - } else { - $methods = $reflection->getMethods(\ReflectionMethod::IS_STATIC); - } - - $methods = \array_map(function (\ReflectionMethod $method) { - return $method->getName(); - }, $methods); - - return \array_map( - function ($name) use ($class) { - $chunks = \explode('\\', $class); - $className = \array_pop($chunks); - - return $className . '::' . $name; - }, - \array_filter($methods, function ($method) use ($input) { - return AbstractMatcher::startsWith($input, $method); - }) - ); - } - - /** - * {@inheritdoc} - */ - public function hasMatched(array $tokens) - { - $token = \array_pop($tokens); - $prevToken = \array_pop($tokens); - - switch (true) { - case self::tokenIs($prevToken, self::T_DOUBLE_COLON) && self::tokenIs($token, self::T_STRING): - case self::tokenIs($token, self::T_DOUBLE_COLON): - return true; - } - - return false; - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/TabCompletion/Matcher/ClassNamesMatcher.php b/paragonik-backend/vendor/psy/psysh/src/TabCompletion/Matcher/ClassNamesMatcher.php deleted file mode 100644 index 844b3d2..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/TabCompletion/Matcher/ClassNamesMatcher.php +++ /dev/null @@ -1,77 +0,0 @@ - - */ -class ClassNamesMatcher extends AbstractMatcher -{ - /** - * {@inheritdoc} - */ - public function getMatches(array $tokens, array $info = []) - { - $class = $this->getNamespaceAndClass($tokens); - if (\strlen($class) > 0 && $class[0] === '\\') { - $class = \substr($class, 1, \strlen($class)); - } - $quotedClass = \preg_quote($class); - - return \array_map( - function ($className) use ($class) { - // get the number of namespace separators - $nsPos = \substr_count($class, '\\'); - $pieces = \explode('\\', $className); - //$methods = Mirror::get($class); - return \implode('\\', \array_slice($pieces, $nsPos, \count($pieces))); - }, - \array_filter( - \get_declared_classes(), - function ($className) use ($quotedClass) { - return AbstractMatcher::startsWith($quotedClass, $className); - } - ) - ); - } - - /** - * {@inheritdoc} - */ - public function hasMatched(array $tokens) - { - $token = \array_pop($tokens); - $prevToken = \array_pop($tokens); - - $blacklistedTokens = [ - self::T_INCLUDE, self::T_INCLUDE_ONCE, self::T_REQUIRE, self::T_REQUIRE_ONCE, - ]; - - switch (true) { - case self::hasToken([$blacklistedTokens], $token): - case self::hasToken([$blacklistedTokens], $prevToken): - case \is_string($token) && $token === '$': - return false; - case self::hasToken([self::T_NEW, self::T_OPEN_TAG, self::T_NS_SEPARATOR, self::T_STRING], $prevToken): - case self::hasToken([self::T_NEW, self::T_OPEN_TAG, self::T_NS_SEPARATOR], $token): - case self::hasToken([self::T_OPEN_TAG, self::T_VARIABLE], $token): - case self::isOperator($token): - return true; - } - - return false; - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/TabCompletion/Matcher/CommandsMatcher.php b/paragonik-backend/vendor/psy/psysh/src/TabCompletion/Matcher/CommandsMatcher.php deleted file mode 100644 index e3d8423..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/TabCompletion/Matcher/CommandsMatcher.php +++ /dev/null @@ -1,114 +0,0 @@ - - */ -class CommandsMatcher extends AbstractMatcher -{ - /** @var string[] */ - protected $commands = []; - - /** - * CommandsMatcher constructor. - * - * @param Command[] $commands - */ - public function __construct(array $commands) - { - $this->setCommands($commands); - } - - /** - * Set Commands for completion. - * - * @param Command[] $commands - */ - public function setCommands(array $commands) - { - $names = []; - foreach ($commands as $command) { - $names = \array_merge([$command->getName()], $names); - $names = \array_merge($command->getAliases(), $names); - } - $this->commands = $names; - } - - /** - * Check whether a command $name is defined. - * - * @param string $name - * - * @return bool - */ - protected function isCommand($name) - { - return \in_array($name, $this->commands); - } - - /** - * Check whether input matches a defined command. - * - * @param string $name - * - * @return bool - */ - protected function matchCommand($name) - { - foreach ($this->commands as $cmd) { - if ($this->startsWith($name, $cmd)) { - return true; - } - } - - return false; - } - - /** - * {@inheritdoc} - */ - public function getMatches(array $tokens, array $info = []) - { - $input = $this->getInput($tokens); - - return \array_filter($this->commands, function ($command) use ($input) { - return AbstractMatcher::startsWith($input, $command); - }); - } - - /** - * {@inheritdoc} - */ - public function hasMatched(array $tokens) - { - /* $openTag */ \array_shift($tokens); - $command = \array_shift($tokens); - - switch (true) { - case self::tokenIs($command, self::T_STRING) && - !$this->isCommand($command[1]) && - $this->matchCommand($command[1]) && - empty($tokens): - return true; - } - - return false; - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/TabCompletion/Matcher/ConstantsMatcher.php b/paragonik-backend/vendor/psy/psysh/src/TabCompletion/Matcher/ConstantsMatcher.php deleted file mode 100644 index 71be18f..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/TabCompletion/Matcher/ConstantsMatcher.php +++ /dev/null @@ -1,54 +0,0 @@ - - */ -class ConstantsMatcher extends AbstractMatcher -{ - /** - * {@inheritdoc} - */ - public function getMatches(array $tokens, array $info = []) - { - $const = $this->getInput($tokens); - - return \array_filter(\array_keys(\get_defined_constants()), function ($constant) use ($const) { - return AbstractMatcher::startsWith($const, $constant); - }); - } - - /** - * {@inheritdoc} - */ - public function hasMatched(array $tokens) - { - $token = \array_pop($tokens); - $prevToken = \array_pop($tokens); - - switch (true) { - case self::tokenIs($prevToken, self::T_NEW): - case self::tokenIs($prevToken, self::T_NS_SEPARATOR): - return false; - case self::hasToken([self::T_OPEN_TAG, self::T_STRING], $token): - case self::isOperator($token): - return true; - } - - return false; - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/TabCompletion/Matcher/FunctionDefaultParametersMatcher.php b/paragonik-backend/vendor/psy/psysh/src/TabCompletion/Matcher/FunctionDefaultParametersMatcher.php deleted file mode 100644 index 66d9ea1..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/TabCompletion/Matcher/FunctionDefaultParametersMatcher.php +++ /dev/null @@ -1,53 +0,0 @@ -getParameters(); - - return $this->getDefaultParameterCompletion($parameters); - } - - public function hasMatched(array $tokens) - { - $openBracket = \array_pop($tokens); - - if ($openBracket !== '(') { - return false; - } - - $functionName = \array_pop($tokens); - - if (!self::tokenIs($functionName, self::T_STRING)) { - return false; - } - - if (!\function_exists($functionName[1])) { - return false; - } - - return true; - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/TabCompletion/Matcher/FunctionsMatcher.php b/paragonik-backend/vendor/psy/psysh/src/TabCompletion/Matcher/FunctionsMatcher.php deleted file mode 100644 index 3aa12a1..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/TabCompletion/Matcher/FunctionsMatcher.php +++ /dev/null @@ -1,56 +0,0 @@ - - */ -class FunctionsMatcher extends AbstractMatcher -{ - /** - * {@inheritdoc} - */ - public function getMatches(array $tokens, array $info = []) - { - $func = $this->getInput($tokens); - - $functions = \get_defined_functions(); - $allFunctions = \array_merge($functions['user'], $functions['internal']); - - return \array_filter($allFunctions, function ($function) use ($func) { - return AbstractMatcher::startsWith($func, $function); - }); - } - - /** - * {@inheritdoc} - */ - public function hasMatched(array $tokens) - { - $token = \array_pop($tokens); - $prevToken = \array_pop($tokens); - - switch (true) { - case self::tokenIs($prevToken, self::T_NEW): - return false; - case self::hasToken([self::T_OPEN_TAG, self::T_STRING], $token): - case self::isOperator($token): - return true; - } - - return false; - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/TabCompletion/Matcher/KeywordsMatcher.php b/paragonik-backend/vendor/psy/psysh/src/TabCompletion/Matcher/KeywordsMatcher.php deleted file mode 100644 index 9d0deee..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/TabCompletion/Matcher/KeywordsMatcher.php +++ /dev/null @@ -1,85 +0,0 @@ - - */ -class KeywordsMatcher extends AbstractMatcher -{ - protected $keywords = [ - 'array', 'clone', 'declare', 'die', 'echo', 'empty', 'eval', 'exit', 'include', - 'include_once', 'isset', 'list', 'print', 'require', 'require_once', 'unset', - ]; - - protected $mandatoryStartKeywords = [ - 'die', 'echo', 'print', 'unset', - ]; - - /** - * Get all (completable) PHP keywords. - * - * @return array - */ - public function getKeywords() - { - return $this->keywords; - } - - /** - * Check whether $keyword is a (completable) PHP keyword. - * - * @param string $keyword - * - * @return bool - */ - public function isKeyword($keyword) - { - return \in_array($keyword, $this->keywords); - } - - /** - * {@inheritdoc} - */ - public function getMatches(array $tokens, array $info = []) - { - $input = $this->getInput($tokens); - - return \array_filter($this->keywords, function ($keyword) use ($input) { - return AbstractMatcher::startsWith($input, $keyword); - }); - } - - /** - * {@inheritdoc} - */ - public function hasMatched(array $tokens) - { - $token = \array_pop($tokens); - $prevToken = \array_pop($tokens); - - switch (true) { - case self::hasToken([self::T_OPEN_TAG, self::T_VARIABLE], $token): -// case is_string($token) && $token === '$': - case self::hasToken([self::T_OPEN_TAG, self::T_VARIABLE], $prevToken) && - self::tokenIs($token, self::T_STRING): - case self::isOperator($token): - return true; - } - - return false; - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/TabCompletion/Matcher/MongoClientMatcher.php b/paragonik-backend/vendor/psy/psysh/src/TabCompletion/Matcher/MongoClientMatcher.php deleted file mode 100644 index fb51bf7..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/TabCompletion/Matcher/MongoClientMatcher.php +++ /dev/null @@ -1,71 +0,0 @@ - - */ -class MongoClientMatcher extends AbstractContextAwareMatcher -{ - /** - * {@inheritdoc} - */ - public function getMatches(array $tokens, array $info = []) - { - $input = $this->getInput($tokens); - - $firstToken = \array_pop($tokens); - if (self::tokenIs($firstToken, self::T_STRING)) { - // second token is the object operator - \array_pop($tokens); - } - $objectToken = \array_pop($tokens); - $objectName = \str_replace('$', '', $objectToken[1]); - $object = $this->getVariable($objectName); - - if (!$object instanceof \MongoClient) { - return []; - } - - $list = $object->listDBs(); - - return \array_filter( - \array_map(function ($info) { - return $info['name']; - }, $list['databases']), - function ($var) use ($input) { - return AbstractMatcher::startsWith($input, $var); - } - ); - } - - /** - * {@inheritdoc} - */ - public function hasMatched(array $tokens) - { - $token = \array_pop($tokens); - $prevToken = \array_pop($tokens); - - switch (true) { - case self::tokenIs($token, self::T_OBJECT_OPERATOR): - case self::tokenIs($prevToken, self::T_OBJECT_OPERATOR): - return true; - } - - return false; - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/TabCompletion/Matcher/MongoDatabaseMatcher.php b/paragonik-backend/vendor/psy/psysh/src/TabCompletion/Matcher/MongoDatabaseMatcher.php deleted file mode 100644 index fb1b9bb..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/TabCompletion/Matcher/MongoDatabaseMatcher.php +++ /dev/null @@ -1,67 +0,0 @@ - - */ -class MongoDatabaseMatcher extends AbstractContextAwareMatcher -{ - /** - * {@inheritdoc} - */ - public function getMatches(array $tokens, array $info = []) - { - $input = $this->getInput($tokens); - - $firstToken = \array_pop($tokens); - if (self::tokenIs($firstToken, self::T_STRING)) { - // second token is the object operator - \array_pop($tokens); - } - $objectToken = \array_pop($tokens); - $objectName = \str_replace('$', '', $objectToken[1]); - $object = $this->getVariable($objectName); - - if (!$object instanceof \MongoDB) { - return []; - } - - return \array_filter( - $object->getCollectionNames(), - function ($var) use ($input) { - return AbstractMatcher::startsWith($input, $var); - } - ); - } - - /** - * {@inheritdoc} - */ - public function hasMatched(array $tokens) - { - $token = \array_pop($tokens); - $prevToken = \array_pop($tokens); - - switch (true) { - case self::tokenIs($token, self::T_OBJECT_OPERATOR): - case self::tokenIs($prevToken, self::T_OBJECT_OPERATOR): - return true; - } - - return false; - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/TabCompletion/Matcher/ObjectAttributesMatcher.php b/paragonik-backend/vendor/psy/psysh/src/TabCompletion/Matcher/ObjectAttributesMatcher.php deleted file mode 100644 index ff44f5a..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/TabCompletion/Matcher/ObjectAttributesMatcher.php +++ /dev/null @@ -1,78 +0,0 @@ - - */ -class ObjectAttributesMatcher extends AbstractContextAwareMatcher -{ - /** - * {@inheritdoc} - */ - public function getMatches(array $tokens, array $info = []) - { - $input = $this->getInput($tokens); - - $firstToken = \array_pop($tokens); - if (self::tokenIs($firstToken, self::T_STRING)) { - // second token is the object operator - \array_pop($tokens); - } - $objectToken = \array_pop($tokens); - if (!\is_array($objectToken)) { - return []; - } - $objectName = \str_replace('$', '', $objectToken[1]); - - try { - $object = $this->getVariable($objectName); - } catch (InvalidArgumentException $e) { - return []; - } - - if (!\is_object($object)) { - return []; - } - - return \array_filter( - \array_keys(\get_class_vars(\get_class($object))), - function ($var) use ($input) { - return AbstractMatcher::startsWith($input, $var); - } - ); - } - - /** - * {@inheritdoc} - */ - public function hasMatched(array $tokens) - { - $token = \array_pop($tokens); - $prevToken = \array_pop($tokens); - - switch (true) { - case self::tokenIs($token, self::T_OBJECT_OPERATOR): - case self::tokenIs($prevToken, self::T_OBJECT_OPERATOR): - return true; - } - - return false; - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/TabCompletion/Matcher/ObjectMethodDefaultParametersMatcher.php b/paragonik-backend/vendor/psy/psysh/src/TabCompletion/Matcher/ObjectMethodDefaultParametersMatcher.php deleted file mode 100644 index 16fa018..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/TabCompletion/Matcher/ObjectMethodDefaultParametersMatcher.php +++ /dev/null @@ -1,71 +0,0 @@ -getVariable($objectName); - $reflection = new \ReflectionObject($object); - } catch (\InvalidArgumentException $e) { - return []; - } catch (\ReflectionException $e) { - return []; - } - - $methods = $reflection->getMethods(); - - foreach ($methods as $method) { - if ($method->getName() === $functionName[1]) { - return $this->getDefaultParameterCompletion($method->getParameters()); - } - } - - return []; - } - - public function hasMatched(array $tokens) - { - $openBracket = \array_pop($tokens); - - if ($openBracket !== '(') { - return false; - } - - $functionName = \array_pop($tokens); - - if (!self::tokenIs($functionName, self::T_STRING)) { - return false; - } - - $operator = \array_pop($tokens); - - if (!self::tokenIs($operator, self::T_OBJECT_OPERATOR)) { - return false; - } - - return true; - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/TabCompletion/Matcher/ObjectMethodsMatcher.php b/paragonik-backend/vendor/psy/psysh/src/TabCompletion/Matcher/ObjectMethodsMatcher.php deleted file mode 100644 index 23c751c..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/TabCompletion/Matcher/ObjectMethodsMatcher.php +++ /dev/null @@ -1,80 +0,0 @@ - - */ -class ObjectMethodsMatcher extends AbstractContextAwareMatcher -{ - /** - * {@inheritdoc} - */ - public function getMatches(array $tokens, array $info = []) - { - $input = $this->getInput($tokens); - - $firstToken = \array_pop($tokens); - if (self::tokenIs($firstToken, self::T_STRING)) { - // second token is the object operator - \array_pop($tokens); - } - $objectToken = \array_pop($tokens); - if (!\is_array($objectToken)) { - return []; - } - $objectName = \str_replace('$', '', $objectToken[1]); - - try { - $object = $this->getVariable($objectName); - } catch (InvalidArgumentException $e) { - return []; - } - - if (!\is_object($object)) { - return []; - } - - return \array_filter( - \get_class_methods($object), - function ($var) use ($input) { - return AbstractMatcher::startsWith($input, $var) && - // also check that we do not suggest invoking a super method(__construct, __wakeup, …) - !AbstractMatcher::startsWith('__', $var); - } - ); - } - - /** - * {@inheritdoc} - */ - public function hasMatched(array $tokens) - { - $token = \array_pop($tokens); - $prevToken = \array_pop($tokens); - - switch (true) { - case self::tokenIs($token, self::T_OBJECT_OPERATOR): - case self::tokenIs($prevToken, self::T_OBJECT_OPERATOR): - return true; - } - - return false; - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/TabCompletion/Matcher/VariablesMatcher.php b/paragonik-backend/vendor/psy/psysh/src/TabCompletion/Matcher/VariablesMatcher.php deleted file mode 100644 index a142b7b..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/TabCompletion/Matcher/VariablesMatcher.php +++ /dev/null @@ -1,51 +0,0 @@ - - */ -class VariablesMatcher extends AbstractContextAwareMatcher -{ - /** - * {@inheritdoc} - */ - public function getMatches(array $tokens, array $info = []) - { - $var = \str_replace('$', '', $this->getInput($tokens)); - - return \array_filter(\array_keys($this->getVariables()), function ($variable) use ($var) { - return AbstractMatcher::startsWith($var, $variable); - }); - } - - /** - * {@inheritdoc} - */ - public function hasMatched(array $tokens) - { - $token = \array_pop($tokens); - - switch (true) { - case self::hasToken([self::T_OPEN_TAG, self::T_VARIABLE], $token): - case \is_string($token) && $token === '$': - case self::isOperator($token): - return true; - } - - return false; - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/Util/Docblock.php b/paragonik-backend/vendor/psy/psysh/src/Util/Docblock.php deleted file mode 100644 index 750210b..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/Util/Docblock.php +++ /dev/null @@ -1,241 +0,0 @@ - - * @author Justin Hileman - */ -class Docblock -{ - /** - * Tags in the docblock that have a whitespace-delimited number of parameters - * (such as `@param type var desc` and `@return type desc`) and the names of - * those parameters. - * - * @var array - */ - public static $vectors = [ - 'throws' => ['type', 'desc'], - 'param' => ['type', 'var', 'desc'], - 'return' => ['type', 'desc'], - ]; - - protected $reflector; - - /** - * The description of the symbol. - * - * @var string - */ - public $desc; - - /** - * The tags defined in the docblock. - * - * The array has keys which are the tag names (excluding the @) and values - * that are arrays, each of which is an entry for the tag. - * - * In the case where the tag name is defined in {@see DocBlock::$vectors} the - * value within the tag-value array is an array in itself with keys as - * described by {@see DocBlock::$vectors}. - * - * @var array - */ - public $tags; - - /** - * The entire DocBlock comment that was parsed. - * - * @var string - */ - public $comment; - - /** - * Docblock constructor. - * - * @param \Reflector $reflector - */ - public function __construct(\Reflector $reflector) - { - $this->reflector = $reflector; - $this->setComment($reflector->getDocComment()); - } - - /** - * Set and parse the docblock comment. - * - * @param string $comment The docblock - */ - protected function setComment($comment) - { - $this->desc = ''; - $this->tags = []; - $this->comment = $comment; - - $this->parseComment($comment); - } - - /** - * Find the length of the docblock prefix. - * - * @param array $lines - * - * @return int Prefix length - */ - protected static function prefixLength(array $lines) - { - // find only lines with interesting things - $lines = \array_filter($lines, function ($line) { - return \substr($line, \strspn($line, "* \t\n\r\0\x0B")); - }); - - // if we sort the lines, we only have to compare two items - \sort($lines); - - $first = \reset($lines); - $last = \end($lines); - - // find the longest common substring - $count = \min(\strlen($first), \strlen($last)); - for ($i = 0; $i < $count; $i++) { - if ($first[$i] !== $last[$i]) { - return $i; - } - } - - return $count; - } - - /** - * Parse the comment into the component parts and set the state of the object. - * - * @param string $comment The docblock - */ - protected function parseComment($comment) - { - // Strip the opening and closing tags of the docblock - $comment = \substr($comment, 3, -2); - - // Split into arrays of lines - $comment = \array_filter(\preg_split('/\r?\n\r?/', $comment)); - - // Trim asterisks and whitespace from the beginning and whitespace from the end of lines - $prefixLength = self::prefixLength($comment); - $comment = \array_map(function ($line) use ($prefixLength) { - return \rtrim(\substr($line, $prefixLength)); - }, $comment); - - // Group the lines together by @tags - $blocks = []; - $b = -1; - foreach ($comment as $line) { - if (self::isTagged($line)) { - $b++; - $blocks[] = []; - } elseif ($b === -1) { - $b = 0; - $blocks[] = []; - } - $blocks[$b][] = $line; - } - - // Parse the blocks - foreach ($blocks as $block => $body) { - $body = \trim(\implode("\n", $body)); - - if ($block === 0 && !self::isTagged($body)) { - // This is the description block - $this->desc = $body; - } else { - // This block is tagged - $tag = \substr(self::strTag($body), 1); - $body = \ltrim(\substr($body, \strlen($tag) + 2)); - - if (isset(self::$vectors[$tag])) { - // The tagged block is a vector - $count = \count(self::$vectors[$tag]); - if ($body) { - $parts = \preg_split('/\s+/', $body, $count); - } else { - $parts = []; - } - - // Default the trailing values - $parts = \array_pad($parts, $count, null); - - // Store as a mapped array - $this->tags[$tag][] = \array_combine(self::$vectors[$tag], $parts); - } else { - // The tagged block is only text - $this->tags[$tag][] = $body; - } - } - } - } - - /** - * Whether or not a docblock contains a given @tag. - * - * @param string $tag The name of the @tag to check for - * - * @return bool - */ - public function hasTag($tag) - { - return \is_array($this->tags) && \array_key_exists($tag, $this->tags); - } - - /** - * The value of a tag. - * - * @param string $tag - * - * @return array - */ - public function tag($tag) - { - return $this->hasTag($tag) ? $this->tags[$tag] : null; - } - - /** - * Whether or not a string begins with a @tag. - * - * @param string $str - * - * @return bool - */ - public static function isTagged($str) - { - return isset($str[1]) && $str[0] === '@' && !\preg_match('/[^A-Za-z]/', $str[1]); - } - - /** - * The tag at the beginning of a string. - * - * @param string $str - * - * @return string|null - */ - public static function strTag($str) - { - if (\preg_match('/^@[a-z0-9_]+/', $str, $matches)) { - return $matches[0]; - } - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/Util/Json.php b/paragonik-backend/vendor/psy/psysh/src/Util/Json.php deleted file mode 100644 index 471f10e..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/Util/Json.php +++ /dev/null @@ -1,33 +0,0 @@ -hasConstant($member)) { - return ReflectionClassConstant::create($value, $member); - } elseif ($filter & self::METHOD && $class->hasMethod($member)) { - return $class->getMethod($member); - } elseif ($filter & self::PROPERTY && $class->hasProperty($member)) { - return $class->getProperty($member); - } elseif ($filter & self::STATIC_PROPERTY && $class->hasProperty($member) && $class->getProperty($member)->isStatic()) { - return $class->getProperty($member); - } else { - throw new RuntimeException(\sprintf( - 'Unknown member %s on class %s', - $member, - \is_object($value) ? \get_class($value) : $value - )); - } - } - - /** - * Get a ReflectionClass (or ReflectionObject) if possible. - * - * @throws \InvalidArgumentException if $value is not a class name or instance - * - * @param mixed $value - * - * @return \ReflectionClass - */ - private static function getClass($value) - { - if (\is_object($value)) { - return new \ReflectionObject($value); - } - - if (!\is_string($value)) { - throw new \InvalidArgumentException('Mirror expects an object or class'); - } elseif (!\class_exists($value) && !\interface_exists($value) && !\trait_exists($value)) { - throw new \InvalidArgumentException('Unknown class or function: ' . $value); - } - - return new \ReflectionClass($value); - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/Util/Str.php b/paragonik-backend/vendor/psy/psysh/src/Util/Str.php deleted file mode 100644 index 47d5239..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/Util/Str.php +++ /dev/null @@ -1,114 +0,0 @@ -filter = $filter; - - return parent::cloneVar($var, $filter); - } - - /** - * {@inheritdoc} - */ - protected function castResource(Stub $stub, $isNested) - { - return Caster::EXCLUDE_VERBOSE & $this->filter ? [] : parent::castResource($stub, $isNested); - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/VarDumper/Dumper.php b/paragonik-backend/vendor/psy/psysh/src/VarDumper/Dumper.php deleted file mode 100644 index cc13b26..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/VarDumper/Dumper.php +++ /dev/null @@ -1,109 +0,0 @@ - '\0', - "\t" => '\t', - "\n" => '\n', - "\v" => '\v', - "\f" => '\f', - "\r" => '\r', - "\033" => '\e', - ]; - - public function __construct(OutputFormatter $formatter, $forceArrayIndexes = false) - { - $this->formatter = $formatter; - $this->forceArrayIndexes = $forceArrayIndexes; - parent::__construct(); - $this->setColors(false); - } - - /** - * {@inheritdoc} - */ - public function enterHash(Cursor $cursor, $type, $class, $hasChild) - { - if (Cursor::HASH_INDEXED === $type || Cursor::HASH_ASSOC === $type) { - $class = 0; - } - parent::enterHash($cursor, $type, $class, $hasChild); - } - - /** - * {@inheritdoc} - */ - protected function dumpKey(Cursor $cursor) - { - if ($this->forceArrayIndexes || Cursor::HASH_INDEXED !== $cursor->hashType) { - parent::dumpKey($cursor); - } - } - - protected function style($style, $value, $attr = []) - { - if ('ref' === $style) { - $value = \strtr($value, '@', '#'); - } - - $styled = ''; - $map = self::$controlCharsMap; - $cchr = $this->styles['cchr']; - - $chunks = \preg_split(self::$controlCharsRx, $value, null, PREG_SPLIT_NO_EMPTY | PREG_SPLIT_DELIM_CAPTURE); - foreach ($chunks as $chunk) { - if (\preg_match(self::$onlyControlCharsRx, $chunk)) { - $chars = ''; - $i = 0; - do { - $chars .= isset($map[$chunk[$i]]) ? $map[$chunk[$i]] : \sprintf('\x%02X', \ord($chunk[$i])); - } while (isset($chunk[++$i])); - - $chars = $this->formatter->escape($chars); - $styled .= "<{$cchr}>{$chars}"; - } else { - $styled .= $this->formatter->escape($chunk); - } - } - - $style = $this->styles[$style]; - - return "<{$style}>{$styled}"; - } - - /** - * {@inheritdoc} - */ - protected function dumpLine($depth, $endOfValue = false) - { - if ($endOfValue && 0 < $depth) { - $this->line .= ','; - } - $this->line = $this->formatter->format($this->line); - parent::dumpLine($depth, $endOfValue); - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/VarDumper/Presenter.php b/paragonik-backend/vendor/psy/psysh/src/VarDumper/Presenter.php deleted file mode 100644 index 4f821e0..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/VarDumper/Presenter.php +++ /dev/null @@ -1,137 +0,0 @@ - 'number', - 'const' => 'const', - 'str' => 'string', - 'cchr' => 'default', - 'note' => 'class', - 'ref' => 'default', - 'public' => 'public', - 'protected' => 'protected', - 'private' => 'private', - 'meta' => 'comment', - 'key' => 'comment', - 'index' => 'number', - ]; - - public function __construct(OutputFormatter $formatter, $forceArrayIndexes = false) - { - // Work around https://github.com/symfony/symfony/issues/23572 - $oldLocale = \setlocale(LC_NUMERIC, 0); - \setlocale(LC_NUMERIC, 'C'); - - $this->dumper = new Dumper($formatter, $forceArrayIndexes); - $this->dumper->setStyles($this->styles); - - // Now put the locale back - \setlocale(LC_NUMERIC, $oldLocale); - - $this->cloner = new Cloner(); - $this->cloner->addCasters(['*' => function ($obj, array $a, Stub $stub, $isNested, $filter = 0) { - if ($filter || $isNested) { - if ($obj instanceof \Exception) { - $a = Caster::filter($a, Caster::EXCLUDE_NOT_IMPORTANT | Caster::EXCLUDE_EMPTY, $this->exceptionsImportants); - } else { - $a = Caster::filter($a, Caster::EXCLUDE_PROTECTED | Caster::EXCLUDE_PRIVATE); - } - } - - return $a; - }]); - } - - /** - * Register casters. - * - * @see http://symfony.com/doc/current/components/var_dumper/advanced.html#casters - * - * @param callable[] $casters A map of casters - */ - public function addCasters(array $casters) - { - $this->cloner->addCasters($casters); - } - - /** - * Present a reference to the value. - * - * @param mixed $value - * - * @return string - */ - public function presentRef($value) - { - return $this->present($value, 0); - } - - /** - * Present a full representation of the value. - * - * If $depth is 0, the value will be presented as a ref instead. - * - * @param mixed $value - * @param int $depth (default: null) - * @param int $options One of Presenter constants - * - * @return string - */ - public function present($value, $depth = null, $options = 0) - { - $data = $this->cloner->cloneVar($value, !($options & self::VERBOSE) ? Caster::EXCLUDE_VERBOSE : 0); - - if (null !== $depth) { - $data = $data->withMaxDepth($depth); - } - - // Work around https://github.com/symfony/symfony/issues/23572 - $oldLocale = \setlocale(LC_NUMERIC, 0); - \setlocale(LC_NUMERIC, 'C'); - - $output = ''; - $this->dumper->dump($data, function ($line, $depth) use (&$output) { - if ($depth >= 0) { - if ('' !== $output) { - $output .= PHP_EOL; - } - $output .= \str_repeat(' ', $depth) . $line; - } - }); - - // Now put the locale back - \setlocale(LC_NUMERIC, $oldLocale); - - return OutputFormatter::escape($output); - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/VarDumper/PresenterAware.php b/paragonik-backend/vendor/psy/psysh/src/VarDumper/PresenterAware.php deleted file mode 100644 index 1645c60..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/VarDumper/PresenterAware.php +++ /dev/null @@ -1,26 +0,0 @@ -getLatest(), '>='); - } - - /** - * @return string - */ - public function getLatest() - { - if (!isset($this->latest)) { - $this->setLatest($this->getVersionFromTag()); - } - - return $this->latest; - } - - /** - * @param string $version - */ - public function setLatest($version) - { - $this->latest = $version; - } - - /** - * @return string|null - */ - private function getVersionFromTag() - { - $contents = $this->fetchLatestRelease(); - if (!$contents || !isset($contents->tag_name)) { - throw new \InvalidArgumentException('Unable to check for updates'); - } - $this->setLatest($contents->tag_name); - - return $this->getLatest(); - } - - /** - * Set to public to make testing easier. - * - * @return mixed - */ - public function fetchLatestRelease() - { - $context = \stream_context_create([ - 'http' => [ - 'user_agent' => 'PsySH/' . Shell::VERSION, - 'timeout' => 3, - ], - ]); - - \set_error_handler(function () { - // Just ignore all errors with this. The checker will throw an exception - // if it doesn't work :) - }); - - $result = @\file_get_contents(self::URL, false, $context); - - \restore_error_handler(); - - return \json_decode($result); - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/VersionUpdater/IntervalChecker.php b/paragonik-backend/vendor/psy/psysh/src/VersionUpdater/IntervalChecker.php deleted file mode 100644 index 7e0da43..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/VersionUpdater/IntervalChecker.php +++ /dev/null @@ -1,67 +0,0 @@ -cacheFile = $cacheFile; - $this->interval = $interval; - } - - public function fetchLatestRelease() - { - // Read the cached file - $cached = \json_decode(@\file_get_contents($this->cacheFile, false)); - if ($cached && isset($cached->last_check) && isset($cached->release)) { - $now = new \DateTime(); - $lastCheck = new \DateTime($cached->last_check); - if ($lastCheck >= $now->sub($this->getDateInterval())) { - return $cached->release; - } - } - - // Fall back to fetching from GitHub - $release = parent::fetchLatestRelease(); - if ($release && isset($release->tag_name)) { - $this->updateCache($release); - } - - return $release; - } - - private function getDateInterval() - { - switch ($this->interval) { - case Checker::DAILY: - return new \DateInterval('P1D'); - case Checker::WEEKLY: - return new \DateInterval('P1W'); - case Checker::MONTHLY: - return new \DateInterval('P1M'); - } - } - - private function updateCache($release) - { - $data = [ - 'last_check' => \date(DATE_ATOM), - 'release' => $release, - ]; - - \file_put_contents($this->cacheFile, \json_encode($data)); - } -} diff --git a/paragonik-backend/vendor/psy/psysh/src/VersionUpdater/NoopChecker.php b/paragonik-backend/vendor/psy/psysh/src/VersionUpdater/NoopChecker.php deleted file mode 100644 index c5c9bcb..0000000 --- a/paragonik-backend/vendor/psy/psysh/src/VersionUpdater/NoopChecker.php +++ /dev/null @@ -1,36 +0,0 @@ -setScopeVariables($vars); - - // Show a couple of lines of call context for the debug session. - // - // @todo come up with a better way of doing this which doesn't involve injecting input :-P - if ($sh->has('whereami')) { - $sh->addInput('whereami -n2', true); - } - - if (\is_string($bindTo)) { - $sh->setBoundClass($bindTo); - } elseif ($bindTo !== null) { - $sh->setBoundObject($bindTo); - } - - $sh->run(); - - return $sh->getScopeVariables(false); - } -} - -if (!\function_exists('Psy\info')) { - /** - * Get a bunch of debugging info about the current PsySH environment and - * configuration. - * - * If a Configuration param is passed, that configuration is stored and - * used for the current shell session, and no debugging info is returned. - * - * @param Configuration|null $config - * - * @return array|null - */ - function info(Configuration $config = null) - { - static $lastConfig; - if ($config !== null) { - $lastConfig = $config; - - return; - } - - $xdg = new Xdg(); - $home = \rtrim(\str_replace('\\', '/', $xdg->getHomeDir()), '/'); - $homePattern = '#^' . \preg_quote($home, '#') . '/#'; - - $prettyPath = function ($path) use ($homePattern) { - if (\is_string($path)) { - return \preg_replace($homePattern, '~/', $path); - } else { - return $path; - } - }; - - $config = $lastConfig ?: new Configuration(); - - $core = [ - 'PsySH version' => Shell::VERSION, - 'PHP version' => PHP_VERSION, - 'OS' => PHP_OS, - 'default includes' => $config->getDefaultIncludes(), - 'require semicolons' => $config->requireSemicolons(), - 'error logging level' => $config->errorLoggingLevel(), - 'config file' => [ - 'default config file' => $prettyPath($config->getConfigFile()), - 'local config file' => $prettyPath($config->getLocalConfigFile()), - 'PSYSH_CONFIG env' => $prettyPath(\getenv('PSYSH_CONFIG')), - ], - // 'config dir' => $config->getConfigDir(), - // 'data dir' => $config->getDataDir(), - // 'runtime dir' => $config->getRuntimeDir(), - ]; - - // Use an explicit, fresh update check here, rather than relying on whatever is in $config. - $checker = new GitHubChecker(); - $updateAvailable = null; - $latest = null; - try { - $updateAvailable = !$checker->isLatest(); - $latest = $checker->getLatest(); - } catch (\Exception $e) { - } - - $updates = [ - 'update available' => $updateAvailable, - 'latest release version' => $latest, - 'update check interval' => $config->getUpdateCheck(), - 'update cache file' => $prettyPath($config->getUpdateCheckCacheFile()), - ]; - - if ($config->hasReadline()) { - $info = \readline_info(); - - $readline = [ - 'readline available' => true, - 'readline enabled' => $config->useReadline(), - 'readline service' => \get_class($config->getReadline()), - ]; - - if (isset($info['library_version'])) { - $readline['readline library'] = $info['library_version']; - } - - if (isset($info['readline_name']) && $info['readline_name'] !== '') { - $readline['readline name'] = $info['readline_name']; - } - } else { - $readline = [ - 'readline available' => false, - ]; - } - - $pcntl = [ - 'pcntl available' => \function_exists('pcntl_signal'), - 'posix available' => \function_exists('posix_getpid'), - ]; - - $disabledFuncs = \array_map('trim', \explode(',', \ini_get('disable_functions'))); - if (\in_array('pcntl_signal', $disabledFuncs) || \in_array('pcntl_fork', $disabledFuncs)) { - $pcntl['pcntl disabled'] = true; - } - - $history = [ - 'history file' => $prettyPath($config->getHistoryFile()), - 'history size' => $config->getHistorySize(), - 'erase duplicates' => $config->getEraseDuplicates(), - ]; - - $docs = [ - 'manual db file' => $prettyPath($config->getManualDbFile()), - 'sqlite available' => true, - ]; - - try { - if ($db = $config->getManualDb()) { - if ($q = $db->query('SELECT * FROM meta;')) { - $q->setFetchMode(\PDO::FETCH_KEY_PAIR); - $meta = $q->fetchAll(); - - foreach ($meta as $key => $val) { - switch ($key) { - case 'built_at': - $d = new \DateTime('@' . $val); - $val = $d->format(\DateTime::RFC2822); - break; - } - $key = 'db ' . \str_replace('_', ' ', $key); - $docs[$key] = $val; - } - } else { - $docs['db schema'] = '0.1.0'; - } - } - } catch (Exception\RuntimeException $e) { - if ($e->getMessage() === 'SQLite PDO driver not found') { - $docs['sqlite available'] = false; - } else { - throw $e; - } - } - - $autocomplete = [ - 'tab completion enabled' => $config->useTabCompletion(), - 'custom matchers' => \array_map('get_class', $config->getTabCompletionMatchers()), - 'bracketed paste' => $config->useBracketedPaste(), - ]; - - // Shenanigans, but totally justified. - if ($shell = Sudo::fetchProperty($config, 'shell')) { - $core['loop listeners'] = \array_map('get_class', Sudo::fetchProperty($shell, 'loopListeners')); - $core['commands'] = \array_map('get_class', $shell->all()); - - $autocomplete['custom matchers'] = \array_map('get_class', Sudo::fetchProperty($shell, 'matchers')); - } - - // @todo Show Presenter / custom casters. - - return \array_merge($core, \compact('updates', 'pcntl', 'readline', 'history', 'docs', 'autocomplete')); - } -} - -if (!\function_exists('Psy\bin')) { - /** - * `psysh` command line executable. - * - * @return \Closure - */ - function bin() - { - return function () { - $usageException = null; - - $input = new ArgvInput(); - try { - $input->bind(new InputDefinition([ - new InputOption('help', 'h', InputOption::VALUE_NONE), - new InputOption('config', 'c', InputOption::VALUE_REQUIRED), - new InputOption('version', 'v', InputOption::VALUE_NONE), - new InputOption('cwd', null, InputOption::VALUE_REQUIRED), - new InputOption('color', null, InputOption::VALUE_NONE), - new InputOption('no-color', null, InputOption::VALUE_NONE), - - new InputArgument('include', InputArgument::IS_ARRAY), - ])); - } catch (\RuntimeException $e) { - $usageException = $e; - } - - $config = []; - - // Handle --config - if ($configFile = $input->getOption('config')) { - $config['configFile'] = $configFile; - } - - // Handle --color and --no-color - if ($input->getOption('color') && $input->getOption('no-color')) { - $usageException = new \RuntimeException('Using both "--color" and "--no-color" options is invalid'); - } elseif ($input->getOption('color')) { - $config['colorMode'] = Configuration::COLOR_MODE_FORCED; - } elseif ($input->getOption('no-color')) { - $config['colorMode'] = Configuration::COLOR_MODE_DISABLED; - } - - $shell = new Shell(new Configuration($config)); - - // Handle --help - if ($usageException !== null || $input->getOption('help')) { - if ($usageException !== null) { - echo $usageException->getMessage() . PHP_EOL . PHP_EOL; - } - - $version = $shell->getVersion(); - $name = \basename(\reset($_SERVER['argv'])); - echo <<getOption('version')) { - echo $shell->getVersion() . PHP_EOL; - exit(0); - } - - // Pass additional arguments to Shell as 'includes' - $shell->setIncludes($input->getArgument('include')); - - try { - // And go! - $shell->run(); - } catch (\Exception $e) { - echo $e->getMessage() . PHP_EOL; - - // @todo this triggers the "exited unexpectedly" logic in the - // ForkingLoop, so we can't exit(1) after starting the shell... - // fix this :) - - // exit(1); - } - }; - } -} diff --git a/paragonik-backend/vendor/psy/psysh/test/ClassWithSecrets.php b/paragonik-backend/vendor/psy/psysh/test/ClassWithSecrets.php deleted file mode 100644 index adf27e3..0000000 --- a/paragonik-backend/vendor/psy/psysh/test/ClassWithSecrets.php +++ /dev/null @@ -1,37 +0,0 @@ -setPass(new AbstractClassPass()); - } - - /** - * @dataProvider invalidStatements - * @expectedException \Psy\Exception\FatalErrorException - */ - public function testProcessStatementFails($code) - { - $this->parseAndTraverse($code); - } - - public function invalidStatements() - { - return [ - ['class A { abstract function a(); }'], - ['abstract class B { abstract function b() {} }'], - ['abstract class B { abstract function b() { echo "yep"; } }'], - ]; - } - - /** - * @dataProvider validStatements - */ - public function testProcessStatementPasses($code) - { - $this->parseAndTraverse($code); - $this->assertTrue(true); - } - - public function validStatements() - { - return [ - ['abstract class C { function c() {} }'], - ['abstract class D { abstract function d(); }'], - ]; - } -} diff --git a/paragonik-backend/vendor/psy/psysh/test/CodeCleaner/AssignThisVariablePassTest.php b/paragonik-backend/vendor/psy/psysh/test/CodeCleaner/AssignThisVariablePassTest.php deleted file mode 100644 index 1ff15c5..0000000 --- a/paragonik-backend/vendor/psy/psysh/test/CodeCleaner/AssignThisVariablePassTest.php +++ /dev/null @@ -1,58 +0,0 @@ -setPass(new AssignThisVariablePass()); - } - - /** - * @dataProvider invalidStatements - * @expectedException \Psy\Exception\FatalErrorException - */ - public function testProcessStatementFails($code) - { - $this->parseAndTraverse($code); - } - - public function invalidStatements() - { - return [ - ['$this = 3'], - ['strtolower($this = "this")'], - ]; - } - - /** - * @dataProvider validStatements - */ - public function testProcessStatementPasses($code) - { - $this->parseAndTraverse($code); - $this->assertTrue(true); - } - - public function validStatements() - { - return [ - ['$this'], - ['$a = $this'], - ['$a = "this"; $$a = 3'], - ['$$this = "b"'], - ]; - } -} diff --git a/paragonik-backend/vendor/psy/psysh/test/CodeCleaner/CallTimePassByReferencePassTest.php b/paragonik-backend/vendor/psy/psysh/test/CodeCleaner/CallTimePassByReferencePassTest.php deleted file mode 100644 index cd321b5..0000000 --- a/paragonik-backend/vendor/psy/psysh/test/CodeCleaner/CallTimePassByReferencePassTest.php +++ /dev/null @@ -1,59 +0,0 @@ -setPass(new CallTimePassByReferencePass()); - } - - /** - * @dataProvider invalidStatements - * @expectedException \Psy\Exception\FatalErrorException - */ - public function testProcessStatementFails($code) - { - $this->parseAndTraverse($code); - } - - public function invalidStatements() - { - return [ - ['f(&$arg)'], - ['$object->method($first, &$arg)'], - ['$closure($first, &$arg, $last)'], - ['A::b(&$arg)'], - ]; - } - - /** - * @dataProvider validStatements - */ - public function testProcessStatementPasses($code) - { - $this->parseAndTraverse($code); - $this->assertTrue(true); - } - - public function validStatements() - { - return [ - ['array(&$var)'], - ['$a = &$b'], - ['f(array(&$b))'], - ]; - } -} diff --git a/paragonik-backend/vendor/psy/psysh/test/CodeCleaner/CalledClassPassTest.php b/paragonik-backend/vendor/psy/psysh/test/CodeCleaner/CalledClassPassTest.php deleted file mode 100644 index c80f257..0000000 --- a/paragonik-backend/vendor/psy/psysh/test/CodeCleaner/CalledClassPassTest.php +++ /dev/null @@ -1,90 +0,0 @@ -setPass(new CalledClassPass()); - } - - /** - * @dataProvider invalidStatements - * @expectedException \Psy\Exception\ErrorException - */ - public function testProcessStatementFails($code) - { - $this->parseAndTraverse($code); - } - - public function invalidStatements() - { - return [ - ['get_class()'], - ['get_class(null)'], - ['get_called_class()'], - ['get_called_class(null)'], - ['function foo() { return get_class(); }'], - ['function foo() { return get_class(null); }'], - ['function foo() { return get_called_class(); }'], - ['function foo() { return get_called_class(null); }'], - ]; - } - - /** - * @dataProvider validStatements - */ - public function testProcessStatementPasses($code) - { - $this->parseAndTraverse($code); - $this->assertTrue(true); - } - - public function validStatements() - { - return [ - ['get_class($foo)'], - ['get_class(bar())'], - ['get_called_class($foo)'], - ['get_called_class(bar())'], - ['function foo($bar) { return get_class($bar); }'], - ['function foo($bar) { return get_called_class($bar); }'], - ['class Foo { function bar() { return get_class(); } }'], - ['class Foo { function bar() { return get_class(null); } }'], - ['class Foo { function bar() { return get_called_class(); } }'], - ['class Foo { function bar() { return get_called_class(null); } }'], - ['$foo = function () {}; $foo()'], - ]; - } - - /** - * @dataProvider validTraitStatements - */ - public function testProcessTraitStatementPasses($code) - { - $this->parseAndTraverse($code); - $this->assertTrue(true); - } - - public function validTraitStatements() - { - return [ - ['trait Foo { function bar() { return get_class(); } }'], - ['trait Foo { function bar() { return get_class(null); } }'], - ['trait Foo { function bar() { return get_called_class(); } }'], - ['trait Foo { function bar() { return get_called_class(null); } }'], - ]; - } -} diff --git a/paragonik-backend/vendor/psy/psysh/test/CodeCleaner/CodeCleanerTestCase.php b/paragonik-backend/vendor/psy/psysh/test/CodeCleaner/CodeCleanerTestCase.php deleted file mode 100644 index 6962c11..0000000 --- a/paragonik-backend/vendor/psy/psysh/test/CodeCleaner/CodeCleanerTestCase.php +++ /dev/null @@ -1,41 +0,0 @@ -pass = null; - parent::tearDown(); - } - - protected function setPass(CodeCleanerPass $pass) - { - $this->pass = $pass; - if (!isset($this->traverser)) { - $this->traverser = new NodeTraverser(); - } - $this->traverser->addVisitor($this->pass); - } - - protected function parseAndTraverse($code, $prefix = 'traverse($this->parse($code, $prefix)); - } -} diff --git a/paragonik-backend/vendor/psy/psysh/test/CodeCleaner/ExitPassTest.php b/paragonik-backend/vendor/psy/psysh/test/CodeCleaner/ExitPassTest.php deleted file mode 100644 index b22766c..0000000 --- a/paragonik-backend/vendor/psy/psysh/test/CodeCleaner/ExitPassTest.php +++ /dev/null @@ -1,59 +0,0 @@ -setPass(new ExitPass()); - } - - /** - * @dataProvider dataProviderExitStatement - */ - public function testExitStatement($from, $to) - { - $this->assertProcessesAs($from, $to); - } - - /** - * Data provider for testExitStatement. - * - * @return array - */ - public function dataProviderExitStatement() - { - return [ - ['exit;', "{$this->expectedExceptionString};"], - ['exit();', "{$this->expectedExceptionString};"], - ['die;', "{$this->expectedExceptionString};"], - ['exit(die(die));', "{$this->expectedExceptionString};"], - ['if (true) { exit; }', "if (true) {\n {$this->expectedExceptionString};\n}"], - ['if (false) { exit; }', "if (false) {\n {$this->expectedExceptionString};\n}"], - ['1 and exit();', "1 and {$this->expectedExceptionString};"], - ['foo() or die', "foo() or {$this->expectedExceptionString};"], - ['exit and 1;', "{$this->expectedExceptionString} and 1;"], - ['if (exit) { echo $wat; }', "if ({$this->expectedExceptionString}) {\n echo \$wat;\n}"], - ['exit or die;', "{$this->expectedExceptionString} or {$this->expectedExceptionString};"], - ['switch (die) { }', "switch ({$this->expectedExceptionString}) {\n}"], - ['for ($i = 1; $i < 10; die) {}', "for (\$i = 1; \$i < 10; {$this->expectedExceptionString}) {\n}"], - ]; - } -} diff --git a/paragonik-backend/vendor/psy/psysh/test/CodeCleaner/FinalClassPassTest.php b/paragonik-backend/vendor/psy/psysh/test/CodeCleaner/FinalClassPassTest.php deleted file mode 100644 index 1808d11..0000000 --- a/paragonik-backend/vendor/psy/psysh/test/CodeCleaner/FinalClassPassTest.php +++ /dev/null @@ -1,65 +0,0 @@ -setPass(new FinalClassPass()); - } - - /** - * @dataProvider invalidStatements - * @expectedException \Psy\Exception\FatalErrorException - */ - public function testProcessStatementFails($code) - { - $this->parseAndTraverse($code); - } - - public function invalidStatements() - { - $data = [ - ['final class A {} class B extends A {}'], - ['class A {} final class B extends A {} class C extends B {}'], - // array('namespace A { final class B {} } namespace C { class D extends \\A\\B {} }'), - ]; - - if (!\defined('HHVM_VERSION')) { - // For some reason Closure isn't final in HHVM? - $data[] = ['class A extends \\Closure {}']; - } - - return $data; - } - - /** - * @dataProvider validStatements - */ - public function testProcessStatementPasses($code) - { - $this->parseAndTraverse($code); - $this->assertTrue(true); - } - - public function validStatements() - { - return [ - ['class A extends \\stdClass {}'], - ['final class A extends \\stdClass {}'], - ['class A {} class B extends A {}'], - ]; - } -} diff --git a/paragonik-backend/vendor/psy/psysh/test/CodeCleaner/Fixtures/ClassWithCallStatic.php b/paragonik-backend/vendor/psy/psysh/test/CodeCleaner/Fixtures/ClassWithCallStatic.php deleted file mode 100644 index 0c674c0..0000000 --- a/paragonik-backend/vendor/psy/psysh/test/CodeCleaner/Fixtures/ClassWithCallStatic.php +++ /dev/null @@ -1,20 +0,0 @@ -setPass(new FunctionContextPass()); - } - - /** - * @dataProvider validStatements - */ - public function testProcessStatementPasses($code) - { - $this->parseAndTraverse($code); - $this->assertTrue(true); - } - - public function validStatements() - { - return [ - ['function foo() { yield; }'], - ['if (function(){ yield; })'], - ]; - } - - /** - * @dataProvider invalidYieldStatements - * @expectedException \Psy\Exception\FatalErrorException - */ - public function testInvalidYield($code) - { - $this->parseAndTraverse($code); - } - - public function invalidYieldStatements() - { - return [ - ['yield'], - ['if (yield)'], - ]; - } -} diff --git a/paragonik-backend/vendor/psy/psysh/test/CodeCleaner/FunctionReturnInWriteContextPassTest.php b/paragonik-backend/vendor/psy/psysh/test/CodeCleaner/FunctionReturnInWriteContextPassTest.php deleted file mode 100644 index 85f6a04..0000000 --- a/paragonik-backend/vendor/psy/psysh/test/CodeCleaner/FunctionReturnInWriteContextPassTest.php +++ /dev/null @@ -1,91 +0,0 @@ -setPass(new FunctionReturnInWriteContextPass()); - } - - /** - * @dataProvider invalidStatements - * @expectedException \Psy\Exception\FatalErrorException - * @expectedExceptionMessage Can't use function return value in write context - */ - public function testProcessStatementFails($code) - { - $this->parseAndTraverse($code); - } - - public function invalidStatements() - { - return [ - ['f(&g())'], - ['array(& $object->method())'], - ['$a->method(& $closure())'], - ['array(& A::b())'], - ['f() = 5'], - ['unset(h())'], - ]; - } - - public function testIsset() - { - try { - $this->traverser->traverse($this->parse('isset(strtolower("A"))')); - $this->fail(); - } catch (FatalErrorException $e) { - if (\version_compare(PHP_VERSION, '5.5', '>=')) { - $this->assertContains( - 'Cannot use isset() on the result of a function call (you can use "null !== func()" instead)', - $e->getMessage() - ); - } else { - $this->assertContains("Can't use function return value in write context", $e->getMessage()); - } - } - } - - /** - * @expectedException \Psy\Exception\FatalErrorException - * @expectedExceptionMessage Can't use function return value in write context - */ - public function testEmpty() - { - if (\version_compare(PHP_VERSION, '5.5', '>=')) { - $this->markTestSkipped(); - } - - $this->traverser->traverse($this->parse('empty(strtolower("A"))')); - } - - /** - * @dataProvider validStatements - */ - public function testValidStatements($code) - { - $this->parseAndTraverse($code); - $this->assertTrue(true); - } - - public function validStatements() - { - return [ - ['isset($foo)'], - ]; - } -} diff --git a/paragonik-backend/vendor/psy/psysh/test/CodeCleaner/ImplicitReturnPassTest.php b/paragonik-backend/vendor/psy/psysh/test/CodeCleaner/ImplicitReturnPassTest.php deleted file mode 100644 index 1c28b4a..0000000 --- a/paragonik-backend/vendor/psy/psysh/test/CodeCleaner/ImplicitReturnPassTest.php +++ /dev/null @@ -1,112 +0,0 @@ -setPass(new ImplicitReturnPass()); - } - - /** - * @dataProvider implicitReturns - */ - public function testProcess($from, $to) - { - $this->assertProcessesAs($from, $to); - } - - public function implicitReturns() - { - $data = [ - ['4', 'return 4;'], - ['foo()', 'return foo();'], - ['return 1', 'return 1;'], - ['', 'return new \Psy\CodeCleaner\NoReturnValue();'], - ]; - - $from = 'echo "foo";'; - $to = <<<'EOS' -echo "foo"; -return new \Psy\CodeCleaner\NoReturnValue(); -EOS; - $data[] = [$from, $to]; - - $from = 'if (true) { 1; } elseif (true) { 2; } else { 3; }'; - $to = <<<'EOS' -if (true) { - return 1; -} elseif (true) { - return 2; -} else { - return 3; -} -return new \Psy\CodeCleaner\NoReturnValue(); -EOS; - $data[] = [$from, $to]; - - $from = 'class A {}'; - $to = <<<'EOS' -class A -{ -} -return new \Psy\CodeCleaner\NoReturnValue(); -EOS; - $data[] = [$from, $to]; - - $from = <<<'EOS' -switch (false) { - case 0: - 0; - case 1: - 1; - break; - case 2: - 2; - return; -} -EOS; - $to = <<<'EOS' -switch (false) { - case 0: - 0; - case 1: - return 1; - break; - case 2: - 2; - return; -} -return new \Psy\CodeCleaner\NoReturnValue(); -EOS; - $data[] = [$from, $to]; - - $from = <<<'EOS' -namespace Foo { - 1 + 1; -} -EOS; - $to = <<<'EOS' -namespace Foo; - -return 1 + 1; -EOS; - $data[] = [$from, $to]; - - $data[] = ['exit()', 'exit;']; - - return $data; - } -} diff --git a/paragonik-backend/vendor/psy/psysh/test/CodeCleaner/InstanceOfPassTest.php b/paragonik-backend/vendor/psy/psysh/test/CodeCleaner/InstanceOfPassTest.php deleted file mode 100644 index b8c6331..0000000 --- a/paragonik-backend/vendor/psy/psysh/test/CodeCleaner/InstanceOfPassTest.php +++ /dev/null @@ -1,72 +0,0 @@ -setPass(new InstanceOfPass()); - } - - /** - * @dataProvider invalidStatements - * @expectedException \Psy\Exception\FatalErrorException - */ - public function testProcessInvalidStatement($code) - { - $this->parseAndTraverse($code); - } - - public function invalidStatements() - { - return [ - ['null instanceof stdClass'], - ['true instanceof stdClass'], - ['9 instanceof stdClass'], - ['1.0 instanceof stdClass'], - ['"foo" instanceof stdClass'], - ['__DIR__ instanceof stdClass'], - ['PHP_SAPI instanceof stdClass'], - ['1+1 instanceof stdClass'], - ['true && false instanceof stdClass'], - ['"a"."b" instanceof stdClass'], - ['!5 instanceof stdClass'], - ]; - } - - /** - * @dataProvider validStatements - */ - public function testProcessValidStatement($code) - { - $this->parseAndTraverse($code); - $this->assertTrue(true); - } - - public function validStatements() - { - $data = [ - ['$a instanceof stdClass'], - ['strtolower("foo") instanceof stdClass'], - ['array(1) instanceof stdClass'], - ['(string) "foo" instanceof stdClass'], - ['(1+1) instanceof stdClass'], - ['"foo ${foo} $bar" instanceof stdClass'], - ['DateTime::ISO8601 instanceof stdClass'], - ]; - - return $data; - } -} diff --git a/paragonik-backend/vendor/psy/psysh/test/CodeCleaner/LeavePsyshAlonePassTest.php b/paragonik-backend/vendor/psy/psysh/test/CodeCleaner/LeavePsyshAlonePassTest.php deleted file mode 100644 index 9df633e..0000000 --- a/paragonik-backend/vendor/psy/psysh/test/CodeCleaner/LeavePsyshAlonePassTest.php +++ /dev/null @@ -1,69 +0,0 @@ -setPass(new LeavePsyshAlonePass()); - } - - public function testPassesInlineHtmlThroughJustFine() - { - $inline = $this->parse('not php at all!', ''); - $this->traverse($inline); - $this->assertTrue(true); - } - - /** - * @dataProvider validStatements - */ - public function testProcessStatementPasses($code) - { - $this->parseAndTraverse($code); - $this->assertTrue(true); - } - - public function validStatements() - { - return [ - ['array_merge()'], - ['__psysh__()'], - ['$this'], - ['$psysh'], - ['$__psysh'], - ['$banana'], - ]; - } - - /** - * @dataProvider invalidStatements - * @expectedException \Psy\Exception\RuntimeException - */ - public function testProcessStatementFails($code) - { - $this->parseAndTraverse($code); - } - - public function invalidStatements() - { - return [ - ['$__psysh__'], - ['var_dump($__psysh__)'], - ['$__psysh__ = "your mom"'], - ['$__psysh__->fakeFunctionCall()'], - ]; - } -} diff --git a/paragonik-backend/vendor/psy/psysh/test/CodeCleaner/LegacyEmptyPassTest.php b/paragonik-backend/vendor/psy/psysh/test/CodeCleaner/LegacyEmptyPassTest.php deleted file mode 100644 index 5c4c7b0..0000000 --- a/paragonik-backend/vendor/psy/psysh/test/CodeCleaner/LegacyEmptyPassTest.php +++ /dev/null @@ -1,76 +0,0 @@ -setPass(new LegacyEmptyPass()); - } - - /** - * @dataProvider invalidStatements - * @expectedException \Psy\Exception\ParseErrorException - */ - public function testProcessInvalidStatement($code) - { - $this->parseAndTraverse($code); - } - - public function invalidStatements() - { - if (\version_compare(PHP_VERSION, '5.5', '>=')) { - return [ - ['empty()'], - ]; - } - - return [ - ['empty()'], - ['empty(null)'], - ['empty(PHP_EOL)'], - ['empty("wat")'], - ['empty(1.1)'], - ['empty(Foo::$bar)'], - ]; - } - - /** - * @dataProvider validStatements - */ - public function testProcessValidStatement($code) - { - $this->parseAndTraverse($code); - $this->assertTrue(true); - } - - public function validStatements() - { - if (\version_compare(PHP_VERSION, '5.5', '<')) { - return [ - ['empty($foo)'], - ]; - } - - return [ - ['empty($foo)'], - ['empty(null)'], - ['empty(PHP_EOL)'], - ['empty("wat")'], - ['empty(1.1)'], - ['empty(Foo::$bar)'], - ]; - } -} diff --git a/paragonik-backend/vendor/psy/psysh/test/CodeCleaner/ListPassTest.php b/paragonik-backend/vendor/psy/psysh/test/CodeCleaner/ListPassTest.php deleted file mode 100644 index b7a360d..0000000 --- a/paragonik-backend/vendor/psy/psysh/test/CodeCleaner/ListPassTest.php +++ /dev/null @@ -1,115 +0,0 @@ -setPass(new ListPass()); - } - - /** - * @dataProvider invalidStatements - * @expectedException \Psy\Exception\ParseErrorException - */ - public function testProcessInvalidStatement($code, $expectedMessage) - { - if (\method_exists($this, 'setExpectedException')) { - $this->setExpectedException('Psy\Exception\ParseErrorException', $expectedMessage); - } else { - $this->expectExceptionMessage($expectedMessage); - } - - $stmts = $this->parse($code); - $this->traverser->traverse($stmts); - } - - public function invalidStatements() - { - // Not typo. It is ambiguous whether "Syntax" or "syntax". - $errorShortListAssign = "yntax error, unexpected '='"; - $errorEmptyList = 'Cannot use empty list'; - $errorAssocListAssign = 'Syntax error, unexpected T_CONSTANT_ENCAPSED_STRING, expecting \',\' or \')\''; - $errorNonVariableAssign = 'Assignments can only happen to writable values'; - $errorPhpParserSyntax = 'PHP Parse error: Syntax error, unexpected'; - - $invalidExpr = [ - ['list() = array()', $errorEmptyList], - ['list("a") = array(1)', $errorPhpParserSyntax], - ]; - - if (\version_compare(PHP_VERSION, '7.1', '<')) { - return \array_merge($invalidExpr, [ - ['list("a" => _) = array("a" => 1)', $errorPhpParserSyntax], - ['[] = []', $errorShortListAssign], - ['[$a] = [1]', $errorShortListAssign], - ['list("a" => $a) = array("a" => 1)', $errorAssocListAssign], - ['[$a[0], $a[1]] = [1, 2]', $errorShortListAssign], - ['[$a->b, $a->c] = [1, 2]', $errorShortListAssign], - ]); - } - - return \array_merge($invalidExpr, [ - ['list("a" => _) = array("a" => 1)', $errorPhpParserSyntax], - ['["a"] = [1]', $errorNonVariableAssign], - ['[] = []', $errorEmptyList], - ['[,] = [1,2]', $errorEmptyList], - ['[,,] = [1,2,3]', $errorEmptyList], - ]); - } - - /** - * @dataProvider validStatements - */ - public function testProcessValidStatement($code) - { - $stmts = $this->parse($code); - $this->traverser->traverse($stmts); - $this->assertTrue(true); - } - - public function validStatements() - { - $validExpr = [ - ['list($a) = array(1)'], - ['list($x, $y) = array(1, 2)'], - ]; - - if (\version_compare(PHP_VERSION, '7.1', '>=')) { - return \array_merge($validExpr, [ - ['[$a] = array(1)'], - ['list($b) = [2]'], - ['[$x, $y] = array(1, 2)'], - ['[$a] = [1]'], - ['[$x, $y] = [1, 2]'], - ['["_" => $v] = ["_" => 1]'], - ['[$a,] = [1,2,3]'], - ['[,$b] = [1,2,3]'], - ['[$a,,$c] = [1,2,3]'], - ['[$a,,,] = [1,2,3]'], - ['[$a[0], $a[1]] = [1, 2]'], - ['[$a[0][0][0], $a[0][0][1]] = [1, 2]'], - ['[$a->b, $a->c] = [1, 2]'], - ['[$a->b[0], $a->c[1]] = [1, 2]'], - ['[$a[0]->b[0], $a[0]->c[1]] = [1, 2]'], - ['[$a[$b->c + $b->d]] = [1]'], - ['[$a->c()->d, $a->c()->e] = [1, 2]'], - ['[x()->a, x()->b] = [1, 2]'], - ]); - } - - return $validExpr; - } -} diff --git a/paragonik-backend/vendor/psy/psysh/test/CodeCleaner/LoopContextPassTest.php b/paragonik-backend/vendor/psy/psysh/test/CodeCleaner/LoopContextPassTest.php deleted file mode 100644 index 3b36306..0000000 --- a/paragonik-backend/vendor/psy/psysh/test/CodeCleaner/LoopContextPassTest.php +++ /dev/null @@ -1,108 +0,0 @@ -setPass(new LoopContextPass()); - } - - /** - * @dataProvider invalidStatements - * @expectedException \Psy\Exception\FatalErrorException - */ - public function testProcessStatementFails($code) - { - $this->parseAndTraverse($code); - } - - public function invalidStatements() - { - return [ - ['continue'], - ['break'], - ['if (true) { continue; }'], - ['if (true) { break; }'], - ['if (false) { continue; }'], - ['if (false) { break; }'], - ['function foo() { break; }'], - ['function foo() { continue; }'], - - // actually enforce break/continue depth argument - ['do { break 2; } while (true)'], - ['do { continue 2; } while (true)'], - ['for ($a; $b; $c) { break 2; }'], - ['for ($a; $b; $c) { continue 2; }'], - ['foreach ($a as $b) { break 2; }'], - ['foreach ($a as $b) { continue 2; }'], - ['switch (true) { default: break 2; }'], - ['switch (true) { default: continue 2; }'], - ['while (true) { break 2; }'], - ['while (true) { continue 2; }'], - - // In PHP 5.4+, only positive literal integers are allowed - ['while (true) { break $n; }'], - ['while (true) { continue $n; }'], - ['while (true) { break N; }'], - ['while (true) { continue N; }'], - ['while (true) { break 0; }'], - ['while (true) { continue 0; }'], - ['while (true) { break -1; }'], - ['while (true) { continue -1; }'], - ['while (true) { break 1.0; }'], - ['while (true) { continue 1.0; }'], - ['while (true) { break 2.0; }'], - ['while (true) { continue 2.0; }'], - - // and once with nested loops, just for good measure - ['while (true) { while (true) { break 3; } }'], - ['while (true) { while (true) { continue 3; } }'], - ]; - } - - /** - * @dataProvider validStatements - */ - public function testProcessStatementPasses($code) - { - $this->parseAndTraverse($code); - $this->assertTrue(true); - } - - public function validStatements() - { - return [ - ['do { break; } while (true)'], - ['do { continue; } while (true)'], - ['for ($a; $b; $c) { break; }'], - ['for ($a; $b; $c) { continue; }'], - ['foreach ($a as $b) { break; }'], - ['foreach ($a as $b) { continue; }'], - ['switch (true) { default: break; }'], - ['switch (true) { default: continue; }'], - ['while (true) { break; }'], - ['while (true) { continue; }'], - - // `break 1` is redundant, but not invalid - ['while (true) { break 1; }'], - ['while (true) { continue 1; }'], - - // and once with nested loops just for good measure - ['while (true) { while (true) { break 2; } }'], - ['while (true) { while (true) { continue 2; } }'], - ]; - } -} diff --git a/paragonik-backend/vendor/psy/psysh/test/CodeCleaner/MagicConstantsPassTest.php b/paragonik-backend/vendor/psy/psysh/test/CodeCleaner/MagicConstantsPassTest.php deleted file mode 100644 index 321ac6f..0000000 --- a/paragonik-backend/vendor/psy/psysh/test/CodeCleaner/MagicConstantsPassTest.php +++ /dev/null @@ -1,39 +0,0 @@ -setPass(new MagicConstantsPass()); - } - - /** - * @dataProvider magicConstants - */ - public function testProcess($from, $to) - { - $this->assertProcessesAs($from, $to); - } - - public function magicConstants() - { - return [ - ['__DIR__;', 'getcwd();'], - ['__FILE__;', "'';"], - ['___FILE___;', '___FILE___;'], - ]; - } -} diff --git a/paragonik-backend/vendor/psy/psysh/test/CodeCleaner/NamespacePassTest.php b/paragonik-backend/vendor/psy/psysh/test/CodeCleaner/NamespacePassTest.php deleted file mode 100644 index e8f0139..0000000 --- a/paragonik-backend/vendor/psy/psysh/test/CodeCleaner/NamespacePassTest.php +++ /dev/null @@ -1,59 +0,0 @@ -cleaner = new CodeCleaner(); - $this->setPass(new NamespacePass($this->cleaner)); - } - - public function testProcess() - { - $this->parseAndTraverse(''); - $this->assertNull($this->cleaner->getNamespace()); - - $this->parseAndTraverse('array_merge()'); - $this->assertNull($this->cleaner->getNamespace()); - - // A non-block namespace statement should set the current namespace. - $this->parseAndTraverse('namespace Alpha'); - $this->assertSame(['Alpha'], $this->cleaner->getNamespace()); - - // A new non-block namespace statement should override the current namespace. - $this->parseAndTraverse('namespace Beta; class B {}'); - $this->assertSame(['Beta'], $this->cleaner->getNamespace()); - - // A new block namespace clears out the current namespace... - $this->parseAndTraverse('namespace Gamma { array_merge(); }'); - - if (\defined('PhpParser\\Node\\Stmt\\Namespace_::KIND_SEMICOLON')) { - $this->assertNull($this->cleaner->getNamespace()); - } else { - // But not for PHP-Parser < v3.1.2 :( - $this->assertSame(['Gamma'], $this->cleaner->getNamespace()); - } - - $this->parseAndTraverse('namespace Delta'); - - // A null namespace clears out the current namespace. - $this->parseAndTraverse('namespace { array_merge(); }'); - $this->assertNull($this->cleaner->getNamespace()); - } -} diff --git a/paragonik-backend/vendor/psy/psysh/test/CodeCleaner/NoReturnValueTest.php b/paragonik-backend/vendor/psy/psysh/test/CodeCleaner/NoReturnValueTest.php deleted file mode 100644 index 11e9d01..0000000 --- a/paragonik-backend/vendor/psy/psysh/test/CodeCleaner/NoReturnValueTest.php +++ /dev/null @@ -1,32 +0,0 @@ -assertSame( - $this->prettyPrint($this->parse('new \\Psy\CodeCleaner\\NoReturnValue()')), - $this->prettyPrint([$stmt]) - ); - } -} diff --git a/paragonik-backend/vendor/psy/psysh/test/CodeCleaner/PassableByReferencePassTest.php b/paragonik-backend/vendor/psy/psysh/test/CodeCleaner/PassableByReferencePassTest.php deleted file mode 100644 index a73ad47..0000000 --- a/paragonik-backend/vendor/psy/psysh/test/CodeCleaner/PassableByReferencePassTest.php +++ /dev/null @@ -1,104 +0,0 @@ -setPass(new PassableByReferencePass()); - } - - /** - * @dataProvider invalidStatements - * @expectedException \Psy\Exception\FatalErrorException - */ - public function testProcessStatementFails($code) - { - $this->parseAndTraverse($code); - } - - public function invalidStatements() - { - return [ - ['array_pop(array())'], - ['array_pop(array($foo))'], - ['array_shift(array())'], - ]; - } - - /** - * @dataProvider validStatements - */ - public function testProcessStatementPasses($code) - { - $this->parseAndTraverse($code); - $this->assertTrue(true); - } - - public function validStatements() - { - return [ - ['array_pop(json_decode("[]"))'], - ['array_pop($foo)'], - ['array_pop($foo->bar)'], - ['array_pop($foo::baz)'], - ['array_pop(Foo::qux)'], - ]; - } - - /** - * @dataProvider validArrayMultisort - */ - public function testArrayMultisort($code) - { - $this->parseAndTraverse($code); - $this->assertTrue(true); - } - - public function validArrayMultisort() - { - return [ - ['array_multisort($a)'], - ['array_multisort($a, $b)'], - ['array_multisort($a, SORT_NATURAL, $b)'], - ['array_multisort($a, SORT_NATURAL | SORT_FLAG_CASE, $b)'], - ['array_multisort($a, SORT_ASC, SORT_NATURAL | SORT_FLAG_CASE, $b)'], - ['array_multisort($a, SORT_NATURAL | SORT_FLAG_CASE, SORT_ASC, $b)'], - ['array_multisort($a, $b, SORT_ASC, SORT_NATURAL | SORT_FLAG_CASE)'], - ['array_multisort($a, SORT_NATURAL | SORT_FLAG_CASE, $b, SORT_ASC, SORT_NATURAL | SORT_FLAG_CASE)'], - ['array_multisort($a, 1, $b)'], - ['array_multisort($a, 1 + 2, $b)'], - ['array_multisort($a, getMultisortFlags(), $b)'], - ]; - } - - /** - * @dataProvider invalidArrayMultisort - * @expectedException \Psy\Exception\FatalErrorException - */ - public function testInvalidArrayMultisort($code) - { - $this->parseAndTraverse($code); - } - - public function invalidArrayMultisort() - { - return [ - ['array_multisort(1)'], - ['array_multisort(array(1, 2, 3))'], - ['array_multisort($a, SORT_NATURAL, SORT_ASC, SORT_NATURAL, $b)'], - ]; - } -} diff --git a/paragonik-backend/vendor/psy/psysh/test/CodeCleaner/RequirePassTest.php b/paragonik-backend/vendor/psy/psysh/test/CodeCleaner/RequirePassTest.php deleted file mode 100644 index 6640e63..0000000 --- a/paragonik-backend/vendor/psy/psysh/test/CodeCleaner/RequirePassTest.php +++ /dev/null @@ -1,93 +0,0 @@ -setPass(new RequirePass()); - } - - /** - * @dataProvider exitStatements - */ - public function testExitStatement($from, $to) - { - $this->assertProcessesAs($from, $to); - } - - public function exitStatements() - { - $resolve = '\\Psy\\CodeCleaner\\RequirePass::resolve'; - - return [ - // The basics - ['require "a"', "require $resolve(\"a\", 1);"], - ['require "b.php"', "require $resolve(\"b.php\", 1);"], - ['require_once "c"', "require_once $resolve(\"c\", 1);"], - ['require_once "d.php"', "require_once $resolve(\"d.php\", 1);"], - - // Ensure that line numbers work correctly - ["null;\nrequire \"e.php\"", "null;\nrequire $resolve(\"e.php\", 2);"], - ["null;\nrequire_once \"f.php\"", "null;\nrequire_once $resolve(\"f.php\", 2);"], - - // Things with expressions - ['require $foo', "require $resolve(\$foo, 1);"], - ['require_once $foo', "require_once $resolve(\$foo, 1);"], - ['require ($bar = "g.php")', "require $resolve(\$bar = \"g.php\", 1);"], - ['require_once ($bar = "h.php")', "require_once $resolve(\$bar = \"h.php\", 1);"], - ['$bar = require ($baz = "i.php")', "\$bar = (require $resolve(\$baz = \"i.php\", 1));"], - ['$bar = require_once ($baz = "j.php")', "\$bar = (require_once $resolve(\$baz = \"j.php\", 1));"], - ]; - } - - /** - * @expectedException \Psy\Exception\FatalErrorException - * @expectedExceptionMessage Failed opening required 'not a file name' in eval()'d code on line 2 - */ - public function testResolve() - { - RequirePass::resolve('not a file name', 2); - } - - /** - * @dataProvider emptyWarnings - * - * @expectedException \Psy\Exception\ErrorException - * @expectedExceptionMessage Filename cannot be empty on line 1 - */ - public function testResolveEmptyWarnings($file) - { - if (!E_WARNING & \error_reporting()) { - $this->markTestSkipped(); - } - - RequirePass::resolve($file, 1); - } - - public function emptyWarnings() - { - return [ - [null], - [false], - [''], - ]; - } - - public function testResolveWorks() - { - $this->assertEquals(__FILE__, RequirePass::resolve(__FILE__, 3)); - } -} diff --git a/paragonik-backend/vendor/psy/psysh/test/CodeCleaner/StrictTypesPassTest.php b/paragonik-backend/vendor/psy/psysh/test/CodeCleaner/StrictTypesPassTest.php deleted file mode 100644 index 5418619..0000000 --- a/paragonik-backend/vendor/psy/psysh/test/CodeCleaner/StrictTypesPassTest.php +++ /dev/null @@ -1,52 +0,0 @@ -markTestSkipped(); - } - - $this->setPass(new StrictTypesPass()); - } - - public function testProcess() - { - $this->assertProcessesAs('declare(strict_types=1)', 'declare (strict_types=1);'); - $this->assertProcessesAs('null', "declare (strict_types=1);\nnull;"); - $this->assertProcessesAs('declare(strict_types=0)', 'declare (strict_types=0);'); - $this->assertProcessesAs('null', 'null;'); - } - - /** - * @dataProvider invalidDeclarations - * @expectedException \Psy\Exception\FatalErrorException - */ - public function testInvalidDeclarations($code) - { - $this->parseAndTraverse($code); - } - - public function invalidDeclarations() - { - return [ - ['declare(strict_types=-1)'], - ['declare(strict_types=2)'], - ['declare(strict_types="foo")'], - ]; - } -} diff --git a/paragonik-backend/vendor/psy/psysh/test/CodeCleaner/UseStatementPassTest.php b/paragonik-backend/vendor/psy/psysh/test/CodeCleaner/UseStatementPassTest.php deleted file mode 100644 index 4d5ac34..0000000 --- a/paragonik-backend/vendor/psy/psysh/test/CodeCleaner/UseStatementPassTest.php +++ /dev/null @@ -1,102 +0,0 @@ -setPass(new UseStatementPass()); - } - - /** - * @dataProvider useStatements - */ - public function testProcess($from, $to) - { - $this->assertProcessesAs($from, $to); - } - - public function useStatements() - { - return [ - [ - "use StdClass as NotSoStd;\n\$std = new NotSoStd();", - '$std = new \\StdClass();', - ], - [ - "namespace Foo;\n\nuse StdClass as S;\n\$std = new S();", - "namespace Foo;\n\n\$std = new \\StdClass();", - ], - [ - "namespace Foo;\n\nuse \\StdClass as S;\n\$std = new S();", - "namespace Foo;\n\n\$std = new \\StdClass();", - ], - [ - "use Foo\\Bar as fb;\n\$baz = new fb\\Baz();", - '$baz = new \\Foo\\Bar\\Baz();', - ], - [ - "use Foo\\Bar;\n\$baz = new Bar\\Baz();", - '$baz = new \\Foo\\Bar\\Baz();', - ], - [ - "namespace Foo;\nuse Bar;\n\$baz = new Bar\\Baz();", - "namespace Foo;\n\n\$baz = new \\Bar\\Baz();", - ], - [ - "namespace Foo;\n\nuse \\StdClass as S;\n\$std = new S();\nnamespace Foo;\n\n\$std = new S();", - "namespace Foo;\n\n\$std = new \\StdClass();\nnamespace Foo;\n\n\$std = new \\StdClass();", - ], - [ - "namespace Foo;\n\nuse \\StdClass as S;\n\$std = new S();\nnamespace Bar;\n\n\$std = new S();", - "namespace Foo;\n\n\$std = new \\StdClass();\nnamespace Bar;\n\n\$std = new S();", - ], - [ - "use Foo\\Bar as fb, Qux as Q;\n\$baz = new fb\\Baz();\n\$qux = new Q();", - "\$baz = new \\Foo\\Bar\\Baz();\n\$qux = new \\Qux();", - ], - ]; - } - - /** - * @dataProvider groupUseStatements - */ - public function testGroupUseProcess($from, $to) - { - $this->assertProcessesAs($from, $to); - } - - public function groupUseStatements() - { - if (\version_compare(PHP_VERSION, '7.0', '<')) { - $this->markTestSkipped(); - } - - return [ - [ - "use Foo\\{Bar, Baz, Qux as Q};\n\$bar = new Bar();\n\$baz = new Baz();\n\$qux = new Q();", - "\$bar = new \\Foo\\Bar();\n\$baz = new \\Foo\\Baz();\n\$qux = new \\Foo\\Qux();", - ], - [ - "use X\\{Foo, Bar as B};\n\$foo = new Foo();\n\$baz = new B\\Baz();", - "\$foo = new \\X\\Foo();\n\$baz = new \\X\\Bar\\Baz();", - ], - [ - "use X\\{Foo, Bar as B};\n\$foo = new Foo();\n\$bar = new Bar();\n\$baz = new B\\Baz();", - "\$foo = new \\X\\Foo();\n\$bar = new Bar();\n\$baz = new \\X\\Bar\\Baz();", - ], - ]; - } -} diff --git a/paragonik-backend/vendor/psy/psysh/test/CodeCleaner/ValidClassNamePassTest.php b/paragonik-backend/vendor/psy/psysh/test/CodeCleaner/ValidClassNamePassTest.php deleted file mode 100644 index 2d9ed60..0000000 --- a/paragonik-backend/vendor/psy/psysh/test/CodeCleaner/ValidClassNamePassTest.php +++ /dev/null @@ -1,325 +0,0 @@ -setPass(new ValidClassNamePass()); - } - - /** - * @dataProvider getInvalid - * @expectedException \Psy\Exception\FatalErrorException - */ - public function testProcessInvalid($code) - { - $this->parseAndTraverse($code); - } - - public function getInvalid() - { - // class declarations - return [ - // core class - ['class stdClass {}'], - // capitalization - ['class stdClass {}'], - - // collisions with interfaces and traits - ['interface stdClass {}'], - ['trait stdClass {}'], - - // collisions inside the same code snippet - [' - class Psy_Test_CodeCleaner_ValidClassNamePass_Alpha {} - class Psy_Test_CodeCleaner_ValidClassNamePass_Alpha {} - '], - [' - class Psy_Test_CodeCleaner_ValidClassNamePass_Alpha {} - trait Psy_Test_CodeCleaner_ValidClassNamePass_Alpha {} - '], - [' - trait Psy_Test_CodeCleaner_ValidClassNamePass_Alpha {} - class Psy_Test_CodeCleaner_ValidClassNamePass_Alpha {} - '], - [' - trait Psy_Test_CodeCleaner_ValidClassNamePass_Alpha {} - interface Psy_Test_CodeCleaner_ValidClassNamePass_Alpha {} - '], - [' - interface Psy_Test_CodeCleaner_ValidClassNamePass_Alpha {} - trait Psy_Test_CodeCleaner_ValidClassNamePass_Alpha {} - '], - [' - interface Psy_Test_CodeCleaner_ValidClassNamePass_Alpha {} - class Psy_Test_CodeCleaner_ValidClassNamePass_Alpha {} - '], - [' - class Psy_Test_CodeCleaner_ValidClassNamePass_Alpha {} - interface Psy_Test_CodeCleaner_ValidClassNamePass_Alpha {} - '], - - // namespaced collisions - [' - namespace Psy\\Test\\CodeCleaner { - class ValidClassNamePassTest {} - } - '], - [' - namespace Psy\\Test\\CodeCleaner\\ValidClassNamePass { - class Beta {} - } - namespace Psy\\Test\\CodeCleaner\\ValidClassNamePass { - class Beta {} - } - '], - - // extends and implements - ['class ValidClassNamePassTest extends NotAClass {}'], - ['class ValidClassNamePassTest extends ArrayAccess {}'], - ['class ValidClassNamePassTest implements stdClass {}'], - ['class ValidClassNamePassTest implements ArrayAccess, stdClass {}'], - ['interface ValidClassNamePassTest extends stdClass {}'], - ['interface ValidClassNamePassTest extends ArrayAccess, stdClass {}'], - - // class instantiations - ['new Psy_Test_CodeCleaner_ValidClassNamePass_Gamma();'], - [' - namespace Psy\\Test\\CodeCleaner\\ValidClassNamePass { - new Psy_Test_CodeCleaner_ValidClassNamePass_Delta(); - } - '], - - // class constant fetch - ['Psy\\Test\\CodeCleaner\\ValidClassNamePass\\NotAClass::FOO'], - - // static call - ['Psy\\Test\\CodeCleaner\\ValidClassNamePass\\NotAClass::foo()'], - ['Psy\\Test\\CodeCleaner\\ValidClassNamePass\\NotAClass::$foo()'], - ['Psy\\Test\\CodeCleaner\\ValidClassNamePassTest::notAMethod()'], - ]; - } - - /** - * @dataProvider getValid - */ - public function testProcessValid($code) - { - $this->parseAndTraverse($code); - $this->assertTrue(true); - } - - public function getValid() - { - $valid = [ - // class declarations - ['class Psy_Test_CodeCleaner_ValidClassNamePass_Epsilon {}'], - ['namespace Psy\Test\CodeCleaner\ValidClassNamePass; class Zeta {}'], - [' - namespace { class Psy_Test_CodeCleaner_ValidClassNamePass_Eta {}; } - namespace Psy\\Test\\CodeCleaner\\ValidClassNamePass { - class Psy_Test_CodeCleaner_ValidClassNamePass_Eta {} - } - '], - ['namespace Psy\Test\CodeCleaner\ValidClassNamePass { class stdClass {} }'], - - // class instantiations - ['new stdClass();'], - ['new stdClass();'], - [' - namespace Psy\\Test\\CodeCleaner\\ValidClassNamePass { - class Theta {} - } - namespace Psy\\Test\\CodeCleaner\\ValidClassNamePass { - new Theta(); - } - '], - [' - namespace Psy\\Test\\CodeCleaner\\ValidClassNamePass { - class Iota {} - new Iota(); - } - '], - [' - namespace Psy\\Test\\CodeCleaner\\ValidClassNamePass { - class Kappa {} - } - namespace { - new \\Psy\\Test\\CodeCleaner\\ValidClassNamePass\\Kappa(); - } - '], - - // Class constant fetch (ValidConstantPassTest validates the actual constant) - ['class A {} A::FOO'], - ['$a = new DateTime; $a::ATOM'], - ['interface A { const B = 1; } A::B'], - - // static call - ['DateTime::createFromFormat()'], - ['DateTime::$someMethod()'], - ['Psy\Test\CodeCleaner\Fixtures\ClassWithStatic::doStuff()'], - ['Psy\Test\CodeCleaner\Fixtures\ClassWithCallStatic::doStuff()'], - ['Psy\Test\CodeCleaner\Fixtures\TraitWithStatic::doStuff()'], - - // Allow `self` and `static` as class names. - [' - class Psy_Test_CodeCleaner_ValidClassNamePass_ClassWithStatic { - public static function getInstance() { - return new self(); - } - } - '], - [' - class Psy_Test_CodeCleaner_ValidClassNamePass_ClassWithStatic { - public static function getInstance() { - return new SELF(); - } - } - '], - [' - class Psy_Test_CodeCleaner_ValidClassNamePass_ClassWithStatic { - public static function getInstance() { - return new self; - } - } - '], - [' - class Psy_Test_CodeCleaner_ValidClassNamePass_ClassWithStatic { - public static function getInstance() { - return new static(); - } - } - '], - [' - class Psy_Test_CodeCleaner_ValidClassNamePass_ClassWithStatic { - public static function getInstance() { - return new Static(); - } - } - '], - [' - class Psy_Test_CodeCleaner_ValidClassNamePass_ClassWithStatic { - public static function getInstance() { - return new static; - } - } - '], - [' - class Psy_Test_CodeCleaner_ValidClassNamePass_ClassWithStatic { - public static function foo() { - return parent::bar(); - } - } - '], - [' - class Psy_Test_CodeCleaner_ValidClassNamePass_ClassWithStatic { - public static function foo() { - return self::bar(); - } - } - '], - [' - class Psy_Test_CodeCleaner_ValidClassNamePass_ClassWithStatic { - public static function foo() { - return static::bar(); - } - } - '], - - ['class A { static function b() { return new A; } }'], - [' - class A { - const B = 123; - function c() { - return A::B; - } - } - '], - ['class A {} class B { function c() { return new A; } }'], - - // recursion - ['class A { function a() { A::a(); } }'], - - // conditionally defined classes - [' - class A {} - if (false) { - class A {} - } - '], - [' - class A {} - if (true) { - class A {} - } else if (false) { - class A {} - } else { - class A {} - } - '], - // ewww - [' - class A {} - if (true): - class A {} - elseif (false): - class A {} - else: - class A {} - endif; - '], - [' - class A {} - while (false) { class A {} } - '], - [' - class A {} - do { class A {} } while (false); - '], - [' - class A {} - switch (1) { - case 0: - class A {} - break; - case 1: - class A {} - break; - case 2: - class A {} - break; - } - '], - ]; - - // Ugh. There's gotta be a better way to test for this. - if (\class_exists('PhpParser\ParserFactory')) { - // PHP 7.0 anonymous classes, only supported by PHP Parser v2.x - $valid[] = ['$obj = new class() {}']; - } - - if (\version_compare(PHP_VERSION, '5.5', '>=')) { - $valid[] = ['interface A {} A::class']; - $valid[] = ['interface A {} A::CLASS']; - $valid[] = ['class A {} A::class']; - $valid[] = ['class A {} A::CLASS']; - $valid[] = ['A::class']; - $valid[] = ['A::CLASS']; - } - - return $valid; - } -} diff --git a/paragonik-backend/vendor/psy/psysh/test/CodeCleaner/ValidConstantPassTest.php b/paragonik-backend/vendor/psy/psysh/test/CodeCleaner/ValidConstantPassTest.php deleted file mode 100644 index a6c52e0..0000000 --- a/paragonik-backend/vendor/psy/psysh/test/CodeCleaner/ValidConstantPassTest.php +++ /dev/null @@ -1,65 +0,0 @@ -setPass(new ValidConstantPass()); - } - - /** - * @dataProvider getInvalidReferences - * @expectedException \Psy\Exception\FatalErrorException - */ - public function testProcessInvalidConstantReferences($code) - { - $this->parseAndTraverse($code); - } - - public function getInvalidReferences() - { - return [ - ['Foo\BAR'], - - // class constant fetch - ['Psy\Test\CodeCleaner\ValidConstantPassTest::FOO'], - ['DateTime::BACON'], - ]; - } - - /** - * @dataProvider getValidReferences - */ - public function testProcessValidConstantReferences($code) - { - $this->parseAndTraverse($code); - $this->assertTrue(true); - } - - public function getValidReferences() - { - return [ - ['PHP_EOL'], - - // class constant fetch - ['NotAClass::FOO'], - ['DateTime::ATOM'], - ['$a = new DateTime; $a::ATOM'], - ['DateTime::class'], - ['$a = new DateTime; $a::class'], - ]; - } -} diff --git a/paragonik-backend/vendor/psy/psysh/test/CodeCleaner/ValidConstructorPassTest.php b/paragonik-backend/vendor/psy/psysh/test/CodeCleaner/ValidConstructorPassTest.php deleted file mode 100644 index 4f7e40c..0000000 --- a/paragonik-backend/vendor/psy/psysh/test/CodeCleaner/ValidConstructorPassTest.php +++ /dev/null @@ -1,93 +0,0 @@ -setPass(new ValidConstructorPass()); - } - - /** - * @dataProvider invalidStatements - * @expectedException \Psy\Exception\FatalErrorException - */ - public function testProcessInvalidStatement($code) - { - $this->parseAndTraverse($code); - } - - /** - * @dataProvider invalidParserStatements - * @expectedException \Psy\Exception\ParseErrorException - */ - public function testProcessInvalidStatementCatchedByParser($code) - { - $this->parseAndTraverse($code); - } - - public function invalidStatements() - { - $data = [ - ['class A { public static function A() {}}'], - ['class A { public static function a() {}}'], - ['class A { private static function A() {}}'], - ['class A { private static function a() {}}'], - ]; - - if (\version_compare(PHP_VERSION, '7.0', '>=')) { - $data[] = ['class A { public function A(): ?array {}}']; - $data[] = ['class A { public function a(): ?array {}}']; - } - - return $data; - } - - public function invalidParserStatements() - { - return [ - ['class A { public static function __construct() {}}'], - ['class A { private static function __construct() {}}'], - ['class A { private static function __construct() {} public function A() {}}'], - ['namespace B; class A { private static function __construct() {}}'], - ]; - } - - /** - * @dataProvider validStatements - */ - public function testProcessValidStatement($code) - { - $this->parseAndTraverse($code); - $this->assertTrue(true); - } - - public function validStatements() - { - $data = [ - ['class A { public static function A() {} public function __construct() {}}'], - ['class A { private function __construct() {} public static function A() {}}'], - ['namespace B; class A { private static function A() {}}'], - ]; - - if (\version_compare(PHP_VERSION, '7.0', '>=')) { - $data[] = ['class A { public static function A() {} public function __construct() {}}']; - $data[] = ['class A { private function __construct() {} public static function A(): ?array {}}']; - $data[] = ['namespace B; class A { private static function A(): ?array {}}']; - } - - return $data; - } -} diff --git a/paragonik-backend/vendor/psy/psysh/test/CodeCleaner/ValidFunctionNamePassTest.php b/paragonik-backend/vendor/psy/psysh/test/CodeCleaner/ValidFunctionNamePassTest.php deleted file mode 100644 index 70a1731..0000000 --- a/paragonik-backend/vendor/psy/psysh/test/CodeCleaner/ValidFunctionNamePassTest.php +++ /dev/null @@ -1,180 +0,0 @@ -setPass(new ValidFunctionNamePass()); - } - - /** - * @dataProvider getInvalidFunctions - * @expectedException \Psy\Exception\FatalErrorException - */ - public function testProcessInvalidFunctionCallsAndDeclarations($code) - { - $this->parseAndTraverse($code); - } - - public function getInvalidFunctions() - { - return [ - // function declarations - ['function array_merge() {}'], - ['function Array_Merge() {}'], - [' - function psy_test_codecleaner_validfunctionnamepass_alpha() {} - function psy_test_codecleaner_validfunctionnamepass_alpha() {} - '], - [' - namespace Psy\\Test\\CodeCleaner\\ValidFunctionNamePass { - function beta() {} - } - namespace Psy\\Test\\CodeCleaner\\ValidFunctionNamePass { - function beta() {} - } - '], - - // function calls - ['psy_test_codecleaner_validfunctionnamepass_gamma()'], - [' - namespace Psy\\Test\\CodeCleaner\\ValidFunctionNamePass { - delta(); - } - '], - - // recursion - ['function a() { a(); } function a() {}'], - ]; - } - - /** - * @dataProvider getValidFunctions - */ - public function testProcessValidFunctionCallsAndDeclarations($code) - { - $this->parseAndTraverse($code); - $this->assertTrue(true); - } - - public function getValidFunctions() - { - return [ - ['function psy_test_codecleaner_validfunctionnamepass_epsilon() {}'], - [' - namespace Psy\\Test\\CodeCleaner\\ValidFunctionNamePass { - function zeta() {} - } - '], - [' - namespace { - function psy_test_codecleaner_validfunctionnamepass_eta() {} - } - namespace Psy\\Test\\CodeCleaner\\ValidFunctionNamePass { - function psy_test_codecleaner_validfunctionnamepass_eta() {} - } - '], - [' - namespace Psy\\Test\\CodeCleaner\\ValidFunctionNamePass { - function psy_test_codecleaner_validfunctionnamepass_eta() {} - } - namespace { - function psy_test_codecleaner_validfunctionnamepass_eta() {} - } - '], - [' - namespace Psy\\Test\\CodeCleaner\\ValidFunctionNamePass { - function array_merge() {} - } - '], - - // function calls - ['array_merge();'], - [' - namespace Psy\\Test\\CodeCleaner\\ValidFunctionNamePass { - function theta() {} - } - namespace Psy\\Test\\CodeCleaner\\ValidFunctionNamePass { - theta(); - } - '], - // closures - ['$test = function(){};$test()'], - [' - namespace Psy\\Test\\CodeCleaner\\ValidFunctionNamePass { - function theta() {} - } - namespace { - Psy\\Test\\CodeCleaner\\ValidFunctionNamePass\\theta(); - } - '], - - // recursion - ['function a() { a(); }'], - - // conditionally defined functions - [' - function a() {} - if (false) { - function a() {} - } - '], - [' - function a() {} - if (true) { - function a() {} - } else if (false) { - function a() {} - } else { - function a() {} - } - '], - // ewww - [' - function a() {} - if (true): - function a() {} - elseif (false): - function a() {} - else: - function a() {} - endif; - '], - [' - function a() {} - while (false) { function a() {} } - '], - [' - function a() {} - do { function a() {} } while (false); - '], - [' - function a() {} - switch (1) { - case 0: - function a() {} - break; - case 1: - function a() {} - break; - case 2: - function a() {} - break; - } - '], - ]; - } -} diff --git a/paragonik-backend/vendor/psy/psysh/test/CodeCleanerTest.php b/paragonik-backend/vendor/psy/psysh/test/CodeCleanerTest.php deleted file mode 100644 index 2195a4f..0000000 --- a/paragonik-backend/vendor/psy/psysh/test/CodeCleanerTest.php +++ /dev/null @@ -1,131 +0,0 @@ -assertSame($expected, $cc->clean($lines, $requireSemicolons)); - } - - public function semicolonCodeProvider() - { - return [ - [['true'], false, 'return true;'], - [['true;'], false, 'return true;'], - [['true;'], true, 'return true;'], - [['true'], true, false], - - [['echo "foo";', 'true'], true, false], - - [['echo "foo";', 'true'], false, "echo \"foo\";\nreturn true;"], - ]; - } - - /** - * @dataProvider unclosedStatementsProvider - */ - public function testUnclosedStatements(array $lines, $isUnclosed) - { - $cc = new CodeCleaner(); - $res = $cc->clean($lines); - - if ($isUnclosed) { - $this->assertFalse($res); - } else { - $this->assertNotFalse($res); - } - } - - public function unclosedStatementsProvider() - { - return [ - [['echo "'], true], - [['echo \''], true], - [['if (1) {'], true], - - [['echo "foo",'], true], - - [['echo ""'], false], - [["echo ''"], false], - [['if (1) {}'], false], - - [['// closed comment'], false], - [['function foo() { /**'], true], - - [['var_dump(1, 2,'], true], - [['var_dump(1, 2,', '3)'], false], - ]; - } - - /** - * @dataProvider moreUnclosedStatementsProvider - */ - public function testMoreUnclosedStatements(array $lines) - { - if (\defined('HHVM_VERSION')) { - $this->markTestSkipped('HHVM not supported.'); - } - - $cc = new CodeCleaner(); - $res = $cc->clean($lines); - - $this->assertFalse($res); - } - - public function moreUnclosedStatementsProvider() - { - return [ - [["\$content = <<clean([$code]); - } - - public function invalidStatementsProvider() - { - // n.b. We used to check that `var_dump(1,2,)` failed, but PHP Parser - // 4.x backported trailing comma function calls from PHP 7.3 for free! - // so we're not going to spend too much time worrying about it :) - - return [ - ['function "what'], - ["function 'what"], - ['echo }'], - ['echo {'], - ['if (1) }'], - ['echo """'], - ["echo '''"], - ['$foo "bar'], - ['$foo \'bar'], - ]; - } -} diff --git a/paragonik-backend/vendor/psy/psysh/test/Command/ExitCommandTest.php b/paragonik-backend/vendor/psy/psysh/test/Command/ExitCommandTest.php deleted file mode 100644 index 45626be..0000000 --- a/paragonik-backend/vendor/psy/psysh/test/Command/ExitCommandTest.php +++ /dev/null @@ -1,29 +0,0 @@ -execute([]); - } -} diff --git a/paragonik-backend/vendor/psy/psysh/test/Command/ThrowUpCommandTest.php b/paragonik-backend/vendor/psy/psysh/test/Command/ThrowUpCommandTest.php deleted file mode 100644 index 511c580..0000000 --- a/paragonik-backend/vendor/psy/psysh/test/Command/ThrowUpCommandTest.php +++ /dev/null @@ -1,89 +0,0 @@ -getMockBuilder('Psy\\Shell') - ->setMethods(['hasCode', 'addCode']) - ->getMock(); - - $shell->expects($this->once())->method('hasCode')->willReturn($hasCode); - $shell->expects($this->once()) - ->method('addCode') - ->with($this->equalTo($expect), $this->equalTo($addSilent)); - - $command = new ThrowUpCommand(); - $command->setApplication($shell); - $tester = new CommandTester($command); - $tester->execute($args); - $this->assertEquals('', $tester->getDisplay()); - } - - public function executeThis() - { - $throw = 'throw \Psy\Exception\ThrowUpException::fromThrowable'; - - return [ - [[], false, $throw . '($_e);'], - - [['exception' => '$ex'], false, $throw . '($ex);'], - [['exception' => 'getException()'], false, $throw . '(getException());'], - [['exception' => 'new \\Exception("WAT")'], false, $throw . '(new \\Exception("WAT"));'], - - [['exception' => '\'some string\''], false, $throw . '(new \\Exception(\'some string\'));'], - [['exception' => '"WHEEEEEEE!"'], false, $throw . '(new \\Exception("WHEEEEEEE!"));'], - - // Everything should work with or without semicolons. - [['exception' => '$ex;'], false, $throw . '($ex);'], - [['exception' => '"WHEEEEEEE!";'], false, $throw . '(new \\Exception("WHEEEEEEE!"));'], - - // Don't add as silent code if we've already got code. - [[], true, $throw . '($_e);', false], - [['exception' => 'getException()'], true, $throw . '(getException());', false], - [['exception' => '\'some string\''], true, $throw . '(new \\Exception(\'some string\'));', false], - ]; - } - - /** - * @expectedException \InvalidArgumentException - * @expectedExceptionMessage No idea how to throw this - */ - public function testMultipleArgsThrowsException() - { - $command = new ThrowUpCommand(); - $command->setApplication(new Shell()); - $tester = new CommandTester($command); - $tester->execute(['exception' => 'foo(); bar()']); - } - - /** - * @expectedException \PhpParser\Error - * @expectedExceptionMessage Syntax error, unexpected ')' on line 1 - */ - public function testParseErrorThrowsException() - { - $command = new ThrowUpCommand(); - $command->setApplication(new Shell()); - $tester = new CommandTester($command); - $tester->execute(['exception' => 'foo)']); - } -} diff --git a/paragonik-backend/vendor/psy/psysh/test/Command/TimeitCommand/TimeitVisitorTest.php b/paragonik-backend/vendor/psy/psysh/test/Command/TimeitCommand/TimeitVisitorTest.php deleted file mode 100644 index 1f31735..0000000 --- a/paragonik-backend/vendor/psy/psysh/test/Command/TimeitCommand/TimeitVisitorTest.php +++ /dev/null @@ -1,52 +0,0 @@ -traverser = new NodeTraverser(); - $this->traverser->addVisitor(new TimeitVisitor()); - } - - /** - * @dataProvider codez - */ - public function testProcess($from, $to) - { - $this->assertProcessesAs($from, $to); - } - - public function codez() - { - $start = '\Psy\Command\TimeitCommand::markStart'; - $end = '\Psy\Command\TimeitCommand::markEnd'; - $noReturn = 'new \Psy\CodeCleaner\NoReturnValue()'; - - return [ - ['', "$end($start());"], // heh - ['a()', "$start(); $end(a());"], - ['$b()', "$start(); $end(\$b());"], - ['$c->d()', "$start(); $end(\$c->d());"], - ['e(); f()', "$start(); e(); $end(f());"], - ['function g() { return 1; }', "$start(); function g() {return 1;} $end($noReturn);"], - ['return 1', "$start(); return $end(1);"], - ['return 1; 2', "$start(); return $end(1); $end(2);"], - ['return 1; function h() {}', "$start(); return $end(1); function h() {} $end($noReturn);"], - ]; - } -} diff --git a/paragonik-backend/vendor/psy/psysh/test/ConfigurationTest.php b/paragonik-backend/vendor/psy/psysh/test/ConfigurationTest.php deleted file mode 100644 index b7b6c0c..0000000 --- a/paragonik-backend/vendor/psy/psysh/test/ConfigurationTest.php +++ /dev/null @@ -1,256 +0,0 @@ - $configFile ?: __DIR__ . '/fixtures/empty.php', - ]); - } - - public function testDefaults() - { - $config = $this->getConfig(); - - $this->assertSame(\function_exists('readline'), $config->hasReadline()); - $this->assertSame(\function_exists('readline'), $config->useReadline()); - $this->assertSame(\function_exists('pcntl_signal'), $config->hasPcntl()); - $this->assertSame(\function_exists('pcntl_signal'), $config->usePcntl()); - $this->assertFalse($config->requireSemicolons()); - $this->assertSame(Configuration::COLOR_MODE_AUTO, $config->colorMode()); - $this->assertNull($config->getStartupMessage()); - } - - public function testGettersAndSetters() - { - $config = $this->getConfig(); - - $this->assertNull($config->getDataDir()); - $config->setDataDir('wheee'); - $this->assertSame('wheee', $config->getDataDir()); - - $this->assertNull($config->getConfigDir()); - $config->setConfigDir('wheee'); - $this->assertSame('wheee', $config->getConfigDir()); - } - - /** - * @dataProvider directories - */ - public function testFilesAndDirectories($home, $configFile, $historyFile, $manualDbFile) - { - $oldHome = \getenv('HOME'); - \putenv("HOME=$home"); - - $config = new Configuration(); - $this->assertSame(\realpath($configFile), \realpath($config->getConfigFile())); - $this->assertSame(\realpath($historyFile), \realpath($config->getHistoryFile())); - $this->assertSame(\realpath($manualDbFile), \realpath($config->getManualDbFile())); - - \putenv("HOME=$oldHome"); - } - - public function directories() - { - $base = \realpath(__DIR__ . '/fixtures'); - - return [ - [ - $base . '/default', - $base . '/default/.config/psysh/config.php', - $base . '/default/.config/psysh/psysh_history', - $base . '/default/.local/share/psysh/php_manual.sqlite', - ], - [ - $base . '/legacy', - $base . '/legacy/.psysh/rc.php', - $base . '/legacy/.psysh/history', - $base . '/legacy/.psysh/php_manual.sqlite', - ], - [ - $base . '/mixed', - $base . '/mixed/.psysh/config.php', - $base . '/mixed/.psysh/psysh_history', - null, - ], - ]; - } - - public function testLoadConfig() - { - $config = $this->getConfig(); - $cleaner = new CodeCleaner(); - $pager = new PassthruPager(new ConsoleOutput()); - - $config->loadConfig([ - 'useReadline' => false, - 'usePcntl' => false, - 'codeCleaner' => $cleaner, - 'pager' => $pager, - 'requireSemicolons' => true, - 'errorLoggingLevel' => E_ERROR | E_WARNING, - 'colorMode' => Configuration::COLOR_MODE_FORCED, - 'startupMessage' => 'Psysh is awesome!', - ]); - - $this->assertFalse($config->useReadline()); - $this->assertFalse($config->usePcntl()); - $this->assertSame($cleaner, $config->getCodeCleaner()); - $this->assertSame($pager, $config->getPager()); - $this->assertTrue($config->requireSemicolons()); - $this->assertSame(E_ERROR | E_WARNING, $config->errorLoggingLevel()); - $this->assertSame(Configuration::COLOR_MODE_FORCED, $config->colorMode()); - $this->assertSame('Psysh is awesome!', $config->getStartupMessage()); - } - - public function testLoadConfigFile() - { - $config = $this->getConfig(__DIR__ . '/fixtures/config.php'); - - $runtimeDir = $this->joinPath(\realpath(\sys_get_temp_dir()), 'psysh_test', 'withconfig', 'temp'); - - $this->assertStringStartsWith($runtimeDir, \realpath($config->getTempFile('foo', 123))); - $this->assertStringStartsWith($runtimeDir, \realpath(\dirname($config->getPipe('pipe', 123)))); - $this->assertStringStartsWith($runtimeDir, \realpath($config->getRuntimeDir())); - - $this->assertSame(\function_exists('readline'), $config->useReadline()); - $this->assertFalse($config->usePcntl()); - $this->assertSame(E_ALL & ~E_NOTICE, $config->errorLoggingLevel()); - } - - public function testLoadLocalConfigFile() - { - $oldPwd = \getcwd(); - \chdir(\realpath(__DIR__ . '/fixtures/project/')); - - $config = new Configuration(); - - // When no configuration file is specified local project config is merged - $this->assertTrue($config->requireSemicolons()); - $this->assertFalse($config->useUnicode()); - - $config = new Configuration(['configFile' => __DIR__ . '/fixtures/config.php']); - - // Defining a configuration file skips loading local project config - $this->assertFalse($config->requireSemicolons()); - $this->assertTrue($config->useUnicode()); - - \chdir($oldPwd); - } - - /** - * @expectedException \Psy\Exception\DeprecatedException - */ - public function testBaseDirConfigIsDeprecated() - { - $config = new Configuration(['baseDir' => 'fake']); - } - - private function joinPath() - { - return \implode(DIRECTORY_SEPARATOR, \func_get_args()); - } - - public function testConfigIncludes() - { - $config = new Configuration([ - 'defaultIncludes' => ['/file.php'], - 'configFile' => __DIR__ . '/fixtures/empty.php', - ]); - - $includes = $config->getDefaultIncludes(); - $this->assertCount(1, $includes); - $this->assertSame('/file.php', $includes[0]); - } - - public function testGetOutput() - { - $config = $this->getConfig(); - $output = $config->getOutput(); - - $this->assertInstanceOf('Psy\Output\ShellOutput', $output); - } - - public function getOutputDecoratedProvider() - { - return [ - 'auto' => [ - null, - Configuration::COLOR_MODE_AUTO, - ], - 'forced' => [ - true, - Configuration::COLOR_MODE_FORCED, - ], - 'disabled' => [ - false, - Configuration::COLOR_MODE_DISABLED, - ], - ]; - } - - /** @dataProvider getOutputDecoratedProvider */ - public function testGetOutputDecorated($expectation, $colorMode) - { - $config = $this->getConfig(); - $config->setColorMode($colorMode); - - $this->assertSame($expectation, $config->getOutputDecorated()); - } - - public function setColorModeValidProvider() - { - return [ - 'auto' => [Configuration::COLOR_MODE_AUTO], - 'forced' => [Configuration::COLOR_MODE_FORCED], - 'disabled' => [Configuration::COLOR_MODE_DISABLED], - ]; - } - - /** @dataProvider setColorModeValidProvider */ - public function testSetColorModeValid($colorMode) - { - $config = $this->getConfig(); - $config->setColorMode($colorMode); - - $this->assertSame($colorMode, $config->colorMode()); - } - - /** - * @expectedException \InvalidArgumentException - * @expectedExceptionMessage invalid color mode: some invalid mode - */ - public function testSetColorModeInvalid() - { - $config = $this->getConfig(); - $config->setColorMode('some invalid mode'); - } - - public function testSetCheckerValid() - { - $config = $this->getConfig(); - $checker = new GitHubChecker(); - - $config->setChecker($checker); - - $this->assertSame($checker, $config->getChecker()); - } -} diff --git a/paragonik-backend/vendor/psy/psysh/test/ConsoleColorFactoryTest.php b/paragonik-backend/vendor/psy/psysh/test/ConsoleColorFactoryTest.php deleted file mode 100644 index d58a48d..0000000 --- a/paragonik-backend/vendor/psy/psysh/test/ConsoleColorFactoryTest.php +++ /dev/null @@ -1,51 +0,0 @@ -getConsoleColor(); - $themes = $colors->getThemes(); - - $this->assertFalse($colors->isStyleForced()); - $this->assertSame(['blue'], $themes['line_number']); - } - - public function testGetConsoleColorForced() - { - $colorMode = Configuration::COLOR_MODE_FORCED; - $factory = new ConsoleColorFactory($colorMode); - $colors = $factory->getConsoleColor(); - $themes = $colors->getThemes(); - - $this->assertTrue($colors->isStyleForced()); - $this->assertSame(['blue'], $themes['line_number']); - } - - public function testGetConsoleColorDisabled() - { - $colorMode = Configuration::COLOR_MODE_DISABLED; - $factory = new ConsoleColorFactory($colorMode); - $colors = $factory->getConsoleColor(); - $themes = $colors->getThemes(); - - $this->assertFalse($colors->isStyleForced()); - $this->assertSame(['none'], $themes['line_number']); - } -} diff --git a/paragonik-backend/vendor/psy/psysh/test/ContextTest.php b/paragonik-backend/vendor/psy/psysh/test/ContextTest.php deleted file mode 100644 index d193703..0000000 --- a/paragonik-backend/vendor/psy/psysh/test/ContextTest.php +++ /dev/null @@ -1,325 +0,0 @@ -assertTrue(true); - } - - public function testGetAll() - { - $this->assertTrue(true); - } - - public function testGetSpecialVariables() - { - $context = new Context(); - - $this->assertNull($context->get('_')); - $this->assertNull($context->getReturnValue()); - - $this->assertEquals(['_' => null], $context->getAll()); - - $e = new \Exception('eeeeeee'); - $obj = new \StdClass(); - $context->setLastException($e); - $context->setLastStdout('out'); - $context->setBoundObject($obj); - - $context->setCommandScopeVariables([ - '__function' => 'function', - '__method' => 'method', - '__class' => 'class', - '__namespace' => 'namespace', - '__file' => 'file', - '__line' => 'line', - '__dir' => 'dir', - ]); - - $expected = [ - '_' => null, - '_e' => $e, - '__out' => 'out', - 'this' => $obj, - '__function' => 'function', - '__method' => 'method', - '__class' => 'class', - '__namespace' => 'namespace', - '__file' => 'file', - '__line' => 'line', - '__dir' => 'dir', - ]; - - $this->assertEquals($expected, $context->getAll()); - } - - public function testSetAll() - { - $context = new Context(); - - $baz = new \StdClass(); - $vars = [ - 'foo' => 'Foo', - 'bar' => 123, - 'baz' => $baz, - - '_' => 'fail', - '_e' => 'fail', - '__out' => 'fail', - 'this' => 'fail', - '__psysh__' => 'fail', - - '__function' => 'fail', - '__method' => 'fail', - '__class' => 'fail', - '__namespace' => 'fail', - '__file' => 'fail', - '__line' => 'fail', - '__dir' => 'fail', - ]; - - $context->setAll($vars); - - $this->assertEquals('Foo', $context->get('foo')); - $this->assertEquals(123, $context->get('bar')); - $this->assertSame($baz, $context->get('baz')); - - $this->assertEquals(['foo' => 'Foo', 'bar' => 123, 'baz' => $baz, '_' => null], $context->getAll()); - } - - /** - * @dataProvider specialNames - * @expectedException \InvalidArgumentException - * @expectedExceptionMessageRegEx /Unknown variable: \$\w+/ - */ - public function testSetAllDoesNotSetSpecial($name) - { - $context = new Context(); - $context->setAll([$name => 'fail']); - $context->get($name); - } - - public function specialNames() - { - return [ - ['_e'], - ['__out'], - ['this'], - ['__psysh__'], - ['__function'], - ['__method'], - ['__class'], - ['__namespace'], - ['__file'], - ['__line'], - ['__dir'], - ]; - } - - public function testReturnValue() - { - $context = new Context(); - $this->assertNull($context->getReturnValue()); - - $val = 'some string'; - $context->setReturnValue($val); - $this->assertEquals($val, $context->getReturnValue()); - $this->assertEquals($val, $context->get('_')); - - $obj = new \StdClass(); - $context->setReturnValue($obj); - $this->assertSame($obj, $context->getReturnValue()); - $this->assertSame($obj, $context->get('_')); - - $context->setReturnValue(null); - $this->assertNull($context->getReturnValue()); - } - - public function testLastException() - { - $context = new Context(); - $e = new \Exception('wat'); - $context->setLastException($e); - $this->assertSame($e, $context->getLastException()); - $this->assertSame($e, $context->get('_e')); - } - - /** - * @expectedException \InvalidArgumentException - * @expectedExceptionMessage No most-recent exception - */ - public function testLastExceptionThrowsSometimes() - { - $context = new Context(); - $context->getLastException(); - } - - public function testLastStdout() - { - $context = new Context(); - $context->setLastStdout('ouuuuut'); - $this->assertEquals('ouuuuut', $context->getLastStdout()); - $this->assertEquals('ouuuuut', $context->get('__out')); - } - - /** - * @expectedException \InvalidArgumentException - * @expectedExceptionMessage No most-recent output - */ - public function testLastStdoutThrowsSometimes() - { - $context = new Context(); - $context->getLastStdout(); - } - - public function testBoundObject() - { - $context = new Context(); - $this->assertNull($context->getBoundObject()); - - $obj = new \StdClass(); - $context->setBoundObject($obj); - $this->assertSame($obj, $context->getBoundObject()); - $this->assertSame($obj, $context->get('this')); - - $context->setBoundObject(null); - $this->assertNull($context->getBoundObject()); - } - - /** - * @expectedException \InvalidArgumentException - * @expectedExceptionMessage Unknown variable: $this - */ - public function testBoundObjectThrowsSometimes() - { - $context = new Context(); - $context->get('this'); - } - - public function testBoundClass() - { - $context = new Context(); - $this->assertNull($context->getBoundClass()); - - $context->setBoundClass(''); - $this->assertNull($context->getBoundClass()); - - $context->setBoundClass('Psy\Shell'); - $this->assertEquals('Psy\Shell', $context->getBoundClass()); - - $context->setBoundObject(new \StdClass()); - $this->assertNotNull($context->getBoundObject()); - $this->assertNull($context->getBoundClass()); - - $context->setBoundClass('Psy\Shell'); - $this->assertEquals('Psy\Shell', $context->getBoundClass()); - $this->assertNull($context->getBoundObject()); - - $context->setBoundClass(null); - $this->assertNull($context->getBoundClass()); - $this->assertNull($context->getBoundObject()); - } - - public function testCommandScopeVariables() - { - $__function = 'donkey'; - $__method = 'diddy'; - $__class = 'cranky'; - $__namespace = 'funky'; - $__file = 'candy'; - $__line = 'dixie'; - $__dir = 'wrinkly'; - - $vars = \compact('__function', '__method', '__class', '__namespace', '__file', '__line', '__dir'); - - $context = new Context(); - $context->setCommandScopeVariables($vars); - - $this->assertEquals($vars, $context->getCommandScopeVariables()); - - $this->assertEquals($__function, $context->get('__function')); - $this->assertEquals($__method, $context->get('__method')); - $this->assertEquals($__class, $context->get('__class')); - $this->assertEquals($__namespace, $context->get('__namespace')); - $this->assertEquals($__file, $context->get('__file')); - $this->assertEquals($__line, $context->get('__line')); - $this->assertEquals($__dir, $context->get('__dir')); - - $someVars = \compact('__function', '__namespace', '__file', '__line', '__dir'); - $context->setCommandScopeVariables($someVars); - } - - public function testGetUnusedCommandScopeVariableNames() - { - $context = new Context(); - - $this->assertEquals( - ['__function', '__method', '__class', '__namespace', '__file', '__line', '__dir'], - $context->getUnusedCommandScopeVariableNames() - ); - - $context->setCommandScopeVariables([ - '__function' => 'foo', - '__namespace' => 'bar', - '__file' => 'baz', - '__line' => 123, - '__dir' => 'qux', - ]); - - $this->assertEquals( - ['__method', '__class'], - \array_values($context->getUnusedCommandScopeVariableNames()) - ); - } - - /** - * @dataProvider specialAndNotSpecialVariableNames - */ - public function testIsSpecialVariableName($name, $isSpecial) - { - $context = new Context(); - - if ($isSpecial) { - $this->assertTrue($context->isSpecialVariableName($name)); - } else { - $this->assertFalse($context->isSpecialVariableName($name)); - } - } - - public function specialAndNotSpecialVariableNames() - { - return [ - ['foo', false], - ['psysh', false], - ['__psysh', false], - - ['_', true], - ['_e', true], - ['__out', true], - ['this', true], - ['__psysh__', true], - - ['__function', true], - ['__method', true], - ['__class', true], - ['__namespace', true], - ['__file', true], - ['__line', true], - ['__dir', true], - ]; - } -} diff --git a/paragonik-backend/vendor/psy/psysh/test/Exception/BreakExceptionTest.php b/paragonik-backend/vendor/psy/psysh/test/Exception/BreakExceptionTest.php deleted file mode 100644 index ae39fb1..0000000 --- a/paragonik-backend/vendor/psy/psysh/test/Exception/BreakExceptionTest.php +++ /dev/null @@ -1,42 +0,0 @@ -assertInstanceOf('Psy\Exception\Exception', $e); - $this->assertInstanceOf('Psy\Exception\BreakException', $e); - } - - public function testMessage() - { - $e = new BreakException('foo'); - - $this->assertContains('foo', $e->getMessage()); - $this->assertSame('foo', $e->getRawMessage()); - } - - /** - * @expectedException \Psy\Exception\BreakException - * @expectedExceptionMessage Goodbye - */ - public function testExitShell() - { - BreakException::exitShell(); - } -} diff --git a/paragonik-backend/vendor/psy/psysh/test/Exception/ErrorExceptionTest.php b/paragonik-backend/vendor/psy/psysh/test/Exception/ErrorExceptionTest.php deleted file mode 100644 index ef9fb9a..0000000 --- a/paragonik-backend/vendor/psy/psysh/test/Exception/ErrorExceptionTest.php +++ /dev/null @@ -1,125 +0,0 @@ -assertInstanceOf('Psy\Exception\Exception', $e); - $this->assertInstanceOf('ErrorException', $e); - $this->assertInstanceOf('Psy\Exception\ErrorException', $e); - } - - public function testMessage() - { - $e = new ErrorException('foo'); - - $this->assertContains('foo', $e->getMessage()); - $this->assertSame('foo', $e->getRawMessage()); - } - - /** - * @dataProvider getLevels - */ - public function testErrorLevels($level, $type) - { - $e = new ErrorException('foo', 0, $level); - $this->assertContains('PHP ' . $type, $e->getMessage()); - } - - /** - * @dataProvider getLevels - */ - public function testThrowException($level, $type) - { - try { - ErrorException::throwException($level, '{whot}', '{file}', '13'); - } catch (ErrorException $e) { - $this->assertContains('PHP ' . $type, $e->getMessage()); - $this->assertContains('{whot}', $e->getMessage()); - $this->assertContains('in {file}', $e->getMessage()); - $this->assertContains('on line 13', $e->getMessage()); - } - } - - public function getLevels() - { - return [ - [E_WARNING, 'Warning'], - [E_CORE_WARNING, 'Warning'], - [E_COMPILE_WARNING, 'Warning'], - [E_USER_WARNING, 'Warning'], - [E_STRICT, 'Strict error'], - [E_DEPRECATED, 'Deprecated'], - [E_USER_DEPRECATED, 'Deprecated'], - [E_RECOVERABLE_ERROR, 'Recoverable fatal error'], - [0, 'Error'], - ]; - } - - /** - * @dataProvider getUserLevels - */ - public function testThrowExceptionAsErrorHandler($level, $type) - { - \set_error_handler(['Psy\Exception\ErrorException', 'throwException']); - try { - \trigger_error('{whot}', $level); - } catch (ErrorException $e) { - $this->assertContains('PHP ' . $type, $e->getMessage()); - $this->assertContains('{whot}', $e->getMessage()); - } - \restore_error_handler(); - } - - public function getUserLevels() - { - return [ - [E_USER_ERROR, 'Error'], - [E_USER_WARNING, 'Warning'], - [E_USER_NOTICE, 'Notice'], - [E_USER_DEPRECATED, 'Deprecated'], - ]; - } - - public function testIgnoreExecutionLoopFilename() - { - $e = new ErrorException('{{message}}', 0, 1, '/fake/path/to/Psy/ExecutionLoop.php'); - $this->assertEmpty($e->getFile()); - - $e = new ErrorException('{{message}}', 0, 1, 'c:\fake\path\to\Psy\ExecutionLoop.php'); - $this->assertEmpty($e->getFile()); - - $e = new ErrorException('{{message}}', 0, 1, '/fake/path/to/Psy/File.php'); - $this->assertNotEmpty($e->getFile()); - } - - public function testFromError() - { - if (\version_compare(PHP_VERSION, '7.0.0', '<')) { - $this->markTestSkipped(); - } - - $error = new \Error('{{message}}', 0); - $exception = ErrorException::fromError($error); - - $this->assertContains('PHP Error: {{message}}', $exception->getMessage()); - $this->assertEquals(0, $exception->getCode()); - $this->assertEquals($error->getFile(), $exception->getFile()); - $this->assertSame($exception->getPrevious(), $error); - } -} diff --git a/paragonik-backend/vendor/psy/psysh/test/Exception/FatalErrorExceptionTest.php b/paragonik-backend/vendor/psy/psysh/test/Exception/FatalErrorExceptionTest.php deleted file mode 100644 index 36c7dd8..0000000 --- a/paragonik-backend/vendor/psy/psysh/test/Exception/FatalErrorExceptionTest.php +++ /dev/null @@ -1,51 +0,0 @@ -assertInstanceOf('Psy\Exception\Exception', $e); - $this->assertInstanceOf('ErrorException', $e); - $this->assertInstanceOf('Psy\Exception\FatalErrorException', $e); - } - - public function testMessage() - { - $e = new FatalErrorException('{msg}', 0, 0, '{filename}', 13); - - $this->assertSame('{msg}', $e->getRawMessage()); - $this->assertContains('{msg}', $e->getMessage()); - $this->assertContains('{filename}', $e->getMessage()); - $this->assertContains('line 13', $e->getMessage()); - } - - public function testMessageWithNoFilename() - { - $e = new FatalErrorException('{msg}'); - - $this->assertSame('{msg}', $e->getRawMessage()); - $this->assertContains('{msg}', $e->getMessage()); - $this->assertContains('eval()\'d code', $e->getMessage()); - } - - public function testNegativeOneLineNumberIgnored() - { - $e = new FatalErrorException('{msg}', 0, 1, null, -1); - $this->assertEquals(0, $e->getLine()); - } -} diff --git a/paragonik-backend/vendor/psy/psysh/test/Exception/ParseErrorExceptionTest.php b/paragonik-backend/vendor/psy/psysh/test/Exception/ParseErrorExceptionTest.php deleted file mode 100644 index 446b938..0000000 --- a/paragonik-backend/vendor/psy/psysh/test/Exception/ParseErrorExceptionTest.php +++ /dev/null @@ -1,42 +0,0 @@ -assertInstanceOf('Psy\Exception\Exception', $e); - $this->assertInstanceOf('PhpParser\Error', $e); - $this->assertInstanceOf('Psy\Exception\ParseErrorException', $e); - } - - public function testMessage() - { - $e = new ParseErrorException('{msg}', 1); - - $this->assertContains('{msg}', $e->getMessage()); - $this->assertContains('PHP Parse error:', $e->getMessage()); - } - - public function testConstructFromParseError() - { - $e = ParseErrorException::fromParseError(new \PhpParser\Error('{msg}')); - - $this->assertContains('{msg}', $e->getRawMessage()); - $this->assertContains('PHP Parse error:', $e->getMessage()); - } -} diff --git a/paragonik-backend/vendor/psy/psysh/test/Exception/RuntimeExceptionTest.php b/paragonik-backend/vendor/psy/psysh/test/Exception/RuntimeExceptionTest.php deleted file mode 100644 index 1121ea4..0000000 --- a/paragonik-backend/vendor/psy/psysh/test/Exception/RuntimeExceptionTest.php +++ /dev/null @@ -1,30 +0,0 @@ -assertInstanceOf('Psy\Exception\Exception', $e); - $this->assertInstanceOf('RuntimeException', $e); - $this->assertInstanceOf('Psy\Exception\RuntimeException', $e); - - $this->assertSame($msg, $e->getMessage()); - $this->assertSame($msg, $e->getRawMessage()); - } -} diff --git a/paragonik-backend/vendor/psy/psysh/test/Exception/ThrowUpExceptionTest.php b/paragonik-backend/vendor/psy/psysh/test/Exception/ThrowUpExceptionTest.php deleted file mode 100644 index 09c3373..0000000 --- a/paragonik-backend/vendor/psy/psysh/test/Exception/ThrowUpExceptionTest.php +++ /dev/null @@ -1,66 +0,0 @@ -assertInstanceOf('Psy\Exception\Exception', $e); - $this->assertInstanceOf('Psy\Exception\ThrowUpException', $e); - - $this->assertEquals("Throwing Exception with message '{{message}}'", $e->getMessage()); - $this->assertEquals('{{message}}', $e->getRawMessage()); - $this->assertEquals(123, $e->getCode()); - $this->assertSame($previous, $e->getPrevious()); - } - - public function testFromThrowable() - { - $previous = new \Exception('{{message}}'); - $e = ThrowUpException::fromThrowable($previous); - - $this->assertInstanceOf('Psy\Exception\ThrowUpException', $e); - $this->assertSame($previous, $e->getPrevious()); - } - - public function testFromThrowableWithError() - { - if (\version_compare(PHP_VERSION, '7.0.0', '<')) { - $this->markTestSkipped(); - } - - $previous = new \Error('{{message}}'); - $e = ThrowUpException::fromThrowable($previous); - - $this->assertInstanceOf('Psy\Exception\ThrowUpException', $e); - $this->assertInstanceOf('Psy\Exception\ErrorException', $e->getPrevious()); - - $this->assertNotSame($previous, $e->getPrevious()); - $this->assertSame($previous, $e->getPrevious()->getPrevious()); - } - - /** - * @expectedException \InvalidArgumentException - * @expectedExceptionMessage throw-up can only throw Exceptions and Errors - */ - public function testFromThrowableThrowsError() - { - $notThrowable = new \StdClass(); - ThrowUpException::fromThrowable($notThrowable); - } -} diff --git a/paragonik-backend/vendor/psy/psysh/test/Exception/TypeErrorExceptionTest.php b/paragonik-backend/vendor/psy/psysh/test/Exception/TypeErrorExceptionTest.php deleted file mode 100644 index 01f251b..0000000 --- a/paragonik-backend/vendor/psy/psysh/test/Exception/TypeErrorExceptionTest.php +++ /dev/null @@ -1,52 +0,0 @@ -assertInstanceOf('Psy\Exception\Exception', $e); - $this->assertInstanceOf('Psy\Exception\TypeErrorException', $e); - - $this->assertEquals('TypeError: {{message}}', $e->getMessage()); - $this->assertEquals('{{message}}', $e->getRawMessage()); - $this->assertEquals(13, $e->getCode()); - } - - public function testStripsEvalFromMessage() - { - $message = 'Something or other, called in line 10: eval()\'d code'; - $e = new TypeErrorException($message); - $this->assertEquals($message, $e->getRawMessage()); - $this->assertEquals('TypeError: Something or other', $e->getMessage()); - } - - public function testFromTypeError() - { - if (\version_compare(PHP_VERSION, '7.0.0', '<')) { - $this->markTestSkipped(); - } - - $previous = new \TypeError('{{message}}', 13); - $e = TypeErrorException::fromTypeError($previous); - - $this->assertInstanceOf('Psy\Exception\TypeErrorException', $e); - $this->assertEquals('TypeError: {{message}}', $e->getMessage()); - $this->assertEquals('{{message}}', $e->getRawMessage()); - $this->assertEquals(13, $e->getCode()); - } -} diff --git a/paragonik-backend/vendor/psy/psysh/test/FakeShell.php b/paragonik-backend/vendor/psy/psysh/test/FakeShell.php deleted file mode 100644 index 9f6fa97..0000000 --- a/paragonik-backend/vendor/psy/psysh/test/FakeShell.php +++ /dev/null @@ -1,29 +0,0 @@ -matchers = $matchers; - } -} diff --git a/paragonik-backend/vendor/psy/psysh/test/Formatter/CodeFormatterTest.php b/paragonik-backend/vendor/psy/psysh/test/Formatter/CodeFormatterTest.php deleted file mode 100644 index 87f56df..0000000 --- a/paragonik-backend/vendor/psy/psysh/test/Formatter/CodeFormatterTest.php +++ /dev/null @@ -1,129 +0,0 @@ -assertEquals($expected, self::trimLines($formattedWithoutColors)); - $this->assertNotEquals($expected, self::trimLines($formatted)); - } - - public function reflectors() - { - $expectClass = <<<'EOS' - > 14| class SomeClass - 15| { - 16| const SOME_CONST = 'some const'; - 17| private $someProp = 'some prop'; - 18| - 19| public function someMethod($someParam) - 20| { - 21| return 'some method'; - 22| } - 23| - 24| public static function someClosure() - 25| { - 26| return function () { - 27| return 'some closure'; - 28| }; - 29| } - 30| } -EOS; - - $expectMethod = <<<'EOS' - > 19| public function someMethod($someParam) - 20| { - 21| return 'some method'; - 22| } -EOS; - - $expectClosure = <<<'EOS' - > 26| return function () { - 27| return 'some closure'; - 28| }; -EOS; - - return [ - [new \ReflectionClass('Psy\Test\Formatter\Fixtures\SomeClass'), $expectClass], - [new \ReflectionObject(new SomeClass()), $expectClass], - [new \ReflectionMethod('Psy\Test\Formatter\Fixtures\SomeClass', 'someMethod'), $expectMethod], - [new \ReflectionFunction(SomeClass::someClosure()), $expectClosure], - ]; - } - - /** - * @dataProvider invalidReflectors - * @expectedException \Psy\Exception\RuntimeException - */ - public function testCodeFormatterThrowsExceptionForReflectorsItDoesntUnderstand($reflector) - { - CodeFormatter::format($reflector); - } - - public function invalidReflectors() - { - $reflectors = [ - [new \ReflectionExtension('json')], - [new \ReflectionParameter(['Psy\Test\Formatter\Fixtures\SomeClass', 'someMethod'], 'someParam')], - [new \ReflectionProperty('Psy\Test\Formatter\Fixtures\SomeClass', 'someProp')], - ]; - - if (\version_compare(PHP_VERSION, '7.1.0', '>=')) { - $reflectors[] = [new \ReflectionClassConstant('Psy\Test\Formatter\Fixtures\SomeClass', 'SOME_CONST')]; - } - - return $reflectors; - } - - /** - * @dataProvider filenames - * @expectedException \Psy\Exception\RuntimeException - */ - public function testCodeFormatterThrowsExceptionForMissingFile($filename) - { - $reflector = $this->getMockBuilder('ReflectionClass') - ->disableOriginalConstructor() - ->getMock(); - - $reflector - ->expects($this->once()) - ->method('getFileName') - ->will($this->returnValue($filename)); - - CodeFormatter::format($reflector); - } - - public function filenames() - { - if (\defined('HHVM_VERSION')) { - $this->markTestSkipped('We have issues with PHPUnit mocks on HHVM.'); - } - - return [[null], ['not a file']]; - } - - private static function trimLines($code) - { - return \rtrim(\implode("\n", \array_map('rtrim', \explode("\n", $code)))); - } -} diff --git a/paragonik-backend/vendor/psy/psysh/test/Formatter/DocblockFormatterTest.php b/paragonik-backend/vendor/psy/psysh/test/Formatter/DocblockFormatterTest.php deleted file mode 100644 index 134c76d..0000000 --- a/paragonik-backend/vendor/psy/psysh/test/Formatter/DocblockFormatterTest.php +++ /dev/null @@ -1,63 +0,0 @@ - - * - * @throws InvalidArgumentException if $foo is empty - * - * @param mixed $foo It's a foo thing - * @param int $bar This is definitely bar - * - * @return string A string of no consequence - */ - private function methodWithDocblock($foo, $bar = 1) - { - if (empty($foo)) { - throw new \InvalidArgumentException(); - } - - return 'method called'; - } - - public function testFormat() - { - $expected = <<Description: - This is a docblock! - -Throws: - InvalidArgumentException if \$foo is empty - -Param: - mixed \$foo It's a foo thing - int \$bar This is definitely bar - -Return: - string A string of no consequence - -Author: Justin Hileman \ -EOS; - - $this->assertSame( - $expected, - DocblockFormatter::format(new \ReflectionMethod($this, 'methodWithDocblock')) - ); - } -} diff --git a/paragonik-backend/vendor/psy/psysh/test/Formatter/Fixtures/BoringTrait.php b/paragonik-backend/vendor/psy/psysh/test/Formatter/Fixtures/BoringTrait.php deleted file mode 100644 index 9f13ab9..0000000 --- a/paragonik-backend/vendor/psy/psysh/test/Formatter/Fixtures/BoringTrait.php +++ /dev/null @@ -1,20 +0,0 @@ -assertSame($expected, \strip_tags(SignatureFormatter::format($reflector))); - } - - public function signatureReflectors() - { - return [ - [ - new \ReflectionFunction('implode'), - \defined('HHVM_VERSION') ? 'function implode($arg1, $arg2 = null)' : 'function implode($glue, $pieces)', - ], - [ - ReflectionClassConstant::create($this, 'FOO'), - 'const FOO = "foo value"', - ], - [ - new \ReflectionMethod($this, 'someFakeMethod'), - 'private function someFakeMethod(array $one, $two = \'TWO\', Reflector $three = null)', - ], - [ - new \ReflectionProperty($this, 'bar'), - 'private static $bar', - ], - [ - new \ReflectionClass('Psy\CodeCleaner\CodeCleanerPass'), - 'abstract class Psy\CodeCleaner\CodeCleanerPass ' - . 'extends PhpParser\NodeVisitorAbstract ' - . 'implements PhpParser\NodeVisitor', - ], - [ - new \ReflectionFunction('array_chunk'), - 'function array_chunk($arg, $size, $preserve_keys = unknown)', - ], - [ - new \ReflectionClass('Psy\Test\Formatter\Fixtures\BoringTrait'), - 'trait Psy\Test\Formatter\Fixtures\BoringTrait', - ], - [ - new \ReflectionMethod('Psy\Test\Formatter\Fixtures\BoringTrait', 'boringMethod'), - 'public function boringMethod($one = 1)', - ], - [ - new ReflectionConstant_('E_ERROR'), - 'define("E_ERROR", 1)', - ], - [ - new ReflectionConstant_('PHP_VERSION'), - 'define("PHP_VERSION", "' . PHP_VERSION . '")', - ], - [ - new ReflectionConstant_('__LINE__'), - 'define("__LINE__", null)', // @todo show this as `unknown` in red or something? - ], - ]; - } - - /** - * @expectedException \InvalidArgumentException - */ - public function testSignatureFormatterThrowsUnknownReflectorExpeption() - { - $refl = $this->getMockBuilder('Reflector')->getMock(); - SignatureFormatter::format($refl); - } -} diff --git a/paragonik-backend/vendor/psy/psysh/test/Input/CodeArgumentTest.php b/paragonik-backend/vendor/psy/psysh/test/Input/CodeArgumentTest.php deleted file mode 100644 index c396152..0000000 --- a/paragonik-backend/vendor/psy/psysh/test/Input/CodeArgumentTest.php +++ /dev/null @@ -1,52 +0,0 @@ -assertInstanceOf('Psy\Input\CodeArgument', new CodeArgument('yeah', $mode)); - } - - public function getValidModes() - { - return [ - [InputArgument::REQUIRED], - [InputArgument::OPTIONAL], - ]; - } -} diff --git a/paragonik-backend/vendor/psy/psysh/test/Input/FilterOptionsTest.php b/paragonik-backend/vendor/psy/psysh/test/Input/FilterOptionsTest.php deleted file mode 100644 index 7ed8919..0000000 --- a/paragonik-backend/vendor/psy/psysh/test/Input/FilterOptionsTest.php +++ /dev/null @@ -1,105 +0,0 @@ -assertCount(3, $opts); - } - - /** - * @dataProvider validInputs - */ - public function testBindValidInput($input, $hasFilter = true) - { - $input = $this->getInput($input); - $filterOptions = new FilterOptions(); - $filterOptions->bind($input); - - $this->assertEquals($hasFilter, $filterOptions->hasFilter()); - } - - public function validInputs() - { - return [ - ['--grep="bar"'], - ['--grep="bar" --invert'], - ['--grep="bar" --insensitive'], - ['--grep="bar" --invert --insensitive'], - ['', false], - ]; - } - - /** - * @dataProvider invalidInputs - * @expectedException \Psy\Exception\RuntimeException - */ - public function testBindInvalidInput($input) - { - $input = $this->getInput($input); - $filterOptions = new FilterOptions(); - $filterOptions->bind($input); - } - - public function invalidInputs() - { - return [ - ['--invert'], - ['--insensitive'], - ['--invert --insensitive'], - - // invalid because regex - ['--grep /*/'], - ]; - } - - /** - * @dataProvider matchData - */ - public function testMatch($input, $str, $matches) - { - $input = $this->getInput($input); - $filterOptions = new FilterOptions(); - $filterOptions->bind($input); - - $this->assertEquals($matches, $filterOptions->match($str)); - } - - public function matchData() - { - return [ - ['', 'whatever', true], - ['--grep FOO', 'foo', false], - ['--grep foo', 'foo', true], - ['--grep foo', 'food', true], - ['--grep oo', 'Food', true], - ['--grep oo -i', 'FOOD', true], - ['--grep foo -v', 'food', false], - ['--grep foo -v', 'whatever', true], - ]; - } - - private function getInput($input) - { - $input = new StringInput($input); - $input->bind(new InputDefinition(FilterOptions::getOptions())); - - return $input; - } -} diff --git a/paragonik-backend/vendor/psy/psysh/test/Input/ShellInputTest.php b/paragonik-backend/vendor/psy/psysh/test/Input/ShellInputTest.php deleted file mode 100644 index f19d126..0000000 --- a/paragonik-backend/vendor/psy/psysh/test/Input/ShellInputTest.php +++ /dev/null @@ -1,254 +0,0 @@ -bind($definition); - } - - public function testInputOptionWithGivenString() - { - $definition = new InputDefinition([ - new InputOption('foo', null, InputOption::VALUE_REQUIRED), - new CodeArgument('code', null, CodeArgument::REQUIRED), - ]); - - $input = new ShellInput('--foo=bar echo "baz\\\\n";'); - $input->bind($definition); - $this->assertSame('bar', $input->getOption('foo')); - $this->assertSame('echo "baz\n";', $input->getArgument('code')); - } - - public function testInputOptionWithoutCodeArguments() - { - $definition = new InputDefinition([ - new InputOption('foo', null, InputOption::VALUE_REQUIRED), - new InputOption('qux', 'q', InputOption::VALUE_REQUIRED), - new InputArgument('bar', null, InputArgument::REQUIRED), - new InputArgument('baz', null, InputArgument::REQUIRED), - ]); - - $input = new ShellInput('--foo=foo -q qux bar "baz\\\\n"'); - $input->bind($definition); - $this->assertSame('foo', $input->getOption('foo')); - $this->assertSame('qux', $input->getOption('qux')); - $this->assertSame('bar', $input->getArgument('bar')); - $this->assertSame('baz\\n', $input->getArgument('baz')); - } - - public function testInputWithDashDash() - { - $definition = new InputDefinition([ - new InputOption('foo', null, InputOption::VALUE_REQUIRED), - new CodeArgument('code', null, CodeArgument::REQUIRED), - ]); - - $input = new ShellInput('-- echo --foo::$bar'); - $input->bind($definition); - $this->assertNull($input->getOption('foo')); - $this->assertSame('echo --foo::$bar', $input->getArgument('code')); - } - - public function testInputWithEmptyString() - { - $definition = new InputDefinition([ - new InputOption('foo', null, InputOption::VALUE_REQUIRED), - new CodeArgument('code', null, CodeArgument::REQUIRED), - ]); - - $input = new ShellInput('"" --foo bar'); - $input->bind($definition); - $this->assertSame('"" --foo bar', $input->getArgument('code')); - } - - /** - * @dataProvider getTokenizeData - */ - public function testTokenize($input, $tokens, $message) - { - $input = new ShellInput($input); - $r = new \ReflectionClass('Psy\Input\ShellInput'); - $p = $r->getProperty('tokenPairs'); - $p->setAccessible(true); - $this->assertSame($tokens, $p->getValue($input), $message); - } - - public function getTokenizeData() - { - // Test all the cases from StringInput test, ensuring they have an appropriate $rest token. - return [ - [ - '', - [], - '->tokenize() parses an empty string', - ], - [ - 'foo', - [['foo', 'foo']], - '->tokenize() parses arguments', - ], - [ - ' foo bar ', - [['foo', 'foo bar '], ['bar', 'bar ']], - '->tokenize() ignores whitespaces between arguments', - ], - [ - '"quoted"', - [['quoted', '"quoted"']], - '->tokenize() parses quoted arguments', - ], - [ - "'quoted'", - [['quoted', "'quoted'"]], - '->tokenize() parses quoted arguments', - ], - [ - "'a\rb\nc\td'", - [["a\rb\nc\td", "'a\rb\nc\td'"]], - '->tokenize() parses whitespace chars in strings', - ], - [ - "'a'\r'b'\n'c'\t'd'", - [ - ['a', "'a'\r'b'\n'c'\t'd'"], - ['b', "'b'\n'c'\t'd'"], - ['c', "'c'\t'd'"], - ['d', "'d'"], - ], - '->tokenize() parses whitespace chars between args as spaces', - ], - - /* - * These don't play nice with unescaping input, but the end result - * is correct, so disable the tests for now. - * - * @todo Sort this out and re-enable these test cases. - */ - // [ - // '\"quoted\"', - // [['"quoted"', '\"quoted\"']], - // '->tokenize() parses escaped-quoted arguments', - // ], - // [ - // "\'quoted\'", - // [['\'quoted\'', "\'quoted\'"]], - // '->tokenize() parses escaped-quoted arguments', - // ], - - [ - '-a', - [['-a', '-a']], - '->tokenize() parses short options', - ], - [ - '-azc', - [['-azc', '-azc']], - '->tokenize() parses aggregated short options', - ], - [ - '-awithavalue', - [['-awithavalue', '-awithavalue']], - '->tokenize() parses short options with a value', - ], - [ - '-a"foo bar"', - [['-afoo bar', '-a"foo bar"']], - '->tokenize() parses short options with a value', - ], - [ - '-a"foo bar""foo bar"', - [['-afoo barfoo bar', '-a"foo bar""foo bar"']], - '->tokenize() parses short options with a value', - ], - [ - '-a\'foo bar\'', - [['-afoo bar', '-a\'foo bar\'']], - '->tokenize() parses short options with a value', - ], - [ - '-a\'foo bar\'\'foo bar\'', - [['-afoo barfoo bar', '-a\'foo bar\'\'foo bar\'']], - '->tokenize() parses short options with a value', - ], - [ - '-a\'foo bar\'"foo bar"', - [['-afoo barfoo bar', '-a\'foo bar\'"foo bar"']], - '->tokenize() parses short options with a value', - ], - [ - '--long-option', - [['--long-option', '--long-option']], - '->tokenize() parses long options', - ], - [ - '--long-option=foo', - [['--long-option=foo', '--long-option=foo']], - '->tokenize() parses long options with a value', - ], - [ - '--long-option="foo bar"', - [['--long-option=foo bar', '--long-option="foo bar"']], - '->tokenize() parses long options with a value', - ], - [ - '--long-option="foo bar""another"', - [['--long-option=foo baranother', '--long-option="foo bar""another"']], - '->tokenize() parses long options with a value', - ], - [ - '--long-option=\'foo bar\'', - [['--long-option=foo bar', '--long-option=\'foo bar\'']], - '->tokenize() parses long options with a value', - ], - [ - "--long-option='foo bar''another'", - [['--long-option=foo baranother', "--long-option='foo bar''another'"]], - '->tokenize() parses long options with a value', - ], - [ - "--long-option='foo bar'\"another\"", - [['--long-option=foo baranother', "--long-option='foo bar'\"another\""]], - '->tokenize() parses long options with a value', - ], - [ - 'foo -a -ffoo --long bar', - [ - ['foo', 'foo -a -ffoo --long bar'], - ['-a', '-a -ffoo --long bar'], - ['-ffoo', '-ffoo --long bar'], - ['--long', '--long bar'], - ['bar', 'bar'], - ], - '->tokenize() parses when several arguments and options', - ], - ]; - } -} diff --git a/paragonik-backend/vendor/psy/psysh/test/ParserTestCase.php b/paragonik-backend/vendor/psy/psysh/test/ParserTestCase.php deleted file mode 100644 index a0740b6..0000000 --- a/paragonik-backend/vendor/psy/psysh/test/ParserTestCase.php +++ /dev/null @@ -1,97 +0,0 @@ -traverser = null; - $this->parser = null; - $this->printer = null; - } - - protected function parse($code, $prefix = 'getParser()->parse($code); - } catch (\PhpParser\Error $e) { - if (!$this->parseErrorIsEOF($e)) { - throw ParseErrorException::fromParseError($e); - } - - try { - // Unexpected EOF, try again with an implicit semicolon - return $this->getParser()->parse($code . ';'); - } catch (\PhpParser\Error $e) { - return false; - } - } - } - - protected function traverse(array $stmts) - { - if (!isset($this->traverser)) { - throw new \RuntimeException('Test cases must provide a traverser'); - } - - return $this->traverser->traverse($stmts); - } - - protected function prettyPrint(array $stmts) - { - return $this->getPrinter()->prettyPrint($stmts); - } - - protected function assertProcessesAs($from, $to) - { - $stmts = $this->parse($from); - $stmts = $this->traverse($stmts); - $toStmts = $this->parse($to); - $this->assertSame($this->prettyPrint($toStmts), $this->prettyPrint($stmts)); - } - - private function getParser() - { - if (!isset($this->parser)) { - $parserFactory = new ParserFactory(); - $this->parser = $parserFactory->createParser(); - } - - return $this->parser; - } - - private function getPrinter() - { - if (!isset($this->printer)) { - $this->printer = new Printer(); - } - - return $this->printer; - } - - private function parseErrorIsEOF(\PhpParser\Error $e) - { - $msg = $e->getRawMessage(); - - return ($msg === 'Unexpected token EOF') || (\strpos($msg, 'Syntax error, unexpected EOF') !== false); - } -} diff --git a/paragonik-backend/vendor/psy/psysh/test/Readline/GNUReadlineTest.php b/paragonik-backend/vendor/psy/psysh/test/Readline/GNUReadlineTest.php deleted file mode 100644 index 406377f..0000000 --- a/paragonik-backend/vendor/psy/psysh/test/Readline/GNUReadlineTest.php +++ /dev/null @@ -1,80 +0,0 @@ -markTestSkipped('GNUReadline not enabled'); - } - - $this->historyFile = \tempnam(\sys_get_temp_dir(), 'psysh_test_history'); - \file_put_contents($this->historyFile, "_HiStOrY_V2_\n"); - } - - public function testHistory() - { - $readline = new GNUReadline($this->historyFile); - $this->assertEmpty($readline->listHistory()); - $readline->addHistory('foo'); - $this->assertSame(['foo'], $readline->listHistory()); - $readline->addHistory('bar'); - $this->assertSame(['foo', 'bar'], $readline->listHistory()); - $readline->addHistory('baz'); - $this->assertSame(['foo', 'bar', 'baz'], $readline->listHistory()); - $readline->clearHistory(); - $this->assertEmpty($readline->listHistory()); - } - - /** - * @depends testHistory - */ - public function testHistorySize() - { - $readline = new GNUReadline($this->historyFile, 2); - $this->assertEmpty($readline->listHistory()); - $readline->addHistory('foo'); - $readline->addHistory('bar'); - $this->assertSame(['foo', 'bar'], $readline->listHistory()); - $readline->addHistory('baz'); - $this->assertSame(['bar', 'baz'], $readline->listHistory()); - $readline->addHistory('w00t'); - $this->assertSame(['baz', 'w00t'], $readline->listHistory()); - $readline->clearHistory(); - $this->assertEmpty($readline->listHistory()); - } - - /** - * @depends testHistory - */ - public function testHistoryEraseDups() - { - $readline = new GNUReadline($this->historyFile, 0, true); - $this->assertEmpty($readline->listHistory()); - $readline->addHistory('foo'); - $readline->addHistory('bar'); - $readline->addHistory('foo'); - $this->assertSame(['bar', 'foo'], $readline->listHistory()); - $readline->addHistory('baz'); - $readline->addHistory('w00t'); - $readline->addHistory('baz'); - $this->assertSame(['bar', 'foo', 'w00t', 'baz'], $readline->listHistory()); - $readline->clearHistory(); - $this->assertEmpty($readline->listHistory()); - } -} diff --git a/paragonik-backend/vendor/psy/psysh/test/Readline/HoaConsoleTest.php b/paragonik-backend/vendor/psy/psysh/test/Readline/HoaConsoleTest.php deleted file mode 100644 index ecf444f..0000000 --- a/paragonik-backend/vendor/psy/psysh/test/Readline/HoaConsoleTest.php +++ /dev/null @@ -1,31 +0,0 @@ -assertEmpty($readline->listHistory()); - $readline->addHistory('foo'); - $this->assertSame(['foo'], $readline->listHistory()); - $readline->addHistory('bar'); - $this->assertSame(['foo', 'bar'], $readline->listHistory()); - $readline->addHistory('baz'); - $this->assertSame(['foo', 'bar', 'baz'], $readline->listHistory()); - $readline->clearHistory(); - $this->assertEmpty($readline->listHistory()); - } -} diff --git a/paragonik-backend/vendor/psy/psysh/test/Readline/LibeditTest.php b/paragonik-backend/vendor/psy/psysh/test/Readline/LibeditTest.php deleted file mode 100644 index 2d7be28..0000000 --- a/paragonik-backend/vendor/psy/psysh/test/Readline/LibeditTest.php +++ /dev/null @@ -1,128 +0,0 @@ -markTestSkipped('Libedit not enabled'); - } - - $this->historyFile = \tempnam(\sys_get_temp_dir(), 'psysh_test_history'); - if (false === \file_put_contents($this->historyFile, "_HiStOrY_V2_\n")) { - $this->fail('Unable to write history file: ' . $this->historyFile); - } - // Calling readline_read_history before readline_clear_history - // avoids segfault with PHP 5.5.7 & libedit v3.1 - \readline_read_history($this->historyFile); - \readline_clear_history(); - } - - public function tearDown() - { - if (\is_file($this->historyFile)) { - \unlink($this->historyFile); - } - } - - public function testHistory() - { - $readline = new Libedit($this->historyFile); - $this->assertEmpty($readline->listHistory()); - $readline->addHistory('foo'); - $this->assertSame(['foo'], $readline->listHistory()); - $readline->addHistory('bar'); - $this->assertSame(['foo', 'bar'], $readline->listHistory()); - $readline->addHistory('baz'); - $this->assertSame(['foo', 'bar', 'baz'], $readline->listHistory()); - $readline->clearHistory(); - $this->assertEmpty($readline->listHistory()); - } - - /** - * @depends testHistory - */ - public function testHistorySize() - { - $readline = new Libedit($this->historyFile, 2); - $this->assertEmpty($readline->listHistory()); - $readline->addHistory('foo'); - $readline->addHistory('bar'); - $this->assertSame(['foo', 'bar'], $readline->listHistory()); - $readline->addHistory('baz'); - $this->assertSame(['bar', 'baz'], $readline->listHistory()); - $readline->addHistory('w00t'); - $this->assertSame(['baz', 'w00t'], $readline->listHistory()); - $readline->clearHistory(); - $this->assertEmpty($readline->listHistory()); - } - - /** - * @depends testHistory - */ - public function testHistoryEraseDups() - { - $readline = new Libedit($this->historyFile, 0, true); - $this->assertEmpty($readline->listHistory()); - $readline->addHistory('foo'); - $readline->addHistory('bar'); - $readline->addHistory('foo'); - $this->assertSame(['bar', 'foo'], $readline->listHistory()); - $readline->addHistory('baz'); - $readline->addHistory('w00t'); - $readline->addHistory('baz'); - $this->assertSame(['bar', 'foo', 'w00t', 'baz'], $readline->listHistory()); - $readline->clearHistory(); - $this->assertEmpty($readline->listHistory()); - } - - public function testListHistory() - { - $readline = new Libedit($this->historyFile); - \file_put_contents( - $this->historyFile, - "This is an entry\n\0This is a comment\nThis is an entry\0With a comment\n", - FILE_APPEND - ); - $this->assertSame([ - 'This is an entry', - 'This is an entry', - ], $readline->listHistory()); - $readline->clearHistory(); - } - - /** - * Libedit being a BSD library, - * it doesn't support non-unix line separators. - */ - public function testLinebreaksSupport() - { - $readline = new Libedit($this->historyFile); - \file_put_contents( - $this->historyFile, - "foo\rbar\nbaz\r\nw00t", - FILE_APPEND - ); - $this->assertSame([ - "foo\rbar", - "baz\r", - 'w00t', - ], $readline->listHistory()); - $readline->clearHistory(); - } -} diff --git a/paragonik-backend/vendor/psy/psysh/test/Readline/TransientTest.php b/paragonik-backend/vendor/psy/psysh/test/Readline/TransientTest.php deleted file mode 100644 index 24fcba0..0000000 --- a/paragonik-backend/vendor/psy/psysh/test/Readline/TransientTest.php +++ /dev/null @@ -1,76 +0,0 @@ -assertEmpty($readline->listHistory()); - $readline->addHistory('foo'); - $this->assertSame(['foo'], $readline->listHistory()); - $readline->addHistory('bar'); - $this->assertSame(['foo', 'bar'], $readline->listHistory()); - $readline->addHistory('baz'); - $this->assertSame(['foo', 'bar', 'baz'], $readline->listHistory()); - $readline->clearHistory(); - $this->assertEmpty($readline->listHistory()); - } - - /** - * @depends testHistory - */ - public function testHistorySize() - { - $readline = new Transient(null, 2); - $this->assertEmpty($readline->listHistory()); - $readline->addHistory('foo'); - $readline->addHistory('bar'); - $this->assertSame(['foo', 'bar'], $readline->listHistory()); - $readline->addHistory('baz'); - $this->assertSame(['bar', 'baz'], $readline->listHistory()); - $readline->addHistory('w00t'); - $this->assertSame(['baz', 'w00t'], $readline->listHistory()); - $readline->clearHistory(); - $this->assertEmpty($readline->listHistory()); - } - - /** - * @depends testHistory - */ - public function testHistoryEraseDups() - { - $readline = new Transient(null, 0, true); - $this->assertEmpty($readline->listHistory()); - $readline->addHistory('foo'); - $readline->addHistory('bar'); - $readline->addHistory('foo'); - $this->assertSame(['bar', 'foo'], $readline->listHistory()); - $readline->addHistory('baz'); - $readline->addHistory('w00t'); - $readline->addHistory('baz'); - $this->assertSame(['bar', 'foo', 'w00t', 'baz'], $readline->listHistory()); - $readline->clearHistory(); - $this->assertEmpty($readline->listHistory()); - } - - public function testSomeThingsAreAlwaysTrue() - { - $readline = new Transient(); - $this->assertTrue(Transient::isSupported()); - $this->assertTrue($readline->readHistory()); - $this->assertTrue($readline->writeHistory()); - } -} diff --git a/paragonik-backend/vendor/psy/psysh/test/Reflection/ReflectionClassConstantTest.php b/paragonik-backend/vendor/psy/psysh/test/Reflection/ReflectionClassConstantTest.php deleted file mode 100644 index 87d4f75..0000000 --- a/paragonik-backend/vendor/psy/psysh/test/Reflection/ReflectionClassConstantTest.php +++ /dev/null @@ -1,81 +0,0 @@ -getDeclaringClass(); - - $this->assertInstanceOf('ReflectionClass', $class); - $this->assertSame('Psy\Test\Reflection\ReflectionClassConstantTest', $class->getName()); - $this->assertSame('CONSTANT_ONE', $refl->getName()); - $this->assertSame('CONSTANT_ONE', (string) $refl); - $this->assertSame('one', $refl->getValue()); - $this->assertNull($refl->getFileName()); - $this->assertFalse($refl->getDocComment()); - } - - /** - * @expectedException \InvalidArgumentException - */ - public function testUnknownConstantThrowsException() - { - new ReflectionClassConstant($this, 'UNKNOWN_CONSTANT'); - } - - public function testExport() - { - $ret = ReflectionClassConstant::export($this, 'CONSTANT_ONE', true); - $this->assertEquals($ret, 'Constant [ public string CONSTANT_ONE ] { one }'); - } - - public function testExportOutput() - { - $this->expectOutputString("Constant [ public string CONSTANT_ONE ] { one }\n"); - ReflectionClassConstant::export($this, 'CONSTANT_ONE', false); - } - - public function testModifiers() - { - $refl = new ReflectionClassConstant($this, 'CONSTANT_ONE'); - - $this->assertEquals(\ReflectionMethod::IS_PUBLIC, $refl->getModifiers()); - $this->assertFalse($refl->isPrivate()); - $this->assertFalse($refl->isProtected()); - $this->assertTrue($refl->isPublic()); - } - - /** - * @expectedException \RuntimeException - * @dataProvider notYetImplemented - */ - public function testNotYetImplemented($method) - { - $refl = new ReflectionClassConstant($this, 'CONSTANT_ONE'); - $refl->$method(); - } - - public function notYetImplemented() - { - return [ - ['getStartLine'], - ['getEndLine'], - ]; - } -} diff --git a/paragonik-backend/vendor/psy/psysh/test/Reflection/ReflectionConstantBCTest.php b/paragonik-backend/vendor/psy/psysh/test/Reflection/ReflectionConstantBCTest.php deleted file mode 100644 index 69d2797..0000000 --- a/paragonik-backend/vendor/psy/psysh/test/Reflection/ReflectionConstantBCTest.php +++ /dev/null @@ -1,26 +0,0 @@ -assertInstanceOf('Psy\Reflection\ReflectionConstant', $refl); - $this->assertInstanceOf('Psy\Reflection\ReflectionClassConstant', $refl); - } -} diff --git a/paragonik-backend/vendor/psy/psysh/test/Reflection/ReflectionConstantTest.php b/paragonik-backend/vendor/psy/psysh/test/Reflection/ReflectionConstantTest.php deleted file mode 100644 index 02c1a84..0000000 --- a/paragonik-backend/vendor/psy/psysh/test/Reflection/ReflectionConstantTest.php +++ /dev/null @@ -1,114 +0,0 @@ -assertFalse($refl->getDocComment()); - $this->assertEquals('Psy\\Test\\Reflection\\SOME_CONSTANT', $refl->getName()); - $this->assertEquals('Psy\\Test\\Reflection', $refl->getNamespaceName()); - $this->assertEquals('yep', $refl->getValue()); - $this->assertTrue($refl->inNamespace()); - $this->assertEquals('Psy\\Test\\Reflection\\SOME_CONSTANT', (string) $refl); - $this->assertNull($refl->getFileName()); - } - - public function testBuiltInConstant() - { - $refl = new ReflectionConstant_('PHP_VERSION'); - - $this->assertEquals('PHP_VERSION', $refl->getName()); - $this->assertEquals('PHP_VERSION', (string) $refl); - $this->assertEquals(PHP_VERSION, $refl->getValue()); - $this->assertFalse($refl->inNamespace()); - $this->assertSame('', $refl->getNamespaceName()); - } - - /** - * @dataProvider magicConstants - */ - public function testIsMagicConstant($name, $is) - { - $this->assertEquals($is, ReflectionConstant_::isMagicConstant($name)); - } - - public function magicConstants() - { - return [ - ['__LINE__', true], - ['__FILE__', true], - ['__DIR__', true], - ['__FUNCTION__', true], - ['__CLASS__', true], - ['__TRAIT__', true], - ['__METHOD__', true], - ['__NAMESPACE__', true], - ['__COMPILER_HALT_OFFSET__', true], - ['PHP_VERSION', false], - ['PHP_EOL', false], - ['Psy\\Test\\Reflection\\SOME_CONSTANT', false], - ['What if it isn\'t even a valid constant name?', false], - ]; - } - - /** - * @expectedException \InvalidArgumentException - */ - public function testUnknownConstantThrowsException() - { - new ReflectionConstant_('UNKNOWN_CONSTANT'); - } - - public function testExport() - { - $ret = ReflectionConstant_::export('Psy\\Test\\Reflection\\SOME_CONSTANT', true); - $this->assertEquals($ret, 'Constant [ string Psy\\Test\\Reflection\\SOME_CONSTANT ] { yep }'); - } - - public function testExportOutput() - { - $this->expectOutputString("Constant [ string Psy\\Test\\Reflection\\SOME_CONSTANT ] { yep }\n"); - ReflectionConstant_::export('Psy\\Test\\Reflection\\SOME_CONSTANT', false); - } - - public function testGetFileName() - { - $refl = new ReflectionConstant_('Psy\\Test\\Reflection\\SOME_CONSTANT'); - $this->assertNull($refl->getFileName()); - } - - /** - * @expectedException \RuntimeException - * @dataProvider notYetImplemented - */ - public function testNotYetImplemented($method) - { - $refl = new ReflectionConstant_('Psy\\Test\\Reflection\\SOME_CONSTANT'); - $refl->$method(); - } - - public function notYetImplemented() - { - return [ - ['getStartLine'], - ['getEndLine'], - ]; - } -} diff --git a/paragonik-backend/vendor/psy/psysh/test/Reflection/ReflectionLanguageConstructParameterTest.php b/paragonik-backend/vendor/psy/psysh/test/Reflection/ReflectionLanguageConstructParameterTest.php deleted file mode 100644 index 223432f..0000000 --- a/paragonik-backend/vendor/psy/psysh/test/Reflection/ReflectionLanguageConstructParameterTest.php +++ /dev/null @@ -1,64 +0,0 @@ - false, - 'defaultValue' => null, - 'isOptional' => false, - 'isPassedByReference' => false, - ]); - - $this->assertNull($refl->getClass()); - $this->assertEquals('one', $refl->getName()); - $this->assertFalse($refl->isArray()); - $this->assertTrue($refl->isDefaultValueAvailable()); - $this->assertNull($refl->getDefaultValue()); - $this->assertFalse($refl->isOptional()); - $this->assertFalse($refl->isPassedByReference()); - - $reflTwo = new ReflectionLanguageConstructParameter($keyword, 'two', [ - 'isArray' => true, - 'isOptional' => true, - 'isPassedByReference' => true, - ]); - - $this->assertNull($refl->getClass()); - $this->assertEquals('two', $reflTwo->getName()); - $this->assertTrue($reflTwo->isArray()); - $this->assertFalse($reflTwo->isDefaultValueAvailable()); - $this->assertNull($reflTwo->getDefaultValue()); - $this->assertTrue($reflTwo->isOptional()); - $this->assertTrue($reflTwo->isPassedByReference()); - - $refl = new ReflectionLanguageConstructParameter($keyword, 'three', [ - 'defaultValue' => 3, - ]); - - $this->assertNull($refl->getClass()); - $this->assertEquals('three', $refl->getName()); - $this->assertFalse($refl->isArray()); - $this->assertTrue($refl->isDefaultValueAvailable()); - $this->assertEquals(3, $refl->getDefaultValue()); - $this->assertFalse($refl->isOptional()); - $this->assertFalse($refl->isPassedByReference()); - } -} diff --git a/paragonik-backend/vendor/psy/psysh/test/Reflection/ReflectionLanguageConstructTest.php b/paragonik-backend/vendor/psy/psysh/test/Reflection/ReflectionLanguageConstructTest.php deleted file mode 100644 index 872a726..0000000 --- a/paragonik-backend/vendor/psy/psysh/test/Reflection/ReflectionLanguageConstructTest.php +++ /dev/null @@ -1,102 +0,0 @@ -assertEquals($keyword, $refl->getName()); - $this->assertEquals($keyword, (string) $refl); - } - - /** - * @dataProvider languageConstructs - */ - public function testKnownLanguageConstructs($keyword) - { - $this->assertTrue(ReflectionLanguageConstruct::isLanguageConstruct($keyword)); - } - - /** - * @dataProvider languageConstructs - */ - public function testFileName($keyword) - { - $refl = new ReflectionLanguageConstruct($keyword); - $this->assertFalse($refl->getFileName()); - } - - /** - * @dataProvider languageConstructs - */ - public function testReturnsReference($keyword) - { - $refl = new ReflectionLanguageConstruct($keyword); - $this->assertFalse($refl->returnsReference()); - } - - /** - * @dataProvider languageConstructs - */ - public function testGetParameters($keyword) - { - $refl = new ReflectionLanguageConstruct($keyword); - $this->assertNotEmpty($refl->getParameters()); - } - - /** - * @dataProvider languageConstructs - * @expectedException \RuntimeException - */ - public function testExportThrows($keyword) - { - ReflectionLanguageConstruct::export($keyword); - } - - public function languageConstructs() - { - return [ - ['isset'], - ['unset'], - ['empty'], - ['echo'], - ['print'], - ['die'], - ['exit'], - ]; - } - - /** - * @dataProvider unknownLanguageConstructs - * @expectedException \InvalidArgumentException - */ - public function testUnknownLanguageConstructsThrowExceptions($keyword) - { - new ReflectionLanguageConstruct($keyword); - } - - public function unknownLanguageConstructs() - { - return [ - ['async'], - ['await'], - ['comefrom'], - ]; - } -} diff --git a/paragonik-backend/vendor/psy/psysh/test/ShellTest.php b/paragonik-backend/vendor/psy/psysh/test/ShellTest.php deleted file mode 100644 index 809af02..0000000 --- a/paragonik-backend/vendor/psy/psysh/test/ShellTest.php +++ /dev/null @@ -1,442 +0,0 @@ -streams as $stream) { - \fclose($stream); - } - } - - public function testScopeVariables() - { - $one = 'banana'; - $two = 123; - $three = new \StdClass(); - $__psysh__ = 'ignore this'; - $_ = 'ignore this'; - $_e = 'ignore this'; - - $shell = new Shell($this->getConfig()); - $shell->setScopeVariables(\compact('one', 'two', 'three', '__psysh__', '_', '_e', 'this')); - - $this->assertNotContains('__psysh__', $shell->getScopeVariableNames()); - $this->assertSame(['one', 'two', 'three', '_'], $shell->getScopeVariableNames()); - $this->assertSame('banana', $shell->getScopeVariable('one')); - $this->assertSame(123, $shell->getScopeVariable('two')); - $this->assertSame($three, $shell->getScopeVariable('three')); - $this->assertNull($shell->getScopeVariable('_')); - - $diff = $shell->getScopeVariablesDiff(['one' => $one, 'two' => 'not two']); - $this->assertSame(['two' => $two, 'three' => $three, '_' => null], $diff); - - $shell->setScopeVariables([]); - $this->assertSame(['_'], $shell->getScopeVariableNames()); - - $shell->setBoundObject($this); - $this->assertSame(['_', 'this'], $shell->getScopeVariableNames()); - $this->assertSame($this, $shell->getScopeVariable('this')); - $this->assertSame(['_' => null], $shell->getScopeVariables(false)); - $this->assertSame(['_' => null, 'this' => $this], $shell->getScopeVariables()); - } - - /** - * @expectedException \InvalidArgumentException - */ - public function testUnknownScopeVariablesThrowExceptions() - { - $shell = new Shell($this->getConfig()); - $shell->setScopeVariables(['foo' => 'FOO', 'bar' => 1]); - $shell->getScopeVariable('baz'); - } - - public function testIncludesWithScopeVariables() - { - $one = 'banana'; - $two = 123; - $three = new \StdClass(); - $__psysh__ = 'ignore this'; - $_ = 'ignore this'; - $_e = 'ignore this'; - - $config = $this->getConfig(['usePcntl' => false]); - - $shell = new Shell($config); - $shell->setScopeVariables(\compact('one', 'two', 'three', '__psysh__', '_', '_e', 'this')); - $shell->addInput('exit', true); - - // This is super slow and we shouldn't do this :( - $shell->run(null, $this->getOutput()); - - $this->assertNotContains('__psysh__', $shell->getScopeVariableNames()); - $this->assertSame(['one', 'two', 'three', '_', '_e'], $shell->getScopeVariableNames()); - $this->assertSame('banana', $shell->getScopeVariable('one')); - $this->assertSame(123, $shell->getScopeVariable('two')); - $this->assertSame($three, $shell->getScopeVariable('three')); - $this->assertNull($shell->getScopeVariable('_')); - } - - public function testIncludes() - { - $config = $this->getConfig(['configFile' => __DIR__ . '/fixtures/empty.php']); - - $shell = new Shell($config); - $this->assertEmpty($shell->getIncludes()); - $shell->setIncludes(['foo', 'bar', 'baz']); - $this->assertSame(['foo', 'bar', 'baz'], $shell->getIncludes()); - } - - public function testIncludesConfig() - { - $config = $this->getConfig([ - 'defaultIncludes' => ['/file.php'], - 'configFile' => __DIR__ . '/fixtures/empty.php', - ]); - - $shell = new Shell($config); - - $includes = $shell->getIncludes(); - $this->assertSame('/file.php', $includes[0]); - } - - public function testAddMatchersViaConfig() - { - $shell = new FakeShell(); - $matcher = new ClassMethodsMatcher(); - - $config = $this->getConfig([ - 'matchers' => [$matcher], - ]); - $config->setShell($shell); - - $this->assertSame([$matcher], $shell->matchers); - } - - public function testAddMatchersViaConfigAfterShell() - { - $shell = new FakeShell(); - $matcher = new ClassMethodsMatcher(); - - $config = $this->getConfig([]); - $config->setShell($shell); - $config->addMatchers([$matcher]); - - $this->assertSame([$matcher], $shell->matchers); - } - - public function testRenderingExceptions() - { - $shell = new Shell($this->getConfig()); - $output = $this->getOutput(); - $stream = $output->getStream(); - $e = new ParseErrorException('message', 13); - - $shell->setOutput($output); - $shell->addCode('code'); - $this->assertTrue($shell->hasCode()); - $this->assertNotEmpty($shell->getCodeBuffer()); - - $shell->writeException($e); - - $this->assertSame($e, $shell->getScopeVariable('_e')); - $this->assertFalse($shell->hasCode()); - $this->assertEmpty($shell->getCodeBuffer()); - - \rewind($stream); - $streamContents = \stream_get_contents($stream); - - $this->assertContains('PHP Parse error', $streamContents); - $this->assertContains('message', $streamContents); - $this->assertContains('line 13', $streamContents); - } - - public function testHandlingErrors() - { - $shell = new Shell($this->getConfig()); - $output = $this->getOutput(); - $stream = $output->getStream(); - $shell->setOutput($output); - - $oldLevel = \error_reporting(); - \error_reporting($oldLevel & ~E_USER_NOTICE); - - try { - $shell->handleError(E_USER_NOTICE, 'wheee', null, 13); - } catch (ErrorException $e) { - \error_reporting($oldLevel); - $this->fail('Unexpected error exception'); - } - \error_reporting($oldLevel); - - \rewind($stream); - $streamContents = \stream_get_contents($stream); - - $this->assertContains('PHP Notice:', $streamContents); - $this->assertContains('wheee', $streamContents); - $this->assertContains('line 13', $streamContents); - } - - /** - * @expectedException \Psy\Exception\ErrorException - */ - public function testNotHandlingErrors() - { - $shell = new Shell($this->getConfig()); - $oldLevel = \error_reporting(); - \error_reporting($oldLevel | E_USER_NOTICE); - - try { - $shell->handleError(E_USER_NOTICE, 'wheee', null, 13); - } catch (ErrorException $e) { - \error_reporting($oldLevel); - throw $e; - } - } - - public function testVersion() - { - $shell = new Shell($this->getConfig()); - - $this->assertInstanceOf('Symfony\Component\Console\Application', $shell); - $this->assertContains(Shell::VERSION, $shell->getVersion()); - $this->assertContains(PHP_VERSION, $shell->getVersion()); - $this->assertContains(PHP_SAPI, $shell->getVersion()); - } - - public function testCodeBuffer() - { - $shell = new Shell($this->getConfig()); - - $shell->addCode('class'); - $this->assertNull($shell->flushCode()); - $this->assertTrue($shell->hasCode()); - - $shell->addCode('a'); - $this->assertNull($shell->flushCode()); - $this->assertTrue($shell->hasCode()); - - $shell->addCode('{}'); - $code = $shell->flushCode(); - $this->assertFalse($shell->hasCode()); - $code = \preg_replace('/\s+/', ' ', $code); - $this->assertNotNull($code); - $this->assertSame('class a { } return new \\Psy\\CodeCleaner\\NoReturnValue();', $code); - } - - public function testKeepCodeBufferOpen() - { - $shell = new Shell($this->getConfig()); - - $shell->addCode('1 \\'); - $this->assertNull($shell->flushCode()); - $this->assertTrue($shell->hasCode()); - - $shell->addCode('+ 1 \\'); - $this->assertNull($shell->flushCode()); - $this->assertTrue($shell->hasCode()); - - $shell->addCode('+ 1'); - $code = $shell->flushCode(); - $this->assertFalse($shell->hasCode()); - $code = \preg_replace('/\s+/', ' ', $code); - $this->assertNotNull($code); - $this->assertSame('return 1 + 1 + 1;', $code); - } - - /** - * @expectedException \Psy\Exception\ParseErrorException - */ - public function testCodeBufferThrowsParseExceptions() - { - $shell = new Shell($this->getConfig()); - $shell->addCode('this is not valid'); - $shell->flushCode(); - } - - public function testClosuresSupport() - { - $shell = new Shell($this->getConfig()); - $code = '$test = function () {}'; - $shell->addCode($code); - $shell->flushCode(); - $code = '$test()'; - $shell->addCode($code); - $this->assertSame($shell->flushCode(), 'return $test();'); - } - - public function testWriteStdout() - { - $output = $this->getOutput(); - $stream = $output->getStream(); - $shell = new Shell($this->getConfig()); - $shell->setOutput($output); - - $shell->writeStdout("{{stdout}}\n"); - - \rewind($stream); - $streamContents = \stream_get_contents($stream); - - $this->assertSame('{{stdout}}' . PHP_EOL, $streamContents); - } - - public function testWriteStdoutWithoutNewline() - { - $output = $this->getOutput(); - $stream = $output->getStream(); - $shell = new Shell($this->getConfig()); - $shell->setOutput($output); - - $shell->writeStdout('{{stdout}}'); - - \rewind($stream); - $streamContents = \stream_get_contents($stream); - - $this->assertSame('{{stdout}}' . PHP_EOL, $streamContents); - } - - /** - * @dataProvider getReturnValues - */ - public function testWriteReturnValue($input, $expected) - { - $output = $this->getOutput(); - $stream = $output->getStream(); - $shell = new Shell($this->getConfig()); - $shell->setOutput($output); - - $shell->writeReturnValue($input); - \rewind($stream); - $this->assertEquals($expected, \stream_get_contents($stream)); - } - - public function getReturnValues() - { - return [ - ['{{return value}}', "=> \"\033[32m{{return value}}\033[39m\"" . PHP_EOL], - [1, "=> \033[35m1\033[39m" . PHP_EOL], - ]; - } - - /** - * @dataProvider getRenderedExceptions - */ - public function testWriteException($exception, $expected) - { - $output = $this->getOutput(); - $stream = $output->getStream(); - $shell = new Shell($this->getConfig()); - $shell->setOutput($output); - - $shell->writeException($exception); - \rewind($stream); - $this->assertSame($expected, \stream_get_contents($stream)); - } - - public function getRenderedExceptions() - { - return [ - [new \Exception('{{message}}'), "Exception with message '{{message}}'" . PHP_EOL], - ]; - } - - /** - * @dataProvider getExecuteValues - */ - public function testShellExecute($input, $expected) - { - $output = $this->getOutput(); - $stream = $output->getStream(); - $shell = new Shell($this->getConfig()); - $shell->setOutput($output); - $this->assertEquals($expected, $shell->execute($input)); - \rewind($stream); - $this->assertSame('', \stream_get_contents($stream)); - } - - public function getExecuteValues() - { - return [ - ['return 12', 12], - ['"{{return value}}"', '{{return value}}'], - ['1', '1'], - ]; - } - - /** - * @dataProvider commandsToHas - */ - public function testHasCommand($command, $has) - { - $shell = new Shell($this->getConfig()); - - // :-/ - $refl = new \ReflectionClass('Psy\\Shell'); - $method = $refl->getMethod('hasCommand'); - $method->setAccessible(true); - - $this->assertEquals($method->invokeArgs($shell, [$command]), $has); - } - - public function commandsToHas() - { - return [ - ['help', true], - ['help help', true], - ['"help"', false], - ['"help help"', false], - ['ls -al ', true], - ['ls "-al" ', true], - ['ls"-al"', false], - [' q', true], - [' q --help', true], - ['"q"', false], - ['"q",', false], - ]; - } - - private function getOutput() - { - $stream = \fopen('php://memory', 'w+'); - $this->streams[] = $stream; - - $output = new StreamOutput($stream, StreamOutput::VERBOSITY_NORMAL, false); - - return $output; - } - - private function getConfig(array $config = []) - { - // Mebbe there's a better way than this? - $dir = \tempnam(\sys_get_temp_dir(), 'psysh_shell_test_'); - \unlink($dir); - - $defaults = [ - 'configDir' => $dir, - 'dataDir' => $dir, - 'runtimeDir' => $dir, - ]; - - return new Configuration(\array_merge($defaults, $config)); - } -} diff --git a/paragonik-backend/vendor/psy/psysh/test/Sudo/SudoVisitorTest.php b/paragonik-backend/vendor/psy/psysh/test/Sudo/SudoVisitorTest.php deleted file mode 100644 index 1f2042c..0000000 --- a/paragonik-backend/vendor/psy/psysh/test/Sudo/SudoVisitorTest.php +++ /dev/null @@ -1,142 +0,0 @@ -traverser = new NodeTraverser(); - $this->traverser->addVisitor(new SudoVisitor()); - } - - /** - * @dataProvider propertyFetches - */ - public function testPropertyFetch($from, $to) - { - $this->assertProcessesAs($from, $to); - } - - public function propertyFetches() - { - return [ - ['$a->b', "\Psy\Sudo::fetchProperty(\$a, 'b');"], - ['$a->$b', '\Psy\Sudo::fetchProperty($a, $b);'], - ["\$a->{'b'}", "\Psy\Sudo::fetchProperty(\$a, 'b');"], - ]; - } - - /** - * @dataProvider propertyAssigns - */ - public function testPropertyAssign($from, $to) - { - $this->assertProcessesAs($from, $to); - } - - public function propertyAssigns() - { - return [ - ['$a->b = $c', "\Psy\Sudo::assignProperty(\$a, 'b', \$c);"], - ['$a->$b = $c', '\Psy\Sudo::assignProperty($a, $b, $c);'], - ["\$a->{'b'} = \$c", "\Psy\Sudo::assignProperty(\$a, 'b', \$c);"], - ]; - } - - /** - * @dataProvider methodCalls - */ - public function testMethodCall($from, $to) - { - $this->assertProcessesAs($from, $to); - } - - public function methodCalls() - { - return [ - ['$a->b()', "\Psy\Sudo::callMethod(\$a, 'b');"], - ['$a->$b()', '\Psy\Sudo::callMethod($a, $b);'], - ["\$a->b(\$c, 'd')", "\Psy\Sudo::callMethod(\$a, 'b', \$c, 'd');"], - ["\$a->\$b(\$c, 'd')", "\Psy\Sudo::callMethod(\$a, \$b, \$c, 'd');"], - ]; - } - - /** - * @dataProvider staticPropertyFetches - */ - public function testStaticPropertyFetch($from, $to) - { - $this->assertProcessesAs($from, $to); - } - - public function staticPropertyFetches() - { - return [ - ['A::$b', "\Psy\Sudo::fetchStaticProperty('A', 'b');"], - ['$a::$b', "\Psy\Sudo::fetchStaticProperty(\$a, 'b');"], - ]; - } - - /** - * @dataProvider staticPropertyAssigns - */ - public function testStaticPropertyAssign($from, $to) - { - $this->assertProcessesAs($from, $to); - } - - public function staticPropertyAssigns() - { - return [ - ['A::$b = $c', "\Psy\Sudo::assignStaticProperty('A', 'b', \$c);"], - ['$a::$b = $c', "\Psy\Sudo::assignStaticProperty(\$a, 'b', \$c);"], - ]; - } - - /** - * @dataProvider staticCalls - */ - public function testStaticCall($from, $to) - { - $this->assertProcessesAs($from, $to); - } - - public function staticCalls() - { - return [ - ['A::b()', "\Psy\Sudo::callStatic('A', 'b');"], - ['A::$b()', "\Psy\Sudo::callStatic('A', \$b);"], - ["A::b(\$c, 'd')", "\Psy\Sudo::callStatic('A', 'b', \$c, 'd');"], - ["A::\$b(\$c, 'd')", "\Psy\Sudo::callStatic('A', \$b, \$c, 'd');"], - ]; - } - - /** - * @dataProvider classConstFetches - */ - public function testClassConstFetch($from, $to) - { - $this->assertProcessesAs($from, $to); - } - - public function classConstFetches() - { - return [ - ['A::B', "\Psy\Sudo::fetchClassConst('A', 'B');"], - ]; - } -} diff --git a/paragonik-backend/vendor/psy/psysh/test/SudoTest.php b/paragonik-backend/vendor/psy/psysh/test/SudoTest.php deleted file mode 100644 index 6123db0..0000000 --- a/paragonik-backend/vendor/psy/psysh/test/SudoTest.php +++ /dev/null @@ -1,80 +0,0 @@ -markTestSkipped('YOLO'); - } - } - - public function testFetchProperty() - { - $obj = new ClassWithSecrets(); - $this->assertSame('private and prop', Sudo::fetchProperty($obj, 'privateProp')); - } - - public function testAssignProperty() - { - $obj = new ClassWithSecrets(); - $this->assertSame('private and prop', Sudo::fetchProperty($obj, 'privateProp')); - $this->assertSame('not so private now', Sudo::assignProperty($obj, 'privateProp', 'not so private now')); - $this->assertSame('not so private now', Sudo::fetchProperty($obj, 'privateProp')); - } - - public function testCallMethod() - { - $obj = new ClassWithSecrets(); - $this->assertSame('private and method', Sudo::callMethod($obj, 'privateMethod')); - $this->assertSame('private and method with 1', Sudo::callMethod($obj, 'privateMethod', 1)); - $this->assertSame( - 'private and method with ["foo",2]', - Sudo::callMethod($obj, 'privateMethod', ['foo', 2] - )); - } - - public function testFetchStaticProperty() - { - $obj = new ClassWithSecrets(); - $this->assertSame('private and static and prop', Sudo::fetchStaticProperty($obj, 'privateStaticProp')); - } - - public function testAssignStaticProperty() - { - $obj = new ClassWithSecrets(); - $this->assertSame('private and static and prop', Sudo::fetchStaticProperty($obj, 'privateStaticProp')); - $this->assertSame('not so private now', Sudo::assignStaticProperty($obj, 'privateStaticProp', 'not so private now')); - $this->assertSame('not so private now', Sudo::fetchStaticProperty($obj, 'privateStaticProp')); - } - - public function testCallStatic() - { - $obj = new ClassWithSecrets(); - $this->assertSame('private and static and method', Sudo::callStatic($obj, 'privateStaticMethod')); - $this->assertSame('private and static and method with 1', Sudo::callStatic($obj, 'privateStaticMethod', 1)); - $this->assertSame( - 'private and static and method with ["foo",2]', - Sudo::callStatic($obj, 'privateStaticMethod', ['foo', 2] - )); - } - - public function testFetchClassConst() - { - $obj = new ClassWithSecrets(); - $this->assertSame('private and const', Sudo::fetchClassConst($obj, 'PRIVATE_CONST')); - } -} diff --git a/paragonik-backend/vendor/psy/psysh/test/TabCompletion/AutoCompleterTest.php b/paragonik-backend/vendor/psy/psysh/test/TabCompletion/AutoCompleterTest.php deleted file mode 100644 index d98d452..0000000 --- a/paragonik-backend/vendor/psy/psysh/test/TabCompletion/AutoCompleterTest.php +++ /dev/null @@ -1,145 +0,0 @@ -getAutoCompleter(); - foreach ($matchers as $matcher) { - if ($matcher instanceof ContextAware) { - $matcher->setContext($context); - } - $tabCompletion->addMatcher($matcher); - } - - $context->setAll(['foo' => 12, 'bar' => new \DOMDocument()]); - - $code = $tabCompletion->processCallback('', 0, [ - 'line_buffer' => $line, - 'point' => 0, - 'end' => \strlen($line), - ]); - - foreach ($mustContain as $mc) { - $this->assertContains($mc, $code); - } - - foreach ($mustNotContain as $mnc) { - $this->assertNotContains($mnc, $code); - } - } - - /** - * TODO - * ==== - * draft, open to modifications - * - [ ] if the variable is an array, return the square bracket for completion - * - [ ] if the variable is a constructor or method, reflect to complete as a function call - * - [ ] if the preceding token is a variable, call operators or keywords compatible for completion - * - [X] a command always should be the second token after php_open_tag - * - [X] keywords are never consecutive - * - [X] namespacing completion should work just fine - * - [X] after a new keyword, should always be a class constructor, never a function call or keyword, constant, - * or variable that does not contain a existing class name. - * - [X] on a namespaced constructor the completion must show the classes related, not constants. - * - * @return array - */ - public function classesInput() - { - return [ - // input, must had, must not had - ['T_OPE', ['T_OPEN_TAG'], []], - ['st', ['stdClass'], []], - ['stdCla', ['stdClass'], []], - ['new s', ['stdClass'], []], - [ - 'new ', - ['stdClass', 'Psy\\Context', 'Psy\\Configuration'], - ['require', 'array_search', 'T_OPEN_TAG', '$foo'], - ], - ['new Psy\\C', ['Context'], ['CASE_LOWER']], - ['\s', ['stdClass'], []], - ['array_', ['array_search', 'array_map', 'array_merge'], []], - ['$bar->', ['load'], []], - ['$b', ['bar'], []], - ['6 + $b', ['bar'], []], - ['$f', ['foo'], []], - ['l', ['ls'], []], - ['ls ', [], ['ls']], - ['sho', ['show'], []], - ['12 + clone $', ['foo'], []], - // array( - // '$foo ', - // array('+', 'clone'), - // array('$foo', 'DOMDocument', 'array_map') - // ), requires a operator matcher? - ['$', ['foo', 'bar'], ['require', 'array_search', 'T_OPEN_TAG', 'Psy']], - [ - 'Psy\\', - ['Context', 'TabCompletion\\Matcher\\AbstractMatcher'], - ['require', 'array_search'], - ], - [ - 'Psy\Test\TabCompletion\StaticSample::CO', - ['StaticSample::CONSTANT_VALUE'], - [], - ], - [ - 'Psy\Test\TabCompletion\StaticSample::', - ['StaticSample::$staticVariable'], - [], - ], - [ - 'Psy\Test\TabCompletion\StaticSample::', - ['StaticSample::staticFunction'], - [], - ], - ]; - } -} diff --git a/paragonik-backend/vendor/psy/psysh/test/TabCompletion/StaticSample.php b/paragonik-backend/vendor/psy/psysh/test/TabCompletion/StaticSample.php deleted file mode 100644 index e0de2f0..0000000 --- a/paragonik-backend/vendor/psy/psysh/test/TabCompletion/StaticSample.php +++ /dev/null @@ -1,27 +0,0 @@ -getMockBuilder('ReflectionClass') - ->disableOriginalConstructor() - ->getMock(); - - $reflector->expects($this->once()) - ->method('getDocComment') - ->will($this->returnValue($comment)); - - $docblock = new Docblock($reflector); - - $this->assertSame($body, $docblock->desc); - - foreach ($tags as $tag => $value) { - $this->assertTrue($docblock->hasTag($tag)); - $this->assertEquals($value, $docblock->tag($tag)); - } - } - - public function comments() - { - if (\defined('HHVM_VERSION')) { - $this->markTestSkipped('We have issues with PHPUnit mocks on HHVM.'); - } - - return [ - ['', '', []], - [ - '/** - * This is a docblock - * - * @throws \Exception with a description - */', - 'This is a docblock', - [ - 'throws' => [['type' => '\Exception', 'desc' => 'with a description']], - ], - ], - [ - '/** - * This is a slightly longer docblock - * - * @param int $foo Is a Foo - * @param string $bar With some sort of description - * @param \ClassName $baz is cool too - * - * @return int At least it isn\'t a string - */', - 'This is a slightly longer docblock', - [ - 'param' => [ - ['type' => 'int', 'desc' => 'Is a Foo', 'var' => '$foo'], - ['type' => 'string', 'desc' => 'With some sort of description', 'var' => '$bar'], - ['type' => '\ClassName', 'desc' => 'is cool too', 'var' => '$baz'], - ], - 'return' => [ - ['type' => 'int', 'desc' => 'At least it isn\'t a string'], - ], - ], - ], - [ - '/** - * This is a docblock! - * - * It spans lines, too! - * - * @tagname plus a description - * - * @return - */', - "This is a docblock!\n\nIt spans lines, too!", - [ - 'tagname' => ['plus a description'], - ], - ], - ]; - } -} diff --git a/paragonik-backend/vendor/psy/psysh/test/Util/MirrorTest.php b/paragonik-backend/vendor/psy/psysh/test/Util/MirrorTest.php deleted file mode 100644 index 585fffb..0000000 --- a/paragonik-backend/vendor/psy/psysh/test/Util/MirrorTest.php +++ /dev/null @@ -1,86 +0,0 @@ -assertInstanceOf('ReflectionFunction', $refl); - - $refl = Mirror::get('Psy\Test\Util\MirrorTest'); - $this->assertInstanceOf('ReflectionClass', $refl); - - $refl = Mirror::get($this); - $this->assertInstanceOf('ReflectionObject', $refl); - - $refl = Mirror::get($this, 'FOO'); - if (\version_compare(PHP_VERSION, '7.1.0', '>=')) { - $this->assertInstanceOf('ReflectionClassConstant', $refl); - } else { - $this->assertInstanceOf('Psy\Reflection\ReflectionClassConstant', $refl); - } - - $refl = Mirror::get('PHP_VERSION'); - $this->assertInstanceOf('Psy\Reflection\ReflectionConstant_', $refl); - - $refl = Mirror::get($this, 'bar'); - $this->assertInstanceOf('ReflectionProperty', $refl); - - $refl = Mirror::get($this, 'baz'); - $this->assertInstanceOf('ReflectionProperty', $refl); - - $refl = Mirror::get($this, 'aPublicMethod'); - $this->assertInstanceOf('ReflectionMethod', $refl); - - $refl = Mirror::get($this, 'baz', Mirror::STATIC_PROPERTY); - $this->assertInstanceOf('ReflectionProperty', $refl); - } - - /** - * @expectedException \RuntimeException - */ - public function testMirrorThrowsExceptions() - { - Mirror::get($this, 'notAMethod'); - } - - /** - * @expectedException \InvalidArgumentException - * @dataProvider invalidArguments - */ - public function testMirrorThrowsInvalidArgumentExceptions($value) - { - Mirror::get($value); - } - - public function invalidArguments() - { - return [ - ['not_a_function_or_class'], - [[]], - [1], - ]; - } -} diff --git a/paragonik-backend/vendor/psy/psysh/test/Util/StrTest.php b/paragonik-backend/vendor/psy/psysh/test/Util/StrTest.php deleted file mode 100644 index 4f99a79..0000000 --- a/paragonik-backend/vendor/psy/psysh/test/Util/StrTest.php +++ /dev/null @@ -1,31 +0,0 @@ -assertSame($expected, Str::unvis($input)); - } - - public function unvisProvider() - { - //return require_once(__DIR__.'/../fixtures/unvis_fixtures.php'); - return \json_decode(\file_get_contents(__DIR__ . '/../fixtures/unvis_fixtures.json')); - } -} diff --git a/paragonik-backend/vendor/psy/psysh/test/VersionUpdater/GitHubCheckerTest.php b/paragonik-backend/vendor/psy/psysh/test/VersionUpdater/GitHubCheckerTest.php deleted file mode 100644 index 7d12d47..0000000 --- a/paragonik-backend/vendor/psy/psysh/test/VersionUpdater/GitHubCheckerTest.php +++ /dev/null @@ -1,82 +0,0 @@ -getMockBuilder('Psy\\VersionUpdater\\GitHubChecker') - ->setMethods(['fetchLatestRelease']) - ->getMock(); - $checker->expects($this->once())->method('fetchLatestRelease')->willReturn($input); - $checker->isLatest(); - } - - /** - * @dataProvider jsonResults - * - * @param bool $assertion - * @param mixed $input - */ - public function testDataSetResults($assertion, $input) - { - $checker = $this->getMockBuilder('Psy\\VersionUpdater\\GitHubChecker') - ->setMethods(['fetchLatestRelease']) - ->getMock(); - $checker->expects($this->once())->method('fetchLatestRelease')->willReturn($input); - $this->assertSame($assertion, $checker->isLatest()); - } - - /** - * @return array - */ - public function jsonResults() - { - return [ - [false, \json_decode('{"tag_name":"v9.0.0"}')], - [true, \json_decode('{"tag_name":"v' . Shell::VERSION . '"}')], - [true, \json_decode('{"tag_name":"v0.0.1"}')], - [true, \json_decode('{"tag_name":"v0.4.1-alpha"}')], - [true, \json_decode('{"tag_name":"v0.4.2-beta3"}')], - [true, \json_decode('{"tag_name":"v0.0.1"}')], - [true, \json_decode('{"tag_name":""}')], - ]; - } - - /** - * @return array - */ - public function malformedResults() - { - return [ - [null], - [false], - [true], - [\json_decode('{"foo":"bar"}')], - [\json_decode('{}')], - [\json_decode('[]')], - [[]], - [\json_decode('{"tag_name":false"}')], - [\json_decode('{"tag_name":true"}')], - ]; - } -} diff --git a/paragonik-backend/vendor/psy/psysh/test/VersionUpdater/NoopCheckerTest.php b/paragonik-backend/vendor/psy/psysh/test/VersionUpdater/NoopCheckerTest.php deleted file mode 100644 index b9ba568..0000000 --- a/paragonik-backend/vendor/psy/psysh/test/VersionUpdater/NoopCheckerTest.php +++ /dev/null @@ -1,25 +0,0 @@ -assertTrue($checker->isLatest()); - $this->assertEquals(Shell::VERSION, $checker->getLatest()); - } -} diff --git a/paragonik-backend/vendor/psy/psysh/test/fixtures/config.php b/paragonik-backend/vendor/psy/psysh/test/fixtures/config.php deleted file mode 100644 index 4c74b79..0000000 --- a/paragonik-backend/vendor/psy/psysh/test/fixtures/config.php +++ /dev/null @@ -1,20 +0,0 @@ -setRuntimeDir(\sys_get_temp_dir() . '/psysh_test/withconfig/temp'); - -return [ - 'useReadline' => true, - 'usePcntl' => false, - 'requireSemicolons' => false, - 'useUnicode' => true, - 'errorLoggingLevel' => E_ALL & ~E_NOTICE, -]; diff --git a/paragonik-backend/vendor/psy/psysh/test/fixtures/default/.config/psysh/config.php b/paragonik-backend/vendor/psy/psysh/test/fixtures/default/.config/psysh/config.php deleted file mode 100644 index b3d9bbc..0000000 --- a/paragonik-backend/vendor/psy/psysh/test/fixtures/default/.config/psysh/config.php +++ /dev/null @@ -1 +0,0 @@ - false, - 'usePcntl' => true, - 'requireSemicolons' => true, - 'useUnicode' => false, -); diff --git a/paragonik-backend/vendor/psy/psysh/test/fixtures/unvis_fixtures.json b/paragonik-backend/vendor/psy/psysh/test/fixtures/unvis_fixtures.json deleted file mode 100644 index 960fb02..0000000 --- a/paragonik-backend/vendor/psy/psysh/test/fixtures/unvis_fixtures.json +++ /dev/null @@ -1 +0,0 @@ -[["", ""], ["\\^A", "\u0001"], ["\\^B", "\u0002"], ["\\^C", "\u0003"], ["\\^D", "\u0004"], ["\\^E", "\u0005"], ["\\^F", "\u0006"], ["\\^G", "\u0007"], ["\\^H", "\b"], ["\\^I", "\t"], ["\\^J", "\n"], ["\\^K", "\u000b"], ["\\^L", "\f"], ["\\^M", "\r"], ["\\^N", "\u000e"], ["\\^O", "\u000f"], ["\\^P", "\u0010"], ["\\^Q", "\u0011"], ["\\^R", "\u0012"], ["\\^S", "\u0013"], ["\\^T", "\u0014"], ["\\^U", "\u0015"], ["\\^V", "\u0016"], ["\\^W", "\u0017"], ["\\^X", "\u0018"], ["\\^Y", "\u0019"], ["\\^Z", "\u001a"], ["\\^[", "\u001b"], ["\\^\\", "\u001c"], ["\\^]", "\u001d"], ["\\^^", "\u001e"], ["\\^_", "\u001f"], ["\\040", " "], ["!", "!"], ["\"", "\""], ["#", "#"], ["$", "$"], ["%", "%"], ["&", "&"], ["'", "'"], ["(", "("], [")", ")"], ["*", "*"], ["+", "+"], [",", ","], ["-", "-"], [".", "."], ["/", "/"], ["0", "0"], ["1", "1"], ["2", "2"], ["3", "3"], ["4", "4"], ["5", "5"], ["6", "6"], ["7", "7"], ["8", "8"], ["9", "9"], [":", ":"], [";", ";"], ["<", "<"], ["=", "="], [">", ">"], ["?", "?"], ["@", "@"], ["A", "A"], ["B", "B"], ["C", "C"], ["D", "D"], ["E", "E"], ["F", "F"], ["G", "G"], ["H", "H"], ["I", "I"], ["J", "J"], ["K", "K"], ["L", "L"], ["M", "M"], ["N", "N"], ["O", "O"], ["P", "P"], ["Q", "Q"], ["R", "R"], ["S", "S"], ["T", "T"], ["U", "U"], ["V", "V"], ["W", "W"], ["X", "X"], ["Y", "Y"], ["Z", "Z"], ["[", "["], ["\\\\", "\\"], ["]", "]"], ["^", "^"], ["_", "_"], ["`", "`"], ["a", "a"], ["b", "b"], ["c", "c"], ["d", "d"], ["e", "e"], ["f", "f"], ["g", "g"], ["h", "h"], ["i", "i"], ["j", "j"], ["k", "k"], ["l", "l"], ["m", "m"], ["n", "n"], ["o", "o"], ["p", "p"], ["q", "q"], ["r", "r"], ["s", "s"], ["t", "t"], ["u", "u"], ["v", "v"], ["w", "w"], ["x", "x"], ["y", "y"], ["z", "z"], ["{", "{"], ["|", "|"], ["}", "}"], ["~", "~"], ["\\^?", "\u007f"], ["\\M-B\\M^@", "\u0080"], ["\\M-B\\M^A", "\u0081"], ["\\M-B\\M^B", "\u0082"], ["\\M-B\\M^C", "\u0083"], ["\\M-B\\M^D", "\u0084"], ["\\M-B\\M^E", "\u0085"], ["\\M-B\\M^F", "\u0086"], ["\\M-B\\M^G", "\u0087"], ["\\M-B\\M^H", "\u0088"], ["\\M-B\\M^I", "\u0089"], ["\\M-B\\M^J", "\u008a"], ["\\M-B\\M^K", "\u008b"], ["\\M-B\\M^L", "\u008c"], ["\\M-B\\M^M", "\u008d"], ["\\M-B\\M^N", "\u008e"], ["\\M-B\\M^O", "\u008f"], ["\\M-B\\M^P", "\u0090"], ["\\M-B\\M^Q", "\u0091"], ["\\M-B\\M^R", "\u0092"], ["\\M-B\\M^S", "\u0093"], ["\\M-B\\M^T", "\u0094"], ["\\M-B\\M^U", "\u0095"], ["\\M-B\\M^V", "\u0096"], ["\\M-B\\M^W", "\u0097"], ["\\M-B\\M^X", "\u0098"], ["\\M-B\\M^Y", "\u0099"], ["\\M-B\\M^Z", "\u009a"], ["\\M-B\\M^[", "\u009b"], ["\\M-B\\M^\\", "\u009c"], ["\\M-B\\M^]", "\u009d"], ["\\M-B\\M^^", "\u009e"], ["\\M-B\\M^_", "\u009f"], ["\\M-B\\240", "\u00a0"], ["\\M-B\\M-!", "\u00a1"], ["\\M-B\\M-\"", "\u00a2"], ["\\M-B\\M-#", "\u00a3"], ["\\M-B\\M-$", "\u00a4"], ["\\M-B\\M-%", "\u00a5"], ["\\M-B\\M-&", "\u00a6"], ["\\M-B\\M-'", "\u00a7"], ["\\M-B\\M-(", "\u00a8"], ["\\M-B\\M-)", "\u00a9"], ["\\M-B\\M-*", "\u00aa"], ["\\M-B\\M-+", "\u00ab"], ["\\M-B\\M-,", "\u00ac"], ["\\M-B\\M--", "\u00ad"], ["\\M-B\\M-.", "\u00ae"], ["\\M-B\\M-/", "\u00af"], ["\\M-B\\M-0", "\u00b0"], ["\\M-B\\M-1", "\u00b1"], ["\\M-B\\M-2", "\u00b2"], ["\\M-B\\M-3", "\u00b3"], ["\\M-B\\M-4", "\u00b4"], ["\\M-B\\M-5", "\u00b5"], ["\\M-B\\M-6", "\u00b6"], ["\\M-B\\M-7", "\u00b7"], ["\\M-B\\M-8", "\u00b8"], ["\\M-B\\M-9", "\u00b9"], ["\\M-B\\M-:", "\u00ba"], ["\\M-B\\M-;", "\u00bb"], ["\\M-B\\M-<", "\u00bc"], ["\\M-B\\M-=", "\u00bd"], ["\\M-B\\M->", "\u00be"], ["\\M-B\\M-?", "\u00bf"], ["\\M-C\\M^@", "\u00c0"], ["\\M-C\\M^A", "\u00c1"], ["\\M-C\\M^B", "\u00c2"], ["\\M-C\\M^C", "\u00c3"], ["\\M-C\\M^D", "\u00c4"], ["\\M-C\\M^E", "\u00c5"], ["\\M-C\\M^F", "\u00c6"], ["\\M-C\\M^G", "\u00c7"], ["\\M-C\\M^H", "\u00c8"], ["\\M-C\\M^I", "\u00c9"], ["\\M-C\\M^J", "\u00ca"], ["\\M-C\\M^K", "\u00cb"], ["\\M-C\\M^L", "\u00cc"], ["\\M-C\\M^M", "\u00cd"], ["\\M-C\\M^N", "\u00ce"], ["\\M-C\\M^O", "\u00cf"], ["\\M-C\\M^P", "\u00d0"], ["\\M-C\\M^Q", "\u00d1"], ["\\M-C\\M^R", "\u00d2"], ["\\M-C\\M^S", "\u00d3"], ["\\M-C\\M^T", "\u00d4"], ["\\M-C\\M^U", "\u00d5"], ["\\M-C\\M^V", "\u00d6"], ["\\M-C\\M^W", "\u00d7"], ["\\M-C\\M^X", "\u00d8"], ["\\M-C\\M^Y", "\u00d9"], ["\\M-C\\M^Z", "\u00da"], ["\\M-C\\M^[", "\u00db"], ["\\M-C\\M^\\", "\u00dc"], ["\\M-C\\M^]", "\u00dd"], ["\\M-C\\M^^", "\u00de"], ["\\M-C\\M^_", "\u00df"], ["\\M-C\\240", "\u00e0"], ["\\M-C\\M-!", "\u00e1"], ["\\M-C\\M-\"", "\u00e2"], ["\\M-C\\M-#", "\u00e3"], ["\\M-C\\M-$", "\u00e4"], ["\\M-C\\M-%", "\u00e5"], ["\\M-C\\M-&", "\u00e6"], ["\\M-C\\M-'", "\u00e7"], ["\\M-C\\M-(", "\u00e8"], ["\\M-C\\M-)", "\u00e9"], ["\\M-C\\M-*", "\u00ea"], ["\\M-C\\M-+", "\u00eb"], ["\\M-C\\M-,", "\u00ec"], ["\\M-C\\M--", "\u00ed"], ["\\M-C\\M-.", "\u00ee"], ["\\M-C\\M-/", "\u00ef"], ["\\M-C\\M-0", "\u00f0"], ["\\M-C\\M-1", "\u00f1"], ["\\M-C\\M-2", "\u00f2"], ["\\M-C\\M-3", "\u00f3"], ["\\M-C\\M-4", "\u00f4"], ["\\M-C\\M-5", "\u00f5"], ["\\M-C\\M-6", "\u00f6"], ["\\M-C\\M-7", "\u00f7"], ["\\M-C\\M-8", "\u00f8"], ["\\M-C\\M-9", "\u00f9"], ["\\M-C\\M-:", "\u00fa"], ["\\M-C\\M-;", "\u00fb"], ["\\M-C\\M-<", "\u00fc"], ["\\M-C\\M-=", "\u00fd"], ["\\M-C\\M->", "\u00fe"], ["\\M-C\\M-?", "\u00ff"], ["\\M-D\\M^@", "\u0100"], ["\\M-D\\M^A", "\u0101"], ["\\M-D\\M^B", "\u0102"], ["\\M-D\\M^C", "\u0103"], ["\\M-D\\M^D", "\u0104"], ["\\M-D\\M^E", "\u0105"], ["\\M-D\\M^F", "\u0106"], ["\\M-D\\M^G", "\u0107"], ["\\M-D\\M^H", "\u0108"], ["\\M-D\\M^I", "\u0109"], ["\\M-D\\M^J", "\u010a"], ["\\M-D\\M^K", "\u010b"], ["\\M-D\\M^L", "\u010c"], ["\\M-D\\M^M", "\u010d"], ["\\M-D\\M^N", "\u010e"], ["\\M-D\\M^O", "\u010f"], ["\\M-D\\M^P", "\u0110"], ["\\M-D\\M^Q", "\u0111"], ["\\M-D\\M^R", "\u0112"], ["\\M-D\\M^S", "\u0113"], ["\\M-D\\M^T", "\u0114"], ["\\M-D\\M^U", "\u0115"], ["\\M-D\\M^V", "\u0116"], ["\\M-D\\M^W", "\u0117"], ["\\M-D\\M^X", "\u0118"], ["\\M-D\\M^Y", "\u0119"], ["\\M-D\\M^Z", "\u011a"], ["\\M-D\\M^[", "\u011b"], ["\\M-D\\M^\\", "\u011c"], ["\\M-D\\M^]", "\u011d"], ["\\M-D\\M^^", "\u011e"], ["\\M-D\\M^_", "\u011f"], ["\\M-D\\240", "\u0120"], ["\\M-D\\M-!", "\u0121"], ["\\M-D\\M-\"", "\u0122"], ["\\M-D\\M-#", "\u0123"], ["\\M-D\\M-$", "\u0124"], ["\\M-D\\M-%", "\u0125"], ["\\M-D\\M-&", "\u0126"], ["\\M-D\\M-'", "\u0127"], ["\\M-D\\M-(", "\u0128"], ["\\M-D\\M-)", "\u0129"], ["\\M-D\\M-*", "\u012a"], ["\\M-D\\M-+", "\u012b"], ["\\M-D\\M-,", "\u012c"], ["\\M-D\\M--", "\u012d"], ["\\M-D\\M-.", "\u012e"], ["\\M-D\\M-/", "\u012f"], ["\\M-D\\M-0", "\u0130"], ["\\M-D\\M-1", "\u0131"], ["\\M-D\\M-2", "\u0132"], ["\\M-D\\M-3", "\u0133"], ["\\M-D\\M-4", "\u0134"], ["\\M-D\\M-5", "\u0135"], ["\\M-D\\M-6", "\u0136"], ["\\M-D\\M-7", "\u0137"], ["\\M-D\\M-8", "\u0138"], ["\\M-D\\M-9", "\u0139"], ["\\M-D\\M-:", "\u013a"], ["\\M-D\\M-;", "\u013b"], ["\\M-D\\M-<", "\u013c"], ["\\M-D\\M-=", "\u013d"], ["\\M-D\\M->", "\u013e"], ["\\M-D\\M-?", "\u013f"], ["\\M-E\\M^@", "\u0140"], ["\\M-E\\M^A", "\u0141"], ["\\M-E\\M^B", "\u0142"], ["\\M-E\\M^C", "\u0143"], ["\\M-E\\M^D", "\u0144"], ["\\M-E\\M^E", "\u0145"], ["\\M-E\\M^F", "\u0146"], ["\\M-E\\M^G", "\u0147"], ["\\M-E\\M^H", "\u0148"], ["\\M-E\\M^I", "\u0149"], ["\\M-E\\M^J", "\u014a"], ["\\M-E\\M^K", "\u014b"], ["\\M-E\\M^L", "\u014c"], ["\\M-E\\M^M", "\u014d"], ["\\M-E\\M^N", "\u014e"], ["\\M-E\\M^O", "\u014f"], ["\\M-E\\M^P", "\u0150"], ["\\M-E\\M^Q", "\u0151"], ["\\M-E\\M^R", "\u0152"], ["\\M-E\\M^S", "\u0153"], ["\\M-E\\M^T", "\u0154"], ["\\M-E\\M^U", "\u0155"], ["\\M-E\\M^V", "\u0156"], ["\\M-E\\M^W", "\u0157"], ["\\M-E\\M^X", "\u0158"], ["\\M-E\\M^Y", "\u0159"], ["\\M-E\\M^Z", "\u015a"], ["\\M-E\\M^[", "\u015b"], ["\\M-E\\M^\\", "\u015c"], ["\\M-E\\M^]", "\u015d"], ["\\M-E\\M^^", "\u015e"], ["\\M-E\\M^_", "\u015f"], ["\\M-E\\240", "\u0160"], ["\\M-E\\M-!", "\u0161"], ["\\M-E\\M-\"", "\u0162"], ["\\M-E\\M-#", "\u0163"], ["\\M-E\\M-$", "\u0164"], ["\\M-E\\M-%", "\u0165"], ["\\M-E\\M-&", "\u0166"], ["\\M-E\\M-'", "\u0167"], ["\\M-E\\M-(", "\u0168"], ["\\M-E\\M-)", "\u0169"], ["\\M-E\\M-*", "\u016a"], ["\\M-E\\M-+", "\u016b"], ["\\M-E\\M-,", "\u016c"], ["\\M-E\\M--", "\u016d"], ["\\M-E\\M-.", "\u016e"], ["\\M-E\\M-/", "\u016f"], ["\\M-E\\M-0", "\u0170"], ["\\M-E\\M-1", "\u0171"], ["\\M-E\\M-2", "\u0172"], ["\\M-E\\M-3", "\u0173"], ["\\M-E\\M-4", "\u0174"], ["\\M-E\\M-5", "\u0175"], ["\\M-E\\M-6", "\u0176"], ["\\M-E\\M-7", "\u0177"], ["\\M-E\\M-8", "\u0178"], ["\\M-E\\M-9", "\u0179"], ["\\M-E\\M-:", "\u017a"], ["\\M-E\\M-;", "\u017b"], ["\\M-E\\M-<", "\u017c"], ["\\M-E\\M-=", "\u017d"], ["\\M-E\\M->", "\u017e"], ["\\M-E\\M-?", "\u017f"], ["\\M-F\\M^@", "\u0180"], ["\\M-F\\M^A", "\u0181"], ["\\M-F\\M^B", "\u0182"], ["\\M-F\\M^C", "\u0183"], ["\\M-F\\M^D", "\u0184"], ["\\M-F\\M^E", "\u0185"], ["\\M-F\\M^F", "\u0186"], ["\\M-F\\M^G", "\u0187"], ["\\M-F\\M^H", "\u0188"], ["\\M-F\\M^I", "\u0189"], ["\\M-F\\M^J", "\u018a"], ["\\M-F\\M^K", "\u018b"], ["\\M-F\\M^L", "\u018c"], ["\\M-F\\M^M", "\u018d"], ["\\M-F\\M^N", "\u018e"], ["\\M-F\\M^O", "\u018f"], ["\\M-F\\M^P", "\u0190"], ["\\M-F\\M^Q", "\u0191"], ["\\M-F\\M^R", "\u0192"], ["\\M-F\\M^S", "\u0193"], ["\\M-F\\M^T", "\u0194"], ["\\M-F\\M^U", "\u0195"], ["\\M-F\\M^V", "\u0196"], ["\\M-F\\M^W", "\u0197"], ["\\M-F\\M^X", "\u0198"], ["\\M-F\\M^Y", "\u0199"], ["\\M-F\\M^Z", "\u019a"], ["\\M-F\\M^[", "\u019b"], ["\\M-F\\M^\\", "\u019c"], ["\\M-F\\M^]", "\u019d"], ["\\M-F\\M^^", "\u019e"], ["\\M-F\\M^_", "\u019f"], ["\\M-F\\240", "\u01a0"], ["\\M-F\\M-!", "\u01a1"], ["\\M-F\\M-\"", "\u01a2"], ["\\M-F\\M-#", "\u01a3"], ["\\M-F\\M-$", "\u01a4"], ["\\M-F\\M-%", "\u01a5"], ["\\M-F\\M-&", "\u01a6"], ["\\M-F\\M-'", "\u01a7"], ["\\M-F\\M-(", "\u01a8"], ["\\M-F\\M-)", "\u01a9"], ["\\M-F\\M-*", "\u01aa"], ["\\M-F\\M-+", "\u01ab"], ["\\M-F\\M-,", "\u01ac"], ["\\M-F\\M--", "\u01ad"], ["\\M-F\\M-.", "\u01ae"], ["\\M-F\\M-/", "\u01af"], ["\\M-F\\M-0", "\u01b0"], ["\\M-F\\M-1", "\u01b1"], ["\\M-F\\M-2", "\u01b2"], ["\\M-F\\M-3", "\u01b3"], ["\\M-F\\M-4", "\u01b4"], ["\\M-F\\M-5", "\u01b5"], ["\\M-F\\M-6", "\u01b6"], ["\\M-F\\M-7", "\u01b7"], ["\\M-F\\M-8", "\u01b8"], ["\\M-F\\M-9", "\u01b9"], ["\\M-F\\M-:", "\u01ba"], ["\\M-F\\M-;", "\u01bb"], ["\\M-F\\M-<", "\u01bc"], ["\\M-F\\M-=", "\u01bd"], ["\\M-F\\M->", "\u01be"], ["\\M-F\\M-?", "\u01bf"], ["\\M-G\\M^@", "\u01c0"], ["\\M-G\\M^A", "\u01c1"], ["\\M-G\\M^B", "\u01c2"], ["\\M-G\\M^C", "\u01c3"], ["\\M-G\\M^D", "\u01c4"], ["\\M-G\\M^E", "\u01c5"], ["\\M-G\\M^F", "\u01c6"], ["\\M-G\\M^G", "\u01c7"], ["\\M-G\\M^H", "\u01c8"], ["\\M-G\\M^I", "\u01c9"], ["\\M-G\\M^J", "\u01ca"], ["\\M-G\\M^K", "\u01cb"], ["\\M-G\\M^L", "\u01cc"], ["\\M-G\\M^M", "\u01cd"], ["\\M-G\\M^N", "\u01ce"], ["\\M-G\\M^O", "\u01cf"], ["\\M-G\\M^P", "\u01d0"], ["\\M-G\\M^Q", "\u01d1"], ["\\M-G\\M^R", "\u01d2"], ["\\M-G\\M^S", "\u01d3"], ["\\M-G\\M^T", "\u01d4"], ["\\M-G\\M^U", "\u01d5"], ["\\M-G\\M^V", "\u01d6"], ["\\M-G\\M^W", "\u01d7"], ["\\M-G\\M^X", "\u01d8"], ["\\M-G\\M^Y", "\u01d9"], ["\\M-G\\M^Z", "\u01da"], ["\\M-G\\M^[", "\u01db"], ["\\M-G\\M^\\", "\u01dc"], ["\\M-G\\M^]", "\u01dd"], ["\\M-G\\M^^", "\u01de"], ["\\M-G\\M^_", "\u01df"], ["\\M-G\\240", "\u01e0"], ["\\M-G\\M-!", "\u01e1"], ["\\M-G\\M-\"", "\u01e2"], ["\\M-G\\M-#", "\u01e3"], ["\\M-G\\M-$", "\u01e4"], ["\\M-G\\M-%", "\u01e5"], ["\\M-G\\M-&", "\u01e6"], ["\\M-G\\M-'", "\u01e7"], ["\\M-G\\M-(", "\u01e8"], ["\\M-G\\M-)", "\u01e9"], ["\\M-G\\M-*", "\u01ea"], ["\\M-G\\M-+", "\u01eb"], ["\\M-G\\M-,", "\u01ec"], ["\\M-G\\M--", "\u01ed"], ["\\M-G\\M-.", "\u01ee"], ["\\M-G\\M-/", "\u01ef"], ["\\M-G\\M-0", "\u01f0"], ["\\M-G\\M-1", "\u01f1"], ["\\M-G\\M-2", "\u01f2"], ["\\M-G\\M-3", "\u01f3"], ["\\M-G\\M-4", "\u01f4"], ["\\M-G\\M-5", "\u01f5"], ["\\M-G\\M-6", "\u01f6"], ["\\M-G\\M-7", "\u01f7"], ["\\M-G\\M-8", "\u01f8"], ["\\M-G\\M-9", "\u01f9"], ["\\M-G\\M-:", "\u01fa"], ["\\M-G\\M-;", "\u01fb"], ["\\M-G\\M-<", "\u01fc"], ["\\M-G\\M-=", "\u01fd"], ["\\M-G\\M->", "\u01fe"], ["\\M-G\\M-?", "\u01ff"], ["\\M-H\\M^@", "\u0200"], ["\\M-H\\M^A", "\u0201"], ["\\M-H\\M^B", "\u0202"], ["\\M-H\\M^C", "\u0203"], ["\\M-H\\M^D", "\u0204"], ["\\M-H\\M^E", "\u0205"], ["\\M-H\\M^F", "\u0206"], ["\\M-H\\M^G", "\u0207"], ["\\M-H\\M^H", "\u0208"], ["\\M-H\\M^I", "\u0209"], ["\\M-H\\M^J", "\u020a"], ["\\M-H\\M^K", "\u020b"], ["\\M-H\\M^L", "\u020c"], ["\\M-H\\M^M", "\u020d"], ["\\M-H\\M^N", "\u020e"], ["\\M-H\\M^O", "\u020f"], ["\\M-H\\M^P", "\u0210"], ["\\M-H\\M^Q", "\u0211"], ["\\M-H\\M^R", "\u0212"], ["\\M-H\\M^S", "\u0213"], ["\\M-H\\M^T", "\u0214"], ["\\M-H\\M^U", "\u0215"], ["\\M-H\\M^V", "\u0216"], ["\\M-H\\M^W", "\u0217"], ["\\M-H\\M^X", "\u0218"], ["\\M-H\\M^Y", "\u0219"], ["\\M-H\\M^Z", "\u021a"], ["\\M-H\\M^[", "\u021b"], ["\\M-H\\M^\\", "\u021c"], ["\\M-H\\M^]", "\u021d"], ["\\M-H\\M^^", "\u021e"], ["\\M-H\\M^_", "\u021f"], ["\\M-H\\240", "\u0220"], ["\\M-H\\M-!", "\u0221"], ["\\M-H\\M-\"", "\u0222"], ["\\M-H\\M-#", "\u0223"], ["\\M-H\\M-$", "\u0224"], ["\\M-H\\M-%", "\u0225"], ["\\M-H\\M-&", "\u0226"], ["\\M-H\\M-'", "\u0227"], ["\\M-H\\M-(", "\u0228"], ["\\M-H\\M-)", "\u0229"], ["\\M-H\\M-*", "\u022a"], ["\\M-H\\M-+", "\u022b"], ["\\M-H\\M-,", "\u022c"], ["\\M-H\\M--", "\u022d"], ["\\M-H\\M-.", "\u022e"], ["\\M-H\\M-/", "\u022f"], ["\\M-H\\M-0", "\u0230"], ["\\M-H\\M-1", "\u0231"], ["\\M-H\\M-2", "\u0232"], ["\\M-H\\M-3", "\u0233"], ["\\M-H\\M-4", "\u0234"], ["\\M-H\\M-5", "\u0235"], ["\\M-H\\M-6", "\u0236"], ["\\M-H\\M-7", "\u0237"], ["\\M-H\\M-8", "\u0238"], ["\\M-H\\M-9", "\u0239"], ["\\M-H\\M-:", "\u023a"], ["\\M-H\\M-;", "\u023b"], ["\\M-H\\M-<", "\u023c"], ["\\M-H\\M-=", "\u023d"], ["\\M-H\\M->", "\u023e"], ["\\M-H\\M-?", "\u023f"], ["\\M-I\\M^@", "\u0240"], ["\\M-I\\M^A", "\u0241"], ["\\M-I\\M^B", "\u0242"], ["\\M-I\\M^C", "\u0243"], ["\\M-I\\M^D", "\u0244"], ["\\M-I\\M^E", "\u0245"], ["\\M-I\\M^F", "\u0246"], ["\\M-I\\M^G", "\u0247"], ["\\M-I\\M^H", "\u0248"], ["\\M-I\\M^I", "\u0249"], ["\\M-I\\M^J", "\u024a"], ["\\M-I\\M^K", "\u024b"], ["\\M-I\\M^L", "\u024c"], ["\\M-I\\M^M", "\u024d"], ["\\M-I\\M^N", "\u024e"], ["\\M-I\\M^O", "\u024f"], ["\\M-M\\M-0", "\u0370"], ["\\M-M\\M-1", "\u0371"], ["\\M-M\\M-2", "\u0372"], ["\\M-M\\M-3", "\u0373"], ["\\M-M\\M-4", "\u0374"], ["\\M-M\\M-5", "\u0375"], ["\\M-M\\M-6", "\u0376"], ["\\M-M\\M-7", "\u0377"], ["\\M-M\\M-8", "\u0378"], ["\\M-M\\M-9", "\u0379"], ["\\M-M\\M-:", "\u037a"], ["\\M-M\\M-;", "\u037b"], ["\\M-M\\M-<", "\u037c"], ["\\M-M\\M-=", "\u037d"], ["\\M-M\\M->", "\u037e"], ["\\M-M\\M-?", "\u037f"], ["\\M-N\\M^@", "\u0380"], ["\\M-N\\M^A", "\u0381"], ["\\M-N\\M^B", "\u0382"], ["\\M-N\\M^C", "\u0383"], ["\\M-N\\M^D", "\u0384"], ["\\M-N\\M^E", "\u0385"], ["\\M-N\\M^F", "\u0386"], ["\\M-N\\M^G", "\u0387"], ["\\M-N\\M^H", "\u0388"], ["\\M-N\\M^I", "\u0389"], ["\\M-N\\M^J", "\u038a"], ["\\M-N\\M^K", "\u038b"], ["\\M-N\\M^L", "\u038c"], ["\\M-N\\M^M", "\u038d"], ["\\M-N\\M^N", "\u038e"], ["\\M-N\\M^O", "\u038f"], ["\\M-N\\M^P", "\u0390"], ["\\M-N\\M^Q", "\u0391"], ["\\M-N\\M^R", "\u0392"], ["\\M-N\\M^S", "\u0393"], ["\\M-N\\M^T", "\u0394"], ["\\M-N\\M^U", "\u0395"], ["\\M-N\\M^V", "\u0396"], ["\\M-N\\M^W", "\u0397"], ["\\M-N\\M^X", "\u0398"], ["\\M-N\\M^Y", "\u0399"], ["\\M-N\\M^Z", "\u039a"], ["\\M-N\\M^[", "\u039b"], ["\\M-N\\M^\\", "\u039c"], ["\\M-N\\M^]", "\u039d"], ["\\M-N\\M^^", "\u039e"], ["\\M-N\\M^_", "\u039f"], ["\\M-N\\240", "\u03a0"], ["\\M-N\\M-!", "\u03a1"], ["\\M-N\\M-\"", "\u03a2"], ["\\M-N\\M-#", "\u03a3"], ["\\M-N\\M-$", "\u03a4"], ["\\M-N\\M-%", "\u03a5"], ["\\M-N\\M-&", "\u03a6"], ["\\M-N\\M-'", "\u03a7"], ["\\M-N\\M-(", "\u03a8"], ["\\M-N\\M-)", "\u03a9"], ["\\M-N\\M-*", "\u03aa"], ["\\M-N\\M-+", "\u03ab"], ["\\M-N\\M-,", "\u03ac"], ["\\M-N\\M--", "\u03ad"], ["\\M-N\\M-.", "\u03ae"], ["\\M-N\\M-/", "\u03af"], ["\\M-N\\M-0", "\u03b0"], ["\\M-N\\M-1", "\u03b1"], ["\\M-N\\M-2", "\u03b2"], ["\\M-N\\M-3", "\u03b3"], ["\\M-N\\M-4", "\u03b4"], ["\\M-N\\M-5", "\u03b5"], ["\\M-N\\M-6", "\u03b6"], ["\\M-N\\M-7", "\u03b7"], ["\\M-N\\M-8", "\u03b8"], ["\\M-N\\M-9", "\u03b9"], ["\\M-N\\M-:", "\u03ba"], ["\\M-N\\M-;", "\u03bb"], ["\\M-N\\M-<", "\u03bc"], ["\\M-N\\M-=", "\u03bd"], ["\\M-N\\M->", "\u03be"], ["\\M-N\\M-?", "\u03bf"], ["\\M-O\\M^@", "\u03c0"], ["\\M-O\\M^A", "\u03c1"], ["\\M-O\\M^B", "\u03c2"], ["\\M-O\\M^C", "\u03c3"], ["\\M-O\\M^D", "\u03c4"], ["\\M-O\\M^E", "\u03c5"], ["\\M-O\\M^F", "\u03c6"], ["\\M-O\\M^G", "\u03c7"], ["\\M-O\\M^H", "\u03c8"], ["\\M-O\\M^I", "\u03c9"], ["\\M-O\\M^J", "\u03ca"], ["\\M-O\\M^K", "\u03cb"], ["\\M-O\\M^L", "\u03cc"], ["\\M-O\\M^M", "\u03cd"], ["\\M-O\\M^N", "\u03ce"], ["\\M-O\\M^O", "\u03cf"], ["\\M-O\\M^P", "\u03d0"], ["\\M-O\\M^Q", "\u03d1"], ["\\M-O\\M^R", "\u03d2"], ["\\M-O\\M^S", "\u03d3"], ["\\M-O\\M^T", "\u03d4"], ["\\M-O\\M^U", "\u03d5"], ["\\M-O\\M^V", "\u03d6"], ["\\M-O\\M^W", "\u03d7"], ["\\M-O\\M^X", "\u03d8"], ["\\M-O\\M^Y", "\u03d9"], ["\\M-O\\M^Z", "\u03da"], ["\\M-O\\M^[", "\u03db"], ["\\M-O\\M^\\", "\u03dc"], ["\\M-O\\M^]", "\u03dd"], ["\\M-O\\M^^", "\u03de"], ["\\M-O\\M^_", "\u03df"], ["\\M-O\\240", "\u03e0"], ["\\M-O\\M-!", "\u03e1"], ["\\M-O\\M-\"", "\u03e2"], ["\\M-O\\M-#", "\u03e3"], ["\\M-O\\M-$", "\u03e4"], ["\\M-O\\M-%", "\u03e5"], ["\\M-O\\M-&", "\u03e6"], ["\\M-O\\M-'", "\u03e7"], ["\\M-O\\M-(", "\u03e8"], ["\\M-O\\M-)", "\u03e9"], ["\\M-O\\M-*", "\u03ea"], ["\\M-O\\M-+", "\u03eb"], ["\\M-O\\M-,", "\u03ec"], ["\\M-O\\M--", "\u03ed"], ["\\M-O\\M-.", "\u03ee"], ["\\M-O\\M-/", "\u03ef"], ["\\M-O\\M-0", "\u03f0"], ["\\M-O\\M-1", "\u03f1"], ["\\M-O\\M-2", "\u03f2"], ["\\M-O\\M-3", "\u03f3"], ["\\M-O\\M-4", "\u03f4"], ["\\M-O\\M-5", "\u03f5"], ["\\M-O\\M-6", "\u03f6"], ["\\M-O\\M-7", "\u03f7"], ["\\M-O\\M-8", "\u03f8"], ["\\M-O\\M-9", "\u03f9"], ["\\M-O\\M-:", "\u03fa"], ["\\M-O\\M-;", "\u03fb"], ["\\M-O\\M-<", "\u03fc"], ["\\M-O\\M-=", "\u03fd"], ["\\M-O\\M->", "\u03fe"], ["\\M-O\\M-?", "\u03ff"], ["\\M-P\\M^@", "\u0400"], ["\\M-P\\M^A", "\u0401"], ["\\M-P\\M^B", "\u0402"], ["\\M-P\\M^C", "\u0403"], ["\\M-P\\M^D", "\u0404"], ["\\M-P\\M^E", "\u0405"], ["\\M-P\\M^F", "\u0406"], ["\\M-P\\M^G", "\u0407"], ["\\M-P\\M^H", "\u0408"], ["\\M-P\\M^I", "\u0409"], ["\\M-P\\M^J", "\u040a"], ["\\M-P\\M^K", "\u040b"], ["\\M-P\\M^L", "\u040c"], ["\\M-P\\M^M", "\u040d"], ["\\M-P\\M^N", "\u040e"], ["\\M-P\\M^O", "\u040f"], ["\\M-P\\M^P", "\u0410"], ["\\M-P\\M^Q", "\u0411"], ["\\M-P\\M^R", "\u0412"], ["\\M-P\\M^S", "\u0413"], ["\\M-P\\M^T", "\u0414"], ["\\M-P\\M^U", "\u0415"], ["\\M-P\\M^V", "\u0416"], ["\\M-P\\M^W", "\u0417"], ["\\M-P\\M^X", "\u0418"], ["\\M-P\\M^Y", "\u0419"], ["\\M-P\\M^Z", "\u041a"], ["\\M-P\\M^[", "\u041b"], ["\\M-P\\M^\\", "\u041c"], ["\\M-P\\M^]", "\u041d"], ["\\M-P\\M^^", "\u041e"], ["\\M-P\\M^_", "\u041f"], ["\\M-P\\240", "\u0420"], ["\\M-P\\M-!", "\u0421"], ["\\M-P\\M-\"", "\u0422"], ["\\M-P\\M-#", "\u0423"], ["\\M-P\\M-$", "\u0424"], ["\\M-P\\M-%", "\u0425"], ["\\M-P\\M-&", "\u0426"], ["\\M-P\\M-'", "\u0427"], ["\\M-P\\M-(", "\u0428"], ["\\M-P\\M-)", "\u0429"], ["\\M-P\\M-*", "\u042a"], ["\\M-P\\M-+", "\u042b"], ["\\M-P\\M-,", "\u042c"], ["\\M-P\\M--", "\u042d"], ["\\M-P\\M-.", "\u042e"], ["\\M-P\\M-/", "\u042f"], ["\\M-P\\M-0", "\u0430"], ["\\M-P\\M-1", "\u0431"], ["\\M-P\\M-2", "\u0432"], ["\\M-P\\M-3", "\u0433"], ["\\M-P\\M-4", "\u0434"], ["\\M-P\\M-5", "\u0435"], ["\\M-P\\M-6", "\u0436"], ["\\M-P\\M-7", "\u0437"], ["\\M-P\\M-8", "\u0438"], ["\\M-P\\M-9", "\u0439"], ["\\M-P\\M-:", "\u043a"], ["\\M-P\\M-;", "\u043b"], ["\\M-P\\M-<", "\u043c"], ["\\M-P\\M-=", "\u043d"], ["\\M-P\\M->", "\u043e"], ["\\M-P\\M-?", "\u043f"], ["\\M-Q\\M^@", "\u0440"], ["\\M-Q\\M^A", "\u0441"], ["\\M-Q\\M^B", "\u0442"], ["\\M-Q\\M^C", "\u0443"], ["\\M-Q\\M^D", "\u0444"], ["\\M-Q\\M^E", "\u0445"], ["\\M-Q\\M^F", "\u0446"], ["\\M-Q\\M^G", "\u0447"], ["\\M-Q\\M^H", "\u0448"], ["\\M-Q\\M^I", "\u0449"], ["\\M-Q\\M^J", "\u044a"], ["\\M-Q\\M^K", "\u044b"], ["\\M-Q\\M^L", "\u044c"], ["\\M-Q\\M^M", "\u044d"], ["\\M-Q\\M^N", "\u044e"], ["\\M-Q\\M^O", "\u044f"], ["\\M-Q\\M^P", "\u0450"], ["\\M-Q\\M^Q", "\u0451"], ["\\M-Q\\M^R", "\u0452"], ["\\M-Q\\M^S", "\u0453"], ["\\M-Q\\M^T", "\u0454"], ["\\M-Q\\M^U", "\u0455"], ["\\M-Q\\M^V", "\u0456"], ["\\M-Q\\M^W", "\u0457"], ["\\M-Q\\M^X", "\u0458"], ["\\M-Q\\M^Y", "\u0459"], ["\\M-Q\\M^Z", "\u045a"], ["\\M-Q\\M^[", "\u045b"], ["\\M-Q\\M^\\", "\u045c"], ["\\M-Q\\M^]", "\u045d"], ["\\M-Q\\M^^", "\u045e"], ["\\M-Q\\M^_", "\u045f"], ["\\M-Q\\240", "\u0460"], ["\\M-Q\\M-!", "\u0461"], ["\\M-Q\\M-\"", "\u0462"], ["\\M-Q\\M-#", "\u0463"], ["\\M-Q\\M-$", "\u0464"], ["\\M-Q\\M-%", "\u0465"], ["\\M-Q\\M-&", "\u0466"], ["\\M-Q\\M-'", "\u0467"], ["\\M-Q\\M-(", "\u0468"], ["\\M-Q\\M-)", "\u0469"], ["\\M-Q\\M-*", "\u046a"], ["\\M-Q\\M-+", "\u046b"], ["\\M-Q\\M-,", "\u046c"], ["\\M-Q\\M--", "\u046d"], ["\\M-Q\\M-.", "\u046e"], ["\\M-Q\\M-/", "\u046f"], ["\\M-Q\\M-0", "\u0470"], ["\\M-Q\\M-1", "\u0471"], ["\\M-Q\\M-2", "\u0472"], ["\\M-Q\\M-3", "\u0473"], ["\\M-Q\\M-4", "\u0474"], ["\\M-Q\\M-5", "\u0475"], ["\\M-Q\\M-6", "\u0476"], ["\\M-Q\\M-7", "\u0477"], ["\\M-Q\\M-8", "\u0478"], ["\\M-Q\\M-9", "\u0479"], ["\\M-Q\\M-:", "\u047a"], ["\\M-Q\\M-;", "\u047b"], ["\\M-Q\\M-<", "\u047c"], ["\\M-Q\\M-=", "\u047d"], ["\\M-Q\\M->", "\u047e"], ["\\M-Q\\M-?", "\u047f"], ["\\M-R\\M^@", "\u0480"], ["\\M-R\\M^A", "\u0481"], ["\\M-R\\M^B", "\u0482"], ["\\M-R\\M^C", "\u0483"], ["\\M-R\\M^D", "\u0484"], ["\\M-R\\M^E", "\u0485"], ["\\M-R\\M^F", "\u0486"], ["\\M-R\\M^G", "\u0487"], ["\\M-R\\M^H", "\u0488"], ["\\M-R\\M^I", "\u0489"], ["\\M-R\\M^J", "\u048a"], ["\\M-R\\M^K", "\u048b"], ["\\M-R\\M^L", "\u048c"], ["\\M-R\\M^M", "\u048d"], ["\\M-R\\M^N", "\u048e"], ["\\M-R\\M^O", "\u048f"], ["\\M-R\\M^P", "\u0490"], ["\\M-R\\M^Q", "\u0491"], ["\\M-R\\M^R", "\u0492"], ["\\M-R\\M^S", "\u0493"], ["\\M-R\\M^T", "\u0494"], ["\\M-R\\M^U", "\u0495"], ["\\M-R\\M^V", "\u0496"], ["\\M-R\\M^W", "\u0497"], ["\\M-R\\M^X", "\u0498"], ["\\M-R\\M^Y", "\u0499"], ["\\M-R\\M^Z", "\u049a"], ["\\M-R\\M^[", "\u049b"], ["\\M-R\\M^\\", "\u049c"], ["\\M-R\\M^]", "\u049d"], ["\\M-R\\M^^", "\u049e"], ["\\M-R\\M^_", "\u049f"], ["\\M-R\\240", "\u04a0"], ["\\M-R\\M-!", "\u04a1"], ["\\M-R\\M-\"", "\u04a2"], ["\\M-R\\M-#", "\u04a3"], ["\\M-R\\M-$", "\u04a4"], ["\\M-R\\M-%", "\u04a5"], ["\\M-R\\M-&", "\u04a6"], ["\\M-R\\M-'", "\u04a7"], ["\\M-R\\M-(", "\u04a8"], ["\\M-R\\M-)", "\u04a9"], ["\\M-R\\M-*", "\u04aa"], ["\\M-R\\M-+", "\u04ab"], ["\\M-R\\M-,", "\u04ac"], ["\\M-R\\M--", "\u04ad"], ["\\M-R\\M-.", "\u04ae"], ["\\M-R\\M-/", "\u04af"], ["\\M-R\\M-0", "\u04b0"], ["\\M-R\\M-1", "\u04b1"], ["\\M-R\\M-2", "\u04b2"], ["\\M-R\\M-3", "\u04b3"], ["\\M-R\\M-4", "\u04b4"], ["\\M-R\\M-5", "\u04b5"], ["\\M-R\\M-6", "\u04b6"], ["\\M-R\\M-7", "\u04b7"], ["\\M-R\\M-8", "\u04b8"], ["\\M-R\\M-9", "\u04b9"], ["\\M-R\\M-:", "\u04ba"], ["\\M-R\\M-;", "\u04bb"], ["\\M-R\\M-<", "\u04bc"], ["\\M-R\\M-=", "\u04bd"], ["\\M-R\\M->", "\u04be"], ["\\M-R\\M-?", "\u04bf"], ["\\M-S\\M^@", "\u04c0"], ["\\M-S\\M^A", "\u04c1"], ["\\M-S\\M^B", "\u04c2"], ["\\M-S\\M^C", "\u04c3"], ["\\M-S\\M^D", "\u04c4"], ["\\M-S\\M^E", "\u04c5"], ["\\M-S\\M^F", "\u04c6"], ["\\M-S\\M^G", "\u04c7"], ["\\M-S\\M^H", "\u04c8"], ["\\M-S\\M^I", "\u04c9"], ["\\M-S\\M^J", "\u04ca"], ["\\M-S\\M^K", "\u04cb"], ["\\M-S\\M^L", "\u04cc"], ["\\M-S\\M^M", "\u04cd"], ["\\M-S\\M^N", "\u04ce"], ["\\M-S\\M^O", "\u04cf"], ["\\M-S\\M^P", "\u04d0"], ["\\M-S\\M^Q", "\u04d1"], ["\\M-S\\M^R", "\u04d2"], ["\\M-S\\M^S", "\u04d3"], ["\\M-S\\M^T", "\u04d4"], ["\\M-S\\M^U", "\u04d5"], ["\\M-S\\M^V", "\u04d6"], ["\\M-S\\M^W", "\u04d7"], ["\\M-S\\M^X", "\u04d8"], ["\\M-S\\M^Y", "\u04d9"], ["\\M-S\\M^Z", "\u04da"], ["\\M-S\\M^[", "\u04db"], ["\\M-S\\M^\\", "\u04dc"], ["\\M-S\\M^]", "\u04dd"], ["\\M-S\\M^^", "\u04de"], ["\\M-S\\M^_", "\u04df"], ["\\M-S\\240", "\u04e0"], ["\\M-S\\M-!", "\u04e1"], ["\\M-S\\M-\"", "\u04e2"], ["\\M-S\\M-#", "\u04e3"], ["\\M-S\\M-$", "\u04e4"], ["\\M-S\\M-%", "\u04e5"], ["\\M-S\\M-&", "\u04e6"], ["\\M-S\\M-'", "\u04e7"], ["\\M-S\\M-(", "\u04e8"], ["\\M-S\\M-)", "\u04e9"], ["\\M-S\\M-*", "\u04ea"], ["\\M-S\\M-+", "\u04eb"], ["\\M-S\\M-,", "\u04ec"], ["\\M-S\\M--", "\u04ed"], ["\\M-S\\M-.", "\u04ee"], ["\\M-S\\M-/", "\u04ef"], ["\\M-S\\M-0", "\u04f0"], ["\\M-S\\M-1", "\u04f1"], ["\\M-S\\M-2", "\u04f2"], ["\\M-S\\M-3", "\u04f3"], ["\\M-S\\M-4", "\u04f4"], ["\\M-S\\M-5", "\u04f5"], ["\\M-S\\M-6", "\u04f6"], ["\\M-S\\M-7", "\u04f7"], ["\\M-S\\M-8", "\u04f8"], ["\\M-S\\M-9", "\u04f9"], ["\\M-S\\M-:", "\u04fa"], ["\\M-S\\M-;", "\u04fb"], ["\\M-S\\M-<", "\u04fc"], ["\\M-S\\M-=", "\u04fd"], ["\\M-S\\M->", "\u04fe"], ["\\M-S\\M-?", "\u04ff"], ["\\M-T\\M^@", "\u0500"], ["\\M-T\\M^A", "\u0501"], ["\\M-T\\M^B", "\u0502"], ["\\M-T\\M^C", "\u0503"], ["\\M-T\\M^D", "\u0504"], ["\\M-T\\M^E", "\u0505"], ["\\M-T\\M^F", "\u0506"], ["\\M-T\\M^G", "\u0507"], ["\\M-T\\M^H", "\u0508"], ["\\M-T\\M^I", "\u0509"], ["\\M-T\\M^J", "\u050a"], ["\\M-T\\M^K", "\u050b"], ["\\M-T\\M^L", "\u050c"], ["\\M-T\\M^M", "\u050d"], ["\\M-T\\M^N", "\u050e"], ["\\M-T\\M^O", "\u050f"], ["\\M-T\\M^P", "\u0510"], ["\\M-T\\M^Q", "\u0511"], ["\\M-T\\M^R", "\u0512"], ["\\M-T\\M^S", "\u0513"], ["\\M-T\\M^T", "\u0514"], ["\\M-T\\M^U", "\u0515"], ["\\M-T\\M^V", "\u0516"], ["\\M-T\\M^W", "\u0517"], ["\\M-T\\M^X", "\u0518"], ["\\M-T\\M^Y", "\u0519"], ["\\M-T\\M^Z", "\u051a"], ["\\M-T\\M^[", "\u051b"], ["\\M-T\\M^\\", "\u051c"], ["\\M-T\\M^]", "\u051d"], ["\\M-T\\M^^", "\u051e"], ["\\M-T\\M^_", "\u051f"], ["\\M-T\\240", "\u0520"], ["\\M-T\\M-!", "\u0521"], ["\\M-T\\M-\"", "\u0522"], ["\\M-T\\M-#", "\u0523"], ["\\M-T\\M-$", "\u0524"], ["\\M-T\\M-%", "\u0525"], ["\\M-T\\M-&", "\u0526"], ["\\M-T\\M-'", "\u0527"], ["\\M-T\\M-(", "\u0528"], ["\\M-T\\M-)", "\u0529"], ["\\M-T\\M-*", "\u052a"], ["\\M-T\\M-+", "\u052b"], ["\\M-T\\M-,", "\u052c"], ["\\M-T\\M--", "\u052d"], ["\\M-T\\M-.", "\u052e"], ["\\M-T\\M-/", "\u052f"], ["\\M-V\\M^P", "\u0590"], ["\\M-V\\M^Q", "\u0591"], ["\\M-V\\M^R", "\u0592"], ["\\M-V\\M^S", "\u0593"], ["\\M-V\\M^T", "\u0594"], ["\\M-V\\M^U", "\u0595"], ["\\M-V\\M^V", "\u0596"], ["\\M-V\\M^W", "\u0597"], ["\\M-V\\M^X", "\u0598"], ["\\M-V\\M^Y", "\u0599"], ["\\M-V\\M^Z", "\u059a"], ["\\M-V\\M^[", "\u059b"], ["\\M-V\\M^\\", "\u059c"], ["\\M-V\\M^]", "\u059d"], ["\\M-V\\M^^", "\u059e"], ["\\M-V\\M^_", "\u059f"], ["\\M-V\\240", "\u05a0"], ["\\M-V\\M-!", "\u05a1"], ["\\M-V\\M-\"", "\u05a2"], ["\\M-V\\M-#", "\u05a3"], ["\\M-V\\M-$", "\u05a4"], ["\\M-V\\M-%", "\u05a5"], ["\\M-V\\M-&", "\u05a6"], ["\\M-V\\M-'", "\u05a7"], ["\\M-V\\M-(", "\u05a8"], ["\\M-V\\M-)", "\u05a9"], ["\\M-V\\M-*", "\u05aa"], ["\\M-V\\M-+", "\u05ab"], ["\\M-V\\M-,", "\u05ac"], ["\\M-V\\M--", "\u05ad"], ["\\M-V\\M-.", "\u05ae"], ["\\M-V\\M-/", "\u05af"], ["\\M-V\\M-0", "\u05b0"], ["\\M-V\\M-1", "\u05b1"], ["\\M-V\\M-2", "\u05b2"], ["\\M-V\\M-3", "\u05b3"], ["\\M-V\\M-4", "\u05b4"], ["\\M-V\\M-5", "\u05b5"], ["\\M-V\\M-6", "\u05b6"], ["\\M-V\\M-7", "\u05b7"], ["\\M-V\\M-8", "\u05b8"], ["\\M-V\\M-9", "\u05b9"], ["\\M-V\\M-:", "\u05ba"], ["\\M-V\\M-;", "\u05bb"], ["\\M-V\\M-<", "\u05bc"], ["\\M-V\\M-=", "\u05bd"], ["\\M-V\\M->", "\u05be"], ["\\M-V\\M-?", "\u05bf"], ["\\M-W\\M^@", "\u05c0"], ["\\M-W\\M^A", "\u05c1"], ["\\M-W\\M^B", "\u05c2"], ["\\M-W\\M^C", "\u05c3"], ["\\M-W\\M^D", "\u05c4"], ["\\M-W\\M^E", "\u05c5"], ["\\M-W\\M^F", "\u05c6"], ["\\M-W\\M^G", "\u05c7"], ["\\M-W\\M^H", "\u05c8"], ["\\M-W\\M^I", "\u05c9"], ["\\M-W\\M^J", "\u05ca"], ["\\M-W\\M^K", "\u05cb"], ["\\M-W\\M^L", "\u05cc"], ["\\M-W\\M^M", "\u05cd"], ["\\M-W\\M^N", "\u05ce"], ["\\M-W\\M^O", "\u05cf"], ["\\M-W\\M^P", "\u05d0"], ["\\M-W\\M^Q", "\u05d1"], ["\\M-W\\M^R", "\u05d2"], ["\\M-W\\M^S", "\u05d3"], ["\\M-W\\M^T", "\u05d4"], ["\\M-W\\M^U", "\u05d5"], ["\\M-W\\M^V", "\u05d6"], ["\\M-W\\M^W", "\u05d7"], ["\\M-W\\M^X", "\u05d8"], ["\\M-W\\M^Y", "\u05d9"], ["\\M-W\\M^Z", "\u05da"], ["\\M-W\\M^[", "\u05db"], ["\\M-W\\M^\\", "\u05dc"], ["\\M-W\\M^]", "\u05dd"], ["\\M-W\\M^^", "\u05de"], ["\\M-W\\M^_", "\u05df"], ["\\M-W\\240", "\u05e0"], ["\\M-W\\M-!", "\u05e1"], ["\\M-W\\M-\"", "\u05e2"], ["\\M-W\\M-#", "\u05e3"], ["\\M-W\\M-$", "\u05e4"], ["\\M-W\\M-%", "\u05e5"], ["\\M-W\\M-&", "\u05e6"], ["\\M-W\\M-'", "\u05e7"], ["\\M-W\\M-(", "\u05e8"], ["\\M-W\\M-)", "\u05e9"], ["\\M-W\\M-*", "\u05ea"], ["\\M-W\\M-+", "\u05eb"], ["\\M-W\\M-,", "\u05ec"], ["\\M-W\\M--", "\u05ed"], ["\\M-W\\M-.", "\u05ee"], ["\\M-W\\M-/", "\u05ef"], ["\\M-W\\M-0", "\u05f0"], ["\\M-W\\M-1", "\u05f1"], ["\\M-W\\M-2", "\u05f2"], ["\\M-W\\M-3", "\u05f3"], ["\\M-W\\M-4", "\u05f4"], ["\\M-W\\M-5", "\u05f5"], ["\\M-W\\M-6", "\u05f6"], ["\\M-W\\M-7", "\u05f7"], ["\\M-W\\M-8", "\u05f8"], ["\\M-W\\M-9", "\u05f9"], ["\\M-W\\M-:", "\u05fa"], ["\\M-W\\M-;", "\u05fb"], ["\\M-W\\M-<", "\u05fc"], ["\\M-W\\M-=", "\u05fd"], ["\\M-W\\M->", "\u05fe"], ["\\M-W\\M-?", "\u05ff"], ["\\M-X\\M^@", "\u0600"], ["\\M-X\\M^A", "\u0601"], ["\\M-X\\M^B", "\u0602"], ["\\M-X\\M^C", "\u0603"], ["\\M-X\\M^D", "\u0604"], ["\\M-X\\M^E", "\u0605"], ["\\M-X\\M^F", "\u0606"], ["\\M-X\\M^G", "\u0607"], ["\\M-X\\M^H", "\u0608"], ["\\M-X\\M^I", "\u0609"], ["\\M-X\\M^J", "\u060a"], ["\\M-X\\M^K", "\u060b"], ["\\M-X\\M^L", "\u060c"], ["\\M-X\\M^M", "\u060d"], ["\\M-X\\M^N", "\u060e"], ["\\M-X\\M^O", "\u060f"], ["\\M-X\\M^P", "\u0610"], ["\\M-X\\M^Q", "\u0611"], ["\\M-X\\M^R", "\u0612"], ["\\M-X\\M^S", "\u0613"], ["\\M-X\\M^T", "\u0614"], ["\\M-X\\M^U", "\u0615"], ["\\M-X\\M^V", "\u0616"], ["\\M-X\\M^W", "\u0617"], ["\\M-X\\M^X", "\u0618"], ["\\M-X\\M^Y", "\u0619"], ["\\M-X\\M^Z", "\u061a"], ["\\M-X\\M^[", "\u061b"], ["\\M-X\\M^\\", "\u061c"], ["\\M-X\\M^]", "\u061d"], ["\\M-X\\M^^", "\u061e"], ["\\M-X\\M^_", "\u061f"], ["\\M-X\\240", "\u0620"], ["\\M-X\\M-!", "\u0621"], ["\\M-X\\M-\"", "\u0622"], ["\\M-X\\M-#", "\u0623"], ["\\M-X\\M-$", "\u0624"], ["\\M-X\\M-%", "\u0625"], ["\\M-X\\M-&", "\u0626"], ["\\M-X\\M-'", "\u0627"], ["\\M-X\\M-(", "\u0628"], ["\\M-X\\M-)", "\u0629"], ["\\M-X\\M-*", "\u062a"], ["\\M-X\\M-+", "\u062b"], ["\\M-X\\M-,", "\u062c"], ["\\M-X\\M--", "\u062d"], ["\\M-X\\M-.", "\u062e"], ["\\M-X\\M-/", "\u062f"], ["\\M-X\\M-0", "\u0630"], ["\\M-X\\M-1", "\u0631"], ["\\M-X\\M-2", "\u0632"], ["\\M-X\\M-3", "\u0633"], ["\\M-X\\M-4", "\u0634"], ["\\M-X\\M-5", "\u0635"], ["\\M-X\\M-6", "\u0636"], ["\\M-X\\M-7", "\u0637"], ["\\M-X\\M-8", "\u0638"], ["\\M-X\\M-9", "\u0639"], ["\\M-X\\M-:", "\u063a"], ["\\M-X\\M-;", "\u063b"], ["\\M-X\\M-<", "\u063c"], ["\\M-X\\M-=", "\u063d"], ["\\M-X\\M->", "\u063e"], ["\\M-X\\M-?", "\u063f"], ["\\M-Y\\M^@", "\u0640"], ["\\M-Y\\M^A", "\u0641"], ["\\M-Y\\M^B", "\u0642"], ["\\M-Y\\M^C", "\u0643"], ["\\M-Y\\M^D", "\u0644"], ["\\M-Y\\M^E", "\u0645"], ["\\M-Y\\M^F", "\u0646"], ["\\M-Y\\M^G", "\u0647"], ["\\M-Y\\M^H", "\u0648"], ["\\M-Y\\M^I", "\u0649"], ["\\M-Y\\M^J", "\u064a"], ["\\M-Y\\M^K", "\u064b"], ["\\M-Y\\M^L", "\u064c"], ["\\M-Y\\M^M", "\u064d"], ["\\M-Y\\M^N", "\u064e"], ["\\M-Y\\M^O", "\u064f"], ["\\M-Y\\M^P", "\u0650"], ["\\M-Y\\M^Q", "\u0651"], ["\\M-Y\\M^R", "\u0652"], ["\\M-Y\\M^S", "\u0653"], ["\\M-Y\\M^T", "\u0654"], ["\\M-Y\\M^U", "\u0655"], ["\\M-Y\\M^V", "\u0656"], ["\\M-Y\\M^W", "\u0657"], ["\\M-Y\\M^X", "\u0658"], ["\\M-Y\\M^Y", "\u0659"], ["\\M-Y\\M^Z", "\u065a"], ["\\M-Y\\M^[", "\u065b"], ["\\M-Y\\M^\\", "\u065c"], ["\\M-Y\\M^]", "\u065d"], ["\\M-Y\\M^^", "\u065e"], ["\\M-Y\\M^_", "\u065f"], ["\\M-Y\\240", "\u0660"], ["\\M-Y\\M-!", "\u0661"], ["\\M-Y\\M-\"", "\u0662"], ["\\M-Y\\M-#", "\u0663"], ["\\M-Y\\M-$", "\u0664"], ["\\M-Y\\M-%", "\u0665"], ["\\M-Y\\M-&", "\u0666"], ["\\M-Y\\M-'", "\u0667"], ["\\M-Y\\M-(", "\u0668"], ["\\M-Y\\M-)", "\u0669"], ["\\M-Y\\M-*", "\u066a"], ["\\M-Y\\M-+", "\u066b"], ["\\M-Y\\M-,", "\u066c"], ["\\M-Y\\M--", "\u066d"], ["\\M-Y\\M-.", "\u066e"], ["\\M-Y\\M-/", "\u066f"], ["\\M-Y\\M-0", "\u0670"], ["\\M-Y\\M-1", "\u0671"], ["\\M-Y\\M-2", "\u0672"], ["\\M-Y\\M-3", "\u0673"], ["\\M-Y\\M-4", "\u0674"], ["\\M-Y\\M-5", "\u0675"], ["\\M-Y\\M-6", "\u0676"], ["\\M-Y\\M-7", "\u0677"], ["\\M-Y\\M-8", "\u0678"], ["\\M-Y\\M-9", "\u0679"], ["\\M-Y\\M-:", "\u067a"], ["\\M-Y\\M-;", "\u067b"], ["\\M-Y\\M-<", "\u067c"], ["\\M-Y\\M-=", "\u067d"], ["\\M-Y\\M->", "\u067e"], ["\\M-Y\\M-?", "\u067f"], ["\\M-Z\\M^@", "\u0680"], ["\\M-Z\\M^A", "\u0681"], ["\\M-Z\\M^B", "\u0682"], ["\\M-Z\\M^C", "\u0683"], ["\\M-Z\\M^D", "\u0684"], ["\\M-Z\\M^E", "\u0685"], ["\\M-Z\\M^F", "\u0686"], ["\\M-Z\\M^G", "\u0687"], ["\\M-Z\\M^H", "\u0688"], ["\\M-Z\\M^I", "\u0689"], ["\\M-Z\\M^J", "\u068a"], ["\\M-Z\\M^K", "\u068b"], ["\\M-Z\\M^L", "\u068c"], ["\\M-Z\\M^M", "\u068d"], ["\\M-Z\\M^N", "\u068e"], ["\\M-Z\\M^O", "\u068f"], ["\\M-Z\\M^P", "\u0690"], ["\\M-Z\\M^Q", "\u0691"], ["\\M-Z\\M^R", "\u0692"], ["\\M-Z\\M^S", "\u0693"], ["\\M-Z\\M^T", "\u0694"], ["\\M-Z\\M^U", "\u0695"], ["\\M-Z\\M^V", "\u0696"], ["\\M-Z\\M^W", "\u0697"], ["\\M-Z\\M^X", "\u0698"], ["\\M-Z\\M^Y", "\u0699"], ["\\M-Z\\M^Z", "\u069a"], ["\\M-Z\\M^[", "\u069b"], ["\\M-Z\\M^\\", "\u069c"], ["\\M-Z\\M^]", "\u069d"], ["\\M-Z\\M^^", "\u069e"], ["\\M-Z\\M^_", "\u069f"], ["\\M-Z\\240", "\u06a0"], ["\\M-Z\\M-!", "\u06a1"], ["\\M-Z\\M-\"", "\u06a2"], ["\\M-Z\\M-#", "\u06a3"], ["\\M-Z\\M-$", "\u06a4"], ["\\M-Z\\M-%", "\u06a5"], ["\\M-Z\\M-&", "\u06a6"], ["\\M-Z\\M-'", "\u06a7"], ["\\M-Z\\M-(", "\u06a8"], ["\\M-Z\\M-)", "\u06a9"], ["\\M-Z\\M-*", "\u06aa"], ["\\M-Z\\M-+", "\u06ab"], ["\\M-Z\\M-,", "\u06ac"], ["\\M-Z\\M--", "\u06ad"], ["\\M-Z\\M-.", "\u06ae"], ["\\M-Z\\M-/", "\u06af"], ["\\M-Z\\M-0", "\u06b0"], ["\\M-Z\\M-1", "\u06b1"], ["\\M-Z\\M-2", "\u06b2"], ["\\M-Z\\M-3", "\u06b3"], ["\\M-Z\\M-4", "\u06b4"], ["\\M-Z\\M-5", "\u06b5"], ["\\M-Z\\M-6", "\u06b6"], ["\\M-Z\\M-7", "\u06b7"], ["\\M-Z\\M-8", "\u06b8"], ["\\M-Z\\M-9", "\u06b9"], ["\\M-Z\\M-:", "\u06ba"], ["\\M-Z\\M-;", "\u06bb"], ["\\M-Z\\M-<", "\u06bc"], ["\\M-Z\\M-=", "\u06bd"], ["\\M-Z\\M->", "\u06be"], ["\\M-Z\\M-?", "\u06bf"], ["\\M-[\\M^@", "\u06c0"], ["\\M-[\\M^A", "\u06c1"], ["\\M-[\\M^B", "\u06c2"], ["\\M-[\\M^C", "\u06c3"], ["\\M-[\\M^D", "\u06c4"], ["\\M-[\\M^E", "\u06c5"], ["\\M-[\\M^F", "\u06c6"], ["\\M-[\\M^G", "\u06c7"], ["\\M-[\\M^H", "\u06c8"], ["\\M-[\\M^I", "\u06c9"], ["\\M-[\\M^J", "\u06ca"], ["\\M-[\\M^K", "\u06cb"], ["\\M-[\\M^L", "\u06cc"], ["\\M-[\\M^M", "\u06cd"], ["\\M-[\\M^N", "\u06ce"], ["\\M-[\\M^O", "\u06cf"], ["\\M-[\\M^P", "\u06d0"], ["\\M-[\\M^Q", "\u06d1"], ["\\M-[\\M^R", "\u06d2"], ["\\M-[\\M^S", "\u06d3"], ["\\M-[\\M^T", "\u06d4"], ["\\M-[\\M^U", "\u06d5"], ["\\M-[\\M^V", "\u06d6"], ["\\M-[\\M^W", "\u06d7"], ["\\M-[\\M^X", "\u06d8"], ["\\M-[\\M^Y", "\u06d9"], ["\\M-[\\M^Z", "\u06da"], ["\\M-[\\M^[", "\u06db"], ["\\M-[\\M^\\", "\u06dc"], ["\\M-[\\M^]", "\u06dd"], ["\\M-[\\M^^", "\u06de"], ["\\M-[\\M^_", "\u06df"], ["\\M-[\\240", "\u06e0"], ["\\M-[\\M-!", "\u06e1"], ["\\M-[\\M-\"", "\u06e2"], ["\\M-[\\M-#", "\u06e3"], ["\\M-[\\M-$", "\u06e4"], ["\\M-[\\M-%", "\u06e5"], ["\\M-[\\M-&", "\u06e6"], ["\\M-[\\M-'", "\u06e7"], ["\\M-[\\M-(", "\u06e8"], ["\\M-[\\M-)", "\u06e9"], ["\\M-[\\M-*", "\u06ea"], ["\\M-[\\M-+", "\u06eb"], ["\\M-[\\M-,", "\u06ec"], ["\\M-[\\M--", "\u06ed"], ["\\M-[\\M-.", "\u06ee"], ["\\M-[\\M-/", "\u06ef"], ["\\M-[\\M-0", "\u06f0"], ["\\M-[\\M-1", "\u06f1"], ["\\M-[\\M-2", "\u06f2"], ["\\M-[\\M-3", "\u06f3"], ["\\M-[\\M-4", "\u06f4"], ["\\M-[\\M-5", "\u06f5"], ["\\M-[\\M-6", "\u06f6"], ["\\M-[\\M-7", "\u06f7"], ["\\M-[\\M-8", "\u06f8"], ["\\M-[\\M-9", "\u06f9"], ["\\M-[\\M-:", "\u06fa"], ["\\M-[\\M-;", "\u06fb"], ["\\M-[\\M-<", "\u06fc"], ["\\M-[\\M-=", "\u06fd"], ["\\M-[\\M->", "\u06fe"], ["\\M-[\\M-?", "\u06ff"], ["\\M-b\\M-:\\M^@", "\u2e80"], ["\\M-b\\M-:\\M^A", "\u2e81"], ["\\M-b\\M-:\\M^B", "\u2e82"], ["\\M-b\\M-:\\M^C", "\u2e83"], ["\\M-b\\M-:\\M^D", "\u2e84"], ["\\M-b\\M-:\\M^E", "\u2e85"], ["\\M-b\\M-:\\M^F", "\u2e86"], ["\\M-b\\M-:\\M^G", "\u2e87"], ["\\M-b\\M-:\\M^H", "\u2e88"], ["\\M-b\\M-:\\M^I", "\u2e89"], ["\\M-b\\M-:\\M^J", "\u2e8a"], ["\\M-b\\M-:\\M^K", "\u2e8b"], ["\\M-b\\M-:\\M^L", "\u2e8c"], ["\\M-b\\M-:\\M^M", "\u2e8d"], ["\\M-b\\M-:\\M^N", "\u2e8e"], ["\\M-b\\M-:\\M^O", "\u2e8f"], ["\\M-b\\M-:\\M^P", "\u2e90"], ["\\M-b\\M-:\\M^Q", "\u2e91"], ["\\M-b\\M-:\\M^R", "\u2e92"], ["\\M-b\\M-:\\M^S", "\u2e93"], ["\\M-b\\M-:\\M^T", "\u2e94"], ["\\M-b\\M-:\\M^U", "\u2e95"], ["\\M-b\\M-:\\M^V", "\u2e96"], ["\\M-b\\M-:\\M^W", "\u2e97"], ["\\M-b\\M-:\\M^X", "\u2e98"], ["\\M-b\\M-:\\M^Y", "\u2e99"], ["\\M-b\\M-:\\M^Z", "\u2e9a"], ["\\M-b\\M-:\\M^[", "\u2e9b"], ["\\M-b\\M-:\\M^\\", "\u2e9c"], ["\\M-b\\M-:\\M^]", "\u2e9d"], ["\\M-b\\M-:\\M^^", "\u2e9e"], ["\\M-b\\M-:\\M^_", "\u2e9f"], ["\\M-b\\M-:\\240", "\u2ea0"], ["\\M-b\\M-:\\M-!", "\u2ea1"], ["\\M-b\\M-:\\M-\"", "\u2ea2"], ["\\M-b\\M-:\\M-#", "\u2ea3"], ["\\M-b\\M-:\\M-$", "\u2ea4"], ["\\M-b\\M-:\\M-%", "\u2ea5"], ["\\M-b\\M-:\\M-&", "\u2ea6"], ["\\M-b\\M-:\\M-'", "\u2ea7"], ["\\M-b\\M-:\\M-(", "\u2ea8"], ["\\M-b\\M-:\\M-)", "\u2ea9"], ["\\M-b\\M-:\\M-*", "\u2eaa"], ["\\M-b\\M-:\\M-+", "\u2eab"], ["\\M-b\\M-:\\M-,", "\u2eac"], ["\\M-b\\M-:\\M--", "\u2ead"], ["\\M-b\\M-:\\M-.", "\u2eae"], ["\\M-b\\M-:\\M-/", "\u2eaf"], ["\\M-b\\M-:\\M-0", "\u2eb0"], ["\\M-b\\M-:\\M-1", "\u2eb1"], ["\\M-b\\M-:\\M-2", "\u2eb2"], ["\\M-b\\M-:\\M-3", "\u2eb3"], ["\\M-b\\M-:\\M-4", "\u2eb4"], ["\\M-b\\M-:\\M-5", "\u2eb5"], ["\\M-b\\M-:\\M-6", "\u2eb6"], ["\\M-b\\M-:\\M-7", "\u2eb7"], ["\\M-b\\M-:\\M-8", "\u2eb8"], ["\\M-b\\M-:\\M-9", "\u2eb9"], ["\\M-b\\M-:\\M-:", "\u2eba"], ["\\M-b\\M-:\\M-;", "\u2ebb"], ["\\M-b\\M-:\\M-<", "\u2ebc"], ["\\M-b\\M-:\\M-=", "\u2ebd"], ["\\M-b\\M-:\\M->", "\u2ebe"], ["\\M-b\\M-:\\M-?", "\u2ebf"], ["\\M-b\\M-;\\M^@", "\u2ec0"], ["\\M-b\\M-;\\M^A", "\u2ec1"], ["\\M-b\\M-;\\M^B", "\u2ec2"], ["\\M-b\\M-;\\M^C", "\u2ec3"], ["\\M-b\\M-;\\M^D", "\u2ec4"], ["\\M-b\\M-;\\M^E", "\u2ec5"], ["\\M-b\\M-;\\M^F", "\u2ec6"], ["\\M-b\\M-;\\M^G", "\u2ec7"], ["\\M-b\\M-;\\M^H", "\u2ec8"], ["\\M-b\\M-;\\M^I", "\u2ec9"], ["\\M-b\\M-;\\M^J", "\u2eca"], ["\\M-b\\M-;\\M^K", "\u2ecb"], ["\\M-b\\M-;\\M^L", "\u2ecc"], ["\\M-b\\M-;\\M^M", "\u2ecd"], ["\\M-b\\M-;\\M^N", "\u2ece"], ["\\M-b\\M-;\\M^O", "\u2ecf"], ["\\M-b\\M-;\\M^P", "\u2ed0"], ["\\M-b\\M-;\\M^Q", "\u2ed1"], ["\\M-b\\M-;\\M^R", "\u2ed2"], ["\\M-b\\M-;\\M^S", "\u2ed3"], ["\\M-b\\M-;\\M^T", "\u2ed4"], ["\\M-b\\M-;\\M^U", "\u2ed5"], ["\\M-b\\M-;\\M^V", "\u2ed6"], ["\\M-b\\M-;\\M^W", "\u2ed7"], ["\\M-b\\M-;\\M^X", "\u2ed8"], ["\\M-b\\M-;\\M^Y", "\u2ed9"], ["\\M-b\\M-;\\M^Z", "\u2eda"], ["\\M-b\\M-;\\M^[", "\u2edb"], ["\\M-b\\M-;\\M^\\", "\u2edc"], ["\\M-b\\M-;\\M^]", "\u2edd"], ["\\M-b\\M-;\\M^^", "\u2ede"], ["\\M-b\\M-;\\M^_", "\u2edf"], ["\\M-b\\M-;\\240", "\u2ee0"], ["\\M-b\\M-;\\M-!", "\u2ee1"], ["\\M-b\\M-;\\M-\"", "\u2ee2"], ["\\M-b\\M-;\\M-#", "\u2ee3"], ["\\M-b\\M-;\\M-$", "\u2ee4"], ["\\M-b\\M-;\\M-%", "\u2ee5"], ["\\M-b\\M-;\\M-&", "\u2ee6"], ["\\M-b\\M-;\\M-'", "\u2ee7"], ["\\M-b\\M-;\\M-(", "\u2ee8"], ["\\M-b\\M-;\\M-)", "\u2ee9"], ["\\M-b\\M-;\\M-*", "\u2eea"], ["\\M-b\\M-;\\M-+", "\u2eeb"], ["\\M-b\\M-;\\M-,", "\u2eec"], ["\\M-b\\M-;\\M--", "\u2eed"], ["\\M-b\\M-;\\M-.", "\u2eee"], ["\\M-b\\M-;\\M-/", "\u2eef"], ["\\M-b\\M-;\\M-0", "\u2ef0"], ["\\M-b\\M-;\\M-1", "\u2ef1"], ["\\M-b\\M-;\\M-2", "\u2ef2"], ["\\M-b\\M-;\\M-3", "\u2ef3"], ["\\M-b\\M-;\\M-4", "\u2ef4"], ["\\M-b\\M-;\\M-5", "\u2ef5"], ["\\M-b\\M-;\\M-6", "\u2ef6"], ["\\M-b\\M-;\\M-7", "\u2ef7"], ["\\M-b\\M-;\\M-8", "\u2ef8"], ["\\M-b\\M-;\\M-9", "\u2ef9"], ["\\M-b\\M-;\\M-:", "\u2efa"], ["\\M-b\\M-;\\M-;", "\u2efb"], ["\\M-b\\M-;\\M-<", "\u2efc"], ["\\M-b\\M-;\\M-=", "\u2efd"], ["\\M-b\\M-;\\M->", "\u2efe"], ["\\M-b\\M-;\\M-?", "\u2eff"], ["\\M-c\\M^A\\M^@", "\u3040"], ["\\M-c\\M^A\\M^A", "\u3041"], ["\\M-c\\M^A\\M^B", "\u3042"], ["\\M-c\\M^A\\M^C", "\u3043"], ["\\M-c\\M^A\\M^D", "\u3044"], ["\\M-c\\M^A\\M^E", "\u3045"], ["\\M-c\\M^A\\M^F", "\u3046"], ["\\M-c\\M^A\\M^G", "\u3047"], ["\\M-c\\M^A\\M^H", "\u3048"], ["\\M-c\\M^A\\M^I", "\u3049"], ["\\M-c\\M^A\\M^J", "\u304a"], ["\\M-c\\M^A\\M^K", "\u304b"], ["\\M-c\\M^A\\M^L", "\u304c"], ["\\M-c\\M^A\\M^M", "\u304d"], ["\\M-c\\M^A\\M^N", "\u304e"], ["\\M-c\\M^A\\M^O", "\u304f"], ["\\M-c\\M^A\\M^P", "\u3050"], ["\\M-c\\M^A\\M^Q", "\u3051"], ["\\M-c\\M^A\\M^R", "\u3052"], ["\\M-c\\M^A\\M^S", "\u3053"], ["\\M-c\\M^A\\M^T", "\u3054"], ["\\M-c\\M^A\\M^U", "\u3055"], ["\\M-c\\M^A\\M^V", "\u3056"], ["\\M-c\\M^A\\M^W", "\u3057"], ["\\M-c\\M^A\\M^X", "\u3058"], ["\\M-c\\M^A\\M^Y", "\u3059"], ["\\M-c\\M^A\\M^Z", "\u305a"], ["\\M-c\\M^A\\M^[", "\u305b"], ["\\M-c\\M^A\\M^\\", "\u305c"], ["\\M-c\\M^A\\M^]", "\u305d"], ["\\M-c\\M^A\\M^^", "\u305e"], ["\\M-c\\M^A\\M^_", "\u305f"], ["\\M-c\\M^A\\240", "\u3060"], ["\\M-c\\M^A\\M-!", "\u3061"], ["\\M-c\\M^A\\M-\"", "\u3062"], ["\\M-c\\M^A\\M-#", "\u3063"], ["\\M-c\\M^A\\M-$", "\u3064"], ["\\M-c\\M^A\\M-%", "\u3065"], ["\\M-c\\M^A\\M-&", "\u3066"], ["\\M-c\\M^A\\M-'", "\u3067"], ["\\M-c\\M^A\\M-(", "\u3068"], ["\\M-c\\M^A\\M-)", "\u3069"], ["\\M-c\\M^A\\M-*", "\u306a"], ["\\M-c\\M^A\\M-+", "\u306b"], ["\\M-c\\M^A\\M-,", "\u306c"], ["\\M-c\\M^A\\M--", "\u306d"], ["\\M-c\\M^A\\M-.", "\u306e"], ["\\M-c\\M^A\\M-/", "\u306f"], ["\\M-c\\M^A\\M-0", "\u3070"], ["\\M-c\\M^A\\M-1", "\u3071"], ["\\M-c\\M^A\\M-2", "\u3072"], ["\\M-c\\M^A\\M-3", "\u3073"], ["\\M-c\\M^A\\M-4", "\u3074"], ["\\M-c\\M^A\\M-5", "\u3075"], ["\\M-c\\M^A\\M-6", "\u3076"], ["\\M-c\\M^A\\M-7", "\u3077"], ["\\M-c\\M^A\\M-8", "\u3078"], ["\\M-c\\M^A\\M-9", "\u3079"], ["\\M-c\\M^A\\M-:", "\u307a"], ["\\M-c\\M^A\\M-;", "\u307b"], ["\\M-c\\M^A\\M-<", "\u307c"], ["\\M-c\\M^A\\M-=", "\u307d"], ["\\M-c\\M^A\\M->", "\u307e"], ["\\M-c\\M^A\\M-?", "\u307f"], ["\\M-c\\M^B\\M^@", "\u3080"], ["\\M-c\\M^B\\M^A", "\u3081"], ["\\M-c\\M^B\\M^B", "\u3082"], ["\\M-c\\M^B\\M^C", "\u3083"], ["\\M-c\\M^B\\M^D", "\u3084"], ["\\M-c\\M^B\\M^E", "\u3085"], ["\\M-c\\M^B\\M^F", "\u3086"], ["\\M-c\\M^B\\M^G", "\u3087"], ["\\M-c\\M^B\\M^H", "\u3088"], ["\\M-c\\M^B\\M^I", "\u3089"], ["\\M-c\\M^B\\M^J", "\u308a"], ["\\M-c\\M^B\\M^K", "\u308b"], ["\\M-c\\M^B\\M^L", "\u308c"], ["\\M-c\\M^B\\M^M", "\u308d"], ["\\M-c\\M^B\\M^N", "\u308e"], ["\\M-c\\M^B\\M^O", "\u308f"], ["\\M-c\\M^B\\M^P", "\u3090"], ["\\M-c\\M^B\\M^Q", "\u3091"], ["\\M-c\\M^B\\M^R", "\u3092"], ["\\M-c\\M^B\\M^S", "\u3093"], ["\\M-c\\M^B\\M^T", "\u3094"], ["\\M-c\\M^B\\M^U", "\u3095"], ["\\M-c\\M^B\\M^V", "\u3096"], ["\\M-c\\M^B\\M^W", "\u3097"], ["\\M-c\\M^B\\M^X", "\u3098"], ["\\M-c\\M^B\\M^Y", "\u3099"], ["\\M-c\\M^B\\M^Z", "\u309a"], ["\\M-c\\M^B\\M^[", "\u309b"], ["\\M-c\\M^B\\M^\\", "\u309c"], ["\\M-c\\M^B\\M^]", "\u309d"], ["\\M-c\\M^B\\M^^", "\u309e"], ["\\M-c\\M^B\\M^_", "\u309f"], ["\\M-c\\M^B\\240", "\u30a0"], ["\\M-c\\M^B\\M-!", "\u30a1"], ["\\M-c\\M^B\\M-\"", "\u30a2"], ["\\M-c\\M^B\\M-#", "\u30a3"], ["\\M-c\\M^B\\M-$", "\u30a4"], ["\\M-c\\M^B\\M-%", "\u30a5"], ["\\M-c\\M^B\\M-&", "\u30a6"], ["\\M-c\\M^B\\M-'", "\u30a7"], ["\\M-c\\M^B\\M-(", "\u30a8"], ["\\M-c\\M^B\\M-)", "\u30a9"], ["\\M-c\\M^B\\M-*", "\u30aa"], ["\\M-c\\M^B\\M-+", "\u30ab"], ["\\M-c\\M^B\\M-,", "\u30ac"], ["\\M-c\\M^B\\M--", "\u30ad"], ["\\M-c\\M^B\\M-.", "\u30ae"], ["\\M-c\\M^B\\M-/", "\u30af"], ["\\M-c\\M^B\\M-0", "\u30b0"], ["\\M-c\\M^B\\M-1", "\u30b1"], ["\\M-c\\M^B\\M-2", "\u30b2"], ["\\M-c\\M^B\\M-3", "\u30b3"], ["\\M-c\\M^B\\M-4", "\u30b4"], ["\\M-c\\M^B\\M-5", "\u30b5"], ["\\M-c\\M^B\\M-6", "\u30b6"], ["\\M-c\\M^B\\M-7", "\u30b7"], ["\\M-c\\M^B\\M-8", "\u30b8"], ["\\M-c\\M^B\\M-9", "\u30b9"], ["\\M-c\\M^B\\M-:", "\u30ba"], ["\\M-c\\M^B\\M-;", "\u30bb"], ["\\M-c\\M^B\\M-<", "\u30bc"], ["\\M-c\\M^B\\M-=", "\u30bd"], ["\\M-c\\M^B\\M->", "\u30be"], ["\\M-c\\M^B\\M-?", "\u30bf"], ["\\M-c\\M^C\\M^@", "\u30c0"], ["\\M-c\\M^C\\M^A", "\u30c1"], ["\\M-c\\M^C\\M^B", "\u30c2"], ["\\M-c\\M^C\\M^C", "\u30c3"], ["\\M-c\\M^C\\M^D", "\u30c4"], ["\\M-c\\M^C\\M^E", "\u30c5"], ["\\M-c\\M^C\\M^F", "\u30c6"], ["\\M-c\\M^C\\M^G", "\u30c7"], ["\\M-c\\M^C\\M^H", "\u30c8"], ["\\M-c\\M^C\\M^I", "\u30c9"], ["\\M-c\\M^C\\M^J", "\u30ca"], ["\\M-c\\M^C\\M^K", "\u30cb"], ["\\M-c\\M^C\\M^L", "\u30cc"], ["\\M-c\\M^C\\M^M", "\u30cd"], ["\\M-c\\M^C\\M^N", "\u30ce"], ["\\M-c\\M^C\\M^O", "\u30cf"], ["\\M-c\\M^C\\M^P", "\u30d0"], ["\\M-c\\M^C\\M^Q", "\u30d1"], ["\\M-c\\M^C\\M^R", "\u30d2"], ["\\M-c\\M^C\\M^S", "\u30d3"], ["\\M-c\\M^C\\M^T", "\u30d4"], ["\\M-c\\M^C\\M^U", "\u30d5"], ["\\M-c\\M^C\\M^V", "\u30d6"], ["\\M-c\\M^C\\M^W", "\u30d7"], ["\\M-c\\M^C\\M^X", "\u30d8"], ["\\M-c\\M^C\\M^Y", "\u30d9"], ["\\M-c\\M^C\\M^Z", "\u30da"], ["\\M-c\\M^C\\M^[", "\u30db"], ["\\M-c\\M^C\\M^\\", "\u30dc"], ["\\M-c\\M^C\\M^]", "\u30dd"], ["\\M-c\\M^C\\M^^", "\u30de"], ["\\M-c\\M^C\\M^_", "\u30df"], ["\\M-c\\M^C\\240", "\u30e0"], ["\\M-c\\M^C\\M-!", "\u30e1"], ["\\M-c\\M^C\\M-\"", "\u30e2"], ["\\M-c\\M^C\\M-#", "\u30e3"], ["\\M-c\\M^C\\M-$", "\u30e4"], ["\\M-c\\M^C\\M-%", "\u30e5"], ["\\M-c\\M^C\\M-&", "\u30e6"], ["\\M-c\\M^C\\M-'", "\u30e7"], ["\\M-c\\M^C\\M-(", "\u30e8"], ["\\M-c\\M^C\\M-)", "\u30e9"], ["\\M-c\\M^C\\M-*", "\u30ea"], ["\\M-c\\M^C\\M-+", "\u30eb"], ["\\M-c\\M^C\\M-,", "\u30ec"], ["\\M-c\\M^C\\M--", "\u30ed"], ["\\M-c\\M^C\\M-.", "\u30ee"], ["\\M-c\\M^C\\M-/", "\u30ef"], ["\\M-c\\M^C\\M-0", "\u30f0"], ["\\M-c\\M^C\\M-1", "\u30f1"], ["\\M-c\\M^C\\M-2", "\u30f2"], ["\\M-c\\M^C\\M-3", "\u30f3"], ["\\M-c\\M^C\\M-4", "\u30f4"], ["\\M-c\\M^C\\M-5", "\u30f5"], ["\\M-c\\M^C\\M-6", "\u30f6"], ["\\M-c\\M^C\\M-7", "\u30f7"], ["\\M-c\\M^C\\M-8", "\u30f8"], ["\\M-c\\M^C\\M-9", "\u30f9"], ["\\M-c\\M^C\\M-:", "\u30fa"], ["\\M-c\\M^C\\M-;", "\u30fb"], ["\\M-c\\M^C\\M-<", "\u30fc"], ["\\M-c\\M^C\\M-=", "\u30fd"], ["\\M-c\\M^C\\M->", "\u30fe"], ["\\M-c\\M^C\\M-?", "\u30ff"], ["foo\\040bar", "foo bar"], ["foo\\^Jbar", "foo\nbar"], ["$bar\\040=\\040'baz';", "$bar = 'baz';"], ["$foo\\040=\\040\"\\\\x20\\\\\\\\x20\\\\\\\\\\\\x20\\\\\\\\\\\\\\\\x20\"", "$foo = \"\\x20\\\\x20\\\\\\x20\\\\\\\\x20\""], ["$foo\\040=\\040function($bar)\\040use($baz)\\040{\\^J\\^Ireturn\\040$baz->getFoo()\\^J};", "$foo = function($bar) use($baz) {\n\treturn $baz->getFoo()\n};"], ["", ""]] \ No newline at end of file diff --git a/paragonik-backend/vendor/psy/psysh/test/tools/gen_unvis_fixtures.py b/paragonik-backend/vendor/psy/psysh/test/tools/gen_unvis_fixtures.py deleted file mode 100644 index e02a741..0000000 --- a/paragonik-backend/vendor/psy/psysh/test/tools/gen_unvis_fixtures.py +++ /dev/null @@ -1,94 +0,0 @@ -#! /usr/bin/env python3 -import sys -from os.path import abspath, expanduser, dirname, join -from itertools import chain -import json -import argparse - -from vis import vis, unvis, VIS_WHITE - - -__dir__ = dirname(abspath(__file__)) - -OUTPUT_FILE = join(__dir__, '..', 'fixtures', 'unvis_fixtures.json') - -# Add custom fixtures here -CUSTOM_FIXTURES = [ - # test long multibyte string - ''.join(chr(cp) for cp in range(1024)), - 'foo bar', - 'foo\nbar', - "$bar = 'baz';", - r'$foo = "\x20\\x20\\\x20\\\\x20"', - '$foo = function($bar) use($baz) {\n\treturn $baz->getFoo()\n};' -] - -RANGES = { - # All valid codepoints in the BMP - 'bmp': chain(range(0x0000, 0xD800), range(0xE000, 0xFFFF)), - # Smaller set of pertinent? codepoints inside BMP - # see: http://en.wikipedia.org/wiki/Plane_(Unicode)#Basic_Multilingual_Plane - 'small': chain( - # latin blocks - range(0x0000, 0x0250), - # Greek, Cyrillic - range(0x0370, 0x0530), - # Hebrew, Arabic - range(0x590, 0x0700), - # CJK radicals - range(0x2E80, 0x2F00), - # Hiragana, Katakana - range(0x3040, 0x3100) - ) -} - - -if __name__ == '__main__': - - argp = argparse.ArgumentParser( - description='Generates test data for Psy\\Test\\Util\\StrTest') - argp.add_argument('-f', '--format-output', action='store_true', - help='Indent JSON output to ease debugging') - argp.add_argument('-a', '--all', action='store_true', - help="""Generates test data for all codepoints of the BMP. - (same as --range=bmp). WARNING: You will need quite - a lot of RAM to run the testsuite ! - """) - argp.add_argument('-r', '--range', - help="""Choose the range of codepoints used to generate - test data.""", - choices=list(RANGES.keys()), - default='small') - argp.add_argument('-o', '--output-file', - help="""Write test data to OUTPUT_FILE - (defaults to PSYSH_DIR/test/fixtures)""") - args = argp.parse_args() - - cp_range = RANGES['bmp'] if args.all else RANGES[args.range] - indent = 2 if args.format_output else None - if args.output_file: - OUTPUT_FILE = abspath(expanduser(args.output_file)) - - fixtures = [] - - # use SMALL_RANGE by default, it should be enough. - # use BMP_RANGE for a more complete smoke test - for codepoint in cp_range: - char = chr(codepoint) - encoded = vis(char, VIS_WHITE) - decoded = unvis(encoded) - fixtures.append((encoded, decoded)) - - # Add our own custom fixtures at the end, - # since they would fail anyway if one of the previous did. - for fixture in CUSTOM_FIXTURES: - encoded = vis(fixture, VIS_WHITE) - decoded = unvis(encoded) - fixtures.append((encoded, decoded)) - - with open(OUTPUT_FILE, 'w') as fp: - # dump as json to avoid backslashin and quotin nightmare - # between php and python - json.dump(fixtures, fp, indent=indent) - - sys.exit(0) diff --git a/paragonik-backend/vendor/psy/psysh/test/tools/vis.py b/paragonik-backend/vendor/psy/psysh/test/tools/vis.py deleted file mode 100644 index 4e45c4c..0000000 --- a/paragonik-backend/vendor/psy/psysh/test/tools/vis.py +++ /dev/null @@ -1,126 +0,0 @@ -""" -vis.py -====== - -Ctypes based module to access libbsd's strvis & strunvis functions. - -The `vis` function is the equivalent of strvis. -The `unvis` function is the equivalent of strunvis. -All functions accept unicode string as input and return a unicode string. - -Constants: ----------- - -* to select alternate encoding format - `VIS_OCTAL`: use octal \ddd format - `VIS_CSTYLE`: use \[nrft0..] where appropiate - -* to alter set of characters encoded - (default is to encode all non-graphic except space, tab, and newline). - `VIS_SP`: also encode space - `VIS_TAB`: also encode tab - `VIS_NL`: also encode newline - `VIS_WHITE`: same as (VIS_SP | VIS_TAB | VIS_NL) - `VIS_SAFE`: only encode "unsafe" characters - -* other - `VIS_NOSLASH`: inhibit printing '\' - `VIS_HTTP1808`: http-style escape % hex hex - `VIS_HTTPSTYLE`: http-style escape % hex hex - `VIS_MIMESTYLE`: mime-style escape = HEX HEX - `VIS_HTTP1866`: http-style &#num; or &string; - `VIS_NOESCAPE`: don't decode `\' - `VIS_GLOB`: encode glob(3) magic characters - -:Authors: - - ju1ius (http://github.com/ju1ius) -:Version: 1 -:Date: 2014-01-05 -""" -from ctypes import CDLL, c_char_p, c_int -from ctypes.util import find_library - - -__all__ = [ - 'vis', 'unvis', - 'VIS_OCTAL', 'VIS_CSTYLE', - 'VIS_SP', 'VIS_TAB', 'VIS_NL', 'VIS_WHITE', 'VIS_SAFE', - 'VIS_NOSLASH', 'VIS_HTTP1808', 'VIS_HTTPSTYLE', 'VIS_MIMESTYLE', - 'VIS_HTTP1866', 'VIS_NOESCAPE', 'VIS_GLOB' -] - - -############################################################# -# Constants from bsd/vis.h -############################################################# - -#to select alternate encoding format -VIS_OCTAL = 0x0001 -VIS_CSTYLE = 0x0002 -# to alter set of characters encoded -# (default is to encode all non-graphic except space, tab, and newline). -VIS_SP = 0x0004 -VIS_TAB = 0x0008 -VIS_NL = 0x0010 -VIS_WHITE = VIS_SP | VIS_TAB | VIS_NL -VIS_SAFE = 0x0020 -# other -VIS_NOSLASH = 0x0040 -VIS_HTTP1808 = 0x0080 -VIS_HTTPSTYLE = 0x0080 -VIS_MIMESTYLE = 0x0100 -VIS_HTTP1866 = 0x0200 -VIS_NOESCAPE = 0x0400 -VIS_GLOB = 0x1000 - -############################################################# -# Import libbsd/vis functions -############################################################# - -_libbsd = CDLL(find_library('bsd')) - -_strvis = _libbsd.strvis -_strvis.argtypes = [c_char_p, c_char_p, c_int] -_strvis.restype = c_int - -_strunvis = _libbsd.strunvis -_strvis.argtypes = [c_char_p, c_char_p] -_strvis.restype = c_int - - -def vis(src, flags=VIS_WHITE): - """ - Encodes the string `src` into libbsd's vis encoding. - `flags` must be one of the VIS_* constants - - C definition: - int strvis(char *dst, char *src, int flags); - """ - src = bytes(src, 'utf-8') - dst_p = c_char_p(bytes(len(src) * 4)) - src_p = c_char_p(src) - flags = c_int(flags) - - bytes_written = _strvis(dst_p, src_p, flags) - if -1 == bytes_written: - raise RuntimeError('vis failed to encode string "{}"'.format(src)) - - return dst_p.value.decode('utf-8') - - -def unvis(src): - """ - Decodes a string encoded by vis. - - C definition: - int strunvis(char *dst, char *src); - """ - src = bytes(src, 'utf-8') - dst_p = c_char_p(bytes(len(src))) - src_p = c_char_p(src) - - bytes_written = _strunvis(dst_p, src_p) - if -1 == bytes_written: - raise RuntimeError('unvis failed to decode string "{}"'.format(src)) - - return dst_p.value.decode('utf-8') diff --git a/paragonik-backend/vendor/psy/psysh/vendor-bin/box/composer.json b/paragonik-backend/vendor/psy/psysh/vendor-bin/box/composer.json deleted file mode 100644 index 13b7879..0000000 --- a/paragonik-backend/vendor/psy/psysh/vendor-bin/box/composer.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "minimum-stability": "dev", - "prefer-stable": true, - "require": { - "humbug/box": "^3.1" - } -} diff --git a/paragonik-backend/vendor/psy/psysh/vendor-bin/box/composer.lock b/paragonik-backend/vendor/psy/psysh/vendor-bin/box/composer.lock deleted file mode 100644 index 3c44963..0000000 --- a/paragonik-backend/vendor/psy/psysh/vendor-bin/box/composer.lock +++ /dev/null @@ -1,2524 +0,0 @@ -{ - "_readme": [ - "This file locks the dependencies of your project to a known state", - "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", - "This file is @generated automatically" - ], - "content-hash": "d98ffe050f0ba4e81c2d1a98ca945200", - "packages": [ - { - "name": "amphp/amp", - "version": "v2.0.7", - "source": { - "type": "git", - "url": "https://github.com/amphp/amp.git", - "reference": "d561cc9736bc18dd94a2fc9cdae98b616bd92c43" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/amphp/amp/zipball/d561cc9736bc18dd94a2fc9cdae98b616bd92c43", - "reference": "d561cc9736bc18dd94a2fc9cdae98b616bd92c43", - "shasum": "" - }, - "require": { - "php": ">=7" - }, - "require-dev": { - "amphp/phpunit-util": "^1", - "friendsofphp/php-cs-fixer": "^2.3", - "phpstan/phpstan": "^0.8.5", - "phpunit/phpunit": "^6.0.9", - "react/promise": "^2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Amp\\": "lib" - }, - "files": [ - "lib/functions.php", - "lib/Internal/functions.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Bob Weinand", - "email": "bobwei9@hotmail.com" - }, - { - "name": "Niklas Keller", - "email": "me@kelunik.com" - }, - { - "name": "Daniel Lowrey", - "email": "rdlowrey@php.net" - }, - { - "name": "Aaron Piotrowski", - "email": "aaron@trowski.com" - } - ], - "description": "A non-blocking concurrency framework for PHP applications.", - "homepage": "http://amphp.org/amp", - "keywords": [ - "async", - "asynchronous", - "awaitable", - "concurrency", - "event", - "event-loop", - "future", - "non-blocking", - "promise" - ], - "time": "2018-04-30T20:49:57+00:00" - }, - { - "name": "amphp/byte-stream", - "version": "v1.3.1", - "source": { - "type": "git", - "url": "https://github.com/amphp/byte-stream.git", - "reference": "1b75b122e6f069e7d102eef065dc192119d99ca7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/amphp/byte-stream/zipball/1b75b122e6f069e7d102eef065dc192119d99ca7", - "reference": "1b75b122e6f069e7d102eef065dc192119d99ca7", - "shasum": "" - }, - "require": { - "amphp/amp": "^2" - }, - "require-dev": { - "amphp/phpunit-util": "^1", - "friendsofphp/php-cs-fixer": "^2.3", - "phpunit/phpunit": "^6" - }, - "type": "library", - "autoload": { - "psr-4": { - "Amp\\ByteStream\\": "lib" - }, - "files": [ - "lib/functions.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Niklas Keller", - "email": "me@kelunik.com" - }, - { - "name": "Aaron Piotrowski", - "email": "aaron@trowski.com" - } - ], - "description": "A stream abstraction to make working with non-blocking I/O simple.", - "homepage": "http://amphp.org/byte-stream", - "keywords": [ - "amp", - "amphp", - "async", - "io", - "non-blocking", - "stream" - ], - "time": "2018-04-04T05:33:09+00:00" - }, - { - "name": "amphp/parallel", - "version": "v0.2.5", - "source": { - "type": "git", - "url": "https://github.com/amphp/parallel.git", - "reference": "732694688461936bec02c0ccf020dfee10c4f7ee" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/amphp/parallel/zipball/732694688461936bec02c0ccf020dfee10c4f7ee", - "reference": "732694688461936bec02c0ccf020dfee10c4f7ee", - "shasum": "" - }, - "require": { - "amphp/amp": "^2", - "amphp/byte-stream": "^1.2", - "amphp/parser": "^1", - "amphp/process": "^0.2 || ^0.3", - "amphp/sync": "^1.0.1" - }, - "require-dev": { - "amphp/phpunit-util": "^1", - "friendsofphp/php-cs-fixer": "^2.3", - "phpunit/phpunit": "^6" - }, - "suggest": { - "ext-pthreads": "Required for thread contexts" - }, - "type": "library", - "autoload": { - "psr-4": { - "Amp\\Parallel\\": "lib" - }, - "files": [ - "lib/Worker/functions.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Stephen Coakley", - "email": "me@stephencoakley.com" - }, - { - "name": "Aaron Piotrowski", - "email": "aaron@trowski.com" - } - ], - "description": "Parallel processing component for Amp.", - "homepage": "https://github.com/amphp/parallel", - "keywords": [ - "async", - "asynchronous", - "concurrent", - "multi-processing", - "multi-threading" - ], - "time": "2018-03-21T14:37:51+00:00" - }, - { - "name": "amphp/parallel-functions", - "version": "v0.1.2", - "source": { - "type": "git", - "url": "https://github.com/amphp/parallel-functions.git", - "reference": "999ba8a00adaf4d1fd3a7cb40bf7e565e507ff48" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/amphp/parallel-functions/zipball/999ba8a00adaf4d1fd3a7cb40bf7e565e507ff48", - "reference": "999ba8a00adaf4d1fd3a7cb40bf7e565e507ff48", - "shasum": "" - }, - "require": { - "amphp/amp": "^2.0.3", - "amphp/parallel": "^0.1.8 || ^0.2", - "opis/closure": "^3.0.7", - "php": ">=7" - }, - "require-dev": { - "amphp/phpunit-util": "^1.0", - "friendsofphp/php-cs-fixer": "^2.9", - "phpunit/phpunit": "^6.5" - }, - "type": "library", - "autoload": { - "psr-4": { - "Amp\\ParallelFunctions\\": "src" - }, - "files": [ - "src/functions.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Niklas Keller", - "email": "me@kelunik.com" - } - ], - "description": "Parallel processing made simple.", - "time": "2017-12-17T18:33:29+00:00" - }, - { - "name": "amphp/parser", - "version": "v1.0.0", - "source": { - "type": "git", - "url": "https://github.com/amphp/parser.git", - "reference": "f83e68f03d5b8e8e0365b8792985a7f341c57ae1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/amphp/parser/zipball/f83e68f03d5b8e8e0365b8792985a7f341c57ae1", - "reference": "f83e68f03d5b8e8e0365b8792985a7f341c57ae1", - "shasum": "" - }, - "require": { - "php": ">=7" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^2.3", - "phpunit/phpunit": "^6" - }, - "type": "library", - "autoload": { - "psr-4": { - "Amp\\Parser\\": "lib" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Niklas Keller", - "email": "me@kelunik.com" - }, - { - "name": "Aaron Piotrowski", - "email": "aaron@trowski.com" - } - ], - "description": "A generator parser to make streaming parsers simple.", - "homepage": "https://github.com/amphp/parser", - "keywords": [ - "async", - "non-blocking", - "parser", - "stream" - ], - "time": "2017-06-06T05:29:10+00:00" - }, - { - "name": "amphp/process", - "version": "v0.3.3", - "source": { - "type": "git", - "url": "https://github.com/amphp/process.git", - "reference": "b795d20a7f6d5a0637128a02be613f520f1705fc" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/amphp/process/zipball/b795d20a7f6d5a0637128a02be613f520f1705fc", - "reference": "b795d20a7f6d5a0637128a02be613f520f1705fc", - "shasum": "" - }, - "require": { - "amphp/amp": "^2", - "amphp/byte-stream": "^1", - "php": ">=7" - }, - "require-dev": { - "amphp/phpunit-util": "^1", - "friendsofphp/php-cs-fixer": "^2.3", - "phpunit/phpunit": "^6" - }, - "type": "library", - "autoload": { - "psr-4": { - "Amp\\Process\\": "lib" - }, - "files": [ - "lib/constants.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Bob Weinand", - "email": "bobwei9@hotmail.com" - }, - { - "name": "Niklas Keller", - "email": "me@kelunik.com" - }, - { - "name": "Aaron Piotrowski", - "email": "aaron@trowski.com" - } - ], - "description": "Asynchronous process manager.", - "homepage": "https://github.com/amphp/process", - "time": "2018-04-08T18:55:42+00:00" - }, - { - "name": "amphp/sync", - "version": "v1.0.1", - "source": { - "type": "git", - "url": "https://github.com/amphp/sync.git", - "reference": "a1d8f244eb19e3e2a96abc4686cebc80995bbc90" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/amphp/sync/zipball/a1d8f244eb19e3e2a96abc4686cebc80995bbc90", - "reference": "a1d8f244eb19e3e2a96abc4686cebc80995bbc90", - "shasum": "" - }, - "require": { - "amphp/amp": "^2" - }, - "require-dev": { - "amphp/phpunit-util": "^1", - "friendsofphp/php-cs-fixer": "^2.3", - "phpunit/phpunit": "^6" - }, - "type": "library", - "autoload": { - "psr-4": { - "Amp\\Sync\\": "lib" - }, - "files": [ - "lib/functions.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Stephen Coakley", - "email": "me@stephencoakley.com" - }, - { - "name": "Aaron Piotrowski", - "email": "aaron@trowski.com" - } - ], - "description": "Mutex, Semaphore, and other synchronization tools for Amp.", - "homepage": "https://github.com/amphp/sync", - "keywords": [ - "async", - "asynchronous", - "mutex", - "semaphore", - "synchronization" - ], - "time": "2017-11-29T21:48:53+00:00" - }, - { - "name": "beberlei/assert", - "version": "v2.9.5", - "source": { - "type": "git", - "url": "https://github.com/beberlei/assert.git", - "reference": "c07fe163d6a3b3e4b1275981ec004397954afa89" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/beberlei/assert/zipball/c07fe163d6a3b3e4b1275981ec004397954afa89", - "reference": "c07fe163d6a3b3e4b1275981ec004397954afa89", - "shasum": "" - }, - "require": { - "ext-mbstring": "*", - "php": ">=5.3" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^2.1.1", - "phpunit/phpunit": "^4.8.35|^5.7" - }, - "type": "library", - "autoload": { - "psr-4": { - "Assert\\": "lib/Assert" - }, - "files": [ - "lib/Assert/functions.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-2-Clause" - ], - "authors": [ - { - "name": "Benjamin Eberlei", - "email": "kontakt@beberlei.de", - "role": "Lead Developer" - }, - { - "name": "Richard Quadling", - "email": "rquadling@gmail.com", - "role": "Collaborator" - } - ], - "description": "Thin assertion library for input validation in business models.", - "keywords": [ - "assert", - "assertion", - "validation" - ], - "time": "2018-04-16T11:18:27+00:00" - }, - { - "name": "composer/ca-bundle", - "version": "1.1.1", - "source": { - "type": "git", - "url": "https://github.com/composer/ca-bundle.git", - "reference": "d2c0a83b7533d6912e8d516756ebd34f893e9169" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/composer/ca-bundle/zipball/d2c0a83b7533d6912e8d516756ebd34f893e9169", - "reference": "d2c0a83b7533d6912e8d516756ebd34f893e9169", - "shasum": "" - }, - "require": { - "ext-openssl": "*", - "ext-pcre": "*", - "php": "^5.3.2 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5", - "psr/log": "^1.0", - "symfony/process": "^2.5 || ^3.0 || ^4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.x-dev" - } - }, - "autoload": { - "psr-4": { - "Composer\\CaBundle\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" - } - ], - "description": "Lets you find a path to the system CA bundle, and includes a fallback to the Mozilla CA bundle.", - "keywords": [ - "cabundle", - "cacert", - "certificate", - "ssl", - "tls" - ], - "time": "2018-03-29T19:57:20+00:00" - }, - { - "name": "composer/composer", - "version": "1.6.5", - "source": { - "type": "git", - "url": "https://github.com/composer/composer.git", - "reference": "b184a92419cc9a9c4c6a09db555a94d441cb11c9" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/composer/composer/zipball/b184a92419cc9a9c4c6a09db555a94d441cb11c9", - "reference": "b184a92419cc9a9c4c6a09db555a94d441cb11c9", - "shasum": "" - }, - "require": { - "composer/ca-bundle": "^1.0", - "composer/semver": "^1.0", - "composer/spdx-licenses": "^1.2", - "justinrainbow/json-schema": "^3.0 || ^4.0 || ^5.0", - "php": "^5.3.2 || ^7.0", - "psr/log": "^1.0", - "seld/cli-prompt": "^1.0", - "seld/jsonlint": "^1.4", - "seld/phar-utils": "^1.0", - "symfony/console": "^2.7 || ^3.0 || ^4.0", - "symfony/filesystem": "^2.7 || ^3.0 || ^4.0", - "symfony/finder": "^2.7 || ^3.0 || ^4.0", - "symfony/process": "^2.7 || ^3.0 || ^4.0" - }, - "conflict": { - "symfony/console": "2.8.38" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7", - "phpunit/phpunit-mock-objects": "^2.3 || ^3.0" - }, - "suggest": { - "ext-openssl": "Enabling the openssl extension allows you to access https URLs for repositories and packages", - "ext-zip": "Enabling the zip extension allows you to unzip archives", - "ext-zlib": "Allow gzip compression of HTTP requests" - }, - "bin": [ - "bin/composer" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.6-dev" - } - }, - "autoload": { - "psr-4": { - "Composer\\": "src/Composer" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nils Adermann", - "email": "naderman@naderman.de", - "homepage": "http://www.naderman.de" - }, - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" - } - ], - "description": "Composer helps you declare, manage and install dependencies of PHP projects, ensuring you have the right stack everywhere.", - "homepage": "https://getcomposer.org/", - "keywords": [ - "autoload", - "dependency", - "package" - ], - "time": "2018-05-04T09:44:59+00:00" - }, - { - "name": "composer/semver", - "version": "1.4.2", - "source": { - "type": "git", - "url": "https://github.com/composer/semver.git", - "reference": "c7cb9a2095a074d131b65a8a0cd294479d785573" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/composer/semver/zipball/c7cb9a2095a074d131b65a8a0cd294479d785573", - "reference": "c7cb9a2095a074d131b65a8a0cd294479d785573", - "shasum": "" - }, - "require": { - "php": "^5.3.2 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.5 || ^5.0.5", - "phpunit/phpunit-mock-objects": "2.3.0 || ^3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.x-dev" - } - }, - "autoload": { - "psr-4": { - "Composer\\Semver\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nils Adermann", - "email": "naderman@naderman.de", - "homepage": "http://www.naderman.de" - }, - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" - }, - { - "name": "Rob Bast", - "email": "rob.bast@gmail.com", - "homepage": "http://robbast.nl" - } - ], - "description": "Semver library that offers utilities, version constraint parsing and validation.", - "keywords": [ - "semantic", - "semver", - "validation", - "versioning" - ], - "time": "2016-08-30T16:08:34+00:00" - }, - { - "name": "composer/spdx-licenses", - "version": "1.4.0", - "source": { - "type": "git", - "url": "https://github.com/composer/spdx-licenses.git", - "reference": "cb17687e9f936acd7e7245ad3890f953770dec1b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/composer/spdx-licenses/zipball/cb17687e9f936acd7e7245ad3890f953770dec1b", - "reference": "cb17687e9f936acd7e7245ad3890f953770dec1b", - "shasum": "" - }, - "require": { - "php": "^5.3.2 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5", - "phpunit/phpunit-mock-objects": "2.3.0 || ^3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.x-dev" - } - }, - "autoload": { - "psr-4": { - "Composer\\Spdx\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nils Adermann", - "email": "naderman@naderman.de", - "homepage": "http://www.naderman.de" - }, - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" - }, - { - "name": "Rob Bast", - "email": "rob.bast@gmail.com", - "homepage": "http://robbast.nl" - } - ], - "description": "SPDX licenses list and validation library.", - "keywords": [ - "license", - "spdx", - "validator" - ], - "time": "2018-04-30T10:33:04+00:00" - }, - { - "name": "composer/xdebug-handler", - "version": "1.1.0", - "source": { - "type": "git", - "url": "https://github.com/composer/xdebug-handler.git", - "reference": "c919dc6c62e221fc6406f861ea13433c0aa24f08" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/c919dc6c62e221fc6406f861ea13433c0aa24f08", - "reference": "c919dc6c62e221fc6406f861ea13433c0aa24f08", - "shasum": "" - }, - "require": { - "php": "^5.3.2 || ^7.0", - "psr/log": "^1.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5" - }, - "type": "library", - "autoload": { - "psr-4": { - "Composer\\XdebugHandler\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "John Stevenson", - "email": "john-stevenson@blueyonder.co.uk" - } - ], - "description": "Restarts a process without xdebug.", - "keywords": [ - "Xdebug", - "performance" - ], - "time": "2018-04-11T15:42:36+00:00" - }, - { - "name": "doctrine/annotations", - "version": "v1.6.0", - "source": { - "type": "git", - "url": "https://github.com/doctrine/annotations.git", - "reference": "c7f2050c68a9ab0bdb0f98567ec08d80ea7d24d5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/annotations/zipball/c7f2050c68a9ab0bdb0f98567ec08d80ea7d24d5", - "reference": "c7f2050c68a9ab0bdb0f98567ec08d80ea7d24d5", - "shasum": "" - }, - "require": { - "doctrine/lexer": "1.*", - "php": "^7.1" - }, - "require-dev": { - "doctrine/cache": "1.*", - "phpunit/phpunit": "^6.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.6.x-dev" - } - }, - "autoload": { - "psr-4": { - "Doctrine\\Common\\Annotations\\": "lib/Doctrine/Common/Annotations" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { - "name": "Benjamin Eberlei", - "email": "kontakt@beberlei.de" - }, - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" - }, - { - "name": "Jonathan Wage", - "email": "jonwage@gmail.com" - }, - { - "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com" - } - ], - "description": "Docblock Annotations Parser", - "homepage": "http://www.doctrine-project.org", - "keywords": [ - "annotations", - "docblock", - "parser" - ], - "time": "2017-12-06T07:11:42+00:00" - }, - { - "name": "doctrine/lexer", - "version": "v1.0.1", - "source": { - "type": "git", - "url": "https://github.com/doctrine/lexer.git", - "reference": "83893c552fd2045dd78aef794c31e694c37c0b8c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/lexer/zipball/83893c552fd2045dd78aef794c31e694c37c0b8c", - "reference": "83893c552fd2045dd78aef794c31e694c37c0b8c", - "shasum": "" - }, - "require": { - "php": ">=5.3.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-0": { - "Doctrine\\Common\\Lexer\\": "lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" - }, - { - "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com" - } - ], - "description": "Base library for a lexer that can be used in Top-Down, Recursive Descent Parsers.", - "homepage": "http://www.doctrine-project.org", - "keywords": [ - "lexer", - "parser" - ], - "time": "2014-09-09T13:34:57+00:00" - }, - { - "name": "herrera-io/annotations", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/kherge-abandoned/php-annotations.git", - "reference": "7d8b9a536da7f12aad8de7f28b2cb5266bde8da1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/kherge-abandoned/php-annotations/zipball/7d8b9a536da7f12aad8de7f28b2cb5266bde8da1", - "reference": "7d8b9a536da7f12aad8de7f28b2cb5266bde8da1", - "shasum": "" - }, - "require": { - "doctrine/annotations": "~1.0", - "php": ">=5.3.3" - }, - "require-dev": { - "herrera-io/phpunit-test-case": "1.*", - "phpunit/phpunit": "3.7.*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "psr-0": { - "Herrera\\Annotations": "src/lib" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Kevin Herrera", - "email": "kevin@herrera.io", - "homepage": "http://kevin.herrera.io" - } - ], - "description": "A tokenizer for Doctrine annotations.", - "homepage": "https://github.com/herrera-io/php-annotations", - "keywords": [ - "annotations", - "doctrine", - "tokenizer" - ], - "abandoned": true, - "time": "2014-02-03T17:34:08+00:00" - }, - { - "name": "humbug/box", - "version": "3.0.0-alpha.5", - "source": { - "type": "git", - "url": "https://github.com/humbug/box.git", - "reference": "26b3f481e3b375f55c0644f501b831f7c05d8058" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/humbug/box/zipball/26b3f481e3b375f55c0644f501b831f7c05d8058", - "reference": "26b3f481e3b375f55c0644f501b831f7c05d8058", - "shasum": "" - }, - "require": { - "amphp/parallel-functions": "^0.1.2", - "beberlei/assert": "^2.8", - "composer/composer": "^1.6", - "composer/xdebug-handler": "^1.1.0", - "ext-phar": "*", - "herrera-io/annotations": "~1.0", - "humbug/php-scoper": "^1.0@dev", - "justinrainbow/json-schema": "^5.2", - "nikic/iter": "^1.6", - "php": "^7.1", - "phpseclib/phpseclib": "~2.0", - "seld/jsonlint": "^1.6", - "symfony/console": "^3.4 || ^4.0", - "symfony/filesystem": "^3.4 || ^4.0", - "symfony/finder": "^3.4 || ^4.0", - "symfony/var-dumper": "^3.4 || ^4.0", - "webmozart/path-util": "^2.3" - }, - "require-dev": { - "bamarni/composer-bin-plugin": "^1.2", - "infection/infection": "^0.8", - "mikey179/vfsstream": "^1.1", - "phpunit/phpunit": "^7.0" - }, - "suggest": { - "ext-openssl": "To accelerate private key generation." - }, - "bin": [ - "bin/box" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.x-dev" - }, - "bamarni-bin": { - "bin-links": false - } - }, - "autoload": { - "psr-4": { - "KevinGH\\Box\\": "src" - }, - "files": [ - "src/FileSystem/file_system.php", - "src/functions.php" - ], - "exclude-from-classmap": [ - "/Test/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Kevin Herrera", - "email": "kevin@herrera.io", - "homepage": "http://kevin.herrera.io" - }, - { - "name": "Théo Fidry", - "email": "theo.fidry@gmail.com" - } - ], - "description": "Fast, zero config application bundler with PHARs.", - "keywords": [ - "phar" - ], - "time": "2018-05-04T22:04:10+00:00" - }, - { - "name": "humbug/php-scoper", - "version": "dev-master", - "source": { - "type": "git", - "url": "https://github.com/humbug/php-scoper.git", - "reference": "450fe36a7457847d0cb431e7379b5df9d05992a4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/humbug/php-scoper/zipball/450fe36a7457847d0cb431e7379b5df9d05992a4", - "reference": "450fe36a7457847d0cb431e7379b5df9d05992a4", - "shasum": "" - }, - "require": { - "nikic/php-parser": "^3.0", - "ocramius/package-versions": "^1.1", - "padraic/phar-updater": "^1.0", - "php": "^7.1", - "roave/better-reflection": "^2.0", - "symfony/console": "^3.2 || ^4.0", - "symfony/filesystem": "^3.2 || ^4.0", - "symfony/finder": "^3.2 || ^4.0" - }, - "require-dev": { - "bamarni/composer-bin-plugin": "^1.1", - "phpunit/phpunit": "^6.1" - }, - "bin": [ - "bin/php-scoper" - ], - "type": "library", - "extra": { - "bamarni-bin": { - "bin-links": false - }, - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "files": [ - "src/functions.php" - ], - "psr-4": { - "Humbug\\PhpScoper\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Bernhard Schussek", - "email": "bschussek@gmail.com" - }, - { - "name": "Théo Fidry", - "email": "theo.fidry@gmail.com" - }, - { - "name": "Pádraic Brady", - "email": "padraic.brady@gmail.com" - } - ], - "description": "Prefixes all PHP namespaces in a file or directory.", - "time": "2018-04-25T21:59:07+00:00" - }, - { - "name": "justinrainbow/json-schema", - "version": "5.2.7", - "source": { - "type": "git", - "url": "https://github.com/justinrainbow/json-schema.git", - "reference": "8560d4314577199ba51bf2032f02cd1315587c23" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/justinrainbow/json-schema/zipball/8560d4314577199ba51bf2032f02cd1315587c23", - "reference": "8560d4314577199ba51bf2032f02cd1315587c23", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^2.1", - "json-schema/json-schema-test-suite": "1.2.0", - "phpunit/phpunit": "^4.8.35" - }, - "bin": [ - "bin/validate-json" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "JsonSchema\\": "src/JsonSchema/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Bruno Prieto Reis", - "email": "bruno.p.reis@gmail.com" - }, - { - "name": "Justin Rainbow", - "email": "justin.rainbow@gmail.com" - }, - { - "name": "Igor Wiedler", - "email": "igor@wiedler.ch" - }, - { - "name": "Robert Schönthal", - "email": "seroscho@googlemail.com" - } - ], - "description": "A library to validate a json schema.", - "homepage": "https://github.com/justinrainbow/json-schema", - "keywords": [ - "json", - "schema" - ], - "time": "2018-02-14T22:26:30+00:00" - }, - { - "name": "nikic/iter", - "version": "v1.6.0", - "source": { - "type": "git", - "url": "https://github.com/nikic/iter.git", - "reference": "fed36b417ea93fe9b4b7cb2e2abf98d91092564c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/nikic/iter/zipball/fed36b417ea93fe9b4b7cb2e2abf98d91092564c", - "reference": "fed36b417ea93fe9b4b7cb2e2abf98d91092564c", - "shasum": "" - }, - "require": { - "php": ">=5.5.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.0|~5.0" - }, - "type": "library", - "autoload": { - "files": [ - "src/bootstrap.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Nikita Popov", - "email": "nikic@php.net" - } - ], - "description": "Iteration primitives using generators", - "keywords": [ - "functional", - "generator", - "iterator" - ], - "time": "2017-11-10T22:56:03+00:00" - }, - { - "name": "nikic/php-parser", - "version": "v3.1.5", - "source": { - "type": "git", - "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "bb87e28e7d7b8d9a7fda231d37457c9210faf6ce" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/bb87e28e7d7b8d9a7fda231d37457c9210faf6ce", - "reference": "bb87e28e7d7b8d9a7fda231d37457c9210faf6ce", - "shasum": "" - }, - "require": { - "ext-tokenizer": "*", - "php": ">=5.5" - }, - "require-dev": { - "phpunit/phpunit": "~4.0|~5.0" - }, - "bin": [ - "bin/php-parse" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "psr-4": { - "PhpParser\\": "lib/PhpParser" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Nikita Popov" - } - ], - "description": "A PHP parser written in PHP", - "keywords": [ - "parser", - "php" - ], - "time": "2018-02-28T20:30:58+00:00" - }, - { - "name": "ocramius/package-versions", - "version": "1.3.0", - "source": { - "type": "git", - "url": "https://github.com/Ocramius/PackageVersions.git", - "reference": "4489d5002c49d55576fa0ba786f42dbb009be46f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Ocramius/PackageVersions/zipball/4489d5002c49d55576fa0ba786f42dbb009be46f", - "reference": "4489d5002c49d55576fa0ba786f42dbb009be46f", - "shasum": "" - }, - "require": { - "composer-plugin-api": "^1.0.0", - "php": "^7.1.0" - }, - "require-dev": { - "composer/composer": "^1.6.3", - "ext-zip": "*", - "infection/infection": "^0.7.1", - "phpunit/phpunit": "^7.0.0" - }, - "type": "composer-plugin", - "extra": { - "class": "PackageVersions\\Installer", - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "PackageVersions\\": "src/PackageVersions" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com" - } - ], - "description": "Composer plugin that provides efficient querying for installed package versions (no runtime IO)", - "time": "2018-02-05T13:05:30+00:00" - }, - { - "name": "opis/closure", - "version": "3.0.12", - "source": { - "type": "git", - "url": "https://github.com/opis/closure.git", - "reference": "507a28d15e79258d404ba76e73976ba895d0eb11" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/opis/closure/zipball/507a28d15e79258d404ba76e73976ba895d0eb11", - "reference": "507a28d15e79258d404ba76e73976ba895d0eb11", - "shasum": "" - }, - "require": { - "php": ">=5.4.0" - }, - "require-dev": { - "jeremeamia/superclosure": "^2.0", - "phpunit/phpunit": "^4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Opis\\Closure\\": "src/" - }, - "files": [ - "functions.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marius Sarca", - "email": "marius.sarca@gmail.com" - } - ], - "description": "A library that can be used to serialize closures (anonymous functions) and arbitrary objects.", - "homepage": "http://www.opis.io/closure", - "keywords": [ - "anonymous functions", - "closure", - "function", - "serializable", - "serialization", - "serialize" - ], - "time": "2018-02-23T08:08:14+00:00" - }, - { - "name": "padraic/humbug_get_contents", - "version": "1.1.2", - "source": { - "type": "git", - "url": "https://github.com/humbug/file_get_contents.git", - "reference": "dcb086060c9dd6b2f51d8f7a895500307110b7a7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/humbug/file_get_contents/zipball/dcb086060c9dd6b2f51d8f7a895500307110b7a7", - "reference": "dcb086060c9dd6b2f51d8f7a895500307110b7a7", - "shasum": "" - }, - "require": { - "composer/ca-bundle": "^1.0", - "ext-openssl": "*", - "php": "^5.3 || ^7.0 || ^7.1 || ^7.2" - }, - "require-dev": { - "bamarni/composer-bin-plugin": "^1.1", - "mikey179/vfsstream": "^1.6", - "phpunit/phpunit": "^4.8 || ^5.7 || ^6.5" - }, - "type": "library", - "extra": { - "bamarni-bin": { - "bin-links": false - }, - "branch-alias": { - "dev-master": "2.0-dev" - } - }, - "autoload": { - "psr-4": { - "Humbug\\": "src/" - }, - "files": [ - "src/function.php", - "src/functions.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Padraic Brady", - "email": "padraic.brady@gmail.com", - "homepage": "http://blog.astrumfutura.com" - }, - { - "name": "Théo Fidry", - "email": "theo.fidry@gmail.com" - } - ], - "description": "Secure wrapper for accessing HTTPS resources with file_get_contents for PHP 5.3+", - "homepage": "https://github.com/padraic/file_get_contents", - "keywords": [ - "download", - "file_get_contents", - "http", - "https", - "ssl", - "tls" - ], - "time": "2018-02-12T18:47:17+00:00" - }, - { - "name": "padraic/phar-updater", - "version": "v1.0.6", - "source": { - "type": "git", - "url": "https://github.com/humbug/phar-updater.git", - "reference": "d01d3b8f26e541ac9b9eeba1e18d005d852f7ff1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/humbug/phar-updater/zipball/d01d3b8f26e541ac9b9eeba1e18d005d852f7ff1", - "reference": "d01d3b8f26e541ac9b9eeba1e18d005d852f7ff1", - "shasum": "" - }, - "require": { - "padraic/humbug_get_contents": "^1.0", - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "psr-4": { - "Humbug\\SelfUpdate\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Pádraic Brady", - "email": "padraic.brady@gmail.com", - "homepage": "http://blog.astrumfutura.com" - } - ], - "description": "A thing to make PHAR self-updating easy and secure.", - "keywords": [ - "humbug", - "phar", - "self-update", - "update" - ], - "time": "2018-03-30T12:52:15+00:00" - }, - { - "name": "phpdocumentor/reflection-common", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionCommon.git", - "reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6", - "reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6", - "shasum": "" - }, - "require": { - "php": ">=5.5" - }, - "require-dev": { - "phpunit/phpunit": "^4.6" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "phpDocumentor\\Reflection\\": [ - "src" - ] - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jaap van Otterdijk", - "email": "opensource@ijaap.nl" - } - ], - "description": "Common reflection classes used by phpdocumentor to reflect the code structure", - "homepage": "http://www.phpdoc.org", - "keywords": [ - "FQSEN", - "phpDocumentor", - "phpdoc", - "reflection", - "static analysis" - ], - "time": "2017-09-11T18:02:19+00:00" - }, - { - "name": "phpdocumentor/reflection-docblock", - "version": "4.3.0", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "94fd0001232e47129dd3504189fa1c7225010d08" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/94fd0001232e47129dd3504189fa1c7225010d08", - "reference": "94fd0001232e47129dd3504189fa1c7225010d08", - "shasum": "" - }, - "require": { - "php": "^7.0", - "phpdocumentor/reflection-common": "^1.0.0", - "phpdocumentor/type-resolver": "^0.4.0", - "webmozart/assert": "^1.0" - }, - "require-dev": { - "doctrine/instantiator": "~1.0.5", - "mockery/mockery": "^1.0", - "phpunit/phpunit": "^6.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.x-dev" - } - }, - "autoload": { - "psr-4": { - "phpDocumentor\\Reflection\\": [ - "src/" - ] - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mike van Riel", - "email": "me@mikevanriel.com" - } - ], - "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", - "time": "2017-11-30T07:14:17+00:00" - }, - { - "name": "phpdocumentor/type-resolver", - "version": "0.4.0", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "9c977708995954784726e25d0cd1dddf4e65b0f7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/9c977708995954784726e25d0cd1dddf4e65b0f7", - "reference": "9c977708995954784726e25d0cd1dddf4e65b0f7", - "shasum": "" - }, - "require": { - "php": "^5.5 || ^7.0", - "phpdocumentor/reflection-common": "^1.0" - }, - "require-dev": { - "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "^5.2||^4.8.24" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "phpDocumentor\\Reflection\\": [ - "src/" - ] - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mike van Riel", - "email": "me@mikevanriel.com" - } - ], - "time": "2017-07-14T14:27:02+00:00" - }, - { - "name": "phpseclib/phpseclib", - "version": "2.0.11", - "source": { - "type": "git", - "url": "https://github.com/phpseclib/phpseclib.git", - "reference": "7053f06f91b3de78e143d430e55a8f7889efc08b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/7053f06f91b3de78e143d430e55a8f7889efc08b", - "reference": "7053f06f91b3de78e143d430e55a8f7889efc08b", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phing/phing": "~2.7", - "phpunit/phpunit": "^4.8.35|^5.7|^6.0", - "sami/sami": "~2.0", - "squizlabs/php_codesniffer": "~2.0" - }, - "suggest": { - "ext-gmp": "Install the GMP (GNU Multiple Precision) extension in order to speed up arbitrary precision integer arithmetic operations.", - "ext-libsodium": "SSH2/SFTP can make use of some algorithms provided by the libsodium-php extension.", - "ext-mcrypt": "Install the Mcrypt extension in order to speed up a few other cryptographic operations.", - "ext-openssl": "Install the OpenSSL extension in order to speed up a wide variety of cryptographic operations." - }, - "type": "library", - "autoload": { - "files": [ - "phpseclib/bootstrap.php" - ], - "psr-4": { - "phpseclib\\": "phpseclib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jim Wigginton", - "email": "terrafrost@php.net", - "role": "Lead Developer" - }, - { - "name": "Patrick Monnerat", - "email": "pm@datasphere.ch", - "role": "Developer" - }, - { - "name": "Andreas Fischer", - "email": "bantu@phpbb.com", - "role": "Developer" - }, - { - "name": "Hans-Jürgen Petrich", - "email": "petrich@tronic-media.com", - "role": "Developer" - }, - { - "name": "Graham Campbell", - "email": "graham@alt-three.com", - "role": "Developer" - } - ], - "description": "PHP Secure Communications Library - Pure-PHP implementations of RSA, AES, SSH2, SFTP, X.509 etc.", - "homepage": "http://phpseclib.sourceforge.net", - "keywords": [ - "BigInteger", - "aes", - "asn.1", - "asn1", - "blowfish", - "crypto", - "cryptography", - "encryption", - "rsa", - "security", - "sftp", - "signature", - "signing", - "ssh", - "twofish", - "x.509", - "x509" - ], - "time": "2018-04-15T16:55:05+00:00" - }, - { - "name": "psr/log", - "version": "1.0.2", - "source": { - "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Log\\": "Psr/Log/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interface for logging libraries", - "homepage": "https://github.com/php-fig/log", - "keywords": [ - "log", - "psr", - "psr-3" - ], - "time": "2016-10-10T12:19:37+00:00" - }, - { - "name": "roave/better-reflection", - "version": "2.0.2", - "source": { - "type": "git", - "url": "https://github.com/Roave/BetterReflection.git", - "reference": "efc45b50cb52d5eeaacab15741376e981e28738b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Roave/BetterReflection/zipball/efc45b50cb52d5eeaacab15741376e981e28738b", - "reference": "efc45b50cb52d5eeaacab15741376e981e28738b", - "shasum": "" - }, - "require": { - "nikic/php-parser": "^3.1.1", - "php": ">=7.1.0,<7.3.0", - "phpdocumentor/reflection-docblock": "^4.1.1", - "phpdocumentor/type-resolver": "^0.4.0", - "roave/signature": "^1.0" - }, - "require-dev": { - "phpunit/phpunit": "^6.3.0" - }, - "suggest": { - "composer/composer": "Required to use the ComposerSourceLocator" - }, - "type": "library", - "autoload": { - "psr-4": { - "Roave\\BetterReflection\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com", - "homepage": "http://ocramius.github.io/" - }, - { - "name": "James Titcumb", - "email": "james@asgrim.com", - "homepage": "https://github.com/asgrim" - }, - { - "name": "Gary Hockin", - "email": "gary@roave.com", - "homepage": "https://github.com/geeh" - }, - { - "name": "Jaroslav Hanslík", - "email": "kukulich@kukulich.cz", - "homepage": "https://github.com/kukulich" - } - ], - "description": "Better Reflection - an improved code reflection API", - "time": "2018-02-05T08:08:57+00:00" - }, - { - "name": "roave/signature", - "version": "1.0.0", - "source": { - "type": "git", - "url": "https://github.com/Roave/Signature.git", - "reference": "bed4ecbdd7f312ab6bb39561ac191f520bcee386" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Roave/Signature/zipball/bed4ecbdd7f312ab6bb39561ac191f520bcee386", - "reference": "bed4ecbdd7f312ab6bb39561ac191f520bcee386", - "shasum": "" - }, - "require": { - "php": "^7.0|^7.1" - }, - "require-dev": { - "phpunit/phpunit": "^5.6" - }, - "type": "library", - "autoload": { - "psr-4": { - "Roave\\Signature\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "Sign and verify stuff", - "time": "2017-02-17T13:53:21+00:00" - }, - { - "name": "seld/cli-prompt", - "version": "1.0.3", - "source": { - "type": "git", - "url": "https://github.com/Seldaek/cli-prompt.git", - "reference": "a19a7376a4689d4d94cab66ab4f3c816019ba8dd" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Seldaek/cli-prompt/zipball/a19a7376a4689d4d94cab66ab4f3c816019ba8dd", - "reference": "a19a7376a4689d4d94cab66ab4f3c816019ba8dd", - "shasum": "" - }, - "require": { - "php": ">=5.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.x-dev" - } - }, - "autoload": { - "psr-4": { - "Seld\\CliPrompt\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be" - } - ], - "description": "Allows you to prompt for user input on the command line, and optionally hide the characters they type", - "keywords": [ - "cli", - "console", - "hidden", - "input", - "prompt" - ], - "time": "2017-03-18T11:32:45+00:00" - }, - { - "name": "seld/jsonlint", - "version": "1.7.1", - "source": { - "type": "git", - "url": "https://github.com/Seldaek/jsonlint.git", - "reference": "d15f59a67ff805a44c50ea0516d2341740f81a38" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Seldaek/jsonlint/zipball/d15f59a67ff805a44c50ea0516d2341740f81a38", - "reference": "d15f59a67ff805a44c50ea0516d2341740f81a38", - "shasum": "" - }, - "require": { - "php": "^5.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" - }, - "bin": [ - "bin/jsonlint" - ], - "type": "library", - "autoload": { - "psr-4": { - "Seld\\JsonLint\\": "src/Seld/JsonLint/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" - } - ], - "description": "JSON Linter", - "keywords": [ - "json", - "linter", - "parser", - "validator" - ], - "time": "2018-01-24T12:46:19+00:00" - }, - { - "name": "seld/phar-utils", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/Seldaek/phar-utils.git", - "reference": "7009b5139491975ef6486545a39f3e6dad5ac30a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Seldaek/phar-utils/zipball/7009b5139491975ef6486545a39f3e6dad5ac30a", - "reference": "7009b5139491975ef6486545a39f3e6dad5ac30a", - "shasum": "" - }, - "require": { - "php": ">=5.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.x-dev" - } - }, - "autoload": { - "psr-4": { - "Seld\\PharUtils\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be" - } - ], - "description": "PHAR file format utilities, for when PHP phars you up", - "keywords": [ - "phra" - ], - "time": "2015-10-13T18:44:15+00:00" - }, - { - "name": "symfony/console", - "version": "v4.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/console.git", - "reference": "3e820bc2c520a87ca209ad8fa961c97f42e0b4ae" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/3e820bc2c520a87ca209ad8fa961c97f42e0b4ae", - "reference": "3e820bc2c520a87ca209ad8fa961c97f42e0b4ae", - "shasum": "" - }, - "require": { - "php": "^7.1.3", - "symfony/polyfill-mbstring": "~1.0" - }, - "conflict": { - "symfony/dependency-injection": "<3.4", - "symfony/process": "<3.3" - }, - "require-dev": { - "psr/log": "~1.0", - "symfony/config": "~3.4|~4.0", - "symfony/dependency-injection": "~3.4|~4.0", - "symfony/event-dispatcher": "~3.4|~4.0", - "symfony/lock": "~3.4|~4.0", - "symfony/process": "~3.4|~4.0" - }, - "suggest": { - "psr/log-implementation": "For using the console logger", - "symfony/event-dispatcher": "", - "symfony/lock": "", - "symfony/process": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.0-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Console\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Console Component", - "homepage": "https://symfony.com", - "time": "2018-04-30T01:23:47+00:00" - }, - { - "name": "symfony/filesystem", - "version": "v4.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/filesystem.git", - "reference": "5d2d655b2c72fc4d9bf7e9bf14f72a447b940f21" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/5d2d655b2c72fc4d9bf7e9bf14f72a447b940f21", - "reference": "5d2d655b2c72fc4d9bf7e9bf14f72a447b940f21", - "shasum": "" - }, - "require": { - "php": "^7.1.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.0-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Filesystem\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Filesystem Component", - "homepage": "https://symfony.com", - "time": "2018-02-22T10:50:29+00:00" - }, - { - "name": "symfony/finder", - "version": "v4.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/finder.git", - "reference": "ca27c02b7a3fef4828c998c2ff9ba7aae1641c49" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/ca27c02b7a3fef4828c998c2ff9ba7aae1641c49", - "reference": "ca27c02b7a3fef4828c998c2ff9ba7aae1641c49", - "shasum": "" - }, - "require": { - "php": "^7.1.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.0-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Finder\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Finder Component", - "homepage": "https://symfony.com", - "time": "2018-04-04T05:10:37+00:00" - }, - { - "name": "symfony/polyfill-mbstring", - "version": "v1.8.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "3296adf6a6454a050679cde90f95350ad604b171" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/3296adf6a6454a050679cde90f95350ad604b171", - "reference": "3296adf6a6454a050679cde90f95350ad604b171", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "suggest": { - "ext-mbstring": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.8-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Mbstring\\": "" - }, - "files": [ - "bootstrap.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for the Mbstring extension", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "mbstring", - "polyfill", - "portable", - "shim" - ], - "time": "2018-04-26T10:06:28+00:00" - }, - { - "name": "symfony/polyfill-php72", - "version": "v1.8.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php72.git", - "reference": "a4576e282d782ad82397f3e4ec1df8e0f0cafb46" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/a4576e282d782ad82397f3e4ec1df8e0f0cafb46", - "reference": "a4576e282d782ad82397f3e4ec1df8e0f0cafb46", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.8-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Php72\\": "" - }, - "files": [ - "bootstrap.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "time": "2018-04-26T10:06:28+00:00" - }, - { - "name": "symfony/process", - "version": "v4.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/process.git", - "reference": "d7dc1ee5dfe9f732cb1bba7310f5b99f2b7a6d25" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/d7dc1ee5dfe9f732cb1bba7310f5b99f2b7a6d25", - "reference": "d7dc1ee5dfe9f732cb1bba7310f5b99f2b7a6d25", - "shasum": "" - }, - "require": { - "php": "^7.1.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.0-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Process\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Process Component", - "homepage": "https://symfony.com", - "time": "2018-04-03T05:24:00+00:00" - }, - { - "name": "symfony/var-dumper", - "version": "v4.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/var-dumper.git", - "reference": "3c34cf3f4bbac9e003d9325225e9ef1a49180a18" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/3c34cf3f4bbac9e003d9325225e9ef1a49180a18", - "reference": "3c34cf3f4bbac9e003d9325225e9ef1a49180a18", - "shasum": "" - }, - "require": { - "php": "^7.1.3", - "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php72": "~1.5" - }, - "conflict": { - "phpunit/phpunit": "<4.8.35|<5.4.3,>=5.0" - }, - "require-dev": { - "ext-iconv": "*", - "twig/twig": "~1.34|~2.4" - }, - "suggest": { - "ext-iconv": "To convert non-UTF-8 strings to UTF-8 (or symfony/polyfill-iconv in case ext-iconv cannot be used).", - "ext-intl": "To show region name in time zone dump" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.0-dev" - } - }, - "autoload": { - "files": [ - "Resources/functions/dump.php" - ], - "psr-4": { - "Symfony\\Component\\VarDumper\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony mechanism for exploring and dumping PHP variables", - "homepage": "https://symfony.com", - "keywords": [ - "debug", - "dump" - ], - "time": "2018-04-26T16:12:06+00:00" - }, - { - "name": "webmozart/assert", - "version": "1.3.0", - "source": { - "type": "git", - "url": "https://github.com/webmozart/assert.git", - "reference": "0df1908962e7a3071564e857d86874dad1ef204a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/webmozart/assert/zipball/0df1908962e7a3071564e857d86874dad1ef204a", - "reference": "0df1908962e7a3071564e857d86874dad1ef204a", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.6", - "sebastian/version": "^1.0.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3-dev" - } - }, - "autoload": { - "psr-4": { - "Webmozart\\Assert\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Bernhard Schussek", - "email": "bschussek@gmail.com" - } - ], - "description": "Assertions to validate method input/output with nice error messages.", - "keywords": [ - "assert", - "check", - "validate" - ], - "time": "2018-01-29T19:49:41+00:00" - }, - { - "name": "webmozart/path-util", - "version": "2.3.0", - "source": { - "type": "git", - "url": "https://github.com/webmozart/path-util.git", - "reference": "d939f7edc24c9a1bb9c0dee5cb05d8e859490725" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/webmozart/path-util/zipball/d939f7edc24c9a1bb9c0dee5cb05d8e859490725", - "reference": "d939f7edc24c9a1bb9c0dee5cb05d8e859490725", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "webmozart/assert": "~1.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.6", - "sebastian/version": "^1.0.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.3-dev" - } - }, - "autoload": { - "psr-4": { - "Webmozart\\PathUtil\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Bernhard Schussek", - "email": "bschussek@gmail.com" - } - ], - "description": "A robust cross-platform utility for normalizing, comparing and modifying file paths.", - "time": "2015-12-17T08:42:14+00:00" - } - ], - "packages-dev": [], - "aliases": [], - "minimum-stability": "dev", - "stability-flags": { - "humbug/box": 15 - }, - "prefer-stable": true, - "prefer-lowest": false, - "platform": [], - "platform-dev": [] -} diff --git a/paragonik-backend/vendor/ramsey/uuid/CHANGELOG.md b/paragonik-backend/vendor/ramsey/uuid/CHANGELOG.md deleted file mode 100644 index 878e792..0000000 --- a/paragonik-backend/vendor/ramsey/uuid/CHANGELOG.md +++ /dev/null @@ -1,633 +0,0 @@ -# ramsey/uuid Changelog - -All notable changes to this project will be documented in this file. - -The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) -and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). - - -## [Unreleased] - -### Added - -### Changed - -### Deprecated - -### Removed - -### Fixed - -### Security - - -## [3.9.1] - 2019-12-01 - -### Fixed - -* Fix `RandomNodeProvider` behavior on 32-bit systems. The `RandomNodeProvider` - was converting a 6-byte string to a a decimal number, which is a 48-bit, - unsigned integer. This caused problems on 32-bit systems and has now been - resolved. - - -## [3.9.0] - 2019-11-30 - -### Added - -* Add function API as convenience. The functions are available in the - `Ramsey\Uuid` namespace. - * `v1(int|string|null $node = null, int|null $clockSeq = null): string` - * `v3(string|UuidInterface $ns, string $name): string` - * `v4(): string` - * `v5(string|UuidInterface $ns, string $name): string` - -### Changed - -* Use paragonie/random-lib instead of ircmaxell/random-lib. This is a - non-breaking change. -* Use a high-strength generator by default, when using `RandomLibAdapter`. This - is a non-breaking change. - -### Deprecated - -These will be removed in version ramsey/uuid version 4.0.0: - -* `MtRandGenerator`, `OpenSslGenerator`, and `SodiumRandomGenerator` are - deprecated in favor of using the default `RandomBytesGenerator`. - -### Fixed - -* Set `ext-json` as a required dependency in `composer.json`. -* Use `PHP_OS` instead of `php_uname()` when determining the system OS, for - cases when `php_uname()` is disabled for security reasons. - - -## [3.8.0] - 2018-07-19 - -### Added - -* Support discovery of MAC addresses on FreeBSD systems -* Use a polyfill to provide PHP ctype functions when running on systems where the - ctype functions are not part of the PHP build -* Disallow a trailing newline character when validating UUIDs -* Annotate thrown exceptions for improved IDE hinting - - -## [3.7.3] - 2018-01-19 - -### Fixed - -* Gracefully handle cases where `glob()` returns false when searching - `/sys/class/net/*/address` files on Linux -* Fix off-by-one error in `DefaultTimeGenerator` - -### Security - -* Switch to `random_int()` from `mt_rand()` for better random numbers - - -## [3.7.2] - 2018-01-13 - -### Fixed - -* Check sysfs on Linux to determine the node identifier; this provides a - reliable way to identify the node on Docker images, etc. - - -## [3.7.1] - 2017-09-22 - -### Fixed - -* Set the multicast bit for random nodes, according to RFC 4122, §4.5 - -### Security - -* Use `random_bytes()` when generating random nodes - - -## [3.7.0] - 2017-08-04 - -### Added - -* Add the following UUID version constants: - * `Uuid::UUID_TYPE_TIME` - * `Uuid::UUID_TYPE_IDENTIFIER` - * `Uuid::UUID_TYPE_HASH_MD5` - * `Uuid::UUID_TYPE_RANDOM` - * `Uuid::UUID_TYPE_HASH_SHA1` - - -## [3.6.1] - 2017-03-26 - -### Fixed - -* Optimize UUID string decoding by using `str_pad()` instead of `sprintf()` - - -## [3.6.0] - 2017-03-18 - -### Added - -* Add `InvalidUuidStringException`, which is thrown when attempting to decode an - invalid string UUID; this does not introduce any BC issues, since the new - exception inherits from the previously used `InvalidArgumentException` - -### Fixed - -* Improve memory usage when generating large quantities of UUIDs (use `str_pad()` - and `dechex()` instead of `sprintf()`) - - -## [3.5.2] - 2016-11-22 - -### Fixed - -* Improve test coverage - - -## [3.5.1] - 2016-10-02 - -### Fixed - -* Fix issue where the same UUIDs were not being treated as equal when using - mixed cases - - -## [3.5.0] - 2016-08-02 - -### Added - -* Add `OrderedTimeCodec` to store UUID in an optimized way for InnoDB - -### Fixed - -* Fix invalid node generation in `RandomNodeProvider` -* Avoid multiple unnecessary system calls by caching failed attempt to retrieve - system node - - -## [3.4.1] - 2016-04-23 - -### Fixed - -* Fix test that violated a PHP CodeSniffer rule, breaking the build - - -## [3.4.0] - 2016-04-23 - -### Added - -* Add `TimestampFirstCombCodec` and `TimestampLastCombCodec` codecs to provide - the ability to generate [COMB sequential UUIDs] with the timestamp encoded as - either the first 48 bits or the last 48 bits -* Improve logic of `CombGenerator` for COMB sequential UUIDs - - -## [3.3.0] - 2016-03-22 - -### Security - -* Drop the use of OpenSSL as a fallback and use [paragonie/random_compat] to - support `RandomBytesGenerator` in versions of PHP earlier than 7.0; - this addresses and fixes the [collision issue] - - -## [3.2.0] - 2016-02-17 - -### Added - -* Add `SodiumRandomGenerator` to allow use of the [PECL libsodium extension] as - a random bytes generator when creating UUIDs - - -## [3.1.0] - 2015-12-17 - -### Added - -* Implement the PHP `Serializable` interface to provide the ability to - serialize/unserialize UUID objects - - -## [3.0.1] - 2015-10-21 - -### Added - -* Adopt the [Contributor Code of Conduct] for this project - - -## [3.0.0] - 2015-09-28 - -The 3.0.0 release represents a significant step for the ramsey/uuid library. -While the simple and familiar API used in previous versions remains intact, this -release provides greater flexibility to integrators, including the ability to -inject your own number generators, UUID codecs, node and time providers, and -more. - -*Please note: The changelog for 3.0.0 includes all notes from the alpha and beta -versions leading up to this release.* - -### Added - -* Add a number of generators that may be used to override the library defaults - for generating random bytes (version 4) or time-based (version 1) UUIDs - * `CombGenerator` to allow generation of sequential UUIDs - * `OpenSslGenerator` to generate random bytes on systems where - `openssql_random_pseudo_bytes()` is present - * `MtRandGenerator` to provide a fallback in the event other random generators - are not present - * `RandomLibAdapter` to allow use of [ircmaxell/random-lib] - * `RandomBytesGenerator` for use with PHP 7; ramsey/uuid will default to use - this generator when running on PHP 7 - * Refactor time-based (version 1) UUIDs into a `TimeGeneratorInterface` to - allow for other sources to generate version 1 UUIDs in this library - * `PeclUuidTimeGenerator` and `PeclUuidRandomGenerator` for creating version - 1 or version 4 UUIDs using the pecl-uuid extension -* Add a `setTimeGenerator` method on `UuidFactory` to override the default time - generator -* Add option to enable `PeclUuidTimeGenerator` via `FeatureSet` -* Support GUID generation by configuring a `FeatureSet` to use GUIDs -* Allow UUIDs to be serialized as JSON through `JsonSerializable` - -### Changed - -* Change root namespace from "Rhumsaa" to "Ramsey;" in most cases, simply - making this change in your applications is the only upgrade path you will - need—everything else should work as expected -* No longer consider `Uuid` class as `final`; everything is now based around - interfaces and factories, allowing you to use this package as a base to - implement other kinds of UUIDs with different dependencies -* Return an object of type `DegradedUuid` on 32-bit systems to indicate that - certain features are not available -* Default `RandomLibAdapter` to a medium-strength generator with - [ircmaxell/random-lib]; this is configurable, so other generator strengths may - be used - -### Removed - -* Remove `PeclUuidFactory` in favor of using pecl-uuid with generators -* Remove `timeConverter` and `timeProvider` properties, setters, and getters in - both `FeatureSet` and `UuidFactory` as those are now exclusively used by the - default `TimeGenerator` -* Move UUID [Doctrine field type] to [ramsey/uuid-doctrine] -* Move `uuid` console application to [ramsey/uuid-console] -* Remove `Uuid::VERSION` package version constant - -### Fixed - -* Improve GUID support to ensure that: - * On little endian (LE) architectures, the byte order of the first three - fields is LE - * On big endian (BE) architectures, it is the same as a GUID - * String representation is always the same -* Fix exception message for `DegradedNumberConverter::fromHex()` - - -## [3.0.0-beta1] - 2015-08-31 - -### Fixed - -* Improve GUID support to ensure that: - * On little endian (LE) architectures, the byte order of the first three - fields is LE - * On big endian (BE) architectures, it is the same as a GUID - * String representation is always the same -* Fix exception message for `DegradedNumberConverter::fromHex()` - - -## [3.0.0-alpha3] - 2015-07-28 - -### Added - -* Enable use of custom `TimeGenerator` implementations -* Add a `setTimeGenerator` method on `UuidFactory` to override the default time - generator -* Add option to enable `PeclUuidTimeGenerator` via `FeatureSet` - -### Removed - -* Remove `timeConverter` and `timeProvider` properties, setters, and getters in - both `FeatureSet` and `UuidFactory` as those are now exclusively used by the - default `TimeGenerator` - - -## [3.0.0-alpha2] - 2015-07-28 - -### Added - -* Refactor time-based (version 1) UUIDs into a `TimeGeneratorInterface` to allow - for other sources to generate version 1 UUIDs in this library -* Add `PeclUuidTimeGenerator` and `PeclUuidRandomGenerator` for creating version - 1 or version 4 UUIDs using the pecl-uuid extension -* Add `RandomBytesGenerator` for use with PHP 7. ramsey/uuid will default to use - this generator when running on PHP 7 - -### Changed - -* Default `RandomLibAdapter` to a medium-strength generator with - [ircmaxell/random-lib]; this is configurable, so other generator strengths may - be used - -### Removed - -* Remove `PeclUuidFactory` in favor of using pecl-uuid with generators - - -## [3.0.0-alpha1] - 2015-07-16 - -### Added - -* Allow dependency injection through `UuidFactory` and/or extending `FeatureSet` - to override any package defaults -* Add a number of generators that may be used to override the library defaults: - * `CombGenerator` to allow generation of sequential UUIDs - * `OpenSslGenerator` to generate random bytes on systems where - `openssql_random_pseudo_bytes()` is present - * `MtRandGenerator` to provide a fallback in the event other random generators - are not present - * `RandomLibAdapter` to allow use of [ircmaxell/random-lib] -* Support GUID generation by configuring a `FeatureSet` to use GUIDs -* Allow UUIDs to be serialized as JSON through `JsonSerializable` - -### Changed - -* Change root namespace from "Rhumsaa" to "Ramsey;" in most cases, simply - making this change in your applications is the only upgrade path you will - need—everything else should work as expected -* No longer consider `Uuid` class as `final`; everything is now based around - interfaces and factories, allowing you to use this package as a base to - implement other kinds of UUIDs with different dependencies -* Return an object of type `DegradedUuid` on 32-bit systems to indicate that - certain features are not available - -### Removed - -* Move UUID [Doctrine field type] to [ramsey/uuid-doctrine] -* Move `uuid` console application to [ramsey/uuid-console] -* Remove `Uuid::VERSION` package version constant - - -## [2.9.0] - 2016-03-22 - -### Security - -* Drop the use of OpenSSL as a fallback and use [paragonie/random_compat] to - support `RandomBytesGenerator` in versions of PHP earlier than 7.0; - this addresses and fixes the [collision issue] - - -## [2.8.4] - 2015-12-17 - -### Added - -* Add support for symfony/console v3 in the `uuid` CLI application - - -## [2.8.3] - 2015-08-31 - -### Fixed - -* Fix exception message in `Uuid::calculateUuidTime()` - - -## [2.8.2] - 2015-07-23 - -### Fixed - -* Ensure the release tag makes it into the rhumsaa/uuid package - - -## [2.8.1] - 2015-06-16 - -### Fixed - -* Use `passthru()` and output buffering in `getIfconfig()` -* Cache the system node in a static variable so that we process it only once per - runtime - - -## [2.8.0] - 2014-11-09 - -### Added - -* Add static `fromInteger()` method to create UUIDs from string integer or - `Moontoast\Math\BigNumber` - -### Fixed - -* Improve Doctrine conversion to Uuid or string for the ramsey/uuid [Doctrine - field type] - - -## [2.7.4] - 2014-10-29 - -### Fixed - -* Change loop in `generateBytes()` from `foreach` to `for` - - -## [2.7.3] - 2014-08-27 - -### Fixed - -* Fix upper range for `mt_rand` used in version 4 UUIDs - - -## [2.7.2] - 2014-07-28 - -### Changed - -* Upgrade to PSR-4 autoloading - - -## [2.7.1] - 2014-02-19 - -### Fixed - -* Move moontoast/math and symfony/console to require-dev -* Support symfony/console 2.3 (LTS version) - - -## [2.7.0] - 2014-01-31 - -### Added - -* Add `Uuid::VALID_PATTERN` constant containing a UUID validation regex pattern - - -## [2.6.1] - 2014-01-27 - -### Fixed - -* Fix bug where `uuid` console application could not find the Composer - autoloader when installed in another project - - -## [2.6.0] - 2014-01-17 - -### Added - -* Introduce `uuid` console application for generating and decoding UUIDs from - CLI (run `./bin/uuid` for details) -* Add `Uuid::getInteger()` to retrieve a `Moontoast\Math\BigNumber` - representation of the 128-bit integer representing the UUID -* Add `Uuid::getHex()` to retrieve the hexadecimal representation of the UUID -* Use `netstat` on Linux to capture the node for a version 1 UUID -* Require moontoast/math as part of the regular package requirements - - -## [2.5.0] - 2013-10-30 - -### Added - -* Use `openssl_random_pseudo_bytes()`, if available, to generate random bytes - - -## [2.4.0] - 2013-07-29 - -### Added - -* Return `null` from `Uuid::getVersion()` if the UUID isn't an RFC 4122 variant -* Support string UUIDs without dashes passed to `Uuid::fromString()` - - -## [2.3.0] - 2013-07-16 - -### Added - -* Support creation of UUIDs from bytes with `Uuid::fromBytes()` - - -## [2.2.0] - 2013-07-04 - -### Added - -* Add `Doctrine\UuidType::requiresSQLCommentHint()` method - - -## [2.1.2] - 2013-07-03 - -### Fixed - -* Fix cases where the system node was coming back with uppercase hexadecimal - digits; this ensures that case in the node is converted to lowercase - - -## [2.1.1] - 2013-04-29 - -### Fixed - -* Fix bug in `Uuid::isValid()` where the NIL UUID was not reported as valid - - -## [2.1.0] - 2013-04-15 - -### Added - -* Allow checking the validity of a UUID through the `Uuid::isValid()` method - - -## [2.0.0] - 2013-02-11 - -### Added - -* Support UUID generation on 32-bit platforms - -### Changed - -* Mark `Uuid` class `final` -* Require moontoast/math on 64-bit platforms for - `Uuid::getLeastSignificantBits()` and `Uuid::getMostSignificantBits()`; the - integers returned by these methods are *unsigned* 64-bit integers and - unsupported even on 64-bit builds of PHP -* Move `UnsupportedOperationException` to the `Exception` subnamespace - - -## [1.1.2] - 2012-11-29 - -### Fixed - -* Relax [Doctrine field type] conversion rules for UUIDs - - -## [1.1.1] - 2012-08-27 - -### Fixed - -* Remove `final` keyword from `Uuid` class - - -## [1.1.0] - 2012-08-06 - -### Added - -* Support ramsey/uuid UUIDs as a Doctrine Database Abstraction Layer (DBAL) - field mapping type - - -## [1.0.0] - 2012-07-19 - -### Added - -* Support generation of version 1, 3, 4, and 5 UUIDs - - -[comb sequential uuids]: http://www.informit.com/articles/article.aspx?p=25862&seqNum=7 -[paragonie/random_compat]: https://github.com/paragonie/random_compat -[collision issue]: https://github.com/ramsey/uuid/issues/80 -[contributor code of conduct]: https://github.com/ramsey/uuid/blob/master/.github/CODE_OF_CONDUCT.md -[pecl libsodium extension]: http://pecl.php.net/package/libsodium -[ircmaxell/random-lib]: https://github.com/ircmaxell/RandomLib -[doctrine field type]: http://doctrine-dbal.readthedocs.org/en/latest/reference/types.html -[ramsey/uuid-doctrine]: https://github.com/ramsey/uuid-doctrine -[ramsey/uuid-console]: https://github.com/ramsey/uuid-console - -[unreleased]: https://github.com/ramsey/uuid/compare/3.9.1...HEAD -[3.9.1]: https://github.com/ramsey/uuid/compare/3.9.0...3.9.1 -[3.9.0]: https://github.com/ramsey/uuid/compare/3.8.0...3.9.0 -[3.8.0]: https://github.com/ramsey/uuid/compare/3.7.3...3.8.0 -[3.7.3]: https://github.com/ramsey/uuid/compare/3.7.2...3.7.3 -[3.7.2]: https://github.com/ramsey/uuid/compare/3.7.1...3.7.2 -[3.7.1]: https://github.com/ramsey/uuid/compare/3.7.0...3.7.1 -[3.7.0]: https://github.com/ramsey/uuid/compare/3.6.1...3.7.0 -[3.6.1]: https://github.com/ramsey/uuid/compare/3.6.0...3.6.1 -[3.6.0]: https://github.com/ramsey/uuid/compare/3.5.2...3.6.0 -[3.5.2]: https://github.com/ramsey/uuid/compare/3.5.1...3.5.2 -[3.5.1]: https://github.com/ramsey/uuid/compare/3.5.0...3.5.1 -[3.5.0]: https://github.com/ramsey/uuid/compare/3.4.1...3.5.0 -[3.4.1]: https://github.com/ramsey/uuid/compare/3.4.0...3.4.1 -[3.4.0]: https://github.com/ramsey/uuid/compare/3.3.0...3.4.0 -[3.3.0]: https://github.com/ramsey/uuid/compare/3.2.0...3.3.0 -[3.2.0]: https://github.com/ramsey/uuid/compare/3.1.0...3.2.0 -[3.1.0]: https://github.com/ramsey/uuid/compare/3.0.1...3.1.0 -[3.0.1]: https://github.com/ramsey/uuid/compare/3.0.0...3.0.1 -[3.0.0]: https://github.com/ramsey/uuid/compare/3.0.0-beta1...3.0.0 -[3.0.0-beta1]: https://github.com/ramsey/uuid/compare/3.0.0-alpha3...3.0.0-beta1 -[3.0.0-alpha3]: https://github.com/ramsey/uuid/compare/3.0.0-alpha2...3.0.0-alpha3 -[3.0.0-alpha2]: https://github.com/ramsey/uuid/compare/3.0.0-alpha1...3.0.0-alpha2 -[3.0.0-alpha1]: https://github.com/ramsey/uuid/compare/2.9.0...3.0.0-alpha1 -[2.9.0]: https://github.com/ramsey/uuid/compare/2.8.4...2.9.0 -[2.8.4]: https://github.com/ramsey/uuid/compare/2.8.3...2.8.4 -[2.8.3]: https://github.com/ramsey/uuid/compare/2.8.2...2.8.3 -[2.8.2]: https://github.com/ramsey/uuid/compare/2.8.1...2.8.2 -[2.8.1]: https://github.com/ramsey/uuid/compare/2.8.0...2.8.1 -[2.8.0]: https://github.com/ramsey/uuid/compare/2.7.4...2.8.0 -[2.7.4]: https://github.com/ramsey/uuid/compare/2.7.3...2.7.4 -[2.7.3]: https://github.com/ramsey/uuid/compare/2.7.2...2.7.3 -[2.7.2]: https://github.com/ramsey/uuid/compare/2.7.1...2.7.2 -[2.7.1]: https://github.com/ramsey/uuid/compare/2.7.0...2.7.1 -[2.7.0]: https://github.com/ramsey/uuid/compare/2.6.1...2.7.0 -[2.6.1]: https://github.com/ramsey/uuid/compare/2.6.0...2.6.1 -[2.6.0]: https://github.com/ramsey/uuid/compare/2.5.0...2.6.0 -[2.5.0]: https://github.com/ramsey/uuid/compare/2.4.0...2.5.0 -[2.4.0]: https://github.com/ramsey/uuid/compare/2.3.0...2.4.0 -[2.3.0]: https://github.com/ramsey/uuid/compare/2.2.0...2.3.0 -[2.2.0]: https://github.com/ramsey/uuid/compare/2.1.2...2.2.0 -[2.1.2]: https://github.com/ramsey/uuid/compare/2.1.1...2.1.2 -[2.1.1]: https://github.com/ramsey/uuid/compare/2.1.0...2.1.1 -[2.1.0]: https://github.com/ramsey/uuid/compare/2.0.0...2.1.0 -[2.0.0]: https://github.com/ramsey/uuid/compare/1.1.2...2.0.0 -[1.1.2]: https://github.com/ramsey/uuid/compare/1.1.1...1.1.2 -[1.1.1]: https://github.com/ramsey/uuid/compare/1.1.0...1.1.1 -[1.1.0]: https://github.com/ramsey/uuid/compare/1.0.0...1.1.0 -[1.0.0]: https://github.com/ramsey/uuid/commits/1.0.0 diff --git a/paragonik-backend/vendor/ramsey/uuid/LICENSE b/paragonik-backend/vendor/ramsey/uuid/LICENSE deleted file mode 100644 index f6f7e80..0000000 --- a/paragonik-backend/vendor/ramsey/uuid/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2012-2019 Ben Ramsey - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/paragonik-backend/vendor/ramsey/uuid/README.md b/paragonik-backend/vendor/ramsey/uuid/README.md deleted file mode 100644 index 95d4c21..0000000 --- a/paragonik-backend/vendor/ramsey/uuid/README.md +++ /dev/null @@ -1,185 +0,0 @@ -# ramsey/uuid - -*NOTICE: Formerly known as `rhumsaa/uuid`, The package and namespace names have -changed to `ramsey/uuid` and `Ramsey\Uuid`, respectively.* - -[![Source Code][badge-source]][source] -[![Latest Version][badge-release]][release] -[![Software License][badge-license]][license] -[![PHP Version][badge-php]][php] -[![Build Status][badge-build]][build] -[![Coverage Status][badge-coverage]][coverage] -[![Total Downloads][badge-downloads]][downloads] - -ramsey/uuid is a PHP 5.4+ library for generating and working with -[RFC 4122][rfc4122] version 1, 3, 4, and 5 universally unique identifiers -(UUID). - -This project adheres to a [Contributor Code of Conduct][conduct]. By -participating in this project and its community, you are expected to uphold this -code. - -From [Wikipedia](http://en.wikipedia.org/wiki/Universally_unique_identifier): - -> The intent of UUIDs is to enable distributed systems to uniquely identify -> information without significant central coordination. In this context the word -> unique should be taken to mean "practically unique" rather than "guaranteed -> unique". Since the identifiers have a finite size, it is possible for two -> differing items to share the same identifier. The identifier size and -> generation process need to be selected so as to make this sufficiently -> improbable in practice. Anyone can create a UUID and use it to identify -> something with reasonable confidence that the same identifier will never be -> unintentionally created by anyone to identify something else. Information -> labeled with UUIDs can therefore be later combined into a single database -> without needing to resolve identifier (ID) conflicts. - -Much inspiration for this library came from the [Java][javauuid] and -[Python][pyuuid] UUID libraries. - - -## Installation - -The preferred method of installation is via [Composer][]. Run the following -command to install the package and add it as a requirement to your project's -`composer.json`: - -```bash -composer require ramsey/uuid -``` - - -## Upgrading from 2.x to 3.x - -While we have made significant internal changes to the library, we have made -every effort to ensure a seamless upgrade path from the 2.x series of this -library to 3.x. - -One major breaking change is the transition from the `Rhumsaa` root namespace to -`Ramsey`. In most cases, all you will need is to change the namespace to -`Ramsey` in your code, and everything will "just work." - -Here are full details on the breaking changes to the public API of this library: - -1. All namespace references of `Rhumsaa` have changed to `Ramsey`. Simply change - the namespace to `Ramsey` in your code and everything should work. -2. The console application has moved to - [ramsey/uuid-console](https://packagist.org/packages/ramsey/uuid-console). - If using the console functionality, use Composer to require - `ramsey/uuid-console`. -3. The Doctrine field type mapping has moved to - [ramsey/uuid-doctrine](https://packagist.org/packages/ramsey/uuid-doctrine). - If using the Doctrine functionality, use Composer to require - `ramsey/uuid-doctrine`. - - -## What to do if you see a "rhumsaa/uuid is abandoned" message - -When installing your project's dependencies using Composer, you might see the -following message: - -``` -Package rhumsaa/uuid is abandoned, you should avoid using it. Use -ramsey/uuid instead. -``` - -Don't panic. Simply execute the following commands with Composer: - -``` bash -composer remove rhumsaa/uuid -composer require ramsey/uuid=^2.9 -``` - -After doing so, you will have the latest ramsey/uuid package in the 2.x series, -and there will be no need to modify any code; the namespace in the 2.x series is -still `Rhumsaa`. - - -## Requirements - -Some methods in this library have requirements due to integer size restrictions -on 32-bit and 64-bit builds of PHP. A 64-bit build of PHP and the -[Moontoast\Math][] library are recommended. However, this library is designed to -work on 32-bit builds of PHP without Moontoast\Math, with some degraded -functionality. Please check the API documentation for more information. - -If a particular requirement is not present, then an -`UnsatisfiedDependencyException` is thrown, allowing one to catch a bad call in -an environment where the call is not supported and gracefully degrade. - - -## Examples - -See the [cookbook on the wiki][wiki-cookbook] for more examples and approaches -to specific use-cases. - -```php -toString() . "\n"; // i.e. e4eaaaf2-d142-11e1-b3e4-080027620cdd - - // Generate a version 3 (name-based and hashed with MD5) UUID object - $uuid3 = Uuid::uuid3(Uuid::NAMESPACE_DNS, 'php.net'); - echo $uuid3->toString() . "\n"; // i.e. 11a38b9a-b3da-360f-9353-a5a725514269 - - // Generate a version 4 (random) UUID object - $uuid4 = Uuid::uuid4(); - echo $uuid4->toString() . "\n"; // i.e. 25769c6c-d34d-4bfe-ba98-e0ee856f3e7a - - // Generate a version 5 (name-based and hashed with SHA1) UUID object - $uuid5 = Uuid::uuid5(Uuid::NAMESPACE_DNS, 'php.net'); - echo $uuid5->toString() . "\n"; // i.e. c4a760a8-dbcf-5254-a0d9-6a4474bd1b62 - -} catch (UnsatisfiedDependencyException $e) { - - // Some dependency was not met. Either the method cannot be called on a - // 32-bit system, or it can, but it relies on Moontoast\Math to be present. - echo 'Caught exception: ' . $e->getMessage() . "\n"; - -} -``` - - -## Contributing - -Contributions are welcome! Please read [CONTRIBUTING.md][] for details. - - -## Copyright and License - -The ramsey/uuid library is copyright © [Ben Ramsey](https://benramsey.com/) and -licensed for use under the MIT License (MIT). Please see [LICENSE][] for more -information. - - -[rfc4122]: http://tools.ietf.org/html/rfc4122 -[conduct]: https://github.com/ramsey/uuid/blob/master/.github/CODE_OF_CONDUCT.md -[javauuid]: http://docs.oracle.com/javase/6/docs/api/java/util/UUID.html -[pyuuid]: http://docs.python.org/3/library/uuid.html -[composer]: http://getcomposer.org/ -[moontoast\math]: https://packagist.org/packages/moontoast/math -[wiki-cookbook]: https://github.com/ramsey/uuid/wiki/Ramsey%5CUuid-Cookbook -[contributing.md]: https://github.com/ramsey/uuid/blob/master/.github/CONTRIBUTING.md - -[badge-source]: https://img.shields.io/badge/source-ramsey/uuid-blue.svg?style=flat-square -[badge-release]: https://img.shields.io/packagist/v/ramsey/uuid.svg?style=flat-square&label=release -[badge-license]: https://img.shields.io/packagist/l/ramsey/uuid.svg?style=flat-square -[badge-php]: https://img.shields.io/packagist/php-v/ramsey/uuid.svg?style=flat-square -[badge-build]: https://img.shields.io/travis/ramsey/uuid/master.svg?style=flat-square -[badge-coverage]: https://img.shields.io/coveralls/github/ramsey/uuid/master.svg?style=flat-square -[badge-downloads]: https://img.shields.io/packagist/dt/ramsey/uuid.svg?style=flat-square&colorB=mediumvioletred - -[source]: https://github.com/ramsey/uuid -[release]: https://packagist.org/packages/ramsey/uuid -[license]: https://github.com/ramsey/uuid/blob/master/LICENSE -[php]: https://php.net -[build]: https://travis-ci.org/ramsey/uuid -[coverage]: https://coveralls.io/github/ramsey/uuid?branch=master -[downloads]: https://packagist.org/packages/ramsey/uuid diff --git a/paragonik-backend/vendor/ramsey/uuid/composer.json b/paragonik-backend/vendor/ramsey/uuid/composer.json deleted file mode 100644 index 5319644..0000000 --- a/paragonik-backend/vendor/ramsey/uuid/composer.json +++ /dev/null @@ -1,98 +0,0 @@ -{ - "name": "ramsey/uuid", - "type": "library", - "description": "Formerly rhumsaa/uuid. A PHP 5.4+ library for generating RFC 4122 version 1, 3, 4, and 5 universally unique identifiers (UUID).", - "keywords": ["uuid", "identifier", "guid"], - "homepage": "https://github.com/ramsey/uuid", - "license": "MIT", - "authors": [ - { - "name": "Ben Ramsey", - "email": "ben@benramsey.com", - "homepage": "https://benramsey.com" - }, - { - "name": "Marijn Huizendveld", - "email": "marijn.huizendveld@gmail.com" - }, - { - "name": "Thibaud Fabre", - "email": "thibaud@aztech.io" - } - ], - "require": { - "php": "^5.4 | ^7", - "ext-json": "*", - "paragonie/random_compat": "^1 | ^2 | 9.99.99", - "symfony/polyfill-ctype": "^1.8" - }, - "require-dev": { - "codeception/aspect-mock": "^1 | ^2", - "doctrine/annotations": "^1.2", - "goaop/framework": "1.0.0-alpha.2 | ^1 | ^2.1", - "jakub-onderka/php-parallel-lint": "^0.9.0", - "mockery/mockery": "^0.9.9", - "moontoast/math": "^1.1", - "paragonie/random-lib": "^2", - "php-mock/php-mock-phpunit": "^0.3 | ^1.1", - "phpunit/phpunit": "^4.8 | ^5.4 | ^6.5", - "squizlabs/php_codesniffer": "^2.3" - }, - "suggest": { - "ext-ctype": "Provides support for PHP Ctype functions", - "ext-libsodium": "Provides the PECL libsodium extension for use with the SodiumRandomGenerator", - "ext-openssl": "Provides the OpenSSL extension for use with the OpenSslGenerator", - "ext-uuid": "Provides the PECL UUID extension for use with the PeclUuidTimeGenerator and PeclUuidRandomGenerator", - "moontoast/math": "Provides support for converting UUID to 128-bit integer (in string form).", - "ramsey/uuid-console": "A console application for generating UUIDs with ramsey/uuid", - "ramsey/uuid-doctrine": "Allows the use of Ramsey\\Uuid\\Uuid as Doctrine field type.", - "paragonie/random-lib": "Provides RandomLib for use with the RandomLibAdapter" - }, - "config": { - "sort-packages": true - }, - "extra": { - "branch-alias": { - "dev-master": "3.x-dev" - } - }, - "replace": { - "rhumsaa/uuid": "self.version" - }, - "autoload": { - "psr-4": { - "Ramsey\\Uuid\\": "src/" - }, - "files": [ - "src/functions.php" - ] - }, - "autoload-dev": { - "psr-4": { - "Ramsey\\Uuid\\Test\\": "tests/" - } - }, - "scripts": { - "lint": "parallel-lint src tests", - "phpcs": "phpcs src tests --standard=psr2 -sp --colors", - "phpunit": "phpunit --verbose --colors=always", - "phpunit-ci": "phpunit --verbose --coverage-clover build/logs/clover.xml", - "phpunit-coverage": "phpunit --verbose --colors=always --coverage-html build/coverage", - "test": [ - "@lint", - "@phpcs", - "@phpunit" - ], - "test-ci": [ - "@lint", - "@phpcs", - "@phpunit-ci" - ] - }, - "support": { - "issues": "https://github.com/ramsey/uuid/issues", - "rss": "https://github.com/ramsey/uuid/releases.atom", - "source": "https://github.com/ramsey/uuid", - "wiki": "https://github.com/ramsey/uuid/wiki" - } -} diff --git a/paragonik-backend/vendor/ramsey/uuid/src/BinaryUtils.php b/paragonik-backend/vendor/ramsey/uuid/src/BinaryUtils.php deleted file mode 100644 index 18ea467..0000000 --- a/paragonik-backend/vendor/ramsey/uuid/src/BinaryUtils.php +++ /dev/null @@ -1,41 +0,0 @@ - - * @license http://opensource.org/licenses/MIT MIT - * @link https://benramsey.com/projects/ramsey-uuid/ Documentation - * @link https://packagist.org/packages/ramsey/uuid Packagist - * @link https://github.com/ramsey/uuid GitHub - */ - -namespace Ramsey\Uuid\Builder; - -use Ramsey\Uuid\Codec\CodecInterface; -use Ramsey\Uuid\Converter\NumberConverterInterface; -use Ramsey\Uuid\Uuid; - -/** - * DefaultUuidBuilder is the default UUID builder for ramsey/uuid; it builds - * instances of Uuid objects - */ -class DefaultUuidBuilder implements UuidBuilderInterface -{ - /** - * @var NumberConverterInterface - */ - private $converter; - - /** - * Constructs the DefaultUuidBuilder - * - * @param NumberConverterInterface $converter The number converter to use when constructing the Uuid - */ - public function __construct(NumberConverterInterface $converter) - { - $this->converter = $converter; - } - - /** - * Builds a Uuid - * - * @param CodecInterface $codec The codec to use for building this Uuid - * @param array $fields An array of fields from which to construct the Uuid; - * see {@see \Ramsey\Uuid\UuidInterface::getFieldsHex()} for array structure. - * @return Uuid - */ - public function build(CodecInterface $codec, array $fields) - { - return new Uuid($fields, $this->converter, $codec); - } -} diff --git a/paragonik-backend/vendor/ramsey/uuid/src/Builder/DegradedUuidBuilder.php b/paragonik-backend/vendor/ramsey/uuid/src/Builder/DegradedUuidBuilder.php deleted file mode 100644 index 7edb6de..0000000 --- a/paragonik-backend/vendor/ramsey/uuid/src/Builder/DegradedUuidBuilder.php +++ /dev/null @@ -1,53 +0,0 @@ - - * @license http://opensource.org/licenses/MIT MIT - * @link https://benramsey.com/projects/ramsey-uuid/ Documentation - * @link https://packagist.org/packages/ramsey/uuid Packagist - * @link https://github.com/ramsey/uuid GitHub - */ - -namespace Ramsey\Uuid\Builder; - -use Ramsey\Uuid\Codec\CodecInterface; -use Ramsey\Uuid\Converter\NumberConverterInterface; -use Ramsey\Uuid\DegradedUuid; - -/** - * DegradedUuidBuilder builds instances of DegradedUuid - */ -class DegradedUuidBuilder implements UuidBuilderInterface -{ - /** - * @var NumberConverterInterface - */ - private $converter; - - /** - * Constructs the DegradedUuidBuilder - * - * @param NumberConverterInterface $converter The number converter to use when constructing the DegradedUuid - */ - public function __construct(NumberConverterInterface $converter) - { - $this->converter = $converter; - } - - /** - * Builds a DegradedUuid - * - * @param CodecInterface $codec The codec to use for building this DegradedUuid - * @param array $fields An array of fields from which to construct the DegradedUuid; - * see {@see \Ramsey\Uuid\UuidInterface::getFieldsHex()} for array structure. - * @return DegradedUuid - */ - public function build(CodecInterface $codec, array $fields) - { - return new DegradedUuid($fields, $this->converter, $codec); - } -} diff --git a/paragonik-backend/vendor/ramsey/uuid/src/Builder/UuidBuilderInterface.php b/paragonik-backend/vendor/ramsey/uuid/src/Builder/UuidBuilderInterface.php deleted file mode 100644 index e4e9901..0000000 --- a/paragonik-backend/vendor/ramsey/uuid/src/Builder/UuidBuilderInterface.php +++ /dev/null @@ -1,34 +0,0 @@ - - * @license http://opensource.org/licenses/MIT MIT - * @link https://benramsey.com/projects/ramsey-uuid/ Documentation - * @link https://packagist.org/packages/ramsey/uuid Packagist - * @link https://github.com/ramsey/uuid GitHub - */ - -namespace Ramsey\Uuid\Builder; - -use Ramsey\Uuid\Codec\CodecInterface; -use Ramsey\Uuid\UuidInterface; - -/** - * UuidBuilderInterface builds instances UuidInterface - */ -interface UuidBuilderInterface -{ - /** - * Builds an instance of a UuidInterface - * - * @param CodecInterface $codec The codec to use for building this UuidInterface instance - * @param array $fields An array of fields from which to construct a UuidInterface instance; - * see {@see \Ramsey\Uuid\UuidInterface::getFieldsHex()} for array structure. - * @return UuidInterface - */ - public function build(CodecInterface $codec, array $fields); -} diff --git a/paragonik-backend/vendor/ramsey/uuid/src/Codec/CodecInterface.php b/paragonik-backend/vendor/ramsey/uuid/src/Codec/CodecInterface.php deleted file mode 100644 index c6c54c7..0000000 --- a/paragonik-backend/vendor/ramsey/uuid/src/Codec/CodecInterface.php +++ /dev/null @@ -1,60 +0,0 @@ - - * @license http://opensource.org/licenses/MIT MIT - * @link https://benramsey.com/projects/ramsey-uuid/ Documentation - * @link https://packagist.org/packages/ramsey/uuid Packagist - * @link https://github.com/ramsey/uuid GitHub - */ - -namespace Ramsey\Uuid\Codec; - -use InvalidArgumentException; -use Ramsey\Uuid\Exception\InvalidUuidStringException; -use Ramsey\Uuid\UuidInterface; - -/** - * CodecInterface represents a UUID coder-decoder - */ -interface CodecInterface -{ - /** - * Encodes a UuidInterface as a string representation of a UUID - * - * @param UuidInterface $uuid - * @return string Hexadecimal string representation of a UUID - */ - public function encode(UuidInterface $uuid); - - /** - * Encodes a UuidInterface as a binary representation of a UUID - * - * @param UuidInterface $uuid - * @return string Binary string representation of a UUID - */ - public function encodeBinary(UuidInterface $uuid); - - /** - * Decodes a string representation of a UUID into a UuidInterface object instance - * - * @param string $encodedUuid - * @return UuidInterface - * @throws InvalidUuidStringException - */ - public function decode($encodedUuid); - - /** - * Decodes a binary representation of a UUID into a UuidInterface object instance - * - * @param string $bytes - * @return UuidInterface - * @throws InvalidUuidStringException - * @throws InvalidArgumentException if string has not 16 characters - */ - public function decodeBytes($bytes); -} diff --git a/paragonik-backend/vendor/ramsey/uuid/src/Codec/GuidStringCodec.php b/paragonik-backend/vendor/ramsey/uuid/src/Codec/GuidStringCodec.php deleted file mode 100644 index 3675480..0000000 --- a/paragonik-backend/vendor/ramsey/uuid/src/Codec/GuidStringCodec.php +++ /dev/null @@ -1,103 +0,0 @@ - - * @license http://opensource.org/licenses/MIT MIT - * @link https://benramsey.com/projects/ramsey-uuid/ Documentation - * @link https://packagist.org/packages/ramsey/uuid Packagist - * @link https://github.com/ramsey/uuid GitHub - */ - -namespace Ramsey\Uuid\Codec; - -use Ramsey\Uuid\Exception\InvalidUuidStringException; -use Ramsey\Uuid\UuidInterface; - -/** - * GuidStringCodec encodes and decodes globally unique identifiers (GUID) - * - * @link https://en.wikipedia.org/wiki/Globally_unique_identifier - */ -class GuidStringCodec extends StringCodec -{ - /** - * Encodes a UuidInterface as a string representation of a GUID - * - * @param UuidInterface $uuid - * @return string Hexadecimal string representation of a GUID - */ - public function encode(UuidInterface $uuid) - { - $components = array_values($uuid->getFieldsHex()); - - // Swap byte-order on the first three fields - $this->swapFields($components); - - return vsprintf( - '%08s-%04s-%04s-%02s%02s-%012s', - $components - ); - } - - /** - * Encodes a UuidInterface as a binary representation of a GUID - * - * @param UuidInterface $uuid - * @return string Binary string representation of a GUID - */ - public function encodeBinary(UuidInterface $uuid) - { - $components = array_values($uuid->getFieldsHex()); - - return hex2bin(implode('', $components)); - } - - /** - * Decodes a string representation of a GUID into a UuidInterface object instance - * - * @param string $encodedUuid - * @return UuidInterface - * @throws InvalidUuidStringException - */ - public function decode($encodedUuid) - { - $components = $this->extractComponents($encodedUuid); - - $this->swapFields($components); - - return $this->getBuilder()->build($this, $this->getFields($components)); - } - - /** - * Decodes a binary representation of a GUID into a UuidInterface object instance - * - * @param string $bytes - * @return UuidInterface - * @throws InvalidUuidStringException - */ - public function decodeBytes($bytes) - { - // Specifically call parent::decode to preserve correct byte order - return parent::decode(bin2hex($bytes)); - } - - /** - * Swaps fields to support GUID byte order - * - * @param array $components An array of UUID components (the UUID exploded on its dashes) - * @return void - */ - protected function swapFields(array &$components) - { - $hex = unpack('H*', pack('L', hexdec($components[0]))); - $components[0] = $hex[1]; - $hex = unpack('H*', pack('S', hexdec($components[1]))); - $components[1] = $hex[1]; - $hex = unpack('H*', pack('S', hexdec($components[2]))); - $components[2] = $hex[1]; - } -} diff --git a/paragonik-backend/vendor/ramsey/uuid/src/Codec/OrderedTimeCodec.php b/paragonik-backend/vendor/ramsey/uuid/src/Codec/OrderedTimeCodec.php deleted file mode 100644 index de91aab..0000000 --- a/paragonik-backend/vendor/ramsey/uuid/src/Codec/OrderedTimeCodec.php +++ /dev/null @@ -1,68 +0,0 @@ - - * @license http://opensource.org/licenses/MIT MIT - * @link https://benramsey.com/projects/ramsey-uuid/ Documentation - * @link https://packagist.org/packages/ramsey/uuid Packagist - * @link https://github.com/ramsey/uuid GitHub - */ -namespace Ramsey\Uuid\Codec; - -use InvalidArgumentException; -use Ramsey\Uuid\UuidInterface; - -/** - * OrderedTimeCodec optimizes the bytes to increment UUIDs when time goes by, to improve database INSERTs. - * The string value will be unchanged from StringCodec. Only works for UUID type 1. - */ -class OrderedTimeCodec extends StringCodec -{ - - /** - * Encodes a UuidInterface as an optimized binary representation of a UUID - * - * @param UuidInterface $uuid - * @return string Binary string representation of a UUID - */ - public function encodeBinary(UuidInterface $uuid) - { - $fields = $uuid->getFieldsHex(); - - $optimized = [ - $fields['time_hi_and_version'], - $fields['time_mid'], - $fields['time_low'], - $fields['clock_seq_hi_and_reserved'], - $fields['clock_seq_low'], - $fields['node'], - ]; - - return hex2bin(implode('', $optimized)); - } - - /** - * Decodes an optimized binary representation of a UUID into a UuidInterface object instance - * - * @param string $bytes - * @return UuidInterface - * @throws InvalidArgumentException if string has not 16 characters - */ - public function decodeBytes($bytes) - { - if (strlen($bytes) !== 16) { - throw new InvalidArgumentException('$bytes string should contain 16 characters.'); - } - - $hex = unpack('H*', $bytes)[1]; - - // Rearrange the fields to their original order - $hex = substr($hex, 8, 4) . substr($hex, 12, 4) . substr($hex, 4, 4) . substr($hex, 0, 4) . substr($hex, 16); - - return $this->decode($hex); - } -} diff --git a/paragonik-backend/vendor/ramsey/uuid/src/Codec/StringCodec.php b/paragonik-backend/vendor/ramsey/uuid/src/Codec/StringCodec.php deleted file mode 100644 index f1bc024..0000000 --- a/paragonik-backend/vendor/ramsey/uuid/src/Codec/StringCodec.php +++ /dev/null @@ -1,170 +0,0 @@ - - * @license http://opensource.org/licenses/MIT MIT - * @link https://benramsey.com/projects/ramsey-uuid/ Documentation - * @link https://packagist.org/packages/ramsey/uuid Packagist - * @link https://github.com/ramsey/uuid GitHub - */ - -namespace Ramsey\Uuid\Codec; - -use InvalidArgumentException; -use Ramsey\Uuid\Builder\UuidBuilderInterface; -use Ramsey\Uuid\Exception\InvalidUuidStringException; -use Ramsey\Uuid\Uuid; -use Ramsey\Uuid\UuidInterface; - -/** - * StringCodec encodes and decodes RFC 4122 UUIDs - * - * @link http://tools.ietf.org/html/rfc4122 - */ -class StringCodec implements CodecInterface -{ - /** - * @var UuidBuilderInterface - */ - private $builder; - - /** - * Constructs a StringCodec for use encoding and decoding UUIDs - * - * @param UuidBuilderInterface $builder The UUID builder to use when encoding UUIDs - */ - public function __construct(UuidBuilderInterface $builder) - { - $this->builder = $builder; - } - - /** - * Encodes a UuidInterface as a string representation of a UUID - * - * @param UuidInterface $uuid - * @return string Hexadecimal string representation of a UUID - */ - public function encode(UuidInterface $uuid) - { - $fields = array_values($uuid->getFieldsHex()); - - return vsprintf( - '%08s-%04s-%04s-%02s%02s-%012s', - $fields - ); - } - - /** - * Encodes a UuidInterface as a binary representation of a UUID - * - * @param UuidInterface $uuid - * @return string Binary string representation of a UUID - */ - public function encodeBinary(UuidInterface $uuid) - { - return hex2bin($uuid->getHex()); - } - - /** - * Decodes a string representation of a UUID into a UuidInterface object instance - * - * @param string $encodedUuid - * @return UuidInterface - * @throws InvalidUuidStringException - */ - public function decode($encodedUuid) - { - $components = $this->extractComponents($encodedUuid); - $fields = $this->getFields($components); - - return $this->builder->build($this, $fields); - } - - /** - * Decodes a binary representation of a UUID into a UuidInterface object instance - * - * @param string $bytes - * @return UuidInterface - * @throws InvalidArgumentException if string has not 16 characters - */ - public function decodeBytes($bytes) - { - if (strlen($bytes) !== 16) { - throw new InvalidArgumentException('$bytes string should contain 16 characters.'); - } - - $hexUuid = unpack('H*', $bytes); - - return $this->decode($hexUuid[1]); - } - - /** - * Returns the UUID builder - * - * @return UuidBuilderInterface - */ - protected function getBuilder() - { - return $this->builder; - } - - /** - * Returns an array of UUID components (the UUID exploded on its dashes) - * - * @param string $encodedUuid - * @return array - * @throws InvalidUuidStringException - */ - protected function extractComponents($encodedUuid) - { - $nameParsed = str_replace([ - 'urn:', - 'uuid:', - '{', - '}', - '-' - ], '', $encodedUuid); - - // We have stripped out the dashes and are breaking up the string using - // substr(). In this way, we can accept a full hex value that doesn't - // contain dashes. - $components = [ - substr($nameParsed, 0, 8), - substr($nameParsed, 8, 4), - substr($nameParsed, 12, 4), - substr($nameParsed, 16, 4), - substr($nameParsed, 20) - ]; - - $nameParsed = implode('-', $components); - - if (!Uuid::isValid($nameParsed)) { - throw new InvalidUuidStringException('Invalid UUID string: ' . $encodedUuid); - } - - return $components; - } - - /** - * Returns the fields that make up this UUID - * - * @see \Ramsey\Uuid\UuidInterface::getFieldsHex() - * @param array $components - * @return array - */ - protected function getFields(array $components) - { - return [ - 'time_low' => str_pad($components[0], 8, '0', STR_PAD_LEFT), - 'time_mid' => str_pad($components[1], 4, '0', STR_PAD_LEFT), - 'time_hi_and_version' => str_pad($components[2], 4, '0', STR_PAD_LEFT), - 'clock_seq_hi_and_reserved' => str_pad(substr($components[3], 0, 2), 2, '0', STR_PAD_LEFT), - 'clock_seq_low' => str_pad(substr($components[3], 2), 2, '0', STR_PAD_LEFT), - 'node' => str_pad($components[4], 12, '0', STR_PAD_LEFT) - ]; - } -} diff --git a/paragonik-backend/vendor/ramsey/uuid/src/Codec/TimestampFirstCombCodec.php b/paragonik-backend/vendor/ramsey/uuid/src/Codec/TimestampFirstCombCodec.php deleted file mode 100644 index 270a1e7..0000000 --- a/paragonik-backend/vendor/ramsey/uuid/src/Codec/TimestampFirstCombCodec.php +++ /dev/null @@ -1,108 +0,0 @@ - - * @license http://opensource.org/licenses/MIT MIT - * @link https://benramsey.com/projects/ramsey-uuid/ Documentation - * @link https://packagist.org/packages/ramsey/uuid Packagist - * @link https://github.com/ramsey/uuid GitHub - */ -namespace Ramsey\Uuid\Codec; - -use Ramsey\Uuid\Exception\InvalidUuidStringException; -use Ramsey\Uuid\UuidInterface; - -/** - * TimestampLastCombCodec encodes and decodes COMB UUIDs which have the timestamp as the first 48 bits. - * To be used with MySQL, PostgreSQL, Oracle. - */ -class TimestampFirstCombCodec extends StringCodec -{ - /** - * Encodes a UuidInterface as a string representation of a timestamp first COMB UUID - * - * @param UuidInterface $uuid - * - * @return string Hexadecimal string representation of a GUID - */ - public function encode(UuidInterface $uuid) - { - $sixPieceComponents = array_values($uuid->getFieldsHex()); - - $this->swapTimestampAndRandomBits($sixPieceComponents); - - return vsprintf( - '%08s-%04s-%04s-%02s%02s-%012s', - $sixPieceComponents - ); - } - - /** - * Encodes a UuidInterface as a binary representation of timestamp first COMB UUID - * - * @param UuidInterface $uuid - * - * @return string Binary string representation of timestamp first COMB UUID - */ - public function encodeBinary(UuidInterface $uuid) - { - $stringEncoding = $this->encode($uuid); - - return hex2bin(str_replace('-', '', $stringEncoding)); - } - - /** - * Decodes a string representation of timestamp first COMB UUID into a UuidInterface object instance - * - * @param string $encodedUuid - * - * @return UuidInterface - * @throws InvalidUuidStringException - */ - public function decode($encodedUuid) - { - $fivePieceComponents = $this->extractComponents($encodedUuid); - - $this->swapTimestampAndRandomBits($fivePieceComponents); - - return $this->getBuilder()->build($this, $this->getFields($fivePieceComponents)); - } - - /** - * Decodes a binary representation of timestamp first COMB UUID into a UuidInterface object instance - * - * @param string $bytes - * - * @return UuidInterface - * @throws InvalidUuidStringException - */ - public function decodeBytes($bytes) - { - return $this->decode(bin2hex($bytes)); - } - - /** - * Swaps the first 48 bits with the last 48 bits - * - * @param array $components An array of UUID components (the UUID exploded on its dashes) - * - * @return void - */ - protected function swapTimestampAndRandomBits(array &$components) - { - $last48Bits = $components[4]; - if (count($components) == 6) { - $last48Bits = $components[5]; - $components[5] = $components[0] . $components[1]; - } else { - $components[4] = $components[0] . $components[1]; - } - - $components[0] = substr($last48Bits, 0, 8); - $components[1] = substr($last48Bits, 8, 4); - } -} diff --git a/paragonik-backend/vendor/ramsey/uuid/src/Codec/TimestampLastCombCodec.php b/paragonik-backend/vendor/ramsey/uuid/src/Codec/TimestampLastCombCodec.php deleted file mode 100644 index 240f613..0000000 --- a/paragonik-backend/vendor/ramsey/uuid/src/Codec/TimestampLastCombCodec.php +++ /dev/null @@ -1,22 +0,0 @@ - - * @license http://opensource.org/licenses/MIT MIT - * @link https://benramsey.com/projects/ramsey-uuid/ Documentation - * @link https://packagist.org/packages/ramsey/uuid Packagist - * @link https://github.com/ramsey/uuid GitHub - */ -namespace Ramsey\Uuid\Codec; - -/** - * TimestampLastCombCodec encodes and decodes COMB UUIDs which have the timestamp as the last 48 bits. - * To be used with MSSQL. - */ -class TimestampLastCombCodec extends StringCodec -{ -} diff --git a/paragonik-backend/vendor/ramsey/uuid/src/Converter/Number/BigNumberConverter.php b/paragonik-backend/vendor/ramsey/uuid/src/Converter/Number/BigNumberConverter.php deleted file mode 100644 index d235122..0000000 --- a/paragonik-backend/vendor/ramsey/uuid/src/Converter/Number/BigNumberConverter.php +++ /dev/null @@ -1,54 +0,0 @@ - - * @license http://opensource.org/licenses/MIT MIT - * @link https://benramsey.com/projects/ramsey-uuid/ Documentation - * @link https://packagist.org/packages/ramsey/uuid Packagist - * @link https://github.com/ramsey/uuid GitHub - */ - -namespace Ramsey\Uuid\Converter\Number; - -use Moontoast\Math\BigNumber; -use Ramsey\Uuid\Converter\NumberConverterInterface; - -/** - * BigNumberConverter converts UUIDs from hexadecimal characters into - * moontoast/math `BigNumber` representations of integers and vice versa - */ -class BigNumberConverter implements NumberConverterInterface -{ - /** - * Converts a hexadecimal number into a `Moontoast\Math\BigNumber` representation - * - * @param string $hex The hexadecimal string representation to convert - * @return BigNumber - */ - public function fromHex($hex) - { - $number = BigNumber::convertToBase10($hex, 16); - - return new BigNumber($number); - } - - /** - * Converts an integer or `Moontoast\Math\BigNumber` integer representation - * into a hexadecimal string representation - * - * @param int|string|BigNumber $integer An integer or `Moontoast\Math\BigNumber` - * @return string Hexadecimal string - */ - public function toHex($integer) - { - if (!$integer instanceof BigNumber) { - $integer = new BigNumber($integer); - } - - return BigNumber::convertFromBase10($integer, 16); - } -} diff --git a/paragonik-backend/vendor/ramsey/uuid/src/Converter/Number/DegradedNumberConverter.php b/paragonik-backend/vendor/ramsey/uuid/src/Converter/Number/DegradedNumberConverter.php deleted file mode 100644 index 96a011c..0000000 --- a/paragonik-backend/vendor/ramsey/uuid/src/Converter/Number/DegradedNumberConverter.php +++ /dev/null @@ -1,58 +0,0 @@ - - * @license http://opensource.org/licenses/MIT MIT - * @link https://benramsey.com/projects/ramsey-uuid/ Documentation - * @link https://packagist.org/packages/ramsey/uuid Packagist - * @link https://github.com/ramsey/uuid GitHub - */ - -namespace Ramsey\Uuid\Converter\Number; - -use Ramsey\Uuid\Exception\UnsatisfiedDependencyException; -use Ramsey\Uuid\Converter\NumberConverterInterface; - -/** - * DegradedNumberConverter throws `UnsatisfiedDependencyException` exceptions - * if attempting to use number conversion functionality in an environment that - * does not support large integers (i.e. when moontoast/math is not available) - */ -class DegradedNumberConverter implements NumberConverterInterface -{ - /** - * Throws an `UnsatisfiedDependencyException` - * - * @param string $hex The hexadecimal string representation to convert - * @return void - * @throws UnsatisfiedDependencyException - */ - public function fromHex($hex) - { - throw new UnsatisfiedDependencyException( - 'Cannot call ' . __METHOD__ . ' without support for large ' - . 'integers, since integer is an unsigned ' - . '128-bit integer; Moontoast\Math\BigNumber is required.' - ); - } - - /** - * Throws an `UnsatisfiedDependencyException` - * - * @param mixed $integer An integer representation to convert - * @return void - * @throws UnsatisfiedDependencyException - */ - public function toHex($integer) - { - throw new UnsatisfiedDependencyException( - 'Cannot call ' . __METHOD__ . ' without support for large ' - . 'integers, since integer is an unsigned ' - . '128-bit integer; Moontoast\Math\BigNumber is required. ' - ); - } -} diff --git a/paragonik-backend/vendor/ramsey/uuid/src/Converter/NumberConverterInterface.php b/paragonik-backend/vendor/ramsey/uuid/src/Converter/NumberConverterInterface.php deleted file mode 100644 index b978e2e..0000000 --- a/paragonik-backend/vendor/ramsey/uuid/src/Converter/NumberConverterInterface.php +++ /dev/null @@ -1,48 +0,0 @@ - - * @license http://opensource.org/licenses/MIT MIT - * @link https://benramsey.com/projects/ramsey-uuid/ Documentation - * @link https://packagist.org/packages/ramsey/uuid Packagist - * @link https://github.com/ramsey/uuid GitHub - */ - -namespace Ramsey\Uuid\Converter; - -use Ramsey\Uuid\Exception\UnsatisfiedDependencyException; - -/** - * NumberConverterInterface converts UUIDs from hexadecimal characters into - * representations of integers and vice versa - */ -interface NumberConverterInterface -{ - /** - * Converts a hexadecimal number into an integer representation of the number - * - * The integer representation returned may be an object or a string - * representation of the integer, depending on the implementation. - * - * @param string $hex The hexadecimal string representation to convert - * @return mixed - * @throws UnsatisfiedDependencyException if `Moontoast\Math\BigNumber` is not present - */ - public function fromHex($hex); - - /** - * Converts an integer representation into a hexadecimal string representation - * of the number - * - * @param mixed $integer An integer representation to convert; this may be - * a true integer, a string integer, or a object representation that - * this converter can understand - * @return string Hexadecimal string - * @throws UnsatisfiedDependencyException if `Moontoast\Math\BigNumber` is not present - */ - public function toHex($integer); -} diff --git a/paragonik-backend/vendor/ramsey/uuid/src/Converter/Time/BigNumberTimeConverter.php b/paragonik-backend/vendor/ramsey/uuid/src/Converter/Time/BigNumberTimeConverter.php deleted file mode 100644 index 112f722..0000000 --- a/paragonik-backend/vendor/ramsey/uuid/src/Converter/Time/BigNumberTimeConverter.php +++ /dev/null @@ -1,59 +0,0 @@ - - * @license http://opensource.org/licenses/MIT MIT - * @link https://benramsey.com/projects/ramsey-uuid/ Documentation - * @link https://packagist.org/packages/ramsey/uuid Packagist - * @link https://github.com/ramsey/uuid GitHub - */ - -namespace Ramsey\Uuid\Converter\Time; - -use Moontoast\Math\BigNumber; -use Ramsey\Uuid\Converter\TimeConverterInterface; - -/** - * BigNumberTimeConverter uses the moontoast/math library's `BigNumber` to - * provide facilities for converting parts of time into representations that may - * be used in UUIDs - */ -class BigNumberTimeConverter implements TimeConverterInterface -{ - /** - * Uses the provided seconds and micro-seconds to calculate the time_low, - * time_mid, and time_high fields used by RFC 4122 version 1 UUIDs - * - * @param string $seconds - * @param string $microSeconds - * @return string[] An array containing `low`, `mid`, and `high` keys - * @link http://tools.ietf.org/html/rfc4122#section-4.2.2 - */ - public function calculateTime($seconds, $microSeconds) - { - $uuidTime = new BigNumber('0'); - - $sec = new BigNumber($seconds); - $sec->multiply('10000000'); - - $usec = new BigNumber($microSeconds); - $usec->multiply('10'); - - $uuidTime - ->add($sec) - ->add($usec) - ->add('122192928000000000'); - - $uuidTimeHex = sprintf('%016s', $uuidTime->convertToBase(16)); - - return [ - 'low' => substr($uuidTimeHex, 8), - 'mid' => substr($uuidTimeHex, 4, 4), - 'hi' => substr($uuidTimeHex, 0, 4), - ]; - } -} diff --git a/paragonik-backend/vendor/ramsey/uuid/src/Converter/Time/DegradedTimeConverter.php b/paragonik-backend/vendor/ramsey/uuid/src/Converter/Time/DegradedTimeConverter.php deleted file mode 100644 index b94589c..0000000 --- a/paragonik-backend/vendor/ramsey/uuid/src/Converter/Time/DegradedTimeConverter.php +++ /dev/null @@ -1,42 +0,0 @@ - - * @license http://opensource.org/licenses/MIT MIT - * @link https://benramsey.com/projects/ramsey-uuid/ Documentation - * @link https://packagist.org/packages/ramsey/uuid Packagist - * @link https://github.com/ramsey/uuid GitHub - */ - -namespace Ramsey\Uuid\Converter\Time; - -use Ramsey\Uuid\Converter\TimeConverterInterface; -use Ramsey\Uuid\Exception\UnsatisfiedDependencyException; - -/** - * DegradedTimeConverter throws `UnsatisfiedDependencyException` exceptions - * if attempting to use time conversion functionality in an environment that - * does not support large integers (i.e. when moontoast/math is not available) - */ -class DegradedTimeConverter implements TimeConverterInterface -{ - /** - * Throws an `UnsatisfiedDependencyException` - * - * @param string $seconds - * @param string $microSeconds - * @return void - * @throws UnsatisfiedDependencyException if called on a 32-bit system and `Moontoast\Math\BigNumber` is not present - */ - public function calculateTime($seconds, $microSeconds) - { - throw new UnsatisfiedDependencyException( - 'When calling ' . __METHOD__ . ' on a 32-bit system, ' - . 'Moontoast\Math\BigNumber must be present.' - ); - } -} diff --git a/paragonik-backend/vendor/ramsey/uuid/src/Converter/Time/PhpTimeConverter.php b/paragonik-backend/vendor/ramsey/uuid/src/Converter/Time/PhpTimeConverter.php deleted file mode 100644 index 57c882d..0000000 --- a/paragonik-backend/vendor/ramsey/uuid/src/Converter/Time/PhpTimeConverter.php +++ /dev/null @@ -1,47 +0,0 @@ - - * @license http://opensource.org/licenses/MIT MIT - * @link https://benramsey.com/projects/ramsey-uuid/ Documentation - * @link https://packagist.org/packages/ramsey/uuid Packagist - * @link https://github.com/ramsey/uuid GitHub - */ - -namespace Ramsey\Uuid\Converter\Time; - -use Ramsey\Uuid\Converter\TimeConverterInterface; - -/** - * PhpTimeConverter uses built-in PHP functions and standard math operations - * available to the PHP programming language to provide facilities for - * converting parts of time into representations that may be used in UUIDs - */ -class PhpTimeConverter implements TimeConverterInterface -{ - /** - * Uses the provided seconds and micro-seconds to calculate the time_low, - * time_mid, and time_high fields used by RFC 4122 version 1 UUIDs - * - * @param string $seconds - * @param string $microSeconds - * @return string[] An array containing `low`, `mid`, and `high` keys - * @link http://tools.ietf.org/html/rfc4122#section-4.2.2 - */ - public function calculateTime($seconds, $microSeconds) - { - // 0x01b21dd213814000 is the number of 100-ns intervals between the - // UUID epoch 1582-10-15 00:00:00 and the Unix epoch 1970-01-01 00:00:00. - $uuidTime = ($seconds * 10000000) + ($microSeconds * 10) + 0x01b21dd213814000; - - return [ - 'low' => sprintf('%08x', $uuidTime & 0xffffffff), - 'mid' => sprintf('%04x', ($uuidTime >> 32) & 0xffff), - 'hi' => sprintf('%04x', ($uuidTime >> 48) & 0x0fff), - ]; - } -} diff --git a/paragonik-backend/vendor/ramsey/uuid/src/Converter/TimeConverterInterface.php b/paragonik-backend/vendor/ramsey/uuid/src/Converter/TimeConverterInterface.php deleted file mode 100644 index c851792..0000000 --- a/paragonik-backend/vendor/ramsey/uuid/src/Converter/TimeConverterInterface.php +++ /dev/null @@ -1,37 +0,0 @@ - - * @license http://opensource.org/licenses/MIT MIT - * @link https://benramsey.com/projects/ramsey-uuid/ Documentation - * @link https://packagist.org/packages/ramsey/uuid Packagist - * @link https://github.com/ramsey/uuid GitHub - */ - -namespace Ramsey\Uuid\Converter; - -use Ramsey\Uuid\Exception\UnsatisfiedDependencyException; - -/** - * TimeConverterInterface provides facilities for converting parts of time into - * representations that may be used in UUIDs - */ -interface TimeConverterInterface -{ - /** - * Uses the provided seconds and micro-seconds to calculate the time_low, - * time_mid, and time_high fields used by RFC 4122 version 1 UUIDs - * - * @param string $seconds - * @param string $microSeconds - * @return string[] An array guaranteed to contain `low`, `mid`, and `high` keys - * @throws UnsatisfiedDependencyException if called on a 32-bit system and - * `Moontoast\Math\BigNumber` is not present - * @link http://tools.ietf.org/html/rfc4122#section-4.2.2 - */ - public function calculateTime($seconds, $microSeconds); -} diff --git a/paragonik-backend/vendor/ramsey/uuid/src/DegradedUuid.php b/paragonik-backend/vendor/ramsey/uuid/src/DegradedUuid.php deleted file mode 100644 index 2669761..0000000 --- a/paragonik-backend/vendor/ramsey/uuid/src/DegradedUuid.php +++ /dev/null @@ -1,116 +0,0 @@ - - * @license http://opensource.org/licenses/MIT MIT - * @link https://benramsey.com/projects/ramsey-uuid/ Documentation - * @link https://packagist.org/packages/ramsey/uuid Packagist - * @link https://github.com/ramsey/uuid GitHub - */ - -namespace Ramsey\Uuid; - -use DateTime; -use Moontoast\Math\BigNumber; -use Ramsey\Uuid\Exception\UnsatisfiedDependencyException; -use Ramsey\Uuid\Exception\UnsupportedOperationException; - -/** - * DegradedUuid represents an RFC 4122 UUID on 32-bit systems - * - * @see Uuid - */ -class DegradedUuid extends Uuid -{ - /** - * @inheritdoc - */ - public function getDateTime() - { - if ($this->getVersion() != 1) { - throw new UnsupportedOperationException('Not a time-based UUID'); - } - - $time = $this->converter->fromHex($this->getTimestampHex()); - - $ts = new BigNumber($time, 20); - $ts->subtract('122192928000000000'); - $ts->divide('10000000.0'); - $ts->round(); - $unixTime = $ts->getValue(); - - return new DateTime("@{$unixTime}"); - } - - /** - * For degraded UUIDs, throws an `UnsatisfiedDependencyException` when - * called on a 32-bit system - * - * @throws UnsatisfiedDependencyException if called on a 32-bit system - */ - public function getFields() - { - throw new UnsatisfiedDependencyException( - 'Cannot call ' . __METHOD__ . ' on a 32-bit system, since some ' - . 'values overflow the system max integer value' - . '; consider calling getFieldsHex instead' - ); - } - - /** - * For degraded UUIDs, throws an `UnsatisfiedDependencyException` when - * called on a 32-bit system - * - * @throws UnsatisfiedDependencyException if called on a 32-bit system - */ - public function getNode() - { - throw new UnsatisfiedDependencyException( - 'Cannot call ' . __METHOD__ . ' on a 32-bit system, since node ' - . 'is an unsigned 48-bit integer and can overflow the system ' - . 'max integer value' - . '; consider calling getNodeHex instead' - ); - } - - /** - * For degraded UUIDs, throws an `UnsatisfiedDependencyException` when - * called on a 32-bit system - * - * @throws UnsatisfiedDependencyException if called on a 32-bit system - */ - public function getTimeLow() - { - throw new UnsatisfiedDependencyException( - 'Cannot call ' . __METHOD__ . ' on a 32-bit system, since time_low ' - . 'is an unsigned 32-bit integer and can overflow the system ' - . 'max integer value' - . '; consider calling getTimeLowHex instead' - ); - } - - /** - * For degraded UUIDs, throws an `UnsatisfiedDependencyException` when - * called on a 32-bit system - * - * @throws UnsatisfiedDependencyException if called on a 32-bit system - * @throws UnsupportedOperationException If this UUID is not a version 1 UUID - */ - public function getTimestamp() - { - if ($this->getVersion() != 1) { - throw new UnsupportedOperationException('Not a time-based UUID'); - } - - throw new UnsatisfiedDependencyException( - 'Cannot call ' . __METHOD__ . ' on a 32-bit system, since timestamp ' - . 'is an unsigned 60-bit integer and can overflow the system ' - . 'max integer value' - . '; consider calling getTimestampHex instead' - ); - } -} diff --git a/paragonik-backend/vendor/ramsey/uuid/src/Exception/InvalidUuidStringException.php b/paragonik-backend/vendor/ramsey/uuid/src/Exception/InvalidUuidStringException.php deleted file mode 100644 index 7df0e8c..0000000 --- a/paragonik-backend/vendor/ramsey/uuid/src/Exception/InvalidUuidStringException.php +++ /dev/null @@ -1,24 +0,0 @@ - - * @license http://opensource.org/licenses/MIT MIT - * @link https://benramsey.com/projects/ramsey-uuid/ Documentation - * @link https://packagist.org/packages/ramsey/uuid Packagist - * @link https://github.com/ramsey/uuid GitHub - */ - -namespace Ramsey\Uuid\Exception; - -use InvalidArgumentException; - -/** - * Thrown to indicate that the parsed UUID string is invalid. - */ -class InvalidUuidStringException extends InvalidArgumentException -{ -} diff --git a/paragonik-backend/vendor/ramsey/uuid/src/Exception/UnsatisfiedDependencyException.php b/paragonik-backend/vendor/ramsey/uuid/src/Exception/UnsatisfiedDependencyException.php deleted file mode 100644 index 89c7396..0000000 --- a/paragonik-backend/vendor/ramsey/uuid/src/Exception/UnsatisfiedDependencyException.php +++ /dev/null @@ -1,25 +0,0 @@ - - * @license http://opensource.org/licenses/MIT MIT - * @link https://benramsey.com/projects/ramsey-uuid/ Documentation - * @link https://packagist.org/packages/ramsey/uuid Packagist - * @link https://github.com/ramsey/uuid GitHub - */ - -namespace Ramsey\Uuid\Exception; - -use RuntimeException; - -/** - * Thrown to indicate that the requested operation has dependencies that have not - * been satisfied. - */ -class UnsatisfiedDependencyException extends RuntimeException -{ -} diff --git a/paragonik-backend/vendor/ramsey/uuid/src/Exception/UnsupportedOperationException.php b/paragonik-backend/vendor/ramsey/uuid/src/Exception/UnsupportedOperationException.php deleted file mode 100644 index 4340947..0000000 --- a/paragonik-backend/vendor/ramsey/uuid/src/Exception/UnsupportedOperationException.php +++ /dev/null @@ -1,24 +0,0 @@ - - * @license http://opensource.org/licenses/MIT MIT - * @link https://benramsey.com/projects/ramsey-uuid/ Documentation - * @link https://packagist.org/packages/ramsey/uuid Packagist - * @link https://github.com/ramsey/uuid GitHub - */ - -namespace Ramsey\Uuid\Exception; - -use RuntimeException; - -/** - * Thrown to indicate that the requested operation is not supported. - */ -class UnsupportedOperationException extends RuntimeException -{ -} diff --git a/paragonik-backend/vendor/ramsey/uuid/src/FeatureSet.php b/paragonik-backend/vendor/ramsey/uuid/src/FeatureSet.php deleted file mode 100644 index 2027b9e..0000000 --- a/paragonik-backend/vendor/ramsey/uuid/src/FeatureSet.php +++ /dev/null @@ -1,335 +0,0 @@ - - * @license http://opensource.org/licenses/MIT MIT - * @link https://benramsey.com/projects/ramsey-uuid/ Documentation - * @link https://packagist.org/packages/ramsey/uuid Packagist - * @link https://github.com/ramsey/uuid GitHub - */ - -namespace Ramsey\Uuid; - -use Ramsey\Uuid\Converter\TimeConverterInterface; -use Ramsey\Uuid\Generator\PeclUuidTimeGenerator; -use Ramsey\Uuid\Provider\Node\FallbackNodeProvider; -use Ramsey\Uuid\Provider\Node\RandomNodeProvider; -use Ramsey\Uuid\Provider\Node\SystemNodeProvider; -use Ramsey\Uuid\Converter\NumberConverterInterface; -use Ramsey\Uuid\Converter\Number\BigNumberConverter; -use Ramsey\Uuid\Converter\Number\DegradedNumberConverter; -use Ramsey\Uuid\Converter\Time\BigNumberTimeConverter; -use Ramsey\Uuid\Converter\Time\DegradedTimeConverter; -use Ramsey\Uuid\Converter\Time\PhpTimeConverter; -use Ramsey\Uuid\Provider\Time\SystemTimeProvider; -use Ramsey\Uuid\Builder\UuidBuilderInterface; -use Ramsey\Uuid\Builder\DefaultUuidBuilder; -use Ramsey\Uuid\Codec\CodecInterface; -use Ramsey\Uuid\Codec\StringCodec; -use Ramsey\Uuid\Codec\GuidStringCodec; -use Ramsey\Uuid\Builder\DegradedUuidBuilder; -use Ramsey\Uuid\Generator\RandomGeneratorFactory; -use Ramsey\Uuid\Generator\RandomGeneratorInterface; -use Ramsey\Uuid\Generator\TimeGeneratorFactory; -use Ramsey\Uuid\Generator\TimeGeneratorInterface; -use Ramsey\Uuid\Provider\TimeProviderInterface; -use Ramsey\Uuid\Provider\NodeProviderInterface; - -/** - * FeatureSet detects and exposes available features in the current environment - * (32- or 64-bit, available dependencies, etc.) - */ -class FeatureSet -{ - /** - * @var bool - */ - private $disableBigNumber = false; - - /** - * @var bool - */ - private $disable64Bit = false; - - /** - * @var bool - */ - private $ignoreSystemNode = false; - - /** - * @var bool - */ - private $enablePecl = false; - - /** - * @var UuidBuilderInterface - */ - private $builder; - - /** - * @var CodecInterface - */ - private $codec; - - /** - * @var NodeProviderInterface - */ - private $nodeProvider; - - /** - * @var NumberConverterInterface - */ - private $numberConverter; - - /** - * @var RandomGeneratorInterface - */ - private $randomGenerator; - - /** - * @var TimeGeneratorInterface - */ - private $timeGenerator; - - /** - * Constructs a `FeatureSet` for use by a `UuidFactory` to determine or set - * features available to the environment - * - * @param bool $useGuids Whether to build UUIDs using the `GuidStringCodec` - * @param bool $force32Bit Whether to force the use of 32-bit functionality - * (primarily for testing purposes) - * @param bool $forceNoBigNumber Whether to disable the use of moontoast/math - * `BigNumber` (primarily for testing purposes) - * @param bool $ignoreSystemNode Whether to disable attempts to check for - * the system host ID (primarily for testing purposes) - * @param bool $enablePecl Whether to enable the use of the `PeclUuidTimeGenerator` - * to generate version 1 UUIDs - */ - public function __construct( - $useGuids = false, - $force32Bit = false, - $forceNoBigNumber = false, - $ignoreSystemNode = false, - $enablePecl = false - ) { - $this->disableBigNumber = $forceNoBigNumber; - $this->disable64Bit = $force32Bit; - $this->ignoreSystemNode = $ignoreSystemNode; - $this->enablePecl = $enablePecl; - - $this->numberConverter = $this->buildNumberConverter(); - $this->builder = $this->buildUuidBuilder(); - $this->codec = $this->buildCodec($useGuids); - $this->nodeProvider = $this->buildNodeProvider(); - $this->randomGenerator = $this->buildRandomGenerator(); - $this->setTimeProvider(new SystemTimeProvider()); - } - - /** - * Returns the builder configured for this environment - * - * @return UuidBuilderInterface - */ - public function getBuilder() - { - return $this->builder; - } - - /** - * Returns the UUID UUID coder-decoder configured for this environment - * - * @return CodecInterface - */ - public function getCodec() - { - return $this->codec; - } - - /** - * Returns the system node ID provider configured for this environment - * - * @return NodeProviderInterface - */ - public function getNodeProvider() - { - return $this->nodeProvider; - } - - /** - * Returns the number converter configured for this environment - * - * @return NumberConverterInterface - */ - public function getNumberConverter() - { - return $this->numberConverter; - } - - /** - * Returns the random UUID generator configured for this environment - * - * @return RandomGeneratorInterface - */ - public function getRandomGenerator() - { - return $this->randomGenerator; - } - - /** - * Returns the time-based UUID generator configured for this environment - * - * @return TimeGeneratorInterface - */ - public function getTimeGenerator() - { - return $this->timeGenerator; - } - - /** - * Sets the time provider for use in this environment - * - * @param TimeProviderInterface $timeProvider - */ - public function setTimeProvider(TimeProviderInterface $timeProvider) - { - $this->timeGenerator = $this->buildTimeGenerator($timeProvider); - } - - /** - * Determines which UUID coder-decoder to use and returns the configured - * codec for this environment - * - * @param bool $useGuids Whether to build UUIDs using the `GuidStringCodec` - * @return CodecInterface - */ - protected function buildCodec($useGuids = false) - { - if ($useGuids) { - return new GuidStringCodec($this->builder); - } - - return new StringCodec($this->builder); - } - - /** - * Determines which system node ID provider to use and returns the configured - * system node ID provider for this environment - * - * @return NodeProviderInterface - */ - protected function buildNodeProvider() - { - if ($this->ignoreSystemNode) { - return new RandomNodeProvider(); - } - - return new FallbackNodeProvider([ - new SystemNodeProvider(), - new RandomNodeProvider() - ]); - } - - /** - * Determines which number converter to use and returns the configured - * number converter for this environment - * - * @return NumberConverterInterface - */ - protected function buildNumberConverter() - { - if ($this->hasBigNumber()) { - return new BigNumberConverter(); - } - - return new DegradedNumberConverter(); - } - - /** - * Determines which random UUID generator to use and returns the configured - * random UUID generator for this environment - * - * @return RandomGeneratorInterface - */ - protected function buildRandomGenerator() - { - return (new RandomGeneratorFactory())->getGenerator(); - } - - /** - * Determines which time-based UUID generator to use and returns the configured - * time-based UUID generator for this environment - * - * @param TimeProviderInterface $timeProvider - * @return TimeGeneratorInterface - */ - protected function buildTimeGenerator(TimeProviderInterface $timeProvider) - { - if ($this->enablePecl) { - return new PeclUuidTimeGenerator(); - } - - return (new TimeGeneratorFactory( - $this->nodeProvider, - $this->buildTimeConverter(), - $timeProvider - ))->getGenerator(); - } - - /** - * Determines which time converter to use and returns the configured - * time converter for this environment - * - * @return TimeConverterInterface - */ - protected function buildTimeConverter() - { - if ($this->is64BitSystem()) { - return new PhpTimeConverter(); - } - - if ($this->hasBigNumber()) { - return new BigNumberTimeConverter(); - } - - return new DegradedTimeConverter(); - } - - /** - * Determines which UUID builder to use and returns the configured UUID - * builder for this environment - * - * @return UuidBuilderInterface - */ - protected function buildUuidBuilder() - { - if ($this->is64BitSystem()) { - return new DefaultUuidBuilder($this->numberConverter); - } - - return new DegradedUuidBuilder($this->numberConverter); - } - - /** - * Returns true if the system has `Moontoast\Math\BigNumber` - * - * @return bool - */ - protected function hasBigNumber() - { - return class_exists('Moontoast\Math\BigNumber') && !$this->disableBigNumber; - } - - /** - * Returns true if the system is 64-bit, false otherwise - * - * @return bool - */ - protected function is64BitSystem() - { - return PHP_INT_SIZE == 8 && !$this->disable64Bit; - } -} diff --git a/paragonik-backend/vendor/ramsey/uuid/src/Generator/CombGenerator.php b/paragonik-backend/vendor/ramsey/uuid/src/Generator/CombGenerator.php deleted file mode 100644 index 1d4a5f6..0000000 --- a/paragonik-backend/vendor/ramsey/uuid/src/Generator/CombGenerator.php +++ /dev/null @@ -1,91 +0,0 @@ - - * @license http://opensource.org/licenses/MIT MIT - * @link https://benramsey.com/projects/ramsey-uuid/ Documentation - * @link https://packagist.org/packages/ramsey/uuid Packagist - * @link https://github.com/ramsey/uuid GitHub - */ - -namespace Ramsey\Uuid\Generator; - -use Exception; -use InvalidArgumentException; -use Ramsey\Uuid\Converter\NumberConverterInterface; -use Ramsey\Uuid\Exception\UnsatisfiedDependencyException; - -/** - * CombGenerator provides functionality to generate COMB (combined GUID/timestamp) - * sequential UUIDs - * - * @link https://en.wikipedia.org/wiki/Globally_unique_identifier#Sequential_algorithms - */ -class CombGenerator implements RandomGeneratorInterface -{ - const TIMESTAMP_BYTES = 6; - - /** - * @var RandomGeneratorInterface - */ - private $randomGenerator; - - /** - * @var NumberConverterInterface - */ - private $converter; - - /** - * Constructs a `CombGenerator` using a random-number generator and a number converter - * - * @param RandomGeneratorInterface $generator Random-number generator for the non-time part. - * @param NumberConverterInterface $numberConverter Instance of number converter. - */ - public function __construct(RandomGeneratorInterface $generator, NumberConverterInterface $numberConverter) - { - $this->converter = $numberConverter; - $this->randomGenerator = $generator; - } - - /** - * Generates a string of binary data of the specified length - * - * @param integer $length The number of bytes of random binary data to generate - * @return string A binary string - * @throws UnsatisfiedDependencyException if `Moontoast\Math\BigNumber` is not present - * @throws InvalidArgumentException if length is not a positive integer - * @throws Exception - */ - public function generate($length) - { - if ($length < self::TIMESTAMP_BYTES || $length < 0) { - throw new InvalidArgumentException('Length must be a positive integer.'); - } - - $hash = ''; - - if (self::TIMESTAMP_BYTES > 0 && $length > self::TIMESTAMP_BYTES) { - $hash = $this->randomGenerator->generate($length - self::TIMESTAMP_BYTES); - } - - $lsbTime = str_pad($this->converter->toHex($this->timestamp()), self::TIMESTAMP_BYTES * 2, '0', STR_PAD_LEFT); - - return hex2bin(str_pad(bin2hex($hash), $length - self::TIMESTAMP_BYTES, '0') . $lsbTime); - } - - /** - * Returns current timestamp as integer, precise to 0.00001 seconds - * - * @return string - */ - private function timestamp() - { - $time = explode(' ', microtime(false)); - - return $time[1] . substr($time[0], 2, 5); - } -} diff --git a/paragonik-backend/vendor/ramsey/uuid/src/Generator/DefaultTimeGenerator.php b/paragonik-backend/vendor/ramsey/uuid/src/Generator/DefaultTimeGenerator.php deleted file mode 100644 index 5c5ccb2..0000000 --- a/paragonik-backend/vendor/ramsey/uuid/src/Generator/DefaultTimeGenerator.php +++ /dev/null @@ -1,141 +0,0 @@ - - * @license http://opensource.org/licenses/MIT MIT - * @link https://benramsey.com/projects/ramsey-uuid/ Documentation - * @link https://packagist.org/packages/ramsey/uuid Packagist - * @link https://github.com/ramsey/uuid GitHub - */ - -namespace Ramsey\Uuid\Generator; - -use Exception; -use InvalidArgumentException; -use Ramsey\Uuid\BinaryUtils; -use Ramsey\Uuid\Converter\TimeConverterInterface; -use Ramsey\Uuid\Exception\UnsatisfiedDependencyException; -use Ramsey\Uuid\Provider\NodeProviderInterface; -use Ramsey\Uuid\Provider\TimeProviderInterface; - -/** - * DefaultTimeGenerator provides functionality to generate strings of binary - * data for version 1 UUIDs based on a host ID, sequence number, and the current - * time - */ -class DefaultTimeGenerator implements TimeGeneratorInterface -{ - /** - * @var NodeProviderInterface - */ - private $nodeProvider; - - /** - * @var TimeConverterInterface - */ - private $timeConverter; - - /** - * @var TimeProviderInterface - */ - private $timeProvider; - - /** - * Constructs a `DefaultTimeGenerator` using a node provider, time converter, - * and time provider - * - * @param NodeProviderInterface $nodeProvider - * @param TimeConverterInterface $timeConverter - * @param TimeProviderInterface $timeProvider - */ - public function __construct( - NodeProviderInterface $nodeProvider, - TimeConverterInterface $timeConverter, - TimeProviderInterface $timeProvider - ) { - $this->nodeProvider = $nodeProvider; - $this->timeConverter = $timeConverter; - $this->timeProvider = $timeProvider; - } - - /** - * Generate a version 1 UUID from a host ID, sequence number, and the current time - * - * If $node is not given, we will attempt to obtain the local hardware - * address. If $clockSeq is given, it is used as the sequence number; - * otherwise a random 14-bit sequence number is chosen. - * - * @param int|string $node A 48-bit number representing the hardware address - * This number may be represented as an integer or a hexadecimal string. - * @param int $clockSeq A 14-bit number used to help avoid duplicates that - * could arise when the clock is set backwards in time or if the node ID - * changes. - * @return string A binary string - * @throws UnsatisfiedDependencyException if called on a 32-bit system and - * `Moontoast\Math\BigNumber` is not present - * @throws InvalidArgumentException - * @throws Exception if it was not possible to gather sufficient entropy - */ - public function generate($node = null, $clockSeq = null) - { - $node = $this->getValidNode($node); - - if ($clockSeq === null) { - // Not using "stable storage"; see RFC 4122, Section 4.2.1.1 - $clockSeq = random_int(0, 0x3fff); - } - - // Create a 60-bit time value as a count of 100-nanosecond intervals - // since 00:00:00.00, 15 October 1582 - $timeOfDay = $this->timeProvider->currentTime(); - $uuidTime = $this->timeConverter->calculateTime($timeOfDay['sec'], $timeOfDay['usec']); - - $timeHi = BinaryUtils::applyVersion($uuidTime['hi'], 1); - $clockSeqHi = BinaryUtils::applyVariant($clockSeq >> 8); - - $hex = vsprintf( - '%08s%04s%04s%02s%02s%012s', - [ - $uuidTime['low'], - $uuidTime['mid'], - sprintf('%04x', $timeHi), - sprintf('%02x', $clockSeqHi), - sprintf('%02x', $clockSeq & 0xff), - $node, - ] - ); - - return hex2bin($hex); - } - - /** - * Uses the node provider given when constructing this instance to get - * the node ID (usually a MAC address) - * - * @param string|int $node A node value that may be used to override the node provider - * @return string Hexadecimal representation of the node ID - * @throws InvalidArgumentException - * @throws Exception - */ - protected function getValidNode($node) - { - if ($node === null) { - $node = $this->nodeProvider->getNode(); - } - - // Convert the node to hex, if it is still an integer - if (is_int($node)) { - $node = sprintf('%012x', $node); - } - - if (!ctype_xdigit($node) || strlen($node) > 12) { - throw new InvalidArgumentException('Invalid node value'); - } - - return strtolower(sprintf('%012s', $node)); - } -} diff --git a/paragonik-backend/vendor/ramsey/uuid/src/Generator/MtRandGenerator.php b/paragonik-backend/vendor/ramsey/uuid/src/Generator/MtRandGenerator.php deleted file mode 100644 index 8d4b5f9..0000000 --- a/paragonik-backend/vendor/ramsey/uuid/src/Generator/MtRandGenerator.php +++ /dev/null @@ -1,45 +0,0 @@ - - * @license http://opensource.org/licenses/MIT MIT - * @link https://benramsey.com/projects/ramsey-uuid/ Documentation - * @link https://packagist.org/packages/ramsey/uuid Packagist - * @link https://github.com/ramsey/uuid GitHub - */ - -namespace Ramsey\Uuid\Generator; - -/** - * MtRandRandomGenerator provides functionality to generate strings of random - * binary data using the `mt_rand()` PHP function - * - * @deprecated The mt_rand() function is not a reliable source of randomness. - * The default RandomBytesGenerator, which uses the random_bytes() function, - * is recommended as the safest and most reliable source of randomness. - * This generator will be removed in ramsey/uuid 4.0.0. - * @link http://php.net/mt_rand - */ -class MtRandGenerator implements RandomGeneratorInterface -{ - /** - * Generates a string of random binary data of the specified length - * - * @param integer $length The number of bytes of random binary data to generate - * @return string A binary string - */ - public function generate($length) - { - $bytes = ''; - - for ($i = 1; $i <= $length; $i++) { - $bytes = chr(mt_rand(0, 255)) . $bytes; - } - - return $bytes; - } -} diff --git a/paragonik-backend/vendor/ramsey/uuid/src/Generator/OpenSslGenerator.php b/paragonik-backend/vendor/ramsey/uuid/src/Generator/OpenSslGenerator.php deleted file mode 100644 index 47abf9b..0000000 --- a/paragonik-backend/vendor/ramsey/uuid/src/Generator/OpenSslGenerator.php +++ /dev/null @@ -1,43 +0,0 @@ - - * @license http://opensource.org/licenses/MIT MIT - * @link https://benramsey.com/projects/ramsey-uuid/ Documentation - * @link https://packagist.org/packages/ramsey/uuid Packagist - * @link https://github.com/ramsey/uuid GitHub - */ - -namespace Ramsey\Uuid\Generator; - -/** - * OpenSslRandomGenerator provides functionality to generate strings of random - * binary data using the `openssl_random_pseudo_bytes()` PHP function - * - * The use of this generator requires PHP to be compiled using the - * `--with-openssl` option. - * - * @deprecated The openssl_random_pseudo_bytes() function is not a reliable - * source of randomness. The default RandomBytesGenerator, which uses the - * random_bytes() function, is recommended as the safest and most reliable - * source of randomness. - * This generator will be removed in ramsey/uuid 4.0.0. - * @link http://php.net/openssl_random_pseudo_bytes - */ -class OpenSslGenerator implements RandomGeneratorInterface -{ - /** - * Generates a string of random binary data of the specified length - * - * @param integer $length The number of bytes of random binary data to generate - * @return string A binary string - */ - public function generate($length) - { - return openssl_random_pseudo_bytes($length); - } -} diff --git a/paragonik-backend/vendor/ramsey/uuid/src/Generator/PeclUuidRandomGenerator.php b/paragonik-backend/vendor/ramsey/uuid/src/Generator/PeclUuidRandomGenerator.php deleted file mode 100644 index fc2ef7e..0000000 --- a/paragonik-backend/vendor/ramsey/uuid/src/Generator/PeclUuidRandomGenerator.php +++ /dev/null @@ -1,37 +0,0 @@ - - * @license http://opensource.org/licenses/MIT MIT - * @link https://benramsey.com/projects/ramsey-uuid/ Documentation - * @link https://packagist.org/packages/ramsey/uuid Packagist - * @link https://github.com/ramsey/uuid GitHub - */ - -namespace Ramsey\Uuid\Generator; - -/** - * PeclUuidRandomGenerator provides functionality to generate strings of random - * binary data using the PECL UUID PHP extension - * - * @link https://pecl.php.net/package/uuid - */ -class PeclUuidRandomGenerator implements RandomGeneratorInterface -{ - /** - * Generates a string of random binary data of the specified length - * - * @param integer $length The number of bytes of random binary data to generate - * @return string A binary string - */ - public function generate($length) - { - $uuid = uuid_create(UUID_TYPE_RANDOM); - - return uuid_parse($uuid); - } -} diff --git a/paragonik-backend/vendor/ramsey/uuid/src/Generator/PeclUuidTimeGenerator.php b/paragonik-backend/vendor/ramsey/uuid/src/Generator/PeclUuidTimeGenerator.php deleted file mode 100644 index 7ccf16f..0000000 --- a/paragonik-backend/vendor/ramsey/uuid/src/Generator/PeclUuidTimeGenerator.php +++ /dev/null @@ -1,38 +0,0 @@ - - * @license http://opensource.org/licenses/MIT MIT - * @link https://benramsey.com/projects/ramsey-uuid/ Documentation - * @link https://packagist.org/packages/ramsey/uuid Packagist - * @link https://github.com/ramsey/uuid GitHub - */ - -namespace Ramsey\Uuid\Generator; - -/** - * PeclUuidTimeGenerator provides functionality to generate strings of binary - * data for version 1 UUIDs using the PECL UUID PHP extension - * - * @link https://pecl.php.net/package/uuid - */ -class PeclUuidTimeGenerator implements TimeGeneratorInterface -{ - /** - * Generate a version 1 UUID using the PECL UUID extension - * - * @param int|string $node Not used in this context - * @param int $clockSeq Not used in this context - * @return string A binary string - */ - public function generate($node = null, $clockSeq = null) - { - $uuid = uuid_create(UUID_TYPE_TIME); - - return uuid_parse($uuid); - } -} diff --git a/paragonik-backend/vendor/ramsey/uuid/src/Generator/RandomBytesGenerator.php b/paragonik-backend/vendor/ramsey/uuid/src/Generator/RandomBytesGenerator.php deleted file mode 100644 index cc3d379..0000000 --- a/paragonik-backend/vendor/ramsey/uuid/src/Generator/RandomBytesGenerator.php +++ /dev/null @@ -1,39 +0,0 @@ - - * @license http://opensource.org/licenses/MIT MIT - * @link https://benramsey.com/projects/ramsey-uuid/ Documentation - * @link https://packagist.org/packages/ramsey/uuid Packagist - * @link https://github.com/ramsey/uuid GitHub - */ - -namespace Ramsey\Uuid\Generator; - -use Exception; - -/** - * RandomBytesGenerator provides functionality to generate strings of random - * binary data using `random_bytes()` function in PHP 7+ or paragonie/random_compat - * - * @link http://php.net/random_bytes - * @link https://github.com/paragonie/random_compat - */ -class RandomBytesGenerator implements RandomGeneratorInterface -{ - /** - * Generates a string of random binary data of the specified length - * - * @param integer $length The number of bytes of random binary data to generate - * @return string A binary string - * @throws Exception if it was not possible to gather sufficient entropy - */ - public function generate($length) - { - return random_bytes($length); - } -} diff --git a/paragonik-backend/vendor/ramsey/uuid/src/Generator/RandomGeneratorFactory.php b/paragonik-backend/vendor/ramsey/uuid/src/Generator/RandomGeneratorFactory.php deleted file mode 100644 index 3911062..0000000 --- a/paragonik-backend/vendor/ramsey/uuid/src/Generator/RandomGeneratorFactory.php +++ /dev/null @@ -1,31 +0,0 @@ - - * @license http://opensource.org/licenses/MIT MIT - * @link https://benramsey.com/projects/ramsey-uuid/ Documentation - * @link https://packagist.org/packages/ramsey/uuid Packagist - * @link https://github.com/ramsey/uuid GitHub - */ - -namespace Ramsey\Uuid\Generator; - -/** - * A factory for retrieving a random generator, based on the environment - */ -class RandomGeneratorFactory -{ - /** - * Returns a default random generator, based on the current environment - * - * @return RandomGeneratorInterface - */ - public static function getGenerator() - { - return new RandomBytesGenerator(); - } -} diff --git a/paragonik-backend/vendor/ramsey/uuid/src/Generator/RandomGeneratorInterface.php b/paragonik-backend/vendor/ramsey/uuid/src/Generator/RandomGeneratorInterface.php deleted file mode 100644 index b791d60..0000000 --- a/paragonik-backend/vendor/ramsey/uuid/src/Generator/RandomGeneratorInterface.php +++ /dev/null @@ -1,37 +0,0 @@ - - * @license http://opensource.org/licenses/MIT MIT - * @link https://benramsey.com/projects/ramsey-uuid/ Documentation - * @link https://packagist.org/packages/ramsey/uuid Packagist - * @link https://github.com/ramsey/uuid GitHub - */ - -namespace Ramsey\Uuid\Generator; - -use Exception; -use InvalidArgumentException; -use Ramsey\Uuid\Exception\UnsatisfiedDependencyException; - -/** - * RandomGeneratorInterface provides functionality to generate strings of random - * binary data - */ -interface RandomGeneratorInterface -{ - /** - * Generates a string of random binary data of the specified length - * - * @param integer $length The number of bytes of random binary data to generate - * @return string A binary string - * @throws UnsatisfiedDependencyException if `Moontoast\Math\BigNumber` is not present - * @throws InvalidArgumentException - * @throws Exception if it was not possible to gather sufficient entropy - */ - public function generate($length); -} diff --git a/paragonik-backend/vendor/ramsey/uuid/src/Generator/RandomLibAdapter.php b/paragonik-backend/vendor/ramsey/uuid/src/Generator/RandomLibAdapter.php deleted file mode 100644 index 5aa0e88..0000000 --- a/paragonik-backend/vendor/ramsey/uuid/src/Generator/RandomLibAdapter.php +++ /dev/null @@ -1,62 +0,0 @@ - - * @license http://opensource.org/licenses/MIT MIT - * @link https://benramsey.com/projects/ramsey-uuid/ Documentation - * @link https://packagist.org/packages/ramsey/uuid Packagist - * @link https://github.com/ramsey/uuid GitHub - */ - -namespace Ramsey\Uuid\Generator; - -use RandomLib\Generator; -use RandomLib\Factory; - -/** - * RandomLibAdapter provides functionality to generate strings of random - * binary data using the paragonie/random-lib library - * - * @link https://packagist.org/packages/paragonie/random-lib - */ -class RandomLibAdapter implements RandomGeneratorInterface -{ - /** - * @var Generator - */ - private $generator; - - /** - * Constructs a `RandomLibAdapter` using a `RandomLib\Generator` - * - * By default, if no `Generator` is passed in, this creates a high-strength - * generator to use when generating random binary data. - * - * @param Generator $generator An paragonie/random-lib `Generator` - */ - public function __construct(Generator $generator = null) - { - $this->generator = $generator; - - if ($this->generator === null) { - $factory = new Factory(); - - $this->generator = $factory->getHighStrengthGenerator(); - } - } - - /** - * Generates a string of random binary data of the specified length - * - * @param integer $length The number of bytes of random binary data to generate - * @return string A binary string - */ - public function generate($length) - { - return $this->generator->generate($length); - } -} diff --git a/paragonik-backend/vendor/ramsey/uuid/src/Generator/SodiumRandomGenerator.php b/paragonik-backend/vendor/ramsey/uuid/src/Generator/SodiumRandomGenerator.php deleted file mode 100644 index f4ccf85..0000000 --- a/paragonik-backend/vendor/ramsey/uuid/src/Generator/SodiumRandomGenerator.php +++ /dev/null @@ -1,41 +0,0 @@ - - * @license http://opensource.org/licenses/MIT MIT - * @link https://benramsey.com/projects/ramsey-uuid/ Documentation - * @link https://packagist.org/packages/ramsey/uuid Packagist - * @link https://github.com/ramsey/uuid GitHub - */ - -namespace Ramsey\Uuid\Generator; - -/** - * SodiumRandomGenerator provides functionality to generate strings of random - * binary data using the PECL libsodium extension - * - * @deprecated As of PHP 7.2.0, the libsodium extension is bundled with PHP, and - * the random_bytes() PHP function is now the recommended method for - * generating random byes. The default RandomBytesGenerator uses the - * random_bytes() function. - * This generator will be removed in ramsey/uuid 4.0.0. - * @link http://pecl.php.net/package/libsodium - * @link https://paragonie.com/book/pecl-libsodium - */ -class SodiumRandomGenerator implements RandomGeneratorInterface -{ - /** - * Generates a string of random binary data of the specified length - * - * @param integer $length The number of bytes of random binary data to generate - * @return string A binary string - */ - public function generate($length) - { - return \Sodium\randombytes_buf($length); - } -} diff --git a/paragonik-backend/vendor/ramsey/uuid/src/Generator/TimeGeneratorFactory.php b/paragonik-backend/vendor/ramsey/uuid/src/Generator/TimeGeneratorFactory.php deleted file mode 100644 index 24d501b..0000000 --- a/paragonik-backend/vendor/ramsey/uuid/src/Generator/TimeGeneratorFactory.php +++ /dev/null @@ -1,72 +0,0 @@ - - * @license http://opensource.org/licenses/MIT MIT - * @link https://benramsey.com/projects/ramsey-uuid/ Documentation - * @link https://packagist.org/packages/ramsey/uuid Packagist - * @link https://github.com/ramsey/uuid GitHub - */ - -namespace Ramsey\Uuid\Generator; - -use Ramsey\Uuid\Converter\TimeConverterInterface; -use Ramsey\Uuid\Provider\NodeProviderInterface; -use Ramsey\Uuid\Provider\TimeProviderInterface; - -/** - * A factory for retrieving a time generator, based on the environment - */ -class TimeGeneratorFactory -{ - /** - * @var NodeProviderInterface - */ - private $nodeProvider; - - /** - * @var TimeConverterInterface - */ - private $timeConverter; - - /** - * @var TimeProviderInterface - */ - private $timeProvider; - - /** - * Constructs a `TimeGeneratorFactory` using a node provider, time converter, - * and time provider - * - * @param NodeProviderInterface $nodeProvider - * @param TimeConverterInterface $timeConverter - * @param TimeProviderInterface $timeProvider - */ - public function __construct( - NodeProviderInterface $nodeProvider, - TimeConverterInterface $timeConverter, - TimeProviderInterface $timeProvider - ) { - $this->nodeProvider = $nodeProvider; - $this->timeConverter = $timeConverter; - $this->timeProvider = $timeProvider; - } - - /** - * Returns a default time generator, based on the current environment - * - * @return TimeGeneratorInterface - */ - public function getGenerator() - { - return new DefaultTimeGenerator( - $this->nodeProvider, - $this->timeConverter, - $this->timeProvider - ); - } -} diff --git a/paragonik-backend/vendor/ramsey/uuid/src/Generator/TimeGeneratorInterface.php b/paragonik-backend/vendor/ramsey/uuid/src/Generator/TimeGeneratorInterface.php deleted file mode 100644 index 27c7459..0000000 --- a/paragonik-backend/vendor/ramsey/uuid/src/Generator/TimeGeneratorInterface.php +++ /dev/null @@ -1,43 +0,0 @@ - - * @license http://opensource.org/licenses/MIT MIT - * @link https://benramsey.com/projects/ramsey-uuid/ Documentation - * @link https://packagist.org/packages/ramsey/uuid Packagist - * @link https://github.com/ramsey/uuid GitHub - */ - -namespace Ramsey\Uuid\Generator; - -use Exception; -use InvalidArgumentException; -use Ramsey\Uuid\Exception\UnsatisfiedDependencyException; - -/** - * TimeGeneratorInterface provides functionality to generate strings of binary - * data for version 1 UUIDs based on a host ID, sequence number, and the current - * time - */ -interface TimeGeneratorInterface -{ - /** - * Generate a version 1 UUID from a host ID, sequence number, and the current time - * - * @param int|string $node A 48-bit number representing the hardware address - * This number may be represented as an integer or a hexadecimal string. - * @param int $clockSeq A 14-bit number used to help avoid duplicates that - * could arise when the clock is set backwards in time or if the node ID - * changes. - * @return string A binary string - * @throws UnsatisfiedDependencyException if called on a 32-bit system and - * `Moontoast\Math\BigNumber` is not present - * @throws InvalidArgumentException - * @throws Exception if it was not possible to gather sufficient entropy - */ - public function generate($node = null, $clockSeq = null); -} diff --git a/paragonik-backend/vendor/ramsey/uuid/src/Provider/Node/FallbackNodeProvider.php b/paragonik-backend/vendor/ramsey/uuid/src/Provider/Node/FallbackNodeProvider.php deleted file mode 100644 index 83488ab..0000000 --- a/paragonik-backend/vendor/ramsey/uuid/src/Provider/Node/FallbackNodeProvider.php +++ /dev/null @@ -1,59 +0,0 @@ - - * @license http://opensource.org/licenses/MIT MIT - * @link https://benramsey.com/projects/ramsey-uuid/ Documentation - * @link https://packagist.org/packages/ramsey/uuid Packagist - * @link https://github.com/ramsey/uuid GitHub - */ - -namespace Ramsey\Uuid\Provider\Node; - -use Exception; -use Ramsey\Uuid\Provider\NodeProviderInterface; - -/** - * FallbackNodeProvider attempts to gain the system host ID from an array of - * providers, falling back to the next in line in the event a host ID can not be - * obtained - */ -class FallbackNodeProvider implements NodeProviderInterface -{ - /** - * @var NodeProviderInterface[] - */ - private $nodeProviders; - - /** - * Constructs a `FallbackNodeProvider` using an array of node providers - * - * @param NodeProviderInterface[] $providers Array of node providers - */ - public function __construct(array $providers) - { - $this->nodeProviders = $providers; - } - - /** - * Returns the system node ID by iterating over an array of node providers - * and returning the first non-empty value found - * - * @return string System node ID as a hexadecimal string - * @throws Exception - */ - public function getNode() - { - foreach ($this->nodeProviders as $provider) { - if ($node = $provider->getNode()) { - return $node; - } - } - - return null; - } -} diff --git a/paragonik-backend/vendor/ramsey/uuid/src/Provider/Node/RandomNodeProvider.php b/paragonik-backend/vendor/ramsey/uuid/src/Provider/Node/RandomNodeProvider.php deleted file mode 100644 index 79ec63c..0000000 --- a/paragonik-backend/vendor/ramsey/uuid/src/Provider/Node/RandomNodeProvider.php +++ /dev/null @@ -1,57 +0,0 @@ - - * @license http://opensource.org/licenses/MIT MIT - * @link https://benramsey.com/projects/ramsey-uuid/ Documentation - * @link https://packagist.org/packages/ramsey/uuid Packagist - * @link https://github.com/ramsey/uuid GitHub - */ - -namespace Ramsey\Uuid\Provider\Node; - -use Exception; -use Ramsey\Uuid\Provider\NodeProviderInterface; - -/** - * RandomNodeProvider provides functionality to generate a random node ID, in - * the event that the node ID could not be obtained from the host system - * - * @link http://tools.ietf.org/html/rfc4122#section-4.5 - */ -class RandomNodeProvider implements NodeProviderInterface -{ - /** - * Returns the system node ID - * - * @return string System node ID as a hexadecimal string - * @throws Exception if it was not possible to gather sufficient entropy - */ - public function getNode() - { - $nodeBytes = random_bytes(6); - - // Split the node bytes for math on 32-bit systems. - $nodeMsb = substr($nodeBytes, 0, 3); - $nodeLsb = substr($nodeBytes, 3); - - // Set the multicast bit; see RFC 4122, section 4.5. - $nodeMsb = hex2bin( - str_pad( - dechex(hexdec(bin2hex($nodeMsb)) | 0x010000), - 6, - '0', - STR_PAD_LEFT - ) - ); - - // Recombine the node bytes. - $node = $nodeMsb . $nodeLsb; - - return str_pad(bin2hex($node), 12, '0', STR_PAD_LEFT); - } -} diff --git a/paragonik-backend/vendor/ramsey/uuid/src/Provider/Node/SystemNodeProvider.php b/paragonik-backend/vendor/ramsey/uuid/src/Provider/Node/SystemNodeProvider.php deleted file mode 100644 index e3c0801..0000000 --- a/paragonik-backend/vendor/ramsey/uuid/src/Provider/Node/SystemNodeProvider.php +++ /dev/null @@ -1,125 +0,0 @@ - - * @license http://opensource.org/licenses/MIT MIT - * @link https://benramsey.com/projects/ramsey-uuid/ Documentation - * @link https://packagist.org/packages/ramsey/uuid Packagist - * @link https://github.com/ramsey/uuid GitHub - */ - -namespace Ramsey\Uuid\Provider\Node; - -use Ramsey\Uuid\Provider\NodeProviderInterface; - -/** - * SystemNodeProvider provides functionality to get the system node ID (MAC - * address) using external system calls - */ -class SystemNodeProvider implements NodeProviderInterface -{ - /** - * Returns the system node ID - * - * @return string|false System node ID as a hexadecimal string, or false if it is not found - */ - public function getNode() - { - static $node = null; - - if ($node !== null) { - return $node; - } - - $pattern = '/[^:]([0-9A-Fa-f]{2}([:-])[0-9A-Fa-f]{2}(\2[0-9A-Fa-f]{2}){4})[^:]/'; - $matches = []; - - // first try a linux specific way - $node = $this->getSysfs(); - - // Search the ifconfig output for all MAC addresses and return - // the first one found - if ($node === false) { - if (preg_match_all($pattern, $this->getIfconfig(), $matches, PREG_PATTERN_ORDER)) { - $node = $matches[1][0]; - } - } - if ($node !== false) { - $node = str_replace([':', '-'], '', $node); - } - return $node; - } - - /** - * Returns the network interface configuration for the system - * - * @codeCoverageIgnore - * @return string - */ - protected function getIfconfig() - { - if (strpos(strtolower(ini_get('disable_functions')), 'passthru') !== false) { - return ''; - } - - ob_start(); - switch (strtoupper(substr(constant('PHP_OS'), 0, 3))) { - case 'WIN': - passthru('ipconfig /all 2>&1'); - break; - case 'DAR': - passthru('ifconfig 2>&1'); - break; - case 'FRE': - passthru('netstat -i -f link 2>&1'); - break; - case 'LIN': - default: - passthru('netstat -ie 2>&1'); - break; - } - - return ob_get_clean(); - } - - /** - * Returns mac address from the first system interface via the sysfs interface - * - * @return string|bool - */ - protected function getSysfs() - { - $mac = false; - - if (strtoupper(constant('PHP_OS')) === 'LINUX') { - $addressPaths = glob('/sys/class/net/*/address', GLOB_NOSORT); - - if (empty($addressPaths)) { - return false; - } - - array_walk($addressPaths, function ($addressPath) use (&$macs) { - $macs[] = file_get_contents($addressPath); - }); - - $macs = array_map('trim', $macs); - - // remove invalid entries - $macs = array_filter($macs, function ($mac) { - return - // localhost adapter - $mac !== '00:00:00:00:00:00' && - // must match mac adress - preg_match('/^([0-9a-f]{2}:){5}[0-9a-f]{2}$/i', $mac); - }); - - $mac = reset($macs); - } - - return $mac; - } -} diff --git a/paragonik-backend/vendor/ramsey/uuid/src/Provider/NodeProviderInterface.php b/paragonik-backend/vendor/ramsey/uuid/src/Provider/NodeProviderInterface.php deleted file mode 100644 index b6f721f..0000000 --- a/paragonik-backend/vendor/ramsey/uuid/src/Provider/NodeProviderInterface.php +++ /dev/null @@ -1,32 +0,0 @@ - - * @license http://opensource.org/licenses/MIT MIT - * @link https://benramsey.com/projects/ramsey-uuid/ Documentation - * @link https://packagist.org/packages/ramsey/uuid Packagist - * @link https://github.com/ramsey/uuid GitHub - */ - -namespace Ramsey\Uuid\Provider; - -use Exception; - -/** - * NodeProviderInterface provides functionality to get the node ID (or host ID - * in the form of the system's MAC address) from a specific type of node provider - */ -interface NodeProviderInterface -{ - /** - * Returns the system node ID - * - * @return string System node ID as a hexadecimal string - * @throws Exception if it was not possible to gather sufficient entropy - */ - public function getNode(); -} diff --git a/paragonik-backend/vendor/ramsey/uuid/src/Provider/Time/FixedTimeProvider.php b/paragonik-backend/vendor/ramsey/uuid/src/Provider/Time/FixedTimeProvider.php deleted file mode 100644 index 79a9d04..0000000 --- a/paragonik-backend/vendor/ramsey/uuid/src/Provider/Time/FixedTimeProvider.php +++ /dev/null @@ -1,77 +0,0 @@ - - * @license http://opensource.org/licenses/MIT MIT - * @link https://benramsey.com/projects/ramsey-uuid/ Documentation - * @link https://packagist.org/packages/ramsey/uuid Packagist - * @link https://github.com/ramsey/uuid GitHub - */ - -namespace Ramsey\Uuid\Provider\Time; - -use InvalidArgumentException; -use Ramsey\Uuid\Provider\TimeProviderInterface; - -/** - * FixedTimeProvider uses an previously-generated timestamp to provide the time - * - * This provider allows the use of a previously-generated timestamp, such as one - * stored in a database, when creating version 1 UUIDs. - */ -class FixedTimeProvider implements TimeProviderInterface -{ - /** - * @var int[] Array containing `sec` and `usec` components of a timestamp - */ - private $fixedTime; - - /** - * Constructs a `FixedTimeProvider` using the provided `$timestamp` - * - * @param int[] Array containing `sec` and `usec` components of a timestamp - * @throws InvalidArgumentException if the `$timestamp` does not contain `sec` or `usec` components - */ - public function __construct(array $timestamp) - { - if (!array_key_exists('sec', $timestamp) || !array_key_exists('usec', $timestamp)) { - throw new InvalidArgumentException('Array must contain sec and usec keys.'); - } - - $this->fixedTime = $timestamp; - } - - /** - * Sets the `usec` component of the timestamp - * - * @param int $value The `usec` value to set - */ - public function setUsec($value) - { - $this->fixedTime['usec'] = $value; - } - - /** - * Sets the `sec` component of the timestamp - * - * @param int $value The `sec` value to set - */ - public function setSec($value) - { - $this->fixedTime['sec'] = $value; - } - - /** - * Returns a timestamp array - * - * @return int[] Array containing `sec` and `usec` components of a timestamp - */ - public function currentTime() - { - return $this->fixedTime; - } -} diff --git a/paragonik-backend/vendor/ramsey/uuid/src/Provider/Time/SystemTimeProvider.php b/paragonik-backend/vendor/ramsey/uuid/src/Provider/Time/SystemTimeProvider.php deleted file mode 100644 index 6442985..0000000 --- a/paragonik-backend/vendor/ramsey/uuid/src/Provider/Time/SystemTimeProvider.php +++ /dev/null @@ -1,33 +0,0 @@ - - * @license http://opensource.org/licenses/MIT MIT - * @link https://benramsey.com/projects/ramsey-uuid/ Documentation - * @link https://packagist.org/packages/ramsey/uuid Packagist - * @link https://github.com/ramsey/uuid GitHub - */ - -namespace Ramsey\Uuid\Provider\Time; - -use Ramsey\Uuid\Provider\TimeProviderInterface; - -/** - * SystemTimeProvider uses built-in PHP functions to provide the time - */ -class SystemTimeProvider implements TimeProviderInterface -{ - /** - * Returns a timestamp array - * - * @return int[] Array containing `sec` and `usec` components of a timestamp - */ - public function currentTime() - { - return gettimeofday(); - } -} diff --git a/paragonik-backend/vendor/ramsey/uuid/src/Provider/TimeProviderInterface.php b/paragonik-backend/vendor/ramsey/uuid/src/Provider/TimeProviderInterface.php deleted file mode 100644 index ef8099d..0000000 --- a/paragonik-backend/vendor/ramsey/uuid/src/Provider/TimeProviderInterface.php +++ /dev/null @@ -1,29 +0,0 @@ - - * @license http://opensource.org/licenses/MIT MIT - * @link https://benramsey.com/projects/ramsey-uuid/ Documentation - * @link https://packagist.org/packages/ramsey/uuid Packagist - * @link https://github.com/ramsey/uuid GitHub - */ - -namespace Ramsey\Uuid\Provider; - -/** - * TimeProviderInterface provides functionality to get the time from a specific - * type of time provider - */ -interface TimeProviderInterface -{ - /** - * Returns a timestamp array - * - * @return int[] Array guaranteed to contain `sec` and `usec` components of a timestamp - */ - public function currentTime(); -} diff --git a/paragonik-backend/vendor/ramsey/uuid/src/Uuid.php b/paragonik-backend/vendor/ramsey/uuid/src/Uuid.php deleted file mode 100644 index 38fbd5e..0000000 --- a/paragonik-backend/vendor/ramsey/uuid/src/Uuid.php +++ /dev/null @@ -1,751 +0,0 @@ - - * @license http://opensource.org/licenses/MIT MIT - * @link https://benramsey.com/projects/ramsey-uuid/ Documentation - * @link https://packagist.org/packages/ramsey/uuid Packagist - * @link https://github.com/ramsey/uuid GitHub - */ - -namespace Ramsey\Uuid; - -use DateTime; -use Exception; -use InvalidArgumentException; -use Ramsey\Uuid\Converter\NumberConverterInterface; -use Ramsey\Uuid\Codec\CodecInterface; -use Ramsey\Uuid\Exception\InvalidUuidStringException; -use Ramsey\Uuid\Exception\UnsatisfiedDependencyException; -use Ramsey\Uuid\Exception\UnsupportedOperationException; - -/** - * Represents a universally unique identifier (UUID), according to RFC 4122. - * - * This class provides immutable UUID objects (the Uuid class) and the static - * methods `uuid1()`, `uuid3()`, `uuid4()`, and `uuid5()` for generating version - * 1, 3, 4, and 5 UUIDs as specified in RFC 4122. - * - * If all you want is a unique ID, you should probably call `uuid1()` or `uuid4()`. - * Note that `uuid1()` may compromise privacy since it creates a UUID containing - * the computer’s network address. `uuid4()` creates a random UUID. - * - * @link http://tools.ietf.org/html/rfc4122 - * @link http://en.wikipedia.org/wiki/Universally_unique_identifier - * @link http://docs.python.org/3/library/uuid.html - * @link http://docs.oracle.com/javase/6/docs/api/java/util/UUID.html - */ -class Uuid implements UuidInterface -{ - /** - * When this namespace is specified, the name string is a fully-qualified domain name. - * @link http://tools.ietf.org/html/rfc4122#appendix-C - */ - const NAMESPACE_DNS = '6ba7b810-9dad-11d1-80b4-00c04fd430c8'; - - /** - * When this namespace is specified, the name string is a URL. - * @link http://tools.ietf.org/html/rfc4122#appendix-C - */ - const NAMESPACE_URL = '6ba7b811-9dad-11d1-80b4-00c04fd430c8'; - - /** - * When this namespace is specified, the name string is an ISO OID. - * @link http://tools.ietf.org/html/rfc4122#appendix-C - */ - const NAMESPACE_OID = '6ba7b812-9dad-11d1-80b4-00c04fd430c8'; - - /** - * When this namespace is specified, the name string is an X.500 DN in DER or a text output format. - * @link http://tools.ietf.org/html/rfc4122#appendix-C - */ - const NAMESPACE_X500 = '6ba7b814-9dad-11d1-80b4-00c04fd430c8'; - - /** - * The nil UUID is special form of UUID that is specified to have all 128 bits set to zero. - * @link http://tools.ietf.org/html/rfc4122#section-4.1.7 - */ - const NIL = '00000000-0000-0000-0000-000000000000'; - - /** - * Reserved for NCS compatibility. - * @link http://tools.ietf.org/html/rfc4122#section-4.1.1 - */ - const RESERVED_NCS = 0; - - /** - * Specifies the UUID layout given in RFC 4122. - * @link http://tools.ietf.org/html/rfc4122#section-4.1.1 - */ - const RFC_4122 = 2; - - /** - * Reserved for Microsoft compatibility. - * @link http://tools.ietf.org/html/rfc4122#section-4.1.1 - */ - const RESERVED_MICROSOFT = 6; - - /** - * Reserved for future definition. - * @link http://tools.ietf.org/html/rfc4122#section-4.1.1 - */ - const RESERVED_FUTURE = 7; - - /** - * Regular expression pattern for matching a valid UUID of any variant. - */ - const VALID_PATTERN = '^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{12}$'; - - /** - * Version 1 (time-based) UUID object constant identifier - */ - const UUID_TYPE_TIME = 1; - - /** - * Version 2 (identifier-based) UUID object constant identifier - */ - const UUID_TYPE_IDENTIFIER = 2; - - /** - * Version 3 (name-based and hashed with MD5) UUID object constant identifier - */ - const UUID_TYPE_HASH_MD5 = 3; - - /** - * Version 4 (random) UUID object constant identifier - */ - const UUID_TYPE_RANDOM = 4; - - /** - * Version 5 (name-based and hashed with SHA1) UUID object constant identifier - */ - const UUID_TYPE_HASH_SHA1 = 5; - - /** - * The factory to use when creating UUIDs. - * @var UuidFactoryInterface - */ - private static $factory = null; - - /** - * The codec to use when encoding or decoding UUID strings. - * @var CodecInterface - */ - protected $codec; - - /** - * The fields that make up this UUID. - * - * This is initialized to the nil value. - * - * @var array - * @see UuidInterface::getFieldsHex() - */ - protected $fields = [ - 'time_low' => '00000000', - 'time_mid' => '0000', - 'time_hi_and_version' => '0000', - 'clock_seq_hi_and_reserved' => '00', - 'clock_seq_low' => '00', - 'node' => '000000000000', - ]; - - /** - * The number converter to use for converting hex values to/from integers. - * @var NumberConverterInterface - */ - protected $converter; - - /** - * Creates a universally unique identifier (UUID) from an array of fields. - * - * Unless you're making advanced use of this library to generate identifiers - * that deviate from RFC 4122, you probably do not want to instantiate a - * UUID directly. Use the static methods, instead: - * - * ``` - * use Ramsey\Uuid\Uuid; - * - * $timeBasedUuid = Uuid::uuid1(); - * $namespaceMd5Uuid = Uuid::uuid3(Uuid::NAMESPACE_URL, 'http://php.net/'); - * $randomUuid = Uuid::uuid4(); - * $namespaceSha1Uuid = Uuid::uuid5(Uuid::NAMESPACE_URL, 'http://php.net/'); - * ``` - * - * @param array $fields An array of fields from which to construct a UUID; - * see {@see \Ramsey\Uuid\UuidInterface::getFieldsHex()} for array structure. - * @param NumberConverterInterface $converter The number converter to use - * for converting hex values to/from integers. - * @param CodecInterface $codec The codec to use when encoding or decoding - * UUID strings. - */ - public function __construct( - array $fields, - NumberConverterInterface $converter, - CodecInterface $codec - ) { - $this->fields = $fields; - $this->codec = $codec; - $this->converter = $converter; - } - - /** - * Converts this UUID object to a string when the object is used in any - * string context. - * - * @return string - * @link http://www.php.net/manual/en/language.oop5.magic.php#object.tostring - */ - public function __toString() - { - return $this->toString(); - } - - /** - * Converts this UUID object to a string when the object is serialized - * with `json_encode()` - * - * @return string - * @link http://php.net/manual/en/class.jsonserializable.php - */ - public function jsonSerialize() - { - return $this->toString(); - } - - /** - * Converts this UUID object to a string when the object is serialized - * with `serialize()` - * - * @return string - * @link http://php.net/manual/en/class.serializable.php - */ - public function serialize() - { - return $this->toString(); - } - - /** - * Re-constructs the object from its serialized form. - * - * @param string $serialized - * @link http://php.net/manual/en/class.serializable.php - * @throws InvalidUuidStringException - */ - public function unserialize($serialized) - { - $uuid = self::fromString($serialized); - $this->codec = $uuid->codec; - $this->converter = $uuid->converter; - $this->fields = $uuid->fields; - } - - public function compareTo(UuidInterface $other) - { - if ($this->getMostSignificantBitsHex() < $other->getMostSignificantBitsHex()) { - return -1; - } - - if ($this->getMostSignificantBitsHex() > $other->getMostSignificantBitsHex()) { - return 1; - } - - if ($this->getLeastSignificantBitsHex() < $other->getLeastSignificantBitsHex()) { - return -1; - } - - if ($this->getLeastSignificantBitsHex() > $other->getLeastSignificantBitsHex()) { - return 1; - } - - return 0; - } - - public function equals($other) - { - if (!$other instanceof UuidInterface) { - return false; - } - - return $this->compareTo($other) == 0; - } - - public function getBytes() - { - return $this->codec->encodeBinary($this); - } - - /** - * Returns the high field of the clock sequence multiplexed with the variant - * (bits 65-72 of the UUID). - * - * @return int Unsigned 8-bit integer value of clock_seq_hi_and_reserved - */ - public function getClockSeqHiAndReserved() - { - return hexdec($this->getClockSeqHiAndReservedHex()); - } - - public function getClockSeqHiAndReservedHex() - { - return $this->fields['clock_seq_hi_and_reserved']; - } - - /** - * Returns the low field of the clock sequence (bits 73-80 of the UUID). - * - * @return int Unsigned 8-bit integer value of clock_seq_low - */ - public function getClockSeqLow() - { - return hexdec($this->getClockSeqLowHex()); - } - - public function getClockSeqLowHex() - { - return $this->fields['clock_seq_low']; - } - - /** - * Returns the clock sequence value associated with this UUID. - * - * For UUID version 1, the clock sequence is used to help avoid - * duplicates that could arise when the clock is set backwards in time - * or if the node ID changes. - * - * For UUID version 3 or 5, the clock sequence is a 14-bit value - * constructed from a name as described in RFC 4122, Section 4.3. - * - * For UUID version 4, clock sequence is a randomly or pseudo-randomly - * generated 14-bit value as described in RFC 4122, Section 4.4. - * - * @return int Unsigned 14-bit integer value of clock sequence - * @link http://tools.ietf.org/html/rfc4122#section-4.1.5 - */ - public function getClockSequence() - { - return ($this->getClockSeqHiAndReserved() & 0x3f) << 8 | $this->getClockSeqLow(); - } - - public function getClockSequenceHex() - { - return sprintf('%04x', $this->getClockSequence()); - } - - public function getNumberConverter() - { - return $this->converter; - } - - /** - * @inheritdoc - */ - public function getDateTime() - { - if ($this->getVersion() != 1) { - throw new UnsupportedOperationException('Not a time-based UUID'); - } - - $unixTime = ($this->getTimestamp() - 0x01b21dd213814000) / 1e7; - $unixTime = number_format($unixTime, 0, '', ''); - - return new DateTime("@{$unixTime}"); - } - - /** - * Returns an array of the fields of this UUID, with keys named according - * to the RFC 4122 names for the fields. - * - * * **time_low**: The low field of the timestamp, an unsigned 32-bit integer - * * **time_mid**: The middle field of the timestamp, an unsigned 16-bit integer - * * **time_hi_and_version**: The high field of the timestamp multiplexed with - * the version number, an unsigned 16-bit integer - * * **clock_seq_hi_and_reserved**: The high field of the clock sequence - * multiplexed with the variant, an unsigned 8-bit integer - * * **clock_seq_low**: The low field of the clock sequence, an unsigned - * 8-bit integer - * * **node**: The spatially unique node identifier, an unsigned 48-bit - * integer - * - * @return array The UUID fields represented as integer values - * @link http://tools.ietf.org/html/rfc4122#section-4.1.2 - */ - public function getFields() - { - return [ - 'time_low' => $this->getTimeLow(), - 'time_mid' => $this->getTimeMid(), - 'time_hi_and_version' => $this->getTimeHiAndVersion(), - 'clock_seq_hi_and_reserved' => $this->getClockSeqHiAndReserved(), - 'clock_seq_low' => $this->getClockSeqLow(), - 'node' => $this->getNode(), - ]; - } - - public function getFieldsHex() - { - return $this->fields; - } - - public function getHex() - { - return str_replace('-', '', $this->toString()); - } - - /** - * @inheritdoc - */ - public function getInteger() - { - return $this->converter->fromHex($this->getHex()); - } - - /** - * Returns the least significant 64 bits of this UUID's 128 bit value. - * - * @return mixed Converted representation of the unsigned 64-bit integer value - * @throws UnsatisfiedDependencyException if `Moontoast\Math\BigNumber` is not present - */ - public function getLeastSignificantBits() - { - return $this->converter->fromHex($this->getLeastSignificantBitsHex()); - } - - public function getLeastSignificantBitsHex() - { - return sprintf( - '%02s%02s%012s', - $this->fields['clock_seq_hi_and_reserved'], - $this->fields['clock_seq_low'], - $this->fields['node'] - ); - } - - /** - * Returns the most significant 64 bits of this UUID's 128 bit value. - * - * @return mixed Converted representation of the unsigned 64-bit integer value - * @throws UnsatisfiedDependencyException if `Moontoast\Math\BigNumber` is not present - */ - public function getMostSignificantBits() - { - return $this->converter->fromHex($this->getMostSignificantBitsHex()); - } - - public function getMostSignificantBitsHex() - { - return sprintf( - '%08s%04s%04s', - $this->fields['time_low'], - $this->fields['time_mid'], - $this->fields['time_hi_and_version'] - ); - } - - /** - * Returns the node value associated with this UUID - * - * For UUID version 1, the node field consists of an IEEE 802 MAC - * address, usually the host address. For systems with multiple IEEE - * 802 addresses, any available one can be used. The lowest addressed - * octet (octet number 10) contains the global/local bit and the - * unicast/multicast bit, and is the first octet of the address - * transmitted on an 802.3 LAN. - * - * For systems with no IEEE address, a randomly or pseudo-randomly - * generated value may be used; see RFC 4122, Section 4.5. The - * multicast bit must be set in such addresses, in order that they - * will never conflict with addresses obtained from network cards. - * - * For UUID version 3 or 5, the node field is a 48-bit value constructed - * from a name as described in RFC 4122, Section 4.3. - * - * For UUID version 4, the node field is a randomly or pseudo-randomly - * generated 48-bit value as described in RFC 4122, Section 4.4. - * - * @return int Unsigned 48-bit integer value of node - * @link http://tools.ietf.org/html/rfc4122#section-4.1.6 - */ - public function getNode() - { - return hexdec($this->getNodeHex()); - } - - public function getNodeHex() - { - return $this->fields['node']; - } - - /** - * Returns the high field of the timestamp multiplexed with the version - * number (bits 49-64 of the UUID). - * - * @return int Unsigned 16-bit integer value of time_hi_and_version - */ - public function getTimeHiAndVersion() - { - return hexdec($this->getTimeHiAndVersionHex()); - } - - public function getTimeHiAndVersionHex() - { - return $this->fields['time_hi_and_version']; - } - - /** - * Returns the low field of the timestamp (the first 32 bits of the UUID). - * - * @return int Unsigned 32-bit integer value of time_low - */ - public function getTimeLow() - { - return hexdec($this->getTimeLowHex()); - } - - public function getTimeLowHex() - { - return $this->fields['time_low']; - } - - /** - * Returns the middle field of the timestamp (bits 33-48 of the UUID). - * - * @return int Unsigned 16-bit integer value of time_mid - */ - public function getTimeMid() - { - return hexdec($this->getTimeMidHex()); - } - - public function getTimeMidHex() - { - return $this->fields['time_mid']; - } - - /** - * Returns the timestamp value associated with this UUID. - * - * The 60 bit timestamp value is constructed from the time_low, - * time_mid, and time_hi fields of this UUID. The resulting - * timestamp is measured in 100-nanosecond units since midnight, - * October 15, 1582 UTC. - * - * The timestamp value is only meaningful in a time-based UUID, which - * has version type 1. If this UUID is not a time-based UUID then - * this method throws UnsupportedOperationException. - * - * @return int Unsigned 60-bit integer value of the timestamp - * @throws UnsupportedOperationException If this UUID is not a version 1 UUID - * @link http://tools.ietf.org/html/rfc4122#section-4.1.4 - */ - public function getTimestamp() - { - if ($this->getVersion() != 1) { - throw new UnsupportedOperationException('Not a time-based UUID'); - } - - return hexdec($this->getTimestampHex()); - } - - /** - * @inheritdoc - */ - public function getTimestampHex() - { - if ($this->getVersion() != 1) { - throw new UnsupportedOperationException('Not a time-based UUID'); - } - - return sprintf( - '%03x%04s%08s', - ($this->getTimeHiAndVersion() & 0x0fff), - $this->fields['time_mid'], - $this->fields['time_low'] - ); - } - - public function getUrn() - { - return 'urn:uuid:' . $this->toString(); - } - - public function getVariant() - { - $clockSeq = $this->getClockSeqHiAndReserved(); - - if (0 === ($clockSeq & 0x80)) { - return self::RESERVED_NCS; - } - - if (0 === ($clockSeq & 0x40)) { - return self::RFC_4122; - } - - if (0 === ($clockSeq & 0x20)) { - return self::RESERVED_MICROSOFT; - } - - return self::RESERVED_FUTURE; - } - - public function getVersion() - { - if ($this->getVariant() == self::RFC_4122) { - return (int) (($this->getTimeHiAndVersion() >> 12) & 0x0f); - } - - return null; - } - - public function toString() - { - return $this->codec->encode($this); - } - - /** - * Returns the currently set factory used to create UUIDs. - * - * @return UuidFactoryInterface - */ - public static function getFactory() - { - if (!self::$factory) { - self::$factory = new UuidFactory(); - } - - return self::$factory; - } - - /** - * Sets the factory used to create UUIDs. - * - * @param UuidFactoryInterface $factory - */ - public static function setFactory(UuidFactoryInterface $factory) - { - self::$factory = $factory; - } - - /** - * Creates a UUID from a byte string. - * - * @param string $bytes - * @return UuidInterface - * @throws InvalidUuidStringException - * @throws InvalidArgumentException - */ - public static function fromBytes($bytes) - { - return self::getFactory()->fromBytes($bytes); - } - - /** - * Creates a UUID from the string standard representation. - * - * @param string $name A string that specifies a UUID - * @return UuidInterface - * @throws InvalidUuidStringException - */ - public static function fromString($name) - { - return self::getFactory()->fromString($name); - } - - /** - * Creates a UUID from a 128-bit integer string. - * - * @param string $integer String representation of 128-bit integer - * @return UuidInterface - * @throws UnsatisfiedDependencyException if `Moontoast\Math\BigNumber` is not present - * @throws InvalidUuidStringException - */ - public static function fromInteger($integer) - { - return self::getFactory()->fromInteger($integer); - } - - /** - * Check if a string is a valid UUID. - * - * @param string $uuid The string UUID to test - * @return boolean - */ - public static function isValid($uuid) - { - $uuid = str_replace(['urn:', 'uuid:', '{', '}'], '', $uuid); - - if ($uuid == self::NIL) { - return true; - } - - if (!preg_match('/' . self::VALID_PATTERN . '/D', $uuid)) { - return false; - } - - return true; - } - - /** - * Generate a version 1 UUID from a host ID, sequence number, and the current time. - * - * @param int|string $node A 48-bit number representing the hardware address - * This number may be represented as an integer or a hexadecimal string. - * @param int $clockSeq A 14-bit number used to help avoid duplicates that - * could arise when the clock is set backwards in time or if the node ID - * changes. - * @return UuidInterface - * @throws UnsatisfiedDependencyException if called on a 32-bit system and - * `Moontoast\Math\BigNumber` is not present - * @throws InvalidArgumentException - * @throws Exception if it was not possible to gather sufficient entropy - */ - public static function uuid1($node = null, $clockSeq = null) - { - return self::getFactory()->uuid1($node, $clockSeq); - } - - /** - * Generate a version 3 UUID based on the MD5 hash of a namespace identifier - * (which is a UUID) and a name (which is a string). - * - * @param string|UuidInterface $ns The UUID namespace in which to create the named UUID - * @param string $name The name to create a UUID for - * @return UuidInterface - * @throws InvalidUuidStringException - */ - public static function uuid3($ns, $name) - { - return self::getFactory()->uuid3($ns, $name); - } - - /** - * Generate a version 4 (random) UUID. - * - * @return UuidInterface - * @throws UnsatisfiedDependencyException if `Moontoast\Math\BigNumber` is not present - * @throws InvalidArgumentException - * @throws Exception - */ - public static function uuid4() - { - return self::getFactory()->uuid4(); - } - - /** - * Generate a version 5 UUID based on the SHA-1 hash of a namespace - * identifier (which is a UUID) and a name (which is a string). - * - * @param string|UuidInterface $ns The UUID namespace in which to create the named UUID - * @param string $name The name to create a UUID for - * @return UuidInterface - * @throws InvalidUuidStringException - */ - public static function uuid5($ns, $name) - { - return self::getFactory()->uuid5($ns, $name); - } -} diff --git a/paragonik-backend/vendor/ramsey/uuid/src/UuidFactory.php b/paragonik-backend/vendor/ramsey/uuid/src/UuidFactory.php deleted file mode 100644 index 5a57b09..0000000 --- a/paragonik-backend/vendor/ramsey/uuid/src/UuidFactory.php +++ /dev/null @@ -1,315 +0,0 @@ - - * @license http://opensource.org/licenses/MIT MIT - * @link https://benramsey.com/projects/ramsey-uuid/ Documentation - * @link https://packagist.org/packages/ramsey/uuid Packagist - * @link https://github.com/ramsey/uuid GitHub - */ - -namespace Ramsey\Uuid; - -use Ramsey\Uuid\Converter\NumberConverterInterface; -use Ramsey\Uuid\Exception\InvalidUuidStringException; -use Ramsey\Uuid\Provider\NodeProviderInterface; -use Ramsey\Uuid\Generator\RandomGeneratorInterface; -use Ramsey\Uuid\Generator\TimeGeneratorInterface; -use Ramsey\Uuid\Codec\CodecInterface; -use Ramsey\Uuid\Builder\UuidBuilderInterface; - -class UuidFactory implements UuidFactoryInterface -{ - /** - * @var CodecInterface - */ - private $codec = null; - - /** - * @var NodeProviderInterface - */ - private $nodeProvider = null; - - /** - * @var NumberConverterInterface - */ - private $numberConverter = null; - - /** - * @var RandomGeneratorInterface - */ - private $randomGenerator = null; - - /** - * @var TimeGeneratorInterface - */ - private $timeGenerator = null; - - /** - * @var UuidBuilderInterface - */ - private $uuidBuilder = null; - - /** - * Constructs a `UuidFactory` for creating `Ramsey\Uuid\UuidInterface` instances - * - * @param FeatureSet $features A set of features for use when creating UUIDs - */ - public function __construct(FeatureSet $features = null) - { - $features = $features ?: new FeatureSet(); - - $this->codec = $features->getCodec(); - $this->nodeProvider = $features->getNodeProvider(); - $this->numberConverter = $features->getNumberConverter(); - $this->randomGenerator = $features->getRandomGenerator(); - $this->timeGenerator = $features->getTimeGenerator(); - $this->uuidBuilder = $features->getBuilder(); - } - - /** - * Returns the UUID coder-decoder used by this factory - * - * @return CodecInterface - */ - public function getCodec() - { - return $this->codec; - } - - /** - * Sets the UUID coder-decoder used by this factory - * - * @param CodecInterface $codec - */ - public function setCodec(CodecInterface $codec) - { - $this->codec = $codec; - } - - /** - * Returns the system node ID provider used by this factory - * - * @return NodeProviderInterface - */ - public function getNodeProvider() - { - return $this->nodeProvider; - } - - /** - * Returns the random UUID generator used by this factory - * - * @return RandomGeneratorInterface - */ - public function getRandomGenerator() - { - return $this->randomGenerator; - } - - /** - * Returns the time-based UUID generator used by this factory - * - * @return TimeGeneratorInterface - */ - public function getTimeGenerator() - { - return $this->timeGenerator; - } - - /** - * Sets the time-based UUID generator this factory will use to generate version 1 UUIDs - * - * @param TimeGeneratorInterface $generator - */ - public function setTimeGenerator(TimeGeneratorInterface $generator) - { - $this->timeGenerator = $generator; - } - - /** - * Returns the number converter used by this factory - * - * @return NumberConverterInterface - */ - public function getNumberConverter() - { - return $this->numberConverter; - } - - /** - * Sets the random UUID generator this factory will use to generate version 4 UUIDs - * - * @param RandomGeneratorInterface $generator - */ - public function setRandomGenerator(RandomGeneratorInterface $generator) - { - $this->randomGenerator = $generator; - } - - /** - * Sets the number converter this factory will use - * - * @param NumberConverterInterface $converter - */ - public function setNumberConverter(NumberConverterInterface $converter) - { - $this->numberConverter = $converter; - } - - /** - * Returns the UUID builder this factory uses when creating `Uuid` instances - * - * @return UuidBuilderInterface $builder - */ - public function getUuidBuilder() - { - return $this->uuidBuilder; - } - - /** - * Sets the UUID builder this factory will use when creating `Uuid` instances - * - * @param UuidBuilderInterface $builder - */ - public function setUuidBuilder(UuidBuilderInterface $builder) - { - $this->uuidBuilder = $builder; - } - - /** - * @inheritdoc - */ - public function fromBytes($bytes) - { - return $this->codec->decodeBytes($bytes); - } - - /** - * @inheritdoc - */ - public function fromString($uuid) - { - $uuid = strtolower($uuid); - return $this->codec->decode($uuid); - } - - /** - * @inheritdoc - */ - public function fromInteger($integer) - { - $hex = $this->numberConverter->toHex($integer); - $hex = str_pad($hex, 32, '0', STR_PAD_LEFT); - - return $this->fromString($hex); - } - - /** - * @inheritdoc - */ - public function uuid1($node = null, $clockSeq = null) - { - $bytes = $this->timeGenerator->generate($node, $clockSeq); - $hex = bin2hex($bytes); - - return $this->uuidFromHashedName($hex, 1); - } - - /** - * @inheritdoc - */ - public function uuid3($ns, $name) - { - return $this->uuidFromNsAndName($ns, $name, 3, 'md5'); - } - - /** - * @inheritdoc - */ - public function uuid4() - { - $bytes = $this->randomGenerator->generate(16); - - // When converting the bytes to hex, it turns into a 32-character - // hexadecimal string that looks a lot like an MD5 hash, so at this - // point, we can just pass it to uuidFromHashedName. - $hex = bin2hex($bytes); - - return $this->uuidFromHashedName($hex, 4); - } - - /** - * @inheritdoc - */ - public function uuid5($ns, $name) - { - return $this->uuidFromNsAndName($ns, $name, 5, 'sha1'); - } - - /** - * Returns a `Uuid` - * - * Uses the configured builder and codec and the provided array of hexadecimal - * value UUID fields to construct a `Uuid` object. - * - * @param array $fields An array of fields from which to construct a UUID; - * see {@see \Ramsey\Uuid\UuidInterface::getFieldsHex()} for array structure. - * @return UuidInterface - */ - public function uuid(array $fields) - { - return $this->uuidBuilder->build($this->codec, $fields); - } - - /** - * Returns a version 3 or 5 namespaced `Uuid` - * - * @param string|UuidInterface $ns The UUID namespace to use - * @param string $name The string to hash together with the namespace - * @param int $version The version of UUID to create (3 or 5) - * @param string $hashFunction The hash function to use when hashing together - * the namespace and name - * @return UuidInterface - * @throws InvalidUuidStringException - */ - protected function uuidFromNsAndName($ns, $name, $version, $hashFunction) - { - if (!($ns instanceof UuidInterface)) { - $ns = $this->codec->decode($ns); - } - - $hash = call_user_func($hashFunction, ($ns->getBytes() . $name)); - - return $this->uuidFromHashedName($hash, $version); - } - - /** - * Returns a `Uuid` created from `$hash` with the version field set to `$version` - * and the variant field set for RFC 4122 - * - * @param string $hash The hash to use when creating the UUID - * @param int $version The UUID version to set for this hash (1, 3, 4, or 5) - * @return UuidInterface - */ - protected function uuidFromHashedName($hash, $version) - { - $timeHi = BinaryUtils::applyVersion(substr($hash, 12, 4), $version); - $clockSeqHi = BinaryUtils::applyVariant(hexdec(substr($hash, 16, 2))); - - $fields = [ - 'time_low' => substr($hash, 0, 8), - 'time_mid' => substr($hash, 8, 4), - 'time_hi_and_version' => str_pad(dechex($timeHi), 4, '0', STR_PAD_LEFT), - 'clock_seq_hi_and_reserved' => str_pad(dechex($clockSeqHi), 2, '0', STR_PAD_LEFT), - 'clock_seq_low' => substr($hash, 18, 2), - 'node' => substr($hash, 20, 12), - ]; - - return $this->uuid($fields); - } -} diff --git a/paragonik-backend/vendor/ramsey/uuid/src/UuidFactoryInterface.php b/paragonik-backend/vendor/ramsey/uuid/src/UuidFactoryInterface.php deleted file mode 100644 index 1c1651d..0000000 --- a/paragonik-backend/vendor/ramsey/uuid/src/UuidFactoryInterface.php +++ /dev/null @@ -1,108 +0,0 @@ - - * @license http://opensource.org/licenses/MIT MIT - * @link https://benramsey.com/projects/ramsey-uuid/ Documentation - * @link https://packagist.org/packages/ramsey/uuid Packagist - * @link https://github.com/ramsey/uuid GitHub - */ - -namespace Ramsey\Uuid; - -use Exception; -use InvalidArgumentException; -use Ramsey\Uuid\Exception\InvalidUuidStringException; -use Ramsey\Uuid\Exception\UnsatisfiedDependencyException; - -/** - * UuidFactoryInterface defines common functionality all `UuidFactory` instances - * must implement - */ -interface UuidFactoryInterface -{ - /** - * Generate a version 1 UUID from a host ID, sequence number, and the current time. - * - * @param int|string|null $node A 48-bit number representing the hardware address - * This number may be represented as an integer or a hexadecimal string. - * @param int|null $clockSeq A 14-bit number used to help avoid duplicates that - * could arise when the clock is set backwards in time or if the node ID - * changes. - * @return UuidInterface - * @throws UnsatisfiedDependencyException if called on a 32-bit system and - * `Moontoast\Math\BigNumber` is not present - * @throws InvalidArgumentException - * @throws Exception if it was not possible to gather sufficient entropy - */ - public function uuid1($node = null, $clockSeq = null); - - /** - * Generate a version 3 UUID based on the MD5 hash of a namespace identifier - * (which is a UUID) and a name (which is a string). - * - * @param string|UuidInterface $ns The UUID namespace in which to create the named UUID - * @param string $name The name to create a UUID for - * @return UuidInterface - * @throws InvalidUuidStringException - */ - public function uuid3($ns, $name); - - /** - * Generate a version 4 (random) UUID. - * - * @return UuidInterface - * @throws UnsatisfiedDependencyException if `Moontoast\Math\BigNumber` is not present - * @throws InvalidArgumentException - * @throws Exception - */ - public function uuid4(); - - /** - * Generate a version 5 UUID based on the SHA-1 hash of a namespace - * identifier (which is a UUID) and a name (which is a string). - * - * @param string|UuidInterface $ns The UUID namespace in which to create the named UUID - * @param string $name The name to create a UUID for - * @return UuidInterface - * @throws InvalidUuidStringException - */ - public function uuid5($ns, $name); - - /** - * Creates a UUID from a byte string. - * - * @param string $bytes A 16-byte string representation of a UUID - * @return UuidInterface - * @throws InvalidUuidStringException - * @throws InvalidArgumentException if string has not 16 characters - */ - public function fromBytes($bytes); - - /** - * Creates a UUID from the string standard representation - * - * @param string $uuid A string representation of a UUID - * @return UuidInterface - * @throws InvalidUuidStringException - */ - public function fromString($uuid); - - /** - * Creates a `Uuid` from an integer representation - * - * The integer representation may be a real integer, a string integer, or - * an integer representation supported by a configured number converter. - * - * @param mixed $integer The integer to use when creating a `Uuid` from an - * integer; may be of any type understood by the configured number converter - * @return UuidInterface - * @throws UnsatisfiedDependencyException if `Moontoast\Math\BigNumber` is not present - * @throws InvalidUuidStringException - */ - public function fromInteger($integer); -} diff --git a/paragonik-backend/vendor/ramsey/uuid/src/UuidInterface.php b/paragonik-backend/vendor/ramsey/uuid/src/UuidInterface.php deleted file mode 100644 index 42a3ad7..0000000 --- a/paragonik-backend/vendor/ramsey/uuid/src/UuidInterface.php +++ /dev/null @@ -1,274 +0,0 @@ - - * @license http://opensource.org/licenses/MIT MIT - * @link https://benramsey.com/projects/ramsey-uuid/ Documentation - * @link https://packagist.org/packages/ramsey/uuid Packagist - * @link https://github.com/ramsey/uuid GitHub - */ - -namespace Ramsey\Uuid; - -use DateTime; -use JsonSerializable; -use Ramsey\Uuid\Converter\NumberConverterInterface; -use Ramsey\Uuid\Exception\UnsatisfiedDependencyException; -use Ramsey\Uuid\Exception\UnsupportedOperationException; -use Serializable; - -/** - * UuidInterface defines common functionality for all universally unique - * identifiers (UUIDs) - */ -interface UuidInterface extends JsonSerializable, Serializable -{ - /** - * Compares this UUID to the specified UUID. - * - * The first of two UUIDs is greater than the second if the most - * significant field in which the UUIDs differ is greater for the first - * UUID. - * - * * Q. What's the value of being able to sort UUIDs? - * * A. Use them as keys in a B-Tree or similar mapping. - * - * @param UuidInterface $other UUID to which this UUID is compared - * @return int -1, 0 or 1 as this UUID is less than, equal to, or greater than `$uuid` - */ - public function compareTo(UuidInterface $other); - - /** - * Compares this object to the specified object. - * - * The result is true if and only if the argument is not null, is a UUID - * object, has the same variant, and contains the same value, bit for bit, - * as this UUID. - * - * @param object $other - * @return bool True if `$other` is equal to this UUID - */ - public function equals($other); - - /** - * Returns the UUID as a 16-byte string (containing the six integer fields - * in big-endian byte order). - * - * @return string - */ - public function getBytes(); - - /** - * Returns the number converter to use for converting hex values to/from integers. - * - * @return NumberConverterInterface - */ - public function getNumberConverter(); - - /** - * Returns the hexadecimal value of the UUID. - * - * @return string - */ - public function getHex(); - - /** - * Returns an array of the fields of this UUID, with keys named according - * to the RFC 4122 names for the fields. - * - * * **time_low**: The low field of the timestamp, an unsigned 32-bit integer - * * **time_mid**: The middle field of the timestamp, an unsigned 16-bit integer - * * **time_hi_and_version**: The high field of the timestamp multiplexed with - * the version number, an unsigned 16-bit integer - * * **clock_seq_hi_and_reserved**: The high field of the clock sequence - * multiplexed with the variant, an unsigned 8-bit integer - * * **clock_seq_low**: The low field of the clock sequence, an unsigned - * 8-bit integer - * * **node**: The spatially unique node identifier, an unsigned 48-bit - * integer - * - * @return array The UUID fields represented as hexadecimal values - */ - public function getFieldsHex(); - - /** - * Returns the high field of the clock sequence multiplexed with the variant - * (bits 65-72 of the UUID). - * - * @return string Hexadecimal value of clock_seq_hi_and_reserved - */ - public function getClockSeqHiAndReservedHex(); - - /** - * Returns the low field of the clock sequence (bits 73-80 of the UUID). - * - * @return string Hexadecimal value of clock_seq_low - */ - public function getClockSeqLowHex(); - - /** - * Returns the clock sequence value associated with this UUID. - * - * @return string Hexadecimal value of clock sequence - */ - public function getClockSequenceHex(); - - /** - * Returns a PHP `DateTime` object representing the timestamp associated - * with this UUID. - * - * The timestamp value is only meaningful in a time-based UUID, which - * has version type 1. If this UUID is not a time-based UUID then - * this method throws `UnsupportedOperationException`. - * - * @return DateTime A PHP DateTime representation of the date - * @throws UnsupportedOperationException If this UUID is not a version 1 UUID - * @throws UnsatisfiedDependencyException if called in a 32-bit system and - * `Moontoast\Math\BigNumber` is not present - */ - public function getDateTime(); - - /** - * Returns the integer value of the UUID, converted to an appropriate number - * representation. - * - * @return mixed Converted representation of the unsigned 128-bit integer value - * @throws UnsatisfiedDependencyException if `Moontoast\Math\BigNumber` is not present - */ - public function getInteger(); - - /** - * Returns the least significant 64 bits of this UUID's 128 bit value. - * - * @return string Hexadecimal value of least significant bits - */ - public function getLeastSignificantBitsHex(); - - /** - * Returns the most significant 64 bits of this UUID's 128 bit value. - * - * @return string Hexadecimal value of most significant bits - */ - public function getMostSignificantBitsHex(); - - /** - * Returns the node value associated with this UUID - * - * For UUID version 1, the node field consists of an IEEE 802 MAC - * address, usually the host address. For systems with multiple IEEE - * 802 addresses, any available one can be used. The lowest addressed - * octet (octet number 10) contains the global/local bit and the - * unicast/multicast bit, and is the first octet of the address - * transmitted on an 802.3 LAN. - * - * For systems with no IEEE address, a randomly or pseudo-randomly - * generated value may be used; see RFC 4122, Section 4.5. The - * multicast bit must be set in such addresses, in order that they - * will never conflict with addresses obtained from network cards. - * - * For UUID version 3 or 5, the node field is a 48-bit value constructed - * from a name as described in RFC 4122, Section 4.3. - * - * For UUID version 4, the node field is a randomly or pseudo-randomly - * generated 48-bit value as described in RFC 4122, Section 4.4. - * - * @return string Hexadecimal value of node - * @link http://tools.ietf.org/html/rfc4122#section-4.1.6 - */ - public function getNodeHex(); - - /** - * Returns the high field of the timestamp multiplexed with the version - * number (bits 49-64 of the UUID). - * - * @return string Hexadecimal value of time_hi_and_version - */ - public function getTimeHiAndVersionHex(); - - /** - * Returns the low field of the timestamp (the first 32 bits of the UUID). - * - * @return string Hexadecimal value of time_low - */ - public function getTimeLowHex(); - - /** - * Returns the middle field of the timestamp (bits 33-48 of the UUID). - * - * @return string Hexadecimal value of time_mid - */ - public function getTimeMidHex(); - - /** - * Returns the timestamp value associated with this UUID. - * - * The 60 bit timestamp value is constructed from the time_low, - * time_mid, and time_hi fields of this UUID. The resulting - * timestamp is measured in 100-nanosecond units since midnight, - * October 15, 1582 UTC. - * - * The timestamp value is only meaningful in a time-based UUID, which - * has version type 1. If this UUID is not a time-based UUID then - * this method throws UnsupportedOperationException. - * - * @return string Hexadecimal value of the timestamp - * @throws UnsupportedOperationException If this UUID is not a version 1 UUID - * @link http://tools.ietf.org/html/rfc4122#section-4.1.4 - */ - public function getTimestampHex(); - - /** - * Returns the string representation of the UUID as a URN. - * - * @return string - * @link http://en.wikipedia.org/wiki/Uniform_Resource_Name - */ - public function getUrn(); - - /** - * Returns the variant number associated with this UUID. - * - * The variant number describes the layout of the UUID. The variant - * number has the following meaning: - * - * * 0 - Reserved for NCS backward compatibility - * * 2 - The RFC 4122 variant (used by this class) - * * 6 - Reserved, Microsoft Corporation backward compatibility - * * 7 - Reserved for future definition - * - * @return int - * @link http://tools.ietf.org/html/rfc4122#section-4.1.1 - */ - public function getVariant(); - - /** - * Returns the version number associated with this UUID. - * - * The version number describes how this UUID was generated and has the - * following meaning: - * - * * 1 - Time-based UUID - * * 2 - DCE security UUID - * * 3 - Name-based UUID hashed with MD5 - * * 4 - Randomly generated UUID - * * 5 - Name-based UUID hashed with SHA-1 - * - * Returns null if this UUID is not an RFC 4122 variant, since version - * is only meaningful for this variant. - * - * @return int|null - * @link http://tools.ietf.org/html/rfc4122#section-4.1.3 - */ - public function getVersion(); - - /** - * Converts this UUID into a string representation. - * - * @return string - */ - public function toString(); -} diff --git a/paragonik-backend/vendor/ramsey/uuid/src/functions.php b/paragonik-backend/vendor/ramsey/uuid/src/functions.php deleted file mode 100644 index b5db341..0000000 --- a/paragonik-backend/vendor/ramsey/uuid/src/functions.php +++ /dev/null @@ -1,78 +0,0 @@ - - * @license http://opensource.org/licenses/MIT MIT - */ - -namespace Ramsey\Uuid; - -use Exception; -use InvalidArgumentException; -use Ramsey\Uuid\Exception\InvalidUuidStringException; -use Ramsey\Uuid\Exception\UnsatisfiedDependencyException; - -/** - * Generate a version 1 UUID from a host ID, sequence number, and the current time. - * - * @param int|string|null $node A 48-bit number representing the hardware address - * This number may be represented as an integer or a hexadecimal string. - * @param int|null $clockSeq A 14-bit number used to help avoid duplicates that - * could arise when the clock is set backwards in time or if the node ID - * changes. - * @return string - * @throws UnsatisfiedDependencyException if called on a 32-bit system and - * `Moontoast\Math\BigNumber` is not present - * @throws InvalidArgumentException - * @throws Exception if it was not possible to gather sufficient entropy - */ -function v1($node = null, $clockSeq = null) -{ - return Uuid::uuid1($node, $clockSeq)->toString(); -} - -/** - * Generate a version 3 UUID based on the MD5 hash of a namespace identifier - * (which is a UUID) and a name (which is a string). - * - * @param string|UuidInterface $ns The UUID namespace in which to create the named UUID - * @param string $name The name to create a UUID for - * @return string - * @throws InvalidUuidStringException - */ -function v3($ns, $name) -{ - return Uuid::uuid3($ns, $name)->toString(); -} - -/** - * Generate a version 4 (random) UUID. - * - * @return string - * @throws UnsatisfiedDependencyException if `Moontoast\Math\BigNumber` is not present - * @throws InvalidArgumentException - * @throws Exception - */ -function v4() -{ - return Uuid::uuid4()->toString(); -} - -/** - * Generate a version 5 UUID based on the SHA-1 hash of a namespace - * identifier (which is a UUID) and a name (which is a string). - * - * @param string|UuidInterface $ns The UUID namespace in which to create the named UUID - * @param string $name The name to create a UUID for - * @return string - * @throws InvalidUuidStringException - */ -function v5($ns, $name) -{ - return Uuid::uuid5($ns, $name)->toString(); -} diff --git a/paragonik-backend/vendor/sebastian/code-unit-reverse-lookup/.gitignore b/paragonik-backend/vendor/sebastian/code-unit-reverse-lookup/.gitignore deleted file mode 100644 index 9e5f1db..0000000 --- a/paragonik-backend/vendor/sebastian/code-unit-reverse-lookup/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -/.idea -/composer.lock -/vendor - diff --git a/paragonik-backend/vendor/sebastian/code-unit-reverse-lookup/.php_cs b/paragonik-backend/vendor/sebastian/code-unit-reverse-lookup/.php_cs deleted file mode 100644 index b7393bd..0000000 --- a/paragonik-backend/vendor/sebastian/code-unit-reverse-lookup/.php_cs +++ /dev/null @@ -1,67 +0,0 @@ -files() - ->in('src') - ->in('tests') - ->name('*.php'); - -return Symfony\CS\Config\Config::create() - ->level(\Symfony\CS\FixerInterface::NONE_LEVEL) - ->fixers( - array( - 'align_double_arrow', - 'align_equals', - 'braces', - 'concat_with_spaces', - 'duplicate_semicolon', - 'elseif', - 'empty_return', - 'encoding', - 'eof_ending', - 'extra_empty_lines', - 'function_call_space', - 'function_declaration', - 'indentation', - 'join_function', - 'line_after_namespace', - 'linefeed', - 'list_commas', - 'lowercase_constants', - 'lowercase_keywords', - 'method_argument_space', - 'multiple_use', - 'namespace_no_leading_whitespace', - 'no_blank_lines_after_class_opening', - 'no_empty_lines_after_phpdocs', - 'parenthesis', - 'php_closing_tag', - 'phpdoc_indent', - 'phpdoc_no_access', - 'phpdoc_no_empty_return', - 'phpdoc_no_package', - 'phpdoc_params', - 'phpdoc_scalar', - 'phpdoc_separation', - 'phpdoc_to_comment', - 'phpdoc_trim', - 'phpdoc_types', - 'phpdoc_var_without_name', - 'remove_lines_between_uses', - 'return', - 'self_accessor', - 'short_array_syntax', - 'short_tag', - 'single_line_after_imports', - 'single_quote', - 'spaces_before_semicolon', - 'spaces_cast', - 'ternary_spaces', - 'trailing_spaces', - 'trim_array_spaces', - 'unused_use', - 'visibility', - 'whitespacy_lines' - ) - ) - ->finder($finder); - diff --git a/paragonik-backend/vendor/sebastian/code-unit-reverse-lookup/.travis.yml b/paragonik-backend/vendor/sebastian/code-unit-reverse-lookup/.travis.yml deleted file mode 100644 index 9d9c9d9..0000000 --- a/paragonik-backend/vendor/sebastian/code-unit-reverse-lookup/.travis.yml +++ /dev/null @@ -1,25 +0,0 @@ -language: php - -php: - - 5.6 - - 7.0 - - 7.0snapshot - - 7.1 - - 7.1snapshot - - master - -sudo: false - -before_install: - - composer self-update - - composer clear-cache - -install: - - travis_retry composer update --no-interaction --no-ansi --no-progress --no-suggest --optimize-autoloader --prefer-stable - -script: - - ./vendor/bin/phpunit - -notifications: - email: false - diff --git a/paragonik-backend/vendor/sebastian/code-unit-reverse-lookup/ChangeLog.md b/paragonik-backend/vendor/sebastian/code-unit-reverse-lookup/ChangeLog.md deleted file mode 100644 index 6da1003..0000000 --- a/paragonik-backend/vendor/sebastian/code-unit-reverse-lookup/ChangeLog.md +++ /dev/null @@ -1,10 +0,0 @@ -# Change Log - -All notable changes to `sebastianbergmann/code-unit-reverse-lookup` are documented in this file using the [Keep a CHANGELOG](http://keepachangelog.com/) principles. - -## 1.0.0 - 2016-02-13 - -### Added - -* Initial release - diff --git a/paragonik-backend/vendor/sebastian/code-unit-reverse-lookup/LICENSE b/paragonik-backend/vendor/sebastian/code-unit-reverse-lookup/LICENSE deleted file mode 100644 index 8f24384..0000000 --- a/paragonik-backend/vendor/sebastian/code-unit-reverse-lookup/LICENSE +++ /dev/null @@ -1,33 +0,0 @@ -code-unit-reverse-lookup - -Copyright (c) 2016-2017, Sebastian Bergmann . -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of Sebastian Bergmann nor the names of his - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. diff --git a/paragonik-backend/vendor/sebastian/code-unit-reverse-lookup/README.md b/paragonik-backend/vendor/sebastian/code-unit-reverse-lookup/README.md deleted file mode 100644 index 2bf26af..0000000 --- a/paragonik-backend/vendor/sebastian/code-unit-reverse-lookup/README.md +++ /dev/null @@ -1,14 +0,0 @@ -# code-unit-reverse-lookup - -Looks up which function or method a line of code belongs to. - -## Installation - -You can add this library as a local, per-project dependency to your project using [Composer](https://getcomposer.org/): - - composer require sebastian/code-unit-reverse-lookup - -If you only need this library during development, for instance to run your project's test suite, then you should add it as a development-time dependency: - - composer require --dev sebastian/code-unit-reverse-lookup - diff --git a/paragonik-backend/vendor/sebastian/code-unit-reverse-lookup/build.xml b/paragonik-backend/vendor/sebastian/code-unit-reverse-lookup/build.xml deleted file mode 100644 index 24cf32e..0000000 --- a/paragonik-backend/vendor/sebastian/code-unit-reverse-lookup/build.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - diff --git a/paragonik-backend/vendor/sebastian/code-unit-reverse-lookup/composer.json b/paragonik-backend/vendor/sebastian/code-unit-reverse-lookup/composer.json deleted file mode 100644 index b9a2419..0000000 --- a/paragonik-backend/vendor/sebastian/code-unit-reverse-lookup/composer.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "name": "sebastian/code-unit-reverse-lookup", - "description": "Looks up which function or method a line of code belongs to", - "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", - "license": "BSD-3-Clause", - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "require": { - "php": "^5.6 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^5.7 || ^6.0" - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - } -} diff --git a/paragonik-backend/vendor/sebastian/code-unit-reverse-lookup/phpunit.xml b/paragonik-backend/vendor/sebastian/code-unit-reverse-lookup/phpunit.xml deleted file mode 100644 index 2c0569e..0000000 --- a/paragonik-backend/vendor/sebastian/code-unit-reverse-lookup/phpunit.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - tests - - - - - src - - - diff --git a/paragonik-backend/vendor/sebastian/code-unit-reverse-lookup/src/Wizard.php b/paragonik-backend/vendor/sebastian/code-unit-reverse-lookup/src/Wizard.php deleted file mode 100644 index 20f8880..0000000 --- a/paragonik-backend/vendor/sebastian/code-unit-reverse-lookup/src/Wizard.php +++ /dev/null @@ -1,111 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace SebastianBergmann\CodeUnitReverseLookup; - -/** - * @since Class available since Release 1.0.0 - */ -class Wizard -{ - /** - * @var array - */ - private $lookupTable = []; - - /** - * @var array - */ - private $processedClasses = []; - - /** - * @var array - */ - private $processedFunctions = []; - - /** - * @param string $filename - * @param int $lineNumber - * - * @return string - */ - public function lookup($filename, $lineNumber) - { - if (!isset($this->lookupTable[$filename][$lineNumber])) { - $this->updateLookupTable(); - } - - if (isset($this->lookupTable[$filename][$lineNumber])) { - return $this->lookupTable[$filename][$lineNumber]; - } else { - return $filename . ':' . $lineNumber; - } - } - - private function updateLookupTable() - { - $this->processClassesAndTraits(); - $this->processFunctions(); - } - - private function processClassesAndTraits() - { - foreach (array_merge(get_declared_classes(), get_declared_traits()) as $classOrTrait) { - if (isset($this->processedClasses[$classOrTrait])) { - continue; - } - - $reflector = new \ReflectionClass($classOrTrait); - - foreach ($reflector->getMethods() as $method) { - $this->processFunctionOrMethod($method); - } - - $this->processedClasses[$classOrTrait] = true; - } - } - - private function processFunctions() - { - foreach (get_defined_functions()['user'] as $function) { - if (isset($this->processedFunctions[$function])) { - continue; - } - - $this->processFunctionOrMethod(new \ReflectionFunction($function)); - - $this->processedFunctions[$function] = true; - } - } - - /** - * @param \ReflectionFunctionAbstract $functionOrMethod - */ - private function processFunctionOrMethod(\ReflectionFunctionAbstract $functionOrMethod) - { - if ($functionOrMethod->isInternal()) { - return; - } - - $name = $functionOrMethod->getName(); - - if ($functionOrMethod instanceof \ReflectionMethod) { - $name = $functionOrMethod->getDeclaringClass()->getName() . '::' . $name; - } - - if (!isset($this->lookupTable[$functionOrMethod->getFileName()])) { - $this->lookupTable[$functionOrMethod->getFileName()] = []; - } - - foreach (range($functionOrMethod->getStartLine(), $functionOrMethod->getEndLine()) as $line) { - $this->lookupTable[$functionOrMethod->getFileName()][$line] = $name; - } - } -} diff --git a/paragonik-backend/vendor/sebastian/code-unit-reverse-lookup/tests/WizardTest.php b/paragonik-backend/vendor/sebastian/code-unit-reverse-lookup/tests/WizardTest.php deleted file mode 100644 index 84d0ac3..0000000 --- a/paragonik-backend/vendor/sebastian/code-unit-reverse-lookup/tests/WizardTest.php +++ /dev/null @@ -1,45 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace SebastianBergmann\CodeUnitReverseLookup; - -use PHPUnit\Framework\TestCase; - -/** - * @covers SebastianBergmann\CodeUnitReverseLookup\Wizard - */ -class WizardTest extends TestCase -{ - /** - * @var Wizard - */ - private $wizard; - - protected function setUp() - { - $this->wizard = new Wizard; - } - - public function testMethodCanBeLookedUp() - { - $this->assertEquals( - __METHOD__, - $this->wizard->lookup(__FILE__, __LINE__) - ); - } - - public function testReturnsFilenameAndLineNumberAsStringWhenNotInCodeUnit() - { - $this->assertEquals( - 'file.php:1', - $this->wizard->lookup('file.php', 1) - ); - } -} diff --git a/paragonik-backend/vendor/sebastian/comparator/.github/stale.yml b/paragonik-backend/vendor/sebastian/comparator/.github/stale.yml deleted file mode 100644 index 4eadca3..0000000 --- a/paragonik-backend/vendor/sebastian/comparator/.github/stale.yml +++ /dev/null @@ -1,40 +0,0 @@ -# Configuration for probot-stale - https://github.com/probot/stale - -# Number of days of inactivity before an Issue or Pull Request becomes stale -daysUntilStale: 60 - -# Number of days of inactivity before a stale Issue or Pull Request is closed. -# Set to false to disable. If disabled, issues still need to be closed manually, but will remain marked as stale. -daysUntilClose: 7 - -# Issues or Pull Requests with these labels will never be considered stale. Set to `[]` to disable -exemptLabels: - - enhancement - -# Set to true to ignore issues in a project (defaults to false) -exemptProjects: false - -# Set to true to ignore issues in a milestone (defaults to false) -exemptMilestones: false - -# Label to use when marking as stale -staleLabel: stale - -# Comment to post when marking as stale. Set to `false` to disable -markComment: > - This issue has been automatically marked as stale because it has not had activity within the last 60 days. It will be closed after 7 days if no further activity occurs. Thank you for your contributions. - -# Comment to post when removing the stale label. -# unmarkComment: > -# Your comment here. - -# Comment to post when closing a stale Issue or Pull Request. -closeComment: > - This issue has been automatically closed because it has not had activity since it was marked as stale. Thank you for your contributions. - -# Limit the number of actions per hour, from 1-30. Default is 30 -limitPerRun: 30 - -# Limit to only `issues` or `pulls` -only: issues - diff --git a/paragonik-backend/vendor/sebastian/comparator/.gitignore b/paragonik-backend/vendor/sebastian/comparator/.gitignore deleted file mode 100644 index c3e9d7e..0000000 --- a/paragonik-backend/vendor/sebastian/comparator/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -/.idea -/.php_cs.cache -/composer.lock -/vendor diff --git a/paragonik-backend/vendor/sebastian/comparator/.php_cs.dist b/paragonik-backend/vendor/sebastian/comparator/.php_cs.dist deleted file mode 100644 index acf47b3..0000000 --- a/paragonik-backend/vendor/sebastian/comparator/.php_cs.dist +++ /dev/null @@ -1,189 +0,0 @@ - - -For the full copyright and license information, please view the LICENSE -file that was distributed with this source code. -EOF; - -return PhpCsFixer\Config::create() - ->setRiskyAllowed(true) - ->setRules( - [ - 'align_multiline_comment' => true, - 'array_indentation' => true, - 'array_syntax' => ['syntax' => 'short'], - 'binary_operator_spaces' => [ - 'operators' => [ - '=' => 'align', - '=>' => 'align', - ], - ], - 'blank_line_after_namespace' => true, - 'blank_line_before_statement' => [ - 'statements' => [ - 'break', - 'continue', - 'declare', - 'do', - 'for', - 'foreach', - 'if', - 'include', - 'include_once', - 'require', - 'require_once', - 'return', - 'switch', - 'throw', - 'try', - 'while', - 'yield', - ], - ], - 'braces' => true, - 'cast_spaces' => true, - 'class_attributes_separation' => ['elements' => ['const', 'method', 'property']], - 'combine_consecutive_issets' => true, - 'combine_consecutive_unsets' => true, - 'compact_nullable_typehint' => true, - 'concat_space' => ['spacing' => 'one'], - 'declare_equal_normalize' => ['space' => 'none'], - 'dir_constant' => true, - 'elseif' => true, - 'encoding' => true, - 'full_opening_tag' => true, - 'function_declaration' => true, - 'header_comment' => ['header' => $header, 'separate' => 'none'], - 'indentation_type' => true, - 'is_null' => true, - 'line_ending' => true, - 'list_syntax' => ['syntax' => 'short'], - 'logical_operators' => true, - 'lowercase_cast' => true, - 'lowercase_constants' => true, - 'lowercase_keywords' => true, - 'lowercase_static_reference' => true, - 'magic_constant_casing' => true, - 'method_argument_space' => ['ensure_fully_multiline' => true], - 'modernize_types_casting' => true, - 'multiline_comment_opening_closing' => true, - 'multiline_whitespace_before_semicolons' => true, - 'native_constant_invocation' => true, - 'native_function_casing' => true, - 'native_function_invocation' => true, - 'new_with_braces' => false, - 'no_alias_functions' => true, - 'no_alternative_syntax' => true, - 'no_blank_lines_after_class_opening' => true, - 'no_blank_lines_after_phpdoc' => true, - 'no_blank_lines_before_namespace' => true, - 'no_closing_tag' => true, - 'no_empty_comment' => true, - 'no_empty_phpdoc' => true, - 'no_empty_statement' => true, - 'no_extra_blank_lines' => true, - 'no_homoglyph_names' => true, - 'no_leading_import_slash' => true, - 'no_leading_namespace_whitespace' => true, - 'no_mixed_echo_print' => ['use' => 'print'], - 'no_multiline_whitespace_around_double_arrow' => true, - 'no_null_property_initialization' => true, - 'no_php4_constructor' => true, - 'no_short_bool_cast' => true, - 'no_short_echo_tag' => true, - 'no_singleline_whitespace_before_semicolons' => true, - 'no_spaces_after_function_name' => true, - 'no_spaces_inside_parenthesis' => true, - 'no_superfluous_elseif' => true, - 'no_superfluous_phpdoc_tags' => true, - 'no_trailing_comma_in_list_call' => true, - 'no_trailing_comma_in_singleline_array' => true, - 'no_trailing_whitespace' => true, - 'no_trailing_whitespace_in_comment' => true, - 'no_unneeded_control_parentheses' => true, - 'no_unneeded_curly_braces' => true, - 'no_unneeded_final_method' => true, - 'no_unreachable_default_argument_value' => true, - 'no_unset_on_property' => true, - 'no_unused_imports' => true, - 'no_useless_else' => true, - 'no_useless_return' => true, - 'no_whitespace_before_comma_in_array' => true, - 'no_whitespace_in_blank_line' => true, - 'non_printable_character' => true, - 'normalize_index_brace' => true, - 'object_operator_without_whitespace' => true, - 'ordered_class_elements' => [ - 'order' => [ - 'use_trait', - 'constant_public', - 'constant_protected', - 'constant_private', - 'property_public_static', - 'property_protected_static', - 'property_private_static', - 'property_public', - 'property_protected', - 'property_private', - 'method_public_static', - 'construct', - 'destruct', - 'magic', - 'phpunit', - 'method_public', - 'method_protected', - 'method_private', - 'method_protected_static', - 'method_private_static', - ], - ], - 'ordered_imports' => true, - 'phpdoc_add_missing_param_annotation' => true, - 'phpdoc_align' => true, - 'phpdoc_annotation_without_dot' => true, - 'phpdoc_indent' => true, - 'phpdoc_no_access' => true, - 'phpdoc_no_empty_return' => true, - 'phpdoc_no_package' => true, - 'phpdoc_order' => true, - 'phpdoc_return_self_reference' => true, - 'phpdoc_scalar' => true, - 'phpdoc_separation' => true, - 'phpdoc_single_line_var_spacing' => true, - 'phpdoc_to_comment' => true, - 'phpdoc_trim' => true, - 'phpdoc_trim_consecutive_blank_line_separation' => true, - 'phpdoc_types' => true, - 'phpdoc_types_order' => true, - 'phpdoc_var_without_name' => true, - 'pow_to_exponentiation' => true, - 'protected_to_private' => true, - 'return_assignment' => true, - 'return_type_declaration' => ['space_before' => 'none'], - 'self_accessor' => true, - 'semicolon_after_instruction' => true, - 'set_type_to_cast' => true, - 'short_scalar_cast' => true, - 'simplified_null_return' => true, - 'single_blank_line_at_eof' => true, - 'single_import_per_statement' => true, - 'single_line_after_imports' => true, - 'single_quote' => true, - 'standardize_not_equals' => true, - 'ternary_to_null_coalescing' => true, - 'trim_array_spaces' => true, - 'unary_operator_spaces' => true, - 'visibility_required' => true, - //'void_return' => true, - 'whitespace_after_comma_in_array' => true, - ] - ) - ->setFinder( - PhpCsFixer\Finder::create() - ->files() - ->in(__DIR__ . '/src') - ->in(__DIR__ . '/tests') - ); diff --git a/paragonik-backend/vendor/sebastian/comparator/.travis.yml b/paragonik-backend/vendor/sebastian/comparator/.travis.yml deleted file mode 100644 index 7583d0f..0000000 --- a/paragonik-backend/vendor/sebastian/comparator/.travis.yml +++ /dev/null @@ -1,33 +0,0 @@ -language: php - -sudo: false - -php: - - 7.1 - - 7.2 - - master - -env: - matrix: - - DEPENDENCIES="high" - - DEPENDENCIES="low" - global: - - DEFAULT_COMPOSER_FLAGS="--no-interaction --no-ansi --no-progress --no-suggest" - -before_install: - - composer self-update - - composer clear-cache - -install: - - if [[ "$DEPENDENCIES" = 'high' ]]; then travis_retry composer update $DEFAULT_COMPOSER_FLAGS; fi - - if [[ "$DEPENDENCIES" = 'low' ]]; then travis_retry composer update $DEFAULT_COMPOSER_FLAGS --prefer-lowest; fi - -script: - - ./vendor/bin/phpunit --coverage-clover=coverage.xml - -after_success: - - bash <(curl -s https://codecov.io/bash) - -notifications: - email: false - diff --git a/paragonik-backend/vendor/sebastian/comparator/ChangeLog.md b/paragonik-backend/vendor/sebastian/comparator/ChangeLog.md deleted file mode 100644 index 0328bf7..0000000 --- a/paragonik-backend/vendor/sebastian/comparator/ChangeLog.md +++ /dev/null @@ -1,59 +0,0 @@ -# ChangeLog - -All notable changes are documented in this file using the [Keep a CHANGELOG](http://keepachangelog.com/) principles. - -## [3.0.2] - 2018-07-12 - -### Changed - -* By default, `MockObjectComparator` is now tried before all other (default) comparators - -## [3.0.1] - 2018-06-14 - -### Fixed - -* Fixed [#53](https://github.com/sebastianbergmann/comparator/pull/53): `DOMNodeComparator` ignores `$ignoreCase` parameter -* Fixed [#58](https://github.com/sebastianbergmann/comparator/pull/58): `ScalarComparator` does not handle extremely ugly string comparison edge cases - -## [3.0.0] - 2018-04-18 - -### Fixed - -* Fixed [#48](https://github.com/sebastianbergmann/comparator/issues/48): `DateTimeComparator` does not support fractional second deltas - -### Removed - -* Removed support for PHP 7.0 - -## [2.1.3] - 2018-02-01 - -### Changed - -* This component is now compatible with version 3 of `sebastian/diff` - -## [2.1.2] - 2018-01-12 - -### Fixed - -* Fix comparison of `DateTimeImmutable` objects - -## [2.1.1] - 2017-12-22 - -### Fixed - -* Fixed [phpunit/#2923](https://github.com/sebastianbergmann/phpunit/issues/2923): Unexpected failed date matching - -## [2.1.0] - 2017-11-03 - -### Added - -* Added `SebastianBergmann\Comparator\Factory::reset()` to unregister all non-default comparators -* Added support for `phpunit/phpunit-mock-objects` version `^5.0` - -[3.0.2]: https://github.com/sebastianbergmann/comparator/compare/3.0.1...3.0.2 -[3.0.1]: https://github.com/sebastianbergmann/comparator/compare/3.0.0...3.0.1 -[3.0.0]: https://github.com/sebastianbergmann/comparator/compare/2.1.3...3.0.0 -[2.1.3]: https://github.com/sebastianbergmann/comparator/compare/2.1.2...2.1.3 -[2.1.2]: https://github.com/sebastianbergmann/comparator/compare/2.1.1...2.1.2 -[2.1.1]: https://github.com/sebastianbergmann/comparator/compare/2.1.0...2.1.1 -[2.1.0]: https://github.com/sebastianbergmann/comparator/compare/2.0.2...2.1.0 diff --git a/paragonik-backend/vendor/sebastian/comparator/LICENSE b/paragonik-backend/vendor/sebastian/comparator/LICENSE deleted file mode 100644 index 46d0f25..0000000 --- a/paragonik-backend/vendor/sebastian/comparator/LICENSE +++ /dev/null @@ -1,33 +0,0 @@ -Comparator - -Copyright (c) 2002-2018, Sebastian Bergmann . -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of Sebastian Bergmann nor the names of his - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. diff --git a/paragonik-backend/vendor/sebastian/comparator/README.md b/paragonik-backend/vendor/sebastian/comparator/README.md deleted file mode 100644 index 524211a..0000000 --- a/paragonik-backend/vendor/sebastian/comparator/README.md +++ /dev/null @@ -1,37 +0,0 @@ -[![Build Status](https://travis-ci.org/sebastianbergmann/comparator.svg?branch=master)](https://travis-ci.org/sebastianbergmann/comparator) - -# Comparator - -This component provides the functionality to compare PHP values for equality. - -## Installation - -You can add this library as a local, per-project dependency to your project using [Composer](https://getcomposer.org/): - - composer require sebastian/comparator - -If you only need this library during development, for instance to run your project's test suite, then you should add it as a development-time dependency: - - composer require --dev sebastian/comparator - -## Usage - -```php -getComparatorFor($date1, $date2); - -try { - $comparator->assertEquals($date1, $date2); - print "Dates match"; -} catch (ComparisonFailure $failure) { - print "Dates don't match"; -} -``` - diff --git a/paragonik-backend/vendor/sebastian/comparator/build.xml b/paragonik-backend/vendor/sebastian/comparator/build.xml deleted file mode 100644 index 8e27999..0000000 --- a/paragonik-backend/vendor/sebastian/comparator/build.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/paragonik-backend/vendor/sebastian/comparator/composer.json b/paragonik-backend/vendor/sebastian/comparator/composer.json deleted file mode 100644 index e0658bc..0000000 --- a/paragonik-backend/vendor/sebastian/comparator/composer.json +++ /dev/null @@ -1,54 +0,0 @@ -{ - "name": "sebastian/comparator", - "description": "Provides the functionality to compare PHP values for equality", - "keywords": ["comparator","compare","equality"], - "homepage": "https://github.com/sebastianbergmann/comparator", - "license": "BSD-3-Clause", - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@2bepublished.at" - } - ], - "prefer-stable": true, - "require": { - "php": "^7.1", - "sebastian/diff": "^3.0", - "sebastian/exporter": "^3.1" - }, - "require-dev": { - "phpunit/phpunit": "^7.1" - }, - "config": { - "optimize-autoloader": true, - "sort-packages": true - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "autoload-dev": { - "classmap": [ - "tests/_fixture" - ] - }, - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - } -} - diff --git a/paragonik-backend/vendor/sebastian/comparator/phpunit.xml b/paragonik-backend/vendor/sebastian/comparator/phpunit.xml deleted file mode 100644 index 3e12be4..0000000 --- a/paragonik-backend/vendor/sebastian/comparator/phpunit.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - tests - - - - - - src - - - diff --git a/paragonik-backend/vendor/sebastian/comparator/src/ArrayComparator.php b/paragonik-backend/vendor/sebastian/comparator/src/ArrayComparator.php deleted file mode 100644 index 4b2fadf..0000000 --- a/paragonik-backend/vendor/sebastian/comparator/src/ArrayComparator.php +++ /dev/null @@ -1,130 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace SebastianBergmann\Comparator; - -/** - * Compares arrays for equality. - */ -class ArrayComparator extends Comparator -{ - /** - * Returns whether the comparator can compare two values. - * - * @param mixed $expected The first value to compare - * @param mixed $actual The second value to compare - * - * @return bool - */ - public function accepts($expected, $actual) - { - return \is_array($expected) && \is_array($actual); - } - - /** - * Asserts that two values are equal. - * - * @param mixed $expected First value to compare - * @param mixed $actual Second value to compare - * @param float $delta Allowed numerical distance between two values to consider them equal - * @param bool $canonicalize Arrays are sorted before comparison when set to true - * @param bool $ignoreCase Case is ignored when set to true - * @param array $processed List of already processed elements (used to prevent infinite recursion) - * - * @throws ComparisonFailure - */ - public function assertEquals($expected, $actual, $delta = 0.0, $canonicalize = false, $ignoreCase = false, array &$processed = []) - { - if ($canonicalize) { - \sort($expected); - \sort($actual); - } - - $remaining = $actual; - $actualAsString = "Array (\n"; - $expectedAsString = "Array (\n"; - $equal = true; - - foreach ($expected as $key => $value) { - unset($remaining[$key]); - - if (!\array_key_exists($key, $actual)) { - $expectedAsString .= \sprintf( - " %s => %s\n", - $this->exporter->export($key), - $this->exporter->shortenedExport($value) - ); - - $equal = false; - - continue; - } - - try { - $comparator = $this->factory->getComparatorFor($value, $actual[$key]); - $comparator->assertEquals($value, $actual[$key], $delta, $canonicalize, $ignoreCase, $processed); - - $expectedAsString .= \sprintf( - " %s => %s\n", - $this->exporter->export($key), - $this->exporter->shortenedExport($value) - ); - - $actualAsString .= \sprintf( - " %s => %s\n", - $this->exporter->export($key), - $this->exporter->shortenedExport($actual[$key]) - ); - } catch (ComparisonFailure $e) { - $expectedAsString .= \sprintf( - " %s => %s\n", - $this->exporter->export($key), - $e->getExpectedAsString() ? $this->indent($e->getExpectedAsString()) : $this->exporter->shortenedExport($e->getExpected()) - ); - - $actualAsString .= \sprintf( - " %s => %s\n", - $this->exporter->export($key), - $e->getActualAsString() ? $this->indent($e->getActualAsString()) : $this->exporter->shortenedExport($e->getActual()) - ); - - $equal = false; - } - } - - foreach ($remaining as $key => $value) { - $actualAsString .= \sprintf( - " %s => %s\n", - $this->exporter->export($key), - $this->exporter->shortenedExport($value) - ); - - $equal = false; - } - - $expectedAsString .= ')'; - $actualAsString .= ')'; - - if (!$equal) { - throw new ComparisonFailure( - $expected, - $actual, - $expectedAsString, - $actualAsString, - false, - 'Failed asserting that two arrays are equal.' - ); - } - } - - protected function indent($lines) - { - return \trim(\str_replace("\n", "\n ", $lines)); - } -} diff --git a/paragonik-backend/vendor/sebastian/comparator/src/Comparator.php b/paragonik-backend/vendor/sebastian/comparator/src/Comparator.php deleted file mode 100644 index 661746d..0000000 --- a/paragonik-backend/vendor/sebastian/comparator/src/Comparator.php +++ /dev/null @@ -1,61 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace SebastianBergmann\Comparator; - -use SebastianBergmann\Exporter\Exporter; - -/** - * Abstract base class for comparators which compare values for equality. - */ -abstract class Comparator -{ - /** - * @var Factory - */ - protected $factory; - - /** - * @var Exporter - */ - protected $exporter; - - public function __construct() - { - $this->exporter = new Exporter; - } - - public function setFactory(Factory $factory) - { - $this->factory = $factory; - } - - /** - * Returns whether the comparator can compare two values. - * - * @param mixed $expected The first value to compare - * @param mixed $actual The second value to compare - * - * @return bool - */ - abstract public function accepts($expected, $actual); - - /** - * Asserts that two values are equal. - * - * @param mixed $expected First value to compare - * @param mixed $actual Second value to compare - * @param float $delta Allowed numerical distance between two values to consider them equal - * @param bool $canonicalize Arrays are sorted before comparison when set to true - * @param bool $ignoreCase Case is ignored when set to true - * - * @throws ComparisonFailure - */ - abstract public function assertEquals($expected, $actual, $delta = 0.0, $canonicalize = false, $ignoreCase = false); -} diff --git a/paragonik-backend/vendor/sebastian/comparator/src/ComparisonFailure.php b/paragonik-backend/vendor/sebastian/comparator/src/ComparisonFailure.php deleted file mode 100644 index d043288..0000000 --- a/paragonik-backend/vendor/sebastian/comparator/src/ComparisonFailure.php +++ /dev/null @@ -1,128 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace SebastianBergmann\Comparator; - -use SebastianBergmann\Diff\Differ; -use SebastianBergmann\Diff\Output\UnifiedDiffOutputBuilder; - -/** - * Thrown when an assertion for string equality failed. - */ -class ComparisonFailure extends \RuntimeException -{ - /** - * Expected value of the retrieval which does not match $actual. - * - * @var mixed - */ - protected $expected; - - /** - * Actually retrieved value which does not match $expected. - * - * @var mixed - */ - protected $actual; - - /** - * The string representation of the expected value - * - * @var string - */ - protected $expectedAsString; - - /** - * The string representation of the actual value - * - * @var string - */ - protected $actualAsString; - - /** - * @var bool - */ - protected $identical; - - /** - * Optional message which is placed in front of the first line - * returned by toString(). - * - * @var string - */ - protected $message; - - /** - * Initialises with the expected value and the actual value. - * - * @param mixed $expected expected value retrieved - * @param mixed $actual actual value retrieved - * @param string $expectedAsString - * @param string $actualAsString - * @param bool $identical - * @param string $message a string which is prefixed on all returned lines - * in the difference output - */ - public function __construct($expected, $actual, $expectedAsString, $actualAsString, $identical = false, $message = '') - { - $this->expected = $expected; - $this->actual = $actual; - $this->expectedAsString = $expectedAsString; - $this->actualAsString = $actualAsString; - $this->message = $message; - } - - public function getActual() - { - return $this->actual; - } - - public function getExpected() - { - return $this->expected; - } - - /** - * @return string - */ - public function getActualAsString() - { - return $this->actualAsString; - } - - /** - * @return string - */ - public function getExpectedAsString() - { - return $this->expectedAsString; - } - - /** - * @return string - */ - public function getDiff() - { - if (!$this->actualAsString && !$this->expectedAsString) { - return ''; - } - - $differ = new Differ(new UnifiedDiffOutputBuilder("\n--- Expected\n+++ Actual\n")); - - return $differ->diff($this->expectedAsString, $this->actualAsString); - } - - /** - * @return string - */ - public function toString() - { - return $this->message . $this->getDiff(); - } -} diff --git a/paragonik-backend/vendor/sebastian/comparator/src/DOMNodeComparator.php b/paragonik-backend/vendor/sebastian/comparator/src/DOMNodeComparator.php deleted file mode 100644 index c0ad70c..0000000 --- a/paragonik-backend/vendor/sebastian/comparator/src/DOMNodeComparator.php +++ /dev/null @@ -1,86 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace SebastianBergmann\Comparator; - -use DOMDocument; -use DOMNode; - -/** - * Compares DOMNode instances for equality. - */ -class DOMNodeComparator extends ObjectComparator -{ - /** - * Returns whether the comparator can compare two values. - * - * @param mixed $expected The first value to compare - * @param mixed $actual The second value to compare - * - * @return bool - */ - public function accepts($expected, $actual) - { - return $expected instanceof DOMNode && $actual instanceof DOMNode; - } - - /** - * Asserts that two values are equal. - * - * @param mixed $expected First value to compare - * @param mixed $actual Second value to compare - * @param float $delta Allowed numerical distance between two values to consider them equal - * @param bool $canonicalize Arrays are sorted before comparison when set to true - * @param bool $ignoreCase Case is ignored when set to true - * @param array $processed List of already processed elements (used to prevent infinite recursion) - * - * @throws ComparisonFailure - */ - public function assertEquals($expected, $actual, $delta = 0.0, $canonicalize = false, $ignoreCase = false, array &$processed = []) - { - $expectedAsString = $this->nodeToText($expected, true, $ignoreCase); - $actualAsString = $this->nodeToText($actual, true, $ignoreCase); - - if ($expectedAsString !== $actualAsString) { - $type = $expected instanceof DOMDocument ? 'documents' : 'nodes'; - - throw new ComparisonFailure( - $expected, - $actual, - $expectedAsString, - $actualAsString, - false, - \sprintf("Failed asserting that two DOM %s are equal.\n", $type) - ); - } - } - - /** - * Returns the normalized, whitespace-cleaned, and indented textual - * representation of a DOMNode. - */ - private function nodeToText(DOMNode $node, bool $canonicalize, bool $ignoreCase): string - { - if ($canonicalize) { - $document = new DOMDocument; - @$document->loadXML($node->C14N()); - - $node = $document; - } - - $document = $node instanceof DOMDocument ? $node : $node->ownerDocument; - - $document->formatOutput = true; - $document->normalizeDocument(); - - $text = $node instanceof DOMDocument ? $node->saveXML() : $document->saveXML($node); - - return $ignoreCase ? \strtolower($text) : $text; - } -} diff --git a/paragonik-backend/vendor/sebastian/comparator/src/DateTimeComparator.php b/paragonik-backend/vendor/sebastian/comparator/src/DateTimeComparator.php deleted file mode 100644 index af94b5c..0000000 --- a/paragonik-backend/vendor/sebastian/comparator/src/DateTimeComparator.php +++ /dev/null @@ -1,86 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace SebastianBergmann\Comparator; - -/** - * Compares DateTimeInterface instances for equality. - */ -class DateTimeComparator extends ObjectComparator -{ - /** - * Returns whether the comparator can compare two values. - * - * @param mixed $expected The first value to compare - * @param mixed $actual The second value to compare - * - * @return bool - */ - public function accepts($expected, $actual) - { - return ($expected instanceof \DateTime || $expected instanceof \DateTimeInterface) && - ($actual instanceof \DateTime || $actual instanceof \DateTimeInterface); - } - - /** - * Asserts that two values are equal. - * - * @param mixed $expected First value to compare - * @param mixed $actual Second value to compare - * @param float $delta Allowed numerical distance between two values to consider them equal - * @param bool $canonicalize Arrays are sorted before comparison when set to true - * @param bool $ignoreCase Case is ignored when set to true - * @param array $processed List of already processed elements (used to prevent infinite recursion) - * - * @throws \Exception - * @throws ComparisonFailure - */ - public function assertEquals($expected, $actual, $delta = 0.0, $canonicalize = false, $ignoreCase = false, array &$processed = []) - { - /** @var \DateTimeInterface $expected */ - /** @var \DateTimeInterface $actual */ - $absDelta = \abs($delta); - $delta = new \DateInterval(\sprintf('PT%dS', $absDelta)); - $delta->f = $absDelta - \floor($absDelta); - - $actualClone = (clone $actual) - ->setTimezone(new \DateTimeZone('UTC')); - - $expectedLower = (clone $expected) - ->setTimezone(new \DateTimeZone('UTC')) - ->sub($delta); - - $expectedUpper = (clone $expected) - ->setTimezone(new \DateTimeZone('UTC')) - ->add($delta); - - if ($actualClone < $expectedLower || $actualClone > $expectedUpper) { - throw new ComparisonFailure( - $expected, - $actual, - $this->dateTimeToString($expected), - $this->dateTimeToString($actual), - false, - 'Failed asserting that two DateTime objects are equal.' - ); - } - } - - /** - * Returns an ISO 8601 formatted string representation of a datetime or - * 'Invalid DateTimeInterface object' if the provided DateTimeInterface was not properly - * initialized. - */ - private function dateTimeToString(\DateTimeInterface $datetime): string - { - $string = $datetime->format('Y-m-d\TH:i:s.uO'); - - return $string ?: 'Invalid DateTimeInterface object'; - } -} diff --git a/paragonik-backend/vendor/sebastian/comparator/src/DoubleComparator.php b/paragonik-backend/vendor/sebastian/comparator/src/DoubleComparator.php deleted file mode 100644 index f2b0c4e..0000000 --- a/paragonik-backend/vendor/sebastian/comparator/src/DoubleComparator.php +++ /dev/null @@ -1,56 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace SebastianBergmann\Comparator; - -/** - * Compares doubles for equality. - */ -class DoubleComparator extends NumericComparator -{ - /** - * Smallest value available in PHP. - * - * @var float - */ - const EPSILON = 0.0000000001; - - /** - * Returns whether the comparator can compare two values. - * - * @param mixed $expected The first value to compare - * @param mixed $actual The second value to compare - * - * @return bool - */ - public function accepts($expected, $actual) - { - return (\is_float($expected) || \is_float($actual)) && \is_numeric($expected) && \is_numeric($actual); - } - - /** - * Asserts that two values are equal. - * - * @param mixed $expected First value to compare - * @param mixed $actual Second value to compare - * @param float $delta Allowed numerical distance between two values to consider them equal - * @param bool $canonicalize Arrays are sorted before comparison when set to true - * @param bool $ignoreCase Case is ignored when set to true - * - * @throws ComparisonFailure - */ - public function assertEquals($expected, $actual, $delta = 0.0, $canonicalize = false, $ignoreCase = false) - { - if ($delta == 0) { - $delta = self::EPSILON; - } - - parent::assertEquals($expected, $actual, $delta, $canonicalize, $ignoreCase); - } -} diff --git a/paragonik-backend/vendor/sebastian/comparator/src/ExceptionComparator.php b/paragonik-backend/vendor/sebastian/comparator/src/ExceptionComparator.php deleted file mode 100644 index 42c40cf..0000000 --- a/paragonik-backend/vendor/sebastian/comparator/src/ExceptionComparator.php +++ /dev/null @@ -1,52 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace SebastianBergmann\Comparator; - -/** - * Compares Exception instances for equality. - */ -class ExceptionComparator extends ObjectComparator -{ - /** - * Returns whether the comparator can compare two values. - * - * @param mixed $expected The first value to compare - * @param mixed $actual The second value to compare - * - * @return bool - */ - public function accepts($expected, $actual) - { - return $expected instanceof \Exception && $actual instanceof \Exception; - } - - /** - * Converts an object to an array containing all of its private, protected - * and public properties. - * - * @param object $object - * - * @return array - */ - protected function toArray($object) - { - $array = parent::toArray($object); - - unset( - $array['file'], - $array['line'], - $array['trace'], - $array['string'], - $array['xdebug_message'] - ); - - return $array; - } -} diff --git a/paragonik-backend/vendor/sebastian/comparator/src/Factory.php b/paragonik-backend/vendor/sebastian/comparator/src/Factory.php deleted file mode 100644 index 53d1c79..0000000 --- a/paragonik-backend/vendor/sebastian/comparator/src/Factory.php +++ /dev/null @@ -1,138 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace SebastianBergmann\Comparator; - -/** - * Factory for comparators which compare values for equality. - */ -class Factory -{ - /** - * @var Factory - */ - private static $instance; - - /** - * @var Comparator[] - */ - private $customComparators = []; - - /** - * @var Comparator[] - */ - private $defaultComparators = []; - - /** - * @return Factory - */ - public static function getInstance() - { - if (self::$instance === null) { - self::$instance = new self; - } - - return self::$instance; - } - - /** - * Constructs a new factory. - */ - public function __construct() - { - $this->registerDefaultComparators(); - } - - /** - * Returns the correct comparator for comparing two values. - * - * @param mixed $expected The first value to compare - * @param mixed $actual The second value to compare - * - * @return Comparator - */ - public function getComparatorFor($expected, $actual) - { - foreach ($this->customComparators as $comparator) { - if ($comparator->accepts($expected, $actual)) { - return $comparator; - } - } - - foreach ($this->defaultComparators as $comparator) { - if ($comparator->accepts($expected, $actual)) { - return $comparator; - } - } - } - - /** - * Registers a new comparator. - * - * This comparator will be returned by getComparatorFor() if its accept() method - * returns TRUE for the compared values. It has higher priority than the - * existing comparators, meaning that its accept() method will be invoked - * before those of the other comparators. - * - * @param Comparator $comparator The comparator to be registered - */ - public function register(Comparator $comparator) - { - \array_unshift($this->customComparators, $comparator); - - $comparator->setFactory($this); - } - - /** - * Unregisters a comparator. - * - * This comparator will no longer be considered by getComparatorFor(). - * - * @param Comparator $comparator The comparator to be unregistered - */ - public function unregister(Comparator $comparator) - { - foreach ($this->customComparators as $key => $_comparator) { - if ($comparator === $_comparator) { - unset($this->customComparators[$key]); - } - } - } - - /** - * Unregisters all non-default comparators. - */ - public function reset() - { - $this->customComparators = []; - } - - private function registerDefaultComparators() - { - $this->registerDefaultComparator(new MockObjectComparator); - $this->registerDefaultComparator(new DateTimeComparator); - $this->registerDefaultComparator(new DOMNodeComparator); - $this->registerDefaultComparator(new SplObjectStorageComparator); - $this->registerDefaultComparator(new ExceptionComparator); - $this->registerDefaultComparator(new ObjectComparator); - $this->registerDefaultComparator(new ResourceComparator); - $this->registerDefaultComparator(new ArrayComparator); - $this->registerDefaultComparator(new DoubleComparator); - $this->registerDefaultComparator(new NumericComparator); - $this->registerDefaultComparator(new ScalarComparator); - $this->registerDefaultComparator(new TypeComparator); - } - - private function registerDefaultComparator(Comparator $comparator) - { - $this->defaultComparators[] = $comparator; - - $comparator->setFactory($this); - } -} diff --git a/paragonik-backend/vendor/sebastian/comparator/src/MockObjectComparator.php b/paragonik-backend/vendor/sebastian/comparator/src/MockObjectComparator.php deleted file mode 100644 index f439d84..0000000 --- a/paragonik-backend/vendor/sebastian/comparator/src/MockObjectComparator.php +++ /dev/null @@ -1,47 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace SebastianBergmann\Comparator; - -/** - * Compares PHPUnit_Framework_MockObject_MockObject instances for equality. - */ -class MockObjectComparator extends ObjectComparator -{ - /** - * Returns whether the comparator can compare two values. - * - * @param mixed $expected The first value to compare - * @param mixed $actual The second value to compare - * - * @return bool - */ - public function accepts($expected, $actual) - { - return ($expected instanceof \PHPUnit_Framework_MockObject_MockObject || $expected instanceof \PHPUnit\Framework\MockObject\MockObject) && - ($actual instanceof \PHPUnit_Framework_MockObject_MockObject || $actual instanceof \PHPUnit\Framework\MockObject\MockObject); - } - - /** - * Converts an object to an array containing all of its private, protected - * and public properties. - * - * @param object $object - * - * @return array - */ - protected function toArray($object) - { - $array = parent::toArray($object); - - unset($array['__phpunit_invocationMocker']); - - return $array; - } -} diff --git a/paragonik-backend/vendor/sebastian/comparator/src/NumericComparator.php b/paragonik-backend/vendor/sebastian/comparator/src/NumericComparator.php deleted file mode 100644 index 8a03ffc..0000000 --- a/paragonik-backend/vendor/sebastian/comparator/src/NumericComparator.php +++ /dev/null @@ -1,68 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace SebastianBergmann\Comparator; - -/** - * Compares numerical values for equality. - */ -class NumericComparator extends ScalarComparator -{ - /** - * Returns whether the comparator can compare two values. - * - * @param mixed $expected The first value to compare - * @param mixed $actual The second value to compare - * - * @return bool - */ - public function accepts($expected, $actual) - { - // all numerical values, but not if one of them is a double - // or both of them are strings - return \is_numeric($expected) && \is_numeric($actual) && - !(\is_float($expected) || \is_float($actual)) && - !(\is_string($expected) && \is_string($actual)); - } - - /** - * Asserts that two values are equal. - * - * @param mixed $expected First value to compare - * @param mixed $actual Second value to compare - * @param float $delta Allowed numerical distance between two values to consider them equal - * @param bool $canonicalize Arrays are sorted before comparison when set to true - * @param bool $ignoreCase Case is ignored when set to true - * - * @throws ComparisonFailure - */ - public function assertEquals($expected, $actual, $delta = 0.0, $canonicalize = false, $ignoreCase = false) - { - if (\is_infinite($actual) && \is_infinite($expected)) { - return; // @codeCoverageIgnore - } - - if ((\is_infinite($actual) xor \is_infinite($expected)) || - (\is_nan($actual) || \is_nan($expected)) || - \abs($actual - $expected) > $delta) { - throw new ComparisonFailure( - $expected, - $actual, - '', - '', - false, - \sprintf( - 'Failed asserting that %s matches expected %s.', - $this->exporter->export($actual), - $this->exporter->export($expected) - ) - ); - } - } -} diff --git a/paragonik-backend/vendor/sebastian/comparator/src/ObjectComparator.php b/paragonik-backend/vendor/sebastian/comparator/src/ObjectComparator.php deleted file mode 100644 index 54fce82..0000000 --- a/paragonik-backend/vendor/sebastian/comparator/src/ObjectComparator.php +++ /dev/null @@ -1,106 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace SebastianBergmann\Comparator; - -/** - * Compares objects for equality. - */ -class ObjectComparator extends ArrayComparator -{ - /** - * Returns whether the comparator can compare two values. - * - * @param mixed $expected The first value to compare - * @param mixed $actual The second value to compare - * - * @return bool - */ - public function accepts($expected, $actual) - { - return \is_object($expected) && \is_object($actual); - } - - /** - * Asserts that two values are equal. - * - * @param mixed $expected First value to compare - * @param mixed $actual Second value to compare - * @param float $delta Allowed numerical distance between two values to consider them equal - * @param bool $canonicalize Arrays are sorted before comparison when set to true - * @param bool $ignoreCase Case is ignored when set to true - * @param array $processed List of already processed elements (used to prevent infinite recursion) - * - * @throws ComparisonFailure - */ - public function assertEquals($expected, $actual, $delta = 0.0, $canonicalize = false, $ignoreCase = false, array &$processed = []) - { - if (\get_class($actual) !== \get_class($expected)) { - throw new ComparisonFailure( - $expected, - $actual, - $this->exporter->export($expected), - $this->exporter->export($actual), - false, - \sprintf( - '%s is not instance of expected class "%s".', - $this->exporter->export($actual), - \get_class($expected) - ) - ); - } - - // don't compare twice to allow for cyclic dependencies - if (\in_array([$actual, $expected], $processed, true) || - \in_array([$expected, $actual], $processed, true)) { - return; - } - - $processed[] = [$actual, $expected]; - - // don't compare objects if they are identical - // this helps to avoid the error "maximum function nesting level reached" - // CAUTION: this conditional clause is not tested - if ($actual !== $expected) { - try { - parent::assertEquals( - $this->toArray($expected), - $this->toArray($actual), - $delta, - $canonicalize, - $ignoreCase, - $processed - ); - } catch (ComparisonFailure $e) { - throw new ComparisonFailure( - $expected, - $actual, - // replace "Array" with "MyClass object" - \substr_replace($e->getExpectedAsString(), \get_class($expected) . ' Object', 0, 5), - \substr_replace($e->getActualAsString(), \get_class($actual) . ' Object', 0, 5), - false, - 'Failed asserting that two objects are equal.' - ); - } - } - } - - /** - * Converts an object to an array containing all of its private, protected - * and public properties. - * - * @param object $object - * - * @return array - */ - protected function toArray($object) - { - return $this->exporter->toArray($object); - } -} diff --git a/paragonik-backend/vendor/sebastian/comparator/src/ResourceComparator.php b/paragonik-backend/vendor/sebastian/comparator/src/ResourceComparator.php deleted file mode 100644 index 5471826..0000000 --- a/paragonik-backend/vendor/sebastian/comparator/src/ResourceComparator.php +++ /dev/null @@ -1,52 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace SebastianBergmann\Comparator; - -/** - * Compares resources for equality. - */ -class ResourceComparator extends Comparator -{ - /** - * Returns whether the comparator can compare two values. - * - * @param mixed $expected The first value to compare - * @param mixed $actual The second value to compare - * - * @return bool - */ - public function accepts($expected, $actual) - { - return \is_resource($expected) && \is_resource($actual); - } - - /** - * Asserts that two values are equal. - * - * @param mixed $expected First value to compare - * @param mixed $actual Second value to compare - * @param float $delta Allowed numerical distance between two values to consider them equal - * @param bool $canonicalize Arrays are sorted before comparison when set to true - * @param bool $ignoreCase Case is ignored when set to true - * - * @throws ComparisonFailure - */ - public function assertEquals($expected, $actual, $delta = 0.0, $canonicalize = false, $ignoreCase = false) - { - if ($actual != $expected) { - throw new ComparisonFailure( - $expected, - $actual, - $this->exporter->export($expected), - $this->exporter->export($actual) - ); - } - } -} diff --git a/paragonik-backend/vendor/sebastian/comparator/src/ScalarComparator.php b/paragonik-backend/vendor/sebastian/comparator/src/ScalarComparator.php deleted file mode 100644 index e19df4d..0000000 --- a/paragonik-backend/vendor/sebastian/comparator/src/ScalarComparator.php +++ /dev/null @@ -1,91 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace SebastianBergmann\Comparator; - -/** - * Compares scalar or NULL values for equality. - */ -class ScalarComparator extends Comparator -{ - /** - * Returns whether the comparator can compare two values. - * - * @param mixed $expected The first value to compare - * @param mixed $actual The second value to compare - * - * @return bool - * - * @since Method available since Release 3.6.0 - */ - public function accepts($expected, $actual) - { - return ((\is_scalar($expected) xor null === $expected) && - (\is_scalar($actual) xor null === $actual)) - // allow comparison between strings and objects featuring __toString() - || (\is_string($expected) && \is_object($actual) && \method_exists($actual, '__toString')) - || (\is_object($expected) && \method_exists($expected, '__toString') && \is_string($actual)); - } - - /** - * Asserts that two values are equal. - * - * @param mixed $expected First value to compare - * @param mixed $actual Second value to compare - * @param float $delta Allowed numerical distance between two values to consider them equal - * @param bool $canonicalize Arrays are sorted before comparison when set to true - * @param bool $ignoreCase Case is ignored when set to true - * - * @throws ComparisonFailure - */ - public function assertEquals($expected, $actual, $delta = 0.0, $canonicalize = false, $ignoreCase = false) - { - $expectedToCompare = $expected; - $actualToCompare = $actual; - - // always compare as strings to avoid strange behaviour - // otherwise 0 == 'Foobar' - if (\is_string($expected) || \is_string($actual)) { - $expectedToCompare = (string) $expectedToCompare; - $actualToCompare = (string) $actualToCompare; - - if ($ignoreCase) { - $expectedToCompare = \strtolower($expectedToCompare); - $actualToCompare = \strtolower($actualToCompare); - } - } - - if ($expectedToCompare !== $actualToCompare && \is_string($expected) && \is_string($actual)) { - throw new ComparisonFailure( - $expected, - $actual, - $this->exporter->export($expected), - $this->exporter->export($actual), - false, - 'Failed asserting that two strings are equal.' - ); - } - - if ($expectedToCompare != $actualToCompare) { - throw new ComparisonFailure( - $expected, - $actual, - // no diff is required - '', - '', - false, - \sprintf( - 'Failed asserting that %s matches expected %s.', - $this->exporter->export($actual), - $this->exporter->export($expected) - ) - ); - } - } -} diff --git a/paragonik-backend/vendor/sebastian/comparator/src/SplObjectStorageComparator.php b/paragonik-backend/vendor/sebastian/comparator/src/SplObjectStorageComparator.php deleted file mode 100644 index 5900d57..0000000 --- a/paragonik-backend/vendor/sebastian/comparator/src/SplObjectStorageComparator.php +++ /dev/null @@ -1,69 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace SebastianBergmann\Comparator; - -/** - * Compares \SplObjectStorage instances for equality. - */ -class SplObjectStorageComparator extends Comparator -{ - /** - * Returns whether the comparator can compare two values. - * - * @param mixed $expected The first value to compare - * @param mixed $actual The second value to compare - * - * @return bool - */ - public function accepts($expected, $actual) - { - return $expected instanceof \SplObjectStorage && $actual instanceof \SplObjectStorage; - } - - /** - * Asserts that two values are equal. - * - * @param mixed $expected First value to compare - * @param mixed $actual Second value to compare - * @param float $delta Allowed numerical distance between two values to consider them equal - * @param bool $canonicalize Arrays are sorted before comparison when set to true - * @param bool $ignoreCase Case is ignored when set to true - * - * @throws ComparisonFailure - */ - public function assertEquals($expected, $actual, $delta = 0.0, $canonicalize = false, $ignoreCase = false) - { - foreach ($actual as $object) { - if (!$expected->contains($object)) { - throw new ComparisonFailure( - $expected, - $actual, - $this->exporter->export($expected), - $this->exporter->export($actual), - false, - 'Failed asserting that two objects are equal.' - ); - } - } - - foreach ($expected as $object) { - if (!$actual->contains($object)) { - throw new ComparisonFailure( - $expected, - $actual, - $this->exporter->export($expected), - $this->exporter->export($actual), - false, - 'Failed asserting that two objects are equal.' - ); - } - } - } -} diff --git a/paragonik-backend/vendor/sebastian/comparator/src/TypeComparator.php b/paragonik-backend/vendor/sebastian/comparator/src/TypeComparator.php deleted file mode 100644 index e7f551f..0000000 --- a/paragonik-backend/vendor/sebastian/comparator/src/TypeComparator.php +++ /dev/null @@ -1,59 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace SebastianBergmann\Comparator; - -/** - * Compares values for type equality. - */ -class TypeComparator extends Comparator -{ - /** - * Returns whether the comparator can compare two values. - * - * @param mixed $expected The first value to compare - * @param mixed $actual The second value to compare - * - * @return bool - */ - public function accepts($expected, $actual) - { - return true; - } - - /** - * Asserts that two values are equal. - * - * @param mixed $expected First value to compare - * @param mixed $actual Second value to compare - * @param float $delta Allowed numerical distance between two values to consider them equal - * @param bool $canonicalize Arrays are sorted before comparison when set to true - * @param bool $ignoreCase Case is ignored when set to true - * - * @throws ComparisonFailure - */ - public function assertEquals($expected, $actual, $delta = 0.0, $canonicalize = false, $ignoreCase = false) - { - if (\gettype($expected) != \gettype($actual)) { - throw new ComparisonFailure( - $expected, - $actual, - // we don't need a diff - '', - '', - false, - \sprintf( - '%s does not match expected type "%s".', - $this->exporter->shortenedExport($actual), - \gettype($expected) - ) - ); - } - } -} diff --git a/paragonik-backend/vendor/sebastian/comparator/tests/ArrayComparatorTest.php b/paragonik-backend/vendor/sebastian/comparator/tests/ArrayComparatorTest.php deleted file mode 100644 index 25906bb..0000000 --- a/paragonik-backend/vendor/sebastian/comparator/tests/ArrayComparatorTest.php +++ /dev/null @@ -1,161 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace SebastianBergmann\Comparator; - -use PHPUnit\Framework\TestCase; - -/** - * @covers \SebastianBergmann\Comparator\ArrayComparator - * - * @uses \SebastianBergmann\Comparator\Comparator - * @uses \SebastianBergmann\Comparator\Factory - * @uses \SebastianBergmann\Comparator\ComparisonFailure - */ -final class ArrayComparatorTest extends TestCase -{ - /** - * @var ArrayComparator - */ - private $comparator; - - protected function setUp(): void - { - $this->comparator = new ArrayComparator; - $this->comparator->setFactory(new Factory); - } - - public function acceptsFailsProvider() - { - return [ - [[], null], - [null, []], - [null, null] - ]; - } - - public function assertEqualsSucceedsProvider() - { - return [ - [ - ['a' => 1, 'b' => 2], - ['b' => 2, 'a' => 1] - ], - [ - [1], - ['1'] - ], - [ - [3, 2, 1], - [2, 3, 1], - 0, - true - ], - [ - [2.3], - [2.5], - 0.5 - ], - [ - [[2.3]], - [[2.5]], - 0.5 - ], - [ - [new Struct(2.3)], - [new Struct(2.5)], - 0.5 - ], - ]; - } - - public function assertEqualsFailsProvider() - { - return [ - [ - [], - [0 => 1] - ], - [ - [0 => 1], - [] - ], - [ - [0 => null], - [] - ], - [ - [0 => 1, 1 => 2], - [0 => 1, 1 => 3] - ], - [ - ['a', 'b' => [1, 2]], - ['a', 'b' => [2, 1]] - ], - [ - [2.3], - [4.2], - 0.5 - ], - [ - [[2.3]], - [[4.2]], - 0.5 - ], - [ - [new Struct(2.3)], - [new Struct(4.2)], - 0.5 - ] - ]; - } - - public function testAcceptsSucceeds(): void - { - $this->assertTrue( - $this->comparator->accepts([], []) - ); - } - - /** - * @dataProvider acceptsFailsProvider - */ - public function testAcceptsFails($expected, $actual): void - { - $this->assertFalse( - $this->comparator->accepts($expected, $actual) - ); - } - - /** - * @dataProvider assertEqualsSucceedsProvider - */ - public function testAssertEqualsSucceeds($expected, $actual, $delta = 0.0, $canonicalize = false): void - { - $exception = null; - - try { - $this->comparator->assertEquals($expected, $actual, $delta, $canonicalize); - } catch (ComparisonFailure $exception) { - } - - $this->assertNull($exception, 'Unexpected ComparisonFailure'); - } - - /** - * @dataProvider assertEqualsFailsProvider - */ - public function testAssertEqualsFails($expected, $actual, $delta = 0.0, $canonicalize = false): void - { - $this->expectException(ComparisonFailure::class); - $this->expectExceptionMessage('Failed asserting that two arrays are equal'); - - $this->comparator->assertEquals($expected, $actual, $delta, $canonicalize); - } -} diff --git a/paragonik-backend/vendor/sebastian/comparator/tests/ComparisonFailureTest.php b/paragonik-backend/vendor/sebastian/comparator/tests/ComparisonFailureTest.php deleted file mode 100644 index 3b438b7..0000000 --- a/paragonik-backend/vendor/sebastian/comparator/tests/ComparisonFailureTest.php +++ /dev/null @@ -1,59 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace SebastianBergmann\Comparator; - -use PHPUnit\Framework\TestCase; - -/** - * @covers \SebastianBergmann\Comparator\ComparisonFailure - * - * @uses \SebastianBergmann\Comparator\Factory - */ -final class ComparisonFailureTest extends TestCase -{ - public function testComparisonFailure(): void - { - $actual = "\nB\n"; - $expected = "\nA\n"; - $message = 'Test message'; - - $failure = new ComparisonFailure( - $expected, - $actual, - '|' . $expected, - '|' . $actual, - false, - $message - ); - - $this->assertSame($actual, $failure->getActual()); - $this->assertSame($expected, $failure->getExpected()); - $this->assertSame('|' . $actual, $failure->getActualAsString()); - $this->assertSame('|' . $expected, $failure->getExpectedAsString()); - - $diff = ' ---- Expected -+++ Actual -@@ @@ - | --A -+B -'; - $this->assertSame($diff, $failure->getDiff()); - $this->assertSame($message . $diff, $failure->toString()); - } - - public function testDiffNotPossible(): void - { - $failure = new ComparisonFailure('a', 'b', false, false, true, 'test'); - $this->assertSame('', $failure->getDiff()); - $this->assertSame('test', $failure->toString()); - } -} diff --git a/paragonik-backend/vendor/sebastian/comparator/tests/DOMNodeComparatorTest.php b/paragonik-backend/vendor/sebastian/comparator/tests/DOMNodeComparatorTest.php deleted file mode 100644 index 18451e0..0000000 --- a/paragonik-backend/vendor/sebastian/comparator/tests/DOMNodeComparatorTest.php +++ /dev/null @@ -1,180 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace SebastianBergmann\Comparator; - -use DOMDocument; -use DOMNode; -use PHPUnit\Framework\TestCase; - -/** - * @covers \SebastianBergmann\Comparator\DOMNodeComparator - * - * @uses \SebastianBergmann\Comparator\Comparator - * @uses \SebastianBergmann\Comparator\Factory - * @uses \SebastianBergmann\Comparator\ComparisonFailure - */ -final class DOMNodeComparatorTest extends TestCase -{ - /** - * @var DOMNodeComparator - */ - private $comparator; - - protected function setUp(): void - { - $this->comparator = new DOMNodeComparator; - } - - public function acceptsSucceedsProvider() - { - $document = new DOMDocument; - $node = new DOMNode; - - return [ - [$document, $document], - [$node, $node], - [$document, $node], - [$node, $document] - ]; - } - - public function acceptsFailsProvider() - { - $document = new DOMDocument; - - return [ - [$document, null], - [null, $document], - [null, null] - ]; - } - - public function assertEqualsSucceedsProvider() - { - return [ - [ - $this->createDOMDocument(''), - $this->createDOMDocument('') - ], - [ - $this->createDOMDocument(''), - $this->createDOMDocument('') - ], - [ - $this->createDOMDocument(''), - $this->createDOMDocument('') - ], - [ - $this->createDOMDocument("\n \n"), - $this->createDOMDocument('') - ], - [ - $this->createDOMDocument(''), - $this->createDOMDocument(''), - $ignoreCase = true - ], - [ - $this->createDOMDocument(""), - $this->createDOMDocument(""), - ], - ]; - } - - public function assertEqualsFailsProvider() - { - return [ - [ - $this->createDOMDocument(''), - $this->createDOMDocument('') - ], - [ - $this->createDOMDocument(''), - $this->createDOMDocument('') - ], - [ - $this->createDOMDocument(' bar '), - $this->createDOMDocument('') - ], - [ - $this->createDOMDocument(''), - $this->createDOMDocument('') - ], - [ - $this->createDOMDocument(' bar '), - $this->createDOMDocument(' bir ') - ], - [ - $this->createDOMDocument(''), - $this->createDOMDocument('') - ], - [ - $this->createDOMDocument(' bar '), - $this->createDOMDocument(' BAR ') - ] - ]; - } - - /** - * @dataProvider acceptsSucceedsProvider - */ - public function testAcceptsSucceeds($expected, $actual): void - { - $this->assertTrue( - $this->comparator->accepts($expected, $actual) - ); - } - - /** - * @dataProvider acceptsFailsProvider - */ - public function testAcceptsFails($expected, $actual): void - { - $this->assertFalse( - $this->comparator->accepts($expected, $actual) - ); - } - - /** - * @dataProvider assertEqualsSucceedsProvider - */ - public function testAssertEqualsSucceeds($expected, $actual, $ignoreCase = false): void - { - $exception = null; - - try { - $delta = 0.0; - $canonicalize = false; - $this->comparator->assertEquals($expected, $actual, $delta, $canonicalize, $ignoreCase); - } catch (ComparisonFailure $exception) { - } - - $this->assertNull($exception, 'Unexpected ComparisonFailure'); - } - - /** - * @dataProvider assertEqualsFailsProvider - */ - public function testAssertEqualsFails($expected, $actual): void - { - $this->expectException(ComparisonFailure::class); - $this->expectExceptionMessage('Failed asserting that two DOM'); - - $this->comparator->assertEquals($expected, $actual); - } - - private function createDOMDocument($content) - { - $document = new DOMDocument; - $document->preserveWhiteSpace = false; - $document->loadXML($content); - - return $document; - } -} diff --git a/paragonik-backend/vendor/sebastian/comparator/tests/DateTimeComparatorTest.php b/paragonik-backend/vendor/sebastian/comparator/tests/DateTimeComparatorTest.php deleted file mode 100644 index 41e1086..0000000 --- a/paragonik-backend/vendor/sebastian/comparator/tests/DateTimeComparatorTest.php +++ /dev/null @@ -1,213 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace SebastianBergmann\Comparator; - -use DateTime; -use DateTimeImmutable; -use DateTimeZone; -use PHPUnit\Framework\TestCase; - -/** - * @covers \SebastianBergmann\Comparator\DateTimeComparator - * - * @uses \SebastianBergmann\Comparator\Comparator - * @uses \SebastianBergmann\Comparator\Factory - * @uses \SebastianBergmann\Comparator\ComparisonFailure - */ -final class DateTimeComparatorTest extends TestCase -{ - /** - * @var DateTimeComparator - */ - private $comparator; - - protected function setUp(): void - { - $this->comparator = new DateTimeComparator; - } - - public function acceptsFailsProvider() - { - $datetime = new DateTime; - - return [ - [$datetime, null], - [null, $datetime], - [null, null] - ]; - } - - public function assertEqualsSucceedsProvider() - { - return [ - [ - new DateTime('2013-03-29 04:13:35', new DateTimeZone('America/New_York')), - new DateTime('2013-03-29 04:13:25', new DateTimeZone('America/New_York')), - 10 - ], - [ - new DateTime('2013-03-29 04:13:35', new DateTimeZone('America/New_York')), - new DateTime('2013-03-29 04:14:40', new DateTimeZone('America/New_York')), - 65 - ], - [ - new DateTime('2013-03-29', new DateTimeZone('America/New_York')), - new DateTime('2013-03-29', new DateTimeZone('America/New_York')) - ], - [ - new DateTime('2013-03-29 04:13:35', new DateTimeZone('America/New_York')), - new DateTime('2013-03-29 03:13:35', new DateTimeZone('America/Chicago')) - ], - [ - new DateTime('2013-03-29 04:13:35', new DateTimeZone('America/New_York')), - new DateTime('2013-03-29 03:13:49', new DateTimeZone('America/Chicago')), - 15 - ], - [ - new DateTime('2013-03-30', new DateTimeZone('America/New_York')), - new DateTime('2013-03-29 23:00:00', new DateTimeZone('America/Chicago')) - ], - [ - new DateTime('2013-03-30', new DateTimeZone('America/New_York')), - new DateTime('2013-03-29 23:01:30', new DateTimeZone('America/Chicago')), - 100 - ], - [ - new DateTime('@1364616000'), - new DateTime('2013-03-29 23:00:00', new DateTimeZone('America/Chicago')) - ], - [ - new DateTime('2013-03-29T05:13:35-0500'), - new DateTime('2013-03-29T04:13:35-0600') - ], - [ - new DateTimeImmutable('2013-03-30', new DateTimeZone('America/New_York')), - new DateTimeImmutable('2013-03-29 23:01:30', new DateTimeZone('America/Chicago')), - 100 - ], - [ - new DateTimeImmutable('2013-03-30 12:00:00', new DateTimeZone('UTC')), - new DateTimeImmutable('2013-03-30 12:00:00.5', new DateTimeZone('UTC')), - 0.5 - ], - ]; - } - - public function assertEqualsFailsProvider() - { - return [ - [ - new DateTime('2013-03-29 04:13:35', new DateTimeZone('America/New_York')), - new DateTime('2013-03-29 03:13:35', new DateTimeZone('America/New_York')) - ], - [ - new DateTime('2013-03-29 04:13:35', new DateTimeZone('America/New_York')), - new DateTime('2013-03-29 03:13:35', new DateTimeZone('America/New_York')), - 3500 - ], - [ - new DateTime('2013-03-29 04:13:35', new DateTimeZone('America/New_York')), - new DateTime('2013-03-29 05:13:35', new DateTimeZone('America/New_York')), - 3500 - ], - [ - new DateTime('2013-03-29', new DateTimeZone('America/New_York')), - new DateTime('2013-03-30', new DateTimeZone('America/New_York')) - ], - [ - new DateTime('2013-03-29', new DateTimeZone('America/New_York')), - new DateTime('2013-03-30', new DateTimeZone('America/New_York')), - 43200 - ], - [ - new DateTime('2013-03-29 04:13:35', new DateTimeZone('America/New_York')), - new DateTime('2013-03-29 04:13:35', new DateTimeZone('America/Chicago')), - ], - [ - new DateTime('2013-03-29 04:13:35', new DateTimeZone('America/New_York')), - new DateTime('2013-03-29 04:13:35', new DateTimeZone('America/Chicago')), - 3500 - ], - [ - new DateTime('2013-03-30', new DateTimeZone('America/New_York')), - new DateTime('2013-03-30', new DateTimeZone('America/Chicago')) - ], - [ - new DateTime('2013-03-29T05:13:35-0600'), - new DateTime('2013-03-29T04:13:35-0600') - ], - [ - new DateTime('2013-03-29T05:13:35-0600'), - new DateTime('2013-03-29T05:13:35-0500') - ], - ]; - } - - public function testAcceptsSucceeds(): void - { - $this->assertTrue( - $this->comparator->accepts( - new DateTime, - new DateTime - ) - ); - } - - /** - * @dataProvider acceptsFailsProvider - */ - public function testAcceptsFails($expected, $actual): void - { - $this->assertFalse( - $this->comparator->accepts($expected, $actual) - ); - } - - /** - * @dataProvider assertEqualsSucceedsProvider - */ - public function testAssertEqualsSucceeds($expected, $actual, $delta = 0.0): void - { - $exception = null; - - try { - $this->comparator->assertEquals($expected, $actual, $delta); - } catch (ComparisonFailure $exception) { - } - - $this->assertNull($exception, 'Unexpected ComparisonFailure'); - } - - /** - * @dataProvider assertEqualsFailsProvider - */ - public function testAssertEqualsFails($expected, $actual, $delta = 0.0): void - { - $this->expectException(ComparisonFailure::class); - $this->expectExceptionMessage('Failed asserting that two DateTime objects are equal.'); - - $this->comparator->assertEquals($expected, $actual, $delta); - } - - public function testAcceptsDateTimeInterface(): void - { - $this->assertTrue($this->comparator->accepts(new DateTime, new DateTimeImmutable)); - } - - public function testSupportsDateTimeInterface(): void - { - $this->assertNull( - $this->comparator->assertEquals( - new DateTime('2013-03-29 04:13:35', new DateTimeZone('America/New_York')), - new DateTimeImmutable('2013-03-29 04:13:35', new DateTimeZone('America/New_York')) - ) - ); - } -} diff --git a/paragonik-backend/vendor/sebastian/comparator/tests/DoubleComparatorTest.php b/paragonik-backend/vendor/sebastian/comparator/tests/DoubleComparatorTest.php deleted file mode 100644 index 1a577a2..0000000 --- a/paragonik-backend/vendor/sebastian/comparator/tests/DoubleComparatorTest.php +++ /dev/null @@ -1,135 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace SebastianBergmann\Comparator; - -use PHPUnit\Framework\TestCase; - -/** - * @covers \SebastianBergmann\Comparator\DoubleComparator - * - * @uses \SebastianBergmann\Comparator\Comparator - * @uses \SebastianBergmann\Comparator\Factory - * @uses \SebastianBergmann\Comparator\ComparisonFailure - */ -final class DoubleComparatorTest extends TestCase -{ - /** - * @var DoubleComparator - */ - private $comparator; - - protected function setUp(): void - { - $this->comparator = new DoubleComparator; - } - - public function acceptsSucceedsProvider() - { - return [ - [0, 5.0], - [5.0, 0], - ['5', 4.5], - [1.2e3, 7E-10], - [3, \acos(8)], - [\acos(8), 3], - [\acos(8), \acos(8)] - ]; - } - - public function acceptsFailsProvider() - { - return [ - [5, 5], - ['4.5', 5], - [0x539, 02471], - [5.0, false], - [null, 5.0] - ]; - } - - public function assertEqualsSucceedsProvider() - { - return [ - [2.3, 2.3], - ['2.3', 2.3], - [5.0, 5], - [5, 5.0], - [5.0, '5'], - [1.2e3, 1200], - [2.3, 2.5, 0.5], - [3, 3.05, 0.05], - [1.2e3, 1201, 1], - [(string) (1 / 3), 1 - 2 / 3], - [1 / 3, (string) (1 - 2 / 3)] - ]; - } - - public function assertEqualsFailsProvider() - { - return [ - [2.3, 4.2], - ['2.3', 4.2], - [5.0, '4'], - [5.0, 6], - [1.2e3, 1201], - [2.3, 2.5, 0.2], - [3, 3.05, 0.04], - [3, \acos(8)], - [\acos(8), 3], - [\acos(8), \acos(8)] - ]; - } - - /** - * @dataProvider acceptsSucceedsProvider - */ - public function testAcceptsSucceeds($expected, $actual): void - { - $this->assertTrue( - $this->comparator->accepts($expected, $actual) - ); - } - - /** - * @dataProvider acceptsFailsProvider - */ - public function testAcceptsFails($expected, $actual): void - { - $this->assertFalse( - $this->comparator->accepts($expected, $actual) - ); - } - - /** - * @dataProvider assertEqualsSucceedsProvider - */ - public function testAssertEqualsSucceeds($expected, $actual, $delta = 0.0): void - { - $exception = null; - - try { - $this->comparator->assertEquals($expected, $actual, $delta); - } catch (ComparisonFailure $exception) { - } - - $this->assertNull($exception, 'Unexpected ComparisonFailure'); - } - - /** - * @dataProvider assertEqualsFailsProvider - */ - public function testAssertEqualsFails($expected, $actual, $delta = 0.0): void - { - $this->expectException(ComparisonFailure::class); - $this->expectExceptionMessage('matches expected'); - - $this->comparator->assertEquals($expected, $actual, $delta); - } -} diff --git a/paragonik-backend/vendor/sebastian/comparator/tests/ExceptionComparatorTest.php b/paragonik-backend/vendor/sebastian/comparator/tests/ExceptionComparatorTest.php deleted file mode 100644 index 12330ea..0000000 --- a/paragonik-backend/vendor/sebastian/comparator/tests/ExceptionComparatorTest.php +++ /dev/null @@ -1,136 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace SebastianBergmann\Comparator; - -use Exception; -use PHPUnit\Framework\TestCase; -use RuntimeException; - -/** - * @covers \SebastianBergmann\Comparator\ExceptionComparator - * - * @uses \SebastianBergmann\Comparator\Comparator - * @uses \SebastianBergmann\Comparator\Factory - * @uses \SebastianBergmann\Comparator\ComparisonFailure - */ -final class ExceptionComparatorTest extends TestCase -{ - /** - * @var ExceptionComparator - */ - private $comparator; - - protected function setUp(): void - { - $this->comparator = new ExceptionComparator; - $this->comparator->setFactory(new Factory); - } - - public function acceptsSucceedsProvider() - { - return [ - [new Exception, new Exception], - [new RuntimeException, new RuntimeException], - [new Exception, new RuntimeException] - ]; - } - - public function acceptsFailsProvider() - { - return [ - [new Exception, null], - [null, new Exception], - [null, null] - ]; - } - - public function assertEqualsSucceedsProvider() - { - $exception1 = new Exception; - $exception2 = new Exception; - - $exception3 = new RuntimeException('Error', 100); - $exception4 = new RuntimeException('Error', 100); - - return [ - [$exception1, $exception1], - [$exception1, $exception2], - [$exception3, $exception3], - [$exception3, $exception4] - ]; - } - - public function assertEqualsFailsProvider() - { - $typeMessage = 'not instance of expected class'; - $equalMessage = 'Failed asserting that two objects are equal.'; - - $exception1 = new Exception('Error', 100); - $exception2 = new Exception('Error', 101); - $exception3 = new Exception('Errors', 101); - - $exception4 = new RuntimeException('Error', 100); - $exception5 = new RuntimeException('Error', 101); - - return [ - [$exception1, $exception2, $equalMessage], - [$exception1, $exception3, $equalMessage], - [$exception1, $exception4, $typeMessage], - [$exception2, $exception3, $equalMessage], - [$exception4, $exception5, $equalMessage] - ]; - } - - /** - * @dataProvider acceptsSucceedsProvider - */ - public function testAcceptsSucceeds($expected, $actual): void - { - $this->assertTrue( - $this->comparator->accepts($expected, $actual) - ); - } - - /** - * @dataProvider acceptsFailsProvider - */ - public function testAcceptsFails($expected, $actual): void - { - $this->assertFalse( - $this->comparator->accepts($expected, $actual) - ); - } - - /** - * @dataProvider assertEqualsSucceedsProvider - */ - public function testAssertEqualsSucceeds($expected, $actual): void - { - $exception = null; - - try { - $this->comparator->assertEquals($expected, $actual); - } catch (ComparisonFailure $exception) { - } - - $this->assertNull($exception, 'Unexpected ComparisonFailure'); - } - - /** - * @dataProvider assertEqualsFailsProvider - */ - public function testAssertEqualsFails($expected, $actual, $message): void - { - $this->expectException(ComparisonFailure::class); - $this->expectExceptionMessage($message); - - $this->comparator->assertEquals($expected, $actual); - } -} diff --git a/paragonik-backend/vendor/sebastian/comparator/tests/FactoryTest.php b/paragonik-backend/vendor/sebastian/comparator/tests/FactoryTest.php deleted file mode 100644 index 82f5343..0000000 --- a/paragonik-backend/vendor/sebastian/comparator/tests/FactoryTest.php +++ /dev/null @@ -1,117 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace SebastianBergmann\Comparator; - -use PHPUnit\Framework\TestCase; - -/** - * @covers \SebastianBergmann\Comparator\Factory - * - * @uses \SebastianBergmann\Comparator\Comparator - * @uses \SebastianBergmann\Comparator\Factory - * @uses \SebastianBergmann\Comparator\ComparisonFailure - */ -final class FactoryTest extends TestCase -{ - public function instanceProvider() - { - $tmpfile = \tmpfile(); - - return [ - [null, null, 'SebastianBergmann\\Comparator\\ScalarComparator'], - [null, true, 'SebastianBergmann\\Comparator\\ScalarComparator'], - [true, null, 'SebastianBergmann\\Comparator\\ScalarComparator'], - [true, true, 'SebastianBergmann\\Comparator\\ScalarComparator'], - [false, false, 'SebastianBergmann\\Comparator\\ScalarComparator'], - [true, false, 'SebastianBergmann\\Comparator\\ScalarComparator'], - [false, true, 'SebastianBergmann\\Comparator\\ScalarComparator'], - ['', '', 'SebastianBergmann\\Comparator\\ScalarComparator'], - ['0', '0', 'SebastianBergmann\\Comparator\\ScalarComparator'], - ['0', 0, 'SebastianBergmann\\Comparator\\NumericComparator'], - [0, '0', 'SebastianBergmann\\Comparator\\NumericComparator'], - [0, 0, 'SebastianBergmann\\Comparator\\NumericComparator'], - [1.0, 0, 'SebastianBergmann\\Comparator\\DoubleComparator'], - [0, 1.0, 'SebastianBergmann\\Comparator\\DoubleComparator'], - [1.0, 1.0, 'SebastianBergmann\\Comparator\\DoubleComparator'], - [[1], [1], 'SebastianBergmann\\Comparator\\ArrayComparator'], - [$tmpfile, $tmpfile, 'SebastianBergmann\\Comparator\\ResourceComparator'], - [new \stdClass, new \stdClass, 'SebastianBergmann\\Comparator\\ObjectComparator'], - [new \DateTime, new \DateTime, 'SebastianBergmann\\Comparator\\DateTimeComparator'], - [new \SplObjectStorage, new \SplObjectStorage, 'SebastianBergmann\\Comparator\\SplObjectStorageComparator'], - [new \Exception, new \Exception, 'SebastianBergmann\\Comparator\\ExceptionComparator'], - [new \DOMDocument, new \DOMDocument, 'SebastianBergmann\\Comparator\\DOMNodeComparator'], - // mixed types - [$tmpfile, [1], 'SebastianBergmann\\Comparator\\TypeComparator'], - [[1], $tmpfile, 'SebastianBergmann\\Comparator\\TypeComparator'], - [$tmpfile, '1', 'SebastianBergmann\\Comparator\\TypeComparator'], - ['1', $tmpfile, 'SebastianBergmann\\Comparator\\TypeComparator'], - [$tmpfile, new \stdClass, 'SebastianBergmann\\Comparator\\TypeComparator'], - [new \stdClass, $tmpfile, 'SebastianBergmann\\Comparator\\TypeComparator'], - [new \stdClass, [1], 'SebastianBergmann\\Comparator\\TypeComparator'], - [[1], new \stdClass, 'SebastianBergmann\\Comparator\\TypeComparator'], - [new \stdClass, '1', 'SebastianBergmann\\Comparator\\TypeComparator'], - ['1', new \stdClass, 'SebastianBergmann\\Comparator\\TypeComparator'], - [new ClassWithToString, '1', 'SebastianBergmann\\Comparator\\ScalarComparator'], - ['1', new ClassWithToString, 'SebastianBergmann\\Comparator\\ScalarComparator'], - [1.0, new \stdClass, 'SebastianBergmann\\Comparator\\TypeComparator'], - [new \stdClass, 1.0, 'SebastianBergmann\\Comparator\\TypeComparator'], - [1.0, [1], 'SebastianBergmann\\Comparator\\TypeComparator'], - [[1], 1.0, 'SebastianBergmann\\Comparator\\TypeComparator'], - ]; - } - - /** - * @dataProvider instanceProvider - */ - public function testGetComparatorFor($a, $b, $expected): void - { - $factory = new Factory; - $actual = $factory->getComparatorFor($a, $b); - $this->assertInstanceOf($expected, $actual); - } - - public function testRegister(): void - { - $comparator = new TestClassComparator; - - $factory = new Factory; - $factory->register($comparator); - - $a = new TestClass; - $b = new TestClass; - $expected = 'SebastianBergmann\\Comparator\\TestClassComparator'; - $actual = $factory->getComparatorFor($a, $b); - - $factory->unregister($comparator); - $this->assertInstanceOf($expected, $actual); - } - - public function testUnregister(): void - { - $comparator = new TestClassComparator; - - $factory = new Factory; - $factory->register($comparator); - $factory->unregister($comparator); - - $a = new TestClass; - $b = new TestClass; - $expected = 'SebastianBergmann\\Comparator\\ObjectComparator'; - $actual = $factory->getComparatorFor($a, $b); - - $this->assertInstanceOf($expected, $actual); - } - - public function testIsSingleton(): void - { - $f = Factory::getInstance(); - $this->assertSame($f, Factory::getInstance()); - } -} diff --git a/paragonik-backend/vendor/sebastian/comparator/tests/MockObjectComparatorTest.php b/paragonik-backend/vendor/sebastian/comparator/tests/MockObjectComparatorTest.php deleted file mode 100644 index 922e9d6..0000000 --- a/paragonik-backend/vendor/sebastian/comparator/tests/MockObjectComparatorTest.php +++ /dev/null @@ -1,168 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace SebastianBergmann\Comparator; - -use PHPUnit\Framework\TestCase; -use stdClass; - -/** - * @covers \SebastianBergmann\Comparator\MockObjectComparator - * - * @uses \SebastianBergmann\Comparator\Comparator - * @uses \SebastianBergmann\Comparator\Factory - * @uses \SebastianBergmann\Comparator\ComparisonFailure - */ -final class MockObjectComparatorTest extends TestCase -{ - /** - * @var MockObjectComparator - */ - private $comparator; - - protected function setUp(): void - { - $this->comparator = new MockObjectComparator; - $this->comparator->setFactory(new Factory); - } - - public function acceptsSucceedsProvider() - { - $testmock = $this->createMock(TestClass::class); - $stdmock = $this->createMock(stdClass::class); - - return [ - [$testmock, $testmock], - [$stdmock, $stdmock], - [$stdmock, $testmock] - ]; - } - - public function acceptsFailsProvider() - { - $stdmock = $this->createMock(stdClass::class); - - return [ - [$stdmock, null], - [null, $stdmock], - [null, null] - ]; - } - - public function assertEqualsSucceedsProvider() - { - // cyclic dependencies - $book1 = $this->getMockBuilder(Book::class)->setMethods(null)->getMock(); - $book1->author = $this->getMockBuilder(Author::class)->setMethods(null)->setConstructorArgs(['Terry Pratchett'])->getMock(); - $book1->author->books[] = $book1; - $book2 = $this->getMockBuilder(Book::class)->setMethods(null)->getMock(); - $book2->author = $this->getMockBuilder(Author::class)->setMethods(null)->setConstructorArgs(['Terry Pratchett'])->getMock(); - $book2->author->books[] = $book2; - - $object1 = $this->getMockBuilder(SampleClass::class)->setMethods(null)->setConstructorArgs([4, 8, 15])->getMock(); - $object2 = $this->getMockBuilder(SampleClass::class)->setMethods(null)->setConstructorArgs([4, 8, 15])->getMock(); - - return [ - [$object1, $object1], - [$object1, $object2], - [$book1, $book1], - [$book1, $book2], - [ - $this->getMockBuilder(Struct::class)->setMethods(null)->setConstructorArgs([2.3])->getMock(), - $this->getMockBuilder(Struct::class)->setMethods(null)->setConstructorArgs([2.5])->getMock(), - 0.5 - ] - ]; - } - - public function assertEqualsFailsProvider() - { - $typeMessage = 'is not instance of expected class'; - $equalMessage = 'Failed asserting that two objects are equal.'; - - // cyclic dependencies - $book1 = $this->getMockBuilder(Book::class)->setMethods(null)->getMock(); - $book1->author = $this->getMockBuilder(Author::class)->setMethods(null)->setConstructorArgs(['Terry Pratchett'])->getMock(); - $book1->author->books[] = $book1; - $book2 = $this->getMockBuilder(Book::class)->setMethods(null)->getMock(); - $book1->author = $this->getMockBuilder(Author::class)->setMethods(null)->setConstructorArgs(['Terry Pratch'])->getMock(); - $book2->author->books[] = $book2; - - $book3 = $this->getMockBuilder(Book::class)->setMethods(null)->getMock(); - $book3->author = 'Terry Pratchett'; - $book4 = $this->createMock(stdClass::class); - $book4->author = 'Terry Pratchett'; - - $object1 = $this->getMockBuilder(SampleClass::class)->setMethods(null)->setConstructorArgs([4, 8, 15])->getMock(); - $object2 = $this->getMockBuilder(SampleClass::class)->setMethods(null)->setConstructorArgs([16, 23, 42])->getMock(); - - return [ - [ - $this->getMockBuilder(SampleClass::class)->setMethods(null)->setConstructorArgs([4, 8, 15])->getMock(), - $this->getMockBuilder(SampleClass::class)->setMethods(null)->setConstructorArgs([16, 23, 42])->getMock(), - $equalMessage - ], - [$object1, $object2, $equalMessage], - [$book1, $book2, $equalMessage], - [$book3, $book4, $typeMessage], - [ - $this->getMockBuilder(Struct::class)->setMethods(null)->setConstructorArgs([2.3])->getMock(), - $this->getMockBuilder(Struct::class)->setMethods(null)->setConstructorArgs([4.2])->getMock(), - $equalMessage, - 0.5 - ] - ]; - } - - /** - * @dataProvider acceptsSucceedsProvider - */ - public function testAcceptsSucceeds($expected, $actual): void - { - $this->assertTrue( - $this->comparator->accepts($expected, $actual) - ); - } - - /** - * @dataProvider acceptsFailsProvider - */ - public function testAcceptsFails($expected, $actual): void - { - $this->assertFalse( - $this->comparator->accepts($expected, $actual) - ); - } - - /** - * @dataProvider assertEqualsSucceedsProvider - */ - public function testAssertEqualsSucceeds($expected, $actual, $delta = 0.0): void - { - $exception = null; - - try { - $this->comparator->assertEquals($expected, $actual, $delta); - } catch (ComparisonFailure $exception) { - } - - $this->assertNull($exception, 'Unexpected ComparisonFailure'); - } - - /** - * @dataProvider assertEqualsFailsProvider - */ - public function testAssertEqualsFails($expected, $actual, $message, $delta = 0.0): void - { - $this->expectException(ComparisonFailure::class); - $this->expectExceptionMessage($message); - - $this->comparator->assertEquals($expected, $actual, $delta); - } -} diff --git a/paragonik-backend/vendor/sebastian/comparator/tests/NumericComparatorTest.php b/paragonik-backend/vendor/sebastian/comparator/tests/NumericComparatorTest.php deleted file mode 100644 index 504172f..0000000 --- a/paragonik-backend/vendor/sebastian/comparator/tests/NumericComparatorTest.php +++ /dev/null @@ -1,123 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace SebastianBergmann\Comparator; - -use PHPUnit\Framework\TestCase; - -/** - * @covers \SebastianBergmann\Comparator\NumericComparator - * - * @uses \SebastianBergmann\Comparator\Comparator - * @uses \SebastianBergmann\Comparator\Factory - * @uses \SebastianBergmann\Comparator\ComparisonFailure - */ -final class NumericComparatorTest extends TestCase -{ - /** - * @var NumericComparator - */ - private $comparator; - - protected function setUp(): void - { - $this->comparator = new NumericComparator; - } - - public function acceptsSucceedsProvider() - { - return [ - [5, 10], - [8, '0'], - ['10', 0], - [0x74c3b00c, 42], - [0755, 0777] - ]; - } - - public function acceptsFailsProvider() - { - return [ - ['5', '10'], - [8, 5.0], - [5.0, 8], - [10, null], - [false, 12] - ]; - } - - public function assertEqualsSucceedsProvider() - { - return [ - [1337, 1337], - ['1337', 1337], - [0x539, 1337], - [02471, 1337], - [1337, 1338, 1], - ['1337', 1340, 5], - ]; - } - - public function assertEqualsFailsProvider() - { - return [ - [1337, 1338], - ['1338', 1337], - [0x539, 1338], - [1337, 1339, 1], - ['1337', 1340, 2], - ]; - } - - /** - * @dataProvider acceptsSucceedsProvider - */ - public function testAcceptsSucceeds($expected, $actual): void - { - $this->assertTrue( - $this->comparator->accepts($expected, $actual) - ); - } - - /** - * @dataProvider acceptsFailsProvider - */ - public function testAcceptsFails($expected, $actual): void - { - $this->assertFalse( - $this->comparator->accepts($expected, $actual) - ); - } - - /** - * @dataProvider assertEqualsSucceedsProvider - */ - public function testAssertEqualsSucceeds($expected, $actual, $delta = 0.0): void - { - $exception = null; - - try { - $this->comparator->assertEquals($expected, $actual, $delta); - } catch (ComparisonFailure $exception) { - } - - $this->assertNull($exception, 'Unexpected ComparisonFailure'); - } - - /** - * @dataProvider assertEqualsFailsProvider - */ - public function testAssertEqualsFails($expected, $actual, $delta = 0.0): void - { - $this->expectException(ComparisonFailure::class); - $this->expectExceptionMessage('matches expected'); - - $this->comparator->assertEquals($expected, $actual, $delta); - } -} diff --git a/paragonik-backend/vendor/sebastian/comparator/tests/ObjectComparatorTest.php b/paragonik-backend/vendor/sebastian/comparator/tests/ObjectComparatorTest.php deleted file mode 100644 index 30ef230..0000000 --- a/paragonik-backend/vendor/sebastian/comparator/tests/ObjectComparatorTest.php +++ /dev/null @@ -1,150 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace SebastianBergmann\Comparator; - -use PHPUnit\Framework\TestCase; -use stdClass; - -/** - * @covers \SebastianBergmann\Comparator\ObjectComparator - * - * @uses \SebastianBergmann\Comparator\Comparator - * @uses \SebastianBergmann\Comparator\Factory - * @uses \SebastianBergmann\Comparator\ComparisonFailure - */ -final class ObjectComparatorTest extends TestCase -{ - /** - * @var ObjectComparator - */ - private $comparator; - - protected function setUp(): void - { - $this->comparator = new ObjectComparator; - $this->comparator->setFactory(new Factory); - } - - public function acceptsSucceedsProvider() - { - return [ - [new TestClass, new TestClass], - [new stdClass, new stdClass], - [new stdClass, new TestClass] - ]; - } - - public function acceptsFailsProvider() - { - return [ - [new stdClass, null], - [null, new stdClass], - [null, null] - ]; - } - - public function assertEqualsSucceedsProvider() - { - // cyclic dependencies - $book1 = new Book; - $book1->author = new Author('Terry Pratchett'); - $book1->author->books[] = $book1; - $book2 = new Book; - $book2->author = new Author('Terry Pratchett'); - $book2->author->books[] = $book2; - - $object1 = new SampleClass(4, 8, 15); - $object2 = new SampleClass(4, 8, 15); - - return [ - [$object1, $object1], - [$object1, $object2], - [$book1, $book1], - [$book1, $book2], - [new Struct(2.3), new Struct(2.5), 0.5] - ]; - } - - public function assertEqualsFailsProvider() - { - $typeMessage = 'is not instance of expected class'; - $equalMessage = 'Failed asserting that two objects are equal.'; - - // cyclic dependencies - $book1 = new Book; - $book1->author = new Author('Terry Pratchett'); - $book1->author->books[] = $book1; - $book2 = new Book; - $book2->author = new Author('Terry Pratch'); - $book2->author->books[] = $book2; - - $book3 = new Book; - $book3->author = 'Terry Pratchett'; - $book4 = new stdClass; - $book4->author = 'Terry Pratchett'; - - $object1 = new SampleClass(4, 8, 15); - $object2 = new SampleClass(16, 23, 42); - - return [ - [new SampleClass(4, 8, 15), new SampleClass(16, 23, 42), $equalMessage], - [$object1, $object2, $equalMessage], - [$book1, $book2, $equalMessage], - [$book3, $book4, $typeMessage], - [new Struct(2.3), new Struct(4.2), $equalMessage, 0.5] - ]; - } - - /** - * @dataProvider acceptsSucceedsProvider - */ - public function testAcceptsSucceeds($expected, $actual): void - { - $this->assertTrue( - $this->comparator->accepts($expected, $actual) - ); - } - - /** - * @dataProvider acceptsFailsProvider - */ - public function testAcceptsFails($expected, $actual): void - { - $this->assertFalse( - $this->comparator->accepts($expected, $actual) - ); - } - - /** - * @dataProvider assertEqualsSucceedsProvider - */ - public function testAssertEqualsSucceeds($expected, $actual, $delta = 0.0): void - { - $exception = null; - - try { - $this->comparator->assertEquals($expected, $actual, $delta); - } catch (ComparisonFailure $exception) { - } - - $this->assertNull($exception, 'Unexpected ComparisonFailure'); - } - - /** - * @dataProvider assertEqualsFailsProvider - */ - public function testAssertEqualsFails($expected, $actual, $message, $delta = 0.0): void - { - $this->expectException(ComparisonFailure::class); - $this->expectExceptionMessage($message); - - $this->comparator->assertEquals($expected, $actual, $delta); - } -} diff --git a/paragonik-backend/vendor/sebastian/comparator/tests/ResourceComparatorTest.php b/paragonik-backend/vendor/sebastian/comparator/tests/ResourceComparatorTest.php deleted file mode 100644 index 158aaa9..0000000 --- a/paragonik-backend/vendor/sebastian/comparator/tests/ResourceComparatorTest.php +++ /dev/null @@ -1,122 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace SebastianBergmann\Comparator; - -use PHPUnit\Framework\TestCase; - -/** - * @covers \SebastianBergmann\Comparator\ResourceComparator - * - * @uses \SebastianBergmann\Comparator\Comparator - * @uses \SebastianBergmann\Comparator\Factory - * @uses \SebastianBergmann\Comparator\ComparisonFailure - */ -final class ResourceComparatorTest extends TestCase -{ - /** - * @var ResourceComparator - */ - private $comparator; - - protected function setUp(): void - { - $this->comparator = new ResourceComparator; - } - - public function acceptsSucceedsProvider() - { - $tmpfile1 = \tmpfile(); - $tmpfile2 = \tmpfile(); - - return [ - [$tmpfile1, $tmpfile1], - [$tmpfile2, $tmpfile2], - [$tmpfile1, $tmpfile2] - ]; - } - - public function acceptsFailsProvider() - { - $tmpfile1 = \tmpfile(); - - return [ - [$tmpfile1, null], - [null, $tmpfile1], - [null, null] - ]; - } - - public function assertEqualsSucceedsProvider() - { - $tmpfile1 = \tmpfile(); - $tmpfile2 = \tmpfile(); - - return [ - [$tmpfile1, $tmpfile1], - [$tmpfile2, $tmpfile2] - ]; - } - - public function assertEqualsFailsProvider() - { - $tmpfile1 = \tmpfile(); - $tmpfile2 = \tmpfile(); - - return [ - [$tmpfile1, $tmpfile2], - [$tmpfile2, $tmpfile1] - ]; - } - - /** - * @dataProvider acceptsSucceedsProvider - */ - public function testAcceptsSucceeds($expected, $actual): void - { - $this->assertTrue( - $this->comparator->accepts($expected, $actual) - ); - } - - /** - * @dataProvider acceptsFailsProvider - */ - public function testAcceptsFails($expected, $actual): void - { - $this->assertFalse( - $this->comparator->accepts($expected, $actual) - ); - } - - /** - * @dataProvider assertEqualsSucceedsProvider - */ - public function testAssertEqualsSucceeds($expected, $actual): void - { - $exception = null; - - try { - $this->comparator->assertEquals($expected, $actual); - } catch (ComparisonFailure $exception) { - } - - $this->assertNull($exception, 'Unexpected ComparisonFailure'); - } - - /** - * @dataProvider assertEqualsFailsProvider - */ - public function testAssertEqualsFails($expected, $actual): void - { - $this->expectException(ComparisonFailure::class); - - $this->comparator->assertEquals($expected, $actual); - } -} diff --git a/paragonik-backend/vendor/sebastian/comparator/tests/ScalarComparatorTest.php b/paragonik-backend/vendor/sebastian/comparator/tests/ScalarComparatorTest.php deleted file mode 100644 index 11feae2..0000000 --- a/paragonik-backend/vendor/sebastian/comparator/tests/ScalarComparatorTest.php +++ /dev/null @@ -1,164 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace SebastianBergmann\Comparator; - -use PHPUnit\Framework\TestCase; - -/** - * @covers \SebastianBergmann\Comparator\ScalarComparator - * - * @uses \SebastianBergmann\Comparator\Comparator - * @uses \SebastianBergmann\Comparator\Factory - * @uses \SebastianBergmann\Comparator\ComparisonFailure - */ -final class ScalarComparatorTest extends TestCase -{ - /** - * @var ScalarComparator - */ - private $comparator; - - protected function setUp(): void - { - $this->comparator = new ScalarComparator; - } - - public function acceptsSucceedsProvider() - { - return [ - ['string', 'string'], - [new ClassWithToString, 'string'], - ['string', new ClassWithToString], - ['string', null], - [false, 'string'], - [false, true], - [null, false], - [null, null], - ['10', 10], - ['', false], - ['1', true], - [1, true], - [0, false], - [0.1, '0.1'] - ]; - } - - public function acceptsFailsProvider() - { - return [ - [[], []], - ['string', []], - [new ClassWithToString, new ClassWithToString], - [false, new ClassWithToString], - [\tmpfile(), \tmpfile()] - ]; - } - - public function assertEqualsSucceedsProvider() - { - return [ - ['string', 'string'], - [new ClassWithToString, new ClassWithToString], - ['string representation', new ClassWithToString], - [new ClassWithToString, 'string representation'], - ['string', 'STRING', true], - ['STRING', 'string', true], - ['String Representation', new ClassWithToString, true], - [new ClassWithToString, 'String Representation', true], - ['10', 10], - ['', false], - ['1', true], - [1, true], - [0, false], - [0.1, '0.1'], - [false, null], - [false, false], - [true, true], - [null, null] - ]; - } - - public function assertEqualsFailsProvider() - { - $stringException = 'Failed asserting that two strings are equal.'; - $otherException = 'matches expected'; - - return [ - ['string', 'other string', $stringException], - ['string', 'STRING', $stringException], - ['STRING', 'string', $stringException], - ['string', 'other string', $stringException], - // https://github.com/sebastianbergmann/phpunit/issues/1023 - ['9E6666666', '9E7777777', $stringException], - [new ClassWithToString, 'does not match', $otherException], - ['does not match', new ClassWithToString, $otherException], - [0, 'Foobar', $otherException], - ['Foobar', 0, $otherException], - ['10', 25, $otherException], - ['1', false, $otherException], - ['', true, $otherException], - [false, true, $otherException], - [true, false, $otherException], - [null, true, $otherException], - [0, true, $otherException], - ['0', '0.0', $stringException], - ['0.', '0.0', $stringException], - ['0e1', '0e2', $stringException], - ["\n\n\n0.0", ' 0.', $stringException], - ['0.0', '25e-10000', $stringException], - ]; - } - - /** - * @dataProvider acceptsSucceedsProvider - */ - public function testAcceptsSucceeds($expected, $actual): void - { - $this->assertTrue( - $this->comparator->accepts($expected, $actual) - ); - } - - /** - * @dataProvider acceptsFailsProvider - */ - public function testAcceptsFails($expected, $actual): void - { - $this->assertFalse( - $this->comparator->accepts($expected, $actual) - ); - } - - /** - * @dataProvider assertEqualsSucceedsProvider - */ - public function testAssertEqualsSucceeds($expected, $actual, $ignoreCase = false): void - { - $exception = null; - - try { - $this->comparator->assertEquals($expected, $actual, 0.0, false, $ignoreCase); - } catch (ComparisonFailure $exception) { - } - - $this->assertNull($exception, 'Unexpected ComparisonFailure'); - } - - /** - * @dataProvider assertEqualsFailsProvider - */ - public function testAssertEqualsFails($expected, $actual, $message): void - { - $this->expectException(ComparisonFailure::class); - $this->expectExceptionMessage($message); - - $this->comparator->assertEquals($expected, $actual); - } -} diff --git a/paragonik-backend/vendor/sebastian/comparator/tests/SplObjectStorageComparatorTest.php b/paragonik-backend/vendor/sebastian/comparator/tests/SplObjectStorageComparatorTest.php deleted file mode 100644 index 19cbe71..0000000 --- a/paragonik-backend/vendor/sebastian/comparator/tests/SplObjectStorageComparatorTest.php +++ /dev/null @@ -1,145 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace SebastianBergmann\Comparator; - -use PHPUnit\Framework\TestCase; -use SplObjectStorage; -use stdClass; - -/** - * @covers \SebastianBergmann\Comparator\SplObjectStorageComparator - * - * @uses \SebastianBergmann\Comparator\Comparator - * @uses \SebastianBergmann\Comparator\Factory - * @uses \SebastianBergmann\Comparator\ComparisonFailure - */ -final class SplObjectStorageComparatorTest extends TestCase -{ - /** - * @var SplObjectStorageComparator - */ - private $comparator; - - protected function setUp(): void - { - $this->comparator = new SplObjectStorageComparator; - } - - public function acceptsFailsProvider() - { - return [ - [new SplObjectStorage, new stdClass], - [new stdClass, new SplObjectStorage], - [new stdClass, new stdClass] - ]; - } - - public function assertEqualsSucceedsProvider() - { - $object1 = new stdClass(); - $object2 = new stdClass(); - - $storage1 = new SplObjectStorage(); - $storage2 = new SplObjectStorage(); - - $storage3 = new SplObjectStorage(); - $storage3->attach($object1); - $storage3->attach($object2); - - $storage4 = new SplObjectStorage(); - $storage4->attach($object2); - $storage4->attach($object1); - - return [ - [$storage1, $storage1], - [$storage1, $storage2], - [$storage3, $storage3], - [$storage3, $storage4] - ]; - } - - public function assertEqualsFailsProvider() - { - $object1 = new stdClass; - $object2 = new stdClass; - - $storage1 = new SplObjectStorage; - - $storage2 = new SplObjectStorage; - $storage2->attach($object1); - - $storage3 = new SplObjectStorage; - $storage3->attach($object2); - $storage3->attach($object1); - - return [ - [$storage1, $storage2], - [$storage1, $storage3], - [$storage2, $storage3], - ]; - } - - public function testAcceptsSucceeds(): void - { - $this->assertTrue( - $this->comparator->accepts( - new SplObjectStorage, - new SplObjectStorage - ) - ); - } - - /** - * @dataProvider acceptsFailsProvider - */ - public function testAcceptsFails($expected, $actual): void - { - $this->assertFalse( - $this->comparator->accepts($expected, $actual) - ); - } - - /** - * @dataProvider assertEqualsSucceedsProvider - */ - public function testAssertEqualsSucceeds($expected, $actual): void - { - $exception = null; - - try { - $this->comparator->assertEquals($expected, $actual); - } catch (ComparisonFailure $exception) { - } - - $this->assertNull($exception, 'Unexpected ComparisonFailure'); - } - - /** - * @dataProvider assertEqualsFailsProvider - */ - public function testAssertEqualsFails($expected, $actual): void - { - $this->expectException(ComparisonFailure::class); - $this->expectExceptionMessage('Failed asserting that two objects are equal.'); - - $this->comparator->assertEquals($expected, $actual); - } - - public function testAssertEqualsFails2(): void - { - $this->expectException(ComparisonFailure::class); - $this->expectExceptionMessage('Failed asserting that two objects are equal.'); - - $t = new SplObjectStorage(); - $t->attach(new \stdClass()); - - $this->comparator->assertEquals($t, new \SplObjectStorage()); - } -} diff --git a/paragonik-backend/vendor/sebastian/comparator/tests/TypeComparatorTest.php b/paragonik-backend/vendor/sebastian/comparator/tests/TypeComparatorTest.php deleted file mode 100644 index b8586a5..0000000 --- a/paragonik-backend/vendor/sebastian/comparator/tests/TypeComparatorTest.php +++ /dev/null @@ -1,107 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace SebastianBergmann\Comparator; - -use PHPUnit\Framework\TestCase; -use stdClass; - -/** - * @covers \SebastianBergmann\Comparator\TypeComparator - * - * @uses \SebastianBergmann\Comparator\Comparator - * @uses \SebastianBergmann\Comparator\Factory - * @uses \SebastianBergmann\Comparator\ComparisonFailure - */ -final class TypeComparatorTest extends TestCase -{ - /** - * @var TypeComparator - */ - private $comparator; - - protected function setUp(): void - { - $this->comparator = new TypeComparator; - } - - public function acceptsSucceedsProvider() - { - return [ - [true, 1], - [false, [1]], - [null, new stdClass], - [1.0, 5], - ['', ''] - ]; - } - - public function assertEqualsSucceedsProvider() - { - return [ - [true, true], - [true, false], - [false, false], - [null, null], - [new stdClass, new stdClass], - [0, 0], - [1.0, 2.0], - ['hello', 'world'], - ['', ''], - [[], [1, 2, 3]] - ]; - } - - public function assertEqualsFailsProvider() - { - return [ - [true, null], - [null, false], - [1.0, 0], - [new stdClass, []], - ['1', 1] - ]; - } - - /** - * @dataProvider acceptsSucceedsProvider - */ - public function testAcceptsSucceeds($expected, $actual): void - { - $this->assertTrue( - $this->comparator->accepts($expected, $actual) - ); - } - - /** - * @dataProvider assertEqualsSucceedsProvider - */ - public function testAssertEqualsSucceeds($expected, $actual): void - { - $exception = null; - - try { - $this->comparator->assertEquals($expected, $actual); - } catch (ComparisonFailure $exception) { - } - - $this->assertNull($exception, 'Unexpected ComparisonFailure'); - } - - /** - * @dataProvider assertEqualsFailsProvider - */ - public function testAssertEqualsFails($expected, $actual): void - { - $this->expectException(ComparisonFailure::class); - $this->expectExceptionMessage('does not match expected type'); - - $this->comparator->assertEquals($expected, $actual); - } -} diff --git a/paragonik-backend/vendor/sebastian/comparator/tests/_fixture/Author.php b/paragonik-backend/vendor/sebastian/comparator/tests/_fixture/Author.php deleted file mode 100644 index efcb6c0..0000000 --- a/paragonik-backend/vendor/sebastian/comparator/tests/_fixture/Author.php +++ /dev/null @@ -1,26 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace SebastianBergmann\Comparator; - -/** - * An author. - */ -class Author -{ - // the order of properties is important for testing the cycle! - public $books = []; - - private $name = ''; - - public function __construct($name) - { - $this->name = $name; - } -} diff --git a/paragonik-backend/vendor/sebastian/comparator/tests/_fixture/Book.php b/paragonik-backend/vendor/sebastian/comparator/tests/_fixture/Book.php deleted file mode 100644 index 73a5c1b..0000000 --- a/paragonik-backend/vendor/sebastian/comparator/tests/_fixture/Book.php +++ /dev/null @@ -1,19 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace SebastianBergmann\Comparator; - -/** - * A book. - */ -class Book -{ - // the order of properties is important for testing the cycle! - public $author; -} diff --git a/paragonik-backend/vendor/sebastian/comparator/tests/_fixture/ClassWithToString.php b/paragonik-backend/vendor/sebastian/comparator/tests/_fixture/ClassWithToString.php deleted file mode 100644 index 488e85a..0000000 --- a/paragonik-backend/vendor/sebastian/comparator/tests/_fixture/ClassWithToString.php +++ /dev/null @@ -1,18 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace SebastianBergmann\Comparator; - -class ClassWithToString -{ - public function __toString() - { - return 'string representation'; - } -} diff --git a/paragonik-backend/vendor/sebastian/comparator/tests/_fixture/SampleClass.php b/paragonik-backend/vendor/sebastian/comparator/tests/_fixture/SampleClass.php deleted file mode 100644 index 7e455e8..0000000 --- a/paragonik-backend/vendor/sebastian/comparator/tests/_fixture/SampleClass.php +++ /dev/null @@ -1,29 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace SebastianBergmann\Comparator; - -/** - * A sample class. - */ -class SampleClass -{ - public $a; - - protected $b; - - protected $c; - - public function __construct($a, $b, $c) - { - $this->a = $a; - $this->b = $b; - $this->c = $c; - } -} diff --git a/paragonik-backend/vendor/sebastian/comparator/tests/_fixture/Struct.php b/paragonik-backend/vendor/sebastian/comparator/tests/_fixture/Struct.php deleted file mode 100644 index 7710de8..0000000 --- a/paragonik-backend/vendor/sebastian/comparator/tests/_fixture/Struct.php +++ /dev/null @@ -1,23 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace SebastianBergmann\Comparator; - -/** - * A struct. - */ -class Struct -{ - public $var; - - public function __construct($var) - { - $this->var = $var; - } -} diff --git a/paragonik-backend/vendor/sebastian/comparator/tests/_fixture/TestClass.php b/paragonik-backend/vendor/sebastian/comparator/tests/_fixture/TestClass.php deleted file mode 100644 index fd10c1b..0000000 --- a/paragonik-backend/vendor/sebastian/comparator/tests/_fixture/TestClass.php +++ /dev/null @@ -1,14 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace SebastianBergmann\Comparator; - -class TestClass -{ -} diff --git a/paragonik-backend/vendor/sebastian/comparator/tests/_fixture/TestClassComparator.php b/paragonik-backend/vendor/sebastian/comparator/tests/_fixture/TestClassComparator.php deleted file mode 100644 index 014de67..0000000 --- a/paragonik-backend/vendor/sebastian/comparator/tests/_fixture/TestClassComparator.php +++ /dev/null @@ -1,14 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace SebastianBergmann\Comparator; - -class TestClassComparator extends ObjectComparator -{ -} diff --git a/paragonik-backend/vendor/sebastian/diff/.github/stale.yml b/paragonik-backend/vendor/sebastian/diff/.github/stale.yml deleted file mode 100644 index 1c523ab..0000000 --- a/paragonik-backend/vendor/sebastian/diff/.github/stale.yml +++ /dev/null @@ -1,40 +0,0 @@ -# Configuration for probot-stale - https://github.com/probot/stale - -# Number of days of inactivity before an Issue or Pull Request becomes stale -daysUntilStale: 60 - -# Number of days of inactivity before a stale Issue or Pull Request is closed. -# Set to false to disable. If disabled, issues still need to be closed manually, but will remain marked as stale. -daysUntilClose: 7 - -# Issues or Pull Requests with these labels will never be considered stale. Set to `[]` to disable -exemptLabels: - - enhancement - -# Set to true to ignore issues in a project (defaults to false) -exemptProjects: false - -# Set to true to ignore issues in a milestone (defaults to false) -exemptMilestones: false - -# Label to use when marking as stale -staleLabel: wontfix - -# Comment to post when marking as stale. Set to `false` to disable -markComment: > - This issue has been automatically marked as stale because it has not had activity within the last 60 days. It will be closed after 7 days if no further activity occurs. Thank you for your contributions. - -# Comment to post when removing the stale label. -# unmarkComment: > -# Your comment here. - -# Comment to post when closing a stale Issue or Pull Request. -closeComment: > - This issue has been automatically closed because it has not had activity since it was marked as stale. Thank you for your contributions. - -# Limit the number of actions per hour, from 1-30. Default is 30 -limitPerRun: 30 - -# Limit to only `issues` or `pulls` -only: issues - diff --git a/paragonik-backend/vendor/sebastian/diff/.gitignore b/paragonik-backend/vendor/sebastian/diff/.gitignore deleted file mode 100644 index 35dc211..0000000 --- a/paragonik-backend/vendor/sebastian/diff/.gitignore +++ /dev/null @@ -1,6 +0,0 @@ -/.idea -/composer.lock -/vendor -/.php_cs.cache -/.phpunit.result.cache -/from.txt.orig \ No newline at end of file diff --git a/paragonik-backend/vendor/sebastian/diff/.php_cs.dist b/paragonik-backend/vendor/sebastian/diff/.php_cs.dist deleted file mode 100644 index 9214607..0000000 --- a/paragonik-backend/vendor/sebastian/diff/.php_cs.dist +++ /dev/null @@ -1,168 +0,0 @@ - - -For the full copyright and license information, please view the LICENSE -file that was distributed with this source code. -EOF; - -return PhpCsFixer\Config::create() - ->setRiskyAllowed(true) - ->setRules( - [ - 'array_syntax' => ['syntax' => 'short'], - 'binary_operator_spaces' => [ - 'operators' => [ - '=' => 'align', - '=>' => 'align', - ], - ], - 'blank_line_after_namespace' => true, - 'blank_line_before_statement' => [ - 'statements' => [ - 'break', - 'continue', - 'declare', - 'do', - 'for', - 'foreach', - 'if', - 'include', - 'include_once', - 'require', - 'require_once', - 'return', - 'switch', - 'throw', - 'try', - 'while', - 'yield', - ], - ], - 'braces' => true, - 'cast_spaces' => true, - 'class_attributes_separation' => ['elements' => ['method']], - 'compact_nullable_typehint' => true, - 'concat_space' => ['spacing' => 'one'], - 'declare_equal_normalize' => ['space' => 'none'], - 'declare_strict_types' => true, - 'dir_constant' => true, - 'elseif' => true, - 'encoding' => true, - 'full_opening_tag' => true, - 'function_declaration' => true, - 'header_comment' => ['header' => $header, 'separate' => 'none'], - 'indentation_type' => true, - 'line_ending' => true, - 'list_syntax' => ['syntax' => 'short'], - 'lowercase_cast' => true, - 'lowercase_constants' => true, - 'lowercase_keywords' => true, - 'magic_constant_casing' => true, - 'method_argument_space' => ['ensure_fully_multiline' => true], - 'modernize_types_casting' => true, - 'native_function_casing' => true, - 'native_function_invocation' => true, - 'no_alias_functions' => true, - 'no_blank_lines_after_class_opening' => true, - 'no_blank_lines_after_phpdoc' => true, - 'no_closing_tag' => true, - 'no_empty_comment' => true, - 'no_empty_phpdoc' => true, - 'no_empty_statement' => true, - 'no_extra_blank_lines' => true, - 'no_homoglyph_names' => true, - 'no_leading_import_slash' => true, - 'no_leading_namespace_whitespace' => true, - 'no_mixed_echo_print' => ['use' => 'print'], - 'no_null_property_initialization' => true, - 'no_short_bool_cast' => true, - 'no_short_echo_tag' => true, - 'no_singleline_whitespace_before_semicolons' => true, - 'no_spaces_after_function_name' => true, - 'no_spaces_inside_parenthesis' => true, - 'no_superfluous_elseif' => true, - 'no_trailing_comma_in_list_call' => true, - 'no_trailing_comma_in_singleline_array' => true, - 'no_trailing_whitespace' => true, - 'no_trailing_whitespace_in_comment' => true, - 'no_unneeded_control_parentheses' => true, - 'no_unneeded_curly_braces' => true, - 'no_unneeded_final_method' => true, - 'no_unreachable_default_argument_value' => true, - 'no_unused_imports' => true, - 'no_useless_else' => true, - 'no_whitespace_before_comma_in_array' => true, - 'no_whitespace_in_blank_line' => true, - 'non_printable_character' => true, - 'normalize_index_brace' => true, - 'object_operator_without_whitespace' => true, - 'ordered_class_elements' => [ - 'order' => [ - 'use_trait', - 'constant_public', - 'constant_protected', - 'constant_private', - 'property_public_static', - 'property_protected_static', - 'property_private_static', - 'property_public', - 'property_protected', - 'property_private', - 'method_public_static', - 'construct', - 'destruct', - 'magic', - 'phpunit', - 'method_public', - 'method_protected', - 'method_private', - 'method_protected_static', - 'method_private_static', - ], - ], - 'ordered_imports' => true, - 'phpdoc_add_missing_param_annotation' => true, - 'phpdoc_align' => true, - 'phpdoc_annotation_without_dot' => true, - 'phpdoc_indent' => true, - 'phpdoc_no_access' => true, - 'phpdoc_no_empty_return' => true, - 'phpdoc_no_package' => true, - 'phpdoc_order' => true, - 'phpdoc_return_self_reference' => true, - 'phpdoc_scalar' => true, - 'phpdoc_separation' => true, - 'phpdoc_single_line_var_spacing' => true, - 'phpdoc_to_comment' => true, - 'phpdoc_trim' => true, - 'phpdoc_types' => true, - 'phpdoc_types_order' => true, - 'phpdoc_var_without_name' => true, - 'pow_to_exponentiation' => true, - 'protected_to_private' => true, - 'return_type_declaration' => ['space_before' => 'none'], - 'self_accessor' => true, - 'short_scalar_cast' => true, - 'simplified_null_return' => true, - 'single_blank_line_at_eof' => true, - 'single_import_per_statement' => true, - 'single_line_after_imports' => true, - 'single_quote' => true, - 'standardize_not_equals' => true, - 'ternary_to_null_coalescing' => true, - 'trim_array_spaces' => true, - 'unary_operator_spaces' => true, - 'visibility_required' => true, - 'void_return' => true, - 'whitespace_after_comma_in_array' => true, - ] - ) - ->setFinder( - PhpCsFixer\Finder::create() - ->files() - ->in(__DIR__ . '/src') - ->in(__DIR__ . '/tests') - ); diff --git a/paragonik-backend/vendor/sebastian/diff/.travis.yml b/paragonik-backend/vendor/sebastian/diff/.travis.yml deleted file mode 100644 index 13cd9ff..0000000 --- a/paragonik-backend/vendor/sebastian/diff/.travis.yml +++ /dev/null @@ -1,26 +0,0 @@ -language: php - -php: - - 7.1 - - 7.2 - - 7.3 - - master - -sudo: false - -before_install: - - composer self-update - - composer clear-cache - -install: - - travis_retry composer update --no-interaction --no-ansi --no-progress --no-suggest --optimize-autoloader --prefer-stable - -script: - - ./vendor/bin/phpunit --coverage-clover=coverage.xml - -after_success: - - bash <(curl -s https://codecov.io/bash) - -notifications: - email: false - diff --git a/paragonik-backend/vendor/sebastian/diff/ChangeLog.md b/paragonik-backend/vendor/sebastian/diff/ChangeLog.md deleted file mode 100644 index 76ccd87..0000000 --- a/paragonik-backend/vendor/sebastian/diff/ChangeLog.md +++ /dev/null @@ -1,53 +0,0 @@ -# ChangeLog - -All notable changes are documented in this file using the [Keep a CHANGELOG](http://keepachangelog.com/) principles. - -## [3.0.2] - 2019-02-04 - -### Changed - -* `Chunk::setLines()` now ensures that the `$lines` array only contains `Line` objects - -## [3.0.1] - 2018-06-10 - -### Fixed - -* Removed `"minimum-stability": "dev",` from `composer.json` - -## [3.0.0] - 2018-02-01 - -* The `StrictUnifiedDiffOutputBuilder` implementation of the `DiffOutputBuilderInterface` was added - -### Changed - -* The default `DiffOutputBuilderInterface` implementation now generates context lines (unchanged lines) - -### Removed - -* Removed support for PHP 7.0 - -### Fixed - -* Fixed [#70](https://github.com/sebastianbergmann/diff/issues/70): Diffing of arrays no longer works - -## [2.0.1] - 2017-08-03 - -### Fixed - -* Fixed [#66](https://github.com/sebastianbergmann/diff/pull/66): Restored backwards compatibility for PHPUnit 6.1.4, 6.2.0, 6.2.1, 6.2.2, and 6.2.3 - -## [2.0.0] - 2017-07-11 [YANKED] - -### Added - -* Implemented [#64](https://github.com/sebastianbergmann/diff/pull/64): Show line numbers for chunks of a diff - -### Removed - -* This component is no longer supported on PHP 5.6 - -[3.0.2]: https://github.com/sebastianbergmann/diff/compare/3.0.1...3.0.2 -[3.0.1]: https://github.com/sebastianbergmann/diff/compare/3.0.0...3.0.1 -[3.0.0]: https://github.com/sebastianbergmann/diff/compare/2.0...3.0.0 -[2.0.1]: https://github.com/sebastianbergmann/diff/compare/c341c98ce083db77f896a0aa64f5ee7652915970...2.0.1 -[2.0.0]: https://github.com/sebastianbergmann/diff/compare/1.4...c341c98ce083db77f896a0aa64f5ee7652915970 diff --git a/paragonik-backend/vendor/sebastian/diff/LICENSE b/paragonik-backend/vendor/sebastian/diff/LICENSE deleted file mode 100644 index 3ad1d7c..0000000 --- a/paragonik-backend/vendor/sebastian/diff/LICENSE +++ /dev/null @@ -1,33 +0,0 @@ -sebastian/diff - -Copyright (c) 2002-2019, Sebastian Bergmann . -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of Sebastian Bergmann nor the names of his - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. diff --git a/paragonik-backend/vendor/sebastian/diff/README.md b/paragonik-backend/vendor/sebastian/diff/README.md deleted file mode 100644 index 78dbecd..0000000 --- a/paragonik-backend/vendor/sebastian/diff/README.md +++ /dev/null @@ -1,195 +0,0 @@ -# sebastian/diff - -Diff implementation for PHP, factored out of PHPUnit into a stand-alone component. - -## Installation - -You can add this library as a local, per-project dependency to your project using [Composer](https://getcomposer.org/): - - composer require sebastian/diff - -If you only need this library during development, for instance to run your project's test suite, then you should add it as a development-time dependency: - - composer require --dev sebastian/diff - -### Usage - -#### Generating diff - -The `Differ` class can be used to generate a textual representation of the difference between two strings: - -```php -diff('foo', 'bar'); -``` - -The code above yields the output below: -```diff ---- Original -+++ New -@@ @@ --foo -+bar -``` - -There are three output builders available in this package: - -#### UnifiedDiffOutputBuilder - -This is default builder, which generates the output close to udiff and is used by PHPUnit. - -```php -diff('foo', 'bar'); -``` - -#### StrictUnifiedDiffOutputBuilder - -Generates (strict) Unified diff's (unidiffs) with hunks, -similar to `diff -u` and compatible with `patch` and `git apply`. - -```php - true, // ranges of length one are rendered with the trailing `,1` - 'commonLineThreshold' => 6, // number of same lines before ending a new hunk and creating a new one (if needed) - 'contextLines' => 3, // like `diff: -u, -U NUM, --unified[=NUM]`, for patch/git apply compatibility best to keep at least @ 3 - 'fromFile' => null, - 'fromFileDate' => null, - 'toFile' => null, - 'toFileDate' => null, -]); - -$differ = new Differ($builder); -print $differ->diff('foo', 'bar'); -``` - -#### DiffOnlyOutputBuilder - -Output only the lines that differ. - -```php -diff('foo', 'bar'); -``` - -#### DiffOutputBuilderInterface - -You can pass any output builder to the `Differ` class as longs as it implements the `DiffOutputBuilderInterface`. - -#### Parsing diff - -The `Parser` class can be used to parse a unified diff into an object graph: - -```php -use SebastianBergmann\Diff\Parser; -use SebastianBergmann\Git; - -$git = new Git('/usr/local/src/money'); - -$diff = $git->getDiff( - '948a1a07768d8edd10dcefa8315c1cbeffb31833', - 'c07a373d2399f3e686234c4f7f088d635eb9641b' -); - -$parser = new Parser; - -print_r($parser->parse($diff)); -``` - -The code above yields the output below: - - Array - ( - [0] => SebastianBergmann\Diff\Diff Object - ( - [from:SebastianBergmann\Diff\Diff:private] => a/tests/MoneyTest.php - [to:SebastianBergmann\Diff\Diff:private] => b/tests/MoneyTest.php - [chunks:SebastianBergmann\Diff\Diff:private] => Array - ( - [0] => SebastianBergmann\Diff\Chunk Object - ( - [start:SebastianBergmann\Diff\Chunk:private] => 87 - [startRange:SebastianBergmann\Diff\Chunk:private] => 7 - [end:SebastianBergmann\Diff\Chunk:private] => 87 - [endRange:SebastianBergmann\Diff\Chunk:private] => 7 - [lines:SebastianBergmann\Diff\Chunk:private] => Array - ( - [0] => SebastianBergmann\Diff\Line Object - ( - [type:SebastianBergmann\Diff\Line:private] => 3 - [content:SebastianBergmann\Diff\Line:private] => * @covers SebastianBergmann\Money\Money::add - ) - - [1] => SebastianBergmann\Diff\Line Object - ( - [type:SebastianBergmann\Diff\Line:private] => 3 - [content:SebastianBergmann\Diff\Line:private] => * @covers SebastianBergmann\Money\Money::newMoney - ) - - [2] => SebastianBergmann\Diff\Line Object - ( - [type:SebastianBergmann\Diff\Line:private] => 3 - [content:SebastianBergmann\Diff\Line:private] => */ - ) - - [3] => SebastianBergmann\Diff\Line Object - ( - [type:SebastianBergmann\Diff\Line:private] => 2 - [content:SebastianBergmann\Diff\Line:private] => public function testAnotherMoneyWithSameCurrencyObjectCanBeAdded() - ) - - [4] => SebastianBergmann\Diff\Line Object - ( - [type:SebastianBergmann\Diff\Line:private] => 1 - [content:SebastianBergmann\Diff\Line:private] => public function testAnotherMoneyObjectWithSameCurrencyCanBeAdded() - ) - - [5] => SebastianBergmann\Diff\Line Object - ( - [type:SebastianBergmann\Diff\Line:private] => 3 - [content:SebastianBergmann\Diff\Line:private] => { - ) - - [6] => SebastianBergmann\Diff\Line Object - ( - [type:SebastianBergmann\Diff\Line:private] => 3 - [content:SebastianBergmann\Diff\Line:private] => $a = new Money(1, new Currency('EUR')); - ) - - [7] => SebastianBergmann\Diff\Line Object - ( - [type:SebastianBergmann\Diff\Line:private] => 3 - [content:SebastianBergmann\Diff\Line:private] => $b = new Money(2, new Currency('EUR')); - ) - ) - ) - ) - ) - ) diff --git a/paragonik-backend/vendor/sebastian/diff/build.xml b/paragonik-backend/vendor/sebastian/diff/build.xml deleted file mode 100644 index fa7b7e2..0000000 --- a/paragonik-backend/vendor/sebastian/diff/build.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - diff --git a/paragonik-backend/vendor/sebastian/diff/composer.json b/paragonik-backend/vendor/sebastian/diff/composer.json deleted file mode 100644 index 59520e9..0000000 --- a/paragonik-backend/vendor/sebastian/diff/composer.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "name": "sebastian/diff", - "description": "Diff implementation", - "keywords": ["diff", "udiff", "unidiff", "unified diff"], - "homepage": "https://github.com/sebastianbergmann/diff", - "license": "BSD-3-Clause", - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Kore Nordmann", - "email": "mail@kore-nordmann.de" - } - ], - "require": { - "php": "^7.1" - }, - "require-dev": { - "phpunit/phpunit": "^7.5 || ^8.0", - "symfony/process": "^2 || ^3.3 || ^4" - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "autoload-dev": { - "classmap": [ - "tests/" - ] - }, - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - } -} diff --git a/paragonik-backend/vendor/sebastian/diff/phpunit.xml b/paragonik-backend/vendor/sebastian/diff/phpunit.xml deleted file mode 100644 index 3e12be4..0000000 --- a/paragonik-backend/vendor/sebastian/diff/phpunit.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - tests - - - - - - src - - - diff --git a/paragonik-backend/vendor/sebastian/diff/src/Chunk.php b/paragonik-backend/vendor/sebastian/diff/src/Chunk.php deleted file mode 100644 index d030954..0000000 --- a/paragonik-backend/vendor/sebastian/diff/src/Chunk.php +++ /dev/null @@ -1,90 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace SebastianBergmann\Diff; - -final class Chunk -{ - /** - * @var int - */ - private $start; - - /** - * @var int - */ - private $startRange; - - /** - * @var int - */ - private $end; - - /** - * @var int - */ - private $endRange; - - /** - * @var Line[] - */ - private $lines; - - public function __construct(int $start = 0, int $startRange = 1, int $end = 0, int $endRange = 1, array $lines = []) - { - $this->start = $start; - $this->startRange = $startRange; - $this->end = $end; - $this->endRange = $endRange; - $this->lines = $lines; - } - - public function getStart(): int - { - return $this->start; - } - - public function getStartRange(): int - { - return $this->startRange; - } - - public function getEnd(): int - { - return $this->end; - } - - public function getEndRange(): int - { - return $this->endRange; - } - - /** - * @return Line[] - */ - public function getLines(): array - { - return $this->lines; - } - - /** - * @param Line[] $lines - */ - public function setLines(array $lines): void - { - foreach ($lines as $line) { - if (!$line instanceof Line) { - throw new InvalidArgumentException; - } - } - - $this->lines = $lines; - } -} diff --git a/paragonik-backend/vendor/sebastian/diff/src/Diff.php b/paragonik-backend/vendor/sebastian/diff/src/Diff.php deleted file mode 100644 index 3029e59..0000000 --- a/paragonik-backend/vendor/sebastian/diff/src/Diff.php +++ /dev/null @@ -1,67 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace SebastianBergmann\Diff; - -final class Diff -{ - /** - * @var string - */ - private $from; - - /** - * @var string - */ - private $to; - - /** - * @var Chunk[] - */ - private $chunks; - - /** - * @param string $from - * @param string $to - * @param Chunk[] $chunks - */ - public function __construct(string $from, string $to, array $chunks = []) - { - $this->from = $from; - $this->to = $to; - $this->chunks = $chunks; - } - - public function getFrom(): string - { - return $this->from; - } - - public function getTo(): string - { - return $this->to; - } - - /** - * @return Chunk[] - */ - public function getChunks(): array - { - return $this->chunks; - } - - /** - * @param Chunk[] $chunks - */ - public function setChunks(array $chunks): void - { - $this->chunks = $chunks; - } -} diff --git a/paragonik-backend/vendor/sebastian/diff/src/Differ.php b/paragonik-backend/vendor/sebastian/diff/src/Differ.php deleted file mode 100644 index 3c90a5a..0000000 --- a/paragonik-backend/vendor/sebastian/diff/src/Differ.php +++ /dev/null @@ -1,330 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace SebastianBergmann\Diff; - -use SebastianBergmann\Diff\Output\DiffOutputBuilderInterface; -use SebastianBergmann\Diff\Output\UnifiedDiffOutputBuilder; - -/** - * Diff implementation. - */ -final class Differ -{ - public const OLD = 0; - public const ADDED = 1; - public const REMOVED = 2; - public const DIFF_LINE_END_WARNING = 3; - public const NO_LINE_END_EOF_WARNING = 4; - - /** - * @var DiffOutputBuilderInterface - */ - private $outputBuilder; - - /** - * @param DiffOutputBuilderInterface $outputBuilder - * - * @throws InvalidArgumentException - */ - public function __construct($outputBuilder = null) - { - if ($outputBuilder instanceof DiffOutputBuilderInterface) { - $this->outputBuilder = $outputBuilder; - } elseif (null === $outputBuilder) { - $this->outputBuilder = new UnifiedDiffOutputBuilder; - } elseif (\is_string($outputBuilder)) { - // PHPUnit 6.1.4, 6.2.0, 6.2.1, 6.2.2, and 6.2.3 support - // @see https://github.com/sebastianbergmann/phpunit/issues/2734#issuecomment-314514056 - // @deprecated - $this->outputBuilder = new UnifiedDiffOutputBuilder($outputBuilder); - } else { - throw new InvalidArgumentException( - \sprintf( - 'Expected builder to be an instance of DiffOutputBuilderInterface, or a string, got %s.', - \is_object($outputBuilder) ? 'instance of "' . \get_class($outputBuilder) . '"' : \gettype($outputBuilder) . ' "' . $outputBuilder . '"' - ) - ); - } - } - - /** - * Returns the diff between two arrays or strings as string. - * - * @param array|string $from - * @param array|string $to - * @param null|LongestCommonSubsequenceCalculator $lcs - * - * @return string - */ - public function diff($from, $to, LongestCommonSubsequenceCalculator $lcs = null): string - { - $diff = $this->diffToArray( - $this->normalizeDiffInput($from), - $this->normalizeDiffInput($to), - $lcs - ); - - return $this->outputBuilder->getDiff($diff); - } - - /** - * Returns the diff between two arrays or strings as array. - * - * Each array element contains two elements: - * - [0] => mixed $token - * - [1] => 2|1|0 - * - * - 2: REMOVED: $token was removed from $from - * - 1: ADDED: $token was added to $from - * - 0: OLD: $token is not changed in $to - * - * @param array|string $from - * @param array|string $to - * @param LongestCommonSubsequenceCalculator $lcs - * - * @return array - */ - public function diffToArray($from, $to, LongestCommonSubsequenceCalculator $lcs = null): array - { - if (\is_string($from)) { - $from = $this->splitStringByLines($from); - } elseif (!\is_array($from)) { - throw new InvalidArgumentException('"from" must be an array or string.'); - } - - if (\is_string($to)) { - $to = $this->splitStringByLines($to); - } elseif (!\is_array($to)) { - throw new InvalidArgumentException('"to" must be an array or string.'); - } - - [$from, $to, $start, $end] = self::getArrayDiffParted($from, $to); - - if ($lcs === null) { - $lcs = $this->selectLcsImplementation($from, $to); - } - - $common = $lcs->calculate(\array_values($from), \array_values($to)); - $diff = []; - - foreach ($start as $token) { - $diff[] = [$token, self::OLD]; - } - - \reset($from); - \reset($to); - - foreach ($common as $token) { - while (($fromToken = \reset($from)) !== $token) { - $diff[] = [\array_shift($from), self::REMOVED]; - } - - while (($toToken = \reset($to)) !== $token) { - $diff[] = [\array_shift($to), self::ADDED]; - } - - $diff[] = [$token, self::OLD]; - - \array_shift($from); - \array_shift($to); - } - - while (($token = \array_shift($from)) !== null) { - $diff[] = [$token, self::REMOVED]; - } - - while (($token = \array_shift($to)) !== null) { - $diff[] = [$token, self::ADDED]; - } - - foreach ($end as $token) { - $diff[] = [$token, self::OLD]; - } - - if ($this->detectUnmatchedLineEndings($diff)) { - \array_unshift($diff, ["#Warning: Strings contain different line endings!\n", self::DIFF_LINE_END_WARNING]); - } - - return $diff; - } - - /** - * Casts variable to string if it is not a string or array. - * - * @param mixed $input - * - * @return array|string - */ - private function normalizeDiffInput($input) - { - if (!\is_array($input) && !\is_string($input)) { - return (string) $input; - } - - return $input; - } - - /** - * Checks if input is string, if so it will split it line-by-line. - * - * @param string $input - * - * @return array - */ - private function splitStringByLines(string $input): array - { - return \preg_split('/(.*\R)/', $input, -1, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY); - } - - /** - * @param array $from - * @param array $to - * - * @return LongestCommonSubsequenceCalculator - */ - private function selectLcsImplementation(array $from, array $to): LongestCommonSubsequenceCalculator - { - // We do not want to use the time-efficient implementation if its memory - // footprint will probably exceed this value. Note that the footprint - // calculation is only an estimation for the matrix and the LCS method - // will typically allocate a bit more memory than this. - $memoryLimit = 100 * 1024 * 1024; - - if ($this->calculateEstimatedFootprint($from, $to) > $memoryLimit) { - return new MemoryEfficientLongestCommonSubsequenceCalculator; - } - - return new TimeEfficientLongestCommonSubsequenceCalculator; - } - - /** - * Calculates the estimated memory footprint for the DP-based method. - * - * @param array $from - * @param array $to - * - * @return float|int - */ - private function calculateEstimatedFootprint(array $from, array $to) - { - $itemSize = PHP_INT_SIZE === 4 ? 76 : 144; - - return $itemSize * \min(\count($from), \count($to)) ** 2; - } - - /** - * Returns true if line ends don't match in a diff. - * - * @param array $diff - * - * @return bool - */ - private function detectUnmatchedLineEndings(array $diff): bool - { - $newLineBreaks = ['' => true]; - $oldLineBreaks = ['' => true]; - - foreach ($diff as $entry) { - if (self::OLD === $entry[1]) { - $ln = $this->getLinebreak($entry[0]); - $oldLineBreaks[$ln] = true; - $newLineBreaks[$ln] = true; - } elseif (self::ADDED === $entry[1]) { - $newLineBreaks[$this->getLinebreak($entry[0])] = true; - } elseif (self::REMOVED === $entry[1]) { - $oldLineBreaks[$this->getLinebreak($entry[0])] = true; - } - } - - // if either input or output is a single line without breaks than no warning should be raised - if (['' => true] === $newLineBreaks || ['' => true] === $oldLineBreaks) { - return false; - } - - // two way compare - foreach ($newLineBreaks as $break => $set) { - if (!isset($oldLineBreaks[$break])) { - return true; - } - } - - foreach ($oldLineBreaks as $break => $set) { - if (!isset($newLineBreaks[$break])) { - return true; - } - } - - return false; - } - - private function getLinebreak($line): string - { - if (!\is_string($line)) { - return ''; - } - - $lc = \substr($line, -1); - - if ("\r" === $lc) { - return "\r"; - } - - if ("\n" !== $lc) { - return ''; - } - - if ("\r\n" === \substr($line, -2)) { - return "\r\n"; - } - - return "\n"; - } - - private static function getArrayDiffParted(array &$from, array &$to): array - { - $start = []; - $end = []; - - \reset($to); - - foreach ($from as $k => $v) { - $toK = \key($to); - - if ($toK === $k && $v === $to[$k]) { - $start[$k] = $v; - - unset($from[$k], $to[$k]); - } else { - break; - } - } - - \end($from); - \end($to); - - do { - $fromK = \key($from); - $toK = \key($to); - - if (null === $fromK || null === $toK || \current($from) !== \current($to)) { - break; - } - - \prev($from); - \prev($to); - - $end = [$fromK => $from[$fromK]] + $end; - unset($from[$fromK], $to[$toK]); - } while (true); - - return [$from, $to, $start, $end]; - } -} diff --git a/paragonik-backend/vendor/sebastian/diff/src/Exception/ConfigurationException.php b/paragonik-backend/vendor/sebastian/diff/src/Exception/ConfigurationException.php deleted file mode 100644 index 78f16fd..0000000 --- a/paragonik-backend/vendor/sebastian/diff/src/Exception/ConfigurationException.php +++ /dev/null @@ -1,40 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace SebastianBergmann\Diff; - -final class ConfigurationException extends InvalidArgumentException -{ - /** - * @param string $option - * @param string $expected - * @param mixed $value - * @param int $code - * @param null|\Exception $previous - */ - public function __construct( - string $option, - string $expected, - $value, - int $code = 0, - \Exception $previous = null - ) { - parent::__construct( - \sprintf( - 'Option "%s" must be %s, got "%s".', - $option, - $expected, - \is_object($value) ? \get_class($value) : (null === $value ? '' : \gettype($value) . '#' . $value) - ), - $code, - $previous - ); - } -} diff --git a/paragonik-backend/vendor/sebastian/diff/src/Exception/Exception.php b/paragonik-backend/vendor/sebastian/diff/src/Exception/Exception.php deleted file mode 100644 index 249a2ba..0000000 --- a/paragonik-backend/vendor/sebastian/diff/src/Exception/Exception.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace SebastianBergmann\Diff; - -interface Exception -{ -} diff --git a/paragonik-backend/vendor/sebastian/diff/src/Exception/InvalidArgumentException.php b/paragonik-backend/vendor/sebastian/diff/src/Exception/InvalidArgumentException.php deleted file mode 100644 index 7bca77d..0000000 --- a/paragonik-backend/vendor/sebastian/diff/src/Exception/InvalidArgumentException.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace SebastianBergmann\Diff; - -class InvalidArgumentException extends \InvalidArgumentException implements Exception -{ -} diff --git a/paragonik-backend/vendor/sebastian/diff/src/Line.php b/paragonik-backend/vendor/sebastian/diff/src/Line.php deleted file mode 100644 index 125bafd..0000000 --- a/paragonik-backend/vendor/sebastian/diff/src/Line.php +++ /dev/null @@ -1,44 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace SebastianBergmann\Diff; - -final class Line -{ - public const ADDED = 1; - public const REMOVED = 2; - public const UNCHANGED = 3; - - /** - * @var int - */ - private $type; - - /** - * @var string - */ - private $content; - - public function __construct(int $type = self::UNCHANGED, string $content = '') - { - $this->type = $type; - $this->content = $content; - } - - public function getContent(): string - { - return $this->content; - } - - public function getType(): int - { - return $this->type; - } -} diff --git a/paragonik-backend/vendor/sebastian/diff/src/LongestCommonSubsequenceCalculator.php b/paragonik-backend/vendor/sebastian/diff/src/LongestCommonSubsequenceCalculator.php deleted file mode 100644 index 7eb1707..0000000 --- a/paragonik-backend/vendor/sebastian/diff/src/LongestCommonSubsequenceCalculator.php +++ /dev/null @@ -1,24 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace SebastianBergmann\Diff; - -interface LongestCommonSubsequenceCalculator -{ - /** - * Calculates the longest common subsequence of two arrays. - * - * @param array $from - * @param array $to - * - * @return array - */ - public function calculate(array $from, array $to): array; -} diff --git a/paragonik-backend/vendor/sebastian/diff/src/MemoryEfficientLongestCommonSubsequenceCalculator.php b/paragonik-backend/vendor/sebastian/diff/src/MemoryEfficientLongestCommonSubsequenceCalculator.php deleted file mode 100644 index 82dc20c..0000000 --- a/paragonik-backend/vendor/sebastian/diff/src/MemoryEfficientLongestCommonSubsequenceCalculator.php +++ /dev/null @@ -1,81 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace SebastianBergmann\Diff; - -final class MemoryEfficientLongestCommonSubsequenceCalculator implements LongestCommonSubsequenceCalculator -{ - /** - * {@inheritdoc} - */ - public function calculate(array $from, array $to): array - { - $cFrom = \count($from); - $cTo = \count($to); - - if ($cFrom === 0) { - return []; - } - - if ($cFrom === 1) { - if (\in_array($from[0], $to, true)) { - return [$from[0]]; - } - - return []; - } - - $i = (int) ($cFrom / 2); - $fromStart = \array_slice($from, 0, $i); - $fromEnd = \array_slice($from, $i); - $llB = $this->length($fromStart, $to); - $llE = $this->length(\array_reverse($fromEnd), \array_reverse($to)); - $jMax = 0; - $max = 0; - - for ($j = 0; $j <= $cTo; $j++) { - $m = $llB[$j] + $llE[$cTo - $j]; - - if ($m >= $max) { - $max = $m; - $jMax = $j; - } - } - - $toStart = \array_slice($to, 0, $jMax); - $toEnd = \array_slice($to, $jMax); - - return \array_merge( - $this->calculate($fromStart, $toStart), - $this->calculate($fromEnd, $toEnd) - ); - } - - private function length(array $from, array $to): array - { - $current = \array_fill(0, \count($to) + 1, 0); - $cFrom = \count($from); - $cTo = \count($to); - - for ($i = 0; $i < $cFrom; $i++) { - $prev = $current; - - for ($j = 0; $j < $cTo; $j++) { - if ($from[$i] === $to[$j]) { - $current[$j + 1] = $prev[$j] + 1; - } else { - $current[$j + 1] = \max($current[$j], $prev[$j + 1]); - } - } - } - - return $current; - } -} diff --git a/paragonik-backend/vendor/sebastian/diff/src/Output/AbstractChunkOutputBuilder.php b/paragonik-backend/vendor/sebastian/diff/src/Output/AbstractChunkOutputBuilder.php deleted file mode 100644 index 6e590b0..0000000 --- a/paragonik-backend/vendor/sebastian/diff/src/Output/AbstractChunkOutputBuilder.php +++ /dev/null @@ -1,56 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace SebastianBergmann\Diff\Output; - -abstract class AbstractChunkOutputBuilder implements DiffOutputBuilderInterface -{ - /** - * Takes input of the diff array and returns the common parts. - * Iterates through diff line by line. - * - * @param array $diff - * @param int $lineThreshold - * - * @return array - */ - protected function getCommonChunks(array $diff, int $lineThreshold = 5): array - { - $diffSize = \count($diff); - $capturing = false; - $chunkStart = 0; - $chunkSize = 0; - $commonChunks = []; - - for ($i = 0; $i < $diffSize; ++$i) { - if ($diff[$i][1] === 0 /* OLD */) { - if ($capturing === false) { - $capturing = true; - $chunkStart = $i; - $chunkSize = 0; - } else { - ++$chunkSize; - } - } elseif ($capturing !== false) { - if ($chunkSize >= $lineThreshold) { - $commonChunks[$chunkStart] = $chunkStart + $chunkSize; - } - - $capturing = false; - } - } - - if ($capturing !== false && $chunkSize >= $lineThreshold) { - $commonChunks[$chunkStart] = $chunkStart + $chunkSize; - } - - return $commonChunks; - } -} diff --git a/paragonik-backend/vendor/sebastian/diff/src/Output/DiffOnlyOutputBuilder.php b/paragonik-backend/vendor/sebastian/diff/src/Output/DiffOnlyOutputBuilder.php deleted file mode 100644 index 8a186b5..0000000 --- a/paragonik-backend/vendor/sebastian/diff/src/Output/DiffOnlyOutputBuilder.php +++ /dev/null @@ -1,68 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace SebastianBergmann\Diff\Output; - -use SebastianBergmann\Diff\Differ; - -/** - * Builds a diff string representation in a loose unified diff format - * listing only changes lines. Does not include line numbers. - */ -final class DiffOnlyOutputBuilder implements DiffOutputBuilderInterface -{ - /** - * @var string - */ - private $header; - - public function __construct(string $header = "--- Original\n+++ New\n") - { - $this->header = $header; - } - - public function getDiff(array $diff): string - { - $buffer = \fopen('php://memory', 'r+b'); - - if ('' !== $this->header) { - \fwrite($buffer, $this->header); - - if ("\n" !== \substr($this->header, -1, 1)) { - \fwrite($buffer, "\n"); - } - } - - foreach ($diff as $diffEntry) { - if ($diffEntry[1] === Differ::ADDED) { - \fwrite($buffer, '+' . $diffEntry[0]); - } elseif ($diffEntry[1] === Differ::REMOVED) { - \fwrite($buffer, '-' . $diffEntry[0]); - } elseif ($diffEntry[1] === Differ::DIFF_LINE_END_WARNING) { - \fwrite($buffer, ' ' . $diffEntry[0]); - - continue; // Warnings should not be tested for line break, it will always be there - } else { /* Not changed (old) 0 */ - continue; // we didn't write the non changs line, so do not add a line break either - } - - $lc = \substr($diffEntry[0], -1); - - if ($lc !== "\n" && $lc !== "\r") { - \fwrite($buffer, "\n"); // \No newline at end of file - } - } - - $diff = \stream_get_contents($buffer, -1, 0); - \fclose($buffer); - - return $diff; - } -} diff --git a/paragonik-backend/vendor/sebastian/diff/src/Output/DiffOutputBuilderInterface.php b/paragonik-backend/vendor/sebastian/diff/src/Output/DiffOutputBuilderInterface.php deleted file mode 100644 index f6e6afd..0000000 --- a/paragonik-backend/vendor/sebastian/diff/src/Output/DiffOutputBuilderInterface.php +++ /dev/null @@ -1,20 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace SebastianBergmann\Diff\Output; - -/** - * Defines how an output builder should take a generated - * diff array and return a string representation of that diff. - */ -interface DiffOutputBuilderInterface -{ - public function getDiff(array $diff): string; -} diff --git a/paragonik-backend/vendor/sebastian/diff/src/Output/StrictUnifiedDiffOutputBuilder.php b/paragonik-backend/vendor/sebastian/diff/src/Output/StrictUnifiedDiffOutputBuilder.php deleted file mode 100644 index 941b1a7..0000000 --- a/paragonik-backend/vendor/sebastian/diff/src/Output/StrictUnifiedDiffOutputBuilder.php +++ /dev/null @@ -1,318 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace SebastianBergmann\Diff\Output; - -use SebastianBergmann\Diff\ConfigurationException; -use SebastianBergmann\Diff\Differ; - -/** - * Strict Unified diff output builder. - * - * Generates (strict) Unified diff's (unidiffs) with hunks. - */ -final class StrictUnifiedDiffOutputBuilder implements DiffOutputBuilderInterface -{ - private static $default = [ - 'collapseRanges' => true, // ranges of length one are rendered with the trailing `,1` - 'commonLineThreshold' => 6, // number of same lines before ending a new hunk and creating a new one (if needed) - 'contextLines' => 3, // like `diff: -u, -U NUM, --unified[=NUM]`, for patch/git apply compatibility best to keep at least @ 3 - 'fromFile' => null, - 'fromFileDate' => null, - 'toFile' => null, - 'toFileDate' => null, - ]; - /** - * @var bool - */ - private $changed; - - /** - * @var bool - */ - private $collapseRanges; - - /** - * @var int >= 0 - */ - private $commonLineThreshold; - - /** - * @var string - */ - private $header; - - /** - * @var int >= 0 - */ - private $contextLines; - - public function __construct(array $options = []) - { - $options = \array_merge(self::$default, $options); - - if (!\is_bool($options['collapseRanges'])) { - throw new ConfigurationException('collapseRanges', 'a bool', $options['collapseRanges']); - } - - if (!\is_int($options['contextLines']) || $options['contextLines'] < 0) { - throw new ConfigurationException('contextLines', 'an int >= 0', $options['contextLines']); - } - - if (!\is_int($options['commonLineThreshold']) || $options['commonLineThreshold'] <= 0) { - throw new ConfigurationException('commonLineThreshold', 'an int > 0', $options['commonLineThreshold']); - } - - foreach (['fromFile', 'toFile'] as $option) { - if (!\is_string($options[$option])) { - throw new ConfigurationException($option, 'a string', $options[$option]); - } - } - - foreach (['fromFileDate', 'toFileDate'] as $option) { - if (null !== $options[$option] && !\is_string($options[$option])) { - throw new ConfigurationException($option, 'a string or ', $options[$option]); - } - } - - $this->header = \sprintf( - "--- %s%s\n+++ %s%s\n", - $options['fromFile'], - null === $options['fromFileDate'] ? '' : "\t" . $options['fromFileDate'], - $options['toFile'], - null === $options['toFileDate'] ? '' : "\t" . $options['toFileDate'] - ); - - $this->collapseRanges = $options['collapseRanges']; - $this->commonLineThreshold = $options['commonLineThreshold']; - $this->contextLines = $options['contextLines']; - } - - public function getDiff(array $diff): string - { - if (0 === \count($diff)) { - return ''; - } - - $this->changed = false; - - $buffer = \fopen('php://memory', 'r+b'); - \fwrite($buffer, $this->header); - - $this->writeDiffHunks($buffer, $diff); - - if (!$this->changed) { - \fclose($buffer); - - return ''; - } - - $diff = \stream_get_contents($buffer, -1, 0); - - \fclose($buffer); - - // If the last char is not a linebreak: add it. - // This might happen when both the `from` and `to` do not have a trailing linebreak - $last = \substr($diff, -1); - - return "\n" !== $last && "\r" !== $last - ? $diff . "\n" - : $diff - ; - } - - private function writeDiffHunks($output, array $diff): void - { - // detect "No newline at end of file" and insert into `$diff` if needed - - $upperLimit = \count($diff); - - if (0 === $diff[$upperLimit - 1][1]) { - $lc = \substr($diff[$upperLimit - 1][0], -1); - - if ("\n" !== $lc) { - \array_splice($diff, $upperLimit, 0, [["\n\\ No newline at end of file\n", Differ::NO_LINE_END_EOF_WARNING]]); - } - } else { - // search back for the last `+` and `-` line, - // check if has trailing linebreak, else add under it warning under it - $toFind = [1 => true, 2 => true]; - - for ($i = $upperLimit - 1; $i >= 0; --$i) { - if (isset($toFind[$diff[$i][1]])) { - unset($toFind[$diff[$i][1]]); - $lc = \substr($diff[$i][0], -1); - - if ("\n" !== $lc) { - \array_splice($diff, $i + 1, 0, [["\n\\ No newline at end of file\n", Differ::NO_LINE_END_EOF_WARNING]]); - } - - if (!\count($toFind)) { - break; - } - } - } - } - - // write hunks to output buffer - - $cutOff = \max($this->commonLineThreshold, $this->contextLines); - $hunkCapture = false; - $sameCount = $toRange = $fromRange = 0; - $toStart = $fromStart = 1; - - foreach ($diff as $i => $entry) { - if (0 === $entry[1]) { // same - if (false === $hunkCapture) { - ++$fromStart; - ++$toStart; - - continue; - } - - ++$sameCount; - ++$toRange; - ++$fromRange; - - if ($sameCount === $cutOff) { - $contextStartOffset = ($hunkCapture - $this->contextLines) < 0 - ? $hunkCapture - : $this->contextLines - ; - - // note: $contextEndOffset = $this->contextLines; - // - // because we never go beyond the end of the diff. - // with the cutoff/contextlines here the follow is never true; - // - // if ($i - $cutOff + $this->contextLines + 1 > \count($diff)) { - // $contextEndOffset = count($diff) - 1; - // } - // - // ; that would be true for a trailing incomplete hunk case which is dealt with after this loop - - $this->writeHunk( - $diff, - $hunkCapture - $contextStartOffset, - $i - $cutOff + $this->contextLines + 1, - $fromStart - $contextStartOffset, - $fromRange - $cutOff + $contextStartOffset + $this->contextLines, - $toStart - $contextStartOffset, - $toRange - $cutOff + $contextStartOffset + $this->contextLines, - $output - ); - - $fromStart += $fromRange; - $toStart += $toRange; - - $hunkCapture = false; - $sameCount = $toRange = $fromRange = 0; - } - - continue; - } - - $sameCount = 0; - - if ($entry[1] === Differ::NO_LINE_END_EOF_WARNING) { - continue; - } - - $this->changed = true; - - if (false === $hunkCapture) { - $hunkCapture = $i; - } - - if (Differ::ADDED === $entry[1]) { // added - ++$toRange; - } - - if (Differ::REMOVED === $entry[1]) { // removed - ++$fromRange; - } - } - - if (false === $hunkCapture) { - return; - } - - // we end here when cutoff (commonLineThreshold) was not reached, but we where capturing a hunk, - // do not render hunk till end automatically because the number of context lines might be less than the commonLineThreshold - - $contextStartOffset = $hunkCapture - $this->contextLines < 0 - ? $hunkCapture - : $this->contextLines - ; - - // prevent trying to write out more common lines than there are in the diff _and_ - // do not write more than configured through the context lines - $contextEndOffset = \min($sameCount, $this->contextLines); - - $fromRange -= $sameCount; - $toRange -= $sameCount; - - $this->writeHunk( - $diff, - $hunkCapture - $contextStartOffset, - $i - $sameCount + $contextEndOffset + 1, - $fromStart - $contextStartOffset, - $fromRange + $contextStartOffset + $contextEndOffset, - $toStart - $contextStartOffset, - $toRange + $contextStartOffset + $contextEndOffset, - $output - ); - } - - private function writeHunk( - array $diff, - int $diffStartIndex, - int $diffEndIndex, - int $fromStart, - int $fromRange, - int $toStart, - int $toRange, - $output - ): void { - \fwrite($output, '@@ -' . $fromStart); - - if (!$this->collapseRanges || 1 !== $fromRange) { - \fwrite($output, ',' . $fromRange); - } - - \fwrite($output, ' +' . $toStart); - - if (!$this->collapseRanges || 1 !== $toRange) { - \fwrite($output, ',' . $toRange); - } - - \fwrite($output, " @@\n"); - - for ($i = $diffStartIndex; $i < $diffEndIndex; ++$i) { - if ($diff[$i][1] === Differ::ADDED) { - $this->changed = true; - \fwrite($output, '+' . $diff[$i][0]); - } elseif ($diff[$i][1] === Differ::REMOVED) { - $this->changed = true; - \fwrite($output, '-' . $diff[$i][0]); - } elseif ($diff[$i][1] === Differ::OLD) { - \fwrite($output, ' ' . $diff[$i][0]); - } elseif ($diff[$i][1] === Differ::NO_LINE_END_EOF_WARNING) { - $this->changed = true; - \fwrite($output, $diff[$i][0]); - } - //} elseif ($diff[$i][1] === Differ::DIFF_LINE_END_WARNING) { // custom comment inserted by PHPUnit/diff package - // skip - //} else { - // unknown/invalid - //} - } - } -} diff --git a/paragonik-backend/vendor/sebastian/diff/src/Output/UnifiedDiffOutputBuilder.php b/paragonik-backend/vendor/sebastian/diff/src/Output/UnifiedDiffOutputBuilder.php deleted file mode 100644 index e7f0a9d..0000000 --- a/paragonik-backend/vendor/sebastian/diff/src/Output/UnifiedDiffOutputBuilder.php +++ /dev/null @@ -1,264 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace SebastianBergmann\Diff\Output; - -use SebastianBergmann\Diff\Differ; - -/** - * Builds a diff string representation in unified diff format in chunks. - */ -final class UnifiedDiffOutputBuilder extends AbstractChunkOutputBuilder -{ - /** - * @var bool - */ - private $collapseRanges = true; - - /** - * @var int >= 0 - */ - private $commonLineThreshold = 6; - - /** - * @var int >= 0 - */ - private $contextLines = 3; - - /** - * @var string - */ - private $header; - - /** - * @var bool - */ - private $addLineNumbers; - - public function __construct(string $header = "--- Original\n+++ New\n", bool $addLineNumbers = false) - { - $this->header = $header; - $this->addLineNumbers = $addLineNumbers; - } - - public function getDiff(array $diff): string - { - $buffer = \fopen('php://memory', 'r+b'); - - if ('' !== $this->header) { - \fwrite($buffer, $this->header); - - if ("\n" !== \substr($this->header, -1, 1)) { - \fwrite($buffer, "\n"); - } - } - - if (0 !== \count($diff)) { - $this->writeDiffHunks($buffer, $diff); - } - - $diff = \stream_get_contents($buffer, -1, 0); - - \fclose($buffer); - - // If the last char is not a linebreak: add it. - // This might happen when both the `from` and `to` do not have a trailing linebreak - $last = \substr($diff, -1); - - return "\n" !== $last && "\r" !== $last - ? $diff . "\n" - : $diff - ; - } - - private function writeDiffHunks($output, array $diff): void - { - // detect "No newline at end of file" and insert into `$diff` if needed - - $upperLimit = \count($diff); - - if (0 === $diff[$upperLimit - 1][1]) { - $lc = \substr($diff[$upperLimit - 1][0], -1); - - if ("\n" !== $lc) { - \array_splice($diff, $upperLimit, 0, [["\n\\ No newline at end of file\n", Differ::NO_LINE_END_EOF_WARNING]]); - } - } else { - // search back for the last `+` and `-` line, - // check if has trailing linebreak, else add under it warning under it - $toFind = [1 => true, 2 => true]; - - for ($i = $upperLimit - 1; $i >= 0; --$i) { - if (isset($toFind[$diff[$i][1]])) { - unset($toFind[$diff[$i][1]]); - $lc = \substr($diff[$i][0], -1); - - if ("\n" !== $lc) { - \array_splice($diff, $i + 1, 0, [["\n\\ No newline at end of file\n", Differ::NO_LINE_END_EOF_WARNING]]); - } - - if (!\count($toFind)) { - break; - } - } - } - } - - // write hunks to output buffer - - $cutOff = \max($this->commonLineThreshold, $this->contextLines); - $hunkCapture = false; - $sameCount = $toRange = $fromRange = 0; - $toStart = $fromStart = 1; - - foreach ($diff as $i => $entry) { - if (0 === $entry[1]) { // same - if (false === $hunkCapture) { - ++$fromStart; - ++$toStart; - - continue; - } - - ++$sameCount; - ++$toRange; - ++$fromRange; - - if ($sameCount === $cutOff) { - $contextStartOffset = ($hunkCapture - $this->contextLines) < 0 - ? $hunkCapture - : $this->contextLines - ; - - // note: $contextEndOffset = $this->contextLines; - // - // because we never go beyond the end of the diff. - // with the cutoff/contextlines here the follow is never true; - // - // if ($i - $cutOff + $this->contextLines + 1 > \count($diff)) { - // $contextEndOffset = count($diff) - 1; - // } - // - // ; that would be true for a trailing incomplete hunk case which is dealt with after this loop - - $this->writeHunk( - $diff, - $hunkCapture - $contextStartOffset, - $i - $cutOff + $this->contextLines + 1, - $fromStart - $contextStartOffset, - $fromRange - $cutOff + $contextStartOffset + $this->contextLines, - $toStart - $contextStartOffset, - $toRange - $cutOff + $contextStartOffset + $this->contextLines, - $output - ); - - $fromStart += $fromRange; - $toStart += $toRange; - - $hunkCapture = false; - $sameCount = $toRange = $fromRange = 0; - } - - continue; - } - - $sameCount = 0; - - if ($entry[1] === Differ::NO_LINE_END_EOF_WARNING) { - continue; - } - - if (false === $hunkCapture) { - $hunkCapture = $i; - } - - if (Differ::ADDED === $entry[1]) { - ++$toRange; - } - - if (Differ::REMOVED === $entry[1]) { - ++$fromRange; - } - } - - if (false === $hunkCapture) { - return; - } - - // we end here when cutoff (commonLineThreshold) was not reached, but we where capturing a hunk, - // do not render hunk till end automatically because the number of context lines might be less than the commonLineThreshold - - $contextStartOffset = $hunkCapture - $this->contextLines < 0 - ? $hunkCapture - : $this->contextLines - ; - - // prevent trying to write out more common lines than there are in the diff _and_ - // do not write more than configured through the context lines - $contextEndOffset = \min($sameCount, $this->contextLines); - - $fromRange -= $sameCount; - $toRange -= $sameCount; - - $this->writeHunk( - $diff, - $hunkCapture - $contextStartOffset, - $i - $sameCount + $contextEndOffset + 1, - $fromStart - $contextStartOffset, - $fromRange + $contextStartOffset + $contextEndOffset, - $toStart - $contextStartOffset, - $toRange + $contextStartOffset + $contextEndOffset, - $output - ); - } - - private function writeHunk( - array $diff, - int $diffStartIndex, - int $diffEndIndex, - int $fromStart, - int $fromRange, - int $toStart, - int $toRange, - $output - ): void { - if ($this->addLineNumbers) { - \fwrite($output, '@@ -' . $fromStart); - - if (!$this->collapseRanges || 1 !== $fromRange) { - \fwrite($output, ',' . $fromRange); - } - - \fwrite($output, ' +' . $toStart); - - if (!$this->collapseRanges || 1 !== $toRange) { - \fwrite($output, ',' . $toRange); - } - - \fwrite($output, " @@\n"); - } else { - \fwrite($output, "@@ @@\n"); - } - - for ($i = $diffStartIndex; $i < $diffEndIndex; ++$i) { - if ($diff[$i][1] === Differ::ADDED) { - \fwrite($output, '+' . $diff[$i][0]); - } elseif ($diff[$i][1] === Differ::REMOVED) { - \fwrite($output, '-' . $diff[$i][0]); - } elseif ($diff[$i][1] === Differ::OLD) { - \fwrite($output, ' ' . $diff[$i][0]); - } elseif ($diff[$i][1] === Differ::NO_LINE_END_EOF_WARNING) { - \fwrite($output, "\n"); // $diff[$i][0] - } else { /* Not changed (old) Differ::OLD or Warning Differ::DIFF_LINE_END_WARNING */ - \fwrite($output, ' ' . $diff[$i][0]); - } - } - } -} diff --git a/paragonik-backend/vendor/sebastian/diff/src/Parser.php b/paragonik-backend/vendor/sebastian/diff/src/Parser.php deleted file mode 100644 index 3c52f43..0000000 --- a/paragonik-backend/vendor/sebastian/diff/src/Parser.php +++ /dev/null @@ -1,106 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace SebastianBergmann\Diff; - -/** - * Unified diff parser. - */ -final class Parser -{ - /** - * @param string $string - * - * @return Diff[] - */ - public function parse(string $string): array - { - $lines = \preg_split('(\r\n|\r|\n)', $string); - - if (!empty($lines) && $lines[\count($lines) - 1] === '') { - \array_pop($lines); - } - - $lineCount = \count($lines); - $diffs = []; - $diff = null; - $collected = []; - - for ($i = 0; $i < $lineCount; ++$i) { - if (\preg_match('(^---\\s+(?P\\S+))', $lines[$i], $fromMatch) && - \preg_match('(^\\+\\+\\+\\s+(?P\\S+))', $lines[$i + 1], $toMatch)) { - if ($diff !== null) { - $this->parseFileDiff($diff, $collected); - - $diffs[] = $diff; - $collected = []; - } - - $diff = new Diff($fromMatch['file'], $toMatch['file']); - - ++$i; - } else { - if (\preg_match('/^(?:diff --git |index [\da-f\.]+|[+-]{3} [ab])/', $lines[$i])) { - continue; - } - - $collected[] = $lines[$i]; - } - } - - if ($diff !== null && \count($collected)) { - $this->parseFileDiff($diff, $collected); - - $diffs[] = $diff; - } - - return $diffs; - } - - private function parseFileDiff(Diff $diff, array $lines): void - { - $chunks = []; - $chunk = null; - - foreach ($lines as $line) { - if (\preg_match('/^@@\s+-(?P\d+)(?:,\s*(?P\d+))?\s+\+(?P\d+)(?:,\s*(?P\d+))?\s+@@/', $line, $match)) { - $chunk = new Chunk( - (int) $match['start'], - isset($match['startrange']) ? \max(1, (int) $match['startrange']) : 1, - (int) $match['end'], - isset($match['endrange']) ? \max(1, (int) $match['endrange']) : 1 - ); - - $chunks[] = $chunk; - $diffLines = []; - - continue; - } - - if (\preg_match('/^(?P[+ -])?(?P.*)/', $line, $match)) { - $type = Line::UNCHANGED; - - if ($match['type'] === '+') { - $type = Line::ADDED; - } elseif ($match['type'] === '-') { - $type = Line::REMOVED; - } - - $diffLines[] = new Line($type, $match['line']); - - if (null !== $chunk) { - $chunk->setLines($diffLines); - } - } - } - - $diff->setChunks($chunks); - } -} diff --git a/paragonik-backend/vendor/sebastian/diff/src/TimeEfficientLongestCommonSubsequenceCalculator.php b/paragonik-backend/vendor/sebastian/diff/src/TimeEfficientLongestCommonSubsequenceCalculator.php deleted file mode 100644 index 97dadbd..0000000 --- a/paragonik-backend/vendor/sebastian/diff/src/TimeEfficientLongestCommonSubsequenceCalculator.php +++ /dev/null @@ -1,66 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace SebastianBergmann\Diff; - -final class TimeEfficientLongestCommonSubsequenceCalculator implements LongestCommonSubsequenceCalculator -{ - /** - * {@inheritdoc} - */ - public function calculate(array $from, array $to): array - { - $common = []; - $fromLength = \count($from); - $toLength = \count($to); - $width = $fromLength + 1; - $matrix = new \SplFixedArray($width * ($toLength + 1)); - - for ($i = 0; $i <= $fromLength; ++$i) { - $matrix[$i] = 0; - } - - for ($j = 0; $j <= $toLength; ++$j) { - $matrix[$j * $width] = 0; - } - - for ($i = 1; $i <= $fromLength; ++$i) { - for ($j = 1; $j <= $toLength; ++$j) { - $o = ($j * $width) + $i; - $matrix[$o] = \max( - $matrix[$o - 1], - $matrix[$o - $width], - $from[$i - 1] === $to[$j - 1] ? $matrix[$o - $width - 1] + 1 : 0 - ); - } - } - - $i = $fromLength; - $j = $toLength; - - while ($i > 0 && $j > 0) { - if ($from[$i - 1] === $to[$j - 1]) { - $common[] = $from[$i - 1]; - --$i; - --$j; - } else { - $o = ($j * $width) + $i; - - if ($matrix[$o - $width] > $matrix[$o - 1]) { - --$j; - } else { - --$i; - } - } - } - - return \array_reverse($common); - } -} diff --git a/paragonik-backend/vendor/sebastian/diff/tests/ChunkTest.php b/paragonik-backend/vendor/sebastian/diff/tests/ChunkTest.php deleted file mode 100644 index 40106c0..0000000 --- a/paragonik-backend/vendor/sebastian/diff/tests/ChunkTest.php +++ /dev/null @@ -1,73 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace SebastianBergmann\Diff; - -use PHPUnit\Framework\TestCase; - -/** - * @covers SebastianBergmann\Diff\Chunk - */ -final class ChunkTest extends TestCase -{ - /** - * @var Chunk - */ - private $chunk; - - protected function setUp(): void - { - $this->chunk = new Chunk; - } - - public function testHasInitiallyNoLines(): void - { - $this->assertSame([], $this->chunk->getLines()); - } - - public function testCanBeCreatedWithoutArguments(): void - { - $this->assertInstanceOf(Chunk::class, $this->chunk); - } - - public function testStartCanBeRetrieved(): void - { - $this->assertSame(0, $this->chunk->getStart()); - } - - public function testStartRangeCanBeRetrieved(): void - { - $this->assertSame(1, $this->chunk->getStartRange()); - } - - public function testEndCanBeRetrieved(): void - { - $this->assertSame(0, $this->chunk->getEnd()); - } - - public function testEndRangeCanBeRetrieved(): void - { - $this->assertSame(1, $this->chunk->getEndRange()); - } - - public function testLinesCanBeRetrieved(): void - { - $this->assertSame([], $this->chunk->getLines()); - } - - public function testLinesCanBeSet(): void - { - $lines = [new Line(Line::ADDED, 'added'), new Line(Line::REMOVED, 'removed')]; - - $this->chunk->setLines($lines); - - $this->assertSame($lines, $this->chunk->getLines()); - } -} diff --git a/paragonik-backend/vendor/sebastian/diff/tests/DiffTest.php b/paragonik-backend/vendor/sebastian/diff/tests/DiffTest.php deleted file mode 100644 index 20f76e1..0000000 --- a/paragonik-backend/vendor/sebastian/diff/tests/DiffTest.php +++ /dev/null @@ -1,55 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace SebastianBergmann\Diff; - -use PHPUnit\Framework\TestCase; - -/** - * @covers SebastianBergmann\Diff\Diff - * - * @uses SebastianBergmann\Diff\Chunk - */ -final class DiffTest extends TestCase -{ - public function testGettersAfterConstructionWithDefault(): void - { - $from = 'line1a'; - $to = 'line2a'; - $diff = new Diff($from, $to); - - $this->assertSame($from, $diff->getFrom()); - $this->assertSame($to, $diff->getTo()); - $this->assertSame([], $diff->getChunks(), 'Expect chunks to be default value "array()".'); - } - - public function testGettersAfterConstructionWithChunks(): void - { - $from = 'line1b'; - $to = 'line2b'; - $chunks = [new Chunk(), new Chunk(2, 3)]; - - $diff = new Diff($from, $to, $chunks); - - $this->assertSame($from, $diff->getFrom()); - $this->assertSame($to, $diff->getTo()); - $this->assertSame($chunks, $diff->getChunks(), 'Expect chunks to be passed value.'); - } - - public function testSetChunksAfterConstruction(): void - { - $diff = new Diff('line1c', 'line2c'); - $this->assertSame([], $diff->getChunks(), 'Expect chunks to be default value "array()".'); - - $chunks = [new Chunk(), new Chunk(2, 3)]; - $diff->setChunks($chunks); - $this->assertSame($chunks, $diff->getChunks(), 'Expect chunks to be passed value.'); - } -} diff --git a/paragonik-backend/vendor/sebastian/diff/tests/DifferTest.php b/paragonik-backend/vendor/sebastian/diff/tests/DifferTest.php deleted file mode 100644 index 5a8962e..0000000 --- a/paragonik-backend/vendor/sebastian/diff/tests/DifferTest.php +++ /dev/null @@ -1,444 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace SebastianBergmann\Diff; - -use PHPUnit\Framework\TestCase; -use SebastianBergmann\Diff\Output\UnifiedDiffOutputBuilder; - -/** - * @covers SebastianBergmann\Diff\Differ - * @covers SebastianBergmann\Diff\Output\UnifiedDiffOutputBuilder - * - * @uses SebastianBergmann\Diff\MemoryEfficientLongestCommonSubsequenceCalculator - * @uses SebastianBergmann\Diff\TimeEfficientLongestCommonSubsequenceCalculator - * @uses SebastianBergmann\Diff\Output\AbstractChunkOutputBuilder - */ -final class DifferTest extends TestCase -{ - /** - * @var Differ - */ - private $differ; - - protected function setUp(): void - { - $this->differ = new Differ; - } - - /** - * @param array $expected - * @param array|string $from - * @param array|string $to - * - * @dataProvider arrayProvider - */ - public function testArrayRepresentationOfDiffCanBeRenderedUsingTimeEfficientLcsImplementation(array $expected, $from, $to): void - { - $this->assertSame($expected, $this->differ->diffToArray($from, $to, new TimeEfficientLongestCommonSubsequenceCalculator)); - } - - /** - * @param string $expected - * @param string $from - * @param string $to - * - * @dataProvider textProvider - */ - public function testTextRepresentationOfDiffCanBeRenderedUsingTimeEfficientLcsImplementation(string $expected, string $from, string $to): void - { - $this->assertSame($expected, $this->differ->diff($from, $to, new TimeEfficientLongestCommonSubsequenceCalculator)); - } - - /** - * @param array $expected - * @param array|string $from - * @param array|string $to - * - * @dataProvider arrayProvider - */ - public function testArrayRepresentationOfDiffCanBeRenderedUsingMemoryEfficientLcsImplementation(array $expected, $from, $to): void - { - $this->assertSame($expected, $this->differ->diffToArray($from, $to, new MemoryEfficientLongestCommonSubsequenceCalculator)); - } - - /** - * @param string $expected - * @param string $from - * @param string $to - * - * @dataProvider textProvider - */ - public function testTextRepresentationOfDiffCanBeRenderedUsingMemoryEfficientLcsImplementation(string $expected, string $from, string $to): void - { - $this->assertSame($expected, $this->differ->diff($from, $to, new MemoryEfficientLongestCommonSubsequenceCalculator)); - } - - public function testTypesOtherThanArrayAndStringCanBePassed(): void - { - $this->assertSame( - "--- Original\n+++ New\n@@ @@\n-1\n+2\n", - $this->differ->diff(1, 2) - ); - } - - public function testArrayDiffs(): void - { - $this->assertSame( - '--- Original -+++ New -@@ @@ --one -+two -', - $this->differ->diff(['one'], ['two']) - ); - } - - public function arrayProvider(): array - { - return [ - [ - [ - ['a', Differ::REMOVED], - ['b', Differ::ADDED], - ], - 'a', - 'b', - ], - [ - [ - ['ba', Differ::REMOVED], - ['bc', Differ::ADDED], - ], - 'ba', - 'bc', - ], - [ - [ - ['ab', Differ::REMOVED], - ['cb', Differ::ADDED], - ], - 'ab', - 'cb', - ], - [ - [ - ['abc', Differ::REMOVED], - ['adc', Differ::ADDED], - ], - 'abc', - 'adc', - ], - [ - [ - ['ab', Differ::REMOVED], - ['abc', Differ::ADDED], - ], - 'ab', - 'abc', - ], - [ - [ - ['bc', Differ::REMOVED], - ['abc', Differ::ADDED], - ], - 'bc', - 'abc', - ], - [ - [ - ['abc', Differ::REMOVED], - ['abbc', Differ::ADDED], - ], - 'abc', - 'abbc', - ], - [ - [ - ['abcdde', Differ::REMOVED], - ['abcde', Differ::ADDED], - ], - 'abcdde', - 'abcde', - ], - 'same start' => [ - [ - [17, Differ::OLD], - ['b', Differ::REMOVED], - ['d', Differ::ADDED], - ], - [30 => 17, 'a' => 'b'], - [30 => 17, 'c' => 'd'], - ], - 'same end' => [ - [ - [1, Differ::REMOVED], - [2, Differ::ADDED], - ['b', Differ::OLD], - ], - [1 => 1, 'a' => 'b'], - [1 => 2, 'a' => 'b'], - ], - 'same start (2), same end (1)' => [ - [ - [17, Differ::OLD], - [2, Differ::OLD], - [4, Differ::REMOVED], - ['a', Differ::ADDED], - [5, Differ::ADDED], - ['x', Differ::OLD], - ], - [30 => 17, 1 => 2, 2 => 4, 'z' => 'x'], - [30 => 17, 1 => 2, 3 => 'a', 2 => 5, 'z' => 'x'], - ], - 'same' => [ - [ - ['x', Differ::OLD], - ], - ['z' => 'x'], - ['z' => 'x'], - ], - 'diff' => [ - [ - ['y', Differ::REMOVED], - ['x', Differ::ADDED], - ], - ['x' => 'y'], - ['z' => 'x'], - ], - 'diff 2' => [ - [ - ['y', Differ::REMOVED], - ['b', Differ::REMOVED], - ['x', Differ::ADDED], - ['d', Differ::ADDED], - ], - ['x' => 'y', 'a' => 'b'], - ['z' => 'x', 'c' => 'd'], - ], - 'test line diff detection' => [ - [ - [ - "#Warning: Strings contain different line endings!\n", - Differ::DIFF_LINE_END_WARNING, - ], - [ - " [ - [ - [ - "#Warning: Strings contain different line endings!\n", - Differ::DIFF_LINE_END_WARNING, - ], - [ - "expectException(InvalidArgumentException::class); - $this->expectExceptionMessageRegExp('#^"from" must be an array or string\.$#'); - - $this->differ->diffToArray(null, ''); - } - - public function testDiffInvalidToType(): void - { - $this->expectException(InvalidArgumentException::class); - $this->expectExceptionMessageRegExp('#^"to" must be an array or string\.$#'); - - $this->differ->diffToArray('', new \stdClass); - } - - /** - * @param array $expected - * @param string $input - * - * @dataProvider provideSplitStringByLinesCases - */ - public function testSplitStringByLines(array $expected, string $input): void - { - $reflection = new \ReflectionObject($this->differ); - $method = $reflection->getMethod('splitStringByLines'); - $method->setAccessible(true); - - $this->assertSame($expected, $method->invoke($this->differ, $input)); - } - - public function provideSplitStringByLinesCases(): array - { - return [ - [ - [], - '', - ], - [ - ['a'], - 'a', - ], - [ - ["a\n"], - "a\n", - ], - [ - ["a\r"], - "a\r", - ], - [ - ["a\r\n"], - "a\r\n", - ], - [ - ["\n"], - "\n", - ], - [ - ["\r"], - "\r", - ], - [ - ["\r\n"], - "\r\n", - ], - [ - [ - "A\n", - "B\n", - "\n", - "C\n", - ], - "A\nB\n\nC\n", - ], - [ - [ - "A\r\n", - "B\n", - "\n", - "C\r", - ], - "A\r\nB\n\nC\r", - ], - [ - [ - "\n", - "A\r\n", - "B\n", - "\n", - 'C', - ], - "\nA\r\nB\n\nC", - ], - ]; - } - - public function testConstructorInvalidArgInt(): void - { - $this->expectException(InvalidArgumentException::class); - $this->expectExceptionMessageRegExp('/^Expected builder to be an instance of DiffOutputBuilderInterface, or a string, got integer "1"\.$/'); - - new Differ(1); - } - - public function testConstructorInvalidArgObject(): void - { - $this->expectException(InvalidArgumentException::class); - $this->expectExceptionMessageRegExp('/^Expected builder to be an instance of DiffOutputBuilderInterface, or a string, got instance of "SplFileInfo"\.$/'); - - new Differ(new \SplFileInfo(__FILE__)); - } -} diff --git a/paragonik-backend/vendor/sebastian/diff/tests/Exception/ConfigurationExceptionTest.php b/paragonik-backend/vendor/sebastian/diff/tests/Exception/ConfigurationExceptionTest.php deleted file mode 100644 index 1ce887a..0000000 --- a/paragonik-backend/vendor/sebastian/diff/tests/Exception/ConfigurationExceptionTest.php +++ /dev/null @@ -1,41 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace SebastianBergmann\Diff; - -use PHPUnit\Framework\TestCase; - -/** - * @covers SebastianBergmann\Diff\ConfigurationException - */ -final class ConfigurationExceptionTest extends TestCase -{ - public function testConstructWithDefaults(): void - { - $e = new ConfigurationException('test', 'A', 'B'); - - $this->assertSame(0, $e->getCode()); - $this->assertNull($e->getPrevious()); - $this->assertSame('Option "test" must be A, got "string#B".', $e->getMessage()); - } - - public function testConstruct(): void - { - $e = new ConfigurationException( - 'test', - 'integer', - new \SplFileInfo(__FILE__), - 789, - new \BadMethodCallException(__METHOD__) - ); - - $this->assertSame('Option "test" must be integer, got "SplFileInfo".', $e->getMessage()); - } -} diff --git a/paragonik-backend/vendor/sebastian/diff/tests/Exception/InvalidArgumentExceptionTest.php b/paragonik-backend/vendor/sebastian/diff/tests/Exception/InvalidArgumentExceptionTest.php deleted file mode 100644 index a112920..0000000 --- a/paragonik-backend/vendor/sebastian/diff/tests/Exception/InvalidArgumentExceptionTest.php +++ /dev/null @@ -1,33 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace SebastianBergmann\Diff; - -use PHPUnit\Framework\TestCase; - -/** - * @covers SebastianBergmann\Diff\InvalidArgumentException - */ -final class InvalidArgumentExceptionTest extends TestCase -{ - public function testInvalidArgumentException(): void - { - $previousException = new \LogicException(); - $message = 'test'; - $code = 123; - - $exception = new InvalidArgumentException($message, $code, $previousException); - - $this->assertInstanceOf(Exception::class, $exception); - $this->assertSame($message, $exception->getMessage()); - $this->assertSame($code, $exception->getCode()); - $this->assertSame($previousException, $exception->getPrevious()); - } -} diff --git a/paragonik-backend/vendor/sebastian/diff/tests/LineTest.php b/paragonik-backend/vendor/sebastian/diff/tests/LineTest.php deleted file mode 100644 index 5aca39b..0000000 --- a/paragonik-backend/vendor/sebastian/diff/tests/LineTest.php +++ /dev/null @@ -1,44 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace SebastianBergmann\Diff; - -use PHPUnit\Framework\TestCase; - -/** - * @covers SebastianBergmann\Diff\Line - */ -final class LineTest extends TestCase -{ - /** - * @var Line - */ - private $line; - - protected function setUp(): void - { - $this->line = new Line; - } - - public function testCanBeCreatedWithoutArguments(): void - { - $this->assertInstanceOf(Line::class, $this->line); - } - - public function testTypeCanBeRetrieved(): void - { - $this->assertSame(Line::UNCHANGED, $this->line->getType()); - } - - public function testContentCanBeRetrieved(): void - { - $this->assertSame('', $this->line->getContent()); - } -} diff --git a/paragonik-backend/vendor/sebastian/diff/tests/LongestCommonSubsequenceTest.php b/paragonik-backend/vendor/sebastian/diff/tests/LongestCommonSubsequenceTest.php deleted file mode 100644 index 28d2809..0000000 --- a/paragonik-backend/vendor/sebastian/diff/tests/LongestCommonSubsequenceTest.php +++ /dev/null @@ -1,201 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace SebastianBergmann\Diff; - -use PHPUnit\Framework\TestCase; - -/** - * @coversNothing - */ -abstract class LongestCommonSubsequenceTest extends TestCase -{ - /** - * @var LongestCommonSubsequenceCalculator - */ - private $implementation; - - /** - * @var string - */ - private $memoryLimit; - - /** - * @var int[] - */ - private $stress_sizes = [1, 2, 3, 100, 500, 1000, 2000]; - - protected function setUp(): void - { - $this->memoryLimit = \ini_get('memory_limit'); - \ini_set('memory_limit', '256M'); - - $this->implementation = $this->createImplementation(); - } - - protected function tearDown(): void - { - \ini_set('memory_limit', $this->memoryLimit); - } - - public function testBothEmpty(): void - { - $from = []; - $to = []; - $common = $this->implementation->calculate($from, $to); - - $this->assertSame([], $common); - } - - public function testIsStrictComparison(): void - { - $from = [ - false, 0, 0.0, '', null, [], - true, 1, 1.0, 'foo', ['foo', 'bar'], ['foo' => 'bar'], - ]; - $to = $from; - $common = $this->implementation->calculate($from, $to); - - $this->assertSame($from, $common); - - $to = [ - false, false, false, false, false, false, - true, true, true, true, true, true, - ]; - - $expected = [ - false, - true, - ]; - - $common = $this->implementation->calculate($from, $to); - - $this->assertSame($expected, $common); - } - - public function testEqualSequences(): void - { - foreach ($this->stress_sizes as $size) { - $range = \range(1, $size); - $from = $range; - $to = $range; - $common = $this->implementation->calculate($from, $to); - - $this->assertSame($range, $common); - } - } - - public function testDistinctSequences(): void - { - $from = ['A']; - $to = ['B']; - $common = $this->implementation->calculate($from, $to); - $this->assertSame([], $common); - - $from = ['A', 'B', 'C']; - $to = ['D', 'E', 'F']; - $common = $this->implementation->calculate($from, $to); - $this->assertSame([], $common); - - foreach ($this->stress_sizes as $size) { - $from = \range(1, $size); - $to = \range($size + 1, $size * 2); - $common = $this->implementation->calculate($from, $to); - $this->assertSame([], $common); - } - } - - public function testCommonSubsequence(): void - { - $from = ['A', 'C', 'E', 'F', 'G']; - $to = ['A', 'B', 'D', 'E', 'H']; - $expected = ['A', 'E']; - $common = $this->implementation->calculate($from, $to); - $this->assertSame($expected, $common); - - $from = ['A', 'C', 'E', 'F', 'G']; - $to = ['B', 'C', 'D', 'E', 'F', 'H']; - $expected = ['C', 'E', 'F']; - $common = $this->implementation->calculate($from, $to); - $this->assertSame($expected, $common); - - foreach ($this->stress_sizes as $size) { - $from = $size < 2 ? [1] : \range(1, $size + 1, 2); - $to = $size < 3 ? [1] : \range(1, $size + 1, 3); - $expected = $size < 6 ? [1] : \range(1, $size + 1, 6); - $common = $this->implementation->calculate($from, $to); - - $this->assertSame($expected, $common); - } - } - - public function testSingleElementSubsequenceAtStart(): void - { - foreach ($this->stress_sizes as $size) { - $from = \range(1, $size); - $to = \array_slice($from, 0, 1); - $common = $this->implementation->calculate($from, $to); - - $this->assertSame($to, $common); - } - } - - public function testSingleElementSubsequenceAtMiddle(): void - { - foreach ($this->stress_sizes as $size) { - $from = \range(1, $size); - $to = \array_slice($from, (int) ($size / 2), 1); - $common = $this->implementation->calculate($from, $to); - - $this->assertSame($to, $common); - } - } - - public function testSingleElementSubsequenceAtEnd(): void - { - foreach ($this->stress_sizes as $size) { - $from = \range(1, $size); - $to = \array_slice($from, $size - 1, 1); - $common = $this->implementation->calculate($from, $to); - - $this->assertSame($to, $common); - } - } - - public function testReversedSequences(): void - { - $from = ['A', 'B']; - $to = ['B', 'A']; - $expected = ['A']; - $common = $this->implementation->calculate($from, $to); - $this->assertSame($expected, $common); - - foreach ($this->stress_sizes as $size) { - $from = \range(1, $size); - $to = \array_reverse($from); - $common = $this->implementation->calculate($from, $to); - - $this->assertSame([1], $common); - } - } - - public function testStrictTypeCalculate(): void - { - $diff = $this->implementation->calculate(['5'], ['05']); - - $this->assertIsArray($diff); - $this->assertCount(0, $diff); - } - - /** - * @return LongestCommonSubsequenceCalculator - */ - abstract protected function createImplementation(): LongestCommonSubsequenceCalculator; -} diff --git a/paragonik-backend/vendor/sebastian/diff/tests/MemoryEfficientImplementationTest.php b/paragonik-backend/vendor/sebastian/diff/tests/MemoryEfficientImplementationTest.php deleted file mode 100644 index a8a21e2..0000000 --- a/paragonik-backend/vendor/sebastian/diff/tests/MemoryEfficientImplementationTest.php +++ /dev/null @@ -1,22 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace SebastianBergmann\Diff; - -/** - * @covers SebastianBergmann\Diff\MemoryEfficientLongestCommonSubsequenceCalculator - */ -final class MemoryEfficientImplementationTest extends LongestCommonSubsequenceTest -{ - protected function createImplementation(): LongestCommonSubsequenceCalculator - { - return new MemoryEfficientLongestCommonSubsequenceCalculator; - } -} diff --git a/paragonik-backend/vendor/sebastian/diff/tests/Output/AbstractChunkOutputBuilderTest.php b/paragonik-backend/vendor/sebastian/diff/tests/Output/AbstractChunkOutputBuilderTest.php deleted file mode 100644 index ad6ceb2..0000000 --- a/paragonik-backend/vendor/sebastian/diff/tests/Output/AbstractChunkOutputBuilderTest.php +++ /dev/null @@ -1,152 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace SebastianBergmann\Diff\Output; - -use PHPUnit\Framework\TestCase; -use SebastianBergmann\Diff\Differ; - -/** - * @covers SebastianBergmann\Diff\Output\AbstractChunkOutputBuilder - * - * @uses SebastianBergmann\Diff\Differ - * @uses SebastianBergmann\Diff\Output\UnifiedDiffOutputBuilder - * @uses SebastianBergmann\Diff\TimeEfficientLongestCommonSubsequenceCalculator - */ -final class AbstractChunkOutputBuilderTest extends TestCase -{ - /** - * @param array $expected - * @param string $from - * @param string $to - * @param int $lineThreshold - * - * @dataProvider provideGetCommonChunks - */ - public function testGetCommonChunks(array $expected, string $from, string $to, int $lineThreshold = 5): void - { - $output = new class extends AbstractChunkOutputBuilder { - public function getDiff(array $diff): string - { - return ''; - } - - public function getChunks(array $diff, $lineThreshold) - { - return $this->getCommonChunks($diff, $lineThreshold); - } - }; - - $this->assertSame( - $expected, - $output->getChunks((new Differ)->diffToArray($from, $to), $lineThreshold) - ); - } - - public function provideGetCommonChunks(): array - { - return[ - 'same (with default threshold)' => [ - [], - 'A', - 'A', - ], - 'same (threshold 0)' => [ - [0 => 0], - 'A', - 'A', - 0, - ], - 'empty' => [ - [], - '', - '', - ], - 'single line diff' => [ - [], - 'A', - 'B', - ], - 'below threshold I' => [ - [], - "A\nX\nC", - "A\nB\nC", - ], - 'below threshold II' => [ - [], - "A\n\n\n\nX\nC", - "A\n\n\n\nB\nC", - ], - 'below threshold III' => [ - [0 => 5], - "A\n\n\n\n\n\nB", - "A\n\n\n\n\n\nA", - ], - 'same start' => [ - [0 => 5], - "A\n\n\n\n\n\nX\nC", - "A\n\n\n\n\n\nB\nC", - ], - 'same start long' => [ - [0 => 13], - "\n\n\n\n\n\n\n\n\n\n\n\n\n\nA", - "\n\n\n\n\n\n\n\n\n\n\n\n\n\nB", - ], - 'same part in between' => [ - [2 => 8], - "A\n\n\n\n\n\n\nX\nY\nZ\n\n", - "B\n\n\n\n\n\n\nX\nA\nZ\n\n", - ], - 'same trailing' => [ - [2 => 14], - "A\n\n\n\n\n\n\n\n\n\n\n\n\n\n", - "B\n\n\n\n\n\n\n\n\n\n\n\n\n\n", - ], - 'same part in between, same trailing' => [ - [2 => 7, 10 => 15], - "A\n\n\n\n\n\n\nA\n\n\n\n\n\n\n", - "B\n\n\n\n\n\n\nB\n\n\n\n\n\n\n", - ], - 'below custom threshold I' => [ - [], - "A\n\nB", - "A\n\nD", - 2, - ], - 'custom threshold I' => [ - [0 => 1], - "A\n\nB", - "A\n\nD", - 1, - ], - 'custom threshold II' => [ - [], - "A\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", - "A\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", - 19, - ], - [ - [3 => 9], - "a\nb\nc\nd\ne\nf\ng\nh\ni\nj\nk", - "a\np\nc\nd\ne\nf\ng\nh\ni\nw\nk", - ], - [ - [0 => 5, 8 => 13], - "A\nA\nA\nA\nA\nA\nX\nC\nC\nC\nC\nC\nC", - "A\nA\nA\nA\nA\nA\nB\nC\nC\nC\nC\nC\nC", - ], - [ - [0 => 5, 8 => 13], - "A\nA\nA\nA\nA\nA\nX\nC\nC\nC\nC\nC\nC\nX", - "A\nA\nA\nA\nA\nA\nB\nC\nC\nC\nC\nC\nC\nY", - ], - ]; - } -} diff --git a/paragonik-backend/vendor/sebastian/diff/tests/Output/DiffOnlyOutputBuilderTest.php b/paragonik-backend/vendor/sebastian/diff/tests/Output/DiffOnlyOutputBuilderTest.php deleted file mode 100644 index 87c0176..0000000 --- a/paragonik-backend/vendor/sebastian/diff/tests/Output/DiffOnlyOutputBuilderTest.php +++ /dev/null @@ -1,76 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace SebastianBergmann\Diff\Output; - -use PHPUnit\Framework\TestCase; -use SebastianBergmann\Diff\Differ; - -/** - * @covers SebastianBergmann\Diff\Output\DiffOnlyOutputBuilder - * - * @uses SebastianBergmann\Diff\Differ - * @uses SebastianBergmann\Diff\TimeEfficientLongestCommonSubsequenceCalculator - */ -final class DiffOnlyOutputBuilderTest extends TestCase -{ - /** - * @param string $expected - * @param string $from - * @param string $to - * @param string $header - * - * @dataProvider textForNoNonDiffLinesProvider - */ - public function testDiffDoNotShowNonDiffLines(string $expected, string $from, string $to, string $header = ''): void - { - $differ = new Differ(new DiffOnlyOutputBuilder($header)); - - $this->assertSame($expected, $differ->diff($from, $to)); - } - - public function textForNoNonDiffLinesProvider(): array - { - return [ - [ - " #Warning: Strings contain different line endings!\n-A\r\n+B\n", - "A\r\n", - "B\n", - ], - [ - "-A\n+B\n", - "\nA", - "\nB", - ], - [ - '', - 'a', - 'a', - ], - [ - "-A\n+C\n", - "A\n\n\nB", - "C\n\n\nB", - ], - [ - "header\n", - 'a', - 'a', - 'header', - ], - [ - "header\n", - 'a', - 'a', - "header\n", - ], - ]; - } -} diff --git a/paragonik-backend/vendor/sebastian/diff/tests/Output/Integration/StrictUnifiedDiffOutputBuilderIntegrationTest.php b/paragonik-backend/vendor/sebastian/diff/tests/Output/Integration/StrictUnifiedDiffOutputBuilderIntegrationTest.php deleted file mode 100644 index d15f445..0000000 --- a/paragonik-backend/vendor/sebastian/diff/tests/Output/Integration/StrictUnifiedDiffOutputBuilderIntegrationTest.php +++ /dev/null @@ -1,299 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace SebastianBergmann\Diff\Output; - -use PHPUnit\Framework\TestCase; -use SebastianBergmann\Diff\Differ; -use SebastianBergmann\Diff\Utils\FileUtils; -use SebastianBergmann\Diff\Utils\UnifiedDiffAssertTrait; -use Symfony\Component\Process\Process; - -/** - * @covers SebastianBergmann\Diff\Output\StrictUnifiedDiffOutputBuilder - * - * @uses SebastianBergmann\Diff\Differ - * @uses SebastianBergmann\Diff\TimeEfficientLongestCommonSubsequenceCalculator - * - * @requires OS Linux - */ -final class StrictUnifiedDiffOutputBuilderIntegrationTest extends TestCase -{ - use UnifiedDiffAssertTrait; - - private $dir; - - private $fileFrom; - - private $fileTo; - - private $filePatch; - - protected function setUp(): void - { - $this->dir = \realpath(__DIR__ . '/../../fixtures/out') . '/'; - $this->fileFrom = $this->dir . 'from.txt'; - $this->fileTo = $this->dir . 'to.txt'; - $this->filePatch = $this->dir . 'diff.patch'; - - if (!\is_dir($this->dir)) { - throw new \RuntimeException('Integration test working directory not found.'); - } - - $this->cleanUpTempFiles(); - } - - protected function tearDown(): void - { - $this->cleanUpTempFiles(); - } - - /** - * Integration test - * - * - get a file pair - * - create a `diff` between the files - * - test applying the diff using `git apply` - * - test applying the diff using `patch` - * - * @param string $fileFrom - * @param string $fileTo - * - * @dataProvider provideFilePairs - */ - public function testIntegrationUsingPHPFileInVendorGitApply(string $fileFrom, string $fileTo): void - { - $from = FileUtils::getFileContent($fileFrom); - $to = FileUtils::getFileContent($fileTo); - - $diff = (new Differ(new StrictUnifiedDiffOutputBuilder(['fromFile' => 'Original', 'toFile' => 'New'])))->diff($from, $to); - - if ('' === $diff && $from === $to) { - // odd case: test after executing as it is more efficient than to read the files and check the contents every time - $this->addToAssertionCount(1); - - return; - } - - $this->doIntegrationTestGitApply($diff, $from, $to); - } - - /** - * Integration test - * - * - get a file pair - * - create a `diff` between the files - * - test applying the diff using `git apply` - * - test applying the diff using `patch` - * - * @param string $fileFrom - * @param string $fileTo - * - * @dataProvider provideFilePairs - */ - public function testIntegrationUsingPHPFileInVendorPatch(string $fileFrom, string $fileTo): void - { - $from = FileUtils::getFileContent($fileFrom); - $to = FileUtils::getFileContent($fileTo); - - $diff = (new Differ(new StrictUnifiedDiffOutputBuilder(['fromFile' => 'Original', 'toFile' => 'New'])))->diff($from, $to); - - if ('' === $diff && $from === $to) { - // odd case: test after executing as it is more efficient than to read the files and check the contents every time - $this->addToAssertionCount(1); - - return; - } - - $this->doIntegrationTestPatch($diff, $from, $to); - } - - /** - * @param string $expected - * @param string $from - * @param string $to - * - * @dataProvider provideOutputBuildingCases - * @dataProvider provideSample - * @dataProvider provideBasicDiffGeneration - */ - public function testIntegrationOfUnitTestCasesGitApply(string $expected, string $from, string $to): void - { - $this->doIntegrationTestGitApply($expected, $from, $to); - } - - /** - * @param string $expected - * @param string $from - * @param string $to - * - * @dataProvider provideOutputBuildingCases - * @dataProvider provideSample - * @dataProvider provideBasicDiffGeneration - */ - public function testIntegrationOfUnitTestCasesPatch(string $expected, string $from, string $to): void - { - $this->doIntegrationTestPatch($expected, $from, $to); - } - - public function provideOutputBuildingCases(): array - { - return StrictUnifiedDiffOutputBuilderDataProvider::provideOutputBuildingCases(); - } - - public function provideSample(): array - { - return StrictUnifiedDiffOutputBuilderDataProvider::provideSample(); - } - - public function provideBasicDiffGeneration(): array - { - return StrictUnifiedDiffOutputBuilderDataProvider::provideBasicDiffGeneration(); - } - - public function provideFilePairs(): array - { - $cases = []; - $fromFile = __FILE__; - $vendorDir = \realpath(__DIR__ . '/../../../vendor'); - - $fileIterator = new \RecursiveIteratorIterator(new \RecursiveDirectoryIterator($vendorDir, \RecursiveDirectoryIterator::SKIP_DOTS)); - - /** @var \SplFileInfo $file */ - foreach ($fileIterator as $file) { - if ('php' !== $file->getExtension()) { - continue; - } - - $toFile = $file->getPathname(); - $cases[\sprintf("Diff file:\n\"%s\"\nvs.\n\"%s\"\n", \realpath($fromFile), \realpath($toFile))] = [$fromFile, $toFile]; - $fromFile = $toFile; - } - - return $cases; - } - - /** - * Compare diff create by builder and against one create by `diff` command. - * - * @param string $diff - * @param string $from - * @param string $to - * - * @dataProvider provideBasicDiffGeneration - */ - public function testIntegrationDiffOutputBuilderVersusDiffCommand(string $diff, string $from, string $to): void - { - $this->assertNotSame('', $diff); - $this->assertValidUnifiedDiffFormat($diff); - - $this->assertNotFalse(\file_put_contents($this->fileFrom, $from)); - $this->assertNotFalse(\file_put_contents($this->fileTo, $to)); - - $p = new Process(\sprintf('diff -u %s %s', \escapeshellarg($this->fileFrom), \escapeshellarg($this->fileTo))); - $p->run(); - $this->assertSame(1, $p->getExitCode()); // note: Process assumes exit code 0 for `isSuccessful`, however `diff` uses the exit code `1` for success with diff - - $output = $p->getOutput(); - - $diffLines = \preg_split('/(.*\R)/', $diff, -1, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY); - $diffLines[0] = \preg_replace('#^\-\-\- .*#', '--- /' . $this->fileFrom, $diffLines[0], 1); - $diffLines[1] = \preg_replace('#^\+\+\+ .*#', '+++ /' . $this->fileFrom, $diffLines[1], 1); - $diff = \implode('', $diffLines); - - $outputLines = \preg_split('/(.*\R)/', $output, -1, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY); - $outputLines[0] = \preg_replace('#^\-\-\- .*#', '--- /' . $this->fileFrom, $outputLines[0], 1); - $outputLines[1] = \preg_replace('#^\+\+\+ .*#', '+++ /' . $this->fileFrom, $outputLines[1], 1); - $output = \implode('', $outputLines); - - $this->assertSame($diff, $output); - } - - private function doIntegrationTestGitApply(string $diff, string $from, string $to): void - { - $this->assertNotSame('', $diff); - $this->assertValidUnifiedDiffFormat($diff); - - $diff = self::setDiffFileHeader($diff, $this->fileFrom); - - $this->assertNotFalse(\file_put_contents($this->fileFrom, $from)); - $this->assertNotFalse(\file_put_contents($this->filePatch, $diff)); - - $p = new Process(\sprintf( - 'git --git-dir %s apply --check -v --unsafe-paths --ignore-whitespace %s', - \escapeshellarg($this->dir), - \escapeshellarg($this->filePatch) - )); - - $p->run(); - - $this->assertProcessSuccessful($p); - } - - private function doIntegrationTestPatch(string $diff, string $from, string $to): void - { - $this->assertNotSame('', $diff); - $this->assertValidUnifiedDiffFormat($diff); - - $diff = self::setDiffFileHeader($diff, $this->fileFrom); - - $this->assertNotFalse(\file_put_contents($this->fileFrom, $from)); - $this->assertNotFalse(\file_put_contents($this->filePatch, $diff)); - - $command = \sprintf( - 'patch -u --verbose --posix %s < %s', - \escapeshellarg($this->fileFrom), - \escapeshellarg($this->filePatch) - ); - - $p = new Process($command); - $p->run(); - - $this->assertProcessSuccessful($p); - - $this->assertStringEqualsFile( - $this->fileFrom, - $to, - \sprintf('Patch command "%s".', $command) - ); - } - - private function assertProcessSuccessful(Process $p): void - { - $this->assertTrue( - $p->isSuccessful(), - \sprintf( - "Command exec. was not successful:\n\"%s\"\nOutput:\n\"%s\"\nStdErr:\n\"%s\"\nExit code %d.\n", - $p->getCommandLine(), - $p->getOutput(), - $p->getErrorOutput(), - $p->getExitCode() - ) - ); - } - - private function cleanUpTempFiles(): void - { - @\unlink($this->fileFrom . '.orig'); - @\unlink($this->fileFrom . '.rej'); - @\unlink($this->fileFrom); - @\unlink($this->fileTo); - @\unlink($this->filePatch); - } - - private static function setDiffFileHeader(string $diff, string $file): string - { - $diffLines = \preg_split('/(.*\R)/', $diff, -1, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY); - $diffLines[0] = \preg_replace('#^\-\-\- .*#', '--- /' . $file, $diffLines[0], 1); - $diffLines[1] = \preg_replace('#^\+\+\+ .*#', '+++ /' . $file, $diffLines[1], 1); - - return \implode('', $diffLines); - } -} diff --git a/paragonik-backend/vendor/sebastian/diff/tests/Output/Integration/UnifiedDiffOutputBuilderIntegrationTest.php b/paragonik-backend/vendor/sebastian/diff/tests/Output/Integration/UnifiedDiffOutputBuilderIntegrationTest.php deleted file mode 100644 index c3fe057..0000000 --- a/paragonik-backend/vendor/sebastian/diff/tests/Output/Integration/UnifiedDiffOutputBuilderIntegrationTest.php +++ /dev/null @@ -1,163 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace SebastianBergmann\Diff\Output; - -use PHPUnit\Framework\TestCase; -use SebastianBergmann\Diff\Utils\UnifiedDiffAssertTrait; -use Symfony\Component\Process\Process; - -/** - * @covers SebastianBergmann\Diff\Output\UnifiedDiffOutputBuilder - * - * @uses SebastianBergmann\Diff\Differ - * @uses SebastianBergmann\Diff\TimeEfficientLongestCommonSubsequenceCalculator - * - * @requires OS Linux - */ -final class UnifiedDiffOutputBuilderIntegrationTest extends TestCase -{ - use UnifiedDiffAssertTrait; - - private $dir; - - private $fileFrom; - - private $filePatch; - - protected function setUp(): void - { - $this->dir = \realpath(__DIR__ . '/../../fixtures/out/') . '/'; - $this->fileFrom = $this->dir . 'from.txt'; - $this->filePatch = $this->dir . 'patch.txt'; - - $this->cleanUpTempFiles(); - } - - protected function tearDown(): void - { - $this->cleanUpTempFiles(); - } - - /** - * @dataProvider provideDiffWithLineNumbers - * - * @param mixed $expected - * @param mixed $from - * @param mixed $to - */ - public function testDiffWithLineNumbersPath($expected, $from, $to): void - { - $this->doIntegrationTestPatch($expected, $from, $to); - } - - /** - * @dataProvider provideDiffWithLineNumbers - * - * @param mixed $expected - * @param mixed $from - * @param mixed $to - */ - public function testDiffWithLineNumbersGitApply($expected, $from, $to): void - { - $this->doIntegrationTestGitApply($expected, $from, $to); - } - - public function provideDiffWithLineNumbers() - { - return \array_filter( - UnifiedDiffOutputBuilderDataProvider::provideDiffWithLineNumbers(), - static function ($key) { - return !\is_string($key) || false === \strpos($key, 'non_patch_compat'); - }, - ARRAY_FILTER_USE_KEY - ); - } - - private function doIntegrationTestPatch(string $diff, string $from, string $to): void - { - $this->assertNotSame('', $diff); - $this->assertValidUnifiedDiffFormat($diff); - - $diff = self::setDiffFileHeader($diff, $this->fileFrom); - - $this->assertNotFalse(\file_put_contents($this->fileFrom, $from)); - $this->assertNotFalse(\file_put_contents($this->filePatch, $diff)); - - $command = \sprintf( - 'patch -u --verbose --posix %s < %s', // --posix - \escapeshellarg($this->fileFrom), - \escapeshellarg($this->filePatch) - ); - - $p = new Process($command); - $p->run(); - - $this->assertProcessSuccessful($p); - - $this->assertStringEqualsFile( - $this->fileFrom, - $to, - \sprintf('Patch command "%s".', $command) - ); - } - - private function doIntegrationTestGitApply(string $diff, string $from, string $to): void - { - $this->assertNotSame('', $diff); - $this->assertValidUnifiedDiffFormat($diff); - - $diff = self::setDiffFileHeader($diff, $this->fileFrom); - - $this->assertNotFalse(\file_put_contents($this->fileFrom, $from)); - $this->assertNotFalse(\file_put_contents($this->filePatch, $diff)); - - $command = \sprintf( - 'git --git-dir %s apply --check -v --unsafe-paths --ignore-whitespace %s', - \escapeshellarg($this->dir), - \escapeshellarg($this->filePatch) - ); - - $p = new Process($command); - $p->run(); - - $this->assertProcessSuccessful($p); - } - - private function assertProcessSuccessful(Process $p): void - { - $this->assertTrue( - $p->isSuccessful(), - \sprintf( - "Command exec. was not successful:\n\"%s\"\nOutput:\n\"%s\"\nStdErr:\n\"%s\"\nExit code %d.\n", - $p->getCommandLine(), - $p->getOutput(), - $p->getErrorOutput(), - $p->getExitCode() - ) - ); - } - - private function cleanUpTempFiles(): void - { - @\unlink($this->fileFrom . '.orig'); - @\unlink($this->fileFrom); - @\unlink($this->filePatch); - } - - private static function setDiffFileHeader(string $diff, string $file): string - { - $diffLines = \preg_split('/(.*\R)/', $diff, -1, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY); - $diffLines[0] = \preg_replace('#^\-\-\- .*#', '--- /' . $file, $diffLines[0], 1); - $diffLines[1] = \preg_replace('#^\+\+\+ .*#', '+++ /' . $file, $diffLines[1], 1); - - return \implode('', $diffLines); - } -} diff --git a/paragonik-backend/vendor/sebastian/diff/tests/Output/StrictUnifiedDiffOutputBuilderDataProvider.php b/paragonik-backend/vendor/sebastian/diff/tests/Output/StrictUnifiedDiffOutputBuilderDataProvider.php deleted file mode 100644 index 56d3a1e..0000000 --- a/paragonik-backend/vendor/sebastian/diff/tests/Output/StrictUnifiedDiffOutputBuilderDataProvider.php +++ /dev/null @@ -1,189 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace SebastianBergmann\Diff\Output; - -final class StrictUnifiedDiffOutputBuilderDataProvider -{ - public static function provideOutputBuildingCases(): array - { - return [ - [ -'--- input.txt -+++ output.txt -@@ -1,3 +1,4 @@ -+b - ' . ' - ' . ' - ' . ' -@@ -16,5 +17,4 @@ - ' . ' - ' . ' - ' . ' -- --B -+A -', - "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nB\n", - "b\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nA\n", - [ - 'fromFile' => 'input.txt', - 'toFile' => 'output.txt', - ], - ], - [ -'--- ' . __FILE__ . "\t2017-10-02 17:38:11.586413675 +0100 -+++ output1.txt\t2017-10-03 12:09:43.086719482 +0100 -@@ -1,1 +1,1 @@ --B -+X -", - "B\n", - "X\n", - [ - 'fromFile' => __FILE__, - 'fromFileDate' => '2017-10-02 17:38:11.586413675 +0100', - 'toFile' => 'output1.txt', - 'toFileDate' => '2017-10-03 12:09:43.086719482 +0100', - 'collapseRanges' => false, - ], - ], - [ -'--- input.txt -+++ output.txt -@@ -1 +1 @@ --B -+X -', - "B\n", - "X\n", - [ - 'fromFile' => 'input.txt', - 'toFile' => 'output.txt', - 'collapseRanges' => true, - ], - ], - ]; - } - - public static function provideSample(): array - { - return [ - [ -'--- input.txt -+++ output.txt -@@ -1,6 +1,6 @@ - 1 - 2 - 3 --4 -+X - 5 - 6 -', - "1\n2\n3\n4\n5\n6\n", - "1\n2\n3\nX\n5\n6\n", - [ - 'fromFile' => 'input.txt', - 'toFile' => 'output.txt', - ], - ], - ]; - } - - public static function provideBasicDiffGeneration(): array - { - return [ - [ -"--- input.txt -+++ output.txt -@@ -1,2 +1 @@ --A --B -+A\rB -", - "A\nB\n", - "A\rB\n", - ], - [ -"--- input.txt -+++ output.txt -@@ -1 +1 @@ -- -+\r -\\ No newline at end of file -", - "\n", - "\r", - ], - [ -"--- input.txt -+++ output.txt -@@ -1 +1 @@ --\r -\\ No newline at end of file -+ -", - "\r", - "\n", - ], - [ -'--- input.txt -+++ output.txt -@@ -1,3 +1,3 @@ - X - A --A -+B -', - "X\nA\nA\n", - "X\nA\nB\n", - ], - [ -'--- input.txt -+++ output.txt -@@ -1,3 +1,3 @@ - X - A --A -\ No newline at end of file -+B -', - "X\nA\nA", - "X\nA\nB\n", - ], - [ -'--- input.txt -+++ output.txt -@@ -1,3 +1,3 @@ - A - A --A -+B -\ No newline at end of file -', - "A\nA\nA\n", - "A\nA\nB", - ], - [ -'--- input.txt -+++ output.txt -@@ -1 +1 @@ --A -\ No newline at end of file -+B -\ No newline at end of file -', - 'A', - 'B', - ], - ]; - } -} diff --git a/paragonik-backend/vendor/sebastian/diff/tests/Output/StrictUnifiedDiffOutputBuilderTest.php b/paragonik-backend/vendor/sebastian/diff/tests/Output/StrictUnifiedDiffOutputBuilderTest.php deleted file mode 100644 index 64cb25b..0000000 --- a/paragonik-backend/vendor/sebastian/diff/tests/Output/StrictUnifiedDiffOutputBuilderTest.php +++ /dev/null @@ -1,684 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace SebastianBergmann\Diff\Output; - -use PHPUnit\Framework\TestCase; -use SebastianBergmann\Diff\ConfigurationException; -use SebastianBergmann\Diff\Differ; -use SebastianBergmann\Diff\Utils\UnifiedDiffAssertTrait; - -/** - * @covers SebastianBergmann\Diff\Output\StrictUnifiedDiffOutputBuilder - * - * @uses SebastianBergmann\Diff\Differ - */ -final class StrictUnifiedDiffOutputBuilderTest extends TestCase -{ - use UnifiedDiffAssertTrait; - - /** - * @param string $expected - * @param string $from - * @param string $to - * @param array $options - * - * @dataProvider provideOutputBuildingCases - */ - public function testOutputBuilding(string $expected, string $from, string $to, array $options): void - { - $diff = $this->getDiffer($options)->diff($from, $to); - - $this->assertValidDiffFormat($diff); - $this->assertSame($expected, $diff); - } - - /** - * @param string $expected - * @param string $from - * @param string $to - * @param array $options - * - * @dataProvider provideSample - */ - public function testSample(string $expected, string $from, string $to, array $options): void - { - $diff = $this->getDiffer($options)->diff($from, $to); - - $this->assertValidDiffFormat($diff); - $this->assertSame($expected, $diff); - } - - /** - * {@inheritdoc} - */ - public function assertValidDiffFormat(string $diff): void - { - $this->assertValidUnifiedDiffFormat($diff); - } - - /** - * {@inheritdoc} - */ - public function provideOutputBuildingCases(): array - { - return StrictUnifiedDiffOutputBuilderDataProvider::provideOutputBuildingCases(); - } - - /** - * {@inheritdoc} - */ - public function provideSample(): array - { - return StrictUnifiedDiffOutputBuilderDataProvider::provideSample(); - } - - /** - * @param string $expected - * @param string $from - * @param string $to - * - * @dataProvider provideBasicDiffGeneration - */ - public function testBasicDiffGeneration(string $expected, string $from, string $to): void - { - $diff = $this->getDiffer([ - 'fromFile' => 'input.txt', - 'toFile' => 'output.txt', - ])->diff($from, $to); - - $this->assertValidDiffFormat($diff); - $this->assertSame($expected, $diff); - } - - public function provideBasicDiffGeneration(): array - { - return StrictUnifiedDiffOutputBuilderDataProvider::provideBasicDiffGeneration(); - } - - /** - * @param string $expected - * @param string $from - * @param string $to - * @param array $config - * - * @dataProvider provideConfiguredDiffGeneration - */ - public function testConfiguredDiffGeneration(string $expected, string $from, string $to, array $config = []): void - { - $diff = $this->getDiffer(\array_merge([ - 'fromFile' => 'input.txt', - 'toFile' => 'output.txt', - ], $config))->diff($from, $to); - - $this->assertValidDiffFormat($diff); - $this->assertSame($expected, $diff); - } - - public function provideConfiguredDiffGeneration(): array - { - return [ - [ - '--- input.txt -+++ output.txt -@@ -1 +1 @@ --a -\ No newline at end of file -+b -\ No newline at end of file -', - 'a', - 'b', - ], - [ - '', - "1\n2", - "1\n2", - ], - [ - '', - "1\n", - "1\n", - ], - [ -'--- input.txt -+++ output.txt -@@ -4 +4 @@ --X -+4 -', - "1\n2\n3\nX\n5\n6\n7\n8\n9\n0\n", - "1\n2\n3\n4\n5\n6\n7\n8\n9\n0\n", - [ - 'contextLines' => 0, - ], - ], - [ -'--- input.txt -+++ output.txt -@@ -3,3 +3,3 @@ - 3 --X -+4 - 5 -', - "1\n2\n3\nX\n5\n6\n7\n8\n9\n0\n", - "1\n2\n3\n4\n5\n6\n7\n8\n9\n0\n", - [ - 'contextLines' => 1, - ], - ], - [ -'--- input.txt -+++ output.txt -@@ -1,10 +1,10 @@ - 1 - 2 - 3 --X -+4 - 5 - 6 - 7 - 8 - 9 - 0 -', - "1\n2\n3\nX\n5\n6\n7\n8\n9\n0\n", - "1\n2\n3\n4\n5\n6\n7\n8\n9\n0\n", - [ - 'contextLines' => 999, - ], - ], - [ -'--- input.txt -+++ output.txt -@@ -1,0 +1,2 @@ -+ -+A -', - '', - "\nA\n", - ], - [ -'--- input.txt -+++ output.txt -@@ -1,2 +1,0 @@ -- --A -', - "\nA\n", - '', - ], - [ - '--- input.txt -+++ output.txt -@@ -1,5 +1,5 @@ - 1 --X -+2 - 3 --Y -+4 - 5 -@@ -8,3 +8,3 @@ - 8 --X -+9 - 0 -', - "1\nX\n3\nY\n5\n6\n7\n8\nX\n0\n", - "1\n2\n3\n4\n5\n6\n7\n8\n9\n0\n", - [ - 'commonLineThreshold' => 2, - 'contextLines' => 1, - ], - ], - [ - '--- input.txt -+++ output.txt -@@ -2 +2 @@ --X -+2 -@@ -4 +4 @@ --Y -+4 -@@ -9 +9 @@ --X -+9 -', - "1\nX\n3\nY\n5\n6\n7\n8\nX\n0\n", - "1\n2\n3\n4\n5\n6\n7\n8\n9\n0\n", - [ - 'commonLineThreshold' => 1, - 'contextLines' => 0, - ], - ], - ]; - } - - public function testReUseBuilder(): void - { - $differ = $this->getDiffer([ - 'fromFile' => 'input.txt', - 'toFile' => 'output.txt', - ]); - - $diff = $differ->diff("A\nB\n", "A\nX\n"); - $this->assertSame( -'--- input.txt -+++ output.txt -@@ -1,2 +1,2 @@ - A --B -+X -', - $diff - ); - - $diff = $differ->diff("A\n", "A\n"); - $this->assertSame( - '', - $diff - ); - } - - public function testEmptyDiff(): void - { - $builder = new StrictUnifiedDiffOutputBuilder([ - 'fromFile' => 'input.txt', - 'toFile' => 'output.txt', - ]); - - $this->assertSame( - '', - $builder->getDiff([]) - ); - } - - /** - * @param array $options - * @param string $message - * - * @dataProvider provideInvalidConfiguration - */ - public function testInvalidConfiguration(array $options, string $message): void - { - $this->expectException(ConfigurationException::class); - $this->expectExceptionMessageRegExp(\sprintf('#^%s$#', \preg_quote($message, '#'))); - - new StrictUnifiedDiffOutputBuilder($options); - } - - public function provideInvalidConfiguration(): array - { - $time = \time(); - - return [ - [ - ['collapseRanges' => 1], - 'Option "collapseRanges" must be a bool, got "integer#1".', - ], - [ - ['contextLines' => 'a'], - 'Option "contextLines" must be an int >= 0, got "string#a".', - ], - [ - ['commonLineThreshold' => -2], - 'Option "commonLineThreshold" must be an int > 0, got "integer#-2".', - ], - [ - ['commonLineThreshold' => 0], - 'Option "commonLineThreshold" must be an int > 0, got "integer#0".', - ], - [ - ['fromFile' => new \SplFileInfo(__FILE__)], - 'Option "fromFile" must be a string, got "SplFileInfo".', - ], - [ - ['fromFile' => null], - 'Option "fromFile" must be a string, got "".', - ], - [ - [ - 'fromFile' => __FILE__, - 'toFile' => 1, - ], - 'Option "toFile" must be a string, got "integer#1".', - ], - [ - [ - 'fromFile' => __FILE__, - 'toFile' => __FILE__, - 'toFileDate' => $time, - ], - 'Option "toFileDate" must be a string or , got "integer#' . $time . '".', - ], - [ - [], - 'Option "fromFile" must be a string, got "".', - ], - ]; - } - - /** - * @param string $expected - * @param string $from - * @param string $to - * @param int $threshold - * - * @dataProvider provideCommonLineThresholdCases - */ - public function testCommonLineThreshold(string $expected, string $from, string $to, int $threshold): void - { - $diff = $this->getDiffer([ - 'fromFile' => 'input.txt', - 'toFile' => 'output.txt', - 'commonLineThreshold' => $threshold, - 'contextLines' => 0, - ])->diff($from, $to); - - $this->assertValidDiffFormat($diff); - $this->assertSame($expected, $diff); - } - - public function provideCommonLineThresholdCases(): array - { - return [ - [ -'--- input.txt -+++ output.txt -@@ -2,3 +2,3 @@ --X -+B - C12 --Y -+D -@@ -7 +7 @@ --X -+Z -', - "A\nX\nC12\nY\nA\nA\nX\n", - "A\nB\nC12\nD\nA\nA\nZ\n", - 2, - ], - [ -'--- input.txt -+++ output.txt -@@ -2 +2 @@ --X -+B -@@ -4 +4 @@ --Y -+D -', - "A\nX\nV\nY\n", - "A\nB\nV\nD\n", - 1, - ], - ]; - } - - /** - * @param string $expected - * @param string $from - * @param string $to - * @param int $contextLines - * @param int $commonLineThreshold - * - * @dataProvider provideContextLineConfigurationCases - */ - public function testContextLineConfiguration(string $expected, string $from, string $to, int $contextLines, int $commonLineThreshold = 6): void - { - $diff = $this->getDiffer([ - 'fromFile' => 'input.txt', - 'toFile' => 'output.txt', - 'contextLines' => $contextLines, - 'commonLineThreshold' => $commonLineThreshold, - ])->diff($from, $to); - - $this->assertValidDiffFormat($diff); - $this->assertSame($expected, $diff); - } - - public function provideContextLineConfigurationCases(): array - { - $from = "A\nB\nC\nD\nE\nF\nX\nG\nH\nI\nJ\nK\nL\nM\n"; - $to = "A\nB\nC\nD\nE\nF\nY\nG\nH\nI\nJ\nK\nL\nM\n"; - - return [ - 'EOF 0' => [ - "--- input.txt\n+++ output.txt\n@@ -3 +3 @@ --X -\\ No newline at end of file -+Y -\\ No newline at end of file -", - "A\nB\nX", - "A\nB\nY", - 0, - ], - 'EOF 1' => [ - "--- input.txt\n+++ output.txt\n@@ -2,2 +2,2 @@ - B --X -\\ No newline at end of file -+Y -\\ No newline at end of file -", - "A\nB\nX", - "A\nB\nY", - 1, -], - 'EOF 2' => [ - "--- input.txt\n+++ output.txt\n@@ -1,3 +1,3 @@ - A - B --X -\\ No newline at end of file -+Y -\\ No newline at end of file -", - "A\nB\nX", - "A\nB\nY", - 2, - ], - 'EOF 200' => [ - "--- input.txt\n+++ output.txt\n@@ -1,3 +1,3 @@ - A - B --X -\\ No newline at end of file -+Y -\\ No newline at end of file -", - "A\nB\nX", - "A\nB\nY", - 200, - ], - 'n/a 0' => [ - "--- input.txt\n+++ output.txt\n@@ -7 +7 @@\n-X\n+Y\n", - $from, - $to, - 0, - ], - 'G' => [ - "--- input.txt\n+++ output.txt\n@@ -6,3 +6,3 @@\n F\n-X\n+Y\n G\n", - $from, - $to, - 1, - ], - 'H' => [ - "--- input.txt\n+++ output.txt\n@@ -5,5 +5,5 @@\n E\n F\n-X\n+Y\n G\n H\n", - $from, - $to, - 2, - ], - 'I' => [ - "--- input.txt\n+++ output.txt\n@@ -4,7 +4,7 @@\n D\n E\n F\n-X\n+Y\n G\n H\n I\n", - $from, - $to, - 3, - ], - 'J' => [ - "--- input.txt\n+++ output.txt\n@@ -3,9 +3,9 @@\n C\n D\n E\n F\n-X\n+Y\n G\n H\n I\n J\n", - $from, - $to, - 4, - ], - 'K' => [ - "--- input.txt\n+++ output.txt\n@@ -2,11 +2,11 @@\n B\n C\n D\n E\n F\n-X\n+Y\n G\n H\n I\n J\n K\n", - $from, - $to, - 5, - ], - 'L' => [ - "--- input.txt\n+++ output.txt\n@@ -1,13 +1,13 @@\n A\n B\n C\n D\n E\n F\n-X\n+Y\n G\n H\n I\n J\n K\n L\n", - $from, - $to, - 6, - ], - 'M' => [ - "--- input.txt\n+++ output.txt\n@@ -1,14 +1,14 @@\n A\n B\n C\n D\n E\n F\n-X\n+Y\n G\n H\n I\n J\n K\n L\n M\n", - $from, - $to, - 7, - ], - 'M no linebreak EOF .1' => [ - "--- input.txt\n+++ output.txt\n@@ -1,14 +1,14 @@\n A\n B\n C\n D\n E\n F\n-X\n+Y\n G\n H\n I\n J\n K\n L\n-M\n+M\n\\ No newline at end of file\n", - $from, - \substr($to, 0, -1), - 7, - ], - 'M no linebreak EOF .2' => [ - "--- input.txt\n+++ output.txt\n@@ -1,14 +1,14 @@\n A\n B\n C\n D\n E\n F\n-X\n+Y\n G\n H\n I\n J\n K\n L\n-M\n\\ No newline at end of file\n+M\n", - \substr($from, 0, -1), - $to, - 7, - ], - 'M no linebreak EOF .3' => [ - "--- input.txt\n+++ output.txt\n@@ -1,14 +1,14 @@\n A\n B\n C\n D\n E\n F\n-X\n+Y\n G\n H\n I\n J\n K\n L\n M\n", - \substr($from, 0, -1), - \substr($to, 0, -1), - 7, - ], - 'M no linebreak EOF .4' => [ - "--- input.txt\n+++ output.txt\n@@ -1,14 +1,14 @@\n A\n B\n C\n D\n E\n F\n-X\n+Y\n G\n H\n I\n J\n K\n L\n M\n\\ No newline at end of file\n", - \substr($from, 0, -1), - \substr($to, 0, -1), - 10000, - 10000, - ], - 'M+1' => [ - "--- input.txt\n+++ output.txt\n@@ -1,14 +1,14 @@\n A\n B\n C\n D\n E\n F\n-X\n+Y\n G\n H\n I\n J\n K\n L\n M\n", - $from, - $to, - 8, - ], - 'M+100' => [ - "--- input.txt\n+++ output.txt\n@@ -1,14 +1,14 @@\n A\n B\n C\n D\n E\n F\n-X\n+Y\n G\n H\n I\n J\n K\n L\n M\n", - $from, - $to, - 107, - ], - '0 II' => [ - "--- input.txt\n+++ output.txt\n@@ -12 +12 @@\n-X\n+Y\n", - "A\nB\nC\nD\nE\nF\nG\nH\nI\nJ\nK\nX\nM\n", - "A\nB\nC\nD\nE\nF\nG\nH\nI\nJ\nK\nY\nM\n", - 0, - 999, - ], - '0\' II' => [ - "--- input.txt\n+++ output.txt\n@@ -12 +12 @@\n-X\n+Y\n", - "A\nB\nC\nD\nE\nF\nG\nH\nI\nJ\nK\nX\nM\nA\nA\nA\nA\nA\n", - "A\nB\nC\nD\nE\nF\nG\nH\nI\nJ\nK\nY\nM\nA\nA\nA\nA\nA\n", - 0, - 999, - ], - '0\'\' II' => [ - "--- input.txt\n+++ output.txt\n@@ -12,2 +12,2 @@\n-X\n-M\n\\ No newline at end of file\n+Y\n+M\n", - "A\nB\nC\nD\nE\nF\nG\nH\nI\nJ\nK\nX\nM", - "A\nB\nC\nD\nE\nF\nG\nH\nI\nJ\nK\nY\nM\n", - 0, - ], - '0\'\'\' II' => [ - "--- input.txt\n+++ output.txt\n@@ -12,2 +12,2 @@\n-X\n-X1\n+Y\n+Y2\n", - "A\nB\nC\nD\nE\nF\nG\nH\nI\nJ\nK\nX\nX1\nM\nA\nA\nA\nA\nA\n", - "A\nB\nC\nD\nE\nF\nG\nH\nI\nJ\nK\nY\nY2\nM\nA\nA\nA\nA\nA\n", - 0, - 999, - ], - '1 II' => [ - "--- input.txt\n+++ output.txt\n@@ -11,3 +11,3 @@\n K\n-X\n+Y\n M\n", - "A\nB\nC\nD\nE\nF\nG\nH\nI\nJ\nK\nX\nM\n", - "A\nB\nC\nD\nE\nF\nG\nH\nI\nJ\nK\nY\nM\n", - 1, - ], - '5 II' => [ - "--- input.txt\n+++ output.txt\n@@ -7,7 +7,7 @@\n G\n H\n I\n J\n K\n-X\n+Y\n M\n", - "A\nB\nC\nD\nE\nF\nG\nH\nI\nJ\nK\nX\nM\n", - "A\nB\nC\nD\nE\nF\nG\nH\nI\nJ\nK\nY\nM\n", - 5, - ], - [ - '--- input.txt -+++ output.txt -@@ -1,28 +1,28 @@ - A --X -+B - V --Y -+D - 1 - A - 2 - A - 3 - A - 4 - A - 8 - A - 9 - A - 5 - A - A - A - A - A - A - A - A - A - A - A -', - "A\nX\nV\nY\n1\nA\n2\nA\n3\nA\n4\nA\n8\nA\n9\nA\n5\nA\nA\nA\nA\nA\nA\nA\nA\nA\nA\nA\n", - "A\nB\nV\nD\n1\nA\n2\nA\n3\nA\n4\nA\n8\nA\n9\nA\n5\nA\nA\nA\nA\nA\nA\nA\nA\nA\nA\nA\n", - 9999, - 99999, - ], - ]; - } - - /** - * Returns a new instance of a Differ with a new instance of the class (DiffOutputBuilderInterface) under test. - * - * @param array $options - * - * @return Differ - */ - private function getDiffer(array $options = []): Differ - { - return new Differ(new StrictUnifiedDiffOutputBuilder($options)); - } -} diff --git a/paragonik-backend/vendor/sebastian/diff/tests/Output/UnifiedDiffOutputBuilderDataProvider.php b/paragonik-backend/vendor/sebastian/diff/tests/Output/UnifiedDiffOutputBuilderDataProvider.php deleted file mode 100644 index 391a9b1..0000000 --- a/paragonik-backend/vendor/sebastian/diff/tests/Output/UnifiedDiffOutputBuilderDataProvider.php +++ /dev/null @@ -1,396 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace SebastianBergmann\Diff\Output; - -final class UnifiedDiffOutputBuilderDataProvider -{ - public static function provideDiffWithLineNumbers(): array - { - return [ - 'diff line 1 non_patch_compat' => [ -'--- Original -+++ New -@@ -1 +1 @@ --AA -+BA -', - 'AA', - 'BA', - ], - 'diff line +1 non_patch_compat' => [ -'--- Original -+++ New -@@ -1 +1,2 @@ --AZ -+ -+B -', - 'AZ', - "\nB", - ], - 'diff line -1 non_patch_compat' => [ -'--- Original -+++ New -@@ -1,2 +1 @@ -- --AF -+B -', - "\nAF", - 'B', - ], - 'II non_patch_compat' => [ -'--- Original -+++ New -@@ -1,4 +1,2 @@ -- -- - A - 1 -', - "\n\nA\n1", - "A\n1", - ], - 'diff last line II - no trailing linebreak non_patch_compat' => [ -'--- Original -+++ New -@@ -5,4 +5,4 @@ - ' . ' - ' . ' - ' . ' --E -+B -', - "A\n\n\n\n\n\n\nE", - "A\n\n\n\n\n\n\nB", - ], - [ - "--- Original\n+++ New\n@@ -1,2 +1 @@\n \n-\n", - "\n\n", - "\n", - ], - 'diff line endings non_patch_compat' => [ - "--- Original\n+++ New\n@@ -1 +1 @@\n #Warning: Strings contain different line endings!\n- [ -'--- Original -+++ New -', - "AT\n", - "AT\n", - ], - [ -'--- Original -+++ New -@@ -1,4 +1,4 @@ --b -+a - ' . ' - ' . ' - ' . ' -', - "b\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", - "a\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", - ], - 'diff line @1' => [ -'--- Original -+++ New -@@ -1,2 +1,2 @@ - ' . ' --AG -+B -', - "\nAG\n", - "\nB\n", - ], - 'same multiple lines' => [ -'--- Original -+++ New -@@ -1,4 +1,4 @@ - ' . ' - ' . ' --V -+B - C213 -', - "\n\nV\nC213", - "\n\nB\nC213", - ], - 'diff last line I' => [ -'--- Original -+++ New -@@ -5,4 +5,4 @@ - ' . ' - ' . ' - ' . ' --E -+B -', - "A\n\n\n\n\n\n\nE\n", - "A\n\n\n\n\n\n\nB\n", - ], - 'diff line middle' => [ -'--- Original -+++ New -@@ -5,7 +5,7 @@ - ' . ' - ' . ' - ' . ' --X -+Z - ' . ' - ' . ' - ' . ' -', - "A\n\n\n\n\n\n\nX\n\n\n\n\n\n\nAY", - "A\n\n\n\n\n\n\nZ\n\n\n\n\n\n\nAY", - ], - 'diff last line III' => [ -'--- Original -+++ New -@@ -12,4 +12,4 @@ - ' . ' - ' . ' - ' . ' --A -+B -', - "A\n\n\n\n\n\n\nA\n\n\n\n\n\n\nA\n", - "A\n\n\n\n\n\n\nA\n\n\n\n\n\n\nB\n", - ], - [ -'--- Original -+++ New -@@ -1,8 +1,8 @@ - A --B -+B1 - D - E - EE - F --G -+G1 - H -', - "A\nB\nD\nE\nEE\nF\nG\nH", - "A\nB1\nD\nE\nEE\nF\nG1\nH", - ], - [ -'--- Original -+++ New -@@ -1,4 +1,5 @@ - Z -+ - a - b - c -@@ -7,5 +8,5 @@ - f - g - h --i -+x - j -', -'Z -a -b -c -d -e -f -g -h -i -j -', -'Z - -a -b -c -d -e -f -g -h -x -j -', - ], - [ -'--- Original -+++ New -@@ -1,7 +1,5 @@ -- --a -+b - A --X -- -+Y - ' . ' - A -', - "\na\nA\nX\n\n\nA\n", - "b\nA\nY\n\nA\n", - ], - [ -<< - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace SebastianBergmann\Diff\Output; - -use PHPUnit\Framework\TestCase; -use SebastianBergmann\Diff\Differ; - -/** - * @covers SebastianBergmann\Diff\Output\UnifiedDiffOutputBuilder - * - * @uses SebastianBergmann\Diff\Differ - * @uses SebastianBergmann\Diff\Output\AbstractChunkOutputBuilder - * @uses SebastianBergmann\Diff\TimeEfficientLongestCommonSubsequenceCalculator - */ -final class UnifiedDiffOutputBuilderTest extends TestCase -{ - /** - * @param string $expected - * @param string $from - * @param string $to - * @param string $header - * - * @dataProvider headerProvider - */ - public function testCustomHeaderCanBeUsed(string $expected, string $from, string $to, string $header): void - { - $differ = new Differ(new UnifiedDiffOutputBuilder($header)); - - $this->assertSame( - $expected, - $differ->diff($from, $to) - ); - } - - public function headerProvider(): array - { - return [ - [ - "CUSTOM HEADER\n@@ @@\n-a\n+b\n", - 'a', - 'b', - 'CUSTOM HEADER', - ], - [ - "CUSTOM HEADER\n@@ @@\n-a\n+b\n", - 'a', - 'b', - "CUSTOM HEADER\n", - ], - [ - "CUSTOM HEADER\n\n@@ @@\n-a\n+b\n", - 'a', - 'b', - "CUSTOM HEADER\n\n", - ], - [ - "@@ @@\n-a\n+b\n", - 'a', - 'b', - '', - ], - ]; - } - - /** - * @param string $expected - * @param string $from - * @param string $to - * - * @dataProvider provideDiffWithLineNumbers - */ - public function testDiffWithLineNumbers($expected, $from, $to): void - { - $differ = new Differ(new UnifiedDiffOutputBuilder("--- Original\n+++ New\n", true)); - $this->assertSame($expected, $differ->diff($from, $to)); - } - - public function provideDiffWithLineNumbers(): array - { - return UnifiedDiffOutputBuilderDataProvider::provideDiffWithLineNumbers(); - } -} diff --git a/paragonik-backend/vendor/sebastian/diff/tests/ParserTest.php b/paragonik-backend/vendor/sebastian/diff/tests/ParserTest.php deleted file mode 100644 index 69bf464..0000000 --- a/paragonik-backend/vendor/sebastian/diff/tests/ParserTest.php +++ /dev/null @@ -1,170 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace SebastianBergmann\Diff; - -use PHPUnit\Framework\TestCase; -use SebastianBergmann\Diff\Utils\FileUtils; - -/** - * @covers SebastianBergmann\Diff\Parser - * - * @uses SebastianBergmann\Diff\Chunk - * @uses SebastianBergmann\Diff\Diff - * @uses SebastianBergmann\Diff\Line - */ -final class ParserTest extends TestCase -{ - /** - * @var Parser - */ - private $parser; - - protected function setUp(): void - { - $this->parser = new Parser; - } - - public function testParse(): void - { - $content = FileUtils::getFileContent(__DIR__ . '/fixtures/patch.txt'); - - $diffs = $this->parser->parse($content); - - $this->assertContainsOnlyInstancesOf(Diff::class, $diffs); - $this->assertCount(1, $diffs); - - $chunks = $diffs[0]->getChunks(); - $this->assertContainsOnlyInstancesOf(Chunk::class, $chunks); - - $this->assertCount(1, $chunks); - - $this->assertSame(20, $chunks[0]->getStart()); - - $this->assertCount(4, $chunks[0]->getLines()); - } - - public function testParseWithMultipleChunks(): void - { - $content = FileUtils::getFileContent(__DIR__ . '/fixtures/patch2.txt'); - - $diffs = $this->parser->parse($content); - - $this->assertCount(1, $diffs); - - $chunks = $diffs[0]->getChunks(); - $this->assertCount(3, $chunks); - - $this->assertSame(20, $chunks[0]->getStart()); - $this->assertSame(320, $chunks[1]->getStart()); - $this->assertSame(600, $chunks[2]->getStart()); - - $this->assertCount(5, $chunks[0]->getLines()); - $this->assertCount(5, $chunks[1]->getLines()); - $this->assertCount(4, $chunks[2]->getLines()); - } - - public function testParseWithRemovedLines(): void - { - $content = <<parser->parse($content); - $this->assertContainsOnlyInstancesOf(Diff::class, $diffs); - $this->assertCount(1, $diffs); - - $chunks = $diffs[0]->getChunks(); - - $this->assertContainsOnlyInstancesOf(Chunk::class, $chunks); - $this->assertCount(1, $chunks); - - $chunk = $chunks[0]; - $this->assertSame(49, $chunk->getStart()); - $this->assertSame(49, $chunk->getEnd()); - $this->assertSame(9, $chunk->getStartRange()); - $this->assertSame(8, $chunk->getEndRange()); - - $lines = $chunk->getLines(); - $this->assertContainsOnlyInstancesOf(Line::class, $lines); - $this->assertCount(2, $lines); - - /** @var Line $line */ - $line = $lines[0]; - $this->assertSame('A', $line->getContent()); - $this->assertSame(Line::UNCHANGED, $line->getType()); - - $line = $lines[1]; - $this->assertSame('B', $line->getContent()); - $this->assertSame(Line::REMOVED, $line->getType()); - } - - public function testParseDiffForMulitpleFiles(): void - { - $content = <<parser->parse($content); - $this->assertCount(2, $diffs); - - /** @var Diff $diff */ - $diff = $diffs[0]; - $this->assertSame('a/Test.txt', $diff->getFrom()); - $this->assertSame('b/Test.txt', $diff->getTo()); - $this->assertCount(1, $diff->getChunks()); - - $diff = $diffs[1]; - $this->assertSame('a/Test2.txt', $diff->getFrom()); - $this->assertSame('b/Test2.txt', $diff->getTo()); - $this->assertCount(1, $diff->getChunks()); - } - - /** - * @param string $diff - * @param Diff[] $expected - * - * @dataProvider diffProvider - */ - public function testParser(string $diff, array $expected): void - { - $result = $this->parser->parse($diff); - - $this->assertEquals($expected, $result); - } - - public function diffProvider(): array - { - return [ - [ - "--- old.txt 2014-11-04 08:51:02.661868729 +0300\n+++ new.txt 2014-11-04 08:51:02.665868730 +0300\n@@ -1,3 +1,4 @@\n+2222111\n 1111111\n 1111111\n 1111111\n@@ -5,10 +6,8 @@\n 1111111\n 1111111\n 1111111\n +1121211\n 1111111\n -1111111\n -1111111\n -2222222\n 2222222\n 2222222\n 2222222\n@@ -17,5 +16,6 @@\n 2222222\n 2222222\n 2222222\n +2122212\n 2222222\n 2222222\n", - \unserialize(FileUtils::getFileContent(__DIR__ . '/fixtures/serialized_diff.bin')), - ], - ]; - } -} diff --git a/paragonik-backend/vendor/sebastian/diff/tests/TimeEfficientImplementationTest.php b/paragonik-backend/vendor/sebastian/diff/tests/TimeEfficientImplementationTest.php deleted file mode 100644 index 2bb683d..0000000 --- a/paragonik-backend/vendor/sebastian/diff/tests/TimeEfficientImplementationTest.php +++ /dev/null @@ -1,22 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace SebastianBergmann\Diff; - -/** - * @covers SebastianBergmann\Diff\TimeEfficientLongestCommonSubsequenceCalculator - */ -final class TimeEfficientImplementationTest extends LongestCommonSubsequenceTest -{ - protected function createImplementation(): LongestCommonSubsequenceCalculator - { - return new TimeEfficientLongestCommonSubsequenceCalculator; - } -} diff --git a/paragonik-backend/vendor/sebastian/diff/tests/Utils/FileUtils.php b/paragonik-backend/vendor/sebastian/diff/tests/Utils/FileUtils.php deleted file mode 100644 index 36e76fa..0000000 --- a/paragonik-backend/vendor/sebastian/diff/tests/Utils/FileUtils.php +++ /dev/null @@ -1,31 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace SebastianBergmann\Diff\Utils; - -final class FileUtils -{ - public static function getFileContent(string $file): string - { - $content = @\file_get_contents($file); - - if (false === $content) { - $error = \error_get_last(); - - throw new \RuntimeException(\sprintf( - 'Failed to read content of file "%s".%s', - $file, - $error ? ' ' . $error['message'] : '' - )); - } - - return $content; - } -} diff --git a/paragonik-backend/vendor/sebastian/diff/tests/Utils/UnifiedDiffAssertTrait.php b/paragonik-backend/vendor/sebastian/diff/tests/Utils/UnifiedDiffAssertTrait.php deleted file mode 100644 index 40ab44c..0000000 --- a/paragonik-backend/vendor/sebastian/diff/tests/Utils/UnifiedDiffAssertTrait.php +++ /dev/null @@ -1,277 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace SebastianBergmann\Diff\Utils; - -trait UnifiedDiffAssertTrait -{ - /** - * @param string $diff - * - * @throws \UnexpectedValueException - */ - public function assertValidUnifiedDiffFormat(string $diff): void - { - if ('' === $diff) { - $this->addToAssertionCount(1); - - return; - } - - // test diff ends with a line break - $last = \substr($diff, -1); - - if ("\n" !== $last && "\r" !== $last) { - throw new \UnexpectedValueException(\sprintf('Expected diff to end with a line break, got "%s".', $last)); - } - - $lines = \preg_split('/(.*\R)/', $diff, -1, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY); - $lineCount = \count($lines); - $lineNumber = $diffLineFromNumber = $diffLineToNumber = 1; - $fromStart = $fromTillOffset = $toStart = $toTillOffset = -1; - $expectHunkHeader = true; - - // check for header - if ($lineCount > 1) { - $this->unifiedDiffAssertLinePrefix($lines[0], 'Line 1.'); - $this->unifiedDiffAssertLinePrefix($lines[1], 'Line 2.'); - - if ('---' === \substr($lines[0], 0, 3)) { - if ('+++' !== \substr($lines[1], 0, 3)) { - throw new \UnexpectedValueException(\sprintf("Line 1 indicates a header, so line 2 must start with \"+++\".\nLine 1: \"%s\"\nLine 2: \"%s\".", $lines[0], $lines[1])); - } - - $this->unifiedDiffAssertHeaderLine($lines[0], '--- ', 'Line 1.'); - $this->unifiedDiffAssertHeaderLine($lines[1], '+++ ', 'Line 2.'); - - $lineNumber = 3; - } - } - - $endOfLineTypes = []; - $diffClosed = false; - - // assert format of lines, get all hunks, test the line numbers - for (; $lineNumber <= $lineCount; ++$lineNumber) { - if ($diffClosed) { - throw new \UnexpectedValueException(\sprintf('Unexpected line as 2 "No newline" markers have found, ". Line %d.', $lineNumber)); - } - - $line = $lines[$lineNumber - 1]; // line numbers start by 1, array index at 0 - $type = $this->unifiedDiffAssertLinePrefix($line, \sprintf('Line %d.', $lineNumber)); - - if ($expectHunkHeader && '@' !== $type && '\\' !== $type) { - throw new \UnexpectedValueException(\sprintf('Expected hunk start (\'@\'), got "%s". Line %d.', $type, $lineNumber)); - } - - if ('@' === $type) { - if (!$expectHunkHeader) { - throw new \UnexpectedValueException(\sprintf('Unexpected hunk start (\'@\'). Line %d.', $lineNumber)); - } - - $previousHunkFromEnd = $fromStart + $fromTillOffset; - $previousHunkTillEnd = $toStart + $toTillOffset; - - [$fromStart, $fromTillOffset, $toStart, $toTillOffset] = $this->unifiedDiffAssertHunkHeader($line, \sprintf('Line %d.', $lineNumber)); - - // detect overlapping hunks - if ($fromStart < $previousHunkFromEnd) { - throw new \UnexpectedValueException(\sprintf('Unexpected new hunk; "from" (\'-\') start overlaps previous hunk. Line %d.', $lineNumber)); - } - - if ($toStart < $previousHunkTillEnd) { - throw new \UnexpectedValueException(\sprintf('Unexpected new hunk; "to" (\'+\') start overlaps previous hunk. Line %d.', $lineNumber)); - } - - /* valid states; hunks touches against each other: - $fromStart === $previousHunkFromEnd - $toStart === $previousHunkTillEnd - */ - - $diffLineFromNumber = $fromStart; - $diffLineToNumber = $toStart; - $expectHunkHeader = false; - - continue; - } - - if ('-' === $type) { - if (isset($endOfLineTypes['-'])) { - throw new \UnexpectedValueException(\sprintf('Not expected from (\'-\'), already closed by "\\ No newline at end of file". Line %d.', $lineNumber)); - } - - ++$diffLineFromNumber; - } elseif ('+' === $type) { - if (isset($endOfLineTypes['+'])) { - throw new \UnexpectedValueException(\sprintf('Not expected to (\'+\'), already closed by "\\ No newline at end of file". Line %d.', $lineNumber)); - } - - ++$diffLineToNumber; - } elseif (' ' === $type) { - if (isset($endOfLineTypes['-'])) { - throw new \UnexpectedValueException(\sprintf('Not expected same (\' \'), \'-\' already closed by "\\ No newline at end of file". Line %d.', $lineNumber)); - } - - if (isset($endOfLineTypes['+'])) { - throw new \UnexpectedValueException(\sprintf('Not expected same (\' \'), \'+\' already closed by "\\ No newline at end of file". Line %d.', $lineNumber)); - } - - ++$diffLineFromNumber; - ++$diffLineToNumber; - } elseif ('\\' === $type) { - if (!isset($lines[$lineNumber - 2])) { - throw new \UnexpectedValueException(\sprintf('Unexpected "\\ No newline at end of file", it must be preceded by \'+\' or \'-\' line. Line %d.', $lineNumber)); - } - - $previousType = $this->unifiedDiffAssertLinePrefix($lines[$lineNumber - 2], \sprintf('Preceding line of "\\ No newline at end of file" of unexpected format. Line %d.', $lineNumber)); - - if (isset($endOfLineTypes[$previousType])) { - throw new \UnexpectedValueException(\sprintf('Unexpected "\\ No newline at end of file", "%s" was already closed. Line %d.', $type, $lineNumber)); - } - - $endOfLineTypes[$previousType] = true; - $diffClosed = \count($endOfLineTypes) > 1; - } else { - // internal state error - throw new \RuntimeException(\sprintf('Unexpected line type "%s" Line %d.', $type, $lineNumber)); - } - - $expectHunkHeader = - $diffLineFromNumber === ($fromStart + $fromTillOffset) - && $diffLineToNumber === ($toStart + $toTillOffset) - ; - } - - if ( - $diffLineFromNumber !== ($fromStart + $fromTillOffset) - && $diffLineToNumber !== ($toStart + $toTillOffset) - ) { - throw new \UnexpectedValueException(\sprintf('Unexpected EOF, number of lines in hunk "from" (\'-\')) and "to" (\'+\') mismatched. Line %d.', $lineNumber)); - } - - if ($diffLineFromNumber !== ($fromStart + $fromTillOffset)) { - throw new \UnexpectedValueException(\sprintf('Unexpected EOF, number of lines in hunk "from" (\'-\')) mismatched. Line %d.', $lineNumber)); - } - - if ($diffLineToNumber !== ($toStart + $toTillOffset)) { - throw new \UnexpectedValueException(\sprintf('Unexpected EOF, number of lines in hunk "to" (\'+\')) mismatched. Line %d.', $lineNumber)); - } - - $this->addToAssertionCount(1); - } - - /** - * @param string $line - * @param string $message - * - * @return string '+', '-', '@', ' ' or '\' - */ - private function unifiedDiffAssertLinePrefix(string $line, string $message): string - { - $this->unifiedDiffAssertStrLength($line, 2, $message); // 2: line type indicator ('+', '-', ' ' or '\') and a line break - $firstChar = $line[0]; - - if ('+' === $firstChar || '-' === $firstChar || '@' === $firstChar || ' ' === $firstChar) { - return $firstChar; - } - - if ("\\ No newline at end of file\n" === $line) { - return '\\'; - } - - throw new \UnexpectedValueException(\sprintf('Expected line to start with \'@\', \'-\' or \'+\', got "%s". %s', $line, $message)); - } - - private function unifiedDiffAssertStrLength(string $line, int $min, string $message): void - { - $length = \strlen($line); - - if ($length < $min) { - throw new \UnexpectedValueException(\sprintf('Expected string length of minimal %d, got %d. %s', $min, $length, $message)); - } - } - - /** - * Assert valid unified diff header line - * - * Samples: - * - "+++ from1.txt\t2017-08-24 19:51:29.383985722 +0200" - * - "+++ from1.txt" - * - * @param string $line - * @param string $start - * @param string $message - */ - private function unifiedDiffAssertHeaderLine(string $line, string $start, string $message): void - { - if (0 !== \strpos($line, $start)) { - throw new \UnexpectedValueException(\sprintf('Expected header line to start with "%s", got "%s". %s', $start . ' ', $line, $message)); - } - - // sample "+++ from1.txt\t2017-08-24 19:51:29.383985722 +0200\n" - $match = \preg_match( - "/^([^\t]*)(?:[\t]([\\S].*[\\S]))?\n$/", - \substr($line, 4), // 4 === string length of "+++ " / "--- " - $matches - ); - - if (1 !== $match) { - throw new \UnexpectedValueException(\sprintf('Header line does not match expected pattern, got "%s". %s', $line, $message)); - } - - // $file = $matches[1]; - - if (\count($matches) > 2) { - $this->unifiedDiffAssertHeaderDate($matches[2], $message); - } - } - - private function unifiedDiffAssertHeaderDate(string $date, string $message): void - { - // sample "2017-08-24 19:51:29.383985722 +0200" - $match = \preg_match( - '/^([\d]{4})-([01]?[\d])-([0123]?[\d])(:? [\d]{1,2}:[\d]{1,2}(?::[\d]{1,2}(:?\.[\d]+)?)?(?: ([\+\-][\d]{4}))?)?$/', - $date, - $matches - ); - - if (1 !== $match || ($matchesCount = \count($matches)) < 4) { - throw new \UnexpectedValueException(\sprintf('Date of header line does not match expected pattern, got "%s". %s', $date, $message)); - } - - // [$full, $year, $month, $day, $time] = $matches; - } - - /** - * @param string $line - * @param string $message - * - * @return int[] - */ - private function unifiedDiffAssertHunkHeader(string $line, string $message): array - { - if (1 !== \preg_match('#^@@ -([\d]+)((?:,[\d]+)?) \+([\d]+)((?:,[\d]+)?) @@\n$#', $line, $matches)) { - throw new \UnexpectedValueException( - \sprintf( - 'Hunk header line does not match expected pattern, got "%s". %s', - $line, - $message - ) - ); - } - - return [ - (int) $matches[1], - empty($matches[2]) ? 1 : (int) \substr($matches[2], 1), - (int) $matches[3], - empty($matches[4]) ? 1 : (int) \substr($matches[4], 1), - ]; - } -} diff --git a/paragonik-backend/vendor/sebastian/diff/tests/Utils/UnifiedDiffAssertTraitIntegrationTest.php b/paragonik-backend/vendor/sebastian/diff/tests/Utils/UnifiedDiffAssertTraitIntegrationTest.php deleted file mode 100644 index c88dc52..0000000 --- a/paragonik-backend/vendor/sebastian/diff/tests/Utils/UnifiedDiffAssertTraitIntegrationTest.php +++ /dev/null @@ -1,129 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace SebastianBergmann\Diff\Utils; - -use PHPUnit\Framework\TestCase; -use Symfony\Component\Process\Process; - -/** - * @requires OS Linux - * - * @coversNothing - */ -final class UnifiedDiffAssertTraitIntegrationTest extends TestCase -{ - use UnifiedDiffAssertTrait; - - private $filePatch; - - protected function setUp(): void - { - $this->filePatch = __DIR__ . '/../fixtures/out/patch.txt'; - - $this->cleanUpTempFiles(); - } - - protected function tearDown(): void - { - $this->cleanUpTempFiles(); - } - - /** - * @param string $fileFrom - * @param string $fileTo - * - * @dataProvider provideFilePairsCases - */ - public function testValidPatches(string $fileFrom, string $fileTo): void - { - $command = \sprintf( - 'diff -u %s %s > %s', - \escapeshellarg(\realpath($fileFrom)), - \escapeshellarg(\realpath($fileTo)), - \escapeshellarg($this->filePatch) - ); - - $p = new Process($command); - $p->run(); - - $exitCode = $p->getExitCode(); - - if (0 === $exitCode) { - // odd case when two files have the same content. Test after executing as it is more efficient than to read the files and check the contents every time. - $this->addToAssertionCount(1); - - return; - } - - $this->assertSame( - 1, // means `diff` found a diff between the files we gave it - $exitCode, - \sprintf( - "Command exec. was not successful:\n\"%s\"\nOutput:\n\"%s\"\nStdErr:\n\"%s\"\nExit code %d.\n", - $command, - $p->getOutput(), - $p->getErrorOutput(), - $p->getExitCode() - ) - ); - - $this->assertValidUnifiedDiffFormat(FileUtils::getFileContent($this->filePatch)); - } - - /** - * @return array> - */ - public function provideFilePairsCases(): array - { - $cases = []; - - // created cases based on dedicated fixtures - $dir = \realpath(__DIR__ . '/../fixtures/UnifiedDiffAssertTraitIntegrationTest'); - $dirLength = \strlen($dir); - - for ($i = 1;; ++$i) { - $fromFile = \sprintf('%s/%d_a.txt', $dir, $i); - $toFile = \sprintf('%s/%d_b.txt', $dir, $i); - - if (!\file_exists($fromFile)) { - break; - } - - $this->assertFileExists($toFile); - $cases[\sprintf("Diff file:\n\"%s\"\nvs.\n\"%s\"\n", \substr(\realpath($fromFile), $dirLength), \substr(\realpath($toFile), $dirLength))] = [$fromFile, $toFile]; - } - - // create cases based on PHP files within the vendor directory for integration testing - $dir = \realpath(__DIR__ . '/../../vendor'); - $dirLength = \strlen($dir); - - $fileIterator = new \RecursiveIteratorIterator(new \RecursiveDirectoryIterator($dir, \RecursiveDirectoryIterator::SKIP_DOTS)); - $fromFile = __FILE__; - - /** @var \SplFileInfo $file */ - foreach ($fileIterator as $file) { - if ('php' !== $file->getExtension()) { - continue; - } - - $toFile = $file->getPathname(); - $cases[\sprintf("Diff file:\n\"%s\"\nvs.\n\"%s\"\n", \substr(\realpath($fromFile), $dirLength), \substr(\realpath($toFile), $dirLength))] = [$fromFile, $toFile]; - $fromFile = $toFile; - } - - return $cases; - } - - private function cleanUpTempFiles(): void - { - @\unlink($this->filePatch); - } -} diff --git a/paragonik-backend/vendor/sebastian/diff/tests/Utils/UnifiedDiffAssertTraitTest.php b/paragonik-backend/vendor/sebastian/diff/tests/Utils/UnifiedDiffAssertTraitTest.php deleted file mode 100644 index 7d5cc65..0000000 --- a/paragonik-backend/vendor/sebastian/diff/tests/Utils/UnifiedDiffAssertTraitTest.php +++ /dev/null @@ -1,434 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace SebastianBergmann\Diff\Utils; - -use PHPUnit\Framework\TestCase; - -/** - * @covers SebastianBergmann\Diff\Utils\UnifiedDiffAssertTrait - */ -final class UnifiedDiffAssertTraitTest extends TestCase -{ - use UnifiedDiffAssertTrait; - - /** - * @param string $diff - * - * @dataProvider provideValidCases - */ - public function testValidCases(string $diff): void - { - $this->assertValidUnifiedDiffFormat($diff); - } - - public function provideValidCases(): array - { - return [ - [ -'--- Original -+++ New -@@ -8 +8 @@ --Z -+U -', - ], - [ -'--- Original -+++ New -@@ -8 +8 @@ --Z -+U -@@ -15 +15 @@ --X -+V -', - ], - 'empty diff. is valid' => [ - '', - ], - ]; - } - - public function testNoLinebreakEnd(): void - { - $this->expectException(\UnexpectedValueException::class); - $this->expectExceptionMessageRegExp(\sprintf('#^%s$#', \preg_quote('Expected diff to end with a line break, got "C".', '#'))); - - $this->assertValidUnifiedDiffFormat("A\nB\nC"); - } - - public function testInvalidStartWithoutHeader(): void - { - $this->expectException(\UnexpectedValueException::class); - $this->expectExceptionMessageRegExp(\sprintf('#^%s$#', \preg_quote("Expected line to start with '@', '-' or '+', got \"A\n\". Line 1.", '#'))); - - $this->assertValidUnifiedDiffFormat("A\n"); - } - - public function testInvalidStartHeader1(): void - { - $this->expectException(\UnexpectedValueException::class); - $this->expectExceptionMessageRegExp(\sprintf('#^%s$#', \preg_quote("Line 1 indicates a header, so line 2 must start with \"+++\".\nLine 1: \"--- A\n\"\nLine 2: \"+ 1\n\".", '#'))); - - $this->assertValidUnifiedDiffFormat("--- A\n+ 1\n"); - } - - public function testInvalidStartHeader2(): void - { - $this->expectException(\UnexpectedValueException::class); - $this->expectExceptionMessageRegExp(\sprintf('#^%s$#', \preg_quote("Header line does not match expected pattern, got \"+++ file X\n\". Line 2.", '#'))); - - $this->assertValidUnifiedDiffFormat("--- A\n+++ file\tX\n"); - } - - public function testInvalidStartHeader3(): void - { - $this->expectException(\UnexpectedValueException::class); - $this->expectExceptionMessageRegExp(\sprintf('#^%s$#', \preg_quote('Date of header line does not match expected pattern, got "[invalid date]". Line 1.', '#'))); - - $this->assertValidUnifiedDiffFormat( -"--- Original\t[invalid date] -+++ New -@@ -1,2 +1,2 @@ --A -+B - " . ' -' - ); - } - - public function testInvalidStartHeader4(): void - { - $this->expectException(\UnexpectedValueException::class); - $this->expectExceptionMessageRegExp(\sprintf('#^%s$#', \preg_quote("Expected header line to start with \"+++ \", got \"+++INVALID\n\". Line 2.", '#'))); - - $this->assertValidUnifiedDiffFormat( -'--- Original -+++INVALID -@@ -1,2 +1,2 @@ --A -+B - ' . ' -' - ); - } - - public function testInvalidLine1(): void - { - $this->expectException(\UnexpectedValueException::class); - $this->expectExceptionMessageRegExp(\sprintf('#^%s$#', \preg_quote("Expected line to start with '@', '-' or '+', got \"1\n\". Line 5.", '#'))); - - $this->assertValidUnifiedDiffFormat( -'--- Original -+++ New -@@ -8 +8 @@ --Z -1 -+U -' - ); - } - - public function testInvalidLine2(): void - { - $this->expectException(\UnexpectedValueException::class); - $this->expectExceptionMessageRegExp(\sprintf('#^%s$#', \preg_quote('Expected string length of minimal 2, got 1. Line 4.', '#'))); - - $this->assertValidUnifiedDiffFormat( -'--- Original -+++ New -@@ -8 +8 @@ - - -' - ); - } - - public function testHunkInvalidFormat(): void - { - $this->expectException(\UnexpectedValueException::class); - $this->expectExceptionMessageRegExp(\sprintf('#^%s$#', \preg_quote("Hunk header line does not match expected pattern, got \"@@ INVALID -1,1 +1,1 @@\n\". Line 3.", '#'))); - - $this->assertValidUnifiedDiffFormat( -'--- Original -+++ New -@@ INVALID -1,1 +1,1 @@ --Z -+U -' - ); - } - - public function testHunkOverlapFrom(): void - { - $this->expectException(\UnexpectedValueException::class); - $this->expectExceptionMessageRegExp(\sprintf('#^%s$#', \preg_quote('Unexpected new hunk; "from" (\'-\') start overlaps previous hunk. Line 6.', '#'))); - - $this->assertValidUnifiedDiffFormat( -'--- Original -+++ New -@@ -8,1 +8,1 @@ --Z -+U -@@ -7,1 +9,1 @@ --Z -+U -' - ); - } - - public function testHunkOverlapTo(): void - { - $this->expectException(\UnexpectedValueException::class); - $this->expectExceptionMessageRegExp(\sprintf('#^%s$#', \preg_quote('Unexpected new hunk; "to" (\'+\') start overlaps previous hunk. Line 6.', '#'))); - - $this->assertValidUnifiedDiffFormat( -'--- Original -+++ New -@@ -8,1 +8,1 @@ --Z -+U -@@ -17,1 +7,1 @@ --Z -+U -' - ); - } - - public function testExpectHunk1(): void - { - $this->expectException(\UnexpectedValueException::class); - $this->expectExceptionMessageRegExp(\sprintf('#^%s$#', \preg_quote('Expected hunk start (\'@\'), got "+". Line 6.', '#'))); - - $this->assertValidUnifiedDiffFormat( -'--- Original -+++ New -@@ -8 +8 @@ --Z -+U -+O -' - ); - } - - public function testExpectHunk2(): void - { - $this->expectException(\UnexpectedValueException::class); - $this->expectExceptionMessageRegExp(\sprintf('#^%s$#', \preg_quote('Unexpected hunk start (\'@\'). Line 6.', '#'))); - - $this->assertValidUnifiedDiffFormat( -'--- Original -+++ New -@@ -8,12 +8,12 @@ - ' . ' - ' . ' -@@ -38,12 +48,12 @@ -' - ); - } - - public function testMisplacedLineAfterComments1(): void - { - $this->expectException(\UnexpectedValueException::class); - $this->expectExceptionMessageRegExp(\sprintf('#^%s$#', \preg_quote('Unexpected line as 2 "No newline" markers have found, ". Line 8.', '#'))); - - $this->assertValidUnifiedDiffFormat( -'--- Original -+++ New -@@ -8 +8 @@ --Z -\ No newline at end of file -+U -\ No newline at end of file -+A -' - ); - } - - public function testMisplacedLineAfterComments2(): void - { - $this->expectException(\UnexpectedValueException::class); - $this->expectExceptionMessageRegExp(\sprintf('#^%s$#', \preg_quote('Unexpected line as 2 "No newline" markers have found, ". Line 7.', '#'))); - - $this->assertValidUnifiedDiffFormat( -'--- Original -+++ New -@@ -8 +8 @@ -+U -\ No newline at end of file -\ No newline at end of file -\ No newline at end of file -' - ); - } - - public function testMisplacedLineAfterComments3(): void - { - $this->expectException(\UnexpectedValueException::class); - $this->expectExceptionMessageRegExp(\sprintf('#^%s$#', \preg_quote('Unexpected line as 2 "No newline" markers have found, ". Line 7.', '#'))); - - $this->assertValidUnifiedDiffFormat( -'--- Original -+++ New -@@ -8 +8 @@ -+U -\ No newline at end of file -\ No newline at end of file -+A -' - ); - } - - public function testMisplacedComment(): void - { - $this->expectException(\UnexpectedValueException::class); - $this->expectExceptionMessageRegExp(\sprintf('#^%s$#', \preg_quote('Unexpected "\ No newline at end of file", it must be preceded by \'+\' or \'-\' line. Line 1.', '#'))); - - $this->assertValidUnifiedDiffFormat( -'\ No newline at end of file -' - ); - } - - public function testUnexpectedDuplicateNoNewLineEOF(): void - { - $this->expectException(\UnexpectedValueException::class); - $this->expectExceptionMessageRegExp(\sprintf('#^%s$#', \preg_quote('Unexpected "\\ No newline at end of file", "\\" was already closed. Line 8.', '#'))); - - $this->assertValidUnifiedDiffFormat( -'--- Original -+++ New -@@ -8,12 +8,12 @@ - ' . ' - ' . ' -\ No newline at end of file - ' . ' -\ No newline at end of file -' - ); - } - - public function testFromAfterClose(): void - { - $this->expectException(\UnexpectedValueException::class); - $this->expectExceptionMessageRegExp(\sprintf('#^%s$#', \preg_quote('Not expected from (\'-\'), already closed by "\ No newline at end of file". Line 6.', '#'))); - - $this->assertValidUnifiedDiffFormat( -'--- Original -+++ New -@@ -8,12 +8,12 @@ --A -\ No newline at end of file --A -\ No newline at end of file -' - ); - } - - public function testSameAfterFromClose(): void - { - $this->expectException(\UnexpectedValueException::class); - $this->expectExceptionMessageRegExp(\sprintf('#^%s$#', \preg_quote('Not expected same (\' \'), \'-\' already closed by "\ No newline at end of file". Line 6.', '#'))); - - $this->assertValidUnifiedDiffFormat( - '--- Original -+++ New -@@ -8,12 +8,12 @@ --A -\ No newline at end of file - A -\ No newline at end of file -' - ); - } - - public function testToAfterClose(): void - { - $this->expectException(\UnexpectedValueException::class); - $this->expectExceptionMessageRegExp(\sprintf('#^%s$#', \preg_quote('Not expected to (\'+\'), already closed by "\ No newline at end of file". Line 6.', '#'))); - - $this->assertValidUnifiedDiffFormat( - '--- Original -+++ New -@@ -8,12 +8,12 @@ -+A -\ No newline at end of file -+A -\ No newline at end of file -' - ); - } - - public function testSameAfterToClose(): void - { - $this->expectException(\UnexpectedValueException::class); - $this->expectExceptionMessageRegExp(\sprintf('#^%s$#', \preg_quote('Not expected same (\' \'), \'+\' already closed by "\ No newline at end of file". Line 6.', '#'))); - - $this->assertValidUnifiedDiffFormat( - '--- Original -+++ New -@@ -8,12 +8,12 @@ -+A -\ No newline at end of file - A -\ No newline at end of file -' - ); - } - - public function testUnexpectedEOFFromMissingLines(): void - { - $this->expectException(\UnexpectedValueException::class); - $this->expectExceptionMessageRegExp(\sprintf('#^%s$#', \preg_quote('Unexpected EOF, number of lines in hunk "from" (\'-\')) mismatched. Line 7.', '#'))); - - $this->assertValidUnifiedDiffFormat( -'--- Original -+++ New -@@ -8,19 +7,2 @@ --A -+B - ' . ' -' - ); - } - - public function testUnexpectedEOFToMissingLines(): void - { - $this->expectException(\UnexpectedValueException::class); - $this->expectExceptionMessageRegExp(\sprintf('#^%s$#', \preg_quote('Unexpected EOF, number of lines in hunk "to" (\'+\')) mismatched. Line 7.', '#'))); - - $this->assertValidUnifiedDiffFormat( -'--- Original -+++ New -@@ -8,2 +7,3 @@ --A -+B - ' . ' -' - ); - } - - public function testUnexpectedEOFBothFromAndToMissingLines(): void - { - $this->expectException(\UnexpectedValueException::class); - $this->expectExceptionMessageRegExp(\sprintf('#^%s$#', \preg_quote('Unexpected EOF, number of lines in hunk "from" (\'-\')) and "to" (\'+\') mismatched. Line 7.', '#'))); - - $this->assertValidUnifiedDiffFormat( -'--- Original -+++ New -@@ -1,12 +1,14 @@ --A -+B - ' . ' -' - ); - } -} diff --git a/paragonik-backend/vendor/sebastian/diff/tests/fixtures/.editorconfig b/paragonik-backend/vendor/sebastian/diff/tests/fixtures/.editorconfig deleted file mode 100644 index 78b36ca..0000000 --- a/paragonik-backend/vendor/sebastian/diff/tests/fixtures/.editorconfig +++ /dev/null @@ -1 +0,0 @@ -root = true diff --git a/paragonik-backend/vendor/sebastian/diff/tests/fixtures/UnifiedDiffAssertTraitIntegrationTest/1_a.txt b/paragonik-backend/vendor/sebastian/diff/tests/fixtures/UnifiedDiffAssertTraitIntegrationTest/1_a.txt deleted file mode 100644 index 2e65efe..0000000 --- a/paragonik-backend/vendor/sebastian/diff/tests/fixtures/UnifiedDiffAssertTraitIntegrationTest/1_a.txt +++ /dev/null @@ -1 +0,0 @@ -a \ No newline at end of file diff --git a/paragonik-backend/vendor/sebastian/diff/tests/fixtures/UnifiedDiffAssertTraitIntegrationTest/1_b.txt b/paragonik-backend/vendor/sebastian/diff/tests/fixtures/UnifiedDiffAssertTraitIntegrationTest/1_b.txt deleted file mode 100644 index e69de29..0000000 diff --git a/paragonik-backend/vendor/sebastian/diff/tests/fixtures/UnifiedDiffAssertTraitIntegrationTest/2_a.txt b/paragonik-backend/vendor/sebastian/diff/tests/fixtures/UnifiedDiffAssertTraitIntegrationTest/2_a.txt deleted file mode 100644 index c7fe26e..0000000 --- a/paragonik-backend/vendor/sebastian/diff/tests/fixtures/UnifiedDiffAssertTraitIntegrationTest/2_a.txt +++ /dev/null @@ -1,35 +0,0 @@ -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a \ No newline at end of file diff --git a/paragonik-backend/vendor/sebastian/diff/tests/fixtures/UnifiedDiffAssertTraitIntegrationTest/2_b.txt b/paragonik-backend/vendor/sebastian/diff/tests/fixtures/UnifiedDiffAssertTraitIntegrationTest/2_b.txt deleted file mode 100644 index 377a70f..0000000 --- a/paragonik-backend/vendor/sebastian/diff/tests/fixtures/UnifiedDiffAssertTraitIntegrationTest/2_b.txt +++ /dev/null @@ -1,18 +0,0 @@ -a -a -a -a -a -a -a -a -a -a -b -a -a -a -a -a -a -c \ No newline at end of file diff --git a/paragonik-backend/vendor/sebastian/diff/tests/fixtures/out/.editorconfig b/paragonik-backend/vendor/sebastian/diff/tests/fixtures/out/.editorconfig deleted file mode 100644 index 78b36ca..0000000 --- a/paragonik-backend/vendor/sebastian/diff/tests/fixtures/out/.editorconfig +++ /dev/null @@ -1 +0,0 @@ -root = true diff --git a/paragonik-backend/vendor/sebastian/diff/tests/fixtures/out/.gitignore b/paragonik-backend/vendor/sebastian/diff/tests/fixtures/out/.gitignore deleted file mode 100644 index f6f7a47..0000000 --- a/paragonik-backend/vendor/sebastian/diff/tests/fixtures/out/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -# reset all ignore rules to create sandbox for integration test -!/** \ No newline at end of file diff --git a/paragonik-backend/vendor/sebastian/diff/tests/fixtures/patch.txt b/paragonik-backend/vendor/sebastian/diff/tests/fixtures/patch.txt deleted file mode 100644 index 144b61d..0000000 --- a/paragonik-backend/vendor/sebastian/diff/tests/fixtures/patch.txt +++ /dev/null @@ -1,9 +0,0 @@ -diff --git a/Foo.php b/Foo.php -index abcdefg..abcdefh 100644 ---- a/Foo.php -+++ b/Foo.php -@@ -20,4 +20,5 @@ class Foo - const ONE = 1; - const TWO = 2; -+ const THREE = 3; - const FOUR = 4; diff --git a/paragonik-backend/vendor/sebastian/diff/tests/fixtures/patch2.txt b/paragonik-backend/vendor/sebastian/diff/tests/fixtures/patch2.txt deleted file mode 100644 index 41fbc95..0000000 --- a/paragonik-backend/vendor/sebastian/diff/tests/fixtures/patch2.txt +++ /dev/null @@ -1,21 +0,0 @@ -diff --git a/Foo.php b/Foo.php -index abcdefg..abcdefh 100644 ---- a/Foo.php -+++ b/Foo.php -@@ -20,4 +20,5 @@ class Foo - const ONE = 1; - const TWO = 2; -+ const THREE = 3; - const FOUR = 4; - -@@ -320,4 +320,5 @@ class Foo - const A = 'A'; - const B = 'B'; -+ const C = 'C'; - const D = 'D'; - -@@ -600,4 +600,5 @@ class Foo - public function doSomething() { - -+ return 'foo'; - } diff --git a/paragonik-backend/vendor/sebastian/diff/tests/fixtures/serialized_diff.bin b/paragonik-backend/vendor/sebastian/diff/tests/fixtures/serialized_diff.bin deleted file mode 100644 index 377404d..0000000 Binary files a/paragonik-backend/vendor/sebastian/diff/tests/fixtures/serialized_diff.bin and /dev/null differ diff --git a/paragonik-backend/vendor/sebastian/environment/.github/FUNDING.yml b/paragonik-backend/vendor/sebastian/environment/.github/FUNDING.yml deleted file mode 100644 index c2fba0f..0000000 --- a/paragonik-backend/vendor/sebastian/environment/.github/FUNDING.yml +++ /dev/null @@ -1 +0,0 @@ -github: sebastianbergmann diff --git a/paragonik-backend/vendor/sebastian/environment/.gitignore b/paragonik-backend/vendor/sebastian/environment/.gitignore deleted file mode 100644 index 1adc020..0000000 --- a/paragonik-backend/vendor/sebastian/environment/.gitignore +++ /dev/null @@ -1,6 +0,0 @@ -/.idea -/vendor -/composer.lock -/composer.phar -/.php_cs.cache -/.phpunit.result.cache diff --git a/paragonik-backend/vendor/sebastian/environment/.php_cs.dist b/paragonik-backend/vendor/sebastian/environment/.php_cs.dist deleted file mode 100644 index 67dd70e..0000000 --- a/paragonik-backend/vendor/sebastian/environment/.php_cs.dist +++ /dev/null @@ -1,199 +0,0 @@ - - -For the full copyright and license information, please view the LICENSE -file that was distributed with this source code. -EOF; - -return PhpCsFixer\Config::create() - ->setRiskyAllowed(true) - ->setRules( - [ - 'align_multiline_comment' => true, - 'array_indentation' => true, - 'array_syntax' => ['syntax' => 'short'], - 'binary_operator_spaces' => [ - 'operators' => [ - '=' => 'align', - '=>' => 'align', - ], - ], - 'blank_line_after_namespace' => true, - 'blank_line_before_statement' => [ - 'statements' => [ - 'break', - 'continue', - 'declare', - 'do', - 'for', - 'foreach', - 'if', - 'include', - 'include_once', - 'require', - 'require_once', - 'return', - 'switch', - 'throw', - 'try', - 'while', - 'yield', - ], - ], - 'braces' => true, - 'cast_spaces' => true, - 'class_attributes_separation' => ['elements' => ['const', 'method', 'property']], - 'combine_consecutive_issets' => true, - 'combine_consecutive_unsets' => true, - 'combine_nested_dirname' => true, - 'compact_nullable_typehint' => true, - 'concat_space' => ['spacing' => 'one'], - 'declare_equal_normalize' => ['space' => 'none'], - 'declare_strict_types' => true, - 'dir_constant' => true, - 'elseif' => true, - 'encoding' => true, - 'full_opening_tag' => true, - 'function_declaration' => true, - 'header_comment' => ['header' => $header, 'separate' => 'none'], - 'indentation_type' => true, - 'is_null' => true, - 'line_ending' => true, - 'list_syntax' => ['syntax' => 'short'], - 'logical_operators' => true, - 'lowercase_cast' => true, - 'lowercase_constants' => true, - 'lowercase_keywords' => true, - 'lowercase_static_reference' => true, - 'magic_constant_casing' => true, - 'method_argument_space' => ['ensure_fully_multiline' => true], - 'modernize_types_casting' => true, - 'multiline_comment_opening_closing' => true, - 'multiline_whitespace_before_semicolons' => true, - 'native_constant_invocation' => true, - 'native_function_casing' => true, - 'native_function_invocation' => true, - 'new_with_braces' => false, - 'no_alias_functions' => true, - 'no_alternative_syntax' => true, - 'no_blank_lines_after_class_opening' => true, - 'no_blank_lines_after_phpdoc' => true, - 'no_blank_lines_before_namespace' => true, - 'no_closing_tag' => true, - 'no_empty_comment' => true, - 'no_empty_phpdoc' => true, - 'no_empty_statement' => true, - 'no_extra_blank_lines' => true, - 'no_homoglyph_names' => true, - 'no_leading_import_slash' => true, - 'no_leading_namespace_whitespace' => true, - 'no_mixed_echo_print' => ['use' => 'print'], - 'no_multiline_whitespace_around_double_arrow' => true, - 'no_null_property_initialization' => true, - 'no_php4_constructor' => true, - 'no_short_bool_cast' => true, - 'no_short_echo_tag' => true, - 'no_singleline_whitespace_before_semicolons' => true, - 'no_spaces_after_function_name' => true, - 'no_spaces_inside_parenthesis' => true, - 'no_superfluous_elseif' => true, - 'no_superfluous_phpdoc_tags' => true, - 'no_trailing_comma_in_list_call' => true, - 'no_trailing_comma_in_singleline_array' => true, - 'no_trailing_whitespace' => true, - 'no_trailing_whitespace_in_comment' => true, - 'no_unneeded_control_parentheses' => true, - 'no_unneeded_curly_braces' => true, - 'no_unneeded_final_method' => true, - 'no_unreachable_default_argument_value' => true, - 'no_unset_on_property' => true, - 'no_unused_imports' => true, - 'no_useless_else' => true, - 'no_useless_return' => true, - 'no_whitespace_before_comma_in_array' => true, - 'no_whitespace_in_blank_line' => true, - 'non_printable_character' => true, - 'normalize_index_brace' => true, - 'object_operator_without_whitespace' => true, - 'ordered_class_elements' => [ - 'order' => [ - 'use_trait', - 'constant_public', - 'constant_protected', - 'constant_private', - 'property_public_static', - 'property_protected_static', - 'property_private_static', - 'property_public', - 'property_protected', - 'property_private', - 'method_public_static', - 'construct', - 'destruct', - 'magic', - 'phpunit', - 'method_public', - 'method_protected', - 'method_private', - 'method_protected_static', - 'method_private_static', - ], - ], - 'ordered_imports' => true, - 'phpdoc_add_missing_param_annotation' => true, - 'phpdoc_align' => true, - 'phpdoc_annotation_without_dot' => true, - 'phpdoc_indent' => true, - 'phpdoc_no_access' => true, - 'phpdoc_no_empty_return' => true, - 'phpdoc_no_package' => true, - 'phpdoc_order' => true, - 'phpdoc_return_self_reference' => true, - 'phpdoc_scalar' => true, - 'phpdoc_separation' => true, - 'phpdoc_single_line_var_spacing' => true, - 'phpdoc_to_comment' => true, - 'phpdoc_trim' => true, - 'phpdoc_trim_consecutive_blank_line_separation' => true, - 'phpdoc_types' => true, - 'phpdoc_types_order' => true, - 'phpdoc_var_without_name' => true, - 'pow_to_exponentiation' => true, - 'protected_to_private' => true, - 'random_api_migration' => true, - 'return_assignment' => true, - 'return_type_declaration' => ['space_before' => 'none'], - 'self_accessor' => true, - 'semicolon_after_instruction' => true, - 'set_type_to_cast' => true, - 'short_scalar_cast' => true, - 'simplified_null_return' => true, - 'single_blank_line_at_eof' => true, - 'single_import_per_statement' => true, - 'single_line_after_imports' => true, - 'single_quote' => true, - 'standardize_not_equals' => true, - 'ternary_to_null_coalescing' => true, - 'trailing_comma_in_multiline_array' => true, - 'trim_array_spaces' => true, - 'unary_operator_spaces' => true, - 'visibility_required' => [ - 'elements' => [ - 'const', - 'method', - 'property', - ], - ], - 'void_return' => true, - 'whitespace_after_comma_in_array' => true, - ] - ) - ->setFinder( - PhpCsFixer\Finder::create() - ->files() - ->in(__DIR__ . '/src') - ->in(__DIR__ . '/tests') - ); diff --git a/paragonik-backend/vendor/sebastian/environment/.travis.yml b/paragonik-backend/vendor/sebastian/environment/.travis.yml deleted file mode 100644 index e066fa9..0000000 --- a/paragonik-backend/vendor/sebastian/environment/.travis.yml +++ /dev/null @@ -1,28 +0,0 @@ -language: php - -php: - - 7.1 - - 7.2 - - 7.3 - - 7.4snapshot - -env: - matrix: - - DRIVER="phpdbg" - - DRIVER="xdebug" - -before_install: - - composer clear-cache - -install: - - travis_retry composer update --no-interaction --no-ansi --no-progress --no-suggest - -script: - - if [[ "$DRIVER" = 'phpdbg' ]]; then phpdbg -qrr vendor/bin/phpunit --coverage-clover=coverage.xml; fi - - if [[ "$DRIVER" != 'phpdbg' ]]; then vendor/bin/phpunit --coverage-clover=coverage.xml; fi - -after_success: - - bash <(curl -s https://codecov.io/bash) - -notifications: - email: false diff --git a/paragonik-backend/vendor/sebastian/environment/ChangeLog.md b/paragonik-backend/vendor/sebastian/environment/ChangeLog.md deleted file mode 100644 index dd9af1b..0000000 --- a/paragonik-backend/vendor/sebastian/environment/ChangeLog.md +++ /dev/null @@ -1,120 +0,0 @@ -# Changes in sebastianbergmann/environment - -All notable changes in `sebastianbergmann/environment` are documented in this file using the [Keep a CHANGELOG](http://keepachangelog.com/) principles. - -## [4.2.3] - 2019-11-20 - -### Changed - -* Implemented [#50](https://github.com/sebastianbergmann/environment/pull/50): Windows improvements to console capabilities - -### Fixed - -* Fixed [#49](https://github.com/sebastianbergmann/environment/issues/49): Detection how OpCache handles docblocks does not work correctly when PHPDBG is used - -## [4.2.2] - 2019-05-05 - -### Fixed - -* Fixed [#44](https://github.com/sebastianbergmann/environment/pull/44): `TypeError` in `Console::getNumberOfColumnsInteractive()` - -## [4.2.1] - 2019-04-25 - -### Fixed - -* Fixed an issue in `Runtime::getCurrentSettings()` - -## [4.2.0] - 2019-04-25 - -### Added - -* Implemented [#36](https://github.com/sebastianbergmann/environment/pull/36): `Runtime::getCurrentSettings()` - -## [4.1.0] - 2019-02-01 - -### Added - -* Implemented `Runtime::getNameWithVersionAndCodeCoverageDriver()` method -* Implemented [#34](https://github.com/sebastianbergmann/environment/pull/34): Support for PCOV extension - -## [4.0.2] - 2019-01-28 - -### Fixed - -* Fixed [#33](https://github.com/sebastianbergmann/environment/issues/33): `Runtime::discardsComments()` returns true too eagerly - -### Removed - -* Removed support for Zend Optimizer+ in `Runtime::discardsComments()` - -## [4.0.1] - 2018-11-25 - -### Fixed - -* Fixed [#31](https://github.com/sebastianbergmann/environment/issues/31): Regressions in `Console` class - -## [4.0.0] - 2018-10-23 [YANKED] - -### Fixed - -* Fixed [#25](https://github.com/sebastianbergmann/environment/pull/25): `Console::hasColorSupport()` does not work on Windows - -### Removed - -* This component is no longer supported on PHP 7.0 - -## [3.1.0] - 2017-07-01 - -### Added - -* Implemented [#21](https://github.com/sebastianbergmann/environment/issues/21): Equivalent of `PHP_OS_FAMILY` (for PHP < 7.2) - -## [3.0.4] - 2017-06-20 - -### Fixed - -* Fixed [#20](https://github.com/sebastianbergmann/environment/pull/20): PHP 7 mode of HHVM not forced - -## [3.0.3] - 2017-05-18 - -### Fixed - -* Fixed [#18](https://github.com/sebastianbergmann/environment/issues/18): `Uncaught TypeError: preg_match() expects parameter 2 to be string, null given` - -## [3.0.2] - 2017-04-21 - -### Fixed - -* Fixed [#17](https://github.com/sebastianbergmann/environment/issues/17): `Uncaught TypeError: trim() expects parameter 1 to be string, boolean given` - -## [3.0.1] - 2017-04-21 - -### Fixed - -* Fixed inverted logic in `Runtime::discardsComments()` - -## [3.0.0] - 2017-04-21 - -### Added - -* Implemented `Runtime::discardsComments()` for querying whether the PHP runtime discards annotations - -### Removed - -* This component is no longer supported on PHP 5.6 - -[4.2.3]: https://github.com/sebastianbergmann/phpunit/compare/4.2.2...4.2.3 -[4.2.2]: https://github.com/sebastianbergmann/phpunit/compare/4.2.1...4.2.2 -[4.2.1]: https://github.com/sebastianbergmann/phpunit/compare/4.2.0...4.2.1 -[4.2.0]: https://github.com/sebastianbergmann/phpunit/compare/4.1.0...4.2.0 -[4.1.0]: https://github.com/sebastianbergmann/phpunit/compare/4.0.2...4.1.0 -[4.0.2]: https://github.com/sebastianbergmann/phpunit/compare/4.0.1...4.0.2 -[4.0.1]: https://github.com/sebastianbergmann/phpunit/compare/66691f8e2dc4641909166b275a9a4f45c0e89092...4.0.1 -[4.0.0]: https://github.com/sebastianbergmann/phpunit/compare/3.1.0...66691f8e2dc4641909166b275a9a4f45c0e89092 -[3.1.0]: https://github.com/sebastianbergmann/phpunit/compare/3.0...3.1.0 -[3.0.4]: https://github.com/sebastianbergmann/phpunit/compare/3.0.3...3.0.4 -[3.0.3]: https://github.com/sebastianbergmann/phpunit/compare/3.0.2...3.0.3 -[3.0.2]: https://github.com/sebastianbergmann/phpunit/compare/3.0.1...3.0.2 -[3.0.1]: https://github.com/sebastianbergmann/phpunit/compare/3.0.0...3.0.1 -[3.0.0]: https://github.com/sebastianbergmann/phpunit/compare/2.0...3.0.0 - diff --git a/paragonik-backend/vendor/sebastian/environment/LICENSE b/paragonik-backend/vendor/sebastian/environment/LICENSE deleted file mode 100644 index 3291fbd..0000000 --- a/paragonik-backend/vendor/sebastian/environment/LICENSE +++ /dev/null @@ -1,33 +0,0 @@ -sebastian/environment - -Copyright (c) 2014-2019, Sebastian Bergmann . -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of Sebastian Bergmann nor the names of his - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. diff --git a/paragonik-backend/vendor/sebastian/environment/README.md b/paragonik-backend/vendor/sebastian/environment/README.md deleted file mode 100644 index 3e854af..0000000 --- a/paragonik-backend/vendor/sebastian/environment/README.md +++ /dev/null @@ -1,17 +0,0 @@ -# sebastian/environment - -This component provides functionality that helps writing PHP code that has runtime-specific (PHP / HHVM) execution paths. - -[![Latest Stable Version](https://img.shields.io/packagist/v/sebastian/environment.svg?style=flat-square)](https://packagist.org/packages/sebastian/environment) -[![Minimum PHP Version](https://img.shields.io/badge/php-%3E%3D%207.1-8892BF.svg?style=flat-square)](https://php.net/) -[![Build Status](https://travis-ci.org/sebastianbergmann/environment.svg?branch=master)](https://travis-ci.org/sebastianbergmann/environment) - -## Installation - -You can add this library as a local, per-project dependency to your project using [Composer](https://getcomposer.org/): - - composer require sebastian/environment - -If you only need this library during development, for instance to run your project's test suite, then you should add it as a development-time dependency: - - composer require --dev sebastian/environment diff --git a/paragonik-backend/vendor/sebastian/environment/build.xml b/paragonik-backend/vendor/sebastian/environment/build.xml deleted file mode 100644 index 591a58b..0000000 --- a/paragonik-backend/vendor/sebastian/environment/build.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/paragonik-backend/vendor/sebastian/environment/composer.json b/paragonik-backend/vendor/sebastian/environment/composer.json deleted file mode 100644 index 584d360..0000000 --- a/paragonik-backend/vendor/sebastian/environment/composer.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "name": "sebastian/environment", - "description": "Provides functionality to handle HHVM/PHP environments", - "keywords": ["environment","hhvm","xdebug"], - "homepage": "http://www.github.com/sebastianbergmann/environment", - "license": "BSD-3-Clause", - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "config": { - "optimize-autoloader": true, - "sort-packages": true - }, - "prefer-stable": true, - "require": { - "php": "^7.1" - }, - "require-dev": { - "phpunit/phpunit": "^7.5" - }, - "suggest": { - "ext-posix": "*" - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "extra": { - "branch-alias": { - "dev-master": "4.2-dev" - } - } -} diff --git a/paragonik-backend/vendor/sebastian/environment/phpunit.xml b/paragonik-backend/vendor/sebastian/environment/phpunit.xml deleted file mode 100644 index 0185265..0000000 --- a/paragonik-backend/vendor/sebastian/environment/phpunit.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - - tests - - - - - - src - - - diff --git a/paragonik-backend/vendor/sebastian/environment/src/Console.php b/paragonik-backend/vendor/sebastian/environment/src/Console.php deleted file mode 100644 index 947dacf..0000000 --- a/paragonik-backend/vendor/sebastian/environment/src/Console.php +++ /dev/null @@ -1,164 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace SebastianBergmann\Environment; - -final class Console -{ - /** - * @var int - */ - public const STDIN = 0; - - /** - * @var int - */ - public const STDOUT = 1; - - /** - * @var int - */ - public const STDERR = 2; - - /** - * Returns true if STDOUT supports colorization. - * - * This code has been copied and adapted from - * Symfony\Component\Console\Output\StreamOutput. - */ - public function hasColorSupport(): bool - { - if ('Hyper' === \getenv('TERM_PROGRAM')) { - return true; - } - - if ($this->isWindows()) { - // @codeCoverageIgnoreStart - return (\defined('STDOUT') && \function_exists('sapi_windows_vt100_support') && @\sapi_windows_vt100_support(\STDOUT)) - || false !== \getenv('ANSICON') - || 'ON' === \getenv('ConEmuANSI') - || 'xterm' === \getenv('TERM'); - // @codeCoverageIgnoreEnd - } - - if (!\defined('STDOUT')) { - // @codeCoverageIgnoreStart - return false; - // @codeCoverageIgnoreEnd - } - - return $this->isInteractive(\STDOUT); - } - - /** - * Returns the number of columns of the terminal. - * - * @codeCoverageIgnore - */ - public function getNumberOfColumns(): int - { - if (!$this->isInteractive(\defined('STDIN') ? \STDIN : self::STDIN)) { - return 80; - } - - if ($this->isWindows()) { - return $this->getNumberOfColumnsWindows(); - } - - return $this->getNumberOfColumnsInteractive(); - } - - /** - * Returns if the file descriptor is an interactive terminal or not. - * - * Normally, we want to use a resource as a parameter, yet sadly it's not always awailable, - * eg when running code in interactive console (`php -a`), STDIN/STDOUT/STDERR constants are not defined. - * - * @param int|resource $fileDescriptor - */ - public function isInteractive($fileDescriptor = self::STDOUT): bool - { - if (\is_resource($fileDescriptor)) { - // These functions require a descriptor that is a real resource, not a numeric ID of it - if (\function_exists('stream_isatty') && @\stream_isatty($fileDescriptor)) { - return true; - } - - $stat = @\fstat(\STDOUT); - // Check if formatted mode is S_IFCHR - return $stat ? 0020000 === ($stat['mode'] & 0170000) : false; - } - - return \function_exists('posix_isatty') && @\posix_isatty($fileDescriptor); - } - - private function isWindows(): bool - { - return \DIRECTORY_SEPARATOR === '\\'; - } - - /** - * @codeCoverageIgnore - */ - private function getNumberOfColumnsInteractive(): int - { - if (\function_exists('shell_exec') && \preg_match('#\d+ (\d+)#', \shell_exec('stty size') ?: '', $match) === 1) { - if ((int) $match[1] > 0) { - return (int) $match[1]; - } - } - - if (\function_exists('shell_exec') && \preg_match('#columns = (\d+);#', \shell_exec('stty') ?: '', $match) === 1) { - if ((int) $match[1] > 0) { - return (int) $match[1]; - } - } - - return 80; - } - - /** - * @codeCoverageIgnore - */ - private function getNumberOfColumnsWindows(): int - { - $ansicon = \getenv('ANSICON'); - $columns = 80; - - if (\is_string($ansicon) && \preg_match('/^(\d+)x\d+ \(\d+x(\d+)\)$/', \trim($ansicon), $matches)) { - $columns = $matches[1]; - } elseif (\function_exists('proc_open')) { - $process = \proc_open( - 'mode CON', - [ - 1 => ['pipe', 'w'], - 2 => ['pipe', 'w'], - ], - $pipes, - null, - null, - ['suppress_errors' => true] - ); - - if (\is_resource($process)) { - $info = \stream_get_contents($pipes[1]); - - \fclose($pipes[1]); - \fclose($pipes[2]); - \proc_close($process); - - if (\preg_match('/--------+\r?\n.+?(\d+)\r?\n.+?(\d+)\r?\n/', $info, $matches)) { - $columns = $matches[2]; - } - } - } - - return $columns - 1; - } -} diff --git a/paragonik-backend/vendor/sebastian/environment/src/OperatingSystem.php b/paragonik-backend/vendor/sebastian/environment/src/OperatingSystem.php deleted file mode 100644 index 67a35bc..0000000 --- a/paragonik-backend/vendor/sebastian/environment/src/OperatingSystem.php +++ /dev/null @@ -1,48 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace SebastianBergmann\Environment; - -final class OperatingSystem -{ - /** - * Returns PHP_OS_FAMILY (if defined (which it is on PHP >= 7.2)). - * Returns a string (compatible with PHP_OS_FAMILY) derived from PHP_OS otherwise. - */ - public function getFamily(): string - { - if (\defined('PHP_OS_FAMILY')) { - return \PHP_OS_FAMILY; - } - - if (\DIRECTORY_SEPARATOR === '\\') { - return 'Windows'; - } - - switch (\PHP_OS) { - case 'Darwin': - return 'Darwin'; - - case 'DragonFly': - case 'FreeBSD': - case 'NetBSD': - case 'OpenBSD': - return 'BSD'; - - case 'Linux': - return 'Linux'; - - case 'SunOS': - return 'Solaris'; - - default: - return 'Unknown'; - } - } -} diff --git a/paragonik-backend/vendor/sebastian/environment/src/Runtime.php b/paragonik-backend/vendor/sebastian/environment/src/Runtime.php deleted file mode 100644 index 0cbc4db..0000000 --- a/paragonik-backend/vendor/sebastian/environment/src/Runtime.php +++ /dev/null @@ -1,265 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace SebastianBergmann\Environment; - -/** - * Utility class for HHVM/PHP environment handling. - */ -final class Runtime -{ - /** - * @var string - */ - private static $binary; - - /** - * Returns true when Xdebug or PCOV is available or - * the runtime used is PHPDBG. - */ - public function canCollectCodeCoverage(): bool - { - return $this->hasXdebug() || $this->hasPCOV() || $this->hasPHPDBGCodeCoverage(); - } - - /** - * Returns true when Zend OPcache is loaded, enabled, and is configured to discard comments. - */ - public function discardsComments(): bool - { - if (!\extension_loaded('Zend OPcache')) { - return false; - } - - if (\ini_get('opcache.save_comments') !== '0') { - return false; - } - - if ((\PHP_SAPI === 'cli' || \PHP_SAPI === 'phpdbg') && \ini_get('opcache.enable_cli') === '1') { - return true; - } - - if (\PHP_SAPI !== 'cli' && \PHP_SAPI !== 'phpdbg' && \ini_get('opcache.enable') === '1') { - return true; - } - - return false; - } - - /** - * Returns the path to the binary of the current runtime. - * Appends ' --php' to the path when the runtime is HHVM. - */ - public function getBinary(): string - { - // HHVM - if (self::$binary === null && $this->isHHVM()) { - // @codeCoverageIgnoreStart - if ((self::$binary = \getenv('PHP_BINARY')) === false) { - self::$binary = \PHP_BINARY; - } - - self::$binary = \escapeshellarg(self::$binary) . ' --php' . - ' -d hhvm.php7.all=1'; - // @codeCoverageIgnoreEnd - } - - if (self::$binary === null && \PHP_BINARY !== '') { - self::$binary = \escapeshellarg(\PHP_BINARY); - } - - if (self::$binary === null) { - // @codeCoverageIgnoreStart - $possibleBinaryLocations = [ - \PHP_BINDIR . '/php', - \PHP_BINDIR . '/php-cli.exe', - \PHP_BINDIR . '/php.exe', - ]; - - foreach ($possibleBinaryLocations as $binary) { - if (\is_readable($binary)) { - self::$binary = \escapeshellarg($binary); - - break; - } - } - // @codeCoverageIgnoreEnd - } - - if (self::$binary === null) { - // @codeCoverageIgnoreStart - self::$binary = 'php'; - // @codeCoverageIgnoreEnd - } - - return self::$binary; - } - - public function getNameWithVersion(): string - { - return $this->getName() . ' ' . $this->getVersion(); - } - - public function getNameWithVersionAndCodeCoverageDriver(): string - { - if (!$this->canCollectCodeCoverage() || $this->hasPHPDBGCodeCoverage()) { - return $this->getNameWithVersion(); - } - - if ($this->hasXdebug()) { - return \sprintf( - '%s with Xdebug %s', - $this->getNameWithVersion(), - \phpversion('xdebug') - ); - } - - if ($this->hasPCOV()) { - return \sprintf( - '%s with PCOV %s', - $this->getNameWithVersion(), - \phpversion('pcov') - ); - } - } - - public function getName(): string - { - if ($this->isHHVM()) { - // @codeCoverageIgnoreStart - return 'HHVM'; - // @codeCoverageIgnoreEnd - } - - if ($this->isPHPDBG()) { - // @codeCoverageIgnoreStart - return 'PHPDBG'; - // @codeCoverageIgnoreEnd - } - - return 'PHP'; - } - - public function getVendorUrl(): string - { - if ($this->isHHVM()) { - // @codeCoverageIgnoreStart - return 'http://hhvm.com/'; - // @codeCoverageIgnoreEnd - } - - return 'https://secure.php.net/'; - } - - public function getVersion(): string - { - if ($this->isHHVM()) { - // @codeCoverageIgnoreStart - return HHVM_VERSION; - // @codeCoverageIgnoreEnd - } - - return \PHP_VERSION; - } - - /** - * Returns true when the runtime used is PHP and Xdebug is loaded. - */ - public function hasXdebug(): bool - { - return ($this->isPHP() || $this->isHHVM()) && \extension_loaded('xdebug'); - } - - /** - * Returns true when the runtime used is HHVM. - */ - public function isHHVM(): bool - { - return \defined('HHVM_VERSION'); - } - - /** - * Returns true when the runtime used is PHP without the PHPDBG SAPI. - */ - public function isPHP(): bool - { - return !$this->isHHVM() && !$this->isPHPDBG(); - } - - /** - * Returns true when the runtime used is PHP with the PHPDBG SAPI. - */ - public function isPHPDBG(): bool - { - return \PHP_SAPI === 'phpdbg' && !$this->isHHVM(); - } - - /** - * Returns true when the runtime used is PHP with the PHPDBG SAPI - * and the phpdbg_*_oplog() functions are available (PHP >= 7.0). - */ - public function hasPHPDBGCodeCoverage(): bool - { - return $this->isPHPDBG(); - } - - /** - * Returns true when the runtime used is PHP with PCOV loaded and enabled - */ - public function hasPCOV(): bool - { - return $this->isPHP() && \extension_loaded('pcov') && \ini_get('pcov.enabled'); - } - - /** - * Parses the loaded php.ini file (if any) as well as all - * additional php.ini files from the additional ini dir for - * a list of all configuration settings loaded from files - * at startup. Then checks for each php.ini setting passed - * via the `$values` parameter whether this setting has - * been changed at runtime. Returns an array of strings - * where each string has the format `key=value` denoting - * the name of a changed php.ini setting with its new value. - * - * @return string[] - */ - public function getCurrentSettings(array $values): array - { - $diff = []; - $files = []; - - if ($file = \php_ini_loaded_file()) { - $files[] = $file; - } - - if ($scanned = \php_ini_scanned_files()) { - $files = \array_merge( - $files, - \array_map( - 'trim', - \explode(",\n", $scanned) - ) - ); - } - - foreach ($files as $ini) { - $config = \parse_ini_file($ini, true); - - foreach ($values as $value) { - $set = \ini_get($value); - - if (isset($config[$value]) && $set != $config[$value]) { - $diff[] = \sprintf('%s=%s', $value, $set); - } - } - } - - return $diff; - } -} diff --git a/paragonik-backend/vendor/sebastian/environment/tests/ConsoleTest.php b/paragonik-backend/vendor/sebastian/environment/tests/ConsoleTest.php deleted file mode 100644 index e7f6704..0000000 --- a/paragonik-backend/vendor/sebastian/environment/tests/ConsoleTest.php +++ /dev/null @@ -1,64 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace SebastianBergmann\Environment; - -use PHPUnit\Framework\TestCase; - -/** - * @covers \SebastianBergmann\Environment\Console - */ -final class ConsoleTest extends TestCase -{ - /** - * @var \SebastianBergmann\Environment\Console - */ - private $console; - - protected function setUp(): void - { - $this->console = new Console; - } - - /** - * @todo Now that this component is PHP 7-only and uses return type declarations - * this test makes even less sense than before - */ - public function testCanDetectIfStdoutIsInteractiveByDefault(): void - { - $this->assertIsBool($this->console->isInteractive()); - } - - /** - * @todo Now that this component is PHP 7-only and uses return type declarations - * this test makes even less sense than before - */ - public function testCanDetectIfFileDescriptorIsInteractive(): void - { - $this->assertIsBool($this->console->isInteractive(\STDOUT)); - } - - /** - * @todo Now that this component is PHP 7-only and uses return type declarations - * this test makes even less sense than before - */ - public function testCanDetectColorSupport(): void - { - $this->assertIsBool($this->console->hasColorSupport()); - } - - /** - * @todo Now that this component is PHP 7-only and uses return type declarations - * this test makes even less sense than before - */ - public function testCanDetectNumberOfColumns(): void - { - $this->assertIsInt($this->console->getNumberOfColumns()); - } -} diff --git a/paragonik-backend/vendor/sebastian/environment/tests/OperatingSystemTest.php b/paragonik-backend/vendor/sebastian/environment/tests/OperatingSystemTest.php deleted file mode 100644 index f48618e..0000000 --- a/paragonik-backend/vendor/sebastian/environment/tests/OperatingSystemTest.php +++ /dev/null @@ -1,60 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace SebastianBergmann\Environment; - -use PHPUnit\Framework\TestCase; - -/** - * @covers \SebastianBergmann\Environment\OperatingSystem - */ -final class OperatingSystemTest extends TestCase -{ - /** - * @var \SebastianBergmann\Environment\OperatingSystem - */ - private $os; - - protected function setUp(): void - { - $this->os = new OperatingSystem; - } - - /** - * @requires OS Linux - */ - public function testFamilyCanBeRetrieved(): void - { - $this->assertEquals('Linux', $this->os->getFamily()); - } - - /** - * @requires OS Darwin - */ - public function testFamilyReturnsDarwinWhenRunningOnDarwin(): void - { - $this->assertEquals('Darwin', $this->os->getFamily()); - } - - /** - * @requires OS Windows - */ - public function testGetFamilyReturnsWindowsWhenRunningOnWindows(): void - { - $this->assertSame('Windows', $this->os->getFamily()); - } - - /** - * @requires PHP 7.2.0 - */ - public function testGetFamilyReturnsPhpOsFamilyWhenRunningOnPhp72AndGreater(): void - { - $this->assertSame(\PHP_OS_FAMILY, $this->os->getFamily()); - } -} diff --git a/paragonik-backend/vendor/sebastian/environment/tests/RuntimeTest.php b/paragonik-backend/vendor/sebastian/environment/tests/RuntimeTest.php deleted file mode 100644 index 12be2e5..0000000 --- a/paragonik-backend/vendor/sebastian/environment/tests/RuntimeTest.php +++ /dev/null @@ -1,165 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace SebastianBergmann\Environment; - -use PHPUnit\Framework\TestCase; - -/** - * @covers \SebastianBergmann\Environment\Runtime - */ -final class RuntimeTest extends TestCase -{ - /** - * @var \SebastianBergmann\Environment\Runtime - */ - private $env; - - protected function setUp(): void - { - $this->env = new Runtime; - } - - /** - * @requires extension xdebug - */ - public function testCanCollectCodeCoverageWhenXdebugExtensionIsEnabled(): void - { - $this->assertTrue($this->env->canCollectCodeCoverage()); - } - - /** - * @requires extension pcov - */ - public function testCanCollectCodeCoverageWhenPcovExtensionIsEnabled(): void - { - $this->assertTrue($this->env->canCollectCodeCoverage()); - } - - public function testCanCollectCodeCoverageWhenRunningOnPhpdbg(): void - { - $this->markTestSkippedWhenNotRunningOnPhpdbg(); - - $this->assertTrue($this->env->canCollectCodeCoverage()); - } - - public function testBinaryCanBeRetrieved(): void - { - $this->assertNotEmpty($this->env->getBinary()); - } - - /** - * @requires PHP - */ - public function testIsHhvmReturnsFalseWhenRunningOnPhp(): void - { - $this->assertFalse($this->env->isHHVM()); - } - - /** - * @requires PHP - */ - public function testIsPhpReturnsTrueWhenRunningOnPhp(): void - { - $this->markTestSkippedWhenRunningOnPhpdbg(); - - $this->assertTrue($this->env->isPHP()); - } - - /** - * @requires extension pcov - */ - public function testPCOVCanBeDetected(): void - { - $this->assertTrue($this->env->hasPCOV()); - } - - public function testPhpdbgCanBeDetected(): void - { - $this->markTestSkippedWhenNotRunningOnPhpdbg(); - - $this->assertTrue($this->env->hasPHPDBGCodeCoverage()); - } - - /** - * @requires extension xdebug - */ - public function testXdebugCanBeDetected(): void - { - $this->markTestSkippedWhenRunningOnPhpdbg(); - - $this->assertTrue($this->env->hasXdebug()); - } - - public function testNameAndVersionCanBeRetrieved(): void - { - $this->assertNotEmpty($this->env->getNameWithVersion()); - } - - public function testGetNameReturnsPhpdbgWhenRunningOnPhpdbg(): void - { - $this->markTestSkippedWhenNotRunningOnPhpdbg(); - - $this->assertSame('PHPDBG', $this->env->getName()); - } - - /** - * @requires PHP - */ - public function testGetNameReturnsPhpdbgWhenRunningOnPhp(): void - { - $this->markTestSkippedWhenRunningOnPhpdbg(); - - $this->assertSame('PHP', $this->env->getName()); - } - - public function testNameAndCodeCoverageDriverCanBeRetrieved(): void - { - $this->assertNotEmpty($this->env->getNameWithVersionAndCodeCoverageDriver()); - } - - /** - * @requires PHP - */ - public function testGetVersionReturnsPhpVersionWhenRunningPhp(): void - { - $this->assertSame(\PHP_VERSION, $this->env->getVersion()); - } - - /** - * @requires PHP - */ - public function testGetVendorUrlReturnsPhpDotNetWhenRunningPhp(): void - { - $this->assertSame('https://secure.php.net/', $this->env->getVendorUrl()); - } - - private function markTestSkippedWhenNotRunningOnPhpdbg(): void - { - if ($this->isRunningOnPhpdbg()) { - return; - } - - $this->markTestSkipped('PHPDBG is required.'); - } - - private function markTestSkippedWhenRunningOnPhpdbg(): void - { - if (!$this->isRunningOnPhpdbg()) { - return; - } - - $this->markTestSkipped('Cannot run on PHPDBG'); - } - - private function isRunningOnPhpdbg(): bool - { - return \PHP_SAPI === 'phpdbg'; - } -} diff --git a/paragonik-backend/vendor/sebastian/exporter/.github/FUNDING.yml b/paragonik-backend/vendor/sebastian/exporter/.github/FUNDING.yml deleted file mode 100644 index b19ea81..0000000 --- a/paragonik-backend/vendor/sebastian/exporter/.github/FUNDING.yml +++ /dev/null @@ -1 +0,0 @@ -patreon: s_bergmann diff --git a/paragonik-backend/vendor/sebastian/exporter/.gitignore b/paragonik-backend/vendor/sebastian/exporter/.gitignore deleted file mode 100644 index c79ecfa..0000000 --- a/paragonik-backend/vendor/sebastian/exporter/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -/.idea -/composer.lock -/vendor -/.php_cs -/.php_cs.cache diff --git a/paragonik-backend/vendor/sebastian/exporter/.php_cs.dist b/paragonik-backend/vendor/sebastian/exporter/.php_cs.dist deleted file mode 100644 index c072f5b..0000000 --- a/paragonik-backend/vendor/sebastian/exporter/.php_cs.dist +++ /dev/null @@ -1,190 +0,0 @@ - - -For the full copyright and license information, please view the LICENSE -file that was distributed with this source code. -EOF; - -return PhpCsFixer\Config::create() - ->setRiskyAllowed(true) - ->setRules( - [ - 'align_multiline_comment' => true, - 'array_indentation' => true, - 'array_syntax' => ['syntax' => 'short'], - 'binary_operator_spaces' => [ - 'operators' => [ - '=' => 'align', - '=>' => 'align', - ], - ], - 'blank_line_after_namespace' => true, - 'blank_line_before_statement' => [ - 'statements' => [ - 'break', - 'continue', - 'declare', - 'do', - 'for', - 'foreach', - 'if', - 'include', - 'include_once', - 'require', - 'require_once', - 'return', - 'switch', - 'throw', - 'try', - 'while', - 'yield', - ], - ], - 'braces' => true, - 'cast_spaces' => true, - 'class_attributes_separation' => ['elements' => ['const', 'method', 'property']], - 'combine_consecutive_issets' => true, - 'combine_consecutive_unsets' => true, - 'compact_nullable_typehint' => true, - 'concat_space' => ['spacing' => 'one'], - 'declare_equal_normalize' => ['space' => 'none'], - 'declare_strict_types' => true, - 'dir_constant' => true, - 'elseif' => true, - 'encoding' => true, - 'full_opening_tag' => true, - 'function_declaration' => true, - 'header_comment' => ['header' => $header, 'separate' => 'none'], - 'indentation_type' => true, - 'is_null' => true, - 'line_ending' => true, - 'list_syntax' => ['syntax' => 'short'], - 'logical_operators' => true, - 'lowercase_cast' => true, - 'lowercase_constants' => true, - 'lowercase_keywords' => true, - 'lowercase_static_reference' => true, - 'magic_constant_casing' => true, - 'method_argument_space' => ['ensure_fully_multiline' => true], - 'modernize_types_casting' => true, - 'multiline_comment_opening_closing' => true, - 'multiline_whitespace_before_semicolons' => true, - 'native_constant_invocation' => true, - 'native_function_casing' => true, - 'native_function_invocation' => true, - 'new_with_braces' => false, - 'no_alias_functions' => true, - 'no_alternative_syntax' => true, - 'no_blank_lines_after_class_opening' => true, - 'no_blank_lines_after_phpdoc' => true, - 'no_blank_lines_before_namespace' => true, - 'no_closing_tag' => true, - 'no_empty_comment' => true, - 'no_empty_phpdoc' => true, - 'no_empty_statement' => true, - 'no_extra_blank_lines' => true, - 'no_homoglyph_names' => true, - 'no_leading_import_slash' => true, - 'no_leading_namespace_whitespace' => true, - 'no_mixed_echo_print' => ['use' => 'print'], - 'no_multiline_whitespace_around_double_arrow' => true, - 'no_null_property_initialization' => true, - 'no_php4_constructor' => true, - 'no_short_bool_cast' => true, - 'no_short_echo_tag' => true, - 'no_singleline_whitespace_before_semicolons' => true, - 'no_spaces_after_function_name' => true, - 'no_spaces_inside_parenthesis' => true, - 'no_superfluous_elseif' => true, - 'no_superfluous_phpdoc_tags' => true, - 'no_trailing_comma_in_list_call' => true, - 'no_trailing_comma_in_singleline_array' => true, - 'no_trailing_whitespace' => true, - 'no_trailing_whitespace_in_comment' => true, - 'no_unneeded_control_parentheses' => true, - 'no_unneeded_curly_braces' => true, - 'no_unneeded_final_method' => true, - 'no_unreachable_default_argument_value' => true, - 'no_unset_on_property' => true, - 'no_unused_imports' => true, - 'no_useless_else' => true, - 'no_useless_return' => true, - 'no_whitespace_before_comma_in_array' => true, - 'no_whitespace_in_blank_line' => true, - 'non_printable_character' => true, - 'normalize_index_brace' => true, - 'object_operator_without_whitespace' => true, - 'ordered_class_elements' => [ - 'order' => [ - 'use_trait', - 'constant_public', - 'constant_protected', - 'constant_private', - 'property_public_static', - 'property_protected_static', - 'property_private_static', - 'property_public', - 'property_protected', - 'property_private', - 'method_public_static', - 'construct', - 'destruct', - 'magic', - 'phpunit', - 'method_public', - 'method_protected', - 'method_private', - 'method_protected_static', - 'method_private_static', - ], - ], - 'ordered_imports' => true, - 'phpdoc_add_missing_param_annotation' => true, - 'phpdoc_align' => true, - 'phpdoc_annotation_without_dot' => true, - 'phpdoc_indent' => true, - 'phpdoc_no_access' => true, - 'phpdoc_no_empty_return' => true, - 'phpdoc_no_package' => true, - 'phpdoc_order' => true, - 'phpdoc_return_self_reference' => true, - 'phpdoc_scalar' => true, - 'phpdoc_separation' => true, - 'phpdoc_single_line_var_spacing' => true, - 'phpdoc_to_comment' => true, - 'phpdoc_trim' => true, - 'phpdoc_trim_consecutive_blank_line_separation' => true, - 'phpdoc_types' => true, - 'phpdoc_types_order' => true, - 'phpdoc_var_without_name' => true, - 'pow_to_exponentiation' => true, - 'protected_to_private' => true, - 'return_assignment' => true, - 'return_type_declaration' => ['space_before' => 'none'], - 'self_accessor' => true, - 'semicolon_after_instruction' => true, - 'set_type_to_cast' => true, - 'short_scalar_cast' => true, - 'simplified_null_return' => true, - 'single_blank_line_at_eof' => true, - 'single_import_per_statement' => true, - 'single_line_after_imports' => true, - 'single_quote' => true, - 'standardize_not_equals' => true, - 'ternary_to_null_coalescing' => true, - 'trim_array_spaces' => true, - 'unary_operator_spaces' => true, - 'visibility_required' => true, - //'void_return' => true, - 'whitespace_after_comma_in_array' => true, - ] - ) - ->setFinder( - PhpCsFixer\Finder::create() - ->files() - ->in(__DIR__ . '/src') - ->in(__DIR__ . '/tests') - ); diff --git a/paragonik-backend/vendor/sebastian/exporter/.travis.yml b/paragonik-backend/vendor/sebastian/exporter/.travis.yml deleted file mode 100644 index 7f3e35b..0000000 --- a/paragonik-backend/vendor/sebastian/exporter/.travis.yml +++ /dev/null @@ -1,24 +0,0 @@ -language: php - -php: - - 7.0 - - 7.1 - - 7.2 - - 7.3 - - 7.4snapshot - -before_install: - - composer self-update - - composer clear-cache - -install: - - travis_retry composer update --no-interaction --no-ansi --no-progress --no-suggest --optimize-autoloader --prefer-stable - -script: - - ./vendor/bin/phpunit --coverage-clover=coverage.xml - -after_success: - - bash <(curl -s https://codecov.io/bash) - -notifications: - email: false diff --git a/paragonik-backend/vendor/sebastian/exporter/ChangeLog.md b/paragonik-backend/vendor/sebastian/exporter/ChangeLog.md deleted file mode 100644 index fe55522..0000000 --- a/paragonik-backend/vendor/sebastian/exporter/ChangeLog.md +++ /dev/null @@ -1,15 +0,0 @@ -# ChangeLog - -All notable changes are documented in this file using the [Keep a CHANGELOG](https://keepachangelog.com/) principles. - -## [3.1.2] - 2019-09-14 - -### Fixed - -* Fixed [#29](https://github.com/sebastianbergmann/exporter/pull/29): Second parameter for `str_repeat()` must be an integer - -### Removed - -* Remove HHVM-specific code that is no longer needed - -[3.1.2]: https://github.com/sebastianbergmann/exporter/compare/3.1.1...3.1.2 diff --git a/paragonik-backend/vendor/sebastian/exporter/LICENSE b/paragonik-backend/vendor/sebastian/exporter/LICENSE deleted file mode 100644 index f77dc5a..0000000 --- a/paragonik-backend/vendor/sebastian/exporter/LICENSE +++ /dev/null @@ -1,33 +0,0 @@ -Exporter - -Copyright (c) 2002-2019, Sebastian Bergmann . -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of Sebastian Bergmann nor the names of his - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. diff --git a/paragonik-backend/vendor/sebastian/exporter/README.md b/paragonik-backend/vendor/sebastian/exporter/README.md deleted file mode 100644 index 4c838ab..0000000 --- a/paragonik-backend/vendor/sebastian/exporter/README.md +++ /dev/null @@ -1,171 +0,0 @@ -Exporter -======== - -[![Build Status](https://secure.travis-ci.org/sebastianbergmann/exporter.png?branch=master)](https://travis-ci.org/sebastianbergmann/exporter) - -This component provides the functionality to export PHP variables for visualization. - -## Usage - -Exporting: - -```php - '' - 'string' => '' - 'code' => 0 - 'file' => '/home/sebastianbergmann/test.php' - 'line' => 34 - 'previous' => null -) -*/ - -print $exporter->export(new Exception); -``` - -## Data Types - -Exporting simple types: - -```php -export(46); - -// 4.0 -print $exporter->export(4.0); - -// 'hello, world!' -print $exporter->export('hello, world!'); - -// false -print $exporter->export(false); - -// NAN -print $exporter->export(acos(8)); - -// -INF -print $exporter->export(log(0)); - -// null -print $exporter->export(null); - -// resource(13) of type (stream) -print $exporter->export(fopen('php://stderr', 'w')); - -// Binary String: 0x000102030405 -print $exporter->export(chr(0) . chr(1) . chr(2) . chr(3) . chr(4) . chr(5)); -``` - -Exporting complex types: - -```php - Array &1 ( - 0 => 1 - 1 => 2 - 2 => 3 - ) - 1 => Array &2 ( - 0 => '' - 1 => 0 - 2 => false - ) -) -*/ - -print $exporter->export(array(array(1,2,3), array("",0,FALSE))); - -/* -Array &0 ( - 'self' => Array &1 ( - 'self' => Array &1 - ) -) -*/ - -$array = array(); -$array['self'] = &$array; -print $exporter->export($array); - -/* -stdClass Object &0000000003a66dcc0000000025e723e2 ( - 'self' => stdClass Object &0000000003a66dcc0000000025e723e2 -) -*/ - -$obj = new stdClass(); -$obj->self = $obj; -print $exporter->export($obj); -``` - -Compact exports: - -```php -shortenedExport(array()); - -// Array (...) -print $exporter->shortenedExport(array(1,2,3,4,5)); - -// stdClass Object () -print $exporter->shortenedExport(new stdClass); - -// Exception Object (...) -print $exporter->shortenedExport(new Exception); - -// this\nis\na\nsuper\nlong\nstring\nt...\nspace -print $exporter->shortenedExport( -<< - - - - - - - - - - - - - - - - - - diff --git a/paragonik-backend/vendor/sebastian/exporter/composer.json b/paragonik-backend/vendor/sebastian/exporter/composer.json deleted file mode 100644 index b49f953..0000000 --- a/paragonik-backend/vendor/sebastian/exporter/composer.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "name": "sebastian/exporter", - "description": "Provides the functionality to export PHP variables for visualization", - "keywords": ["exporter","export"], - "homepage": "http://www.github.com/sebastianbergmann/exporter", - "license": "BSD-3-Clause", - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@gmail.com" - } - ], - "config": { - "optimize-autoloader": true, - "sort-packages": true - }, - "prefer-stable": true, - "require": { - "php": "^7.0", - "sebastian/recursion-context": "^3.0" - }, - "require-dev": { - "phpunit/phpunit": "^6.0", - "ext-mbstring": "*" - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "extra": { - "branch-alias": { - "dev-master": "3.1.x-dev" - } - } -} - diff --git a/paragonik-backend/vendor/sebastian/exporter/phpunit.xml b/paragonik-backend/vendor/sebastian/exporter/phpunit.xml deleted file mode 100644 index 68febeb..0000000 --- a/paragonik-backend/vendor/sebastian/exporter/phpunit.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - tests - - - - - src - - - diff --git a/paragonik-backend/vendor/sebastian/exporter/src/Exporter.php b/paragonik-backend/vendor/sebastian/exporter/src/Exporter.php deleted file mode 100644 index ea31b80..0000000 --- a/paragonik-backend/vendor/sebastian/exporter/src/Exporter.php +++ /dev/null @@ -1,303 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace SebastianBergmann\Exporter; - -use SebastianBergmann\RecursionContext\Context; - -/** - * A nifty utility for visualizing PHP variables. - * - * - * export(new Exception); - * - */ -class Exporter -{ - /** - * Exports a value as a string - * - * The output of this method is similar to the output of print_r(), but - * improved in various aspects: - * - * - NULL is rendered as "null" (instead of "") - * - TRUE is rendered as "true" (instead of "1") - * - FALSE is rendered as "false" (instead of "") - * - Strings are always quoted with single quotes - * - Carriage returns and newlines are normalized to \n - * - Recursion and repeated rendering is treated properly - * - * @param int $indentation The indentation level of the 2nd+ line - * - * @return string - */ - public function export($value, $indentation = 0) - { - return $this->recursiveExport($value, $indentation); - } - - /** - * @param array $data - * @param Context $context - * - * @return string - */ - public function shortenedRecursiveExport(&$data, Context $context = null) - { - $result = []; - $exporter = new self(); - - if (!$context) { - $context = new Context; - } - - $array = $data; - $context->add($data); - - foreach ($array as $key => $value) { - if (\is_array($value)) { - if ($context->contains($data[$key]) !== false) { - $result[] = '*RECURSION*'; - } else { - $result[] = \sprintf( - 'array(%s)', - $this->shortenedRecursiveExport($data[$key], $context) - ); - } - } else { - $result[] = $exporter->shortenedExport($value); - } - } - - return \implode(', ', $result); - } - - /** - * Exports a value into a single-line string - * - * The output of this method is similar to the output of - * SebastianBergmann\Exporter\Exporter::export(). - * - * Newlines are replaced by the visible string '\n'. - * Contents of arrays and objects (if any) are replaced by '...'. - * - * @return string - * - * @see SebastianBergmann\Exporter\Exporter::export - */ - public function shortenedExport($value) - { - if (\is_string($value)) { - $string = \str_replace("\n", '', $this->export($value)); - - if (\function_exists('mb_strlen')) { - if (\mb_strlen($string) > 40) { - $string = \mb_substr($string, 0, 30) . '...' . \mb_substr($string, -7); - } - } else { - if (\strlen($string) > 40) { - $string = \substr($string, 0, 30) . '...' . \substr($string, -7); - } - } - - return $string; - } - - if (\is_object($value)) { - return \sprintf( - '%s Object (%s)', - \get_class($value), - \count($this->toArray($value)) > 0 ? '...' : '' - ); - } - - if (\is_array($value)) { - return \sprintf( - 'Array (%s)', - \count($value) > 0 ? '...' : '' - ); - } - - return $this->export($value); - } - - /** - * Converts an object to an array containing all of its private, protected - * and public properties. - * - * @return array - */ - public function toArray($value) - { - if (!\is_object($value)) { - return (array) $value; - } - - $array = []; - - foreach ((array) $value as $key => $val) { - // Exception traces commonly reference hundreds to thousands of - // objects currently loaded in memory. Including them in the result - // has a severe negative performance impact. - if ("\0Error\0trace" === $key || "\0Exception\0trace" === $key) { - continue; - } - - // properties are transformed to keys in the following way: - // private $property => "\0Classname\0property" - // protected $property => "\0*\0property" - // public $property => "property" - if (\preg_match('/^\0.+\0(.+)$/', (string) $key, $matches)) { - $key = $matches[1]; - } - - // See https://github.com/php/php-src/commit/5721132 - if ($key === "\0gcdata") { - continue; - } - - $array[$key] = $val; - } - - // Some internal classes like SplObjectStorage don't work with the - // above (fast) mechanism nor with reflection in Zend. - // Format the output similarly to print_r() in this case - if ($value instanceof \SplObjectStorage) { - foreach ($value as $key => $val) { - $array[\spl_object_hash($val)] = [ - 'obj' => $val, - 'inf' => $value->getInfo(), - ]; - } - } - - return $array; - } - - /** - * Recursive implementation of export - * - * @param mixed $value The value to export - * @param int $indentation The indentation level of the 2nd+ line - * @param \SebastianBergmann\RecursionContext\Context $processed Previously processed objects - * - * @return string - * - * @see SebastianBergmann\Exporter\Exporter::export - */ - protected function recursiveExport(&$value, $indentation, $processed = null) - { - if ($value === null) { - return 'null'; - } - - if ($value === true) { - return 'true'; - } - - if ($value === false) { - return 'false'; - } - - if (\is_float($value) && (float) ((int) $value) === $value) { - return "$value.0"; - } - - if (\is_resource($value)) { - return \sprintf( - 'resource(%d) of type (%s)', - $value, - \get_resource_type($value) - ); - } - - if (\is_string($value)) { - // Match for most non printable chars somewhat taking multibyte chars into account - if (\preg_match('/[^\x09-\x0d\x1b\x20-\xff]/', $value)) { - return 'Binary String: 0x' . \bin2hex($value); - } - - return "'" . - \str_replace( - '', - "\n", - \str_replace( - ["\r\n", "\n\r", "\r", "\n"], - ['\r\n', '\n\r', '\r', '\n'], - $value - ) - ) . - "'"; - } - - $whitespace = \str_repeat(' ', (int)(4 * $indentation)); - - if (!$processed) { - $processed = new Context; - } - - if (\is_array($value)) { - if (($key = $processed->contains($value)) !== false) { - return 'Array &' . $key; - } - - $array = $value; - $key = $processed->add($value); - $values = ''; - - if (\count($array) > 0) { - foreach ($array as $k => $v) { - $values .= \sprintf( - '%s %s => %s' . "\n", - $whitespace, - $this->recursiveExport($k, $indentation), - $this->recursiveExport($value[$k], $indentation + 1, $processed) - ); - } - - $values = "\n" . $values . $whitespace; - } - - return \sprintf('Array &%s (%s)', $key, $values); - } - - if (\is_object($value)) { - $class = \get_class($value); - - if ($hash = $processed->contains($value)) { - return \sprintf('%s Object &%s', $class, $hash); - } - - $hash = $processed->add($value); - $values = ''; - $array = $this->toArray($value); - - if (\count($array) > 0) { - foreach ($array as $k => $v) { - $values .= \sprintf( - '%s %s => %s' . "\n", - $whitespace, - $this->recursiveExport($k, $indentation), - $this->recursiveExport($v, $indentation + 1, $processed) - ); - } - - $values = "\n" . $values . $whitespace; - } - - return \sprintf('%s Object &%s (%s)', $class, $hash, $values); - } - - return \var_export($value, true); - } -} diff --git a/paragonik-backend/vendor/sebastian/exporter/tests/ExporterTest.php b/paragonik-backend/vendor/sebastian/exporter/tests/ExporterTest.php deleted file mode 100644 index 7fac74c..0000000 --- a/paragonik-backend/vendor/sebastian/exporter/tests/ExporterTest.php +++ /dev/null @@ -1,432 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace SebastianBergmann\Exporter; - -use PHPUnit\Framework\TestCase; -use SebastianBergmann\RecursionContext\Context; - -/** - * @covers SebastianBergmann\Exporter\Exporter - */ -class ExporterTest extends TestCase -{ - /** - * @var Exporter - */ - private $exporter; - - protected function setUp() - { - $this->exporter = new Exporter; - } - - public function exportProvider() - { - $obj2 = new \stdClass; - $obj2->foo = 'bar'; - - $obj3 = (object) [1, 2, "Test\r\n", 4, 5, 6, 7, 8]; - - $obj = new \stdClass; - //@codingStandardsIgnoreStart - $obj->null = null; - //@codingStandardsIgnoreEnd - $obj->boolean = true; - $obj->integer = 1; - $obj->double = 1.2; - $obj->string = '1'; - $obj->text = "this\nis\na\nvery\nvery\nvery\nvery\nvery\nvery\rlong\n\rtext"; - $obj->object = $obj2; - $obj->objectagain = $obj2; - $obj->array = ['foo' => 'bar']; - $obj->self = $obj; - - $storage = new \SplObjectStorage; - $storage->attach($obj2); - $storage->foo = $obj2; - - return [ - 'export null' => [null, 'null'], - 'export boolean true' => [true, 'true'], - 'export boolean false' => [false, 'false'], - 'export int 1' => [1, '1'], - 'export float 1.0' => [1.0, '1.0'], - 'export float 1.2' => [1.2, '1.2'], - 'export stream' => [\fopen('php://memory', 'r'), 'resource(%d) of type (stream)'], - 'export numeric string' => ['1', "'1'"], - 'export multidimentional array' => [[[1, 2, 3], [3, 4, 5]], - << Array &1 ( - 0 => 1 - 1 => 2 - 2 => 3 - ) - 1 => Array &2 ( - 0 => 3 - 1 => 4 - 2 => 5 - ) -) -EOF - ], - // \n\r and \r is converted to \n - 'export multiline text' => ["this\nis\na\nvery\nvery\nvery\nvery\nvery\nvery\rlong\n\rtext", - << [new \stdClass, 'stdClass Object &%x ()'], - 'export non empty stdclass' => [$obj, - << null - 'boolean' => true - 'integer' => 1 - 'double' => 1.2 - 'string' => '1' - 'text' => 'this\\n -is\\n -a\\n -very\\n -very\\n -very\\n -very\\n -very\\n -very\\r -long\\n\\r -text' - 'object' => stdClass Object &%x ( - 'foo' => 'bar' - ) - 'objectagain' => stdClass Object &%x - 'array' => Array &%d ( - 'foo' => 'bar' - ) - 'self' => stdClass Object &%x -) -EOF - ], - 'export empty array' => [[], 'Array &%d ()'], - 'export splObjectStorage' => [$storage, - << stdClass Object &%x ( - 'foo' => 'bar' - ) - '%x' => Array &0 ( - 'obj' => stdClass Object &%x - 'inf' => null - ) -) -EOF - ], - 'export stdClass with numeric properties' => [$obj3, - << 1 - 1 => 2 - 2 => 'Test\\r\\n -' - 3 => 4 - 4 => 5 - 5 => 6 - 6 => 7 - 7 => 8 -) -EOF - ], - [ - \chr(0) . \chr(1) . \chr(2) . \chr(3) . \chr(4) . \chr(5), - 'Binary String: 0x000102030405' - ], - [ - \implode('', \array_map('chr', \range(0x0e, 0x1f))), - 'Binary String: 0x0e0f101112131415161718191a1b1c1d1e1f' - ], - [ - \chr(0x00) . \chr(0x09), - 'Binary String: 0x0009' - ], - [ - '', - "''" - ], - 'export Exception without trace' => [ - new \Exception('The exception message', 42), - << 'The exception message' - 'string' => '' - 'code' => 42 - 'file' => '%s/tests/ExporterTest.php' - 'line' => %d - 'previous' => null -) -EOF - ], - 'export Error without trace' => [ - new \Error('The exception message', 42), - << 'The exception message' - 'string' => '' - 'code' => 42 - 'file' => '%s/tests/ExporterTest.php' - 'line' => %d - 'previous' => null -) -EOF - ], - ]; - } - - /** - * @dataProvider exportProvider - */ - public function testExport($value, $expected) - { - $this->assertStringMatchesFormat( - $expected, - $this->trimNewline($this->exporter->export($value)) - ); - } - - public function testExport2() - { - if (\PHP_VERSION === '5.3.3') { - $this->markTestSkipped('Skipped due to "Nesting level too deep - recursive dependency?" fatal error'); - } - - $obj = new \stdClass; - $obj->foo = 'bar'; - - $array = [ - 0 => 0, - 'null' => null, - 'boolean' => true, - 'integer' => 1, - 'double' => 1.2, - 'string' => '1', - 'text' => "this\nis\na\nvery\nvery\nvery\nvery\nvery\nvery\rlong\n\rtext", - 'object' => $obj, - 'objectagain' => $obj, - 'array' => ['foo' => 'bar'], - ]; - - $array['self'] = &$array; - - $expected = << 0 - 'null' => null - 'boolean' => true - 'integer' => 1 - 'double' => 1.2 - 'string' => '1' - 'text' => 'this\\n -is\\n -a\\n -very\\n -very\\n -very\\n -very\\n -very\\n -very\\r -long\\n\\r -text' - 'object' => stdClass Object &%x ( - 'foo' => 'bar' - ) - 'objectagain' => stdClass Object &%x - 'array' => Array &%d ( - 'foo' => 'bar' - ) - 'self' => Array &%d ( - 0 => 0 - 'null' => null - 'boolean' => true - 'integer' => 1 - 'double' => 1.2 - 'string' => '1' - 'text' => 'this\\n -is\\n -a\\n -very\\n -very\\n -very\\n -very\\n -very\\n -very\\r -long\\n\\r -text' - 'object' => stdClass Object &%x - 'objectagain' => stdClass Object &%x - 'array' => Array &%d ( - 'foo' => 'bar' - ) - 'self' => Array &%d - ) -) -EOF; - - $this->assertStringMatchesFormat( - $expected, - $this->trimNewline($this->exporter->export($array)) - ); - } - - public function shortenedExportProvider() - { - $obj = new \stdClass; - $obj->foo = 'bar'; - - $array = [ - 'foo' => 'bar', - ]; - - return [ - 'shortened export null' => [null, 'null'], - 'shortened export boolean true' => [true, 'true'], - 'shortened export integer 1' => [1, '1'], - 'shortened export float 1.0' => [1.0, '1.0'], - 'shortened export float 1.2' => [1.2, '1.2'], - 'shortened export numeric string' => ['1', "'1'"], - // \n\r and \r is converted to \n - 'shortened export multilinestring' => ["this\nis\na\nvery\nvery\nvery\nvery\nvery\nvery\rlong\n\rtext", "'this\\nis\\na\\nvery\\nvery\\nvery...\\rtext'"], - 'shortened export empty stdClass' => [new \stdClass, 'stdClass Object ()'], - 'shortened export not empty stdClass' => [$obj, 'stdClass Object (...)'], - 'shortened export empty array' => [[], 'Array ()'], - 'shortened export not empty array' => [$array, 'Array (...)'], - ]; - } - - /** - * @dataProvider shortenedExportProvider - */ - public function testShortenedExport($value, $expected) - { - $this->assertSame( - $expected, - $this->trimNewline($this->exporter->shortenedExport($value)) - ); - } - - /** - * @requires extension mbstring - */ - public function testShortenedExportForMultibyteCharacters() - { - $oldMbLanguage = \mb_language(); - \mb_language('Japanese'); - $oldMbInternalEncoding = \mb_internal_encoding(); - \mb_internal_encoding('UTF-8'); - - try { - $this->assertSame( - "'ã„ã‚ã¯ã«ã»ã¸ã¨ã¡ã‚Šã¬ã‚‹ã‚’ã‚ã‹ã‚ˆãŸã‚Œãã¤ã­ãªã‚‰ã‚€ã†ã‚ã®ãŠãã‚„...ã—ã‚‘ã²ã‚‚ã›ã™'", - $this->trimNewline($this->exporter->shortenedExport('ã„ã‚ã¯ã«ã»ã¸ã¨ã¡ã‚Šã¬ã‚‹ã‚’ã‚ã‹ã‚ˆãŸã‚Œãã¤ã­ãªã‚‰ã‚€ã†ã‚ã®ãŠãã‚„ã¾ã‘ãµã“ãˆã¦ã‚ã•ãゆã‚ã¿ã—ã‚‘ã²ã‚‚ã›ã™')) - ); - } catch (\Exception $e) { - \mb_internal_encoding($oldMbInternalEncoding); - \mb_language($oldMbLanguage); - - throw $e; - } - - \mb_internal_encoding($oldMbInternalEncoding); - \mb_language($oldMbLanguage); - } - - public function provideNonBinaryMultibyteStrings() - { - return [ - [\implode('', \array_map('chr', \range(0x09, 0x0d))), 9], - [\implode('', \array_map('chr', \range(0x20, 0x7f))), 96], - [\implode('', \array_map('chr', \range(0x80, 0xff))), 128], - ]; - } - - /** - * @dataProvider provideNonBinaryMultibyteStrings - */ - public function testNonBinaryStringExport($value, $expectedLength) - { - $this->assertRegExp( - "~'.{{$expectedLength}}'\$~s", - $this->exporter->export($value) - ); - } - - public function testNonObjectCanBeReturnedAsArray() - { - $this->assertEquals([true], $this->exporter->toArray(true)); - } - - public function testIgnoreKeysInValue() - { - // Find out what the actual use case was with the PHP bug - $array = []; - $array["\0gcdata"] = ''; - - $this->assertEquals([], $this->exporter->toArray((object) $array)); - } - - private function trimNewline($string) - { - return \preg_replace('/[ ]*\n/', "\n", $string); - } - - /** - * @dataProvider shortenedRecursiveExportProvider - */ - public function testShortenedRecursiveExport(array $value, string $expected) - { - $this->assertEquals($expected, $this->exporter->shortenedRecursiveExport($value)); - } - - public function shortenedRecursiveExportProvider() - { - return [ - 'export null' => [[null], 'null'], - 'export boolean true' => [[true], 'true'], - 'export boolean false' => [[false], 'false'], - 'export int 1' => [[1], '1'], - 'export float 1.0' => [[1.0], '1.0'], - 'export float 1.2' => [[1.2], '1.2'], - 'export numeric string' => [['1'], "'1'"], - 'export with numeric array key' => [[2 => 1], '1'], - 'export with assoc array key' => [['foo' => 'bar'], '\'bar\''], - 'export multidimentional array' => [[[1, 2, 3], [3, 4, 5]], 'array(1, 2, 3), array(3, 4, 5)'], - 'export object' => [[new \stdClass], 'stdClass Object ()'], - ]; - } - - public function testShortenedRecursiveOccurredRecursion() - { - $recursiveValue = [1]; - $context = new Context(); - $context->add($recursiveValue); - - $value = [$recursiveValue]; - - $this->assertEquals('*RECURSION*', $this->exporter->shortenedRecursiveExport($value, $context)); - } -} diff --git a/paragonik-backend/vendor/sebastian/global-state/.gitignore b/paragonik-backend/vendor/sebastian/global-state/.gitignore deleted file mode 100644 index c3e9d7e..0000000 --- a/paragonik-backend/vendor/sebastian/global-state/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -/.idea -/.php_cs.cache -/composer.lock -/vendor diff --git a/paragonik-backend/vendor/sebastian/global-state/.php_cs b/paragonik-backend/vendor/sebastian/global-state/.php_cs deleted file mode 100644 index eb80381..0000000 --- a/paragonik-backend/vendor/sebastian/global-state/.php_cs +++ /dev/null @@ -1,79 +0,0 @@ - - -For the full copyright and license information, please view the LICENSE -file that was distributed with this source code. -EOF; - -return PhpCsFixer\Config::create() - ->setRiskyAllowed(true) - ->setRules( - [ - 'array_syntax' => ['syntax' => 'short'], - 'binary_operator_spaces' => [ - 'align_double_arrow' => true, - 'align_equals' => true - ], - 'blank_line_after_namespace' => true, - 'blank_line_before_return' => true, - 'braces' => true, - 'cast_spaces' => true, - 'concat_space' => ['spacing' => 'one'], - 'elseif' => true, - 'encoding' => true, - 'full_opening_tag' => true, - 'function_declaration' => true, - #'header_comment' => ['header' => $header, 'separate' => 'none'], - 'indentation_type' => true, - 'line_ending' => true, - 'lowercase_constants' => true, - 'lowercase_keywords' => true, - 'method_argument_space' => true, - 'native_function_invocation' => true, - 'no_alias_functions' => true, - 'no_blank_lines_after_class_opening' => true, - 'no_blank_lines_after_phpdoc' => true, - 'no_closing_tag' => true, - 'no_empty_phpdoc' => true, - 'no_empty_statement' => true, - 'no_extra_consecutive_blank_lines' => true, - 'no_leading_namespace_whitespace' => true, - 'no_singleline_whitespace_before_semicolons' => true, - 'no_spaces_after_function_name' => true, - 'no_spaces_inside_parenthesis' => true, - 'no_trailing_comma_in_list_call' => true, - 'no_trailing_whitespace' => true, - 'no_unused_imports' => true, - 'no_whitespace_in_blank_line' => true, - 'phpdoc_align' => true, - 'phpdoc_indent' => true, - 'phpdoc_no_access' => true, - 'phpdoc_no_empty_return' => true, - 'phpdoc_no_package' => true, - 'phpdoc_scalar' => true, - 'phpdoc_separation' => true, - 'phpdoc_to_comment' => true, - 'phpdoc_trim' => true, - 'phpdoc_types' => true, - 'phpdoc_var_without_name' => true, - 'self_accessor' => true, - 'simplified_null_return' => true, - 'single_blank_line_at_eof' => true, - 'single_import_per_statement' => true, - 'single_line_after_imports' => true, - 'single_quote' => true, - 'ternary_operator_spaces' => true, - 'trim_array_spaces' => true, - 'visibility_required' => true, - ] - ) - ->setFinder( - PhpCsFixer\Finder::create() - ->files() - ->in(__DIR__ . '/src') - ->in(__DIR__ . '/tests') - ->name('*.php') - ); diff --git a/paragonik-backend/vendor/sebastian/global-state/.travis.yml b/paragonik-backend/vendor/sebastian/global-state/.travis.yml deleted file mode 100644 index 5ea0f53..0000000 --- a/paragonik-backend/vendor/sebastian/global-state/.travis.yml +++ /dev/null @@ -1,26 +0,0 @@ -language: php - -php: - - 7.0 - - 7.0snapshot - - 7.1 - - 7.1snapshot - - master - -sudo: false - -before_install: - - composer self-update - - composer clear-cache - -install: - - travis_retry composer update --no-interaction --no-ansi --no-progress --no-suggest --optimize-autoloader --prefer-stable - -script: - - ./vendor/bin/phpunit --coverage-clover=coverage.xml - -after_success: - - bash <(curl -s https://codecov.io/bash) - -notifications: - email: false diff --git a/paragonik-backend/vendor/sebastian/global-state/LICENSE b/paragonik-backend/vendor/sebastian/global-state/LICENSE deleted file mode 100644 index 3bdb620..0000000 --- a/paragonik-backend/vendor/sebastian/global-state/LICENSE +++ /dev/null @@ -1,33 +0,0 @@ -sebastian/global-state - -Copyright (c) 2001-2017, Sebastian Bergmann . -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of Sebastian Bergmann nor the names of his - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. diff --git a/paragonik-backend/vendor/sebastian/global-state/README.md b/paragonik-backend/vendor/sebastian/global-state/README.md deleted file mode 100644 index 6e1effe..0000000 --- a/paragonik-backend/vendor/sebastian/global-state/README.md +++ /dev/null @@ -1,16 +0,0 @@ -# GlobalState - -Snapshotting of global state, factored out of PHPUnit into a stand-alone component. - -[![Build Status](https://travis-ci.org/sebastianbergmann/global-state.svg?branch=master)](https://travis-ci.org/sebastianbergmann/global-state) - -## Installation - -You can add this library as a local, per-project dependency to your project using [Composer](https://getcomposer.org/): - - composer require sebastian/global-state - -If you only need this library during development, for instance to run your project's test suite, then you should add it as a development-time dependency: - - composer require --dev sebastian/global-state - diff --git a/paragonik-backend/vendor/sebastian/global-state/build.xml b/paragonik-backend/vendor/sebastian/global-state/build.xml deleted file mode 100644 index 6a973e0..0000000 --- a/paragonik-backend/vendor/sebastian/global-state/build.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - diff --git a/paragonik-backend/vendor/sebastian/global-state/composer.json b/paragonik-backend/vendor/sebastian/global-state/composer.json deleted file mode 100644 index 8f7edb3..0000000 --- a/paragonik-backend/vendor/sebastian/global-state/composer.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "name": "sebastian/global-state", - "description": "Snapshotting of global state", - "keywords": ["global state"], - "homepage": "http://www.github.com/sebastianbergmann/global-state", - "license": "BSD-3-Clause", - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "require": { - "php": "^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^6.0" - }, - "suggest": { - "ext-uopz": "*" - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "autoload-dev": { - "classmap": [ - "tests/_fixture/" - ], - "files": [ - "tests/_fixture/SnapshotFunctions.php" - ] - }, - "extra": { - "branch-alias": { - "dev-master": "2.0-dev" - } - } -} diff --git a/paragonik-backend/vendor/sebastian/global-state/phpunit.xml b/paragonik-backend/vendor/sebastian/global-state/phpunit.xml deleted file mode 100644 index 370f13c..0000000 --- a/paragonik-backend/vendor/sebastian/global-state/phpunit.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - tests - - - - - - - - - - src - - - diff --git a/paragonik-backend/vendor/sebastian/global-state/src/Blacklist.php b/paragonik-backend/vendor/sebastian/global-state/src/Blacklist.php deleted file mode 100644 index 40ab6c5..0000000 --- a/paragonik-backend/vendor/sebastian/global-state/src/Blacklist.php +++ /dev/null @@ -1,123 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -declare(strict_types=1); - -namespace SebastianBergmann\GlobalState; - -use ReflectionClass; - -/** - * A blacklist for global state elements that should not be snapshotted. - */ -class Blacklist -{ - /** - * @var array - */ - private $globalVariables = []; - - /** - * @var string[] - */ - private $classes = []; - - /** - * @var string[] - */ - private $classNamePrefixes = []; - - /** - * @var string[] - */ - private $parentClasses = []; - - /** - * @var string[] - */ - private $interfaces = []; - - /** - * @var array - */ - private $staticAttributes = []; - - public function addGlobalVariable(string $variableName) - { - $this->globalVariables[$variableName] = true; - } - - public function addClass(string $className) - { - $this->classes[] = $className; - } - - public function addSubclassesOf(string $className) - { - $this->parentClasses[] = $className; - } - - public function addImplementorsOf(string $interfaceName) - { - $this->interfaces[] = $interfaceName; - } - - public function addClassNamePrefix(string $classNamePrefix) - { - $this->classNamePrefixes[] = $classNamePrefix; - } - - public function addStaticAttribute(string $className, string $attributeName) - { - if (!isset($this->staticAttributes[$className])) { - $this->staticAttributes[$className] = []; - } - - $this->staticAttributes[$className][$attributeName] = true; - } - - public function isGlobalVariableBlacklisted(string $variableName): bool - { - return isset($this->globalVariables[$variableName]); - } - - public function isStaticAttributeBlacklisted(string $className, string $attributeName): bool - { - if (\in_array($className, $this->classes)) { - return true; - } - - foreach ($this->classNamePrefixes as $prefix) { - if (\strpos($className, $prefix) === 0) { - return true; - } - } - - $class = new ReflectionClass($className); - - foreach ($this->parentClasses as $type) { - if ($class->isSubclassOf($type)) { - return true; - } - } - - foreach ($this->interfaces as $type) { - if ($class->implementsInterface($type)) { - return true; - } - } - - if (isset($this->staticAttributes[$className][$attributeName])) { - return true; - } - - return false; - } -} diff --git a/paragonik-backend/vendor/sebastian/global-state/src/CodeExporter.php b/paragonik-backend/vendor/sebastian/global-state/src/CodeExporter.php deleted file mode 100644 index 6647ab4..0000000 --- a/paragonik-backend/vendor/sebastian/global-state/src/CodeExporter.php +++ /dev/null @@ -1,94 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -declare(strict_types=1); - -namespace SebastianBergmann\GlobalState; - -/** - * Exports parts of a Snapshot as PHP code. - */ -class CodeExporter -{ - public function constants(Snapshot $snapshot): string - { - $result = ''; - - foreach ($snapshot->constants() as $name => $value) { - $result .= \sprintf( - 'if (!defined(\'%s\')) define(\'%s\', %s);' . "\n", - $name, - $name, - $this->exportVariable($value) - ); - } - - return $result; - } - - public function globalVariables(Snapshot $snapshot): string - { - $result = '$GLOBALS = [];' . PHP_EOL; - - foreach ($snapshot->globalVariables() as $name => $value) { - $result .= \sprintf( - '$GLOBALS[%s] = %s;' . PHP_EOL, - $this->exportVariable($name), - $this->exportVariable($value) - ); - } - - return $result; - } - - public function iniSettings(Snapshot $snapshot): string - { - $result = ''; - - foreach ($snapshot->iniSettings() as $key => $value) { - $result .= \sprintf( - '@ini_set(%s, %s);' . "\n", - $this->exportVariable($key), - $this->exportVariable($value) - ); - } - - return $result; - } - - private function exportVariable($variable): string - { - if (\is_scalar($variable) || \is_null($variable) || - (\is_array($variable) && $this->arrayOnlyContainsScalars($variable))) { - return \var_export($variable, true); - } - - return 'unserialize(' . \var_export(\serialize($variable), true) . ')'; - } - - private function arrayOnlyContainsScalars(array $array): bool - { - $result = true; - - foreach ($array as $element) { - if (\is_array($element)) { - $result = self::arrayOnlyContainsScalars($element); - } elseif (!\is_scalar($element) && !\is_null($element)) { - $result = false; - } - - if ($result === false) { - break; - } - } - - return $result; - } -} diff --git a/paragonik-backend/vendor/sebastian/global-state/src/Restorer.php b/paragonik-backend/vendor/sebastian/global-state/src/Restorer.php deleted file mode 100644 index 1524847..0000000 --- a/paragonik-backend/vendor/sebastian/global-state/src/Restorer.php +++ /dev/null @@ -1,137 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -declare(strict_types=1); - -namespace SebastianBergmann\GlobalState; - -use ReflectionProperty; - -/** - * Restorer of snapshots of global state. - */ -class Restorer -{ - /** - * Deletes function definitions that are not defined in a snapshot. - * - * @throws RuntimeException when the uopz_delete() function is not available - * - * @see https://github.com/krakjoe/uopz - */ - public function restoreFunctions(Snapshot $snapshot) - { - if (!\function_exists('uopz_delete')) { - throw new RuntimeException('The uopz_delete() function is required for this operation'); - } - - $functions = \get_defined_functions(); - - foreach (\array_diff($functions['user'], $snapshot->functions()) as $function) { - uopz_delete($function); - } - } - - /** - * Restores all global and super-global variables from a snapshot. - */ - public function restoreGlobalVariables(Snapshot $snapshot) - { - $superGlobalArrays = $snapshot->superGlobalArrays(); - - foreach ($superGlobalArrays as $superGlobalArray) { - $this->restoreSuperGlobalArray($snapshot, $superGlobalArray); - } - - $globalVariables = $snapshot->globalVariables(); - - foreach (\array_keys($GLOBALS) as $key) { - if ($key != 'GLOBALS' && - !\in_array($key, $superGlobalArrays) && - !$snapshot->blacklist()->isGlobalVariableBlacklisted($key)) { - if (\array_key_exists($key, $globalVariables)) { - $GLOBALS[$key] = $globalVariables[$key]; - } else { - unset($GLOBALS[$key]); - } - } - } - } - - /** - * Restores all static attributes in user-defined classes from this snapshot. - */ - public function restoreStaticAttributes(Snapshot $snapshot) - { - $current = new Snapshot($snapshot->blacklist(), false, false, false, false, true, false, false, false, false); - $newClasses = \array_diff($current->classes(), $snapshot->classes()); - - unset($current); - - foreach ($snapshot->staticAttributes() as $className => $staticAttributes) { - foreach ($staticAttributes as $name => $value) { - $reflector = new ReflectionProperty($className, $name); - $reflector->setAccessible(true); - $reflector->setValue($value); - } - } - - foreach ($newClasses as $className) { - $class = new \ReflectionClass($className); - $defaults = $class->getDefaultProperties(); - - foreach ($class->getProperties() as $attribute) { - if (!$attribute->isStatic()) { - continue; - } - - $name = $attribute->getName(); - - if ($snapshot->blacklist()->isStaticAttributeBlacklisted($className, $name)) { - continue; - } - - if (!isset($defaults[$name])) { - continue; - } - - $attribute->setAccessible(true); - $attribute->setValue($defaults[$name]); - } - } - } - - /** - * Restores a super-global variable array from this snapshot. - */ - private function restoreSuperGlobalArray(Snapshot $snapshot, string $superGlobalArray) - { - $superGlobalVariables = $snapshot->superGlobalVariables(); - - if (isset($GLOBALS[$superGlobalArray]) && - \is_array($GLOBALS[$superGlobalArray]) && - isset($superGlobalVariables[$superGlobalArray])) { - $keys = \array_keys( - \array_merge( - $GLOBALS[$superGlobalArray], - $superGlobalVariables[$superGlobalArray] - ) - ); - - foreach ($keys as $key) { - if (isset($superGlobalVariables[$superGlobalArray][$key])) { - $GLOBALS[$superGlobalArray][$key] = $superGlobalVariables[$superGlobalArray][$key]; - } else { - unset($GLOBALS[$superGlobalArray][$key]); - } - } - } - } -} diff --git a/paragonik-backend/vendor/sebastian/global-state/src/Snapshot.php b/paragonik-backend/vendor/sebastian/global-state/src/Snapshot.php deleted file mode 100644 index 16391dd..0000000 --- a/paragonik-backend/vendor/sebastian/global-state/src/Snapshot.php +++ /dev/null @@ -1,368 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -declare(strict_types=1); - -namespace SebastianBergmann\GlobalState; - -use ReflectionClass; -use Serializable; - -/** - * A snapshot of global state. - */ -class Snapshot -{ - /** - * @var Blacklist - */ - private $blacklist; - - /** - * @var array - */ - private $globalVariables = []; - - /** - * @var array - */ - private $superGlobalArrays = []; - - /** - * @var array - */ - private $superGlobalVariables = []; - - /** - * @var array - */ - private $staticAttributes = []; - - /** - * @var array - */ - private $iniSettings = []; - - /** - * @var array - */ - private $includedFiles = []; - - /** - * @var array - */ - private $constants = []; - - /** - * @var array - */ - private $functions = []; - - /** - * @var array - */ - private $interfaces = []; - - /** - * @var array - */ - private $classes = []; - - /** - * @var array - */ - private $traits = []; - - /** - * Creates a snapshot of the current global state. - */ - public function __construct(Blacklist $blacklist = null, bool $includeGlobalVariables = true, bool $includeStaticAttributes = true, bool $includeConstants = true, bool $includeFunctions = true, bool $includeClasses = true, bool $includeInterfaces = true, bool $includeTraits = true, bool $includeIniSettings = true, bool $includeIncludedFiles = true) - { - if ($blacklist === null) { - $blacklist = new Blacklist; - } - - $this->blacklist = $blacklist; - - if ($includeConstants) { - $this->snapshotConstants(); - } - - if ($includeFunctions) { - $this->snapshotFunctions(); - } - - if ($includeClasses || $includeStaticAttributes) { - $this->snapshotClasses(); - } - - if ($includeInterfaces) { - $this->snapshotInterfaces(); - } - - if ($includeGlobalVariables) { - $this->setupSuperGlobalArrays(); - $this->snapshotGlobals(); - } - - if ($includeStaticAttributes) { - $this->snapshotStaticAttributes(); - } - - if ($includeIniSettings) { - $this->iniSettings = \ini_get_all(null, false); - } - - if ($includeIncludedFiles) { - $this->includedFiles = \get_included_files(); - } - - $this->traits = \get_declared_traits(); - } - - public function blacklist(): Blacklist - { - return $this->blacklist; - } - - public function globalVariables(): array - { - return $this->globalVariables; - } - - public function superGlobalVariables(): array - { - return $this->superGlobalVariables; - } - - public function superGlobalArrays(): array - { - return $this->superGlobalArrays; - } - - public function staticAttributes(): array - { - return $this->staticAttributes; - } - - public function iniSettings(): array - { - return $this->iniSettings; - } - - public function includedFiles(): array - { - return $this->includedFiles; - } - - public function constants(): array - { - return $this->constants; - } - - public function functions(): array - { - return $this->functions; - } - - public function interfaces(): array - { - return $this->interfaces; - } - - public function classes(): array - { - return $this->classes; - } - - public function traits(): array - { - return $this->traits; - } - - /** - * Creates a snapshot user-defined constants. - */ - private function snapshotConstants() - { - $constants = \get_defined_constants(true); - - if (isset($constants['user'])) { - $this->constants = $constants['user']; - } - } - - /** - * Creates a snapshot user-defined functions. - */ - private function snapshotFunctions() - { - $functions = \get_defined_functions(); - - $this->functions = $functions['user']; - } - - /** - * Creates a snapshot user-defined classes. - */ - private function snapshotClasses() - { - foreach (\array_reverse(\get_declared_classes()) as $className) { - $class = new ReflectionClass($className); - - if (!$class->isUserDefined()) { - break; - } - - $this->classes[] = $className; - } - - $this->classes = \array_reverse($this->classes); - } - - /** - * Creates a snapshot user-defined interfaces. - */ - private function snapshotInterfaces() - { - foreach (\array_reverse(\get_declared_interfaces()) as $interfaceName) { - $class = new ReflectionClass($interfaceName); - - if (!$class->isUserDefined()) { - break; - } - - $this->interfaces[] = $interfaceName; - } - - $this->interfaces = \array_reverse($this->interfaces); - } - - /** - * Creates a snapshot of all global and super-global variables. - */ - private function snapshotGlobals() - { - $superGlobalArrays = $this->superGlobalArrays(); - - foreach ($superGlobalArrays as $superGlobalArray) { - $this->snapshotSuperGlobalArray($superGlobalArray); - } - - foreach (\array_keys($GLOBALS) as $key) { - if ($key != 'GLOBALS' && - !\in_array($key, $superGlobalArrays) && - $this->canBeSerialized($GLOBALS[$key]) && - !$this->blacklist->isGlobalVariableBlacklisted($key)) { - $this->globalVariables[$key] = \unserialize(\serialize($GLOBALS[$key])); - } - } - } - - /** - * Creates a snapshot a super-global variable array. - */ - private function snapshotSuperGlobalArray(string $superGlobalArray) - { - $this->superGlobalVariables[$superGlobalArray] = []; - - if (isset($GLOBALS[$superGlobalArray]) && \is_array($GLOBALS[$superGlobalArray])) { - foreach ($GLOBALS[$superGlobalArray] as $key => $value) { - $this->superGlobalVariables[$superGlobalArray][$key] = \unserialize(\serialize($value)); - } - } - } - - /** - * Creates a snapshot of all static attributes in user-defined classes. - */ - private function snapshotStaticAttributes() - { - foreach ($this->classes as $className) { - $class = new ReflectionClass($className); - $snapshot = []; - - foreach ($class->getProperties() as $attribute) { - if ($attribute->isStatic()) { - $name = $attribute->getName(); - - if ($this->blacklist->isStaticAttributeBlacklisted($className, $name)) { - continue; - } - - $attribute->setAccessible(true); - $value = $attribute->getValue(); - - if ($this->canBeSerialized($value)) { - $snapshot[$name] = \unserialize(\serialize($value)); - } - } - } - - if (!empty($snapshot)) { - $this->staticAttributes[$className] = $snapshot; - } - } - } - - /** - * Returns a list of all super-global variable arrays. - */ - private function setupSuperGlobalArrays() - { - $this->superGlobalArrays = [ - '_ENV', - '_POST', - '_GET', - '_COOKIE', - '_SERVER', - '_FILES', - '_REQUEST' - ]; - - if (\ini_get('register_long_arrays') == '1') { - $this->superGlobalArrays = \array_merge( - $this->superGlobalArrays, - [ - 'HTTP_ENV_VARS', - 'HTTP_POST_VARS', - 'HTTP_GET_VARS', - 'HTTP_COOKIE_VARS', - 'HTTP_SERVER_VARS', - 'HTTP_POST_FILES' - ] - ); - } - } - - /** - * @todo Implement this properly - */ - private function canBeSerialized($variable): bool - { - if (!\is_object($variable)) { - return !\is_resource($variable); - } - - if ($variable instanceof \stdClass) { - return true; - } - - $class = new ReflectionClass($variable); - - do { - if ($class->isInternal()) { - return $variable instanceof Serializable; - } - } while ($class = $class->getParentClass()); - - return true; - } -} diff --git a/paragonik-backend/vendor/sebastian/global-state/src/exceptions/Exception.php b/paragonik-backend/vendor/sebastian/global-state/src/exceptions/Exception.php deleted file mode 100644 index 41b363b..0000000 --- a/paragonik-backend/vendor/sebastian/global-state/src/exceptions/Exception.php +++ /dev/null @@ -1,17 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -declare(strict_types=1); - -namespace SebastianBergmann\GlobalState; - -interface Exception -{ -} diff --git a/paragonik-backend/vendor/sebastian/global-state/src/exceptions/RuntimeException.php b/paragonik-backend/vendor/sebastian/global-state/src/exceptions/RuntimeException.php deleted file mode 100644 index 66c1c1a..0000000 --- a/paragonik-backend/vendor/sebastian/global-state/src/exceptions/RuntimeException.php +++ /dev/null @@ -1,17 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -declare(strict_types=1); - -namespace SebastianBergmann\GlobalState; - -class RuntimeException extends \RuntimeException implements Exception -{ -} diff --git a/paragonik-backend/vendor/sebastian/global-state/tests/BlacklistTest.php b/paragonik-backend/vendor/sebastian/global-state/tests/BlacklistTest.php deleted file mode 100644 index 3aee735..0000000 --- a/paragonik-backend/vendor/sebastian/global-state/tests/BlacklistTest.php +++ /dev/null @@ -1,120 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -declare(strict_types=1); - -namespace SebastianBergmann\GlobalState; - -use PHPUnit\Framework\TestCase; -use SebastianBergmann\GlobalState\TestFixture\BlacklistedChildClass; -use SebastianBergmann\GlobalState\TestFixture\BlacklistedClass; -use SebastianBergmann\GlobalState\TestFixture\BlacklistedImplementor; -use SebastianBergmann\GlobalState\TestFixture\BlacklistedInterface; - -/** - * @covers \SebastianBergmann\GlobalState\Blacklist - */ -class BlacklistTest extends TestCase -{ - /** - * @var \SebastianBergmann\GlobalState\Blacklist - */ - private $blacklist; - - protected function setUp() - { - $this->blacklist = new Blacklist; - } - - public function testGlobalVariableThatIsNotBlacklistedIsNotTreatedAsBlacklisted() - { - $this->assertFalse($this->blacklist->isGlobalVariableBlacklisted('variable')); - } - - public function testGlobalVariableCanBeBlacklisted() - { - $this->blacklist->addGlobalVariable('variable'); - - $this->assertTrue($this->blacklist->isGlobalVariableBlacklisted('variable')); - } - - public function testStaticAttributeThatIsNotBlacklistedIsNotTreatedAsBlacklisted() - { - $this->assertFalse( - $this->blacklist->isStaticAttributeBlacklisted( - BlacklistedClass::class, - 'attribute' - ) - ); - } - - public function testClassCanBeBlacklisted() - { - $this->blacklist->addClass(BlacklistedClass::class); - - $this->assertTrue( - $this->blacklist->isStaticAttributeBlacklisted( - BlacklistedClass::class, - 'attribute' - ) - ); - } - - public function testSubclassesCanBeBlacklisted() - { - $this->blacklist->addSubclassesOf(BlacklistedClass::class); - - $this->assertTrue( - $this->blacklist->isStaticAttributeBlacklisted( - BlacklistedChildClass::class, - 'attribute' - ) - ); - } - - public function testImplementorsCanBeBlacklisted() - { - $this->blacklist->addImplementorsOf(BlacklistedInterface::class); - - $this->assertTrue( - $this->blacklist->isStaticAttributeBlacklisted( - BlacklistedImplementor::class, - 'attribute' - ) - ); - } - - public function testClassNamePrefixesCanBeBlacklisted() - { - $this->blacklist->addClassNamePrefix('SebastianBergmann\GlobalState'); - - $this->assertTrue( - $this->blacklist->isStaticAttributeBlacklisted( - BlacklistedClass::class, - 'attribute' - ) - ); - } - - public function testStaticAttributeCanBeBlacklisted() - { - $this->blacklist->addStaticAttribute( - BlacklistedClass::class, - 'attribute' - ); - - $this->assertTrue( - $this->blacklist->isStaticAttributeBlacklisted( - BlacklistedClass::class, - 'attribute' - ) - ); - } -} diff --git a/paragonik-backend/vendor/sebastian/global-state/tests/CodeExporterTest.php b/paragonik-backend/vendor/sebastian/global-state/tests/CodeExporterTest.php deleted file mode 100644 index 193081b..0000000 --- a/paragonik-backend/vendor/sebastian/global-state/tests/CodeExporterTest.php +++ /dev/null @@ -1,38 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -declare(strict_types=1); - -namespace SebastianBergmann\GlobalState; - -use PHPUnit\Framework\TestCase; - -/** - * @covers \SebastianBergmann\GlobalState\CodeExporter - */ -class CodeExporterTest extends TestCase -{ - /** - * @runInSeparateProcess - */ - public function testCanExportGlobalVariablesToCode() - { - $GLOBALS = ['foo' => 'bar']; - - $snapshot = new Snapshot(null, true, false, false, false, false, false, false, false, false); - - $exporter = new CodeExporter; - - $this->assertEquals( - '$GLOBALS = [];' . PHP_EOL . '$GLOBALS[\'foo\'] = \'bar\';' . PHP_EOL, - $exporter->globalVariables($snapshot) - ); - } -} diff --git a/paragonik-backend/vendor/sebastian/global-state/tests/RestorerTest.php b/paragonik-backend/vendor/sebastian/global-state/tests/RestorerTest.php deleted file mode 100644 index 87280b6..0000000 --- a/paragonik-backend/vendor/sebastian/global-state/tests/RestorerTest.php +++ /dev/null @@ -1,105 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -declare(strict_types=1); - -namespace SebastianBergmann\GlobalState; - -use PHPUnit\Framework\TestCase; - -/** - * Class Restorer. - */ -class RestorerTest extends TestCase -{ - public static function setUpBeforeClass() - { - $GLOBALS['varBool'] = false; - $GLOBALS['varNull'] = null; - $_GET['varGet'] = 0; - } - - /** - * Check global variables are correctly backuped and restored (unit test). - * - * @covers \SebastianBergmann\GlobalState\Restorer::restoreGlobalVariables - * @covers \SebastianBergmann\GlobalState\Restorer::restoreSuperGlobalArray - * - * @uses \SebastianBergmann\GlobalState\Blacklist::isGlobalVariableBlacklisted - * @uses \SebastianBergmann\GlobalState\Snapshot::__construct - * @uses \SebastianBergmann\GlobalState\Snapshot::blacklist - * @uses \SebastianBergmann\GlobalState\Snapshot::canBeSerialized - * @uses \SebastianBergmann\GlobalState\Snapshot::globalVariables - * @uses \SebastianBergmann\GlobalState\Snapshot::setupSuperGlobalArrays - * @uses \SebastianBergmann\GlobalState\Snapshot::snapshotGlobals - * @uses \SebastianBergmann\GlobalState\Snapshot::snapshotSuperGlobalArray - * @uses \SebastianBergmann\GlobalState\Snapshot::superGlobalArrays - * @uses \SebastianBergmann\GlobalState\Snapshot::superGlobalVariables - */ - public function testRestorerGlobalVariable() - { - $snapshot = new Snapshot(null, true, false, false, false, false, false, false, false, false); - $restorer = new Restorer; - $restorer->restoreGlobalVariables($snapshot); - - $this->assertArrayHasKey('varBool', $GLOBALS); - $this->assertEquals(false, $GLOBALS['varBool']); - $this->assertArrayHasKey('varNull', $GLOBALS); - $this->assertEquals(null, $GLOBALS['varNull']); - $this->assertArrayHasKey('varGet', $_GET); - $this->assertEquals(0, $_GET['varGet']); - } - - /** - * Check global variables are correctly backuped and restored. - * - * The real test is the second, but the first has to be executed to backup the globals. - * - * @backupGlobals enabled - * @covers \SebastianBergmann\GlobalState\Restorer::restoreGlobalVariables - * @covers \SebastianBergmann\GlobalState\Restorer::restoreSuperGlobalArray - * - * @uses \SebastianBergmann\GlobalState\Blacklist::addClassNamePrefix - * @uses \SebastianBergmann\GlobalState\Blacklist::isGlobalVariableBlacklisted - * @uses \SebastianBergmann\GlobalState\Snapshot::__construct - * @uses \SebastianBergmann\GlobalState\Snapshot::blacklist - * @uses \SebastianBergmann\GlobalState\Snapshot::canBeSerialized - * @uses \SebastianBergmann\GlobalState\Snapshot::globalVariables - * @uses \SebastianBergmann\GlobalState\Snapshot::setupSuperGlobalArrays - * @uses \SebastianBergmann\GlobalState\Snapshot::snapshotGlobals - * @uses \SebastianBergmann\GlobalState\Snapshot::snapshotSuperGlobalArray - * @uses \SebastianBergmann\GlobalState\Snapshot::superGlobalArrays - * @uses \SebastianBergmann\GlobalState\Snapshot::superGlobalVariables - */ - public function testIntegrationRestorerGlobalVariables() - { - $this->assertArrayHasKey('varBool', $GLOBALS); - $this->assertEquals(false, $GLOBALS['varBool']); - $this->assertArrayHasKey('varNull', $GLOBALS); - $this->assertEquals(null, $GLOBALS['varNull']); - $this->assertArrayHasKey('varGet', $_GET); - $this->assertEquals(0, $_GET['varGet']); - } - - /** - * Check global variables are correctly backuped and restored. - * - * @depends testIntegrationRestorerGlobalVariables - */ - public function testIntegrationRestorerGlobalVariables2() - { - $this->assertArrayHasKey('varBool', $GLOBALS); - $this->assertEquals(false, $GLOBALS['varBool']); - $this->assertArrayHasKey('varNull', $GLOBALS); - $this->assertEquals(null, $GLOBALS['varNull']); - $this->assertArrayHasKey('varGet', $_GET); - $this->assertEquals(0, $_GET['varGet']); - } -} diff --git a/paragonik-backend/vendor/sebastian/global-state/tests/SnapshotTest.php b/paragonik-backend/vendor/sebastian/global-state/tests/SnapshotTest.php deleted file mode 100644 index d3afa61..0000000 --- a/paragonik-backend/vendor/sebastian/global-state/tests/SnapshotTest.php +++ /dev/null @@ -1,116 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -declare(strict_types=1); - -namespace SebastianBergmann\GlobalState; - -use ArrayObject; -use PHPUnit\Framework\TestCase; -use SebastianBergmann\GlobalState\TestFixture\BlacklistedInterface; -use SebastianBergmann\GlobalState\TestFixture\SnapshotClass; -use SebastianBergmann\GlobalState\TestFixture\SnapshotTrait; - -/** - * @covers \SebastianBergmann\GlobalState\Snapshot - */ -class SnapshotTest extends TestCase -{ - /** - * @var Blacklist - */ - private $blacklist; - - protected function setUp() - { - $this->blacklist = $this->createMock(Blacklist::class); - } - - public function testStaticAttributes() - { - $this->blacklist->method('isStaticAttributeBlacklisted')->willReturnCallback( - function ($class) { - return $class !== SnapshotClass::class; - } - ); - - SnapshotClass::init(); - - $snapshot = new Snapshot($this->blacklist, false, true, false, false, false, false, false, false, false); - - $expected = [ - SnapshotClass::class => [ - 'string' => 'snapshot', - 'arrayObject' => new ArrayObject([1, 2, 3]), - 'stdClass' => new \stdClass(), - ] - ]; - - $this->assertEquals($expected, $snapshot->staticAttributes()); - } - - public function testConstants() - { - $snapshot = new Snapshot($this->blacklist, false, false, true, false, false, false, false, false, false); - - $this->assertArrayHasKey('GLOBALSTATE_TESTSUITE', $snapshot->constants()); - } - - public function testFunctions() - { - $snapshot = new Snapshot($this->blacklist, false, false, false, true, false, false, false, false, false); - $functions = $snapshot->functions(); - - $this->assertContains('sebastianbergmann\globalstate\testfixture\snapshotfunction', $functions); - $this->assertNotContains('assert', $functions); - } - - public function testClasses() - { - $snapshot = new Snapshot($this->blacklist, false, false, false, false, true, false, false, false, false); - $classes = $snapshot->classes(); - - $this->assertContains(TestCase::class, $classes); - $this->assertNotContains(Exception::class, $classes); - } - - public function testInterfaces() - { - $snapshot = new Snapshot($this->blacklist, false, false, false, false, false, true, false, false, false); - $interfaces = $snapshot->interfaces(); - - $this->assertContains(BlacklistedInterface::class, $interfaces); - $this->assertNotContains(\Countable::class, $interfaces); - } - - public function testTraits() - { - \spl_autoload_call('SebastianBergmann\GlobalState\TestFixture\SnapshotTrait'); - - $snapshot = new Snapshot($this->blacklist, false, false, false, false, false, false, true, false, false); - - $this->assertContains(SnapshotTrait::class, $snapshot->traits()); - } - - public function testIniSettings() - { - $snapshot = new Snapshot($this->blacklist, false, false, false, false, false, false, false, true, false); - $iniSettings = $snapshot->iniSettings(); - - $this->assertArrayHasKey('date.timezone', $iniSettings); - $this->assertEquals('Etc/UTC', $iniSettings['date.timezone']); - } - - public function testIncludedFiles() - { - $snapshot = new Snapshot($this->blacklist, false, false, false, false, false, false, false, false, true); - $this->assertContains(__FILE__, $snapshot->includedFiles()); - } -} diff --git a/paragonik-backend/vendor/sebastian/global-state/tests/_fixture/BlacklistedChildClass.php b/paragonik-backend/vendor/sebastian/global-state/tests/_fixture/BlacklistedChildClass.php deleted file mode 100644 index b01ba7a..0000000 --- a/paragonik-backend/vendor/sebastian/global-state/tests/_fixture/BlacklistedChildClass.php +++ /dev/null @@ -1,17 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -declare(strict_types=1); - -namespace SebastianBergmann\GlobalState\TestFixture; - -class BlacklistedChildClass extends BlacklistedClass -{ -} diff --git a/paragonik-backend/vendor/sebastian/global-state/tests/_fixture/BlacklistedClass.php b/paragonik-backend/vendor/sebastian/global-state/tests/_fixture/BlacklistedClass.php deleted file mode 100644 index 71d5273..0000000 --- a/paragonik-backend/vendor/sebastian/global-state/tests/_fixture/BlacklistedClass.php +++ /dev/null @@ -1,18 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -declare(strict_types=1); - -namespace SebastianBergmann\GlobalState\TestFixture; - -class BlacklistedClass -{ - private static $attribute; -} diff --git a/paragonik-backend/vendor/sebastian/global-state/tests/_fixture/BlacklistedImplementor.php b/paragonik-backend/vendor/sebastian/global-state/tests/_fixture/BlacklistedImplementor.php deleted file mode 100644 index 3459c65..0000000 --- a/paragonik-backend/vendor/sebastian/global-state/tests/_fixture/BlacklistedImplementor.php +++ /dev/null @@ -1,18 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -declare(strict_types=1); - -namespace SebastianBergmann\GlobalState\TestFixture; - -class BlacklistedImplementor implements BlacklistedInterface -{ - private static $attribute; -} diff --git a/paragonik-backend/vendor/sebastian/global-state/tests/_fixture/BlacklistedInterface.php b/paragonik-backend/vendor/sebastian/global-state/tests/_fixture/BlacklistedInterface.php deleted file mode 100644 index ee0e7eb..0000000 --- a/paragonik-backend/vendor/sebastian/global-state/tests/_fixture/BlacklistedInterface.php +++ /dev/null @@ -1,17 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -declare(strict_types=1); - -namespace SebastianBergmann\GlobalState\TestFixture; - -interface BlacklistedInterface -{ -} diff --git a/paragonik-backend/vendor/sebastian/global-state/tests/_fixture/SnapshotClass.php b/paragonik-backend/vendor/sebastian/global-state/tests/_fixture/SnapshotClass.php deleted file mode 100644 index 39c93e1..0000000 --- a/paragonik-backend/vendor/sebastian/global-state/tests/_fixture/SnapshotClass.php +++ /dev/null @@ -1,37 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -declare(strict_types=1); - -namespace SebastianBergmann\GlobalState\TestFixture; - -use DomDocument; -use ArrayObject; - -class SnapshotClass -{ - private static $string = 'snapshot'; - private static $dom; - private static $closure; - private static $arrayObject; - private static $snapshotDomDocument; - private static $resource; - private static $stdClass; - - public static function init() - { - self::$dom = new DomDocument(); - self::$closure = function () {}; - self::$arrayObject = new ArrayObject([1, 2, 3]); - self::$snapshotDomDocument = new SnapshotDomDocument(); - self::$resource = \fopen('php://memory', 'r'); - self::$stdClass = new \stdClass(); - } -} diff --git a/paragonik-backend/vendor/sebastian/global-state/tests/_fixture/SnapshotDomDocument.php b/paragonik-backend/vendor/sebastian/global-state/tests/_fixture/SnapshotDomDocument.php deleted file mode 100644 index ba9e1d2..0000000 --- a/paragonik-backend/vendor/sebastian/global-state/tests/_fixture/SnapshotDomDocument.php +++ /dev/null @@ -1,19 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -declare(strict_types=1); - -namespace SebastianBergmann\GlobalState\TestFixture; - -use DomDocument; - -class SnapshotDomDocument extends DomDocument -{ -} diff --git a/paragonik-backend/vendor/sebastian/global-state/tests/_fixture/SnapshotFunctions.php b/paragonik-backend/vendor/sebastian/global-state/tests/_fixture/SnapshotFunctions.php deleted file mode 100644 index 94c8060..0000000 --- a/paragonik-backend/vendor/sebastian/global-state/tests/_fixture/SnapshotFunctions.php +++ /dev/null @@ -1,17 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -declare(strict_types=1); - -namespace SebastianBergmann\GlobalState\TestFixture; - -function snapshotFunction() -{ -} diff --git a/paragonik-backend/vendor/sebastian/global-state/tests/_fixture/SnapshotTrait.php b/paragonik-backend/vendor/sebastian/global-state/tests/_fixture/SnapshotTrait.php deleted file mode 100644 index d0bc5b9..0000000 --- a/paragonik-backend/vendor/sebastian/global-state/tests/_fixture/SnapshotTrait.php +++ /dev/null @@ -1,17 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -declare(strict_types=1); - -namespace SebastianBergmann\GlobalState\TestFixture; - -trait SnapshotTrait -{ -} diff --git a/paragonik-backend/vendor/sebastian/object-enumerator/.gitignore b/paragonik-backend/vendor/sebastian/object-enumerator/.gitignore deleted file mode 100644 index 5d748a8..0000000 --- a/paragonik-backend/vendor/sebastian/object-enumerator/.gitignore +++ /dev/null @@ -1,8 +0,0 @@ -.idea -composer.lock -composer.phar -vendor/ -cache.properties -build/LICENSE -build/README.md -build/*.tgz diff --git a/paragonik-backend/vendor/sebastian/object-enumerator/.php_cs b/paragonik-backend/vendor/sebastian/object-enumerator/.php_cs deleted file mode 100644 index b7393bd..0000000 --- a/paragonik-backend/vendor/sebastian/object-enumerator/.php_cs +++ /dev/null @@ -1,67 +0,0 @@ -files() - ->in('src') - ->in('tests') - ->name('*.php'); - -return Symfony\CS\Config\Config::create() - ->level(\Symfony\CS\FixerInterface::NONE_LEVEL) - ->fixers( - array( - 'align_double_arrow', - 'align_equals', - 'braces', - 'concat_with_spaces', - 'duplicate_semicolon', - 'elseif', - 'empty_return', - 'encoding', - 'eof_ending', - 'extra_empty_lines', - 'function_call_space', - 'function_declaration', - 'indentation', - 'join_function', - 'line_after_namespace', - 'linefeed', - 'list_commas', - 'lowercase_constants', - 'lowercase_keywords', - 'method_argument_space', - 'multiple_use', - 'namespace_no_leading_whitespace', - 'no_blank_lines_after_class_opening', - 'no_empty_lines_after_phpdocs', - 'parenthesis', - 'php_closing_tag', - 'phpdoc_indent', - 'phpdoc_no_access', - 'phpdoc_no_empty_return', - 'phpdoc_no_package', - 'phpdoc_params', - 'phpdoc_scalar', - 'phpdoc_separation', - 'phpdoc_to_comment', - 'phpdoc_trim', - 'phpdoc_types', - 'phpdoc_var_without_name', - 'remove_lines_between_uses', - 'return', - 'self_accessor', - 'short_array_syntax', - 'short_tag', - 'single_line_after_imports', - 'single_quote', - 'spaces_before_semicolon', - 'spaces_cast', - 'ternary_spaces', - 'trailing_spaces', - 'trim_array_spaces', - 'unused_use', - 'visibility', - 'whitespacy_lines' - ) - ) - ->finder($finder); - diff --git a/paragonik-backend/vendor/sebastian/object-enumerator/.travis.yml b/paragonik-backend/vendor/sebastian/object-enumerator/.travis.yml deleted file mode 100644 index 5ea0f53..0000000 --- a/paragonik-backend/vendor/sebastian/object-enumerator/.travis.yml +++ /dev/null @@ -1,26 +0,0 @@ -language: php - -php: - - 7.0 - - 7.0snapshot - - 7.1 - - 7.1snapshot - - master - -sudo: false - -before_install: - - composer self-update - - composer clear-cache - -install: - - travis_retry composer update --no-interaction --no-ansi --no-progress --no-suggest --optimize-autoloader --prefer-stable - -script: - - ./vendor/bin/phpunit --coverage-clover=coverage.xml - -after_success: - - bash <(curl -s https://codecov.io/bash) - -notifications: - email: false diff --git a/paragonik-backend/vendor/sebastian/object-enumerator/ChangeLog.md b/paragonik-backend/vendor/sebastian/object-enumerator/ChangeLog.md deleted file mode 100644 index 8eb5739..0000000 --- a/paragonik-backend/vendor/sebastian/object-enumerator/ChangeLog.md +++ /dev/null @@ -1,53 +0,0 @@ -# Change Log - -All notable changes to `sebastianbergmann/object-enumerator` are documented in this file using the [Keep a CHANGELOG](http://keepachangelog.com/) principles. - -## [3.0.3] - 2017-08-03 - -### Changed - -* Bumped required version of `sebastian/object-reflector` - -## [3.0.2] - 2017-03-12 - -### Changed - -* `sebastian/object-reflector` is now a dependency - -## [3.0.1] - 2017-03-12 - -### Fixed - -* Objects aggregated in inherited attributes are not enumerated - -## [3.0.0] - 2017-03-03 - -### Removed - -* This component is no longer supported on PHP 5.6 - -## [2.0.1] - 2017-02-18 - -### Fixed - -* Fixed [#2](https://github.com/sebastianbergmann/phpunit/pull/2): Exceptions in `ReflectionProperty::getValue()` are not handled - -## [2.0.0] - 2016-11-19 - -### Changed - -* This component is now compatible with `sebastian/recursion-context: ~1.0.4` - -## 1.0.0 - 2016-02-04 - -### Added - -* Initial release - -[3.0.3]: https://github.com/sebastianbergmann/object-enumerator/compare/3.0.2...3.0.3 -[3.0.2]: https://github.com/sebastianbergmann/object-enumerator/compare/3.0.1...3.0.2 -[3.0.1]: https://github.com/sebastianbergmann/object-enumerator/compare/3.0.0...3.0.1 -[3.0.0]: https://github.com/sebastianbergmann/object-enumerator/compare/2.0...3.0.0 -[2.0.1]: https://github.com/sebastianbergmann/object-enumerator/compare/2.0.0...2.0.1 -[2.0.0]: https://github.com/sebastianbergmann/object-enumerator/compare/1.0...2.0.0 - diff --git a/paragonik-backend/vendor/sebastian/object-enumerator/LICENSE b/paragonik-backend/vendor/sebastian/object-enumerator/LICENSE deleted file mode 100644 index ab8b704..0000000 --- a/paragonik-backend/vendor/sebastian/object-enumerator/LICENSE +++ /dev/null @@ -1,33 +0,0 @@ -Object Enumerator - -Copyright (c) 2016-2017, Sebastian Bergmann . -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of Sebastian Bergmann nor the names of his - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. diff --git a/paragonik-backend/vendor/sebastian/object-enumerator/README.md b/paragonik-backend/vendor/sebastian/object-enumerator/README.md deleted file mode 100644 index be6f2dd..0000000 --- a/paragonik-backend/vendor/sebastian/object-enumerator/README.md +++ /dev/null @@ -1,14 +0,0 @@ -# Object Enumerator - -Traverses array structures and object graphs to enumerate all referenced objects. - -## Installation - -You can add this library as a local, per-project dependency to your project using [Composer](https://getcomposer.org/): - - composer require sebastian/object-enumerator - -If you only need this library during development, for instance to run your project's test suite, then you should add it as a development-time dependency: - - composer require --dev sebastian/object-enumerator - diff --git a/paragonik-backend/vendor/sebastian/object-enumerator/build.xml b/paragonik-backend/vendor/sebastian/object-enumerator/build.xml deleted file mode 100644 index 086694f..0000000 --- a/paragonik-backend/vendor/sebastian/object-enumerator/build.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - diff --git a/paragonik-backend/vendor/sebastian/object-enumerator/composer.json b/paragonik-backend/vendor/sebastian/object-enumerator/composer.json deleted file mode 100644 index 7b7d158..0000000 --- a/paragonik-backend/vendor/sebastian/object-enumerator/composer.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "name": "sebastian/object-enumerator", - "description": "Traverses array structures and object graphs to enumerate all referenced objects", - "homepage": "https://github.com/sebastianbergmann/object-enumerator/", - "license": "BSD-3-Clause", - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "require": { - "php": "^7.0", - "sebastian/object-reflector": "^1.1.1", - "sebastian/recursion-context": "^3.0" - }, - "require-dev": { - "phpunit/phpunit": "^6.0" - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "autoload-dev": { - "classmap": [ - "tests/_fixture/" - ] - }, - "extra": { - "branch-alias": { - "dev-master": "3.0.x-dev" - } - } -} diff --git a/paragonik-backend/vendor/sebastian/object-enumerator/phpunit.xml b/paragonik-backend/vendor/sebastian/object-enumerator/phpunit.xml deleted file mode 100644 index c401ba8..0000000 --- a/paragonik-backend/vendor/sebastian/object-enumerator/phpunit.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - tests - - - - - src - - - diff --git a/paragonik-backend/vendor/sebastian/object-enumerator/src/Enumerator.php b/paragonik-backend/vendor/sebastian/object-enumerator/src/Enumerator.php deleted file mode 100644 index 3a40f6d..0000000 --- a/paragonik-backend/vendor/sebastian/object-enumerator/src/Enumerator.php +++ /dev/null @@ -1,85 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace SebastianBergmann\ObjectEnumerator; - -use SebastianBergmann\ObjectReflector\ObjectReflector; -use SebastianBergmann\RecursionContext\Context; - -/** - * Traverses array structures and object graphs - * to enumerate all referenced objects. - */ -class Enumerator -{ - /** - * Returns an array of all objects referenced either - * directly or indirectly by a variable. - * - * @param array|object $variable - * - * @return object[] - */ - public function enumerate($variable) - { - if (!is_array($variable) && !is_object($variable)) { - throw new InvalidArgumentException; - } - - if (isset(func_get_args()[1])) { - if (!func_get_args()[1] instanceof Context) { - throw new InvalidArgumentException; - } - - $processed = func_get_args()[1]; - } else { - $processed = new Context; - } - - $objects = []; - - if ($processed->contains($variable)) { - return $objects; - } - - $array = $variable; - $processed->add($variable); - - if (is_array($variable)) { - foreach ($array as $element) { - if (!is_array($element) && !is_object($element)) { - continue; - } - - $objects = array_merge( - $objects, - $this->enumerate($element, $processed) - ); - } - } else { - $objects[] = $variable; - - $reflector = new ObjectReflector; - - foreach ($reflector->getAttributes($variable) as $value) { - if (!is_array($value) && !is_object($value)) { - continue; - } - - $objects = array_merge( - $objects, - $this->enumerate($value, $processed) - ); - } - } - - return $objects; - } -} diff --git a/paragonik-backend/vendor/sebastian/object-enumerator/src/Exception.php b/paragonik-backend/vendor/sebastian/object-enumerator/src/Exception.php deleted file mode 100644 index 903b0b1..0000000 --- a/paragonik-backend/vendor/sebastian/object-enumerator/src/Exception.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace SebastianBergmann\ObjectEnumerator; - -interface Exception -{ -} diff --git a/paragonik-backend/vendor/sebastian/object-enumerator/src/InvalidArgumentException.php b/paragonik-backend/vendor/sebastian/object-enumerator/src/InvalidArgumentException.php deleted file mode 100644 index 5250c1a..0000000 --- a/paragonik-backend/vendor/sebastian/object-enumerator/src/InvalidArgumentException.php +++ /dev/null @@ -1,15 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace SebastianBergmann\ObjectEnumerator; - -class InvalidArgumentException extends \InvalidArgumentException implements Exception -{ -} diff --git a/paragonik-backend/vendor/sebastian/object-enumerator/tests/EnumeratorTest.php b/paragonik-backend/vendor/sebastian/object-enumerator/tests/EnumeratorTest.php deleted file mode 100644 index a6bd29a..0000000 --- a/paragonik-backend/vendor/sebastian/object-enumerator/tests/EnumeratorTest.php +++ /dev/null @@ -1,139 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace SebastianBergmann\ObjectEnumerator; - -use SebastianBergmann\ObjectEnumerator\Fixtures\ExceptionThrower; -use PHPUnit\Framework\TestCase; - -/** - * @covers SebastianBergmann\ObjectEnumerator\Enumerator - */ -class EnumeratorTest extends TestCase -{ - /** - * @var Enumerator - */ - private $enumerator; - - protected function setUp() - { - $this->enumerator = new Enumerator; - } - - public function testEnumeratesSingleObject() - { - $a = new \stdClass; - - $objects = $this->enumerator->enumerate($a); - - $this->assertCount(1, $objects); - $this->assertSame($a, $objects[0]); - } - - public function testEnumeratesArrayWithSingleObject() - { - $a = new \stdClass; - - $objects = $this->enumerator->enumerate([$a]); - - $this->assertCount(1, $objects); - $this->assertSame($a, $objects[0]); - } - - public function testEnumeratesArrayWithTwoReferencesToTheSameObject() - { - $a = new \stdClass; - - $objects = $this->enumerator->enumerate([$a, $a]); - - $this->assertCount(1, $objects); - $this->assertSame($a, $objects[0]); - } - - public function testEnumeratesArrayOfObjects() - { - $a = new \stdClass; - $b = new \stdClass; - - $objects = $this->enumerator->enumerate([$a, $b, null]); - - $this->assertCount(2, $objects); - $this->assertSame($a, $objects[0]); - $this->assertSame($b, $objects[1]); - } - - public function testEnumeratesObjectWithAggregatedObject() - { - $a = new \stdClass; - $b = new \stdClass; - - $a->b = $b; - $a->c = null; - - $objects = $this->enumerator->enumerate($a); - - $this->assertCount(2, $objects); - $this->assertSame($a, $objects[0]); - $this->assertSame($b, $objects[1]); - } - - public function testEnumeratesObjectWithAggregatedObjectsInArray() - { - $a = new \stdClass; - $b = new \stdClass; - - $a->b = [$b]; - - $objects = $this->enumerator->enumerate($a); - - $this->assertCount(2, $objects); - $this->assertSame($a, $objects[0]); - $this->assertSame($b, $objects[1]); - } - - public function testEnumeratesObjectsWithCyclicReferences() - { - $a = new \stdClass; - $b = new \stdClass; - - $a->b = $b; - $b->a = $a; - - $objects = $this->enumerator->enumerate([$a, $b]); - - $this->assertCount(2, $objects); - $this->assertSame($a, $objects[0]); - $this->assertSame($b, $objects[1]); - } - - public function testEnumeratesClassThatThrowsException() - { - $thrower = new ExceptionThrower(); - - $objects = $this->enumerator->enumerate($thrower); - - $this->assertSame($thrower, $objects[0]); - } - - public function testExceptionIsRaisedForInvalidArgument() - { - $this->expectException(InvalidArgumentException::class); - - $this->enumerator->enumerate(null); - } - - public function testExceptionIsRaisedForInvalidArgument2() - { - $this->expectException(InvalidArgumentException::class); - - $this->enumerator->enumerate([], ''); - } -} diff --git a/paragonik-backend/vendor/sebastian/object-enumerator/tests/_fixture/ExceptionThrower.php b/paragonik-backend/vendor/sebastian/object-enumerator/tests/_fixture/ExceptionThrower.php deleted file mode 100644 index a75f585..0000000 --- a/paragonik-backend/vendor/sebastian/object-enumerator/tests/_fixture/ExceptionThrower.php +++ /dev/null @@ -1,28 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace SebastianBergmann\ObjectEnumerator\Fixtures; - -use RuntimeException; - -class ExceptionThrower -{ - private $property; - - public function __construct() - { - unset($this->property); - } - - public function __get($property) - { - throw new RuntimeException; - } -} diff --git a/paragonik-backend/vendor/sebastian/object-reflector/.gitignore b/paragonik-backend/vendor/sebastian/object-reflector/.gitignore deleted file mode 100644 index c3e9d7e..0000000 --- a/paragonik-backend/vendor/sebastian/object-reflector/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -/.idea -/.php_cs.cache -/composer.lock -/vendor diff --git a/paragonik-backend/vendor/sebastian/object-reflector/.php_cs b/paragonik-backend/vendor/sebastian/object-reflector/.php_cs deleted file mode 100644 index cb814f3..0000000 --- a/paragonik-backend/vendor/sebastian/object-reflector/.php_cs +++ /dev/null @@ -1,79 +0,0 @@ - - -For the full copyright and license information, please view the LICENSE -file that was distributed with this source code. -EOF; - -return PhpCsFixer\Config::create() - ->setRiskyAllowed(true) - ->setRules( - [ - 'array_syntax' => ['syntax' => 'short'], - 'binary_operator_spaces' => [ - 'align_double_arrow' => true, - 'align_equals' => true - ], - 'blank_line_after_namespace' => true, - 'blank_line_before_return' => true, - 'braces' => true, - 'cast_spaces' => true, - 'concat_space' => ['spacing' => 'one'], - 'declare_strict_types' => true, - 'elseif' => true, - 'encoding' => true, - 'full_opening_tag' => true, - 'function_declaration' => true, - #'header_comment' => ['header' => $header, 'separate' => 'none'], - 'indentation_type' => true, - 'line_ending' => true, - 'lowercase_constants' => true, - 'lowercase_keywords' => true, - 'method_argument_space' => true, - 'no_alias_functions' => true, - 'no_blank_lines_after_class_opening' => true, - 'no_blank_lines_after_phpdoc' => true, - 'no_closing_tag' => true, - 'no_empty_phpdoc' => true, - 'no_empty_statement' => true, - 'no_extra_consecutive_blank_lines' => true, - 'no_leading_namespace_whitespace' => true, - 'no_singleline_whitespace_before_semicolons' => true, - 'no_spaces_after_function_name' => true, - 'no_spaces_inside_parenthesis' => true, - 'no_trailing_comma_in_list_call' => true, - 'no_trailing_whitespace' => true, - 'no_unused_imports' => true, - 'no_whitespace_in_blank_line' => true, - 'phpdoc_align' => true, - 'phpdoc_indent' => true, - 'phpdoc_no_access' => true, - 'phpdoc_no_empty_return' => true, - 'phpdoc_no_package' => true, - 'phpdoc_scalar' => true, - 'phpdoc_separation' => true, - 'phpdoc_to_comment' => true, - 'phpdoc_trim' => true, - 'phpdoc_types' => true, - 'phpdoc_var_without_name' => true, - 'self_accessor' => true, - 'simplified_null_return' => true, - 'single_blank_line_at_eof' => true, - 'single_import_per_statement' => true, - 'single_line_after_imports' => true, - 'single_quote' => true, - 'ternary_operator_spaces' => true, - 'trim_array_spaces' => true, - 'visibility_required' => true, - ] - ) - ->setFinder( - PhpCsFixer\Finder::create() - ->files() - ->in(__DIR__ . '/src') - ->in(__DIR__ . '/tests') - ->name('*.php') - ); diff --git a/paragonik-backend/vendor/sebastian/object-reflector/.travis.yml b/paragonik-backend/vendor/sebastian/object-reflector/.travis.yml deleted file mode 100644 index 5ea0f53..0000000 --- a/paragonik-backend/vendor/sebastian/object-reflector/.travis.yml +++ /dev/null @@ -1,26 +0,0 @@ -language: php - -php: - - 7.0 - - 7.0snapshot - - 7.1 - - 7.1snapshot - - master - -sudo: false - -before_install: - - composer self-update - - composer clear-cache - -install: - - travis_retry composer update --no-interaction --no-ansi --no-progress --no-suggest --optimize-autoloader --prefer-stable - -script: - - ./vendor/bin/phpunit --coverage-clover=coverage.xml - -after_success: - - bash <(curl -s https://codecov.io/bash) - -notifications: - email: false diff --git a/paragonik-backend/vendor/sebastian/object-reflector/ChangeLog.md b/paragonik-backend/vendor/sebastian/object-reflector/ChangeLog.md deleted file mode 100644 index 0e7b7f8..0000000 --- a/paragonik-backend/vendor/sebastian/object-reflector/ChangeLog.md +++ /dev/null @@ -1,20 +0,0 @@ -# Change Log - -All notable changes to `sebastianbergmann/object-reflector` are documented in this file using the [Keep a CHANGELOG](http://keepachangelog.com/) principles. - -## 1.1.1 - 2017-03-29 - -* Fixed [#1](https://github.com/sebastianbergmann/object-reflector/issues/1): Attributes that with non-string names are not handled correctly - -## 1.1.0 - 2017-03-16 - -### Changed - -* Changed implementation of `ObjectReflector::getattributes()` to use `(array)` cast instead of `ReflectionObject` - -## 1.0.0 - 2017-03-12 - -* Initial release - -[1.1.1]: https://github.com/sebastianbergmann/object-enumerator/compare/1.1.0...1.1.1 -[1.1.0]: https://github.com/sebastianbergmann/object-enumerator/compare/1.0.0...1.1.0 diff --git a/paragonik-backend/vendor/sebastian/object-reflector/LICENSE b/paragonik-backend/vendor/sebastian/object-reflector/LICENSE deleted file mode 100644 index 54b1fd8..0000000 --- a/paragonik-backend/vendor/sebastian/object-reflector/LICENSE +++ /dev/null @@ -1,33 +0,0 @@ -Object Reflector - -Copyright (c) 2017, Sebastian Bergmann . -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of Sebastian Bergmann nor the names of his - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. diff --git a/paragonik-backend/vendor/sebastian/object-reflector/README.md b/paragonik-backend/vendor/sebastian/object-reflector/README.md deleted file mode 100644 index 13b24f1..0000000 --- a/paragonik-backend/vendor/sebastian/object-reflector/README.md +++ /dev/null @@ -1,14 +0,0 @@ -# Object Reflector - -Allows reflection of object attributes, including inherited and non-public ones. - -## Installation - -You can add this library as a local, per-project dependency to your project using [Composer](https://getcomposer.org/): - - composer require sebastian/object-reflector - -If you only need this library during development, for instance to run your project's test suite, then you should add it as a development-time dependency: - - composer require --dev sebastian/object-reflector - diff --git a/paragonik-backend/vendor/sebastian/object-reflector/build.xml b/paragonik-backend/vendor/sebastian/object-reflector/build.xml deleted file mode 100644 index 3368432..0000000 --- a/paragonik-backend/vendor/sebastian/object-reflector/build.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - diff --git a/paragonik-backend/vendor/sebastian/object-reflector/composer.json b/paragonik-backend/vendor/sebastian/object-reflector/composer.json deleted file mode 100644 index 88caead..0000000 --- a/paragonik-backend/vendor/sebastian/object-reflector/composer.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "name": "sebastian/object-reflector", - "description": "Allows reflection of object attributes, including inherited and non-public ones", - "homepage": "https://github.com/sebastianbergmann/object-reflector/", - "license": "BSD-3-Clause", - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "require": { - "php": "^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^6.0" - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "autoload-dev": { - "classmap": [ - "tests/_fixture/" - ] - }, - "extra": { - "branch-alias": { - "dev-master": "1.1-dev" - } - } -} diff --git a/paragonik-backend/vendor/sebastian/object-reflector/phpunit.xml b/paragonik-backend/vendor/sebastian/object-reflector/phpunit.xml deleted file mode 100644 index 68febeb..0000000 --- a/paragonik-backend/vendor/sebastian/object-reflector/phpunit.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - tests - - - - - src - - - diff --git a/paragonik-backend/vendor/sebastian/object-reflector/src/Exception.php b/paragonik-backend/vendor/sebastian/object-reflector/src/Exception.php deleted file mode 100644 index 9964b09..0000000 --- a/paragonik-backend/vendor/sebastian/object-reflector/src/Exception.php +++ /dev/null @@ -1,17 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -declare(strict_types=1); - -namespace SebastianBergmann\ObjectReflector; - -interface Exception -{ -} diff --git a/paragonik-backend/vendor/sebastian/object-reflector/src/InvalidArgumentException.php b/paragonik-backend/vendor/sebastian/object-reflector/src/InvalidArgumentException.php deleted file mode 100644 index e63c5d5..0000000 --- a/paragonik-backend/vendor/sebastian/object-reflector/src/InvalidArgumentException.php +++ /dev/null @@ -1,17 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -declare(strict_types=1); - -namespace SebastianBergmann\ObjectReflector; - -class InvalidArgumentException extends \InvalidArgumentException implements Exception -{ -} diff --git a/paragonik-backend/vendor/sebastian/object-reflector/src/ObjectReflector.php b/paragonik-backend/vendor/sebastian/object-reflector/src/ObjectReflector.php deleted file mode 100644 index 8b0390a..0000000 --- a/paragonik-backend/vendor/sebastian/object-reflector/src/ObjectReflector.php +++ /dev/null @@ -1,51 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -declare(strict_types=1); - -namespace SebastianBergmann\ObjectReflector; - -class ObjectReflector -{ - /** - * @param object $object - * - * @return array - * - * @throws InvalidArgumentException - */ - public function getAttributes($object): array - { - if (!is_object($object)) { - throw new InvalidArgumentException; - } - - $attributes = []; - $className = get_class($object); - - foreach ((array) $object as $name => $value) { - $name = explode("\0", (string) $name); - - if (count($name) === 1) { - $name = $name[0]; - } else { - if ($name[1] !== $className) { - $name = $name[1] . '::' . $name[2]; - } else { - $name = $name[2]; - } - } - - $attributes[$name] = $value; - } - - return $attributes; - } -} diff --git a/paragonik-backend/vendor/sebastian/object-reflector/tests/ObjectReflectorTest.php b/paragonik-backend/vendor/sebastian/object-reflector/tests/ObjectReflectorTest.php deleted file mode 100644 index ba0d97f..0000000 --- a/paragonik-backend/vendor/sebastian/object-reflector/tests/ObjectReflectorTest.php +++ /dev/null @@ -1,70 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -declare(strict_types=1); - -namespace SebastianBergmann\ObjectReflector; - -use PHPUnit\Framework\TestCase; -use SebastianBergmann\ObjectReflector\TestFixture\ChildClass; -use SebastianBergmann\ObjectReflector\TestFixture\ClassWithIntegerAttributeName; - -/** - * @covers SebastianBergmann\ObjectReflector\ObjectReflector - */ -class ObjectReflectorTest extends TestCase -{ - /** - * @var ObjectReflector - */ - private $objectReflector; - - protected function setUp()/*: void */ - { - $this->objectReflector = new ObjectReflector; - } - - public function testReflectsAttributesOfObject()/*: void */ - { - $o = new ChildClass; - - $this->assertEquals( - [ - 'privateInChild' => 'private', - 'protectedInChild' => 'protected', - 'publicInChild' => 'public', - 'undeclared' => 'undeclared', - 'SebastianBergmann\ObjectReflector\TestFixture\ParentClass::privateInParent' => 'private', - 'SebastianBergmann\ObjectReflector\TestFixture\ParentClass::protectedInParent' => 'protected', - 'SebastianBergmann\ObjectReflector\TestFixture\ParentClass::publicInParent' => 'public', - ], - $this->objectReflector->getAttributes($o) - ); - } - - public function testReflectsAttributeWithIntegerName()/*: void */ - { - $o = new ClassWithIntegerAttributeName; - - $this->assertEquals( - [ - 1 => 2 - ], - $this->objectReflector->getAttributes($o) - ); - } - - public function testRaisesExceptionWhenPassedArgumentIsNotAnObject()/*: void */ - { - $this->expectException(InvalidArgumentException::class); - - $this->objectReflector->getAttributes(null); - } -} diff --git a/paragonik-backend/vendor/sebastian/object-reflector/tests/_fixture/ChildClass.php b/paragonik-backend/vendor/sebastian/object-reflector/tests/_fixture/ChildClass.php deleted file mode 100644 index 5ee05f3..0000000 --- a/paragonik-backend/vendor/sebastian/object-reflector/tests/_fixture/ChildClass.php +++ /dev/null @@ -1,25 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -declare(strict_types=1); - -namespace SebastianBergmann\ObjectReflector\TestFixture; - -class ChildClass extends ParentClass -{ - private $privateInChild = 'private'; - private $protectedInChild = 'protected'; - private $publicInChild = 'public'; - - public function __construct() - { - $this->undeclared = 'undeclared'; - } -} diff --git a/paragonik-backend/vendor/sebastian/object-reflector/tests/_fixture/ClassWithIntegerAttributeName.php b/paragonik-backend/vendor/sebastian/object-reflector/tests/_fixture/ClassWithIntegerAttributeName.php deleted file mode 100644 index ee49df3..0000000 --- a/paragonik-backend/vendor/sebastian/object-reflector/tests/_fixture/ClassWithIntegerAttributeName.php +++ /dev/null @@ -1,22 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -declare(strict_types=1); - -namespace SebastianBergmann\ObjectReflector\TestFixture; - -class ClassWithIntegerAttributeName -{ - public function __construct() - { - $i = 1; - $this->$i = 2; - } -} diff --git a/paragonik-backend/vendor/sebastian/object-reflector/tests/_fixture/ParentClass.php b/paragonik-backend/vendor/sebastian/object-reflector/tests/_fixture/ParentClass.php deleted file mode 100644 index b6886be..0000000 --- a/paragonik-backend/vendor/sebastian/object-reflector/tests/_fixture/ParentClass.php +++ /dev/null @@ -1,20 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -declare(strict_types=1); - -namespace SebastianBergmann\ObjectReflector\TestFixture; - -class ParentClass -{ - private $privateInParent = 'private'; - private $protectedInParent = 'protected'; - private $publicInParent = 'public'; -} diff --git a/paragonik-backend/vendor/sebastian/recursion-context/.gitignore b/paragonik-backend/vendor/sebastian/recursion-context/.gitignore deleted file mode 100644 index 77aae3d..0000000 --- a/paragonik-backend/vendor/sebastian/recursion-context/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -/.idea -/composer.lock -/vendor diff --git a/paragonik-backend/vendor/sebastian/recursion-context/.travis.yml b/paragonik-backend/vendor/sebastian/recursion-context/.travis.yml deleted file mode 100644 index ee0e40b..0000000 --- a/paragonik-backend/vendor/sebastian/recursion-context/.travis.yml +++ /dev/null @@ -1,23 +0,0 @@ -language: php - -php: - - 7.0 - - 7.0snapshot - - 7.1 - - 7.1snapshot - - master - -sudo: false - -before_install: - - composer self-update - - composer clear-cache - -install: - - travis_retry composer update --no-interaction --no-ansi --no-progress --no-suggest --optimize-autoloader --prefer-stable - -script: - - ./vendor/bin/phpunit - -notifications: - email: false diff --git a/paragonik-backend/vendor/sebastian/recursion-context/LICENSE b/paragonik-backend/vendor/sebastian/recursion-context/LICENSE deleted file mode 100644 index 00bfec5..0000000 --- a/paragonik-backend/vendor/sebastian/recursion-context/LICENSE +++ /dev/null @@ -1,33 +0,0 @@ -Recursion Context - -Copyright (c) 2002-2017, Sebastian Bergmann . -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of Sebastian Bergmann nor the names of his - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. diff --git a/paragonik-backend/vendor/sebastian/recursion-context/README.md b/paragonik-backend/vendor/sebastian/recursion-context/README.md deleted file mode 100644 index 0b89496..0000000 --- a/paragonik-backend/vendor/sebastian/recursion-context/README.md +++ /dev/null @@ -1,14 +0,0 @@ -# Recursion Context - -... - -## Installation - -You can add this library as a local, per-project dependency to your project using [Composer](https://getcomposer.org/): - - composer require sebastian/recursion-context - -If you only need this library during development, for instance to run your project's test suite, then you should add it as a development-time dependency: - - composer require --dev sebastian/recursion-context - diff --git a/paragonik-backend/vendor/sebastian/recursion-context/build.xml b/paragonik-backend/vendor/sebastian/recursion-context/build.xml deleted file mode 100644 index 896bd34..0000000 --- a/paragonik-backend/vendor/sebastian/recursion-context/build.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/paragonik-backend/vendor/sebastian/recursion-context/composer.json b/paragonik-backend/vendor/sebastian/recursion-context/composer.json deleted file mode 100644 index e6456a9..0000000 --- a/paragonik-backend/vendor/sebastian/recursion-context/composer.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "name": "sebastian/recursion-context", - "description": "Provides functionality to recursively process PHP variables", - "homepage": "http://www.github.com/sebastianbergmann/recursion-context", - "license": "BSD-3-Clause", - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" - } - ], - "require": { - "php": "^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^6.0" - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "extra": { - "branch-alias": { - "dev-master": "3.0.x-dev" - } - } -} diff --git a/paragonik-backend/vendor/sebastian/recursion-context/phpunit.xml b/paragonik-backend/vendor/sebastian/recursion-context/phpunit.xml deleted file mode 100644 index 68febeb..0000000 --- a/paragonik-backend/vendor/sebastian/recursion-context/phpunit.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - tests - - - - - src - - - diff --git a/paragonik-backend/vendor/sebastian/recursion-context/src/Context.php b/paragonik-backend/vendor/sebastian/recursion-context/src/Context.php deleted file mode 100644 index 0b4b8a0..0000000 --- a/paragonik-backend/vendor/sebastian/recursion-context/src/Context.php +++ /dev/null @@ -1,167 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace SebastianBergmann\RecursionContext; - -/** - * A context containing previously processed arrays and objects - * when recursively processing a value. - */ -final class Context -{ - /** - * @var array[] - */ - private $arrays; - - /** - * @var \SplObjectStorage - */ - private $objects; - - /** - * Initialises the context - */ - public function __construct() - { - $this->arrays = array(); - $this->objects = new \SplObjectStorage; - } - - /** - * Adds a value to the context. - * - * @param array|object $value The value to add. - * - * @return int|string The ID of the stored value, either as a string or integer. - * - * @throws InvalidArgumentException Thrown if $value is not an array or object - */ - public function add(&$value) - { - if (is_array($value)) { - return $this->addArray($value); - } elseif (is_object($value)) { - return $this->addObject($value); - } - - throw new InvalidArgumentException( - 'Only arrays and objects are supported' - ); - } - - /** - * Checks if the given value exists within the context. - * - * @param array|object $value The value to check. - * - * @return int|string|false The string or integer ID of the stored value if it has already been seen, or false if the value is not stored. - * - * @throws InvalidArgumentException Thrown if $value is not an array or object - */ - public function contains(&$value) - { - if (is_array($value)) { - return $this->containsArray($value); - } elseif (is_object($value)) { - return $this->containsObject($value); - } - - throw new InvalidArgumentException( - 'Only arrays and objects are supported' - ); - } - - /** - * @param array $array - * - * @return bool|int - */ - private function addArray(array &$array) - { - $key = $this->containsArray($array); - - if ($key !== false) { - return $key; - } - - $key = count($this->arrays); - $this->arrays[] = &$array; - - if (!isset($array[PHP_INT_MAX]) && !isset($array[PHP_INT_MAX - 1])) { - $array[] = $key; - $array[] = $this->objects; - } else { /* cover the improbable case too */ - do { - $key = random_int(PHP_INT_MIN, PHP_INT_MAX); - } while (isset($array[$key])); - - $array[$key] = $key; - - do { - $key = random_int(PHP_INT_MIN, PHP_INT_MAX); - } while (isset($array[$key])); - - $array[$key] = $this->objects; - } - - return $key; - } - - /** - * @param object $object - * - * @return string - */ - private function addObject($object) - { - if (!$this->objects->contains($object)) { - $this->objects->attach($object); - } - - return spl_object_hash($object); - } - - /** - * @param array $array - * - * @return int|false - */ - private function containsArray(array &$array) - { - $end = array_slice($array, -2); - - return isset($end[1]) && $end[1] === $this->objects ? $end[0] : false; - } - - /** - * @param object $value - * - * @return string|false - */ - private function containsObject($value) - { - if ($this->objects->contains($value)) { - return spl_object_hash($value); - } - - return false; - } - - public function __destruct() - { - foreach ($this->arrays as &$array) { - if (is_array($array)) { - array_pop($array); - array_pop($array); - } - } - } -} diff --git a/paragonik-backend/vendor/sebastian/recursion-context/src/Exception.php b/paragonik-backend/vendor/sebastian/recursion-context/src/Exception.php deleted file mode 100644 index 4a1557b..0000000 --- a/paragonik-backend/vendor/sebastian/recursion-context/src/Exception.php +++ /dev/null @@ -1,17 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace SebastianBergmann\RecursionContext; - -/** - */ -interface Exception -{ -} diff --git a/paragonik-backend/vendor/sebastian/recursion-context/src/InvalidArgumentException.php b/paragonik-backend/vendor/sebastian/recursion-context/src/InvalidArgumentException.php deleted file mode 100644 index 032c504..0000000 --- a/paragonik-backend/vendor/sebastian/recursion-context/src/InvalidArgumentException.php +++ /dev/null @@ -1,17 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace SebastianBergmann\RecursionContext; - -/** - */ -final class InvalidArgumentException extends \InvalidArgumentException implements Exception -{ -} diff --git a/paragonik-backend/vendor/sebastian/recursion-context/tests/ContextTest.php b/paragonik-backend/vendor/sebastian/recursion-context/tests/ContextTest.php deleted file mode 100644 index 6e7af68..0000000 --- a/paragonik-backend/vendor/sebastian/recursion-context/tests/ContextTest.php +++ /dev/null @@ -1,142 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace SebastianBergmann\RecursionContext; - -use PHPUnit\Framework\TestCase; - -/** - * @covers SebastianBergmann\RecursionContext\Context - */ -class ContextTest extends TestCase -{ - /** - * @var \SebastianBergmann\RecursionContext\Context - */ - private $context; - - protected function setUp() - { - $this->context = new Context(); - } - - public function failsProvider() - { - return array( - array(true), - array(false), - array(null), - array('string'), - array(1), - array(1.5), - array(fopen('php://memory', 'r')) - ); - } - - public function valuesProvider() - { - $obj2 = new \stdClass(); - $obj2->foo = 'bar'; - - $obj3 = (object) array(1,2,"Test\r\n",4,5,6,7,8); - - $obj = new \stdClass(); - //@codingStandardsIgnoreStart - $obj->null = null; - //@codingStandardsIgnoreEnd - $obj->boolean = true; - $obj->integer = 1; - $obj->double = 1.2; - $obj->string = '1'; - $obj->text = "this\nis\na\nvery\nvery\nvery\nvery\nvery\nvery\rlong\n\rtext"; - $obj->object = $obj2; - $obj->objectagain = $obj2; - $obj->array = array('foo' => 'bar'); - $obj->array2 = array(1,2,3,4,5,6); - $obj->array3 = array($obj, $obj2, $obj3); - $obj->self = $obj; - - $storage = new \SplObjectStorage(); - $storage->attach($obj2); - $storage->foo = $obj2; - - return array( - array($obj, spl_object_hash($obj)), - array($obj2, spl_object_hash($obj2)), - array($obj3, spl_object_hash($obj3)), - array($storage, spl_object_hash($storage)), - array($obj->array, 0), - array($obj->array2, 0), - array($obj->array3, 0) - ); - } - - /** - * @covers SebastianBergmann\RecursionContext\Context::add - * @uses SebastianBergmann\RecursionContext\InvalidArgumentException - * @dataProvider failsProvider - */ - public function testAddFails($value) - { - $this->expectException(Exception::class); - $this->expectExceptionMessage('Only arrays and objects are supported'); - - $this->context->add($value); - } - - /** - * @covers SebastianBergmann\RecursionContext\Context::contains - * @uses SebastianBergmann\RecursionContext\InvalidArgumentException - * @dataProvider failsProvider - */ - public function testContainsFails($value) - { - $this->expectException(Exception::class); - $this->expectExceptionMessage('Only arrays and objects are supported'); - - $this->context->contains($value); - } - - /** - * @covers SebastianBergmann\RecursionContext\Context::add - * @dataProvider valuesProvider - */ - public function testAdd($value, $key) - { - $this->assertEquals($key, $this->context->add($value)); - - // Test we get the same key on subsequent adds - $this->assertEquals($key, $this->context->add($value)); - } - - /** - * @covers SebastianBergmann\RecursionContext\Context::contains - * @uses SebastianBergmann\RecursionContext\Context::add - * @depends testAdd - * @dataProvider valuesProvider - */ - public function testContainsFound($value, $key) - { - $this->context->add($value); - $this->assertEquals($key, $this->context->contains($value)); - - // Test we get the same key on subsequent calls - $this->assertEquals($key, $this->context->contains($value)); - } - - /** - * @covers SebastianBergmann\RecursionContext\Context::contains - * @dataProvider valuesProvider - */ - public function testContainsNotFound($value) - { - $this->assertFalse($this->context->contains($value)); - } -} diff --git a/paragonik-backend/vendor/sebastian/resource-operations/.github/stale.yml b/paragonik-backend/vendor/sebastian/resource-operations/.github/stale.yml deleted file mode 100644 index 4eadca3..0000000 --- a/paragonik-backend/vendor/sebastian/resource-operations/.github/stale.yml +++ /dev/null @@ -1,40 +0,0 @@ -# Configuration for probot-stale - https://github.com/probot/stale - -# Number of days of inactivity before an Issue or Pull Request becomes stale -daysUntilStale: 60 - -# Number of days of inactivity before a stale Issue or Pull Request is closed. -# Set to false to disable. If disabled, issues still need to be closed manually, but will remain marked as stale. -daysUntilClose: 7 - -# Issues or Pull Requests with these labels will never be considered stale. Set to `[]` to disable -exemptLabels: - - enhancement - -# Set to true to ignore issues in a project (defaults to false) -exemptProjects: false - -# Set to true to ignore issues in a milestone (defaults to false) -exemptMilestones: false - -# Label to use when marking as stale -staleLabel: stale - -# Comment to post when marking as stale. Set to `false` to disable -markComment: > - This issue has been automatically marked as stale because it has not had activity within the last 60 days. It will be closed after 7 days if no further activity occurs. Thank you for your contributions. - -# Comment to post when removing the stale label. -# unmarkComment: > -# Your comment here. - -# Comment to post when closing a stale Issue or Pull Request. -closeComment: > - This issue has been automatically closed because it has not had activity since it was marked as stale. Thank you for your contributions. - -# Limit the number of actions per hour, from 1-30. Default is 30 -limitPerRun: 30 - -# Limit to only `issues` or `pulls` -only: issues - diff --git a/paragonik-backend/vendor/sebastian/resource-operations/.gitignore b/paragonik-backend/vendor/sebastian/resource-operations/.gitignore deleted file mode 100644 index 4f9b239..0000000 --- a/paragonik-backend/vendor/sebastian/resource-operations/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -/.idea -/.php_cs.cache -/build/FunctionSignatureMap.php -/composer.lock -/vendor diff --git a/paragonik-backend/vendor/sebastian/resource-operations/.php_cs.dist b/paragonik-backend/vendor/sebastian/resource-operations/.php_cs.dist deleted file mode 100644 index 22641a6..0000000 --- a/paragonik-backend/vendor/sebastian/resource-operations/.php_cs.dist +++ /dev/null @@ -1,191 +0,0 @@ - - -For the full copyright and license information, please view the LICENSE -file that was distributed with this source code. -EOF; - -return PhpCsFixer\Config::create() - ->setRiskyAllowed(true) - ->setRules( - [ - 'align_multiline_comment' => true, - 'array_indentation' => true, - 'array_syntax' => ['syntax' => 'short'], - 'binary_operator_spaces' => [ - 'operators' => [ - '=' => 'align', - '=>' => 'align', - ], - ], - 'blank_line_after_namespace' => true, - 'blank_line_before_statement' => [ - 'statements' => [ - 'break', - 'continue', - 'declare', - 'do', - 'for', - 'foreach', - 'if', - 'include', - 'include_once', - 'require', - 'require_once', - 'return', - 'switch', - 'throw', - 'try', - 'while', - 'yield', - ], - ], - 'braces' => true, - 'cast_spaces' => true, - 'class_attributes_separation' => ['elements' => ['const', 'method', 'property']], - 'combine_consecutive_issets' => true, - 'combine_consecutive_unsets' => true, - 'compact_nullable_typehint' => true, - 'concat_space' => ['spacing' => 'one'], - 'declare_equal_normalize' => ['space' => 'none'], - 'declare_strict_types' => true, - 'dir_constant' => true, - 'elseif' => true, - 'encoding' => true, - 'full_opening_tag' => true, - 'function_declaration' => true, - 'header_comment' => ['header' => $header, 'separate' => 'none'], - 'indentation_type' => true, - 'is_null' => true, - 'line_ending' => true, - 'list_syntax' => ['syntax' => 'short'], - 'logical_operators' => true, - 'lowercase_cast' => true, - 'lowercase_constants' => true, - 'lowercase_keywords' => true, - 'lowercase_static_reference' => true, - 'magic_constant_casing' => true, - 'method_argument_space' => ['ensure_fully_multiline' => true], - 'modernize_types_casting' => true, - 'multiline_comment_opening_closing' => true, - 'multiline_whitespace_before_semicolons' => true, - 'native_constant_invocation' => true, - 'native_function_casing' => true, - 'native_function_invocation' => true, - 'new_with_braces' => false, - 'no_alias_functions' => true, - 'no_alternative_syntax' => true, - 'no_blank_lines_after_class_opening' => true, - 'no_blank_lines_after_phpdoc' => true, - 'no_blank_lines_before_namespace' => true, - 'no_closing_tag' => true, - 'no_empty_comment' => true, - 'no_empty_phpdoc' => true, - 'no_empty_statement' => true, - 'no_extra_blank_lines' => true, - 'no_homoglyph_names' => true, - 'no_leading_import_slash' => true, - 'no_leading_namespace_whitespace' => true, - 'no_mixed_echo_print' => ['use' => 'print'], - 'no_multiline_whitespace_around_double_arrow' => true, - 'no_null_property_initialization' => true, - 'no_php4_constructor' => true, - 'no_short_bool_cast' => true, - 'no_short_echo_tag' => true, - 'no_singleline_whitespace_before_semicolons' => true, - 'no_spaces_after_function_name' => true, - 'no_spaces_inside_parenthesis' => true, - 'no_superfluous_elseif' => true, - 'no_superfluous_phpdoc_tags' => true, - 'no_trailing_comma_in_list_call' => true, - 'no_trailing_comma_in_singleline_array' => true, - 'no_trailing_whitespace' => true, - 'no_trailing_whitespace_in_comment' => true, - 'no_unneeded_control_parentheses' => true, - 'no_unneeded_curly_braces' => true, - 'no_unneeded_final_method' => true, - 'no_unreachable_default_argument_value' => true, - 'no_unset_on_property' => true, - 'no_unused_imports' => true, - 'no_useless_else' => true, - 'no_useless_return' => true, - 'no_whitespace_before_comma_in_array' => true, - 'no_whitespace_in_blank_line' => true, - 'non_printable_character' => true, - 'normalize_index_brace' => true, - 'object_operator_without_whitespace' => true, - 'ordered_class_elements' => [ - 'order' => [ - 'use_trait', - 'constant_public', - 'constant_protected', - 'constant_private', - 'property_public_static', - 'property_protected_static', - 'property_private_static', - 'property_public', - 'property_protected', - 'property_private', - 'method_public_static', - 'construct', - 'destruct', - 'magic', - 'phpunit', - 'method_public', - 'method_protected', - 'method_private', - 'method_protected_static', - 'method_private_static', - ], - ], - 'ordered_imports' => true, - 'phpdoc_add_missing_param_annotation' => true, - 'phpdoc_align' => true, - 'phpdoc_annotation_without_dot' => true, - 'phpdoc_indent' => true, - 'phpdoc_no_access' => true, - 'phpdoc_no_empty_return' => true, - 'phpdoc_no_package' => true, - 'phpdoc_order' => true, - 'phpdoc_return_self_reference' => true, - 'phpdoc_scalar' => true, - 'phpdoc_separation' => true, - 'phpdoc_single_line_var_spacing' => true, - 'phpdoc_to_comment' => true, - 'phpdoc_trim' => true, - 'phpdoc_trim_consecutive_blank_line_separation' => true, - 'phpdoc_types' => true, - 'phpdoc_types_order' => true, - 'phpdoc_var_without_name' => true, - 'pow_to_exponentiation' => true, - 'protected_to_private' => true, - 'return_assignment' => true, - 'return_type_declaration' => ['space_before' => 'none'], - 'self_accessor' => true, - 'semicolon_after_instruction' => true, - 'set_type_to_cast' => true, - 'short_scalar_cast' => true, - 'simplified_null_return' => true, - 'single_blank_line_at_eof' => true, - 'single_import_per_statement' => true, - 'single_line_after_imports' => true, - 'single_quote' => true, - 'standardize_not_equals' => true, - 'ternary_to_null_coalescing' => true, - 'trailing_comma_in_multiline_array' => true, - 'trim_array_spaces' => true, - 'unary_operator_spaces' => true, - 'visibility_required' => true, - 'void_return' => true, - 'whitespace_after_comma_in_array' => true, - ] - ) - ->setFinder( - PhpCsFixer\Finder::create() - ->files() - ->in(__DIR__ . '/src') - ->in(__DIR__ . '/tests') - ); diff --git a/paragonik-backend/vendor/sebastian/resource-operations/ChangeLog.md b/paragonik-backend/vendor/sebastian/resource-operations/ChangeLog.md deleted file mode 100644 index bd21440..0000000 --- a/paragonik-backend/vendor/sebastian/resource-operations/ChangeLog.md +++ /dev/null @@ -1,26 +0,0 @@ -# ChangeLog - -All notable changes are documented in this file using the [Keep a CHANGELOG](https://keepachangelog.com/) principles. - -## [2.0.1] - 2018-10-04 - -### Fixed - -* Functions and methods with nullable parameters of type `resource` are now also considered - -## [2.0.0] - 2018-09-27 - -### Changed - -* [FunctionSignatureMap.php](https://raw.githubusercontent.com/phan/phan/master/src/Phan/Language/Internal/FunctionSignatureMap.php) from `phan/phan` is now used instead of [arginfo.php](https://raw.githubusercontent.com/rlerdorf/phan/master/includes/arginfo.php) from `rlerdorf/phan` - -### Removed - -* This component is no longer supported on PHP 5.6 and PHP 7.0 - -## 1.0.0 - 2015-07-28 - -* Initial release - -[2.0.1]: https://github.com/sebastianbergmann/comparator/compare/2.0.0...2.0.1 -[2.0.0]: https://github.com/sebastianbergmann/comparator/compare/1.0.0...2.0.0 diff --git a/paragonik-backend/vendor/sebastian/resource-operations/LICENSE b/paragonik-backend/vendor/sebastian/resource-operations/LICENSE deleted file mode 100644 index 2727218..0000000 --- a/paragonik-backend/vendor/sebastian/resource-operations/LICENSE +++ /dev/null @@ -1,33 +0,0 @@ -Resource Operations - -Copyright (c) 2015-2018, Sebastian Bergmann . -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of Sebastian Bergmann nor the names of his - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. diff --git a/paragonik-backend/vendor/sebastian/resource-operations/README.md b/paragonik-backend/vendor/sebastian/resource-operations/README.md deleted file mode 100644 index 88b05cc..0000000 --- a/paragonik-backend/vendor/sebastian/resource-operations/README.md +++ /dev/null @@ -1,14 +0,0 @@ -# Resource Operations - -Provides a list of PHP built-in functions that operate on resources. - -## Installation - -You can add this library as a local, per-project dependency to your project using [Composer](https://getcomposer.org/): - - composer require sebastian/resource-operations - -If you only need this library during development, for instance to run your project's test suite, then you should add it as a development-time dependency: - - composer require --dev sebastian/resource-operations - diff --git a/paragonik-backend/vendor/sebastian/resource-operations/build.xml b/paragonik-backend/vendor/sebastian/resource-operations/build.xml deleted file mode 100644 index 695ffa8..0000000 --- a/paragonik-backend/vendor/sebastian/resource-operations/build.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/paragonik-backend/vendor/sebastian/resource-operations/build/generate.php b/paragonik-backend/vendor/sebastian/resource-operations/build/generate.php deleted file mode 100644 index 0354dc4..0000000 --- a/paragonik-backend/vendor/sebastian/resource-operations/build/generate.php +++ /dev/null @@ -1,65 +0,0 @@ -#!/usr/bin/env php - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -$functions = require __DIR__ . '/FunctionSignatureMap.php'; -$resourceFunctions = []; - -foreach ($functions as $function => $arguments) { - foreach ($arguments as $argument) { - if (strpos($argument, '?') === 0) { - $argument = substr($argument, 1); - } - - if ($argument === 'resource') { - $resourceFunctions[] = explode('\'', $function)[0]; - } - } -} - -$resourceFunctions = array_unique($resourceFunctions); -sort($resourceFunctions); - -$buffer = << - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace SebastianBergmann\ResourceOperations; - -final class ResourceOperations -{ - /** - * @return string[] - */ - public static function getFunctions(): array - { - return [ - -EOT; - -foreach ($resourceFunctions as $function) { - $buffer .= sprintf(" '%s',\n", $function); -} - -$buffer .= <<< EOT - ]; - } -} - -EOT; - -file_put_contents(__DIR__ . '/../src/ResourceOperations.php', $buffer); - diff --git a/paragonik-backend/vendor/sebastian/resource-operations/composer.json b/paragonik-backend/vendor/sebastian/resource-operations/composer.json deleted file mode 100644 index a5e2320..0000000 --- a/paragonik-backend/vendor/sebastian/resource-operations/composer.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "name": "sebastian/resource-operations", - "description": "Provides a list of PHP built-in functions that operate on resources", - "homepage": "https://www.github.com/sebastianbergmann/resource-operations", - "license": "BSD-3-Clause", - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "require": { - "php": "^7.1" - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "config": { - "platform": { - "php": "7.1.0" - }, - "optimize-autoloader": true, - "sort-packages": true - }, - "extra": { - "branch-alias": { - "dev-master": "2.0-dev" - } - } -} - diff --git a/paragonik-backend/vendor/sebastian/resource-operations/src/ResourceOperations.php b/paragonik-backend/vendor/sebastian/resource-operations/src/ResourceOperations.php deleted file mode 100644 index f3911f3..0000000 --- a/paragonik-backend/vendor/sebastian/resource-operations/src/ResourceOperations.php +++ /dev/null @@ -1,2232 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace SebastianBergmann\ResourceOperations; - -final class ResourceOperations -{ - /** - * @return string[] - */ - public static function getFunctions(): array - { - return [ - 'Directory::close', - 'Directory::read', - 'Directory::rewind', - 'DirectoryIterator::openFile', - 'FilesystemIterator::openFile', - 'Gmagick::readimagefile', - 'HttpResponse::getRequestBodyStream', - 'HttpResponse::getStream', - 'HttpResponse::setStream', - 'Imagick::pingImageFile', - 'Imagick::readImageFile', - 'Imagick::writeImageFile', - 'Imagick::writeImagesFile', - 'MongoGridFSCursor::__construct', - 'MongoGridFSFile::getResource', - 'MysqlndUhConnection::stmtInit', - 'MysqlndUhConnection::storeResult', - 'MysqlndUhConnection::useResult', - 'PDF_activate_item', - 'PDF_add_launchlink', - 'PDF_add_locallink', - 'PDF_add_nameddest', - 'PDF_add_note', - 'PDF_add_pdflink', - 'PDF_add_table_cell', - 'PDF_add_textflow', - 'PDF_add_thumbnail', - 'PDF_add_weblink', - 'PDF_arc', - 'PDF_arcn', - 'PDF_attach_file', - 'PDF_begin_document', - 'PDF_begin_font', - 'PDF_begin_glyph', - 'PDF_begin_item', - 'PDF_begin_layer', - 'PDF_begin_page', - 'PDF_begin_page_ext', - 'PDF_begin_pattern', - 'PDF_begin_template', - 'PDF_begin_template_ext', - 'PDF_circle', - 'PDF_clip', - 'PDF_close', - 'PDF_close_image', - 'PDF_close_pdi', - 'PDF_close_pdi_page', - 'PDF_closepath', - 'PDF_closepath_fill_stroke', - 'PDF_closepath_stroke', - 'PDF_concat', - 'PDF_continue_text', - 'PDF_create_3dview', - 'PDF_create_action', - 'PDF_create_annotation', - 'PDF_create_bookmark', - 'PDF_create_field', - 'PDF_create_fieldgroup', - 'PDF_create_gstate', - 'PDF_create_pvf', - 'PDF_create_textflow', - 'PDF_curveto', - 'PDF_define_layer', - 'PDF_delete', - 'PDF_delete_pvf', - 'PDF_delete_table', - 'PDF_delete_textflow', - 'PDF_encoding_set_char', - 'PDF_end_document', - 'PDF_end_font', - 'PDF_end_glyph', - 'PDF_end_item', - 'PDF_end_layer', - 'PDF_end_page', - 'PDF_end_page_ext', - 'PDF_end_pattern', - 'PDF_end_template', - 'PDF_endpath', - 'PDF_fill', - 'PDF_fill_imageblock', - 'PDF_fill_pdfblock', - 'PDF_fill_stroke', - 'PDF_fill_textblock', - 'PDF_findfont', - 'PDF_fit_image', - 'PDF_fit_pdi_page', - 'PDF_fit_table', - 'PDF_fit_textflow', - 'PDF_fit_textline', - 'PDF_get_apiname', - 'PDF_get_buffer', - 'PDF_get_errmsg', - 'PDF_get_errnum', - 'PDF_get_parameter', - 'PDF_get_pdi_parameter', - 'PDF_get_pdi_value', - 'PDF_get_value', - 'PDF_info_font', - 'PDF_info_matchbox', - 'PDF_info_table', - 'PDF_info_textflow', - 'PDF_info_textline', - 'PDF_initgraphics', - 'PDF_lineto', - 'PDF_load_3ddata', - 'PDF_load_font', - 'PDF_load_iccprofile', - 'PDF_load_image', - 'PDF_makespotcolor', - 'PDF_moveto', - 'PDF_new', - 'PDF_open_ccitt', - 'PDF_open_file', - 'PDF_open_image', - 'PDF_open_image_file', - 'PDF_open_memory_image', - 'PDF_open_pdi', - 'PDF_open_pdi_document', - 'PDF_open_pdi_page', - 'PDF_pcos_get_number', - 'PDF_pcos_get_stream', - 'PDF_pcos_get_string', - 'PDF_place_image', - 'PDF_place_pdi_page', - 'PDF_process_pdi', - 'PDF_rect', - 'PDF_restore', - 'PDF_resume_page', - 'PDF_rotate', - 'PDF_save', - 'PDF_scale', - 'PDF_set_border_color', - 'PDF_set_border_dash', - 'PDF_set_border_style', - 'PDF_set_gstate', - 'PDF_set_info', - 'PDF_set_layer_dependency', - 'PDF_set_parameter', - 'PDF_set_text_pos', - 'PDF_set_value', - 'PDF_setcolor', - 'PDF_setdash', - 'PDF_setdashpattern', - 'PDF_setflat', - 'PDF_setfont', - 'PDF_setgray', - 'PDF_setgray_fill', - 'PDF_setgray_stroke', - 'PDF_setlinecap', - 'PDF_setlinejoin', - 'PDF_setlinewidth', - 'PDF_setmatrix', - 'PDF_setmiterlimit', - 'PDF_setrgbcolor', - 'PDF_setrgbcolor_fill', - 'PDF_setrgbcolor_stroke', - 'PDF_shading', - 'PDF_shading_pattern', - 'PDF_shfill', - 'PDF_show', - 'PDF_show_boxed', - 'PDF_show_xy', - 'PDF_skew', - 'PDF_stringwidth', - 'PDF_stroke', - 'PDF_suspend_page', - 'PDF_translate', - 'PDF_utf16_to_utf8', - 'PDF_utf32_to_utf16', - 'PDF_utf8_to_utf16', - 'PDO::pgsqlLOBOpen', - 'RarEntry::getStream', - 'SQLite3::openBlob', - 'SWFMovie::saveToFile', - 'SplFileInfo::openFile', - 'SplFileObject::openFile', - 'SplTempFileObject::openFile', - 'V8Js::compileString', - 'V8Js::executeScript', - 'Vtiful\Kernel\Excel::setColumn', - 'Vtiful\Kernel\Excel::setRow', - 'Vtiful\Kernel\Format::align', - 'Vtiful\Kernel\Format::bold', - 'Vtiful\Kernel\Format::italic', - 'Vtiful\Kernel\Format::underline', - 'XMLWriter::openMemory', - 'XMLWriter::openURI', - 'ZipArchive::getStream', - 'Zookeeper::setLogStream', - 'apc_bin_dumpfile', - 'apc_bin_loadfile', - 'bbcode_add_element', - 'bbcode_add_smiley', - 'bbcode_create', - 'bbcode_destroy', - 'bbcode_parse', - 'bbcode_set_arg_parser', - 'bbcode_set_flags', - 'bcompiler_read', - 'bcompiler_write_class', - 'bcompiler_write_constant', - 'bcompiler_write_exe_footer', - 'bcompiler_write_file', - 'bcompiler_write_footer', - 'bcompiler_write_function', - 'bcompiler_write_functions_from_file', - 'bcompiler_write_header', - 'bcompiler_write_included_filename', - 'bzclose', - 'bzerrno', - 'bzerror', - 'bzerrstr', - 'bzflush', - 'bzopen', - 'bzread', - 'bzwrite', - 'cairo_surface_write_to_png', - 'closedir', - 'copy', - 'crack_closedict', - 'crack_opendict', - 'cubrid_bind', - 'cubrid_close_prepare', - 'cubrid_close_request', - 'cubrid_col_get', - 'cubrid_col_size', - 'cubrid_column_names', - 'cubrid_column_types', - 'cubrid_commit', - 'cubrid_connect', - 'cubrid_connect_with_url', - 'cubrid_current_oid', - 'cubrid_db_parameter', - 'cubrid_disconnect', - 'cubrid_drop', - 'cubrid_fetch', - 'cubrid_free_result', - 'cubrid_get', - 'cubrid_get_autocommit', - 'cubrid_get_charset', - 'cubrid_get_class_name', - 'cubrid_get_db_parameter', - 'cubrid_get_query_timeout', - 'cubrid_get_server_info', - 'cubrid_insert_id', - 'cubrid_is_instance', - 'cubrid_lob2_bind', - 'cubrid_lob2_close', - 'cubrid_lob2_export', - 'cubrid_lob2_import', - 'cubrid_lob2_new', - 'cubrid_lob2_read', - 'cubrid_lob2_seek', - 'cubrid_lob2_seek64', - 'cubrid_lob2_size', - 'cubrid_lob2_size64', - 'cubrid_lob2_tell', - 'cubrid_lob2_tell64', - 'cubrid_lob2_write', - 'cubrid_lob_export', - 'cubrid_lob_get', - 'cubrid_lob_send', - 'cubrid_lob_size', - 'cubrid_lock_read', - 'cubrid_lock_write', - 'cubrid_move_cursor', - 'cubrid_next_result', - 'cubrid_num_cols', - 'cubrid_num_rows', - 'cubrid_pconnect', - 'cubrid_pconnect_with_url', - 'cubrid_prepare', - 'cubrid_put', - 'cubrid_query', - 'cubrid_rollback', - 'cubrid_schema', - 'cubrid_seq_add', - 'cubrid_seq_drop', - 'cubrid_seq_insert', - 'cubrid_seq_put', - 'cubrid_set_add', - 'cubrid_set_autocommit', - 'cubrid_set_db_parameter', - 'cubrid_set_drop', - 'cubrid_set_query_timeout', - 'cubrid_unbuffered_query', - 'curl_close', - 'curl_copy_handle', - 'curl_errno', - 'curl_error', - 'curl_escape', - 'curl_exec', - 'curl_getinfo', - 'curl_multi_add_handle', - 'curl_multi_close', - 'curl_multi_errno', - 'curl_multi_exec', - 'curl_multi_getcontent', - 'curl_multi_info_read', - 'curl_multi_remove_handle', - 'curl_multi_select', - 'curl_multi_setopt', - 'curl_pause', - 'curl_reset', - 'curl_setopt', - 'curl_setopt_array', - 'curl_share_close', - 'curl_share_errno', - 'curl_share_init', - 'curl_share_setopt', - 'curl_unescape', - 'cyrus_authenticate', - 'cyrus_bind', - 'cyrus_close', - 'cyrus_connect', - 'cyrus_query', - 'cyrus_unbind', - 'db2_autocommit', - 'db2_bind_param', - 'db2_client_info', - 'db2_close', - 'db2_column_privileges', - 'db2_columns', - 'db2_commit', - 'db2_conn_error', - 'db2_conn_errormsg', - 'db2_connect', - 'db2_cursor_type', - 'db2_exec', - 'db2_execute', - 'db2_fetch_array', - 'db2_fetch_assoc', - 'db2_fetch_both', - 'db2_fetch_object', - 'db2_fetch_row', - 'db2_field_display_size', - 'db2_field_name', - 'db2_field_num', - 'db2_field_precision', - 'db2_field_scale', - 'db2_field_type', - 'db2_field_width', - 'db2_foreign_keys', - 'db2_free_result', - 'db2_free_stmt', - 'db2_get_option', - 'db2_last_insert_id', - 'db2_lob_read', - 'db2_next_result', - 'db2_num_fields', - 'db2_num_rows', - 'db2_pclose', - 'db2_pconnect', - 'db2_prepare', - 'db2_primary_keys', - 'db2_procedure_columns', - 'db2_procedures', - 'db2_result', - 'db2_rollback', - 'db2_server_info', - 'db2_set_option', - 'db2_special_columns', - 'db2_statistics', - 'db2_stmt_error', - 'db2_stmt_errormsg', - 'db2_table_privileges', - 'db2_tables', - 'dba_close', - 'dba_delete', - 'dba_exists', - 'dba_fetch', - 'dba_firstkey', - 'dba_insert', - 'dba_nextkey', - 'dba_open', - 'dba_optimize', - 'dba_popen', - 'dba_replace', - 'dba_sync', - 'dbplus_add', - 'dbplus_aql', - 'dbplus_close', - 'dbplus_curr', - 'dbplus_find', - 'dbplus_first', - 'dbplus_flush', - 'dbplus_freelock', - 'dbplus_freerlocks', - 'dbplus_getlock', - 'dbplus_getunique', - 'dbplus_info', - 'dbplus_last', - 'dbplus_lockrel', - 'dbplus_next', - 'dbplus_open', - 'dbplus_prev', - 'dbplus_rchperm', - 'dbplus_rcreate', - 'dbplus_rcrtexact', - 'dbplus_rcrtlike', - 'dbplus_restorepos', - 'dbplus_rkeys', - 'dbplus_ropen', - 'dbplus_rquery', - 'dbplus_rrename', - 'dbplus_rsecindex', - 'dbplus_runlink', - 'dbplus_rzap', - 'dbplus_savepos', - 'dbplus_setindex', - 'dbplus_setindexbynumber', - 'dbplus_sql', - 'dbplus_tremove', - 'dbplus_undo', - 'dbplus_undoprepare', - 'dbplus_unlockrel', - 'dbplus_unselect', - 'dbplus_update', - 'dbplus_xlockrel', - 'dbplus_xunlockrel', - 'deflate_add', - 'dio_close', - 'dio_fcntl', - 'dio_open', - 'dio_read', - 'dio_seek', - 'dio_stat', - 'dio_tcsetattr', - 'dio_truncate', - 'dio_write', - 'dir', - 'eio_busy', - 'eio_cancel', - 'eio_chmod', - 'eio_chown', - 'eio_close', - 'eio_custom', - 'eio_dup2', - 'eio_fallocate', - 'eio_fchmod', - 'eio_fchown', - 'eio_fdatasync', - 'eio_fstat', - 'eio_fstatvfs', - 'eio_fsync', - 'eio_ftruncate', - 'eio_futime', - 'eio_get_last_error', - 'eio_grp', - 'eio_grp_add', - 'eio_grp_cancel', - 'eio_grp_limit', - 'eio_link', - 'eio_lstat', - 'eio_mkdir', - 'eio_mknod', - 'eio_nop', - 'eio_open', - 'eio_read', - 'eio_readahead', - 'eio_readdir', - 'eio_readlink', - 'eio_realpath', - 'eio_rename', - 'eio_rmdir', - 'eio_seek', - 'eio_sendfile', - 'eio_stat', - 'eio_statvfs', - 'eio_symlink', - 'eio_sync', - 'eio_sync_file_range', - 'eio_syncfs', - 'eio_truncate', - 'eio_unlink', - 'eio_utime', - 'eio_write', - 'enchant_broker_describe', - 'enchant_broker_dict_exists', - 'enchant_broker_free', - 'enchant_broker_free_dict', - 'enchant_broker_get_dict_path', - 'enchant_broker_get_error', - 'enchant_broker_init', - 'enchant_broker_list_dicts', - 'enchant_broker_request_dict', - 'enchant_broker_request_pwl_dict', - 'enchant_broker_set_dict_path', - 'enchant_broker_set_ordering', - 'enchant_dict_add_to_personal', - 'enchant_dict_add_to_session', - 'enchant_dict_check', - 'enchant_dict_describe', - 'enchant_dict_get_error', - 'enchant_dict_is_in_session', - 'enchant_dict_quick_check', - 'enchant_dict_store_replacement', - 'enchant_dict_suggest', - 'event_add', - 'event_base_free', - 'event_base_loop', - 'event_base_loopbreak', - 'event_base_loopexit', - 'event_base_new', - 'event_base_priority_init', - 'event_base_reinit', - 'event_base_set', - 'event_buffer_base_set', - 'event_buffer_disable', - 'event_buffer_enable', - 'event_buffer_fd_set', - 'event_buffer_free', - 'event_buffer_new', - 'event_buffer_priority_set', - 'event_buffer_read', - 'event_buffer_set_callback', - 'event_buffer_timeout_set', - 'event_buffer_watermark_set', - 'event_buffer_write', - 'event_del', - 'event_free', - 'event_new', - 'event_priority_set', - 'event_set', - 'event_timer_add', - 'event_timer_del', - 'event_timer_pending', - 'event_timer_set', - 'expect_expectl', - 'expect_popen', - 'fam_cancel_monitor', - 'fam_close', - 'fam_monitor_collection', - 'fam_monitor_directory', - 'fam_monitor_file', - 'fam_next_event', - 'fam_open', - 'fam_pending', - 'fam_resume_monitor', - 'fam_suspend_monitor', - 'fann_cascadetrain_on_data', - 'fann_cascadetrain_on_file', - 'fann_clear_scaling_params', - 'fann_copy', - 'fann_create_from_file', - 'fann_create_shortcut_array', - 'fann_create_standard', - 'fann_create_standard_array', - 'fann_create_train', - 'fann_create_train_from_callback', - 'fann_descale_input', - 'fann_descale_output', - 'fann_descale_train', - 'fann_destroy', - 'fann_destroy_train', - 'fann_duplicate_train_data', - 'fann_get_MSE', - 'fann_get_activation_function', - 'fann_get_activation_steepness', - 'fann_get_bias_array', - 'fann_get_bit_fail', - 'fann_get_bit_fail_limit', - 'fann_get_cascade_activation_functions', - 'fann_get_cascade_activation_functions_count', - 'fann_get_cascade_activation_steepnesses', - 'fann_get_cascade_activation_steepnesses_count', - 'fann_get_cascade_candidate_change_fraction', - 'fann_get_cascade_candidate_limit', - 'fann_get_cascade_candidate_stagnation_epochs', - 'fann_get_cascade_max_cand_epochs', - 'fann_get_cascade_max_out_epochs', - 'fann_get_cascade_min_cand_epochs', - 'fann_get_cascade_min_out_epochs', - 'fann_get_cascade_num_candidate_groups', - 'fann_get_cascade_num_candidates', - 'fann_get_cascade_output_change_fraction', - 'fann_get_cascade_output_stagnation_epochs', - 'fann_get_cascade_weight_multiplier', - 'fann_get_connection_array', - 'fann_get_connection_rate', - 'fann_get_errno', - 'fann_get_errstr', - 'fann_get_layer_array', - 'fann_get_learning_momentum', - 'fann_get_learning_rate', - 'fann_get_network_type', - 'fann_get_num_input', - 'fann_get_num_layers', - 'fann_get_num_output', - 'fann_get_quickprop_decay', - 'fann_get_quickprop_mu', - 'fann_get_rprop_decrease_factor', - 'fann_get_rprop_delta_max', - 'fann_get_rprop_delta_min', - 'fann_get_rprop_delta_zero', - 'fann_get_rprop_increase_factor', - 'fann_get_sarprop_step_error_shift', - 'fann_get_sarprop_step_error_threshold_factor', - 'fann_get_sarprop_temperature', - 'fann_get_sarprop_weight_decay_shift', - 'fann_get_total_connections', - 'fann_get_total_neurons', - 'fann_get_train_error_function', - 'fann_get_train_stop_function', - 'fann_get_training_algorithm', - 'fann_init_weights', - 'fann_length_train_data', - 'fann_merge_train_data', - 'fann_num_input_train_data', - 'fann_num_output_train_data', - 'fann_randomize_weights', - 'fann_read_train_from_file', - 'fann_reset_errno', - 'fann_reset_errstr', - 'fann_run', - 'fann_save', - 'fann_save_train', - 'fann_scale_input', - 'fann_scale_input_train_data', - 'fann_scale_output', - 'fann_scale_output_train_data', - 'fann_scale_train', - 'fann_scale_train_data', - 'fann_set_activation_function', - 'fann_set_activation_function_hidden', - 'fann_set_activation_function_layer', - 'fann_set_activation_function_output', - 'fann_set_activation_steepness', - 'fann_set_activation_steepness_hidden', - 'fann_set_activation_steepness_layer', - 'fann_set_activation_steepness_output', - 'fann_set_bit_fail_limit', - 'fann_set_callback', - 'fann_set_cascade_activation_functions', - 'fann_set_cascade_activation_steepnesses', - 'fann_set_cascade_candidate_change_fraction', - 'fann_set_cascade_candidate_limit', - 'fann_set_cascade_candidate_stagnation_epochs', - 'fann_set_cascade_max_cand_epochs', - 'fann_set_cascade_max_out_epochs', - 'fann_set_cascade_min_cand_epochs', - 'fann_set_cascade_min_out_epochs', - 'fann_set_cascade_num_candidate_groups', - 'fann_set_cascade_output_change_fraction', - 'fann_set_cascade_output_stagnation_epochs', - 'fann_set_cascade_weight_multiplier', - 'fann_set_error_log', - 'fann_set_input_scaling_params', - 'fann_set_learning_momentum', - 'fann_set_learning_rate', - 'fann_set_output_scaling_params', - 'fann_set_quickprop_decay', - 'fann_set_quickprop_mu', - 'fann_set_rprop_decrease_factor', - 'fann_set_rprop_delta_max', - 'fann_set_rprop_delta_min', - 'fann_set_rprop_delta_zero', - 'fann_set_rprop_increase_factor', - 'fann_set_sarprop_step_error_shift', - 'fann_set_sarprop_step_error_threshold_factor', - 'fann_set_sarprop_temperature', - 'fann_set_sarprop_weight_decay_shift', - 'fann_set_scaling_params', - 'fann_set_train_error_function', - 'fann_set_train_stop_function', - 'fann_set_training_algorithm', - 'fann_set_weight', - 'fann_set_weight_array', - 'fann_shuffle_train_data', - 'fann_subset_train_data', - 'fann_test', - 'fann_test_data', - 'fann_train', - 'fann_train_epoch', - 'fann_train_on_data', - 'fann_train_on_file', - 'fbsql_affected_rows', - 'fbsql_autocommit', - 'fbsql_blob_size', - 'fbsql_change_user', - 'fbsql_clob_size', - 'fbsql_close', - 'fbsql_commit', - 'fbsql_connect', - 'fbsql_create_blob', - 'fbsql_create_clob', - 'fbsql_create_db', - 'fbsql_data_seek', - 'fbsql_database', - 'fbsql_database_password', - 'fbsql_db_query', - 'fbsql_db_status', - 'fbsql_drop_db', - 'fbsql_errno', - 'fbsql_error', - 'fbsql_fetch_array', - 'fbsql_fetch_assoc', - 'fbsql_fetch_field', - 'fbsql_fetch_lengths', - 'fbsql_fetch_object', - 'fbsql_fetch_row', - 'fbsql_field_flags', - 'fbsql_field_len', - 'fbsql_field_name', - 'fbsql_field_seek', - 'fbsql_field_table', - 'fbsql_field_type', - 'fbsql_free_result', - 'fbsql_get_autostart_info', - 'fbsql_hostname', - 'fbsql_insert_id', - 'fbsql_list_dbs', - 'fbsql_list_fields', - 'fbsql_list_tables', - 'fbsql_next_result', - 'fbsql_num_fields', - 'fbsql_num_rows', - 'fbsql_password', - 'fbsql_pconnect', - 'fbsql_query', - 'fbsql_read_blob', - 'fbsql_read_clob', - 'fbsql_result', - 'fbsql_rollback', - 'fbsql_rows_fetched', - 'fbsql_select_db', - 'fbsql_set_characterset', - 'fbsql_set_lob_mode', - 'fbsql_set_password', - 'fbsql_set_transaction', - 'fbsql_start_db', - 'fbsql_stop_db', - 'fbsql_table_name', - 'fbsql_username', - 'fclose', - 'fdf_add_doc_javascript', - 'fdf_add_template', - 'fdf_close', - 'fdf_create', - 'fdf_enum_values', - 'fdf_get_ap', - 'fdf_get_attachment', - 'fdf_get_encoding', - 'fdf_get_file', - 'fdf_get_flags', - 'fdf_get_opt', - 'fdf_get_status', - 'fdf_get_value', - 'fdf_get_version', - 'fdf_next_field_name', - 'fdf_open', - 'fdf_open_string', - 'fdf_remove_item', - 'fdf_save', - 'fdf_save_string', - 'fdf_set_ap', - 'fdf_set_encoding', - 'fdf_set_file', - 'fdf_set_flags', - 'fdf_set_javascript_action', - 'fdf_set_on_import_javascript', - 'fdf_set_opt', - 'fdf_set_status', - 'fdf_set_submit_form_action', - 'fdf_set_target_frame', - 'fdf_set_value', - 'fdf_set_version', - 'feof', - 'fflush', - 'ffmpeg_frame::__construct', - 'ffmpeg_frame::toGDImage', - 'fgetc', - 'fgetcsv', - 'fgets', - 'fgetss', - 'file', - 'file_get_contents', - 'file_put_contents', - 'finfo::buffer', - 'finfo::file', - 'finfo_buffer', - 'finfo_close', - 'finfo_file', - 'finfo_open', - 'finfo_set_flags', - 'flock', - 'fopen', - 'fpassthru', - 'fprintf', - 'fputcsv', - 'fputs', - 'fread', - 'fscanf', - 'fseek', - 'fstat', - 'ftell', - 'ftp_alloc', - 'ftp_append', - 'ftp_cdup', - 'ftp_chdir', - 'ftp_chmod', - 'ftp_close', - 'ftp_delete', - 'ftp_exec', - 'ftp_fget', - 'ftp_fput', - 'ftp_get', - 'ftp_get_option', - 'ftp_login', - 'ftp_mdtm', - 'ftp_mkdir', - 'ftp_mlsd', - 'ftp_nb_continue', - 'ftp_nb_fget', - 'ftp_nb_fput', - 'ftp_nb_get', - 'ftp_nb_put', - 'ftp_nlist', - 'ftp_pasv', - 'ftp_put', - 'ftp_pwd', - 'ftp_quit', - 'ftp_raw', - 'ftp_rawlist', - 'ftp_rename', - 'ftp_rmdir', - 'ftp_set_option', - 'ftp_site', - 'ftp_size', - 'ftp_systype', - 'ftruncate', - 'fwrite', - 'get_resource_type', - 'gmp_div', - 'gnupg::init', - 'gnupg_adddecryptkey', - 'gnupg_addencryptkey', - 'gnupg_addsignkey', - 'gnupg_cleardecryptkeys', - 'gnupg_clearencryptkeys', - 'gnupg_clearsignkeys', - 'gnupg_decrypt', - 'gnupg_decryptverify', - 'gnupg_encrypt', - 'gnupg_encryptsign', - 'gnupg_export', - 'gnupg_geterror', - 'gnupg_getprotocol', - 'gnupg_import', - 'gnupg_init', - 'gnupg_keyinfo', - 'gnupg_setarmor', - 'gnupg_seterrormode', - 'gnupg_setsignmode', - 'gnupg_sign', - 'gnupg_verify', - 'gupnp_context_get_host_ip', - 'gupnp_context_get_port', - 'gupnp_context_get_subscription_timeout', - 'gupnp_context_host_path', - 'gupnp_context_new', - 'gupnp_context_set_subscription_timeout', - 'gupnp_context_timeout_add', - 'gupnp_context_unhost_path', - 'gupnp_control_point_browse_start', - 'gupnp_control_point_browse_stop', - 'gupnp_control_point_callback_set', - 'gupnp_control_point_new', - 'gupnp_device_action_callback_set', - 'gupnp_device_info_get', - 'gupnp_device_info_get_service', - 'gupnp_root_device_get_available', - 'gupnp_root_device_get_relative_location', - 'gupnp_root_device_new', - 'gupnp_root_device_set_available', - 'gupnp_root_device_start', - 'gupnp_root_device_stop', - 'gupnp_service_action_get', - 'gupnp_service_action_return', - 'gupnp_service_action_return_error', - 'gupnp_service_action_set', - 'gupnp_service_freeze_notify', - 'gupnp_service_info_get', - 'gupnp_service_info_get_introspection', - 'gupnp_service_introspection_get_state_variable', - 'gupnp_service_notify', - 'gupnp_service_proxy_action_get', - 'gupnp_service_proxy_action_set', - 'gupnp_service_proxy_add_notify', - 'gupnp_service_proxy_callback_set', - 'gupnp_service_proxy_get_subscribed', - 'gupnp_service_proxy_remove_notify', - 'gupnp_service_proxy_send_action', - 'gupnp_service_proxy_set_subscribed', - 'gupnp_service_thaw_notify', - 'gzclose', - 'gzeof', - 'gzgetc', - 'gzgets', - 'gzgetss', - 'gzpassthru', - 'gzputs', - 'gzread', - 'gzrewind', - 'gzseek', - 'gztell', - 'gzwrite', - 'hash_update_stream', - 'http\Env\Response::send', - 'http_get_request_body_stream', - 'ibase_add_user', - 'ibase_affected_rows', - 'ibase_backup', - 'ibase_blob_add', - 'ibase_blob_cancel', - 'ibase_blob_close', - 'ibase_blob_create', - 'ibase_blob_get', - 'ibase_blob_open', - 'ibase_close', - 'ibase_commit', - 'ibase_commit_ret', - 'ibase_connect', - 'ibase_db_info', - 'ibase_delete_user', - 'ibase_drop_db', - 'ibase_execute', - 'ibase_fetch_assoc', - 'ibase_fetch_object', - 'ibase_fetch_row', - 'ibase_field_info', - 'ibase_free_event_handler', - 'ibase_free_query', - 'ibase_free_result', - 'ibase_gen_id', - 'ibase_maintain_db', - 'ibase_modify_user', - 'ibase_name_result', - 'ibase_num_fields', - 'ibase_num_params', - 'ibase_param_info', - 'ibase_pconnect', - 'ibase_prepare', - 'ibase_query', - 'ibase_restore', - 'ibase_rollback', - 'ibase_rollback_ret', - 'ibase_server_info', - 'ibase_service_attach', - 'ibase_service_detach', - 'ibase_set_event_handler', - 'ibase_trans', - 'ifx_affected_rows', - 'ifx_close', - 'ifx_connect', - 'ifx_do', - 'ifx_error', - 'ifx_fetch_row', - 'ifx_fieldproperties', - 'ifx_fieldtypes', - 'ifx_free_result', - 'ifx_getsqlca', - 'ifx_htmltbl_result', - 'ifx_num_fields', - 'ifx_num_rows', - 'ifx_pconnect', - 'ifx_prepare', - 'ifx_query', - 'image2wbmp', - 'imageaffine', - 'imagealphablending', - 'imageantialias', - 'imagearc', - 'imagebmp', - 'imagechar', - 'imagecharup', - 'imagecolorallocate', - 'imagecolorallocatealpha', - 'imagecolorat', - 'imagecolorclosest', - 'imagecolorclosestalpha', - 'imagecolorclosesthwb', - 'imagecolordeallocate', - 'imagecolorexact', - 'imagecolorexactalpha', - 'imagecolormatch', - 'imagecolorresolve', - 'imagecolorresolvealpha', - 'imagecolorset', - 'imagecolorsforindex', - 'imagecolorstotal', - 'imagecolortransparent', - 'imageconvolution', - 'imagecopy', - 'imagecopymerge', - 'imagecopymergegray', - 'imagecopyresampled', - 'imagecopyresized', - 'imagecrop', - 'imagecropauto', - 'imagedashedline', - 'imagedestroy', - 'imageellipse', - 'imagefill', - 'imagefilledarc', - 'imagefilledellipse', - 'imagefilledpolygon', - 'imagefilledrectangle', - 'imagefilltoborder', - 'imagefilter', - 'imageflip', - 'imagefttext', - 'imagegammacorrect', - 'imagegd', - 'imagegd2', - 'imagegetclip', - 'imagegif', - 'imagegrabscreen', - 'imagegrabwindow', - 'imageinterlace', - 'imageistruecolor', - 'imagejpeg', - 'imagelayereffect', - 'imageline', - 'imageopenpolygon', - 'imagepalettecopy', - 'imagepalettetotruecolor', - 'imagepng', - 'imagepolygon', - 'imagepsencodefont', - 'imagepsextendfont', - 'imagepsfreefont', - 'imagepsloadfont', - 'imagepsslantfont', - 'imagepstext', - 'imagerectangle', - 'imageresolution', - 'imagerotate', - 'imagesavealpha', - 'imagescale', - 'imagesetbrush', - 'imagesetclip', - 'imagesetinterpolation', - 'imagesetpixel', - 'imagesetstyle', - 'imagesetthickness', - 'imagesettile', - 'imagestring', - 'imagestringup', - 'imagesx', - 'imagesy', - 'imagetruecolortopalette', - 'imagettftext', - 'imagewbmp', - 'imagewebp', - 'imagexbm', - 'imap_append', - 'imap_body', - 'imap_bodystruct', - 'imap_check', - 'imap_clearflag_full', - 'imap_close', - 'imap_create', - 'imap_createmailbox', - 'imap_delete', - 'imap_deletemailbox', - 'imap_expunge', - 'imap_fetch_overview', - 'imap_fetchbody', - 'imap_fetchheader', - 'imap_fetchmime', - 'imap_fetchstructure', - 'imap_fetchtext', - 'imap_gc', - 'imap_get_quota', - 'imap_get_quotaroot', - 'imap_getacl', - 'imap_getmailboxes', - 'imap_getsubscribed', - 'imap_header', - 'imap_headerinfo', - 'imap_headers', - 'imap_list', - 'imap_listmailbox', - 'imap_listscan', - 'imap_listsubscribed', - 'imap_lsub', - 'imap_mail_copy', - 'imap_mail_move', - 'imap_mailboxmsginfo', - 'imap_msgno', - 'imap_num_msg', - 'imap_num_recent', - 'imap_ping', - 'imap_rename', - 'imap_renamemailbox', - 'imap_reopen', - 'imap_savebody', - 'imap_scan', - 'imap_scanmailbox', - 'imap_search', - 'imap_set_quota', - 'imap_setacl', - 'imap_setflag_full', - 'imap_sort', - 'imap_status', - 'imap_subscribe', - 'imap_thread', - 'imap_uid', - 'imap_undelete', - 'imap_unsubscribe', - 'inflate_add', - 'inflate_get_read_len', - 'inflate_get_status', - 'ingres_autocommit', - 'ingres_autocommit_state', - 'ingres_charset', - 'ingres_close', - 'ingres_commit', - 'ingres_connect', - 'ingres_cursor', - 'ingres_errno', - 'ingres_error', - 'ingres_errsqlstate', - 'ingres_escape_string', - 'ingres_execute', - 'ingres_fetch_array', - 'ingres_fetch_assoc', - 'ingres_fetch_object', - 'ingres_fetch_proc_return', - 'ingres_fetch_row', - 'ingres_field_length', - 'ingres_field_name', - 'ingres_field_nullable', - 'ingres_field_precision', - 'ingres_field_scale', - 'ingres_field_type', - 'ingres_free_result', - 'ingres_next_error', - 'ingres_num_fields', - 'ingres_num_rows', - 'ingres_pconnect', - 'ingres_prepare', - 'ingres_query', - 'ingres_result_seek', - 'ingres_rollback', - 'ingres_set_environment', - 'ingres_unbuffered_query', - 'inotify_add_watch', - 'inotify_init', - 'inotify_queue_len', - 'inotify_read', - 'inotify_rm_watch', - 'kadm5_chpass_principal', - 'kadm5_create_principal', - 'kadm5_delete_principal', - 'kadm5_destroy', - 'kadm5_flush', - 'kadm5_get_policies', - 'kadm5_get_principal', - 'kadm5_get_principals', - 'kadm5_init_with_password', - 'kadm5_modify_principal', - 'ldap_add', - 'ldap_bind', - 'ldap_close', - 'ldap_compare', - 'ldap_control_paged_result', - 'ldap_control_paged_result_response', - 'ldap_count_entries', - 'ldap_delete', - 'ldap_errno', - 'ldap_error', - 'ldap_exop', - 'ldap_exop_passwd', - 'ldap_exop_refresh', - 'ldap_exop_whoami', - 'ldap_first_attribute', - 'ldap_first_entry', - 'ldap_first_reference', - 'ldap_free_result', - 'ldap_get_attributes', - 'ldap_get_dn', - 'ldap_get_entries', - 'ldap_get_option', - 'ldap_get_values', - 'ldap_get_values_len', - 'ldap_mod_add', - 'ldap_mod_del', - 'ldap_mod_replace', - 'ldap_modify', - 'ldap_modify_batch', - 'ldap_next_attribute', - 'ldap_next_entry', - 'ldap_next_reference', - 'ldap_parse_exop', - 'ldap_parse_reference', - 'ldap_parse_result', - 'ldap_rename', - 'ldap_sasl_bind', - 'ldap_set_option', - 'ldap_set_rebind_proc', - 'ldap_sort', - 'ldap_start_tls', - 'ldap_unbind', - 'libxml_set_streams_context', - 'm_checkstatus', - 'm_completeauthorizations', - 'm_connect', - 'm_connectionerror', - 'm_deletetrans', - 'm_destroyconn', - 'm_getcell', - 'm_getcellbynum', - 'm_getcommadelimited', - 'm_getheader', - 'm_initconn', - 'm_iscommadelimited', - 'm_maxconntimeout', - 'm_monitor', - 'm_numcolumns', - 'm_numrows', - 'm_parsecommadelimited', - 'm_responsekeys', - 'm_responseparam', - 'm_returnstatus', - 'm_setblocking', - 'm_setdropfile', - 'm_setip', - 'm_setssl', - 'm_setssl_cafile', - 'm_setssl_files', - 'm_settimeout', - 'm_transactionssent', - 'm_transinqueue', - 'm_transkeyval', - 'm_transnew', - 'm_transsend', - 'm_validateidentifier', - 'm_verifyconnection', - 'm_verifysslcert', - 'mailparse_determine_best_xfer_encoding', - 'mailparse_msg_create', - 'mailparse_msg_extract_part', - 'mailparse_msg_extract_part_file', - 'mailparse_msg_extract_whole_part_file', - 'mailparse_msg_free', - 'mailparse_msg_get_part', - 'mailparse_msg_get_part_data', - 'mailparse_msg_get_structure', - 'mailparse_msg_parse', - 'mailparse_msg_parse_file', - 'mailparse_stream_encode', - 'mailparse_uudecode_all', - 'maxdb::use_result', - 'maxdb_affected_rows', - 'maxdb_connect', - 'maxdb_disable_rpl_parse', - 'maxdb_dump_debug_info', - 'maxdb_embedded_connect', - 'maxdb_enable_reads_from_master', - 'maxdb_enable_rpl_parse', - 'maxdb_errno', - 'maxdb_error', - 'maxdb_fetch_lengths', - 'maxdb_field_tell', - 'maxdb_get_host_info', - 'maxdb_get_proto_info', - 'maxdb_get_server_info', - 'maxdb_get_server_version', - 'maxdb_info', - 'maxdb_init', - 'maxdb_insert_id', - 'maxdb_master_query', - 'maxdb_more_results', - 'maxdb_next_result', - 'maxdb_num_fields', - 'maxdb_num_rows', - 'maxdb_rpl_parse_enabled', - 'maxdb_rpl_probe', - 'maxdb_select_db', - 'maxdb_sqlstate', - 'maxdb_stmt::result_metadata', - 'maxdb_stmt_affected_rows', - 'maxdb_stmt_errno', - 'maxdb_stmt_error', - 'maxdb_stmt_num_rows', - 'maxdb_stmt_param_count', - 'maxdb_stmt_result_metadata', - 'maxdb_stmt_sqlstate', - 'maxdb_thread_id', - 'maxdb_use_result', - 'maxdb_warning_count', - 'mcrypt_enc_get_algorithms_name', - 'mcrypt_enc_get_block_size', - 'mcrypt_enc_get_iv_size', - 'mcrypt_enc_get_key_size', - 'mcrypt_enc_get_modes_name', - 'mcrypt_enc_get_supported_key_sizes', - 'mcrypt_enc_is_block_algorithm', - 'mcrypt_enc_is_block_algorithm_mode', - 'mcrypt_enc_is_block_mode', - 'mcrypt_enc_self_test', - 'mcrypt_generic', - 'mcrypt_generic_deinit', - 'mcrypt_generic_end', - 'mcrypt_generic_init', - 'mcrypt_module_close', - 'mcrypt_module_open', - 'mdecrypt_generic', - 'mkdir', - 'mqseries_back', - 'mqseries_begin', - 'mqseries_close', - 'mqseries_cmit', - 'mqseries_conn', - 'mqseries_connx', - 'mqseries_disc', - 'mqseries_get', - 'mqseries_inq', - 'mqseries_open', - 'mqseries_put', - 'mqseries_put1', - 'mqseries_set', - 'msg_get_queue', - 'msg_receive', - 'msg_remove_queue', - 'msg_send', - 'msg_set_queue', - 'msg_stat_queue', - 'msql_affected_rows', - 'msql_close', - 'msql_connect', - 'msql_create_db', - 'msql_data_seek', - 'msql_db_query', - 'msql_drop_db', - 'msql_fetch_array', - 'msql_fetch_field', - 'msql_fetch_object', - 'msql_fetch_row', - 'msql_field_flags', - 'msql_field_len', - 'msql_field_name', - 'msql_field_seek', - 'msql_field_table', - 'msql_field_type', - 'msql_free_result', - 'msql_list_dbs', - 'msql_list_fields', - 'msql_list_tables', - 'msql_num_fields', - 'msql_num_rows', - 'msql_pconnect', - 'msql_query', - 'msql_result', - 'msql_select_db', - 'mssql_bind', - 'mssql_close', - 'mssql_connect', - 'mssql_data_seek', - 'mssql_execute', - 'mssql_fetch_array', - 'mssql_fetch_assoc', - 'mssql_fetch_batch', - 'mssql_fetch_field', - 'mssql_fetch_object', - 'mssql_fetch_row', - 'mssql_field_length', - 'mssql_field_name', - 'mssql_field_seek', - 'mssql_field_type', - 'mssql_free_result', - 'mssql_free_statement', - 'mssql_init', - 'mssql_next_result', - 'mssql_num_fields', - 'mssql_num_rows', - 'mssql_pconnect', - 'mssql_query', - 'mssql_result', - 'mssql_rows_affected', - 'mssql_select_db', - 'mysql_affected_rows', - 'mysql_client_encoding', - 'mysql_close', - 'mysql_connect', - 'mysql_create_db', - 'mysql_data_seek', - 'mysql_db_name', - 'mysql_db_query', - 'mysql_drop_db', - 'mysql_errno', - 'mysql_error', - 'mysql_fetch_array', - 'mysql_fetch_assoc', - 'mysql_fetch_field', - 'mysql_fetch_lengths', - 'mysql_fetch_object', - 'mysql_fetch_row', - 'mysql_field_flags', - 'mysql_field_len', - 'mysql_field_name', - 'mysql_field_seek', - 'mysql_field_table', - 'mysql_field_type', - 'mysql_free_result', - 'mysql_get_host_info', - 'mysql_get_proto_info', - 'mysql_get_server_info', - 'mysql_info', - 'mysql_insert_id', - 'mysql_list_dbs', - 'mysql_list_fields', - 'mysql_list_processes', - 'mysql_list_tables', - 'mysql_num_fields', - 'mysql_num_rows', - 'mysql_pconnect', - 'mysql_ping', - 'mysql_query', - 'mysql_real_escape_string', - 'mysql_result', - 'mysql_select_db', - 'mysql_set_charset', - 'mysql_stat', - 'mysql_tablename', - 'mysql_thread_id', - 'mysql_unbuffered_query', - 'mysqlnd_uh_convert_to_mysqlnd', - 'ncurses_bottom_panel', - 'ncurses_del_panel', - 'ncurses_delwin', - 'ncurses_getmaxyx', - 'ncurses_getyx', - 'ncurses_hide_panel', - 'ncurses_keypad', - 'ncurses_meta', - 'ncurses_move_panel', - 'ncurses_mvwaddstr', - 'ncurses_new_panel', - 'ncurses_newpad', - 'ncurses_newwin', - 'ncurses_panel_above', - 'ncurses_panel_below', - 'ncurses_panel_window', - 'ncurses_pnoutrefresh', - 'ncurses_prefresh', - 'ncurses_replace_panel', - 'ncurses_show_panel', - 'ncurses_top_panel', - 'ncurses_waddch', - 'ncurses_waddstr', - 'ncurses_wattroff', - 'ncurses_wattron', - 'ncurses_wattrset', - 'ncurses_wborder', - 'ncurses_wclear', - 'ncurses_wcolor_set', - 'ncurses_werase', - 'ncurses_wgetch', - 'ncurses_whline', - 'ncurses_wmouse_trafo', - 'ncurses_wmove', - 'ncurses_wnoutrefresh', - 'ncurses_wrefresh', - 'ncurses_wstandend', - 'ncurses_wstandout', - 'ncurses_wvline', - 'newt_button', - 'newt_button_bar', - 'newt_checkbox', - 'newt_checkbox_get_value', - 'newt_checkbox_set_flags', - 'newt_checkbox_set_value', - 'newt_checkbox_tree', - 'newt_checkbox_tree_add_item', - 'newt_checkbox_tree_find_item', - 'newt_checkbox_tree_get_current', - 'newt_checkbox_tree_get_entry_value', - 'newt_checkbox_tree_get_multi_selection', - 'newt_checkbox_tree_get_selection', - 'newt_checkbox_tree_multi', - 'newt_checkbox_tree_set_current', - 'newt_checkbox_tree_set_entry', - 'newt_checkbox_tree_set_entry_value', - 'newt_checkbox_tree_set_width', - 'newt_compact_button', - 'newt_component_add_callback', - 'newt_component_takes_focus', - 'newt_create_grid', - 'newt_draw_form', - 'newt_entry', - 'newt_entry_get_value', - 'newt_entry_set', - 'newt_entry_set_filter', - 'newt_entry_set_flags', - 'newt_form', - 'newt_form_add_component', - 'newt_form_add_components', - 'newt_form_add_hot_key', - 'newt_form_destroy', - 'newt_form_get_current', - 'newt_form_run', - 'newt_form_set_background', - 'newt_form_set_height', - 'newt_form_set_size', - 'newt_form_set_timer', - 'newt_form_set_width', - 'newt_form_watch_fd', - 'newt_grid_add_components_to_form', - 'newt_grid_basic_window', - 'newt_grid_free', - 'newt_grid_get_size', - 'newt_grid_h_close_stacked', - 'newt_grid_h_stacked', - 'newt_grid_place', - 'newt_grid_set_field', - 'newt_grid_simple_window', - 'newt_grid_v_close_stacked', - 'newt_grid_v_stacked', - 'newt_grid_wrapped_window', - 'newt_grid_wrapped_window_at', - 'newt_label', - 'newt_label_set_text', - 'newt_listbox', - 'newt_listbox_append_entry', - 'newt_listbox_clear', - 'newt_listbox_clear_selection', - 'newt_listbox_delete_entry', - 'newt_listbox_get_current', - 'newt_listbox_get_selection', - 'newt_listbox_insert_entry', - 'newt_listbox_item_count', - 'newt_listbox_select_item', - 'newt_listbox_set_current', - 'newt_listbox_set_current_by_key', - 'newt_listbox_set_data', - 'newt_listbox_set_entry', - 'newt_listbox_set_width', - 'newt_listitem', - 'newt_listitem_get_data', - 'newt_listitem_set', - 'newt_radio_get_current', - 'newt_radiobutton', - 'newt_run_form', - 'newt_scale', - 'newt_scale_set', - 'newt_scrollbar_set', - 'newt_textbox', - 'newt_textbox_get_num_lines', - 'newt_textbox_reflowed', - 'newt_textbox_set_height', - 'newt_textbox_set_text', - 'newt_vertical_scrollbar', - 'oci_bind_array_by_name', - 'oci_bind_by_name', - 'oci_cancel', - 'oci_close', - 'oci_commit', - 'oci_connect', - 'oci_define_by_name', - 'oci_error', - 'oci_execute', - 'oci_fetch', - 'oci_fetch_all', - 'oci_fetch_array', - 'oci_fetch_assoc', - 'oci_fetch_object', - 'oci_fetch_row', - 'oci_field_is_null', - 'oci_field_name', - 'oci_field_precision', - 'oci_field_scale', - 'oci_field_size', - 'oci_field_type', - 'oci_field_type_raw', - 'oci_free_cursor', - 'oci_free_statement', - 'oci_get_implicit_resultset', - 'oci_new_collection', - 'oci_new_connect', - 'oci_new_cursor', - 'oci_new_descriptor', - 'oci_num_fields', - 'oci_num_rows', - 'oci_parse', - 'oci_pconnect', - 'oci_register_taf_callback', - 'oci_result', - 'oci_rollback', - 'oci_server_version', - 'oci_set_action', - 'oci_set_client_identifier', - 'oci_set_client_info', - 'oci_set_module_name', - 'oci_set_prefetch', - 'oci_statement_type', - 'oci_unregister_taf_callback', - 'odbc_autocommit', - 'odbc_close', - 'odbc_columnprivileges', - 'odbc_columns', - 'odbc_commit', - 'odbc_connect', - 'odbc_cursor', - 'odbc_data_source', - 'odbc_do', - 'odbc_error', - 'odbc_errormsg', - 'odbc_exec', - 'odbc_execute', - 'odbc_fetch_array', - 'odbc_fetch_into', - 'odbc_fetch_row', - 'odbc_field_len', - 'odbc_field_name', - 'odbc_field_num', - 'odbc_field_precision', - 'odbc_field_scale', - 'odbc_field_type', - 'odbc_foreignkeys', - 'odbc_free_result', - 'odbc_gettypeinfo', - 'odbc_next_result', - 'odbc_num_fields', - 'odbc_num_rows', - 'odbc_pconnect', - 'odbc_prepare', - 'odbc_primarykeys', - 'odbc_procedurecolumns', - 'odbc_procedures', - 'odbc_result', - 'odbc_result_all', - 'odbc_rollback', - 'odbc_setoption', - 'odbc_specialcolumns', - 'odbc_statistics', - 'odbc_tableprivileges', - 'odbc_tables', - 'openal_buffer_create', - 'openal_buffer_data', - 'openal_buffer_destroy', - 'openal_buffer_get', - 'openal_buffer_loadwav', - 'openal_context_create', - 'openal_context_current', - 'openal_context_destroy', - 'openal_context_process', - 'openal_context_suspend', - 'openal_device_close', - 'openal_device_open', - 'openal_source_create', - 'openal_source_destroy', - 'openal_source_get', - 'openal_source_pause', - 'openal_source_play', - 'openal_source_rewind', - 'openal_source_set', - 'openal_source_stop', - 'openal_stream', - 'opendir', - 'openssl_csr_new', - 'openssl_dh_compute_key', - 'openssl_free_key', - 'openssl_pkey_export', - 'openssl_pkey_free', - 'openssl_pkey_get_details', - 'openssl_spki_new', - 'openssl_x509_free', - 'pclose', - 'pfsockopen', - 'pg_affected_rows', - 'pg_cancel_query', - 'pg_client_encoding', - 'pg_close', - 'pg_connect_poll', - 'pg_connection_busy', - 'pg_connection_reset', - 'pg_connection_status', - 'pg_consume_input', - 'pg_convert', - 'pg_copy_from', - 'pg_copy_to', - 'pg_dbname', - 'pg_delete', - 'pg_end_copy', - 'pg_escape_bytea', - 'pg_escape_identifier', - 'pg_escape_literal', - 'pg_escape_string', - 'pg_execute', - 'pg_fetch_all', - 'pg_fetch_all_columns', - 'pg_fetch_array', - 'pg_fetch_assoc', - 'pg_fetch_row', - 'pg_field_name', - 'pg_field_num', - 'pg_field_size', - 'pg_field_table', - 'pg_field_type', - 'pg_field_type_oid', - 'pg_flush', - 'pg_free_result', - 'pg_get_notify', - 'pg_get_pid', - 'pg_get_result', - 'pg_host', - 'pg_insert', - 'pg_last_error', - 'pg_last_notice', - 'pg_last_oid', - 'pg_lo_close', - 'pg_lo_create', - 'pg_lo_export', - 'pg_lo_import', - 'pg_lo_open', - 'pg_lo_read', - 'pg_lo_read_all', - 'pg_lo_seek', - 'pg_lo_tell', - 'pg_lo_truncate', - 'pg_lo_unlink', - 'pg_lo_write', - 'pg_meta_data', - 'pg_num_fields', - 'pg_num_rows', - 'pg_options', - 'pg_parameter_status', - 'pg_ping', - 'pg_port', - 'pg_prepare', - 'pg_put_line', - 'pg_query', - 'pg_query_params', - 'pg_result_error', - 'pg_result_error_field', - 'pg_result_seek', - 'pg_result_status', - 'pg_select', - 'pg_send_execute', - 'pg_send_prepare', - 'pg_send_query', - 'pg_send_query_params', - 'pg_set_client_encoding', - 'pg_set_error_verbosity', - 'pg_socket', - 'pg_trace', - 'pg_transaction_status', - 'pg_tty', - 'pg_untrace', - 'pg_update', - 'pg_version', - 'php_user_filter::filter', - 'proc_close', - 'proc_get_status', - 'proc_terminate', - 'ps_add_bookmark', - 'ps_add_launchlink', - 'ps_add_locallink', - 'ps_add_note', - 'ps_add_pdflink', - 'ps_add_weblink', - 'ps_arc', - 'ps_arcn', - 'ps_begin_page', - 'ps_begin_pattern', - 'ps_begin_template', - 'ps_circle', - 'ps_clip', - 'ps_close', - 'ps_close_image', - 'ps_closepath', - 'ps_closepath_stroke', - 'ps_continue_text', - 'ps_curveto', - 'ps_delete', - 'ps_end_page', - 'ps_end_pattern', - 'ps_end_template', - 'ps_fill', - 'ps_fill_stroke', - 'ps_findfont', - 'ps_get_buffer', - 'ps_get_parameter', - 'ps_get_value', - 'ps_hyphenate', - 'ps_include_file', - 'ps_lineto', - 'ps_makespotcolor', - 'ps_moveto', - 'ps_new', - 'ps_open_file', - 'ps_open_image', - 'ps_open_image_file', - 'ps_open_memory_image', - 'ps_place_image', - 'ps_rect', - 'ps_restore', - 'ps_rotate', - 'ps_save', - 'ps_scale', - 'ps_set_border_color', - 'ps_set_border_dash', - 'ps_set_border_style', - 'ps_set_info', - 'ps_set_parameter', - 'ps_set_text_pos', - 'ps_set_value', - 'ps_setcolor', - 'ps_setdash', - 'ps_setflat', - 'ps_setfont', - 'ps_setgray', - 'ps_setlinecap', - 'ps_setlinejoin', - 'ps_setlinewidth', - 'ps_setmiterlimit', - 'ps_setoverprintmode', - 'ps_setpolydash', - 'ps_shading', - 'ps_shading_pattern', - 'ps_shfill', - 'ps_show', - 'ps_show2', - 'ps_show_boxed', - 'ps_show_xy', - 'ps_show_xy2', - 'ps_string_geometry', - 'ps_stringwidth', - 'ps_stroke', - 'ps_symbol', - 'ps_symbol_name', - 'ps_symbol_width', - 'ps_translate', - 'px_close', - 'px_create_fp', - 'px_date2string', - 'px_delete', - 'px_delete_record', - 'px_get_field', - 'px_get_info', - 'px_get_parameter', - 'px_get_record', - 'px_get_schema', - 'px_get_value', - 'px_insert_record', - 'px_new', - 'px_numfields', - 'px_numrecords', - 'px_open_fp', - 'px_put_record', - 'px_retrieve_record', - 'px_set_blob_file', - 'px_set_parameter', - 'px_set_tablename', - 'px_set_targetencoding', - 'px_set_value', - 'px_timestamp2string', - 'px_update_record', - 'radius_acct_open', - 'radius_add_server', - 'radius_auth_open', - 'radius_close', - 'radius_config', - 'radius_create_request', - 'radius_demangle', - 'radius_demangle_mppe_key', - 'radius_get_attr', - 'radius_put_addr', - 'radius_put_attr', - 'radius_put_int', - 'radius_put_string', - 'radius_put_vendor_addr', - 'radius_put_vendor_attr', - 'radius_put_vendor_int', - 'radius_put_vendor_string', - 'radius_request_authenticator', - 'radius_salt_encrypt_attr', - 'radius_send_request', - 'radius_server_secret', - 'radius_strerror', - 'readdir', - 'readfile', - 'recode_file', - 'rename', - 'rewind', - 'rewinddir', - 'rmdir', - 'rpm_close', - 'rpm_get_tag', - 'rpm_open', - 'sapi_windows_vt100_support', - 'scandir', - 'sem_acquire', - 'sem_get', - 'sem_release', - 'sem_remove', - 'set_file_buffer', - 'shm_attach', - 'shm_detach', - 'shm_get_var', - 'shm_has_var', - 'shm_put_var', - 'shm_remove', - 'shm_remove_var', - 'shmop_close', - 'shmop_delete', - 'shmop_open', - 'shmop_read', - 'shmop_size', - 'shmop_write', - 'socket_accept', - 'socket_addrinfo_bind', - 'socket_addrinfo_connect', - 'socket_addrinfo_explain', - 'socket_bind', - 'socket_clear_error', - 'socket_close', - 'socket_connect', - 'socket_export_stream', - 'socket_get_option', - 'socket_get_status', - 'socket_getopt', - 'socket_getpeername', - 'socket_getsockname', - 'socket_import_stream', - 'socket_last_error', - 'socket_listen', - 'socket_read', - 'socket_recv', - 'socket_recvfrom', - 'socket_recvmsg', - 'socket_send', - 'socket_sendmsg', - 'socket_sendto', - 'socket_set_block', - 'socket_set_blocking', - 'socket_set_nonblock', - 'socket_set_option', - 'socket_set_timeout', - 'socket_shutdown', - 'socket_write', - 'sqlite_close', - 'sqlite_fetch_string', - 'sqlite_has_more', - 'sqlite_open', - 'sqlite_popen', - 'sqlsrv_begin_transaction', - 'sqlsrv_cancel', - 'sqlsrv_client_info', - 'sqlsrv_close', - 'sqlsrv_commit', - 'sqlsrv_connect', - 'sqlsrv_execute', - 'sqlsrv_fetch', - 'sqlsrv_fetch_array', - 'sqlsrv_fetch_object', - 'sqlsrv_field_metadata', - 'sqlsrv_free_stmt', - 'sqlsrv_get_field', - 'sqlsrv_has_rows', - 'sqlsrv_next_result', - 'sqlsrv_num_fields', - 'sqlsrv_num_rows', - 'sqlsrv_prepare', - 'sqlsrv_query', - 'sqlsrv_rollback', - 'sqlsrv_rows_affected', - 'sqlsrv_send_stream_data', - 'sqlsrv_server_info', - 'ssh2_auth_agent', - 'ssh2_auth_hostbased_file', - 'ssh2_auth_none', - 'ssh2_auth_password', - 'ssh2_auth_pubkey_file', - 'ssh2_disconnect', - 'ssh2_exec', - 'ssh2_fetch_stream', - 'ssh2_fingerprint', - 'ssh2_methods_negotiated', - 'ssh2_publickey_add', - 'ssh2_publickey_init', - 'ssh2_publickey_list', - 'ssh2_publickey_remove', - 'ssh2_scp_recv', - 'ssh2_scp_send', - 'ssh2_sftp', - 'ssh2_sftp_chmod', - 'ssh2_sftp_lstat', - 'ssh2_sftp_mkdir', - 'ssh2_sftp_readlink', - 'ssh2_sftp_realpath', - 'ssh2_sftp_rename', - 'ssh2_sftp_rmdir', - 'ssh2_sftp_stat', - 'ssh2_sftp_symlink', - 'ssh2_sftp_unlink', - 'ssh2_shell', - 'ssh2_tunnel', - 'stomp_connect', - 'streamWrapper::stream_cast', - 'stream_bucket_append', - 'stream_bucket_make_writeable', - 'stream_bucket_new', - 'stream_bucket_prepend', - 'stream_context_create', - 'stream_context_get_default', - 'stream_context_get_options', - 'stream_context_get_params', - 'stream_context_set_default', - 'stream_context_set_params', - 'stream_copy_to_stream', - 'stream_encoding', - 'stream_filter_append', - 'stream_filter_prepend', - 'stream_filter_remove', - 'stream_get_contents', - 'stream_get_line', - 'stream_get_meta_data', - 'stream_isatty', - 'stream_set_blocking', - 'stream_set_chunk_size', - 'stream_set_read_buffer', - 'stream_set_timeout', - 'stream_set_write_buffer', - 'stream_socket_accept', - 'stream_socket_client', - 'stream_socket_enable_crypto', - 'stream_socket_get_name', - 'stream_socket_recvfrom', - 'stream_socket_sendto', - 'stream_socket_server', - 'stream_socket_shutdown', - 'stream_supports_lock', - 'svn_fs_abort_txn', - 'svn_fs_apply_text', - 'svn_fs_begin_txn2', - 'svn_fs_change_node_prop', - 'svn_fs_check_path', - 'svn_fs_contents_changed', - 'svn_fs_copy', - 'svn_fs_delete', - 'svn_fs_dir_entries', - 'svn_fs_file_contents', - 'svn_fs_file_length', - 'svn_fs_is_dir', - 'svn_fs_is_file', - 'svn_fs_make_dir', - 'svn_fs_make_file', - 'svn_fs_node_created_rev', - 'svn_fs_node_prop', - 'svn_fs_props_changed', - 'svn_fs_revision_prop', - 'svn_fs_revision_root', - 'svn_fs_txn_root', - 'svn_fs_youngest_rev', - 'svn_repos_create', - 'svn_repos_fs', - 'svn_repos_fs_begin_txn_for_commit', - 'svn_repos_fs_commit_txn', - 'svn_repos_open', - 'sybase_affected_rows', - 'sybase_close', - 'sybase_connect', - 'sybase_data_seek', - 'sybase_fetch_array', - 'sybase_fetch_assoc', - 'sybase_fetch_field', - 'sybase_fetch_object', - 'sybase_fetch_row', - 'sybase_field_seek', - 'sybase_free_result', - 'sybase_num_fields', - 'sybase_num_rows', - 'sybase_pconnect', - 'sybase_query', - 'sybase_result', - 'sybase_select_db', - 'sybase_set_message_handler', - 'sybase_unbuffered_query', - 'tmpfile', - 'udm_add_search_limit', - 'udm_alloc_agent', - 'udm_alloc_agent_array', - 'udm_cat_list', - 'udm_cat_path', - 'udm_check_charset', - 'udm_clear_search_limits', - 'udm_crc32', - 'udm_errno', - 'udm_error', - 'udm_find', - 'udm_free_agent', - 'udm_free_res', - 'udm_get_doc_count', - 'udm_get_res_field', - 'udm_get_res_param', - 'udm_hash32', - 'udm_load_ispell_data', - 'udm_set_agent_param', - 'unlink', - 'vfprintf', - 'w32api_init_dtype', - 'wddx_add_vars', - 'wddx_packet_end', - 'wddx_packet_start', - 'xml_get_current_byte_index', - 'xml_get_current_column_number', - 'xml_get_current_line_number', - 'xml_get_error_code', - 'xml_parse', - 'xml_parse_into_struct', - 'xml_parser_create', - 'xml_parser_create_ns', - 'xml_parser_free', - 'xml_parser_get_option', - 'xml_parser_set_option', - 'xml_set_character_data_handler', - 'xml_set_default_handler', - 'xml_set_element_handler', - 'xml_set_end_namespace_decl_handler', - 'xml_set_external_entity_ref_handler', - 'xml_set_notation_decl_handler', - 'xml_set_object', - 'xml_set_processing_instruction_handler', - 'xml_set_start_namespace_decl_handler', - 'xml_set_unparsed_entity_decl_handler', - 'xmlrpc_server_add_introspection_data', - 'xmlrpc_server_call_method', - 'xmlrpc_server_create', - 'xmlrpc_server_destroy', - 'xmlrpc_server_register_introspection_callback', - 'xmlrpc_server_register_method', - 'xmlwriter_end_attribute', - 'xmlwriter_end_cdata', - 'xmlwriter_end_comment', - 'xmlwriter_end_document', - 'xmlwriter_end_dtd', - 'xmlwriter_end_dtd_attlist', - 'xmlwriter_end_dtd_element', - 'xmlwriter_end_dtd_entity', - 'xmlwriter_end_element', - 'xmlwriter_end_pi', - 'xmlwriter_flush', - 'xmlwriter_full_end_element', - 'xmlwriter_open_memory', - 'xmlwriter_open_uri', - 'xmlwriter_output_memory', - 'xmlwriter_set_indent', - 'xmlwriter_set_indent_string', - 'xmlwriter_start_attribute', - 'xmlwriter_start_attribute_ns', - 'xmlwriter_start_cdata', - 'xmlwriter_start_comment', - 'xmlwriter_start_document', - 'xmlwriter_start_dtd', - 'xmlwriter_start_dtd_attlist', - 'xmlwriter_start_dtd_element', - 'xmlwriter_start_dtd_entity', - 'xmlwriter_start_element', - 'xmlwriter_start_element_ns', - 'xmlwriter_start_pi', - 'xmlwriter_text', - 'xmlwriter_write_attribute', - 'xmlwriter_write_attribute_ns', - 'xmlwriter_write_cdata', - 'xmlwriter_write_comment', - 'xmlwriter_write_dtd', - 'xmlwriter_write_dtd_attlist', - 'xmlwriter_write_dtd_element', - 'xmlwriter_write_dtd_entity', - 'xmlwriter_write_element', - 'xmlwriter_write_element_ns', - 'xmlwriter_write_pi', - 'xmlwriter_write_raw', - 'xslt_create', - 'yaz_addinfo', - 'yaz_ccl_conf', - 'yaz_ccl_parse', - 'yaz_close', - 'yaz_database', - 'yaz_element', - 'yaz_errno', - 'yaz_error', - 'yaz_es', - 'yaz_es_result', - 'yaz_get_option', - 'yaz_hits', - 'yaz_itemorder', - 'yaz_present', - 'yaz_range', - 'yaz_record', - 'yaz_scan', - 'yaz_scan_result', - 'yaz_schema', - 'yaz_search', - 'yaz_sort', - 'yaz_syntax', - 'zip_close', - 'zip_entry_close', - 'zip_entry_compressedsize', - 'zip_entry_compressionmethod', - 'zip_entry_filesize', - 'zip_entry_name', - 'zip_entry_open', - 'zip_entry_read', - 'zip_open', - 'zip_read', - ]; - } -} diff --git a/paragonik-backend/vendor/sebastian/resource-operations/tests/ResourceOperationsTest.php b/paragonik-backend/vendor/sebastian/resource-operations/tests/ResourceOperationsTest.php deleted file mode 100644 index f05ea0d..0000000 --- a/paragonik-backend/vendor/sebastian/resource-operations/tests/ResourceOperationsTest.php +++ /dev/null @@ -1,26 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace SebastianBergmann\ResourceOperations; - -use PHPUnit\Framework\TestCase; - -/** - * @covers \SebastianBergmann\ResourceOperations\ResourceOperations - */ -final class ResourceOperationsTest extends TestCase -{ - public function testGetFunctions(): void - { - $functions = ResourceOperations::getFunctions(); - - $this->assertInternalType('array', $functions); - $this->assertContains('fopen', $functions); - } -} diff --git a/paragonik-backend/vendor/sebastian/version/.gitattributes b/paragonik-backend/vendor/sebastian/version/.gitattributes deleted file mode 100644 index 461090b..0000000 --- a/paragonik-backend/vendor/sebastian/version/.gitattributes +++ /dev/null @@ -1 +0,0 @@ -*.php diff=php diff --git a/paragonik-backend/vendor/sebastian/version/.gitignore b/paragonik-backend/vendor/sebastian/version/.gitignore deleted file mode 100644 index a09c56d..0000000 --- a/paragonik-backend/vendor/sebastian/version/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/.idea diff --git a/paragonik-backend/vendor/sebastian/version/.php_cs b/paragonik-backend/vendor/sebastian/version/.php_cs deleted file mode 100644 index 8cbc57c..0000000 --- a/paragonik-backend/vendor/sebastian/version/.php_cs +++ /dev/null @@ -1,66 +0,0 @@ -files() - ->in('src') - ->name('*.php'); - -return Symfony\CS\Config\Config::create() - ->level(\Symfony\CS\FixerInterface::NONE_LEVEL) - ->fixers( - array( - 'align_double_arrow', - 'align_equals', - 'braces', - 'concat_with_spaces', - 'duplicate_semicolon', - 'elseif', - 'empty_return', - 'encoding', - 'eof_ending', - 'extra_empty_lines', - 'function_call_space', - 'function_declaration', - 'indentation', - 'join_function', - 'line_after_namespace', - 'linefeed', - 'list_commas', - 'lowercase_constants', - 'lowercase_keywords', - 'method_argument_space', - 'multiple_use', - 'namespace_no_leading_whitespace', - 'no_blank_lines_after_class_opening', - 'no_empty_lines_after_phpdocs', - 'parenthesis', - 'php_closing_tag', - 'phpdoc_indent', - 'phpdoc_no_access', - 'phpdoc_no_empty_return', - 'phpdoc_no_package', - 'phpdoc_params', - 'phpdoc_scalar', - 'phpdoc_separation', - 'phpdoc_to_comment', - 'phpdoc_trim', - 'phpdoc_types', - 'phpdoc_var_without_name', - 'remove_lines_between_uses', - 'return', - 'self_accessor', - 'short_array_syntax', - 'short_tag', - 'single_line_after_imports', - 'single_quote', - 'spaces_before_semicolon', - 'spaces_cast', - 'ternary_spaces', - 'trailing_spaces', - 'trim_array_spaces', - 'unused_use', - 'visibility', - 'whitespacy_lines' - ) - ) - ->finder($finder); - diff --git a/paragonik-backend/vendor/sebastian/version/LICENSE b/paragonik-backend/vendor/sebastian/version/LICENSE deleted file mode 100644 index 5b79c41..0000000 --- a/paragonik-backend/vendor/sebastian/version/LICENSE +++ /dev/null @@ -1,33 +0,0 @@ -Version - -Copyright (c) 2013-2015, Sebastian Bergmann . -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of Sebastian Bergmann nor the names of his - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. diff --git a/paragonik-backend/vendor/sebastian/version/README.md b/paragonik-backend/vendor/sebastian/version/README.md deleted file mode 100644 index 2864c81..0000000 --- a/paragonik-backend/vendor/sebastian/version/README.md +++ /dev/null @@ -1,43 +0,0 @@ -# Version - -**Version** is a library that helps with managing the version number of Git-hosted PHP projects. - -## Installation - -You can add this library as a local, per-project dependency to your project using [Composer](https://getcomposer.org/): - - composer require sebastian/version - -If you only need this library during development, for instance to run your project's test suite, then you should add it as a development-time dependency: - - composer require --dev sebastian/version - -## Usage - -The constructor of the `SebastianBergmann\Version` class expects two parameters: - -* `$release` is the version number of the latest release (`X.Y.Z`, for instance) or the name of the release series (`X.Y`) when no release has been made from that branch / for that release series yet. -* `$path` is the path to the directory (or a subdirectory thereof) where the sourcecode of the project can be found. Simply passing `__DIR__` here usually suffices. - -Apart from the constructor, the `SebastianBergmann\Version` class has a single public method: `getVersion()`. - -Here is a contrived example that shows the basic usage: - - getVersion()); - ?> - - string(18) "3.7.10-17-g00f3408" - -When a new release is prepared, the string that is passed to the constructor as the first argument needs to be updated. - -### How SebastianBergmann\Version::getVersion() works - -* If `$path` is not (part of) a Git repository and `$release` is in `X.Y.Z` format then `$release` is returned as-is. -* If `$path` is not (part of) a Git repository and `$release` is in `X.Y` format then `$release` is returned suffixed with `-dev`. -* If `$path` is (part of) a Git repository and `$release` is in `X.Y.Z` format then the output of `git describe --tags` is returned as-is. -* If `$path` is (part of) a Git repository and `$release` is in `X.Y` format then a string is returned that begins with `X.Y` and ends with information from `git describe --tags`. diff --git a/paragonik-backend/vendor/sebastian/version/composer.json b/paragonik-backend/vendor/sebastian/version/composer.json deleted file mode 100644 index 3b87814..0000000 --- a/paragonik-backend/vendor/sebastian/version/composer.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "name": "sebastian/version", - "description": "Library that helps with managing the version number of Git-hosted PHP projects", - "homepage": "https://github.com/sebastianbergmann/version", - "license": "BSD-3-Clause", - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "support": { - "issues": "https://github.com/sebastianbergmann/version/issues" - }, - "require": { - "php": ">=5.6" - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - } -} diff --git a/paragonik-backend/vendor/sebastian/version/src/Version.php b/paragonik-backend/vendor/sebastian/version/src/Version.php deleted file mode 100644 index fc4cfec..0000000 --- a/paragonik-backend/vendor/sebastian/version/src/Version.php +++ /dev/null @@ -1,109 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace SebastianBergmann; - -/** - * @since Class available since Release 1.0.0 - */ -class Version -{ - /** - * @var string - */ - private $path; - - /** - * @var string - */ - private $release; - - /** - * @var string - */ - private $version; - - /** - * @param string $release - * @param string $path - */ - public function __construct($release, $path) - { - $this->release = $release; - $this->path = $path; - } - - /** - * @return string - */ - public function getVersion() - { - if ($this->version === null) { - if (count(explode('.', $this->release)) == 3) { - $this->version = $this->release; - } else { - $this->version = $this->release . '-dev'; - } - - $git = $this->getGitInformation($this->path); - - if ($git) { - if (count(explode('.', $this->release)) == 3) { - $this->version = $git; - } else { - $git = explode('-', $git); - - $this->version = $this->release . '-' . end($git); - } - } - } - - return $this->version; - } - - /** - * @param string $path - * - * @return bool|string - */ - private function getGitInformation($path) - { - if (!is_dir($path . DIRECTORY_SEPARATOR . '.git')) { - return false; - } - - $process = proc_open( - 'git describe --tags', - [ - 1 => ['pipe', 'w'], - 2 => ['pipe', 'w'], - ], - $pipes, - $path - ); - - if (!is_resource($process)) { - return false; - } - - $result = trim(stream_get_contents($pipes[1])); - - fclose($pipes[1]); - fclose($pipes[2]); - - $returnCode = proc_close($process); - - if ($returnCode !== 0) { - return false; - } - - return $result; - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/.gitattributes b/paragonik-backend/vendor/swiftmailer/swiftmailer/.gitattributes deleted file mode 100644 index 09c3fba..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/.gitattributes +++ /dev/null @@ -1,9 +0,0 @@ -*.crt -crlf -*.key -crlf -*.srl -crlf -*.pub -crlf -*.priv -crlf -*.txt -crlf - -# ignore /notes in the git-generated distributed .zip archive -/doc/notes export-ignore diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/.github/ISSUE_TEMPLATE.md b/paragonik-backend/vendor/swiftmailer/swiftmailer/.github/ISSUE_TEMPLATE.md deleted file mode 100644 index 5db6524..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/.github/ISSUE_TEMPLATE.md +++ /dev/null @@ -1,19 +0,0 @@ - - -| Q | A -| ------------------- | ----- -| Bug report? | yes/no -| Feature request? | yes/no -| RFC? | yes/no -| How used? | Standalone/Symfony/3party -| Swiftmailer version | x.y.z -| PHP version | x.y.z - -### Observed behaviour - - -### Expected behaviour - - -### Example - diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/.github/PULL_REQUEST_TEMPLATE.md b/paragonik-backend/vendor/swiftmailer/swiftmailer/.github/PULL_REQUEST_TEMPLATE.md deleted file mode 100644 index 4b39510..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/.github/PULL_REQUEST_TEMPLATE.md +++ /dev/null @@ -1,14 +0,0 @@ - - -| Q | A -| ------------- | --- -| Bug fix? | yes/no -| New feature? | yes/no -| Doc update? | yes/no -| BC breaks? | yes/no -| Deprecations? | yes/no -| Fixed tickets | #... -| License | MIT - - - diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/.gitignore b/paragonik-backend/vendor/swiftmailer/swiftmailer/.gitignore deleted file mode 100644 index 20d389a..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/.gitignore +++ /dev/null @@ -1,8 +0,0 @@ -/.php_cs.cache -/.phpunit -/build/* -/composer.lock -/phpunit.xml -/tests/acceptance.conf.php -/tests/smoke.conf.php -/vendor/ diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/.php_cs.dist b/paragonik-backend/vendor/swiftmailer/swiftmailer/.php_cs.dist deleted file mode 100644 index 2c04e04..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/.php_cs.dist +++ /dev/null @@ -1,16 +0,0 @@ -setRules([ - '@Symfony' => true, - '@Symfony:risky' => true, - 'array_syntax' => ['syntax' => 'short'], - 'no_unreachable_default_argument_value' => false, - 'braces' => ['allow_single_line_closure' => true], - 'heredoc_to_nowdoc' => false, - 'phpdoc_annotation_without_dot' => false, - 'ternary_to_null_coalescing' => true, - ]) - ->setRiskyAllowed(true) - ->setFinder(PhpCsFixer\Finder::create()->in(__DIR__)) -; diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/.travis.yml b/paragonik-backend/vendor/swiftmailer/swiftmailer/.travis.yml deleted file mode 100644 index 610585a..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/.travis.yml +++ /dev/null @@ -1,26 +0,0 @@ -language: php - -sudo: false - -before_script: - - cp tests/acceptance.conf.php.default tests/acceptance.conf.php - - cp tests/smoke.conf.php.default tests/smoke.conf.php - - composer self-update - - composer update --no-interaction --prefer-source - - gem install mime-types -v 2.99.1 - - gem install mailcatcher - - mailcatcher --smtp-port 4456 - -script: SYMFONY_PHPUNIT_VERSION=6.1 ./vendor/bin/simple-phpunit - -matrix: - include: - - php: 7.0 - - php: 7.1 - - php: 7.2 - - php: 7.3 - fast_finish: true - -cache: - directories: - - .phpunit diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/CHANGES b/paragonik-backend/vendor/swiftmailer/swiftmailer/CHANGES deleted file mode 100644 index ad0c815..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/CHANGES +++ /dev/null @@ -1,354 +0,0 @@ -Changelog -========= - -6.2.2 (2019-11-12) ------------------- - - * no changes - -6.2.2 (2019-11-12) ------------------- - - * fixed cmopat with PHP 7.4 - * fixed error message when connecting to a stream raises an error before connect() - -6.2.1 (2019-04-21) ------------------- - - * reverted "deprecated Swift_CharacterStream_ArrayCharacterStream and Swift_CharacterStream_NgCharacterStream in favor of Swift_CharacterStream_CharacterStream" - -6.2.0 (2019-03-10) ------------------- - - * added support for symfony/polyfill-intl-dn - * deprecated Swift_CharacterStream_ArrayCharacterStream and Swift_CharacterStream_NgCharacterStream in favor of Swift_CharacterStream_CharacterStream - -6.1.3 (2018-09-11) ------------------- - - * added auto-start to the SMTP transport when sending a message - * tweaked error message when the response from an SMTP server is empty - * fixed missing property in Swift_Mime_IdGenerator - * exposed original body content type with Swift_Mime_SimpleMimeEntity::getBodyContentType() - * fixed typo in variable name in Swift_AddressEncoder_IdnAddressEncoder - * fixed return type in MessageLogger - * fixed missing property addressEncoder in SimpleHeaderFactory class - -6.1.2 (2018-07-13) ------------------- - - * handled recipient errors when pipelining - -6.1.1 (2018-07-04) ------------------- - - * removed hard dependency on an IDN encoder - -6.1.0 (2018-07-02) ------------------- - - * added address encoder exceptions during send - * added support for bubbling up authenticator error messages - * added support for non-ASCII email addresses - * introduced new dependencies: transport.smtphandlers and transport.authhandlers - * deprecated Swift_Signers_OpenDKIMSigner; use Swift_Signers_DKIMSigner instead - * added support for SMTP pipelining - * added Swift_Transport_Esmtp_EightBitMimeHandler - * fixed startTLS only allowed tls1.0, now allowed: tls1.0, tls1.1, tls1.2 - -6.0.2 (2017-09-30) ------------------- - - * fixed DecoratorPlugin - * removed usage of getmypid() - -6.0.1 (2017-05-20) ------------------- - - * fixed BC break that can be avoided easily - -6.0.0 (2017-05-19) ------------------- - - * added Swift_Transport::ping() - * removed Swift_Mime_HeaderFactory, Swift_Mime_HeaderSet, Swift_Mime_Message, Swift_Mime_MimeEntity, - and Swift_Mime_ParameterizedHeader interfaces - * removed Swift_MailTransport and Swift_Transport_MailTransport - * removed Swift_Encoding - * removed the Swift_Transport_MailInvoker interface and Swift_Transport_SimpleMailInvoker class - * removed the Swift_SignedMessage class - * removed newInstance() methods everywhere - * methods operating on Date header now use DateTimeImmutable object instead of Unix timestamp; - Swift_Mime_Headers_DateHeader::getTimestamp()/setTimestamp() renamed to getDateTime()/setDateTime() - * bumped minimum version to PHP 7.0 - * removed Swift_Validate and replaced by egulias/email-validator - -5.4.9 (2018-01-23) ------------------- - - * no changes, last version of the 5.x series - -5.4.8 (2017-05-01) ------------------- - - * fixed encoding inheritance in addPart() - * fixed sorting MIME children when their types are equal - -5.4.7 (2017-04-20) ------------------- - - * fixed NTLMAuthenticator clobbering bcmath scale - -5.4.6 (2017-02-13) ------------------- - - * removed exceptions thrown in destructors as they lead to fatal errors - * switched to use sha256 by default in DKIM as per the RFC - * fixed an 'Undefined variable: pipes' PHP notice - * fixed long To headers when using the mail transport - * fixed NTLMAuthenticator when no domain is passed with the username - * prevented fatal error during unserialization of a message - * fixed a PHP warning when sending a message that has a length of a multiple of 8192 - -5.4.5 (2016-12-29) ------------------- - - * SECURITY FIX: fixed CVE-2016-10074 by disallowing potentially unsafe shell characters - - Prior to 5.4.5, the mail transport (Swift_Transport_MailTransport) was vulnerable to passing - arbitrary shell arguments if the "From", "ReturnPath" or "Sender" header came - from a non-trusted source, potentially allowing Remote Code Execution - * deprecated the mail transport - -5.4.4 (2016-11-23) ------------------- - - * reverted escaping command-line args to mail (PHP mail() function already does it) - -5.4.3 (2016-07-08) ------------------- - - * fixed SimpleHeaderSet::has()/get() when the 0 index is removed - * removed the need to have mcrypt installed - * fixed broken MIME header encoding with quotes/colons and non-ascii chars - * allowed mail transport send for messages without To header - * fixed PHP 7 support - -5.4.2 (2016-05-01) ------------------- - - * fixed support for IPv6 sockets - * added auto-retry when sending messages from the memory spool - * fixed consecutive read calls in Swift_ByteStream_FileByteStream - * added support for iso-8859-15 encoding - * fixed PHP mail extra params on missing reversePath - * added methods to set custom stream context options - * fixed charset changes in QpContentEncoderProxy - * added return-path header to the ignoredHeaders list of DKIMSigner - * fixed crlf for subject using mail - * fixed add soft line break only when necessary - * fixed escaping command-line args to mail - -5.4.1 (2015-06-06) ------------------- - - * made Swiftmailer exceptions confirm to PHP base exception constructor signature - * fixed MAIL FROM & RCPT TO headers to be RFC compliant - -5.4.0 (2015-03-14) ------------------- - - * added the possibility to add extra certs to PKCS#7 signature - * fix base64 encoding with streams - * added a new RESULT_SPOOLED status for SpoolTransport - * fixed getBody() on attachments when called more than once - * removed dots from generated filenames in filespool - -5.3.1 (2014-12-05) ------------------- - - * fixed cloning of messages with attachments - -5.3.0 (2014-10-04) ------------------- - - * fixed cloning when using signers - * reverted removal of Swift_Encoding - * drop support for PHP 5.2.x - -5.2.2 (2014-09-20) ------------------- - - * fixed Japanese support - * fixed the memory spool when the message changes when in the pool - * added support for cloning messages - * fixed PHP warning in the redirect plugin - * changed the way to and cc-ed email are sent to only use one transaction - -5.2.1 (2014-06-13) ------------------- - - * SECURITY FIX: fixed CLI escaping when using sendmail as a transport - - Prior to 5.2.1, the sendmail transport (Swift_Transport_SendmailTransport) - was vulnerable to an arbitrary shell execution if the "From" header came - from a non-trusted source and no "Return-Path" is configured. - - * fixed parameter in DKIMSigner - * fixed compatibility with PHP < 5.4 - -5.2.0 (2014-05-08) ------------------- - - * fixed Swift_ByteStream_FileByteStream::read() to match to the specification - * fixed from-charset and to-charset arguments in mbstring_convert_encoding() usages - * fixed infinite loop in StreamBuffer - * fixed NullTransport to return the number of ignored emails instead of 0 - * Use phpunit and mockery for unit testing (realityking) - -5.1.0 (2014-03-18) ------------------- - - * fixed data writing to stream when sending large messages - * added support for libopendkim (https://github.com/xdecock/php-opendkim) - * merged SignedMessage and Message - * added Gmail XOAuth2 authentication - * updated the list of known mime types - * added NTLM authentication - -5.0.3 (2013-12-03) ------------------- - - * fixed double-dot bug - * fixed DKIM signer - -5.0.2 (2013-08-30) ------------------- - - * handled correct exception type while reading IoBuffer output - -5.0.1 (2013-06-17) ------------------- - - * changed the spool to only start the transport when a mail has to be sent - * fixed compatibility with PHP 5.2 - * fixed LICENSE file - -5.0.0 (2013-04-30) ------------------- - - * changed the license from LGPL to MIT - -4.3.1 (2013-04-11) ------------------- - - * removed usage of the native QP encoder when the charset is not UTF-8 - * fixed usage of uniqid to avoid collisions - * made a performance improvement when tokenizing large headers - * fixed usage of the PHP native QP encoder on PHP 5.4.7+ - -4.3.0 (2013-01-08) ------------------- - - * made the temporary directory configurable via the TMPDIR env variable - * added S/MIME signer and encryption support - -4.2.2 (2012-10-25) ------------------- - - * added the possibility to throttle messages per second in ThrottlerPlugin (mostly for Amazon SES) - * switched mime.qpcontentencoder to automatically use the PHP native encoder on PHP 5.4.7+ - * allowed specifying a whitelist with regular expressions in RedirectingPlugin - -4.2.1 (2012-07-13) ------------------- - - * changed the coding standards to PSR-1/2 - * fixed issue with autoloading - * added NativeQpContentEncoder to enhance performance (for PHP 5.3+) - -4.2.0 (2012-06-29) ------------------- - - * added documentation about how to use the Japanese support introduced in 4.1.8 - * added a way to override the default configuration in a lazy way - * changed the PEAR init script to lazy-load the initialization - * fixed a bug when calling Swift_Preferences before anything else (regression introduced in 4.1.8) - -4.1.8 (2012-06-17) ------------------- - - * added Japanese iso-2022-jp support - * changed the init script to lazy-load the initialization - * fixed docblocks (@id) which caused some problems with libraries parsing the dobclocks - * fixed Swift_Mime_Headers_IdentificationHeader::setId() when passed an array of ids - * fixed encoding of email addresses in headers - * added replacements setter to the Decorator plugin - -4.1.7 (2012-04-26) ------------------- - - * fixed QpEncoder safeMapShareId property - -4.1.6 (2012-03-23) ------------------- - - * reduced the size of serialized Messages - -4.1.5 (2012-01-04) ------------------- - - * enforced Swift_Spool::queueMessage() to return a Boolean - * made an optimization to the memory spool: start the transport only when required - * prevented stream_socket_client() from generating an error and throw a Swift_TransportException instead - * fixed a PHP warning when calling to mail() when safe_mode is off - * many doc tweaks - -4.1.4 (2011-12-16) ------------------- - - * added a memory spool (Swift_MemorySpool) - * fixed too many opened files when sending emails with attachments - -4.1.3 (2011-10-27) ------------------- - - * added STARTTLS support - * added missing @return tags on fluent methods - * added a MessageLogger plugin that logs all sent messages - * added composer.json - -4.1.2 (2011-09-13) ------------------- - - * fixed wrong detection of magic_quotes_runtime - * fixed fatal errors when no To or Subject header has been set - * fixed charset on parameter header continuations - * added documentation about how to install Swiftmailer from the PEAR channel - * fixed various typos and markup problem in the documentation - * fixed warning when cache directory does not exist - * fixed "slashes are escaped" bug - * changed require_once() to require() in autoload - -4.1.1 (2011-07-04) ------------------- - - * added missing file in PEAR package - -4.1.0 (2011-06-30) ------------------- - - * documentation has been converted to ReST - -4.1.0 RC1 (2011-06-17) ----------------------- - -New features: - - * changed the Decorator Plugin to allow replacements in all headers - * added Swift_Mime_Grammar and Swift_Validate to validate an email address - * modified the autoloader to lazy-initialize Swiftmailer - * removed Swift_Mailer::batchSend() - * added NullTransport - * added new plugins: RedirectingPlugin and ImpersonatePlugin - * added a way to send messages asynchronously (Spool) diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/LICENSE b/paragonik-backend/vendor/swiftmailer/swiftmailer/LICENSE deleted file mode 100644 index bb9c80f..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 2013-2018 Fabien Potencier - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is furnished -to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/README.md b/paragonik-backend/vendor/swiftmailer/swiftmailer/README.md deleted file mode 100644 index e718bc6..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/README.md +++ /dev/null @@ -1,19 +0,0 @@ -Swift Mailer ------------- - -Swift Mailer is a component based mailing solution for PHP 7. -It is released under the MIT license. - -Swift Mailer is highly object-oriented by design and lends itself -to use in complex web application with a great deal of flexibility. - -For full details on usage, read the [documentation](https://swiftmailer.symfony.com/docs/introduction.html). - -Sponsors --------- - - diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/composer.json b/paragonik-backend/vendor/swiftmailer/swiftmailer/composer.json deleted file mode 100644 index a996e21..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/composer.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "name": "swiftmailer/swiftmailer", - "type": "library", - "description": "Swiftmailer, free feature-rich PHP mailer", - "keywords": ["mail","mailer","email"], - "homepage": "https://swiftmailer.symfony.com", - "license": "MIT", - "authors": [ - { - "name": "Chris Corbyn" - }, - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - } - ], - "require": { - "php": ">=7.0.0", - "egulias/email-validator": "~2.0", - "symfony/polyfill-iconv": "^1.0", - "symfony/polyfill-mbstring": "^1.0", - "symfony/polyfill-intl-idn": "^1.10" - }, - "require-dev": { - "mockery/mockery": "~0.9.1", - "symfony/phpunit-bridge": "^3.4.19|^4.1.8" - }, - "suggest": { - "ext-intl": "Needed to support internationalized email addresses", - "true/punycode": "Needed to support internationalized email addresses, if ext-intl is not installed" - }, - "autoload": { - "files": ["lib/swift_required.php"] - }, - "autoload-dev": { - "psr-0": { "Swift_": "tests/unit" } - }, - "extra": { - "branch-alias": { - "dev-master": "6.2-dev" - } - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/doc/headers.rst b/paragonik-backend/vendor/swiftmailer/swiftmailer/doc/headers.rst deleted file mode 100644 index 8b8bece..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/doc/headers.rst +++ /dev/null @@ -1,621 +0,0 @@ -Message Headers -=============== - -Sometimes you'll want to add your own headers to a message or modify/remove -headers that are already present. You work with the message's HeaderSet to do -this. - -Header Basics -------------- - -All MIME entities in Swift Mailer -- including the message itself -- store -their headers in a single object called a HeaderSet. This HeaderSet is -retrieved with the ``getHeaders()`` method. - -As mentioned in the previous chapter, everything that forms a part of a message -in Swift Mailer is a MIME entity that is represented by an instance of -``Swift_Mime_SimpleMimeEntity``. This includes -- most notably -- the message -object itself, attachments, MIME parts and embedded images. Each of these MIME -entities consists of a body and a set of headers that describe the body. - -For all of the "standard" headers in these MIME entities, such as the -``Content-Type``, there are named methods for working with them, such as -``setContentType()`` and ``getContentType()``. This is because headers are a -moderately complex area of the library. Each header has a slightly different -required structure that it must meet in order to comply with the standards that -govern email (and that are checked by spam blockers etc). - -You fetch the HeaderSet from a MIME entity like so:: - - $message = new Swift_Message(); - - // Fetch the HeaderSet from a Message object - $headers = $message->getHeaders(); - - $attachment = Swift_Attachment::fromPath('document.pdf'); - - // Fetch the HeaderSet from an attachment object - $headers = $attachment->getHeaders(); - -The job of the HeaderSet is to contain and manage instances of Header objects. -Depending upon the MIME entity the HeaderSet came from, the contents of the -HeaderSet will be different, since an attachment for example has a different -set of headers to those in a message. - -You can find out what the HeaderSet contains with a quick loop, dumping out the -names of the headers:: - - foreach ($headers->getAll() as $header) { - printf("%s
    \n", $header->getFieldName()); - } - - /* - Content-Transfer-Encoding - Content-Type - MIME-Version - Date - Message-ID - From - Subject - To - */ - -You can also dump out the rendered HeaderSet by calling its ``toString()`` -method:: - - echo $headers->toString(); - - /* - Message-ID: <1234869991.499a9ee7f1d5e@swift.generated> - Date: Tue, 17 Feb 2009 22:26:31 +1100 - Subject: Awesome subject! - From: sender@example.org - To: recipient@example.org - MIME-Version: 1.0 - Content-Type: text/plain; charset=utf-8 - Content-Transfer-Encoding: quoted-printable - */ - -Where the complexity comes in is when you want to modify an existing header. -This complexity comes from the fact that each header can be of a slightly -different type (such as a Date header, or a header that contains email -addresses, or a header that has key-value parameters on it!). Each header in -the HeaderSet is an instance of ``Swift_Mime_Header``. They all have common -functionality, but knowing exactly what type of header you're working with will -allow you a little more control. - -You can determine the type of header by comparing the return value of its -``getFieldType()`` method with the constants ``TYPE_TEXT``, -``TYPE_PARAMETERIZED``, ``TYPE_DATE``, ``TYPE_MAILBOX``, ``TYPE_ID`` and -``TYPE_PATH`` which are defined in ``Swift_Mime_Header``:: - - foreach ($headers->getAll() as $header) { - switch ($header->getFieldType()) { - case Swift_Mime_Header::TYPE_TEXT: $type = 'text'; - break; - case Swift_Mime_Header::TYPE_PARAMETERIZED: $type = 'parameterized'; - break; - case Swift_Mime_Header::TYPE_MAILBOX: $type = 'mailbox'; - break; - case Swift_Mime_Header::TYPE_DATE: $type = 'date'; - break; - case Swift_Mime_Header::TYPE_ID: $type = 'ID'; - break; - case Swift_Mime_Header::TYPE_PATH: $type = 'path'; - break; - } - printf("%s: is a %s header
    \n", $header->getFieldName(), $type); - } - - /* - Content-Transfer-Encoding: is a text header - Content-Type: is a parameterized header - MIME-Version: is a text header - Date: is a date header - Message-ID: is a ID header - From: is a mailbox header - Subject: is a text header - To: is a mailbox header - */ - -Headers can be removed from the set, modified within the set, or added to the -set. - -The following sections show you how to work with the HeaderSet and explain the -details of each implementation of ``Swift_Mime_Header`` that may exist within -the HeaderSet. - -Header Types ------------- - -Because all headers are modeled on different data (dates, addresses, text!) -there are different types of Header in Swift Mailer. Swift Mailer attempts to -categorize all possible MIME headers into more general groups, defined by a -small number of classes. - -Text Headers -~~~~~~~~~~~~ - -Text headers are the simplest type of Header. They contain textual information -with no special information included within it -- for example the Subject -header in a message. - -There's nothing particularly interesting about a text header, though it is -probably the one you'd opt to use if you need to add a custom header to a -message. It represents text just like you'd think it does. If the text contains -characters that are not permitted in a message header (such as new lines, or -non-ascii characters) then the header takes care of encoding the text so that -it can be used. - -No header -- including text headers -- in Swift Mailer is vulnerable to -header-injection attacks. Swift Mailer breaks any attempt at header injection -by encoding the dangerous data into a non-dangerous form. - -It's easy to add a new text header to a HeaderSet. You do this by calling the -HeaderSet's ``addTextHeader()`` method:: - - $message = new Swift_Message(); - $headers = $message->getHeaders(); - $headers->addTextHeader('Your-Header-Name', 'the header value'); - -Changing the value of an existing text header is done by calling it's -``setValue()`` method:: - - $subject = $message->getHeaders()->get('Subject'); - $subject->setValue('new subject'); - -When output via ``toString()``, a text header produces something like the -following:: - - $subject = $message->getHeaders()->get('Subject'); - $subject->setValue('amazing subject line'); - echo $subject->toString(); - - /* - - Subject: amazing subject line - - */ - -If the header contains any characters that are outside of the US-ASCII range -however, they will be encoded. This is nothing to be concerned about since mail -clients will decode them back:: - - $subject = $message->getHeaders()->get('Subject'); - $subject->setValue('contains – dash'); - echo $subject->toString(); - - /* - - Subject: contains =?utf-8?Q?=E2=80=93?= dash - - */ - -Parameterized Headers -~~~~~~~~~~~~~~~~~~~~~ - -Parameterized headers are text headers that contain key-value parameters -following the textual content. The Content-Type header of a message is a -parameterized header since it contains charset information after the content -type. - -The parameterized header type is a special type of text header. It extends the -text header by allowing additional information to follow it. All of the methods -from text headers are available in addition to the methods described here. - -Adding a parameterized header to a HeaderSet is done by using the -``addParameterizedHeader()`` method which takes a text value like -``addTextHeader()`` but it also accepts an associative array of key-value -parameters:: - - $message = new Swift_Message(); - $headers = $message->getHeaders(); - $headers->addParameterizedHeader( - 'Header-Name', 'header value', - ['foo' => 'bar'] - ); - -To change the text value of the header, call it's ``setValue()`` method just as -you do with text headers. - -To change the parameters in the header, call the header's ``setParameters()`` -method or the ``setParameter()`` method (note the pluralization):: - - $type = $message->getHeaders()->get('Content-Type'); - - // setParameters() takes an associative array - $type->setParameters([ - 'name' => 'file.txt', - 'charset' => 'iso-8859-1' - ]); - - // setParameter() takes two args for $key and $value - $type->setParameter('charset', 'iso-8859-1'); - -When output via ``toString()``, a parameterized header produces something like -the following:: - - $type = $message->getHeaders()->get('Content-Type'); - $type->setValue('text/html'); - $type->setParameter('charset', 'utf-8'); - - echo $type->toString(); - - /* - - Content-Type: text/html; charset=utf-8 - - */ - -If the header contains any characters that are outside of the US-ASCII range -however, they will be encoded, just like they are for text headers. This is -nothing to be concerned about since mail clients will decode them back. -Likewise, if the parameters contain any non-ascii characters they will be -encoded so that they can be transmitted safely:: - - $attachment = new Swift_Attachment(); - $disp = $attachment->getHeaders()->get('Content-Disposition'); - $disp->setValue('attachment'); - $disp->setParameter('filename', 'report–may.pdf'); - echo $disp->toString(); - - /* - - Content-Disposition: attachment; filename*=utf-8''report%E2%80%93may.pdf - - */ - -Date Headers -~~~~~~~~~~~~ - -Date headers contains an RFC 2822 formatted date (i.e. what PHP's ``date('r')`` -returns). They are used anywhere a date or time is needed to be presented as a -message header. - -The data on which a date header is modeled as a DateTimeImmutable object. The -object is used to create a correctly structured RFC 2822 formatted date with -timezone such as ``Tue, 17 Feb 2009 22:26:31 +1100``. - -The obvious place this header type is used is in the ``Date:`` header of the -message itself. - -It's easy to add a new date header to a HeaderSet. You do this by calling the -HeaderSet's ``addDateHeader()`` method:: - - $message = new Swift_Message(); - $headers = $message->getHeaders(); - $headers->addDateHeader('Your-Header', new DateTimeImmutable('3 days ago')); - -Changing the value of an existing date header is done by calling it's -``setDateTime()`` method:: - - $date = $message->getHeaders()->get('Date'); - $date->setDateTime(new DateTimeImmutable()); - -When output via ``toString()``, a date header produces something like the -following:: - - $date = $message->getHeaders()->get('Date'); - echo $date->toString(); - - /* - - Date: Wed, 18 Feb 2009 13:35:02 +1100 - - */ - -Mailbox (e-mail address) Headers -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Mailbox headers contain one or more email addresses, possibly with personalized -names attached to them. The data on which they are modeled is represented by an -associative array of email addresses and names. - -Mailbox headers are probably the most complex header type to understand in -Swift Mailer because they accept their input as an array which can take various -forms, as described in the previous chapter. - -All of the headers that contain e-mail addresses in a message -- with the -exception of ``Return-Path:`` which has a stricter syntax -- use this header -type. That is, ``To:``, ``From:`` etc. - -You add a new mailbox header to a HeaderSet by calling the HeaderSet's -``addMailboxHeader()`` method:: - - $message = new Swift_Message(); - $headers = $message->getHeaders(); - $headers->addMailboxHeader('Your-Header-Name', [ - 'person1@example.org' => 'Person Name One', - 'person2@example.org', - 'person3@example.org', - 'person4@example.org' => 'Another named person' - ]); - -Changing the value of an existing mailbox header is done by calling it's -``setNameAddresses()`` method:: - - $to = $message->getHeaders()->get('To'); - $to->setNameAddresses([ - 'joe@example.org' => 'Joe Bloggs', - 'john@example.org' => 'John Doe', - 'no-name@example.org' - ]); - -If you don't wish to concern yourself with the complicated accepted input -formats accepted by ``setNameAddresses()`` as described in the previous chapter -and you only want to set one or more addresses (not names) then you can just -use the ``setAddresses()`` method instead:: - - $to = $message->getHeaders()->get('To'); - $to->setAddresses([ - 'joe@example.org', - 'john@example.org', - 'no-name@example.org' - ]); - -.. note:: - - Both methods will accept the above input format in practice. - -If all you want to do is set a single address in the header, you can use a -string as the input parameter to ``setAddresses()`` and/or -``setNameAddresses()``:: - - $to = $message->getHeaders()->get('To'); - $to->setAddresses('joe-bloggs@example.org'); - -When output via ``toString()``, a mailbox header produces something like the -following:: - - $to = $message->getHeaders()->get('To'); - $to->setNameAddresses([ - 'person1@example.org' => 'Name of Person', - 'person2@example.org', - 'person3@example.org' => 'Another Person' - ]); - - echo $to->toString(); - - /* - - To: Name of Person , person2@example.org, Another Person - - - */ - -Internationalized domains are automatically converted to IDN encoding:: - - $to = $message->getHeaders()->get('To'); - $to->setAddresses('joe@ëxämple.org'); - - echo $to->toString(); - - /* - - To: joe@xn--xmple-gra1c.org - - */ - -ID Headers -~~~~~~~~~~ - -ID headers contain identifiers for the entity (or the message). The most -notable ID header is the Message-ID header on the message itself. - -An ID that exists inside an ID header looks more-or-less less like an email -address. For example, ``<1234955437.499becad62ec2@example.org>``. The part to -the left of the @ sign is usually unique, based on the current time and some -random factor. The part on the right is usually a domain name. - -Any ID passed to the header's ``setId()`` method absolutely MUST conform to -this structure, otherwise you'll get an Exception thrown at you by Swift Mailer -(a ``Swift_RfcComplianceException``). This is to ensure that the generated -email complies with relevant RFC documents and therefore is less likely to be -blocked as spam. - -It's easy to add a new ID header to a HeaderSet. You do this by calling the -HeaderSet's ``addIdHeader()`` method:: - - $message = new Swift_Message(); - $headers = $message->getHeaders(); - $headers->addIdHeader('Your-Header-Name', '123456.unqiue@example.org'); - -Changing the value of an existing ID header is done by calling its ``setId()`` -method:: - - $msgId = $message->getHeaders()->get('Message-ID'); - $msgId->setId(time() . '.' . uniqid('thing') . '@example.org'); - -When output via ``toString()``, an ID header produces something like the -following:: - - $msgId = $message->getHeaders()->get('Message-ID'); - echo $msgId->toString(); - - /* - - Message-ID: <1234955437.499becad62ec2@example.org> - - */ - -Path Headers -~~~~~~~~~~~~ - -Path headers are like very-restricted mailbox headers. They contain a single -email address with no associated name. The Return-Path header of a message is a -path header. - -You add a new path header to a HeaderSet by calling the HeaderSet's -``addPathHeader()`` method:: - - $message = new Swift_Message(); - $headers = $message->getHeaders(); - $headers->addPathHeader('Your-Header-Name', 'person@example.org'); - -Changing the value of an existing path header is done by calling its -``setAddress()`` method:: - - $return = $message->getHeaders()->get('Return-Path'); - $return->setAddress('my-address@example.org'); - -When output via ``toString()``, a path header produces something like the -following:: - - $return = $message->getHeaders()->get('Return-Path'); - $return->setAddress('person@example.org'); - echo $return->toString(); - - /* - - Return-Path: - - */ - -Header Operations ------------------ - -Working with the headers in a message involves knowing how to use the methods -on the HeaderSet and on the individual Headers within the HeaderSet. - -Adding new Headers -~~~~~~~~~~~~~~~~~~ - -New headers can be added to the HeaderSet by using one of the provided -``add..Header()`` methods. - -The added header will appear in the message when it is sent:: - - // Adding a custom header to a message - $message = new Swift_Message(); - $headers = $message->getHeaders(); - $headers->addTextHeader('X-Mine', 'something here'); - - // Adding a custom header to an attachment - $attachment = Swift_Attachment::fromPath('/path/to/doc.pdf'); - $attachment->getHeaders()->addDateHeader('X-Created-Time', time()); - -Retrieving Headers -~~~~~~~~~~~~~~~~~~ - -Headers are retrieved through the HeaderSet's ``get()`` and ``getAll()`` -methods:: - - $headers = $message->getHeaders(); - - // Get the To: header - $toHeader = $headers->get('To'); - - // Get all headers named "X-Foo" - $fooHeaders = $headers->getAll('X-Foo'); - - // Get the second header named "X-Foo" - $foo = $headers->get('X-Foo', 1); - - // Get all headers that are present - $all = $headers->getAll(); - -When using ``get()`` a single header is returned that matches the name (case -insensitive) that is passed to it. When using ``getAll()`` with a header name, -an array of headers with that name are returned. Calling ``getAll()`` with no -arguments returns an array of all headers present in the entity. - -.. note:: - - It's valid for some headers to appear more than once in a message (e.g. - the Received header). For this reason ``getAll()`` exists to fetch all - headers with a specified name. In addition, ``get()`` accepts an optional - numerical index, starting from zero to specify which header you want more - specifically. - -.. note:: - - If you want to modify the contents of the header and you don't know for - sure what type of header it is then you may need to check the type by - calling its ``getFieldType()`` method. - -Check if a Header Exists -~~~~~~~~~~~~~~~~~~~~~~~~ - -You can check if a named header is present in a HeaderSet by calling its -``has()`` method:: - - $headers = $message->getHeaders(); - - // Check if the To: header exists - if ($headers->has('To')) { - echo 'To: exists'; - } - - // Check if an X-Foo header exists twice (i.e. check for the 2nd one) - if ($headers->has('X-Foo', 1)) { - echo 'Second X-Foo header exists'; - } - -If the header exists, ``true`` will be returned or ``false`` if not. - -.. note:: - - It's valid for some headers to appear more than once in a message (e.g. - the Received header). For this reason ``has()`` accepts an optional - numerical index, starting from zero to specify which header you want to - check more specifically. - -Removing Headers -~~~~~~~~~~~~~~~~ - -Removing a Header from the HeaderSet is done by calling the HeaderSet's -``remove()`` or ``removeAll()`` methods:: - - $headers = $message->getHeaders(); - - // Remove the Subject: header - $headers->remove('Subject'); - - // Remove all X-Foo headers - $headers->removeAll('X-Foo'); - - // Remove only the second X-Foo header - $headers->remove('X-Foo', 1); - -When calling ``remove()`` a single header will be removed. When calling -``removeAll()`` all headers with the given name will be removed. If no headers -exist with the given name, no errors will occur. - -.. note:: - - It's valid for some headers to appear more than once in a message (e.g. - the Received header). For this reason ``remove()`` accepts an optional - numerical index, starting from zero to specify which header you want to - check more specifically. For the same reason, ``removeAll()`` exists to - remove all headers that have the given name. - -Modifying a Header's Content -~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -To change a Header's content you should know what type of header it is and then -call it's appropriate setter method. All headers also have a -``setFieldBodyModel()`` method that accepts a mixed parameter and delegates to -the correct setter:: - -The header will be updated inside the HeaderSet and the changes will be seen -when the message is sent:: - - $headers = $message->getHeaders(); - - // Change the Subject: header - $subj = $headers->get('Subject'); - $subj->setValue('new subject here'); - - // Change the To: header - $to = $headers->get('To'); - $to->setNameAddresses([ - 'person@example.org' => 'Person', - 'thing@example.org' - ]); - - // Using the setFieldBodyModel() just delegates to the correct method - // So here to calls setNameAddresses() - $to->setFieldBodyModel([ - 'person@example.org' => 'Person', - 'thing@example.org' - ]); diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/doc/index.rst b/paragonik-backend/vendor/swiftmailer/swiftmailer/doc/index.rst deleted file mode 100644 index 5d92889..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/doc/index.rst +++ /dev/null @@ -1,12 +0,0 @@ -Swiftmailer -=========== - -.. toctree:: - :maxdepth: 2 - - introduction - messages - headers - sending - plugins - japanese diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/doc/introduction.rst b/paragonik-backend/vendor/swiftmailer/swiftmailer/doc/introduction.rst deleted file mode 100644 index 774e9f4..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/doc/introduction.rst +++ /dev/null @@ -1,61 +0,0 @@ -Introduction -============ - -Swift Mailer is a for sending e-mails from PHP applications. - -System Requirements -------------------- - -Swift Mailer requires PHP 7.0 or higher (``proc_*`` functions must be -available). - -Swift Mailer does not work when used with function overloading as implemented -by ``mbstring`` when ``mbstring.func_overload`` is set to ``2``. - -Installation ------------- - -The recommended way to install Swiftmailer is via Composer: - -.. code-block:: bash - - $ composer require "swiftmailer/swiftmailer:^6.0" - -Basic Usage ------------ - -Here is the simplest way to send emails with Swift Mailer:: - - require_once '/path/to/vendor/autoload.php'; - - // Create the Transport - $transport = (new Swift_SmtpTransport('smtp.example.org', 25)) - ->setUsername('your username') - ->setPassword('your password') - ; - - // Create the Mailer using your created Transport - $mailer = new Swift_Mailer($transport); - - // Create a message - $message = (new Swift_Message('Wonderful Subject')) - ->setFrom(['john@doe.com' => 'John Doe']) - ->setTo(['receiver@domain.org', 'other@domain.org' => 'A name']) - ->setBody('Here is the message itself') - ; - - // Send the message - $result = $mailer->send($message); - -You can also use Sendmail as a transport:: - - // Sendmail - $transport = new Swift_SendmailTransport('/usr/sbin/sendmail -bs'); - -Getting Help ------------- - -For general support, use `Stack Overflow `_. - -For bug reports and feature requests, create a new ticket in `GitHub -`_. diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/doc/japanese.rst b/paragonik-backend/vendor/swiftmailer/swiftmailer/doc/japanese.rst deleted file mode 100644 index 5454821..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/doc/japanese.rst +++ /dev/null @@ -1,19 +0,0 @@ -Using Swift Mailer for Japanese Emails -====================================== - -To send emails in Japanese, you need to tweak the default configuration. - -Call the ``Swift::init()`` method with the following code as early as possible -in your code:: - - Swift::init(function () { - Swift_DependencyContainer::getInstance() - ->register('mime.qpheaderencoder') - ->asAliasOf('mime.base64headerencoder'); - - Swift_Preferences::getInstance()->setCharset('iso-2022-jp'); - }); - - /* rest of code goes here */ - -That's all! diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/doc/messages.rst b/paragonik-backend/vendor/swiftmailer/swiftmailer/doc/messages.rst deleted file mode 100644 index a3431a4..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/doc/messages.rst +++ /dev/null @@ -1,947 +0,0 @@ -Creating Messages -================= - -Creating messages in Swift Mailer is done by making use of the various MIME -entities provided with the library. Complex messages can be quickly created -with very little effort. - -Quick Reference ---------------- - -You can think of creating a Message as being similar to the steps you perform -when you click the Compose button in your mail client. You give it a subject, -specify some recipients, add any attachments and write your message:: - - // Create the message - $message = (new Swift_Message()) - - // Give the message a subject - ->setSubject('Your subject') - - // Set the From address with an associative array - ->setFrom(['john@doe.com' => 'John Doe']) - - // Set the To addresses with an associative array (setTo/setCc/setBcc) - ->setTo(['receiver@domain.org', 'other@domain.org' => 'A name']) - - // Give it a body - ->setBody('Here is the message itself') - - // And optionally an alternative body - ->addPart('Here is the message itself', 'text/html') - - // Optionally add any attachments - ->attach(Swift_Attachment::fromPath('my-document.pdf')) - ; - -Message Basics --------------- - -A message is a container for anything you want to send to somebody else. There -are several basic aspects of a message that you should know. - -An e-mail message is made up of several relatively simple entities that are -combined in different ways to achieve different results. All of these entities -have the same fundamental outline but serve a different purpose. The Message -itself can be defined as a MIME entity, an Attachment is a MIME entity, all -MIME parts are MIME entities -- and so on! - -The basic units of each MIME entity -- be it the Message itself, or an -Attachment -- are its Headers and its body: - -.. code-block:: text - - Header-Name: A header value - Other-Header: Another value - - The body content itself - -The Headers of a MIME entity, and its body must conform to some strict -standards defined by various RFC documents. Swift Mailer ensures that these -specifications are followed by using various types of object, including -Encoders and different Header types to generate the entity. - -The Structure of a Message -~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Of all of the MIME entities, a message -- ``Swift_Message`` is the largest and -most complex. It has many properties that can be updated and it can contain -other MIME entities -- attachments for example -- nested inside it. - -A Message has a lot of different Headers which are there to present information -about the message to the recipients' mail client. Most of these headers will be -familiar to the majority of users, but we'll list the basic ones. Although it's -possible to work directly with the Headers of a Message (or other MIME entity), -the standard Headers have accessor methods provided to abstract away the -complex details for you. For example, although the Date on a message is written -with a strict format, you only need to pass a DateTimeInterface instance to -``setDate()``. - -+-------------------------------+------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------+ -| Header | Description | Accessors | -+===============================+====================================================================================================================================+=============================================+ -| ``Message-ID`` | Identifies this message with a unique ID, usually containing the domain name and time generated | ``getId()`` / ``setId()`` | -+-------------------------------+------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------+ -| ``Return-Path`` | Specifies where bounces should go (Swift Mailer reads this for other uses) | ``getReturnPath()`` / ``setReturnPath()`` | -+-------------------------------+------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------+ -| ``From`` | Specifies the address of the person who the message is from. This can be multiple addresses if multiple people wrote the message. | ``getFrom()`` / ``setFrom()`` | -+-------------------------------+------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------+ -| ``Sender`` | Specifies the address of the person who physically sent the message (higher precedence than ``From:``) | ``getSender()`` / ``setSender()`` | -+-------------------------------+------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------+ -| ``To`` | Specifies the addresses of the intended recipients | ``getTo()`` / ``setTo()`` | -+-------------------------------+------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------+ -| ``Cc`` | Specifies the addresses of recipients who will be copied in on the message | ``getCc()`` / ``setCc()`` | -+-------------------------------+------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------+ -| ``Bcc`` | Specifies the addresses of recipients who the message will be blind-copied to. Other recipients will not be aware of these copies. | ``getBcc()`` / ``setBcc()`` | -+-------------------------------+------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------+ -| ``Reply-To`` | Specifies the address where replies are sent to | ``getReplyTo()`` / ``setReplyTo()`` | -+-------------------------------+------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------+ -| ``Subject`` | Specifies the subject line that is displayed in the recipients' mail client | ``getSubject()`` / ``setSubject()`` | -+-------------------------------+------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------+ -| ``Date`` | Specifies the date at which the message was sent | ``getDate()`` / ``setDate()`` | -+-------------------------------+------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------+ -| ``Content-Type`` | Specifies the format of the message (usually text/plain or text/html) | ``getContentType()`` / ``setContentType()`` | -+-------------------------------+------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------+ -| ``Content-Transfer-Encoding`` | Specifies the encoding scheme in the message | ``getEncoder()`` / ``setEncoder()`` | -+-------------------------------+------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------+ - -Working with a Message Object -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Although there are a lot of available methods on a message object, you only -need to make use of a small subset of them. Usually you'll use -``setSubject()``, ``setTo()`` and ``setFrom()`` before setting the body of your -message with ``setBody()``:: - - $message = new Swift_Message(); - $message->setSubject('My subject'); - -All MIME entities (including a message) have a ``toString()`` method that you -can call if you want to take a look at what is going to be sent. For example, -if you ``echo $message->toString();`` you would see something like this: - -.. code-block:: text - - Message-ID: <1230173678.4952f5eeb1432@swift.generated> - Date: Thu, 25 Dec 2008 13:54:38 +1100 - Subject: Example subject - From: Chris Corbyn - To: Receiver Name - MIME-Version: 1.0 - Content-Type: text/plain; charset=utf-8 - Content-Transfer-Encoding: quoted-printable - - Here is the message - -We'll take a closer look at the methods you use to create your message in the -following sections. - -Adding Content to Your Message ------------------------------- - -Rich content can be added to messages in Swift Mailer with relative ease by -calling methods such as ``setSubject()``, ``setBody()``, ``addPart()`` and -``attach()``. - -Setting the Subject Line -~~~~~~~~~~~~~~~~~~~~~~~~ - -The subject line, displayed in the recipients' mail client can be set with the -``setSubject()`` method, or as a parameter to ``new Swift_Message()``:: - - // Pass it as a parameter when you create the message - $message = new Swift_Message('My amazing subject'); - - // Or set it after like this - $message->setSubject('My amazing subject'); - -Setting the Body Content -~~~~~~~~~~~~~~~~~~~~~~~~ - -The body of the message -- seen when the user opens the message -- is specified -by calling the ``setBody()`` method. If an alternative body is to be included, -``addPart()`` can be used. - -The body of a message is the main part that is read by the user. Often people -want to send a message in HTML format (``text/html``), other times people want -to send in plain text (``text/plain``), or sometimes people want to send both -versions and allow the recipient to choose how they view the message. - -As a rule of thumb, if you're going to send a HTML email, always include a -plain-text equivalent of the same content so that users who prefer to read -plain text can do so. - -If the recipient's mail client offers preferences for displaying text vs. HTML -then the mail client will present that part to the user where available. In -other cases the mail client will display the "best" part it can - usually HTML -if you've included HTML:: - - // Pass it as a parameter when you create the message - $message = new Swift_Message('Subject here', 'My amazing body'); - - // Or set it after like this - $message->setBody('My amazing body', 'text/html'); - - // Add alternative parts with addPart() - $message->addPart('My amazing body in plain text', 'text/plain'); - -Attaching Files ---------------- - -Attachments are downloadable parts of a message and can be added by calling the -``attach()`` method on the message. You can add attachments that exist on disk, -or you can create attachments on-the-fly. - -Although we refer to files sent over e-mails as "attachments" -- because -they're attached to the message -- lots of other parts of the message are -actually "attached" even if we don't refer to these parts as attachments. - -File attachments are created by the ``Swift_Attachment`` class and then -attached to the message via the ``attach()`` method on it. For all of the -"every day" MIME types such as all image formats, word documents, PDFs and -spreadsheets you don't need to explicitly set the content-type of the -attachment, though it would do no harm to do so. For less common formats you -should set the content-type -- which we'll cover in a moment. - -Attaching Existing Files -~~~~~~~~~~~~~~~~~~~~~~~~ - -Files that already exist, either on disk or at a URL can be attached to a -message with just one line of code, using ``Swift_Attachment::fromPath()``. - -You can attach files that exist locally, or if your PHP installation has -``allow_url_fopen`` turned on you can attach files from other -websites. - -The attachment will be presented to the recipient as a downloadable file with -the same filename as the one you attached:: - - // Create the attachment - // * Note that you can technically leave the content-type parameter out - $attachment = Swift_Attachment::fromPath('/path/to/image.jpg', 'image/jpeg'); - - // Attach it to the message - $message->attach($attachment); - - // The two statements above could be written in one line instead - $message->attach(Swift_Attachment::fromPath('/path/to/image.jpg')); - - // You can attach files from a URL if allow_url_fopen is on in php.ini - $message->attach(Swift_Attachment::fromPath('http://site.tld/logo.png')); - -Setting the Filename -~~~~~~~~~~~~~~~~~~~~ - -Usually you don't need to explicitly set the filename of an attachment because -the name of the attached file will be used by default, but if you want to set -the filename you use the ``setFilename()`` method of the Attachment. - -The attachment will be attached in the normal way, but meta-data sent inside -the email will rename the file to something else:: - - // Create the attachment and call its setFilename() method - $attachment = Swift_Attachment::fromPath('/path/to/image.jpg') - ->setFilename('cool.jpg'); - - // Because there's a fluid interface, you can do this in one statement - $message->attach( - Swift_Attachment::fromPath('/path/to/image.jpg')->setFilename('cool.jpg') - ); - -Attaching Dynamic Content -~~~~~~~~~~~~~~~~~~~~~~~~~ - -Files that are generated at runtime, such as PDF documents or images created -via GD can be attached directly to a message without writing them out to disk. -Use ``Swift_Attachment`` directly. - -The attachment will be presented to the recipient as a downloadable file -with the filename and content-type you specify:: - - // Create your file contents in the normal way, but don't write them to disk - $data = create_my_pdf_data(); - - // Create the attachment with your data - $attachment = new Swift_Attachment($data, 'my-file.pdf', 'application/pdf'); - - // Attach it to the message - $message->attach($attachment); - - - // You can alternatively use method chaining to build the attachment - $attachment = (new Swift_Attachment()) - ->setFilename('my-file.pdf') - ->setContentType('application/pdf') - ->setBody($data) - ; - -.. note:: - - If you would usually write the file to disk anyway you should just attach - it with ``Swift_Attachment::fromPath()`` since this will use less memory. - -Changing the Disposition -~~~~~~~~~~~~~~~~~~~~~~~~ - -Attachments just appear as files that can be saved to the Desktop if desired. -You can make attachment appear inline where possible by using the -``setDisposition()`` method of an attachment. - -The attachment will be displayed within the email viewing window if the mail -client knows how to display it:: - - // Create the attachment and call its setDisposition() method - $attachment = Swift_Attachment::fromPath('/path/to/image.jpg') - ->setDisposition('inline'); - - - // Because there's a fluid interface, you can do this in one statement - $message->attach( - Swift_Attachment::fromPath('/path/to/image.jpg')->setDisposition('inline') - ); - -.. note:: - - If you try to create an inline attachment for a non-displayable file type - such as a ZIP file, the mail client should just present the attachment as - normal. - -Embedding Inline Media Files -~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Often, people want to include an image or other content inline with a HTML -message. It's easy to do this with HTML linking to remote resources, but this -approach is usually blocked by mail clients. Swift Mailer allows you to embed -your media directly into the message. - -Mail clients usually block downloads from remote resources because this -technique was often abused as a mean of tracking who opened an email. If -you're sending a HTML email and you want to include an image in the message -another approach you can take is to embed the image directly. - -Swift Mailer makes embedding files into messages extremely streamlined. You -embed a file by calling the ``embed()`` method of the message, -which returns a value you can use in a ``src`` or -``href`` attribute in your HTML. - -Just like with attachments, it's possible to embed dynamically generated -content without having an existing file available. - -The embedded files are sent in the email as a special type of attachment that -has a unique ID used to reference them within your HTML attributes. On mail -clients that do not support embedded files they may appear as attachments. - -Although this is commonly done for images, in theory it will work for any -displayable (or playable) media type. Support for other media types (such as -video) is dependent on the mail client however. - -Embedding Existing Files -........................ - -Files that already exist, either on disk or at a URL can be embedded in a -message with just one line of code, using ``Swift_EmbeddedFile::fromPath()``. - -You can embed files that exist locally, or if your PHP installation has -``allow_url_fopen`` turned on you can embed files from other websites. - -The file will be displayed with the message inline with the HTML wherever its ID -is used as a ``src`` attribute:: - - // Create the message - $message = new Swift_Message('My subject'); - - // Set the body - $message->setBody( - '' . - ' ' . - ' Here is an image Image' . - ' Rest of message' . - ' ' . - '', - 'text/html' // Mark the content-type as HTML - ); - - // You can embed files from a URL if allow_url_fopen is on in php.ini - $message->setBody( - '' . - ' ' . - ' Here is an image Image' . - ' Rest of message' . - ' ' . - '', - 'text/html' - ); - -.. note:: - - ``Swift_Image`` and ``Swift_EmbeddedFile`` are just aliases of one another. - ``Swift_Image`` exists for semantic purposes. - -.. note:: - - You can embed files in two stages if you prefer. Just capture the return - value of ``embed()`` in a variable and use that as the ``src`` attribute:: - - // If placing the embed() code inline becomes cumbersome - // it's easy to do this in two steps - $cid = $message->embed(Swift_Image::fromPath('image.png')); - - $message->setBody( - '' . - ' ' . - ' Here is an image Image' . - ' Rest of message' . - ' ' . - '', - 'text/html' // Mark the content-type as HTML - ); - -Embedding Dynamic Content -......................... - -Images that are generated at runtime, such as images created via GD can be -embedded directly to a message without writing them out to disk. Use the -standard ``new Swift_Image()`` method. - -The file will be displayed with the message inline with the HTML wherever its ID -is used as a ``src`` attribute:: - - // Create your file contents in the normal way, but don't write them to disk - $img_data = create_my_image_data(); - - // Create the message - $message = new Swift_Message('My subject'); - - // Set the body - $message->setBody( - '' . - ' ' . - ' Here is an image Image' . - ' Rest of message' . - ' ' . - '', - 'text/html' // Mark the content-type as HTML - ); - -.. note:: - - ``Swift_Image`` and ``Swift_EmbeddedFile`` are just aliases of one another. - ``Swift_Image`` exists for semantic purposes. - -.. note:: - - You can embed files in two stages if you prefer. Just capture the return - value of ``embed()`` in a variable and use that as the ``src`` attribute:: - - // If placing the embed() code inline becomes cumbersome - // it's easy to do this in two steps - $cid = $message->embed(new Swift_Image($img_data, 'image.jpg', 'image/jpeg')); - - $message->setBody( - '' . - ' ' . - ' Here is an image Image' . - ' Rest of message' . - ' ' . - '', - 'text/html' // Mark the content-type as HTML - ); - -Adding Recipients to Your Message ---------------------------------- - -Recipients are specified within the message itself via ``setTo()``, ``setCc()`` -and ``setBcc()``. Swift Mailer reads these recipients from the message when it -gets sent so that it knows where to send the message to. - -Message recipients are one of three types: - -* ``To:`` recipients -- the primary recipients (required) - -* ``Cc:`` recipients -- receive a copy of the message (optional) - -* ``Bcc:`` recipients -- hidden from other recipients (optional) - -Each type can contain one, or several addresses. It's possible to list only the -addresses of the recipients, or you can personalize the address by providing -the real name of the recipient. - -Make sure to add only valid email addresses as recipients. If you try to add an -invalid email address with ``setTo()``, ``setCc()`` or ``setBcc()``, Swift -Mailer will throw a ``Swift_RfcComplianceException``. - -If you add recipients automatically based on a data source that may contain -invalid email addresses, you can prevent possible exceptions by validating the -addresses using:: - use Egulias\EmailValidator\EmailValidator; - use Egulias\EmailValidator\Validation\RFCValidation; - - $validator = new EmailValidator(); - $validator->isValid("example@example.com", new RFCValidation()); //true -and only adding addresses that validate. Another way would be to wrap your ``setTo()``, ``setCc()`` and -``setBcc()`` calls in a try-catch block and handle the -``Swift_RfcComplianceException`` in the catch block. - -.. sidebar:: Syntax for Addresses - - If you only wish to refer to a single email address (for example your - ``From:`` address) then you can just use a string:: - - $message->setFrom('some@address.tld'); - - If you want to include a name then you must use an associative array:: - - $message->setFrom(['some@address.tld' => 'The Name']); - - If you want to include multiple addresses then you must use an array:: - - $message->setTo(['some@address.tld', 'other@address.tld']); - - You can mix personalized (addresses with a name) and non-personalized - addresses in the same list by mixing the use of associative and - non-associative array syntax:: - - $message->setTo([ - 'recipient-with-name@example.org' => 'Recipient Name One', - 'no-name@example.org', // Note that this is not a key-value pair - 'named-recipient@example.org' => 'Recipient Name Two' - ]); - -Setting ``To:`` Recipients -~~~~~~~~~~~~~~~~~~~~~~~~~~ - -``To:`` recipients are required in a message and are set with the ``setTo()`` -or ``addTo()`` methods of the message. - -To set ``To:`` recipients, create the message object using either ``new -Swift_Message( ... )``, then call the ``setTo()`` method with a complete array -of addresses, or use the ``addTo()`` method to iteratively add recipients. - -The ``setTo()`` method accepts input in various formats as described earlier in -this chapter. The ``addTo()`` method takes either one or two parameters. The -first being the email address and the second optional parameter being the name -of the recipient. - -``To:`` recipients are visible in the message headers and will be seen by the -other recipients:: - - // Using setTo() to set all recipients in one go - $message->setTo([ - 'person1@example.org', - 'person2@otherdomain.org' => 'Person 2 Name', - 'person3@example.org', - 'person4@example.org', - 'person5@example.org' => 'Person 5 Name' - ]); - -.. note:: - - Multiple calls to ``setTo()`` will not add new recipients -- each - call overrides the previous calls. If you want to iteratively add - recipients, use the ``addTo()`` method:: - - // Using addTo() to add recipients iteratively - $message->addTo('person1@example.org'); - $message->addTo('person2@example.org', 'Person 2 Name'); - -Setting ``Cc:`` Recipients -~~~~~~~~~~~~~~~~~~~~~~~~~~ - -``Cc:`` recipients are set with the ``setCc()`` or ``addCc()`` methods of the -message. - -To set ``Cc:`` recipients, create the message object using either ``new -Swift_Message( ... )``, then call the ``setCc()`` method with a complete array -of addresses, or use the ``addCc()`` method to iteratively add recipients. - -The ``setCc()`` method accepts input in various formats as described earlier in -this chapter. The ``addCc()`` method takes either one or two parameters. The -first being the email address and the second optional parameter being the name -of the recipient. - -``Cc:`` recipients are visible in the message headers and will be seen by the -other recipients:: - - // Using setTo() to set all recipients in one go - $message->setTo([ - 'person1@example.org', - 'person2@otherdomain.org' => 'Person 2 Name', - 'person3@example.org', - 'person4@example.org', - 'person5@example.org' => 'Person 5 Name' - ]); - -.. note:: - - Multiple calls to ``setCc()`` will not add new recipients -- each call - overrides the previous calls. If you want to iteratively add Cc: - recipients, use the ``addCc()`` method:: - - // Using addCc() to add recipients iteratively - $message->addCc('person1@example.org'); - $message->addCc('person2@example.org', 'Person 2 Name'); - -Setting ``Bcc:`` Recipients -~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -``Bcc:`` recipients receive a copy of the message without anybody else knowing -it, and are set with the ``setBcc()`` or ``addBcc()`` methods of the message. - -To set ``Bcc:`` recipients, create the message object using either ``new -Swift_Message( ... )``, then call the ``setBcc()`` method with a complete array -of addresses, or use the ``addBcc()`` method to iteratively add recipients. - -The ``setBcc()`` method accepts input in various formats as described earlier -in this chapter. The ``addBcc()`` method takes either one or two parameters. -The first being the email address and the second optional parameter being the -name of the recipient. - -Only the individual ``Bcc:`` recipient will see their address in the message -headers. Other recipients (including other ``Bcc:`` recipients) will not see -the address:: - - // Using setBcc() to set all recipients in one go - $message->setBcc([ - 'person1@example.org', - 'person2@otherdomain.org' => 'Person 2 Name', - 'person3@example.org', - 'person4@example.org', - 'person5@example.org' => 'Person 5 Name' - ]); - -.. note:: - - Multiple calls to ``setBcc()`` will not add new recipients -- each call - overrides the previous calls. If you want to iteratively add Bcc: - recipients, use the ``addBcc()`` method:: - - // Using addBcc() to add recipients iteratively - $message->addBcc('person1@example.org'); - $message->addBcc('person2@example.org', 'Person 2 Name'); - -.. sidebar:: Internationalized Email Addresses - - Traditionally only ASCII characters have been allowed in email addresses. - With the introduction of internationalized domain names (IDNs), non-ASCII - characters may appear in the domain name. By default, Swiftmailer encodes - such domain names in Punycode (e.g. xn--xample-ova.invalid). This is - compatible with all mail servers. - - RFC 6531 introduced an SMTP extension, SMTPUTF8, that allows non-ASCII - characters in email addresses on both sides of the @ sign. To send to such - addresses, your outbound SMTP server must support the SMTPUTF8 extension. - You should use the ``Swift_AddressEncoder_Utf8AddressEncoder`` address - encoder and enable the ``Swift_Transport_Esmtp_SmtpUtf8Handler`` SMTP - extension handler:: - - $smtpUtf8 = new Swift_Transport_Esmtp_SmtpUtf8Handler(); - $transport->setExtensionHandlers([$smtpUtf8]); - $utf8Encoder = new Swift_AddressEncoder_Utf8AddressEncoder(); - $transport->setAddressEncoder($utf8Encoder); - -Specifying Sender Details -------------------------- - -An email must include information about who sent it. Usually this is managed by -the ``From:`` address, however there are other options. - -The sender information is contained in three possible places: - -* ``From:`` -- the address(es) of who wrote the message (required) - -* ``Sender:`` -- the address of the single person who sent the message - (optional) - -* ``Return-Path:`` -- the address where bounces should go to (optional) - -You must always include a ``From:`` address by using ``setFrom()`` on the -message. Swift Mailer will use this as the default ``Return-Path:`` unless -otherwise specified. - -The ``Sender:`` address exists because the person who actually sent the email -may not be the person who wrote the email. It has a higher precedence than the -``From:`` address and will be used as the ``Return-Path:`` unless otherwise -specified. - -Setting the ``From:`` Address -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -A ``From:`` address is required and is set with the ``setFrom()`` method of the -message. ``From:`` addresses specify who actually wrote the email, and usually -who sent it. - -What most people probably don't realize is that you can have more than one -``From:`` address if more than one person wrote the email -- for example if an -email was put together by a committee. - -The ``From:`` address(es) are visible in the message headers and will be seen -by the recipients. - -.. note:: - - If you set multiple ``From:`` addresses then you absolutely must set a - ``Sender:`` address to indicate who physically sent the message. - -:: - - // Set a single From: address - $message->setFrom('your@address.tld'); - - // Set a From: address including a name - $message->setFrom(['your@address.tld' => 'Your Name']); - - // Set multiple From: addresses if multiple people wrote the email - $message->setFrom([ - 'person1@example.org' => 'Sender One', - 'person2@example.org' => 'Sender Two' - ]); - -Setting the ``Sender:`` Address -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -A ``Sender:`` address specifies who sent the message and is set with the -``setSender()`` method of the message. - -The ``Sender:`` address is visible in the message headers and will be seen by -the recipients. - -This address will be used as the ``Return-Path:`` unless otherwise specified. - -.. note:: - - If you set multiple ``From:`` addresses then you absolutely must set a - ``Sender:`` address to indicate who physically sent the message. - -You must not set more than one sender address on a message because it's not -possible for more than one person to send a single message:: - - $message->setSender('your@address.tld'); - -Setting the ``Return-Path:`` (Bounce) Address -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The ``Return-Path:`` address specifies where bounce notifications should be -sent and is set with the ``setReturnPath()`` method of the message. - -You can only have one ``Return-Path:`` and it must not include a personal name. - -Bounce notifications will be sent to this address:: - - $message->setReturnPath('bounces@address.tld'); - -Signed/Encrypted Message ------------------------- - -To increase the integrity/security of a message it is possible to sign and/or -encrypt an message using one or multiple signers. - -S/MIME -~~~~~~ - -S/MIME can sign and/or encrypt a message using the OpenSSL extension. - -When signing a message, the signer creates a signature of the entire content of -the message (including attachments). - -The certificate and private key must be PEM encoded, and can be either created -using for example OpenSSL or obtained at an official Certificate Authority (CA). - -**The recipient must have the CA certificate in the list of trusted issuers in -order to verify the signature.** - -**Make sure the certificate supports emailProtection.** - -When using OpenSSL this can done by the including the *-addtrust -emailProtection* parameter when creating the certificate:: - - $message = new Swift_Message(); - - $smimeSigner = new Swift_Signers_SMimeSigner(); - $smimeSigner->setSignCertificate('/path/to/certificate.pem', '/path/to/private-key.pem'); - $message->attachSigner($smimeSigner); - -When the private key is secured using a passphrase use the following instead:: - - $message = new Swift_Message(); - - $smimeSigner = new Swift_Signers_SMimeSigner(); - $smimeSigner->setSignCertificate('/path/to/certificate.pem', ['/path/to/private-key.pem', 'passphrase']); - $message->attachSigner($smimeSigner); - -By default the signature is added as attachment, making the message still -readable for mailing agents not supporting signed messages. - -Storing the message as binary is also possible but not recommended:: - - $smimeSigner->setSignCertificate('/path/to/certificate.pem', '/path/to/private-key.pem', PKCS7_BINARY); - -When encrypting the message (also known as enveloping), the entire message -(including attachments) is encrypted using a certificate, and the recipient can -then decrypt the message using corresponding private key. - -Encrypting ensures nobody can read the contents of the message without the -private key. - -Normally the recipient provides a certificate for encrypting and keeping the -decryption key private. - -Using both signing and encrypting is also possible:: - - $message = new Swift_Message(); - - $smimeSigner = new Swift_Signers_SMimeSigner(); - $smimeSigner->setSignCertificate('/path/to/sign-certificate.pem', '/path/to/private-key.pem'); - $smimeSigner->setEncryptCertificate('/path/to/encrypt-certificate.pem'); - $message->attachSigner($smimeSigner); - -The used encryption cipher can be set as the second parameter of -setEncryptCertificate() - -See https://secure.php.net/manual/openssl.ciphers for a list of supported ciphers. - -By default the message is first signed and then encrypted, this can be changed -by adding:: - - $smimeSigner->setSignThenEncrypt(false); - -**Changing this is not recommended as most mail agents don't support this -none-standard way.** - -Only when having trouble with sign then encrypt method, this should be changed. - -Requesting a Read Receipt -------------------------- - -It is possible to request a read-receipt to be sent to an address when the -email is opened. To request a read receipt set the address with -``setReadReceiptTo()``: - - $message->setReadReceiptTo('your@address.tld'); - -When the email is opened, if the mail client supports it a notification will be -sent to this address. - -.. note:: - - Read receipts won't work for the majority of recipients since many mail - clients auto-disable them. Those clients that will send a read receipt - will make the user aware that one has been requested. - -Setting the Character Set -------------------------- - -The character set of the message (and its MIME parts) is set with the -``setCharset()`` method. You can also change the global default of UTF-8 by -working with the ``Swift_Preferences`` class. - -Swift Mailer will default to the UTF-8 character set unless otherwise -overridden. UTF-8 will work in most instances since it includes all of the -standard US keyboard characters in addition to most international characters. - -It is absolutely vital however that you know what character set your message -(or it's MIME parts) are written in otherwise your message may be received -completely garbled. - -There are two places in Swift Mailer where you can change the character set: - -* In the ``Swift_Preferences`` class - -* On each individual message and/or MIME part - -To set the character set of your Message: - -* Change the global UTF-8 setting by calling - ``Swift_Preferences::setCharset()``; or - -* Call the ``setCharset()`` method on the message or the MIME part:: - - // Approach 1: Change the global setting (suggested) - Swift_Preferences::getInstance()->setCharset('iso-8859-2'); - - // Approach 2: Call the setCharset() method of the message - $message = (new Swift_Message()) - ->setCharset('iso-8859-2'); - - // Approach 3: Specify the charset when setting the body - $message->setBody('My body', 'text/html', 'iso-8859-2'); - - // Approach 4: Specify the charset for each part added - $message->addPart('My part', 'text/plain', 'iso-8859-2'); - -Setting the Encoding --------------------- - -The body of each MIME part needs to be encoded. Binary attachments are encoded -in base64 using the ``Swift_Mime_ContentEncoder_Base64ContentEncoder``. Text -parts are traditionally encoded in quoted-printable using -``Swift_Mime_ContentEncoder_QpContentEncoder`` or -``Swift_Mime_ContentEncoder_NativeQpContentEncoder``. - -The encoder of the message or MIME part is set with the ``setEncoder()`` method. - -Quoted-printable is the safe choice, because it converts 8-bit text as 7-bit. -Most modern SMTP servers support 8-bit text. This is advertised via the 8BITMIME -SMTP extension. If your outbound SMTP server supports this SMTP extension, and -it supports downgrading the message (e.g converting to quoted-printable on the -fly) when delivering to a downstream server that does not support the extension, -you may wish to use ``Swift_Mime_ContentEncoder_PlainContentEncoder`` in -``8bit`` mode instead. This has the advantage that the source data is slightly -more readable and compact, especially for non-Western languages. - - $eightBitMime = new Swift_Transport_Esmtp_EightBitMimeHandler(); - $transport->setExtensionHandlers([$eightBitMime]); - $plainEncoder = new Swift_Mime_ContentEncoder_PlainContentEncoder('8bit'); - $message->setEncoder($plainEncoder); - -Setting the Line Length ------------------------ - -The length of lines in a message can be changed by using the -``setMaxLineLength()`` method on the message:: - - $message->setMaxLineLength(1000); - -Swift Mailer defaults to using 78 characters per line in a message. This is -done for historical reasons and so that the message can be easily viewed in -plain-text terminals - -Lines that are longer than the line length specified will be wrapped between -words. - -.. note:: - - You should never set a maximum length longer than 1000 characters - according to RFC 2822. Doing so could have unspecified side-effects such - as truncating parts of your message when it is transported between SMTP - servers. - -Setting the Message Priority ----------------------------- - -You can change the priority of the message with ``setPriority()``. Setting the -priority will not change the way your email is sent -- it is purely an -indicative setting for the recipient:: - - // Indicate "High" priority - $message->setPriority(2); - -The priority of a message is an indication to the recipient what significance -it has. Swift Mailer allows you to set the priority by calling the -``setPriority`` method. This method takes an integer value between 1 and 5: - -* ``Swift_Mime_SimpleMessage::PRIORITY_HIGHEST``: 1 -* ``Swift_Mime_SimpleMessage::PRIORITY_HIGH``: 2 -* ``Swift_Mime_SimpleMessage::PRIORITY_NORMAL``: 3 -* ``Swift_Mime_SimpleMessage::PRIORITY_LOW``: 4 -* ``Swift_Mime_SimpleMessage::PRIORITY_LOWEST``: 5 - -:: - - // Or use the constant to be more explicit - $message->setPriority(Swift_Mime_SimpleMessage::PRIORITY_HIGH); diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/doc/plugins.rst b/paragonik-backend/vendor/swiftmailer/swiftmailer/doc/plugins.rst deleted file mode 100644 index 548b07f..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/doc/plugins.rst +++ /dev/null @@ -1,337 +0,0 @@ -Plugins -======= - -Plugins exist to extend, or modify the behaviour of Swift Mailer. They respond -to Events that are fired within the Transports during sending. - -There are a number of Plugins provided as part of the base Swift Mailer package -and they all follow a common interface to respond to Events fired within the -library. Interfaces are provided to "listen" to each type of Event fired and to -act as desired when a listened-to Event occurs. - -Although several plugins are provided with Swift Mailer out-of-the-box, the -Events system has been specifically designed to make it easy for experienced -object-oriented developers to write their own plugins in order to achieve -goals that may not be possible with the base library. - -AntiFlood Plugin ----------------- - -Many SMTP servers have limits on the number of messages that may be sent during -any single SMTP connection. The AntiFlood plugin provides a way to stay within -this limit while still managing a large number of emails. - -A typical limit for a single connection is 100 emails. If the server you -connect to imposes such a limit, it expects you to disconnect after that number -of emails has been sent. You could manage this manually within a loop, but the -AntiFlood plugin provides the necessary wrapper code so that you don't need to -worry about this logic. - -Regardless of limits imposed by the server, it's usually a good idea to be -conservative with the resources of the SMTP server. Sending will become -sluggish if the server is being over-used so using the AntiFlood plugin will -not be a bad idea even if no limits exist. - -The AntiFlood plugin's logic is basically to disconnect and the immediately -re-connect with the SMTP server every X number of emails sent, where X is a -number you specify to the plugin. - -You can also specify a time period in seconds that Swift Mailer should pause -for between the disconnect/re-connect process. It's a good idea to pause for a -short time (say 30 seconds every 100 emails) simply to give the SMTP server a -chance to process its queue and recover some resources. - -Using the AntiFlood Plugin -~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The AntiFlood Plugin -- like all plugins -- is added with the Mailer class's -``registerPlugin()`` method. It takes two constructor parameters: the number of -emails to pause after, and optionally the number of seconds to pause for. - -When Swift Mailer sends messages it will count the number of messages that have -been sent since the last re-connect. Once the number hits your specified -threshold it will disconnect and re-connect, optionally pausing for a specified -amount of time:: - - // Create the Mailer using any Transport - $mailer = new Swift_Mailer( - new Swift_SmtpTransport('smtp.example.org', 25) - ); - - // Use AntiFlood to re-connect after 100 emails - $mailer->registerPlugin(new Swift_Plugins_AntiFloodPlugin(100)); - - // And specify a time in seconds to pause for (30 secs) - $mailer->registerPlugin(new Swift_Plugins_AntiFloodPlugin(100, 30)); - - // Continue sending as normal - for ($lotsOfRecipients as $recipient) { - ... - - $mailer->send( ... ); - } - -Throttler Plugin ----------------- - -If your SMTP server has restrictions in place to limit the rate at which you -send emails, then your code will need to be aware of this rate-limiting. The -Throttler plugin makes Swift Mailer run at a rate-limited speed. - -Many shared hosts don't open their SMTP servers as a free-for-all. Usually they -have policies in place (probably to discourage spammers) that only allow you to -send a fixed number of emails per-hour/day. - -The Throttler plugin supports two modes of rate-limiting and with each, you -will need to do that math to figure out the values you want. The plugin can -limit based on the number of emails per minute, or the number of -bytes-transferred per-minute. - -Using the Throttler Plugin -~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The Throttler Plugin -- like all plugins -- is added with the Mailer class' -``registerPlugin()`` method. It has two required constructor parameters that -tell it how to do its rate-limiting. - -When Swift Mailer sends messages it will keep track of the rate at which -sending messages is occurring. If it realises that sending is happening too -fast, it will cause your program to ``sleep()`` for enough time to average out -the rate:: - - // Create the Mailer using any Transport - $mailer = new Swift_Mailer( - new Swift_SmtpTransport('smtp.example.org', 25) - ); - - // Rate limit to 100 emails per-minute - $mailer->registerPlugin(new Swift_Plugins_ThrottlerPlugin( - 100, Swift_Plugins_ThrottlerPlugin::MESSAGES_PER_MINUTE - )); - - // Rate limit to 10MB per-minute - $mailer->registerPlugin(new Swift_Plugins_ThrottlerPlugin( - 1024 * 1024 * 10, Swift_Plugins_ThrottlerPlugin::BYTES_PER_MINUTE - )); - - // Continue sending as normal - for ($lotsOfRecipients as $recipient) { - ... - - $mailer->send( ... ); - } - -Logger Plugin -------------- - -The Logger plugins helps with debugging during the process of sending. It can -help to identify why an SMTP server is rejecting addresses, or any other -hard-to-find problems that may arise. - -The Logger plugin comes in two parts. There's the plugin itself, along with one -of a number of possible Loggers that you may choose to use. For example, the -logger may output messages directly in realtime, or it may capture messages in -an array. - -One other notable feature is the way in which the Logger plugin changes -Exception messages. If Exceptions are being thrown but the error message does -not provide conclusive information as to the source of the problem (such as an -ambiguous SMTP error) the Logger plugin includes the entire SMTP transcript in -the error message so that debugging becomes a simpler task. - -There are a few available Loggers included with Swift Mailer, but writing your -own implementation is incredibly simple and is achieved by creating a short -class that implements the ``Swift_Plugins_Logger`` interface. - -* ``Swift_Plugins_Loggers_ArrayLogger``: Keeps a collection of log messages - inside an array. The array content can be cleared or dumped out to the screen. - -* ``Swift_Plugins_Loggers_EchoLogger``: Prints output to the screen in - realtime. Handy for very rudimentary debug output. - -Using the Logger Plugin -~~~~~~~~~~~~~~~~~~~~~~~ - -The Logger Plugin -- like all plugins -- is added with the Mailer class' -``registerPlugin()`` method. It accepts an instance of ``Swift_Plugins_Logger`` -in its constructor. - -When Swift Mailer sends messages it will keep a log of all the interactions -with the underlying Transport being used. Depending upon the Logger that has -been used the behaviour will differ, but all implementations offer a way to get -the contents of the log:: - - // Create the Mailer using any Transport - $mailer = new Swift_Mailer( - new Swift_SmtpTransport('smtp.example.org', 25) - ); - - // To use the ArrayLogger - $logger = new Swift_Plugins_Loggers_ArrayLogger(); - $mailer->registerPlugin(new Swift_Plugins_LoggerPlugin($logger)); - - // Or to use the Echo Logger - $logger = new Swift_Plugins_Loggers_EchoLogger(); - $mailer->registerPlugin(new Swift_Plugins_LoggerPlugin($logger)); - - // Continue sending as normal - for ($lotsOfRecipients as $recipient) { - ... - - $mailer->send( ... ); - } - - // Dump the log contents - // NOTE: The EchoLogger dumps in realtime so dump() does nothing for it - echo $logger->dump(); - -Decorator Plugin ----------------- - -Often there's a need to send the same message to multiple recipients, but with -tiny variations such as the recipient's name being used inside the message -body. The Decorator plugin aims to provide a solution for allowing these small -differences. - -The decorator plugin works by intercepting the sending process of Swift Mailer, -reading the email address in the To: field and then looking up a set of -replacements for a template. - -While the use of this plugin is simple, it is probably the most commonly -misunderstood plugin due to the way in which it works. The typical mistake -users make is to try registering the plugin multiple times (once for each -recipient) -- inside a loop for example. This is incorrect. - -The Decorator plugin should be registered just once, but containing the list of -all recipients prior to sending. It will use this list of recipients to find -the required replacements during sending. - -Using the Decorator Plugin -~~~~~~~~~~~~~~~~~~~~~~~~~~ - -To use the Decorator plugin, simply create an associative array of replacements -based on email addresses and then use the mailer's ``registerPlugin()`` method -to add the plugin. - -First create an associative array of replacements based on the email addresses -you'll be sending the message to. - -.. note:: - - The replacements array becomes a 2-dimensional array whose keys are the - email addresses and whose values are an associative array of replacements - for that email address. The curly braces used in this example can be any - type of syntax you choose, provided they match the placeholders in your - email template:: - - $replacements = []; - foreach ($users as $user) { - $replacements[$user['email']] = [ - '{username}'=>$user['username'], - '{resetcode}'=>$user['resetcode'] - ]; - } - -Now create an instance of the Decorator plugin using this array of replacements -and then register it with the Mailer. Do this only once! - -:: - - $decorator = new Swift_Plugins_DecoratorPlugin($replacements); - - $mailer->registerPlugin($decorator); - -When you create your message, replace elements in the body (and/or the subject -line) with your placeholders:: - - $message = (new Swift_Message()) - ->setSubject('Important notice for {username}') - ->setBody( - "Hello {username}, you requested to reset your password.\n" . - "Please visit https://example.com/pwreset and use the reset code {resetcode} to set a new password." - ) - ; - - foreach ($users as $user) { - $message->addTo($user['email']); - } - -When you send this message to each of your recipients listed in your -``$replacements`` array they will receive a message customized for just -themselves. For example, the message used above when received may appear like -this to one user: - -.. code-block:: text - - Subject: Important notice for smilingsunshine2009 - - Hello smilingsunshine2009, you requested to reset your password. - Please visit https://example.com/pwreset and use the reset code 183457 to set a new password. - -While another use may receive the message as: - -.. code-block:: text - - Subject: Important notice for billy-bo-bob - - Hello billy-bo-bob, you requested to reset your password. - Please visit https://example.com/pwreset and use the reset code 539127 to set a new password. - -While the decorator plugin provides a means to solve this problem, there are -various ways you could tackle this problem without the need for a plugin. We're -trying to come up with a better way ourselves and while we have several -(obvious) ideas we don't quite have the perfect solution to go ahead and -implement it. Watch this space. - -Providing Your Own Replacements Lookup for the Decorator -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Filling an array with replacements may not be the best solution for providing -replacement information to the decorator. If you have a more elegant algorithm -that performs replacement lookups on-the-fly you may provide your own -implementation. - -Providing your own replacements lookup implementation for the Decorator is -simply a matter of passing an instance of -``Swift_Plugins_Decorator_Replacements`` to the decorator plugin's constructor, -rather than passing in an array. - -The Replacements interface is very simple to implement since it has just one -method: ``getReplacementsFor($address)``. - -Imagine you want to look up replacements from a database on-the-fly, you might -provide an implementation that does this. You need to create a small class:: - - class DbReplacements implements Swift_Plugins_Decorator_Replacements { - public function getReplacementsFor($address) { - global $db; // Your PDO instance with a connection to your database - $query = $db->prepare( - "SELECT * FROM `users` WHERE `email` = ?" - ); - - $query->execute([$address]); - - if ($row = $query->fetch(PDO::FETCH_ASSOC)) { - return [ - '{username}'=>$row['username'], - '{resetcode}'=>$row['resetcode'] - ]; - } - } - } - -Now all you need to do is pass an instance of your class into the Decorator -plugin's constructor instead of passing an array:: - - $decorator = new Swift_Plugins_DecoratorPlugin(new DbReplacements()); - - $mailer->registerPlugin($decorator); - -For each message sent, the plugin will call your class' -``getReplacementsFor()`` method to find the array of replacements it needs. - -.. note:: - - If your lookup algorithm is case sensitive, you should transform the - ``$address`` argument as appropriate -- for example by passing it through - ``strtolower()``. diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/doc/sending.rst b/paragonik-backend/vendor/swiftmailer/swiftmailer/doc/sending.rst deleted file mode 100644 index 0104207..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/doc/sending.rst +++ /dev/null @@ -1,453 +0,0 @@ -Sending Messages -================ - -Quick Reference for Sending a Message -------------------------------------- - -Sending a message is very straightforward. You create a Transport, use it to -create the Mailer, then you use the Mailer to send the message. - -When using ``send()`` the message will be sent just like it would be sent if -you used your mail client. An integer is returned which includes the number of -successful recipients. If none of the recipients could be sent to then zero -will be returned, which equates to a boolean ``false``. If you set two ``To:`` -recipients and three ``Bcc:`` recipients in the message and all of the -recipients are delivered to successfully then the value 5 will be returned:: - - // Create the Transport - $transport = (new Swift_SmtpTransport('smtp.example.org', 25)) - ->setUsername('your username') - ->setPassword('your password') - ; - - /* - You could alternatively use a different transport such as Sendmail: - - // Sendmail - $transport = new Swift_SendmailTransport('/usr/sbin/sendmail -bs'); - */ - - // Create the Mailer using your created Transport - $mailer = new Swift_Mailer($transport); - - // Create a message - $message = (new Swift_Message('Wonderful Subject')) - ->setFrom(['john@doe.com' => 'John Doe']) - ->setTo(['receiver@domain.org', 'other@domain.org' => 'A name']) - ->setBody('Here is the message itself') - ; - - // Send the message - $result = $mailer->send($message); - -Transport Types -~~~~~~~~~~~~~~~ - -Transports are the classes in Swift Mailer that are responsible for -communicating with a service in order to deliver a Message. There are several -types of Transport in Swift Mailer, all of which implement the -``Swift_Transport`` interface:: - -* ``Swift_SmtpTransport``: Sends messages over SMTP; Supports Authentication; - Supports Encryption. Very portable; Pleasingly predictable results; Provides - good feedback; - -* ``Swift_SendmailTransport``: Communicates with a locally installed - ``sendmail`` executable (Linux/UNIX). Quick time-to-run; Provides - less-accurate feedback than SMTP; Requires ``sendmail`` installation; - -* ``Swift_LoadBalancedTransport``: Cycles through a collection of the other - Transports to manage load-reduction. Provides graceful fallback if one - Transport fails (e.g. an SMTP server is down); Keeps the load on remote - services down by spreading the work; - -* ``Swift_FailoverTransport``: Works in conjunction with a collection of the - other Transports to provide high-availability. Provides graceful fallback if - one Transport fails (e.g. an SMTP server is down). - -The SMTP Transport -.................. - -The SMTP Transport sends messages over the (standardized) Simple Message -Transfer Protocol. It can deal with encryption and authentication. - -The SMTP Transport, ``Swift_SmtpTransport`` is without doubt the most commonly -used Transport because it will work on 99% of web servers (I just made that -number up, but you get the idea). All the server needs is the ability to -connect to a remote (or even local) SMTP server on the correct port number -(usually 25). - -SMTP servers often require users to authenticate with a username and password -before any mail can be sent to other domains. This is easily achieved using -Swift Mailer with the SMTP Transport. - -SMTP is a protocol -- in other words it's a "way" of communicating a job to be -done (i.e. sending a message). The SMTP protocol is the fundamental basis on -which messages are delivered all over the internet 7 days a week, 365 days a -year. For this reason it's the most "direct" method of sending messages you can -use and it's the one that will give you the most power and feedback (such as -delivery failures) when using Swift Mailer. - -Because SMTP is generally run as a remote service (i.e. you connect to it over -the network/internet) it's extremely portable from server-to-server. You can -easily store the SMTP server address and port number in a configuration file -within your application and adjust the settings accordingly if the code is -moved or if the SMTP server is changed. - -Some SMTP servers -- Google for example -- use encryption for security reasons. -Swift Mailer supports using both SSL and TLS encryption settings. - -Using the SMTP Transport -^^^^^^^^^^^^^^^^^^^^^^^^ - -The SMTP Transport is easy to use. Most configuration options can be set with -the constructor. - -To use the SMTP Transport you need to know which SMTP server your code needs to -connect to. Ask your web host if you're not sure. Lots of people ask me who to -connect to -- I really can't answer that since it's a setting that's extremely -specific to your hosting environment. - -A connection to the SMTP server will be established upon the first call to -``send()``:: - - // Create the Transport - $transport = new Swift_SmtpTransport('smtp.example.org', 25); - - // Create the Mailer using your created Transport - $mailer = new Swift_Mailer($transport); - - /* - It's also possible to use multiple method calls - - $transport = (new Swift_SmtpTransport()) - ->setHost('smtp.example.org') - ->setPort(25) - ; - */ - -Encrypted SMTP -^^^^^^^^^^^^^^ - -You can use SSL or TLS encryption with the SMTP Transport by specifying it as a -parameter or with a method call:: - - // Create the Transport - $transport = new Swift_SmtpTransport('smtp.example.org', 587, 'ssl'); - - // Create the Mailer using your created Transport - $mailer = new Swift_Mailer($transport); - -A connection to the SMTP server will be established upon the first call to -``send()``. The connection will be initiated with the correct encryption -settings. - -.. note:: - - For SSL or TLS encryption to work your PHP installation must have - appropriate OpenSSL transports wrappers. You can check if "tls" and/or - "ssl" are present in your PHP installation by using the PHP function - ``stream_get_transports()``. - -.. note:: - If you are using Mailcatcher_, make sure you do not set the encryption - for the ``Swift_SmtpTransport``, since Mailcatcher does not support encryption. - -SMTP with a Username and Password -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -Some servers require authentication. You can provide a username and password -with ``setUsername()`` and ``setPassword()`` methods:: - - // Create the Transport the call setUsername() and setPassword() - $transport = (new Swift_SmtpTransport('smtp.example.org', 25)) - ->setUsername('username') - ->setPassword('password') - ; - - // Create the Mailer using your created Transport - $mailer = new Swift_Mailer($transport); - -Your username and password will be used to authenticate upon first connect when -``send()`` are first used on the Mailer. - -If authentication fails, an Exception of type ``Swift_TransportException`` will -be thrown. - -.. note:: - - If you need to know early whether or not authentication has failed and an - Exception is going to be thrown, call the ``start()`` method on the - created Transport. - -The Sendmail Transport -...................... - -The Sendmail Transport sends messages by communicating with a locally installed -MTA -- such as ``sendmail``. - -The Sendmail Transport, ``Swift_SendmailTransport`` does not directly connect -to any remote services. It is designed for Linux servers that have ``sendmail`` -installed. The Transport starts a local ``sendmail`` process and sends messages -to it. Usually the ``sendmail`` process will respond quickly as it spools your -messages to disk before sending them. - -The Transport is named the Sendmail Transport for historical reasons -(``sendmail`` was the "standard" UNIX tool for sending e-mail for years). It -will send messages using other transfer agents such as Exim or Postfix despite -its name, provided they have the relevant sendmail wrappers so that they can be -started with the correct command-line flags. - -It's a common misconception that because the Sendmail Transport returns a -result very quickly it must therefore deliver messages to recipients quickly -- -this is not true. It's not slow by any means, but it's certainly not faster -than SMTP when it comes to getting messages to the intended recipients. This is -because sendmail itself sends the messages over SMTP once they have been -quickly spooled to disk. - -The Sendmail Transport has the potential to be just as smart of the SMTP -Transport when it comes to notifying Swift Mailer about which recipients were -rejected, but in reality the majority of locally installed ``sendmail`` -instances are not configured well enough to provide any useful feedback. As -such Swift Mailer may report successful deliveries where they did in fact fail -before they even left your server. - -You can run the Sendmail Transport in two different modes specified by command -line flags: - -* "``-bs``" runs in SMTP mode so theoretically it will act like the SMTP - Transport - -* "``-t``" runs in piped mode with no feedback, but theoretically faster, - though not advised - -You can think of the Sendmail Transport as a sort of asynchronous SMTP -Transport -- though if you have problems with delivery failures you should try -using the SMTP Transport instead. Swift Mailer isn't doing the work here, it's -simply passing the work to somebody else (i.e. ``sendmail``). - -Using the Sendmail Transport -^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -To use the Sendmail Transport you simply need to call ``new -Swift_SendmailTransport()`` with the command as a parameter. - -To use the Sendmail Transport you need to know where ``sendmail`` or another -MTA exists on the server. Swift Mailer uses a default value of -``/usr/sbin/sendmail``, which should work on most systems. - -You specify the entire command as a parameter (i.e. including the command line -flags). Swift Mailer supports operational modes of "``-bs``" (default) and -"``-t``". - -.. note:: - - If you run sendmail in "``-t``" mode you will get no feedback as to whether - or not sending has succeeded. Use "``-bs``" unless you have a reason not to. - -A sendmail process will be started upon the first call to ``send()``. If the -process cannot be started successfully an Exception of type -``Swift_TransportException`` will be thrown:: - - // Create the Transport - $transport = new Swift_SendmailTransport('/usr/sbin/exim -bs'); - - // Create the Mailer using your created Transport - $mailer = new Swift_Mailer($transport); - -Available Methods for Sending Messages -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The Mailer class offers one method for sending Messages -- ``send()``. - -When a message is sent in Swift Mailer, the Mailer class communicates with -whichever Transport class you have chosen to use. - -Each recipient in the message should either be accepted or rejected by the -Transport. For example, if the domain name on the email address is not -reachable the SMTP Transport may reject the address because it cannot process -it. ``send()`` will return an integer indicating the number of accepted -recipients. - -.. note:: - - It's possible to find out which recipients were rejected -- we'll cover that - later in this chapter. - -Using the ``send()`` Method -........................... - -The ``send()`` method of the ``Swift_Mailer`` class sends a message using -exactly the same logic as your Desktop mail client would use. Just pass it a -Message and get a result. - -The message will be sent just like it would be sent if you used your mail -client. An integer is returned which includes the number of successful -recipients. If none of the recipients could be sent to then zero will be -returned, which equates to a boolean ``false``. If you set two -``To:`` recipients and three ``Bcc:`` recipients in the message and all of the -recipients are delivered to successfully then the value 5 will be returned:: - - // Create the Transport - $transport = new Swift_SmtpTransport('localhost', 25); - - // Create the Mailer using your created Transport - $mailer = new Swift_Mailer($transport); - - // Create a message - $message = (new Swift_Message('Wonderful Subject')) - ->setFrom(['john@doe.com' => 'John Doe']) - ->setTo(['receiver@domain.org', 'other@domain.org' => 'A name']) - ->setBody('Here is the message itself') - ; - - // Send the message - $numSent = $mailer->send($message); - - printf("Sent %d messages\n", $numSent); - - /* Note that often that only the boolean equivalent of the - return value is of concern (zero indicates FALSE) - - if ($mailer->send($message)) - { - echo "Sent\n"; - } - else - { - echo "Failed\n"; - } - - */ - -Sending Emails in Batch -....................... - -If you want to send a separate message to each recipient so that only their own -address shows up in the ``To:`` field, follow the following recipe: - -* Create a Transport from one of the provided Transports -- - ``Swift_SmtpTransport``, ``Swift_SendmailTransport``, - or one of the aggregate Transports. - -* Create an instance of the ``Swift_Mailer`` class, using the Transport as - it's constructor parameter. - -* Create a Message. - -* Iterate over the recipients and send message via the ``send()`` method on - the Mailer object. - -Each recipient of the messages receives a different copy with only their own -email address on the ``To:`` field. - -Make sure to add only valid email addresses as recipients. If you try to add an -invalid email address with ``setTo()``, ``setCc()`` or ``setBcc()``, Swift -Mailer will throw a ``Swift_RfcComplianceException``. - -If you add recipients automatically based on a data source that may contain -invalid email addresses, you can prevent possible exceptions by validating the -addresses using ``Egulias\EmailValidator\EmailValidator`` (a dependency that is -installed with Swift Mailer) and only adding addresses that validate. Another -way would be to wrap your ``setTo()``, ``setCc()`` and ``setBcc()`` calls in a -try-catch block and handle the ``Swift_RfcComplianceException`` in the catch -block. - -Handling invalid addresses properly is especially important when sending emails -in large batches since a single invalid address might cause an unhandled -exception and stop the execution or your script early. - -.. note:: - - In the following example, two emails are sent. One to each of - ``receiver@domain.org`` and ``other@domain.org``. These recipients will - not be aware of each other:: - - // Create the Transport - $transport = new Swift_SmtpTransport('localhost', 25); - - // Create the Mailer using your created Transport - $mailer = new Swift_Mailer($transport); - - // Create a message - $message = (new Swift_Message('Wonderful Subject')) - ->setFrom(['john@doe.com' => 'John Doe']) - ->setBody('Here is the message itself') - ; - - // Send the message - $failedRecipients = []; - $numSent = 0; - $to = ['receiver@domain.org', 'other@domain.org' => 'A name']; - - foreach ($to as $address => $name) - { - if (is_int($address)) { - $message->setTo($name); - } else { - $message->setTo([$address => $name]); - } - - $numSent += $mailer->send($message, $failedRecipients); - } - - printf("Sent %d messages\n", $numSent); - -Finding out Rejected Addresses -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -It's possible to get a list of addresses that were rejected by the Transport by -using a by-reference parameter to ``send()``. - -As Swift Mailer attempts to send the message to each address given to it, if a -recipient is rejected it will be added to the array. You can pass an existing -array, otherwise one will be created by-reference. - -Collecting the list of recipients that were rejected can be useful in -circumstances where you need to "prune" a mailing list for example when some -addresses cannot be delivered to. - -Getting Failures By-reference -............................. - -Collecting delivery failures by-reference with the ``send()`` method is as -simple as passing a variable name to the method call:: - - $mailer = new Swift_Mailer( ... ); - - $message = (new Swift_Message( ... )) - ->setFrom( ... ) - ->setTo([ - 'receiver@bad-domain.org' => 'Receiver Name', - 'other@domain.org' => 'A name', - 'other-receiver@bad-domain.org' => 'Other Name' - )) - ->setBody( ... ) - ; - - // Pass a variable name to the send() method - if (!$mailer->send($message, $failures)) - { - echo "Failures:"; - print_r($failures); - } - - /* - Failures: - Array ( - 0 => receiver@bad-domain.org, - 1 => other-receiver@bad-domain.org - ) - */ - -If the Transport rejects any of the recipients, the culprit addresses will be -added to the array provided by-reference. - -.. note:: - - If the variable name does not yet exist, it will be initialized as an - empty array and then failures will be added to that array. If the variable - already exists it will be type-cast to an array and failures will be added - to it. - -.. _Mailcatcher: https://mailcatcher.me/ diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift.php deleted file mode 100644 index daf75fb..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift.php +++ /dev/null @@ -1,78 +0,0 @@ -address = $address; - } - - public function getAddress(): string - { - return $this->address; - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Attachment.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Attachment.php deleted file mode 100644 index 642aa6f..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Attachment.php +++ /dev/null @@ -1,54 +0,0 @@ -createDependenciesFor('mime.attachment') - ); - - $this->setBody($data, $contentType); - $this->setFilename($filename); - } - - /** - * Create a new Attachment from a filesystem path. - * - * @param string $path - * @param string $contentType optional - * - * @return self - */ - public static function fromPath($path, $contentType = null) - { - return (new self())->setFile( - new Swift_ByteStream_FileByteStream($path), - $contentType - ); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/ByteStream/AbstractFilterableInputStream.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/ByteStream/AbstractFilterableInputStream.php deleted file mode 100644 index 3a69c15..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/ByteStream/AbstractFilterableInputStream.php +++ /dev/null @@ -1,176 +0,0 @@ -filters[$key] = $filter; - } - - /** - * Remove an already present StreamFilter based on its $key. - * - * @param string $key - */ - public function removeFilter($key) - { - unset($this->filters[$key]); - } - - /** - * Writes $bytes to the end of the stream. - * - * @param string $bytes - * - * @throws Swift_IoException - * - * @return int - */ - public function write($bytes) - { - $this->writeBuffer .= $bytes; - foreach ($this->filters as $filter) { - if ($filter->shouldBuffer($this->writeBuffer)) { - return; - } - } - $this->doWrite($this->writeBuffer); - - return ++$this->sequence; - } - - /** - * For any bytes that are currently buffered inside the stream, force them - * off the buffer. - * - * @throws Swift_IoException - */ - public function commit() - { - $this->doWrite($this->writeBuffer); - } - - /** - * Attach $is to this stream. - * - * The stream acts as an observer, receiving all data that is written. - * All {@link write()} and {@link flushBuffers()} operations will be mirrored. - */ - public function bind(Swift_InputByteStream $is) - { - $this->mirrors[] = $is; - } - - /** - * Remove an already bound stream. - * - * If $is is not bound, no errors will be raised. - * If the stream currently has any buffered data it will be written to $is - * before unbinding occurs. - */ - public function unbind(Swift_InputByteStream $is) - { - foreach ($this->mirrors as $k => $stream) { - if ($is === $stream) { - if ('' !== $this->writeBuffer) { - $stream->write($this->writeBuffer); - } - unset($this->mirrors[$k]); - } - } - } - - /** - * Flush the contents of the stream (empty it) and set the internal pointer - * to the beginning. - * - * @throws Swift_IoException - */ - public function flushBuffers() - { - if ('' !== $this->writeBuffer) { - $this->doWrite($this->writeBuffer); - } - $this->flush(); - - foreach ($this->mirrors as $stream) { - $stream->flushBuffers(); - } - } - - /** Run $bytes through all filters */ - private function filter($bytes) - { - foreach ($this->filters as $filter) { - $bytes = $filter->filter($bytes); - } - - return $bytes; - } - - /** Just write the bytes to the stream */ - private function doWrite($bytes) - { - $this->doCommit($this->filter($bytes)); - - foreach ($this->mirrors as $stream) { - $stream->write($bytes); - } - - $this->writeBuffer = ''; - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/ByteStream/ArrayByteStream.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/ByteStream/ArrayByteStream.php deleted file mode 100644 index 68dc3b1..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/ByteStream/ArrayByteStream.php +++ /dev/null @@ -1,178 +0,0 @@ -array = $stack; - $this->arraySize = count($stack); - } elseif (is_string($stack)) { - $this->write($stack); - } else { - $this->array = []; - } - } - - /** - * Reads $length bytes from the stream into a string and moves the pointer - * through the stream by $length. - * - * If less bytes exist than are requested the - * remaining bytes are given instead. If no bytes are remaining at all, boolean - * false is returned. - * - * @param int $length - * - * @return string - */ - public function read($length) - { - if ($this->offset == $this->arraySize) { - return false; - } - - // Don't use array slice - $end = $length + $this->offset; - $end = $this->arraySize < $end ? $this->arraySize : $end; - $ret = ''; - for (; $this->offset < $end; ++$this->offset) { - $ret .= $this->array[$this->offset]; - } - - return $ret; - } - - /** - * Writes $bytes to the end of the stream. - * - * @param string $bytes - */ - public function write($bytes) - { - $to_add = str_split($bytes); - foreach ($to_add as $value) { - $this->array[] = $value; - } - $this->arraySize = count($this->array); - - foreach ($this->mirrors as $stream) { - $stream->write($bytes); - } - } - - /** - * Not used. - */ - public function commit() - { - } - - /** - * Attach $is to this stream. - * - * The stream acts as an observer, receiving all data that is written. - * All {@link write()} and {@link flushBuffers()} operations will be mirrored. - */ - public function bind(Swift_InputByteStream $is) - { - $this->mirrors[] = $is; - } - - /** - * Remove an already bound stream. - * - * If $is is not bound, no errors will be raised. - * If the stream currently has any buffered data it will be written to $is - * before unbinding occurs. - */ - public function unbind(Swift_InputByteStream $is) - { - foreach ($this->mirrors as $k => $stream) { - if ($is === $stream) { - unset($this->mirrors[$k]); - } - } - } - - /** - * Move the internal read pointer to $byteOffset in the stream. - * - * @param int $byteOffset - * - * @return bool - */ - public function setReadPointer($byteOffset) - { - if ($byteOffset > $this->arraySize) { - $byteOffset = $this->arraySize; - } elseif ($byteOffset < 0) { - $byteOffset = 0; - } - - $this->offset = $byteOffset; - } - - /** - * Flush the contents of the stream (empty it) and set the internal pointer - * to the beginning. - */ - public function flushBuffers() - { - $this->offset = 0; - $this->array = []; - $this->arraySize = 0; - - foreach ($this->mirrors as $stream) { - $stream->flushBuffers(); - } - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/ByteStream/FileByteStream.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/ByteStream/FileByteStream.php deleted file mode 100644 index 0c428f7..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/ByteStream/FileByteStream.php +++ /dev/null @@ -1,216 +0,0 @@ -path = $path; - $this->mode = $writable ? 'w+b' : 'rb'; - } - - /** - * Get the complete path to the file. - * - * @return string - */ - public function getPath() - { - return $this->path; - } - - /** - * Reads $length bytes from the stream into a string and moves the pointer - * through the stream by $length. - * - * If less bytes exist than are requested the - * remaining bytes are given instead. If no bytes are remaining at all, boolean - * false is returned. - * - * @param int $length - * - * @return string|bool - * - * @throws Swift_IoException - */ - public function read($length) - { - $fp = $this->getReadHandle(); - if (!feof($fp)) { - $bytes = fread($fp, $length); - $this->offset = ftell($fp); - - // If we read one byte after reaching the end of the file - // feof() will return false and an empty string is returned - if ('' === $bytes && feof($fp)) { - $this->resetReadHandle(); - - return false; - } - - return $bytes; - } - - $this->resetReadHandle(); - - return false; - } - - /** - * Move the internal read pointer to $byteOffset in the stream. - * - * @param int $byteOffset - * - * @return bool - */ - public function setReadPointer($byteOffset) - { - if (isset($this->reader)) { - $this->seekReadStreamToPosition($byteOffset); - } - $this->offset = $byteOffset; - } - - /** Just write the bytes to the file */ - protected function doCommit($bytes) - { - fwrite($this->getWriteHandle(), $bytes); - $this->resetReadHandle(); - } - - /** Not used */ - protected function flush() - { - } - - /** Get the resource for reading */ - private function getReadHandle() - { - if (!isset($this->reader)) { - $pointer = @fopen($this->path, 'rb'); - if (!$pointer) { - throw new Swift_IoException('Unable to open file for reading ['.$this->path.']'); - } - $this->reader = $pointer; - if (0 != $this->offset) { - $this->getReadStreamSeekableStatus(); - $this->seekReadStreamToPosition($this->offset); - } - } - - return $this->reader; - } - - /** Get the resource for writing */ - private function getWriteHandle() - { - if (!isset($this->writer)) { - if (!$this->writer = fopen($this->path, $this->mode)) { - throw new Swift_IoException( - 'Unable to open file for writing ['.$this->path.']' - ); - } - } - - return $this->writer; - } - - /** Force a reload of the resource for reading */ - private function resetReadHandle() - { - if (isset($this->reader)) { - fclose($this->reader); - $this->reader = null; - } - } - - /** Check if ReadOnly Stream is seekable */ - private function getReadStreamSeekableStatus() - { - $metas = stream_get_meta_data($this->reader); - $this->seekable = $metas['seekable']; - } - - /** Streams in a readOnly stream ensuring copy if needed */ - private function seekReadStreamToPosition($offset) - { - if (null === $this->seekable) { - $this->getReadStreamSeekableStatus(); - } - if (false === $this->seekable) { - $currentPos = ftell($this->reader); - if ($currentPos < $offset) { - $toDiscard = $offset - $currentPos; - fread($this->reader, $toDiscard); - - return; - } - $this->copyReadStream(); - } - fseek($this->reader, $offset, SEEK_SET); - } - - /** Copy a readOnly Stream to ensure seekability */ - private function copyReadStream() - { - if ($tmpFile = fopen('php://temp/maxmemory:4096', 'w+b')) { - /* We have opened a php:// Stream Should work without problem */ - } elseif (function_exists('sys_get_temp_dir') && is_writable(sys_get_temp_dir()) && ($tmpFile = tmpfile())) { - /* We have opened a tmpfile */ - } else { - throw new Swift_IoException('Unable to copy the file to make it seekable, sys_temp_dir is not writable, php://memory not available'); - } - $currentPos = ftell($this->reader); - fclose($this->reader); - $source = fopen($this->path, 'rb'); - if (!$source) { - throw new Swift_IoException('Unable to open file for copying ['.$this->path.']'); - } - fseek($tmpFile, 0, SEEK_SET); - while (!feof($source)) { - fwrite($tmpFile, fread($source, 4096)); - } - fseek($tmpFile, $currentPos, SEEK_SET); - fclose($source); - $this->reader = $tmpFile; - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/ByteStream/TemporaryFileByteStream.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/ByteStream/TemporaryFileByteStream.php deleted file mode 100644 index 2d00b6a..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/ByteStream/TemporaryFileByteStream.php +++ /dev/null @@ -1,42 +0,0 @@ -getPath()))) { - throw new Swift_IoException('Failed to get temporary file content.'); - } - - return $content; - } - - public function __destruct() - { - if (file_exists($this->getPath())) { - @unlink($this->getPath()); - } - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/CharacterReader.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/CharacterReader.php deleted file mode 100644 index 4267adb..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/CharacterReader.php +++ /dev/null @@ -1,67 +0,0 @@ - - */ -interface Swift_CharacterReader -{ - const MAP_TYPE_INVALID = 0x01; - const MAP_TYPE_FIXED_LEN = 0x02; - const MAP_TYPE_POSITIONS = 0x03; - - /** - * Returns the complete character map. - * - * @param string $string - * @param int $startOffset - * @param array $currentMap - * @param mixed $ignoredChars - * - * @return int - */ - public function getCharPositions($string, $startOffset, &$currentMap, &$ignoredChars); - - /** - * Returns the mapType, see constants. - * - * @return int - */ - public function getMapType(); - - /** - * Returns an integer which specifies how many more bytes to read. - * - * A positive integer indicates the number of more bytes to fetch before invoking - * this method again. - * - * A value of zero means this is already a valid character. - * A value of -1 means this cannot possibly be a valid character. - * - * @param int[] $bytes - * @param int $size - * - * @return int - */ - public function validateByteSequence($bytes, $size); - - /** - * Returns the number of bytes which should be read to start each character. - * - * For fixed width character sets this should be the number of octets-per-character. - * For multibyte character sets this will probably be 1. - * - * @return int - */ - public function getInitialByteSize(); -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/CharacterReader/GenericFixedWidthReader.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/CharacterReader/GenericFixedWidthReader.php deleted file mode 100644 index b09bb5b..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/CharacterReader/GenericFixedWidthReader.php +++ /dev/null @@ -1,97 +0,0 @@ - - */ -class Swift_CharacterReader_GenericFixedWidthReader implements Swift_CharacterReader -{ - /** - * The number of bytes in a single character. - * - * @var int - */ - private $width; - - /** - * Creates a new GenericFixedWidthReader using $width bytes per character. - * - * @param int $width - */ - public function __construct($width) - { - $this->width = $width; - } - - /** - * Returns the complete character map. - * - * @param string $string - * @param int $startOffset - * @param array $currentMap - * @param mixed $ignoredChars - * - * @return int - */ - public function getCharPositions($string, $startOffset, &$currentMap, &$ignoredChars) - { - $strlen = strlen($string); - // % and / are CPU intensive, so, maybe find a better way - $ignored = $strlen % $this->width; - $ignoredChars = $ignored ? substr($string, -$ignored) : ''; - $currentMap = $this->width; - - return ($strlen - $ignored) / $this->width; - } - - /** - * Returns the mapType. - * - * @return int - */ - public function getMapType() - { - return self::MAP_TYPE_FIXED_LEN; - } - - /** - * Returns an integer which specifies how many more bytes to read. - * - * A positive integer indicates the number of more bytes to fetch before invoking - * this method again. - * - * A value of zero means this is already a valid character. - * A value of -1 means this cannot possibly be a valid character. - * - * @param string $bytes - * @param int $size - * - * @return int - */ - public function validateByteSequence($bytes, $size) - { - $needed = $this->width - $size; - - return $needed > -1 ? $needed : -1; - } - - /** - * Returns the number of bytes which should be read to start each character. - * - * @return int - */ - public function getInitialByteSize() - { - return $this->width; - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/CharacterReader/UsAsciiReader.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/CharacterReader/UsAsciiReader.php deleted file mode 100644 index 67da48f..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/CharacterReader/UsAsciiReader.php +++ /dev/null @@ -1,84 +0,0 @@ - "\x07F") { - // Invalid char - $currentMap[$i + $startOffset] = $string[$i]; - } - } - - return $strlen; - } - - /** - * Returns mapType. - * - * @return int mapType - */ - public function getMapType() - { - return self::MAP_TYPE_INVALID; - } - - /** - * Returns an integer which specifies how many more bytes to read. - * - * A positive integer indicates the number of more bytes to fetch before invoking - * this method again. - * A value of zero means this is already a valid character. - * A value of -1 means this cannot possibly be a valid character. - * - * @param string $bytes - * @param int $size - * - * @return int - */ - public function validateByteSequence($bytes, $size) - { - $byte = reset($bytes); - if (1 == count($bytes) && $byte >= 0x00 && $byte <= 0x7F) { - return 0; - } - - return -1; - } - - /** - * Returns the number of bytes which should be read to start each character. - * - * @return int - */ - public function getInitialByteSize() - { - return 1; - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/CharacterReader/Utf8Reader.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/CharacterReader/Utf8Reader.php deleted file mode 100644 index 4a2df31..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/CharacterReader/Utf8Reader.php +++ /dev/null @@ -1,176 +0,0 @@ - - */ -class Swift_CharacterReader_Utf8Reader implements Swift_CharacterReader -{ - /** Pre-computed for optimization */ - private static $length_map = [ - // N=0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 0x0N - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 0x1N - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 0x2N - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 0x3N - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 0x4N - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 0x5N - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 0x6N - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 0x7N - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0x8N - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0x9N - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0xAN - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0xBN - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, // 0xCN - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, // 0xDN - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // 0xEN - 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 0, 0, // 0xFN - ]; - - private static $s_length_map = [ - "\x00" => 1, "\x01" => 1, "\x02" => 1, "\x03" => 1, "\x04" => 1, "\x05" => 1, "\x06" => 1, "\x07" => 1, - "\x08" => 1, "\x09" => 1, "\x0a" => 1, "\x0b" => 1, "\x0c" => 1, "\x0d" => 1, "\x0e" => 1, "\x0f" => 1, - "\x10" => 1, "\x11" => 1, "\x12" => 1, "\x13" => 1, "\x14" => 1, "\x15" => 1, "\x16" => 1, "\x17" => 1, - "\x18" => 1, "\x19" => 1, "\x1a" => 1, "\x1b" => 1, "\x1c" => 1, "\x1d" => 1, "\x1e" => 1, "\x1f" => 1, - "\x20" => 1, "\x21" => 1, "\x22" => 1, "\x23" => 1, "\x24" => 1, "\x25" => 1, "\x26" => 1, "\x27" => 1, - "\x28" => 1, "\x29" => 1, "\x2a" => 1, "\x2b" => 1, "\x2c" => 1, "\x2d" => 1, "\x2e" => 1, "\x2f" => 1, - "\x30" => 1, "\x31" => 1, "\x32" => 1, "\x33" => 1, "\x34" => 1, "\x35" => 1, "\x36" => 1, "\x37" => 1, - "\x38" => 1, "\x39" => 1, "\x3a" => 1, "\x3b" => 1, "\x3c" => 1, "\x3d" => 1, "\x3e" => 1, "\x3f" => 1, - "\x40" => 1, "\x41" => 1, "\x42" => 1, "\x43" => 1, "\x44" => 1, "\x45" => 1, "\x46" => 1, "\x47" => 1, - "\x48" => 1, "\x49" => 1, "\x4a" => 1, "\x4b" => 1, "\x4c" => 1, "\x4d" => 1, "\x4e" => 1, "\x4f" => 1, - "\x50" => 1, "\x51" => 1, "\x52" => 1, "\x53" => 1, "\x54" => 1, "\x55" => 1, "\x56" => 1, "\x57" => 1, - "\x58" => 1, "\x59" => 1, "\x5a" => 1, "\x5b" => 1, "\x5c" => 1, "\x5d" => 1, "\x5e" => 1, "\x5f" => 1, - "\x60" => 1, "\x61" => 1, "\x62" => 1, "\x63" => 1, "\x64" => 1, "\x65" => 1, "\x66" => 1, "\x67" => 1, - "\x68" => 1, "\x69" => 1, "\x6a" => 1, "\x6b" => 1, "\x6c" => 1, "\x6d" => 1, "\x6e" => 1, "\x6f" => 1, - "\x70" => 1, "\x71" => 1, "\x72" => 1, "\x73" => 1, "\x74" => 1, "\x75" => 1, "\x76" => 1, "\x77" => 1, - "\x78" => 1, "\x79" => 1, "\x7a" => 1, "\x7b" => 1, "\x7c" => 1, "\x7d" => 1, "\x7e" => 1, "\x7f" => 1, - "\x80" => 0, "\x81" => 0, "\x82" => 0, "\x83" => 0, "\x84" => 0, "\x85" => 0, "\x86" => 0, "\x87" => 0, - "\x88" => 0, "\x89" => 0, "\x8a" => 0, "\x8b" => 0, "\x8c" => 0, "\x8d" => 0, "\x8e" => 0, "\x8f" => 0, - "\x90" => 0, "\x91" => 0, "\x92" => 0, "\x93" => 0, "\x94" => 0, "\x95" => 0, "\x96" => 0, "\x97" => 0, - "\x98" => 0, "\x99" => 0, "\x9a" => 0, "\x9b" => 0, "\x9c" => 0, "\x9d" => 0, "\x9e" => 0, "\x9f" => 0, - "\xa0" => 0, "\xa1" => 0, "\xa2" => 0, "\xa3" => 0, "\xa4" => 0, "\xa5" => 0, "\xa6" => 0, "\xa7" => 0, - "\xa8" => 0, "\xa9" => 0, "\xaa" => 0, "\xab" => 0, "\xac" => 0, "\xad" => 0, "\xae" => 0, "\xaf" => 0, - "\xb0" => 0, "\xb1" => 0, "\xb2" => 0, "\xb3" => 0, "\xb4" => 0, "\xb5" => 0, "\xb6" => 0, "\xb7" => 0, - "\xb8" => 0, "\xb9" => 0, "\xba" => 0, "\xbb" => 0, "\xbc" => 0, "\xbd" => 0, "\xbe" => 0, "\xbf" => 0, - "\xc0" => 2, "\xc1" => 2, "\xc2" => 2, "\xc3" => 2, "\xc4" => 2, "\xc5" => 2, "\xc6" => 2, "\xc7" => 2, - "\xc8" => 2, "\xc9" => 2, "\xca" => 2, "\xcb" => 2, "\xcc" => 2, "\xcd" => 2, "\xce" => 2, "\xcf" => 2, - "\xd0" => 2, "\xd1" => 2, "\xd2" => 2, "\xd3" => 2, "\xd4" => 2, "\xd5" => 2, "\xd6" => 2, "\xd7" => 2, - "\xd8" => 2, "\xd9" => 2, "\xda" => 2, "\xdb" => 2, "\xdc" => 2, "\xdd" => 2, "\xde" => 2, "\xdf" => 2, - "\xe0" => 3, "\xe1" => 3, "\xe2" => 3, "\xe3" => 3, "\xe4" => 3, "\xe5" => 3, "\xe6" => 3, "\xe7" => 3, - "\xe8" => 3, "\xe9" => 3, "\xea" => 3, "\xeb" => 3, "\xec" => 3, "\xed" => 3, "\xee" => 3, "\xef" => 3, - "\xf0" => 4, "\xf1" => 4, "\xf2" => 4, "\xf3" => 4, "\xf4" => 4, "\xf5" => 4, "\xf6" => 4, "\xf7" => 4, - "\xf8" => 5, "\xf9" => 5, "\xfa" => 5, "\xfb" => 5, "\xfc" => 6, "\xfd" => 6, "\xfe" => 0, "\xff" => 0, - ]; - - /** - * Returns the complete character map. - * - * @param string $string - * @param int $startOffset - * @param array $currentMap - * @param mixed $ignoredChars - * - * @return int - */ - public function getCharPositions($string, $startOffset, &$currentMap, &$ignoredChars) - { - if (!isset($currentMap['i']) || !isset($currentMap['p'])) { - $currentMap['p'] = $currentMap['i'] = []; - } - - $strlen = strlen($string); - $charPos = count($currentMap['p']); - $foundChars = 0; - $invalid = false; - for ($i = 0; $i < $strlen; ++$i) { - $char = $string[$i]; - $size = self::$s_length_map[$char]; - if (0 == $size) { - /* char is invalid, we must wait for a resync */ - $invalid = true; - continue; - } else { - if (true === $invalid) { - /* We mark the chars as invalid and start a new char */ - $currentMap['p'][$charPos + $foundChars] = $startOffset + $i; - $currentMap['i'][$charPos + $foundChars] = true; - ++$foundChars; - $invalid = false; - } - if (($i + $size) > $strlen) { - $ignoredChars = substr($string, $i); - break; - } - for ($j = 1; $j < $size; ++$j) { - $char = $string[$i + $j]; - if ($char > "\x7F" && $char < "\xC0") { - // Valid - continue parsing - } else { - /* char is invalid, we must wait for a resync */ - $invalid = true; - continue 2; - } - } - /* Ok we got a complete char here */ - $currentMap['p'][$charPos + $foundChars] = $startOffset + $i + $size; - $i += $j - 1; - ++$foundChars; - } - } - - return $foundChars; - } - - /** - * Returns mapType. - * - * @return int mapType - */ - public function getMapType() - { - return self::MAP_TYPE_POSITIONS; - } - - /** - * Returns an integer which specifies how many more bytes to read. - * - * A positive integer indicates the number of more bytes to fetch before invoking - * this method again. - * A value of zero means this is already a valid character. - * A value of -1 means this cannot possibly be a valid character. - * - * @param string $bytes - * @param int $size - * - * @return int - */ - public function validateByteSequence($bytes, $size) - { - if ($size < 1) { - return -1; - } - $needed = self::$length_map[$bytes[0]] - $size; - - return $needed > -1 ? $needed : -1; - } - - /** - * Returns the number of bytes which should be read to start each character. - * - * @return int - */ - public function getInitialByteSize() - { - return 1; - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/CharacterReaderFactory.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/CharacterReaderFactory.php deleted file mode 100644 index 15b6c69..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/CharacterReaderFactory.php +++ /dev/null @@ -1,26 +0,0 @@ -init(); - } - - public function __wakeup() - { - $this->init(); - } - - public function init() - { - if (count(self::$map) > 0) { - return; - } - - $prefix = 'Swift_CharacterReader_'; - - $singleByte = [ - 'class' => $prefix.'GenericFixedWidthReader', - 'constructor' => [1], - ]; - - $doubleByte = [ - 'class' => $prefix.'GenericFixedWidthReader', - 'constructor' => [2], - ]; - - $fourBytes = [ - 'class' => $prefix.'GenericFixedWidthReader', - 'constructor' => [4], - ]; - - // Utf-8 - self::$map['utf-?8'] = [ - 'class' => $prefix.'Utf8Reader', - 'constructor' => [], - ]; - - //7-8 bit charsets - self::$map['(us-)?ascii'] = $singleByte; - self::$map['(iso|iec)-?8859-?[0-9]+'] = $singleByte; - self::$map['windows-?125[0-9]'] = $singleByte; - self::$map['cp-?[0-9]+'] = $singleByte; - self::$map['ansi'] = $singleByte; - self::$map['macintosh'] = $singleByte; - self::$map['koi-?7'] = $singleByte; - self::$map['koi-?8-?.+'] = $singleByte; - self::$map['mik'] = $singleByte; - self::$map['(cork|t1)'] = $singleByte; - self::$map['v?iscii'] = $singleByte; - - //16 bits - self::$map['(ucs-?2|utf-?16)'] = $doubleByte; - - //32 bits - self::$map['(ucs-?4|utf-?32)'] = $fourBytes; - - // Fallback - self::$map['.*'] = $singleByte; - } - - /** - * Returns a CharacterReader suitable for the charset applied. - * - * @param string $charset - * - * @return Swift_CharacterReader - */ - public function getReaderFor($charset) - { - $charset = strtolower(trim($charset)); - foreach (self::$map as $pattern => $spec) { - $re = '/^'.$pattern.'$/D'; - if (preg_match($re, $charset)) { - if (!array_key_exists($pattern, self::$loaded)) { - $reflector = new ReflectionClass($spec['class']); - if ($reflector->getConstructor()) { - $reader = $reflector->newInstanceArgs($spec['constructor']); - } else { - $reader = $reflector->newInstance(); - } - self::$loaded[$pattern] = $reader; - } - - return self::$loaded[$pattern]; - } - } - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/CharacterStream.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/CharacterStream.php deleted file mode 100644 index 717924f..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/CharacterStream.php +++ /dev/null @@ -1,89 +0,0 @@ -setCharacterReaderFactory($factory); - $this->setCharacterSet($charset); - } - - /** - * Set the character set used in this CharacterStream. - * - * @param string $charset - */ - public function setCharacterSet($charset) - { - $this->charset = $charset; - $this->charReader = null; - } - - /** - * Set the CharacterReaderFactory for multi charset support. - */ - public function setCharacterReaderFactory(Swift_CharacterReaderFactory $factory) - { - $this->charReaderFactory = $factory; - } - - /** - * Overwrite this character stream using the byte sequence in the byte stream. - * - * @param Swift_OutputByteStream $os output stream to read from - */ - public function importByteStream(Swift_OutputByteStream $os) - { - if (!isset($this->charReader)) { - $this->charReader = $this->charReaderFactory - ->getReaderFor($this->charset); - } - - $startLength = $this->charReader->getInitialByteSize(); - while (false !== $bytes = $os->read($startLength)) { - $c = []; - for ($i = 0, $len = strlen($bytes); $i < $len; ++$i) { - $c[] = self::$byteMap[$bytes[$i]]; - } - $size = count($c); - $need = $this->charReader - ->validateByteSequence($c, $size); - if ($need > 0 && - false !== $bytes = $os->read($need)) { - for ($i = 0, $len = strlen($bytes); $i < $len; ++$i) { - $c[] = self::$byteMap[$bytes[$i]]; - } - } - $this->array[] = $c; - ++$this->array_size; - } - } - - /** - * Import a string a bytes into this CharacterStream, overwriting any existing - * data in the stream. - * - * @param string $string - */ - public function importString($string) - { - $this->flushContents(); - $this->write($string); - } - - /** - * Read $length characters from the stream and move the internal pointer - * $length further into the stream. - * - * @param int $length - * - * @return string - */ - public function read($length) - { - if ($this->offset == $this->array_size) { - return false; - } - - // Don't use array slice - $arrays = []; - $end = $length + $this->offset; - for ($i = $this->offset; $i < $end; ++$i) { - if (!isset($this->array[$i])) { - break; - } - $arrays[] = $this->array[$i]; - } - $this->offset += $i - $this->offset; // Limit function calls - $chars = false; - foreach ($arrays as $array) { - $chars .= implode('', array_map('chr', $array)); - } - - return $chars; - } - - /** - * Read $length characters from the stream and return a 1-dimensional array - * containing there octet values. - * - * @param int $length - * - * @return int[] - */ - public function readBytes($length) - { - if ($this->offset == $this->array_size) { - return false; - } - $arrays = []; - $end = $length + $this->offset; - for ($i = $this->offset; $i < $end; ++$i) { - if (!isset($this->array[$i])) { - break; - } - $arrays[] = $this->array[$i]; - } - $this->offset += ($i - $this->offset); // Limit function calls - - return array_merge(...$arrays); - } - - /** - * Write $chars to the end of the stream. - * - * @param string $chars - */ - public function write($chars) - { - if (!isset($this->charReader)) { - $this->charReader = $this->charReaderFactory->getReaderFor( - $this->charset); - } - - $startLength = $this->charReader->getInitialByteSize(); - - $fp = fopen('php://memory', 'w+b'); - fwrite($fp, $chars); - unset($chars); - fseek($fp, 0, SEEK_SET); - - $buffer = [0]; - $buf_pos = 1; - $buf_len = 1; - $has_datas = true; - do { - $bytes = []; - // Buffer Filing - if ($buf_len - $buf_pos < $startLength) { - $buf = array_splice($buffer, $buf_pos); - $new = $this->reloadBuffer($fp, 100); - if ($new) { - $buffer = array_merge($buf, $new); - $buf_len = count($buffer); - $buf_pos = 0; - } else { - $has_datas = false; - } - } - if ($buf_len - $buf_pos > 0) { - $size = 0; - for ($i = 0; $i < $startLength && isset($buffer[$buf_pos]); ++$i) { - ++$size; - $bytes[] = $buffer[$buf_pos++]; - } - $need = $this->charReader->validateByteSequence( - $bytes, $size); - if ($need > 0) { - if ($buf_len - $buf_pos < $need) { - $new = $this->reloadBuffer($fp, $need); - - if ($new) { - $buffer = array_merge($buffer, $new); - $buf_len = count($buffer); - } - } - for ($i = 0; $i < $need && isset($buffer[$buf_pos]); ++$i) { - $bytes[] = $buffer[$buf_pos++]; - } - } - $this->array[] = $bytes; - ++$this->array_size; - } - } while ($has_datas); - - fclose($fp); - } - - /** - * Move the internal pointer to $charOffset in the stream. - * - * @param int $charOffset - */ - public function setPointer($charOffset) - { - if ($charOffset > $this->array_size) { - $charOffset = $this->array_size; - } elseif ($charOffset < 0) { - $charOffset = 0; - } - $this->offset = $charOffset; - } - - /** - * Empty the stream and reset the internal pointer. - */ - public function flushContents() - { - $this->offset = 0; - $this->array = []; - $this->array_size = 0; - } - - private function reloadBuffer($fp, $len) - { - if (!feof($fp) && false !== ($bytes = fread($fp, $len))) { - $buf = []; - for ($i = 0, $len = strlen($bytes); $i < $len; ++$i) { - $buf[] = self::$byteMap[$bytes[$i]]; - } - - return $buf; - } - - return false; - } - - private static function initializeMaps() - { - if (!isset(self::$charMap)) { - self::$charMap = []; - for ($byte = 0; $byte < 256; ++$byte) { - self::$charMap[$byte] = chr($byte); - } - self::$byteMap = array_flip(self::$charMap); - } - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/CharacterStream/NgCharacterStream.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/CharacterStream/NgCharacterStream.php deleted file mode 100644 index a733063..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/CharacterStream/NgCharacterStream.php +++ /dev/null @@ -1,262 +0,0 @@ - - */ -class Swift_CharacterStream_NgCharacterStream implements Swift_CharacterStream -{ - /** - * The char reader (lazy-loaded) for the current charset. - * - * @var Swift_CharacterReader - */ - private $charReader; - - /** - * A factory for creating CharacterReader instances. - * - * @var Swift_CharacterReaderFactory - */ - private $charReaderFactory; - - /** - * The character set this stream is using. - * - * @var string - */ - private $charset; - - /** - * The data's stored as-is. - * - * @var string - */ - private $datas = ''; - - /** - * Number of bytes in the stream. - * - * @var int - */ - private $datasSize = 0; - - /** - * Map. - * - * @var mixed - */ - private $map; - - /** - * Map Type. - * - * @var int - */ - private $mapType = 0; - - /** - * Number of characters in the stream. - * - * @var int - */ - private $charCount = 0; - - /** - * Position in the stream. - * - * @var int - */ - private $currentPos = 0; - - /** - * Constructor. - * - * @param string $charset - */ - public function __construct(Swift_CharacterReaderFactory $factory, $charset) - { - $this->setCharacterReaderFactory($factory); - $this->setCharacterSet($charset); - } - - /* -- Changing parameters of the stream -- */ - - /** - * Set the character set used in this CharacterStream. - * - * @param string $charset - */ - public function setCharacterSet($charset) - { - $this->charset = $charset; - $this->charReader = null; - $this->mapType = 0; - } - - /** - * Set the CharacterReaderFactory for multi charset support. - */ - public function setCharacterReaderFactory(Swift_CharacterReaderFactory $factory) - { - $this->charReaderFactory = $factory; - } - - /** - * @see Swift_CharacterStream::flushContents() - */ - public function flushContents() - { - $this->datas = null; - $this->map = null; - $this->charCount = 0; - $this->currentPos = 0; - $this->datasSize = 0; - } - - /** - * @see Swift_CharacterStream::importByteStream() - */ - public function importByteStream(Swift_OutputByteStream $os) - { - $this->flushContents(); - $blocks = 512; - $os->setReadPointer(0); - while (false !== ($read = $os->read($blocks))) { - $this->write($read); - } - } - - /** - * @see Swift_CharacterStream::importString() - * - * @param string $string - */ - public function importString($string) - { - $this->flushContents(); - $this->write($string); - } - - /** - * @see Swift_CharacterStream::read() - * - * @param int $length - * - * @return string - */ - public function read($length) - { - if ($this->currentPos >= $this->charCount) { - return false; - } - $ret = false; - $length = ($this->currentPos + $length > $this->charCount) ? $this->charCount - $this->currentPos : $length; - switch ($this->mapType) { - case Swift_CharacterReader::MAP_TYPE_FIXED_LEN: - $len = $length * $this->map; - $ret = substr($this->datas, - $this->currentPos * $this->map, - $len); - $this->currentPos += $length; - break; - - case Swift_CharacterReader::MAP_TYPE_INVALID: - $ret = ''; - for (; $this->currentPos < $length; ++$this->currentPos) { - if (isset($this->map[$this->currentPos])) { - $ret .= '?'; - } else { - $ret .= $this->datas[$this->currentPos]; - } - } - break; - - case Swift_CharacterReader::MAP_TYPE_POSITIONS: - $end = $this->currentPos + $length; - $end = $end > $this->charCount ? $this->charCount : $end; - $ret = ''; - $start = 0; - if ($this->currentPos > 0) { - $start = $this->map['p'][$this->currentPos - 1]; - } - $to = $start; - for (; $this->currentPos < $end; ++$this->currentPos) { - if (isset($this->map['i'][$this->currentPos])) { - $ret .= substr($this->datas, $start, $to - $start).'?'; - $start = $this->map['p'][$this->currentPos]; - } else { - $to = $this->map['p'][$this->currentPos]; - } - } - $ret .= substr($this->datas, $start, $to - $start); - break; - } - - return $ret; - } - - /** - * @see Swift_CharacterStream::readBytes() - * - * @param int $length - * - * @return int[] - */ - public function readBytes($length) - { - $read = $this->read($length); - if (false !== $read) { - $ret = array_map('ord', str_split($read, 1)); - - return $ret; - } - - return false; - } - - /** - * @see Swift_CharacterStream::setPointer() - * - * @param int $charOffset - */ - public function setPointer($charOffset) - { - if ($this->charCount < $charOffset) { - $charOffset = $this->charCount; - } - $this->currentPos = $charOffset; - } - - /** - * @see Swift_CharacterStream::write() - * - * @param string $chars - */ - public function write($chars) - { - if (!isset($this->charReader)) { - $this->charReader = $this->charReaderFactory->getReaderFor( - $this->charset); - $this->map = []; - $this->mapType = $this->charReader->getMapType(); - } - $ignored = ''; - $this->datas .= $chars; - $this->charCount += $this->charReader->getCharPositions(substr($this->datas, $this->datasSize), $this->datasSize, $this->map, $ignored); - if (false !== $ignored) { - $this->datasSize = strlen($this->datas) - strlen($ignored); - } else { - $this->datasSize = strlen($this->datas); - } - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/ConfigurableSpool.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/ConfigurableSpool.php deleted file mode 100644 index a711bac..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/ConfigurableSpool.php +++ /dev/null @@ -1,63 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Base class for Spools (implements time and message limits). - * - * @author Fabien Potencier - */ -abstract class Swift_ConfigurableSpool implements Swift_Spool -{ - /** The maximum number of messages to send per flush */ - private $message_limit; - - /** The time limit per flush */ - private $time_limit; - - /** - * Sets the maximum number of messages to send per flush. - * - * @param int $limit - */ - public function setMessageLimit($limit) - { - $this->message_limit = (int) $limit; - } - - /** - * Gets the maximum number of messages to send per flush. - * - * @return int The limit - */ - public function getMessageLimit() - { - return $this->message_limit; - } - - /** - * Sets the time limit (in seconds) per flush. - * - * @param int $limit The limit - */ - public function setTimeLimit($limit) - { - $this->time_limit = (int) $limit; - } - - /** - * Gets the time limit (in seconds) per flush. - * - * @return int The limit - */ - public function getTimeLimit() - { - return $this->time_limit; - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/DependencyContainer.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/DependencyContainer.php deleted file mode 100644 index b38f8ce..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/DependencyContainer.php +++ /dev/null @@ -1,391 +0,0 @@ -store); - } - - /** - * Test if an item is registered in this container with the given name. - * - * @see register() - * - * @param string $itemName - * - * @return bool - */ - public function has($itemName) - { - return array_key_exists($itemName, $this->store) - && isset($this->store[$itemName]['lookupType']); - } - - /** - * Lookup the item with the given $itemName. - * - * @see register() - * - * @param string $itemName - * - * @return mixed - * - * @throws Swift_DependencyException If the dependency is not found - */ - public function lookup($itemName) - { - if (!$this->has($itemName)) { - throw new Swift_DependencyException( - 'Cannot lookup dependency "'.$itemName.'" since it is not registered.' - ); - } - - switch ($this->store[$itemName]['lookupType']) { - case self::TYPE_ALIAS: - return $this->createAlias($itemName); - case self::TYPE_VALUE: - return $this->getValue($itemName); - case self::TYPE_INSTANCE: - return $this->createNewInstance($itemName); - case self::TYPE_SHARED: - return $this->createSharedInstance($itemName); - case self::TYPE_ARRAY: - return $this->createDependenciesFor($itemName); - } - } - - /** - * Create an array of arguments passed to the constructor of $itemName. - * - * @param string $itemName - * - * @return array - */ - public function createDependenciesFor($itemName) - { - $args = []; - if (isset($this->store[$itemName]['args'])) { - $args = $this->resolveArgs($this->store[$itemName]['args']); - } - - return $args; - } - - /** - * Register a new dependency with $itemName. - * - * This method returns the current DependencyContainer instance because it - * requires the use of the fluid interface to set the specific details for the - * dependency. - * - * @see asNewInstanceOf(), asSharedInstanceOf(), asValue() - * - * @param string $itemName - * - * @return $this - */ - public function register($itemName) - { - $this->store[$itemName] = []; - $this->endPoint = &$this->store[$itemName]; - - return $this; - } - - /** - * Specify the previously registered item as a literal value. - * - * {@link register()} must be called before this will work. - * - * @param mixed $value - * - * @return $this - */ - public function asValue($value) - { - $endPoint = &$this->getEndPoint(); - $endPoint['lookupType'] = self::TYPE_VALUE; - $endPoint['value'] = $value; - - return $this; - } - - /** - * Specify the previously registered item as an alias of another item. - * - * @param string $lookup - * - * @return $this - */ - public function asAliasOf($lookup) - { - $endPoint = &$this->getEndPoint(); - $endPoint['lookupType'] = self::TYPE_ALIAS; - $endPoint['ref'] = $lookup; - - return $this; - } - - /** - * Specify the previously registered item as a new instance of $className. - * - * {@link register()} must be called before this will work. - * Any arguments can be set with {@link withDependencies()}, - * {@link addConstructorValue()} or {@link addConstructorLookup()}. - * - * @see withDependencies(), addConstructorValue(), addConstructorLookup() - * - * @param string $className - * - * @return $this - */ - public function asNewInstanceOf($className) - { - $endPoint = &$this->getEndPoint(); - $endPoint['lookupType'] = self::TYPE_INSTANCE; - $endPoint['className'] = $className; - - return $this; - } - - /** - * Specify the previously registered item as a shared instance of $className. - * - * {@link register()} must be called before this will work. - * - * @param string $className - * - * @return $this - */ - public function asSharedInstanceOf($className) - { - $endPoint = &$this->getEndPoint(); - $endPoint['lookupType'] = self::TYPE_SHARED; - $endPoint['className'] = $className; - - return $this; - } - - /** - * Specify the previously registered item as array of dependencies. - * - * {@link register()} must be called before this will work. - * - * @return $this - */ - public function asArray() - { - $endPoint = &$this->getEndPoint(); - $endPoint['lookupType'] = self::TYPE_ARRAY; - - return $this; - } - - /** - * Specify a list of injected dependencies for the previously registered item. - * - * This method takes an array of lookup names. - * - * @see addConstructorValue(), addConstructorLookup() - * - * @return $this - */ - public function withDependencies(array $lookups) - { - $endPoint = &$this->getEndPoint(); - $endPoint['args'] = []; - foreach ($lookups as $lookup) { - $this->addConstructorLookup($lookup); - } - - return $this; - } - - /** - * Specify a literal (non looked up) value for the constructor of the - * previously registered item. - * - * @see withDependencies(), addConstructorLookup() - * - * @param mixed $value - * - * @return $this - */ - public function addConstructorValue($value) - { - $endPoint = &$this->getEndPoint(); - if (!isset($endPoint['args'])) { - $endPoint['args'] = []; - } - $endPoint['args'][] = ['type' => 'value', 'item' => $value]; - - return $this; - } - - /** - * Specify a dependency lookup for the constructor of the previously - * registered item. - * - * @see withDependencies(), addConstructorValue() - * - * @param string $lookup - * - * @return $this - */ - public function addConstructorLookup($lookup) - { - $endPoint = &$this->getEndPoint(); - if (!isset($this->endPoint['args'])) { - $endPoint['args'] = []; - } - $endPoint['args'][] = ['type' => 'lookup', 'item' => $lookup]; - - return $this; - } - - /** Get the literal value with $itemName */ - private function getValue($itemName) - { - return $this->store[$itemName]['value']; - } - - /** Resolve an alias to another item */ - private function createAlias($itemName) - { - return $this->lookup($this->store[$itemName]['ref']); - } - - /** Create a fresh instance of $itemName */ - private function createNewInstance($itemName) - { - $reflector = new ReflectionClass($this->store[$itemName]['className']); - if ($reflector->getConstructor()) { - return $reflector->newInstanceArgs( - $this->createDependenciesFor($itemName) - ); - } - - return $reflector->newInstance(); - } - - /** Create and register a shared instance of $itemName */ - private function createSharedInstance($itemName) - { - if (!isset($this->store[$itemName]['instance'])) { - $this->store[$itemName]['instance'] = $this->createNewInstance($itemName); - } - - return $this->store[$itemName]['instance']; - } - - /** Get the current endpoint in the store */ - private function &getEndPoint() - { - if (!isset($this->endPoint)) { - throw new BadMethodCallException( - 'Component must first be registered by calling register()' - ); - } - - return $this->endPoint; - } - - /** Get an argument list with dependencies resolved */ - private function resolveArgs(array $args) - { - $resolved = []; - foreach ($args as $argDefinition) { - switch ($argDefinition['type']) { - case 'lookup': - $resolved[] = $this->lookupRecursive($argDefinition['item']); - break; - case 'value': - $resolved[] = $argDefinition['item']; - break; - } - } - - return $resolved; - } - - /** Resolve a single dependency with an collections */ - private function lookupRecursive($item) - { - if (is_array($item)) { - $collection = []; - foreach ($item as $k => $v) { - $collection[$k] = $this->lookupRecursive($v); - } - - return $collection; - } - - return $this->lookup($item); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/DependencyException.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/DependencyException.php deleted file mode 100644 index 799d38d..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/DependencyException.php +++ /dev/null @@ -1,27 +0,0 @@ -createDependenciesFor('mime.embeddedfile') - ); - - $this->setBody($data); - $this->setFilename($filename); - if ($contentType) { - $this->setContentType($contentType); - } - } - - /** - * Create a new EmbeddedFile from a filesystem path. - * - * @param string $path - * - * @return Swift_Mime_EmbeddedFile - */ - public static function fromPath($path) - { - return (new self())->setFile(new Swift_ByteStream_FileByteStream($path)); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Encoder.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Encoder.php deleted file mode 100644 index 2073abc..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Encoder.php +++ /dev/null @@ -1,28 +0,0 @@ -= $maxLineLength || 76 < $maxLineLength) { - $maxLineLength = 76; - } - - $encodedString = base64_encode($string); - $firstLine = ''; - - if (0 != $firstLineOffset) { - $firstLine = substr( - $encodedString, 0, $maxLineLength - $firstLineOffset - )."\r\n"; - $encodedString = substr( - $encodedString, $maxLineLength - $firstLineOffset - ); - } - - return $firstLine.trim(chunk_split($encodedString, $maxLineLength, "\r\n")); - } - - /** - * Does nothing. - */ - public function charsetChanged($charset) - { - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Encoder/QpEncoder.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Encoder/QpEncoder.php deleted file mode 100644 index 95b4ae9..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Encoder/QpEncoder.php +++ /dev/null @@ -1,300 +0,0 @@ - '=00', 1 => '=01', 2 => '=02', 3 => '=03', 4 => '=04', - 5 => '=05', 6 => '=06', 7 => '=07', 8 => '=08', 9 => '=09', - 10 => '=0A', 11 => '=0B', 12 => '=0C', 13 => '=0D', 14 => '=0E', - 15 => '=0F', 16 => '=10', 17 => '=11', 18 => '=12', 19 => '=13', - 20 => '=14', 21 => '=15', 22 => '=16', 23 => '=17', 24 => '=18', - 25 => '=19', 26 => '=1A', 27 => '=1B', 28 => '=1C', 29 => '=1D', - 30 => '=1E', 31 => '=1F', 32 => '=20', 33 => '=21', 34 => '=22', - 35 => '=23', 36 => '=24', 37 => '=25', 38 => '=26', 39 => '=27', - 40 => '=28', 41 => '=29', 42 => '=2A', 43 => '=2B', 44 => '=2C', - 45 => '=2D', 46 => '=2E', 47 => '=2F', 48 => '=30', 49 => '=31', - 50 => '=32', 51 => '=33', 52 => '=34', 53 => '=35', 54 => '=36', - 55 => '=37', 56 => '=38', 57 => '=39', 58 => '=3A', 59 => '=3B', - 60 => '=3C', 61 => '=3D', 62 => '=3E', 63 => '=3F', 64 => '=40', - 65 => '=41', 66 => '=42', 67 => '=43', 68 => '=44', 69 => '=45', - 70 => '=46', 71 => '=47', 72 => '=48', 73 => '=49', 74 => '=4A', - 75 => '=4B', 76 => '=4C', 77 => '=4D', 78 => '=4E', 79 => '=4F', - 80 => '=50', 81 => '=51', 82 => '=52', 83 => '=53', 84 => '=54', - 85 => '=55', 86 => '=56', 87 => '=57', 88 => '=58', 89 => '=59', - 90 => '=5A', 91 => '=5B', 92 => '=5C', 93 => '=5D', 94 => '=5E', - 95 => '=5F', 96 => '=60', 97 => '=61', 98 => '=62', 99 => '=63', - 100 => '=64', 101 => '=65', 102 => '=66', 103 => '=67', 104 => '=68', - 105 => '=69', 106 => '=6A', 107 => '=6B', 108 => '=6C', 109 => '=6D', - 110 => '=6E', 111 => '=6F', 112 => '=70', 113 => '=71', 114 => '=72', - 115 => '=73', 116 => '=74', 117 => '=75', 118 => '=76', 119 => '=77', - 120 => '=78', 121 => '=79', 122 => '=7A', 123 => '=7B', 124 => '=7C', - 125 => '=7D', 126 => '=7E', 127 => '=7F', 128 => '=80', 129 => '=81', - 130 => '=82', 131 => '=83', 132 => '=84', 133 => '=85', 134 => '=86', - 135 => '=87', 136 => '=88', 137 => '=89', 138 => '=8A', 139 => '=8B', - 140 => '=8C', 141 => '=8D', 142 => '=8E', 143 => '=8F', 144 => '=90', - 145 => '=91', 146 => '=92', 147 => '=93', 148 => '=94', 149 => '=95', - 150 => '=96', 151 => '=97', 152 => '=98', 153 => '=99', 154 => '=9A', - 155 => '=9B', 156 => '=9C', 157 => '=9D', 158 => '=9E', 159 => '=9F', - 160 => '=A0', 161 => '=A1', 162 => '=A2', 163 => '=A3', 164 => '=A4', - 165 => '=A5', 166 => '=A6', 167 => '=A7', 168 => '=A8', 169 => '=A9', - 170 => '=AA', 171 => '=AB', 172 => '=AC', 173 => '=AD', 174 => '=AE', - 175 => '=AF', 176 => '=B0', 177 => '=B1', 178 => '=B2', 179 => '=B3', - 180 => '=B4', 181 => '=B5', 182 => '=B6', 183 => '=B7', 184 => '=B8', - 185 => '=B9', 186 => '=BA', 187 => '=BB', 188 => '=BC', 189 => '=BD', - 190 => '=BE', 191 => '=BF', 192 => '=C0', 193 => '=C1', 194 => '=C2', - 195 => '=C3', 196 => '=C4', 197 => '=C5', 198 => '=C6', 199 => '=C7', - 200 => '=C8', 201 => '=C9', 202 => '=CA', 203 => '=CB', 204 => '=CC', - 205 => '=CD', 206 => '=CE', 207 => '=CF', 208 => '=D0', 209 => '=D1', - 210 => '=D2', 211 => '=D3', 212 => '=D4', 213 => '=D5', 214 => '=D6', - 215 => '=D7', 216 => '=D8', 217 => '=D9', 218 => '=DA', 219 => '=DB', - 220 => '=DC', 221 => '=DD', 222 => '=DE', 223 => '=DF', 224 => '=E0', - 225 => '=E1', 226 => '=E2', 227 => '=E3', 228 => '=E4', 229 => '=E5', - 230 => '=E6', 231 => '=E7', 232 => '=E8', 233 => '=E9', 234 => '=EA', - 235 => '=EB', 236 => '=EC', 237 => '=ED', 238 => '=EE', 239 => '=EF', - 240 => '=F0', 241 => '=F1', 242 => '=F2', 243 => '=F3', 244 => '=F4', - 245 => '=F5', 246 => '=F6', 247 => '=F7', 248 => '=F8', 249 => '=F9', - 250 => '=FA', 251 => '=FB', 252 => '=FC', 253 => '=FD', 254 => '=FE', - 255 => '=FF', - ]; - - protected static $safeMapShare = []; - - /** - * A map of non-encoded ascii characters. - * - * @var string[] - */ - protected $safeMap = []; - - /** - * Creates a new QpEncoder for the given CharacterStream. - * - * @param Swift_CharacterStream $charStream to use for reading characters - * @param Swift_StreamFilter $filter if input should be canonicalized - */ - public function __construct(Swift_CharacterStream $charStream, Swift_StreamFilter $filter = null) - { - $this->charStream = $charStream; - if (!isset(self::$safeMapShare[$this->getSafeMapShareId()])) { - $this->initSafeMap(); - self::$safeMapShare[$this->getSafeMapShareId()] = $this->safeMap; - } else { - $this->safeMap = self::$safeMapShare[$this->getSafeMapShareId()]; - } - $this->filter = $filter; - } - - public function __sleep() - { - return ['charStream', 'filter']; - } - - public function __wakeup() - { - if (!isset(self::$safeMapShare[$this->getSafeMapShareId()])) { - $this->initSafeMap(); - self::$safeMapShare[$this->getSafeMapShareId()] = $this->safeMap; - } else { - $this->safeMap = self::$safeMapShare[$this->getSafeMapShareId()]; - } - } - - protected function getSafeMapShareId() - { - return get_class($this); - } - - protected function initSafeMap() - { - foreach (array_merge( - [0x09, 0x20], range(0x21, 0x3C), range(0x3E, 0x7E)) as $byte) { - $this->safeMap[$byte] = chr($byte); - } - } - - /** - * Takes an unencoded string and produces a QP encoded string from it. - * - * QP encoded strings have a maximum line length of 76 characters. - * If the first line needs to be shorter, indicate the difference with - * $firstLineOffset. - * - * @param string $string to encode - * @param int $firstLineOffset optional - * @param int $maxLineLength optional 0 indicates the default of 76 chars - * - * @return string - */ - public function encodeString($string, $firstLineOffset = 0, $maxLineLength = 0) - { - if ($maxLineLength > 76 || $maxLineLength <= 0) { - $maxLineLength = 76; - } - - $thisLineLength = $maxLineLength - $firstLineOffset; - - $lines = []; - $lNo = 0; - $lines[$lNo] = ''; - $currentLine = &$lines[$lNo++]; - $size = $lineLen = 0; - - $this->charStream->flushContents(); - $this->charStream->importString($string); - - // Fetching more than 4 chars at one is slower, as is fetching fewer bytes - // Conveniently 4 chars is the UTF-8 safe number since UTF-8 has up to 6 - // bytes per char and (6 * 4 * 3 = 72 chars per line) * =NN is 3 bytes - while (false !== $bytes = $this->nextSequence()) { - // If we're filtering the input - if (isset($this->filter)) { - // If we can't filter because we need more bytes - while ($this->filter->shouldBuffer($bytes)) { - // Then collect bytes into the buffer - if (false === $moreBytes = $this->nextSequence(1)) { - break; - } - - foreach ($moreBytes as $b) { - $bytes[] = $b; - } - } - // And filter them - $bytes = $this->filter->filter($bytes); - } - - $enc = $this->encodeByteSequence($bytes, $size); - - $i = strpos($enc, '=0D=0A'); - $newLineLength = $lineLen + (false === $i ? $size : $i); - - if ($currentLine && $newLineLength >= $thisLineLength) { - $lines[$lNo] = ''; - $currentLine = &$lines[$lNo++]; - $thisLineLength = $maxLineLength; - $lineLen = 0; - } - - $currentLine .= $enc; - - if (false === $i) { - $lineLen += $size; - } else { - // 6 is the length of '=0D=0A'. - $lineLen = $size - strrpos($enc, '=0D=0A') - 6; - } - } - - return $this->standardize(implode("=\r\n", $lines)); - } - - /** - * Updates the charset used. - * - * @param string $charset - */ - public function charsetChanged($charset) - { - $this->charStream->setCharacterSet($charset); - } - - /** - * Encode the given byte array into a verbatim QP form. - * - * @param int[] $bytes - * @param int $size - * - * @return string - */ - protected function encodeByteSequence(array $bytes, &$size) - { - $ret = ''; - $size = 0; - foreach ($bytes as $b) { - if (isset($this->safeMap[$b])) { - $ret .= $this->safeMap[$b]; - ++$size; - } else { - $ret .= self::$qpMap[$b]; - $size += 3; - } - } - - return $ret; - } - - /** - * Get the next sequence of bytes to read from the char stream. - * - * @param int $size number of bytes to read - * - * @return int[] - */ - protected function nextSequence($size = 4) - { - return $this->charStream->readBytes($size); - } - - /** - * Make sure CRLF is correct and HT/SPACE are in valid places. - * - * @param string $string - * - * @return string - */ - protected function standardize($string) - { - $string = str_replace(["\t=0D=0A", ' =0D=0A', '=0D=0A'], - ["=09\r\n", "=20\r\n", "\r\n"], $string - ); - switch ($end = ord(substr($string, -1))) { - case 0x09: - case 0x20: - $string = substr_replace($string, self::$qpMap[$end], -1); - } - - return $string; - } - - /** - * Make a deep copy of object. - */ - public function __clone() - { - $this->charStream = clone $this->charStream; - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Encoder/Rfc2231Encoder.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Encoder/Rfc2231Encoder.php deleted file mode 100644 index 2458515..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Encoder/Rfc2231Encoder.php +++ /dev/null @@ -1,90 +0,0 @@ -charStream = $charStream; - } - - /** - * Takes an unencoded string and produces a string encoded according to - * RFC 2231 from it. - * - * @param string $string - * @param int $firstLineOffset - * @param int $maxLineLength optional, 0 indicates the default of 75 bytes - * - * @return string - */ - public function encodeString($string, $firstLineOffset = 0, $maxLineLength = 0) - { - $lines = []; - $lineCount = 0; - $lines[] = ''; - $currentLine = &$lines[$lineCount++]; - - if (0 >= $maxLineLength) { - $maxLineLength = 75; - } - - $this->charStream->flushContents(); - $this->charStream->importString($string); - - $thisLineLength = $maxLineLength - $firstLineOffset; - - while (false !== $char = $this->charStream->read(4)) { - $encodedChar = rawurlencode($char); - if (0 != strlen($currentLine) - && strlen($currentLine.$encodedChar) > $thisLineLength) { - $lines[] = ''; - $currentLine = &$lines[$lineCount++]; - $thisLineLength = $maxLineLength; - } - $currentLine .= $encodedChar; - } - - return implode("\r\n", $lines); - } - - /** - * Updates the charset used. - * - * @param string $charset - */ - public function charsetChanged($charset) - { - $this->charStream->setCharacterSet($charset); - } - - /** - * Make a deep copy of object. - */ - public function __clone() - { - $this->charStream = clone $this->charStream; - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Events/CommandEvent.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Events/CommandEvent.php deleted file mode 100644 index 18994c1..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Events/CommandEvent.php +++ /dev/null @@ -1,64 +0,0 @@ -command = $command; - $this->successCodes = $successCodes; - } - - /** - * Get the command which was sent to the server. - * - * @return string - */ - public function getCommand() - { - return $this->command; - } - - /** - * Get the numeric response codes which indicate success for this command. - * - * @return int[] - */ - public function getSuccessCodes() - { - return $this->successCodes; - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Events/CommandListener.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Events/CommandListener.php deleted file mode 100644 index 7545404..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Events/CommandListener.php +++ /dev/null @@ -1,24 +0,0 @@ -source = $source; - } - - /** - * Get the source object of this event. - * - * @return object - */ - public function getSource() - { - return $this->source; - } - - /** - * Prevent this Event from bubbling any further up the stack. - */ - public function cancelBubble($cancel = true) - { - $this->bubbleCancelled = $cancel; - } - - /** - * Returns true if this Event will not bubble any further up the stack. - * - * @return bool - */ - public function bubbleCancelled() - { - return $this->bubbleCancelled; - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Events/ResponseEvent.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Events/ResponseEvent.php deleted file mode 100644 index ff7c371..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Events/ResponseEvent.php +++ /dev/null @@ -1,64 +0,0 @@ -response = $response; - $this->valid = $valid; - } - - /** - * Get the response which was received from the server. - * - * @return string - */ - public function getResponse() - { - return $this->response; - } - - /** - * Get the success status of this Event. - * - * @return bool - */ - public function isValid() - { - return $this->valid; - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Events/ResponseListener.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Events/ResponseListener.php deleted file mode 100644 index c40919d..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Events/ResponseListener.php +++ /dev/null @@ -1,24 +0,0 @@ -message = $message; - $this->result = self::RESULT_PENDING; - } - - /** - * Get the Transport used to send the Message. - * - * @return Swift_Transport - */ - public function getTransport() - { - return $this->getSource(); - } - - /** - * Get the Message being sent. - * - * @return Swift_Mime_SimpleMessage - */ - public function getMessage() - { - return $this->message; - } - - /** - * Set the array of addresses that failed in sending. - * - * @param array $recipients - */ - public function setFailedRecipients($recipients) - { - $this->failedRecipients = $recipients; - } - - /** - * Get an recipient addresses which were not accepted for delivery. - * - * @return string[] - */ - public function getFailedRecipients() - { - return $this->failedRecipients; - } - - /** - * Set the result of sending. - * - * @param int $result - */ - public function setResult($result) - { - $this->result = $result; - } - - /** - * Get the result of this Event. - * - * The return value is a bitmask from - * {@see RESULT_PENDING, RESULT_SUCCESS, RESULT_TENTATIVE, RESULT_FAILED} - * - * @return int - */ - public function getResult() - { - return $this->result; - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Events/SendListener.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Events/SendListener.php deleted file mode 100644 index d922e1b..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Events/SendListener.php +++ /dev/null @@ -1,31 +0,0 @@ -eventMap = [ - 'Swift_Events_CommandEvent' => 'Swift_Events_CommandListener', - 'Swift_Events_ResponseEvent' => 'Swift_Events_ResponseListener', - 'Swift_Events_SendEvent' => 'Swift_Events_SendListener', - 'Swift_Events_TransportChangeEvent' => 'Swift_Events_TransportChangeListener', - 'Swift_Events_TransportExceptionEvent' => 'Swift_Events_TransportExceptionListener', - ]; - } - - /** - * Create a new SendEvent for $source and $message. - * - * @return Swift_Events_SendEvent - */ - public function createSendEvent(Swift_Transport $source, Swift_Mime_SimpleMessage $message) - { - return new Swift_Events_SendEvent($source, $message); - } - - /** - * Create a new CommandEvent for $source and $command. - * - * @param string $command That will be executed - * @param array $successCodes That are needed - * - * @return Swift_Events_CommandEvent - */ - public function createCommandEvent(Swift_Transport $source, $command, $successCodes = []) - { - return new Swift_Events_CommandEvent($source, $command, $successCodes); - } - - /** - * Create a new ResponseEvent for $source and $response. - * - * @param string $response - * @param bool $valid If the response is valid - * - * @return Swift_Events_ResponseEvent - */ - public function createResponseEvent(Swift_Transport $source, $response, $valid) - { - return new Swift_Events_ResponseEvent($source, $response, $valid); - } - - /** - * Create a new TransportChangeEvent for $source. - * - * @return Swift_Events_TransportChangeEvent - */ - public function createTransportChangeEvent(Swift_Transport $source) - { - return new Swift_Events_TransportChangeEvent($source); - } - - /** - * Create a new TransportExceptionEvent for $source. - * - * @return Swift_Events_TransportExceptionEvent - */ - public function createTransportExceptionEvent(Swift_Transport $source, Swift_TransportException $ex) - { - return new Swift_Events_TransportExceptionEvent($source, $ex); - } - - /** - * Bind an event listener to this dispatcher. - */ - public function bindEventListener(Swift_Events_EventListener $listener) - { - foreach ($this->listeners as $l) { - // Already loaded - if ($l === $listener) { - return; - } - } - $this->listeners[] = $listener; - } - - /** - * Dispatch the given Event to all suitable listeners. - * - * @param string $target method - */ - public function dispatchEvent(Swift_Events_EventObject $evt, $target) - { - $this->prepareBubbleQueue($evt); - $this->bubble($evt, $target); - } - - /** Queue listeners on a stack ready for $evt to be bubbled up it */ - private function prepareBubbleQueue(Swift_Events_EventObject $evt) - { - $this->bubbleQueue = []; - $evtClass = get_class($evt); - foreach ($this->listeners as $listener) { - if (array_key_exists($evtClass, $this->eventMap) - && ($listener instanceof $this->eventMap[$evtClass])) { - $this->bubbleQueue[] = $listener; - } - } - } - - /** Bubble $evt up the stack calling $target() on each listener */ - private function bubble(Swift_Events_EventObject $evt, $target) - { - if (!$evt->bubbleCancelled() && $listener = array_shift($this->bubbleQueue)) { - $listener->$target($evt); - $this->bubble($evt, $target); - } - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Events/TransportChangeEvent.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Events/TransportChangeEvent.php deleted file mode 100644 index a8972fd..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Events/TransportChangeEvent.php +++ /dev/null @@ -1,27 +0,0 @@ -getSource(); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Events/TransportChangeListener.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Events/TransportChangeListener.php deleted file mode 100644 index 253165d..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Events/TransportChangeListener.php +++ /dev/null @@ -1,45 +0,0 @@ -exception = $ex; - } - - /** - * Get the TransportException thrown. - * - * @return Swift_TransportException - */ - public function getException() - { - return $this->exception; - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Events/TransportExceptionListener.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Events/TransportExceptionListener.php deleted file mode 100644 index cc3c099..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Events/TransportExceptionListener.php +++ /dev/null @@ -1,24 +0,0 @@ -createDependenciesFor('transport.failover') - ); - - $this->setTransports($transports); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/FileSpool.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/FileSpool.php deleted file mode 100644 index d16c47c..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/FileSpool.php +++ /dev/null @@ -1,208 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Stores Messages on the filesystem. - * - * @author Fabien Potencier - * @author Xavier De Cock - */ -class Swift_FileSpool extends Swift_ConfigurableSpool -{ - /** The spool directory */ - private $path; - - /** - * File WriteRetry Limit. - * - * @var int - */ - private $retryLimit = 10; - - /** - * Create a new FileSpool. - * - * @param string $path - * - * @throws Swift_IoException - */ - public function __construct($path) - { - $this->path = $path; - - if (!file_exists($this->path)) { - if (!mkdir($this->path, 0777, true)) { - throw new Swift_IoException(sprintf('Unable to create path "%s".', $this->path)); - } - } - } - - /** - * Tests if this Spool mechanism has started. - * - * @return bool - */ - public function isStarted() - { - return true; - } - - /** - * Starts this Spool mechanism. - */ - public function start() - { - } - - /** - * Stops this Spool mechanism. - */ - public function stop() - { - } - - /** - * Allow to manage the enqueuing retry limit. - * - * Default, is ten and allows over 64^20 different fileNames - * - * @param int $limit - */ - public function setRetryLimit($limit) - { - $this->retryLimit = $limit; - } - - /** - * Queues a message. - * - * @param Swift_Mime_SimpleMessage $message The message to store - * - * @throws Swift_IoException - * - * @return bool - */ - public function queueMessage(Swift_Mime_SimpleMessage $message) - { - $ser = serialize($message); - $fileName = $this->path.'/'.$this->getRandomString(10); - for ($i = 0; $i < $this->retryLimit; ++$i) { - /* We try an exclusive creation of the file. This is an atomic operation, it avoid locking mechanism */ - $fp = @fopen($fileName.'.message', 'xb'); - if (false !== $fp) { - if (false === fwrite($fp, $ser)) { - return false; - } - - return fclose($fp); - } else { - /* The file already exists, we try a longer fileName */ - $fileName .= $this->getRandomString(1); - } - } - - throw new Swift_IoException(sprintf('Unable to create a file for enqueuing Message in "%s".', $this->path)); - } - - /** - * Execute a recovery if for any reason a process is sending for too long. - * - * @param int $timeout in second Defaults is for very slow smtp responses - */ - public function recover($timeout = 900) - { - foreach (new DirectoryIterator($this->path) as $file) { - $file = $file->getRealPath(); - - if ('.message.sending' == substr($file, -16)) { - $lockedtime = filectime($file); - if ((time() - $lockedtime) > $timeout) { - rename($file, substr($file, 0, -8)); - } - } - } - } - - /** - * Sends messages using the given transport instance. - * - * @param Swift_Transport $transport A transport instance - * @param string[] $failedRecipients An array of failures by-reference - * - * @return int The number of sent e-mail's - */ - public function flushQueue(Swift_Transport $transport, &$failedRecipients = null) - { - $directoryIterator = new DirectoryIterator($this->path); - - /* Start the transport only if there are queued files to send */ - if (!$transport->isStarted()) { - foreach ($directoryIterator as $file) { - if ('.message' == substr($file->getRealPath(), -8)) { - $transport->start(); - break; - } - } - } - - $failedRecipients = (array) $failedRecipients; - $count = 0; - $time = time(); - foreach ($directoryIterator as $file) { - $file = $file->getRealPath(); - - if ('.message' != substr($file, -8)) { - continue; - } - - /* We try a rename, it's an atomic operation, and avoid locking the file */ - if (rename($file, $file.'.sending')) { - $message = unserialize(file_get_contents($file.'.sending')); - - $count += $transport->send($message, $failedRecipients); - - unlink($file.'.sending'); - } else { - /* This message has just been catched by another process */ - continue; - } - - if ($this->getMessageLimit() && $count >= $this->getMessageLimit()) { - break; - } - - if ($this->getTimeLimit() && (time() - $time) >= $this->getTimeLimit()) { - break; - } - } - - return $count; - } - - /** - * Returns a random string needed to generate a fileName for the queue. - * - * @param int $count - * - * @return string - */ - protected function getRandomString($count) - { - // This string MUST stay FS safe, avoid special chars - $base = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_-'; - $ret = ''; - $strlen = strlen($base); - for ($i = 0; $i < $count; ++$i) { - $ret .= $base[random_int(0, $strlen - 1)]; - } - - return $ret; - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/FileStream.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/FileStream.php deleted file mode 100644 index 0b24db1..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/FileStream.php +++ /dev/null @@ -1,24 +0,0 @@ -setFile(new Swift_ByteStream_FileByteStream($path)); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/InputByteStream.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/InputByteStream.php deleted file mode 100644 index 379a5a1..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/InputByteStream.php +++ /dev/null @@ -1,75 +0,0 @@ -stream = $stream; - } - - /** - * Set a string into the cache under $itemKey for the namespace $nsKey. - * - * @see MODE_WRITE, MODE_APPEND - * - * @param string $nsKey - * @param string $itemKey - * @param string $string - * @param int $mode - */ - public function setString($nsKey, $itemKey, $string, $mode) - { - $this->prepareCache($nsKey); - switch ($mode) { - case self::MODE_WRITE: - $this->contents[$nsKey][$itemKey] = $string; - break; - case self::MODE_APPEND: - if (!$this->hasKey($nsKey, $itemKey)) { - $this->contents[$nsKey][$itemKey] = ''; - } - $this->contents[$nsKey][$itemKey] .= $string; - break; - default: - throw new Swift_SwiftException( - 'Invalid mode ['.$mode.'] used to set nsKey='. - $nsKey.', itemKey='.$itemKey - ); - } - } - - /** - * Set a ByteStream into the cache under $itemKey for the namespace $nsKey. - * - * @see MODE_WRITE, MODE_APPEND - * - * @param string $nsKey - * @param string $itemKey - * @param int $mode - */ - public function importFromByteStream($nsKey, $itemKey, Swift_OutputByteStream $os, $mode) - { - $this->prepareCache($nsKey); - switch ($mode) { - case self::MODE_WRITE: - $this->clearKey($nsKey, $itemKey); - // no break - case self::MODE_APPEND: - if (!$this->hasKey($nsKey, $itemKey)) { - $this->contents[$nsKey][$itemKey] = ''; - } - while (false !== $bytes = $os->read(8192)) { - $this->contents[$nsKey][$itemKey] .= $bytes; - } - break; - default: - throw new Swift_SwiftException( - 'Invalid mode ['.$mode.'] used to set nsKey='. - $nsKey.', itemKey='.$itemKey - ); - } - } - - /** - * Provides a ByteStream which when written to, writes data to $itemKey. - * - * NOTE: The stream will always write in append mode. - * - * @param string $nsKey - * @param string $itemKey - * - * @return Swift_InputByteStream - */ - public function getInputByteStream($nsKey, $itemKey, Swift_InputByteStream $writeThrough = null) - { - $is = clone $this->stream; - $is->setKeyCache($this); - $is->setNsKey($nsKey); - $is->setItemKey($itemKey); - if (isset($writeThrough)) { - $is->setWriteThroughStream($writeThrough); - } - - return $is; - } - - /** - * Get data back out of the cache as a string. - * - * @param string $nsKey - * @param string $itemKey - * - * @return string - */ - public function getString($nsKey, $itemKey) - { - $this->prepareCache($nsKey); - if ($this->hasKey($nsKey, $itemKey)) { - return $this->contents[$nsKey][$itemKey]; - } - } - - /** - * Get data back out of the cache as a ByteStream. - * - * @param string $nsKey - * @param string $itemKey - * @param Swift_InputByteStream $is to write the data to - */ - public function exportToByteStream($nsKey, $itemKey, Swift_InputByteStream $is) - { - $this->prepareCache($nsKey); - $is->write($this->getString($nsKey, $itemKey)); - } - - /** - * Check if the given $itemKey exists in the namespace $nsKey. - * - * @param string $nsKey - * @param string $itemKey - * - * @return bool - */ - public function hasKey($nsKey, $itemKey) - { - $this->prepareCache($nsKey); - - return array_key_exists($itemKey, $this->contents[$nsKey]); - } - - /** - * Clear data for $itemKey in the namespace $nsKey if it exists. - * - * @param string $nsKey - * @param string $itemKey - */ - public function clearKey($nsKey, $itemKey) - { - unset($this->contents[$nsKey][$itemKey]); - } - - /** - * Clear all data in the namespace $nsKey if it exists. - * - * @param string $nsKey - */ - public function clearAll($nsKey) - { - unset($this->contents[$nsKey]); - } - - /** - * Initialize the namespace of $nsKey if needed. - * - * @param string $nsKey - */ - private function prepareCache($nsKey) - { - if (!array_key_exists($nsKey, $this->contents)) { - $this->contents[$nsKey] = []; - } - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/KeyCache/DiskKeyCache.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/KeyCache/DiskKeyCache.php deleted file mode 100644 index 7dc2886..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/KeyCache/DiskKeyCache.php +++ /dev/null @@ -1,295 +0,0 @@ -stream = $stream; - $this->path = $path; - } - - /** - * Set a string into the cache under $itemKey for the namespace $nsKey. - * - * @see MODE_WRITE, MODE_APPEND - * - * @param string $nsKey - * @param string $itemKey - * @param string $string - * @param int $mode - * - * @throws Swift_IoException - */ - public function setString($nsKey, $itemKey, $string, $mode) - { - $this->prepareCache($nsKey); - switch ($mode) { - case self::MODE_WRITE: - $fp = $this->getHandle($nsKey, $itemKey, self::POSITION_START); - break; - case self::MODE_APPEND: - $fp = $this->getHandle($nsKey, $itemKey, self::POSITION_END); - break; - default: - throw new Swift_SwiftException( - 'Invalid mode ['.$mode.'] used to set nsKey='. - $nsKey.', itemKey='.$itemKey - ); - break; - } - fwrite($fp, $string); - $this->freeHandle($nsKey, $itemKey); - } - - /** - * Set a ByteStream into the cache under $itemKey for the namespace $nsKey. - * - * @see MODE_WRITE, MODE_APPEND - * - * @param string $nsKey - * @param string $itemKey - * @param int $mode - * - * @throws Swift_IoException - */ - public function importFromByteStream($nsKey, $itemKey, Swift_OutputByteStream $os, $mode) - { - $this->prepareCache($nsKey); - switch ($mode) { - case self::MODE_WRITE: - $fp = $this->getHandle($nsKey, $itemKey, self::POSITION_START); - break; - case self::MODE_APPEND: - $fp = $this->getHandle($nsKey, $itemKey, self::POSITION_END); - break; - default: - throw new Swift_SwiftException( - 'Invalid mode ['.$mode.'] used to set nsKey='. - $nsKey.', itemKey='.$itemKey - ); - break; - } - while (false !== $bytes = $os->read(8192)) { - fwrite($fp, $bytes); - } - $this->freeHandle($nsKey, $itemKey); - } - - /** - * Provides a ByteStream which when written to, writes data to $itemKey. - * - * NOTE: The stream will always write in append mode. - * - * @param string $nsKey - * @param string $itemKey - * - * @return Swift_InputByteStream - */ - public function getInputByteStream($nsKey, $itemKey, Swift_InputByteStream $writeThrough = null) - { - $is = clone $this->stream; - $is->setKeyCache($this); - $is->setNsKey($nsKey); - $is->setItemKey($itemKey); - if (isset($writeThrough)) { - $is->setWriteThroughStream($writeThrough); - } - - return $is; - } - - /** - * Get data back out of the cache as a string. - * - * @param string $nsKey - * @param string $itemKey - * - * @throws Swift_IoException - * - * @return string - */ - public function getString($nsKey, $itemKey) - { - $this->prepareCache($nsKey); - if ($this->hasKey($nsKey, $itemKey)) { - $fp = $this->getHandle($nsKey, $itemKey, self::POSITION_START); - $str = ''; - while (!feof($fp) && false !== $bytes = fread($fp, 8192)) { - $str .= $bytes; - } - $this->freeHandle($nsKey, $itemKey); - - return $str; - } - } - - /** - * Get data back out of the cache as a ByteStream. - * - * @param string $nsKey - * @param string $itemKey - * @param Swift_InputByteStream $is to write the data to - */ - public function exportToByteStream($nsKey, $itemKey, Swift_InputByteStream $is) - { - if ($this->hasKey($nsKey, $itemKey)) { - $fp = $this->getHandle($nsKey, $itemKey, self::POSITION_START); - while (!feof($fp) && false !== $bytes = fread($fp, 8192)) { - $is->write($bytes); - } - $this->freeHandle($nsKey, $itemKey); - } - } - - /** - * Check if the given $itemKey exists in the namespace $nsKey. - * - * @param string $nsKey - * @param string $itemKey - * - * @return bool - */ - public function hasKey($nsKey, $itemKey) - { - return is_file($this->path.'/'.$nsKey.'/'.$itemKey); - } - - /** - * Clear data for $itemKey in the namespace $nsKey if it exists. - * - * @param string $nsKey - * @param string $itemKey - */ - public function clearKey($nsKey, $itemKey) - { - if ($this->hasKey($nsKey, $itemKey)) { - $this->freeHandle($nsKey, $itemKey); - unlink($this->path.'/'.$nsKey.'/'.$itemKey); - } - } - - /** - * Clear all data in the namespace $nsKey if it exists. - * - * @param string $nsKey - */ - public function clearAll($nsKey) - { - if (array_key_exists($nsKey, $this->keys)) { - foreach ($this->keys[$nsKey] as $itemKey => $null) { - $this->clearKey($nsKey, $itemKey); - } - if (is_dir($this->path.'/'.$nsKey)) { - rmdir($this->path.'/'.$nsKey); - } - unset($this->keys[$nsKey]); - } - } - - /** - * Initialize the namespace of $nsKey if needed. - * - * @param string $nsKey - */ - private function prepareCache($nsKey) - { - $cacheDir = $this->path.'/'.$nsKey; - if (!is_dir($cacheDir)) { - if (!mkdir($cacheDir)) { - throw new Swift_IoException('Failed to create cache directory '.$cacheDir); - } - $this->keys[$nsKey] = []; - } - } - - /** - * Get a file handle on the cache item. - * - * @param string $nsKey - * @param string $itemKey - * @param int $position - * - * @return resource - */ - private function getHandle($nsKey, $itemKey, $position) - { - if (!isset($this->keys[$nsKey][$itemKey])) { - $openMode = $this->hasKey($nsKey, $itemKey) ? 'r+b' : 'w+b'; - $fp = fopen($this->path.'/'.$nsKey.'/'.$itemKey, $openMode); - $this->keys[$nsKey][$itemKey] = $fp; - } - if (self::POSITION_START == $position) { - fseek($this->keys[$nsKey][$itemKey], 0, SEEK_SET); - } elseif (self::POSITION_END == $position) { - fseek($this->keys[$nsKey][$itemKey], 0, SEEK_END); - } - - return $this->keys[$nsKey][$itemKey]; - } - - private function freeHandle($nsKey, $itemKey) - { - $fp = $this->getHandle($nsKey, $itemKey, self::POSITION_CURRENT); - fclose($fp); - $this->keys[$nsKey][$itemKey] = null; - } - - /** - * Destructor. - */ - public function __destruct() - { - foreach ($this->keys as $nsKey => $null) { - $this->clearAll($nsKey); - } - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/KeyCache/KeyCacheInputStream.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/KeyCache/KeyCacheInputStream.php deleted file mode 100644 index af80bdc..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/KeyCache/KeyCacheInputStream.php +++ /dev/null @@ -1,51 +0,0 @@ -keyCache = $keyCache; - } - - /** - * Specify a stream to write through for each write(). - */ - public function setWriteThroughStream(Swift_InputByteStream $is) - { - $this->writeThrough = $is; - } - - /** - * Writes $bytes to the end of the stream. - * - * @param string $bytes - * @param Swift_InputByteStream $is optional - */ - public function write($bytes, Swift_InputByteStream $is = null) - { - $this->keyCache->setString( - $this->nsKey, $this->itemKey, $bytes, Swift_KeyCache::MODE_APPEND - ); - if (isset($is)) { - $is->write($bytes); - } - if (isset($this->writeThrough)) { - $this->writeThrough->write($bytes); - } - } - - /** - * Not used. - */ - public function commit() - { - } - - /** - * Not used. - */ - public function bind(Swift_InputByteStream $is) - { - } - - /** - * Not used. - */ - public function unbind(Swift_InputByteStream $is) - { - } - - /** - * Flush the contents of the stream (empty it) and set the internal pointer - * to the beginning. - */ - public function flushBuffers() - { - $this->keyCache->clearKey($this->nsKey, $this->itemKey); - } - - /** - * Set the nsKey which will be written to. - * - * @param string $nsKey - */ - public function setNsKey($nsKey) - { - $this->nsKey = $nsKey; - } - - /** - * Set the itemKey which will be written to. - * - * @param string $itemKey - */ - public function setItemKey($itemKey) - { - $this->itemKey = $itemKey; - } - - /** - * Any implementation should be cloneable, allowing the clone to access a - * separate $nsKey and $itemKey. - */ - public function __clone() - { - $this->writeThrough = null; - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/LoadBalancedTransport.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/LoadBalancedTransport.php deleted file mode 100644 index ce732af..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/LoadBalancedTransport.php +++ /dev/null @@ -1,33 +0,0 @@ -createDependenciesFor('transport.loadbalanced') - ); - - $this->setTransports($transports); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mailer.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mailer.php deleted file mode 100644 index 5763007..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mailer.php +++ /dev/null @@ -1,98 +0,0 @@ -transport = $transport; - } - - /** - * Create a new class instance of one of the message services. - * - * For example 'mimepart' would create a 'message.mimepart' instance - * - * @param string $service - * - * @return object - */ - public function createMessage($service = 'message') - { - return Swift_DependencyContainer::getInstance() - ->lookup('message.'.$service); - } - - /** - * Send the given Message like it would be sent in a mail client. - * - * All recipients (with the exception of Bcc) will be able to see the other - * recipients this message was sent to. - * - * Recipient/sender data will be retrieved from the Message object. - * - * The return value is the number of recipients who were accepted for - * delivery. - * - * @param array $failedRecipients An array of failures by-reference - * - * @return int The number of successful recipients. Can be 0 which indicates failure - */ - public function send(Swift_Mime_SimpleMessage $message, &$failedRecipients = null) - { - $failedRecipients = (array) $failedRecipients; - - // FIXME: to be removed in 7.0 (as transport must now start itself on send) - if (!$this->transport->isStarted()) { - $this->transport->start(); - } - - $sent = 0; - - try { - $sent = $this->transport->send($message, $failedRecipients); - } catch (Swift_RfcComplianceException $e) { - foreach ($message->getTo() as $address => $name) { - $failedRecipients[] = $address; - } - } - - return $sent; - } - - /** - * Register a plugin using a known unique key (e.g. myPlugin). - */ - public function registerPlugin(Swift_Events_EventListener $plugin) - { - $this->transport->registerPlugin($plugin); - } - - /** - * The Transport used to send messages. - * - * @return Swift_Transport - */ - public function getTransport() - { - return $this->transport; - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mailer/ArrayRecipientIterator.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mailer/ArrayRecipientIterator.php deleted file mode 100644 index 19aa82a..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mailer/ArrayRecipientIterator.php +++ /dev/null @@ -1,53 +0,0 @@ -recipients = $recipients; - } - - /** - * Returns true only if there are more recipients to send to. - * - * @return bool - */ - public function hasNext() - { - return !empty($this->recipients); - } - - /** - * Returns an array where the keys are the addresses of recipients and the - * values are the names. e.g. ('foo@bar' => 'Foo') or ('foo@bar' => NULL). - * - * @return array - */ - public function nextRecipient() - { - return array_splice($this->recipients, 0, 1); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mailer/RecipientIterator.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mailer/RecipientIterator.php deleted file mode 100644 index 650f3ec..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mailer/RecipientIterator.php +++ /dev/null @@ -1,32 +0,0 @@ - 'Foo') or ('foo@bar' => NULL). - * - * @return array - */ - public function nextRecipient(); -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/MemorySpool.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/MemorySpool.php deleted file mode 100644 index e3b0894..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/MemorySpool.php +++ /dev/null @@ -1,110 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Stores Messages in memory. - * - * @author Fabien Potencier - */ -class Swift_MemorySpool implements Swift_Spool -{ - protected $messages = []; - private $flushRetries = 3; - - /** - * Tests if this Transport mechanism has started. - * - * @return bool - */ - public function isStarted() - { - return true; - } - - /** - * Starts this Transport mechanism. - */ - public function start() - { - } - - /** - * Stops this Transport mechanism. - */ - public function stop() - { - } - - /** - * @param int $retries - */ - public function setFlushRetries($retries) - { - $this->flushRetries = $retries; - } - - /** - * Stores a message in the queue. - * - * @param Swift_Mime_SimpleMessage $message The message to store - * - * @return bool Whether the operation has succeeded - */ - public function queueMessage(Swift_Mime_SimpleMessage $message) - { - //clone the message to make sure it is not changed while in the queue - $this->messages[] = clone $message; - - return true; - } - - /** - * Sends messages using the given transport instance. - * - * @param Swift_Transport $transport A transport instance - * @param string[] $failedRecipients An array of failures by-reference - * - * @return int The number of sent emails - */ - public function flushQueue(Swift_Transport $transport, &$failedRecipients = null) - { - if (!$this->messages) { - return 0; - } - - if (!$transport->isStarted()) { - $transport->start(); - } - - $count = 0; - $retries = $this->flushRetries; - while ($retries--) { - try { - while ($message = array_pop($this->messages)) { - $count += $transport->send($message, $failedRecipients); - } - } catch (Swift_TransportException $exception) { - if ($retries) { - // re-queue the message at the end of the queue to give a chance - // to the other messages to be sent, in case the failure was due to - // this message and not just the transport failing - array_unshift($this->messages, $message); - - // wait half a second before we try again - usleep(500000); - } else { - throw $exception; - } - } - } - - return $count; - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Message.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Message.php deleted file mode 100644 index 42b861f..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Message.php +++ /dev/null @@ -1,279 +0,0 @@ -createDependenciesFor('mime.message') - ); - - if (!isset($charset)) { - $charset = Swift_DependencyContainer::getInstance() - ->lookup('properties.charset'); - } - $this->setSubject($subject); - $this->setBody($body); - $this->setCharset($charset); - if ($contentType) { - $this->setContentType($contentType); - } - } - - /** - * Add a MimePart to this Message. - * - * @param string|Swift_OutputByteStream $body - * @param string $contentType - * @param string $charset - * - * @return $this - */ - public function addPart($body, $contentType = null, $charset = null) - { - return $this->attach((new Swift_MimePart($body, $contentType, $charset))->setEncoder($this->getEncoder())); - } - - /** - * Attach a new signature handler to the message. - * - * @return $this - */ - public function attachSigner(Swift_Signer $signer) - { - if ($signer instanceof Swift_Signers_HeaderSigner) { - $this->headerSigners[] = $signer; - } elseif ($signer instanceof Swift_Signers_BodySigner) { - $this->bodySigners[] = $signer; - } - - return $this; - } - - /** - * Detach a signature handler from a message. - * - * @return $this - */ - public function detachSigner(Swift_Signer $signer) - { - if ($signer instanceof Swift_Signers_HeaderSigner) { - foreach ($this->headerSigners as $k => $headerSigner) { - if ($headerSigner === $signer) { - unset($this->headerSigners[$k]); - - return $this; - } - } - } elseif ($signer instanceof Swift_Signers_BodySigner) { - foreach ($this->bodySigners as $k => $bodySigner) { - if ($bodySigner === $signer) { - unset($this->bodySigners[$k]); - - return $this; - } - } - } - - return $this; - } - - /** - * Clear all signature handlers attached to the message. - * - * @return $this - */ - public function clearSigners() - { - $this->headerSigners = []; - $this->bodySigners = []; - - return $this; - } - - /** - * Get this message as a complete string. - * - * @return string - */ - public function toString() - { - if (empty($this->headerSigners) && empty($this->bodySigners)) { - return parent::toString(); - } - - $this->saveMessage(); - - $this->doSign(); - - $string = parent::toString(); - - $this->restoreMessage(); - - return $string; - } - - /** - * Write this message to a {@link Swift_InputByteStream}. - */ - public function toByteStream(Swift_InputByteStream $is) - { - if (empty($this->headerSigners) && empty($this->bodySigners)) { - parent::toByteStream($is); - - return; - } - - $this->saveMessage(); - - $this->doSign(); - - parent::toByteStream($is); - - $this->restoreMessage(); - } - - public function __wakeup() - { - Swift_DependencyContainer::getInstance()->createDependenciesFor('mime.message'); - } - - /** - * loops through signers and apply the signatures. - */ - protected function doSign() - { - foreach ($this->bodySigners as $signer) { - $altered = $signer->getAlteredHeaders(); - $this->saveHeaders($altered); - $signer->signMessage($this); - } - - foreach ($this->headerSigners as $signer) { - $altered = $signer->getAlteredHeaders(); - $this->saveHeaders($altered); - $signer->reset(); - - $signer->setHeaders($this->getHeaders()); - - $signer->startBody(); - $this->bodyToByteStream($signer); - $signer->endBody(); - - $signer->addSignature($this->getHeaders()); - } - } - - /** - * save the message before any signature is applied. - */ - protected function saveMessage() - { - $this->savedMessage = ['headers' => []]; - $this->savedMessage['body'] = $this->getBody(); - $this->savedMessage['children'] = $this->getChildren(); - if (count($this->savedMessage['children']) > 0 && '' != $this->getBody()) { - $this->setChildren(array_merge([$this->becomeMimePart()], $this->savedMessage['children'])); - $this->setBody(''); - } - } - - /** - * save the original headers. - */ - protected function saveHeaders(array $altered) - { - foreach ($altered as $head) { - $lc = strtolower($head); - - if (!isset($this->savedMessage['headers'][$lc])) { - $this->savedMessage['headers'][$lc] = $this->getHeaders()->getAll($head); - } - } - } - - /** - * Remove or restore altered headers. - */ - protected function restoreHeaders() - { - foreach ($this->savedMessage['headers'] as $name => $savedValue) { - $headers = $this->getHeaders()->getAll($name); - - foreach ($headers as $key => $value) { - if (!isset($savedValue[$key])) { - $this->getHeaders()->remove($name, $key); - } - } - } - } - - /** - * Restore message body. - */ - protected function restoreMessage() - { - $this->setBody($this->savedMessage['body']); - $this->setChildren($this->savedMessage['children']); - - $this->restoreHeaders(); - $this->savedMessage = []; - } - - /** - * Clone Message Signers. - * - * @see Swift_Mime_SimpleMimeEntity::__clone() - */ - public function __clone() - { - parent::__clone(); - foreach ($this->bodySigners as $key => $bodySigner) { - $this->bodySigners[$key] = clone $bodySigner; - } - - foreach ($this->headerSigners as $key => $headerSigner) { - $this->headerSigners[$key] = clone $headerSigner; - } - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Attachment.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Attachment.php deleted file mode 100644 index 917007e..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Attachment.php +++ /dev/null @@ -1,144 +0,0 @@ -setDisposition('attachment'); - $this->setContentType('application/octet-stream'); - $this->mimeTypes = $mimeTypes; - } - - /** - * Get the nesting level used for this attachment. - * - * Always returns {@link LEVEL_MIXED}. - * - * @return int - */ - public function getNestingLevel() - { - return self::LEVEL_MIXED; - } - - /** - * Get the Content-Disposition of this attachment. - * - * By default attachments have a disposition of "attachment". - * - * @return string - */ - public function getDisposition() - { - return $this->getHeaderFieldModel('Content-Disposition'); - } - - /** - * Set the Content-Disposition of this attachment. - * - * @param string $disposition - * - * @return $this - */ - public function setDisposition($disposition) - { - if (!$this->setHeaderFieldModel('Content-Disposition', $disposition)) { - $this->getHeaders()->addParameterizedHeader('Content-Disposition', $disposition); - } - - return $this; - } - - /** - * Get the filename of this attachment when downloaded. - * - * @return string - */ - public function getFilename() - { - return $this->getHeaderParameter('Content-Disposition', 'filename'); - } - - /** - * Set the filename of this attachment. - * - * @param string $filename - * - * @return $this - */ - public function setFilename($filename) - { - $this->setHeaderParameter('Content-Disposition', 'filename', $filename); - $this->setHeaderParameter('Content-Type', 'name', $filename); - - return $this; - } - - /** - * Get the file size of this attachment. - * - * @return int - */ - public function getSize() - { - return $this->getHeaderParameter('Content-Disposition', 'size'); - } - - /** - * Set the file size of this attachment. - * - * @param int $size - * - * @return $this - */ - public function setSize($size) - { - $this->setHeaderParameter('Content-Disposition', 'size', $size); - - return $this; - } - - /** - * Set the file that this attachment is for. - * - * @param string $contentType optional - * - * @return $this - */ - public function setFile(Swift_FileStream $file, $contentType = null) - { - $this->setFilename(basename($file->getPath())); - $this->setBody($file, $contentType); - if (!isset($contentType)) { - $extension = strtolower(substr($file->getPath(), strrpos($file->getPath(), '.') + 1)); - - if (array_key_exists($extension, $this->mimeTypes)) { - $this->setContentType($this->mimeTypes[$extension]); - } - } - - return $this; - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/CharsetObserver.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/CharsetObserver.php deleted file mode 100644 index b49c3a8..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/CharsetObserver.php +++ /dev/null @@ -1,24 +0,0 @@ -= $maxLineLength || 76 < $maxLineLength) { - $maxLineLength = 76; - } - - $remainder = 0; - $base64ReadBufferRemainderBytes = null; - - // To reduce memory usage, the output buffer is streamed to the input buffer like so: - // Output Stream => base64encode => wrap line length => Input Stream - // HOWEVER it's important to note that base64_encode() should only be passed whole triplets of data (except for the final chunk of data) - // otherwise it will assume the input data has *ended* and it will incorrectly pad/terminate the base64 data mid-stream. - // We use $base64ReadBufferRemainderBytes to carry over 1-2 "remainder" bytes from the each chunk from OutputStream and pre-pend those onto the - // chunk of bytes read in the next iteration. - // When the OutputStream is empty, we must flush any remainder bytes. - while (true) { - $readBytes = $os->read(8192); - $atEOF = (false === $readBytes); - - if ($atEOF) { - $streamTheseBytes = $base64ReadBufferRemainderBytes; - } else { - $streamTheseBytes = $base64ReadBufferRemainderBytes.$readBytes; - } - $base64ReadBufferRemainderBytes = null; - $bytesLength = strlen($streamTheseBytes); - - if (0 === $bytesLength) { // no data left to encode - break; - } - - // if we're not on the last block of the ouput stream, make sure $streamTheseBytes ends with a complete triplet of data - // and carry over remainder 1-2 bytes to the next loop iteration - if (!$atEOF) { - $excessBytes = $bytesLength % 3; - if (0 !== $excessBytes) { - $base64ReadBufferRemainderBytes = substr($streamTheseBytes, -$excessBytes); - $streamTheseBytes = substr($streamTheseBytes, 0, $bytesLength - $excessBytes); - } - } - - $encoded = base64_encode($streamTheseBytes); - $encodedTransformed = ''; - $thisMaxLineLength = $maxLineLength - $remainder - $firstLineOffset; - - while ($thisMaxLineLength < strlen($encoded)) { - $encodedTransformed .= substr($encoded, 0, $thisMaxLineLength)."\r\n"; - $firstLineOffset = 0; - $encoded = substr($encoded, $thisMaxLineLength); - $thisMaxLineLength = $maxLineLength; - $remainder = 0; - } - - if (0 < $remainingLength = strlen($encoded)) { - $remainder += $remainingLength; - $encodedTransformed .= $encoded; - $encoded = null; - } - - $is->write($encodedTransformed); - - if ($atEOF) { - break; - } - } - } - - /** - * Get the name of this encoding scheme. - * Returns the string 'base64'. - * - * @return string - */ - public function getName() - { - return 'base64'; - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/ContentEncoder/NativeQpContentEncoder.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/ContentEncoder/NativeQpContentEncoder.php deleted file mode 100644 index 9aae487..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/ContentEncoder/NativeQpContentEncoder.php +++ /dev/null @@ -1,123 +0,0 @@ -charset = $charset ? $charset : 'utf-8'; - } - - /** - * Notify this observer that the entity's charset has changed. - * - * @param string $charset - */ - public function charsetChanged($charset) - { - $this->charset = $charset; - } - - /** - * Encode $in to $out. - * - * @param Swift_OutputByteStream $os to read from - * @param Swift_InputByteStream $is to write to - * @param int $firstLineOffset - * @param int $maxLineLength 0 indicates the default length for this encoding - * - * @throws RuntimeException - */ - public function encodeByteStream(Swift_OutputByteStream $os, Swift_InputByteStream $is, $firstLineOffset = 0, $maxLineLength = 0) - { - if ('utf-8' !== $this->charset) { - throw new RuntimeException( - sprintf('Charset "%s" not supported. NativeQpContentEncoder only supports "utf-8"', $this->charset)); - } - - $string = ''; - - while (false !== $bytes = $os->read(8192)) { - $string .= $bytes; - } - - $is->write($this->encodeString($string)); - } - - /** - * Get the MIME name of this content encoding scheme. - * - * @return string - */ - public function getName() - { - return 'quoted-printable'; - } - - /** - * Encode a given string to produce an encoded string. - * - * @param string $string - * @param int $firstLineOffset if first line needs to be shorter - * @param int $maxLineLength 0 indicates the default length for this encoding - * - * @throws RuntimeException - * - * @return string - */ - public function encodeString($string, $firstLineOffset = 0, $maxLineLength = 0) - { - if ('utf-8' !== $this->charset) { - throw new RuntimeException( - sprintf('Charset "%s" not supported. NativeQpContentEncoder only supports "utf-8"', $this->charset)); - } - - return $this->standardize(quoted_printable_encode($string)); - } - - /** - * Make sure CRLF is correct and HT/SPACE are in valid places. - * - * @param string $string - * - * @return string - */ - protected function standardize($string) - { - // transform CR or LF to CRLF - $string = preg_replace('~=0D(?!=0A)|(? - */ -class Swift_Mime_ContentEncoder_NullContentEncoder implements Swift_Mime_ContentEncoder -{ - /** - * The name of this encoding scheme (probably 7bit or 8bit). - * - * @var string - */ - private $_name; - - /** - * Creates a new NullContentEncoder with $name (probably 7bit or 8bit). - * - * @param string $name - */ - public function __construct($name) - { - $this->_name = $name; - } - - /** - * Encode a given string to produce an encoded string. - * - * @param string $string - * @param int $firstLineOffset ignored - * @param int $maxLineLength ignored - * - * @return string - */ - public function encodeString($string, $firstLineOffset = 0, $maxLineLength = 0) - { - return $string; - } - - /** - * Encode stream $in to stream $out. - * - * @param int $firstLineOffset ignored - * @param int $maxLineLength ignored - */ - public function encodeByteStream(Swift_OutputByteStream $os, Swift_InputByteStream $is, $firstLineOffset = 0, $maxLineLength = 0) - { - while (false !== ($bytes = $os->read(8192))) { - $is->write($bytes); - } - } - - /** - * Get the name of this encoding scheme. - * - * @return string - */ - public function getName() - { - return $this->_name; - } - - /** - * Not used. - */ - public function charsetChanged($charset) - { - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/ContentEncoder/PlainContentEncoder.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/ContentEncoder/PlainContentEncoder.php deleted file mode 100644 index aa634f5..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/ContentEncoder/PlainContentEncoder.php +++ /dev/null @@ -1,164 +0,0 @@ -name = $name; - $this->canonical = $canonical; - } - - /** - * Encode a given string to produce an encoded string. - * - * @param string $string - * @param int $firstLineOffset ignored - * @param int $maxLineLength - 0 means no wrapping will occur - * - * @return string - */ - public function encodeString($string, $firstLineOffset = 0, $maxLineLength = 0) - { - if ($this->canonical) { - $string = $this->canonicalize($string); - } - - return $this->safeWordwrap($string, $maxLineLength, "\r\n"); - } - - /** - * Encode stream $in to stream $out. - * - * @param int $firstLineOffset ignored - * @param int $maxLineLength optional, 0 means no wrapping will occur - */ - public function encodeByteStream(Swift_OutputByteStream $os, Swift_InputByteStream $is, $firstLineOffset = 0, $maxLineLength = 0) - { - $leftOver = ''; - while (false !== $bytes = $os->read(8192)) { - $toencode = $leftOver.$bytes; - if ($this->canonical) { - $toencode = $this->canonicalize($toencode); - } - $wrapped = $this->safeWordwrap($toencode, $maxLineLength, "\r\n"); - $lastLinePos = strrpos($wrapped, "\r\n"); - $leftOver = substr($wrapped, $lastLinePos); - $wrapped = substr($wrapped, 0, $lastLinePos); - - $is->write($wrapped); - } - if (strlen($leftOver)) { - $is->write($leftOver); - } - } - - /** - * Get the name of this encoding scheme. - * - * @return string - */ - public function getName() - { - return $this->name; - } - - /** - * Not used. - */ - public function charsetChanged($charset) - { - } - - /** - * A safer (but weaker) wordwrap for unicode. - * - * @param string $string - * @param int $length - * @param string $le - * - * @return string - */ - private function safeWordwrap($string, $length = 75, $le = "\r\n") - { - if (0 >= $length) { - return $string; - } - - $originalLines = explode($le, $string); - - $lines = []; - $lineCount = 0; - - foreach ($originalLines as $originalLine) { - $lines[] = ''; - $currentLine = &$lines[$lineCount++]; - - //$chunks = preg_split('/(?<=[\ \t,\.!\?\-&\+\/])/', $originalLine); - $chunks = preg_split('/(?<=\s)/', $originalLine); - - foreach ($chunks as $chunk) { - if (0 != strlen($currentLine) - && strlen($currentLine.$chunk) > $length) { - $lines[] = ''; - $currentLine = &$lines[$lineCount++]; - } - $currentLine .= $chunk; - } - } - - return implode("\r\n", $lines); - } - - /** - * Canonicalize string input (fix CRLF). - * - * @param string $string - * - * @return string - */ - private function canonicalize($string) - { - return str_replace( - ["\r\n", "\r", "\n"], - ["\n", "\n", "\r\n"], - $string - ); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/ContentEncoder/QpContentEncoder.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/ContentEncoder/QpContentEncoder.php deleted file mode 100644 index 84e3d24..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/ContentEncoder/QpContentEncoder.php +++ /dev/null @@ -1,134 +0,0 @@ -dotEscape = $dotEscape; - parent::__construct($charStream, $filter); - } - - public function __sleep() - { - return ['charStream', 'filter', 'dotEscape']; - } - - protected function getSafeMapShareId() - { - return get_class($this).($this->dotEscape ? '.dotEscape' : ''); - } - - protected function initSafeMap() - { - parent::initSafeMap(); - if ($this->dotEscape) { - /* Encode . as =2e for buggy remote servers */ - unset($this->safeMap[0x2e]); - } - } - - /** - * Encode stream $in to stream $out. - * - * QP encoded strings have a maximum line length of 76 characters. - * If the first line needs to be shorter, indicate the difference with - * $firstLineOffset. - * - * @param Swift_OutputByteStream $os output stream - * @param Swift_InputByteStream $is input stream - * @param int $firstLineOffset - * @param int $maxLineLength - */ - public function encodeByteStream(Swift_OutputByteStream $os, Swift_InputByteStream $is, $firstLineOffset = 0, $maxLineLength = 0) - { - if ($maxLineLength > 76 || $maxLineLength <= 0) { - $maxLineLength = 76; - } - - $thisLineLength = $maxLineLength - $firstLineOffset; - - $this->charStream->flushContents(); - $this->charStream->importByteStream($os); - - $currentLine = ''; - $prepend = ''; - $size = $lineLen = 0; - - while (false !== $bytes = $this->nextSequence()) { - // If we're filtering the input - if (isset($this->filter)) { - // If we can't filter because we need more bytes - while ($this->filter->shouldBuffer($bytes)) { - // Then collect bytes into the buffer - if (false === $moreBytes = $this->nextSequence(1)) { - break; - } - - foreach ($moreBytes as $b) { - $bytes[] = $b; - } - } - // And filter them - $bytes = $this->filter->filter($bytes); - } - - $enc = $this->encodeByteSequence($bytes, $size); - - $i = strpos($enc, '=0D=0A'); - $newLineLength = $lineLen + (false === $i ? $size : $i); - - if ($currentLine && $newLineLength >= $thisLineLength) { - $is->write($prepend.$this->standardize($currentLine)); - $currentLine = ''; - $prepend = "=\r\n"; - $thisLineLength = $maxLineLength; - $lineLen = 0; - } - - $currentLine .= $enc; - - if (false === $i) { - $lineLen += $size; - } else { - // 6 is the length of '=0D=0A'. - $lineLen = $size - strrpos($enc, '=0D=0A') - 6; - } - } - if (strlen($currentLine)) { - $is->write($prepend.$this->standardize($currentLine)); - } - } - - /** - * Get the name of this encoding scheme. - * Returns the string 'quoted-printable'. - * - * @return string - */ - public function getName() - { - return 'quoted-printable'; - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/ContentEncoder/QpContentEncoderProxy.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/ContentEncoder/QpContentEncoderProxy.php deleted file mode 100644 index 1b06da8..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/ContentEncoder/QpContentEncoderProxy.php +++ /dev/null @@ -1,96 +0,0 @@ - - */ -class Swift_Mime_ContentEncoder_QpContentEncoderProxy implements Swift_Mime_ContentEncoder -{ - /** - * @var Swift_Mime_ContentEncoder_QpContentEncoder - */ - private $safeEncoder; - - /** - * @var Swift_Mime_ContentEncoder_NativeQpContentEncoder - */ - private $nativeEncoder; - - /** - * @var null|string - */ - private $charset; - - /** - * Constructor. - * - * @param string|null $charset - */ - public function __construct(Swift_Mime_ContentEncoder_QpContentEncoder $safeEncoder, Swift_Mime_ContentEncoder_NativeQpContentEncoder $nativeEncoder, $charset) - { - $this->safeEncoder = $safeEncoder; - $this->nativeEncoder = $nativeEncoder; - $this->charset = $charset; - } - - /** - * Make a deep copy of object. - */ - public function __clone() - { - $this->safeEncoder = clone $this->safeEncoder; - $this->nativeEncoder = clone $this->nativeEncoder; - } - - /** - * {@inheritdoc} - */ - public function charsetChanged($charset) - { - $this->charset = $charset; - $this->safeEncoder->charsetChanged($charset); - } - - /** - * {@inheritdoc} - */ - public function encodeByteStream(Swift_OutputByteStream $os, Swift_InputByteStream $is, $firstLineOffset = 0, $maxLineLength = 0) - { - $this->getEncoder()->encodeByteStream($os, $is, $firstLineOffset, $maxLineLength); - } - - /** - * {@inheritdoc} - */ - public function getName() - { - return 'quoted-printable'; - } - - /** - * {@inheritdoc} - */ - public function encodeString($string, $firstLineOffset = 0, $maxLineLength = 0) - { - return $this->getEncoder()->encodeString($string, $firstLineOffset, $maxLineLength); - } - - /** - * @return Swift_Mime_ContentEncoder - */ - private function getEncoder() - { - return 'utf-8' === $this->charset ? $this->nativeEncoder : $this->safeEncoder; - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/ContentEncoder/RawContentEncoder.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/ContentEncoder/RawContentEncoder.php deleted file mode 100644 index 870e7f4..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/ContentEncoder/RawContentEncoder.php +++ /dev/null @@ -1,65 +0,0 @@ - - */ -class Swift_Mime_ContentEncoder_RawContentEncoder implements Swift_Mime_ContentEncoder -{ - /** - * Encode a given string to produce an encoded string. - * - * @param string $string - * @param int $firstLineOffset ignored - * @param int $maxLineLength ignored - * - * @return string - */ - public function encodeString($string, $firstLineOffset = 0, $maxLineLength = 0) - { - return $string; - } - - /** - * Encode stream $in to stream $out. - * - * @param int $firstLineOffset ignored - * @param int $maxLineLength ignored - */ - public function encodeByteStream(Swift_OutputByteStream $os, Swift_InputByteStream $is, $firstLineOffset = 0, $maxLineLength = 0) - { - while (false !== ($bytes = $os->read(8192))) { - $is->write($bytes); - } - } - - /** - * Get the name of this encoding scheme. - * - * @return string - */ - public function getName() - { - return 'raw'; - } - - /** - * Not used. - */ - public function charsetChanged($charset) - { - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/EmbeddedFile.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/EmbeddedFile.php deleted file mode 100644 index 42a5177..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/EmbeddedFile.php +++ /dev/null @@ -1,41 +0,0 @@ -setDisposition('inline'); - $this->setId($this->getId()); - } - - /** - * Get the nesting level of this EmbeddedFile. - * - * Returns {@see LEVEL_RELATED}. - * - * @return int - */ - public function getNestingLevel() - { - return self::LEVEL_RELATED; - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/EncodingObserver.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/EncodingObserver.php deleted file mode 100644 index cc44a6e..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/EncodingObserver.php +++ /dev/null @@ -1,24 +0,0 @@ -getName(), "\r\n"); - mb_internal_encoding($old); - - return $newstring; - } - - return parent::encodeString($string, $firstLineOffset, $maxLineLength); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/HeaderEncoder/QpHeaderEncoder.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/HeaderEncoder/QpHeaderEncoder.php deleted file mode 100644 index 0eef3e1..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/HeaderEncoder/QpHeaderEncoder.php +++ /dev/null @@ -1,65 +0,0 @@ -safeMap[$byte] = chr($byte); - } - } - - /** - * Get the name of this encoding scheme. - * - * Returns the string 'Q'. - * - * @return string - */ - public function getName() - { - return 'Q'; - } - - /** - * Takes an unencoded string and produces a QP encoded string from it. - * - * @param string $string string to encode - * @param int $firstLineOffset optional - * @param int $maxLineLength optional, 0 indicates the default of 76 chars - * - * @return string - */ - public function encodeString($string, $firstLineOffset = 0, $maxLineLength = 0) - { - return str_replace([' ', '=20', "=\r\n"], ['_', '_', "\r\n"], - parent::encodeString($string, $firstLineOffset, $maxLineLength) - ); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/AbstractHeader.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/AbstractHeader.php deleted file mode 100644 index 3a19404..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/AbstractHeader.php +++ /dev/null @@ -1,476 +0,0 @@ -clearCachedValueIf($charset != $this->charset); - $this->charset = $charset; - if (isset($this->encoder)) { - $this->encoder->charsetChanged($charset); - } - } - - /** - * Get the character set used in this Header. - * - * @return string - */ - public function getCharset() - { - return $this->charset; - } - - /** - * Set the language used in this Header. - * - * For example, for US English, 'en-us'. - * This can be unspecified. - * - * @param string $lang - */ - public function setLanguage($lang) - { - $this->clearCachedValueIf($this->lang != $lang); - $this->lang = $lang; - } - - /** - * Get the language used in this Header. - * - * @return string - */ - public function getLanguage() - { - return $this->lang; - } - - /** - * Set the encoder used for encoding the header. - */ - public function setEncoder(Swift_Mime_HeaderEncoder $encoder) - { - $this->encoder = $encoder; - $this->setCachedValue(null); - } - - /** - * Get the encoder used for encoding this Header. - * - * @return Swift_Mime_HeaderEncoder - */ - public function getEncoder() - { - return $this->encoder; - } - - /** - * Get the name of this header (e.g. charset). - * - * @return string - */ - public function getFieldName() - { - return $this->name; - } - - /** - * Set the maximum length of lines in the header (excluding EOL). - * - * @param int $lineLength - */ - public function setMaxLineLength($lineLength) - { - $this->clearCachedValueIf($this->lineLength != $lineLength); - $this->lineLength = $lineLength; - } - - /** - * Get the maximum permitted length of lines in this Header. - * - * @return int - */ - public function getMaxLineLength() - { - return $this->lineLength; - } - - /** - * Get this Header rendered as a RFC 2822 compliant string. - * - * @return string - * - * @throws Swift_RfcComplianceException - */ - public function toString() - { - return $this->tokensToString($this->toTokens()); - } - - /** - * Returns a string representation of this object. - * - * @return string - * - * @see toString() - */ - public function __toString() - { - return $this->toString(); - } - - /** - * Set the name of this Header field. - * - * @param string $name - */ - protected function setFieldName($name) - { - $this->name = $name; - } - - /** - * Produces a compliant, formatted RFC 2822 'phrase' based on the string given. - * - * @param string $string as displayed - * @param string $charset of the text - * @param bool $shorten the first line to make remove for header name - * - * @return string - */ - protected function createPhrase(Swift_Mime_Header $header, $string, $charset, Swift_Mime_HeaderEncoder $encoder = null, $shorten = false) - { - // Treat token as exactly what was given - $phraseStr = $string; - // If it's not valid - - if (!preg_match('/^'.self::PHRASE_PATTERN.'$/D', $phraseStr)) { - // .. but it is just ascii text, try escaping some characters - // and make it a quoted-string - if (preg_match('/^[\x00-\x08\x0B\x0C\x0E-\x7F]*$/D', $phraseStr)) { - $phraseStr = $this->escapeSpecials($phraseStr, ['"']); - $phraseStr = '"'.$phraseStr.'"'; - } else { - // ... otherwise it needs encoding - // Determine space remaining on line if first line - if ($shorten) { - $usedLength = strlen($header->getFieldName().': '); - } else { - $usedLength = 0; - } - $phraseStr = $this->encodeWords($header, $string, $usedLength); - } - } - - return $phraseStr; - } - - /** - * Escape special characters in a string (convert to quoted-pairs). - * - * @param string $token - * @param string[] $include additional chars to escape - * - * @return string - */ - private function escapeSpecials($token, $include = []) - { - foreach (array_merge(['\\'], $include) as $char) { - $token = str_replace($char, '\\'.$char, $token); - } - - return $token; - } - - /** - * Encode needed word tokens within a string of input. - * - * @param string $input - * @param string $usedLength optional - * - * @return string - */ - protected function encodeWords(Swift_Mime_Header $header, $input, $usedLength = -1) - { - $value = ''; - - $tokens = $this->getEncodableWordTokens($input); - - foreach ($tokens as $token) { - // See RFC 2822, Sect 2.2 (really 2.2 ??) - if ($this->tokenNeedsEncoding($token)) { - // Don't encode starting WSP - $firstChar = substr($token, 0, 1); - switch ($firstChar) { - case ' ': - case "\t": - $value .= $firstChar; - $token = substr($token, 1); - } - - if (-1 == $usedLength) { - $usedLength = strlen($header->getFieldName().': ') + strlen($value); - } - $value .= $this->getTokenAsEncodedWord($token, $usedLength); - - $header->setMaxLineLength(76); // Forcefully override - } else { - $value .= $token; - } - } - - return $value; - } - - /** - * Test if a token needs to be encoded or not. - * - * @param string $token - * - * @return bool - */ - protected function tokenNeedsEncoding($token) - { - return preg_match('~[\x00-\x08\x10-\x19\x7F-\xFF\r\n]~', $token); - } - - /** - * Splits a string into tokens in blocks of words which can be encoded quickly. - * - * @param string $string - * - * @return string[] - */ - protected function getEncodableWordTokens($string) - { - $tokens = []; - - $encodedToken = ''; - // Split at all whitespace boundaries - foreach (preg_split('~(?=[\t ])~', $string) as $token) { - if ($this->tokenNeedsEncoding($token)) { - $encodedToken .= $token; - } else { - if (strlen($encodedToken) > 0) { - $tokens[] = $encodedToken; - $encodedToken = ''; - } - $tokens[] = $token; - } - } - if (strlen($encodedToken)) { - $tokens[] = $encodedToken; - } - - return $tokens; - } - - /** - * Get a token as an encoded word for safe insertion into headers. - * - * @param string $token token to encode - * @param int $firstLineOffset optional - * - * @return string - */ - protected function getTokenAsEncodedWord($token, $firstLineOffset = 0) - { - // Adjust $firstLineOffset to account for space needed for syntax - $charsetDecl = $this->charset; - if (isset($this->lang)) { - $charsetDecl .= '*'.$this->lang; - } - $encodingWrapperLength = strlen( - '=?'.$charsetDecl.'?'.$this->encoder->getName().'??=' - ); - - if ($firstLineOffset >= 75) { - //Does this logic need to be here? - $firstLineOffset = 0; - } - - $encodedTextLines = explode("\r\n", - $this->encoder->encodeString( - $token, $firstLineOffset, 75 - $encodingWrapperLength, $this->charset - ) - ); - - if ('iso-2022-jp' !== strtolower($this->charset)) { - // special encoding for iso-2022-jp using mb_encode_mimeheader - foreach ($encodedTextLines as $lineNum => $line) { - $encodedTextLines[$lineNum] = '=?'.$charsetDecl. - '?'.$this->encoder->getName(). - '?'.$line.'?='; - } - } - - return implode("\r\n ", $encodedTextLines); - } - - /** - * Generates tokens from the given string which include CRLF as individual tokens. - * - * @param string $token - * - * @return string[] - */ - protected function generateTokenLines($token) - { - return preg_split('~(\r\n)~', $token, -1, PREG_SPLIT_DELIM_CAPTURE); - } - - /** - * Set a value into the cache. - * - * @param string $value - */ - protected function setCachedValue($value) - { - $this->cachedValue = $value; - } - - /** - * Get the value in the cache. - * - * @return string - */ - protected function getCachedValue() - { - return $this->cachedValue; - } - - /** - * Clear the cached value if $condition is met. - * - * @param bool $condition - */ - protected function clearCachedValueIf($condition) - { - if ($condition) { - $this->setCachedValue(null); - } - } - - /** - * Generate a list of all tokens in the final header. - * - * @param string $string The string to tokenize - * - * @return array An array of tokens as strings - */ - protected function toTokens($string = null) - { - if (null === $string) { - $string = $this->getFieldBody(); - } - - $tokens = []; - - // Generate atoms; split at all invisible boundaries followed by WSP - foreach (preg_split('~(?=[ \t])~', $string) as $token) { - $newTokens = $this->generateTokenLines($token); - foreach ($newTokens as $newToken) { - $tokens[] = $newToken; - } - } - - return $tokens; - } - - /** - * Takes an array of tokens which appear in the header and turns them into - * an RFC 2822 compliant string, adding FWSP where needed. - * - * @param string[] $tokens - * - * @return string - */ - private function tokensToString(array $tokens) - { - $lineCount = 0; - $headerLines = []; - $headerLines[] = $this->name.': '; - $currentLine = &$headerLines[$lineCount++]; - - // Build all tokens back into compliant header - foreach ($tokens as $i => $token) { - // Line longer than specified maximum or token was just a new line - if (("\r\n" == $token) || - ($i > 0 && strlen($currentLine.$token) > $this->lineLength) - && 0 < strlen($currentLine)) { - $headerLines[] = ''; - $currentLine = &$headerLines[$lineCount++]; - } - - // Append token to the line - if ("\r\n" != $token) { - $currentLine .= $token; - } - } - - // Implode with FWS (RFC 2822, 2.2.3) - return implode("\r\n", $headerLines)."\r\n"; - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/DateHeader.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/DateHeader.php deleted file mode 100644 index efe1dad..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/DateHeader.php +++ /dev/null @@ -1,113 +0,0 @@ -setFieldName($name); - } - - /** - * Get the type of Header that this instance represents. - * - * @see TYPE_TEXT, TYPE_PARAMETERIZED, TYPE_MAILBOX - * @see TYPE_DATE, TYPE_ID, TYPE_PATH - * - * @return int - */ - public function getFieldType() - { - return self::TYPE_DATE; - } - - /** - * Set the model for the field body. - * - * @param DateTimeInterface $model - */ - public function setFieldBodyModel($model) - { - $this->setDateTime($model); - } - - /** - * Get the model for the field body. - * - * @return DateTimeImmutable - */ - public function getFieldBodyModel() - { - return $this->getDateTime(); - } - - /** - * Get the date-time representing the Date in this Header. - * - * @return DateTimeImmutable - */ - public function getDateTime() - { - return $this->dateTime; - } - - /** - * Set the date-time of the Date in this Header. - * - * If a DateTime instance is provided, it is converted to DateTimeImmutable. - */ - public function setDateTime(DateTimeInterface $dateTime) - { - $this->clearCachedValueIf($this->getCachedValue() != $dateTime->format(DateTime::RFC2822)); - if ($dateTime instanceof DateTime) { - $immutable = new DateTimeImmutable('@'.$dateTime->getTimestamp()); - $dateTime = $immutable->setTimezone($dateTime->getTimezone()); - } - $this->dateTime = $dateTime; - } - - /** - * Get the string value of the body in this Header. - * - * This is not necessarily RFC 2822 compliant since folding white space will - * not be added at this stage (see {@link toString()} for that). - * - * @see toString() - * - * @return string - */ - public function getFieldBody() - { - if (!$this->getCachedValue()) { - if (isset($this->dateTime)) { - $this->setCachedValue($this->dateTime->format(DateTime::RFC2822)); - } - } - - return $this->getCachedValue(); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/IdentificationHeader.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/IdentificationHeader.php deleted file mode 100644 index cadc63f..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/IdentificationHeader.php +++ /dev/null @@ -1,186 +0,0 @@ -setFieldName($name); - $this->emailValidator = $emailValidator; - $this->addressEncoder = $addressEncoder ?? new Swift_AddressEncoder_IdnAddressEncoder(); - } - - /** - * Get the type of Header that this instance represents. - * - * @see TYPE_TEXT, TYPE_PARAMETERIZED, TYPE_MAILBOX - * @see TYPE_DATE, TYPE_ID, TYPE_PATH - * - * @return int - */ - public function getFieldType() - { - return self::TYPE_ID; - } - - /** - * Set the model for the field body. - * - * This method takes a string ID, or an array of IDs. - * - * @param mixed $model - * - * @throws Swift_RfcComplianceException - */ - public function setFieldBodyModel($model) - { - $this->setId($model); - } - - /** - * Get the model for the field body. - * - * This method returns an array of IDs - * - * @return array - */ - public function getFieldBodyModel() - { - return $this->getIds(); - } - - /** - * Set the ID used in the value of this header. - * - * @param string|array $id - * - * @throws Swift_RfcComplianceException - */ - public function setId($id) - { - $this->setIds(is_array($id) ? $id : [$id]); - } - - /** - * Get the ID used in the value of this Header. - * - * If multiple IDs are set only the first is returned. - * - * @return string - */ - public function getId() - { - if (count($this->ids) > 0) { - return $this->ids[0]; - } - } - - /** - * Set a collection of IDs to use in the value of this Header. - * - * @param string[] $ids - * - * @throws Swift_RfcComplianceException - */ - public function setIds(array $ids) - { - $actualIds = []; - - foreach ($ids as $id) { - $this->assertValidId($id); - $actualIds[] = $id; - } - - $this->clearCachedValueIf($this->ids != $actualIds); - $this->ids = $actualIds; - } - - /** - * Get the list of IDs used in this Header. - * - * @return string[] - */ - public function getIds() - { - return $this->ids; - } - - /** - * Get the string value of the body in this Header. - * - * This is not necessarily RFC 2822 compliant since folding white space will - * not be added at this stage (see {@see toString()} for that). - * - * @see toString() - * - * @throws Swift_RfcComplianceException - * - * @return string - */ - public function getFieldBody() - { - if (!$this->getCachedValue()) { - $angleAddrs = []; - - foreach ($this->ids as $id) { - $angleAddrs[] = '<'.$this->addressEncoder->encodeString($id).'>'; - } - - $this->setCachedValue(implode(' ', $angleAddrs)); - } - - return $this->getCachedValue(); - } - - /** - * Throws an Exception if the id passed does not comply with RFC 2822. - * - * @param string $id - * - * @throws Swift_RfcComplianceException - */ - private function assertValidId($id) - { - if (!$this->emailValidator->isValid($id, new RFCValidation())) { - throw new Swift_RfcComplianceException('Invalid ID given <'.$id.'>'); - } - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/MailboxHeader.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/MailboxHeader.php deleted file mode 100644 index 9f1fe17..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/MailboxHeader.php +++ /dev/null @@ -1,360 +0,0 @@ -setFieldName($name); - $this->setEncoder($encoder); - $this->emailValidator = $emailValidator; - $this->addressEncoder = $addressEncoder ?? new Swift_AddressEncoder_IdnAddressEncoder(); - } - - /** - * Get the type of Header that this instance represents. - * - * @see TYPE_TEXT, TYPE_PARAMETERIZED, TYPE_MAILBOX - * @see TYPE_DATE, TYPE_ID, TYPE_PATH - * - * @return int - */ - public function getFieldType() - { - return self::TYPE_MAILBOX; - } - - /** - * Set the model for the field body. - * - * This method takes a string, or an array of addresses. - * - * @param mixed $model - * - * @throws Swift_RfcComplianceException - */ - public function setFieldBodyModel($model) - { - $this->setNameAddresses($model); - } - - /** - * Get the model for the field body. - * - * This method returns an associative array like {@link getNameAddresses()} - * - * @throws Swift_RfcComplianceException - * - * @return array - */ - public function getFieldBodyModel() - { - return $this->getNameAddresses(); - } - - /** - * Set a list of mailboxes to be shown in this Header. - * - * The mailboxes can be a simple array of addresses, or an array of - * key=>value pairs where (email => personalName). - * Example: - * - * setNameAddresses(array( - * 'chris@swiftmailer.org' => 'Chris Corbyn', - * 'mark@swiftmailer.org' //No associated personal name - * )); - * ?> - * - * - * @see __construct() - * @see setAddresses() - * @see setValue() - * - * @param string|string[] $mailboxes - * - * @throws Swift_RfcComplianceException - */ - public function setNameAddresses($mailboxes) - { - $this->mailboxes = $this->normalizeMailboxes((array) $mailboxes); - $this->setCachedValue(null); //Clear any cached value - } - - /** - * Get the full mailbox list of this Header as an array of valid RFC 2822 strings. - * - * Example: - * - * 'Chris Corbyn', - * 'mark@swiftmailer.org' => 'Mark Corbyn') - * ); - * print_r($header->getNameAddressStrings()); - * // array ( - * // 0 => Chris Corbyn , - * // 1 => Mark Corbyn - * // ) - * ?> - * - * - * @see getNameAddresses() - * @see toString() - * - * @throws Swift_RfcComplianceException - * - * @return string[] - */ - public function getNameAddressStrings() - { - return $this->createNameAddressStrings($this->getNameAddresses()); - } - - /** - * Get all mailboxes in this Header as key=>value pairs. - * - * The key is the address and the value is the name (or null if none set). - * Example: - * - * 'Chris Corbyn', - * 'mark@swiftmailer.org' => 'Mark Corbyn') - * ); - * print_r($header->getNameAddresses()); - * // array ( - * // chris@swiftmailer.org => Chris Corbyn, - * // mark@swiftmailer.org => Mark Corbyn - * // ) - * ?> - * - * - * @see getAddresses() - * @see getNameAddressStrings() - * - * @return string[] - */ - public function getNameAddresses() - { - return $this->mailboxes; - } - - /** - * Makes this Header represent a list of plain email addresses with no names. - * - * Example: - * - * setAddresses( - * array('one@domain.tld', 'two@domain.tld', 'three@domain.tld') - * ); - * ?> - * - * - * @see setNameAddresses() - * @see setValue() - * - * @param string[] $addresses - * - * @throws Swift_RfcComplianceException - */ - public function setAddresses($addresses) - { - $this->setNameAddresses(array_values((array) $addresses)); - } - - /** - * Get all email addresses in this Header. - * - * @see getNameAddresses() - * - * @return string[] - */ - public function getAddresses() - { - return array_keys($this->mailboxes); - } - - /** - * Remove one or more addresses from this Header. - * - * @param string|string[] $addresses - */ - public function removeAddresses($addresses) - { - $this->setCachedValue(null); - foreach ((array) $addresses as $address) { - unset($this->mailboxes[$address]); - } - } - - /** - * Get the string value of the body in this Header. - * - * This is not necessarily RFC 2822 compliant since folding white space will - * not be added at this stage (see {@link toString()} for that). - * - * @see toString() - * - * @throws Swift_RfcComplianceException - * - * @return string - */ - public function getFieldBody() - { - // Compute the string value of the header only if needed - if (null === $this->getCachedValue()) { - $this->setCachedValue($this->createMailboxListString($this->mailboxes)); - } - - return $this->getCachedValue(); - } - - /** - * Normalizes a user-input list of mailboxes into consistent key=>value pairs. - * - * @param string[] $mailboxes - * - * @return string[] - */ - protected function normalizeMailboxes(array $mailboxes) - { - $actualMailboxes = []; - - foreach ($mailboxes as $key => $value) { - if (is_string($key)) { - //key is email addr - $address = $key; - $name = $value; - } else { - $address = $value; - $name = null; - } - $this->assertValidAddress($address); - $actualMailboxes[$address] = $name; - } - - return $actualMailboxes; - } - - /** - * Produces a compliant, formatted display-name based on the string given. - * - * @param string $displayName as displayed - * @param bool $shorten the first line to make remove for header name - * - * @return string - */ - protected function createDisplayNameString($displayName, $shorten = false) - { - return $this->createPhrase($this, $displayName, $this->getCharset(), $this->getEncoder(), $shorten); - } - - /** - * Creates a string form of all the mailboxes in the passed array. - * - * @param string[] $mailboxes - * - * @throws Swift_RfcComplianceException - * - * @return string - */ - protected function createMailboxListString(array $mailboxes) - { - return implode(', ', $this->createNameAddressStrings($mailboxes)); - } - - /** - * Redefine the encoding requirements for mailboxes. - * - * All "specials" must be encoded as the full header value will not be quoted - * - * @see RFC 2822 3.2.1 - * - * @param string $token - * - * @return bool - */ - protected function tokenNeedsEncoding($token) - { - return preg_match('/[()<>\[\]:;@\,."]/', $token) || parent::tokenNeedsEncoding($token); - } - - /** - * Return an array of strings conforming the the name-addr spec of RFC 2822. - * - * @param string[] $mailboxes - * - * @return string[] - */ - private function createNameAddressStrings(array $mailboxes) - { - $strings = []; - - foreach ($mailboxes as $email => $name) { - $mailboxStr = $this->addressEncoder->encodeString($email); - if (null !== $name) { - $nameStr = $this->createDisplayNameString($name, empty($strings)); - $mailboxStr = $nameStr.' <'.$mailboxStr.'>'; - } - $strings[] = $mailboxStr; - } - - return $strings; - } - - /** - * Throws an Exception if the address passed does not comply with RFC 2822. - * - * @param string $address - * - * @throws Swift_RfcComplianceException If invalid. - */ - private function assertValidAddress($address) - { - if (!$this->emailValidator->isValid($address, new RFCValidation())) { - throw new Swift_RfcComplianceException( - 'Address in mailbox given ['.$address.'] does not comply with RFC 2822, 3.6.2.' - ); - } - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/OpenDKIMHeader.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/OpenDKIMHeader.php deleted file mode 100644 index fafb5ba..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/OpenDKIMHeader.php +++ /dev/null @@ -1,135 +0,0 @@ - - * - * @deprecated since SwiftMailer 6.1.0; use Swift_Signers_DKIMSigner instead. - */ -class Swift_Mime_Headers_OpenDKIMHeader implements Swift_Mime_Header -{ - /** - * The value of this Header. - * - * @var string - */ - private $value; - - /** - * The name of this Header. - * - * @var string - */ - private $fieldName; - - /** - * @param string $name - */ - public function __construct($name) - { - $this->fieldName = $name; - } - - /** - * Get the type of Header that this instance represents. - * - * @see TYPE_TEXT, TYPE_PARAMETERIZED, TYPE_MAILBOX - * @see TYPE_DATE, TYPE_ID, TYPE_PATH - * - * @return int - */ - public function getFieldType() - { - return self::TYPE_TEXT; - } - - /** - * Set the model for the field body. - * - * This method takes a string for the field value. - * - * @param string $model - */ - public function setFieldBodyModel($model) - { - $this->setValue($model); - } - - /** - * Get the model for the field body. - * - * This method returns a string. - * - * @return string - */ - public function getFieldBodyModel() - { - return $this->getValue(); - } - - /** - * Get the (unencoded) value of this header. - * - * @return string - */ - public function getValue() - { - return $this->value; - } - - /** - * Set the (unencoded) value of this header. - * - * @param string $value - */ - public function setValue($value) - { - $this->value = $value; - } - - /** - * Get the value of this header prepared for rendering. - * - * @return string - */ - public function getFieldBody() - { - return $this->value; - } - - /** - * Get this Header rendered as a RFC 2822 compliant string. - * - * @return string - */ - public function toString() - { - return $this->fieldName.': '.$this->value."\r\n"; - } - - /** - * Set the Header FieldName. - * - * @see Swift_Mime_Header::getFieldName() - */ - public function getFieldName() - { - return $this->fieldName; - } - - /** - * Ignored. - */ - public function setCharset($charset) - { - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/ParameterizedHeader.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/ParameterizedHeader.php deleted file mode 100644 index 02933c4..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/ParameterizedHeader.php +++ /dev/null @@ -1,255 +0,0 @@ -paramEncoder = $paramEncoder; - } - - /** - * Get the type of Header that this instance represents. - * - * @see TYPE_TEXT, TYPE_PARAMETERIZED, TYPE_MAILBOX - * @see TYPE_DATE, TYPE_ID, TYPE_PATH - * - * @return int - */ - public function getFieldType() - { - return self::TYPE_PARAMETERIZED; - } - - /** - * Set the character set used in this Header. - * - * @param string $charset - */ - public function setCharset($charset) - { - parent::setCharset($charset); - if (isset($this->paramEncoder)) { - $this->paramEncoder->charsetChanged($charset); - } - } - - /** - * Set the value of $parameter. - * - * @param string $parameter - * @param string $value - */ - public function setParameter($parameter, $value) - { - $this->setParameters(array_merge($this->getParameters(), [$parameter => $value])); - } - - /** - * Get the value of $parameter. - * - * @param string $parameter - * - * @return string - */ - public function getParameter($parameter) - { - $params = $this->getParameters(); - - return $params[$parameter] ?? null; - } - - /** - * Set an associative array of parameter names mapped to values. - * - * @param string[] $parameters - */ - public function setParameters(array $parameters) - { - $this->clearCachedValueIf($this->params != $parameters); - $this->params = $parameters; - } - - /** - * Returns an associative array of parameter names mapped to values. - * - * @return string[] - */ - public function getParameters() - { - return $this->params; - } - - /** - * Get the value of this header prepared for rendering. - * - * @return string - */ - public function getFieldBody() //TODO: Check caching here - { - $body = parent::getFieldBody(); - foreach ($this->params as $name => $value) { - if (null !== $value) { - // Add the parameter - $body .= '; '.$this->createParameter($name, $value); - } - } - - return $body; - } - - /** - * Generate a list of all tokens in the final header. - * - * This doesn't need to be overridden in theory, but it is for implementation - * reasons to prevent potential breakage of attributes. - * - * @param string $string The string to tokenize - * - * @return array An array of tokens as strings - */ - protected function toTokens($string = null) - { - $tokens = parent::toTokens(parent::getFieldBody()); - - // Try creating any parameters - foreach ($this->params as $name => $value) { - if (null !== $value) { - // Add the semi-colon separator - $tokens[count($tokens) - 1] .= ';'; - $tokens = array_merge($tokens, $this->generateTokenLines( - ' '.$this->createParameter($name, $value) - )); - } - } - - return $tokens; - } - - /** - * Render a RFC 2047 compliant header parameter from the $name and $value. - * - * @param string $name - * @param string $value - * - * @return string - */ - private function createParameter($name, $value) - { - $origValue = $value; - - $encoded = false; - // Allow room for parameter name, indices, "=" and DQUOTEs - $maxValueLength = $this->getMaxLineLength() - strlen($name.'=*N"";') - 1; - $firstLineOffset = 0; - - // If it's not already a valid parameter value... - if (!preg_match('/^'.self::TOKEN_REGEX.'$/D', $value)) { - // TODO: text, or something else?? - // ... and it's not ascii - if (!preg_match('/^[\x00-\x08\x0B\x0C\x0E-\x7F]*$/D', $value)) { - $encoded = true; - // Allow space for the indices, charset and language - $maxValueLength = $this->getMaxLineLength() - strlen($name.'*N*="";') - 1; - $firstLineOffset = strlen( - $this->getCharset()."'".$this->getLanguage()."'" - ); - } - } - - // Encode if we need to - if ($encoded || strlen($value) > $maxValueLength) { - if (isset($this->paramEncoder)) { - $value = $this->paramEncoder->encodeString( - $origValue, $firstLineOffset, $maxValueLength, $this->getCharset() - ); - } else { - // We have to go against RFC 2183/2231 in some areas for interoperability - $value = $this->getTokenAsEncodedWord($origValue); - $encoded = false; - } - } - - $valueLines = isset($this->paramEncoder) ? explode("\r\n", $value) : [$value]; - - // Need to add indices - if (count($valueLines) > 1) { - $paramLines = []; - foreach ($valueLines as $i => $line) { - $paramLines[] = $name.'*'.$i. - $this->getEndOfParameterValue($line, true, 0 == $i); - } - - return implode(";\r\n ", $paramLines); - } else { - return $name.$this->getEndOfParameterValue( - $valueLines[0], $encoded, true - ); - } - } - - /** - * Returns the parameter value from the "=" and beyond. - * - * @param string $value to append - * @param bool $encoded - * @param bool $firstLine - * - * @return string - */ - private function getEndOfParameterValue($value, $encoded = false, $firstLine = false) - { - if (!preg_match('/^'.self::TOKEN_REGEX.'$/D', $value)) { - $value = '"'.$value.'"'; - } - $prepend = '='; - if ($encoded) { - $prepend = '*='; - if ($firstLine) { - $prepend = '*='.$this->getCharset()."'".$this->getLanguage(). - "'"; - } - } - - return $prepend.$value; - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/PathHeader.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/PathHeader.php deleted file mode 100644 index d22afbf..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/PathHeader.php +++ /dev/null @@ -1,155 +0,0 @@ -setFieldName($name); - $this->emailValidator = $emailValidator; - $this->addressEncoder = $addressEncoder ?? new Swift_AddressEncoder_IdnAddressEncoder(); - } - - /** - * Get the type of Header that this instance represents. - * - * @see TYPE_TEXT, TYPE_PARAMETERIZED, TYPE_MAILBOX - * @see TYPE_DATE, TYPE_ID, TYPE_PATH - * - * @return int - */ - public function getFieldType() - { - return self::TYPE_PATH; - } - - /** - * Set the model for the field body. - * This method takes a string for an address. - * - * @param string $model - * - * @throws Swift_RfcComplianceException - */ - public function setFieldBodyModel($model) - { - $this->setAddress($model); - } - - /** - * Get the model for the field body. - * This method returns a string email address. - * - * @return mixed - */ - public function getFieldBodyModel() - { - return $this->getAddress(); - } - - /** - * Set the Address which should appear in this Header. - * - * @param string $address - * - * @throws Swift_RfcComplianceException - */ - public function setAddress($address) - { - if (null === $address) { - $this->address = null; - } elseif ('' == $address) { - $this->address = ''; - } else { - $this->assertValidAddress($address); - $this->address = $address; - } - $this->setCachedValue(null); - } - - /** - * Get the address which is used in this Header (if any). - * - * Null is returned if no address is set. - * - * @return string - */ - public function getAddress() - { - return $this->address; - } - - /** - * Get the string value of the body in this Header. - * - * This is not necessarily RFC 2822 compliant since folding white space will - * not be added at this stage (see {@link toString()} for that). - * - * @see toString() - * - * @return string - */ - public function getFieldBody() - { - if (!$this->getCachedValue()) { - if (isset($this->address)) { - $address = $this->addressEncoder->encodeString($this->address); - $this->setCachedValue('<'.$address.'>'); - } - } - - return $this->getCachedValue(); - } - - /** - * Throws an Exception if the address passed does not comply with RFC 2822. - * - * @param string $address - * - * @throws Swift_RfcComplianceException If address is invalid - */ - private function assertValidAddress($address) - { - if (!$this->emailValidator->isValid($address, new RFCValidation())) { - throw new Swift_RfcComplianceException( - 'Address set in PathHeader does not comply with addr-spec of RFC 2822.' - ); - } - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/UnstructuredHeader.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/UnstructuredHeader.php deleted file mode 100644 index 64f160d..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/UnstructuredHeader.php +++ /dev/null @@ -1,109 +0,0 @@ -setFieldName($name); - $this->setEncoder($encoder); - } - - /** - * Get the type of Header that this instance represents. - * - * @see TYPE_TEXT, TYPE_PARAMETERIZED, TYPE_MAILBOX - * @see TYPE_DATE, TYPE_ID, TYPE_PATH - * - * @return int - */ - public function getFieldType() - { - return self::TYPE_TEXT; - } - - /** - * Set the model for the field body. - * - * This method takes a string for the field value. - * - * @param string $model - */ - public function setFieldBodyModel($model) - { - $this->setValue($model); - } - - /** - * Get the model for the field body. - * - * This method returns a string. - * - * @return string - */ - public function getFieldBodyModel() - { - return $this->getValue(); - } - - /** - * Get the (unencoded) value of this header. - * - * @return string - */ - public function getValue() - { - return $this->value; - } - - /** - * Set the (unencoded) value of this header. - * - * @param string $value - */ - public function setValue($value) - { - $this->clearCachedValueIf($this->value != $value); - $this->value = $value; - } - - /** - * Get the value of this header prepared for rendering. - * - * @return string - */ - public function getFieldBody() - { - if (!$this->getCachedValue()) { - $this->setCachedValue( - $this->encodeWords($this, $this->value) - ); - } - - return $this->getCachedValue(); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/IdGenerator.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/IdGenerator.php deleted file mode 100644 index 3ce35f2..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/IdGenerator.php +++ /dev/null @@ -1,54 +0,0 @@ -idRight = $idRight; - } - - /** - * Returns the right-hand side of the "@" used in all generated IDs. - * - * @return string - */ - public function getIdRight() - { - return $this->idRight; - } - - /** - * Sets the right-hand side of the "@" to use in all generated IDs. - * - * @param string $idRight - */ - public function setIdRight($idRight) - { - $this->idRight = $idRight; - } - - /** - * @return string - */ - public function generateId() - { - // 32 hex values for the left part - return bin2hex(random_bytes(16)).'@'.$this->idRight; - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/MimePart.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/MimePart.php deleted file mode 100644 index 0acfd4e..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/MimePart.php +++ /dev/null @@ -1,199 +0,0 @@ -setContentType('text/plain'); - if (null !== $charset) { - $this->setCharset($charset); - } - } - - /** - * Set the body of this entity, either as a string, or as an instance of - * {@link Swift_OutputByteStream}. - * - * @param mixed $body - * @param string $contentType optional - * @param string $charset optional - * - * @return $this - */ - public function setBody($body, $contentType = null, $charset = null) - { - if (isset($charset)) { - $this->setCharset($charset); - } - $body = $this->convertString($body); - - parent::setBody($body, $contentType); - - return $this; - } - - /** - * Get the character set of this entity. - * - * @return string - */ - public function getCharset() - { - return $this->getHeaderParameter('Content-Type', 'charset'); - } - - /** - * Set the character set of this entity. - * - * @param string $charset - * - * @return $this - */ - public function setCharset($charset) - { - $this->setHeaderParameter('Content-Type', 'charset', $charset); - if ($charset !== $this->userCharset) { - $this->clearCache(); - } - $this->userCharset = $charset; - parent::charsetChanged($charset); - - return $this; - } - - /** - * Get the format of this entity (i.e. flowed or fixed). - * - * @return string - */ - public function getFormat() - { - return $this->getHeaderParameter('Content-Type', 'format'); - } - - /** - * Set the format of this entity (flowed or fixed). - * - * @param string $format - * - * @return $this - */ - public function setFormat($format) - { - $this->setHeaderParameter('Content-Type', 'format', $format); - $this->userFormat = $format; - - return $this; - } - - /** - * Test if delsp is being used for this entity. - * - * @return bool - */ - public function getDelSp() - { - return 'yes' === $this->getHeaderParameter('Content-Type', 'delsp'); - } - - /** - * Turn delsp on or off for this entity. - * - * @param bool $delsp - * - * @return $this - */ - public function setDelSp($delsp = true) - { - $this->setHeaderParameter('Content-Type', 'delsp', $delsp ? 'yes' : null); - $this->userDelSp = $delsp; - - return $this; - } - - /** - * Get the nesting level of this entity. - * - * @see LEVEL_TOP, LEVEL_ALTERNATIVE, LEVEL_MIXED, LEVEL_RELATED - * - * @return int - */ - public function getNestingLevel() - { - return $this->nestingLevel; - } - - /** - * Receive notification that the charset has changed on this document, or a - * parent document. - * - * @param string $charset - */ - public function charsetChanged($charset) - { - $this->setCharset($charset); - } - - /** Fix the content-type and encoding of this entity */ - protected function fixHeaders() - { - parent::fixHeaders(); - if (count($this->getChildren())) { - $this->setHeaderParameter('Content-Type', 'charset', null); - $this->setHeaderParameter('Content-Type', 'format', null); - $this->setHeaderParameter('Content-Type', 'delsp', null); - } else { - $this->setCharset($this->userCharset); - $this->setFormat($this->userFormat); - $this->setDelSp($this->userDelSp); - } - } - - /** Set the nesting level of this entity */ - protected function setNestingLevel($level) - { - $this->nestingLevel = $level; - } - - /** Encode charset when charset is not utf-8 */ - protected function convertString($string) - { - $charset = strtolower($this->getCharset()); - if (!in_array($charset, ['utf-8', 'iso-8859-1', 'iso-8859-15', ''])) { - return mb_convert_encoding($string, $charset, 'utf-8'); - } - - return $string; - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/SimpleHeaderFactory.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/SimpleHeaderFactory.php deleted file mode 100644 index 93af996..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/SimpleHeaderFactory.php +++ /dev/null @@ -1,195 +0,0 @@ -encoder = $encoder; - $this->paramEncoder = $paramEncoder; - $this->emailValidator = $emailValidator; - $this->charset = $charset; - $this->addressEncoder = $addressEncoder ?? new Swift_AddressEncoder_IdnAddressEncoder(); - } - - /** - * Create a new Mailbox Header with a list of $addresses. - * - * @param string $name - * @param array|string|null $addresses - * - * @return Swift_Mime_Header - */ - public function createMailboxHeader($name, $addresses = null) - { - $header = new Swift_Mime_Headers_MailboxHeader($name, $this->encoder, $this->emailValidator, $this->addressEncoder); - if (isset($addresses)) { - $header->setFieldBodyModel($addresses); - } - $this->setHeaderCharset($header); - - return $header; - } - - /** - * Create a new Date header using $dateTime. - * - * @param string $name - * @param DateTimeInterface|null $dateTime - * - * @return Swift_Mime_Header - */ - public function createDateHeader($name, DateTimeInterface $dateTime = null) - { - $header = new Swift_Mime_Headers_DateHeader($name); - if (isset($dateTime)) { - $header->setFieldBodyModel($dateTime); - } - $this->setHeaderCharset($header); - - return $header; - } - - /** - * Create a new basic text header with $name and $value. - * - * @param string $name - * @param string $value - * - * @return Swift_Mime_Header - */ - public function createTextHeader($name, $value = null) - { - $header = new Swift_Mime_Headers_UnstructuredHeader($name, $this->encoder); - if (isset($value)) { - $header->setFieldBodyModel($value); - } - $this->setHeaderCharset($header); - - return $header; - } - - /** - * Create a new ParameterizedHeader with $name, $value and $params. - * - * @param string $name - * @param string $value - * @param array $params - * - * @return Swift_Mime_Headers_ParameterizedHeader - */ - public function createParameterizedHeader($name, $value = null, $params = []) - { - $header = new Swift_Mime_Headers_ParameterizedHeader($name, $this->encoder, ('content-disposition' == strtolower($name)) ? $this->paramEncoder : null); - if (isset($value)) { - $header->setFieldBodyModel($value); - } - foreach ($params as $k => $v) { - $header->setParameter($k, $v); - } - $this->setHeaderCharset($header); - - return $header; - } - - /** - * Create a new ID header for Message-ID or Content-ID. - * - * @param string $name - * @param string|array $ids - * - * @return Swift_Mime_Header - */ - public function createIdHeader($name, $ids = null) - { - $header = new Swift_Mime_Headers_IdentificationHeader($name, $this->emailValidator); - if (isset($ids)) { - $header->setFieldBodyModel($ids); - } - $this->setHeaderCharset($header); - - return $header; - } - - /** - * Create a new Path header with an address (path) in it. - * - * @param string $name - * @param string $path - * - * @return Swift_Mime_Header - */ - public function createPathHeader($name, $path = null) - { - $header = new Swift_Mime_Headers_PathHeader($name, $this->emailValidator); - if (isset($path)) { - $header->setFieldBodyModel($path); - } - $this->setHeaderCharset($header); - - return $header; - } - - /** - * Notify this observer that the entity's charset has changed. - * - * @param string $charset - */ - public function charsetChanged($charset) - { - $this->charset = $charset; - $this->encoder->charsetChanged($charset); - $this->paramEncoder->charsetChanged($charset); - } - - /** - * Make a deep copy of object. - */ - public function __clone() - { - $this->encoder = clone $this->encoder; - $this->paramEncoder = clone $this->paramEncoder; - } - - /** Apply the charset to the Header */ - private function setHeaderCharset(Swift_Mime_Header $header) - { - if (isset($this->charset)) { - $header->setCharset($this->charset); - } - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/SimpleHeaderSet.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/SimpleHeaderSet.php deleted file mode 100644 index a2c3191..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/SimpleHeaderSet.php +++ /dev/null @@ -1,399 +0,0 @@ -factory = $factory; - if (isset($charset)) { - $this->setCharset($charset); - } - } - - public function newInstance() - { - return new self($this->factory); - } - - /** - * Set the charset used by these headers. - * - * @param string $charset - */ - public function setCharset($charset) - { - $this->charset = $charset; - $this->factory->charsetChanged($charset); - $this->notifyHeadersOfCharset($charset); - } - - /** - * Add a new Mailbox Header with a list of $addresses. - * - * @param string $name - * @param array|string $addresses - */ - public function addMailboxHeader($name, $addresses = null) - { - $this->storeHeader($name, $this->factory->createMailboxHeader($name, $addresses)); - } - - /** - * Add a new Date header using $dateTime. - * - * @param string $name - */ - public function addDateHeader($name, DateTimeInterface $dateTime = null) - { - $this->storeHeader($name, $this->factory->createDateHeader($name, $dateTime)); - } - - /** - * Add a new basic text header with $name and $value. - * - * @param string $name - * @param string $value - */ - public function addTextHeader($name, $value = null) - { - $this->storeHeader($name, $this->factory->createTextHeader($name, $value)); - } - - /** - * Add a new ParameterizedHeader with $name, $value and $params. - * - * @param string $name - * @param string $value - * @param array $params - */ - public function addParameterizedHeader($name, $value = null, $params = []) - { - $this->storeHeader($name, $this->factory->createParameterizedHeader($name, $value, $params)); - } - - /** - * Add a new ID header for Message-ID or Content-ID. - * - * @param string $name - * @param string|array $ids - */ - public function addIdHeader($name, $ids = null) - { - $this->storeHeader($name, $this->factory->createIdHeader($name, $ids)); - } - - /** - * Add a new Path header with an address (path) in it. - * - * @param string $name - * @param string $path - */ - public function addPathHeader($name, $path = null) - { - $this->storeHeader($name, $this->factory->createPathHeader($name, $path)); - } - - /** - * Returns true if at least one header with the given $name exists. - * - * If multiple headers match, the actual one may be specified by $index. - * - * @param string $name - * @param int $index - * - * @return bool - */ - public function has($name, $index = 0) - { - $lowerName = strtolower($name); - - if (!array_key_exists($lowerName, $this->headers)) { - return false; - } - - if (func_num_args() < 2) { - // index was not specified, so we only need to check that there is at least one header value set - return (bool) count($this->headers[$lowerName]); - } - - return array_key_exists($index, $this->headers[$lowerName]); - } - - /** - * Set a header in the HeaderSet. - * - * The header may be a previously fetched header via {@link get()} or it may - * be one that has been created separately. - * - * If $index is specified, the header will be inserted into the set at this - * offset. - * - * @param int $index - */ - public function set(Swift_Mime_Header $header, $index = 0) - { - $this->storeHeader($header->getFieldName(), $header, $index); - } - - /** - * Get the header with the given $name. - * - * If multiple headers match, the actual one may be specified by $index. - * Returns NULL if none present. - * - * @param string $name - * @param int $index - * - * @return Swift_Mime_Header - */ - public function get($name, $index = 0) - { - $name = strtolower($name); - - if (func_num_args() < 2) { - if ($this->has($name)) { - $values = array_values($this->headers[$name]); - - return array_shift($values); - } - } else { - if ($this->has($name, $index)) { - return $this->headers[$name][$index]; - } - } - } - - /** - * Get all headers with the given $name. - * - * @param string $name - * - * @return array - */ - public function getAll($name = null) - { - if (!isset($name)) { - $headers = []; - foreach ($this->headers as $collection) { - $headers = array_merge($headers, $collection); - } - - return $headers; - } - - $lowerName = strtolower($name); - if (!array_key_exists($lowerName, $this->headers)) { - return []; - } - - return $this->headers[$lowerName]; - } - - /** - * Return the name of all Headers. - * - * @return array - */ - public function listAll() - { - $headers = $this->headers; - if ($this->canSort()) { - uksort($headers, [$this, 'sortHeaders']); - } - - return array_keys($headers); - } - - /** - * Remove the header with the given $name if it's set. - * - * If multiple headers match, the actual one may be specified by $index. - * - * @param string $name - * @param int $index - */ - public function remove($name, $index = 0) - { - $lowerName = strtolower($name); - unset($this->headers[$lowerName][$index]); - } - - /** - * Remove all headers with the given $name. - * - * @param string $name - */ - public function removeAll($name) - { - $lowerName = strtolower($name); - unset($this->headers[$lowerName]); - } - - /** - * Define a list of Header names as an array in the correct order. - * - * These Headers will be output in the given order where present. - */ - public function defineOrdering(array $sequence) - { - $this->order = array_flip(array_map('strtolower', $sequence)); - } - - /** - * Set a list of header names which must always be displayed when set. - * - * Usually headers without a field value won't be output unless set here. - */ - public function setAlwaysDisplayed(array $names) - { - $this->required = array_flip(array_map('strtolower', $names)); - } - - /** - * Notify this observer that the entity's charset has changed. - * - * @param string $charset - */ - public function charsetChanged($charset) - { - $this->setCharset($charset); - } - - /** - * Returns a string with a representation of all headers. - * - * @return string - */ - public function toString() - { - $string = ''; - $headers = $this->headers; - if ($this->canSort()) { - uksort($headers, [$this, 'sortHeaders']); - } - foreach ($headers as $collection) { - foreach ($collection as $header) { - if ($this->isDisplayed($header) || '' != $header->getFieldBody()) { - $string .= $header->toString(); - } - } - } - - return $string; - } - - /** - * Returns a string representation of this object. - * - * @return string - * - * @see toString() - */ - public function __toString() - { - return $this->toString(); - } - - /** Save a Header to the internal collection */ - private function storeHeader($name, Swift_Mime_Header $header, $offset = null) - { - if (!isset($this->headers[strtolower($name)])) { - $this->headers[strtolower($name)] = []; - } - if (!isset($offset)) { - $this->headers[strtolower($name)][] = $header; - } else { - $this->headers[strtolower($name)][$offset] = $header; - } - } - - /** Test if the headers can be sorted */ - private function canSort() - { - return count($this->order) > 0; - } - - /** uksort() algorithm for Header ordering */ - private function sortHeaders($a, $b) - { - $lowerA = strtolower($a); - $lowerB = strtolower($b); - $aPos = array_key_exists($lowerA, $this->order) ? $this->order[$lowerA] : -1; - $bPos = array_key_exists($lowerB, $this->order) ? $this->order[$lowerB] : -1; - - if (-1 === $aPos && -1 === $bPos) { - // just be sure to be determinist here - return $a > $b ? -1 : 1; - } - - if (-1 == $aPos) { - return 1; - } elseif (-1 == $bPos) { - return -1; - } - - return $aPos < $bPos ? -1 : 1; - } - - /** Test if the given Header is always displayed */ - private function isDisplayed(Swift_Mime_Header $header) - { - return array_key_exists(strtolower($header->getFieldName()), $this->required); - } - - /** Notify all Headers of the new charset */ - private function notifyHeadersOfCharset($charset) - { - foreach ($this->headers as $headerGroup) { - foreach ($headerGroup as $header) { - $header->setCharset($charset); - } - } - } - - /** - * Make a deep copy of object. - */ - public function __clone() - { - $this->factory = clone $this->factory; - foreach ($this->headers as $groupKey => $headerGroup) { - foreach ($headerGroup as $key => $header) { - $this->headers[$groupKey][$key] = clone $header; - } - } - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/SimpleMessage.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/SimpleMessage.php deleted file mode 100644 index ab32f63..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/SimpleMessage.php +++ /dev/null @@ -1,642 +0,0 @@ -getHeaders()->defineOrdering([ - 'Return-Path', - 'Received', - 'DKIM-Signature', - 'DomainKey-Signature', - 'Sender', - 'Message-ID', - 'Date', - 'Subject', - 'From', - 'Reply-To', - 'To', - 'Cc', - 'Bcc', - 'MIME-Version', - 'Content-Type', - 'Content-Transfer-Encoding', - ]); - $this->getHeaders()->setAlwaysDisplayed(['Date', 'Message-ID', 'From']); - $this->getHeaders()->addTextHeader('MIME-Version', '1.0'); - $this->setDate(new DateTimeImmutable()); - $this->setId($this->getId()); - $this->getHeaders()->addMailboxHeader('From'); - } - - /** - * Always returns {@link LEVEL_TOP} for a message instance. - * - * @return int - */ - public function getNestingLevel() - { - return self::LEVEL_TOP; - } - - /** - * Set the subject of this message. - * - * @param string $subject - * - * @return $this - */ - public function setSubject($subject) - { - if (!$this->setHeaderFieldModel('Subject', $subject)) { - $this->getHeaders()->addTextHeader('Subject', $subject); - } - - return $this; - } - - /** - * Get the subject of this message. - * - * @return string - */ - public function getSubject() - { - return $this->getHeaderFieldModel('Subject'); - } - - /** - * Set the date at which this message was created. - * - * @return $this - */ - public function setDate(DateTimeInterface $dateTime) - { - if (!$this->setHeaderFieldModel('Date', $dateTime)) { - $this->getHeaders()->addDateHeader('Date', $dateTime); - } - - return $this; - } - - /** - * Get the date at which this message was created. - * - * @return DateTimeInterface - */ - public function getDate() - { - return $this->getHeaderFieldModel('Date'); - } - - /** - * Set the return-path (the bounce address) of this message. - * - * @param string $address - * - * @return $this - */ - public function setReturnPath($address) - { - if (!$this->setHeaderFieldModel('Return-Path', $address)) { - $this->getHeaders()->addPathHeader('Return-Path', $address); - } - - return $this; - } - - /** - * Get the return-path (bounce address) of this message. - * - * @return string - */ - public function getReturnPath() - { - return $this->getHeaderFieldModel('Return-Path'); - } - - /** - * Set the sender of this message. - * - * This does not override the From field, but it has a higher significance. - * - * @param string $address - * @param string $name optional - * - * @return $this - */ - public function setSender($address, $name = null) - { - if (!is_array($address) && isset($name)) { - $address = [$address => $name]; - } - - if (!$this->setHeaderFieldModel('Sender', (array) $address)) { - $this->getHeaders()->addMailboxHeader('Sender', (array) $address); - } - - return $this; - } - - /** - * Get the sender of this message. - * - * @return string - */ - public function getSender() - { - return $this->getHeaderFieldModel('Sender'); - } - - /** - * Add a From: address to this message. - * - * If $name is passed this name will be associated with the address. - * - * @param string $address - * @param string $name optional - * - * @return $this - */ - public function addFrom($address, $name = null) - { - $current = $this->getFrom(); - $current[$address] = $name; - - return $this->setFrom($current); - } - - /** - * Set the from address of this message. - * - * You may pass an array of addresses if this message is from multiple people. - * - * If $name is passed and the first parameter is a string, this name will be - * associated with the address. - * - * @param string|array $addresses - * @param string $name optional - * - * @return $this - */ - public function setFrom($addresses, $name = null) - { - if (!is_array($addresses) && isset($name)) { - $addresses = [$addresses => $name]; - } - - if (!$this->setHeaderFieldModel('From', (array) $addresses)) { - $this->getHeaders()->addMailboxHeader('From', (array) $addresses); - } - - return $this; - } - - /** - * Get the from address of this message. - * - * @return mixed - */ - public function getFrom() - { - return $this->getHeaderFieldModel('From'); - } - - /** - * Add a Reply-To: address to this message. - * - * If $name is passed this name will be associated with the address. - * - * @param string $address - * @param string $name optional - * - * @return $this - */ - public function addReplyTo($address, $name = null) - { - $current = $this->getReplyTo(); - $current[$address] = $name; - - return $this->setReplyTo($current); - } - - /** - * Set the reply-to address of this message. - * - * You may pass an array of addresses if replies will go to multiple people. - * - * If $name is passed and the first parameter is a string, this name will be - * associated with the address. - * - * @param mixed $addresses - * @param string $name optional - * - * @return $this - */ - public function setReplyTo($addresses, $name = null) - { - if (!is_array($addresses) && isset($name)) { - $addresses = [$addresses => $name]; - } - - if (!$this->setHeaderFieldModel('Reply-To', (array) $addresses)) { - $this->getHeaders()->addMailboxHeader('Reply-To', (array) $addresses); - } - - return $this; - } - - /** - * Get the reply-to address of this message. - * - * @return string - */ - public function getReplyTo() - { - return $this->getHeaderFieldModel('Reply-To'); - } - - /** - * Add a To: address to this message. - * - * If $name is passed this name will be associated with the address. - * - * @param string $address - * @param string $name optional - * - * @return $this - */ - public function addTo($address, $name = null) - { - $current = $this->getTo(); - $current[$address] = $name; - - return $this->setTo($current); - } - - /** - * Set the to addresses of this message. - * - * If multiple recipients will receive the message an array should be used. - * Example: array('receiver@domain.org', 'other@domain.org' => 'A name') - * - * If $name is passed and the first parameter is a string, this name will be - * associated with the address. - * - * @param mixed $addresses - * @param string $name optional - * - * @return $this - */ - public function setTo($addresses, $name = null) - { - if (!is_array($addresses) && isset($name)) { - $addresses = [$addresses => $name]; - } - - if (!$this->setHeaderFieldModel('To', (array) $addresses)) { - $this->getHeaders()->addMailboxHeader('To', (array) $addresses); - } - - return $this; - } - - /** - * Get the To addresses of this message. - * - * @return array - */ - public function getTo() - { - return $this->getHeaderFieldModel('To'); - } - - /** - * Add a Cc: address to this message. - * - * If $name is passed this name will be associated with the address. - * - * @param string $address - * @param string $name optional - * - * @return $this - */ - public function addCc($address, $name = null) - { - $current = $this->getCc(); - $current[$address] = $name; - - return $this->setCc($current); - } - - /** - * Set the Cc addresses of this message. - * - * If $name is passed and the first parameter is a string, this name will be - * associated with the address. - * - * @param mixed $addresses - * @param string $name optional - * - * @return $this - */ - public function setCc($addresses, $name = null) - { - if (!is_array($addresses) && isset($name)) { - $addresses = [$addresses => $name]; - } - - if (!$this->setHeaderFieldModel('Cc', (array) $addresses)) { - $this->getHeaders()->addMailboxHeader('Cc', (array) $addresses); - } - - return $this; - } - - /** - * Get the Cc address of this message. - * - * @return array - */ - public function getCc() - { - return $this->getHeaderFieldModel('Cc'); - } - - /** - * Add a Bcc: address to this message. - * - * If $name is passed this name will be associated with the address. - * - * @param string $address - * @param string $name optional - * - * @return $this - */ - public function addBcc($address, $name = null) - { - $current = $this->getBcc(); - $current[$address] = $name; - - return $this->setBcc($current); - } - - /** - * Set the Bcc addresses of this message. - * - * If $name is passed and the first parameter is a string, this name will be - * associated with the address. - * - * @param mixed $addresses - * @param string $name optional - * - * @return $this - */ - public function setBcc($addresses, $name = null) - { - if (!is_array($addresses) && isset($name)) { - $addresses = [$addresses => $name]; - } - - if (!$this->setHeaderFieldModel('Bcc', (array) $addresses)) { - $this->getHeaders()->addMailboxHeader('Bcc', (array) $addresses); - } - - return $this; - } - - /** - * Get the Bcc addresses of this message. - * - * @return array - */ - public function getBcc() - { - return $this->getHeaderFieldModel('Bcc'); - } - - /** - * Set the priority of this message. - * - * The value is an integer where 1 is the highest priority and 5 is the lowest. - * - * @param int $priority - * - * @return $this - */ - public function setPriority($priority) - { - $priorityMap = [ - self::PRIORITY_HIGHEST => 'Highest', - self::PRIORITY_HIGH => 'High', - self::PRIORITY_NORMAL => 'Normal', - self::PRIORITY_LOW => 'Low', - self::PRIORITY_LOWEST => 'Lowest', - ]; - $pMapKeys = array_keys($priorityMap); - if ($priority > max($pMapKeys)) { - $priority = max($pMapKeys); - } elseif ($priority < min($pMapKeys)) { - $priority = min($pMapKeys); - } - if (!$this->setHeaderFieldModel('X-Priority', - sprintf('%d (%s)', $priority, $priorityMap[$priority]))) { - $this->getHeaders()->addTextHeader('X-Priority', - sprintf('%d (%s)', $priority, $priorityMap[$priority])); - } - - return $this; - } - - /** - * Get the priority of this message. - * - * The returned value is an integer where 1 is the highest priority and 5 - * is the lowest. - * - * @return int - */ - public function getPriority() - { - list($priority) = sscanf($this->getHeaderFieldModel('X-Priority'), - '%[1-5]' - ); - - return $priority ?? 3; - } - - /** - * Ask for a delivery receipt from the recipient to be sent to $addresses. - * - * @param array $addresses - * - * @return $this - */ - public function setReadReceiptTo($addresses) - { - if (!$this->setHeaderFieldModel('Disposition-Notification-To', $addresses)) { - $this->getHeaders() - ->addMailboxHeader('Disposition-Notification-To', $addresses); - } - - return $this; - } - - /** - * Get the addresses to which a read-receipt will be sent. - * - * @return string - */ - public function getReadReceiptTo() - { - return $this->getHeaderFieldModel('Disposition-Notification-To'); - } - - /** - * Attach a {@link Swift_Mime_SimpleMimeEntity} such as an Attachment or MimePart. - * - * @return $this - */ - public function attach(Swift_Mime_SimpleMimeEntity $entity) - { - $this->setChildren(array_merge($this->getChildren(), [$entity])); - - return $this; - } - - /** - * Remove an already attached entity. - * - * @return $this - */ - public function detach(Swift_Mime_SimpleMimeEntity $entity) - { - $newChildren = []; - foreach ($this->getChildren() as $child) { - if ($entity !== $child) { - $newChildren[] = $child; - } - } - $this->setChildren($newChildren); - - return $this; - } - - /** - * Attach a {@link Swift_Mime_SimpleMimeEntity} and return it's CID source. - * - * This method should be used when embedding images or other data in a message. - * - * @return string - */ - public function embed(Swift_Mime_SimpleMimeEntity $entity) - { - $this->attach($entity); - - return 'cid:'.$entity->getId(); - } - - /** - * Get this message as a complete string. - * - * @return string - */ - public function toString() - { - if (count($children = $this->getChildren()) > 0 && '' != $this->getBody()) { - $this->setChildren(array_merge([$this->becomeMimePart()], $children)); - $string = parent::toString(); - $this->setChildren($children); - } else { - $string = parent::toString(); - } - - return $string; - } - - /** - * Returns a string representation of this object. - * - * @see toString() - * - * @return string - */ - public function __toString() - { - return $this->toString(); - } - - /** - * Write this message to a {@link Swift_InputByteStream}. - */ - public function toByteStream(Swift_InputByteStream $is) - { - if (count($children = $this->getChildren()) > 0 && '' != $this->getBody()) { - $this->setChildren(array_merge([$this->becomeMimePart()], $children)); - parent::toByteStream($is); - $this->setChildren($children); - } else { - parent::toByteStream($is); - } - } - - /** @see Swift_Mime_SimpleMimeEntity::getIdField() */ - protected function getIdField() - { - return 'Message-ID'; - } - - /** Turn the body of this message into a child of itself if needed */ - protected function becomeMimePart() - { - $part = new parent($this->getHeaders()->newInstance(), $this->getEncoder(), - $this->getCache(), $this->getIdGenerator(), $this->userCharset - ); - $part->setContentType($this->userContentType); - $part->setBody($this->getBody()); - $part->setFormat($this->userFormat); - $part->setDelSp($this->userDelSp); - $part->setNestingLevel($this->getTopNestingLevel()); - - return $part; - } - - /** Get the highest nesting level nested inside this message */ - private function getTopNestingLevel() - { - $highestLevel = $this->getNestingLevel(); - foreach ($this->getChildren() as $child) { - $childLevel = $child->getNestingLevel(); - if ($highestLevel < $childLevel) { - $highestLevel = $childLevel; - } - } - - return $highestLevel; - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/SimpleMimeEntity.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/SimpleMimeEntity.php deleted file mode 100644 index 63dda3d..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/SimpleMimeEntity.php +++ /dev/null @@ -1,820 +0,0 @@ - [self::LEVEL_TOP, self::LEVEL_MIXED], - 'multipart/alternative' => [self::LEVEL_MIXED, self::LEVEL_ALTERNATIVE], - 'multipart/related' => [self::LEVEL_ALTERNATIVE, self::LEVEL_RELATED], - ]; - - /** A set of filter rules to define what level an entity should be nested at */ - private $compoundLevelFilters = []; - - /** The nesting level of this entity */ - private $nestingLevel = self::LEVEL_ALTERNATIVE; - - /** A KeyCache instance used during encoding and streaming */ - private $cache; - - /** Direct descendants of this entity */ - private $immediateChildren = []; - - /** All descendants of this entity */ - private $children = []; - - /** The maximum line length of the body of this entity */ - private $maxLineLength = 78; - - /** The order in which alternative mime types should appear */ - private $alternativePartOrder = [ - 'text/plain' => 1, - 'text/html' => 2, - 'multipart/related' => 3, - ]; - - /** The CID of this entity */ - private $id; - - /** The key used for accessing the cache */ - private $cacheKey; - - protected $userContentType; - - /** - * Create a new SimpleMimeEntity with $headers, $encoder and $cache. - */ - public function __construct(Swift_Mime_SimpleHeaderSet $headers, Swift_Mime_ContentEncoder $encoder, Swift_KeyCache $cache, Swift_IdGenerator $idGenerator) - { - $this->cacheKey = bin2hex(random_bytes(16)); // set 32 hex values - $this->cache = $cache; - $this->headers = $headers; - $this->idGenerator = $idGenerator; - $this->setEncoder($encoder); - $this->headers->defineOrdering(['Content-Type', 'Content-Transfer-Encoding']); - - // This array specifies that, when the entire MIME document contains - // $compoundLevel, then for each child within $level, if its Content-Type - // is $contentType then it should be treated as if it's level is - // $neededLevel instead. I tried to write that unambiguously! :-\ - // Data Structure: - // array ( - // $compoundLevel => array( - // $level => array( - // $contentType => $neededLevel - // ) - // ) - // ) - - $this->compoundLevelFilters = [ - (self::LEVEL_ALTERNATIVE + self::LEVEL_RELATED) => [ - self::LEVEL_ALTERNATIVE => [ - 'text/plain' => self::LEVEL_ALTERNATIVE, - 'text/html' => self::LEVEL_RELATED, - ], - ], - ]; - - $this->id = $this->idGenerator->generateId(); - } - - /** - * Generate a new Content-ID or Message-ID for this MIME entity. - * - * @return string - */ - public function generateId() - { - $this->setId($this->idGenerator->generateId()); - - return $this->id; - } - - /** - * Get the {@link Swift_Mime_SimpleHeaderSet} for this entity. - * - * @return Swift_Mime_SimpleHeaderSet - */ - public function getHeaders() - { - return $this->headers; - } - - /** - * Get the nesting level of this entity. - * - * @see LEVEL_TOP, LEVEL_MIXED, LEVEL_RELATED, LEVEL_ALTERNATIVE - * - * @return int - */ - public function getNestingLevel() - { - return $this->nestingLevel; - } - - /** - * Get the Content-type of this entity. - * - * @return string - */ - public function getContentType() - { - return $this->getHeaderFieldModel('Content-Type'); - } - - /** - * Get the Body Content-type of this entity. - * - * @return string - */ - public function getBodyContentType() - { - return $this->userContentType; - } - - /** - * Set the Content-type of this entity. - * - * @param string $type - * - * @return $this - */ - public function setContentType($type) - { - $this->setContentTypeInHeaders($type); - // Keep track of the value so that if the content-type changes automatically - // due to added child entities, it can be restored if they are later removed - $this->userContentType = $type; - - return $this; - } - - /** - * Get the CID of this entity. - * - * The CID will only be present in headers if a Content-ID header is present. - * - * @return string - */ - public function getId() - { - $tmp = (array) $this->getHeaderFieldModel($this->getIdField()); - - return $this->headers->has($this->getIdField()) ? current($tmp) : $this->id; - } - - /** - * Set the CID of this entity. - * - * @param string $id - * - * @return $this - */ - public function setId($id) - { - if (!$this->setHeaderFieldModel($this->getIdField(), $id)) { - $this->headers->addIdHeader($this->getIdField(), $id); - } - $this->id = $id; - - return $this; - } - - /** - * Get the description of this entity. - * - * This value comes from the Content-Description header if set. - * - * @return string - */ - public function getDescription() - { - return $this->getHeaderFieldModel('Content-Description'); - } - - /** - * Set the description of this entity. - * - * This method sets a value in the Content-ID header. - * - * @param string $description - * - * @return $this - */ - public function setDescription($description) - { - if (!$this->setHeaderFieldModel('Content-Description', $description)) { - $this->headers->addTextHeader('Content-Description', $description); - } - - return $this; - } - - /** - * Get the maximum line length of the body of this entity. - * - * @return int - */ - public function getMaxLineLength() - { - return $this->maxLineLength; - } - - /** - * Set the maximum line length of lines in this body. - * - * Though not enforced by the library, lines should not exceed 1000 chars. - * - * @param int $length - * - * @return $this - */ - public function setMaxLineLength($length) - { - $this->maxLineLength = $length; - - return $this; - } - - /** - * Get all children added to this entity. - * - * @return Swift_Mime_SimpleMimeEntity[] - */ - public function getChildren() - { - return $this->children; - } - - /** - * Set all children of this entity. - * - * @param Swift_Mime_SimpleMimeEntity[] $children - * @param int $compoundLevel For internal use only - * - * @return $this - */ - public function setChildren(array $children, $compoundLevel = null) - { - // TODO: Try to refactor this logic - $compoundLevel = $compoundLevel ?? $this->getCompoundLevel($children); - $immediateChildren = []; - $grandchildren = []; - $newContentType = $this->userContentType; - - foreach ($children as $child) { - $level = $this->getNeededChildLevel($child, $compoundLevel); - if (empty($immediateChildren)) { - //first iteration - $immediateChildren = [$child]; - } else { - $nextLevel = $this->getNeededChildLevel($immediateChildren[0], $compoundLevel); - if ($nextLevel == $level) { - $immediateChildren[] = $child; - } elseif ($level < $nextLevel) { - // Re-assign immediateChildren to grandchildren - $grandchildren = array_merge($grandchildren, $immediateChildren); - // Set new children - $immediateChildren = [$child]; - } else { - $grandchildren[] = $child; - } - } - } - - if ($immediateChildren) { - $lowestLevel = $this->getNeededChildLevel($immediateChildren[0], $compoundLevel); - - // Determine which composite media type is needed to accommodate the - // immediate children - foreach ($this->compositeRanges as $mediaType => $range) { - if ($lowestLevel > $range[0] && $lowestLevel <= $range[1]) { - $newContentType = $mediaType; - - break; - } - } - - // Put any grandchildren in a subpart - if (!empty($grandchildren)) { - $subentity = $this->createChild(); - $subentity->setNestingLevel($lowestLevel); - $subentity->setChildren($grandchildren, $compoundLevel); - array_unshift($immediateChildren, $subentity); - } - } - - $this->immediateChildren = $immediateChildren; - $this->children = $children; - $this->setContentTypeInHeaders($newContentType); - $this->fixHeaders(); - $this->sortChildren(); - - return $this; - } - - /** - * Get the body of this entity as a string. - * - * @return string - */ - public function getBody() - { - return $this->body instanceof Swift_OutputByteStream ? $this->readStream($this->body) : $this->body; - } - - /** - * Set the body of this entity, either as a string, or as an instance of - * {@link Swift_OutputByteStream}. - * - * @param mixed $body - * @param string $contentType optional - * - * @return $this - */ - public function setBody($body, $contentType = null) - { - if ($body !== $this->body) { - $this->clearCache(); - } - - $this->body = $body; - if (null !== $contentType) { - $this->setContentType($contentType); - } - - return $this; - } - - /** - * Get the encoder used for the body of this entity. - * - * @return Swift_Mime_ContentEncoder - */ - public function getEncoder() - { - return $this->encoder; - } - - /** - * Set the encoder used for the body of this entity. - * - * @return $this - */ - public function setEncoder(Swift_Mime_ContentEncoder $encoder) - { - if ($encoder !== $this->encoder) { - $this->clearCache(); - } - - $this->encoder = $encoder; - $this->setEncoding($encoder->getName()); - $this->notifyEncoderChanged($encoder); - - return $this; - } - - /** - * Get the boundary used to separate children in this entity. - * - * @return string - */ - public function getBoundary() - { - if (!isset($this->boundary)) { - $this->boundary = '_=_swift_'.time().'_'.bin2hex(random_bytes(16)).'_=_'; - } - - return $this->boundary; - } - - /** - * Set the boundary used to separate children in this entity. - * - * @param string $boundary - * - * @throws Swift_RfcComplianceException - * - * @return $this - */ - public function setBoundary($boundary) - { - $this->assertValidBoundary($boundary); - $this->boundary = $boundary; - - return $this; - } - - /** - * Receive notification that the charset of this entity, or a parent entity - * has changed. - * - * @param string $charset - */ - public function charsetChanged($charset) - { - $this->notifyCharsetChanged($charset); - } - - /** - * Receive notification that the encoder of this entity or a parent entity - * has changed. - */ - public function encoderChanged(Swift_Mime_ContentEncoder $encoder) - { - $this->notifyEncoderChanged($encoder); - } - - /** - * Get this entire entity as a string. - * - * @return string - */ - public function toString() - { - $string = $this->headers->toString(); - $string .= $this->bodyToString(); - - return $string; - } - - /** - * Get this entire entity as a string. - * - * @return string - */ - protected function bodyToString() - { - $string = ''; - - if (isset($this->body) && empty($this->immediateChildren)) { - if ($this->cache->hasKey($this->cacheKey, 'body')) { - $body = $this->cache->getString($this->cacheKey, 'body'); - } else { - $body = "\r\n".$this->encoder->encodeString($this->getBody(), 0, $this->getMaxLineLength()); - $this->cache->setString($this->cacheKey, 'body', $body, Swift_KeyCache::MODE_WRITE); - } - $string .= $body; - } - - if (!empty($this->immediateChildren)) { - foreach ($this->immediateChildren as $child) { - $string .= "\r\n\r\n--".$this->getBoundary()."\r\n"; - $string .= $child->toString(); - } - $string .= "\r\n\r\n--".$this->getBoundary()."--\r\n"; - } - - return $string; - } - - /** - * Returns a string representation of this object. - * - * @see toString() - * - * @return string - */ - public function __toString() - { - return $this->toString(); - } - - /** - * Write this entire entity to a {@see Swift_InputByteStream}. - */ - public function toByteStream(Swift_InputByteStream $is) - { - $is->write($this->headers->toString()); - $is->commit(); - - $this->bodyToByteStream($is); - } - - /** - * Write this entire entity to a {@link Swift_InputByteStream}. - */ - protected function bodyToByteStream(Swift_InputByteStream $is) - { - if (empty($this->immediateChildren)) { - if (isset($this->body)) { - if ($this->cache->hasKey($this->cacheKey, 'body')) { - $this->cache->exportToByteStream($this->cacheKey, 'body', $is); - } else { - $cacheIs = $this->cache->getInputByteStream($this->cacheKey, 'body'); - if ($cacheIs) { - $is->bind($cacheIs); - } - - $is->write("\r\n"); - - if ($this->body instanceof Swift_OutputByteStream) { - $this->body->setReadPointer(0); - - $this->encoder->encodeByteStream($this->body, $is, 0, $this->getMaxLineLength()); - } else { - $is->write($this->encoder->encodeString($this->getBody(), 0, $this->getMaxLineLength())); - } - - if ($cacheIs) { - $is->unbind($cacheIs); - } - } - } - } - - if (!empty($this->immediateChildren)) { - foreach ($this->immediateChildren as $child) { - $is->write("\r\n\r\n--".$this->getBoundary()."\r\n"); - $child->toByteStream($is); - } - $is->write("\r\n\r\n--".$this->getBoundary()."--\r\n"); - } - } - - /** - * Get the name of the header that provides the ID of this entity. - */ - protected function getIdField() - { - return 'Content-ID'; - } - - /** - * Get the model data (usually an array or a string) for $field. - */ - protected function getHeaderFieldModel($field) - { - if ($this->headers->has($field)) { - return $this->headers->get($field)->getFieldBodyModel(); - } - } - - /** - * Set the model data for $field. - */ - protected function setHeaderFieldModel($field, $model) - { - if ($this->headers->has($field)) { - $this->headers->get($field)->setFieldBodyModel($model); - - return true; - } - - return false; - } - - /** - * Get the parameter value of $parameter on $field header. - */ - protected function getHeaderParameter($field, $parameter) - { - if ($this->headers->has($field)) { - return $this->headers->get($field)->getParameter($parameter); - } - } - - /** - * Set the parameter value of $parameter on $field header. - */ - protected function setHeaderParameter($field, $parameter, $value) - { - if ($this->headers->has($field)) { - $this->headers->get($field)->setParameter($parameter, $value); - - return true; - } - - return false; - } - - /** - * Re-evaluate what content type and encoding should be used on this entity. - */ - protected function fixHeaders() - { - if (count($this->immediateChildren)) { - $this->setHeaderParameter('Content-Type', 'boundary', - $this->getBoundary() - ); - $this->headers->remove('Content-Transfer-Encoding'); - } else { - $this->setHeaderParameter('Content-Type', 'boundary', null); - $this->setEncoding($this->encoder->getName()); - } - } - - /** - * Get the KeyCache used in this entity. - * - * @return Swift_KeyCache - */ - protected function getCache() - { - return $this->cache; - } - - /** - * Get the ID generator. - * - * @return Swift_IdGenerator - */ - protected function getIdGenerator() - { - return $this->idGenerator; - } - - /** - * Empty the KeyCache for this entity. - */ - protected function clearCache() - { - $this->cache->clearKey($this->cacheKey, 'body'); - } - - private function readStream(Swift_OutputByteStream $os) - { - $string = ''; - while (false !== $bytes = $os->read(8192)) { - $string .= $bytes; - } - - $os->setReadPointer(0); - - return $string; - } - - private function setEncoding($encoding) - { - if (!$this->setHeaderFieldModel('Content-Transfer-Encoding', $encoding)) { - $this->headers->addTextHeader('Content-Transfer-Encoding', $encoding); - } - } - - private function assertValidBoundary($boundary) - { - if (!preg_match('/^[a-z0-9\'\(\)\+_\-,\.\/:=\?\ ]{0,69}[a-z0-9\'\(\)\+_\-,\.\/:=\?]$/Di', $boundary)) { - throw new Swift_RfcComplianceException('Mime boundary set is not RFC 2046 compliant.'); - } - } - - private function setContentTypeInHeaders($type) - { - if (!$this->setHeaderFieldModel('Content-Type', $type)) { - $this->headers->addParameterizedHeader('Content-Type', $type); - } - } - - private function setNestingLevel($level) - { - $this->nestingLevel = $level; - } - - private function getCompoundLevel($children) - { - $level = 0; - foreach ($children as $child) { - $level |= $child->getNestingLevel(); - } - - return $level; - } - - private function getNeededChildLevel($child, $compoundLevel) - { - $filter = []; - foreach ($this->compoundLevelFilters as $bitmask => $rules) { - if (($compoundLevel & $bitmask) === $bitmask) { - $filter = $rules + $filter; - } - } - - $realLevel = $child->getNestingLevel(); - $lowercaseType = strtolower($child->getContentType()); - - if (isset($filter[$realLevel]) && isset($filter[$realLevel][$lowercaseType])) { - return $filter[$realLevel][$lowercaseType]; - } - - return $realLevel; - } - - private function createChild() - { - return new self($this->headers->newInstance(), $this->encoder, $this->cache, $this->idGenerator); - } - - private function notifyEncoderChanged(Swift_Mime_ContentEncoder $encoder) - { - foreach ($this->immediateChildren as $child) { - $child->encoderChanged($encoder); - } - } - - private function notifyCharsetChanged($charset) - { - $this->encoder->charsetChanged($charset); - $this->headers->charsetChanged($charset); - foreach ($this->immediateChildren as $child) { - $child->charsetChanged($charset); - } - } - - private function sortChildren() - { - $shouldSort = false; - foreach ($this->immediateChildren as $child) { - // NOTE: This include alternative parts moved into a related part - if (self::LEVEL_ALTERNATIVE == $child->getNestingLevel()) { - $shouldSort = true; - break; - } - } - - // Sort in order of preference, if there is one - if ($shouldSort) { - // Group the messages by order of preference - $sorted = []; - foreach ($this->immediateChildren as $child) { - $type = $child->getContentType(); - $level = array_key_exists($type, $this->alternativePartOrder) ? $this->alternativePartOrder[$type] : max($this->alternativePartOrder) + 1; - - if (empty($sorted[$level])) { - $sorted[$level] = []; - } - - $sorted[$level][] = $child; - } - - ksort($sorted); - - $this->immediateChildren = array_reduce($sorted, 'array_merge', []); - } - } - - /** - * Empties it's own contents from the cache. - */ - public function __destruct() - { - if ($this->cache instanceof Swift_KeyCache) { - $this->cache->clearAll($this->cacheKey); - } - } - - /** - * Make a deep copy of object. - */ - public function __clone() - { - $this->headers = clone $this->headers; - $this->encoder = clone $this->encoder; - $this->cacheKey = bin2hex(random_bytes(16)); // set 32 hex values - $children = []; - foreach ($this->children as $pos => $child) { - $children[$pos] = clone $child; - } - $this->setChildren($children); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/MimePart.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/MimePart.php deleted file mode 100644 index 14f8432..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/MimePart.php +++ /dev/null @@ -1,45 +0,0 @@ -createDependenciesFor('mime.part') - ); - - if (!isset($charset)) { - $charset = Swift_DependencyContainer::getInstance() - ->lookup('properties.charset'); - } - $this->setBody($body); - $this->setCharset($charset); - if ($contentType) { - $this->setContentType($contentType); - } - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/NullTransport.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/NullTransport.php deleted file mode 100644 index eefb9a6..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/NullTransport.php +++ /dev/null @@ -1,26 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Pretends messages have been sent, but just ignores them. - * - * @author Fabien Potencier - */ -class Swift_NullTransport extends Swift_Transport_NullTransport -{ - public function __construct() - { - call_user_func_array( - [$this, 'Swift_Transport_NullTransport::__construct'], - Swift_DependencyContainer::getInstance() - ->createDependenciesFor('transport.null') - ); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/OutputByteStream.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/OutputByteStream.php deleted file mode 100644 index 1f26f9b..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/OutputByteStream.php +++ /dev/null @@ -1,46 +0,0 @@ -setThreshold($threshold); - $this->setSleepTime($sleep); - $this->sleeper = $sleeper; - } - - /** - * Set the number of emails to send before restarting. - * - * @param int $threshold - */ - public function setThreshold($threshold) - { - $this->threshold = $threshold; - } - - /** - * Get the number of emails to send before restarting. - * - * @return int - */ - public function getThreshold() - { - return $this->threshold; - } - - /** - * Set the number of seconds to sleep for during a restart. - * - * @param int $sleep time - */ - public function setSleepTime($sleep) - { - $this->sleep = $sleep; - } - - /** - * Get the number of seconds to sleep for during a restart. - * - * @return int - */ - public function getSleepTime() - { - return $this->sleep; - } - - /** - * Invoked immediately before the Message is sent. - */ - public function beforeSendPerformed(Swift_Events_SendEvent $evt) - { - } - - /** - * Invoked immediately after the Message is sent. - */ - public function sendPerformed(Swift_Events_SendEvent $evt) - { - ++$this->counter; - if ($this->counter >= $this->threshold) { - $transport = $evt->getTransport(); - $transport->stop(); - if ($this->sleep) { - $this->sleep($this->sleep); - } - $transport->start(); - $this->counter = 0; - } - } - - /** - * Sleep for $seconds. - * - * @param int $seconds - */ - public function sleep($seconds) - { - if (isset($this->sleeper)) { - $this->sleeper->sleep($seconds); - } else { - sleep($seconds); - } - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/BandwidthMonitorPlugin.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/BandwidthMonitorPlugin.php deleted file mode 100644 index f7a24dd..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/BandwidthMonitorPlugin.php +++ /dev/null @@ -1,154 +0,0 @@ -getMessage(); - $message->toByteStream($this); - } - - /** - * Invoked immediately following a command being sent. - */ - public function commandSent(Swift_Events_CommandEvent $evt) - { - $command = $evt->getCommand(); - $this->out += strlen($command); - } - - /** - * Invoked immediately following a response coming back. - */ - public function responseReceived(Swift_Events_ResponseEvent $evt) - { - $response = $evt->getResponse(); - $this->in += strlen($response); - } - - /** - * Called when a message is sent so that the outgoing counter can be increased. - * - * @param string $bytes - */ - public function write($bytes) - { - $this->out += strlen($bytes); - foreach ($this->mirrors as $stream) { - $stream->write($bytes); - } - } - - /** - * Not used. - */ - public function commit() - { - } - - /** - * Attach $is to this stream. - * - * The stream acts as an observer, receiving all data that is written. - * All {@link write()} and {@link flushBuffers()} operations will be mirrored. - */ - public function bind(Swift_InputByteStream $is) - { - $this->mirrors[] = $is; - } - - /** - * Remove an already bound stream. - * - * If $is is not bound, no errors will be raised. - * If the stream currently has any buffered data it will be written to $is - * before unbinding occurs. - */ - public function unbind(Swift_InputByteStream $is) - { - foreach ($this->mirrors as $k => $stream) { - if ($is === $stream) { - unset($this->mirrors[$k]); - } - } - } - - /** - * Not used. - */ - public function flushBuffers() - { - foreach ($this->mirrors as $stream) { - $stream->flushBuffers(); - } - } - - /** - * Get the total number of bytes sent to the server. - * - * @return int - */ - public function getBytesOut() - { - return $this->out; - } - - /** - * Get the total number of bytes received from the server. - * - * @return int - */ - public function getBytesIn() - { - return $this->in; - } - - /** - * Reset the internal counters to zero. - */ - public function reset() - { - $this->out = 0; - $this->in = 0; - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/Decorator/Replacements.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/Decorator/Replacements.php deleted file mode 100644 index 9f9f08b..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/Decorator/Replacements.php +++ /dev/null @@ -1,31 +0,0 @@ - - * $replacements = array( - * "address1@domain.tld" => array("{a}" => "b", "{c}" => "d"), - * "address2@domain.tld" => array("{a}" => "x", "{c}" => "y") - * ) - * - * - * When using an instance of {@link Swift_Plugins_Decorator_Replacements}, - * the object should return just the array of replacements for the address - * given to {@link Swift_Plugins_Decorator_Replacements::getReplacementsFor()}. - * - * @param mixed $replacements Array or Swift_Plugins_Decorator_Replacements - */ - public function __construct($replacements) - { - $this->setReplacements($replacements); - } - - /** - * Sets replacements. - * - * @param mixed $replacements Array or Swift_Plugins_Decorator_Replacements - * - * @see __construct() - */ - public function setReplacements($replacements) - { - if (!($replacements instanceof Swift_Plugins_Decorator_Replacements)) { - $this->replacements = (array) $replacements; - } else { - $this->replacements = $replacements; - } - } - - /** - * Invoked immediately before the Message is sent. - */ - public function beforeSendPerformed(Swift_Events_SendEvent $evt) - { - $message = $evt->getMessage(); - $this->restoreMessage($message); - $to = array_keys($message->getTo()); - $address = array_shift($to); - if ($replacements = $this->getReplacementsFor($address)) { - $body = $message->getBody(); - $search = array_keys($replacements); - $replace = array_values($replacements); - $bodyReplaced = str_replace( - $search, $replace, $body - ); - if ($body != $bodyReplaced) { - $this->originalBody = $body; - $message->setBody($bodyReplaced); - } - - foreach ($message->getHeaders()->getAll() as $header) { - $body = $header->getFieldBodyModel(); - $count = 0; - if (is_array($body)) { - $bodyReplaced = []; - foreach ($body as $key => $value) { - $count1 = 0; - $count2 = 0; - $key = is_string($key) ? str_replace($search, $replace, $key, $count1) : $key; - $value = is_string($value) ? str_replace($search, $replace, $value, $count2) : $value; - $bodyReplaced[$key] = $value; - - if (!$count && ($count1 || $count2)) { - $count = 1; - } - } - } elseif (is_string($body)) { - $bodyReplaced = str_replace($search, $replace, $body, $count); - } - - if ($count) { - $this->originalHeaders[$header->getFieldName()] = $body; - $header->setFieldBodyModel($bodyReplaced); - } - } - - $children = (array) $message->getChildren(); - foreach ($children as $child) { - list($type) = sscanf($child->getContentType(), '%[^/]/%s'); - if ('text' == $type) { - $body = $child->getBody(); - $bodyReplaced = str_replace( - $search, $replace, $body - ); - if ($body != $bodyReplaced) { - $child->setBody($bodyReplaced); - $this->originalChildBodies[$child->getId()] = $body; - } - } - } - $this->lastMessage = $message; - } - } - - /** - * Find a map of replacements for the address. - * - * If this plugin was provided with a delegate instance of - * {@link Swift_Plugins_Decorator_Replacements} then the call will be - * delegated to it. Otherwise, it will attempt to find the replacements - * from the array provided in the constructor. - * - * If no replacements can be found, an empty value (NULL) is returned. - * - * @param string $address - * - * @return array - */ - public function getReplacementsFor($address) - { - if ($this->replacements instanceof Swift_Plugins_Decorator_Replacements) { - return $this->replacements->getReplacementsFor($address); - } - - return $this->replacements[$address] ?? null; - } - - /** - * Invoked immediately after the Message is sent. - */ - public function sendPerformed(Swift_Events_SendEvent $evt) - { - $this->restoreMessage($evt->getMessage()); - } - - /** Restore a changed message back to its original state */ - private function restoreMessage(Swift_Mime_SimpleMessage $message) - { - if ($this->lastMessage === $message) { - if (isset($this->originalBody)) { - $message->setBody($this->originalBody); - $this->originalBody = null; - } - if (!empty($this->originalHeaders)) { - foreach ($message->getHeaders()->getAll() as $header) { - if (array_key_exists($header->getFieldName(), $this->originalHeaders)) { - $header->setFieldBodyModel($this->originalHeaders[$header->getFieldName()]); - } - } - $this->originalHeaders = []; - } - if (!empty($this->originalChildBodies)) { - $children = (array) $message->getChildren(); - foreach ($children as $child) { - $id = $child->getId(); - if (array_key_exists($id, $this->originalChildBodies)) { - $child->setBody($this->originalChildBodies[$id]); - } - } - $this->originalChildBodies = []; - } - $this->lastMessage = null; - } - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/ImpersonatePlugin.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/ImpersonatePlugin.php deleted file mode 100644 index 3f4dbbf..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/ImpersonatePlugin.php +++ /dev/null @@ -1,65 +0,0 @@ -sender = $sender; - } - - /** - * Invoked immediately before the Message is sent. - */ - public function beforeSendPerformed(Swift_Events_SendEvent $evt) - { - $message = $evt->getMessage(); - $headers = $message->getHeaders(); - - // save current recipients - $headers->addPathHeader('X-Swift-Return-Path', $message->getReturnPath()); - - // replace them with the one to send to - $message->setReturnPath($this->sender); - } - - /** - * Invoked immediately after the Message is sent. - */ - public function sendPerformed(Swift_Events_SendEvent $evt) - { - $message = $evt->getMessage(); - - // restore original headers - $headers = $message->getHeaders(); - - if ($headers->has('X-Swift-Return-Path')) { - $message->setReturnPath($headers->get('X-Swift-Return-Path')->getAddress()); - $headers->removeAll('X-Swift-Return-Path'); - } - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/Logger.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/Logger.php deleted file mode 100644 index d9bce89..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/Logger.php +++ /dev/null @@ -1,36 +0,0 @@ -logger = $logger; - } - - /** - * Add a log entry. - * - * @param string $entry - */ - public function add($entry) - { - $this->logger->add($entry); - } - - /** - * Clear the log contents. - */ - public function clear() - { - $this->logger->clear(); - } - - /** - * Get this log as a string. - * - * @return string - */ - public function dump() - { - return $this->logger->dump(); - } - - /** - * Invoked immediately following a command being sent. - */ - public function commandSent(Swift_Events_CommandEvent $evt) - { - $command = $evt->getCommand(); - $this->logger->add(sprintf('>> %s', $command)); - } - - /** - * Invoked immediately following a response coming back. - */ - public function responseReceived(Swift_Events_ResponseEvent $evt) - { - $response = $evt->getResponse(); - $this->logger->add(sprintf('<< %s', $response)); - } - - /** - * Invoked just before a Transport is started. - */ - public function beforeTransportStarted(Swift_Events_TransportChangeEvent $evt) - { - $transportName = get_class($evt->getSource()); - $this->logger->add(sprintf('++ Starting %s', $transportName)); - } - - /** - * Invoked immediately after the Transport is started. - */ - public function transportStarted(Swift_Events_TransportChangeEvent $evt) - { - $transportName = get_class($evt->getSource()); - $this->logger->add(sprintf('++ %s started', $transportName)); - } - - /** - * Invoked just before a Transport is stopped. - */ - public function beforeTransportStopped(Swift_Events_TransportChangeEvent $evt) - { - $transportName = get_class($evt->getSource()); - $this->logger->add(sprintf('++ Stopping %s', $transportName)); - } - - /** - * Invoked immediately after the Transport is stopped. - */ - public function transportStopped(Swift_Events_TransportChangeEvent $evt) - { - $transportName = get_class($evt->getSource()); - $this->logger->add(sprintf('++ %s stopped', $transportName)); - } - - /** - * Invoked as a TransportException is thrown in the Transport system. - */ - public function exceptionThrown(Swift_Events_TransportExceptionEvent $evt) - { - $e = $evt->getException(); - $message = $e->getMessage(); - $code = $e->getCode(); - $this->logger->add(sprintf('!! %s (code: %s)', $message, $code)); - $message .= PHP_EOL; - $message .= 'Log data:'.PHP_EOL; - $message .= $this->logger->dump(); - $evt->cancelBubble(); - throw new Swift_TransportException($message, $code, $e->getPrevious()); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/Loggers/ArrayLogger.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/Loggers/ArrayLogger.php deleted file mode 100644 index b00bcaa..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/Loggers/ArrayLogger.php +++ /dev/null @@ -1,72 +0,0 @@ -size = $size; - } - - /** - * Add a log entry. - * - * @param string $entry - */ - public function add($entry) - { - $this->log[] = $entry; - while (count($this->log) > $this->size) { - array_shift($this->log); - } - } - - /** - * Clear the log contents. - */ - public function clear() - { - $this->log = []; - } - - /** - * Get this log as a string. - * - * @return string - */ - public function dump() - { - return implode(PHP_EOL, $this->log); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/Loggers/EchoLogger.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/Loggers/EchoLogger.php deleted file mode 100644 index 40a53d2..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/Loggers/EchoLogger.php +++ /dev/null @@ -1,58 +0,0 @@ -isHtml = $isHtml; - } - - /** - * Add a log entry. - * - * @param string $entry - */ - public function add($entry) - { - if ($this->isHtml) { - printf('%s%s%s', htmlspecialchars($entry, ENT_QUOTES), '
    ', PHP_EOL); - } else { - printf('%s%s', $entry, PHP_EOL); - } - } - - /** - * Not implemented. - */ - public function clear() - { - } - - /** - * Not implemented. - */ - public function dump() - { - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/MessageLogger.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/MessageLogger.php deleted file mode 100644 index 3b4de80..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/MessageLogger.php +++ /dev/null @@ -1,70 +0,0 @@ -messages = []; - } - - /** - * Get the message list. - * - * @return Swift_Mime_SimpleMessage[] - */ - public function getMessages() - { - return $this->messages; - } - - /** - * Get the message count. - * - * @return int count - */ - public function countMessages() - { - return count($this->messages); - } - - /** - * Empty the message list. - */ - public function clear() - { - $this->messages = []; - } - - /** - * Invoked immediately before the Message is sent. - */ - public function beforeSendPerformed(Swift_Events_SendEvent $evt) - { - $this->messages[] = clone $evt->getMessage(); - } - - /** - * Invoked immediately after the Message is sent. - */ - public function sendPerformed(Swift_Events_SendEvent $evt) - { - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/Pop/Pop3Connection.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/Pop/Pop3Connection.php deleted file mode 100644 index fb99e4c..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/Pop/Pop3Connection.php +++ /dev/null @@ -1,31 +0,0 @@ -host = $host; - $this->port = $port; - $this->crypto = $crypto; - } - - /** - * Set a Pop3Connection to delegate to instead of connecting directly. - * - * @return $this - */ - public function setConnection(Swift_Plugins_Pop_Pop3Connection $connection) - { - $this->connection = $connection; - - return $this; - } - - /** - * Bind this plugin to a specific SMTP transport instance. - */ - public function bindSmtp(Swift_Transport $smtp) - { - $this->transport = $smtp; - } - - /** - * Set the connection timeout in seconds (default 10). - * - * @param int $timeout - * - * @return $this - */ - public function setTimeout($timeout) - { - $this->timeout = (int) $timeout; - - return $this; - } - - /** - * Set the username to use when connecting (if needed). - * - * @param string $username - * - * @return $this - */ - public function setUsername($username) - { - $this->username = $username; - - return $this; - } - - /** - * Set the password to use when connecting (if needed). - * - * @param string $password - * - * @return $this - */ - public function setPassword($password) - { - $this->password = $password; - - return $this; - } - - /** - * Connect to the POP3 host and authenticate. - * - * @throws Swift_Plugins_Pop_Pop3Exception if connection fails - */ - public function connect() - { - if (isset($this->connection)) { - $this->connection->connect(); - } else { - if (!isset($this->socket)) { - if (!$socket = fsockopen( - $this->getHostString(), $this->port, $errno, $errstr, $this->timeout)) { - throw new Swift_Plugins_Pop_Pop3Exception( - sprintf('Failed to connect to POP3 host [%s]: %s', $this->host, $errstr) - ); - } - $this->socket = $socket; - - if (false === $greeting = fgets($this->socket)) { - throw new Swift_Plugins_Pop_Pop3Exception( - sprintf('Failed to connect to POP3 host [%s]', trim($greeting)) - ); - } - - $this->assertOk($greeting); - - if ($this->username) { - $this->command(sprintf("USER %s\r\n", $this->username)); - $this->command(sprintf("PASS %s\r\n", $this->password)); - } - } - } - } - - /** - * Disconnect from the POP3 host. - */ - public function disconnect() - { - if (isset($this->connection)) { - $this->connection->disconnect(); - } else { - $this->command("QUIT\r\n"); - if (!fclose($this->socket)) { - throw new Swift_Plugins_Pop_Pop3Exception( - sprintf('POP3 host [%s] connection could not be stopped', $this->host) - ); - } - $this->socket = null; - } - } - - /** - * Invoked just before a Transport is started. - */ - public function beforeTransportStarted(Swift_Events_TransportChangeEvent $evt) - { - if (isset($this->transport)) { - if ($this->transport !== $evt->getTransport()) { - return; - } - } - - $this->connect(); - $this->disconnect(); - } - - /** - * Not used. - */ - public function transportStarted(Swift_Events_TransportChangeEvent $evt) - { - } - - /** - * Not used. - */ - public function beforeTransportStopped(Swift_Events_TransportChangeEvent $evt) - { - } - - /** - * Not used. - */ - public function transportStopped(Swift_Events_TransportChangeEvent $evt) - { - } - - private function command($command) - { - if (!fwrite($this->socket, $command)) { - throw new Swift_Plugins_Pop_Pop3Exception( - sprintf('Failed to write command [%s] to POP3 host', trim($command)) - ); - } - - if (false === $response = fgets($this->socket)) { - throw new Swift_Plugins_Pop_Pop3Exception( - sprintf('Failed to read from POP3 host after command [%s]', trim($command)) - ); - } - - $this->assertOk($response); - - return $response; - } - - private function assertOk($response) - { - if ('+OK' != substr($response, 0, 3)) { - throw new Swift_Plugins_Pop_Pop3Exception( - sprintf('POP3 command failed [%s]', trim($response)) - ); - } - } - - private function getHostString() - { - $host = $this->host; - switch (strtolower($this->crypto)) { - case 'ssl': - $host = 'ssl://'.$host; - break; - - case 'tls': - $host = 'tls://'.$host; - break; - } - - return $host; - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/RedirectingPlugin.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/RedirectingPlugin.php deleted file mode 100644 index b0cb519..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/RedirectingPlugin.php +++ /dev/null @@ -1,201 +0,0 @@ -recipient = $recipient; - $this->whitelist = $whitelist; - } - - /** - * Set the recipient of all messages. - * - * @param mixed $recipient - */ - public function setRecipient($recipient) - { - $this->recipient = $recipient; - } - - /** - * Get the recipient of all messages. - * - * @return mixed - */ - public function getRecipient() - { - return $this->recipient; - } - - /** - * Set a list of regular expressions to whitelist certain recipients. - */ - public function setWhitelist(array $whitelist) - { - $this->whitelist = $whitelist; - } - - /** - * Get the whitelist. - * - * @return array - */ - public function getWhitelist() - { - return $this->whitelist; - } - - /** - * Invoked immediately before the Message is sent. - */ - public function beforeSendPerformed(Swift_Events_SendEvent $evt) - { - $message = $evt->getMessage(); - $headers = $message->getHeaders(); - - // conditionally save current recipients - - if ($headers->has('to')) { - $headers->addMailboxHeader('X-Swift-To', $message->getTo()); - } - - if ($headers->has('cc')) { - $headers->addMailboxHeader('X-Swift-Cc', $message->getCc()); - } - - if ($headers->has('bcc')) { - $headers->addMailboxHeader('X-Swift-Bcc', $message->getBcc()); - } - - // Filter remaining headers against whitelist - $this->filterHeaderSet($headers, 'To'); - $this->filterHeaderSet($headers, 'Cc'); - $this->filterHeaderSet($headers, 'Bcc'); - - // Add each hard coded recipient - $to = $message->getTo(); - if (null === $to) { - $to = []; - } - - foreach ((array) $this->recipient as $recipient) { - if (!array_key_exists($recipient, $to)) { - $message->addTo($recipient); - } - } - } - - /** - * Filter header set against a whitelist of regular expressions. - * - * @param string $type - */ - private function filterHeaderSet(Swift_Mime_SimpleHeaderSet $headerSet, $type) - { - foreach ($headerSet->getAll($type) as $headers) { - $headers->setNameAddresses($this->filterNameAddresses($headers->getNameAddresses())); - } - } - - /** - * Filtered list of addresses => name pairs. - * - * @return array - */ - private function filterNameAddresses(array $recipients) - { - $filtered = []; - - foreach ($recipients as $address => $name) { - if ($this->isWhitelisted($address)) { - $filtered[$address] = $name; - } - } - - return $filtered; - } - - /** - * Matches address against whitelist of regular expressions. - * - * @return bool - */ - protected function isWhitelisted($recipient) - { - if (in_array($recipient, (array) $this->recipient)) { - return true; - } - - foreach ($this->whitelist as $pattern) { - if (preg_match($pattern, $recipient)) { - return true; - } - } - - return false; - } - - /** - * Invoked immediately after the Message is sent. - */ - public function sendPerformed(Swift_Events_SendEvent $evt) - { - $this->restoreMessage($evt->getMessage()); - } - - private function restoreMessage(Swift_Mime_SimpleMessage $message) - { - // restore original headers - $headers = $message->getHeaders(); - - if ($headers->has('X-Swift-To')) { - $message->setTo($headers->get('X-Swift-To')->getNameAddresses()); - $headers->removeAll('X-Swift-To'); - } else { - $message->setTo(null); - } - - if ($headers->has('X-Swift-Cc')) { - $message->setCc($headers->get('X-Swift-Cc')->getNameAddresses()); - $headers->removeAll('X-Swift-Cc'); - } - - if ($headers->has('X-Swift-Bcc')) { - $message->setBcc($headers->get('X-Swift-Bcc')->getNameAddresses()); - $headers->removeAll('X-Swift-Bcc'); - } - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/Reporter.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/Reporter.php deleted file mode 100644 index 3a2b665..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/Reporter.php +++ /dev/null @@ -1,32 +0,0 @@ -reporter = $reporter; - } - - /** - * Not used. - */ - public function beforeSendPerformed(Swift_Events_SendEvent $evt) - { - } - - /** - * Invoked immediately after the Message is sent. - */ - public function sendPerformed(Swift_Events_SendEvent $evt) - { - $message = $evt->getMessage(); - $failures = array_flip($evt->getFailedRecipients()); - foreach ((array) $message->getTo() as $address => $null) { - $this->reporter->notify($message, $address, (array_key_exists($address, $failures) ? Swift_Plugins_Reporter::RESULT_FAIL : Swift_Plugins_Reporter::RESULT_PASS)); - } - foreach ((array) $message->getCc() as $address => $null) { - $this->reporter->notify($message, $address, (array_key_exists($address, $failures) ? Swift_Plugins_Reporter::RESULT_FAIL : Swift_Plugins_Reporter::RESULT_PASS)); - } - foreach ((array) $message->getBcc() as $address => $null) { - $this->reporter->notify($message, $address, (array_key_exists($address, $failures) ? Swift_Plugins_Reporter::RESULT_FAIL : Swift_Plugins_Reporter::RESULT_PASS)); - } - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/Reporters/HitReporter.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/Reporters/HitReporter.php deleted file mode 100644 index 249cffb..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/Reporters/HitReporter.php +++ /dev/null @@ -1,58 +0,0 @@ -failures_cache[$address])) { - $this->failures[] = $address; - $this->failures_cache[$address] = true; - } - } - - /** - * Get an array of addresses for which delivery failed. - * - * @return array - */ - public function getFailedRecipients() - { - return $this->failures; - } - - /** - * Clear the buffer (empty the list). - */ - public function clear() - { - $this->failures = $this->failures_cache = []; - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/Reporters/HtmlReporter.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/Reporters/HtmlReporter.php deleted file mode 100644 index 1cfc3f9..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/Reporters/HtmlReporter.php +++ /dev/null @@ -1,38 +0,0 @@ -'.PHP_EOL; - echo 'PASS '.$address.PHP_EOL; - echo ''.PHP_EOL; - flush(); - } else { - echo '
    '.PHP_EOL; - echo 'FAIL '.$address.PHP_EOL; - echo '
    '.PHP_EOL; - flush(); - } - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/Sleeper.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/Sleeper.php deleted file mode 100644 index 595c0f6..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/Sleeper.php +++ /dev/null @@ -1,24 +0,0 @@ -rate = $rate; - $this->mode = $mode; - $this->sleeper = $sleeper; - $this->timer = $timer; - } - - /** - * Invoked immediately before the Message is sent. - */ - public function beforeSendPerformed(Swift_Events_SendEvent $evt) - { - $time = $this->getTimestamp(); - if (!isset($this->start)) { - $this->start = $time; - } - $duration = $time - $this->start; - - switch ($this->mode) { - case self::BYTES_PER_MINUTE: - $sleep = $this->throttleBytesPerMinute($duration); - break; - case self::MESSAGES_PER_SECOND: - $sleep = $this->throttleMessagesPerSecond($duration); - break; - case self::MESSAGES_PER_MINUTE: - $sleep = $this->throttleMessagesPerMinute($duration); - break; - default: - $sleep = 0; - break; - } - - if ($sleep > 0) { - $this->sleep($sleep); - } - } - - /** - * Invoked when a Message is sent. - */ - public function sendPerformed(Swift_Events_SendEvent $evt) - { - parent::sendPerformed($evt); - ++$this->messages; - } - - /** - * Sleep for $seconds. - * - * @param int $seconds - */ - public function sleep($seconds) - { - if (isset($this->sleeper)) { - $this->sleeper->sleep($seconds); - } else { - sleep($seconds); - } - } - - /** - * Get the current UNIX timestamp. - * - * @return int - */ - public function getTimestamp() - { - if (isset($this->timer)) { - return $this->timer->getTimestamp(); - } - - return time(); - } - - /** - * Get a number of seconds to sleep for. - * - * @param int $timePassed - * - * @return int - */ - private function throttleBytesPerMinute($timePassed) - { - $expectedDuration = $this->getBytesOut() / ($this->rate / 60); - - return (int) ceil($expectedDuration - $timePassed); - } - - /** - * Get a number of seconds to sleep for. - * - * @param int $timePassed - * - * @return int - */ - private function throttleMessagesPerSecond($timePassed) - { - $expectedDuration = $this->messages / $this->rate; - - return (int) ceil($expectedDuration - $timePassed); - } - - /** - * Get a number of seconds to sleep for. - * - * @param int $timePassed - * - * @return int - */ - private function throttleMessagesPerMinute($timePassed) - { - $expectedDuration = $this->messages / ($this->rate / 60); - - return (int) ceil($expectedDuration - $timePassed); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/Timer.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/Timer.php deleted file mode 100644 index 9c8deb3..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/Timer.php +++ /dev/null @@ -1,24 +0,0 @@ -register('properties.charset')->asValue($charset); - - return $this; - } - - /** - * Set the directory where temporary files can be saved. - * - * @param string $dir - * - * @return $this - */ - public function setTempDir($dir) - { - Swift_DependencyContainer::getInstance()->register('tempdir')->asValue($dir); - - return $this; - } - - /** - * Set the type of cache to use (i.e. "disk" or "array"). - * - * @param string $type - * - * @return $this - */ - public function setCacheType($type) - { - Swift_DependencyContainer::getInstance()->register('cache')->asAliasOf(sprintf('cache.%s', $type)); - - return $this; - } - - /** - * Set the QuotedPrintable dot escaper preference. - * - * @param bool $dotEscape - * - * @return $this - */ - public function setQPDotEscape($dotEscape) - { - $dotEscape = !empty($dotEscape); - Swift_DependencyContainer::getInstance() - ->register('mime.qpcontentencoder') - ->asNewInstanceOf('Swift_Mime_ContentEncoder_QpContentEncoder') - ->withDependencies(['mime.charstream', 'mime.bytecanonicalizer']) - ->addConstructorValue($dotEscape); - - return $this; - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/ReplacementFilterFactory.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/ReplacementFilterFactory.php deleted file mode 100644 index 2897474..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/ReplacementFilterFactory.php +++ /dev/null @@ -1,27 +0,0 @@ -createDependenciesFor('transport.sendmail') - ); - - $this->setCommand($command); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Signer.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Signer.php deleted file mode 100644 index 26c5e28..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Signer.php +++ /dev/null @@ -1,19 +0,0 @@ - - */ -interface Swift_Signer -{ - public function reset(); -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Signers/BodySigner.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Signers/BodySigner.php deleted file mode 100644 index 8e66e18..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Signers/BodySigner.php +++ /dev/null @@ -1,33 +0,0 @@ - - */ -interface Swift_Signers_BodySigner extends Swift_Signer -{ - /** - * Change the Swift_Signed_Message to apply the singing. - * - * @param Swift_Message $message - * - * @return self - */ - public function signMessage(Swift_Message $message); - - /** - * Return the list of header a signer might tamper. - * - * @return array - */ - public function getAlteredHeaders(); -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Signers/DKIMSigner.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Signers/DKIMSigner.php deleted file mode 100644 index 7f1bf4a..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Signers/DKIMSigner.php +++ /dev/null @@ -1,682 +0,0 @@ - - */ -class Swift_Signers_DKIMSigner implements Swift_Signers_HeaderSigner -{ - /** - * PrivateKey. - * - * @var string - */ - protected $privateKey; - - /** - * DomainName. - * - * @var string - */ - protected $domainName; - - /** - * Selector. - * - * @var string - */ - protected $selector; - - private $passphrase = ''; - - /** - * Hash algorithm used. - * - * @see RFC6376 3.3: Signers MUST implement and SHOULD sign using rsa-sha256. - * - * @var string - */ - protected $hashAlgorithm = 'rsa-sha256'; - - /** - * Body canon method. - * - * @var string - */ - protected $bodyCanon = 'simple'; - - /** - * Header canon method. - * - * @var string - */ - protected $headerCanon = 'simple'; - - /** - * Headers not being signed. - * - * @var array - */ - protected $ignoredHeaders = ['return-path' => true]; - - /** - * Signer identity. - * - * @var string - */ - protected $signerIdentity; - - /** - * BodyLength. - * - * @var int - */ - protected $bodyLen = 0; - - /** - * Maximum signedLen. - * - * @var int - */ - protected $maxLen = PHP_INT_MAX; - - /** - * Embbed bodyLen in signature. - * - * @var bool - */ - protected $showLen = false; - - /** - * When the signature has been applied (true means time()), false means not embedded. - * - * @var mixed - */ - protected $signatureTimestamp = true; - - /** - * When will the signature expires false means not embedded, if sigTimestamp is auto - * Expiration is relative, otherwise it's absolute. - * - * @var int - */ - protected $signatureExpiration = false; - - /** - * Must we embed signed headers? - * - * @var bool - */ - protected $debugHeaders = false; - - // work variables - /** - * Headers used to generate hash. - * - * @var array - */ - protected $signedHeaders = []; - - /** - * If debugHeaders is set store debugData here. - * - * @var string[] - */ - private $debugHeadersData = []; - - /** - * Stores the bodyHash. - * - * @var string - */ - private $bodyHash = ''; - - /** - * Stores the signature header. - * - * @var Swift_Mime_Headers_ParameterizedHeader - */ - protected $dkimHeader; - - private $bodyHashHandler; - - private $headerHash; - - private $headerCanonData = ''; - - private $bodyCanonEmptyCounter = 0; - - private $bodyCanonIgnoreStart = 2; - - private $bodyCanonSpace = false; - - private $bodyCanonLastChar = null; - - private $bodyCanonLine = ''; - - private $bound = []; - - /** - * Constructor. - * - * @param string $privateKey - * @param string $domainName - * @param string $selector - * @param string $passphrase - */ - public function __construct($privateKey, $domainName, $selector, $passphrase = '') - { - $this->privateKey = $privateKey; - $this->domainName = $domainName; - $this->signerIdentity = '@'.$domainName; - $this->selector = $selector; - $this->passphrase = $passphrase; - } - - /** - * Reset the Signer. - * - * @see Swift_Signer::reset() - */ - public function reset() - { - $this->headerHash = null; - $this->signedHeaders = []; - $this->bodyHash = null; - $this->bodyHashHandler = null; - $this->bodyCanonIgnoreStart = 2; - $this->bodyCanonEmptyCounter = 0; - $this->bodyCanonLastChar = null; - $this->bodyCanonSpace = false; - } - - /** - * Writes $bytes to the end of the stream. - * - * Writing may not happen immediately if the stream chooses to buffer. If - * you want to write these bytes with immediate effect, call {@link commit()} - * after calling write(). - * - * This method returns the sequence ID of the write (i.e. 1 for first, 2 for - * second, etc etc). - * - * @param string $bytes - * - * @return int - * - * @throws Swift_IoException - */ - // TODO fix return - public function write($bytes) - { - $this->canonicalizeBody($bytes); - foreach ($this->bound as $is) { - $is->write($bytes); - } - } - - /** - * For any bytes that are currently buffered inside the stream, force them - * off the buffer. - */ - public function commit() - { - // Nothing to do - return; - } - - /** - * Attach $is to this stream. - * - * The stream acts as an observer, receiving all data that is written. - * All {@link write()} and {@link flushBuffers()} operations will be mirrored. - */ - public function bind(Swift_InputByteStream $is) - { - // Don't have to mirror anything - $this->bound[] = $is; - - return; - } - - /** - * Remove an already bound stream. - * - * If $is is not bound, no errors will be raised. - * If the stream currently has any buffered data it will be written to $is - * before unbinding occurs. - */ - public function unbind(Swift_InputByteStream $is) - { - // Don't have to mirror anything - foreach ($this->bound as $k => $stream) { - if ($stream === $is) { - unset($this->bound[$k]); - - return; - } - } - } - - /** - * Flush the contents of the stream (empty it) and set the internal pointer - * to the beginning. - * - * @throws Swift_IoException - */ - public function flushBuffers() - { - $this->reset(); - } - - /** - * Set hash_algorithm, must be one of rsa-sha256 | rsa-sha1. - * - * @param string $hash 'rsa-sha1' or 'rsa-sha256' - * - * @throws Swift_SwiftException - * - * @return $this - */ - public function setHashAlgorithm($hash) - { - switch ($hash) { - case 'rsa-sha1': - $this->hashAlgorithm = 'rsa-sha1'; - break; - case 'rsa-sha256': - $this->hashAlgorithm = 'rsa-sha256'; - if (!defined('OPENSSL_ALGO_SHA256')) { - throw new Swift_SwiftException('Unable to set sha256 as it is not supported by OpenSSL.'); - } - break; - default: - throw new Swift_SwiftException('Unable to set the hash algorithm, must be one of rsa-sha1 or rsa-sha256 (%s given).', $hash); - } - - return $this; - } - - /** - * Set the body canonicalization algorithm. - * - * @param string $canon - * - * @return $this - */ - public function setBodyCanon($canon) - { - if ('relaxed' == $canon) { - $this->bodyCanon = 'relaxed'; - } else { - $this->bodyCanon = 'simple'; - } - - return $this; - } - - /** - * Set the header canonicalization algorithm. - * - * @param string $canon - * - * @return $this - */ - public function setHeaderCanon($canon) - { - if ('relaxed' == $canon) { - $this->headerCanon = 'relaxed'; - } else { - $this->headerCanon = 'simple'; - } - - return $this; - } - - /** - * Set the signer identity. - * - * @param string $identity - * - * @return $this - */ - public function setSignerIdentity($identity) - { - $this->signerIdentity = $identity; - - return $this; - } - - /** - * Set the length of the body to sign. - * - * @param mixed $len (bool or int) - * - * @return $this - */ - public function setBodySignedLen($len) - { - if (true === $len) { - $this->showLen = true; - $this->maxLen = PHP_INT_MAX; - } elseif (false === $len) { - $this->showLen = false; - $this->maxLen = PHP_INT_MAX; - } else { - $this->showLen = true; - $this->maxLen = (int) $len; - } - - return $this; - } - - /** - * Set the signature timestamp. - * - * @param int $time A timestamp - * - * @return $this - */ - public function setSignatureTimestamp($time) - { - $this->signatureTimestamp = $time; - - return $this; - } - - /** - * Set the signature expiration timestamp. - * - * @param int $time A timestamp - * - * @return $this - */ - public function setSignatureExpiration($time) - { - $this->signatureExpiration = $time; - - return $this; - } - - /** - * Enable / disable the DebugHeaders. - * - * @param bool $debug - * - * @return Swift_Signers_DKIMSigner - */ - public function setDebugHeaders($debug) - { - $this->debugHeaders = (bool) $debug; - - return $this; - } - - /** - * Start Body. - */ - public function startBody() - { - // Init - switch ($this->hashAlgorithm) { - case 'rsa-sha256': - $this->bodyHashHandler = hash_init('sha256'); - break; - case 'rsa-sha1': - $this->bodyHashHandler = hash_init('sha1'); - break; - } - $this->bodyCanonLine = ''; - } - - /** - * End Body. - */ - public function endBody() - { - $this->endOfBody(); - } - - /** - * Returns the list of Headers Tampered by this plugin. - * - * @return array - */ - public function getAlteredHeaders() - { - if ($this->debugHeaders) { - return ['DKIM-Signature', 'X-DebugHash']; - } else { - return ['DKIM-Signature']; - } - } - - /** - * Adds an ignored Header. - * - * @param string $header_name - * - * @return Swift_Signers_DKIMSigner - */ - public function ignoreHeader($header_name) - { - $this->ignoredHeaders[strtolower($header_name)] = true; - - return $this; - } - - /** - * Set the headers to sign. - * - * @return Swift_Signers_DKIMSigner - */ - public function setHeaders(Swift_Mime_SimpleHeaderSet $headers) - { - $this->headerCanonData = ''; - // Loop through Headers - $listHeaders = $headers->listAll(); - foreach ($listHeaders as $hName) { - // Check if we need to ignore Header - if (!isset($this->ignoredHeaders[strtolower($hName)])) { - if ($headers->has($hName)) { - $tmp = $headers->getAll($hName); - foreach ($tmp as $header) { - if ('' != $header->getFieldBody()) { - $this->addHeader($header->toString()); - $this->signedHeaders[] = $header->getFieldName(); - } - } - } - } - } - - return $this; - } - - /** - * Add the signature to the given Headers. - * - * @return Swift_Signers_DKIMSigner - */ - public function addSignature(Swift_Mime_SimpleHeaderSet $headers) - { - // Prepare the DKIM-Signature - $params = ['v' => '1', 'a' => $this->hashAlgorithm, 'bh' => base64_encode($this->bodyHash), 'd' => $this->domainName, 'h' => implode(': ', $this->signedHeaders), 'i' => $this->signerIdentity, 's' => $this->selector]; - if ('simple' != $this->bodyCanon) { - $params['c'] = $this->headerCanon.'/'.$this->bodyCanon; - } elseif ('simple' != $this->headerCanon) { - $params['c'] = $this->headerCanon; - } - if ($this->showLen) { - $params['l'] = $this->bodyLen; - } - if (true === $this->signatureTimestamp) { - $params['t'] = time(); - if (false !== $this->signatureExpiration) { - $params['x'] = $params['t'] + $this->signatureExpiration; - } - } else { - if (false !== $this->signatureTimestamp) { - $params['t'] = $this->signatureTimestamp; - } - if (false !== $this->signatureExpiration) { - $params['x'] = $this->signatureExpiration; - } - } - if ($this->debugHeaders) { - $params['z'] = implode('|', $this->debugHeadersData); - } - $string = ''; - foreach ($params as $k => $v) { - $string .= $k.'='.$v.'; '; - } - $string = trim($string); - $headers->addTextHeader('DKIM-Signature', $string); - // Add the last DKIM-Signature - $tmp = $headers->getAll('DKIM-Signature'); - $this->dkimHeader = end($tmp); - $this->addHeader(trim($this->dkimHeader->toString())."\r\n b=", true); - if ($this->debugHeaders) { - $headers->addTextHeader('X-DebugHash', base64_encode($this->headerHash)); - } - $this->dkimHeader->setValue($string.' b='.trim(chunk_split(base64_encode($this->getEncryptedHash()), 73, ' '))); - - return $this; - } - - /* Private helpers */ - - protected function addHeader($header, $is_sig = false) - { - switch ($this->headerCanon) { - case 'relaxed': - // Prepare Header and cascade - $exploded = explode(':', $header, 2); - $name = strtolower(trim($exploded[0])); - $value = str_replace("\r\n", '', $exploded[1]); - $value = preg_replace("/[ \t][ \t]+/", ' ', $value); - $header = $name.':'.trim($value).($is_sig ? '' : "\r\n"); - // no break - case 'simple': - // Nothing to do - } - $this->addToHeaderHash($header); - } - - protected function canonicalizeBody($string) - { - $len = strlen($string); - $canon = ''; - $method = ('relaxed' == $this->bodyCanon); - for ($i = 0; $i < $len; ++$i) { - if ($this->bodyCanonIgnoreStart > 0) { - --$this->bodyCanonIgnoreStart; - continue; - } - switch ($string[$i]) { - case "\r": - $this->bodyCanonLastChar = "\r"; - break; - case "\n": - if ("\r" == $this->bodyCanonLastChar) { - if ($method) { - $this->bodyCanonSpace = false; - } - if ('' == $this->bodyCanonLine) { - ++$this->bodyCanonEmptyCounter; - } else { - $this->bodyCanonLine = ''; - $canon .= "\r\n"; - } - } else { - // Wooops Error - // todo handle it but should never happen - } - break; - case ' ': - case "\t": - if ($method) { - $this->bodyCanonSpace = true; - break; - } - // no break - default: - if ($this->bodyCanonEmptyCounter > 0) { - $canon .= str_repeat("\r\n", $this->bodyCanonEmptyCounter); - $this->bodyCanonEmptyCounter = 0; - } - if ($this->bodyCanonSpace) { - $this->bodyCanonLine .= ' '; - $canon .= ' '; - $this->bodyCanonSpace = false; - } - $this->bodyCanonLine .= $string[$i]; - $canon .= $string[$i]; - } - } - $this->addToBodyHash($canon); - } - - protected function endOfBody() - { - // Add trailing Line return if last line is non empty - if (strlen($this->bodyCanonLine) > 0) { - $this->addToBodyHash("\r\n"); - } - $this->bodyHash = hash_final($this->bodyHashHandler, true); - } - - private function addToBodyHash($string) - { - $len = strlen($string); - if ($len > ($new_len = ($this->maxLen - $this->bodyLen))) { - $string = substr($string, 0, $new_len); - $len = $new_len; - } - hash_update($this->bodyHashHandler, $string); - $this->bodyLen += $len; - } - - private function addToHeaderHash($header) - { - if ($this->debugHeaders) { - $this->debugHeadersData[] = trim($header); - } - $this->headerCanonData .= $header; - } - - /** - * @throws Swift_SwiftException - * - * @return string - */ - private function getEncryptedHash() - { - $signature = ''; - switch ($this->hashAlgorithm) { - case 'rsa-sha1': - $algorithm = OPENSSL_ALGO_SHA1; - break; - case 'rsa-sha256': - $algorithm = OPENSSL_ALGO_SHA256; - break; - } - $pkeyId = openssl_get_privatekey($this->privateKey, $this->passphrase); - if (!$pkeyId) { - throw new Swift_SwiftException('Unable to load DKIM Private Key ['.openssl_error_string().']'); - } - if (openssl_sign($this->headerCanonData, $signature, $pkeyId, $algorithm)) { - return $signature; - } - throw new Swift_SwiftException('Unable to sign DKIM Hash ['.openssl_error_string().']'); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Signers/DomainKeySigner.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Signers/DomainKeySigner.php deleted file mode 100644 index a24d203..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Signers/DomainKeySigner.php +++ /dev/null @@ -1,504 +0,0 @@ - - */ -class Swift_Signers_DomainKeySigner implements Swift_Signers_HeaderSigner -{ - /** - * PrivateKey. - * - * @var string - */ - protected $privateKey; - - /** - * DomainName. - * - * @var string - */ - protected $domainName; - - /** - * Selector. - * - * @var string - */ - protected $selector; - - /** - * Hash algorithm used. - * - * @var string - */ - protected $hashAlgorithm = 'rsa-sha1'; - - /** - * Canonisation method. - * - * @var string - */ - protected $canon = 'simple'; - - /** - * Headers not being signed. - * - * @var array - */ - protected $ignoredHeaders = []; - - /** - * Signer identity. - * - * @var string - */ - protected $signerIdentity; - - /** - * Must we embed signed headers? - * - * @var bool - */ - protected $debugHeaders = false; - - // work variables - /** - * Headers used to generate hash. - * - * @var array - */ - private $signedHeaders = []; - - /** - * Stores the signature header. - * - * @var Swift_Mime_Headers_ParameterizedHeader - */ - protected $domainKeyHeader; - - /** - * Hash Handler. - * - * @var resource|null - */ - private $hashHandler; - - private $canonData = ''; - - private $bodyCanonEmptyCounter = 0; - - private $bodyCanonIgnoreStart = 2; - - private $bodyCanonSpace = false; - - private $bodyCanonLastChar = null; - - private $bodyCanonLine = ''; - - private $bound = []; - - /** - * Constructor. - * - * @param string $privateKey - * @param string $domainName - * @param string $selector - */ - public function __construct($privateKey, $domainName, $selector) - { - $this->privateKey = $privateKey; - $this->domainName = $domainName; - $this->signerIdentity = '@'.$domainName; - $this->selector = $selector; - } - - /** - * Resets internal states. - * - * @return $this - */ - public function reset() - { - $this->hashHandler = null; - $this->bodyCanonIgnoreStart = 2; - $this->bodyCanonEmptyCounter = 0; - $this->bodyCanonLastChar = null; - $this->bodyCanonSpace = false; - - return $this; - } - - /** - * Writes $bytes to the end of the stream. - * - * Writing may not happen immediately if the stream chooses to buffer. If - * you want to write these bytes with immediate effect, call {@link commit()} - * after calling write(). - * - * This method returns the sequence ID of the write (i.e. 1 for first, 2 for - * second, etc etc). - * - * @param string $bytes - * - * @return int - * - * @throws Swift_IoException - * - * @return $this - */ - public function write($bytes) - { - $this->canonicalizeBody($bytes); - foreach ($this->bound as $is) { - $is->write($bytes); - } - - return $this; - } - - /** - * For any bytes that are currently buffered inside the stream, force them - * off the buffer. - * - * @throws Swift_IoException - * - * @return $this - */ - public function commit() - { - // Nothing to do - return $this; - } - - /** - * Attach $is to this stream. - * - * The stream acts as an observer, receiving all data that is written. - * All {@link write()} and {@link flushBuffers()} operations will be mirrored. - * - * @return $this - */ - public function bind(Swift_InputByteStream $is) - { - // Don't have to mirror anything - $this->bound[] = $is; - - return $this; - } - - /** - * Remove an already bound stream. - * - * If $is is not bound, no errors will be raised. - * If the stream currently has any buffered data it will be written to $is - * before unbinding occurs. - * - * @return $this - */ - public function unbind(Swift_InputByteStream $is) - { - // Don't have to mirror anything - foreach ($this->bound as $k => $stream) { - if ($stream === $is) { - unset($this->bound[$k]); - - break; - } - } - - return $this; - } - - /** - * Flush the contents of the stream (empty it) and set the internal pointer - * to the beginning. - * - * @throws Swift_IoException - * - * @return $this - */ - public function flushBuffers() - { - $this->reset(); - - return $this; - } - - /** - * Set hash_algorithm, must be one of rsa-sha256 | rsa-sha1 defaults to rsa-sha256. - * - * @param string $hash - * - * @return $this - */ - public function setHashAlgorithm($hash) - { - $this->hashAlgorithm = 'rsa-sha1'; - - return $this; - } - - /** - * Set the canonicalization algorithm. - * - * @param string $canon simple | nofws defaults to simple - * - * @return $this - */ - public function setCanon($canon) - { - if ('nofws' == $canon) { - $this->canon = 'nofws'; - } else { - $this->canon = 'simple'; - } - - return $this; - } - - /** - * Set the signer identity. - * - * @param string $identity - * - * @return $this - */ - public function setSignerIdentity($identity) - { - $this->signerIdentity = $identity; - - return $this; - } - - /** - * Enable / disable the DebugHeaders. - * - * @param bool $debug - * - * @return $this - */ - public function setDebugHeaders($debug) - { - $this->debugHeaders = (bool) $debug; - - return $this; - } - - /** - * Start Body. - */ - public function startBody() - { - } - - /** - * End Body. - */ - public function endBody() - { - $this->endOfBody(); - } - - /** - * Returns the list of Headers Tampered by this plugin. - * - * @return array - */ - public function getAlteredHeaders() - { - if ($this->debugHeaders) { - return ['DomainKey-Signature', 'X-DebugHash']; - } - - return ['DomainKey-Signature']; - } - - /** - * Adds an ignored Header. - * - * @param string $header_name - * - * @return $this - */ - public function ignoreHeader($header_name) - { - $this->ignoredHeaders[strtolower($header_name)] = true; - - return $this; - } - - /** - * Set the headers to sign. - * - * @return $this - */ - public function setHeaders(Swift_Mime_SimpleHeaderSet $headers) - { - $this->startHash(); - $this->canonData = ''; - // Loop through Headers - $listHeaders = $headers->listAll(); - foreach ($listHeaders as $hName) { - // Check if we need to ignore Header - if (!isset($this->ignoredHeaders[strtolower($hName)])) { - if ($headers->has($hName)) { - $tmp = $headers->getAll($hName); - foreach ($tmp as $header) { - if ('' != $header->getFieldBody()) { - $this->addHeader($header->toString()); - $this->signedHeaders[] = $header->getFieldName(); - } - } - } - } - } - $this->endOfHeaders(); - - return $this; - } - - /** - * Add the signature to the given Headers. - * - * @return $this - */ - public function addSignature(Swift_Mime_SimpleHeaderSet $headers) - { - // Prepare the DomainKey-Signature Header - $params = ['a' => $this->hashAlgorithm, 'b' => chunk_split(base64_encode($this->getEncryptedHash()), 73, ' '), 'c' => $this->canon, 'd' => $this->domainName, 'h' => implode(': ', $this->signedHeaders), 'q' => 'dns', 's' => $this->selector]; - $string = ''; - foreach ($params as $k => $v) { - $string .= $k.'='.$v.'; '; - } - $string = trim($string); - $headers->addTextHeader('DomainKey-Signature', $string); - - return $this; - } - - /* Private helpers */ - - protected function addHeader($header) - { - switch ($this->canon) { - case 'nofws': - // Prepare Header and cascade - $exploded = explode(':', $header, 2); - $name = strtolower(trim($exploded[0])); - $value = str_replace("\r\n", '', $exploded[1]); - $value = preg_replace("/[ \t][ \t]+/", ' ', $value); - $header = $name.':'.trim($value)."\r\n"; - // no break - case 'simple': - // Nothing to do - } - $this->addToHash($header); - } - - protected function endOfHeaders() - { - $this->bodyCanonEmptyCounter = 1; - } - - protected function canonicalizeBody($string) - { - $len = strlen($string); - $canon = ''; - $nofws = ('nofws' == $this->canon); - for ($i = 0; $i < $len; ++$i) { - if ($this->bodyCanonIgnoreStart > 0) { - --$this->bodyCanonIgnoreStart; - continue; - } - switch ($string[$i]) { - case "\r": - $this->bodyCanonLastChar = "\r"; - break; - case "\n": - if ("\r" == $this->bodyCanonLastChar) { - if ($nofws) { - $this->bodyCanonSpace = false; - } - if ('' == $this->bodyCanonLine) { - ++$this->bodyCanonEmptyCounter; - } else { - $this->bodyCanonLine = ''; - $canon .= "\r\n"; - } - } else { - // Wooops Error - throw new Swift_SwiftException('Invalid new line sequence in mail found \n without preceding \r'); - } - break; - case ' ': - case "\t": - case "\x09": //HTAB - if ($nofws) { - $this->bodyCanonSpace = true; - break; - } - // no break - default: - if ($this->bodyCanonEmptyCounter > 0) { - $canon .= str_repeat("\r\n", $this->bodyCanonEmptyCounter); - $this->bodyCanonEmptyCounter = 0; - } - $this->bodyCanonLine .= $string[$i]; - $canon .= $string[$i]; - } - } - $this->addToHash($canon); - } - - protected function endOfBody() - { - if (strlen($this->bodyCanonLine) > 0) { - $this->addToHash("\r\n"); - } - } - - private function addToHash($string) - { - $this->canonData .= $string; - hash_update($this->hashHandler, $string); - } - - private function startHash() - { - // Init - switch ($this->hashAlgorithm) { - case 'rsa-sha1': - $this->hashHandler = hash_init('sha1'); - break; - } - $this->bodyCanonLine = ''; - } - - /** - * @throws Swift_SwiftException - * - * @return string - */ - private function getEncryptedHash() - { - $signature = ''; - $pkeyId = openssl_get_privatekey($this->privateKey); - if (!$pkeyId) { - throw new Swift_SwiftException('Unable to load DomainKey Private Key ['.openssl_error_string().']'); - } - if (openssl_sign($this->canonData, $signature, $pkeyId, OPENSSL_ALGO_SHA1)) { - return $signature; - } - throw new Swift_SwiftException('Unable to sign DomainKey Hash ['.openssl_error_string().']'); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Signers/HeaderSigner.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Signers/HeaderSigner.php deleted file mode 100644 index 6104e34..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Signers/HeaderSigner.php +++ /dev/null @@ -1,65 +0,0 @@ - - */ -interface Swift_Signers_HeaderSigner extends Swift_Signer, Swift_InputByteStream -{ - /** - * Exclude an header from the signed headers. - * - * @param string $header_name - * - * @return self - */ - public function ignoreHeader($header_name); - - /** - * Prepare the Signer to get a new Body. - * - * @return self - */ - public function startBody(); - - /** - * Give the signal that the body has finished streaming. - * - * @return self - */ - public function endBody(); - - /** - * Give the headers already given. - * - * @param Swift_Mime_SimpleHeaderSet $headers - * - * @return self - */ - public function setHeaders(Swift_Mime_SimpleHeaderSet $headers); - - /** - * Add the header(s) to the headerSet. - * - * @param Swift_Mime_SimpleHeaderSet $headers - * - * @return self - */ - public function addSignature(Swift_Mime_SimpleHeaderSet $headers); - - /** - * Return the list of header a signer might tamper. - * - * @return array - */ - public function getAlteredHeaders(); -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Signers/OpenDKIMSigner.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Signers/OpenDKIMSigner.php deleted file mode 100644 index 7b50c51..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Signers/OpenDKIMSigner.php +++ /dev/null @@ -1,183 +0,0 @@ - - * - * @deprecated since SwiftMailer 6.1.0; use Swift_Signers_DKIMSigner instead. - */ -class Swift_Signers_OpenDKIMSigner extends Swift_Signers_DKIMSigner -{ - private $peclLoaded = false; - - private $dkimHandler = null; - - private $dropFirstLF = true; - - const CANON_RELAXED = 1; - const CANON_SIMPLE = 2; - const SIG_RSA_SHA1 = 3; - const SIG_RSA_SHA256 = 4; - - public function __construct($privateKey, $domainName, $selector) - { - if (!extension_loaded('opendkim')) { - throw new Swift_SwiftException('php-opendkim extension not found'); - } - - $this->peclLoaded = true; - - parent::__construct($privateKey, $domainName, $selector); - } - - public function addSignature(Swift_Mime_SimpleHeaderSet $headers) - { - $header = new Swift_Mime_Headers_OpenDKIMHeader('DKIM-Signature'); - $headerVal = $this->dkimHandler->getSignatureHeader(); - if (false === $headerVal || is_int($headerVal)) { - throw new Swift_SwiftException('OpenDKIM Error: '.$this->dkimHandler->getError()); - } - $header->setValue($headerVal); - $headers->set($header); - - return $this; - } - - public function setHeaders(Swift_Mime_SimpleHeaderSet $headers) - { - $hash = 'rsa-sha1' == $this->hashAlgorithm ? OpenDKIMSign::ALG_RSASHA1 : OpenDKIMSign::ALG_RSASHA256; - $bodyCanon = 'simple' == $this->bodyCanon ? OpenDKIMSign::CANON_SIMPLE : OpenDKIMSign::CANON_RELAXED; - $headerCanon = 'simple' == $this->headerCanon ? OpenDKIMSign::CANON_SIMPLE : OpenDKIMSign::CANON_RELAXED; - $this->dkimHandler = new OpenDKIMSign($this->privateKey, $this->selector, $this->domainName, $headerCanon, $bodyCanon, $hash, -1); - // Hardcode signature Margin for now - $this->dkimHandler->setMargin(78); - - if (!is_numeric($this->signatureTimestamp)) { - OpenDKIM::setOption(OpenDKIM::OPTS_FIXEDTIME, time()); - } else { - if (!OpenDKIM::setOption(OpenDKIM::OPTS_FIXEDTIME, $this->signatureTimestamp)) { - throw new Swift_SwiftException('Unable to force signature timestamp ['.openssl_error_string().']'); - } - } - if (isset($this->signerIdentity)) { - $this->dkimHandler->setSigner($this->signerIdentity); - } - $listHeaders = $headers->listAll(); - foreach ($listHeaders as $hName) { - // Check if we need to ignore Header - if (!isset($this->ignoredHeaders[strtolower($hName)])) { - $tmp = $headers->getAll($hName); - if ($headers->has($hName)) { - foreach ($tmp as $header) { - if ('' != $header->getFieldBody()) { - $htosign = $header->toString(); - $this->dkimHandler->header($htosign); - $this->signedHeaders[] = $header->getFieldName(); - } - } - } - } - } - - return $this; - } - - public function startBody() - { - if (!$this->peclLoaded) { - return parent::startBody(); - } - $this->dropFirstLF = true; - $this->dkimHandler->eoh(); - - return $this; - } - - public function endBody() - { - if (!$this->peclLoaded) { - return parent::endBody(); - } - $this->dkimHandler->eom(); - - return $this; - } - - public function reset() - { - $this->dkimHandler = null; - parent::reset(); - - return $this; - } - - /** - * Set the signature timestamp. - * - * @param int $time - * - * @return $this - */ - public function setSignatureTimestamp($time) - { - $this->signatureTimestamp = $time; - - return $this; - } - - /** - * Set the signature expiration timestamp. - * - * @param int $time - * - * @return $this - */ - public function setSignatureExpiration($time) - { - $this->signatureExpiration = $time; - - return $this; - } - - /** - * Enable / disable the DebugHeaders. - * - * @param bool $debug - * - * @return $this - */ - public function setDebugHeaders($debug) - { - $this->debugHeaders = (bool) $debug; - - return $this; - } - - // Protected - - protected function canonicalizeBody($string) - { - if (!$this->peclLoaded) { - return parent::canonicalizeBody($string); - } - if (true === $this->dropFirstLF) { - if ("\r" == $string[0] && "\n" == $string[1]) { - $string = substr($string, 2); - } - } - $this->dropFirstLF = false; - if (strlen($string)) { - $this->dkimHandler->body($string); - } - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Signers/SMimeSigner.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Signers/SMimeSigner.php deleted file mode 100644 index 84c53ed..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Signers/SMimeSigner.php +++ /dev/null @@ -1,542 +0,0 @@ - - * @author Jan Flora - */ -class Swift_Signers_SMimeSigner implements Swift_Signers_BodySigner -{ - protected $signCertificate; - protected $signPrivateKey; - protected $encryptCert; - protected $signThenEncrypt = true; - protected $signLevel; - protected $encryptLevel; - protected $signOptions; - protected $encryptOptions; - protected $encryptCipher; - protected $extraCerts = null; - protected $wrapFullMessage = false; - - /** - * @var Swift_StreamFilters_StringReplacementFilterFactory - */ - protected $replacementFactory; - - /** - * @var Swift_Mime_SimpleHeaderFactory - */ - protected $headerFactory; - - /** - * Constructor. - * - * @param string|null $signCertificate - * @param string|null $signPrivateKey - * @param string|null $encryptCertificate - */ - public function __construct($signCertificate = null, $signPrivateKey = null, $encryptCertificate = null) - { - if (null !== $signPrivateKey) { - $this->setSignCertificate($signCertificate, $signPrivateKey); - } - - if (null !== $encryptCertificate) { - $this->setEncryptCertificate($encryptCertificate); - } - - $this->replacementFactory = Swift_DependencyContainer::getInstance() - ->lookup('transport.replacementfactory'); - - $this->signOptions = PKCS7_DETACHED; - $this->encryptCipher = OPENSSL_CIPHER_AES_128_CBC; - } - - /** - * Set the certificate location to use for signing. - * - * @see https://secure.php.net/manual/en/openssl.pkcs7.flags.php - * - * @param string $certificate - * @param string|array $privateKey If the key needs an passphrase use array('file-location', 'passphrase') instead - * @param int $signOptions Bitwise operator options for openssl_pkcs7_sign() - * @param string $extraCerts A file containing intermediate certificates needed by the signing certificate - * - * @return $this - */ - public function setSignCertificate($certificate, $privateKey = null, $signOptions = PKCS7_DETACHED, $extraCerts = null) - { - $this->signCertificate = 'file://'.str_replace('\\', '/', realpath($certificate)); - - if (null !== $privateKey) { - if (is_array($privateKey)) { - $this->signPrivateKey = $privateKey; - $this->signPrivateKey[0] = 'file://'.str_replace('\\', '/', realpath($privateKey[0])); - } else { - $this->signPrivateKey = 'file://'.str_replace('\\', '/', realpath($privateKey)); - } - } - - $this->signOptions = $signOptions; - $this->extraCerts = $extraCerts ? realpath($extraCerts) : null; - - return $this; - } - - /** - * Set the certificate location to use for encryption. - * - * @see https://secure.php.net/manual/en/openssl.pkcs7.flags.php - * @see https://secure.php.net/manual/en/openssl.ciphers.php - * - * @param string|array $recipientCerts Either an single X.509 certificate, or an assoc array of X.509 certificates. - * @param int $cipher - * - * @return $this - */ - public function setEncryptCertificate($recipientCerts, $cipher = null) - { - if (is_array($recipientCerts)) { - $this->encryptCert = []; - - foreach ($recipientCerts as $cert) { - $this->encryptCert[] = 'file://'.str_replace('\\', '/', realpath($cert)); - } - } else { - $this->encryptCert = 'file://'.str_replace('\\', '/', realpath($recipientCerts)); - } - - if (null !== $cipher) { - $this->encryptCipher = $cipher; - } - - return $this; - } - - /** - * @return string - */ - public function getSignCertificate() - { - return $this->signCertificate; - } - - /** - * @return string - */ - public function getSignPrivateKey() - { - return $this->signPrivateKey; - } - - /** - * Set perform signing before encryption. - * - * The default is to first sign the message and then encrypt. - * But some older mail clients, namely Microsoft Outlook 2000 will work when the message first encrypted. - * As this goes against the official specs, its recommended to only use 'encryption -> signing' when specifically targeting these 'broken' clients. - * - * @param bool $signThenEncrypt - * - * @return $this - */ - public function setSignThenEncrypt($signThenEncrypt = true) - { - $this->signThenEncrypt = $signThenEncrypt; - - return $this; - } - - /** - * @return bool - */ - public function isSignThenEncrypt() - { - return $this->signThenEncrypt; - } - - /** - * Resets internal states. - * - * @return $this - */ - public function reset() - { - return $this; - } - - /** - * Specify whether to wrap the entire MIME message in the S/MIME message. - * - * According to RFC5751 section 3.1: - * In order to protect outer, non-content-related message header fields - * (for instance, the "Subject", "To", "From", and "Cc" fields), the - * sending client MAY wrap a full MIME message in a message/rfc822 - * wrapper in order to apply S/MIME security services to these header - * fields. It is up to the receiving client to decide how to present - * this "inner" header along with the unprotected "outer" header. - * - * @param bool $wrap - * - * @return $this - */ - public function setWrapFullMessage($wrap) - { - $this->wrapFullMessage = $wrap; - } - - /** - * Change the Swift_Message to apply the signing. - * - * @return $this - */ - public function signMessage(Swift_Message $message) - { - if (null === $this->signCertificate && null === $this->encryptCert) { - return $this; - } - - if ($this->signThenEncrypt) { - $this->smimeSignMessage($message); - $this->smimeEncryptMessage($message); - } else { - $this->smimeEncryptMessage($message); - $this->smimeSignMessage($message); - } - } - - /** - * Return the list of header a signer might tamper. - * - * @return array - */ - public function getAlteredHeaders() - { - return ['Content-Type', 'Content-Transfer-Encoding', 'Content-Disposition']; - } - - /** - * Sign a Swift message. - */ - protected function smimeSignMessage(Swift_Message $message) - { - // If we don't have a certificate we can't sign the message - if (null === $this->signCertificate) { - return; - } - - // Work on a clone of the original message - $signMessage = clone $message; - $signMessage->clearSigners(); - - if ($this->wrapFullMessage) { - // The original message essentially becomes the body of the new - // wrapped message - $signMessage = $this->wrapMimeMessage($signMessage); - } else { - // Only keep header needed to parse the body correctly - $this->clearAllHeaders($signMessage); - $this->copyHeaders( - $message, - $signMessage, - [ - 'Content-Type', - 'Content-Transfer-Encoding', - 'Content-Disposition', - ] - ); - } - - // Copy the cloned message into a temporary file stream - $messageStream = new Swift_ByteStream_TemporaryFileByteStream(); - $signMessage->toByteStream($messageStream); - $messageStream->commit(); - $signedMessageStream = new Swift_ByteStream_TemporaryFileByteStream(); - - // Sign the message using openssl - if (!openssl_pkcs7_sign( - $messageStream->getPath(), - $signedMessageStream->getPath(), - $this->signCertificate, - $this->signPrivateKey, - [], - $this->signOptions, - $this->extraCerts - ) - ) { - throw new Swift_IoException(sprintf('Failed to sign S/Mime message. Error: "%s".', openssl_error_string())); - } - - // Parse the resulting signed message content back into the Swift message - // preserving the original headers - $this->parseSSLOutput($signedMessageStream, $message); - } - - /** - * Encrypt a Swift message. - */ - protected function smimeEncryptMessage(Swift_Message $message) - { - // If we don't have a certificate we can't encrypt the message - if (null === $this->encryptCert) { - return; - } - - // Work on a clone of the original message - $encryptMessage = clone $message; - $encryptMessage->clearSigners(); - - if ($this->wrapFullMessage) { - // The original message essentially becomes the body of the new - // wrapped message - $encryptMessage = $this->wrapMimeMessage($encryptMessage); - } else { - // Only keep header needed to parse the body correctly - $this->clearAllHeaders($encryptMessage); - $this->copyHeaders( - $message, - $encryptMessage, - [ - 'Content-Type', - 'Content-Transfer-Encoding', - 'Content-Disposition', - ] - ); - } - - // Convert the message content (including headers) to a string - // and place it in a temporary file - $messageStream = new Swift_ByteStream_TemporaryFileByteStream(); - $encryptMessage->toByteStream($messageStream); - $messageStream->commit(); - $encryptedMessageStream = new Swift_ByteStream_TemporaryFileByteStream(); - - // Encrypt the message - if (!openssl_pkcs7_encrypt( - $messageStream->getPath(), - $encryptedMessageStream->getPath(), - $this->encryptCert, - [], - 0, - $this->encryptCipher - ) - ) { - throw new Swift_IoException(sprintf('Failed to encrypt S/Mime message. Error: "%s".', openssl_error_string())); - } - - // Parse the resulting signed message content back into the Swift message - // preserving the original headers - $this->parseSSLOutput($encryptedMessageStream, $message); - } - - /** - * Copy named headers from one Swift message to another. - */ - protected function copyHeaders( - Swift_Message $fromMessage, - Swift_Message $toMessage, - array $headers = [] - ) { - foreach ($headers as $header) { - $this->copyHeader($fromMessage, $toMessage, $header); - } - } - - /** - * Copy a single header from one Swift message to another. - * - * @param string $headerName - */ - protected function copyHeader(Swift_Message $fromMessage, Swift_Message $toMessage, $headerName) - { - $header = $fromMessage->getHeaders()->get($headerName); - if (!$header) { - return; - } - $headers = $toMessage->getHeaders(); - switch ($header->getFieldType()) { - case Swift_Mime_Header::TYPE_TEXT: - $headers->addTextHeader($header->getFieldName(), $header->getValue()); - break; - case Swift_Mime_Header::TYPE_PARAMETERIZED: - $headers->addParameterizedHeader( - $header->getFieldName(), - $header->getValue(), - $header->getParameters() - ); - break; - } - } - - /** - * Remove all headers from a Swift message. - */ - protected function clearAllHeaders(Swift_Message $message) - { - $headers = $message->getHeaders(); - foreach ($headers->listAll() as $header) { - $headers->removeAll($header); - } - } - - /** - * Wraps a Swift_Message in a message/rfc822 MIME part. - * - * @return Swift_MimePart - */ - protected function wrapMimeMessage(Swift_Message $message) - { - // Start by copying the original message into a message stream - $messageStream = new Swift_ByteStream_TemporaryFileByteStream(); - $message->toByteStream($messageStream); - $messageStream->commit(); - - // Create a new MIME part that wraps the original stream - $wrappedMessage = new Swift_MimePart($messageStream, 'message/rfc822'); - $wrappedMessage->setEncoder(new Swift_Mime_ContentEncoder_PlainContentEncoder('7bit')); - - return $wrappedMessage; - } - - protected function parseSSLOutput(Swift_InputByteStream $inputStream, Swift_Message $message) - { - $messageStream = new Swift_ByteStream_TemporaryFileByteStream(); - $this->copyFromOpenSSLOutput($inputStream, $messageStream); - - $this->streamToMime($messageStream, $message); - } - - /** - * Merges an OutputByteStream from OpenSSL to a Swift_Message. - */ - protected function streamToMime(Swift_OutputByteStream $fromStream, Swift_Message $message) - { - // Parse the stream into headers and body - list($headers, $messageStream) = $this->parseStream($fromStream); - - // Get the original message headers - $messageHeaders = $message->getHeaders(); - - // Let the stream determine the headers describing the body content, - // since the body of the original message is overwritten by the body - // coming from the stream. - // These are all content-* headers. - - // Default transfer encoding is 7bit if not set - $encoding = ''; - // Remove all existing transfer encoding headers - $messageHeaders->removeAll('Content-Transfer-Encoding'); - // See whether the stream sets the transfer encoding - if (isset($headers['content-transfer-encoding'])) { - $encoding = $headers['content-transfer-encoding']; - } - - // We use the null content encoder, since the body is already encoded - // according to the transfer encoding specified in the stream - $message->setEncoder(new Swift_Mime_ContentEncoder_NullContentEncoder($encoding)); - - // Set the disposition, if present - if (isset($headers['content-disposition'])) { - $messageHeaders->addTextHeader('Content-Disposition', $headers['content-disposition']); - } - - // Copy over the body from the stream using the content type dictated - // by the stream content - $message->setChildren([]); - $message->setBody($messageStream, $headers['content-type']); - } - - /** - * This message will parse the headers of a MIME email byte stream - * and return an array that contains the headers as an associative - * array and the email body as a string. - * - * @return array - */ - protected function parseStream(Swift_OutputByteStream $emailStream) - { - $bufferLength = 78; - $headerData = ''; - $headerBodySeparator = "\r\n\r\n"; - - $emailStream->setReadPointer(0); - - // Read out the headers section from the stream to a string - while (false !== ($buffer = $emailStream->read($bufferLength))) { - $headerData .= $buffer; - - $headersPosEnd = strpos($headerData, $headerBodySeparator); - - // Stop reading if we found the end of the headers - if (false !== $headersPosEnd) { - break; - } - } - - // Split the header data into lines - $headerData = trim(substr($headerData, 0, $headersPosEnd)); - $headerLines = explode("\r\n", $headerData); - unset($headerData); - - $headers = []; - $currentHeaderName = ''; - - // Transform header lines into an associative array - foreach ($headerLines as $headerLine) { - // Handle headers that span multiple lines - if (false === strpos($headerLine, ':')) { - $headers[$currentHeaderName] .= ' '.trim($headerLine); - continue; - } - - $header = explode(':', $headerLine, 2); - $currentHeaderName = strtolower($header[0]); - $headers[$currentHeaderName] = trim($header[1]); - } - - // Read the entire email body into a byte stream - $bodyStream = new Swift_ByteStream_TemporaryFileByteStream(); - - // Skip the header and separator and point to the body - $emailStream->setReadPointer($headersPosEnd + strlen($headerBodySeparator)); - - while (false !== ($buffer = $emailStream->read($bufferLength))) { - $bodyStream->write($buffer); - } - - $bodyStream->commit(); - - return [$headers, $bodyStream]; - } - - protected function copyFromOpenSSLOutput(Swift_OutputByteStream $fromStream, Swift_InputByteStream $toStream) - { - $bufferLength = 4096; - $filteredStream = new Swift_ByteStream_TemporaryFileByteStream(); - $filteredStream->addFilter($this->replacementFactory->createFilter("\r\n", "\n"), 'CRLF to LF'); - $filteredStream->addFilter($this->replacementFactory->createFilter("\n", "\r\n"), 'LF to CRLF'); - - while (false !== ($buffer = $fromStream->read($bufferLength))) { - $filteredStream->write($buffer); - } - - $filteredStream->flushBuffers(); - - while (false !== ($buffer = $filteredStream->read($bufferLength))) { - $toStream->write($buffer); - } - - $toStream->commit(); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/SmtpTransport.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/SmtpTransport.php deleted file mode 100644 index e241e67..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/SmtpTransport.php +++ /dev/null @@ -1,42 +0,0 @@ -createDependenciesFor('transport.smtp') - ); - - $this->setHost($host); - $this->setPort($port); - $this->setEncryption($encryption); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Spool.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Spool.php deleted file mode 100644 index 9d0e8fe..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Spool.php +++ /dev/null @@ -1,53 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Interface for spools. - * - * @author Fabien Potencier - */ -interface Swift_Spool -{ - /** - * Starts this Spool mechanism. - */ - public function start(); - - /** - * Stops this Spool mechanism. - */ - public function stop(); - - /** - * Tests if this Spool mechanism has started. - * - * @return bool - */ - public function isStarted(); - - /** - * Queues a message. - * - * @param Swift_Mime_SimpleMessage $message The message to store - * - * @return bool Whether the operation has succeeded - */ - public function queueMessage(Swift_Mime_SimpleMessage $message); - - /** - * Sends messages using the given transport instance. - * - * @param Swift_Transport $transport A transport instance - * @param string[] $failedRecipients An array of failures by-reference - * - * @return int The number of sent emails - */ - public function flushQueue(Swift_Transport $transport, &$failedRecipients = null); -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/SpoolTransport.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/SpoolTransport.php deleted file mode 100644 index 4b30f04..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/SpoolTransport.php +++ /dev/null @@ -1,33 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Stores Messages in a queue. - * - * @author Fabien Potencier - */ -class Swift_SpoolTransport extends Swift_Transport_SpoolTransport -{ - /** - * Create a new SpoolTransport. - */ - public function __construct(Swift_Spool $spool) - { - $arguments = Swift_DependencyContainer::getInstance() - ->createDependenciesFor('transport.spool'); - - $arguments[] = $spool; - - call_user_func_array( - [$this, 'Swift_Transport_SpoolTransport::__construct'], - $arguments - ); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/StreamFilter.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/StreamFilter.php deleted file mode 100644 index 362be2e..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/StreamFilter.php +++ /dev/null @@ -1,35 +0,0 @@ -index = []; - $this->tree = []; - $this->replace = []; - $this->repSize = []; - - $tree = null; - $i = null; - $last_size = $size = 0; - foreach ($search as $i => $search_element) { - if (null !== $tree) { - $tree[-1] = min(count($replace) - 1, $i - 1); - $tree[-2] = $last_size; - } - $tree = &$this->tree; - if (is_array($search_element)) { - foreach ($search_element as $k => $char) { - $this->index[$char] = true; - if (!isset($tree[$char])) { - $tree[$char] = []; - } - $tree = &$tree[$char]; - } - $last_size = $k + 1; - $size = max($size, $last_size); - } else { - $last_size = 1; - if (!isset($tree[$search_element])) { - $tree[$search_element] = []; - } - $tree = &$tree[$search_element]; - $size = max($last_size, $size); - $this->index[$search_element] = true; - } - } - if (null !== $i) { - $tree[-1] = min(count($replace) - 1, $i); - $tree[-2] = $last_size; - $this->treeMaxLen = $size; - } - foreach ($replace as $rep) { - if (!is_array($rep)) { - $rep = [$rep]; - } - $this->replace[] = $rep; - } - for ($i = count($this->replace) - 1; $i >= 0; --$i) { - $this->replace[$i] = $rep = $this->filter($this->replace[$i], $i); - $this->repSize[$i] = count($rep); - } - } - - /** - * Returns true if based on the buffer passed more bytes should be buffered. - * - * @param array $buffer - * - * @return bool - */ - public function shouldBuffer($buffer) - { - $endOfBuffer = end($buffer); - - return isset($this->index[$endOfBuffer]); - } - - /** - * Perform the actual replacements on $buffer and return the result. - * - * @param array $buffer - * @param int $minReplaces - * - * @return array - */ - public function filter($buffer, $minReplaces = -1) - { - if (0 == $this->treeMaxLen) { - return $buffer; - } - - $newBuffer = []; - $buf_size = count($buffer); - $last_size = 0; - for ($i = 0; $i < $buf_size; ++$i) { - $search_pos = $this->tree; - $last_found = PHP_INT_MAX; - // We try to find if the next byte is part of a search pattern - for ($j = 0; $j <= $this->treeMaxLen; ++$j) { - // We have a new byte for a search pattern - if (isset($buffer[$p = $i + $j]) && isset($search_pos[$buffer[$p]])) { - $search_pos = $search_pos[$buffer[$p]]; - // We have a complete pattern, save, in case we don't find a better match later - if (isset($search_pos[-1]) && $search_pos[-1] < $last_found - && $search_pos[-1] > $minReplaces) { - $last_found = $search_pos[-1]; - $last_size = $search_pos[-2]; - } - } - // We got a complete pattern - elseif (PHP_INT_MAX !== $last_found) { - // Adding replacement datas to output buffer - $rep_size = $this->repSize[$last_found]; - for ($j = 0; $j < $rep_size; ++$j) { - $newBuffer[] = $this->replace[$last_found][$j]; - } - // We Move cursor forward - $i += $last_size - 1; - // Edge Case, last position in buffer - if ($i >= $buf_size) { - $newBuffer[] = $buffer[$i]; - } - - // We start the next loop - continue 2; - } else { - // this byte is not in a pattern and we haven't found another pattern - break; - } - } - // Normal byte, move it to output buffer - $newBuffer[] = $buffer[$i]; - } - - return $newBuffer; - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/StreamFilters/StringReplacementFilter.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/StreamFilters/StringReplacementFilter.php deleted file mode 100644 index 50a63f1..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/StreamFilters/StringReplacementFilter.php +++ /dev/null @@ -1,70 +0,0 @@ -search = $search; - $this->replace = $replace; - } - - /** - * Returns true if based on the buffer passed more bytes should be buffered. - * - * @param string $buffer - * - * @return bool - */ - public function shouldBuffer($buffer) - { - if ('' === $buffer) { - return false; - } - - $endOfBuffer = substr($buffer, -1); - foreach ((array) $this->search as $needle) { - if (false !== strpos($needle, $endOfBuffer)) { - return true; - } - } - - return false; - } - - /** - * Perform the actual replacements on $buffer and return the result. - * - * @param string $buffer - * - * @return string - */ - public function filter($buffer) - { - return str_replace($this->search, $this->replace, $buffer); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/StreamFilters/StringReplacementFilterFactory.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/StreamFilters/StringReplacementFilterFactory.php deleted file mode 100644 index 783b889..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/StreamFilters/StringReplacementFilterFactory.php +++ /dev/null @@ -1,45 +0,0 @@ -filters[$search][$replace])) { - if (!isset($this->filters[$search])) { - $this->filters[$search] = []; - } - - if (!isset($this->filters[$search][$replace])) { - $this->filters[$search][$replace] = []; - } - - $this->filters[$search][$replace] = new Swift_StreamFilters_StringReplacementFilter($search, $replace); - } - - return $this->filters[$search][$replace]; - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/SwiftException.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/SwiftException.php deleted file mode 100644 index 15e68b1..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/SwiftException.php +++ /dev/null @@ -1,28 +0,0 @@ -ping()) { - * $transport->stop(); - * $transport->start(); - * } - * - * The Transport mechanism will be started, if it is not already. - * - * It is undefined if the Transport mechanism attempts to restart as long as - * the return value reflects whether the mechanism is now functional. - * - * @return bool TRUE if the transport is alive - */ - public function ping(); - - /** - * Send the given Message. - * - * Recipient/sender data will be retrieved from the Message API. - * The return value is the number of recipients who were accepted for delivery. - * - * This is the responsibility of the send method to start the transport if needed. - * - * @param Swift_Mime_SimpleMessage $message - * @param string[] $failedRecipients An array of failures by-reference - * - * @return int - */ - public function send(Swift_Mime_SimpleMessage $message, &$failedRecipients = null); - - /** - * Register a plugin in the Transport. - * - * @param Swift_Events_EventListener $plugin - */ - public function registerPlugin(Swift_Events_EventListener $plugin); -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/AbstractSmtpTransport.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/AbstractSmtpTransport.php deleted file mode 100644 index 18c8d9b..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/AbstractSmtpTransport.php +++ /dev/null @@ -1,543 +0,0 @@ -buffer = $buf; - $this->eventDispatcher = $dispatcher; - $this->addressEncoder = $addressEncoder ?? new Swift_AddressEncoder_IdnAddressEncoder(); - $this->setLocalDomain($localDomain); - } - - /** - * Set the name of the local domain which Swift will identify itself as. - * - * This should be a fully-qualified domain name and should be truly the domain - * you're using. - * - * If your server does not have a domain name, use the IP address. This will - * automatically be wrapped in square brackets as described in RFC 5321, - * section 4.1.3. - * - * @param string $domain - * - * @return $this - */ - public function setLocalDomain($domain) - { - if ('[' !== substr($domain, 0, 1)) { - if (filter_var($domain, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4)) { - $domain = '['.$domain.']'; - } elseif (filter_var($domain, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6)) { - $domain = '[IPv6:'.$domain.']'; - } - } - - $this->domain = $domain; - - return $this; - } - - /** - * Get the name of the domain Swift will identify as. - * - * If an IP address was specified, this will be returned wrapped in square - * brackets as described in RFC 5321, section 4.1.3. - * - * @return string - */ - public function getLocalDomain() - { - return $this->domain; - } - - /** - * Sets the source IP. - * - * @param string $source - */ - public function setSourceIp($source) - { - $this->sourceIp = $source; - } - - /** - * Returns the IP used to connect to the destination. - * - * @return string - */ - public function getSourceIp() - { - return $this->sourceIp; - } - - public function setAddressEncoder(Swift_AddressEncoder $addressEncoder) - { - $this->addressEncoder = $addressEncoder; - } - - public function getAddressEncoder() - { - return $this->addressEncoder; - } - - /** - * Start the SMTP connection. - */ - public function start() - { - if (!$this->started) { - if ($evt = $this->eventDispatcher->createTransportChangeEvent($this)) { - $this->eventDispatcher->dispatchEvent($evt, 'beforeTransportStarted'); - if ($evt->bubbleCancelled()) { - return; - } - } - - try { - $this->buffer->initialize($this->getBufferParams()); - } catch (Swift_TransportException $e) { - $this->throwException($e); - } - $this->readGreeting(); - $this->doHeloCommand(); - - if ($evt) { - $this->eventDispatcher->dispatchEvent($evt, 'transportStarted'); - } - - $this->started = true; - } - } - - /** - * Test if an SMTP connection has been established. - * - * @return bool - */ - public function isStarted() - { - return $this->started; - } - - /** - * Send the given Message. - * - * Recipient/sender data will be retrieved from the Message API. - * The return value is the number of recipients who were accepted for delivery. - * - * @param string[] $failedRecipients An array of failures by-reference - * - * @return int - */ - public function send(Swift_Mime_SimpleMessage $message, &$failedRecipients = null) - { - if (!$this->isStarted()) { - $this->start(); - } - - $sent = 0; - $failedRecipients = (array) $failedRecipients; - - if ($evt = $this->eventDispatcher->createSendEvent($this, $message)) { - $this->eventDispatcher->dispatchEvent($evt, 'beforeSendPerformed'); - if ($evt->bubbleCancelled()) { - return 0; - } - } - - if (!$reversePath = $this->getReversePath($message)) { - $this->throwException(new Swift_TransportException('Cannot send message without a sender address')); - } - - $to = (array) $message->getTo(); - $cc = (array) $message->getCc(); - $tos = array_merge($to, $cc); - $bcc = (array) $message->getBcc(); - - $message->setBcc([]); - - try { - $sent += $this->sendTo($message, $reversePath, $tos, $failedRecipients); - $sent += $this->sendBcc($message, $reversePath, $bcc, $failedRecipients); - } finally { - $message->setBcc($bcc); - } - - if ($evt) { - if ($sent == count($to) + count($cc) + count($bcc)) { - $evt->setResult(Swift_Events_SendEvent::RESULT_SUCCESS); - } elseif ($sent > 0) { - $evt->setResult(Swift_Events_SendEvent::RESULT_TENTATIVE); - } else { - $evt->setResult(Swift_Events_SendEvent::RESULT_FAILED); - } - $evt->setFailedRecipients($failedRecipients); - $this->eventDispatcher->dispatchEvent($evt, 'sendPerformed'); - } - - $message->generateId(); //Make sure a new Message ID is used - - return $sent; - } - - /** - * Stop the SMTP connection. - */ - public function stop() - { - if ($this->started) { - if ($evt = $this->eventDispatcher->createTransportChangeEvent($this)) { - $this->eventDispatcher->dispatchEvent($evt, 'beforeTransportStopped'); - if ($evt->bubbleCancelled()) { - return; - } - } - - try { - $this->executeCommand("QUIT\r\n", [221]); - } catch (Swift_TransportException $e) { - } - - try { - $this->buffer->terminate(); - - if ($evt) { - $this->eventDispatcher->dispatchEvent($evt, 'transportStopped'); - } - } catch (Swift_TransportException $e) { - $this->throwException($e); - } - } - $this->started = false; - } - - /** - * {@inheritdoc} - */ - public function ping() - { - try { - if (!$this->isStarted()) { - $this->start(); - } - - $this->executeCommand("NOOP\r\n", [250]); - } catch (Swift_TransportException $e) { - try { - $this->stop(); - } catch (Swift_TransportException $e) { - } - - return false; - } - - return true; - } - - /** - * Register a plugin. - */ - public function registerPlugin(Swift_Events_EventListener $plugin) - { - $this->eventDispatcher->bindEventListener($plugin); - } - - /** - * Reset the current mail transaction. - */ - public function reset() - { - $this->executeCommand("RSET\r\n", [250], $failures, true); - } - - /** - * Get the IoBuffer where read/writes are occurring. - * - * @return Swift_Transport_IoBuffer - */ - public function getBuffer() - { - return $this->buffer; - } - - /** - * Run a command against the buffer, expecting the given response codes. - * - * If no response codes are given, the response will not be validated. - * If codes are given, an exception will be thrown on an invalid response. - * If the command is RCPT TO, and the pipeline is non-empty, no exception - * will be thrown; instead the failing address is added to $failures. - * - * @param string $command - * @param int[] $codes - * @param string[] $failures An array of failures by-reference - * @param bool $pipeline Do not wait for response - * @param string $address The address, if command is RCPT TO. - * - * @return string|null The server response, or null if pipelining is enabled - */ - public function executeCommand($command, $codes = [], &$failures = null, $pipeline = false, $address = null) - { - $failures = (array) $failures; - $seq = $this->buffer->write($command); - if ($evt = $this->eventDispatcher->createCommandEvent($this, $command, $codes)) { - $this->eventDispatcher->dispatchEvent($evt, 'commandSent'); - } - - $this->pipeline[] = [$command, $seq, $codes, $address]; - if ($pipeline && $this->pipelining) { - $response = null; - } else { - while ($this->pipeline) { - list($command, $seq, $codes, $address) = array_shift($this->pipeline); - $response = $this->getFullResponse($seq); - try { - $this->assertResponseCode($response, $codes); - } catch (Swift_TransportException $e) { - if ($this->pipeline && $address) { - $failures[] = $address; - } else { - $this->throwException($e); - } - } - } - } - - return $response; - } - - /** Read the opening SMTP greeting */ - protected function readGreeting() - { - $this->assertResponseCode($this->getFullResponse(0), [220]); - } - - /** Send the HELO welcome */ - protected function doHeloCommand() - { - $this->executeCommand( - sprintf("HELO %s\r\n", $this->domain), [250] - ); - } - - /** Send the MAIL FROM command */ - protected function doMailFromCommand($address) - { - $address = $this->addressEncoder->encodeString($address); - $this->executeCommand( - sprintf("MAIL FROM:<%s>\r\n", $address), [250], $failures, true - ); - } - - /** Send the RCPT TO command */ - protected function doRcptToCommand($address) - { - $address = $this->addressEncoder->encodeString($address); - $this->executeCommand( - sprintf("RCPT TO:<%s>\r\n", $address), [250, 251, 252], $failures, true, $address - ); - } - - /** Send the DATA command */ - protected function doDataCommand(&$failedRecipients) - { - $this->executeCommand("DATA\r\n", [354], $failedRecipients); - } - - /** Stream the contents of the message over the buffer */ - protected function streamMessage(Swift_Mime_SimpleMessage $message) - { - $this->buffer->setWriteTranslations(["\r\n." => "\r\n.."]); - try { - $message->toByteStream($this->buffer); - $this->buffer->flushBuffers(); - } catch (Swift_TransportException $e) { - $this->throwException($e); - } - $this->buffer->setWriteTranslations([]); - $this->executeCommand("\r\n.\r\n", [250]); - } - - /** Determine the best-use reverse path for this message */ - protected function getReversePath(Swift_Mime_SimpleMessage $message) - { - $return = $message->getReturnPath(); - $sender = $message->getSender(); - $from = $message->getFrom(); - $path = null; - if (!empty($return)) { - $path = $return; - } elseif (!empty($sender)) { - // Don't use array_keys - reset($sender); // Reset Pointer to first pos - $path = key($sender); // Get key - } elseif (!empty($from)) { - reset($from); // Reset Pointer to first pos - $path = key($from); // Get key - } - - return $path; - } - - /** Throw a TransportException, first sending it to any listeners */ - protected function throwException(Swift_TransportException $e) - { - if ($evt = $this->eventDispatcher->createTransportExceptionEvent($this, $e)) { - $this->eventDispatcher->dispatchEvent($evt, 'exceptionThrown'); - if (!$evt->bubbleCancelled()) { - throw $e; - } - } else { - throw $e; - } - } - - /** Throws an Exception if a response code is incorrect */ - protected function assertResponseCode($response, $wanted) - { - if (!$response) { - $this->throwException(new Swift_TransportException('Expected response code '.implode('/', $wanted).' but got an empty response')); - } - - list($code) = sscanf($response, '%3d'); - $valid = (empty($wanted) || in_array($code, $wanted)); - - if ($evt = $this->eventDispatcher->createResponseEvent($this, $response, - $valid)) { - $this->eventDispatcher->dispatchEvent($evt, 'responseReceived'); - } - - if (!$valid) { - $this->throwException(new Swift_TransportException('Expected response code '.implode('/', $wanted).' but got code "'.$code.'", with message "'.$response.'"', $code)); - } - } - - /** Get an entire multi-line response using its sequence number */ - protected function getFullResponse($seq) - { - $response = ''; - try { - do { - $line = $this->buffer->readLine($seq); - $response .= $line; - } while (null !== $line && false !== $line && ' ' != $line[3]); - } catch (Swift_TransportException $e) { - $this->throwException($e); - } catch (Swift_IoException $e) { - $this->throwException(new Swift_TransportException($e->getMessage(), 0, $e)); - } - - return $response; - } - - /** Send an email to the given recipients from the given reverse path */ - private function doMailTransaction($message, $reversePath, array $recipients, array &$failedRecipients) - { - $sent = 0; - $this->doMailFromCommand($reversePath); - foreach ($recipients as $forwardPath) { - try { - $this->doRcptToCommand($forwardPath); - ++$sent; - } catch (Swift_TransportException $e) { - $failedRecipients[] = $forwardPath; - } catch (Swift_AddressEncoderException $e) { - $failedRecipients[] = $forwardPath; - } - } - - if (0 != $sent) { - $sent += count($failedRecipients); - $this->doDataCommand($failedRecipients); - $sent -= count($failedRecipients); - - $this->streamMessage($message); - } else { - $this->reset(); - } - - return $sent; - } - - /** Send a message to the given To: recipients */ - private function sendTo(Swift_Mime_SimpleMessage $message, $reversePath, array $to, array &$failedRecipients) - { - if (empty($to)) { - return 0; - } - - return $this->doMailTransaction($message, $reversePath, array_keys($to), - $failedRecipients); - } - - /** Send a message to all Bcc: recipients */ - private function sendBcc(Swift_Mime_SimpleMessage $message, $reversePath, array $bcc, array &$failedRecipients) - { - $sent = 0; - foreach ($bcc as $forwardPath => $name) { - $message->setBcc([$forwardPath => $name]); - $sent += $this->doMailTransaction( - $message, $reversePath, [$forwardPath], $failedRecipients - ); - } - - return $sent; - } - - /** - * Destructor. - */ - public function __destruct() - { - try { - $this->stop(); - } catch (Exception $e) { - } - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/Esmtp/Auth/CramMd5Authenticator.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/Esmtp/Auth/CramMd5Authenticator.php deleted file mode 100644 index 51dc7f5..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/Esmtp/Auth/CramMd5Authenticator.php +++ /dev/null @@ -1,75 +0,0 @@ -executeCommand("AUTH CRAM-MD5\r\n", [334]); - $challenge = base64_decode(substr($challenge, 4)); - $message = base64_encode( - $username.' '.$this->getResponse($password, $challenge) - ); - $agent->executeCommand(sprintf("%s\r\n", $message), [235]); - - return true; - } catch (Swift_TransportException $e) { - $agent->executeCommand("RSET\r\n", [250]); - - throw $e; - } - } - - /** - * Generate a CRAM-MD5 response from a server challenge. - * - * @param string $secret - * @param string $challenge - * - * @return string - */ - private function getResponse($secret, $challenge) - { - if (strlen($secret) > 64) { - $secret = pack('H32', md5($secret)); - } - - if (strlen($secret) < 64) { - $secret = str_pad($secret, 64, chr(0)); - } - - $k_ipad = substr($secret, 0, 64) ^ str_repeat(chr(0x36), 64); - $k_opad = substr($secret, 0, 64) ^ str_repeat(chr(0x5C), 64); - - $inner = pack('H32', md5($k_ipad.$challenge)); - $digest = md5($k_opad.$inner); - - return $digest; - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/Esmtp/Auth/LoginAuthenticator.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/Esmtp/Auth/LoginAuthenticator.php deleted file mode 100644 index 458c038..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/Esmtp/Auth/LoginAuthenticator.php +++ /dev/null @@ -1,45 +0,0 @@ -executeCommand("AUTH LOGIN\r\n", [334]); - $agent->executeCommand(sprintf("%s\r\n", base64_encode($username)), [334]); - $agent->executeCommand(sprintf("%s\r\n", base64_encode($password)), [235]); - - return true; - } catch (Swift_TransportException $e) { - $agent->executeCommand("RSET\r\n", [250]); - - throw $e; - } - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/Esmtp/Auth/NTLMAuthenticator.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/Esmtp/Auth/NTLMAuthenticator.php deleted file mode 100644 index 90081f8..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/Esmtp/Auth/NTLMAuthenticator.php +++ /dev/null @@ -1,681 +0,0 @@ - - */ -class Swift_Transport_Esmtp_Auth_NTLMAuthenticator implements Swift_Transport_Esmtp_Authenticator -{ - const NTLMSIG = "NTLMSSP\x00"; - const DESCONST = 'KGS!@#$%'; - - /** - * Get the name of the AUTH mechanism this Authenticator handles. - * - * @return string - */ - public function getAuthKeyword() - { - return 'NTLM'; - } - - /** - * {@inheritdoc} - * - * @throws \LogicException - */ - public function authenticate(Swift_Transport_SmtpAgent $agent, $username, $password) - { - if (!function_exists('openssl_encrypt')) { - throw new LogicException('The OpenSSL extension must be enabled to use the NTLM authenticator.'); - } - - if (!function_exists('bcmul')) { - throw new LogicException('The BCMath functions must be enabled to use the NTLM authenticator.'); - } - - try { - // execute AUTH command and filter out the code at the beginning - // AUTH NTLM xxxx - $response = base64_decode(substr(trim($this->sendMessage1($agent)), 4)); - - // extra parameters for our unit cases - $timestamp = func_num_args() > 3 ? func_get_arg(3) : $this->getCorrectTimestamp(bcmul(microtime(true), '1000')); - $client = func_num_args() > 4 ? func_get_arg(4) : random_bytes(8); - - // Message 3 response - $this->sendMessage3($response, $username, $password, $timestamp, $client, $agent); - - return true; - } catch (Swift_TransportException $e) { - $agent->executeCommand("RSET\r\n", [250]); - - throw $e; - } - } - - protected function si2bin($si, $bits = 32) - { - $bin = null; - if ($si >= -pow(2, $bits - 1) && ($si <= pow(2, $bits - 1))) { - // positive or zero - if ($si >= 0) { - $bin = base_convert($si, 10, 2); - // pad to $bits bit - $bin_length = strlen($bin); - if ($bin_length < $bits) { - $bin = str_repeat('0', $bits - $bin_length).$bin; - } - } else { - // negative - $si = -$si - pow(2, $bits); - $bin = base_convert($si, 10, 2); - $bin_length = strlen($bin); - if ($bin_length > $bits) { - $bin = str_repeat('1', $bits - $bin_length).$bin; - } - } - } - - return $bin; - } - - /** - * Send our auth message and returns the response. - * - * @return string SMTP Response - */ - protected function sendMessage1(Swift_Transport_SmtpAgent $agent) - { - $message = $this->createMessage1(); - - return $agent->executeCommand(sprintf("AUTH %s %s\r\n", $this->getAuthKeyword(), base64_encode($message)), [334]); - } - - /** - * Fetch all details of our response (message 2). - * - * @param string $response - * - * @return array our response parsed - */ - protected function parseMessage2($response) - { - $responseHex = bin2hex($response); - $length = floor(hexdec(substr($responseHex, 28, 4)) / 256) * 2; - $offset = floor(hexdec(substr($responseHex, 32, 4)) / 256) * 2; - $challenge = hex2bin(substr($responseHex, 48, 16)); - $context = hex2bin(substr($responseHex, 64, 16)); - $targetInfoH = hex2bin(substr($responseHex, 80, 16)); - $targetName = hex2bin(substr($responseHex, $offset, $length)); - $offset = floor(hexdec(substr($responseHex, 88, 4)) / 256) * 2; - $targetInfoBlock = substr($responseHex, $offset); - list($domainName, $serverName, $DNSDomainName, $DNSServerName, $terminatorByte) = $this->readSubBlock($targetInfoBlock); - - return [ - $challenge, - $context, - $targetInfoH, - $targetName, - $domainName, - $serverName, - $DNSDomainName, - $DNSServerName, - hex2bin($targetInfoBlock), - $terminatorByte, - ]; - } - - /** - * Read the blob information in from message2. - * - * @return array - */ - protected function readSubBlock($block) - { - // remove terminatorByte cause it's always the same - $block = substr($block, 0, -8); - - $length = strlen($block); - $offset = 0; - $data = []; - while ($offset < $length) { - $blockLength = hexdec(substr(substr($block, $offset, 8), -4)) / 256; - $offset += 8; - $data[] = hex2bin(substr($block, $offset, $blockLength * 2)); - $offset += $blockLength * 2; - } - - if (3 == count($data)) { - $data[] = $data[2]; - $data[2] = ''; - } - - $data[] = $this->createByte('00'); - - return $data; - } - - /** - * Send our final message with all our data. - * - * @param string $response Message 1 response (message 2) - * @param string $username - * @param string $password - * @param string $timestamp - * @param string $client - * @param bool $v2 Use version2 of the protocol - * - * @return string - */ - protected function sendMessage3($response, $username, $password, $timestamp, $client, Swift_Transport_SmtpAgent $agent, $v2 = true) - { - list($domain, $username) = $this->getDomainAndUsername($username); - //$challenge, $context, $targetInfoH, $targetName, $domainName, $workstation, $DNSDomainName, $DNSServerName, $blob, $ter - list($challenge, , , , , $workstation, , , $blob) = $this->parseMessage2($response); - - if (!$v2) { - // LMv1 - $lmResponse = $this->createLMPassword($password, $challenge); - // NTLMv1 - $ntlmResponse = $this->createNTLMPassword($password, $challenge); - } else { - // LMv2 - $lmResponse = $this->createLMv2Password($password, $username, $domain, $challenge, $client); - // NTLMv2 - $ntlmResponse = $this->createNTLMv2Hash($password, $username, $domain, $challenge, $blob, $timestamp, $client); - } - - $message = $this->createMessage3($domain, $username, $workstation, $lmResponse, $ntlmResponse); - - return $agent->executeCommand(sprintf("%s\r\n", base64_encode($message)), [235]); - } - - /** - * Create our message 1. - * - * @return string - */ - protected function createMessage1() - { - return self::NTLMSIG - .$this->createByte('01') // Message 1 -.$this->createByte('0702'); // Flags - } - - /** - * Create our message 3. - * - * @param string $domain - * @param string $username - * @param string $workstation - * @param string $lmResponse - * @param string $ntlmResponse - * - * @return string - */ - protected function createMessage3($domain, $username, $workstation, $lmResponse, $ntlmResponse) - { - // Create security buffers - $domainSec = $this->createSecurityBuffer($domain, 64); - $domainInfo = $this->readSecurityBuffer(bin2hex($domainSec)); - $userSec = $this->createSecurityBuffer($username, ($domainInfo[0] + $domainInfo[1]) / 2); - $userInfo = $this->readSecurityBuffer(bin2hex($userSec)); - $workSec = $this->createSecurityBuffer($workstation, ($userInfo[0] + $userInfo[1]) / 2); - $workInfo = $this->readSecurityBuffer(bin2hex($workSec)); - $lmSec = $this->createSecurityBuffer($lmResponse, ($workInfo[0] + $workInfo[1]) / 2, true); - $lmInfo = $this->readSecurityBuffer(bin2hex($lmSec)); - $ntlmSec = $this->createSecurityBuffer($ntlmResponse, ($lmInfo[0] + $lmInfo[1]) / 2, true); - - return self::NTLMSIG - .$this->createByte('03') // TYPE 3 message -.$lmSec // LM response header -.$ntlmSec // NTLM response header -.$domainSec // Domain header -.$userSec // User header -.$workSec // Workstation header -.$this->createByte('000000009a', 8) // session key header (empty) -.$this->createByte('01020000') // FLAGS -.$this->convertTo16bit($domain) // domain name -.$this->convertTo16bit($username) // username -.$this->convertTo16bit($workstation) // workstation -.$lmResponse - .$ntlmResponse; - } - - /** - * @param string $timestamp Epoch timestamp in microseconds - * @param string $client Random bytes - * @param string $targetInfo - * - * @return string - */ - protected function createBlob($timestamp, $client, $targetInfo) - { - return $this->createByte('0101') - .$this->createByte('00') - .$timestamp - .$client - .$this->createByte('00') - .$targetInfo - .$this->createByte('00'); - } - - /** - * Get domain and username from our username. - * - * @example DOMAIN\username - * - * @param string $name - * - * @return array - */ - protected function getDomainAndUsername($name) - { - if (false !== strpos($name, '\\')) { - return explode('\\', $name); - } - - if (false !== strpos($name, '@')) { - list($user, $domain) = explode('@', $name); - - return [$domain, $user]; - } - - // no domain passed - return ['', $name]; - } - - /** - * Create LMv1 response. - * - * @param string $password - * @param string $challenge - * - * @return string - */ - protected function createLMPassword($password, $challenge) - { - // FIRST PART - $password = $this->createByte(strtoupper($password), 14, false); - list($key1, $key2) = str_split($password, 7); - - $desKey1 = $this->createDesKey($key1); - $desKey2 = $this->createDesKey($key2); - - $constantDecrypt = $this->createByte($this->desEncrypt(self::DESCONST, $desKey1).$this->desEncrypt(self::DESCONST, $desKey2), 21, false); - - // SECOND PART - list($key1, $key2, $key3) = str_split($constantDecrypt, 7); - - $desKey1 = $this->createDesKey($key1); - $desKey2 = $this->createDesKey($key2); - $desKey3 = $this->createDesKey($key3); - - return $this->desEncrypt($challenge, $desKey1).$this->desEncrypt($challenge, $desKey2).$this->desEncrypt($challenge, $desKey3); - } - - /** - * Create NTLMv1 response. - * - * @param string $password - * @param string $challenge - * - * @return string - */ - protected function createNTLMPassword($password, $challenge) - { - // FIRST PART - $ntlmHash = $this->createByte($this->md4Encrypt($password), 21, false); - list($key1, $key2, $key3) = str_split($ntlmHash, 7); - - $desKey1 = $this->createDesKey($key1); - $desKey2 = $this->createDesKey($key2); - $desKey3 = $this->createDesKey($key3); - - return $this->desEncrypt($challenge, $desKey1).$this->desEncrypt($challenge, $desKey2).$this->desEncrypt($challenge, $desKey3); - } - - /** - * Convert a normal timestamp to a tenth of a microtime epoch time. - * - * @param string $time - * - * @return string - */ - protected function getCorrectTimestamp($time) - { - // Get our timestamp (tricky!) - $time = number_format($time, 0, '.', ''); // save microtime to string - $time = bcadd($time, '11644473600000', 0); // add epoch time - $time = bcmul($time, 10000, 0); // tenths of a microsecond. - - $binary = $this->si2bin($time, 64); // create 64 bit binary string - $timestamp = ''; - for ($i = 0; $i < 8; ++$i) { - $timestamp .= chr(bindec(substr($binary, -(($i + 1) * 8), 8))); - } - - return $timestamp; - } - - /** - * Create LMv2 response. - * - * @param string $password - * @param string $username - * @param string $domain - * @param string $challenge NTLM Challenge - * @param string $client Random string - * - * @return string - */ - protected function createLMv2Password($password, $username, $domain, $challenge, $client) - { - $lmPass = '00'; // by default 00 - // if $password > 15 than we can't use this method - if (strlen($password) <= 15) { - $ntlmHash = $this->md4Encrypt($password); - $ntml2Hash = $this->md5Encrypt($ntlmHash, $this->convertTo16bit(strtoupper($username).$domain)); - - $lmPass = bin2hex($this->md5Encrypt($ntml2Hash, $challenge.$client).$client); - } - - return $this->createByte($lmPass, 24); - } - - /** - * Create NTLMv2 response. - * - * @param string $password - * @param string $username - * @param string $domain - * @param string $challenge Hex values - * @param string $targetInfo Hex values - * @param string $timestamp - * @param string $client Random bytes - * - * @return string - * - * @see http://davenport.sourceforge.net/ntlm.html#theNtlmResponse - */ - protected function createNTLMv2Hash($password, $username, $domain, $challenge, $targetInfo, $timestamp, $client) - { - $ntlmHash = $this->md4Encrypt($password); - $ntml2Hash = $this->md5Encrypt($ntlmHash, $this->convertTo16bit(strtoupper($username).$domain)); - - // create blob - $blob = $this->createBlob($timestamp, $client, $targetInfo); - - $ntlmv2Response = $this->md5Encrypt($ntml2Hash, $challenge.$blob); - - return $ntlmv2Response.$blob; - } - - protected function createDesKey($key) - { - $material = [bin2hex($key[0])]; - $len = strlen($key); - for ($i = 1; $i < $len; ++$i) { - list($high, $low) = str_split(bin2hex($key[$i])); - $v = $this->castToByte(ord($key[$i - 1]) << (7 + 1 - $i) | $this->uRShift(hexdec(dechex(hexdec($high) & 0xf).dechex(hexdec($low) & 0xf)), $i)); - $material[] = str_pad(substr(dechex($v), -2), 2, '0', STR_PAD_LEFT); // cast to byte - } - $material[] = str_pad(substr(dechex($this->castToByte(ord($key[6]) << 1)), -2), 2, '0'); - - // odd parity - foreach ($material as $k => $v) { - $b = $this->castToByte(hexdec($v)); - $needsParity = 0 == (($this->uRShift($b, 7) ^ $this->uRShift($b, 6) ^ $this->uRShift($b, 5) - ^ $this->uRShift($b, 4) ^ $this->uRShift($b, 3) ^ $this->uRShift($b, 2) - ^ $this->uRShift($b, 1)) & 0x01); - - list($high, $low) = str_split($v); - if ($needsParity) { - $material[$k] = dechex(hexdec($high) | 0x0).dechex(hexdec($low) | 0x1); - } else { - $material[$k] = dechex(hexdec($high) & 0xf).dechex(hexdec($low) & 0xe); - } - } - - return hex2bin(implode('', $material)); - } - - /** HELPER FUNCTIONS */ - - /** - * Create our security buffer depending on length and offset. - * - * @param string $value Value we want to put in - * @param int $offset start of value - * @param bool $is16 Do we 16bit string or not? - * - * @return string - */ - protected function createSecurityBuffer($value, $offset, $is16 = false) - { - $length = strlen(bin2hex($value)); - $length = $is16 ? $length / 2 : $length; - $length = $this->createByte(str_pad(dechex($length), 2, '0', STR_PAD_LEFT), 2); - - return $length.$length.$this->createByte(dechex($offset), 4); - } - - /** - * Read our security buffer to fetch length and offset of our value. - * - * @param string $value Securitybuffer in hex - * - * @return array array with length and offset - */ - protected function readSecurityBuffer($value) - { - $length = floor(hexdec(substr($value, 0, 4)) / 256) * 2; - $offset = floor(hexdec(substr($value, 8, 4)) / 256) * 2; - - return [$length, $offset]; - } - - /** - * Cast to byte java equivalent to (byte). - * - * @param int $v - * - * @return int - */ - protected function castToByte($v) - { - return (($v + 128) % 256) - 128; - } - - /** - * Java unsigned right bitwise - * $a >>> $b. - * - * @param int $a - * @param int $b - * - * @return int - */ - protected function uRShift($a, $b) - { - if (0 == $b) { - return $a; - } - - return ($a >> $b) & ~(1 << (8 * PHP_INT_SIZE - 1) >> ($b - 1)); - } - - /** - * Right padding with 0 to certain length. - * - * @param string $input - * @param int $bytes Length of bytes - * @param bool $isHex Did we provided hex value - * - * @return string - */ - protected function createByte($input, $bytes = 4, $isHex = true) - { - if ($isHex) { - $byte = hex2bin(str_pad($input, $bytes * 2, '00')); - } else { - $byte = str_pad($input, $bytes, "\x00"); - } - - return $byte; - } - - /** ENCRYPTION ALGORITHMS */ - - /** - * DES Encryption. - * - * @param string $value An 8-byte string - * @param string $key - * - * @return string - */ - protected function desEncrypt($value, $key) - { - return substr(openssl_encrypt($value, 'DES-ECB', $key, \OPENSSL_RAW_DATA), 0, 8); - } - - /** - * MD5 Encryption. - * - * @param string $key Encryption key - * @param string $msg Message to encrypt - * - * @return string - */ - protected function md5Encrypt($key, $msg) - { - $blocksize = 64; - if (strlen($key) > $blocksize) { - $key = pack('H*', md5($key)); - } - - $key = str_pad($key, $blocksize, "\0"); - $ipadk = $key ^ str_repeat("\x36", $blocksize); - $opadk = $key ^ str_repeat("\x5c", $blocksize); - - return pack('H*', md5($opadk.pack('H*', md5($ipadk.$msg)))); - } - - /** - * MD4 Encryption. - * - * @param string $input - * - * @return string - * - * @see https://secure.php.net/manual/en/ref.hash.php - */ - protected function md4Encrypt($input) - { - $input = $this->convertTo16bit($input); - - return function_exists('hash') ? hex2bin(hash('md4', $input)) : mhash(MHASH_MD4, $input); - } - - /** - * Convert UTF-8 to UTF-16. - * - * @param string $input - * - * @return string - */ - protected function convertTo16bit($input) - { - return iconv('UTF-8', 'UTF-16LE', $input); - } - - /** - * @param string $message - */ - protected function debug($message) - { - $message = bin2hex($message); - $messageId = substr($message, 16, 8); - echo substr($message, 0, 16)." NTLMSSP Signature
    \n"; - echo $messageId." Type Indicator
    \n"; - - if ('02000000' == $messageId) { - $map = [ - 'Challenge', - 'Context', - 'Target Information Security Buffer', - 'Target Name Data', - 'NetBIOS Domain Name', - 'NetBIOS Server Name', - 'DNS Domain Name', - 'DNS Server Name', - 'BLOB', - 'Target Information Terminator', - ]; - - $data = $this->parseMessage2(hex2bin($message)); - - foreach ($map as $key => $value) { - echo bin2hex($data[$key]).' - '.$data[$key].' ||| '.$value."
    \n"; - } - } elseif ('03000000' == $messageId) { - $i = 0; - $data[$i++] = substr($message, 24, 16); - list($lmLength, $lmOffset) = $this->readSecurityBuffer($data[$i - 1]); - - $data[$i++] = substr($message, 40, 16); - list($ntmlLength, $ntmlOffset) = $this->readSecurityBuffer($data[$i - 1]); - - $data[$i++] = substr($message, 56, 16); - list($targetLength, $targetOffset) = $this->readSecurityBuffer($data[$i - 1]); - - $data[$i++] = substr($message, 72, 16); - list($userLength, $userOffset) = $this->readSecurityBuffer($data[$i - 1]); - - $data[$i++] = substr($message, 88, 16); - list($workLength, $workOffset) = $this->readSecurityBuffer($data[$i - 1]); - - $data[$i++] = substr($message, 104, 16); - $data[$i++] = substr($message, 120, 8); - $data[$i++] = substr($message, $targetOffset, $targetLength); - $data[$i++] = substr($message, $userOffset, $userLength); - $data[$i++] = substr($message, $workOffset, $workLength); - $data[$i++] = substr($message, $lmOffset, $lmLength); - $data[$i] = substr($message, $ntmlOffset, $ntmlLength); - - $map = [ - 'LM Response Security Buffer', - 'NTLM Response Security Buffer', - 'Target Name Security Buffer', - 'User Name Security Buffer', - 'Workstation Name Security Buffer', - 'Session Key Security Buffer', - 'Flags', - 'Target Name Data', - 'User Name Data', - 'Workstation Name Data', - 'LM Response Data', - 'NTLM Response Data', - ]; - - foreach ($map as $key => $value) { - echo $data[$key].' - '.hex2bin($data[$key]).' ||| '.$value."
    \n"; - } - } - - echo '

    '; - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/Esmtp/Auth/PlainAuthenticator.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/Esmtp/Auth/PlainAuthenticator.php deleted file mode 100644 index 1ff961c..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/Esmtp/Auth/PlainAuthenticator.php +++ /dev/null @@ -1,44 +0,0 @@ -executeCommand(sprintf("AUTH PLAIN %s\r\n", $message), [235]); - - return true; - } catch (Swift_TransportException $e) { - $agent->executeCommand("RSET\r\n", [250]); - - throw $e; - } - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/Esmtp/Auth/XOAuth2Authenticator.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/Esmtp/Auth/XOAuth2Authenticator.php deleted file mode 100644 index 859f22f..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/Esmtp/Auth/XOAuth2Authenticator.php +++ /dev/null @@ -1,64 +0,0 @@ - - * $transport = (new Swift_SmtpTransport('smtp.gmail.com', 587, 'tls')) - * ->setAuthMode('XOAUTH2') - * ->setUsername('YOUR_EMAIL_ADDRESS') - * ->setPassword('YOUR_ACCESS_TOKEN'); - * - * - * @author xu.li - * - * @see https://developers.google.com/google-apps/gmail/xoauth2_protocol - */ -class Swift_Transport_Esmtp_Auth_XOAuth2Authenticator implements Swift_Transport_Esmtp_Authenticator -{ - /** - * Get the name of the AUTH mechanism this Authenticator handles. - * - * @return string - */ - public function getAuthKeyword() - { - return 'XOAUTH2'; - } - - /** - * {@inheritdoc} - */ - public function authenticate(Swift_Transport_SmtpAgent $agent, $email, $token) - { - try { - $param = $this->constructXOAuth2Params($email, $token); - $agent->executeCommand('AUTH XOAUTH2 '.$param."\r\n", [235]); - - return true; - } catch (Swift_TransportException $e) { - $agent->executeCommand("RSET\r\n", [250]); - - throw $e; - } - } - - /** - * Construct the auth parameter. - * - * @see https://developers.google.com/google-apps/gmail/xoauth2_protocol#the_sasl_xoauth2_mechanism - */ - protected function constructXOAuth2Params($email, $token) - { - return base64_encode("user=$email\1auth=Bearer $token\1\1"); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/Esmtp/AuthHandler.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/Esmtp/AuthHandler.php deleted file mode 100644 index 3733420..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/Esmtp/AuthHandler.php +++ /dev/null @@ -1,268 +0,0 @@ -setAuthenticators($authenticators); - } - - /** - * Set the Authenticators which can process a login request. - * - * @param Swift_Transport_Esmtp_Authenticator[] $authenticators - */ - public function setAuthenticators(array $authenticators) - { - $this->authenticators = $authenticators; - } - - /** - * Get the Authenticators which can process a login request. - * - * @return Swift_Transport_Esmtp_Authenticator[] - */ - public function getAuthenticators() - { - return $this->authenticators; - } - - /** - * Set the username to authenticate with. - * - * @param string $username - */ - public function setUsername($username) - { - $this->username = $username; - } - - /** - * Get the username to authenticate with. - * - * @return string - */ - public function getUsername() - { - return $this->username; - } - - /** - * Set the password to authenticate with. - * - * @param string $password - */ - public function setPassword($password) - { - $this->password = $password; - } - - /** - * Get the password to authenticate with. - * - * @return string - */ - public function getPassword() - { - return $this->password; - } - - /** - * Set the auth mode to use to authenticate. - * - * @param string $mode - */ - public function setAuthMode($mode) - { - $this->auth_mode = $mode; - } - - /** - * Get the auth mode to use to authenticate. - * - * @return string - */ - public function getAuthMode() - { - return $this->auth_mode; - } - - /** - * Get the name of the ESMTP extension this handles. - * - * @return string - */ - public function getHandledKeyword() - { - return 'AUTH'; - } - - /** - * Set the parameters which the EHLO greeting indicated. - * - * @param string[] $parameters - */ - public function setKeywordParams(array $parameters) - { - $this->esmtpParams = $parameters; - } - - /** - * Runs immediately after a EHLO has been issued. - * - * @param Swift_Transport_SmtpAgent $agent to read/write - */ - public function afterEhlo(Swift_Transport_SmtpAgent $agent) - { - if ($this->username) { - $count = 0; - $errors = []; - foreach ($this->getAuthenticatorsForAgent() as $authenticator) { - if (in_array(strtolower($authenticator->getAuthKeyword()), array_map('strtolower', $this->esmtpParams))) { - ++$count; - try { - if ($authenticator->authenticate($agent, $this->username, $this->password)) { - return; - } - } catch (Swift_TransportException $e) { - // keep the error message, but tries the other authenticators - $errors[] = [$authenticator->getAuthKeyword(), $e->getMessage()]; - } - } - } - - $message = 'Failed to authenticate on SMTP server with username "'.$this->username.'" using '.$count.' possible authenticators.'; - foreach ($errors as $error) { - $message .= ' Authenticator '.$error[0].' returned '.$error[1].'.'; - } - throw new Swift_TransportException($message); - } - } - - /** - * Not used. - */ - public function getMailParams() - { - return []; - } - - /** - * Not used. - */ - public function getRcptParams() - { - return []; - } - - /** - * Not used. - */ - public function onCommand(Swift_Transport_SmtpAgent $agent, $command, $codes = [], &$failedRecipients = null, &$stop = false) - { - } - - /** - * Returns +1, -1 or 0 according to the rules for usort(). - * - * This method is called to ensure extensions can be execute in an appropriate order. - * - * @param string $esmtpKeyword to compare with - * - * @return int - */ - public function getPriorityOver($esmtpKeyword) - { - return 0; - } - - /** - * Returns an array of method names which are exposed to the Esmtp class. - * - * @return string[] - */ - public function exposeMixinMethods() - { - return ['setUsername', 'getUsername', 'setPassword', 'getPassword', 'setAuthMode', 'getAuthMode']; - } - - /** - * Not used. - */ - public function resetState() - { - } - - /** - * Returns the authenticator list for the given agent. - * - * @return array - */ - protected function getAuthenticatorsForAgent() - { - if (!$mode = strtolower($this->auth_mode)) { - return $this->authenticators; - } - - foreach ($this->authenticators as $authenticator) { - if (strtolower($authenticator->getAuthKeyword()) == $mode) { - return [$authenticator]; - } - } - - throw new Swift_TransportException('Auth mode '.$mode.' is invalid'); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/Esmtp/Authenticator.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/Esmtp/Authenticator.php deleted file mode 100644 index cadfdc6..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/Esmtp/Authenticator.php +++ /dev/null @@ -1,37 +0,0 @@ -encoding = $encoding; - } - - /** - * Get the name of the ESMTP extension this handles. - * - * @return string - */ - public function getHandledKeyword() - { - return '8BITMIME'; - } - - /** - * Not used. - */ - public function setKeywordParams(array $parameters) - { - } - - /** - * Not used. - */ - public function afterEhlo(Swift_Transport_SmtpAgent $agent) - { - } - - /** - * Get params which are appended to MAIL FROM:<>. - * - * @return string[] - */ - public function getMailParams() - { - return ['BODY='.$this->encoding]; - } - - /** - * Not used. - */ - public function getRcptParams() - { - return []; - } - - /** - * Not used. - */ - public function onCommand(Swift_Transport_SmtpAgent $agent, $command, $codes = [], &$failedRecipients = null, &$stop = false) - { - } - - /** - * Returns +1, -1 or 0 according to the rules for usort(). - * - * This method is called to ensure extensions can be execute in an appropriate order. - * - * @param string $esmtpKeyword to compare with - * - * @return int - */ - public function getPriorityOver($esmtpKeyword) - { - return 0; - } - - /** - * Not used. - */ - public function exposeMixinMethods() - { - return []; - } - - /** - * Not used. - */ - public function resetState() - { - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/Esmtp/SmtpUtf8Handler.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/Esmtp/SmtpUtf8Handler.php deleted file mode 100644 index 7d0252a..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/Esmtp/SmtpUtf8Handler.php +++ /dev/null @@ -1,107 +0,0 @@ -. - * - * @return string[] - */ - public function getMailParams() - { - return ['SMTPUTF8']; - } - - /** - * Not used. - */ - public function getRcptParams() - { - return []; - } - - /** - * Not used. - */ - public function onCommand(Swift_Transport_SmtpAgent $agent, $command, $codes = [], &$failedRecipients = null, &$stop = false) - { - } - - /** - * Returns +1, -1 or 0 according to the rules for usort(). - * - * This method is called to ensure extensions can be execute in an appropriate order. - * - * @param string $esmtpKeyword to compare with - * - * @return int - */ - public function getPriorityOver($esmtpKeyword) - { - return 0; - } - - /** - * Not used. - */ - public function exposeMixinMethods() - { - return []; - } - - /** - * Not used. - */ - public function resetState() - { - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/EsmtpHandler.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/EsmtpHandler.php deleted file mode 100644 index b8ea36e..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/EsmtpHandler.php +++ /dev/null @@ -1,86 +0,0 @@ -. - * - * @return string[] - */ - public function getMailParams(); - - /** - * Get params which are appended to RCPT TO:<>. - * - * @return string[] - */ - public function getRcptParams(); - - /** - * Runs when a command is due to be sent. - * - * @param Swift_Transport_SmtpAgent $agent to read/write - * @param string $command to send - * @param int[] $codes expected in response - * @param string[] $failedRecipients to collect failures - * @param bool $stop to be set true by-reference if the command is now sent - */ - public function onCommand(Swift_Transport_SmtpAgent $agent, $command, $codes = [], &$failedRecipients = null, &$stop = false); - - /** - * Returns +1, -1 or 0 according to the rules for usort(). - * - * This method is called to ensure extensions can be execute in an appropriate order. - * - * @param string $esmtpKeyword to compare with - * - * @return int - */ - public function getPriorityOver($esmtpKeyword); - - /** - * Returns an array of method names which are exposed to the Esmtp class. - * - * @return string[] - */ - public function exposeMixinMethods(); - - /** - * Tells this handler to clear any buffers and reset its state. - */ - public function resetState(); -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/EsmtpTransport.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/EsmtpTransport.php deleted file mode 100644 index d1f1c2c..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/EsmtpTransport.php +++ /dev/null @@ -1,446 +0,0 @@ - 'tcp', - 'host' => 'localhost', - 'port' => 25, - 'timeout' => 30, - 'blocking' => 1, - 'tls' => false, - 'type' => Swift_Transport_IoBuffer::TYPE_SOCKET, - 'stream_context_options' => [], - ]; - - /** - * Creates a new EsmtpTransport using the given I/O buffer. - * - * @param Swift_Transport_EsmtpHandler[] $extensionHandlers - * @param string $localDomain - */ - public function __construct(Swift_Transport_IoBuffer $buf, array $extensionHandlers, Swift_Events_EventDispatcher $dispatcher, $localDomain = '127.0.0.1', Swift_AddressEncoder $addressEncoder = null) - { - parent::__construct($buf, $dispatcher, $localDomain, $addressEncoder); - $this->setExtensionHandlers($extensionHandlers); - } - - /** - * Set the host to connect to. - * - * Literal IPv6 addresses should be wrapped in square brackets. - * - * @param string $host - * - * @return $this - */ - public function setHost($host) - { - $this->params['host'] = $host; - - return $this; - } - - /** - * Get the host to connect to. - * - * @return string - */ - public function getHost() - { - return $this->params['host']; - } - - /** - * Set the port to connect to. - * - * @param int $port - * - * @return $this - */ - public function setPort($port) - { - $this->params['port'] = (int) $port; - - return $this; - } - - /** - * Get the port to connect to. - * - * @return int - */ - public function getPort() - { - return $this->params['port']; - } - - /** - * Set the connection timeout. - * - * @param int $timeout seconds - * - * @return $this - */ - public function setTimeout($timeout) - { - $this->params['timeout'] = (int) $timeout; - $this->buffer->setParam('timeout', (int) $timeout); - - return $this; - } - - /** - * Get the connection timeout. - * - * @return int - */ - public function getTimeout() - { - return $this->params['timeout']; - } - - /** - * Set the encryption type (tls or ssl). - * - * @param string $encryption - * - * @return $this - */ - public function setEncryption($encryption) - { - $encryption = strtolower($encryption); - if ('tls' == $encryption) { - $this->params['protocol'] = 'tcp'; - $this->params['tls'] = true; - } else { - $this->params['protocol'] = $encryption; - $this->params['tls'] = false; - } - - return $this; - } - - /** - * Get the encryption type. - * - * @return string - */ - public function getEncryption() - { - return $this->params['tls'] ? 'tls' : $this->params['protocol']; - } - - /** - * Sets the stream context options. - * - * @param array $options - * - * @return $this - */ - public function setStreamOptions($options) - { - $this->params['stream_context_options'] = $options; - - return $this; - } - - /** - * Returns the stream context options. - * - * @return array - */ - public function getStreamOptions() - { - return $this->params['stream_context_options']; - } - - /** - * Sets the source IP. - * - * IPv6 addresses should be wrapped in square brackets. - * - * @param string $source - * - * @return $this - */ - public function setSourceIp($source) - { - $this->params['sourceIp'] = $source; - - return $this; - } - - /** - * Returns the IP used to connect to the destination. - * - * @return string - */ - public function getSourceIp() - { - return $this->params['sourceIp'] ?? null; - } - - /** - * Sets whether SMTP pipelining is enabled. - * - * By default, support is auto-detected using the PIPELINING SMTP extension. - * Use this function to override that in the unlikely event of compatibility - * issues. - * - * @param bool $enabled - * - * @return $this - */ - public function setPipelining($enabled) - { - $this->pipelining = $enabled; - - return $this; - } - - /** - * Returns whether SMTP pipelining is enabled. - * - * @return bool|null a boolean if pipelining is explicitly enabled or disabled, - * or null if support is auto-detected. - */ - public function getPipelining() - { - return $this->pipelining; - } - - /** - * Set ESMTP extension handlers. - * - * @param Swift_Transport_EsmtpHandler[] $handlers - * - * @return $this - */ - public function setExtensionHandlers(array $handlers) - { - $assoc = []; - foreach ($handlers as $handler) { - $assoc[$handler->getHandledKeyword()] = $handler; - } - uasort($assoc, function ($a, $b) { - return $a->getPriorityOver($b->getHandledKeyword()); - }); - $this->handlers = $assoc; - $this->setHandlerParams(); - - return $this; - } - - /** - * Get ESMTP extension handlers. - * - * @return Swift_Transport_EsmtpHandler[] - */ - public function getExtensionHandlers() - { - return array_values($this->handlers); - } - - /** - * Run a command against the buffer, expecting the given response codes. - * - * If no response codes are given, the response will not be validated. - * If codes are given, an exception will be thrown on an invalid response. - * - * @param string $command - * @param int[] $codes - * @param string[] $failures An array of failures by-reference - * @param bool $pipeline Do not wait for response - * @param string $address The address, if command is RCPT TO. - * - * @return string|null The server response, or null if pipelining is enabled - */ - public function executeCommand($command, $codes = [], &$failures = null, $pipeline = false, $address = null) - { - $failures = (array) $failures; - $stopSignal = false; - $response = null; - foreach ($this->getActiveHandlers() as $handler) { - $response = $handler->onCommand( - $this, $command, $codes, $failures, $stopSignal - ); - if ($stopSignal) { - return $response; - } - } - - return parent::executeCommand($command, $codes, $failures, $pipeline, $address); - } - - /** Mixin handling method for ESMTP handlers */ - public function __call($method, $args) - { - foreach ($this->handlers as $handler) { - if (in_array(strtolower($method), - array_map('strtolower', (array) $handler->exposeMixinMethods()) - )) { - $return = call_user_func_array([$handler, $method], $args); - // Allow fluid method calls - if (null === $return && 'set' == substr($method, 0, 3)) { - return $this; - } else { - return $return; - } - } - } - trigger_error('Call to undefined method '.$method, E_USER_ERROR); - } - - /** Get the params to initialize the buffer */ - protected function getBufferParams() - { - return $this->params; - } - - /** Overridden to perform EHLO instead */ - protected function doHeloCommand() - { - try { - $response = $this->executeCommand( - sprintf("EHLO %s\r\n", $this->domain), [250] - ); - } catch (Swift_TransportException $e) { - return parent::doHeloCommand(); - } - - if ($this->params['tls']) { - try { - $this->executeCommand("STARTTLS\r\n", [220]); - - if (!$this->buffer->startTLS()) { - throw new Swift_TransportException('Unable to connect with TLS encryption'); - } - - try { - $response = $this->executeCommand( - sprintf("EHLO %s\r\n", $this->domain), [250] - ); - } catch (Swift_TransportException $e) { - return parent::doHeloCommand(); - } - } catch (Swift_TransportException $e) { - $this->throwException($e); - } - } - - $this->capabilities = $this->getCapabilities($response); - if (!isset($this->pipelining)) { - $this->pipelining = isset($this->capabilities['PIPELINING']); - } - - $this->setHandlerParams(); - foreach ($this->getActiveHandlers() as $handler) { - $handler->afterEhlo($this); - } - } - - /** Overridden to add Extension support */ - protected function doMailFromCommand($address) - { - $address = $this->addressEncoder->encodeString($address); - $handlers = $this->getActiveHandlers(); - $params = []; - foreach ($handlers as $handler) { - $params = array_merge($params, (array) $handler->getMailParams()); - } - $paramStr = !empty($params) ? ' '.implode(' ', $params) : ''; - $this->executeCommand( - sprintf("MAIL FROM:<%s>%s\r\n", $address, $paramStr), [250], $failures, true - ); - } - - /** Overridden to add Extension support */ - protected function doRcptToCommand($address) - { - $address = $this->addressEncoder->encodeString($address); - $handlers = $this->getActiveHandlers(); - $params = []; - foreach ($handlers as $handler) { - $params = array_merge($params, (array) $handler->getRcptParams()); - } - $paramStr = !empty($params) ? ' '.implode(' ', $params) : ''; - $this->executeCommand( - sprintf("RCPT TO:<%s>%s\r\n", $address, $paramStr), [250, 251, 252], $failures, true, $address - ); - } - - /** Determine ESMTP capabilities by function group */ - private function getCapabilities($ehloResponse) - { - $capabilities = []; - $ehloResponse = trim($ehloResponse); - $lines = explode("\r\n", $ehloResponse); - array_shift($lines); - foreach ($lines as $line) { - if (preg_match('/^[0-9]{3}[ -]([A-Z0-9-]+)((?:[ =].*)?)$/Di', $line, $matches)) { - $keyword = strtoupper($matches[1]); - $paramStr = strtoupper(ltrim($matches[2], ' =')); - $params = !empty($paramStr) ? explode(' ', $paramStr) : []; - $capabilities[$keyword] = $params; - } - } - - return $capabilities; - } - - /** Set parameters which are used by each extension handler */ - private function setHandlerParams() - { - foreach ($this->handlers as $keyword => $handler) { - if (array_key_exists($keyword, $this->capabilities)) { - $handler->setKeywordParams($this->capabilities[$keyword]); - } - } - } - - /** Get ESMTP handlers which are currently ok to use */ - private function getActiveHandlers() - { - $handlers = []; - foreach ($this->handlers as $keyword => $handler) { - if (array_key_exists($keyword, $this->capabilities)) { - $handlers[] = $handler; - } - } - - return $handlers; - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/FailoverTransport.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/FailoverTransport.php deleted file mode 100644 index 21bce4b..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/FailoverTransport.php +++ /dev/null @@ -1,105 +0,0 @@ -transports); - for ($i = 0; $i < $maxTransports - && $transport = $this->getNextTransport(); ++$i) { - if ($transport->ping()) { - return true; - } else { - $this->killCurrentTransport(); - } - } - - return count($this->transports) > 0; - } - - /** - * Send the given Message. - * - * Recipient/sender data will be retrieved from the Message API. - * The return value is the number of recipients who were accepted for delivery. - * - * @param string[] $failedRecipients An array of failures by-reference - * - * @return int - */ - public function send(Swift_Mime_SimpleMessage $message, &$failedRecipients = null) - { - $maxTransports = count($this->transports); - $sent = 0; - $this->lastUsedTransport = null; - - for ($i = 0; $i < $maxTransports - && $transport = $this->getNextTransport(); ++$i) { - try { - if (!$transport->isStarted()) { - $transport->start(); - } - - if ($sent = $transport->send($message, $failedRecipients)) { - $this->lastUsedTransport = $transport; - - return $sent; - } - } catch (Swift_TransportException $e) { - $this->killCurrentTransport(); - } - } - - if (0 == count($this->transports)) { - throw new Swift_TransportException( - 'All Transports in FailoverTransport failed, or no Transports available' - ); - } - - return $sent; - } - - protected function getNextTransport() - { - if (!isset($this->currentTransport)) { - $this->currentTransport = parent::getNextTransport(); - } - - return $this->currentTransport; - } - - protected function killCurrentTransport() - { - $this->currentTransport = null; - parent::killCurrentTransport(); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/IoBuffer.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/IoBuffer.php deleted file mode 100644 index af97adf..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/IoBuffer.php +++ /dev/null @@ -1,67 +0,0 @@ -transports = $transports; - $this->deadTransports = []; - } - - /** - * Get $transports to delegate to. - * - * @return Swift_Transport[] - */ - public function getTransports() - { - return array_merge($this->transports, $this->deadTransports); - } - - /** - * Get the Transport used in the last successful send operation. - * - * @return Swift_Transport - */ - public function getLastUsedTransport() - { - return $this->lastUsedTransport; - } - - /** - * Test if this Transport mechanism has started. - * - * @return bool - */ - public function isStarted() - { - return count($this->transports) > 0; - } - - /** - * Start this Transport mechanism. - */ - public function start() - { - $this->transports = array_merge($this->transports, $this->deadTransports); - } - - /** - * Stop this Transport mechanism. - */ - public function stop() - { - foreach ($this->transports as $transport) { - $transport->stop(); - } - } - - /** - * {@inheritdoc} - */ - public function ping() - { - foreach ($this->transports as $transport) { - if (!$transport->ping()) { - $this->killCurrentTransport(); - } - } - - return count($this->transports) > 0; - } - - /** - * Send the given Message. - * - * Recipient/sender data will be retrieved from the Message API. - * The return value is the number of recipients who were accepted for delivery. - * - * @param string[] $failedRecipients An array of failures by-reference - * - * @return int - */ - public function send(Swift_Mime_SimpleMessage $message, &$failedRecipients = null) - { - $maxTransports = count($this->transports); - $sent = 0; - $this->lastUsedTransport = null; - - for ($i = 0; $i < $maxTransports - && $transport = $this->getNextTransport(); ++$i) { - try { - if (!$transport->isStarted()) { - $transport->start(); - } - if ($sent = $transport->send($message, $failedRecipients)) { - $this->lastUsedTransport = $transport; - break; - } - } catch (Swift_TransportException $e) { - $this->killCurrentTransport(); - } - } - - if (0 == count($this->transports)) { - throw new Swift_TransportException( - 'All Transports in LoadBalancedTransport failed, or no Transports available' - ); - } - - return $sent; - } - - /** - * Register a plugin. - */ - public function registerPlugin(Swift_Events_EventListener $plugin) - { - foreach ($this->transports as $transport) { - $transport->registerPlugin($plugin); - } - } - - /** - * Rotates the transport list around and returns the first instance. - * - * @return Swift_Transport - */ - protected function getNextTransport() - { - if ($next = array_shift($this->transports)) { - $this->transports[] = $next; - } - - return $next; - } - - /** - * Tag the currently used (top of stack) transport as dead/useless. - */ - protected function killCurrentTransport() - { - if ($transport = array_pop($this->transports)) { - try { - $transport->stop(); - } catch (Exception $e) { - } - $this->deadTransports[] = $transport; - } - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/NullTransport.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/NullTransport.php deleted file mode 100644 index 5934ca9..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/NullTransport.php +++ /dev/null @@ -1,98 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Pretends messages have been sent, but just ignores them. - * - * @author Fabien Potencier - */ -class Swift_Transport_NullTransport implements Swift_Transport -{ - /** The event dispatcher from the plugin API */ - private $eventDispatcher; - - /** - * Constructor. - */ - public function __construct(Swift_Events_EventDispatcher $eventDispatcher) - { - $this->eventDispatcher = $eventDispatcher; - } - - /** - * Tests if this Transport mechanism has started. - * - * @return bool - */ - public function isStarted() - { - return true; - } - - /** - * Starts this Transport mechanism. - */ - public function start() - { - } - - /** - * Stops this Transport mechanism. - */ - public function stop() - { - } - - /** - * {@inheritdoc} - */ - public function ping() - { - return true; - } - - /** - * Sends the given message. - * - * @param string[] $failedRecipients An array of failures by-reference - * - * @return int The number of sent emails - */ - public function send(Swift_Mime_SimpleMessage $message, &$failedRecipients = null) - { - if ($evt = $this->eventDispatcher->createSendEvent($this, $message)) { - $this->eventDispatcher->dispatchEvent($evt, 'beforeSendPerformed'); - if ($evt->bubbleCancelled()) { - return 0; - } - } - - if ($evt) { - $evt->setResult(Swift_Events_SendEvent::RESULT_SUCCESS); - $this->eventDispatcher->dispatchEvent($evt, 'sendPerformed'); - } - - $count = ( - count((array) $message->getTo()) - + count((array) $message->getCc()) - + count((array) $message->getBcc()) - ); - - return $count; - } - - /** - * Register a plugin. - */ - public function registerPlugin(Swift_Events_EventListener $plugin) - { - $this->eventDispatcher->bindEventListener($plugin); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/SendmailTransport.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/SendmailTransport.php deleted file mode 100644 index 7f0476a..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/SendmailTransport.php +++ /dev/null @@ -1,158 +0,0 @@ - 30, - 'blocking' => 1, - 'command' => '/usr/sbin/sendmail -bs', - 'type' => Swift_Transport_IoBuffer::TYPE_PROCESS, - ]; - - /** - * Create a new SendmailTransport with $buf for I/O. - * - * @param string $localDomain - */ - public function __construct(Swift_Transport_IoBuffer $buf, Swift_Events_EventDispatcher $dispatcher, $localDomain = '127.0.0.1', Swift_AddressEncoder $addressEncoder = null) - { - parent::__construct($buf, $dispatcher, $localDomain, $addressEncoder); - } - - /** - * Start the standalone SMTP session if running in -bs mode. - */ - public function start() - { - if (false !== strpos($this->getCommand(), ' -bs')) { - parent::start(); - } - } - - /** - * Set the command to invoke. - * - * If using -t mode you are strongly advised to include -oi or -i in the flags. - * For example: /usr/sbin/sendmail -oi -t - * Swift will append a -f flag if one is not present. - * - * The recommended mode is "-bs" since it is interactive and failure notifications - * are hence possible. - * - * @param string $command - * - * @return $this - */ - public function setCommand($command) - { - $this->params['command'] = $command; - - return $this; - } - - /** - * Get the sendmail command which will be invoked. - * - * @return string - */ - public function getCommand() - { - return $this->params['command']; - } - - /** - * Send the given Message. - * - * Recipient/sender data will be retrieved from the Message API. - * - * The return value is the number of recipients who were accepted for delivery. - * NOTE: If using 'sendmail -t' you will not be aware of any failures until - * they bounce (i.e. send() will always return 100% success). - * - * @param string[] $failedRecipients An array of failures by-reference - * - * @return int - */ - public function send(Swift_Mime_SimpleMessage $message, &$failedRecipients = null) - { - $failedRecipients = (array) $failedRecipients; - $command = $this->getCommand(); - $buffer = $this->getBuffer(); - $count = 0; - - if (false !== strpos($command, ' -t')) { - if ($evt = $this->eventDispatcher->createSendEvent($this, $message)) { - $this->eventDispatcher->dispatchEvent($evt, 'beforeSendPerformed'); - if ($evt->bubbleCancelled()) { - return 0; - } - } - - if (false === strpos($command, ' -f')) { - $command .= ' -f'.escapeshellarg($this->getReversePath($message)); - } - - $buffer->initialize(array_merge($this->params, ['command' => $command])); - - if (false === strpos($command, ' -i') && false === strpos($command, ' -oi')) { - $buffer->setWriteTranslations(["\r\n" => "\n", "\n." => "\n.."]); - } else { - $buffer->setWriteTranslations(["\r\n" => "\n"]); - } - - $count = count((array) $message->getTo()) - + count((array) $message->getCc()) - + count((array) $message->getBcc()) - ; - $message->toByteStream($buffer); - $buffer->flushBuffers(); - $buffer->setWriteTranslations([]); - $buffer->terminate(); - - if ($evt) { - $evt->setResult(Swift_Events_SendEvent::RESULT_SUCCESS); - $evt->setFailedRecipients($failedRecipients); - $this->eventDispatcher->dispatchEvent($evt, 'sendPerformed'); - } - - $message->generateId(); - } elseif (false !== strpos($command, ' -bs')) { - $count = parent::send($message, $failedRecipients); - } else { - $this->throwException(new Swift_TransportException( - 'Unsupported sendmail command flags ['.$command.']. '. - 'Must be one of "-bs" or "-t" but can include additional flags.' - )); - } - - return $count; - } - - /** Get the params to initialize the buffer */ - protected function getBufferParams() - { - return $this->params; - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/SmtpAgent.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/SmtpAgent.php deleted file mode 100644 index e8ce65c..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/SmtpAgent.php +++ /dev/null @@ -1,36 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Stores Messages in a queue. - * - * @author Fabien Potencier - */ -class Swift_Transport_SpoolTransport implements Swift_Transport -{ - /** The spool instance */ - private $spool; - - /** The event dispatcher from the plugin API */ - private $eventDispatcher; - - /** - * Constructor. - */ - public function __construct(Swift_Events_EventDispatcher $eventDispatcher, Swift_Spool $spool = null) - { - $this->eventDispatcher = $eventDispatcher; - $this->spool = $spool; - } - - /** - * Sets the spool object. - * - * @return $this - */ - public function setSpool(Swift_Spool $spool) - { - $this->spool = $spool; - - return $this; - } - - /** - * Get the spool object. - * - * @return Swift_Spool - */ - public function getSpool() - { - return $this->spool; - } - - /** - * Tests if this Transport mechanism has started. - * - * @return bool - */ - public function isStarted() - { - return true; - } - - /** - * Starts this Transport mechanism. - */ - public function start() - { - } - - /** - * Stops this Transport mechanism. - */ - public function stop() - { - } - - /** - * {@inheritdoc} - */ - public function ping() - { - return true; - } - - /** - * Sends the given message. - * - * @param string[] $failedRecipients An array of failures by-reference - * - * @return int The number of sent e-mail's - */ - public function send(Swift_Mime_SimpleMessage $message, &$failedRecipients = null) - { - if ($evt = $this->eventDispatcher->createSendEvent($this, $message)) { - $this->eventDispatcher->dispatchEvent($evt, 'beforeSendPerformed'); - if ($evt->bubbleCancelled()) { - return 0; - } - } - - $success = $this->spool->queueMessage($message); - - if ($evt) { - $evt->setResult($success ? Swift_Events_SendEvent::RESULT_SPOOLED : Swift_Events_SendEvent::RESULT_FAILED); - $this->eventDispatcher->dispatchEvent($evt, 'sendPerformed'); - } - - return 1; - } - - /** - * Register a plugin. - */ - public function registerPlugin(Swift_Events_EventListener $plugin) - { - $this->eventDispatcher->bindEventListener($plugin); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/StreamBuffer.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/StreamBuffer.php deleted file mode 100644 index 5f7b8ac..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/StreamBuffer.php +++ /dev/null @@ -1,329 +0,0 @@ -replacementFactory = $replacementFactory; - } - - /** - * Perform any initialization needed, using the given $params. - * - * Parameters will vary depending upon the type of IoBuffer used. - */ - public function initialize(array $params) - { - $this->params = $params; - switch ($params['type']) { - case self::TYPE_PROCESS: - $this->establishProcessConnection(); - break; - case self::TYPE_SOCKET: - default: - $this->establishSocketConnection(); - break; - } - } - - /** - * Set an individual param on the buffer (e.g. switching to SSL). - * - * @param string $param - * @param mixed $value - */ - public function setParam($param, $value) - { - if (isset($this->stream)) { - switch ($param) { - case 'timeout': - if ($this->stream) { - stream_set_timeout($this->stream, $value); - } - break; - - case 'blocking': - if ($this->stream) { - stream_set_blocking($this->stream, 1); - } - } - } - $this->params[$param] = $value; - } - - public function startTLS() - { - // STREAM_CRYPTO_METHOD_TLS_CLIENT only allow tls1.0 connections (some php versions) - // To support modern tls we allow explicit tls1.0, tls1.1, tls1.2 - // Ssl3 and older are not allowed because they are vulnerable - // @TODO make tls arguments configurable - return stream_socket_enable_crypto($this->stream, true, STREAM_CRYPTO_METHOD_TLSv1_0_CLIENT | STREAM_CRYPTO_METHOD_TLSv1_1_CLIENT | STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT); - } - - /** - * Perform any shutdown logic needed. - */ - public function terminate() - { - if (isset($this->stream)) { - switch ($this->params['type']) { - case self::TYPE_PROCESS: - fclose($this->in); - fclose($this->out); - proc_close($this->stream); - break; - case self::TYPE_SOCKET: - default: - fclose($this->stream); - break; - } - } - $this->stream = null; - $this->out = null; - $this->in = null; - } - - /** - * Set an array of string replacements which should be made on data written - * to the buffer. - * - * This could replace LF with CRLF for example. - * - * @param string[] $replacements - */ - public function setWriteTranslations(array $replacements) - { - foreach ($this->translations as $search => $replace) { - if (!isset($replacements[$search])) { - $this->removeFilter($search); - unset($this->translations[$search]); - } - } - - foreach ($replacements as $search => $replace) { - if (!isset($this->translations[$search])) { - $this->addFilter( - $this->replacementFactory->createFilter($search, $replace), $search - ); - $this->translations[$search] = true; - } - } - } - - /** - * Get a line of output (including any CRLF). - * - * The $sequence number comes from any writes and may or may not be used - * depending upon the implementation. - * - * @param int $sequence of last write to scan from - * - * @return string - * - * @throws Swift_IoException - */ - public function readLine($sequence) - { - if (isset($this->out) && !feof($this->out)) { - $line = fgets($this->out); - if (0 == strlen($line)) { - $metas = stream_get_meta_data($this->out); - if ($metas['timed_out']) { - throw new Swift_IoException( - 'Connection to '. - $this->getReadConnectionDescription(). - ' Timed Out' - ); - } - } - - return $line; - } - } - - /** - * Reads $length bytes from the stream into a string and moves the pointer - * through the stream by $length. - * - * If less bytes exist than are requested the remaining bytes are given instead. - * If no bytes are remaining at all, boolean false is returned. - * - * @param int $length - * - * @return string|bool - * - * @throws Swift_IoException - */ - public function read($length) - { - if (isset($this->out) && !feof($this->out)) { - $ret = fread($this->out, $length); - if (0 == strlen($ret)) { - $metas = stream_get_meta_data($this->out); - if ($metas['timed_out']) { - throw new Swift_IoException( - 'Connection to '. - $this->getReadConnectionDescription(). - ' Timed Out' - ); - } - } - - return $ret; - } - } - - /** Not implemented */ - public function setReadPointer($byteOffset) - { - } - - /** Flush the stream contents */ - protected function flush() - { - if (isset($this->in)) { - fflush($this->in); - } - } - - /** Write this bytes to the stream */ - protected function doCommit($bytes) - { - if (isset($this->in)) { - $bytesToWrite = strlen($bytes); - $totalBytesWritten = 0; - - while ($totalBytesWritten < $bytesToWrite) { - $bytesWritten = fwrite($this->in, substr($bytes, $totalBytesWritten)); - if (false === $bytesWritten || 0 === $bytesWritten) { - break; - } - - $totalBytesWritten += $bytesWritten; - } - - if ($totalBytesWritten > 0) { - return ++$this->sequence; - } - } - } - - /** - * Establishes a connection to a remote server. - */ - private function establishSocketConnection() - { - $host = $this->params['host']; - if (!empty($this->params['protocol'])) { - $host = $this->params['protocol'].'://'.$host; - } - $timeout = 15; - if (!empty($this->params['timeout'])) { - $timeout = $this->params['timeout']; - } - $options = []; - if (!empty($this->params['sourceIp'])) { - $options['socket']['bindto'] = $this->params['sourceIp'].':0'; - } - - if (isset($this->params['stream_context_options'])) { - $options = array_merge($options, $this->params['stream_context_options']); - } - $streamContext = stream_context_create($options); - - set_error_handler(function ($type, $msg) { - throw new Swift_TransportException('Connection could not be established with host '.$this->params['host'].' :'.$msg); - }); - try { - $this->stream = stream_socket_client($host.':'.$this->params['port'], $errno, $errstr, $timeout, STREAM_CLIENT_CONNECT, $streamContext); - } finally { - restore_error_handler(); - } - - if (!empty($this->params['blocking'])) { - stream_set_blocking($this->stream, 1); - } else { - stream_set_blocking($this->stream, 0); - } - stream_set_timeout($this->stream, $timeout); - $this->in = &$this->stream; - $this->out = &$this->stream; - } - - /** - * Opens a process for input/output. - */ - private function establishProcessConnection() - { - $command = $this->params['command']; - $descriptorSpec = [ - 0 => ['pipe', 'r'], - 1 => ['pipe', 'w'], - 2 => ['pipe', 'w'], - ]; - $pipes = []; - $this->stream = proc_open($command, $descriptorSpec, $pipes); - stream_set_blocking($pipes[2], 0); - if ($err = stream_get_contents($pipes[2])) { - throw new Swift_TransportException( - 'Process could not be started ['.$err.']' - ); - } - $this->in = &$pipes[0]; - $this->out = &$pipes[1]; - } - - private function getReadConnectionDescription() - { - switch ($this->params['type']) { - case self::TYPE_PROCESS: - return 'Process '.$this->params['command']; - break; - - case self::TYPE_SOCKET: - default: - $host = $this->params['host']; - if (!empty($this->params['protocol'])) { - $host = $this->params['protocol'].'://'.$host; - } - $host .= ':'.$this->params['port']; - - return $host; - break; - } - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/TransportException.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/TransportException.php deleted file mode 100644 index c741745..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/classes/Swift/TransportException.php +++ /dev/null @@ -1,28 +0,0 @@ -register('cache') - ->asAliasOf('cache.array') - - ->register('tempdir') - ->asValue('/tmp') - - ->register('cache.null') - ->asSharedInstanceOf('Swift_KeyCache_NullKeyCache') - - ->register('cache.array') - ->asSharedInstanceOf('Swift_KeyCache_ArrayKeyCache') - ->withDependencies(['cache.inputstream']) - - ->register('cache.disk') - ->asSharedInstanceOf('Swift_KeyCache_DiskKeyCache') - ->withDependencies(['cache.inputstream', 'tempdir']) - - ->register('cache.inputstream') - ->asNewInstanceOf('Swift_KeyCache_SimpleKeyCacheInputStream') -; diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/dependency_maps/message_deps.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/dependency_maps/message_deps.php deleted file mode 100644 index 64d69d2..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/dependency_maps/message_deps.php +++ /dev/null @@ -1,9 +0,0 @@ -register('message.message') - ->asNewInstanceOf('Swift_Message') - - ->register('message.mimepart') - ->asNewInstanceOf('Swift_MimePart') -; diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/dependency_maps/mime_deps.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/dependency_maps/mime_deps.php deleted file mode 100644 index 307756c..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/dependency_maps/mime_deps.php +++ /dev/null @@ -1,134 +0,0 @@ -register('properties.charset') - ->asValue('utf-8') - - ->register('email.validator') - ->asSharedInstanceOf('Egulias\EmailValidator\EmailValidator') - - ->register('mime.idgenerator.idright') - // As SERVER_NAME can come from the user in certain configurations, check that - // it does not contain forbidden characters (see RFC 952 and RFC 2181). Use - // preg_replace() instead of preg_match() to prevent DoS attacks with long host names. - ->asValue(!empty($_SERVER['SERVER_NAME']) && '' === preg_replace('/(?:^\[)?[a-zA-Z0-9-:\]_]+\.?/', '', $_SERVER['SERVER_NAME']) ? $_SERVER['SERVER_NAME'] : 'swift.generated') - - ->register('mime.idgenerator') - ->asSharedInstanceOf('Swift_Mime_IdGenerator') - ->withDependencies([ - 'mime.idgenerator.idright', - ]) - - ->register('mime.message') - ->asNewInstanceOf('Swift_Mime_SimpleMessage') - ->withDependencies([ - 'mime.headerset', - 'mime.textcontentencoder', - 'cache', - 'mime.idgenerator', - 'properties.charset', - ]) - - ->register('mime.part') - ->asNewInstanceOf('Swift_Mime_MimePart') - ->withDependencies([ - 'mime.headerset', - 'mime.textcontentencoder', - 'cache', - 'mime.idgenerator', - 'properties.charset', - ]) - - ->register('mime.attachment') - ->asNewInstanceOf('Swift_Mime_Attachment') - ->withDependencies([ - 'mime.headerset', - 'mime.base64contentencoder', - 'cache', - 'mime.idgenerator', - ]) - ->addConstructorValue($swift_mime_types) - - ->register('mime.embeddedfile') - ->asNewInstanceOf('Swift_Mime_EmbeddedFile') - ->withDependencies([ - 'mime.headerset', - 'mime.base64contentencoder', - 'cache', - 'mime.idgenerator', - ]) - ->addConstructorValue($swift_mime_types) - - ->register('mime.headerfactory') - ->asNewInstanceOf('Swift_Mime_SimpleHeaderFactory') - ->withDependencies([ - 'mime.qpheaderencoder', - 'mime.rfc2231encoder', - 'email.validator', - 'properties.charset', - 'address.idnaddressencoder', - ]) - - ->register('mime.headerset') - ->asNewInstanceOf('Swift_Mime_SimpleHeaderSet') - ->withDependencies(['mime.headerfactory', 'properties.charset']) - - ->register('mime.qpheaderencoder') - ->asNewInstanceOf('Swift_Mime_HeaderEncoder_QpHeaderEncoder') - ->withDependencies(['mime.charstream']) - - ->register('mime.base64headerencoder') - ->asNewInstanceOf('Swift_Mime_HeaderEncoder_Base64HeaderEncoder') - ->withDependencies(['mime.charstream']) - - ->register('mime.charstream') - ->asNewInstanceOf('Swift_CharacterStream_NgCharacterStream') - ->withDependencies(['mime.characterreaderfactory', 'properties.charset']) - - ->register('mime.bytecanonicalizer') - ->asSharedInstanceOf('Swift_StreamFilters_ByteArrayReplacementFilter') - ->addConstructorValue([[0x0D, 0x0A], [0x0D], [0x0A]]) - ->addConstructorValue([[0x0A], [0x0A], [0x0D, 0x0A]]) - - ->register('mime.characterreaderfactory') - ->asSharedInstanceOf('Swift_CharacterReaderFactory_SimpleCharacterReaderFactory') - - ->register('mime.textcontentencoder') - ->asAliasOf('mime.qpcontentencoder') - - ->register('mime.safeqpcontentencoder') - ->asNewInstanceOf('Swift_Mime_ContentEncoder_QpContentEncoder') - ->withDependencies(['mime.charstream', 'mime.bytecanonicalizer']) - - ->register('mime.rawcontentencoder') - ->asNewInstanceOf('Swift_Mime_ContentEncoder_RawContentEncoder') - - ->register('mime.nativeqpcontentencoder') - ->withDependencies(['properties.charset']) - ->asNewInstanceOf('Swift_Mime_ContentEncoder_NativeQpContentEncoder') - - ->register('mime.qpcontentencoder') - ->asNewInstanceOf('Swift_Mime_ContentEncoder_QpContentEncoderProxy') - ->withDependencies(['mime.safeqpcontentencoder', 'mime.nativeqpcontentencoder', 'properties.charset']) - - ->register('mime.7bitcontentencoder') - ->asNewInstanceOf('Swift_Mime_ContentEncoder_PlainContentEncoder') - ->addConstructorValue('7bit') - ->addConstructorValue(true) - - ->register('mime.8bitcontentencoder') - ->asNewInstanceOf('Swift_Mime_ContentEncoder_PlainContentEncoder') - ->addConstructorValue('8bit') - ->addConstructorValue(true) - - ->register('mime.base64contentencoder') - ->asSharedInstanceOf('Swift_Mime_ContentEncoder_Base64ContentEncoder') - - ->register('mime.rfc2231encoder') - ->asNewInstanceOf('Swift_Encoder_Rfc2231Encoder') - ->withDependencies(['mime.charstream']) -; - -unset($swift_mime_types); diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/dependency_maps/transport_deps.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/dependency_maps/transport_deps.php deleted file mode 100644 index 34a63c7..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/dependency_maps/transport_deps.php +++ /dev/null @@ -1,97 +0,0 @@ -register('transport.localdomain') - // As SERVER_NAME can come from the user in certain configurations, check that - // it does not contain forbidden characters (see RFC 952 and RFC 2181). Use - // preg_replace() instead of preg_match() to prevent DoS attacks with long host names. - ->asValue(!empty($_SERVER['SERVER_NAME']) && '' === preg_replace('/(?:^\[)?[a-zA-Z0-9-:\]_]+\.?/', '', $_SERVER['SERVER_NAME']) ? trim($_SERVER['SERVER_NAME'], '[]') : '127.0.0.1') - - ->register('transport.smtp') - ->asNewInstanceOf('Swift_Transport_EsmtpTransport') - ->withDependencies([ - 'transport.buffer', - 'transport.smtphandlers', - 'transport.eventdispatcher', - 'transport.localdomain', - 'address.idnaddressencoder', - ]) - - ->register('transport.sendmail') - ->asNewInstanceOf('Swift_Transport_SendmailTransport') - ->withDependencies([ - 'transport.buffer', - 'transport.eventdispatcher', - 'transport.localdomain', - ]) - - ->register('transport.loadbalanced') - ->asNewInstanceOf('Swift_Transport_LoadBalancedTransport') - - ->register('transport.failover') - ->asNewInstanceOf('Swift_Transport_FailoverTransport') - - ->register('transport.spool') - ->asNewInstanceOf('Swift_Transport_SpoolTransport') - ->withDependencies(['transport.eventdispatcher']) - - ->register('transport.null') - ->asNewInstanceOf('Swift_Transport_NullTransport') - ->withDependencies(['transport.eventdispatcher']) - - ->register('transport.buffer') - ->asNewInstanceOf('Swift_Transport_StreamBuffer') - ->withDependencies(['transport.replacementfactory']) - - ->register('transport.smtphandlers') - ->asArray() - ->withDependencies(['transport.authhandler']) - - ->register('transport.authhandler') - ->asNewInstanceOf('Swift_Transport_Esmtp_AuthHandler') - ->withDependencies(['transport.authhandlers']) - - ->register('transport.authhandlers') - ->asArray() - ->withDependencies([ - 'transport.crammd5auth', - 'transport.loginauth', - 'transport.plainauth', - 'transport.ntlmauth', - 'transport.xoauth2auth', - ]) - - ->register('transport.smtputf8handler') - ->asNewInstanceOf('Swift_Transport_Esmtp_SmtpUtf8Handler') - - ->register('transport.8bitmimehandler') - ->asNewInstanceOf('Swift_Transport_Esmtp_EightBitMimeHandler') - ->addConstructorValue('8BITMIME') - - ->register('transport.crammd5auth') - ->asNewInstanceOf('Swift_Transport_Esmtp_Auth_CramMd5Authenticator') - - ->register('transport.loginauth') - ->asNewInstanceOf('Swift_Transport_Esmtp_Auth_LoginAuthenticator') - - ->register('transport.plainauth') - ->asNewInstanceOf('Swift_Transport_Esmtp_Auth_PlainAuthenticator') - - ->register('transport.xoauth2auth') - ->asNewInstanceOf('Swift_Transport_Esmtp_Auth_XOAuth2Authenticator') - - ->register('transport.ntlmauth') - ->asNewInstanceOf('Swift_Transport_Esmtp_Auth_NTLMAuthenticator') - - ->register('transport.eventdispatcher') - ->asNewInstanceOf('Swift_Events_SimpleEventDispatcher') - - ->register('transport.replacementfactory') - ->asSharedInstanceOf('Swift_StreamFilters_StringReplacementFilterFactory') - - ->register('address.idnaddressencoder') - ->asNewInstanceOf('Swift_AddressEncoder_IdnAddressEncoder') - - ->register('address.utf8addressencoder') - ->asNewInstanceOf('Swift_AddressEncoder_Utf8AddressEncoder') -; diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/mime_types.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/mime_types.php deleted file mode 100644 index 72c6fd2..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/mime_types.php +++ /dev/null @@ -1,1007 +0,0 @@ - 'text/vnd.in3d.3dml', - '3ds' => 'image/x-3ds', - '3g2' => 'video/3gpp2', - '3gp' => 'video/3gpp', - '7z' => 'application/x-7z-compressed', - 'aab' => 'application/x-authorware-bin', - 'aac' => 'audio/x-aac', - 'aam' => 'application/x-authorware-map', - 'aas' => 'application/x-authorware-seg', - 'abw' => 'application/x-abiword', - 'ac' => 'application/pkix-attr-cert', - 'acc' => 'application/vnd.americandynamics.acc', - 'ace' => 'application/x-ace-compressed', - 'acu' => 'application/vnd.acucobol', - 'acutc' => 'application/vnd.acucorp', - 'adp' => 'audio/adpcm', - 'aep' => 'application/vnd.audiograph', - 'afm' => 'application/x-font-type1', - 'afp' => 'application/vnd.ibm.modcap', - 'ahead' => 'application/vnd.ahead.space', - 'ai' => 'application/postscript', - 'aif' => 'audio/x-aiff', - 'aifc' => 'audio/x-aiff', - 'aiff' => 'audio/x-aiff', - 'air' => 'application/vnd.adobe.air-application-installer-package+zip', - 'ait' => 'application/vnd.dvb.ait', - 'ami' => 'application/vnd.amiga.ami', - 'apk' => 'application/vnd.android.package-archive', - 'appcache' => 'text/cache-manifest', - 'apr' => 'application/vnd.lotus-approach', - 'aps' => 'application/postscript', - 'arc' => 'application/x-freearc', - 'asc' => 'application/pgp-signature', - 'asf' => 'video/x-ms-asf', - 'asm' => 'text/x-asm', - 'aso' => 'application/vnd.accpac.simply.aso', - 'asx' => 'video/x-ms-asf', - 'atc' => 'application/vnd.acucorp', - 'atom' => 'application/atom+xml', - 'atomcat' => 'application/atomcat+xml', - 'atomsvc' => 'application/atomsvc+xml', - 'atx' => 'application/vnd.antix.game-component', - 'au' => 'audio/basic', - 'avi' => 'video/x-msvideo', - 'aw' => 'application/applixware', - 'azf' => 'application/vnd.airzip.filesecure.azf', - 'azs' => 'application/vnd.airzip.filesecure.azs', - 'azw' => 'application/vnd.amazon.ebook', - 'bat' => 'application/x-msdownload', - 'bcpio' => 'application/x-bcpio', - 'bdf' => 'application/x-font-bdf', - 'bdm' => 'application/vnd.syncml.dm+wbxml', - 'bed' => 'application/vnd.realvnc.bed', - 'bh2' => 'application/vnd.fujitsu.oasysprs', - 'bin' => 'application/octet-stream', - 'blb' => 'application/x-blorb', - 'blorb' => 'application/x-blorb', - 'bmi' => 'application/vnd.bmi', - 'bmp' => 'image/bmp', - 'book' => 'application/vnd.framemaker', - 'box' => 'application/vnd.previewsystems.box', - 'boz' => 'application/x-bzip2', - 'bpk' => 'application/octet-stream', - 'btif' => 'image/prs.btif', - 'bz' => 'application/x-bzip', - 'bz2' => 'application/x-bzip2', - 'c' => 'text/x-c', - 'c11amc' => 'application/vnd.cluetrust.cartomobile-config', - 'c11amz' => 'application/vnd.cluetrust.cartomobile-config-pkg', - 'c4d' => 'application/vnd.clonk.c4group', - 'c4f' => 'application/vnd.clonk.c4group', - 'c4g' => 'application/vnd.clonk.c4group', - 'c4p' => 'application/vnd.clonk.c4group', - 'c4u' => 'application/vnd.clonk.c4group', - 'cab' => 'application/vnd.ms-cab-compressed', - 'caf' => 'audio/x-caf', - 'cap' => 'application/vnd.tcpdump.pcap', - 'car' => 'application/vnd.curl.car', - 'cat' => 'application/vnd.ms-pki.seccat', - 'cb7' => 'application/x-cbr', - 'cba' => 'application/x-cbr', - 'cbr' => 'application/x-cbr', - 'cbt' => 'application/x-cbr', - 'cbz' => 'application/x-cbr', - 'cc' => 'text/x-c', - 'cct' => 'application/x-director', - 'ccxml' => 'application/ccxml+xml', - 'cdbcmsg' => 'application/vnd.contact.cmsg', - 'cdf' => 'application/x-netcdf', - 'cdkey' => 'application/vnd.mediastation.cdkey', - 'cdmia' => 'application/cdmi-capability', - 'cdmic' => 'application/cdmi-container', - 'cdmid' => 'application/cdmi-domain', - 'cdmio' => 'application/cdmi-object', - 'cdmiq' => 'application/cdmi-queue', - 'cdx' => 'chemical/x-cdx', - 'cdxml' => 'application/vnd.chemdraw+xml', - 'cdy' => 'application/vnd.cinderella', - 'cer' => 'application/pkix-cert', - 'cfs' => 'application/x-cfs-compressed', - 'cgm' => 'image/cgm', - 'chat' => 'application/x-chat', - 'chm' => 'application/vnd.ms-htmlhelp', - 'chrt' => 'application/vnd.kde.kchart', - 'cif' => 'chemical/x-cif', - 'cii' => 'application/vnd.anser-web-certificate-issue-initiation', - 'cil' => 'application/vnd.ms-artgalry', - 'cla' => 'application/vnd.claymore', - 'class' => 'application/java-vm', - 'clkk' => 'application/vnd.crick.clicker.keyboard', - 'clkp' => 'application/vnd.crick.clicker.palette', - 'clkt' => 'application/vnd.crick.clicker.template', - 'clkw' => 'application/vnd.crick.clicker.wordbank', - 'clkx' => 'application/vnd.crick.clicker', - 'clp' => 'application/x-msclip', - 'cmc' => 'application/vnd.cosmocaller', - 'cmdf' => 'chemical/x-cmdf', - 'cml' => 'chemical/x-cml', - 'cmp' => 'application/vnd.yellowriver-custom-menu', - 'cmx' => 'image/x-cmx', - 'cod' => 'application/vnd.rim.cod', - 'com' => 'application/x-msdownload', - 'conf' => 'text/plain', - 'cpio' => 'application/x-cpio', - 'cpp' => 'text/x-c', - 'cpt' => 'application/mac-compactpro', - 'crd' => 'application/x-mscardfile', - 'crl' => 'application/pkix-crl', - 'crt' => 'application/x-x509-ca-cert', - 'csh' => 'application/x-csh', - 'csml' => 'chemical/x-csml', - 'csp' => 'application/vnd.commonspace', - 'css' => 'text/css', - 'cst' => 'application/x-director', - 'csv' => 'text/csv', - 'cu' => 'application/cu-seeme', - 'curl' => 'text/vnd.curl', - 'cww' => 'application/prs.cww', - 'cxt' => 'application/x-director', - 'cxx' => 'text/x-c', - 'dae' => 'model/vnd.collada+xml', - 'daf' => 'application/vnd.mobius.daf', - 'dart' => 'application/vnd.dart', - 'dataless' => 'application/vnd.fdsn.seed', - 'davmount' => 'application/davmount+xml', - 'dbk' => 'application/docbook+xml', - 'dcr' => 'application/x-director', - 'dcurl' => 'text/vnd.curl.dcurl', - 'dd2' => 'application/vnd.oma.dd2+xml', - 'ddd' => 'application/vnd.fujixerox.ddd', - 'deb' => 'application/x-debian-package', - 'def' => 'text/plain', - 'deploy' => 'application/octet-stream', - 'der' => 'application/x-x509-ca-cert', - 'dfac' => 'application/vnd.dreamfactory', - 'dgc' => 'application/x-dgc-compressed', - 'dic' => 'text/x-c', - 'dir' => 'application/x-director', - 'dis' => 'application/vnd.mobius.dis', - 'dist' => 'application/octet-stream', - 'distz' => 'application/octet-stream', - 'djv' => 'image/vnd.djvu', - 'djvu' => 'image/vnd.djvu', - 'dll' => 'application/x-msdownload', - 'dmg' => 'application/x-apple-diskimage', - 'dmp' => 'application/vnd.tcpdump.pcap', - 'dms' => 'application/octet-stream', - 'dna' => 'application/vnd.dna', - 'doc' => 'application/msword', - 'docm' => 'application/vnd.ms-word.document.macroenabled.12', - 'docx' => 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', - 'dot' => 'application/msword', - 'dotm' => 'application/vnd.ms-word.template.macroenabled.12', - 'dotx' => 'application/vnd.openxmlformats-officedocument.wordprocessingml.template', - 'dp' => 'application/vnd.osgi.dp', - 'dpg' => 'application/vnd.dpgraph', - 'dra' => 'audio/vnd.dra', - 'dsc' => 'text/prs.lines.tag', - 'dssc' => 'application/dssc+der', - 'dtb' => 'application/x-dtbook+xml', - 'dtd' => 'application/xml-dtd', - 'dts' => 'audio/vnd.dts', - 'dtshd' => 'audio/vnd.dts.hd', - 'dump' => 'application/octet-stream', - 'dvb' => 'video/vnd.dvb.file', - 'dvi' => 'application/x-dvi', - 'dwf' => 'model/vnd.dwf', - 'dwg' => 'image/vnd.dwg', - 'dxf' => 'image/vnd.dxf', - 'dxp' => 'application/vnd.spotfire.dxp', - 'dxr' => 'application/x-director', - 'ecelp4800' => 'audio/vnd.nuera.ecelp4800', - 'ecelp7470' => 'audio/vnd.nuera.ecelp7470', - 'ecelp9600' => 'audio/vnd.nuera.ecelp9600', - 'ecma' => 'application/ecmascript', - 'edm' => 'application/vnd.novadigm.edm', - 'edx' => 'application/vnd.novadigm.edx', - 'efif' => 'application/vnd.picsel', - 'ei6' => 'application/vnd.pg.osasli', - 'elc' => 'application/octet-stream', - 'emf' => 'application/x-msmetafile', - 'eml' => 'message/rfc822', - 'emma' => 'application/emma+xml', - 'emz' => 'application/x-msmetafile', - 'eol' => 'audio/vnd.digital-winds', - 'eot' => 'application/vnd.ms-fontobject', - 'eps' => 'application/postscript', - 'epub' => 'application/epub+zip', - 'es3' => 'application/vnd.eszigno3+xml', - 'esa' => 'application/vnd.osgi.subsystem', - 'esf' => 'application/vnd.epson.esf', - 'et3' => 'application/vnd.eszigno3+xml', - 'etx' => 'text/x-setext', - 'eva' => 'application/x-eva', - 'evy' => 'application/x-envoy', - 'exe' => 'application/x-msdownload', - 'exi' => 'application/exi', - 'ext' => 'application/vnd.novadigm.ext', - 'ez' => 'application/andrew-inset', - 'ez2' => 'application/vnd.ezpix-album', - 'ez3' => 'application/vnd.ezpix-package', - 'f' => 'text/x-fortran', - 'f4v' => 'video/x-f4v', - 'f77' => 'text/x-fortran', - 'f90' => 'text/x-fortran', - 'fbs' => 'image/vnd.fastbidsheet', - 'fcdt' => 'application/vnd.adobe.formscentral.fcdt', - 'fcs' => 'application/vnd.isac.fcs', - 'fdf' => 'application/vnd.fdf', - 'fe_launch' => 'application/vnd.denovo.fcselayout-link', - 'fg5' => 'application/vnd.fujitsu.oasysgp', - 'fgd' => 'application/x-director', - 'fh' => 'image/x-freehand', - 'fh4' => 'image/x-freehand', - 'fh5' => 'image/x-freehand', - 'fh7' => 'image/x-freehand', - 'fhc' => 'image/x-freehand', - 'fig' => 'application/x-xfig', - 'flac' => 'audio/x-flac', - 'fli' => 'video/x-fli', - 'flo' => 'application/vnd.micrografx.flo', - 'flv' => 'video/x-flv', - 'flw' => 'application/vnd.kde.kivio', - 'flx' => 'text/vnd.fmi.flexstor', - 'fly' => 'text/vnd.fly', - 'fm' => 'application/vnd.framemaker', - 'fnc' => 'application/vnd.frogans.fnc', - 'for' => 'text/x-fortran', - 'fpx' => 'image/vnd.fpx', - 'frame' => 'application/vnd.framemaker', - 'fsc' => 'application/vnd.fsc.weblaunch', - 'fst' => 'image/vnd.fst', - 'ftc' => 'application/vnd.fluxtime.clip', - 'fti' => 'application/vnd.anser-web-funds-transfer-initiation', - 'fvt' => 'video/vnd.fvt', - 'fxp' => 'application/vnd.adobe.fxp', - 'fxpl' => 'application/vnd.adobe.fxp', - 'fzs' => 'application/vnd.fuzzysheet', - 'g2w' => 'application/vnd.geoplan', - 'g3' => 'image/g3fax', - 'g3w' => 'application/vnd.geospace', - 'gac' => 'application/vnd.groove-account', - 'gam' => 'application/x-tads', - 'gbr' => 'application/rpki-ghostbusters', - 'gca' => 'application/x-gca-compressed', - 'gdl' => 'model/vnd.gdl', - 'geo' => 'application/vnd.dynageo', - 'gex' => 'application/vnd.geometry-explorer', - 'ggb' => 'application/vnd.geogebra.file', - 'ggt' => 'application/vnd.geogebra.tool', - 'ghf' => 'application/vnd.groove-help', - 'gif' => 'image/gif', - 'gim' => 'application/vnd.groove-identity-message', - 'gml' => 'application/gml+xml', - 'gmx' => 'application/vnd.gmx', - 'gnumeric' => 'application/x-gnumeric', - 'gph' => 'application/vnd.flographit', - 'gpx' => 'application/gpx+xml', - 'gqf' => 'application/vnd.grafeq', - 'gqs' => 'application/vnd.grafeq', - 'gram' => 'application/srgs', - 'gramps' => 'application/x-gramps-xml', - 'gre' => 'application/vnd.geometry-explorer', - 'grv' => 'application/vnd.groove-injector', - 'grxml' => 'application/srgs+xml', - 'gsf' => 'application/x-font-ghostscript', - 'gtar' => 'application/x-gtar', - 'gtm' => 'application/vnd.groove-tool-message', - 'gtw' => 'model/vnd.gtw', - 'gv' => 'text/vnd.graphviz', - 'gxf' => 'application/gxf', - 'gxt' => 'application/vnd.geonext', - 'gz' => 'application/x-gzip', - 'h' => 'text/x-c', - 'h261' => 'video/h261', - 'h263' => 'video/h263', - 'h264' => 'video/h264', - 'hal' => 'application/vnd.hal+xml', - 'hbci' => 'application/vnd.hbci', - 'hdf' => 'application/x-hdf', - 'hh' => 'text/x-c', - 'hlp' => 'application/winhlp', - 'hpgl' => 'application/vnd.hp-hpgl', - 'hpid' => 'application/vnd.hp-hpid', - 'hps' => 'application/vnd.hp-hps', - 'hqx' => 'application/mac-binhex40', - 'htke' => 'application/vnd.kenameaapp', - 'htm' => 'text/html', - 'html' => 'text/html', - 'hvd' => 'application/vnd.yamaha.hv-dic', - 'hvp' => 'application/vnd.yamaha.hv-voice', - 'hvs' => 'application/vnd.yamaha.hv-script', - 'i2g' => 'application/vnd.intergeo', - 'icc' => 'application/vnd.iccprofile', - 'ice' => 'x-conference/x-cooltalk', - 'icm' => 'application/vnd.iccprofile', - 'ico' => 'image/x-icon', - 'ics' => 'text/calendar', - 'ief' => 'image/ief', - 'ifb' => 'text/calendar', - 'ifm' => 'application/vnd.shana.informed.formdata', - 'iges' => 'model/iges', - 'igl' => 'application/vnd.igloader', - 'igm' => 'application/vnd.insors.igm', - 'igs' => 'model/iges', - 'igx' => 'application/vnd.micrografx.igx', - 'iif' => 'application/vnd.shana.informed.interchange', - 'imp' => 'application/vnd.accpac.simply.imp', - 'ims' => 'application/vnd.ms-ims', - 'in' => 'text/plain', - 'ink' => 'application/inkml+xml', - 'inkml' => 'application/inkml+xml', - 'install' => 'application/x-install-instructions', - 'iota' => 'application/vnd.astraea-software.iota', - 'ipfix' => 'application/ipfix', - 'ipk' => 'application/vnd.shana.informed.package', - 'irm' => 'application/vnd.ibm.rights-management', - 'irp' => 'application/vnd.irepository.package+xml', - 'iso' => 'application/x-iso9660-image', - 'itp' => 'application/vnd.shana.informed.formtemplate', - 'ivp' => 'application/vnd.immervision-ivp', - 'ivu' => 'application/vnd.immervision-ivu', - 'jad' => 'text/vnd.sun.j2me.app-descriptor', - 'jam' => 'application/vnd.jam', - 'jar' => 'application/java-archive', - 'java' => 'text/x-java-source', - 'jisp' => 'application/vnd.jisp', - 'jlt' => 'application/vnd.hp-jlyt', - 'jnlp' => 'application/x-java-jnlp-file', - 'joda' => 'application/vnd.joost.joda-archive', - 'jpe' => 'image/jpeg', - 'jpeg' => 'image/jpeg', - 'jpg' => 'image/jpeg', - 'jpgm' => 'video/jpm', - 'jpgv' => 'video/jpeg', - 'jpm' => 'video/jpm', - 'js' => 'application/javascript', - 'json' => 'application/json', - 'jsonml' => 'application/jsonml+json', - 'kar' => 'audio/midi', - 'karbon' => 'application/vnd.kde.karbon', - 'kfo' => 'application/vnd.kde.kformula', - 'kia' => 'application/vnd.kidspiration', - 'kml' => 'application/vnd.google-earth.kml+xml', - 'kmz' => 'application/vnd.google-earth.kmz', - 'kne' => 'application/vnd.kinar', - 'knp' => 'application/vnd.kinar', - 'kon' => 'application/vnd.kde.kontour', - 'kpr' => 'application/vnd.kde.kpresenter', - 'kpt' => 'application/vnd.kde.kpresenter', - 'kpxx' => 'application/vnd.ds-keypoint', - 'ksp' => 'application/vnd.kde.kspread', - 'ktr' => 'application/vnd.kahootz', - 'ktx' => 'image/ktx', - 'ktz' => 'application/vnd.kahootz', - 'kwd' => 'application/vnd.kde.kword', - 'kwt' => 'application/vnd.kde.kword', - 'lasxml' => 'application/vnd.las.las+xml', - 'latex' => 'application/x-latex', - 'lbd' => 'application/vnd.llamagraphics.life-balance.desktop', - 'lbe' => 'application/vnd.llamagraphics.life-balance.exchange+xml', - 'les' => 'application/vnd.hhe.lesson-player', - 'lha' => 'application/x-lzh-compressed', - 'link66' => 'application/vnd.route66.link66+xml', - 'list' => 'text/plain', - 'list3820' => 'application/vnd.ibm.modcap', - 'listafp' => 'application/vnd.ibm.modcap', - 'lnk' => 'application/x-ms-shortcut', - 'log' => 'text/plain', - 'lostxml' => 'application/lost+xml', - 'lrf' => 'application/octet-stream', - 'lrm' => 'application/vnd.ms-lrm', - 'ltf' => 'application/vnd.frogans.ltf', - 'lvp' => 'audio/vnd.lucent.voice', - 'lwp' => 'application/vnd.lotus-wordpro', - 'lzh' => 'application/x-lzh-compressed', - 'm13' => 'application/x-msmediaview', - 'm14' => 'application/x-msmediaview', - 'm1v' => 'video/mpeg', - 'm21' => 'application/mp21', - 'm2a' => 'audio/mpeg', - 'm2v' => 'video/mpeg', - 'm3a' => 'audio/mpeg', - 'm3u' => 'audio/x-mpegurl', - 'm3u8' => 'application/vnd.apple.mpegurl', - 'm4a' => 'audio/mp4', - 'm4u' => 'video/vnd.mpegurl', - 'm4v' => 'video/x-m4v', - 'ma' => 'application/mathematica', - 'mads' => 'application/mads+xml', - 'mag' => 'application/vnd.ecowin.chart', - 'maker' => 'application/vnd.framemaker', - 'man' => 'text/troff', - 'mar' => 'application/octet-stream', - 'mathml' => 'application/mathml+xml', - 'mb' => 'application/mathematica', - 'mbk' => 'application/vnd.mobius.mbk', - 'mbox' => 'application/mbox', - 'mc1' => 'application/vnd.medcalcdata', - 'mcd' => 'application/vnd.mcd', - 'mcurl' => 'text/vnd.curl.mcurl', - 'mdb' => 'application/x-msaccess', - 'mdi' => 'image/vnd.ms-modi', - 'me' => 'text/troff', - 'mesh' => 'model/mesh', - 'meta4' => 'application/metalink4+xml', - 'metalink' => 'application/metalink+xml', - 'mets' => 'application/mets+xml', - 'mfm' => 'application/vnd.mfmp', - 'mft' => 'application/rpki-manifest', - 'mgp' => 'application/vnd.osgeo.mapguide.package', - 'mgz' => 'application/vnd.proteus.magazine', - 'mid' => 'audio/midi', - 'midi' => 'audio/midi', - 'mie' => 'application/x-mie', - 'mif' => 'application/vnd.mif', - 'mime' => 'message/rfc822', - 'mj2' => 'video/mj2', - 'mjp2' => 'video/mj2', - 'mk3d' => 'video/x-matroska', - 'mka' => 'audio/x-matroska', - 'mks' => 'video/x-matroska', - 'mkv' => 'video/x-matroska', - 'mlp' => 'application/vnd.dolby.mlp', - 'mmd' => 'application/vnd.chipnuts.karaoke-mmd', - 'mmf' => 'application/vnd.smaf', - 'mmr' => 'image/vnd.fujixerox.edmics-mmr', - 'mng' => 'video/x-mng', - 'mny' => 'application/x-msmoney', - 'mobi' => 'application/x-mobipocket-ebook', - 'mods' => 'application/mods+xml', - 'mov' => 'video/quicktime', - 'movie' => 'video/x-sgi-movie', - 'mp2' => 'audio/mpeg', - 'mp21' => 'application/mp21', - 'mp2a' => 'audio/mpeg', - 'mp3' => 'audio/mpeg', - 'mp4' => 'video/mp4', - 'mp4a' => 'audio/mp4', - 'mp4s' => 'application/mp4', - 'mp4v' => 'video/mp4', - 'mpc' => 'application/vnd.mophun.certificate', - 'mpe' => 'video/mpeg', - 'mpeg' => 'video/mpeg', - 'mpg' => 'video/mpeg', - 'mpg4' => 'video/mp4', - 'mpga' => 'audio/mpeg', - 'mpkg' => 'application/vnd.apple.installer+xml', - 'mpm' => 'application/vnd.blueice.multipass', - 'mpn' => 'application/vnd.mophun.application', - 'mpp' => 'application/vnd.ms-project', - 'mpt' => 'application/vnd.ms-project', - 'mpy' => 'application/vnd.ibm.minipay', - 'mqy' => 'application/vnd.mobius.mqy', - 'mrc' => 'application/marc', - 'mrcx' => 'application/marcxml+xml', - 'ms' => 'text/troff', - 'mscml' => 'application/mediaservercontrol+xml', - 'mseed' => 'application/vnd.fdsn.mseed', - 'mseq' => 'application/vnd.mseq', - 'msf' => 'application/vnd.epson.msf', - 'msh' => 'model/mesh', - 'msi' => 'application/x-msdownload', - 'msl' => 'application/vnd.mobius.msl', - 'msty' => 'application/vnd.muvee.style', - 'mts' => 'model/vnd.mts', - 'mus' => 'application/vnd.musician', - 'musicxml' => 'application/vnd.recordare.musicxml+xml', - 'mvb' => 'application/x-msmediaview', - 'mwf' => 'application/vnd.mfer', - 'mxf' => 'application/mxf', - 'mxl' => 'application/vnd.recordare.musicxml', - 'mxml' => 'application/xv+xml', - 'mxs' => 'application/vnd.triscape.mxs', - 'mxu' => 'video/vnd.mpegurl', - 'n-gage' => 'application/vnd.nokia.n-gage.symbian.install', - 'n3' => 'text/n3', - 'nb' => 'application/mathematica', - 'nbp' => 'application/vnd.wolfram.player', - 'nc' => 'application/x-netcdf', - 'ncx' => 'application/x-dtbncx+xml', - 'nfo' => 'text/x-nfo', - 'ngdat' => 'application/vnd.nokia.n-gage.data', - 'nitf' => 'application/vnd.nitf', - 'nlu' => 'application/vnd.neurolanguage.nlu', - 'nml' => 'application/vnd.enliven', - 'nnd' => 'application/vnd.noblenet-directory', - 'nns' => 'application/vnd.noblenet-sealer', - 'nnw' => 'application/vnd.noblenet-web', - 'npx' => 'image/vnd.net-fpx', - 'nsc' => 'application/x-conference', - 'nsf' => 'application/vnd.lotus-notes', - 'ntf' => 'application/vnd.nitf', - 'nzb' => 'application/x-nzb', - 'oa2' => 'application/vnd.fujitsu.oasys2', - 'oa3' => 'application/vnd.fujitsu.oasys3', - 'oas' => 'application/vnd.fujitsu.oasys', - 'obd' => 'application/x-msbinder', - 'obj' => 'application/x-tgif', - 'oda' => 'application/oda', - 'odb' => 'application/vnd.oasis.opendocument.database', - 'odc' => 'application/vnd.oasis.opendocument.chart', - 'odf' => 'application/vnd.oasis.opendocument.formula', - 'odft' => 'application/vnd.oasis.opendocument.formula-template', - 'odg' => 'application/vnd.oasis.opendocument.graphics', - 'odi' => 'application/vnd.oasis.opendocument.image', - 'odm' => 'application/vnd.oasis.opendocument.text-master', - 'odp' => 'application/vnd.oasis.opendocument.presentation', - 'ods' => 'application/vnd.oasis.opendocument.spreadsheet', - 'odt' => 'application/vnd.oasis.opendocument.text', - 'oga' => 'audio/ogg', - 'ogg' => 'audio/ogg', - 'ogv' => 'video/ogg', - 'ogx' => 'application/ogg', - 'omdoc' => 'application/omdoc+xml', - 'onepkg' => 'application/onenote', - 'onetmp' => 'application/onenote', - 'onetoc' => 'application/onenote', - 'onetoc2' => 'application/onenote', - 'opf' => 'application/oebps-package+xml', - 'opml' => 'text/x-opml', - 'oprc' => 'application/vnd.palm', - 'org' => 'application/vnd.lotus-organizer', - 'osf' => 'application/vnd.yamaha.openscoreformat', - 'osfpvg' => 'application/vnd.yamaha.openscoreformat.osfpvg+xml', - 'otc' => 'application/vnd.oasis.opendocument.chart-template', - 'otf' => 'application/x-font-otf', - 'otg' => 'application/vnd.oasis.opendocument.graphics-template', - 'oth' => 'application/vnd.oasis.opendocument.text-web', - 'oti' => 'application/vnd.oasis.opendocument.image-template', - 'otp' => 'application/vnd.oasis.opendocument.presentation-template', - 'ots' => 'application/vnd.oasis.opendocument.spreadsheet-template', - 'ott' => 'application/vnd.oasis.opendocument.text-template', - 'oxps' => 'application/oxps', - 'oxt' => 'application/vnd.openofficeorg.extension', - 'p' => 'text/x-pascal', - 'p10' => 'application/pkcs10', - 'p12' => 'application/x-pkcs12', - 'p7b' => 'application/x-pkcs7-certificates', - 'p7c' => 'application/pkcs7-mime', - 'p7m' => 'application/pkcs7-mime', - 'p7r' => 'application/x-pkcs7-certreqresp', - 'p7s' => 'application/pkcs7-signature', - 'p8' => 'application/pkcs8', - 'pas' => 'text/x-pascal', - 'paw' => 'application/vnd.pawaafile', - 'pbd' => 'application/vnd.powerbuilder6', - 'pbm' => 'image/x-portable-bitmap', - 'pcap' => 'application/vnd.tcpdump.pcap', - 'pcf' => 'application/x-font-pcf', - 'pcl' => 'application/vnd.hp-pcl', - 'pclxl' => 'application/vnd.hp-pclxl', - 'pct' => 'image/x-pict', - 'pcurl' => 'application/vnd.curl.pcurl', - 'pcx' => 'image/x-pcx', - 'pdb' => 'application/vnd.palm', - 'pdf' => 'application/pdf', - 'pfa' => 'application/x-font-type1', - 'pfb' => 'application/x-font-type1', - 'pfm' => 'application/x-font-type1', - 'pfr' => 'application/font-tdpfr', - 'pfx' => 'application/x-pkcs12', - 'pgm' => 'image/x-portable-graymap', - 'pgn' => 'application/x-chess-pgn', - 'pgp' => 'application/pgp-encrypted', - 'php' => 'application/x-php', - 'php3' => 'application/x-php', - 'php4' => 'application/x-php', - 'php5' => 'application/x-php', - 'pic' => 'image/x-pict', - 'pkg' => 'application/octet-stream', - 'pki' => 'application/pkixcmp', - 'pkipath' => 'application/pkix-pkipath', - 'plb' => 'application/vnd.3gpp.pic-bw-large', - 'plc' => 'application/vnd.mobius.plc', - 'plf' => 'application/vnd.pocketlearn', - 'pls' => 'application/pls+xml', - 'pml' => 'application/vnd.ctc-posml', - 'png' => 'image/png', - 'pnm' => 'image/x-portable-anymap', - 'portpkg' => 'application/vnd.macports.portpkg', - 'pot' => 'application/vnd.ms-powerpoint', - 'potm' => 'application/vnd.ms-powerpoint.template.macroenabled.12', - 'potx' => 'application/vnd.openxmlformats-officedocument.presentationml.template', - 'ppam' => 'application/vnd.ms-powerpoint.addin.macroenabled.12', - 'ppd' => 'application/vnd.cups-ppd', - 'ppm' => 'image/x-portable-pixmap', - 'pps' => 'application/vnd.ms-powerpoint', - 'ppsm' => 'application/vnd.ms-powerpoint.slideshow.macroenabled.12', - 'ppsx' => 'application/vnd.openxmlformats-officedocument.presentationml.slideshow', - 'ppt' => 'application/vnd.ms-powerpoint', - 'pptm' => 'application/vnd.ms-powerpoint.presentation.macroenabled.12', - 'pptx' => 'application/vnd.openxmlformats-officedocument.presentationml.presentation', - 'pqa' => 'application/vnd.palm', - 'prc' => 'application/x-mobipocket-ebook', - 'pre' => 'application/vnd.lotus-freelance', - 'prf' => 'application/pics-rules', - 'ps' => 'application/postscript', - 'psb' => 'application/vnd.3gpp.pic-bw-small', - 'psd' => 'image/vnd.adobe.photoshop', - 'psf' => 'application/x-font-linux-psf', - 'pskcxml' => 'application/pskc+xml', - 'ptid' => 'application/vnd.pvi.ptid1', - 'pub' => 'application/x-mspublisher', - 'pvb' => 'application/vnd.3gpp.pic-bw-var', - 'pwn' => 'application/vnd.3m.post-it-notes', - 'pya' => 'audio/vnd.ms-playready.media.pya', - 'pyv' => 'video/vnd.ms-playready.media.pyv', - 'qam' => 'application/vnd.epson.quickanime', - 'qbo' => 'application/vnd.intu.qbo', - 'qfx' => 'application/vnd.intu.qfx', - 'qps' => 'application/vnd.publishare-delta-tree', - 'qt' => 'video/quicktime', - 'qwd' => 'application/vnd.quark.quarkxpress', - 'qwt' => 'application/vnd.quark.quarkxpress', - 'qxb' => 'application/vnd.quark.quarkxpress', - 'qxd' => 'application/vnd.quark.quarkxpress', - 'qxl' => 'application/vnd.quark.quarkxpress', - 'qxt' => 'application/vnd.quark.quarkxpress', - 'ra' => 'audio/x-pn-realaudio', - 'ram' => 'audio/x-pn-realaudio', - 'rar' => 'application/x-rar-compressed', - 'ras' => 'image/x-cmu-raster', - 'rcprofile' => 'application/vnd.ipunplugged.rcprofile', - 'rdf' => 'application/rdf+xml', - 'rdz' => 'application/vnd.data-vision.rdz', - 'rep' => 'application/vnd.businessobjects', - 'res' => 'application/x-dtbresource+xml', - 'rgb' => 'image/x-rgb', - 'rif' => 'application/reginfo+xml', - 'rip' => 'audio/vnd.rip', - 'ris' => 'application/x-research-info-systems', - 'rl' => 'application/resource-lists+xml', - 'rlc' => 'image/vnd.fujixerox.edmics-rlc', - 'rld' => 'application/resource-lists-diff+xml', - 'rm' => 'application/vnd.rn-realmedia', - 'rmi' => 'audio/midi', - 'rmp' => 'audio/x-pn-realaudio-plugin', - 'rms' => 'application/vnd.jcp.javame.midlet-rms', - 'rmvb' => 'application/vnd.rn-realmedia-vbr', - 'rnc' => 'application/relax-ng-compact-syntax', - 'roa' => 'application/rpki-roa', - 'roff' => 'text/troff', - 'rp9' => 'application/vnd.cloanto.rp9', - 'rpss' => 'application/vnd.nokia.radio-presets', - 'rpst' => 'application/vnd.nokia.radio-preset', - 'rq' => 'application/sparql-query', - 'rs' => 'application/rls-services+xml', - 'rsd' => 'application/rsd+xml', - 'rss' => 'application/rss+xml', - 'rtf' => 'application/rtf', - 'rtx' => 'text/richtext', - 's' => 'text/x-asm', - 's3m' => 'audio/s3m', - 'saf' => 'application/vnd.yamaha.smaf-audio', - 'sbml' => 'application/sbml+xml', - 'sc' => 'application/vnd.ibm.secure-container', - 'scd' => 'application/x-msschedule', - 'scm' => 'application/vnd.lotus-screencam', - 'scq' => 'application/scvp-cv-request', - 'scs' => 'application/scvp-cv-response', - 'scurl' => 'text/vnd.curl.scurl', - 'sda' => 'application/vnd.stardivision.draw', - 'sdc' => 'application/vnd.stardivision.calc', - 'sdd' => 'application/vnd.stardivision.impress', - 'sdkd' => 'application/vnd.solent.sdkm+xml', - 'sdkm' => 'application/vnd.solent.sdkm+xml', - 'sdp' => 'application/sdp', - 'sdw' => 'application/vnd.stardivision.writer', - 'see' => 'application/vnd.seemail', - 'seed' => 'application/vnd.fdsn.seed', - 'sema' => 'application/vnd.sema', - 'semd' => 'application/vnd.semd', - 'semf' => 'application/vnd.semf', - 'ser' => 'application/java-serialized-object', - 'setpay' => 'application/set-payment-initiation', - 'setreg' => 'application/set-registration-initiation', - 'sfd-hdstx' => 'application/vnd.hydrostatix.sof-data', - 'sfs' => 'application/vnd.spotfire.sfs', - 'sfv' => 'text/x-sfv', - 'sgi' => 'image/sgi', - 'sgl' => 'application/vnd.stardivision.writer-global', - 'sgm' => 'text/sgml', - 'sgml' => 'text/sgml', - 'sh' => 'application/x-sh', - 'shar' => 'application/x-shar', - 'shf' => 'application/shf+xml', - 'sid' => 'image/x-mrsid-image', - 'sig' => 'application/pgp-signature', - 'sil' => 'audio/silk', - 'silo' => 'model/mesh', - 'sis' => 'application/vnd.symbian.install', - 'sisx' => 'application/vnd.symbian.install', - 'sit' => 'application/x-stuffit', - 'sitx' => 'application/x-stuffitx', - 'skd' => 'application/vnd.koan', - 'skm' => 'application/vnd.koan', - 'skp' => 'application/vnd.koan', - 'skt' => 'application/vnd.koan', - 'sldm' => 'application/vnd.ms-powerpoint.slide.macroenabled.12', - 'sldx' => 'application/vnd.openxmlformats-officedocument.presentationml.slide', - 'slt' => 'application/vnd.epson.salt', - 'sm' => 'application/vnd.stepmania.stepchart', - 'smf' => 'application/vnd.stardivision.math', - 'smi' => 'application/smil+xml', - 'smil' => 'application/smil+xml', - 'smv' => 'video/x-smv', - 'smzip' => 'application/vnd.stepmania.package', - 'snd' => 'audio/basic', - 'snf' => 'application/x-font-snf', - 'so' => 'application/octet-stream', - 'spc' => 'application/x-pkcs7-certificates', - 'spf' => 'application/vnd.yamaha.smaf-phrase', - 'spl' => 'application/x-futuresplash', - 'spot' => 'text/vnd.in3d.spot', - 'spp' => 'application/scvp-vp-response', - 'spq' => 'application/scvp-vp-request', - 'spx' => 'audio/ogg', - 'sql' => 'application/x-sql', - 'src' => 'application/x-wais-source', - 'srt' => 'application/x-subrip', - 'sru' => 'application/sru+xml', - 'srx' => 'application/sparql-results+xml', - 'ssdl' => 'application/ssdl+xml', - 'sse' => 'application/vnd.kodak-descriptor', - 'ssf' => 'application/vnd.epson.ssf', - 'ssml' => 'application/ssml+xml', - 'st' => 'application/vnd.sailingtracker.track', - 'stc' => 'application/vnd.sun.xml.calc.template', - 'std' => 'application/vnd.sun.xml.draw.template', - 'stf' => 'application/vnd.wt.stf', - 'sti' => 'application/vnd.sun.xml.impress.template', - 'stk' => 'application/hyperstudio', - 'stl' => 'application/vnd.ms-pki.stl', - 'str' => 'application/vnd.pg.format', - 'stw' => 'application/vnd.sun.xml.writer.template', - 'sub' => 'text/vnd.dvb.subtitle', - 'sus' => 'application/vnd.sus-calendar', - 'susp' => 'application/vnd.sus-calendar', - 'sv4cpio' => 'application/x-sv4cpio', - 'sv4crc' => 'application/x-sv4crc', - 'svc' => 'application/vnd.dvb.service', - 'svd' => 'application/vnd.svd', - 'svg' => 'image/svg+xml', - 'svgz' => 'image/svg+xml', - 'swa' => 'application/x-director', - 'swf' => 'application/x-shockwave-flash', - 'swi' => 'application/vnd.aristanetworks.swi', - 'sxc' => 'application/vnd.sun.xml.calc', - 'sxd' => 'application/vnd.sun.xml.draw', - 'sxg' => 'application/vnd.sun.xml.writer.global', - 'sxi' => 'application/vnd.sun.xml.impress', - 'sxm' => 'application/vnd.sun.xml.math', - 'sxw' => 'application/vnd.sun.xml.writer', - 't' => 'text/troff', - 't3' => 'application/x-t3vm-image', - 'taglet' => 'application/vnd.mynfc', - 'tao' => 'application/vnd.tao.intent-module-archive', - 'tar' => 'application/x-tar', - 'tcap' => 'application/vnd.3gpp2.tcap', - 'tcl' => 'application/x-tcl', - 'teacher' => 'application/vnd.smart.teacher', - 'tei' => 'application/tei+xml', - 'teicorpus' => 'application/tei+xml', - 'tex' => 'application/x-tex', - 'texi' => 'application/x-texinfo', - 'texinfo' => 'application/x-texinfo', - 'text' => 'text/plain', - 'tfi' => 'application/thraud+xml', - 'tfm' => 'application/x-tex-tfm', - 'tga' => 'image/x-tga', - 'thmx' => 'application/vnd.ms-officetheme', - 'tif' => 'image/tiff', - 'tiff' => 'image/tiff', - 'tmo' => 'application/vnd.tmobile-livetv', - 'torrent' => 'application/x-bittorrent', - 'tpl' => 'application/vnd.groove-tool-template', - 'tpt' => 'application/vnd.trid.tpt', - 'tr' => 'text/troff', - 'tra' => 'application/vnd.trueapp', - 'trm' => 'application/x-msterminal', - 'tsd' => 'application/timestamped-data', - 'tsv' => 'text/tab-separated-values', - 'ttc' => 'application/x-font-ttf', - 'ttf' => 'application/x-font-ttf', - 'ttl' => 'text/turtle', - 'twd' => 'application/vnd.simtech-mindmapper', - 'twds' => 'application/vnd.simtech-mindmapper', - 'txd' => 'application/vnd.genomatix.tuxedo', - 'txf' => 'application/vnd.mobius.txf', - 'txt' => 'text/plain', - 'u32' => 'application/x-authorware-bin', - 'udeb' => 'application/x-debian-package', - 'ufd' => 'application/vnd.ufdl', - 'ufdl' => 'application/vnd.ufdl', - 'ulx' => 'application/x-glulx', - 'umj' => 'application/vnd.umajin', - 'unityweb' => 'application/vnd.unity', - 'uoml' => 'application/vnd.uoml+xml', - 'uri' => 'text/uri-list', - 'uris' => 'text/uri-list', - 'urls' => 'text/uri-list', - 'ustar' => 'application/x-ustar', - 'utz' => 'application/vnd.uiq.theme', - 'uu' => 'text/x-uuencode', - 'uva' => 'audio/vnd.dece.audio', - 'uvd' => 'application/vnd.dece.data', - 'uvf' => 'application/vnd.dece.data', - 'uvg' => 'image/vnd.dece.graphic', - 'uvh' => 'video/vnd.dece.hd', - 'uvi' => 'image/vnd.dece.graphic', - 'uvm' => 'video/vnd.dece.mobile', - 'uvp' => 'video/vnd.dece.pd', - 'uvs' => 'video/vnd.dece.sd', - 'uvt' => 'application/vnd.dece.ttml+xml', - 'uvu' => 'video/vnd.uvvu.mp4', - 'uvv' => 'video/vnd.dece.video', - 'uvva' => 'audio/vnd.dece.audio', - 'uvvd' => 'application/vnd.dece.data', - 'uvvf' => 'application/vnd.dece.data', - 'uvvg' => 'image/vnd.dece.graphic', - 'uvvh' => 'video/vnd.dece.hd', - 'uvvi' => 'image/vnd.dece.graphic', - 'uvvm' => 'video/vnd.dece.mobile', - 'uvvp' => 'video/vnd.dece.pd', - 'uvvs' => 'video/vnd.dece.sd', - 'uvvt' => 'application/vnd.dece.ttml+xml', - 'uvvu' => 'video/vnd.uvvu.mp4', - 'uvvv' => 'video/vnd.dece.video', - 'uvvx' => 'application/vnd.dece.unspecified', - 'uvvz' => 'application/vnd.dece.zip', - 'uvx' => 'application/vnd.dece.unspecified', - 'uvz' => 'application/vnd.dece.zip', - 'vcard' => 'text/vcard', - 'vcd' => 'application/x-cdlink', - 'vcf' => 'text/x-vcard', - 'vcg' => 'application/vnd.groove-vcard', - 'vcs' => 'text/x-vcalendar', - 'vcx' => 'application/vnd.vcx', - 'vis' => 'application/vnd.visionary', - 'viv' => 'video/vnd.vivo', - 'vob' => 'video/x-ms-vob', - 'vor' => 'application/vnd.stardivision.writer', - 'vox' => 'application/x-authorware-bin', - 'vrml' => 'model/vrml', - 'vsd' => 'application/vnd.visio', - 'vsf' => 'application/vnd.vsf', - 'vss' => 'application/vnd.visio', - 'vst' => 'application/vnd.visio', - 'vsw' => 'application/vnd.visio', - 'vtu' => 'model/vnd.vtu', - 'vxml' => 'application/voicexml+xml', - 'w3d' => 'application/x-director', - 'wad' => 'application/x-doom', - 'wav' => 'audio/x-wav', - 'wax' => 'audio/x-ms-wax', - 'wbmp' => 'image/vnd.wap.wbmp', - 'wbs' => 'application/vnd.criticaltools.wbs+xml', - 'wbxml' => 'application/vnd.wap.wbxml', - 'wcm' => 'application/vnd.ms-works', - 'wdb' => 'application/vnd.ms-works', - 'wdp' => 'image/vnd.ms-photo', - 'weba' => 'audio/webm', - 'webm' => 'video/webm', - 'webp' => 'image/webp', - 'wg' => 'application/vnd.pmi.widget', - 'wgt' => 'application/widget', - 'wks' => 'application/vnd.ms-works', - 'wm' => 'video/x-ms-wm', - 'wma' => 'audio/x-ms-wma', - 'wmd' => 'application/x-ms-wmd', - 'wmf' => 'application/x-msmetafile', - 'wml' => 'text/vnd.wap.wml', - 'wmlc' => 'application/vnd.wap.wmlc', - 'wmls' => 'text/vnd.wap.wmlscript', - 'wmlsc' => 'application/vnd.wap.wmlscriptc', - 'wmv' => 'video/x-ms-wmv', - 'wmx' => 'video/x-ms-wmx', - 'wmz' => 'application/x-msmetafile', - 'woff' => 'application/font-woff', - 'wpd' => 'application/vnd.wordperfect', - 'wpl' => 'application/vnd.ms-wpl', - 'wps' => 'application/vnd.ms-works', - 'wqd' => 'application/vnd.wqd', - 'wri' => 'application/x-mswrite', - 'wrl' => 'model/vrml', - 'wsdl' => 'application/wsdl+xml', - 'wspolicy' => 'application/wspolicy+xml', - 'wtb' => 'application/vnd.webturbo', - 'wvx' => 'video/x-ms-wvx', - 'x32' => 'application/x-authorware-bin', - 'x3d' => 'model/x3d+xml', - 'x3db' => 'model/x3d+binary', - 'x3dbz' => 'model/x3d+binary', - 'x3dv' => 'model/x3d+vrml', - 'x3dvz' => 'model/x3d+vrml', - 'x3dz' => 'model/x3d+xml', - 'xaml' => 'application/xaml+xml', - 'xap' => 'application/x-silverlight-app', - 'xar' => 'application/vnd.xara', - 'xbap' => 'application/x-ms-xbap', - 'xbd' => 'application/vnd.fujixerox.docuworks.binder', - 'xbm' => 'image/x-xbitmap', - 'xdf' => 'application/xcap-diff+xml', - 'xdm' => 'application/vnd.syncml.dm+xml', - 'xdp' => 'application/vnd.adobe.xdp+xml', - 'xdssc' => 'application/dssc+xml', - 'xdw' => 'application/vnd.fujixerox.docuworks', - 'xenc' => 'application/xenc+xml', - 'xer' => 'application/patch-ops-error+xml', - 'xfdf' => 'application/vnd.adobe.xfdf', - 'xfdl' => 'application/vnd.xfdl', - 'xht' => 'application/xhtml+xml', - 'xhtml' => 'application/xhtml+xml', - 'xhvml' => 'application/xv+xml', - 'xif' => 'image/vnd.xiff', - 'xla' => 'application/vnd.ms-excel', - 'xlam' => 'application/vnd.ms-excel.addin.macroenabled.12', - 'xlc' => 'application/vnd.ms-excel', - 'xlf' => 'application/x-xliff+xml', - 'xlm' => 'application/vnd.ms-excel', - 'xls' => 'application/vnd.ms-excel', - 'xlsb' => 'application/vnd.ms-excel.sheet.binary.macroenabled.12', - 'xlsm' => 'application/vnd.ms-excel.sheet.macroenabled.12', - 'xlsx' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', - 'xlt' => 'application/vnd.ms-excel', - 'xltm' => 'application/vnd.ms-excel.template.macroenabled.12', - 'xltx' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.template', - 'xlw' => 'application/vnd.ms-excel', - 'xm' => 'audio/xm', - 'xml' => 'application/xml', - 'xo' => 'application/vnd.olpc-sugar', - 'xop' => 'application/xop+xml', - 'xpi' => 'application/x-xpinstall', - 'xpl' => 'application/xproc+xml', - 'xpm' => 'image/x-xpixmap', - 'xpr' => 'application/vnd.is-xpr', - 'xps' => 'application/vnd.ms-xpsdocument', - 'xpw' => 'application/vnd.intercon.formnet', - 'xpx' => 'application/vnd.intercon.formnet', - 'xsl' => 'application/xml', - 'xslt' => 'application/xslt+xml', - 'xsm' => 'application/vnd.syncml+xml', - 'xspf' => 'application/xspf+xml', - 'xul' => 'application/vnd.mozilla.xul+xml', - 'xvm' => 'application/xv+xml', - 'xvml' => 'application/xv+xml', - 'xwd' => 'image/x-xwindowdump', - 'xyz' => 'chemical/x-xyz', - 'xz' => 'application/x-xz', - 'yang' => 'application/yang', - 'yin' => 'application/yin+xml', - 'z1' => 'application/x-zmachine', - 'z2' => 'application/x-zmachine', - 'z3' => 'application/x-zmachine', - 'z4' => 'application/x-zmachine', - 'z5' => 'application/x-zmachine', - 'z6' => 'application/x-zmachine', - 'z7' => 'application/x-zmachine', - 'z8' => 'application/x-zmachine', - 'zaz' => 'application/vnd.zzazz.deck+xml', - 'zip' => 'application/zip', - 'zir' => 'application/vnd.zul', - 'zirz' => 'application/vnd.zul', - 'zmm' => 'application/vnd.handheld-entertainment+xml', - '123' => 'application/vnd.lotus-1-2-3', -]; diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/preferences.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/preferences.php deleted file mode 100644 index 27b7065..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/preferences.php +++ /dev/null @@ -1,19 +0,0 @@ -setCharset('utf-8'); - -// Without these lines the default caching mechanism is "array" but this uses a lot of memory. -// If possible, use a disk cache to enable attaching large attachments etc. -// You can override the default temporary directory by setting the TMPDIR environment variable. -if (@is_writable($tmpDir = sys_get_temp_dir())) { - $preferences->setTempDir($tmpDir)->setCacheType('disk'); -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/swift_required.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/swift_required.php deleted file mode 100644 index d696056..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/lib/swift_required.php +++ /dev/null @@ -1,22 +0,0 @@ - 'application/x-php', - 'php3' => 'application/x-php', - 'php4' => 'application/x-php', - 'php5' => 'application/x-php', - 'zip' => 'application/zip', - 'gif' => 'image/gif', - 'png' => 'image/png', - 'css' => 'text/css', - 'js' => 'text/javascript', - 'txt' => 'text/plain', - 'aif' => 'audio/x-aiff', - 'aiff' => 'audio/x-aiff', - 'avi' => 'video/avi', - 'bmp' => 'image/bmp', - 'bz2' => 'application/x-bz2', - 'csv' => 'text/csv', - 'dmg' => 'application/x-apple-diskimage', - 'doc' => 'application/msword', - 'docx' => 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', - 'eml' => 'message/rfc822', - 'aps' => 'application/postscript', - 'exe' => 'application/x-ms-dos-executable', - 'flv' => 'video/x-flv', - 'gz' => 'application/x-gzip', - 'hqx' => 'application/stuffit', - 'htm' => 'text/html', - 'html' => 'text/html', - 'jar' => 'application/x-java-archive', - 'jpeg' => 'image/jpeg', - 'jpg' => 'image/jpeg', - 'm3u' => 'audio/x-mpegurl', - 'm4a' => 'audio/mp4', - 'mdb' => 'application/x-msaccess', - 'mid' => 'audio/midi', - 'midi' => 'audio/midi', - 'mov' => 'video/quicktime', - 'mp3' => 'audio/mpeg', - 'mp4' => 'video/mp4', - 'mpeg' => 'video/mpeg', - 'mpg' => 'video/mpeg', - 'odg' => 'vnd.oasis.opendocument.graphics', - 'odp' => 'vnd.oasis.opendocument.presentation', - 'odt' => 'vnd.oasis.opendocument.text', - 'ods' => 'vnd.oasis.opendocument.spreadsheet', - 'ogg' => 'audio/ogg', - 'pdf' => 'application/pdf', - 'ppt' => 'application/vnd.ms-powerpoint', - 'pptx' => 'application/vnd.openxmlformats-officedocument.presentationml.presentation', - 'ps' => 'application/postscript', - 'rar' => 'application/x-rar-compressed', - 'rtf' => 'application/rtf', - 'tar' => 'application/x-tar', - 'sit' => 'application/x-stuffit', - 'svg' => 'image/svg+xml', - 'tif' => 'image/tiff', - 'tiff' => 'image/tiff', - 'ttf' => 'application/x-font-truetype', - 'vcf' => 'text/x-vcard', - 'wav' => 'audio/wav', - 'wma' => 'audio/x-ms-wma', - 'wmv' => 'audio/x-ms-wmv', - 'xls' => 'application/vnd.ms-excel', - 'xlsx' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', - 'xml' => 'application/xml', - ]; - - // wrap array for generating file - foreach ($valid_mime_types_preset as $extension => $mime_type) { - // generate array for mimetype to extension resolver (only first match) - $valid_mime_types[$extension] = "'{$extension}' => '{$mime_type}'"; - } - - // all extensions from second match - foreach ($matches[2] as $i => $extensions) { - // explode multiple extensions from string - $extensions = explode(' ', strtolower($extensions)); - - // force array for foreach - if (!is_array($extensions)) { - $extensions = [$extensions]; - } - - foreach ($extensions as $extension) { - // get mime type - $mime_type = $matches[1][$i]; - - // check if string length lower than 10 - if (strlen($extension) < 10) { - if (!isset($valid_mime_types[$mime_type])) { - // generate array for mimetype to extension resolver (only first match) - $valid_mime_types[$extension] = "'{$extension}' => '{$mime_type}'"; - } - } - } - } - } - - $xml = simplexml_load_string($mime_xml); - - foreach ($xml as $node) { - // check if there is no pattern - if (!isset($node->glob['pattern'])) { - continue; - } - - // get all matching extensions from match - foreach ((array) $node->glob['pattern'] as $extension) { - // skip none glob extensions - if (false === strpos($extension, '.')) { - continue; - } - - // remove get only last part - $extension = explode('.', strtolower($extension)); - $extension = end($extension); - } - - if (isset($node->glob['pattern'][0])) { - // mime type - $mime_type = strtolower((string) $node['type']); - - // get first extension - $extension = strtolower(trim($node->glob['ddpattern'][0], '*.')); - - // skip none glob extensions and check if string length between 1 and 10 - if (false !== strpos($extension, '.') || strlen($extension) < 1 || strlen($extension) > 9) { - continue; - } - - // check if string length lower than 10 - if (!isset($valid_mime_types[$mime_type])) { - // generate array for mimetype to extension resolver (only first match) - $valid_mime_types[$extension] = "'{$extension}' => '{$mime_type}'"; - } - } - } - - // full list of valid extensions only - $valid_mime_types = array_unique($valid_mime_types); - ksort($valid_mime_types); - - // combine mime types and extensions array - $output = "$preamble\$swift_mime_types = array(\n ".implode(",\n ", $valid_mime_types)."\n);"; - - // write mime_types.php config file - @file_put_contents('./mime_types.php', $output); -} - -generateUpToDateMimeArray(); diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/phpunit.xml.dist b/paragonik-backend/vendor/swiftmailer/swiftmailer/phpunit.xml.dist deleted file mode 100644 index 9ec0c49..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/phpunit.xml.dist +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - tests/unit - - - tests/acceptance - - - tests/bug - - - tests/smoke - - - - - - - diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/IdenticalBinaryConstraint.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/IdenticalBinaryConstraint.php deleted file mode 100644 index 0a4a6da..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/IdenticalBinaryConstraint.php +++ /dev/null @@ -1,62 +0,0 @@ -value = $value; - } - - /** - * Evaluates the constraint for parameter $other. Returns TRUE if the - * constraint is met, FALSE otherwise. - * - * @param mixed $other Value or object to evaluate. - * - * @return bool - */ - public function matches($other) - { - $aHex = $this->asHexString($this->value); - $bHex = $this->asHexString($other); - - return $aHex === $bHex; - } - - /** - * Returns a string representation of the constraint. - * - * @return string - */ - public function toString() - { - return 'identical binary'; - } - - /** - * Get the given string of bytes as a stirng of Hexadecimal sequences. - * - * @param string $binary - * - * @return string - */ - private function asHexString($binary) - { - $hex = ''; - - $bytes = unpack('H*', $binary); - - foreach ($bytes as &$byte) { - $byte = strtoupper($byte); - } - - return implode('', $bytes); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/StreamCollector.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/StreamCollector.php deleted file mode 100644 index 7f079d9..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/StreamCollector.php +++ /dev/null @@ -1,11 +0,0 @@ -content .= $arg; - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/SwiftMailerSmokeTestCase.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/SwiftMailerSmokeTestCase.php deleted file mode 100644 index 13bd240..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/SwiftMailerSmokeTestCase.php +++ /dev/null @@ -1,46 +0,0 @@ -markTestSkipped( - 'Smoke tests are skipped if tests/smoke.conf.php is not edited' - ); - } - } - - protected function getMailer() - { - switch (SWIFT_SMOKE_TRANSPORT_TYPE) { - case 'smtp': - $transport = Swift_DependencyContainer::getInstance()->lookup('transport.smtp') - ->setHost(SWIFT_SMOKE_SMTP_HOST) - ->setPort(SWIFT_SMOKE_SMTP_PORT) - ->setUsername(SWIFT_SMOKE_SMTP_USER) - ->setPassword(SWIFT_SMOKE_SMTP_PASS) - ->setEncryption(SWIFT_SMOKE_SMTP_ENCRYPTION) - ; - break; - case 'sendmail': - $transport = Swift_DependencyContainer::getInstance()->lookup('transport.sendmail') - ->setCommand(SWIFT_SMOKE_SENDMAIL_COMMAND) - ; - break; - case 'mail': - case 'nativemail': - $transport = Swift_DependencyContainer::getInstance()->lookup('transport.mail'); - break; - default: - throw new Exception('Undefined transport ['.SWIFT_SMOKE_TRANSPORT_TYPE.']'); - } - - return new Swift_Mailer($transport); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/SwiftMailerTestCase.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/SwiftMailerTestCase.php deleted file mode 100644 index fe2c62b..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/SwiftMailerTestCase.php +++ /dev/null @@ -1,38 +0,0 @@ - \ No newline at end of file diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/_samples/files/swiftmailer.png b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/_samples/files/swiftmailer.png deleted file mode 100644 index 1b95f61..0000000 Binary files a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/_samples/files/swiftmailer.png and /dev/null differ diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/_samples/files/textfile.zip b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/_samples/files/textfile.zip deleted file mode 100644 index 5a580ec..0000000 Binary files a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/_samples/files/textfile.zip and /dev/null differ diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/_samples/smime/CA.srl b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/_samples/smime/CA.srl deleted file mode 100644 index dd9818a..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/_samples/smime/CA.srl +++ /dev/null @@ -1 +0,0 @@ -D42DA34CF90FA0DE diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/_samples/smime/ca.crt b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/_samples/smime/ca.crt deleted file mode 100644 index 695f814..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/_samples/smime/ca.crt +++ /dev/null @@ -1,21 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIDazCCAlOgAwIBAgIJAKJCGQYLxWT1MA0GCSqGSIb3DQEBBQUAMEwxFzAVBgNV -BAMMDlN3aWZ0bWFpbGVyIENBMRQwEgYDVQQKDAtTd2lmdG1haWxlcjEOMAwGA1UE -BwwFUGFyaXMxCzAJBgNVBAYTAkZSMB4XDTEzMTEyNzA4MzkxMFoXDTE3MTEyNjA4 -MzkxMFowTDEXMBUGA1UEAwwOU3dpZnRtYWlsZXIgQ0ExFDASBgNVBAoMC1N3aWZ0 -bWFpbGVyMQ4wDAYDVQQHDAVQYXJpczELMAkGA1UEBhMCRlIwggEiMA0GCSqGSIb3 -DQEBAQUAA4IBDwAwggEKAoIBAQC7RLdHE3OWo9aZwv1xA/cYyPui/gegxpTqClRp -gGcVQ+jxIfnJQDQndyoAvFDiqOiZ+gAjZGJeUHDp9C/2IZp05MLh+omt9N8pBykm -3nj/3ZwPXOAO0uyDPAOHhISITAxEuZCqDnq7iYujywtwfQ7bpW1hCK9PfNZYMStM -kw7LsGr5BqcKkPuOWTvxE3+NqK8HxydYolsoApEGhgonyImVh1Pg1Kjkt5ojvwAX -zOdjfw5poY5NArwuLORUH+XocetRo8DC6S42HkU/MoqcYxa9EuRuwuQh7GtE6baR -PgrDsEYaY4Asy43sK81V51F/8Q1bHZKN/goQdxQwzv+/nOLTAgMBAAGjUDBOMB0G -A1UdDgQWBBRHgqkl543tKhsVAvcx1I0JFU7JuDAfBgNVHSMEGDAWgBRHgqkl543t -KhsVAvcx1I0JFU7JuDAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBBQUAA4IBAQAz -OJiEQcygKGkkXXDiXGBvP/cSznj3nG9FolON0yHUBgdvLfNnctRMStGzPke0siLt -RJvjqiL0Uw+blmLJU8lgMyLJ9ctXkiLJ/WflabN7VzmwYRWe5HzafGQJAg5uFjae -VtAAHQgvbmdXB6brWvcMQmB8di7wjVedeigZvkt1z2V0FtBy8ybJaT5H6bX9Bf5C -dS9r4mLhk/0ThthpRhRxsmupSL6e49nJaIk9q0UTEQVnorJXPcs4SPTIY51bCp6u -cOebhNgndSxCiy0zSD7vRjNiyB/YNGZ9Uv/3DNTLleMZ9kZgfoKVpwYKrRL0IFT/ -cfS2OV1wxRxq668qaOfK ------END CERTIFICATE----- diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/_samples/smime/ca.key b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/_samples/smime/ca.key deleted file mode 100644 index df67470..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/_samples/smime/ca.key +++ /dev/null @@ -1,27 +0,0 @@ ------BEGIN RSA PRIVATE KEY----- -MIIEogIBAAKCAQEAu0S3RxNzlqPWmcL9cQP3GMj7ov4HoMaU6gpUaYBnFUPo8SH5 -yUA0J3cqALxQ4qjomfoAI2RiXlBw6fQv9iGadOTC4fqJrfTfKQcpJt54/92cD1zg -DtLsgzwDh4SEiEwMRLmQqg56u4mLo8sLcH0O26VtYQivT3zWWDErTJMOy7Bq+Qan -CpD7jlk78RN/jaivB8cnWKJbKAKRBoYKJ8iJlYdT4NSo5LeaI78AF8znY38OaaGO -TQK8LizkVB/l6HHrUaPAwukuNh5FPzKKnGMWvRLkbsLkIexrROm2kT4Kw7BGGmOA -LMuN7CvNVedRf/ENWx2Sjf4KEHcUMM7/v5zi0wIDAQABAoIBAGyaWkvu/O7Uz2TW -z1JWgVuvWzfYaKYV5FCicvfITn/npVUKZikPge+NTR+mFqaMXHDHqoLb+axGrGUR -hysPq9q0vEx/lo763tyVWYlAJh4E8Dd8njganK0zBbz23kGJEOheUYY95XGTQBda -bqTq8c3x7zAB8GGBvXDh+wFqm38GLyMF6T+YEzWJZqXfg31f1ldRvf6+VFwlLfz6 -cvTR7oUpYIsUeGE47kBs13SN7Oju6a355o/7wy9tOCRiu+r/ikXFh8rFGLfeTiwv -R1dhYjcEYGxZUD8u64U+Cj4qR1P0gHJL0kbh22VMMqgALOc8FpndkjNdg1Nun2X8 -BWpsPwECgYEA7C9PfTOIZfxGBlCl05rmWex++/h5E5PbH1Cw/NGjIH1HjmAkO3+5 -WyMXhySOJ8yWyCBQ/nxqc0w7+TO4C7wQcEdZdUak25KJ74v0sfmWWrVw6kcnLU6k -oawW/L2F2w7ET3zDoxKh4fOF34pfHpSbZk7XJ68YOfHpYVnP4efkQVMCgYEAyvrM -KA7xjnsKumWh206ag3QEI0M/9uPHWmrh2164p7w1MtawccZTxYYJ5o5SsjTwbxkf -0cAamp4qLInmRUxU1gk76tPYC3Ndp6Yf1C+dt0q/vtzyJetCDrdz8HHT1SpKbW0l -g6z1I5FMwa6oWvWsfS++W51vsxUheNsOJ4uxKIECgYBwM7GRiw+7U3N4wItm0Wmp -Qp642Tu7vzwTzmOmV3klkB6UVrwfv/ewgiVFQGqAIcNn42JW44g2qfq70oQWnws4 -K80l15+t6Bm7QUPH4Qg6o4O26IKGFZxEadqpyudyP7um/2B5cfqRuvzYS4YQowyI -N+AirB3YOUJjyyTk7yMSnQKBgGNLpSvDg6+ryWe96Bwcq8G6s3t8noHsk81LlAl4 -oOSNUYj5NX+zAbATDizXWuUKuMPgioxVaa5RyVfYbelgme/KvKD32Sxg12P4BIIM -eR79VifMdjjOiZYhcHojdPlGovo89qkfpxwrLF1jT8CPhj4HaRvwPIBiyekRYC9A -Sv4BAoGAXCIC1xxAJP15osUuQjcM8KdsL1qw+LiPB2+cJJ2VMAZGV7CR2K0aCsis -OwRaYM0jZKUpxzp1uwtfrfqbhdYsv+jIBkfwoShYZuo6MhbUrj0sffkhJC3WrT2z -xafCFLFv1idzGvvNxatlp1DNKrndG2NS3syVAox9MnL5OMsvGM8= ------END RSA PRIVATE KEY----- diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/_samples/smime/create-cert.sh b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/_samples/smime/create-cert.sh deleted file mode 100644 index 0454f20..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/_samples/smime/create-cert.sh +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/sh - -openssl genrsa -out CA.key 2048 -openssl req -x509 -new -nodes -key CA.key -days 1460 -subj '/CN=Swiftmailer CA/O=Swiftmailer/L=Paris/C=FR' -out CA.crt -openssl x509 -in CA.crt -clrtrust -out CA.crt - -openssl genrsa -out sign.key 2048 -openssl req -new -key sign.key -subj '/CN=Swiftmailer-User/O=Swiftmailer/L=Paris/C=FR' -out sign.csr -openssl x509 -req -in sign.csr -CA CA.crt -CAkey CA.key -out sign.crt -days 1460 -addtrust emailProtection -openssl x509 -in sign.crt -clrtrust -out sign.crt - -rm sign.csr - -openssl genrsa -out intermediate.key 2048 -openssl req -new -key intermediate.key -subj '/CN=Swiftmailer Intermediate/O=Swiftmailer/L=Paris/C=FR' -out intermediate.csr -openssl x509 -req -in intermediate.csr -CA CA.crt -CAkey CA.key -set_serial 01 -out intermediate.crt -days 1460 -openssl x509 -in intermediate.crt -clrtrust -out intermediate.crt - -rm intermediate.csr - -openssl genrsa -out sign2.key 2048 -openssl req -new -key sign2.key -subj '/CN=Swiftmailer-User2/O=Swiftmailer/L=Paris/C=FR' -out sign2.csr -openssl x509 -req -in sign2.csr -CA intermediate.crt -CAkey intermediate.key -set_serial 01 -out sign2.crt -days 1460 -addtrust emailProtection -openssl x509 -in sign2.crt -clrtrust -out sign2.crt - -rm sign2.csr - -openssl genrsa -out encrypt.key 2048 -openssl req -new -key encrypt.key -subj '/CN=Swiftmailer-User/O=Swiftmailer/L=Paris/C=FR' -out encrypt.csr -openssl x509 -req -in encrypt.csr -CA CA.crt -CAkey CA.key -CAcreateserial -out encrypt.crt -days 1460 -addtrust emailProtection -openssl x509 -in encrypt.crt -clrtrust -out encrypt.crt - -rm encrypt.csr - -openssl genrsa -out encrypt2.key 2048 -openssl req -new -key encrypt2.key -subj '/CN=Swiftmailer-User2/O=Swiftmailer/L=Paris/C=FR' -out encrypt2.csr -openssl x509 -req -in encrypt2.csr -CA CA.crt -CAkey CA.key -CAcreateserial -out encrypt2.crt -days 1460 -addtrust emailProtection -openssl x509 -in encrypt2.crt -clrtrust -out encrypt2.crt - -rm encrypt2.csr diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/_samples/smime/encrypt.crt b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/_samples/smime/encrypt.crt deleted file mode 100644 index 7435855..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/_samples/smime/encrypt.crt +++ /dev/null @@ -1,19 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIDFjCCAf4CCQDULaNM+Q+g3TANBgkqhkiG9w0BAQUFADBMMRcwFQYDVQQDDA5T -d2lmdG1haWxlciBDQTEUMBIGA1UECgwLU3dpZnRtYWlsZXIxDjAMBgNVBAcMBVBh -cmlzMQswCQYDVQQGEwJGUjAeFw0xMzExMjcwODM5MTFaFw0xNzExMjYwODM5MTFa -ME4xGTAXBgNVBAMMEFN3aWZ0bWFpbGVyLVVzZXIxFDASBgNVBAoMC1N3aWZ0bWFp -bGVyMQ4wDAYDVQQHDAVQYXJpczELMAkGA1UEBhMCRlIwggEiMA0GCSqGSIb3DQEB -AQUAA4IBDwAwggEKAoIBAQCcNO+fVZBT2znmVwXXZ08n3G5WA1kyvqh9z4RBBZOD -V46Gc1X9MMXr9+wzZBFkAckKaa6KsTkeUr4pC8XUBpQnakxH/kW9CaDPdOE+7wNo -FkPfc6pjWWgpAVxdkrtk7pb4/aGQ++HUkqVu0cMpIcj/7ht7H+3QLZHybn+oMr2+ -FDnn8vPmHxVioinSrxKTlUITuLWS9ZZUTrDa0dG8UAv55A/Tba4T4McCPDpJSA4m -9jrW321NGQUntQoItOJxagaueSvh6PveGV826gTXoU5X+YJ3I2OZUEQ2l6yByAzf -nT+QlxPj5ikotFwL72HsenYtetynOO/k43FblAF/V/l7AgMBAAEwDQYJKoZIhvcN -AQEFBQADggEBAJ048Sdb9Sw5OJM5L00OtGHgcT1B/phqdzSjkM/s64cg3Q20VN+F -fZIIkOnxgyYWcpOWXcdNw2tm5OWhWPGsBcYgMac7uK/ukgoOJSjICg+TTS5kRo96 -iHtmImqkWc6WjNODh7uMnQ6DsZsscdl7Bkx5pKhgGnEdHr5GW8sztgXgyPQO5LUs -YzCmR1RK1WoNMxwbPrGLgYdcpJw69ns5hJbZbMWwrdufiMjYWvTfBPABkk1JRCcY -K6rRTAx4fApsw1kEIY8grGxyAzfRXLArpro7thJr0SIquZ8GpXkQT/mgRR8JD9Hp -z9yhr98EnKzITE/yclGN4pUsuk9S3jiyzUU= ------END CERTIFICATE----- diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/_samples/smime/encrypt.key b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/_samples/smime/encrypt.key deleted file mode 100644 index aa620ca..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/_samples/smime/encrypt.key +++ /dev/null @@ -1,27 +0,0 @@ ------BEGIN RSA PRIVATE KEY----- -MIIEpAIBAAKCAQEAnDTvn1WQU9s55lcF12dPJ9xuVgNZMr6ofc+EQQWTg1eOhnNV -/TDF6/fsM2QRZAHJCmmuirE5HlK+KQvF1AaUJ2pMR/5FvQmgz3ThPu8DaBZD33Oq -Y1loKQFcXZK7ZO6W+P2hkPvh1JKlbtHDKSHI/+4bex/t0C2R8m5/qDK9vhQ55/Lz -5h8VYqIp0q8Sk5VCE7i1kvWWVE6w2tHRvFAL+eQP022uE+DHAjw6SUgOJvY61t9t -TRkFJ7UKCLTicWoGrnkr4ej73hlfNuoE16FOV/mCdyNjmVBENpesgcgM350/kJcT -4+YpKLRcC+9h7Hp2LXrcpzjv5ONxW5QBf1f5ewIDAQABAoIBADmuMm2botfUM+Ui -bT3FIC2P8A5C3kUmsgEDB8sazAXL5w0uuanswKkJu2aepO1Q23PE4nbESlswIpf1 -iO9qHnsPfWt4MThEveTdO++JQrDEx/tTMq/M6/F4VysWa6wxjf4Taf2nhRSBsiTh -wDcICri2q98jQyWELkhfFTR+yCHPsn6iNtzE2OpNv9ojKiSqck/sVjC39Z+uU/HD -N4v0CPf9pDGkO+modaVGKf2TpvZT7Hpq/jsPzkk1h7BY7aWdZiIY4YkBkWYqZk8f -0dsxKkOR2glfuEYNtcywG+4UGx3i1AY0mMu96hH5M1ACFmFrTCoodmWDnWy9wUpm -leLmG8ECgYEAywWdryqcvLyhcmqHbnmUhCL9Vl4/5w5fr/5/FNvqArxSGwd2CxcN -Jtkvu22cxWAUoe155eMc6GlPIdNRG8KdWg4sg0TN3Jb2jiHQ3QkHXUJlWU6onjP1 -g2n5h052JxVNGBEb7hr3U7ZMW6wnuYnGdYwCB9P3r5oGxxtfVRB8ygUCgYEAxPfy -tAd3SNT8Sv/cciw76GYKbztUjJRXkLo6GOBGq/AQxP1NDWMuL2AES11YIahidMsF -TMmM+zhkNHsd5P69p87FTMWx0cLoH0M9iQNK7Q6C1luTjLf5DTFuk+nHGErM4Drs -+6Ly1Z4KLXfXgBDD8Ce6U9+W3RrCc36poGZvjX8CgYEAna0P6WJr9r19mhIYevmc -Gf/ex7xNXxMvx80dP8MIfPVrwyhJSpWtljVpt+SKtFRJ0fVRDfUUl4Bqf/fR74B3 -muCVO6ItTBxHAt5Ki9CeUpTlh7XqiWwLSvP8Y1TRuMr3ZDCtg4CYBAD6Ttxmwde6 -NcL2NMQwgsZaazrcEIHMmU0CgYEAl/Mn2tZ/oUIdt8YWzEVvmeNOXW0J1sGBo/bm -ZtZt7qpuZWl7jb5bnNSXu4QxPxXljnAokIpUJmHke9AWydfze4c6EfXZLhcMd0Gq -MQ7HOIWfTbqr4zzx9smRoq4Ql57s2nba521XpJAdDeKL7xH/9j7PsXCls8C3Dd5D -AajEmgUCgYAGEdn6tYxIdX7jF39E3x7zHQf8jHIoQ7+cLTLtd944mSGgeqMfbiww -CoUa+AAUqjdAD5ViAyJrA+gmDtWpkFnJZtToXYwfUF2o3zRo4k1DeBrVbFqwSQkE -omrfiBGtviYIPdqQLE34LYpWEooNPraqO9qTyc+9w5038u2OFS+WmQ== ------END RSA PRIVATE KEY----- diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/_samples/smime/encrypt2.crt b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/_samples/smime/encrypt2.crt deleted file mode 100644 index 6908165..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/_samples/smime/encrypt2.crt +++ /dev/null @@ -1,19 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIDFzCCAf8CCQDULaNM+Q+g3jANBgkqhkiG9w0BAQUFADBMMRcwFQYDVQQDDA5T -d2lmdG1haWxlciBDQTEUMBIGA1UECgwLU3dpZnRtYWlsZXIxDjAMBgNVBAcMBVBh -cmlzMQswCQYDVQQGEwJGUjAeFw0xMzExMjcwODM5MTJaFw0xNzExMjYwODM5MTJa -ME8xGjAYBgNVBAMMEVN3aWZ0bWFpbGVyLVVzZXIyMRQwEgYDVQQKDAtTd2lmdG1h -aWxlcjEOMAwGA1UEBwwFUGFyaXMxCzAJBgNVBAYTAkZSMIIBIjANBgkqhkiG9w0B -AQEFAAOCAQ8AMIIBCgKCAQEAw4AoYVYss2sa1BWJAJpK6gVemjXrp1mVXVpb1/z6 -SH15AGsp3kiNXsMpgvsdofbqC/5HXrw2G8gWqo+uh6GuK67+Tvp7tO2aD4+8CZzU -K1cffj7Pbx95DUPwXckv79PT5ZcuyeFaVo92aug11+gS/P8n0WXSlzZxNuZ1f3G2 -r/IgwfNKZlarEf1Ih781L2SwmyveW/dtsV2pdrd4IZwsV5SOF2zBFIXSuhPN0c+m -mtwSJe+Ow1udLX4KJkAX8sGVFJ5P5q4s2nS9vLkkj7X6YRQscbyJO9L7e1TksRqL -DLxZwiko6gUhp4/bIs1wDj5tzkQBi4qXviRq3i7A9b2d0QIDAQABMA0GCSqGSIb3 -DQEBBQUAA4IBAQAj8iARhPB2DA3YfT5mJJrgU156Sm0Z3mekAECsr+VqFZtU/9Dz -pPFYEf0hg61cjvwhLtOmaTB+50hu1KNNlu8QlxAfPJqNxtH85W0CYiZHJwW9eSTr -z1swaHpRHLDUgo3oAXdh5syMbdl0MWos0Z14WP5yYu4IwJXs+j2JRW70BICyrNjm -d+AjCzoYjKMdJkSj4uxQEOuW2/5veAoDyU+kHDdfT7SmbyoKu+Pw4Xg/XDuKoWYg -w5/sRiw5vxsmOr9+anspDHdP9rUe1JEfwAJqZB3fwdqEyxu54Xw/GedG4wZBEJf0 -ZcS1eh31emcjYUHQa1IA93jcFSmXzJ+ftJrY ------END CERTIFICATE----- diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/_samples/smime/encrypt2.key b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/_samples/smime/encrypt2.key deleted file mode 100644 index e322a8f..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/_samples/smime/encrypt2.key +++ /dev/null @@ -1,27 +0,0 @@ ------BEGIN RSA PRIVATE KEY----- -MIIEpAIBAAKCAQEAw4AoYVYss2sa1BWJAJpK6gVemjXrp1mVXVpb1/z6SH15AGsp -3kiNXsMpgvsdofbqC/5HXrw2G8gWqo+uh6GuK67+Tvp7tO2aD4+8CZzUK1cffj7P -bx95DUPwXckv79PT5ZcuyeFaVo92aug11+gS/P8n0WXSlzZxNuZ1f3G2r/IgwfNK -ZlarEf1Ih781L2SwmyveW/dtsV2pdrd4IZwsV5SOF2zBFIXSuhPN0c+mmtwSJe+O -w1udLX4KJkAX8sGVFJ5P5q4s2nS9vLkkj7X6YRQscbyJO9L7e1TksRqLDLxZwiko -6gUhp4/bIs1wDj5tzkQBi4qXviRq3i7A9b2d0QIDAQABAoIBAH8RvK1PmqxfkEeL -W8oVf13OcafgJjRW6NuNkKa5mmAlldFs1gDRvXl7dm7ZE3CjkYqMEw2DXdP+4KSp -0TH9J7zi+A6ThnaZ/QniTcEdu1YUQbcH0kIS/dZec0wyKUNDtrXC5zl2jQY4Jyrj -laOpBzaEDfhvq0p3q2yYrIRSgACpSEVEsfPoHrxtlLhfMkVNe8P0nkQkzdwou5MQ -MZKV4JUopLHLgPH6IXQCqA1wzlU32yZ86w88GFcBVLkwlLJCKbuAo7yxMCD+nzvA -xm5NuF1kzpP0gk+kZRXF+rFEV4av/2kSS+n8IeUBQZrxovLBuQHVDvJXoqcEjmlh -ZUltznUCgYEA4inwieePfb7kh7L/ma5OLLn+uCNwzVw9LayzXT1dyPravOnkHl6h -MgaoTspqDyU8k8pStedRrr5dVYbseni/A4WSMGvi4innqSXBQGp64TyeJy/e+LrS -ypSWQ6RSJkCxI5t8s4mOpR7FMcdE34I5qeA4G5RS1HIacn7Hxc7uXtcCgYEA3Uqn -E7EDfNfYdZm6AikvE6x64oihWI0x47rlkLu6lf6ihiF1dbfaEN+IAaIxQ/unGYwU -130F0TUwarXnVkeBIRlij4fXhExyd7USSQH1VpqmIqDwsS2ojrzQVMo5UcH+A22G -bbHPtwJNmw8a7yzTPWo2/vnjgV2OaXEQ9vCVG5cCgYEAu1kEoihJDGBijSqxY4wp -xBE7OSxamDNtlnV2i6l3FDMBmfaieqnnHDq5l7NDklJFUSQLyhXZ60hUprHDGV0G -1pMCW8wzQSh3d/4HjSXnrsd5N3sHWMHiNeBKbbQkPP3f/2AhN9SebpgDwE2S9xe4 -TsmnkOkYiFYRJIFzWaAmhDcCgYEAwxRCgZt0xaPKULG6RpljxOYyVm24PsYKCwYB -xjuYWw5k2/W3BJWVCXblAPuojpPUVTMmVGkErc9D5W6Ch471iOZF+t334cs6xci8 -W9v8GeKvPqu+Q5NKmrpctcKoESkA8qik7yLnSCAhpeYFCn/roKJ35QMJyktddhqU -p/yilfUCgYBxZ6YmFjYH6l5SxQdcfa5JQ2To8lZCfRJwB65EyWj4pKH4TaWFS7vb -50WOGTBwJgyhTKLCO3lOmXIUyIwC+OO9xzaeRCBjqEhpup/Ih3MsfMEd6BZRVK5E -IxtmIWba5HQ52k8FKHeRrRB7PSVSADUN2pUFkLudH+j/01kSZyJoLA== ------END RSA PRIVATE KEY----- diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/_samples/smime/intermediate.crt b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/_samples/smime/intermediate.crt deleted file mode 100644 index 012f734..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/_samples/smime/intermediate.crt +++ /dev/null @@ -1,19 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIDFjCCAf4CAQEwDQYJKoZIhvcNAQEFBQAwTDEXMBUGA1UEAwwOU3dpZnRtYWls -ZXIgQ0ExFDASBgNVBAoMC1N3aWZ0bWFpbGVyMQ4wDAYDVQQHDAVQYXJpczELMAkG -A1UEBhMCRlIwHhcNMTQxMTIwMTMyNTQxWhcNMTgxMTE5MTMyNTQxWjBWMSEwHwYD -VQQDDBhTd2lmdG1haWxlciBJbnRlcm1lZGlhdGUxFDASBgNVBAoMC1N3aWZ0bWFp -bGVyMQ4wDAYDVQQHDAVQYXJpczELMAkGA1UEBhMCRlIwggEiMA0GCSqGSIb3DQEB -AQUAA4IBDwAwggEKAoIBAQDSgEhftX6f1wV+uqWl4J+zwCn8fHaLZT6GZ0Gs9ThE -4e+4mkLG1rvSEIJon8U0ic8Zph1UGa1Grveh5bgbldHlFxYSsCCyDGgixRvRWNhI -KuO+SxaIZChqqKwVn3aNQ4BZOSo/MjJ/jQyr9BMgMmdxlHR3e1wkkeAkW//sOsfu -xQGF1h9yeQvuu/GbG6K7vHSGOGd5O3G7bftfQ7l78TMqeJ7jV32AdJeuO5MD4dRn -W4CQLTaeribLN0MKn35UdSiFoZxKHqqWcgtl5xcJWPOmq6CsAJ2Eo90kW/BHOrLv -10h6Oan9R1PdXSvSCvVnXY3Kz30zofw305oA/KJk/hVzAgMBAAEwDQYJKoZIhvcN -AQEFBQADggEBABijZ2NNd05Js5VFNr4uyaydam9Yqu/nnrxbPRbAXPlCduydu2Gd -d1ekn3nblMJ87Bc7zVyHdAQD8/AfS1LOKuoWHpTzmlpIL+8T5sbCYG5J1jKdeLkh -7L/UD5v1ACgA33oKtN8GzcrIq8Zp73r0n+c3hFCfDYRSZRCxGyIf3qgU2LBOD0A3 -wTff/N8E/p3WaJX9VnuQ7xyRMOubDuqJnlo5YsFv7wjyGOIAz9afZzcEbH6czt/t -g0Xc/kGr/fkAjUu+z3ZfE4247Gut5m3hEVwWkpEEzQo4osX/BEX20Q2nPz9WBq4a -pK3qNNGwAqS4gdE3ihOExMWxAKgr9d2CcU4= ------END CERTIFICATE----- diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/_samples/smime/intermediate.key b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/_samples/smime/intermediate.key deleted file mode 100644 index 569eb0c..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/_samples/smime/intermediate.key +++ /dev/null @@ -1,27 +0,0 @@ ------BEGIN RSA PRIVATE KEY----- -MIIEpQIBAAKCAQEA0oBIX7V+n9cFfrqlpeCfs8Ap/Hx2i2U+hmdBrPU4ROHvuJpC -xta70hCCaJ/FNInPGaYdVBmtRq73oeW4G5XR5RcWErAgsgxoIsUb0VjYSCrjvksW -iGQoaqisFZ92jUOAWTkqPzIyf40Mq/QTIDJncZR0d3tcJJHgJFv/7DrH7sUBhdYf -cnkL7rvxmxuiu7x0hjhneTtxu237X0O5e/EzKnie41d9gHSXrjuTA+HUZ1uAkC02 -nq4myzdDCp9+VHUohaGcSh6qlnILZecXCVjzpqugrACdhKPdJFvwRzqy79dIejmp -/UdT3V0r0gr1Z12Nys99M6H8N9OaAPyiZP4VcwIDAQABAoIBAQDLJiKyu2XIvKsA -8wCKZY262+mpUjTVso/1BhHL6Zy0XZgMgFORsgrxYB16+zZGzfiguD/1uhIP9Svn -gtt7Q8udW/phbrkfG/okFDYUg7m3bCz+qVjFqGOZC8+Hzq2LB2oGsbSj6L3zexyP -lq4elIZghvUfml4CrQW0EVWbld79/kF7XHABcIOk2+3f63XAQWkjdFNxj5+z6TR0 -52Rv7SmRioAsukW9wr77G3Luv/0cEzDFXgGW5s0wO+rJg28smlsIaj+Y0KsptTig -reQvReAT/S5ZxEp4H6WtXQ1WmaliMB0Gcu4TKB0yE8DoTeCePuslo9DqGokXYT66 -oqtcVMqBAoGBAPoOL9byNNU/bBNDWSCiq8PqhSjl0M4vYBGqtgMXM4GFOJU+W2nX -YRJbbxoSd/DKjnxEsR6V0vDTDHj4ZSkgmpEmVhEdAiwUwaZ0T8YUaCPhdiAENo5+ -zRBWVJcvAC2XKTK1hy5D7Z5vlC32HHygYqitU+JsK4ylvhrdeOcGx5cfAoGBANeB -X0JbeuqBEwwEHZqYSpzmtB+IEiuYc9ARTttHEvIWgCThK4ldAzbXhDUIQy3Hm0sL -PzDA33furNl2WwB+vmOuioYMNjArKrfg689Aim1byg4AHM5XVQcqoDSOABtI55iP -E0hYDe/d4ema2gk1uR/mT4pnLnk2VzRKsHUbP9stAoGBAKjyIuJwPMADnMqbC0Hg -hnrVHejW9TAJlDf7hgQqjdMppmQ3gF3PdjeH7VXJOp5GzOQrKRxIEABEJ74n3Xlf -HO+K3kWrusb7syb6mNd0/DOZ5kyVbCL0iypJmdeXmuAyrFQlj9LzdD1Cl/RBv1d4 -qY/bo7xsZzQc24edMU2uJ/XzAoGBAMHChA95iK5HlwR6vtM8kfk4REMFaLDhxV8R -8MCeyp33NQfzm91JT5aDd07nOt9yVGHInuwKveFrKuXq0C9FxZCCYfHcEOyGI0Zo -aBxTfyKMIMMtvriXNM/Yt2oJMndVuUUlfsTQxtcfu/r5S4h0URopTOK3msVI4mcV -sEnaUjORAoGAGDnslKYtROQMXTe4sh6CoJ32J8UZVV9M+8NLus9rO0v/eZ/pIFxo -MXGrrrl51ScqahCQ+DXHzpLvInsdlAJvDP3ymhb7H2xGsyvb3x2YgsLmr1YVOnli -ISbCssno3vZyFU1TDjeEIKqZHc92byHNMjMuhmlaA25g8kb0cCO76EA= ------END RSA PRIVATE KEY----- diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/_samples/smime/sign.crt b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/_samples/smime/sign.crt deleted file mode 100644 index 15fd65d..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/_samples/smime/sign.crt +++ /dev/null @@ -1,19 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIDFjCCAf4CCQDULaNM+Q+g3DANBgkqhkiG9w0BAQUFADBMMRcwFQYDVQQDDA5T -d2lmdG1haWxlciBDQTEUMBIGA1UECgwLU3dpZnRtYWlsZXIxDjAMBgNVBAcMBVBh -cmlzMQswCQYDVQQGEwJGUjAeFw0xMzExMjcwODM5MTBaFw0xNzExMjYwODM5MTBa -ME4xGTAXBgNVBAMMEFN3aWZ0bWFpbGVyLVVzZXIxFDASBgNVBAoMC1N3aWZ0bWFp -bGVyMQ4wDAYDVQQHDAVQYXJpczELMAkGA1UEBhMCRlIwggEiMA0GCSqGSIb3DQEB -AQUAA4IBDwAwggEKAoIBAQCTe8ZouyjVGgqlljhaswYqLj7icMoHq+Qg13CE+zJg -tl2/UzyPhAd3WWOIvlQ0lu+E/n0bXrS6+q28DrQ3UgJ9BskzzLz15qUO12b92AvG -vLJ+9kKuiM5KXDljOAsXc7/A9UUGwEFA1D0mkeMmkHuiQavAMkzBLha22hGpg/hz -VbE6W9MGna0szd8yh38IY1M5uR+OZ0dG3KbVZb7H3N0OLOP8j8n+4YtAGAW+Onz/ -2CGPfZ1kaDMvY/WTZwyGeA4FwCPy1D8tfeswqKnWDB9Sfl8hns5VxnoJ3dqKQHeX -iC4OMfQ0U4CcuM5sVYJZRNNwP7/TeUh3HegnOnuZ1hy9AgMBAAEwDQYJKoZIhvcN -AQEFBQADggEBAAEPjGt98GIK6ecAEat52aG+8UP7TuZaxoH3cbZdhFTafrP8187F -Rk5G3LCPTeA/QIzbHppA4fPAiS07OVSwVCknpTJbtKKn0gmtTZxThacFHF2NlzTH -XxM5bIbkK3jzIF+WattyTSj34UHHfaNAmvmS7Jyq6MhjSDbcQ+/dZ9eo2tF/AmrC -+MBhyH8aUYwKhTOQQh8yC11niziHhGO99FQ4tpuD9AKlun5snHq4uK9AOFe8VhoR -q2CqX5g5v8OAtdlvzhp50IqD4BNOP+JrUxjGLHDG76BZZIK2Ai1eBz+GhRlIQru/ -8EhQzd94mdFEPblGbmuD2QXWLFFKLiYOwOc= ------END CERTIFICATE----- diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/_samples/smime/sign.key b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/_samples/smime/sign.key deleted file mode 100644 index b3d3c53..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/_samples/smime/sign.key +++ /dev/null @@ -1,27 +0,0 @@ ------BEGIN RSA PRIVATE KEY----- -MIIEowIBAAKCAQEAk3vGaLso1RoKpZY4WrMGKi4+4nDKB6vkINdwhPsyYLZdv1M8 -j4QHd1ljiL5UNJbvhP59G160uvqtvA60N1ICfQbJM8y89ealDtdm/dgLxryyfvZC -rojOSlw5YzgLF3O/wPVFBsBBQNQ9JpHjJpB7okGrwDJMwS4WttoRqYP4c1WxOlvT -Bp2tLM3fMod/CGNTObkfjmdHRtym1WW+x9zdDizj/I/J/uGLQBgFvjp8/9ghj32d -ZGgzL2P1k2cMhngOBcAj8tQ/LX3rMKip1gwfUn5fIZ7OVcZ6Cd3aikB3l4guDjH0 -NFOAnLjObFWCWUTTcD+/03lIdx3oJzp7mdYcvQIDAQABAoIBAH2vrw/T6GFrlwU0 -twP8q1VJIghCDLpq77hZQafilzU6VTxWyDaaUu6QPDXt1b8Xnjnd02p+1FDAj0zD -zyuR9VLtdIxzf9mj3KiAQ2IzOx3787YlUgCB0CQo4jM/MJyk5RahL1kogLOp7A8x -pr5XxTUq+B6L/0Nmbq8XupOXRyWp53amZ5N8sgWDv4oKh9fqgAhxbSG6KUkTmhYs -DLinWg86Q28pSn+eivf4dehR56YwtTBVguXW3WKO70+GW1RotSrS6e6SSxfKYksZ -a7/J1hCmJkEE3+4C8BpcI0MelgaK66ocN0pOqDF9ByxphARqyD7tYCfoS2P8gi81 -XoiZJaECgYEAwqx4AnDX63AANsfKuKVsEQfMSAG47SnKOVwHB7prTAgchTRcDph1 -EVOPtJ+4ssanosXzLcN/dCRlvqLEqnKYAOizy3C56CyRguCpO1AGbRpJjRmHTRgA -w8iArhM07HgJ3XLFn99V/0bsPCMxW8dje1ZMjKjoQtDrXRQMtWaVY+UCgYEAwfGi -f0If6z7wJj9gQUkGimWDAg/bxDkvEeh3nSD/PQyNiW0XDclcb3roNPQsal2ZoMwt -f1bwkclw7yUCIZBvXWEkZapjKCdseTp6nglScxr8GAzfN9p5KQl+OS3GzC6xZf6C -BsZQ5ucsHTHsCAi3WbwGK829z9c7x0qRwgwu9/kCgYEAsqwEwYi8Q/RZ3e1lXC9H -jiHwFi6ugc2XMyoJscghbnkLZB54V1UKLUraXFcz97FobnbsCJajxf8Z+uv9QMtI -Q51QV2ow1q0BKHP2HuAF5eD4nK5Phix/lzHRGPO74UUTGNKcG22pylBXxaIvTSMl -ZTABth/YfGqvepBKUbvDZRkCgYB5ykbUCW9H6D8glZ3ZgYU09ag+bD0CzTIs2cH7 -j1QZPz/GdBYNF00PyKv3TPpzVRH7cxyDIdJyioB7/M6Iy03T4wPbQBOCjLdGrZ2A -jrQTCngSlkq6pVx+k7KLL57ua8gFF70JihIV3kfKkaX6KZcSJ8vsSAgRc8TbUo2T -wNjh6QKBgDyxw4bG2ULs+LVaHcnp7nizLgRGXJsCkDICjla6y0eCgAnG8fSt8CcG -s5DIfJeVs/NXe/NVNuVrfwsUx0gBOirtFwQStvi5wJnY/maGAyjmgafisNFgAroT -aM5f+wyGPQeGCs7bj7JWY7Nx9lkyuUV7DdKBTZNMOe51K3+PTEL3 ------END RSA PRIVATE KEY----- diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/_samples/smime/sign2.crt b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/_samples/smime/sign2.crt deleted file mode 100644 index 44f4d9b..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/_samples/smime/sign2.crt +++ /dev/null @@ -1,19 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIDGTCCAgECAQEwDQYJKoZIhvcNAQEFBQAwVjEhMB8GA1UEAwwYU3dpZnRtYWls -ZXIgSW50ZXJtZWRpYXRlMRQwEgYDVQQKDAtTd2lmdG1haWxlcjEOMAwGA1UEBwwF -UGFyaXMxCzAJBgNVBAYTAkZSMB4XDTE0MTEyMDEzMjYyNloXDTE4MTExOTEzMjYy -NlowTzEaMBgGA1UEAwwRU3dpZnRtYWlsZXItVXNlcjIxFDASBgNVBAoMC1N3aWZ0 -bWFpbGVyMQ4wDAYDVQQHDAVQYXJpczELMAkGA1UEBhMCRlIwggEiMA0GCSqGSIb3 -DQEBAQUAA4IBDwAwggEKAoIBAQDbr1m4z/rzFS/DxUUQIhKNx19oAeGYLt3niaEP -twfvBMNB80gMgM9d+XtqrPAMPeY/2C8t5NlChNPKMcR70JBKdmlSH4/aTjaIfWmD -PoZJjvRRXINZgSHNKIt4ZGAN/EPFr19CBisV4iPxzu+lyIbbkaZJ/qtyatlP7m/q -8TnykFRlyxNEveCakpcXeRd3YTFGKWoED+/URhVc0cCPZVjoeSTtPHAYBnC29lG5 -VFbq6NBQiyF4tpjOHRarq6G8PtQFH9CpAZg5bPk3bqka9C8mEr5jWfrM4EHtUkTl -CwVLOQRBsz/nMBT27pXZh18GU0hc3geNDN4kqaeqgNBo0mblAgMBAAEwDQYJKoZI -hvcNAQEFBQADggEBAAHDMuv6oxWPsTQWWGWWFIk7QZu3iogMqFuxhhQxg8BE37CT -Vt1mBVEjYGMkWhMSwWBMWuP6yuOZecWtpp6eOie/UKGg1XoW7Y7zq2aQaP7YPug0 -8Lgq1jIo7iO2b6gZeMtLiTZrxyte0z1XzS3wy7ZC9mZjYd7QE7mZ+/rzQ0x5zjOp -G8b3msS/yYYJCMN+HtHln++HOGmm6uhvbsHTfvvZvtl7F5vJ5WhGGlUfjhanSEtZ -1RKx+cbgIv1eFOGO1OTuZfEuKdLb0T38d/rjLeI99nVVKEIGtLmX4dj327GHe/D3 -aPr2blF2gOvlzkfN9Vz6ZUE2s3rVBeCg2AVseYQ= ------END CERTIFICATE----- diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/_samples/smime/sign2.key b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/_samples/smime/sign2.key deleted file mode 100644 index ffb189b..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/_samples/smime/sign2.key +++ /dev/null @@ -1,27 +0,0 @@ ------BEGIN RSA PRIVATE KEY----- -MIIEpAIBAAKCAQEA269ZuM/68xUvw8VFECISjcdfaAHhmC7d54mhD7cH7wTDQfNI -DIDPXfl7aqzwDD3mP9gvLeTZQoTTyjHEe9CQSnZpUh+P2k42iH1pgz6GSY70UVyD -WYEhzSiLeGRgDfxDxa9fQgYrFeIj8c7vpciG25GmSf6rcmrZT+5v6vE58pBUZcsT -RL3gmpKXF3kXd2ExRilqBA/v1EYVXNHAj2VY6Hkk7TxwGAZwtvZRuVRW6ujQUIsh -eLaYzh0Wq6uhvD7UBR/QqQGYOWz5N26pGvQvJhK+Y1n6zOBB7VJE5QsFSzkEQbM/ -5zAU9u6V2YdfBlNIXN4HjQzeJKmnqoDQaNJm5QIDAQABAoIBAAM2FvuqnqJ7Bs23 -zoCj3t2PsodUr7WHydqemmoeZNFLoocORVlZcK6Q/QrcKE4lgX4hbN8g30QnqOjl -vVeJ/vH3tSZsK7AnQIjSPH6cpV3h5xRhY9IlHxdepltGLFlH/L2hCKVwbaTOP3RD -cCFeQwpmoKWoQV1UzoRqmdw3Vn+DMaUULomLVR9aSW9PnKeFL+tPWShf7GmVISfM -2H6xKw/qT0XAX59ZHA1laxSFVvbV5ZcKrBOFMV407Vzw2d3ojmfEzNsHjUVBXX8j -B5nK1VeJiTVmcoVhnRX7tXESDaZy+Kv38pqOmc8Svn70lDJ35SM2EpWnX39w5LsQ -29NsIUECgYEA/vNKiMfVmmZNQrpcuHQe5adlmz9+I4xJ4wbRzrS7czpbKF0/iaPf -dKoVz67yYHOJCBHTVaXWkElQsq1mkyuFt/cc0ReJXO8709+t+6ULsE50cLQm/HN5 -npg3gw0Ls/9dy/cHM5SdVIHMBm9oQ65rXup/dqWC8Dz2cAAOQhIPwx0CgYEA3Jbk -DPdUlrj4sXcE3V/CtmBuK9Xq1xolJt026fYCrle0YhdMKmchRBDCc6BzM+F/vDyC -llPfQu8TDXK40Oan7GbxMdoLqKK9gSIq1dvfG1YMMz8OrBcX8xKe61KFRWd7QSBJ -BcY575NzYHapOHVGnUJ68j8zCow0gfb7q6iK4GkCgYEAz2mUuKSCxYL21hORfUqT -HFjMU7oa38axEa6pn9XvLjZKlRMPruWP1HTPG9ADRa6Yy+TcnrA1V9sdeM+TRKXC -usCiRAU27lF+xccS30gNs1iQaGRX10gGqJzDhK1nWP+nClmlFTSRrn+OQan/FBjh -Jy31lsveM54VC1cwQlY5Vo0CgYEArtjfnLNzFiE55xjq/znHUd4vlYlzItrzddHE -lEBOsbiNH29ODRI/2P7b0uDsT8Q/BoqEC/ohLqHn3TIA8nzRv91880HdGecdBL17 -bJZiSv2yn/AshhWsAxzQYMDBKFk05lNb7jrIc3DR9DU6PqketsoaP+f+Yi7t89I8 -fD0VD3kCgYAaJCoQshng/ijiHF/RJXLrXXHJSUmaOfbweX/mzFup0YR1LxUjcv85 -cxvwc41Y2iI5MwUXyX97/GYKeoobzWZy3XflNWtg04rcInVaPsb/OOFDDqI+MkzT -B4PcCurOmjzcxHMVE34CYvl3YVwWrPb5JO1rYG9T2gKUJnLU6qG4Bw== ------END RSA PRIVATE KEY----- diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/acceptance.conf.php.default b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/acceptance.conf.php.default deleted file mode 100644 index 362cac0..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/acceptance.conf.php.default +++ /dev/null @@ -1,37 +0,0 @@ -testFile = sys_get_temp_dir().'/swift-test-file'.__CLASS__; - file_put_contents($this->testFile, 'abcdefghijklm'); - } - - protected function tearDown() - { - unlink($this->testFile); - } - - public function testFileDataCanBeRead() - { - $file = $this->createFileStream($this->testFile); - $str = ''; - while (false !== $bytes = $file->read(8192)) { - $str .= $bytes; - } - $this->assertEquals('abcdefghijklm', $str); - } - - public function testFileDataCanBeReadSequentially() - { - $file = $this->createFileStream($this->testFile); - $this->assertEquals('abcde', $file->read(5)); - $this->assertEquals('fghijklm', $file->read(8)); - $this->assertFalse($file->read(1)); - } - - public function testFilenameIsReturned() - { - $file = $this->createFileStream($this->testFile); - $this->assertEquals($this->testFile, $file->getPath()); - } - - public function testFileCanBeWrittenTo() - { - $file = $this->createFileStream($this->testFile, true); - $file->write('foobar'); - $this->assertEquals('foobar', $file->read(8192)); - } - - public function testReadingFromThenWritingToFile() - { - $file = $this->createFileStream($this->testFile, true); - $file->write('foobar'); - $this->assertEquals('foobar', $file->read(8192)); - $file->write('zipbutton'); - $this->assertEquals('zipbutton', $file->read(8192)); - } - - public function testWritingToFileWithCanonicalization() - { - $file = $this->createFileStream($this->testFile, true); - $file->addFilter($this->createFilter(["\r\n", "\r"], "\n"), 'allToLF'); - $file->write("foo\r\nbar\r"); - $file->write("\nzip\r\ntest\r"); - $file->flushBuffers(); - $this->assertEquals("foo\nbar\nzip\ntest\n", file_get_contents($this->testFile)); - } - - public function testWritingWithFulleMessageLengthOfAMultipleOf8192() - { - $file = $this->createFileStream($this->testFile, true); - $file->addFilter($this->createFilter(["\r\n", "\r"], "\n"), 'allToLF'); - $file->write(''); - $file->flushBuffers(); - $this->assertEquals('', file_get_contents($this->testFile)); - } - - public function testBindingOtherStreamsMirrorsWriteOperations() - { - $file = $this->createFileStream($this->testFile, true); - $is1 = $this->createMockInputStream(); - $is2 = $this->createMockInputStream(); - - $is1->expects($this->at(0)) - ->method('write') - ->with('x'); - $is1->expects($this->at(1)) - ->method('write') - ->with('y'); - $is2->expects($this->at(0)) - ->method('write') - ->with('x'); - $is2->expects($this->at(1)) - ->method('write') - ->with('y'); - - $file->bind($is1); - $file->bind($is2); - - $file->write('x'); - $file->write('y'); - } - - public function testBindingOtherStreamsMirrorsFlushOperations() - { - $file = $this->createFileStream( - $this->testFile, true - ); - $is1 = $this->createMockInputStream(); - $is2 = $this->createMockInputStream(); - - $is1->expects($this->once()) - ->method('flushBuffers'); - $is2->expects($this->once()) - ->method('flushBuffers'); - - $file->bind($is1); - $file->bind($is2); - - $file->flushBuffers(); - } - - public function testUnbindingStreamPreventsFurtherWrites() - { - $file = $this->createFileStream($this->testFile, true); - $is1 = $this->createMockInputStream(); - $is2 = $this->createMockInputStream(); - - $is1->expects($this->at(0)) - ->method('write') - ->with('x'); - $is1->expects($this->at(1)) - ->method('write') - ->with('y'); - $is2->expects($this->once()) - ->method('write') - ->with('x'); - - $file->bind($is1); - $file->bind($is2); - - $file->write('x'); - - $file->unbind($is2); - - $file->write('y'); - } - - private function createFilter($search, $replace) - { - return new Swift_StreamFilters_StringReplacementFilter($search, $replace); - } - - private function createMockInputStream() - { - return $this->getMockBuilder('Swift_InputByteStream')->getMock(); - } - - private function createFileStream($file, $writable = false) - { - return new Swift_ByteStream_FileByteStream($file, $writable); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/CharacterReaderFactory/SimpleCharacterReaderFactoryAcceptanceTest.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/CharacterReaderFactory/SimpleCharacterReaderFactoryAcceptanceTest.php deleted file mode 100644 index fcc7ad4..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/CharacterReaderFactory/SimpleCharacterReaderFactoryAcceptanceTest.php +++ /dev/null @@ -1,179 +0,0 @@ -factory = new Swift_CharacterReaderFactory_SimpleCharacterReaderFactory(); - } - - public function testCreatingUtf8Reader() - { - foreach (['utf8', 'utf-8', 'UTF-8', 'UTF8'] as $utf8) { - $reader = $this->factory->getReaderFor($utf8); - $this->assertInstanceOf($this->prefix.'Utf8Reader', $reader); - } - } - - public function testCreatingIso8859XReaders() - { - $charsets = []; - foreach (range(1, 16) as $number) { - foreach (['iso', 'iec'] as $body) { - $charsets[] = $body.'-8859-'.$number; - $charsets[] = $body.'8859-'.$number; - $charsets[] = strtoupper($body).'-8859-'.$number; - $charsets[] = strtoupper($body).'8859-'.$number; - } - } - - foreach ($charsets as $charset) { - $reader = $this->factory->getReaderFor($charset); - $this->assertInstanceOf($this->prefix.'GenericFixedWidthReader', $reader); - $this->assertEquals(1, $reader->getInitialByteSize()); - } - } - - public function testCreatingWindows125XReaders() - { - $charsets = []; - foreach (range(0, 8) as $number) { - $charsets[] = 'windows-125'.$number; - $charsets[] = 'windows125'.$number; - $charsets[] = 'WINDOWS-125'.$number; - $charsets[] = 'WINDOWS125'.$number; - } - - foreach ($charsets as $charset) { - $reader = $this->factory->getReaderFor($charset); - $this->assertInstanceOf($this->prefix.'GenericFixedWidthReader', $reader); - $this->assertEquals(1, $reader->getInitialByteSize()); - } - } - - public function testCreatingCodePageReaders() - { - $charsets = []; - foreach (range(0, 8) as $number) { - $charsets[] = 'cp-125'.$number; - $charsets[] = 'cp125'.$number; - $charsets[] = 'CP-125'.$number; - $charsets[] = 'CP125'.$number; - } - - foreach ([437, 737, 850, 855, 857, 858, 860, - 861, 863, 865, 866, 869, ] as $number) { - $charsets[] = 'cp-'.$number; - $charsets[] = 'cp'.$number; - $charsets[] = 'CP-'.$number; - $charsets[] = 'CP'.$number; - } - - foreach ($charsets as $charset) { - $reader = $this->factory->getReaderFor($charset); - $this->assertInstanceOf($this->prefix.'GenericFixedWidthReader', $reader); - $this->assertEquals(1, $reader->getInitialByteSize()); - } - } - - public function testCreatingAnsiReader() - { - foreach (['ansi', 'ANSI'] as $ansi) { - $reader = $this->factory->getReaderFor($ansi); - $this->assertInstanceOf($this->prefix.'GenericFixedWidthReader', $reader); - $this->assertEquals(1, $reader->getInitialByteSize()); - } - } - - public function testCreatingMacintoshReader() - { - foreach (['macintosh', 'MACINTOSH'] as $mac) { - $reader = $this->factory->getReaderFor($mac); - $this->assertInstanceOf($this->prefix.'GenericFixedWidthReader', $reader); - $this->assertEquals(1, $reader->getInitialByteSize()); - } - } - - public function testCreatingKOIReaders() - { - $charsets = []; - foreach (['7', '8-r', '8-u', '8u', '8r'] as $end) { - $charsets[] = 'koi-'.$end; - $charsets[] = 'koi'.$end; - $charsets[] = 'KOI-'.$end; - $charsets[] = 'KOI'.$end; - } - - foreach ($charsets as $charset) { - $reader = $this->factory->getReaderFor($charset); - $this->assertInstanceOf($this->prefix.'GenericFixedWidthReader', $reader); - $this->assertEquals(1, $reader->getInitialByteSize()); - } - } - - public function testCreatingIsciiReaders() - { - foreach (['iscii', 'ISCII', 'viscii', 'VISCII'] as $charset) { - $reader = $this->factory->getReaderFor($charset); - $this->assertInstanceOf($this->prefix.'GenericFixedWidthReader', $reader); - $this->assertEquals(1, $reader->getInitialByteSize()); - } - } - - public function testCreatingMIKReader() - { - foreach (['mik', 'MIK'] as $charset) { - $reader = $this->factory->getReaderFor($charset); - $this->assertInstanceOf($this->prefix.'GenericFixedWidthReader', $reader); - $this->assertEquals(1, $reader->getInitialByteSize()); - } - } - - public function testCreatingCorkReader() - { - foreach (['cork', 'CORK', 't1', 'T1'] as $charset) { - $reader = $this->factory->getReaderFor($charset); - $this->assertInstanceOf($this->prefix.'GenericFixedWidthReader', $reader); - $this->assertEquals(1, $reader->getInitialByteSize()); - } - } - - public function testCreatingUcs2Reader() - { - foreach (['ucs-2', 'UCS-2', 'ucs2', 'UCS2'] as $charset) { - $reader = $this->factory->getReaderFor($charset); - $this->assertInstanceOf($this->prefix.'GenericFixedWidthReader', $reader); - $this->assertEquals(2, $reader->getInitialByteSize()); - } - } - - public function testCreatingUtf16Reader() - { - foreach (['utf-16', 'UTF-16', 'utf16', 'UTF16'] as $charset) { - $reader = $this->factory->getReaderFor($charset); - $this->assertInstanceOf($this->prefix.'GenericFixedWidthReader', $reader); - $this->assertEquals(2, $reader->getInitialByteSize()); - } - } - - public function testCreatingUcs4Reader() - { - foreach (['ucs-4', 'UCS-4', 'ucs4', 'UCS4'] as $charset) { - $reader = $this->factory->getReaderFor($charset); - $this->assertInstanceOf($this->prefix.'GenericFixedWidthReader', $reader); - $this->assertEquals(4, $reader->getInitialByteSize()); - } - } - - public function testCreatingUtf32Reader() - { - foreach (['utf-32', 'UTF-32', 'utf32', 'UTF32'] as $charset) { - $reader = $this->factory->getReaderFor($charset); - $this->assertInstanceOf($this->prefix.'GenericFixedWidthReader', $reader); - $this->assertEquals(4, $reader->getInitialByteSize()); - } - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/DependencyContainerAcceptanceTest.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/DependencyContainerAcceptanceTest.php deleted file mode 100644 index 3c1b515..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/DependencyContainerAcceptanceTest.php +++ /dev/null @@ -1,22 +0,0 @@ -listItems() as $itemName) { - try { - $di->lookup($itemName); - } catch (Swift_DependencyException $e) { - $this->fail($e->getMessage()); - } - } - // previous loop would fail if there is an issue - $this->addToAssertionCount(1); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/EmbeddedFileAcceptanceTest.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/EmbeddedFileAcceptanceTest.php deleted file mode 100644 index a172e97..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/EmbeddedFileAcceptanceTest.php +++ /dev/null @@ -1,12 +0,0 @@ -samplesDir = realpath(__DIR__.'/../../../_samples/charsets'); - $this->encoder = new Swift_Encoder_Base64Encoder(); - } - - public function testEncodingAndDecodingSamples() - { - $sampleFp = opendir($this->samplesDir); - while (false !== $encodingDir = readdir($sampleFp)) { - if ('.' == substr($encodingDir, 0, 1)) { - continue; - } - - $sampleDir = $this->samplesDir.'/'.$encodingDir; - - if (is_dir($sampleDir)) { - $fileFp = opendir($sampleDir); - while (false !== $sampleFile = readdir($fileFp)) { - if ('.' == substr($sampleFile, 0, 1)) { - continue; - } - - $text = file_get_contents($sampleDir.'/'.$sampleFile); - $encodedText = $this->encoder->encodeString($text); - - $this->assertEquals( - base64_decode($encodedText), $text, - '%s: Encoded string should decode back to original string for sample '. - $sampleDir.'/'.$sampleFile - ); - } - closedir($fileFp); - } - } - closedir($sampleFp); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Encoder/QpEncoderAcceptanceTest.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Encoder/QpEncoderAcceptanceTest.php deleted file mode 100644 index 5bbf067..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Encoder/QpEncoderAcceptanceTest.php +++ /dev/null @@ -1,54 +0,0 @@ -samplesDir = realpath(__DIR__.'/../../../_samples/charsets'); - $this->factory = new Swift_CharacterReaderFactory_SimpleCharacterReaderFactory(); - } - - public function testEncodingAndDecodingSamples() - { - $sampleFp = opendir($this->samplesDir); - while (false !== $encodingDir = readdir($sampleFp)) { - if ('.' == substr($encodingDir, 0, 1)) { - continue; - } - - $encoding = $encodingDir; - $charStream = new Swift_CharacterStream_ArrayCharacterStream( - $this->factory, $encoding); - $encoder = new Swift_Encoder_QpEncoder($charStream); - - $sampleDir = $this->samplesDir.'/'.$encodingDir; - - if (is_dir($sampleDir)) { - $fileFp = opendir($sampleDir); - while (false !== $sampleFile = readdir($fileFp)) { - if ('.' == substr($sampleFile, 0, 1)) { - continue; - } - - $text = file_get_contents($sampleDir.'/'.$sampleFile); - $encodedText = $encoder->encodeString($text); - - foreach (explode("\r\n", $encodedText) as $line) { - $this->assertLessThanOrEqual(76, strlen($line)); - } - - $this->assertEquals( - quoted_printable_decode($encodedText), $text, - '%s: Encoded string should decode back to original string for sample '. - $sampleDir.'/'.$sampleFile - ); - } - closedir($fileFp); - } - } - closedir($sampleFp); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Encoder/Rfc2231EncoderAcceptanceTest.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Encoder/Rfc2231EncoderAcceptanceTest.php deleted file mode 100644 index 20c68d5..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Encoder/Rfc2231EncoderAcceptanceTest.php +++ /dev/null @@ -1,50 +0,0 @@ -samplesDir = realpath(__DIR__.'/../../../_samples/charsets'); - $this->factory = new Swift_CharacterReaderFactory_SimpleCharacterReaderFactory(); - } - - public function testEncodingAndDecodingSamples() - { - $sampleFp = opendir($this->samplesDir); - while (false !== $encodingDir = readdir($sampleFp)) { - if ('.' == substr($encodingDir, 0, 1)) { - continue; - } - - $encoding = $encodingDir; - $charStream = new Swift_CharacterStream_ArrayCharacterStream( - $this->factory, $encoding); - $encoder = new Swift_Encoder_Rfc2231Encoder($charStream); - - $sampleDir = $this->samplesDir.'/'.$encodingDir; - - if (is_dir($sampleDir)) { - $fileFp = opendir($sampleDir); - while (false !== $sampleFile = readdir($fileFp)) { - if ('.' == substr($sampleFile, 0, 1)) { - continue; - } - - $text = file_get_contents($sampleDir.'/'.$sampleFile); - $encodedText = $encoder->encodeString($text); - - $this->assertEquals( - urldecode(implode('', explode("\r\n", $encodedText))), $text, - '%s: Encoded string should decode back to original string for sample '. - $sampleDir.'/'.$sampleFile - ); - } - closedir($fileFp); - } - } - closedir($sampleFp); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/KeyCache/ArrayKeyCacheAcceptanceTest.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/KeyCache/ArrayKeyCacheAcceptanceTest.php deleted file mode 100644 index c54986b..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/KeyCache/ArrayKeyCacheAcceptanceTest.php +++ /dev/null @@ -1,173 +0,0 @@ -cache = new Swift_KeyCache_ArrayKeyCache( - new Swift_KeyCache_SimpleKeyCacheInputStream() - ); - } - - public function testStringDataCanBeSetAndFetched() - { - $this->cache->setString( - $this->key1, 'foo', 'test', Swift_KeyCache::MODE_WRITE - ); - $this->assertEquals('test', $this->cache->getString($this->key1, 'foo')); - } - - public function testStringDataCanBeOverwritten() - { - $this->cache->setString( - $this->key1, 'foo', 'test', Swift_KeyCache::MODE_WRITE - ); - $this->cache->setString( - $this->key1, 'foo', 'whatever', Swift_KeyCache::MODE_WRITE - ); - $this->assertEquals('whatever', $this->cache->getString($this->key1, 'foo')); - } - - public function testStringDataCanBeAppended() - { - $this->cache->setString( - $this->key1, 'foo', 'test', Swift_KeyCache::MODE_WRITE - ); - $this->cache->setString( - $this->key1, 'foo', 'ing', Swift_KeyCache::MODE_APPEND - ); - $this->assertEquals('testing', $this->cache->getString($this->key1, 'foo')); - } - - public function testHasKeyReturnValue() - { - $this->assertFalse($this->cache->hasKey($this->key1, 'foo')); - $this->cache->setString( - $this->key1, 'foo', 'test', Swift_KeyCache::MODE_WRITE - ); - $this->assertTrue($this->cache->hasKey($this->key1, 'foo')); - } - - public function testNsKeyIsWellPartitioned() - { - $this->cache->setString( - $this->key1, 'foo', 'test', Swift_KeyCache::MODE_WRITE - ); - $this->cache->setString( - $this->key2, 'foo', 'ing', Swift_KeyCache::MODE_WRITE - ); - $this->assertEquals('test', $this->cache->getString($this->key1, 'foo')); - $this->assertEquals('ing', $this->cache->getString($this->key2, 'foo')); - } - - public function testItemKeyIsWellPartitioned() - { - $this->cache->setString( - $this->key1, 'foo', 'test', Swift_KeyCache::MODE_WRITE - ); - $this->cache->setString( - $this->key1, 'bar', 'ing', Swift_KeyCache::MODE_WRITE - ); - $this->assertEquals('test', $this->cache->getString($this->key1, 'foo')); - $this->assertEquals('ing', $this->cache->getString($this->key1, 'bar')); - } - - public function testByteStreamCanBeImported() - { - $os = new Swift_ByteStream_ArrayByteStream(); - $os->write('abcdef'); - - $this->cache->importFromByteStream( - $this->key1, 'foo', $os, Swift_KeyCache::MODE_WRITE - ); - $this->assertEquals('abcdef', $this->cache->getString($this->key1, 'foo')); - } - - public function testByteStreamCanBeAppended() - { - $os1 = new Swift_ByteStream_ArrayByteStream(); - $os1->write('abcdef'); - - $os2 = new Swift_ByteStream_ArrayByteStream(); - $os2->write('xyzuvw'); - - $this->cache->importFromByteStream( - $this->key1, 'foo', $os1, Swift_KeyCache::MODE_APPEND - ); - $this->cache->importFromByteStream( - $this->key1, 'foo', $os2, Swift_KeyCache::MODE_APPEND - ); - - $this->assertEquals('abcdefxyzuvw', $this->cache->getString($this->key1, 'foo')); - } - - public function testByteStreamAndStringCanBeAppended() - { - $this->cache->setString( - $this->key1, 'foo', 'test', Swift_KeyCache::MODE_APPEND - ); - - $os = new Swift_ByteStream_ArrayByteStream(); - $os->write('abcdef'); - - $this->cache->importFromByteStream( - $this->key1, 'foo', $os, Swift_KeyCache::MODE_APPEND - ); - $this->assertEquals('testabcdef', $this->cache->getString($this->key1, 'foo')); - } - - public function testDataCanBeExportedToByteStream() - { - $this->cache->setString( - $this->key1, 'foo', 'test', Swift_KeyCache::MODE_WRITE - ); - - $is = new Swift_ByteStream_ArrayByteStream(); - - $this->cache->exportToByteStream($this->key1, 'foo', $is); - - $string = ''; - while (false !== $bytes = $is->read(8192)) { - $string .= $bytes; - } - - $this->assertEquals('test', $string); - } - - public function testKeyCanBeCleared() - { - $this->cache->setString( - $this->key1, 'foo', 'test', Swift_KeyCache::MODE_WRITE - ); - $this->assertTrue($this->cache->hasKey($this->key1, 'foo')); - $this->cache->clearKey($this->key1, 'foo'); - $this->assertFalse($this->cache->hasKey($this->key1, 'foo')); - } - - public function testNsKeyCanBeCleared() - { - $this->cache->setString( - $this->key1, 'foo', 'test', Swift_KeyCache::MODE_WRITE - ); - $this->cache->setString( - $this->key1, 'bar', 'xyz', Swift_KeyCache::MODE_WRITE - ); - $this->assertTrue($this->cache->hasKey($this->key1, 'foo')); - $this->assertTrue($this->cache->hasKey($this->key1, 'bar')); - $this->cache->clearAll($this->key1); - $this->assertFalse($this->cache->hasKey($this->key1, 'foo')); - $this->assertFalse($this->cache->hasKey($this->key1, 'bar')); - } - - public function testKeyCacheInputStream() - { - $is = $this->cache->getInputByteStream($this->key1, 'foo'); - $is->write('abc'); - $is->write('xyz'); - $this->assertEquals('abcxyz', $this->cache->getString($this->key1, 'foo')); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/KeyCache/DiskKeyCacheAcceptanceTest.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/KeyCache/DiskKeyCacheAcceptanceTest.php deleted file mode 100644 index 9764742..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/KeyCache/DiskKeyCacheAcceptanceTest.php +++ /dev/null @@ -1,173 +0,0 @@ -key1 = uniqid(microtime(true), true); - $this->key2 = uniqid(microtime(true), true); - $this->cache = new Swift_KeyCache_DiskKeyCache(new Swift_KeyCache_SimpleKeyCacheInputStream(), sys_get_temp_dir()); - } - - public function testStringDataCanBeSetAndFetched() - { - $this->cache->setString( - $this->key1, 'foo', 'test', Swift_KeyCache::MODE_WRITE - ); - $this->assertEquals('test', $this->cache->getString($this->key1, 'foo')); - } - - public function testStringDataCanBeOverwritten() - { - $this->cache->setString( - $this->key1, 'foo', 'test', Swift_KeyCache::MODE_WRITE - ); - $this->cache->setString( - $this->key1, 'foo', 'whatever', Swift_KeyCache::MODE_WRITE - ); - $this->assertEquals('whatever', $this->cache->getString($this->key1, 'foo')); - } - - public function testStringDataCanBeAppended() - { - $this->cache->setString( - $this->key1, 'foo', 'test', Swift_KeyCache::MODE_WRITE - ); - $this->cache->setString( - $this->key1, 'foo', 'ing', Swift_KeyCache::MODE_APPEND - ); - $this->assertEquals('testing', $this->cache->getString($this->key1, 'foo')); - } - - public function testHasKeyReturnValue() - { - $this->assertFalse($this->cache->hasKey($this->key1, 'foo')); - $this->cache->setString( - $this->key1, 'foo', 'test', Swift_KeyCache::MODE_WRITE - ); - $this->assertTrue($this->cache->hasKey($this->key1, 'foo')); - } - - public function testNsKeyIsWellPartitioned() - { - $this->cache->setString( - $this->key1, 'foo', 'test', Swift_KeyCache::MODE_WRITE - ); - $this->cache->setString( - $this->key2, 'foo', 'ing', Swift_KeyCache::MODE_WRITE - ); - $this->assertEquals('test', $this->cache->getString($this->key1, 'foo')); - $this->assertEquals('ing', $this->cache->getString($this->key2, 'foo')); - } - - public function testItemKeyIsWellPartitioned() - { - $this->cache->setString( - $this->key1, 'foo', 'test', Swift_KeyCache::MODE_WRITE - ); - $this->cache->setString( - $this->key1, 'bar', 'ing', Swift_KeyCache::MODE_WRITE - ); - $this->assertEquals('test', $this->cache->getString($this->key1, 'foo')); - $this->assertEquals('ing', $this->cache->getString($this->key1, 'bar')); - } - - public function testByteStreamCanBeImported() - { - $os = new Swift_ByteStream_ArrayByteStream(); - $os->write('abcdef'); - - $this->cache->importFromByteStream( - $this->key1, 'foo', $os, Swift_KeyCache::MODE_WRITE - ); - $this->assertEquals('abcdef', $this->cache->getString($this->key1, 'foo')); - } - - public function testByteStreamCanBeAppended() - { - $os1 = new Swift_ByteStream_ArrayByteStream(); - $os1->write('abcdef'); - - $os2 = new Swift_ByteStream_ArrayByteStream(); - $os2->write('xyzuvw'); - - $this->cache->importFromByteStream( - $this->key1, 'foo', $os1, Swift_KeyCache::MODE_APPEND - ); - $this->cache->importFromByteStream( - $this->key1, 'foo', $os2, Swift_KeyCache::MODE_APPEND - ); - - $this->assertEquals('abcdefxyzuvw', $this->cache->getString($this->key1, 'foo')); - } - - public function testByteStreamAndStringCanBeAppended() - { - $this->cache->setString( - $this->key1, 'foo', 'test', Swift_KeyCache::MODE_APPEND - ); - - $os = new Swift_ByteStream_ArrayByteStream(); - $os->write('abcdef'); - - $this->cache->importFromByteStream( - $this->key1, 'foo', $os, Swift_KeyCache::MODE_APPEND - ); - $this->assertEquals('testabcdef', $this->cache->getString($this->key1, 'foo')); - } - - public function testDataCanBeExportedToByteStream() - { - $this->cache->setString( - $this->key1, 'foo', 'test', Swift_KeyCache::MODE_WRITE - ); - - $is = new Swift_ByteStream_ArrayByteStream(); - - $this->cache->exportToByteStream($this->key1, 'foo', $is); - - $string = ''; - while (false !== $bytes = $is->read(8192)) { - $string .= $bytes; - } - - $this->assertEquals('test', $string); - } - - public function testKeyCanBeCleared() - { - $this->cache->setString( - $this->key1, 'foo', 'test', Swift_KeyCache::MODE_WRITE - ); - $this->assertTrue($this->cache->hasKey($this->key1, 'foo')); - $this->cache->clearKey($this->key1, 'foo'); - $this->assertFalse($this->cache->hasKey($this->key1, 'foo')); - } - - public function testNsKeyCanBeCleared() - { - $this->cache->setString( - $this->key1, 'foo', 'test', Swift_KeyCache::MODE_WRITE - ); - $this->cache->setString( - $this->key1, 'bar', 'xyz', Swift_KeyCache::MODE_WRITE - ); - $this->assertTrue($this->cache->hasKey($this->key1, 'foo')); - $this->assertTrue($this->cache->hasKey($this->key1, 'bar')); - $this->cache->clearAll($this->key1); - $this->assertFalse($this->cache->hasKey($this->key1, 'foo')); - $this->assertFalse($this->cache->hasKey($this->key1, 'bar')); - } - - public function testKeyCacheInputStream() - { - $is = $this->cache->getInputByteStream($this->key1, 'foo'); - $is->write('abc'); - $is->write('xyz'); - $this->assertEquals('abcxyz', $this->cache->getString($this->key1, 'foo')); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/MessageAcceptanceTest.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/MessageAcceptanceTest.php deleted file mode 100644 index 16adb23..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/MessageAcceptanceTest.php +++ /dev/null @@ -1,55 +0,0 @@ -createMessage(); - $message->setSubject('just a test subject'); - $message->setFrom([ - 'chris.corbyn@swiftmailer.org' => 'Chris Corbyn', ]); - - $id = $message->getId(); - $date = $message->getDate(); - $boundary = $message->getBoundary(); - - $message->addPart('foo', 'text/plain', 'iso-8859-1'); - $message->addPart('test foo', 'text/html', 'iso-8859-1'); - - $this->assertEquals( - 'Message-ID: <'.$id.'>'."\r\n". - 'Date: '.$date->format('r')."\r\n". - 'Subject: just a test subject'."\r\n". - 'From: Chris Corbyn '."\r\n". - 'MIME-Version: 1.0'."\r\n". - 'Content-Type: multipart/alternative;'."\r\n". - ' boundary="'.$boundary.'"'."\r\n". - "\r\n\r\n". - '--'.$boundary."\r\n". - 'Content-Type: text/plain; charset=iso-8859-1'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n". - "\r\n". - 'foo'. - "\r\n\r\n". - '--'.$boundary."\r\n". - 'Content-Type: text/html; charset=iso-8859-1'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n". - "\r\n". - 'test foo'. - "\r\n\r\n". - '--'.$boundary.'--'."\r\n", - $message->toString() - ); - } - - protected function createMessage() - { - Swift_DependencyContainer::getInstance() - ->register('properties.charset')->asValue(null); - - return new Swift_Message(); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Mime/AttachmentAcceptanceTest.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Mime/AttachmentAcceptanceTest.php deleted file mode 100644 index 920faed..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Mime/AttachmentAcceptanceTest.php +++ /dev/null @@ -1,126 +0,0 @@ -cache = new Swift_KeyCache_ArrayKeyCache( - new Swift_KeyCache_SimpleKeyCacheInputStream() - ); - $factory = new Swift_CharacterReaderFactory_SimpleCharacterReaderFactory(); - $this->contentEncoder = new Swift_Mime_ContentEncoder_Base64ContentEncoder(); - - $headerEncoder = new Swift_Mime_HeaderEncoder_QpHeaderEncoder( - new Swift_CharacterStream_ArrayCharacterStream($factory, 'utf-8') - ); - $paramEncoder = new Swift_Encoder_Rfc2231Encoder( - new Swift_CharacterStream_ArrayCharacterStream($factory, 'utf-8') - ); - $this->emailValidator = new EmailValidator(); - $this->idGenerator = new Swift_Mime_IdGenerator('example.com'); - $this->headers = new Swift_Mime_SimpleHeaderSet( - new Swift_Mime_SimpleHeaderFactory($headerEncoder, $paramEncoder, $this->emailValidator) - ); - } - - public function testDispositionIsSetInHeader() - { - $attachment = $this->createAttachment(); - $attachment->setContentType('application/pdf'); - $attachment->setDisposition('inline'); - $this->assertEquals( - 'Content-Type: application/pdf'."\r\n". - 'Content-Transfer-Encoding: base64'."\r\n". - 'Content-Disposition: inline'."\r\n", - $attachment->toString() - ); - } - - public function testDispositionIsAttachmentByDefault() - { - $attachment = $this->createAttachment(); - $attachment->setContentType('application/pdf'); - $this->assertEquals( - 'Content-Type: application/pdf'."\r\n". - 'Content-Transfer-Encoding: base64'."\r\n". - 'Content-Disposition: attachment'."\r\n", - $attachment->toString() - ); - } - - public function testFilenameIsSetInHeader() - { - $attachment = $this->createAttachment(); - $attachment->setContentType('application/pdf'); - $attachment->setFilename('foo.pdf'); - $this->assertEquals( - 'Content-Type: application/pdf; name=foo.pdf'."\r\n". - 'Content-Transfer-Encoding: base64'."\r\n". - 'Content-Disposition: attachment; filename=foo.pdf'."\r\n", - $attachment->toString() - ); - } - - public function testSizeIsSetInHeader() - { - $attachment = $this->createAttachment(); - $attachment->setContentType('application/pdf'); - $attachment->setSize(12340); - $this->assertEquals( - 'Content-Type: application/pdf'."\r\n". - 'Content-Transfer-Encoding: base64'."\r\n". - 'Content-Disposition: attachment; size=12340'."\r\n", - $attachment->toString() - ); - } - - public function testMultipleParametersInHeader() - { - $attachment = $this->createAttachment(); - $attachment->setContentType('application/pdf'); - $attachment->setFilename('foo.pdf'); - $attachment->setSize(12340); - $this->assertEquals( - 'Content-Type: application/pdf; name=foo.pdf'."\r\n". - 'Content-Transfer-Encoding: base64'."\r\n". - 'Content-Disposition: attachment; filename=foo.pdf; size=12340'."\r\n", - $attachment->toString() - ); - } - - public function testEndToEnd() - { - $attachment = $this->createAttachment(); - $attachment->setContentType('application/pdf'); - $attachment->setFilename('foo.pdf'); - $attachment->setSize(12340); - $attachment->setBody('abcd'); - $this->assertEquals( - 'Content-Type: application/pdf; name=foo.pdf'."\r\n". - 'Content-Transfer-Encoding: base64'."\r\n". - 'Content-Disposition: attachment; filename=foo.pdf; size=12340'."\r\n". - "\r\n". - base64_encode('abcd'), - $attachment->toString() - ); - } - - protected function createAttachment() - { - $entity = new Swift_Mime_Attachment( - $this->headers, - $this->contentEncoder, - $this->cache, - $this->idGenerator - ); - - return $entity; - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Mime/ContentEncoder/Base64ContentEncoderAcceptanceTest.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Mime/ContentEncoder/Base64ContentEncoderAcceptanceTest.php deleted file mode 100644 index a87b30e..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Mime/ContentEncoder/Base64ContentEncoderAcceptanceTest.php +++ /dev/null @@ -1,56 +0,0 @@ -samplesDir = realpath(__DIR__.'/../../../../_samples/charsets'); - $this->encoder = new Swift_Mime_ContentEncoder_Base64ContentEncoder(); - } - - public function testEncodingAndDecodingSamples() - { - $sampleFp = opendir($this->samplesDir); - while (false !== $encodingDir = readdir($sampleFp)) { - if ('.' == substr($encodingDir, 0, 1)) { - continue; - } - - $sampleDir = $this->samplesDir.'/'.$encodingDir; - - if (is_dir($sampleDir)) { - $fileFp = opendir($sampleDir); - while (false !== $sampleFile = readdir($fileFp)) { - if ('.' == substr($sampleFile, 0, 1)) { - continue; - } - - $text = file_get_contents($sampleDir.'/'.$sampleFile); - - $os = new Swift_ByteStream_ArrayByteStream(); - $os->write($text); - - $is = new Swift_ByteStream_ArrayByteStream(); - - $this->encoder->encodeByteStream($os, $is); - - $encoded = ''; - while (false !== $bytes = $is->read(8192)) { - $encoded .= $bytes; - } - - $this->assertEquals( - base64_decode($encoded), $text, - '%s: Encoded string should decode back to original string for sample '. - $sampleDir.'/'.$sampleFile - ); - } - closedir($fileFp); - } - } - closedir($sampleFp); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Mime/ContentEncoder/NativeQpContentEncoderAcceptanceTest.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Mime/ContentEncoder/NativeQpContentEncoderAcceptanceTest.php deleted file mode 100644 index bf0a04e..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Mime/ContentEncoder/NativeQpContentEncoderAcceptanceTest.php +++ /dev/null @@ -1,88 +0,0 @@ -samplesDir = realpath(__DIR__.'/../../../../_samples/charsets'); - $this->encoder = new Swift_Mime_ContentEncoder_NativeQpContentEncoder(); - } - - public function testEncodingAndDecodingSamples() - { - $sampleFp = opendir($this->samplesDir); - while (false !== $encodingDir = readdir($sampleFp)) { - if ('.' == substr($encodingDir, 0, 1)) { - continue; - } - - $sampleDir = $this->samplesDir.'/'.$encodingDir; - - if (is_dir($sampleDir)) { - $fileFp = opendir($sampleDir); - while (false !== $sampleFile = readdir($fileFp)) { - if ('.' == substr($sampleFile, 0, 1)) { - continue; - } - - $text = file_get_contents($sampleDir.'/'.$sampleFile); - - $os = new Swift_ByteStream_ArrayByteStream(); - $os->write($text); - - $is = new Swift_ByteStream_ArrayByteStream(); - $this->encoder->encodeByteStream($os, $is); - - $encoded = ''; - while (false !== $bytes = $is->read(8192)) { - $encoded .= $bytes; - } - - $this->assertEquals( - quoted_printable_decode($encoded), - // CR and LF are converted to CRLF - preg_replace('~\r(?!\n)|(?createEncoderFromContainer(); - $this->assertSame('=C3=A4=C3=B6=C3=BC=C3=9F', $encoder->encodeString('äöüß')); - } - - /** - * @expectedException \RuntimeException - */ - public function testCharsetChangeNotImplemented() - { - $this->encoder->charsetChanged('utf-8'); - $this->encoder->charsetChanged('charset'); - $this->encoder->encodeString('foo'); - } - - public function testGetName() - { - $this->assertSame('quoted-printable', $this->encoder->getName()); - } - - private function createEncoderFromContainer() - { - return Swift_DependencyContainer::getInstance() - ->lookup('mime.nativeqpcontentencoder') - ; - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Mime/ContentEncoder/PlainContentEncoderAcceptanceTest.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Mime/ContentEncoder/PlainContentEncoderAcceptanceTest.php deleted file mode 100644 index 544873a..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Mime/ContentEncoder/PlainContentEncoderAcceptanceTest.php +++ /dev/null @@ -1,88 +0,0 @@ -samplesDir = realpath(__DIR__.'/../../../../_samples/charsets'); - $this->encoder = new Swift_Mime_ContentEncoder_PlainContentEncoder('8bit'); - } - - public function testEncodingAndDecodingSamplesString() - { - $sampleFp = opendir($this->samplesDir); - while (false !== $encodingDir = readdir($sampleFp)) { - if ('.' == substr($encodingDir, 0, 1)) { - continue; - } - - $sampleDir = $this->samplesDir.'/'.$encodingDir; - - if (is_dir($sampleDir)) { - $fileFp = opendir($sampleDir); - while (false !== $sampleFile = readdir($fileFp)) { - if ('.' == substr($sampleFile, 0, 1)) { - continue; - } - - $text = file_get_contents($sampleDir.'/'.$sampleFile); - $encodedText = $this->encoder->encodeString($text); - - $this->assertEquals( - $encodedText, $text, - '%s: Encoded string should be identical to original string for sample '. - $sampleDir.'/'.$sampleFile - ); - } - closedir($fileFp); - } - } - closedir($sampleFp); - } - - public function testEncodingAndDecodingSamplesByteStream() - { - $sampleFp = opendir($this->samplesDir); - while (false !== $encodingDir = readdir($sampleFp)) { - if ('.' == substr($encodingDir, 0, 1)) { - continue; - } - - $sampleDir = $this->samplesDir.'/'.$encodingDir; - - if (is_dir($sampleDir)) { - $fileFp = opendir($sampleDir); - while (false !== $sampleFile = readdir($fileFp)) { - if ('.' == substr($sampleFile, 0, 1)) { - continue; - } - - $text = file_get_contents($sampleDir.'/'.$sampleFile); - - $os = new Swift_ByteStream_ArrayByteStream(); - $os->write($text); - - $is = new Swift_ByteStream_ArrayByteStream(); - - $this->encoder->encodeByteStream($os, $is); - - $encoded = ''; - while (false !== $bytes = $is->read(8192)) { - $encoded .= $bytes; - } - - $this->assertEquals( - $encoded, $text, - '%s: Encoded string should be identical to original string for sample '. - $sampleDir.'/'.$sampleFile - ); - } - closedir($fileFp); - } - } - closedir($sampleFp); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Mime/ContentEncoder/QpContentEncoderAcceptanceTest.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Mime/ContentEncoder/QpContentEncoderAcceptanceTest.php deleted file mode 100644 index 26d1a9b..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Mime/ContentEncoder/QpContentEncoderAcceptanceTest.php +++ /dev/null @@ -1,160 +0,0 @@ -samplesDir = realpath(__DIR__.'/../../../../_samples/charsets'); - $this->factory = new Swift_CharacterReaderFactory_SimpleCharacterReaderFactory(); - } - - protected function tearDown() - { - Swift_Preferences::getInstance()->setQPDotEscape(false); - } - - public function testEncodingAndDecodingSamples() - { - $sampleFp = opendir($this->samplesDir); - while (false !== $encodingDir = readdir($sampleFp)) { - if ('.' == substr($encodingDir, 0, 1)) { - continue; - } - - $encoding = $encodingDir; - $charStream = new Swift_CharacterStream_NgCharacterStream( - $this->factory, $encoding); - $encoder = new Swift_Mime_ContentEncoder_QpContentEncoder($charStream); - - $sampleDir = $this->samplesDir.'/'.$encodingDir; - - if (is_dir($sampleDir)) { - $fileFp = opendir($sampleDir); - while (false !== $sampleFile = readdir($fileFp)) { - if ('.' == substr($sampleFile, 0, 1)) { - continue; - } - - $text = file_get_contents($sampleDir.'/'.$sampleFile); - - $os = new Swift_ByteStream_ArrayByteStream(); - $os->write($text); - - $is = new Swift_ByteStream_ArrayByteStream(); - $encoder->encodeByteStream($os, $is); - - $encoded = ''; - while (false !== $bytes = $is->read(8192)) { - $encoded .= $bytes; - } - - $this->assertEquals( - quoted_printable_decode($encoded), $text, - '%s: Encoded string should decode back to original string for sample '. - $sampleDir.'/'.$sampleFile - ); - } - closedir($fileFp); - } - } - closedir($sampleFp); - } - - public function testEncodingAndDecodingSamplesFromDiConfiguredInstance() - { - $sampleFp = opendir($this->samplesDir); - while (false !== $encodingDir = readdir($sampleFp)) { - if ('.' == substr($encodingDir, 0, 1)) { - continue; - } - - $encoding = $encodingDir; - $encoder = $this->createEncoderFromContainer(); - - $sampleDir = $this->samplesDir.'/'.$encodingDir; - - if (is_dir($sampleDir)) { - $fileFp = opendir($sampleDir); - while (false !== $sampleFile = readdir($fileFp)) { - if ('.' == substr($sampleFile, 0, 1)) { - continue; - } - - $text = file_get_contents($sampleDir.'/'.$sampleFile); - - $os = new Swift_ByteStream_ArrayByteStream(); - $os->write($text); - - $is = new Swift_ByteStream_ArrayByteStream(); - $encoder->encodeByteStream($os, $is); - - $encoded = ''; - while (false !== $bytes = $is->read(8192)) { - $encoded .= $bytes; - } - - $this->assertEquals( - str_replace("\r\n", "\n", quoted_printable_decode($encoded)), str_replace("\r\n", "\n", $text), - '%s: Encoded string should decode back to original string for sample '. - $sampleDir.'/'.$sampleFile - ); - } - closedir($fileFp); - } - } - closedir($sampleFp); - } - - public function testEncodingLFTextWithDiConfiguredInstance() - { - $encoder = $this->createEncoderFromContainer(); - $this->assertEquals("a\r\nb\r\nc", $encoder->encodeString("a\nb\nc")); - } - - public function testEncodingCRTextWithDiConfiguredInstance() - { - $encoder = $this->createEncoderFromContainer(); - $this->assertEquals("a\r\nb\r\nc", $encoder->encodeString("a\rb\rc")); - } - - public function testEncodingLFCRTextWithDiConfiguredInstance() - { - $encoder = $this->createEncoderFromContainer(); - $this->assertEquals("a\r\n\r\nb\r\n\r\nc", $encoder->encodeString("a\n\rb\n\rc")); - } - - public function testEncodingCRLFTextWithDiConfiguredInstance() - { - $encoder = $this->createEncoderFromContainer(); - $this->assertEquals("a\r\nb\r\nc", $encoder->encodeString("a\r\nb\r\nc")); - } - - public function testEncodingDotStuffingWithDiConfiguredInstance() - { - // Enable DotEscaping - Swift_Preferences::getInstance()->setQPDotEscape(true); - $encoder = $this->createEncoderFromContainer(); - $this->assertEquals("a=2E\r\n=2E\r\n=2Eb\r\nc", $encoder->encodeString("a.\r\n.\r\n.b\r\nc")); - // Return to default - Swift_Preferences::getInstance()->setQPDotEscape(false); - $encoder = $this->createEncoderFromContainer(); - $this->assertEquals("a.\r\n.\r\n.b\r\nc", $encoder->encodeString("a.\r\n.\r\n.b\r\nc")); - } - - public function testDotStuffingEncodingAndDecodingSamplesFromDiConfiguredInstance() - { - // Enable DotEscaping - Swift_Preferences::getInstance()->setQPDotEscape(true); - $this->testEncodingAndDecodingSamplesFromDiConfiguredInstance(); - } - - private function createEncoderFromContainer() - { - return Swift_DependencyContainer::getInstance() - ->lookup('mime.qpcontentencoder') - ; - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Mime/EmbeddedFileAcceptanceTest.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Mime/EmbeddedFileAcceptanceTest.php deleted file mode 100644 index 5603a67..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Mime/EmbeddedFileAcceptanceTest.php +++ /dev/null @@ -1,139 +0,0 @@ -cache = new Swift_KeyCache_ArrayKeyCache( - new Swift_KeyCache_SimpleKeyCacheInputStream() - ); - $factory = new Swift_CharacterReaderFactory_SimpleCharacterReaderFactory(); - $this->contentEncoder = new Swift_Mime_ContentEncoder_Base64ContentEncoder(); - - $headerEncoder = new Swift_Mime_HeaderEncoder_QpHeaderEncoder( - new Swift_CharacterStream_ArrayCharacterStream($factory, 'utf-8') - ); - $paramEncoder = new Swift_Encoder_Rfc2231Encoder( - new Swift_CharacterStream_ArrayCharacterStream($factory, 'utf-8') - ); - $this->emailValidator = new EmailValidator(); - $this->idGenerator = new Swift_Mime_IdGenerator('example.com'); - $this->headers = new Swift_Mime_SimpleHeaderSet( - new Swift_Mime_SimpleHeaderFactory($headerEncoder, $paramEncoder, $this->emailValidator) - ); - } - - public function testContentIdIsSetInHeader() - { - $file = $this->createEmbeddedFile(); - $file->setContentType('application/pdf'); - $file->setId('foo@bar'); - $this->assertEquals( - 'Content-Type: application/pdf'."\r\n". - 'Content-Transfer-Encoding: base64'."\r\n". - 'Content-ID: '."\r\n". - 'Content-Disposition: inline'."\r\n", - $file->toString() - ); - } - - public function testDispositionIsSetInHeader() - { - $file = $this->createEmbeddedFile(); - $id = $file->getId(); - $file->setContentType('application/pdf'); - $file->setDisposition('attachment'); - $this->assertEquals( - 'Content-Type: application/pdf'."\r\n". - 'Content-Transfer-Encoding: base64'."\r\n". - 'Content-ID: <'.$id.'>'."\r\n". - 'Content-Disposition: attachment'."\r\n", - $file->toString() - ); - } - - public function testFilenameIsSetInHeader() - { - $file = $this->createEmbeddedFile(); - $id = $file->getId(); - $file->setContentType('application/pdf'); - $file->setFilename('foo.pdf'); - $this->assertEquals( - 'Content-Type: application/pdf; name=foo.pdf'."\r\n". - 'Content-Transfer-Encoding: base64'."\r\n". - 'Content-ID: <'.$id.'>'."\r\n". - 'Content-Disposition: inline; filename=foo.pdf'."\r\n", - $file->toString() - ); - } - - public function testSizeIsSetInHeader() - { - $file = $this->createEmbeddedFile(); - $id = $file->getId(); - $file->setContentType('application/pdf'); - $file->setSize(12340); - $this->assertEquals( - 'Content-Type: application/pdf'."\r\n". - 'Content-Transfer-Encoding: base64'."\r\n". - 'Content-ID: <'.$id.'>'."\r\n". - 'Content-Disposition: inline; size=12340'."\r\n", - $file->toString() - ); - } - - public function testMultipleParametersInHeader() - { - $file = $this->createEmbeddedFile(); - $id = $file->getId(); - $file->setContentType('application/pdf'); - $file->setFilename('foo.pdf'); - $file->setSize(12340); - - $this->assertEquals( - 'Content-Type: application/pdf; name=foo.pdf'."\r\n". - 'Content-Transfer-Encoding: base64'."\r\n". - 'Content-ID: <'.$id.'>'."\r\n". - 'Content-Disposition: inline; filename=foo.pdf; size=12340'."\r\n", - $file->toString() - ); - } - - public function testEndToEnd() - { - $file = $this->createEmbeddedFile(); - $id = $file->getId(); - $file->setContentType('application/pdf'); - $file->setFilename('foo.pdf'); - $file->setSize(12340); - $file->setBody('abcd'); - $this->assertEquals( - 'Content-Type: application/pdf; name=foo.pdf'."\r\n". - 'Content-Transfer-Encoding: base64'."\r\n". - 'Content-ID: <'.$id.'>'."\r\n". - 'Content-Disposition: inline; filename=foo.pdf; size=12340'."\r\n". - "\r\n". - base64_encode('abcd'), - $file->toString() - ); - } - - protected function createEmbeddedFile() - { - $entity = new Swift_Mime_EmbeddedFile( - $this->headers, - $this->contentEncoder, - $this->cache, - $this->idGenerator - ); - - return $entity; - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Mime/HeaderEncoder/Base64HeaderEncoderAcceptanceTest.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Mime/HeaderEncoder/Base64HeaderEncoderAcceptanceTest.php deleted file mode 100644 index 1379513..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Mime/HeaderEncoder/Base64HeaderEncoderAcceptanceTest.php +++ /dev/null @@ -1,32 +0,0 @@ -encoder = new Swift_Mime_HeaderEncoder_Base64HeaderEncoder(); - } - - public function testEncodingJIS() - { - if (function_exists('mb_convert_encoding')) { - // base64_encode and split cannot handle long JIS text to fold - $subject = 'é•·ã„é•·ã„é•·ã„é•·ã„é•·ã„é•·ã„é•·ã„é•·ã„é•·ã„é•·ã„é•·ã„é•·ã„é•·ã„é•·ã„é•·ã„é•·ã„é•·ã„é•·ã„é•·ã„é•·ã„件å'; - - $encodedWrapperLength = strlen('=?iso-2022-jp?'.$this->encoder->getName().'??='); - - $old = mb_internal_encoding(); - mb_internal_encoding('utf-8'); - $newstring = mb_encode_mimeheader($subject, 'iso-2022-jp', 'B', "\r\n"); - mb_internal_encoding($old); - - $encoded = $this->encoder->encodeString($subject, 0, 75 - $encodedWrapperLength, 'iso-2022-jp'); - $this->assertEquals( - $encoded, $newstring, - 'Encoded string should decode back to original string for sample ' - ); - } - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Mime/MimePartAcceptanceTest.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Mime/MimePartAcceptanceTest.php deleted file mode 100644 index 5a12daa..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Mime/MimePartAcceptanceTest.php +++ /dev/null @@ -1,130 +0,0 @@ -cache = new Swift_KeyCache_ArrayKeyCache( - new Swift_KeyCache_SimpleKeyCacheInputStream() - ); - $factory = new Swift_CharacterReaderFactory_SimpleCharacterReaderFactory(); - $this->contentEncoder = new Swift_Mime_ContentEncoder_QpContentEncoder( - new Swift_CharacterStream_ArrayCharacterStream($factory, 'utf-8'), - new Swift_StreamFilters_ByteArrayReplacementFilter( - [[0x0D, 0x0A], [0x0D], [0x0A]], - [[0x0A], [0x0A], [0x0D, 0x0A]] - ) - ); - - $headerEncoder = new Swift_Mime_HeaderEncoder_QpHeaderEncoder( - new Swift_CharacterStream_ArrayCharacterStream($factory, 'utf-8') - ); - $paramEncoder = new Swift_Encoder_Rfc2231Encoder( - new Swift_CharacterStream_ArrayCharacterStream($factory, 'utf-8') - ); - $this->emailValidator = new EmailValidator(); - $this->idGenerator = new Swift_Mime_IdGenerator('example.com'); - $this->headers = new Swift_Mime_SimpleHeaderSet( - new Swift_Mime_SimpleHeaderFactory($headerEncoder, $paramEncoder, $this->emailValidator) - ); - } - - public function testCharsetIsSetInHeader() - { - $part = $this->createMimePart(); - $part->setContentType('text/plain'); - $part->setCharset('utf-8'); - $part->setBody('foobar'); - $this->assertEquals( - 'Content-Type: text/plain; charset=utf-8'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n". - "\r\n". - 'foobar', - $part->toString() - ); - } - - public function testFormatIsSetInHeaders() - { - $part = $this->createMimePart(); - $part->setContentType('text/plain'); - $part->setFormat('flowed'); - $part->setBody('> foobar'); - $this->assertEquals( - 'Content-Type: text/plain; format=flowed'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n". - "\r\n". - '> foobar', - $part->toString() - ); - } - - public function testDelSpIsSetInHeaders() - { - $part = $this->createMimePart(); - $part->setContentType('text/plain'); - $part->setDelSp(true); - $part->setBody('foobar'); - $this->assertEquals( - 'Content-Type: text/plain; delsp=yes'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n". - "\r\n". - 'foobar', - $part->toString() - ); - } - - public function testAll3ParamsInHeaders() - { - $part = $this->createMimePart(); - $part->setContentType('text/plain'); - $part->setCharset('utf-8'); - $part->setFormat('fixed'); - $part->setDelSp(true); - $part->setBody('foobar'); - $this->assertEquals( - 'Content-Type: text/plain; charset=utf-8; format=fixed; delsp=yes'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n". - "\r\n". - 'foobar', - $part->toString() - ); - } - - public function testBodyIsCanonicalized() - { - $part = $this->createMimePart(); - $part->setContentType('text/plain'); - $part->setCharset('utf-8'); - $part->setBody("foobar\r\rtest\ning\r"); - $this->assertEquals( - 'Content-Type: text/plain; charset=utf-8'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n". - "\r\n". - "foobar\r\n". - "\r\n". - "test\r\n". - "ing\r\n", - $part->toString() - ); - } - - protected function createMimePart() - { - $entity = new Swift_Mime_MimePart( - $this->headers, - $this->contentEncoder, - $this->cache, - $this->idGenerator - ); - - return $entity; - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Mime/SimpleMessageAcceptanceTest.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Mime/SimpleMessageAcceptanceTest.php deleted file mode 100644 index 1d981e7..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Mime/SimpleMessageAcceptanceTest.php +++ /dev/null @@ -1,1250 +0,0 @@ -setCharset(null); //TODO: Test with the charset defined - } - - public function testBasicHeaders() - { - /* -- RFC 2822, 3.6. - */ - - $message = $this->createMessage(); - $id = $message->getId(); - $date = $message->getDate(); - $this->assertEquals( - 'Message-ID: <'.$id.'>'."\r\n". - 'Date: '.$date->format('r')."\r\n". - 'From: '."\r\n". - 'MIME-Version: 1.0'."\r\n". - 'Content-Type: text/plain'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n", - $message->toString(), - '%s: Only required headers, and non-empty headers should be displayed' - ); - } - - public function testSubjectIsDisplayedIfSet() - { - $message = $this->createMessage(); - $message->setSubject('just a test subject'); - $id = $message->getId(); - $date = $message->getDate(); - $this->assertEquals( - 'Message-ID: <'.$id.'>'."\r\n". - 'Date: '.$date->format('r')."\r\n". - 'Subject: just a test subject'."\r\n". - 'From: '."\r\n". - 'MIME-Version: 1.0'."\r\n". - 'Content-Type: text/plain'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n", - $message->toString() - ); - } - - public function testDateCanBeSet() - { - $message = $this->createMessage(); - $message->setSubject('just a test subject'); - $id = $message->getId(); - $date = new DateTimeImmutable(); - $message->setDate($date); - $this->assertEquals( - 'Message-ID: <'.$id.'>'."\r\n". - 'Date: '.$date->format('r')."\r\n". - 'Subject: just a test subject'."\r\n". - 'From: '."\r\n". - 'MIME-Version: 1.0'."\r\n". - 'Content-Type: text/plain'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n", - $message->toString() - ); - } - - public function testMessageIdCanBeSet() - { - $message = $this->createMessage(); - $message->setSubject('just a test subject'); - $message->setId('foo@bar'); - $date = $message->getDate(); - $this->assertEquals( - 'Message-ID: '."\r\n". - 'Date: '.$date->format('r')."\r\n". - 'Subject: just a test subject'."\r\n". - 'From: '."\r\n". - 'MIME-Version: 1.0'."\r\n". - 'Content-Type: text/plain'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n", - $message->toString() - ); - } - - public function testContentTypeCanBeChanged() - { - $message = $this->createMessage(); - $message->setSubject('just a test subject'); - $message->setContentType('text/html'); - $id = $message->getId(); - $date = $message->getDate(); - $this->assertEquals( - 'Message-ID: <'.$id.'>'."\r\n". - 'Date: '.$date->format('r')."\r\n". - 'Subject: just a test subject'."\r\n". - 'From: '."\r\n". - 'MIME-Version: 1.0'."\r\n". - 'Content-Type: text/html'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n", - $message->toString() - ); - } - - public function testCharsetCanBeSet() - { - $message = $this->createMessage(); - $message->setSubject('just a test subject'); - $message->setContentType('text/html'); - $message->setCharset('iso-8859-1'); - $id = $message->getId(); - $date = $message->getDate(); - $this->assertEquals( - 'Message-ID: <'.$id.'>'."\r\n". - 'Date: '.$date->format('r')."\r\n". - 'Subject: just a test subject'."\r\n". - 'From: '."\r\n". - 'MIME-Version: 1.0'."\r\n". - 'Content-Type: text/html; charset=iso-8859-1'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n", - $message->toString() - ); - } - - public function testFormatCanBeSet() - { - $message = $this->createMessage(); - $message->setSubject('just a test subject'); - $message->setFormat('flowed'); - $id = $message->getId(); - $date = $message->getDate(); - $this->assertEquals( - 'Message-ID: <'.$id.'>'."\r\n". - 'Date: '.$date->format('r')."\r\n". - 'Subject: just a test subject'."\r\n". - 'From: '."\r\n". - 'MIME-Version: 1.0'."\r\n". - 'Content-Type: text/plain; format=flowed'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n", - $message->toString() - ); - } - - public function testEncoderCanBeSet() - { - $message = $this->createMessage(); - $message->setSubject('just a test subject'); - $message->setContentType('text/html'); - $message->setEncoder( - new Swift_Mime_ContentEncoder_PlainContentEncoder('7bit') - ); - $id = $message->getId(); - $date = $message->getDate(); - $this->assertEquals( - 'Message-ID: <'.$id.'>'."\r\n". - 'Date: '.$date->format('r')."\r\n". - 'Subject: just a test subject'."\r\n". - 'From: '."\r\n". - 'MIME-Version: 1.0'."\r\n". - 'Content-Type: text/html'."\r\n". - 'Content-Transfer-Encoding: 7bit'."\r\n", - $message->toString() - ); - } - - public function testFromAddressCanBeSet() - { - $message = $this->createMessage(); - $message->setSubject('just a test subject'); - $message->setFrom('chris.corbyn@swiftmailer.org'); - $id = $message->getId(); - $date = $message->getDate(); - $this->assertEquals( - 'Message-ID: <'.$id.'>'."\r\n". - 'Date: '.$date->format('r')."\r\n". - 'Subject: just a test subject'."\r\n". - 'From: chris.corbyn@swiftmailer.org'."\r\n". - 'MIME-Version: 1.0'."\r\n". - 'Content-Type: text/plain'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n", - $message->toString() - ); - } - - public function testFromAddressCanBeSetWithName() - { - $message = $this->createMessage(); - $message->setSubject('just a test subject'); - $message->setFrom(['chris.corbyn@swiftmailer.org' => 'Chris Corbyn']); - $id = $message->getId(); - $date = $message->getDate(); - $this->assertEquals( - 'Message-ID: <'.$id.'>'."\r\n". - 'Date: '.$date->format('r')."\r\n". - 'Subject: just a test subject'."\r\n". - 'From: Chris Corbyn '."\r\n". - 'MIME-Version: 1.0'."\r\n". - 'Content-Type: text/plain'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n", - $message->toString() - ); - } - - public function testMultipleFromAddressesCanBeSet() - { - $message = $this->createMessage(); - $message->setSubject('just a test subject'); - $message->setFrom([ - 'chris.corbyn@swiftmailer.org' => 'Chris Corbyn', - 'mark@swiftmailer.org', - ]); - $id = $message->getId(); - $date = $message->getDate(); - $this->assertEquals( - 'Message-ID: <'.$id.'>'."\r\n". - 'Date: '.$date->format('r')."\r\n". - 'Subject: just a test subject'."\r\n". - 'From: Chris Corbyn , mark@swiftmailer.org'."\r\n". - 'MIME-Version: 1.0'."\r\n". - 'Content-Type: text/plain'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n", - $message->toString() - ); - } - - public function testReturnPathAddressCanBeSet() - { - $message = $this->createMessage(); - $message->setReturnPath('chris@w3style.co.uk'); - $message->setSubject('just a test subject'); - $message->setFrom([ - 'chris.corbyn@swiftmailer.org' => 'Chris Corbyn', ]); - $id = $message->getId(); - $date = $message->getDate(); - $this->assertEquals( - 'Return-Path: '."\r\n". - 'Message-ID: <'.$id.'>'."\r\n". - 'Date: '.$date->format('r')."\r\n". - 'Subject: just a test subject'."\r\n". - 'From: Chris Corbyn '."\r\n". - 'MIME-Version: 1.0'."\r\n". - 'Content-Type: text/plain'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n", - $message->toString() - ); - } - - public function testEmptyReturnPathHeaderCanBeUsed() - { - $message = $this->createMessage(); - $message->setReturnPath(''); - $message->setSubject('just a test subject'); - $message->setFrom([ - 'chris.corbyn@swiftmailer.org' => 'Chris Corbyn', ]); - $id = $message->getId(); - $date = $message->getDate(); - $this->assertEquals( - 'Return-Path: <>'."\r\n". - 'Message-ID: <'.$id.'>'."\r\n". - 'Date: '.$date->format('r')."\r\n". - 'Subject: just a test subject'."\r\n". - 'From: Chris Corbyn '."\r\n". - 'MIME-Version: 1.0'."\r\n". - 'Content-Type: text/plain'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n", - $message->toString() - ); - } - - public function testSenderCanBeSet() - { - $message = $this->createMessage(); - $message->setSubject('just a test subject'); - $message->setSender('chris.corbyn@swiftmailer.org'); - $id = $message->getId(); - $date = $message->getDate(); - $this->assertEquals( - 'Sender: chris.corbyn@swiftmailer.org'."\r\n". - 'Message-ID: <'.$id.'>'."\r\n". - 'Date: '.$date->format('r')."\r\n". - 'Subject: just a test subject'."\r\n". - 'From: '."\r\n". - 'MIME-Version: 1.0'."\r\n". - 'Content-Type: text/plain'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n", - $message->toString() - ); - } - - public function testSenderCanBeSetWithName() - { - $message = $this->createMessage(); - $message->setSubject('just a test subject'); - $message->setSender(['chris.corbyn@swiftmailer.org' => 'Chris']); - $id = $message->getId(); - $date = $message->getDate(); - $this->assertEquals( - 'Sender: Chris '."\r\n". - 'Message-ID: <'.$id.'>'."\r\n". - 'Date: '.$date->format('r')."\r\n". - 'Subject: just a test subject'."\r\n". - 'From: '."\r\n". - 'MIME-Version: 1.0'."\r\n". - 'Content-Type: text/plain'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n", - $message->toString() - ); - } - - public function testReplyToCanBeSet() - { - $message = $this->createMessage(); - $message->setSubject('just a test subject'); - $message->setFrom(['chris.corbyn@swiftmailer.org' => 'Chris']); - $message->setReplyTo(['chris@w3style.co.uk' => 'Myself']); - $id = $message->getId(); - $date = $message->getDate(); - $this->assertEquals( - 'Message-ID: <'.$id.'>'."\r\n". - 'Date: '.$date->format('r')."\r\n". - 'Subject: just a test subject'."\r\n". - 'From: Chris '."\r\n". - 'Reply-To: Myself '."\r\n". - 'MIME-Version: 1.0'."\r\n". - 'Content-Type: text/plain'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n", - $message->toString() - ); - } - - public function testMultipleReplyAddressCanBeUsed() - { - $message = $this->createMessage(); - $message->setSubject('just a test subject'); - $message->setFrom(['chris.corbyn@swiftmailer.org' => 'Chris']); - $message->setReplyTo([ - 'chris@w3style.co.uk' => 'Myself', - 'my.other@address.com' => 'Me', - ]); - $id = $message->getId(); - $date = $message->getDate(); - $this->assertEquals( - 'Message-ID: <'.$id.'>'."\r\n". - 'Date: '.$date->format('r')."\r\n". - 'Subject: just a test subject'."\r\n". - 'From: Chris '."\r\n". - 'Reply-To: Myself , Me '."\r\n". - 'MIME-Version: 1.0'."\r\n". - 'Content-Type: text/plain'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n", - $message->toString() - ); - } - - public function testToAddressCanBeSet() - { - $message = $this->createMessage(); - $message->setSubject('just a test subject'); - $message->setFrom(['chris.corbyn@swiftmailer.org' => 'Chris']); - $message->setReplyTo([ - 'chris@w3style.co.uk' => 'Myself', - 'my.other@address.com' => 'Me', - ]); - $message->setTo('mark@swiftmailer.org'); - $id = $message->getId(); - $date = $message->getDate(); - $this->assertEquals( - 'Message-ID: <'.$id.'>'."\r\n". - 'Date: '.$date->format('r')."\r\n". - 'Subject: just a test subject'."\r\n". - 'From: Chris '."\r\n". - 'Reply-To: Myself , Me '."\r\n". - 'To: mark@swiftmailer.org'."\r\n". - 'MIME-Version: 1.0'."\r\n". - 'Content-Type: text/plain'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n", - $message->toString() - ); - } - - public function testMultipleToAddressesCanBeSet() - { - $message = $this->createMessage(); - $message->setSubject('just a test subject'); - $message->setFrom(['chris.corbyn@swiftmailer.org' => 'Chris']); - $message->setReplyTo([ - 'chris@w3style.co.uk' => 'Myself', - 'my.other@address.com' => 'Me', - ]); - $message->setTo([ - 'mark@swiftmailer.org', 'chris@swiftmailer.org' => 'Chris Corbyn', - ]); - $id = $message->getId(); - $date = $message->getDate(); - $this->assertEquals( - 'Message-ID: <'.$id.'>'."\r\n". - 'Date: '.$date->format('r')."\r\n". - 'Subject: just a test subject'."\r\n". - 'From: Chris '."\r\n". - 'Reply-To: Myself , Me '."\r\n". - 'To: mark@swiftmailer.org, Chris Corbyn '."\r\n". - 'MIME-Version: 1.0'."\r\n". - 'Content-Type: text/plain'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n", - $message->toString() - ); - } - - public function testCcAddressCanBeSet() - { - $message = $this->createMessage(); - $message->setSubject('just a test subject'); - $message->setFrom(['chris.corbyn@swiftmailer.org' => 'Chris']); - $message->setReplyTo([ - 'chris@w3style.co.uk' => 'Myself', - 'my.other@address.com' => 'Me', - ]); - $message->setTo([ - 'mark@swiftmailer.org', 'chris@swiftmailer.org' => 'Chris Corbyn', - ]); - $message->setCc('john@some-site.com'); - $id = $message->getId(); - $date = $message->getDate(); - $this->assertEquals( - 'Message-ID: <'.$id.'>'."\r\n". - 'Date: '.$date->format('r')."\r\n". - 'Subject: just a test subject'."\r\n". - 'From: Chris '."\r\n". - 'Reply-To: Myself , Me '."\r\n". - 'To: mark@swiftmailer.org, Chris Corbyn '."\r\n". - 'Cc: john@some-site.com'."\r\n". - 'MIME-Version: 1.0'."\r\n". - 'Content-Type: text/plain'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n", - $message->toString() - ); - } - - public function testMultipleCcAddressesCanBeSet() - { - $message = $this->createMessage(); - $message->setSubject('just a test subject'); - $message->setFrom(['chris.corbyn@swiftmailer.org' => 'Chris']); - $message->setReplyTo([ - 'chris@w3style.co.uk' => 'Myself', - 'my.other@address.com' => 'Me', - ]); - $message->setTo([ - 'mark@swiftmailer.org', 'chris@swiftmailer.org' => 'Chris Corbyn', - ]); - $message->setCc([ - 'john@some-site.com' => 'John West', - 'fred@another-site.co.uk' => 'Big Fred', - ]); - $id = $message->getId(); - $date = $message->getDate(); - $this->assertEquals( - 'Message-ID: <'.$id.'>'."\r\n". - 'Date: '.$date->format('r')."\r\n". - 'Subject: just a test subject'."\r\n". - 'From: Chris '."\r\n". - 'Reply-To: Myself , Me '."\r\n". - 'To: mark@swiftmailer.org, Chris Corbyn '."\r\n". - 'Cc: John West , Big Fred '."\r\n". - 'MIME-Version: 1.0'."\r\n". - 'Content-Type: text/plain'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n", - $message->toString() - ); - } - - public function testBccAddressCanBeSet() - { - //Obviously Transports need to setBcc(array()) and send to each Bcc recipient - // separately in accordance with RFC 2822/2821 - $message = $this->createMessage(); - $message->setSubject('just a test subject'); - $message->setFrom(['chris.corbyn@swiftmailer.org' => 'Chris']); - $message->setReplyTo([ - 'chris@w3style.co.uk' => 'Myself', - 'my.other@address.com' => 'Me', - ]); - $message->setTo([ - 'mark@swiftmailer.org', 'chris@swiftmailer.org' => 'Chris Corbyn', - ]); - $message->setCc([ - 'john@some-site.com' => 'John West', - 'fred@another-site.co.uk' => 'Big Fred', - ]); - $message->setBcc('x@alphabet.tld'); - $id = $message->getId(); - $date = $message->getDate(); - $this->assertEquals( - 'Message-ID: <'.$id.'>'."\r\n". - 'Date: '.$date->format('r')."\r\n". - 'Subject: just a test subject'."\r\n". - 'From: Chris '."\r\n". - 'Reply-To: Myself , Me '."\r\n". - 'To: mark@swiftmailer.org, Chris Corbyn '."\r\n". - 'Cc: John West , Big Fred '."\r\n". - 'Bcc: x@alphabet.tld'."\r\n". - 'MIME-Version: 1.0'."\r\n". - 'Content-Type: text/plain'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n", - $message->toString() - ); - } - - public function testMultipleBccAddressesCanBeSet() - { - //Obviously Transports need to setBcc(array()) and send to each Bcc recipient - // separately in accordance with RFC 2822/2821 - $message = $this->createMessage(); - $message->setSubject('just a test subject'); - $message->setFrom(['chris.corbyn@swiftmailer.org' => 'Chris']); - $message->setReplyTo([ - 'chris@w3style.co.uk' => 'Myself', - 'my.other@address.com' => 'Me', - ]); - $message->setTo([ - 'mark@swiftmailer.org', 'chris@swiftmailer.org' => 'Chris Corbyn', - ]); - $message->setCc([ - 'john@some-site.com' => 'John West', - 'fred@another-site.co.uk' => 'Big Fred', - ]); - $message->setBcc(['x@alphabet.tld', 'a@alphabet.tld' => 'A']); - $id = $message->getId(); - $date = $message->getDate(); - $this->assertEquals( - 'Message-ID: <'.$id.'>'."\r\n". - 'Date: '.$date->format('r')."\r\n". - 'Subject: just a test subject'."\r\n". - 'From: Chris '."\r\n". - 'Reply-To: Myself , Me '."\r\n". - 'To: mark@swiftmailer.org, Chris Corbyn '."\r\n". - 'Cc: John West , Big Fred '."\r\n". - 'Bcc: x@alphabet.tld, A '."\r\n". - 'MIME-Version: 1.0'."\r\n". - 'Content-Type: text/plain'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n", - $message->toString() - ); - } - - public function testStringBodyIsAppended() - { - $message = $this->createMessage(); - $message->setReturnPath('chris@w3style.co.uk'); - $message->setSubject('just a test subject'); - $message->setFrom([ - 'chris.corbyn@swiftmailer.org' => 'Chris Corbyn', ]); - $message->setBody( - 'just a test body'."\r\n". - 'with a new line' - ); - $id = $message->getId(); - $date = $message->getDate(); - $this->assertEquals( - 'Return-Path: '."\r\n". - 'Message-ID: <'.$id.'>'."\r\n". - 'Date: '.$date->format('r')."\r\n". - 'Subject: just a test subject'."\r\n". - 'From: Chris Corbyn '."\r\n". - 'MIME-Version: 1.0'."\r\n". - 'Content-Type: text/plain'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n". - "\r\n". - 'just a test body'."\r\n". - 'with a new line', - $message->toString() - ); - } - - public function testStringBodyIsEncoded() - { - $message = $this->createMessage(); - $message->setReturnPath('chris@w3style.co.uk'); - $message->setSubject('just a test subject'); - $message->setFrom([ - 'chris.corbyn@swiftmailer.org' => 'Chris Corbyn', ]); - $message->setBody( - 'Just s'.pack('C*', 0xC2, 0x01, 0x01).'me multi-'."\r\n". - 'line message!' - ); - $id = $message->getId(); - $date = $message->getDate(); - $this->assertEquals( - 'Return-Path: '."\r\n". - 'Message-ID: <'.$id.'>'."\r\n". - 'Date: '.$date->format('r')."\r\n". - 'Subject: just a test subject'."\r\n". - 'From: Chris Corbyn '."\r\n". - 'MIME-Version: 1.0'."\r\n". - 'Content-Type: text/plain'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n". - "\r\n". - 'Just s=C2=01=01me multi-'."\r\n". - 'line message!', - $message->toString() - ); - } - - public function testChildrenCanBeAttached() - { - $message = $this->createMessage(); - $message->setReturnPath('chris@w3style.co.uk'); - $message->setSubject('just a test subject'); - $message->setFrom([ - 'chris.corbyn@swiftmailer.org' => 'Chris Corbyn', ]); - - $id = $message->getId(); - $date = $message->getDate(); - $boundary = $message->getBoundary(); - - $part1 = $this->createMimePart(); - $part1->setContentType('text/plain'); - $part1->setCharset('iso-8859-1'); - $part1->setBody('foo'); - - $message->attach($part1); - - $part2 = $this->createMimePart(); - $part2->setContentType('text/html'); - $part2->setCharset('iso-8859-1'); - $part2->setBody('test foo'); - - $message->attach($part2); - - $this->assertEquals( - 'Return-Path: '."\r\n". - 'Message-ID: <'.$id.'>'."\r\n". - 'Date: '.$date->format('r')."\r\n". - 'Subject: just a test subject'."\r\n". - 'From: Chris Corbyn '."\r\n". - 'MIME-Version: 1.0'."\r\n". - 'Content-Type: multipart/alternative;'."\r\n". - ' boundary="'.$boundary.'"'."\r\n". - "\r\n\r\n". - '--'.$boundary."\r\n". - 'Content-Type: text/plain; charset=iso-8859-1'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n". - "\r\n". - 'foo'. - "\r\n\r\n". - '--'.$boundary."\r\n". - 'Content-Type: text/html; charset=iso-8859-1'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n". - "\r\n". - 'test foo'. - "\r\n\r\n". - '--'.$boundary.'--'."\r\n", - $message->toString() - ); - } - - public function testAttachmentsBeingAttached() - { - $message = $this->createMessage(); - $message->setReturnPath('chris@w3style.co.uk'); - $message->setSubject('just a test subject'); - $message->setFrom([ - 'chris.corbyn@swiftmailer.org' => 'Chris Corbyn', ]); - - $id = $message->getId(); - $date = preg_quote($message->getDate()->format('r'), '~'); - $boundary = $message->getBoundary(); - - $part = $this->createMimePart(); - $part->setContentType('text/plain'); - $part->setCharset('iso-8859-1'); - $part->setBody('foo'); - - $message->attach($part); - - $attachment = $this->createAttachment(); - $attachment->setContentType('application/pdf'); - $attachment->setFilename('foo.pdf'); - $attachment->setBody(''); - - $message->attach($attachment); - - $this->assertRegExp( - '~^'. - 'Return-Path: '."\r\n". - 'Message-ID: <'.$id.'>'."\r\n". - 'Date: '.$date."\r\n". - 'Subject: just a test subject'."\r\n". - 'From: Chris Corbyn '."\r\n". - 'MIME-Version: 1.0'."\r\n". - 'Content-Type: multipart/mixed;'."\r\n". - ' boundary="'.$boundary.'"'."\r\n". - "\r\n\r\n". - '--'.$boundary."\r\n". - 'Content-Type: multipart/alternative;'."\r\n". - ' boundary="(.*?)"'."\r\n". - "\r\n\r\n". - '--\\1'."\r\n". - 'Content-Type: text/plain; charset=iso-8859-1'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n". - "\r\n". - 'foo'. - "\r\n\r\n". - '--\\1--'."\r\n". - "\r\n\r\n". - '--'.$boundary."\r\n". - 'Content-Type: application/pdf; name=foo.pdf'."\r\n". - 'Content-Transfer-Encoding: base64'."\r\n". - 'Content-Disposition: attachment; filename=foo.pdf'."\r\n". - "\r\n". - preg_quote(base64_encode(''), '~'). - "\r\n\r\n". - '--'.$boundary.'--'."\r\n". - '$~D', - $message->toString() - ); - } - - public function testAttachmentsAndEmbeddedFilesBeingAttached() - { - $message = $this->createMessage(); - $message->setReturnPath('chris@w3style.co.uk'); - $message->setSubject('just a test subject'); - $message->setFrom([ - 'chris.corbyn@swiftmailer.org' => 'Chris Corbyn', ]); - - $id = $message->getId(); - $date = preg_quote($message->getDate()->format('r'), '~'); - $boundary = $message->getBoundary(); - - $part = $this->createMimePart(); - $part->setContentType('text/plain'); - $part->setCharset('iso-8859-1'); - $part->setBody('foo'); - - $message->attach($part); - - $attachment = $this->createAttachment(); - $attachment->setContentType('application/pdf'); - $attachment->setFilename('foo.pdf'); - $attachment->setBody(''); - - $message->attach($attachment); - - $file = $this->createEmbeddedFile(); - $file->setContentType('image/jpeg'); - $file->setFilename('myimage.jpg'); - $file->setBody(''); - - $message->attach($file); - - $cid = $file->getId(); - - $this->assertRegExp( - '~^'. - 'Return-Path: '."\r\n". - 'Message-ID: <'.$id.'>'."\r\n". - 'Date: '.$date."\r\n". - 'Subject: just a test subject'."\r\n". - 'From: Chris Corbyn '."\r\n". - 'MIME-Version: 1.0'."\r\n". - 'Content-Type: multipart/mixed;'."\r\n". - ' boundary="'.$boundary.'"'."\r\n". - "\r\n\r\n". - '--'.$boundary."\r\n". - 'Content-Type: multipart/alternative;'."\r\n". - ' boundary="(.*?)"'."\r\n". - "\r\n\r\n". - '--\\1'."\r\n". - 'Content-Type: text/plain; charset=iso-8859-1'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n". - "\r\n". - 'foo'. - - "\r\n\r\n". - '--\\1'."\r\n". - 'Content-Type: multipart/related;'."\r\n". - ' boundary="(.*?)"'."\r\n". - "\r\n\r\n". - '--\\2'."\r\n". - 'Content-Type: image/jpeg; name=myimage.jpg'."\r\n". - 'Content-Transfer-Encoding: base64'."\r\n". - 'Content-ID: <'.$cid.'>'."\r\n". - 'Content-Disposition: inline; filename=myimage.jpg'."\r\n". - "\r\n". - preg_quote(base64_encode(''), '~'). - "\r\n\r\n". - '--\\2--'."\r\n". - "\r\n\r\n". - '--\\1--'."\r\n". - "\r\n\r\n". - '--'.$boundary."\r\n". - 'Content-Type: application/pdf; name=foo.pdf'."\r\n". - 'Content-Transfer-Encoding: base64'."\r\n". - 'Content-Disposition: attachment; filename=foo.pdf'."\r\n". - "\r\n". - preg_quote(base64_encode(''), '~'). - "\r\n\r\n". - '--'.$boundary.'--'."\r\n". - '$~D', - $message->toString() - ); - } - - public function testComplexEmbeddingOfContent() - { - $message = $this->createMessage(); - $message->setReturnPath('chris@w3style.co.uk'); - $message->setSubject('just a test subject'); - $message->setFrom([ - 'chris.corbyn@swiftmailer.org' => 'Chris Corbyn', ]); - - $id = $message->getId(); - $date = preg_quote($message->getDate()->format('r'), '~'); - $boundary = $message->getBoundary(); - - $attachment = $this->createAttachment(); - $attachment->setContentType('application/pdf'); - $attachment->setFilename('foo.pdf'); - $attachment->setBody(''); - - $message->attach($attachment); - - $file = $this->createEmbeddedFile(); - $file->setContentType('image/jpeg'); - $file->setFilename('myimage.jpg'); - $file->setBody(''); - - $part = $this->createMimePart(); - $part->setContentType('text/html'); - $part->setCharset('iso-8859-1'); - $part->setBody('foo '); - - $message->attach($part); - - $cid = $file->getId(); - - $this->assertRegExp( - '~^'. - 'Return-Path: '."\r\n". - 'Message-ID: <'.$id.'>'."\r\n". - 'Date: '.$date."\r\n". - 'Subject: just a test subject'."\r\n". - 'From: Chris Corbyn '."\r\n". - 'MIME-Version: 1.0'."\r\n". - 'Content-Type: multipart/mixed;'."\r\n". - ' boundary="'.$boundary.'"'."\r\n". - "\r\n\r\n". - '--'.$boundary."\r\n". - 'Content-Type: multipart/related;'."\r\n". - ' boundary="(.*?)"'."\r\n". - "\r\n\r\n". - '--\\1'."\r\n". - 'Content-Type: text/html; charset=iso-8859-1'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n". - "\r\n". - 'foo './/=3D is just = in QP - "\r\n\r\n". - '--\\1'."\r\n". - 'Content-Type: image/jpeg; name=myimage.jpg'."\r\n". - 'Content-Transfer-Encoding: base64'."\r\n". - 'Content-ID: <'.$cid.'>'."\r\n". - 'Content-Disposition: inline; filename=myimage.jpg'."\r\n". - "\r\n". - preg_quote(base64_encode(''), '~'). - "\r\n\r\n". - '--\\1--'."\r\n". - "\r\n\r\n". - '--'.$boundary."\r\n". - 'Content-Type: application/pdf; name=foo.pdf'."\r\n". - 'Content-Transfer-Encoding: base64'."\r\n". - 'Content-Disposition: attachment; filename=foo.pdf'."\r\n". - "\r\n". - preg_quote(base64_encode(''), '~'). - "\r\n\r\n". - '--'.$boundary.'--'."\r\n". - '$~D', - $message->toString() - ); - } - - public function testAttachingAndDetachingContent() - { - $message = $this->createMessage(); - $message->setReturnPath('chris@w3style.co.uk'); - $message->setSubject('just a test subject'); - $message->setFrom([ - 'chris.corbyn@swiftmailer.org' => 'Chris Corbyn', ]); - - $id = $message->getId(); - $date = preg_quote($message->getDate()->format('r'), '~'); - $boundary = $message->getBoundary(); - - $part = $this->createMimePart(); - $part->setContentType('text/plain'); - $part->setCharset('iso-8859-1'); - $part->setBody('foo'); - - $message->attach($part); - - $attachment = $this->createAttachment(); - $attachment->setContentType('application/pdf'); - $attachment->setFilename('foo.pdf'); - $attachment->setBody(''); - - $message->attach($attachment); - - $file = $this->createEmbeddedFile(); - $file->setContentType('image/jpeg'); - $file->setFilename('myimage.jpg'); - $file->setBody(''); - - $message->attach($file); - - $cid = $file->getId(); - - $message->detach($attachment); - - $this->assertRegExp( - '~^'. - 'Return-Path: '."\r\n". - 'Message-ID: <'.$id.'>'."\r\n". - 'Date: '.$date."\r\n". - 'Subject: just a test subject'."\r\n". - 'From: Chris Corbyn '."\r\n". - 'MIME-Version: 1.0'."\r\n". - 'Content-Type: multipart/alternative;'."\r\n". - ' boundary="'.$boundary.'"'."\r\n". - "\r\n\r\n". - '--'.$boundary."\r\n". - 'Content-Type: text/plain; charset=iso-8859-1'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n". - "\r\n". - 'foo'. - "\r\n\r\n". - '--'.$boundary."\r\n". - 'Content-Type: multipart/related;'."\r\n". - ' boundary="(.*?)"'."\r\n". - "\r\n\r\n". - '--\\1'."\r\n". - 'Content-Type: image/jpeg; name=myimage.jpg'."\r\n". - 'Content-Transfer-Encoding: base64'."\r\n". - 'Content-ID: <'.$cid.'>'."\r\n". - 'Content-Disposition: inline; filename=myimage.jpg'."\r\n". - "\r\n". - preg_quote(base64_encode(''), '~'). - "\r\n\r\n". - '--\\1--'."\r\n". - "\r\n\r\n". - '--'.$boundary.'--'."\r\n". - '$~D', - $message->toString(), - '%s: Attachment should have been detached' - ); - } - - public function testBoundaryDoesNotAppearAfterAllPartsAreDetached() - { - $message = $this->createMessage(); - $message->setReturnPath('chris@w3style.co.uk'); - $message->setSubject('just a test subject'); - $message->setFrom([ - 'chris.corbyn@swiftmailer.org' => 'Chris Corbyn', ]); - - $id = $message->getId(); - $date = $message->getDate(); - $boundary = $message->getBoundary(); - - $part1 = $this->createMimePart(); - $part1->setContentType('text/plain'); - $part1->setCharset('iso-8859-1'); - $part1->setBody('foo'); - - $message->attach($part1); - - $part2 = $this->createMimePart(); - $part2->setContentType('text/html'); - $part2->setCharset('iso-8859-1'); - $part2->setBody('test foo'); - - $message->attach($part2); - - $message->detach($part1); - $message->detach($part2); - - $this->assertEquals( - 'Return-Path: '."\r\n". - 'Message-ID: <'.$id.'>'."\r\n". - 'Date: '.$date->format('r')."\r\n". - 'Subject: just a test subject'."\r\n". - 'From: Chris Corbyn '."\r\n". - 'MIME-Version: 1.0'."\r\n". - 'Content-Type: text/plain'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n", - $message->toString(), - '%s: Message should be restored to orignal state after parts are detached' - ); - } - - public function testCharsetFormatOrDelSpAreNotShownWhenBoundaryIsSet() - { - $message = $this->createMessage(); - $message->setReturnPath('chris@w3style.co.uk'); - $message->setSubject('just a test subject'); - $message->setFrom([ - 'chris.corbyn@swiftmailer.org' => 'Chris Corbyn', ]); - $message->setCharset('utf-8'); - $message->setFormat('flowed'); - $message->setDelSp(true); - - $id = $message->getId(); - $date = $message->getDate(); - $boundary = $message->getBoundary(); - - $part1 = $this->createMimePart(); - $part1->setContentType('text/plain'); - $part1->setCharset('iso-8859-1'); - $part1->setBody('foo'); - - $message->attach($part1); - - $part2 = $this->createMimePart(); - $part2->setContentType('text/html'); - $part2->setCharset('iso-8859-1'); - $part2->setBody('test foo'); - - $message->attach($part2); - - $this->assertEquals( - 'Return-Path: '."\r\n". - 'Message-ID: <'.$id.'>'."\r\n". - 'Date: '.$date->format('r')."\r\n". - 'Subject: just a test subject'."\r\n". - 'From: Chris Corbyn '."\r\n". - 'MIME-Version: 1.0'."\r\n". - 'Content-Type: multipart/alternative;'."\r\n". - ' boundary="'.$boundary.'"'."\r\n". - "\r\n\r\n". - '--'.$boundary."\r\n". - 'Content-Type: text/plain; charset=iso-8859-1'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n". - "\r\n". - 'foo'. - "\r\n\r\n". - '--'.$boundary."\r\n". - 'Content-Type: text/html; charset=iso-8859-1'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n". - "\r\n". - 'test foo'. - "\r\n\r\n". - '--'.$boundary.'--'."\r\n", - $message->toString() - ); - } - - public function testBodyCanBeSetWithAttachments() - { - $message = $this->createMessage(); - $message->setReturnPath('chris@w3style.co.uk'); - $message->setSubject('just a test subject'); - $message->setFrom([ - 'chris.corbyn@swiftmailer.org' => 'Chris Corbyn', ]); - $message->setContentType('text/html'); - $message->setCharset('iso-8859-1'); - $message->setBody('foo'); - - $id = $message->getId(); - $date = $message->getDate()->format('r'); - $boundary = $message->getBoundary(); - - $attachment = $this->createAttachment(); - $attachment->setContentType('application/pdf'); - $attachment->setFilename('foo.pdf'); - $attachment->setBody(''); - - $message->attach($attachment); - - $this->assertEquals( - 'Return-Path: '."\r\n". - 'Message-ID: <'.$id.'>'."\r\n". - 'Date: '.$date."\r\n". - 'Subject: just a test subject'."\r\n". - 'From: Chris Corbyn '."\r\n". - 'MIME-Version: 1.0'."\r\n". - 'Content-Type: multipart/mixed;'."\r\n". - ' boundary="'.$boundary.'"'."\r\n". - "\r\n\r\n". - '--'.$boundary."\r\n". - 'Content-Type: text/html; charset=iso-8859-1'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n". - "\r\n". - 'foo'. - "\r\n\r\n". - '--'.$boundary."\r\n". - 'Content-Type: application/pdf; name=foo.pdf'."\r\n". - 'Content-Transfer-Encoding: base64'."\r\n". - 'Content-Disposition: attachment; filename=foo.pdf'."\r\n". - "\r\n". - base64_encode(''). - "\r\n\r\n". - '--'.$boundary.'--'."\r\n", - $message->toString() - ); - } - - public function testHtmlPartAlwaysAppearsLast() - { - $message = $this->createMessage(); - $message->setReturnPath('chris@w3style.co.uk'); - $message->setSubject('just a test subject'); - $message->setFrom([ - 'chris.corbyn@swiftmailer.org' => 'Chris Corbyn', ]); - - $id = $message->getId(); - $date = $message->getDate()->format('r'); - $boundary = $message->getBoundary(); - - $part1 = $this->createMimePart(); - $part1->setContentType('text/html'); - $part1->setBody('foo'); - - $part2 = $this->createMimePart(); - $part2->setContentType('text/plain'); - $part2->setBody('bar'); - - $message->attach($part1); - $message->attach($part2); - - $this->assertEquals( - 'Return-Path: '."\r\n". - 'Message-ID: <'.$id.'>'."\r\n". - 'Date: '.$date."\r\n". - 'Subject: just a test subject'."\r\n". - 'From: Chris Corbyn '."\r\n". - 'MIME-Version: 1.0'."\r\n". - 'Content-Type: multipart/alternative;'."\r\n". - ' boundary="'.$boundary.'"'."\r\n". - "\r\n\r\n". - '--'.$boundary."\r\n". - 'Content-Type: text/plain'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n". - "\r\n". - 'bar'. - "\r\n\r\n". - '--'.$boundary."\r\n". - 'Content-Type: text/html'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n". - "\r\n". - 'foo'. - "\r\n\r\n". - '--'.$boundary.'--'."\r\n", - $message->toString() - ); - } - - public function testBodyBecomesPartIfOtherPartsAttached() - { - $message = $this->createMessage(); - $message->setReturnPath('chris@w3style.co.uk'); - $message->setSubject('just a test subject'); - $message->setFrom([ - 'chris.corbyn@swiftmailer.org' => 'Chris Corbyn', ]); - $message->setContentType('text/html'); - $message->setBody('foo'); - - $id = $message->getId(); - $date = $message->getDate()->format('r'); - $boundary = $message->getBoundary(); - - $part2 = $this->createMimePart(); - $part2->setContentType('text/plain'); - $part2->setBody('bar'); - - $message->attach($part2); - - $this->assertEquals( - 'Return-Path: '."\r\n". - 'Message-ID: <'.$id.'>'."\r\n". - 'Date: '.$date."\r\n". - 'Subject: just a test subject'."\r\n". - 'From: Chris Corbyn '."\r\n". - 'MIME-Version: 1.0'."\r\n". - 'Content-Type: multipart/alternative;'."\r\n". - ' boundary="'.$boundary.'"'."\r\n". - "\r\n\r\n". - '--'.$boundary."\r\n". - 'Content-Type: text/plain'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n". - "\r\n". - 'bar'. - "\r\n\r\n". - '--'.$boundary."\r\n". - 'Content-Type: text/html'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n". - "\r\n". - 'foo'. - "\r\n\r\n". - '--'.$boundary.'--'."\r\n", - $message->toString() - ); - } - - public function testBodyIsCanonicalized() - { - $message = $this->createMessage(); - $message->setReturnPath('chris@w3style.co.uk'); - $message->setSubject('just a test subject'); - $message->setFrom([ - 'chris.corbyn@swiftmailer.org' => 'Chris Corbyn', ]); - $message->setBody( - 'just a test body'."\n". - 'with a new line' - ); - $id = $message->getId(); - $date = $message->getDate(); - $this->assertEquals( - 'Return-Path: '."\r\n". - 'Message-ID: <'.$id.'>'."\r\n". - 'Date: '.$date->format('r')."\r\n". - 'Subject: just a test subject'."\r\n". - 'From: Chris Corbyn '."\r\n". - 'MIME-Version: 1.0'."\r\n". - 'Content-Type: text/plain'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n". - "\r\n". - 'just a test body'."\r\n". - 'with a new line', - $message->toString() - ); - } - - protected function createMessage() - { - return new Swift_Message(); - } - - protected function createMimePart() - { - return new Swift_MimePart(); - } - - protected function createAttachment() - { - return new Swift_Attachment(); - } - - protected function createEmbeddedFile() - { - return new Swift_EmbeddedFile(); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/MimePartAcceptanceTest.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/MimePartAcceptanceTest.php deleted file mode 100644 index 581afc7..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/MimePartAcceptanceTest.php +++ /dev/null @@ -1,15 +0,0 @@ -register('properties.charset')->asValue(null); - - return new Swift_MimePart(); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Transport/StreamBuffer/AbstractStreamBufferAcceptanceTest.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Transport/StreamBuffer/AbstractStreamBufferAcceptanceTest.php deleted file mode 100644 index 9bc09f8..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Transport/StreamBuffer/AbstractStreamBufferAcceptanceTest.php +++ /dev/null @@ -1,131 +0,0 @@ -markTestSkipped( - 'Will fail on travis-ci if not skipped due to travis blocking '. - 'socket mailing tcp connections.' - ); - } - - $this->buffer = new Swift_Transport_StreamBuffer( - $this->getMockBuilder('Swift_ReplacementFilterFactory')->getMock() - ); - } - - public function testReadLine() - { - $this->initializeBuffer(); - - $line = $this->buffer->readLine(0); - $this->assertRegExp('/^[0-9]{3}.*?\r\n$/D', $line); - $seq = $this->buffer->write("QUIT\r\n"); - $this->assertTrue((bool) $seq); - $line = $this->buffer->readLine($seq); - $this->assertRegExp('/^[0-9]{3}.*?\r\n$/D', $line); - $this->buffer->terminate(); - } - - public function testWrite() - { - $this->initializeBuffer(); - - $line = $this->buffer->readLine(0); - $this->assertRegExp('/^[0-9]{3}.*?\r\n$/D', $line); - - $seq = $this->buffer->write("HELO foo\r\n"); - $this->assertTrue((bool) $seq); - $line = $this->buffer->readLine($seq); - $this->assertRegExp('/^[0-9]{3}.*?\r\n$/D', $line); - - $seq = $this->buffer->write("QUIT\r\n"); - $this->assertTrue((bool) $seq); - $line = $this->buffer->readLine($seq); - $this->assertRegExp('/^[0-9]{3}.*?\r\n$/D', $line); - $this->buffer->terminate(); - } - - public function testBindingOtherStreamsMirrorsWriteOperations() - { - $this->initializeBuffer(); - - $is1 = $this->createMockInputStream(); - $is2 = $this->createMockInputStream(); - - $is1->expects($this->at(0)) - ->method('write') - ->with('x'); - $is1->expects($this->at(1)) - ->method('write') - ->with('y'); - $is2->expects($this->at(0)) - ->method('write') - ->with('x'); - $is2->expects($this->at(1)) - ->method('write') - ->with('y'); - - $this->buffer->bind($is1); - $this->buffer->bind($is2); - - $this->buffer->write('x'); - $this->buffer->write('y'); - } - - public function testBindingOtherStreamsMirrorsFlushOperations() - { - $this->initializeBuffer(); - - $is1 = $this->createMockInputStream(); - $is2 = $this->createMockInputStream(); - - $is1->expects($this->once()) - ->method('flushBuffers'); - $is2->expects($this->once()) - ->method('flushBuffers'); - - $this->buffer->bind($is1); - $this->buffer->bind($is2); - - $this->buffer->flushBuffers(); - } - - public function testUnbindingStreamPreventsFurtherWrites() - { - $this->initializeBuffer(); - - $is1 = $this->createMockInputStream(); - $is2 = $this->createMockInputStream(); - - $is1->expects($this->at(0)) - ->method('write') - ->with('x'); - $is1->expects($this->at(1)) - ->method('write') - ->with('y'); - $is2->expects($this->once()) - ->method('write') - ->with('x'); - - $this->buffer->bind($is1); - $this->buffer->bind($is2); - - $this->buffer->write('x'); - - $this->buffer->unbind($is2); - - $this->buffer->write('y'); - } - - private function createMockInputStream() - { - return $this->getMockBuilder('Swift_InputByteStream')->getMock(); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Transport/StreamBuffer/BasicSocketAcceptanceTest.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Transport/StreamBuffer/BasicSocketAcceptanceTest.php deleted file mode 100644 index 739a7ec..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Transport/StreamBuffer/BasicSocketAcceptanceTest.php +++ /dev/null @@ -1,33 +0,0 @@ -markTestSkipped( - 'Cannot run test without an SMTP host to connect to (define '. - 'SWIFT_SMTP_HOST in tests/acceptance.conf.php if you wish to run this test)' - ); - } - parent::setUp(); - } - - protected function initializeBuffer() - { - $parts = explode(':', SWIFT_SMTP_HOST); - $host = $parts[0]; - $port = $parts[1] ?? 25; - - $this->buffer->initialize([ - 'type' => Swift_Transport_IoBuffer::TYPE_SOCKET, - 'host' => $host, - 'port' => $port, - 'protocol' => 'tcp', - 'blocking' => 1, - 'timeout' => 15, - ]); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Transport/StreamBuffer/ProcessAcceptanceTest.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Transport/StreamBuffer/ProcessAcceptanceTest.php deleted file mode 100644 index 34ef3cb..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Transport/StreamBuffer/ProcessAcceptanceTest.php +++ /dev/null @@ -1,26 +0,0 @@ -markTestSkipped( - 'Cannot run test without a path to sendmail (define '. - 'SWIFT_SENDMAIL_PATH in tests/acceptance.conf.php if you wish to run this test)' - ); - } - - parent::setUp(); - } - - protected function initializeBuffer() - { - $this->buffer->initialize([ - 'type' => Swift_Transport_IoBuffer::TYPE_PROCESS, - 'command' => SWIFT_SENDMAIL_PATH.' -bs', - ]); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Transport/StreamBuffer/SocketTimeoutTest.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Transport/StreamBuffer/SocketTimeoutTest.php deleted file mode 100644 index 67073f8..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Transport/StreamBuffer/SocketTimeoutTest.php +++ /dev/null @@ -1,65 +0,0 @@ -markTestSkipped( - 'Cannot run test without an SMTP host to connect to (define '. - 'SWIFT_SMTP_HOST in tests/acceptance.conf.php if you wish to run this test)' - ); - } - - $serverStarted = false; - for ($i = 0; $i < 5; ++$i) { - $this->randomHighPort = random_int(50000, 65000); - $this->server = stream_socket_server('tcp://127.0.0.1:'.$this->randomHighPort); - if ($this->server) { - $serverStarted = true; - } - } - - $this->buffer = new Swift_Transport_StreamBuffer( - $this->getMockBuilder('Swift_ReplacementFilterFactory')->getMock() - ); - } - - protected function initializeBuffer() - { - $host = '127.0.0.1'; - $port = $this->randomHighPort; - - $this->buffer->initialize([ - 'type' => Swift_Transport_IoBuffer::TYPE_SOCKET, - 'host' => $host, - 'port' => $port, - 'protocol' => 'tcp', - 'blocking' => 1, - 'timeout' => 1, - ]); - } - - public function testTimeoutException() - { - $this->initializeBuffer(); - $e = null; - try { - $line = $this->buffer->readLine(0); - } catch (Exception $e) { - } - $this->assertInstanceOf('Swift_IoException', $e, 'IO Exception Not Thrown On Connection Timeout'); - $this->assertRegExp('/Connection to .* Timed Out/', $e->getMessage()); - } - - protected function tearDown() - { - if ($this->server) { - stream_socket_shutdown($this->server, STREAM_SHUT_RDWR); - } - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Transport/StreamBuffer/SslSocketAcceptanceTest.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Transport/StreamBuffer/SslSocketAcceptanceTest.php deleted file mode 100644 index e3bee2c..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Transport/StreamBuffer/SslSocketAcceptanceTest.php +++ /dev/null @@ -1,40 +0,0 @@ -markTestSkipped( - 'SSL is not configured for your system. It is not possible to run this test' - ); - } - if (!defined('SWIFT_SSL_HOST')) { - $this->markTestSkipped( - 'Cannot run test without an SSL enabled SMTP host to connect to (define '. - 'SWIFT_SSL_HOST in tests/acceptance.conf.php if you wish to run this test)' - ); - } - - parent::setUp(); - } - - protected function initializeBuffer() - { - $parts = explode(':', SWIFT_SSL_HOST); - $host = $parts[0]; - $port = $parts[1] ?? 25; - - $this->buffer->initialize([ - 'type' => Swift_Transport_IoBuffer::TYPE_SOCKET, - 'host' => $host, - 'port' => $port, - 'protocol' => 'ssl', - 'blocking' => 1, - 'timeout' => 15, - ]); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Transport/StreamBuffer/TlsSocketAcceptanceTest.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Transport/StreamBuffer/TlsSocketAcceptanceTest.php deleted file mode 100644 index a5092a2..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Transport/StreamBuffer/TlsSocketAcceptanceTest.php +++ /dev/null @@ -1,39 +0,0 @@ -markTestSkipped( - 'TLS is not configured for your system. It is not possible to run this test' - ); - } - if (!defined('SWIFT_TLS_HOST')) { - $this->markTestSkipped( - 'Cannot run test without a TLS enabled SMTP host to connect to (define '. - 'SWIFT_TLS_HOST in tests/acceptance.conf.php if you wish to run this test)' - ); - } - parent::setUp(); - } - - protected function initializeBuffer() - { - $parts = explode(':', SWIFT_TLS_HOST); - $host = $parts[0]; - $port = $parts[1] ?? 25; - - $this->buffer->initialize([ - 'type' => Swift_Transport_IoBuffer::TYPE_SOCKET, - 'host' => $host, - 'port' => $port, - 'protocol' => 'tls', - 'blocking' => 1, - 'timeout' => 15, - ]); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/bootstrap.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/bootstrap.php deleted file mode 100644 index 27091a2..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/bootstrap.php +++ /dev/null @@ -1,21 +0,0 @@ -allowMockingNonExistentMethods(true); - -if (is_file(__DIR__.'/acceptance.conf.php')) { - require_once __DIR__.'/acceptance.conf.php'; -} -if (is_file(__DIR__.'/smoke.conf.php')) { - require_once __DIR__.'/smoke.conf.php'; -} -require_once __DIR__.'/StreamCollector.php'; -require_once __DIR__.'/IdenticalBinaryConstraint.php'; -require_once __DIR__.'/SwiftMailerTestCase.php'; -require_once __DIR__.'/SwiftMailerSmokeTestCase.php'; diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/bug/Swift/Bug111Test.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/bug/Swift/Bug111Test.php deleted file mode 100644 index e9085a9..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/bug/Swift/Bug111Test.php +++ /dev/null @@ -1,42 +0,0 @@ - [ - 'email1@example.com', - 'email2@example.com', - 'email3@example.com', - 'email4@example.com', - 'email5@example.com', - ], - 'sub' => [ - '-name-' => [ - 'email1', - '"email2"', - 'email3\\', - 'email4', - 'email5', - ], - '-url-' => [ - 'http://google.com', - 'http://yahoo.com', - 'http://hotmail.com', - 'http://aol.com', - 'http://facebook.com', - ], - ], - ]; - $json = json_encode($complicated_header); - - $message = new Swift_Message(); - $headers = $message->getHeaders(); - $headers->addTextHeader('X-SMTPAPI', $json); - $header = $headers->get('X-SMTPAPI'); - - $this->assertEquals('Swift_Mime_Headers_UnstructuredHeader', get_class($header)); - $this->assertEquals($json, $header->getFieldBody()); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/bug/Swift/Bug118Test.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/bug/Swift/Bug118Test.php deleted file mode 100644 index 34aa136..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/bug/Swift/Bug118Test.php +++ /dev/null @@ -1,20 +0,0 @@ -message = new Swift_Message(); - } - - public function testCallingGenerateIdChangesTheMessageId() - { - $currentId = $this->message->getId(); - $this->message->generateId(); - $newId = $this->message->getId(); - - $this->assertNotEquals($currentId, $newId); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/bug/Swift/Bug206Test.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/bug/Swift/Bug206Test.php deleted file mode 100644 index 67c9551..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/bug/Swift/Bug206Test.php +++ /dev/null @@ -1,40 +0,0 @@ -factory = new Swift_Mime_SimpleHeaderFactory($headerEncoder, $paramEncoder, $emailValidator); - } - - public function testMailboxHeaderEncoding() - { - $this->doTestHeaderIsFullyEncoded('email@example.org', 'Family Name, Name', ' "Family Name, Name" '); - $this->doTestHeaderIsFullyEncoded('email@example.org', 'Family Namé, Name', ' Family =?utf-8?Q?Nam=C3=A9=2C?= Name'); - $this->doTestHeaderIsFullyEncoded('email@example.org', 'Family Namé , Name', ' Family =?utf-8?Q?Nam=C3=A9_=2C?= Name'); - $this->doTestHeaderIsFullyEncoded('email@example.org', 'Family Namé ;Name', ' Family =?utf-8?Q?Nam=C3=A9_=3BName?= '); - } - - private function doTestHeaderIsFullyEncoded($email, $name, $expected) - { - $mailboxHeader = $this->factory->createMailboxHeader('To', [ - $email => $name, - ]); - - $headerBody = substr($mailboxHeader->toString(), 3, strlen($expected)); - - $this->assertEquals($expected, $headerBody); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/bug/Swift/Bug274Test.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/bug/Swift/Bug274Test.php deleted file mode 100644 index ddf6ca1..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/bug/Swift/Bug274Test.php +++ /dev/null @@ -1,25 +0,0 @@ -attach(Swift_Attachment::fromPath('')); - } - - public function testNonEmptyFileNameAsAttachment() - { - $message = new Swift_Message(); - try { - $message->attach(Swift_Attachment::fromPath(__FILE__)); - } catch (Exception $e) { - $this->fail('Path should not be empty'); - } - $this->addToAssertionCount(1); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/bug/Swift/Bug34Test.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/bug/Swift/Bug34Test.php deleted file mode 100644 index 0c8dd17..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/bug/Swift/Bug34Test.php +++ /dev/null @@ -1,75 +0,0 @@ -setCharset('utf-8'); - } - - public function testEmbeddedFilesWithMultipartDataCreateMultipartRelatedContentAsAnAlternative() - { - $message = new Swift_Message(); - $message->setCharset('utf-8'); - $message->setSubject('test subject'); - $message->addPart('plain part', 'text/plain'); - - $image = new Swift_Image('', 'image.gif', 'image/gif'); - $cid = $message->embed($image); - - $message->setBody('', 'text/html'); - - $message->setTo(['user@domain.tld' => 'User']); - - $message->setFrom(['other@domain.tld' => 'Other']); - $message->setSender(['other@domain.tld' => 'Other']); - - $id = $message->getId(); - $date = preg_quote($message->getDate()->format('r'), '~'); - $boundary = $message->getBoundary(); - $cidVal = $image->getId(); - - $this->assertRegExp( - '~^'. - 'Sender: Other '."\r\n". - 'Message-ID: <'.$id.'>'."\r\n". - 'Date: '.$date."\r\n". - 'Subject: test subject'."\r\n". - 'From: Other '."\r\n". - 'To: User '."\r\n". - 'MIME-Version: 1.0'."\r\n". - 'Content-Type: multipart/alternative;'."\r\n". - ' boundary="'.$boundary.'"'."\r\n". - "\r\n\r\n". - '--'.$boundary."\r\n". - 'Content-Type: text/plain; charset=utf-8'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n". - "\r\n". - 'plain part'. - "\r\n\r\n". - '--'.$boundary."\r\n". - 'Content-Type: multipart/related;'."\r\n". - ' boundary="(.*?)"'."\r\n". - "\r\n\r\n". - '--\\1'."\r\n". - 'Content-Type: text/html; charset=utf-8'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n". - "\r\n". - ''. - "\r\n\r\n". - '--\\1'."\r\n". - 'Content-Type: image/gif; name=image.gif'."\r\n". - 'Content-Transfer-Encoding: base64'."\r\n". - 'Content-ID: <'.$cidVal.'>'."\r\n". - 'Content-Disposition: inline; filename=image.gif'."\r\n". - "\r\n". - preg_quote(base64_encode(''), '~'). - "\r\n\r\n". - '--\\1--'."\r\n". - "\r\n\r\n". - '--'.$boundary.'--'."\r\n". - '$~D', - $message->toString() - ); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/bug/Swift/Bug35Test.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/bug/Swift/Bug35Test.php deleted file mode 100644 index 66644e9..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/bug/Swift/Bug35Test.php +++ /dev/null @@ -1,73 +0,0 @@ -setCharset('utf-8'); - } - - public function testHTMLPartAppearsLastEvenWhenAttachmentsAdded() - { - $message = new Swift_Message(); - $message->setCharset('utf-8'); - $message->setSubject('test subject'); - $message->addPart('plain part', 'text/plain'); - - $attachment = new Swift_Attachment('', 'image.gif', 'image/gif'); - $message->attach($attachment); - - $message->setBody('HTML part', 'text/html'); - - $message->setTo(['user@domain.tld' => 'User']); - - $message->setFrom(['other@domain.tld' => 'Other']); - $message->setSender(['other@domain.tld' => 'Other']); - - $id = $message->getId(); - $date = preg_quote($message->getDate()->format('r'), '~'); - $boundary = $message->getBoundary(); - - $this->assertRegExp( - '~^'. - 'Sender: Other '."\r\n". - 'Message-ID: <'.$id.'>'."\r\n". - 'Date: '.$date."\r\n". - 'Subject: test subject'."\r\n". - 'From: Other '."\r\n". - 'To: User '."\r\n". - 'MIME-Version: 1.0'."\r\n". - 'Content-Type: multipart/mixed;'."\r\n". - ' boundary="'.$boundary.'"'."\r\n". - "\r\n\r\n". - '--'.$boundary."\r\n". - 'Content-Type: multipart/alternative;'."\r\n". - ' boundary="(.*?)"'."\r\n". - "\r\n\r\n". - '--\\1'."\r\n". - 'Content-Type: text/plain; charset=utf-8'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n". - "\r\n". - 'plain part'. - "\r\n\r\n". - '--\\1'."\r\n". - 'Content-Type: text/html; charset=utf-8'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n". - "\r\n". - 'HTML part'. - "\r\n\r\n". - '--\\1--'."\r\n". - "\r\n\r\n". - '--'.$boundary."\r\n". - 'Content-Type: image/gif; name=image.gif'."\r\n". - 'Content-Transfer-Encoding: base64'."\r\n". - 'Content-Disposition: attachment; filename=image.gif'."\r\n". - "\r\n". - preg_quote(base64_encode(''), '~'). - "\r\n\r\n". - '--'.$boundary.'--'."\r\n". - '$~D', - $message->toString() - ); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/bug/Swift/Bug38Test.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/bug/Swift/Bug38Test.php deleted file mode 100644 index 472c805..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/bug/Swift/Bug38Test.php +++ /dev/null @@ -1,192 +0,0 @@ -attFileName = 'data.txt'; - $this->attFileType = 'text/plain'; - $this->attFile = __DIR__.'/../../_samples/files/data.txt'; - Swift_Preferences::getInstance()->setCharset('utf-8'); - } - - public function testWritingMessageToByteStreamProducesCorrectStructure() - { - $message = new Swift_Message(); - $message->setSubject('test subject'); - $message->setTo('user@domain.tld'); - $message->setCc('other@domain.tld'); - $message->setFrom('user@domain.tld'); - - $image = new Swift_Image('', 'image.gif', 'image/gif'); - - $cid = $message->embed($image); - $message->setBody('HTML part', 'text/html'); - - $id = $message->getId(); - $date = preg_quote($message->getDate()->format('r'), '~'); - $boundary = $message->getBoundary(); - $imgId = $image->getId(); - - $stream = new Swift_ByteStream_ArrayByteStream(); - - $message->toByteStream($stream); - - $this->assertPatternInStream( - '~^'. - 'Message-ID: <'.$id.'>'."\r\n". - 'Date: '.$date."\r\n". - 'Subject: test subject'."\r\n". - 'From: user@domain.tld'."\r\n". - 'To: user@domain.tld'."\r\n". - 'Cc: other@domain.tld'."\r\n". - 'MIME-Version: 1.0'."\r\n". - 'Content-Type: multipart/related;'."\r\n". - ' boundary="'.$boundary.'"'."\r\n". - "\r\n\r\n". - '--'.$boundary."\r\n". - 'Content-Type: text/html; charset=utf-8'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n". - "\r\n". - 'HTML part'. - "\r\n\r\n". - '--'.$boundary."\r\n". - 'Content-Type: image/gif; name=image.gif'."\r\n". - 'Content-Transfer-Encoding: base64'."\r\n". - 'Content-ID: <'.preg_quote($imgId, '~').'>'."\r\n". - 'Content-Disposition: inline; filename=image.gif'."\r\n". - "\r\n". - preg_quote(base64_encode(''), '~'). - "\r\n\r\n". - '--'.$boundary.'--'."\r\n". - '$~D', - $stream - ); - } - - public function testWritingMessageToByteStreamTwiceProducesCorrectStructure() - { - $message = new Swift_Message(); - $message->setSubject('test subject'); - $message->setTo('user@domain.tld'); - $message->setCc('other@domain.tld'); - $message->setFrom('user@domain.tld'); - - $image = new Swift_Image('', 'image.gif', 'image/gif'); - - $cid = $message->embed($image); - $message->setBody('HTML part', 'text/html'); - - $id = $message->getId(); - $date = preg_quote($message->getDate()->format('r'), '~'); - $boundary = $message->getBoundary(); - $imgId = $image->getId(); - - $pattern = '~^'. - 'Message-ID: <'.$id.'>'."\r\n". - 'Date: '.$date."\r\n". - 'Subject: test subject'."\r\n". - 'From: user@domain.tld'."\r\n". - 'To: user@domain.tld'."\r\n". - 'Cc: other@domain.tld'."\r\n". - 'MIME-Version: 1.0'."\r\n". - 'Content-Type: multipart/related;'."\r\n". - ' boundary="'.$boundary.'"'."\r\n". - "\r\n\r\n". - '--'.$boundary."\r\n". - 'Content-Type: text/html; charset=utf-8'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n". - "\r\n". - 'HTML part'. - "\r\n\r\n". - '--'.$boundary."\r\n". - 'Content-Type: image/gif; name=image.gif'."\r\n". - 'Content-Transfer-Encoding: base64'."\r\n". - 'Content-ID: <'.preg_quote($imgId, '~').'>'."\r\n". - 'Content-Disposition: inline; filename=image.gif'."\r\n". - "\r\n". - preg_quote(base64_encode(''), '~'). - "\r\n\r\n". - '--'.$boundary.'--'."\r\n". - '$~D' - ; - - $streamA = new Swift_ByteStream_ArrayByteStream(); - $streamB = new Swift_ByteStream_ArrayByteStream(); - - $message->toByteStream($streamA); - $message->toByteStream($streamB); - - $this->assertPatternInStream($pattern, $streamA); - $this->assertPatternInStream($pattern, $streamB); - } - - public function testWritingMessageToByteStreamTwiceUsingAFileAttachment() - { - $message = new Swift_Message(); - $message->setSubject('test subject'); - $message->setTo('user@domain.tld'); - $message->setCc('other@domain.tld'); - $message->setFrom('user@domain.tld'); - - $attachment = Swift_Attachment::fromPath($this->attFile); - - $message->attach($attachment); - - $message->setBody('HTML part', 'text/html'); - - $id = $message->getId(); - $date = preg_quote($message->getDate()->format('r'), '~'); - $boundary = $message->getBoundary(); - - $streamA = new Swift_ByteStream_ArrayByteStream(); - $streamB = new Swift_ByteStream_ArrayByteStream(); - - $pattern = '~^'. - 'Message-ID: <'.$id.'>'."\r\n". - 'Date: '.$date."\r\n". - 'Subject: test subject'."\r\n". - 'From: user@domain.tld'."\r\n". - 'To: user@domain.tld'."\r\n". - 'Cc: other@domain.tld'."\r\n". - 'MIME-Version: 1.0'."\r\n". - 'Content-Type: multipart/mixed;'."\r\n". - ' boundary="'.$boundary.'"'."\r\n". - "\r\n\r\n". - '--'.$boundary."\r\n". - 'Content-Type: text/html; charset=utf-8'."\r\n". - 'Content-Transfer-Encoding: quoted-printable'."\r\n". - "\r\n". - 'HTML part'. - "\r\n\r\n". - '--'.$boundary."\r\n". - 'Content-Type: '.$this->attFileType.'; name='.$this->attFileName."\r\n". - 'Content-Transfer-Encoding: base64'."\r\n". - 'Content-Disposition: attachment; filename='.$this->attFileName."\r\n". - "\r\n". - preg_quote(base64_encode(file_get_contents($this->attFile)), '~'). - "\r\n\r\n". - '--'.$boundary.'--'."\r\n". - '$~D' - ; - - $message->toByteStream($streamA); - $message->toByteStream($streamB); - - $this->assertPatternInStream($pattern, $streamA); - $this->assertPatternInStream($pattern, $streamB); - } - - public function assertPatternInStream($pattern, $stream, $message = '%s') - { - $string = ''; - while (false !== $bytes = $stream->read(8192)) { - $string .= $bytes; - } - $this->assertRegExp($pattern, $string, $message); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/bug/Swift/Bug518Test.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/bug/Swift/Bug518Test.php deleted file mode 100644 index e4d1d7c..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/bug/Swift/Bug518Test.php +++ /dev/null @@ -1,38 +0,0 @@ -setTo('foo@bar.com'); - - $that = $this; - $messageValidation = function ($m) use ($that) { - //the getTo should return the same value as we put in - $that->assertEquals('foo@bar.com', key($m->getTo()), 'The message has changed after it was put to the memory queue'); - - return true; - }; - - $transport = m::mock('Swift_Transport'); - $transport->shouldReceive('isStarted')->andReturn(true); - $transport->shouldReceive('send') - ->with(m::on($messageValidation), $failedRecipients) - ->andReturn(1); - - $memorySpool = new Swift_MemorySpool(); - $memorySpool->queueMessage($message); - - /* - * The message is queued in memory. - * Lets change the message - */ - $message->setTo('other@value.com'); - - $memorySpool->flushQueue($transport, $failedRecipients); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/bug/Swift/Bug51Test.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/bug/Swift/Bug51Test.php deleted file mode 100644 index fdeb89b..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/bug/Swift/Bug51Test.php +++ /dev/null @@ -1,110 +0,0 @@ -attachmentFile = sys_get_temp_dir().'/attach.rand.bin'; - file_put_contents($this->attachmentFile, ''); - - $this->outputFile = sys_get_temp_dir().'/attach.out.bin'; - file_put_contents($this->outputFile, ''); - } - - protected function tearDown() - { - unlink($this->attachmentFile); - unlink($this->outputFile); - } - - public function testAttachmentsDoNotGetTruncatedUsingToByteStream() - { - //Run 100 times with 10KB attachments - for ($i = 0; $i < 10; ++$i) { - $message = $this->createMessageWithRandomAttachment( - 10000, $this->attachmentFile - ); - - file_put_contents($this->outputFile, ''); - $message->toByteStream( - new Swift_ByteStream_FileByteStream($this->outputFile, true) - ); - - $emailSource = file_get_contents($this->outputFile); - - $this->assertAttachmentFromSourceMatches( - file_get_contents($this->attachmentFile), - $emailSource - ); - } - } - - public function testAttachmentsDoNotGetTruncatedUsingToString() - { - //Run 100 times with 10KB attachments - for ($i = 0; $i < 10; ++$i) { - $message = $this->createMessageWithRandomAttachment( - 10000, $this->attachmentFile - ); - - $emailSource = $message->toString(); - - $this->assertAttachmentFromSourceMatches( - file_get_contents($this->attachmentFile), - $emailSource - ); - } - } - - public function assertAttachmentFromSourceMatches($attachmentData, $source) - { - $encHeader = 'Content-Transfer-Encoding: base64'; - $base64declaration = strpos($source, $encHeader); - - $attachmentDataStart = strpos($source, "\r\n\r\n", $base64declaration); - $attachmentDataEnd = strpos($source, "\r\n--", $attachmentDataStart); - - if (false === $attachmentDataEnd) { - $attachmentBase64 = trim(substr($source, $attachmentDataStart)); - } else { - $attachmentBase64 = trim(substr( - $source, $attachmentDataStart, - $attachmentDataEnd - $attachmentDataStart - )); - } - - $this->assertIdenticalBinary($attachmentData, base64_decode($attachmentBase64)); - } - - private function fillFileWithRandomBytes($byteCount, $file) - { - // I was going to use dd with if=/dev/random but this way seems more - // cross platform even if a hella expensive!! - - file_put_contents($file, ''); - $fp = fopen($file, 'wb'); - for ($i = 0; $i < $byteCount; ++$i) { - $byteVal = random_int(0, 255); - fwrite($fp, pack('i', $byteVal)); - } - fclose($fp); - } - - private function createMessageWithRandomAttachment($size, $attachmentPath) - { - $this->fillFileWithRandomBytes($size, $attachmentPath); - - $message = (new Swift_Message()) - ->setSubject('test') - ->setBody('test') - ->setFrom('a@b.c') - ->setTo('d@e.f') - ->attach(Swift_Attachment::fromPath($attachmentPath)) - ; - - return $message; - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/bug/Swift/Bug534Test.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/bug/Swift/Bug534Test.php deleted file mode 100644 index 6b224f1..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/bug/Swift/Bug534Test.php +++ /dev/null @@ -1,38 +0,0 @@ -setFrom('from@example.com') - ->setTo('to@example.com') - ->setSubject('test') - ; - $cid = $message->embed(Swift_Image::fromPath(__DIR__.'/../../_samples/files/swiftmailer.png')); - $message->setBody('', 'text/html'); - - $that = $this; - $messageValidation = function (Swift_Mime_SimpleMessage $message) use ($that) { - preg_match('/cid:(.*)"/', $message->toString(), $matches); - $cid = $matches[1]; - preg_match('/Content-ID: <(.*)>/', $message->toString(), $matches); - $contentId = $matches[1]; - $that->assertEquals($cid, $contentId, 'cid in body and mime part Content-ID differ'); - - return true; - }; - - $failedRecipients = []; - - $transport = m::mock('Swift_Transport'); - $transport->shouldReceive('isStarted')->andReturn(true); - $transport->shouldReceive('send')->with(m::on($messageValidation), $failedRecipients)->andReturn(1); - - $memorySpool = new Swift_MemorySpool(); - $memorySpool->queueMessage($message); - $memorySpool->flushQueue($transport, $failedRecipients); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/bug/Swift/Bug650Test.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/bug/Swift/Bug650Test.php deleted file mode 100644 index 31036c6..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/bug/Swift/Bug650Test.php +++ /dev/null @@ -1,38 +0,0 @@ -setCharset('utf-8'); - - $header->setNameAddresses([ - 'test@example.com' => $name, - ]); - - $this->assertSame('To: '.$expectedEncodedName." \r\n", $header->toString()); - } - - public function encodingDataProvider() - { - return [ - ['this is " a test ö', 'this is =?utf-8?Q?=22?= a test =?utf-8?Q?=C3=B6?='], - [': this is a test ö', '=?utf-8?Q?=3A?= this is a test =?utf-8?Q?=C3=B6?='], - ['( test ö', '=?utf-8?Q?=28?= test =?utf-8?Q?=C3=B6?='], - ['[ test ö', '=?utf-8?Q?=5B?= test =?utf-8?Q?=C3=B6?='], - ['@ test ö)', '=?utf-8?Q?=40?= test =?utf-8?Q?=C3=B6=29?='], - ]; - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/bug/Swift/Bug71Test.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/bug/Swift/Bug71Test.php deleted file mode 100644 index 3075f67..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/bug/Swift/Bug71Test.php +++ /dev/null @@ -1,20 +0,0 @@ -message = new Swift_Message('test'); - } - - public function testCallingToStringAfterSettingNewBodyReflectsChanges() - { - $this->message->setBody('BODY1'); - $this->assertRegExp('/BODY1/', $this->message->toString()); - - $this->message->setBody('BODY2'); - $this->assertRegExp('/BODY2/', $this->message->toString()); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/bug/Swift/Bug76Test.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/bug/Swift/Bug76Test.php deleted file mode 100644 index 1db2035..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/bug/Swift/Bug76Test.php +++ /dev/null @@ -1,71 +0,0 @@ -inputFile = sys_get_temp_dir().'/in.bin'; - file_put_contents($this->inputFile, ''); - - $this->outputFile = sys_get_temp_dir().'/out.bin'; - file_put_contents($this->outputFile, ''); - - $this->encoder = $this->createEncoder(); - } - - protected function tearDown() - { - unlink($this->inputFile); - unlink($this->outputFile); - } - - public function testBase64EncodedLineLengthNeverExceeds76CharactersEvenIfArgsDo() - { - $this->fillFileWithRandomBytes(1000, $this->inputFile); - - $os = $this->createStream($this->inputFile); - $is = $this->createStream($this->outputFile); - - $this->encoder->encodeByteStream($os, $is, 0, 80); //Exceeds 76 - - $this->assertMaxLineLength(76, $this->outputFile, - '%s: Line length should not exceed 76 characters' - ); - } - - public function assertMaxLineLength($length, $filePath, $message = '%s') - { - $lines = file($filePath); - foreach ($lines as $line) { - $this->assertTrue((strlen(trim($line)) <= 76), $message); - } - } - - private function fillFileWithRandomBytes($byteCount, $file) - { - // I was going to use dd with if=/dev/random but this way seems more - // cross platform even if a hella expensive!! - - file_put_contents($file, ''); - $fp = fopen($file, 'wb'); - for ($i = 0; $i < $byteCount; ++$i) { - $byteVal = random_int(0, 255); - fwrite($fp, pack('i', $byteVal)); - } - fclose($fp); - } - - private function createEncoder() - { - return new Swift_Mime_ContentEncoder_Base64ContentEncoder(); - } - - private function createStream($file) - { - return new Swift_ByteStream_FileByteStream($file, true); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/bug/Swift/BugFileByteStreamConsecutiveReadCallsTest.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/bug/Swift/BugFileByteStreamConsecutiveReadCallsTest.php deleted file mode 100644 index eb58071..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/bug/Swift/BugFileByteStreamConsecutiveReadCallsTest.php +++ /dev/null @@ -1,18 +0,0 @@ -read(100); - } catch (\Swift_IoException $exc) { - $fbs->read(100); - } - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/fixtures/MimeEntityFixture.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/fixtures/MimeEntityFixture.php deleted file mode 100644 index 8a66039..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/fixtures/MimeEntityFixture.php +++ /dev/null @@ -1,67 +0,0 @@ -level = $level; - $this->string = $string; - $this->contentType = $contentType; - } - - public function getNestingLevel() - { - return $this->level; - } - - public function toString() - { - return $this->string; - } - - public function getContentType() - { - return $this->contentType; - } - - // These methods are here to account for the implemented interfaces - public function getId() - { - } - - public function getHeaders() - { - } - - public function getBody() - { - } - - public function setBody($body, $contentType = null) - { - } - - public function toByteStream(Swift_InputByteStream $is) - { - } - - public function charsetChanged($charset) - { - } - - public function encoderChanged(Swift_Mime_ContentEncoder $encoder) - { - } - - public function getChildren() - { - } - - public function setChildren(array $children, $compoundLevel = null) - { - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/smoke.conf.php.default b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/smoke.conf.php.default deleted file mode 100644 index 604d6de..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/smoke.conf.php.default +++ /dev/null @@ -1,63 +0,0 @@ -attFile = __DIR__.'/../../../_samples/files/textfile.zip'; - } - - public function testAttachmentSending() - { - $mailer = $this->getMailer(); - $message = (new Swift_Message()) - ->setSubject('[Swift Mailer] AttachmentSmokeTest') - ->setFrom([SWIFT_SMOKE_EMAIL_ADDRESS => 'Swift Mailer']) - ->setTo(SWIFT_SMOKE_EMAIL_ADDRESS) - ->setBody('This message should contain an attached ZIP file (named "textfile.zip").'.PHP_EOL. - 'When unzipped, the archive should produce a text file which reads:'.PHP_EOL. - '"This is part of a Swift Mailer smoke test."' - ) - ->attach(Swift_Attachment::fromPath($this->attFile)) - ; - $this->assertEquals(1, $mailer->send($message), - '%s: The smoke test should send a single message' - ); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/smoke/Swift/Smoke/BasicSmokeTest.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/smoke/Swift/Smoke/BasicSmokeTest.php deleted file mode 100644 index 79915b3..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/smoke/Swift/Smoke/BasicSmokeTest.php +++ /dev/null @@ -1,23 +0,0 @@ -getMailer(); - $message = (new Swift_Message()) - ->setSubject('[Swift Mailer] BasicSmokeTest') - ->setFrom([SWIFT_SMOKE_EMAIL_ADDRESS => 'Swift Mailer']) - ->setTo(SWIFT_SMOKE_EMAIL_ADDRESS) - ->setBody('One, two, three, four, five...'.PHP_EOL. - 'six, seven, eight...' - ) - ; - $this->assertEquals(1, $mailer->send($message), - '%s: The smoke test should send a single message' - ); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/smoke/Swift/Smoke/HtmlWithAttachmentSmokeTest.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/smoke/Swift/Smoke/HtmlWithAttachmentSmokeTest.php deleted file mode 100644 index 5ed6c33..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/smoke/Swift/Smoke/HtmlWithAttachmentSmokeTest.php +++ /dev/null @@ -1,33 +0,0 @@ -attFile = __DIR__.'/../../../_samples/files/textfile.zip'; - } - - public function testAttachmentSending() - { - $mailer = $this->getMailer(); - $message = (new Swift_Message('[Swift Mailer] HtmlWithAttachmentSmokeTest')) - ->setFrom([SWIFT_SMOKE_EMAIL_ADDRESS => 'Swift Mailer']) - ->setTo(SWIFT_SMOKE_EMAIL_ADDRESS) - ->attach(Swift_Attachment::fromPath($this->attFile)) - ->setBody('

    This HTML-formatted message should contain an attached ZIP file (named "textfile.zip").'.PHP_EOL. - 'When unzipped, the archive should produce a text file which reads:

    '.PHP_EOL. - '

    This is part of a Swift Mailer smoke test.

    ', 'text/html' - ) - ; - $this->assertEquals(1, $mailer->send($message), - '%s: The smoke test should send a single message' - ); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/smoke/Swift/Smoke/InternationalSmokeTest.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/smoke/Swift/Smoke/InternationalSmokeTest.php deleted file mode 100644 index 6dc715e..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/smoke/Swift/Smoke/InternationalSmokeTest.php +++ /dev/null @@ -1,40 +0,0 @@ -attFile = __DIR__.'/../../../_samples/files/textfile.zip'; - } - - public function testAttachmentSending() - { - $mailer = $this->getMailer(); - $message = (new Swift_Message()) - ->setCharset('utf-8') - ->setSubject('[Swift Mailer] InternationalSmokeTest (διεθνής)') - ->setFrom([SWIFT_SMOKE_EMAIL_ADDRESS => 'ΧÏιστοφοÏου (Swift Mailer)']) - ->setTo(SWIFT_SMOKE_EMAIL_ADDRESS) - ->setBody('This message should contain an attached ZIP file (named "κείμενο, εδάφιο, θέμα.zip").'.PHP_EOL. - 'When unzipped, the archive should produce a text file which reads:'.PHP_EOL. - '"This is part of a Swift Mailer smoke test."'.PHP_EOL. - PHP_EOL. - 'Following is some arbitrary Greek text:'.PHP_EOL. - 'Δεν βÏέθηκαν λέξεις.' - ) - ->attach(Swift_Attachment::fromPath($this->attFile) - ->setContentType('application/zip') - ->setFilename('κείμενο, εδάφιο, θέμα.zip') - ) - ; - $this->assertEquals(1, $mailer->send($message), - '%s: The smoke test should send a single message' - ); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/ByteStream/ArrayByteStreamTest.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/ByteStream/ArrayByteStreamTest.php deleted file mode 100644 index 29fe390..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/ByteStream/ArrayByteStreamTest.php +++ /dev/null @@ -1,202 +0,0 @@ -createArrayStream($input); - $output = []; - while (false !== $bytes = $bs->read(1)) { - $output[] = $bytes; - } - $this->assertEquals($input, $output, - '%s: Bytes read from stream should be the same as bytes in constructor' - ); - } - - public function testReadingMultipleBytesFromBaseInput() - { - $input = ['a', 'b', 'c', 'd']; - $bs = $this->createArrayStream($input); - $output = []; - while (false !== $bytes = $bs->read(2)) { - $output[] = $bytes; - } - $this->assertEquals(['ab', 'cd'], $output, - '%s: Bytes read from stream should be in pairs' - ); - } - - public function testReadingOddOffsetOnLastByte() - { - $input = ['a', 'b', 'c', 'd', 'e']; - $bs = $this->createArrayStream($input); - $output = []; - while (false !== $bytes = $bs->read(2)) { - $output[] = $bytes; - } - $this->assertEquals(['ab', 'cd', 'e'], $output, - '%s: Bytes read from stream should be in pairs except final read' - ); - } - - public function testSettingPointerPartway() - { - $input = ['a', 'b', 'c']; - $bs = $this->createArrayStream($input); - $bs->setReadPointer(1); - $this->assertEquals('b', $bs->read(1), - '%s: Byte should be second byte since pointer as at offset 1' - ); - } - - public function testResettingPointerAfterExhaustion() - { - $input = ['a', 'b', 'c']; - - $bs = $this->createArrayStream($input); - while (false !== $bs->read(1)); - - $bs->setReadPointer(0); - $this->assertEquals('a', $bs->read(1), - '%s: Byte should be first byte since pointer as at offset 0' - ); - } - - public function testPointerNeverSetsBelowZero() - { - $input = ['a', 'b', 'c']; - $bs = $this->createArrayStream($input); - - $bs->setReadPointer(-1); - $this->assertEquals('a', $bs->read(1), - '%s: Byte should be first byte since pointer should be at offset 0' - ); - } - - public function testPointerNeverSetsAboveStackSize() - { - $input = ['a', 'b', 'c']; - $bs = $this->createArrayStream($input); - - $bs->setReadPointer(3); - $this->assertFalse($bs->read(1), - '%s: Stream should be at end and thus return false' - ); - } - - public function testBytesCanBeWrittenToStream() - { - $input = ['a', 'b', 'c']; - $bs = $this->createArrayStream($input); - - $bs->write('de'); - - $output = []; - while (false !== $bytes = $bs->read(1)) { - $output[] = $bytes; - } - $this->assertEquals(['a', 'b', 'c', 'd', 'e'], $output, - '%s: Bytes read from stream should be from initial stack + written' - ); - } - - public function testContentsCanBeFlushed() - { - $input = ['a', 'b', 'c']; - $bs = $this->createArrayStream($input); - - $bs->flushBuffers(); - - $this->assertFalse($bs->read(1), - '%s: Contents have been flushed so read() should return false' - ); - } - - public function testConstructorCanTakeStringArgument() - { - $bs = $this->createArrayStream('abc'); - $output = []; - while (false !== $bytes = $bs->read(1)) { - $output[] = $bytes; - } - $this->assertEquals(['a', 'b', 'c'], $output, - '%s: Bytes read from stream should be the same as bytes in constructor' - ); - } - - public function testBindingOtherStreamsMirrorsWriteOperations() - { - $bs = $this->createArrayStream(''); - $is1 = $this->getMockBuilder('Swift_InputByteStream')->getMock(); - $is2 = $this->getMockBuilder('Swift_InputByteStream')->getMock(); - - $is1->expects($this->at(0)) - ->method('write') - ->with('x'); - $is1->expects($this->at(1)) - ->method('write') - ->with('y'); - $is2->expects($this->at(0)) - ->method('write') - ->with('x'); - $is2->expects($this->at(1)) - ->method('write') - ->with('y'); - - $bs->bind($is1); - $bs->bind($is2); - - $bs->write('x'); - $bs->write('y'); - } - - public function testBindingOtherStreamsMirrorsFlushOperations() - { - $bs = $this->createArrayStream(''); - $is1 = $this->getMockBuilder('Swift_InputByteStream')->getMock(); - $is2 = $this->getMockBuilder('Swift_InputByteStream')->getMock(); - - $is1->expects($this->once()) - ->method('flushBuffers'); - $is2->expects($this->once()) - ->method('flushBuffers'); - - $bs->bind($is1); - $bs->bind($is2); - - $bs->flushBuffers(); - } - - public function testUnbindingStreamPreventsFurtherWrites() - { - $bs = $this->createArrayStream(''); - $is1 = $this->getMockBuilder('Swift_InputByteStream')->getMock(); - $is2 = $this->getMockBuilder('Swift_InputByteStream')->getMock(); - - $is1->expects($this->at(0)) - ->method('write') - ->with('x'); - $is1->expects($this->at(1)) - ->method('write') - ->with('y'); - $is2->expects($this->once()) - ->method('write') - ->with('x'); - - $bs->bind($is1); - $bs->bind($is2); - - $bs->write('x'); - - $bs->unbind($is2); - - $bs->write('y'); - } - - private function createArrayStream($input) - { - return new Swift_ByteStream_ArrayByteStream($input); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/CharacterReader/GenericFixedWidthReaderTest.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/CharacterReader/GenericFixedWidthReaderTest.php deleted file mode 100644 index 1ba5e78..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/CharacterReader/GenericFixedWidthReaderTest.php +++ /dev/null @@ -1,43 +0,0 @@ -assertSame(1, $reader->getInitialByteSize()); - - $reader = new Swift_CharacterReader_GenericFixedWidthReader(4); - $this->assertSame(4, $reader->getInitialByteSize()); - } - - public function testValidationValueIsBasedOnOctetCount() - { - $reader = new Swift_CharacterReader_GenericFixedWidthReader(4); - - $this->assertSame( - 1, $reader->validateByteSequence([0x01, 0x02, 0x03], 3) - ); //3 octets - - $this->assertSame( - 2, $reader->validateByteSequence([0x01, 0x0A], 2) - ); //2 octets - - $this->assertSame( - 3, $reader->validateByteSequence([0xFE], 1) - ); //1 octet - - $this->assertSame( - 0, $reader->validateByteSequence([0xFE, 0x03, 0x67, 0x9A], 4) - ); //All 4 octets - } - - public function testValidationFailsIfTooManyOctets() - { - $reader = new Swift_CharacterReader_GenericFixedWidthReader(6); - - $this->assertSame(-1, $reader->validateByteSequence( - [0xFE, 0x03, 0x67, 0x9A, 0x10, 0x09, 0x85], 7 - )); //7 octets - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/CharacterReader/UsAsciiReaderTest.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/CharacterReader/UsAsciiReaderTest.php deleted file mode 100644 index b85b0ab..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/CharacterReader/UsAsciiReaderTest.php +++ /dev/null @@ -1,52 +0,0 @@ -read($size); ) { - $c .= $bytes; - $size = $v->validateCharacter($c); - if (-1 == $size) { - throw new Exception( ... invalid char .. ); - } elseif (0 == $size) { - return $c; //next character in $os - } - } - - */ - - private $reader; - - protected function setUp() - { - $this->reader = new Swift_CharacterReader_UsAsciiReader(); - } - - public function testAllValidAsciiCharactersReturnZero() - { - for ($ordinal = 0x00; $ordinal <= 0x7F; ++$ordinal) { - $this->assertSame( - 0, $this->reader->validateByteSequence([$ordinal], 1) - ); - } - } - - public function testMultipleBytesAreInvalid() - { - for ($ordinal = 0x00; $ordinal <= 0x7F; $ordinal += 2) { - $this->assertSame( - -1, $this->reader->validateByteSequence([$ordinal, $ordinal + 1], 2) - ); - } - } - - public function testBytesAboveAsciiRangeAreInvalid() - { - for ($ordinal = 0x80; $ordinal <= 0xFF; ++$ordinal) { - $this->assertSame( - -1, $this->reader->validateByteSequence([$ordinal], 1) - ); - } - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/CharacterReader/Utf8ReaderTest.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/CharacterReader/Utf8ReaderTest.php deleted file mode 100644 index 0637911..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/CharacterReader/Utf8ReaderTest.php +++ /dev/null @@ -1,65 +0,0 @@ -reader = new Swift_CharacterReader_Utf8Reader(); - } - - public function testLeading7BitOctetCausesReturnZero() - { - for ($ordinal = 0x00; $ordinal <= 0x7F; ++$ordinal) { - $this->assertSame( - 0, $this->reader->validateByteSequence([$ordinal], 1) - ); - } - } - - public function testLeadingByteOf2OctetCharCausesReturn1() - { - for ($octet = 0xC0; $octet <= 0xDF; ++$octet) { - $this->assertSame( - 1, $this->reader->validateByteSequence([$octet], 1) - ); - } - } - - public function testLeadingByteOf3OctetCharCausesReturn2() - { - for ($octet = 0xE0; $octet <= 0xEF; ++$octet) { - $this->assertSame( - 2, $this->reader->validateByteSequence([$octet], 1) - ); - } - } - - public function testLeadingByteOf4OctetCharCausesReturn3() - { - for ($octet = 0xF0; $octet <= 0xF7; ++$octet) { - $this->assertSame( - 3, $this->reader->validateByteSequence([$octet], 1) - ); - } - } - - public function testLeadingByteOf5OctetCharCausesReturn4() - { - for ($octet = 0xF8; $octet <= 0xFB; ++$octet) { - $this->assertSame( - 4, $this->reader->validateByteSequence([$octet], 1) - ); - } - } - - public function testLeadingByteOf6OctetCharCausesReturn5() - { - for ($octet = 0xFC; $octet <= 0xFD; ++$octet) { - $this->assertSame( - 5, $this->reader->validateByteSequence([$octet], 1) - ); - } - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/CharacterStream/ArrayCharacterStreamTest.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/CharacterStream/ArrayCharacterStreamTest.php deleted file mode 100644 index d0158a2..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/CharacterStream/ArrayCharacterStreamTest.php +++ /dev/null @@ -1,358 +0,0 @@ -getReader(); - $factory = $this->getFactory($reader); - - $stream = new Swift_CharacterStream_ArrayCharacterStream($factory, 'utf-8'); - - $reader->shouldReceive('getInitialByteSize') - ->zeroOrMoreTimes() - ->andReturn(1); - $reader->shouldReceive('validateByteSequence')->once()->with([0xD0], 1)->andReturn(1); - $reader->shouldReceive('validateByteSequence')->once()->with([0xD0], 1)->andReturn(1); - $reader->shouldReceive('validateByteSequence')->once()->with([0xD0], 1)->andReturn(1); - $reader->shouldReceive('validateByteSequence')->once()->with([0xD1], 1)->andReturn(1); - $reader->shouldReceive('validateByteSequence')->once()->with([0xD0], 1)->andReturn(1); - $reader->shouldReceive('validateByteSequence')->once()->with([0xD0], 1)->andReturn(1); - - $stream->importString(pack('C*', - 0xD0, 0x94, - 0xD0, 0xB6, - 0xD0, 0xBE, - 0xD1, 0x8D, - 0xD0, 0xBB, - 0xD0, 0xB0 - ) - ); - } - - public function testCharactersWrittenUseValidator() - { - $reader = $this->getReader(); - $factory = $this->getFactory($reader); - - $stream = new Swift_CharacterStream_ArrayCharacterStream($factory, 'utf-8'); - - $reader->shouldReceive('getInitialByteSize') - ->zeroOrMoreTimes() - ->andReturn(1); - $reader->shouldReceive('validateByteSequence')->once()->with([0xD0], 1)->andReturn(1); - $reader->shouldReceive('validateByteSequence')->once()->with([0xD0], 1)->andReturn(1); - $reader->shouldReceive('validateByteSequence')->once()->with([0xD0], 1)->andReturn(1); - $reader->shouldReceive('validateByteSequence')->once()->with([0xD0], 1)->andReturn(1); - $reader->shouldReceive('validateByteSequence')->once()->with([0xD1], 1)->andReturn(1); - $reader->shouldReceive('validateByteSequence')->once()->with([0xD0], 1)->andReturn(1); - $reader->shouldReceive('validateByteSequence')->once()->with([0xD1], 1)->andReturn(1); - $reader->shouldReceive('validateByteSequence')->once()->with([0xD1], 1)->andReturn(1); - - $stream->importString(pack('C*', 0xD0, 0x94, 0xD0, 0xB6, 0xD0, 0xBE)); - - $stream->write(pack('C*', - 0xD0, 0xBB, - 0xD1, 0x8E, - 0xD0, 0xB1, - 0xD1, 0x8B, - 0xD1, 0x85 - ) - ); - } - - public function testReadCharactersAreInTact() - { - $reader = $this->getReader(); - $factory = $this->getFactory($reader); - - $stream = new Swift_CharacterStream_ArrayCharacterStream($factory, 'utf-8'); - - $reader->shouldReceive('getInitialByteSize') - ->zeroOrMoreTimes() - ->andReturn(1); - //String - $reader->shouldReceive('validateByteSequence')->once()->with([0xD0], 1)->andReturn(1); - $reader->shouldReceive('validateByteSequence')->once()->with([0xD0], 1)->andReturn(1); - $reader->shouldReceive('validateByteSequence')->once()->with([0xD0], 1)->andReturn(1); - //Stream - $reader->shouldReceive('validateByteSequence')->once()->with([0xD0], 1)->andReturn(1); - $reader->shouldReceive('validateByteSequence')->once()->with([0xD1], 1)->andReturn(1); - $reader->shouldReceive('validateByteSequence')->once()->with([0xD0], 1)->andReturn(1); - $reader->shouldReceive('validateByteSequence')->once()->with([0xD1], 1)->andReturn(1); - $reader->shouldReceive('validateByteSequence')->once()->with([0xD1], 1)->andReturn(1); - - $stream->importString(pack('C*', 0xD0, 0x94, 0xD0, 0xB6, 0xD0, 0xBE)); - - $stream->write(pack('C*', - 0xD0, 0xBB, - 0xD1, 0x8E, - 0xD0, 0xB1, - 0xD1, 0x8B, - 0xD1, 0x85 - ) - ); - - $this->assertIdenticalBinary(pack('C*', 0xD0, 0x94), $stream->read(1)); - $this->assertIdenticalBinary( - pack('C*', 0xD0, 0xB6, 0xD0, 0xBE), $stream->read(2) - ); - $this->assertIdenticalBinary(pack('C*', 0xD0, 0xBB), $stream->read(1)); - $this->assertIdenticalBinary( - pack('C*', 0xD1, 0x8E, 0xD0, 0xB1, 0xD1, 0x8B), $stream->read(3) - ); - $this->assertIdenticalBinary(pack('C*', 0xD1, 0x85), $stream->read(1)); - - $this->assertFalse($stream->read(1)); - } - - public function testCharactersCanBeReadAsByteArrays() - { - $reader = $this->getReader(); - $factory = $this->getFactory($reader); - - $stream = new Swift_CharacterStream_ArrayCharacterStream($factory, 'utf-8'); - - $reader->shouldReceive('getInitialByteSize') - ->zeroOrMoreTimes() - ->andReturn(1); - //String - $reader->shouldReceive('validateByteSequence')->once()->with([0xD0], 1)->andReturn(1); - $reader->shouldReceive('validateByteSequence')->once()->with([0xD0], 1)->andReturn(1); - $reader->shouldReceive('validateByteSequence')->once()->with([0xD0], 1)->andReturn(1); - //Stream - $reader->shouldReceive('validateByteSequence')->once()->with([0xD0], 1)->andReturn(1); - $reader->shouldReceive('validateByteSequence')->once()->with([0xD1], 1)->andReturn(1); - $reader->shouldReceive('validateByteSequence')->once()->with([0xD0], 1)->andReturn(1); - $reader->shouldReceive('validateByteSequence')->once()->with([0xD1], 1)->andReturn(1); - $reader->shouldReceive('validateByteSequence')->once()->with([0xD1], 1)->andReturn(1); - - $stream->importString(pack('C*', 0xD0, 0x94, 0xD0, 0xB6, 0xD0, 0xBE)); - - $stream->write(pack('C*', - 0xD0, 0xBB, - 0xD1, 0x8E, - 0xD0, 0xB1, - 0xD1, 0x8B, - 0xD1, 0x85 - ) - ); - - $this->assertEquals([0xD0, 0x94], $stream->readBytes(1)); - $this->assertEquals([0xD0, 0xB6, 0xD0, 0xBE], $stream->readBytes(2)); - $this->assertEquals([0xD0, 0xBB], $stream->readBytes(1)); - $this->assertEquals( - [0xD1, 0x8E, 0xD0, 0xB1, 0xD1, 0x8B], $stream->readBytes(3) - ); - $this->assertEquals([0xD1, 0x85], $stream->readBytes(1)); - - $this->assertFalse($stream->readBytes(1)); - } - - public function testRequestingLargeCharCountPastEndOfStream() - { - $reader = $this->getReader(); - $factory = $this->getFactory($reader); - - $stream = new Swift_CharacterStream_ArrayCharacterStream($factory, 'utf-8'); - - $reader->shouldReceive('getInitialByteSize') - ->zeroOrMoreTimes() - ->andReturn(1); - $reader->shouldReceive('validateByteSequence')->once()->with([0xD0], 1)->andReturn(1); - $reader->shouldReceive('validateByteSequence')->once()->with([0xD0], 1)->andReturn(1); - $reader->shouldReceive('validateByteSequence')->once()->with([0xD0], 1)->andReturn(1); - - $stream->importString(pack('C*', 0xD0, 0x94, 0xD0, 0xB6, 0xD0, 0xBE)); - - $this->assertIdenticalBinary(pack('C*', 0xD0, 0x94, 0xD0, 0xB6, 0xD0, 0xBE), - $stream->read(100) - ); - - $this->assertFalse($stream->read(1)); - } - - public function testRequestingByteArrayCountPastEndOfStream() - { - $reader = $this->getReader(); - $factory = $this->getFactory($reader); - - $stream = new Swift_CharacterStream_ArrayCharacterStream($factory, 'utf-8'); - - $reader->shouldReceive('getInitialByteSize') - ->zeroOrMoreTimes() - ->andReturn(1); - $reader->shouldReceive('validateByteSequence')->once()->with([0xD0], 1)->andReturn(1); - $reader->shouldReceive('validateByteSequence')->once()->with([0xD0], 1)->andReturn(1); - $reader->shouldReceive('validateByteSequence')->once()->with([0xD0], 1)->andReturn(1); - - $stream->importString(pack('C*', 0xD0, 0x94, 0xD0, 0xB6, 0xD0, 0xBE)); - - $this->assertEquals([0xD0, 0x94, 0xD0, 0xB6, 0xD0, 0xBE], - $stream->readBytes(100) - ); - - $this->assertFalse($stream->readBytes(1)); - } - - public function testPointerOffsetCanBeSet() - { - $reader = $this->getReader(); - $factory = $this->getFactory($reader); - - $stream = new Swift_CharacterStream_ArrayCharacterStream($factory, 'utf-8'); - - $reader->shouldReceive('getInitialByteSize') - ->zeroOrMoreTimes() - ->andReturn(1); - $reader->shouldReceive('validateByteSequence')->once()->with([0xD0], 1)->andReturn(1); - $reader->shouldReceive('validateByteSequence')->once()->with([0xD0], 1)->andReturn(1); - $reader->shouldReceive('validateByteSequence')->once()->with([0xD0], 1)->andReturn(1); - - $stream->importString(pack('C*', 0xD0, 0x94, 0xD0, 0xB6, 0xD0, 0xBE)); - - $this->assertIdenticalBinary(pack('C*', 0xD0, 0x94), $stream->read(1)); - - $stream->setPointer(0); - - $this->assertIdenticalBinary(pack('C*', 0xD0, 0x94), $stream->read(1)); - - $stream->setPointer(2); - - $this->assertIdenticalBinary(pack('C*', 0xD0, 0xBE), $stream->read(1)); - } - - public function testContentsCanBeFlushed() - { - $reader = $this->getReader(); - $factory = $this->getFactory($reader); - - $stream = new Swift_CharacterStream_ArrayCharacterStream($factory, 'utf-8'); - - $reader->shouldReceive('getInitialByteSize') - ->zeroOrMoreTimes() - ->andReturn(1); - $reader->shouldReceive('validateByteSequence')->once()->with([0xD0], 1)->andReturn(1); - $reader->shouldReceive('validateByteSequence')->once()->with([0xD0], 1)->andReturn(1); - $reader->shouldReceive('validateByteSequence')->once()->with([0xD0], 1)->andReturn(1); - - $stream->importString(pack('C*', 0xD0, 0x94, 0xD0, 0xB6, 0xD0, 0xBE)); - - $stream->flushContents(); - - $this->assertFalse($stream->read(1)); - } - - public function testByteStreamCanBeImportingUsesValidator() - { - $reader = $this->getReader(); - $factory = $this->getFactory($reader); - $os = $this->getByteStream(); - - $stream = new Swift_CharacterStream_ArrayCharacterStream($factory, 'utf-8'); - - $os->shouldReceive('setReadPointer') - ->between(0, 1) - ->with(0); - $os->shouldReceive('read')->once()->andReturn(pack('C*', 0xD0)); - $os->shouldReceive('read')->once()->andReturn(pack('C*', 0x94)); - $os->shouldReceive('read')->once()->andReturn(pack('C*', 0xD0)); - $os->shouldReceive('read')->once()->andReturn(pack('C*', 0xB6)); - $os->shouldReceive('read')->once()->andReturn(pack('C*', 0xD0)); - $os->shouldReceive('read')->once()->andReturn(pack('C*', 0xBE)); - $os->shouldReceive('read') - ->zeroOrMoreTimes() - ->andReturn(false); - - $reader->shouldReceive('getInitialByteSize') - ->zeroOrMoreTimes() - ->andReturn(1); - $reader->shouldReceive('validateByteSequence')->once()->with([0xD0], 1)->andReturn(1); - $reader->shouldReceive('validateByteSequence')->once()->with([0xD0], 1)->andReturn(1); - $reader->shouldReceive('validateByteSequence')->once()->with([0xD0], 1)->andReturn(1); - - $stream->importByteStream($os); - } - - public function testImportingStreamProducesCorrectCharArray() - { - $reader = $this->getReader(); - $factory = $this->getFactory($reader); - $os = $this->getByteStream(); - - $stream = new Swift_CharacterStream_ArrayCharacterStream($factory, 'utf-8'); - - $os->shouldReceive('setReadPointer') - ->between(0, 1) - ->with(0); - $os->shouldReceive('read')->once()->andReturn(pack('C*', 0xD0)); - $os->shouldReceive('read')->once()->andReturn(pack('C*', 0x94)); - $os->shouldReceive('read')->once()->andReturn(pack('C*', 0xD0)); - $os->shouldReceive('read')->once()->andReturn(pack('C*', 0xB6)); - $os->shouldReceive('read')->once()->andReturn(pack('C*', 0xD0)); - $os->shouldReceive('read')->once()->andReturn(pack('C*', 0xBE)); - $os->shouldReceive('read') - ->zeroOrMoreTimes() - ->andReturn(false); - - $reader->shouldReceive('getInitialByteSize') - ->zeroOrMoreTimes() - ->andReturn(1); - $reader->shouldReceive('validateByteSequence')->once()->with([0xD0], 1)->andReturn(1); - $reader->shouldReceive('validateByteSequence')->once()->with([0xD0], 1)->andReturn(1); - $reader->shouldReceive('validateByteSequence')->once()->with([0xD0], 1)->andReturn(1); - - $stream->importByteStream($os); - - $this->assertIdenticalBinary(pack('C*', 0xD0, 0x94), $stream->read(1)); - $this->assertIdenticalBinary(pack('C*', 0xD0, 0xB6), $stream->read(1)); - $this->assertIdenticalBinary(pack('C*', 0xD0, 0xBE), $stream->read(1)); - - $this->assertFalse($stream->read(1)); - } - - public function testAlgorithmWithFixedWidthCharsets() - { - $reader = $this->getReader(); - $factory = $this->getFactory($reader); - - $reader->shouldReceive('getInitialByteSize') - ->zeroOrMoreTimes() - ->andReturn(2); - $reader->shouldReceive('validateByteSequence')->once()->with([0xD1, 0x8D], 2); - $reader->shouldReceive('validateByteSequence')->once()->with([0xD0, 0xBB], 2); - $reader->shouldReceive('validateByteSequence')->once()->with([0xD0, 0xB0], 2); - - $stream = new Swift_CharacterStream_ArrayCharacterStream( - $factory, 'utf-8' - ); - $stream->importString(pack('C*', 0xD1, 0x8D, 0xD0, 0xBB, 0xD0, 0xB0)); - - $this->assertIdenticalBinary(pack('C*', 0xD1, 0x8D), $stream->read(1)); - $this->assertIdenticalBinary(pack('C*', 0xD0, 0xBB), $stream->read(1)); - $this->assertIdenticalBinary(pack('C*', 0xD0, 0xB0), $stream->read(1)); - - $this->assertFalse($stream->read(1)); - } - - private function getReader() - { - return $this->getMockery('Swift_CharacterReader'); - } - - private function getFactory($reader) - { - $factory = $this->getMockery('Swift_CharacterReaderFactory'); - $factory->shouldReceive('getReaderFor') - ->zeroOrMoreTimes() - ->with('utf-8') - ->andReturn($reader); - - return $factory; - } - - private function getByteStream() - { - return $this->getMockery('Swift_OutputByteStream'); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/DependencyContainerTest.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/DependencyContainerTest.php deleted file mode 100644 index 286f832..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/DependencyContainerTest.php +++ /dev/null @@ -1,191 +0,0 @@ -arg1 = $arg1; - $this->arg2 = $arg2; - } -} - -class Swift_DependencyContainerTest extends \PHPUnit\Framework\TestCase -{ - private $container; - - protected function setUp() - { - $this->container = new Swift_DependencyContainer(); - } - - public function testRegisterAndLookupValue() - { - $this->container->register('foo')->asValue('bar'); - $this->assertEquals('bar', $this->container->lookup('foo')); - } - - public function testHasReturnsTrueForRegisteredValue() - { - $this->container->register('foo')->asValue('bar'); - $this->assertTrue($this->container->has('foo')); - } - - public function testHasReturnsFalseForUnregisteredValue() - { - $this->assertFalse($this->container->has('foo')); - } - - public function testRegisterAndLookupNewInstance() - { - $this->container->register('one')->asNewInstanceOf('One'); - $this->assertInstanceOf('One', $this->container->lookup('one')); - } - - public function testHasReturnsTrueForRegisteredInstance() - { - $this->container->register('one')->asNewInstanceOf('One'); - $this->assertTrue($this->container->has('one')); - } - - public function testNewInstanceIsAlwaysNew() - { - $this->container->register('one')->asNewInstanceOf('One'); - $a = $this->container->lookup('one'); - $b = $this->container->lookup('one'); - $this->assertEquals($a, $b); - } - - public function testRegisterAndLookupSharedInstance() - { - $this->container->register('one')->asSharedInstanceOf('One'); - $this->assertInstanceOf('One', $this->container->lookup('one')); - } - - public function testHasReturnsTrueForSharedInstance() - { - $this->container->register('one')->asSharedInstanceOf('One'); - $this->assertTrue($this->container->has('one')); - } - - public function testMultipleSharedInstancesAreSameInstance() - { - $this->container->register('one')->asSharedInstanceOf('One'); - $a = $this->container->lookup('one'); - $b = $this->container->lookup('one'); - $this->assertEquals($a, $b); - } - - public function testRegisterAndLookupArray() - { - $this->container->register('One')->asArray(); - $this->assertSame([], $this->container->lookup('One')); - } - - public function testNewInstanceWithDependencies() - { - $this->container->register('foo')->asValue('FOO'); - $this->container->register('one')->asNewInstanceOf('One') - ->withDependencies(['foo']); - $obj = $this->container->lookup('one'); - $this->assertSame('FOO', $obj->arg1); - } - - public function testNewInstanceWithMultipleDependencies() - { - $this->container->register('foo')->asValue('FOO'); - $this->container->register('bar')->asValue(42); - $this->container->register('one')->asNewInstanceOf('One') - ->withDependencies(['foo', 'bar']); - $obj = $this->container->lookup('one'); - $this->assertSame('FOO', $obj->arg1); - $this->assertSame(42, $obj->arg2); - } - - public function testNewInstanceWithInjectedObjects() - { - $this->container->register('foo')->asValue('FOO'); - $this->container->register('one')->asNewInstanceOf('One'); - $this->container->register('two')->asNewInstanceOf('One') - ->withDependencies(['one', 'foo']); - $obj = $this->container->lookup('two'); - $this->assertEquals($this->container->lookup('one'), $obj->arg1); - $this->assertSame('FOO', $obj->arg2); - } - - public function testNewInstanceWithAddConstructorValue() - { - $this->container->register('one')->asNewInstanceOf('One') - ->addConstructorValue('x') - ->addConstructorValue(99); - $obj = $this->container->lookup('one'); - $this->assertSame('x', $obj->arg1); - $this->assertSame(99, $obj->arg2); - } - - public function testNewInstanceWithAddConstructorLookup() - { - $this->container->register('foo')->asValue('FOO'); - $this->container->register('bar')->asValue(42); - $this->container->register('one')->asNewInstanceOf('One') - ->addConstructorLookup('foo') - ->addConstructorLookup('bar'); - - $obj = $this->container->lookup('one'); - $this->assertSame('FOO', $obj->arg1); - $this->assertSame(42, $obj->arg2); - } - - public function testResolvedDependenciesCanBeLookedUp() - { - $this->container->register('foo')->asValue('FOO'); - $this->container->register('one')->asNewInstanceOf('One'); - $this->container->register('two')->asNewInstanceOf('One') - ->withDependencies(['one', 'foo']); - $deps = $this->container->createDependenciesFor('two'); - $this->assertEquals( - [$this->container->lookup('one'), 'FOO'], $deps - ); - } - - public function testArrayOfDependenciesCanBeSpecified() - { - $this->container->register('foo')->asValue('FOO'); - $this->container->register('one')->asNewInstanceOf('One'); - $this->container->register('two')->asNewInstanceOf('One') - ->withDependencies([['one', 'foo'], 'foo']); - - $obj = $this->container->lookup('two'); - $this->assertEquals([$this->container->lookup('one'), 'FOO'], $obj->arg1); - $this->assertSame('FOO', $obj->arg2); - } - - public function testArrayWithDependencies() - { - $this->container->register('foo')->asValue('FOO'); - $this->container->register('bar')->asValue(42); - $this->container->register('one')->asArray('One') - ->withDependencies(['foo', 'bar']); - $this->assertSame(['FOO', 42], $this->container->lookup('one')); - } - - public function testAliasCanBeSet() - { - $this->container->register('foo')->asValue('FOO'); - $this->container->register('bar')->asAliasOf('foo'); - - $this->assertSame('FOO', $this->container->lookup('bar')); - } - - public function testAliasOfAliasCanBeSet() - { - $this->container->register('foo')->asValue('FOO'); - $this->container->register('bar')->asAliasOf('foo'); - $this->container->register('zip')->asAliasOf('bar'); - $this->container->register('button')->asAliasOf('zip'); - - $this->assertSame('FOO', $this->container->lookup('button')); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Encoder/Base64EncoderTest.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Encoder/Base64EncoderTest.php deleted file mode 100644 index 6387bad..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Encoder/Base64EncoderTest.php +++ /dev/null @@ -1,173 +0,0 @@ -encoder = new Swift_Encoder_Base64Encoder(); - } - - /* - There's really no point in testing the entire base64 encoding to the - level QP encoding has been tested. base64_encode() has been in PHP for - years. - */ - - public function testInputOutputRatioIs3to4Bytes() - { - /* - RFC 2045, 6.8 - - The encoding process represents 24-bit groups of input bits as output - strings of 4 encoded characters. Proceeding from left to right, a - 24-bit input group is formed by concatenating 3 8bit input groups. - These 24 bits are then treated as 4 concatenated 6-bit groups, each - of which is translated into a single digit in the base64 alphabet. - */ - - $this->assertEquals( - 'MTIz', $this->encoder->encodeString('123'), - '%s: 3 bytes of input should yield 4 bytes of output' - ); - $this->assertEquals( - 'MTIzNDU2', $this->encoder->encodeString('123456'), - '%s: 6 bytes in input should yield 8 bytes of output' - ); - $this->assertEquals( - 'MTIzNDU2Nzg5', $this->encoder->encodeString('123456789'), - '%s: 9 bytes in input should yield 12 bytes of output' - ); - } - - public function testPadLength() - { - /* - RFC 2045, 6.8 - - Special processing is performed if fewer than 24 bits are available - at the end of the data being encoded. A full encoding quantum is - always completed at the end of a body. When fewer than 24 input bits - are available in an input group, zero bits are added (on the right) - to form an integral number of 6-bit groups. Padding at the end of - the data is performed using the "=" character. Since all base64 - input is an integral number of octets, only the following cases can - arise: (1) the final quantum of encoding input is an integral - multiple of 24 bits; here, the final unit of encoded output will be - an integral multiple of 4 characters with no "=" padding, (2) the - final quantum of encoding input is exactly 8 bits; here, the final - unit of encoded output will be two characters followed by two "=" - padding characters, or (3) the final quantum of encoding input is - exactly 16 bits; here, the final unit of encoded output will be three - characters followed by one "=" padding character. - */ - - for ($i = 0; $i < 30; ++$i) { - $input = pack('C', random_int(0, 255)); - $this->assertRegExp( - '~^[a-zA-Z0-9/\+]{2}==$~', $this->encoder->encodeString($input), - '%s: A single byte should have 2 bytes of padding' - ); - } - - for ($i = 0; $i < 30; ++$i) { - $input = pack('C*', random_int(0, 255), random_int(0, 255)); - $this->assertRegExp( - '~^[a-zA-Z0-9/\+]{3}=$~', $this->encoder->encodeString($input), - '%s: Two bytes should have 1 byte of padding' - ); - } - - for ($i = 0; $i < 30; ++$i) { - $input = pack('C*', random_int(0, 255), random_int(0, 255), random_int(0, 255)); - $this->assertRegExp( - '~^[a-zA-Z0-9/\+]{4}$~', $this->encoder->encodeString($input), - '%s: Three bytes should have no padding' - ); - } - } - - public function testMaximumLineLengthIs76Characters() - { - /* - The encoded output stream must be represented in lines of no more - than 76 characters each. All line breaks or other characters not - found in Table 1 must be ignored by decoding software. - */ - - $input = - 'abcdefghijklmnopqrstuvwxyz'. - 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'. - '1234567890'. - 'abcdefghijklmnopqrstuvwxyz'. - 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'. - '1234567890'. - 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'; - - $output = - 'YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQk'.//38 - 'NERUZHSElKS0xNTk9QUVJTVFVWV1hZWjEyMzQ1'."\r\n".//76 * - 'Njc4OTBhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3'.//38 - 'h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFla'."\r\n".//76 * - 'MTIzNDU2Nzg5MEFCQ0RFRkdISUpLTE1OT1BRUl'.//38 - 'NUVVZXWFla'; //48 - - $this->assertEquals( - $output, $this->encoder->encodeString($input), - '%s: Lines should be no more than 76 characters' - ); - } - - public function testMaximumLineLengthCanBeSpecified() - { - $input = - 'abcdefghijklmnopqrstuvwxyz'. - 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'. - '1234567890'. - 'abcdefghijklmnopqrstuvwxyz'. - 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'. - '1234567890'. - 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'; - - $output = - 'YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQk'.//38 - 'NERUZHSElKS0'."\r\n".//50 * - 'xNTk9QUVJTVFVWV1hZWjEyMzQ1Njc4OTBhYmNk'.//38 - 'ZWZnaGlqa2xt'."\r\n".//50 * - 'bm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1'.//38 - 'BRUlNUVVZXWF'."\r\n".//50 * - 'laMTIzNDU2Nzg5MEFCQ0RFRkdISUpLTE1OT1BR'.//38 - 'UlNUVVZXWFla'; //50 * - - $this->assertEquals( - $output, $this->encoder->encodeString($input, 0, 50), - '%s: Lines should be no more than 100 characters' - ); - } - - public function testFirstLineLengthCanBeDifferent() - { - $input = - 'abcdefghijklmnopqrstuvwxyz'. - 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'. - '1234567890'. - 'abcdefghijklmnopqrstuvwxyz'. - 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'. - '1234567890'. - 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'; - - $output = - 'YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQk'.//38 - 'NERUZHSElKS0xNTk9QU'."\r\n".//57 * - 'VJTVFVWV1hZWjEyMzQ1Njc4OTBhYmNkZWZnaGl'.//38 - 'qa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLT'."\r\n".//76 * - 'E1OT1BRUlNUVVZXWFlaMTIzNDU2Nzg5MEFCQ0R'.//38 - 'FRkdISUpLTE1OT1BRUlNUVVZXWFla'; //67 - - $this->assertEquals( - $output, $this->encoder->encodeString($input, 19), - '%s: First line offset is 19 so first line should be 57 chars long' - ); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Encoder/QpEncoderTest.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Encoder/QpEncoderTest.php deleted file mode 100644 index 10e5e1d..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Encoder/QpEncoderTest.php +++ /dev/null @@ -1,400 +0,0 @@ -createCharStream(); - $charStream->shouldReceive('flushContents') - ->once(); - $charStream->shouldReceive('importString') - ->once() - ->with($char); - $charStream->shouldReceive('readBytes') - ->once() - ->andReturn([$ordinal]); - $charStream->shouldReceive('readBytes') - ->atLeast()->times(1) - ->andReturn(false); - - $encoder = new Swift_Encoder_QpEncoder($charStream); - - $this->assertIdenticalBinary($char, $encoder->encodeString($char)); - } - } - - public function testWhiteSpaceAtLineEndingIsEncoded() - { - /* -- RFC 2045, 6.7 -- - (3) (White Space) Octets with values of 9 and 32 MAY be - represented as US-ASCII TAB (HT) and SPACE characters, - respectively, but MUST NOT be so represented at the end - of an encoded line. Any TAB (HT) or SPACE characters - on an encoded line MUST thus be followed on that line - by a printable character. In particular, an "=" at the - end of an encoded line, indicating a soft line break - (see rule #5) may follow one or more TAB (HT) or SPACE - characters. It follows that an octet with decimal - value 9 or 32 appearing at the end of an encoded line - must be represented according to Rule #1. This rule is - necessary because some MTAs (Message Transport Agents, - programs which transport messages from one user to - another, or perform a portion of such transfers) are - known to pad lines of text with SPACEs, and others are - known to remove "white space" characters from the end - of a line. Therefore, when decoding a Quoted-Printable - body, any trailing white space on a line must be - deleted, as it will necessarily have been added by - intermediate transport agents. - */ - - $HT = chr(0x09); //9 - $SPACE = chr(0x20); //32 - - //HT - $string = 'a'.$HT.$HT."\r\n".'b'; - - $charStream = $this->createCharStream(); - $charStream->shouldReceive('flushContents') - ->once(); - $charStream->shouldReceive('importString') - ->once() - ->with($string); - - $charStream->shouldReceive('readBytes')->once()->andReturn([ord('a')]); - $charStream->shouldReceive('readBytes')->once()->andReturn([0x09]); - $charStream->shouldReceive('readBytes')->once()->andReturn([0x09]); - $charStream->shouldReceive('readBytes')->once()->andReturn([0x0D]); - $charStream->shouldReceive('readBytes')->once()->andReturn([0x0A]); - $charStream->shouldReceive('readBytes')->once()->andReturn([ord('b')]); - $charStream->shouldReceive('readBytes')->once()->andReturn(false); - - $encoder = new Swift_Encoder_QpEncoder($charStream); - $this->assertEquals( - 'a'.$HT.'=09'."\r\n".'b', - $encoder->encodeString($string) - ); - - //SPACE - $string = 'a'.$SPACE.$SPACE."\r\n".'b'; - - $charStream = $this->createCharStream(); - $charStream->shouldReceive('flushContents') - ->once(); - $charStream->shouldReceive('importString') - ->once() - ->with($string); - - $charStream->shouldReceive('readBytes')->once()->andReturn([ord('a')]); - $charStream->shouldReceive('readBytes')->once()->andReturn([0x20]); - $charStream->shouldReceive('readBytes')->once()->andReturn([0x20]); - $charStream->shouldReceive('readBytes')->once()->andReturn([0x0D]); - $charStream->shouldReceive('readBytes')->once()->andReturn([0x0A]); - $charStream->shouldReceive('readBytes')->once()->andReturn([ord('b')]); - $charStream->shouldReceive('readBytes')->once()->andReturn(false); - - $encoder = new Swift_Encoder_QpEncoder($charStream); - $this->assertEquals( - 'a'.$SPACE.'=20'."\r\n".'b', - $encoder->encodeString($string) - ); - } - - public function testCRLFIsLeftAlone() - { - /* - (4) (Line Breaks) A line break in a text body, represented - as a CRLF sequence in the text canonical form, must be - represented by a (RFC 822) line break, which is also a - CRLF sequence, in the Quoted-Printable encoding. Since - the canonical representation of media types other than - text do not generally include the representation of - line breaks as CRLF sequences, no hard line breaks - (i.e. line breaks that are intended to be meaningful - and to be displayed to the user) can occur in the - quoted-printable encoding of such types. Sequences - like "=0D", "=0A", "=0A=0D" and "=0D=0A" will routinely - appear in non-text data represented in quoted- - printable, of course. - - Note that many implementations may elect to encode the - local representation of various content types directly - rather than converting to canonical form first, - encoding, and then converting back to local - representation. In particular, this may apply to plain - text material on systems that use newline conventions - other than a CRLF terminator sequence. Such an - implementation optimization is permissible, but only - when the combined canonicalization-encoding step is - equivalent to performing the three steps separately. - */ - - $string = 'a'."\r\n".'b'."\r\n".'c'."\r\n"; - - $charStream = $this->createCharStream(); - $charStream->shouldReceive('flushContents') - ->once(); - $charStream->shouldReceive('importString') - ->once() - ->with($string); - - $charStream->shouldReceive('readBytes')->once()->andReturn([ord('a')]); - $charStream->shouldReceive('readBytes')->once()->andReturn([0x0D]); - $charStream->shouldReceive('readBytes')->once()->andReturn([0x0A]); - $charStream->shouldReceive('readBytes')->once()->andReturn([ord('b')]); - $charStream->shouldReceive('readBytes')->once()->andReturn([0x0D]); - $charStream->shouldReceive('readBytes')->once()->andReturn([0x0A]); - $charStream->shouldReceive('readBytes')->once()->andReturn([ord('c')]); - $charStream->shouldReceive('readBytes')->once()->andReturn([0x0D]); - $charStream->shouldReceive('readBytes')->once()->andReturn([0x0A]); - $charStream->shouldReceive('readBytes')->once()->andReturn(false); - - $encoder = new Swift_Encoder_QpEncoder($charStream); - $this->assertEquals($string, $encoder->encodeString($string)); - } - - public function testLinesLongerThan76CharactersAreSoftBroken() - { - /* - (5) (Soft Line Breaks) The Quoted-Printable encoding - REQUIRES that encoded lines be no more than 76 - characters long. If longer lines are to be encoded - with the Quoted-Printable encoding, "soft" line breaks - must be used. An equal sign as the last character on a - encoded line indicates such a non-significant ("soft") - line break in the encoded text. - */ - - $input = str_repeat('a', 140); - - $charStream = $this->createCharStream(); - $charStream->shouldReceive('flushContents') - ->once(); - $charStream->shouldReceive('importString') - ->once() - ->with($input); - - $output = ''; - for ($i = 0; $i < 140; ++$i) { - $charStream->shouldReceive('readBytes') - ->once() - ->andReturn([ord('a')]); - - if (75 == $i) { - $output .= "=\r\n"; - } - $output .= 'a'; - } - - $charStream->shouldReceive('readBytes') - ->once() - ->andReturn(false); - - $encoder = new Swift_Encoder_QpEncoder($charStream); - $this->assertEquals($output, $encoder->encodeString($input)); - } - - public function testMaxLineLengthCanBeSpecified() - { - $input = str_repeat('a', 100); - - $charStream = $this->createCharStream(); - $charStream->shouldReceive('flushContents') - ->once(); - $charStream->shouldReceive('importString') - ->once() - ->with($input); - - $output = ''; - for ($i = 0; $i < 100; ++$i) { - $charStream->shouldReceive('readBytes') - ->once() - ->andReturn([ord('a')]); - - if (53 == $i) { - $output .= "=\r\n"; - } - $output .= 'a'; - } - $charStream->shouldReceive('readBytes') - ->once() - ->andReturn(false); - - $encoder = new Swift_Encoder_QpEncoder($charStream); - $this->assertEquals($output, $encoder->encodeString($input, 0, 54)); - } - - public function testBytesBelowPermittedRangeAreEncoded() - { - /* - According to Rule (1 & 2) - */ - - foreach (range(0, 32) as $ordinal) { - $char = chr($ordinal); - - $charStream = $this->createCharStream(); - $charStream->shouldReceive('flushContents') - ->once(); - $charStream->shouldReceive('importString') - ->once() - ->with($char); - $charStream->shouldReceive('readBytes') - ->once() - ->andReturn([$ordinal]); - $charStream->shouldReceive('readBytes') - ->atLeast()->times(1) - ->andReturn(false); - - $encoder = new Swift_Encoder_QpEncoder($charStream); - - $this->assertEquals( - sprintf('=%02X', $ordinal), $encoder->encodeString($char) - ); - } - } - - public function testDecimalByte61IsEncoded() - { - /* - According to Rule (1 & 2) - */ - - $char = '='; - - $charStream = $this->createCharStream(); - $charStream->shouldReceive('flushContents') - ->once(); - $charStream->shouldReceive('importString') - ->once() - ->with($char); - $charStream->shouldReceive('readBytes') - ->once() - ->andReturn([61]); - $charStream->shouldReceive('readBytes') - ->atLeast()->times(1) - ->andReturn(false); - - $encoder = new Swift_Encoder_QpEncoder($charStream); - - $this->assertEquals('=3D', $encoder->encodeString('=')); - } - - public function testBytesAbovePermittedRangeAreEncoded() - { - /* - According to Rule (1 & 2) - */ - - foreach (range(127, 255) as $ordinal) { - $char = chr($ordinal); - - $charStream = $this->createCharStream(); - $charStream->shouldReceive('flushContents') - ->once(); - $charStream->shouldReceive('importString') - ->once() - ->with($char); - $charStream->shouldReceive('readBytes') - ->once() - ->andReturn([$ordinal]); - $charStream->shouldReceive('readBytes') - ->atLeast()->times(1) - ->andReturn(false); - - $encoder = new Swift_Encoder_QpEncoder($charStream); - - $this->assertEquals( - sprintf('=%02X', $ordinal), $encoder->encodeString($char) - ); - } - } - - public function testFirstLineLengthCanBeDifferent() - { - $input = str_repeat('a', 140); - - $charStream = $this->createCharStream(); - $charStream->shouldReceive('flushContents') - ->once(); - $charStream->shouldReceive('importString') - ->once() - ->with($input); - - $output = ''; - for ($i = 0; $i < 140; ++$i) { - $charStream->shouldReceive('readBytes') - ->once() - ->andReturn([ord('a')]); - - if (53 == $i || 53 + 75 == $i) { - $output .= "=\r\n"; - } - $output .= 'a'; - } - - $charStream->shouldReceive('readBytes') - ->once() - ->andReturn(false); - - $encoder = new Swift_Encoder_QpEncoder($charStream); - $this->assertEquals( - $output, $encoder->encodeString($input, 22), - '%s: First line should start at offset 22 so can only have max length 54' - ); - } - - public function testTextIsPreWrapped() - { - $encoder = $this->createEncoder(); - - $input = str_repeat('a', 70)."\r\n". - str_repeat('a', 70)."\r\n". - str_repeat('a', 70); - - $this->assertEquals( - $input, $encoder->encodeString($input) - ); - } - - private function createCharStream() - { - return $this->getMockery('Swift_CharacterStream')->shouldIgnoreMissing(); - } - - private function createEncoder() - { - $factory = new Swift_CharacterReaderFactory_SimpleCharacterReaderFactory(); - $charStream = new Swift_CharacterStream_NgCharacterStream($factory, 'utf-8'); - - return new Swift_Encoder_QpEncoder($charStream); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Encoder/Rfc2231EncoderTest.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Encoder/Rfc2231EncoderTest.php deleted file mode 100644 index 0ab8aa4..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Encoder/Rfc2231EncoderTest.php +++ /dev/null @@ -1,141 +0,0 @@ -getMockery('Swift_CharacterStream'); - - $string = ''; - foreach (range(0x00, 0x7F) as $octet) { - $char = pack('C', $octet); - $string .= $char; - $charStream->shouldReceive('read') - ->once() - ->andReturn($char); - } - - $charStream->shouldReceive('flushContents') - ->once(); - $charStream->shouldReceive('importString') - ->once() - ->with($string); - $charStream->shouldReceive('read') - ->atLeast()->times(1) - ->andReturn(false); - - $encoder = new Swift_Encoder_Rfc2231Encoder($charStream); - $encoded = $encoder->encodeString($string); - - foreach (explode("\r\n", $encoded) as $line) { - $this->assertRegExp($this->rfc2045Token, $line, - '%s: Encoder should always return a valid RFC 2045 token.'); - } - } - - public function testEncodingNonAsciiCharactersProducesValidToken() - { - $charStream = $this->getMockery('Swift_CharacterStream'); - - $string = ''; - foreach (range(0x80, 0xFF) as $octet) { - $char = pack('C', $octet); - $string .= $char; - $charStream->shouldReceive('read') - ->once() - ->andReturn($char); - } - $charStream->shouldReceive('flushContents') - ->once(); - $charStream->shouldReceive('importString') - ->once() - ->with($string); - $charStream->shouldReceive('read') - ->atLeast()->times(1) - ->andReturn(false); - $encoder = new Swift_Encoder_Rfc2231Encoder($charStream); - - $encoded = $encoder->encodeString($string); - - foreach (explode("\r\n", $encoded) as $line) { - $this->assertRegExp($this->rfc2045Token, $line, - '%s: Encoder should always return a valid RFC 2045 token.'); - } - } - - public function testMaximumLineLengthCanBeSet() - { - $charStream = $this->getMockery('Swift_CharacterStream'); - - $string = ''; - for ($x = 0; $x < 200; ++$x) { - $char = 'a'; - $string .= $char; - $charStream->shouldReceive('read') - ->once() - ->andReturn($char); - } - $charStream->shouldReceive('flushContents') - ->once(); - $charStream->shouldReceive('importString') - ->once() - ->with($string); - $charStream->shouldReceive('read') - ->atLeast()->times(1) - ->andReturn(false); - $encoder = new Swift_Encoder_Rfc2231Encoder($charStream); - - $encoded = $encoder->encodeString($string, 0, 75); - - $this->assertEquals( - str_repeat('a', 75)."\r\n". - str_repeat('a', 75)."\r\n". - str_repeat('a', 50), - $encoded, - '%s: Lines should be wrapped at each 75 characters' - ); - } - - public function testFirstLineCanHaveShorterLength() - { - $charStream = $this->getMockery('Swift_CharacterStream'); - - $string = ''; - for ($x = 0; $x < 200; ++$x) { - $char = 'a'; - $string .= $char; - $charStream->shouldReceive('read') - ->once() - ->andReturn($char); - } - $charStream->shouldReceive('flushContents') - ->once(); - $charStream->shouldReceive('importString') - ->once() - ->with($string); - $charStream->shouldReceive('read') - ->atLeast()->times(1) - ->andReturn(false); - $encoder = new Swift_Encoder_Rfc2231Encoder($charStream); - $encoded = $encoder->encodeString($string, 25, 75); - - $this->assertEquals( - str_repeat('a', 50)."\r\n". - str_repeat('a', 75)."\r\n". - str_repeat('a', 75), - $encoded, - '%s: First line should be 25 bytes shorter than the others.' - ); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Events/CommandEventTest.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Events/CommandEventTest.php deleted file mode 100644 index 2915870..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Events/CommandEventTest.php +++ /dev/null @@ -1,34 +0,0 @@ -createEvent($this->createTransport(), "FOO\r\n"); - $this->assertEquals("FOO\r\n", $evt->getCommand()); - } - - public function testSuccessCodesCanBeFetchedViaGetter() - { - $evt = $this->createEvent($this->createTransport(), "FOO\r\n", [250]); - $this->assertEquals([250], $evt->getSuccessCodes()); - } - - public function testSourceIsBuffer() - { - $transport = $this->createTransport(); - $evt = $this->createEvent($transport, "FOO\r\n"); - $ref = $evt->getSource(); - $this->assertEquals($transport, $ref); - } - - private function createEvent(Swift_Transport $source, $command, $successCodes = []) - { - return new Swift_Events_CommandEvent($source, $command, $successCodes); - } - - private function createTransport() - { - return $this->getMockBuilder('Swift_Transport')->getMock(); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Events/EventObjectTest.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Events/EventObjectTest.php deleted file mode 100644 index b67461f..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Events/EventObjectTest.php +++ /dev/null @@ -1,32 +0,0 @@ -createEvent($source); - $ref = $evt->getSource(); - $this->assertEquals($source, $ref); - } - - public function testEventDoesNotHaveCancelledBubbleWhenNew() - { - $source = new stdClass(); - $evt = $this->createEvent($source); - $this->assertFalse($evt->bubbleCancelled()); - } - - public function testBubbleCanBeCancelledInEvent() - { - $source = new stdClass(); - $evt = $this->createEvent($source); - $evt->cancelBubble(); - $this->assertTrue($evt->bubbleCancelled()); - } - - private function createEvent($source) - { - return new Swift_Events_EventObject($source); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Events/ResponseEventTest.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Events/ResponseEventTest.php deleted file mode 100644 index ba5c191..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Events/ResponseEventTest.php +++ /dev/null @@ -1,38 +0,0 @@ -createEvent($this->createTransport(), "250 Ok\r\n", true); - $this->assertEquals("250 Ok\r\n", $evt->getResponse(), - '%s: Response should be available via getResponse()' - ); - } - - public function testResultCanBeFetchedViaGetter() - { - $evt = $this->createEvent($this->createTransport(), "250 Ok\r\n", false); - $this->assertFalse($evt->isValid(), - '%s: Result should be checkable via isValid()' - ); - } - - public function testSourceIsBuffer() - { - $transport = $this->createTransport(); - $evt = $this->createEvent($transport, "250 Ok\r\n", true); - $ref = $evt->getSource(); - $this->assertEquals($transport, $ref); - } - - private function createEvent(Swift_Transport $source, $response, $result) - { - return new Swift_Events_ResponseEvent($source, $response, $result); - } - - private function createTransport() - { - return $this->getMockBuilder('Swift_Transport')->getMock(); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Events/SendEventTest.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Events/SendEventTest.php deleted file mode 100644 index 9f55589..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Events/SendEventTest.php +++ /dev/null @@ -1,96 +0,0 @@ -createMessage(); - $transport = $this->createTransport(); - - $evt = $this->createEvent($transport, $message); - - $ref = $evt->getMessage(); - $this->assertEquals($message, $ref, - '%s: Message should be returned from getMessage()' - ); - } - - public function testTransportCanBeFetchViaGetter() - { - $message = $this->createMessage(); - $transport = $this->createTransport(); - - $evt = $this->createEvent($transport, $message); - - $ref = $evt->getTransport(); - $this->assertEquals($transport, $ref, - '%s: Transport should be returned from getTransport()' - ); - } - - public function testTransportCanBeFetchViaGetSource() - { - $message = $this->createMessage(); - $transport = $this->createTransport(); - - $evt = $this->createEvent($transport, $message); - - $ref = $evt->getSource(); - $this->assertEquals($transport, $ref, - '%s: Transport should be returned from getSource()' - ); - } - - public function testResultCanBeSetAndGet() - { - $message = $this->createMessage(); - $transport = $this->createTransport(); - - $evt = $this->createEvent($transport, $message); - - $evt->setResult( - Swift_Events_SendEvent::RESULT_SUCCESS | Swift_Events_SendEvent::RESULT_TENTATIVE - ); - - $this->assertTrue((bool) ($evt->getResult() & Swift_Events_SendEvent::RESULT_SUCCESS)); - $this->assertTrue((bool) ($evt->getResult() & Swift_Events_SendEvent::RESULT_TENTATIVE)); - } - - public function testFailedRecipientsCanBeSetAndGet() - { - $message = $this->createMessage(); - $transport = $this->createTransport(); - - $evt = $this->createEvent($transport, $message); - - $evt->setFailedRecipients(['foo@bar', 'zip@button']); - - $this->assertEquals(['foo@bar', 'zip@button'], $evt->getFailedRecipients(), - '%s: FailedRecipients should be returned from getter' - ); - } - - public function testFailedRecipientsGetsPickedUpCorrectly() - { - $message = $this->createMessage(); - $transport = $this->createTransport(); - - $evt = $this->createEvent($transport, $message); - $this->assertEquals([], $evt->getFailedRecipients()); - } - - private function createEvent(Swift_Transport $source, Swift_Mime_SimpleMessage $message) - { - return new Swift_Events_SendEvent($source, $message); - } - - private function createTransport() - { - return $this->getMockBuilder('Swift_Transport')->getMock(); - } - - private function createMessage() - { - return $this->getMockBuilder('Swift_Mime_SimpleMessage')->disableOriginalConstructor()->getMock(); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Events/SimpleEventDispatcherTest.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Events/SimpleEventDispatcherTest.php deleted file mode 100644 index d5dce2b..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Events/SimpleEventDispatcherTest.php +++ /dev/null @@ -1,142 +0,0 @@ -dispatcher = new Swift_Events_SimpleEventDispatcher(); - } - - public function testSendEventCanBeCreated() - { - $transport = $this->getMockBuilder('Swift_Transport')->getMock(); - $message = $this->getMockBuilder('Swift_Mime_SimpleMessage')->disableOriginalConstructor()->getMock(); - $evt = $this->dispatcher->createSendEvent($transport, $message); - $this->assertInstanceOf('Swift_Events_SendEvent', $evt); - $this->assertSame($message, $evt->getMessage()); - $this->assertSame($transport, $evt->getTransport()); - } - - public function testCommandEventCanBeCreated() - { - $buf = $this->getMockBuilder('Swift_Transport')->getMock(); - $evt = $this->dispatcher->createCommandEvent($buf, "FOO\r\n", [250]); - $this->assertInstanceOf('Swift_Events_CommandEvent', $evt); - $this->assertSame($buf, $evt->getSource()); - $this->assertEquals("FOO\r\n", $evt->getCommand()); - $this->assertEquals([250], $evt->getSuccessCodes()); - } - - public function testResponseEventCanBeCreated() - { - $buf = $this->getMockBuilder('Swift_Transport')->getMock(); - $evt = $this->dispatcher->createResponseEvent($buf, "250 Ok\r\n", true); - $this->assertInstanceOf('Swift_Events_ResponseEvent', $evt); - $this->assertSame($buf, $evt->getSource()); - $this->assertEquals("250 Ok\r\n", $evt->getResponse()); - $this->assertTrue($evt->isValid()); - } - - public function testTransportChangeEventCanBeCreated() - { - $transport = $this->getMockBuilder('Swift_Transport')->getMock(); - $evt = $this->dispatcher->createTransportChangeEvent($transport); - $this->assertInstanceOf('Swift_Events_TransportChangeEvent', $evt); - $this->assertSame($transport, $evt->getSource()); - } - - public function testTransportExceptionEventCanBeCreated() - { - $transport = $this->getMockBuilder('Swift_Transport')->getMock(); - $ex = new Swift_TransportException(''); - $evt = $this->dispatcher->createTransportExceptionEvent($transport, $ex); - $this->assertInstanceOf('Swift_Events_TransportExceptionEvent', $evt); - $this->assertSame($transport, $evt->getSource()); - $this->assertSame($ex, $evt->getException()); - } - - public function testListenersAreNotifiedOfDispatchedEvent() - { - $transport = $this->getMockBuilder('Swift_Transport')->getMock(); - - $evt = $this->dispatcher->createTransportChangeEvent($transport); - - $listenerA = $this->getMockBuilder('Swift_Events_TransportChangeListener')->getMock(); - $listenerB = $this->getMockBuilder('Swift_Events_TransportChangeListener')->getMock(); - - $this->dispatcher->bindEventListener($listenerA); - $this->dispatcher->bindEventListener($listenerB); - - $listenerA->expects($this->once()) - ->method('transportStarted') - ->with($evt); - $listenerB->expects($this->once()) - ->method('transportStarted') - ->with($evt); - - $this->dispatcher->dispatchEvent($evt, 'transportStarted'); - } - - public function testListenersAreOnlyCalledIfImplementingCorrectInterface() - { - $transport = $this->getMockBuilder('Swift_Transport')->getMock(); - $message = $this->getMockBuilder('Swift_Mime_SimpleMessage')->disableOriginalConstructor()->getMock(); - - $evt = $this->dispatcher->createSendEvent($transport, $message); - - $targetListener = $this->getMockBuilder('Swift_Events_SendListener')->getMock(); - $otherListener = $this->getMockBuilder('DummyListener')->getMock(); - - $this->dispatcher->bindEventListener($targetListener); - $this->dispatcher->bindEventListener($otherListener); - - $targetListener->expects($this->once()) - ->method('sendPerformed') - ->with($evt); - $otherListener->expects($this->never()) - ->method('sendPerformed'); - - $this->dispatcher->dispatchEvent($evt, 'sendPerformed'); - } - - public function testListenersCanCancelBubblingOfEvent() - { - $transport = $this->getMockBuilder('Swift_Transport')->getMock(); - $message = $this->getMockBuilder('Swift_Mime_SimpleMessage')->disableOriginalConstructor()->getMock(); - - $evt = $this->dispatcher->createSendEvent($transport, $message); - - $listenerA = $this->getMockBuilder('Swift_Events_SendListener')->getMock(); - $listenerB = $this->getMockBuilder('Swift_Events_SendListener')->getMock(); - - $this->dispatcher->bindEventListener($listenerA); - $this->dispatcher->bindEventListener($listenerB); - - $listenerA->expects($this->once()) - ->method('sendPerformed') - ->with($evt) - ->will($this->returnCallback(function ($object) { - $object->cancelBubble(true); - })); - $listenerB->expects($this->never()) - ->method('sendPerformed'); - - $this->dispatcher->dispatchEvent($evt, 'sendPerformed'); - - $this->assertTrue($evt->bubbleCancelled()); - } - - private function createDispatcher(array $map) - { - return new Swift_Events_SimpleEventDispatcher($map); - } -} - -class DummyListener implements Swift_Events_EventListener -{ - public function sendPerformed(Swift_Events_SendEvent $evt) - { - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Events/TransportChangeEventTest.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Events/TransportChangeEventTest.php deleted file mode 100644 index 625b96c..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Events/TransportChangeEventTest.php +++ /dev/null @@ -1,30 +0,0 @@ -createTransport(); - $evt = $this->createEvent($transport); - $ref = $evt->getTransport(); - $this->assertEquals($transport, $ref); - } - - public function testSourceIsTransport() - { - $transport = $this->createTransport(); - $evt = $this->createEvent($transport); - $ref = $evt->getSource(); - $this->assertEquals($transport, $ref); - } - - private function createEvent(Swift_Transport $source) - { - return new Swift_Events_TransportChangeEvent($source); - } - - private function createTransport() - { - return $this->getMockBuilder('Swift_Transport')->getMock(); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Events/TransportExceptionEventTest.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Events/TransportExceptionEventTest.php deleted file mode 100644 index 033b0e5..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Events/TransportExceptionEventTest.php +++ /dev/null @@ -1,41 +0,0 @@ -createException(); - $transport = $this->createTransport(); - $evt = $this->createEvent($transport, $ex); - $ref = $evt->getException(); - $this->assertEquals($ex, $ref, - '%s: Exception should be available via getException()' - ); - } - - public function testSourceIsTransport() - { - $ex = $this->createException(); - $transport = $this->createTransport(); - $evt = $this->createEvent($transport, $ex); - $ref = $evt->getSource(); - $this->assertEquals($transport, $ref, - '%s: Transport should be available via getSource()' - ); - } - - private function createEvent(Swift_Transport $transport, Swift_TransportException $ex) - { - return new Swift_Events_TransportExceptionEvent($transport, $ex); - } - - private function createTransport() - { - return $this->getMockBuilder('Swift_Transport')->getMock(); - } - - private function createException() - { - return new Swift_TransportException(''); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/KeyCache/ArrayKeyCacheTest.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/KeyCache/ArrayKeyCacheTest.php deleted file mode 100644 index 129c99e..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/KeyCache/ArrayKeyCacheTest.php +++ /dev/null @@ -1,240 +0,0 @@ -createKeyCacheInputStream(); - $cache = $this->createCache($is); - $cache->setString( - $this->key1, 'foo', 'test', Swift_KeyCache::MODE_WRITE - ); - $this->assertEquals('test', $cache->getString($this->key1, 'foo')); - } - - public function testStringDataCanBeOverwritten() - { - $is = $this->createKeyCacheInputStream(); - $cache = $this->createCache($is); - $cache->setString( - $this->key1, 'foo', 'test', Swift_KeyCache::MODE_WRITE - ); - $cache->setString( - $this->key1, 'foo', 'whatever', Swift_KeyCache::MODE_WRITE - ); - - $this->assertEquals('whatever', $cache->getString($this->key1, 'foo')); - } - - public function testStringDataCanBeAppended() - { - $is = $this->createKeyCacheInputStream(); - $cache = $this->createCache($is); - $cache->setString( - $this->key1, 'foo', 'test', Swift_KeyCache::MODE_WRITE - ); - $cache->setString( - $this->key1, 'foo', 'ing', Swift_KeyCache::MODE_APPEND - ); - - $this->assertEquals('testing', $cache->getString($this->key1, 'foo')); - } - - public function testHasKeyReturnValue() - { - $is = $this->createKeyCacheInputStream(); - $cache = $this->createCache($is); - $cache->setString( - $this->key1, 'foo', 'test', Swift_KeyCache::MODE_WRITE - ); - - $this->assertTrue($cache->hasKey($this->key1, 'foo')); - } - - public function testNsKeyIsWellPartitioned() - { - $is = $this->createKeyCacheInputStream(); - $cache = $this->createCache($is); - $cache->setString( - $this->key1, 'foo', 'test', Swift_KeyCache::MODE_WRITE - ); - $cache->setString( - $this->key2, 'foo', 'ing', Swift_KeyCache::MODE_WRITE - ); - - $this->assertEquals('test', $cache->getString($this->key1, 'foo')); - $this->assertEquals('ing', $cache->getString($this->key2, 'foo')); - } - - public function testItemKeyIsWellPartitioned() - { - $is = $this->createKeyCacheInputStream(); - $cache = $this->createCache($is); - $cache->setString( - $this->key1, 'foo', 'test', Swift_KeyCache::MODE_WRITE - ); - $cache->setString( - $this->key1, 'bar', 'ing', Swift_KeyCache::MODE_WRITE - ); - - $this->assertEquals('test', $cache->getString($this->key1, 'foo')); - $this->assertEquals('ing', $cache->getString($this->key1, 'bar')); - } - - public function testByteStreamCanBeImported() - { - $os = $this->createOutputStream(); - $os->expects($this->at(0)) - ->method('read') - ->will($this->returnValue('abc')); - $os->expects($this->at(1)) - ->method('read') - ->will($this->returnValue('def')); - $os->expects($this->at(2)) - ->method('read') - ->will($this->returnValue(false)); - - $is = $this->createKeyCacheInputStream(); - $cache = $this->createCache($is); - $cache->importFromByteStream( - $this->key1, 'foo', $os, Swift_KeyCache::MODE_WRITE - ); - $this->assertEquals('abcdef', $cache->getString($this->key1, 'foo')); - } - - public function testByteStreamCanBeAppended() - { - $os1 = $this->createOutputStream(); - $os1->expects($this->at(0)) - ->method('read') - ->will($this->returnValue('abc')); - $os1->expects($this->at(1)) - ->method('read') - ->will($this->returnValue('def')); - $os1->expects($this->at(2)) - ->method('read') - ->will($this->returnValue(false)); - - $os2 = $this->createOutputStream(); - $os2->expects($this->at(0)) - ->method('read') - ->will($this->returnValue('xyz')); - $os2->expects($this->at(1)) - ->method('read') - ->will($this->returnValue('uvw')); - $os2->expects($this->at(2)) - ->method('read') - ->will($this->returnValue(false)); - - $is = $this->createKeyCacheInputStream(true); - - $cache = $this->createCache($is); - - $cache->importFromByteStream( - $this->key1, 'foo', $os1, Swift_KeyCache::MODE_APPEND - ); - $cache->importFromByteStream( - $this->key1, 'foo', $os2, Swift_KeyCache::MODE_APPEND - ); - - $this->assertEquals('abcdefxyzuvw', $cache->getString($this->key1, 'foo')); - } - - public function testByteStreamAndStringCanBeAppended() - { - $os = $this->createOutputStream(); - $os->expects($this->at(0)) - ->method('read') - ->will($this->returnValue('abc')); - $os->expects($this->at(1)) - ->method('read') - ->will($this->returnValue('def')); - $os->expects($this->at(2)) - ->method('read') - ->will($this->returnValue(false)); - - $is = $this->createKeyCacheInputStream(true); - - $cache = $this->createCache($is); - - $cache->setString( - $this->key1, 'foo', 'test', Swift_KeyCache::MODE_APPEND - ); - $cache->importFromByteStream( - $this->key1, 'foo', $os, Swift_KeyCache::MODE_APPEND - ); - $this->assertEquals('testabcdef', $cache->getString($this->key1, 'foo')); - } - - public function testDataCanBeExportedToByteStream() - { - //See acceptance test for more detail - $is = $this->createInputStream(); - $is->expects($this->atLeastOnce()) - ->method('write'); - - $kcis = $this->createKeyCacheInputStream(true); - - $cache = $this->createCache($kcis); - - $cache->setString( - $this->key1, 'foo', 'test', Swift_KeyCache::MODE_WRITE - ); - - $cache->exportToByteStream($this->key1, 'foo', $is); - } - - public function testKeyCanBeCleared() - { - $is = $this->createKeyCacheInputStream(); - $cache = $this->createCache($is); - - $cache->setString( - $this->key1, 'foo', 'test', Swift_KeyCache::MODE_WRITE - ); - $this->assertTrue($cache->hasKey($this->key1, 'foo')); - $cache->clearKey($this->key1, 'foo'); - $this->assertFalse($cache->hasKey($this->key1, 'foo')); - } - - public function testNsKeyCanBeCleared() - { - $is = $this->createKeyCacheInputStream(); - $cache = $this->createCache($is); - - $cache->setString( - $this->key1, 'foo', 'test', Swift_KeyCache::MODE_WRITE - ); - $cache->setString( - $this->key1, 'bar', 'xyz', Swift_KeyCache::MODE_WRITE - ); - $this->assertTrue($cache->hasKey($this->key1, 'foo')); - $this->assertTrue($cache->hasKey($this->key1, 'bar')); - $cache->clearAll($this->key1); - $this->assertFalse($cache->hasKey($this->key1, 'foo')); - $this->assertFalse($cache->hasKey($this->key1, 'bar')); - } - - private function createCache($is) - { - return new Swift_KeyCache_ArrayKeyCache($is); - } - - private function createKeyCacheInputStream() - { - return $this->getMockBuilder('Swift_KeyCache_KeyCacheInputStream')->getMock(); - } - - private function createOutputStream() - { - return $this->getMockBuilder('Swift_OutputByteStream')->getMock(); - } - - private function createInputStream() - { - return $this->getMockBuilder('Swift_InputByteStream')->getMock(); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/KeyCache/SimpleKeyCacheInputStreamTest.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/KeyCache/SimpleKeyCacheInputStreamTest.php deleted file mode 100644 index 4274aaf..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/KeyCache/SimpleKeyCacheInputStreamTest.php +++ /dev/null @@ -1,73 +0,0 @@ -getMockBuilder('Swift_KeyCache')->getMock(); - $cache->expects($this->at(0)) - ->method('setString') - ->with($this->nsKey, 'foo', 'a', Swift_KeyCache::MODE_APPEND); - $cache->expects($this->at(1)) - ->method('setString') - ->with($this->nsKey, 'foo', 'b', Swift_KeyCache::MODE_APPEND); - $cache->expects($this->at(2)) - ->method('setString') - ->with($this->nsKey, 'foo', 'c', Swift_KeyCache::MODE_APPEND); - - $stream = new Swift_KeyCache_SimpleKeyCacheInputStream(); - $stream->setKeyCache($cache); - $stream->setNsKey($this->nsKey); - $stream->setItemKey('foo'); - - $stream->write('a'); - $stream->write('b'); - $stream->write('c'); - } - - public function testFlushContentClearsKey() - { - $cache = $this->getMockBuilder('Swift_KeyCache')->getMock(); - $cache->expects($this->once()) - ->method('clearKey') - ->with($this->nsKey, 'foo'); - - $stream = new Swift_KeyCache_SimpleKeyCacheInputStream(); - $stream->setKeyCache($cache); - $stream->setNsKey($this->nsKey); - $stream->setItemKey('foo'); - - $stream->flushBuffers(); - } - - public function testClonedStreamStillReferencesSameCache() - { - $cache = $this->getMockBuilder('Swift_KeyCache')->getMock(); - $cache->expects($this->at(0)) - ->method('setString') - ->with($this->nsKey, 'foo', 'a', Swift_KeyCache::MODE_APPEND); - $cache->expects($this->at(1)) - ->method('setString') - ->with($this->nsKey, 'foo', 'b', Swift_KeyCache::MODE_APPEND); - $cache->expects($this->at(2)) - ->method('setString') - ->with('test', 'bar', 'x', Swift_KeyCache::MODE_APPEND); - - $stream = new Swift_KeyCache_SimpleKeyCacheInputStream(); - $stream->setKeyCache($cache); - $stream->setNsKey($this->nsKey); - $stream->setItemKey('foo'); - - $stream->write('a'); - $stream->write('b'); - - $newStream = clone $stream; - $newStream->setKeyCache($cache); - $newStream->setNsKey('test'); - $newStream->setItemKey('bar'); - - $newStream->write('x'); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mailer/ArrayRecipientIteratorTest.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mailer/ArrayRecipientIteratorTest.php deleted file mode 100644 index 12506dd..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mailer/ArrayRecipientIteratorTest.php +++ /dev/null @@ -1,42 +0,0 @@ -assertFalse($it->hasNext()); - } - - public function testHasNextReturnsTrueIfItemsLeft() - { - $it = new Swift_Mailer_ArrayRecipientIterator(['foo@bar' => 'Foo']); - $this->assertTrue($it->hasNext()); - } - - public function testReadingToEndOfListCausesHasNextToReturnFalse() - { - $it = new Swift_Mailer_ArrayRecipientIterator(['foo@bar' => 'Foo']); - $this->assertTrue($it->hasNext()); - $it->nextRecipient(); - $this->assertFalse($it->hasNext()); - } - - public function testReturnedValueHasPreservedKeyValuePair() - { - $it = new Swift_Mailer_ArrayRecipientIterator(['foo@bar' => 'Foo']); - $this->assertEquals(['foo@bar' => 'Foo'], $it->nextRecipient()); - } - - public function testIteratorMovesNextAfterEachIteration() - { - $it = new Swift_Mailer_ArrayRecipientIterator([ - 'foo@bar' => 'Foo', - 'zip@button' => 'Zip thing', - 'test@test' => null, - ]); - $this->assertEquals(['foo@bar' => 'Foo'], $it->nextRecipient()); - $this->assertEquals(['zip@button' => 'Zip thing'], $it->nextRecipient()); - $this->assertEquals(['test@test' => null], $it->nextRecipient()); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/MailerTest.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/MailerTest.php deleted file mode 100644 index a2a96d0..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/MailerTest.php +++ /dev/null @@ -1,145 +0,0 @@ -createTransport(); - $message = $this->createMessage(); - - $started = false; - $transport->shouldReceive('isStarted') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use (&$started) { - return $started; - }); - $transport->shouldReceive('start') - ->once() - ->andReturnUsing(function () use (&$started) { - $started = true; - - return; - }); - - $mailer = $this->createMailer($transport); - $mailer->send($message); - } - - public function testTransportIsOnlyStartedOnce() - { - $transport = $this->createTransport(); - $message = $this->createMessage(); - - $started = false; - $transport->shouldReceive('isStarted') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use (&$started) { - return $started; - }); - $transport->shouldReceive('start') - ->once() - ->andReturnUsing(function () use (&$started) { - $started = true; - - return; - }); - - $mailer = $this->createMailer($transport); - for ($i = 0; $i < 10; ++$i) { - $mailer->send($message); - } - } - - public function testMessageIsPassedToTransport() - { - $transport = $this->createTransport(); - $message = $this->createMessage(); - $transport->shouldReceive('send') - ->once() - ->with($message, \Mockery::any()); - - $mailer = $this->createMailer($transport); - $mailer->send($message); - } - - public function testSendReturnsCountFromTransport() - { - $transport = $this->createTransport(); - $message = $this->createMessage(); - $transport->shouldReceive('send') - ->once() - ->with($message, \Mockery::any()) - ->andReturn(57); - - $mailer = $this->createMailer($transport); - $this->assertEquals(57, $mailer->send($message)); - } - - public function testFailedRecipientReferenceIsPassedToTransport() - { - $failures = []; - - $transport = $this->createTransport(); - $message = $this->createMessage(); - $transport->shouldReceive('send') - ->once() - ->with($message, $failures) - ->andReturn(57); - - $mailer = $this->createMailer($transport); - $mailer->send($message, $failures); - } - - public function testSendRecordsRfcComplianceExceptionAsEntireSendFailure() - { - $failures = []; - - $rfcException = new Swift_RfcComplianceException('test'); - $transport = $this->createTransport(); - $message = $this->createMessage(); - $message->shouldReceive('getTo') - ->once() - ->andReturn(['foo&invalid' => 'Foo', 'bar@valid.tld' => 'Bar']); - $transport->shouldReceive('send') - ->once() - ->with($message, $failures) - ->andThrow($rfcException); - - $mailer = $this->createMailer($transport); - $this->assertEquals(0, $mailer->send($message, $failures), '%s: Should return 0'); - $this->assertEquals(['foo&invalid', 'bar@valid.tld'], $failures, '%s: Failures should contain all addresses since the entire message failed to compile'); - } - - public function testRegisterPluginDelegatesToTransport() - { - $plugin = $this->createPlugin(); - $transport = $this->createTransport(); - $mailer = $this->createMailer($transport); - - $transport->shouldReceive('registerPlugin') - ->once() - ->with($plugin); - - $mailer->registerPlugin($plugin); - } - - private function createPlugin() - { - return $this->getMockery('Swift_Events_EventListener')->shouldIgnoreMissing(); - } - - private function createTransport() - { - return $this->getMockery('Swift_Transport')->shouldIgnoreMissing(); - } - - private function createMessage() - { - return $this->getMockery('Swift_Mime_SimpleMessage')->shouldIgnoreMissing(); - } - - private function createMailer(Swift_Transport $transport) - { - return new Swift_Mailer($transport); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/MessageTest.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/MessageTest.php deleted file mode 100644 index 3ebbd7e..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/MessageTest.php +++ /dev/null @@ -1,133 +0,0 @@ -recursiveObjectCloningCheck($message1, $message2, $message1_clone); - // the test above will fail if the two messages are not identical - $this->addToAssertionCount(1); - } - - public function testCloningWithSigners() - { - $message1 = new Swift_Message('subj', 'body', 'ctype'); - $signer = new Swift_Signers_DKIMSigner(dirname(dirname(__DIR__)).'/_samples/dkim/dkim.test.priv', 'test.example', 'example'); - $message1->attachSigner($signer); - $message2 = new Swift_Message('subj', 'body', 'ctype'); - $signer = new Swift_Signers_DKIMSigner(dirname(dirname(__DIR__)).'/_samples/dkim/dkim.test.priv', 'test.example', 'example'); - $message2->attachSigner($signer); - $message1_clone = clone $message1; - - $this->recursiveObjectCloningCheck($message1, $message2, $message1_clone); - // the test above will fail if the two messages are not identical - $this->addToAssertionCount(1); - } - - public function testBodySwap() - { - $message1 = new Swift_Message('Test'); - $html = new Swift_MimePart('', 'text/html'); - $html->getHeaders()->addTextHeader('X-Test-Remove', 'Test-Value'); - $html->getHeaders()->addTextHeader('X-Test-Alter', 'Test-Value'); - $message1->attach($html); - $source = $message1->toString(); - $message2 = clone $message1; - $message2->setSubject('Message2'); - foreach ($message2->getChildren() as $child) { - $child->setBody('Test'); - $child->getHeaders()->removeAll('X-Test-Remove'); - $child->getHeaders()->get('X-Test-Alter')->setValue('Altered'); - } - $final = $message1->toString(); - if ($source != $final) { - $this->fail("Difference although object cloned \n [".$source."]\n[".$final."]\n"); - } - $final = $message2->toString(); - if ($final == $source) { - $this->fail('Two body matches although they should differ'."\n [".$source."]\n[".$final."]\n"); - } - $id_1 = $message1->getId(); - $id_2 = $message2->getId(); - $this->assertEquals($id_1, $id_2, 'Message Ids differ'); - $id_2 = $message2->generateId(); - $this->assertNotEquals($id_1, $id_2, 'Message Ids are the same'); - } - - protected function recursiveObjectCloningCheck($obj1, $obj2, $obj1_clone) - { - $obj1_properties = (array) $obj1; - $obj2_properties = (array) $obj2; - $obj1_clone_properties = (array) $obj1_clone; - - foreach ($obj1_properties as $property => $value) { - if (is_object($value)) { - $obj1_value = $obj1_properties[$property]; - $obj2_value = $obj2_properties[$property]; - $obj1_clone_value = $obj1_clone_properties[$property]; - - if ($obj1_value !== $obj2_value) { - // two separetely instanciated objects property not referencing same object - $this->assertFalse( - // but object's clone does - not everything copied - $obj1_value === $obj1_clone_value, - "Property `$property` cloning error: source and cloned objects property is referencing same object" - ); - } else { - // two separetely instanciated objects have same reference - $this->assertFalse( - // but object's clone doesn't - overdone making copies - $obj1_value !== $obj1_clone_value, - "Property `$property` not properly cloned: it should reference same object as cloning source (overdone copping)" - ); - } - // recurse - $this->recursiveObjectCloningCheck($obj1_value, $obj2_value, $obj1_clone_value); - } elseif (is_array($value)) { - $obj1_value = $obj1_properties[$property]; - $obj2_value = $obj2_properties[$property]; - $obj1_clone_value = $obj1_clone_properties[$property]; - - return $this->recursiveArrayCloningCheck($obj1_value, $obj2_value, $obj1_clone_value); - } - } - } - - protected function recursiveArrayCloningCheck($array1, $array2, $array1_clone) - { - foreach ($array1 as $key => $value) { - if (is_object($value)) { - $arr1_value = $array1[$key]; - $arr2_value = $array2[$key]; - $arr1_clone_value = $array1_clone[$key]; - if ($arr1_value !== $arr2_value) { - // two separetely instanciated objects property not referencing same object - $this->assertFalse( - // but object's clone does - not everything copied - $arr1_value === $arr1_clone_value, - "Key `$key` cloning error: source and cloned objects property is referencing same object" - ); - } else { - // two separetely instanciated objects have same reference - $this->assertFalse( - // but object's clone doesn't - overdone making copies - $arr1_value !== $arr1_clone_value, - "Key `$key` not properly cloned: it should reference same object as cloning source (overdone copping)" - ); - } - // recurse - $this->recursiveObjectCloningCheck($arr1_value, $arr2_value, $arr1_clone_value); - } elseif (is_array($value)) { - $arr1_value = $array1[$key]; - $arr2_value = $array2[$key]; - $arr1_clone_value = $array1_clone[$key]; - - return $this->recursiveArrayCloningCheck($arr1_value, $arr2_value, $arr1_clone_value); - } - } - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/AbstractMimeEntityTest.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/AbstractMimeEntityTest.php deleted file mode 100644 index c7c2c03..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/AbstractMimeEntityTest.php +++ /dev/null @@ -1,1092 +0,0 @@ -createHeaderSet(); - $entity = $this->createEntity($headers, $this->createEncoder(), - $this->createCache() - ); - $this->assertSame($headers, $entity->getHeaders()); - } - - public function testContentTypeIsReturnedFromHeader() - { - $ctype = $this->createHeader('Content-Type', 'image/jpeg-test'); - $headers = $this->createHeaderSet(['Content-Type' => $ctype]); - $entity = $this->createEntity($headers, $this->createEncoder(), - $this->createCache() - ); - $this->assertEquals('image/jpeg-test', $entity->getContentType()); - } - - public function testContentTypeIsSetInHeader() - { - $ctype = $this->createHeader('Content-Type', 'text/plain', [], false); - $headers = $this->createHeaderSet(['Content-Type' => $ctype]); - - $ctype->shouldReceive('setFieldBodyModel') - ->once() - ->with('image/jpeg'); - $ctype->shouldReceive('setFieldBodyModel') - ->zeroOrMoreTimes() - ->with(\Mockery::not('image/jpeg')); - - $entity = $this->createEntity($headers, $this->createEncoder(), - $this->createCache() - ); - $entity->setContentType('image/jpeg'); - } - - public function testContentTypeHeaderIsAddedIfNoneSet() - { - $headers = $this->createHeaderSet([], false); - $headers->shouldReceive('addParameterizedHeader') - ->once() - ->with('Content-Type', 'image/jpeg'); - $headers->shouldReceive('addParameterizedHeader') - ->zeroOrMoreTimes(); - - $entity = $this->createEntity($headers, $this->createEncoder(), - $this->createCache() - ); - $entity->setContentType('image/jpeg'); - } - - public function testContentTypeCanBeSetViaSetBody() - { - $headers = $this->createHeaderSet([], false); - $headers->shouldReceive('addParameterizedHeader') - ->once() - ->with('Content-Type', 'text/html'); - $headers->shouldReceive('addParameterizedHeader') - ->zeroOrMoreTimes(); - - $entity = $this->createEntity($headers, $this->createEncoder(), - $this->createCache() - ); - $entity->setBody('foo', 'text/html'); - } - - public function testGetEncoderFromConstructor() - { - $encoder = $this->createEncoder('base64'); - $entity = $this->createEntity($this->createHeaderSet(), $encoder, - $this->createCache() - ); - $this->assertSame($encoder, $entity->getEncoder()); - } - - public function testSetAndGetEncoder() - { - $encoder = $this->createEncoder('base64'); - $headers = $this->createHeaderSet(); - $entity = $this->createEntity($headers, $this->createEncoder(), - $this->createCache() - ); - $entity->setEncoder($encoder); - $this->assertSame($encoder, $entity->getEncoder()); - } - - public function testSettingEncoderUpdatesTransferEncoding() - { - $encoder = $this->createEncoder('base64'); - $encoding = $this->createHeader( - 'Content-Transfer-Encoding', '8bit', [], false - ); - $headers = $this->createHeaderSet([ - 'Content-Transfer-Encoding' => $encoding, - ]); - $encoding->shouldReceive('setFieldBodyModel') - ->once() - ->with('base64'); - $encoding->shouldReceive('setFieldBodyModel') - ->zeroOrMoreTimes(); - - $entity = $this->createEntity($headers, $this->createEncoder(), - $this->createCache() - ); - $entity->setEncoder($encoder); - } - - public function testSettingEncoderAddsEncodingHeaderIfNonePresent() - { - $headers = $this->createHeaderSet([], false); - $headers->shouldReceive('addTextHeader') - ->once() - ->with('Content-Transfer-Encoding', 'something'); - $headers->shouldReceive('addTextHeader') - ->zeroOrMoreTimes(); - - $entity = $this->createEntity($headers, $this->createEncoder(), - $this->createCache() - ); - $entity->setEncoder($this->createEncoder('something')); - } - - public function testIdIsReturnedFromHeader() - { - /* -- RFC 2045, 7. - In constructing a high-level user agent, it may be desirable to allow - one body to make reference to another. Accordingly, bodies may be - labelled using the "Content-ID" header field, which is syntactically - identical to the "Message-ID" header field - */ - - $cid = $this->createHeader('Content-ID', 'zip@button'); - $headers = $this->createHeaderSet(['Content-ID' => $cid]); - $entity = $this->createEntity($headers, $this->createEncoder(), - $this->createCache() - ); - $this->assertEquals('zip@button', $entity->getId()); - } - - public function testIdIsSetInHeader() - { - $cid = $this->createHeader('Content-ID', 'zip@button', [], false); - $headers = $this->createHeaderSet(['Content-ID' => $cid]); - - $cid->shouldReceive('setFieldBodyModel') - ->once() - ->with('foo@bar'); - $cid->shouldReceive('setFieldBodyModel') - ->zeroOrMoreTimes(); - - $entity = $this->createEntity($headers, $this->createEncoder(), - $this->createCache() - ); - $entity->setId('foo@bar'); - } - - public function testIdIsAutoGenerated() - { - $entity = $this->createEntity($this->createHeaderSet(), - $this->createEncoder(), $this->createCache() - ); - $this->assertRegExp('/^.*?@.*?$/D', $entity->getId()); - } - - public function testGenerateIdCreatesNewId() - { - $headers = $this->createHeaderSet(); - $entity = $this->createEntity($headers, $this->createEncoder(), - $this->createCache() - ); - $id1 = $entity->generateId(); - $id2 = $entity->generateId(); - $this->assertNotEquals($id1, $id2); - } - - public function testGenerateIdSetsNewId() - { - $headers = $this->createHeaderSet(); - $entity = $this->createEntity($headers, $this->createEncoder(), - $this->createCache() - ); - $id = $entity->generateId(); - $this->assertEquals($id, $entity->getId()); - } - - public function testDescriptionIsReadFromHeader() - { - /* -- RFC 2045, 8. - The ability to associate some descriptive information with a given - body is often desirable. For example, it may be useful to mark an - "image" body as "a picture of the Space Shuttle Endeavor." Such text - may be placed in the Content-Description header field. This header - field is always optional. - */ - - $desc = $this->createHeader('Content-Description', 'something'); - $headers = $this->createHeaderSet(['Content-Description' => $desc]); - $entity = $this->createEntity($headers, $this->createEncoder(), - $this->createCache() - ); - $this->assertEquals('something', $entity->getDescription()); - } - - public function testDescriptionIsSetInHeader() - { - $desc = $this->createHeader('Content-Description', '', [], false); - $desc->shouldReceive('setFieldBodyModel')->once()->with('whatever'); - - $headers = $this->createHeaderSet(['Content-Description' => $desc]); - - $entity = $this->createEntity($headers, $this->createEncoder(), - $this->createCache() - ); - $entity->setDescription('whatever'); - } - - public function testDescriptionHeaderIsAddedIfNotPresent() - { - $headers = $this->createHeaderSet([], false); - $headers->shouldReceive('addTextHeader') - ->once() - ->with('Content-Description', 'whatever'); - $headers->shouldReceive('addTextHeader') - ->zeroOrMoreTimes(); - - $entity = $this->createEntity($headers, $this->createEncoder(), - $this->createCache() - ); - $entity->setDescription('whatever'); - } - - public function testSetAndGetMaxLineLength() - { - $entity = $this->createEntity($this->createHeaderSet(), - $this->createEncoder(), $this->createCache() - ); - $entity->setMaxLineLength(60); - $this->assertEquals(60, $entity->getMaxLineLength()); - } - - public function testEncoderIsUsedForStringGeneration() - { - $encoder = $this->createEncoder('base64', false); - $encoder->expects($this->once()) - ->method('encodeString') - ->with('blah'); - - $entity = $this->createEntity($this->createHeaderSet(), - $encoder, $this->createCache() - ); - $entity->setBody('blah'); - $entity->toString(); - } - - public function testMaxLineLengthIsProvidedWhenEncoding() - { - $encoder = $this->createEncoder('base64', false); - $encoder->expects($this->once()) - ->method('encodeString') - ->with('blah', 0, 65); - - $entity = $this->createEntity($this->createHeaderSet(), - $encoder, $this->createCache() - ); - $entity->setBody('blah'); - $entity->setMaxLineLength(65); - $entity->toString(); - } - - public function testHeadersAppearInString() - { - $headers = $this->createHeaderSet([], false); - $headers->shouldReceive('toString') - ->once() - ->andReturn( - "Content-Type: text/plain; charset=utf-8\r\n". - "X-MyHeader: foobar\r\n" - ); - - $entity = $this->createEntity($headers, $this->createEncoder(), - $this->createCache() - ); - $this->assertEquals( - "Content-Type: text/plain; charset=utf-8\r\n". - "X-MyHeader: foobar\r\n", - $entity->toString() - ); - } - - public function testSetAndGetBody() - { - $entity = $this->createEntity($this->createHeaderSet(), - $this->createEncoder(), $this->createCache() - ); - $entity->setBody("blah\r\nblah!"); - $this->assertEquals("blah\r\nblah!", $entity->getBody()); - } - - public function testBodyIsAppended() - { - $headers = $this->createHeaderSet([], false); - $headers->shouldReceive('toString') - ->once() - ->andReturn("Content-Type: text/plain; charset=utf-8\r\n"); - - $entity = $this->createEntity($headers, $this->createEncoder(), - $this->createCache() - ); - $entity->setBody("blah\r\nblah!"); - $this->assertEquals( - "Content-Type: text/plain; charset=utf-8\r\n". - "\r\n". - "blah\r\nblah!", - $entity->toString() - ); - } - - public function testGetBodyReturnsStringFromByteStream() - { - $os = $this->createOutputStream('byte stream string'); - $entity = $this->createEntity($this->createHeaderSet(), - $this->createEncoder(), $this->createCache() - ); - $entity->setBody($os); - $this->assertEquals('byte stream string', $entity->getBody()); - } - - public function testByteStreamBodyIsAppended() - { - $headers = $this->createHeaderSet([], false); - $os = $this->createOutputStream('streamed'); - $headers->shouldReceive('toString') - ->once() - ->andReturn("Content-Type: text/plain; charset=utf-8\r\n"); - - $entity = $this->createEntity($headers, $this->createEncoder(), - $this->createCache() - ); - $entity->setBody($os); - $this->assertEquals( - "Content-Type: text/plain; charset=utf-8\r\n". - "\r\n". - 'streamed', - $entity->toString() - ); - } - - public function testBoundaryCanBeRetrieved() - { - /* -- RFC 2046, 5.1.1. - boundary := 0*69 bcharsnospace - - bchars := bcharsnospace / " " - - bcharsnospace := DIGIT / ALPHA / "'" / "(" / ")" / - "+" / "_" / "," / "-" / "." / - "/" / ":" / "=" / "?" - */ - - $entity = $this->createEntity($this->createHeaderSet(), - $this->createEncoder(), $this->createCache() - ); - $this->assertRegExp( - '/^[a-zA-Z0-9\'\(\)\+_\-,\.\/:=\?\ ]{0,69}[a-zA-Z0-9\'\(\)\+_\-,\.\/:=\?]$/D', - $entity->getBoundary() - ); - } - - public function testBoundaryNeverChanges() - { - $entity = $this->createEntity($this->createHeaderSet(), - $this->createEncoder(), $this->createCache() - ); - $firstBoundary = $entity->getBoundary(); - for ($i = 0; $i < 10; ++$i) { - $this->assertEquals($firstBoundary, $entity->getBoundary()); - } - } - - public function testBoundaryCanBeSet() - { - $entity = $this->createEntity($this->createHeaderSet(), - $this->createEncoder(), $this->createCache() - ); - $entity->setBoundary('foobar'); - $this->assertEquals('foobar', $entity->getBoundary()); - } - - public function testAddingChildrenGeneratesBoundaryInHeaders() - { - $child = $this->createChild(); - $cType = $this->createHeader('Content-Type', 'text/plain', [], false); - $cType->shouldReceive('setParameter') - ->once() - ->with('boundary', \Mockery::any()); - $cType->shouldReceive('setParameter') - ->zeroOrMoreTimes(); - - $entity = $this->createEntity($this->createHeaderSet([ - 'Content-Type' => $cType, - ]), - $this->createEncoder(), $this->createCache() - ); - $entity->setChildren([$child]); - } - - public function testChildrenOfLevelAttachmentAndLessCauseMultipartMixed() - { - for ($level = Swift_Mime_SimpleMimeEntity::LEVEL_MIXED; - $level > Swift_Mime_SimpleMimeEntity::LEVEL_TOP; $level /= 2) { - $child = $this->createChild($level); - $cType = $this->createHeader( - 'Content-Type', 'text/plain', [], false - ); - $cType->shouldReceive('setFieldBodyModel') - ->once() - ->with('multipart/mixed'); - $cType->shouldReceive('setFieldBodyModel') - ->zeroOrMoreTimes(); - - $entity = $this->createEntity($this->createHeaderSet([ - 'Content-Type' => $cType, ]), - $this->createEncoder(), $this->createCache() - ); - $entity->setChildren([$child]); - } - } - - public function testChildrenOfLevelAlternativeAndLessCauseMultipartAlternative() - { - for ($level = Swift_Mime_SimpleMimeEntity::LEVEL_ALTERNATIVE; - $level > Swift_Mime_SimpleMimeEntity::LEVEL_MIXED; $level /= 2) { - $child = $this->createChild($level); - $cType = $this->createHeader( - 'Content-Type', 'text/plain', [], false - ); - $cType->shouldReceive('setFieldBodyModel') - ->once() - ->with('multipart/alternative'); - $cType->shouldReceive('setFieldBodyModel') - ->zeroOrMoreTimes(); - - $entity = $this->createEntity($this->createHeaderSet([ - 'Content-Type' => $cType, ]), - $this->createEncoder(), $this->createCache() - ); - $entity->setChildren([$child]); - } - } - - public function testChildrenOfLevelRelatedAndLessCauseMultipartRelated() - { - for ($level = Swift_Mime_SimpleMimeEntity::LEVEL_RELATED; - $level > Swift_Mime_SimpleMimeEntity::LEVEL_ALTERNATIVE; $level /= 2) { - $child = $this->createChild($level); - $cType = $this->createHeader( - 'Content-Type', 'text/plain', [], false - ); - $cType->shouldReceive('setFieldBodyModel') - ->once() - ->with('multipart/related'); - $cType->shouldReceive('setFieldBodyModel') - ->zeroOrMoreTimes(); - - $entity = $this->createEntity($this->createHeaderSet([ - 'Content-Type' => $cType, ]), - $this->createEncoder(), $this->createCache() - ); - $entity->setChildren([$child]); - } - } - - public function testHighestLevelChildDeterminesContentType() - { - $combinations = [ - ['levels' => [Swift_Mime_SimpleMimeEntity::LEVEL_MIXED, - Swift_Mime_SimpleMimeEntity::LEVEL_ALTERNATIVE, - Swift_Mime_SimpleMimeEntity::LEVEL_RELATED, - ], - 'type' => 'multipart/mixed', - ], - ['levels' => [Swift_Mime_SimpleMimeEntity::LEVEL_MIXED, - Swift_Mime_SimpleMimeEntity::LEVEL_RELATED, - ], - 'type' => 'multipart/mixed', - ], - ['levels' => [Swift_Mime_SimpleMimeEntity::LEVEL_MIXED, - Swift_Mime_SimpleMimeEntity::LEVEL_ALTERNATIVE, - ], - 'type' => 'multipart/mixed', - ], - ['levels' => [Swift_Mime_SimpleMimeEntity::LEVEL_ALTERNATIVE, - Swift_Mime_SimpleMimeEntity::LEVEL_RELATED, - ], - 'type' => 'multipart/alternative', - ], - ]; - - foreach ($combinations as $combination) { - $children = []; - foreach ($combination['levels'] as $level) { - $children[] = $this->createChild($level); - } - - $cType = $this->createHeader( - 'Content-Type', 'text/plain', [], false - ); - $cType->shouldReceive('setFieldBodyModel') - ->once() - ->with($combination['type']); - - $headerSet = $this->createHeaderSet(['Content-Type' => $cType]); - $headerSet->shouldReceive('newInstance') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use ($headerSet) { - return $headerSet; - }); - $entity = $this->createEntity($headerSet, - $this->createEncoder(), $this->createCache() - ); - $entity->setChildren($children); - } - } - - public function testChildrenAppearNestedInString() - { - /* -- RFC 2046, 5.1.1. - (excerpt too verbose to paste here) - */ - - $headers = $this->createHeaderSet([], false); - - $child1 = new MimeEntityFixture(Swift_Mime_SimpleMimeEntity::LEVEL_ALTERNATIVE, - "Content-Type: text/plain\r\n". - "\r\n". - 'foobar', 'text/plain' - ); - - $child2 = new MimeEntityFixture(Swift_Mime_SimpleMimeEntity::LEVEL_ALTERNATIVE, - "Content-Type: text/html\r\n". - "\r\n". - 'foobar', 'text/html' - ); - - $headers->shouldReceive('toString') - ->zeroOrMoreTimes() - ->andReturn("Content-Type: multipart/alternative; boundary=\"xxx\"\r\n"); - - $entity = $this->createEntity($headers, $this->createEncoder(), - $this->createCache() - ); - $entity->setBoundary('xxx'); - $entity->setChildren([$child1, $child2]); - - $this->assertEquals( - "Content-Type: multipart/alternative; boundary=\"xxx\"\r\n". - "\r\n". - "\r\n--xxx\r\n". - "Content-Type: text/plain\r\n". - "\r\n". - "foobar\r\n". - "\r\n--xxx\r\n". - "Content-Type: text/html\r\n". - "\r\n". - "foobar\r\n". - "\r\n--xxx--\r\n", - $entity->toString() - ); - } - - public function testMixingLevelsIsHierarchical() - { - $headers = $this->createHeaderSet([], false); - $newHeaders = $this->createHeaderSet([], false); - - $part = $this->createChild(Swift_Mime_SimpleMimeEntity::LEVEL_ALTERNATIVE, - "Content-Type: text/plain\r\n". - "\r\n". - 'foobar' - ); - - $attachment = $this->createChild(Swift_Mime_SimpleMimeEntity::LEVEL_MIXED, - "Content-Type: application/octet-stream\r\n". - "\r\n". - 'data' - ); - - $headers->shouldReceive('toString') - ->zeroOrMoreTimes() - ->andReturn("Content-Type: multipart/mixed; boundary=\"xxx\"\r\n"); - $headers->shouldReceive('newInstance') - ->zeroOrMoreTimes() - ->andReturn($newHeaders); - $newHeaders->shouldReceive('toString') - ->zeroOrMoreTimes() - ->andReturn("Content-Type: multipart/alternative; boundary=\"yyy\"\r\n"); - - $entity = $this->createEntity($headers, $this->createEncoder(), - $this->createCache() - ); - $entity->setBoundary('xxx'); - $entity->setChildren([$part, $attachment]); - - $this->assertRegExp( - '~^'. - "Content-Type: multipart/mixed; boundary=\"xxx\"\r\n". - "\r\n\r\n--xxx\r\n". - "Content-Type: multipart/alternative; boundary=\"yyy\"\r\n". - "\r\n\r\n--(.*?)\r\n". - "Content-Type: text/plain\r\n". - "\r\n". - 'foobar'. - "\r\n\r\n--\\1--\r\n". - "\r\n\r\n--xxx\r\n". - "Content-Type: application/octet-stream\r\n". - "\r\n". - 'data'. - "\r\n\r\n--xxx--\r\n". - '$~', - $entity->toString() - ); - } - - public function testSettingEncoderNotifiesChildren() - { - $child = $this->createChild(0, '', false); - $encoder = $this->createEncoder('base64'); - - $child->shouldReceive('encoderChanged') - ->once() - ->with($encoder); - - $entity = $this->createEntity($this->createHeaderSet(), - $this->createEncoder(), $this->createCache() - ); - $entity->setChildren([$child]); - $entity->setEncoder($encoder); - } - - public function testReceiptOfEncoderChangeNotifiesChildren() - { - $child = $this->createChild(0, '', false); - $encoder = $this->createEncoder('base64'); - - $child->shouldReceive('encoderChanged') - ->once() - ->with($encoder); - - $entity = $this->createEntity($this->createHeaderSet(), - $this->createEncoder(), $this->createCache() - ); - $entity->setChildren([$child]); - $entity->encoderChanged($encoder); - } - - public function testReceiptOfCharsetChangeNotifiesChildren() - { - $child = $this->createChild(0, '', false); - $child->shouldReceive('charsetChanged') - ->once() - ->with('windows-874'); - - $entity = $this->createEntity($this->createHeaderSet(), - $this->createEncoder(), $this->createCache() - ); - $entity->setChildren([$child]); - $entity->charsetChanged('windows-874'); - } - - public function testEntityIsWrittenToByteStream() - { - $entity = $this->createEntity($this->createHeaderSet(), - $this->createEncoder(), $this->createCache() - ); - $is = $this->createInputStream(false); - $is->expects($this->atLeastOnce()) - ->method('write'); - - $entity->toByteStream($is); - } - - public function testEntityHeadersAreComittedToByteStream() - { - $entity = $this->createEntity($this->createHeaderSet(), - $this->createEncoder(), $this->createCache() - ); - $is = $this->createInputStream(false); - $is->expects($this->atLeastOnce()) - ->method('write'); - $is->expects($this->atLeastOnce()) - ->method('commit'); - - $entity->toByteStream($is); - } - - public function testOrderingTextBeforeHtml() - { - $htmlChild = new MimeEntityFixture(Swift_Mime_SimpleMimeEntity::LEVEL_ALTERNATIVE, - "Content-Type: text/html\r\n". - "\r\n". - 'HTML PART', - 'text/html' - ); - $textChild = new MimeEntityFixture(Swift_Mime_SimpleMimeEntity::LEVEL_ALTERNATIVE, - "Content-Type: text/plain\r\n". - "\r\n". - 'TEXT PART', - 'text/plain' - ); - $headers = $this->createHeaderSet([], false); - $headers->shouldReceive('toString') - ->zeroOrMoreTimes() - ->andReturn("Content-Type: multipart/alternative; boundary=\"xxx\"\r\n"); - - $entity = $this->createEntity($headers, $this->createEncoder(), - $this->createCache() - ); - $entity->setBoundary('xxx'); - $entity->setChildren([$htmlChild, $textChild]); - - $this->assertEquals( - "Content-Type: multipart/alternative; boundary=\"xxx\"\r\n". - "\r\n\r\n--xxx\r\n". - "Content-Type: text/plain\r\n". - "\r\n". - 'TEXT PART'. - "\r\n\r\n--xxx\r\n". - "Content-Type: text/html\r\n". - "\r\n". - 'HTML PART'. - "\r\n\r\n--xxx--\r\n", - $entity->toString() - ); - } - - public function testOrderingEqualContentTypesMaintainsOriginalOrdering() - { - $firstChild = new MimeEntityFixture(Swift_Mime_SimpleMimeEntity::LEVEL_ALTERNATIVE, - "Content-Type: text/plain\r\n". - "\r\n". - 'PART 1', - 'text/plain' - ); - $secondChild = new MimeEntityFixture(Swift_Mime_SimpleMimeEntity::LEVEL_ALTERNATIVE, - "Content-Type: text/plain\r\n". - "\r\n". - 'PART 2', - 'text/plain' - ); - $headers = $this->createHeaderSet([], false); - $headers->shouldReceive('toString') - ->zeroOrMoreTimes() - ->andReturn("Content-Type: multipart/alternative; boundary=\"xxx\"\r\n"); - - $entity = $this->createEntity($headers, $this->createEncoder(), - $this->createCache() - ); - $entity->setBoundary('xxx'); - $entity->setChildren([$firstChild, $secondChild]); - - $this->assertEquals( - "Content-Type: multipart/alternative; boundary=\"xxx\"\r\n". - "\r\n\r\n--xxx\r\n". - "Content-Type: text/plain\r\n". - "\r\n". - 'PART 1'. - "\r\n\r\n--xxx\r\n". - "Content-Type: text/plain\r\n". - "\r\n". - 'PART 2'. - "\r\n\r\n--xxx--\r\n", - $entity->toString() - ); - } - - public function testUnsettingChildrenRestoresContentType() - { - $cType = $this->createHeader('Content-Type', 'text/plain', [], false); - $child = $this->createChild(Swift_Mime_SimpleMimeEntity::LEVEL_ALTERNATIVE); - - $cType->shouldReceive('setFieldBodyModel') - ->twice() - ->with('image/jpeg'); - $cType->shouldReceive('setFieldBodyModel') - ->once() - ->with('multipart/alternative'); - $cType->shouldReceive('setFieldBodyModel') - ->zeroOrMoreTimes() - ->with(\Mockery::not('multipart/alternative', 'image/jpeg')); - - $entity = $this->createEntity($this->createHeaderSet([ - 'Content-Type' => $cType, - ]), - $this->createEncoder(), $this->createCache() - ); - - $entity->setContentType('image/jpeg'); - $entity->setChildren([$child]); - $entity->setChildren([]); - } - - public function testBodyIsReadFromCacheWhenUsingToStringIfPresent() - { - $headers = $this->createHeaderSet([], false); - $headers->shouldReceive('toString') - ->zeroOrMoreTimes() - ->andReturn("Content-Type: text/plain; charset=utf-8\r\n"); - - $cache = $this->createCache(false); - $cache->shouldReceive('hasKey') - ->once() - ->with(\Mockery::any(), 'body') - ->andReturn(true); - $cache->shouldReceive('getString') - ->once() - ->with(\Mockery::any(), 'body') - ->andReturn("\r\ncache\r\ncache!"); - - $entity = $this->createEntity($headers, $this->createEncoder(), - $cache - ); - - $entity->setBody("blah\r\nblah!"); - $this->assertEquals( - "Content-Type: text/plain; charset=utf-8\r\n". - "\r\n". - "cache\r\ncache!", - $entity->toString() - ); - } - - public function testBodyIsAddedToCacheWhenUsingToString() - { - $headers = $this->createHeaderSet([], false); - $headers->shouldReceive('toString') - ->zeroOrMoreTimes() - ->andReturn("Content-Type: text/plain; charset=utf-8\r\n"); - - $cache = $this->createCache(false); - $cache->shouldReceive('hasKey') - ->once() - ->with(\Mockery::any(), 'body') - ->andReturn(false); - $cache->shouldReceive('setString') - ->once() - ->with(\Mockery::any(), 'body', "\r\nblah\r\nblah!", Swift_KeyCache::MODE_WRITE); - - $entity = $this->createEntity($headers, $this->createEncoder(), - $cache - ); - - $entity->setBody("blah\r\nblah!"); - $entity->toString(); - } - - public function testBodyIsClearedFromCacheIfNewBodySet() - { - $headers = $this->createHeaderSet([], false); - $headers->shouldReceive('toString') - ->zeroOrMoreTimes() - ->andReturn("Content-Type: text/plain; charset=utf-8\r\n"); - - $cache = $this->createCache(false); - $entity = $this->createEntity($headers, $this->createEncoder(), - $cache - ); - - $entity->setBody("blah\r\nblah!"); - $entity->toString(); - - // We set the expectation at this point because we only care what happens when calling setBody() - $cache->shouldReceive('clearKey') - ->once() - ->with(\Mockery::any(), 'body'); - - $entity->setBody("new\r\nnew!"); - } - - public function testBodyIsNotClearedFromCacheIfSameBodySet() - { - $headers = $this->createHeaderSet([], false); - $headers->shouldReceive('toString') - ->zeroOrMoreTimes() - ->andReturn("Content-Type: text/plain; charset=utf-8\r\n"); - - $cache = $this->createCache(false); - $entity = $this->createEntity($headers, $this->createEncoder(), - $cache - ); - - $entity->setBody("blah\r\nblah!"); - $entity->toString(); - - // We set the expectation at this point because we only care what happens when calling setBody() - $cache->shouldReceive('clearKey') - ->never(); - - $entity->setBody("blah\r\nblah!"); - } - - public function testBodyIsClearedFromCacheIfNewEncoderSet() - { - $headers = $this->createHeaderSet([], false); - $headers->shouldReceive('toString') - ->zeroOrMoreTimes() - ->andReturn("Content-Type: text/plain; charset=utf-8\r\n"); - - $cache = $this->createCache(false); - $otherEncoder = $this->createEncoder(); - $entity = $this->createEntity($headers, $this->createEncoder(), - $cache - ); - - $entity->setBody("blah\r\nblah!"); - $entity->toString(); - - // We set the expectation at this point because we only care what happens when calling setEncoder() - $cache->shouldReceive('clearKey') - ->once() - ->with(\Mockery::any(), 'body'); - - $entity->setEncoder($otherEncoder); - } - - public function testBodyIsReadFromCacheWhenUsingToByteStreamIfPresent() - { - $is = $this->createInputStream(); - $cache = $this->createCache(false); - $cache->shouldReceive('hasKey') - ->once() - ->with(\Mockery::any(), 'body') - ->andReturn(true); - $cache->shouldReceive('exportToByteStream') - ->once() - ->with(\Mockery::any(), 'body', $is); - - $entity = $this->createEntity($this->createHeaderSet(), - $this->createEncoder(), $cache - ); - $entity->setBody('foo'); - - $entity->toByteStream($is); - } - - public function testBodyIsAddedToCacheWhenUsingToByteStream() - { - $is = $this->createInputStream(); - $cache = $this->createCache(false); - $cache->shouldReceive('hasKey') - ->once() - ->with(\Mockery::any(), 'body') - ->andReturn(false); - $cache->shouldReceive('getInputByteStream') - ->once() - ->with(\Mockery::any(), 'body'); - - $entity = $this->createEntity($this->createHeaderSet(), - $this->createEncoder(), $cache - ); - $entity->setBody('foo'); - - $entity->toByteStream($is); - } - - public function testFluidInterface() - { - $entity = $this->createEntity($this->createHeaderSet(), - $this->createEncoder(), $this->createCache() - ); - - $this->assertSame($entity, - $entity - ->setContentType('text/plain') - ->setEncoder($this->createEncoder()) - ->setId('foo@bar') - ->setDescription('my description') - ->setMaxLineLength(998) - ->setBody('xx') - ->setBoundary('xyz') - ->setChildren([]) - ); - } - - abstract protected function createEntity($headers, $encoder, $cache); - - protected function createChild($level = null, $string = '', $stub = true) - { - $child = $this->getMockery('Swift_Mime_SimpleMimeEntity')->shouldIgnoreMissing(); - if (isset($level)) { - $child->shouldReceive('getNestingLevel') - ->zeroOrMoreTimes() - ->andReturn($level); - } - $child->shouldReceive('toString') - ->zeroOrMoreTimes() - ->andReturn($string); - - return $child; - } - - protected function createEncoder($name = 'quoted-printable', $stub = true) - { - $encoder = $this->getMockBuilder('Swift_Mime_ContentEncoder')->getMock(); - $encoder->expects($this->any()) - ->method('getName') - ->will($this->returnValue($name)); - $encoder->expects($this->any()) - ->method('encodeString') - ->will($this->returnCallback(function () { - $args = func_get_args(); - - return array_shift($args); - })); - - return $encoder; - } - - protected function createCache($stub = true) - { - return $this->getMockery('Swift_KeyCache')->shouldIgnoreMissing(); - } - - protected function createHeaderSet($headers = [], $stub = true) - { - $set = $this->getMockery('Swift_Mime_SimpleHeaderSet')->shouldIgnoreMissing(); - $set->shouldReceive('get') - ->zeroOrMoreTimes() - ->andReturnUsing(function ($key) use ($headers) { - return $headers[$key]; - }); - $set->shouldReceive('has') - ->zeroOrMoreTimes() - ->andReturnUsing(function ($key) use ($headers) { - return array_key_exists($key, $headers); - }); - - return $set; - } - - protected function createHeader($name, $model = null, $params = [], $stub = true) - { - $header = $this->getMockery('Swift_Mime_Headers_ParameterizedHeader')->shouldIgnoreMissing(); - $header->shouldReceive('getFieldName') - ->zeroOrMoreTimes() - ->andReturn($name); - $header->shouldReceive('getFieldBodyModel') - ->zeroOrMoreTimes() - ->andReturn($model); - $header->shouldReceive('getParameter') - ->zeroOrMoreTimes() - ->andReturnUsing(function ($key) use ($params) { - return $params[$key]; - }); - - return $header; - } - - protected function createOutputStream($data = null, $stub = true) - { - $os = $this->getMockery('Swift_OutputByteStream'); - if (isset($data)) { - $os->shouldReceive('read') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use ($data) { - static $first = true; - if (!$first) { - return false; - } - - $first = false; - - return $data; - }); - $os->shouldReceive('setReadPointer') - ->zeroOrMoreTimes(); - } - - return $os; - } - - protected function createInputStream($stub = true) - { - return $this->getMockBuilder('Swift_InputByteStream')->getMock(); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/AttachmentTest.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/AttachmentTest.php deleted file mode 100644 index 912d529..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/AttachmentTest.php +++ /dev/null @@ -1,321 +0,0 @@ -createAttachment($this->createHeaderSet(), - $this->createEncoder(), $this->createCache() - ); - $this->assertEquals( - Swift_Mime_SimpleMimeEntity::LEVEL_MIXED, $attachment->getNestingLevel() - ); - } - - public function testDispositionIsReturnedFromHeader() - { - /* -- RFC 2183, 2.1, 2.2. - */ - - $disposition = $this->createHeader('Content-Disposition', 'attachment'); - $attachment = $this->createAttachment($this->createHeaderSet([ - 'Content-Disposition' => $disposition, ]), - $this->createEncoder(), $this->createCache() - ); - $this->assertEquals('attachment', $attachment->getDisposition()); - } - - public function testDispositionIsSetInHeader() - { - $disposition = $this->createHeader('Content-Disposition', 'attachment', - [], false - ); - $disposition->shouldReceive('setFieldBodyModel') - ->once() - ->with('inline'); - $disposition->shouldReceive('setFieldBodyModel') - ->zeroOrMoreTimes(); - - $attachment = $this->createAttachment($this->createHeaderSet([ - 'Content-Disposition' => $disposition, ]), - $this->createEncoder(), $this->createCache() - ); - $attachment->setDisposition('inline'); - } - - public function testDispositionIsAddedIfNonePresent() - { - $headers = $this->createHeaderSet([], false); - $headers->shouldReceive('addParameterizedHeader') - ->once() - ->with('Content-Disposition', 'inline'); - $headers->shouldReceive('addParameterizedHeader') - ->zeroOrMoreTimes(); - - $attachment = $this->createAttachment($headers, $this->createEncoder(), - $this->createCache() - ); - $attachment->setDisposition('inline'); - } - - public function testDispositionIsAutoDefaultedToAttachment() - { - $headers = $this->createHeaderSet([], false); - $headers->shouldReceive('addParameterizedHeader') - ->once() - ->with('Content-Disposition', 'attachment'); - $headers->shouldReceive('addParameterizedHeader') - ->zeroOrMoreTimes(); - - $attachment = $this->createAttachment($headers, $this->createEncoder(), - $this->createCache() - ); - } - - public function testDefaultContentTypeInitializedToOctetStream() - { - $cType = $this->createHeader('Content-Type', '', - [], false - ); - $cType->shouldReceive('setFieldBodyModel') - ->once() - ->with('application/octet-stream'); - $cType->shouldReceive('setFieldBodyModel') - ->zeroOrMoreTimes(); - - $attachment = $this->createAttachment($this->createHeaderSet([ - 'Content-Type' => $cType, ]), - $this->createEncoder(), $this->createCache() - ); - } - - public function testFilenameIsReturnedFromHeader() - { - /* -- RFC 2183, 2.3. - */ - - $disposition = $this->createHeader('Content-Disposition', 'attachment', - ['filename' => 'foo.txt'] - ); - $attachment = $this->createAttachment($this->createHeaderSet([ - 'Content-Disposition' => $disposition, ]), - $this->createEncoder(), $this->createCache() - ); - $this->assertEquals('foo.txt', $attachment->getFilename()); - } - - public function testFilenameIsSetInHeader() - { - $disposition = $this->createHeader('Content-Disposition', 'attachment', - ['filename' => 'foo.txt'], false - ); - $disposition->shouldReceive('setParameter') - ->once() - ->with('filename', 'bar.txt'); - $disposition->shouldReceive('setParameter') - ->zeroOrMoreTimes(); - - $attachment = $this->createAttachment($this->createHeaderSet([ - 'Content-Disposition' => $disposition, ]), - $this->createEncoder(), $this->createCache() - ); - $attachment->setFilename('bar.txt'); - } - - public function testSettingFilenameSetsNameInContentType() - { - /* - This is a legacy requirement which isn't covered by up-to-date RFCs. - */ - - $cType = $this->createHeader('Content-Type', 'text/plain', - [], false - ); - $cType->shouldReceive('setParameter') - ->once() - ->with('name', 'bar.txt'); - $cType->shouldReceive('setParameter') - ->zeroOrMoreTimes(); - - $attachment = $this->createAttachment($this->createHeaderSet([ - 'Content-Type' => $cType, ]), - $this->createEncoder(), $this->createCache() - ); - $attachment->setFilename('bar.txt'); - } - - public function testSizeIsReturnedFromHeader() - { - /* -- RFC 2183, 2.7. - */ - - $disposition = $this->createHeader('Content-Disposition', 'attachment', - ['size' => 1234] - ); - $attachment = $this->createAttachment($this->createHeaderSet([ - 'Content-Disposition' => $disposition, ]), - $this->createEncoder(), $this->createCache() - ); - $this->assertEquals(1234, $attachment->getSize()); - } - - public function testSizeIsSetInHeader() - { - $disposition = $this->createHeader('Content-Disposition', 'attachment', - [], false - ); - $disposition->shouldReceive('setParameter') - ->once() - ->with('size', 12345); - $disposition->shouldReceive('setParameter') - ->zeroOrMoreTimes(); - - $attachment = $this->createAttachment($this->createHeaderSet([ - 'Content-Disposition' => $disposition, ]), - $this->createEncoder(), $this->createCache() - ); - $attachment->setSize(12345); - } - - public function testFilnameCanBeReadFromFileStream() - { - $file = $this->createFileStream('/bar/file.ext', ''); - $disposition = $this->createHeader('Content-Disposition', 'attachment', - ['filename' => 'foo.txt'], false - ); - $disposition->shouldReceive('setParameter') - ->once() - ->with('filename', 'file.ext'); - - $attachment = $this->createAttachment($this->createHeaderSet([ - 'Content-Disposition' => $disposition, ]), - $this->createEncoder(), $this->createCache() - ); - $attachment->setFile($file); - } - - public function testContentTypeCanBeSetViaSetFile() - { - $file = $this->createFileStream('/bar/file.ext', ''); - $disposition = $this->createHeader('Content-Disposition', 'attachment', - ['filename' => 'foo.txt'], false - ); - $disposition->shouldReceive('setParameter') - ->once() - ->with('filename', 'file.ext'); - - $ctype = $this->createHeader('Content-Type', 'text/plain', [], false); - $ctype->shouldReceive('setFieldBodyModel') - ->once() - ->with('text/html'); - $ctype->shouldReceive('setFieldBodyModel') - ->zeroOrMoreTimes(); - - $headers = $this->createHeaderSet([ - 'Content-Disposition' => $disposition, - 'Content-Type' => $ctype, - ]); - - $attachment = $this->createAttachment($headers, $this->createEncoder(), - $this->createCache() - ); - $attachment->setFile($file, 'text/html'); - } - - public function XtestContentTypeCanBeLookedUpFromCommonListIfNotProvided() - { - $file = $this->createFileStream('/bar/file.zip', ''); - $disposition = $this->createHeader('Content-Disposition', 'attachment', - ['filename' => 'foo.zip'], false - ); - $disposition->shouldReceive('setParameter') - ->once() - ->with('filename', 'file.zip'); - - $ctype = $this->createHeader('Content-Type', 'text/plain', [], false); - $ctype->shouldReceive('setFieldBodyModel') - ->once() - ->with('application/zip'); - $ctype->shouldReceive('setFieldBodyModel') - ->zeroOrMoreTimes(); - - $headers = $this->createHeaderSet([ - 'Content-Disposition' => $disposition, - 'Content-Type' => $ctype, - ]); - - $attachment = $this->createAttachment($headers, $this->createEncoder(), - $this->createCache(), ['zip' => 'application/zip', 'txt' => 'text/plain'] - ); - $attachment->setFile($file); - } - - public function testDataCanBeReadFromFile() - { - $file = $this->createFileStream('/foo/file.ext', ''); - $attachment = $this->createAttachment($this->createHeaderSet(), - $this->createEncoder(), $this->createCache() - ); - $attachment->setFile($file); - $this->assertEquals('', $attachment->getBody()); - } - - public function testFluidInterface() - { - $attachment = $this->createAttachment($this->createHeaderSet(), - $this->createEncoder(), $this->createCache() - ); - $this->assertSame($attachment, - $attachment - ->setContentType('application/pdf') - ->setEncoder($this->createEncoder()) - ->setId('foo@bar') - ->setDescription('my pdf') - ->setMaxLineLength(998) - ->setBody('xx') - ->setBoundary('xyz') - ->setChildren([]) - ->setDisposition('inline') - ->setFilename('afile.txt') - ->setSize(123) - ->setFile($this->createFileStream('foo.txt', '')) - ); - } - - protected function createEntity($headers, $encoder, $cache) - { - return $this->createAttachment($headers, $encoder, $cache); - } - - protected function createAttachment($headers, $encoder, $cache, $mimeTypes = []) - { - $idGenerator = new Swift_Mime_IdGenerator('example.com'); - - return new Swift_Mime_Attachment($headers, $encoder, $cache, $idGenerator, $mimeTypes); - } - - protected function createFileStream($path, $data, $stub = true) - { - $file = $this->getMockery('Swift_FileStream'); - $file->shouldReceive('getPath') - ->zeroOrMoreTimes() - ->andReturn($path); - $file->shouldReceive('read') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use ($data) { - static $first = true; - if (!$first) { - return false; - } - - $first = false; - - return $data; - }); - $file->shouldReceive('setReadPointer') - ->zeroOrMoreTimes(); - - return $file; - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/ContentEncoder/Base64ContentEncoderTest.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/ContentEncoder/Base64ContentEncoderTest.php deleted file mode 100644 index a05c68a..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/ContentEncoder/Base64ContentEncoderTest.php +++ /dev/null @@ -1,323 +0,0 @@ -encoder = new Swift_Mime_ContentEncoder_Base64ContentEncoder(); - } - - public function testNameIsBase64() - { - $this->assertEquals('base64', $this->encoder->getName()); - } - - /* - There's really no point in testing the entire base64 encoding to the - level QP encoding has been tested. base64_encode() has been in PHP for - years. - */ - - public function testInputOutputRatioIs3to4Bytes() - { - /* - RFC 2045, 6.8 - - The encoding process represents 24-bit groups of input bits as output - strings of 4 encoded characters. Proceeding from left to right, a - 24-bit input group is formed by concatenating 3 8bit input groups. - These 24 bits are then treated as 4 concatenated 6-bit groups, each - of which is translated into a single digit in the base64 alphabet. - */ - - $os = $this->createOutputByteStream(); - $is = $this->createInputByteStream(); - $collection = new Swift_StreamCollector(); - - $is->shouldReceive('write') - ->zeroOrMoreTimes() - ->andReturnUsing($collection); - $os->shouldReceive('read') - ->once() - ->andReturn('123'); - $os->shouldReceive('read') - ->zeroOrMoreTimes() - ->andReturn(false); - - $this->encoder->encodeByteStream($os, $is); - $this->assertEquals('MTIz', $collection->content); - } - - public function testPadLength() - { - /* - RFC 2045, 6.8 - - Special processing is performed if fewer than 24 bits are available - at the end of the data being encoded. A full encoding quantum is - always completed at the end of a body. When fewer than 24 input bits - are available in an input group, zero bits are added (on the right) - to form an integral number of 6-bit groups. Padding at the end of - the data is performed using the "=" character. Since all base64 - input is an integral number of octets, only the following cases can - arise: (1) the final quantum of encoding input is an integral - multiple of 24 bits; here, the final unit of encoded output will be - an integral multiple of 4 characters with no "=" padding, (2) the - final quantum of encoding input is exactly 8 bits; here, the final - unit of encoded output will be two characters followed by two "=" - padding characters, or (3) the final quantum of encoding input is - exactly 16 bits; here, the final unit of encoded output will be three - characters followed by one "=" padding character. - */ - - for ($i = 0; $i < 30; ++$i) { - $os = $this->createOutputByteStream(); - $is = $this->createInputByteStream(); - $collection = new Swift_StreamCollector(); - - $is->shouldReceive('write') - ->zeroOrMoreTimes() - ->andReturnUsing($collection); - $os->shouldReceive('read') - ->once() - ->andReturn(pack('C', random_int(0, 255))); - $os->shouldReceive('read') - ->zeroOrMoreTimes() - ->andReturn(false); - - $this->encoder->encodeByteStream($os, $is); - $this->assertRegExp('~^[a-zA-Z0-9/\+]{2}==$~', $collection->content, - '%s: A single byte should have 2 bytes of padding' - ); - } - - for ($i = 0; $i < 30; ++$i) { - $os = $this->createOutputByteStream(); - $is = $this->createInputByteStream(); - $collection = new Swift_StreamCollector(); - - $is->shouldReceive('write') - ->zeroOrMoreTimes() - ->andReturnUsing($collection); - $os->shouldReceive('read') - ->once() - ->andReturn(pack('C*', random_int(0, 255), random_int(0, 255))); - $os->shouldReceive('read') - ->zeroOrMoreTimes() - ->andReturn(false); - - $this->encoder->encodeByteStream($os, $is); - $this->assertRegExp('~^[a-zA-Z0-9/\+]{3}=$~', $collection->content, - '%s: Two bytes should have 1 byte of padding' - ); - } - - for ($i = 0; $i < 30; ++$i) { - $os = $this->createOutputByteStream(); - $is = $this->createInputByteStream(); - $collection = new Swift_StreamCollector(); - - $is->shouldReceive('write') - ->zeroOrMoreTimes() - ->andReturnUsing($collection); - $os->shouldReceive('read') - ->once() - ->andReturn(pack('C*', random_int(0, 255), random_int(0, 255), random_int(0, 255))); - $os->shouldReceive('read') - ->zeroOrMoreTimes() - ->andReturn(false); - - $this->encoder->encodeByteStream($os, $is); - $this->assertRegExp('~^[a-zA-Z0-9/\+]{4}$~', $collection->content, - '%s: Three bytes should have no padding' - ); - } - } - - public function testMaximumLineLengthIs76Characters() - { - /* - The encoded output stream must be represented in lines of no more - than 76 characters each. All line breaks or other characters not - found in Table 1 must be ignored by decoding software. - */ - - $os = $this->createOutputByteStream(); - $is = $this->createInputByteStream(); - $collection = new Swift_StreamCollector(); - - $is->shouldReceive('write') - ->zeroOrMoreTimes() - ->andReturnUsing($collection); - $os->shouldReceive('read') - ->once() - ->andReturn('abcdefghijkl'); //12 - $os->shouldReceive('read') - ->once() - ->andReturn('mnopqrstuvwx'); //24 - $os->shouldReceive('read') - ->once() - ->andReturn('yzabc1234567'); //36 - $os->shouldReceive('read') - ->once() - ->andReturn('890ABCDEFGHI'); //48 - $os->shouldReceive('read') - ->once() - ->andReturn('JKLMNOPQRSTU'); //60 - $os->shouldReceive('read') - ->once() - ->andReturn('VWXYZ1234567'); //72 - $os->shouldReceive('read') - ->once() - ->andReturn('abcdefghijkl'); //84 - $os->shouldReceive('read') - ->zeroOrMoreTimes() - ->andReturn(false); - - $this->encoder->encodeByteStream($os, $is); - $this->assertEquals( - "YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXphYmMxMjM0NTY3ODkwQUJDREVGR0hJSktMTU5PUFFS\r\n". - 'U1RVVldYWVoxMjM0NTY3YWJjZGVmZ2hpamts', - $collection->content - ); - } - - public function testMaximumLineLengthCanBeDifferent() - { - $os = $this->createOutputByteStream(); - $is = $this->createInputByteStream(); - $collection = new Swift_StreamCollector(); - - $is->shouldReceive('write') - ->zeroOrMoreTimes() - ->andReturnUsing($collection); - $os->shouldReceive('read') - ->once() - ->andReturn('abcdefghijkl'); //12 - $os->shouldReceive('read') - ->once() - ->andReturn('mnopqrstuvwx'); //24 - $os->shouldReceive('read') - ->once() - ->andReturn('yzabc1234567'); //36 - $os->shouldReceive('read') - ->once() - ->andReturn('890ABCDEFGHI'); //48 - $os->shouldReceive('read') - ->once() - ->andReturn('JKLMNOPQRSTU'); //60 - $os->shouldReceive('read') - ->once() - ->andReturn('VWXYZ1234567'); //72 - $os->shouldReceive('read') - ->once() - ->andReturn('abcdefghijkl'); //84 - $os->shouldReceive('read') - ->zeroOrMoreTimes() - ->andReturn(false); - - $this->encoder->encodeByteStream($os, $is, 0, 50); - $this->assertEquals( - "YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXphYmMxMjM0NTY3OD\r\n". - "kwQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVoxMjM0NTY3YWJj\r\n". - 'ZGVmZ2hpamts', - $collection->content - ); - } - - public function testMaximumLineLengthIsNeverMoreThan76Chars() - { - $os = $this->createOutputByteStream(); - $is = $this->createInputByteStream(); - $collection = new Swift_StreamCollector(); - - $is->shouldReceive('write') - ->zeroOrMoreTimes() - ->andReturnUsing($collection); - $os->shouldReceive('read') - ->once() - ->andReturn('abcdefghijkl'); //12 - $os->shouldReceive('read') - ->once() - ->andReturn('mnopqrstuvwx'); //24 - $os->shouldReceive('read') - ->once() - ->andReturn('yzabc1234567'); //36 - $os->shouldReceive('read') - ->once() - ->andReturn('890ABCDEFGHI'); //48 - $os->shouldReceive('read') - ->once() - ->andReturn('JKLMNOPQRSTU'); //60 - $os->shouldReceive('read') - ->once() - ->andReturn('VWXYZ1234567'); //72 - $os->shouldReceive('read') - ->once() - ->andReturn('abcdefghijkl'); //84 - $os->shouldReceive('read') - ->zeroOrMoreTimes() - ->andReturn(false); - - $this->encoder->encodeByteStream($os, $is, 0, 100); - $this->assertEquals( - "YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXphYmMxMjM0NTY3ODkwQUJDREVGR0hJSktMTU5PUFFS\r\n". - 'U1RVVldYWVoxMjM0NTY3YWJjZGVmZ2hpamts', - $collection->content - ); - } - - public function testFirstLineLengthCanBeDifferent() - { - $os = $this->createOutputByteStream(); - $is = $this->createInputByteStream(); - $collection = new Swift_StreamCollector(); - - $is->shouldReceive('write') - ->zeroOrMoreTimes() - ->andReturnUsing($collection); - $os->shouldReceive('read') - ->once() - ->andReturn('abcdefghijkl'); //12 - $os->shouldReceive('read') - ->once() - ->andReturn('mnopqrstuvwx'); //24 - $os->shouldReceive('read') - ->once() - ->andReturn('yzabc1234567'); //36 - $os->shouldReceive('read') - ->once() - ->andReturn('890ABCDEFGHI'); //48 - $os->shouldReceive('read') - ->once() - ->andReturn('JKLMNOPQRSTU'); //60 - $os->shouldReceive('read') - ->once() - ->andReturn('VWXYZ1234567'); //72 - $os->shouldReceive('read') - ->once() - ->andReturn('abcdefghijkl'); //84 - $os->shouldReceive('read') - ->zeroOrMoreTimes() - ->andReturn(false); - - $this->encoder->encodeByteStream($os, $is, 19); - $this->assertEquals( - "YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXphYmMxMjM0NTY3ODkwQUJDR\r\n". - 'EVGR0hJSktMTU5PUFFSU1RVVldYWVoxMjM0NTY3YWJjZGVmZ2hpamts', - $collection->content - ); - } - - private function createOutputByteStream($stub = false) - { - return $this->getMockery('Swift_OutputByteStream')->shouldIgnoreMissing(); - } - - private function createInputByteStream($stub = false) - { - return $this->getMockery('Swift_InputByteStream')->shouldIgnoreMissing(); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/ContentEncoder/PlainContentEncoderTest.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/ContentEncoder/PlainContentEncoderTest.php deleted file mode 100644 index 270d02c..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/ContentEncoder/PlainContentEncoderTest.php +++ /dev/null @@ -1,171 +0,0 @@ -getEncoder('7bit'); - $this->assertEquals('7bit', $encoder->getName()); - - $encoder = $this->getEncoder('8bit'); - $this->assertEquals('8bit', $encoder->getName()); - } - - public function testNoOctetsAreModifiedInString() - { - $encoder = $this->getEncoder('7bit'); - foreach (range(0x00, 0xFF) as $octet) { - $byte = pack('C', $octet); - $this->assertIdenticalBinary($byte, $encoder->encodeString($byte)); - } - } - - public function testNoOctetsAreModifiedInByteStream() - { - $encoder = $this->getEncoder('7bit'); - foreach (range(0x00, 0xFF) as $octet) { - $byte = pack('C', $octet); - - $os = $this->createOutputByteStream(); - $is = $this->createInputByteStream(); - $collection = new Swift_StreamCollector(); - - $is->shouldReceive('write') - ->zeroOrMoreTimes() - ->andReturnUsing($collection); - $os->shouldReceive('read') - ->once() - ->andReturn($byte); - $os->shouldReceive('read') - ->zeroOrMoreTimes() - ->andReturn(false); - - $encoder->encodeByteStream($os, $is); - $this->assertIdenticalBinary($byte, $collection->content); - } - } - - public function testLineLengthCanBeSpecified() - { - $encoder = $this->getEncoder('7bit'); - - $chars = []; - for ($i = 0; $i < 50; ++$i) { - $chars[] = 'a'; - } - $input = implode(' ', $chars); //99 chars long - - $this->assertEquals( - 'a a a a a a a a a a a a a a a a a a a a a a a a a '."\r\n".//50 * - 'a a a a a a a a a a a a a a a a a a a a a a a a a', //99 - $encoder->encodeString($input, 0, 50), - '%s: Lines should be wrapped at 50 chars' - ); - } - - public function testLineLengthCanBeSpecifiedInByteStream() - { - $encoder = $this->getEncoder('7bit'); - - $os = $this->createOutputByteStream(); - $is = $this->createInputByteStream(); - $collection = new Swift_StreamCollector(); - - $is->shouldReceive('write') - ->zeroOrMoreTimes() - ->andReturnUsing($collection); - - for ($i = 0; $i < 50; ++$i) { - $os->shouldReceive('read') - ->once() - ->andReturn('a '); - } - - $os->shouldReceive('read') - ->zeroOrMoreTimes() - ->andReturn(false); - - $encoder->encodeByteStream($os, $is, 0, 50); - $this->assertEquals( - str_repeat('a ', 25)."\r\n".str_repeat('a ', 25), - $collection->content - ); - } - - public function testencodeStringGeneratesCorrectCrlf() - { - $encoder = $this->getEncoder('7bit', true); - $this->assertEquals("a\r\nb", $encoder->encodeString("a\rb"), - '%s: Line endings should be standardized' - ); - $this->assertEquals("a\r\nb", $encoder->encodeString("a\nb"), - '%s: Line endings should be standardized' - ); - $this->assertEquals("a\r\n\r\nb", $encoder->encodeString("a\n\rb"), - '%s: Line endings should be standardized' - ); - $this->assertEquals("a\r\n\r\nb", $encoder->encodeString("a\r\rb"), - '%s: Line endings should be standardized' - ); - $this->assertEquals("a\r\n\r\nb", $encoder->encodeString("a\n\nb"), - '%s: Line endings should be standardized' - ); - } - - public function crlfProvider() - { - return [ - ["\r", "a\r\nb"], - ["\n", "a\r\nb"], - ["\n\r", "a\r\n\r\nb"], - ["\n\n", "a\r\n\r\nb"], - ["\r\r", "a\r\n\r\nb"], - ]; - } - - /** - * @dataProvider crlfProvider - */ - public function testCanonicEncodeByteStreamGeneratesCorrectCrlf($test, $expected) - { - $encoder = $this->getEncoder('7bit', true); - - $os = $this->createOutputByteStream(); - $is = $this->createInputByteStream(); - $collection = new Swift_StreamCollector(); - - $is->shouldReceive('write') - ->zeroOrMoreTimes() - ->andReturnUsing($collection); - $os->shouldReceive('read') - ->once() - ->andReturn('a'); - $os->shouldReceive('read') - ->once() - ->andReturn($test); - $os->shouldReceive('read') - ->once() - ->andReturn('b'); - $os->shouldReceive('read') - ->zeroOrMoreTimes() - ->andReturn(false); - - $encoder->encodeByteStream($os, $is); - $this->assertEquals($expected, $collection->content); - } - - private function getEncoder($name, $canonical = false) - { - return new Swift_Mime_ContentEncoder_PlainContentEncoder($name, $canonical); - } - - private function createOutputByteStream($stub = false) - { - return $this->getMockery('Swift_OutputByteStream')->shouldIgnoreMissing(); - } - - private function createInputByteStream($stub = false) - { - return $this->getMockery('Swift_InputByteStream')->shouldIgnoreMissing(); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/ContentEncoder/QpContentEncoderTest.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/ContentEncoder/QpContentEncoderTest.php deleted file mode 100644 index 4e050a1..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/ContentEncoder/QpContentEncoderTest.php +++ /dev/null @@ -1,516 +0,0 @@ -createCharacterStream(true) - ); - $this->assertEquals('quoted-printable', $encoder->getName()); - } - - /* -- RFC 2045, 6.7 -- - (1) (General 8bit representation) Any octet, except a CR or - LF that is part of a CRLF line break of the canonical - (standard) form of the data being encoded, may be - represented by an "=" followed by a two digit - hexadecimal representation of the octet's value. The - digits of the hexadecimal alphabet, for this purpose, - are "0123456789ABCDEF". Uppercase letters must be - used; lowercase letters are not allowed. Thus, for - example, the decimal value 12 (US-ASCII form feed) can - be represented by "=0C", and the decimal value 61 (US- - ASCII EQUAL SIGN) can be represented by "=3D". This - rule must be followed except when the following rules - allow an alternative encoding. - */ - - public function testPermittedCharactersAreNotEncoded() - { - /* -- RFC 2045, 6.7 -- - (2) (Literal representation) Octets with decimal values of - 33 through 60 inclusive, and 62 through 126, inclusive, - MAY be represented as the US-ASCII characters which - correspond to those octets (EXCLAMATION POINT through - LESS THAN, and GREATER THAN through TILDE, - respectively). - */ - - foreach (array_merge(range(33, 60), range(62, 126)) as $ordinal) { - $char = chr($ordinal); - - $os = $this->createOutputByteStream(true); - $charStream = $this->createCharacterStream(); - $is = $this->createInputByteStream(); - $collection = new Swift_StreamCollector(); - - $is->shouldReceive('write') - ->zeroOrMoreTimes() - ->andReturnUsing($collection); - $charStream->shouldReceive('flushContents') - ->once(); - $charStream->shouldReceive('importByteStream') - ->once() - ->with($os); - $charStream->shouldReceive('readBytes') - ->once() - ->andReturn([$ordinal]); - $charStream->shouldReceive('readBytes') - ->zeroOrMoreTimes() - ->andReturn(false); - - $encoder = new Swift_Mime_ContentEncoder_QpContentEncoder($charStream); - $encoder->encodeByteStream($os, $is); - $this->assertIdenticalBinary($char, $collection->content); - } - } - - public function testLinearWhiteSpaceAtLineEndingIsEncoded() - { - /* -- RFC 2045, 6.7 -- - (3) (White Space) Octets with values of 9 and 32 MAY be - represented as US-ASCII TAB (HT) and SPACE characters, - respectively, but MUST NOT be so represented at the end - of an encoded line. Any TAB (HT) or SPACE characters - on an encoded line MUST thus be followed on that line - by a printable character. In particular, an "=" at the - end of an encoded line, indicating a soft line break - (see rule #5) may follow one or more TAB (HT) or SPACE - characters. It follows that an octet with decimal - value 9 or 32 appearing at the end of an encoded line - must be represented according to Rule #1. This rule is - necessary because some MTAs (Message Transport Agents, - programs which transport messages from one user to - another, or perform a portion of such transfers) are - known to pad lines of text with SPACEs, and others are - known to remove "white space" characters from the end - of a line. Therefore, when decoding a Quoted-Printable - body, any trailing white space on a line must be - deleted, as it will necessarily have been added by - intermediate transport agents. - */ - - $HT = chr(0x09); //9 - $SPACE = chr(0x20); //32 - - //HT - $os = $this->createOutputByteStream(true); - $charStream = $this->createCharacterStream(); - $is = $this->createInputByteStream(); - $collection = new Swift_StreamCollector(); - - $is->shouldReceive('write') - ->zeroOrMoreTimes() - ->andReturnUsing($collection); - $charStream->shouldReceive('flushContents') - ->once(); - $charStream->shouldReceive('importByteStream') - ->once() - ->with($os); - $charStream->shouldReceive('readBytes') - ->once() - ->andReturn([ord('a')]); - $charStream->shouldReceive('readBytes') - ->once() - ->andReturn([0x09]); - $charStream->shouldReceive('readBytes') - ->once() - ->andReturn([0x09]); - $charStream->shouldReceive('readBytes') - ->once() - ->andReturn([0x0D]); - $charStream->shouldReceive('readBytes') - ->once() - ->andReturn([0x0A]); - $charStream->shouldReceive('readBytes') - ->once() - ->andReturn([ord('b')]); - $charStream->shouldReceive('readBytes') - ->zeroOrMoreTimes() - ->andReturn(false); - - $encoder = new Swift_Mime_ContentEncoder_QpContentEncoder($charStream); - $encoder->encodeByteStream($os, $is); - - $this->assertEquals("a\t=09\r\nb", $collection->content); - - //SPACE - $os = $this->createOutputByteStream(true); - $charStream = $this->createCharacterStream(); - $is = $this->createInputByteStream(); - $collection = new Swift_StreamCollector(); - - $is->shouldReceive('write') - ->zeroOrMoreTimes() - ->andReturnUsing($collection); - $charStream->shouldReceive('flushContents') - ->once(); - $charStream->shouldReceive('importByteStream') - ->once() - ->with($os); - $charStream->shouldReceive('readBytes') - ->once() - ->andReturn([ord('a')]); - $charStream->shouldReceive('readBytes') - ->once() - ->andReturn([0x20]); - $charStream->shouldReceive('readBytes') - ->once() - ->andReturn([0x20]); - $charStream->shouldReceive('readBytes') - ->once() - ->andReturn([0x0D]); - $charStream->shouldReceive('readBytes') - ->once() - ->andReturn([0x0A]); - $charStream->shouldReceive('readBytes') - ->once() - ->andReturn([ord('b')]); - $charStream->shouldReceive('readBytes') - ->zeroOrMoreTimes() - ->andReturn(false); - - $encoder = new Swift_Mime_ContentEncoder_QpContentEncoder($charStream); - $encoder->encodeByteStream($os, $is); - - $this->assertEquals("a =20\r\nb", $collection->content); - } - - public function testCRLFIsLeftAlone() - { - /* - (4) (Line Breaks) A line break in a text body, represented - as a CRLF sequence in the text canonical form, must be - represented by a (RFC 822) line break, which is also a - CRLF sequence, in the Quoted-Printable encoding. Since - the canonical representation of media types other than - text do not generally include the representation of - line breaks as CRLF sequences, no hard line breaks - (i.e. line breaks that are intended to be meaningful - and to be displayed to the user) can occur in the - quoted-printable encoding of such types. Sequences - like "=0D", "=0A", "=0A=0D" and "=0D=0A" will routinely - appear in non-text data represented in quoted- - printable, of course. - - Note that many implementations may elect to encode the - local representation of various content types directly - rather than converting to canonical form first, - encoding, and then converting back to local - representation. In particular, this may apply to plain - text material on systems that use newline conventions - other than a CRLF terminator sequence. Such an - implementation optimization is permissible, but only - when the combined canonicalization-encoding step is - equivalent to performing the three steps separately. - */ - - $os = $this->createOutputByteStream(true); - $charStream = $this->createCharacterStream(); - $is = $this->createInputByteStream(); - $collection = new Swift_StreamCollector(); - - $is->shouldReceive('write') - ->zeroOrMoreTimes() - ->andReturnUsing($collection); - $charStream->shouldReceive('flushContents') - ->once(); - $charStream->shouldReceive('importByteStream') - ->once() - ->with($os); - $charStream->shouldReceive('readBytes') - ->once() - ->andReturn([ord('a')]); - $charStream->shouldReceive('readBytes') - ->once() - ->andReturn([0x0D]); - $charStream->shouldReceive('readBytes') - ->once() - ->andReturn([0x0A]); - $charStream->shouldReceive('readBytes') - ->once() - ->andReturn([ord('b')]); - $charStream->shouldReceive('readBytes') - ->once() - ->andReturn([0x0D]); - $charStream->shouldReceive('readBytes') - ->once() - ->andReturn([0x0A]); - $charStream->shouldReceive('readBytes') - ->once() - ->andReturn([ord('c')]); - $charStream->shouldReceive('readBytes') - ->once() - ->andReturn([0x0D]); - $charStream->shouldReceive('readBytes') - ->once() - ->andReturn([0x0A]); - $charStream->shouldReceive('readBytes') - ->zeroOrMoreTimes() - ->andReturn(false); - - $encoder = new Swift_Mime_ContentEncoder_QpContentEncoder($charStream); - $encoder->encodeByteStream($os, $is); - $this->assertEquals("a\r\nb\r\nc\r\n", $collection->content); - } - - public function testLinesLongerThan76CharactersAreSoftBroken() - { - /* - (5) (Soft Line Breaks) The Quoted-Printable encoding - REQUIRES that encoded lines be no more than 76 - characters long. If longer lines are to be encoded - with the Quoted-Printable encoding, "soft" line breaks - must be used. An equal sign as the last character on a - encoded line indicates such a non-significant ("soft") - line break in the encoded text. - */ - - $os = $this->createOutputByteStream(true); - $charStream = $this->createCharacterStream(); - $is = $this->createInputByteStream(); - $collection = new Swift_StreamCollector(); - - $is->shouldReceive('write') - ->zeroOrMoreTimes() - ->andReturnUsing($collection); - $charStream->shouldReceive('flushContents') - ->once(); - $charStream->shouldReceive('importByteStream') - ->once() - ->with($os); - - for ($seq = 0; $seq <= 140; ++$seq) { - $charStream->shouldReceive('readBytes') - ->once() - ->andReturn([ord('a')]); - } - $charStream->shouldReceive('readBytes') - ->zeroOrMoreTimes() - ->andReturn(false); - - $encoder = new Swift_Mime_ContentEncoder_QpContentEncoder($charStream); - $encoder->encodeByteStream($os, $is); - $this->assertEquals(str_repeat('a', 75)."=\r\n".str_repeat('a', 66), $collection->content); - } - - public function testMaxLineLengthCanBeSpecified() - { - $os = $this->createOutputByteStream(true); - $charStream = $this->createCharacterStream(); - $is = $this->createInputByteStream(); - $collection = new Swift_StreamCollector(); - - $is->shouldReceive('write') - ->zeroOrMoreTimes() - ->andReturnUsing($collection); - $charStream->shouldReceive('flushContents') - ->once(); - $charStream->shouldReceive('importByteStream') - ->once() - ->with($os); - - for ($seq = 0; $seq <= 100; ++$seq) { - $charStream->shouldReceive('readBytes') - ->once() - ->andReturn([ord('a')]); - } - $charStream->shouldReceive('readBytes') - ->zeroOrMoreTimes() - ->andReturn(false); - - $encoder = new Swift_Mime_ContentEncoder_QpContentEncoder($charStream); - $encoder->encodeByteStream($os, $is, 0, 54); - $this->assertEquals(str_repeat('a', 53)."=\r\n".str_repeat('a', 48), $collection->content); - } - - public function testBytesBelowPermittedRangeAreEncoded() - { - /* - According to Rule (1 & 2) - */ - - foreach (range(0, 32) as $ordinal) { - $char = chr($ordinal); - - $os = $this->createOutputByteStream(true); - $charStream = $this->createCharacterStream(); - $is = $this->createInputByteStream(); - $collection = new Swift_StreamCollector(); - - $is->shouldReceive('write') - ->zeroOrMoreTimes() - ->andReturnUsing($collection); - $charStream->shouldReceive('flushContents') - ->once(); - $charStream->shouldReceive('importByteStream') - ->once() - ->with($os); - $charStream->shouldReceive('readBytes') - ->once() - ->andReturn([$ordinal]); - $charStream->shouldReceive('readBytes') - ->zeroOrMoreTimes() - ->andReturn(false); - - $encoder = new Swift_Mime_ContentEncoder_QpContentEncoder($charStream); - $encoder->encodeByteStream($os, $is); - $this->assertEquals(sprintf('=%02X', $ordinal), $collection->content); - } - } - - public function testDecimalByte61IsEncoded() - { - /* - According to Rule (1 & 2) - */ - - $char = chr(61); - - $os = $this->createOutputByteStream(true); - $charStream = $this->createCharacterStream(); - $is = $this->createInputByteStream(); - $collection = new Swift_StreamCollector(); - - $is->shouldReceive('write') - ->zeroOrMoreTimes() - ->andReturnUsing($collection); - $charStream->shouldReceive('flushContents') - ->once(); - $charStream->shouldReceive('importByteStream') - ->once() - ->with($os); - $charStream->shouldReceive('readBytes') - ->once() - ->andReturn([61]); - $charStream->shouldReceive('readBytes') - ->zeroOrMoreTimes() - ->andReturn(false); - - $encoder = new Swift_Mime_ContentEncoder_QpContentEncoder($charStream); - $encoder->encodeByteStream($os, $is); - $this->assertEquals(sprintf('=%02X', 61), $collection->content); - } - - public function testBytesAbovePermittedRangeAreEncoded() - { - /* - According to Rule (1 & 2) - */ - - foreach (range(127, 255) as $ordinal) { - $char = chr($ordinal); - - $os = $this->createOutputByteStream(true); - $charStream = $this->createCharacterStream(); - $is = $this->createInputByteStream(); - $collection = new Swift_StreamCollector(); - - $is->shouldReceive('write') - ->zeroOrMoreTimes() - ->andReturnUsing($collection); - $charStream->shouldReceive('flushContents') - ->once(); - $charStream->shouldReceive('importByteStream') - ->once() - ->with($os); - $charStream->shouldReceive('readBytes') - ->once() - ->andReturn([$ordinal]); - $charStream->shouldReceive('readBytes') - ->zeroOrMoreTimes() - ->andReturn(false); - - $encoder = new Swift_Mime_ContentEncoder_QpContentEncoder($charStream); - $encoder->encodeByteStream($os, $is); - $this->assertEquals(sprintf('=%02X', $ordinal), $collection->content); - } - } - - public function testFirstLineLengthCanBeDifferent() - { - $os = $this->createOutputByteStream(true); - $charStream = $this->createCharacterStream(); - $is = $this->createInputByteStream(); - $collection = new Swift_StreamCollector(); - - $is->shouldReceive('write') - ->zeroOrMoreTimes() - ->andReturnUsing($collection); - $charStream->shouldReceive('flushContents') - ->once(); - $charStream->shouldReceive('importByteStream') - ->once() - ->with($os); - - for ($seq = 0; $seq <= 140; ++$seq) { - $charStream->shouldReceive('readBytes') - ->once() - ->andReturn([ord('a')]); - } - $charStream->shouldReceive('readBytes') - ->zeroOrMoreTimes() - ->andReturn(false); - - $encoder = new Swift_Mime_ContentEncoder_QpContentEncoder($charStream); - $encoder->encodeByteStream($os, $is, 22); - $this->assertEquals( - str_repeat('a', 53)."=\r\n".str_repeat('a', 75)."=\r\n".str_repeat('a', 13), - $collection->content - ); - } - - public function testObserverInterfaceCanChangeCharset() - { - $stream = $this->createCharacterStream(); - $stream->shouldReceive('setCharacterSet') - ->once() - ->with('windows-1252'); - - $encoder = new Swift_Mime_ContentEncoder_QpContentEncoder($stream); - $encoder->charsetChanged('windows-1252'); - } - - public function testTextIsPreWrapped() - { - $encoder = $this->createEncoder(); - - $input = str_repeat('a', 70)."\r\n". - str_repeat('a', 70)."\r\n". - str_repeat('a', 70); - - $os = new Swift_ByteStream_ArrayByteStream(); - $is = new Swift_ByteStream_ArrayByteStream(); - $is->write($input); - - $encoder->encodeByteStream($is, $os); - - $this->assertEquals( - $input, $os->read(PHP_INT_MAX) - ); - } - - private function createCharacterStream($stub = false) - { - return $this->getMockery('Swift_CharacterStream')->shouldIgnoreMissing(); - } - - private function createEncoder() - { - $factory = new Swift_CharacterReaderFactory_SimpleCharacterReaderFactory(); - $charStream = new Swift_CharacterStream_NgCharacterStream($factory, 'utf-8'); - - return new Swift_Mime_ContentEncoder_QpContentEncoder($charStream); - } - - private function createOutputByteStream($stub = false) - { - return $this->getMockery('Swift_OutputByteStream')->shouldIgnoreMissing(); - } - - private function createInputByteStream($stub = false) - { - return $this->getMockery('Swift_InputByteStream')->shouldIgnoreMissing(); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/EmbeddedFileTest.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/EmbeddedFileTest.php deleted file mode 100644 index 74f2acc..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/EmbeddedFileTest.php +++ /dev/null @@ -1,59 +0,0 @@ -addToAssertionCount(1); - } - - public function testNestingLevelIsEmbedded() - { - $file = $this->createEmbeddedFile($this->createHeaderSet(), - $this->createEncoder(), $this->createCache() - ); - $this->assertEquals( - Swift_Mime_SimpleMimeEntity::LEVEL_RELATED, $file->getNestingLevel() - ); - } - - public function testIdIsAutoGenerated() - { - $headers = $this->createHeaderSet([], false); - $headers->shouldReceive('addIdHeader') - ->once() - ->with('Content-ID', '/^.*?@.*?$/D'); - - $file = $this->createEmbeddedFile($headers, $this->createEncoder(), - $this->createCache() - ); - } - - public function testDefaultDispositionIsInline() - { - $headers = $this->createHeaderSet([], false); - $headers->shouldReceive('addParameterizedHeader') - ->once() - ->with('Content-Disposition', 'inline'); - $headers->shouldReceive('addParameterizedHeader') - ->zeroOrMoreTimes(); - - $file = $this->createEmbeddedFile($headers, $this->createEncoder(), - $this->createCache() - ); - } - - protected function createAttachment($headers, $encoder, $cache, $mimeTypes = []) - { - return $this->createEmbeddedFile($headers, $encoder, $cache, $mimeTypes); - } - - private function createEmbeddedFile($headers, $encoder, $cache) - { - $idGenerator = new Swift_Mime_IdGenerator('example.com'); - - return new Swift_Mime_EmbeddedFile($headers, $encoder, $cache, $idGenerator); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/HeaderEncoder/Base64HeaderEncoderTest.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/HeaderEncoder/Base64HeaderEncoderTest.php deleted file mode 100644 index 0db5407..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/HeaderEncoder/Base64HeaderEncoderTest.php +++ /dev/null @@ -1,13 +0,0 @@ -assertEquals('B', $encoder->getName()); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/HeaderEncoder/QpHeaderEncoderTest.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/HeaderEncoder/QpHeaderEncoderTest.php deleted file mode 100644 index 1b42300..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/HeaderEncoder/QpHeaderEncoderTest.php +++ /dev/null @@ -1,221 +0,0 @@ -createEncoder( - $this->createCharacterStream(true) - ); - $this->assertEquals('Q', $encoder->getName()); - } - - public function testSpaceAndTabNeverAppear() - { - /* -- RFC 2047, 4. - Only a subset of the printable ASCII characters may be used in - 'encoded-text'. Space and tab characters are not allowed, so that - the beginning and end of an 'encoded-word' are obvious. - */ - - $charStream = $this->createCharacterStream(); - $charStream->shouldReceive('readBytes') - ->atLeast()->times(6) - ->andReturn([ord('a')], [0x20], [0x09], [0x20], [ord('b')], false); - - $encoder = $this->createEncoder($charStream); - $this->assertNotRegExp('~[ \t]~', $encoder->encodeString("a \t b"), - '%s: encoded-words in headers cannot contain LWSP as per RFC 2047.' - ); - } - - public function testSpaceIsRepresentedByUnderscore() - { - /* -- RFC 2047, 4.2. - (2) The 8-bit hexadecimal value 20 (e.g., ISO-8859-1 SPACE) may be - represented as "_" (underscore, ASCII 95.). (This character may - not pass through some internetwork mail gateways, but its use - will greatly enhance readability of "Q" encoded data with mail - readers that do not support this encoding.) Note that the "_" - always represents hexadecimal 20, even if the SPACE character - occupies a different code position in the character set in use. - */ - $charStream = $this->createCharacterStream(); - $charStream->shouldReceive('readBytes') - ->once() - ->andReturn([ord('a')]); - $charStream->shouldReceive('readBytes') - ->once() - ->andReturn([0x20]); - $charStream->shouldReceive('readBytes') - ->once() - ->andReturn([ord('b')]); - $charStream->shouldReceive('readBytes') - ->zeroOrMoreTimes() - ->andReturn(false); - - $encoder = $this->createEncoder($charStream); - $this->assertEquals('a_b', $encoder->encodeString('a b'), - '%s: Spaces can be represented by more readable underscores as per RFC 2047.' - ); - } - - public function testEqualsAndQuestionAndUnderscoreAreEncoded() - { - /* -- RFC 2047, 4.2. - (3) 8-bit values which correspond to printable ASCII characters other - than "=", "?", and "_" (underscore), MAY be represented as those - characters. (But see section 5 for restrictions.) In - particular, SPACE and TAB MUST NOT be represented as themselves - within encoded words. - */ - $charStream = $this->createCharacterStream(); - $charStream->shouldReceive('readBytes') - ->once() - ->andReturn([ord('=')]); - $charStream->shouldReceive('readBytes') - ->once() - ->andReturn([ord('?')]); - $charStream->shouldReceive('readBytes') - ->once() - ->andReturn([ord('_')]); - $charStream->shouldReceive('readBytes') - ->zeroOrMoreTimes() - ->andReturn(false); - - $encoder = $this->createEncoder($charStream); - $this->assertEquals('=3D=3F=5F', $encoder->encodeString('=?_'), - '%s: Chars =, ? and _ (underscore) may not appear as per RFC 2047.' - ); - } - - public function testParensAndQuotesAreEncoded() - { - /* -- RFC 2047, 5 (2). - A "Q"-encoded 'encoded-word' which appears in a 'comment' MUST NOT - contain the characters "(", ")" or " - */ - - $charStream = $this->createCharacterStream(); - $charStream->shouldReceive('readBytes') - ->once() - ->andReturn([ord('(')]); - $charStream->shouldReceive('readBytes') - ->once() - ->andReturn([ord('"')]); - $charStream->shouldReceive('readBytes') - ->once() - ->andReturn([ord(')')]); - $charStream->shouldReceive('readBytes') - ->zeroOrMoreTimes() - ->andReturn(false); - - $encoder = $this->createEncoder($charStream); - $this->assertEquals('=28=22=29', $encoder->encodeString('(")'), - '%s: Chars (, " (DQUOTE) and ) may not appear as per RFC 2047.' - ); - } - - public function testOnlyCharactersAllowedInPhrasesAreUsed() - { - /* -- RFC 2047, 5. - (3) As a replacement for a 'word' entity within a 'phrase', for example, - one that precedes an address in a From, To, or Cc header. The ABNF - definition for 'phrase' from RFC 822 thus becomes: - - phrase = 1*( encoded-word / word ) - - In this case the set of characters that may be used in a "Q"-encoded - 'encoded-word' is restricted to: . An 'encoded-word' that appears within a - 'phrase' MUST be separated from any adjacent 'word', 'text' or - 'special' by 'linear-white-space'. - */ - - $allowedBytes = array_merge( - range(ord('a'), ord('z')), range(ord('A'), ord('Z')), - range(ord('0'), ord('9')), - [ord('!'), ord('*'), ord('+'), ord('-'), ord('/')] - ); - - foreach (range(0x00, 0xFF) as $byte) { - $char = pack('C', $byte); - - $charStream = $this->createCharacterStream(); - $charStream->shouldReceive('readBytes') - ->once() - ->andReturn([$byte]); - $charStream->shouldReceive('readBytes') - ->zeroOrMoreTimes() - ->andReturn(false); - - $encoder = $this->createEncoder($charStream); - $encodedChar = $encoder->encodeString($char); - - if (in_array($byte, $allowedBytes)) { - $this->assertEquals($char, $encodedChar, - '%s: Character '.$char.' should not be encoded.' - ); - } elseif (0x20 == $byte) { - //Special case - $this->assertEquals('_', $encodedChar, - '%s: Space character should be replaced.' - ); - } else { - $this->assertEquals(sprintf('=%02X', $byte), $encodedChar, - '%s: Byte '.$byte.' should be encoded.' - ); - } - } - } - - public function testEqualsNeverAppearsAtEndOfLine() - { - /* -- RFC 2047, 5 (3). - The 'encoded-text' in an 'encoded-word' must be self-contained; - 'encoded-text' MUST NOT be continued from one 'encoded-word' to - another. This implies that the 'encoded-text' portion of a "B" - 'encoded-word' will be a multiple of 4 characters long; for a "Q" - 'encoded-word', any "=" character that appears in the 'encoded-text' - portion will be followed by two hexadecimal characters. - */ - - $input = str_repeat('a', 140); - - $charStream = $this->createCharacterStream(); - - $output = ''; - $seq = 0; - for (; $seq < 140; ++$seq) { - $charStream->shouldReceive('readBytes') - ->once() - ->andReturn([ord('a')]); - - if (75 == $seq) { - $output .= "\r\n"; // =\r\n - } - $output .= 'a'; - } - - $charStream->shouldReceive('readBytes') - ->zeroOrMoreTimes() - ->andReturn(false); - - $encoder = $this->createEncoder($charStream); - $this->assertEquals($output, $encoder->encodeString($input)); - } - - private function createEncoder($charStream) - { - return new Swift_Mime_HeaderEncoder_QpHeaderEncoder($charStream); - } - - private function createCharacterStream($stub = false) - { - return $this->getMockery('Swift_CharacterStream')->shouldIgnoreMissing(); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/Headers/DateHeaderTest.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/Headers/DateHeaderTest.php deleted file mode 100644 index e419306..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/Headers/DateHeaderTest.php +++ /dev/null @@ -1,90 +0,0 @@ -getHeader('Date'); - $this->assertEquals(Swift_Mime_Header::TYPE_DATE, $header->getFieldType()); - } - - public function testGetDateTime() - { - $dateTime = new DateTimeImmutable(); - $header = $this->getHeader('Date'); - $header->setDateTime($dateTime); - $this->assertSame($dateTime, $header->getDateTime()); - } - - public function testDateTimeCanBeSetBySetter() - { - $dateTime = new DateTimeImmutable(); - $header = $this->getHeader('Date'); - $header->setDateTime($dateTime); - $this->assertSame($dateTime, $header->getDateTime()); - } - - public function testDateTimeIsConvertedToImmutable() - { - $dateTime = new DateTime(); - $header = $this->getHeader('Date'); - $header->setDateTime($dateTime); - $this->assertInstanceOf('DateTimeImmutable', $header->getDateTime()); - $this->assertEquals($dateTime->getTimestamp(), $header->getDateTime()->getTimestamp()); - $this->assertEquals($dateTime->getTimezone(), $header->getDateTime()->getTimezone()); - } - - public function testDateTimeIsImmutable() - { - $dateTime = new DateTime('2000-01-01 12:00:00 Europe/Berlin'); - $header = $this->getHeader('Date'); - $header->setDateTime($dateTime); - - $dateTime->setDate(2002, 2, 2); - $this->assertEquals('Sat, 01 Jan 2000 12:00:00 +0100', $header->getDateTime()->format('r')); - $this->assertEquals('Sat, 01 Jan 2000 12:00:00 +0100', $header->getFieldBody()); - } - - public function testDateTimeIsConvertedToRfc2822Date() - { - $dateTime = new DateTimeImmutable('2000-01-01 12:00:00 Europe/Berlin'); - $header = $this->getHeader('Date'); - $header->setDateTime($dateTime); - $this->assertEquals('Sat, 01 Jan 2000 12:00:00 +0100', $header->getFieldBody()); - } - - public function testSetBodyModel() - { - $dateTime = new DateTimeImmutable(); - $header = $this->getHeader('Date'); - $header->setFieldBodyModel($dateTime); - $this->assertEquals($dateTime->format('r'), $header->getFieldBody()); - } - - public function testGetBodyModel() - { - $dateTime = new DateTimeImmutable(); - $header = $this->getHeader('Date'); - $header->setDateTime($dateTime); - $this->assertEquals($dateTime, $header->getFieldBodyModel()); - } - - public function testToString() - { - $dateTime = new DateTimeImmutable('2000-01-01 12:00:00 Europe/Berlin'); - $header = $this->getHeader('Date'); - $header->setDateTime($dateTime); - $this->assertEquals("Date: Sat, 01 Jan 2000 12:00:00 +0100\r\n", - $header->toString() - ); - } - - private function getHeader($name) - { - return new Swift_Mime_Headers_DateHeader($name); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/Headers/IdentificationHeaderTest.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/Headers/IdentificationHeaderTest.php deleted file mode 100644 index 0d2edb7..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/Headers/IdentificationHeaderTest.php +++ /dev/null @@ -1,192 +0,0 @@ -getHeader('Message-ID'); - $this->assertEquals(Swift_Mime_Header::TYPE_ID, $header->getFieldType()); - } - - public function testValueMatchesMsgIdSpec() - { - /* -- RFC 2822, 3.6.4. - message-id = "Message-ID:" msg-id CRLF - - in-reply-to = "In-Reply-To:" 1*msg-id CRLF - - references = "References:" 1*msg-id CRLF - - msg-id = [CFWS] "<" id-left "@" id-right ">" [CFWS] - - id-left = dot-atom-text / no-fold-quote / obs-id-left - - id-right = dot-atom-text / no-fold-literal / obs-id-right - - no-fold-quote = DQUOTE *(qtext / quoted-pair) DQUOTE - - no-fold-literal = "[" *(dtext / quoted-pair) "]" - */ - - $header = $this->getHeader('Message-ID'); - $header->setId('id-left@id-right'); - $this->assertEquals('', $header->getFieldBody()); - } - - public function testIdCanBeRetrievedVerbatim() - { - $header = $this->getHeader('Message-ID'); - $header->setId('id-left@id-right'); - $this->assertEquals('id-left@id-right', $header->getId()); - } - - public function testMultipleIdsCanBeSet() - { - $header = $this->getHeader('References'); - $header->setIds(['a@b', 'x@y']); - $this->assertEquals(['a@b', 'x@y'], $header->getIds()); - } - - public function testSettingMultipleIdsProducesAListValue() - { - /* -- RFC 2822, 3.6.4. - The "References:" and "In-Reply-To:" field each contain one or more - unique message identifiers, optionally separated by CFWS. - - .. SNIP .. - - in-reply-to = "In-Reply-To:" 1*msg-id CRLF - - references = "References:" 1*msg-id CRLF - */ - - $header = $this->getHeader('References'); - $header->setIds(['a@b', 'x@y']); - $this->assertEquals(' ', $header->getFieldBody()); - } - - public function testIdLeftCanBeQuoted() - { - /* -- RFC 2822, 3.6.4. - id-left = dot-atom-text / no-fold-quote / obs-id-left - */ - - $header = $this->getHeader('References'); - $header->setId('"ab"@c'); - $this->assertEquals('"ab"@c', $header->getId()); - $this->assertEquals('<"ab"@c>', $header->getFieldBody()); - } - - public function testIdLeftCanContainAnglesAsQuotedPairs() - { - /* -- RFC 2822, 3.6.4. - no-fold-quote = DQUOTE *(qtext / quoted-pair) DQUOTE - */ - - $header = $this->getHeader('References'); - $header->setId('"a\\<\\>b"@c'); - $this->assertEquals('"a\\<\\>b"@c', $header->getId()); - $this->assertEquals('<"a\\<\\>b"@c>', $header->getFieldBody()); - } - - public function testIdLeftCanBeDotAtom() - { - $header = $this->getHeader('References'); - $header->setId('a.b+&%$.c@d'); - $this->assertEquals('a.b+&%$.c@d', $header->getId()); - $this->assertEquals('', $header->getFieldBody()); - } - - /** - * @expectedException \Exception - * @expectedMessageException "a b c" is not valid id-left - */ - public function testInvalidIdLeftThrowsException() - { - $header = $this->getHeader('References'); - $header->setId('a b c@d'); - } - - public function testIdRightCanBeDotAtom() - { - /* -- RFC 2822, 3.6.4. - id-right = dot-atom-text / no-fold-literal / obs-id-right - */ - - $header = $this->getHeader('References'); - $header->setId('a@b.c+&%$.d'); - $this->assertEquals('a@b.c+&%$.d', $header->getId()); - $this->assertEquals('', $header->getFieldBody()); - } - - public function testIdRightCanBeLiteral() - { - /* -- RFC 2822, 3.6.4. - no-fold-literal = "[" *(dtext / quoted-pair) "]" - */ - - $header = $this->getHeader('References'); - $header->setId('a@[1.2.3.4]'); - $this->assertEquals('a@[1.2.3.4]', $header->getId()); - $this->assertEquals('', $header->getFieldBody()); - } - - public function testIdRigthIsIdnEncoded() - { - $header = $this->getHeader('References'); - $header->setId('a@ä'); - $this->assertEquals('a@ä', $header->getId()); - $this->assertEquals('', $header->getFieldBody()); - } - - /** - * @expectedException \Exception - * @expectedMessageException "b c d" is not valid id-right - */ - public function testInvalidIdRightThrowsException() - { - $header = $this->getHeader('References'); - $header->setId('a@b c d'); - } - - /** - * @expectedException \Exception - * @expectedMessageException "abc" is does not contain @ - */ - public function testMissingAtSignThrowsException() - { - /* -- RFC 2822, 3.6.4. - msg-id = [CFWS] "<" id-left "@" id-right ">" [CFWS] - */ - $header = $this->getHeader('References'); - $header->setId('abc'); - } - - public function testSetBodyModel() - { - $header = $this->getHeader('Message-ID'); - $header->setFieldBodyModel('a@b'); - $this->assertEquals(['a@b'], $header->getIds()); - } - - public function testGetBodyModel() - { - $header = $this->getHeader('Message-ID'); - $header->setId('a@b'); - $this->assertEquals(['a@b'], $header->getFieldBodyModel()); - } - - public function testStringValue() - { - $header = $this->getHeader('References'); - $header->setIds(['a@b', 'x@y']); - $this->assertEquals('References: '."\r\n", $header->toString()); - } - - private function getHeader($name) - { - return new Swift_Mime_Headers_IdentificationHeader($name, new EmailValidator(), new Swift_AddressEncoder_IdnAddressEncoder()); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/Headers/MailboxHeaderTest.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/Headers/MailboxHeaderTest.php deleted file mode 100644 index f64f5db..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/Headers/MailboxHeaderTest.php +++ /dev/null @@ -1,367 +0,0 @@ -getHeader('To'); - $this->assertEquals(Swift_Mime_Header::TYPE_MAILBOX, $header->getFieldType()); - } - - public function testMailboxIsSetForAddress() - { - $header = $this->getHeader('From'); - $header->setAddresses('chris@swiftmailer.org'); - $this->assertEquals(['chris@swiftmailer.org'], - $header->getNameAddressStrings() - ); - } - - public function testMailboxIsRenderedForNameAddress() - { - $header = $this->getHeader('From'); - $header->setNameAddresses(['chris@swiftmailer.org' => 'Chris Corbyn']); - $this->assertEquals( - ['Chris Corbyn '], $header->getNameAddressStrings() - ); - } - - public function testAddressCanBeReturnedForAddress() - { - $header = $this->getHeader('From'); - $header->setAddresses('chris@swiftmailer.org'); - $this->assertEquals(['chris@swiftmailer.org'], $header->getAddresses()); - } - - public function testAddressCanBeReturnedForNameAddress() - { - $header = $this->getHeader('From'); - $header->setNameAddresses(['chris@swiftmailer.org' => 'Chris Corbyn']); - $this->assertEquals(['chris@swiftmailer.org'], $header->getAddresses()); - } - - public function testQuotesInNameAreQuoted() - { - $header = $this->getHeader('From'); - $header->setNameAddresses([ - 'chris@swiftmailer.org' => 'Chris Corbyn, "DHE"', - ]); - $this->assertEquals( - ['"Chris Corbyn, \"DHE\"" '], - $header->getNameAddressStrings() - ); - } - - public function testEscapeCharsInNameAreQuoted() - { - $header = $this->getHeader('From'); - $header->setNameAddresses([ - 'chris@swiftmailer.org' => 'Chris Corbyn, \\escaped\\', - ]); - $this->assertEquals( - ['"Chris Corbyn, \\\\escaped\\\\" '], - $header->getNameAddressStrings() - ); - } - - public function testUtf8CharsInDomainAreIdnEncoded() - { - $header = $this->getHeader('From'); - $header->setNameAddresses([ - 'chris@swïftmailer.org' => 'Chris Corbyn', - ]); - $this->assertEquals( - ['Chris Corbyn '], - $header->getNameAddressStrings() - ); - } - - /** - * @expectedException \Swift_AddressEncoderException - */ - public function testUtf8CharsInLocalPartThrows() - { - $header = $this->getHeader('From'); - $header->setNameAddresses([ - 'chrïs@swiftmailer.org' => 'Chris Corbyn', - ]); - $header->getNameAddressStrings(); - } - - public function testUtf8CharsInEmail() - { - $header = $this->getHeader('From', null, new Swift_AddressEncoder_Utf8AddressEncoder()); - $header->setNameAddresses([ - 'chrïs@swïftmailer.org' => 'Chris Corbyn', - ]); - $this->assertEquals( - ['Chris Corbyn '], - $header->getNameAddressStrings() - ); - } - - public function testGetMailboxesReturnsNameValuePairs() - { - $header = $this->getHeader('From'); - $header->setNameAddresses([ - 'chris@swiftmailer.org' => 'Chris Corbyn, DHE', - ]); - $this->assertEquals( - ['chris@swiftmailer.org' => 'Chris Corbyn, DHE'], $header->getNameAddresses() - ); - } - - public function testMultipleAddressesCanBeSetAndFetched() - { - $header = $this->getHeader('From'); - $header->setAddresses([ - 'chris@swiftmailer.org', 'mark@swiftmailer.org', - ]); - $this->assertEquals( - ['chris@swiftmailer.org', 'mark@swiftmailer.org'], - $header->getAddresses() - ); - } - - public function testMultipleAddressesAsMailboxes() - { - $header = $this->getHeader('From'); - $header->setAddresses([ - 'chris@swiftmailer.org', 'mark@swiftmailer.org', - ]); - $this->assertEquals( - ['chris@swiftmailer.org' => null, 'mark@swiftmailer.org' => null], - $header->getNameAddresses() - ); - } - - public function testMultipleAddressesAsMailboxStrings() - { - $header = $this->getHeader('From'); - $header->setAddresses([ - 'chris@swiftmailer.org', 'mark@swiftmailer.org', - ]); - $this->assertEquals( - ['chris@swiftmailer.org', 'mark@swiftmailer.org'], - $header->getNameAddressStrings() - ); - } - - public function testMultipleNamedMailboxesReturnsMultipleAddresses() - { - $header = $this->getHeader('From'); - $header->setNameAddresses([ - 'chris@swiftmailer.org' => 'Chris Corbyn', - 'mark@swiftmailer.org' => 'Mark Corbyn', - ]); - $this->assertEquals( - ['chris@swiftmailer.org', 'mark@swiftmailer.org'], - $header->getAddresses() - ); - } - - public function testMultipleNamedMailboxesReturnsMultipleMailboxes() - { - $header = $this->getHeader('From'); - $header->setNameAddresses([ - 'chris@swiftmailer.org' => 'Chris Corbyn', - 'mark@swiftmailer.org' => 'Mark Corbyn', - ]); - $this->assertEquals([ - 'chris@swiftmailer.org' => 'Chris Corbyn', - 'mark@swiftmailer.org' => 'Mark Corbyn', - ], - $header->getNameAddresses() - ); - } - - public function testMultipleMailboxesProducesMultipleMailboxStrings() - { - $header = $this->getHeader('From'); - $header->setNameAddresses([ - 'chris@swiftmailer.org' => 'Chris Corbyn', - 'mark@swiftmailer.org' => 'Mark Corbyn', - ]); - $this->assertEquals([ - 'Chris Corbyn ', - 'Mark Corbyn ', - ], - $header->getNameAddressStrings() - ); - } - - public function testSetAddressesOverwritesAnyMailboxes() - { - $header = $this->getHeader('From'); - $header->setNameAddresses([ - 'chris@swiftmailer.org' => 'Chris Corbyn', - 'mark@swiftmailer.org' => 'Mark Corbyn', - ]); - $this->assertEquals( - ['chris@swiftmailer.org' => 'Chris Corbyn', - 'mark@swiftmailer.org' => 'Mark Corbyn', ], - $header->getNameAddresses() - ); - $this->assertEquals( - ['chris@swiftmailer.org', 'mark@swiftmailer.org'], - $header->getAddresses() - ); - - $header->setAddresses(['chris@swiftmailer.org', 'mark@swiftmailer.org']); - - $this->assertEquals( - ['chris@swiftmailer.org' => null, 'mark@swiftmailer.org' => null], - $header->getNameAddresses() - ); - $this->assertEquals( - ['chris@swiftmailer.org', 'mark@swiftmailer.org'], - $header->getAddresses() - ); - } - - public function testNameIsEncodedIfNonAscii() - { - $name = 'C'.pack('C', 0x8F).'rbyn'; - - $encoder = $this->getEncoder('Q'); - $encoder->shouldReceive('encodeString') - ->once() - ->with($name, \Mockery::any(), \Mockery::any(), \Mockery::any()) - ->andReturn('C=8Frbyn'); - - $header = $this->getHeader('From', $encoder); - $header->setNameAddresses(['chris@swiftmailer.org' => 'Chris '.$name]); - - $addresses = $header->getNameAddressStrings(); - $this->assertEquals( - 'Chris =?'.$this->charset.'?Q?C=8Frbyn?= ', - array_shift($addresses) - ); - } - - public function testEncodingLineLengthCalculations() - { - /* -- RFC 2047, 2. - An 'encoded-word' may not be more than 75 characters long, including - 'charset', 'encoding', 'encoded-text', and delimiters. - */ - - $name = 'C'.pack('C', 0x8F).'rbyn'; - - $encoder = $this->getEncoder('Q'); - $encoder->shouldReceive('encodeString') - ->once() - ->with($name, \Mockery::any(), \Mockery::any(), \Mockery::any()) - ->andReturn('C=8Frbyn'); - - $header = $this->getHeader('From', $encoder); - $header->setNameAddresses(['chris@swiftmailer.org' => 'Chris '.$name]); - - $header->getNameAddressStrings(); - } - - public function testGetValueReturnsMailboxStringValue() - { - $header = $this->getHeader('From'); - $header->setNameAddresses([ - 'chris@swiftmailer.org' => 'Chris Corbyn', - ]); - $this->assertEquals( - 'Chris Corbyn ', $header->getFieldBody() - ); - } - - public function testGetValueReturnsMailboxStringValueForMultipleMailboxes() - { - $header = $this->getHeader('From'); - $header->setNameAddresses([ - 'chris@swiftmailer.org' => 'Chris Corbyn', - 'mark@swiftmailer.org' => 'Mark Corbyn', - ]); - $this->assertEquals( - 'Chris Corbyn , Mark Corbyn ', - $header->getFieldBody() - ); - } - - public function testRemoveAddressesWithSingleValue() - { - $header = $this->getHeader('From'); - $header->setNameAddresses([ - 'chris@swiftmailer.org' => 'Chris Corbyn', - 'mark@swiftmailer.org' => 'Mark Corbyn', - ]); - $header->removeAddresses('chris@swiftmailer.org'); - $this->assertEquals(['mark@swiftmailer.org'], - $header->getAddresses() - ); - } - - public function testRemoveAddressesWithList() - { - $header = $this->getHeader('From'); - $header->setNameAddresses([ - 'chris@swiftmailer.org' => 'Chris Corbyn', - 'mark@swiftmailer.org' => 'Mark Corbyn', - ]); - $header->removeAddresses( - ['chris@swiftmailer.org', 'mark@swiftmailer.org'] - ); - $this->assertEquals([], $header->getAddresses()); - } - - public function testSetBodyModel() - { - $header = $this->getHeader('From'); - $header->setFieldBodyModel('chris@swiftmailer.org'); - $this->assertEquals(['chris@swiftmailer.org' => null], $header->getNameAddresses()); - } - - public function testGetBodyModel() - { - $header = $this->getHeader('From'); - $header->setAddresses(['chris@swiftmailer.org']); - $this->assertEquals(['chris@swiftmailer.org' => null], $header->getFieldBodyModel()); - } - - public function testToString() - { - $header = $this->getHeader('From'); - $header->setNameAddresses([ - 'chris@swiftmailer.org' => 'Chris Corbyn', - 'mark@swiftmailer.org' => 'Mark Corbyn', - ]); - $this->assertEquals( - 'From: Chris Corbyn , '. - 'Mark Corbyn '."\r\n", - $header->toString() - ); - } - - private function getHeader($name, $encoder = null, $addressEncoder = null) - { - $encoder = $encoder ?? $this->getEncoder('Q', true); - $addressEncoder = $addressEncoder ?? new Swift_AddressEncoder_IdnAddressEncoder(); - $header = new Swift_Mime_Headers_MailboxHeader($name, $encoder, new EmailValidator(), $addressEncoder); - $header->setCharset($this->charset); - - return $header; - } - - private function getEncoder($type) - { - $encoder = $this->getMockery('Swift_Mime_HeaderEncoder')->shouldIgnoreMissing(); - $encoder->shouldReceive('getName') - ->zeroOrMoreTimes() - ->andReturn($type); - - return $encoder; - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/Headers/ParameterizedHeaderTest.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/Headers/ParameterizedHeaderTest.php deleted file mode 100644 index c90b05b..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/Headers/ParameterizedHeaderTest.php +++ /dev/null @@ -1,396 +0,0 @@ -getHeader('Content-Type', - $this->getHeaderEncoder('Q', true), $this->getParameterEncoder(true) - ); - $this->assertEquals(Swift_Mime_Header::TYPE_PARAMETERIZED, $header->getFieldType()); - } - - public function testValueIsReturnedVerbatim() - { - $header = $this->getHeader('Content-Type', - $this->getHeaderEncoder('Q', true), $this->getParameterEncoder(true) - ); - $header->setValue('text/plain'); - $this->assertEquals('text/plain', $header->getValue()); - } - - public function testParametersAreAppended() - { - /* -- RFC 2045, 5.1 - parameter := attribute "=" value - - attribute := token - ; Matching of attributes - ; is ALWAYS case-insensitive. - - value := token / quoted-string - - token := 1* - - tspecials := "(" / ")" / "<" / ">" / "@" / - "," / ";" / ":" / "\" / <"> - "/" / "[" / "]" / "?" / "=" - ; Must be in quoted-string, - ; to use within parameter values - */ - - $header = $this->getHeader('Content-Type', - $this->getHeaderEncoder('Q', true), $this->getParameterEncoder(true) - ); - $header->setValue('text/plain'); - $header->setParameters(['charset' => 'utf-8']); - $this->assertEquals('text/plain; charset=utf-8', $header->getFieldBody()); - } - - public function testSpaceInParamResultsInQuotedString() - { - $header = $this->getHeader('Content-Disposition', - $this->getHeaderEncoder('Q', true), $this->getParameterEncoder(true) - ); - $header->setValue('attachment'); - $header->setParameters(['filename' => 'my file.txt']); - $this->assertEquals('attachment; filename="my file.txt"', - $header->getFieldBody() - ); - } - - public function testLongParamsAreBrokenIntoMultipleAttributeStrings() - { - /* -- RFC 2231, 3. - The asterisk character ("*") followed - by a decimal count is employed to indicate that multiple parameters - are being used to encapsulate a single parameter value. The count - starts at 0 and increments by 1 for each subsequent section of the - parameter value. Decimal values are used and neither leading zeroes - nor gaps in the sequence are allowed. - - The original parameter value is recovered by concatenating the - various sections of the parameter, in order. For example, the - content-type field - - Content-Type: message/external-body; access-type=URL; - URL*0="ftp://"; - URL*1="cs.utk.edu/pub/moore/bulk-mailer/bulk-mailer.tar" - - is semantically identical to - - Content-Type: message/external-body; access-type=URL; - URL="ftp://cs.utk.edu/pub/moore/bulk-mailer/bulk-mailer.tar" - - Note that quotes around parameter values are part of the value - syntax; they are NOT part of the value itself. Furthermore, it is - explicitly permitted to have a mixture of quoted and unquoted - continuation fields. - */ - - $value = str_repeat('a', 180); - - $encoder = $this->getParameterEncoder(); - $encoder->shouldReceive('encodeString') - ->once() - ->with($value, \Mockery::any(), 63, \Mockery::any()) - ->andReturn(str_repeat('a', 63)."\r\n". - str_repeat('a', 63)."\r\n".str_repeat('a', 54)); - - $header = $this->getHeader('Content-Disposition', - $this->getHeaderEncoder('Q', true), $encoder - ); - $header->setValue('attachment'); - $header->setParameters(['filename' => $value]); - $header->setMaxLineLength(78); - $this->assertEquals( - 'attachment; '. - 'filename*0*=utf-8\'\''.str_repeat('a', 63).";\r\n ". - 'filename*1*='.str_repeat('a', 63).";\r\n ". - 'filename*2*='.str_repeat('a', 54), - $header->getFieldBody() - ); - } - - public function testEncodedParamDataIncludesCharsetAndLanguage() - { - /* -- RFC 2231, 4. - Asterisks ("*") are reused to provide the indicator that language and - character set information is present and encoding is being used. A - single quote ("'") is used to delimit the character set and language - information at the beginning of the parameter value. Percent signs - ("%") are used as the encoding flag, which agrees with RFC 2047. - - Specifically, an asterisk at the end of a parameter name acts as an - indicator that character set and language information may appear at - the beginning of the parameter value. A single quote is used to - separate the character set, language, and actual value information in - the parameter value string, and an percent sign is used to flag - octets encoded in hexadecimal. For example: - - Content-Type: application/x-stuff; - title*=us-ascii'en-us'This%20is%20%2A%2A%2Afun%2A%2A%2A - - Note that it is perfectly permissible to leave either the character - set or language field blank. Note also that the single quote - delimiters MUST be present even when one of the field values is - omitted. - */ - - $value = str_repeat('a', 20).pack('C', 0x8F).str_repeat('a', 10); - - $encoder = $this->getParameterEncoder(); - $encoder->shouldReceive('encodeString') - ->once() - ->with($value, 12, 62, \Mockery::any()) - ->andReturn(str_repeat('a', 20).'%8F'.str_repeat('a', 10)); - - $header = $this->getHeader('Content-Disposition', - $this->getHeaderEncoder('Q', true), $encoder - ); - $header->setValue('attachment'); - $header->setParameters(['filename' => $value]); - $header->setMaxLineLength(78); - $header->setLanguage($this->lang); - $this->assertEquals( - 'attachment; filename*='.$this->charset."'".$this->lang."'". - str_repeat('a', 20).'%8F'.str_repeat('a', 10), - $header->getFieldBody() - ); - } - - public function testMultipleEncodedParamLinesAreFormattedCorrectly() - { - /* -- RFC 2231, 4.1. - Character set and language information may be combined with the - parameter continuation mechanism. For example: - - Content-Type: application/x-stuff - title*0*=us-ascii'en'This%20is%20even%20more%20 - title*1*=%2A%2A%2Afun%2A%2A%2A%20 - title*2="isn't it!" - - Note that: - - (1) Language and character set information only appear at - the beginning of a given parameter value. - - (2) Continuations do not provide a facility for using more - than one character set or language in the same - parameter value. - - (3) A value presented using multiple continuations may - contain a mixture of encoded and unencoded segments. - - (4) The first segment of a continuation MUST be encoded if - language and character set information are given. - - (5) If the first segment of a continued parameter value is - encoded the language and character set field delimiters - MUST be present even when the fields are left blank. - */ - - $value = str_repeat('a', 20).pack('C', 0x8F).str_repeat('a', 60); - - $encoder = $this->getParameterEncoder(); - $encoder->shouldReceive('encodeString') - ->once() - ->with($value, 12, 62, \Mockery::any()) - ->andReturn(str_repeat('a', 20).'%8F'.str_repeat('a', 28)."\r\n". - str_repeat('a', 32)); - - $header = $this->getHeader('Content-Disposition', - $this->getHeaderEncoder('Q', true), $encoder - ); - $header->setValue('attachment'); - $header->setParameters(['filename' => $value]); - $header->setMaxLineLength(78); - $header->setLanguage($this->lang); - $this->assertEquals( - 'attachment; filename*0*='.$this->charset."'".$this->lang."'". - str_repeat('a', 20).'%8F'.str_repeat('a', 28).";\r\n ". - 'filename*1*='.str_repeat('a', 32), - $header->getFieldBody() - ); - } - - public function testToString() - { - $header = $this->getHeader('Content-Type', - $this->getHeaderEncoder('Q', true), $this->getParameterEncoder(true) - ); - $header->setValue('text/html'); - $header->setParameters(['charset' => 'utf-8']); - $this->assertEquals('Content-Type: text/html; charset=utf-8'."\r\n", - $header->toString() - ); - } - - public function testValueCanBeEncodedIfNonAscii() - { - $value = 'fo'.pack('C', 0x8F).'bar'; - - $encoder = $this->getHeaderEncoder('Q'); - $encoder->shouldReceive('encodeString') - ->once() - ->with($value, \Mockery::any(), \Mockery::any(), \Mockery::any()) - ->andReturn('fo=8Fbar'); - - $header = $this->getHeader('X-Foo', $encoder, $this->getParameterEncoder(true)); - $header->setValue($value); - $header->setParameters(['lookslike' => 'foobar']); - $this->assertEquals('X-Foo: =?utf-8?Q?fo=8Fbar?=; lookslike=foobar'."\r\n", - $header->toString() - ); - } - - public function testValueAndParamCanBeEncodedIfNonAscii() - { - $value = 'fo'.pack('C', 0x8F).'bar'; - - $encoder = $this->getHeaderEncoder('Q'); - $encoder->shouldReceive('encodeString') - ->once() - ->with($value, \Mockery::any(), \Mockery::any(), \Mockery::any()) - ->andReturn('fo=8Fbar'); - - $paramEncoder = $this->getParameterEncoder(); - $paramEncoder->shouldReceive('encodeString') - ->once() - ->with($value, \Mockery::any(), \Mockery::any(), \Mockery::any()) - ->andReturn('fo%8Fbar'); - - $header = $this->getHeader('X-Foo', $encoder, $paramEncoder); - $header->setValue($value); - $header->setParameters(['says' => $value]); - $this->assertEquals("X-Foo: =?utf-8?Q?fo=8Fbar?=; says*=utf-8''fo%8Fbar\r\n", - $header->toString() - ); - } - - public function testParamsAreEncodedWithEncodedWordsIfNoParamEncoderSet() - { - $value = 'fo'.pack('C', 0x8F).'bar'; - - $encoder = $this->getHeaderEncoder('Q'); - $encoder->shouldReceive('encodeString') - ->once() - ->with($value, \Mockery::any(), \Mockery::any(), \Mockery::any()) - ->andReturn('fo=8Fbar'); - - $header = $this->getHeader('X-Foo', $encoder, null); - $header->setValue('bar'); - $header->setParameters(['says' => $value]); - $this->assertEquals("X-Foo: bar; says=\"=?utf-8?Q?fo=8Fbar?=\"\r\n", - $header->toString() - ); - } - - public function testLanguageInformationAppearsInEncodedWords() - { - /* -- RFC 2231, 5. - 5. Language specification in Encoded Words - - RFC 2047 provides support for non-US-ASCII character sets in RFC 822 - message header comments, phrases, and any unstructured text field. - This is done by defining an encoded word construct which can appear - in any of these places. Given that these are fields intended for - display, it is sometimes necessary to associate language information - with encoded words as well as just the character set. This - specification extends the definition of an encoded word to allow the - inclusion of such information. This is simply done by suffixing the - character set specification with an asterisk followed by the language - tag. For example: - - From: =?US-ASCII*EN?Q?Keith_Moore?= - */ - - $value = 'fo'.pack('C', 0x8F).'bar'; - - $encoder = $this->getHeaderEncoder('Q'); - $encoder->shouldReceive('encodeString') - ->once() - ->with($value, \Mockery::any(), \Mockery::any(), \Mockery::any()) - ->andReturn('fo=8Fbar'); - - $paramEncoder = $this->getParameterEncoder(); - $paramEncoder->shouldReceive('encodeString') - ->once() - ->with($value, \Mockery::any(), \Mockery::any(), \Mockery::any()) - ->andReturn('fo%8Fbar'); - - $header = $this->getHeader('X-Foo', $encoder, $paramEncoder); - $header->setLanguage('en'); - $header->setValue($value); - $header->setParameters(['says' => $value]); - $this->assertEquals("X-Foo: =?utf-8*en?Q?fo=8Fbar?=; says*=utf-8'en'fo%8Fbar\r\n", - $header->toString() - ); - } - - public function testSetBodyModel() - { - $header = $this->getHeader('Content-Type', - $this->getHeaderEncoder('Q', true), $this->getParameterEncoder(true) - ); - $header->setFieldBodyModel('text/html'); - $this->assertEquals('text/html', $header->getValue()); - } - - public function testGetBodyModel() - { - $header = $this->getHeader('Content-Type', - $this->getHeaderEncoder('Q', true), $this->getParameterEncoder(true) - ); - $header->setValue('text/plain'); - $this->assertEquals('text/plain', $header->getFieldBodyModel()); - } - - public function testSetParameter() - { - $header = $this->getHeader('Content-Type', - $this->getHeaderEncoder('Q', true), $this->getParameterEncoder(true) - ); - $header->setParameters(['charset' => 'utf-8', 'delsp' => 'yes']); - $header->setParameter('delsp', 'no'); - $this->assertEquals(['charset' => 'utf-8', 'delsp' => 'no'], - $header->getParameters() - ); - } - - public function testGetParameter() - { - $header = $this->getHeader('Content-Type', - $this->getHeaderEncoder('Q', true), $this->getParameterEncoder(true) - ); - $header->setParameters(['charset' => 'utf-8', 'delsp' => 'yes']); - $this->assertEquals('utf-8', $header->getParameter('charset')); - } - - private function getHeader($name, $encoder, $paramEncoder) - { - $header = new Swift_Mime_Headers_ParameterizedHeader($name, $encoder, $paramEncoder); - $header->setCharset($this->charset); - - return $header; - } - - private function getHeaderEncoder($type, $stub = false) - { - $encoder = $this->getMockery('Swift_Mime_HeaderEncoder')->shouldIgnoreMissing(); - $encoder->shouldReceive('getName') - ->zeroOrMoreTimes() - ->andReturn($type); - - return $encoder; - } - - private function getParameterEncoder($stub = false) - { - return $this->getMockery('Swift_Encoder')->shouldIgnoreMissing(); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/Headers/PathHeaderTest.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/Headers/PathHeaderTest.php deleted file mode 100644 index 045107e..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/Headers/PathHeaderTest.php +++ /dev/null @@ -1,95 +0,0 @@ -getHeader('Return-Path'); - $this->assertEquals(Swift_Mime_Header::TYPE_PATH, $header->getFieldType()); - } - - public function testSingleAddressCanBeSetAndFetched() - { - $header = $this->getHeader('Return-Path'); - $header->setAddress('chris@swiftmailer.org'); - $this->assertEquals('chris@swiftmailer.org', $header->getAddress()); - } - - /** - * @expectedException \Exception - */ - public function testAddressMustComplyWithRfc2822() - { - $header = $this->getHeader('Return-Path'); - $header->setAddress('chr is@swiftmailer.org'); - } - - public function testValueIsAngleAddrWithValidAddress() - { - /* -- RFC 2822, 3.6.7. - - return = "Return-Path:" path CRLF - - path = ([CFWS] "<" ([CFWS] / addr-spec) ">" [CFWS]) / - obs-path - */ - - $header = $this->getHeader('Return-Path'); - $header->setAddress('chris@swiftmailer.org'); - $this->assertEquals('', $header->getFieldBody()); - } - - public function testAddressIsIdnEncoded() - { - $header = $this->getHeader('Return-Path'); - $header->setAddress('chris@swïftmailer.org'); - $this->assertEquals('', $header->getFieldBody()); - } - - /** - * @expectedException \Swift_AddressEncoderException - */ - public function testAddressMustBeEncodable() - { - $header = $this->getHeader('Return-Path'); - $header->setAddress('chrïs@swiftmailer.org'); - $header->getFieldBody(); - } - - public function testValueIsEmptyAngleBracketsIfEmptyAddressSet() - { - $header = $this->getHeader('Return-Path'); - $header->setAddress(''); - $this->assertEquals('<>', $header->getFieldBody()); - } - - public function testSetBodyModel() - { - $header = $this->getHeader('Return-Path'); - $header->setFieldBodyModel('foo@bar.tld'); - $this->assertEquals('foo@bar.tld', $header->getAddress()); - } - - public function testGetBodyModel() - { - $header = $this->getHeader('Return-Path'); - $header->setAddress('foo@bar.tld'); - $this->assertEquals('foo@bar.tld', $header->getFieldBodyModel()); - } - - public function testToString() - { - $header = $this->getHeader('Return-Path'); - $header->setAddress('chris@swiftmailer.org'); - $this->assertEquals('Return-Path: '."\r\n", - $header->toString() - ); - } - - private function getHeader($name) - { - return new Swift_Mime_Headers_PathHeader($name, new EmailValidator(), new Swift_AddressEncoder_IdnAddressEncoder()); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/Headers/UnstructuredHeaderTest.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/Headers/UnstructuredHeaderTest.php deleted file mode 100644 index 30ccb00..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/Headers/UnstructuredHeaderTest.php +++ /dev/null @@ -1,353 +0,0 @@ -getHeader('Subject', $this->getEncoder('Q', true)); - $this->assertEquals(Swift_Mime_Header::TYPE_TEXT, $header->getFieldType()); - } - - public function testGetNameReturnsNameVerbatim() - { - $header = $this->getHeader('Subject', $this->getEncoder('Q', true)); - $this->assertEquals('Subject', $header->getFieldName()); - } - - public function testGetValueReturnsValueVerbatim() - { - $header = $this->getHeader('Subject', $this->getEncoder('Q', true)); - $header->setValue('Test'); - $this->assertEquals('Test', $header->getValue()); - } - - public function testBasicStructureIsKeyValuePair() - { - /* -- RFC 2822, 2.2 - Header fields are lines composed of a field name, followed by a colon - (":"), followed by a field body, and terminated by CRLF. - */ - $header = $this->getHeader('Subject', $this->getEncoder('Q', true)); - $header->setValue('Test'); - $this->assertEquals('Subject: Test'."\r\n", $header->toString()); - } - - public function testLongHeadersAreFoldedAtWordBoundary() - { - /* -- RFC 2822, 2.2.3 - Each header field is logically a single line of characters comprising - the field name, the colon, and the field body. For convenience - however, and to deal with the 998/78 character limitations per line, - the field body portion of a header field can be split into a multiple - line representation; this is called "folding". The general rule is - that wherever this standard allows for folding white space (not - simply WSP characters), a CRLF may be inserted before any WSP. - */ - - $value = 'The quick brown fox jumped over the fence, he was a very very '. - 'scary brown fox with a bushy tail'; - $header = $this->getHeader('X-Custom-Header', - $this->getEncoder('Q', true) - ); - $header->setValue($value); - $header->setMaxLineLength(78); //A safe [RFC 2822, 2.2.3] default - /* - X-Custom-Header: The quick brown fox jumped over the fence, he was a very very - scary brown fox with a bushy tail - */ - $this->assertEquals( - 'X-Custom-Header: The quick brown fox jumped over the fence, he was a'. - ' very very'."\r\n".//Folding - ' scary brown fox with a bushy tail'."\r\n", - $header->toString(), '%s: The header should have been folded at 78th char' - ); - } - - public function testPrintableAsciiOnlyAppearsInHeaders() - { - /* -- RFC 2822, 2.2. - A field name MUST be composed of printable US-ASCII characters (i.e., - characters that have values between 33 and 126, inclusive), except - colon. A field body may be composed of any US-ASCII characters, - except for CR and LF. - */ - - $nonAsciiChar = pack('C', 0x8F); - $header = $this->getHeader('X-Test', $this->getEncoder('Q', true)); - $header->setValue($nonAsciiChar); - $this->assertRegExp( - '~^[^:\x00-\x20\x80-\xFF]+: [^\x80-\xFF\r\n]+\r\n$~s', - $header->toString() - ); - } - - public function testEncodedWordsFollowGeneralStructure() - { - /* -- RFC 2047, 1. - Generally, an "encoded-word" is a sequence of printable ASCII - characters that begins with "=?", ends with "?=", and has two "?"s in - between. - */ - - $nonAsciiChar = pack('C', 0x8F); - $header = $this->getHeader('X-Test', $this->getEncoder('Q', true)); - $header->setValue($nonAsciiChar); - $this->assertRegExp( - '~^X-Test: \=?.*?\?.*?\?.*?\?=\r\n$~s', - $header->toString() - ); - } - - public function testEncodedWordIncludesCharsetAndEncodingMethodAndText() - { - /* -- RFC 2047, 2. - An 'encoded-word' is defined by the following ABNF grammar. The - notation of RFC 822 is used, with the exception that white space - characters MUST NOT appear between components of an 'encoded-word'. - - encoded-word = "=?" charset "?" encoding "?" encoded-text "?=" - */ - - $nonAsciiChar = pack('C', 0x8F); - - $encoder = $this->getEncoder('Q'); - $encoder->shouldReceive('encodeString') - ->once() - ->with($nonAsciiChar, \Mockery::any(), \Mockery::any(), \Mockery::any()) - ->andReturn('=8F'); - - $header = $this->getHeader('X-Test', $encoder); - $header->setValue($nonAsciiChar); - $this->assertEquals( - 'X-Test: =?'.$this->charset.'?Q?=8F?='."\r\n", - $header->toString() - ); - } - - public function testEncodedWordsAreUsedToEncodedNonPrintableAscii() - { - //SPACE and TAB permitted - $nonPrintableBytes = array_merge( - range(0x00, 0x08), range(0x10, 0x19), [0x7F] - ); - - foreach ($nonPrintableBytes as $byte) { - $char = pack('C', $byte); - $encodedChar = sprintf('=%02X', $byte); - - $encoder = $this->getEncoder('Q'); - $encoder->shouldReceive('encodeString') - ->once() - ->with($char, \Mockery::any(), \Mockery::any(), \Mockery::any()) - ->andReturn($encodedChar); - - $header = $this->getHeader('X-A', $encoder); - $header->setValue($char); - - $this->assertEquals( - 'X-A: =?'.$this->charset.'?Q?'.$encodedChar.'?='."\r\n", - $header->toString(), '%s: Non-printable ascii should be encoded' - ); - } - } - - public function testEncodedWordsAreUsedToEncode8BitOctets() - { - foreach (range(0x80, 0xFF) as $byte) { - $char = pack('C', $byte); - $encodedChar = sprintf('=%02X', $byte); - - $encoder = $this->getEncoder('Q'); - $encoder->shouldReceive('encodeString') - ->once() - ->with($char, \Mockery::any(), \Mockery::any(), \Mockery::any()) - ->andReturn($encodedChar); - - $header = $this->getHeader('X-A', $encoder); - $header->setValue($char); - - $this->assertEquals( - 'X-A: =?'.$this->charset.'?Q?'.$encodedChar.'?='."\r\n", - $header->toString(), '%s: 8-bit octets should be encoded' - ); - } - } - - public function testEncodedWordsAreNoMoreThan75CharsPerLine() - { - /* -- RFC 2047, 2. - An 'encoded-word' may not be more than 75 characters long, including - 'charset', 'encoding', 'encoded-text', and delimiters. - - ... SNIP ... - - While there is no limit to the length of a multiple-line header - field, each line of a header field that contains one or more - 'encoded-word's is limited to 76 characters. - */ - - $nonAsciiChar = pack('C', 0x8F); - - $encoder = $this->getEncoder('Q'); - $encoder->shouldReceive('encodeString') - ->once() - ->with($nonAsciiChar, \Mockery::any(), \Mockery::any(), \Mockery::any()) - ->andReturn('=8F'); - //Note that multi-line headers begin with LWSP which makes 75 + 1 = 76 - //Note also that =?utf-8?q??= is 12 chars which makes 75 - 12 = 63 - - //* X-Test: is 8 chars - $header = $this->getHeader('X-Test', $encoder); - $header->setValue($nonAsciiChar); - - $this->assertEquals( - 'X-Test: =?'.$this->charset.'?Q?=8F?='."\r\n", - $header->toString() - ); - } - - public function testFWSPIsUsedWhenEncoderReturnsMultipleLines() - { - /* --RFC 2047, 2. - If it is desirable to encode more text than will fit in an 'encoded-word' of - 75 characters, multiple 'encoded-word's (separated by CRLF SPACE) may - be used. - */ - - //Note the Mock does NOT return 8F encoded, the 8F merely triggers - // encoding for the sake of testing - $nonAsciiChar = pack('C', 0x8F); - - $encoder = $this->getEncoder('Q'); - $encoder->shouldReceive('encodeString') - ->once() - ->with($nonAsciiChar, 8, 63, \Mockery::any()) - ->andReturn('line_one_here'."\r\n".'line_two_here'); - - //Note that multi-line headers begin with LWSP which makes 75 + 1 = 76 - //Note also that =?utf-8?q??= is 12 chars which makes 75 - 12 = 63 - - //* X-Test: is 8 chars - $header = $this->getHeader('X-Test', $encoder); - $header->setValue($nonAsciiChar); - - $this->assertEquals( - 'X-Test: =?'.$this->charset.'?Q?line_one_here?='."\r\n". - ' =?'.$this->charset.'?Q?line_two_here?='."\r\n", - $header->toString() - ); - } - - public function testAdjacentWordsAreEncodedTogether() - { - /* -- RFC 2047, 5 (1) - Ordinary ASCII text and 'encoded-word's may appear together in the - same header field. However, an 'encoded-word' that appears in a - header field defined as '*text' MUST be separated from any adjacent - 'encoded-word' or 'text' by 'linear-white-space'. - - -- RFC 2047, 2. - IMPORTANT: 'encoded-word's are designed to be recognized as 'atom's - by an RFC 822 parser. As a consequence, unencoded white space - characters (such as SPACE and HTAB) are FORBIDDEN within an - 'encoded-word'. - */ - - //It would be valid to encode all words needed, however it's probably - // easiest to encode the longest amount required at a time - - $word = 'w'.pack('C', 0x8F).'rd'; - $text = 'start '.$word.' '.$word.' then end '.$word; - // 'start', ' word word', ' and end', ' word' - - $encoder = $this->getEncoder('Q'); - $encoder->shouldReceive('encodeString') - ->once() - ->with($word.' '.$word, \Mockery::any(), \Mockery::any(), \Mockery::any()) - ->andReturn('w=8Frd_w=8Frd'); - $encoder->shouldReceive('encodeString') - ->once() - ->with($word, \Mockery::any(), \Mockery::any(), \Mockery::any()) - ->andReturn('w=8Frd'); - - $header = $this->getHeader('X-Test', $encoder); - $header->setValue($text); - - $headerString = $header->toString(); - - $this->assertEquals('X-Test: start =?'.$this->charset.'?Q?'. - 'w=8Frd_w=8Frd?= then end =?'.$this->charset.'?Q?'. - 'w=8Frd?='."\r\n", $headerString, - '%s: Adjacent encoded words should appear grouped with WSP encoded' - ); - } - - public function testLanguageInformationAppearsInEncodedWords() - { - /* -- RFC 2231, 5. - 5. Language specification in Encoded Words - - RFC 2047 provides support for non-US-ASCII character sets in RFC 822 - message header comments, phrases, and any unstructured text field. - This is done by defining an encoded word construct which can appear - in any of these places. Given that these are fields intended for - display, it is sometimes necessary to associate language information - with encoded words as well as just the character set. This - specification extends the definition of an encoded word to allow the - inclusion of such information. This is simply done by suffixing the - character set specification with an asterisk followed by the language - tag. For example: - - From: =?US-ASCII*EN?Q?Keith_Moore?= - */ - - $value = 'fo'.pack('C', 0x8F).'bar'; - - $encoder = $this->getEncoder('Q'); - $encoder->shouldReceive('encodeString') - ->once() - ->with($value, \Mockery::any(), \Mockery::any(), \Mockery::any()) - ->andReturn('fo=8Fbar'); - - $header = $this->getHeader('Subject', $encoder); - $header->setLanguage('en'); - $header->setValue($value); - $this->assertEquals("Subject: =?utf-8*en?Q?fo=8Fbar?=\r\n", - $header->toString() - ); - } - - public function testSetBodyModel() - { - $header = $this->getHeader('Subject', $this->getEncoder('Q', true)); - $header->setFieldBodyModel('test'); - $this->assertEquals('test', $header->getValue()); - } - - public function testGetBodyModel() - { - $header = $this->getHeader('Subject', $this->getEncoder('Q', true)); - $header->setValue('test'); - $this->assertEquals('test', $header->getFieldBodyModel()); - } - - private function getHeader($name, $encoder) - { - $header = new Swift_Mime_Headers_UnstructuredHeader($name, $encoder); - $header->setCharset($this->charset); - - return $header; - } - - private function getEncoder($type, $stub = false) - { - $encoder = $this->getMockery('Swift_Mime_HeaderEncoder')->shouldIgnoreMissing(); - $encoder->shouldReceive('getName') - ->zeroOrMoreTimes() - ->andReturn($type); - - return $encoder; - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/IdGeneratorTest.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/IdGeneratorTest.php deleted file mode 100644 index dfea580..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/IdGeneratorTest.php +++ /dev/null @@ -1,32 +0,0 @@ -assertEquals('example.net', $idGenerator->getIdRight()); - - $idGenerator->setIdRight('example.com'); - $this->assertEquals('example.com', $idGenerator->getIdRight()); - } - - public function testIdGenerateId() - { - $idGenerator = new Swift_Mime_IdGenerator('example.net'); - $emailValidator = new EmailValidator(); - - $id = $idGenerator->generateId(); - $this->assertTrue($emailValidator->isValid($id, new RFCValidation())); - $this->assertRegExp('/^.{32}@example.net$/', $id); - - $anotherId = $idGenerator->generateId(); - $this->assertNotEquals($id, $anotherId); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/MimePartTest.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/MimePartTest.php deleted file mode 100644 index 4575505..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/MimePartTest.php +++ /dev/null @@ -1,234 +0,0 @@ -createMimePart($this->createHeaderSet(), - $this->createEncoder(), $this->createCache() - ); - $this->assertEquals( - Swift_Mime_SimpleMimeEntity::LEVEL_ALTERNATIVE, $part->getNestingLevel() - ); - } - - public function testCharsetIsReturnedFromHeader() - { - /* -- RFC 2046, 4.1.2. - A critical parameter that may be specified in the Content-Type field - for "text/plain" data is the character set. This is specified with a - "charset" parameter, as in: - - Content-type: text/plain; charset=iso-8859-1 - - Unlike some other parameter values, the values of the charset - parameter are NOT case sensitive. The default character set, which - must be assumed in the absence of a charset parameter, is US-ASCII. - */ - - $cType = $this->createHeader('Content-Type', 'text/plain', - ['charset' => 'iso-8859-1'] - ); - $part = $this->createMimePart($this->createHeaderSet([ - 'Content-Type' => $cType, ]), - $this->createEncoder(), $this->createCache() - ); - $this->assertEquals('iso-8859-1', $part->getCharset()); - } - - public function testCharsetIsSetInHeader() - { - $cType = $this->createHeader('Content-Type', 'text/plain', - ['charset' => 'iso-8859-1'], false - ); - $cType->shouldReceive('setParameter')->once()->with('charset', 'utf-8'); - - $part = $this->createMimePart($this->createHeaderSet([ - 'Content-Type' => $cType, ]), - $this->createEncoder(), $this->createCache() - ); - $part->setCharset('utf-8'); - } - - public function testCharsetIsSetInHeaderIfPassedToSetBody() - { - $cType = $this->createHeader('Content-Type', 'text/plain', - ['charset' => 'iso-8859-1'], false - ); - $cType->shouldReceive('setParameter')->once()->with('charset', 'utf-8'); - - $part = $this->createMimePart($this->createHeaderSet([ - 'Content-Type' => $cType, ]), - $this->createEncoder(), $this->createCache() - ); - $part->setBody('', 'text/plian', 'utf-8'); - } - - public function testSettingCharsetNotifiesEncoder() - { - $encoder = $this->createEncoder('quoted-printable', false); - $encoder->expects($this->once()) - ->method('charsetChanged') - ->with('utf-8'); - - $part = $this->createMimePart($this->createHeaderSet(), - $encoder, $this->createCache() - ); - $part->setCharset('utf-8'); - } - - public function testSettingCharsetNotifiesHeaders() - { - $headers = $this->createHeaderSet([], false); - $headers->shouldReceive('charsetChanged') - ->zeroOrMoreTimes() - ->with('utf-8'); - - $part = $this->createMimePart($headers, $this->createEncoder(), - $this->createCache() - ); - $part->setCharset('utf-8'); - } - - public function testSettingCharsetNotifiesChildren() - { - $child = $this->createChild(0, '', false); - $child->shouldReceive('charsetChanged') - ->once() - ->with('windows-874'); - - $part = $this->createMimePart($this->createHeaderSet(), - $this->createEncoder(), $this->createCache() - ); - $part->setChildren([$child]); - $part->setCharset('windows-874'); - } - - public function testCharsetChangeUpdatesCharset() - { - $cType = $this->createHeader('Content-Type', 'text/plain', - ['charset' => 'iso-8859-1'], false - ); - $cType->shouldReceive('setParameter')->once()->with('charset', 'utf-8'); - - $part = $this->createMimePart($this->createHeaderSet([ - 'Content-Type' => $cType, ]), - $this->createEncoder(), $this->createCache() - ); - $part->charsetChanged('utf-8'); - } - - public function testSettingCharsetClearsCache() - { - $headers = $this->createHeaderSet([], false); - $headers->shouldReceive('toString') - ->zeroOrMoreTimes() - ->andReturn("Content-Type: text/plain; charset=utf-8\r\n"); - - $cache = $this->createCache(false); - - $entity = $this->createEntity($headers, $this->createEncoder(), - $cache - ); - - $entity->setBody("blah\r\nblah!"); - $entity->toString(); - - // Initialize the expectation here because we only care about what happens in setCharset() - $cache->shouldReceive('clearKey') - ->once() - ->with(\Mockery::any(), 'body'); - - $entity->setCharset('iso-2022'); - } - - public function testFormatIsReturnedFromHeader() - { - /* -- RFC 3676. - */ - - $cType = $this->createHeader('Content-Type', 'text/plain', - ['format' => 'flowed'] - ); - $part = $this->createMimePart($this->createHeaderSet([ - 'Content-Type' => $cType, ]), - $this->createEncoder(), $this->createCache() - ); - $this->assertEquals('flowed', $part->getFormat()); - } - - public function testFormatIsSetInHeader() - { - $cType = $this->createHeader('Content-Type', 'text/plain', [], false); - $cType->shouldReceive('setParameter')->once()->with('format', 'fixed'); - - $part = $this->createMimePart($this->createHeaderSet([ - 'Content-Type' => $cType, ]), - $this->createEncoder(), $this->createCache() - ); - $part->setFormat('fixed'); - } - - public function testDelSpIsReturnedFromHeader() - { - /* -- RFC 3676. - */ - - $cType = $this->createHeader('Content-Type', 'text/plain', - ['delsp' => 'no'] - ); - $part = $this->createMimePart($this->createHeaderSet([ - 'Content-Type' => $cType, ]), - $this->createEncoder(), $this->createCache() - ); - $this->assertFalse($part->getDelSp()); - } - - public function testDelSpIsSetInHeader() - { - $cType = $this->createHeader('Content-Type', 'text/plain', [], false); - $cType->shouldReceive('setParameter')->once()->with('delsp', 'yes'); - - $part = $this->createMimePart($this->createHeaderSet([ - 'Content-Type' => $cType, ]), - $this->createEncoder(), $this->createCache() - ); - $part->setDelSp(true); - } - - public function testFluidInterface() - { - $part = $this->createMimePart($this->createHeaderSet(), - $this->createEncoder(), $this->createCache() - ); - - $this->assertSame($part, - $part - ->setContentType('text/plain') - ->setEncoder($this->createEncoder()) - ->setId('foo@bar') - ->setDescription('my description') - ->setMaxLineLength(998) - ->setBody('xx') - ->setBoundary('xyz') - ->setChildren([]) - ->setCharset('utf-8') - ->setFormat('flowed') - ->setDelSp(true) - ); - } - - //abstract - protected function createEntity($headers, $encoder, $cache) - { - return $this->createMimePart($headers, $encoder, $cache); - } - - protected function createMimePart($headers, $encoder, $cache) - { - $idGenerator = new Swift_Mime_IdGenerator('example.com'); - - return new Swift_Mime_MimePart($headers, $encoder, $cache, $idGenerator); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/SimpleHeaderFactoryTest.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/SimpleHeaderFactoryTest.php deleted file mode 100644 index 6bc825e..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/SimpleHeaderFactoryTest.php +++ /dev/null @@ -1,169 +0,0 @@ -factory = $this->createFactory(); - } - - public function testMailboxHeaderIsCorrectType() - { - $header = $this->factory->createMailboxHeader('X-Foo'); - $this->assertInstanceOf('Swift_Mime_Headers_MailboxHeader', $header); - } - - public function testMailboxHeaderHasCorrectName() - { - $header = $this->factory->createMailboxHeader('X-Foo'); - $this->assertEquals('X-Foo', $header->getFieldName()); - } - - public function testMailboxHeaderHasCorrectModel() - { - $header = $this->factory->createMailboxHeader('X-Foo', - ['foo@bar' => 'FooBar'] - ); - $this->assertEquals(['foo@bar' => 'FooBar'], $header->getFieldBodyModel()); - } - - public function testDateHeaderHasCorrectType() - { - $header = $this->factory->createDateHeader('X-Date'); - $this->assertInstanceOf('Swift_Mime_Headers_DateHeader', $header); - } - - public function testDateHeaderHasCorrectName() - { - $header = $this->factory->createDateHeader('X-Date'); - $this->assertEquals('X-Date', $header->getFieldName()); - } - - public function testDateHeaderHasCorrectModel() - { - $dateTime = new \DateTimeImmutable(); - $header = $this->factory->createDateHeader('X-Date', $dateTime); - $this->assertEquals($dateTime, $header->getFieldBodyModel()); - } - - public function testTextHeaderHasCorrectType() - { - $header = $this->factory->createTextHeader('X-Foo'); - $this->assertInstanceOf('Swift_Mime_Headers_UnstructuredHeader', $header); - } - - public function testTextHeaderHasCorrectName() - { - $header = $this->factory->createTextHeader('X-Foo'); - $this->assertEquals('X-Foo', $header->getFieldName()); - } - - public function testTextHeaderHasCorrectModel() - { - $header = $this->factory->createTextHeader('X-Foo', 'bar'); - $this->assertEquals('bar', $header->getFieldBodyModel()); - } - - public function testParameterizedHeaderHasCorrectType() - { - $header = $this->factory->createParameterizedHeader('X-Foo'); - $this->assertInstanceOf('Swift_Mime_Headers_ParameterizedHeader', $header); - } - - public function testParameterizedHeaderHasCorrectName() - { - $header = $this->factory->createParameterizedHeader('X-Foo'); - $this->assertEquals('X-Foo', $header->getFieldName()); - } - - public function testParameterizedHeaderHasCorrectModel() - { - $header = $this->factory->createParameterizedHeader('X-Foo', 'bar'); - $this->assertEquals('bar', $header->getFieldBodyModel()); - } - - public function testParameterizedHeaderHasCorrectParams() - { - $header = $this->factory->createParameterizedHeader('X-Foo', 'bar', - ['zip' => 'button'] - ); - $this->assertEquals(['zip' => 'button'], $header->getParameters()); - } - - public function testIdHeaderHasCorrectType() - { - $header = $this->factory->createIdHeader('X-ID'); - $this->assertInstanceOf('Swift_Mime_Headers_IdentificationHeader', $header); - } - - public function testIdHeaderHasCorrectName() - { - $header = $this->factory->createIdHeader('X-ID'); - $this->assertEquals('X-ID', $header->getFieldName()); - } - - public function testIdHeaderHasCorrectModel() - { - $header = $this->factory->createIdHeader('X-ID', 'xyz@abc'); - $this->assertEquals(['xyz@abc'], $header->getFieldBodyModel()); - } - - public function testPathHeaderHasCorrectType() - { - $header = $this->factory->createPathHeader('X-Path'); - $this->assertInstanceOf('Swift_Mime_Headers_PathHeader', $header); - } - - public function testPathHeaderHasCorrectName() - { - $header = $this->factory->createPathHeader('X-Path'); - $this->assertEquals('X-Path', $header->getFieldName()); - } - - public function testPathHeaderHasCorrectModel() - { - $header = $this->factory->createPathHeader('X-Path', 'foo@bar'); - $this->assertEquals('foo@bar', $header->getFieldBodyModel()); - } - - public function testCharsetChangeNotificationNotifiesEncoders() - { - $encoder = $this->createHeaderEncoder(); - $encoder->expects($this->once()) - ->method('charsetChanged') - ->with('utf-8'); - $paramEncoder = $this->createParamEncoder(); - $paramEncoder->expects($this->once()) - ->method('charsetChanged') - ->with('utf-8'); - - $factory = $this->createFactory($encoder, $paramEncoder); - - $factory->charsetChanged('utf-8'); - } - - private function createFactory($encoder = null, $paramEncoder = null) - { - return new Swift_Mime_SimpleHeaderFactory( - $encoder - ? $encoder : $this->createHeaderEncoder(), - $paramEncoder - ? $paramEncoder : $this->createParamEncoder(), - new EmailValidator() - ); - } - - private function createHeaderEncoder() - { - return $this->getMockBuilder('Swift_Mime_HeaderEncoder')->getMock(); - } - - private function createParamEncoder() - { - return $this->getMockBuilder('Swift_Encoder')->getMock(); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/SimpleHeaderSetTest.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/SimpleHeaderSetTest.php deleted file mode 100644 index 4ddbff7..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/SimpleHeaderSetTest.php +++ /dev/null @@ -1,734 +0,0 @@ -createFactory(); - $factory->expects($this->once()) - ->method('createMailboxHeader') - ->with('From', ['person@domain' => 'Person']) - ->will($this->returnValue($this->createHeader('From'))); - - $set = $this->createSet($factory); - $set->addMailboxHeader('From', ['person@domain' => 'Person']); - } - - public function testAddDateHeaderDelegatesToFactory() - { - $dateTime = new DateTimeImmutable(); - - $factory = $this->createFactory(); - $factory->expects($this->once()) - ->method('createDateHeader') - ->with('Date', $dateTime) - ->will($this->returnValue($this->createHeader('Date'))); - - $set = $this->createSet($factory); - $set->addDateHeader('Date', $dateTime); - } - - public function testAddTextHeaderDelegatesToFactory() - { - $factory = $this->createFactory(); - $factory->expects($this->once()) - ->method('createTextHeader') - ->with('Subject', 'some text') - ->will($this->returnValue($this->createHeader('Subject'))); - - $set = $this->createSet($factory); - $set->addTextHeader('Subject', 'some text'); - } - - public function testAddParameterizedHeaderDelegatesToFactory() - { - $factory = $this->createFactory(); - $factory->expects($this->once()) - ->method('createParameterizedHeader') - ->with('Content-Type', 'text/plain', ['charset' => 'utf-8']) - ->will($this->returnValue($this->createHeader('Content-Type'))); - - $set = $this->createSet($factory); - $set->addParameterizedHeader('Content-Type', 'text/plain', - ['charset' => 'utf-8'] - ); - } - - public function testAddIdHeaderDelegatesToFactory() - { - $factory = $this->createFactory(); - $factory->expects($this->once()) - ->method('createIdHeader') - ->with('Message-ID', 'some@id') - ->will($this->returnValue($this->createHeader('Message-ID'))); - - $set = $this->createSet($factory); - $set->addIdHeader('Message-ID', 'some@id'); - } - - public function testAddPathHeaderDelegatesToFactory() - { - $factory = $this->createFactory(); - $factory->expects($this->once()) - ->method('createPathHeader') - ->with('Return-Path', 'some@path') - ->will($this->returnValue($this->createHeader('Return-Path'))); - - $set = $this->createSet($factory); - $set->addPathHeader('Return-Path', 'some@path'); - } - - public function testHasReturnsFalseWhenNoHeaders() - { - $set = $this->createSet($this->createFactory()); - $this->assertFalse($set->has('Some-Header')); - } - - public function testAddedMailboxHeaderIsSeenByHas() - { - $factory = $this->createFactory(); - $factory->expects($this->once()) - ->method('createMailboxHeader') - ->with('From', ['person@domain' => 'Person']) - ->will($this->returnValue($this->createHeader('From'))); - - $set = $this->createSet($factory); - $set->addMailboxHeader('From', ['person@domain' => 'Person']); - $this->assertTrue($set->has('From')); - } - - public function testAddedDateHeaderIsSeenByHas() - { - $dateTime = new DateTimeImmutable(); - - $factory = $this->createFactory(); - $factory->expects($this->once()) - ->method('createDateHeader') - ->with('Date', $dateTime) - ->will($this->returnValue($this->createHeader('Date'))); - - $set = $this->createSet($factory); - $set->addDateHeader('Date', $dateTime); - $this->assertTrue($set->has('Date')); - } - - public function testAddedTextHeaderIsSeenByHas() - { - $factory = $this->createFactory(); - $factory->expects($this->once()) - ->method('createTextHeader') - ->with('Subject', 'some text') - ->will($this->returnValue($this->createHeader('Subject'))); - - $set = $this->createSet($factory); - $set->addTextHeader('Subject', 'some text'); - $this->assertTrue($set->has('Subject')); - } - - public function testAddedParameterizedHeaderIsSeenByHas() - { - $factory = $this->createFactory(); - $factory->expects($this->once()) - ->method('createParameterizedHeader') - ->with('Content-Type', 'text/plain', ['charset' => 'utf-8']) - ->will($this->returnValue($this->createHeader('Content-Type'))); - - $set = $this->createSet($factory); - $set->addParameterizedHeader('Content-Type', 'text/plain', - ['charset' => 'utf-8'] - ); - $this->assertTrue($set->has('Content-Type')); - } - - public function testAddedIdHeaderIsSeenByHas() - { - $factory = $this->createFactory(); - $factory->expects($this->once()) - ->method('createIdHeader') - ->with('Message-ID', 'some@id') - ->will($this->returnValue($this->createHeader('Message-ID'))); - - $set = $this->createSet($factory); - $set->addIdHeader('Message-ID', 'some@id'); - $this->assertTrue($set->has('Message-ID')); - } - - public function testAddedPathHeaderIsSeenByHas() - { - $factory = $this->createFactory(); - $factory->expects($this->once()) - ->method('createPathHeader') - ->with('Return-Path', 'some@path') - ->will($this->returnValue($this->createHeader('Return-Path'))); - - $set = $this->createSet($factory); - $set->addPathHeader('Return-Path', 'some@path'); - $this->assertTrue($set->has('Return-Path')); - } - - public function testNewlySetHeaderIsSeenByHas() - { - $factory = $this->createFactory(); - $header = $this->createHeader('X-Foo', 'bar'); - $set = $this->createSet($factory); - $set->set($header); - $this->assertTrue($set->has('X-Foo')); - } - - public function testHasCanAcceptOffset() - { - $factory = $this->createFactory(); - $factory->expects($this->once()) - ->method('createIdHeader') - ->with('Message-ID', 'some@id') - ->will($this->returnValue($this->createHeader('Message-ID'))); - - $set = $this->createSet($factory); - $set->addIdHeader('Message-ID', 'some@id'); - $this->assertTrue($set->has('Message-ID', 0)); - } - - public function testHasWithIllegalOffsetReturnsFalse() - { - $factory = $this->createFactory(); - $factory->expects($this->once()) - ->method('createIdHeader') - ->with('Message-ID', 'some@id') - ->will($this->returnValue($this->createHeader('Message-ID'))); - - $set = $this->createSet($factory); - $set->addIdHeader('Message-ID', 'some@id'); - $this->assertFalse($set->has('Message-ID', 1)); - } - - public function testHasCanDistinguishMultipleHeaders() - { - $factory = $this->createFactory(); - $factory->expects($this->at(0)) - ->method('createIdHeader') - ->with('Message-ID', 'some@id') - ->will($this->returnValue($this->createHeader('Message-ID'))); - $factory->expects($this->at(1)) - ->method('createIdHeader') - ->with('Message-ID', 'other@id') - ->will($this->returnValue($this->createHeader('Message-ID'))); - - $set = $this->createSet($factory); - $set->addIdHeader('Message-ID', 'some@id'); - $set->addIdHeader('Message-ID', 'other@id'); - $this->assertTrue($set->has('Message-ID', 1)); - } - - public function testGetWithUnspecifiedOffset() - { - $header = $this->createHeader('Message-ID'); - $factory = $this->createFactory(); - $factory->expects($this->once()) - ->method('createIdHeader') - ->with('Message-ID', 'some@id') - ->will($this->returnValue($header)); - - $set = $this->createSet($factory); - $set->addIdHeader('Message-ID', 'some@id'); - $this->assertSame($header, $set->get('Message-ID')); - } - - public function testGetWithSpeiciedOffset() - { - $header0 = $this->createHeader('Message-ID'); - $header1 = $this->createHeader('Message-ID'); - $header2 = $this->createHeader('Message-ID'); - $factory = $this->createFactory(); - $factory->expects($this->at(0)) - ->method('createIdHeader') - ->with('Message-ID', 'some@id') - ->will($this->returnValue($header0)); - $factory->expects($this->at(1)) - ->method('createIdHeader') - ->with('Message-ID', 'other@id') - ->will($this->returnValue($header1)); - $factory->expects($this->at(2)) - ->method('createIdHeader') - ->with('Message-ID', 'more@id') - ->will($this->returnValue($header2)); - - $set = $this->createSet($factory); - $set->addIdHeader('Message-ID', 'some@id'); - $set->addIdHeader('Message-ID', 'other@id'); - $set->addIdHeader('Message-ID', 'more@id'); - $this->assertSame($header1, $set->get('Message-ID', 1)); - } - - public function testGetReturnsNullIfHeaderNotSet() - { - $set = $this->createSet($this->createFactory()); - $this->assertNull($set->get('Message-ID', 99)); - } - - public function testGetAllReturnsAllHeadersMatchingName() - { - $header0 = $this->createHeader('Message-ID'); - $header1 = $this->createHeader('Message-ID'); - $header2 = $this->createHeader('Message-ID'); - $factory = $this->createFactory(); - $factory->expects($this->at(0)) - ->method('createIdHeader') - ->with('Message-ID', 'some@id') - ->will($this->returnValue($header0)); - $factory->expects($this->at(1)) - ->method('createIdHeader') - ->with('Message-ID', 'other@id') - ->will($this->returnValue($header1)); - $factory->expects($this->at(2)) - ->method('createIdHeader') - ->with('Message-ID', 'more@id') - ->will($this->returnValue($header2)); - - $set = $this->createSet($factory); - $set->addIdHeader('Message-ID', 'some@id'); - $set->addIdHeader('Message-ID', 'other@id'); - $set->addIdHeader('Message-ID', 'more@id'); - - $this->assertEquals([$header0, $header1, $header2], - $set->getAll('Message-ID') - ); - } - - public function testGetAllReturnsAllHeadersIfNoArguments() - { - $header0 = $this->createHeader('Message-ID'); - $header1 = $this->createHeader('Subject'); - $header2 = $this->createHeader('To'); - $factory = $this->createFactory(); - $factory->expects($this->at(0)) - ->method('createIdHeader') - ->with('Message-ID', 'some@id') - ->will($this->returnValue($header0)); - $factory->expects($this->at(1)) - ->method('createIdHeader') - ->with('Subject', 'thing') - ->will($this->returnValue($header1)); - $factory->expects($this->at(2)) - ->method('createIdHeader') - ->with('To', 'person@example.org') - ->will($this->returnValue($header2)); - - $set = $this->createSet($factory); - $set->addIdHeader('Message-ID', 'some@id'); - $set->addIdHeader('Subject', 'thing'); - $set->addIdHeader('To', 'person@example.org'); - - $this->assertEquals([$header0, $header1, $header2], - $set->getAll() - ); - } - - public function testGetAllReturnsEmptyArrayIfNoneSet() - { - $set = $this->createSet($this->createFactory()); - $this->assertEquals([], $set->getAll('Received')); - } - - public function testRemoveWithUnspecifiedOffset() - { - $header = $this->createHeader('Message-ID'); - $factory = $this->createFactory(); - $factory->expects($this->at(0)) - ->method('createIdHeader') - ->with('Message-ID', 'some@id') - ->will($this->returnValue($header)); - - $set = $this->createSet($factory); - $set->addIdHeader('Message-ID', 'some@id'); - $set->remove('Message-ID'); - $this->assertFalse($set->has('Message-ID')); - } - - public function testRemoveWithSpecifiedIndexRemovesHeader() - { - $header0 = $this->createHeader('Message-ID'); - $header1 = $this->createHeader('Message-ID'); - $factory = $this->createFactory(); - $factory->expects($this->at(0)) - ->method('createIdHeader') - ->with('Message-ID', 'some@id') - ->will($this->returnValue($header0)); - $factory->expects($this->at(1)) - ->method('createIdHeader') - ->with('Message-ID', 'other@id') - ->will($this->returnValue($header1)); - - $set = $this->createSet($factory); - $set->addIdHeader('Message-ID', 'some@id'); - $set->addIdHeader('Message-ID', 'other@id'); - $set->remove('Message-ID', 0); - $this->assertFalse($set->has('Message-ID', 0)); - $this->assertTrue($set->has('Message-ID', 1)); - $this->assertTrue($set->has('Message-ID')); - $set->remove('Message-ID', 1); - $this->assertFalse($set->has('Message-ID', 1)); - $this->assertFalse($set->has('Message-ID')); - } - - public function testRemoveWithSpecifiedIndexLeavesOtherHeaders() - { - $header0 = $this->createHeader('Message-ID'); - $header1 = $this->createHeader('Message-ID'); - $factory = $this->createFactory(); - $factory->expects($this->at(0)) - ->method('createIdHeader') - ->with('Message-ID', 'some@id') - ->will($this->returnValue($header0)); - $factory->expects($this->at(1)) - ->method('createIdHeader') - ->with('Message-ID', 'other@id') - ->will($this->returnValue($header1)); - - $set = $this->createSet($factory); - $set->addIdHeader('Message-ID', 'some@id'); - $set->addIdHeader('Message-ID', 'other@id'); - $set->remove('Message-ID', 1); - $this->assertTrue($set->has('Message-ID', 0)); - } - - public function testRemoveWithInvalidOffsetDoesNothing() - { - $header = $this->createHeader('Message-ID'); - $factory = $this->createFactory(); - $factory->expects($this->at(0)) - ->method('createIdHeader') - ->with('Message-ID', 'some@id') - ->will($this->returnValue($header)); - - $set = $this->createSet($factory); - $set->addIdHeader('Message-ID', 'some@id'); - $set->remove('Message-ID', 50); - $this->assertTrue($set->has('Message-ID')); - } - - public function testRemoveAllRemovesAllHeadersWithName() - { - $header0 = $this->createHeader('Message-ID'); - $header1 = $this->createHeader('Message-ID'); - $factory = $this->createFactory(); - $factory->expects($this->at(0)) - ->method('createIdHeader') - ->with('Message-ID', 'some@id') - ->will($this->returnValue($header0)); - $factory->expects($this->at(1)) - ->method('createIdHeader') - ->with('Message-ID', 'other@id') - ->will($this->returnValue($header1)); - - $set = $this->createSet($factory); - $set->addIdHeader('Message-ID', 'some@id'); - $set->addIdHeader('Message-ID', 'other@id'); - $set->removeAll('Message-ID'); - $this->assertFalse($set->has('Message-ID', 0)); - $this->assertFalse($set->has('Message-ID', 1)); - } - - public function testHasIsNotCaseSensitive() - { - $header = $this->createHeader('Message-ID'); - $factory = $this->createFactory(); - $factory->expects($this->at(0)) - ->method('createIdHeader') - ->with('Message-ID', 'some@id') - ->will($this->returnValue($header)); - - $set = $this->createSet($factory); - $set->addIdHeader('Message-ID', 'some@id'); - $this->assertTrue($set->has('message-id')); - } - - public function testGetIsNotCaseSensitive() - { - $header = $this->createHeader('Message-ID'); - $factory = $this->createFactory(); - $factory->expects($this->at(0)) - ->method('createIdHeader') - ->with('Message-ID', 'some@id') - ->will($this->returnValue($header)); - - $set = $this->createSet($factory); - $set->addIdHeader('Message-ID', 'some@id'); - $this->assertSame($header, $set->get('message-id')); - } - - public function testGetAllIsNotCaseSensitive() - { - $header = $this->createHeader('Message-ID'); - $factory = $this->createFactory(); - $factory->expects($this->at(0)) - ->method('createIdHeader') - ->with('Message-ID', 'some@id') - ->will($this->returnValue($header)); - - $set = $this->createSet($factory); - $set->addIdHeader('Message-ID', 'some@id'); - $this->assertEquals([$header], $set->getAll('message-id')); - } - - public function testRemoveIsNotCaseSensitive() - { - $header = $this->createHeader('Message-ID'); - $factory = $this->createFactory(); - $factory->expects($this->at(0)) - ->method('createIdHeader') - ->with('Message-ID', 'some@id') - ->will($this->returnValue($header)); - - $set = $this->createSet($factory); - $set->addIdHeader('Message-ID', 'some@id'); - $set->remove('message-id'); - $this->assertFalse($set->has('Message-ID')); - } - - public function testRemoveAllIsNotCaseSensitive() - { - $header = $this->createHeader('Message-ID'); - $factory = $this->createFactory(); - $factory->expects($this->at(0)) - ->method('createIdHeader') - ->with('Message-ID', 'some@id') - ->will($this->returnValue($header)); - - $set = $this->createSet($factory); - $set->addIdHeader('Message-ID', 'some@id'); - $set->removeAll('message-id'); - $this->assertFalse($set->has('Message-ID')); - } - - public function testToStringJoinsHeadersTogether() - { - $factory = $this->createFactory(); - $factory->expects($this->at(0)) - ->method('createTextHeader') - ->with('Foo', 'bar') - ->will($this->returnValue($this->createHeader('Foo', 'bar'))); - $factory->expects($this->at(1)) - ->method('createTextHeader') - ->with('Zip', 'buttons') - ->will($this->returnValue($this->createHeader('Zip', 'buttons'))); - - $set = $this->createSet($factory); - $set->addTextHeader('Foo', 'bar'); - $set->addTextHeader('Zip', 'buttons'); - $this->assertEquals( - "Foo: bar\r\n". - "Zip: buttons\r\n", - $set->toString() - ); - } - - public function testHeadersWithoutBodiesAreNotDisplayed() - { - $factory = $this->createFactory(); - $factory->expects($this->at(0)) - ->method('createTextHeader') - ->with('Foo', 'bar') - ->will($this->returnValue($this->createHeader('Foo', 'bar'))); - $factory->expects($this->at(1)) - ->method('createTextHeader') - ->with('Zip', '') - ->will($this->returnValue($this->createHeader('Zip', ''))); - - $set = $this->createSet($factory); - $set->addTextHeader('Foo', 'bar'); - $set->addTextHeader('Zip', ''); - $this->assertEquals( - "Foo: bar\r\n", - $set->toString() - ); - } - - public function testHeadersWithoutBodiesCanBeForcedToDisplay() - { - $factory = $this->createFactory(); - $factory->expects($this->at(0)) - ->method('createTextHeader') - ->with('Foo', '') - ->will($this->returnValue($this->createHeader('Foo', ''))); - $factory->expects($this->at(1)) - ->method('createTextHeader') - ->with('Zip', '') - ->will($this->returnValue($this->createHeader('Zip', ''))); - - $set = $this->createSet($factory); - $set->addTextHeader('Foo', ''); - $set->addTextHeader('Zip', ''); - $set->setAlwaysDisplayed(['Foo', 'Zip']); - $this->assertEquals( - "Foo: \r\n". - "Zip: \r\n", - $set->toString() - ); - } - - public function testHeaderSequencesCanBeSpecified() - { - $factory = $this->createFactory(); - $factory->expects($this->at(0)) - ->method('createTextHeader') - ->with('Third', 'three') - ->will($this->returnValue($this->createHeader('Third', 'three'))); - $factory->expects($this->at(1)) - ->method('createTextHeader') - ->with('First', 'one') - ->will($this->returnValue($this->createHeader('First', 'one'))); - $factory->expects($this->at(2)) - ->method('createTextHeader') - ->with('Second', 'two') - ->will($this->returnValue($this->createHeader('Second', 'two'))); - - $set = $this->createSet($factory); - $set->addTextHeader('Third', 'three'); - $set->addTextHeader('First', 'one'); - $set->addTextHeader('Second', 'two'); - - $set->defineOrdering(['First', 'Second', 'Third']); - - $this->assertEquals( - "First: one\r\n". - "Second: two\r\n". - "Third: three\r\n", - $set->toString() - ); - } - - public function testUnsortedHeadersAppearAtEnd() - { - $factory = $this->createFactory(); - $factory->expects($this->at(0)) - ->method('createTextHeader') - ->with('Fourth', 'four') - ->will($this->returnValue($this->createHeader('Fourth', 'four'))); - $factory->expects($this->at(1)) - ->method('createTextHeader') - ->with('Fifth', 'five') - ->will($this->returnValue($this->createHeader('Fifth', 'five'))); - $factory->expects($this->at(2)) - ->method('createTextHeader') - ->with('Third', 'three') - ->will($this->returnValue($this->createHeader('Third', 'three'))); - $factory->expects($this->at(3)) - ->method('createTextHeader') - ->with('First', 'one') - ->will($this->returnValue($this->createHeader('First', 'one'))); - $factory->expects($this->at(4)) - ->method('createTextHeader') - ->with('Second', 'two') - ->will($this->returnValue($this->createHeader('Second', 'two'))); - - $set = $this->createSet($factory); - $set->addTextHeader('Fourth', 'four'); - $set->addTextHeader('Fifth', 'five'); - $set->addTextHeader('Third', 'three'); - $set->addTextHeader('First', 'one'); - $set->addTextHeader('Second', 'two'); - - $set->defineOrdering(['First', 'Second', 'Third']); - - $this->assertEquals( - "First: one\r\n". - "Second: two\r\n". - "Third: three\r\n". - "Fourth: four\r\n". - "Fifth: five\r\n", - $set->toString() - ); - } - - public function testSettingCharsetNotifiesAlreadyExistingHeaders() - { - $subject = $this->createHeader('Subject', 'some text'); - $xHeader = $this->createHeader('X-Header', 'some text'); - $factory = $this->createFactory(); - $factory->expects($this->at(0)) - ->method('createTextHeader') - ->with('Subject', 'some text') - ->will($this->returnValue($subject)); - $factory->expects($this->at(1)) - ->method('createTextHeader') - ->with('X-Header', 'some text') - ->will($this->returnValue($xHeader)); - $subject->expects($this->once()) - ->method('setCharset') - ->with('utf-8'); - $xHeader->expects($this->once()) - ->method('setCharset') - ->with('utf-8'); - - $set = $this->createSet($factory); - $set->addTextHeader('Subject', 'some text'); - $set->addTextHeader('X-Header', 'some text'); - - $set->setCharset('utf-8'); - } - - public function testCharsetChangeNotifiesAlreadyExistingHeaders() - { - $subject = $this->createHeader('Subject', 'some text'); - $xHeader = $this->createHeader('X-Header', 'some text'); - $factory = $this->createFactory(); - $factory->expects($this->at(0)) - ->method('createTextHeader') - ->with('Subject', 'some text') - ->will($this->returnValue($subject)); - $factory->expects($this->at(1)) - ->method('createTextHeader') - ->with('X-Header', 'some text') - ->will($this->returnValue($xHeader)); - $subject->expects($this->once()) - ->method('setCharset') - ->with('utf-8'); - $xHeader->expects($this->once()) - ->method('setCharset') - ->with('utf-8'); - - $set = $this->createSet($factory); - $set->addTextHeader('Subject', 'some text'); - $set->addTextHeader('X-Header', 'some text'); - - $set->charsetChanged('utf-8'); - } - - public function testCharsetChangeNotifiesFactory() - { - $factory = $this->createFactory(); - $factory->expects($this->once()) - ->method('charsetChanged') - ->with('utf-8'); - - $set = $this->createSet($factory); - - $set->setCharset('utf-8'); - } - - private function createSet($factory) - { - return new Swift_Mime_SimpleHeaderSet($factory); - } - - private function createFactory() - { - return $this->getMockBuilder('Swift_Mime_SimpleHeaderFactory')->disableOriginalConstructor()->getMock(); - } - - private function createHeader($name, $body = '') - { - $header = $this->getMockBuilder('Swift_Mime_Header')->getMock(); - $header->expects($this->any()) - ->method('getFieldName') - ->will($this->returnValue($name)); - $header->expects($this->any()) - ->method('toString') - ->will($this->returnValue(sprintf("%s: %s\r\n", $name, $body))); - $header->expects($this->any()) - ->method('getFieldBody') - ->will($this->returnValue($body)); - - return $header; - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/SimpleMessageTest.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/SimpleMessageTest.php deleted file mode 100644 index c5662cb..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/SimpleMessageTest.php +++ /dev/null @@ -1,837 +0,0 @@ -addToAssertionCount(1); - } - - public function testNestingLevelIsTop() - { - $message = $this->createMessage($this->createHeaderSet(), - $this->createEncoder(), $this->createCache() - ); - $this->assertEquals( - Swift_Mime_SimpleMimeEntity::LEVEL_TOP, $message->getNestingLevel() - ); - } - - public function testDateIsReturnedFromHeader() - { - $dateTime = new DateTimeImmutable(); - - $date = $this->createHeader('Date', $dateTime); - $message = $this->createMessage( - $this->createHeaderSet(['Date' => $date]), - $this->createEncoder(), $this->createCache() - ); - $this->assertEquals($dateTime, $message->getDate()); - } - - public function testDateIsSetInHeader() - { - $dateTime = new DateTimeImmutable(); - - $date = $this->createHeader('Date', new DateTimeImmutable(), [], false); - $date->shouldReceive('setFieldBodyModel') - ->once() - ->with($dateTime); - $date->shouldReceive('setFieldBodyModel') - ->zeroOrMoreTimes(); - - $message = $this->createMessage( - $this->createHeaderSet(['Date' => $date]), - $this->createEncoder(), $this->createCache() - ); - $message->setDate($dateTime); - } - - public function testDateHeaderIsCreatedIfNonePresent() - { - $dateTime = new DateTimeImmutable(); - - $headers = $this->createHeaderSet([], false); - $headers->shouldReceive('addDateHeader') - ->once() - ->with('Date', $dateTime); - $headers->shouldReceive('addDateHeader') - ->zeroOrMoreTimes(); - - $message = $this->createMessage($headers, $this->createEncoder(), - $this->createCache() - ); - $message->setDate($dateTime); - } - - public function testDateHeaderIsAddedDuringConstruction() - { - $headers = $this->createHeaderSet([], false); - $headers->shouldReceive('addDateHeader') - ->once() - ->with('Date', Mockery::type('DateTimeImmutable')); - - $message = $this->createMessage($headers, $this->createEncoder(), - $this->createCache() - ); - } - - public function testIdIsReturnedFromHeader() - { - /* -- RFC 2045, 7. - In constructing a high-level user agent, it may be desirable to allow - one body to make reference to another. Accordingly, bodies may be - labelled using the "Content-ID" header field, which is syntactically - identical to the "Message-ID" header field - */ - - $messageId = $this->createHeader('Message-ID', 'a@b'); - $message = $this->createMessage( - $this->createHeaderSet(['Message-ID' => $messageId]), - $this->createEncoder(), $this->createCache() - ); - $this->assertEquals('a@b', $message->getId()); - } - - public function testIdIsSetInHeader() - { - $messageId = $this->createHeader('Message-ID', 'a@b', [], false); - $messageId->shouldReceive('setFieldBodyModel') - ->once() - ->with('x@y'); - $messageId->shouldReceive('setFieldBodyModel') - ->zeroOrMoreTimes(); - - $message = $this->createMessage( - $this->createHeaderSet(['Message-ID' => $messageId]), - $this->createEncoder(), $this->createCache() - ); - $message->setId('x@y'); - } - - public function testIdIsAutoGenerated() - { - $headers = $this->createHeaderSet([], false); - $headers->shouldReceive('addIdHeader') - ->once() - ->with('Message-ID', '/^.*?@.*?$/D'); - - $message = $this->createMessage($headers, $this->createEncoder(), - $this->createCache() - ); - } - - public function testSubjectIsReturnedFromHeader() - { - /* -- RFC 2822, 3.6.5. - */ - - $subject = $this->createHeader('Subject', 'example subject'); - $message = $this->createMessage( - $this->createHeaderSet(['Subject' => $subject]), - $this->createEncoder(), $this->createCache() - ); - $this->assertEquals('example subject', $message->getSubject()); - } - - public function testSubjectIsSetInHeader() - { - $subject = $this->createHeader('Subject', '', [], false); - $subject->shouldReceive('setFieldBodyModel') - ->once() - ->with('foo'); - - $message = $this->createMessage( - $this->createHeaderSet(['Subject' => $subject]), - $this->createEncoder(), $this->createCache() - ); - $message->setSubject('foo'); - } - - public function testSubjectHeaderIsCreatedIfNotPresent() - { - $headers = $this->createHeaderSet([], false); - $headers->shouldReceive('addTextHeader') - ->once() - ->with('Subject', 'example subject'); - $headers->shouldReceive('addTextHeader') - ->zeroOrMoreTimes(); - - $message = $this->createMessage($headers, $this->createEncoder(), - $this->createCache() - ); - $message->setSubject('example subject'); - } - - public function testReturnPathIsReturnedFromHeader() - { - /* -- RFC 2822, 3.6.7. - */ - - $path = $this->createHeader('Return-Path', 'bounces@domain'); - $message = $this->createMessage( - $this->createHeaderSet(['Return-Path' => $path]), - $this->createEncoder(), $this->createCache() - ); - $this->assertEquals('bounces@domain', $message->getReturnPath()); - } - - public function testReturnPathIsSetInHeader() - { - $path = $this->createHeader('Return-Path', '', [], false); - $path->shouldReceive('setFieldBodyModel') - ->once() - ->with('bounces@domain'); - - $message = $this->createMessage( - $this->createHeaderSet(['Return-Path' => $path]), - $this->createEncoder(), $this->createCache() - ); - $message->setReturnPath('bounces@domain'); - } - - public function testReturnPathHeaderIsAddedIfNoneSet() - { - $headers = $this->createHeaderSet([], false); - $headers->shouldReceive('addPathHeader') - ->once() - ->with('Return-Path', 'bounces@domain'); - - $message = $this->createMessage($headers, $this->createEncoder(), - $this->createCache() - ); - $message->setReturnPath('bounces@domain'); - } - - public function testSenderIsReturnedFromHeader() - { - /* -- RFC 2822, 3.6.2. - */ - - $sender = $this->createHeader('Sender', ['sender@domain' => 'Name']); - $message = $this->createMessage( - $this->createHeaderSet(['Sender' => $sender]), - $this->createEncoder(), $this->createCache() - ); - $this->assertEquals(['sender@domain' => 'Name'], $message->getSender()); - } - - public function testSenderIsSetInHeader() - { - $sender = $this->createHeader('Sender', ['sender@domain' => 'Name'], - [], false - ); - $sender->shouldReceive('setFieldBodyModel') - ->once() - ->with(['other@domain' => 'Other']); - - $message = $this->createMessage( - $this->createHeaderSet(['Sender' => $sender]), - $this->createEncoder(), $this->createCache() - ); - $message->setSender(['other@domain' => 'Other']); - } - - public function testSenderHeaderIsAddedIfNoneSet() - { - $headers = $this->createHeaderSet([], false); - $headers->shouldReceive('addMailboxHeader') - ->once() - ->with('Sender', (array) 'sender@domain'); - $headers->shouldReceive('addMailboxHeader') - ->zeroOrMoreTimes(); - - $message = $this->createMessage($headers, $this->createEncoder(), - $this->createCache() - ); - $message->setSender('sender@domain'); - } - - public function testNameCanBeUsedInSenderHeader() - { - $headers = $this->createHeaderSet([], false); - $headers->shouldReceive('addMailboxHeader') - ->once() - ->with('Sender', ['sender@domain' => 'Name']); - $headers->shouldReceive('addMailboxHeader') - ->zeroOrMoreTimes(); - - $message = $this->createMessage($headers, $this->createEncoder(), - $this->createCache() - ); - $message->setSender('sender@domain', 'Name'); - } - - public function testFromIsReturnedFromHeader() - { - /* -- RFC 2822, 3.6.2. - */ - - $from = $this->createHeader('From', ['from@domain' => 'Name']); - $message = $this->createMessage( - $this->createHeaderSet(['From' => $from]), - $this->createEncoder(), $this->createCache() - ); - $this->assertEquals(['from@domain' => 'Name'], $message->getFrom()); - } - - public function testFromIsSetInHeader() - { - $from = $this->createHeader('From', ['from@domain' => 'Name'], - [], false - ); - $from->shouldReceive('setFieldBodyModel') - ->once() - ->with(['other@domain' => 'Other']); - - $message = $this->createMessage( - $this->createHeaderSet(['From' => $from]), - $this->createEncoder(), $this->createCache() - ); - $message->setFrom(['other@domain' => 'Other']); - } - - public function testFromIsAddedToHeadersDuringAddFrom() - { - $from = $this->createHeader('From', ['from@domain' => 'Name'], - [], false - ); - $from->shouldReceive('setFieldBodyModel') - ->once() - ->with(['from@domain' => 'Name', 'other@domain' => 'Other']); - - $message = $this->createMessage( - $this->createHeaderSet(['From' => $from]), - $this->createEncoder(), $this->createCache() - ); - $message->addFrom('other@domain', 'Other'); - } - - public function testFromHeaderIsAddedIfNoneSet() - { - $headers = $this->createHeaderSet([], false); - $headers->shouldReceive('addMailboxHeader') - ->once() - ->with('From', (array) 'from@domain'); - $headers->shouldReceive('addMailboxHeader') - ->zeroOrMoreTimes(); - - $message = $this->createMessage($headers, $this->createEncoder(), - $this->createCache() - ); - $message->setFrom('from@domain'); - } - - public function testPersonalNameCanBeUsedInFromAddress() - { - $headers = $this->createHeaderSet([], false); - $headers->shouldReceive('addMailboxHeader') - ->once() - ->with('From', ['from@domain' => 'Name']); - $headers->shouldReceive('addMailboxHeader') - ->zeroOrMoreTimes(); - - $message = $this->createMessage($headers, $this->createEncoder(), - $this->createCache() - ); - $message->setFrom('from@domain', 'Name'); - } - - public function testReplyToIsReturnedFromHeader() - { - /* -- RFC 2822, 3.6.2. - */ - - $reply = $this->createHeader('Reply-To', ['reply@domain' => 'Name']); - $message = $this->createMessage( - $this->createHeaderSet(['Reply-To' => $reply]), - $this->createEncoder(), $this->createCache() - ); - $this->assertEquals(['reply@domain' => 'Name'], $message->getReplyTo()); - } - - public function testReplyToIsSetInHeader() - { - $reply = $this->createHeader('Reply-To', ['reply@domain' => 'Name'], - [], false - ); - $reply->shouldReceive('setFieldBodyModel') - ->once() - ->with(['other@domain' => 'Other']); - - $message = $this->createMessage( - $this->createHeaderSet(['Reply-To' => $reply]), - $this->createEncoder(), $this->createCache() - ); - $message->setReplyTo(['other@domain' => 'Other']); - } - - public function testReplyToIsAddedToHeadersDuringAddReplyTo() - { - $replyTo = $this->createHeader('Reply-To', ['from@domain' => 'Name'], - [], false - ); - $replyTo->shouldReceive('setFieldBodyModel') - ->once() - ->with(['from@domain' => 'Name', 'other@domain' => 'Other']); - - $message = $this->createMessage( - $this->createHeaderSet(['Reply-To' => $replyTo]), - $this->createEncoder(), $this->createCache() - ); - $message->addReplyTo('other@domain', 'Other'); - } - - public function testReplyToHeaderIsAddedIfNoneSet() - { - $headers = $this->createHeaderSet([], false); - $headers->shouldReceive('addMailboxHeader') - ->once() - ->with('Reply-To', (array) 'reply@domain'); - $headers->shouldReceive('addMailboxHeader') - ->zeroOrMoreTimes(); - - $message = $this->createMessage($headers, $this->createEncoder(), - $this->createCache() - ); - $message->setReplyTo('reply@domain'); - } - - public function testNameCanBeUsedInReplyTo() - { - $headers = $this->createHeaderSet([], false); - $headers->shouldReceive('addMailboxHeader') - ->once() - ->with('Reply-To', ['reply@domain' => 'Name']); - $headers->shouldReceive('addMailboxHeader') - ->zeroOrMoreTimes(); - - $message = $this->createMessage($headers, $this->createEncoder(), - $this->createCache() - ); - $message->setReplyTo('reply@domain', 'Name'); - } - - public function testToIsReturnedFromHeader() - { - /* -- RFC 2822, 3.6.3. - */ - - $to = $this->createHeader('To', ['to@domain' => 'Name']); - $message = $this->createMessage( - $this->createHeaderSet(['To' => $to]), - $this->createEncoder(), $this->createCache() - ); - $this->assertEquals(['to@domain' => 'Name'], $message->getTo()); - } - - public function testToIsSetInHeader() - { - $to = $this->createHeader('To', ['to@domain' => 'Name'], - [], false - ); - $to->shouldReceive('setFieldBodyModel') - ->once() - ->with(['other@domain' => 'Other']); - - $message = $this->createMessage( - $this->createHeaderSet(['To' => $to]), - $this->createEncoder(), $this->createCache() - ); - $message->setTo(['other@domain' => 'Other']); - } - - public function testToIsAddedToHeadersDuringAddTo() - { - $to = $this->createHeader('To', ['from@domain' => 'Name'], - [], false - ); - $to->shouldReceive('setFieldBodyModel') - ->once() - ->with(['from@domain' => 'Name', 'other@domain' => 'Other']); - - $message = $this->createMessage( - $this->createHeaderSet(['To' => $to]), - $this->createEncoder(), $this->createCache() - ); - $message->addTo('other@domain', 'Other'); - } - - public function testToHeaderIsAddedIfNoneSet() - { - $headers = $this->createHeaderSet([], false); - $headers->shouldReceive('addMailboxHeader') - ->once() - ->with('To', (array) 'to@domain'); - $headers->shouldReceive('addMailboxHeader') - ->zeroOrMoreTimes(); - - $message = $this->createMessage($headers, $this->createEncoder(), - $this->createCache() - ); - $message->setTo('to@domain'); - } - - public function testNameCanBeUsedInToHeader() - { - $headers = $this->createHeaderSet([], false); - $headers->shouldReceive('addMailboxHeader') - ->once() - ->with('To', ['to@domain' => 'Name']); - $headers->shouldReceive('addMailboxHeader') - ->zeroOrMoreTimes(); - - $message = $this->createMessage($headers, $this->createEncoder(), - $this->createCache() - ); - $message->setTo('to@domain', 'Name'); - } - - public function testCcIsReturnedFromHeader() - { - /* -- RFC 2822, 3.6.3. - */ - - $cc = $this->createHeader('Cc', ['cc@domain' => 'Name']); - $message = $this->createMessage( - $this->createHeaderSet(['Cc' => $cc]), - $this->createEncoder(), $this->createCache() - ); - $this->assertEquals(['cc@domain' => 'Name'], $message->getCc()); - } - - public function testCcIsSetInHeader() - { - $cc = $this->createHeader('Cc', ['cc@domain' => 'Name'], - [], false - ); - $cc->shouldReceive('setFieldBodyModel') - ->once() - ->with(['other@domain' => 'Other']); - - $message = $this->createMessage( - $this->createHeaderSet(['Cc' => $cc]), - $this->createEncoder(), $this->createCache() - ); - $message->setCc(['other@domain' => 'Other']); - } - - public function testCcIsAddedToHeadersDuringAddCc() - { - $cc = $this->createHeader('Cc', ['from@domain' => 'Name'], - [], false - ); - $cc->shouldReceive('setFieldBodyModel') - ->once() - ->with(['from@domain' => 'Name', 'other@domain' => 'Other']); - - $message = $this->createMessage( - $this->createHeaderSet(['Cc' => $cc]), - $this->createEncoder(), $this->createCache() - ); - $message->addCc('other@domain', 'Other'); - } - - public function testCcHeaderIsAddedIfNoneSet() - { - $headers = $this->createHeaderSet([], false); - $headers->shouldReceive('addMailboxHeader') - ->once() - ->with('Cc', (array) 'cc@domain'); - $headers->shouldReceive('addMailboxHeader') - ->zeroOrMoreTimes(); - - $message = $this->createMessage($headers, $this->createEncoder(), - $this->createCache() - ); - $message->setCc('cc@domain'); - } - - public function testNameCanBeUsedInCcHeader() - { - $headers = $this->createHeaderSet([], false); - $headers->shouldReceive('addMailboxHeader') - ->once() - ->with('Cc', ['cc@domain' => 'Name']); - $headers->shouldReceive('addMailboxHeader') - ->zeroOrMoreTimes(); - - $message = $this->createMessage($headers, $this->createEncoder(), - $this->createCache() - ); - $message->setCc('cc@domain', 'Name'); - } - - public function testBccIsReturnedFromHeader() - { - /* -- RFC 2822, 3.6.3. - */ - - $bcc = $this->createHeader('Bcc', ['bcc@domain' => 'Name']); - $message = $this->createMessage( - $this->createHeaderSet(['Bcc' => $bcc]), - $this->createEncoder(), $this->createCache() - ); - $this->assertEquals(['bcc@domain' => 'Name'], $message->getBcc()); - } - - public function testBccIsSetInHeader() - { - $bcc = $this->createHeader('Bcc', ['bcc@domain' => 'Name'], - [], false - ); - $bcc->shouldReceive('setFieldBodyModel') - ->once() - ->with(['other@domain' => 'Other']); - - $message = $this->createMessage( - $this->createHeaderSet(['Bcc' => $bcc]), - $this->createEncoder(), $this->createCache() - ); - $message->setBcc(['other@domain' => 'Other']); - } - - public function testBccIsAddedToHeadersDuringAddBcc() - { - $bcc = $this->createHeader('Bcc', ['from@domain' => 'Name'], - [], false - ); - $bcc->shouldReceive('setFieldBodyModel') - ->once() - ->with(['from@domain' => 'Name', 'other@domain' => 'Other']); - - $message = $this->createMessage( - $this->createHeaderSet(['Bcc' => $bcc]), - $this->createEncoder(), $this->createCache() - ); - $message->addBcc('other@domain', 'Other'); - } - - public function testBccHeaderIsAddedIfNoneSet() - { - $headers = $this->createHeaderSet([], false); - $headers->shouldReceive('addMailboxHeader') - ->once() - ->with('Bcc', (array) 'bcc@domain'); - $headers->shouldReceive('addMailboxHeader') - ->zeroOrMoreTimes(); - - $message = $this->createMessage($headers, $this->createEncoder(), - $this->createCache() - ); - $message->setBcc('bcc@domain'); - } - - public function testNameCanBeUsedInBcc() - { - $headers = $this->createHeaderSet([], false); - $headers->shouldReceive('addMailboxHeader') - ->once() - ->with('Bcc', ['bcc@domain' => 'Name']); - $headers->shouldReceive('addMailboxHeader') - ->zeroOrMoreTimes(); - - $message = $this->createMessage($headers, $this->createEncoder(), - $this->createCache() - ); - $message->setBcc('bcc@domain', 'Name'); - } - - public function testPriorityIsReadFromHeader() - { - $prio = $this->createHeader('X-Priority', '2 (High)'); - $message = $this->createMessage( - $this->createHeaderSet(['X-Priority' => $prio]), - $this->createEncoder(), $this->createCache() - ); - $this->assertEquals(2, $message->getPriority()); - } - - public function testPriorityIsSetInHeader() - { - $prio = $this->createHeader('X-Priority', '2 (High)', [], false); - $prio->shouldReceive('setFieldBodyModel') - ->once() - ->with('5 (Lowest)'); - - $message = $this->createMessage( - $this->createHeaderSet(['X-Priority' => $prio]), - $this->createEncoder(), $this->createCache() - ); - $message->setPriority($message::PRIORITY_LOWEST); - } - - public function testPriorityHeaderIsAddedIfNoneSet() - { - $headers = $this->createHeaderSet([], false); - $headers->shouldReceive('addTextHeader') - ->once() - ->with('X-Priority', '4 (Low)'); - $headers->shouldReceive('addTextHeader') - ->zeroOrMoreTimes(); - - $message = $this->createMessage($headers, $this->createEncoder(), - $this->createCache() - ); - $message->setPriority($message::PRIORITY_LOW); - } - - public function testReadReceiptAddressReadFromHeader() - { - $rcpt = $this->createHeader('Disposition-Notification-To', - ['chris@swiftmailer.org' => 'Chris'] - ); - $message = $this->createMessage( - $this->createHeaderSet(['Disposition-Notification-To' => $rcpt]), - $this->createEncoder(), $this->createCache() - ); - $this->assertEquals(['chris@swiftmailer.org' => 'Chris'], - $message->getReadReceiptTo() - ); - } - - public function testReadReceiptIsSetInHeader() - { - $rcpt = $this->createHeader('Disposition-Notification-To', [], [], false); - $rcpt->shouldReceive('setFieldBodyModel') - ->once() - ->with('mark@swiftmailer.org'); - - $message = $this->createMessage( - $this->createHeaderSet(['Disposition-Notification-To' => $rcpt]), - $this->createEncoder(), $this->createCache() - ); - $message->setReadReceiptTo('mark@swiftmailer.org'); - } - - public function testReadReceiptHeaderIsAddedIfNoneSet() - { - $headers = $this->createHeaderSet([], false); - $headers->shouldReceive('addMailboxHeader') - ->once() - ->with('Disposition-Notification-To', 'mark@swiftmailer.org'); - $headers->shouldReceive('addMailboxHeader') - ->zeroOrMoreTimes(); - - $message = $this->createMessage($headers, $this->createEncoder(), - $this->createCache() - ); - $message->setReadReceiptTo('mark@swiftmailer.org'); - } - - public function testChildrenCanBeAttached() - { - $child1 = $this->createChild(); - $child2 = $this->createChild(); - - $message = $this->createMessage($this->createHeaderSet(), - $this->createEncoder(), $this->createCache() - ); - - $message->attach($child1); - $message->attach($child2); - - $this->assertEquals([$child1, $child2], $message->getChildren()); - } - - public function testChildrenCanBeDetached() - { - $child1 = $this->createChild(); - $child2 = $this->createChild(); - - $message = $this->createMessage($this->createHeaderSet(), - $this->createEncoder(), $this->createCache() - ); - - $message->attach($child1); - $message->attach($child2); - - $message->detach($child1); - - $this->assertEquals([$child2], $message->getChildren()); - } - - public function testEmbedAttachesChild() - { - $child = $this->createChild(); - - $message = $this->createMessage($this->createHeaderSet(), - $this->createEncoder(), $this->createCache() - ); - - $message->embed($child); - - $this->assertEquals([$child], $message->getChildren()); - } - - public function testEmbedReturnsValidCid() - { - $child = $this->createChild(Swift_Mime_SimpleMimeEntity::LEVEL_RELATED, '', - false - ); - $child->shouldReceive('getId') - ->zeroOrMoreTimes() - ->andReturn('foo@bar'); - - $message = $this->createMessage($this->createHeaderSet(), - $this->createEncoder(), $this->createCache() - ); - - $this->assertEquals('cid:foo@bar', $message->embed($child)); - } - - public function testFluidInterface() - { - $child = $this->createChild(); - $message = $this->createMessage($this->createHeaderSet(), - $this->createEncoder(), $this->createCache() - ); - $this->assertSame($message, - $message - ->setContentType('text/plain') - ->setEncoder($this->createEncoder()) - ->setId('foo@bar') - ->setDescription('my description') - ->setMaxLineLength(998) - ->setBody('xx') - ->setBoundary('xyz') - ->setChildren([]) - ->setCharset('iso-8859-1') - ->setFormat('flowed') - ->setDelSp(false) - ->setSubject('subj') - ->setDate(new DateTimeImmutable()) - ->setReturnPath('foo@bar') - ->setSender('foo@bar') - ->setFrom(['x@y' => 'XY']) - ->setReplyTo(['ab@cd' => 'ABCD']) - ->setTo(['chris@site.tld', 'mark@site.tld']) - ->setCc('john@somewhere.tld') - ->setBcc(['one@site', 'two@site' => 'Two']) - ->setPriority($message::PRIORITY_LOW) - ->setReadReceiptTo('a@b') - ->attach($child) - ->detach($child) - ); - } - - //abstract - protected function createEntity($headers, $encoder, $cache) - { - return $this->createMessage($headers, $encoder, $cache); - } - - protected function createMimePart($headers, $encoder, $cache) - { - return $this->createMessage($headers, $encoder, $cache); - } - - private function createMessage($headers, $encoder, $cache) - { - $idGenerator = new Swift_Mime_IdGenerator('example.com'); - - return new Swift_Mime_SimpleMessage($headers, $encoder, $cache, $idGenerator); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/SimpleMimeEntityTest.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/SimpleMimeEntityTest.php deleted file mode 100644 index 24578ed..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/SimpleMimeEntityTest.php +++ /dev/null @@ -1,12 +0,0 @@ -assertEquals(10, $plugin->getThreshold()); - $plugin->setThreshold(100); - $this->assertEquals(100, $plugin->getThreshold()); - } - - public function testSleepTimeCanBeSetAndFetched() - { - $plugin = new Swift_Plugins_AntiFloodPlugin(10, 5); - $this->assertEquals(5, $plugin->getSleepTime()); - $plugin->setSleepTime(1); - $this->assertEquals(1, $plugin->getSleepTime()); - } - - public function testPluginStopsConnectionAfterThreshold() - { - $transport = $this->createTransport(); - $transport->expects($this->once()) - ->method('start'); - $transport->expects($this->once()) - ->method('stop'); - - $evt = $this->createSendEvent($transport); - - $plugin = new Swift_Plugins_AntiFloodPlugin(10); - for ($i = 0; $i < 12; ++$i) { - $plugin->sendPerformed($evt); - } - } - - public function testPluginCanStopAndStartMultipleTimes() - { - $transport = $this->createTransport(); - $transport->expects($this->exactly(5)) - ->method('start'); - $transport->expects($this->exactly(5)) - ->method('stop'); - - $evt = $this->createSendEvent($transport); - - $plugin = new Swift_Plugins_AntiFloodPlugin(2); - for ($i = 0; $i < 11; ++$i) { - $plugin->sendPerformed($evt); - } - } - - public function testPluginCanSleepDuringRestart() - { - $sleeper = $this->getMockBuilder('Swift_Plugins_Sleeper')->getMock(); - $sleeper->expects($this->once()) - ->method('sleep') - ->with(10); - - $transport = $this->createTransport(); - $transport->expects($this->once()) - ->method('start'); - $transport->expects($this->once()) - ->method('stop'); - - $evt = $this->createSendEvent($transport); - - $plugin = new Swift_Plugins_AntiFloodPlugin(99, 10, $sleeper); - for ($i = 0; $i < 101; ++$i) { - $plugin->sendPerformed($evt); - } - } - - private function createTransport() - { - return $this->getMockBuilder('Swift_Transport')->getMock(); - } - - private function createSendEvent($transport) - { - $evt = $this->getMockBuilder('Swift_Events_SendEvent') - ->disableOriginalConstructor() - ->getMock(); - $evt->expects($this->any()) - ->method('getSource') - ->will($this->returnValue($transport)); - $evt->expects($this->any()) - ->method('getTransport') - ->will($this->returnValue($transport)); - - return $evt; - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Plugins/BandwidthMonitorPluginTest.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Plugins/BandwidthMonitorPluginTest.php deleted file mode 100644 index cbacfe2..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Plugins/BandwidthMonitorPluginTest.php +++ /dev/null @@ -1,128 +0,0 @@ -monitor = new Swift_Plugins_BandwidthMonitorPlugin(); - } - - public function testBytesOutIncreasesWhenCommandsSent() - { - $evt = $this->createCommandEvent("RCPT TO:\r\n"); - - $this->assertEquals(0, $this->monitor->getBytesOut()); - $this->monitor->commandSent($evt); - $this->assertEquals(23, $this->monitor->getBytesOut()); - $this->monitor->commandSent($evt); - $this->assertEquals(46, $this->monitor->getBytesOut()); - } - - public function testBytesInIncreasesWhenResponsesReceived() - { - $evt = $this->createResponseEvent("250 Ok\r\n"); - - $this->assertEquals(0, $this->monitor->getBytesIn()); - $this->monitor->responseReceived($evt); - $this->assertEquals(8, $this->monitor->getBytesIn()); - $this->monitor->responseReceived($evt); - $this->assertEquals(16, $this->monitor->getBytesIn()); - } - - public function testCountersCanBeReset() - { - $evt = $this->createResponseEvent("250 Ok\r\n"); - - $this->assertEquals(0, $this->monitor->getBytesIn()); - $this->monitor->responseReceived($evt); - $this->assertEquals(8, $this->monitor->getBytesIn()); - $this->monitor->responseReceived($evt); - $this->assertEquals(16, $this->monitor->getBytesIn()); - - $evt = $this->createCommandEvent("RCPT TO:\r\n"); - - $this->assertEquals(0, $this->monitor->getBytesOut()); - $this->monitor->commandSent($evt); - $this->assertEquals(23, $this->monitor->getBytesOut()); - $this->monitor->commandSent($evt); - $this->assertEquals(46, $this->monitor->getBytesOut()); - - $this->monitor->reset(); - - $this->assertEquals(0, $this->monitor->getBytesOut()); - $this->assertEquals(0, $this->monitor->getBytesIn()); - } - - public function testBytesOutIncreasesAccordingToMessageLength() - { - $message = $this->createMessageWithByteCount(6); - $evt = $this->createSendEvent($message); - - $this->assertEquals(0, $this->monitor->getBytesOut()); - $this->monitor->sendPerformed($evt); - $this->assertEquals(6, $this->monitor->getBytesOut()); - $this->monitor->sendPerformed($evt); - $this->assertEquals(12, $this->monitor->getBytesOut()); - } - - private function createSendEvent($message) - { - $evt = $this->getMockBuilder('Swift_Events_SendEvent') - ->disableOriginalConstructor() - ->getMock(); - $evt->expects($this->any()) - ->method('getMessage') - ->will($this->returnValue($message)); - - return $evt; - } - - private function createCommandEvent($command) - { - $evt = $this->getMockBuilder('Swift_Events_CommandEvent') - ->disableOriginalConstructor() - ->getMock(); - $evt->expects($this->any()) - ->method('getCommand') - ->will($this->returnValue($command)); - - return $evt; - } - - private function createResponseEvent($response) - { - $evt = $this->getMockBuilder('Swift_Events_ResponseEvent') - ->disableOriginalConstructor() - ->getMock(); - $evt->expects($this->any()) - ->method('getResponse') - ->will($this->returnValue($response)); - - return $evt; - } - - private function createMessageWithByteCount($bytes) - { - $this->bytes = $bytes; - $msg = $this->getMockBuilder('Swift_Mime_SimpleMessage')->disableOriginalConstructor()->getMock(); - $msg->expects($this->any()) - ->method('toByteStream') - ->will($this->returnCallback([$this, 'write'])); - /* $this->checking(Expectations::create() - -> ignoring($msg)->toByteStream(any()) -> calls(array($this, 'write')) - ); */ - - return $msg; - } - - public function write($is) - { - for ($i = 0; $i < $this->bytes; ++$i) { - $is->write('x'); - } - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Plugins/DecoratorPluginTest.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Plugins/DecoratorPluginTest.php deleted file mode 100644 index 97b1d95..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Plugins/DecoratorPluginTest.php +++ /dev/null @@ -1,284 +0,0 @@ -createMessage( - $this->createHeaders(), - ['zip@button.tld' => 'Zipathon'], - ['chris.corbyn@swiftmailer.org' => 'Chris'], - 'Subject', - 'Hello {name}, you are customer #{id}' - ); - $message->shouldReceive('setBody') - ->once() - ->with('Hello Zip, you are customer #456'); - $message->shouldReceive('setBody') - ->zeroOrMoreTimes(); - - $plugin = $this->createPlugin( - ['zip@button.tld' => ['{name}' => 'Zip', '{id}' => '456']] - ); - - $evt = $this->createSendEvent($message); - - $plugin->beforeSendPerformed($evt); - $plugin->sendPerformed($evt); - } - - public function testReplacementsCanBeAppliedToSameMessageMultipleTimes() - { - $message = $this->createMessage( - $this->createHeaders(), - ['zip@button.tld' => 'Zipathon', 'foo@bar.tld' => 'Foo'], - ['chris.corbyn@swiftmailer.org' => 'Chris'], - 'Subject', - 'Hello {name}, you are customer #{id}' - ); - $message->shouldReceive('setBody') - ->once() - ->with('Hello Zip, you are customer #456'); - $message->shouldReceive('setBody') - ->once() - ->with('Hello {name}, you are customer #{id}'); - $message->shouldReceive('setBody') - ->once() - ->with('Hello Foo, you are customer #123'); - $message->shouldReceive('setBody') - ->zeroOrMoreTimes(); - - $plugin = $this->createPlugin( - [ - 'foo@bar.tld' => ['{name}' => 'Foo', '{id}' => '123'], - 'zip@button.tld' => ['{name}' => 'Zip', '{id}' => '456'], - ] - ); - - $evt = $this->createSendEvent($message); - - $plugin->beforeSendPerformed($evt); - $plugin->sendPerformed($evt); - $plugin->beforeSendPerformed($evt); - $plugin->sendPerformed($evt); - } - - public function testReplacementsCanBeMadeInHeaders() - { - $headers = $this->createHeaders([ - $returnPathHeader = $this->createHeader('Return-Path', 'foo-{id}@swiftmailer.org'), - $toHeader = $this->createHeader('Subject', 'A message for {name}!'), - ]); - - $message = $this->createMessage( - $headers, - ['zip@button.tld' => 'Zipathon'], - ['chris.corbyn@swiftmailer.org' => 'Chris'], - 'A message for {name}!', - 'Hello {name}, you are customer #{id}' - ); - - $message->shouldReceive('setBody') - ->once() - ->with('Hello Zip, you are customer #456'); - $toHeader->shouldReceive('setFieldBodyModel') - ->once() - ->with('A message for Zip!'); - $returnPathHeader->shouldReceive('setFieldBodyModel') - ->once() - ->with('foo-456@swiftmailer.org'); - $message->shouldReceive('setBody') - ->zeroOrMoreTimes(); - $toHeader->shouldReceive('setFieldBodyModel') - ->zeroOrMoreTimes(); - $returnPathHeader->shouldReceive('setFieldBodyModel') - ->zeroOrMoreTimes(); - - $plugin = $this->createPlugin( - ['zip@button.tld' => ['{name}' => 'Zip', '{id}' => '456']] - ); - $evt = $this->createSendEvent($message); - - $plugin->beforeSendPerformed($evt); - $plugin->sendPerformed($evt); - } - - public function testReplacementsAreMadeOnSubparts() - { - $part1 = $this->createPart('text/plain', 'Your name is {name}?', '1@x'); - $part2 = $this->createPart('text/html', 'Your name is {name}?', '2@x'); - $message = $this->createMessage( - $this->createHeaders(), - ['zip@button.tld' => 'Zipathon'], - ['chris.corbyn@swiftmailer.org' => 'Chris'], - 'A message for {name}!', - 'Subject' - ); - $message->shouldReceive('getChildren') - ->zeroOrMoreTimes() - ->andReturn([$part1, $part2]); - $part1->shouldReceive('setBody') - ->once() - ->with('Your name is Zip?'); - $part2->shouldReceive('setBody') - ->once() - ->with('Your name is Zip?'); - $part1->shouldReceive('setBody') - ->zeroOrMoreTimes(); - $part2->shouldReceive('setBody') - ->zeroOrMoreTimes(); - - $plugin = $this->createPlugin( - ['zip@button.tld' => ['{name}' => 'Zip', '{id}' => '456']] - ); - - $evt = $this->createSendEvent($message); - - $plugin->beforeSendPerformed($evt); - $plugin->sendPerformed($evt); - } - - public function testReplacementsCanBeTakenFromCustomReplacementsObject() - { - $message = $this->createMessage( - $this->createHeaders(), - ['foo@bar' => 'Foobar', 'zip@zap' => 'Zip zap'], - ['chris.corbyn@swiftmailer.org' => 'Chris'], - 'Subject', - 'Something {a}' - ); - - $replacements = $this->createReplacements(); - - $message->shouldReceive('setBody') - ->once() - ->with('Something b'); - $message->shouldReceive('setBody') - ->once() - ->with('Something c'); - $message->shouldReceive('setBody') - ->zeroOrMoreTimes(); - $replacements->shouldReceive('getReplacementsFor') - ->once() - ->with('foo@bar') - ->andReturn(['{a}' => 'b']); - $replacements->shouldReceive('getReplacementsFor') - ->once() - ->with('zip@zap') - ->andReturn(['{a}' => 'c']); - - $plugin = $this->createPlugin($replacements); - - $evt = $this->createSendEvent($message); - - $plugin->beforeSendPerformed($evt); - $plugin->sendPerformed($evt); - $plugin->beforeSendPerformed($evt); - $plugin->sendPerformed($evt); - } - - public function testReplacementsWithAMessageWithImmutableDate() - { - $message = (new Swift_Message('subject foo')) - ->setBody('body foo') - ->addTo('somebody@hostname.tld') - ->addFrom('somebody@hostname.tld'); - - $evt = $this->createSendEvent($message); - - $plugin = $this->createPlugin(['somebody@hostname.tld' => ['foo' => 'bar']]); - - $plugin->beforeSendPerformed($evt); - - $this->assertEquals('subject bar', $message->getSubject()); - $this->assertEquals('body bar', $message->getBody()); - } - - private function createMessage($headers, $to = [], $from = null, $subject = null, - $body = null) - { - $message = $this->getMockery('Swift_Mime_SimpleMessage')->shouldIgnoreMissing(); - foreach ($to as $addr => $name) { - $message->shouldReceive('getTo') - ->once() - ->andReturn([$addr => $name]); - } - $message->shouldReceive('getHeaders') - ->zeroOrMoreTimes() - ->andReturn($headers); - $message->shouldReceive('getFrom') - ->zeroOrMoreTimes() - ->andReturn($from); - $message->shouldReceive('getSubject') - ->zeroOrMoreTimes() - ->andReturn($subject); - $message->shouldReceive('getBody') - ->zeroOrMoreTimes() - ->andReturn($body); - - return $message; - } - - private function createPlugin($replacements) - { - return new Swift_Plugins_DecoratorPlugin($replacements); - } - - private function createReplacements() - { - return $this->getMockery('Swift_Plugins_Decorator_Replacements')->shouldIgnoreMissing(); - } - - private function createSendEvent(Swift_Mime_SimpleMessage $message) - { - $evt = $this->getMockery('Swift_Events_SendEvent')->shouldIgnoreMissing(); - $evt->shouldReceive('getMessage') - ->zeroOrMoreTimes() - ->andReturn($message); - - return $evt; - } - - private function createPart($type, $body, $id) - { - $part = $this->getMockery('Swift_Mime_SimpleMimeEntity')->shouldIgnoreMissing(); - $part->shouldReceive('getContentType') - ->zeroOrMoreTimes() - ->andReturn($type); - $part->shouldReceive('getBody') - ->zeroOrMoreTimes() - ->andReturn($body); - $part->shouldReceive('getId') - ->zeroOrMoreTimes() - ->andReturn($id); - - return $part; - } - - private function createHeaders($headers = []) - { - $set = $this->getMockery('Swift_Mime_SimpleHeaderSet')->shouldIgnoreMissing(); - $set->shouldReceive('getAll') - ->zeroOrMoreTimes() - ->andReturn($headers); - - foreach ($headers as $header) { - $set->set($header); - } - - return $set; - } - - private function createHeader($name, $body = '') - { - $header = $this->getMockery('Swift_Mime_Header')->shouldIgnoreMissing(); - $header->shouldReceive('getFieldName') - ->zeroOrMoreTimes() - ->andReturn($name); - $header->shouldReceive('getFieldBodyModel') - ->zeroOrMoreTimes() - ->andReturn($body); - - return $header; - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Plugins/LoggerPluginTest.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Plugins/LoggerPluginTest.php deleted file mode 100644 index d66021c..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Plugins/LoggerPluginTest.php +++ /dev/null @@ -1,188 +0,0 @@ -createLogger(); - $logger->expects($this->once()) - ->method('add') - ->with('foo'); - - $plugin = $this->createPlugin($logger); - $plugin->add('foo'); - } - - public function testLoggerDelegatesDumpingEntries() - { - $logger = $this->createLogger(); - $logger->expects($this->once()) - ->method('dump') - ->will($this->returnValue('foobar')); - - $plugin = $this->createPlugin($logger); - $this->assertEquals('foobar', $plugin->dump()); - } - - public function testLoggerDelegatesClearingEntries() - { - $logger = $this->createLogger(); - $logger->expects($this->once()) - ->method('clear'); - - $plugin = $this->createPlugin($logger); - $plugin->clear(); - } - - public function testCommandIsSentToLogger() - { - $evt = $this->createCommandEvent("foo\r\n"); - $logger = $this->createLogger(); - $logger->expects($this->once()) - ->method('add') - ->with(static::regExp('~foo\r\n~')); - - $plugin = $this->createPlugin($logger); - $plugin->commandSent($evt); - } - - public function testResponseIsSentToLogger() - { - $evt = $this->createResponseEvent("354 Go ahead\r\n"); - $logger = $this->createLogger(); - $logger->expects($this->once()) - ->method('add') - ->with(static::regExp('~354 Go ahead\r\n~')); - - $plugin = $this->createPlugin($logger); - $plugin->responseReceived($evt); - } - - public function testTransportBeforeStartChangeIsSentToLogger() - { - $evt = $this->createTransportChangeEvent(); - $logger = $this->createLogger(); - $logger->expects($this->once()) - ->method('add') - ->with($this->anything()); - - $plugin = $this->createPlugin($logger); - $plugin->beforeTransportStarted($evt); - } - - public function testTransportStartChangeIsSentToLogger() - { - $evt = $this->createTransportChangeEvent(); - $logger = $this->createLogger(); - $logger->expects($this->once()) - ->method('add') - ->with($this->anything()); - - $plugin = $this->createPlugin($logger); - $plugin->transportStarted($evt); - } - - public function testTransportStopChangeIsSentToLogger() - { - $evt = $this->createTransportChangeEvent(); - $logger = $this->createLogger(); - $logger->expects($this->once()) - ->method('add') - ->with($this->anything()); - - $plugin = $this->createPlugin($logger); - $plugin->transportStopped($evt); - } - - public function testTransportBeforeStopChangeIsSentToLogger() - { - $evt = $this->createTransportChangeEvent(); - $logger = $this->createLogger(); - $logger->expects($this->once()) - ->method('add') - ->with($this->anything()); - - $plugin = $this->createPlugin($logger); - $plugin->beforeTransportStopped($evt); - } - - public function testExceptionsArePassedToDelegateAndLeftToBubbleUp() - { - $transport = $this->createTransport(); - $evt = $this->createTransportExceptionEvent(); - $logger = $this->createLogger(); - $logger->expects($this->once()) - ->method('add') - ->with($this->anything()); - - $plugin = $this->createPlugin($logger); - try { - $plugin->exceptionThrown($evt); - $this->fail('Exception should bubble up.'); - } catch (Swift_TransportException $ex) { - } - } - - private function createLogger() - { - return $this->getMockBuilder('Swift_Plugins_Logger')->getMock(); - } - - private function createPlugin($logger) - { - return new Swift_Plugins_LoggerPlugin($logger); - } - - private function createCommandEvent($command) - { - $evt = $this->getMockBuilder('Swift_Events_CommandEvent') - ->disableOriginalConstructor() - ->getMock(); - $evt->expects($this->any()) - ->method('getCommand') - ->will($this->returnValue($command)); - - return $evt; - } - - private function createResponseEvent($response) - { - $evt = $this->getMockBuilder('Swift_Events_ResponseEvent') - ->disableOriginalConstructor() - ->getMock(); - $evt->expects($this->any()) - ->method('getResponse') - ->will($this->returnValue($response)); - - return $evt; - } - - private function createTransport() - { - return $this->getMockBuilder('Swift_Transport')->getMock(); - } - - private function createTransportChangeEvent() - { - $evt = $this->getMockBuilder('Swift_Events_TransportChangeEvent') - ->disableOriginalConstructor() - ->getMock(); - $evt->expects($this->any()) - ->method('getSource') - ->will($this->returnValue($this->createTransport())); - - return $evt; - } - - public function createTransportExceptionEvent() - { - $evt = $this->getMockBuilder('Swift_Events_TransportExceptionEvent') - ->disableOriginalConstructor() - ->getMock(); - $evt->expects($this->any()) - ->method('getException') - ->will($this->returnValue(new Swift_TransportException(''))); - - return $evt; - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Plugins/Loggers/ArrayLoggerTest.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Plugins/Loggers/ArrayLoggerTest.php deleted file mode 100644 index 48c1b07..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Plugins/Loggers/ArrayLoggerTest.php +++ /dev/null @@ -1,65 +0,0 @@ -add(">> Foo\r\n"); - $this->assertEquals(">> Foo\r\n", $logger->dump()); - } - - public function testAddingMultipleEntriesDumpsMultipleLines() - { - $logger = new Swift_Plugins_Loggers_ArrayLogger(); - $logger->add(">> FOO\r\n"); - $logger->add("<< 502 That makes no sense\r\n"); - $logger->add(">> RSET\r\n"); - $logger->add("<< 250 OK\r\n"); - - $this->assertEquals( - ">> FOO\r\n".PHP_EOL. - "<< 502 That makes no sense\r\n".PHP_EOL. - ">> RSET\r\n".PHP_EOL. - "<< 250 OK\r\n", - $logger->dump() - ); - } - - public function testLogCanBeCleared() - { - $logger = new Swift_Plugins_Loggers_ArrayLogger(); - $logger->add(">> FOO\r\n"); - $logger->add("<< 502 That makes no sense\r\n"); - $logger->add(">> RSET\r\n"); - $logger->add("<< 250 OK\r\n"); - - $this->assertEquals( - ">> FOO\r\n".PHP_EOL. - "<< 502 That makes no sense\r\n".PHP_EOL. - ">> RSET\r\n".PHP_EOL. - "<< 250 OK\r\n", - $logger->dump() - ); - - $logger->clear(); - - $this->assertEquals('', $logger->dump()); - } - - public function testLengthCanBeTruncated() - { - $logger = new Swift_Plugins_Loggers_ArrayLogger(2); - $logger->add(">> FOO\r\n"); - $logger->add("<< 502 That makes no sense\r\n"); - $logger->add(">> RSET\r\n"); - $logger->add("<< 250 OK\r\n"); - - $this->assertEquals( - ">> RSET\r\n".PHP_EOL. - "<< 250 OK\r\n", - $logger->dump(), - '%s: Log should be truncated to last 2 entries' - ); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Plugins/Loggers/EchoLoggerTest.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Plugins/Loggers/EchoLoggerTest.php deleted file mode 100644 index c43660d..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Plugins/Loggers/EchoLoggerTest.php +++ /dev/null @@ -1,24 +0,0 @@ -add('>> Foo'); - $data = ob_get_clean(); - - $this->assertEquals('>> Foo'.PHP_EOL, $data); - } - - public function testAddingEntryDumpsEscapedLineWithHtml() - { - $logger = new Swift_Plugins_Loggers_EchoLogger(true); - ob_start(); - $logger->add('>> Foo'); - $data = ob_get_clean(); - - $this->assertEquals('>> Foo
    '.PHP_EOL, $data); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Plugins/PopBeforeSmtpPluginTest.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Plugins/PopBeforeSmtpPluginTest.php deleted file mode 100644 index cf88a4e..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Plugins/PopBeforeSmtpPluginTest.php +++ /dev/null @@ -1,101 +0,0 @@ -createConnection(); - $connection->expects($this->once()) - ->method('connect'); - - $plugin = $this->createPlugin('pop.host.tld', 110); - $plugin->setConnection($connection); - - $transport = $this->createTransport(); - $evt = $this->createTransportChangeEvent($transport); - - $plugin->beforeTransportStarted($evt); - } - - public function testPluginDisconnectsFromPop3HostBeforeTransportStarts() - { - $connection = $this->createConnection(); - $connection->expects($this->once()) - ->method('disconnect'); - - $plugin = $this->createPlugin('pop.host.tld', 110); - $plugin->setConnection($connection); - - $transport = $this->createTransport(); - $evt = $this->createTransportChangeEvent($transport); - - $plugin->beforeTransportStarted($evt); - } - - public function testPluginDoesNotConnectToSmtpIfBoundToDifferentTransport() - { - $connection = $this->createConnection(); - $connection->expects($this->never()) - ->method('disconnect'); - $connection->expects($this->never()) - ->method('connect'); - - $smtp = $this->createTransport(); - - $plugin = $this->createPlugin('pop.host.tld', 110); - $plugin->setConnection($connection); - $plugin->bindSmtp($smtp); - - $transport = $this->createTransport(); - $evt = $this->createTransportChangeEvent($transport); - - $plugin->beforeTransportStarted($evt); - } - - public function testPluginCanBindToSpecificTransport() - { - $connection = $this->createConnection(); - $connection->expects($this->once()) - ->method('connect'); - - $smtp = $this->createTransport(); - - $plugin = $this->createPlugin('pop.host.tld', 110); - $plugin->setConnection($connection); - $plugin->bindSmtp($smtp); - - $evt = $this->createTransportChangeEvent($smtp); - - $plugin->beforeTransportStarted($evt); - } - - private function createTransport() - { - return $this->getMockBuilder('Swift_Transport')->getMock(); - } - - private function createTransportChangeEvent($transport) - { - $evt = $this->getMockBuilder('Swift_Events_TransportChangeEvent') - ->disableOriginalConstructor() - ->getMock(); - $evt->expects($this->any()) - ->method('getSource') - ->will($this->returnValue($transport)); - $evt->expects($this->any()) - ->method('getTransport') - ->will($this->returnValue($transport)); - - return $evt; - } - - public function createConnection() - { - return $this->getMockBuilder('Swift_Plugins_Pop_Pop3Connection')->getMock(); - } - - public function createPlugin($host, $port, $crypto = null) - { - return new Swift_Plugins_PopBeforeSmtpPlugin($host, $port, $crypto); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Plugins/RedirectingPluginTest.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Plugins/RedirectingPluginTest.php deleted file mode 100644 index 0ad6386..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Plugins/RedirectingPluginTest.php +++ /dev/null @@ -1,183 +0,0 @@ -assertEquals('fabien@example.com', $plugin->getRecipient()); - $plugin->setRecipient('chris@example.com'); - $this->assertEquals('chris@example.com', $plugin->getRecipient()); - } - - public function testPluginChangesRecipients() - { - $message = (new Swift_Message()) - ->setSubject('...') - ->setFrom(['john@example.com' => 'John Doe']) - ->setTo($to = [ - 'fabien-to@example.com' => 'Fabien (To)', - 'chris-to@example.com' => 'Chris (To)', - ]) - ->setCc($cc = [ - 'fabien-cc@example.com' => 'Fabien (Cc)', - 'chris-cc@example.com' => 'Chris (Cc)', - ]) - ->setBcc($bcc = [ - 'fabien-bcc@example.com' => 'Fabien (Bcc)', - 'chris-bcc@example.com' => 'Chris (Bcc)', - ]) - ->setBody('...') - ; - - $plugin = new Swift_Plugins_RedirectingPlugin('god@example.com'); - - $evt = $this->createSendEvent($message); - - $plugin->beforeSendPerformed($evt); - - $this->assertEquals($message->getTo(), ['god@example.com' => '']); - $this->assertEquals($message->getCc(), []); - $this->assertEquals($message->getBcc(), []); - - $plugin->sendPerformed($evt); - - $this->assertEquals($message->getTo(), $to); - $this->assertEquals($message->getCc(), $cc); - $this->assertEquals($message->getBcc(), $bcc); - } - - public function testPluginRespectsUnsetToList() - { - $message = (new Swift_Message()) - ->setSubject('...') - ->setFrom(['john@example.com' => 'John Doe']) - ->setCc($cc = [ - 'fabien-cc@example.com' => 'Fabien (Cc)', - 'chris-cc@example.com' => 'Chris (Cc)', - ]) - ->setBcc($bcc = [ - 'fabien-bcc@example.com' => 'Fabien (Bcc)', - 'chris-bcc@example.com' => 'Chris (Bcc)', - ]) - ->setBody('...') - ; - - $plugin = new Swift_Plugins_RedirectingPlugin('god@example.com'); - - $evt = $this->createSendEvent($message); - - $plugin->beforeSendPerformed($evt); - - $this->assertEquals($message->getTo(), ['god@example.com' => '']); - $this->assertEquals($message->getCc(), []); - $this->assertEquals($message->getBcc(), []); - - $plugin->sendPerformed($evt); - - $this->assertEquals($message->getTo(), []); - $this->assertEquals($message->getCc(), $cc); - $this->assertEquals($message->getBcc(), $bcc); - } - - public function testPluginRespectsAWhitelistOfPatterns() - { - $message = (new Swift_Message()) - ->setSubject('...') - ->setFrom(['john@example.com' => 'John Doe']) - ->setTo($to = [ - 'fabien-to@example.com' => 'Fabien (To)', - 'chris-to@example.com' => 'Chris (To)', - 'lars-to@internal.com' => 'Lars (To)', - ]) - ->setCc($cc = [ - 'fabien-cc@example.com' => 'Fabien (Cc)', - 'chris-cc@example.com' => 'Chris (Cc)', - 'lars-cc@internal.org' => 'Lars (Cc)', - ]) - ->setBcc($bcc = [ - 'fabien-bcc@example.com' => 'Fabien (Bcc)', - 'chris-bcc@example.com' => 'Chris (Bcc)', - 'john-bcc@example.org' => 'John (Bcc)', - ]) - ->setBody('...') - ; - - $recipient = 'god@example.com'; - $patterns = ['/^.*@internal.[a-z]+$/', '/^john-.*$/']; - - $plugin = new Swift_Plugins_RedirectingPlugin($recipient, $patterns); - - $this->assertEquals($recipient, $plugin->getRecipient()); - $this->assertEquals($plugin->getWhitelist(), $patterns); - - $evt = $this->createSendEvent($message); - - $plugin->beforeSendPerformed($evt); - - $this->assertEquals($message->getTo(), ['lars-to@internal.com' => 'Lars (To)', 'god@example.com' => null]); - $this->assertEquals($message->getCc(), ['lars-cc@internal.org' => 'Lars (Cc)']); - $this->assertEquals($message->getBcc(), ['john-bcc@example.org' => 'John (Bcc)']); - - $plugin->sendPerformed($evt); - - $this->assertEquals($message->getTo(), $to); - $this->assertEquals($message->getCc(), $cc); - $this->assertEquals($message->getBcc(), $bcc); - } - - public function testArrayOfRecipientsCanBeExplicitlyDefined() - { - $message = (new Swift_Message()) - ->setSubject('...') - ->setFrom(['john@example.com' => 'John Doe']) - ->setTo([ - 'fabien@example.com' => 'Fabien', - 'chris@example.com' => 'Chris (To)', - 'lars-to@internal.com' => 'Lars (To)', - ]) - ->setCc([ - 'fabien@example.com' => 'Fabien', - 'chris-cc@example.com' => 'Chris (Cc)', - 'lars-cc@internal.org' => 'Lars (Cc)', - ]) - ->setBcc([ - 'fabien@example.com' => 'Fabien', - 'chris-bcc@example.com' => 'Chris (Bcc)', - 'john-bcc@example.org' => 'John (Bcc)', - ]) - ->setBody('...') - ; - - $recipients = ['god@example.com', 'fabien@example.com']; - $patterns = ['/^.*@internal.[a-z]+$/']; - - $plugin = new Swift_Plugins_RedirectingPlugin($recipients, $patterns); - - $evt = $this->createSendEvent($message); - - $plugin->beforeSendPerformed($evt); - - $this->assertEquals( - $message->getTo(), - ['fabien@example.com' => 'Fabien', 'lars-to@internal.com' => 'Lars (To)', 'god@example.com' => null] - ); - $this->assertEquals( - $message->getCc(), - ['fabien@example.com' => 'Fabien', 'lars-cc@internal.org' => 'Lars (Cc)'] - ); - $this->assertEquals($message->getBcc(), ['fabien@example.com' => 'Fabien']); - } - - private function createSendEvent(Swift_Mime_SimpleMessage $message) - { - $evt = $this->getMockBuilder('Swift_Events_SendEvent') - ->disableOriginalConstructor() - ->getMock(); - $evt->expects($this->any()) - ->method('getMessage') - ->will($this->returnValue($message)); - - return $evt; - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Plugins/ReporterPluginTest.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Plugins/ReporterPluginTest.php deleted file mode 100644 index 19238f8..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Plugins/ReporterPluginTest.php +++ /dev/null @@ -1,86 +0,0 @@ -createMessage(); - $evt = $this->createSendEvent(); - $reporter = $this->createReporter(); - - $message->shouldReceive('getTo')->zeroOrMoreTimes()->andReturn(['foo@bar.tld' => 'Foo']); - $evt->shouldReceive('getMessage')->zeroOrMoreTimes()->andReturn($message); - $evt->shouldReceive('getFailedRecipients')->zeroOrMoreTimes()->andReturn([]); - $reporter->shouldReceive('notify')->once()->with($message, 'foo@bar.tld', Swift_Plugins_Reporter::RESULT_PASS); - - $plugin = new Swift_Plugins_ReporterPlugin($reporter); - $plugin->sendPerformed($evt); - } - - public function testReportingFailedTo() - { - $message = $this->createMessage(); - $evt = $this->createSendEvent(); - $reporter = $this->createReporter(); - - $message->shouldReceive('getTo')->zeroOrMoreTimes()->andReturn(['foo@bar.tld' => 'Foo', 'zip@button' => 'Zip']); - $evt->shouldReceive('getMessage')->zeroOrMoreTimes()->andReturn($message); - $evt->shouldReceive('getFailedRecipients')->zeroOrMoreTimes()->andReturn(['zip@button']); - $reporter->shouldReceive('notify')->once()->with($message, 'foo@bar.tld', Swift_Plugins_Reporter::RESULT_PASS); - $reporter->shouldReceive('notify')->once()->with($message, 'zip@button', Swift_Plugins_Reporter::RESULT_FAIL); - - $plugin = new Swift_Plugins_ReporterPlugin($reporter); - $plugin->sendPerformed($evt); - } - - public function testReportingFailedCc() - { - $message = $this->createMessage(); - $evt = $this->createSendEvent(); - $reporter = $this->createReporter(); - - $message->shouldReceive('getTo')->zeroOrMoreTimes()->andReturn(['foo@bar.tld' => 'Foo']); - $message->shouldReceive('getCc')->zeroOrMoreTimes()->andReturn(['zip@button' => 'Zip', 'test@test.com' => 'Test']); - $evt->shouldReceive('getMessage')->zeroOrMoreTimes()->andReturn($message); - $evt->shouldReceive('getFailedRecipients')->zeroOrMoreTimes()->andReturn(['zip@button']); - $reporter->shouldReceive('notify')->once()->with($message, 'foo@bar.tld', Swift_Plugins_Reporter::RESULT_PASS); - $reporter->shouldReceive('notify')->once()->with($message, 'zip@button', Swift_Plugins_Reporter::RESULT_FAIL); - $reporter->shouldReceive('notify')->once()->with($message, 'test@test.com', Swift_Plugins_Reporter::RESULT_PASS); - - $plugin = new Swift_Plugins_ReporterPlugin($reporter); - $plugin->sendPerformed($evt); - } - - public function testReportingFailedBcc() - { - $message = $this->createMessage(); - $evt = $this->createSendEvent(); - $reporter = $this->createReporter(); - - $message->shouldReceive('getTo')->zeroOrMoreTimes()->andReturn(['foo@bar.tld' => 'Foo']); - $message->shouldReceive('getBcc')->zeroOrMoreTimes()->andReturn(['zip@button' => 'Zip', 'test@test.com' => 'Test']); - $evt->shouldReceive('getMessage')->zeroOrMoreTimes()->andReturn($message); - $evt->shouldReceive('getFailedRecipients')->zeroOrMoreTimes()->andReturn(['zip@button']); - $reporter->shouldReceive('notify')->once()->with($message, 'foo@bar.tld', Swift_Plugins_Reporter::RESULT_PASS); - $reporter->shouldReceive('notify')->once()->with($message, 'zip@button', Swift_Plugins_Reporter::RESULT_FAIL); - $reporter->shouldReceive('notify')->once()->with($message, 'test@test.com', Swift_Plugins_Reporter::RESULT_PASS); - - $plugin = new Swift_Plugins_ReporterPlugin($reporter); - $plugin->sendPerformed($evt); - } - - private function createMessage() - { - return $this->getMockery('Swift_Mime_SimpleMessage')->shouldIgnoreMissing(); - } - - private function createSendEvent() - { - return $this->getMockery('Swift_Events_SendEvent')->shouldIgnoreMissing(); - } - - private function createReporter() - { - return $this->getMockery('Swift_Plugins_Reporter')->shouldIgnoreMissing(); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Plugins/Reporters/HitReporterTest.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Plugins/Reporters/HitReporterTest.php deleted file mode 100644 index d5a1c9c..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Plugins/Reporters/HitReporterTest.php +++ /dev/null @@ -1,64 +0,0 @@ -hitReporter = new Swift_Plugins_Reporters_HitReporter(); - $this->message = $this->getMockBuilder('Swift_Mime_SimpleMessage')->disableOriginalConstructor()->getMock(); - } - - public function testReportingFail() - { - $this->hitReporter->notify($this->message, 'foo@bar.tld', - Swift_Plugins_Reporter::RESULT_FAIL - ); - $this->assertEquals(['foo@bar.tld'], - $this->hitReporter->getFailedRecipients() - ); - } - - public function testMultipleReports() - { - $this->hitReporter->notify($this->message, 'foo@bar.tld', - Swift_Plugins_Reporter::RESULT_FAIL - ); - $this->hitReporter->notify($this->message, 'zip@button', - Swift_Plugins_Reporter::RESULT_FAIL - ); - $this->assertEquals(['foo@bar.tld', 'zip@button'], - $this->hitReporter->getFailedRecipients() - ); - } - - public function testReportingPassIsIgnored() - { - $this->hitReporter->notify($this->message, 'foo@bar.tld', - Swift_Plugins_Reporter::RESULT_FAIL - ); - $this->hitReporter->notify($this->message, 'zip@button', - Swift_Plugins_Reporter::RESULT_PASS - ); - $this->assertEquals(['foo@bar.tld'], - $this->hitReporter->getFailedRecipients() - ); - } - - public function testBufferCanBeCleared() - { - $this->hitReporter->notify($this->message, 'foo@bar.tld', - Swift_Plugins_Reporter::RESULT_FAIL - ); - $this->hitReporter->notify($this->message, 'zip@button', - Swift_Plugins_Reporter::RESULT_FAIL - ); - $this->assertEquals(['foo@bar.tld', 'zip@button'], - $this->hitReporter->getFailedRecipients() - ); - $this->hitReporter->clear(); - $this->assertEquals([], $this->hitReporter->getFailedRecipients()); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Plugins/Reporters/HtmlReporterTest.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Plugins/Reporters/HtmlReporterTest.php deleted file mode 100644 index 6b86cfe..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Plugins/Reporters/HtmlReporterTest.php +++ /dev/null @@ -1,54 +0,0 @@ -html = new Swift_Plugins_Reporters_HtmlReporter(); - $this->message = $this->getMockBuilder('Swift_Mime_SimpleMessage')->disableOriginalConstructor()->getMock(); - } - - public function testReportingPass() - { - ob_start(); - $this->html->notify($this->message, 'foo@bar.tld', - Swift_Plugins_Reporter::RESULT_PASS - ); - $html = ob_get_clean(); - - $this->assertRegExp('~ok|pass~i', $html, '%s: Reporter should indicate pass'); - $this->assertRegExp('~foo@bar\.tld~', $html, '%s: Reporter should show address'); - } - - public function testReportingFail() - { - ob_start(); - $this->html->notify($this->message, 'zip@button', - Swift_Plugins_Reporter::RESULT_FAIL - ); - $html = ob_get_clean(); - - $this->assertRegExp('~fail~i', $html, '%s: Reporter should indicate fail'); - $this->assertRegExp('~zip@button~', $html, '%s: Reporter should show address'); - } - - public function testMultipleReports() - { - ob_start(); - $this->html->notify($this->message, 'foo@bar.tld', - Swift_Plugins_Reporter::RESULT_PASS - ); - $this->html->notify($this->message, 'zip@button', - Swift_Plugins_Reporter::RESULT_FAIL - ); - $html = ob_get_clean(); - - $this->assertRegExp('~ok|pass~i', $html, '%s: Reporter should indicate pass'); - $this->assertRegExp('~foo@bar\.tld~', $html, '%s: Reporter should show address'); - $this->assertRegExp('~fail~i', $html, '%s: Reporter should indicate fail'); - $this->assertRegExp('~zip@button~', $html, '%s: Reporter should show address'); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Plugins/ThrottlerPluginTest.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Plugins/ThrottlerPluginTest.php deleted file mode 100644 index e35dcc8..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Plugins/ThrottlerPluginTest.php +++ /dev/null @@ -1,102 +0,0 @@ -createSleeper(); - $timer = $this->createTimer(); - - //10MB/min - $plugin = new Swift_Plugins_ThrottlerPlugin( - 10000000, Swift_Plugins_ThrottlerPlugin::BYTES_PER_MINUTE, - $sleeper, $timer - ); - - $timer->shouldReceive('getTimestamp')->once()->andReturn(0); - $timer->shouldReceive('getTimestamp')->once()->andReturn(1); //expected 0.6 - $timer->shouldReceive('getTimestamp')->once()->andReturn(1); //expected 1.2 (sleep 1) - $timer->shouldReceive('getTimestamp')->once()->andReturn(2); //expected 1.8 - $timer->shouldReceive('getTimestamp')->once()->andReturn(2); //expected 2.4 (sleep 1) - $sleeper->shouldReceive('sleep')->twice()->with(1); - - //10,000,000 bytes per minute - //100,000 bytes per email - - // .: (10,000,000/100,000)/60 emails per second = 1.667 emais/sec - - $message = $this->createMessageWithByteCount(100000); //100KB - - $evt = $this->createSendEvent($message); - - for ($i = 0; $i < 5; ++$i) { - $plugin->beforeSendPerformed($evt); - $plugin->sendPerformed($evt); - } - } - - public function testMessagesPerMinuteThrottling() - { - $sleeper = $this->createSleeper(); - $timer = $this->createTimer(); - - //60/min - $plugin = new Swift_Plugins_ThrottlerPlugin( - 60, Swift_Plugins_ThrottlerPlugin::MESSAGES_PER_MINUTE, - $sleeper, $timer - ); - - $timer->shouldReceive('getTimestamp')->once()->andReturn(0); - $timer->shouldReceive('getTimestamp')->once()->andReturn(0); //expected 1 (sleep 1) - $timer->shouldReceive('getTimestamp')->once()->andReturn(2); //expected 2 - $timer->shouldReceive('getTimestamp')->once()->andReturn(2); //expected 3 (sleep 1) - $timer->shouldReceive('getTimestamp')->once()->andReturn(4); //expected 4 - $sleeper->shouldReceive('sleep')->twice()->with(1); - - //60 messages per minute - //1 message per second - - $message = $this->createMessageWithByteCount(10); - - $evt = $this->createSendEvent($message); - - for ($i = 0; $i < 5; ++$i) { - $plugin->beforeSendPerformed($evt); - $plugin->sendPerformed($evt); - } - } - - private function createSleeper() - { - return $this->getMockery('Swift_Plugins_Sleeper'); - } - - private function createTimer() - { - return $this->getMockery('Swift_Plugins_Timer'); - } - - private function createMessageWithByteCount($bytes) - { - $msg = $this->getMockery('Swift_Mime_SimpleMessage'); - $msg->shouldReceive('toByteStream') - ->zeroOrMoreTimes() - ->andReturnUsing(function ($is) use ($bytes) { - for ($i = 0; $i < $bytes; ++$i) { - $is->write('x'); - } - }); - - return $msg; - } - - private function createSendEvent($message) - { - $evt = $this->getMockery('Swift_Events_SendEvent'); - $evt->shouldReceive('getMessage') - ->zeroOrMoreTimes() - ->andReturn($message); - - return $evt; - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Signers/DKIMSignerTest.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Signers/DKIMSignerTest.php deleted file mode 100644 index 1d5f957..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Signers/DKIMSignerTest.php +++ /dev/null @@ -1,220 +0,0 @@ -createHeaders(); - $messageContent = 'Hello World'; - $signer = new Swift_Signers_DKIMSigner(file_get_contents(dirname(dirname(dirname(__DIR__))).'/_samples/dkim/dkim.test.priv'), 'dummy.nxdomain.be', 'dummySelector'); - /* @var $signer Swift_Signers_HeaderSigner */ - $altered = $signer->getAlteredHeaders(); - $signer->reset(); - // Headers - $signer->setHeaders($headers); - // Body - $signer->startBody(); - $signer->write($messageContent); - $signer->endBody(); - // Signing - $signer->addSignature($headers); - } - - // SHA1 Signing - public function testSigningSHA1() - { - $headerSet = $this->createHeaderSet(); - $messageContent = 'Hello World'; - $signer = new Swift_Signers_DKIMSigner(file_get_contents(dirname(dirname(dirname(__DIR__))).'/_samples/dkim/dkim.test.priv'), 'dummy.nxdomain.be', 'dummySelector'); - $signer->setHashAlgorithm('rsa-sha1'); - $signer->setSignatureTimestamp('1299879181'); - $altered = $signer->getAlteredHeaders(); - $this->assertEquals(['DKIM-Signature'], $altered); - $signer->reset(); - $signer->setHeaders($headerSet); - $this->assertFalse($headerSet->has('DKIM-Signature')); - $signer->startBody(); - $signer->write($messageContent); - $signer->endBody(); - $signer->addSignature($headerSet); - $this->assertTrue($headerSet->has('DKIM-Signature')); - $dkim = $headerSet->getAll('DKIM-Signature'); - $sig = reset($dkim); - $this->assertEquals($sig->getValue(), 'v=1; a=rsa-sha1; bh=wlbYcY9O9OPInGJ4D0E/rGsvMLE=; d=dummy.nxdomain.be; h=; i=@dummy.nxdomain.be; s=dummySelector; t=1299879181; b=RMSNelzM2O5MAAnMjT3G3/VF36S3DGJXoPCXR001F1WDReu0prGphWjuzK/m6V1pwqQL8cCNg Hi74mTx2bvyAvmkjvQtJf1VMUOCc9WHGcm1Yec66I3ZWoNMGSWZ1EKAm2CtTzyG0IFw4ml9DI wSkyAFxlgicckDD6FibhqwX4w='); - } - - // SHA256 Signing - public function testSigning256() - { - $headerSet = $this->createHeaderSet(); - $messageContent = 'Hello World'; - $signer = new Swift_Signers_DKIMSigner(file_get_contents(dirname(dirname(dirname(__DIR__))).'/_samples/dkim/dkim.test.priv'), 'dummy.nxdomain.be', 'dummySelector'); - $signer->setHashAlgorithm('rsa-sha256'); - $signer->setSignatureTimestamp('1299879181'); - $altered = $signer->getAlteredHeaders(); - $this->assertEquals(['DKIM-Signature'], $altered); - $signer->reset(); - $signer->setHeaders($headerSet); - $this->assertFalse($headerSet->has('DKIM-Signature')); - $signer->startBody(); - $signer->write($messageContent); - $signer->endBody(); - $signer->addSignature($headerSet); - $this->assertTrue($headerSet->has('DKIM-Signature')); - $dkim = $headerSet->getAll('DKIM-Signature'); - $sig = reset($dkim); - $this->assertEquals($sig->getValue(), 'v=1; a=rsa-sha256; bh=f+W+hu8dIhf2VAni89o8lF6WKTXi7nViA4RrMdpD5/U=; d=dummy.nxdomain.be; h=; i=@dummy.nxdomain.be; s=dummySelector; t=1299879181; b=jqPmieHzF5vR9F4mXCAkowuphpO4iJ8IAVuioh1BFZ3VITXZj5jlOFxULJMBiiApm2keJirnh u4mzogj444QkpT3lJg8/TBGAYQPdcvkG3KC0jdyN6QpSgpITBJG2BwWa+keXsv2bkQgLRAzNx qRhP45vpHCKun0Tg9LrwW/KCg='); - } - - // Relaxed/Relaxed Hash Signing - public function testSigningRelaxedRelaxed256() - { - $headerSet = $this->createHeaderSet(); - $messageContent = 'Hello World'; - $signer = new Swift_Signers_DKIMSigner(file_get_contents(dirname(dirname(dirname(__DIR__))).'/_samples/dkim/dkim.test.priv'), 'dummy.nxdomain.be', 'dummySelector'); - $signer->setHashAlgorithm('rsa-sha256'); - $signer->setSignatureTimestamp('1299879181'); - $signer->setBodyCanon('relaxed'); - $signer->setHeaderCanon('relaxed'); - $altered = $signer->getAlteredHeaders(); - $this->assertEquals(['DKIM-Signature'], $altered); - $signer->reset(); - $signer->setHeaders($headerSet); - $this->assertFalse($headerSet->has('DKIM-Signature')); - $signer->startBody(); - $signer->write($messageContent); - $signer->endBody(); - $signer->addSignature($headerSet); - $this->assertTrue($headerSet->has('DKIM-Signature')); - $dkim = $headerSet->getAll('DKIM-Signature'); - $sig = reset($dkim); - $this->assertEquals($sig->getValue(), 'v=1; a=rsa-sha256; bh=f+W+hu8dIhf2VAni89o8lF6WKTXi7nViA4RrMdpD5/U=; d=dummy.nxdomain.be; h=; i=@dummy.nxdomain.be; s=dummySelector; c=relaxed/relaxed; t=1299879181; b=gzOI+PX6HpZKQFzwwmxzcVJsyirdLXOS+4pgfCpVHQIdqYusKLrhlLeFBTNoz75HrhNvGH6T0 Rt3w5aTqkrWfUuAEYt0Ns14GowLM7JojaFN+pZ4eYnRB3CBBgW6fee4NEMD5WPca3uS09tr1E 10RYh9ILlRtl+84sovhx5id3Y='); - } - - // Relaxed/Simple Hash Signing - public function testSigningRelaxedSimple256() - { - $headerSet = $this->createHeaderSet(); - $messageContent = 'Hello World'; - $signer = new Swift_Signers_DKIMSigner(file_get_contents(dirname(dirname(dirname(__DIR__))).'/_samples/dkim/dkim.test.priv'), 'dummy.nxdomain.be', 'dummySelector'); - $signer->setHashAlgorithm('rsa-sha256'); - $signer->setSignatureTimestamp('1299879181'); - $signer->setHeaderCanon('relaxed'); - $altered = $signer->getAlteredHeaders(); - $this->assertEquals(['DKIM-Signature'], $altered); - $signer->reset(); - $signer->setHeaders($headerSet); - $this->assertFalse($headerSet->has('DKIM-Signature')); - $signer->startBody(); - $signer->write($messageContent); - $signer->endBody(); - $signer->addSignature($headerSet); - $this->assertTrue($headerSet->has('DKIM-Signature')); - $dkim = $headerSet->getAll('DKIM-Signature'); - $sig = reset($dkim); - $this->assertEquals($sig->getValue(), 'v=1; a=rsa-sha256; bh=f+W+hu8dIhf2VAni89o8lF6WKTXi7nViA4RrMdpD5/U=; d=dummy.nxdomain.be; h=; i=@dummy.nxdomain.be; s=dummySelector; c=relaxed; t=1299879181; b=dLPJNec5v81oelyzGOY0qPqTlGnQeNfUNBOrV/JKbStr3NqWGI9jH4JAe2YvO2V32lfPNoby1 4MMzZ6EPkaZkZDDSPa+53YbCPQAlqiD9QZZIUe2UNM33HN8yAMgiWEF5aP7MbQnxeVZMfVLEl 9S8qOImu+K5JZqhQQTL0dgLwA='); - } - - // Simple/Relaxed Hash Signing - public function testSigningSimpleRelaxed256() - { - $headerSet = $this->createHeaderSet(); - $messageContent = 'Hello World'; - $signer = new Swift_Signers_DKIMSigner(file_get_contents(dirname(dirname(dirname(__DIR__))).'/_samples/dkim/dkim.test.priv'), 'dummy.nxdomain.be', 'dummySelector'); - $signer->setHashAlgorithm('rsa-sha256'); - $signer->setSignatureTimestamp('1299879181'); - $signer->setBodyCanon('relaxed'); - $altered = $signer->getAlteredHeaders(); - $this->assertEquals(['DKIM-Signature'], $altered); - $signer->reset(); - $signer->setHeaders($headerSet); - $this->assertFalse($headerSet->has('DKIM-Signature')); - $signer->startBody(); - $signer->write($messageContent); - $signer->endBody(); - $signer->addSignature($headerSet); - $this->assertTrue($headerSet->has('DKIM-Signature')); - $dkim = $headerSet->getAll('DKIM-Signature'); - $sig = reset($dkim); - $this->assertEquals($sig->getValue(), 'v=1; a=rsa-sha256; bh=f+W+hu8dIhf2VAni89o8lF6WKTXi7nViA4RrMdpD5/U=; d=dummy.nxdomain.be; h=; i=@dummy.nxdomain.be; s=dummySelector; c=simple/relaxed; t=1299879181; b=M5eomH/zamyzix9kOes+6YLzQZxuJdBP4x3nP9zF2N26eMLG2/cBKbnNyqiOTDhJdYfWPbLIa 1CWnjST0j5p4CpeOkGYuiE+M4TWEZwhRmRWootlPO3Ii6XpbBJKFk1o9zviS7OmXblUUE4aqb yRSIMDhtLdCK5GlaCneFLN7RQ='); - } - - private function createHeaderSet() - { - $cache = new Swift_KeyCache_ArrayKeyCache(new Swift_KeyCache_SimpleKeyCacheInputStream()); - $factory = new Swift_CharacterReaderFactory_SimpleCharacterReaderFactory(); - $contentEncoder = new Swift_Mime_ContentEncoder_Base64ContentEncoder(); - - $headerEncoder = new Swift_Mime_HeaderEncoder_QpHeaderEncoder(new Swift_CharacterStream_ArrayCharacterStream($factory, 'utf-8')); - $paramEncoder = new Swift_Encoder_Rfc2231Encoder(new Swift_CharacterStream_ArrayCharacterStream($factory, 'utf-8')); - $emailValidator = new EmailValidator(); - $headers = new Swift_Mime_SimpleHeaderSet(new Swift_Mime_SimpleHeaderFactory($headerEncoder, $paramEncoder, $emailValidator)); - - return $headers; - } - - /** - * @return Swift_Mime_Headers - */ - private function createHeaders() - { - $x = 0; - $cache = new Swift_KeyCache_ArrayKeyCache(new Swift_KeyCache_SimpleKeyCacheInputStream()); - $factory = new Swift_CharacterReaderFactory_SimpleCharacterReaderFactory(); - $contentEncoder = new Swift_Mime_ContentEncoder_Base64ContentEncoder(); - - $headerEncoder = new Swift_Mime_HeaderEncoder_QpHeaderEncoder(new Swift_CharacterStream_ArrayCharacterStream($factory, 'utf-8')); - $paramEncoder = new Swift_Encoder_Rfc2231Encoder(new Swift_CharacterStream_ArrayCharacterStream($factory, 'utf-8')); - $emailValidator = new EmailValidator(); - $headerFactory = new Swift_Mime_SimpleHeaderFactory($headerEncoder, $paramEncoder, $emailValidator); - $headers = $this->getMockery('Swift_Mime_SimpleHeaderSet'); - - $headers->shouldReceive('listAll') - ->zeroOrMoreTimes() - ->andReturn(['From', 'To', 'Date', 'Subject']); - $headers->shouldReceive('has') - ->zeroOrMoreTimes() - ->with('From') - ->andReturn(true); - $headers->shouldReceive('getAll') - ->zeroOrMoreTimes() - ->with('From') - ->andReturn([$headerFactory->createMailboxHeader('From', 'test@test.test')]); - $headers->shouldReceive('has') - ->zeroOrMoreTimes() - ->with('To') - ->andReturn(true); - $headers->shouldReceive('getAll') - ->zeroOrMoreTimes() - ->with('To') - ->andReturn([$headerFactory->createMailboxHeader('To', 'test@test.test')]); - $headers->shouldReceive('has') - ->zeroOrMoreTimes() - ->with('Date') - ->andReturn(true); - $headers->shouldReceive('getAll') - ->zeroOrMoreTimes() - ->with('Date') - ->andReturn([$headerFactory->createTextHeader('Date', 'Fri, 11 Mar 2011 20:56:12 +0000 (GMT)')]); - $headers->shouldReceive('has') - ->zeroOrMoreTimes() - ->with('Subject') - ->andReturn(true); - $headers->shouldReceive('getAll') - ->zeroOrMoreTimes() - ->with('Subject') - ->andReturn([$headerFactory->createTextHeader('Subject', 'Foo Bar Text Message')]); - $headers->shouldReceive('addTextHeader') - ->zeroOrMoreTimes() - ->with('DKIM-Signature', \Mockery::any()) - ->andReturn(true); - $headers->shouldReceive('getAll') - ->zeroOrMoreTimes() - ->with('DKIM-Signature') - ->andReturn([$headerFactory->createTextHeader('DKIM-Signature', 'Foo Bar Text Message')]); - - return $headers; - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Signers/OpenDKIMSignerTest.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Signers/OpenDKIMSignerTest.php deleted file mode 100644 index ce99bc6..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Signers/OpenDKIMSignerTest.php +++ /dev/null @@ -1,45 +0,0 @@ -markTestSkipped( - 'Need OpenDKIM extension run these tests.' - ); - } - } - - public function testBasicSigningHeaderManipulation() - { - } - - // Default Signing - public function testSigningDefaults() - { - } - - // SHA256 Signing - public function testSigning256() - { - } - - // Relaxed/Relaxed Hash Signing - public function testSigningRelaxedRelaxed256() - { - } - - // Relaxed/Simple Hash Signing - public function testSigningRelaxedSimple256() - { - } - - // Simple/Relaxed Hash Signing - public function testSigningSimpleRelaxed256() - { - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Signers/SMimeSignerTest.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Signers/SMimeSignerTest.php deleted file mode 100644 index 932e486..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Signers/SMimeSignerTest.php +++ /dev/null @@ -1,653 +0,0 @@ -replacementFactory = Swift_DependencyContainer::getInstance() - ->lookup('transport.replacementfactory'); - - $this->samplesDir = str_replace('\\', '/', realpath(__DIR__.'/../../../_samples/')).'/'; - } - - public function testUnSignedMessage() - { - $message = (new Swift_Message('Wonderful Subject')) - ->setFrom(['john@doe.com' => 'John Doe']) - ->setTo(['receiver@domain.org', 'other@domain.org' => 'A name']) - ->setBody('Here is the message itself'); - - $this->assertEquals('Here is the message itself', $message->getBody()); - } - - public function testSignedMessage() - { - $message = (new Swift_Message('Wonderful Subject')) - ->setFrom(['john@doe.com' => 'John Doe']) - ->setTo(['receiver@domain.org', 'other@domain.org' => 'A name']) - ->setBody('Here is the message itself'); - - $signer = new Swift_Signers_SMimeSigner(); - $signer->setSignCertificate($this->samplesDir.'smime/sign.crt', $this->samplesDir.'smime/sign.key'); - $message->attachSigner($signer); - - $messageStream = $this->newFilteredStream(); - $message->toByteStream($messageStream); - $messageStream->commit(); - - $entityString = $messageStream->getContent(); - $headers = self::getHeadersOfMessage($entityString); - - if (!($boundary = $this->getBoundary($headers['content-type']))) { - return false; - } - - $expectedBody = <<assertValidVerify($expectedBody, $messageStream); - unset($messageStream); - } - - public function testSignedMessageWithFullyWrappedMessage() - { - $message = (new Swift_Message('Middle-out compression secrets')) - ->setFrom(['richard@piedpiper.com' => 'Richard Hendricks']) - ->setTo(['jared@piedpiper.com' => 'Jared Dunn']) - ->setBody('Here goes the entire algorithm...'); - - $signer = new Swift_Signers_SMimeSigner(); - $signer->setSignCertificate($this->samplesDir.'smime/sign.crt', $this->samplesDir.'smime/sign.key'); - - // Tell the signer to wrap the full MIME message - $signer->setWrapFullMessage(true); - $message->attachSigner($signer); - - $messageStream = $this->newFilteredStream(); - $message->toByteStream($messageStream); - $messageStream->commit(); - - $entityString = $messageStream->getContent(); - $headers = self::getHeadersOfMessage($entityString); - - if (!($boundary = $this->getBoundary($headers['content-type']))) { - return false; - } - - $expectedBody = << -Date: .* -Subject: Middle-out compression secrets -From: Richard Hendricks -To: Jared Dunn -MIME-Version: 1.0 -Content-Type: text/plain; charset=utf-8 -Content-Transfer-Encoding: quoted-printable - -Here goes the entire algorithm... ---$boundary -Content-Type: application/(x\-)?pkcs7-signature; name="smime\.p7s" -Content-Transfer-Encoding: base64 -Content-Disposition: attachment; filename="smime\.p7s" - -(?:^[a-zA-Z0-9\/\\r\\n+]*={0,2}) - ---$boundary-- -OEL; - $this->assertValidVerify($expectedBody, $messageStream); - unset($messageStream); - } - - public function testSignedMessageExtraCerts() - { - $message = (new Swift_Message('Wonderful Subject')) - ->setFrom(['john@doe.com' => 'John Doe']) - ->setTo(['receiver@domain.org', 'other@domain.org' => 'A name']) - ->setBody('Here is the message itself'); - - $signer = new Swift_Signers_SMimeSigner(); - $signer->setSignCertificate($this->samplesDir.'smime/sign2.crt', $this->samplesDir.'smime/sign2.key', PKCS7_DETACHED, $this->samplesDir.'smime/intermediate.crt'); - $message->attachSigner($signer); - - $messageStream = $this->newFilteredStream(); - $message->toByteStream($messageStream); - $messageStream->commit(); - - $entityString = $messageStream->getContent(); - $headers = self::getHeadersOfMessage($entityString); - - if (!($boundary = $this->getBoundary($headers['content-type']))) { - return false; - } - - $expectedBody = <<assertValidVerify($expectedBody, $messageStream); - unset($messageStream); - } - - public function testSignedMessageBinary() - { - $message = (new Swift_Message('Wonderful Subject')) - ->setFrom(['john@doe.com' => 'John Doe']) - ->setTo(['receiver@domain.org', 'other@domain.org' => 'A name']) - ->setBody('Here is the message itself'); - - $signer = new Swift_Signers_SMimeSigner(); - $signer->setSignCertificate($this->samplesDir.'smime/sign.crt', $this->samplesDir.'smime/sign.key', PKCS7_BINARY); - $message->attachSigner($signer); - - $messageStream = $this->newFilteredStream(); - $message->toByteStream($messageStream); - $messageStream->commit(); - - $entityString = $messageStream->getContent(); - $headers = self::getHeadersOfMessage($entityString); - - if (!preg_match('#^application/(x\-)?pkcs7-mime; smime-type=signed\-data;#', $headers['content-type'])) { - $this->fail('Content-type does not match.'); - - return false; - } - - $this->assertEquals($headers['content-transfer-encoding'], 'base64'); - $this->assertEquals($headers['content-disposition'], 'attachment; filename="smime.p7m"'); - - $expectedBody = '(?:^[a-zA-Z0-9\/\\r\\n+]*={0,2})'; - - $messageStreamClean = $this->newFilteredStream(); - - $this->assertValidVerify($expectedBody, $messageStream); - unset($messageStreamClean, $messageStream); - } - - public function testSignedMessageWithAttachments() - { - $message = (new Swift_Message('Wonderful Subject')) - ->setFrom(['john@doe.com' => 'John Doe']) - ->setTo(['receiver@domain.org', 'other@domain.org' => 'A name']) - ->setBody('Here is the message itself'); - - $message->attach(Swift_Attachment::fromPath($this->samplesDir.'/files/textfile.zip')); - - $signer = new Swift_Signers_SMimeSigner(); - $signer->setSignCertificate($this->samplesDir.'smime/sign.crt', $this->samplesDir.'smime/sign.key'); - $message->attachSigner($signer); - - $messageStream = $this->newFilteredStream(); - $message->toByteStream($messageStream); - $messageStream->commit(); - - $entityString = $messageStream->getContent(); - $headers = self::getHeadersOfMessage($entityString); - - if (!($boundary = $this->getBoundary($headers['content-type']))) { - return false; - } - - $expectedBody = <<assertValidVerify($expectedBody, $messageStream); - unset($messageStream); - } - - public function testEncryptedMessage() - { - $message = (new Swift_Message('Wonderful Subject')) - ->setFrom(['john@doe.com' => 'John Doe']) - ->setTo(['receiver@domain.org', 'other@domain.org' => 'A name']) - ->setBody('Here is the message itself'); - - $originalMessage = $this->cleanMessage($message->toString()); - - $signer = new Swift_Signers_SMimeSigner(); - $signer->setEncryptCertificate($this->samplesDir.'smime/encrypt.crt'); - $message->attachSigner($signer); - - $messageStream = new Swift_ByteStream_TemporaryFileByteStream(); - $message->toByteStream($messageStream); - $messageStream->commit(); - - $entityString = $messageStream->getContent(); - $headers = self::getHeadersOfMessage($entityString); - - if (!preg_match('#^application/(x\-)?pkcs7-mime; smime-type=enveloped\-data;#', $headers['content-type'])) { - $this->fail('Content-type does not match.'); - - return false; - } - - $expectedBody = '(?:^[a-zA-Z0-9\/\\r\\n+]*={0,2})'; - - $decryptedMessageStream = new Swift_ByteStream_TemporaryFileByteStream(); - - if (!openssl_pkcs7_decrypt($messageStream->getPath(), $decryptedMessageStream->getPath(), 'file://'.$this->samplesDir.'smime/encrypt.crt', ['file://'.$this->samplesDir.'smime/encrypt.key', 'swift'])) { - $this->fail(sprintf('Decrypt of the message failed. Internal error "%s".', openssl_error_string())); - } - - $this->assertEquals($originalMessage, $decryptedMessageStream->getContent()); - unset($decryptedMessageStream, $messageStream); - } - - public function testEncryptedMessageWithFullyWrappedMessage() - { - $message = (new Swift_Message('Middle-out compression secrets')) - ->setFrom(['richard@piedpiper.com' => 'Richard Hendricks']) - ->setTo(['jared@piedpiper.com' => 'Jared Dunn']) - ->setBody('Here goes the entire algorithm...'); - - $originalMessage = $message->toString(); - - $signer = new Swift_Signers_SMimeSigner(); - $signer->setEncryptCertificate($this->samplesDir.'smime/encrypt.crt'); - $signer->setWrapFullMessage(true); - $message->attachSigner($signer); - - $messageStream = new Swift_ByteStream_TemporaryFileByteStream(); - $message->toByteStream($messageStream); - $messageStream->commit(); - - $entityString = $messageStream->getContent(); - $headers = self::getHeadersOfMessage($entityString); - - if (!preg_match('#^application/(x\-)?pkcs7-mime; smime-type=enveloped\-data;#', $headers['content-type'])) { - $this->fail('Content-type does not match.'); - - return false; - } - - $expectedBody = '(?:^[a-zA-Z0-9\/\\r\\n+]*={0,2})'; - - $decryptedMessageStream = new Swift_ByteStream_TemporaryFileByteStream(); - - if (!openssl_pkcs7_decrypt($messageStream->getPath(), $decryptedMessageStream->getPath(), 'file://'.$this->samplesDir.'smime/encrypt.crt', ['file://'.$this->samplesDir.'smime/encrypt.key', 'swift'])) { - $this->fail(sprintf('Decrypt of the message failed. Internal error "%s".', openssl_error_string())); - } - - $decryptedMessage = $decryptedMessageStream->getContent(); - $decryptedHeaders = self::getHeadersOfMessage($decryptedMessage); - $this->assertEquals('message/rfc822; charset=utf-8', $decryptedHeaders['content-type']); - $this->assertEquals('7bit', $decryptedHeaders['content-transfer-encoding']); - - $decryptedMessageBody = self::getBodyOfMessage($decryptedMessage); - $this->assertEquals($originalMessage, $decryptedMessageBody); - unset($decryptedMessageStream, $messageStream); - } - - public function testEncryptedMessageWithMultipleCerts() - { - $message = (new Swift_Message('Wonderful Subject')) - ->setFrom(['john@doe.com' => 'John Doe']) - ->setTo(['receiver@domain.org', 'other@domain.org' => 'A name']) - ->setBody('Here is the message itself'); - - $originalMessage = $this->cleanMessage($message->toString()); - - $signer = new Swift_Signers_SMimeSigner(); - $signer->setEncryptCertificate([$this->samplesDir.'smime/encrypt.crt', $this->samplesDir.'smime/encrypt2.crt']); - $message->attachSigner($signer); - - $messageStream = new Swift_ByteStream_TemporaryFileByteStream(); - $message->toByteStream($messageStream); - $messageStream->commit(); - - $entityString = $messageStream->getContent(); - $headers = self::getHeadersOfMessage($entityString); - - if (!preg_match('#^application/(x\-)?pkcs7-mime; smime-type=enveloped\-data;#', $headers['content-type'])) { - $this->fail('Content-type does not match.'); - - return false; - } - - $expectedBody = '(?:^[a-zA-Z0-9\/\\r\\n+]*={0,2})'; - - $decryptedMessageStream = new Swift_ByteStream_TemporaryFileByteStream(); - - if (!openssl_pkcs7_decrypt($messageStream->getPath(), $decryptedMessageStream->getPath(), 'file://'.$this->samplesDir.'smime/encrypt.crt', ['file://'.$this->samplesDir.'smime/encrypt.key', 'swift'])) { - $this->fail(sprintf('Decrypt of the message failed. Internal error "%s".', openssl_error_string())); - } - - $this->assertEquals($originalMessage, $decryptedMessageStream->getContent()); - unset($decryptedMessageStream); - - $decryptedMessageStream = new Swift_ByteStream_TemporaryFileByteStream(); - - if (!openssl_pkcs7_decrypt($messageStream->getPath(), $decryptedMessageStream->getPath(), 'file://'.$this->samplesDir.'smime/encrypt2.crt', ['file://'.$this->samplesDir.'smime/encrypt2.key', 'swift'])) { - $this->fail(sprintf('Decrypt of the message failed. Internal error "%s".', openssl_error_string())); - } - - $this->assertEquals($originalMessage, $decryptedMessageStream->getContent()); - unset($decryptedMessageStream, $messageStream); - } - - public function testSignThenEncryptedMessage() - { - $message = (new Swift_Message('Wonderful Subject')) - ->setFrom(['john@doe.com' => 'John Doe']) - ->setTo(['receiver@domain.org', 'other@domain.org' => 'A name']) - ->setBody('Here is the message itself'); - - $signer = new Swift_Signers_SMimeSigner(); - $signer->setSignCertificate($this->samplesDir.'smime/sign.crt', $this->samplesDir.'smime/sign.key'); - $signer->setEncryptCertificate($this->samplesDir.'smime/encrypt.crt'); - $message->attachSigner($signer); - - $messageStream = new Swift_ByteStream_TemporaryFileByteStream(); - $message->toByteStream($messageStream); - $messageStream->commit(); - - $entityString = $messageStream->getContent(); - $headers = self::getHeadersOfMessage($entityString); - - if (!preg_match('#^application/(x\-)?pkcs7-mime; smime-type=enveloped\-data;#', $headers['content-type'])) { - $this->fail('Content-type does not match.'); - - return false; - } - - $expectedBody = '(?:^[a-zA-Z0-9\/\\r\\n+]*={0,2})'; - - $decryptedMessageStream = new Swift_ByteStream_TemporaryFileByteStream(); - - if (!openssl_pkcs7_decrypt($messageStream->getPath(), $decryptedMessageStream->getPath(), 'file://'.$this->samplesDir.'smime/encrypt.crt', ['file://'.$this->samplesDir.'smime/encrypt.key', 'swift'])) { - $this->fail(sprintf('Decrypt of the message failed. Internal error "%s".', openssl_error_string())); - } - - $entityString = $decryptedMessageStream->getContent(); - $headers = self::getHeadersOfMessage($entityString); - - if (!($boundary = $this->getBoundary($headers['content-type']))) { - return false; - } - - $expectedBody = <<assertValidVerify($expectedBody, $decryptedMessageStream)) { - return false; - } - - unset($decryptedMessageStream, $messageStream); - } - - public function testEncryptThenSignMessage() - { - $message = (new Swift_Message('Wonderful Subject')) - ->setFrom(['john@doe.com' => 'John Doe']) - ->setTo(['receiver@domain.org', 'other@domain.org' => 'A name']) - ->setBody('Here is the message itself'); - - $originalMessage = $message->toString(); - - $signer = new Swift_Signers_SMimeSigner(); - $signer->setSignCertificate($this->samplesDir.'smime/sign.crt', $this->samplesDir.'smime/sign.key'); - $signer->setEncryptCertificate($this->samplesDir.'smime/encrypt.crt'); - $signer->setSignThenEncrypt(false); - $message->attachSigner($signer); - - $messageStream = $this->newFilteredStream(); - $message->toByteStream($messageStream); - $messageStream->commit(); - - $entityString = $messageStream->getContent(); - $headers = self::getHeadersOfMessage($entityString); - - if (!($boundary = $this->getBoundary($headers['content-type']))) { - return false; - } - - $expectedBody = <<Content-Type: application/(x\-)?pkcs7-mime; smime-type=enveloped-data; - name="smime\.p7m"; charset=utf-8 -Content-Transfer-Encoding: base64 -Content-Disposition: attachment; filename="smime\.p7m" - -(?:^[a-zA-Z0-9\/\\r\\n+]*={0,2}) - - -)--$boundary -Content-Type: application/(x\-)?pkcs7-signature; name="smime\.p7s" -Content-Transfer-Encoding: base64 -Content-Disposition: attachment; filename="smime\.p7s" - -(?:^[a-zA-Z0-9\/\\r\\n+]*={0,2}) - ---$boundary-- -OEL; - - if (!$this->assertValidVerify($expectedBody, $messageStream)) { - return false; - } - - $expectedBody = str_replace("\n", "\r\n", $expectedBody); - if (!preg_match('%'.$expectedBody.'*%m', $entityString, $entities)) { - $this->fail('Failed regex match.'); - - return false; - } - - $messageStreamClean = new Swift_ByteStream_TemporaryFileByteStream(); - $messageStreamClean->write($entities['encrypted_message']); - - $decryptedMessageStream = new Swift_ByteStream_TemporaryFileByteStream(); - - if (!openssl_pkcs7_decrypt($messageStreamClean->getPath(), $decryptedMessageStream->getPath(), 'file://'.$this->samplesDir.'smime/encrypt.crt', ['file://'.$this->samplesDir.'smime/encrypt.key', 'swift'])) { - $this->fail(sprintf('Decrypt of the message failed. Internal error "%s".', openssl_error_string())); - } - - $this->assertEquals($originalMessage, $decryptedMessageStream->getContent()); - unset($messageStreamClean, $messageStream, $decryptedMessageStream); - } - - protected function assertValidVerify($expected, Swift_ByteStream_TemporaryFileByteStream $messageStream) - { - $actual = $messageStream->getContent(); - - // File is UNIX encoded so convert them to correct line ending - $expected = str_replace("\n", "\r\n", $expected); - - $actual = self::getBodyOfMessage($actual); - if (!$this->assertRegExp('%^'.$expected.'$\s*%m', $actual)) { - return false; - } - - $opensslOutput = new Swift_ByteStream_TemporaryFileByteStream(); - $verify = openssl_pkcs7_verify($messageStream->getPath(), null, $opensslOutput->getPath(), [$this->samplesDir.'smime/ca.crt']); - - if (false === $verify) { - $this->fail('Verification of the message failed.'); - - return false; - } elseif (-1 === $verify) { - $this->fail(sprintf('Verification of the message failed. Internal error "%s".', openssl_error_string())); - - return false; - } - - return true; - } - - protected function getBoundary($contentType) - { - if (!preg_match('/boundary=("[^"]+"|(?:[^\s]+|$))/is', $contentType, $contentTypeData)) { - $this->fail('Failed to find Boundary parameter'); - - return false; - } - - return trim($contentTypeData[1], '"'); - } - - protected function newFilteredStream() - { - $messageStream = new Swift_ByteStream_TemporaryFileByteStream(); - $messageStream->addFilter($this->replacementFactory->createFilter("\r\n", "\n"), 'CRLF to LF'); - $messageStream->addFilter($this->replacementFactory->createFilter("\n", "\r\n"), 'LF to CRLF'); - - return $messageStream; - } - - protected static function getBodyOfMessage($message) - { - return trim(substr($message, strpos($message, "\r\n\r\n"))); - } - - /** - * Strips of the sender headers and Mime-Version. - */ - protected function cleanMessage($content) - { - $newContent = ''; - - $headers = self::getHeadersOfMessage($content); - foreach ($headers as $headerName => $value) { - if (!in_array($headerName, ['content-type', 'content-transfer-encoding', 'content-disposition'])) { - continue; - } - - $headerName = explode('-', $headerName); - $headerName = array_map('ucfirst', $headerName); - $headerName = implode('-', $headerName); - - if (strlen($value) > 62) { - $value = wordwrap($value, 62, "\n "); - } - - $newContent .= "$headerName: $value\r\n"; - } - - return $newContent."\r\n".self::getBodyOfMessage($content); - } - - /** - * Returns the headers of the message. - * - * Header-names are lowercase. - * - * @param string $message - * - * @return array - */ - protected static function getHeadersOfMessage($message) - { - $headersPosEnd = strpos($message, "\r\n\r\n"); - $headerData = trim(substr($message, 0, $headersPosEnd)); - $headerLines = explode("\r\n", $headerData); - $headers = []; - - if (false === $headerLines) { - return $headers; - } - - // Transform header lines into an associative array - $currentHeaderName = ''; - foreach ($headerLines as $headerLine) { - // Handle headers that span multiple lines - if (false === strpos($headerLine, ':')) { - $headers[$currentHeaderName] .= ' '.trim($headerLine); - continue; - } - - $header = explode(':', $headerLine, 2); - $currentHeaderName = strtolower($header[0]); - $headers[$currentHeaderName] = trim($header[1]); - } - - return $headers; - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/StreamFilters/ByteArrayReplacementFilterTest.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/StreamFilters/ByteArrayReplacementFilterTest.php deleted file mode 100644 index 3c81224..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/StreamFilters/ByteArrayReplacementFilterTest.php +++ /dev/null @@ -1,129 +0,0 @@ -createFilter([0x61, 0x62], [0x63, 0x64]); - $this->assertEquals( - [0x59, 0x60, 0x63, 0x64, 0x65], - $filter->filter([0x59, 0x60, 0x61, 0x62, 0x65]) - ); - } - - public function testShouldBufferReturnsTrueIfPartialMatchAtEndOfBuffer() - { - $filter = $this->createFilter([0x61, 0x62], [0x63, 0x64]); - $this->assertTrue($filter->shouldBuffer([0x59, 0x60, 0x61]), - '%s: Filter should buffer since 0x61 0x62 is the needle and the ending '. - '0x61 could be from 0x61 0x62' - ); - } - - public function testFilterCanMakeMultipleReplacements() - { - $filter = $this->createFilter([[0x61], [0x62]], [0x63]); - $this->assertEquals( - [0x60, 0x63, 0x60, 0x63, 0x60], - $filter->filter([0x60, 0x61, 0x60, 0x62, 0x60]) - ); - } - - public function testMultipleReplacementsCanBeDifferent() - { - $filter = $this->createFilter([[0x61], [0x62]], [[0x63], [0x64]]); - $this->assertEquals( - [0x60, 0x63, 0x60, 0x64, 0x60], - $filter->filter([0x60, 0x61, 0x60, 0x62, 0x60]) - ); - } - - public function testShouldBufferReturnsFalseIfPartialMatchNotAtEndOfString() - { - $filter = $this->createFilter([0x0D, 0x0A], [0x0A]); - $this->assertFalse($filter->shouldBuffer([0x61, 0x62, 0x0D, 0x0A, 0x63]), - '%s: Filter should not buffer since x0Dx0A is the needle and is not at EOF' - ); - } - - public function testShouldBufferReturnsTrueIfAnyOfMultipleMatchesAtEndOfString() - { - $filter = $this->createFilter([[0x61, 0x62], [0x63]], [0x64]); - $this->assertTrue($filter->shouldBuffer([0x59, 0x60, 0x61]), - '%s: Filter should buffer since 0x61 0x62 is a needle and the ending '. - '0x61 could be from 0x61 0x62' - ); - } - - public function testConvertingAllLineEndingsToCRLFWhenInputIsLF() - { - $filter = $this->createFilter( - [[0x0D, 0x0A], [0x0D], [0x0A]], - [[0x0A], [0x0A], [0x0D, 0x0A]] - ); - - $this->assertEquals( - [0x60, 0x0D, 0x0A, 0x61, 0x0D, 0x0A, 0x62, 0x0D, 0x0A, 0x63], - $filter->filter([0x60, 0x0A, 0x61, 0x0A, 0x62, 0x0A, 0x63]) - ); - } - - public function testConvertingAllLineEndingsToCRLFWhenInputIsCR() - { - $filter = $this->createFilter( - [[0x0D, 0x0A], [0x0D], [0x0A]], - [[0x0A], [0x0A], [0x0D, 0x0A]] - ); - - $this->assertEquals( - [0x60, 0x0D, 0x0A, 0x61, 0x0D, 0x0A, 0x62, 0x0D, 0x0A, 0x63], - $filter->filter([0x60, 0x0D, 0x61, 0x0D, 0x62, 0x0D, 0x63]) - ); - } - - public function testConvertingAllLineEndingsToCRLFWhenInputIsCRLF() - { - $filter = $this->createFilter( - [[0x0D, 0x0A], [0x0D], [0x0A]], - [[0x0A], [0x0A], [0x0D, 0x0A]] - ); - - $this->assertEquals( - [0x60, 0x0D, 0x0A, 0x61, 0x0D, 0x0A, 0x62, 0x0D, 0x0A, 0x63], - $filter->filter([0x60, 0x0D, 0x0A, 0x61, 0x0D, 0x0A, 0x62, 0x0D, 0x0A, 0x63]) - ); - } - - public function testConvertingAllLineEndingsToCRLFWhenInputIsLFCR() - { - $filter = $this->createFilter( - [[0x0D, 0x0A], [0x0D], [0x0A]], - [[0x0A], [0x0A], [0x0D, 0x0A]] - ); - - $this->assertEquals( - [0x60, 0x0D, 0x0A, 0x0D, 0x0A, 0x61, 0x0D, 0x0A, 0x0D, 0x0A, 0x62, 0x0D, 0x0A, 0x0D, 0x0A, 0x63], - $filter->filter([0x60, 0x0A, 0x0D, 0x61, 0x0A, 0x0D, 0x62, 0x0A, 0x0D, 0x63]) - ); - } - - public function testConvertingAllLineEndingsToCRLFWhenInputContainsLFLF() - { - //Lighthouse Bug #23 - - $filter = $this->createFilter( - [[0x0D, 0x0A], [0x0D], [0x0A]], - [[0x0A], [0x0A], [0x0D, 0x0A]] - ); - - $this->assertEquals( - [0x60, 0x0D, 0x0A, 0x0D, 0x0A, 0x61, 0x0D, 0x0A, 0x0D, 0x0A, 0x62, 0x0D, 0x0A, 0x0D, 0x0A, 0x63], - $filter->filter([0x60, 0x0A, 0x0A, 0x61, 0x0A, 0x0A, 0x62, 0x0A, 0x0A, 0x63]) - ); - } - - private function createFilter($search, $replace) - { - return new Swift_StreamFilters_ByteArrayReplacementFilter($search, $replace); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/StreamFilters/StringReplacementFilterFactoryTest.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/StreamFilters/StringReplacementFilterFactoryTest.php deleted file mode 100644 index 514829f..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/StreamFilters/StringReplacementFilterFactoryTest.php +++ /dev/null @@ -1,36 +0,0 @@ -createFactory(); - $this->assertInstanceOf( - 'Swift_StreamFilters_StringReplacementFilter', - $factory->createFilter('a', 'b') - ); - } - - public function testSameInstancesAreCached() - { - $factory = $this->createFactory(); - $filter1 = $factory->createFilter('a', 'b'); - $filter2 = $factory->createFilter('a', 'b'); - $this->assertSame($filter1, $filter2, '%s: Instances should be cached'); - } - - public function testDifferingInstancesAreNotCached() - { - $factory = $this->createFactory(); - $filter1 = $factory->createFilter('a', 'b'); - $filter2 = $factory->createFilter('a', 'c'); - $this->assertNotEquals($filter1, $filter2, - '%s: Differing instances should not be cached' - ); - } - - private function createFactory() - { - return new Swift_StreamFilters_StringReplacementFilterFactory(); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/StreamFilters/StringReplacementFilterTest.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/StreamFilters/StringReplacementFilterTest.php deleted file mode 100644 index 1a5f4dc..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/StreamFilters/StringReplacementFilterTest.php +++ /dev/null @@ -1,59 +0,0 @@ -createFilter('foo', 'bar'); - $this->assertEquals('XbarYbarZ', $filter->filter('XfooYfooZ')); - } - - public function testShouldBufferReturnsTrueIfPartialMatchAtEndOfBuffer() - { - $filter = $this->createFilter('foo', 'bar'); - $this->assertTrue($filter->shouldBuffer('XfooYf'), - '%s: Filter should buffer since "foo" is the needle and the ending '. - '"f" could be from "foo"' - ); - } - - public function testFilterCanMakeMultipleReplacements() - { - $filter = $this->createFilter(['a', 'b'], 'foo'); - $this->assertEquals('XfooYfooZ', $filter->filter('XaYbZ')); - } - - public function testMultipleReplacementsCanBeDifferent() - { - $filter = $this->createFilter(['a', 'b'], ['foo', 'zip']); - $this->assertEquals('XfooYzipZ', $filter->filter('XaYbZ')); - } - - public function testShouldBufferReturnsFalseIfPartialMatchNotAtEndOfString() - { - $filter = $this->createFilter("\r\n", "\n"); - $this->assertFalse($filter->shouldBuffer("foo\r\nbar"), - '%s: Filter should not buffer since x0Dx0A is the needle and is not at EOF' - ); - } - - public function testShouldBufferReturnsTrueIfAnyOfMultipleMatchesAtEndOfString() - { - $filter = $this->createFilter(['foo', 'zip'], 'bar'); - $this->assertTrue($filter->shouldBuffer('XfooYzi'), - '%s: Filter should buffer since "zip" is a needle and the ending '. - '"zi" could be from "zip"' - ); - } - - public function testShouldBufferReturnsFalseOnEmptyBuffer() - { - $filter = $this->createFilter("\r\n", "\n"); - $this->assertFalse($filter->shouldBuffer('')); - } - - private function createFilter($search, $replace) - { - return new Swift_StreamFilters_StringReplacementFilter($search, $replace); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Transport/AbstractSmtpEventSupportTest.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Transport/AbstractSmtpEventSupportTest.php deleted file mode 100644 index 896171d..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Transport/AbstractSmtpEventSupportTest.php +++ /dev/null @@ -1,558 +0,0 @@ -getBuffer(); - $dispatcher = $this->createEventDispatcher(false); - $listener = $this->getMockery('Swift_Events_EventListener'); - $smtp = $this->getTransport($buf, $dispatcher); - $dispatcher->shouldReceive('bindEventListener') - ->once() - ->with($listener); - - $smtp->registerPlugin($listener); - } - - public function testSendingDispatchesBeforeSendEvent() - { - $buf = $this->getBuffer(); - $dispatcher = $this->createEventDispatcher(false); - $message = $this->createMessage(); - $smtp = $this->getTransport($buf, $dispatcher); - $evt = $this->getMockery('Swift_Events_SendEvent')->shouldIgnoreMissing(); - - $message->shouldReceive('getFrom') - ->zeroOrMoreTimes() - ->andReturn(['chris@swiftmailer.org' => null]); - $message->shouldReceive('getTo') - ->zeroOrMoreTimes() - ->andReturn(['mark@swiftmailer.org' => 'Mark']); - $dispatcher->shouldReceive('createSendEvent') - ->once() - ->andReturn($evt); - $dispatcher->shouldReceive('dispatchEvent') - ->once() - ->with($evt, 'beforeSendPerformed'); - $dispatcher->shouldReceive('dispatchEvent') - ->zeroOrMoreTimes(); - $evt->shouldReceive('bubbleCancelled') - ->zeroOrMoreTimes() - ->andReturn(false); - - $this->finishBuffer($buf); - $smtp->start(); - $this->assertEquals(1, $smtp->send($message)); - } - - public function testSendingDispatchesSendEvent() - { - $buf = $this->getBuffer(); - $dispatcher = $this->createEventDispatcher(false); - $message = $this->createMessage(); - $smtp = $this->getTransport($buf, $dispatcher); - $evt = $this->getMockery('Swift_Events_SendEvent')->shouldIgnoreMissing(); - - $message->shouldReceive('getFrom') - ->zeroOrMoreTimes() - ->andReturn(['chris@swiftmailer.org' => null]); - $message->shouldReceive('getTo') - ->zeroOrMoreTimes() - ->andReturn(['mark@swiftmailer.org' => 'Mark']); - $dispatcher->shouldReceive('createSendEvent') - ->once() - ->andReturn($evt); - $dispatcher->shouldReceive('dispatchEvent') - ->once() - ->with($evt, 'sendPerformed'); - $dispatcher->shouldReceive('dispatchEvent') - ->zeroOrMoreTimes(); - $evt->shouldReceive('bubbleCancelled') - ->zeroOrMoreTimes() - ->andReturn(false); - - $this->finishBuffer($buf); - $smtp->start(); - $this->assertEquals(1, $smtp->send($message)); - } - - public function testSendEventCapturesFailures() - { - $buf = $this->getBuffer(); - $dispatcher = $this->createEventDispatcher(false); - $evt = $this->getMockery('Swift_Events_SendEvent')->shouldIgnoreMissing(); - $smtp = $this->getTransport($buf, $dispatcher); - $message = $this->createMessage(); - - $message->shouldReceive('getFrom') - ->zeroOrMoreTimes() - ->andReturn(['chris@swiftmailer.org' => null]); - $message->shouldReceive('getTo') - ->zeroOrMoreTimes() - ->andReturn(['mark@swiftmailer.org' => 'Mark']); - $buf->shouldReceive('write') - ->once() - ->with("MAIL FROM:\r\n") - ->andReturn(1); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn("250 OK\r\n"); - $buf->shouldReceive('write') - ->once() - ->with("RCPT TO:\r\n") - ->andReturn(2); - $buf->shouldReceive('readLine') - ->once() - ->with(2) - ->andReturn("500 Not now\r\n"); - $dispatcher->shouldReceive('createSendEvent') - ->zeroOrMoreTimes() - ->with($smtp, \Mockery::any()) - ->andReturn($evt); - $dispatcher->shouldReceive('dispatchEvent') - ->once() - ->with($evt, 'sendPerformed'); - $dispatcher->shouldReceive('dispatchEvent') - ->zeroOrMoreTimes(); - $evt->shouldReceive('bubbleCancelled') - ->zeroOrMoreTimes() - ->andReturn(false); - $evt->shouldReceive('setFailedRecipients') - ->once() - ->with(['mark@swiftmailer.org']); - - $this->finishBuffer($buf); - $smtp->start(); - $this->assertEquals(0, $smtp->send($message)); - } - - public function testSendEventHasResultFailedIfAllFailures() - { - $buf = $this->getBuffer(); - $dispatcher = $this->createEventDispatcher(false); - $evt = $this->getMockery('Swift_Events_SendEvent')->shouldIgnoreMissing(); - $smtp = $this->getTransport($buf, $dispatcher); - $message = $this->createMessage(); - - $message->shouldReceive('getFrom') - ->zeroOrMoreTimes() - ->andReturn(['chris@swiftmailer.org' => null]); - $message->shouldReceive('getTo') - ->zeroOrMoreTimes() - ->andReturn(['mark@swiftmailer.org' => 'Mark']); - $buf->shouldReceive('write') - ->once() - ->with("MAIL FROM:\r\n") - ->andReturn(1); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn("250 OK\r\n"); - $buf->shouldReceive('write') - ->once() - ->with("RCPT TO:\r\n") - ->andReturn(2); - $buf->shouldReceive('readLine') - ->once() - ->with(2) - ->andReturn("500 Not now\r\n"); - $dispatcher->shouldReceive('createSendEvent') - ->zeroOrMoreTimes() - ->with($smtp, \Mockery::any()) - ->andReturn($evt); - $dispatcher->shouldReceive('dispatchEvent') - ->once() - ->with($evt, 'sendPerformed'); - $dispatcher->shouldReceive('dispatchEvent') - ->zeroOrMoreTimes(); - $evt->shouldReceive('bubbleCancelled') - ->zeroOrMoreTimes() - ->andReturn(false); - $evt->shouldReceive('setResult') - ->once() - ->with(Swift_Events_SendEvent::RESULT_FAILED); - - $this->finishBuffer($buf); - $smtp->start(); - $this->assertEquals(0, $smtp->send($message)); - } - - public function testSendEventHasResultTentativeIfSomeFailures() - { - $buf = $this->getBuffer(); - $dispatcher = $this->createEventDispatcher(false); - $evt = $this->getMockery('Swift_Events_SendEvent')->shouldIgnoreMissing(); - $smtp = $this->getTransport($buf, $dispatcher); - $message = $this->createMessage(); - - $message->shouldReceive('getFrom') - ->zeroOrMoreTimes() - ->andReturn(['chris@swiftmailer.org' => null]); - $message->shouldReceive('getTo') - ->zeroOrMoreTimes() - ->andReturn([ - 'mark@swiftmailer.org' => 'Mark', - 'chris@site.tld' => 'Chris', - ]); - $buf->shouldReceive('write') - ->once() - ->with("MAIL FROM:\r\n") - ->andReturn(1); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn("250 OK\r\n"); - $buf->shouldReceive('write') - ->once() - ->with("RCPT TO:\r\n") - ->andReturn(2); - $buf->shouldReceive('readLine') - ->once() - ->with(2) - ->andReturn("500 Not now\r\n"); - $dispatcher->shouldReceive('createSendEvent') - ->zeroOrMoreTimes() - ->with($smtp, \Mockery::any()) - ->andReturn($evt); - $dispatcher->shouldReceive('dispatchEvent') - ->once() - ->with($evt, 'sendPerformed'); - $dispatcher->shouldReceive('dispatchEvent') - ->zeroOrMoreTimes(); - $evt->shouldReceive('bubbleCancelled') - ->zeroOrMoreTimes() - ->andReturn(false); - $evt->shouldReceive('setResult') - ->once() - ->with(Swift_Events_SendEvent::RESULT_TENTATIVE); - - $this->finishBuffer($buf); - $smtp->start(); - $this->assertEquals(1, $smtp->send($message)); - } - - public function testSendEventHasResultSuccessIfNoFailures() - { - $buf = $this->getBuffer(); - $dispatcher = $this->createEventDispatcher(false); - $evt = $this->getMockery('Swift_Events_SendEvent')->shouldIgnoreMissing(); - $smtp = $this->getTransport($buf, $dispatcher); - $message = $this->createMessage(); - - $message->shouldReceive('getFrom') - ->zeroOrMoreTimes() - ->andReturn(['chris@swiftmailer.org' => null]); - $message->shouldReceive('getTo') - ->zeroOrMoreTimes() - ->andReturn([ - 'mark@swiftmailer.org' => 'Mark', - 'chris@site.tld' => 'Chris', - ]); - $dispatcher->shouldReceive('createSendEvent') - ->zeroOrMoreTimes() - ->with($smtp, \Mockery::any()) - ->andReturn($evt); - $dispatcher->shouldReceive('dispatchEvent') - ->once() - ->with($evt, 'sendPerformed'); - $dispatcher->shouldReceive('dispatchEvent') - ->zeroOrMoreTimes(); - $evt->shouldReceive('bubbleCancelled') - ->zeroOrMoreTimes() - ->andReturn(false); - $evt->shouldReceive('setResult') - ->once() - ->with(Swift_Events_SendEvent::RESULT_SUCCESS); - - $this->finishBuffer($buf); - $smtp->start(); - $this->assertEquals(2, $smtp->send($message)); - } - - public function testCancellingEventBubbleBeforeSendStopsEvent() - { - $buf = $this->getBuffer(); - $dispatcher = $this->createEventDispatcher(false); - $evt = $this->getMockery('Swift_Events_SendEvent')->shouldIgnoreMissing(); - $smtp = $this->getTransport($buf, $dispatcher); - $message = $this->createMessage(); - - $message->shouldReceive('getFrom') - ->zeroOrMoreTimes() - ->andReturn(['chris@swiftmailer.org' => null]); - $message->shouldReceive('getTo') - ->zeroOrMoreTimes() - ->andReturn(['mark@swiftmailer.org' => 'Mark']); - $dispatcher->shouldReceive('createSendEvent') - ->zeroOrMoreTimes() - ->with($smtp, \Mockery::any()) - ->andReturn($evt); - $dispatcher->shouldReceive('dispatchEvent') - ->once() - ->with($evt, 'beforeSendPerformed'); - $dispatcher->shouldReceive('dispatchEvent') - ->zeroOrMoreTimes(); - $evt->shouldReceive('bubbleCancelled') - ->atLeast()->once() - ->andReturn(true); - - $this->finishBuffer($buf); - $smtp->start(); - $this->assertEquals(0, $smtp->send($message)); - } - - public function testStartingTransportDispatchesTransportChangeEvent() - { - $buf = $this->getBuffer(); - $dispatcher = $this->createEventDispatcher(false); - $evt = $this->getMockery('Swift_Events_TransportChangeEvent'); - $smtp = $this->getTransport($buf, $dispatcher); - - $dispatcher->shouldReceive('createTransportChangeEvent') - ->atLeast()->once() - ->with($smtp) - ->andReturn($evt); - $dispatcher->shouldReceive('dispatchEvent') - ->once() - ->with($evt, 'transportStarted'); - $dispatcher->shouldReceive('dispatchEvent') - ->zeroOrMoreTimes(); - $evt->shouldReceive('bubbleCancelled') - ->atLeast()->once() - ->andReturn(false); - - $this->finishBuffer($buf); - $smtp->start(); - } - - public function testStartingTransportDispatchesBeforeTransportChangeEvent() - { - $buf = $this->getBuffer(); - $dispatcher = $this->createEventDispatcher(false); - $evt = $this->getMockery('Swift_Events_TransportChangeEvent'); - $smtp = $this->getTransport($buf, $dispatcher); - - $dispatcher->shouldReceive('createTransportChangeEvent') - ->atLeast()->once() - ->with($smtp) - ->andReturn($evt); - $dispatcher->shouldReceive('dispatchEvent') - ->once() - ->with($evt, 'beforeTransportStarted'); - $dispatcher->shouldReceive('dispatchEvent') - ->zeroOrMoreTimes(); - $evt->shouldReceive('bubbleCancelled') - ->atLeast()->once() - ->andReturn(false); - - $this->finishBuffer($buf); - $smtp->start(); - } - - public function testCancellingBubbleBeforeTransportStartStopsEvent() - { - $buf = $this->getBuffer(); - $dispatcher = $this->createEventDispatcher(false); - $evt = $this->getMockery('Swift_Events_TransportChangeEvent'); - $smtp = $this->getTransport($buf, $dispatcher); - - $dispatcher->shouldReceive('createTransportChangeEvent') - ->atLeast()->once() - ->with($smtp) - ->andReturn($evt); - $dispatcher->shouldReceive('dispatchEvent') - ->once() - ->with($evt, 'beforeTransportStarted'); - $dispatcher->shouldReceive('dispatchEvent') - ->zeroOrMoreTimes(); - $evt->shouldReceive('bubbleCancelled') - ->atLeast()->once() - ->andReturn(true); - - $this->finishBuffer($buf); - $smtp->start(); - - $this->assertFalse($smtp->isStarted(), - '%s: Transport should not be started since event bubble was cancelled' - ); - } - - public function testStoppingTransportDispatchesTransportChangeEvent() - { - $buf = $this->getBuffer(); - $dispatcher = $this->createEventDispatcher(false); - $evt = $this->getMockery('Swift_Events_TransportChangeEvent')->shouldIgnoreMissing(); - $smtp = $this->getTransport($buf, $dispatcher); - - $dispatcher->shouldReceive('createTransportChangeEvent') - ->atLeast()->once() - ->with($smtp) - ->andReturn($evt); - $dispatcher->shouldReceive('dispatchEvent') - ->once() - ->with($evt, 'transportStopped'); - $dispatcher->shouldReceive('dispatchEvent') - ->zeroOrMoreTimes(); - - $this->finishBuffer($buf); - $smtp->start(); - $smtp->stop(); - } - - public function testStoppingTransportDispatchesBeforeTransportChangeEvent() - { - $buf = $this->getBuffer(); - $dispatcher = $this->createEventDispatcher(false); - $evt = $this->getMockery('Swift_Events_TransportChangeEvent')->shouldIgnoreMissing(); - $smtp = $this->getTransport($buf, $dispatcher); - - $dispatcher->shouldReceive('createTransportChangeEvent') - ->atLeast()->once() - ->with($smtp) - ->andReturn($evt); - $dispatcher->shouldReceive('dispatchEvent') - ->once() - ->with($evt, 'beforeTransportStopped'); - $dispatcher->shouldReceive('dispatchEvent') - ->zeroOrMoreTimes(); - - $this->finishBuffer($buf); - $smtp->start(); - $smtp->stop(); - } - - public function testCancellingBubbleBeforeTransportStoppedStopsEvent() - { - $buf = $this->getBuffer(); - $dispatcher = $this->createEventDispatcher(false); - $evt = $this->getMockery('Swift_Events_TransportChangeEvent'); - $smtp = $this->getTransport($buf, $dispatcher); - - $hasRun = false; - $dispatcher->shouldReceive('createTransportChangeEvent') - ->atLeast()->once() - ->with($smtp) - ->andReturn($evt); - $dispatcher->shouldReceive('dispatchEvent') - ->once() - ->with($evt, 'beforeTransportStopped') - ->andReturnUsing(function () use (&$hasRun) { - $hasRun = true; - }); - $dispatcher->shouldReceive('dispatchEvent') - ->zeroOrMoreTimes(); - $evt->shouldReceive('bubbleCancelled') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use (&$hasRun) { - return $hasRun; - }); - - $this->finishBuffer($buf); - $smtp->start(); - $smtp->stop(); - - $this->assertTrue($smtp->isStarted(), - '%s: Transport should not be stopped since event bubble was cancelled' - ); - } - - public function testResponseEventsAreGenerated() - { - $buf = $this->getBuffer(); - $dispatcher = $this->createEventDispatcher(false); - $evt = $this->getMockery('Swift_Events_ResponseEvent'); - $smtp = $this->getTransport($buf, $dispatcher); - - $dispatcher->shouldReceive('createResponseEvent') - ->atLeast()->once() - ->with($smtp, \Mockery::any(), \Mockery::any()) - ->andReturn($evt); - $dispatcher->shouldReceive('dispatchEvent') - ->atLeast()->once() - ->with($evt, 'responseReceived'); - - $this->finishBuffer($buf); - $smtp->start(); - } - - public function testCommandEventsAreGenerated() - { - $buf = $this->getBuffer(); - $dispatcher = $this->createEventDispatcher(false); - $evt = $this->getMockery('Swift_Events_CommandEvent'); - $smtp = $this->getTransport($buf, $dispatcher); - - $dispatcher->shouldReceive('createCommandEvent') - ->once() - ->with($smtp, \Mockery::any(), \Mockery::any()) - ->andReturn($evt); - $dispatcher->shouldReceive('dispatchEvent') - ->once() - ->with($evt, 'commandSent'); - - $this->finishBuffer($buf); - $smtp->start(); - } - - public function testExceptionsCauseExceptionEvents() - { - $buf = $this->getBuffer(); - $dispatcher = $this->createEventDispatcher(false); - $evt = $this->getMockery('Swift_Events_TransportExceptionEvent'); - $smtp = $this->getTransport($buf, $dispatcher); - - $buf->shouldReceive('readLine') - ->atLeast()->once() - ->andReturn("503 I'm sleepy, go away!\r\n"); - $dispatcher->shouldReceive('createTransportExceptionEvent') - ->zeroOrMoreTimes() - ->with($smtp, \Mockery::any()) - ->andReturn($evt); - $dispatcher->shouldReceive('dispatchEvent') - ->once() - ->with($evt, 'exceptionThrown'); - $evt->shouldReceive('bubbleCancelled') - ->atLeast()->once() - ->andReturn(false); - - try { - $smtp->start(); - $this->fail('TransportException should be thrown on invalid response'); - } catch (Swift_TransportException $e) { - } - } - - public function testExceptionBubblesCanBeCancelled() - { - $buf = $this->getBuffer(); - $dispatcher = $this->createEventDispatcher(false); - $evt = $this->getMockery('Swift_Events_TransportExceptionEvent'); - $smtp = $this->getTransport($buf, $dispatcher); - - $buf->shouldReceive('readLine') - ->atLeast()->once() - ->andReturn("503 I'm sleepy, go away!\r\n"); - $dispatcher->shouldReceive('createTransportExceptionEvent') - ->twice() - ->with($smtp, \Mockery::any()) - ->andReturn($evt); - $dispatcher->shouldReceive('dispatchEvent') - ->twice() - ->with($evt, 'exceptionThrown'); - $evt->shouldReceive('bubbleCancelled') - ->atLeast()->once() - ->andReturn(true); - - $this->finishBuffer($buf); - $smtp->start(); - } - - protected function createEventDispatcher($stub = true) - { - return $this->getMockery('Swift_Events_EventDispatcher')->shouldIgnoreMissing(); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Transport/AbstractSmtpTest.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Transport/AbstractSmtpTest.php deleted file mode 100644 index 4c837fa..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Transport/AbstractSmtpTest.php +++ /dev/null @@ -1,1400 +0,0 @@ -getBuffer(); - $smtp = $this->getTransport($buf); - $buf->shouldReceive('initialize') - ->once(); - $buf->shouldReceive('readLine') - ->once() - ->with(0) - ->andReturn("220 some.server.tld bleh\r\n"); - - $this->finishBuffer($buf); - try { - $this->assertFalse($smtp->isStarted(), '%s: SMTP should begin non-started'); - $smtp->start(); - $this->assertTrue($smtp->isStarted(), '%s: start() should have started connection'); - } catch (Exception $e) { - $this->fail('220 is a valid SMTP greeting and should be accepted'); - } - } - - public function testBadGreetingCausesException() - { - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - $buf->shouldReceive('initialize') - ->once(); - $buf->shouldReceive('readLine') - ->once() - ->with(0) - ->andReturn("554 I'm busy\r\n"); - $this->finishBuffer($buf); - try { - $this->assertFalse($smtp->isStarted(), '%s: SMTP should begin non-started'); - $smtp->start(); - $this->fail('554 greeting indicates an error and should cause an exception'); - } catch (Swift_TransportException $e) { - $this->assertFalse($smtp->isStarted(), '%s: start() should have failed'); - } - } - - public function testStartSendsHeloToInitiate() - { - /* -- RFC 2821, 3.2. - - 3.2 Client Initiation - - Once the server has sent the welcoming message and the client has - received it, the client normally sends the EHLO command to the - server, indicating the client's identity. In addition to opening the - session, use of EHLO indicates that the client is able to process - service extensions and requests that the server provide a list of the - extensions it supports. Older SMTP systems which are unable to - support service extensions and contemporary clients which do not - require service extensions in the mail session being initiated, MAY - use HELO instead of EHLO. Servers MUST NOT return the extended - EHLO-style response to a HELO command. For a particular connection - attempt, if the server returns a "command not recognized" response to - EHLO, the client SHOULD be able to fall back and send HELO. - - In the EHLO command the host sending the command identifies itself; - the command may be interpreted as saying "Hello, I am " (and, - in the case of EHLO, "and I support service extension requests"). - - -- RFC 2281, 4.1.1.1. - - ehlo = "EHLO" SP Domain CRLF - helo = "HELO" SP Domain CRLF - - -- RFC 2821, 4.3.2. - - EHLO or HELO - S: 250 - E: 504, 550 - - */ - - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - - $buf->shouldReceive('initialize') - ->once(); - $buf->shouldReceive('readLine') - ->once() - ->with(0) - ->andReturn("220 some.server.tld bleh\r\n"); - $buf->shouldReceive('write') - ->once() - ->with('~^HELO example.org\r\n$~D') - ->andReturn(1); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn('250 ServerName'."\r\n"); - - $this->finishBuffer($buf); - try { - $smtp->start(); - } catch (Exception $e) { - $this->fail('Starting SMTP should send HELO and accept 250 response'); - } - } - - public function testInvalidHeloResponseCausesException() - { - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - - $buf->shouldReceive('initialize') - ->once(); - $buf->shouldReceive('readLine') - ->once() - ->with(0) - ->andReturn("220 some.server.tld bleh\r\n"); - $buf->shouldReceive('write') - ->once() - ->with('~^HELO example.org\r\n$~D') - ->andReturn(1); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn('504 WTF'."\r\n"); - - $this->finishBuffer($buf); - try { - $this->assertFalse($smtp->isStarted(), '%s: SMTP should begin non-started'); - $smtp->start(); - $this->fail('Non 250 HELO response should raise Exception'); - } catch (Swift_TransportException $e) { - $this->assertFalse($smtp->isStarted(), '%s: SMTP start() should have failed'); - } - } - - public function testDomainNameIsPlacedInHelo() - { - /* -- RFC 2821, 4.1.4. - - The SMTP client MUST, if possible, ensure that the domain parameter - to the EHLO command is a valid principal host name (not a CNAME or MX - name) for its host. If this is not possible (e.g., when the client's - address is dynamically assigned and the client does not have an - obvious name), an address literal SHOULD be substituted for the - domain name and supplemental information provided that will assist in - identifying the client. - */ - - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - - $buf->shouldReceive('initialize') - ->once(); - $buf->shouldReceive('readLine') - ->once() - ->with(0) - ->andReturn("220 some.server.tld bleh\r\n"); - $buf->shouldReceive('write') - ->once() - ->with("HELO mydomain.com\r\n") - ->andReturn(1); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn('250 ServerName'."\r\n"); - - $this->finishBuffer($buf); - $smtp->setLocalDomain('mydomain.com'); - $smtp->start(); - } - - public function testSuccessfulMailCommand() - { - /* -- RFC 2821, 3.3. - - There are three steps to SMTP mail transactions. The transaction - starts with a MAIL command which gives the sender identification. - - ..... - - The first step in the procedure is the MAIL command. - - MAIL FROM: [SP ] - - -- RFC 2821, 4.1.1.2. - - Syntax: - - "MAIL FROM:" ("<>" / Reverse-Path) - [SP Mail-parameters] CRLF - -- RFC 2821, 4.1.2. - - Reverse-path = Path - Forward-path = Path - Path = "<" [ A-d-l ":" ] Mailbox ">" - A-d-l = At-domain *( "," A-d-l ) - ; Note that this form, the so-called "source route", - ; MUST BE accepted, SHOULD NOT be generated, and SHOULD be - ; ignored. - At-domain = "@" domain - - -- RFC 2821, 4.3.2. - - MAIL - S: 250 - E: 552, 451, 452, 550, 553, 503 - */ - - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - $message = $this->createMessage(); - $message->shouldReceive('getFrom') - ->once() - ->andReturn(['me@domain.com' => 'Me']); - $message->shouldReceive('getTo') - ->once() - ->andReturn(['foo@bar' => null]); - $buf->shouldReceive('initialize') - ->once(); - $buf->shouldReceive('write') - ->once() - ->with("MAIL FROM:\r\n") - ->andReturn(1); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn("250 OK\r\n"); - - $this->finishBuffer($buf); - try { - $smtp->start(); - $smtp->send($message); - } catch (Exception $e) { - $this->fail('MAIL FROM should accept a 250 response'); - } - } - - public function testInvalidResponseCodeFromMailCausesException() - { - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - $message = $this->createMessage(); - - $message->shouldReceive('getFrom') - ->once() - ->andReturn(['me@domain.com' => 'Me']); - $message->shouldReceive('getTo') - ->once() - ->andReturn(['foo@bar' => null]); - $buf->shouldReceive('write') - ->once() - ->with("MAIL FROM:\r\n") - ->andReturn(1); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn('553 Bad'."\r\n"); - - $this->finishBuffer($buf); - try { - $smtp->start(); - $smtp->send($message); - $this->fail('MAIL FROM should accept a 250 response'); - } catch (Swift_TransportException $e) { - } - } - - public function testSenderIsPreferredOverFrom() - { - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - $message = $this->createMessage(); - - $message->shouldReceive('getFrom') - ->once() - ->andReturn(['me@domain.com' => 'Me']); - $message->shouldReceive('getSender') - ->once() - ->andReturn(['another@domain.com' => 'Someone']); - $message->shouldReceive('getTo') - ->once() - ->andReturn(['foo@bar' => null]); - $buf->shouldReceive('write') - ->once() - ->with("MAIL FROM:\r\n") - ->andReturn(1); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn('250 OK'."\r\n"); - - $this->finishBuffer($buf); - $smtp->start(); - $smtp->send($message); - } - - public function testReturnPathIsPreferredOverSender() - { - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - $message = $this->createMessage(); - - $message->shouldReceive('getFrom') - ->once() - ->andReturn(['me@domain.com' => 'Me']); - $message->shouldReceive('getSender') - ->once() - ->andReturn(['another@domain.com' => 'Someone']); - $message->shouldReceive('getReturnPath') - ->once() - ->andReturn('more@domain.com'); - $message->shouldReceive('getTo') - ->once() - ->andReturn(['foo@bar' => null]); - $buf->shouldReceive('write') - ->once() - ->with("MAIL FROM:\r\n") - ->andReturn(1); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn('250 OK'."\r\n"); - - $this->finishBuffer($buf); - $smtp->start(); - $smtp->send($message); - } - - public function testSuccessfulRcptCommandWith250Response() - { - /* -- RFC 2821, 3.3. - - The second step in the procedure is the RCPT command. - - RCPT TO: [ SP ] - - The first or only argument to this command includes a forward-path - (normally a mailbox and domain, always surrounded by "<" and ">" - brackets) identifying one recipient. If accepted, the SMTP server - returns a 250 OK reply and stores the forward-path. If the recipient - is known not to be a deliverable address, the SMTP server returns a - 550 reply, typically with a string such as "no such user - " and the - mailbox name (other circumstances and reply codes are possible). - This step of the procedure can be repeated any number of times. - - -- RFC 2821, 4.1.1.3. - - This command is used to identify an individual recipient of the mail - data; multiple recipients are specified by multiple use of this - command. The argument field contains a forward-path and may contain - optional parameters. - - The forward-path normally consists of the required destination - mailbox. Sending systems SHOULD not generate the optional list of - hosts known as a source route. - - ....... - - "RCPT TO:" ("" / "" / Forward-Path) - [SP Rcpt-parameters] CRLF - - -- RFC 2821, 4.2.2. - - 250 Requested mail action okay, completed - 251 User not local; will forward to - (See section 3.4) - 252 Cannot VRFY user, but will accept message and attempt - delivery - - -- RFC 2821, 4.3.2. - - RCPT - S: 250, 251 (but see section 3.4 for discussion of 251 and 551) - E: 550, 551, 552, 553, 450, 451, 452, 503, 550 - */ - - //We'll treat 252 as accepted since it isn't really a failure - - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - $message = $this->createMessage(); - - $message->shouldReceive('getFrom') - ->once() - ->andReturn(['me@domain.com' => 'Me']); - $message->shouldReceive('getTo') - ->once() - ->andReturn(['foo@bar' => null]); - $buf->shouldReceive('write') - ->once() - ->with("MAIL FROM:\r\n") - ->andReturn(1); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn('250 OK'."\r\n"); - $buf->shouldReceive('write') - ->once() - ->with("RCPT TO:\r\n") - ->andReturn(2); - $buf->shouldReceive('readLine') - ->once() - ->with(2) - ->andReturn('250 OK'."\r\n"); - - $this->finishBuffer($buf); - try { - $smtp->start(); - $smtp->send($message); - } catch (Exception $e) { - $this->fail('RCPT TO should accept a 250 response'); - } - } - - public function testUtf8AddressWithIdnEncoder() - { - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - $message = $this->createMessage(); - - $message->shouldReceive('getFrom') - ->once() - ->andReturn(['me@dömain.com' => 'Me']); - $message->shouldReceive('getTo') - ->once() - ->andReturn(['foo@bär' => null]); - $buf->shouldReceive('write') - ->once() - ->with("MAIL FROM:\r\n") - ->andReturn(1); - $buf->shouldReceive('write') - ->once() - ->with("RCPT TO:\r\n") - ->andReturn(1); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn('250 OK'."\r\n"); - - $this->finishBuffer($buf); - $smtp->start(); - $smtp->send($message); - } - - public function testUtf8AddressWithUtf8Encoder() - { - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf, null, new Swift_AddressEncoder_Utf8AddressEncoder()); - $message = $this->createMessage(); - - $message->shouldReceive('getFrom') - ->once() - ->andReturn(['më@dömain.com' => 'Me']); - $message->shouldReceive('getTo') - ->once() - ->andReturn(['föö@bär' => null]); - $buf->shouldReceive('write') - ->once() - ->with("MAIL FROM:\r\n") - ->andReturn(1); - $buf->shouldReceive('write') - ->once() - ->with("RCPT TO:\r\n") - ->andReturn(1); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn('250 OK'."\r\n"); - - $this->finishBuffer($buf); - $smtp->start(); - $smtp->send($message); - } - - public function testNonEncodableSenderCausesException() - { - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - $message = $this->createMessage(); - - $message->shouldReceive('getFrom') - ->once() - ->andReturn(['më@domain.com' => 'Me']); - $message->shouldReceive('getTo') - ->once() - ->andReturn(['foo@bar' => null]); - - $this->finishBuffer($buf); - try { - $smtp->start(); - $smtp->send($message); - $this->fail('më@domain.com cannot be encoded (not observed)'); - } catch (Swift_AddressEncoderException $e) { - $this->assertEquals('më@domain.com', $e->getAddress()); - } - } - - public function testMailFromCommandIsOnlySentOncePerMessage() - { - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - $message = $this->createMessage(); - - $message->shouldReceive('getFrom') - ->once() - ->andReturn(['me@domain.com' => 'Me']); - $message->shouldReceive('getTo') - ->once() - ->andReturn(['foo@bar' => null]); - $buf->shouldReceive('write') - ->once() - ->with("MAIL FROM:\r\n") - ->andReturn(1); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn('250 OK'."\r\n"); - $buf->shouldReceive('write') - ->once() - ->with("RCPT TO:\r\n") - ->andReturn(2); - $buf->shouldReceive('readLine') - ->once() - ->with(2) - ->andReturn('250 OK'."\r\n"); - $buf->shouldReceive('write') - ->never() - ->with("MAIL FROM:\r\n"); - - $this->finishBuffer($buf); - $smtp->start(); - $smtp->send($message); - } - - public function testMultipleRecipientsSendsMultipleRcpt() - { - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - $message = $this->createMessage(); - - $message->shouldReceive('getFrom') - ->once() - ->andReturn(['me@domain.com' => 'Me']); - $message->shouldReceive('getTo') - ->once() - ->andReturn([ - 'foo@bar' => null, - 'zip@button' => 'Zip Button', - 'test@domain' => 'Test user', - 'tëst@domain' => 'Test user', - ]); - $buf->shouldReceive('write') - ->once() - ->with("RCPT TO:\r\n") - ->andReturn(1); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn('250 OK'."\r\n"); - $buf->shouldReceive('write') - ->once() - ->with("RCPT TO:\r\n") - ->andReturn(2); - $buf->shouldReceive('readLine') - ->once() - ->with(2) - ->andReturn('250 OK'."\r\n"); - $buf->shouldReceive('write') - ->once() - ->with("RCPT TO:\r\n") - ->andReturn(3); - $buf->shouldReceive('readLine') - ->once() - ->with(3) - ->andReturn('250 OK'."\r\n"); - - $this->finishBuffer($buf); - $smtp->start(); - $smtp->send($message); - } - - public function testCcRecipientsSendsMultipleRcpt() - { - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - $message = $this->createMessage(); - - $message->shouldReceive('getFrom') - ->once() - ->andReturn(['me@domain.com' => 'Me']); - $message->shouldReceive('getTo') - ->once() - ->andReturn(['foo@bar' => null]); - $message->shouldReceive('getCc') - ->once() - ->andReturn([ - 'zip@button' => 'Zip Button', - 'test@domain' => 'Test user', - ]); - $buf->shouldReceive('write') - ->once() - ->with("RCPT TO:\r\n") - ->andReturn(1); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn('250 OK'."\r\n"); - $buf->shouldReceive('write') - ->once() - ->with("RCPT TO:\r\n") - ->andReturn(2); - $buf->shouldReceive('readLine') - ->once() - ->with(2) - ->andReturn('250 OK'."\r\n"); - $buf->shouldReceive('write') - ->once() - ->with("RCPT TO:\r\n") - ->andReturn(3); - $buf->shouldReceive('readLine') - ->once() - ->with(3) - ->andReturn('250 OK'."\r\n"); - - $this->finishBuffer($buf); - $smtp->start(); - $smtp->send($message); - } - - public function testSendReturnsNumberOfSuccessfulRecipients() - { - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - $message = $this->createMessage(); - - $message->shouldReceive('getFrom') - ->once() - ->andReturn(['me@domain.com' => 'Me']); - $message->shouldReceive('getTo') - ->once() - ->andReturn(['foo@bar' => null]); - $message->shouldReceive('getCc') - ->once() - ->andReturn([ - 'zip@button' => 'Zip Button', - 'test@domain' => 'Test user', - ]); - $buf->shouldReceive('write') - ->once() - ->with("RCPT TO:\r\n") - ->andReturn(1); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn('250 OK'."\r\n"); - $buf->shouldReceive('write') - ->once() - ->with("RCPT TO:\r\n") - ->andReturn(2); - $buf->shouldReceive('readLine') - ->once() - ->with(2) - ->andReturn('501 Nobody here'."\r\n"); - $buf->shouldReceive('write') - ->once() - ->with("RCPT TO:\r\n") - ->andReturn(3); - $buf->shouldReceive('readLine') - ->once() - ->with(3) - ->andReturn('250 OK'."\r\n"); - - $this->finishBuffer($buf); - $smtp->start(); - $this->assertEquals(2, $smtp->send($message), - '%s: 1 of 3 recipients failed so 2 should be returned' - ); - } - - public function testRsetIsSentIfNoSuccessfulRecipients() - { - /* --RFC 2821, 4.1.1.5. - - This command specifies that the current mail transaction will be - aborted. Any stored sender, recipients, and mail data MUST be - discarded, and all buffers and state tables cleared. The receiver - MUST send a "250 OK" reply to a RSET command with no arguments. A - reset command may be issued by the client at any time. - - -- RFC 2821, 4.3.2. - - RSET - S: 250 - */ - - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - $message = $this->createMessage(); - - $message->shouldReceive('getFrom') - ->once() - ->andReturn(['me@domain.com' => 'Me']); - $message->shouldReceive('getTo') - ->once() - ->andReturn(['foo@bar' => null]); - $buf->shouldReceive('write') - ->once() - ->with("RCPT TO:\r\n") - ->andReturn(1); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn('503 Bad'."\r\n"); - $buf->shouldReceive('write') - ->once() - ->with("RSET\r\n") - ->andReturn(2); - $buf->shouldReceive('readLine') - ->once() - ->with(2) - ->andReturn('250 OK'."\r\n"); - - $this->finishBuffer($buf); - $smtp->start(); - $this->assertEquals(0, $smtp->send($message), - '%s: 1 of 1 recipients failed so 0 should be returned' - ); - } - - public function testSuccessfulDataCommand() - { - /* -- RFC 2821, 3.3. - - The third step in the procedure is the DATA command (or some - alternative specified in a service extension). - - DATA - - If accepted, the SMTP server returns a 354 Intermediate reply and - considers all succeeding lines up to but not including the end of - mail data indicator to be the message text. - - -- RFC 2821, 4.1.1.4. - - The receiver normally sends a 354 response to DATA, and then treats - the lines (strings ending in sequences, as described in - section 2.3.7) following the command as mail data from the sender. - This command causes the mail data to be appended to the mail data - buffer. The mail data may contain any of the 128 ASCII character - codes, although experience has indicated that use of control - characters other than SP, HT, CR, and LF may cause problems and - SHOULD be avoided when possible. - - -- RFC 2821, 4.3.2. - - DATA - I: 354 -> data -> S: 250 - E: 552, 554, 451, 452 - E: 451, 554, 503 - */ - - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - $message = $this->createMessage(); - - $message->shouldReceive('getFrom') - ->once() - ->andReturn(['me@domain.com' => 'Me']); - $message->shouldReceive('getTo') - ->once() - ->andReturn(['foo@bar' => null]); - $buf->shouldReceive('write') - ->once() - ->with("DATA\r\n") - ->andReturn(1); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn('354 Go ahead'."\r\n"); - - $this->finishBuffer($buf); - try { - $smtp->start(); - $smtp->send($message); - } catch (Exception $e) { - $this->fail('354 is the expected response to DATA'); - } - } - - public function testBadDataResponseCausesException() - { - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - $message = $this->createMessage(); - - $message->shouldReceive('getFrom') - ->once() - ->andReturn(['me@domain.com' => 'Me']); - $message->shouldReceive('getTo') - ->once() - ->andReturn(['foo@bar' => null]); - $buf->shouldReceive('write') - ->once() - ->with("DATA\r\n") - ->andReturn(1); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn('451 Bad'."\r\n"); - - $this->finishBuffer($buf); - try { - $smtp->start(); - $smtp->send($message); - $this->fail('354 is the expected response to DATA (not observed)'); - } catch (Swift_TransportException $e) { - } - } - - public function testMessageIsStreamedToBufferForData() - { - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - $message = $this->createMessage(); - - $message->shouldReceive('getFrom') - ->once() - ->andReturn(['me@domain.com' => 'Me']); - $message->shouldReceive('getTo') - ->once() - ->andReturn(['foo@bar' => null]); - $buf->shouldReceive('write') - ->once() - ->with("DATA\r\n") - ->andReturn(1); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn('354 OK'."\r\n"); - $buf->shouldReceive('write') - ->once() - ->with("\r\n.\r\n") - ->andReturn(2); - $buf->shouldReceive('readLine') - ->once() - ->with(2) - ->andReturn('250 OK'."\r\n"); - - $this->finishBuffer($buf); - $smtp->start(); - $smtp->send($message); - } - - public function testBadResponseAfterDataTransmissionCausesException() - { - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - $message = $this->createMessage(); - - $message->shouldReceive('getFrom') - ->once() - ->andReturn(['me@domain.com' => 'Me']); - $message->shouldReceive('getTo') - ->once() - ->andReturn(['foo@bar' => null]); - $buf->shouldReceive('write') - ->once() - ->with("DATA\r\n") - ->andReturn(1); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn('354 OK'."\r\n"); - $buf->shouldReceive('write') - ->once() - ->with("\r\n.\r\n") - ->andReturn(2); - $buf->shouldReceive('readLine') - ->once() - ->with(2) - ->andReturn('554 Error'."\r\n"); - - $this->finishBuffer($buf); - try { - $smtp->start(); - $smtp->send($message); - $this->fail('250 is the expected response after a DATA transmission (not observed)'); - } catch (Swift_TransportException $e) { - } - } - - public function testBccRecipientsAreRemovedFromHeaders() - { - /* -- RFC 2821, 7.2. - - Addresses that do not appear in the message headers may appear in the - RCPT commands to an SMTP server for a number of reasons. The two - most common involve the use of a mailing address as a "list exploder" - (a single address that resolves into multiple addresses) and the - appearance of "blind copies". Especially when more than one RCPT - command is present, and in order to avoid defeating some of the - purpose of these mechanisms, SMTP clients and servers SHOULD NOT copy - the full set of RCPT command arguments into the headers, either as - part of trace headers or as informational or private-extension - headers. Since this rule is often violated in practice, and cannot - be enforced, sending SMTP systems that are aware of "bcc" use MAY - find it helpful to send each blind copy as a separate message - transaction containing only a single RCPT command. - */ - - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - $message = $this->createMessage(); - $message->shouldReceive('getFrom') - ->zeroOrMoreTimes() - ->andReturn(['me@domain.com' => 'Me']); - $message->shouldReceive('getTo') - ->zeroOrMoreTimes() - ->andReturn(['foo@bar' => null]); - $message->shouldReceive('getBcc') - ->zeroOrMoreTimes() - ->andReturn([ - 'zip@button' => 'Zip Button', - 'test@domain' => 'Test user', - ]); - $message->shouldReceive('setBcc') - ->once() - ->with([]); - $message->shouldReceive('setBcc') - ->zeroOrMoreTimes(); - - $this->finishBuffer($buf); - $smtp->start(); - $smtp->send($message); - } - - public function testEachBccRecipientIsSentASeparateMessage() - { - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - $message = $this->createMessage(); - - $message->shouldReceive('getFrom') - ->zeroOrMoreTimes() - ->andReturn(['me@domain.com' => 'Me']); - $message->shouldReceive('getTo') - ->zeroOrMoreTimes() - ->andReturn(['foo@bar' => null]); - $message->shouldReceive('getBcc') - ->zeroOrMoreTimes() - ->andReturn([ - 'zip@button' => 'Zip Button', - 'test@domain' => 'Test user', - ]); - $message->shouldReceive('setBcc') - ->atLeast()->once() - ->with([]); - $message->shouldReceive('setBcc') - ->once() - ->with(['zip@button' => 'Zip Button']); - $message->shouldReceive('setBcc') - ->once() - ->with(['test@domain' => 'Test user']); - $message->shouldReceive('setBcc') - ->atLeast()->once() - ->with([ - 'zip@button' => 'Zip Button', - 'test@domain' => 'Test user', - ]); - - $buf->shouldReceive('write')->once()->with("MAIL FROM:\r\n")->andReturn(1); - $buf->shouldReceive('readLine')->once()->with(1)->andReturn("250 OK\r\n"); - $buf->shouldReceive('write')->once()->with("RCPT TO:\r\n")->andReturn(2); - $buf->shouldReceive('readLine')->once()->with(2)->andReturn("250 OK\r\n"); - $buf->shouldReceive('write')->once()->with("DATA\r\n")->andReturn(3); - $buf->shouldReceive('readLine')->once()->with(3)->andReturn("354 OK\r\n"); - $buf->shouldReceive('write')->once()->with("\r\n.\r\n")->andReturn(4); - $buf->shouldReceive('readLine')->once()->with(4)->andReturn("250 OK\r\n"); - - $buf->shouldReceive('write')->once()->with("MAIL FROM:\r\n")->andReturn(5); - $buf->shouldReceive('readLine')->once()->with(5)->andReturn("250 OK\r\n"); - $buf->shouldReceive('write')->once()->with("RCPT TO:\r\n")->andReturn(6); - $buf->shouldReceive('readLine')->once()->with(6)->andReturn("250 OK\r\n"); - $buf->shouldReceive('write')->once()->with("DATA\r\n")->andReturn(7); - $buf->shouldReceive('readLine')->once()->with(7)->andReturn("354 OK\r\n"); - $buf->shouldReceive('write')->once()->with("\r\n.\r\n")->andReturn(8); - $buf->shouldReceive('readLine')->once()->with(8)->andReturn("250 OK\r\n"); - - $buf->shouldReceive('write')->once()->with("MAIL FROM:\r\n")->andReturn(9); - $buf->shouldReceive('readLine')->once()->with(9)->andReturn("250 OK\r\n"); - $buf->shouldReceive('write')->once()->with("RCPT TO:\r\n")->andReturn(10); - $buf->shouldReceive('readLine')->once()->with(10)->andReturn("250 OK\r\n"); - $buf->shouldReceive('write')->once()->with("DATA\r\n")->andReturn(11); - $buf->shouldReceive('readLine')->once()->with(11)->andReturn("354 OK\r\n"); - $buf->shouldReceive('write')->once()->with("\r\n.\r\n")->andReturn(12); - $buf->shouldReceive('readLine')->once()->with(12)->andReturn("250 OK\r\n"); - - $this->finishBuffer($buf); - $smtp->start(); - $this->assertEquals(3, $smtp->send($message)); - } - - public function testMessageStateIsRestoredOnFailure() - { - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - $message = $this->createMessage(); - - $message->shouldReceive('getFrom') - ->zeroOrMoreTimes() - ->andReturn(['me@domain.com' => 'Me']); - $message->shouldReceive('getTo') - ->zeroOrMoreTimes() - ->andReturn(['foo@bar' => null]); - $message->shouldReceive('getBcc') - ->zeroOrMoreTimes() - ->andReturn([ - 'zip@button' => 'Zip Button', - 'test@domain' => 'Test user', - ]); - $message->shouldReceive('setBcc') - ->once() - ->with([]); - $message->shouldReceive('setBcc') - ->once() - ->with([ - 'zip@button' => 'Zip Button', - 'test@domain' => 'Test user', - ]); - $buf->shouldReceive('write') - ->once() - ->with("MAIL FROM:\r\n") - ->andReturn(1); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn("250 OK\r\n"); - $buf->shouldReceive('write') - ->once() - ->with("RCPT TO:\r\n") - ->andReturn(2); - $buf->shouldReceive('readLine') - ->once() - ->with(2) - ->andReturn("250 OK\r\n"); - $buf->shouldReceive('write') - ->once() - ->with("DATA\r\n") - ->andReturn(3); - $buf->shouldReceive('readLine') - ->once() - ->with(3) - ->andReturn("451 No\r\n"); - - $this->finishBuffer($buf); - - $smtp->start(); - try { - $smtp->send($message); - $this->fail('A bad response was given so exception is expected'); - } catch (Swift_TransportException $e) { - } - } - - public function testStopSendsQuitCommand() - { - /* -- RFC 2821, 4.1.1.10. - - This command specifies that the receiver MUST send an OK reply, and - then close the transmission channel. - - The receiver MUST NOT intentionally close the transmission channel - until it receives and replies to a QUIT command (even if there was an - error). The sender MUST NOT intentionally close the transmission - channel until it sends a QUIT command and SHOULD wait until it - receives the reply (even if there was an error response to a previous - command). If the connection is closed prematurely due to violations - of the above or system or network failure, the server MUST cancel any - pending transaction, but not undo any previously completed - transaction, and generally MUST act as if the command or transaction - in progress had received a temporary error (i.e., a 4yz response). - - The QUIT command may be issued at any time. - - Syntax: - "QUIT" CRLF - */ - - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - $message = $this->createMessage(); - $buf->shouldReceive('initialize') - ->once(); - $buf->shouldReceive('write') - ->once() - ->with("QUIT\r\n") - ->andReturn(1); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn("221 Bye\r\n"); - $buf->shouldReceive('terminate') - ->once(); - - $this->finishBuffer($buf); - - $this->assertFalse($smtp->isStarted()); - $smtp->start(); - $this->assertTrue($smtp->isStarted()); - $smtp->stop(); - $this->assertFalse($smtp->isStarted()); - } - - public function testBufferCanBeFetched() - { - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - $ref = $smtp->getBuffer(); - $this->assertEquals($buf, $ref); - } - - public function testBufferCanBeWrittenToUsingExecuteCommand() - { - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - $message = $this->createMessage(); - $buf->shouldReceive('write') - ->zeroOrMoreTimes() - ->with("FOO\r\n") - ->andReturn(1); - $buf->shouldReceive('readLine') - ->zeroOrMoreTimes() - ->with(1) - ->andReturn("250 OK\r\n"); - - $res = $smtp->executeCommand("FOO\r\n"); - $this->assertEquals("250 OK\r\n", $res); - } - - public function testResponseCodesAreValidated() - { - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - $message = $this->createMessage(); - $buf->shouldReceive('write') - ->zeroOrMoreTimes() - ->with("FOO\r\n") - ->andReturn(1); - $buf->shouldReceive('readLine') - ->zeroOrMoreTimes() - ->with(1) - ->andReturn("551 Not ok\r\n"); - - try { - $smtp->executeCommand("FOO\r\n", [250, 251]); - $this->fail('A 250 or 251 response was needed but 551 was returned.'); - } catch (Swift_TransportException $e) { - } - } - - public function testFailedRecipientsCanBeCollectedByReference() - { - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - $message = $this->createMessage(); - - $message->shouldReceive('getFrom') - ->zeroOrMoreTimes() - ->andReturn(['me@domain.com' => 'Me']); - $message->shouldReceive('getTo') - ->zeroOrMoreTimes() - ->andReturn(['foo@bar' => null]); - $message->shouldReceive('getBcc') - ->zeroOrMoreTimes() - ->andReturn([ - 'zip@button' => 'Zip Button', - 'test@domain' => 'Test user', - ]); - $message->shouldReceive('setBcc') - ->atLeast()->once() - ->with([]); - $message->shouldReceive('setBcc') - ->once() - ->with(['zip@button' => 'Zip Button']); - $message->shouldReceive('setBcc') - ->once() - ->with(['test@domain' => 'Test user']); - $message->shouldReceive('setBcc') - ->atLeast()->once() - ->with([ - 'zip@button' => 'Zip Button', - 'test@domain' => 'Test user', - ]); - - $buf->shouldReceive('write')->once()->with("MAIL FROM:\r\n")->andReturn(1); - $buf->shouldReceive('readLine')->once()->with(1)->andReturn("250 OK\r\n"); - $buf->shouldReceive('write')->once()->with("RCPT TO:\r\n")->andReturn(2); - $buf->shouldReceive('readLine')->once()->with(2)->andReturn("250 OK\r\n"); - $buf->shouldReceive('write')->once()->with("DATA\r\n")->andReturn(3); - $buf->shouldReceive('readLine')->once()->with(3)->andReturn("354 OK\r\n"); - $buf->shouldReceive('write')->once()->with("\r\n.\r\n")->andReturn(4); - $buf->shouldReceive('readLine')->once()->with(4)->andReturn("250 OK\r\n"); - - $buf->shouldReceive('write')->once()->with("MAIL FROM:\r\n")->andReturn(5); - $buf->shouldReceive('readLine')->once()->with(5)->andReturn("250 OK\r\n"); - $buf->shouldReceive('write')->once()->with("RCPT TO:\r\n")->andReturn(6); - $buf->shouldReceive('readLine')->once()->with(6)->andReturn("500 Bad\r\n"); - $buf->shouldReceive('write')->once()->with("RSET\r\n")->andReturn(7); - $buf->shouldReceive('readLine')->once()->with(7)->andReturn("250 OK\r\n"); - - $buf->shouldReceive('write')->once()->with("MAIL FROM:\r\n")->andReturn(9); - $buf->shouldReceive('readLine')->once()->with(9)->andReturn("250 OK\r\n"); - $buf->shouldReceive('write')->once()->with("RCPT TO:\r\n")->andReturn(10); - $buf->shouldReceive('readLine')->once()->with(10)->andReturn("500 Bad\r\n"); - $buf->shouldReceive('write')->once()->with("RSET\r\n")->andReturn(11); - $buf->shouldReceive('readLine')->once()->with(11)->andReturn("250 OK\r\n"); - - $this->finishBuffer($buf); - $smtp->start(); - $this->assertEquals(1, $smtp->send($message, $failures)); - $this->assertEquals(['zip@button', 'test@domain'], $failures, - '%s: Failures should be caught in an array' - ); - } - - public function testSendingRegeneratesMessageId() - { - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - $message = $this->createMessage(); - $message->shouldReceive('getFrom') - ->zeroOrMoreTimes() - ->andReturn(['me@domain.com' => 'Me']); - $message->shouldReceive('getTo') - ->zeroOrMoreTimes() - ->andReturn(['foo@bar' => null]); - $message->shouldReceive('generateId') - ->once(); - - $this->finishBuffer($buf); - $smtp->start(); - $smtp->send($message); - } - - public function testPing() - { - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - - $buf->shouldReceive('initialize') - ->once(); - $buf->shouldReceive('readLine') - ->once() - ->with(0) - ->andReturn("220 some.server.tld bleh\r\n"); - $buf->shouldReceive('write') - ->once() - ->with('~^NOOP\r\n$~D') - ->andReturn(1); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn('250 OK'."\r\n"); - - $this->finishBuffer($buf); - $this->assertTrue($smtp->ping()); - } - - public function testPingOnDeadConnection() - { - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - - $buf->shouldReceive('initialize') - ->once(); - $buf->shouldReceive('readLine') - ->once() - ->with(0) - ->andReturn("220 some.server.tld bleh\r\n"); - $buf->shouldReceive('write') - ->once() - ->with('~^NOOP\r\n$~D') - ->andThrow('Swift_TransportException'); - - $this->finishBuffer($buf); - $smtp->start(); - $this->assertTrue($smtp->isStarted()); - $this->assertFalse($smtp->ping()); - $this->assertFalse($smtp->isStarted()); - } - - public function testSetLocalDomain() - { - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - - $smtp->setLocalDomain('example.com'); - $this->assertEquals('example.com', $smtp->getLocalDomain()); - - $smtp->setLocalDomain('192.168.0.1'); - $this->assertEquals('[192.168.0.1]', $smtp->getLocalDomain()); - - $smtp->setLocalDomain('[192.168.0.1]'); - $this->assertEquals('[192.168.0.1]', $smtp->getLocalDomain()); - - $smtp->setLocalDomain('fd00::'); - $this->assertEquals('[IPv6:fd00::]', $smtp->getLocalDomain()); - - $smtp->setLocalDomain('[IPv6:fd00::]'); - $this->assertEquals('[IPv6:fd00::]', $smtp->getLocalDomain()); - } - - protected function getBuffer() - { - return $this->getMockery('Swift_Transport_IoBuffer')->shouldIgnoreMissing(); - } - - protected function createMessage() - { - return $this->getMockery('Swift_Mime_SimpleMessage')->shouldIgnoreMissing(); - } - - protected function finishBuffer($buf) - { - $buf->shouldReceive('readLine') - ->zeroOrMoreTimes() - ->with(0) - ->andReturn('220 server.com foo'."\r\n"); - $buf->shouldReceive('write') - ->zeroOrMoreTimes() - ->with('~^(EH|HE)LO .*?\r\n$~D') - ->andReturn($x = uniqid('', true)); - $buf->shouldReceive('readLine') - ->zeroOrMoreTimes() - ->with($x) - ->andReturn('250 ServerName'."\r\n"); - $buf->shouldReceive('write') - ->zeroOrMoreTimes() - ->with('~^MAIL FROM:<.*?>\r\n$~D') - ->andReturn($x = uniqid('', true)); - $buf->shouldReceive('readLine') - ->zeroOrMoreTimes() - ->with($x) - ->andReturn("250 OK\r\n"); - $buf->shouldReceive('write') - ->zeroOrMoreTimes() - ->with('~^RCPT TO:<.*?>\r\n$~D') - ->andReturn($x = uniqid('', true)); - $buf->shouldReceive('readLine') - ->zeroOrMoreTimes() - ->with($x) - ->andReturn("250 OK\r\n"); - $buf->shouldReceive('write') - ->zeroOrMoreTimes() - ->with("DATA\r\n") - ->andReturn($x = uniqid('', true)); - $buf->shouldReceive('readLine') - ->zeroOrMoreTimes() - ->with($x) - ->andReturn("354 OK\r\n"); - $buf->shouldReceive('write') - ->zeroOrMoreTimes() - ->with("\r\n.\r\n") - ->andReturn($x = uniqid('', true)); - $buf->shouldReceive('readLine') - ->zeroOrMoreTimes() - ->with($x) - ->andReturn("250 OK\r\n"); - $buf->shouldReceive('write') - ->zeroOrMoreTimes() - ->with("RSET\r\n") - ->andReturn($x = uniqid('', true)); - $buf->shouldReceive('readLine') - ->zeroOrMoreTimes() - ->with($x) - ->andReturn("250 OK\r\n"); - - $buf->shouldReceive('write') - ->zeroOrMoreTimes() - ->andReturn(false); - $buf->shouldReceive('readLine') - ->zeroOrMoreTimes() - ->andReturn(false); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Transport/Esmtp/Auth/CramMd5AuthenticatorTest.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Transport/Esmtp/Auth/CramMd5AuthenticatorTest.php deleted file mode 100644 index ba131e8..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Transport/Esmtp/Auth/CramMd5AuthenticatorTest.php +++ /dev/null @@ -1,65 +0,0 @@ -agent = $this->getMockery('Swift_Transport_SmtpAgent')->shouldIgnoreMissing(); - } - - public function testKeywordIsCramMd5() - { - /* -- RFC 2195, 2. - The authentication type associated with CRAM is "CRAM-MD5". - */ - - $cram = $this->getAuthenticator(); - $this->assertEquals('CRAM-MD5', $cram->getAuthKeyword()); - } - - public function testSuccessfulAuthentication() - { - $cram = $this->getAuthenticator(); - - $this->agent->shouldReceive('executeCommand') - ->once() - ->with("AUTH CRAM-MD5\r\n", [334]) - ->andReturn('334 '.base64_encode('')."\r\n"); - $this->agent->shouldReceive('executeCommand') - ->once() - ->with(\Mockery::any(), [235]); - - $this->assertTrue($cram->authenticate($this->agent, 'jack', 'pass'), - '%s: The buffer accepted all commands authentication should succeed' - ); - } - - /** - * @expectedException \Swift_TransportException - */ - public function testAuthenticationFailureSendRset() - { - $cram = $this->getAuthenticator(); - - $this->agent->shouldReceive('executeCommand') - ->once() - ->with("AUTH CRAM-MD5\r\n", [334]) - ->andReturn('334 '.base64_encode('')."\r\n"); - $this->agent->shouldReceive('executeCommand') - ->once() - ->with(\Mockery::any(), [235]) - ->andThrow(new Swift_TransportException('')); - $this->agent->shouldReceive('executeCommand') - ->once() - ->with("RSET\r\n", [250]); - - $cram->authenticate($this->agent, 'jack', 'pass'); - } - - private function getAuthenticator() - { - return new Swift_Transport_Esmtp_Auth_CramMd5Authenticator(); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Transport/Esmtp/Auth/LoginAuthenticatorTest.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Transport/Esmtp/Auth/LoginAuthenticatorTest.php deleted file mode 100644 index 499ceb7..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Transport/Esmtp/Auth/LoginAuthenticatorTest.php +++ /dev/null @@ -1,65 +0,0 @@ -agent = $this->getMockery('Swift_Transport_SmtpAgent')->shouldIgnoreMissing(); - } - - public function testKeywordIsLogin() - { - $login = $this->getAuthenticator(); - $this->assertEquals('LOGIN', $login->getAuthKeyword()); - } - - public function testSuccessfulAuthentication() - { - $login = $this->getAuthenticator(); - - $this->agent->shouldReceive('executeCommand') - ->once() - ->with("AUTH LOGIN\r\n", [334]); - $this->agent->shouldReceive('executeCommand') - ->once() - ->with(base64_encode('jack')."\r\n", [334]); - $this->agent->shouldReceive('executeCommand') - ->once() - ->with(base64_encode('pass')."\r\n", [235]); - - $this->assertTrue($login->authenticate($this->agent, 'jack', 'pass'), - '%s: The buffer accepted all commands authentication should succeed' - ); - } - - /** - * @expectedException \Swift_TransportException - */ - public function testAuthenticationFailureSendRset() - { - $login = $this->getAuthenticator(); - - $this->agent->shouldReceive('executeCommand') - ->once() - ->with("AUTH LOGIN\r\n", [334]); - $this->agent->shouldReceive('executeCommand') - ->once() - ->with(base64_encode('jack')."\r\n", [334]); - $this->agent->shouldReceive('executeCommand') - ->once() - ->with(base64_encode('pass')."\r\n", [235]) - ->andThrow(new Swift_TransportException('')); - $this->agent->shouldReceive('executeCommand') - ->once() - ->with("RSET\r\n", [250]); - - $login->authenticate($this->agent, 'jack', 'pass'); - } - - private function getAuthenticator() - { - return new Swift_Transport_Esmtp_Auth_LoginAuthenticator(); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Transport/Esmtp/Auth/NTLMAuthenticatorTest.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Transport/Esmtp/Auth/NTLMAuthenticatorTest.php deleted file mode 100644 index 98e2e25..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Transport/Esmtp/Auth/NTLMAuthenticatorTest.php +++ /dev/null @@ -1,204 +0,0 @@ -markTestSkipped('One of the required functions is not available.'); - } - } - - public function testKeywordIsNtlm() - { - $login = $this->getAuthenticator(); - $this->assertEquals('NTLM', $login->getAuthKeyword()); - } - - public function testMessage1Generator() - { - $login = $this->getAuthenticator(); - $message1 = $this->invokePrivateMethod('createMessage1', $login); - - $this->assertEquals($this->message1, bin2hex($message1), '%s: We send the smallest ntlm message which should never fail.'); - } - - public function testLMv1Generator() - { - $password = 'test1234'; - $challenge = 'b019d38bad875c9d'; - $lmv1 = '1879f60127f8a877022132ec221bcbf3ca016a9f76095606'; - - $login = $this->getAuthenticator(); - $lmv1Result = $this->invokePrivateMethod('createLMPassword', $login, [$password, hex2bin($challenge)]); - - $this->assertEquals($lmv1, bin2hex($lmv1Result), '%s: The keys should be the same cause we use the same values to generate them.'); - } - - public function testLMv2Generator() - { - $username = 'user'; - $password = 'SecREt01'; - $domain = 'DOMAIN'; - $challenge = '0123456789abcdef'; - $lmv2 = 'd6e6152ea25d03b7c6ba6629c2d6aaf0ffffff0011223344'; - - $login = $this->getAuthenticator(); - $lmv2Result = $this->invokePrivateMethod('createLMv2Password', $login, [$password, $username, $domain, hex2bin($challenge), hex2bin('ffffff0011223344')]); - - $this->assertEquals($lmv2, bin2hex($lmv2Result), '%s: The keys should be the same cause we use the same values to generate them.'); - } - - public function testMessage3v1Generator() - { - $username = 'test'; - $domain = 'TESTNT'; - $workstation = 'MEMBER'; - $lmResponse = '1879f60127f8a877022132ec221bcbf3ca016a9f76095606'; - $ntlmResponse = 'e6285df3287c5d194f84df1a94817c7282d09754b6f9e02a'; - $message3T = '4e544c4d5353500003000000180018006000000018001800780000000c000c0040000000080008004c0000000c000c0054000000000000009a0000000102000054004500530054004e00540074006500730074004d0045004d004200450052001879f60127f8a877022132ec221bcbf3ca016a9f76095606e6285df3287c5d194f84df1a94817c7282d09754b6f9e02a'; - - $login = $this->getAuthenticator(); - $message3 = $this->invokePrivateMethod('createMessage3', $login, [$domain, $username, $workstation, hex2bin($lmResponse), hex2bin($ntlmResponse)]); - - $this->assertEquals($message3T, bin2hex($message3), '%s: We send the same information as the example is created with so this should be the same'); - } - - public function testMessage3v2Generator() - { - $username = 'test'; - $domain = 'TESTNT'; - $workstation = 'MEMBER'; - $lmResponse = 'bf2e015119f6bdb3f6fdb768aa12d478f5ce3d2401c8f6e9'; - $ntlmResponse = 'caa4da8f25d5e840974ed8976d3ada46010100000000000030fa7e3c677bc301f5ce3d2401c8f6e90000000002000c0054004500530054004e00540001000c004d0045004d0042004500520003001e006d0065006d006200650072002e0074006500730074002e0063006f006d000000000000000000'; - - $login = $this->getAuthenticator(); - $message3 = $this->invokePrivateMethod('createMessage3', $login, [$domain, $username, $workstation, hex2bin($lmResponse), hex2bin($ntlmResponse)]); - - $this->assertEquals($this->message3, bin2hex($message3), '%s: We send the same information as the example is created with so this should be the same'); - } - - public function testGetDomainAndUsername() - { - $username = "DOMAIN\user"; - - $login = $this->getAuthenticator(); - list($domain, $user) = $this->invokePrivateMethod('getDomainAndUsername', $login, [$username]); - - $this->assertEquals('DOMAIN', $domain, '%s: the fetched domain did not match'); - $this->assertEquals('user', $user, '%s: the fetched user did not match'); - } - - public function testGetDomainAndUsernameWithExtension() - { - $username = "domain.com\user"; - - $login = $this->getAuthenticator(); - list($domain, $user) = $this->invokePrivateMethod('getDomainAndUsername', $login, [$username]); - - $this->assertEquals('domain.com', $domain, '%s: the fetched domain did not match'); - $this->assertEquals('user', $user, '%s: the fetched user did not match'); - } - - public function testGetDomainAndUsernameWithAtSymbol() - { - $username = 'user@DOMAIN'; - - $login = $this->getAuthenticator(); - list($domain, $user) = $this->invokePrivateMethod('getDomainAndUsername', $login, [$username]); - - $this->assertEquals('DOMAIN', $domain, '%s: the fetched domain did not match'); - $this->assertEquals('user', $user, '%s: the fetched user did not match'); - } - - public function testGetDomainAndUsernameWithAtSymbolAndExtension() - { - $username = 'user@domain.com'; - - $login = $this->getAuthenticator(); - list($domain, $user) = $this->invokePrivateMethod('getDomainAndUsername', $login, [$username]); - - $this->assertEquals('domain.com', $domain, '%s: the fetched domain did not match'); - $this->assertEquals('user', $user, '%s: the fetched user did not match'); - } - - public function testGetDomainAndUsernameWithoutDomain() - { - $username = 'user'; - - $login = $this->getAuthenticator(); - list($domain, $user) = $this->invokePrivateMethod('getDomainAndUsername', $login, [$username]); - - $this->assertEquals('', $domain, '%s: the fetched domain did not match'); - $this->assertEquals('user', $user, '%s: the fetched user did not match'); - } - - public function testSuccessfulAuthentication() - { - $domain = 'TESTNT'; - $username = 'test'; - $secret = 'test1234'; - - $ntlm = $this->getAuthenticator(); - $agent = $this->getAgent(); - $agent->shouldReceive('executeCommand') - ->once() - ->with('AUTH NTLM '.base64_encode( - $this->invokePrivateMethod('createMessage1', $ntlm) - )."\r\n", [334]) - ->andReturn('334 '.base64_encode(hex2bin('4e544c4d53535000020000000c000c003000000035828980514246973ea892c10000000000000000460046003c00000054004500530054004e00540002000c0054004500530054004e00540001000c004d0045004d0042004500520003001e006d0065006d006200650072002e0074006500730074002e0063006f006d0000000000'))); - $agent->shouldReceive('executeCommand') - ->once() - ->with(base64_encode( - $this->invokePrivateMethod('createMessage3', $ntlm, [$domain, $username, hex2bin('4d0045004d00420045005200'), hex2bin('bf2e015119f6bdb3f6fdb768aa12d478f5ce3d2401c8f6e9'), hex2bin('caa4da8f25d5e840974ed8976d3ada46010100000000000030fa7e3c677bc301f5ce3d2401c8f6e90000000002000c0054004500530054004e00540001000c004d0045004d0042004500520003001e006d0065006d006200650072002e0074006500730074002e0063006f006d000000000000000000')] - ))."\r\n", [235]); - - $this->assertTrue($ntlm->authenticate($agent, $username.'@'.$domain, $secret, hex2bin('30fa7e3c677bc301'), hex2bin('f5ce3d2401c8f6e9')), '%s: The buffer accepted all commands authentication should succeed'); - } - - /** - * @expectedException \Swift_TransportException - */ - public function testAuthenticationFailureSendRset() - { - $domain = 'TESTNT'; - $username = 'test'; - $secret = 'test1234'; - - $ntlm = $this->getAuthenticator(); - $agent = $this->getAgent(); - $agent->shouldReceive('executeCommand') - ->once() - ->with('AUTH NTLM '.base64_encode( - $this->invokePrivateMethod('createMessage1', $ntlm) - )."\r\n", [334]) - ->andThrow(new Swift_TransportException('')); - $agent->shouldReceive('executeCommand') - ->once() - ->with("RSET\r\n", [250]); - - $ntlm->authenticate($agent, $username.'@'.$domain, $secret, hex2bin('30fa7e3c677bc301'), hex2bin('f5ce3d2401c8f6e9')); - } - - private function getAuthenticator() - { - return new Swift_Transport_Esmtp_Auth_NTLMAuthenticator(); - } - - private function getAgent() - { - return $this->getMockery('Swift_Transport_SmtpAgent')->shouldIgnoreMissing(); - } - - private function invokePrivateMethod($method, $instance, array $args = []) - { - $methodC = new ReflectionMethod($instance, trim($method)); - $methodC->setAccessible(true); - - return $methodC->invokeArgs($instance, $args); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Transport/Esmtp/Auth/PlainAuthenticatorTest.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Transport/Esmtp/Auth/PlainAuthenticatorTest.php deleted file mode 100644 index 1bb2c99..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Transport/Esmtp/Auth/PlainAuthenticatorTest.php +++ /dev/null @@ -1,68 +0,0 @@ -agent = $this->getMockery('Swift_Transport_SmtpAgent')->shouldIgnoreMissing(); - } - - public function testKeywordIsPlain() - { - /* -- RFC 4616, 1. - The name associated with this mechanism is "PLAIN". - */ - - $login = $this->getAuthenticator(); - $this->assertEquals('PLAIN', $login->getAuthKeyword()); - } - - public function testSuccessfulAuthentication() - { - /* -- RFC 4616, 2. - The client presents the authorization identity (identity to act as), - followed by a NUL (U+0000) character, followed by the authentication - identity (identity whose password will be used), followed by a NUL - (U+0000) character, followed by the clear-text password. - */ - - $plain = $this->getAuthenticator(); - - $this->agent->shouldReceive('executeCommand') - ->once() - ->with('AUTH PLAIN '.base64_encode( - 'jack'.chr(0).'jack'.chr(0).'pass' - )."\r\n", [235]); - - $this->assertTrue($plain->authenticate($this->agent, 'jack', 'pass'), - '%s: The buffer accepted all commands authentication should succeed' - ); - } - - /** - * @expectedException \Swift_TransportException - */ - public function testAuthenticationFailureSendRset() - { - $plain = $this->getAuthenticator(); - - $this->agent->shouldReceive('executeCommand') - ->once() - ->with('AUTH PLAIN '.base64_encode( - 'jack'.chr(0).'jack'.chr(0).'pass' - )."\r\n", [235]) - ->andThrow(new Swift_TransportException('')); - $this->agent->shouldReceive('executeCommand') - ->once() - ->with("RSET\r\n", [250]); - - $plain->authenticate($this->agent, 'jack', 'pass'); - } - - private function getAuthenticator() - { - return new Swift_Transport_Esmtp_Auth_PlainAuthenticator(); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Transport/Esmtp/AuthHandlerTest.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Transport/Esmtp/AuthHandlerTest.php deleted file mode 100644 index 36a4cf8..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Transport/Esmtp/AuthHandlerTest.php +++ /dev/null @@ -1,165 +0,0 @@ -agent = $this->getMockery('Swift_Transport_SmtpAgent')->shouldIgnoreMissing(); - } - - public function testKeywordIsAuth() - { - $auth = $this->createHandler([]); - $this->assertEquals('AUTH', $auth->getHandledKeyword()); - } - - public function testUsernameCanBeSetAndFetched() - { - $auth = $this->createHandler([]); - $auth->setUsername('jack'); - $this->assertEquals('jack', $auth->getUsername()); - } - - public function testPasswordCanBeSetAndFetched() - { - $auth = $this->createHandler([]); - $auth->setPassword('pass'); - $this->assertEquals('pass', $auth->getPassword()); - } - - public function testAuthModeCanBeSetAndFetched() - { - $auth = $this->createHandler([]); - $auth->setAuthMode('PLAIN'); - $this->assertEquals('PLAIN', $auth->getAuthMode()); - } - - public function testMixinMethods() - { - $auth = $this->createHandler([]); - $mixins = $auth->exposeMixinMethods(); - $this->assertTrue(in_array('getUsername', $mixins), - '%s: getUsername() should be accessible via mixin' - ); - $this->assertTrue(in_array('setUsername', $mixins), - '%s: setUsername() should be accessible via mixin' - ); - $this->assertTrue(in_array('getPassword', $mixins), - '%s: getPassword() should be accessible via mixin' - ); - $this->assertTrue(in_array('setPassword', $mixins), - '%s: setPassword() should be accessible via mixin' - ); - $this->assertTrue(in_array('setAuthMode', $mixins), - '%s: setAuthMode() should be accessible via mixin' - ); - $this->assertTrue(in_array('getAuthMode', $mixins), - '%s: getAuthMode() should be accessible via mixin' - ); - } - - public function testAuthenticatorsAreCalledAccordingToParamsAfterEhlo() - { - $a1 = $this->createMockAuthenticator('PLAIN'); - $a2 = $this->createMockAuthenticator('LOGIN'); - - $a1->shouldReceive('authenticate') - ->never() - ->with($this->agent, 'jack', 'pass'); - $a2->shouldReceive('authenticate') - ->once() - ->with($this->agent, 'jack', 'pass') - ->andReturn(true); - - $auth = $this->createHandler([$a1, $a2]); - $auth->setUsername('jack'); - $auth->setPassword('pass'); - - $auth->setKeywordParams(['CRAM-MD5', 'LOGIN']); - $auth->afterEhlo($this->agent); - } - - public function testAuthenticatorsAreNotUsedIfNoUsernameSet() - { - $a1 = $this->createMockAuthenticator('PLAIN'); - $a2 = $this->createMockAuthenticator('LOGIN'); - - $a1->shouldReceive('authenticate') - ->never() - ->with($this->agent, 'jack', 'pass'); - $a2->shouldReceive('authenticate') - ->never() - ->with($this->agent, 'jack', 'pass') - ->andReturn(true); - - $auth = $this->createHandler([$a1, $a2]); - - $auth->setKeywordParams(['CRAM-MD5', 'LOGIN']); - $auth->afterEhlo($this->agent); - } - - public function testSeveralAuthenticatorsAreTriedIfNeeded() - { - $a1 = $this->createMockAuthenticator('PLAIN'); - $a2 = $this->createMockAuthenticator('LOGIN'); - - $a1->shouldReceive('authenticate') - ->once() - ->with($this->agent, 'jack', 'pass') - ->andReturn(false); - $a2->shouldReceive('authenticate') - ->once() - ->with($this->agent, 'jack', 'pass') - ->andReturn(true); - - $auth = $this->createHandler([$a1, $a2]); - $auth->setUsername('jack'); - $auth->setPassword('pass'); - - $auth->setKeywordParams(['PLAIN', 'LOGIN']); - $auth->afterEhlo($this->agent); - } - - public function testFirstAuthenticatorToPassBreaksChain() - { - $a1 = $this->createMockAuthenticator('PLAIN'); - $a2 = $this->createMockAuthenticator('LOGIN'); - $a3 = $this->createMockAuthenticator('CRAM-MD5'); - - $a1->shouldReceive('authenticate') - ->once() - ->with($this->agent, 'jack', 'pass') - ->andReturn(false); - $a2->shouldReceive('authenticate') - ->once() - ->with($this->agent, 'jack', 'pass') - ->andReturn(true); - $a3->shouldReceive('authenticate') - ->never() - ->with($this->agent, 'jack', 'pass'); - - $auth = $this->createHandler([$a1, $a2]); - $auth->setUsername('jack'); - $auth->setPassword('pass'); - - $auth->setKeywordParams(['PLAIN', 'LOGIN', 'CRAM-MD5']); - $auth->afterEhlo($this->agent); - } - - private function createHandler($authenticators) - { - return new Swift_Transport_Esmtp_AuthHandler($authenticators); - } - - private function createMockAuthenticator($type) - { - $authenticator = $this->getMockery('Swift_Transport_Esmtp_Authenticator')->shouldIgnoreMissing(); - $authenticator->shouldReceive('getAuthKeyword') - ->zeroOrMoreTimes() - ->andReturn($type); - - return $authenticator; - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Transport/EsmtpTransport/ExtensionSupportTest.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Transport/EsmtpTransport/ExtensionSupportTest.php deleted file mode 100644 index d9e363a..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Transport/EsmtpTransport/ExtensionSupportTest.php +++ /dev/null @@ -1,561 +0,0 @@ -getBuffer(); - $smtp = $this->getTransport($buf); - $ext1 = $this->getMockery('Swift_Transport_EsmtpHandler')->shouldIgnoreMissing(); - $ext2 = $this->getMockery('Swift_Transport_EsmtpHandler')->shouldIgnoreMissing(); - - $ext1->shouldReceive('getHandledKeyword') - ->zeroOrMoreTimes() - ->andReturn('AUTH'); - $ext1->shouldReceive('getPriorityOver') - ->zeroOrMoreTimes() - ->with('STARTTLS') - ->andReturn(1); - $ext2->shouldReceive('getHandledKeyword') - ->zeroOrMoreTimes() - ->andReturn('STARTTLS'); - $ext2->shouldReceive('getPriorityOver') - ->zeroOrMoreTimes() - ->with('AUTH') - ->andReturn(-1); - $this->finishBuffer($buf); - - $smtp->setExtensionHandlers([$ext1, $ext2]); - $this->assertEquals([$ext2, $ext1], $smtp->getExtensionHandlers()); - } - - public function testHandlersAreNotifiedOfParams() - { - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - $ext1 = $this->getMockery('Swift_Transport_EsmtpHandler')->shouldIgnoreMissing(); - $ext2 = $this->getMockery('Swift_Transport_EsmtpHandler')->shouldIgnoreMissing(); - - $buf->shouldReceive('readLine') - ->once() - ->with(0) - ->andReturn("220 server.com foo\r\n"); - $buf->shouldReceive('write') - ->once() - ->with('~^EHLO .*?\r\n$~D') - ->andReturn(1); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn("250-ServerName.tld\r\n"); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn("250-AUTH PLAIN LOGIN\r\n"); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn("250 SIZE=123456\r\n"); - - $ext1->shouldReceive('getHandledKeyword') - ->zeroOrMoreTimes() - ->andReturn('AUTH'); - $ext1->shouldReceive('setKeywordParams') - ->once() - ->with(['PLAIN', 'LOGIN']); - $ext2->shouldReceive('getHandledKeyword') - ->zeroOrMoreTimes() - ->andReturn('SIZE'); - $ext2->shouldReceive('setKeywordParams') - ->zeroOrMoreTimes() - ->with(['123456']); - $this->finishBuffer($buf); - - $smtp->setExtensionHandlers([$ext1, $ext2]); - $smtp->start(); - } - - public function testSupportedExtensionHandlersAreRunAfterEhlo() - { - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - $ext1 = $this->getMockery('Swift_Transport_EsmtpHandler')->shouldIgnoreMissing(); - $ext2 = $this->getMockery('Swift_Transport_EsmtpHandler')->shouldIgnoreMissing(); - $ext3 = $this->getMockery('Swift_Transport_EsmtpHandler')->shouldIgnoreMissing(); - - $buf->shouldReceive('readLine') - ->once() - ->with(0) - ->andReturn("220 server.com foo\r\n"); - $buf->shouldReceive('write') - ->once() - ->with('~^EHLO .*?\r\n$~D') - ->andReturn(1); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn("250-ServerName.tld\r\n"); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn("250-AUTH PLAIN LOGIN\r\n"); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn("250 SIZE=123456\r\n"); - - $ext1->shouldReceive('getHandledKeyword') - ->zeroOrMoreTimes() - ->andReturn('AUTH'); - $ext1->shouldReceive('afterEhlo') - ->once() - ->with($smtp); - $ext2->shouldReceive('getHandledKeyword') - ->zeroOrMoreTimes() - ->andReturn('SIZE'); - $ext2->shouldReceive('afterEhlo') - ->zeroOrMoreTimes() - ->with($smtp); - $ext3->shouldReceive('getHandledKeyword') - ->zeroOrMoreTimes() - ->andReturn('STARTTLS'); - $ext3->shouldReceive('afterEhlo') - ->never() - ->with($smtp); - $this->finishBuffer($buf); - - $smtp->setExtensionHandlers([$ext1, $ext2, $ext3]); - $smtp->start(); - } - - public function testExtensionsCanModifyMailFromParams() - { - $buf = $this->getBuffer(); - $dispatcher = $this->createEventDispatcher(); - $smtp = new Swift_Transport_EsmtpTransport($buf, [], $dispatcher, 'example.org'); - $ext1 = $this->getMockery('Swift_Transport_EsmtpHandler')->shouldIgnoreMissing(); - $ext2 = $this->getMockery('Swift_Transport_EsmtpHandler')->shouldIgnoreMissing(); - $ext3 = $this->getMockery('Swift_Transport_EsmtpHandler')->shouldIgnoreMissing(); - $message = $this->createMessage(); - - $message->shouldReceive('getFrom') - ->zeroOrMoreTimes() - ->andReturn(['me@domain' => 'Me']); - $message->shouldReceive('getTo') - ->zeroOrMoreTimes() - ->andReturn(['foo@bar' => null]); - - $buf->shouldReceive('readLine') - ->once() - ->with(0) - ->andReturn("220 server.com foo\r\n"); - $buf->shouldReceive('write') - ->once() - ->with('~^EHLO .*?\r\n$~D') - ->andReturn(1); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn("250-ServerName.tld\r\n"); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn("250-AUTH PLAIN LOGIN\r\n"); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn("250 SIZE=123456\r\n"); - $buf->shouldReceive('write') - ->once() - ->with("MAIL FROM: FOO ZIP\r\n") - ->andReturn(2); - $buf->shouldReceive('readLine') - ->once() - ->with(2) - ->andReturn("250 OK\r\n"); - $buf->shouldReceive('write') - ->once() - ->with("RCPT TO:\r\n") - ->andReturn(3); - $buf->shouldReceive('readLine') - ->once() - ->with(3) - ->andReturn("250 OK\r\n"); - $this->finishBuffer($buf); - - $ext1->shouldReceive('getHandledKeyword') - ->zeroOrMoreTimes() - ->andReturn('AUTH'); - $ext1->shouldReceive('getMailParams') - ->once() - ->andReturn('FOO'); - $ext1->shouldReceive('getPriorityOver') - ->zeroOrMoreTimes() - ->with('STARTTLS') - ->andReturn(1); - $ext1->shouldReceive('getPriorityOver') - ->zeroOrMoreTimes() - ->with('SIZE') - ->andReturn(-1); - $ext2->shouldReceive('getHandledKeyword') - ->zeroOrMoreTimes() - ->andReturn('SIZE'); - $ext2->shouldReceive('getMailParams') - ->once() - ->andReturn('ZIP'); - $ext2->shouldReceive('getPriorityOver') - ->zeroOrMoreTimes() - ->with('AUTH') - ->andReturn(1); - $ext2->shouldReceive('getPriorityOver') - ->zeroOrMoreTimes() - ->with('STARTTLS') - ->andReturn(1); - $ext3->shouldReceive('getHandledKeyword') - ->zeroOrMoreTimes() - ->andReturn('STARTTLS'); - $ext3->shouldReceive('getMailParams') - ->never(); - $ext3->shouldReceive('getPriorityOver') - ->zeroOrMoreTimes() - ->with('AUTH') - ->andReturn(-1); - $ext3->shouldReceive('getPriorityOver') - ->zeroOrMoreTimes() - ->with('SIZE') - ->andReturn(-1); - - $smtp->setExtensionHandlers([$ext1, $ext2, $ext3]); - $smtp->start(); - $smtp->send($message); - } - - public function testExtensionsCanModifyRcptParams() - { - $buf = $this->getBuffer(); - $dispatcher = $this->createEventDispatcher(); - $smtp = new Swift_Transport_EsmtpTransport($buf, [], $dispatcher, 'example.org'); - $ext1 = $this->getMockery('Swift_Transport_EsmtpHandler')->shouldIgnoreMissing(); - $ext2 = $this->getMockery('Swift_Transport_EsmtpHandler')->shouldIgnoreMissing(); - $ext3 = $this->getMockery('Swift_Transport_EsmtpHandler')->shouldIgnoreMissing(); - $message = $this->createMessage(); - - $message->shouldReceive('getFrom') - ->zeroOrMoreTimes() - ->andReturn(['me@domain' => 'Me']); - $message->shouldReceive('getTo') - ->zeroOrMoreTimes() - ->andReturn(['foo@bar' => null]); - - $buf->shouldReceive('readLine') - ->once() - ->with(0) - ->andReturn("220 server.com foo\r\n"); - $buf->shouldReceive('write') - ->once() - ->with('~^EHLO .+?\r\n$~D') - ->andReturn(1); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn("250-ServerName.tld\r\n"); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn("250-AUTH PLAIN LOGIN\r\n"); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn("250 SIZE=123456\r\n"); - $buf->shouldReceive('write') - ->once() - ->with("MAIL FROM:\r\n") - ->andReturn(2); - $buf->shouldReceive('readLine') - ->once() - ->with(2) - ->andReturn("250 OK\r\n"); - $buf->shouldReceive('write') - ->once() - ->with("RCPT TO: FOO ZIP\r\n") - ->andReturn(3); - $buf->shouldReceive('readLine') - ->once() - ->with(3) - ->andReturn("250 OK\r\n"); - $this->finishBuffer($buf); - - $ext1->shouldReceive('getHandledKeyword') - ->zeroOrMoreTimes() - ->andReturn('AUTH'); - $ext1->shouldReceive('getRcptParams') - ->once() - ->andReturn('FOO'); - $ext1->shouldReceive('getPriorityOver') - ->zeroOrMoreTimes() - ->with('STARTTLS') - ->andReturn(1); - $ext1->shouldReceive('getPriorityOver') - ->zeroOrMoreTimes() - ->with('SIZE') - ->andReturn(-1); - $ext2->shouldReceive('getHandledKeyword') - ->zeroOrMoreTimes() - ->andReturn('SIZE'); - $ext2->shouldReceive('getRcptParams') - ->once() - ->andReturn('ZIP'); - $ext2->shouldReceive('getPriorityOver') - ->zeroOrMoreTimes() - ->with('STARTTLS') - ->andReturn(1); - $ext2->shouldReceive('getPriorityOver') - ->zeroOrMoreTimes() - ->with('AUTH') - ->andReturn(1); - $ext3->shouldReceive('getHandledKeyword') - ->zeroOrMoreTimes() - ->andReturn('STARTTLS'); - $ext3->shouldReceive('getRcptParams') - ->never(); - $ext3->shouldReceive('getPriorityOver') - ->zeroOrMoreTimes() - ->with('AUTH') - ->andReturn(-1); - $ext3->shouldReceive('getPriorityOver') - ->zeroOrMoreTimes() - ->with('SIZE') - ->andReturn(-1); - - $smtp->setExtensionHandlers([$ext1, $ext2, $ext3]); - $smtp->start(); - $smtp->send($message); - } - - public function testExtensionsAreNotifiedOnCommand() - { - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - $ext1 = $this->getMockery('Swift_Transport_EsmtpHandler')->shouldIgnoreMissing(); - $ext2 = $this->getMockery('Swift_Transport_EsmtpHandler')->shouldIgnoreMissing(); - $ext3 = $this->getMockery('Swift_Transport_EsmtpHandler')->shouldIgnoreMissing(); - - $buf->shouldReceive('readLine') - ->once() - ->with(0) - ->andReturn("220 server.com foo\r\n"); - $buf->shouldReceive('write') - ->once() - ->with('~^EHLO .+?\r\n$~D') - ->andReturn(1); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn("250-ServerName.tld\r\n"); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn("250-AUTH PLAIN LOGIN\r\n"); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn("250 SIZE=123456\r\n"); - $buf->shouldReceive('write') - ->once() - ->with("FOO\r\n") - ->andReturn(2); - $buf->shouldReceive('readLine') - ->once() - ->with(2) - ->andReturn("250 Cool\r\n"); - $this->finishBuffer($buf); - - $ext1->shouldReceive('getHandledKeyword') - ->zeroOrMoreTimes() - ->andReturn('AUTH'); - $ext1->shouldReceive('onCommand') - ->once() - ->with($smtp, "FOO\r\n", [250, 251], \Mockery::any(), \Mockery::any()); - $ext2->shouldReceive('getHandledKeyword') - ->zeroOrMoreTimes() - ->andReturn('SIZE'); - $ext2->shouldReceive('onCommand') - ->once() - ->with($smtp, "FOO\r\n", [250, 251], \Mockery::any(), \Mockery::any()); - $ext3->shouldReceive('getHandledKeyword') - ->zeroOrMoreTimes() - ->andReturn('STARTTLS'); - $ext3->shouldReceive('onCommand') - ->never() - ->with(\Mockery::any(), \Mockery::any(), \Mockery::any(), \Mockery::any(), \Mockery::any()); - - $smtp->setExtensionHandlers([$ext1, $ext2, $ext3]); - $smtp->start(); - $smtp->executeCommand("FOO\r\n", [250, 251]); - } - - public function testChainOfCommandAlgorithmWhenNotifyingExtensions() - { - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - $ext1 = $this->getMockery('Swift_Transport_EsmtpHandler')->shouldIgnoreMissing(); - $ext2 = $this->getMockery('Swift_Transport_EsmtpHandler')->shouldIgnoreMissing(); - $ext3 = $this->getMockery('Swift_Transport_EsmtpHandler')->shouldIgnoreMissing(); - - $buf->shouldReceive('readLine') - ->once() - ->with(0) - ->andReturn("220 server.com foo\r\n"); - $buf->shouldReceive('write') - ->once() - ->with('~^EHLO .+?\r\n$~D') - ->andReturn(1); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn("250-ServerName.tld\r\n"); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn("250-AUTH PLAIN LOGIN\r\n"); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn("250 SIZE=123456\r\n"); - $buf->shouldReceive('write') - ->never() - ->with("FOO\r\n"); - $this->finishBuffer($buf); - - $ext1->shouldReceive('getHandledKeyword') - ->zeroOrMoreTimes() - ->andReturn('AUTH'); - $ext1->shouldReceive('onCommand') - ->once() - ->with($smtp, "FOO\r\n", [250, 251], \Mockery::any(), \Mockery::any()) - ->andReturnUsing(function ($a, $b, $c, $d, &$e) { - $e = true; - - return '250 ok'; - }); - $ext2->shouldReceive('getHandledKeyword') - ->zeroOrMoreTimes() - ->andReturn('SIZE'); - $ext2->shouldReceive('onCommand') - ->never() - ->with(\Mockery::any(), \Mockery::any(), \Mockery::any(), \Mockery::any()); - - $ext3->shouldReceive('getHandledKeyword') - ->zeroOrMoreTimes() - ->andReturn('STARTTLS'); - $ext3->shouldReceive('onCommand') - ->never() - ->with(\Mockery::any(), \Mockery::any(), \Mockery::any(), \Mockery::any()); - - $smtp->setExtensionHandlers([$ext1, $ext2, $ext3]); - $smtp->start(); - $smtp->executeCommand("FOO\r\n", [250, 251]); - } - - public function testExtensionsCanExposeMixinMethods() - { - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - $ext1 = $this->getMockery('Swift_Transport_EsmtpHandlerMixin')->shouldIgnoreMissing(); - $ext2 = $this->getMockery('Swift_Transport_EsmtpHandler')->shouldIgnoreMissing(); - - $ext1->shouldReceive('getHandledKeyword') - ->zeroOrMoreTimes() - ->andReturn('AUTH'); - $ext1->shouldReceive('exposeMixinMethods') - ->zeroOrMoreTimes() - ->andReturn(['setUsername', 'setPassword']); - $ext1->shouldReceive('setUsername') - ->once() - ->with('mick'); - $ext1->shouldReceive('setPassword') - ->once() - ->with('pass'); - $ext2->shouldReceive('getHandledKeyword') - ->zeroOrMoreTimes() - ->andReturn('STARTTLS'); - $this->finishBuffer($buf); - - $smtp->setExtensionHandlers([$ext1, $ext2]); - $smtp->setUsername('mick'); - $smtp->setPassword('pass'); - } - - public function testMixinMethodsBeginningWithSetAndNullReturnAreFluid() - { - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - $ext1 = $this->getMockery('Swift_Transport_EsmtpHandlerMixin')->shouldIgnoreMissing(); - $ext2 = $this->getMockery('Swift_Transport_EsmtpHandler')->shouldIgnoreMissing(); - - $ext1->shouldReceive('getHandledKeyword') - ->zeroOrMoreTimes() - ->andReturn('AUTH'); - $ext1->shouldReceive('exposeMixinMethods') - ->zeroOrMoreTimes() - ->andReturn(['setUsername', 'setPassword']); - $ext1->shouldReceive('setUsername') - ->once() - ->with('mick') - ->andReturn(null); - $ext1->shouldReceive('setPassword') - ->once() - ->with('pass') - ->andReturn(null); - $ext2->shouldReceive('getHandledKeyword') - ->zeroOrMoreTimes() - ->andReturn('STARTTLS'); - $this->finishBuffer($buf); - - $smtp->setExtensionHandlers([$ext1, $ext2]); - $ret = $smtp->setUsername('mick'); - $this->assertEquals($smtp, $ret); - $ret = $smtp->setPassword('pass'); - $this->assertEquals($smtp, $ret); - } - - public function testMixinSetterWhichReturnValuesAreNotFluid() - { - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - $ext1 = $this->getMockery('Swift_Transport_EsmtpHandlerMixin')->shouldIgnoreMissing(); - $ext2 = $this->getMockery('Swift_Transport_EsmtpHandler')->shouldIgnoreMissing(); - - $ext1->shouldReceive('getHandledKeyword') - ->zeroOrMoreTimes() - ->andReturn('AUTH'); - $ext1->shouldReceive('exposeMixinMethods') - ->zeroOrMoreTimes() - ->andReturn(['setUsername', 'setPassword']); - $ext1->shouldReceive('setUsername') - ->once() - ->with('mick') - ->andReturn('x'); - $ext1->shouldReceive('setPassword') - ->once() - ->with('pass') - ->andReturn('x'); - $ext2->shouldReceive('getHandledKeyword') - ->zeroOrMoreTimes() - ->andReturn('STARTTLS'); - $this->finishBuffer($buf); - - $smtp->setExtensionHandlers([$ext1, $ext2]); - $this->assertEquals('x', $smtp->setUsername('mick')); - $this->assertEquals('x', $smtp->setPassword('pass')); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Transport/EsmtpTransportTest.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Transport/EsmtpTransportTest.php deleted file mode 100644 index db1edce..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Transport/EsmtpTransportTest.php +++ /dev/null @@ -1,651 +0,0 @@ -createEventDispatcher(); - $addressEncoder = $addressEncoder ?? new Swift_AddressEncoder_IdnAddressEncoder(); - - return new Swift_Transport_EsmtpTransport($buf, [], $dispatcher, 'example.org', $addressEncoder); - } - - public function testHostCanBeSetAndFetched() - { - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - $smtp->setHost('foo'); - $this->assertEquals('foo', $smtp->getHost(), '%s: Host should be returned'); - } - - public function testPortCanBeSetAndFetched() - { - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - $smtp->setPort(25); - $this->assertEquals(25, $smtp->getPort(), '%s: Port should be returned'); - } - - public function testTimeoutCanBeSetAndFetched() - { - $buf = $this->getBuffer(); - $buf->shouldReceive('setParam') - ->once() - ->with('timeout', 10); - - $smtp = $this->getTransport($buf); - $smtp->setTimeout(10); - $this->assertEquals(10, $smtp->getTimeout(), '%s: Timeout should be returned'); - } - - public function testEncryptionCanBeSetAndFetched() - { - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - $smtp->setEncryption('tls'); - $this->assertEquals('tls', $smtp->getEncryption(), '%s: Crypto should be returned'); - } - - public function testStartSendsHeloToInitiate() - { - // previous loop would fail if there is an issue - $this->addToAssertionCount(1); - } - - public function testStartSendsEhloToInitiate() - { - /* -- RFC 2821, 3.2. - - 3.2 Client Initiation - - Once the server has sent the welcoming message and the client has - received it, the client normally sends the EHLO command to the - server, indicating the client's identity. In addition to opening the - session, use of EHLO indicates that the client is able to process - service extensions and requests that the server provide a list of the - extensions it supports. Older SMTP systems which are unable to - support service extensions and contemporary clients which do not - require service extensions in the mail session being initiated, MAY - use HELO instead of EHLO. Servers MUST NOT return the extended - EHLO-style response to a HELO command. For a particular connection - attempt, if the server returns a "command not recognized" response to - EHLO, the client SHOULD be able to fall back and send HELO. - - In the EHLO command the host sending the command identifies itself; - the command may be interpreted as saying "Hello, I am " (and, - in the case of EHLO, "and I support service extension requests"). - - -- RFC 2281, 4.1.1.1. - - ehlo = "EHLO" SP Domain CRLF - helo = "HELO" SP Domain CRLF - - -- RFC 2821, 4.3.2. - - EHLO or HELO - S: 250 - E: 504, 550 - - */ - - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - - $buf->shouldReceive('initialize') - ->once(); - $buf->shouldReceive('readLine') - ->once() - ->with(0) - ->andReturn("220 some.server.tld bleh\r\n"); - $buf->shouldReceive('write') - ->once() - ->with('~^EHLO .+?\r\n$~D') - ->andReturn(1); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn('250 ServerName'."\r\n"); - - $this->finishBuffer($buf); - try { - $smtp->start(); - } catch (Exception $e) { - $this->fail('Starting Esmtp should send EHLO and accept 250 response: '.$e->getMessage()); - } - } - - public function testHeloIsUsedAsFallback() - { - /* -- RFC 2821, 4.1.4. - - If the EHLO command is not acceptable to the SMTP server, 501, 500, - or 502 failure replies MUST be returned as appropriate. The SMTP - server MUST stay in the same state after transmitting these replies - that it was in before the EHLO was received. - */ - - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - - $buf->shouldReceive('initialize') - ->once(); - $buf->shouldReceive('readLine') - ->once() - ->with(0) - ->andReturn("220 some.server.tld bleh\r\n"); - $buf->shouldReceive('write') - ->once() - ->with('~^EHLO .+?\r\n$~D') - ->andReturn(1); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn('501 WTF'."\r\n"); - $buf->shouldReceive('write') - ->once() - ->with('~^HELO .+?\r\n$~D') - ->andReturn(2); - $buf->shouldReceive('readLine') - ->once() - ->with(2) - ->andReturn('250 HELO'."\r\n"); - - $this->finishBuffer($buf); - try { - $smtp->start(); - } catch (Exception $e) { - $this->fail( - 'Starting Esmtp should fallback to HELO if needed and accept 250 response' - ); - } - } - - public function testInvalidHeloResponseCausesException() - { - //Overridden to first try EHLO - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - - $buf->shouldReceive('initialize') - ->once(); - $buf->shouldReceive('readLine') - ->once() - ->with(0) - ->andReturn("220 some.server.tld bleh\r\n"); - $buf->shouldReceive('write') - ->once() - ->with('~^EHLO .+?\r\n$~D') - ->andReturn(1); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn('501 WTF'."\r\n"); - $buf->shouldReceive('write') - ->once() - ->with('~^HELO .+?\r\n$~D') - ->andReturn(2); - $buf->shouldReceive('readLine') - ->once() - ->with(2) - ->andReturn('504 WTF'."\r\n"); - $this->finishBuffer($buf); - - try { - $this->assertFalse($smtp->isStarted(), '%s: SMTP should begin non-started'); - $smtp->start(); - $this->fail('Non 250 HELO response should raise Exception'); - } catch (Exception $e) { - $this->assertFalse($smtp->isStarted(), '%s: SMTP start() should have failed'); - } - } - - public function testDomainNameIsPlacedInEhlo() - { - /* -- RFC 2821, 4.1.4. - - The SMTP client MUST, if possible, ensure that the domain parameter - to the EHLO command is a valid principal host name (not a CNAME or MX - name) for its host. If this is not possible (e.g., when the client's - address is dynamically assigned and the client does not have an - obvious name), an address literal SHOULD be substituted for the - domain name and supplemental information provided that will assist in - identifying the client. - */ - - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - $buf->shouldReceive('initialize') - ->once(); - $buf->shouldReceive('readLine') - ->once() - ->with(0) - ->andReturn("220 some.server.tld bleh\r\n"); - $buf->shouldReceive('write') - ->once() - ->with("EHLO mydomain.com\r\n") - ->andReturn(1); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn('250 ServerName'."\r\n"); - - $this->finishBuffer($buf); - $smtp->setLocalDomain('mydomain.com'); - $smtp->start(); - } - - public function testDomainNameIsPlacedInHelo() - { - //Overridden to include ESMTP - /* -- RFC 2821, 4.1.4. - - The SMTP client MUST, if possible, ensure that the domain parameter - to the EHLO command is a valid principal host name (not a CNAME or MX - name) for its host. If this is not possible (e.g., when the client's - address is dynamically assigned and the client does not have an - obvious name), an address literal SHOULD be substituted for the - domain name and supplemental information provided that will assist in - identifying the client. - */ - - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - $buf->shouldReceive('initialize') - ->once(); - $buf->shouldReceive('readLine') - ->once() - ->with(0) - ->andReturn("220 some.server.tld bleh\r\n"); - $buf->shouldReceive('write') - ->once() - ->with('~^EHLO .+?\r\n$~D') - ->andReturn(1); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn('501 WTF'."\r\n"); - $buf->shouldReceive('write') - ->once() - ->with("HELO mydomain.com\r\n") - ->andReturn(2); - $buf->shouldReceive('readLine') - ->once() - ->with(2) - ->andReturn('250 ServerName'."\r\n"); - - $this->finishBuffer($buf); - $smtp->setLocalDomain('mydomain.com'); - $smtp->start(); - } - - public function testPipelining() - { - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - $this->assertNull($smtp->getPipelining()); - - $message = $this->createMessage(); - $message->shouldReceive('getFrom') - ->zeroOrMoreTimes() - ->andReturn(['me@domain.com' => 'Me']); - $message->shouldReceive('getTo') - ->zeroOrMoreTimes() - ->andReturn(['foo@bar' => null]); - - $buf->shouldReceive('initialize') - ->once(); - $buf->shouldReceive('readLine') - ->once() - ->with(0) - ->andReturn("220 some.server.tld bleh\r\n"); - $buf->shouldReceive('write') - ->once() - ->with('~^EHLO .+?\r\n$~D') - ->andReturn(1); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn('250-ServerName'."\r\n"); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn('250 PIPELINING'."\r\n"); - - $buf->shouldReceive('write') - ->ordered() - ->once() - ->with("MAIL FROM:\r\n") - ->andReturn(1); - $buf->shouldReceive('write') - ->ordered() - ->once() - ->with("RCPT TO:\r\n") - ->andReturn(2); - $buf->shouldReceive('write') - ->ordered() - ->once() - ->with("DATA\r\n")->andReturn(3); - $buf->shouldReceive('readLine') - ->ordered() - ->once() - ->with(1)->andReturn("250 OK\r\n"); - $buf->shouldReceive('readLine') - ->ordered() - ->once() - ->with(2)->andReturn("250 OK\r\n"); - $buf->shouldReceive('readLine') - ->ordered() - ->once() - ->with(3)->andReturn("354 OK\r\n"); - - $this->finishBuffer($buf); - $smtp->start(); - $sent = $smtp->send($message, $failedRecipients); - - $this->assertEquals(1, $sent); - $this->assertEmpty($failedRecipients); - - $this->assertTrue($smtp->getPipelining()); - } - - public function testPipeliningWithRecipientFailure() - { - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - $this->assertNull($smtp->getPipelining()); - - $message = $this->createMessage(); - $message->shouldReceive('getFrom') - ->zeroOrMoreTimes() - ->andReturn(['me@domain.com' => 'Me']); - $message->shouldReceive('getTo') - ->zeroOrMoreTimes() - ->andReturn([ - 'good@foo' => null, - 'bad@foo' => null, - 'good@bar' => null, - ]); - - $buf->shouldReceive('initialize') - ->once(); - $buf->shouldReceive('readLine') - ->once() - ->with(0) - ->andReturn("220 some.server.tld bleh\r\n"); - $buf->shouldReceive('write') - ->once() - ->with('~^EHLO .+?\r\n$~D') - ->andReturn(1); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn('250-ServerName'."\r\n"); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn('250 PIPELINING'."\r\n"); - - $buf->shouldReceive('write') - ->ordered() - ->once() - ->with("MAIL FROM:\r\n") - ->andReturn(1); - $buf->shouldReceive('write') - ->ordered() - ->once() - ->with("RCPT TO:\r\n") - ->andReturn(2); - $buf->shouldReceive('write') - ->ordered() - ->once() - ->with("RCPT TO:\r\n") - ->andReturn(3); - $buf->shouldReceive('write') - ->ordered() - ->once() - ->with("RCPT TO:\r\n") - ->andReturn(4); - $buf->shouldReceive('write') - ->ordered() - ->once() - ->with("DATA\r\n") - ->andReturn(5); - $buf->shouldReceive('readLine') - ->ordered() - ->once() - ->with(1) - ->andReturn("250 OK\r\n"); - $buf->shouldReceive('readLine') - ->ordered() - ->once() - ->with(2) - ->andReturn("250 OK\r\n"); - $buf->shouldReceive('readLine') - ->ordered() - ->once() - ->with(3) - ->andReturn("450 Unknown address bad@foo\r\n"); - $buf->shouldReceive('readLine') - ->ordered() - ->once() - ->with(4) - ->andReturn("250 OK\r\n"); - $buf->shouldReceive('readLine') - ->ordered() - ->once() - ->with(5) - ->andReturn("354 OK\r\n"); - - $this->finishBuffer($buf); - $smtp->start(); - $sent = $smtp->send($message, $failedRecipients); - - $this->assertEquals(2, $sent); - $this->assertEquals(['bad@foo'], $failedRecipients); - - $this->assertTrue($smtp->getPipelining()); - } - - public function testPipeliningWithSenderFailure() - { - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - $this->assertNull($smtp->getPipelining()); - - $message = $this->createMessage(); - $message->shouldReceive('getFrom') - ->zeroOrMoreTimes() - ->andReturn(['me@domain.com' => 'Me']); - $message->shouldReceive('getTo') - ->zeroOrMoreTimes() - ->andReturn(['foo@bar' => null]); - - $buf->shouldReceive('initialize') - ->once(); - $buf->shouldReceive('readLine') - ->once() - ->with(0) - ->andReturn("220 some.server.tld bleh\r\n"); - $buf->shouldReceive('write') - ->once() - ->with('~^EHLO .+?\r\n$~D') - ->andReturn(1); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn('250-ServerName'."\r\n"); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn('250 PIPELINING'."\r\n"); - - $buf->shouldReceive('write') - ->ordered() - ->once() - ->with("MAIL FROM:\r\n") - ->andReturn(1); - $buf->shouldReceive('write') - ->ordered() - ->once() - ->with("RCPT TO:\r\n") - ->andReturn(2); - $buf->shouldReceive('write') - ->ordered() - ->once() - ->with("DATA\r\n")->andReturn(3); - $buf->shouldReceive('readLine') - ->ordered() - ->once() - ->with(1) - ->andReturn("550 Unknown address me@domain.com\r\n"); - - $smtp->start(); - - $this->expectException('Swift_TransportException'); - $this->expectExceptionMessage('Expected response code 250 but got code "550"'); - $smtp->send($message, $failedRecipients); - } - - public function testPipeliningWithDataFailure() - { - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - $this->assertNull($smtp->getPipelining()); - - $message = $this->createMessage(); - $message->shouldReceive('getFrom') - ->zeroOrMoreTimes() - ->andReturn(['me@domain.com' => 'Me']); - $message->shouldReceive('getTo') - ->zeroOrMoreTimes() - ->andReturn(['foo@bar' => null]); - - $buf->shouldReceive('initialize') - ->once(); - $buf->shouldReceive('readLine') - ->once() - ->with(0) - ->andReturn("220 some.server.tld bleh\r\n"); - $buf->shouldReceive('write') - ->once() - ->with('~^EHLO .+?\r\n$~D') - ->andReturn(1); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn('250-ServerName'."\r\n"); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn('250 PIPELINING'."\r\n"); - - $buf->shouldReceive('write') - ->ordered() - ->once() - ->with("MAIL FROM:\r\n") - ->andReturn(1); - $buf->shouldReceive('write') - ->ordered() - ->once() - ->with("RCPT TO:\r\n") - ->andReturn(2); - $buf->shouldReceive('write') - ->ordered() - ->once() - ->with("DATA\r\n")->andReturn(3); - $buf->shouldReceive('readLine') - ->ordered() - ->once() - ->with(1) - ->andReturn("250 OK\r\n"); - $buf->shouldReceive('readLine') - ->ordered() - ->once() - ->with(2) - ->andReturn("250 OK\r\n"); - $buf->shouldReceive('readLine') - ->ordered() - ->once() - ->with(3) - ->andReturn("452 Insufficient system storage\r\n"); - - $smtp->start(); - - $this->expectException('Swift_TransportException'); - $this->expectExceptionMessage('Expected response code 354 but got code "452"'); - $smtp->send($message, $failedRecipients); - } - - public function providerPipeliningOverride() - { - return [ - [null, true, true], - [null, false, false], - [true, false, true], - [true, true, true], - [false, false, false], - [false, true, false], - ]; - } - - /** - * @dataProvider providerPipeliningOverride - */ - public function testPipeliningOverride($enabled, bool $supported, bool $expected) - { - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - $this->assertNull($smtp->getPipelining()); - - $smtp->setPipelining($enabled); - $this->assertSame($enabled, $smtp->getPipelining()); - - $message = $this->createMessage(); - $message->shouldReceive('getFrom') - ->zeroOrMoreTimes() - ->andReturn(['me@domain.com' => 'Me']); - - $buf->shouldReceive('initialize') - ->once(); - $buf->shouldReceive('readLine') - ->once() - ->with(0) - ->andReturn("220 some.server.tld bleh\r\n"); - $buf->shouldReceive('write') - ->once() - ->with('~^EHLO .+?\r\n$~D') - ->andReturn(1); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn('250-ServerName'."\r\n"); - $buf->shouldReceive('readLine') - ->once() - ->with(1) - ->andReturn('250 '.($supported ? 'PIPELINING' : 'FOOBAR')."\r\n"); - - $this->finishBuffer($buf); - $smtp->start(); - $smtp->send($message); - - $this->assertSame($expected, $smtp->getPipelining()); - } - - public function testFluidInterface() - { - $buf = $this->getBuffer(); - $smtp = $this->getTransport($buf); - $buf->shouldReceive('setParam') - ->once() - ->with('timeout', 30); - - $ref = $smtp - ->setHost('foo') - ->setPort(25) - ->setEncryption('tls') - ->setTimeout(30) - ->setPipelining(false) - ; - $this->assertEquals($ref, $smtp); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Transport/FailoverTransportTest.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Transport/FailoverTransportTest.php deleted file mode 100644 index deb0617..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Transport/FailoverTransportTest.php +++ /dev/null @@ -1,600 +0,0 @@ -getMockery('Swift_Mime_SimpleMessage'); - $message2 = $this->getMockery('Swift_Mime_SimpleMessage'); - $t1 = $this->getMockery('Swift_Transport'); - $t2 = $this->getMockery('Swift_Transport'); - $connectionState = false; - - $t1->shouldReceive('isStarted') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use (&$connectionState) { - return $connectionState; - }); - $t1->shouldReceive('start') - ->once() - ->andReturnUsing(function () use (&$connectionState) { - if (!$connectionState) { - $connectionState = true; - } - }); - $t1->shouldReceive('send') - ->twice() - ->with(\Mockery::anyOf($message1, $message2), \Mockery::any()) - ->andReturnUsing(function () use (&$connectionState) { - if ($connectionState) { - return 1; - } - }); - $t2->shouldReceive('start')->never(); - $t2->shouldReceive('send')->never(); - - $transport = $this->getTransport([$t1, $t2]); - $transport->start(); - $this->assertEquals(1, $transport->send($message1)); - $this->assertEquals(1, $transport->send($message2)); - } - - public function testMessageCanBeTriedOnNextTransportIfExceptionThrown() - { - $e = new Swift_TransportException('b0rken'); - - $message = $this->getMockery('Swift_Mime_SimpleMessage'); - $t1 = $this->getMockery('Swift_Transport'); - $t2 = $this->getMockery('Swift_Transport'); - $connectionState1 = false; - $connectionState2 = false; - - $t1->shouldReceive('isStarted') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use (&$connectionState1) { - return $connectionState1; - }); - $t1->shouldReceive('start') - ->once() - ->andReturnUsing(function () use (&$connectionState1) { - if (!$connectionState1) { - $connectionState1 = true; - } - }); - $t1->shouldReceive('send') - ->once() - ->with($message, \Mockery::any()) - ->andReturnUsing(function () use (&$connectionState1, $e) { - if ($connectionState1) { - throw $e; - } - }); - - $t2->shouldReceive('isStarted') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use (&$connectionState2) { - return $connectionState2; - }); - $t2->shouldReceive('start') - ->once() - ->andReturnUsing(function () use (&$connectionState2) { - if (!$connectionState2) { - $connectionState2 = true; - } - }); - $t2->shouldReceive('send') - ->once() - ->with($message, \Mockery::any()) - ->andReturnUsing(function () use (&$connectionState2, $e) { - if ($connectionState2) { - return 1; - } - }); - - $transport = $this->getTransport([$t1, $t2]); - $transport->start(); - $this->assertEquals(1, $transport->send($message)); - } - - public function testZeroIsReturnedIfTransportReturnsZero() - { - $message = $this->getMockery('Swift_Mime_SimpleMessage')->shouldIgnoreMissing(); - $t1 = $this->getMockery('Swift_Transport')->shouldIgnoreMissing(); - - $connectionState = false; - $t1->shouldReceive('isStarted') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use (&$connectionState) { - return $connectionState; - }); - $t1->shouldReceive('start') - ->once() - ->andReturnUsing(function () use (&$connectionState) { - if (!$connectionState) { - $connectionState = true; - } - }); - $testCase = $this; - $t1->shouldReceive('send') - ->once() - ->with($message, \Mockery::any()) - ->andReturnUsing(function () use (&$connectionState, $testCase) { - if (!$connectionState) { - $testCase->fail(); - } - - return 0; - }); - - $transport = $this->getTransport([$t1]); - $transport->start(); - $this->assertEquals(0, $transport->send($message)); - } - - public function testTransportsWhichThrowExceptionsAreNotRetried() - { - $e = new Swift_TransportException('maur b0rken'); - - $message1 = $this->getMockery('Swift_Mime_SimpleMessage'); - $message2 = $this->getMockery('Swift_Mime_SimpleMessage'); - $message3 = $this->getMockery('Swift_Mime_SimpleMessage'); - $message4 = $this->getMockery('Swift_Mime_SimpleMessage'); - $t1 = $this->getMockery('Swift_Transport'); - $t2 = $this->getMockery('Swift_Transport'); - $connectionState1 = false; - $connectionState2 = false; - - $t1->shouldReceive('isStarted') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use (&$connectionState1) { - return $connectionState1; - }); - $t1->shouldReceive('start') - ->once() - ->andReturnUsing(function () use (&$connectionState1) { - if (!$connectionState1) { - $connectionState1 = true; - } - }); - $t1->shouldReceive('send') - ->once() - ->with($message1, \Mockery::any()) - ->andReturnUsing(function () use (&$connectionState1, $e) { - if ($connectionState1) { - throw $e; - } - }); - $t1->shouldReceive('send') - ->never() - ->with($message2, \Mockery::any()); - $t1->shouldReceive('send') - ->never() - ->with($message3, \Mockery::any()); - $t1->shouldReceive('send') - ->never() - ->with($message4, \Mockery::any()); - - $t2->shouldReceive('isStarted') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use (&$connectionState2) { - return $connectionState2; - }); - $t2->shouldReceive('start') - ->once() - ->andReturnUsing(function () use (&$connectionState2) { - if (!$connectionState2) { - $connectionState2 = true; - } - }); - $t2->shouldReceive('send') - ->times(4) - ->with(\Mockery::anyOf($message1, $message2, $message3, $message4), \Mockery::any()) - ->andReturnUsing(function () use (&$connectionState2, $e) { - if ($connectionState2) { - return 1; - } - }); - - $transport = $this->getTransport([$t1, $t2]); - $transport->start(); - $this->assertEquals(1, $transport->send($message1)); - $this->assertEquals(1, $transport->send($message2)); - $this->assertEquals(1, $transport->send($message3)); - $this->assertEquals(1, $transport->send($message4)); - } - - public function testExceptionIsThrownIfAllTransportsDie() - { - $e = new Swift_TransportException('b0rken'); - - $message = $this->getMockery('Swift_Mime_SimpleMessage'); - $t1 = $this->getMockery('Swift_Transport'); - $t2 = $this->getMockery('Swift_Transport'); - $connectionState1 = false; - $connectionState2 = false; - - $t1->shouldReceive('isStarted') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use (&$connectionState1) { - return $connectionState1; - }); - $t1->shouldReceive('start') - ->once() - ->andReturnUsing(function () use (&$connectionState1) { - if (!$connectionState1) { - $connectionState1 = true; - } - }); - $t1->shouldReceive('send') - ->once() - ->with($message, \Mockery::any()) - ->andReturnUsing(function () use (&$connectionState1, $e) { - if ($connectionState1) { - throw $e; - } - }); - - $t2->shouldReceive('isStarted') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use (&$connectionState2) { - return $connectionState2; - }); - $t2->shouldReceive('start') - ->once() - ->andReturnUsing(function () use (&$connectionState2) { - if (!$connectionState2) { - $connectionState2 = true; - } - }); - $t2->shouldReceive('send') - ->once() - ->with($message, \Mockery::any()) - ->andReturnUsing(function () use (&$connectionState2, $e) { - if ($connectionState2) { - throw $e; - } - }); - - $transport = $this->getTransport([$t1, $t2]); - $transport->start(); - try { - $transport->send($message); - $this->fail('All transports failed so Exception should be thrown'); - } catch (Exception $e) { - } - } - - public function testStoppingTransportStopsAllDelegates() - { - $t1 = $this->getMockery('Swift_Transport'); - $t2 = $this->getMockery('Swift_Transport'); - - $connectionState1 = true; - $connectionState2 = true; - - $t1->shouldReceive('isStarted') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use (&$connectionState1) { - return $connectionState1; - }); - $t1->shouldReceive('stop') - ->once() - ->andReturnUsing(function () use (&$connectionState1) { - if ($connectionState1) { - $connectionState1 = false; - } - }); - - $t2->shouldReceive('isStarted') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use (&$connectionState2) { - return $connectionState2; - }); - $t2->shouldReceive('stop') - ->once() - ->andReturnUsing(function () use (&$connectionState2) { - if ($connectionState2) { - $connectionState2 = false; - } - }); - - $transport = $this->getTransport([$t1, $t2]); - $transport->start(); - $transport->stop(); - } - - public function testTransportShowsAsNotStartedIfAllDelegatesDead() - { - $e = new Swift_TransportException('b0rken'); - - $message = $this->getMockery('Swift_Mime_SimpleMessage'); - $t1 = $this->getMockery('Swift_Transport'); - $t2 = $this->getMockery('Swift_Transport'); - - $connectionState1 = false; - $connectionState2 = false; - - $t1->shouldReceive('isStarted') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use (&$connectionState1) { - return $connectionState1; - }); - $t1->shouldReceive('start') - ->once() - ->andReturnUsing(function () use (&$connectionState1) { - if (!$connectionState1) { - $connectionState1 = true; - } - }); - $t1->shouldReceive('send') - ->once() - ->with($message, \Mockery::any()) - ->andReturnUsing(function () use (&$connectionState1, $e) { - if ($connectionState1) { - $connectionState1 = false; - throw $e; - } - }); - - $t2->shouldReceive('isStarted') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use (&$connectionState2) { - return $connectionState2; - }); - $t2->shouldReceive('start') - ->once() - ->andReturnUsing(function () use (&$connectionState2) { - if (!$connectionState2) { - $connectionState2 = true; - } - }); - $t2->shouldReceive('send') - ->once() - ->with($message, \Mockery::any()) - ->andReturnUsing(function () use (&$connectionState2, $e) { - if ($connectionState2) { - $connectionState2 = false; - throw $e; - } - }); - - $transport = $this->getTransport([$t1, $t2]); - $transport->start(); - $this->assertTrue($transport->isStarted()); - try { - $transport->send($message); - $this->fail('All transports failed so Exception should be thrown'); - } catch (Exception $e) { - $this->assertFalse($transport->isStarted()); - } - } - - public function testRestartingTransportRestartsDeadDelegates() - { - $e = new Swift_TransportException('b0rken'); - - $message1 = $this->getMockery('Swift_Mime_SimpleMessage'); - $message2 = $this->getMockery('Swift_Mime_SimpleMessage'); - $t1 = $this->getMockery('Swift_Transport'); - $t2 = $this->getMockery('Swift_Transport'); - - $connectionState1 = false; - $connectionState2 = false; - - $t1->shouldReceive('isStarted') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use (&$connectionState1) { - return $connectionState1; - }); - $t1->shouldReceive('start') - ->twice() - ->andReturnUsing(function () use (&$connectionState1) { - if (!$connectionState1) { - $connectionState1 = true; - } - }); - $t1->shouldReceive('send') - ->once() - ->with($message1, \Mockery::any()) - ->andReturnUsing(function () use (&$connectionState1, $e) { - if ($connectionState1) { - $connectionState1 = false; - throw $e; - } - }); - $t1->shouldReceive('send') - ->once() - ->with($message2, \Mockery::any()) - ->andReturnUsing(function () use (&$connectionState1) { - if ($connectionState1) { - return 10; - } - }); - - $t2->shouldReceive('isStarted') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use (&$connectionState2) { - return $connectionState2; - }); - $t2->shouldReceive('start') - ->once() - ->andReturnUsing(function () use (&$connectionState2) { - if (!$connectionState2) { - $connectionState2 = true; - } - }); - $t2->shouldReceive('send') - ->once() - ->with($message1, \Mockery::any()) - ->andReturnUsing(function () use (&$connectionState2, $e) { - if ($connectionState2) { - $connectionState2 = false; - throw $e; - } - }); - $t2->shouldReceive('send') - ->never() - ->with($message2, \Mockery::any()); - - $transport = $this->getTransport([$t1, $t2]); - $transport->start(); - $this->assertTrue($transport->isStarted()); - try { - $transport->send($message1); - $this->fail('All transports failed so Exception should be thrown'); - } catch (Exception $e) { - $this->assertFalse($transport->isStarted()); - } - //Restart and re-try - $transport->start(); - $this->assertTrue($transport->isStarted()); - $this->assertEquals(10, $transport->send($message2)); - } - - public function testFailureReferenceIsPassedToDelegates() - { - $failures = []; - - $message = $this->getMockery('Swift_Mime_SimpleMessage'); - $t1 = $this->getMockery('Swift_Transport'); - - $connectionState = false; - - $t1->shouldReceive('isStarted') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use ($connectionState) { - return $connectionState; - }); - $t1->shouldReceive('start') - ->once() - ->andReturnUsing(function () use ($connectionState) { - if (!$connectionState) { - $connectionState = true; - } - }); - $t1->shouldReceive('send') - ->once() - ->with($message, $failures) - ->andReturnUsing(function () use ($connectionState) { - if ($connectionState) { - return 1; - } - }); - - $transport = $this->getTransport([$t1]); - $transport->start(); - $transport->send($message, $failures); - } - - public function testRegisterPluginDelegatesToLoadedTransports() - { - $plugin = $this->createPlugin(); - - $t1 = $this->getMockery('Swift_Transport'); - $t2 = $this->getMockery('Swift_Transport'); - $t1->shouldReceive('registerPlugin') - ->once() - ->with($plugin); - $t2->shouldReceive('registerPlugin') - ->once() - ->with($plugin); - - $transport = $this->getTransport([$t1, $t2]); - $transport->registerPlugin($plugin); - } - - public function testEachDelegateIsPinged() - { - $t1 = $this->getMockery('Swift_Transport'); - $t2 = $this->getMockery('Swift_Transport'); - $connectionState1 = false; - $connectionState2 = false; - - $testCase = $this; - $t1->shouldReceive('isStarted') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use (&$connectionState1) { - return $connectionState1; - }); - $t1->shouldReceive('ping') - ->once() - ->andReturn(true); - - $transport = $this->getTransport([$t1, $t2]); - $this->assertTrue($transport->isStarted()); - $this->assertTrue($transport->ping()); - } - - public function testDelegateIsKilledWhenPingFails() - { - $t1 = $this->getMockery('Swift_Transport'); - $t2 = $this->getMockery('Swift_Transport'); - - $testCase = $this; - $t1->shouldReceive('isStarted') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use (&$connectionState1) { - return $connectionState1; - }); - $t1->shouldReceive('ping') - ->once() - ->andReturn(false); - - $t2->shouldReceive('isStarted') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use (&$connectionState2) { - return $connectionState2; - }); - $t2->shouldReceive('ping') - ->twice() - ->andReturn(true); - - $transport = $this->getTransport([$t1, $t2]); - $this->assertTrue($transport->ping()); - $this->assertTrue($transport->ping()); - $this->assertTrue($transport->isStarted()); - } - - public function XtestTransportShowsAsNotStartedIfAllPingFails() - { - $t1 = $this->getMockery('Swift_Transport'); - $t2 = $this->getMockery('Swift_Transport'); - - $testCase = $this; - $t1->shouldReceive('isStarted') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use (&$connectionState1) { - return $connectionState1; - }); - $t1->shouldReceive('ping') - ->once() - ->andReturn(false); - - $t2->shouldReceive('isStarted') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use (&$connectionState2) { - return $connectionState2; - }); - $t2->shouldReceive('ping') - ->once() - ->andReturn(false); - - $transport = $this->getTransport([$t1, $t2]); - $this->assertFalse($transport->ping()); - $this->assertFalse($transport->isStarted()); - $this->assertFalse($transport->ping()); - } - - private function getTransport(array $transports) - { - $transport = new Swift_Transport_FailoverTransport(); - $transport->setTransports($transports); - - return $transport; - } - - private function createPlugin() - { - return $this->getMockery('Swift_Events_EventListener'); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Transport/LoadBalancedTransportTest.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Transport/LoadBalancedTransportTest.php deleted file mode 100644 index dbc60af..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Transport/LoadBalancedTransportTest.php +++ /dev/null @@ -1,838 +0,0 @@ -getMockery('Swift_Mime_SimpleMessage'); - $message2 = $this->getMockery('Swift_Mime_SimpleMessage'); - $t1 = $this->getMockery('Swift_Transport'); - $t2 = $this->getMockery('Swift_Transport'); - $connectionState1 = false; - $connectionState2 = false; - - $testCase = $this; - $t1->shouldReceive('isStarted') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use (&$connectionState1) { - return $connectionState1; - }); - $t1->shouldReceive('start') - ->once() - ->andReturnUsing(function () use (&$connectionState1) { - if (!$connectionState1) { - $connectionState1 = true; - } - }); - $t1->shouldReceive('send') - ->once() - ->with($message1, \Mockery::any()) - ->andReturnUsing(function () use (&$connectionState1, $testCase) { - if ($connectionState1) { - return 1; - } - $testCase->fail(); - }); - $t1->shouldReceive('send') - ->never() - ->with($message2, \Mockery::any()); - - $t2->shouldReceive('isStarted') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use (&$connectionState2) { - return $connectionState2; - }); - $t2->shouldReceive('start') - ->once() - ->andReturnUsing(function () use (&$connectionState2) { - if (!$connectionState2) { - $connectionState2 = true; - } - }); - $t2->shouldReceive('send') - ->once() - ->with($message2, \Mockery::any()) - ->andReturnUsing(function () use (&$connectionState2, $testCase) { - if ($connectionState2) { - return 1; - } - $testCase->fail(); - }); - $t2->shouldReceive('send') - ->never() - ->with($message1, \Mockery::any()); - - $transport = $this->getTransport([$t1, $t2]); - $transport->start(); - $this->assertEquals(1, $transport->send($message1)); - $this->assertEquals(1, $transport->send($message2)); - } - - public function testTransportsAreReusedInRotatingFashion() - { - $message1 = $this->getMockery('Swift_Mime_SimpleMessage'); - $message2 = $this->getMockery('Swift_Mime_SimpleMessage'); - $message3 = $this->getMockery('Swift_Mime_SimpleMessage'); - $message4 = $this->getMockery('Swift_Mime_SimpleMessage'); - $t1 = $this->getMockery('Swift_Transport'); - $t2 = $this->getMockery('Swift_Transport'); - $connectionState1 = false; - $connectionState2 = false; - - $testCase = $this; - $t1->shouldReceive('isStarted') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use (&$connectionState1) { - return $connectionState1; - }); - $t1->shouldReceive('start') - ->once() - ->andReturnUsing(function () use (&$connectionState1) { - if (!$connectionState1) { - $connectionState1 = true; - } - }); - $t1->shouldReceive('send') - ->once() - ->with($message1, \Mockery::any()) - ->andReturnUsing(function () use (&$connectionState1, $testCase) { - if ($connectionState1) { - return 1; - } - $testCase->fail(); - }); - $t1->shouldReceive('send') - ->never() - ->with($message2, \Mockery::any()); - $t1->shouldReceive('send') - ->once() - ->with($message3, \Mockery::any()) - ->andReturnUsing(function () use (&$connectionState1, $testCase) { - if ($connectionState1) { - return 1; - } - $testCase->fail(); - }); - $t1->shouldReceive('send') - ->never() - ->with($message4, \Mockery::any()); - - $t2->shouldReceive('isStarted') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use (&$connectionState2) { - return $connectionState2; - }); - $t2->shouldReceive('start') - ->once() - ->andReturnUsing(function () use (&$connectionState2) { - if (!$connectionState2) { - $connectionState2 = true; - } - }); - $t2->shouldReceive('send') - ->once() - ->with($message2, \Mockery::any()) - ->andReturnUsing(function () use (&$connectionState2, $testCase) { - if ($connectionState2) { - return 1; - } - $testCase->fail(); - }); - $t2->shouldReceive('send') - ->never() - ->with($message1, \Mockery::any()); - $t2->shouldReceive('send') - ->once() - ->with($message4, \Mockery::any()) - ->andReturnUsing(function () use (&$connectionState2, $testCase) { - if ($connectionState2) { - return 1; - } - $testCase->fail(); - }); - $t2->shouldReceive('send') - ->never() - ->with($message3, \Mockery::any()); - - $transport = $this->getTransport([$t1, $t2]); - $transport->start(); - - $this->assertEquals(1, $transport->send($message1)); - $this->assertEquals(1, $transport->send($message2)); - $this->assertEquals(1, $transport->send($message3)); - $this->assertEquals(1, $transport->send($message4)); - } - - public function testMessageCanBeTriedOnNextTransportIfExceptionThrown() - { - $e = new Swift_TransportException('b0rken'); - - $message = $this->getMockery('Swift_Mime_SimpleMessage'); - $t1 = $this->getMockery('Swift_Transport'); - $t2 = $this->getMockery('Swift_Transport'); - $connectionState1 = false; - $connectionState2 = false; - - $testCase = $this; - $t1->shouldReceive('isStarted') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use (&$connectionState1) { - return $connectionState1; - }); - $t1->shouldReceive('start') - ->once() - ->andReturnUsing(function () use (&$connectionState1) { - if (!$connectionState1) { - $connectionState1 = true; - } - }); - $t1->shouldReceive('send') - ->once() - ->with($message, \Mockery::any()) - ->andReturnUsing(function () use (&$connectionState1, $e, $testCase) { - if ($connectionState1) { - throw $e; - } - $testCase->fail(); - }); - - $t2->shouldReceive('isStarted') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use (&$connectionState2) { - return $connectionState2; - }); - $t2->shouldReceive('start') - ->once() - ->andReturnUsing(function () use (&$connectionState2) { - if (!$connectionState2) { - $connectionState2 = true; - } - }); - $t2->shouldReceive('send') - ->once() - ->with($message, \Mockery::any()) - ->andReturnUsing(function () use (&$connectionState2, $testCase) { - if ($connectionState2) { - return 1; - } - $testCase->fail(); - }); - - $transport = $this->getTransport([$t1, $t2]); - $transport->start(); - $this->assertEquals(1, $transport->send($message)); - } - - public function testMessageIsTriedOnNextTransportIfZeroReturned() - { - $message = $this->getMockery('Swift_Mime_SimpleMessage'); - $t1 = $this->getMockery('Swift_Transport'); - $t2 = $this->getMockery('Swift_Transport'); - $connectionState1 = false; - $connectionState2 = false; - - $t1->shouldReceive('isStarted') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use (&$connectionState1) { - return $connectionState1; - }); - $t1->shouldReceive('start') - ->once() - ->andReturnUsing(function () use (&$connectionState1) { - if (!$connectionState1) { - $connectionState1 = true; - } - }); - $t1->shouldReceive('send') - ->once() - ->with($message, \Mockery::any()) - ->andReturnUsing(function () use (&$connectionState1) { - if ($connectionState1) { - return 0; - } - - return 1; - }); - - $t2->shouldReceive('isStarted') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use (&$connectionState2) { - return $connectionState2; - }); - $t2->shouldReceive('start') - ->once() - ->andReturnUsing(function () use (&$connectionState2) { - if (!$connectionState2) { - $connectionState2 = true; - } - }); - $t2->shouldReceive('send') - ->once() - ->with($message, \Mockery::any()) - ->andReturnUsing(function () use (&$connectionState2) { - if ($connectionState2) { - return 1; - } - - return 0; - }); - - $transport = $this->getTransport([$t1, $t2]); - $transport->start(); - $this->assertEquals(1, $transport->send($message)); - } - - public function testZeroIsReturnedIfAllTransportsReturnZero() - { - $message = $this->getMockery('Swift_Mime_SimpleMessage'); - $t1 = $this->getMockery('Swift_Transport'); - $t2 = $this->getMockery('Swift_Transport'); - $connectionState1 = false; - $connectionState2 = false; - - $t1->shouldReceive('isStarted') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use (&$connectionState1) { - return $connectionState1; - }); - $t1->shouldReceive('start') - ->once() - ->andReturnUsing(function () use (&$connectionState1) { - if (!$connectionState1) { - $connectionState1 = true; - } - }); - $t1->shouldReceive('send') - ->once() - ->with($message, \Mockery::any()) - ->andReturnUsing(function () use (&$connectionState1) { - if ($connectionState1) { - return 0; - } - - return 1; - }); - - $t2->shouldReceive('isStarted') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use (&$connectionState2) { - return $connectionState2; - }); - $t2->shouldReceive('start') - ->once() - ->andReturnUsing(function () use (&$connectionState2) { - if (!$connectionState2) { - $connectionState2 = true; - } - }); - $t2->shouldReceive('send') - ->once() - ->with($message, \Mockery::any()) - ->andReturnUsing(function () use (&$connectionState2) { - if ($connectionState2) { - return 0; - } - - return 1; - }); - - $transport = $this->getTransport([$t1, $t2]); - $transport->start(); - $this->assertEquals(0, $transport->send($message)); - } - - public function testTransportsWhichThrowExceptionsAreNotRetried() - { - $e = new Swift_TransportException('maur b0rken'); - - $message1 = $this->getMockery('Swift_Mime_SimpleMessage'); - $message2 = $this->getMockery('Swift_Mime_SimpleMessage'); - $message3 = $this->getMockery('Swift_Mime_SimpleMessage'); - $message4 = $this->getMockery('Swift_Mime_SimpleMessage'); - $t1 = $this->getMockery('Swift_Transport'); - $t2 = $this->getMockery('Swift_Transport'); - $connectionState1 = false; - $connectionState2 = false; - - $testCase = $this; - $t1->shouldReceive('isStarted') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use (&$connectionState1) { - return $connectionState1; - }); - $t1->shouldReceive('start') - ->once() - ->andReturnUsing(function () use (&$connectionState1) { - if (!$connectionState1) { - $connectionState1 = true; - } - }); - $t1->shouldReceive('send') - ->once() - ->with($message1, \Mockery::any()) - ->andReturnUsing(function () use (&$connectionState1, $e, $testCase) { - if ($connectionState1) { - throw $e; - } - $testCase->fail(); - }); - $t1->shouldReceive('send') - ->never() - ->with($message2, \Mockery::any()); - $t1->shouldReceive('send') - ->never() - ->with($message3, \Mockery::any()); - $t1->shouldReceive('send') - ->never() - ->with($message4, \Mockery::any()); - - $t2->shouldReceive('isStarted') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use (&$connectionState2) { - return $connectionState2; - }); - $t2->shouldReceive('start') - ->once() - ->andReturnUsing(function () use (&$connectionState2) { - if (!$connectionState2) { - $connectionState2 = true; - } - }); - $t2->shouldReceive('send') - ->times(4) - ->with(\Mockery::anyOf($message1, $message3, $message3, $message4), \Mockery::any()) - ->andReturnUsing(function () use (&$connectionState2, $testCase) { - if ($connectionState2) { - return 1; - } - $testCase->fail(); - }); - - $transport = $this->getTransport([$t1, $t2]); - $transport->start(); - $this->assertEquals(1, $transport->send($message1)); - $this->assertEquals(1, $transport->send($message2)); - $this->assertEquals(1, $transport->send($message3)); - $this->assertEquals(1, $transport->send($message4)); - } - - public function testExceptionIsThrownIfAllTransportsDie() - { - $e = new Swift_TransportException('b0rken'); - - $message = $this->getMockery('Swift_Mime_SimpleMessage'); - $t1 = $this->getMockery('Swift_Transport'); - $t2 = $this->getMockery('Swift_Transport'); - $connectionState1 = false; - $connectionState2 = false; - - $t1->shouldReceive('isStarted') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use (&$connectionState1) { - return $connectionState1; - }); - $t1->shouldReceive('start') - ->once() - ->andReturnUsing(function () use (&$connectionState1) { - if (!$connectionState1) { - $connectionState1 = true; - } - }); - $t1->shouldReceive('send') - ->once() - ->with($message, \Mockery::any()) - ->andReturnUsing(function () use (&$connectionState1, $e) { - if ($connectionState1) { - throw $e; - } - }); - - $t2->shouldReceive('isStarted') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use (&$connectionState2) { - return $connectionState2; - }); - $t2->shouldReceive('start') - ->once() - ->andReturnUsing(function () use (&$connectionState2) { - if (!$connectionState2) { - $connectionState2 = true; - } - }); - $t2->shouldReceive('send') - ->once() - ->with($message, \Mockery::any()) - ->andReturnUsing(function () use (&$connectionState2, $e) { - if ($connectionState2) { - throw $e; - } - }); - - $transport = $this->getTransport([$t1, $t2]); - $transport->start(); - try { - $transport->send($message); - $this->fail('All transports failed so Exception should be thrown'); - } catch (Exception $e) { - } - } - - public function testStoppingTransportStopsAllDelegates() - { - $t1 = $this->getMockery('Swift_Transport'); - $t2 = $this->getMockery('Swift_Transport'); - $connectionState1 = true; - $connectionState2 = true; - - $t1->shouldReceive('isStarted') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use (&$connectionState1) { - return $connectionState1; - }); - $t1->shouldReceive('stop') - ->once() - ->andReturnUsing(function () use (&$connectionState1) { - if ($connectionState1) { - $connectionState1 = false; - } - }); - - $t2->shouldReceive('isStarted') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use (&$connectionState2) { - return $connectionState2; - }); - $t2->shouldReceive('stop') - ->once() - ->andReturnUsing(function () use (&$connectionState2) { - if ($connectionState2) { - $connectionState2 = false; - } - }); - - $transport = $this->getTransport([$t1, $t2]); - $transport->start(); - $transport->stop(); - } - - public function testTransportShowsAsNotStartedIfAllDelegatesDead() - { - $e = new Swift_TransportException('b0rken'); - - $message = $this->getMockery('Swift_Mime_SimpleMessage'); - $t1 = $this->getMockery('Swift_Transport'); - $t2 = $this->getMockery('Swift_Transport'); - $connectionState1 = false; - $connectionState2 = false; - - $t1->shouldReceive('isStarted') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use (&$connectionState1) { - return $connectionState1; - }); - $t1->shouldReceive('start') - ->once() - ->andReturnUsing(function () use (&$connectionState1) { - if (!$connectionState1) { - $connectionState1 = true; - } - }); - $t1->shouldReceive('send') - ->once() - ->with($message, \Mockery::any()) - ->andReturnUsing(function () use (&$connectionState1, $e) { - if ($connectionState1) { - throw $e; - } - }); - - $t2->shouldReceive('isStarted') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use (&$connectionState2) { - return $connectionState2; - }); - $t2->shouldReceive('start') - ->once() - ->andReturnUsing(function () use (&$connectionState2) { - if (!$connectionState2) { - $connectionState2 = true; - } - }); - $t2->shouldReceive('send') - ->once() - ->with($message, \Mockery::any()) - ->andReturnUsing(function () use (&$connectionState2, $e) { - if ($connectionState2) { - throw $e; - } - }); - - $transport = $this->getTransport([$t1, $t2]); - $transport->start(); - $this->assertTrue($transport->isStarted()); - try { - $transport->send($message); - $this->fail('All transports failed so Exception should be thrown'); - } catch (Exception $e) { - $this->assertFalse($transport->isStarted()); - } - } - - public function testRestartingTransportRestartsDeadDelegates() - { - $e = new Swift_TransportException('b0rken'); - - $message1 = $this->getMockery('Swift_Mime_SimpleMessage'); - $message2 = $this->getMockery('Swift_Mime_SimpleMessage'); - $t1 = $this->getMockery('Swift_Transport'); - $t2 = $this->getMockery('Swift_Transport'); - $connectionState1 = false; - $connectionState2 = false; - - $t1->shouldReceive('isStarted') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use (&$connectionState1) { - return $connectionState1; - }); - $t1->shouldReceive('start') - ->twice() - ->andReturnUsing(function () use (&$connectionState1) { - if (!$connectionState1) { - $connectionState1 = true; - } - }); - $t1->shouldReceive('send') - ->once() - ->with($message1, \Mockery::any()) - ->andReturnUsing(function () use (&$connectionState1, $e) { - if ($connectionState1) { - $connectionState1 = false; - throw $e; - } - }); - $t1->shouldReceive('send') - ->once() - ->with($message2, \Mockery::any()) - ->andReturnUsing(function () use (&$connectionState1, $e) { - if ($connectionState1) { - return 10; - } - }); - - $t2->shouldReceive('isStarted') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use (&$connectionState2) { - return $connectionState2; - }); - $t2->shouldReceive('start') - ->once() - ->andReturnUsing(function () use (&$connectionState2) { - if (!$connectionState2) { - $connectionState2 = true; - } - }); - $t2->shouldReceive('send') - ->once() - ->with($message1, \Mockery::any()) - ->andReturnUsing(function () use (&$connectionState2, $e) { - if ($connectionState2) { - throw $e; - } - }); - $t2->shouldReceive('send') - ->never() - ->with($message2, \Mockery::any()); - - $transport = $this->getTransport([$t1, $t2]); - $transport->start(); - $this->assertTrue($transport->isStarted()); - try { - $transport->send($message1); - $this->fail('All transports failed so Exception should be thrown'); - } catch (Exception $e) { - $this->assertFalse($transport->isStarted()); - } - //Restart and re-try - $transport->start(); - $this->assertTrue($transport->isStarted()); - $this->assertEquals(10, $transport->send($message2)); - } - - public function testFailureReferenceIsPassedToDelegates() - { - $failures = []; - $testCase = $this; - - $message = $this->getMockery('Swift_Mime_SimpleMessage'); - $t1 = $this->getMockery('Swift_Transport'); - $connectionState = false; - - $t1->shouldReceive('isStarted') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use (&$connectionState) { - return $connectionState; - }); - $t1->shouldReceive('start') - ->once() - ->andReturnUsing(function () use (&$connectionState) { - if (!$connectionState) { - $connectionState = true; - } - }); - $t1->shouldReceive('send') - ->once() - ->with($message, \Mockery::on(function (&$var) use (&$failures, $testCase) { - return $testCase->varsAreReferences($var, $failures); - })) - ->andReturnUsing(function () use (&$connectionState) { - if ($connectionState) { - return 1; - } - }); - - $transport = $this->getTransport([$t1]); - $transport->start(); - $transport->send($message, $failures); - } - - public function testRegisterPluginDelegatesToLoadedTransports() - { - $plugin = $this->createPlugin(); - - $t1 = $this->getMockery('Swift_Transport'); - $t2 = $this->getMockery('Swift_Transport'); - - $t1->shouldReceive('registerPlugin') - ->once() - ->with($plugin); - $t2->shouldReceive('registerPlugin') - ->once() - ->with($plugin); - - $transport = $this->getTransport([$t1, $t2]); - $transport->registerPlugin($plugin); - } - - public function testEachDelegateIsPinged() - { - $t1 = $this->getMockery('Swift_Transport'); - $t2 = $this->getMockery('Swift_Transport'); - - $testCase = $this; - $t1->shouldReceive('isStarted') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use (&$connectionState1) { - return $connectionState1; - }); - $t1->shouldReceive('ping') - ->once() - ->andReturn(true); - - $t2->shouldReceive('isStarted') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use (&$connectionState2) { - return $connectionState2; - }); - $t2->shouldReceive('ping') - ->once() - ->andReturn(true); - - $transport = $this->getTransport([$t1, $t2]); - $this->assertTrue($transport->isStarted()); - $this->assertTrue($transport->ping()); - } - - public function testDelegateIsKilledWhenPingFails() - { - $t1 = $this->getMockery('Swift_Transport'); - $t2 = $this->getMockery('Swift_Transport'); - - $testCase = $this; - $t1->shouldReceive('isStarted') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use (&$connectionState1) { - return $connectionState1; - }); - $t1->shouldReceive('ping') - ->twice() - ->andReturn(true); - - $t2->shouldReceive('isStarted') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use (&$connectionState2) { - return $connectionState2; - }); - $t2->shouldReceive('ping') - ->once() - ->andReturn(false); - - $transport = $this->getTransport([$t1, $t2]); - $this->assertTrue($transport->ping()); - $this->assertTrue($transport->ping()); - $this->assertTrue($transport->isStarted()); - } - - public function testTransportShowsAsNotStartedIfAllPingFails() - { - $t1 = $this->getMockery('Swift_Transport'); - $t2 = $this->getMockery('Swift_Transport'); - - $testCase = $this; - $t1->shouldReceive('isStarted') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use (&$connectionState1) { - return $connectionState1; - }); - $t1->shouldReceive('ping') - ->once() - ->andReturn(false); - - $t2->shouldReceive('isStarted') - ->zeroOrMoreTimes() - ->andReturnUsing(function () use (&$connectionState2) { - return $connectionState2; - }); - $t2->shouldReceive('ping') - ->once() - ->andReturn(false); - - $transport = $this->getTransport([$t1, $t2]); - $this->assertFalse($transport->ping()); - $this->assertFalse($transport->isStarted()); - $this->assertFalse($transport->ping()); - } - - /** - * Adapted from Yay_Matchers_ReferenceMatcher. - */ - public function varsAreReferences(&$ref1, &$ref2) - { - if (is_object($ref2)) { - return $ref1 === $ref2; - } - if ($ref1 !== $ref2) { - return false; - } - - $copy = $ref2; - $randomString = uniqid('yay', true); - $ref2 = $randomString; - $isRef = ($ref1 === $ref2); - $ref2 = $copy; - - return $isRef; - } - - private function getTransport(array $transports) - { - $transport = new Swift_Transport_LoadBalancedTransport(); - $transport->setTransports($transports); - - return $transport; - } - - private function createPlugin() - { - return $this->getMockery('Swift_Events_EventListener'); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Transport/SendmailTransportTest.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Transport/SendmailTransportTest.php deleted file mode 100644 index fe40d6c..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Transport/SendmailTransportTest.php +++ /dev/null @@ -1,150 +0,0 @@ -createEventDispatcher(); - } - $transport = new Swift_Transport_SendmailTransport($buf, $dispatcher, 'example.org', $addressEncoder); - $transport->setCommand($command); - - return $transport; - } - - protected function getSendmail($buf, $dispatcher = null) - { - if (!$dispatcher) { - $dispatcher = $this->createEventDispatcher(); - } - - return new Swift_Transport_SendmailTransport($buf, $dispatcher); - } - - public function testCommandCanBeSetAndFetched() - { - $buf = $this->getBuffer(); - $sendmail = $this->getSendmail($buf); - - $sendmail->setCommand('/usr/sbin/sendmail -bs'); - $this->assertEquals('/usr/sbin/sendmail -bs', $sendmail->getCommand()); - $sendmail->setCommand('/usr/sbin/sendmail -oi -t'); - $this->assertEquals('/usr/sbin/sendmail -oi -t', $sendmail->getCommand()); - } - - public function testSendingMessageIn_t_ModeUsesSimplePipe() - { - $buf = $this->getBuffer(); - $sendmail = $this->getSendmail($buf); - $message = $this->createMessage(); - - $message->shouldReceive('getTo') - ->zeroOrMoreTimes() - ->andReturn(['foo@bar' => 'Foobar', 'zip@button' => 'Zippy']); - $message->shouldReceive('toByteStream') - ->once() - ->with($buf); - $buf->shouldReceive('initialize') - ->once(); - $buf->shouldReceive('terminate') - ->once(); - $buf->shouldReceive('setWriteTranslations') - ->once() - ->with(["\r\n" => "\n", "\n." => "\n.."]); - $buf->shouldReceive('setWriteTranslations') - ->once() - ->with([]); - - $sendmail->setCommand('/usr/sbin/sendmail -t'); - $this->assertEquals(2, $sendmail->send($message)); - } - - public function testSendingIn_t_ModeWith_i_FlagDoesntEscapeDot() - { - $buf = $this->getBuffer(); - $sendmail = $this->getSendmail($buf); - $message = $this->createMessage(); - - $message->shouldReceive('getTo') - ->zeroOrMoreTimes() - ->andReturn(['foo@bar' => 'Foobar', 'zip@button' => 'Zippy']); - $message->shouldReceive('toByteStream') - ->once() - ->with($buf); - $buf->shouldReceive('initialize') - ->once(); - $buf->shouldReceive('terminate') - ->once(); - $buf->shouldReceive('setWriteTranslations') - ->once() - ->with(["\r\n" => "\n"]); - $buf->shouldReceive('setWriteTranslations') - ->once() - ->with([]); - - $sendmail->setCommand('/usr/sbin/sendmail -i -t'); - $this->assertEquals(2, $sendmail->send($message)); - } - - public function testSendingInTModeWith_oi_FlagDoesntEscapeDot() - { - $buf = $this->getBuffer(); - $sendmail = $this->getSendmail($buf); - $message = $this->createMessage(); - - $message->shouldReceive('getTo') - ->zeroOrMoreTimes() - ->andReturn(['foo@bar' => 'Foobar', 'zip@button' => 'Zippy']); - $message->shouldReceive('toByteStream') - ->once() - ->with($buf); - $buf->shouldReceive('initialize') - ->once(); - $buf->shouldReceive('terminate') - ->once(); - $buf->shouldReceive('setWriteTranslations') - ->once() - ->with(["\r\n" => "\n"]); - $buf->shouldReceive('setWriteTranslations') - ->once() - ->with([]); - - $sendmail->setCommand('/usr/sbin/sendmail -oi -t'); - $this->assertEquals(2, $sendmail->send($message)); - } - - public function testSendingMessageRegeneratesId() - { - $buf = $this->getBuffer(); - $sendmail = $this->getSendmail($buf); - $message = $this->createMessage(); - - $message->shouldReceive('getTo') - ->zeroOrMoreTimes() - ->andReturn(['foo@bar' => 'Foobar', 'zip@button' => 'Zippy']); - $message->shouldReceive('generateId'); - $buf->shouldReceive('initialize') - ->once(); - $buf->shouldReceive('terminate') - ->once(); - $buf->shouldReceive('setWriteTranslations') - ->once() - ->with(["\r\n" => "\n", "\n." => "\n.."]); - $buf->shouldReceive('setWriteTranslations') - ->once() - ->with([]); - - $sendmail->setCommand('/usr/sbin/sendmail -t'); - $this->assertEquals(2, $sendmail->send($message)); - } - - public function testFluidInterface() - { - $buf = $this->getBuffer(); - $sendmail = $this->getTransport($buf); - - $ref = $sendmail->setCommand('/foo'); - $this->assertEquals($ref, $sendmail); - } -} diff --git a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Transport/StreamBufferTest.php b/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Transport/StreamBufferTest.php deleted file mode 100644 index 540709a..0000000 --- a/paragonik-backend/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Transport/StreamBufferTest.php +++ /dev/null @@ -1,43 +0,0 @@ -createFactory(); - $factory->expects($this->once()) - ->method('createFilter') - ->with('a', 'b') - ->will($this->returnCallback([$this, 'createFilter'])); - - $buffer = $this->createBuffer($factory); - $buffer->setWriteTranslations(['a' => 'b']); - } - - public function testOverridingTranslationsOnlyAddsNeededFilters() - { - $factory = $this->createFactory(); - $factory->expects($this->exactly(2)) - ->method('createFilter') - ->will($this->returnCallback([$this, 'createFilter'])); - - $buffer = $this->createBuffer($factory); - $buffer->setWriteTranslations(['a' => 'b']); - $buffer->setWriteTranslations(['x' => 'y', 'a' => 'b']); - } - - private function createBuffer($replacementFactory) - { - return new Swift_Transport_StreamBuffer($replacementFactory); - } - - private function createFactory() - { - return $this->getMockBuilder('Swift_ReplacementFilterFactory')->getMock(); - } - - public function createFilter() - { - return $this->getMockBuilder('Swift_StreamFilter')->getMock(); - } -} diff --git a/paragonik-backend/vendor/symfony/console/.gitattributes b/paragonik-backend/vendor/symfony/console/.gitattributes deleted file mode 100644 index ebb9287..0000000 --- a/paragonik-backend/vendor/symfony/console/.gitattributes +++ /dev/null @@ -1,3 +0,0 @@ -/Tests export-ignore -/phpunit.xml.dist export-ignore -/.gitignore export-ignore diff --git a/paragonik-backend/vendor/symfony/console/Application.php b/paragonik-backend/vendor/symfony/console/Application.php deleted file mode 100644 index 6d17709..0000000 --- a/paragonik-backend/vendor/symfony/console/Application.php +++ /dev/null @@ -1,1280 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Console; - -use Symfony\Component\Console\Command\Command; -use Symfony\Component\Console\Command\HelpCommand; -use Symfony\Component\Console\Command\ListCommand; -use Symfony\Component\Console\CommandLoader\CommandLoaderInterface; -use Symfony\Component\Console\Event\ConsoleCommandEvent; -use Symfony\Component\Console\Event\ConsoleErrorEvent; -use Symfony\Component\Console\Event\ConsoleTerminateEvent; -use Symfony\Component\Console\Exception\CommandNotFoundException; -use Symfony\Component\Console\Exception\ExceptionInterface; -use Symfony\Component\Console\Exception\LogicException; -use Symfony\Component\Console\Exception\NamespaceNotFoundException; -use Symfony\Component\Console\Formatter\OutputFormatter; -use Symfony\Component\Console\Helper\DebugFormatterHelper; -use Symfony\Component\Console\Helper\FormatterHelper; -use Symfony\Component\Console\Helper\Helper; -use Symfony\Component\Console\Helper\HelperSet; -use Symfony\Component\Console\Helper\ProcessHelper; -use Symfony\Component\Console\Helper\QuestionHelper; -use Symfony\Component\Console\Input\ArgvInput; -use Symfony\Component\Console\Input\ArrayInput; -use Symfony\Component\Console\Input\InputArgument; -use Symfony\Component\Console\Input\InputAwareInterface; -use Symfony\Component\Console\Input\InputDefinition; -use Symfony\Component\Console\Input\InputInterface; -use Symfony\Component\Console\Input\InputOption; -use Symfony\Component\Console\Input\StreamableInputInterface; -use Symfony\Component\Console\Output\ConsoleOutput; -use Symfony\Component\Console\Output\ConsoleOutputInterface; -use Symfony\Component\Console\Output\OutputInterface; -use Symfony\Component\Console\Style\SymfonyStyle; -use Symfony\Component\Debug\ErrorHandler as LegacyErrorHandler; -use Symfony\Component\Debug\Exception\FatalThrowableError; -use Symfony\Component\ErrorHandler\ErrorHandler; -use Symfony\Component\EventDispatcher\EventDispatcherInterface; -use Symfony\Component\EventDispatcher\LegacyEventDispatcherProxy; -use Symfony\Contracts\Service\ResetInterface; - -/** - * An Application is the container for a collection of commands. - * - * It is the main entry point of a Console application. - * - * This class is optimized for a standard CLI environment. - * - * Usage: - * - * $app = new Application('myapp', '1.0 (stable)'); - * $app->add(new SimpleCommand()); - * $app->run(); - * - * @author Fabien Potencier - */ -class Application implements ResetInterface -{ - private $commands = []; - private $wantHelps = false; - private $runningCommand; - private $name; - private $version; - private $commandLoader; - private $catchExceptions = true; - private $autoExit = true; - private $definition; - private $helperSet; - private $dispatcher; - private $terminal; - private $defaultCommand; - private $singleCommand = false; - private $initialized; - - /** - * @param string $name The name of the application - * @param string $version The version of the application - */ - public function __construct(string $name = 'UNKNOWN', string $version = 'UNKNOWN') - { - $this->name = $name; - $this->version = $version; - $this->terminal = new Terminal(); - $this->defaultCommand = 'list'; - } - - /** - * @final since Symfony 4.3, the type-hint will be updated to the interface from symfony/contracts in 5.0 - */ - public function setDispatcher(EventDispatcherInterface $dispatcher) - { - $this->dispatcher = LegacyEventDispatcherProxy::decorate($dispatcher); - } - - public function setCommandLoader(CommandLoaderInterface $commandLoader) - { - $this->commandLoader = $commandLoader; - } - - /** - * Runs the current application. - * - * @return int 0 if everything went fine, or an error code - * - * @throws \Exception When running fails. Bypass this when {@link setCatchExceptions()}. - */ - public function run(InputInterface $input = null, OutputInterface $output = null) - { - putenv('LINES='.$this->terminal->getHeight()); - putenv('COLUMNS='.$this->terminal->getWidth()); - - if (null === $input) { - $input = new ArgvInput(); - } - - if (null === $output) { - $output = new ConsoleOutput(); - } - - $renderException = function (\Throwable $e) use ($output) { - if ($output instanceof ConsoleOutputInterface) { - $this->renderThrowable($e, $output->getErrorOutput()); - } else { - $this->renderThrowable($e, $output); - } - }; - if ($phpHandler = set_exception_handler($renderException)) { - restore_exception_handler(); - if (!\is_array($phpHandler) || (!$phpHandler[0] instanceof ErrorHandler && !$phpHandler[0] instanceof LegacyErrorHandler)) { - $errorHandler = true; - } elseif ($errorHandler = $phpHandler[0]->setExceptionHandler($renderException)) { - $phpHandler[0]->setExceptionHandler($errorHandler); - } - } - - $this->configureIO($input, $output); - - try { - $exitCode = $this->doRun($input, $output); - } catch (\Exception $e) { - if (!$this->catchExceptions) { - throw $e; - } - - $renderException($e); - - $exitCode = $e->getCode(); - if (is_numeric($exitCode)) { - $exitCode = (int) $exitCode; - if (0 === $exitCode) { - $exitCode = 1; - } - } else { - $exitCode = 1; - } - } finally { - // if the exception handler changed, keep it - // otherwise, unregister $renderException - if (!$phpHandler) { - if (set_exception_handler($renderException) === $renderException) { - restore_exception_handler(); - } - restore_exception_handler(); - } elseif (!$errorHandler) { - $finalHandler = $phpHandler[0]->setExceptionHandler(null); - if ($finalHandler !== $renderException) { - $phpHandler[0]->setExceptionHandler($finalHandler); - } - } - } - - if ($this->autoExit) { - if ($exitCode > 255) { - $exitCode = 255; - } - - exit($exitCode); - } - - return $exitCode; - } - - /** - * Runs the current application. - * - * @return int 0 if everything went fine, or an error code - */ - public function doRun(InputInterface $input, OutputInterface $output) - { - if (true === $input->hasParameterOption(['--version', '-V'], true)) { - $output->writeln($this->getLongVersion()); - - return 0; - } - - try { - // Makes ArgvInput::getFirstArgument() able to distinguish an option from an argument. - $input->bind($this->getDefinition()); - } catch (ExceptionInterface $e) { - // Errors must be ignored, full binding/validation happens later when the command is known. - } - - $name = $this->getCommandName($input); - if (true === $input->hasParameterOption(['--help', '-h'], true)) { - if (!$name) { - $name = 'help'; - $input = new ArrayInput(['command_name' => $this->defaultCommand]); - } else { - $this->wantHelps = true; - } - } - - if (!$name) { - $name = $this->defaultCommand; - $definition = $this->getDefinition(); - $definition->setArguments(array_merge( - $definition->getArguments(), - [ - 'command' => new InputArgument('command', InputArgument::OPTIONAL, $definition->getArgument('command')->getDescription(), $name), - ] - )); - } - - try { - $this->runningCommand = null; - // the command name MUST be the first element of the input - $command = $this->find($name); - } catch (\Throwable $e) { - if (!($e instanceof CommandNotFoundException && !$e instanceof NamespaceNotFoundException) || 1 !== \count($alternatives = $e->getAlternatives()) || !$input->isInteractive()) { - if (null !== $this->dispatcher) { - $event = new ConsoleErrorEvent($input, $output, $e); - $this->dispatcher->dispatch($event, ConsoleEvents::ERROR); - - if (0 === $event->getExitCode()) { - return 0; - } - - $e = $event->getError(); - } - - throw $e; - } - - $alternative = $alternatives[0]; - - $style = new SymfonyStyle($input, $output); - $style->block(sprintf("\nCommand \"%s\" is not defined.\n", $name), null, 'error'); - if (!$style->confirm(sprintf('Do you want to run "%s" instead? ', $alternative), false)) { - if (null !== $this->dispatcher) { - $event = new ConsoleErrorEvent($input, $output, $e); - $this->dispatcher->dispatch($event, ConsoleEvents::ERROR); - - return $event->getExitCode(); - } - - return 1; - } - - $command = $this->find($alternative); - } - - $this->runningCommand = $command; - $exitCode = $this->doRunCommand($command, $input, $output); - $this->runningCommand = null; - - return $exitCode; - } - - /** - * {@inheritdoc} - */ - public function reset() - { - } - - public function setHelperSet(HelperSet $helperSet) - { - $this->helperSet = $helperSet; - } - - /** - * Get the helper set associated with the command. - * - * @return HelperSet The HelperSet instance associated with this command - */ - public function getHelperSet() - { - if (!$this->helperSet) { - $this->helperSet = $this->getDefaultHelperSet(); - } - - return $this->helperSet; - } - - public function setDefinition(InputDefinition $definition) - { - $this->definition = $definition; - } - - /** - * Gets the InputDefinition related to this Application. - * - * @return InputDefinition The InputDefinition instance - */ - public function getDefinition() - { - if (!$this->definition) { - $this->definition = $this->getDefaultInputDefinition(); - } - - if ($this->singleCommand) { - $inputDefinition = $this->definition; - $inputDefinition->setArguments(); - - return $inputDefinition; - } - - return $this->definition; - } - - /** - * Gets the help message. - * - * @return string A help message - */ - public function getHelp() - { - return $this->getLongVersion(); - } - - /** - * Gets whether to catch exceptions or not during commands execution. - * - * @return bool Whether to catch exceptions or not during commands execution - */ - public function areExceptionsCaught() - { - return $this->catchExceptions; - } - - /** - * Sets whether to catch exceptions or not during commands execution. - * - * @param bool $boolean Whether to catch exceptions or not during commands execution - */ - public function setCatchExceptions($boolean) - { - $this->catchExceptions = (bool) $boolean; - } - - /** - * Gets whether to automatically exit after a command execution or not. - * - * @return bool Whether to automatically exit after a command execution or not - */ - public function isAutoExitEnabled() - { - return $this->autoExit; - } - - /** - * Sets whether to automatically exit after a command execution or not. - * - * @param bool $boolean Whether to automatically exit after a command execution or not - */ - public function setAutoExit($boolean) - { - $this->autoExit = (bool) $boolean; - } - - /** - * Gets the name of the application. - * - * @return string The application name - */ - public function getName() - { - return $this->name; - } - - /** - * Sets the application name. - * - * @param string $name The application name - */ - public function setName($name) - { - $this->name = $name; - } - - /** - * Gets the application version. - * - * @return string The application version - */ - public function getVersion() - { - return $this->version; - } - - /** - * Sets the application version. - * - * @param string $version The application version - */ - public function setVersion($version) - { - $this->version = $version; - } - - /** - * Returns the long version of the application. - * - * @return string The long application version - */ - public function getLongVersion() - { - if ('UNKNOWN' !== $this->getName()) { - if ('UNKNOWN' !== $this->getVersion()) { - return sprintf('%s %s', $this->getName(), $this->getVersion()); - } - - return $this->getName(); - } - - return 'Console Tool'; - } - - /** - * Registers a new command. - * - * @param string $name The command name - * - * @return Command The newly created command - */ - public function register($name) - { - return $this->add(new Command($name)); - } - - /** - * Adds an array of command objects. - * - * If a Command is not enabled it will not be added. - * - * @param Command[] $commands An array of commands - */ - public function addCommands(array $commands) - { - foreach ($commands as $command) { - $this->add($command); - } - } - - /** - * Adds a command object. - * - * If a command with the same name already exists, it will be overridden. - * If the command is not enabled it will not be added. - * - * @return Command|null The registered command if enabled or null - */ - public function add(Command $command) - { - $this->init(); - - $command->setApplication($this); - - if (!$command->isEnabled()) { - $command->setApplication(null); - - return null; - } - - // Will throw if the command is not correctly initialized. - $command->getDefinition(); - - if (!$command->getName()) { - throw new LogicException(sprintf('The command defined in "%s" cannot have an empty name.', \get_class($command))); - } - - $this->commands[$command->getName()] = $command; - - foreach ($command->getAliases() as $alias) { - $this->commands[$alias] = $command; - } - - return $command; - } - - /** - * Returns a registered command by name or alias. - * - * @param string $name The command name or alias - * - * @return Command A Command object - * - * @throws CommandNotFoundException When given command name does not exist - */ - public function get($name) - { - $this->init(); - - if (!$this->has($name)) { - throw new CommandNotFoundException(sprintf('The command "%s" does not exist.', $name)); - } - - $command = $this->commands[$name]; - - if ($this->wantHelps) { - $this->wantHelps = false; - - $helpCommand = $this->get('help'); - $helpCommand->setCommand($command); - - return $helpCommand; - } - - return $command; - } - - /** - * Returns true if the command exists, false otherwise. - * - * @param string $name The command name or alias - * - * @return bool true if the command exists, false otherwise - */ - public function has($name) - { - $this->init(); - - return isset($this->commands[$name]) || ($this->commandLoader && $this->commandLoader->has($name) && $this->add($this->commandLoader->get($name))); - } - - /** - * Returns an array of all unique namespaces used by currently registered commands. - * - * It does not return the global namespace which always exists. - * - * @return string[] An array of namespaces - */ - public function getNamespaces() - { - $namespaces = []; - foreach ($this->all() as $command) { - if ($command->isHidden()) { - continue; - } - - $namespaces = array_merge($namespaces, $this->extractAllNamespaces($command->getName())); - - foreach ($command->getAliases() as $alias) { - $namespaces = array_merge($namespaces, $this->extractAllNamespaces($alias)); - } - } - - return array_values(array_unique(array_filter($namespaces))); - } - - /** - * Finds a registered namespace by a name or an abbreviation. - * - * @param string $namespace A namespace or abbreviation to search for - * - * @return string A registered namespace - * - * @throws NamespaceNotFoundException When namespace is incorrect or ambiguous - */ - public function findNamespace($namespace) - { - $allNamespaces = $this->getNamespaces(); - $expr = preg_replace_callback('{([^:]+|)}', function ($matches) { return preg_quote($matches[1]).'[^:]*'; }, $namespace); - $namespaces = preg_grep('{^'.$expr.'}', $allNamespaces); - - if (empty($namespaces)) { - $message = sprintf('There are no commands defined in the "%s" namespace.', $namespace); - - if ($alternatives = $this->findAlternatives($namespace, $allNamespaces)) { - if (1 == \count($alternatives)) { - $message .= "\n\nDid you mean this?\n "; - } else { - $message .= "\n\nDid you mean one of these?\n "; - } - - $message .= implode("\n ", $alternatives); - } - - throw new NamespaceNotFoundException($message, $alternatives); - } - - $exact = \in_array($namespace, $namespaces, true); - if (\count($namespaces) > 1 && !$exact) { - throw new NamespaceNotFoundException(sprintf("The namespace \"%s\" is ambiguous.\nDid you mean one of these?\n%s", $namespace, $this->getAbbreviationSuggestions(array_values($namespaces))), array_values($namespaces)); - } - - return $exact ? $namespace : reset($namespaces); - } - - /** - * Finds a command by name or alias. - * - * Contrary to get, this command tries to find the best - * match if you give it an abbreviation of a name or alias. - * - * @param string $name A command name or a command alias - * - * @return Command A Command instance - * - * @throws CommandNotFoundException When command name is incorrect or ambiguous - */ - public function find($name) - { - $this->init(); - - $aliases = []; - - foreach ($this->commands as $command) { - foreach ($command->getAliases() as $alias) { - if (!$this->has($alias)) { - $this->commands[$alias] = $command; - } - } - } - - if ($this->has($name)) { - return $this->get($name); - } - - $allCommands = $this->commandLoader ? array_merge($this->commandLoader->getNames(), array_keys($this->commands)) : array_keys($this->commands); - $expr = preg_replace_callback('{([^:]+|)}', function ($matches) { return preg_quote($matches[1]).'[^:]*'; }, $name); - $commands = preg_grep('{^'.$expr.'}', $allCommands); - - if (empty($commands)) { - $commands = preg_grep('{^'.$expr.'}i', $allCommands); - } - - // if no commands matched or we just matched namespaces - if (empty($commands) || \count(preg_grep('{^'.$expr.'$}i', $commands)) < 1) { - if (false !== $pos = strrpos($name, ':')) { - // check if a namespace exists and contains commands - $this->findNamespace(substr($name, 0, $pos)); - } - - $message = sprintf('Command "%s" is not defined.', $name); - - if ($alternatives = $this->findAlternatives($name, $allCommands)) { - // remove hidden commands - $alternatives = array_filter($alternatives, function ($name) { - return !$this->get($name)->isHidden(); - }); - - if (1 == \count($alternatives)) { - $message .= "\n\nDid you mean this?\n "; - } else { - $message .= "\n\nDid you mean one of these?\n "; - } - $message .= implode("\n ", $alternatives); - } - - throw new CommandNotFoundException($message, array_values($alternatives)); - } - - // filter out aliases for commands which are already on the list - if (\count($commands) > 1) { - $commandList = $this->commandLoader ? array_merge(array_flip($this->commandLoader->getNames()), $this->commands) : $this->commands; - $commands = array_unique(array_filter($commands, function ($nameOrAlias) use ($commandList, $commands, &$aliases) { - $commandName = $commandList[$nameOrAlias] instanceof Command ? $commandList[$nameOrAlias]->getName() : $nameOrAlias; - $aliases[$nameOrAlias] = $commandName; - - return $commandName === $nameOrAlias || !\in_array($commandName, $commands); - })); - } - - if (\count($commands) > 1) { - $usableWidth = $this->terminal->getWidth() - 10; - $abbrevs = array_values($commands); - $maxLen = 0; - foreach ($abbrevs as $abbrev) { - $maxLen = max(Helper::strlen($abbrev), $maxLen); - } - $abbrevs = array_map(function ($cmd) use ($commandList, $usableWidth, $maxLen, &$commands) { - if (!$commandList[$cmd] instanceof Command) { - $commandList[$cmd] = $this->commandLoader->get($cmd); - } - - if ($commandList[$cmd]->isHidden()) { - unset($commands[array_search($cmd, $commands)]); - - return false; - } - - $abbrev = str_pad($cmd, $maxLen, ' ').' '.$commandList[$cmd]->getDescription(); - - return Helper::strlen($abbrev) > $usableWidth ? Helper::substr($abbrev, 0, $usableWidth - 3).'...' : $abbrev; - }, array_values($commands)); - - if (\count($commands) > 1) { - $suggestions = $this->getAbbreviationSuggestions(array_filter($abbrevs)); - - throw new CommandNotFoundException(sprintf("Command \"%s\" is ambiguous.\nDid you mean one of these?\n%s", $name, $suggestions), array_values($commands)); - } - } - - $command = $this->get(reset($commands)); - - if ($command->isHidden()) { - @trigger_error(sprintf('Command "%s" is hidden, finding it using an abbreviation is deprecated since Symfony 4.4, use its full name instead.', $command->getName()), E_USER_DEPRECATED); - } - - return $command; - } - - /** - * Gets the commands (registered in the given namespace if provided). - * - * The array keys are the full names and the values the command instances. - * - * @param string $namespace A namespace name - * - * @return Command[] An array of Command instances - */ - public function all($namespace = null) - { - $this->init(); - - if (null === $namespace) { - if (!$this->commandLoader) { - return $this->commands; - } - - $commands = $this->commands; - foreach ($this->commandLoader->getNames() as $name) { - if (!isset($commands[$name]) && $this->has($name)) { - $commands[$name] = $this->get($name); - } - } - - return $commands; - } - - $commands = []; - foreach ($this->commands as $name => $command) { - if ($namespace === $this->extractNamespace($name, substr_count($namespace, ':') + 1)) { - $commands[$name] = $command; - } - } - - if ($this->commandLoader) { - foreach ($this->commandLoader->getNames() as $name) { - if (!isset($commands[$name]) && $namespace === $this->extractNamespace($name, substr_count($namespace, ':') + 1) && $this->has($name)) { - $commands[$name] = $this->get($name); - } - } - } - - return $commands; - } - - /** - * Returns an array of possible abbreviations given a set of names. - * - * @param array $names An array of names - * - * @return array An array of abbreviations - */ - public static function getAbbreviations($names) - { - $abbrevs = []; - foreach ($names as $name) { - for ($len = \strlen($name); $len > 0; --$len) { - $abbrev = substr($name, 0, $len); - $abbrevs[$abbrev][] = $name; - } - } - - return $abbrevs; - } - - /** - * Renders a caught exception. - * - * @deprecated since Symfony 4.4, use "renderThrowable()" instead - */ - public function renderException(\Exception $e, OutputInterface $output) - { - @trigger_error(sprintf('The "%s::renderException()" method is deprecated since Symfony 4.4, use "renderThrowable()" instead.', __CLASS__), E_USER_DEPRECATED); - - $output->writeln('', OutputInterface::VERBOSITY_QUIET); - - $this->doRenderException($e, $output); - - $this->finishRenderThrowableOrException($output); - } - - public function renderThrowable(\Throwable $e, OutputInterface $output): void - { - if (__CLASS__ !== \get_class($this) && __CLASS__ === (new \ReflectionMethod($this, 'renderThrowable'))->getDeclaringClass()->getName() && __CLASS__ !== (new \ReflectionMethod($this, 'renderException'))->getDeclaringClass()->getName()) { - @trigger_error(sprintf('The "%s::renderException()" method is deprecated since Symfony 4.4, use "renderThrowable()" instead.', __CLASS__), E_USER_DEPRECATED); - - if (!$e instanceof \Exception) { - $e = class_exists(FatalThrowableError::class) ? new FatalThrowableError($e) : new \ErrorException($e->getMessage(), $e->getCode(), E_ERROR, $e->getFile(), $e->getLine()); - } - - $this->renderException($e, $output); - - return; - } - - $output->writeln('', OutputInterface::VERBOSITY_QUIET); - - $this->doRenderThrowable($e, $output); - - $this->finishRenderThrowableOrException($output); - } - - private function finishRenderThrowableOrException(OutputInterface $output): void - { - if (null !== $this->runningCommand) { - $output->writeln(sprintf('%s', sprintf($this->runningCommand->getSynopsis(), $this->getName())), OutputInterface::VERBOSITY_QUIET); - $output->writeln('', OutputInterface::VERBOSITY_QUIET); - } - } - - /** - * @deprecated since Symfony 4.4, use "doRenderThrowable()" instead - */ - protected function doRenderException(\Exception $e, OutputInterface $output) - { - @trigger_error(sprintf('The "%s::doRenderException()" method is deprecated since Symfony 4.4, use "doRenderThrowable()" instead.', __CLASS__), E_USER_DEPRECATED); - - $this->doActuallyRenderThrowable($e, $output); - } - - protected function doRenderThrowable(\Throwable $e, OutputInterface $output): void - { - if (__CLASS__ !== \get_class($this) && __CLASS__ === (new \ReflectionMethod($this, 'doRenderThrowable'))->getDeclaringClass()->getName() && __CLASS__ !== (new \ReflectionMethod($this, 'doRenderException'))->getDeclaringClass()->getName()) { - @trigger_error(sprintf('The "%s::doRenderException()" method is deprecated since Symfony 4.4, use "doRenderThrowable()" instead.', __CLASS__), E_USER_DEPRECATED); - - if (!$e instanceof \Exception) { - $e = class_exists(FatalThrowableError::class) ? new FatalThrowableError($e) : new \ErrorException($e->getMessage(), $e->getCode(), E_ERROR, $e->getFile(), $e->getLine()); - } - - $this->doRenderException($e, $output); - - return; - } - - $this->doActuallyRenderThrowable($e, $output); - } - - private function doActuallyRenderThrowable(\Throwable $e, OutputInterface $output): void - { - do { - $message = trim($e->getMessage()); - if ('' === $message || OutputInterface::VERBOSITY_VERBOSE <= $output->getVerbosity()) { - $class = \get_class($e); - $class = 'c' === $class[0] && 0 === strpos($class, "class@anonymous\0") ? get_parent_class($class).'@anonymous' : $class; - $title = sprintf(' [%s%s] ', $class, 0 !== ($code = $e->getCode()) ? ' ('.$code.')' : ''); - $len = Helper::strlen($title); - } else { - $len = 0; - } - - if (false !== strpos($message, "class@anonymous\0")) { - $message = preg_replace_callback('/class@anonymous\x00.*?\.php0x?[0-9a-fA-F]++/', function ($m) { - return class_exists($m[0], false) ? get_parent_class($m[0]).'@anonymous' : $m[0]; - }, $message); - } - - $width = $this->terminal->getWidth() ? $this->terminal->getWidth() - 1 : PHP_INT_MAX; - $lines = []; - foreach ('' !== $message ? preg_split('/\r?\n/', $message) : [] as $line) { - foreach ($this->splitStringByWidth($line, $width - 4) as $line) { - // pre-format lines to get the right string length - $lineLength = Helper::strlen($line) + 4; - $lines[] = [$line, $lineLength]; - - $len = max($lineLength, $len); - } - } - - $messages = []; - if (!$e instanceof ExceptionInterface || OutputInterface::VERBOSITY_VERBOSE <= $output->getVerbosity()) { - $messages[] = sprintf('%s', OutputFormatter::escape(sprintf('In %s line %s:', basename($e->getFile()) ?: 'n/a', $e->getLine() ?: 'n/a'))); - } - $messages[] = $emptyLine = sprintf('%s', str_repeat(' ', $len)); - if ('' === $message || OutputInterface::VERBOSITY_VERBOSE <= $output->getVerbosity()) { - $messages[] = sprintf('%s%s', $title, str_repeat(' ', max(0, $len - Helper::strlen($title)))); - } - foreach ($lines as $line) { - $messages[] = sprintf(' %s %s', OutputFormatter::escape($line[0]), str_repeat(' ', $len - $line[1])); - } - $messages[] = $emptyLine; - $messages[] = ''; - - $output->writeln($messages, OutputInterface::VERBOSITY_QUIET); - - if (OutputInterface::VERBOSITY_VERBOSE <= $output->getVerbosity()) { - $output->writeln('Exception trace:', OutputInterface::VERBOSITY_QUIET); - - // exception related properties - $trace = $e->getTrace(); - - array_unshift($trace, [ - 'function' => '', - 'file' => $e->getFile() ?: 'n/a', - 'line' => $e->getLine() ?: 'n/a', - 'args' => [], - ]); - - for ($i = 0, $count = \count($trace); $i < $count; ++$i) { - $class = isset($trace[$i]['class']) ? $trace[$i]['class'] : ''; - $type = isset($trace[$i]['type']) ? $trace[$i]['type'] : ''; - $function = isset($trace[$i]['function']) ? $trace[$i]['function'] : ''; - $file = isset($trace[$i]['file']) ? $trace[$i]['file'] : 'n/a'; - $line = isset($trace[$i]['line']) ? $trace[$i]['line'] : 'n/a'; - - $output->writeln(sprintf(' %s%s at %s:%s', $class, $function ? $type.$function.'()' : '', $file, $line), OutputInterface::VERBOSITY_QUIET); - } - - $output->writeln('', OutputInterface::VERBOSITY_QUIET); - } - } while ($e = $e->getPrevious()); - } - - /** - * Configures the input and output instances based on the user arguments and options. - */ - protected function configureIO(InputInterface $input, OutputInterface $output) - { - if (true === $input->hasParameterOption(['--ansi'], true)) { - $output->setDecorated(true); - } elseif (true === $input->hasParameterOption(['--no-ansi'], true)) { - $output->setDecorated(false); - } - - if (true === $input->hasParameterOption(['--no-interaction', '-n'], true)) { - $input->setInteractive(false); - } elseif (\function_exists('posix_isatty')) { - $inputStream = null; - - if ($input instanceof StreamableInputInterface) { - $inputStream = $input->getStream(); - } - - if (!@posix_isatty($inputStream) && false === getenv('SHELL_INTERACTIVE')) { - $input->setInteractive(false); - } - } - - switch ($shellVerbosity = (int) getenv('SHELL_VERBOSITY')) { - case -1: $output->setVerbosity(OutputInterface::VERBOSITY_QUIET); break; - case 1: $output->setVerbosity(OutputInterface::VERBOSITY_VERBOSE); break; - case 2: $output->setVerbosity(OutputInterface::VERBOSITY_VERY_VERBOSE); break; - case 3: $output->setVerbosity(OutputInterface::VERBOSITY_DEBUG); break; - default: $shellVerbosity = 0; break; - } - - if (true === $input->hasParameterOption(['--quiet', '-q'], true)) { - $output->setVerbosity(OutputInterface::VERBOSITY_QUIET); - $shellVerbosity = -1; - } else { - if ($input->hasParameterOption('-vvv', true) || $input->hasParameterOption('--verbose=3', true) || 3 === $input->getParameterOption('--verbose', false, true)) { - $output->setVerbosity(OutputInterface::VERBOSITY_DEBUG); - $shellVerbosity = 3; - } elseif ($input->hasParameterOption('-vv', true) || $input->hasParameterOption('--verbose=2', true) || 2 === $input->getParameterOption('--verbose', false, true)) { - $output->setVerbosity(OutputInterface::VERBOSITY_VERY_VERBOSE); - $shellVerbosity = 2; - } elseif ($input->hasParameterOption('-v', true) || $input->hasParameterOption('--verbose=1', true) || $input->hasParameterOption('--verbose', true) || $input->getParameterOption('--verbose', false, true)) { - $output->setVerbosity(OutputInterface::VERBOSITY_VERBOSE); - $shellVerbosity = 1; - } - } - - if (-1 === $shellVerbosity) { - $input->setInteractive(false); - } - - putenv('SHELL_VERBOSITY='.$shellVerbosity); - $_ENV['SHELL_VERBOSITY'] = $shellVerbosity; - $_SERVER['SHELL_VERBOSITY'] = $shellVerbosity; - } - - /** - * Runs the current command. - * - * If an event dispatcher has been attached to the application, - * events are also dispatched during the life-cycle of the command. - * - * @return int 0 if everything went fine, or an error code - */ - protected function doRunCommand(Command $command, InputInterface $input, OutputInterface $output) - { - foreach ($command->getHelperSet() as $helper) { - if ($helper instanceof InputAwareInterface) { - $helper->setInput($input); - } - } - - if (null === $this->dispatcher) { - return $command->run($input, $output); - } - - // bind before the console.command event, so the listeners have access to input options/arguments - try { - $command->mergeApplicationDefinition(); - $input->bind($command->getDefinition()); - } catch (ExceptionInterface $e) { - // ignore invalid options/arguments for now, to allow the event listeners to customize the InputDefinition - } - - $event = new ConsoleCommandEvent($command, $input, $output); - $e = null; - - try { - $this->dispatcher->dispatch($event, ConsoleEvents::COMMAND); - - if ($event->commandShouldRun()) { - $exitCode = $command->run($input, $output); - } else { - $exitCode = ConsoleCommandEvent::RETURN_CODE_DISABLED; - } - } catch (\Throwable $e) { - $event = new ConsoleErrorEvent($input, $output, $e, $command); - $this->dispatcher->dispatch($event, ConsoleEvents::ERROR); - $e = $event->getError(); - - if (0 === $exitCode = $event->getExitCode()) { - $e = null; - } - } - - $event = new ConsoleTerminateEvent($command, $input, $output, $exitCode); - $this->dispatcher->dispatch($event, ConsoleEvents::TERMINATE); - - if (null !== $e) { - throw $e; - } - - return $event->getExitCode(); - } - - /** - * Gets the name of the command based on input. - * - * @return string|null - */ - protected function getCommandName(InputInterface $input) - { - return $this->singleCommand ? $this->defaultCommand : $input->getFirstArgument(); - } - - /** - * Gets the default input definition. - * - * @return InputDefinition An InputDefinition instance - */ - protected function getDefaultInputDefinition() - { - return new InputDefinition([ - new InputArgument('command', InputArgument::REQUIRED, 'The command to execute'), - - new InputOption('--help', '-h', InputOption::VALUE_NONE, 'Display this help message'), - new InputOption('--quiet', '-q', InputOption::VALUE_NONE, 'Do not output any message'), - new InputOption('--verbose', '-v|vv|vvv', InputOption::VALUE_NONE, 'Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug'), - new InputOption('--version', '-V', InputOption::VALUE_NONE, 'Display this application version'), - new InputOption('--ansi', '', InputOption::VALUE_NONE, 'Force ANSI output'), - new InputOption('--no-ansi', '', InputOption::VALUE_NONE, 'Disable ANSI output'), - new InputOption('--no-interaction', '-n', InputOption::VALUE_NONE, 'Do not ask any interactive question'), - ]); - } - - /** - * Gets the default commands that should always be available. - * - * @return Command[] An array of default Command instances - */ - protected function getDefaultCommands() - { - return [new HelpCommand(), new ListCommand()]; - } - - /** - * Gets the default helper set with the helpers that should always be available. - * - * @return HelperSet A HelperSet instance - */ - protected function getDefaultHelperSet() - { - return new HelperSet([ - new FormatterHelper(), - new DebugFormatterHelper(), - new ProcessHelper(), - new QuestionHelper(), - ]); - } - - /** - * Returns abbreviated suggestions in string format. - */ - private function getAbbreviationSuggestions(array $abbrevs): string - { - return ' '.implode("\n ", $abbrevs); - } - - /** - * Returns the namespace part of the command name. - * - * This method is not part of public API and should not be used directly. - * - * @param string $name The full name of the command - * @param string $limit The maximum number of parts of the namespace - * - * @return string The namespace of the command - */ - public function extractNamespace($name, $limit = null) - { - $parts = explode(':', $name, -1); - - return implode(':', null === $limit ? $parts : \array_slice($parts, 0, $limit)); - } - - /** - * Finds alternative of $name among $collection, - * if nothing is found in $collection, try in $abbrevs. - * - * @return string[] A sorted array of similar string - */ - private function findAlternatives(string $name, iterable $collection): array - { - $threshold = 1e3; - $alternatives = []; - - $collectionParts = []; - foreach ($collection as $item) { - $collectionParts[$item] = explode(':', $item); - } - - foreach (explode(':', $name) as $i => $subname) { - foreach ($collectionParts as $collectionName => $parts) { - $exists = isset($alternatives[$collectionName]); - if (!isset($parts[$i]) && $exists) { - $alternatives[$collectionName] += $threshold; - continue; - } elseif (!isset($parts[$i])) { - continue; - } - - $lev = levenshtein($subname, $parts[$i]); - if ($lev <= \strlen($subname) / 3 || '' !== $subname && false !== strpos($parts[$i], $subname)) { - $alternatives[$collectionName] = $exists ? $alternatives[$collectionName] + $lev : $lev; - } elseif ($exists) { - $alternatives[$collectionName] += $threshold; - } - } - } - - foreach ($collection as $item) { - $lev = levenshtein($name, $item); - if ($lev <= \strlen($name) / 3 || false !== strpos($item, $name)) { - $alternatives[$item] = isset($alternatives[$item]) ? $alternatives[$item] - $lev : $lev; - } - } - - $alternatives = array_filter($alternatives, function ($lev) use ($threshold) { return $lev < 2 * $threshold; }); - ksort($alternatives, SORT_NATURAL | SORT_FLAG_CASE); - - return array_keys($alternatives); - } - - /** - * Sets the default Command name. - * - * @param string $commandName The Command name - * @param bool $isSingleCommand Set to true if there is only one command in this application - * - * @return self - */ - public function setDefaultCommand($commandName, $isSingleCommand = false) - { - $this->defaultCommand = $commandName; - - if ($isSingleCommand) { - // Ensure the command exist - $this->find($commandName); - - $this->singleCommand = true; - } - - return $this; - } - - /** - * @internal - */ - public function isSingleCommand(): bool - { - return $this->singleCommand; - } - - private function splitStringByWidth(string $string, int $width): array - { - // str_split is not suitable for multi-byte characters, we should use preg_split to get char array properly. - // additionally, array_slice() is not enough as some character has doubled width. - // we need a function to split string not by character count but by string width - if (false === $encoding = mb_detect_encoding($string, null, true)) { - return str_split($string, $width); - } - - $utf8String = mb_convert_encoding($string, 'utf8', $encoding); - $lines = []; - $line = ''; - - $offset = 0; - while (preg_match('/.{1,10000}/u', $utf8String, $m, 0, $offset)) { - $offset += \strlen($m[0]); - - foreach (preg_split('//u', $m[0]) as $char) { - // test if $char could be appended to current line - if (mb_strwidth($line.$char, 'utf8') <= $width) { - $line .= $char; - continue; - } - // if not, push current line to array and make new line - $lines[] = str_pad($line, $width); - $line = $char; - } - } - - $lines[] = \count($lines) ? str_pad($line, $width) : $line; - - mb_convert_variables($encoding, 'utf8', $lines); - - return $lines; - } - - /** - * Returns all namespaces of the command name. - * - * @return string[] The namespaces of the command - */ - private function extractAllNamespaces(string $name): array - { - // -1 as third argument is needed to skip the command short name when exploding - $parts = explode(':', $name, -1); - $namespaces = []; - - foreach ($parts as $part) { - if (\count($namespaces)) { - $namespaces[] = end($namespaces).':'.$part; - } else { - $namespaces[] = $part; - } - } - - return $namespaces; - } - - private function init() - { - if ($this->initialized) { - return; - } - $this->initialized = true; - - foreach ($this->getDefaultCommands() as $command) { - $this->add($command); - } - } -} diff --git a/paragonik-backend/vendor/symfony/console/CHANGELOG.md b/paragonik-backend/vendor/symfony/console/CHANGELOG.md deleted file mode 100644 index 482c8cd..0000000 --- a/paragonik-backend/vendor/symfony/console/CHANGELOG.md +++ /dev/null @@ -1,162 +0,0 @@ -CHANGELOG -========= - -4.4.0 ------ - - * deprecated finding hidden commands using an abbreviation, use the full name instead - * added `Question::setTrimmable` default to true to allow the answer to be trimmed - * added method `minSecondsBetweenRedraws()` and `maxSecondsBetweenRedraws()` on `ProgressBar` - * `Application` implements `ResetInterface` - * marked all dispatched event classes as `@final` - * added support for displaying table horizontally - * deprecated returning `null` from `Command::execute()`, return `0` instead - * Deprecated the `Application::renderException()` and `Application::doRenderException()` methods, - use `renderThrowable()` and `doRenderThrowable()` instead. - * added support for the `NO_COLOR` env var (https://no-color.org/) - -4.3.0 ------ - - * added support for hyperlinks - * added `ProgressBar::iterate()` method that simplify updating the progress bar when iterating - * added `Question::setAutocompleterCallback()` to provide a callback function - that dynamically generates suggestions as the user types - -4.2.0 ------ - - * allowed passing commands as `[$process, 'ENV_VAR' => 'value']` to - `ProcessHelper::run()` to pass environment variables - * deprecated passing a command as a string to `ProcessHelper::run()`, - pass it the command as an array of its arguments instead - * made the `ProcessHelper` class final - * added `WrappableOutputFormatterInterface::formatAndWrap()` (implemented in `OutputFormatter`) - * added `capture_stderr_separately` option to `CommandTester::execute()` - -4.1.0 ------ - - * added option to run suggested command if command is not found and only 1 alternative is available - * added option to modify console output and print multiple modifiable sections - * added support for iterable messages in output `write` and `writeln` methods - -4.0.0 ------ - - * `OutputFormatter` throws an exception when unknown options are used - * removed `QuestionHelper::setInputStream()/getInputStream()` - * removed `Application::getTerminalWidth()/getTerminalHeight()` and - `Application::setTerminalDimensions()/getTerminalDimensions()` -* removed `ConsoleExceptionEvent` -* removed `ConsoleEvents::EXCEPTION` - -3.4.0 ------ - - * added `SHELL_VERBOSITY` env var to control verbosity - * added `CommandLoaderInterface`, `FactoryCommandLoader` and PSR-11 - `ContainerCommandLoader` for commands lazy-loading - * added a case-insensitive command name matching fallback - * added static `Command::$defaultName/getDefaultName()`, allowing for - commands to be registered at compile time in the application command loader. - Setting the `$defaultName` property avoids the need for filling the `command` - attribute on the `console.command` tag when using `AddConsoleCommandPass`. - -3.3.0 ------ - -* added `ExceptionListener` -* added `AddConsoleCommandPass` (originally in FrameworkBundle) -* [BC BREAK] `Input::getOption()` no longer returns the default value for options - with value optional explicitly passed empty -* added console.error event to catch exceptions thrown by other listeners -* deprecated console.exception event in favor of console.error -* added ability to handle `CommandNotFoundException` through the - `console.error` event -* deprecated default validation in `SymfonyQuestionHelper::ask` - -3.2.0 ------- - -* added `setInputs()` method to CommandTester for ease testing of commands expecting inputs -* added `setStream()` and `getStream()` methods to Input (implement StreamableInputInterface) -* added StreamableInputInterface -* added LockableTrait - -3.1.0 ------ - - * added truncate method to FormatterHelper - * added setColumnWidth(s) method to Table - -2.8.3 ------ - - * remove readline support from the question helper as it caused issues - -2.8.0 ------ - - * use readline for user input in the question helper when available to allow - the use of arrow keys - -2.6.0 ------ - - * added a Process helper - * added a DebugFormatter helper - -2.5.0 ------ - - * deprecated the dialog helper (use the question helper instead) - * deprecated TableHelper in favor of Table - * deprecated ProgressHelper in favor of ProgressBar - * added ConsoleLogger - * added a question helper - * added a way to set the process name of a command - * added a way to set a default command instead of `ListCommand` - -2.4.0 ------ - - * added a way to force terminal dimensions - * added a convenient method to detect verbosity level - * [BC BREAK] made descriptors use output instead of returning a string - -2.3.0 ------ - - * added multiselect support to the select dialog helper - * added Table Helper for tabular data rendering - * added support for events in `Application` - * added a way to normalize EOLs in `ApplicationTester::getDisplay()` and `CommandTester::getDisplay()` - * added a way to set the progress bar progress via the `setCurrent` method - * added support for multiple InputOption shortcuts, written as `'-a|-b|-c'` - * added two additional verbosity levels, VERBOSITY_VERY_VERBOSE and VERBOSITY_DEBUG - -2.2.0 ------ - - * added support for colorization on Windows via ConEmu - * add a method to Dialog Helper to ask for a question and hide the response - * added support for interactive selections in console (DialogHelper::select()) - * added support for autocompletion as you type in Dialog Helper - -2.1.0 ------ - - * added ConsoleOutputInterface - * added the possibility to disable a command (Command::isEnabled()) - * added suggestions when a command does not exist - * added a --raw option to the list command - * added support for STDERR in the console output class (errors are now sent - to STDERR) - * made the defaults (helper set, commands, input definition) in Application - more easily customizable - * added support for the shell even if readline is not available - * added support for process isolation in Symfony shell via - `--process-isolation` switch - * added support for `--`, which disables options parsing after that point - (tokens will be parsed as arguments) diff --git a/paragonik-backend/vendor/symfony/console/Command/Command.php b/paragonik-backend/vendor/symfony/console/Command/Command.php deleted file mode 100644 index 00010d6..0000000 --- a/paragonik-backend/vendor/symfony/console/Command/Command.php +++ /dev/null @@ -1,662 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Console\Command; - -use Symfony\Component\Console\Application; -use Symfony\Component\Console\Exception\ExceptionInterface; -use Symfony\Component\Console\Exception\InvalidArgumentException; -use Symfony\Component\Console\Exception\LogicException; -use Symfony\Component\Console\Helper\HelperSet; -use Symfony\Component\Console\Input\InputArgument; -use Symfony\Component\Console\Input\InputDefinition; -use Symfony\Component\Console\Input\InputInterface; -use Symfony\Component\Console\Input\InputOption; -use Symfony\Component\Console\Output\OutputInterface; - -/** - * Base class for all commands. - * - * @author Fabien Potencier - */ -class Command -{ - /** - * @var string|null The default command name - */ - protected static $defaultName; - - private $application; - private $name; - private $processTitle; - private $aliases = []; - private $definition; - private $hidden = false; - private $help = ''; - private $description = ''; - private $ignoreValidationErrors = false; - private $applicationDefinitionMerged = false; - private $applicationDefinitionMergedWithArgs = false; - private $code; - private $synopsis = []; - private $usages = []; - private $helperSet; - - /** - * @return string|null The default command name or null when no default name is set - */ - public static function getDefaultName() - { - $class = \get_called_class(); - $r = new \ReflectionProperty($class, 'defaultName'); - - return $class === $r->class ? static::$defaultName : null; - } - - /** - * @param string|null $name The name of the command; passing null means it must be set in configure() - * - * @throws LogicException When the command name is empty - */ - public function __construct(string $name = null) - { - $this->definition = new InputDefinition(); - - if (null !== $name || null !== $name = static::getDefaultName()) { - $this->setName($name); - } - - $this->configure(); - } - - /** - * Ignores validation errors. - * - * This is mainly useful for the help command. - */ - public function ignoreValidationErrors() - { - $this->ignoreValidationErrors = true; - } - - public function setApplication(Application $application = null) - { - $this->application = $application; - if ($application) { - $this->setHelperSet($application->getHelperSet()); - } else { - $this->helperSet = null; - } - } - - public function setHelperSet(HelperSet $helperSet) - { - $this->helperSet = $helperSet; - } - - /** - * Gets the helper set. - * - * @return HelperSet|null A HelperSet instance - */ - public function getHelperSet() - { - return $this->helperSet; - } - - /** - * Gets the application instance for this command. - * - * @return Application|null An Application instance - */ - public function getApplication() - { - return $this->application; - } - - /** - * Checks whether the command is enabled or not in the current environment. - * - * Override this to check for x or y and return false if the command can not - * run properly under the current conditions. - * - * @return bool - */ - public function isEnabled() - { - return true; - } - - /** - * Configures the current command. - */ - protected function configure() - { - } - - /** - * Executes the current command. - * - * This method is not abstract because you can use this class - * as a concrete class. In this case, instead of defining the - * execute() method, you set the code to execute by passing - * a Closure to the setCode() method. - * - * @return int 0 if everything went fine, or an exit code - * - * @throws LogicException When this abstract method is not implemented - * - * @see setCode() - */ - protected function execute(InputInterface $input, OutputInterface $output) - { - throw new LogicException('You must override the execute() method in the concrete command class.'); - } - - /** - * Interacts with the user. - * - * This method is executed before the InputDefinition is validated. - * This means that this is the only place where the command can - * interactively ask for values of missing required arguments. - */ - protected function interact(InputInterface $input, OutputInterface $output) - { - } - - /** - * Initializes the command after the input has been bound and before the input - * is validated. - * - * This is mainly useful when a lot of commands extends one main command - * where some things need to be initialized based on the input arguments and options. - * - * @see InputInterface::bind() - * @see InputInterface::validate() - */ - protected function initialize(InputInterface $input, OutputInterface $output) - { - } - - /** - * Runs the command. - * - * The code to execute is either defined directly with the - * setCode() method or by overriding the execute() method - * in a sub-class. - * - * @return int The command exit code - * - * @throws \Exception When binding input fails. Bypass this by calling {@link ignoreValidationErrors()}. - * - * @see setCode() - * @see execute() - */ - public function run(InputInterface $input, OutputInterface $output) - { - // force the creation of the synopsis before the merge with the app definition - $this->getSynopsis(true); - $this->getSynopsis(false); - - // add the application arguments and options - $this->mergeApplicationDefinition(); - - // bind the input against the command specific arguments/options - try { - $input->bind($this->definition); - } catch (ExceptionInterface $e) { - if (!$this->ignoreValidationErrors) { - throw $e; - } - } - - $this->initialize($input, $output); - - if (null !== $this->processTitle) { - if (\function_exists('cli_set_process_title')) { - if (!@cli_set_process_title($this->processTitle)) { - if ('Darwin' === PHP_OS) { - $output->writeln('Running "cli_set_process_title" as an unprivileged user is not supported on MacOS.', OutputInterface::VERBOSITY_VERY_VERBOSE); - } else { - cli_set_process_title($this->processTitle); - } - } - } elseif (\function_exists('setproctitle')) { - setproctitle($this->processTitle); - } elseif (OutputInterface::VERBOSITY_VERY_VERBOSE === $output->getVerbosity()) { - $output->writeln('Install the proctitle PECL to be able to change the process title.'); - } - } - - if ($input->isInteractive()) { - $this->interact($input, $output); - } - - // The command name argument is often omitted when a command is executed directly with its run() method. - // It would fail the validation if we didn't make sure the command argument is present, - // since it's required by the application. - if ($input->hasArgument('command') && null === $input->getArgument('command')) { - $input->setArgument('command', $this->getName()); - } - - $input->validate(); - - if ($this->code) { - $statusCode = ($this->code)($input, $output); - } else { - $statusCode = $this->execute($input, $output); - - if (!\is_int($statusCode)) { - @trigger_error(sprintf('Return value of "%s::execute()" should always be of the type int since Symfony 4.4, %s returned.', \get_class($this), \gettype($statusCode)), E_USER_DEPRECATED); - } - } - - return is_numeric($statusCode) ? (int) $statusCode : 0; - } - - /** - * Sets the code to execute when running this command. - * - * If this method is used, it overrides the code defined - * in the execute() method. - * - * @param callable $code A callable(InputInterface $input, OutputInterface $output) - * - * @return $this - * - * @throws InvalidArgumentException - * - * @see execute() - */ - public function setCode(callable $code) - { - if ($code instanceof \Closure) { - $r = new \ReflectionFunction($code); - if (null === $r->getClosureThis()) { - $code = \Closure::bind($code, $this); - } - } - - $this->code = $code; - - return $this; - } - - /** - * Merges the application definition with the command definition. - * - * This method is not part of public API and should not be used directly. - * - * @param bool $mergeArgs Whether to merge or not the Application definition arguments to Command definition arguments - */ - public function mergeApplicationDefinition($mergeArgs = true) - { - if (null === $this->application || (true === $this->applicationDefinitionMerged && ($this->applicationDefinitionMergedWithArgs || !$mergeArgs))) { - return; - } - - $this->definition->addOptions($this->application->getDefinition()->getOptions()); - - $this->applicationDefinitionMerged = true; - - if ($mergeArgs) { - $currentArguments = $this->definition->getArguments(); - $this->definition->setArguments($this->application->getDefinition()->getArguments()); - $this->definition->addArguments($currentArguments); - - $this->applicationDefinitionMergedWithArgs = true; - } - } - - /** - * Sets an array of argument and option instances. - * - * @param array|InputDefinition $definition An array of argument and option instances or a definition instance - * - * @return $this - */ - public function setDefinition($definition) - { - if ($definition instanceof InputDefinition) { - $this->definition = $definition; - } else { - $this->definition->setDefinition($definition); - } - - $this->applicationDefinitionMerged = false; - - return $this; - } - - /** - * Gets the InputDefinition attached to this Command. - * - * @return InputDefinition An InputDefinition instance - */ - public function getDefinition() - { - if (null === $this->definition) { - throw new LogicException(sprintf('Command class "%s" is not correctly initialized. You probably forgot to call the parent constructor.', \get_class($this))); - } - - return $this->definition; - } - - /** - * Gets the InputDefinition to be used to create representations of this Command. - * - * Can be overridden to provide the original command representation when it would otherwise - * be changed by merging with the application InputDefinition. - * - * This method is not part of public API and should not be used directly. - * - * @return InputDefinition An InputDefinition instance - */ - public function getNativeDefinition() - { - return $this->getDefinition(); - } - - /** - * Adds an argument. - * - * @param string $name The argument name - * @param int|null $mode The argument mode: InputArgument::REQUIRED or InputArgument::OPTIONAL - * @param string $description A description text - * @param string|string[]|null $default The default value (for InputArgument::OPTIONAL mode only) - * - * @throws InvalidArgumentException When argument mode is not valid - * - * @return $this - */ - public function addArgument($name, $mode = null, $description = '', $default = null) - { - $this->definition->addArgument(new InputArgument($name, $mode, $description, $default)); - - return $this; - } - - /** - * Adds an option. - * - * @param string $name The option name - * @param string|array|null $shortcut The shortcuts, can be null, a string of shortcuts delimited by | or an array of shortcuts - * @param int|null $mode The option mode: One of the InputOption::VALUE_* constants - * @param string $description A description text - * @param string|string[]|int|bool|null $default The default value (must be null for InputOption::VALUE_NONE) - * - * @throws InvalidArgumentException If option mode is invalid or incompatible - * - * @return $this - */ - public function addOption($name, $shortcut = null, $mode = null, $description = '', $default = null) - { - $this->definition->addOption(new InputOption($name, $shortcut, $mode, $description, $default)); - - return $this; - } - - /** - * Sets the name of the command. - * - * This method can set both the namespace and the name if - * you separate them by a colon (:) - * - * $command->setName('foo:bar'); - * - * @param string $name The command name - * - * @return $this - * - * @throws InvalidArgumentException When the name is invalid - */ - public function setName($name) - { - $this->validateName($name); - - $this->name = $name; - - return $this; - } - - /** - * Sets the process title of the command. - * - * This feature should be used only when creating a long process command, - * like a daemon. - * - * PHP 5.5+ or the proctitle PECL library is required - * - * @param string $title The process title - * - * @return $this - */ - public function setProcessTitle($title) - { - $this->processTitle = $title; - - return $this; - } - - /** - * Returns the command name. - * - * @return string|null - */ - public function getName() - { - return $this->name; - } - - /** - * @param bool $hidden Whether or not the command should be hidden from the list of commands - * - * @return Command The current instance - */ - public function setHidden($hidden) - { - $this->hidden = (bool) $hidden; - - return $this; - } - - /** - * @return bool whether the command should be publicly shown or not - */ - public function isHidden() - { - return $this->hidden; - } - - /** - * Sets the description for the command. - * - * @param string $description The description for the command - * - * @return $this - */ - public function setDescription($description) - { - $this->description = $description; - - return $this; - } - - /** - * Returns the description for the command. - * - * @return string The description for the command - */ - public function getDescription() - { - return $this->description; - } - - /** - * Sets the help for the command. - * - * @param string $help The help for the command - * - * @return $this - */ - public function setHelp($help) - { - $this->help = $help; - - return $this; - } - - /** - * Returns the help for the command. - * - * @return string The help for the command - */ - public function getHelp() - { - return $this->help; - } - - /** - * Returns the processed help for the command replacing the %command.name% and - * %command.full_name% patterns with the real values dynamically. - * - * @return string The processed help for the command - */ - public function getProcessedHelp() - { - $name = $this->name; - $isSingleCommand = $this->application && $this->application->isSingleCommand(); - - $placeholders = [ - '%command.name%', - '%command.full_name%', - ]; - $replacements = [ - $name, - $isSingleCommand ? $_SERVER['PHP_SELF'] : $_SERVER['PHP_SELF'].' '.$name, - ]; - - return str_replace($placeholders, $replacements, $this->getHelp() ?: $this->getDescription()); - } - - /** - * Sets the aliases for the command. - * - * @param string[] $aliases An array of aliases for the command - * - * @return $this - * - * @throws InvalidArgumentException When an alias is invalid - */ - public function setAliases($aliases) - { - if (!\is_array($aliases) && !$aliases instanceof \Traversable) { - throw new InvalidArgumentException('$aliases must be an array or an instance of \Traversable'); - } - - foreach ($aliases as $alias) { - $this->validateName($alias); - } - - $this->aliases = $aliases; - - return $this; - } - - /** - * Returns the aliases for the command. - * - * @return array An array of aliases for the command - */ - public function getAliases() - { - return $this->aliases; - } - - /** - * Returns the synopsis for the command. - * - * @param bool $short Whether to show the short version of the synopsis (with options folded) or not - * - * @return string The synopsis - */ - public function getSynopsis($short = false) - { - $key = $short ? 'short' : 'long'; - - if (!isset($this->synopsis[$key])) { - $this->synopsis[$key] = trim(sprintf('%s %s', $this->name, $this->definition->getSynopsis($short))); - } - - return $this->synopsis[$key]; - } - - /** - * Add a command usage example. - * - * @param string $usage The usage, it'll be prefixed with the command name - * - * @return $this - */ - public function addUsage($usage) - { - if (0 !== strpos($usage, $this->name)) { - $usage = sprintf('%s %s', $this->name, $usage); - } - - $this->usages[] = $usage; - - return $this; - } - - /** - * Returns alternative usages of the command. - * - * @return array - */ - public function getUsages() - { - return $this->usages; - } - - /** - * Gets a helper instance by name. - * - * @param string $name The helper name - * - * @return mixed The helper value - * - * @throws LogicException if no HelperSet is defined - * @throws InvalidArgumentException if the helper is not defined - */ - public function getHelper($name) - { - if (null === $this->helperSet) { - throw new LogicException(sprintf('Cannot retrieve helper "%s" because there is no HelperSet defined. Did you forget to add your command to the application or to set the application on the command using the setApplication() method? You can also set the HelperSet directly using the setHelperSet() method.', $name)); - } - - return $this->helperSet->get($name); - } - - /** - * Validates a command name. - * - * It must be non-empty and parts can optionally be separated by ":". - * - * @throws InvalidArgumentException When the name is invalid - */ - private function validateName(string $name) - { - if (!preg_match('/^[^\:]++(\:[^\:]++)*$/', $name)) { - throw new InvalidArgumentException(sprintf('Command name "%s" is invalid.', $name)); - } - } -} diff --git a/paragonik-backend/vendor/symfony/console/Command/HelpCommand.php b/paragonik-backend/vendor/symfony/console/Command/HelpCommand.php deleted file mode 100644 index b32be4c..0000000 --- a/paragonik-backend/vendor/symfony/console/Command/HelpCommand.php +++ /dev/null @@ -1,83 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Console\Command; - -use Symfony\Component\Console\Helper\DescriptorHelper; -use Symfony\Component\Console\Input\InputArgument; -use Symfony\Component\Console\Input\InputInterface; -use Symfony\Component\Console\Input\InputOption; -use Symfony\Component\Console\Output\OutputInterface; - -/** - * HelpCommand displays the help for a given command. - * - * @author Fabien Potencier - */ -class HelpCommand extends Command -{ - private $command; - - /** - * {@inheritdoc} - */ - protected function configure() - { - $this->ignoreValidationErrors(); - - $this - ->setName('help') - ->setDefinition([ - new InputArgument('command_name', InputArgument::OPTIONAL, 'The command name', 'help'), - new InputOption('format', null, InputOption::VALUE_REQUIRED, 'The output format (txt, xml, json, or md)', 'txt'), - new InputOption('raw', null, InputOption::VALUE_NONE, 'To output raw command help'), - ]) - ->setDescription('Displays help for a command') - ->setHelp(<<<'EOF' -The %command.name% command displays help for a given command: - - php %command.full_name% list - -You can also output the help in other formats by using the --format option: - - php %command.full_name% --format=xml list - -To display the list of available commands, please use the list command. -EOF - ) - ; - } - - public function setCommand(Command $command) - { - $this->command = $command; - } - - /** - * {@inheritdoc} - */ - protected function execute(InputInterface $input, OutputInterface $output) - { - if (null === $this->command) { - $this->command = $this->getApplication()->find($input->getArgument('command_name')); - } - - $helper = new DescriptorHelper(); - $helper->describe($output, $this->command, [ - 'format' => $input->getOption('format'), - 'raw_text' => $input->getOption('raw'), - ]); - - $this->command = null; - - return 0; - } -} diff --git a/paragonik-backend/vendor/symfony/console/Command/ListCommand.php b/paragonik-backend/vendor/symfony/console/Command/ListCommand.php deleted file mode 100644 index 8af9526..0000000 --- a/paragonik-backend/vendor/symfony/console/Command/ListCommand.php +++ /dev/null @@ -1,89 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Console\Command; - -use Symfony\Component\Console\Helper\DescriptorHelper; -use Symfony\Component\Console\Input\InputArgument; -use Symfony\Component\Console\Input\InputDefinition; -use Symfony\Component\Console\Input\InputInterface; -use Symfony\Component\Console\Input\InputOption; -use Symfony\Component\Console\Output\OutputInterface; - -/** - * ListCommand displays the list of all available commands for the application. - * - * @author Fabien Potencier - */ -class ListCommand extends Command -{ - /** - * {@inheritdoc} - */ - protected function configure() - { - $this - ->setName('list') - ->setDefinition($this->createDefinition()) - ->setDescription('Lists commands') - ->setHelp(<<<'EOF' -The %command.name% command lists all commands: - - php %command.full_name% - -You can also display the commands for a specific namespace: - - php %command.full_name% test - -You can also output the information in other formats by using the --format option: - - php %command.full_name% --format=xml - -It's also possible to get raw list of commands (useful for embedding command runner): - - php %command.full_name% --raw -EOF - ) - ; - } - - /** - * {@inheritdoc} - */ - public function getNativeDefinition() - { - return $this->createDefinition(); - } - - /** - * {@inheritdoc} - */ - protected function execute(InputInterface $input, OutputInterface $output) - { - $helper = new DescriptorHelper(); - $helper->describe($output, $this->getApplication(), [ - 'format' => $input->getOption('format'), - 'raw_text' => $input->getOption('raw'), - 'namespace' => $input->getArgument('namespace'), - ]); - - return 0; - } - - private function createDefinition(): InputDefinition - { - return new InputDefinition([ - new InputArgument('namespace', InputArgument::OPTIONAL, 'The namespace name'), - new InputOption('raw', null, InputOption::VALUE_NONE, 'To output raw command list'), - new InputOption('format', null, InputOption::VALUE_REQUIRED, 'The output format (txt, xml, json, or md)', 'txt'), - ]); - } -} diff --git a/paragonik-backend/vendor/symfony/console/Command/LockableTrait.php b/paragonik-backend/vendor/symfony/console/Command/LockableTrait.php deleted file mode 100644 index 60cfe36..0000000 --- a/paragonik-backend/vendor/symfony/console/Command/LockableTrait.php +++ /dev/null @@ -1,69 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Console\Command; - -use Symfony\Component\Console\Exception\LogicException; -use Symfony\Component\Lock\Lock; -use Symfony\Component\Lock\LockFactory; -use Symfony\Component\Lock\Store\FlockStore; -use Symfony\Component\Lock\Store\SemaphoreStore; - -/** - * Basic lock feature for commands. - * - * @author Geoffrey Brier - */ -trait LockableTrait -{ - /** @var Lock */ - private $lock; - - /** - * Locks a command. - */ - private function lock(string $name = null, bool $blocking = false): bool - { - if (!class_exists(SemaphoreStore::class)) { - throw new LogicException('To enable the locking feature you must install the symfony/lock component.'); - } - - if (null !== $this->lock) { - throw new LogicException('A lock is already in place.'); - } - - if (SemaphoreStore::isSupported()) { - $store = new SemaphoreStore(); - } else { - $store = new FlockStore(); - } - - $this->lock = (new LockFactory($store))->createLock($name ?: $this->getName()); - if (!$this->lock->acquire($blocking)) { - $this->lock = null; - - return false; - } - - return true; - } - - /** - * Releases the command lock if there is one. - */ - private function release() - { - if ($this->lock) { - $this->lock->release(); - $this->lock = null; - } - } -} diff --git a/paragonik-backend/vendor/symfony/console/CommandLoader/CommandLoaderInterface.php b/paragonik-backend/vendor/symfony/console/CommandLoader/CommandLoaderInterface.php deleted file mode 100644 index ca1029c..0000000 --- a/paragonik-backend/vendor/symfony/console/CommandLoader/CommandLoaderInterface.php +++ /dev/null @@ -1,46 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Console\CommandLoader; - -use Symfony\Component\Console\Command\Command; -use Symfony\Component\Console\Exception\CommandNotFoundException; - -/** - * @author Robin Chalas - */ -interface CommandLoaderInterface -{ - /** - * Loads a command. - * - * @param string $name - * - * @return Command - * - * @throws CommandNotFoundException - */ - public function get($name); - - /** - * Checks if a command exists. - * - * @param string $name - * - * @return bool - */ - public function has($name); - - /** - * @return string[] All registered command names - */ - public function getNames(); -} diff --git a/paragonik-backend/vendor/symfony/console/CommandLoader/ContainerCommandLoader.php b/paragonik-backend/vendor/symfony/console/CommandLoader/ContainerCommandLoader.php deleted file mode 100644 index 50e5950..0000000 --- a/paragonik-backend/vendor/symfony/console/CommandLoader/ContainerCommandLoader.php +++ /dev/null @@ -1,63 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Console\CommandLoader; - -use Psr\Container\ContainerInterface; -use Symfony\Component\Console\Exception\CommandNotFoundException; - -/** - * Loads commands from a PSR-11 container. - * - * @author Robin Chalas - */ -class ContainerCommandLoader implements CommandLoaderInterface -{ - private $container; - private $commandMap; - - /** - * @param array $commandMap An array with command names as keys and service ids as values - */ - public function __construct(ContainerInterface $container, array $commandMap) - { - $this->container = $container; - $this->commandMap = $commandMap; - } - - /** - * {@inheritdoc} - */ - public function get($name) - { - if (!$this->has($name)) { - throw new CommandNotFoundException(sprintf('Command "%s" does not exist.', $name)); - } - - return $this->container->get($this->commandMap[$name]); - } - - /** - * {@inheritdoc} - */ - public function has($name) - { - return isset($this->commandMap[$name]) && $this->container->has($this->commandMap[$name]); - } - - /** - * {@inheritdoc} - */ - public function getNames() - { - return array_keys($this->commandMap); - } -} diff --git a/paragonik-backend/vendor/symfony/console/CommandLoader/FactoryCommandLoader.php b/paragonik-backend/vendor/symfony/console/CommandLoader/FactoryCommandLoader.php deleted file mode 100644 index d9c2055..0000000 --- a/paragonik-backend/vendor/symfony/console/CommandLoader/FactoryCommandLoader.php +++ /dev/null @@ -1,62 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Console\CommandLoader; - -use Symfony\Component\Console\Exception\CommandNotFoundException; - -/** - * A simple command loader using factories to instantiate commands lazily. - * - * @author Maxime Steinhausser - */ -class FactoryCommandLoader implements CommandLoaderInterface -{ - private $factories; - - /** - * @param callable[] $factories Indexed by command names - */ - public function __construct(array $factories) - { - $this->factories = $factories; - } - - /** - * {@inheritdoc} - */ - public function has($name) - { - return isset($this->factories[$name]); - } - - /** - * {@inheritdoc} - */ - public function get($name) - { - if (!isset($this->factories[$name])) { - throw new CommandNotFoundException(sprintf('Command "%s" does not exist.', $name)); - } - - $factory = $this->factories[$name]; - - return $factory(); - } - - /** - * {@inheritdoc} - */ - public function getNames() - { - return array_keys($this->factories); - } -} diff --git a/paragonik-backend/vendor/symfony/console/ConsoleEvents.php b/paragonik-backend/vendor/symfony/console/ConsoleEvents.php deleted file mode 100644 index 4975643..0000000 --- a/paragonik-backend/vendor/symfony/console/ConsoleEvents.php +++ /dev/null @@ -1,47 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Console; - -/** - * Contains all events dispatched by an Application. - * - * @author Francesco Levorato - */ -final class ConsoleEvents -{ - /** - * The COMMAND event allows you to attach listeners before any command is - * executed by the console. It also allows you to modify the command, input and output - * before they are handled to the command. - * - * @Event("Symfony\Component\Console\Event\ConsoleCommandEvent") - */ - const COMMAND = 'console.command'; - - /** - * The TERMINATE event allows you to attach listeners after a command is - * executed by the console. - * - * @Event("Symfony\Component\Console\Event\ConsoleTerminateEvent") - */ - const TERMINATE = 'console.terminate'; - - /** - * The ERROR event occurs when an uncaught exception or error appears. - * - * This event allows you to deal with the exception/error or - * to modify the thrown exception. - * - * @Event("Symfony\Component\Console\Event\ConsoleErrorEvent") - */ - const ERROR = 'console.error'; -} diff --git a/paragonik-backend/vendor/symfony/console/DependencyInjection/AddConsoleCommandPass.php b/paragonik-backend/vendor/symfony/console/DependencyInjection/AddConsoleCommandPass.php deleted file mode 100644 index 666c8fa..0000000 --- a/paragonik-backend/vendor/symfony/console/DependencyInjection/AddConsoleCommandPass.php +++ /dev/null @@ -1,98 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Console\DependencyInjection; - -use Symfony\Component\Console\Command\Command; -use Symfony\Component\Console\CommandLoader\ContainerCommandLoader; -use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface; -use Symfony\Component\DependencyInjection\Compiler\ServiceLocatorTagPass; -use Symfony\Component\DependencyInjection\ContainerBuilder; -use Symfony\Component\DependencyInjection\Exception\InvalidArgumentException; -use Symfony\Component\DependencyInjection\TypedReference; - -/** - * Registers console commands. - * - * @author Grégoire Pineau - */ -class AddConsoleCommandPass implements CompilerPassInterface -{ - private $commandLoaderServiceId; - private $commandTag; - - public function __construct(string $commandLoaderServiceId = 'console.command_loader', string $commandTag = 'console.command') - { - $this->commandLoaderServiceId = $commandLoaderServiceId; - $this->commandTag = $commandTag; - } - - public function process(ContainerBuilder $container) - { - $commandServices = $container->findTaggedServiceIds($this->commandTag, true); - $lazyCommandMap = []; - $lazyCommandRefs = []; - $serviceIds = []; - - foreach ($commandServices as $id => $tags) { - $definition = $container->getDefinition($id); - $class = $container->getParameterBag()->resolveValue($definition->getClass()); - - if (isset($tags[0]['command'])) { - $commandName = $tags[0]['command']; - } else { - if (!$r = $container->getReflectionClass($class)) { - throw new InvalidArgumentException(sprintf('Class "%s" used for service "%s" cannot be found.', $class, $id)); - } - if (!$r->isSubclassOf(Command::class)) { - throw new InvalidArgumentException(sprintf('The service "%s" tagged "%s" must be a subclass of "%s".', $id, $this->commandTag, Command::class)); - } - $commandName = $class::getDefaultName(); - } - - if (null === $commandName) { - if (!$definition->isPublic() || $definition->isPrivate()) { - $commandId = 'console.command.public_alias.'.$id; - $container->setAlias($commandId, $id)->setPublic(true); - $id = $commandId; - } - $serviceIds[] = $id; - - continue; - } - - unset($tags[0]); - $lazyCommandMap[$commandName] = $id; - $lazyCommandRefs[$id] = new TypedReference($id, $class); - $aliases = []; - - foreach ($tags as $tag) { - if (isset($tag['command'])) { - $aliases[] = $tag['command']; - $lazyCommandMap[$tag['command']] = $id; - } - } - - $definition->addMethodCall('setName', [$commandName]); - - if ($aliases) { - $definition->addMethodCall('setAliases', [$aliases]); - } - } - - $container - ->register($this->commandLoaderServiceId, ContainerCommandLoader::class) - ->setPublic(true) - ->setArguments([ServiceLocatorTagPass::register($container, $lazyCommandRefs), $lazyCommandMap]); - - $container->setParameter('console.command.ids', $serviceIds); - } -} diff --git a/paragonik-backend/vendor/symfony/console/Descriptor/ApplicationDescription.php b/paragonik-backend/vendor/symfony/console/Descriptor/ApplicationDescription.php deleted file mode 100644 index af88363..0000000 --- a/paragonik-backend/vendor/symfony/console/Descriptor/ApplicationDescription.php +++ /dev/null @@ -1,143 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Console\Descriptor; - -use Symfony\Component\Console\Application; -use Symfony\Component\Console\Command\Command; -use Symfony\Component\Console\Exception\CommandNotFoundException; - -/** - * @author Jean-François Simon - * - * @internal - */ -class ApplicationDescription -{ - const GLOBAL_NAMESPACE = '_global'; - - private $application; - private $namespace; - private $showHidden; - - /** - * @var array - */ - private $namespaces; - - /** - * @var Command[] - */ - private $commands; - - /** - * @var Command[] - */ - private $aliases; - - public function __construct(Application $application, string $namespace = null, bool $showHidden = false) - { - $this->application = $application; - $this->namespace = $namespace; - $this->showHidden = $showHidden; - } - - public function getNamespaces(): array - { - if (null === $this->namespaces) { - $this->inspectApplication(); - } - - return $this->namespaces; - } - - /** - * @return Command[] - */ - public function getCommands(): array - { - if (null === $this->commands) { - $this->inspectApplication(); - } - - return $this->commands; - } - - /** - * @throws CommandNotFoundException - */ - public function getCommand(string $name): Command - { - if (!isset($this->commands[$name]) && !isset($this->aliases[$name])) { - throw new CommandNotFoundException(sprintf('Command %s does not exist.', $name)); - } - - return isset($this->commands[$name]) ? $this->commands[$name] : $this->aliases[$name]; - } - - private function inspectApplication() - { - $this->commands = []; - $this->namespaces = []; - - $all = $this->application->all($this->namespace ? $this->application->findNamespace($this->namespace) : null); - foreach ($this->sortCommands($all) as $namespace => $commands) { - $names = []; - - /** @var Command $command */ - foreach ($commands as $name => $command) { - if (!$command->getName() || (!$this->showHidden && $command->isHidden())) { - continue; - } - - if ($command->getName() === $name) { - $this->commands[$name] = $command; - } else { - $this->aliases[$name] = $command; - } - - $names[] = $name; - } - - $this->namespaces[$namespace] = ['id' => $namespace, 'commands' => $names]; - } - } - - private function sortCommands(array $commands): array - { - $namespacedCommands = []; - $globalCommands = []; - $sortedCommands = []; - foreach ($commands as $name => $command) { - $key = $this->application->extractNamespace($name, 1); - if (\in_array($key, ['', self::GLOBAL_NAMESPACE], true)) { - $globalCommands[$name] = $command; - } else { - $namespacedCommands[$key][$name] = $command; - } - } - - if ($globalCommands) { - ksort($globalCommands); - $sortedCommands[self::GLOBAL_NAMESPACE] = $globalCommands; - } - - if ($namespacedCommands) { - ksort($namespacedCommands); - foreach ($namespacedCommands as $key => $commandsSet) { - ksort($commandsSet); - $sortedCommands[$key] = $commandsSet; - } - } - - return $sortedCommands; - } -} diff --git a/paragonik-backend/vendor/symfony/console/Descriptor/Descriptor.php b/paragonik-backend/vendor/symfony/console/Descriptor/Descriptor.php deleted file mode 100644 index d25a708..0000000 --- a/paragonik-backend/vendor/symfony/console/Descriptor/Descriptor.php +++ /dev/null @@ -1,107 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Console\Descriptor; - -use Symfony\Component\Console\Application; -use Symfony\Component\Console\Command\Command; -use Symfony\Component\Console\Exception\InvalidArgumentException; -use Symfony\Component\Console\Input\InputArgument; -use Symfony\Component\Console\Input\InputDefinition; -use Symfony\Component\Console\Input\InputOption; -use Symfony\Component\Console\Output\OutputInterface; - -/** - * @author Jean-François Simon - * - * @internal - */ -abstract class Descriptor implements DescriptorInterface -{ - /** - * @var OutputInterface - */ - protected $output; - - /** - * {@inheritdoc} - */ - public function describe(OutputInterface $output, $object, array $options = []) - { - $this->output = $output; - - switch (true) { - case $object instanceof InputArgument: - $this->describeInputArgument($object, $options); - break; - case $object instanceof InputOption: - $this->describeInputOption($object, $options); - break; - case $object instanceof InputDefinition: - $this->describeInputDefinition($object, $options); - break; - case $object instanceof Command: - $this->describeCommand($object, $options); - break; - case $object instanceof Application: - $this->describeApplication($object, $options); - break; - default: - throw new InvalidArgumentException(sprintf('Object of type "%s" is not describable.', \get_class($object))); - } - } - - /** - * Writes content to output. - * - * @param string $content - * @param bool $decorated - */ - protected function write($content, $decorated = false) - { - $this->output->write($content, false, $decorated ? OutputInterface::OUTPUT_NORMAL : OutputInterface::OUTPUT_RAW); - } - - /** - * Describes an InputArgument instance. - * - * @return string|mixed - */ - abstract protected function describeInputArgument(InputArgument $argument, array $options = []); - - /** - * Describes an InputOption instance. - * - * @return string|mixed - */ - abstract protected function describeInputOption(InputOption $option, array $options = []); - - /** - * Describes an InputDefinition instance. - * - * @return string|mixed - */ - abstract protected function describeInputDefinition(InputDefinition $definition, array $options = []); - - /** - * Describes a Command instance. - * - * @return string|mixed - */ - abstract protected function describeCommand(Command $command, array $options = []); - - /** - * Describes an Application instance. - * - * @return string|mixed - */ - abstract protected function describeApplication(Application $application, array $options = []); -} diff --git a/paragonik-backend/vendor/symfony/console/Descriptor/DescriptorInterface.php b/paragonik-backend/vendor/symfony/console/Descriptor/DescriptorInterface.php deleted file mode 100644 index e3184a6..0000000 --- a/paragonik-backend/vendor/symfony/console/Descriptor/DescriptorInterface.php +++ /dev/null @@ -1,29 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Console\Descriptor; - -use Symfony\Component\Console\Output\OutputInterface; - -/** - * Descriptor interface. - * - * @author Jean-François Simon - */ -interface DescriptorInterface -{ - /** - * Describes an object if supported. - * - * @param object $object - */ - public function describe(OutputInterface $output, $object, array $options = []); -} diff --git a/paragonik-backend/vendor/symfony/console/Descriptor/JsonDescriptor.php b/paragonik-backend/vendor/symfony/console/Descriptor/JsonDescriptor.php deleted file mode 100644 index 131fef1..0000000 --- a/paragonik-backend/vendor/symfony/console/Descriptor/JsonDescriptor.php +++ /dev/null @@ -1,156 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Console\Descriptor; - -use Symfony\Component\Console\Application; -use Symfony\Component\Console\Command\Command; -use Symfony\Component\Console\Input\InputArgument; -use Symfony\Component\Console\Input\InputDefinition; -use Symfony\Component\Console\Input\InputOption; - -/** - * JSON descriptor. - * - * @author Jean-François Simon - * - * @internal - */ -class JsonDescriptor extends Descriptor -{ - /** - * {@inheritdoc} - */ - protected function describeInputArgument(InputArgument $argument, array $options = []) - { - $this->writeData($this->getInputArgumentData($argument), $options); - } - - /** - * {@inheritdoc} - */ - protected function describeInputOption(InputOption $option, array $options = []) - { - $this->writeData($this->getInputOptionData($option), $options); - } - - /** - * {@inheritdoc} - */ - protected function describeInputDefinition(InputDefinition $definition, array $options = []) - { - $this->writeData($this->getInputDefinitionData($definition), $options); - } - - /** - * {@inheritdoc} - */ - protected function describeCommand(Command $command, array $options = []) - { - $this->writeData($this->getCommandData($command), $options); - } - - /** - * {@inheritdoc} - */ - protected function describeApplication(Application $application, array $options = []) - { - $describedNamespace = isset($options['namespace']) ? $options['namespace'] : null; - $description = new ApplicationDescription($application, $describedNamespace, true); - $commands = []; - - foreach ($description->getCommands() as $command) { - $commands[] = $this->getCommandData($command); - } - - $data = []; - if ('UNKNOWN' !== $application->getName()) { - $data['application']['name'] = $application->getName(); - if ('UNKNOWN' !== $application->getVersion()) { - $data['application']['version'] = $application->getVersion(); - } - } - - $data['commands'] = $commands; - - if ($describedNamespace) { - $data['namespace'] = $describedNamespace; - } else { - $data['namespaces'] = array_values($description->getNamespaces()); - } - - $this->writeData($data, $options); - } - - /** - * Writes data as json. - */ - private function writeData(array $data, array $options) - { - $flags = isset($options['json_encoding']) ? $options['json_encoding'] : 0; - - $this->write(json_encode($data, $flags)); - } - - private function getInputArgumentData(InputArgument $argument): array - { - return [ - 'name' => $argument->getName(), - 'is_required' => $argument->isRequired(), - 'is_array' => $argument->isArray(), - 'description' => preg_replace('/\s*[\r\n]\s*/', ' ', $argument->getDescription()), - 'default' => INF === $argument->getDefault() ? 'INF' : $argument->getDefault(), - ]; - } - - private function getInputOptionData(InputOption $option): array - { - return [ - 'name' => '--'.$option->getName(), - 'shortcut' => $option->getShortcut() ? '-'.str_replace('|', '|-', $option->getShortcut()) : '', - 'accept_value' => $option->acceptValue(), - 'is_value_required' => $option->isValueRequired(), - 'is_multiple' => $option->isArray(), - 'description' => preg_replace('/\s*[\r\n]\s*/', ' ', $option->getDescription()), - 'default' => INF === $option->getDefault() ? 'INF' : $option->getDefault(), - ]; - } - - private function getInputDefinitionData(InputDefinition $definition): array - { - $inputArguments = []; - foreach ($definition->getArguments() as $name => $argument) { - $inputArguments[$name] = $this->getInputArgumentData($argument); - } - - $inputOptions = []; - foreach ($definition->getOptions() as $name => $option) { - $inputOptions[$name] = $this->getInputOptionData($option); - } - - return ['arguments' => $inputArguments, 'options' => $inputOptions]; - } - - private function getCommandData(Command $command): array - { - $command->getSynopsis(); - $command->mergeApplicationDefinition(false); - - return [ - 'name' => $command->getName(), - 'usage' => array_merge([$command->getSynopsis()], $command->getUsages(), $command->getAliases()), - 'description' => $command->getDescription(), - 'help' => $command->getProcessedHelp(), - 'definition' => $this->getInputDefinitionData($command->getNativeDefinition()), - 'hidden' => $command->isHidden(), - ]; - } -} diff --git a/paragonik-backend/vendor/symfony/console/Descriptor/MarkdownDescriptor.php b/paragonik-backend/vendor/symfony/console/Descriptor/MarkdownDescriptor.php deleted file mode 100644 index 02b8c30..0000000 --- a/paragonik-backend/vendor/symfony/console/Descriptor/MarkdownDescriptor.php +++ /dev/null @@ -1,182 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Console\Descriptor; - -use Symfony\Component\Console\Application; -use Symfony\Component\Console\Command\Command; -use Symfony\Component\Console\Helper\Helper; -use Symfony\Component\Console\Input\InputArgument; -use Symfony\Component\Console\Input\InputDefinition; -use Symfony\Component\Console\Input\InputOption; -use Symfony\Component\Console\Output\OutputInterface; - -/** - * Markdown descriptor. - * - * @author Jean-François Simon - * - * @internal - */ -class MarkdownDescriptor extends Descriptor -{ - /** - * {@inheritdoc} - */ - public function describe(OutputInterface $output, $object, array $options = []) - { - $decorated = $output->isDecorated(); - $output->setDecorated(false); - - parent::describe($output, $object, $options); - - $output->setDecorated($decorated); - } - - /** - * {@inheritdoc} - */ - protected function write($content, $decorated = true) - { - parent::write($content, $decorated); - } - - /** - * {@inheritdoc} - */ - protected function describeInputArgument(InputArgument $argument, array $options = []) - { - $this->write( - '#### `'.($argument->getName() ?: '')."`\n\n" - .($argument->getDescription() ? preg_replace('/\s*[\r\n]\s*/', "\n", $argument->getDescription())."\n\n" : '') - .'* Is required: '.($argument->isRequired() ? 'yes' : 'no')."\n" - .'* Is array: '.($argument->isArray() ? 'yes' : 'no')."\n" - .'* Default: `'.str_replace("\n", '', var_export($argument->getDefault(), true)).'`' - ); - } - - /** - * {@inheritdoc} - */ - protected function describeInputOption(InputOption $option, array $options = []) - { - $name = '--'.$option->getName(); - if ($option->getShortcut()) { - $name .= '|-'.str_replace('|', '|-', $option->getShortcut()).''; - } - - $this->write( - '#### `'.$name.'`'."\n\n" - .($option->getDescription() ? preg_replace('/\s*[\r\n]\s*/', "\n", $option->getDescription())."\n\n" : '') - .'* Accept value: '.($option->acceptValue() ? 'yes' : 'no')."\n" - .'* Is value required: '.($option->isValueRequired() ? 'yes' : 'no')."\n" - .'* Is multiple: '.($option->isArray() ? 'yes' : 'no')."\n" - .'* Default: `'.str_replace("\n", '', var_export($option->getDefault(), true)).'`' - ); - } - - /** - * {@inheritdoc} - */ - protected function describeInputDefinition(InputDefinition $definition, array $options = []) - { - if ($showArguments = \count($definition->getArguments()) > 0) { - $this->write('### Arguments'); - foreach ($definition->getArguments() as $argument) { - $this->write("\n\n"); - $this->write($this->describeInputArgument($argument)); - } - } - - if (\count($definition->getOptions()) > 0) { - if ($showArguments) { - $this->write("\n\n"); - } - - $this->write('### Options'); - foreach ($definition->getOptions() as $option) { - $this->write("\n\n"); - $this->write($this->describeInputOption($option)); - } - } - } - - /** - * {@inheritdoc} - */ - protected function describeCommand(Command $command, array $options = []) - { - $command->getSynopsis(); - $command->mergeApplicationDefinition(false); - - $this->write( - '`'.$command->getName()."`\n" - .str_repeat('-', Helper::strlen($command->getName()) + 2)."\n\n" - .($command->getDescription() ? $command->getDescription()."\n\n" : '') - .'### Usage'."\n\n" - .array_reduce(array_merge([$command->getSynopsis()], $command->getAliases(), $command->getUsages()), function ($carry, $usage) { - return $carry.'* `'.$usage.'`'."\n"; - }) - ); - - if ($help = $command->getProcessedHelp()) { - $this->write("\n"); - $this->write($help); - } - - if ($command->getNativeDefinition()) { - $this->write("\n\n"); - $this->describeInputDefinition($command->getNativeDefinition()); - } - } - - /** - * {@inheritdoc} - */ - protected function describeApplication(Application $application, array $options = []) - { - $describedNamespace = isset($options['namespace']) ? $options['namespace'] : null; - $description = new ApplicationDescription($application, $describedNamespace); - $title = $this->getApplicationTitle($application); - - $this->write($title."\n".str_repeat('=', Helper::strlen($title))); - - foreach ($description->getNamespaces() as $namespace) { - if (ApplicationDescription::GLOBAL_NAMESPACE !== $namespace['id']) { - $this->write("\n\n"); - $this->write('**'.$namespace['id'].':**'); - } - - $this->write("\n\n"); - $this->write(implode("\n", array_map(function ($commandName) use ($description) { - return sprintf('* [`%s`](#%s)', $commandName, str_replace(':', '', $description->getCommand($commandName)->getName())); - }, $namespace['commands']))); - } - - foreach ($description->getCommands() as $command) { - $this->write("\n\n"); - $this->write($this->describeCommand($command)); - } - } - - private function getApplicationTitle(Application $application): string - { - if ('UNKNOWN' !== $application->getName()) { - if ('UNKNOWN' !== $application->getVersion()) { - return sprintf('%s %s', $application->getName(), $application->getVersion()); - } - - return $application->getName(); - } - - return 'Console Tool'; - } -} diff --git a/paragonik-backend/vendor/symfony/console/Descriptor/TextDescriptor.php b/paragonik-backend/vendor/symfony/console/Descriptor/TextDescriptor.php deleted file mode 100644 index ef6d8af..0000000 --- a/paragonik-backend/vendor/symfony/console/Descriptor/TextDescriptor.php +++ /dev/null @@ -1,342 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Console\Descriptor; - -use Symfony\Component\Console\Application; -use Symfony\Component\Console\Command\Command; -use Symfony\Component\Console\Formatter\OutputFormatter; -use Symfony\Component\Console\Helper\Helper; -use Symfony\Component\Console\Input\InputArgument; -use Symfony\Component\Console\Input\InputDefinition; -use Symfony\Component\Console\Input\InputOption; - -/** - * Text descriptor. - * - * @author Jean-François Simon - * - * @internal - */ -class TextDescriptor extends Descriptor -{ - /** - * {@inheritdoc} - */ - protected function describeInputArgument(InputArgument $argument, array $options = []) - { - if (null !== $argument->getDefault() && (!\is_array($argument->getDefault()) || \count($argument->getDefault()))) { - $default = sprintf(' [default: %s]', $this->formatDefaultValue($argument->getDefault())); - } else { - $default = ''; - } - - $totalWidth = isset($options['total_width']) ? $options['total_width'] : Helper::strlen($argument->getName()); - $spacingWidth = $totalWidth - \strlen($argument->getName()); - - $this->writeText(sprintf(' %s %s%s%s', - $argument->getName(), - str_repeat(' ', $spacingWidth), - // + 4 = 2 spaces before , 2 spaces after - preg_replace('/\s*[\r\n]\s*/', "\n".str_repeat(' ', $totalWidth + 4), $argument->getDescription()), - $default - ), $options); - } - - /** - * {@inheritdoc} - */ - protected function describeInputOption(InputOption $option, array $options = []) - { - if ($option->acceptValue() && null !== $option->getDefault() && (!\is_array($option->getDefault()) || \count($option->getDefault()))) { - $default = sprintf(' [default: %s]', $this->formatDefaultValue($option->getDefault())); - } else { - $default = ''; - } - - $value = ''; - if ($option->acceptValue()) { - $value = '='.strtoupper($option->getName()); - - if ($option->isValueOptional()) { - $value = '['.$value.']'; - } - } - - $totalWidth = isset($options['total_width']) ? $options['total_width'] : $this->calculateTotalWidthForOptions([$option]); - $synopsis = sprintf('%s%s', - $option->getShortcut() ? sprintf('-%s, ', $option->getShortcut()) : ' ', - sprintf('--%s%s', $option->getName(), $value) - ); - - $spacingWidth = $totalWidth - Helper::strlen($synopsis); - - $this->writeText(sprintf(' %s %s%s%s%s', - $synopsis, - str_repeat(' ', $spacingWidth), - // + 4 = 2 spaces before , 2 spaces after - preg_replace('/\s*[\r\n]\s*/', "\n".str_repeat(' ', $totalWidth + 4), $option->getDescription()), - $default, - $option->isArray() ? ' (multiple values allowed)' : '' - ), $options); - } - - /** - * {@inheritdoc} - */ - protected function describeInputDefinition(InputDefinition $definition, array $options = []) - { - $totalWidth = $this->calculateTotalWidthForOptions($definition->getOptions()); - foreach ($definition->getArguments() as $argument) { - $totalWidth = max($totalWidth, Helper::strlen($argument->getName())); - } - - if ($definition->getArguments()) { - $this->writeText('Arguments:', $options); - $this->writeText("\n"); - foreach ($definition->getArguments() as $argument) { - $this->describeInputArgument($argument, array_merge($options, ['total_width' => $totalWidth])); - $this->writeText("\n"); - } - } - - if ($definition->getArguments() && $definition->getOptions()) { - $this->writeText("\n"); - } - - if ($definition->getOptions()) { - $laterOptions = []; - - $this->writeText('Options:', $options); - foreach ($definition->getOptions() as $option) { - if (\strlen($option->getShortcut()) > 1) { - $laterOptions[] = $option; - continue; - } - $this->writeText("\n"); - $this->describeInputOption($option, array_merge($options, ['total_width' => $totalWidth])); - } - foreach ($laterOptions as $option) { - $this->writeText("\n"); - $this->describeInputOption($option, array_merge($options, ['total_width' => $totalWidth])); - } - } - } - - /** - * {@inheritdoc} - */ - protected function describeCommand(Command $command, array $options = []) - { - $command->getSynopsis(true); - $command->getSynopsis(false); - $command->mergeApplicationDefinition(false); - - if ($description = $command->getDescription()) { - $this->writeText('Description:', $options); - $this->writeText("\n"); - $this->writeText(' '.$description); - $this->writeText("\n\n"); - } - - $this->writeText('Usage:', $options); - foreach (array_merge([$command->getSynopsis(true)], $command->getAliases(), $command->getUsages()) as $usage) { - $this->writeText("\n"); - $this->writeText(' '.OutputFormatter::escape($usage), $options); - } - $this->writeText("\n"); - - $definition = $command->getNativeDefinition(); - if ($definition->getOptions() || $definition->getArguments()) { - $this->writeText("\n"); - $this->describeInputDefinition($definition, $options); - $this->writeText("\n"); - } - - $help = $command->getProcessedHelp(); - if ($help && $help !== $description) { - $this->writeText("\n"); - $this->writeText('Help:', $options); - $this->writeText("\n"); - $this->writeText(' '.str_replace("\n", "\n ", $help), $options); - $this->writeText("\n"); - } - } - - /** - * {@inheritdoc} - */ - protected function describeApplication(Application $application, array $options = []) - { - $describedNamespace = isset($options['namespace']) ? $options['namespace'] : null; - $description = new ApplicationDescription($application, $describedNamespace); - - if (isset($options['raw_text']) && $options['raw_text']) { - $width = $this->getColumnWidth($description->getCommands()); - - foreach ($description->getCommands() as $command) { - $this->writeText(sprintf("%-{$width}s %s", $command->getName(), $command->getDescription()), $options); - $this->writeText("\n"); - } - } else { - if ('' != $help = $application->getHelp()) { - $this->writeText("$help\n\n", $options); - } - - $this->writeText("Usage:\n", $options); - $this->writeText(" command [options] [arguments]\n\n", $options); - - $this->describeInputDefinition(new InputDefinition($application->getDefinition()->getOptions()), $options); - - $this->writeText("\n"); - $this->writeText("\n"); - - $commands = $description->getCommands(); - $namespaces = $description->getNamespaces(); - if ($describedNamespace && $namespaces) { - // make sure all alias commands are included when describing a specific namespace - $describedNamespaceInfo = reset($namespaces); - foreach ($describedNamespaceInfo['commands'] as $name) { - $commands[$name] = $description->getCommand($name); - } - } - - // calculate max. width based on available commands per namespace - $width = $this->getColumnWidth(array_merge(...array_values(array_map(function ($namespace) use ($commands) { - return array_intersect($namespace['commands'], array_keys($commands)); - }, $namespaces)))); - - if ($describedNamespace) { - $this->writeText(sprintf('Available commands for the "%s" namespace:', $describedNamespace), $options); - } else { - $this->writeText('Available commands:', $options); - } - - foreach ($namespaces as $namespace) { - $namespace['commands'] = array_filter($namespace['commands'], function ($name) use ($commands) { - return isset($commands[$name]); - }); - - if (!$namespace['commands']) { - continue; - } - - if (!$describedNamespace && ApplicationDescription::GLOBAL_NAMESPACE !== $namespace['id']) { - $this->writeText("\n"); - $this->writeText(' '.$namespace['id'].'', $options); - } - - foreach ($namespace['commands'] as $name) { - $this->writeText("\n"); - $spacingWidth = $width - Helper::strlen($name); - $command = $commands[$name]; - $commandAliases = $name === $command->getName() ? $this->getCommandAliasesText($command) : ''; - $this->writeText(sprintf(' %s%s%s', $name, str_repeat(' ', $spacingWidth), $commandAliases.$command->getDescription()), $options); - } - } - - $this->writeText("\n"); - } - } - - /** - * {@inheritdoc} - */ - private function writeText(string $content, array $options = []) - { - $this->write( - isset($options['raw_text']) && $options['raw_text'] ? strip_tags($content) : $content, - isset($options['raw_output']) ? !$options['raw_output'] : true - ); - } - - /** - * Formats command aliases to show them in the command description. - */ - private function getCommandAliasesText(Command $command): string - { - $text = ''; - $aliases = $command->getAliases(); - - if ($aliases) { - $text = '['.implode('|', $aliases).'] '; - } - - return $text; - } - - /** - * Formats input option/argument default value. - * - * @param mixed $default - */ - private function formatDefaultValue($default): string - { - if (INF === $default) { - return 'INF'; - } - - if (\is_string($default)) { - $default = OutputFormatter::escape($default); - } elseif (\is_array($default)) { - foreach ($default as $key => $value) { - if (\is_string($value)) { - $default[$key] = OutputFormatter::escape($value); - } - } - } - - return str_replace('\\\\', '\\', json_encode($default, JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE)); - } - - /** - * @param (Command|string)[] $commands - */ - private function getColumnWidth(array $commands): int - { - $widths = []; - - foreach ($commands as $command) { - if ($command instanceof Command) { - $widths[] = Helper::strlen($command->getName()); - foreach ($command->getAliases() as $alias) { - $widths[] = Helper::strlen($alias); - } - } else { - $widths[] = Helper::strlen($command); - } - } - - return $widths ? max($widths) + 2 : 0; - } - - /** - * @param InputOption[] $options - */ - private function calculateTotalWidthForOptions(array $options): int - { - $totalWidth = 0; - foreach ($options as $option) { - // "-" + shortcut + ", --" + name - $nameLength = 1 + max(Helper::strlen($option->getShortcut()), 1) + 4 + Helper::strlen($option->getName()); - - if ($option->acceptValue()) { - $valueLength = 1 + Helper::strlen($option->getName()); // = + value - $valueLength += $option->isValueOptional() ? 2 : 0; // [ + ] - - $nameLength += $valueLength; - } - $totalWidth = max($totalWidth, $nameLength); - } - - return $totalWidth; - } -} diff --git a/paragonik-backend/vendor/symfony/console/Descriptor/XmlDescriptor.php b/paragonik-backend/vendor/symfony/console/Descriptor/XmlDescriptor.php deleted file mode 100644 index 3d5dce1..0000000 --- a/paragonik-backend/vendor/symfony/console/Descriptor/XmlDescriptor.php +++ /dev/null @@ -1,231 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Console\Descriptor; - -use Symfony\Component\Console\Application; -use Symfony\Component\Console\Command\Command; -use Symfony\Component\Console\Input\InputArgument; -use Symfony\Component\Console\Input\InputDefinition; -use Symfony\Component\Console\Input\InputOption; - -/** - * XML descriptor. - * - * @author Jean-François Simon - * - * @internal - */ -class XmlDescriptor extends Descriptor -{ - public function getInputDefinitionDocument(InputDefinition $definition): \DOMDocument - { - $dom = new \DOMDocument('1.0', 'UTF-8'); - $dom->appendChild($definitionXML = $dom->createElement('definition')); - - $definitionXML->appendChild($argumentsXML = $dom->createElement('arguments')); - foreach ($definition->getArguments() as $argument) { - $this->appendDocument($argumentsXML, $this->getInputArgumentDocument($argument)); - } - - $definitionXML->appendChild($optionsXML = $dom->createElement('options')); - foreach ($definition->getOptions() as $option) { - $this->appendDocument($optionsXML, $this->getInputOptionDocument($option)); - } - - return $dom; - } - - public function getCommandDocument(Command $command): \DOMDocument - { - $dom = new \DOMDocument('1.0', 'UTF-8'); - $dom->appendChild($commandXML = $dom->createElement('command')); - - $command->getSynopsis(); - $command->mergeApplicationDefinition(false); - - $commandXML->setAttribute('id', $command->getName()); - $commandXML->setAttribute('name', $command->getName()); - $commandXML->setAttribute('hidden', $command->isHidden() ? 1 : 0); - - $commandXML->appendChild($usagesXML = $dom->createElement('usages')); - - foreach (array_merge([$command->getSynopsis()], $command->getAliases(), $command->getUsages()) as $usage) { - $usagesXML->appendChild($dom->createElement('usage', $usage)); - } - - $commandXML->appendChild($descriptionXML = $dom->createElement('description')); - $descriptionXML->appendChild($dom->createTextNode(str_replace("\n", "\n ", $command->getDescription()))); - - $commandXML->appendChild($helpXML = $dom->createElement('help')); - $helpXML->appendChild($dom->createTextNode(str_replace("\n", "\n ", $command->getProcessedHelp()))); - - $definitionXML = $this->getInputDefinitionDocument($command->getNativeDefinition()); - $this->appendDocument($commandXML, $definitionXML->getElementsByTagName('definition')->item(0)); - - return $dom; - } - - public function getApplicationDocument(Application $application, string $namespace = null): \DOMDocument - { - $dom = new \DOMDocument('1.0', 'UTF-8'); - $dom->appendChild($rootXml = $dom->createElement('symfony')); - - if ('UNKNOWN' !== $application->getName()) { - $rootXml->setAttribute('name', $application->getName()); - if ('UNKNOWN' !== $application->getVersion()) { - $rootXml->setAttribute('version', $application->getVersion()); - } - } - - $rootXml->appendChild($commandsXML = $dom->createElement('commands')); - - $description = new ApplicationDescription($application, $namespace, true); - - if ($namespace) { - $commandsXML->setAttribute('namespace', $namespace); - } - - foreach ($description->getCommands() as $command) { - $this->appendDocument($commandsXML, $this->getCommandDocument($command)); - } - - if (!$namespace) { - $rootXml->appendChild($namespacesXML = $dom->createElement('namespaces')); - - foreach ($description->getNamespaces() as $namespaceDescription) { - $namespacesXML->appendChild($namespaceArrayXML = $dom->createElement('namespace')); - $namespaceArrayXML->setAttribute('id', $namespaceDescription['id']); - - foreach ($namespaceDescription['commands'] as $name) { - $namespaceArrayXML->appendChild($commandXML = $dom->createElement('command')); - $commandXML->appendChild($dom->createTextNode($name)); - } - } - } - - return $dom; - } - - /** - * {@inheritdoc} - */ - protected function describeInputArgument(InputArgument $argument, array $options = []) - { - $this->writeDocument($this->getInputArgumentDocument($argument)); - } - - /** - * {@inheritdoc} - */ - protected function describeInputOption(InputOption $option, array $options = []) - { - $this->writeDocument($this->getInputOptionDocument($option)); - } - - /** - * {@inheritdoc} - */ - protected function describeInputDefinition(InputDefinition $definition, array $options = []) - { - $this->writeDocument($this->getInputDefinitionDocument($definition)); - } - - /** - * {@inheritdoc} - */ - protected function describeCommand(Command $command, array $options = []) - { - $this->writeDocument($this->getCommandDocument($command)); - } - - /** - * {@inheritdoc} - */ - protected function describeApplication(Application $application, array $options = []) - { - $this->writeDocument($this->getApplicationDocument($application, isset($options['namespace']) ? $options['namespace'] : null)); - } - - /** - * Appends document children to parent node. - */ - private function appendDocument(\DOMNode $parentNode, \DOMNode $importedParent) - { - foreach ($importedParent->childNodes as $childNode) { - $parentNode->appendChild($parentNode->ownerDocument->importNode($childNode, true)); - } - } - - /** - * Writes DOM document. - */ - private function writeDocument(\DOMDocument $dom) - { - $dom->formatOutput = true; - $this->write($dom->saveXML()); - } - - private function getInputArgumentDocument(InputArgument $argument): \DOMDocument - { - $dom = new \DOMDocument('1.0', 'UTF-8'); - - $dom->appendChild($objectXML = $dom->createElement('argument')); - $objectXML->setAttribute('name', $argument->getName()); - $objectXML->setAttribute('is_required', $argument->isRequired() ? 1 : 0); - $objectXML->setAttribute('is_array', $argument->isArray() ? 1 : 0); - $objectXML->appendChild($descriptionXML = $dom->createElement('description')); - $descriptionXML->appendChild($dom->createTextNode($argument->getDescription())); - - $objectXML->appendChild($defaultsXML = $dom->createElement('defaults')); - $defaults = \is_array($argument->getDefault()) ? $argument->getDefault() : (\is_bool($argument->getDefault()) ? [var_export($argument->getDefault(), true)] : ($argument->getDefault() ? [$argument->getDefault()] : [])); - foreach ($defaults as $default) { - $defaultsXML->appendChild($defaultXML = $dom->createElement('default')); - $defaultXML->appendChild($dom->createTextNode($default)); - } - - return $dom; - } - - private function getInputOptionDocument(InputOption $option): \DOMDocument - { - $dom = new \DOMDocument('1.0', 'UTF-8'); - - $dom->appendChild($objectXML = $dom->createElement('option')); - $objectXML->setAttribute('name', '--'.$option->getName()); - $pos = strpos($option->getShortcut(), '|'); - if (false !== $pos) { - $objectXML->setAttribute('shortcut', '-'.substr($option->getShortcut(), 0, $pos)); - $objectXML->setAttribute('shortcuts', '-'.str_replace('|', '|-', $option->getShortcut())); - } else { - $objectXML->setAttribute('shortcut', $option->getShortcut() ? '-'.$option->getShortcut() : ''); - } - $objectXML->setAttribute('accept_value', $option->acceptValue() ? 1 : 0); - $objectXML->setAttribute('is_value_required', $option->isValueRequired() ? 1 : 0); - $objectXML->setAttribute('is_multiple', $option->isArray() ? 1 : 0); - $objectXML->appendChild($descriptionXML = $dom->createElement('description')); - $descriptionXML->appendChild($dom->createTextNode($option->getDescription())); - - if ($option->acceptValue()) { - $defaults = \is_array($option->getDefault()) ? $option->getDefault() : (\is_bool($option->getDefault()) ? [var_export($option->getDefault(), true)] : ($option->getDefault() ? [$option->getDefault()] : [])); - $objectXML->appendChild($defaultsXML = $dom->createElement('defaults')); - - if (!empty($defaults)) { - foreach ($defaults as $default) { - $defaultsXML->appendChild($defaultXML = $dom->createElement('default')); - $defaultXML->appendChild($dom->createTextNode($default)); - } - } - } - - return $dom; - } -} diff --git a/paragonik-backend/vendor/symfony/console/Event/ConsoleCommandEvent.php b/paragonik-backend/vendor/symfony/console/Event/ConsoleCommandEvent.php deleted file mode 100644 index 79a5190..0000000 --- a/paragonik-backend/vendor/symfony/console/Event/ConsoleCommandEvent.php +++ /dev/null @@ -1,62 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Console\Event; - -/** - * Allows to do things before the command is executed, like skipping the command or changing the input. - * - * @author Fabien Potencier - * - * @final since Symfony 4.4 - */ -class ConsoleCommandEvent extends ConsoleEvent -{ - /** - * The return code for skipped commands, this will also be passed into the terminate event. - */ - const RETURN_CODE_DISABLED = 113; - - /** - * Indicates if the command should be run or skipped. - */ - private $commandShouldRun = true; - - /** - * Disables the command, so it won't be run. - * - * @return bool - */ - public function disableCommand() - { - return $this->commandShouldRun = false; - } - - /** - * Enables the command. - * - * @return bool - */ - public function enableCommand() - { - return $this->commandShouldRun = true; - } - - /** - * Returns true if the command is runnable, false otherwise. - * - * @return bool - */ - public function commandShouldRun() - { - return $this->commandShouldRun; - } -} diff --git a/paragonik-backend/vendor/symfony/console/Event/ConsoleErrorEvent.php b/paragonik-backend/vendor/symfony/console/Event/ConsoleErrorEvent.php deleted file mode 100644 index 25d9b88..0000000 --- a/paragonik-backend/vendor/symfony/console/Event/ConsoleErrorEvent.php +++ /dev/null @@ -1,58 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Console\Event; - -use Symfony\Component\Console\Command\Command; -use Symfony\Component\Console\Input\InputInterface; -use Symfony\Component\Console\Output\OutputInterface; - -/** - * Allows to handle throwables thrown while running a command. - * - * @author Wouter de Jong - */ -final class ConsoleErrorEvent extends ConsoleEvent -{ - private $error; - private $exitCode; - - public function __construct(InputInterface $input, OutputInterface $output, \Throwable $error, Command $command = null) - { - parent::__construct($command, $input, $output); - - $this->error = $error; - } - - public function getError(): \Throwable - { - return $this->error; - } - - public function setError(\Throwable $error): void - { - $this->error = $error; - } - - public function setExitCode(int $exitCode): void - { - $this->exitCode = $exitCode; - - $r = new \ReflectionProperty($this->error, 'code'); - $r->setAccessible(true); - $r->setValue($this->error, $this->exitCode); - } - - public function getExitCode(): int - { - return null !== $this->exitCode ? $this->exitCode : (\is_int($this->error->getCode()) && 0 !== $this->error->getCode() ? $this->error->getCode() : 1); - } -} diff --git a/paragonik-backend/vendor/symfony/console/Event/ConsoleEvent.php b/paragonik-backend/vendor/symfony/console/Event/ConsoleEvent.php deleted file mode 100644 index 5440da2..0000000 --- a/paragonik-backend/vendor/symfony/console/Event/ConsoleEvent.php +++ /dev/null @@ -1,67 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Console\Event; - -use Symfony\Component\Console\Command\Command; -use Symfony\Component\Console\Input\InputInterface; -use Symfony\Component\Console\Output\OutputInterface; -use Symfony\Component\EventDispatcher\Event; - -/** - * Allows to inspect input and output of a command. - * - * @author Francesco Levorato - */ -class ConsoleEvent extends Event -{ - protected $command; - - private $input; - private $output; - - public function __construct(Command $command = null, InputInterface $input, OutputInterface $output) - { - $this->command = $command; - $this->input = $input; - $this->output = $output; - } - - /** - * Gets the command that is executed. - * - * @return Command|null A Command instance - */ - public function getCommand() - { - return $this->command; - } - - /** - * Gets the input instance. - * - * @return InputInterface An InputInterface instance - */ - public function getInput() - { - return $this->input; - } - - /** - * Gets the output instance. - * - * @return OutputInterface An OutputInterface instance - */ - public function getOutput() - { - return $this->output; - } -} diff --git a/paragonik-backend/vendor/symfony/console/Event/ConsoleTerminateEvent.php b/paragonik-backend/vendor/symfony/console/Event/ConsoleTerminateEvent.php deleted file mode 100644 index 43d0f8a..0000000 --- a/paragonik-backend/vendor/symfony/console/Event/ConsoleTerminateEvent.php +++ /dev/null @@ -1,55 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Console\Event; - -use Symfony\Component\Console\Command\Command; -use Symfony\Component\Console\Input\InputInterface; -use Symfony\Component\Console\Output\OutputInterface; - -/** - * Allows to manipulate the exit code of a command after its execution. - * - * @author Francesco Levorato - * - * @final since Symfony 4.4 - */ -class ConsoleTerminateEvent extends ConsoleEvent -{ - private $exitCode; - - public function __construct(Command $command, InputInterface $input, OutputInterface $output, int $exitCode) - { - parent::__construct($command, $input, $output); - - $this->setExitCode($exitCode); - } - - /** - * Sets the exit code. - * - * @param int $exitCode The command exit code - */ - public function setExitCode($exitCode) - { - $this->exitCode = (int) $exitCode; - } - - /** - * Gets the exit code. - * - * @return int The command exit code - */ - public function getExitCode() - { - return $this->exitCode; - } -} diff --git a/paragonik-backend/vendor/symfony/console/EventListener/ErrorListener.php b/paragonik-backend/vendor/symfony/console/EventListener/ErrorListener.php deleted file mode 100644 index a340757..0000000 --- a/paragonik-backend/vendor/symfony/console/EventListener/ErrorListener.php +++ /dev/null @@ -1,95 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Console\EventListener; - -use Psr\Log\LoggerInterface; -use Symfony\Component\Console\ConsoleEvents; -use Symfony\Component\Console\Event\ConsoleErrorEvent; -use Symfony\Component\Console\Event\ConsoleEvent; -use Symfony\Component\Console\Event\ConsoleTerminateEvent; -use Symfony\Component\EventDispatcher\EventSubscriberInterface; - -/** - * @author James Halsall - * @author Robin Chalas - */ -class ErrorListener implements EventSubscriberInterface -{ - private $logger; - - public function __construct(LoggerInterface $logger = null) - { - $this->logger = $logger; - } - - public function onConsoleError(ConsoleErrorEvent $event) - { - if (null === $this->logger) { - return; - } - - $error = $event->getError(); - - if (!$inputString = $this->getInputString($event)) { - $this->logger->error('An error occurred while using the console. Message: "{message}"', ['exception' => $error, 'message' => $error->getMessage()]); - - return; - } - - $this->logger->error('Error thrown while running command "{command}". Message: "{message}"', ['exception' => $error, 'command' => $inputString, 'message' => $error->getMessage()]); - } - - public function onConsoleTerminate(ConsoleTerminateEvent $event) - { - if (null === $this->logger) { - return; - } - - $exitCode = $event->getExitCode(); - - if (0 === $exitCode) { - return; - } - - if (!$inputString = $this->getInputString($event)) { - $this->logger->debug('The console exited with code "{code}"', ['code' => $exitCode]); - - return; - } - - $this->logger->debug('Command "{command}" exited with code "{code}"', ['command' => $inputString, 'code' => $exitCode]); - } - - public static function getSubscribedEvents() - { - return [ - ConsoleEvents::ERROR => ['onConsoleError', -128], - ConsoleEvents::TERMINATE => ['onConsoleTerminate', -128], - ]; - } - - private static function getInputString(ConsoleEvent $event): ?string - { - $commandName = $event->getCommand() ? $event->getCommand()->getName() : null; - $input = $event->getInput(); - - if (method_exists($input, '__toString')) { - if ($commandName) { - return str_replace(["'$commandName'", "\"$commandName\""], $commandName, (string) $input); - } - - return (string) $input; - } - - return $commandName; - } -} diff --git a/paragonik-backend/vendor/symfony/console/Exception/CommandNotFoundException.php b/paragonik-backend/vendor/symfony/console/Exception/CommandNotFoundException.php deleted file mode 100644 index 69d5cb9..0000000 --- a/paragonik-backend/vendor/symfony/console/Exception/CommandNotFoundException.php +++ /dev/null @@ -1,43 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Console\Exception; - -/** - * Represents an incorrect command name typed in the console. - * - * @author Jérôme Tamarelle - */ -class CommandNotFoundException extends \InvalidArgumentException implements ExceptionInterface -{ - private $alternatives; - - /** - * @param string $message Exception message to throw - * @param array $alternatives List of similar defined names - * @param int $code Exception code - * @param \Throwable $previous Previous exception used for the exception chaining - */ - public function __construct(string $message, array $alternatives = [], int $code = 0, \Throwable $previous = null) - { - parent::__construct($message, $code, $previous); - - $this->alternatives = $alternatives; - } - - /** - * @return array A list of similar defined names - */ - public function getAlternatives() - { - return $this->alternatives; - } -} diff --git a/paragonik-backend/vendor/symfony/console/Exception/ExceptionInterface.php b/paragonik-backend/vendor/symfony/console/Exception/ExceptionInterface.php deleted file mode 100644 index 1624e13..0000000 --- a/paragonik-backend/vendor/symfony/console/Exception/ExceptionInterface.php +++ /dev/null @@ -1,21 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Console\Exception; - -/** - * ExceptionInterface. - * - * @author Jérôme Tamarelle - */ -interface ExceptionInterface extends \Throwable -{ -} diff --git a/paragonik-backend/vendor/symfony/console/Exception/InvalidArgumentException.php b/paragonik-backend/vendor/symfony/console/Exception/InvalidArgumentException.php deleted file mode 100644 index 07cc0b6..0000000 --- a/paragonik-backend/vendor/symfony/console/Exception/InvalidArgumentException.php +++ /dev/null @@ -1,19 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Console\Exception; - -/** - * @author Jérôme Tamarelle - */ -class InvalidArgumentException extends \InvalidArgumentException implements ExceptionInterface -{ -} diff --git a/paragonik-backend/vendor/symfony/console/Exception/InvalidOptionException.php b/paragonik-backend/vendor/symfony/console/Exception/InvalidOptionException.php deleted file mode 100644 index b2eec61..0000000 --- a/paragonik-backend/vendor/symfony/console/Exception/InvalidOptionException.php +++ /dev/null @@ -1,21 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Console\Exception; - -/** - * Represents an incorrect option name typed in the console. - * - * @author Jérôme Tamarelle - */ -class InvalidOptionException extends \InvalidArgumentException implements ExceptionInterface -{ -} diff --git a/paragonik-backend/vendor/symfony/console/Exception/LogicException.php b/paragonik-backend/vendor/symfony/console/Exception/LogicException.php deleted file mode 100644 index fc37b8d..0000000 --- a/paragonik-backend/vendor/symfony/console/Exception/LogicException.php +++ /dev/null @@ -1,19 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Console\Exception; - -/** - * @author Jérôme Tamarelle - */ -class LogicException extends \LogicException implements ExceptionInterface -{ -} diff --git a/paragonik-backend/vendor/symfony/console/Exception/NamespaceNotFoundException.php b/paragonik-backend/vendor/symfony/console/Exception/NamespaceNotFoundException.php deleted file mode 100644 index dd16e45..0000000 --- a/paragonik-backend/vendor/symfony/console/Exception/NamespaceNotFoundException.php +++ /dev/null @@ -1,21 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Console\Exception; - -/** - * Represents an incorrect namespace typed in the console. - * - * @author Pierre du Plessis - */ -class NamespaceNotFoundException extends CommandNotFoundException -{ -} diff --git a/paragonik-backend/vendor/symfony/console/Exception/RuntimeException.php b/paragonik-backend/vendor/symfony/console/Exception/RuntimeException.php deleted file mode 100644 index 51d7d80..0000000 --- a/paragonik-backend/vendor/symfony/console/Exception/RuntimeException.php +++ /dev/null @@ -1,19 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Console\Exception; - -/** - * @author Jérôme Tamarelle - */ -class RuntimeException extends \RuntimeException implements ExceptionInterface -{ -} diff --git a/paragonik-backend/vendor/symfony/console/Formatter/OutputFormatter.php b/paragonik-backend/vendor/symfony/console/Formatter/OutputFormatter.php deleted file mode 100644 index d0673e7..0000000 --- a/paragonik-backend/vendor/symfony/console/Formatter/OutputFormatter.php +++ /dev/null @@ -1,277 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Console\Formatter; - -use Symfony\Component\Console\Exception\InvalidArgumentException; - -/** - * Formatter class for console output. - * - * @author Konstantin Kudryashov - * @author Roland Franssen - */ -class OutputFormatter implements WrappableOutputFormatterInterface -{ - private $decorated; - private $styles = []; - private $styleStack; - - /** - * Escapes "<" special char in given text. - * - * @param string $text Text to escape - * - * @return string Escaped text - */ - public static function escape($text) - { - $text = preg_replace('/([^\\\\]?) FormatterStyle" instances - */ - public function __construct(bool $decorated = false, array $styles = []) - { - $this->decorated = $decorated; - - $this->setStyle('error', new OutputFormatterStyle('white', 'red')); - $this->setStyle('info', new OutputFormatterStyle('green')); - $this->setStyle('comment', new OutputFormatterStyle('yellow')); - $this->setStyle('question', new OutputFormatterStyle('black', 'cyan')); - - foreach ($styles as $name => $style) { - $this->setStyle($name, $style); - } - - $this->styleStack = new OutputFormatterStyleStack(); - } - - /** - * {@inheritdoc} - */ - public function setDecorated($decorated) - { - $this->decorated = (bool) $decorated; - } - - /** - * {@inheritdoc} - */ - public function isDecorated() - { - return $this->decorated; - } - - /** - * {@inheritdoc} - */ - public function setStyle($name, OutputFormatterStyleInterface $style) - { - $this->styles[strtolower($name)] = $style; - } - - /** - * {@inheritdoc} - */ - public function hasStyle($name) - { - return isset($this->styles[strtolower($name)]); - } - - /** - * {@inheritdoc} - */ - public function getStyle($name) - { - if (!$this->hasStyle($name)) { - throw new InvalidArgumentException(sprintf('Undefined style: %s', $name)); - } - - return $this->styles[strtolower($name)]; - } - - /** - * {@inheritdoc} - */ - public function format($message) - { - return $this->formatAndWrap((string) $message, 0); - } - - /** - * {@inheritdoc} - */ - public function formatAndWrap(string $message, int $width) - { - $offset = 0; - $output = ''; - $tagRegex = '[a-z][^<>]*+'; - $currentLineLength = 0; - preg_match_all("#<(($tagRegex) | /($tagRegex)?)>#ix", $message, $matches, PREG_OFFSET_CAPTURE); - foreach ($matches[0] as $i => $match) { - $pos = $match[1]; - $text = $match[0]; - - if (0 != $pos && '\\' == $message[$pos - 1]) { - continue; - } - - // add the text up to the next tag - $output .= $this->applyCurrentStyle(substr($message, $offset, $pos - $offset), $output, $width, $currentLineLength); - $offset = $pos + \strlen($text); - - // opening tag? - if ($open = '/' != $text[1]) { - $tag = $matches[1][$i][0]; - } else { - $tag = isset($matches[3][$i][0]) ? $matches[3][$i][0] : ''; - } - - if (!$open && !$tag) { - // - $this->styleStack->pop(); - } elseif (null === $style = $this->createStyleFromString($tag)) { - $output .= $this->applyCurrentStyle($text, $output, $width, $currentLineLength); - } elseif ($open) { - $this->styleStack->push($style); - } else { - $this->styleStack->pop($style); - } - } - - $output .= $this->applyCurrentStyle(substr($message, $offset), $output, $width, $currentLineLength); - - if (false !== strpos($output, "\0")) { - return strtr($output, ["\0" => '\\', '\\<' => '<']); - } - - return str_replace('\\<', '<', $output); - } - - /** - * @return OutputFormatterStyleStack - */ - public function getStyleStack() - { - return $this->styleStack; - } - - /** - * Tries to create new style instance from string. - */ - private function createStyleFromString(string $string): ?OutputFormatterStyleInterface - { - if (isset($this->styles[$string])) { - return $this->styles[$string]; - } - - if (!preg_match_all('/([^=]+)=([^;]+)(;|$)/', $string, $matches, PREG_SET_ORDER)) { - return null; - } - - $style = new OutputFormatterStyle(); - foreach ($matches as $match) { - array_shift($match); - $match[0] = strtolower($match[0]); - - if ('fg' == $match[0]) { - $style->setForeground(strtolower($match[1])); - } elseif ('bg' == $match[0]) { - $style->setBackground(strtolower($match[1])); - } elseif ('href' === $match[0]) { - $style->setHref($match[1]); - } elseif ('options' === $match[0]) { - preg_match_all('([^,;]+)', strtolower($match[1]), $options); - $options = array_shift($options); - foreach ($options as $option) { - $style->setOption($option); - } - } else { - return null; - } - } - - return $style; - } - - /** - * Applies current style from stack to text, if must be applied. - */ - private function applyCurrentStyle(string $text, string $current, int $width, int &$currentLineLength): string - { - if ('' === $text) { - return ''; - } - - if (!$width) { - return $this->isDecorated() ? $this->styleStack->getCurrent()->apply($text) : $text; - } - - if (!$currentLineLength && '' !== $current) { - $text = ltrim($text); - } - - if ($currentLineLength) { - $prefix = substr($text, 0, $i = $width - $currentLineLength)."\n"; - $text = substr($text, $i); - } else { - $prefix = ''; - } - - preg_match('~(\\n)$~', $text, $matches); - $text = $prefix.preg_replace('~([^\\n]{'.$width.'})\\ *~', "\$1\n", $text); - $text = rtrim($text, "\n").($matches[1] ?? ''); - - if (!$currentLineLength && '' !== $current && "\n" !== substr($current, -1)) { - $text = "\n".$text; - } - - $lines = explode("\n", $text); - - foreach ($lines as $line) { - $currentLineLength += \strlen($line); - if ($width <= $currentLineLength) { - $currentLineLength = 0; - } - } - - if ($this->isDecorated()) { - foreach ($lines as $i => $line) { - $lines[$i] = $this->styleStack->getCurrent()->apply($line); - } - } - - return implode("\n", $lines); - } -} diff --git a/paragonik-backend/vendor/symfony/console/Formatter/OutputFormatterInterface.php b/paragonik-backend/vendor/symfony/console/Formatter/OutputFormatterInterface.php deleted file mode 100644 index 22f40a3..0000000 --- a/paragonik-backend/vendor/symfony/console/Formatter/OutputFormatterInterface.php +++ /dev/null @@ -1,70 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Console\Formatter; - -/** - * Formatter interface for console output. - * - * @author Konstantin Kudryashov - */ -interface OutputFormatterInterface -{ - /** - * Sets the decorated flag. - * - * @param bool $decorated Whether to decorate the messages or not - */ - public function setDecorated($decorated); - - /** - * Gets the decorated flag. - * - * @return bool true if the output will decorate messages, false otherwise - */ - public function isDecorated(); - - /** - * Sets a new style. - * - * @param string $name The style name - */ - public function setStyle($name, OutputFormatterStyleInterface $style); - - /** - * Checks if output formatter has style with specified name. - * - * @param string $name - * - * @return bool - */ - public function hasStyle($name); - - /** - * Gets style options from style with specified name. - * - * @param string $name - * - * @return OutputFormatterStyleInterface - * - * @throws \InvalidArgumentException When style isn't defined - */ - public function getStyle($name); - - /** - * Formats a message according to the given styles. - * - * @param string $message The message to style - * - * @return string The styled message - */ - public function format($message); -} diff --git a/paragonik-backend/vendor/symfony/console/Formatter/OutputFormatterStyle.php b/paragonik-backend/vendor/symfony/console/Formatter/OutputFormatterStyle.php deleted file mode 100644 index 1699420..0000000 --- a/paragonik-backend/vendor/symfony/console/Formatter/OutputFormatterStyle.php +++ /dev/null @@ -1,196 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Console\Formatter; - -use Symfony\Component\Console\Exception\InvalidArgumentException; - -/** - * Formatter style class for defining styles. - * - * @author Konstantin Kudryashov - */ -class OutputFormatterStyle implements OutputFormatterStyleInterface -{ - private static $availableForegroundColors = [ - 'black' => ['set' => 30, 'unset' => 39], - 'red' => ['set' => 31, 'unset' => 39], - 'green' => ['set' => 32, 'unset' => 39], - 'yellow' => ['set' => 33, 'unset' => 39], - 'blue' => ['set' => 34, 'unset' => 39], - 'magenta' => ['set' => 35, 'unset' => 39], - 'cyan' => ['set' => 36, 'unset' => 39], - 'white' => ['set' => 37, 'unset' => 39], - 'default' => ['set' => 39, 'unset' => 39], - ]; - private static $availableBackgroundColors = [ - 'black' => ['set' => 40, 'unset' => 49], - 'red' => ['set' => 41, 'unset' => 49], - 'green' => ['set' => 42, 'unset' => 49], - 'yellow' => ['set' => 43, 'unset' => 49], - 'blue' => ['set' => 44, 'unset' => 49], - 'magenta' => ['set' => 45, 'unset' => 49], - 'cyan' => ['set' => 46, 'unset' => 49], - 'white' => ['set' => 47, 'unset' => 49], - 'default' => ['set' => 49, 'unset' => 49], - ]; - private static $availableOptions = [ - 'bold' => ['set' => 1, 'unset' => 22], - 'underscore' => ['set' => 4, 'unset' => 24], - 'blink' => ['set' => 5, 'unset' => 25], - 'reverse' => ['set' => 7, 'unset' => 27], - 'conceal' => ['set' => 8, 'unset' => 28], - ]; - - private $foreground; - private $background; - private $href; - private $options = []; - private $handlesHrefGracefully; - - /** - * Initializes output formatter style. - * - * @param string|null $foreground The style foreground color name - * @param string|null $background The style background color name - */ - public function __construct(string $foreground = null, string $background = null, array $options = []) - { - if (null !== $foreground) { - $this->setForeground($foreground); - } - if (null !== $background) { - $this->setBackground($background); - } - if (\count($options)) { - $this->setOptions($options); - } - } - - /** - * {@inheritdoc} - */ - public function setForeground($color = null) - { - if (null === $color) { - $this->foreground = null; - - return; - } - - if (!isset(static::$availableForegroundColors[$color])) { - throw new InvalidArgumentException(sprintf('Invalid foreground color specified: "%s". Expected one of (%s)', $color, implode(', ', array_keys(static::$availableForegroundColors)))); - } - - $this->foreground = static::$availableForegroundColors[$color]; - } - - /** - * {@inheritdoc} - */ - public function setBackground($color = null) - { - if (null === $color) { - $this->background = null; - - return; - } - - if (!isset(static::$availableBackgroundColors[$color])) { - throw new InvalidArgumentException(sprintf('Invalid background color specified: "%s". Expected one of (%s)', $color, implode(', ', array_keys(static::$availableBackgroundColors)))); - } - - $this->background = static::$availableBackgroundColors[$color]; - } - - public function setHref(string $url): void - { - $this->href = $url; - } - - /** - * {@inheritdoc} - */ - public function setOption($option) - { - if (!isset(static::$availableOptions[$option])) { - throw new InvalidArgumentException(sprintf('Invalid option specified: "%s". Expected one of (%s)', $option, implode(', ', array_keys(static::$availableOptions)))); - } - - if (!\in_array(static::$availableOptions[$option], $this->options)) { - $this->options[] = static::$availableOptions[$option]; - } - } - - /** - * {@inheritdoc} - */ - public function unsetOption($option) - { - if (!isset(static::$availableOptions[$option])) { - throw new InvalidArgumentException(sprintf('Invalid option specified: "%s". Expected one of (%s)', $option, implode(', ', array_keys(static::$availableOptions)))); - } - - $pos = array_search(static::$availableOptions[$option], $this->options); - if (false !== $pos) { - unset($this->options[$pos]); - } - } - - /** - * {@inheritdoc} - */ - public function setOptions(array $options) - { - $this->options = []; - - foreach ($options as $option) { - $this->setOption($option); - } - } - - /** - * {@inheritdoc} - */ - public function apply($text) - { - $setCodes = []; - $unsetCodes = []; - - if (null === $this->handlesHrefGracefully) { - $this->handlesHrefGracefully = 'JetBrains-JediTerm' !== getenv('TERMINAL_EMULATOR') && !getenv('KONSOLE_VERSION'); - } - - if (null !== $this->foreground) { - $setCodes[] = $this->foreground['set']; - $unsetCodes[] = $this->foreground['unset']; - } - if (null !== $this->background) { - $setCodes[] = $this->background['set']; - $unsetCodes[] = $this->background['unset']; - } - - foreach ($this->options as $option) { - $setCodes[] = $option['set']; - $unsetCodes[] = $option['unset']; - } - - if (null !== $this->href && $this->handlesHrefGracefully) { - $text = "\033]8;;$this->href\033\\$text\033]8;;\033\\"; - } - - if (0 === \count($setCodes)) { - return $text; - } - - return sprintf("\033[%sm%s\033[%sm", implode(';', $setCodes), $text, implode(';', $unsetCodes)); - } -} diff --git a/paragonik-backend/vendor/symfony/console/Formatter/OutputFormatterStyleInterface.php b/paragonik-backend/vendor/symfony/console/Formatter/OutputFormatterStyleInterface.php deleted file mode 100644 index af171c2..0000000 --- a/paragonik-backend/vendor/symfony/console/Formatter/OutputFormatterStyleInterface.php +++ /dev/null @@ -1,62 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Console\Formatter; - -/** - * Formatter style interface for defining styles. - * - * @author Konstantin Kudryashov - */ -interface OutputFormatterStyleInterface -{ - /** - * Sets style foreground color. - * - * @param string|null $color The color name - */ - public function setForeground($color = null); - - /** - * Sets style background color. - * - * @param string $color The color name - */ - public function setBackground($color = null); - - /** - * Sets some specific style option. - * - * @param string $option The option name - */ - public function setOption($option); - - /** - * Unsets some specific style option. - * - * @param string $option The option name - */ - public function unsetOption($option); - - /** - * Sets multiple style options at once. - */ - public function setOptions(array $options); - - /** - * Applies the style to a given text. - * - * @param string $text The text to style - * - * @return string - */ - public function apply($text); -} diff --git a/paragonik-backend/vendor/symfony/console/Formatter/OutputFormatterStyleStack.php b/paragonik-backend/vendor/symfony/console/Formatter/OutputFormatterStyleStack.php deleted file mode 100644 index 33f7d52..0000000 --- a/paragonik-backend/vendor/symfony/console/Formatter/OutputFormatterStyleStack.php +++ /dev/null @@ -1,110 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Console\Formatter; - -use Symfony\Component\Console\Exception\InvalidArgumentException; -use Symfony\Contracts\Service\ResetInterface; - -/** - * @author Jean-François Simon - */ -class OutputFormatterStyleStack implements ResetInterface -{ - /** - * @var OutputFormatterStyleInterface[] - */ - private $styles; - - private $emptyStyle; - - public function __construct(OutputFormatterStyleInterface $emptyStyle = null) - { - $this->emptyStyle = $emptyStyle ?: new OutputFormatterStyle(); - $this->reset(); - } - - /** - * Resets stack (ie. empty internal arrays). - */ - public function reset() - { - $this->styles = []; - } - - /** - * Pushes a style in the stack. - */ - public function push(OutputFormatterStyleInterface $style) - { - $this->styles[] = $style; - } - - /** - * Pops a style from the stack. - * - * @return OutputFormatterStyleInterface - * - * @throws InvalidArgumentException When style tags incorrectly nested - */ - public function pop(OutputFormatterStyleInterface $style = null) - { - if (empty($this->styles)) { - return $this->emptyStyle; - } - - if (null === $style) { - return array_pop($this->styles); - } - - foreach (array_reverse($this->styles, true) as $index => $stackedStyle) { - if ($style->apply('') === $stackedStyle->apply('')) { - $this->styles = \array_slice($this->styles, 0, $index); - - return $stackedStyle; - } - } - - throw new InvalidArgumentException('Incorrectly nested style tag found.'); - } - - /** - * Computes current style with stacks top codes. - * - * @return OutputFormatterStyle - */ - public function getCurrent() - { - if (empty($this->styles)) { - return $this->emptyStyle; - } - - return $this->styles[\count($this->styles) - 1]; - } - - /** - * @return $this - */ - public function setEmptyStyle(OutputFormatterStyleInterface $emptyStyle) - { - $this->emptyStyle = $emptyStyle; - - return $this; - } - - /** - * @return OutputFormatterStyleInterface - */ - public function getEmptyStyle() - { - return $this->emptyStyle; - } -} diff --git a/paragonik-backend/vendor/symfony/console/Formatter/WrappableOutputFormatterInterface.php b/paragonik-backend/vendor/symfony/console/Formatter/WrappableOutputFormatterInterface.php deleted file mode 100644 index 6694053..0000000 --- a/paragonik-backend/vendor/symfony/console/Formatter/WrappableOutputFormatterInterface.php +++ /dev/null @@ -1,25 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Console\Formatter; - -/** - * Formatter interface for console output that supports word wrapping. - * - * @author Roland Franssen - */ -interface WrappableOutputFormatterInterface extends OutputFormatterInterface -{ - /** - * Formats a message according to the given styles, wrapping at `$width` (0 means no wrapping). - */ - public function formatAndWrap(string $message, int $width); -} diff --git a/paragonik-backend/vendor/symfony/console/Helper/DebugFormatterHelper.php b/paragonik-backend/vendor/symfony/console/Helper/DebugFormatterHelper.php deleted file mode 100644 index 1653ede..0000000 --- a/paragonik-backend/vendor/symfony/console/Helper/DebugFormatterHelper.php +++ /dev/null @@ -1,122 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Console\Helper; - -/** - * Helps outputting debug information when running an external program from a command. - * - * An external program can be a Process, an HTTP request, or anything else. - * - * @author Fabien Potencier - */ -class DebugFormatterHelper extends Helper -{ - private $colors = ['black', 'red', 'green', 'yellow', 'blue', 'magenta', 'cyan', 'white', 'default']; - private $started = []; - private $count = -1; - - /** - * Starts a debug formatting session. - * - * @param string $id The id of the formatting session - * @param string $message The message to display - * @param string $prefix The prefix to use - * - * @return string - */ - public function start($id, $message, $prefix = 'RUN') - { - $this->started[$id] = ['border' => ++$this->count % \count($this->colors)]; - - return sprintf("%s %s %s\n", $this->getBorder($id), $prefix, $message); - } - - /** - * Adds progress to a formatting session. - * - * @param string $id The id of the formatting session - * @param string $buffer The message to display - * @param bool $error Whether to consider the buffer as error - * @param string $prefix The prefix for output - * @param string $errorPrefix The prefix for error output - * - * @return string - */ - public function progress($id, $buffer, $error = false, $prefix = 'OUT', $errorPrefix = 'ERR') - { - $message = ''; - - if ($error) { - if (isset($this->started[$id]['out'])) { - $message .= "\n"; - unset($this->started[$id]['out']); - } - if (!isset($this->started[$id]['err'])) { - $message .= sprintf('%s %s ', $this->getBorder($id), $errorPrefix); - $this->started[$id]['err'] = true; - } - - $message .= str_replace("\n", sprintf("\n%s %s ", $this->getBorder($id), $errorPrefix), $buffer); - } else { - if (isset($this->started[$id]['err'])) { - $message .= "\n"; - unset($this->started[$id]['err']); - } - if (!isset($this->started[$id]['out'])) { - $message .= sprintf('%s %s ', $this->getBorder($id), $prefix); - $this->started[$id]['out'] = true; - } - - $message .= str_replace("\n", sprintf("\n%s %s ", $this->getBorder($id), $prefix), $buffer); - } - - return $message; - } - - /** - * Stops a formatting session. - * - * @param string $id The id of the formatting session - * @param string $message The message to display - * @param bool $successful Whether to consider the result as success - * @param string $prefix The prefix for the end output - * - * @return string - */ - public function stop($id, $message, $successful, $prefix = 'RES') - { - $trailingEOL = isset($this->started[$id]['out']) || isset($this->started[$id]['err']) ? "\n" : ''; - - if ($successful) { - return sprintf("%s%s %s %s\n", $trailingEOL, $this->getBorder($id), $prefix, $message); - } - - $message = sprintf("%s%s %s %s\n", $trailingEOL, $this->getBorder($id), $prefix, $message); - - unset($this->started[$id]['out'], $this->started[$id]['err']); - - return $message; - } - - private function getBorder(string $id): string - { - return sprintf(' ', $this->colors[$this->started[$id]['border']]); - } - - /** - * {@inheritdoc} - */ - public function getName() - { - return 'debug_formatter'; - } -} diff --git a/paragonik-backend/vendor/symfony/console/Helper/DescriptorHelper.php b/paragonik-backend/vendor/symfony/console/Helper/DescriptorHelper.php deleted file mode 100644 index 3055bae..0000000 --- a/paragonik-backend/vendor/symfony/console/Helper/DescriptorHelper.php +++ /dev/null @@ -1,91 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Console\Helper; - -use Symfony\Component\Console\Descriptor\DescriptorInterface; -use Symfony\Component\Console\Descriptor\JsonDescriptor; -use Symfony\Component\Console\Descriptor\MarkdownDescriptor; -use Symfony\Component\Console\Descriptor\TextDescriptor; -use Symfony\Component\Console\Descriptor\XmlDescriptor; -use Symfony\Component\Console\Exception\InvalidArgumentException; -use Symfony\Component\Console\Output\OutputInterface; - -/** - * This class adds helper method to describe objects in various formats. - * - * @author Jean-François Simon - */ -class DescriptorHelper extends Helper -{ - /** - * @var DescriptorInterface[] - */ - private $descriptors = []; - - public function __construct() - { - $this - ->register('txt', new TextDescriptor()) - ->register('xml', new XmlDescriptor()) - ->register('json', new JsonDescriptor()) - ->register('md', new MarkdownDescriptor()) - ; - } - - /** - * Describes an object if supported. - * - * Available options are: - * * format: string, the output format name - * * raw_text: boolean, sets output type as raw - * - * @param object $object - * - * @throws InvalidArgumentException when the given format is not supported - */ - public function describe(OutputInterface $output, $object, array $options = []) - { - $options = array_merge([ - 'raw_text' => false, - 'format' => 'txt', - ], $options); - - if (!isset($this->descriptors[$options['format']])) { - throw new InvalidArgumentException(sprintf('Unsupported format "%s".', $options['format'])); - } - - $descriptor = $this->descriptors[$options['format']]; - $descriptor->describe($output, $object, $options); - } - - /** - * Registers a descriptor. - * - * @param string $format - * - * @return $this - */ - public function register($format, DescriptorInterface $descriptor) - { - $this->descriptors[$format] = $descriptor; - - return $this; - } - - /** - * {@inheritdoc} - */ - public function getName() - { - return 'descriptor'; - } -} diff --git a/paragonik-backend/vendor/symfony/console/Helper/Dumper.php b/paragonik-backend/vendor/symfony/console/Helper/Dumper.php deleted file mode 100644 index b013b6c..0000000 --- a/paragonik-backend/vendor/symfony/console/Helper/Dumper.php +++ /dev/null @@ -1,64 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Console\Helper; - -use Symfony\Component\Console\Output\OutputInterface; -use Symfony\Component\VarDumper\Cloner\ClonerInterface; -use Symfony\Component\VarDumper\Cloner\VarCloner; -use Symfony\Component\VarDumper\Dumper\CliDumper; - -/** - * @author Roland Franssen - */ -final class Dumper -{ - private $output; - private $dumper; - private $cloner; - private $handler; - - public function __construct(OutputInterface $output, CliDumper $dumper = null, ClonerInterface $cloner = null) - { - $this->output = $output; - $this->dumper = $dumper; - $this->cloner = $cloner; - - if (class_exists(CliDumper::class)) { - $this->handler = function ($var): string { - $dumper = $this->dumper ?? $this->dumper = new CliDumper(null, null, CliDumper::DUMP_LIGHT_ARRAY | CliDumper::DUMP_COMMA_SEPARATOR); - $dumper->setColors($this->output->isDecorated()); - - return rtrim($dumper->dump(($this->cloner ?? $this->cloner = new VarCloner())->cloneVar($var)->withRefHandles(false), true)); - }; - } else { - $this->handler = function ($var): string { - switch (true) { - case null === $var: - return 'null'; - case true === $var: - return 'true'; - case false === $var: - return 'false'; - case \is_string($var): - return '"'.$var.'"'; - default: - return rtrim(print_r($var, true)); - } - }; - } - } - - public function __invoke($var): string - { - return ($this->handler)($var); - } -} diff --git a/paragonik-backend/vendor/symfony/console/Helper/FormatterHelper.php b/paragonik-backend/vendor/symfony/console/Helper/FormatterHelper.php deleted file mode 100644 index 4ad6385..0000000 --- a/paragonik-backend/vendor/symfony/console/Helper/FormatterHelper.php +++ /dev/null @@ -1,106 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Console\Helper; - -use Symfony\Component\Console\Formatter\OutputFormatter; - -/** - * The Formatter class provides helpers to format messages. - * - * @author Fabien Potencier - */ -class FormatterHelper extends Helper -{ - /** - * Formats a message within a section. - * - * @param string $section The section name - * @param string $message The message - * @param string $style The style to apply to the section - * - * @return string The format section - */ - public function formatSection($section, $message, $style = 'info') - { - return sprintf('<%s>[%s] %s', $style, $section, $style, $message); - } - - /** - * Formats a message as a block of text. - * - * @param string|array $messages The message to write in the block - * @param string $style The style to apply to the whole block - * @param bool $large Whether to return a large block - * - * @return string The formatter message - */ - public function formatBlock($messages, $style, $large = false) - { - if (!\is_array($messages)) { - $messages = [$messages]; - } - - $len = 0; - $lines = []; - foreach ($messages as $message) { - $message = OutputFormatter::escape($message); - $lines[] = sprintf($large ? ' %s ' : ' %s ', $message); - $len = max($this->strlen($message) + ($large ? 4 : 2), $len); - } - - $messages = $large ? [str_repeat(' ', $len)] : []; - for ($i = 0; isset($lines[$i]); ++$i) { - $messages[] = $lines[$i].str_repeat(' ', $len - $this->strlen($lines[$i])); - } - if ($large) { - $messages[] = str_repeat(' ', $len); - } - - for ($i = 0; isset($messages[$i]); ++$i) { - $messages[$i] = sprintf('<%s>%s', $style, $messages[$i], $style); - } - - return implode("\n", $messages); - } - - /** - * Truncates a message to the given length. - * - * @param string $message - * @param int $length - * @param string $suffix - * - * @return string - */ - public function truncate($message, $length, $suffix = '...') - { - $computedLength = $length - $this->strlen($suffix); - - if ($computedLength > $this->strlen($message)) { - return $message; - } - - if (false === $encoding = mb_detect_encoding($message, null, true)) { - return substr($message, 0, $length).$suffix; - } - - return mb_substr($message, 0, $length, $encoding).$suffix; - } - - /** - * {@inheritdoc} - */ - public function getName() - { - return 'formatter'; - } -} diff --git a/paragonik-backend/vendor/symfony/console/Helper/Helper.php b/paragonik-backend/vendor/symfony/console/Helper/Helper.php deleted file mode 100644 index 0ddddf6..0000000 --- a/paragonik-backend/vendor/symfony/console/Helper/Helper.php +++ /dev/null @@ -1,138 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Console\Helper; - -use Symfony\Component\Console\Formatter\OutputFormatterInterface; - -/** - * Helper is the base class for all helper classes. - * - * @author Fabien Potencier - */ -abstract class Helper implements HelperInterface -{ - protected $helperSet = null; - - /** - * {@inheritdoc} - */ - public function setHelperSet(HelperSet $helperSet = null) - { - $this->helperSet = $helperSet; - } - - /** - * {@inheritdoc} - */ - public function getHelperSet() - { - return $this->helperSet; - } - - /** - * Returns the length of a string, using mb_strwidth if it is available. - * - * @param string $string The string to check its length - * - * @return int The length of the string - */ - public static function strlen($string) - { - if (false === $encoding = mb_detect_encoding($string, null, true)) { - return \strlen($string); - } - - return mb_strwidth($string, $encoding); - } - - /** - * Returns the subset of a string, using mb_substr if it is available. - * - * @param string $string String to subset - * @param int $from Start offset - * @param int|null $length Length to read - * - * @return string The string subset - */ - public static function substr($string, $from, $length = null) - { - if (false === $encoding = mb_detect_encoding($string, null, true)) { - return substr($string, $from, $length); - } - - return mb_substr($string, $from, $length, $encoding); - } - - public static function formatTime($secs) - { - static $timeFormats = [ - [0, '< 1 sec'], - [1, '1 sec'], - [2, 'secs', 1], - [60, '1 min'], - [120, 'mins', 60], - [3600, '1 hr'], - [7200, 'hrs', 3600], - [86400, '1 day'], - [172800, 'days', 86400], - ]; - - foreach ($timeFormats as $index => $format) { - if ($secs >= $format[0]) { - if ((isset($timeFormats[$index + 1]) && $secs < $timeFormats[$index + 1][0]) - || $index == \count($timeFormats) - 1 - ) { - if (2 == \count($format)) { - return $format[1]; - } - - return floor($secs / $format[2]).' '.$format[1]; - } - } - } - } - - public static function formatMemory($memory) - { - if ($memory >= 1024 * 1024 * 1024) { - return sprintf('%.1f GiB', $memory / 1024 / 1024 / 1024); - } - - if ($memory >= 1024 * 1024) { - return sprintf('%.1f MiB', $memory / 1024 / 1024); - } - - if ($memory >= 1024) { - return sprintf('%d KiB', $memory / 1024); - } - - return sprintf('%d B', $memory); - } - - public static function strlenWithoutDecoration(OutputFormatterInterface $formatter, $string) - { - return self::strlen(self::removeDecoration($formatter, $string)); - } - - public static function removeDecoration(OutputFormatterInterface $formatter, $string) - { - $isDecorated = $formatter->isDecorated(); - $formatter->setDecorated(false); - // remove <...> formatting - $string = $formatter->format($string); - // remove already formatted characters - $string = preg_replace("/\033\[[^m]*m/", '', $string); - $formatter->setDecorated($isDecorated); - - return $string; - } -} diff --git a/paragonik-backend/vendor/symfony/console/Helper/HelperInterface.php b/paragonik-backend/vendor/symfony/console/Helper/HelperInterface.php deleted file mode 100644 index 1ce8235..0000000 --- a/paragonik-backend/vendor/symfony/console/Helper/HelperInterface.php +++ /dev/null @@ -1,39 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Console\Helper; - -/** - * HelperInterface is the interface all helpers must implement. - * - * @author Fabien Potencier - */ -interface HelperInterface -{ - /** - * Sets the helper set associated with this helper. - */ - public function setHelperSet(HelperSet $helperSet = null); - - /** - * Gets the helper set associated with this helper. - * - * @return HelperSet A HelperSet instance - */ - public function getHelperSet(); - - /** - * Returns the canonical name of this helper. - * - * @return string The canonical name - */ - public function getName(); -} diff --git a/paragonik-backend/vendor/symfony/console/Helper/HelperSet.php b/paragonik-backend/vendor/symfony/console/Helper/HelperSet.php deleted file mode 100644 index d9d73f2..0000000 --- a/paragonik-backend/vendor/symfony/console/Helper/HelperSet.php +++ /dev/null @@ -1,107 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Console\Helper; - -use Symfony\Component\Console\Command\Command; -use Symfony\Component\Console\Exception\InvalidArgumentException; - -/** - * HelperSet represents a set of helpers to be used with a command. - * - * @author Fabien Potencier - */ -class HelperSet implements \IteratorAggregate -{ - /** - * @var Helper[] - */ - private $helpers = []; - private $command; - - /** - * @param Helper[] $helpers An array of helper - */ - public function __construct(array $helpers = []) - { - foreach ($helpers as $alias => $helper) { - $this->set($helper, \is_int($alias) ? null : $alias); - } - } - - /** - * Sets a helper. - * - * @param string $alias An alias - */ - public function set(HelperInterface $helper, $alias = null) - { - $this->helpers[$helper->getName()] = $helper; - if (null !== $alias) { - $this->helpers[$alias] = $helper; - } - - $helper->setHelperSet($this); - } - - /** - * Returns true if the helper if defined. - * - * @param string $name The helper name - * - * @return bool true if the helper is defined, false otherwise - */ - public function has($name) - { - return isset($this->helpers[$name]); - } - - /** - * Gets a helper value. - * - * @param string $name The helper name - * - * @return HelperInterface The helper instance - * - * @throws InvalidArgumentException if the helper is not defined - */ - public function get($name) - { - if (!$this->has($name)) { - throw new InvalidArgumentException(sprintf('The helper "%s" is not defined.', $name)); - } - - return $this->helpers[$name]; - } - - public function setCommand(Command $command = null) - { - $this->command = $command; - } - - /** - * Gets the command associated with this helper set. - * - * @return Command A Command instance - */ - public function getCommand() - { - return $this->command; - } - - /** - * @return Helper[] - */ - public function getIterator() - { - return new \ArrayIterator($this->helpers); - } -} diff --git a/paragonik-backend/vendor/symfony/console/Helper/InputAwareHelper.php b/paragonik-backend/vendor/symfony/console/Helper/InputAwareHelper.php deleted file mode 100644 index 0d0dba2..0000000 --- a/paragonik-backend/vendor/symfony/console/Helper/InputAwareHelper.php +++ /dev/null @@ -1,33 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Console\Helper; - -use Symfony\Component\Console\Input\InputAwareInterface; -use Symfony\Component\Console\Input\InputInterface; - -/** - * An implementation of InputAwareInterface for Helpers. - * - * @author Wouter J - */ -abstract class InputAwareHelper extends Helper implements InputAwareInterface -{ - protected $input; - - /** - * {@inheritdoc} - */ - public function setInput(InputInterface $input) - { - $this->input = $input; - } -} diff --git a/paragonik-backend/vendor/symfony/console/Helper/ProcessHelper.php b/paragonik-backend/vendor/symfony/console/Helper/ProcessHelper.php deleted file mode 100644 index 5f512d2..0000000 --- a/paragonik-backend/vendor/symfony/console/Helper/ProcessHelper.php +++ /dev/null @@ -1,150 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Console\Helper; - -use Symfony\Component\Console\Output\ConsoleOutputInterface; -use Symfony\Component\Console\Output\OutputInterface; -use Symfony\Component\Process\Exception\ProcessFailedException; -use Symfony\Component\Process\Process; - -/** - * The ProcessHelper class provides helpers to run external processes. - * - * @author Fabien Potencier - * - * @final since Symfony 4.2 - */ -class ProcessHelper extends Helper -{ - /** - * Runs an external process. - * - * @param array|Process $cmd An instance of Process or an array of the command and arguments - * @param string|null $error An error message that must be displayed if something went wrong - * @param callable|null $callback A PHP callback to run whenever there is some - * output available on STDOUT or STDERR - * @param int $verbosity The threshold for verbosity - * - * @return Process The process that ran - */ - public function run(OutputInterface $output, $cmd, $error = null, callable $callback = null, $verbosity = OutputInterface::VERBOSITY_VERY_VERBOSE) - { - if ($output instanceof ConsoleOutputInterface) { - $output = $output->getErrorOutput(); - } - - $formatter = $this->getHelperSet()->get('debug_formatter'); - - if ($cmd instanceof Process) { - $cmd = [$cmd]; - } - - if (!\is_array($cmd)) { - @trigger_error(sprintf('Passing a command as a string to "%s()" is deprecated since Symfony 4.2, pass it the command as an array of arguments instead.', __METHOD__), E_USER_DEPRECATED); - $cmd = [method_exists(Process::class, 'fromShellCommandline') ? Process::fromShellCommandline($cmd) : new Process($cmd)]; - } - - if (\is_string($cmd[0] ?? null)) { - $process = new Process($cmd); - $cmd = []; - } elseif (($cmd[0] ?? null) instanceof Process) { - $process = $cmd[0]; - unset($cmd[0]); - } else { - throw new \InvalidArgumentException(sprintf('Invalid command provided to "%s()": the command should be an array whose first element is either the path to the binary to run or a "Process" object.', __METHOD__)); - } - - if ($verbosity <= $output->getVerbosity()) { - $output->write($formatter->start(spl_object_hash($process), $this->escapeString($process->getCommandLine()))); - } - - if ($output->isDebug()) { - $callback = $this->wrapCallback($output, $process, $callback); - } - - $process->run($callback, $cmd); - - if ($verbosity <= $output->getVerbosity()) { - $message = $process->isSuccessful() ? 'Command ran successfully' : sprintf('%s Command did not run successfully', $process->getExitCode()); - $output->write($formatter->stop(spl_object_hash($process), $message, $process->isSuccessful())); - } - - if (!$process->isSuccessful() && null !== $error) { - $output->writeln(sprintf('%s', $this->escapeString($error))); - } - - return $process; - } - - /** - * Runs the process. - * - * This is identical to run() except that an exception is thrown if the process - * exits with a non-zero exit code. - * - * @param string|Process $cmd An instance of Process or a command to run - * @param string|null $error An error message that must be displayed if something went wrong - * @param callable|null $callback A PHP callback to run whenever there is some - * output available on STDOUT or STDERR - * - * @return Process The process that ran - * - * @throws ProcessFailedException - * - * @see run() - */ - public function mustRun(OutputInterface $output, $cmd, $error = null, callable $callback = null) - { - $process = $this->run($output, $cmd, $error, $callback); - - if (!$process->isSuccessful()) { - throw new ProcessFailedException($process); - } - - return $process; - } - - /** - * Wraps a Process callback to add debugging output. - * - * @return callable - */ - public function wrapCallback(OutputInterface $output, Process $process, callable $callback = null) - { - if ($output instanceof ConsoleOutputInterface) { - $output = $output->getErrorOutput(); - } - - $formatter = $this->getHelperSet()->get('debug_formatter'); - - return function ($type, $buffer) use ($output, $process, $callback, $formatter) { - $output->write($formatter->progress(spl_object_hash($process), $this->escapeString($buffer), Process::ERR === $type)); - - if (null !== $callback) { - $callback($type, $buffer); - } - }; - } - - private function escapeString(string $str): string - { - return str_replace('<', '\\<', $str); - } - - /** - * {@inheritdoc} - */ - public function getName() - { - return 'process'; - } -} diff --git a/paragonik-backend/vendor/symfony/console/Helper/ProgressBar.php b/paragonik-backend/vendor/symfony/console/Helper/ProgressBar.php deleted file mode 100644 index e4f0a99..0000000 --- a/paragonik-backend/vendor/symfony/console/Helper/ProgressBar.php +++ /dev/null @@ -1,592 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Console\Helper; - -use Symfony\Component\Console\Exception\LogicException; -use Symfony\Component\Console\Output\ConsoleOutputInterface; -use Symfony\Component\Console\Output\ConsoleSectionOutput; -use Symfony\Component\Console\Output\OutputInterface; -use Symfony\Component\Console\Terminal; - -/** - * The ProgressBar provides helpers to display progress output. - * - * @author Fabien Potencier - * @author Chris Jones - */ -final class ProgressBar -{ - private $barWidth = 28; - private $barChar; - private $emptyBarChar = '-'; - private $progressChar = '>'; - private $format; - private $internalFormat; - private $redrawFreq = 1; - private $writeCount; - private $lastWriteTime; - private $minSecondsBetweenRedraws = 0; - private $maxSecondsBetweenRedraws = 1; - private $output; - private $step = 0; - private $max; - private $startTime; - private $stepWidth; - private $percent = 0.0; - private $formatLineCount; - private $messages = []; - private $overwrite = true; - private $terminal; - private $previousMessage; - - private static $formatters; - private static $formats; - - /** - * @param int $max Maximum steps (0 if unknown) - */ - public function __construct(OutputInterface $output, int $max = 0, float $minSecondsBetweenRedraws = 0.1) - { - if ($output instanceof ConsoleOutputInterface) { - $output = $output->getErrorOutput(); - } - - $this->output = $output; - $this->setMaxSteps($max); - $this->terminal = new Terminal(); - - if (0 < $minSecondsBetweenRedraws) { - $this->redrawFreq = null; - $this->minSecondsBetweenRedraws = $minSecondsBetweenRedraws; - } - - if (!$this->output->isDecorated()) { - // disable overwrite when output does not support ANSI codes. - $this->overwrite = false; - - // set a reasonable redraw frequency so output isn't flooded - $this->redrawFreq = null; - } - - $this->startTime = time(); - } - - /** - * Sets a placeholder formatter for a given name. - * - * This method also allow you to override an existing placeholder. - * - * @param string $name The placeholder name (including the delimiter char like %) - * @param callable $callable A PHP callable - */ - public static function setPlaceholderFormatterDefinition(string $name, callable $callable): void - { - if (!self::$formatters) { - self::$formatters = self::initPlaceholderFormatters(); - } - - self::$formatters[$name] = $callable; - } - - /** - * Gets the placeholder formatter for a given name. - * - * @param string $name The placeholder name (including the delimiter char like %) - * - * @return callable|null A PHP callable - */ - public static function getPlaceholderFormatterDefinition(string $name): ?callable - { - if (!self::$formatters) { - self::$formatters = self::initPlaceholderFormatters(); - } - - return isset(self::$formatters[$name]) ? self::$formatters[$name] : null; - } - - /** - * Sets a format for a given name. - * - * This method also allow you to override an existing format. - * - * @param string $name The format name - * @param string $format A format string - */ - public static function setFormatDefinition(string $name, string $format): void - { - if (!self::$formats) { - self::$formats = self::initFormats(); - } - - self::$formats[$name] = $format; - } - - /** - * Gets the format for a given name. - * - * @param string $name The format name - * - * @return string|null A format string - */ - public static function getFormatDefinition(string $name): ?string - { - if (!self::$formats) { - self::$formats = self::initFormats(); - } - - return isset(self::$formats[$name]) ? self::$formats[$name] : null; - } - - /** - * Associates a text with a named placeholder. - * - * The text is displayed when the progress bar is rendered but only - * when the corresponding placeholder is part of the custom format line - * (by wrapping the name with %). - * - * @param string $message The text to associate with the placeholder - * @param string $name The name of the placeholder - */ - public function setMessage(string $message, string $name = 'message') - { - $this->messages[$name] = $message; - } - - public function getMessage(string $name = 'message') - { - return $this->messages[$name]; - } - - public function getStartTime(): int - { - return $this->startTime; - } - - public function getMaxSteps(): int - { - return $this->max; - } - - public function getProgress(): int - { - return $this->step; - } - - private function getStepWidth(): int - { - return $this->stepWidth; - } - - public function getProgressPercent(): float - { - return $this->percent; - } - - public function getBarOffset(): int - { - return floor($this->max ? $this->percent * $this->barWidth : (null === $this->redrawFreq ? min(5, $this->barWidth / 15) * $this->writeCount : $this->step) % $this->barWidth); - } - - public function setBarWidth(int $size) - { - $this->barWidth = max(1, $size); - } - - public function getBarWidth(): int - { - return $this->barWidth; - } - - public function setBarCharacter(string $char) - { - $this->barChar = $char; - } - - public function getBarCharacter(): string - { - if (null === $this->barChar) { - return $this->max ? '=' : $this->emptyBarChar; - } - - return $this->barChar; - } - - public function setEmptyBarCharacter(string $char) - { - $this->emptyBarChar = $char; - } - - public function getEmptyBarCharacter(): string - { - return $this->emptyBarChar; - } - - public function setProgressCharacter(string $char) - { - $this->progressChar = $char; - } - - public function getProgressCharacter(): string - { - return $this->progressChar; - } - - public function setFormat(string $format) - { - $this->format = null; - $this->internalFormat = $format; - } - - /** - * Sets the redraw frequency. - * - * @param int|float $freq The frequency in steps - */ - public function setRedrawFrequency(?int $freq) - { - $this->redrawFreq = null !== $freq ? max(1, $freq) : null; - } - - public function minSecondsBetweenRedraws(float $seconds): void - { - $this->minSecondsBetweenRedraws = $seconds; - } - - public function maxSecondsBetweenRedraws(float $seconds): void - { - $this->maxSecondsBetweenRedraws = $seconds; - } - - /** - * Returns an iterator that will automatically update the progress bar when iterated. - * - * @param int|null $max Number of steps to complete the bar (0 if indeterminate), if null it will be inferred from $iterable - */ - public function iterate(iterable $iterable, int $max = null): iterable - { - $this->start($max ?? (is_countable($iterable) ? \count($iterable) : 0)); - - foreach ($iterable as $key => $value) { - yield $key => $value; - - $this->advance(); - } - - $this->finish(); - } - - /** - * Starts the progress output. - * - * @param int|null $max Number of steps to complete the bar (0 if indeterminate), null to leave unchanged - */ - public function start(int $max = null) - { - $this->startTime = time(); - $this->step = 0; - $this->percent = 0.0; - - if (null !== $max) { - $this->setMaxSteps($max); - } - - $this->display(); - } - - /** - * Advances the progress output X steps. - * - * @param int $step Number of steps to advance - */ - public function advance(int $step = 1) - { - $this->setProgress($this->step + $step); - } - - /** - * Sets whether to overwrite the progressbar, false for new line. - */ - public function setOverwrite(bool $overwrite) - { - $this->overwrite = $overwrite; - } - - public function setProgress(int $step) - { - if ($this->max && $step > $this->max) { - $this->max = $step; - } elseif ($step < 0) { - $step = 0; - } - - $redrawFreq = $this->redrawFreq ?? (($this->max ?: 10) / 10); - $prevPeriod = (int) ($this->step / $redrawFreq); - $currPeriod = (int) ($step / $redrawFreq); - $this->step = $step; - $this->percent = $this->max ? (float) $this->step / $this->max : 0; - $timeInterval = microtime(true) - $this->lastWriteTime; - - // Draw regardless of other limits - if ($this->max === $step) { - $this->display(); - - return; - } - - // Throttling - if ($timeInterval < $this->minSecondsBetweenRedraws) { - return; - } - - // Draw each step period, but not too late - if ($prevPeriod !== $currPeriod || $timeInterval >= $this->maxSecondsBetweenRedraws) { - $this->display(); - } - } - - public function setMaxSteps(int $max) - { - $this->format = null; - $this->max = max(0, $max); - $this->stepWidth = $this->max ? Helper::strlen((string) $this->max) : 4; - } - - /** - * Finishes the progress output. - */ - public function finish(): void - { - if (!$this->max) { - $this->max = $this->step; - } - - if ($this->step === $this->max && !$this->overwrite) { - // prevent double 100% output - return; - } - - $this->setProgress($this->max); - } - - /** - * Outputs the current progress string. - */ - public function display(): void - { - if (OutputInterface::VERBOSITY_QUIET === $this->output->getVerbosity()) { - return; - } - - if (null === $this->format) { - $this->setRealFormat($this->internalFormat ?: $this->determineBestFormat()); - } - - $this->overwrite($this->buildLine()); - } - - /** - * Removes the progress bar from the current line. - * - * This is useful if you wish to write some output - * while a progress bar is running. - * Call display() to show the progress bar again. - */ - public function clear(): void - { - if (!$this->overwrite) { - return; - } - - if (null === $this->format) { - $this->setRealFormat($this->internalFormat ?: $this->determineBestFormat()); - } - - $this->overwrite(''); - } - - private function setRealFormat(string $format) - { - // try to use the _nomax variant if available - if (!$this->max && null !== self::getFormatDefinition($format.'_nomax')) { - $this->format = self::getFormatDefinition($format.'_nomax'); - } elseif (null !== self::getFormatDefinition($format)) { - $this->format = self::getFormatDefinition($format); - } else { - $this->format = $format; - } - - $this->formatLineCount = substr_count($this->format, "\n"); - } - - /** - * Overwrites a previous message to the output. - */ - private function overwrite(string $message): void - { - if ($this->previousMessage === $message) { - return; - } - - $originalMessage = $message; - - if ($this->overwrite) { - if (null !== $this->previousMessage) { - if ($this->output instanceof ConsoleSectionOutput) { - $lines = floor(Helper::strlen($message) / $this->terminal->getWidth()) + $this->formatLineCount + 1; - $this->output->clear($lines); - } else { - // Erase previous lines - if ($this->formatLineCount > 0) { - $message = str_repeat("\x1B[1A\x1B[2K", $this->formatLineCount).$message; - } - - // Move the cursor to the beginning of the line and erase the line - $message = "\x0D\x1B[2K$message"; - } - } - } elseif ($this->step > 0) { - $message = PHP_EOL.$message; - } - - $this->previousMessage = $originalMessage; - $this->lastWriteTime = microtime(true); - - $this->output->write($message); - ++$this->writeCount; - } - - private function determineBestFormat(): string - { - switch ($this->output->getVerbosity()) { - // OutputInterface::VERBOSITY_QUIET: display is disabled anyway - case OutputInterface::VERBOSITY_VERBOSE: - return $this->max ? 'verbose' : 'verbose_nomax'; - case OutputInterface::VERBOSITY_VERY_VERBOSE: - return $this->max ? 'very_verbose' : 'very_verbose_nomax'; - case OutputInterface::VERBOSITY_DEBUG: - return $this->max ? 'debug' : 'debug_nomax'; - default: - return $this->max ? 'normal' : 'normal_nomax'; - } - } - - private static function initPlaceholderFormatters(): array - { - return [ - 'bar' => function (self $bar, OutputInterface $output) { - $completeBars = $bar->getBarOffset(); - $display = str_repeat($bar->getBarCharacter(), $completeBars); - if ($completeBars < $bar->getBarWidth()) { - $emptyBars = $bar->getBarWidth() - $completeBars - Helper::strlenWithoutDecoration($output->getFormatter(), $bar->getProgressCharacter()); - $display .= $bar->getProgressCharacter().str_repeat($bar->getEmptyBarCharacter(), $emptyBars); - } - - return $display; - }, - 'elapsed' => function (self $bar) { - return Helper::formatTime(time() - $bar->getStartTime()); - }, - 'remaining' => function (self $bar) { - if (!$bar->getMaxSteps()) { - throw new LogicException('Unable to display the remaining time if the maximum number of steps is not set.'); - } - - if (!$bar->getProgress()) { - $remaining = 0; - } else { - $remaining = round((time() - $bar->getStartTime()) / $bar->getProgress() * ($bar->getMaxSteps() - $bar->getProgress())); - } - - return Helper::formatTime($remaining); - }, - 'estimated' => function (self $bar) { - if (!$bar->getMaxSteps()) { - throw new LogicException('Unable to display the estimated time if the maximum number of steps is not set.'); - } - - if (!$bar->getProgress()) { - $estimated = 0; - } else { - $estimated = round((time() - $bar->getStartTime()) / $bar->getProgress() * $bar->getMaxSteps()); - } - - return Helper::formatTime($estimated); - }, - 'memory' => function (self $bar) { - return Helper::formatMemory(memory_get_usage(true)); - }, - 'current' => function (self $bar) { - return str_pad($bar->getProgress(), $bar->getStepWidth(), ' ', STR_PAD_LEFT); - }, - 'max' => function (self $bar) { - return $bar->getMaxSteps(); - }, - 'percent' => function (self $bar) { - return floor($bar->getProgressPercent() * 100); - }, - ]; - } - - private static function initFormats(): array - { - return [ - 'normal' => ' %current%/%max% [%bar%] %percent:3s%%', - 'normal_nomax' => ' %current% [%bar%]', - - 'verbose' => ' %current%/%max% [%bar%] %percent:3s%% %elapsed:6s%', - 'verbose_nomax' => ' %current% [%bar%] %elapsed:6s%', - - 'very_verbose' => ' %current%/%max% [%bar%] %percent:3s%% %elapsed:6s%/%estimated:-6s%', - 'very_verbose_nomax' => ' %current% [%bar%] %elapsed:6s%', - - 'debug' => ' %current%/%max% [%bar%] %percent:3s%% %elapsed:6s%/%estimated:-6s% %memory:6s%', - 'debug_nomax' => ' %current% [%bar%] %elapsed:6s% %memory:6s%', - ]; - } - - private function buildLine(): string - { - $regex = "{%([a-z\-_]+)(?:\:([^%]+))?%}i"; - $callback = function ($matches) { - if ($formatter = $this::getPlaceholderFormatterDefinition($matches[1])) { - $text = $formatter($this, $this->output); - } elseif (isset($this->messages[$matches[1]])) { - $text = $this->messages[$matches[1]]; - } else { - return $matches[0]; - } - - if (isset($matches[2])) { - $text = sprintf('%'.$matches[2], $text); - } - - return $text; - }; - $line = preg_replace_callback($regex, $callback, $this->format); - - // gets string length for each sub line with multiline format - $linesLength = array_map(function ($subLine) { - return Helper::strlenWithoutDecoration($this->output->getFormatter(), rtrim($subLine, "\r")); - }, explode("\n", $line)); - - $linesWidth = max($linesLength); - - $terminalWidth = $this->terminal->getWidth(); - if ($linesWidth <= $terminalWidth) { - return $line; - } - - $this->setBarWidth($this->barWidth - $linesWidth + $terminalWidth); - - return preg_replace_callback($regex, $callback, $this->format); - } -} diff --git a/paragonik-backend/vendor/symfony/console/Helper/ProgressIndicator.php b/paragonik-backend/vendor/symfony/console/Helper/ProgressIndicator.php deleted file mode 100644 index 04db8f7..0000000 --- a/paragonik-backend/vendor/symfony/console/Helper/ProgressIndicator.php +++ /dev/null @@ -1,266 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Console\Helper; - -use Symfony\Component\Console\Exception\InvalidArgumentException; -use Symfony\Component\Console\Exception\LogicException; -use Symfony\Component\Console\Output\OutputInterface; - -/** - * @author Kevin Bond - */ -class ProgressIndicator -{ - private $output; - private $startTime; - private $format; - private $message; - private $indicatorValues; - private $indicatorCurrent; - private $indicatorChangeInterval; - private $indicatorUpdateTime; - private $started = false; - - private static $formatters; - private static $formats; - - /** - * @param string|null $format Indicator format - * @param int $indicatorChangeInterval Change interval in milliseconds - * @param array|null $indicatorValues Animated indicator characters - */ - public function __construct(OutputInterface $output, string $format = null, int $indicatorChangeInterval = 100, array $indicatorValues = null) - { - $this->output = $output; - - if (null === $format) { - $format = $this->determineBestFormat(); - } - - if (null === $indicatorValues) { - $indicatorValues = ['-', '\\', '|', '/']; - } - - $indicatorValues = array_values($indicatorValues); - - if (2 > \count($indicatorValues)) { - throw new InvalidArgumentException('Must have at least 2 indicator value characters.'); - } - - $this->format = self::getFormatDefinition($format); - $this->indicatorChangeInterval = $indicatorChangeInterval; - $this->indicatorValues = $indicatorValues; - $this->startTime = time(); - } - - /** - * Sets the current indicator message. - * - * @param string|null $message - */ - public function setMessage($message) - { - $this->message = $message; - - $this->display(); - } - - /** - * Starts the indicator output. - * - * @param $message - */ - public function start($message) - { - if ($this->started) { - throw new LogicException('Progress indicator already started.'); - } - - $this->message = $message; - $this->started = true; - $this->startTime = time(); - $this->indicatorUpdateTime = $this->getCurrentTimeInMilliseconds() + $this->indicatorChangeInterval; - $this->indicatorCurrent = 0; - - $this->display(); - } - - /** - * Advances the indicator. - */ - public function advance() - { - if (!$this->started) { - throw new LogicException('Progress indicator has not yet been started.'); - } - - if (!$this->output->isDecorated()) { - return; - } - - $currentTime = $this->getCurrentTimeInMilliseconds(); - - if ($currentTime < $this->indicatorUpdateTime) { - return; - } - - $this->indicatorUpdateTime = $currentTime + $this->indicatorChangeInterval; - ++$this->indicatorCurrent; - - $this->display(); - } - - /** - * Finish the indicator with message. - * - * @param $message - */ - public function finish($message) - { - if (!$this->started) { - throw new LogicException('Progress indicator has not yet been started.'); - } - - $this->message = $message; - $this->display(); - $this->output->writeln(''); - $this->started = false; - } - - /** - * Gets the format for a given name. - * - * @param string $name The format name - * - * @return string|null A format string - */ - public static function getFormatDefinition($name) - { - if (!self::$formats) { - self::$formats = self::initFormats(); - } - - return isset(self::$formats[$name]) ? self::$formats[$name] : null; - } - - /** - * Sets a placeholder formatter for a given name. - * - * This method also allow you to override an existing placeholder. - * - * @param string $name The placeholder name (including the delimiter char like %) - * @param callable $callable A PHP callable - */ - public static function setPlaceholderFormatterDefinition($name, $callable) - { - if (!self::$formatters) { - self::$formatters = self::initPlaceholderFormatters(); - } - - self::$formatters[$name] = $callable; - } - - /** - * Gets the placeholder formatter for a given name. - * - * @param string $name The placeholder name (including the delimiter char like %) - * - * @return callable|null A PHP callable - */ - public static function getPlaceholderFormatterDefinition($name) - { - if (!self::$formatters) { - self::$formatters = self::initPlaceholderFormatters(); - } - - return isset(self::$formatters[$name]) ? self::$formatters[$name] : null; - } - - private function display() - { - if (OutputInterface::VERBOSITY_QUIET === $this->output->getVerbosity()) { - return; - } - - $this->overwrite(preg_replace_callback("{%([a-z\-_]+)(?:\:([^%]+))?%}i", function ($matches) { - if ($formatter = self::getPlaceholderFormatterDefinition($matches[1])) { - return $formatter($this); - } - - return $matches[0]; - }, $this->format)); - } - - private function determineBestFormat(): string - { - switch ($this->output->getVerbosity()) { - // OutputInterface::VERBOSITY_QUIET: display is disabled anyway - case OutputInterface::VERBOSITY_VERBOSE: - return $this->output->isDecorated() ? 'verbose' : 'verbose_no_ansi'; - case OutputInterface::VERBOSITY_VERY_VERBOSE: - case OutputInterface::VERBOSITY_DEBUG: - return $this->output->isDecorated() ? 'very_verbose' : 'very_verbose_no_ansi'; - default: - return $this->output->isDecorated() ? 'normal' : 'normal_no_ansi'; - } - } - - /** - * Overwrites a previous message to the output. - */ - private function overwrite(string $message) - { - if ($this->output->isDecorated()) { - $this->output->write("\x0D\x1B[2K"); - $this->output->write($message); - } else { - $this->output->writeln($message); - } - } - - private function getCurrentTimeInMilliseconds(): float - { - return round(microtime(true) * 1000); - } - - private static function initPlaceholderFormatters(): array - { - return [ - 'indicator' => function (self $indicator) { - return $indicator->indicatorValues[$indicator->indicatorCurrent % \count($indicator->indicatorValues)]; - }, - 'message' => function (self $indicator) { - return $indicator->message; - }, - 'elapsed' => function (self $indicator) { - return Helper::formatTime(time() - $indicator->startTime); - }, - 'memory' => function () { - return Helper::formatMemory(memory_get_usage(true)); - }, - ]; - } - - private static function initFormats(): array - { - return [ - 'normal' => ' %indicator% %message%', - 'normal_no_ansi' => ' %message%', - - 'verbose' => ' %indicator% %message% (%elapsed:6s%)', - 'verbose_no_ansi' => ' %message% (%elapsed:6s%)', - - 'very_verbose' => ' %indicator% %message% (%elapsed:6s%, %memory:6s%)', - 'very_verbose_no_ansi' => ' %message% (%elapsed:6s%, %memory:6s%)', - ]; - } -} diff --git a/paragonik-backend/vendor/symfony/console/Helper/QuestionHelper.php b/paragonik-backend/vendor/symfony/console/Helper/QuestionHelper.php deleted file mode 100644 index faf2648..0000000 --- a/paragonik-backend/vendor/symfony/console/Helper/QuestionHelper.php +++ /dev/null @@ -1,473 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Console\Helper; - -use Symfony\Component\Console\Exception\RuntimeException; -use Symfony\Component\Console\Formatter\OutputFormatter; -use Symfony\Component\Console\Formatter\OutputFormatterStyle; -use Symfony\Component\Console\Input\InputInterface; -use Symfony\Component\Console\Input\StreamableInputInterface; -use Symfony\Component\Console\Output\ConsoleOutputInterface; -use Symfony\Component\Console\Output\ConsoleSectionOutput; -use Symfony\Component\Console\Output\OutputInterface; -use Symfony\Component\Console\Question\ChoiceQuestion; -use Symfony\Component\Console\Question\Question; -use Symfony\Component\Console\Terminal; - -/** - * The QuestionHelper class provides helpers to interact with the user. - * - * @author Fabien Potencier - */ -class QuestionHelper extends Helper -{ - private $inputStream; - private static $shell; - private static $stty; - - /** - * Asks a question to the user. - * - * @return mixed The user answer - * - * @throws RuntimeException If there is no data to read in the input stream - */ - public function ask(InputInterface $input, OutputInterface $output, Question $question) - { - if ($output instanceof ConsoleOutputInterface) { - $output = $output->getErrorOutput(); - } - - if (!$input->isInteractive()) { - $default = $question->getDefault(); - - if (null === $default) { - return $default; - } - - if ($validator = $question->getValidator()) { - return \call_user_func($question->getValidator(), $default); - } elseif ($question instanceof ChoiceQuestion) { - $choices = $question->getChoices(); - - if (!$question->isMultiselect()) { - return isset($choices[$default]) ? $choices[$default] : $default; - } - - $default = explode(',', $default); - foreach ($default as $k => $v) { - $v = $question->isTrimmable() ? trim($v) : $v; - $default[$k] = isset($choices[$v]) ? $choices[$v] : $v; - } - } - - return $default; - } - - if ($input instanceof StreamableInputInterface && $stream = $input->getStream()) { - $this->inputStream = $stream; - } - - if (!$question->getValidator()) { - return $this->doAsk($output, $question); - } - - $interviewer = function () use ($output, $question) { - return $this->doAsk($output, $question); - }; - - return $this->validateAttempts($interviewer, $output, $question); - } - - /** - * {@inheritdoc} - */ - public function getName() - { - return 'question'; - } - - /** - * Prevents usage of stty. - */ - public static function disableStty() - { - self::$stty = false; - } - - /** - * Asks the question to the user. - * - * @return bool|mixed|string|null - * - * @throws RuntimeException In case the fallback is deactivated and the response cannot be hidden - */ - private function doAsk(OutputInterface $output, Question $question) - { - $this->writePrompt($output, $question); - - $inputStream = $this->inputStream ?: STDIN; - $autocomplete = $question->getAutocompleterCallback(); - - if (null === $autocomplete || !Terminal::hasSttyAvailable()) { - $ret = false; - if ($question->isHidden()) { - try { - $hiddenResponse = $this->getHiddenResponse($output, $inputStream, $question->isTrimmable()); - $ret = $question->isTrimmable() ? trim($hiddenResponse) : $hiddenResponse; - } catch (RuntimeException $e) { - if (!$question->isHiddenFallback()) { - throw $e; - } - } - } - - if (false === $ret) { - $ret = fgets($inputStream, 4096); - if (false === $ret) { - throw new RuntimeException('Aborted.'); - } - if ($question->isTrimmable()) { - $ret = trim($ret); - } - } - } else { - $autocomplete = $this->autocomplete($output, $question, $inputStream, $autocomplete); - $ret = $question->isTrimmable() ? trim($autocomplete) : $autocomplete; - } - - if ($output instanceof ConsoleSectionOutput) { - $output->addContent($ret); - } - - $ret = \strlen($ret) > 0 ? $ret : $question->getDefault(); - - if ($normalizer = $question->getNormalizer()) { - return $normalizer($ret); - } - - return $ret; - } - - /** - * Outputs the question prompt. - */ - protected function writePrompt(OutputInterface $output, Question $question) - { - $message = $question->getQuestion(); - - if ($question instanceof ChoiceQuestion) { - $maxWidth = max(array_map([$this, 'strlen'], array_keys($question->getChoices()))); - - $messages = (array) $question->getQuestion(); - foreach ($question->getChoices() as $key => $value) { - $width = $maxWidth - $this->strlen($key); - $messages[] = ' ['.$key.str_repeat(' ', $width).'] '.$value; - } - - $output->writeln($messages); - - $message = $question->getPrompt(); - } - - $output->write($message); - } - - /** - * Outputs an error message. - */ - protected function writeError(OutputInterface $output, \Exception $error) - { - if (null !== $this->getHelperSet() && $this->getHelperSet()->has('formatter')) { - $message = $this->getHelperSet()->get('formatter')->formatBlock($error->getMessage(), 'error'); - } else { - $message = ''.$error->getMessage().''; - } - - $output->writeln($message); - } - - /** - * Autocompletes a question. - * - * @param resource $inputStream - */ - private function autocomplete(OutputInterface $output, Question $question, $inputStream, callable $autocomplete): string - { - $fullChoice = ''; - $ret = ''; - - $i = 0; - $ofs = -1; - $matches = $autocomplete($ret); - $numMatches = \count($matches); - - $sttyMode = shell_exec('stty -g'); - - // Disable icanon (so we can fread each keypress) and echo (we'll do echoing here instead) - shell_exec('stty -icanon -echo'); - - // Add highlighted text style - $output->getFormatter()->setStyle('hl', new OutputFormatterStyle('black', 'white')); - - // Read a keypress - while (!feof($inputStream)) { - $c = fread($inputStream, 1); - - // as opposed to fgets(), fread() returns an empty string when the stream content is empty, not false. - if (false === $c || ('' === $ret && '' === $c && null === $question->getDefault())) { - shell_exec(sprintf('stty %s', $sttyMode)); - throw new RuntimeException('Aborted.'); - } elseif ("\177" === $c) { // Backspace Character - if (0 === $numMatches && 0 !== $i) { - --$i; - $fullChoice = self::substr($fullChoice, 0, $i); - // Move cursor backwards - $output->write("\033[1D"); - } - - if (0 === $i) { - $ofs = -1; - $matches = $autocomplete($ret); - $numMatches = \count($matches); - } else { - $numMatches = 0; - } - - // Pop the last character off the end of our string - $ret = self::substr($ret, 0, $i); - } elseif ("\033" === $c) { - // Did we read an escape sequence? - $c .= fread($inputStream, 2); - - // A = Up Arrow. B = Down Arrow - if (isset($c[2]) && ('A' === $c[2] || 'B' === $c[2])) { - if ('A' === $c[2] && -1 === $ofs) { - $ofs = 0; - } - - if (0 === $numMatches) { - continue; - } - - $ofs += ('A' === $c[2]) ? -1 : 1; - $ofs = ($numMatches + $ofs) % $numMatches; - } - } elseif (\ord($c) < 32) { - if ("\t" === $c || "\n" === $c) { - if ($numMatches > 0 && -1 !== $ofs) { - $ret = (string) $matches[$ofs]; - // Echo out remaining chars for current match - $remainingCharacters = substr($ret, \strlen(trim($this->mostRecentlyEnteredValue($fullChoice)))); - $output->write($remainingCharacters); - $fullChoice .= $remainingCharacters; - $i = self::strlen($fullChoice); - - $matches = array_filter( - $autocomplete($ret), - function ($match) use ($ret) { - return '' === $ret || 0 === strpos($match, $ret); - } - ); - $numMatches = \count($matches); - $ofs = -1; - } - - if ("\n" === $c) { - $output->write($c); - break; - } - - $numMatches = 0; - } - - continue; - } else { - if ("\x80" <= $c) { - $c .= fread($inputStream, ["\xC0" => 1, "\xD0" => 1, "\xE0" => 2, "\xF0" => 3][$c & "\xF0"]); - } - - $output->write($c); - $ret .= $c; - $fullChoice .= $c; - ++$i; - - $tempRet = $ret; - - if ($question instanceof ChoiceQuestion && $question->isMultiselect()) { - $tempRet = $this->mostRecentlyEnteredValue($fullChoice); - } - - $numMatches = 0; - $ofs = 0; - - foreach ($autocomplete($ret) as $value) { - // If typed characters match the beginning chunk of value (e.g. [AcmeDe]moBundle) - if (0 === strpos($value, $tempRet)) { - $matches[$numMatches++] = $value; - } - } - } - - // Erase characters from cursor to end of line - $output->write("\033[K"); - - if ($numMatches > 0 && -1 !== $ofs) { - // Save cursor position - $output->write("\0337"); - // Write highlighted text, complete the partially entered response - $charactersEntered = \strlen(trim($this->mostRecentlyEnteredValue($fullChoice))); - $output->write(''.OutputFormatter::escapeTrailingBackslash(substr($matches[$ofs], $charactersEntered)).''); - // Restore cursor position - $output->write("\0338"); - } - } - - // Reset stty so it behaves normally again - shell_exec(sprintf('stty %s', $sttyMode)); - - return $fullChoice; - } - - private function mostRecentlyEnteredValue(string $entered): string - { - // Determine the most recent value that the user entered - if (false === strpos($entered, ',')) { - return $entered; - } - - $choices = explode(',', $entered); - if (\strlen($lastChoice = trim($choices[\count($choices) - 1])) > 0) { - return $lastChoice; - } - - return $entered; - } - - /** - * Gets a hidden response from user. - * - * @param resource $inputStream The handler resource - * @param bool $trimmable Is the answer trimmable - * - * @throws RuntimeException In case the fallback is deactivated and the response cannot be hidden - */ - private function getHiddenResponse(OutputInterface $output, $inputStream, bool $trimmable = true): string - { - if ('\\' === \DIRECTORY_SEPARATOR) { - $exe = __DIR__.'/../Resources/bin/hiddeninput.exe'; - - // handle code running from a phar - if ('phar:' === substr(__FILE__, 0, 5)) { - $tmpExe = sys_get_temp_dir().'/hiddeninput.exe'; - copy($exe, $tmpExe); - $exe = $tmpExe; - } - - $sExec = shell_exec($exe); - $value = $trimmable ? rtrim($sExec) : $sExec; - $output->writeln(''); - - if (isset($tmpExe)) { - unlink($tmpExe); - } - - return $value; - } - - if (Terminal::hasSttyAvailable()) { - $sttyMode = shell_exec('stty -g'); - - shell_exec('stty -echo'); - $value = fgets($inputStream, 4096); - shell_exec(sprintf('stty %s', $sttyMode)); - - if (false === $value) { - throw new RuntimeException('Aborted.'); - } - if ($trimmable) { - $value = trim($value); - } - $output->writeln(''); - - return $value; - } - - if (false !== $shell = $this->getShell()) { - $readCmd = 'csh' === $shell ? 'set mypassword = $<' : 'read -r mypassword'; - $command = sprintf("/usr/bin/env %s -c 'stty -echo; %s; stty echo; echo \$mypassword'", $shell, $readCmd); - $sCommand = shell_exec($command); - $value = $trimmable ? rtrim($sCommand) : $sCommand; - $output->writeln(''); - - return $value; - } - - throw new RuntimeException('Unable to hide the response.'); - } - - /** - * Validates an attempt. - * - * @param callable $interviewer A callable that will ask for a question and return the result - * - * @return mixed The validated response - * - * @throws \Exception In case the max number of attempts has been reached and no valid response has been given - */ - private function validateAttempts(callable $interviewer, OutputInterface $output, Question $question) - { - $error = null; - $attempts = $question->getMaxAttempts(); - while (null === $attempts || $attempts--) { - if (null !== $error) { - $this->writeError($output, $error); - } - - try { - return $question->getValidator()($interviewer()); - } catch (RuntimeException $e) { - throw $e; - } catch (\Exception $error) { - } - } - - throw $error; - } - - /** - * Returns a valid unix shell. - * - * @return string|bool The valid shell name, false in case no valid shell is found - */ - private function getShell() - { - if (null !== self::$shell) { - return self::$shell; - } - - self::$shell = false; - - if (file_exists('/usr/bin/env')) { - // handle other OSs with bash/zsh/ksh/csh if available to hide the answer - $test = "/usr/bin/env %s -c 'echo OK' 2> /dev/null"; - foreach (['bash', 'zsh', 'ksh', 'csh'] as $sh) { - if ('OK' === rtrim(shell_exec(sprintf($test, $sh)))) { - self::$shell = $sh; - break; - } - } - } - - return self::$shell; - } -} diff --git a/paragonik-backend/vendor/symfony/console/Helper/SymfonyQuestionHelper.php b/paragonik-backend/vendor/symfony/console/Helper/SymfonyQuestionHelper.php deleted file mode 100644 index 260c03e..0000000 --- a/paragonik-backend/vendor/symfony/console/Helper/SymfonyQuestionHelper.php +++ /dev/null @@ -1,96 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Console\Helper; - -use Symfony\Component\Console\Formatter\OutputFormatter; -use Symfony\Component\Console\Output\OutputInterface; -use Symfony\Component\Console\Question\ChoiceQuestion; -use Symfony\Component\Console\Question\ConfirmationQuestion; -use Symfony\Component\Console\Question\Question; -use Symfony\Component\Console\Style\SymfonyStyle; - -/** - * Symfony Style Guide compliant question helper. - * - * @author Kevin Bond - */ -class SymfonyQuestionHelper extends QuestionHelper -{ - /** - * {@inheritdoc} - */ - protected function writePrompt(OutputInterface $output, Question $question) - { - $text = OutputFormatter::escapeTrailingBackslash($question->getQuestion()); - $default = $question->getDefault(); - - switch (true) { - case null === $default: - $text = sprintf(' %s:', $text); - - break; - - case $question instanceof ConfirmationQuestion: - $text = sprintf(' %s (yes/no) [%s]:', $text, $default ? 'yes' : 'no'); - - break; - - case $question instanceof ChoiceQuestion && $question->isMultiselect(): - $choices = $question->getChoices(); - $default = explode(',', $default); - - foreach ($default as $key => $value) { - $default[$key] = $choices[trim($value)]; - } - - $text = sprintf(' %s [%s]:', $text, OutputFormatter::escape(implode(', ', $default))); - - break; - - case $question instanceof ChoiceQuestion: - $choices = $question->getChoices(); - $text = sprintf(' %s [%s]:', $text, OutputFormatter::escape(isset($choices[$default]) ? $choices[$default] : $default)); - - break; - - default: - $text = sprintf(' %s [%s]:', $text, OutputFormatter::escape($default)); - } - - $output->writeln($text); - - if ($question instanceof ChoiceQuestion) { - $width = max(array_map('strlen', array_keys($question->getChoices()))); - - foreach ($question->getChoices() as $key => $value) { - $output->writeln(sprintf(" [%-${width}s] %s", $key, $value)); - } - } - - $output->write(' > '); - } - - /** - * {@inheritdoc} - */ - protected function writeError(OutputInterface $output, \Exception $error) - { - if ($output instanceof SymfonyStyle) { - $output->newLine(); - $output->error($error->getMessage()); - - return; - } - - parent::writeError($output, $error); - } -} diff --git a/paragonik-backend/vendor/symfony/console/Helper/Table.php b/paragonik-backend/vendor/symfony/console/Helper/Table.php deleted file mode 100644 index 24613bb..0000000 --- a/paragonik-backend/vendor/symfony/console/Helper/Table.php +++ /dev/null @@ -1,846 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Console\Helper; - -use Symfony\Component\Console\Exception\InvalidArgumentException; -use Symfony\Component\Console\Exception\RuntimeException; -use Symfony\Component\Console\Formatter\OutputFormatter; -use Symfony\Component\Console\Formatter\WrappableOutputFormatterInterface; -use Symfony\Component\Console\Output\ConsoleSectionOutput; -use Symfony\Component\Console\Output\OutputInterface; - -/** - * Provides helpers to display a table. - * - * @author Fabien Potencier - * @author Саша Стаменковић - * @author Abdellatif Ait boudad - * @author Max Grigorian - * @author Dany Maillard - */ -class Table -{ - private const SEPARATOR_TOP = 0; - private const SEPARATOR_TOP_BOTTOM = 1; - private const SEPARATOR_MID = 2; - private const SEPARATOR_BOTTOM = 3; - private const BORDER_OUTSIDE = 0; - private const BORDER_INSIDE = 1; - - private $headerTitle; - private $footerTitle; - - /** - * Table headers. - */ - private $headers = []; - - /** - * Table rows. - */ - private $rows = []; - private $horizontal = false; - - /** - * Column widths cache. - */ - private $effectiveColumnWidths = []; - - /** - * Number of columns cache. - * - * @var int - */ - private $numberOfColumns; - - /** - * @var OutputInterface - */ - private $output; - - /** - * @var TableStyle - */ - private $style; - - /** - * @var array - */ - private $columnStyles = []; - - /** - * User set column widths. - * - * @var array - */ - private $columnWidths = []; - private $columnMaxWidths = []; - - private static $styles; - - private $rendered = false; - - public function __construct(OutputInterface $output) - { - $this->output = $output; - - if (!self::$styles) { - self::$styles = self::initStyles(); - } - - $this->setStyle('default'); - } - - /** - * Sets a style definition. - * - * @param string $name The style name - */ - public static function setStyleDefinition($name, TableStyle $style) - { - if (!self::$styles) { - self::$styles = self::initStyles(); - } - - self::$styles[$name] = $style; - } - - /** - * Gets a style definition by name. - * - * @param string $name The style name - * - * @return TableStyle - */ - public static function getStyleDefinition($name) - { - if (!self::$styles) { - self::$styles = self::initStyles(); - } - - if (isset(self::$styles[$name])) { - return self::$styles[$name]; - } - - throw new InvalidArgumentException(sprintf('Style "%s" is not defined.', $name)); - } - - /** - * Sets table style. - * - * @param TableStyle|string $name The style name or a TableStyle instance - * - * @return $this - */ - public function setStyle($name) - { - $this->style = $this->resolveStyle($name); - - return $this; - } - - /** - * Gets the current table style. - * - * @return TableStyle - */ - public function getStyle() - { - return $this->style; - } - - /** - * Sets table column style. - * - * @param int $columnIndex Column index - * @param TableStyle|string $name The style name or a TableStyle instance - * - * @return $this - */ - public function setColumnStyle($columnIndex, $name) - { - $columnIndex = (int) $columnIndex; - - $this->columnStyles[$columnIndex] = $this->resolveStyle($name); - - return $this; - } - - /** - * Gets the current style for a column. - * - * If style was not set, it returns the global table style. - * - * @param int $columnIndex Column index - * - * @return TableStyle - */ - public function getColumnStyle($columnIndex) - { - return $this->columnStyles[$columnIndex] ?? $this->getStyle(); - } - - /** - * Sets the minimum width of a column. - * - * @param int $columnIndex Column index - * @param int $width Minimum column width in characters - * - * @return $this - */ - public function setColumnWidth($columnIndex, $width) - { - $this->columnWidths[(int) $columnIndex] = (int) $width; - - return $this; - } - - /** - * Sets the minimum width of all columns. - * - * @return $this - */ - public function setColumnWidths(array $widths) - { - $this->columnWidths = []; - foreach ($widths as $index => $width) { - $this->setColumnWidth($index, $width); - } - - return $this; - } - - /** - * Sets the maximum width of a column. - * - * Any cell within this column which contents exceeds the specified width will be wrapped into multiple lines, while - * formatted strings are preserved. - * - * @return $this - */ - public function setColumnMaxWidth(int $columnIndex, int $width): self - { - if (!$this->output->getFormatter() instanceof WrappableOutputFormatterInterface) { - throw new \LogicException(sprintf('Setting a maximum column width is only supported when using a "%s" formatter, got "%s".', WrappableOutputFormatterInterface::class, \get_class($this->output->getFormatter()))); - } - - $this->columnMaxWidths[$columnIndex] = $width; - - return $this; - } - - public function setHeaders(array $headers) - { - $headers = array_values($headers); - if (!empty($headers) && !\is_array($headers[0])) { - $headers = [$headers]; - } - - $this->headers = $headers; - - return $this; - } - - public function setRows(array $rows) - { - $this->rows = []; - - return $this->addRows($rows); - } - - public function addRows(array $rows) - { - foreach ($rows as $row) { - $this->addRow($row); - } - - return $this; - } - - public function addRow($row) - { - if ($row instanceof TableSeparator) { - $this->rows[] = $row; - - return $this; - } - - if (!\is_array($row)) { - throw new InvalidArgumentException('A row must be an array or a TableSeparator instance.'); - } - - $this->rows[] = array_values($row); - - return $this; - } - - /** - * Adds a row to the table, and re-renders the table. - */ - public function appendRow($row): self - { - if (!$this->output instanceof ConsoleSectionOutput) { - throw new RuntimeException(sprintf('Output should be an instance of "%s" when calling "%s".', ConsoleSectionOutput::class, __METHOD__)); - } - - if ($this->rendered) { - $this->output->clear($this->calculateRowCount()); - } - - $this->addRow($row); - $this->render(); - - return $this; - } - - public function setRow($column, array $row) - { - $this->rows[$column] = $row; - - return $this; - } - - public function setHeaderTitle(?string $title): self - { - $this->headerTitle = $title; - - return $this; - } - - public function setFooterTitle(?string $title): self - { - $this->footerTitle = $title; - - return $this; - } - - public function setHorizontal(bool $horizontal = true): self - { - $this->horizontal = $horizontal; - - return $this; - } - - /** - * Renders table to output. - * - * Example: - * - * +---------------+-----------------------+------------------+ - * | ISBN | Title | Author | - * +---------------+-----------------------+------------------+ - * | 99921-58-10-7 | Divine Comedy | Dante Alighieri | - * | 9971-5-0210-0 | A Tale of Two Cities | Charles Dickens | - * | 960-425-059-0 | The Lord of the Rings | J. R. R. Tolkien | - * +---------------+-----------------------+------------------+ - */ - public function render() - { - $divider = new TableSeparator(); - if ($this->horizontal) { - $rows = []; - foreach ($this->headers[0] ?? [] as $i => $header) { - $rows[$i] = [$header]; - foreach ($this->rows as $row) { - if ($row instanceof TableSeparator) { - continue; - } - if (isset($row[$i])) { - $rows[$i][] = $row[$i]; - } elseif ($rows[$i][0] instanceof TableCell && $rows[$i][0]->getColspan() >= 2) { - // Noop, there is a "title" - } else { - $rows[$i][] = null; - } - } - } - } else { - $rows = array_merge($this->headers, [$divider], $this->rows); - } - - $this->calculateNumberOfColumns($rows); - - $rows = $this->buildTableRows($rows); - $this->calculateColumnsWidth($rows); - - $isHeader = !$this->horizontal; - $isFirstRow = $this->horizontal; - foreach ($rows as $row) { - if ($divider === $row) { - $isHeader = false; - $isFirstRow = true; - - continue; - } - if ($row instanceof TableSeparator) { - $this->renderRowSeparator(); - - continue; - } - if (!$row) { - continue; - } - - if ($isHeader || $isFirstRow) { - if ($isFirstRow) { - $this->renderRowSeparator(self::SEPARATOR_TOP_BOTTOM); - $isFirstRow = false; - } else { - $this->renderRowSeparator(self::SEPARATOR_TOP, $this->headerTitle, $this->style->getHeaderTitleFormat()); - } - } - if ($this->horizontal) { - $this->renderRow($row, $this->style->getCellRowFormat(), $this->style->getCellHeaderFormat()); - } else { - $this->renderRow($row, $isHeader ? $this->style->getCellHeaderFormat() : $this->style->getCellRowFormat()); - } - } - $this->renderRowSeparator(self::SEPARATOR_BOTTOM, $this->footerTitle, $this->style->getFooterTitleFormat()); - - $this->cleanup(); - $this->rendered = true; - } - - /** - * Renders horizontal header separator. - * - * Example: - * - * +-----+-----------+-------+ - */ - private function renderRowSeparator(int $type = self::SEPARATOR_MID, string $title = null, string $titleFormat = null) - { - if (0 === $count = $this->numberOfColumns) { - return; - } - - $borders = $this->style->getBorderChars(); - if (!$borders[0] && !$borders[2] && !$this->style->getCrossingChar()) { - return; - } - - $crossings = $this->style->getCrossingChars(); - if (self::SEPARATOR_MID === $type) { - list($horizontal, $leftChar, $midChar, $rightChar) = [$borders[2], $crossings[8], $crossings[0], $crossings[4]]; - } elseif (self::SEPARATOR_TOP === $type) { - list($horizontal, $leftChar, $midChar, $rightChar) = [$borders[0], $crossings[1], $crossings[2], $crossings[3]]; - } elseif (self::SEPARATOR_TOP_BOTTOM === $type) { - list($horizontal, $leftChar, $midChar, $rightChar) = [$borders[0], $crossings[9], $crossings[10], $crossings[11]]; - } else { - list($horizontal, $leftChar, $midChar, $rightChar) = [$borders[0], $crossings[7], $crossings[6], $crossings[5]]; - } - - $markup = $leftChar; - for ($column = 0; $column < $count; ++$column) { - $markup .= str_repeat($horizontal, $this->effectiveColumnWidths[$column]); - $markup .= $column === $count - 1 ? $rightChar : $midChar; - } - - if (null !== $title) { - $titleLength = Helper::strlenWithoutDecoration($formatter = $this->output->getFormatter(), $formattedTitle = sprintf($titleFormat, $title)); - $markupLength = Helper::strlen($markup); - if ($titleLength > $limit = $markupLength - 4) { - $titleLength = $limit; - $formatLength = Helper::strlenWithoutDecoration($formatter, sprintf($titleFormat, '')); - $formattedTitle = sprintf($titleFormat, Helper::substr($title, 0, $limit - $formatLength - 3).'...'); - } - - $titleStart = ($markupLength - $titleLength) / 2; - if (false === mb_detect_encoding($markup, null, true)) { - $markup = substr_replace($markup, $formattedTitle, $titleStart, $titleLength); - } else { - $markup = mb_substr($markup, 0, $titleStart).$formattedTitle.mb_substr($markup, $titleStart + $titleLength); - } - } - - $this->output->writeln(sprintf($this->style->getBorderFormat(), $markup)); - } - - /** - * Renders vertical column separator. - */ - private function renderColumnSeparator(int $type = self::BORDER_OUTSIDE): string - { - $borders = $this->style->getBorderChars(); - - return sprintf($this->style->getBorderFormat(), self::BORDER_OUTSIDE === $type ? $borders[1] : $borders[3]); - } - - /** - * Renders table row. - * - * Example: - * - * | 9971-5-0210-0 | A Tale of Two Cities | Charles Dickens | - */ - private function renderRow(array $row, string $cellFormat, string $firstCellFormat = null) - { - $rowContent = $this->renderColumnSeparator(self::BORDER_OUTSIDE); - $columns = $this->getRowColumns($row); - $last = \count($columns) - 1; - foreach ($columns as $i => $column) { - if ($firstCellFormat && 0 === $i) { - $rowContent .= $this->renderCell($row, $column, $firstCellFormat); - } else { - $rowContent .= $this->renderCell($row, $column, $cellFormat); - } - $rowContent .= $this->renderColumnSeparator($last === $i ? self::BORDER_OUTSIDE : self::BORDER_INSIDE); - } - $this->output->writeln($rowContent); - } - - /** - * Renders table cell with padding. - */ - private function renderCell(array $row, int $column, string $cellFormat): string - { - $cell = isset($row[$column]) ? $row[$column] : ''; - $width = $this->effectiveColumnWidths[$column]; - if ($cell instanceof TableCell && $cell->getColspan() > 1) { - // add the width of the following columns(numbers of colspan). - foreach (range($column + 1, $column + $cell->getColspan() - 1) as $nextColumn) { - $width += $this->getColumnSeparatorWidth() + $this->effectiveColumnWidths[$nextColumn]; - } - } - - // str_pad won't work properly with multi-byte strings, we need to fix the padding - if (false !== $encoding = mb_detect_encoding($cell, null, true)) { - $width += \strlen($cell) - mb_strwidth($cell, $encoding); - } - - $style = $this->getColumnStyle($column); - - if ($cell instanceof TableSeparator) { - return sprintf($style->getBorderFormat(), str_repeat($style->getBorderChars()[2], $width)); - } - - $width += Helper::strlen($cell) - Helper::strlenWithoutDecoration($this->output->getFormatter(), $cell); - $content = sprintf($style->getCellRowContentFormat(), $cell); - - return sprintf($cellFormat, str_pad($content, $width, $style->getPaddingChar(), $style->getPadType())); - } - - /** - * Calculate number of columns for this table. - */ - private function calculateNumberOfColumns(array $rows) - { - $columns = [0]; - foreach ($rows as $row) { - if ($row instanceof TableSeparator) { - continue; - } - - $columns[] = $this->getNumberOfColumns($row); - } - - $this->numberOfColumns = max($columns); - } - - private function buildTableRows(array $rows): TableRows - { - /** @var WrappableOutputFormatterInterface $formatter */ - $formatter = $this->output->getFormatter(); - $unmergedRows = []; - for ($rowKey = 0; $rowKey < \count($rows); ++$rowKey) { - $rows = $this->fillNextRows($rows, $rowKey); - - // Remove any new line breaks and replace it with a new line - foreach ($rows[$rowKey] as $column => $cell) { - $colspan = $cell instanceof TableCell ? $cell->getColspan() : 1; - - if (isset($this->columnMaxWidths[$column]) && Helper::strlenWithoutDecoration($formatter, $cell) > $this->columnMaxWidths[$column]) { - $cell = $formatter->formatAndWrap($cell, $this->columnMaxWidths[$column] * $colspan); - } - if (!strstr($cell, "\n")) { - continue; - } - $escaped = implode("\n", array_map([OutputFormatter::class, 'escapeTrailingBackslash'], explode("\n", $cell))); - $cell = $cell instanceof TableCell ? new TableCell($escaped, ['colspan' => $cell->getColspan()]) : $escaped; - $lines = explode("\n", str_replace("\n", "\n", $cell)); - foreach ($lines as $lineKey => $line) { - if ($colspan > 1) { - $line = new TableCell($line, ['colspan' => $colspan]); - } - if (0 === $lineKey) { - $rows[$rowKey][$column] = $line; - } else { - $unmergedRows[$rowKey][$lineKey][$column] = $line; - } - } - } - } - - return new TableRows(function () use ($rows, $unmergedRows): \Traversable { - foreach ($rows as $rowKey => $row) { - yield $this->fillCells($row); - - if (isset($unmergedRows[$rowKey])) { - foreach ($unmergedRows[$rowKey] as $row) { - yield $row; - } - } - } - }); - } - - private function calculateRowCount(): int - { - $numberOfRows = \count(iterator_to_array($this->buildTableRows(array_merge($this->headers, [new TableSeparator()], $this->rows)))); - - if ($this->headers) { - ++$numberOfRows; // Add row for header separator - } - - ++$numberOfRows; // Add row for footer separator - - return $numberOfRows; - } - - /** - * fill rows that contains rowspan > 1. - * - * @throws InvalidArgumentException - */ - private function fillNextRows(array $rows, int $line): array - { - $unmergedRows = []; - foreach ($rows[$line] as $column => $cell) { - if (null !== $cell && !$cell instanceof TableCell && !is_scalar($cell) && !(\is_object($cell) && method_exists($cell, '__toString'))) { - throw new InvalidArgumentException(sprintf('A cell must be a TableCell, a scalar or an object implementing __toString, %s given.', \gettype($cell))); - } - if ($cell instanceof TableCell && $cell->getRowspan() > 1) { - $nbLines = $cell->getRowspan() - 1; - $lines = [$cell]; - if (strstr($cell, "\n")) { - $lines = explode("\n", str_replace("\n", "\n", $cell)); - $nbLines = \count($lines) > $nbLines ? substr_count($cell, "\n") : $nbLines; - - $rows[$line][$column] = new TableCell($lines[0], ['colspan' => $cell->getColspan()]); - unset($lines[0]); - } - - // create a two dimensional array (rowspan x colspan) - $unmergedRows = array_replace_recursive(array_fill($line + 1, $nbLines, []), $unmergedRows); - foreach ($unmergedRows as $unmergedRowKey => $unmergedRow) { - $value = isset($lines[$unmergedRowKey - $line]) ? $lines[$unmergedRowKey - $line] : ''; - $unmergedRows[$unmergedRowKey][$column] = new TableCell($value, ['colspan' => $cell->getColspan()]); - if ($nbLines === $unmergedRowKey - $line) { - break; - } - } - } - } - - foreach ($unmergedRows as $unmergedRowKey => $unmergedRow) { - // we need to know if $unmergedRow will be merged or inserted into $rows - if (isset($rows[$unmergedRowKey]) && \is_array($rows[$unmergedRowKey]) && ($this->getNumberOfColumns($rows[$unmergedRowKey]) + $this->getNumberOfColumns($unmergedRows[$unmergedRowKey]) <= $this->numberOfColumns)) { - foreach ($unmergedRow as $cellKey => $cell) { - // insert cell into row at cellKey position - array_splice($rows[$unmergedRowKey], $cellKey, 0, [$cell]); - } - } else { - $row = $this->copyRow($rows, $unmergedRowKey - 1); - foreach ($unmergedRow as $column => $cell) { - if (!empty($cell)) { - $row[$column] = $unmergedRow[$column]; - } - } - array_splice($rows, $unmergedRowKey, 0, [$row]); - } - } - - return $rows; - } - - /** - * fill cells for a row that contains colspan > 1. - */ - private function fillCells($row) - { - $newRow = []; - foreach ($row as $column => $cell) { - $newRow[] = $cell; - if ($cell instanceof TableCell && $cell->getColspan() > 1) { - foreach (range($column + 1, $column + $cell->getColspan() - 1) as $position) { - // insert empty value at column position - $newRow[] = ''; - } - } - } - - return $newRow ?: $row; - } - - private function copyRow(array $rows, int $line): array - { - $row = $rows[$line]; - foreach ($row as $cellKey => $cellValue) { - $row[$cellKey] = ''; - if ($cellValue instanceof TableCell) { - $row[$cellKey] = new TableCell('', ['colspan' => $cellValue->getColspan()]); - } - } - - return $row; - } - - /** - * Gets number of columns by row. - */ - private function getNumberOfColumns(array $row): int - { - $columns = \count($row); - foreach ($row as $column) { - $columns += $column instanceof TableCell ? ($column->getColspan() - 1) : 0; - } - - return $columns; - } - - /** - * Gets list of columns for the given row. - */ - private function getRowColumns(array $row): array - { - $columns = range(0, $this->numberOfColumns - 1); - foreach ($row as $cellKey => $cell) { - if ($cell instanceof TableCell && $cell->getColspan() > 1) { - // exclude grouped columns. - $columns = array_diff($columns, range($cellKey + 1, $cellKey + $cell->getColspan() - 1)); - } - } - - return $columns; - } - - /** - * Calculates columns widths. - */ - private function calculateColumnsWidth(iterable $rows) - { - for ($column = 0; $column < $this->numberOfColumns; ++$column) { - $lengths = []; - foreach ($rows as $row) { - if ($row instanceof TableSeparator) { - continue; - } - - foreach ($row as $i => $cell) { - if ($cell instanceof TableCell) { - $textContent = Helper::removeDecoration($this->output->getFormatter(), $cell); - $textLength = Helper::strlen($textContent); - if ($textLength > 0) { - $contentColumns = str_split($textContent, ceil($textLength / $cell->getColspan())); - foreach ($contentColumns as $position => $content) { - $row[$i + $position] = $content; - } - } - } - } - - $lengths[] = $this->getCellWidth($row, $column); - } - - $this->effectiveColumnWidths[$column] = max($lengths) + Helper::strlen($this->style->getCellRowContentFormat()) - 2; - } - } - - private function getColumnSeparatorWidth(): int - { - return Helper::strlen(sprintf($this->style->getBorderFormat(), $this->style->getBorderChars()[3])); - } - - private function getCellWidth(array $row, int $column): int - { - $cellWidth = 0; - - if (isset($row[$column])) { - $cell = $row[$column]; - $cellWidth = Helper::strlenWithoutDecoration($this->output->getFormatter(), $cell); - } - - $columnWidth = isset($this->columnWidths[$column]) ? $this->columnWidths[$column] : 0; - $cellWidth = max($cellWidth, $columnWidth); - - return isset($this->columnMaxWidths[$column]) ? min($this->columnMaxWidths[$column], $cellWidth) : $cellWidth; - } - - /** - * Called after rendering to cleanup cache data. - */ - private function cleanup() - { - $this->effectiveColumnWidths = []; - $this->numberOfColumns = null; - } - - private static function initStyles(): array - { - $borderless = new TableStyle(); - $borderless - ->setHorizontalBorderChars('=') - ->setVerticalBorderChars(' ') - ->setDefaultCrossingChar(' ') - ; - - $compact = new TableStyle(); - $compact - ->setHorizontalBorderChars('') - ->setVerticalBorderChars(' ') - ->setDefaultCrossingChar('') - ->setCellRowContentFormat('%s') - ; - - $styleGuide = new TableStyle(); - $styleGuide - ->setHorizontalBorderChars('-') - ->setVerticalBorderChars(' ') - ->setDefaultCrossingChar(' ') - ->setCellHeaderFormat('%s') - ; - - $box = (new TableStyle()) - ->setHorizontalBorderChars('─') - ->setVerticalBorderChars('│') - ->setCrossingChars('┼', '┌', '┬', 'â”', '┤', '┘', 'â”´', 'â””', '├') - ; - - $boxDouble = (new TableStyle()) - ->setHorizontalBorderChars('â•', '─') - ->setVerticalBorderChars('â•‘', '│') - ->setCrossingChars('┼', 'â•”', '╤', 'â•—', 'â•¢', 'â•', '╧', 'â•š', 'â•Ÿ', 'â• ', '╪', 'â•£') - ; - - return [ - 'default' => new TableStyle(), - 'borderless' => $borderless, - 'compact' => $compact, - 'symfony-style-guide' => $styleGuide, - 'box' => $box, - 'box-double' => $boxDouble, - ]; - } - - private function resolveStyle($name): TableStyle - { - if ($name instanceof TableStyle) { - return $name; - } - - if (isset(self::$styles[$name])) { - return self::$styles[$name]; - } - - throw new InvalidArgumentException(sprintf('Style "%s" is not defined.', $name)); - } -} diff --git a/paragonik-backend/vendor/symfony/console/Helper/TableCell.php b/paragonik-backend/vendor/symfony/console/Helper/TableCell.php deleted file mode 100644 index 5b6af4a..0000000 --- a/paragonik-backend/vendor/symfony/console/Helper/TableCell.php +++ /dev/null @@ -1,68 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Console\Helper; - -use Symfony\Component\Console\Exception\InvalidArgumentException; - -/** - * @author Abdellatif Ait boudad - */ -class TableCell -{ - private $value; - private $options = [ - 'rowspan' => 1, - 'colspan' => 1, - ]; - - public function __construct(string $value = '', array $options = []) - { - $this->value = $value; - - // check option names - if ($diff = array_diff(array_keys($options), array_keys($this->options))) { - throw new InvalidArgumentException(sprintf('The TableCell does not support the following options: \'%s\'.', implode('\', \'', $diff))); - } - - $this->options = array_merge($this->options, $options); - } - - /** - * Returns the cell value. - * - * @return string - */ - public function __toString() - { - return $this->value; - } - - /** - * Gets number of colspan. - * - * @return int - */ - public function getColspan() - { - return (int) $this->options['colspan']; - } - - /** - * Gets number of rowspan. - * - * @return int - */ - public function getRowspan() - { - return (int) $this->options['rowspan']; - } -} diff --git a/paragonik-backend/vendor/symfony/console/Helper/TableRows.php b/paragonik-backend/vendor/symfony/console/Helper/TableRows.php deleted file mode 100644 index 16aabb3..0000000 --- a/paragonik-backend/vendor/symfony/console/Helper/TableRows.php +++ /dev/null @@ -1,32 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Console\Helper; - -/** - * @internal - */ -class TableRows implements \IteratorAggregate -{ - private $generator; - - public function __construct(callable $generator) - { - $this->generator = $generator; - } - - public function getIterator(): \Traversable - { - $g = $this->generator; - - return $g(); - } -} diff --git a/paragonik-backend/vendor/symfony/console/Helper/TableSeparator.php b/paragonik-backend/vendor/symfony/console/Helper/TableSeparator.php deleted file mode 100644 index e541c53..0000000 --- a/paragonik-backend/vendor/symfony/console/Helper/TableSeparator.php +++ /dev/null @@ -1,25 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Console\Helper; - -/** - * Marks a row as being a separator. - * - * @author Fabien Potencier - */ -class TableSeparator extends TableCell -{ - public function __construct(array $options = []) - { - parent::__construct('', $options); - } -} diff --git a/paragonik-backend/vendor/symfony/console/Helper/TableStyle.php b/paragonik-backend/vendor/symfony/console/Helper/TableStyle.php deleted file mode 100644 index b8f75e7..0000000 --- a/paragonik-backend/vendor/symfony/console/Helper/TableStyle.php +++ /dev/null @@ -1,458 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Console\Helper; - -use Symfony\Component\Console\Exception\InvalidArgumentException; -use Symfony\Component\Console\Exception\LogicException; - -/** - * Defines the styles for a Table. - * - * @author Fabien Potencier - * @author Саша Стаменковић - * @author Dany Maillard - */ -class TableStyle -{ - private $paddingChar = ' '; - private $horizontalOutsideBorderChar = '-'; - private $horizontalInsideBorderChar = '-'; - private $verticalOutsideBorderChar = '|'; - private $verticalInsideBorderChar = '|'; - private $crossingChar = '+'; - private $crossingTopRightChar = '+'; - private $crossingTopMidChar = '+'; - private $crossingTopLeftChar = '+'; - private $crossingMidRightChar = '+'; - private $crossingBottomRightChar = '+'; - private $crossingBottomMidChar = '+'; - private $crossingBottomLeftChar = '+'; - private $crossingMidLeftChar = '+'; - private $crossingTopLeftBottomChar = '+'; - private $crossingTopMidBottomChar = '+'; - private $crossingTopRightBottomChar = '+'; - private $headerTitleFormat = ' %s '; - private $footerTitleFormat = ' %s '; - private $cellHeaderFormat = '%s'; - private $cellRowFormat = '%s'; - private $cellRowContentFormat = ' %s '; - private $borderFormat = '%s'; - private $padType = STR_PAD_RIGHT; - - /** - * Sets padding character, used for cell padding. - * - * @param string $paddingChar - * - * @return $this - */ - public function setPaddingChar($paddingChar) - { - if (!$paddingChar) { - throw new LogicException('The padding char must not be empty'); - } - - $this->paddingChar = $paddingChar; - - return $this; - } - - /** - * Gets padding character, used for cell padding. - * - * @return string - */ - public function getPaddingChar() - { - return $this->paddingChar; - } - - /** - * Sets horizontal border characters. - * - * - * â•”â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•¤â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•¤â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•— - * 1 ISBN 2 Title │ Author â•‘ - * â• â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•ªâ•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•ªâ•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•£ - * â•‘ 99921-58-10-7 │ Divine Comedy │ Dante Alighieri â•‘ - * â•‘ 9971-5-0210-0 │ A Tale of Two Cities │ Charles Dickens â•‘ - * â•‘ 960-425-059-0 │ The Lord of the Rings │ J. R. R. Tolkien â•‘ - * â•‘ 80-902734-1-6 │ And Then There Were None │ Agatha Christie â•‘ - * â•šâ•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•§â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•§â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• - * - * - * @param string $outside Outside border char (see #1 of example) - * @param string|null $inside Inside border char (see #2 of example), equals $outside if null - */ - public function setHorizontalBorderChars(string $outside, string $inside = null): self - { - $this->horizontalOutsideBorderChar = $outside; - $this->horizontalInsideBorderChar = $inside ?? $outside; - - return $this; - } - - /** - * Sets horizontal border character. - * - * @param string $horizontalBorderChar - * - * @return $this - * - * @deprecated since Symfony 4.1, use {@link setHorizontalBorderChars()} instead. - */ - public function setHorizontalBorderChar($horizontalBorderChar) - { - @trigger_error(sprintf('The "%s()" method is deprecated since Symfony 4.1, use setHorizontalBorderChars() instead.', __METHOD__), E_USER_DEPRECATED); - - return $this->setHorizontalBorderChars($horizontalBorderChar, $horizontalBorderChar); - } - - /** - * Gets horizontal border character. - * - * @return string - * - * @deprecated since Symfony 4.1, use {@link getBorderChars()} instead. - */ - public function getHorizontalBorderChar() - { - @trigger_error(sprintf('The "%s()" method is deprecated since Symfony 4.1, use getBorderChars() instead.', __METHOD__), E_USER_DEPRECATED); - - return $this->horizontalOutsideBorderChar; - } - - /** - * Sets vertical border characters. - * - * - * â•”â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•¤â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•¤â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•— - * â•‘ ISBN │ Title │ Author â•‘ - * â• â•â•â•â•â•â•â•1â•â•â•â•â•â•â•â•ªâ•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•ªâ•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•£ - * â•‘ 99921-58-10-7 │ Divine Comedy │ Dante Alighieri â•‘ - * â•‘ 9971-5-0210-0 │ A Tale of Two Cities │ Charles Dickens â•‘ - * ╟───────2───────┼──────────────────────────┼──────────────────╢ - * â•‘ 960-425-059-0 │ The Lord of the Rings │ J. R. R. Tolkien â•‘ - * â•‘ 80-902734-1-6 │ And Then There Were None │ Agatha Christie â•‘ - * â•šâ•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•§â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•§â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• - * - * - * @param string $outside Outside border char (see #1 of example) - * @param string|null $inside Inside border char (see #2 of example), equals $outside if null - */ - public function setVerticalBorderChars(string $outside, string $inside = null): self - { - $this->verticalOutsideBorderChar = $outside; - $this->verticalInsideBorderChar = $inside ?? $outside; - - return $this; - } - - /** - * Sets vertical border character. - * - * @param string $verticalBorderChar - * - * @return $this - * - * @deprecated since Symfony 4.1, use {@link setVerticalBorderChars()} instead. - */ - public function setVerticalBorderChar($verticalBorderChar) - { - @trigger_error(sprintf('The "%s()" method is deprecated since Symfony 4.1, use setVerticalBorderChars() instead.', __METHOD__), E_USER_DEPRECATED); - - return $this->setVerticalBorderChars($verticalBorderChar, $verticalBorderChar); - } - - /** - * Gets vertical border character. - * - * @return string - * - * @deprecated since Symfony 4.1, use {@link getBorderChars()} instead. - */ - public function getVerticalBorderChar() - { - @trigger_error(sprintf('The "%s()" method is deprecated since Symfony 4.1, use getBorderChars() instead.', __METHOD__), E_USER_DEPRECATED); - - return $this->verticalOutsideBorderChar; - } - - /** - * Gets border characters. - * - * @internal - */ - public function getBorderChars(): array - { - return [ - $this->horizontalOutsideBorderChar, - $this->verticalOutsideBorderChar, - $this->horizontalInsideBorderChar, - $this->verticalInsideBorderChar, - ]; - } - - /** - * Sets crossing characters. - * - * Example: - * - * 1â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•2â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•2â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•3 - * â•‘ ISBN │ Title │ Author â•‘ - * 8'â•â•â•â•â•â•â•â•â•â•â•â•â•â•0'â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•0'â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•4' - * â•‘ 99921-58-10-7 │ Divine Comedy │ Dante Alighieri â•‘ - * â•‘ 9971-5-0210-0 │ A Tale of Two Cities │ Charles Dickens â•‘ - * 8───────────────0──────────────────────────0──────────────────4 - * â•‘ 960-425-059-0 │ The Lord of the Rings │ J. R. R. Tolkien â•‘ - * â•‘ 80-902734-1-6 │ And Then There Were None │ Agatha Christie â•‘ - * 7â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•6â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•6â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•5 - * - * - * @param string $cross Crossing char (see #0 of example) - * @param string $topLeft Top left char (see #1 of example) - * @param string $topMid Top mid char (see #2 of example) - * @param string $topRight Top right char (see #3 of example) - * @param string $midRight Mid right char (see #4 of example) - * @param string $bottomRight Bottom right char (see #5 of example) - * @param string $bottomMid Bottom mid char (see #6 of example) - * @param string $bottomLeft Bottom left char (see #7 of example) - * @param string $midLeft Mid left char (see #8 of example) - * @param string|null $topLeftBottom Top left bottom char (see #8' of example), equals to $midLeft if null - * @param string|null $topMidBottom Top mid bottom char (see #0' of example), equals to $cross if null - * @param string|null $topRightBottom Top right bottom char (see #4' of example), equals to $midRight if null - */ - public function setCrossingChars(string $cross, string $topLeft, string $topMid, string $topRight, string $midRight, string $bottomRight, string $bottomMid, string $bottomLeft, string $midLeft, string $topLeftBottom = null, string $topMidBottom = null, string $topRightBottom = null): self - { - $this->crossingChar = $cross; - $this->crossingTopLeftChar = $topLeft; - $this->crossingTopMidChar = $topMid; - $this->crossingTopRightChar = $topRight; - $this->crossingMidRightChar = $midRight; - $this->crossingBottomRightChar = $bottomRight; - $this->crossingBottomMidChar = $bottomMid; - $this->crossingBottomLeftChar = $bottomLeft; - $this->crossingMidLeftChar = $midLeft; - $this->crossingTopLeftBottomChar = $topLeftBottom ?? $midLeft; - $this->crossingTopMidBottomChar = $topMidBottom ?? $cross; - $this->crossingTopRightBottomChar = $topRightBottom ?? $midRight; - - return $this; - } - - /** - * Sets default crossing character used for each cross. - * - * @see {@link setCrossingChars()} for setting each crossing individually. - */ - public function setDefaultCrossingChar(string $char): self - { - return $this->setCrossingChars($char, $char, $char, $char, $char, $char, $char, $char, $char); - } - - /** - * Sets crossing character. - * - * @param string $crossingChar - * - * @return $this - * - * @deprecated since Symfony 4.1. Use {@link setDefaultCrossingChar()} instead. - */ - public function setCrossingChar($crossingChar) - { - @trigger_error(sprintf('The "%s()" method is deprecated since Symfony 4.1. Use setDefaultCrossingChar() instead.', __METHOD__), E_USER_DEPRECATED); - - return $this->setDefaultCrossingChar($crossingChar); - } - - /** - * Gets crossing character. - * - * @return string - */ - public function getCrossingChar() - { - return $this->crossingChar; - } - - /** - * Gets crossing characters. - * - * @internal - */ - public function getCrossingChars(): array - { - return [ - $this->crossingChar, - $this->crossingTopLeftChar, - $this->crossingTopMidChar, - $this->crossingTopRightChar, - $this->crossingMidRightChar, - $this->crossingBottomRightChar, - $this->crossingBottomMidChar, - $this->crossingBottomLeftChar, - $this->crossingMidLeftChar, - $this->crossingTopLeftBottomChar, - $this->crossingTopMidBottomChar, - $this->crossingTopRightBottomChar, - ]; - } - - /** - * Sets header cell format. - * - * @param string $cellHeaderFormat - * - * @return $this - */ - public function setCellHeaderFormat($cellHeaderFormat) - { - $this->cellHeaderFormat = $cellHeaderFormat; - - return $this; - } - - /** - * Gets header cell format. - * - * @return string - */ - public function getCellHeaderFormat() - { - return $this->cellHeaderFormat; - } - - /** - * Sets row cell format. - * - * @param string $cellRowFormat - * - * @return $this - */ - public function setCellRowFormat($cellRowFormat) - { - $this->cellRowFormat = $cellRowFormat; - - return $this; - } - - /** - * Gets row cell format. - * - * @return string - */ - public function getCellRowFormat() - { - return $this->cellRowFormat; - } - - /** - * Sets row cell content format. - * - * @param string $cellRowContentFormat - * - * @return $this - */ - public function setCellRowContentFormat($cellRowContentFormat) - { - $this->cellRowContentFormat = $cellRowContentFormat; - - return $this; - } - - /** - * Gets row cell content format. - * - * @return string - */ - public function getCellRowContentFormat() - { - return $this->cellRowContentFormat; - } - - /** - * Sets table border format. - * - * @param string $borderFormat - * - * @return $this - */ - public function setBorderFormat($borderFormat) - { - $this->borderFormat = $borderFormat; - - return $this; - } - - /** - * Gets table border format. - * - * @return string - */ - public function getBorderFormat() - { - return $this->borderFormat; - } - - /** - * Sets cell padding type. - * - * @param int $padType STR_PAD_* - * - * @return $this - */ - public function setPadType($padType) - { - if (!\in_array($padType, [STR_PAD_LEFT, STR_PAD_RIGHT, STR_PAD_BOTH], true)) { - throw new InvalidArgumentException('Invalid padding type. Expected one of (STR_PAD_LEFT, STR_PAD_RIGHT, STR_PAD_BOTH).'); - } - - $this->padType = $padType; - - return $this; - } - - /** - * Gets cell padding type. - * - * @return int - */ - public function getPadType() - { - return $this->padType; - } - - public function getHeaderTitleFormat(): string - { - return $this->headerTitleFormat; - } - - public function setHeaderTitleFormat(string $format): self - { - $this->headerTitleFormat = $format; - - return $this; - } - - public function getFooterTitleFormat(): string - { - return $this->footerTitleFormat; - } - - public function setFooterTitleFormat(string $format): self - { - $this->footerTitleFormat = $format; - - return $this; - } -} diff --git a/paragonik-backend/vendor/symfony/console/Input/ArgvInput.php b/paragonik-backend/vendor/symfony/console/Input/ArgvInput.php deleted file mode 100644 index 3bc2055..0000000 --- a/paragonik-backend/vendor/symfony/console/Input/ArgvInput.php +++ /dev/null @@ -1,352 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Console\Input; - -use Symfony\Component\Console\Exception\RuntimeException; - -/** - * ArgvInput represents an input coming from the CLI arguments. - * - * Usage: - * - * $input = new ArgvInput(); - * - * By default, the `$_SERVER['argv']` array is used for the input values. - * - * This can be overridden by explicitly passing the input values in the constructor: - * - * $input = new ArgvInput($_SERVER['argv']); - * - * If you pass it yourself, don't forget that the first element of the array - * is the name of the running application. - * - * When passing an argument to the constructor, be sure that it respects - * the same rules as the argv one. It's almost always better to use the - * `StringInput` when you want to provide your own input. - * - * @author Fabien Potencier - * - * @see http://www.gnu.org/software/libc/manual/html_node/Argument-Syntax.html - * @see http://www.opengroup.org/onlinepubs/009695399/basedefs/xbd_chap12.html#tag_12_02 - */ -class ArgvInput extends Input -{ - private $tokens; - private $parsed; - - /** - * @param array|null $argv An array of parameters from the CLI (in the argv format) - */ - public function __construct(array $argv = null, InputDefinition $definition = null) - { - if (null === $argv) { - $argv = $_SERVER['argv']; - } - - // strip the application name - array_shift($argv); - - $this->tokens = $argv; - - parent::__construct($definition); - } - - protected function setTokens(array $tokens) - { - $this->tokens = $tokens; - } - - /** - * {@inheritdoc} - */ - protected function parse() - { - $parseOptions = true; - $this->parsed = $this->tokens; - while (null !== $token = array_shift($this->parsed)) { - if ($parseOptions && '' == $token) { - $this->parseArgument($token); - } elseif ($parseOptions && '--' == $token) { - $parseOptions = false; - } elseif ($parseOptions && 0 === strpos($token, '--')) { - $this->parseLongOption($token); - } elseif ($parseOptions && '-' === $token[0] && '-' !== $token) { - $this->parseShortOption($token); - } else { - $this->parseArgument($token); - } - } - } - - /** - * Parses a short option. - */ - private function parseShortOption(string $token) - { - $name = substr($token, 1); - - if (\strlen($name) > 1) { - if ($this->definition->hasShortcut($name[0]) && $this->definition->getOptionForShortcut($name[0])->acceptValue()) { - // an option with a value (with no space) - $this->addShortOption($name[0], substr($name, 1)); - } else { - $this->parseShortOptionSet($name); - } - } else { - $this->addShortOption($name, null); - } - } - - /** - * Parses a short option set. - * - * @throws RuntimeException When option given doesn't exist - */ - private function parseShortOptionSet(string $name) - { - $len = \strlen($name); - for ($i = 0; $i < $len; ++$i) { - if (!$this->definition->hasShortcut($name[$i])) { - $encoding = mb_detect_encoding($name, null, true); - throw new RuntimeException(sprintf('The "-%s" option does not exist.', false === $encoding ? $name[$i] : mb_substr($name, $i, 1, $encoding))); - } - - $option = $this->definition->getOptionForShortcut($name[$i]); - if ($option->acceptValue()) { - $this->addLongOption($option->getName(), $i === $len - 1 ? null : substr($name, $i + 1)); - - break; - } else { - $this->addLongOption($option->getName(), null); - } - } - } - - /** - * Parses a long option. - */ - private function parseLongOption(string $token) - { - $name = substr($token, 2); - - if (false !== $pos = strpos($name, '=')) { - if (0 === \strlen($value = substr($name, $pos + 1))) { - array_unshift($this->parsed, $value); - } - $this->addLongOption(substr($name, 0, $pos), $value); - } else { - $this->addLongOption($name, null); - } - } - - /** - * Parses an argument. - * - * @throws RuntimeException When too many arguments are given - */ - private function parseArgument(string $token) - { - $c = \count($this->arguments); - - // if input is expecting another argument, add it - if ($this->definition->hasArgument($c)) { - $arg = $this->definition->getArgument($c); - $this->arguments[$arg->getName()] = $arg->isArray() ? [$token] : $token; - - // if last argument isArray(), append token to last argument - } elseif ($this->definition->hasArgument($c - 1) && $this->definition->getArgument($c - 1)->isArray()) { - $arg = $this->definition->getArgument($c - 1); - $this->arguments[$arg->getName()][] = $token; - - // unexpected argument - } else { - $all = $this->definition->getArguments(); - if (\count($all)) { - throw new RuntimeException(sprintf('Too many arguments, expected arguments "%s".', implode('" "', array_keys($all)))); - } - - throw new RuntimeException(sprintf('No arguments expected, got "%s".', $token)); - } - } - - /** - * Adds a short option value. - * - * @throws RuntimeException When option given doesn't exist - */ - private function addShortOption(string $shortcut, $value) - { - if (!$this->definition->hasShortcut($shortcut)) { - throw new RuntimeException(sprintf('The "-%s" option does not exist.', $shortcut)); - } - - $this->addLongOption($this->definition->getOptionForShortcut($shortcut)->getName(), $value); - } - - /** - * Adds a long option value. - * - * @throws RuntimeException When option given doesn't exist - */ - private function addLongOption(string $name, $value) - { - if (!$this->definition->hasOption($name)) { - throw new RuntimeException(sprintf('The "--%s" option does not exist.', $name)); - } - - $option = $this->definition->getOption($name); - - if (null !== $value && !$option->acceptValue()) { - throw new RuntimeException(sprintf('The "--%s" option does not accept a value.', $name)); - } - - if (\in_array($value, ['', null], true) && $option->acceptValue() && \count($this->parsed)) { - // if option accepts an optional or mandatory argument - // let's see if there is one provided - $next = array_shift($this->parsed); - if ((isset($next[0]) && '-' !== $next[0]) || \in_array($next, ['', null], true)) { - $value = $next; - } else { - array_unshift($this->parsed, $next); - } - } - - if (null === $value) { - if ($option->isValueRequired()) { - throw new RuntimeException(sprintf('The "--%s" option requires a value.', $name)); - } - - if (!$option->isArray() && !$option->isValueOptional()) { - $value = true; - } - } - - if ($option->isArray()) { - $this->options[$name][] = $value; - } else { - $this->options[$name] = $value; - } - } - - /** - * {@inheritdoc} - */ - public function getFirstArgument() - { - $isOption = false; - foreach ($this->tokens as $i => $token) { - if ($token && '-' === $token[0]) { - if (false !== strpos($token, '=') || !isset($this->tokens[$i + 1])) { - continue; - } - - // If it's a long option, consider that everything after "--" is the option name. - // Otherwise, use the last char (if it's a short option set, only the last one can take a value with space separator) - $name = '-' === $token[1] ? substr($token, 2) : substr($token, -1); - if (!isset($this->options[$name]) && !$this->definition->hasShortcut($name)) { - // noop - } elseif ((isset($this->options[$name]) || isset($this->options[$name = $this->definition->shortcutToName($name)])) && $this->tokens[$i + 1] === $this->options[$name]) { - $isOption = true; - } - - continue; - } - - if ($isOption) { - $isOption = false; - continue; - } - - return $token; - } - - return null; - } - - /** - * {@inheritdoc} - */ - public function hasParameterOption($values, $onlyParams = false) - { - $values = (array) $values; - - foreach ($this->tokens as $token) { - if ($onlyParams && '--' === $token) { - return false; - } - foreach ($values as $value) { - // Options with values: - // For long options, test for '--option=' at beginning - // For short options, test for '-o' at beginning - $leading = 0 === strpos($value, '--') ? $value.'=' : $value; - if ($token === $value || '' !== $leading && 0 === strpos($token, $leading)) { - return true; - } - } - } - - return false; - } - - /** - * {@inheritdoc} - */ - public function getParameterOption($values, $default = false, $onlyParams = false) - { - $values = (array) $values; - $tokens = $this->tokens; - - while (0 < \count($tokens)) { - $token = array_shift($tokens); - if ($onlyParams && '--' === $token) { - return $default; - } - - foreach ($values as $value) { - if ($token === $value) { - return array_shift($tokens); - } - // Options with values: - // For long options, test for '--option=' at beginning - // For short options, test for '-o' at beginning - $leading = 0 === strpos($value, '--') ? $value.'=' : $value; - if ('' !== $leading && 0 === strpos($token, $leading)) { - return substr($token, \strlen($leading)); - } - } - } - - return $default; - } - - /** - * Returns a stringified representation of the args passed to the command. - * - * @return string - */ - public function __toString() - { - $tokens = array_map(function ($token) { - if (preg_match('{^(-[^=]+=)(.+)}', $token, $match)) { - return $match[1].$this->escapeToken($match[2]); - } - - if ($token && '-' !== $token[0]) { - return $this->escapeToken($token); - } - - return $token; - }, $this->tokens); - - return implode(' ', $tokens); - } -} diff --git a/paragonik-backend/vendor/symfony/console/Input/ArrayInput.php b/paragonik-backend/vendor/symfony/console/Input/ArrayInput.php deleted file mode 100644 index 25d2b75..0000000 --- a/paragonik-backend/vendor/symfony/console/Input/ArrayInput.php +++ /dev/null @@ -1,202 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Console\Input; - -use Symfony\Component\Console\Exception\InvalidArgumentException; -use Symfony\Component\Console\Exception\InvalidOptionException; - -/** - * ArrayInput represents an input provided as an array. - * - * Usage: - * - * $input = new ArrayInput(['command' => 'foo:bar', 'foo' => 'bar', '--bar' => 'foobar']); - * - * @author Fabien Potencier - */ -class ArrayInput extends Input -{ - private $parameters; - - public function __construct(array $parameters, InputDefinition $definition = null) - { - $this->parameters = $parameters; - - parent::__construct($definition); - } - - /** - * {@inheritdoc} - */ - public function getFirstArgument() - { - foreach ($this->parameters as $param => $value) { - if ($param && \is_string($param) && '-' === $param[0]) { - continue; - } - - return $value; - } - - return null; - } - - /** - * {@inheritdoc} - */ - public function hasParameterOption($values, $onlyParams = false) - { - $values = (array) $values; - - foreach ($this->parameters as $k => $v) { - if (!\is_int($k)) { - $v = $k; - } - - if ($onlyParams && '--' === $v) { - return false; - } - - if (\in_array($v, $values)) { - return true; - } - } - - return false; - } - - /** - * {@inheritdoc} - */ - public function getParameterOption($values, $default = false, $onlyParams = false) - { - $values = (array) $values; - - foreach ($this->parameters as $k => $v) { - if ($onlyParams && ('--' === $k || (\is_int($k) && '--' === $v))) { - return $default; - } - - if (\is_int($k)) { - if (\in_array($v, $values)) { - return true; - } - } elseif (\in_array($k, $values)) { - return $v; - } - } - - return $default; - } - - /** - * Returns a stringified representation of the args passed to the command. - * - * @return string - */ - public function __toString() - { - $params = []; - foreach ($this->parameters as $param => $val) { - if ($param && \is_string($param) && '-' === $param[0]) { - if (\is_array($val)) { - foreach ($val as $v) { - $params[] = $param.('' != $v ? '='.$this->escapeToken($v) : ''); - } - } else { - $params[] = $param.('' != $val ? '='.$this->escapeToken($val) : ''); - } - } else { - $params[] = \is_array($val) ? implode(' ', array_map([$this, 'escapeToken'], $val)) : $this->escapeToken($val); - } - } - - return implode(' ', $params); - } - - /** - * {@inheritdoc} - */ - protected function parse() - { - foreach ($this->parameters as $key => $value) { - if ('--' === $key) { - return; - } - if (0 === strpos($key, '--')) { - $this->addLongOption(substr($key, 2), $value); - } elseif (0 === strpos($key, '-')) { - $this->addShortOption(substr($key, 1), $value); - } else { - $this->addArgument($key, $value); - } - } - } - - /** - * Adds a short option value. - * - * @throws InvalidOptionException When option given doesn't exist - */ - private function addShortOption(string $shortcut, $value) - { - if (!$this->definition->hasShortcut($shortcut)) { - throw new InvalidOptionException(sprintf('The "-%s" option does not exist.', $shortcut)); - } - - $this->addLongOption($this->definition->getOptionForShortcut($shortcut)->getName(), $value); - } - - /** - * Adds a long option value. - * - * @throws InvalidOptionException When option given doesn't exist - * @throws InvalidOptionException When a required value is missing - */ - private function addLongOption(string $name, $value) - { - if (!$this->definition->hasOption($name)) { - throw new InvalidOptionException(sprintf('The "--%s" option does not exist.', $name)); - } - - $option = $this->definition->getOption($name); - - if (null === $value) { - if ($option->isValueRequired()) { - throw new InvalidOptionException(sprintf('The "--%s" option requires a value.', $name)); - } - - if (!$option->isValueOptional()) { - $value = true; - } - } - - $this->options[$name] = $value; - } - - /** - * Adds an argument value. - * - * @param string|int $name The argument name - * @param mixed $value The value for the argument - * - * @throws InvalidArgumentException When argument given doesn't exist - */ - private function addArgument($name, $value) - { - if (!$this->definition->hasArgument($name)) { - throw new InvalidArgumentException(sprintf('The "%s" argument does not exist.', $name)); - } - - $this->arguments[$name] = $value; - } -} diff --git a/paragonik-backend/vendor/symfony/console/Input/Input.php b/paragonik-backend/vendor/symfony/console/Input/Input.php deleted file mode 100644 index c122031..0000000 --- a/paragonik-backend/vendor/symfony/console/Input/Input.php +++ /dev/null @@ -1,203 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Console\Input; - -use Symfony\Component\Console\Exception\InvalidArgumentException; -use Symfony\Component\Console\Exception\RuntimeException; - -/** - * Input is the base class for all concrete Input classes. - * - * Three concrete classes are provided by default: - * - * * `ArgvInput`: The input comes from the CLI arguments (argv) - * * `StringInput`: The input is provided as a string - * * `ArrayInput`: The input is provided as an array - * - * @author Fabien Potencier - */ -abstract class Input implements InputInterface, StreamableInputInterface -{ - protected $definition; - protected $stream; - protected $options = []; - protected $arguments = []; - protected $interactive = true; - - public function __construct(InputDefinition $definition = null) - { - if (null === $definition) { - $this->definition = new InputDefinition(); - } else { - $this->bind($definition); - $this->validate(); - } - } - - /** - * {@inheritdoc} - */ - public function bind(InputDefinition $definition) - { - $this->arguments = []; - $this->options = []; - $this->definition = $definition; - - $this->parse(); - } - - /** - * Processes command line arguments. - */ - abstract protected function parse(); - - /** - * {@inheritdoc} - */ - public function validate() - { - $definition = $this->definition; - $givenArguments = $this->arguments; - - $missingArguments = array_filter(array_keys($definition->getArguments()), function ($argument) use ($definition, $givenArguments) { - return !\array_key_exists($argument, $givenArguments) && $definition->getArgument($argument)->isRequired(); - }); - - if (\count($missingArguments) > 0) { - throw new RuntimeException(sprintf('Not enough arguments (missing: "%s").', implode(', ', $missingArguments))); - } - } - - /** - * {@inheritdoc} - */ - public function isInteractive() - { - return $this->interactive; - } - - /** - * {@inheritdoc} - */ - public function setInteractive($interactive) - { - $this->interactive = (bool) $interactive; - } - - /** - * {@inheritdoc} - */ - public function getArguments() - { - return array_merge($this->definition->getArgumentDefaults(), $this->arguments); - } - - /** - * {@inheritdoc} - */ - public function getArgument($name) - { - if (!$this->definition->hasArgument($name)) { - throw new InvalidArgumentException(sprintf('The "%s" argument does not exist.', $name)); - } - - return isset($this->arguments[$name]) ? $this->arguments[$name] : $this->definition->getArgument($name)->getDefault(); - } - - /** - * {@inheritdoc} - */ - public function setArgument($name, $value) - { - if (!$this->definition->hasArgument($name)) { - throw new InvalidArgumentException(sprintf('The "%s" argument does not exist.', $name)); - } - - $this->arguments[$name] = $value; - } - - /** - * {@inheritdoc} - */ - public function hasArgument($name) - { - return $this->definition->hasArgument($name); - } - - /** - * {@inheritdoc} - */ - public function getOptions() - { - return array_merge($this->definition->getOptionDefaults(), $this->options); - } - - /** - * {@inheritdoc} - */ - public function getOption($name) - { - if (!$this->definition->hasOption($name)) { - throw new InvalidArgumentException(sprintf('The "%s" option does not exist.', $name)); - } - - return \array_key_exists($name, $this->options) ? $this->options[$name] : $this->definition->getOption($name)->getDefault(); - } - - /** - * {@inheritdoc} - */ - public function setOption($name, $value) - { - if (!$this->definition->hasOption($name)) { - throw new InvalidArgumentException(sprintf('The "%s" option does not exist.', $name)); - } - - $this->options[$name] = $value; - } - - /** - * {@inheritdoc} - */ - public function hasOption($name) - { - return $this->definition->hasOption($name); - } - - /** - * Escapes a token through escapeshellarg if it contains unsafe chars. - * - * @param string $token - * - * @return string - */ - public function escapeToken($token) - { - return preg_match('{^[\w-]+$}', $token) ? $token : escapeshellarg($token); - } - - /** - * {@inheritdoc} - */ - public function setStream($stream) - { - $this->stream = $stream; - } - - /** - * {@inheritdoc} - */ - public function getStream() - { - return $this->stream; - } -} diff --git a/paragonik-backend/vendor/symfony/console/Input/InputArgument.php b/paragonik-backend/vendor/symfony/console/Input/InputArgument.php deleted file mode 100644 index b6aa645..0000000 --- a/paragonik-backend/vendor/symfony/console/Input/InputArgument.php +++ /dev/null @@ -1,129 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Console\Input; - -use Symfony\Component\Console\Exception\InvalidArgumentException; -use Symfony\Component\Console\Exception\LogicException; - -/** - * Represents a command line argument. - * - * @author Fabien Potencier - */ -class InputArgument -{ - const REQUIRED = 1; - const OPTIONAL = 2; - const IS_ARRAY = 4; - - private $name; - private $mode; - private $default; - private $description; - - /** - * @param string $name The argument name - * @param int|null $mode The argument mode: self::REQUIRED or self::OPTIONAL - * @param string $description A description text - * @param string|string[]|null $default The default value (for self::OPTIONAL mode only) - * - * @throws InvalidArgumentException When argument mode is not valid - */ - public function __construct(string $name, int $mode = null, string $description = '', $default = null) - { - if (null === $mode) { - $mode = self::OPTIONAL; - } elseif ($mode > 7 || $mode < 1) { - throw new InvalidArgumentException(sprintf('Argument mode "%s" is not valid.', $mode)); - } - - $this->name = $name; - $this->mode = $mode; - $this->description = $description; - - $this->setDefault($default); - } - - /** - * Returns the argument name. - * - * @return string The argument name - */ - public function getName() - { - return $this->name; - } - - /** - * Returns true if the argument is required. - * - * @return bool true if parameter mode is self::REQUIRED, false otherwise - */ - public function isRequired() - { - return self::REQUIRED === (self::REQUIRED & $this->mode); - } - - /** - * Returns true if the argument can take multiple values. - * - * @return bool true if mode is self::IS_ARRAY, false otherwise - */ - public function isArray() - { - return self::IS_ARRAY === (self::IS_ARRAY & $this->mode); - } - - /** - * Sets the default value. - * - * @param string|string[]|null $default The default value - * - * @throws LogicException When incorrect default value is given - */ - public function setDefault($default = null) - { - if (self::REQUIRED === $this->mode && null !== $default) { - throw new LogicException('Cannot set a default value except for InputArgument::OPTIONAL mode.'); - } - - if ($this->isArray()) { - if (null === $default) { - $default = []; - } elseif (!\is_array($default)) { - throw new LogicException('A default value for an array argument must be an array.'); - } - } - - $this->default = $default; - } - - /** - * Returns the default value. - * - * @return string|string[]|null The default value - */ - public function getDefault() - { - return $this->default; - } - - /** - * Returns the description text. - * - * @return string The description text - */ - public function getDescription() - { - return $this->description; - } -} diff --git a/paragonik-backend/vendor/symfony/console/Input/InputAwareInterface.php b/paragonik-backend/vendor/symfony/console/Input/InputAwareInterface.php deleted file mode 100644 index 5a288de..0000000 --- a/paragonik-backend/vendor/symfony/console/Input/InputAwareInterface.php +++ /dev/null @@ -1,26 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Console\Input; - -/** - * InputAwareInterface should be implemented by classes that depends on the - * Console Input. - * - * @author Wouter J - */ -interface InputAwareInterface -{ - /** - * Sets the Console Input. - */ - public function setInput(InputInterface $input); -} diff --git a/paragonik-backend/vendor/symfony/console/Input/InputDefinition.php b/paragonik-backend/vendor/symfony/console/Input/InputDefinition.php deleted file mode 100644 index 75a9752..0000000 --- a/paragonik-backend/vendor/symfony/console/Input/InputDefinition.php +++ /dev/null @@ -1,400 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Console\Input; - -use Symfony\Component\Console\Exception\InvalidArgumentException; -use Symfony\Component\Console\Exception\LogicException; - -/** - * A InputDefinition represents a set of valid command line arguments and options. - * - * Usage: - * - * $definition = new InputDefinition([ - * new InputArgument('name', InputArgument::REQUIRED), - * new InputOption('foo', 'f', InputOption::VALUE_REQUIRED), - * ]); - * - * @author Fabien Potencier - */ -class InputDefinition -{ - private $arguments; - private $requiredCount; - private $hasAnArrayArgument = false; - private $hasOptional; - private $options; - private $shortcuts; - - /** - * @param array $definition An array of InputArgument and InputOption instance - */ - public function __construct(array $definition = []) - { - $this->setDefinition($definition); - } - - /** - * Sets the definition of the input. - */ - public function setDefinition(array $definition) - { - $arguments = []; - $options = []; - foreach ($definition as $item) { - if ($item instanceof InputOption) { - $options[] = $item; - } else { - $arguments[] = $item; - } - } - - $this->setArguments($arguments); - $this->setOptions($options); - } - - /** - * Sets the InputArgument objects. - * - * @param InputArgument[] $arguments An array of InputArgument objects - */ - public function setArguments($arguments = []) - { - $this->arguments = []; - $this->requiredCount = 0; - $this->hasOptional = false; - $this->hasAnArrayArgument = false; - $this->addArguments($arguments); - } - - /** - * Adds an array of InputArgument objects. - * - * @param InputArgument[] $arguments An array of InputArgument objects - */ - public function addArguments($arguments = []) - { - if (null !== $arguments) { - foreach ($arguments as $argument) { - $this->addArgument($argument); - } - } - } - - /** - * @throws LogicException When incorrect argument is given - */ - public function addArgument(InputArgument $argument) - { - if (isset($this->arguments[$argument->getName()])) { - throw new LogicException(sprintf('An argument with name "%s" already exists.', $argument->getName())); - } - - if ($this->hasAnArrayArgument) { - throw new LogicException('Cannot add an argument after an array argument.'); - } - - if ($argument->isRequired() && $this->hasOptional) { - throw new LogicException('Cannot add a required argument after an optional one.'); - } - - if ($argument->isArray()) { - $this->hasAnArrayArgument = true; - } - - if ($argument->isRequired()) { - ++$this->requiredCount; - } else { - $this->hasOptional = true; - } - - $this->arguments[$argument->getName()] = $argument; - } - - /** - * Returns an InputArgument by name or by position. - * - * @param string|int $name The InputArgument name or position - * - * @return InputArgument An InputArgument object - * - * @throws InvalidArgumentException When argument given doesn't exist - */ - public function getArgument($name) - { - if (!$this->hasArgument($name)) { - throw new InvalidArgumentException(sprintf('The "%s" argument does not exist.', $name)); - } - - $arguments = \is_int($name) ? array_values($this->arguments) : $this->arguments; - - return $arguments[$name]; - } - - /** - * Returns true if an InputArgument object exists by name or position. - * - * @param string|int $name The InputArgument name or position - * - * @return bool true if the InputArgument object exists, false otherwise - */ - public function hasArgument($name) - { - $arguments = \is_int($name) ? array_values($this->arguments) : $this->arguments; - - return isset($arguments[$name]); - } - - /** - * Gets the array of InputArgument objects. - * - * @return InputArgument[] An array of InputArgument objects - */ - public function getArguments() - { - return $this->arguments; - } - - /** - * Returns the number of InputArguments. - * - * @return int The number of InputArguments - */ - public function getArgumentCount() - { - return $this->hasAnArrayArgument ? PHP_INT_MAX : \count($this->arguments); - } - - /** - * Returns the number of required InputArguments. - * - * @return int The number of required InputArguments - */ - public function getArgumentRequiredCount() - { - return $this->requiredCount; - } - - /** - * Gets the default values. - * - * @return array An array of default values - */ - public function getArgumentDefaults() - { - $values = []; - foreach ($this->arguments as $argument) { - $values[$argument->getName()] = $argument->getDefault(); - } - - return $values; - } - - /** - * Sets the InputOption objects. - * - * @param InputOption[] $options An array of InputOption objects - */ - public function setOptions($options = []) - { - $this->options = []; - $this->shortcuts = []; - $this->addOptions($options); - } - - /** - * Adds an array of InputOption objects. - * - * @param InputOption[] $options An array of InputOption objects - */ - public function addOptions($options = []) - { - foreach ($options as $option) { - $this->addOption($option); - } - } - - /** - * @throws LogicException When option given already exist - */ - public function addOption(InputOption $option) - { - if (isset($this->options[$option->getName()]) && !$option->equals($this->options[$option->getName()])) { - throw new LogicException(sprintf('An option named "%s" already exists.', $option->getName())); - } - - if ($option->getShortcut()) { - foreach (explode('|', $option->getShortcut()) as $shortcut) { - if (isset($this->shortcuts[$shortcut]) && !$option->equals($this->options[$this->shortcuts[$shortcut]])) { - throw new LogicException(sprintf('An option with shortcut "%s" already exists.', $shortcut)); - } - } - } - - $this->options[$option->getName()] = $option; - if ($option->getShortcut()) { - foreach (explode('|', $option->getShortcut()) as $shortcut) { - $this->shortcuts[$shortcut] = $option->getName(); - } - } - } - - /** - * Returns an InputOption by name. - * - * @param string $name The InputOption name - * - * @return InputOption A InputOption object - * - * @throws InvalidArgumentException When option given doesn't exist - */ - public function getOption($name) - { - if (!$this->hasOption($name)) { - throw new InvalidArgumentException(sprintf('The "--%s" option does not exist.', $name)); - } - - return $this->options[$name]; - } - - /** - * Returns true if an InputOption object exists by name. - * - * This method can't be used to check if the user included the option when - * executing the command (use getOption() instead). - * - * @param string $name The InputOption name - * - * @return bool true if the InputOption object exists, false otherwise - */ - public function hasOption($name) - { - return isset($this->options[$name]); - } - - /** - * Gets the array of InputOption objects. - * - * @return InputOption[] An array of InputOption objects - */ - public function getOptions() - { - return $this->options; - } - - /** - * Returns true if an InputOption object exists by shortcut. - * - * @param string $name The InputOption shortcut - * - * @return bool true if the InputOption object exists, false otherwise - */ - public function hasShortcut($name) - { - return isset($this->shortcuts[$name]); - } - - /** - * Gets an InputOption by shortcut. - * - * @param string $shortcut The Shortcut name - * - * @return InputOption An InputOption object - */ - public function getOptionForShortcut($shortcut) - { - return $this->getOption($this->shortcutToName($shortcut)); - } - - /** - * Gets an array of default values. - * - * @return array An array of all default values - */ - public function getOptionDefaults() - { - $values = []; - foreach ($this->options as $option) { - $values[$option->getName()] = $option->getDefault(); - } - - return $values; - } - - /** - * Returns the InputOption name given a shortcut. - * - * @throws InvalidArgumentException When option given does not exist - * - * @internal - */ - public function shortcutToName(string $shortcut): string - { - if (!isset($this->shortcuts[$shortcut])) { - throw new InvalidArgumentException(sprintf('The "-%s" option does not exist.', $shortcut)); - } - - return $this->shortcuts[$shortcut]; - } - - /** - * Gets the synopsis. - * - * @param bool $short Whether to return the short version (with options folded) or not - * - * @return string The synopsis - */ - public function getSynopsis($short = false) - { - $elements = []; - - if ($short && $this->getOptions()) { - $elements[] = '[options]'; - } elseif (!$short) { - foreach ($this->getOptions() as $option) { - $value = ''; - if ($option->acceptValue()) { - $value = sprintf( - ' %s%s%s', - $option->isValueOptional() ? '[' : '', - strtoupper($option->getName()), - $option->isValueOptional() ? ']' : '' - ); - } - - $shortcut = $option->getShortcut() ? sprintf('-%s|', $option->getShortcut()) : ''; - $elements[] = sprintf('[%s--%s%s]', $shortcut, $option->getName(), $value); - } - } - - if (\count($elements) && $this->getArguments()) { - $elements[] = '[--]'; - } - - $tail = ''; - foreach ($this->getArguments() as $argument) { - $element = '<'.$argument->getName().'>'; - if ($argument->isArray()) { - $element .= '...'; - } - - if (!$argument->isRequired()) { - $element = '['.$element; - $tail .= ']'; - } - - $elements[] = $element; - } - - return implode(' ', $elements).$tail; - } -} diff --git a/paragonik-backend/vendor/symfony/console/Input/InputInterface.php b/paragonik-backend/vendor/symfony/console/Input/InputInterface.php deleted file mode 100644 index b9bcf3b..0000000 --- a/paragonik-backend/vendor/symfony/console/Input/InputInterface.php +++ /dev/null @@ -1,163 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Console\Input; - -use Symfony\Component\Console\Exception\InvalidArgumentException; -use Symfony\Component\Console\Exception\RuntimeException; - -/** - * InputInterface is the interface implemented by all input classes. - * - * @author Fabien Potencier - */ -interface InputInterface -{ - /** - * Returns the first argument from the raw parameters (not parsed). - * - * @return string|null The value of the first argument or null otherwise - */ - public function getFirstArgument(); - - /** - * Returns true if the raw parameters (not parsed) contain a value. - * - * This method is to be used to introspect the input parameters - * before they have been validated. It must be used carefully. - * Does not necessarily return the correct result for short options - * when multiple flags are combined in the same option. - * - * @param string|array $values The values to look for in the raw parameters (can be an array) - * @param bool $onlyParams Only check real parameters, skip those following an end of options (--) signal - * - * @return bool true if the value is contained in the raw parameters - */ - public function hasParameterOption($values, $onlyParams = false); - - /** - * Returns the value of a raw option (not parsed). - * - * This method is to be used to introspect the input parameters - * before they have been validated. It must be used carefully. - * Does not necessarily return the correct result for short options - * when multiple flags are combined in the same option. - * - * @param string|array $values The value(s) to look for in the raw parameters (can be an array) - * @param mixed $default The default value to return if no result is found - * @param bool $onlyParams Only check real parameters, skip those following an end of options (--) signal - * - * @return mixed The option value - */ - public function getParameterOption($values, $default = false, $onlyParams = false); - - /** - * Binds the current Input instance with the given arguments and options. - * - * @throws RuntimeException - */ - public function bind(InputDefinition $definition); - - /** - * Validates the input. - * - * @throws RuntimeException When not enough arguments are given - */ - public function validate(); - - /** - * Returns all the given arguments merged with the default values. - * - * @return array - */ - public function getArguments(); - - /** - * Returns the argument value for a given argument name. - * - * @param string $name The argument name - * - * @return string|string[]|null The argument value - * - * @throws InvalidArgumentException When argument given doesn't exist - */ - public function getArgument($name); - - /** - * Sets an argument value by name. - * - * @param string $name The argument name - * @param string|string[]|null $value The argument value - * - * @throws InvalidArgumentException When argument given doesn't exist - */ - public function setArgument($name, $value); - - /** - * Returns true if an InputArgument object exists by name or position. - * - * @param string|int $name The InputArgument name or position - * - * @return bool true if the InputArgument object exists, false otherwise - */ - public function hasArgument($name); - - /** - * Returns all the given options merged with the default values. - * - * @return array - */ - public function getOptions(); - - /** - * Returns the option value for a given option name. - * - * @param string $name The option name - * - * @return string|string[]|bool|null The option value - * - * @throws InvalidArgumentException When option given doesn't exist - */ - public function getOption($name); - - /** - * Sets an option value by name. - * - * @param string $name The option name - * @param string|string[]|bool|null $value The option value - * - * @throws InvalidArgumentException When option given doesn't exist - */ - public function setOption($name, $value); - - /** - * Returns true if an InputOption object exists by name. - * - * @param string $name The InputOption name - * - * @return bool true if the InputOption object exists, false otherwise - */ - public function hasOption($name); - - /** - * Is this input means interactive? - * - * @return bool - */ - public function isInteractive(); - - /** - * Sets the input interactivity. - * - * @param bool $interactive If the input should be interactive - */ - public function setInteractive($interactive); -} diff --git a/paragonik-backend/vendor/symfony/console/Input/InputOption.php b/paragonik-backend/vendor/symfony/console/Input/InputOption.php deleted file mode 100644 index d62e0ae..0000000 --- a/paragonik-backend/vendor/symfony/console/Input/InputOption.php +++ /dev/null @@ -1,208 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Console\Input; - -use Symfony\Component\Console\Exception\InvalidArgumentException; -use Symfony\Component\Console\Exception\LogicException; - -/** - * Represents a command line option. - * - * @author Fabien Potencier - */ -class InputOption -{ - const VALUE_NONE = 1; - const VALUE_REQUIRED = 2; - const VALUE_OPTIONAL = 4; - const VALUE_IS_ARRAY = 8; - - private $name; - private $shortcut; - private $mode; - private $default; - private $description; - - /** - * @param string $name The option name - * @param string|array|null $shortcut The shortcuts, can be null, a string of shortcuts delimited by | or an array of shortcuts - * @param int|null $mode The option mode: One of the VALUE_* constants - * @param string $description A description text - * @param string|string[]|int|bool|null $default The default value (must be null for self::VALUE_NONE) - * - * @throws InvalidArgumentException If option mode is invalid or incompatible - */ - public function __construct(string $name, $shortcut = null, int $mode = null, string $description = '', $default = null) - { - if (0 === strpos($name, '--')) { - $name = substr($name, 2); - } - - if (empty($name)) { - throw new InvalidArgumentException('An option name cannot be empty.'); - } - - if (empty($shortcut)) { - $shortcut = null; - } - - if (null !== $shortcut) { - if (\is_array($shortcut)) { - $shortcut = implode('|', $shortcut); - } - $shortcuts = preg_split('{(\|)-?}', ltrim($shortcut, '-')); - $shortcuts = array_filter($shortcuts); - $shortcut = implode('|', $shortcuts); - - if (empty($shortcut)) { - throw new InvalidArgumentException('An option shortcut cannot be empty.'); - } - } - - if (null === $mode) { - $mode = self::VALUE_NONE; - } elseif ($mode > 15 || $mode < 1) { - throw new InvalidArgumentException(sprintf('Option mode "%s" is not valid.', $mode)); - } - - $this->name = $name; - $this->shortcut = $shortcut; - $this->mode = $mode; - $this->description = $description; - - if ($this->isArray() && !$this->acceptValue()) { - throw new InvalidArgumentException('Impossible to have an option mode VALUE_IS_ARRAY if the option does not accept a value.'); - } - - $this->setDefault($default); - } - - /** - * Returns the option shortcut. - * - * @return string|null The shortcut - */ - public function getShortcut() - { - return $this->shortcut; - } - - /** - * Returns the option name. - * - * @return string The name - */ - public function getName() - { - return $this->name; - } - - /** - * Returns true if the option accepts a value. - * - * @return bool true if value mode is not self::VALUE_NONE, false otherwise - */ - public function acceptValue() - { - return $this->isValueRequired() || $this->isValueOptional(); - } - - /** - * Returns true if the option requires a value. - * - * @return bool true if value mode is self::VALUE_REQUIRED, false otherwise - */ - public function isValueRequired() - { - return self::VALUE_REQUIRED === (self::VALUE_REQUIRED & $this->mode); - } - - /** - * Returns true if the option takes an optional value. - * - * @return bool true if value mode is self::VALUE_OPTIONAL, false otherwise - */ - public function isValueOptional() - { - return self::VALUE_OPTIONAL === (self::VALUE_OPTIONAL & $this->mode); - } - - /** - * Returns true if the option can take multiple values. - * - * @return bool true if mode is self::VALUE_IS_ARRAY, false otherwise - */ - public function isArray() - { - return self::VALUE_IS_ARRAY === (self::VALUE_IS_ARRAY & $this->mode); - } - - /** - * Sets the default value. - * - * @param string|string[]|int|bool|null $default The default value - * - * @throws LogicException When incorrect default value is given - */ - public function setDefault($default = null) - { - if (self::VALUE_NONE === (self::VALUE_NONE & $this->mode) && null !== $default) { - throw new LogicException('Cannot set a default value when using InputOption::VALUE_NONE mode.'); - } - - if ($this->isArray()) { - if (null === $default) { - $default = []; - } elseif (!\is_array($default)) { - throw new LogicException('A default value for an array option must be an array.'); - } - } - - $this->default = $this->acceptValue() ? $default : false; - } - - /** - * Returns the default value. - * - * @return string|string[]|int|bool|null The default value - */ - public function getDefault() - { - return $this->default; - } - - /** - * Returns the description text. - * - * @return string The description text - */ - public function getDescription() - { - return $this->description; - } - - /** - * Checks whether the given option equals this one. - * - * @return bool - */ - public function equals(self $option) - { - return $option->getName() === $this->getName() - && $option->getShortcut() === $this->getShortcut() - && $option->getDefault() === $this->getDefault() - && $option->isArray() === $this->isArray() - && $option->isValueRequired() === $this->isValueRequired() - && $option->isValueOptional() === $this->isValueOptional() - ; - } -} diff --git a/paragonik-backend/vendor/symfony/console/Input/StreamableInputInterface.php b/paragonik-backend/vendor/symfony/console/Input/StreamableInputInterface.php deleted file mode 100644 index d7e462f..0000000 --- a/paragonik-backend/vendor/symfony/console/Input/StreamableInputInterface.php +++ /dev/null @@ -1,37 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Console\Input; - -/** - * StreamableInputInterface is the interface implemented by all input classes - * that have an input stream. - * - * @author Robin Chalas - */ -interface StreamableInputInterface extends InputInterface -{ - /** - * Sets the input stream to read from when interacting with the user. - * - * This is mainly useful for testing purpose. - * - * @param resource $stream The input stream - */ - public function setStream($stream); - - /** - * Returns the input stream. - * - * @return resource|null - */ - public function getStream(); -} diff --git a/paragonik-backend/vendor/symfony/console/Input/StringInput.php b/paragonik-backend/vendor/symfony/console/Input/StringInput.php deleted file mode 100644 index 0ec0197..0000000 --- a/paragonik-backend/vendor/symfony/console/Input/StringInput.php +++ /dev/null @@ -1,68 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Console\Input; - -use Symfony\Component\Console\Exception\InvalidArgumentException; - -/** - * StringInput represents an input provided as a string. - * - * Usage: - * - * $input = new StringInput('foo --bar="foobar"'); - * - * @author Fabien Potencier - */ -class StringInput extends ArgvInput -{ - const REGEX_STRING = '([^\s]+?)(?:\s|(?setTokens($this->tokenize($input)); - } - - /** - * Tokenizes a string. - * - * @throws InvalidArgumentException When unable to parse input (should never happen) - */ - private function tokenize(string $input): array - { - $tokens = []; - $length = \strlen($input); - $cursor = 0; - while ($cursor < $length) { - if (preg_match('/\s+/A', $input, $match, null, $cursor)) { - } elseif (preg_match('/([^="\'\s]+?)(=?)('.self::REGEX_QUOTED_STRING.'+)/A', $input, $match, null, $cursor)) { - $tokens[] = $match[1].$match[2].stripcslashes(str_replace(['"\'', '\'"', '\'\'', '""'], '', substr($match[3], 1, \strlen($match[3]) - 2))); - } elseif (preg_match('/'.self::REGEX_QUOTED_STRING.'/A', $input, $match, null, $cursor)) { - $tokens[] = stripcslashes(substr($match[0], 1, \strlen($match[0]) - 2)); - } elseif (preg_match('/'.self::REGEX_STRING.'/A', $input, $match, null, $cursor)) { - $tokens[] = stripcslashes($match[1]); - } else { - // should never happen - throw new InvalidArgumentException(sprintf('Unable to parse input near "... %s ..."', substr($input, $cursor, 10))); - } - - $cursor += \strlen($match[0]); - } - - return $tokens; - } -} diff --git a/paragonik-backend/vendor/symfony/console/LICENSE b/paragonik-backend/vendor/symfony/console/LICENSE deleted file mode 100644 index a677f43..0000000 --- a/paragonik-backend/vendor/symfony/console/LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 2004-2019 Fabien Potencier - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is furnished -to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/paragonik-backend/vendor/symfony/console/Logger/ConsoleLogger.php b/paragonik-backend/vendor/symfony/console/Logger/ConsoleLogger.php deleted file mode 100644 index 3236118..0000000 --- a/paragonik-backend/vendor/symfony/console/Logger/ConsoleLogger.php +++ /dev/null @@ -1,126 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Console\Logger; - -use Psr\Log\AbstractLogger; -use Psr\Log\InvalidArgumentException; -use Psr\Log\LogLevel; -use Symfony\Component\Console\Output\ConsoleOutputInterface; -use Symfony\Component\Console\Output\OutputInterface; - -/** - * PSR-3 compliant console logger. - * - * @author Kévin Dunglas - * - * @see https://www.php-fig.org/psr/psr-3/ - */ -class ConsoleLogger extends AbstractLogger -{ - const INFO = 'info'; - const ERROR = 'error'; - - private $output; - private $verbosityLevelMap = [ - LogLevel::EMERGENCY => OutputInterface::VERBOSITY_NORMAL, - LogLevel::ALERT => OutputInterface::VERBOSITY_NORMAL, - LogLevel::CRITICAL => OutputInterface::VERBOSITY_NORMAL, - LogLevel::ERROR => OutputInterface::VERBOSITY_NORMAL, - LogLevel::WARNING => OutputInterface::VERBOSITY_NORMAL, - LogLevel::NOTICE => OutputInterface::VERBOSITY_VERBOSE, - LogLevel::INFO => OutputInterface::VERBOSITY_VERY_VERBOSE, - LogLevel::DEBUG => OutputInterface::VERBOSITY_DEBUG, - ]; - private $formatLevelMap = [ - LogLevel::EMERGENCY => self::ERROR, - LogLevel::ALERT => self::ERROR, - LogLevel::CRITICAL => self::ERROR, - LogLevel::ERROR => self::ERROR, - LogLevel::WARNING => self::INFO, - LogLevel::NOTICE => self::INFO, - LogLevel::INFO => self::INFO, - LogLevel::DEBUG => self::INFO, - ]; - private $errored = false; - - public function __construct(OutputInterface $output, array $verbosityLevelMap = [], array $formatLevelMap = []) - { - $this->output = $output; - $this->verbosityLevelMap = $verbosityLevelMap + $this->verbosityLevelMap; - $this->formatLevelMap = $formatLevelMap + $this->formatLevelMap; - } - - /** - * {@inheritdoc} - * - * @return void - */ - public function log($level, $message, array $context = []) - { - if (!isset($this->verbosityLevelMap[$level])) { - throw new InvalidArgumentException(sprintf('The log level "%s" does not exist.', $level)); - } - - $output = $this->output; - - // Write to the error output if necessary and available - if (self::ERROR === $this->formatLevelMap[$level]) { - if ($this->output instanceof ConsoleOutputInterface) { - $output = $output->getErrorOutput(); - } - $this->errored = true; - } - - // the if condition check isn't necessary -- it's the same one that $output will do internally anyway. - // We only do it for efficiency here as the message formatting is relatively expensive. - if ($output->getVerbosity() >= $this->verbosityLevelMap[$level]) { - $output->writeln(sprintf('<%1$s>[%2$s] %3$s', $this->formatLevelMap[$level], $level, $this->interpolate($message, $context)), $this->verbosityLevelMap[$level]); - } - } - - /** - * Returns true when any messages have been logged at error levels. - * - * @return bool - */ - public function hasErrored() - { - return $this->errored; - } - - /** - * Interpolates context values into the message placeholders. - * - * @author PHP Framework Interoperability Group - */ - private function interpolate(string $message, array $context): string - { - if (false === strpos($message, '{')) { - return $message; - } - - $replacements = []; - foreach ($context as $key => $val) { - if (null === $val || is_scalar($val) || (\is_object($val) && method_exists($val, '__toString'))) { - $replacements["{{$key}}"] = $val; - } elseif ($val instanceof \DateTimeInterface) { - $replacements["{{$key}}"] = $val->format(\DateTime::RFC3339); - } elseif (\is_object($val)) { - $replacements["{{$key}}"] = '[object '.\get_class($val).']'; - } else { - $replacements["{{$key}}"] = '['.\gettype($val).']'; - } - } - - return strtr($message, $replacements); - } -} diff --git a/paragonik-backend/vendor/symfony/console/Output/BufferedOutput.php b/paragonik-backend/vendor/symfony/console/Output/BufferedOutput.php deleted file mode 100644 index 8afc893..0000000 --- a/paragonik-backend/vendor/symfony/console/Output/BufferedOutput.php +++ /dev/null @@ -1,45 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Console\Output; - -/** - * @author Jean-François Simon - */ -class BufferedOutput extends Output -{ - private $buffer = ''; - - /** - * Empties buffer and returns its content. - * - * @return string - */ - public function fetch() - { - $content = $this->buffer; - $this->buffer = ''; - - return $content; - } - - /** - * {@inheritdoc} - */ - protected function doWrite($message, $newline) - { - $this->buffer .= $message; - - if ($newline) { - $this->buffer .= PHP_EOL; - } - } -} diff --git a/paragonik-backend/vendor/symfony/console/Output/ConsoleOutput.php b/paragonik-backend/vendor/symfony/console/Output/ConsoleOutput.php deleted file mode 100644 index 9684ad6..0000000 --- a/paragonik-backend/vendor/symfony/console/Output/ConsoleOutput.php +++ /dev/null @@ -1,159 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Console\Output; - -use Symfony\Component\Console\Formatter\OutputFormatterInterface; - -/** - * ConsoleOutput is the default class for all CLI output. It uses STDOUT and STDERR. - * - * This class is a convenient wrapper around `StreamOutput` for both STDOUT and STDERR. - * - * $output = new ConsoleOutput(); - * - * This is equivalent to: - * - * $output = new StreamOutput(fopen('php://stdout', 'w')); - * $stdErr = new StreamOutput(fopen('php://stderr', 'w')); - * - * @author Fabien Potencier - */ -class ConsoleOutput extends StreamOutput implements ConsoleOutputInterface -{ - private $stderr; - private $consoleSectionOutputs = []; - - /** - * @param int $verbosity The verbosity level (one of the VERBOSITY constants in OutputInterface) - * @param bool|null $decorated Whether to decorate messages (null for auto-guessing) - * @param OutputFormatterInterface|null $formatter Output formatter instance (null to use default OutputFormatter) - */ - public function __construct(int $verbosity = self::VERBOSITY_NORMAL, bool $decorated = null, OutputFormatterInterface $formatter = null) - { - parent::__construct($this->openOutputStream(), $verbosity, $decorated, $formatter); - - $actualDecorated = $this->isDecorated(); - $this->stderr = new StreamOutput($this->openErrorStream(), $verbosity, $decorated, $this->getFormatter()); - - if (null === $decorated) { - $this->setDecorated($actualDecorated && $this->stderr->isDecorated()); - } - } - - /** - * Creates a new output section. - */ - public function section(): ConsoleSectionOutput - { - return new ConsoleSectionOutput($this->getStream(), $this->consoleSectionOutputs, $this->getVerbosity(), $this->isDecorated(), $this->getFormatter()); - } - - /** - * {@inheritdoc} - */ - public function setDecorated($decorated) - { - parent::setDecorated($decorated); - $this->stderr->setDecorated($decorated); - } - - /** - * {@inheritdoc} - */ - public function setFormatter(OutputFormatterInterface $formatter) - { - parent::setFormatter($formatter); - $this->stderr->setFormatter($formatter); - } - - /** - * {@inheritdoc} - */ - public function setVerbosity($level) - { - parent::setVerbosity($level); - $this->stderr->setVerbosity($level); - } - - /** - * {@inheritdoc} - */ - public function getErrorOutput() - { - return $this->stderr; - } - - /** - * {@inheritdoc} - */ - public function setErrorOutput(OutputInterface $error) - { - $this->stderr = $error; - } - - /** - * Returns true if current environment supports writing console output to - * STDOUT. - * - * @return bool - */ - protected function hasStdoutSupport() - { - return false === $this->isRunningOS400(); - } - - /** - * Returns true if current environment supports writing console output to - * STDERR. - * - * @return bool - */ - protected function hasStderrSupport() - { - return false === $this->isRunningOS400(); - } - - /** - * Checks if current executing environment is IBM iSeries (OS400), which - * doesn't properly convert character-encodings between ASCII to EBCDIC. - */ - private function isRunningOS400(): bool - { - $checks = [ - \function_exists('php_uname') ? php_uname('s') : '', - getenv('OSTYPE'), - PHP_OS, - ]; - - return false !== stripos(implode(';', $checks), 'OS400'); - } - - /** - * @return resource - */ - private function openOutputStream() - { - if (!$this->hasStdoutSupport()) { - return fopen('php://output', 'w'); - } - - return @fopen('php://stdout', 'w') ?: fopen('php://output', 'w'); - } - - /** - * @return resource - */ - private function openErrorStream() - { - return fopen($this->hasStderrSupport() ? 'php://stderr' : 'php://output', 'w'); - } -} diff --git a/paragonik-backend/vendor/symfony/console/Output/ConsoleOutputInterface.php b/paragonik-backend/vendor/symfony/console/Output/ConsoleOutputInterface.php deleted file mode 100644 index f4c2fa6..0000000 --- a/paragonik-backend/vendor/symfony/console/Output/ConsoleOutputInterface.php +++ /dev/null @@ -1,32 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Console\Output; - -/** - * ConsoleOutputInterface is the interface implemented by ConsoleOutput class. - * This adds information about stderr and section output stream. - * - * @author Dariusz Górecki - * - * @method ConsoleSectionOutput section() Creates a new output section - */ -interface ConsoleOutputInterface extends OutputInterface -{ - /** - * Gets the OutputInterface for errors. - * - * @return OutputInterface - */ - public function getErrorOutput(); - - public function setErrorOutput(OutputInterface $error); -} diff --git a/paragonik-backend/vendor/symfony/console/Output/ConsoleSectionOutput.php b/paragonik-backend/vendor/symfony/console/Output/ConsoleSectionOutput.php deleted file mode 100644 index 024d99d..0000000 --- a/paragonik-backend/vendor/symfony/console/Output/ConsoleSectionOutput.php +++ /dev/null @@ -1,143 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Console\Output; - -use Symfony\Component\Console\Formatter\OutputFormatterInterface; -use Symfony\Component\Console\Helper\Helper; -use Symfony\Component\Console\Terminal; - -/** - * @author Pierre du Plessis - * @author Gabriel Ostrolucký - */ -class ConsoleSectionOutput extends StreamOutput -{ - private $content = []; - private $lines = 0; - private $sections; - private $terminal; - - /** - * @param resource $stream - * @param ConsoleSectionOutput[] $sections - */ - public function __construct($stream, array &$sections, int $verbosity, bool $decorated, OutputFormatterInterface $formatter) - { - parent::__construct($stream, $verbosity, $decorated, $formatter); - array_unshift($sections, $this); - $this->sections = &$sections; - $this->terminal = new Terminal(); - } - - /** - * Clears previous output for this section. - * - * @param int $lines Number of lines to clear. If null, then the entire output of this section is cleared - */ - public function clear(int $lines = null) - { - if (empty($this->content) || !$this->isDecorated()) { - return; - } - - if ($lines) { - array_splice($this->content, -($lines * 2)); // Multiply lines by 2 to cater for each new line added between content - } else { - $lines = $this->lines; - $this->content = []; - } - - $this->lines -= $lines; - - parent::doWrite($this->popStreamContentUntilCurrentSection($lines), false); - } - - /** - * Overwrites the previous output with a new message. - * - * @param array|string $message - */ - public function overwrite($message) - { - $this->clear(); - $this->writeln($message); - } - - public function getContent(): string - { - return implode('', $this->content); - } - - /** - * @internal - */ - public function addContent(string $input) - { - foreach (explode(PHP_EOL, $input) as $lineContent) { - $this->lines += ceil($this->getDisplayLength($lineContent) / $this->terminal->getWidth()) ?: 1; - $this->content[] = $lineContent; - $this->content[] = PHP_EOL; - } - } - - /** - * {@inheritdoc} - */ - protected function doWrite($message, $newline) - { - if (!$this->isDecorated()) { - parent::doWrite($message, $newline); - - return; - } - - $erasedContent = $this->popStreamContentUntilCurrentSection(); - - $this->addContent($message); - - parent::doWrite($message, true); - parent::doWrite($erasedContent, false); - } - - /** - * At initial stage, cursor is at the end of stream output. This method makes cursor crawl upwards until it hits - * current section. Then it erases content it crawled through. Optionally, it erases part of current section too. - */ - private function popStreamContentUntilCurrentSection(int $numberOfLinesToClearFromCurrentSection = 0): string - { - $numberOfLinesToClear = $numberOfLinesToClearFromCurrentSection; - $erasedContent = []; - - foreach ($this->sections as $section) { - if ($section === $this) { - break; - } - - $numberOfLinesToClear += $section->lines; - $erasedContent[] = $section->getContent(); - } - - if ($numberOfLinesToClear > 0) { - // move cursor up n lines - parent::doWrite(sprintf("\x1b[%dA", $numberOfLinesToClear), false); - // erase to end of screen - parent::doWrite("\x1b[0J", false); - } - - return implode('', array_reverse($erasedContent)); - } - - private function getDisplayLength(string $text): string - { - return Helper::strlenWithoutDecoration($this->getFormatter(), str_replace("\t", ' ', $text)); - } -} diff --git a/paragonik-backend/vendor/symfony/console/Output/NullOutput.php b/paragonik-backend/vendor/symfony/console/Output/NullOutput.php deleted file mode 100644 index 218f285..0000000 --- a/paragonik-backend/vendor/symfony/console/Output/NullOutput.php +++ /dev/null @@ -1,123 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Console\Output; - -use Symfony\Component\Console\Formatter\OutputFormatter; -use Symfony\Component\Console\Formatter\OutputFormatterInterface; - -/** - * NullOutput suppresses all output. - * - * $output = new NullOutput(); - * - * @author Fabien Potencier - * @author Tobias Schultze - */ -class NullOutput implements OutputInterface -{ - /** - * {@inheritdoc} - */ - public function setFormatter(OutputFormatterInterface $formatter) - { - // do nothing - } - - /** - * {@inheritdoc} - */ - public function getFormatter() - { - // to comply with the interface we must return a OutputFormatterInterface - return new OutputFormatter(); - } - - /** - * {@inheritdoc} - */ - public function setDecorated($decorated) - { - // do nothing - } - - /** - * {@inheritdoc} - */ - public function isDecorated() - { - return false; - } - - /** - * {@inheritdoc} - */ - public function setVerbosity($level) - { - // do nothing - } - - /** - * {@inheritdoc} - */ - public function getVerbosity() - { - return self::VERBOSITY_QUIET; - } - - /** - * {@inheritdoc} - */ - public function isQuiet() - { - return true; - } - - /** - * {@inheritdoc} - */ - public function isVerbose() - { - return false; - } - - /** - * {@inheritdoc} - */ - public function isVeryVerbose() - { - return false; - } - - /** - * {@inheritdoc} - */ - public function isDebug() - { - return false; - } - - /** - * {@inheritdoc} - */ - public function writeln($messages, $options = self::OUTPUT_NORMAL) - { - // do nothing - } - - /** - * {@inheritdoc} - */ - public function write($messages, $newline = false, $options = self::OUTPUT_NORMAL) - { - // do nothing - } -} diff --git a/paragonik-backend/vendor/symfony/console/Output/Output.php b/paragonik-backend/vendor/symfony/console/Output/Output.php deleted file mode 100644 index 9dd7651..0000000 --- a/paragonik-backend/vendor/symfony/console/Output/Output.php +++ /dev/null @@ -1,177 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Console\Output; - -use Symfony\Component\Console\Formatter\OutputFormatter; -use Symfony\Component\Console\Formatter\OutputFormatterInterface; - -/** - * Base class for output classes. - * - * There are five levels of verbosity: - * - * * normal: no option passed (normal output) - * * verbose: -v (more output) - * * very verbose: -vv (highly extended output) - * * debug: -vvv (all debug output) - * * quiet: -q (no output) - * - * @author Fabien Potencier - */ -abstract class Output implements OutputInterface -{ - private $verbosity; - private $formatter; - - /** - * @param int $verbosity The verbosity level (one of the VERBOSITY constants in OutputInterface) - * @param bool $decorated Whether to decorate messages - * @param OutputFormatterInterface|null $formatter Output formatter instance (null to use default OutputFormatter) - */ - public function __construct(?int $verbosity = self::VERBOSITY_NORMAL, bool $decorated = false, OutputFormatterInterface $formatter = null) - { - $this->verbosity = null === $verbosity ? self::VERBOSITY_NORMAL : $verbosity; - $this->formatter = $formatter ?: new OutputFormatter(); - $this->formatter->setDecorated($decorated); - } - - /** - * {@inheritdoc} - */ - public function setFormatter(OutputFormatterInterface $formatter) - { - $this->formatter = $formatter; - } - - /** - * {@inheritdoc} - */ - public function getFormatter() - { - return $this->formatter; - } - - /** - * {@inheritdoc} - */ - public function setDecorated($decorated) - { - $this->formatter->setDecorated($decorated); - } - - /** - * {@inheritdoc} - */ - public function isDecorated() - { - return $this->formatter->isDecorated(); - } - - /** - * {@inheritdoc} - */ - public function setVerbosity($level) - { - $this->verbosity = (int) $level; - } - - /** - * {@inheritdoc} - */ - public function getVerbosity() - { - return $this->verbosity; - } - - /** - * {@inheritdoc} - */ - public function isQuiet() - { - return self::VERBOSITY_QUIET === $this->verbosity; - } - - /** - * {@inheritdoc} - */ - public function isVerbose() - { - return self::VERBOSITY_VERBOSE <= $this->verbosity; - } - - /** - * {@inheritdoc} - */ - public function isVeryVerbose() - { - return self::VERBOSITY_VERY_VERBOSE <= $this->verbosity; - } - - /** - * {@inheritdoc} - */ - public function isDebug() - { - return self::VERBOSITY_DEBUG <= $this->verbosity; - } - - /** - * {@inheritdoc} - */ - public function writeln($messages, $options = self::OUTPUT_NORMAL) - { - $this->write($messages, true, $options); - } - - /** - * {@inheritdoc} - */ - public function write($messages, $newline = false, $options = self::OUTPUT_NORMAL) - { - if (!is_iterable($messages)) { - $messages = [$messages]; - } - - $types = self::OUTPUT_NORMAL | self::OUTPUT_RAW | self::OUTPUT_PLAIN; - $type = $types & $options ?: self::OUTPUT_NORMAL; - - $verbosities = self::VERBOSITY_QUIET | self::VERBOSITY_NORMAL | self::VERBOSITY_VERBOSE | self::VERBOSITY_VERY_VERBOSE | self::VERBOSITY_DEBUG; - $verbosity = $verbosities & $options ?: self::VERBOSITY_NORMAL; - - if ($verbosity > $this->getVerbosity()) { - return; - } - - foreach ($messages as $message) { - switch ($type) { - case OutputInterface::OUTPUT_NORMAL: - $message = $this->formatter->format($message); - break; - case OutputInterface::OUTPUT_RAW: - break; - case OutputInterface::OUTPUT_PLAIN: - $message = strip_tags($this->formatter->format($message)); - break; - } - - $this->doWrite($message, $newline); - } - } - - /** - * Writes a message to the output. - * - * @param string $message A message to write to the output - * @param bool $newline Whether to add a newline or not - */ - abstract protected function doWrite($message, $newline); -} diff --git a/paragonik-backend/vendor/symfony/console/Output/OutputInterface.php b/paragonik-backend/vendor/symfony/console/Output/OutputInterface.php deleted file mode 100644 index 0dfd12b..0000000 --- a/paragonik-backend/vendor/symfony/console/Output/OutputInterface.php +++ /dev/null @@ -1,114 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Console\Output; - -use Symfony\Component\Console\Formatter\OutputFormatterInterface; - -/** - * OutputInterface is the interface implemented by all Output classes. - * - * @author Fabien Potencier - */ -interface OutputInterface -{ - const VERBOSITY_QUIET = 16; - const VERBOSITY_NORMAL = 32; - const VERBOSITY_VERBOSE = 64; - const VERBOSITY_VERY_VERBOSE = 128; - const VERBOSITY_DEBUG = 256; - - const OUTPUT_NORMAL = 1; - const OUTPUT_RAW = 2; - const OUTPUT_PLAIN = 4; - - /** - * Writes a message to the output. - * - * @param string|iterable $messages The message as an iterable of strings or a single string - * @param bool $newline Whether to add a newline - * @param int $options A bitmask of options (one of the OUTPUT or VERBOSITY constants), 0 is considered the same as self::OUTPUT_NORMAL | self::VERBOSITY_NORMAL - */ - public function write($messages, $newline = false, $options = 0); - - /** - * Writes a message to the output and adds a newline at the end. - * - * @param string|iterable $messages The message as an iterable of strings or a single string - * @param int $options A bitmask of options (one of the OUTPUT or VERBOSITY constants), 0 is considered the same as self::OUTPUT_NORMAL | self::VERBOSITY_NORMAL - */ - public function writeln($messages, $options = 0); - - /** - * Sets the verbosity of the output. - * - * @param int $level The level of verbosity (one of the VERBOSITY constants) - */ - public function setVerbosity($level); - - /** - * Gets the current verbosity of the output. - * - * @return int The current level of verbosity (one of the VERBOSITY constants) - */ - public function getVerbosity(); - - /** - * Returns whether verbosity is quiet (-q). - * - * @return bool true if verbosity is set to VERBOSITY_QUIET, false otherwise - */ - public function isQuiet(); - - /** - * Returns whether verbosity is verbose (-v). - * - * @return bool true if verbosity is set to VERBOSITY_VERBOSE, false otherwise - */ - public function isVerbose(); - - /** - * Returns whether verbosity is very verbose (-vv). - * - * @return bool true if verbosity is set to VERBOSITY_VERY_VERBOSE, false otherwise - */ - public function isVeryVerbose(); - - /** - * Returns whether verbosity is debug (-vvv). - * - * @return bool true if verbosity is set to VERBOSITY_DEBUG, false otherwise - */ - public function isDebug(); - - /** - * Sets the decorated flag. - * - * @param bool $decorated Whether to decorate the messages - */ - public function setDecorated($decorated); - - /** - * Gets the decorated flag. - * - * @return bool true if the output will decorate messages, false otherwise - */ - public function isDecorated(); - - public function setFormatter(OutputFormatterInterface $formatter); - - /** - * Returns current output formatter instance. - * - * @return OutputFormatterInterface - */ - public function getFormatter(); -} diff --git a/paragonik-backend/vendor/symfony/console/Output/StreamOutput.php b/paragonik-backend/vendor/symfony/console/Output/StreamOutput.php deleted file mode 100644 index 3126210..0000000 --- a/paragonik-backend/vendor/symfony/console/Output/StreamOutput.php +++ /dev/null @@ -1,129 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Console\Output; - -use Symfony\Component\Console\Exception\InvalidArgumentException; -use Symfony\Component\Console\Exception\RuntimeException; -use Symfony\Component\Console\Formatter\OutputFormatterInterface; - -/** - * StreamOutput writes the output to a given stream. - * - * Usage: - * - * $output = new StreamOutput(fopen('php://stdout', 'w')); - * - * As `StreamOutput` can use any stream, you can also use a file: - * - * $output = new StreamOutput(fopen('/path/to/output.log', 'a', false)); - * - * @author Fabien Potencier - */ -class StreamOutput extends Output -{ - private $stream; - - /** - * @param resource $stream A stream resource - * @param int $verbosity The verbosity level (one of the VERBOSITY constants in OutputInterface) - * @param bool|null $decorated Whether to decorate messages (null for auto-guessing) - * @param OutputFormatterInterface|null $formatter Output formatter instance (null to use default OutputFormatter) - * - * @throws InvalidArgumentException When first argument is not a real stream - */ - public function __construct($stream, int $verbosity = self::VERBOSITY_NORMAL, bool $decorated = null, OutputFormatterInterface $formatter = null) - { - if (!\is_resource($stream) || 'stream' !== get_resource_type($stream)) { - throw new InvalidArgumentException('The StreamOutput class needs a stream as its first argument.'); - } - - $this->stream = $stream; - - if (null === $decorated) { - $decorated = $this->hasColorSupport(); - } - - parent::__construct($verbosity, $decorated, $formatter); - } - - /** - * Gets the stream attached to this StreamOutput instance. - * - * @return resource A stream resource - */ - public function getStream() - { - return $this->stream; - } - - /** - * {@inheritdoc} - */ - protected function doWrite($message, $newline) - { - if ($newline) { - $message .= PHP_EOL; - } - - if (false === @fwrite($this->stream, $message)) { - // should never happen - throw new RuntimeException('Unable to write output.'); - } - - fflush($this->stream); - } - - /** - * Returns true if the stream supports colorization. - * - * Colorization is disabled if not supported by the stream: - * - * This is tricky on Windows, because Cygwin, Msys2 etc emulate pseudo - * terminals via named pipes, so we can only check the environment. - * - * Reference: Composer\XdebugHandler\Process::supportsColor - * https://github.com/composer/xdebug-handler - * - * @return bool true if the stream supports colorization, false otherwise - */ - protected function hasColorSupport() - { - // Follow https://no-color.org/ - if (isset($_SERVER['NO_COLOR']) || false !== getenv('NO_COLOR')) { - return false; - } - - if ('Hyper' === getenv('TERM_PROGRAM')) { - return true; - } - - if (\DIRECTORY_SEPARATOR === '\\') { - return (\function_exists('sapi_windows_vt100_support') - && @sapi_windows_vt100_support($this->stream)) - || false !== getenv('ANSICON') - || 'ON' === getenv('ConEmuANSI') - || 'xterm' === getenv('TERM'); - } - - if (\function_exists('stream_isatty')) { - return @stream_isatty($this->stream); - } - - if (\function_exists('posix_isatty')) { - return @posix_isatty($this->stream); - } - - $stat = @fstat($this->stream); - // Check if formatted mode is S_IFCHR - return $stat ? 0020000 === ($stat['mode'] & 0170000) : false; - } -} diff --git a/paragonik-backend/vendor/symfony/console/Question/ChoiceQuestion.php b/paragonik-backend/vendor/symfony/console/Question/ChoiceQuestion.php deleted file mode 100644 index a4b302d..0000000 --- a/paragonik-backend/vendor/symfony/console/Question/ChoiceQuestion.php +++ /dev/null @@ -1,188 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Console\Question; - -use Symfony\Component\Console\Exception\InvalidArgumentException; - -/** - * Represents a choice question. - * - * @author Fabien Potencier - */ -class ChoiceQuestion extends Question -{ - private $choices; - private $multiselect = false; - private $prompt = ' > '; - private $errorMessage = 'Value "%s" is invalid'; - - /** - * @param string $question The question to ask to the user - * @param array $choices The list of available choices - * @param mixed $default The default answer to return - */ - public function __construct(string $question, array $choices, $default = null) - { - if (!$choices) { - throw new \LogicException('Choice question must have at least 1 choice available.'); - } - - parent::__construct($question, $default); - - $this->choices = $choices; - $this->setValidator($this->getDefaultValidator()); - $this->setAutocompleterValues($choices); - } - - /** - * Returns available choices. - * - * @return array - */ - public function getChoices() - { - return $this->choices; - } - - /** - * Sets multiselect option. - * - * When multiselect is set to true, multiple choices can be answered. - * - * @param bool $multiselect - * - * @return $this - */ - public function setMultiselect($multiselect) - { - $this->multiselect = $multiselect; - $this->setValidator($this->getDefaultValidator()); - - return $this; - } - - /** - * Returns whether the choices are multiselect. - * - * @return bool - */ - public function isMultiselect() - { - return $this->multiselect; - } - - /** - * Gets the prompt for choices. - * - * @return string - */ - public function getPrompt() - { - return $this->prompt; - } - - /** - * Sets the prompt for choices. - * - * @param string $prompt - * - * @return $this - */ - public function setPrompt($prompt) - { - $this->prompt = $prompt; - - return $this; - } - - /** - * Sets the error message for invalid values. - * - * The error message has a string placeholder (%s) for the invalid value. - * - * @param string $errorMessage - * - * @return $this - */ - public function setErrorMessage($errorMessage) - { - $this->errorMessage = $errorMessage; - $this->setValidator($this->getDefaultValidator()); - - return $this; - } - - private function getDefaultValidator(): callable - { - $choices = $this->choices; - $errorMessage = $this->errorMessage; - $multiselect = $this->multiselect; - $isAssoc = $this->isAssoc($choices); - - return function ($selected) use ($choices, $errorMessage, $multiselect, $isAssoc) { - if ($multiselect) { - // Check for a separated comma values - if (!preg_match('/^[^,]+(?:,[^,]+)*$/', $selected, $matches)) { - throw new InvalidArgumentException(sprintf($errorMessage, $selected)); - } - - $selectedChoices = explode(',', $selected); - } else { - $selectedChoices = [$selected]; - } - - if ($this->isTrimmable()) { - foreach ($selectedChoices as $k => $v) { - $selectedChoices[$k] = trim($v); - } - } - - $multiselectChoices = []; - foreach ($selectedChoices as $value) { - $results = []; - foreach ($choices as $key => $choice) { - if ($choice === $value) { - $results[] = $key; - } - } - - if (\count($results) > 1) { - throw new InvalidArgumentException(sprintf('The provided answer is ambiguous. Value should be one of %s.', implode(' or ', $results))); - } - - $result = array_search($value, $choices); - - if (!$isAssoc) { - if (false !== $result) { - $result = $choices[$result]; - } elseif (isset($choices[$value])) { - $result = $choices[$value]; - } - } elseif (false === $result && isset($choices[$value])) { - $result = $value; - } - - if (false === $result) { - throw new InvalidArgumentException(sprintf($errorMessage, $value)); - } - - $multiselectChoices[] = (string) $result; - } - - if ($multiselect) { - return $multiselectChoices; - } - - return current($multiselectChoices); - }; - } -} diff --git a/paragonik-backend/vendor/symfony/console/Question/ConfirmationQuestion.php b/paragonik-backend/vendor/symfony/console/Question/ConfirmationQuestion.php deleted file mode 100644 index 4228521..0000000 --- a/paragonik-backend/vendor/symfony/console/Question/ConfirmationQuestion.php +++ /dev/null @@ -1,57 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Console\Question; - -/** - * Represents a yes/no question. - * - * @author Fabien Potencier - */ -class ConfirmationQuestion extends Question -{ - private $trueAnswerRegex; - - /** - * @param string $question The question to ask to the user - * @param bool $default The default answer to return, true or false - * @param string $trueAnswerRegex A regex to match the "yes" answer - */ - public function __construct(string $question, bool $default = true, string $trueAnswerRegex = '/^y/i') - { - parent::__construct($question, $default); - - $this->trueAnswerRegex = $trueAnswerRegex; - $this->setNormalizer($this->getDefaultNormalizer()); - } - - /** - * Returns the default answer normalizer. - */ - private function getDefaultNormalizer(): callable - { - $default = $this->getDefault(); - $regex = $this->trueAnswerRegex; - - return function ($answer) use ($default, $regex) { - if (\is_bool($answer)) { - return $answer; - } - - $answerIsTrue = (bool) preg_match($regex, $answer); - if (false === $default) { - return $answer && $answerIsTrue; - } - - return '' === $answer || $answerIsTrue; - }; - } -} diff --git a/paragonik-backend/vendor/symfony/console/Question/Question.php b/paragonik-backend/vendor/symfony/console/Question/Question.php deleted file mode 100644 index c28e0bf..0000000 --- a/paragonik-backend/vendor/symfony/console/Question/Question.php +++ /dev/null @@ -1,289 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Console\Question; - -use Symfony\Component\Console\Exception\InvalidArgumentException; -use Symfony\Component\Console\Exception\LogicException; - -/** - * Represents a Question. - * - * @author Fabien Potencier - */ -class Question -{ - private $question; - private $attempts; - private $hidden = false; - private $hiddenFallback = true; - private $autocompleterCallback; - private $validator; - private $default; - private $normalizer; - private $trimmable = true; - - /** - * @param string $question The question to ask to the user - * @param mixed $default The default answer to return if the user enters nothing - */ - public function __construct(string $question, $default = null) - { - $this->question = $question; - $this->default = $default; - } - - /** - * Returns the question. - * - * @return string - */ - public function getQuestion() - { - return $this->question; - } - - /** - * Returns the default answer. - * - * @return mixed - */ - public function getDefault() - { - return $this->default; - } - - /** - * Returns whether the user response must be hidden. - * - * @return bool - */ - public function isHidden() - { - return $this->hidden; - } - - /** - * Sets whether the user response must be hidden or not. - * - * @param bool $hidden - * - * @return $this - * - * @throws LogicException In case the autocompleter is also used - */ - public function setHidden($hidden) - { - if ($this->autocompleterCallback) { - throw new LogicException('A hidden question cannot use the autocompleter.'); - } - - $this->hidden = (bool) $hidden; - - return $this; - } - - /** - * In case the response can not be hidden, whether to fallback on non-hidden question or not. - * - * @return bool - */ - public function isHiddenFallback() - { - return $this->hiddenFallback; - } - - /** - * Sets whether to fallback on non-hidden question if the response can not be hidden. - * - * @param bool $fallback - * - * @return $this - */ - public function setHiddenFallback($fallback) - { - $this->hiddenFallback = (bool) $fallback; - - return $this; - } - - /** - * Gets values for the autocompleter. - * - * @return iterable|null - */ - public function getAutocompleterValues() - { - $callback = $this->getAutocompleterCallback(); - - return $callback ? $callback('') : null; - } - - /** - * Sets values for the autocompleter. - * - * @param iterable|null $values - * - * @return $this - * - * @throws InvalidArgumentException - * @throws LogicException - */ - public function setAutocompleterValues($values) - { - if (\is_array($values)) { - $values = $this->isAssoc($values) ? array_merge(array_keys($values), array_values($values)) : array_values($values); - - $callback = static function () use ($values) { - return $values; - }; - } elseif ($values instanceof \Traversable) { - $valueCache = null; - $callback = static function () use ($values, &$valueCache) { - return $valueCache ?? $valueCache = iterator_to_array($values, false); - }; - } elseif (null === $values) { - $callback = null; - } else { - throw new InvalidArgumentException('Autocompleter values can be either an array, "null" or a "Traversable" object.'); - } - - return $this->setAutocompleterCallback($callback); - } - - /** - * Gets the callback function used for the autocompleter. - */ - public function getAutocompleterCallback(): ?callable - { - return $this->autocompleterCallback; - } - - /** - * Sets the callback function used for the autocompleter. - * - * The callback is passed the user input as argument and should return an iterable of corresponding suggestions. - * - * @return $this - */ - public function setAutocompleterCallback(callable $callback = null): self - { - if ($this->hidden && null !== $callback) { - throw new LogicException('A hidden question cannot use the autocompleter.'); - } - - $this->autocompleterCallback = $callback; - - return $this; - } - - /** - * Sets a validator for the question. - * - * @return $this - */ - public function setValidator(callable $validator = null) - { - $this->validator = $validator; - - return $this; - } - - /** - * Gets the validator for the question. - * - * @return callable|null - */ - public function getValidator() - { - return $this->validator; - } - - /** - * Sets the maximum number of attempts. - * - * Null means an unlimited number of attempts. - * - * @param int|null $attempts - * - * @return $this - * - * @throws InvalidArgumentException in case the number of attempts is invalid - */ - public function setMaxAttempts($attempts) - { - if (null !== $attempts && $attempts < 1) { - throw new InvalidArgumentException('Maximum number of attempts must be a positive value.'); - } - - $this->attempts = $attempts; - - return $this; - } - - /** - * Gets the maximum number of attempts. - * - * Null means an unlimited number of attempts. - * - * @return int|null - */ - public function getMaxAttempts() - { - return $this->attempts; - } - - /** - * Sets a normalizer for the response. - * - * The normalizer can be a callable (a string), a closure or a class implementing __invoke. - * - * @return $this - */ - public function setNormalizer(callable $normalizer) - { - $this->normalizer = $normalizer; - - return $this; - } - - /** - * Gets the normalizer for the response. - * - * The normalizer can ba a callable (a string), a closure or a class implementing __invoke. - * - * @return callable|null - */ - public function getNormalizer() - { - return $this->normalizer; - } - - protected function isAssoc($array) - { - return (bool) \count(array_filter(array_keys($array), 'is_string')); - } - - public function isTrimmable(): bool - { - return $this->trimmable; - } - - /** - * @return $this - */ - public function setTrimmable(bool $trimmable): self - { - $this->trimmable = $trimmable; - - return $this; - } -} diff --git a/paragonik-backend/vendor/symfony/console/README.md b/paragonik-backend/vendor/symfony/console/README.md deleted file mode 100644 index 664a37c..0000000 --- a/paragonik-backend/vendor/symfony/console/README.md +++ /dev/null @@ -1,20 +0,0 @@ -Console Component -================= - -The Console component eases the creation of beautiful and testable command line -interfaces. - -Resources ---------- - - * [Documentation](https://symfony.com/doc/current/components/console/index.html) - * [Contributing](https://symfony.com/doc/current/contributing/index.html) - * [Report issues](https://github.com/symfony/symfony/issues) and - [send Pull Requests](https://github.com/symfony/symfony/pulls) - in the [main Symfony repository](https://github.com/symfony/symfony) - -Credits -------- - -`Resources/bin/hiddeninput.exe` is a third party binary provided within this -component. Find sources and license at https://github.com/Seldaek/hidden-input. diff --git a/paragonik-backend/vendor/symfony/console/Resources/bin/hiddeninput.exe b/paragonik-backend/vendor/symfony/console/Resources/bin/hiddeninput.exe deleted file mode 100644 index c8cf65e..0000000 Binary files a/paragonik-backend/vendor/symfony/console/Resources/bin/hiddeninput.exe and /dev/null differ diff --git a/paragonik-backend/vendor/symfony/console/Style/OutputStyle.php b/paragonik-backend/vendor/symfony/console/Style/OutputStyle.php deleted file mode 100644 index b1262b5..0000000 --- a/paragonik-backend/vendor/symfony/console/Style/OutputStyle.php +++ /dev/null @@ -1,155 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Console\Style; - -use Symfony\Component\Console\Formatter\OutputFormatterInterface; -use Symfony\Component\Console\Helper\ProgressBar; -use Symfony\Component\Console\Output\ConsoleOutputInterface; -use Symfony\Component\Console\Output\OutputInterface; - -/** - * Decorates output to add console style guide helpers. - * - * @author Kevin Bond - */ -abstract class OutputStyle implements OutputInterface, StyleInterface -{ - private $output; - - public function __construct(OutputInterface $output) - { - $this->output = $output; - } - - /** - * {@inheritdoc} - */ - public function newLine($count = 1) - { - $this->output->write(str_repeat(PHP_EOL, $count)); - } - - /** - * @param int $max - * - * @return ProgressBar - */ - public function createProgressBar($max = 0) - { - return new ProgressBar($this->output, $max); - } - - /** - * {@inheritdoc} - */ - public function write($messages, $newline = false, $type = self::OUTPUT_NORMAL) - { - $this->output->write($messages, $newline, $type); - } - - /** - * {@inheritdoc} - */ - public function writeln($messages, $type = self::OUTPUT_NORMAL) - { - $this->output->writeln($messages, $type); - } - - /** - * {@inheritdoc} - */ - public function setVerbosity($level) - { - $this->output->setVerbosity($level); - } - - /** - * {@inheritdoc} - */ - public function getVerbosity() - { - return $this->output->getVerbosity(); - } - - /** - * {@inheritdoc} - */ - public function setDecorated($decorated) - { - $this->output->setDecorated($decorated); - } - - /** - * {@inheritdoc} - */ - public function isDecorated() - { - return $this->output->isDecorated(); - } - - /** - * {@inheritdoc} - */ - public function setFormatter(OutputFormatterInterface $formatter) - { - $this->output->setFormatter($formatter); - } - - /** - * {@inheritdoc} - */ - public function getFormatter() - { - return $this->output->getFormatter(); - } - - /** - * {@inheritdoc} - */ - public function isQuiet() - { - return $this->output->isQuiet(); - } - - /** - * {@inheritdoc} - */ - public function isVerbose() - { - return $this->output->isVerbose(); - } - - /** - * {@inheritdoc} - */ - public function isVeryVerbose() - { - return $this->output->isVeryVerbose(); - } - - /** - * {@inheritdoc} - */ - public function isDebug() - { - return $this->output->isDebug(); - } - - protected function getErrorOutput() - { - if (!$this->output instanceof ConsoleOutputInterface) { - return $this->output; - } - - return $this->output->getErrorOutput(); - } -} diff --git a/paragonik-backend/vendor/symfony/console/Style/StyleInterface.php b/paragonik-backend/vendor/symfony/console/Style/StyleInterface.php deleted file mode 100644 index 3b5b8af..0000000 --- a/paragonik-backend/vendor/symfony/console/Style/StyleInterface.php +++ /dev/null @@ -1,153 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Console\Style; - -/** - * Output style helpers. - * - * @author Kevin Bond - */ -interface StyleInterface -{ - /** - * Formats a command title. - * - * @param string $message - */ - public function title($message); - - /** - * Formats a section title. - * - * @param string $message - */ - public function section($message); - - /** - * Formats a list. - */ - public function listing(array $elements); - - /** - * Formats informational text. - * - * @param string|array $message - */ - public function text($message); - - /** - * Formats a success result bar. - * - * @param string|array $message - */ - public function success($message); - - /** - * Formats an error result bar. - * - * @param string|array $message - */ - public function error($message); - - /** - * Formats an warning result bar. - * - * @param string|array $message - */ - public function warning($message); - - /** - * Formats a note admonition. - * - * @param string|array $message - */ - public function note($message); - - /** - * Formats a caution admonition. - * - * @param string|array $message - */ - public function caution($message); - - /** - * Formats a table. - */ - public function table(array $headers, array $rows); - - /** - * Asks a question. - * - * @param string $question - * @param string|null $default - * @param callable|null $validator - * - * @return mixed - */ - public function ask($question, $default = null, $validator = null); - - /** - * Asks a question with the user input hidden. - * - * @param string $question - * @param callable|null $validator - * - * @return mixed - */ - public function askHidden($question, $validator = null); - - /** - * Asks for confirmation. - * - * @param string $question - * @param bool $default - * - * @return bool - */ - public function confirm($question, $default = true); - - /** - * Asks a choice question. - * - * @param string $question - * @param string|int|null $default - * - * @return mixed - */ - public function choice($question, array $choices, $default = null); - - /** - * Add newline(s). - * - * @param int $count The number of newlines - */ - public function newLine($count = 1); - - /** - * Starts the progress output. - * - * @param int $max Maximum steps (0 if unknown) - */ - public function progressStart($max = 0); - - /** - * Advances the progress output X steps. - * - * @param int $step Number of steps to advance - */ - public function progressAdvance($step = 1); - - /** - * Finishes the progress output. - */ - public function progressFinish(); -} diff --git a/paragonik-backend/vendor/symfony/console/Style/SymfonyStyle.php b/paragonik-backend/vendor/symfony/console/Style/SymfonyStyle.php deleted file mode 100644 index 4f11b20..0000000 --- a/paragonik-backend/vendor/symfony/console/Style/SymfonyStyle.php +++ /dev/null @@ -1,504 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Console\Style; - -use Symfony\Component\Console\Exception\InvalidArgumentException; -use Symfony\Component\Console\Exception\RuntimeException; -use Symfony\Component\Console\Formatter\OutputFormatter; -use Symfony\Component\Console\Helper\Helper; -use Symfony\Component\Console\Helper\ProgressBar; -use Symfony\Component\Console\Helper\SymfonyQuestionHelper; -use Symfony\Component\Console\Helper\Table; -use Symfony\Component\Console\Helper\TableCell; -use Symfony\Component\Console\Helper\TableSeparator; -use Symfony\Component\Console\Input\InputInterface; -use Symfony\Component\Console\Output\BufferedOutput; -use Symfony\Component\Console\Output\OutputInterface; -use Symfony\Component\Console\Question\ChoiceQuestion; -use Symfony\Component\Console\Question\ConfirmationQuestion; -use Symfony\Component\Console\Question\Question; -use Symfony\Component\Console\Terminal; - -/** - * Output decorator helpers for the Symfony Style Guide. - * - * @author Kevin Bond - */ -class SymfonyStyle extends OutputStyle -{ - const MAX_LINE_LENGTH = 120; - - private $input; - private $questionHelper; - private $progressBar; - private $lineLength; - private $bufferedOutput; - - public function __construct(InputInterface $input, OutputInterface $output) - { - $this->input = $input; - $this->bufferedOutput = new BufferedOutput($output->getVerbosity(), false, clone $output->getFormatter()); - // Windows cmd wraps lines as soon as the terminal width is reached, whether there are following chars or not. - $width = (new Terminal())->getWidth() ?: self::MAX_LINE_LENGTH; - $this->lineLength = min($width - (int) (\DIRECTORY_SEPARATOR === '\\'), self::MAX_LINE_LENGTH); - - parent::__construct($output); - } - - /** - * Formats a message as a block of text. - * - * @param string|array $messages The message to write in the block - * @param string|null $type The block type (added in [] on first line) - * @param string|null $style The style to apply to the whole block - * @param string $prefix The prefix for the block - * @param bool $padding Whether to add vertical padding - * @param bool $escape Whether to escape the message - */ - public function block($messages, $type = null, $style = null, $prefix = ' ', $padding = false, $escape = true) - { - $messages = \is_array($messages) ? array_values($messages) : [$messages]; - - $this->autoPrependBlock(); - $this->writeln($this->createBlock($messages, $type, $style, $prefix, $padding, $escape)); - $this->newLine(); - } - - /** - * {@inheritdoc} - */ - public function title($message) - { - $this->autoPrependBlock(); - $this->writeln([ - sprintf('%s', OutputFormatter::escapeTrailingBackslash($message)), - sprintf('%s', str_repeat('=', Helper::strlenWithoutDecoration($this->getFormatter(), $message))), - ]); - $this->newLine(); - } - - /** - * {@inheritdoc} - */ - public function section($message) - { - $this->autoPrependBlock(); - $this->writeln([ - sprintf('%s', OutputFormatter::escapeTrailingBackslash($message)), - sprintf('%s', str_repeat('-', Helper::strlenWithoutDecoration($this->getFormatter(), $message))), - ]); - $this->newLine(); - } - - /** - * {@inheritdoc} - */ - public function listing(array $elements) - { - $this->autoPrependText(); - $elements = array_map(function ($element) { - return sprintf(' * %s', $element); - }, $elements); - - $this->writeln($elements); - $this->newLine(); - } - - /** - * {@inheritdoc} - */ - public function text($message) - { - $this->autoPrependText(); - - $messages = \is_array($message) ? array_values($message) : [$message]; - foreach ($messages as $message) { - $this->writeln(sprintf(' %s', $message)); - } - } - - /** - * Formats a command comment. - * - * @param string|array $message - */ - public function comment($message) - { - $this->block($message, null, null, ' // ', false, false); - } - - /** - * {@inheritdoc} - */ - public function success($message) - { - $this->block($message, 'OK', 'fg=black;bg=green', ' ', true); - } - - /** - * {@inheritdoc} - */ - public function error($message) - { - $this->block($message, 'ERROR', 'fg=white;bg=red', ' ', true); - } - - /** - * {@inheritdoc} - */ - public function warning($message) - { - $this->block($message, 'WARNING', 'fg=black;bg=yellow', ' ', true); - } - - /** - * {@inheritdoc} - */ - public function note($message) - { - $this->block($message, 'NOTE', 'fg=yellow', ' ! '); - } - - /** - * {@inheritdoc} - */ - public function caution($message) - { - $this->block($message, 'CAUTION', 'fg=white;bg=red', ' ! ', true); - } - - /** - * {@inheritdoc} - */ - public function table(array $headers, array $rows) - { - $style = clone Table::getStyleDefinition('symfony-style-guide'); - $style->setCellHeaderFormat('%s'); - - $table = new Table($this); - $table->setHeaders($headers); - $table->setRows($rows); - $table->setStyle($style); - - $table->render(); - $this->newLine(); - } - - /** - * Formats a horizontal table. - */ - public function horizontalTable(array $headers, array $rows) - { - $style = clone Table::getStyleDefinition('symfony-style-guide'); - $style->setCellHeaderFormat('%s'); - - $table = new Table($this); - $table->setHeaders($headers); - $table->setRows($rows); - $table->setStyle($style); - $table->setHorizontal(true); - - $table->render(); - $this->newLine(); - } - - /** - * Formats a list of key/value horizontally. - * - * Each row can be one of: - * * 'A title' - * * ['key' => 'value'] - * * new TableSeparator() - * - * @param string|array|TableSeparator ...$list - */ - public function definitionList(...$list) - { - $style = clone Table::getStyleDefinition('symfony-style-guide'); - $style->setCellHeaderFormat('%s'); - - $table = new Table($this); - $headers = []; - $row = []; - foreach ($list as $value) { - if ($value instanceof TableSeparator) { - $headers[] = $value; - $row[] = $value; - continue; - } - if (\is_string($value)) { - $headers[] = new TableCell($value, ['colspan' => 2]); - $row[] = null; - continue; - } - if (!\is_array($value)) { - throw new InvalidArgumentException('Value should be an array, string, or an instance of TableSeparator.'); - } - $headers[] = key($value); - $row[] = current($value); - } - - $table->setHeaders($headers); - $table->setRows([$row]); - $table->setHorizontal(); - $table->setStyle($style); - - $table->render(); - $this->newLine(); - } - - /** - * {@inheritdoc} - */ - public function ask($question, $default = null, $validator = null) - { - $question = new Question($question, $default); - $question->setValidator($validator); - - return $this->askQuestion($question); - } - - /** - * {@inheritdoc} - */ - public function askHidden($question, $validator = null) - { - $question = new Question($question); - - $question->setHidden(true); - $question->setValidator($validator); - - return $this->askQuestion($question); - } - - /** - * {@inheritdoc} - */ - public function confirm($question, $default = true) - { - return $this->askQuestion(new ConfirmationQuestion($question, $default)); - } - - /** - * {@inheritdoc} - */ - public function choice($question, array $choices, $default = null) - { - if (null !== $default) { - $values = array_flip($choices); - $default = $values[$default]; - } - - return $this->askQuestion(new ChoiceQuestion($question, $choices, $default)); - } - - /** - * {@inheritdoc} - */ - public function progressStart($max = 0) - { - $this->progressBar = $this->createProgressBar($max); - $this->progressBar->start(); - } - - /** - * {@inheritdoc} - */ - public function progressAdvance($step = 1) - { - $this->getProgressBar()->advance($step); - } - - /** - * {@inheritdoc} - */ - public function progressFinish() - { - $this->getProgressBar()->finish(); - $this->newLine(2); - $this->progressBar = null; - } - - /** - * {@inheritdoc} - */ - public function createProgressBar($max = 0) - { - $progressBar = parent::createProgressBar($max); - - if ('\\' !== \DIRECTORY_SEPARATOR || 'Hyper' === getenv('TERM_PROGRAM')) { - $progressBar->setEmptyBarCharacter('â–‘'); // light shade character \u2591 - $progressBar->setProgressCharacter(''); - $progressBar->setBarCharacter('â–“'); // dark shade character \u2593 - } - - return $progressBar; - } - - /** - * @return mixed - */ - public function askQuestion(Question $question) - { - if ($this->input->isInteractive()) { - $this->autoPrependBlock(); - } - - if (!$this->questionHelper) { - $this->questionHelper = new SymfonyQuestionHelper(); - } - - $answer = $this->questionHelper->ask($this->input, $this, $question); - - if ($this->input->isInteractive()) { - $this->newLine(); - $this->bufferedOutput->write("\n"); - } - - return $answer; - } - - /** - * {@inheritdoc} - */ - public function writeln($messages, $type = self::OUTPUT_NORMAL) - { - if (!is_iterable($messages)) { - $messages = [$messages]; - } - - foreach ($messages as $message) { - parent::writeln($message, $type); - $this->writeBuffer($message, true, $type); - } - } - - /** - * {@inheritdoc} - */ - public function write($messages, $newline = false, $type = self::OUTPUT_NORMAL) - { - if (!is_iterable($messages)) { - $messages = [$messages]; - } - - foreach ($messages as $message) { - parent::write($message, $newline, $type); - $this->writeBuffer($message, $newline, $type); - } - } - - /** - * {@inheritdoc} - */ - public function newLine($count = 1) - { - parent::newLine($count); - $this->bufferedOutput->write(str_repeat("\n", $count)); - } - - /** - * Returns a new instance which makes use of stderr if available. - * - * @return self - */ - public function getErrorStyle() - { - return new self($this->input, $this->getErrorOutput()); - } - - private function getProgressBar(): ProgressBar - { - if (!$this->progressBar) { - throw new RuntimeException('The ProgressBar is not started.'); - } - - return $this->progressBar; - } - - private function autoPrependBlock(): void - { - $chars = substr(str_replace(PHP_EOL, "\n", $this->bufferedOutput->fetch()), -2); - - if (!isset($chars[0])) { - $this->newLine(); //empty history, so we should start with a new line. - - return; - } - //Prepend new line for each non LF chars (This means no blank line was output before) - $this->newLine(2 - substr_count($chars, "\n")); - } - - private function autoPrependText(): void - { - $fetched = $this->bufferedOutput->fetch(); - //Prepend new line if last char isn't EOL: - if ("\n" !== substr($fetched, -1)) { - $this->newLine(); - } - } - - private function writeBuffer(string $message, bool $newLine, int $type): void - { - // We need to know if the two last chars are PHP_EOL - // Preserve the last 4 chars inserted (PHP_EOL on windows is two chars) in the history buffer - $this->bufferedOutput->write(substr($message, -4), $newLine, $type); - } - - private function createBlock(iterable $messages, string $type = null, string $style = null, string $prefix = ' ', bool $padding = false, bool $escape = false): array - { - $indentLength = 0; - $prefixLength = Helper::strlenWithoutDecoration($this->getFormatter(), $prefix); - $lines = []; - - if (null !== $type) { - $type = sprintf('[%s] ', $type); - $indentLength = \strlen($type); - $lineIndentation = str_repeat(' ', $indentLength); - } - - // wrap and add newlines for each element - foreach ($messages as $key => $message) { - if ($escape) { - $message = OutputFormatter::escape($message); - } - - $lines = array_merge($lines, explode(PHP_EOL, wordwrap($message, $this->lineLength - $prefixLength - $indentLength, PHP_EOL, true))); - - if (\count($messages) > 1 && $key < \count($messages) - 1) { - $lines[] = ''; - } - } - - $firstLineIndex = 0; - if ($padding && $this->isDecorated()) { - $firstLineIndex = 1; - array_unshift($lines, ''); - $lines[] = ''; - } - - foreach ($lines as $i => &$line) { - if (null !== $type) { - $line = $firstLineIndex === $i ? $type.$line : $lineIndentation.$line; - } - - $line = $prefix.$line; - $line .= str_repeat(' ', $this->lineLength - Helper::strlenWithoutDecoration($this->getFormatter(), $line)); - - if ($style) { - $line = sprintf('<%s>%s', $style, $line); - } - } - - return $lines; - } -} diff --git a/paragonik-backend/vendor/symfony/console/Terminal.php b/paragonik-backend/vendor/symfony/console/Terminal.php deleted file mode 100644 index b8cc04e..0000000 --- a/paragonik-backend/vendor/symfony/console/Terminal.php +++ /dev/null @@ -1,169 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Console; - -class Terminal -{ - private static $width; - private static $height; - private static $stty; - - /** - * Gets the terminal width. - * - * @return int - */ - public function getWidth() - { - $width = getenv('COLUMNS'); - if (false !== $width) { - return (int) trim($width); - } - - if (null === self::$width) { - self::initDimensions(); - } - - return self::$width ?: 80; - } - - /** - * Gets the terminal height. - * - * @return int - */ - public function getHeight() - { - $height = getenv('LINES'); - if (false !== $height) { - return (int) trim($height); - } - - if (null === self::$height) { - self::initDimensions(); - } - - return self::$height ?: 50; - } - - /** - * @internal - * - * @return bool - */ - public static function hasSttyAvailable() - { - if (null !== self::$stty) { - return self::$stty; - } - - exec('stty 2>&1', $output, $exitcode); - - return self::$stty = 0 === $exitcode; - } - - private static function initDimensions() - { - if ('\\' === \DIRECTORY_SEPARATOR) { - if (preg_match('/^(\d+)x(\d+)(?: \((\d+)x(\d+)\))?$/', trim(getenv('ANSICON')), $matches)) { - // extract [w, H] from "wxh (WxH)" - // or [w, h] from "wxh" - self::$width = (int) $matches[1]; - self::$height = isset($matches[4]) ? (int) $matches[4] : (int) $matches[2]; - } elseif (!self::hasVt100Support() && self::hasSttyAvailable()) { - // only use stty on Windows if the terminal does not support vt100 (e.g. Windows 7 + git-bash) - // testing for stty in a Windows 10 vt100-enabled console will implicitly disable vt100 support on STDOUT - self::initDimensionsUsingStty(); - } elseif (null !== $dimensions = self::getConsoleMode()) { - // extract [w, h] from "wxh" - self::$width = (int) $dimensions[0]; - self::$height = (int) $dimensions[1]; - } - } else { - self::initDimensionsUsingStty(); - } - } - - /** - * Returns whether STDOUT has vt100 support (some Windows 10+ configurations). - */ - private static function hasVt100Support(): bool - { - return \function_exists('sapi_windows_vt100_support') && sapi_windows_vt100_support(fopen('php://stdout', 'w')); - } - - /** - * Initializes dimensions using the output of an stty columns line. - */ - private static function initDimensionsUsingStty() - { - if ($sttyString = self::getSttyColumns()) { - if (preg_match('/rows.(\d+);.columns.(\d+);/i', $sttyString, $matches)) { - // extract [w, h] from "rows h; columns w;" - self::$width = (int) $matches[2]; - self::$height = (int) $matches[1]; - } elseif (preg_match('/;.(\d+).rows;.(\d+).columns/i', $sttyString, $matches)) { - // extract [w, h] from "; h rows; w columns" - self::$width = (int) $matches[2]; - self::$height = (int) $matches[1]; - } - } - } - - /** - * Runs and parses mode CON if it's available, suppressing any error output. - * - * @return int[]|null An array composed of the width and the height or null if it could not be parsed - */ - private static function getConsoleMode(): ?array - { - $info = self::readFromProcess('mode CON'); - - if (null === $info || !preg_match('/--------+\r?\n.+?(\d+)\r?\n.+?(\d+)\r?\n/', $info, $matches)) { - return null; - } - - return [(int) $matches[2], (int) $matches[1]]; - } - - /** - * Runs and parses stty -a if it's available, suppressing any error output. - */ - private static function getSttyColumns(): ?string - { - return self::readFromProcess('stty -a | grep columns'); - } - - private static function readFromProcess(string $command): ?string - { - if (!\function_exists('proc_open')) { - return null; - } - - $descriptorspec = [ - 1 => ['pipe', 'w'], - 2 => ['pipe', 'w'], - ]; - - $process = proc_open($command, $descriptorspec, $pipes, null, null, ['suppress_errors' => true]); - if (!\is_resource($process)) { - return null; - } - - $info = stream_get_contents($pipes[1]); - fclose($pipes[1]); - fclose($pipes[2]); - proc_close($process); - - return $info; - } -} diff --git a/paragonik-backend/vendor/symfony/console/Tester/ApplicationTester.php b/paragonik-backend/vendor/symfony/console/Tester/ApplicationTester.php deleted file mode 100644 index ced56cf..0000000 --- a/paragonik-backend/vendor/symfony/console/Tester/ApplicationTester.php +++ /dev/null @@ -1,77 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Console\Tester; - -use Symfony\Component\Console\Application; -use Symfony\Component\Console\Input\ArrayInput; - -/** - * Eases the testing of console applications. - * - * When testing an application, don't forget to disable the auto exit flag: - * - * $application = new Application(); - * $application->setAutoExit(false); - * - * @author Fabien Potencier - */ -class ApplicationTester -{ - use TesterTrait; - - private $application; - private $input; - private $statusCode; - - public function __construct(Application $application) - { - $this->application = $application; - } - - /** - * Executes the application. - * - * Available options: - * - * * interactive: Sets the input interactive flag - * * decorated: Sets the output decorated flag - * * verbosity: Sets the output verbosity flag - * * capture_stderr_separately: Make output of stdOut and stdErr separately available - * - * @param array $input An array of arguments and options - * @param array $options An array of options - * - * @return int The command exit code - */ - public function run(array $input, $options = []) - { - $this->input = new ArrayInput($input); - if (isset($options['interactive'])) { - $this->input->setInteractive($options['interactive']); - } - - $shellInteractive = getenv('SHELL_INTERACTIVE'); - - if ($this->inputs) { - $this->input->setStream(self::createStream($this->inputs)); - putenv('SHELL_INTERACTIVE=1'); - } - - $this->initOutput($options); - - $this->statusCode = $this->application->run($this->input, $this->output); - - putenv($shellInteractive ? "SHELL_INTERACTIVE=$shellInteractive" : 'SHELL_INTERACTIVE'); - - return $this->statusCode; - } -} diff --git a/paragonik-backend/vendor/symfony/console/Tester/CommandTester.php b/paragonik-backend/vendor/symfony/console/Tester/CommandTester.php deleted file mode 100644 index 57efc9a..0000000 --- a/paragonik-backend/vendor/symfony/console/Tester/CommandTester.php +++ /dev/null @@ -1,78 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Console\Tester; - -use Symfony\Component\Console\Command\Command; -use Symfony\Component\Console\Input\ArrayInput; - -/** - * Eases the testing of console commands. - * - * @author Fabien Potencier - * @author Robin Chalas - */ -class CommandTester -{ - use TesterTrait; - - private $command; - private $input; - private $statusCode; - - public function __construct(Command $command) - { - $this->command = $command; - } - - /** - * Executes the command. - * - * Available execution options: - * - * * interactive: Sets the input interactive flag - * * decorated: Sets the output decorated flag - * * verbosity: Sets the output verbosity flag - * * capture_stderr_separately: Make output of stdOut and stdErr separately available - * - * @param array $input An array of command arguments and options - * @param array $options An array of execution options - * - * @return int The command exit code - */ - public function execute(array $input, array $options = []) - { - // set the command name automatically if the application requires - // this argument and no command name was passed - if (!isset($input['command']) - && (null !== $application = $this->command->getApplication()) - && $application->getDefinition()->hasArgument('command') - ) { - $input = array_merge(['command' => $this->command->getName()], $input); - } - - $this->input = new ArrayInput($input); - // Use an in-memory input stream even if no inputs are set so that QuestionHelper::ask() does not rely on the blocking STDIN. - $this->input->setStream(self::createStream($this->inputs)); - - if (isset($options['interactive'])) { - $this->input->setInteractive($options['interactive']); - } - - if (!isset($options['decorated'])) { - $options['decorated'] = false; - } - - $this->initOutput($options); - - return $this->statusCode = $this->command->run($this->input, $this->output); - } -} diff --git a/paragonik-backend/vendor/symfony/console/Tester/TesterTrait.php b/paragonik-backend/vendor/symfony/console/Tester/TesterTrait.php deleted file mode 100644 index a5c2088..0000000 --- a/paragonik-backend/vendor/symfony/console/Tester/TesterTrait.php +++ /dev/null @@ -1,180 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Console\Tester; - -use Symfony\Component\Console\Input\InputInterface; -use Symfony\Component\Console\Output\ConsoleOutput; -use Symfony\Component\Console\Output\OutputInterface; -use Symfony\Component\Console\Output\StreamOutput; - -/** - * @author Amrouche Hamza - */ -trait TesterTrait -{ - /** @var StreamOutput */ - private $output; - private $inputs = []; - private $captureStreamsIndependently = false; - - /** - * Gets the display returned by the last execution of the command or application. - * - * @param bool $normalize Whether to normalize end of lines to \n or not - * - * @return string The display - */ - public function getDisplay($normalize = false) - { - if (null === $this->output) { - throw new \RuntimeException('Output not initialized, did you execute the command before requesting the display?'); - } - - rewind($this->output->getStream()); - - $display = stream_get_contents($this->output->getStream()); - - if ($normalize) { - $display = str_replace(PHP_EOL, "\n", $display); - } - - return $display; - } - - /** - * Gets the output written to STDERR by the application. - * - * @param bool $normalize Whether to normalize end of lines to \n or not - * - * @return string - */ - public function getErrorOutput($normalize = false) - { - if (!$this->captureStreamsIndependently) { - throw new \LogicException('The error output is not available when the tester is run without "capture_stderr_separately" option set.'); - } - - rewind($this->output->getErrorOutput()->getStream()); - - $display = stream_get_contents($this->output->getErrorOutput()->getStream()); - - if ($normalize) { - $display = str_replace(PHP_EOL, "\n", $display); - } - - return $display; - } - - /** - * Gets the input instance used by the last execution of the command or application. - * - * @return InputInterface The current input instance - */ - public function getInput() - { - return $this->input; - } - - /** - * Gets the output instance used by the last execution of the command or application. - * - * @return OutputInterface The current output instance - */ - public function getOutput() - { - return $this->output; - } - - /** - * Gets the status code returned by the last execution of the command or application. - * - * @return int The status code - */ - public function getStatusCode() - { - return $this->statusCode; - } - - /** - * Sets the user inputs. - * - * @param array $inputs An array of strings representing each input - * passed to the command input stream - * - * @return $this - */ - public function setInputs(array $inputs) - { - $this->inputs = $inputs; - - return $this; - } - - /** - * Initializes the output property. - * - * Available options: - * - * * decorated: Sets the output decorated flag - * * verbosity: Sets the output verbosity flag - * * capture_stderr_separately: Make output of stdOut and stdErr separately available - */ - private function initOutput(array $options) - { - $this->captureStreamsIndependently = \array_key_exists('capture_stderr_separately', $options) && $options['capture_stderr_separately']; - if (!$this->captureStreamsIndependently) { - $this->output = new StreamOutput(fopen('php://memory', 'w', false)); - if (isset($options['decorated'])) { - $this->output->setDecorated($options['decorated']); - } - if (isset($options['verbosity'])) { - $this->output->setVerbosity($options['verbosity']); - } - } else { - $this->output = new ConsoleOutput( - isset($options['verbosity']) ? $options['verbosity'] : ConsoleOutput::VERBOSITY_NORMAL, - isset($options['decorated']) ? $options['decorated'] : null - ); - - $errorOutput = new StreamOutput(fopen('php://memory', 'w', false)); - $errorOutput->setFormatter($this->output->getFormatter()); - $errorOutput->setVerbosity($this->output->getVerbosity()); - $errorOutput->setDecorated($this->output->isDecorated()); - - $reflectedOutput = new \ReflectionObject($this->output); - $strErrProperty = $reflectedOutput->getProperty('stderr'); - $strErrProperty->setAccessible(true); - $strErrProperty->setValue($this->output, $errorOutput); - - $reflectedParent = $reflectedOutput->getParentClass(); - $streamProperty = $reflectedParent->getProperty('stream'); - $streamProperty->setAccessible(true); - $streamProperty->setValue($this->output, fopen('php://memory', 'w', false)); - } - } - - /** - * @return resource - */ - private static function createStream(array $inputs) - { - $stream = fopen('php://memory', 'r+', false); - - foreach ($inputs as $input) { - fwrite($stream, $input.PHP_EOL); - } - - rewind($stream); - - return $stream; - } -} diff --git a/paragonik-backend/vendor/symfony/console/composer.json b/paragonik-backend/vendor/symfony/console/composer.json deleted file mode 100644 index 506539d..0000000 --- a/paragonik-backend/vendor/symfony/console/composer.json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "name": "symfony/console", - "type": "library", - "description": "Symfony Console Component", - "keywords": [], - "homepage": "https://symfony.com", - "license": "MIT", - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "require": { - "php": "^7.1.3", - "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php73": "^1.8", - "symfony/service-contracts": "^1.1|^2" - }, - "require-dev": { - "symfony/config": "^3.4|^4.0|^5.0", - "symfony/event-dispatcher": "^4.3", - "symfony/dependency-injection": "^3.4|^4.0|^5.0", - "symfony/lock": "^4.4|^5.0", - "symfony/process": "^3.4|^4.0|^5.0", - "symfony/var-dumper": "^4.3|^5.0", - "psr/log": "~1.0" - }, - "provide": { - "psr/log-implementation": "1.0" - }, - "suggest": { - "symfony/event-dispatcher": "", - "symfony/lock": "", - "symfony/process": "", - "psr/log": "For using the console logger" - }, - "conflict": { - "symfony/dependency-injection": "<3.4", - "symfony/event-dispatcher": "<4.3|>=5", - "symfony/lock": "<4.4", - "symfony/process": "<3.3" - }, - "autoload": { - "psr-4": { "Symfony\\Component\\Console\\": "" }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "minimum-stability": "dev", - "extra": { - "branch-alias": { - "dev-master": "4.4-dev" - } - } -} diff --git a/paragonik-backend/vendor/symfony/css-selector/.gitattributes b/paragonik-backend/vendor/symfony/css-selector/.gitattributes deleted file mode 100644 index ebb9287..0000000 --- a/paragonik-backend/vendor/symfony/css-selector/.gitattributes +++ /dev/null @@ -1,3 +0,0 @@ -/Tests export-ignore -/phpunit.xml.dist export-ignore -/.gitignore export-ignore diff --git a/paragonik-backend/vendor/symfony/css-selector/CHANGELOG.md b/paragonik-backend/vendor/symfony/css-selector/CHANGELOG.md deleted file mode 100644 index de81fa2..0000000 --- a/paragonik-backend/vendor/symfony/css-selector/CHANGELOG.md +++ /dev/null @@ -1,18 +0,0 @@ -CHANGELOG -========= - -4.4.0 ------ - - * Added support for `*:only-of-type` - -2.8.0 ------ - - * Added the `CssSelectorConverter` class as a non-static API for the component. - * Deprecated the `CssSelector` static API of the component. - -2.1.0 ------ - - * none diff --git a/paragonik-backend/vendor/symfony/css-selector/CssSelectorConverter.php b/paragonik-backend/vendor/symfony/css-selector/CssSelectorConverter.php deleted file mode 100644 index d1aeb7e..0000000 --- a/paragonik-backend/vendor/symfony/css-selector/CssSelectorConverter.php +++ /dev/null @@ -1,65 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\CssSelector; - -use Symfony\Component\CssSelector\Parser\Shortcut\ClassParser; -use Symfony\Component\CssSelector\Parser\Shortcut\ElementParser; -use Symfony\Component\CssSelector\Parser\Shortcut\EmptyStringParser; -use Symfony\Component\CssSelector\Parser\Shortcut\HashParser; -use Symfony\Component\CssSelector\XPath\Extension\HtmlExtension; -use Symfony\Component\CssSelector\XPath\Translator; - -/** - * CssSelectorConverter is the main entry point of the component and can convert CSS - * selectors to XPath expressions. - * - * @author Christophe Coevoet - */ -class CssSelectorConverter -{ - private $translator; - - /** - * @param bool $html Whether HTML support should be enabled. Disable it for XML documents - */ - public function __construct(bool $html = true) - { - $this->translator = new Translator(); - - if ($html) { - $this->translator->registerExtension(new HtmlExtension($this->translator)); - } - - $this->translator - ->registerParserShortcut(new EmptyStringParser()) - ->registerParserShortcut(new ElementParser()) - ->registerParserShortcut(new ClassParser()) - ->registerParserShortcut(new HashParser()) - ; - } - - /** - * Translates a CSS expression to its XPath equivalent. - * - * Optionally, a prefix can be added to the resulting XPath - * expression with the $prefix parameter. - * - * @param string $cssExpr The CSS expression - * @param string $prefix An optional prefix for the XPath expression - * - * @return string - */ - public function toXPath($cssExpr, $prefix = 'descendant-or-self::') - { - return $this->translator->cssToXPath($cssExpr, $prefix); - } -} diff --git a/paragonik-backend/vendor/symfony/css-selector/Exception/ExceptionInterface.php b/paragonik-backend/vendor/symfony/css-selector/Exception/ExceptionInterface.php deleted file mode 100644 index 9e25900..0000000 --- a/paragonik-backend/vendor/symfony/css-selector/Exception/ExceptionInterface.php +++ /dev/null @@ -1,24 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\CssSelector\Exception; - -/** - * Interface for exceptions. - * - * This component is a port of the Python cssselect library, - * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect. - * - * @author Jean-François Simon - */ -interface ExceptionInterface extends \Throwable -{ -} diff --git a/paragonik-backend/vendor/symfony/css-selector/Exception/ExpressionErrorException.php b/paragonik-backend/vendor/symfony/css-selector/Exception/ExpressionErrorException.php deleted file mode 100644 index fd5deea..0000000 --- a/paragonik-backend/vendor/symfony/css-selector/Exception/ExpressionErrorException.php +++ /dev/null @@ -1,24 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\CssSelector\Exception; - -/** - * ParseException is thrown when a CSS selector syntax is not valid. - * - * This component is a port of the Python cssselect library, - * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect. - * - * @author Jean-François Simon - */ -class ExpressionErrorException extends ParseException -{ -} diff --git a/paragonik-backend/vendor/symfony/css-selector/Exception/InternalErrorException.php b/paragonik-backend/vendor/symfony/css-selector/Exception/InternalErrorException.php deleted file mode 100644 index e60e5ed..0000000 --- a/paragonik-backend/vendor/symfony/css-selector/Exception/InternalErrorException.php +++ /dev/null @@ -1,24 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\CssSelector\Exception; - -/** - * ParseException is thrown when a CSS selector syntax is not valid. - * - * This component is a port of the Python cssselect library, - * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect. - * - * @author Jean-François Simon - */ -class InternalErrorException extends ParseException -{ -} diff --git a/paragonik-backend/vendor/symfony/css-selector/Exception/ParseException.php b/paragonik-backend/vendor/symfony/css-selector/Exception/ParseException.php deleted file mode 100644 index 3b0b0ee..0000000 --- a/paragonik-backend/vendor/symfony/css-selector/Exception/ParseException.php +++ /dev/null @@ -1,24 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\CssSelector\Exception; - -/** - * ParseException is thrown when a CSS selector syntax is not valid. - * - * This component is a port of the Python cssselect library, - * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect. - * - * @author Fabien Potencier - */ -class ParseException extends \Exception implements ExceptionInterface -{ -} diff --git a/paragonik-backend/vendor/symfony/css-selector/Exception/SyntaxErrorException.php b/paragonik-backend/vendor/symfony/css-selector/Exception/SyntaxErrorException.php deleted file mode 100644 index 1200c97..0000000 --- a/paragonik-backend/vendor/symfony/css-selector/Exception/SyntaxErrorException.php +++ /dev/null @@ -1,72 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\CssSelector\Exception; - -use Symfony\Component\CssSelector\Parser\Token; - -/** - * ParseException is thrown when a CSS selector syntax is not valid. - * - * This component is a port of the Python cssselect library, - * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect. - * - * @author Jean-François Simon - */ -class SyntaxErrorException extends ParseException -{ - /** - * @param string $expectedValue - * - * @return self - */ - public static function unexpectedToken($expectedValue, Token $foundToken) - { - return new self(sprintf('Expected %s, but %s found.', $expectedValue, $foundToken)); - } - - /** - * @param string $pseudoElement - * @param string $unexpectedLocation - * - * @return self - */ - public static function pseudoElementFound($pseudoElement, $unexpectedLocation) - { - return new self(sprintf('Unexpected pseudo-element "::%s" found %s.', $pseudoElement, $unexpectedLocation)); - } - - /** - * @param int $position - * - * @return self - */ - public static function unclosedString($position) - { - return new self(sprintf('Unclosed/invalid string at %s.', $position)); - } - - /** - * @return self - */ - public static function nestedNot() - { - return new self('Got nested ::not().'); - } - - /** - * @return self - */ - public static function stringAsFunctionArgument() - { - return new self('String not allowed as function argument.'); - } -} diff --git a/paragonik-backend/vendor/symfony/css-selector/LICENSE b/paragonik-backend/vendor/symfony/css-selector/LICENSE deleted file mode 100644 index a677f43..0000000 --- a/paragonik-backend/vendor/symfony/css-selector/LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 2004-2019 Fabien Potencier - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is furnished -to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/paragonik-backend/vendor/symfony/css-selector/Node/AbstractNode.php b/paragonik-backend/vendor/symfony/css-selector/Node/AbstractNode.php deleted file mode 100644 index 9c5cbdd..0000000 --- a/paragonik-backend/vendor/symfony/css-selector/Node/AbstractNode.php +++ /dev/null @@ -1,39 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\CssSelector\Node; - -/** - * Abstract base node class. - * - * This component is a port of the Python cssselect library, - * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect. - * - * @author Jean-François Simon - * - * @internal - */ -abstract class AbstractNode implements NodeInterface -{ - /** - * @var string - */ - private $nodeName; - - public function getNodeName(): string - { - if (null === $this->nodeName) { - $this->nodeName = preg_replace('~.*\\\\([^\\\\]+)Node$~', '$1', \get_called_class()); - } - - return $this->nodeName; - } -} diff --git a/paragonik-backend/vendor/symfony/css-selector/Node/AttributeNode.php b/paragonik-backend/vendor/symfony/css-selector/Node/AttributeNode.php deleted file mode 100644 index bf702d9..0000000 --- a/paragonik-backend/vendor/symfony/css-selector/Node/AttributeNode.php +++ /dev/null @@ -1,85 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\CssSelector\Node; - -/** - * Represents a "[| ]" node. - * - * This component is a port of the Python cssselect library, - * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect. - * - * @author Jean-François Simon - * - * @internal - */ -class AttributeNode extends AbstractNode -{ - private $selector; - private $namespace; - private $attribute; - private $operator; - private $value; - - public function __construct(NodeInterface $selector, ?string $namespace, string $attribute, string $operator, ?string $value) - { - $this->selector = $selector; - $this->namespace = $namespace; - $this->attribute = $attribute; - $this->operator = $operator; - $this->value = $value; - } - - public function getSelector(): NodeInterface - { - return $this->selector; - } - - public function getNamespace(): ?string - { - return $this->namespace; - } - - public function getAttribute(): string - { - return $this->attribute; - } - - public function getOperator(): string - { - return $this->operator; - } - - public function getValue(): ?string - { - return $this->value; - } - - /** - * {@inheritdoc} - */ - public function getSpecificity(): Specificity - { - return $this->selector->getSpecificity()->plus(new Specificity(0, 1, 0)); - } - - /** - * {@inheritdoc} - */ - public function __toString(): string - { - $attribute = $this->namespace ? $this->namespace.'|'.$this->attribute : $this->attribute; - - return 'exists' === $this->operator - ? sprintf('%s[%s[%s]]', $this->getNodeName(), $this->selector, $attribute) - : sprintf("%s[%s[%s %s '%s']]", $this->getNodeName(), $this->selector, $attribute, $this->operator, $this->value); - } -} diff --git a/paragonik-backend/vendor/symfony/css-selector/Node/ClassNode.php b/paragonik-backend/vendor/symfony/css-selector/Node/ClassNode.php deleted file mode 100644 index 1998b4b..0000000 --- a/paragonik-backend/vendor/symfony/css-selector/Node/ClassNode.php +++ /dev/null @@ -1,60 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\CssSelector\Node; - -/** - * Represents a "." node. - * - * This component is a port of the Python cssselect library, - * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect. - * - * @author Jean-François Simon - * - * @internal - */ -class ClassNode extends AbstractNode -{ - private $selector; - private $name; - - public function __construct(NodeInterface $selector, string $name) - { - $this->selector = $selector; - $this->name = $name; - } - - public function getSelector(): NodeInterface - { - return $this->selector; - } - - public function getName(): string - { - return $this->name; - } - - /** - * {@inheritdoc} - */ - public function getSpecificity(): Specificity - { - return $this->selector->getSpecificity()->plus(new Specificity(0, 1, 0)); - } - - /** - * {@inheritdoc} - */ - public function __toString(): string - { - return sprintf('%s[%s.%s]', $this->getNodeName(), $this->selector, $this->name); - } -} diff --git a/paragonik-backend/vendor/symfony/css-selector/Node/CombinedSelectorNode.php b/paragonik-backend/vendor/symfony/css-selector/Node/CombinedSelectorNode.php deleted file mode 100644 index f97fd21..0000000 --- a/paragonik-backend/vendor/symfony/css-selector/Node/CombinedSelectorNode.php +++ /dev/null @@ -1,69 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\CssSelector\Node; - -/** - * Represents a combined node. - * - * This component is a port of the Python cssselect library, - * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect. - * - * @author Jean-François Simon - * - * @internal - */ -class CombinedSelectorNode extends AbstractNode -{ - private $selector; - private $combinator; - private $subSelector; - - public function __construct(NodeInterface $selector, string $combinator, NodeInterface $subSelector) - { - $this->selector = $selector; - $this->combinator = $combinator; - $this->subSelector = $subSelector; - } - - public function getSelector(): NodeInterface - { - return $this->selector; - } - - public function getCombinator(): string - { - return $this->combinator; - } - - public function getSubSelector(): NodeInterface - { - return $this->subSelector; - } - - /** - * {@inheritdoc} - */ - public function getSpecificity(): Specificity - { - return $this->selector->getSpecificity()->plus($this->subSelector->getSpecificity()); - } - - /** - * {@inheritdoc} - */ - public function __toString(): string - { - $combinator = ' ' === $this->combinator ? '' : $this->combinator; - - return sprintf('%s[%s %s %s]', $this->getNodeName(), $this->selector, $combinator, $this->subSelector); - } -} diff --git a/paragonik-backend/vendor/symfony/css-selector/Node/ElementNode.php b/paragonik-backend/vendor/symfony/css-selector/Node/ElementNode.php deleted file mode 100644 index 7949ed9..0000000 --- a/paragonik-backend/vendor/symfony/css-selector/Node/ElementNode.php +++ /dev/null @@ -1,62 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\CssSelector\Node; - -/** - * Represents a "|" node. - * - * This component is a port of the Python cssselect library, - * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect. - * - * @author Jean-François Simon - * - * @internal - */ -class ElementNode extends AbstractNode -{ - private $namespace; - private $element; - - public function __construct(string $namespace = null, string $element = null) - { - $this->namespace = $namespace; - $this->element = $element; - } - - public function getNamespace(): ?string - { - return $this->namespace; - } - - public function getElement(): ?string - { - return $this->element; - } - - /** - * {@inheritdoc} - */ - public function getSpecificity(): Specificity - { - return new Specificity(0, 0, $this->element ? 1 : 0); - } - - /** - * {@inheritdoc} - */ - public function __toString(): string - { - $element = $this->element ?: '*'; - - return sprintf('%s[%s]', $this->getNodeName(), $this->namespace ? $this->namespace.'|'.$element : $element); - } -} diff --git a/paragonik-backend/vendor/symfony/css-selector/Node/FunctionNode.php b/paragonik-backend/vendor/symfony/css-selector/Node/FunctionNode.php deleted file mode 100644 index d3e9b4f..0000000 --- a/paragonik-backend/vendor/symfony/css-selector/Node/FunctionNode.php +++ /dev/null @@ -1,79 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\CssSelector\Node; - -use Symfony\Component\CssSelector\Parser\Token; - -/** - * Represents a ":()" node. - * - * This component is a port of the Python cssselect library, - * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect. - * - * @author Jean-François Simon - * - * @internal - */ -class FunctionNode extends AbstractNode -{ - private $selector; - private $name; - private $arguments; - - /** - * @param Token[] $arguments - */ - public function __construct(NodeInterface $selector, string $name, array $arguments = []) - { - $this->selector = $selector; - $this->name = strtolower($name); - $this->arguments = $arguments; - } - - public function getSelector(): NodeInterface - { - return $this->selector; - } - - public function getName(): string - { - return $this->name; - } - - /** - * @return Token[] - */ - public function getArguments(): array - { - return $this->arguments; - } - - /** - * {@inheritdoc} - */ - public function getSpecificity(): Specificity - { - return $this->selector->getSpecificity()->plus(new Specificity(0, 1, 0)); - } - - /** - * {@inheritdoc} - */ - public function __toString(): string - { - $arguments = implode(', ', array_map(function (Token $token) { - return "'".$token->getValue()."'"; - }, $this->arguments)); - - return sprintf('%s[%s:%s(%s)]', $this->getNodeName(), $this->selector, $this->name, $arguments ? '['.$arguments.']' : ''); - } -} diff --git a/paragonik-backend/vendor/symfony/css-selector/Node/HashNode.php b/paragonik-backend/vendor/symfony/css-selector/Node/HashNode.php deleted file mode 100644 index f73fa2e..0000000 --- a/paragonik-backend/vendor/symfony/css-selector/Node/HashNode.php +++ /dev/null @@ -1,60 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\CssSelector\Node; - -/** - * Represents a "#" node. - * - * This component is a port of the Python cssselect library, - * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect. - * - * @author Jean-François Simon - * - * @internal - */ -class HashNode extends AbstractNode -{ - private $selector; - private $id; - - public function __construct(NodeInterface $selector, string $id) - { - $this->selector = $selector; - $this->id = $id; - } - - public function getSelector(): NodeInterface - { - return $this->selector; - } - - public function getId(): string - { - return $this->id; - } - - /** - * {@inheritdoc} - */ - public function getSpecificity(): Specificity - { - return $this->selector->getSpecificity()->plus(new Specificity(1, 0, 0)); - } - - /** - * {@inheritdoc} - */ - public function __toString(): string - { - return sprintf('%s[%s#%s]', $this->getNodeName(), $this->selector, $this->id); - } -} diff --git a/paragonik-backend/vendor/symfony/css-selector/Node/NegationNode.php b/paragonik-backend/vendor/symfony/css-selector/Node/NegationNode.php deleted file mode 100644 index afa47cf..0000000 --- a/paragonik-backend/vendor/symfony/css-selector/Node/NegationNode.php +++ /dev/null @@ -1,60 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\CssSelector\Node; - -/** - * Represents a ":not()" node. - * - * This component is a port of the Python cssselect library, - * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect. - * - * @author Jean-François Simon - * - * @internal - */ -class NegationNode extends AbstractNode -{ - private $selector; - private $subSelector; - - public function __construct(NodeInterface $selector, NodeInterface $subSelector) - { - $this->selector = $selector; - $this->subSelector = $subSelector; - } - - public function getSelector(): NodeInterface - { - return $this->selector; - } - - public function getSubSelector(): NodeInterface - { - return $this->subSelector; - } - - /** - * {@inheritdoc} - */ - public function getSpecificity(): Specificity - { - return $this->selector->getSpecificity()->plus($this->subSelector->getSpecificity()); - } - - /** - * {@inheritdoc} - */ - public function __toString(): string - { - return sprintf('%s[%s:not(%s)]', $this->getNodeName(), $this->selector, $this->subSelector); - } -} diff --git a/paragonik-backend/vendor/symfony/css-selector/Node/NodeInterface.php b/paragonik-backend/vendor/symfony/css-selector/Node/NodeInterface.php deleted file mode 100644 index b078d26..0000000 --- a/paragonik-backend/vendor/symfony/css-selector/Node/NodeInterface.php +++ /dev/null @@ -1,31 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\CssSelector\Node; - -/** - * Interface for nodes. - * - * This component is a port of the Python cssselect library, - * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect. - * - * @author Jean-François Simon - * - * @internal - */ -interface NodeInterface -{ - public function getNodeName(): string; - - public function getSpecificity(): Specificity; - - public function __toString(): string; -} diff --git a/paragonik-backend/vendor/symfony/css-selector/Node/PseudoNode.php b/paragonik-backend/vendor/symfony/css-selector/Node/PseudoNode.php deleted file mode 100644 index 7d4a011..0000000 --- a/paragonik-backend/vendor/symfony/css-selector/Node/PseudoNode.php +++ /dev/null @@ -1,60 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\CssSelector\Node; - -/** - * Represents a ":" node. - * - * This component is a port of the Python cssselect library, - * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect. - * - * @author Jean-François Simon - * - * @internal - */ -class PseudoNode extends AbstractNode -{ - private $selector; - private $identifier; - - public function __construct(NodeInterface $selector, string $identifier) - { - $this->selector = $selector; - $this->identifier = strtolower($identifier); - } - - public function getSelector(): NodeInterface - { - return $this->selector; - } - - public function getIdentifier(): string - { - return $this->identifier; - } - - /** - * {@inheritdoc} - */ - public function getSpecificity(): Specificity - { - return $this->selector->getSpecificity()->plus(new Specificity(0, 1, 0)); - } - - /** - * {@inheritdoc} - */ - public function __toString(): string - { - return sprintf('%s[%s:%s]', $this->getNodeName(), $this->selector, $this->identifier); - } -} diff --git a/paragonik-backend/vendor/symfony/css-selector/Node/SelectorNode.php b/paragonik-backend/vendor/symfony/css-selector/Node/SelectorNode.php deleted file mode 100644 index a76aa5b..0000000 --- a/paragonik-backend/vendor/symfony/css-selector/Node/SelectorNode.php +++ /dev/null @@ -1,60 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\CssSelector\Node; - -/** - * Represents a "(::|:)" node. - * - * This component is a port of the Python cssselect library, - * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect. - * - * @author Jean-François Simon - * - * @internal - */ -class SelectorNode extends AbstractNode -{ - private $tree; - private $pseudoElement; - - public function __construct(NodeInterface $tree, string $pseudoElement = null) - { - $this->tree = $tree; - $this->pseudoElement = $pseudoElement ? strtolower($pseudoElement) : null; - } - - public function getTree(): NodeInterface - { - return $this->tree; - } - - public function getPseudoElement(): ?string - { - return $this->pseudoElement; - } - - /** - * {@inheritdoc} - */ - public function getSpecificity(): Specificity - { - return $this->tree->getSpecificity()->plus(new Specificity(0, 0, $this->pseudoElement ? 1 : 0)); - } - - /** - * {@inheritdoc} - */ - public function __toString(): string - { - return sprintf('%s[%s%s]', $this->getNodeName(), $this->tree, $this->pseudoElement ? '::'.$this->pseudoElement : ''); - } -} diff --git a/paragonik-backend/vendor/symfony/css-selector/Node/Specificity.php b/paragonik-backend/vendor/symfony/css-selector/Node/Specificity.php deleted file mode 100644 index d0ac8aa..0000000 --- a/paragonik-backend/vendor/symfony/css-selector/Node/Specificity.php +++ /dev/null @@ -1,73 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\CssSelector\Node; - -/** - * Represents a node specificity. - * - * This component is a port of the Python cssselect library, - * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect. - * - * @see http://www.w3.org/TR/selectors/#specificity - * - * @author Jean-François Simon - * - * @internal - */ -class Specificity -{ - const A_FACTOR = 100; - const B_FACTOR = 10; - const C_FACTOR = 1; - - private $a; - private $b; - private $c; - - public function __construct(int $a, int $b, int $c) - { - $this->a = $a; - $this->b = $b; - $this->c = $c; - } - - public function plus(self $specificity): self - { - return new self($this->a + $specificity->a, $this->b + $specificity->b, $this->c + $specificity->c); - } - - public function getValue(): int - { - return $this->a * self::A_FACTOR + $this->b * self::B_FACTOR + $this->c * self::C_FACTOR; - } - - /** - * Returns -1 if the object specificity is lower than the argument, - * 0 if they are equal, and 1 if the argument is lower. - */ - public function compareTo(self $specificity): int - { - if ($this->a !== $specificity->a) { - return $this->a > $specificity->a ? 1 : -1; - } - - if ($this->b !== $specificity->b) { - return $this->b > $specificity->b ? 1 : -1; - } - - if ($this->c !== $specificity->c) { - return $this->c > $specificity->c ? 1 : -1; - } - - return 0; - } -} diff --git a/paragonik-backend/vendor/symfony/css-selector/Parser/Handler/CommentHandler.php b/paragonik-backend/vendor/symfony/css-selector/Parser/Handler/CommentHandler.php deleted file mode 100644 index 93f3188..0000000 --- a/paragonik-backend/vendor/symfony/css-selector/Parser/Handler/CommentHandler.php +++ /dev/null @@ -1,48 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\CssSelector\Parser\Handler; - -use Symfony\Component\CssSelector\Parser\Reader; -use Symfony\Component\CssSelector\Parser\TokenStream; - -/** - * CSS selector comment handler. - * - * This component is a port of the Python cssselect library, - * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect. - * - * @author Jean-François Simon - * - * @internal - */ -class CommentHandler implements HandlerInterface -{ - /** - * {@inheritdoc} - */ - public function handle(Reader $reader, TokenStream $stream): bool - { - if ('/*' !== $reader->getSubstring(2)) { - return false; - } - - $offset = $reader->getOffset('*/'); - - if (false === $offset) { - $reader->moveToEnd(); - } else { - $reader->moveForward($offset + 2); - } - - return true; - } -} diff --git a/paragonik-backend/vendor/symfony/css-selector/Parser/Handler/HandlerInterface.php b/paragonik-backend/vendor/symfony/css-selector/Parser/Handler/HandlerInterface.php deleted file mode 100644 index 9ec714d..0000000 --- a/paragonik-backend/vendor/symfony/css-selector/Parser/Handler/HandlerInterface.php +++ /dev/null @@ -1,30 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\CssSelector\Parser\Handler; - -use Symfony\Component\CssSelector\Parser\Reader; -use Symfony\Component\CssSelector\Parser\TokenStream; - -/** - * CSS selector handler interface. - * - * This component is a port of the Python cssselect library, - * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect. - * - * @author Jean-François Simon - * - * @internal - */ -interface HandlerInterface -{ - public function handle(Reader $reader, TokenStream $stream): bool; -} diff --git a/paragonik-backend/vendor/symfony/css-selector/Parser/Handler/HashHandler.php b/paragonik-backend/vendor/symfony/css-selector/Parser/Handler/HashHandler.php deleted file mode 100644 index 7ae9b43..0000000 --- a/paragonik-backend/vendor/symfony/css-selector/Parser/Handler/HashHandler.php +++ /dev/null @@ -1,58 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\CssSelector\Parser\Handler; - -use Symfony\Component\CssSelector\Parser\Reader; -use Symfony\Component\CssSelector\Parser\Token; -use Symfony\Component\CssSelector\Parser\Tokenizer\TokenizerEscaping; -use Symfony\Component\CssSelector\Parser\Tokenizer\TokenizerPatterns; -use Symfony\Component\CssSelector\Parser\TokenStream; - -/** - * CSS selector comment handler. - * - * This component is a port of the Python cssselect library, - * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect. - * - * @author Jean-François Simon - * - * @internal - */ -class HashHandler implements HandlerInterface -{ - private $patterns; - private $escaping; - - public function __construct(TokenizerPatterns $patterns, TokenizerEscaping $escaping) - { - $this->patterns = $patterns; - $this->escaping = $escaping; - } - - /** - * {@inheritdoc} - */ - public function handle(Reader $reader, TokenStream $stream): bool - { - $match = $reader->findPattern($this->patterns->getHashPattern()); - - if (!$match) { - return false; - } - - $value = $this->escaping->escapeUnicode($match[1]); - $stream->push(new Token(Token::TYPE_HASH, $value, $reader->getPosition())); - $reader->moveForward(\strlen($match[0])); - - return true; - } -} diff --git a/paragonik-backend/vendor/symfony/css-selector/Parser/Handler/IdentifierHandler.php b/paragonik-backend/vendor/symfony/css-selector/Parser/Handler/IdentifierHandler.php deleted file mode 100644 index 7b2a14e..0000000 --- a/paragonik-backend/vendor/symfony/css-selector/Parser/Handler/IdentifierHandler.php +++ /dev/null @@ -1,58 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\CssSelector\Parser\Handler; - -use Symfony\Component\CssSelector\Parser\Reader; -use Symfony\Component\CssSelector\Parser\Token; -use Symfony\Component\CssSelector\Parser\Tokenizer\TokenizerEscaping; -use Symfony\Component\CssSelector\Parser\Tokenizer\TokenizerPatterns; -use Symfony\Component\CssSelector\Parser\TokenStream; - -/** - * CSS selector comment handler. - * - * This component is a port of the Python cssselect library, - * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect. - * - * @author Jean-François Simon - * - * @internal - */ -class IdentifierHandler implements HandlerInterface -{ - private $patterns; - private $escaping; - - public function __construct(TokenizerPatterns $patterns, TokenizerEscaping $escaping) - { - $this->patterns = $patterns; - $this->escaping = $escaping; - } - - /** - * {@inheritdoc} - */ - public function handle(Reader $reader, TokenStream $stream): bool - { - $match = $reader->findPattern($this->patterns->getIdentifierPattern()); - - if (!$match) { - return false; - } - - $value = $this->escaping->escapeUnicode($match[0]); - $stream->push(new Token(Token::TYPE_IDENTIFIER, $value, $reader->getPosition())); - $reader->moveForward(\strlen($match[0])); - - return true; - } -} diff --git a/paragonik-backend/vendor/symfony/css-selector/Parser/Handler/NumberHandler.php b/paragonik-backend/vendor/symfony/css-selector/Parser/Handler/NumberHandler.php deleted file mode 100644 index 8291a68..0000000 --- a/paragonik-backend/vendor/symfony/css-selector/Parser/Handler/NumberHandler.php +++ /dev/null @@ -1,54 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\CssSelector\Parser\Handler; - -use Symfony\Component\CssSelector\Parser\Reader; -use Symfony\Component\CssSelector\Parser\Token; -use Symfony\Component\CssSelector\Parser\Tokenizer\TokenizerPatterns; -use Symfony\Component\CssSelector\Parser\TokenStream; - -/** - * CSS selector comment handler. - * - * This component is a port of the Python cssselect library, - * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect. - * - * @author Jean-François Simon - * - * @internal - */ -class NumberHandler implements HandlerInterface -{ - private $patterns; - - public function __construct(TokenizerPatterns $patterns) - { - $this->patterns = $patterns; - } - - /** - * {@inheritdoc} - */ - public function handle(Reader $reader, TokenStream $stream): bool - { - $match = $reader->findPattern($this->patterns->getNumberPattern()); - - if (!$match) { - return false; - } - - $stream->push(new Token(Token::TYPE_NUMBER, $match[0], $reader->getPosition())); - $reader->moveForward(\strlen($match[0])); - - return true; - } -} diff --git a/paragonik-backend/vendor/symfony/css-selector/Parser/Handler/StringHandler.php b/paragonik-backend/vendor/symfony/css-selector/Parser/Handler/StringHandler.php deleted file mode 100644 index 38c8dc1..0000000 --- a/paragonik-backend/vendor/symfony/css-selector/Parser/Handler/StringHandler.php +++ /dev/null @@ -1,77 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\CssSelector\Parser\Handler; - -use Symfony\Component\CssSelector\Exception\InternalErrorException; -use Symfony\Component\CssSelector\Exception\SyntaxErrorException; -use Symfony\Component\CssSelector\Parser\Reader; -use Symfony\Component\CssSelector\Parser\Token; -use Symfony\Component\CssSelector\Parser\Tokenizer\TokenizerEscaping; -use Symfony\Component\CssSelector\Parser\Tokenizer\TokenizerPatterns; -use Symfony\Component\CssSelector\Parser\TokenStream; - -/** - * CSS selector comment handler. - * - * This component is a port of the Python cssselect library, - * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect. - * - * @author Jean-François Simon - * - * @internal - */ -class StringHandler implements HandlerInterface -{ - private $patterns; - private $escaping; - - public function __construct(TokenizerPatterns $patterns, TokenizerEscaping $escaping) - { - $this->patterns = $patterns; - $this->escaping = $escaping; - } - - /** - * {@inheritdoc} - */ - public function handle(Reader $reader, TokenStream $stream): bool - { - $quote = $reader->getSubstring(1); - - if (!\in_array($quote, ["'", '"'])) { - return false; - } - - $reader->moveForward(1); - $match = $reader->findPattern($this->patterns->getQuotedStringPattern($quote)); - - if (!$match) { - throw new InternalErrorException(sprintf('Should have found at least an empty match at %s.', $reader->getPosition())); - } - - // check unclosed strings - if (\strlen($match[0]) === $reader->getRemainingLength()) { - throw SyntaxErrorException::unclosedString($reader->getPosition() - 1); - } - - // check quotes pairs validity - if ($quote !== $reader->getSubstring(1, \strlen($match[0]))) { - throw SyntaxErrorException::unclosedString($reader->getPosition() - 1); - } - - $string = $this->escaping->escapeUnicodeAndNewLine($match[0]); - $stream->push(new Token(Token::TYPE_STRING, $string, $reader->getPosition())); - $reader->moveForward(\strlen($match[0]) + 1); - - return true; - } -} diff --git a/paragonik-backend/vendor/symfony/css-selector/Parser/Handler/WhitespaceHandler.php b/paragonik-backend/vendor/symfony/css-selector/Parser/Handler/WhitespaceHandler.php deleted file mode 100644 index 21345e3..0000000 --- a/paragonik-backend/vendor/symfony/css-selector/Parser/Handler/WhitespaceHandler.php +++ /dev/null @@ -1,46 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\CssSelector\Parser\Handler; - -use Symfony\Component\CssSelector\Parser\Reader; -use Symfony\Component\CssSelector\Parser\Token; -use Symfony\Component\CssSelector\Parser\TokenStream; - -/** - * CSS selector whitespace handler. - * - * This component is a port of the Python cssselect library, - * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect. - * - * @author Jean-François Simon - * - * @internal - */ -class WhitespaceHandler implements HandlerInterface -{ - /** - * {@inheritdoc} - */ - public function handle(Reader $reader, TokenStream $stream): bool - { - $match = $reader->findPattern('~^[ \t\r\n\f]+~'); - - if (false === $match) { - return false; - } - - $stream->push(new Token(Token::TYPE_WHITESPACE, $match[0], $reader->getPosition())); - $reader->moveForward(\strlen($match[0])); - - return true; - } -} diff --git a/paragonik-backend/vendor/symfony/css-selector/Parser/Parser.php b/paragonik-backend/vendor/symfony/css-selector/Parser/Parser.php deleted file mode 100644 index e8a46c0..0000000 --- a/paragonik-backend/vendor/symfony/css-selector/Parser/Parser.php +++ /dev/null @@ -1,353 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\CssSelector\Parser; - -use Symfony\Component\CssSelector\Exception\SyntaxErrorException; -use Symfony\Component\CssSelector\Node; -use Symfony\Component\CssSelector\Parser\Tokenizer\Tokenizer; - -/** - * CSS selector parser. - * - * This component is a port of the Python cssselect library, - * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect. - * - * @author Jean-François Simon - * - * @internal - */ -class Parser implements ParserInterface -{ - private $tokenizer; - - public function __construct(Tokenizer $tokenizer = null) - { - $this->tokenizer = $tokenizer ?: new Tokenizer(); - } - - /** - * {@inheritdoc} - */ - public function parse(string $source): array - { - $reader = new Reader($source); - $stream = $this->tokenizer->tokenize($reader); - - return $this->parseSelectorList($stream); - } - - /** - * Parses the arguments for ":nth-child()" and friends. - * - * @param Token[] $tokens - * - * @throws SyntaxErrorException - */ - public static function parseSeries(array $tokens): array - { - foreach ($tokens as $token) { - if ($token->isString()) { - throw SyntaxErrorException::stringAsFunctionArgument(); - } - } - - $joined = trim(implode('', array_map(function (Token $token) { - return $token->getValue(); - }, $tokens))); - - $int = function ($string) { - if (!is_numeric($string)) { - throw SyntaxErrorException::stringAsFunctionArgument(); - } - - return (int) $string; - }; - - switch (true) { - case 'odd' === $joined: - return [2, 1]; - case 'even' === $joined: - return [2, 0]; - case 'n' === $joined: - return [1, 0]; - case false === strpos($joined, 'n'): - return [0, $int($joined)]; - } - - $split = explode('n', $joined); - $first = isset($split[0]) ? $split[0] : null; - - return [ - $first ? ('-' === $first || '+' === $first ? $int($first.'1') : $int($first)) : 1, - isset($split[1]) && $split[1] ? $int($split[1]) : 0, - ]; - } - - private function parseSelectorList(TokenStream $stream): array - { - $stream->skipWhitespace(); - $selectors = []; - - while (true) { - $selectors[] = $this->parserSelectorNode($stream); - - if ($stream->getPeek()->isDelimiter([','])) { - $stream->getNext(); - $stream->skipWhitespace(); - } else { - break; - } - } - - return $selectors; - } - - private function parserSelectorNode(TokenStream $stream): Node\SelectorNode - { - list($result, $pseudoElement) = $this->parseSimpleSelector($stream); - - while (true) { - $stream->skipWhitespace(); - $peek = $stream->getPeek(); - - if ($peek->isFileEnd() || $peek->isDelimiter([','])) { - break; - } - - if (null !== $pseudoElement) { - throw SyntaxErrorException::pseudoElementFound($pseudoElement, 'not at the end of a selector'); - } - - if ($peek->isDelimiter(['+', '>', '~'])) { - $combinator = $stream->getNext()->getValue(); - $stream->skipWhitespace(); - } else { - $combinator = ' '; - } - - list($nextSelector, $pseudoElement) = $this->parseSimpleSelector($stream); - $result = new Node\CombinedSelectorNode($result, $combinator, $nextSelector); - } - - return new Node\SelectorNode($result, $pseudoElement); - } - - /** - * Parses next simple node (hash, class, pseudo, negation). - * - * @throws SyntaxErrorException - */ - private function parseSimpleSelector(TokenStream $stream, bool $insideNegation = false): array - { - $stream->skipWhitespace(); - - $selectorStart = \count($stream->getUsed()); - $result = $this->parseElementNode($stream); - $pseudoElement = null; - - while (true) { - $peek = $stream->getPeek(); - if ($peek->isWhitespace() - || $peek->isFileEnd() - || $peek->isDelimiter([',', '+', '>', '~']) - || ($insideNegation && $peek->isDelimiter([')'])) - ) { - break; - } - - if (null !== $pseudoElement) { - throw SyntaxErrorException::pseudoElementFound($pseudoElement, 'not at the end of a selector'); - } - - if ($peek->isHash()) { - $result = new Node\HashNode($result, $stream->getNext()->getValue()); - } elseif ($peek->isDelimiter(['.'])) { - $stream->getNext(); - $result = new Node\ClassNode($result, $stream->getNextIdentifier()); - } elseif ($peek->isDelimiter(['['])) { - $stream->getNext(); - $result = $this->parseAttributeNode($result, $stream); - } elseif ($peek->isDelimiter([':'])) { - $stream->getNext(); - - if ($stream->getPeek()->isDelimiter([':'])) { - $stream->getNext(); - $pseudoElement = $stream->getNextIdentifier(); - - continue; - } - - $identifier = $stream->getNextIdentifier(); - if (\in_array(strtolower($identifier), ['first-line', 'first-letter', 'before', 'after'])) { - // Special case: CSS 2.1 pseudo-elements can have a single ':'. - // Any new pseudo-element must have two. - $pseudoElement = $identifier; - - continue; - } - - if (!$stream->getPeek()->isDelimiter(['('])) { - $result = new Node\PseudoNode($result, $identifier); - - continue; - } - - $stream->getNext(); - $stream->skipWhitespace(); - - if ('not' === strtolower($identifier)) { - if ($insideNegation) { - throw SyntaxErrorException::nestedNot(); - } - - list($argument, $argumentPseudoElement) = $this->parseSimpleSelector($stream, true); - $next = $stream->getNext(); - - if (null !== $argumentPseudoElement) { - throw SyntaxErrorException::pseudoElementFound($argumentPseudoElement, 'inside ::not()'); - } - - if (!$next->isDelimiter([')'])) { - throw SyntaxErrorException::unexpectedToken('")"', $next); - } - - $result = new Node\NegationNode($result, $argument); - } else { - $arguments = []; - $next = null; - - while (true) { - $stream->skipWhitespace(); - $next = $stream->getNext(); - - if ($next->isIdentifier() - || $next->isString() - || $next->isNumber() - || $next->isDelimiter(['+', '-']) - ) { - $arguments[] = $next; - } elseif ($next->isDelimiter([')'])) { - break; - } else { - throw SyntaxErrorException::unexpectedToken('an argument', $next); - } - } - - if (empty($arguments)) { - throw SyntaxErrorException::unexpectedToken('at least one argument', $next); - } - - $result = new Node\FunctionNode($result, $identifier, $arguments); - } - } else { - throw SyntaxErrorException::unexpectedToken('selector', $peek); - } - } - - if (\count($stream->getUsed()) === $selectorStart) { - throw SyntaxErrorException::unexpectedToken('selector', $stream->getPeek()); - } - - return [$result, $pseudoElement]; - } - - private function parseElementNode(TokenStream $stream): Node\ElementNode - { - $peek = $stream->getPeek(); - - if ($peek->isIdentifier() || $peek->isDelimiter(['*'])) { - if ($peek->isIdentifier()) { - $namespace = $stream->getNext()->getValue(); - } else { - $stream->getNext(); - $namespace = null; - } - - if ($stream->getPeek()->isDelimiter(['|'])) { - $stream->getNext(); - $element = $stream->getNextIdentifierOrStar(); - } else { - $element = $namespace; - $namespace = null; - } - } else { - $element = $namespace = null; - } - - return new Node\ElementNode($namespace, $element); - } - - private function parseAttributeNode(Node\NodeInterface $selector, TokenStream $stream): Node\AttributeNode - { - $stream->skipWhitespace(); - $attribute = $stream->getNextIdentifierOrStar(); - - if (null === $attribute && !$stream->getPeek()->isDelimiter(['|'])) { - throw SyntaxErrorException::unexpectedToken('"|"', $stream->getPeek()); - } - - if ($stream->getPeek()->isDelimiter(['|'])) { - $stream->getNext(); - - if ($stream->getPeek()->isDelimiter(['='])) { - $namespace = null; - $stream->getNext(); - $operator = '|='; - } else { - $namespace = $attribute; - $attribute = $stream->getNextIdentifier(); - $operator = null; - } - } else { - $namespace = $operator = null; - } - - if (null === $operator) { - $stream->skipWhitespace(); - $next = $stream->getNext(); - - if ($next->isDelimiter([']'])) { - return new Node\AttributeNode($selector, $namespace, $attribute, 'exists', null); - } elseif ($next->isDelimiter(['='])) { - $operator = '='; - } elseif ($next->isDelimiter(['^', '$', '*', '~', '|', '!']) - && $stream->getPeek()->isDelimiter(['=']) - ) { - $operator = $next->getValue().'='; - $stream->getNext(); - } else { - throw SyntaxErrorException::unexpectedToken('operator', $next); - } - } - - $stream->skipWhitespace(); - $value = $stream->getNext(); - - if ($value->isNumber()) { - // if the value is a number, it's casted into a string - $value = new Token(Token::TYPE_STRING, (string) $value->getValue(), $value->getPosition()); - } - - if (!($value->isIdentifier() || $value->isString())) { - throw SyntaxErrorException::unexpectedToken('string or identifier', $value); - } - - $stream->skipWhitespace(); - $next = $stream->getNext(); - - if (!$next->isDelimiter([']'])) { - throw SyntaxErrorException::unexpectedToken('"]"', $next); - } - - return new Node\AttributeNode($selector, $namespace, $attribute, $operator, $value->getValue()); - } -} diff --git a/paragonik-backend/vendor/symfony/css-selector/Parser/ParserInterface.php b/paragonik-backend/vendor/symfony/css-selector/Parser/ParserInterface.php deleted file mode 100644 index 51c3d93..0000000 --- a/paragonik-backend/vendor/symfony/css-selector/Parser/ParserInterface.php +++ /dev/null @@ -1,34 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\CssSelector\Parser; - -use Symfony\Component\CssSelector\Node\SelectorNode; - -/** - * CSS selector parser interface. - * - * This component is a port of the Python cssselect library, - * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect. - * - * @author Jean-François Simon - * - * @internal - */ -interface ParserInterface -{ - /** - * Parses given selector source into an array of tokens. - * - * @return SelectorNode[] - */ - public function parse(string $source): array; -} diff --git a/paragonik-backend/vendor/symfony/css-selector/Parser/Reader.php b/paragonik-backend/vendor/symfony/css-selector/Parser/Reader.php deleted file mode 100644 index 4b43eff..0000000 --- a/paragonik-backend/vendor/symfony/css-selector/Parser/Reader.php +++ /dev/null @@ -1,86 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\CssSelector\Parser; - -/** - * CSS selector reader. - * - * This component is a port of the Python cssselect library, - * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect. - * - * @author Jean-François Simon - * - * @internal - */ -class Reader -{ - private $source; - private $length; - private $position = 0; - - public function __construct(string $source) - { - $this->source = $source; - $this->length = \strlen($source); - } - - public function isEOF(): bool - { - return $this->position >= $this->length; - } - - public function getPosition(): int - { - return $this->position; - } - - public function getRemainingLength(): int - { - return $this->length - $this->position; - } - - public function getSubstring(int $length, int $offset = 0): string - { - return substr($this->source, $this->position + $offset, $length); - } - - public function getOffset(string $string) - { - $position = strpos($this->source, $string, $this->position); - - return false === $position ? false : $position - $this->position; - } - - /** - * @return array|false - */ - public function findPattern(string $pattern) - { - $source = substr($this->source, $this->position); - - if (preg_match($pattern, $source, $matches)) { - return $matches; - } - - return false; - } - - public function moveForward(int $length) - { - $this->position += $length; - } - - public function moveToEnd() - { - $this->position = $this->length; - } -} diff --git a/paragonik-backend/vendor/symfony/css-selector/Parser/Shortcut/ClassParser.php b/paragonik-backend/vendor/symfony/css-selector/Parser/Shortcut/ClassParser.php deleted file mode 100644 index 17fa8c2..0000000 --- a/paragonik-backend/vendor/symfony/css-selector/Parser/Shortcut/ClassParser.php +++ /dev/null @@ -1,51 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\CssSelector\Parser\Shortcut; - -use Symfony\Component\CssSelector\Node\ClassNode; -use Symfony\Component\CssSelector\Node\ElementNode; -use Symfony\Component\CssSelector\Node\SelectorNode; -use Symfony\Component\CssSelector\Parser\ParserInterface; - -/** - * CSS selector class parser shortcut. - * - * This component is a port of the Python cssselect library, - * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect. - * - * @author Jean-François Simon - * - * @internal - */ -class ClassParser implements ParserInterface -{ - /** - * {@inheritdoc} - */ - public function parse(string $source): array - { - // Matches an optional namespace, optional element, and required class - // $source = 'test|input.ab6bd_field'; - // $matches = array (size=4) - // 0 => string 'test|input.ab6bd_field' (length=22) - // 1 => string 'test' (length=4) - // 2 => string 'input' (length=5) - // 3 => string 'ab6bd_field' (length=11) - if (preg_match('/^(?:([a-z]++)\|)?+([\w-]++|\*)?+\.([\w-]++)$/i', trim($source), $matches)) { - return [ - new SelectorNode(new ClassNode(new ElementNode($matches[1] ?: null, $matches[2] ?: null), $matches[3])), - ]; - } - - return []; - } -} diff --git a/paragonik-backend/vendor/symfony/css-selector/Parser/Shortcut/ElementParser.php b/paragonik-backend/vendor/symfony/css-selector/Parser/Shortcut/ElementParser.php deleted file mode 100644 index 8b9a863..0000000 --- a/paragonik-backend/vendor/symfony/css-selector/Parser/Shortcut/ElementParser.php +++ /dev/null @@ -1,47 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\CssSelector\Parser\Shortcut; - -use Symfony\Component\CssSelector\Node\ElementNode; -use Symfony\Component\CssSelector\Node\SelectorNode; -use Symfony\Component\CssSelector\Parser\ParserInterface; - -/** - * CSS selector element parser shortcut. - * - * This component is a port of the Python cssselect library, - * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect. - * - * @author Jean-François Simon - * - * @internal - */ -class ElementParser implements ParserInterface -{ - /** - * {@inheritdoc} - */ - public function parse(string $source): array - { - // Matches an optional namespace, required element or `*` - // $source = 'testns|testel'; - // $matches = array (size=3) - // 0 => string 'testns|testel' (length=13) - // 1 => string 'testns' (length=6) - // 2 => string 'testel' (length=6) - if (preg_match('/^(?:([a-z]++)\|)?([\w-]++|\*)$/i', trim($source), $matches)) { - return [new SelectorNode(new ElementNode($matches[1] ?: null, $matches[2]))]; - } - - return []; - } -} diff --git a/paragonik-backend/vendor/symfony/css-selector/Parser/Shortcut/EmptyStringParser.php b/paragonik-backend/vendor/symfony/css-selector/Parser/Shortcut/EmptyStringParser.php deleted file mode 100644 index 222df5c..0000000 --- a/paragonik-backend/vendor/symfony/css-selector/Parser/Shortcut/EmptyStringParser.php +++ /dev/null @@ -1,46 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\CssSelector\Parser\Shortcut; - -use Symfony\Component\CssSelector\Node\ElementNode; -use Symfony\Component\CssSelector\Node\SelectorNode; -use Symfony\Component\CssSelector\Parser\ParserInterface; - -/** - * CSS selector class parser shortcut. - * - * This shortcut ensure compatibility with previous version. - * - The parser fails to parse an empty string. - * - In the previous version, an empty string matches each tags. - * - * This component is a port of the Python cssselect library, - * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect. - * - * @author Jean-François Simon - * - * @internal - */ -class EmptyStringParser implements ParserInterface -{ - /** - * {@inheritdoc} - */ - public function parse(string $source): array - { - // Matches an empty string - if ('' == $source) { - return [new SelectorNode(new ElementNode(null, '*'))]; - } - - return []; - } -} diff --git a/paragonik-backend/vendor/symfony/css-selector/Parser/Shortcut/HashParser.php b/paragonik-backend/vendor/symfony/css-selector/Parser/Shortcut/HashParser.php deleted file mode 100644 index fb07ee6..0000000 --- a/paragonik-backend/vendor/symfony/css-selector/Parser/Shortcut/HashParser.php +++ /dev/null @@ -1,51 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\CssSelector\Parser\Shortcut; - -use Symfony\Component\CssSelector\Node\ElementNode; -use Symfony\Component\CssSelector\Node\HashNode; -use Symfony\Component\CssSelector\Node\SelectorNode; -use Symfony\Component\CssSelector\Parser\ParserInterface; - -/** - * CSS selector hash parser shortcut. - * - * This component is a port of the Python cssselect library, - * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect. - * - * @author Jean-François Simon - * - * @internal - */ -class HashParser implements ParserInterface -{ - /** - * {@inheritdoc} - */ - public function parse(string $source): array - { - // Matches an optional namespace, optional element, and required id - // $source = 'test|input#ab6bd_field'; - // $matches = array (size=4) - // 0 => string 'test|input#ab6bd_field' (length=22) - // 1 => string 'test' (length=4) - // 2 => string 'input' (length=5) - // 3 => string 'ab6bd_field' (length=11) - if (preg_match('/^(?:([a-z]++)\|)?+([\w-]++|\*)?+#([\w-]++)$/i', trim($source), $matches)) { - return [ - new SelectorNode(new HashNode(new ElementNode($matches[1] ?: null, $matches[2] ?: null), $matches[3])), - ]; - } - - return []; - } -} diff --git a/paragonik-backend/vendor/symfony/css-selector/Parser/Token.php b/paragonik-backend/vendor/symfony/css-selector/Parser/Token.php deleted file mode 100644 index 9a32485..0000000 --- a/paragonik-backend/vendor/symfony/css-selector/Parser/Token.php +++ /dev/null @@ -1,111 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\CssSelector\Parser; - -/** - * CSS selector token. - * - * This component is a port of the Python cssselect library, - * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect. - * - * @author Jean-François Simon - * - * @internal - */ -class Token -{ - const TYPE_FILE_END = 'eof'; - const TYPE_DELIMITER = 'delimiter'; - const TYPE_WHITESPACE = 'whitespace'; - const TYPE_IDENTIFIER = 'identifier'; - const TYPE_HASH = 'hash'; - const TYPE_NUMBER = 'number'; - const TYPE_STRING = 'string'; - - private $type; - private $value; - private $position; - - public function __construct(?string $type, ?string $value, ?int $position) - { - $this->type = $type; - $this->value = $value; - $this->position = $position; - } - - public function getType(): ?int - { - return $this->type; - } - - public function getValue(): ?string - { - return $this->value; - } - - public function getPosition(): ?int - { - return $this->position; - } - - public function isFileEnd(): bool - { - return self::TYPE_FILE_END === $this->type; - } - - public function isDelimiter(array $values = []): bool - { - if (self::TYPE_DELIMITER !== $this->type) { - return false; - } - - if (empty($values)) { - return true; - } - - return \in_array($this->value, $values); - } - - public function isWhitespace(): bool - { - return self::TYPE_WHITESPACE === $this->type; - } - - public function isIdentifier(): bool - { - return self::TYPE_IDENTIFIER === $this->type; - } - - public function isHash(): bool - { - return self::TYPE_HASH === $this->type; - } - - public function isNumber(): bool - { - return self::TYPE_NUMBER === $this->type; - } - - public function isString(): bool - { - return self::TYPE_STRING === $this->type; - } - - public function __toString(): string - { - if ($this->value) { - return sprintf('<%s "%s" at %s>', $this->type, $this->value, $this->position); - } - - return sprintf('<%s at %s>', $this->type, $this->position); - } -} diff --git a/paragonik-backend/vendor/symfony/css-selector/Parser/TokenStream.php b/paragonik-backend/vendor/symfony/css-selector/Parser/TokenStream.php deleted file mode 100644 index f4c2585..0000000 --- a/paragonik-backend/vendor/symfony/css-selector/Parser/TokenStream.php +++ /dev/null @@ -1,171 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\CssSelector\Parser; - -use Symfony\Component\CssSelector\Exception\InternalErrorException; -use Symfony\Component\CssSelector\Exception\SyntaxErrorException; - -/** - * CSS selector token stream. - * - * This component is a port of the Python cssselect library, - * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect. - * - * @author Jean-François Simon - * - * @internal - */ -class TokenStream -{ - /** - * @var Token[] - */ - private $tokens = []; - - /** - * @var Token[] - */ - private $used = []; - - /** - * @var int - */ - private $cursor = 0; - - /** - * @var Token|null - */ - private $peeked; - - /** - * @var bool - */ - private $peeking = false; - - /** - * Pushes a token. - * - * @return $this - */ - public function push(Token $token): self - { - $this->tokens[] = $token; - - return $this; - } - - /** - * Freezes stream. - * - * @return $this - */ - public function freeze(): self - { - return $this; - } - - /** - * Returns next token. - * - * @throws InternalErrorException If there is no more token - */ - public function getNext(): Token - { - if ($this->peeking) { - $this->peeking = false; - $this->used[] = $this->peeked; - - return $this->peeked; - } - - if (!isset($this->tokens[$this->cursor])) { - throw new InternalErrorException('Unexpected token stream end.'); - } - - return $this->tokens[$this->cursor++]; - } - - /** - * Returns peeked token. - */ - public function getPeek(): Token - { - if (!$this->peeking) { - $this->peeked = $this->getNext(); - $this->peeking = true; - } - - return $this->peeked; - } - - /** - * Returns used tokens. - * - * @return Token[] - */ - public function getUsed(): array - { - return $this->used; - } - - /** - * Returns nex identifier token. - * - * @return string The identifier token value - * - * @throws SyntaxErrorException If next token is not an identifier - */ - public function getNextIdentifier(): string - { - $next = $this->getNext(); - - if (!$next->isIdentifier()) { - throw SyntaxErrorException::unexpectedToken('identifier', $next); - } - - return $next->getValue(); - } - - /** - * Returns nex identifier or star delimiter token. - * - * @return string|null The identifier token value or null if star found - * - * @throws SyntaxErrorException If next token is not an identifier or a star delimiter - */ - public function getNextIdentifierOrStar(): ?string - { - $next = $this->getNext(); - - if ($next->isIdentifier()) { - return $next->getValue(); - } - - if ($next->isDelimiter(['*'])) { - return null; - } - - throw SyntaxErrorException::unexpectedToken('identifier or "*"', $next); - } - - /** - * Skips next whitespace if any. - */ - public function skipWhitespace() - { - $peek = $this->getPeek(); - - if ($peek->isWhitespace()) { - $this->getNext(); - } - } -} diff --git a/paragonik-backend/vendor/symfony/css-selector/Parser/Tokenizer/Tokenizer.php b/paragonik-backend/vendor/symfony/css-selector/Parser/Tokenizer/Tokenizer.php deleted file mode 100644 index e0dcc5b..0000000 --- a/paragonik-backend/vendor/symfony/css-selector/Parser/Tokenizer/Tokenizer.php +++ /dev/null @@ -1,73 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\CssSelector\Parser\Tokenizer; - -use Symfony\Component\CssSelector\Parser\Handler; -use Symfony\Component\CssSelector\Parser\Reader; -use Symfony\Component\CssSelector\Parser\Token; -use Symfony\Component\CssSelector\Parser\TokenStream; - -/** - * CSS selector tokenizer. - * - * This component is a port of the Python cssselect library, - * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect. - * - * @author Jean-François Simon - * - * @internal - */ -class Tokenizer -{ - /** - * @var Handler\HandlerInterface[] - */ - private $handlers; - - public function __construct() - { - $patterns = new TokenizerPatterns(); - $escaping = new TokenizerEscaping($patterns); - - $this->handlers = [ - new Handler\WhitespaceHandler(), - new Handler\IdentifierHandler($patterns, $escaping), - new Handler\HashHandler($patterns, $escaping), - new Handler\StringHandler($patterns, $escaping), - new Handler\NumberHandler($patterns), - new Handler\CommentHandler(), - ]; - } - - /** - * Tokenize selector source code. - */ - public function tokenize(Reader $reader): TokenStream - { - $stream = new TokenStream(); - - while (!$reader->isEOF()) { - foreach ($this->handlers as $handler) { - if ($handler->handle($reader, $stream)) { - continue 2; - } - } - - $stream->push(new Token(Token::TYPE_DELIMITER, $reader->getSubstring(1), $reader->getPosition())); - $reader->moveForward(1); - } - - return $stream - ->push(new Token(Token::TYPE_FILE_END, null, $reader->getPosition())) - ->freeze(); - } -} diff --git a/paragonik-backend/vendor/symfony/css-selector/Parser/Tokenizer/TokenizerEscaping.php b/paragonik-backend/vendor/symfony/css-selector/Parser/Tokenizer/TokenizerEscaping.php deleted file mode 100644 index 013e827..0000000 --- a/paragonik-backend/vendor/symfony/css-selector/Parser/Tokenizer/TokenizerEscaping.php +++ /dev/null @@ -1,65 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\CssSelector\Parser\Tokenizer; - -/** - * CSS selector tokenizer escaping applier. - * - * This component is a port of the Python cssselect library, - * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect. - * - * @author Jean-François Simon - * - * @internal - */ -class TokenizerEscaping -{ - private $patterns; - - public function __construct(TokenizerPatterns $patterns) - { - $this->patterns = $patterns; - } - - public function escapeUnicode(string $value): string - { - $value = $this->replaceUnicodeSequences($value); - - return preg_replace($this->patterns->getSimpleEscapePattern(), '$1', $value); - } - - public function escapeUnicodeAndNewLine(string $value): string - { - $value = preg_replace($this->patterns->getNewLineEscapePattern(), '', $value); - - return $this->escapeUnicode($value); - } - - private function replaceUnicodeSequences(string $value): string - { - return preg_replace_callback($this->patterns->getUnicodeEscapePattern(), function ($match) { - $c = hexdec($match[1]); - - if (0x80 > $c %= 0x200000) { - return \chr($c); - } - if (0x800 > $c) { - return \chr(0xC0 | $c >> 6).\chr(0x80 | $c & 0x3F); - } - if (0x10000 > $c) { - return \chr(0xE0 | $c >> 12).\chr(0x80 | $c >> 6 & 0x3F).\chr(0x80 | $c & 0x3F); - } - - return ''; - }, $value); - } -} diff --git a/paragonik-backend/vendor/symfony/css-selector/Parser/Tokenizer/TokenizerPatterns.php b/paragonik-backend/vendor/symfony/css-selector/Parser/Tokenizer/TokenizerPatterns.php deleted file mode 100644 index 5f16ac4..0000000 --- a/paragonik-backend/vendor/symfony/css-selector/Parser/Tokenizer/TokenizerPatterns.php +++ /dev/null @@ -1,89 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\CssSelector\Parser\Tokenizer; - -/** - * CSS selector tokenizer patterns builder. - * - * This component is a port of the Python cssselect library, - * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect. - * - * @author Jean-François Simon - * - * @internal - */ -class TokenizerPatterns -{ - private $unicodeEscapePattern; - private $simpleEscapePattern; - private $newLineEscapePattern; - private $escapePattern; - private $stringEscapePattern; - private $nonAsciiPattern; - private $nmCharPattern; - private $nmStartPattern; - private $identifierPattern; - private $hashPattern; - private $numberPattern; - private $quotedStringPattern; - - public function __construct() - { - $this->unicodeEscapePattern = '\\\\([0-9a-f]{1,6})(?:\r\n|[ \n\r\t\f])?'; - $this->simpleEscapePattern = '\\\\(.)'; - $this->newLineEscapePattern = '\\\\(?:\n|\r\n|\r|\f)'; - $this->escapePattern = $this->unicodeEscapePattern.'|\\\\[^\n\r\f0-9a-f]'; - $this->stringEscapePattern = $this->newLineEscapePattern.'|'.$this->escapePattern; - $this->nonAsciiPattern = '[^\x00-\x7F]'; - $this->nmCharPattern = '[_a-z0-9-]|'.$this->escapePattern.'|'.$this->nonAsciiPattern; - $this->nmStartPattern = '[_a-z]|'.$this->escapePattern.'|'.$this->nonAsciiPattern; - $this->identifierPattern = '-?(?:'.$this->nmStartPattern.')(?:'.$this->nmCharPattern.')*'; - $this->hashPattern = '#((?:'.$this->nmCharPattern.')+)'; - $this->numberPattern = '[+-]?(?:[0-9]*\.[0-9]+|[0-9]+)'; - $this->quotedStringPattern = '([^\n\r\f%s]|'.$this->stringEscapePattern.')*'; - } - - public function getNewLineEscapePattern(): string - { - return '~^'.$this->newLineEscapePattern.'~'; - } - - public function getSimpleEscapePattern(): string - { - return '~^'.$this->simpleEscapePattern.'~'; - } - - public function getUnicodeEscapePattern(): string - { - return '~^'.$this->unicodeEscapePattern.'~i'; - } - - public function getIdentifierPattern(): string - { - return '~^'.$this->identifierPattern.'~i'; - } - - public function getHashPattern(): string - { - return '~^'.$this->hashPattern.'~i'; - } - - public function getNumberPattern(): string - { - return '~^'.$this->numberPattern.'~'; - } - - public function getQuotedStringPattern(string $quote): string - { - return '~^'.sprintf($this->quotedStringPattern, $quote).'~i'; - } -} diff --git a/paragonik-backend/vendor/symfony/css-selector/README.md b/paragonik-backend/vendor/symfony/css-selector/README.md deleted file mode 100644 index 7c4c411..0000000 --- a/paragonik-backend/vendor/symfony/css-selector/README.md +++ /dev/null @@ -1,20 +0,0 @@ -CssSelector Component -===================== - -The CssSelector component converts CSS selectors to XPath expressions. - -Resources ---------- - - * [Documentation](https://symfony.com/doc/current/components/css_selector.html) - * [Contributing](https://symfony.com/doc/current/contributing/index.html) - * [Report issues](https://github.com/symfony/symfony/issues) and - [send Pull Requests](https://github.com/symfony/symfony/pulls) - in the [main Symfony repository](https://github.com/symfony/symfony) - -Credits -------- - -This component is a port of the Python cssselect library -[v0.7.1](https://github.com/SimonSapin/cssselect/releases/tag/v0.7.1), -which is distributed under the BSD license. diff --git a/paragonik-backend/vendor/symfony/css-selector/XPath/Extension/AbstractExtension.php b/paragonik-backend/vendor/symfony/css-selector/XPath/Extension/AbstractExtension.php deleted file mode 100644 index 44e0035..0000000 --- a/paragonik-backend/vendor/symfony/css-selector/XPath/Extension/AbstractExtension.php +++ /dev/null @@ -1,65 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\CssSelector\XPath\Extension; - -/** - * XPath expression translator abstract extension. - * - * This component is a port of the Python cssselect library, - * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect. - * - * @author Jean-François Simon - * - * @internal - */ -abstract class AbstractExtension implements ExtensionInterface -{ - /** - * {@inheritdoc} - */ - public function getNodeTranslators(): array - { - return []; - } - - /** - * {@inheritdoc} - */ - public function getCombinationTranslators(): array - { - return []; - } - - /** - * {@inheritdoc} - */ - public function getFunctionTranslators(): array - { - return []; - } - - /** - * {@inheritdoc} - */ - public function getPseudoClassTranslators(): array - { - return []; - } - - /** - * {@inheritdoc} - */ - public function getAttributeMatchingTranslators(): array - { - return []; - } -} diff --git a/paragonik-backend/vendor/symfony/css-selector/XPath/Extension/AttributeMatchingExtension.php b/paragonik-backend/vendor/symfony/css-selector/XPath/Extension/AttributeMatchingExtension.php deleted file mode 100644 index a9879f1..0000000 --- a/paragonik-backend/vendor/symfony/css-selector/XPath/Extension/AttributeMatchingExtension.php +++ /dev/null @@ -1,119 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\CssSelector\XPath\Extension; - -use Symfony\Component\CssSelector\XPath\Translator; -use Symfony\Component\CssSelector\XPath\XPathExpr; - -/** - * XPath expression translator attribute extension. - * - * This component is a port of the Python cssselect library, - * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect. - * - * @author Jean-François Simon - * - * @internal - */ -class AttributeMatchingExtension extends AbstractExtension -{ - /** - * {@inheritdoc} - */ - public function getAttributeMatchingTranslators(): array - { - return [ - 'exists' => [$this, 'translateExists'], - '=' => [$this, 'translateEquals'], - '~=' => [$this, 'translateIncludes'], - '|=' => [$this, 'translateDashMatch'], - '^=' => [$this, 'translatePrefixMatch'], - '$=' => [$this, 'translateSuffixMatch'], - '*=' => [$this, 'translateSubstringMatch'], - '!=' => [$this, 'translateDifferent'], - ]; - } - - public function translateExists(XPathExpr $xpath, string $attribute, ?string $value): XPathExpr - { - return $xpath->addCondition($attribute); - } - - public function translateEquals(XPathExpr $xpath, string $attribute, ?string $value): XPathExpr - { - return $xpath->addCondition(sprintf('%s = %s', $attribute, Translator::getXpathLiteral($value))); - } - - public function translateIncludes(XPathExpr $xpath, string $attribute, ?string $value): XPathExpr - { - return $xpath->addCondition($value ? sprintf( - '%1$s and contains(concat(\' \', normalize-space(%1$s), \' \'), %2$s)', - $attribute, - Translator::getXpathLiteral(' '.$value.' ') - ) : '0'); - } - - public function translateDashMatch(XPathExpr $xpath, string $attribute, ?string $value): XPathExpr - { - return $xpath->addCondition(sprintf( - '%1$s and (%1$s = %2$s or starts-with(%1$s, %3$s))', - $attribute, - Translator::getXpathLiteral($value), - Translator::getXpathLiteral($value.'-') - )); - } - - public function translatePrefixMatch(XPathExpr $xpath, string $attribute, ?string $value): XPathExpr - { - return $xpath->addCondition($value ? sprintf( - '%1$s and starts-with(%1$s, %2$s)', - $attribute, - Translator::getXpathLiteral($value) - ) : '0'); - } - - public function translateSuffixMatch(XPathExpr $xpath, string $attribute, ?string $value): XPathExpr - { - return $xpath->addCondition($value ? sprintf( - '%1$s and substring(%1$s, string-length(%1$s)-%2$s) = %3$s', - $attribute, - \strlen($value) - 1, - Translator::getXpathLiteral($value) - ) : '0'); - } - - public function translateSubstringMatch(XPathExpr $xpath, string $attribute, ?string $value): XPathExpr - { - return $xpath->addCondition($value ? sprintf( - '%1$s and contains(%1$s, %2$s)', - $attribute, - Translator::getXpathLiteral($value) - ) : '0'); - } - - public function translateDifferent(XPathExpr $xpath, string $attribute, ?string $value): XPathExpr - { - return $xpath->addCondition(sprintf( - $value ? 'not(%1$s) or %1$s != %2$s' : '%s != %s', - $attribute, - Translator::getXpathLiteral($value) - )); - } - - /** - * {@inheritdoc} - */ - public function getName(): string - { - return 'attribute-matching'; - } -} diff --git a/paragonik-backend/vendor/symfony/css-selector/XPath/Extension/CombinationExtension.php b/paragonik-backend/vendor/symfony/css-selector/XPath/Extension/CombinationExtension.php deleted file mode 100644 index aee976e..0000000 --- a/paragonik-backend/vendor/symfony/css-selector/XPath/Extension/CombinationExtension.php +++ /dev/null @@ -1,71 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\CssSelector\XPath\Extension; - -use Symfony\Component\CssSelector\XPath\XPathExpr; - -/** - * XPath expression translator combination extension. - * - * This component is a port of the Python cssselect library, - * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect. - * - * @author Jean-François Simon - * - * @internal - */ -class CombinationExtension extends AbstractExtension -{ - /** - * {@inheritdoc} - */ - public function getCombinationTranslators(): array - { - return [ - ' ' => [$this, 'translateDescendant'], - '>' => [$this, 'translateChild'], - '+' => [$this, 'translateDirectAdjacent'], - '~' => [$this, 'translateIndirectAdjacent'], - ]; - } - - public function translateDescendant(XPathExpr $xpath, XPathExpr $combinedXpath): XPathExpr - { - return $xpath->join('/descendant-or-self::*/', $combinedXpath); - } - - public function translateChild(XPathExpr $xpath, XPathExpr $combinedXpath): XPathExpr - { - return $xpath->join('/', $combinedXpath); - } - - public function translateDirectAdjacent(XPathExpr $xpath, XPathExpr $combinedXpath): XPathExpr - { - return $xpath - ->join('/following-sibling::', $combinedXpath) - ->addNameTest() - ->addCondition('position() = 1'); - } - - public function translateIndirectAdjacent(XPathExpr $xpath, XPathExpr $combinedXpath): XPathExpr - { - return $xpath->join('/following-sibling::', $combinedXpath); - } - - /** - * {@inheritdoc} - */ - public function getName(): string - { - return 'combination'; - } -} diff --git a/paragonik-backend/vendor/symfony/css-selector/XPath/Extension/ExtensionInterface.php b/paragonik-backend/vendor/symfony/css-selector/XPath/Extension/ExtensionInterface.php deleted file mode 100644 index 1a74b90..0000000 --- a/paragonik-backend/vendor/symfony/css-selector/XPath/Extension/ExtensionInterface.php +++ /dev/null @@ -1,67 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\CssSelector\XPath\Extension; - -/** - * XPath expression translator extension interface. - * - * This component is a port of the Python cssselect library, - * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect. - * - * @author Jean-François Simon - * - * @internal - */ -interface ExtensionInterface -{ - /** - * Returns node translators. - * - * These callables will receive the node as first argument and the translator as second argument. - * - * @return callable[] - */ - public function getNodeTranslators(): array; - - /** - * Returns combination translators. - * - * @return callable[] - */ - public function getCombinationTranslators(): array; - - /** - * Returns function translators. - * - * @return callable[] - */ - public function getFunctionTranslators(): array; - - /** - * Returns pseudo-class translators. - * - * @return callable[] - */ - public function getPseudoClassTranslators(): array; - - /** - * Returns attribute operation translators. - * - * @return callable[] - */ - public function getAttributeMatchingTranslators(): array; - - /** - * Returns extension name. - */ - public function getName(): string; -} diff --git a/paragonik-backend/vendor/symfony/css-selector/XPath/Extension/FunctionExtension.php b/paragonik-backend/vendor/symfony/css-selector/XPath/Extension/FunctionExtension.php deleted file mode 100644 index 4b889de..0000000 --- a/paragonik-backend/vendor/symfony/css-selector/XPath/Extension/FunctionExtension.php +++ /dev/null @@ -1,171 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\CssSelector\XPath\Extension; - -use Symfony\Component\CssSelector\Exception\ExpressionErrorException; -use Symfony\Component\CssSelector\Exception\SyntaxErrorException; -use Symfony\Component\CssSelector\Node\FunctionNode; -use Symfony\Component\CssSelector\Parser\Parser; -use Symfony\Component\CssSelector\XPath\Translator; -use Symfony\Component\CssSelector\XPath\XPathExpr; - -/** - * XPath expression translator function extension. - * - * This component is a port of the Python cssselect library, - * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect. - * - * @author Jean-François Simon - * - * @internal - */ -class FunctionExtension extends AbstractExtension -{ - /** - * {@inheritdoc} - */ - public function getFunctionTranslators(): array - { - return [ - 'nth-child' => [$this, 'translateNthChild'], - 'nth-last-child' => [$this, 'translateNthLastChild'], - 'nth-of-type' => [$this, 'translateNthOfType'], - 'nth-last-of-type' => [$this, 'translateNthLastOfType'], - 'contains' => [$this, 'translateContains'], - 'lang' => [$this, 'translateLang'], - ]; - } - - /** - * @throws ExpressionErrorException - */ - public function translateNthChild(XPathExpr $xpath, FunctionNode $function, bool $last = false, bool $addNameTest = true): XPathExpr - { - try { - list($a, $b) = Parser::parseSeries($function->getArguments()); - } catch (SyntaxErrorException $e) { - throw new ExpressionErrorException(sprintf('Invalid series: %s', implode(', ', $function->getArguments())), 0, $e); - } - - $xpath->addStarPrefix(); - if ($addNameTest) { - $xpath->addNameTest(); - } - - if (0 === $a) { - return $xpath->addCondition('position() = '.($last ? 'last() - '.($b - 1) : $b)); - } - - if ($a < 0) { - if ($b < 1) { - return $xpath->addCondition('false()'); - } - - $sign = '<='; - } else { - $sign = '>='; - } - - $expr = 'position()'; - - if ($last) { - $expr = 'last() - '.$expr; - --$b; - } - - if (0 !== $b) { - $expr .= ' - '.$b; - } - - $conditions = [sprintf('%s %s 0', $expr, $sign)]; - - if (1 !== $a && -1 !== $a) { - $conditions[] = sprintf('(%s) mod %d = 0', $expr, $a); - } - - return $xpath->addCondition(implode(' and ', $conditions)); - - // todo: handle an+b, odd, even - // an+b means every-a, plus b, e.g., 2n+1 means odd - // 0n+b means b - // n+0 means a=1, i.e., all elements - // an means every a elements, i.e., 2n means even - // -n means -1n - // -1n+6 means elements 6 and previous - } - - public function translateNthLastChild(XPathExpr $xpath, FunctionNode $function): XPathExpr - { - return $this->translateNthChild($xpath, $function, true); - } - - public function translateNthOfType(XPathExpr $xpath, FunctionNode $function): XPathExpr - { - return $this->translateNthChild($xpath, $function, false, false); - } - - /** - * @throws ExpressionErrorException - */ - public function translateNthLastOfType(XPathExpr $xpath, FunctionNode $function): XPathExpr - { - if ('*' === $xpath->getElement()) { - throw new ExpressionErrorException('"*:nth-of-type()" is not implemented.'); - } - - return $this->translateNthChild($xpath, $function, true, false); - } - - /** - * @throws ExpressionErrorException - */ - public function translateContains(XPathExpr $xpath, FunctionNode $function): XPathExpr - { - $arguments = $function->getArguments(); - foreach ($arguments as $token) { - if (!($token->isString() || $token->isIdentifier())) { - throw new ExpressionErrorException('Expected a single string or identifier for :contains(), got '.implode(', ', $arguments)); - } - } - - return $xpath->addCondition(sprintf( - 'contains(string(.), %s)', - Translator::getXpathLiteral($arguments[0]->getValue()) - )); - } - - /** - * @throws ExpressionErrorException - */ - public function translateLang(XPathExpr $xpath, FunctionNode $function): XPathExpr - { - $arguments = $function->getArguments(); - foreach ($arguments as $token) { - if (!($token->isString() || $token->isIdentifier())) { - throw new ExpressionErrorException('Expected a single string or identifier for :lang(), got '.implode(', ', $arguments)); - } - } - - return $xpath->addCondition(sprintf( - 'lang(%s)', - Translator::getXpathLiteral($arguments[0]->getValue()) - )); - } - - /** - * {@inheritdoc} - */ - public function getName(): string - { - return 'function'; - } -} diff --git a/paragonik-backend/vendor/symfony/css-selector/XPath/Extension/HtmlExtension.php b/paragonik-backend/vendor/symfony/css-selector/XPath/Extension/HtmlExtension.php deleted file mode 100644 index 6edc085..0000000 --- a/paragonik-backend/vendor/symfony/css-selector/XPath/Extension/HtmlExtension.php +++ /dev/null @@ -1,187 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\CssSelector\XPath\Extension; - -use Symfony\Component\CssSelector\Exception\ExpressionErrorException; -use Symfony\Component\CssSelector\Node\FunctionNode; -use Symfony\Component\CssSelector\XPath\Translator; -use Symfony\Component\CssSelector\XPath\XPathExpr; - -/** - * XPath expression translator HTML extension. - * - * This component is a port of the Python cssselect library, - * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect. - * - * @author Jean-François Simon - * - * @internal - */ -class HtmlExtension extends AbstractExtension -{ - public function __construct(Translator $translator) - { - $translator - ->getExtension('node') - ->setFlag(NodeExtension::ELEMENT_NAME_IN_LOWER_CASE, true) - ->setFlag(NodeExtension::ATTRIBUTE_NAME_IN_LOWER_CASE, true); - } - - /** - * {@inheritdoc} - */ - public function getPseudoClassTranslators(): array - { - return [ - 'checked' => [$this, 'translateChecked'], - 'link' => [$this, 'translateLink'], - 'disabled' => [$this, 'translateDisabled'], - 'enabled' => [$this, 'translateEnabled'], - 'selected' => [$this, 'translateSelected'], - 'invalid' => [$this, 'translateInvalid'], - 'hover' => [$this, 'translateHover'], - 'visited' => [$this, 'translateVisited'], - ]; - } - - /** - * {@inheritdoc} - */ - public function getFunctionTranslators(): array - { - return [ - 'lang' => [$this, 'translateLang'], - ]; - } - - public function translateChecked(XPathExpr $xpath): XPathExpr - { - return $xpath->addCondition( - '(@checked ' - ."and (name(.) = 'input' or name(.) = 'command')" - ."and (@type = 'checkbox' or @type = 'radio'))" - ); - } - - public function translateLink(XPathExpr $xpath): XPathExpr - { - return $xpath->addCondition("@href and (name(.) = 'a' or name(.) = 'link' or name(.) = 'area')"); - } - - public function translateDisabled(XPathExpr $xpath): XPathExpr - { - return $xpath->addCondition( - '(' - .'@disabled and' - .'(' - ."(name(.) = 'input' and @type != 'hidden')" - ." or name(.) = 'button'" - ." or name(.) = 'select'" - ." or name(.) = 'textarea'" - ." or name(.) = 'command'" - ." or name(.) = 'fieldset'" - ." or name(.) = 'optgroup'" - ." or name(.) = 'option'" - .')' - .') or (' - ."(name(.) = 'input' and @type != 'hidden')" - ." or name(.) = 'button'" - ." or name(.) = 'select'" - ." or name(.) = 'textarea'" - .')' - .' and ancestor::fieldset[@disabled]' - ); - // todo: in the second half, add "and is not a descendant of that fieldset element's first legend element child, if any." - } - - public function translateEnabled(XPathExpr $xpath): XPathExpr - { - return $xpath->addCondition( - '(' - .'@href and (' - ."name(.) = 'a'" - ." or name(.) = 'link'" - ." or name(.) = 'area'" - .')' - .') or (' - .'(' - ."name(.) = 'command'" - ." or name(.) = 'fieldset'" - ." or name(.) = 'optgroup'" - .')' - .' and not(@disabled)' - .') or (' - .'(' - ."(name(.) = 'input' and @type != 'hidden')" - ." or name(.) = 'button'" - ." or name(.) = 'select'" - ." or name(.) = 'textarea'" - ." or name(.) = 'keygen'" - .')' - .' and not (@disabled or ancestor::fieldset[@disabled])' - .') or (' - ."name(.) = 'option' and not(" - .'@disabled or ancestor::optgroup[@disabled]' - .')' - .')' - ); - } - - /** - * @throws ExpressionErrorException - */ - public function translateLang(XPathExpr $xpath, FunctionNode $function): XPathExpr - { - $arguments = $function->getArguments(); - foreach ($arguments as $token) { - if (!($token->isString() || $token->isIdentifier())) { - throw new ExpressionErrorException('Expected a single string or identifier for :lang(), got '.implode(', ', $arguments)); - } - } - - return $xpath->addCondition(sprintf( - 'ancestor-or-self::*[@lang][1][starts-with(concat(' - ."translate(@%s, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz'), '-')" - .', %s)]', - 'lang', - Translator::getXpathLiteral(strtolower($arguments[0]->getValue()).'-') - )); - } - - public function translateSelected(XPathExpr $xpath): XPathExpr - { - return $xpath->addCondition("(@selected and name(.) = 'option')"); - } - - public function translateInvalid(XPathExpr $xpath): XPathExpr - { - return $xpath->addCondition('0'); - } - - public function translateHover(XPathExpr $xpath): XPathExpr - { - return $xpath->addCondition('0'); - } - - public function translateVisited(XPathExpr $xpath): XPathExpr - { - return $xpath->addCondition('0'); - } - - /** - * {@inheritdoc} - */ - public function getName(): string - { - return 'html'; - } -} diff --git a/paragonik-backend/vendor/symfony/css-selector/XPath/Extension/NodeExtension.php b/paragonik-backend/vendor/symfony/css-selector/XPath/Extension/NodeExtension.php deleted file mode 100644 index 3a26a88..0000000 --- a/paragonik-backend/vendor/symfony/css-selector/XPath/Extension/NodeExtension.php +++ /dev/null @@ -1,197 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\CssSelector\XPath\Extension; - -use Symfony\Component\CssSelector\Node; -use Symfony\Component\CssSelector\XPath\Translator; -use Symfony\Component\CssSelector\XPath\XPathExpr; - -/** - * XPath expression translator node extension. - * - * This component is a port of the Python cssselect library, - * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect. - * - * @author Jean-François Simon - * - * @internal - */ -class NodeExtension extends AbstractExtension -{ - const ELEMENT_NAME_IN_LOWER_CASE = 1; - const ATTRIBUTE_NAME_IN_LOWER_CASE = 2; - const ATTRIBUTE_VALUE_IN_LOWER_CASE = 4; - - private $flags; - - public function __construct(int $flags = 0) - { - $this->flags = $flags; - } - - /** - * @return $this - */ - public function setFlag(int $flag, bool $on): self - { - if ($on && !$this->hasFlag($flag)) { - $this->flags += $flag; - } - - if (!$on && $this->hasFlag($flag)) { - $this->flags -= $flag; - } - - return $this; - } - - public function hasFlag(int $flag): bool - { - return (bool) ($this->flags & $flag); - } - - /** - * {@inheritdoc} - */ - public function getNodeTranslators(): array - { - return [ - 'Selector' => [$this, 'translateSelector'], - 'CombinedSelector' => [$this, 'translateCombinedSelector'], - 'Negation' => [$this, 'translateNegation'], - 'Function' => [$this, 'translateFunction'], - 'Pseudo' => [$this, 'translatePseudo'], - 'Attribute' => [$this, 'translateAttribute'], - 'Class' => [$this, 'translateClass'], - 'Hash' => [$this, 'translateHash'], - 'Element' => [$this, 'translateElement'], - ]; - } - - public function translateSelector(Node\SelectorNode $node, Translator $translator): XPathExpr - { - return $translator->nodeToXPath($node->getTree()); - } - - public function translateCombinedSelector(Node\CombinedSelectorNode $node, Translator $translator): XPathExpr - { - return $translator->addCombination($node->getCombinator(), $node->getSelector(), $node->getSubSelector()); - } - - public function translateNegation(Node\NegationNode $node, Translator $translator): XPathExpr - { - $xpath = $translator->nodeToXPath($node->getSelector()); - $subXpath = $translator->nodeToXPath($node->getSubSelector()); - $subXpath->addNameTest(); - - if ($subXpath->getCondition()) { - return $xpath->addCondition(sprintf('not(%s)', $subXpath->getCondition())); - } - - return $xpath->addCondition('0'); - } - - public function translateFunction(Node\FunctionNode $node, Translator $translator): XPathExpr - { - $xpath = $translator->nodeToXPath($node->getSelector()); - - return $translator->addFunction($xpath, $node); - } - - public function translatePseudo(Node\PseudoNode $node, Translator $translator): XPathExpr - { - $xpath = $translator->nodeToXPath($node->getSelector()); - - return $translator->addPseudoClass($xpath, $node->getIdentifier()); - } - - public function translateAttribute(Node\AttributeNode $node, Translator $translator): XPathExpr - { - $name = $node->getAttribute(); - $safe = $this->isSafeName($name); - - if ($this->hasFlag(self::ATTRIBUTE_NAME_IN_LOWER_CASE)) { - $name = strtolower($name); - } - - if ($node->getNamespace()) { - $name = sprintf('%s:%s', $node->getNamespace(), $name); - $safe = $safe && $this->isSafeName($node->getNamespace()); - } - - $attribute = $safe ? '@'.$name : sprintf('attribute::*[name() = %s]', Translator::getXpathLiteral($name)); - $value = $node->getValue(); - $xpath = $translator->nodeToXPath($node->getSelector()); - - if ($this->hasFlag(self::ATTRIBUTE_VALUE_IN_LOWER_CASE)) { - $value = strtolower($value); - } - - return $translator->addAttributeMatching($xpath, $node->getOperator(), $attribute, $value); - } - - public function translateClass(Node\ClassNode $node, Translator $translator): XPathExpr - { - $xpath = $translator->nodeToXPath($node->getSelector()); - - return $translator->addAttributeMatching($xpath, '~=', '@class', $node->getName()); - } - - public function translateHash(Node\HashNode $node, Translator $translator): XPathExpr - { - $xpath = $translator->nodeToXPath($node->getSelector()); - - return $translator->addAttributeMatching($xpath, '=', '@id', $node->getId()); - } - - public function translateElement(Node\ElementNode $node): XPathExpr - { - $element = $node->getElement(); - - if ($this->hasFlag(self::ELEMENT_NAME_IN_LOWER_CASE)) { - $element = strtolower($element); - } - - if ($element) { - $safe = $this->isSafeName($element); - } else { - $element = '*'; - $safe = true; - } - - if ($node->getNamespace()) { - $element = sprintf('%s:%s', $node->getNamespace(), $element); - $safe = $safe && $this->isSafeName($node->getNamespace()); - } - - $xpath = new XPathExpr('', $element); - - if (!$safe) { - $xpath->addNameTest(); - } - - return $xpath; - } - - /** - * {@inheritdoc} - */ - public function getName(): string - { - return 'node'; - } - - private function isSafeName(string $name): bool - { - return 0 < preg_match('~^[a-zA-Z_][a-zA-Z0-9_.-]*$~', $name); - } -} diff --git a/paragonik-backend/vendor/symfony/css-selector/XPath/Extension/PseudoClassExtension.php b/paragonik-backend/vendor/symfony/css-selector/XPath/Extension/PseudoClassExtension.php deleted file mode 100644 index a50b048..0000000 --- a/paragonik-backend/vendor/symfony/css-selector/XPath/Extension/PseudoClassExtension.php +++ /dev/null @@ -1,122 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\CssSelector\XPath\Extension; - -use Symfony\Component\CssSelector\Exception\ExpressionErrorException; -use Symfony\Component\CssSelector\XPath\XPathExpr; - -/** - * XPath expression translator pseudo-class extension. - * - * This component is a port of the Python cssselect library, - * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect. - * - * @author Jean-François Simon - * - * @internal - */ -class PseudoClassExtension extends AbstractExtension -{ - /** - * {@inheritdoc} - */ - public function getPseudoClassTranslators(): array - { - return [ - 'root' => [$this, 'translateRoot'], - 'first-child' => [$this, 'translateFirstChild'], - 'last-child' => [$this, 'translateLastChild'], - 'first-of-type' => [$this, 'translateFirstOfType'], - 'last-of-type' => [$this, 'translateLastOfType'], - 'only-child' => [$this, 'translateOnlyChild'], - 'only-of-type' => [$this, 'translateOnlyOfType'], - 'empty' => [$this, 'translateEmpty'], - ]; - } - - public function translateRoot(XPathExpr $xpath): XPathExpr - { - return $xpath->addCondition('not(parent::*)'); - } - - public function translateFirstChild(XPathExpr $xpath): XPathExpr - { - return $xpath - ->addStarPrefix() - ->addNameTest() - ->addCondition('position() = 1'); - } - - public function translateLastChild(XPathExpr $xpath): XPathExpr - { - return $xpath - ->addStarPrefix() - ->addNameTest() - ->addCondition('position() = last()'); - } - - /** - * @throws ExpressionErrorException - */ - public function translateFirstOfType(XPathExpr $xpath): XPathExpr - { - if ('*' === $xpath->getElement()) { - throw new ExpressionErrorException('"*:first-of-type" is not implemented.'); - } - - return $xpath - ->addStarPrefix() - ->addCondition('position() = 1'); - } - - /** - * @throws ExpressionErrorException - */ - public function translateLastOfType(XPathExpr $xpath): XPathExpr - { - if ('*' === $xpath->getElement()) { - throw new ExpressionErrorException('"*:last-of-type" is not implemented.'); - } - - return $xpath - ->addStarPrefix() - ->addCondition('position() = last()'); - } - - public function translateOnlyChild(XPathExpr $xpath): XPathExpr - { - return $xpath - ->addStarPrefix() - ->addNameTest() - ->addCondition('last() = 1'); - } - - public function translateOnlyOfType(XPathExpr $xpath): XPathExpr - { - $element = $xpath->getElement(); - - return $xpath->addCondition(sprintf('count(preceding-sibling::%s)=0 and count(following-sibling::%s)=0', $element, $element)); - } - - public function translateEmpty(XPathExpr $xpath): XPathExpr - { - return $xpath->addCondition('not(*) and not(string-length())'); - } - - /** - * {@inheritdoc} - */ - public function getName(): string - { - return 'pseudo-class'; - } -} diff --git a/paragonik-backend/vendor/symfony/css-selector/XPath/Translator.php b/paragonik-backend/vendor/symfony/css-selector/XPath/Translator.php deleted file mode 100644 index d1b6518..0000000 --- a/paragonik-backend/vendor/symfony/css-selector/XPath/Translator.php +++ /dev/null @@ -1,230 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\CssSelector\XPath; - -use Symfony\Component\CssSelector\Exception\ExpressionErrorException; -use Symfony\Component\CssSelector\Node\FunctionNode; -use Symfony\Component\CssSelector\Node\NodeInterface; -use Symfony\Component\CssSelector\Node\SelectorNode; -use Symfony\Component\CssSelector\Parser\Parser; -use Symfony\Component\CssSelector\Parser\ParserInterface; - -/** - * XPath expression translator interface. - * - * This component is a port of the Python cssselect library, - * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect. - * - * @author Jean-François Simon - * - * @internal - */ -class Translator implements TranslatorInterface -{ - private $mainParser; - - /** - * @var ParserInterface[] - */ - private $shortcutParsers = []; - - /** - * @var Extension\ExtensionInterface[] - */ - private $extensions = []; - - private $nodeTranslators = []; - private $combinationTranslators = []; - private $functionTranslators = []; - private $pseudoClassTranslators = []; - private $attributeMatchingTranslators = []; - - public function __construct(ParserInterface $parser = null) - { - $this->mainParser = $parser ?: new Parser(); - - $this - ->registerExtension(new Extension\NodeExtension()) - ->registerExtension(new Extension\CombinationExtension()) - ->registerExtension(new Extension\FunctionExtension()) - ->registerExtension(new Extension\PseudoClassExtension()) - ->registerExtension(new Extension\AttributeMatchingExtension()) - ; - } - - public static function getXpathLiteral(string $element): string - { - if (false === strpos($element, "'")) { - return "'".$element."'"; - } - - if (false === strpos($element, '"')) { - return '"'.$element.'"'; - } - - $string = $element; - $parts = []; - while (true) { - if (false !== $pos = strpos($string, "'")) { - $parts[] = sprintf("'%s'", substr($string, 0, $pos)); - $parts[] = "\"'\""; - $string = substr($string, $pos + 1); - } else { - $parts[] = "'$string'"; - break; - } - } - - return sprintf('concat(%s)', implode(', ', $parts)); - } - - /** - * {@inheritdoc} - */ - public function cssToXPath(string $cssExpr, string $prefix = 'descendant-or-self::'): string - { - $selectors = $this->parseSelectors($cssExpr); - - /** @var SelectorNode $selector */ - foreach ($selectors as $index => $selector) { - if (null !== $selector->getPseudoElement()) { - throw new ExpressionErrorException('Pseudo-elements are not supported.'); - } - - $selectors[$index] = $this->selectorToXPath($selector, $prefix); - } - - return implode(' | ', $selectors); - } - - /** - * {@inheritdoc} - */ - public function selectorToXPath(SelectorNode $selector, string $prefix = 'descendant-or-self::'): string - { - return ($prefix ?: '').$this->nodeToXPath($selector); - } - - /** - * @return $this - */ - public function registerExtension(Extension\ExtensionInterface $extension): self - { - $this->extensions[$extension->getName()] = $extension; - - $this->nodeTranslators = array_merge($this->nodeTranslators, $extension->getNodeTranslators()); - $this->combinationTranslators = array_merge($this->combinationTranslators, $extension->getCombinationTranslators()); - $this->functionTranslators = array_merge($this->functionTranslators, $extension->getFunctionTranslators()); - $this->pseudoClassTranslators = array_merge($this->pseudoClassTranslators, $extension->getPseudoClassTranslators()); - $this->attributeMatchingTranslators = array_merge($this->attributeMatchingTranslators, $extension->getAttributeMatchingTranslators()); - - return $this; - } - - /** - * @throws ExpressionErrorException - */ - public function getExtension(string $name): Extension\ExtensionInterface - { - if (!isset($this->extensions[$name])) { - throw new ExpressionErrorException(sprintf('Extension "%s" not registered.', $name)); - } - - return $this->extensions[$name]; - } - - /** - * @return $this - */ - public function registerParserShortcut(ParserInterface $shortcut): self - { - $this->shortcutParsers[] = $shortcut; - - return $this; - } - - /** - * @throws ExpressionErrorException - */ - public function nodeToXPath(NodeInterface $node): XPathExpr - { - if (!isset($this->nodeTranslators[$node->getNodeName()])) { - throw new ExpressionErrorException(sprintf('Node "%s" not supported.', $node->getNodeName())); - } - - return $this->nodeTranslators[$node->getNodeName()]($node, $this); - } - - /** - * @throws ExpressionErrorException - */ - public function addCombination(string $combiner, NodeInterface $xpath, NodeInterface $combinedXpath): XPathExpr - { - if (!isset($this->combinationTranslators[$combiner])) { - throw new ExpressionErrorException(sprintf('Combiner "%s" not supported.', $combiner)); - } - - return $this->combinationTranslators[$combiner]($this->nodeToXPath($xpath), $this->nodeToXPath($combinedXpath)); - } - - /** - * @throws ExpressionErrorException - */ - public function addFunction(XPathExpr $xpath, FunctionNode $function): XPathExpr - { - if (!isset($this->functionTranslators[$function->getName()])) { - throw new ExpressionErrorException(sprintf('Function "%s" not supported.', $function->getName())); - } - - return $this->functionTranslators[$function->getName()]($xpath, $function); - } - - /** - * @throws ExpressionErrorException - */ - public function addPseudoClass(XPathExpr $xpath, string $pseudoClass): XPathExpr - { - if (!isset($this->pseudoClassTranslators[$pseudoClass])) { - throw new ExpressionErrorException(sprintf('Pseudo-class "%s" not supported.', $pseudoClass)); - } - - return $this->pseudoClassTranslators[$pseudoClass]($xpath); - } - - /** - * @throws ExpressionErrorException - */ - public function addAttributeMatching(XPathExpr $xpath, string $operator, string $attribute, $value): XPathExpr - { - if (!isset($this->attributeMatchingTranslators[$operator])) { - throw new ExpressionErrorException(sprintf('Attribute matcher operator "%s" not supported.', $operator)); - } - - return $this->attributeMatchingTranslators[$operator]($xpath, $attribute, $value); - } - - /** - * @return SelectorNode[] - */ - private function parseSelectors(string $css): array - { - foreach ($this->shortcutParsers as $shortcut) { - $tokens = $shortcut->parse($css); - - if (!empty($tokens)) { - return $tokens; - } - } - - return $this->mainParser->parse($css); - } -} diff --git a/paragonik-backend/vendor/symfony/css-selector/XPath/TranslatorInterface.php b/paragonik-backend/vendor/symfony/css-selector/XPath/TranslatorInterface.php deleted file mode 100644 index c19eefb..0000000 --- a/paragonik-backend/vendor/symfony/css-selector/XPath/TranslatorInterface.php +++ /dev/null @@ -1,37 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\CssSelector\XPath; - -use Symfony\Component\CssSelector\Node\SelectorNode; - -/** - * XPath expression translator interface. - * - * This component is a port of the Python cssselect library, - * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect. - * - * @author Jean-François Simon - * - * @internal - */ -interface TranslatorInterface -{ - /** - * Translates a CSS selector to an XPath expression. - */ - public function cssToXPath(string $cssExpr, string $prefix = 'descendant-or-self::'): string; - - /** - * Translates a parsed selector node to an XPath expression. - */ - public function selectorToXPath(SelectorNode $selector, string $prefix = 'descendant-or-self::'): string; -} diff --git a/paragonik-backend/vendor/symfony/css-selector/XPath/XPathExpr.php b/paragonik-backend/vendor/symfony/css-selector/XPath/XPathExpr.php deleted file mode 100644 index 638cbd0..0000000 --- a/paragonik-backend/vendor/symfony/css-selector/XPath/XPathExpr.php +++ /dev/null @@ -1,102 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\CssSelector\XPath; - -/** - * XPath expression translator interface. - * - * This component is a port of the Python cssselect library, - * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect. - * - * @author Jean-François Simon - * - * @internal - */ -class XPathExpr -{ - private $path; - private $element; - private $condition; - - public function __construct(string $path = '', string $element = '*', string $condition = '', bool $starPrefix = false) - { - $this->path = $path; - $this->element = $element; - $this->condition = $condition; - - if ($starPrefix) { - $this->addStarPrefix(); - } - } - - public function getElement(): string - { - return $this->element; - } - - public function addCondition(string $condition): self - { - $this->condition = $this->condition ? sprintf('(%s) and (%s)', $this->condition, $condition) : $condition; - - return $this; - } - - public function getCondition(): string - { - return $this->condition; - } - - public function addNameTest(): self - { - if ('*' !== $this->element) { - $this->addCondition('name() = '.Translator::getXpathLiteral($this->element)); - $this->element = '*'; - } - - return $this; - } - - public function addStarPrefix(): self - { - $this->path .= '*/'; - - return $this; - } - - /** - * Joins another XPathExpr with a combiner. - * - * @return $this - */ - public function join(string $combiner, self $expr): self - { - $path = $this->__toString().$combiner; - - if ('*/' !== $expr->path) { - $path .= $expr->path; - } - - $this->path = $path; - $this->element = $expr->element; - $this->condition = $expr->condition; - - return $this; - } - - public function __toString(): string - { - $path = $this->path.$this->element; - $condition = null === $this->condition || '' === $this->condition ? '' : '['.$this->condition.']'; - - return $path.$condition; - } -} diff --git a/paragonik-backend/vendor/symfony/css-selector/composer.json b/paragonik-backend/vendor/symfony/css-selector/composer.json deleted file mode 100644 index 65642dc..0000000 --- a/paragonik-backend/vendor/symfony/css-selector/composer.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "name": "symfony/css-selector", - "type": "library", - "description": "Symfony CssSelector Component", - "keywords": [], - "homepage": "https://symfony.com", - "license": "MIT", - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Jean-François Simon", - "email": "jeanfrancois.simon@sensiolabs.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "require": { - "php": "^7.1.3" - }, - "autoload": { - "psr-4": { "Symfony\\Component\\CssSelector\\": "" }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "minimum-stability": "dev", - "extra": { - "branch-alias": { - "dev-master": "4.4-dev" - } - } -} diff --git a/paragonik-backend/vendor/symfony/debug/.gitattributes b/paragonik-backend/vendor/symfony/debug/.gitattributes deleted file mode 100644 index ebb9287..0000000 --- a/paragonik-backend/vendor/symfony/debug/.gitattributes +++ /dev/null @@ -1,3 +0,0 @@ -/Tests export-ignore -/phpunit.xml.dist export-ignore -/.gitignore export-ignore diff --git a/paragonik-backend/vendor/symfony/debug/BufferingLogger.php b/paragonik-backend/vendor/symfony/debug/BufferingLogger.php deleted file mode 100644 index 7025050..0000000 --- a/paragonik-backend/vendor/symfony/debug/BufferingLogger.php +++ /dev/null @@ -1,44 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Debug; - -use Psr\Log\AbstractLogger; - -@trigger_error(sprintf('The "%s" class is deprecated since Symfony 4.4, use "%s" instead.', BufferingLogger::class, \Symfony\Component\ErrorHandler\BufferingLogger::class), E_USER_DEPRECATED); - -/** - * A buffering logger that stacks logs for later. - * - * @author Nicolas Grekas - * - * @deprecated since Symfony 4.4, use Symfony\Component\ErrorHandler\BufferingLogger instead. - */ -class BufferingLogger extends AbstractLogger -{ - private $logs = []; - - /** - * @return void - */ - public function log($level, $message, array $context = []) - { - $this->logs[] = [$level, $message, $context]; - } - - public function cleanLogs() - { - $logs = $this->logs; - $this->logs = []; - - return $logs; - } -} diff --git a/paragonik-backend/vendor/symfony/debug/CHANGELOG.md b/paragonik-backend/vendor/symfony/debug/CHANGELOG.md deleted file mode 100644 index 989c1a7..0000000 --- a/paragonik-backend/vendor/symfony/debug/CHANGELOG.md +++ /dev/null @@ -1,84 +0,0 @@ -CHANGELOG -========= - -4.4.0 ------ - - * deprecated `FlattenException`, use the `FlattenException` of the `ErrorHandler` component - * deprecated the whole component in favor of the `ErrorHandler` component - -4.3.0 ------ - -* made the `ErrorHandler` and `ExceptionHandler` classes final -* added `Exception\FlattenException::getAsString` and -`Exception\FlattenException::getTraceAsString` to increase compatibility to php -exception objects - -4.0.0 ------ - -* removed the symfony_debug extension -* removed `ContextErrorException` - -3.4.0 ------ - -* deprecated `ErrorHandler::stackErrors()` and `ErrorHandler::unstackErrors()` - -3.3.0 ------ - -* deprecated the `ContextErrorException` class: use \ErrorException directly now - -3.2.0 ------ - -* `FlattenException::getTrace()` now returns additional type descriptions - `integer` and `float`. - - -3.0.0 ------ - -* removed classes, methods and interfaces deprecated in 2.x - -2.8.0 ------ - -* added BufferingLogger for errors that happen before a proper logger is configured -* allow throwing from `__toString()` with `return trigger_error($e, E_USER_ERROR);` -* deprecate ExceptionHandler::createResponse - -2.7.0 ------ - -* added deprecations checking for parent interfaces/classes to DebugClassLoader -* added ZTS support to symfony_debug extension -* added symfony_debug_backtrace() to symfony_debug extension - to track the backtrace of fatal errors - -2.6.0 ------ - -* generalized ErrorHandler and ExceptionHandler, - with some new methods and others deprecated -* enhanced error messages for uncaught exceptions - -2.5.0 ------ - -* added ExceptionHandler::setHandler() -* added UndefinedMethodFatalErrorHandler -* deprecated DummyException - -2.4.0 ------ - - * added a DebugClassLoader able to wrap any autoloader providing a findFile method - * improved error messages for not found classes and functions - -2.3.0 ------ - - * added the component diff --git a/paragonik-backend/vendor/symfony/debug/Debug.php b/paragonik-backend/vendor/symfony/debug/Debug.php deleted file mode 100644 index 788ad7d..0000000 --- a/paragonik-backend/vendor/symfony/debug/Debug.php +++ /dev/null @@ -1,64 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Debug; - -@trigger_error(sprintf('The "%s" class is deprecated since Symfony 4.4, use "%s" instead.', Debug::class, \Symfony\Component\ErrorHandler\Debug::class), E_USER_DEPRECATED); - -/** - * Registers all the debug tools. - * - * @author Fabien Potencier - * - * @deprecated since Symfony 4.4, use Symfony\Component\ErrorHandler\Debug instead. - */ -class Debug -{ - private static $enabled = false; - - /** - * Enables the debug tools. - * - * This method registers an error handler and an exception handler. - * - * @param int $errorReportingLevel The level of error reporting you want - * @param bool $displayErrors Whether to display errors (for development) or just log them (for production) - */ - public static function enable($errorReportingLevel = E_ALL, $displayErrors = true) - { - if (static::$enabled) { - return; - } - - static::$enabled = true; - - if (null !== $errorReportingLevel) { - error_reporting($errorReportingLevel); - } else { - error_reporting(E_ALL); - } - - if (!\in_array(\PHP_SAPI, ['cli', 'phpdbg'], true)) { - ini_set('display_errors', 0); - ExceptionHandler::register(); - } elseif ($displayErrors && (!filter_var(ini_get('log_errors'), FILTER_VALIDATE_BOOLEAN) || ini_get('error_log'))) { - // CLI - display errors only if they're not already logged to STDERR - ini_set('display_errors', 1); - } - if ($displayErrors) { - ErrorHandler::register(new ErrorHandler(new BufferingLogger())); - } else { - ErrorHandler::register()->throwAt(0, true); - } - - DebugClassLoader::enable(); - } -} diff --git a/paragonik-backend/vendor/symfony/debug/DebugClassLoader.php b/paragonik-backend/vendor/symfony/debug/DebugClassLoader.php deleted file mode 100644 index 9e071fc..0000000 --- a/paragonik-backend/vendor/symfony/debug/DebugClassLoader.php +++ /dev/null @@ -1,538 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Debug; - -use PHPUnit\Framework\MockObject\Matcher\StatelessInvocation; - -@trigger_error(sprintf('The "%s" class is deprecated since Symfony 4.4, use "%s" instead.', DebugClassLoader::class, \Symfony\Component\ErrorHandler\DebugClassLoader::class), E_USER_DEPRECATED); - -/** - * Autoloader checking if the class is really defined in the file found. - * - * The ClassLoader will wrap all registered autoloaders - * and will throw an exception if a file is found but does - * not declare the class. - * - * @author Fabien Potencier - * @author Christophe Coevoet - * @author Nicolas Grekas - * @author Guilhem Niot - * - * @deprecated since Symfony 4.4, use Symfony\Component\ErrorHandler\DebugClassLoader instead. - */ -class DebugClassLoader -{ - private $classLoader; - private $isFinder; - private $loaded = []; - private static $caseCheck; - private static $checkedClasses = []; - private static $final = []; - private static $finalMethods = []; - private static $deprecated = []; - private static $internal = []; - private static $internalMethods = []; - private static $annotatedParameters = []; - private static $darwinCache = ['/' => ['/', []]]; - private static $method = []; - - public function __construct(callable $classLoader) - { - $this->classLoader = $classLoader; - $this->isFinder = \is_array($classLoader) && method_exists($classLoader[0], 'findFile'); - - if (!isset(self::$caseCheck)) { - $file = file_exists(__FILE__) ? __FILE__ : rtrim(realpath('.'), \DIRECTORY_SEPARATOR); - $i = strrpos($file, \DIRECTORY_SEPARATOR); - $dir = substr($file, 0, 1 + $i); - $file = substr($file, 1 + $i); - $test = strtoupper($file) === $file ? strtolower($file) : strtoupper($file); - $test = realpath($dir.$test); - - if (false === $test || false === $i) { - // filesystem is case sensitive - self::$caseCheck = 0; - } elseif (substr($test, -\strlen($file)) === $file) { - // filesystem is case insensitive and realpath() normalizes the case of characters - self::$caseCheck = 1; - } elseif (false !== stripos(PHP_OS, 'darwin')) { - // on MacOSX, HFS+ is case insensitive but realpath() doesn't normalize the case of characters - self::$caseCheck = 2; - } else { - // filesystem case checks failed, fallback to disabling them - self::$caseCheck = 0; - } - } - } - - /** - * Gets the wrapped class loader. - * - * @return callable The wrapped class loader - */ - public function getClassLoader() - { - return $this->classLoader; - } - - /** - * Wraps all autoloaders. - */ - public static function enable() - { - // Ensures we don't hit https://bugs.php.net/42098 - class_exists('Symfony\Component\Debug\ErrorHandler'); - class_exists('Psr\Log\LogLevel'); - - if (!\is_array($functions = spl_autoload_functions())) { - return; - } - - foreach ($functions as $function) { - spl_autoload_unregister($function); - } - - foreach ($functions as $function) { - if (!\is_array($function) || !$function[0] instanceof self) { - $function = [new static($function), 'loadClass']; - } - - spl_autoload_register($function); - } - } - - /** - * Disables the wrapping. - */ - public static function disable() - { - if (!\is_array($functions = spl_autoload_functions())) { - return; - } - - foreach ($functions as $function) { - spl_autoload_unregister($function); - } - - foreach ($functions as $function) { - if (\is_array($function) && $function[0] instanceof self) { - $function = $function[0]->getClassLoader(); - } - - spl_autoload_register($function); - } - } - - /** - * @return string|null - */ - public function findFile($class) - { - return $this->isFinder ? $this->classLoader[0]->findFile($class) ?: null : null; - } - - /** - * Loads the given class or interface. - * - * @param string $class The name of the class - * - * @throws \RuntimeException - */ - public function loadClass($class) - { - $e = error_reporting(error_reporting() | E_PARSE | E_ERROR | E_CORE_ERROR | E_COMPILE_ERROR); - - try { - if ($this->isFinder && !isset($this->loaded[$class])) { - $this->loaded[$class] = true; - if (!$file = $this->classLoader[0]->findFile($class) ?: false) { - // no-op - } elseif (\function_exists('opcache_is_script_cached') && @opcache_is_script_cached($file)) { - include $file; - - return; - } elseif (false === include $file) { - return; - } - } else { - ($this->classLoader)($class); - $file = false; - } - } finally { - error_reporting($e); - } - - $this->checkClass($class, $file); - } - - private function checkClass(string $class, string $file = null) - { - $exists = null === $file || class_exists($class, false) || interface_exists($class, false) || trait_exists($class, false); - - if (null !== $file && $class && '\\' === $class[0]) { - $class = substr($class, 1); - } - - if ($exists) { - if (isset(self::$checkedClasses[$class])) { - return; - } - self::$checkedClasses[$class] = true; - - $refl = new \ReflectionClass($class); - if (null === $file && $refl->isInternal()) { - return; - } - $name = $refl->getName(); - - if ($name !== $class && 0 === strcasecmp($name, $class)) { - throw new \RuntimeException(sprintf('Case mismatch between loaded and declared class names: "%s" vs "%s".', $class, $name)); - } - - $deprecations = $this->checkAnnotations($refl, $name); - - foreach ($deprecations as $message) { - @trigger_error($message, E_USER_DEPRECATED); - } - } - - if (!$file) { - return; - } - - if (!$exists) { - if (false !== strpos($class, '/')) { - throw new \RuntimeException(sprintf('Trying to autoload a class with an invalid name "%s". Be careful that the namespace separator is "\" in PHP, not "/".', $class)); - } - - throw new \RuntimeException(sprintf('The autoloader expected class "%s" to be defined in file "%s". The file was found but the class was not in it, the class name or namespace probably has a typo.', $class, $file)); - } - - if (self::$caseCheck && $message = $this->checkCase($refl, $file, $class)) { - throw new \RuntimeException(sprintf('Case mismatch between class and real file names: "%s" vs "%s" in "%s".', $message[0], $message[1], $message[2])); - } - } - - public function checkAnnotations(\ReflectionClass $refl, $class) - { - $deprecations = []; - - // Don't trigger deprecations for classes in the same vendor - if (2 > $len = 1 + (strpos($class, '\\') ?: strpos($class, '_'))) { - $len = 0; - $ns = ''; - } else { - $ns = str_replace('_', '\\', substr($class, 0, $len)); - } - - // Detect annotations on the class - if (false !== $doc = $refl->getDocComment()) { - foreach (['final', 'deprecated', 'internal'] as $annotation) { - if (false !== strpos($doc, $annotation) && preg_match('#\n\s+\* @'.$annotation.'(?:( .+?)\.?)?\r?\n\s+\*(?: @|/$|\r?\n)#s', $doc, $notice)) { - self::${$annotation}[$class] = isset($notice[1]) ? preg_replace('#\.?\r?\n( \*)? *(?= |\r?\n|$)#', '', $notice[1]) : ''; - } - } - - if ($refl->isInterface() && false !== strpos($doc, 'method') && preg_match_all('#\n \* @method\s+(static\s+)?+(?:[\w\|&\[\]\\\]+\s+)?(\w+(?:\s*\([^\)]*\))?)+(.+?([[:punct:]]\s*)?)?(?=\r?\n \*(?: @|/$|\r?\n))#', $doc, $notice, PREG_SET_ORDER)) { - foreach ($notice as $method) { - $static = '' !== $method[1]; - $name = $method[2]; - $description = $method[3] ?? null; - if (false === strpos($name, '(')) { - $name .= '()'; - } - if (null !== $description) { - $description = trim($description); - if (!isset($method[4])) { - $description .= '.'; - } - } - self::$method[$class][] = [$class, $name, $static, $description]; - } - } - } - - $parent = get_parent_class($class); - $parentAndOwnInterfaces = $this->getOwnInterfaces($class, $parent ?: null); - if ($parent) { - $parentAndOwnInterfaces[$parent] = $parent; - - if (!isset(self::$checkedClasses[$parent])) { - $this->checkClass($parent); - } - - if (isset(self::$final[$parent])) { - $deprecations[] = sprintf('The "%s" class is considered final%s. It may change without further notice as of its next major version. You should not extend it from "%s".', $parent, self::$final[$parent], $class); - } - } - - // Detect if the parent is annotated - foreach ($parentAndOwnInterfaces + class_uses($class, false) as $use) { - if (!isset(self::$checkedClasses[$use])) { - $this->checkClass($use); - } - if (isset(self::$deprecated[$use]) && strncmp($ns, str_replace('_', '\\', $use), $len) && !isset(self::$deprecated[$class])) { - $type = class_exists($class, false) ? 'class' : (interface_exists($class, false) ? 'interface' : 'trait'); - $verb = class_exists($use, false) || interface_exists($class, false) ? 'extends' : (interface_exists($use, false) ? 'implements' : 'uses'); - - $deprecations[] = sprintf('The "%s" %s %s "%s" that is deprecated%s.', $class, $type, $verb, $use, self::$deprecated[$use]); - } - if (isset(self::$internal[$use]) && strncmp($ns, str_replace('_', '\\', $use), $len)) { - $deprecations[] = sprintf('The "%s" %s is considered internal%s. It may change without further notice. You should not use it from "%s".', $use, class_exists($use, false) ? 'class' : (interface_exists($use, false) ? 'interface' : 'trait'), self::$internal[$use], $class); - } - if (isset(self::$method[$use])) { - if ($refl->isAbstract()) { - if (isset(self::$method[$class])) { - self::$method[$class] = array_merge(self::$method[$class], self::$method[$use]); - } else { - self::$method[$class] = self::$method[$use]; - } - } elseif (!$refl->isInterface()) { - $hasCall = $refl->hasMethod('__call'); - $hasStaticCall = $refl->hasMethod('__callStatic'); - foreach (self::$method[$use] as $method) { - list($interface, $name, $static, $description) = $method; - if ($static ? $hasStaticCall : $hasCall) { - continue; - } - $realName = substr($name, 0, strpos($name, '(')); - if (!$refl->hasMethod($realName) || !($methodRefl = $refl->getMethod($realName))->isPublic() || ($static && !$methodRefl->isStatic()) || (!$static && $methodRefl->isStatic())) { - $deprecations[] = sprintf('Class "%s" should implement method "%s::%s"%s', $class, ($static ? 'static ' : '').$interface, $name, null == $description ? '.' : ': '.$description); - } - } - } - } - } - - if (trait_exists($class)) { - return $deprecations; - } - - // Inherit @final, @internal and @param annotations for methods - self::$finalMethods[$class] = []; - self::$internalMethods[$class] = []; - self::$annotatedParameters[$class] = []; - foreach ($parentAndOwnInterfaces as $use) { - foreach (['finalMethods', 'internalMethods', 'annotatedParameters'] as $property) { - if (isset(self::${$property}[$use])) { - self::${$property}[$class] = self::${$property}[$class] ? self::${$property}[$use] + self::${$property}[$class] : self::${$property}[$use]; - } - } - } - - foreach ($refl->getMethods(\ReflectionMethod::IS_PUBLIC | \ReflectionMethod::IS_PROTECTED) as $method) { - if ($method->class !== $class) { - continue; - } - - if ($parent && isset(self::$finalMethods[$parent][$method->name])) { - list($declaringClass, $message) = self::$finalMethods[$parent][$method->name]; - $deprecations[] = sprintf('The "%s::%s()" method is considered final%s. It may change without further notice as of its next major version. You should not extend it from "%s".', $declaringClass, $method->name, $message, $class); - } - - if (isset(self::$internalMethods[$class][$method->name])) { - list($declaringClass, $message) = self::$internalMethods[$class][$method->name]; - if (strncmp($ns, $declaringClass, $len)) { - $deprecations[] = sprintf('The "%s::%s()" method is considered internal%s. It may change without further notice. You should not extend it from "%s".', $declaringClass, $method->name, $message, $class); - } - } - - // To read method annotations - $doc = $method->getDocComment(); - - if (isset(self::$annotatedParameters[$class][$method->name])) { - $definedParameters = []; - foreach ($method->getParameters() as $parameter) { - $definedParameters[$parameter->name] = true; - } - - foreach (self::$annotatedParameters[$class][$method->name] as $parameterName => $deprecation) { - if (!isset($definedParameters[$parameterName]) && !($doc && preg_match("/\\n\\s+\\* @param +((?(?!callable *\().*?|callable *\(.*\).*?))(?<= )\\\${$parameterName}\\b/", $doc))) { - $deprecations[] = sprintf($deprecation, $class); - } - } - } - - if (!$doc) { - continue; - } - - $finalOrInternal = false; - - foreach (['final', 'internal'] as $annotation) { - if (false !== strpos($doc, $annotation) && preg_match('#\n\s+\* @'.$annotation.'(?:( .+?)\.?)?\r?\n\s+\*(?: @|/$|\r?\n)#s', $doc, $notice)) { - $message = isset($notice[1]) ? preg_replace('#\.?\r?\n( \*)? *(?= |\r?\n|$)#', '', $notice[1]) : ''; - self::${$annotation.'Methods'}[$class][$method->name] = [$class, $message]; - $finalOrInternal = true; - } - } - - if ($finalOrInternal || $method->isConstructor() || false === strpos($doc, '@param') || StatelessInvocation::class === $class) { - continue; - } - if (!preg_match_all('#\n\s+\* @param +((?(?!callable *\().*?|callable *\(.*\).*?))(?<= )\$([a-zA-Z0-9_\x7f-\xff]++)#', $doc, $matches, PREG_SET_ORDER)) { - continue; - } - if (!isset(self::$annotatedParameters[$class][$method->name])) { - $definedParameters = []; - foreach ($method->getParameters() as $parameter) { - $definedParameters[$parameter->name] = true; - } - } - foreach ($matches as list(, $parameterType, $parameterName)) { - if (!isset($definedParameters[$parameterName])) { - $parameterType = trim($parameterType); - self::$annotatedParameters[$class][$method->name][$parameterName] = sprintf('The "%%s::%s()" method will require a new "%s$%s" argument in the next major version of its parent class "%s", not defining it is deprecated.', $method->name, $parameterType ? $parameterType.' ' : '', $parameterName, $method->class); - } - } - } - - return $deprecations; - } - - /** - * @param string $file - * @param string $class - * - * @return array|null - */ - public function checkCase(\ReflectionClass $refl, $file, $class) - { - $real = explode('\\', $class.strrchr($file, '.')); - $tail = explode(\DIRECTORY_SEPARATOR, str_replace('/', \DIRECTORY_SEPARATOR, $file)); - - $i = \count($tail) - 1; - $j = \count($real) - 1; - - while (isset($tail[$i], $real[$j]) && $tail[$i] === $real[$j]) { - --$i; - --$j; - } - - array_splice($tail, 0, $i + 1); - - if (!$tail) { - return null; - } - - $tail = \DIRECTORY_SEPARATOR.implode(\DIRECTORY_SEPARATOR, $tail); - $tailLen = \strlen($tail); - $real = $refl->getFileName(); - - if (2 === self::$caseCheck) { - $real = $this->darwinRealpath($real); - } - - if (0 === substr_compare($real, $tail, -$tailLen, $tailLen, true) - && 0 !== substr_compare($real, $tail, -$tailLen, $tailLen, false) - ) { - return [substr($tail, -$tailLen + 1), substr($real, -$tailLen + 1), substr($real, 0, -$tailLen + 1)]; - } - - return null; - } - - /** - * `realpath` on MacOSX doesn't normalize the case of characters. - */ - private function darwinRealpath(string $real): string - { - $i = 1 + strrpos($real, '/'); - $file = substr($real, $i); - $real = substr($real, 0, $i); - - if (isset(self::$darwinCache[$real])) { - $kDir = $real; - } else { - $kDir = strtolower($real); - - if (isset(self::$darwinCache[$kDir])) { - $real = self::$darwinCache[$kDir][0]; - } else { - $dir = getcwd(); - - if (!@chdir($real)) { - return $real.$file; - } - - $real = getcwd().'/'; - chdir($dir); - - $dir = $real; - $k = $kDir; - $i = \strlen($dir) - 1; - while (!isset(self::$darwinCache[$k])) { - self::$darwinCache[$k] = [$dir, []]; - self::$darwinCache[$dir] = &self::$darwinCache[$k]; - - while ('/' !== $dir[--$i]) { - } - $k = substr($k, 0, ++$i); - $dir = substr($dir, 0, $i--); - } - } - } - - $dirFiles = self::$darwinCache[$kDir][1]; - - if (!isset($dirFiles[$file]) && ') : eval()\'d code' === substr($file, -17)) { - // Get the file name from "file_name.php(123) : eval()'d code" - $file = substr($file, 0, strrpos($file, '(', -17)); - } - - if (isset($dirFiles[$file])) { - return $real.$dirFiles[$file]; - } - - $kFile = strtolower($file); - - if (!isset($dirFiles[$kFile])) { - foreach (scandir($real, 2) as $f) { - if ('.' !== $f[0]) { - $dirFiles[$f] = $f; - if ($f === $file) { - $kFile = $k = $file; - } elseif ($f !== $k = strtolower($f)) { - $dirFiles[$k] = $f; - } - } - } - self::$darwinCache[$kDir][1] = $dirFiles; - } - - return $real.$dirFiles[$kFile]; - } - - /** - * `class_implements` includes interfaces from the parents so we have to manually exclude them. - * - * @return string[] - */ - private function getOwnInterfaces(string $class, ?string $parent): array - { - $ownInterfaces = class_implements($class, false); - - if ($parent) { - foreach (class_implements($parent, false) as $interface) { - unset($ownInterfaces[$interface]); - } - } - - foreach ($ownInterfaces as $interface) { - foreach (class_implements($interface) as $interface) { - unset($ownInterfaces[$interface]); - } - } - - return $ownInterfaces; - } -} diff --git a/paragonik-backend/vendor/symfony/debug/ErrorHandler.php b/paragonik-backend/vendor/symfony/debug/ErrorHandler.php deleted file mode 100644 index b7ca74d..0000000 --- a/paragonik-backend/vendor/symfony/debug/ErrorHandler.php +++ /dev/null @@ -1,719 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Debug; - -use Psr\Log\LoggerInterface; -use Psr\Log\LogLevel; -use Symfony\Component\Debug\Exception\FatalErrorException; -use Symfony\Component\Debug\Exception\FatalThrowableError; -use Symfony\Component\Debug\Exception\FlattenException; -use Symfony\Component\Debug\Exception\OutOfMemoryException; -use Symfony\Component\Debug\Exception\SilencedErrorContext; -use Symfony\Component\Debug\FatalErrorHandler\ClassNotFoundFatalErrorHandler; -use Symfony\Component\Debug\FatalErrorHandler\FatalErrorHandlerInterface; -use Symfony\Component\Debug\FatalErrorHandler\UndefinedFunctionFatalErrorHandler; -use Symfony\Component\Debug\FatalErrorHandler\UndefinedMethodFatalErrorHandler; - -@trigger_error(sprintf('The "%s" class is deprecated since Symfony 4.4, use "%s" instead.', ErrorHandler::class, \Symfony\Component\ErrorHandler\ErrorHandler::class), E_USER_DEPRECATED); - -/** - * A generic ErrorHandler for the PHP engine. - * - * Provides five bit fields that control how errors are handled: - * - thrownErrors: errors thrown as \ErrorException - * - loggedErrors: logged errors, when not @-silenced - * - scopedErrors: errors thrown or logged with their local context - * - tracedErrors: errors logged with their stack trace - * - screamedErrors: never @-silenced errors - * - * Each error level can be logged by a dedicated PSR-3 logger object. - * Screaming only applies to logging. - * Throwing takes precedence over logging. - * Uncaught exceptions are logged as E_ERROR. - * E_DEPRECATED and E_USER_DEPRECATED levels never throw. - * E_RECOVERABLE_ERROR and E_USER_ERROR levels always throw. - * Non catchable errors that can be detected at shutdown time are logged when the scream bit field allows so. - * As errors have a performance cost, repeated errors are all logged, so that the developer - * can see them and weight them as more important to fix than others of the same level. - * - * @author Nicolas Grekas - * @author Grégoire Pineau - * - * @final since Symfony 4.3 - * - * @deprecated since Symfony 4.4, use Symfony\Component\ErrorHandler\ErrorHandler instead. - */ -class ErrorHandler -{ - private $levels = [ - E_DEPRECATED => 'Deprecated', - E_USER_DEPRECATED => 'User Deprecated', - E_NOTICE => 'Notice', - E_USER_NOTICE => 'User Notice', - E_STRICT => 'Runtime Notice', - E_WARNING => 'Warning', - E_USER_WARNING => 'User Warning', - E_COMPILE_WARNING => 'Compile Warning', - E_CORE_WARNING => 'Core Warning', - E_USER_ERROR => 'User Error', - E_RECOVERABLE_ERROR => 'Catchable Fatal Error', - E_COMPILE_ERROR => 'Compile Error', - E_PARSE => 'Parse Error', - E_ERROR => 'Error', - E_CORE_ERROR => 'Core Error', - ]; - - private $loggers = [ - E_DEPRECATED => [null, LogLevel::INFO], - E_USER_DEPRECATED => [null, LogLevel::INFO], - E_NOTICE => [null, LogLevel::WARNING], - E_USER_NOTICE => [null, LogLevel::WARNING], - E_STRICT => [null, LogLevel::WARNING], - E_WARNING => [null, LogLevel::WARNING], - E_USER_WARNING => [null, LogLevel::WARNING], - E_COMPILE_WARNING => [null, LogLevel::WARNING], - E_CORE_WARNING => [null, LogLevel::WARNING], - E_USER_ERROR => [null, LogLevel::CRITICAL], - E_RECOVERABLE_ERROR => [null, LogLevel::CRITICAL], - E_COMPILE_ERROR => [null, LogLevel::CRITICAL], - E_PARSE => [null, LogLevel::CRITICAL], - E_ERROR => [null, LogLevel::CRITICAL], - E_CORE_ERROR => [null, LogLevel::CRITICAL], - ]; - - private $thrownErrors = 0x1FFF; // E_ALL - E_DEPRECATED - E_USER_DEPRECATED - private $scopedErrors = 0x1FFF; // E_ALL - E_DEPRECATED - E_USER_DEPRECATED - private $tracedErrors = 0x77FB; // E_ALL - E_STRICT - E_PARSE - private $screamedErrors = 0x55; // E_ERROR + E_CORE_ERROR + E_COMPILE_ERROR + E_PARSE - private $loggedErrors = 0; - private $traceReflector; - - private $isRecursive = 0; - private $isRoot = false; - private $exceptionHandler; - private $bootstrappingLogger; - - private static $reservedMemory; - private static $toStringException = null; - private static $silencedErrorCache = []; - private static $silencedErrorCount = 0; - private static $exitCode = 0; - - /** - * Registers the error handler. - * - * @param self|null $handler The handler to register - * @param bool $replace Whether to replace or not any existing handler - * - * @return self The registered error handler - */ - public static function register(self $handler = null, $replace = true) - { - if (null === self::$reservedMemory) { - self::$reservedMemory = str_repeat('x', 10240); - register_shutdown_function(__CLASS__.'::handleFatalError'); - } - - if ($handlerIsNew = null === $handler) { - $handler = new static(); - } - - if (null === $prev = set_error_handler([$handler, 'handleError'])) { - restore_error_handler(); - // Specifying the error types earlier would expose us to https://bugs.php.net/63206 - set_error_handler([$handler, 'handleError'], $handler->thrownErrors | $handler->loggedErrors); - $handler->isRoot = true; - } - - if ($handlerIsNew && \is_array($prev) && $prev[0] instanceof self) { - $handler = $prev[0]; - $replace = false; - } - if (!$replace && $prev) { - restore_error_handler(); - $handlerIsRegistered = \is_array($prev) && $handler === $prev[0]; - } else { - $handlerIsRegistered = true; - } - if (\is_array($prev = set_exception_handler([$handler, 'handleException'])) && $prev[0] instanceof self) { - restore_exception_handler(); - if (!$handlerIsRegistered) { - $handler = $prev[0]; - } elseif ($handler !== $prev[0] && $replace) { - set_exception_handler([$handler, 'handleException']); - $p = $prev[0]->setExceptionHandler(null); - $handler->setExceptionHandler($p); - $prev[0]->setExceptionHandler($p); - } - } else { - $handler->setExceptionHandler($prev); - } - - $handler->throwAt(E_ALL & $handler->thrownErrors, true); - - return $handler; - } - - public function __construct(BufferingLogger $bootstrappingLogger = null) - { - if ($bootstrappingLogger) { - $this->bootstrappingLogger = $bootstrappingLogger; - $this->setDefaultLogger($bootstrappingLogger); - } - $this->traceReflector = new \ReflectionProperty('Exception', 'trace'); - $this->traceReflector->setAccessible(true); - } - - /** - * Sets a logger to non assigned errors levels. - * - * @param array|int $levels An array map of E_* to LogLevel::* or an integer bit field of E_* constants - * @param bool $replace Whether to replace or not any existing logger - */ - public function setDefaultLogger(LoggerInterface $logger, $levels = E_ALL, $replace = false) - { - $loggers = []; - - if (\is_array($levels)) { - foreach ($levels as $type => $logLevel) { - if (empty($this->loggers[$type][0]) || $replace || $this->loggers[$type][0] === $this->bootstrappingLogger) { - $loggers[$type] = [$logger, $logLevel]; - } - } - } else { - if (null === $levels) { - $levels = E_ALL; - } - foreach ($this->loggers as $type => $log) { - if (($type & $levels) && (empty($log[0]) || $replace || $log[0] === $this->bootstrappingLogger)) { - $log[0] = $logger; - $loggers[$type] = $log; - } - } - } - - $this->setLoggers($loggers); - } - - /** - * Sets a logger for each error level. - * - * @param array $loggers Error levels to [LoggerInterface|null, LogLevel::*] map - * - * @return array The previous map - * - * @throws \InvalidArgumentException - */ - public function setLoggers(array $loggers) - { - $prevLogged = $this->loggedErrors; - $prev = $this->loggers; - $flush = []; - - foreach ($loggers as $type => $log) { - if (!isset($prev[$type])) { - throw new \InvalidArgumentException('Unknown error type: '.$type); - } - if (!\is_array($log)) { - $log = [$log]; - } elseif (!\array_key_exists(0, $log)) { - throw new \InvalidArgumentException('No logger provided'); - } - if (null === $log[0]) { - $this->loggedErrors &= ~$type; - } elseif ($log[0] instanceof LoggerInterface) { - $this->loggedErrors |= $type; - } else { - throw new \InvalidArgumentException('Invalid logger provided'); - } - $this->loggers[$type] = $log + $prev[$type]; - - if ($this->bootstrappingLogger && $prev[$type][0] === $this->bootstrappingLogger) { - $flush[$type] = $type; - } - } - $this->reRegister($prevLogged | $this->thrownErrors); - - if ($flush) { - foreach ($this->bootstrappingLogger->cleanLogs() as $log) { - $type = $log[2]['exception'] instanceof \ErrorException ? $log[2]['exception']->getSeverity() : E_ERROR; - if (!isset($flush[$type])) { - $this->bootstrappingLogger->log($log[0], $log[1], $log[2]); - } elseif ($this->loggers[$type][0]) { - $this->loggers[$type][0]->log($this->loggers[$type][1], $log[1], $log[2]); - } - } - } - - return $prev; - } - - /** - * Sets a user exception handler. - * - * @param callable $handler A handler that will be called on Exception - * - * @return callable|null The previous exception handler - */ - public function setExceptionHandler(callable $handler = null) - { - $prev = $this->exceptionHandler; - $this->exceptionHandler = $handler; - - return $prev; - } - - /** - * Sets the PHP error levels that throw an exception when a PHP error occurs. - * - * @param int $levels A bit field of E_* constants for thrown errors - * @param bool $replace Replace or amend the previous value - * - * @return int The previous value - */ - public function throwAt($levels, $replace = false) - { - $prev = $this->thrownErrors; - $this->thrownErrors = ($levels | E_RECOVERABLE_ERROR | E_USER_ERROR) & ~E_USER_DEPRECATED & ~E_DEPRECATED; - if (!$replace) { - $this->thrownErrors |= $prev; - } - $this->reRegister($prev | $this->loggedErrors); - - return $prev; - } - - /** - * Sets the PHP error levels for which local variables are preserved. - * - * @param int $levels A bit field of E_* constants for scoped errors - * @param bool $replace Replace or amend the previous value - * - * @return int The previous value - */ - public function scopeAt($levels, $replace = false) - { - $prev = $this->scopedErrors; - $this->scopedErrors = (int) $levels; - if (!$replace) { - $this->scopedErrors |= $prev; - } - - return $prev; - } - - /** - * Sets the PHP error levels for which the stack trace is preserved. - * - * @param int $levels A bit field of E_* constants for traced errors - * @param bool $replace Replace or amend the previous value - * - * @return int The previous value - */ - public function traceAt($levels, $replace = false) - { - $prev = $this->tracedErrors; - $this->tracedErrors = (int) $levels; - if (!$replace) { - $this->tracedErrors |= $prev; - } - - return $prev; - } - - /** - * Sets the error levels where the @-operator is ignored. - * - * @param int $levels A bit field of E_* constants for screamed errors - * @param bool $replace Replace or amend the previous value - * - * @return int The previous value - */ - public function screamAt($levels, $replace = false) - { - $prev = $this->screamedErrors; - $this->screamedErrors = (int) $levels; - if (!$replace) { - $this->screamedErrors |= $prev; - } - - return $prev; - } - - /** - * Re-registers as a PHP error handler if levels changed. - */ - private function reRegister(int $prev) - { - if ($prev !== $this->thrownErrors | $this->loggedErrors) { - $handler = set_error_handler('var_dump'); - $handler = \is_array($handler) ? $handler[0] : null; - restore_error_handler(); - if ($handler === $this) { - restore_error_handler(); - if ($this->isRoot) { - set_error_handler([$this, 'handleError'], $this->thrownErrors | $this->loggedErrors); - } else { - set_error_handler([$this, 'handleError']); - } - } - } - } - - /** - * Handles errors by filtering then logging them according to the configured bit fields. - * - * @param int $type One of the E_* constants - * @param string $message - * @param string $file - * @param int $line - * - * @return bool Returns false when no handling happens so that the PHP engine can handle the error itself - * - * @throws \ErrorException When $this->thrownErrors requests so - * - * @internal - */ - public function handleError($type, $message, $file, $line) - { - if (\PHP_VERSION_ID >= 70300 && E_WARNING === $type && '"' === $message[0] && false !== strpos($message, '" targeting switch is equivalent to "break')) { - $type = E_DEPRECATED; - } - - // Level is the current error reporting level to manage silent error. - $level = error_reporting(); - $silenced = 0 === ($level & $type); - // Strong errors are not authorized to be silenced. - $level |= E_RECOVERABLE_ERROR | E_USER_ERROR | E_DEPRECATED | E_USER_DEPRECATED; - $log = $this->loggedErrors & $type; - $throw = $this->thrownErrors & $type & $level; - $type &= $level | $this->screamedErrors; - - if (!$type || (!$log && !$throw)) { - return !$silenced && $type && $log; - } - $scope = $this->scopedErrors & $type; - - if (4 < $numArgs = \func_num_args()) { - $context = $scope ? (func_get_arg(4) ?: []) : []; - } else { - $context = []; - } - - if (isset($context['GLOBALS']) && $scope) { - $e = $context; // Whatever the signature of the method, - unset($e['GLOBALS'], $context); // $context is always a reference in 5.3 - $context = $e; - } - - if (false !== strpos($message, "class@anonymous\0")) { - $logMessage = $this->levels[$type].': '.(new FlattenException())->setMessage($message)->getMessage(); - } else { - $logMessage = $this->levels[$type].': '.$message; - } - - if (null !== self::$toStringException) { - $errorAsException = self::$toStringException; - self::$toStringException = null; - } elseif (!$throw && !($type & $level)) { - if (!isset(self::$silencedErrorCache[$id = $file.':'.$line])) { - $lightTrace = $this->tracedErrors & $type ? $this->cleanTrace(debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, 5), $type, $file, $line, false) : []; - $errorAsException = new SilencedErrorContext($type, $file, $line, isset($lightTrace[1]) ? [$lightTrace[0]] : $lightTrace); - } elseif (isset(self::$silencedErrorCache[$id][$message])) { - $lightTrace = null; - $errorAsException = self::$silencedErrorCache[$id][$message]; - ++$errorAsException->count; - } else { - $lightTrace = []; - $errorAsException = null; - } - - if (100 < ++self::$silencedErrorCount) { - self::$silencedErrorCache = $lightTrace = []; - self::$silencedErrorCount = 1; - } - if ($errorAsException) { - self::$silencedErrorCache[$id][$message] = $errorAsException; - } - if (null === $lightTrace) { - return true; - } - } else { - $errorAsException = new \ErrorException($logMessage, 0, $type, $file, $line); - - if ($throw || $this->tracedErrors & $type) { - $backtrace = $errorAsException->getTrace(); - $lightTrace = $this->cleanTrace($backtrace, $type, $file, $line, $throw); - $this->traceReflector->setValue($errorAsException, $lightTrace); - } else { - $this->traceReflector->setValue($errorAsException, []); - $backtrace = []; - } - } - - if ($throw) { - if (\PHP_VERSION_ID < 70400 && E_USER_ERROR & $type) { - for ($i = 1; isset($backtrace[$i]); ++$i) { - if (isset($backtrace[$i]['function'], $backtrace[$i]['type'], $backtrace[$i - 1]['function']) - && '__toString' === $backtrace[$i]['function'] - && '->' === $backtrace[$i]['type'] - && !isset($backtrace[$i - 1]['class']) - && ('trigger_error' === $backtrace[$i - 1]['function'] || 'user_error' === $backtrace[$i - 1]['function']) - ) { - // Here, we know trigger_error() has been called from __toString(). - // PHP triggers a fatal error when throwing from __toString(). - // A small convention allows working around the limitation: - // given a caught $e exception in __toString(), quitting the method with - // `return trigger_error($e, E_USER_ERROR);` allows this error handler - // to make $e get through the __toString() barrier. - - foreach ($context as $e) { - if ($e instanceof \Throwable && $e->__toString() === $message) { - self::$toStringException = $e; - - return true; - } - } - - // Display the original error message instead of the default one. - $this->handleException($errorAsException); - - // Stop the process by giving back the error to the native handler. - return false; - } - } - } - - throw $errorAsException; - } - - if ($this->isRecursive) { - $log = 0; - } else { - if (!\defined('HHVM_VERSION')) { - $currentErrorHandler = set_error_handler('var_dump'); - restore_error_handler(); - } - - try { - $this->isRecursive = true; - $level = ($type & $level) ? $this->loggers[$type][1] : LogLevel::DEBUG; - $this->loggers[$type][0]->log($level, $logMessage, $errorAsException ? ['exception' => $errorAsException] : []); - } finally { - $this->isRecursive = false; - - if (!\defined('HHVM_VERSION')) { - set_error_handler($currentErrorHandler); - } - } - } - - return !$silenced && $type && $log; - } - - /** - * Handles an exception by logging then forwarding it to another handler. - * - * @param \Exception|\Throwable $exception An exception to handle - * @param array $error An array as returned by error_get_last() - * - * @internal - */ - public function handleException($exception, array $error = null) - { - if (null === $error) { - self::$exitCode = 255; - } - if (!$exception instanceof \Exception) { - $exception = new FatalThrowableError($exception); - } - $type = $exception instanceof FatalErrorException ? $exception->getSeverity() : E_ERROR; - $handlerException = null; - - if (($this->loggedErrors & $type) || $exception instanceof FatalThrowableError) { - if (false !== strpos($message = $exception->getMessage(), "class@anonymous\0")) { - $message = (new FlattenException())->setMessage($message)->getMessage(); - } - if ($exception instanceof FatalErrorException) { - if ($exception instanceof FatalThrowableError) { - $error = [ - 'type' => $type, - 'message' => $message, - 'file' => $exception->getFile(), - 'line' => $exception->getLine(), - ]; - } else { - $message = 'Fatal '.$message; - } - } elseif ($exception instanceof \ErrorException) { - $message = 'Uncaught '.$message; - } else { - $message = 'Uncaught Exception: '.$message; - } - } - if ($this->loggedErrors & $type) { - try { - $this->loggers[$type][0]->log($this->loggers[$type][1], $message, ['exception' => $exception]); - } catch (\Throwable $handlerException) { - } - } - if ($exception instanceof FatalErrorException && !$exception instanceof OutOfMemoryException && $error) { - foreach ($this->getFatalErrorHandlers() as $handler) { - if ($e = $handler->handleError($error, $exception)) { - $exception = $e; - break; - } - } - } - $exceptionHandler = $this->exceptionHandler; - $this->exceptionHandler = null; - try { - if (null !== $exceptionHandler) { - $exceptionHandler($exception); - - return; - } - $handlerException = $handlerException ?: $exception; - } catch (\Throwable $handlerException) { - } - if ($exception === $handlerException) { - self::$reservedMemory = null; // Disable the fatal error handler - throw $exception; // Give back $exception to the native handler - } - $this->handleException($handlerException); - } - - /** - * Shutdown registered function for handling PHP fatal errors. - * - * @param array $error An array as returned by error_get_last() - * - * @internal - */ - public static function handleFatalError(array $error = null) - { - if (null === self::$reservedMemory) { - return; - } - - $handler = self::$reservedMemory = null; - $handlers = []; - $previousHandler = null; - $sameHandlerLimit = 10; - - while (!\is_array($handler) || !$handler[0] instanceof self) { - $handler = set_exception_handler('var_dump'); - restore_exception_handler(); - - if (!$handler) { - break; - } - restore_exception_handler(); - - if ($handler !== $previousHandler) { - array_unshift($handlers, $handler); - $previousHandler = $handler; - } elseif (0 === --$sameHandlerLimit) { - $handler = null; - break; - } - } - foreach ($handlers as $h) { - set_exception_handler($h); - } - if (!$handler) { - return; - } - if ($handler !== $h) { - $handler[0]->setExceptionHandler($h); - } - $handler = $handler[0]; - $handlers = []; - - if ($exit = null === $error) { - $error = error_get_last(); - } - - if ($error && $error['type'] &= E_PARSE | E_ERROR | E_CORE_ERROR | E_COMPILE_ERROR) { - // Let's not throw anymore but keep logging - $handler->throwAt(0, true); - $trace = isset($error['backtrace']) ? $error['backtrace'] : null; - - if (0 === strpos($error['message'], 'Allowed memory') || 0 === strpos($error['message'], 'Out of memory')) { - $exception = new OutOfMemoryException($handler->levels[$error['type']].': '.$error['message'], 0, $error['type'], $error['file'], $error['line'], 2, false, $trace); - } else { - $exception = new FatalErrorException($handler->levels[$error['type']].': '.$error['message'], 0, $error['type'], $error['file'], $error['line'], 2, true, $trace); - } - } else { - $exception = null; - } - - try { - if (null !== $exception) { - self::$exitCode = 255; - $handler->handleException($exception, $error); - } - } catch (FatalErrorException $e) { - // Ignore this re-throw - } - - if ($exit && self::$exitCode) { - $exitCode = self::$exitCode; - register_shutdown_function('register_shutdown_function', function () use ($exitCode) { exit($exitCode); }); - } - } - - /** - * Gets the fatal error handlers. - * - * Override this method if you want to define more fatal error handlers. - * - * @return FatalErrorHandlerInterface[] An array of FatalErrorHandlerInterface - */ - protected function getFatalErrorHandlers() - { - return [ - new UndefinedFunctionFatalErrorHandler(), - new UndefinedMethodFatalErrorHandler(), - new ClassNotFoundFatalErrorHandler(), - ]; - } - - /** - * Cleans the trace by removing function arguments and the frames added by the error handler and DebugClassLoader. - */ - private function cleanTrace(array $backtrace, int $type, string $file, int $line, bool $throw): array - { - $lightTrace = $backtrace; - - for ($i = 0; isset($backtrace[$i]); ++$i) { - if (isset($backtrace[$i]['file'], $backtrace[$i]['line']) && $backtrace[$i]['line'] === $line && $backtrace[$i]['file'] === $file) { - $lightTrace = \array_slice($lightTrace, 1 + $i); - break; - } - } - if (class_exists(DebugClassLoader::class, false)) { - for ($i = \count($lightTrace) - 2; 0 < $i; --$i) { - if (DebugClassLoader::class === ($lightTrace[$i]['class'] ?? null)) { - array_splice($lightTrace, --$i, 2); - } - } - } - if (!($throw || $this->scopedErrors & $type)) { - for ($i = 0; isset($lightTrace[$i]); ++$i) { - unset($lightTrace[$i]['args'], $lightTrace[$i]['object']); - } - } - - return $lightTrace; - } -} diff --git a/paragonik-backend/vendor/symfony/debug/Exception/ClassNotFoundException.php b/paragonik-backend/vendor/symfony/debug/Exception/ClassNotFoundException.php deleted file mode 100644 index 6c87f98..0000000 --- a/paragonik-backend/vendor/symfony/debug/Exception/ClassNotFoundException.php +++ /dev/null @@ -1,40 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Debug\Exception; - -@trigger_error(sprintf('The "%s" class is deprecated since Symfony 4.4, use "%s" instead.', ClassNotFoundException::class, \Symfony\Component\ErrorHandler\Error\ClassNotFoundError::class), E_USER_DEPRECATED); - -/** - * Class (or Trait or Interface) Not Found Exception. - * - * @author Konstanton Myakshin - * - * @deprecated since Symfony 4.4, use Symfony\Component\ErrorHandler\Error\ClassNotFoundError instead. - */ -class ClassNotFoundException extends FatalErrorException -{ - public function __construct(string $message, \ErrorException $previous) - { - parent::__construct( - $message, - $previous->getCode(), - $previous->getSeverity(), - $previous->getFile(), - $previous->getLine(), - null, - true, - null, - $previous->getPrevious() - ); - $this->setTrace($previous->getTrace()); - } -} diff --git a/paragonik-backend/vendor/symfony/debug/Exception/FatalErrorException.php b/paragonik-backend/vendor/symfony/debug/Exception/FatalErrorException.php deleted file mode 100644 index 4eb445d..0000000 --- a/paragonik-backend/vendor/symfony/debug/Exception/FatalErrorException.php +++ /dev/null @@ -1,81 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Debug\Exception; - -@trigger_error(sprintf('The "%s" class is deprecated since Symfony 4.4, use "%s" instead.', FatalErrorException::class, \Symfony\Component\ErrorHandler\Error\FatalError::class), E_USER_DEPRECATED); - -/** - * Fatal Error Exception. - * - * @author Konstanton Myakshin - * - * @deprecated since Symfony 4.4, use Symfony\Component\ErrorHandler\Error\FatalError instead. - */ -class FatalErrorException extends \ErrorException -{ - public function __construct(string $message, int $code, int $severity, string $filename, int $lineno, int $traceOffset = null, bool $traceArgs = true, array $trace = null, \Throwable $previous = null) - { - parent::__construct($message, $code, $severity, $filename, $lineno, $previous); - - if (null !== $trace) { - if (!$traceArgs) { - foreach ($trace as &$frame) { - unset($frame['args'], $frame['this'], $frame); - } - } - - $this->setTrace($trace); - } elseif (null !== $traceOffset) { - if (\function_exists('xdebug_get_function_stack')) { - $trace = xdebug_get_function_stack(); - if (0 < $traceOffset) { - array_splice($trace, -$traceOffset); - } - - foreach ($trace as &$frame) { - if (!isset($frame['type'])) { - // XDebug pre 2.1.1 doesn't currently set the call type key http://bugs.xdebug.org/view.php?id=695 - if (isset($frame['class'])) { - $frame['type'] = '::'; - } - } elseif ('dynamic' === $frame['type']) { - $frame['type'] = '->'; - } elseif ('static' === $frame['type']) { - $frame['type'] = '::'; - } - - // XDebug also has a different name for the parameters array - if (!$traceArgs) { - unset($frame['params'], $frame['args']); - } elseif (isset($frame['params']) && !isset($frame['args'])) { - $frame['args'] = $frame['params']; - unset($frame['params']); - } - } - - unset($frame); - $trace = array_reverse($trace); - } else { - $trace = []; - } - - $this->setTrace($trace); - } - } - - protected function setTrace($trace) - { - $traceReflector = new \ReflectionProperty('Exception', 'trace'); - $traceReflector->setAccessible(true); - $traceReflector->setValue($this, $trace); - } -} diff --git a/paragonik-backend/vendor/symfony/debug/Exception/FatalThrowableError.php b/paragonik-backend/vendor/symfony/debug/Exception/FatalThrowableError.php deleted file mode 100644 index e13b017..0000000 --- a/paragonik-backend/vendor/symfony/debug/Exception/FatalThrowableError.php +++ /dev/null @@ -1,55 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Debug\Exception; - -@trigger_error(sprintf('The "%s" class is deprecated since Symfony 4.4.', FatalThrowableError::class), E_USER_DEPRECATED); - -/** - * Fatal Throwable Error. - * - * @author Nicolas Grekas - * - * @deprecated since Symfony 4.4 - */ -class FatalThrowableError extends FatalErrorException -{ - private $originalClassName; - - public function __construct(\Throwable $e) - { - $this->originalClassName = \get_class($e); - - if ($e instanceof \ParseError) { - $severity = E_PARSE; - } elseif ($e instanceof \TypeError) { - $severity = E_RECOVERABLE_ERROR; - } else { - $severity = E_ERROR; - } - - \ErrorException::__construct( - $e->getMessage(), - $e->getCode(), - $severity, - $e->getFile(), - $e->getLine(), - $e->getPrevious() - ); - - $this->setTrace($e->getTrace()); - } - - public function getOriginalClassName(): string - { - return $this->originalClassName; - } -} diff --git a/paragonik-backend/vendor/symfony/debug/Exception/FlattenException.php b/paragonik-backend/vendor/symfony/debug/Exception/FlattenException.php deleted file mode 100644 index f55f71b..0000000 --- a/paragonik-backend/vendor/symfony/debug/Exception/FlattenException.php +++ /dev/null @@ -1,367 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Debug\Exception; - -use Symfony\Component\HttpFoundation\Exception\RequestExceptionInterface; -use Symfony\Component\HttpKernel\Exception\HttpExceptionInterface; - -/** - * FlattenException wraps a PHP Error or Exception to be able to serialize it. - * - * Basically, this class removes all objects from the trace. - * - * @author Fabien Potencier - * - * @deprecated since Symfony 4.4, use Symfony\Component\ErrorHandler\Exception\FlattenException instead. - */ -class FlattenException -{ - private $message; - private $code; - private $previous; - private $trace; - private $traceAsString; - private $class; - private $statusCode; - private $headers; - private $file; - private $line; - - /** - * @return static - */ - public static function create(\Exception $exception, $statusCode = null, array $headers = []) - { - return static::createFromThrowable($exception, $statusCode, $headers); - } - - /** - * @return static - */ - public static function createFromThrowable(\Throwable $exception, int $statusCode = null, array $headers = []) - { - $e = new static(); - $e->setMessage($exception->getMessage()); - $e->setCode($exception->getCode()); - - if ($exception instanceof HttpExceptionInterface) { - $statusCode = $exception->getStatusCode(); - $headers = array_merge($headers, $exception->getHeaders()); - } elseif ($exception instanceof RequestExceptionInterface) { - $statusCode = 400; - } - - if (null === $statusCode) { - $statusCode = 500; - } - - $e->setStatusCode($statusCode); - $e->setHeaders($headers); - $e->setTraceFromThrowable($exception); - $e->setClass($exception instanceof FatalThrowableError ? $exception->getOriginalClassName() : \get_class($exception)); - $e->setFile($exception->getFile()); - $e->setLine($exception->getLine()); - - $previous = $exception->getPrevious(); - - if ($previous instanceof \Throwable) { - $e->setPrevious(static::createFromThrowable($previous)); - } - - return $e; - } - - public function toArray() - { - $exceptions = []; - foreach (array_merge([$this], $this->getAllPrevious()) as $exception) { - $exceptions[] = [ - 'message' => $exception->getMessage(), - 'class' => $exception->getClass(), - 'trace' => $exception->getTrace(), - ]; - } - - return $exceptions; - } - - public function getStatusCode() - { - return $this->statusCode; - } - - /** - * @return $this - */ - public function setStatusCode($code) - { - $this->statusCode = $code; - - return $this; - } - - public function getHeaders() - { - return $this->headers; - } - - /** - * @return $this - */ - public function setHeaders(array $headers) - { - $this->headers = $headers; - - return $this; - } - - public function getClass() - { - return $this->class; - } - - /** - * @return $this - */ - public function setClass($class) - { - $this->class = 'c' === $class[0] && 0 === strpos($class, "class@anonymous\0") ? get_parent_class($class).'@anonymous' : $class; - - return $this; - } - - public function getFile() - { - return $this->file; - } - - /** - * @return $this - */ - public function setFile($file) - { - $this->file = $file; - - return $this; - } - - public function getLine() - { - return $this->line; - } - - /** - * @return $this - */ - public function setLine($line) - { - $this->line = $line; - - return $this; - } - - public function getMessage() - { - return $this->message; - } - - /** - * @return $this - */ - public function setMessage($message) - { - if (false !== strpos($message, "class@anonymous\0")) { - $message = preg_replace_callback('/class@anonymous\x00.*?\.php0x?[0-9a-fA-F]++/', function ($m) { - return class_exists($m[0], false) ? get_parent_class($m[0]).'@anonymous' : $m[0]; - }, $message); - } - - $this->message = $message; - - return $this; - } - - public function getCode() - { - return $this->code; - } - - /** - * @return $this - */ - public function setCode($code) - { - $this->code = $code; - - return $this; - } - - public function getPrevious() - { - return $this->previous; - } - - /** - * @return $this - */ - public function setPrevious(self $previous) - { - $this->previous = $previous; - - return $this; - } - - public function getAllPrevious() - { - $exceptions = []; - $e = $this; - while ($e = $e->getPrevious()) { - $exceptions[] = $e; - } - - return $exceptions; - } - - public function getTrace() - { - return $this->trace; - } - - /** - * @deprecated since 4.1, use {@see setTraceFromThrowable()} instead. - */ - public function setTraceFromException(\Exception $exception) - { - @trigger_error(sprintf('The "%s()" method is deprecated since Symfony 4.1, use "setTraceFromThrowable()" instead.', __METHOD__), E_USER_DEPRECATED); - - $this->setTraceFromThrowable($exception); - } - - public function setTraceFromThrowable(\Throwable $throwable) - { - $this->traceAsString = $throwable->getTraceAsString(); - - return $this->setTrace($throwable->getTrace(), $throwable->getFile(), $throwable->getLine()); - } - - /** - * @return $this - */ - public function setTrace($trace, $file, $line) - { - $this->trace = []; - $this->trace[] = [ - 'namespace' => '', - 'short_class' => '', - 'class' => '', - 'type' => '', - 'function' => '', - 'file' => $file, - 'line' => $line, - 'args' => [], - ]; - foreach ($trace as $entry) { - $class = ''; - $namespace = ''; - if (isset($entry['class'])) { - $parts = explode('\\', $entry['class']); - $class = array_pop($parts); - $namespace = implode('\\', $parts); - } - - $this->trace[] = [ - 'namespace' => $namespace, - 'short_class' => $class, - 'class' => isset($entry['class']) ? $entry['class'] : '', - 'type' => isset($entry['type']) ? $entry['type'] : '', - 'function' => isset($entry['function']) ? $entry['function'] : null, - 'file' => isset($entry['file']) ? $entry['file'] : null, - 'line' => isset($entry['line']) ? $entry['line'] : null, - 'args' => isset($entry['args']) ? $this->flattenArgs($entry['args']) : [], - ]; - } - - return $this; - } - - private function flattenArgs(array $args, int $level = 0, int &$count = 0): array - { - $result = []; - foreach ($args as $key => $value) { - if (++$count > 1e4) { - return ['array', '*SKIPPED over 10000 entries*']; - } - if ($value instanceof \__PHP_Incomplete_Class) { - // is_object() returns false on PHP<=7.1 - $result[$key] = ['incomplete-object', $this->getClassNameFromIncomplete($value)]; - } elseif (\is_object($value)) { - $result[$key] = ['object', \get_class($value)]; - } elseif (\is_array($value)) { - if ($level > 10) { - $result[$key] = ['array', '*DEEP NESTED ARRAY*']; - } else { - $result[$key] = ['array', $this->flattenArgs($value, $level + 1, $count)]; - } - } elseif (null === $value) { - $result[$key] = ['null', null]; - } elseif (\is_bool($value)) { - $result[$key] = ['boolean', $value]; - } elseif (\is_int($value)) { - $result[$key] = ['integer', $value]; - } elseif (\is_float($value)) { - $result[$key] = ['float', $value]; - } elseif (\is_resource($value)) { - $result[$key] = ['resource', get_resource_type($value)]; - } else { - $result[$key] = ['string', (string) $value]; - } - } - - return $result; - } - - private function getClassNameFromIncomplete(\__PHP_Incomplete_Class $value): string - { - $array = new \ArrayObject($value); - - return $array['__PHP_Incomplete_Class_Name']; - } - - public function getTraceAsString() - { - return $this->traceAsString; - } - - public function getAsString() - { - $message = ''; - $next = false; - - foreach (array_reverse(array_merge([$this], $this->getAllPrevious())) as $exception) { - if ($next) { - $message .= 'Next '; - } else { - $next = true; - } - $message .= $exception->getClass(); - - if ('' != $exception->getMessage()) { - $message .= ': '.$exception->getMessage(); - } - - $message .= ' in '.$exception->getFile().':'.$exception->getLine(). - "\nStack trace:\n".$exception->getTraceAsString()."\n\n"; - } - - return rtrim($message); - } -} diff --git a/paragonik-backend/vendor/symfony/debug/Exception/OutOfMemoryException.php b/paragonik-backend/vendor/symfony/debug/Exception/OutOfMemoryException.php deleted file mode 100644 index a4a90ee..0000000 --- a/paragonik-backend/vendor/symfony/debug/Exception/OutOfMemoryException.php +++ /dev/null @@ -1,25 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Debug\Exception; - -@trigger_error(sprintf('The "%s" class is deprecated since Symfony 4.4, use "%s" instead.', OutOfMemoryException::class, \Symfony\Component\ErrorHandler\Error\OutOfMemoryError::class), E_USER_DEPRECATED); - -/** - * Out of memory exception. - * - * @author Nicolas Grekas - * - * @deprecated since Symfony 4.4, use Symfony\Component\ErrorHandler\Error\OutOfMemoryError instead. - */ -class OutOfMemoryException extends FatalErrorException -{ -} diff --git a/paragonik-backend/vendor/symfony/debug/Exception/SilencedErrorContext.php b/paragonik-backend/vendor/symfony/debug/Exception/SilencedErrorContext.php deleted file mode 100644 index e666d84..0000000 --- a/paragonik-backend/vendor/symfony/debug/Exception/SilencedErrorContext.php +++ /dev/null @@ -1,71 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Debug\Exception; - -@trigger_error(sprintf('The "%s" class is deprecated since Symfony 4.4, use "%s" instead.', SilencedErrorContext::class, \Symfony\Component\ErrorHandler\Exception\SilencedErrorContext::class), E_USER_DEPRECATED); - -/** - * Data Object that represents a Silenced Error. - * - * @author Grégoire Pineau - * - * @deprecated since Symfony 4.4, use Symfony\Component\ErrorHandler\Exception\SilencedErrorContext instead. - */ -class SilencedErrorContext implements \JsonSerializable -{ - public $count = 1; - - private $severity; - private $file; - private $line; - private $trace; - - public function __construct(int $severity, string $file, int $line, array $trace = [], int $count = 1) - { - $this->severity = $severity; - $this->file = $file; - $this->line = $line; - $this->trace = $trace; - $this->count = $count; - } - - public function getSeverity() - { - return $this->severity; - } - - public function getFile() - { - return $this->file; - } - - public function getLine() - { - return $this->line; - } - - public function getTrace() - { - return $this->trace; - } - - public function jsonSerialize() - { - return [ - 'severity' => $this->severity, - 'file' => $this->file, - 'line' => $this->line, - 'trace' => $this->trace, - 'count' => $this->count, - ]; - } -} diff --git a/paragonik-backend/vendor/symfony/debug/Exception/UndefinedFunctionException.php b/paragonik-backend/vendor/symfony/debug/Exception/UndefinedFunctionException.php deleted file mode 100644 index 0a7037a..0000000 --- a/paragonik-backend/vendor/symfony/debug/Exception/UndefinedFunctionException.php +++ /dev/null @@ -1,40 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Debug\Exception; - -@trigger_error(sprintf('The "%s" class is deprecated since Symfony 4.4, use "%s" instead.', UndefinedFunctionException::class, \Symfony\Component\ErrorHandler\Error\UndefinedFunctionError::class), E_USER_DEPRECATED); - -/** - * Undefined Function Exception. - * - * @author Konstanton Myakshin - * - * @deprecated since Symfony 4.4, use Symfony\Component\ErrorHandler\Error\UndefinedFunctionError instead. - */ -class UndefinedFunctionException extends FatalErrorException -{ - public function __construct(string $message, \ErrorException $previous) - { - parent::__construct( - $message, - $previous->getCode(), - $previous->getSeverity(), - $previous->getFile(), - $previous->getLine(), - null, - true, - null, - $previous->getPrevious() - ); - $this->setTrace($previous->getTrace()); - } -} diff --git a/paragonik-backend/vendor/symfony/debug/Exception/UndefinedMethodException.php b/paragonik-backend/vendor/symfony/debug/Exception/UndefinedMethodException.php deleted file mode 100644 index 4d31c56..0000000 --- a/paragonik-backend/vendor/symfony/debug/Exception/UndefinedMethodException.php +++ /dev/null @@ -1,40 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Debug\Exception; - -@trigger_error(sprintf('The "%s" class is deprecated since Symfony 4.4, use "%s" instead.', UndefinedMethodException::class, \Symfony\Component\ErrorHandler\Error\UndefinedMethodError::class), E_USER_DEPRECATED); - -/** - * Undefined Method Exception. - * - * @author Grégoire Pineau - * - * @deprecated since Symfony 4.4, use Symfony\Component\ErrorHandler\Error\UndefinedMethodError instead. - */ -class UndefinedMethodException extends FatalErrorException -{ - public function __construct(string $message, \ErrorException $previous) - { - parent::__construct( - $message, - $previous->getCode(), - $previous->getSeverity(), - $previous->getFile(), - $previous->getLine(), - null, - true, - null, - $previous->getPrevious() - ); - $this->setTrace($previous->getTrace()); - } -} diff --git a/paragonik-backend/vendor/symfony/debug/ExceptionHandler.php b/paragonik-backend/vendor/symfony/debug/ExceptionHandler.php deleted file mode 100644 index fee3e48..0000000 --- a/paragonik-backend/vendor/symfony/debug/ExceptionHandler.php +++ /dev/null @@ -1,466 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Debug; - -use Symfony\Component\Debug\Exception\FlattenException; -use Symfony\Component\Debug\Exception\OutOfMemoryException; -use Symfony\Component\HttpKernel\Debug\FileLinkFormatter; - -@trigger_error(sprintf('The "%s" class is deprecated since Symfony 4.4, use "%s" instead.', ExceptionHandler::class, \Symfony\Component\ErrorHandler\ErrorHandler::class), E_USER_DEPRECATED); - -/** - * ExceptionHandler converts an exception to a Response object. - * - * It is mostly useful in debug mode to replace the default PHP/XDebug - * output with something prettier and more useful. - * - * As this class is mainly used during Kernel boot, where nothing is yet - * available, the Response content is always HTML. - * - * @author Fabien Potencier - * @author Nicolas Grekas - * - * @final since Symfony 4.3 - * - * @deprecated since Symfony 4.4, use Symfony\Component\ErrorHandler\ErrorHandler instead. - */ -class ExceptionHandler -{ - private const GHOST_ADDONS = [ - '02-14' => self::GHOST_HEART, - '02-29' => self::GHOST_PLUS, - '10-18' => self::GHOST_GIFT, - ]; - - private const GHOST_GIFT = 'M124.005 5.36c.396-.715 1.119-1.648-.124-1.873-.346-.177-.692-.492-1.038-.141-.769.303-1.435.728-.627 1.523.36.514.685 1.634 1.092 1.758.242-.417.47-.842.697-1.266zm-1.699 1.977c-.706-1.26-1.274-2.612-2.138-3.774-1.051-1.123-3.122-.622-3.593.825-.625 1.431.724 3.14 2.251 2.96 1.159.02 2.324.072 3.48-.011zm5.867.043c1.502-.202 2.365-2.092 1.51-3.347-.757-1.34-2.937-1.387-3.698-.025-.659 1.1-1.23 2.25-1.835 3.38 1.336.077 2.686.06 4.023-.008zm2.487 1.611c.512-.45 2.494-.981.993-1.409-.372-.105-.805-.59-1.14-.457-.726.902-1.842 1.432-3.007 1.376-.228.075-1.391-.114-1.077.1.822.47 1.623.979 2.474 1.395.595-.317 1.173-.667 1.757-1.005zm-11.696.255l1.314-.765c-1.338-.066-2.87.127-3.881-.95-.285-.319-.559-.684-.954-.282-.473.326-1.929.66-.808 1.058.976.576 1.945 1.167 2.946 1.701.476-.223.926-.503 1.383-.762zm6.416 2.846c.567-.456 1.942-.89 1.987-1.38-1.282-.737-2.527-1.56-3.87-2.183-.461-.175-.835.094-1.207.328-1.1.654-2.225 1.267-3.288 1.978 1.39.86 2.798 1.695 4.219 2.504.725-.407 1.44-.83 2.16-1.247zm5.692 1.423l1.765-1.114c-.005-1.244.015-2.488-.019-3.732a77.306 77.306 0 0 0-3.51 2.084c-.126 1.282-.062 2.586-.034 3.876.607-.358 1.2-.741 1.798-1.114zm-13.804-.784c.06-1.06.19-2.269-1.09-2.583-.807-.376-1.926-1.341-2.548-1.332-.02 1.195-.01 2.39-.011 3.585 1.192.744 2.364 1.524 3.582 2.226.119-.616.041-1.269.067-1.896zm8.541 4.105l2.117-1.336c-.003-1.284.05-2.57-.008-3.853-.776.223-1.662.91-2.48 1.337l-1.834 1.075c.012 1.37-.033 2.744.044 4.113.732-.427 1.443-.887 2.161-1.336zm-2.957-.72v-2.057c-1.416-.828-2.828-1.664-4.25-2.482-.078 1.311-.033 2.627-.045 3.94 1.416.887 2.817 1.798 4.25 2.655.057-.683.036-1.372.045-2.057zm8.255 2.755l1.731-1.153c-.024-1.218.06-2.453-.062-3.658-1.2.685-2.358 1.464-3.537 2.195.028 1.261-.058 2.536.072 3.786.609-.373 1.2-.777 1.796-1.17zm-13.851-.683l-.014-1.916c-1.193-.746-2.37-1.517-3.58-2.234-.076 1.224-.033 2.453-.044 3.679 1.203.796 2.392 1.614 3.61 2.385.048-.636.024-1.276.028-1.914zm8.584 4.199l2.102-1.396c-.002-1.298.024-2.596-.01-3.893-1.427.88-2.843 1.775-4.25 2.686-.158 1.253-.055 2.545-.056 3.811.437.266 1.553-.912 2.214-1.208zm-2.988-.556c-.085-.894.365-2.154-.773-2.5-1.146-.727-2.288-1.46-3.45-2.163-.17 1.228.008 2.508-.122 3.751a79.399 79.399 0 0 0 4.278 2.885c.117-.641.044-1.32.067-1.973zm-4.872-.236l-5.087-3.396c.002-3.493-.047-6.988.015-10.48.85-.524 1.753-.954 2.627-1.434-.564-1.616.25-3.58 1.887-4.184 1.372-.563 3.025-.055 3.9 1.13l1.906-.978 1.916.987c.915-1.086 2.483-1.706 3.842-1.097 1.631.573 2.52 2.532 1.936 4.145.88.497 1.837.886 2.644 1.492.036 3.473 0 6.946-.003 10.419-3.374 2.233-6.693 4.55-10.122 6.699-.997 0-1.858-1.083-2.783-1.522a735.316 735.316 0 0 1-2.678-1.781z'; - private const GHOST_HEART = 'M125.914 8.305c3.036-8.71 14.933 0 0 11.2-14.932-11.2-3.036-19.91 0-11.2z'; - private const GHOST_PLUS = 'M111.368 8.97h7.324V1.645h7.512v7.323h7.324v7.513h-7.324v7.323h-7.512v-7.323h-7.324z'; - - private $debug; - private $charset; - private $handler; - private $caughtBuffer; - private $caughtLength; - private $fileLinkFormat; - - public function __construct(bool $debug = true, string $charset = null, $fileLinkFormat = null) - { - $this->debug = $debug; - $this->charset = $charset ?: ini_get('default_charset') ?: 'UTF-8'; - $this->fileLinkFormat = $fileLinkFormat; - } - - /** - * Registers the exception handler. - * - * @param bool $debug Enable/disable debug mode, where the stack trace is displayed - * @param string|null $charset The charset used by exception messages - * @param string|null $fileLinkFormat The IDE link template - * - * @return static - */ - public static function register($debug = true, $charset = null, $fileLinkFormat = null) - { - $handler = new static($debug, $charset, $fileLinkFormat); - - $prev = set_exception_handler([$handler, 'handle']); - if (\is_array($prev) && $prev[0] instanceof ErrorHandler) { - restore_exception_handler(); - $prev[0]->setExceptionHandler([$handler, 'handle']); - } - - return $handler; - } - - /** - * Sets a user exception handler. - * - * @param callable $handler An handler that will be called on Exception - * - * @return callable|null The previous exception handler if any - */ - public function setHandler(callable $handler = null) - { - $old = $this->handler; - $this->handler = $handler; - - return $old; - } - - /** - * Sets the format for links to source files. - * - * @param string|FileLinkFormatter $fileLinkFormat The format for links to source files - * - * @return string The previous file link format - */ - public function setFileLinkFormat($fileLinkFormat) - { - $old = $this->fileLinkFormat; - $this->fileLinkFormat = $fileLinkFormat; - - return $old; - } - - /** - * Sends a response for the given Exception. - * - * To be as fail-safe as possible, the exception is first handled - * by our simple exception handler, then by the user exception handler. - * The latter takes precedence and any output from the former is cancelled, - * if and only if nothing bad happens in this handling path. - */ - public function handle(\Exception $exception) - { - if (null === $this->handler || $exception instanceof OutOfMemoryException) { - $this->sendPhpResponse($exception); - - return; - } - - $caughtLength = $this->caughtLength = 0; - - ob_start(function ($buffer) { - $this->caughtBuffer = $buffer; - - return ''; - }); - - $this->sendPhpResponse($exception); - while (null === $this->caughtBuffer && ob_end_flush()) { - // Empty loop, everything is in the condition - } - if (isset($this->caughtBuffer[0])) { - ob_start(function ($buffer) { - if ($this->caughtLength) { - // use substr_replace() instead of substr() for mbstring overloading resistance - $cleanBuffer = substr_replace($buffer, '', 0, $this->caughtLength); - if (isset($cleanBuffer[0])) { - $buffer = $cleanBuffer; - } - } - - return $buffer; - }); - - echo $this->caughtBuffer; - $caughtLength = ob_get_length(); - } - $this->caughtBuffer = null; - - try { - ($this->handler)($exception); - $this->caughtLength = $caughtLength; - } catch (\Exception $e) { - if (!$caughtLength) { - // All handlers failed. Let PHP handle that now. - throw $exception; - } - } - } - - /** - * Sends the error associated with the given Exception as a plain PHP response. - * - * This method uses plain PHP functions like header() and echo to output - * the response. - * - * @param \Throwable|FlattenException $exception A \Throwable or FlattenException instance - */ - public function sendPhpResponse($exception) - { - if ($exception instanceof \Throwable) { - $exception = FlattenException::createFromThrowable($exception); - } - - if (!headers_sent()) { - header(sprintf('HTTP/1.0 %s', $exception->getStatusCode())); - foreach ($exception->getHeaders() as $name => $value) { - header($name.': '.$value, false); - } - header('Content-Type: text/html; charset='.$this->charset); - } - - echo $this->decorate($this->getContent($exception), $this->getStylesheet($exception)); - } - - /** - * Gets the full HTML content associated with the given exception. - * - * @param \Exception|FlattenException $exception An \Exception or FlattenException instance - * - * @return string The HTML content as a string - */ - public function getHtml($exception) - { - if (!$exception instanceof FlattenException) { - $exception = FlattenException::create($exception); - } - - return $this->decorate($this->getContent($exception), $this->getStylesheet($exception)); - } - - /** - * Gets the HTML content associated with the given exception. - * - * @return string The content as a string - */ - public function getContent(FlattenException $exception) - { - switch ($exception->getStatusCode()) { - case 404: - $title = 'Sorry, the page you are looking for could not be found.'; - break; - default: - $title = $this->debug ? $this->escapeHtml($exception->getMessage()) : 'Whoops, looks like something went wrong.'; - } - - if (!$this->debug) { - return << -

    $title

    - -EOF; - } - - $content = ''; - try { - $count = \count($exception->getAllPrevious()); - $total = $count + 1; - foreach ($exception->toArray() as $position => $e) { - $ind = $count - $position + 1; - $class = $this->formatClass($e['class']); - $message = nl2br($this->escapeHtml($e['message'])); - $content .= sprintf(<<<'EOF' -
    - - - -EOF - , $ind, $total, $class, $message); - foreach ($e['trace'] as $trace) { - $content .= '\n"; - } - - $content .= "\n
    -

    - (%d/%d) - %s -

    -

    %s

    -
    '; - if ($trace['function']) { - $content .= sprintf('at %s%s%s(%s)', $this->formatClass($trace['class']), $trace['type'], $trace['function'], $this->formatArgs($trace['args'])); - } - if (isset($trace['file']) && isset($trace['line'])) { - $content .= $this->formatPath($trace['file'], $trace['line']); - } - $content .= "
    \n
    \n"; - } - } catch (\Exception $e) { - // something nasty happened and we cannot throw an exception anymore - if ($this->debug) { - $e = FlattenException::create($e); - $title = sprintf('Exception thrown when handling an exception (%s: %s)', $e->getClass(), $this->escapeHtml($e->getMessage())); - } else { - $title = 'Whoops, looks like something went wrong.'; - } - } - - $symfonyGhostImageContents = $this->getSymfonyGhostAsSvg(); - - return << -
    -
    -

    $title

    -
    $symfonyGhostImageContents
    -
    -
    - - -
    - $content -
    -EOF; - } - - /** - * Gets the stylesheet associated with the given exception. - * - * @return string The stylesheet as a string - */ - public function getStylesheet(FlattenException $exception) - { - if (!$this->debug) { - return <<<'EOF' - body { background-color: #fff; color: #222; font: 16px/1.5 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; margin: 0; } - .container { margin: 30px; max-width: 600px; } - h1 { color: #dc3545; font-size: 24px; } -EOF; - } - - return <<<'EOF' - body { background-color: #F9F9F9; color: #222; font: 14px/1.4 Helvetica, Arial, sans-serif; margin: 0; padding-bottom: 45px; } - - a { cursor: pointer; text-decoration: none; } - a:hover { text-decoration: underline; } - abbr[title] { border-bottom: none; cursor: help; text-decoration: none; } - - code, pre { font: 13px/1.5 Consolas, Monaco, Menlo, "Ubuntu Mono", "Liberation Mono", monospace; } - - table, tr, th, td { background: #FFF; border-collapse: collapse; vertical-align: top; } - table { background: #FFF; border: 1px solid #E0E0E0; box-shadow: 0px 0px 1px rgba(128, 128, 128, .2); margin: 1em 0; width: 100%; } - table th, table td { border: solid #E0E0E0; border-width: 1px 0; padding: 8px 10px; } - table th { background-color: #E0E0E0; font-weight: bold; text-align: left; } - - .hidden-xs-down { display: none; } - .block { display: block; } - .break-long-words { -ms-word-break: break-all; word-break: break-all; word-break: break-word; -webkit-hyphens: auto; -moz-hyphens: auto; hyphens: auto; } - .text-muted { color: #999; } - - .container { max-width: 1024px; margin: 0 auto; padding: 0 15px; } - .container::after { content: ""; display: table; clear: both; } - - .exception-summary { background: #B0413E; border-bottom: 2px solid rgba(0, 0, 0, 0.1); border-top: 1px solid rgba(0, 0, 0, .3); flex: 0 0 auto; margin-bottom: 30px; } - - .exception-message-wrapper { display: flex; align-items: center; min-height: 70px; } - .exception-message { flex-grow: 1; padding: 30px 0; } - .exception-message, .exception-message a { color: #FFF; font-size: 21px; font-weight: 400; margin: 0; } - .exception-message.long { font-size: 18px; } - .exception-message a { border-bottom: 1px solid rgba(255, 255, 255, 0.5); font-size: inherit; text-decoration: none; } - .exception-message a:hover { border-bottom-color: #ffffff; } - - .exception-illustration { flex-basis: 111px; flex-shrink: 0; height: 66px; margin-left: 15px; opacity: .7; } - - .trace + .trace { margin-top: 30px; } - .trace-head .trace-class { color: #222; font-size: 18px; font-weight: bold; line-height: 1.3; margin: 0; position: relative; } - - .trace-message { font-size: 14px; font-weight: normal; margin: .5em 0 0; } - - .trace-file-path, .trace-file-path a { color: #222; margin-top: 3px; font-size: 13px; } - .trace-class { color: #B0413E; } - .trace-type { padding: 0 2px; } - .trace-method { color: #B0413E; font-weight: bold; } - .trace-arguments { color: #777; font-weight: normal; padding-left: 2px; } - - @media (min-width: 575px) { - .hidden-xs-down { display: initial; } - } -EOF; - } - - private function decorate(string $content, string $css): string - { - return << - - - - - - - - $content - - -EOF; - } - - private function formatClass(string $class): string - { - $parts = explode('\\', $class); - - return sprintf('%s', $class, array_pop($parts)); - } - - private function formatPath(string $path, int $line): string - { - $file = $this->escapeHtml(preg_match('#[^/\\\\]*+$#', $path, $file) ? $file[0] : $path); - $fmt = $this->fileLinkFormat ?: ini_get('xdebug.file_link_format') ?: get_cfg_var('xdebug.file_link_format'); - - if (!$fmt) { - return sprintf('in %s%s', $this->escapeHtml($path), $file, 0 < $line ? ' line '.$line : ''); - } - - if (\is_string($fmt)) { - $i = strpos($f = $fmt, '&', max(strrpos($f, '%f'), strrpos($f, '%l'))) ?: \strlen($f); - $fmt = [substr($f, 0, $i)] + preg_split('/&([^>]++)>/', substr($f, $i), -1, PREG_SPLIT_DELIM_CAPTURE); - - for ($i = 1; isset($fmt[$i]); ++$i) { - if (0 === strpos($path, $k = $fmt[$i++])) { - $path = substr_replace($path, $fmt[$i], 0, \strlen($k)); - break; - } - } - - $link = strtr($fmt[0], ['%f' => $path, '%l' => $line]); - } else { - try { - $link = $fmt->format($path, $line); - } catch (\Exception $e) { - return sprintf('in %s%s', $this->escapeHtml($path), $file, 0 < $line ? ' line '.$line : ''); - } - } - - return sprintf('in %s%s', $this->escapeHtml($link), $file, 0 < $line ? ' line '.$line : ''); - } - - /** - * Formats an array as a string. - */ - private function formatArgs(array $args): string - { - $result = []; - foreach ($args as $key => $item) { - if ('object' === $item[0]) { - $formattedValue = sprintf('object(%s)', $this->formatClass($item[1])); - } elseif ('array' === $item[0]) { - $formattedValue = sprintf('array(%s)', \is_array($item[1]) ? $this->formatArgs($item[1]) : $item[1]); - } elseif ('null' === $item[0]) { - $formattedValue = 'null'; - } elseif ('boolean' === $item[0]) { - $formattedValue = ''.strtolower(var_export($item[1], true)).''; - } elseif ('resource' === $item[0]) { - $formattedValue = 'resource'; - } else { - $formattedValue = str_replace("\n", '', $this->escapeHtml(var_export($item[1], true))); - } - - $result[] = \is_int($key) ? $formattedValue : sprintf("'%s' => %s", $this->escapeHtml($key), $formattedValue); - } - - return implode(', ', $result); - } - - /** - * HTML-encodes a string. - */ - private function escapeHtml(string $str): string - { - return htmlspecialchars($str, ENT_COMPAT | ENT_SUBSTITUTE, $this->charset); - } - - private function getSymfonyGhostAsSvg(): string - { - return ''.$this->addElementToGhost().''; - } - - private function addElementToGhost(): string - { - if (!isset(self::GHOST_ADDONS[date('m-d')])) { - return ''; - } - - return ''; - } -} diff --git a/paragonik-backend/vendor/symfony/debug/FatalErrorHandler/ClassNotFoundFatalErrorHandler.php b/paragonik-backend/vendor/symfony/debug/FatalErrorHandler/ClassNotFoundFatalErrorHandler.php deleted file mode 100644 index e15dfe4..0000000 --- a/paragonik-backend/vendor/symfony/debug/FatalErrorHandler/ClassNotFoundFatalErrorHandler.php +++ /dev/null @@ -1,199 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Debug\FatalErrorHandler; - -use Composer\Autoload\ClassLoader as ComposerClassLoader; -use Symfony\Component\ClassLoader\ClassLoader as SymfonyClassLoader; -use Symfony\Component\Debug\DebugClassLoader; -use Symfony\Component\Debug\Exception\ClassNotFoundException; -use Symfony\Component\Debug\Exception\FatalErrorException; - -@trigger_error(sprintf('The "%s" class is deprecated since Symfony 4.4, use "%s" instead.', ClassNotFoundFatalErrorHandler::class, \Symfony\Component\ErrorHandler\FatalErrorHandler\ClassNotFoundFatalErrorHandler::class), E_USER_DEPRECATED); - -/** - * ErrorHandler for classes that do not exist. - * - * @author Fabien Potencier - * - * @deprecated since Symfony 4.4, use Symfony\Component\ErrorHandler\FatalErrorHandler\ClassNotFoundFatalErrorHandler instead. - */ -class ClassNotFoundFatalErrorHandler implements FatalErrorHandlerInterface -{ - /** - * {@inheritdoc} - */ - public function handleError(array $error, FatalErrorException $exception) - { - $messageLen = \strlen($error['message']); - $notFoundSuffix = '\' not found'; - $notFoundSuffixLen = \strlen($notFoundSuffix); - if ($notFoundSuffixLen > $messageLen) { - return null; - } - - if (0 !== substr_compare($error['message'], $notFoundSuffix, -$notFoundSuffixLen)) { - return null; - } - - foreach (['class', 'interface', 'trait'] as $typeName) { - $prefix = ucfirst($typeName).' \''; - $prefixLen = \strlen($prefix); - if (0 !== strpos($error['message'], $prefix)) { - continue; - } - - $fullyQualifiedClassName = substr($error['message'], $prefixLen, -$notFoundSuffixLen); - if (false !== $namespaceSeparatorIndex = strrpos($fullyQualifiedClassName, '\\')) { - $className = substr($fullyQualifiedClassName, $namespaceSeparatorIndex + 1); - $namespacePrefix = substr($fullyQualifiedClassName, 0, $namespaceSeparatorIndex); - $message = sprintf('Attempted to load %s "%s" from namespace "%s".', $typeName, $className, $namespacePrefix); - $tail = ' for another namespace?'; - } else { - $className = $fullyQualifiedClassName; - $message = sprintf('Attempted to load %s "%s" from the global namespace.', $typeName, $className); - $tail = '?'; - } - - if ($candidates = $this->getClassCandidates($className)) { - $tail = array_pop($candidates).'"?'; - if ($candidates) { - $tail = ' for e.g. "'.implode('", "', $candidates).'" or "'.$tail; - } else { - $tail = ' for "'.$tail; - } - } - $message .= "\nDid you forget a \"use\" statement".$tail; - - return new ClassNotFoundException($message, $exception); - } - - return null; - } - - /** - * Tries to guess the full namespace for a given class name. - * - * By default, it looks for PSR-0 and PSR-4 classes registered via a Symfony or a Composer - * autoloader (that should cover all common cases). - * - * @param string $class A class name (without its namespace) - * - * @return array An array of possible fully qualified class names - */ - private function getClassCandidates(string $class): array - { - if (!\is_array($functions = spl_autoload_functions())) { - return []; - } - - // find Symfony and Composer autoloaders - $classes = []; - - foreach ($functions as $function) { - if (!\is_array($function)) { - continue; - } - // get class loaders wrapped by DebugClassLoader - if ($function[0] instanceof DebugClassLoader) { - $function = $function[0]->getClassLoader(); - - if (!\is_array($function)) { - continue; - } - } - - if ($function[0] instanceof ComposerClassLoader || $function[0] instanceof SymfonyClassLoader) { - foreach ($function[0]->getPrefixes() as $prefix => $paths) { - foreach ($paths as $path) { - $classes = array_merge($classes, $this->findClassInPath($path, $class, $prefix)); - } - } - } - if ($function[0] instanceof ComposerClassLoader) { - foreach ($function[0]->getPrefixesPsr4() as $prefix => $paths) { - foreach ($paths as $path) { - $classes = array_merge($classes, $this->findClassInPath($path, $class, $prefix)); - } - } - } - } - - return array_unique($classes); - } - - private function findClassInPath(string $path, string $class, string $prefix): array - { - if (!$path = realpath($path.'/'.strtr($prefix, '\\_', '//')) ?: realpath($path.'/'.\dirname(strtr($prefix, '\\_', '//'))) ?: realpath($path)) { - return []; - } - - $classes = []; - $filename = $class.'.php'; - foreach (new \RecursiveIteratorIterator(new \RecursiveDirectoryIterator($path, \RecursiveDirectoryIterator::SKIP_DOTS), \RecursiveIteratorIterator::LEAVES_ONLY) as $file) { - if ($filename == $file->getFileName() && $class = $this->convertFileToClass($path, $file->getPathName(), $prefix)) { - $classes[] = $class; - } - } - - return $classes; - } - - private function convertFileToClass(string $path, string $file, string $prefix): ?string - { - $candidates = [ - // namespaced class - $namespacedClass = str_replace([$path.\DIRECTORY_SEPARATOR, '.php', '/'], ['', '', '\\'], $file), - // namespaced class (with target dir) - $prefix.$namespacedClass, - // namespaced class (with target dir and separator) - $prefix.'\\'.$namespacedClass, - // PEAR class - str_replace('\\', '_', $namespacedClass), - // PEAR class (with target dir) - str_replace('\\', '_', $prefix.$namespacedClass), - // PEAR class (with target dir and separator) - str_replace('\\', '_', $prefix.'\\'.$namespacedClass), - ]; - - if ($prefix) { - $candidates = array_filter($candidates, function ($candidate) use ($prefix) { return 0 === strpos($candidate, $prefix); }); - } - - // We cannot use the autoloader here as most of them use require; but if the class - // is not found, the new autoloader call will require the file again leading to a - // "cannot redeclare class" error. - foreach ($candidates as $candidate) { - if ($this->classExists($candidate)) { - return $candidate; - } - } - - try { - require_once $file; - } catch (\Throwable $e) { - return null; - } - - foreach ($candidates as $candidate) { - if ($this->classExists($candidate)) { - return $candidate; - } - } - - return null; - } - - private function classExists(string $class): bool - { - return class_exists($class, false) || interface_exists($class, false) || trait_exists($class, false); - } -} diff --git a/paragonik-backend/vendor/symfony/debug/FatalErrorHandler/FatalErrorHandlerInterface.php b/paragonik-backend/vendor/symfony/debug/FatalErrorHandler/FatalErrorHandlerInterface.php deleted file mode 100644 index fbf2ae0..0000000 --- a/paragonik-backend/vendor/symfony/debug/FatalErrorHandler/FatalErrorHandlerInterface.php +++ /dev/null @@ -1,35 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Debug\FatalErrorHandler; - -use Symfony\Component\Debug\Exception\FatalErrorException; - -@trigger_error(sprintf('The "%s" class is deprecated since Symfony 4.4, use "%s" instead.', FatalErrorHandlerInterface::class, \Symfony\Component\ErrorHandler\FatalErrorHandler\FatalErrorHandlerInterface::class), E_USER_DEPRECATED); - -/** - * Attempts to convert fatal errors to exceptions. - * - * @author Fabien Potencier - * - * @deprecated since Symfony 4.4, use Symfony\Component\ErrorHandler\FatalErrorHandler\FatalErrorHandlerInterface instead. - */ -interface FatalErrorHandlerInterface -{ - /** - * Attempts to convert an error into an exception. - * - * @param array $error An array as returned by error_get_last() - * - * @return FatalErrorException|null A FatalErrorException instance if the class is able to convert the error, null otherwise - */ - public function handleError(array $error, FatalErrorException $exception); -} diff --git a/paragonik-backend/vendor/symfony/debug/FatalErrorHandler/UndefinedFunctionFatalErrorHandler.php b/paragonik-backend/vendor/symfony/debug/FatalErrorHandler/UndefinedFunctionFatalErrorHandler.php deleted file mode 100644 index 67b7ddd..0000000 --- a/paragonik-backend/vendor/symfony/debug/FatalErrorHandler/UndefinedFunctionFatalErrorHandler.php +++ /dev/null @@ -1,88 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Debug\FatalErrorHandler; - -use Symfony\Component\Debug\Exception\FatalErrorException; -use Symfony\Component\Debug\Exception\UndefinedFunctionException; - -@trigger_error(sprintf('The "%s" class is deprecated since Symfony 4.4, use "%s" instead.', UndefinedFunctionFatalErrorHandler::class, \Symfony\Component\ErrorHandler\ErrorEnhancer\UndefinedFunctionErrorEnhancer::class), E_USER_DEPRECATED); - -/** - * ErrorHandler for undefined functions. - * - * @author Fabien Potencier - * - * @deprecated since Symfony 4.4, use Symfony\Component\ErrorHandler\ErrorEnhancer\UndefinedFunctionErrorEnhancer instead. - */ -class UndefinedFunctionFatalErrorHandler implements FatalErrorHandlerInterface -{ - /** - * {@inheritdoc} - */ - public function handleError(array $error, FatalErrorException $exception) - { - $messageLen = \strlen($error['message']); - $notFoundSuffix = '()'; - $notFoundSuffixLen = \strlen($notFoundSuffix); - if ($notFoundSuffixLen > $messageLen) { - return null; - } - - if (0 !== substr_compare($error['message'], $notFoundSuffix, -$notFoundSuffixLen)) { - return null; - } - - $prefix = 'Call to undefined function '; - $prefixLen = \strlen($prefix); - if (0 !== strpos($error['message'], $prefix)) { - return null; - } - - $fullyQualifiedFunctionName = substr($error['message'], $prefixLen, -$notFoundSuffixLen); - if (false !== $namespaceSeparatorIndex = strrpos($fullyQualifiedFunctionName, '\\')) { - $functionName = substr($fullyQualifiedFunctionName, $namespaceSeparatorIndex + 1); - $namespacePrefix = substr($fullyQualifiedFunctionName, 0, $namespaceSeparatorIndex); - $message = sprintf('Attempted to call function "%s" from namespace "%s".', $functionName, $namespacePrefix); - } else { - $functionName = $fullyQualifiedFunctionName; - $message = sprintf('Attempted to call function "%s" from the global namespace.', $functionName); - } - - $candidates = []; - foreach (get_defined_functions() as $type => $definedFunctionNames) { - foreach ($definedFunctionNames as $definedFunctionName) { - if (false !== $namespaceSeparatorIndex = strrpos($definedFunctionName, '\\')) { - $definedFunctionNameBasename = substr($definedFunctionName, $namespaceSeparatorIndex + 1); - } else { - $definedFunctionNameBasename = $definedFunctionName; - } - - if ($definedFunctionNameBasename === $functionName) { - $candidates[] = '\\'.$definedFunctionName; - } - } - } - - if ($candidates) { - sort($candidates); - $last = array_pop($candidates).'"?'; - if ($candidates) { - $candidates = 'e.g. "'.implode('", "', $candidates).'" or "'.$last; - } else { - $candidates = '"'.$last; - } - $message .= "\nDid you mean to call ".$candidates; - } - - return new UndefinedFunctionException($message, $exception); - } -} diff --git a/paragonik-backend/vendor/symfony/debug/FatalErrorHandler/UndefinedMethodFatalErrorHandler.php b/paragonik-backend/vendor/symfony/debug/FatalErrorHandler/UndefinedMethodFatalErrorHandler.php deleted file mode 100644 index 8ee359a..0000000 --- a/paragonik-backend/vendor/symfony/debug/FatalErrorHandler/UndefinedMethodFatalErrorHandler.php +++ /dev/null @@ -1,70 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Debug\FatalErrorHandler; - -use Symfony\Component\Debug\Exception\FatalErrorException; -use Symfony\Component\Debug\Exception\UndefinedMethodException; - -@trigger_error(sprintf('The "%s" class is deprecated since Symfony 4.4, use "%s" instead.', UndefinedMethodFatalErrorHandler::class, \Symfony\Component\ErrorHandler\ErrorEnhancer\UndefinedMethodErrorEnhancer::class), E_USER_DEPRECATED); - -/** - * ErrorHandler for undefined methods. - * - * @author Grégoire Pineau - * - * @deprecated since Symfony 4.4, use Symfony\Component\ErrorHandler\ErrorEnhancer\UndefinedMethodErrorEnhancer instead. - */ -class UndefinedMethodFatalErrorHandler implements FatalErrorHandlerInterface -{ - /** - * {@inheritdoc} - */ - public function handleError(array $error, FatalErrorException $exception) - { - preg_match('/^Call to undefined method (.*)::(.*)\(\)$/', $error['message'], $matches); - if (!$matches) { - return null; - } - - $className = $matches[1]; - $methodName = $matches[2]; - - $message = sprintf('Attempted to call an undefined method named "%s" of class "%s".', $methodName, $className); - - if (!class_exists($className) || null === $methods = get_class_methods($className)) { - // failed to get the class or its methods on which an unknown method was called (for example on an anonymous class) - return new UndefinedMethodException($message, $exception); - } - - $candidates = []; - foreach ($methods as $definedMethodName) { - $lev = levenshtein($methodName, $definedMethodName); - if ($lev <= \strlen($methodName) / 3 || false !== strpos($definedMethodName, $methodName)) { - $candidates[] = $definedMethodName; - } - } - - if ($candidates) { - sort($candidates); - $last = array_pop($candidates).'"?'; - if ($candidates) { - $candidates = 'e.g. "'.implode('", "', $candidates).'" or "'.$last; - } else { - $candidates = '"'.$last; - } - - $message .= "\nDid you mean to call ".$candidates; - } - - return new UndefinedMethodException($message, $exception); - } -} diff --git a/paragonik-backend/vendor/symfony/debug/LICENSE b/paragonik-backend/vendor/symfony/debug/LICENSE deleted file mode 100644 index a677f43..0000000 --- a/paragonik-backend/vendor/symfony/debug/LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 2004-2019 Fabien Potencier - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is furnished -to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/paragonik-backend/vendor/symfony/debug/README.md b/paragonik-backend/vendor/symfony/debug/README.md deleted file mode 100644 index a1d1617..0000000 --- a/paragonik-backend/vendor/symfony/debug/README.md +++ /dev/null @@ -1,13 +0,0 @@ -Debug Component -=============== - -The Debug component provides tools to ease debugging PHP code. - -Resources ---------- - - * [Documentation](https://symfony.com/doc/current/components/debug/index.html) - * [Contributing](https://symfony.com/doc/current/contributing/index.html) - * [Report issues](https://github.com/symfony/symfony/issues) and - [send Pull Requests](https://github.com/symfony/symfony/pulls) - in the [main Symfony repository](https://github.com/symfony/symfony) diff --git a/paragonik-backend/vendor/symfony/debug/composer.json b/paragonik-backend/vendor/symfony/debug/composer.json deleted file mode 100644 index 96fe201..0000000 --- a/paragonik-backend/vendor/symfony/debug/composer.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "name": "symfony/debug", - "type": "library", - "description": "Symfony Debug Component", - "keywords": [], - "homepage": "https://symfony.com", - "license": "MIT", - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "require": { - "php": "^7.1.3", - "psr/log": "~1.0" - }, - "conflict": { - "symfony/http-kernel": "<3.4" - }, - "require-dev": { - "symfony/http-kernel": "^3.4|^4.0|^5.0" - }, - "autoload": { - "psr-4": { "Symfony\\Component\\Debug\\": "" }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "minimum-stability": "dev", - "extra": { - "branch-alias": { - "dev-master": "4.4-dev" - } - } -} diff --git a/paragonik-backend/vendor/symfony/error-handler/.gitattributes b/paragonik-backend/vendor/symfony/error-handler/.gitattributes deleted file mode 100644 index ebb9287..0000000 --- a/paragonik-backend/vendor/symfony/error-handler/.gitattributes +++ /dev/null @@ -1,3 +0,0 @@ -/Tests export-ignore -/phpunit.xml.dist export-ignore -/.gitignore export-ignore diff --git a/paragonik-backend/vendor/symfony/error-handler/BufferingLogger.php b/paragonik-backend/vendor/symfony/error-handler/BufferingLogger.php deleted file mode 100644 index 16e433d..0000000 --- a/paragonik-backend/vendor/symfony/error-handler/BufferingLogger.php +++ /dev/null @@ -1,58 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\ErrorHandler; - -use Psr\Log\AbstractLogger; - -/** - * A buffering logger that stacks logs for later. - * - * @author Nicolas Grekas - */ -class BufferingLogger extends AbstractLogger -{ - private $logs = []; - - public function log($level, $message, array $context = []): void - { - $this->logs[] = [$level, $message, $context]; - } - - public function cleanLogs(): array - { - $logs = $this->logs; - $this->logs = []; - - return $logs; - } - - public function __destruct() - { - foreach ($this->logs as [$level, $message, $context]) { - if (false !== strpos($message, '{')) { - foreach ($context as $key => $val) { - if (null === $val || is_scalar($val) || (\is_object($val) && \is_callable([$val, '__toString']))) { - $message = str_replace("{{$key}}", $val, $message); - } elseif ($val instanceof \DateTimeInterface) { - $message = str_replace("{{$key}}", $val->format(\DateTime::RFC3339), $message); - } elseif (\is_object($val)) { - $message = str_replace("{{$key}}", '[object '.\get_class($val).']', $message); - } else { - $message = str_replace("{{$key}}", '['.\gettype($val).']', $message); - } - } - } - - error_log(sprintf('%s [%s] %s', date(\DateTime::RFC3339), $level, $message)); - } - } -} diff --git a/paragonik-backend/vendor/symfony/error-handler/CHANGELOG.md b/paragonik-backend/vendor/symfony/error-handler/CHANGELOG.md deleted file mode 100644 index c7c245a..0000000 --- a/paragonik-backend/vendor/symfony/error-handler/CHANGELOG.md +++ /dev/null @@ -1,8 +0,0 @@ -CHANGELOG -========= - -4.4.0 ------ - - * added the component - * added `ErrorHandler::call()` method utility to turn any PHP error into `\ErrorException` diff --git a/paragonik-backend/vendor/symfony/error-handler/Debug.php b/paragonik-backend/vendor/symfony/error-handler/Debug.php deleted file mode 100644 index f95334e..0000000 --- a/paragonik-backend/vendor/symfony/error-handler/Debug.php +++ /dev/null @@ -1,36 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\ErrorHandler; - -/** - * Registers all the debug tools. - * - * @author Fabien Potencier - */ -class Debug -{ - public static function enable(): ErrorHandler - { - error_reporting(-1); - - if (!\in_array(\PHP_SAPI, ['cli', 'phpdbg'], true)) { - ini_set('display_errors', 0); - } elseif (!filter_var(ini_get('log_errors'), FILTER_VALIDATE_BOOLEAN) || ini_get('error_log')) { - // CLI - display errors only if they're not already logged to STDERR - ini_set('display_errors', 1); - } - - DebugClassLoader::enable(); - - return ErrorHandler::register(new ErrorHandler(new BufferingLogger())); - } -} diff --git a/paragonik-backend/vendor/symfony/error-handler/DebugClassLoader.php b/paragonik-backend/vendor/symfony/error-handler/DebugClassLoader.php deleted file mode 100644 index cd41909..0000000 --- a/paragonik-backend/vendor/symfony/error-handler/DebugClassLoader.php +++ /dev/null @@ -1,1073 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\ErrorHandler; - -use Doctrine\Common\Persistence\Proxy; -use PHPUnit\Framework\MockObject\Matcher\StatelessInvocation; -use PHPUnit\Framework\MockObject\MockObject; -use Prophecy\Prophecy\ProphecySubjectInterface; -use ProxyManager\Proxy\ProxyInterface; - -/** - * Autoloader checking if the class is really defined in the file found. - * - * The ClassLoader will wrap all registered autoloaders - * and will throw an exception if a file is found but does - * not declare the class. - * - * It can also patch classes to turn docblocks into actual return types. - * This behavior is controlled by the SYMFONY_PATCH_TYPE_DECLARATIONS env var, - * which is a url-encoded array with the follow parameters: - * - "force": any value enables deprecation notices - can be any of: - * - "docblock" to patch only docblock annotations - * - "object" to turn union types to the "object" type when possible (not recommended) - * - "1" to add all possible return types including magic methods - * - "0" to add possible return types excluding magic methods - * - "php": the target version of PHP - e.g. "7.1" doesn't generate "object" types - * - "deprecations": "1" to trigger a deprecation notice when a child class misses a - * return type while the parent declares an "@return" annotation - * - * Note that patching doesn't care about any coding style so you'd better to run - * php-cs-fixer after, with rules "phpdoc_trim_consecutive_blank_line_separation" - * and "no_superfluous_phpdoc_tags" enabled typically. - * - * @author Fabien Potencier - * @author Christophe Coevoet - * @author Nicolas Grekas - * @author Guilhem Niot - */ -class DebugClassLoader -{ - private const SPECIAL_RETURN_TYPES = [ - 'mixed' => 'mixed', - 'void' => 'void', - 'null' => 'null', - 'resource' => 'resource', - 'static' => 'object', - '$this' => 'object', - 'boolean' => 'bool', - 'true' => 'bool', - 'false' => 'bool', - 'integer' => 'int', - 'array' => 'array', - 'bool' => 'bool', - 'callable' => 'callable', - 'float' => 'float', - 'int' => 'int', - 'iterable' => 'iterable', - 'object' => 'object', - 'string' => 'string', - 'self' => 'self', - 'parent' => 'parent', - ]; - - private const BUILTIN_RETURN_TYPES = [ - 'void' => true, - 'array' => true, - 'bool' => true, - 'callable' => true, - 'float' => true, - 'int' => true, - 'iterable' => true, - 'object' => true, - 'string' => true, - 'self' => true, - 'parent' => true, - ]; - - private const MAGIC_METHODS = [ - '__set' => 'void', - '__isset' => 'bool', - '__unset' => 'void', - '__sleep' => 'array', - '__wakeup' => 'void', - '__toString' => 'string', - '__clone' => 'void', - '__debugInfo' => 'array', - '__serialize' => 'array', - '__unserialize' => 'void', - ]; - - private const INTERNAL_TYPES = [ - 'ArrayAccess' => [ - 'offsetExists' => 'bool', - 'offsetSet' => 'void', - 'offsetUnset' => 'void', - ], - 'Countable' => [ - 'count' => 'int', - ], - 'Iterator' => [ - 'next' => 'void', - 'valid' => 'bool', - 'rewind' => 'void', - ], - 'IteratorAggregate' => [ - 'getIterator' => '\Traversable', - ], - 'OuterIterator' => [ - 'getInnerIterator' => '\Iterator', - ], - 'RecursiveIterator' => [ - 'hasChildren' => 'bool', - ], - 'SeekableIterator' => [ - 'seek' => 'void', - ], - 'Serializable' => [ - 'serialize' => 'string', - 'unserialize' => 'void', - ], - 'SessionHandlerInterface' => [ - 'open' => 'bool', - 'close' => 'bool', - 'read' => 'string', - 'write' => 'bool', - 'destroy' => 'bool', - 'gc' => 'bool', - ], - 'SessionIdInterface' => [ - 'create_sid' => 'string', - ], - 'SessionUpdateTimestampHandlerInterface' => [ - 'validateId' => 'bool', - 'updateTimestamp' => 'bool', - ], - 'Throwable' => [ - 'getMessage' => 'string', - 'getCode' => 'int', - 'getFile' => 'string', - 'getLine' => 'int', - 'getTrace' => 'array', - 'getPrevious' => '?\Throwable', - 'getTraceAsString' => 'string', - ], - ]; - - private $classLoader; - private $isFinder; - private $loaded = []; - private $patchTypes; - - private static $caseCheck; - private static $checkedClasses = []; - private static $final = []; - private static $finalMethods = []; - private static $deprecated = []; - private static $internal = []; - private static $internalMethods = []; - private static $annotatedParameters = []; - private static $darwinCache = ['/' => ['/', []]]; - private static $method = []; - private static $returnTypes = []; - private static $methodTraits = []; - private static $fileOffsets = []; - - public function __construct(callable $classLoader) - { - $this->classLoader = $classLoader; - $this->isFinder = \is_array($classLoader) && method_exists($classLoader[0], 'findFile'); - parse_str(getenv('SYMFONY_PATCH_TYPE_DECLARATIONS') ?: '', $this->patchTypes); - $this->patchTypes += [ - 'force' => null, - 'php' => null, - 'deprecations' => false, - ]; - - if (!isset(self::$caseCheck)) { - $file = file_exists(__FILE__) ? __FILE__ : rtrim(realpath('.'), \DIRECTORY_SEPARATOR); - $i = strrpos($file, \DIRECTORY_SEPARATOR); - $dir = substr($file, 0, 1 + $i); - $file = substr($file, 1 + $i); - $test = strtoupper($file) === $file ? strtolower($file) : strtoupper($file); - $test = realpath($dir.$test); - - if (false === $test || false === $i) { - // filesystem is case sensitive - self::$caseCheck = 0; - } elseif (substr($test, -\strlen($file)) === $file) { - // filesystem is case insensitive and realpath() normalizes the case of characters - self::$caseCheck = 1; - } elseif (false !== stripos(PHP_OS, 'darwin')) { - // on MacOSX, HFS+ is case insensitive but realpath() doesn't normalize the case of characters - self::$caseCheck = 2; - } else { - // filesystem case checks failed, fallback to disabling them - self::$caseCheck = 0; - } - } - } - - /** - * Gets the wrapped class loader. - * - * @return callable The wrapped class loader - */ - public function getClassLoader(): callable - { - return $this->classLoader; - } - - /** - * Wraps all autoloaders. - */ - public static function enable(): void - { - // Ensures we don't hit https://bugs.php.net/42098 - class_exists('Symfony\Component\ErrorHandler\ErrorHandler'); - class_exists('Psr\Log\LogLevel'); - - if (!\is_array($functions = spl_autoload_functions())) { - return; - } - - foreach ($functions as $function) { - spl_autoload_unregister($function); - } - - foreach ($functions as $function) { - if (!\is_array($function) || !$function[0] instanceof self) { - $function = [new static($function), 'loadClass']; - } - - spl_autoload_register($function); - } - } - - /** - * Disables the wrapping. - */ - public static function disable(): void - { - if (!\is_array($functions = spl_autoload_functions())) { - return; - } - - foreach ($functions as $function) { - spl_autoload_unregister($function); - } - - foreach ($functions as $function) { - if (\is_array($function) && $function[0] instanceof self) { - $function = $function[0]->getClassLoader(); - } - - spl_autoload_register($function); - } - } - - public static function checkClasses(): bool - { - if (!\is_array($functions = spl_autoload_functions())) { - return false; - } - - $loader = null; - - foreach ($functions as $function) { - if (\is_array($function) && $function[0] instanceof self) { - $loader = $function[0]; - break; - } - } - - if (null === $loader) { - return false; - } - - static $offsets = [ - 'get_declared_interfaces' => 0, - 'get_declared_traits' => 0, - 'get_declared_classes' => 0, - ]; - - foreach ($offsets as $getSymbols => $i) { - $symbols = $getSymbols(); - - for (; $i < \count($symbols); ++$i) { - if (!is_subclass_of($symbols[$i], MockObject::class) - && !is_subclass_of($symbols[$i], ProphecySubjectInterface::class) - && !is_subclass_of($symbols[$i], Proxy::class) - && !is_subclass_of($symbols[$i], ProxyInterface::class) - ) { - $loader->checkClass($symbols[$i]); - } - } - - $offsets[$getSymbols] = $i; - } - - return true; - } - - public function findFile(string $class): ?string - { - return $this->isFinder ? ($this->classLoader[0]->findFile($class) ?: null) : null; - } - - /** - * Loads the given class or interface. - * - * @throws \RuntimeException - */ - public function loadClass(string $class): void - { - $e = error_reporting(error_reporting() | E_PARSE | E_ERROR | E_CORE_ERROR | E_COMPILE_ERROR); - - try { - if ($this->isFinder && !isset($this->loaded[$class])) { - $this->loaded[$class] = true; - if (!$file = $this->classLoader[0]->findFile($class) ?: '') { - // no-op - } elseif (\function_exists('opcache_is_script_cached') && @opcache_is_script_cached($file)) { - include $file; - - return; - } elseif (false === include $file) { - return; - } - } else { - ($this->classLoader)($class); - $file = ''; - } - } finally { - error_reporting($e); - } - - $this->checkClass($class, $file); - } - - private function checkClass(string $class, string $file = null): void - { - $exists = null === $file || class_exists($class, false) || interface_exists($class, false) || trait_exists($class, false); - - if (null !== $file && $class && '\\' === $class[0]) { - $class = substr($class, 1); - } - - if ($exists) { - if (isset(self::$checkedClasses[$class])) { - return; - } - self::$checkedClasses[$class] = true; - - $refl = new \ReflectionClass($class); - if (null === $file && $refl->isInternal()) { - return; - } - $name = $refl->getName(); - - if ($name !== $class && 0 === strcasecmp($name, $class)) { - throw new \RuntimeException(sprintf('Case mismatch between loaded and declared class names: "%s" vs "%s".', $class, $name)); - } - - $deprecations = $this->checkAnnotations($refl, $name); - - foreach ($deprecations as $message) { - @trigger_error($message, E_USER_DEPRECATED); - } - } - - if (!$file) { - return; - } - - if (!$exists) { - if (false !== strpos($class, '/')) { - throw new \RuntimeException(sprintf('Trying to autoload a class with an invalid name "%s". Be careful that the namespace separator is "\" in PHP, not "/".', $class)); - } - - throw new \RuntimeException(sprintf('The autoloader expected class "%s" to be defined in file "%s". The file was found but the class was not in it, the class name or namespace probably has a typo.', $class, $file)); - } - - if (self::$caseCheck && $message = $this->checkCase($refl, $file, $class)) { - throw new \RuntimeException(sprintf('Case mismatch between class and real file names: "%s" vs "%s" in "%s".', $message[0], $message[1], $message[2])); - } - } - - public function checkAnnotations(\ReflectionClass $refl, string $class): array - { - if ( - 'Symfony\Bridge\PhpUnit\Legacy\SymfonyTestsListenerForV7' === $class - || 'Symfony\Bridge\PhpUnit\Legacy\SymfonyTestsListenerForV6' === $class - || 'Test\Symfony\Component\Debug\Tests' === $refl->getNamespaceName() - ) { - return []; - } - $deprecations = []; - - $className = isset($class[15]) && "\0" === $class[15] && 0 === strpos($class, "class@anonymous\x00") ? get_parent_class($class).'@anonymous' : $class; - - // Don't trigger deprecations for classes in the same vendor - if ($class !== $className) { - $vendor = preg_match('/^namespace ([^;\\\\\s]++)[;\\\\]/m', @file_get_contents($refl->getFileName()), $vendor) ? $vendor[1].'\\' : ''; - $vendorLen = \strlen($vendor); - } elseif (2 > $vendorLen = 1 + (strpos($class, '\\') ?: strpos($class, '_'))) { - $vendorLen = 0; - $vendor = ''; - } else { - $vendor = str_replace('_', '\\', substr($class, 0, $vendorLen)); - } - - // Detect annotations on the class - if (false !== $doc = $refl->getDocComment()) { - foreach (['final', 'deprecated', 'internal'] as $annotation) { - if (false !== strpos($doc, $annotation) && preg_match('#\n\s+\* @'.$annotation.'(?:( .+?)\.?)?\r?\n\s+\*(?: @|/$|\r?\n)#s', $doc, $notice)) { - self::${$annotation}[$class] = isset($notice[1]) ? preg_replace('#\.?\r?\n( \*)? *(?= |\r?\n|$)#', '', $notice[1]) : ''; - } - } - - if ($refl->isInterface() && false !== strpos($doc, 'method') && preg_match_all('#\n \* @method\s+(static\s+)?+(?:[\w\|&\[\]\\\]+\s+)?(\w+(?:\s*\([^\)]*\))?)+(.+?([[:punct:]]\s*)?)?(?=\r?\n \*(?: @|/$|\r?\n))#', $doc, $notice, PREG_SET_ORDER)) { - foreach ($notice as $method) { - $static = '' !== $method[1]; - $name = $method[2]; - $description = $method[3] ?? null; - if (false === strpos($name, '(')) { - $name .= '()'; - } - if (null !== $description) { - $description = trim($description); - if (!isset($method[4])) { - $description .= '.'; - } - } - self::$method[$class][] = [$class, $name, $static, $description]; - } - } - } - - $parent = get_parent_class($class) ?: null; - $parentAndOwnInterfaces = $this->getOwnInterfaces($class, $parent); - if ($parent) { - $parentAndOwnInterfaces[$parent] = $parent; - - if (!isset(self::$checkedClasses[$parent])) { - $this->checkClass($parent); - } - - if (isset(self::$final[$parent])) { - $deprecations[] = sprintf('The "%s" class is considered final%s. It may change without further notice as of its next major version. You should not extend it from "%s".', $parent, self::$final[$parent], $className); - } - } - - // Detect if the parent is annotated - foreach ($parentAndOwnInterfaces + class_uses($class, false) as $use) { - if (!isset(self::$checkedClasses[$use])) { - $this->checkClass($use); - } - if (isset(self::$deprecated[$use]) && strncmp($vendor, str_replace('_', '\\', $use), $vendorLen) && !isset(self::$deprecated[$class])) { - $type = class_exists($class, false) ? 'class' : (interface_exists($class, false) ? 'interface' : 'trait'); - $verb = class_exists($use, false) || interface_exists($class, false) ? 'extends' : (interface_exists($use, false) ? 'implements' : 'uses'); - - $deprecations[] = sprintf('The "%s" %s %s "%s" that is deprecated%s.', $className, $type, $verb, $use, self::$deprecated[$use]); - } - if (isset(self::$internal[$use]) && strncmp($vendor, str_replace('_', '\\', $use), $vendorLen)) { - $deprecations[] = sprintf('The "%s" %s is considered internal%s. It may change without further notice. You should not use it from "%s".', $use, class_exists($use, false) ? 'class' : (interface_exists($use, false) ? 'interface' : 'trait'), self::$internal[$use], $className); - } - if (isset(self::$method[$use])) { - if ($refl->isAbstract()) { - if (isset(self::$method[$class])) { - self::$method[$class] = array_merge(self::$method[$class], self::$method[$use]); - } else { - self::$method[$class] = self::$method[$use]; - } - } elseif (!$refl->isInterface()) { - $hasCall = $refl->hasMethod('__call'); - $hasStaticCall = $refl->hasMethod('__callStatic'); - foreach (self::$method[$use] as $method) { - list($interface, $name, $static, $description) = $method; - if ($static ? $hasStaticCall : $hasCall) { - continue; - } - $realName = substr($name, 0, strpos($name, '(')); - if (!$refl->hasMethod($realName) || !($methodRefl = $refl->getMethod($realName))->isPublic() || ($static && !$methodRefl->isStatic()) || (!$static && $methodRefl->isStatic())) { - $deprecations[] = sprintf('Class "%s" should implement method "%s::%s"%s', $className, ($static ? 'static ' : '').$interface, $name, null == $description ? '.' : ': '.$description); - } - } - } - } - } - - if (trait_exists($class)) { - $file = $refl->getFileName(); - - foreach ($refl->getMethods() as $method) { - if ($method->getFileName() === $file) { - self::$methodTraits[$file][$method->getStartLine()] = $class; - } - } - - return $deprecations; - } - - // Inherit @final, @internal, @param and @return annotations for methods - self::$finalMethods[$class] = []; - self::$internalMethods[$class] = []; - self::$annotatedParameters[$class] = []; - self::$returnTypes[$class] = []; - foreach ($parentAndOwnInterfaces as $use) { - foreach (['finalMethods', 'internalMethods', 'annotatedParameters', 'returnTypes'] as $property) { - if (isset(self::${$property}[$use])) { - self::${$property}[$class] = self::${$property}[$class] ? self::${$property}[$use] + self::${$property}[$class] : self::${$property}[$use]; - } - } - - if (null !== (self::INTERNAL_TYPES[$use] ?? null)) { - foreach (self::INTERNAL_TYPES[$use] as $method => $returnType) { - if ('void' !== $returnType) { - self::$returnTypes[$class] += [$method => [$returnType, $returnType, $class, '']]; - } - } - } - } - - foreach ($refl->getMethods() as $method) { - if ($method->class !== $class) { - continue; - } - - if (null === $ns = self::$methodTraits[$method->getFileName()][$method->getStartLine()] ?? null) { - $ns = $vendor; - $len = $vendorLen; - } elseif (2 > $len = 1 + (strpos($ns, '\\') ?: strpos($ns, '_'))) { - $len = 0; - $ns = ''; - } else { - $ns = str_replace('_', '\\', substr($ns, 0, $len)); - } - - if ($parent && isset(self::$finalMethods[$parent][$method->name])) { - list($declaringClass, $message) = self::$finalMethods[$parent][$method->name]; - $deprecations[] = sprintf('The "%s::%s()" method is considered final%s. It may change without further notice as of its next major version. You should not extend it from "%s".', $declaringClass, $method->name, $message, $className); - } - - if (isset(self::$internalMethods[$class][$method->name])) { - list($declaringClass, $message) = self::$internalMethods[$class][$method->name]; - if (strncmp($ns, $declaringClass, $len)) { - $deprecations[] = sprintf('The "%s::%s()" method is considered internal%s. It may change without further notice. You should not extend it from "%s".', $declaringClass, $method->name, $message, $className); - } - } - - // To read method annotations - $doc = $method->getDocComment(); - - if (isset(self::$annotatedParameters[$class][$method->name])) { - $definedParameters = []; - foreach ($method->getParameters() as $parameter) { - $definedParameters[$parameter->name] = true; - } - - foreach (self::$annotatedParameters[$class][$method->name] as $parameterName => $deprecation) { - if (!isset($definedParameters[$parameterName]) && !($doc && preg_match("/\\n\\s+\\* @param +((?(?!callable *\().*?|callable *\(.*\).*?))(?<= )\\\${$parameterName}\\b/", $doc))) { - $deprecations[] = sprintf($deprecation, $className); - } - } - } - - $forcePatchTypes = $this->patchTypes['force']; - - if ($canAddReturnType = null !== $forcePatchTypes && false === strpos($method->getFileName(), \DIRECTORY_SEPARATOR.'vendor'.\DIRECTORY_SEPARATOR)) { - if ('void' !== (self::MAGIC_METHODS[$method->name] ?? 'void')) { - $this->patchTypes['force'] = $forcePatchTypes ?: 'docblock'; - } - - $canAddReturnType = false !== strpos($refl->getFileName(), \DIRECTORY_SEPARATOR.'Tests'.\DIRECTORY_SEPARATOR) - || $refl->isFinal() - || $method->isFinal() - || $method->isPrivate() - || ('' === (self::$internal[$class] ?? null) && !$refl->isAbstract()) - || '' === (self::$final[$class] ?? null) - || preg_match('/@(final|internal)$/m', $doc) - ; - } - - if (null !== ($returnType = self::$returnTypes[$class][$method->name] ?? self::MAGIC_METHODS[$method->name] ?? null) && !$method->hasReturnType() && !($doc && preg_match('/\n\s+\* @return +(\S+)/', $doc))) { - list($normalizedType, $returnType, $declaringClass, $declaringFile) = \is_string($returnType) ? [$returnType, $returnType, '', ''] : $returnType; - - if ('void' === $normalizedType) { - $canAddReturnType = false; - } - - if ($canAddReturnType && 'docblock' !== $this->patchTypes['force']) { - $this->patchMethod($method, $returnType, $declaringFile, $normalizedType); - } - - if (strncmp($ns, $declaringClass, $len)) { - if ($canAddReturnType && 'docblock' === $this->patchTypes['force'] && false === strpos($method->getFileName(), \DIRECTORY_SEPARATOR.'vendor'.\DIRECTORY_SEPARATOR)) { - $this->patchMethod($method, $returnType, $declaringFile, $normalizedType); - } elseif ('' !== $declaringClass && $this->patchTypes['deprecations']) { - $deprecations[] = sprintf('Method "%s::%s()" will return "%s" as of its next major version. Doing the same in child class "%s" will be required when upgrading.', $declaringClass, $method->name, $normalizedType, $className); - } - } - } - - if (!$doc) { - $this->patchTypes['force'] = $forcePatchTypes; - - continue; - } - - $matches = []; - - if (!$method->hasReturnType() && ((false !== strpos($doc, '@return') && preg_match('/\n\s+\* @return +(\S+)/', $doc, $matches)) || 'void' !== (self::MAGIC_METHODS[$method->name] ?? 'void'))) { - $matches = $matches ?: [1 => self::MAGIC_METHODS[$method->name]]; - $this->setReturnType($matches[1], $method, $parent); - - if (isset(self::$returnTypes[$class][$method->name][0]) && $canAddReturnType) { - $this->fixReturnStatements($method, self::$returnTypes[$class][$method->name][0]); - } - - if ($method->isPrivate()) { - unset(self::$returnTypes[$class][$method->name]); - } - } - - $this->patchTypes['force'] = $forcePatchTypes; - - if ($method->isPrivate()) { - continue; - } - - $finalOrInternal = false; - - foreach (['final', 'internal'] as $annotation) { - if (false !== strpos($doc, $annotation) && preg_match('#\n\s+\* @'.$annotation.'(?:( .+?)\.?)?\r?\n\s+\*(?: @|/$|\r?\n)#s', $doc, $notice)) { - $message = isset($notice[1]) ? preg_replace('#\.?\r?\n( \*)? *(?= |\r?\n|$)#', '', $notice[1]) : ''; - self::${$annotation.'Methods'}[$class][$method->name] = [$class, $message]; - $finalOrInternal = true; - } - } - - if ($finalOrInternal || $method->isConstructor() || false === strpos($doc, '@param') || StatelessInvocation::class === $class) { - continue; - } - if (!preg_match_all('#\n\s+\* @param +((?(?!callable *\().*?|callable *\(.*\).*?))(?<= )\$([a-zA-Z0-9_\x7f-\xff]++)#', $doc, $matches, PREG_SET_ORDER)) { - continue; - } - if (!isset(self::$annotatedParameters[$class][$method->name])) { - $definedParameters = []; - foreach ($method->getParameters() as $parameter) { - $definedParameters[$parameter->name] = true; - } - } - foreach ($matches as list(, $parameterType, $parameterName)) { - if (!isset($definedParameters[$parameterName])) { - $parameterType = trim($parameterType); - self::$annotatedParameters[$class][$method->name][$parameterName] = sprintf('The "%%s::%s()" method will require a new "%s$%s" argument in the next major version of its parent class "%s", not defining it is deprecated.', $method->name, $parameterType ? $parameterType.' ' : '', $parameterName, $className); - } - } - } - - return $deprecations; - } - - public function checkCase(\ReflectionClass $refl, string $file, string $class): ?array - { - $real = explode('\\', $class.strrchr($file, '.')); - $tail = explode(\DIRECTORY_SEPARATOR, str_replace('/', \DIRECTORY_SEPARATOR, $file)); - - $i = \count($tail) - 1; - $j = \count($real) - 1; - - while (isset($tail[$i], $real[$j]) && $tail[$i] === $real[$j]) { - --$i; - --$j; - } - - array_splice($tail, 0, $i + 1); - - if (!$tail) { - return null; - } - - $tail = \DIRECTORY_SEPARATOR.implode(\DIRECTORY_SEPARATOR, $tail); - $tailLen = \strlen($tail); - $real = $refl->getFileName(); - - if (2 === self::$caseCheck) { - $real = $this->darwinRealpath($real); - } - - if (0 === substr_compare($real, $tail, -$tailLen, $tailLen, true) - && 0 !== substr_compare($real, $tail, -$tailLen, $tailLen, false) - ) { - return [substr($tail, -$tailLen + 1), substr($real, -$tailLen + 1), substr($real, 0, -$tailLen + 1)]; - } - - return null; - } - - /** - * `realpath` on MacOSX doesn't normalize the case of characters. - */ - private function darwinRealpath(string $real): string - { - $i = 1 + strrpos($real, '/'); - $file = substr($real, $i); - $real = substr($real, 0, $i); - - if (isset(self::$darwinCache[$real])) { - $kDir = $real; - } else { - $kDir = strtolower($real); - - if (isset(self::$darwinCache[$kDir])) { - $real = self::$darwinCache[$kDir][0]; - } else { - $dir = getcwd(); - - if (!@chdir($real)) { - return $real.$file; - } - - $real = getcwd().'/'; - chdir($dir); - - $dir = $real; - $k = $kDir; - $i = \strlen($dir) - 1; - while (!isset(self::$darwinCache[$k])) { - self::$darwinCache[$k] = [$dir, []]; - self::$darwinCache[$dir] = &self::$darwinCache[$k]; - - while ('/' !== $dir[--$i]) { - } - $k = substr($k, 0, ++$i); - $dir = substr($dir, 0, $i--); - } - } - } - - $dirFiles = self::$darwinCache[$kDir][1]; - - if (!isset($dirFiles[$file]) && ') : eval()\'d code' === substr($file, -17)) { - // Get the file name from "file_name.php(123) : eval()'d code" - $file = substr($file, 0, strrpos($file, '(', -17)); - } - - if (isset($dirFiles[$file])) { - return $real .= $dirFiles[$file]; - } - - $kFile = strtolower($file); - - if (!isset($dirFiles[$kFile])) { - foreach (scandir($real, 2) as $f) { - if ('.' !== $f[0]) { - $dirFiles[$f] = $f; - if ($f === $file) { - $kFile = $k = $file; - } elseif ($f !== $k = strtolower($f)) { - $dirFiles[$k] = $f; - } - } - } - self::$darwinCache[$kDir][1] = $dirFiles; - } - - return $real .= $dirFiles[$kFile]; - } - - /** - * `class_implements` includes interfaces from the parents so we have to manually exclude them. - * - * @return string[] - */ - private function getOwnInterfaces(string $class, ?string $parent): array - { - $ownInterfaces = class_implements($class, false); - - if ($parent) { - foreach (class_implements($parent, false) as $interface) { - unset($ownInterfaces[$interface]); - } - } - - foreach ($ownInterfaces as $interface) { - foreach (class_implements($interface) as $interface) { - unset($ownInterfaces[$interface]); - } - } - - return $ownInterfaces; - } - - private function setReturnType(string $types, \ReflectionMethod $method, ?string $parent): void - { - $nullable = false; - $typesMap = []; - foreach (explode('|', $types) as $t) { - $typesMap[$this->normalizeType($t, $method->class, $parent)] = $t; - } - - if (isset($typesMap['array'])) { - if (isset($typesMap['Traversable']) || isset($typesMap['\Traversable'])) { - $typesMap['iterable'] = 'array' !== $typesMap['array'] ? $typesMap['array'] : 'iterable'; - unset($typesMap['array'], $typesMap['Traversable'], $typesMap['\Traversable']); - } elseif ('array' !== $typesMap['array'] && isset(self::$returnTypes[$method->class][$method->name])) { - return; - } - } - - if (isset($typesMap['array']) && isset($typesMap['iterable'])) { - if ('[]' === substr($typesMap['array'], -2)) { - $typesMap['iterable'] = $typesMap['array']; - } - unset($typesMap['array']); - } - - $iterable = $object = true; - foreach ($typesMap as $n => $t) { - if ('null' !== $n) { - $iterable = $iterable && (\in_array($n, ['array', 'iterable']) || false !== strpos($n, 'Iterator')); - $object = $object && (\in_array($n, ['callable', 'object', '$this', 'static']) || !isset(self::SPECIAL_RETURN_TYPES[$n])); - } - } - - $normalizedType = key($typesMap); - $returnType = current($typesMap); - - foreach ($typesMap as $n => $t) { - if ('null' === $n) { - $nullable = true; - } elseif ('null' === $normalizedType) { - $normalizedType = $t; - $returnType = $t; - } elseif ($n !== $normalizedType || !preg_match('/^\\\\?[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*+(?:\\\\[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*+)*+$/', $n)) { - if ($iterable) { - $normalizedType = $returnType = 'iterable'; - } elseif ($object && 'object' === $this->patchTypes['force']) { - $normalizedType = $returnType = 'object'; - } else { - // ignore multi-types return declarations - return; - } - } - } - - if ('void' === $normalizedType) { - $nullable = false; - } elseif (!isset(self::BUILTIN_RETURN_TYPES[$normalizedType]) && isset(self::SPECIAL_RETURN_TYPES[$normalizedType])) { - // ignore other special return types - return; - } - - if ($nullable) { - $normalizedType = '?'.$normalizedType; - $returnType .= '|null'; - } - - self::$returnTypes[$method->class][$method->name] = [$normalizedType, $returnType, $method->class, $method->getFileName()]; - } - - private function normalizeType(string $type, string $class, ?string $parent): string - { - if (isset(self::SPECIAL_RETURN_TYPES[$lcType = strtolower($type)])) { - if ('parent' === $lcType = self::SPECIAL_RETURN_TYPES[$lcType]) { - $lcType = null !== $parent ? '\\'.$parent : 'parent'; - } elseif ('self' === $lcType) { - $lcType = '\\'.$class; - } - - return $lcType; - } - - if ('[]' === substr($type, -2)) { - return 'array'; - } - - if (preg_match('/^(array|iterable|callable) *[<(]/', $lcType, $m)) { - return $m[1]; - } - - // We could resolve "use" statements to return the FQDN - // but this would be too expensive for a runtime checker - - return $type; - } - - /** - * Utility method to add @return annotations to the Symfony code-base where it triggers a self-deprecations. - */ - private function patchMethod(\ReflectionMethod $method, string $returnType, string $declaringFile, string $normalizedType) - { - static $patchedMethods = []; - static $useStatements = []; - - if (!file_exists($file = $method->getFileName()) || isset($patchedMethods[$file][$startLine = $method->getStartLine()])) { - return; - } - - $patchedMethods[$file][$startLine] = true; - $fileOffset = self::$fileOffsets[$file] ?? 0; - $startLine += $fileOffset - 2; - $nullable = '?' === $normalizedType[0] ? '?' : ''; - $normalizedType = ltrim($normalizedType, '?'); - $returnType = explode('|', $returnType); - $code = file($file); - - foreach ($returnType as $i => $type) { - if (preg_match('/((?:\[\])+)$/', $type, $m)) { - $type = substr($type, 0, -\strlen($m[1])); - $format = '%s'.$m[1]; - } elseif (preg_match('/^(array|iterable)<([^,>]++)>$/', $type, $m)) { - $type = $m[2]; - $format = $m[1].'<%s>'; - } else { - $format = null; - } - - if (isset(self::SPECIAL_RETURN_TYPES[$type]) || ('\\' === $type[0] && !$p = strrpos($type, '\\', 1))) { - continue; - } - - list($namespace, $useOffset, $useMap) = $useStatements[$file] ?? $useStatements[$file] = self::getUseStatements($file); - - if ('\\' !== $type[0]) { - list($declaringNamespace, , $declaringUseMap) = $useStatements[$declaringFile] ?? $useStatements[$declaringFile] = self::getUseStatements($declaringFile); - - $p = strpos($type, '\\', 1); - $alias = $p ? substr($type, 0, $p) : $type; - - if (isset($declaringUseMap[$alias])) { - $type = '\\'.$declaringUseMap[$alias].($p ? substr($type, $p) : ''); - } else { - $type = '\\'.$declaringNamespace.$type; - } - - $p = strrpos($type, '\\', 1); - } - - $alias = substr($type, 1 + $p); - $type = substr($type, 1); - - if (!isset($useMap[$alias]) && (class_exists($c = $namespace.$alias) || interface_exists($c) || trait_exists($c))) { - $useMap[$alias] = $c; - } - - if (!isset($useMap[$alias])) { - $useStatements[$file][2][$alias] = $type; - $code[$useOffset] = "use $type;\n".$code[$useOffset]; - ++$fileOffset; - } elseif ($useMap[$alias] !== $type) { - $alias .= 'FIXME'; - $useStatements[$file][2][$alias] = $type; - $code[$useOffset] = "use $type as $alias;\n".$code[$useOffset]; - ++$fileOffset; - } - - $returnType[$i] = null !== $format ? sprintf($format, $alias) : $alias; - - if (!isset(self::SPECIAL_RETURN_TYPES[$normalizedType]) && !isset(self::SPECIAL_RETURN_TYPES[$returnType[$i]])) { - $normalizedType = $returnType[$i]; - } - } - - if ('docblock' === $this->patchTypes['force'] || ('object' === $normalizedType && '7.1' === $this->patchTypes['php'])) { - $returnType = implode('|', $returnType); - - if ($method->getDocComment()) { - $code[$startLine] = " * @return $returnType\n".$code[$startLine]; - } else { - $code[$startLine] .= <<fixReturnStatements($method, $nullable.$normalizedType); - } - - private static function getUseStatements(string $file): array - { - $namespace = ''; - $useMap = []; - $useOffset = 0; - - if (!file_exists($file)) { - return [$namespace, $useOffset, $useMap]; - } - - $file = file($file); - - for ($i = 0; $i < \count($file); ++$i) { - if (preg_match('/^(class|interface|trait|abstract) /', $file[$i])) { - break; - } - - if (0 === strpos($file[$i], 'namespace ')) { - $namespace = substr($file[$i], \strlen('namespace '), -2).'\\'; - $useOffset = $i + 2; - } - - if (0 === strpos($file[$i], 'use ')) { - $useOffset = $i; - - for (; 0 === strpos($file[$i], 'use '); ++$i) { - $u = explode(' as ', substr($file[$i], 4, -2), 2); - - if (1 === \count($u)) { - $p = strrpos($u[0], '\\'); - $useMap[substr($u[0], false !== $p ? 1 + $p : 0)] = $u[0]; - } else { - $useMap[$u[1]] = $u[0]; - } - } - - break; - } - } - - return [$namespace, $useOffset, $useMap]; - } - - private function fixReturnStatements(\ReflectionMethod $method, string $returnType) - { - if ('7.1' === $this->patchTypes['php'] && 'object' === ltrim($returnType, '?') && 'docblock' !== $this->patchTypes['force']) { - return; - } - - if (!file_exists($file = $method->getFileName())) { - return; - } - - $fixedCode = $code = file($file); - $i = (self::$fileOffsets[$file] ?? 0) + $method->getStartLine(); - - if ('?' !== $returnType && 'docblock' !== $this->patchTypes['force']) { - $fixedCode[$i - 1] = preg_replace('/\)(;?\n)/', "): $returnType\\1", $code[$i - 1]); - } - - $end = $method->isGenerator() ? $i : $method->getEndLine(); - for (; $i < $end; ++$i) { - if ('void' === $returnType) { - $fixedCode[$i] = str_replace(' return null;', ' return;', $code[$i]); - } elseif ('mixed' === $returnType || '?' === $returnType[0]) { - $fixedCode[$i] = str_replace(' return;', ' return null;', $code[$i]); - } else { - $fixedCode[$i] = str_replace(' return;', " return $returnType!?;", $code[$i]); - } - } - - if ($fixedCode !== $code) { - file_put_contents($file, $fixedCode); - } - } -} diff --git a/paragonik-backend/vendor/symfony/error-handler/Error/ClassNotFoundError.php b/paragonik-backend/vendor/symfony/error-handler/Error/ClassNotFoundError.php deleted file mode 100644 index 443fba2..0000000 --- a/paragonik-backend/vendor/symfony/error-handler/Error/ClassNotFoundError.php +++ /dev/null @@ -1,33 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\ErrorHandler\Error; - -class ClassNotFoundError extends \Error -{ - /** - * {@inheritdoc} - */ - public function __construct(string $message, \Throwable $previous) - { - parent::__construct($message, $previous->getCode(), $previous->getPrevious()); - - foreach ([ - 'file' => $previous->getFile(), - 'line' => $previous->getLine(), - 'trace' => $previous->getTrace(), - ] as $property => $value) { - $refl = new \ReflectionProperty(\Error::class, $property); - $refl->setAccessible(true); - $refl->setValue($this, $value); - } - } -} diff --git a/paragonik-backend/vendor/symfony/error-handler/Error/FatalError.php b/paragonik-backend/vendor/symfony/error-handler/Error/FatalError.php deleted file mode 100644 index 68172d8..0000000 --- a/paragonik-backend/vendor/symfony/error-handler/Error/FatalError.php +++ /dev/null @@ -1,88 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\ErrorHandler\Error; - -class FatalError extends \Error -{ - private $error; - - /** - * {@inheritdoc} - * - * @param array $error An array as returned by error_get_last() - */ - public function __construct(string $message, int $code, array $error, int $traceOffset = null, bool $traceArgs = true, array $trace = null) - { - parent::__construct($message, $code); - - $this->error = $error; - - if (null !== $trace) { - if (!$traceArgs) { - foreach ($trace as &$frame) { - unset($frame['args'], $frame['this'], $frame); - } - } - } elseif (null !== $traceOffset) { - if (\function_exists('xdebug_get_function_stack')) { - $trace = xdebug_get_function_stack(); - if (0 < $traceOffset) { - array_splice($trace, -$traceOffset); - } - - foreach ($trace as &$frame) { - if (!isset($frame['type'])) { - // XDebug pre 2.1.1 doesn't currently set the call type key http://bugs.xdebug.org/view.php?id=695 - if (isset($frame['class'])) { - $frame['type'] = '::'; - } - } elseif ('dynamic' === $frame['type']) { - $frame['type'] = '->'; - } elseif ('static' === $frame['type']) { - $frame['type'] = '::'; - } - - // XDebug also has a different name for the parameters array - if (!$traceArgs) { - unset($frame['params'], $frame['args']); - } elseif (isset($frame['params']) && !isset($frame['args'])) { - $frame['args'] = $frame['params']; - unset($frame['params']); - } - } - - unset($frame); - $trace = array_reverse($trace); - } else { - $trace = []; - } - } - - foreach ([ - 'file' => $error['file'], - 'line' => $error['line'], - 'trace' => $trace, - ] as $property => $value) { - $refl = new \ReflectionProperty(\Error::class, $property); - $refl->setAccessible(true); - $refl->setValue($this, $value); - } - } - - /** - * {@inheritdoc} - */ - public function getError(): array - { - return $this->error; - } -} diff --git a/paragonik-backend/vendor/symfony/error-handler/Error/OutOfMemoryError.php b/paragonik-backend/vendor/symfony/error-handler/Error/OutOfMemoryError.php deleted file mode 100644 index d685c3d..0000000 --- a/paragonik-backend/vendor/symfony/error-handler/Error/OutOfMemoryError.php +++ /dev/null @@ -1,16 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\ErrorHandler\Error; - -class OutOfMemoryError extends FatalError -{ -} diff --git a/paragonik-backend/vendor/symfony/error-handler/Error/UndefinedFunctionError.php b/paragonik-backend/vendor/symfony/error-handler/Error/UndefinedFunctionError.php deleted file mode 100644 index b57dd15..0000000 --- a/paragonik-backend/vendor/symfony/error-handler/Error/UndefinedFunctionError.php +++ /dev/null @@ -1,33 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\ErrorHandler\Error; - -class UndefinedFunctionError extends \Error -{ - /** - * {@inheritdoc} - */ - public function __construct(string $message, \Throwable $previous) - { - parent::__construct($message, $previous->getCode(), $previous->getPrevious()); - - foreach ([ - 'file' => $previous->getFile(), - 'line' => $previous->getLine(), - 'trace' => $previous->getTrace(), - ] as $property => $value) { - $refl = new \ReflectionProperty(\Error::class, $property); - $refl->setAccessible(true); - $refl->setValue($this, $value); - } - } -} diff --git a/paragonik-backend/vendor/symfony/error-handler/Error/UndefinedMethodError.php b/paragonik-backend/vendor/symfony/error-handler/Error/UndefinedMethodError.php deleted file mode 100644 index adc8731..0000000 --- a/paragonik-backend/vendor/symfony/error-handler/Error/UndefinedMethodError.php +++ /dev/null @@ -1,33 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\ErrorHandler\Error; - -class UndefinedMethodError extends \Error -{ - /** - * {@inheritdoc} - */ - public function __construct(string $message, \Throwable $previous) - { - parent::__construct($message, $previous->getCode(), $previous->getPrevious()); - - foreach ([ - 'file' => $previous->getFile(), - 'line' => $previous->getLine(), - 'trace' => $previous->getTrace(), - ] as $property => $value) { - $refl = new \ReflectionProperty(\Error::class, $property); - $refl->setAccessible(true); - $refl->setValue($this, $value); - } - } -} diff --git a/paragonik-backend/vendor/symfony/error-handler/ErrorEnhancer/ClassNotFoundErrorEnhancer.php b/paragonik-backend/vendor/symfony/error-handler/ErrorEnhancer/ClassNotFoundErrorEnhancer.php deleted file mode 100644 index 3811107..0000000 --- a/paragonik-backend/vendor/symfony/error-handler/ErrorEnhancer/ClassNotFoundErrorEnhancer.php +++ /dev/null @@ -1,195 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\ErrorHandler\ErrorEnhancer; - -use Composer\Autoload\ClassLoader as ComposerClassLoader; -use Symfony\Component\ClassLoader\ClassLoader as SymfonyClassLoader; -use Symfony\Component\ErrorHandler\DebugClassLoader; -use Symfony\Component\ErrorHandler\Error\ClassNotFoundError; -use Symfony\Component\ErrorHandler\Error\FatalError; - -/** - * @author Fabien Potencier - */ -class ClassNotFoundErrorEnhancer implements ErrorEnhancerInterface -{ - /** - * {@inheritdoc} - */ - public function enhance(\Throwable $error): ?\Throwable - { - // Some specific versions of PHP produce a fatal error when extending a not found class. - $message = !$error instanceof FatalError ? $error->getMessage() : $error->getError()['message']; - $messageLen = \strlen($message); - $notFoundSuffix = '\' not found'; - $notFoundSuffixLen = \strlen($notFoundSuffix); - if ($notFoundSuffixLen > $messageLen) { - return null; - } - - if (0 !== substr_compare($message, $notFoundSuffix, -$notFoundSuffixLen)) { - return null; - } - - foreach (['class', 'interface', 'trait'] as $typeName) { - $prefix = ucfirst($typeName).' \''; - $prefixLen = \strlen($prefix); - if (0 !== strpos($message, $prefix)) { - continue; - } - - $fullyQualifiedClassName = substr($message, $prefixLen, -$notFoundSuffixLen); - if (false !== $namespaceSeparatorIndex = strrpos($fullyQualifiedClassName, '\\')) { - $className = substr($fullyQualifiedClassName, $namespaceSeparatorIndex + 1); - $namespacePrefix = substr($fullyQualifiedClassName, 0, $namespaceSeparatorIndex); - $message = sprintf('Attempted to load %s "%s" from namespace "%s".', $typeName, $className, $namespacePrefix); - $tail = ' for another namespace?'; - } else { - $className = $fullyQualifiedClassName; - $message = sprintf('Attempted to load %s "%s" from the global namespace.', $typeName, $className); - $tail = '?'; - } - - if ($candidates = $this->getClassCandidates($className)) { - $tail = array_pop($candidates).'"?'; - if ($candidates) { - $tail = ' for e.g. "'.implode('", "', $candidates).'" or "'.$tail; - } else { - $tail = ' for "'.$tail; - } - } - $message .= "\nDid you forget a \"use\" statement".$tail; - - return new ClassNotFoundError($message, $error); - } - - return null; - } - - /** - * Tries to guess the full namespace for a given class name. - * - * By default, it looks for PSR-0 and PSR-4 classes registered via a Symfony or a Composer - * autoloader (that should cover all common cases). - * - * @param string $class A class name (without its namespace) - * - * Returns an array of possible fully qualified class names - */ - private function getClassCandidates(string $class): array - { - if (!\is_array($functions = spl_autoload_functions())) { - return []; - } - - // find Symfony and Composer autoloaders - $classes = []; - - foreach ($functions as $function) { - if (!\is_array($function)) { - continue; - } - // get class loaders wrapped by DebugClassLoader - if ($function[0] instanceof DebugClassLoader) { - $function = $function[0]->getClassLoader(); - - if (!\is_array($function)) { - continue; - } - } - - if ($function[0] instanceof ComposerClassLoader || $function[0] instanceof SymfonyClassLoader) { - foreach ($function[0]->getPrefixes() as $prefix => $paths) { - foreach ($paths as $path) { - $classes = array_merge($classes, $this->findClassInPath($path, $class, $prefix)); - } - } - } - if ($function[0] instanceof ComposerClassLoader) { - foreach ($function[0]->getPrefixesPsr4() as $prefix => $paths) { - foreach ($paths as $path) { - $classes = array_merge($classes, $this->findClassInPath($path, $class, $prefix)); - } - } - } - } - - return array_unique($classes); - } - - private function findClassInPath(string $path, string $class, string $prefix): array - { - if (!$path = realpath($path.'/'.strtr($prefix, '\\_', '//')) ?: realpath($path.'/'.\dirname(strtr($prefix, '\\_', '//'))) ?: realpath($path)) { - return []; - } - - $classes = []; - $filename = $class.'.php'; - foreach (new \RecursiveIteratorIterator(new \RecursiveDirectoryIterator($path, \RecursiveDirectoryIterator::SKIP_DOTS), \RecursiveIteratorIterator::LEAVES_ONLY) as $file) { - if ($filename == $file->getFileName() && $class = $this->convertFileToClass($path, $file->getPathName(), $prefix)) { - $classes[] = $class; - } - } - - return $classes; - } - - private function convertFileToClass(string $path, string $file, string $prefix): ?string - { - $candidates = [ - // namespaced class - $namespacedClass = str_replace([$path.\DIRECTORY_SEPARATOR, '.php', '/'], ['', '', '\\'], $file), - // namespaced class (with target dir) - $prefix.$namespacedClass, - // namespaced class (with target dir and separator) - $prefix.'\\'.$namespacedClass, - // PEAR class - str_replace('\\', '_', $namespacedClass), - // PEAR class (with target dir) - str_replace('\\', '_', $prefix.$namespacedClass), - // PEAR class (with target dir and separator) - str_replace('\\', '_', $prefix.'\\'.$namespacedClass), - ]; - - if ($prefix) { - $candidates = array_filter($candidates, function ($candidate) use ($prefix) { return 0 === strpos($candidate, $prefix); }); - } - - // We cannot use the autoloader here as most of them use require; but if the class - // is not found, the new autoloader call will require the file again leading to a - // "cannot redeclare class" error. - foreach ($candidates as $candidate) { - if ($this->classExists($candidate)) { - return $candidate; - } - } - - try { - require_once $file; - } catch (\Throwable $e) { - return null; - } - - foreach ($candidates as $candidate) { - if ($this->classExists($candidate)) { - return $candidate; - } - } - - return null; - } - - private function classExists(string $class): bool - { - return class_exists($class, false) || interface_exists($class, false) || trait_exists($class, false); - } -} diff --git a/paragonik-backend/vendor/symfony/error-handler/ErrorEnhancer/ErrorEnhancerInterface.php b/paragonik-backend/vendor/symfony/error-handler/ErrorEnhancer/ErrorEnhancerInterface.php deleted file mode 100644 index 7c3f4ef..0000000 --- a/paragonik-backend/vendor/symfony/error-handler/ErrorEnhancer/ErrorEnhancerInterface.php +++ /dev/null @@ -1,20 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\ErrorHandler\ErrorEnhancer; - -interface ErrorEnhancerInterface -{ - /** - * Returns an \Throwable instance if the class is able to improve the error, null otherwise. - */ - public function enhance(\Throwable $error): ?\Throwable; -} diff --git a/paragonik-backend/vendor/symfony/error-handler/ErrorEnhancer/UndefinedFunctionErrorEnhancer.php b/paragonik-backend/vendor/symfony/error-handler/ErrorEnhancer/UndefinedFunctionErrorEnhancer.php deleted file mode 100644 index f4c49c2..0000000 --- a/paragonik-backend/vendor/symfony/error-handler/ErrorEnhancer/UndefinedFunctionErrorEnhancer.php +++ /dev/null @@ -1,87 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\ErrorHandler\ErrorEnhancer; - -use Symfony\Component\ErrorHandler\Error\FatalError; -use Symfony\Component\ErrorHandler\Error\UndefinedFunctionError; - -/** - * @author Fabien Potencier - */ -class UndefinedFunctionErrorEnhancer implements ErrorEnhancerInterface -{ - /** - * {@inheritdoc} - */ - public function enhance(\Throwable $error): ?\Throwable - { - if ($error instanceof FatalError) { - return null; - } - - $message = $error->getMessage(); - $messageLen = \strlen($message); - $notFoundSuffix = '()'; - $notFoundSuffixLen = \strlen($notFoundSuffix); - if ($notFoundSuffixLen > $messageLen) { - return null; - } - - if (0 !== substr_compare($message, $notFoundSuffix, -$notFoundSuffixLen)) { - return null; - } - - $prefix = 'Call to undefined function '; - $prefixLen = \strlen($prefix); - if (0 !== strpos($message, $prefix)) { - return null; - } - - $fullyQualifiedFunctionName = substr($message, $prefixLen, -$notFoundSuffixLen); - if (false !== $namespaceSeparatorIndex = strrpos($fullyQualifiedFunctionName, '\\')) { - $functionName = substr($fullyQualifiedFunctionName, $namespaceSeparatorIndex + 1); - $namespacePrefix = substr($fullyQualifiedFunctionName, 0, $namespaceSeparatorIndex); - $message = sprintf('Attempted to call function "%s" from namespace "%s".', $functionName, $namespacePrefix); - } else { - $functionName = $fullyQualifiedFunctionName; - $message = sprintf('Attempted to call function "%s" from the global namespace.', $functionName); - } - - $candidates = []; - foreach (get_defined_functions() as $type => $definedFunctionNames) { - foreach ($definedFunctionNames as $definedFunctionName) { - if (false !== $namespaceSeparatorIndex = strrpos($definedFunctionName, '\\')) { - $definedFunctionNameBasename = substr($definedFunctionName, $namespaceSeparatorIndex + 1); - } else { - $definedFunctionNameBasename = $definedFunctionName; - } - - if ($definedFunctionNameBasename === $functionName) { - $candidates[] = '\\'.$definedFunctionName; - } - } - } - - if ($candidates) { - sort($candidates); - $last = array_pop($candidates).'"?'; - if ($candidates) { - $candidates = 'e.g. "'.implode('", "', $candidates).'" or "'.$last; - } else { - $candidates = '"'.$last; - } - $message .= "\nDid you mean to call ".$candidates; - } - - return new UndefinedFunctionError($message, $error); - } -} diff --git a/paragonik-backend/vendor/symfony/error-handler/ErrorEnhancer/UndefinedMethodErrorEnhancer.php b/paragonik-backend/vendor/symfony/error-handler/ErrorEnhancer/UndefinedMethodErrorEnhancer.php deleted file mode 100644 index ad0e4b3..0000000 --- a/paragonik-backend/vendor/symfony/error-handler/ErrorEnhancer/UndefinedMethodErrorEnhancer.php +++ /dev/null @@ -1,69 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\ErrorHandler\ErrorEnhancer; - -use Symfony\Component\ErrorHandler\Error\FatalError; -use Symfony\Component\ErrorHandler\Error\UndefinedMethodError; - -/** - * @author Grégoire Pineau - */ -class UndefinedMethodErrorEnhancer implements ErrorEnhancerInterface -{ - /** - * {@inheritdoc} - */ - public function enhance(\Throwable $error): ?\Throwable - { - if ($error instanceof FatalError) { - return null; - } - - $message = $error->getMessage(); - preg_match('/^Call to undefined method (.*)::(.*)\(\)$/', $message, $matches); - if (!$matches) { - return null; - } - - $className = $matches[1]; - $methodName = $matches[2]; - - $message = sprintf('Attempted to call an undefined method named "%s" of class "%s".', $methodName, $className); - - if (!class_exists($className) || null === $methods = get_class_methods($className)) { - // failed to get the class or its methods on which an unknown method was called (for example on an anonymous class) - return new UndefinedMethodError($message, $error); - } - - $candidates = []; - foreach ($methods as $definedMethodName) { - $lev = levenshtein($methodName, $definedMethodName); - if ($lev <= \strlen($methodName) / 3 || false !== strpos($definedMethodName, $methodName)) { - $candidates[] = $definedMethodName; - } - } - - if ($candidates) { - sort($candidates); - $last = array_pop($candidates).'"?'; - if ($candidates) { - $candidates = 'e.g. "'.implode('", "', $candidates).'" or "'.$last; - } else { - $candidates = '"'.$last; - } - - $message .= "\nDid you mean to call ".$candidates; - } - - return new UndefinedMethodError($message, $error); - } -} diff --git a/paragonik-backend/vendor/symfony/error-handler/ErrorHandler.php b/paragonik-backend/vendor/symfony/error-handler/ErrorHandler.php deleted file mode 100644 index 7e2bf11..0000000 --- a/paragonik-backend/vendor/symfony/error-handler/ErrorHandler.php +++ /dev/null @@ -1,768 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\ErrorHandler; - -use Psr\Log\LoggerInterface; -use Psr\Log\LogLevel; -use Symfony\Component\ErrorHandler\Error\FatalError; -use Symfony\Component\ErrorHandler\Error\OutOfMemoryError; -use Symfony\Component\ErrorHandler\ErrorEnhancer\ClassNotFoundErrorEnhancer; -use Symfony\Component\ErrorHandler\ErrorEnhancer\ErrorEnhancerInterface; -use Symfony\Component\ErrorHandler\ErrorEnhancer\UndefinedFunctionErrorEnhancer; -use Symfony\Component\ErrorHandler\ErrorEnhancer\UndefinedMethodErrorEnhancer; -use Symfony\Component\ErrorHandler\ErrorRenderer\CliErrorRenderer; -use Symfony\Component\ErrorHandler\ErrorRenderer\HtmlErrorRenderer; -use Symfony\Component\ErrorHandler\Exception\SilencedErrorContext; - -/** - * A generic ErrorHandler for the PHP engine. - * - * Provides five bit fields that control how errors are handled: - * - thrownErrors: errors thrown as \ErrorException - * - loggedErrors: logged errors, when not @-silenced - * - scopedErrors: errors thrown or logged with their local context - * - tracedErrors: errors logged with their stack trace - * - screamedErrors: never @-silenced errors - * - * Each error level can be logged by a dedicated PSR-3 logger object. - * Screaming only applies to logging. - * Throwing takes precedence over logging. - * Uncaught exceptions are logged as E_ERROR. - * E_DEPRECATED and E_USER_DEPRECATED levels never throw. - * E_RECOVERABLE_ERROR and E_USER_ERROR levels always throw. - * Non catchable errors that can be detected at shutdown time are logged when the scream bit field allows so. - * As errors have a performance cost, repeated errors are all logged, so that the developer - * can see them and weight them as more important to fix than others of the same level. - * - * @author Nicolas Grekas - * @author Grégoire Pineau - * - * @final - */ -class ErrorHandler -{ - private $levels = [ - E_DEPRECATED => 'Deprecated', - E_USER_DEPRECATED => 'User Deprecated', - E_NOTICE => 'Notice', - E_USER_NOTICE => 'User Notice', - E_STRICT => 'Runtime Notice', - E_WARNING => 'Warning', - E_USER_WARNING => 'User Warning', - E_COMPILE_WARNING => 'Compile Warning', - E_CORE_WARNING => 'Core Warning', - E_USER_ERROR => 'User Error', - E_RECOVERABLE_ERROR => 'Catchable Fatal Error', - E_COMPILE_ERROR => 'Compile Error', - E_PARSE => 'Parse Error', - E_ERROR => 'Error', - E_CORE_ERROR => 'Core Error', - ]; - - private $loggers = [ - E_DEPRECATED => [null, LogLevel::INFO], - E_USER_DEPRECATED => [null, LogLevel::INFO], - E_NOTICE => [null, LogLevel::WARNING], - E_USER_NOTICE => [null, LogLevel::WARNING], - E_STRICT => [null, LogLevel::WARNING], - E_WARNING => [null, LogLevel::WARNING], - E_USER_WARNING => [null, LogLevel::WARNING], - E_COMPILE_WARNING => [null, LogLevel::WARNING], - E_CORE_WARNING => [null, LogLevel::WARNING], - E_USER_ERROR => [null, LogLevel::CRITICAL], - E_RECOVERABLE_ERROR => [null, LogLevel::CRITICAL], - E_COMPILE_ERROR => [null, LogLevel::CRITICAL], - E_PARSE => [null, LogLevel::CRITICAL], - E_ERROR => [null, LogLevel::CRITICAL], - E_CORE_ERROR => [null, LogLevel::CRITICAL], - ]; - - private $thrownErrors = 0x1FFF; // E_ALL - E_DEPRECATED - E_USER_DEPRECATED - private $scopedErrors = 0x1FFF; // E_ALL - E_DEPRECATED - E_USER_DEPRECATED - private $tracedErrors = 0x77FB; // E_ALL - E_STRICT - E_PARSE - private $screamedErrors = 0x55; // E_ERROR + E_CORE_ERROR + E_COMPILE_ERROR + E_PARSE - private $loggedErrors = 0; - private $traceReflector; - - private $isRecursive = 0; - private $isRoot = false; - private $exceptionHandler; - private $bootstrappingLogger; - - private static $reservedMemory; - private static $toStringException; - private static $silencedErrorCache = []; - private static $silencedErrorCount = 0; - private static $exitCode = 0; - - /** - * Registers the error handler. - */ - public static function register(self $handler = null, bool $replace = true): self - { - if (null === self::$reservedMemory) { - self::$reservedMemory = str_repeat('x', 10240); - register_shutdown_function(__CLASS__.'::handleFatalError'); - } - - if ($handlerIsNew = null === $handler) { - $handler = new static(); - } - - if (null === $prev = set_error_handler([$handler, 'handleError'])) { - restore_error_handler(); - // Specifying the error types earlier would expose us to https://bugs.php.net/63206 - set_error_handler([$handler, 'handleError'], $handler->thrownErrors | $handler->loggedErrors); - $handler->isRoot = true; - } - - if ($handlerIsNew && \is_array($prev) && $prev[0] instanceof self) { - $handler = $prev[0]; - $replace = false; - } - if (!$replace && $prev) { - restore_error_handler(); - $handlerIsRegistered = \is_array($prev) && $handler === $prev[0]; - } else { - $handlerIsRegistered = true; - } - if (\is_array($prev = set_exception_handler([$handler, 'handleException'])) && $prev[0] instanceof self) { - restore_exception_handler(); - if (!$handlerIsRegistered) { - $handler = $prev[0]; - } elseif ($handler !== $prev[0] && $replace) { - set_exception_handler([$handler, 'handleException']); - $p = $prev[0]->setExceptionHandler(null); - $handler->setExceptionHandler($p); - $prev[0]->setExceptionHandler($p); - } - } else { - $handler->setExceptionHandler($prev ?? [$handler, 'renderException']); - } - - $handler->throwAt(E_ALL & $handler->thrownErrors, true); - - return $handler; - } - - /** - * Calls a function and turns any PHP error into \ErrorException. - * - * @return mixed What $function(...$arguments) returns - * - * @throws \ErrorException When $function(...$arguments) triggers a PHP error - */ - public static function call(callable $function, ...$arguments) - { - set_error_handler(static function (int $type, string $message, string $file, int $line) { - if (__FILE__ === $file) { - $trace = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, 3); - $file = $trace[2]['file'] ?? $file; - $line = $trace[2]['line'] ?? $line; - } - - throw new \ErrorException($message, 0, $type, $file, $line); - }); - - try { - return $function(...$arguments); - } finally { - restore_error_handler(); - } - } - - public function __construct(BufferingLogger $bootstrappingLogger = null) - { - if ($bootstrappingLogger) { - $this->bootstrappingLogger = $bootstrappingLogger; - $this->setDefaultLogger($bootstrappingLogger); - } - $this->traceReflector = new \ReflectionProperty('Exception', 'trace'); - $this->traceReflector->setAccessible(true); - } - - /** - * Sets a logger to non assigned errors levels. - * - * @param LoggerInterface $logger A PSR-3 logger to put as default for the given levels - * @param array|int $levels An array map of E_* to LogLevel::* or an integer bit field of E_* constants - * @param bool $replace Whether to replace or not any existing logger - */ - public function setDefaultLogger(LoggerInterface $logger, $levels = E_ALL, bool $replace = false): void - { - $loggers = []; - - if (\is_array($levels)) { - foreach ($levels as $type => $logLevel) { - if (empty($this->loggers[$type][0]) || $replace || $this->loggers[$type][0] === $this->bootstrappingLogger) { - $loggers[$type] = [$logger, $logLevel]; - } - } - } else { - if (null === $levels) { - $levels = E_ALL; - } - foreach ($this->loggers as $type => $log) { - if (($type & $levels) && (empty($log[0]) || $replace || $log[0] === $this->bootstrappingLogger)) { - $log[0] = $logger; - $loggers[$type] = $log; - } - } - } - - $this->setLoggers($loggers); - } - - /** - * Sets a logger for each error level. - * - * @param array $loggers Error levels to [LoggerInterface|null, LogLevel::*] map - * - * @return array The previous map - * - * @throws \InvalidArgumentException - */ - public function setLoggers(array $loggers): array - { - $prevLogged = $this->loggedErrors; - $prev = $this->loggers; - $flush = []; - - foreach ($loggers as $type => $log) { - if (!isset($prev[$type])) { - throw new \InvalidArgumentException('Unknown error type: '.$type); - } - if (!\is_array($log)) { - $log = [$log]; - } elseif (!\array_key_exists(0, $log)) { - throw new \InvalidArgumentException('No logger provided'); - } - if (null === $log[0]) { - $this->loggedErrors &= ~$type; - } elseif ($log[0] instanceof LoggerInterface) { - $this->loggedErrors |= $type; - } else { - throw new \InvalidArgumentException('Invalid logger provided'); - } - $this->loggers[$type] = $log + $prev[$type]; - - if ($this->bootstrappingLogger && $prev[$type][0] === $this->bootstrappingLogger) { - $flush[$type] = $type; - } - } - $this->reRegister($prevLogged | $this->thrownErrors); - - if ($flush) { - foreach ($this->bootstrappingLogger->cleanLogs() as $log) { - $type = ThrowableUtils::getSeverity($log[2]['exception']); - if (!isset($flush[$type])) { - $this->bootstrappingLogger->log($log[0], $log[1], $log[2]); - } elseif ($this->loggers[$type][0]) { - $this->loggers[$type][0]->log($this->loggers[$type][1], $log[1], $log[2]); - } - } - } - - return $prev; - } - - /** - * Sets a user exception handler. - * - * @param callable(\Throwable $e)|null $handler - * - * @return callable|null The previous exception handler - */ - public function setExceptionHandler(?callable $handler): ?callable - { - $prev = $this->exceptionHandler; - $this->exceptionHandler = $handler; - - return $prev; - } - - /** - * Sets the PHP error levels that throw an exception when a PHP error occurs. - * - * @param int $levels A bit field of E_* constants for thrown errors - * @param bool $replace Replace or amend the previous value - * - * @return int The previous value - */ - public function throwAt(int $levels, bool $replace = false): int - { - $prev = $this->thrownErrors; - $this->thrownErrors = ($levels | E_RECOVERABLE_ERROR | E_USER_ERROR) & ~E_USER_DEPRECATED & ~E_DEPRECATED; - if (!$replace) { - $this->thrownErrors |= $prev; - } - $this->reRegister($prev | $this->loggedErrors); - - return $prev; - } - - /** - * Sets the PHP error levels for which local variables are preserved. - * - * @param int $levels A bit field of E_* constants for scoped errors - * @param bool $replace Replace or amend the previous value - * - * @return int The previous value - */ - public function scopeAt(int $levels, bool $replace = false): int - { - $prev = $this->scopedErrors; - $this->scopedErrors = $levels; - if (!$replace) { - $this->scopedErrors |= $prev; - } - - return $prev; - } - - /** - * Sets the PHP error levels for which the stack trace is preserved. - * - * @param int $levels A bit field of E_* constants for traced errors - * @param bool $replace Replace or amend the previous value - * - * @return int The previous value - */ - public function traceAt(int $levels, bool $replace = false): int - { - $prev = $this->tracedErrors; - $this->tracedErrors = (int) $levels; - if (!$replace) { - $this->tracedErrors |= $prev; - } - - return $prev; - } - - /** - * Sets the error levels where the @-operator is ignored. - * - * @param int $levels A bit field of E_* constants for screamed errors - * @param bool $replace Replace or amend the previous value - * - * @return int The previous value - */ - public function screamAt(int $levels, bool $replace = false): int - { - $prev = $this->screamedErrors; - $this->screamedErrors = $levels; - if (!$replace) { - $this->screamedErrors |= $prev; - } - - return $prev; - } - - /** - * Re-registers as a PHP error handler if levels changed. - */ - private function reRegister(int $prev): void - { - if ($prev !== $this->thrownErrors | $this->loggedErrors) { - $handler = set_error_handler('var_dump'); - $handler = \is_array($handler) ? $handler[0] : null; - restore_error_handler(); - if ($handler === $this) { - restore_error_handler(); - if ($this->isRoot) { - set_error_handler([$this, 'handleError'], $this->thrownErrors | $this->loggedErrors); - } else { - set_error_handler([$this, 'handleError']); - } - } - } - } - - /** - * Handles errors by filtering then logging them according to the configured bit fields. - * - * @return bool Returns false when no handling happens so that the PHP engine can handle the error itself - * - * @throws \ErrorException When $this->thrownErrors requests so - * - * @internal - */ - public function handleError(int $type, string $message, string $file, int $line): bool - { - if (\PHP_VERSION_ID >= 70300 && E_WARNING === $type && '"' === $message[0] && false !== strpos($message, '" targeting switch is equivalent to "break')) { - $type = E_DEPRECATED; - } - - // Level is the current error reporting level to manage silent error. - $level = error_reporting(); - $silenced = 0 === ($level & $type); - // Strong errors are not authorized to be silenced. - $level |= E_RECOVERABLE_ERROR | E_USER_ERROR | E_DEPRECATED | E_USER_DEPRECATED; - $log = $this->loggedErrors & $type; - $throw = $this->thrownErrors & $type & $level; - $type &= $level | $this->screamedErrors; - - if (!$type || (!$log && !$throw)) { - return !$silenced && $type && $log; - } - $scope = $this->scopedErrors & $type; - - if (4 < $numArgs = \func_num_args()) { - $context = $scope ? (func_get_arg(4) ?: []) : []; - } else { - $context = []; - } - - if (isset($context['GLOBALS']) && $scope) { - $e = $context; // Whatever the signature of the method, - unset($e['GLOBALS'], $context); // $context is always a reference in 5.3 - $context = $e; - } - - if (false !== strpos($message, "class@anonymous\0")) { - $logMessage = $this->parseAnonymousClass($message); - } else { - $logMessage = $this->levels[$type].': '.$message; - } - - if (null !== self::$toStringException) { - $errorAsException = self::$toStringException; - self::$toStringException = null; - } elseif (!$throw && !($type & $level)) { - if (!isset(self::$silencedErrorCache[$id = $file.':'.$line])) { - $lightTrace = $this->tracedErrors & $type ? $this->cleanTrace(debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, 5), $type, $file, $line, false) : []; - $errorAsException = new SilencedErrorContext($type, $file, $line, isset($lightTrace[1]) ? [$lightTrace[0]] : $lightTrace); - } elseif (isset(self::$silencedErrorCache[$id][$message])) { - $lightTrace = null; - $errorAsException = self::$silencedErrorCache[$id][$message]; - ++$errorAsException->count; - } else { - $lightTrace = []; - $errorAsException = null; - } - - if (100 < ++self::$silencedErrorCount) { - self::$silencedErrorCache = $lightTrace = []; - self::$silencedErrorCount = 1; - } - if ($errorAsException) { - self::$silencedErrorCache[$id][$message] = $errorAsException; - } - if (null === $lightTrace) { - return true; - } - } else { - $errorAsException = new \ErrorException($logMessage, 0, $type, $file, $line); - - if ($throw || $this->tracedErrors & $type) { - $backtrace = $errorAsException->getTrace(); - $lightTrace = $this->cleanTrace($backtrace, $type, $file, $line, $throw); - $this->traceReflector->setValue($errorAsException, $lightTrace); - } else { - $this->traceReflector->setValue($errorAsException, []); - $backtrace = []; - } - } - - if ($throw) { - if (\PHP_VERSION_ID < 70400 && E_USER_ERROR & $type) { - for ($i = 1; isset($backtrace[$i]); ++$i) { - if (isset($backtrace[$i]['function'], $backtrace[$i]['type'], $backtrace[$i - 1]['function']) - && '__toString' === $backtrace[$i]['function'] - && '->' === $backtrace[$i]['type'] - && !isset($backtrace[$i - 1]['class']) - && ('trigger_error' === $backtrace[$i - 1]['function'] || 'user_error' === $backtrace[$i - 1]['function']) - ) { - // Here, we know trigger_error() has been called from __toString(). - // PHP triggers a fatal error when throwing from __toString(). - // A small convention allows working around the limitation: - // given a caught $e exception in __toString(), quitting the method with - // `return trigger_error($e, E_USER_ERROR);` allows this error handler - // to make $e get through the __toString() barrier. - - foreach ($context as $e) { - if ($e instanceof \Throwable && $e->__toString() === $message) { - self::$toStringException = $e; - - return true; - } - } - - // Display the original error message instead of the default one. - $this->handleException($errorAsException); - - // Stop the process by giving back the error to the native handler. - return false; - } - } - } - - throw $errorAsException; - } - - if ($this->isRecursive) { - $log = 0; - } else { - if (!\defined('HHVM_VERSION')) { - $currentErrorHandler = set_error_handler('var_dump'); - restore_error_handler(); - } - - try { - $this->isRecursive = true; - $level = ($type & $level) ? $this->loggers[$type][1] : LogLevel::DEBUG; - $this->loggers[$type][0]->log($level, $logMessage, $errorAsException ? ['exception' => $errorAsException] : []); - } finally { - $this->isRecursive = false; - - if (!\defined('HHVM_VERSION')) { - set_error_handler($currentErrorHandler); - } - } - } - - return !$silenced && $type && $log; - } - - /** - * Handles an exception by logging then forwarding it to another handler. - * - * @internal - */ - public function handleException(\Throwable $exception) - { - $handlerException = null; - - if (!$exception instanceof FatalError) { - self::$exitCode = 255; - - $type = ThrowableUtils::getSeverity($exception); - } else { - $type = $exception->getError()['type']; - } - - if ($this->loggedErrors & $type) { - if (false !== strpos($message = $exception->getMessage(), "class@anonymous\0")) { - $message = $this->parseAnonymousClass($message); - } - - if ($exception instanceof FatalError) { - $message = 'Fatal '.$message; - } elseif ($exception instanceof \Error) { - $message = 'Uncaught Error: '.$message; - } elseif ($exception instanceof \ErrorException) { - $message = 'Uncaught '.$message; - } else { - $message = 'Uncaught Exception: '.$message; - } - - try { - $this->loggers[$type][0]->log($this->loggers[$type][1], $message, ['exception' => $exception]); - } catch (\Throwable $handlerException) { - } - } - - if (!$exception instanceof OutOfMemoryError) { - foreach ($this->getErrorEnhancers() as $errorEnhancer) { - if ($e = $errorEnhancer->enhance($exception)) { - $exception = $e; - break; - } - } - } - - $exceptionHandler = $this->exceptionHandler; - $this->exceptionHandler = [$this, 'renderException']; - - if (null === $exceptionHandler || $exceptionHandler === $this->exceptionHandler) { - $this->exceptionHandler = null; - } - - try { - if (null !== $exceptionHandler) { - return $exceptionHandler($exception); - } - $handlerException = $handlerException ?: $exception; - } catch (\Throwable $handlerException) { - } - if ($exception === $handlerException && null === $this->exceptionHandler) { - self::$reservedMemory = null; // Disable the fatal error handler - throw $exception; // Give back $exception to the native handler - } - - $loggedErrors = $this->loggedErrors; - $this->loggedErrors = $exception === $handlerException ? 0 : $this->loggedErrors; - - try { - $this->handleException($handlerException); - } finally { - $this->loggedErrors = $loggedErrors; - } - } - - /** - * Shutdown registered function for handling PHP fatal errors. - * - * @param array|null $error An array as returned by error_get_last() - * - * @internal - */ - public static function handleFatalError(array $error = null): void - { - if (null === self::$reservedMemory) { - return; - } - - $handler = self::$reservedMemory = null; - $handlers = []; - $previousHandler = null; - $sameHandlerLimit = 10; - - while (!\is_array($handler) || !$handler[0] instanceof self) { - $handler = set_exception_handler('var_dump'); - restore_exception_handler(); - - if (!$handler) { - break; - } - restore_exception_handler(); - - if ($handler !== $previousHandler) { - array_unshift($handlers, $handler); - $previousHandler = $handler; - } elseif (0 === --$sameHandlerLimit) { - $handler = null; - break; - } - } - foreach ($handlers as $h) { - set_exception_handler($h); - } - if (!$handler) { - return; - } - if ($handler !== $h) { - $handler[0]->setExceptionHandler($h); - } - $handler = $handler[0]; - $handlers = []; - - if ($exit = null === $error) { - $error = error_get_last(); - } - - if ($error && $error['type'] &= E_PARSE | E_ERROR | E_CORE_ERROR | E_COMPILE_ERROR) { - // Let's not throw anymore but keep logging - $handler->throwAt(0, true); - $trace = isset($error['backtrace']) ? $error['backtrace'] : null; - - if (0 === strpos($error['message'], 'Allowed memory') || 0 === strpos($error['message'], 'Out of memory')) { - $fatalError = new OutOfMemoryError($handler->levels[$error['type']].': '.$error['message'], 0, $error, 2, false, $trace); - } else { - $fatalError = new FatalError($handler->levels[$error['type']].': '.$error['message'], 0, $error, 2, true, $trace); - } - } else { - $fatalError = null; - } - - try { - if (null !== $fatalError) { - self::$exitCode = 255; - $handler->handleException($fatalError); - } - } catch (FatalError $e) { - // Ignore this re-throw - } - - if ($exit && self::$exitCode) { - $exitCode = self::$exitCode; - register_shutdown_function('register_shutdown_function', function () use ($exitCode) { exit($exitCode); }); - } - } - - /** - * Renders the given exception. - * - * As this method is mainly called during boot where nothing is yet available, - * the output is always either HTML or CLI depending where PHP runs. - */ - private function renderException(\Throwable $exception): void - { - $renderer = \in_array(\PHP_SAPI, ['cli', 'phpdbg'], true) ? new CliErrorRenderer() : new HtmlErrorRenderer(0 !== $this->scopedErrors); - - $exception = $renderer->render($exception); - - if (!headers_sent()) { - http_response_code($exception->getStatusCode()); - - foreach ($exception->getHeaders() as $name => $value) { - header($name.': '.$value, false); - } - } - - echo $exception->getAsString(); - } - - /** - * Override this method if you want to define more error enhancers. - * - * @return ErrorEnhancerInterface[] - */ - protected function getErrorEnhancers(): iterable - { - return [ - new UndefinedFunctionErrorEnhancer(), - new UndefinedMethodErrorEnhancer(), - new ClassNotFoundErrorEnhancer(), - ]; - } - - /** - * Cleans the trace by removing function arguments and the frames added by the error handler and DebugClassLoader. - */ - private function cleanTrace(array $backtrace, int $type, string $file, int $line, bool $throw): array - { - $lightTrace = $backtrace; - - for ($i = 0; isset($backtrace[$i]); ++$i) { - if (isset($backtrace[$i]['file'], $backtrace[$i]['line']) && $backtrace[$i]['line'] === $line && $backtrace[$i]['file'] === $file) { - $lightTrace = \array_slice($lightTrace, 1 + $i); - break; - } - } - if (class_exists(DebugClassLoader::class, false)) { - for ($i = \count($lightTrace) - 2; 0 < $i; --$i) { - if (DebugClassLoader::class === ($lightTrace[$i]['class'] ?? null)) { - array_splice($lightTrace, --$i, 2); - } - } - } - if (!($throw || $this->scopedErrors & $type)) { - for ($i = 0; isset($lightTrace[$i]); ++$i) { - unset($lightTrace[$i]['args'], $lightTrace[$i]['object']); - } - } - - return $lightTrace; - } - - /** - * Parse the error message by removing the anonymous class notation - * and using the parent class instead if possible. - */ - private function parseAnonymousClass(string $message): string - { - return preg_replace_callback('/class@anonymous\x00.*?\.php0x?[0-9a-fA-F]++/', static function ($m) { - return class_exists($m[0], false) ? get_parent_class($m[0]).'@anonymous' : $m[0]; - }, $message); - } -} diff --git a/paragonik-backend/vendor/symfony/error-handler/ErrorRenderer/CliErrorRenderer.php b/paragonik-backend/vendor/symfony/error-handler/ErrorRenderer/CliErrorRenderer.php deleted file mode 100644 index aa132d1..0000000 --- a/paragonik-backend/vendor/symfony/error-handler/ErrorRenderer/CliErrorRenderer.php +++ /dev/null @@ -1,46 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\ErrorHandler\ErrorRenderer; - -use Symfony\Component\ErrorHandler\Exception\FlattenException; -use Symfony\Component\VarDumper\Cloner\VarCloner; -use Symfony\Component\VarDumper\Dumper\CliDumper; - -/** - * @author Nicolas Grekas - */ -class CliErrorRenderer implements ErrorRendererInterface -{ - /** - * {@inheritdoc} - */ - public function render(\Throwable $exception): FlattenException - { - $cloner = new VarCloner(); - $dumper = new class() extends CliDumper { - protected function supportsColors(): bool - { - $outputStream = $this->outputStream; - $this->outputStream = fopen('php://stdout', 'w'); - - try { - return parent::supportsColors(); - } finally { - $this->outputStream = $outputStream; - } - } - }; - - return FlattenException::createFromThrowable($exception) - ->setAsString($dumper->dump($cloner->cloneVar($exception), true)); - } -} diff --git a/paragonik-backend/vendor/symfony/error-handler/ErrorRenderer/ErrorRendererInterface.php b/paragonik-backend/vendor/symfony/error-handler/ErrorRenderer/ErrorRendererInterface.php deleted file mode 100644 index aba1966..0000000 --- a/paragonik-backend/vendor/symfony/error-handler/ErrorRenderer/ErrorRendererInterface.php +++ /dev/null @@ -1,27 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\ErrorHandler\ErrorRenderer; - -use Symfony\Component\ErrorHandler\Exception\FlattenException; - -/** - * Formats an exception to be used as response content. - * - * @author Yonel Ceruto - */ -interface ErrorRendererInterface -{ - /** - * Renders a Throwable as a FlattenException. - */ - public function render(\Throwable $exception): FlattenException; -} diff --git a/paragonik-backend/vendor/symfony/error-handler/ErrorRenderer/HtmlErrorRenderer.php b/paragonik-backend/vendor/symfony/error-handler/ErrorRenderer/HtmlErrorRenderer.php deleted file mode 100644 index 883a94f..0000000 --- a/paragonik-backend/vendor/symfony/error-handler/ErrorRenderer/HtmlErrorRenderer.php +++ /dev/null @@ -1,350 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\ErrorHandler\ErrorRenderer; - -use Psr\Log\LoggerInterface; -use Symfony\Component\ErrorHandler\Exception\FlattenException; -use Symfony\Component\HttpFoundation\RequestStack; -use Symfony\Component\HttpFoundation\Response; -use Symfony\Component\HttpKernel\Log\DebugLoggerInterface; - -/** - * @author Yonel Ceruto - */ -class HtmlErrorRenderer implements ErrorRendererInterface -{ - private const GHOST_ADDONS = [ - '02-14' => self::GHOST_HEART, - '02-29' => self::GHOST_PLUS, - '10-18' => self::GHOST_GIFT, - ]; - - private const GHOST_GIFT = 'M124.00534057617188,5.3606138080358505 C124.40059661865234,4.644828304648399 125.1237564086914,3.712414965033531 123.88127899169922,3.487462028861046 C123.53517150878906,3.3097832053899765 123.18894958496094,2.9953975528478622 122.8432846069336,3.345616325736046 C122.07421112060547,3.649444565176964 121.40750122070312,4.074306473135948 122.2164306640625,4.869479164481163 C122.57514953613281,5.3830065578222275 122.90142822265625,6.503447040915489 123.3077621459961,6.626829609274864 C123.55027770996094,6.210384353995323 123.7774658203125,5.785196766257286 124.00534057617188,5.3606138080358505 zM122.30630493164062,7.336987480521202 C121.60028076171875,6.076864704489708 121.03211975097656,4.72498320043087 120.16796875,3.562500938773155 C119.11695098876953,2.44033907353878 117.04605865478516,2.940566048026085 116.57544708251953,4.387995228171349 C115.95028686523438,5.819030746817589 117.2991714477539,7.527640804648399 118.826171875,7.348545059561729 C119.98493194580078,7.367936596274376 121.15027618408203,7.420116886496544 122.30630493164062,7.336987480521202 zM128.1732177734375,7.379541382193565 C129.67486572265625,7.17823551595211 130.53842163085938,5.287807449698448 129.68344116210938,4.032590612769127 C128.92578125,2.693056806921959 126.74605560302734,2.6463639587163925 125.98509216308594,4.007616028189659 C125.32617950439453,5.108129009604454 124.75428009033203,6.258124336600304 124.14962768554688,7.388818249106407 C125.48638916015625,7.465229496359825 126.8357162475586,7.447416767477989 128.1732177734375,7.379541382193565 zM130.6601104736328,8.991325363516808 C131.17202758789062,8.540884003043175 133.1543731689453,8.009847149252892 131.65304565429688,7.582054600119591 C131.2811279296875,7.476506695151329 130.84751892089844,6.99234913289547 130.5132598876953,7.124847874045372 C129.78744506835938,8.02728746831417 128.67140197753906,8.55669592320919 127.50616455078125,8.501235947012901 C127.27806091308594,8.576229080557823 126.11459350585938,8.38720129430294 126.428955078125,8.601900085806847 C127.25099182128906,9.070617660880089 128.0523223876953,9.579657539725304 128.902587890625,9.995706543326378 C129.49813842773438,9.678531631827354 130.0761260986328,9.329126343131065 130.6601104736328,8.991325363516808 zM118.96446990966797,9.246344551444054 C119.4022445678711,8.991325363516808 119.84001922607422,8.736305221915245 120.27779388427734,8.481284126639366 C118.93965911865234,8.414779648184776 117.40827941894531,8.607666000723839 116.39698791503906,7.531384453177452 C116.11186981201172,7.212117180228233 115.83845520019531,6.846597656607628 115.44329071044922,7.248530372977257 C114.96995544433594,7.574637398123741 113.5140609741211,7.908811077475548 114.63501739501953,8.306883797049522 C115.61112976074219,8.883499130606651 116.58037567138672,9.474181160330772 117.58061218261719,10.008124336600304 C118.05723571777344,9.784612640738487 118.50651550292969,9.5052699893713 118.96446990966797,9.246344551444054 zM125.38018035888672,12.091858848929405 C125.9474868774414,11.636047348380089 127.32159423828125,11.201767906546593 127.36749267578125,10.712632164359093 C126.08487701416016,9.974547371268272 124.83960723876953,9.152772888541222 123.49772644042969,8.528907760977745 C123.03594207763672,8.353693947196007 122.66152954101562,8.623294815421104 122.28982543945312,8.857431396842003 C121.19065856933594,9.51122473180294 120.06505584716797,10.12446115911007 119.00167083740234,10.835315689444542 C120.39238739013672,11.69529627263546 121.79983520507812,12.529837593436241 123.22095489501953,13.338589653372765 C123.94580841064453,12.932025894522667 124.66128540039062,12.508862480521202 125.38018035888672,12.091858848929405 zM131.07164001464844,13.514615997672081 C131.66018676757812,13.143282875418663 132.2487335205078,12.771927818655968 132.8372802734375,12.400571808218956 C132.8324737548828,11.156818374991417 132.8523406982422,9.912529930472374 132.81829833984375,8.669195160269737 C131.63046264648438,9.332009300589561 130.45948791503906,10.027913078665733 129.30828857421875,10.752535805106163 C129.182373046875,12.035354599356651 129.24623107910156,13.33940313756466 129.27359008789062,14.628684982657433 C129.88104248046875,14.27079389989376 130.4737548828125,13.888019546866417 131.07164001464844,13.514640793204308 zM117.26847839355469,12.731024727225304 C117.32825469970703,11.67083452641964 117.45709991455078,10.46224020421505 116.17853546142578,10.148179039359093 C115.37110900878906,9.77159021794796 114.25194549560547,8.806716904044151 113.62991333007812,8.81639002263546 C113.61052703857422,10.0110072940588 113.62078857421875,11.20585821568966 113.61869049072266,12.400571808218956 C114.81139373779297,13.144886955618858 115.98292541503906,13.925040230154991 117.20137023925781,14.626662239432335 C117.31951141357422,14.010867103934288 117.24227905273438,13.35805033147335 117.26847839355469,12.731024727225304 zM125.80937957763672,16.836034759879112 C126.51483917236328,16.390663132071495 127.22030639648438,15.945291504263878 127.92576599121094,15.49991987645626 C127.92250061035156,14.215868934988976 127.97560119628906,12.929980263113976 127.91757202148438,11.647302612662315 C127.14225769042969,11.869626984000206 126.25550079345703,12.556857094168663 125.43866729736328,12.983742699027061 C124.82704162597656,13.342005714774132 124.21542358398438,13.700271591544151 123.60379028320312,14.05853746831417 C123.61585235595703,15.429577812552452 123.57081604003906,16.803131088614464 123.64839172363281,18.172149643301964 C124.37957000732422,17.744937881827354 125.09130859375,17.284801468253136 125.80937957763672,16.836034759879112 zM122.8521499633789,16.115344032645226 C122.8521499633789,15.429741844534874 122.8521499633789,14.744139656424522 122.8521499633789,14.05853746831417 C121.43595123291016,13.230924591422081 120.02428436279297,12.395455345511436 118.60256958007812,11.577354416251183 C118.52394104003906,12.888403877615929 118.56887817382812,14.204405769705772 118.55702209472656,15.517732605338097 C119.97289276123047,16.4041957706213 121.37410736083984,17.314891800284386 122.80789947509766,18.172149643301964 C122.86368560791016,17.488990768790245 122.84332275390625,16.800363525748253 122.8521499633789,16.115344032645226 zM131.10684204101562,18.871450409293175 C131.68399047851562,18.48711584508419 132.2611541748047,18.10278509557247 132.8383026123047,17.718475326895714 C132.81423950195312,16.499977096915245 132.89776611328125,15.264989838004112 132.77627563476562,14.05993078649044 C131.5760040283203,14.744719490408897 130.41763305664062,15.524359688162804 129.23875427246094,16.255397781729698 C129.26707458496094,17.516149505972862 129.18060302734375,18.791316971182823 129.3108367919922,20.041303619742393 C129.91973876953125,19.667551025748253 130.51010131835938,19.264152511954308 131.10684204101562,18.871450409293175 zM117.2557373046875,18.188333496451378 C117.25104522705078,17.549470886588097 117.24633026123047,16.91058538854122 117.24163055419922,16.271720871329308 C116.04924774169922,15.525708183646202 114.87187957763672,14.75476549565792 113.66158294677734,14.038097366690636 C113.5858383178711,15.262084946036339 113.62901306152344,16.49083898961544 113.61761474609375,17.717010483145714 C114.82051086425781,18.513254150748253 116.00987243652344,19.330610260367393 117.22888946533203,20.101993545889854 C117.27559661865234,19.466014847159386 117.25241088867188,18.825733169913292 117.2557373046875,18.188333496451378 zM125.8398666381836,22.38675306737423 C126.54049682617188,21.921453461050987 127.24110412597656,21.456151947379112 127.94172668457031,20.99083136022091 C127.94009399414062,19.693386062979698 127.96646118164062,18.395381912589073 127.93160247802734,17.098379120230675 C126.50540924072266,17.97775076329708 125.08877563476562,18.873308166861534 123.68258666992188,19.78428266942501 C123.52366638183594,21.03710363805294 123.626708984375,22.32878302037716 123.62647247314453,23.595300659537315 C124.06291198730469,23.86113165318966 125.1788101196289,22.68297766149044 125.8398666381836,22.38675306737423 zM122.8521499633789,21.83134649693966 C122.76741790771484,20.936696991324425 123.21651458740234,19.67745779454708 122.0794677734375,19.330633148550987 C120.93280029296875,18.604360565543175 119.7907485961914,17.870157226920128 118.62899780273438,17.16818617284298 C118.45966339111328,18.396427139639854 118.63676452636719,19.675991043448448 118.50668334960938,20.919256195425987 C119.89984130859375,21.92635916173458 121.32942199707031,22.88914106786251 122.78502655029297,23.803510650992393 C122.90177917480469,23.1627406924963 122.82917022705078,22.48402212560177 122.8521499633789,21.83134649693966 zM117.9798355102539,21.59483526647091 C116.28416442871094,20.46288488805294 114.58848571777344,19.330957397818565 112.892822265625,18.199007019400597 C112.89473724365234,14.705654129385948 112.84647369384766,11.211485847830772 112.90847778320312,7.718807205557823 C113.7575912475586,7.194885239005089 114.66117858886719,6.765397056937218 115.5350341796875,6.284702762961388 C114.97061157226562,4.668964847922325 115.78496551513672,2.7054970115423203 117.42159271240234,2.1007001250982285 C118.79354095458984,1.537783369421959 120.44731903076172,2.0457767099142075 121.32200622558594,3.23083733022213 C121.95732116699219,2.9050118774175644 122.59264373779297,2.5791852325201035 123.22796630859375,2.253336176276207 C123.86669921875,2.5821153968572617 124.50543975830078,2.9108948558568954 125.1441650390625,3.23967407643795 C126.05941009521484,2.154020771384239 127.62747192382812,1.5344576686620712 128.986328125,2.1429056972265244 C130.61741638183594,2.716217741370201 131.50650024414062,4.675290569663048 130.9215545654297,6.2884936183691025 C131.8018341064453,6.78548763692379 132.7589111328125,7.1738648265600204 133.5660400390625,7.780336365103722 C133.60182189941406,11.252970680594444 133.56637573242188,14.726140961050987 133.5631103515625,18.199007019400597 C130.18914794921875,20.431867584586143 126.86984252929688,22.74994657933712 123.44108581542969,24.897907242178917 C122.44406127929688,24.897628769278526 121.5834732055664,23.815067276358604 120.65831756591797,23.37616156041622 C119.76387023925781,22.784828171133995 118.87168884277344,22.19007681310177 117.9798355102539,21.59483526647091 z'; - private const GHOST_HEART = 'M125.91386369681868,8.305165958366445 C128.95033202169043,-0.40540639102854037 140.8469835342744,8.305165958366445 125.91386369681868,19.504526138305664 C110.98208663272044,8.305165958366445 122.87795231771452,-0.40540639102854037 125.91386369681868,8.305165958366445 z'; - private const GHOST_PLUS = 'M111.36824226379395,8.969108581542969 L118.69175148010254,8.969108581542969 L118.69175148010254,1.6455793380737305 L126.20429420471191,1.6455793380737305 L126.20429420471191,8.969108581542969 L133.52781105041504,8.969108581542969 L133.52781105041504,16.481630325317383 L126.20429420471191,16.481630325317383 L126.20429420471191,23.805158615112305 L118.69175148010254,23.805158615112305 L118.69175148010254,16.481630325317383 L111.36824226379395,16.481630325317383 z'; - - private $debug; - private $charset; - private $fileLinkFormat; - private $projectDir; - private $outputBuffer; - private $logger; - - /** - * @param bool|callable $debug The debugging mode as a boolean or a callable that should return it - * @param bool|callable $outputBuffer The output buffer as a string or a callable that should return it - */ - public function __construct($debug = false, string $charset = null, $fileLinkFormat = null, string $projectDir = null, $outputBuffer = '', LoggerInterface $logger = null) - { - if (!\is_bool($debug) && !\is_callable($debug)) { - throw new \TypeError(sprintf('Argument 1 passed to %s() must be a boolean or a callable, %s given.', __METHOD__, \is_object($debug) ? \get_class($debug) : \gettype($debug))); - } - - if (!\is_string($outputBuffer) && !\is_callable($outputBuffer)) { - throw new \TypeError(sprintf('Argument 5 passed to %s() must be a string or a callable, %s given.', __METHOD__, \is_object($outputBuffer) ? \get_class($outputBuffer) : \gettype($outputBuffer))); - } - - $this->debug = $debug; - $this->charset = $charset ?: (ini_get('default_charset') ?: 'UTF-8'); - $this->fileLinkFormat = $fileLinkFormat ?: (ini_get('xdebug.file_link_format') ?: get_cfg_var('xdebug.file_link_format')); - $this->projectDir = $projectDir; - $this->outputBuffer = $outputBuffer; - $this->logger = $logger; - } - - /** - * {@inheritdoc} - */ - public function render(\Throwable $exception): FlattenException - { - $exception = FlattenException::createFromThrowable($exception, null, [ - 'Content-Type' => 'text/html; charset='.$this->charset, - ]); - - return $exception->setAsString($this->renderException($exception)); - } - - /** - * Gets the HTML content associated with the given exception. - */ - public function getBody(FlattenException $exception): string - { - return $this->renderException($exception, 'views/exception.html.php'); - } - - /** - * Gets the stylesheet associated with the given exception. - */ - public function getStylesheet(): string - { - if (!$this->debug) { - return $this->include('assets/css/error.css'); - } - - return $this->include('assets/css/exception.css'); - } - - public static function isDebug(RequestStack $requestStack, bool $debug): \Closure - { - return static function () use ($requestStack, $debug): bool { - if (!$request = $requestStack->getCurrentRequest()) { - return $debug; - } - - return $debug && $request->attributes->getBoolean('showException', true); - }; - } - - public static function getAndCleanOutputBuffer(RequestStack $requestStack): \Closure - { - return static function () use ($requestStack): string { - if (!$request = $requestStack->getCurrentRequest()) { - return ''; - } - - $startObLevel = $request->headers->get('X-Php-Ob-Level', -1); - - if (ob_get_level() <= $startObLevel) { - return ''; - } - - Response::closeOutputBuffers($startObLevel + 1, true); - - return ob_get_clean(); - }; - } - - private function renderException(FlattenException $exception, string $debugTemplate = 'views/exception_full.html.php'): string - { - $debug = \is_bool($this->debug) ? $this->debug : ($this->debug)($exception); - $statusText = $this->escape($exception->getStatusText()); - $statusCode = $this->escape($exception->getStatusCode()); - - if (!$debug) { - return $this->include('views/error.html.php', [ - 'statusText' => $statusText, - 'statusCode' => $statusCode, - ]); - } - - $exceptionMessage = $this->escape($exception->getMessage()); - - return $this->include($debugTemplate, [ - 'exception' => $exception, - 'exceptionMessage' => $exceptionMessage, - 'statusText' => $statusText, - 'statusCode' => $statusCode, - 'logger' => $this->logger instanceof DebugLoggerInterface ? $this->logger : null, - 'currentContent' => \is_string($this->outputBuffer) ? $this->outputBuffer : ($this->outputBuffer)(), - ]); - } - - /** - * Formats an array as a string. - */ - private function formatArgs(array $args): string - { - $result = []; - foreach ($args as $key => $item) { - if ('object' === $item[0]) { - $formattedValue = sprintf('object(%s)', $this->abbrClass($item[1])); - } elseif ('array' === $item[0]) { - $formattedValue = sprintf('array(%s)', \is_array($item[1]) ? $this->formatArgs($item[1]) : $item[1]); - } elseif ('null' === $item[0]) { - $formattedValue = 'null'; - } elseif ('boolean' === $item[0]) { - $formattedValue = ''.strtolower(var_export($item[1], true)).''; - } elseif ('resource' === $item[0]) { - $formattedValue = 'resource'; - } else { - $formattedValue = str_replace("\n", '', $this->escape(var_export($item[1], true))); - } - - $result[] = \is_int($key) ? $formattedValue : sprintf("'%s' => %s", $this->escape($key), $formattedValue); - } - - return implode(', ', $result); - } - - private function formatArgsAsText(array $args) - { - return strip_tags($this->formatArgs($args)); - } - - private function escape(string $string): string - { - return htmlspecialchars($string, ENT_COMPAT | ENT_SUBSTITUTE, $this->charset); - } - - private function abbrClass(string $class): string - { - $parts = explode('\\', $class); - $short = array_pop($parts); - - return sprintf('%s', $class, $short); - } - - private function getFileRelative(string $file): ?string - { - $file = str_replace('\\', '/', $file); - - if (null !== $this->projectDir && 0 === strpos($file, $this->projectDir)) { - return ltrim(substr($file, \strlen($this->projectDir)), '/'); - } - - return null; - } - - /** - * Returns the link for a given file/line pair. - * - * @return string|false A link or false - */ - private function getFileLink(string $file, int $line) - { - if ($fmt = $this->fileLinkFormat) { - return \is_string($fmt) ? strtr($fmt, ['%f' => $file, '%l' => $line]) : $fmt->format($file, $line); - } - - return false; - } - - /** - * Formats a file path. - * - * @param string $file An absolute file path - * @param int $line The line number - * @param string $text Use this text for the link rather than the file path - */ - private function formatFile(string $file, int $line, string $text = null): string - { - $file = trim($file); - - if (null === $text) { - $text = $file; - if (null !== $rel = $this->getFileRelative($text)) { - $rel = explode('/', $rel, 2); - $text = sprintf('%s%s', $this->projectDir, $rel[0], '/'.($rel[1] ?? '')); - } - } - - if (0 < $line) { - $text .= ' at line '.$line; - } - - if (false !== $link = $this->getFileLink($file, $line)) { - return sprintf('%s', $this->escape($link), $text); - } - - return $text; - } - - /** - * Returns an excerpt of a code file around the given line number. - * - * @param string $file A file path - * @param int $line The selected line number - * @param int $srcContext The number of displayed lines around or -1 for the whole file - * - * @return string An HTML string - */ - private function fileExcerpt(string $file, int $line, int $srcContext = 3): string - { - if (is_file($file) && is_readable($file)) { - // highlight_file could throw warnings - // see https://bugs.php.net/25725 - $code = @highlight_file($file, true); - // remove main code/span tags - $code = preg_replace('#^\s*(.*)\s*#s', '\\1', $code); - // split multiline spans - $code = preg_replace_callback('#]++)>((?:[^<]*+
    )++[^<]*+)
    #', function ($m) { - return "".str_replace('
    ', "

    ", $m[2]).''; - }, $code); - $content = explode('
    ', $code); - - $lines = []; - if (0 > $srcContext) { - $srcContext = \count($content); - } - - for ($i = max($line - $srcContext, 1), $max = min($line + $srcContext, \count($content)); $i <= $max; ++$i) { - $lines[] = ''.$this->fixCodeMarkup($content[$i - 1]).''; - } - - return '
      '.implode("\n", $lines).'
    '; - } - - return ''; - } - - private function fixCodeMarkup(string $line) - { - // ending tag from previous line - $opening = strpos($line, ''); - if (false !== $closing && (false === $opening || $closing < $opening)) { - $line = substr_replace($line, '', $closing, 7); - } - - // missing tag at the end of line - $opening = strpos($line, ''); - if (false !== $opening && (false === $closing || $closing > $opening)) { - $line .= ''; - } - - return trim($line); - } - - private function formatFileFromText(string $text) - { - return preg_replace_callback('/in ("|")?(.+?)\1(?: +(?:on|at))? +line (\d+)/s', function ($match) { - return 'in '.$this->formatFile($match[2], $match[3]); - }, $text); - } - - private function formatLogMessage(string $message, array $context) - { - if ($context && false !== strpos($message, '{')) { - $replacements = []; - foreach ($context as $key => $val) { - if (is_scalar($val)) { - $replacements['{'.$key.'}'] = $val; - } - } - - if ($replacements) { - $message = strtr($message, $replacements); - } - } - - return $this->escape($message); - } - - private function addElementToGhost(): string - { - if (!isset(self::GHOST_ADDONS[date('m-d')])) { - return ''; - } - - return ''; - } - - private function include(string $name, array $context = []): string - { - extract($context, EXTR_SKIP); - ob_start(); - include __DIR__.'/../Resources/'.$name; - - return trim(ob_get_clean()); - } -} diff --git a/paragonik-backend/vendor/symfony/error-handler/ErrorRenderer/SerializerErrorRenderer.php b/paragonik-backend/vendor/symfony/error-handler/ErrorRenderer/SerializerErrorRenderer.php deleted file mode 100644 index 6cc363d..0000000 --- a/paragonik-backend/vendor/symfony/error-handler/ErrorRenderer/SerializerErrorRenderer.php +++ /dev/null @@ -1,80 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\ErrorHandler\ErrorRenderer; - -use Symfony\Component\ErrorHandler\Exception\FlattenException; -use Symfony\Component\HttpFoundation\RequestStack; -use Symfony\Component\Serializer\Exception\NotEncodableValueException; -use Symfony\Component\Serializer\SerializerInterface; - -/** - * Formats an exception using Serializer for rendering. - * - * @author Nicolas Grekas - */ -class SerializerErrorRenderer implements ErrorRendererInterface -{ - private $serializer; - private $format; - private $fallbackErrorRenderer; - private $debug; - - /** - * @param string|callable(FlattenException) $format The format as a string or a callable that should return it - * @param bool|callable $debug The debugging mode as a boolean or a callable that should return it - */ - public function __construct(SerializerInterface $serializer, $format, ErrorRendererInterface $fallbackErrorRenderer = null, $debug = false) - { - if (!\is_string($format) && !\is_callable($format)) { - throw new \TypeError(sprintf('Argument 2 passed to %s() must be a string or a callable, %s given.', __METHOD__, \is_object($format) ? \get_class($format) : \gettype($format))); - } - - if (!\is_bool($debug) && !\is_callable($debug)) { - throw new \TypeError(sprintf('Argument 4 passed to %s() must be a boolean or a callable, %s given.', __METHOD__, \is_object($debug) ? \get_class($debug) : \gettype($debug))); - } - - $this->serializer = $serializer; - $this->format = $format; - $this->fallbackErrorRenderer = $fallbackErrorRenderer ?? new HtmlErrorRenderer(); - $this->debug = $debug; - } - - /** - * {@inheritdoc} - */ - public function render(\Throwable $exception): FlattenException - { - $flattenException = FlattenException::createFromThrowable($exception); - - try { - $format = \is_string($this->format) ? $this->format : ($this->format)($flattenException); - - return $flattenException->setAsString($this->serializer->serialize($flattenException, $format, [ - 'exception' => $exception, - 'debug' => \is_bool($this->debug) ? $this->debug : ($this->debug)($exception), - ])); - } catch (NotEncodableValueException $e) { - return $this->fallbackErrorRenderer->render($exception); - } - } - - public static function getPreferredFormat(RequestStack $requestStack): \Closure - { - return static function () use ($requestStack) { - if (!$request = $requestStack->getCurrentRequest()) { - throw new NotEncodableValueException(); - } - - return $request->getPreferredFormat(); - }; - } -} diff --git a/paragonik-backend/vendor/symfony/error-handler/Exception/FlattenException.php b/paragonik-backend/vendor/symfony/error-handler/Exception/FlattenException.php deleted file mode 100644 index 818cb9a..0000000 --- a/paragonik-backend/vendor/symfony/error-handler/Exception/FlattenException.php +++ /dev/null @@ -1,406 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\ErrorHandler\Exception; - -use Symfony\Component\Debug\Exception\FatalThrowableError; -use Symfony\Component\Debug\Exception\FlattenException as LegacyFlattenException; -use Symfony\Component\HttpFoundation\Exception\RequestExceptionInterface; -use Symfony\Component\HttpFoundation\Response; -use Symfony\Component\HttpKernel\Exception\HttpExceptionInterface; - -/** - * FlattenException wraps a PHP Error or Exception to be able to serialize it. - * - * Basically, this class removes all objects from the trace. - * - * @author Fabien Potencier - */ -class FlattenException extends LegacyFlattenException -{ - private $message; - private $code; - private $previous; - private $trace; - private $traceAsString; - private $class; - private $statusCode; - private $statusText; - private $headers; - private $file; - private $line; - private $asString; - - public static function create(\Exception $exception, $statusCode = null, array $headers = []): self - { - return static::createFromThrowable($exception, $statusCode, $headers); - } - - public static function createFromThrowable(\Throwable $exception, int $statusCode = null, array $headers = []): self - { - $e = new static(); - $e->setMessage($exception->getMessage()); - $e->setCode($exception->getCode()); - - if ($exception instanceof HttpExceptionInterface) { - $statusCode = $exception->getStatusCode(); - $headers = array_merge($headers, $exception->getHeaders()); - } elseif ($exception instanceof RequestExceptionInterface) { - $statusCode = 400; - } - - if (null === $statusCode) { - $statusCode = 500; - } - - if (class_exists(Response::class) && isset(Response::$statusTexts[$statusCode])) { - $statusText = Response::$statusTexts[$statusCode]; - } else { - $statusText = 'Whoops, looks like something went wrong.'; - } - - $e->setStatusText($statusText); - $e->setStatusCode($statusCode); - $e->setHeaders($headers); - $e->setTraceFromThrowable($exception); - $e->setClass($exception instanceof FatalThrowableError ? $exception->getOriginalClassName() : \get_class($exception)); - $e->setFile($exception->getFile()); - $e->setLine($exception->getLine()); - - $previous = $exception->getPrevious(); - - if ($previous instanceof \Throwable) { - $e->setPrevious(static::createFromThrowable($previous)); - } - - return $e; - } - - public function toArray(): array - { - $exceptions = []; - foreach (array_merge([$this], $this->getAllPrevious()) as $exception) { - $exceptions[] = [ - 'message' => $exception->getMessage(), - 'class' => $exception->getClass(), - 'trace' => $exception->getTrace(), - ]; - } - - return $exceptions; - } - - public function getStatusCode(): int - { - return $this->statusCode; - } - - /** - * @return $this - */ - public function setStatusCode($code): self - { - $this->statusCode = $code; - - return $this; - } - - public function getHeaders(): array - { - return $this->headers; - } - - /** - * @return $this - */ - public function setHeaders(array $headers): self - { - $this->headers = $headers; - - return $this; - } - - public function getClass(): string - { - return $this->class; - } - - /** - * @return $this - */ - public function setClass($class): self - { - $this->class = 'c' === $class[0] && 0 === strpos($class, "class@anonymous\0") ? get_parent_class($class).'@anonymous' : $class; - - return $this; - } - - public function getFile(): string - { - return $this->file; - } - - /** - * @return $this - */ - public function setFile($file): self - { - $this->file = $file; - - return $this; - } - - public function getLine(): int - { - return $this->line; - } - - /** - * @return $this - */ - public function setLine($line): self - { - $this->line = $line; - - return $this; - } - - public function getStatusText(): string - { - return $this->statusText; - } - - public function setStatusText(string $statusText): self - { - $this->statusText = $statusText; - - return $this; - } - - public function getMessage(): string - { - return $this->message; - } - - /** - * @return $this - */ - public function setMessage($message): self - { - if (false !== strpos($message, "class@anonymous\0")) { - $message = preg_replace_callback('/class@anonymous\x00.*?\.php0x?[0-9a-fA-F]++/', function ($m) { - return class_exists($m[0], false) ? get_parent_class($m[0]).'@anonymous' : $m[0]; - }, $message); - } - - $this->message = $message; - - return $this; - } - - public function getCode(): int - { - return $this->code; - } - - /** - * @return $this - */ - public function setCode($code): self - { - $this->code = $code; - - return $this; - } - - /** - * @return self|null - */ - public function getPrevious() - { - return $this->previous; - } - - /** - * @return $this - */ - final public function setPrevious(LegacyFlattenException $previous): self - { - $this->previous = $previous; - - return $this; - } - - /** - * @return self[] - */ - public function getAllPrevious(): array - { - $exceptions = []; - $e = $this; - while ($e = $e->getPrevious()) { - $exceptions[] = $e; - } - - return $exceptions; - } - - public function getTrace(): array - { - return $this->trace; - } - - /** - * @deprecated since 4.1, use {@see setTraceFromThrowable()} instead. - */ - public function setTraceFromException(\Exception $exception) - { - @trigger_error(sprintf('The "%s()" method is deprecated since Symfony 4.1, use "setTraceFromThrowable()" instead.', __METHOD__), E_USER_DEPRECATED); - - $this->setTraceFromThrowable($exception); - } - - /** - * @return $this - */ - public function setTraceFromThrowable(\Throwable $throwable): self - { - $this->traceAsString = $throwable->getTraceAsString(); - - return $this->setTrace($throwable->getTrace(), $throwable->getFile(), $throwable->getLine()); - } - - /** - * @return $this - */ - public function setTrace($trace, $file, $line): self - { - $this->trace = []; - $this->trace[] = [ - 'namespace' => '', - 'short_class' => '', - 'class' => '', - 'type' => '', - 'function' => '', - 'file' => $file, - 'line' => $line, - 'args' => [], - ]; - foreach ($trace as $entry) { - $class = ''; - $namespace = ''; - if (isset($entry['class'])) { - $parts = explode('\\', $entry['class']); - $class = array_pop($parts); - $namespace = implode('\\', $parts); - } - - $this->trace[] = [ - 'namespace' => $namespace, - 'short_class' => $class, - 'class' => isset($entry['class']) ? $entry['class'] : '', - 'type' => isset($entry['type']) ? $entry['type'] : '', - 'function' => isset($entry['function']) ? $entry['function'] : null, - 'file' => isset($entry['file']) ? $entry['file'] : null, - 'line' => isset($entry['line']) ? $entry['line'] : null, - 'args' => isset($entry['args']) ? $this->flattenArgs($entry['args']) : [], - ]; - } - - return $this; - } - - private function flattenArgs(array $args, int $level = 0, int &$count = 0): array - { - $result = []; - foreach ($args as $key => $value) { - if (++$count > 1e4) { - return ['array', '*SKIPPED over 10000 entries*']; - } - if ($value instanceof \__PHP_Incomplete_Class) { - // is_object() returns false on PHP<=7.1 - $result[$key] = ['incomplete-object', $this->getClassNameFromIncomplete($value)]; - } elseif (\is_object($value)) { - $result[$key] = ['object', \get_class($value)]; - } elseif (\is_array($value)) { - if ($level > 10) { - $result[$key] = ['array', '*DEEP NESTED ARRAY*']; - } else { - $result[$key] = ['array', $this->flattenArgs($value, $level + 1, $count)]; - } - } elseif (null === $value) { - $result[$key] = ['null', null]; - } elseif (\is_bool($value)) { - $result[$key] = ['boolean', $value]; - } elseif (\is_int($value)) { - $result[$key] = ['integer', $value]; - } elseif (\is_float($value)) { - $result[$key] = ['float', $value]; - } elseif (\is_resource($value)) { - $result[$key] = ['resource', get_resource_type($value)]; - } else { - $result[$key] = ['string', (string) $value]; - } - } - - return $result; - } - - private function getClassNameFromIncomplete(\__PHP_Incomplete_Class $value): string - { - $array = new \ArrayObject($value); - - return $array['__PHP_Incomplete_Class_Name']; - } - - public function getTraceAsString(): string - { - return $this->traceAsString; - } - - /** - * @return $this - */ - public function setAsString(?string $asString): self - { - $this->asString = $asString; - - return $this; - } - - public function getAsString(): string - { - if (null !== $this->asString) { - return $this->asString; - } - - $message = ''; - $next = false; - - foreach (array_reverse(array_merge([$this], $this->getAllPrevious())) as $exception) { - if ($next) { - $message .= 'Next '; - } else { - $next = true; - } - $message .= $exception->getClass(); - - if ('' != $exception->getMessage()) { - $message .= ': '.$exception->getMessage(); - } - - $message .= ' in '.$exception->getFile().':'.$exception->getLine(). - "\nStack trace:\n".$exception->getTraceAsString()."\n\n"; - } - - return rtrim($message); - } -} diff --git a/paragonik-backend/vendor/symfony/error-handler/Exception/SilencedErrorContext.php b/paragonik-backend/vendor/symfony/error-handler/Exception/SilencedErrorContext.php deleted file mode 100644 index 18defc7..0000000 --- a/paragonik-backend/vendor/symfony/error-handler/Exception/SilencedErrorContext.php +++ /dev/null @@ -1,67 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\ErrorHandler\Exception; - -/** - * Data Object that represents a Silenced Error. - * - * @author Grégoire Pineau - */ -class SilencedErrorContext implements \JsonSerializable -{ - public $count = 1; - - private $severity; - private $file; - private $line; - private $trace; - - public function __construct(int $severity, string $file, int $line, array $trace = [], int $count = 1) - { - $this->severity = $severity; - $this->file = $file; - $this->line = $line; - $this->trace = $trace; - $this->count = $count; - } - - public function getSeverity(): int - { - return $this->severity; - } - - public function getFile(): string - { - return $this->file; - } - - public function getLine(): int - { - return $this->line; - } - - public function getTrace(): array - { - return $this->trace; - } - - public function jsonSerialize(): array - { - return [ - 'severity' => $this->severity, - 'file' => $this->file, - 'line' => $this->line, - 'trace' => $this->trace, - 'count' => $this->count, - ]; - } -} diff --git a/paragonik-backend/vendor/symfony/error-handler/LICENSE b/paragonik-backend/vendor/symfony/error-handler/LICENSE deleted file mode 100644 index 1a18697..0000000 --- a/paragonik-backend/vendor/symfony/error-handler/LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 2019 Fabien Potencier - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is furnished -to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/paragonik-backend/vendor/symfony/error-handler/README.md b/paragonik-backend/vendor/symfony/error-handler/README.md deleted file mode 100644 index 17e1cfd..0000000 --- a/paragonik-backend/vendor/symfony/error-handler/README.md +++ /dev/null @@ -1,12 +0,0 @@ -ErrorHandler Component -====================== - -The ErrorHandler component provides tools to manage errors and ease debugging PHP code. - -Resources ---------- - - * [Contributing](https://symfony.com/doc/current/contributing/index.html) - * [Report issues](https://github.com/symfony/symfony/issues) and - [send Pull Requests](https://github.com/symfony/symfony/pulls) - in the [main Symfony repository](https://github.com/symfony/symfony) diff --git a/paragonik-backend/vendor/symfony/error-handler/Resources/assets/css/error.css b/paragonik-backend/vendor/symfony/error-handler/Resources/assets/css/error.css deleted file mode 100644 index 332d818..0000000 --- a/paragonik-backend/vendor/symfony/error-handler/Resources/assets/css/error.css +++ /dev/null @@ -1,4 +0,0 @@ -body { background-color: #fff; color: #222; font: 16px/1.5 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; margin: 0; } -.container { margin: 30px; max-width: 600px; } -h1 { color: #dc3545; font-size: 24px; } -h2 { font-size: 18px; } diff --git a/paragonik-backend/vendor/symfony/error-handler/Resources/assets/css/exception.css b/paragonik-backend/vendor/symfony/error-handler/Resources/assets/css/exception.css deleted file mode 100644 index 952c66d..0000000 --- a/paragonik-backend/vendor/symfony/error-handler/Resources/assets/css/exception.css +++ /dev/null @@ -1,209 +0,0 @@ -/* This file is based on WebProfilerBundle/Resources/views/Profiler/profiler.css.twig. - If you make any change in this file, verify the same change is needed in the other file. */ -:root { - --font-sans-serif: Helvetica, Arial, sans-serif; - --page-background: #f9f9f9; - --color-text: #222; - /* when updating any of these colors, do the same in toolbar.css.twig */ - --color-success: #4f805d; - --color-warning: #a46a1f; - --color-error: #b0413e; - --color-muted: #999; - --tab-background: #fff; - --tab-color: #444; - --tab-active-background: #666; - --tab-active-color: #fafafa; - --tab-disabled-background: #f5f5f5; - --tab-disabled-color: #999; - --metric-value-background: #fff; - --metric-value-color: inherit; - --metric-unit-color: #999; - --metric-label-background: #e0e0e0; - --metric-label-color: inherit; - --table-border: #e0e0e0; - --table-background: #fff; - --table-header: #e0e0e0; - --trace-selected-background: #F7E5A1; - --tree-active-background: #F7E5A1; - --exception-title-color: var(--base-2); - --shadow: 0px 0px 1px rgba(128, 128, 128, .2); - --border: 1px solid #e0e0e0; - --background-error: var(--color-error); - --highlight-comment: #969896; - --highlight-default: #222222; - --highlight-keyword: #a71d5d; - --highlight-string: #183691; - --base-0: #fff; - --base-1: #f5f5f5; - --base-2: #e0e0e0; - --base-3: #ccc; - --base-4: #666; - --base-5: #444; - --base-6: #222; -} - -html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0;font-size:2em}mark{color:#000;background:#ff0}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{height:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid silver}legend{padding:0;border:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-spacing:0;border-collapse:collapse}td,th{padding:0} - -html { - /* always display the vertical scrollbar to avoid jumps when toggling contents */ - overflow-y: scroll; -} -body { background-color: #F9F9F9; color: var(--base-6); font: 14px/1.4 Helvetica, Arial, sans-serif; padding-bottom: 45px; } - -a { cursor: pointer; text-decoration: none; } -a:hover { text-decoration: underline; } -abbr[title] { border-bottom: none; cursor: help; text-decoration: none; } - -code, pre { font: 13px/1.5 Consolas, Monaco, Menlo, "Ubuntu Mono", "Liberation Mono", monospace; } - -table, tr, th, td { background: #FFF; border-collapse: collapse; vertical-align: top; } -table { background: #FFF; border: var(--border); box-shadow: 0px 0px 1px rgba(128, 128, 128, .2); margin: 1em 0; width: 100%; } -table th, table td { border: solid var(--base-2); border-width: 1px 0; padding: 8px 10px; } -table th { background-color: var(--base-2); font-weight: bold; text-align: left; } - -.m-t-5 { margin-top: 5px; } -.hidden-xs-down { display: none; } -.block { display: block; } -.full-width { width: 100%; } -.hidden { display: none; } -.prewrap { white-space: pre-wrap; } -.nowrap { white-space: nowrap; } -.newline { display: block; } -.break-long-words { word-wrap: break-word; overflow-wrap: break-word; -webkit-hyphens: auto; -moz-hyphens: auto; hyphens: auto; min-width: 0; } -.text-small { font-size: 12px !important; } -.text-muted { color: #999; } -.text-bold { font-weight: bold; } -.empty { border: 4px dashed var(--base-2); color: #999; margin: 1em 0; padding: .5em 2em; } - -.status-success { background: rgba(94, 151, 110, 0.3); } -.status-warning { background: rgba(240, 181, 24, 0.3); } -.status-error { background: rgba(176, 65, 62, 0.2); } -.status-success td, .status-warning td, .status-error td { background: transparent; } -tr.status-error td, tr.status-warning td { border-bottom: 1px solid #FAFAFA; border-top: 1px solid #FAFAFA; } -.status-warning .colored { color: #A46A1F; } -.status-error .colored { color: var(--color-error); } - -.sf-toggle { cursor: pointer; } -.sf-toggle-content { -moz-transition: display .25s ease; -webkit-transition: display .25s ease; transition: display .25s ease; } -.sf-toggle-content.sf-toggle-hidden { display: none; } -.sf-toggle-content.sf-toggle-visible { display: block; } -thead.sf-toggle-content.sf-toggle-visible, tbody.sf-toggle-content.sf-toggle-visible { display: table-row-group; } -.sf-toggle-off .icon-close, .sf-toggle-on .icon-open { display: none; } -.sf-toggle-off .icon-open, .sf-toggle-on .icon-close { display: block; } - -.tab-navigation { margin: 0 0 1em 0; padding: 0; } -.tab-navigation li { background: var(--tab-background); border: 1px solid var(--table-border); color: var(--tab-color); cursor: pointer; display: inline-block; font-size: 16px; margin: 0 0 0 -1px; padding: .5em .75em; z-index: 1; } -.tab-navigation li .badge { background-color: var(--base-1); color: var(--base-4); display: inline-block; font-size: 14px; font-weight: bold; margin-left: 8px; min-width: 10px; padding: 1px 6px; text-align: center; white-space: nowrap; } -.tab-navigation li.disabled { background: var(--tab-disabled-background); color: var(--tab-disabled-color); } -.tab-navigation li.active { background: var(--tab-active-background); color: var(--tab-active-color); z-index: 1100; } -.tab-navigation li.active .badge { background-color: var(--base-5); color: var(--base-2); } -.tab-content > *:first-child { margin-top: 0; } -.tab-navigation li .badge.status-warning { background: var(--color-warning); color: #FFF; } -.tab-navigation li .badge.status-error { background: var(--background-error); color: #FFF; } -.sf-tabs .tab:not(:first-child) { display: none; } - -[data-filters] { position: relative; } -[data-filtered] { cursor: pointer; } -[data-filtered]:after { content: '\00a0\25BE'; } -[data-filtered]:hover .filter-list li { display: inline-flex; } -[class*="filter-hidden-"] { display: none; } -.filter-list { position: absolute; border: var(--border); box-shadow: var(--shadow); margin: 0; padding: 0; display: flex; flex-direction: column; } -.filter-list :after { content: ''; } -.filter-list li { - background: var(--tab-disabled-background); - border-bottom: var(--border); - color: var(--tab-disabled-color); - display: none; - list-style: none; - margin: 0; - padding: 5px 10px; - text-align: left; - font-weight: normal; -} -.filter-list li.active { - background: var(--tab-background); - color: var(--tab-color); -} -.filter-list li.last-active { - background: var(--tab-active-background); - color: var(--tab-active-color); -} - -.filter-list-level li { cursor: s-resize; } -.filter-list-level li.active { cursor: n-resize; } -.filter-list-level li.last-active { cursor: default; } -.filter-list-level li.last-active:before { content: '\2714\00a0'; } -.filter-list-choice li:before { content: '\2714\00a0'; color: transparent; } -.filter-list-choice li.active:before { color: unset; } - -.container { max-width: 1024px; margin: 0 auto; padding: 0 15px; } -.container::after { content: ""; display: table; clear: both; } - -header { background-color: var(--base-6); color: rgba(255, 255, 255, 0.75); font-size: 13px; height: 33px; line-height: 33px; padding: 0; } -header .container { display: flex; justify-content: space-between; } -.logo { flex: 1; font-size: 13px; font-weight: normal; margin: 0; padding: 0; } -.logo svg { height: 18px; width: 18px; opacity: .8; vertical-align: -5px; } - -.help-link { margin-left: 15px; } -.help-link a { color: inherit; } -.help-link .icon svg { height: 15px; width: 15px; opacity: .7; vertical-align: -2px; } -.help-link a:hover { color: #EEE; text-decoration: none; } -.help-link a:hover svg { opacity: .9; } - -.exception-summary { background: var(--background-error); border-bottom: 2px solid rgba(0, 0, 0, 0.1); border-top: 1px solid rgba(0, 0, 0, .3); flex: 0 0 auto; margin-bottom: 15px; } -.exception-metadata { background: rgba(0, 0, 0, 0.1); padding: 7px 0; } -.exception-metadata .container { display: flex; flex-direction: row; justify-content: space-between; } -.exception-metadata h2, .exception-metadata h2 > a { color: rgba(255, 255, 255, 0.8); font-size: 13px; font-weight: 400; margin: 0; } -.exception-http small { font-size: 13px; opacity: .7; } -.exception-hierarchy { flex: 1; } -.exception-hierarchy .icon { margin: 0 3px; opacity: .7; } -.exception-hierarchy .icon svg { height: 13px; width: 13px; vertical-align: -2px; } - -.exception-without-message .exception-message-wrapper { display: none; } -.exception-message-wrapper .container { display: flex; align-items: flex-start; min-height: 70px; padding: 10px 15px 8px; } -.exception-message { flex-grow: 1; } -.exception-message, .exception-message a { color: #FFF; font-size: 21px; font-weight: 400; margin: 0; } -.exception-message.long { font-size: 18px; } -.exception-message a { border-bottom: 1px solid rgba(255, 255, 255, 0.5); font-size: inherit; text-decoration: none; } -.exception-message a:hover { border-bottom-color: #ffffff; } - -.exception-illustration { flex-basis: 111px; flex-shrink: 0; height: 66px; margin-left: 15px; opacity: .7; } - -.trace + .trace { margin-top: 30px; } -.trace-head { background-color: var(--base-2); padding: 10px; position: relative; } -.trace-head .trace-class { color: var(--base-6); font-size: 18px; font-weight: bold; line-height: 1.3; margin: 0; position: relative; } -.trace-head .trace-namespace { color: #999; display: block; font-size: 13px; } -.trace-head .icon { position: absolute; right: 0; top: 0; } -.trace-head .icon svg { height: 24px; width: 24px; } - -.trace-details { background: var(--base-0); border: var(--border); box-shadow: 0px 0px 1px rgba(128, 128, 128, .2); margin: 1em 0; table-layout: fixed; } - -.trace-message { font-size: 14px; font-weight: normal; margin: .5em 0 0; } - -.trace-line { position: relative; padding-top: 8px; padding-bottom: 8px; } -.trace-line + .trace-line { border-top: var(--border); } -.trace-line:hover { background: var(--base-1); } -.trace-line a { color: var(--base-6); } -.trace-line .icon { opacity: .4; position: absolute; left: 10px; top: 11px; } -.trace-line .icon svg { height: 16px; width: 16px; } -.trace-line-header { padding-left: 36px; padding-right: 10px; } - -.trace-file-path, .trace-file-path a { color: var(--base-6); font-size: 13px; } -.trace-class { color: var(--color-error); } -.trace-type { padding: 0 2px; } -.trace-method { color: var(--color-error); font-weight: bold; } -.trace-arguments { color: #777; font-weight: normal; padding-left: 2px; } - -.trace-code { background: var(--base-0); font-size: 12px; margin: 10px 10px 2px 10px; padding: 10px; overflow-x: auto; white-space: nowrap; } -.trace-code ol { margin: 0; float: left; } -.trace-code li { color: #969896; margin: 0; padding-left: 10px; float: left; width: 100%; } -.trace-code li + li { margin-top: 5px; } -.trace-code li.selected { background: var(--trace-selected-background); margin-top: 2px; } -.trace-code li code { color: var(--base-6); white-space: nowrap; } - -.trace-as-text .stacktrace { line-height: 1.8; margin: 0 0 15px; white-space: pre-wrap; } - -@media (min-width: 575px) { - .hidden-xs-down { display: initial; } - .help-link { margin-left: 30px; } -} diff --git a/paragonik-backend/vendor/symfony/error-handler/Resources/assets/css/exception_full.css b/paragonik-backend/vendor/symfony/error-handler/Resources/assets/css/exception_full.css deleted file mode 100644 index fa77cb3..0000000 --- a/paragonik-backend/vendor/symfony/error-handler/Resources/assets/css/exception_full.css +++ /dev/null @@ -1,128 +0,0 @@ -.sf-reset .traces { - padding-bottom: 14px; -} -.sf-reset .traces li { - font-size: 12px; - color: #868686; - padding: 5px 4px; - list-style-type: decimal; - margin-left: 20px; -} -.sf-reset #logs .traces li.error { - font-style: normal; - color: #AA3333; - background: #f9ecec; -} -.sf-reset #logs .traces li.warning { - font-style: normal; - background: #ffcc00; -} -/* fix for Opera not liking empty
  • */ -.sf-reset .traces li:after { - content: "\00A0"; -} -.sf-reset .trace { - border: 1px solid #D3D3D3; - padding: 10px; - overflow: auto; - margin: 10px 0 20px; -} -.sf-reset .block-exception { - -moz-border-radius: 16px; - -webkit-border-radius: 16px; - border-radius: 16px; - margin-bottom: 20px; - background-color: #f6f6f6; - border: 1px solid #dfdfdf; - padding: 30px 28px; - word-wrap: break-word; - overflow: hidden; -} -.sf-reset .block-exception div { - color: #313131; - font-size: 10px; -} -.sf-reset .block-exception-detected .illustration-exception, -.sf-reset .block-exception-detected .text-exception { - float: left; -} -.sf-reset .block-exception-detected .illustration-exception { - width: 152px; -} -.sf-reset .block-exception-detected .text-exception { - width: 670px; - padding: 30px 44px 24px 46px; - position: relative; -} -.sf-reset .text-exception .open-quote, -.sf-reset .text-exception .close-quote { - font-family: Arial, Helvetica, sans-serif; - position: absolute; - color: #C9C9C9; - font-size: 8em; -} -.sf-reset .open-quote { - top: 0; - left: 0; -} -.sf-reset .close-quote { - bottom: -0.5em; - right: 50px; -} -.sf-reset .block-exception p { - font-family: Arial, Helvetica, sans-serif; -} -.sf-reset .block-exception p a, -.sf-reset .block-exception p a:hover { - color: #565656; -} -.sf-reset .logs h2 { - float: left; - width: 654px; -} -.sf-reset .error-count, .sf-reset .support { - float: right; - width: 170px; - text-align: right; -} -.sf-reset .error-count span { - display: inline-block; - background-color: #aacd4e; - -moz-border-radius: 6px; - -webkit-border-radius: 6px; - border-radius: 6px; - padding: 4px; - color: white; - margin-right: 2px; - font-size: 11px; - font-weight: bold; -} - -.sf-reset .support a { - display: inline-block; - -moz-border-radius: 6px; - -webkit-border-radius: 6px; - border-radius: 6px; - padding: 4px; - color: #000000; - margin-right: 2px; - font-size: 11px; - font-weight: bold; -} - -.sf-reset .toggle { - vertical-align: middle; -} -.sf-reset .linked ul, -.sf-reset .linked li { - display: inline; -} -.sf-reset #output-content { - color: #000; - font-size: 12px; -} -.sf-reset #traces-text pre { - white-space: pre; - font-size: 12px; - font-family: monospace; -} diff --git a/paragonik-backend/vendor/symfony/error-handler/Resources/assets/images/chevron-right.svg b/paragonik-backend/vendor/symfony/error-handler/Resources/assets/images/chevron-right.svg deleted file mode 100644 index 6837aff..0000000 --- a/paragonik-backend/vendor/symfony/error-handler/Resources/assets/images/chevron-right.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/paragonik-backend/vendor/symfony/error-handler/Resources/assets/images/favicon.png.base64 b/paragonik-backend/vendor/symfony/error-handler/Resources/assets/images/favicon.png.base64 deleted file mode 100644 index fb076ed..0000000 --- a/paragonik-backend/vendor/symfony/error-handler/Resources/assets/images/favicon.png.base64 +++ /dev/null @@ -1 +0,0 @@ -data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAgCAYAAAABtRhCAAADVUlEQVRIx82XX0jTURTHLYPyqZdefQx66CEo80+aYpoIkqzUikz6Z5klQoWUWYRIJYEUGpQ+lIr9U5dOTLdCtkmWZis3rbnC5fw/neYW002307mX/cZvP3/7o1PwwOdh95x7vnf39zvnd29AgBer2xO6DclAXiMqZAqxIiNIN/IYSUS2BPhjmGATchUxI+ADWiRhpWK7HKuHFVBFdmU5YvnI4grFGCaReF/EBH4KsZlGgj2JBTuCYBWRIYF8YoEOJ6wBt/gEs7mBbyOjQXruPLSdOgPCiEiPSUUHDoL8Ug5IUo9B/d5wrt+G7OAKNrODPuVdB6vRCIzN6SdBlpW9RIgk/1FeAXabzRlrUPVCS/JhbmwudztnGeeH9AyXBIwtmM3wLinZJZHifjHw2V+NBoRh+9ixQrbgbnaSIcl7cGea6hoXQbNe7za241oeO5Z0p42M4BV2EqP2D50wo+6HzvwC6C4sApNOR8cmOrtcnhtj2kYRyC9eBvXzKrBZrXSs72kFd1t3MoKVbMekQkEnSNKOO8fac3LpmK6l1TlGtsxmsdKFsecPYgwxst0cwROMYDXboSotg0WLBRqjY51jLYcENElXwW2XJKPydvoI2GN9T8rBtrAArYIUruBJXkFheCQYlCpQP6uk5dAQFQNaUROMSGVQFxLmkoQsxDJrhLbTZ+nvVsERME9MgPJRKV/58AsyomTSzE813WLFvWK++qI0xSfQl8k8Pg46sYRuv5t6dS+4RqxDwaa4BGjYH+NTQvKScIp9+YL/hoZh3jDtLRHtt2C3g6bmhX+CpsFBWg7ilDSPgj0lD2ncr5ev/BP8VvyAJhqVyZeUhPOrEhEFxgEtjft846Z/guQTNT89Q5P9flMLoth4F7808wKtWWKzAwNQHxrh/1vaid2F+XpYTSbQf1XA2McOmOpROnvpvMEA4tSjq1cW0sws2gCYxswY6TKkvzYnJq1NHZLnRU4BX+4U0uburvusu8Kv8iHY7qefkM4IFngJHEOUXmLEPgiGsI8YnlZILit3vSSLRTQe/MPIZva5pshNIEmyFQlCvruJKXPkCEfmePzkphXHdzZNQdoRI9KPlBAxlj/I8U97ERPS5bjGbWDFbEdqHVe5caTBeZZx2H/IMvzeN15yoQAAAABJRU5ErkJggg== diff --git a/paragonik-backend/vendor/symfony/error-handler/Resources/assets/images/icon-book.svg b/paragonik-backend/vendor/symfony/error-handler/Resources/assets/images/icon-book.svg deleted file mode 100644 index 498a74f..0000000 --- a/paragonik-backend/vendor/symfony/error-handler/Resources/assets/images/icon-book.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/paragonik-backend/vendor/symfony/error-handler/Resources/assets/images/icon-minus-square-o.svg b/paragonik-backend/vendor/symfony/error-handler/Resources/assets/images/icon-minus-square-o.svg deleted file mode 100644 index be534ad..0000000 --- a/paragonik-backend/vendor/symfony/error-handler/Resources/assets/images/icon-minus-square-o.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/paragonik-backend/vendor/symfony/error-handler/Resources/assets/images/icon-minus-square.svg b/paragonik-backend/vendor/symfony/error-handler/Resources/assets/images/icon-minus-square.svg deleted file mode 100644 index 471c274..0000000 --- a/paragonik-backend/vendor/symfony/error-handler/Resources/assets/images/icon-minus-square.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/paragonik-backend/vendor/symfony/error-handler/Resources/assets/images/icon-plus-square-o.svg b/paragonik-backend/vendor/symfony/error-handler/Resources/assets/images/icon-plus-square-o.svg deleted file mode 100644 index b2593a9..0000000 --- a/paragonik-backend/vendor/symfony/error-handler/Resources/assets/images/icon-plus-square-o.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/paragonik-backend/vendor/symfony/error-handler/Resources/assets/images/icon-plus-square.svg b/paragonik-backend/vendor/symfony/error-handler/Resources/assets/images/icon-plus-square.svg deleted file mode 100644 index 2f5c3b3..0000000 --- a/paragonik-backend/vendor/symfony/error-handler/Resources/assets/images/icon-plus-square.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/paragonik-backend/vendor/symfony/error-handler/Resources/assets/images/icon-support.svg b/paragonik-backend/vendor/symfony/error-handler/Resources/assets/images/icon-support.svg deleted file mode 100644 index 03fd8e7..0000000 --- a/paragonik-backend/vendor/symfony/error-handler/Resources/assets/images/icon-support.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/paragonik-backend/vendor/symfony/error-handler/Resources/assets/images/symfony-ghost.svg.php b/paragonik-backend/vendor/symfony/error-handler/Resources/assets/images/symfony-ghost.svg.php deleted file mode 100644 index 4b2f9c1..0000000 --- a/paragonik-backend/vendor/symfony/error-handler/Resources/assets/images/symfony-ghost.svg.php +++ /dev/null @@ -1 +0,0 @@ -addElementToGhost(); ?> diff --git a/paragonik-backend/vendor/symfony/error-handler/Resources/assets/images/symfony-logo.svg b/paragonik-backend/vendor/symfony/error-handler/Resources/assets/images/symfony-logo.svg deleted file mode 100644 index f10824a..0000000 --- a/paragonik-backend/vendor/symfony/error-handler/Resources/assets/images/symfony-logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/paragonik-backend/vendor/symfony/error-handler/Resources/assets/js/exception.js b/paragonik-backend/vendor/symfony/error-handler/Resources/assets/js/exception.js deleted file mode 100644 index 8cc7b53..0000000 --- a/paragonik-backend/vendor/symfony/error-handler/Resources/assets/js/exception.js +++ /dev/null @@ -1,279 +0,0 @@ -/* This file is based on WebProfilerBundle/Resources/views/Profiler/base_js.html.twig. - If you make any change in this file, verify the same change is needed in the other file. */ -/* .tab'); - var tabNavigation = document.createElement('ul'); - tabNavigation.className = 'tab-navigation'; - - var selectedTabId = 'tab-' + i + '-0'; /* select the first tab by default */ - for (var j = 0; j < tabs.length; j++) { - var tabId = 'tab-' + i + '-' + j; - var tabTitle = tabs[j].querySelector('.tab-title').innerHTML; - - var tabNavigationItem = document.createElement('li'); - tabNavigationItem.setAttribute('data-tab-id', tabId); - if (hasClass(tabs[j], 'active')) { selectedTabId = tabId; } - if (hasClass(tabs[j], 'disabled')) { addClass(tabNavigationItem, 'disabled'); } - tabNavigationItem.innerHTML = tabTitle; - tabNavigation.appendChild(tabNavigationItem); - - var tabContent = tabs[j].querySelector('.tab-content'); - tabContent.parentElement.setAttribute('id', tabId); - } - - tabGroups[i].insertBefore(tabNavigation, tabGroups[i].firstChild); - addClass(document.querySelector('[data-tab-id="' + selectedTabId + '"]'), 'active'); - } - - /* display the active tab and add the 'click' event listeners */ - for (i = 0; i < tabGroups.length; i++) { - tabNavigation = tabGroups[i].querySelectorAll(':scope >.tab-navigation li'); - - for (j = 0; j < tabNavigation.length; j++) { - tabId = tabNavigation[j].getAttribute('data-tab-id'); - document.getElementById(tabId).querySelector('.tab-title').className = 'hidden'; - - if (hasClass(tabNavigation[j], 'active')) { - document.getElementById(tabId).className = 'block'; - } else { - document.getElementById(tabId).className = 'hidden'; - } - - tabNavigation[j].addEventListener('click', function(e) { - var activeTab = e.target || e.srcElement; - - /* needed because when the tab contains HTML contents, user can click */ - /* on any of those elements instead of their parent '
  • ' element */ - while (activeTab.tagName.toLowerCase() !== 'li') { - activeTab = activeTab.parentNode; - } - - /* get the full list of tabs through the parent of the active tab element */ - var tabNavigation = activeTab.parentNode.children; - for (var k = 0; k < tabNavigation.length; k++) { - var tabId = tabNavigation[k].getAttribute('data-tab-id'); - document.getElementById(tabId).className = 'hidden'; - removeClass(tabNavigation[k], 'active'); - } - - addClass(activeTab, 'active'); - var activeTabId = activeTab.getAttribute('data-tab-id'); - document.getElementById(activeTabId).className = 'block'; - }); - } - - tabGroups[i].setAttribute('data-processed', 'true'); - } - }, - - createToggles: function() { - var toggles = document.querySelectorAll('.sf-toggle:not([data-processed=true])'); - - for (var i = 0; i < toggles.length; i++) { - var elementSelector = toggles[i].getAttribute('data-toggle-selector'); - var element = document.querySelector(elementSelector); - - addClass(element, 'sf-toggle-content'); - - if (toggles[i].hasAttribute('data-toggle-initial') && toggles[i].getAttribute('data-toggle-initial') == 'display') { - addClass(toggles[i], 'sf-toggle-on'); - addClass(element, 'sf-toggle-visible'); - } else { - addClass(toggles[i], 'sf-toggle-off'); - addClass(element, 'sf-toggle-hidden'); - } - - addEventListener(toggles[i], 'click', function(e) { - e.preventDefault(); - - if ('' !== window.getSelection().toString()) { - /* Don't do anything on text selection */ - return; - } - - var toggle = e.target || e.srcElement; - - /* needed because when the toggle contains HTML contents, user can click */ - /* on any of those elements instead of their parent '.sf-toggle' element */ - while (!hasClass(toggle, 'sf-toggle')) { - toggle = toggle.parentNode; - } - - var element = document.querySelector(toggle.getAttribute('data-toggle-selector')); - - toggleClass(toggle, 'sf-toggle-on'); - toggleClass(toggle, 'sf-toggle-off'); - toggleClass(element, 'sf-toggle-hidden'); - toggleClass(element, 'sf-toggle-visible'); - - /* the toggle doesn't change its contents when clicking on it */ - if (!toggle.hasAttribute('data-toggle-alt-content')) { - return; - } - - if (!toggle.hasAttribute('data-toggle-original-content')) { - toggle.setAttribute('data-toggle-original-content', toggle.innerHTML); - } - - var currentContent = toggle.innerHTML; - var originalContent = toggle.getAttribute('data-toggle-original-content'); - var altContent = toggle.getAttribute('data-toggle-alt-content'); - toggle.innerHTML = currentContent !== altContent ? altContent : originalContent; - }); - - /* Prevents from disallowing clicks on links inside toggles */ - var toggleLinks = toggles[i].querySelectorAll('a'); - for (var j = 0; j < toggleLinks.length; j++) { - addEventListener(toggleLinks[j], 'click', function(e) { - e.stopPropagation(); - }); - } - - toggles[i].setAttribute('data-processed', 'true'); - } - }, - - createFilters: function() { - document.querySelectorAll('[data-filters] [data-filter]').forEach(function (filter) { - var filters = filter.closest('[data-filters]'), - type = 'choice', - name = filter.dataset.filter, - ucName = name.charAt(0).toUpperCase()+name.slice(1), - list = document.createElement('ul'), - values = filters.dataset['filter'+ucName] || filters.querySelectorAll('[data-filter-'+name+']'), - labels = {}, - defaults = null, - indexed = {}, - processed = {}; - if (typeof values === 'string') { - type = 'level'; - labels = values.split(','); - values = values.toLowerCase().split(','); - defaults = values.length - 1; - } - addClass(list, 'filter-list'); - addClass(list, 'filter-list-'+type); - values.forEach(function (value, i) { - if (value instanceof HTMLElement) { - value = value.dataset['filter'+ucName]; - } - if (value in processed) { - return; - } - var option = document.createElement('li'), - label = i in labels ? labels[i] : value, - active = false, - matches; - if ('' === label) { - option.innerHTML = '(none)'; - } else { - option.innerText = label; - } - option.dataset.filter = value; - option.setAttribute('title', 1 === (matches = filters.querySelectorAll('[data-filter-'+name+'="'+value+'"]').length) ? 'Matches 1 row' : 'Matches '+matches+' rows'); - indexed[value] = i; - list.appendChild(option); - addEventListener(option, 'click', function () { - if ('choice' === type) { - filters.querySelectorAll('[data-filter-'+name+']').forEach(function (row) { - if (option.dataset.filter === row.dataset['filter'+ucName]) { - toggleClass(row, 'filter-hidden-'+name); - } - }); - toggleClass(option, 'active'); - } else if ('level' === type) { - if (i === this.parentNode.querySelectorAll('.active').length - 1) { - return; - } - this.parentNode.querySelectorAll('li').forEach(function (currentOption, j) { - if (j <= i) { - addClass(currentOption, 'active'); - if (i === j) { - addClass(currentOption, 'last-active'); - } else { - removeClass(currentOption, 'last-active'); - } - } else { - removeClass(currentOption, 'active'); - removeClass(currentOption, 'last-active'); - } - }); - filters.querySelectorAll('[data-filter-'+name+']').forEach(function (row) { - if (i < indexed[row.dataset['filter'+ucName]]) { - addClass(row, 'filter-hidden-'+name); - } else { - removeClass(row, 'filter-hidden-'+name); - } - }); - } - }); - if ('choice' === type) { - active = null === defaults || 0 <= defaults.indexOf(value); - } else if ('level' === type) { - active = i <= defaults; - if (active && i === defaults) { - addClass(option, 'last-active'); - } - } - if (active) { - addClass(option, 'active'); - } else { - filters.querySelectorAll('[data-filter-'+name+'="'+value+'"]').forEach(function (row) { - toggleClass(row, 'filter-hidden-'+name); - }); - } - processed[value] = true; - }); - - if (1 < list.childNodes.length) { - filter.appendChild(list); - filter.dataset.filtered = ''; - } - }); - } - }; -})(); - -Sfjs.addEventListener(document, 'DOMContentLoaded', function() { - Sfjs.createTabs(); - Sfjs.createToggles(); - Sfjs.createFilters(); -}); - -/*]]>*/ diff --git a/paragonik-backend/vendor/symfony/error-handler/Resources/views/error.html.php b/paragonik-backend/vendor/symfony/error-handler/Resources/views/error.html.php deleted file mode 100644 index 5416d03..0000000 --- a/paragonik-backend/vendor/symfony/error-handler/Resources/views/error.html.php +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - An Error Occurred: <?= $statusText; ?> - - - -
    -

    Oops! An Error Occurred

    -

    The server returned a " ".

    - -

    - Something is broken. Please let us know what you were doing when this error occurred. - We will fix it as soon as possible. Sorry for any inconvenience caused. -

    -
    - - diff --git a/paragonik-backend/vendor/symfony/error-handler/Resources/views/exception.html.php b/paragonik-backend/vendor/symfony/error-handler/Resources/views/exception.html.php deleted file mode 100644 index b470b56..0000000 --- a/paragonik-backend/vendor/symfony/error-handler/Resources/views/exception.html.php +++ /dev/null @@ -1,116 +0,0 @@ -
    - - -
    -
    -

    formatFileFromText(nl2br($exceptionMessage)); ?>

    - -
    - include('assets/images/symfony-ghost.svg.php'); ?> -
    -
    -
    -
    - -
    -
    -
    - toArray(); - $exceptionWithUserCode = []; - $exceptionAsArrayCount = count($exceptionAsArray); - $last = count($exceptionAsArray) - 1; - foreach ($exceptionAsArray as $i => $e) { - foreach ($e['trace'] as $trace) { - if ($trace['file'] && false === mb_strpos($trace['file'], '/vendor/') && false === mb_strpos($trace['file'], '/var/cache/') && $i < $last) { - $exceptionWithUserCode[] = $i; - } - } - } - ?> -

    - 1) { ?> - Exceptions - - Exception - -

    - -
    - $e) { - echo $this->include('views/traces.html.php', [ - 'exception' => $e, - 'index' => $i + 1, - 'expand' => in_array($i, $exceptionWithUserCode, true) || ([] === $exceptionWithUserCode && 0 === $i), - ]); - } - ?> -
    -
    - - -
    -

    - Logs - countErrors()) { ?>countErrors(); ?> -

    - -
    - getLogs()) { ?> - include('views/logs.html.php', ['logs' => $logger->getLogs()]); ?> - -
    -

    No log messages

    -
    - -
    -
    - - -
    -

    - 1) { ?> - Stack Traces - - Stack Trace - -

    - -
    - $e) { - echo $this->include('views/traces_text.html.php', [ - 'exception' => $e, - 'index' => $i + 1, - 'numExceptions' => $exceptionAsArrayCount, - ]); - } - ?> -
    -
    - - -
    -

    Output content

    - -
    - -
    -
    - -
    -
    diff --git a/paragonik-backend/vendor/symfony/error-handler/Resources/views/exception_full.html.php b/paragonik-backend/vendor/symfony/error-handler/Resources/views/exception_full.html.php deleted file mode 100644 index 4d46d59..0000000 --- a/paragonik-backend/vendor/symfony/error-handler/Resources/views/exception_full.html.php +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - - - <?= $_message; ?> - - - - - - -
    - -
    - - - include('views/exception.html.php', $context); ?> - - - - - diff --git a/paragonik-backend/vendor/symfony/error-handler/Resources/views/logs.html.php b/paragonik-backend/vendor/symfony/error-handler/Resources/views/logs.html.php deleted file mode 100644 index c866e06..0000000 --- a/paragonik-backend/vendor/symfony/error-handler/Resources/views/logs.html.php +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - = 400) { - $status = 'error'; - } elseif ($log['priority'] >= 300) { - $status = 'warning'; - } else { - $severity = 0; - if (($exception = $log['context']['exception'] ?? null) instanceof \ErrorException) { - $severity = $exception->getSeverity(); - } - $status = E_DEPRECATED === $severity || E_USER_DEPRECATED === $severity ? 'warning' : 'normal'; - } ?> - data-filter-channel="escape($log['channel']); ?>"> - - - - - - - - -
    LevelChannelMessage
    - escape($log['priorityName']); ?> - - - escape($log['channel']); ?> - - formatLogMessage($log['message'], $log['context']); ?> - -
    - -
    diff --git a/paragonik-backend/vendor/symfony/error-handler/Resources/views/trace.html.php b/paragonik-backend/vendor/symfony/error-handler/Resources/views/trace.html.php deleted file mode 100644 index 3112af4..0000000 --- a/paragonik-backend/vendor/symfony/error-handler/Resources/views/trace.html.php +++ /dev/null @@ -1,40 +0,0 @@ -
    - - include('assets/images/icon-minus-square.svg'); ?> - include('assets/images/icon-plus-square.svg'); ?> - - - - abbrClass($trace['class']); ?>(formatArgs($trace['args']); ?>) - - - - getFileLink($trace['file'], $lineNumber); - $filePath = strtr(strip_tags($this->formatFile($trace['file'], $lineNumber)), [' at line '.$lineNumber => '']); - $filePathParts = explode(DIRECTORY_SEPARATOR, $filePath); - ?> - - in - - - - - - - - (line ) - - -
    - -
    - fileExcerpt($trace['file'], $trace['line'], 5), [ - '#DD0000' => 'var(--highlight-string)', - '#007700' => 'var(--highlight-keyword)', - '#0000BB' => 'var(--highlight-default)', - '#FF8000' => 'var(--highlight-comment)', - ]); ?> -
    - diff --git a/paragonik-backend/vendor/symfony/error-handler/Resources/views/traces.html.php b/paragonik-backend/vendor/symfony/error-handler/Resources/views/traces.html.php deleted file mode 100644 index d587b05..0000000 --- a/paragonik-backend/vendor/symfony/error-handler/Resources/views/traces.html.php +++ /dev/null @@ -1,42 +0,0 @@ -
    -
    -
    - -

    - include('assets/images/icon-minus-square-o.svg'); ?> - include('assets/images/icon-plus-square-o.svg'); ?> - - - 1 ? '\\' : ''; ?> - - -

    - - 1) { ?> -

    escape($exception['message']); ?>

    - -
    -
    - -
    - $trace) { - $isVendorTrace = $trace['file'] && (false !== mb_strpos($trace['file'], '/vendor/') || false !== mb_strpos($trace['file'], '/var/cache/')); - $displayCodeSnippet = $isFirstUserCode && !$isVendorTrace; - if ($displayCodeSnippet) { - $isFirstUserCode = false; - } ?> -
    - include('views/trace.html.php', [ - 'prefix' => $index, - 'i' => $i, - 'trace' => $trace, - 'style' => $isVendorTrace ? 'compact' : ($displayCodeSnippet ? 'expanded' : ''), - ]); ?> -
    - -
    -
    -
    diff --git a/paragonik-backend/vendor/symfony/error-handler/Resources/views/traces_text.html.php b/paragonik-backend/vendor/symfony/error-handler/Resources/views/traces_text.html.php deleted file mode 100644 index 1b06954..0000000 --- a/paragonik-backend/vendor/symfony/error-handler/Resources/views/traces_text.html.php +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - - - - - - - -
    -

    - 1) { ?> - [/] - - - include('assets/images/icon-minus-square-o.svg'); ?> - include('assets/images/icon-plus-square-o.svg'); ?> -

    -
    - -
    -formatArgsAsText($trace['args']).')';
    -                        }
    -                        if ($trace['file'] && $trace['line']) {
    -                            echo($trace['function'] ? "\n     (" : 'at ').strtr(strip_tags($this->formatFile($trace['file'], $trace['line'])), [' at line '.$trace['line'] => '']).':'.$trace['line'].($trace['function'] ? ')' : '');
    -                        }
    -                    }
    -?>
    -                
    - -
    diff --git a/paragonik-backend/vendor/symfony/error-handler/ThrowableUtils.php b/paragonik-backend/vendor/symfony/error-handler/ThrowableUtils.php deleted file mode 100644 index 5cbe87f..0000000 --- a/paragonik-backend/vendor/symfony/error-handler/ThrowableUtils.php +++ /dev/null @@ -1,35 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\ErrorHandler; - -/** - * @internal - */ -class ThrowableUtils -{ - public static function getSeverity(\Throwable $throwable): int - { - if ($throwable instanceof \ErrorException) { - return $throwable->getSeverity(); - } - - if ($throwable instanceof \ParseError) { - return E_PARSE; - } - - if ($throwable instanceof \TypeError) { - return E_RECOVERABLE_ERROR; - } - - return E_ERROR; - } -} diff --git a/paragonik-backend/vendor/symfony/error-handler/composer.json b/paragonik-backend/vendor/symfony/error-handler/composer.json deleted file mode 100644 index cfe822f..0000000 --- a/paragonik-backend/vendor/symfony/error-handler/composer.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "name": "symfony/error-handler", - "type": "library", - "description": "Symfony ErrorHandler Component", - "keywords": [], - "homepage": "https://symfony.com", - "license": "MIT", - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "require": { - "php": "^7.1.3", - "psr/log": "~1.0", - "symfony/debug": "^4.4", - "symfony/var-dumper": "^4.4|^5.0" - }, - "require-dev": { - "symfony/http-kernel": "^4.4|^5.0", - "symfony/serializer": "^4.4|^5.0" - }, - "autoload": { - "psr-4": { "Symfony\\Component\\ErrorHandler\\": "" }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "minimum-stability": "dev", - "extra": { - "branch-alias": { - "dev-master": "4.4-dev" - } - } -} diff --git a/paragonik-backend/vendor/symfony/event-dispatcher-contracts/.gitignore b/paragonik-backend/vendor/symfony/event-dispatcher-contracts/.gitignore deleted file mode 100644 index c49a5d8..0000000 --- a/paragonik-backend/vendor/symfony/event-dispatcher-contracts/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -vendor/ -composer.lock -phpunit.xml diff --git a/paragonik-backend/vendor/symfony/event-dispatcher-contracts/Event.php b/paragonik-backend/vendor/symfony/event-dispatcher-contracts/Event.php deleted file mode 100644 index 84f60f3..0000000 --- a/paragonik-backend/vendor/symfony/event-dispatcher-contracts/Event.php +++ /dev/null @@ -1,96 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Contracts\EventDispatcher; - -use Psr\EventDispatcher\StoppableEventInterface; - -if (interface_exists(StoppableEventInterface::class)) { - /** - * Event is the base class for classes containing event data. - * - * This class contains no event data. It is used by events that do not pass - * state information to an event handler when an event is raised. - * - * You can call the method stopPropagation() to abort the execution of - * further listeners in your event listener. - * - * @author Guilherme Blanco - * @author Jonathan Wage - * @author Roman Borschel - * @author Bernhard Schussek - * @author Nicolas Grekas - */ - class Event implements StoppableEventInterface - { - private $propagationStopped = false; - - /** - * Returns whether further event listeners should be triggered. - */ - public function isPropagationStopped(): bool - { - return $this->propagationStopped; - } - - /** - * Stops the propagation of the event to further event listeners. - * - * If multiple event listeners are connected to the same event, no - * further event listener will be triggered once any trigger calls - * stopPropagation(). - */ - public function stopPropagation(): void - { - $this->propagationStopped = true; - } - } -} else { - /** - * Event is the base class for classes containing event data. - * - * This class contains no event data. It is used by events that do not pass - * state information to an event handler when an event is raised. - * - * You can call the method stopPropagation() to abort the execution of - * further listeners in your event listener. - * - * @author Guilherme Blanco - * @author Jonathan Wage - * @author Roman Borschel - * @author Bernhard Schussek - * @author Nicolas Grekas - */ - class Event - { - private $propagationStopped = false; - - /** - * Returns whether further event listeners should be triggered. - */ - public function isPropagationStopped(): bool - { - return $this->propagationStopped; - } - - /** - * Stops the propagation of the event to further event listeners. - * - * If multiple event listeners are connected to the same event, no - * further event listener will be triggered once any trigger calls - * stopPropagation(). - */ - public function stopPropagation(): void - { - $this->propagationStopped = true; - } - } -} diff --git a/paragonik-backend/vendor/symfony/event-dispatcher-contracts/EventDispatcherInterface.php b/paragonik-backend/vendor/symfony/event-dispatcher-contracts/EventDispatcherInterface.php deleted file mode 100644 index 2d470af..0000000 --- a/paragonik-backend/vendor/symfony/event-dispatcher-contracts/EventDispatcherInterface.php +++ /dev/null @@ -1,58 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Contracts\EventDispatcher; - -use Psr\EventDispatcher\EventDispatcherInterface as PsrEventDispatcherInterface; - -if (interface_exists(PsrEventDispatcherInterface::class)) { - /** - * Allows providing hooks on domain-specific lifecycles by dispatching events. - */ - interface EventDispatcherInterface extends PsrEventDispatcherInterface - { - /** - * Dispatches an event to all registered listeners. - * - * For BC with Symfony 4, the $eventName argument is not declared explicitly on the - * signature of the method. Implementations that are not bound by this BC constraint - * MUST declare it explicitly, as allowed by PHP. - * - * @param object $event The event to pass to the event handlers/listeners - * @param string|null $eventName The name of the event to dispatch. If not supplied, - * the class of $event should be used instead. - * - * @return object The passed $event MUST be returned - */ - public function dispatch($event/*, string $eventName = null*/); - } -} else { - /** - * Allows providing hooks on domain-specific lifecycles by dispatching events. - */ - interface EventDispatcherInterface - { - /** - * Dispatches an event to all registered listeners. - * - * For BC with Symfony 4, the $eventName argument is not declared explicitly on the - * signature of the method. Implementations that are not bound by this BC constraint - * MUST declare it explicitly, as allowed by PHP. - * - * @param object $event The event to pass to the event handlers/listeners - * @param string|null $eventName The name of the event to dispatch. If not supplied, - * the class of $event should be used instead. - * - * @return object The passed $event MUST be returned - */ - public function dispatch($event/*, string $eventName = null*/); - } -} diff --git a/paragonik-backend/vendor/symfony/event-dispatcher-contracts/LICENSE b/paragonik-backend/vendor/symfony/event-dispatcher-contracts/LICENSE deleted file mode 100644 index 3f853aa..0000000 --- a/paragonik-backend/vendor/symfony/event-dispatcher-contracts/LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 2018-2019 Fabien Potencier - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is furnished -to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/paragonik-backend/vendor/symfony/event-dispatcher-contracts/README.md b/paragonik-backend/vendor/symfony/event-dispatcher-contracts/README.md deleted file mode 100644 index fb051c7..0000000 --- a/paragonik-backend/vendor/symfony/event-dispatcher-contracts/README.md +++ /dev/null @@ -1,9 +0,0 @@ -Symfony EventDispatcher Contracts -================================= - -A set of abstractions extracted out of the Symfony components. - -Can be used to build on semantics that the Symfony components proved useful - and -that already have battle tested implementations. - -See https://github.com/symfony/contracts/blob/master/README.md for more information. diff --git a/paragonik-backend/vendor/symfony/event-dispatcher-contracts/composer.json b/paragonik-backend/vendor/symfony/event-dispatcher-contracts/composer.json deleted file mode 100644 index 55802a4..0000000 --- a/paragonik-backend/vendor/symfony/event-dispatcher-contracts/composer.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "name": "symfony/event-dispatcher-contracts", - "type": "library", - "description": "Generic abstractions related to dispatching event", - "keywords": ["abstractions", "contracts", "decoupling", "interfaces", "interoperability", "standards"], - "homepage": "https://symfony.com", - "license": "MIT", - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "require": { - "php": "^7.1.3" - }, - "suggest": { - "psr/event-dispatcher": "", - "symfony/event-dispatcher-implementation": "" - }, - "autoload": { - "psr-4": { "Symfony\\Contracts\\EventDispatcher\\": "" } - }, - "minimum-stability": "dev", - "extra": { - "branch-alias": { - "dev-master": "1.1-dev" - } - } -} diff --git a/paragonik-backend/vendor/symfony/event-dispatcher/.gitattributes b/paragonik-backend/vendor/symfony/event-dispatcher/.gitattributes deleted file mode 100644 index ebb9287..0000000 --- a/paragonik-backend/vendor/symfony/event-dispatcher/.gitattributes +++ /dev/null @@ -1,3 +0,0 @@ -/Tests export-ignore -/phpunit.xml.dist export-ignore -/.gitignore export-ignore diff --git a/paragonik-backend/vendor/symfony/event-dispatcher/CHANGELOG.md b/paragonik-backend/vendor/symfony/event-dispatcher/CHANGELOG.md deleted file mode 100644 index 54fd042..0000000 --- a/paragonik-backend/vendor/symfony/event-dispatcher/CHANGELOG.md +++ /dev/null @@ -1,67 +0,0 @@ -CHANGELOG -========= - -4.4.0 ------ - - * `AddEventAliasesPass` has been added, allowing applications and bundles to extend the event alias mapping used by `RegisterListenersPass`. - * Made the `event` attribute of the `kernel.event_listener` tag optional for FQCN events. - -4.3.0 ------ - - * The signature of the `EventDispatcherInterface::dispatch()` method should be updated to `dispatch($event, string $eventName = null)`, not doing so is deprecated - * deprecated the `Event` class, use `Symfony\Contracts\EventDispatcher\Event` instead - -4.1.0 ------ - - * added support for invokable event listeners tagged with `kernel.event_listener` by default - * The `TraceableEventDispatcher::getOrphanedEvents()` method has been added. - * The `TraceableEventDispatcherInterface` has been deprecated. - -4.0.0 ------ - - * removed the `ContainerAwareEventDispatcher` class - * added the `reset()` method to the `TraceableEventDispatcherInterface` - -3.4.0 ------ - - * Implementing `TraceableEventDispatcherInterface` without the `reset()` method has been deprecated. - -3.3.0 ------ - - * The ContainerAwareEventDispatcher class has been deprecated. Use EventDispatcher with closure factories instead. - -3.0.0 ------ - - * The method `getListenerPriority($eventName, $listener)` has been added to the - `EventDispatcherInterface`. - * The methods `Event::setDispatcher()`, `Event::getDispatcher()`, `Event::setName()` - and `Event::getName()` have been removed. - The event dispatcher and the event name are passed to the listener call. - -2.5.0 ------ - - * added Debug\TraceableEventDispatcher (originally in HttpKernel) - * changed Debug\TraceableEventDispatcherInterface to extend EventDispatcherInterface - * added RegisterListenersPass (originally in HttpKernel) - -2.1.0 ------ - - * added TraceableEventDispatcherInterface - * added ContainerAwareEventDispatcher - * added a reference to the EventDispatcher on the Event - * added a reference to the Event name on the event - * added fluid interface to the dispatch() method which now returns the Event - object - * added GenericEvent event class - * added the possibility for subscribers to subscribe several times for the - same event - * added ImmutableEventDispatcher diff --git a/paragonik-backend/vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php b/paragonik-backend/vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php deleted file mode 100644 index fdc65fd..0000000 --- a/paragonik-backend/vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php +++ /dev/null @@ -1,407 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\EventDispatcher\Debug; - -use Psr\EventDispatcher\StoppableEventInterface; -use Psr\Log\LoggerInterface; -use Symfony\Component\EventDispatcher\Event; -use Symfony\Component\EventDispatcher\EventDispatcherInterface; -use Symfony\Component\EventDispatcher\EventSubscriberInterface; -use Symfony\Component\EventDispatcher\LegacyEventDispatcherProxy; -use Symfony\Component\EventDispatcher\LegacyEventProxy; -use Symfony\Component\HttpFoundation\Request; -use Symfony\Component\HttpFoundation\RequestStack; -use Symfony\Component\Stopwatch\Stopwatch; -use Symfony\Contracts\EventDispatcher\Event as ContractsEvent; - -/** - * Collects some data about event listeners. - * - * This event dispatcher delegates the dispatching to another one. - * - * @author Fabien Potencier - */ -class TraceableEventDispatcher implements TraceableEventDispatcherInterface -{ - protected $logger; - protected $stopwatch; - - private $callStack; - private $dispatcher; - private $wrappedListeners; - private $orphanedEvents; - private $requestStack; - private $currentRequestHash = ''; - - public function __construct(EventDispatcherInterface $dispatcher, Stopwatch $stopwatch, LoggerInterface $logger = null, RequestStack $requestStack = null) - { - $this->dispatcher = LegacyEventDispatcherProxy::decorate($dispatcher); - $this->stopwatch = $stopwatch; - $this->logger = $logger; - $this->wrappedListeners = []; - $this->orphanedEvents = []; - $this->requestStack = $requestStack; - } - - /** - * {@inheritdoc} - */ - public function addListener($eventName, $listener, $priority = 0) - { - $this->dispatcher->addListener($eventName, $listener, $priority); - } - - /** - * {@inheritdoc} - */ - public function addSubscriber(EventSubscriberInterface $subscriber) - { - $this->dispatcher->addSubscriber($subscriber); - } - - /** - * {@inheritdoc} - */ - public function removeListener($eventName, $listener) - { - if (isset($this->wrappedListeners[$eventName])) { - foreach ($this->wrappedListeners[$eventName] as $index => $wrappedListener) { - if ($wrappedListener->getWrappedListener() === $listener) { - $listener = $wrappedListener; - unset($this->wrappedListeners[$eventName][$index]); - break; - } - } - } - - return $this->dispatcher->removeListener($eventName, $listener); - } - - /** - * {@inheritdoc} - */ - public function removeSubscriber(EventSubscriberInterface $subscriber) - { - return $this->dispatcher->removeSubscriber($subscriber); - } - - /** - * {@inheritdoc} - */ - public function getListeners($eventName = null) - { - return $this->dispatcher->getListeners($eventName); - } - - /** - * {@inheritdoc} - */ - public function getListenerPriority($eventName, $listener) - { - // we might have wrapped listeners for the event (if called while dispatching) - // in that case get the priority by wrapper - if (isset($this->wrappedListeners[$eventName])) { - foreach ($this->wrappedListeners[$eventName] as $index => $wrappedListener) { - if ($wrappedListener->getWrappedListener() === $listener) { - return $this->dispatcher->getListenerPriority($eventName, $wrappedListener); - } - } - } - - return $this->dispatcher->getListenerPriority($eventName, $listener); - } - - /** - * {@inheritdoc} - */ - public function hasListeners($eventName = null) - { - return $this->dispatcher->hasListeners($eventName); - } - - /** - * {@inheritdoc} - * - * @param string|null $eventName - */ - public function dispatch($event/*, string $eventName = null*/) - { - if (null === $this->callStack) { - $this->callStack = new \SplObjectStorage(); - } - - $currentRequestHash = $this->currentRequestHash = $this->requestStack && ($request = $this->requestStack->getCurrentRequest()) ? spl_object_hash($request) : ''; - $eventName = 1 < \func_num_args() ? func_get_arg(1) : null; - - if (\is_object($event)) { - $eventName = $eventName ?? \get_class($event); - } else { - @trigger_error(sprintf('Calling the "%s::dispatch()" method with the event name as first argument is deprecated since Symfony 4.3, pass it second and provide the event object first instead.', EventDispatcherInterface::class), E_USER_DEPRECATED); - $swap = $event; - $event = $eventName ?? new Event(); - $eventName = $swap; - - if (!$event instanceof Event) { - throw new \TypeError(sprintf('Argument 1 passed to "%s::dispatch()" must be an instance of %s, %s given.', EventDispatcherInterface::class, Event::class, \is_object($event) ? \get_class($event) : \gettype($event))); - } - } - - if (null !== $this->logger && ($event instanceof Event || $event instanceof ContractsEvent || $event instanceof StoppableEventInterface) && $event->isPropagationStopped()) { - $this->logger->debug(sprintf('The "%s" event is already stopped. No listeners have been called.', $eventName)); - } - - $this->preProcess($eventName); - try { - $this->beforeDispatch($eventName, $event); - try { - $e = $this->stopwatch->start($eventName, 'section'); - try { - $this->dispatcher->dispatch($event, $eventName); - } finally { - if ($e->isStarted()) { - $e->stop(); - } - } - } finally { - $this->afterDispatch($eventName, $event); - } - } finally { - $this->currentRequestHash = $currentRequestHash; - $this->postProcess($eventName); - } - - return $event; - } - - /** - * {@inheritdoc} - * - * @param Request|null $request The request to get listeners for - */ - public function getCalledListeners(/* Request $request = null */) - { - if (null === $this->callStack) { - return []; - } - - $hash = 1 <= \func_num_args() && null !== ($request = func_get_arg(0)) ? spl_object_hash($request) : null; - $called = []; - foreach ($this->callStack as $listener) { - list($eventName, $requestHash) = $this->callStack->getInfo(); - if (null === $hash || $hash === $requestHash) { - $called[] = $listener->getInfo($eventName); - } - } - - return $called; - } - - /** - * {@inheritdoc} - * - * @param Request|null $request The request to get listeners for - */ - public function getNotCalledListeners(/* Request $request = null */) - { - try { - $allListeners = $this->getListeners(); - } catch (\Exception $e) { - if (null !== $this->logger) { - $this->logger->info('An exception was thrown while getting the uncalled listeners.', ['exception' => $e]); - } - - // unable to retrieve the uncalled listeners - return []; - } - - $hash = 1 <= \func_num_args() && null !== ($request = func_get_arg(0)) ? spl_object_hash($request) : null; - $calledListeners = []; - - if (null !== $this->callStack) { - foreach ($this->callStack as $calledListener) { - list(, $requestHash) = $this->callStack->getInfo(); - - if (null === $hash || $hash === $requestHash) { - $calledListeners[] = $calledListener->getWrappedListener(); - } - } - } - - $notCalled = []; - foreach ($allListeners as $eventName => $listeners) { - foreach ($listeners as $listener) { - if (!\in_array($listener, $calledListeners, true)) { - if (!$listener instanceof WrappedListener) { - $listener = new WrappedListener($listener, null, $this->stopwatch, $this); - } - $notCalled[] = $listener->getInfo($eventName); - } - } - } - - uasort($notCalled, [$this, 'sortNotCalledListeners']); - - return $notCalled; - } - - /** - * @param Request|null $request The request to get orphaned events for - */ - public function getOrphanedEvents(/* Request $request = null */): array - { - if (1 <= \func_num_args() && null !== $request = func_get_arg(0)) { - return $this->orphanedEvents[spl_object_hash($request)] ?? []; - } - - if (!$this->orphanedEvents) { - return []; - } - - return array_merge(...array_values($this->orphanedEvents)); - } - - public function reset() - { - $this->callStack = null; - $this->orphanedEvents = []; - $this->currentRequestHash = ''; - } - - /** - * Proxies all method calls to the original event dispatcher. - * - * @param string $method The method name - * @param array $arguments The method arguments - * - * @return mixed - */ - public function __call($method, $arguments) - { - return $this->dispatcher->{$method}(...$arguments); - } - - /** - * Called before dispatching the event. - * - * @param object $event - */ - protected function beforeDispatch(string $eventName, $event) - { - $this->preDispatch($eventName, $event instanceof Event ? $event : new LegacyEventProxy($event)); - } - - /** - * Called after dispatching the event. - * - * @param object $event - */ - protected function afterDispatch(string $eventName, $event) - { - $this->postDispatch($eventName, $event instanceof Event ? $event : new LegacyEventProxy($event)); - } - - /** - * @deprecated since Symfony 4.3, will be removed in 5.0, use beforeDispatch instead - */ - protected function preDispatch($eventName, Event $event) - { - } - - /** - * @deprecated since Symfony 4.3, will be removed in 5.0, use afterDispatch instead - */ - protected function postDispatch($eventName, Event $event) - { - } - - private function preProcess(string $eventName) - { - if (!$this->dispatcher->hasListeners($eventName)) { - $this->orphanedEvents[$this->currentRequestHash][] = $eventName; - - return; - } - - foreach ($this->dispatcher->getListeners($eventName) as $listener) { - $priority = $this->getListenerPriority($eventName, $listener); - $wrappedListener = new WrappedListener($listener instanceof WrappedListener ? $listener->getWrappedListener() : $listener, null, $this->stopwatch, $this); - $this->wrappedListeners[$eventName][] = $wrappedListener; - $this->dispatcher->removeListener($eventName, $listener); - $this->dispatcher->addListener($eventName, $wrappedListener, $priority); - $this->callStack->attach($wrappedListener, [$eventName, $this->currentRequestHash]); - } - } - - private function postProcess(string $eventName) - { - unset($this->wrappedListeners[$eventName]); - $skipped = false; - foreach ($this->dispatcher->getListeners($eventName) as $listener) { - if (!$listener instanceof WrappedListener) { // #12845: a new listener was added during dispatch. - continue; - } - // Unwrap listener - $priority = $this->getListenerPriority($eventName, $listener); - $this->dispatcher->removeListener($eventName, $listener); - $this->dispatcher->addListener($eventName, $listener->getWrappedListener(), $priority); - - if (null !== $this->logger) { - $context = ['event' => $eventName, 'listener' => $listener->getPretty()]; - } - - if ($listener->wasCalled()) { - if (null !== $this->logger) { - $this->logger->debug('Notified event "{event}" to listener "{listener}".', $context); - } - } else { - $this->callStack->detach($listener); - } - - if (null !== $this->logger && $skipped) { - $this->logger->debug('Listener "{listener}" was not called for event "{event}".', $context); - } - - if ($listener->stoppedPropagation()) { - if (null !== $this->logger) { - $this->logger->debug('Listener "{listener}" stopped propagation of the event "{event}".', $context); - } - - $skipped = true; - } - } - } - - private function sortNotCalledListeners(array $a, array $b) - { - if (0 !== $cmp = strcmp($a['event'], $b['event'])) { - return $cmp; - } - - if (\is_int($a['priority']) && !\is_int($b['priority'])) { - return 1; - } - - if (!\is_int($a['priority']) && \is_int($b['priority'])) { - return -1; - } - - if ($a['priority'] === $b['priority']) { - return 0; - } - - if ($a['priority'] > $b['priority']) { - return -1; - } - - return 1; - } -} diff --git a/paragonik-backend/vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcherInterface.php b/paragonik-backend/vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcherInterface.php deleted file mode 100644 index 4fedb9a..0000000 --- a/paragonik-backend/vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcherInterface.php +++ /dev/null @@ -1,42 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\EventDispatcher\Debug; - -use Symfony\Component\EventDispatcher\EventDispatcherInterface; -use Symfony\Component\HttpFoundation\Request; -use Symfony\Contracts\Service\ResetInterface; - -/** - * @deprecated since Symfony 4.1 - * - * @author Fabien Potencier - */ -interface TraceableEventDispatcherInterface extends EventDispatcherInterface, ResetInterface -{ - /** - * Gets the called listeners. - * - * @param Request|null $request The request to get listeners for - * - * @return array An array of called listeners - */ - public function getCalledListeners(/* Request $request = null */); - - /** - * Gets the not called listeners. - * - * @param Request|null $request The request to get listeners for - * - * @return array An array of not called listeners - */ - public function getNotCalledListeners(/* Request $request = null */); -} diff --git a/paragonik-backend/vendor/symfony/event-dispatcher/Debug/WrappedListener.php b/paragonik-backend/vendor/symfony/event-dispatcher/Debug/WrappedListener.php deleted file mode 100644 index e047639..0000000 --- a/paragonik-backend/vendor/symfony/event-dispatcher/Debug/WrappedListener.php +++ /dev/null @@ -1,136 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\EventDispatcher\Debug; - -use Psr\EventDispatcher\StoppableEventInterface; -use Symfony\Component\EventDispatcher\Event; -use Symfony\Component\EventDispatcher\EventDispatcherInterface; -use Symfony\Component\EventDispatcher\LegacyEventProxy; -use Symfony\Component\Stopwatch\Stopwatch; -use Symfony\Component\VarDumper\Caster\ClassStub; -use Symfony\Contracts\EventDispatcher\Event as ContractsEvent; - -/** - * @author Fabien Potencier - * - * @final since Symfony 4.3: the "Event" type-hint on __invoke() will be replaced by "object" in 5.0 - */ -class WrappedListener -{ - private $listener; - private $optimizedListener; - private $name; - private $called; - private $stoppedPropagation; - private $stopwatch; - private $dispatcher; - private $pretty; - private $stub; - private $priority; - private static $hasClassStub; - - public function __construct($listener, ?string $name, Stopwatch $stopwatch, EventDispatcherInterface $dispatcher = null) - { - $this->listener = $listener; - $this->optimizedListener = $listener instanceof \Closure ? $listener : (\is_callable($listener) ? \Closure::fromCallable($listener) : null); - $this->stopwatch = $stopwatch; - $this->dispatcher = $dispatcher; - $this->called = false; - $this->stoppedPropagation = false; - - if (\is_array($listener)) { - $this->name = \is_object($listener[0]) ? \get_class($listener[0]) : $listener[0]; - $this->pretty = $this->name.'::'.$listener[1]; - } elseif ($listener instanceof \Closure) { - $r = new \ReflectionFunction($listener); - if (false !== strpos($r->name, '{closure}')) { - $this->pretty = $this->name = 'closure'; - } elseif ($class = $r->getClosureScopeClass()) { - $this->name = $class->name; - $this->pretty = $this->name.'::'.$r->name; - } else { - $this->pretty = $this->name = $r->name; - } - } elseif (\is_string($listener)) { - $this->pretty = $this->name = $listener; - } else { - $this->name = \get_class($listener); - $this->pretty = $this->name.'::__invoke'; - } - - if (null !== $name) { - $this->name = $name; - } - - if (null === self::$hasClassStub) { - self::$hasClassStub = class_exists(ClassStub::class); - } - } - - public function getWrappedListener() - { - return $this->listener; - } - - public function wasCalled() - { - return $this->called; - } - - public function stoppedPropagation() - { - return $this->stoppedPropagation; - } - - public function getPretty() - { - return $this->pretty; - } - - public function getInfo($eventName) - { - if (null === $this->stub) { - $this->stub = self::$hasClassStub ? new ClassStub($this->pretty.'()', $this->listener) : $this->pretty.'()'; - } - - return [ - 'event' => $eventName, - 'priority' => null !== $this->priority ? $this->priority : (null !== $this->dispatcher ? $this->dispatcher->getListenerPriority($eventName, $this->listener) : null), - 'pretty' => $this->pretty, - 'stub' => $this->stub, - ]; - } - - public function __invoke(Event $event, $eventName, EventDispatcherInterface $dispatcher) - { - if ($event instanceof LegacyEventProxy) { - $event = $event->getEvent(); - } - - $dispatcher = $this->dispatcher ?: $dispatcher; - - $this->called = true; - $this->priority = $dispatcher->getListenerPriority($eventName, $this->listener); - - $e = $this->stopwatch->start($this->name, 'event_listener'); - - ($this->optimizedListener ?? $this->listener)($event, $eventName, $dispatcher); - - if ($e->isStarted()) { - $e->stop(); - } - - if (($event instanceof Event || $event instanceof ContractsEvent || $event instanceof StoppableEventInterface) && $event->isPropagationStopped()) { - $this->stoppedPropagation = true; - } - } -} diff --git a/paragonik-backend/vendor/symfony/event-dispatcher/DependencyInjection/AddEventAliasesPass.php b/paragonik-backend/vendor/symfony/event-dispatcher/DependencyInjection/AddEventAliasesPass.php deleted file mode 100644 index c4ea50f..0000000 --- a/paragonik-backend/vendor/symfony/event-dispatcher/DependencyInjection/AddEventAliasesPass.php +++ /dev/null @@ -1,42 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\EventDispatcher\DependencyInjection; - -use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface; -use Symfony\Component\DependencyInjection\ContainerBuilder; - -/** - * This pass allows bundles to extend the list of event aliases. - * - * @author Alexander M. Turek - */ -class AddEventAliasesPass implements CompilerPassInterface -{ - private $eventAliases; - private $eventAliasesParameter; - - public function __construct(array $eventAliases, string $eventAliasesParameter = 'event_dispatcher.event_aliases') - { - $this->eventAliases = $eventAliases; - $this->eventAliasesParameter = $eventAliasesParameter; - } - - public function process(ContainerBuilder $container): void - { - $eventAliases = $container->hasParameter($this->eventAliasesParameter) ? $container->getParameter($this->eventAliasesParameter) : []; - - $container->setParameter( - $this->eventAliasesParameter, - array_merge($eventAliases, $this->eventAliases) - ); - } -} diff --git a/paragonik-backend/vendor/symfony/event-dispatcher/DependencyInjection/RegisterListenersPass.php b/paragonik-backend/vendor/symfony/event-dispatcher/DependencyInjection/RegisterListenersPass.php deleted file mode 100644 index 9c88809..0000000 --- a/paragonik-backend/vendor/symfony/event-dispatcher/DependencyInjection/RegisterListenersPass.php +++ /dev/null @@ -1,178 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\EventDispatcher\DependencyInjection; - -use Symfony\Component\DependencyInjection\Argument\ServiceClosureArgument; -use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface; -use Symfony\Component\DependencyInjection\ContainerBuilder; -use Symfony\Component\DependencyInjection\Exception\InvalidArgumentException; -use Symfony\Component\DependencyInjection\Reference; -use Symfony\Component\EventDispatcher\Event as LegacyEvent; -use Symfony\Component\EventDispatcher\EventDispatcher; -use Symfony\Component\EventDispatcher\EventSubscriberInterface; -use Symfony\Contracts\EventDispatcher\Event; - -/** - * Compiler pass to register tagged services for an event dispatcher. - */ -class RegisterListenersPass implements CompilerPassInterface -{ - protected $dispatcherService; - protected $listenerTag; - protected $subscriberTag; - protected $eventAliasesParameter; - - private $hotPathEvents = []; - private $hotPathTagName; - - public function __construct(string $dispatcherService = 'event_dispatcher', string $listenerTag = 'kernel.event_listener', string $subscriberTag = 'kernel.event_subscriber', string $eventAliasesParameter = 'event_dispatcher.event_aliases') - { - $this->dispatcherService = $dispatcherService; - $this->listenerTag = $listenerTag; - $this->subscriberTag = $subscriberTag; - $this->eventAliasesParameter = $eventAliasesParameter; - } - - public function setHotPathEvents(array $hotPathEvents, $tagName = 'container.hot_path') - { - $this->hotPathEvents = array_flip($hotPathEvents); - $this->hotPathTagName = $tagName; - - return $this; - } - - public function process(ContainerBuilder $container) - { - if (!$container->hasDefinition($this->dispatcherService) && !$container->hasAlias($this->dispatcherService)) { - return; - } - - if ($container->hasParameter($this->eventAliasesParameter)) { - $aliases = $container->getParameter($this->eventAliasesParameter); - $container->getParameterBag()->remove($this->eventAliasesParameter); - } else { - $aliases = []; - } - $definition = $container->findDefinition($this->dispatcherService); - - foreach ($container->findTaggedServiceIds($this->listenerTag, true) as $id => $events) { - foreach ($events as $event) { - $priority = isset($event['priority']) ? $event['priority'] : 0; - - if (!isset($event['event'])) { - if ($container->getDefinition($id)->hasTag($this->subscriberTag)) { - continue; - } - - $event['method'] = $event['method'] ?? '__invoke'; - $event['event'] = $this->getEventFromTypeDeclaration($container, $id, $event['method']); - } - - $event['event'] = $aliases[$event['event']] ?? $event['event']; - - if (!isset($event['method'])) { - $event['method'] = 'on'.preg_replace_callback([ - '/(?<=\b)[a-z]/i', - '/[^a-z0-9]/i', - ], function ($matches) { return strtoupper($matches[0]); }, $event['event']); - $event['method'] = preg_replace('/[^a-z0-9]/i', '', $event['method']); - - if (null !== ($class = $container->getDefinition($id)->getClass()) && ($r = $container->getReflectionClass($class, false)) && !$r->hasMethod($event['method']) && $r->hasMethod('__invoke')) { - $event['method'] = '__invoke'; - } - } - - $definition->addMethodCall('addListener', [$event['event'], [new ServiceClosureArgument(new Reference($id)), $event['method']], $priority]); - - if (isset($this->hotPathEvents[$event['event']])) { - $container->getDefinition($id)->addTag($this->hotPathTagName); - } - } - } - - $extractingDispatcher = new ExtractingEventDispatcher(); - - foreach ($container->findTaggedServiceIds($this->subscriberTag, true) as $id => $attributes) { - $def = $container->getDefinition($id); - - // We must assume that the class value has been correctly filled, even if the service is created by a factory - $class = $def->getClass(); - - if (!$r = $container->getReflectionClass($class)) { - throw new InvalidArgumentException(sprintf('Class "%s" used for service "%s" cannot be found.', $class, $id)); - } - if (!$r->isSubclassOf(EventSubscriberInterface::class)) { - throw new InvalidArgumentException(sprintf('Service "%s" must implement interface "%s".', $id, EventSubscriberInterface::class)); - } - $class = $r->name; - - ExtractingEventDispatcher::$aliases = $aliases; - ExtractingEventDispatcher::$subscriber = $class; - $extractingDispatcher->addSubscriber($extractingDispatcher); - foreach ($extractingDispatcher->listeners as $args) { - $args[1] = [new ServiceClosureArgument(new Reference($id)), $args[1]]; - $definition->addMethodCall('addListener', $args); - - if (isset($this->hotPathEvents[$args[0]])) { - $container->getDefinition($id)->addTag($this->hotPathTagName); - } - } - $extractingDispatcher->listeners = []; - ExtractingEventDispatcher::$aliases = []; - } - } - - private function getEventFromTypeDeclaration(ContainerBuilder $container, string $id, string $method): string - { - if ( - null === ($class = $container->getDefinition($id)->getClass()) - || !($r = $container->getReflectionClass($class, false)) - || !$r->hasMethod($method) - || 1 > ($m = $r->getMethod($method))->getNumberOfParameters() - || !($type = $m->getParameters()[0]->getType()) - || $type->isBuiltin() - || Event::class === ($name = $type->getName()) - || LegacyEvent::class === $name - ) { - throw new InvalidArgumentException(sprintf('Service "%s" must define the "event" attribute on "%s" tags.', $id, $this->listenerTag)); - } - - return $name; - } -} - -/** - * @internal - */ -class ExtractingEventDispatcher extends EventDispatcher implements EventSubscriberInterface -{ - public $listeners = []; - - public static $aliases = []; - public static $subscriber; - - public function addListener($eventName, $listener, $priority = 0) - { - $this->listeners[] = [$eventName, $listener[1], $priority]; - } - - public static function getSubscribedEvents(): array - { - $events = []; - - foreach ([self::$subscriber, 'getSubscribedEvents']() as $eventName => $params) { - $events[self::$aliases[$eventName] ?? $eventName] = $params; - } - - return $events; - } -} diff --git a/paragonik-backend/vendor/symfony/event-dispatcher/Event.php b/paragonik-backend/vendor/symfony/event-dispatcher/Event.php deleted file mode 100644 index 307c4be..0000000 --- a/paragonik-backend/vendor/symfony/event-dispatcher/Event.php +++ /dev/null @@ -1,38 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\EventDispatcher; - -/** - * @deprecated since Symfony 4.3, use "Symfony\Contracts\EventDispatcher\Event" instead - */ -class Event -{ - private $propagationStopped = false; - - /** - * @return bool Whether propagation was already stopped for this event - * - * @deprecated since Symfony 4.3, use "Symfony\Contracts\EventDispatcher\Event" instead - */ - public function isPropagationStopped() - { - return $this->propagationStopped; - } - - /** - * @deprecated since Symfony 4.3, use "Symfony\Contracts\EventDispatcher\Event" instead - */ - public function stopPropagation() - { - $this->propagationStopped = true; - } -} diff --git a/paragonik-backend/vendor/symfony/event-dispatcher/EventDispatcher.php b/paragonik-backend/vendor/symfony/event-dispatcher/EventDispatcher.php deleted file mode 100644 index 9a2459c..0000000 --- a/paragonik-backend/vendor/symfony/event-dispatcher/EventDispatcher.php +++ /dev/null @@ -1,314 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\EventDispatcher; - -use Psr\EventDispatcher\StoppableEventInterface; -use Symfony\Component\EventDispatcher\Debug\WrappedListener; -use Symfony\Contracts\EventDispatcher\Event as ContractsEvent; - -/** - * The EventDispatcherInterface is the central point of Symfony's event listener system. - * - * Listeners are registered on the manager and events are dispatched through the - * manager. - * - * @author Guilherme Blanco - * @author Jonathan Wage - * @author Roman Borschel - * @author Bernhard Schussek - * @author Fabien Potencier - * @author Jordi Boggiano - * @author Jordan Alliot - * @author Nicolas Grekas - */ -class EventDispatcher implements EventDispatcherInterface -{ - private $listeners = []; - private $sorted = []; - private $optimized; - - public function __construct() - { - if (__CLASS__ === \get_class($this)) { - $this->optimized = []; - } - } - - /** - * {@inheritdoc} - * - * @param string|null $eventName - */ - public function dispatch($event/*, string $eventName = null*/) - { - $eventName = 1 < \func_num_args() ? func_get_arg(1) : null; - - if (\is_object($event)) { - $eventName = $eventName ?? \get_class($event); - } elseif (\is_string($event) && (null === $eventName || $eventName instanceof ContractsEvent || $eventName instanceof Event)) { - @trigger_error(sprintf('Calling the "%s::dispatch()" method with the event name as the first argument is deprecated since Symfony 4.3, pass it as the second argument and provide the event object as the first argument instead.', EventDispatcherInterface::class), E_USER_DEPRECATED); - $swap = $event; - $event = $eventName ?? new Event(); - $eventName = $swap; - } else { - throw new \TypeError(sprintf('Argument 1 passed to "%s::dispatch()" must be an object, %s given.', EventDispatcherInterface::class, \is_object($event) ? \get_class($event) : \gettype($event))); - } - - if (null !== $this->optimized && null !== $eventName) { - $listeners = $this->optimized[$eventName] ?? (empty($this->listeners[$eventName]) ? [] : $this->optimizeListeners($eventName)); - } else { - $listeners = $this->getListeners($eventName); - } - - if ($listeners) { - $this->callListeners($listeners, $eventName, $event); - } - - return $event; - } - - /** - * {@inheritdoc} - */ - public function getListeners($eventName = null) - { - if (null !== $eventName) { - if (empty($this->listeners[$eventName])) { - return []; - } - - if (!isset($this->sorted[$eventName])) { - $this->sortListeners($eventName); - } - - return $this->sorted[$eventName]; - } - - foreach ($this->listeners as $eventName => $eventListeners) { - if (!isset($this->sorted[$eventName])) { - $this->sortListeners($eventName); - } - } - - return array_filter($this->sorted); - } - - /** - * {@inheritdoc} - */ - public function getListenerPriority($eventName, $listener) - { - if (empty($this->listeners[$eventName])) { - return null; - } - - if (\is_array($listener) && isset($listener[0]) && $listener[0] instanceof \Closure && 2 >= \count($listener)) { - $listener[0] = $listener[0](); - $listener[1] = $listener[1] ?? '__invoke'; - } - - foreach ($this->listeners[$eventName] as $priority => &$listeners) { - foreach ($listeners as &$v) { - if ($v !== $listener && \is_array($v) && isset($v[0]) && $v[0] instanceof \Closure && 2 >= \count($v)) { - $v[0] = $v[0](); - $v[1] = $v[1] ?? '__invoke'; - } - if ($v === $listener) { - return $priority; - } - } - } - - return null; - } - - /** - * {@inheritdoc} - */ - public function hasListeners($eventName = null) - { - if (null !== $eventName) { - return !empty($this->listeners[$eventName]); - } - - foreach ($this->listeners as $eventListeners) { - if ($eventListeners) { - return true; - } - } - - return false; - } - - /** - * {@inheritdoc} - */ - public function addListener($eventName, $listener, $priority = 0) - { - $this->listeners[$eventName][$priority][] = $listener; - unset($this->sorted[$eventName], $this->optimized[$eventName]); - } - - /** - * {@inheritdoc} - */ - public function removeListener($eventName, $listener) - { - if (empty($this->listeners[$eventName])) { - return; - } - - if (\is_array($listener) && isset($listener[0]) && $listener[0] instanceof \Closure && 2 >= \count($listener)) { - $listener[0] = $listener[0](); - $listener[1] = $listener[1] ?? '__invoke'; - } - - foreach ($this->listeners[$eventName] as $priority => &$listeners) { - foreach ($listeners as $k => &$v) { - if ($v !== $listener && \is_array($v) && isset($v[0]) && $v[0] instanceof \Closure && 2 >= \count($v)) { - $v[0] = $v[0](); - $v[1] = $v[1] ?? '__invoke'; - } - if ($v === $listener) { - unset($listeners[$k], $this->sorted[$eventName], $this->optimized[$eventName]); - } - } - - if (!$listeners) { - unset($this->listeners[$eventName][$priority]); - } - } - } - - /** - * {@inheritdoc} - */ - public function addSubscriber(EventSubscriberInterface $subscriber) - { - foreach ($subscriber->getSubscribedEvents() as $eventName => $params) { - if (\is_string($params)) { - $this->addListener($eventName, [$subscriber, $params]); - } elseif (\is_string($params[0])) { - $this->addListener($eventName, [$subscriber, $params[0]], isset($params[1]) ? $params[1] : 0); - } else { - foreach ($params as $listener) { - $this->addListener($eventName, [$subscriber, $listener[0]], isset($listener[1]) ? $listener[1] : 0); - } - } - } - } - - /** - * {@inheritdoc} - */ - public function removeSubscriber(EventSubscriberInterface $subscriber) - { - foreach ($subscriber->getSubscribedEvents() as $eventName => $params) { - if (\is_array($params) && \is_array($params[0])) { - foreach ($params as $listener) { - $this->removeListener($eventName, [$subscriber, $listener[0]]); - } - } else { - $this->removeListener($eventName, [$subscriber, \is_string($params) ? $params : $params[0]]); - } - } - } - - /** - * Triggers the listeners of an event. - * - * This method can be overridden to add functionality that is executed - * for each listener. - * - * @param callable[] $listeners The event listeners - * @param string $eventName The name of the event to dispatch - * @param object $event The event object to pass to the event handlers/listeners - */ - protected function callListeners(iterable $listeners, string $eventName, $event) - { - if ($event instanceof Event) { - $this->doDispatch($listeners, $eventName, $event); - - return; - } - - $stoppable = $event instanceof ContractsEvent || $event instanceof StoppableEventInterface; - - foreach ($listeners as $listener) { - if ($stoppable && $event->isPropagationStopped()) { - break; - } - // @deprecated: the ternary operator is part of a BC layer and should be removed in 5.0 - $listener($listener instanceof WrappedListener ? new LegacyEventProxy($event) : $event, $eventName, $this); - } - } - - /** - * @deprecated since Symfony 4.3, use callListeners() instead - */ - protected function doDispatch($listeners, $eventName, Event $event) - { - foreach ($listeners as $listener) { - if ($event->isPropagationStopped()) { - break; - } - $listener($event, $eventName, $this); - } - } - - /** - * Sorts the internal list of listeners for the given event by priority. - */ - private function sortListeners(string $eventName) - { - krsort($this->listeners[$eventName]); - $this->sorted[$eventName] = []; - - foreach ($this->listeners[$eventName] as &$listeners) { - foreach ($listeners as $k => $listener) { - if (\is_array($listener) && isset($listener[0]) && $listener[0] instanceof \Closure && 2 >= \count($listener)) { - $listener[0] = $listener[0](); - $listener[1] = $listener[1] ?? '__invoke'; - } - $this->sorted[$eventName][] = $listener; - } - } - } - - /** - * Optimizes the internal list of listeners for the given event by priority. - */ - private function optimizeListeners(string $eventName): array - { - krsort($this->listeners[$eventName]); - $this->optimized[$eventName] = []; - - foreach ($this->listeners[$eventName] as &$listeners) { - foreach ($listeners as &$listener) { - $closure = &$this->optimized[$eventName][]; - if (\is_array($listener) && isset($listener[0]) && $listener[0] instanceof \Closure && 2 >= \count($listener)) { - $closure = static function (...$args) use (&$listener, &$closure) { - if ($listener[0] instanceof \Closure) { - $listener[0] = $listener[0](); - $listener[1] = $listener[1] ?? '__invoke'; - } - ($closure = \Closure::fromCallable($listener))(...$args); - }; - } else { - $closure = $listener instanceof \Closure || $listener instanceof WrappedListener ? $listener : \Closure::fromCallable($listener); - } - } - } - - return $this->optimized[$eventName]; - } -} diff --git a/paragonik-backend/vendor/symfony/event-dispatcher/EventDispatcherInterface.php b/paragonik-backend/vendor/symfony/event-dispatcher/EventDispatcherInterface.php deleted file mode 100644 index ceaa62a..0000000 --- a/paragonik-backend/vendor/symfony/event-dispatcher/EventDispatcherInterface.php +++ /dev/null @@ -1,82 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\EventDispatcher; - -use Symfony\Contracts\EventDispatcher\EventDispatcherInterface as ContractsEventDispatcherInterface; - -/** - * The EventDispatcherInterface is the central point of Symfony's event listener system. - * Listeners are registered on the manager and events are dispatched through the - * manager. - * - * @author Bernhard Schussek - */ -interface EventDispatcherInterface extends ContractsEventDispatcherInterface -{ - /** - * Adds an event listener that listens on the specified events. - * - * @param string $eventName The event to listen on - * @param callable $listener The listener - * @param int $priority The higher this value, the earlier an event - * listener will be triggered in the chain (defaults to 0) - */ - public function addListener($eventName, $listener, $priority = 0); - - /** - * Adds an event subscriber. - * - * The subscriber is asked for all the events it is - * interested in and added as a listener for these events. - */ - public function addSubscriber(EventSubscriberInterface $subscriber); - - /** - * Removes an event listener from the specified events. - * - * @param string $eventName The event to remove a listener from - * @param callable $listener The listener to remove - */ - public function removeListener($eventName, $listener); - - public function removeSubscriber(EventSubscriberInterface $subscriber); - - /** - * Gets the listeners of a specific event or all listeners sorted by descending priority. - * - * @param string|null $eventName The name of the event - * - * @return array The event listeners for the specified event, or all event listeners by event name - */ - public function getListeners($eventName = null); - - /** - * Gets the listener priority for a specific event. - * - * Returns null if the event or the listener does not exist. - * - * @param string $eventName The name of the event - * @param callable $listener The listener - * - * @return int|null The event listener priority - */ - public function getListenerPriority($eventName, $listener); - - /** - * Checks whether an event has any registered listeners. - * - * @param string|null $eventName The name of the event - * - * @return bool true if the specified event has any listeners, false otherwise - */ - public function hasListeners($eventName = null); -} diff --git a/paragonik-backend/vendor/symfony/event-dispatcher/EventSubscriberInterface.php b/paragonik-backend/vendor/symfony/event-dispatcher/EventSubscriberInterface.php deleted file mode 100644 index 824f215..0000000 --- a/paragonik-backend/vendor/symfony/event-dispatcher/EventSubscriberInterface.php +++ /dev/null @@ -1,46 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\EventDispatcher; - -/** - * An EventSubscriber knows itself what events it is interested in. - * If an EventSubscriber is added to an EventDispatcherInterface, the manager invokes - * {@link getSubscribedEvents} and registers the subscriber as a listener for all - * returned events. - * - * @author Guilherme Blanco - * @author Jonathan Wage - * @author Roman Borschel - * @author Bernhard Schussek - */ -interface EventSubscriberInterface -{ - /** - * Returns an array of event names this subscriber wants to listen to. - * - * The array keys are event names and the value can be: - * - * * The method name to call (priority defaults to 0) - * * An array composed of the method name to call and the priority - * * An array of arrays composed of the method names to call and respective - * priorities, or 0 if unset - * - * For instance: - * - * * ['eventName' => 'methodName'] - * * ['eventName' => ['methodName', $priority]] - * * ['eventName' => [['methodName1', $priority], ['methodName2']]] - * - * @return array The event names to listen to - */ - public static function getSubscribedEvents(); -} diff --git a/paragonik-backend/vendor/symfony/event-dispatcher/GenericEvent.php b/paragonik-backend/vendor/symfony/event-dispatcher/GenericEvent.php deleted file mode 100644 index f005e3a..0000000 --- a/paragonik-backend/vendor/symfony/event-dispatcher/GenericEvent.php +++ /dev/null @@ -1,175 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\EventDispatcher; - -/** - * Event encapsulation class. - * - * Encapsulates events thus decoupling the observer from the subject they encapsulate. - * - * @author Drak - */ -class GenericEvent extends Event implements \ArrayAccess, \IteratorAggregate -{ - protected $subject; - protected $arguments; - - /** - * Encapsulate an event with $subject and $args. - * - * @param mixed $subject The subject of the event, usually an object or a callable - * @param array $arguments Arguments to store in the event - */ - public function __construct($subject = null, array $arguments = []) - { - $this->subject = $subject; - $this->arguments = $arguments; - } - - /** - * Getter for subject property. - * - * @return mixed The observer subject - */ - public function getSubject() - { - return $this->subject; - } - - /** - * Get argument by key. - * - * @param string $key Key - * - * @return mixed Contents of array key - * - * @throws \InvalidArgumentException if key is not found - */ - public function getArgument($key) - { - if ($this->hasArgument($key)) { - return $this->arguments[$key]; - } - - throw new \InvalidArgumentException(sprintf('Argument "%s" not found.', $key)); - } - - /** - * Add argument to event. - * - * @param string $key Argument name - * @param mixed $value Value - * - * @return $this - */ - public function setArgument($key, $value) - { - $this->arguments[$key] = $value; - - return $this; - } - - /** - * Getter for all arguments. - * - * @return array - */ - public function getArguments() - { - return $this->arguments; - } - - /** - * Set args property. - * - * @param array $args Arguments - * - * @return $this - */ - public function setArguments(array $args = []) - { - $this->arguments = $args; - - return $this; - } - - /** - * Has argument. - * - * @param string $key Key of arguments array - * - * @return bool - */ - public function hasArgument($key) - { - return \array_key_exists($key, $this->arguments); - } - - /** - * ArrayAccess for argument getter. - * - * @param string $key Array key - * - * @return mixed - * - * @throws \InvalidArgumentException if key does not exist in $this->args - */ - public function offsetGet($key) - { - return $this->getArgument($key); - } - - /** - * ArrayAccess for argument setter. - * - * @param string $key Array key to set - * @param mixed $value Value - */ - public function offsetSet($key, $value) - { - $this->setArgument($key, $value); - } - - /** - * ArrayAccess for unset argument. - * - * @param string $key Array key - */ - public function offsetUnset($key) - { - if ($this->hasArgument($key)) { - unset($this->arguments[$key]); - } - } - - /** - * ArrayAccess has argument. - * - * @param string $key Array key - * - * @return bool - */ - public function offsetExists($key) - { - return $this->hasArgument($key); - } - - /** - * IteratorAggregate for iterating over the object like an array. - * - * @return \ArrayIterator - */ - public function getIterator() - { - return new \ArrayIterator($this->arguments); - } -} diff --git a/paragonik-backend/vendor/symfony/event-dispatcher/ImmutableEventDispatcher.php b/paragonik-backend/vendor/symfony/event-dispatcher/ImmutableEventDispatcher.php deleted file mode 100644 index 75a7d73..0000000 --- a/paragonik-backend/vendor/symfony/event-dispatcher/ImmutableEventDispatcher.php +++ /dev/null @@ -1,102 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\EventDispatcher; - -/** - * A read-only proxy for an event dispatcher. - * - * @author Bernhard Schussek - */ -class ImmutableEventDispatcher implements EventDispatcherInterface -{ - private $dispatcher; - - public function __construct(EventDispatcherInterface $dispatcher) - { - $this->dispatcher = LegacyEventDispatcherProxy::decorate($dispatcher); - } - - /** - * {@inheritdoc} - * - * @param string|null $eventName - */ - public function dispatch($event/*, string $eventName = null*/) - { - $eventName = 1 < \func_num_args() ? func_get_arg(1) : null; - - if (is_scalar($event)) { - // deprecated - $swap = $event; - $event = $eventName ?? new Event(); - $eventName = $swap; - } - - return $this->dispatcher->dispatch($event, $eventName); - } - - /** - * {@inheritdoc} - */ - public function addListener($eventName, $listener, $priority = 0) - { - throw new \BadMethodCallException('Unmodifiable event dispatchers must not be modified.'); - } - - /** - * {@inheritdoc} - */ - public function addSubscriber(EventSubscriberInterface $subscriber) - { - throw new \BadMethodCallException('Unmodifiable event dispatchers must not be modified.'); - } - - /** - * {@inheritdoc} - */ - public function removeListener($eventName, $listener) - { - throw new \BadMethodCallException('Unmodifiable event dispatchers must not be modified.'); - } - - /** - * {@inheritdoc} - */ - public function removeSubscriber(EventSubscriberInterface $subscriber) - { - throw new \BadMethodCallException('Unmodifiable event dispatchers must not be modified.'); - } - - /** - * {@inheritdoc} - */ - public function getListeners($eventName = null) - { - return $this->dispatcher->getListeners($eventName); - } - - /** - * {@inheritdoc} - */ - public function getListenerPriority($eventName, $listener) - { - return $this->dispatcher->getListenerPriority($eventName, $listener); - } - - /** - * {@inheritdoc} - */ - public function hasListeners($eventName = null) - { - return $this->dispatcher->hasListeners($eventName); - } -} diff --git a/paragonik-backend/vendor/symfony/event-dispatcher/LICENSE b/paragonik-backend/vendor/symfony/event-dispatcher/LICENSE deleted file mode 100644 index a677f43..0000000 --- a/paragonik-backend/vendor/symfony/event-dispatcher/LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 2004-2019 Fabien Potencier - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is furnished -to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/paragonik-backend/vendor/symfony/event-dispatcher/LegacyEventDispatcherProxy.php b/paragonik-backend/vendor/symfony/event-dispatcher/LegacyEventDispatcherProxy.php deleted file mode 100644 index 513e260..0000000 --- a/paragonik-backend/vendor/symfony/event-dispatcher/LegacyEventDispatcherProxy.php +++ /dev/null @@ -1,147 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\EventDispatcher; - -use Psr\EventDispatcher\StoppableEventInterface; -use Symfony\Contracts\EventDispatcher\Event as ContractsEvent; -use Symfony\Contracts\EventDispatcher\EventDispatcherInterface as ContractsEventDispatcherInterface; - -/** - * A helper class to provide BC/FC with the legacy signature of EventDispatcherInterface::dispatch(). - * - * This class should be deprecated in Symfony 5.1 - * - * @author Nicolas Grekas - */ -final class LegacyEventDispatcherProxy implements EventDispatcherInterface -{ - private $dispatcher; - - public static function decorate(?ContractsEventDispatcherInterface $dispatcher): ?ContractsEventDispatcherInterface - { - if (null === $dispatcher) { - return null; - } - $r = new \ReflectionMethod($dispatcher, 'dispatch'); - $param2 = $r->getParameters()[1] ?? null; - - if (!$param2 || !$param2->hasType() || $param2->getType()->isBuiltin()) { - return $dispatcher; - } - - @trigger_error(sprintf('The signature of the "%s::dispatch()" method should be updated to "dispatch($event, string $eventName = null)", not doing so is deprecated since Symfony 4.3.', $r->class), E_USER_DEPRECATED); - - $self = new self(); - $self->dispatcher = $dispatcher; - - return $self; - } - - /** - * {@inheritdoc} - * - * @param string|null $eventName - * - * @return object - */ - public function dispatch($event/*, string $eventName = null*/) - { - $eventName = 1 < \func_num_args() ? func_get_arg(1) : null; - - if (\is_object($event)) { - $eventName = $eventName ?? \get_class($event); - } elseif (\is_string($event) && (null === $eventName || $eventName instanceof ContractsEvent || $eventName instanceof Event)) { - @trigger_error(sprintf('Calling the "%s::dispatch()" method with the event name as the first argument is deprecated since Symfony 4.3, pass it as the second argument and provide the event object as the first argument instead.', ContractsEventDispatcherInterface::class), E_USER_DEPRECATED); - $swap = $event; - $event = $eventName ?? new Event(); - $eventName = $swap; - } else { - throw new \TypeError(sprintf('Argument 1 passed to "%s::dispatch()" must be an object, %s given.', ContractsEventDispatcherInterface::class, \is_object($event) ? \get_class($event) : \gettype($event))); - } - - $listeners = $this->getListeners($eventName); - $stoppable = $event instanceof Event || $event instanceof ContractsEvent || $event instanceof StoppableEventInterface; - - foreach ($listeners as $listener) { - if ($stoppable && $event->isPropagationStopped()) { - break; - } - $listener($event, $eventName, $this); - } - - return $event; - } - - /** - * {@inheritdoc} - */ - public function addListener($eventName, $listener, $priority = 0) - { - return $this->dispatcher->addListener($eventName, $listener, $priority); - } - - /** - * {@inheritdoc} - */ - public function addSubscriber(EventSubscriberInterface $subscriber) - { - return $this->dispatcher->addSubscriber($subscriber); - } - - /** - * {@inheritdoc} - */ - public function removeListener($eventName, $listener) - { - return $this->dispatcher->removeListener($eventName, $listener); - } - - /** - * {@inheritdoc} - */ - public function removeSubscriber(EventSubscriberInterface $subscriber) - { - return $this->dispatcher->removeSubscriber($subscriber); - } - - /** - * {@inheritdoc} - */ - public function getListeners($eventName = null): array - { - return $this->dispatcher->getListeners($eventName); - } - - /** - * {@inheritdoc} - */ - public function getListenerPriority($eventName, $listener): ?int - { - return $this->dispatcher->getListenerPriority($eventName, $listener); - } - - /** - * {@inheritdoc} - */ - public function hasListeners($eventName = null): bool - { - return $this->dispatcher->hasListeners($eventName); - } - - /** - * Proxies all method calls to the original event dispatcher. - */ - public function __call($method, $arguments) - { - return $this->dispatcher->{$method}(...$arguments); - } -} diff --git a/paragonik-backend/vendor/symfony/event-dispatcher/LegacyEventProxy.php b/paragonik-backend/vendor/symfony/event-dispatcher/LegacyEventProxy.php deleted file mode 100644 index 45ee251..0000000 --- a/paragonik-backend/vendor/symfony/event-dispatcher/LegacyEventProxy.php +++ /dev/null @@ -1,62 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\EventDispatcher; - -use Psr\EventDispatcher\StoppableEventInterface; -use Symfony\Contracts\EventDispatcher\Event as ContractsEvent; - -/** - * @internal to be removed in 5.0. - */ -final class LegacyEventProxy extends Event -{ - private $event; - - /** - * @param object $event - */ - public function __construct($event) - { - $this->event = $event; - } - - /** - * @return object $event - */ - public function getEvent() - { - return $this->event; - } - - public function isPropagationStopped(): bool - { - if (!$this->event instanceof ContractsEvent && !$this->event instanceof StoppableEventInterface) { - return false; - } - - return $this->event->isPropagationStopped(); - } - - public function stopPropagation() - { - if (!$this->event instanceof ContractsEvent) { - return; - } - - $this->event->stopPropagation(); - } - - public function __call($name, $args) - { - return $this->event->{$name}(...$args); - } -} diff --git a/paragonik-backend/vendor/symfony/event-dispatcher/README.md b/paragonik-backend/vendor/symfony/event-dispatcher/README.md deleted file mode 100644 index 185c3fe..0000000 --- a/paragonik-backend/vendor/symfony/event-dispatcher/README.md +++ /dev/null @@ -1,15 +0,0 @@ -EventDispatcher Component -========================= - -The EventDispatcher component provides tools that allow your application -components to communicate with each other by dispatching events and listening to -them. - -Resources ---------- - - * [Documentation](https://symfony.com/doc/current/components/event_dispatcher/index.html) - * [Contributing](https://symfony.com/doc/current/contributing/index.html) - * [Report issues](https://github.com/symfony/symfony/issues) and - [send Pull Requests](https://github.com/symfony/symfony/pulls) - in the [main Symfony repository](https://github.com/symfony/symfony) diff --git a/paragonik-backend/vendor/symfony/event-dispatcher/composer.json b/paragonik-backend/vendor/symfony/event-dispatcher/composer.json deleted file mode 100644 index ef36e45..0000000 --- a/paragonik-backend/vendor/symfony/event-dispatcher/composer.json +++ /dev/null @@ -1,54 +0,0 @@ -{ - "name": "symfony/event-dispatcher", - "type": "library", - "description": "Symfony EventDispatcher Component", - "keywords": [], - "homepage": "https://symfony.com", - "license": "MIT", - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "require": { - "php": "^7.1.3", - "symfony/event-dispatcher-contracts": "^1.1" - }, - "require-dev": { - "symfony/dependency-injection": "^3.4|^4.0|^5.0", - "symfony/expression-language": "^3.4|^4.0|^5.0", - "symfony/config": "^3.4|^4.0|^5.0", - "symfony/http-foundation": "^3.4|^4.0|^5.0", - "symfony/service-contracts": "^1.1|^2", - "symfony/stopwatch": "^3.4|^4.0|^5.0", - "psr/log": "~1.0" - }, - "conflict": { - "symfony/dependency-injection": "<3.4" - }, - "provide": { - "psr/event-dispatcher-implementation": "1.0", - "symfony/event-dispatcher-implementation": "1.1" - }, - "suggest": { - "symfony/dependency-injection": "", - "symfony/http-kernel": "" - }, - "autoload": { - "psr-4": { "Symfony\\Component\\EventDispatcher\\": "" }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "minimum-stability": "dev", - "extra": { - "branch-alias": { - "dev-master": "4.4-dev" - } - } -} diff --git a/paragonik-backend/vendor/symfony/finder/.gitattributes b/paragonik-backend/vendor/symfony/finder/.gitattributes deleted file mode 100644 index ebb9287..0000000 --- a/paragonik-backend/vendor/symfony/finder/.gitattributes +++ /dev/null @@ -1,3 +0,0 @@ -/Tests export-ignore -/phpunit.xml.dist export-ignore -/.gitignore export-ignore diff --git a/paragonik-backend/vendor/symfony/finder/CHANGELOG.md b/paragonik-backend/vendor/symfony/finder/CHANGELOG.md deleted file mode 100644 index 2045184..0000000 --- a/paragonik-backend/vendor/symfony/finder/CHANGELOG.md +++ /dev/null @@ -1,74 +0,0 @@ -CHANGELOG -========= - -4.3.0 ------ - - * added Finder::ignoreVCSIgnored() to ignore files based on rules listed in .gitignore - -4.2.0 ------ - - * added $useNaturalSort option to Finder::sortByName() method - * the `Finder::sortByName()` method will have a new `$useNaturalSort` - argument in version 5.0, not defining it is deprecated - * added `Finder::reverseSorting()` to reverse the sorting - -4.0.0 ------ - - * removed `ExceptionInterface` - * removed `Symfony\Component\Finder\Iterator\FilterIterator` - -3.4.0 ------ - - * deprecated `Symfony\Component\Finder\Iterator\FilterIterator` - * added Finder::hasResults() method to check if any results were found - -3.3.0 ------ - - * added double-star matching to Glob::toRegex() - -3.0.0 ------ - - * removed deprecated classes - -2.8.0 ------ - - * deprecated adapters and related classes - -2.5.0 ------ - * added support for GLOB_BRACE in the paths passed to Finder::in() - -2.3.0 ------ - - * added a way to ignore unreadable directories (via Finder::ignoreUnreadableDirs()) - * unified the way subfolders that are not executable are handled by always throwing an AccessDeniedException exception - -2.2.0 ------ - - * added Finder::path() and Finder::notPath() methods - * added finder adapters to improve performance on specific platforms - * added support for wildcard characters (glob patterns) in the paths passed - to Finder::in() - -2.1.0 ------ - - * added Finder::sortByAccessedTime(), Finder::sortByChangedTime(), and - Finder::sortByModifiedTime() - * added Countable to Finder - * added support for an array of directories as an argument to - Finder::exclude() - * added searching based on the file content via Finder::contains() and - Finder::notContains() - * added support for the != operator in the Comparator - * [BC BREAK] filter expressions (used for file name and content) are no more - considered as regexps but glob patterns when they are enclosed in '*' or '?' diff --git a/paragonik-backend/vendor/symfony/finder/Comparator/Comparator.php b/paragonik-backend/vendor/symfony/finder/Comparator/Comparator.php deleted file mode 100644 index 6aee21c..0000000 --- a/paragonik-backend/vendor/symfony/finder/Comparator/Comparator.php +++ /dev/null @@ -1,98 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Finder\Comparator; - -/** - * Comparator. - * - * @author Fabien Potencier - */ -class Comparator -{ - private $target; - private $operator = '=='; - - /** - * Gets the target value. - * - * @return string The target value - */ - public function getTarget() - { - return $this->target; - } - - /** - * Sets the target value. - * - * @param string $target The target value - */ - public function setTarget($target) - { - $this->target = $target; - } - - /** - * Gets the comparison operator. - * - * @return string The operator - */ - public function getOperator() - { - return $this->operator; - } - - /** - * Sets the comparison operator. - * - * @param string $operator A valid operator - * - * @throws \InvalidArgumentException - */ - public function setOperator($operator) - { - if (!$operator) { - $operator = '=='; - } - - if (!\in_array($operator, ['>', '<', '>=', '<=', '==', '!='])) { - throw new \InvalidArgumentException(sprintf('Invalid operator "%s".', $operator)); - } - - $this->operator = $operator; - } - - /** - * Tests against the target. - * - * @param mixed $test A test value - * - * @return bool - */ - public function test($test) - { - switch ($this->operator) { - case '>': - return $test > $this->target; - case '>=': - return $test >= $this->target; - case '<': - return $test < $this->target; - case '<=': - return $test <= $this->target; - case '!=': - return $test != $this->target; - } - - return $test == $this->target; - } -} diff --git a/paragonik-backend/vendor/symfony/finder/Comparator/DateComparator.php b/paragonik-backend/vendor/symfony/finder/Comparator/DateComparator.php deleted file mode 100644 index d17c77a..0000000 --- a/paragonik-backend/vendor/symfony/finder/Comparator/DateComparator.php +++ /dev/null @@ -1,51 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Finder\Comparator; - -/** - * DateCompare compiles date comparisons. - * - * @author Fabien Potencier - */ -class DateComparator extends Comparator -{ - /** - * @param string $test A comparison string - * - * @throws \InvalidArgumentException If the test is not understood - */ - public function __construct(string $test) - { - if (!preg_match('#^\s*(==|!=|[<>]=?|after|since|before|until)?\s*(.+?)\s*$#i', $test, $matches)) { - throw new \InvalidArgumentException(sprintf('Don\'t understand "%s" as a date test.', $test)); - } - - try { - $date = new \DateTime($matches[2]); - $target = $date->format('U'); - } catch (\Exception $e) { - throw new \InvalidArgumentException(sprintf('"%s" is not a valid date.', $matches[2])); - } - - $operator = isset($matches[1]) ? $matches[1] : '=='; - if ('since' === $operator || 'after' === $operator) { - $operator = '>'; - } - - if ('until' === $operator || 'before' === $operator) { - $operator = '<'; - } - - $this->setOperator($operator); - $this->setTarget($target); - } -} diff --git a/paragonik-backend/vendor/symfony/finder/Comparator/NumberComparator.php b/paragonik-backend/vendor/symfony/finder/Comparator/NumberComparator.php deleted file mode 100644 index 80667c9..0000000 --- a/paragonik-backend/vendor/symfony/finder/Comparator/NumberComparator.php +++ /dev/null @@ -1,79 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Finder\Comparator; - -/** - * NumberComparator compiles a simple comparison to an anonymous - * subroutine, which you can call with a value to be tested again. - * - * Now this would be very pointless, if NumberCompare didn't understand - * magnitudes. - * - * The target value may use magnitudes of kilobytes (k, ki), - * megabytes (m, mi), or gigabytes (g, gi). Those suffixed - * with an i use the appropriate 2**n version in accordance with the - * IEC standard: http://physics.nist.gov/cuu/Units/binary.html - * - * Based on the Perl Number::Compare module. - * - * @author Fabien Potencier PHP port - * @author Richard Clamp Perl version - * @copyright 2004-2005 Fabien Potencier - * @copyright 2002 Richard Clamp - * - * @see http://physics.nist.gov/cuu/Units/binary.html - */ -class NumberComparator extends Comparator -{ - /** - * @param string|int $test A comparison string or an integer - * - * @throws \InvalidArgumentException If the test is not understood - */ - public function __construct(?string $test) - { - if (!preg_match('#^\s*(==|!=|[<>]=?)?\s*([0-9\.]+)\s*([kmg]i?)?\s*$#i', $test, $matches)) { - throw new \InvalidArgumentException(sprintf('Don\'t understand "%s" as a number test.', $test)); - } - - $target = $matches[2]; - if (!is_numeric($target)) { - throw new \InvalidArgumentException(sprintf('Invalid number "%s".', $target)); - } - if (isset($matches[3])) { - // magnitude - switch (strtolower($matches[3])) { - case 'k': - $target *= 1000; - break; - case 'ki': - $target *= 1024; - break; - case 'm': - $target *= 1000000; - break; - case 'mi': - $target *= 1024 * 1024; - break; - case 'g': - $target *= 1000000000; - break; - case 'gi': - $target *= 1024 * 1024 * 1024; - break; - } - } - - $this->setTarget($target); - $this->setOperator(isset($matches[1]) ? $matches[1] : '=='); - } -} diff --git a/paragonik-backend/vendor/symfony/finder/Exception/AccessDeniedException.php b/paragonik-backend/vendor/symfony/finder/Exception/AccessDeniedException.php deleted file mode 100644 index ee195ea..0000000 --- a/paragonik-backend/vendor/symfony/finder/Exception/AccessDeniedException.php +++ /dev/null @@ -1,19 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Finder\Exception; - -/** - * @author Jean-François Simon - */ -class AccessDeniedException extends \UnexpectedValueException -{ -} diff --git a/paragonik-backend/vendor/symfony/finder/Exception/DirectoryNotFoundException.php b/paragonik-backend/vendor/symfony/finder/Exception/DirectoryNotFoundException.php deleted file mode 100644 index c6cc0f2..0000000 --- a/paragonik-backend/vendor/symfony/finder/Exception/DirectoryNotFoundException.php +++ /dev/null @@ -1,19 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Finder\Exception; - -/** - * @author Andreas Erhard - */ -class DirectoryNotFoundException extends \InvalidArgumentException -{ -} diff --git a/paragonik-backend/vendor/symfony/finder/Finder.php b/paragonik-backend/vendor/symfony/finder/Finder.php deleted file mode 100644 index ecc3515..0000000 --- a/paragonik-backend/vendor/symfony/finder/Finder.php +++ /dev/null @@ -1,808 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Finder; - -use Symfony\Component\Finder\Comparator\DateComparator; -use Symfony\Component\Finder\Comparator\NumberComparator; -use Symfony\Component\Finder\Exception\DirectoryNotFoundException; -use Symfony\Component\Finder\Iterator\CustomFilterIterator; -use Symfony\Component\Finder\Iterator\DateRangeFilterIterator; -use Symfony\Component\Finder\Iterator\DepthRangeFilterIterator; -use Symfony\Component\Finder\Iterator\ExcludeDirectoryFilterIterator; -use Symfony\Component\Finder\Iterator\FilecontentFilterIterator; -use Symfony\Component\Finder\Iterator\FilenameFilterIterator; -use Symfony\Component\Finder\Iterator\SizeRangeFilterIterator; -use Symfony\Component\Finder\Iterator\SortableIterator; - -/** - * Finder allows to build rules to find files and directories. - * - * It is a thin wrapper around several specialized iterator classes. - * - * All rules may be invoked several times. - * - * All methods return the current Finder object to allow chaining: - * - * $finder = Finder::create()->files()->name('*.php')->in(__DIR__); - * - * @author Fabien Potencier - */ -class Finder implements \IteratorAggregate, \Countable -{ - const IGNORE_VCS_FILES = 1; - const IGNORE_DOT_FILES = 2; - const IGNORE_VCS_IGNORED_FILES = 4; - - private $mode = 0; - private $names = []; - private $notNames = []; - private $exclude = []; - private $filters = []; - private $depths = []; - private $sizes = []; - private $followLinks = false; - private $reverseSorting = false; - private $sort = false; - private $ignore = 0; - private $dirs = []; - private $dates = []; - private $iterators = []; - private $contains = []; - private $notContains = []; - private $paths = []; - private $notPaths = []; - private $ignoreUnreadableDirs = false; - - private static $vcsPatterns = ['.svn', '_svn', 'CVS', '_darcs', '.arch-params', '.monotone', '.bzr', '.git', '.hg']; - - public function __construct() - { - $this->ignore = static::IGNORE_VCS_FILES | static::IGNORE_DOT_FILES; - } - - /** - * Creates a new Finder. - * - * @return static - */ - public static function create() - { - return new static(); - } - - /** - * Restricts the matching to directories only. - * - * @return $this - */ - public function directories() - { - $this->mode = Iterator\FileTypeFilterIterator::ONLY_DIRECTORIES; - - return $this; - } - - /** - * Restricts the matching to files only. - * - * @return $this - */ - public function files() - { - $this->mode = Iterator\FileTypeFilterIterator::ONLY_FILES; - - return $this; - } - - /** - * Adds tests for the directory depth. - * - * Usage: - * - * $finder->depth('> 1') // the Finder will start matching at level 1. - * $finder->depth('< 3') // the Finder will descend at most 3 levels of directories below the starting point. - * $finder->depth(['>= 1', '< 3']) - * - * @param string|int|string[]|int[] $levels The depth level expression or an array of depth levels - * - * @return $this - * - * @see DepthRangeFilterIterator - * @see NumberComparator - */ - public function depth($levels) - { - foreach ((array) $levels as $level) { - $this->depths[] = new Comparator\NumberComparator($level); - } - - return $this; - } - - /** - * Adds tests for file dates (last modified). - * - * The date must be something that strtotime() is able to parse: - * - * $finder->date('since yesterday'); - * $finder->date('until 2 days ago'); - * $finder->date('> now - 2 hours'); - * $finder->date('>= 2005-10-15'); - * $finder->date(['>= 2005-10-15', '<= 2006-05-27']); - * - * @param string|string[] $dates A date range string or an array of date ranges - * - * @return $this - * - * @see strtotime - * @see DateRangeFilterIterator - * @see DateComparator - */ - public function date($dates) - { - foreach ((array) $dates as $date) { - $this->dates[] = new Comparator\DateComparator($date); - } - - return $this; - } - - /** - * Adds rules that files must match. - * - * You can use patterns (delimited with / sign), globs or simple strings. - * - * $finder->name('*.php') - * $finder->name('/\.php$/') // same as above - * $finder->name('test.php') - * $finder->name(['test.py', 'test.php']) - * - * @param string|string[] $patterns A pattern (a regexp, a glob, or a string) or an array of patterns - * - * @return $this - * - * @see FilenameFilterIterator - */ - public function name($patterns) - { - $this->names = array_merge($this->names, (array) $patterns); - - return $this; - } - - /** - * Adds rules that files must not match. - * - * @param string|string[] $patterns A pattern (a regexp, a glob, or a string) or an array of patterns - * - * @return $this - * - * @see FilenameFilterIterator - */ - public function notName($patterns) - { - $this->notNames = array_merge($this->notNames, (array) $patterns); - - return $this; - } - - /** - * Adds tests that file contents must match. - * - * Strings or PCRE patterns can be used: - * - * $finder->contains('Lorem ipsum') - * $finder->contains('/Lorem ipsum/i') - * $finder->contains(['dolor', '/ipsum/i']) - * - * @param string|string[] $patterns A pattern (string or regexp) or an array of patterns - * - * @return $this - * - * @see FilecontentFilterIterator - */ - public function contains($patterns) - { - $this->contains = array_merge($this->contains, (array) $patterns); - - return $this; - } - - /** - * Adds tests that file contents must not match. - * - * Strings or PCRE patterns can be used: - * - * $finder->notContains('Lorem ipsum') - * $finder->notContains('/Lorem ipsum/i') - * $finder->notContains(['lorem', '/dolor/i']) - * - * @param string|string[] $patterns A pattern (string or regexp) or an array of patterns - * - * @return $this - * - * @see FilecontentFilterIterator - */ - public function notContains($patterns) - { - $this->notContains = array_merge($this->notContains, (array) $patterns); - - return $this; - } - - /** - * Adds rules that filenames must match. - * - * You can use patterns (delimited with / sign) or simple strings. - * - * $finder->path('some/special/dir') - * $finder->path('/some\/special\/dir/') // same as above - * $finder->path(['some dir', 'another/dir']) - * - * Use only / as dirname separator. - * - * @param string|string[] $patterns A pattern (a regexp or a string) or an array of patterns - * - * @return $this - * - * @see FilenameFilterIterator - */ - public function path($patterns) - { - $this->paths = array_merge($this->paths, (array) $patterns); - - return $this; - } - - /** - * Adds rules that filenames must not match. - * - * You can use patterns (delimited with / sign) or simple strings. - * - * $finder->notPath('some/special/dir') - * $finder->notPath('/some\/special\/dir/') // same as above - * $finder->notPath(['some/file.txt', 'another/file.log']) - * - * Use only / as dirname separator. - * - * @param string|string[] $patterns A pattern (a regexp or a string) or an array of patterns - * - * @return $this - * - * @see FilenameFilterIterator - */ - public function notPath($patterns) - { - $this->notPaths = array_merge($this->notPaths, (array) $patterns); - - return $this; - } - - /** - * Adds tests for file sizes. - * - * $finder->size('> 10K'); - * $finder->size('<= 1Ki'); - * $finder->size(4); - * $finder->size(['> 10K', '< 20K']) - * - * @param string|int|string[]|int[] $sizes A size range string or an integer or an array of size ranges - * - * @return $this - * - * @see SizeRangeFilterIterator - * @see NumberComparator - */ - public function size($sizes) - { - foreach ((array) $sizes as $size) { - $this->sizes[] = new Comparator\NumberComparator($size); - } - - return $this; - } - - /** - * Excludes directories. - * - * Directories passed as argument must be relative to the ones defined with the `in()` method. For example: - * - * $finder->in(__DIR__)->exclude('ruby'); - * - * @param string|array $dirs A directory path or an array of directories - * - * @return $this - * - * @see ExcludeDirectoryFilterIterator - */ - public function exclude($dirs) - { - $this->exclude = array_merge($this->exclude, (array) $dirs); - - return $this; - } - - /** - * Excludes "hidden" directories and files (starting with a dot). - * - * This option is enabled by default. - * - * @param bool $ignoreDotFiles Whether to exclude "hidden" files or not - * - * @return $this - * - * @see ExcludeDirectoryFilterIterator - */ - public function ignoreDotFiles($ignoreDotFiles) - { - if ($ignoreDotFiles) { - $this->ignore |= static::IGNORE_DOT_FILES; - } else { - $this->ignore &= ~static::IGNORE_DOT_FILES; - } - - return $this; - } - - /** - * Forces the finder to ignore version control directories. - * - * This option is enabled by default. - * - * @param bool $ignoreVCS Whether to exclude VCS files or not - * - * @return $this - * - * @see ExcludeDirectoryFilterIterator - */ - public function ignoreVCS($ignoreVCS) - { - if ($ignoreVCS) { - $this->ignore |= static::IGNORE_VCS_FILES; - } else { - $this->ignore &= ~static::IGNORE_VCS_FILES; - } - - return $this; - } - - /** - * Forces Finder to obey .gitignore and ignore files based on rules listed there. - * - * This option is disabled by default. - * - * @return $this - */ - public function ignoreVCSIgnored(bool $ignoreVCSIgnored) - { - if ($ignoreVCSIgnored) { - $this->ignore |= static::IGNORE_VCS_IGNORED_FILES; - } else { - $this->ignore &= ~static::IGNORE_VCS_IGNORED_FILES; - } - - return $this; - } - - /** - * Adds VCS patterns. - * - * @see ignoreVCS() - * - * @param string|string[] $pattern VCS patterns to ignore - */ - public static function addVCSPattern($pattern) - { - foreach ((array) $pattern as $p) { - self::$vcsPatterns[] = $p; - } - - self::$vcsPatterns = array_unique(self::$vcsPatterns); - } - - /** - * Sorts files and directories by an anonymous function. - * - * The anonymous function receives two \SplFileInfo instances to compare. - * - * This can be slow as all the matching files and directories must be retrieved for comparison. - * - * @return $this - * - * @see SortableIterator - */ - public function sort(\Closure $closure) - { - $this->sort = $closure; - - return $this; - } - - /** - * Sorts files and directories by name. - * - * This can be slow as all the matching files and directories must be retrieved for comparison. - * - * @param bool $useNaturalSort Whether to use natural sort or not, disabled by default - * - * @return $this - * - * @see SortableIterator - */ - public function sortByName(/* bool $useNaturalSort = false */) - { - if (\func_num_args() < 1 && __CLASS__ !== \get_class($this) && __CLASS__ !== (new \ReflectionMethod($this, __FUNCTION__))->getDeclaringClass()->getName() && !$this instanceof \PHPUnit\Framework\MockObject\MockObject && !$this instanceof \Prophecy\Prophecy\ProphecySubjectInterface) { - @trigger_error(sprintf('The "%s()" method will have a new "bool $useNaturalSort = false" argument in version 5.0, not defining it is deprecated since Symfony 4.2.', __METHOD__), E_USER_DEPRECATED); - } - $useNaturalSort = 0 < \func_num_args() && func_get_arg(0); - - $this->sort = $useNaturalSort ? Iterator\SortableIterator::SORT_BY_NAME_NATURAL : Iterator\SortableIterator::SORT_BY_NAME; - - return $this; - } - - /** - * Sorts files and directories by type (directories before files), then by name. - * - * This can be slow as all the matching files and directories must be retrieved for comparison. - * - * @return $this - * - * @see SortableIterator - */ - public function sortByType() - { - $this->sort = Iterator\SortableIterator::SORT_BY_TYPE; - - return $this; - } - - /** - * Sorts files and directories by the last accessed time. - * - * This is the time that the file was last accessed, read or written to. - * - * This can be slow as all the matching files and directories must be retrieved for comparison. - * - * @return $this - * - * @see SortableIterator - */ - public function sortByAccessedTime() - { - $this->sort = Iterator\SortableIterator::SORT_BY_ACCESSED_TIME; - - return $this; - } - - /** - * Reverses the sorting. - * - * @return $this - */ - public function reverseSorting() - { - $this->reverseSorting = true; - - return $this; - } - - /** - * Sorts files and directories by the last inode changed time. - * - * This is the time that the inode information was last modified (permissions, owner, group or other metadata). - * - * On Windows, since inode is not available, changed time is actually the file creation time. - * - * This can be slow as all the matching files and directories must be retrieved for comparison. - * - * @return $this - * - * @see SortableIterator - */ - public function sortByChangedTime() - { - $this->sort = Iterator\SortableIterator::SORT_BY_CHANGED_TIME; - - return $this; - } - - /** - * Sorts files and directories by the last modified time. - * - * This is the last time the actual contents of the file were last modified. - * - * This can be slow as all the matching files and directories must be retrieved for comparison. - * - * @return $this - * - * @see SortableIterator - */ - public function sortByModifiedTime() - { - $this->sort = Iterator\SortableIterator::SORT_BY_MODIFIED_TIME; - - return $this; - } - - /** - * Filters the iterator with an anonymous function. - * - * The anonymous function receives a \SplFileInfo and must return false - * to remove files. - * - * @return $this - * - * @see CustomFilterIterator - */ - public function filter(\Closure $closure) - { - $this->filters[] = $closure; - - return $this; - } - - /** - * Forces the following of symlinks. - * - * @return $this - */ - public function followLinks() - { - $this->followLinks = true; - - return $this; - } - - /** - * Tells finder to ignore unreadable directories. - * - * By default, scanning unreadable directories content throws an AccessDeniedException. - * - * @param bool $ignore - * - * @return $this - */ - public function ignoreUnreadableDirs($ignore = true) - { - $this->ignoreUnreadableDirs = (bool) $ignore; - - return $this; - } - - /** - * Searches files and directories which match defined rules. - * - * @param string|string[] $dirs A directory path or an array of directories - * - * @return $this - * - * @throws DirectoryNotFoundException if one of the directories does not exist - */ - public function in($dirs) - { - $resolvedDirs = []; - - foreach ((array) $dirs as $dir) { - if (is_dir($dir)) { - $resolvedDirs[] = $this->normalizeDir($dir); - } elseif ($glob = glob($dir, (\defined('GLOB_BRACE') ? GLOB_BRACE : 0) | GLOB_ONLYDIR | GLOB_NOSORT)) { - sort($glob); - $resolvedDirs = array_merge($resolvedDirs, array_map([$this, 'normalizeDir'], $glob)); - } else { - throw new DirectoryNotFoundException(sprintf('The "%s" directory does not exist.', $dir)); - } - } - - $this->dirs = array_merge($this->dirs, $resolvedDirs); - - return $this; - } - - /** - * Returns an Iterator for the current Finder configuration. - * - * This method implements the IteratorAggregate interface. - * - * @return \Iterator|SplFileInfo[] An iterator - * - * @throws \LogicException if the in() method has not been called - */ - public function getIterator() - { - if (0 === \count($this->dirs) && 0 === \count($this->iterators)) { - throw new \LogicException('You must call one of in() or append() methods before iterating over a Finder.'); - } - - if (1 === \count($this->dirs) && 0 === \count($this->iterators)) { - return $this->searchInDirectory($this->dirs[0]); - } - - $iterator = new \AppendIterator(); - foreach ($this->dirs as $dir) { - $iterator->append($this->searchInDirectory($dir)); - } - - foreach ($this->iterators as $it) { - $iterator->append($it); - } - - return $iterator; - } - - /** - * Appends an existing set of files/directories to the finder. - * - * The set can be another Finder, an Iterator, an IteratorAggregate, or even a plain array. - * - * @param iterable $iterator - * - * @return $this - * - * @throws \InvalidArgumentException when the given argument is not iterable - */ - public function append($iterator) - { - if ($iterator instanceof \IteratorAggregate) { - $this->iterators[] = $iterator->getIterator(); - } elseif ($iterator instanceof \Iterator) { - $this->iterators[] = $iterator; - } elseif ($iterator instanceof \Traversable || \is_array($iterator)) { - $it = new \ArrayIterator(); - foreach ($iterator as $file) { - $it->append($file instanceof \SplFileInfo ? $file : new \SplFileInfo($file)); - } - $this->iterators[] = $it; - } else { - throw new \InvalidArgumentException('Finder::append() method wrong argument type.'); - } - - return $this; - } - - /** - * Check if the any results were found. - * - * @return bool - */ - public function hasResults() - { - foreach ($this->getIterator() as $_) { - return true; - } - - return false; - } - - /** - * Counts all the results collected by the iterators. - * - * @return int - */ - public function count() - { - return iterator_count($this->getIterator()); - } - - private function searchInDirectory(string $dir): \Iterator - { - $exclude = $this->exclude; - $notPaths = $this->notPaths; - - if (static::IGNORE_VCS_FILES === (static::IGNORE_VCS_FILES & $this->ignore)) { - $exclude = array_merge($exclude, self::$vcsPatterns); - } - - if (static::IGNORE_DOT_FILES === (static::IGNORE_DOT_FILES & $this->ignore)) { - $notPaths[] = '#(^|/)\..+(/|$)#'; - } - - if (static::IGNORE_VCS_IGNORED_FILES === (static::IGNORE_VCS_IGNORED_FILES & $this->ignore)) { - $gitignoreFilePath = sprintf('%s/.gitignore', $dir); - if (!is_readable($gitignoreFilePath)) { - throw new \RuntimeException(sprintf('The "ignoreVCSIgnored" option cannot be used by the Finder as the "%s" file is not readable.', $gitignoreFilePath)); - } - $notPaths = array_merge($notPaths, [Gitignore::toRegex(file_get_contents($gitignoreFilePath))]); - } - - $minDepth = 0; - $maxDepth = PHP_INT_MAX; - - foreach ($this->depths as $comparator) { - switch ($comparator->getOperator()) { - case '>': - $minDepth = $comparator->getTarget() + 1; - break; - case '>=': - $minDepth = $comparator->getTarget(); - break; - case '<': - $maxDepth = $comparator->getTarget() - 1; - break; - case '<=': - $maxDepth = $comparator->getTarget(); - break; - default: - $minDepth = $maxDepth = $comparator->getTarget(); - } - } - - $flags = \RecursiveDirectoryIterator::SKIP_DOTS; - - if ($this->followLinks) { - $flags |= \RecursiveDirectoryIterator::FOLLOW_SYMLINKS; - } - - $iterator = new Iterator\RecursiveDirectoryIterator($dir, $flags, $this->ignoreUnreadableDirs); - - if ($exclude) { - $iterator = new Iterator\ExcludeDirectoryFilterIterator($iterator, $exclude); - } - - $iterator = new \RecursiveIteratorIterator($iterator, \RecursiveIteratorIterator::SELF_FIRST); - - if ($minDepth > 0 || $maxDepth < PHP_INT_MAX) { - $iterator = new Iterator\DepthRangeFilterIterator($iterator, $minDepth, $maxDepth); - } - - if ($this->mode) { - $iterator = new Iterator\FileTypeFilterIterator($iterator, $this->mode); - } - - if ($this->names || $this->notNames) { - $iterator = new Iterator\FilenameFilterIterator($iterator, $this->names, $this->notNames); - } - - if ($this->contains || $this->notContains) { - $iterator = new Iterator\FilecontentFilterIterator($iterator, $this->contains, $this->notContains); - } - - if ($this->sizes) { - $iterator = new Iterator\SizeRangeFilterIterator($iterator, $this->sizes); - } - - if ($this->dates) { - $iterator = new Iterator\DateRangeFilterIterator($iterator, $this->dates); - } - - if ($this->filters) { - $iterator = new Iterator\CustomFilterIterator($iterator, $this->filters); - } - - if ($this->paths || $notPaths) { - $iterator = new Iterator\PathFilterIterator($iterator, $this->paths, $notPaths); - } - - if ($this->sort || $this->reverseSorting) { - $iteratorAggregate = new Iterator\SortableIterator($iterator, $this->sort, $this->reverseSorting); - $iterator = $iteratorAggregate->getIterator(); - } - - return $iterator; - } - - /** - * Normalizes given directory names by removing trailing slashes. - * - * Excluding: (s)ftp:// or ssh2.(s)ftp:// wrapper - */ - private function normalizeDir(string $dir): string - { - $dir = rtrim($dir, '/'.\DIRECTORY_SEPARATOR); - - if (preg_match('#^(ssh2\.)?s?ftp://#', $dir)) { - $dir .= '/'; - } - - return $dir; - } -} diff --git a/paragonik-backend/vendor/symfony/finder/Gitignore.php b/paragonik-backend/vendor/symfony/finder/Gitignore.php deleted file mode 100644 index 5ffe585..0000000 --- a/paragonik-backend/vendor/symfony/finder/Gitignore.php +++ /dev/null @@ -1,105 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Finder; - -/** - * Gitignore matches against text. - * - * @author Ahmed Abdou - */ -class Gitignore -{ - /** - * Returns a regexp which is the equivalent of the gitignore pattern. - * - * @return string The regexp - */ - public static function toRegex(string $gitignoreFileContent): string - { - $gitignoreFileContent = preg_replace('/^[^\\\r\n]*#.*/m', '', $gitignoreFileContent); - $gitignoreLines = preg_split('/\r\n|\r|\n/', $gitignoreFileContent); - $gitignoreLines = array_map('trim', $gitignoreLines); - $gitignoreLines = array_filter($gitignoreLines); - - $ignoreLinesPositive = array_filter($gitignoreLines, function (string $line) { - return !preg_match('/^!/', $line); - }); - - $ignoreLinesNegative = array_filter($gitignoreLines, function (string $line) { - return preg_match('/^!/', $line); - }); - - $ignoreLinesNegative = array_map(function (string $line) { - return preg_replace('/^!(.*)/', '${1}', $line); - }, $ignoreLinesNegative); - $ignoreLinesNegative = array_map([__CLASS__, 'getRegexFromGitignore'], $ignoreLinesNegative); - - $ignoreLinesPositive = array_map([__CLASS__, 'getRegexFromGitignore'], $ignoreLinesPositive); - if (empty($ignoreLinesPositive)) { - return '/^$/'; - } - - if (empty($ignoreLinesNegative)) { - return sprintf('/%s/', implode('|', $ignoreLinesPositive)); - } - - return sprintf('/(?=^(?:(?!(%s)).)*$)(%s)/', implode('|', $ignoreLinesNegative), implode('|', $ignoreLinesPositive)); - } - - private static function getRegexFromGitignore(string $gitignorePattern): string - { - $regex = '('; - if (0 === strpos($gitignorePattern, '/')) { - $gitignorePattern = substr($gitignorePattern, 1); - $regex .= '^'; - } else { - $regex .= '(^|\/)'; - } - - if ('/' === $gitignorePattern[\strlen($gitignorePattern) - 1]) { - $gitignorePattern = substr($gitignorePattern, 0, -1); - } - - $iMax = \strlen($gitignorePattern); - for ($i = 0; $i < $iMax; ++$i) { - $doubleChars = substr($gitignorePattern, $i, 2); - if ('**' === $doubleChars) { - $regex .= '.+'; - ++$i; - continue; - } - - $c = $gitignorePattern[$i]; - switch ($c) { - case '*': - $regex .= '[^\/]+'; - break; - case '/': - case '.': - case ':': - case '(': - case ')': - case '{': - case '}': - $regex .= '\\'.$c; - break; - default: - $regex .= $c; - } - } - - $regex .= '($|\/)'; - $regex .= ')'; - - return $regex; - } -} diff --git a/paragonik-backend/vendor/symfony/finder/Glob.php b/paragonik-backend/vendor/symfony/finder/Glob.php deleted file mode 100644 index ea76d51..0000000 --- a/paragonik-backend/vendor/symfony/finder/Glob.php +++ /dev/null @@ -1,116 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Finder; - -/** - * Glob matches globbing patterns against text. - * - * if match_glob("foo.*", "foo.bar") echo "matched\n"; - * - * // prints foo.bar and foo.baz - * $regex = glob_to_regex("foo.*"); - * for (['foo.bar', 'foo.baz', 'foo', 'bar'] as $t) - * { - * if (/$regex/) echo "matched: $car\n"; - * } - * - * Glob implements glob(3) style matching that can be used to match - * against text, rather than fetching names from a filesystem. - * - * Based on the Perl Text::Glob module. - * - * @author Fabien Potencier PHP port - * @author Richard Clamp Perl version - * @copyright 2004-2005 Fabien Potencier - * @copyright 2002 Richard Clamp - */ -class Glob -{ - /** - * Returns a regexp which is the equivalent of the glob pattern. - * - * @param string $glob The glob pattern - * @param bool $strictLeadingDot - * @param bool $strictWildcardSlash - * @param string $delimiter Optional delimiter - * - * @return string regex The regexp - */ - public static function toRegex($glob, $strictLeadingDot = true, $strictWildcardSlash = true, $delimiter = '#') - { - $firstByte = true; - $escaping = false; - $inCurlies = 0; - $regex = ''; - $sizeGlob = \strlen($glob); - for ($i = 0; $i < $sizeGlob; ++$i) { - $car = $glob[$i]; - if ($firstByte && $strictLeadingDot && '.' !== $car) { - $regex .= '(?=[^\.])'; - } - - $firstByte = '/' === $car; - - if ($firstByte && $strictWildcardSlash && isset($glob[$i + 2]) && '**' === $glob[$i + 1].$glob[$i + 2] && (!isset($glob[$i + 3]) || '/' === $glob[$i + 3])) { - $car = '[^/]++/'; - if (!isset($glob[$i + 3])) { - $car .= '?'; - } - - if ($strictLeadingDot) { - $car = '(?=[^\.])'.$car; - } - - $car = '/(?:'.$car.')*'; - $i += 2 + isset($glob[$i + 3]); - - if ('/' === $delimiter) { - $car = str_replace('/', '\\/', $car); - } - } - - if ($delimiter === $car || '.' === $car || '(' === $car || ')' === $car || '|' === $car || '+' === $car || '^' === $car || '$' === $car) { - $regex .= "\\$car"; - } elseif ('*' === $car) { - $regex .= $escaping ? '\\*' : ($strictWildcardSlash ? '[^/]*' : '.*'); - } elseif ('?' === $car) { - $regex .= $escaping ? '\\?' : ($strictWildcardSlash ? '[^/]' : '.'); - } elseif ('{' === $car) { - $regex .= $escaping ? '\\{' : '('; - if (!$escaping) { - ++$inCurlies; - } - } elseif ('}' === $car && $inCurlies) { - $regex .= $escaping ? '}' : ')'; - if (!$escaping) { - --$inCurlies; - } - } elseif (',' === $car && $inCurlies) { - $regex .= $escaping ? ',' : '|'; - } elseif ('\\' === $car) { - if ($escaping) { - $regex .= '\\\\'; - $escaping = false; - } else { - $escaping = true; - } - - continue; - } else { - $regex .= $car; - } - $escaping = false; - } - - return $delimiter.'^'.$regex.'$'.$delimiter; - } -} diff --git a/paragonik-backend/vendor/symfony/finder/Iterator/CustomFilterIterator.php b/paragonik-backend/vendor/symfony/finder/Iterator/CustomFilterIterator.php deleted file mode 100644 index a30bbd0..0000000 --- a/paragonik-backend/vendor/symfony/finder/Iterator/CustomFilterIterator.php +++ /dev/null @@ -1,61 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Finder\Iterator; - -/** - * CustomFilterIterator filters files by applying anonymous functions. - * - * The anonymous function receives a \SplFileInfo and must return false - * to remove files. - * - * @author Fabien Potencier - */ -class CustomFilterIterator extends \FilterIterator -{ - private $filters = []; - - /** - * @param \Iterator $iterator The Iterator to filter - * @param callable[] $filters An array of PHP callbacks - * - * @throws \InvalidArgumentException - */ - public function __construct(\Iterator $iterator, array $filters) - { - foreach ($filters as $filter) { - if (!\is_callable($filter)) { - throw new \InvalidArgumentException('Invalid PHP callback.'); - } - } - $this->filters = $filters; - - parent::__construct($iterator); - } - - /** - * Filters the iterator values. - * - * @return bool true if the value should be kept, false otherwise - */ - public function accept() - { - $fileinfo = $this->current(); - - foreach ($this->filters as $filter) { - if (false === $filter($fileinfo)) { - return false; - } - } - - return true; - } -} diff --git a/paragonik-backend/vendor/symfony/finder/Iterator/DateRangeFilterIterator.php b/paragonik-backend/vendor/symfony/finder/Iterator/DateRangeFilterIterator.php deleted file mode 100644 index 2e97e00..0000000 --- a/paragonik-backend/vendor/symfony/finder/Iterator/DateRangeFilterIterator.php +++ /dev/null @@ -1,58 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Finder\Iterator; - -use Symfony\Component\Finder\Comparator\DateComparator; - -/** - * DateRangeFilterIterator filters out files that are not in the given date range (last modified dates). - * - * @author Fabien Potencier - */ -class DateRangeFilterIterator extends \FilterIterator -{ - private $comparators = []; - - /** - * @param \Iterator $iterator The Iterator to filter - * @param DateComparator[] $comparators An array of DateComparator instances - */ - public function __construct(\Iterator $iterator, array $comparators) - { - $this->comparators = $comparators; - - parent::__construct($iterator); - } - - /** - * Filters the iterator values. - * - * @return bool true if the value should be kept, false otherwise - */ - public function accept() - { - $fileinfo = $this->current(); - - if (!file_exists($fileinfo->getPathname())) { - return false; - } - - $filedate = $fileinfo->getMTime(); - foreach ($this->comparators as $compare) { - if (!$compare->test($filedate)) { - return false; - } - } - - return true; - } -} diff --git a/paragonik-backend/vendor/symfony/finder/Iterator/DepthRangeFilterIterator.php b/paragonik-backend/vendor/symfony/finder/Iterator/DepthRangeFilterIterator.php deleted file mode 100644 index 436a66d..0000000 --- a/paragonik-backend/vendor/symfony/finder/Iterator/DepthRangeFilterIterator.php +++ /dev/null @@ -1,45 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Finder\Iterator; - -/** - * DepthRangeFilterIterator limits the directory depth. - * - * @author Fabien Potencier - */ -class DepthRangeFilterIterator extends \FilterIterator -{ - private $minDepth = 0; - - /** - * @param \RecursiveIteratorIterator $iterator The Iterator to filter - * @param int $minDepth The min depth - * @param int $maxDepth The max depth - */ - public function __construct(\RecursiveIteratorIterator $iterator, int $minDepth = 0, int $maxDepth = PHP_INT_MAX) - { - $this->minDepth = $minDepth; - $iterator->setMaxDepth(PHP_INT_MAX === $maxDepth ? -1 : $maxDepth); - - parent::__construct($iterator); - } - - /** - * Filters the iterator values. - * - * @return bool true if the value should be kept, false otherwise - */ - public function accept() - { - return $this->getInnerIterator()->getDepth() >= $this->minDepth; - } -} diff --git a/paragonik-backend/vendor/symfony/finder/Iterator/ExcludeDirectoryFilterIterator.php b/paragonik-backend/vendor/symfony/finder/Iterator/ExcludeDirectoryFilterIterator.php deleted file mode 100644 index 6a1b291..0000000 --- a/paragonik-backend/vendor/symfony/finder/Iterator/ExcludeDirectoryFilterIterator.php +++ /dev/null @@ -1,87 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Finder\Iterator; - -/** - * ExcludeDirectoryFilterIterator filters out directories. - * - * @author Fabien Potencier - */ -class ExcludeDirectoryFilterIterator extends \FilterIterator implements \RecursiveIterator -{ - private $iterator; - private $isRecursive; - private $excludedDirs = []; - private $excludedPattern; - - /** - * @param \Iterator $iterator The Iterator to filter - * @param string[] $directories An array of directories to exclude - */ - public function __construct(\Iterator $iterator, array $directories) - { - $this->iterator = $iterator; - $this->isRecursive = $iterator instanceof \RecursiveIterator; - $patterns = []; - foreach ($directories as $directory) { - $directory = rtrim($directory, '/'); - if (!$this->isRecursive || false !== strpos($directory, '/')) { - $patterns[] = preg_quote($directory, '#'); - } else { - $this->excludedDirs[$directory] = true; - } - } - if ($patterns) { - $this->excludedPattern = '#(?:^|/)(?:'.implode('|', $patterns).')(?:/|$)#'; - } - - parent::__construct($iterator); - } - - /** - * Filters the iterator values. - * - * @return bool True if the value should be kept, false otherwise - */ - public function accept() - { - if ($this->isRecursive && isset($this->excludedDirs[$this->getFilename()]) && $this->isDir()) { - return false; - } - - if ($this->excludedPattern) { - $path = $this->isDir() ? $this->current()->getRelativePathname() : $this->current()->getRelativePath(); - $path = str_replace('\\', '/', $path); - - return !preg_match($this->excludedPattern, $path); - } - - return true; - } - - /** - * @return bool - */ - public function hasChildren() - { - return $this->isRecursive && $this->iterator->hasChildren(); - } - - public function getChildren() - { - $children = new self($this->iterator->getChildren(), []); - $children->excludedDirs = $this->excludedDirs; - $children->excludedPattern = $this->excludedPattern; - - return $children; - } -} diff --git a/paragonik-backend/vendor/symfony/finder/Iterator/FileTypeFilterIterator.php b/paragonik-backend/vendor/symfony/finder/Iterator/FileTypeFilterIterator.php deleted file mode 100644 index a4c4eec..0000000 --- a/paragonik-backend/vendor/symfony/finder/Iterator/FileTypeFilterIterator.php +++ /dev/null @@ -1,53 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Finder\Iterator; - -/** - * FileTypeFilterIterator only keeps files, directories, or both. - * - * @author Fabien Potencier - */ -class FileTypeFilterIterator extends \FilterIterator -{ - const ONLY_FILES = 1; - const ONLY_DIRECTORIES = 2; - - private $mode; - - /** - * @param \Iterator $iterator The Iterator to filter - * @param int $mode The mode (self::ONLY_FILES or self::ONLY_DIRECTORIES) - */ - public function __construct(\Iterator $iterator, int $mode) - { - $this->mode = $mode; - - parent::__construct($iterator); - } - - /** - * Filters the iterator values. - * - * @return bool true if the value should be kept, false otherwise - */ - public function accept() - { - $fileinfo = $this->current(); - if (self::ONLY_DIRECTORIES === (self::ONLY_DIRECTORIES & $this->mode) && $fileinfo->isFile()) { - return false; - } elseif (self::ONLY_FILES === (self::ONLY_FILES & $this->mode) && $fileinfo->isDir()) { - return false; - } - - return true; - } -} diff --git a/paragonik-backend/vendor/symfony/finder/Iterator/FilecontentFilterIterator.php b/paragonik-backend/vendor/symfony/finder/Iterator/FilecontentFilterIterator.php deleted file mode 100644 index 81594b8..0000000 --- a/paragonik-backend/vendor/symfony/finder/Iterator/FilecontentFilterIterator.php +++ /dev/null @@ -1,58 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Finder\Iterator; - -/** - * FilecontentFilterIterator filters files by their contents using patterns (regexps or strings). - * - * @author Fabien Potencier - * @author Włodzimierz Gajda - */ -class FilecontentFilterIterator extends MultiplePcreFilterIterator -{ - /** - * Filters the iterator values. - * - * @return bool true if the value should be kept, false otherwise - */ - public function accept() - { - if (!$this->matchRegexps && !$this->noMatchRegexps) { - return true; - } - - $fileinfo = $this->current(); - - if ($fileinfo->isDir() || !$fileinfo->isReadable()) { - return false; - } - - $content = $fileinfo->getContents(); - if (!$content) { - return false; - } - - return $this->isAccepted($content); - } - - /** - * Converts string to regexp if necessary. - * - * @param string $str Pattern: string or regexp - * - * @return string regexp corresponding to a given string or regexp - */ - protected function toRegex($str) - { - return $this->isRegex($str) ? $str : '/'.preg_quote($str, '/').'/'; - } -} diff --git a/paragonik-backend/vendor/symfony/finder/Iterator/FilenameFilterIterator.php b/paragonik-backend/vendor/symfony/finder/Iterator/FilenameFilterIterator.php deleted file mode 100644 index e168cd8..0000000 --- a/paragonik-backend/vendor/symfony/finder/Iterator/FilenameFilterIterator.php +++ /dev/null @@ -1,47 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Finder\Iterator; - -use Symfony\Component\Finder\Glob; - -/** - * FilenameFilterIterator filters files by patterns (a regexp, a glob, or a string). - * - * @author Fabien Potencier - */ -class FilenameFilterIterator extends MultiplePcreFilterIterator -{ - /** - * Filters the iterator values. - * - * @return bool true if the value should be kept, false otherwise - */ - public function accept() - { - return $this->isAccepted($this->current()->getFilename()); - } - - /** - * Converts glob to regexp. - * - * PCRE patterns are left unchanged. - * Glob strings are transformed with Glob::toRegex(). - * - * @param string $str Pattern: glob or regexp - * - * @return string regexp corresponding to a given glob or regexp - */ - protected function toRegex($str) - { - return $this->isRegex($str) ? $str : Glob::toRegex($str); - } -} diff --git a/paragonik-backend/vendor/symfony/finder/Iterator/MultiplePcreFilterIterator.php b/paragonik-backend/vendor/symfony/finder/Iterator/MultiplePcreFilterIterator.php deleted file mode 100644 index 18b082e..0000000 --- a/paragonik-backend/vendor/symfony/finder/Iterator/MultiplePcreFilterIterator.php +++ /dev/null @@ -1,112 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Finder\Iterator; - -/** - * MultiplePcreFilterIterator filters files using patterns (regexps, globs or strings). - * - * @author Fabien Potencier - */ -abstract class MultiplePcreFilterIterator extends \FilterIterator -{ - protected $matchRegexps = []; - protected $noMatchRegexps = []; - - /** - * @param \Iterator $iterator The Iterator to filter - * @param array $matchPatterns An array of patterns that need to match - * @param array $noMatchPatterns An array of patterns that need to not match - */ - public function __construct(\Iterator $iterator, array $matchPatterns, array $noMatchPatterns) - { - foreach ($matchPatterns as $pattern) { - $this->matchRegexps[] = $this->toRegex($pattern); - } - - foreach ($noMatchPatterns as $pattern) { - $this->noMatchRegexps[] = $this->toRegex($pattern); - } - - parent::__construct($iterator); - } - - /** - * Checks whether the string is accepted by the regex filters. - * - * If there is no regexps defined in the class, this method will accept the string. - * Such case can be handled by child classes before calling the method if they want to - * apply a different behavior. - * - * @param string $string The string to be matched against filters - * - * @return bool - */ - protected function isAccepted($string) - { - // should at least not match one rule to exclude - foreach ($this->noMatchRegexps as $regex) { - if (preg_match($regex, $string)) { - return false; - } - } - - // should at least match one rule - if ($this->matchRegexps) { - foreach ($this->matchRegexps as $regex) { - if (preg_match($regex, $string)) { - return true; - } - } - - return false; - } - - // If there is no match rules, the file is accepted - return true; - } - - /** - * Checks whether the string is a regex. - * - * @param string $str - * - * @return bool Whether the given string is a regex - */ - protected function isRegex($str) - { - if (preg_match('/^(.{3,}?)[imsxuADU]*$/', $str, $m)) { - $start = substr($m[1], 0, 1); - $end = substr($m[1], -1); - - if ($start === $end) { - return !preg_match('/[*?[:alnum:] \\\\]/', $start); - } - - foreach ([['{', '}'], ['(', ')'], ['[', ']'], ['<', '>']] as $delimiters) { - if ($start === $delimiters[0] && $end === $delimiters[1]) { - return true; - } - } - } - - return false; - } - - /** - * Converts string into regexp. - * - * @param string $str Pattern - * - * @return string regexp corresponding to a given string - */ - abstract protected function toRegex($str); -} diff --git a/paragonik-backend/vendor/symfony/finder/Iterator/PathFilterIterator.php b/paragonik-backend/vendor/symfony/finder/Iterator/PathFilterIterator.php deleted file mode 100644 index 3fda557..0000000 --- a/paragonik-backend/vendor/symfony/finder/Iterator/PathFilterIterator.php +++ /dev/null @@ -1,56 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Finder\Iterator; - -/** - * PathFilterIterator filters files by path patterns (e.g. some/special/dir). - * - * @author Fabien Potencier - * @author Włodzimierz Gajda - */ -class PathFilterIterator extends MultiplePcreFilterIterator -{ - /** - * Filters the iterator values. - * - * @return bool true if the value should be kept, false otherwise - */ - public function accept() - { - $filename = $this->current()->getRelativePathname(); - - if ('\\' === \DIRECTORY_SEPARATOR) { - $filename = str_replace('\\', '/', $filename); - } - - return $this->isAccepted($filename); - } - - /** - * Converts strings to regexp. - * - * PCRE patterns are left unchanged. - * - * Default conversion: - * 'lorem/ipsum/dolor' ==> 'lorem\/ipsum\/dolor/' - * - * Use only / as directory separator (on Windows also). - * - * @param string $str Pattern: regexp or dirname - * - * @return string regexp corresponding to a given string or regexp - */ - protected function toRegex($str) - { - return $this->isRegex($str) ? $str : '/'.preg_quote($str, '/').'/'; - } -} diff --git a/paragonik-backend/vendor/symfony/finder/Iterator/RecursiveDirectoryIterator.php b/paragonik-backend/vendor/symfony/finder/Iterator/RecursiveDirectoryIterator.php deleted file mode 100644 index 3facef5..0000000 --- a/paragonik-backend/vendor/symfony/finder/Iterator/RecursiveDirectoryIterator.php +++ /dev/null @@ -1,140 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Finder\Iterator; - -use Symfony\Component\Finder\Exception\AccessDeniedException; -use Symfony\Component\Finder\SplFileInfo; - -/** - * Extends the \RecursiveDirectoryIterator to support relative paths. - * - * @author Victor Berchet - */ -class RecursiveDirectoryIterator extends \RecursiveDirectoryIterator -{ - /** - * @var bool - */ - private $ignoreUnreadableDirs; - - /** - * @var bool - */ - private $rewindable; - - // these 3 properties take part of the performance optimization to avoid redoing the same work in all iterations - private $rootPath; - private $subPath; - private $directorySeparator = '/'; - - /** - * @throws \RuntimeException - */ - public function __construct(string $path, int $flags, bool $ignoreUnreadableDirs = false) - { - if ($flags & (self::CURRENT_AS_PATHNAME | self::CURRENT_AS_SELF)) { - throw new \RuntimeException('This iterator only support returning current as fileinfo.'); - } - - parent::__construct($path, $flags); - $this->ignoreUnreadableDirs = $ignoreUnreadableDirs; - $this->rootPath = $path; - if ('/' !== \DIRECTORY_SEPARATOR && !($flags & self::UNIX_PATHS)) { - $this->directorySeparator = \DIRECTORY_SEPARATOR; - } - } - - /** - * Return an instance of SplFileInfo with support for relative paths. - * - * @return SplFileInfo File information - */ - public function current() - { - // the logic here avoids redoing the same work in all iterations - - if (null === $subPathname = $this->subPath) { - $subPathname = $this->subPath = (string) $this->getSubPath(); - } - if ('' !== $subPathname) { - $subPathname .= $this->directorySeparator; - } - $subPathname .= $this->getFilename(); - - return new SplFileInfo($this->rootPath.$this->directorySeparator.$subPathname, $this->subPath, $subPathname); - } - - /** - * @return \RecursiveIterator - * - * @throws AccessDeniedException - */ - public function getChildren() - { - try { - $children = parent::getChildren(); - - if ($children instanceof self) { - // parent method will call the constructor with default arguments, so unreadable dirs won't be ignored anymore - $children->ignoreUnreadableDirs = $this->ignoreUnreadableDirs; - - // performance optimization to avoid redoing the same work in all children - $children->rewindable = &$this->rewindable; - $children->rootPath = $this->rootPath; - } - - return $children; - } catch (\UnexpectedValueException $e) { - if ($this->ignoreUnreadableDirs) { - // If directory is unreadable and finder is set to ignore it, a fake empty content is returned. - return new \RecursiveArrayIterator([]); - } else { - throw new AccessDeniedException($e->getMessage(), $e->getCode(), $e); - } - } - } - - /** - * Do nothing for non rewindable stream. - */ - public function rewind() - { - if (false === $this->isRewindable()) { - return; - } - - parent::rewind(); - } - - /** - * Checks if the stream is rewindable. - * - * @return bool true when the stream is rewindable, false otherwise - */ - public function isRewindable() - { - if (null !== $this->rewindable) { - return $this->rewindable; - } - - if (false !== $stream = @opendir($this->getPath())) { - $infos = stream_get_meta_data($stream); - closedir($stream); - - if ($infos['seekable']) { - return $this->rewindable = true; - } - } - - return $this->rewindable = false; - } -} diff --git a/paragonik-backend/vendor/symfony/finder/Iterator/SizeRangeFilterIterator.php b/paragonik-backend/vendor/symfony/finder/Iterator/SizeRangeFilterIterator.php deleted file mode 100644 index 2aeef67..0000000 --- a/paragonik-backend/vendor/symfony/finder/Iterator/SizeRangeFilterIterator.php +++ /dev/null @@ -1,57 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Finder\Iterator; - -use Symfony\Component\Finder\Comparator\NumberComparator; - -/** - * SizeRangeFilterIterator filters out files that are not in the given size range. - * - * @author Fabien Potencier - */ -class SizeRangeFilterIterator extends \FilterIterator -{ - private $comparators = []; - - /** - * @param \Iterator $iterator The Iterator to filter - * @param NumberComparator[] $comparators An array of NumberComparator instances - */ - public function __construct(\Iterator $iterator, array $comparators) - { - $this->comparators = $comparators; - - parent::__construct($iterator); - } - - /** - * Filters the iterator values. - * - * @return bool true if the value should be kept, false otherwise - */ - public function accept() - { - $fileinfo = $this->current(); - if (!$fileinfo->isFile()) { - return true; - } - - $filesize = $fileinfo->getSize(); - foreach ($this->comparators as $compare) { - if (!$compare->test($filesize)) { - return false; - } - } - - return true; - } -} diff --git a/paragonik-backend/vendor/symfony/finder/Iterator/SortableIterator.php b/paragonik-backend/vendor/symfony/finder/Iterator/SortableIterator.php deleted file mode 100644 index 8f0090c..0000000 --- a/paragonik-backend/vendor/symfony/finder/Iterator/SortableIterator.php +++ /dev/null @@ -1,101 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Finder\Iterator; - -/** - * SortableIterator applies a sort on a given Iterator. - * - * @author Fabien Potencier - */ -class SortableIterator implements \IteratorAggregate -{ - const SORT_BY_NONE = 0; - const SORT_BY_NAME = 1; - const SORT_BY_TYPE = 2; - const SORT_BY_ACCESSED_TIME = 3; - const SORT_BY_CHANGED_TIME = 4; - const SORT_BY_MODIFIED_TIME = 5; - const SORT_BY_NAME_NATURAL = 6; - - private $iterator; - private $sort; - - /** - * @param \Traversable $iterator The Iterator to filter - * @param int|callable $sort The sort type (SORT_BY_NAME, SORT_BY_TYPE, or a PHP callback) - * - * @throws \InvalidArgumentException - */ - public function __construct(\Traversable $iterator, $sort, bool $reverseOrder = false) - { - $this->iterator = $iterator; - $order = $reverseOrder ? -1 : 1; - - if (self::SORT_BY_NAME === $sort) { - $this->sort = static function ($a, $b) use ($order) { - return $order * strcmp($a->getRealPath() ?: $a->getPathname(), $b->getRealPath() ?: $b->getPathname()); - }; - } elseif (self::SORT_BY_NAME_NATURAL === $sort) { - $this->sort = static function ($a, $b) use ($order) { - return $order * strnatcmp($a->getRealPath() ?: $a->getPathname(), $b->getRealPath() ?: $b->getPathname()); - }; - } elseif (self::SORT_BY_TYPE === $sort) { - $this->sort = static function ($a, $b) use ($order) { - if ($a->isDir() && $b->isFile()) { - return -$order; - } elseif ($a->isFile() && $b->isDir()) { - return $order; - } - - return $order * strcmp($a->getRealPath() ?: $a->getPathname(), $b->getRealPath() ?: $b->getPathname()); - }; - } elseif (self::SORT_BY_ACCESSED_TIME === $sort) { - $this->sort = static function ($a, $b) use ($order) { - return $order * ($a->getATime() - $b->getATime()); - }; - } elseif (self::SORT_BY_CHANGED_TIME === $sort) { - $this->sort = static function ($a, $b) use ($order) { - return $order * ($a->getCTime() - $b->getCTime()); - }; - } elseif (self::SORT_BY_MODIFIED_TIME === $sort) { - $this->sort = static function ($a, $b) use ($order) { - return $order * ($a->getMTime() - $b->getMTime()); - }; - } elseif (self::SORT_BY_NONE === $sort) { - $this->sort = $order; - } elseif (\is_callable($sort)) { - $this->sort = $reverseOrder ? static function ($a, $b) use ($sort) { return -$sort($a, $b); } : $sort; - } else { - throw new \InvalidArgumentException('The SortableIterator takes a PHP callable or a valid built-in sort algorithm as an argument.'); - } - } - - /** - * @return \Traversable - */ - public function getIterator() - { - if (1 === $this->sort) { - return $this->iterator; - } - - $array = iterator_to_array($this->iterator, true); - - if (-1 === $this->sort) { - $array = array_reverse($array); - } else { - uasort($array, $this->sort); - } - - return new \ArrayIterator($array); - } -} diff --git a/paragonik-backend/vendor/symfony/finder/LICENSE b/paragonik-backend/vendor/symfony/finder/LICENSE deleted file mode 100644 index a677f43..0000000 --- a/paragonik-backend/vendor/symfony/finder/LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 2004-2019 Fabien Potencier - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is furnished -to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/paragonik-backend/vendor/symfony/finder/README.md b/paragonik-backend/vendor/symfony/finder/README.md deleted file mode 100644 index 0b19c75..0000000 --- a/paragonik-backend/vendor/symfony/finder/README.md +++ /dev/null @@ -1,14 +0,0 @@ -Finder Component -================ - -The Finder component finds files and directories via an intuitive fluent -interface. - -Resources ---------- - - * [Documentation](https://symfony.com/doc/current/components/finder.html) - * [Contributing](https://symfony.com/doc/current/contributing/index.html) - * [Report issues](https://github.com/symfony/symfony/issues) and - [send Pull Requests](https://github.com/symfony/symfony/pulls) - in the [main Symfony repository](https://github.com/symfony/symfony) diff --git a/paragonik-backend/vendor/symfony/finder/SplFileInfo.php b/paragonik-backend/vendor/symfony/finder/SplFileInfo.php deleted file mode 100644 index 65d7423..0000000 --- a/paragonik-backend/vendor/symfony/finder/SplFileInfo.php +++ /dev/null @@ -1,85 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Finder; - -/** - * Extends \SplFileInfo to support relative paths. - * - * @author Fabien Potencier - */ -class SplFileInfo extends \SplFileInfo -{ - private $relativePath; - private $relativePathname; - - /** - * @param string $file The file name - * @param string $relativePath The relative path - * @param string $relativePathname The relative path name - */ - public function __construct(string $file, string $relativePath, string $relativePathname) - { - parent::__construct($file); - $this->relativePath = $relativePath; - $this->relativePathname = $relativePathname; - } - - /** - * Returns the relative path. - * - * This path does not contain the file name. - * - * @return string the relative path - */ - public function getRelativePath() - { - return $this->relativePath; - } - - /** - * Returns the relative path name. - * - * This path contains the file name. - * - * @return string the relative path name - */ - public function getRelativePathname() - { - return $this->relativePathname; - } - - public function getFilenameWithoutExtension(): string - { - $filename = $this->getFilename(); - - return pathinfo($filename, PATHINFO_FILENAME); - } - - /** - * Returns the contents of the file. - * - * @return string the contents of the file - * - * @throws \RuntimeException - */ - public function getContents() - { - set_error_handler(function ($type, $msg) use (&$error) { $error = $msg; }); - $content = file_get_contents($this->getPathname()); - restore_error_handler(); - if (false === $content) { - throw new \RuntimeException($error); - } - - return $content; - } -} diff --git a/paragonik-backend/vendor/symfony/finder/composer.json b/paragonik-backend/vendor/symfony/finder/composer.json deleted file mode 100644 index 0b1408c..0000000 --- a/paragonik-backend/vendor/symfony/finder/composer.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "name": "symfony/finder", - "type": "library", - "description": "Symfony Finder Component", - "keywords": [], - "homepage": "https://symfony.com", - "license": "MIT", - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "require": { - "php": "^7.1.3" - }, - "autoload": { - "psr-4": { "Symfony\\Component\\Finder\\": "" }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "minimum-stability": "dev", - "extra": { - "branch-alias": { - "dev-master": "4.4-dev" - } - } -} diff --git a/paragonik-backend/vendor/symfony/http-foundation/.gitattributes b/paragonik-backend/vendor/symfony/http-foundation/.gitattributes deleted file mode 100644 index ebb9287..0000000 --- a/paragonik-backend/vendor/symfony/http-foundation/.gitattributes +++ /dev/null @@ -1,3 +0,0 @@ -/Tests export-ignore -/phpunit.xml.dist export-ignore -/.gitignore export-ignore diff --git a/paragonik-backend/vendor/symfony/http-foundation/AcceptHeader.php b/paragonik-backend/vendor/symfony/http-foundation/AcceptHeader.php deleted file mode 100644 index bbbd62a..0000000 --- a/paragonik-backend/vendor/symfony/http-foundation/AcceptHeader.php +++ /dev/null @@ -1,173 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpFoundation; - -/** - * Represents an Accept-* header. - * - * An accept header is compound with a list of items, - * sorted by descending quality. - * - * @author Jean-François Simon - */ -class AcceptHeader -{ - /** - * @var AcceptHeaderItem[] - */ - private $items = []; - - /** - * @var bool - */ - private $sorted = true; - - /** - * @param AcceptHeaderItem[] $items - */ - public function __construct(array $items) - { - foreach ($items as $item) { - $this->add($item); - } - } - - /** - * Builds an AcceptHeader instance from a string. - * - * @param string $headerValue - * - * @return self - */ - public static function fromString($headerValue) - { - $index = 0; - - $parts = HeaderUtils::split((string) $headerValue, ',;='); - - return new self(array_map(function ($subParts) use (&$index) { - $part = array_shift($subParts); - $attributes = HeaderUtils::combine($subParts); - - $item = new AcceptHeaderItem($part[0], $attributes); - $item->setIndex($index++); - - return $item; - }, $parts)); - } - - /** - * Returns header value's string representation. - * - * @return string - */ - public function __toString() - { - return implode(',', $this->items); - } - - /** - * Tests if header has given value. - * - * @param string $value - * - * @return bool - */ - public function has($value) - { - return isset($this->items[$value]); - } - - /** - * Returns given value's item, if exists. - * - * @param string $value - * - * @return AcceptHeaderItem|null - */ - public function get($value) - { - return $this->items[$value] ?? $this->items[explode('/', $value)[0].'/*'] ?? $this->items['*/*'] ?? $this->items['*'] ?? null; - } - - /** - * Adds an item. - * - * @return $this - */ - public function add(AcceptHeaderItem $item) - { - $this->items[$item->getValue()] = $item; - $this->sorted = false; - - return $this; - } - - /** - * Returns all items. - * - * @return AcceptHeaderItem[] - */ - public function all() - { - $this->sort(); - - return $this->items; - } - - /** - * Filters items on their value using given regex. - * - * @param string $pattern - * - * @return self - */ - public function filter($pattern) - { - return new self(array_filter($this->items, function (AcceptHeaderItem $item) use ($pattern) { - return preg_match($pattern, $item->getValue()); - })); - } - - /** - * Returns first item. - * - * @return AcceptHeaderItem|null - */ - public function first() - { - $this->sort(); - - return !empty($this->items) ? reset($this->items) : null; - } - - /** - * Sorts items by descending quality. - */ - private function sort(): void - { - if (!$this->sorted) { - uasort($this->items, function (AcceptHeaderItem $a, AcceptHeaderItem $b) { - $qA = $a->getQuality(); - $qB = $b->getQuality(); - - if ($qA === $qB) { - return $a->getIndex() > $b->getIndex() ? 1 : -1; - } - - return $qA > $qB ? -1 : 1; - }); - - $this->sorted = true; - } - } -} diff --git a/paragonik-backend/vendor/symfony/http-foundation/AcceptHeaderItem.php b/paragonik-backend/vendor/symfony/http-foundation/AcceptHeaderItem.php deleted file mode 100644 index 954aac6..0000000 --- a/paragonik-backend/vendor/symfony/http-foundation/AcceptHeaderItem.php +++ /dev/null @@ -1,191 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpFoundation; - -/** - * Represents an Accept-* header item. - * - * @author Jean-François Simon - */ -class AcceptHeaderItem -{ - private $value; - private $quality = 1.0; - private $index = 0; - private $attributes = []; - - public function __construct(string $value, array $attributes = []) - { - $this->value = $value; - foreach ($attributes as $name => $value) { - $this->setAttribute($name, $value); - } - } - - /** - * Builds an AcceptHeaderInstance instance from a string. - * - * @param string $itemValue - * - * @return self - */ - public static function fromString($itemValue) - { - $parts = HeaderUtils::split($itemValue, ';='); - - $part = array_shift($parts); - $attributes = HeaderUtils::combine($parts); - - return new self($part[0], $attributes); - } - - /** - * Returns header value's string representation. - * - * @return string - */ - public function __toString() - { - $string = $this->value.($this->quality < 1 ? ';q='.$this->quality : ''); - if (\count($this->attributes) > 0) { - $string .= '; '.HeaderUtils::toString($this->attributes, ';'); - } - - return $string; - } - - /** - * Set the item value. - * - * @param string $value - * - * @return $this - */ - public function setValue($value) - { - $this->value = $value; - - return $this; - } - - /** - * Returns the item value. - * - * @return string - */ - public function getValue() - { - return $this->value; - } - - /** - * Set the item quality. - * - * @param float $quality - * - * @return $this - */ - public function setQuality($quality) - { - $this->quality = $quality; - - return $this; - } - - /** - * Returns the item quality. - * - * @return float - */ - public function getQuality() - { - return $this->quality; - } - - /** - * Set the item index. - * - * @param int $index - * - * @return $this - */ - public function setIndex($index) - { - $this->index = $index; - - return $this; - } - - /** - * Returns the item index. - * - * @return int - */ - public function getIndex() - { - return $this->index; - } - - /** - * Tests if an attribute exists. - * - * @param string $name - * - * @return bool - */ - public function hasAttribute($name) - { - return isset($this->attributes[$name]); - } - - /** - * Returns an attribute by its name. - * - * @param string $name - * @param mixed $default - * - * @return mixed - */ - public function getAttribute($name, $default = null) - { - return isset($this->attributes[$name]) ? $this->attributes[$name] : $default; - } - - /** - * Returns all attributes. - * - * @return array - */ - public function getAttributes() - { - return $this->attributes; - } - - /** - * Set an attribute. - * - * @param string $name - * @param string $value - * - * @return $this - */ - public function setAttribute($name, $value) - { - if ('q' === $name) { - $this->quality = (float) $value; - } else { - $this->attributes[$name] = (string) $value; - } - - return $this; - } -} diff --git a/paragonik-backend/vendor/symfony/http-foundation/ApacheRequest.php b/paragonik-backend/vendor/symfony/http-foundation/ApacheRequest.php deleted file mode 100644 index f189cde..0000000 --- a/paragonik-backend/vendor/symfony/http-foundation/ApacheRequest.php +++ /dev/null @@ -1,47 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpFoundation; - -@trigger_error(sprintf('The "%s" class is deprecated since Symfony 4.4, use "%s" instead.', ApacheRequest::class, Request::class), E_USER_DEPRECATED); - -/** - * Request represents an HTTP request from an Apache server. - * - * @deprecated since Symfony 4.4. Use the Request class instead. - * - * @author Fabien Potencier - */ -class ApacheRequest extends Request -{ - /** - * {@inheritdoc} - */ - protected function prepareRequestUri() - { - return $this->server->get('REQUEST_URI'); - } - - /** - * {@inheritdoc} - */ - protected function prepareBaseUrl() - { - $baseUrl = $this->server->get('SCRIPT_NAME'); - - if (false === strpos($this->server->get('REQUEST_URI'), $baseUrl)) { - // assume mod_rewrite - return rtrim(\dirname($baseUrl), '/\\'); - } - - return $baseUrl; - } -} diff --git a/paragonik-backend/vendor/symfony/http-foundation/BinaryFileResponse.php b/paragonik-backend/vendor/symfony/http-foundation/BinaryFileResponse.php deleted file mode 100644 index 64800b3..0000000 --- a/paragonik-backend/vendor/symfony/http-foundation/BinaryFileResponse.php +++ /dev/null @@ -1,359 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpFoundation; - -use Symfony\Component\HttpFoundation\File\Exception\FileException; -use Symfony\Component\HttpFoundation\File\File; - -/** - * BinaryFileResponse represents an HTTP response delivering a file. - * - * @author Niklas Fiekas - * @author stealth35 - * @author Igor Wiedler - * @author Jordan Alliot - * @author Sergey Linnik - */ -class BinaryFileResponse extends Response -{ - protected static $trustXSendfileTypeHeader = false; - - /** - * @var File - */ - protected $file; - protected $offset = 0; - protected $maxlen = -1; - protected $deleteFileAfterSend = false; - - /** - * @param \SplFileInfo|string $file The file to stream - * @param int $status The response status code - * @param array $headers An array of response headers - * @param bool $public Files are public by default - * @param string|null $contentDisposition The type of Content-Disposition to set automatically with the filename - * @param bool $autoEtag Whether the ETag header should be automatically set - * @param bool $autoLastModified Whether the Last-Modified header should be automatically set - */ - public function __construct($file, int $status = 200, array $headers = [], bool $public = true, string $contentDisposition = null, bool $autoEtag = false, bool $autoLastModified = true) - { - parent::__construct(null, $status, $headers); - - $this->setFile($file, $contentDisposition, $autoEtag, $autoLastModified); - - if ($public) { - $this->setPublic(); - } - } - - /** - * @param \SplFileInfo|string $file The file to stream - * @param int $status The response status code - * @param array $headers An array of response headers - * @param bool $public Files are public by default - * @param string|null $contentDisposition The type of Content-Disposition to set automatically with the filename - * @param bool $autoEtag Whether the ETag header should be automatically set - * @param bool $autoLastModified Whether the Last-Modified header should be automatically set - * - * @return static - */ - public static function create($file = null, $status = 200, $headers = [], $public = true, $contentDisposition = null, $autoEtag = false, $autoLastModified = true) - { - return new static($file, $status, $headers, $public, $contentDisposition, $autoEtag, $autoLastModified); - } - - /** - * Sets the file to stream. - * - * @param \SplFileInfo|string $file The file to stream - * @param string $contentDisposition - * @param bool $autoEtag - * @param bool $autoLastModified - * - * @return $this - * - * @throws FileException - */ - public function setFile($file, $contentDisposition = null, $autoEtag = false, $autoLastModified = true) - { - if (!$file instanceof File) { - if ($file instanceof \SplFileInfo) { - $file = new File($file->getPathname()); - } else { - $file = new File((string) $file); - } - } - - if (!$file->isReadable()) { - throw new FileException('File must be readable.'); - } - - $this->file = $file; - - if ($autoEtag) { - $this->setAutoEtag(); - } - - if ($autoLastModified) { - $this->setAutoLastModified(); - } - - if ($contentDisposition) { - $this->setContentDisposition($contentDisposition); - } - - return $this; - } - - /** - * Gets the file. - * - * @return File The file to stream - */ - public function getFile() - { - return $this->file; - } - - /** - * Automatically sets the Last-Modified header according the file modification date. - */ - public function setAutoLastModified() - { - $this->setLastModified(\DateTime::createFromFormat('U', $this->file->getMTime())); - - return $this; - } - - /** - * Automatically sets the ETag header according to the checksum of the file. - */ - public function setAutoEtag() - { - $this->setEtag(base64_encode(hash_file('sha256', $this->file->getPathname(), true))); - - return $this; - } - - /** - * Sets the Content-Disposition header with the given filename. - * - * @param string $disposition ResponseHeaderBag::DISPOSITION_INLINE or ResponseHeaderBag::DISPOSITION_ATTACHMENT - * @param string $filename Optionally use this UTF-8 encoded filename instead of the real name of the file - * @param string $filenameFallback A fallback filename, containing only ASCII characters. Defaults to an automatically encoded filename - * - * @return $this - */ - public function setContentDisposition($disposition, $filename = '', $filenameFallback = '') - { - if ('' === $filename) { - $filename = $this->file->getFilename(); - } - - if ('' === $filenameFallback && (!preg_match('/^[\x20-\x7e]*$/', $filename) || false !== strpos($filename, '%'))) { - $encoding = mb_detect_encoding($filename, null, true) ?: '8bit'; - - for ($i = 0, $filenameLength = mb_strlen($filename, $encoding); $i < $filenameLength; ++$i) { - $char = mb_substr($filename, $i, 1, $encoding); - - if ('%' === $char || \ord($char) < 32 || \ord($char) > 126) { - $filenameFallback .= '_'; - } else { - $filenameFallback .= $char; - } - } - } - - $dispositionHeader = $this->headers->makeDisposition($disposition, $filename, $filenameFallback); - $this->headers->set('Content-Disposition', $dispositionHeader); - - return $this; - } - - /** - * {@inheritdoc} - */ - public function prepare(Request $request) - { - if (!$this->headers->has('Content-Type')) { - $this->headers->set('Content-Type', $this->file->getMimeType() ?: 'application/octet-stream'); - } - - if ('HTTP/1.0' !== $request->server->get('SERVER_PROTOCOL')) { - $this->setProtocolVersion('1.1'); - } - - $this->ensureIEOverSSLCompatibility($request); - - $this->offset = 0; - $this->maxlen = -1; - - if (false === $fileSize = $this->file->getSize()) { - return $this; - } - $this->headers->set('Content-Length', $fileSize); - - if (!$this->headers->has('Accept-Ranges')) { - // Only accept ranges on safe HTTP methods - $this->headers->set('Accept-Ranges', $request->isMethodSafe() ? 'bytes' : 'none'); - } - - if (self::$trustXSendfileTypeHeader && $request->headers->has('X-Sendfile-Type')) { - // Use X-Sendfile, do not send any content. - $type = $request->headers->get('X-Sendfile-Type'); - $path = $this->file->getRealPath(); - // Fall back to scheme://path for stream wrapped locations. - if (false === $path) { - $path = $this->file->getPathname(); - } - if ('x-accel-redirect' === strtolower($type)) { - // Do X-Accel-Mapping substitutions. - // @link http://wiki.nginx.org/X-accel#X-Accel-Redirect - $parts = HeaderUtils::split($request->headers->get('X-Accel-Mapping', ''), ',='); - foreach ($parts as $part) { - list($pathPrefix, $location) = $part; - if (substr($path, 0, \strlen($pathPrefix)) === $pathPrefix) { - $path = $location.substr($path, \strlen($pathPrefix)); - // Only set X-Accel-Redirect header if a valid URI can be produced - // as nginx does not serve arbitrary file paths. - $this->headers->set($type, $path); - $this->maxlen = 0; - break; - } - } - } else { - $this->headers->set($type, $path); - $this->maxlen = 0; - } - } elseif ($request->headers->has('Range')) { - // Process the range headers. - if (!$request->headers->has('If-Range') || $this->hasValidIfRangeHeader($request->headers->get('If-Range'))) { - $range = $request->headers->get('Range'); - - list($start, $end) = explode('-', substr($range, 6), 2) + [0]; - - $end = ('' === $end) ? $fileSize - 1 : (int) $end; - - if ('' === $start) { - $start = $fileSize - $end; - $end = $fileSize - 1; - } else { - $start = (int) $start; - } - - if ($start <= $end) { - if ($start < 0 || $end > $fileSize - 1) { - $this->setStatusCode(416); - $this->headers->set('Content-Range', sprintf('bytes */%s', $fileSize)); - } elseif (0 !== $start || $end !== $fileSize - 1) { - $this->maxlen = $end < $fileSize ? $end - $start + 1 : -1; - $this->offset = $start; - - $this->setStatusCode(206); - $this->headers->set('Content-Range', sprintf('bytes %s-%s/%s', $start, $end, $fileSize)); - $this->headers->set('Content-Length', $end - $start + 1); - } - } - } - } - - return $this; - } - - private function hasValidIfRangeHeader(?string $header): bool - { - if ($this->getEtag() === $header) { - return true; - } - - if (null === $lastModified = $this->getLastModified()) { - return false; - } - - return $lastModified->format('D, d M Y H:i:s').' GMT' === $header; - } - - /** - * Sends the file. - * - * {@inheritdoc} - */ - public function sendContent() - { - if (!$this->isSuccessful()) { - return parent::sendContent(); - } - - if (0 === $this->maxlen) { - return $this; - } - - $out = fopen('php://output', 'wb'); - $file = fopen($this->file->getPathname(), 'rb'); - - stream_copy_to_stream($file, $out, $this->maxlen, $this->offset); - - fclose($out); - fclose($file); - - if ($this->deleteFileAfterSend && file_exists($this->file->getPathname())) { - unlink($this->file->getPathname()); - } - - return $this; - } - - /** - * {@inheritdoc} - * - * @throws \LogicException when the content is not null - */ - public function setContent($content) - { - if (null !== $content) { - throw new \LogicException('The content cannot be set on a BinaryFileResponse instance.'); - } - - return $this; - } - - /** - * {@inheritdoc} - */ - public function getContent() - { - return false; - } - - /** - * Trust X-Sendfile-Type header. - */ - public static function trustXSendfileTypeHeader() - { - self::$trustXSendfileTypeHeader = true; - } - - /** - * If this is set to true, the file will be unlinked after the request is sent - * Note: If the X-Sendfile header is used, the deleteFileAfterSend setting will not be used. - * - * @param bool $shouldDelete - * - * @return $this - */ - public function deleteFileAfterSend($shouldDelete = true) - { - $this->deleteFileAfterSend = $shouldDelete; - - return $this; - } -} diff --git a/paragonik-backend/vendor/symfony/http-foundation/CHANGELOG.md b/paragonik-backend/vendor/symfony/http-foundation/CHANGELOG.md deleted file mode 100644 index 3fa73a2..0000000 --- a/paragonik-backend/vendor/symfony/http-foundation/CHANGELOG.md +++ /dev/null @@ -1,237 +0,0 @@ -CHANGELOG -========= - -4.4.0 ------ - - * passing arguments to `Request::isMethodSafe()` is deprecated. - * `ApacheRequest` is deprecated, use the `Request` class instead. - * passing a third argument to `HeaderBag::get()` is deprecated, use method `all()` instead - * [BC BREAK] `PdoSessionHandler` with MySQL changed the type of the lifetime column, - make sure to run `ALTER TABLE sessions MODIFY sess_lifetime INTEGER UNSIGNED NOT NULL` to - update your database. - * `PdoSessionHandler` now precalculates the expiry timestamp in the lifetime column, - make sure to run `CREATE INDEX EXPIRY ON sessions (sess_lifetime)` to update your database - to speed up garbage collection of expired sessions. - * added `SessionHandlerFactory` to create session handlers with a DSN - * added `IpUtils::anonymize()` to help with GDPR compliance. - -4.3.0 ------ - - * added PHPUnit constraints: `RequestAttributeValueSame`, `ResponseCookieValueSame`, `ResponseHasCookie`, - `ResponseHasHeader`, `ResponseHeaderSame`, `ResponseIsRedirected`, `ResponseIsSuccessful`, and `ResponseStatusCodeSame` - * deprecated `MimeTypeGuesserInterface` and `ExtensionGuesserInterface` in favor of `Symfony\Component\Mime\MimeTypesInterface`. - * deprecated `MimeType` and `MimeTypeExtensionGuesser` in favor of `Symfony\Component\Mime\MimeTypes`. - * deprecated `FileBinaryMimeTypeGuesser` in favor of `Symfony\Component\Mime\FileBinaryMimeTypeGuesser`. - * deprecated `FileinfoMimeTypeGuesser` in favor of `Symfony\Component\Mime\FileinfoMimeTypeGuesser`. - * added `UrlHelper` that allows to get an absolute URL and a relative path for a given path - -4.2.0 ------ - - * the default value of the "$secure" and "$samesite" arguments of Cookie's constructor - will respectively change from "false" to "null" and from "null" to "lax" in Symfony - 5.0, you should define their values explicitly or use "Cookie::create()" instead. - * added `matchPort()` in RequestMatcher - -4.1.3 ------ - - * [BC BREAK] Support for the IIS-only `X_ORIGINAL_URL` and `X_REWRITE_URL` - HTTP headers has been dropped for security reasons. - -4.1.0 ------ - - * Query string normalization uses `parse_str()` instead of custom parsing logic. - * Passing the file size to the constructor of the `UploadedFile` class is deprecated. - * The `getClientSize()` method of the `UploadedFile` class is deprecated. Use `getSize()` instead. - * added `RedisSessionHandler` to use Redis as a session storage - * The `get()` method of the `AcceptHeader` class now takes into account the - `*` and `*/*` default values (if they are present in the Accept HTTP header) - when looking for items. - * deprecated `Request::getSession()` when no session has been set. Use `Request::hasSession()` instead. - * added `CannotWriteFileException`, `ExtensionFileException`, `FormSizeFileException`, - `IniSizeFileException`, `NoFileException`, `NoTmpDirFileException`, `PartialFileException` to - handle failed `UploadedFile`. - * added `MigratingSessionHandler` for migrating between two session handlers without losing sessions - * added `HeaderUtils`. - -4.0.0 ------ - - * the `Request::setTrustedHeaderName()` and `Request::getTrustedHeaderName()` - methods have been removed - * the `Request::HEADER_CLIENT_IP` constant has been removed, use - `Request::HEADER_X_FORWARDED_FOR` instead - * the `Request::HEADER_CLIENT_HOST` constant has been removed, use - `Request::HEADER_X_FORWARDED_HOST` instead - * the `Request::HEADER_CLIENT_PROTO` constant has been removed, use - `Request::HEADER_X_FORWARDED_PROTO` instead - * the `Request::HEADER_CLIENT_PORT` constant has been removed, use - `Request::HEADER_X_FORWARDED_PORT` instead - * checking for cacheable HTTP methods using the `Request::isMethodSafe()` - method (by not passing `false` as its argument) is not supported anymore and - throws a `\BadMethodCallException` - * the `WriteCheckSessionHandler`, `NativeSessionHandler` and `NativeProxy` classes have been removed - * setting session save handlers that do not implement `\SessionHandlerInterface` in - `NativeSessionStorage::setSaveHandler()` is not supported anymore and throws a - `\TypeError` - -3.4.0 ------ - - * implemented PHP 7.0's `SessionUpdateTimestampHandlerInterface` with a new - `AbstractSessionHandler` base class and a new `StrictSessionHandler` wrapper - * deprecated the `WriteCheckSessionHandler`, `NativeSessionHandler` and `NativeProxy` classes - * deprecated setting session save handlers that do not implement `\SessionHandlerInterface` in `NativeSessionStorage::setSaveHandler()` - * deprecated using `MongoDbSessionHandler` with the legacy mongo extension; use it with the mongodb/mongodb package and ext-mongodb instead - * deprecated `MemcacheSessionHandler`; use `MemcachedSessionHandler` instead - -3.3.0 ------ - - * the `Request::setTrustedProxies()` method takes a new `$trustedHeaderSet` argument, - see https://symfony.com/doc/current/deployment/proxies.html for more info, - * deprecated the `Request::setTrustedHeaderName()` and `Request::getTrustedHeaderName()` methods, - * added `File\Stream`, to be passed to `BinaryFileResponse` when the size of the served file is unknown, - disabling `Range` and `Content-Length` handling, switching to chunked encoding instead - * added the `Cookie::fromString()` method that allows to create a cookie from a - raw header string - -3.1.0 ------ - - * Added support for creating `JsonResponse` with a string of JSON data - -3.0.0 ------ - - * The precedence of parameters returned from `Request::get()` changed from "GET, PATH, BODY" to "PATH, GET, BODY" - -2.8.0 ------ - - * Finding deep items in `ParameterBag::get()` is deprecated since version 2.8 and - will be removed in 3.0. - -2.6.0 ------ - - * PdoSessionHandler changes - - implemented different session locking strategies to prevent loss of data by concurrent access to the same session - - [BC BREAK] save session data in a binary column without base64_encode - - [BC BREAK] added lifetime column to the session table which allows to have different lifetimes for each session - - implemented lazy connections that are only opened when a session is used by either passing a dsn string - explicitly or falling back to session.save_path ini setting - - added a createTable method that initializes a correctly defined table depending on the database vendor - -2.5.0 ------ - - * added `JsonResponse::setEncodingOptions()` & `JsonResponse::getEncodingOptions()` for easier manipulation - of the options used while encoding data to JSON format. - -2.4.0 ------ - - * added RequestStack - * added Request::getEncodings() - * added accessors methods to session handlers - -2.3.0 ------ - - * added support for ranges of IPs in trusted proxies - * `UploadedFile::isValid` now returns false if the file was not uploaded via HTTP (in a non-test mode) - * Improved error-handling of `\Symfony\Component\HttpFoundation\Session\Storage\Handler\PdoSessionHandler` - to ensure the supplied PDO handler throws Exceptions on error (as the class expects). Added related test cases - to verify that Exceptions are properly thrown when the PDO queries fail. - -2.2.0 ------ - - * fixed the Request::create() precedence (URI information always take precedence now) - * added Request::getTrustedProxies() - * deprecated Request::isProxyTrusted() - * [BC BREAK] JsonResponse does not turn a top level empty array to an object anymore, use an ArrayObject to enforce objects - * added a IpUtils class to check if an IP belongs to a CIDR - * added Request::getRealMethod() to get the "real" HTTP method (getMethod() returns the "intended" HTTP method) - * disabled _method request parameter support by default (call Request::enableHttpMethodParameterOverride() to - enable it, and Request::getHttpMethodParameterOverride() to check if it is supported) - * Request::splitHttpAcceptHeader() method is deprecated and will be removed in 2.3 - * Deprecated Flashbag::count() and \Countable interface, will be removed in 2.3 - -2.1.0 ------ - - * added Request::getSchemeAndHttpHost() and Request::getUserInfo() - * added a fluent interface to the Response class - * added Request::isProxyTrusted() - * added JsonResponse - * added a getTargetUrl method to RedirectResponse - * added support for streamed responses - * made Response::prepare() method the place to enforce HTTP specification - * [BC BREAK] moved management of the locale from the Session class to the Request class - * added a generic access to the PHP built-in filter mechanism: ParameterBag::filter() - * made FileBinaryMimeTypeGuesser command configurable - * added Request::getUser() and Request::getPassword() - * added support for the PATCH method in Request - * removed the ContentTypeMimeTypeGuesser class as it is deprecated and never used on PHP 5.3 - * added ResponseHeaderBag::makeDisposition() (implements RFC 6266) - * made mimetype to extension conversion configurable - * [BC BREAK] Moved all session related classes and interfaces into own namespace, as - `Symfony\Component\HttpFoundation\Session` and renamed classes accordingly. - Session handlers are located in the subnamespace `Symfony\Component\HttpFoundation\Session\Handler`. - * SessionHandlers must implement `\SessionHandlerInterface` or extend from the - `Symfony\Component\HttpFoundation\Storage\Handler\NativeSessionHandler` base class. - * Added internal storage driver proxy mechanism for forward compatibility with - PHP 5.4 `\SessionHandler` class. - * Added session handlers for custom Memcache, Memcached and Null session save handlers. - * [BC BREAK] Removed `NativeSessionStorage` and replaced with `NativeFileSessionHandler`. - * [BC BREAK] `SessionStorageInterface` methods removed: `write()`, `read()` and - `remove()`. Added `getBag()`, `registerBag()`. The `NativeSessionStorage` class - is a mediator for the session storage internals including the session handlers - which do the real work of participating in the internal PHP session workflow. - * [BC BREAK] Introduced mock implementations of `SessionStorage` to enable unit - and functional testing without starting real PHP sessions. Removed - `ArraySessionStorage`, and replaced with `MockArraySessionStorage` for unit - tests; removed `FilesystemSessionStorage`, and replaced with`MockFileSessionStorage` - for functional tests. These do not interact with global session ini - configuration values, session functions or `$_SESSION` superglobal. This means - they can be configured directly allowing multiple instances to work without - conflicting in the same PHP process. - * [BC BREAK] Removed the `close()` method from the `Session` class, as this is - now redundant. - * Deprecated the following methods from the Session class: `setFlash()`, `setFlashes()` - `getFlash()`, `hasFlash()`, and `removeFlash()`. Use `getFlashBag()` instead - which returns a `FlashBagInterface`. - * `Session->clear()` now only clears session attributes as before it cleared - flash messages and attributes. `Session->getFlashBag()->all()` clears flashes now. - * Session data is now managed by `SessionBagInterface` to better encapsulate - session data. - * Refactored session attribute and flash messages system to their own - `SessionBagInterface` implementations. - * Added `FlashBag`. Flashes expire when retrieved by `get()` or `all()`. This - implementation is ESI compatible. - * Added `AutoExpireFlashBag` (default) to replicate Symfony 2.0.x auto expire - behavior of messages auto expiring after one page page load. Messages must - be retrieved by `get()` or `all()`. - * Added `Symfony\Component\HttpFoundation\Attribute\AttributeBag` to replicate - attributes storage behavior from 2.0.x (default). - * Added `Symfony\Component\HttpFoundation\Attribute\NamespacedAttributeBag` for - namespace session attributes. - * Flash API can stores messages in an array so there may be multiple messages - per flash type. The old `Session` class API remains without BC break as it - will allow single messages as before. - * Added basic session meta-data to the session to record session create time, - last updated time, and the lifetime of the session cookie that was provided - to the client. - * Request::getClientIp() method doesn't take a parameter anymore but bases - itself on the trustProxy parameter. - * Added isMethod() to Request object. - * [BC BREAK] The methods `getPathInfo()`, `getBaseUrl()` and `getBasePath()` of - a `Request` now all return a raw value (vs a urldecoded value before). Any call - to one of these methods must be checked and wrapped in a `rawurldecode()` if - needed. diff --git a/paragonik-backend/vendor/symfony/http-foundation/Cookie.php b/paragonik-backend/vendor/symfony/http-foundation/Cookie.php deleted file mode 100644 index 1e22c74..0000000 --- a/paragonik-backend/vendor/symfony/http-foundation/Cookie.php +++ /dev/null @@ -1,309 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpFoundation; - -/** - * Represents a cookie. - * - * @author Johannes M. Schmitt - */ -class Cookie -{ - const SAMESITE_NONE = 'none'; - const SAMESITE_LAX = 'lax'; - const SAMESITE_STRICT = 'strict'; - - protected $name; - protected $value; - protected $domain; - protected $expire; - protected $path; - protected $secure; - protected $httpOnly; - - private $raw; - private $sameSite; - private $secureDefault = false; - - private static $reservedCharsList = "=,; \t\r\n\v\f"; - private static $reservedCharsFrom = ['=', ',', ';', ' ', "\t", "\r", "\n", "\v", "\f"]; - private static $reservedCharsTo = ['%3D', '%2C', '%3B', '%20', '%09', '%0D', '%0A', '%0B', '%0C']; - - /** - * Creates cookie from raw header string. - * - * @param string $cookie - * @param bool $decode - * - * @return static - */ - public static function fromString($cookie, $decode = false) - { - $data = [ - 'expires' => 0, - 'path' => '/', - 'domain' => null, - 'secure' => false, - 'httponly' => false, - 'raw' => !$decode, - 'samesite' => null, - ]; - - $parts = HeaderUtils::split($cookie, ';='); - $part = array_shift($parts); - - $name = $decode ? urldecode($part[0]) : $part[0]; - $value = isset($part[1]) ? ($decode ? urldecode($part[1]) : $part[1]) : null; - - $data = HeaderUtils::combine($parts) + $data; - - if (isset($data['max-age'])) { - $data['expires'] = time() + (int) $data['max-age']; - } - - return new static($name, $value, $data['expires'], $data['path'], $data['domain'], $data['secure'], $data['httponly'], $data['raw'], $data['samesite']); - } - - public static function create(string $name, string $value = null, $expire = 0, ?string $path = '/', string $domain = null, bool $secure = null, bool $httpOnly = true, bool $raw = false, ?string $sameSite = self::SAMESITE_LAX): self - { - return new self($name, $value, $expire, $path, $domain, $secure, $httpOnly, $raw, $sameSite); - } - - /** - * @param string $name The name of the cookie - * @param string|null $value The value of the cookie - * @param int|string|\DateTimeInterface $expire The time the cookie expires - * @param string $path The path on the server in which the cookie will be available on - * @param string|null $domain The domain that the cookie is available to - * @param bool|null $secure Whether the client should send back the cookie only over HTTPS or null to auto-enable this when the request is already using HTTPS - * @param bool $httpOnly Whether the cookie will be made accessible only through the HTTP protocol - * @param bool $raw Whether the cookie value should be sent with no url encoding - * @param string|null $sameSite Whether the cookie will be available for cross-site requests - * - * @throws \InvalidArgumentException - */ - public function __construct(string $name, string $value = null, $expire = 0, ?string $path = '/', string $domain = null, ?bool $secure = false, bool $httpOnly = true, bool $raw = false, string $sameSite = null) - { - if (9 > \func_num_args()) { - @trigger_error(sprintf('The default value of the "$secure" and "$samesite" arguments of "%s"\'s constructor will respectively change from "false" to "null" and from "null" to "lax" in Symfony 5.0, you should define their values explicitly or use "Cookie::create()" instead.', __METHOD__), E_USER_DEPRECATED); - } - - // from PHP source code - if ($raw && false !== strpbrk($name, self::$reservedCharsList)) { - throw new \InvalidArgumentException(sprintf('The cookie name "%s" contains invalid characters.', $name)); - } - - if (empty($name)) { - throw new \InvalidArgumentException('The cookie name cannot be empty.'); - } - - // convert expiration time to a Unix timestamp - if ($expire instanceof \DateTimeInterface) { - $expire = $expire->format('U'); - } elseif (!is_numeric($expire)) { - $expire = strtotime($expire); - - if (false === $expire) { - throw new \InvalidArgumentException('The cookie expiration time is not valid.'); - } - } - - $this->name = $name; - $this->value = $value; - $this->domain = $domain; - $this->expire = 0 < $expire ? (int) $expire : 0; - $this->path = empty($path) ? '/' : $path; - $this->secure = $secure; - $this->httpOnly = $httpOnly; - $this->raw = $raw; - - if ('' === $sameSite) { - $sameSite = null; - } elseif (null !== $sameSite) { - $sameSite = strtolower($sameSite); - } - - if (!\in_array($sameSite, [self::SAMESITE_LAX, self::SAMESITE_STRICT, self::SAMESITE_NONE, null], true)) { - throw new \InvalidArgumentException('The "sameSite" parameter value is not valid.'); - } - - $this->sameSite = $sameSite; - } - - /** - * Returns the cookie as a string. - * - * @return string The cookie - */ - public function __toString() - { - if ($this->isRaw()) { - $str = $this->getName(); - } else { - $str = str_replace(self::$reservedCharsFrom, self::$reservedCharsTo, $this->getName()); - } - - $str .= '='; - - if ('' === (string) $this->getValue()) { - $str .= 'deleted; expires='.gmdate('D, d-M-Y H:i:s T', time() - 31536001).'; Max-Age=0'; - } else { - $str .= $this->isRaw() ? $this->getValue() : rawurlencode($this->getValue()); - - if (0 !== $this->getExpiresTime()) { - $str .= '; expires='.gmdate('D, d-M-Y H:i:s T', $this->getExpiresTime()).'; Max-Age='.$this->getMaxAge(); - } - } - - if ($this->getPath()) { - $str .= '; path='.$this->getPath(); - } - - if ($this->getDomain()) { - $str .= '; domain='.$this->getDomain(); - } - - if (true === $this->isSecure()) { - $str .= '; secure'; - } - - if (true === $this->isHttpOnly()) { - $str .= '; httponly'; - } - - if (null !== $this->getSameSite()) { - $str .= '; samesite='.$this->getSameSite(); - } - - return $str; - } - - /** - * Gets the name of the cookie. - * - * @return string - */ - public function getName() - { - return $this->name; - } - - /** - * Gets the value of the cookie. - * - * @return string|null - */ - public function getValue() - { - return $this->value; - } - - /** - * Gets the domain that the cookie is available to. - * - * @return string|null - */ - public function getDomain() - { - return $this->domain; - } - - /** - * Gets the time the cookie expires. - * - * @return int - */ - public function getExpiresTime() - { - return $this->expire; - } - - /** - * Gets the max-age attribute. - * - * @return int - */ - public function getMaxAge() - { - $maxAge = $this->expire - time(); - - return 0 >= $maxAge ? 0 : $maxAge; - } - - /** - * Gets the path on the server in which the cookie will be available on. - * - * @return string - */ - public function getPath() - { - return $this->path; - } - - /** - * Checks whether the cookie should only be transmitted over a secure HTTPS connection from the client. - * - * @return bool - */ - public function isSecure() - { - return $this->secure ?? $this->secureDefault; - } - - /** - * Checks whether the cookie will be made accessible only through the HTTP protocol. - * - * @return bool - */ - public function isHttpOnly() - { - return $this->httpOnly; - } - - /** - * Whether this cookie is about to be cleared. - * - * @return bool - */ - public function isCleared() - { - return 0 !== $this->expire && $this->expire < time(); - } - - /** - * Checks if the cookie value should be sent with no url encoding. - * - * @return bool - */ - public function isRaw() - { - return $this->raw; - } - - /** - * Gets the SameSite attribute. - * - * @return string|null - */ - public function getSameSite() - { - return $this->sameSite; - } - - /** - * @param bool $default The default value of the "secure" flag when it is set to null - */ - public function setSecureDefault(bool $default): void - { - $this->secureDefault = $default; - } -} diff --git a/paragonik-backend/vendor/symfony/http-foundation/Exception/ConflictingHeadersException.php b/paragonik-backend/vendor/symfony/http-foundation/Exception/ConflictingHeadersException.php deleted file mode 100644 index 5fcf5b4..0000000 --- a/paragonik-backend/vendor/symfony/http-foundation/Exception/ConflictingHeadersException.php +++ /dev/null @@ -1,21 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpFoundation\Exception; - -/** - * The HTTP request contains headers with conflicting information. - * - * @author Magnus Nordlander - */ -class ConflictingHeadersException extends \UnexpectedValueException implements RequestExceptionInterface -{ -} diff --git a/paragonik-backend/vendor/symfony/http-foundation/Exception/RequestExceptionInterface.php b/paragonik-backend/vendor/symfony/http-foundation/Exception/RequestExceptionInterface.php deleted file mode 100644 index 478d0dc..0000000 --- a/paragonik-backend/vendor/symfony/http-foundation/Exception/RequestExceptionInterface.php +++ /dev/null @@ -1,21 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpFoundation\Exception; - -/** - * Interface for Request exceptions. - * - * Exceptions implementing this interface should trigger an HTTP 400 response in the application code. - */ -interface RequestExceptionInterface -{ -} diff --git a/paragonik-backend/vendor/symfony/http-foundation/Exception/SuspiciousOperationException.php b/paragonik-backend/vendor/symfony/http-foundation/Exception/SuspiciousOperationException.php deleted file mode 100644 index ae7a5f1..0000000 --- a/paragonik-backend/vendor/symfony/http-foundation/Exception/SuspiciousOperationException.php +++ /dev/null @@ -1,20 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpFoundation\Exception; - -/** - * Raised when a user has performed an operation that should be considered - * suspicious from a security perspective. - */ -class SuspiciousOperationException extends \UnexpectedValueException implements RequestExceptionInterface -{ -} diff --git a/paragonik-backend/vendor/symfony/http-foundation/ExpressionRequestMatcher.php b/paragonik-backend/vendor/symfony/http-foundation/ExpressionRequestMatcher.php deleted file mode 100644 index 26bed7d..0000000 --- a/paragonik-backend/vendor/symfony/http-foundation/ExpressionRequestMatcher.php +++ /dev/null @@ -1,47 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpFoundation; - -use Symfony\Component\ExpressionLanguage\ExpressionLanguage; - -/** - * ExpressionRequestMatcher uses an expression to match a Request. - * - * @author Fabien Potencier - */ -class ExpressionRequestMatcher extends RequestMatcher -{ - private $language; - private $expression; - - public function setExpression(ExpressionLanguage $language, $expression) - { - $this->language = $language; - $this->expression = $expression; - } - - public function matches(Request $request) - { - if (!$this->language) { - throw new \LogicException('Unable to match the request as the expression language is not available.'); - } - - return $this->language->evaluate($this->expression, [ - 'request' => $request, - 'method' => $request->getMethod(), - 'path' => rawurldecode($request->getPathInfo()), - 'host' => $request->getHost(), - 'ip' => $request->getClientIp(), - 'attributes' => $request->attributes->all(), - ]) && parent::matches($request); - } -} diff --git a/paragonik-backend/vendor/symfony/http-foundation/File/Exception/AccessDeniedException.php b/paragonik-backend/vendor/symfony/http-foundation/File/Exception/AccessDeniedException.php deleted file mode 100644 index 136d2a9..0000000 --- a/paragonik-backend/vendor/symfony/http-foundation/File/Exception/AccessDeniedException.php +++ /dev/null @@ -1,25 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpFoundation\File\Exception; - -/** - * Thrown when the access on a file was denied. - * - * @author Bernhard Schussek - */ -class AccessDeniedException extends FileException -{ - public function __construct(string $path) - { - parent::__construct(sprintf('The file %s could not be accessed', $path)); - } -} diff --git a/paragonik-backend/vendor/symfony/http-foundation/File/Exception/CannotWriteFileException.php b/paragonik-backend/vendor/symfony/http-foundation/File/Exception/CannotWriteFileException.php deleted file mode 100644 index c49f53a..0000000 --- a/paragonik-backend/vendor/symfony/http-foundation/File/Exception/CannotWriteFileException.php +++ /dev/null @@ -1,21 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpFoundation\File\Exception; - -/** - * Thrown when an UPLOAD_ERR_CANT_WRITE error occurred with UploadedFile. - * - * @author Florent Mata - */ -class CannotWriteFileException extends FileException -{ -} diff --git a/paragonik-backend/vendor/symfony/http-foundation/File/Exception/ExtensionFileException.php b/paragonik-backend/vendor/symfony/http-foundation/File/Exception/ExtensionFileException.php deleted file mode 100644 index ed83499..0000000 --- a/paragonik-backend/vendor/symfony/http-foundation/File/Exception/ExtensionFileException.php +++ /dev/null @@ -1,21 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpFoundation\File\Exception; - -/** - * Thrown when an UPLOAD_ERR_EXTENSION error occurred with UploadedFile. - * - * @author Florent Mata - */ -class ExtensionFileException extends FileException -{ -} diff --git a/paragonik-backend/vendor/symfony/http-foundation/File/Exception/FileException.php b/paragonik-backend/vendor/symfony/http-foundation/File/Exception/FileException.php deleted file mode 100644 index fad5133..0000000 --- a/paragonik-backend/vendor/symfony/http-foundation/File/Exception/FileException.php +++ /dev/null @@ -1,21 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpFoundation\File\Exception; - -/** - * Thrown when an error occurred in the component File. - * - * @author Bernhard Schussek - */ -class FileException extends \RuntimeException -{ -} diff --git a/paragonik-backend/vendor/symfony/http-foundation/File/Exception/FileNotFoundException.php b/paragonik-backend/vendor/symfony/http-foundation/File/Exception/FileNotFoundException.php deleted file mode 100644 index 31bdf68..0000000 --- a/paragonik-backend/vendor/symfony/http-foundation/File/Exception/FileNotFoundException.php +++ /dev/null @@ -1,25 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpFoundation\File\Exception; - -/** - * Thrown when a file was not found. - * - * @author Bernhard Schussek - */ -class FileNotFoundException extends FileException -{ - public function __construct(string $path) - { - parent::__construct(sprintf('The file "%s" does not exist', $path)); - } -} diff --git a/paragonik-backend/vendor/symfony/http-foundation/File/Exception/FormSizeFileException.php b/paragonik-backend/vendor/symfony/http-foundation/File/Exception/FormSizeFileException.php deleted file mode 100644 index 8741be0..0000000 --- a/paragonik-backend/vendor/symfony/http-foundation/File/Exception/FormSizeFileException.php +++ /dev/null @@ -1,21 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpFoundation\File\Exception; - -/** - * Thrown when an UPLOAD_ERR_FORM_SIZE error occurred with UploadedFile. - * - * @author Florent Mata - */ -class FormSizeFileException extends FileException -{ -} diff --git a/paragonik-backend/vendor/symfony/http-foundation/File/Exception/IniSizeFileException.php b/paragonik-backend/vendor/symfony/http-foundation/File/Exception/IniSizeFileException.php deleted file mode 100644 index c8fde61..0000000 --- a/paragonik-backend/vendor/symfony/http-foundation/File/Exception/IniSizeFileException.php +++ /dev/null @@ -1,21 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpFoundation\File\Exception; - -/** - * Thrown when an UPLOAD_ERR_INI_SIZE error occurred with UploadedFile. - * - * @author Florent Mata - */ -class IniSizeFileException extends FileException -{ -} diff --git a/paragonik-backend/vendor/symfony/http-foundation/File/Exception/NoFileException.php b/paragonik-backend/vendor/symfony/http-foundation/File/Exception/NoFileException.php deleted file mode 100644 index 4b48cc7..0000000 --- a/paragonik-backend/vendor/symfony/http-foundation/File/Exception/NoFileException.php +++ /dev/null @@ -1,21 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpFoundation\File\Exception; - -/** - * Thrown when an UPLOAD_ERR_NO_FILE error occurred with UploadedFile. - * - * @author Florent Mata - */ -class NoFileException extends FileException -{ -} diff --git a/paragonik-backend/vendor/symfony/http-foundation/File/Exception/NoTmpDirFileException.php b/paragonik-backend/vendor/symfony/http-foundation/File/Exception/NoTmpDirFileException.php deleted file mode 100644 index bdead2d..0000000 --- a/paragonik-backend/vendor/symfony/http-foundation/File/Exception/NoTmpDirFileException.php +++ /dev/null @@ -1,21 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpFoundation\File\Exception; - -/** - * Thrown when an UPLOAD_ERR_NO_TMP_DIR error occurred with UploadedFile. - * - * @author Florent Mata - */ -class NoTmpDirFileException extends FileException -{ -} diff --git a/paragonik-backend/vendor/symfony/http-foundation/File/Exception/PartialFileException.php b/paragonik-backend/vendor/symfony/http-foundation/File/Exception/PartialFileException.php deleted file mode 100644 index 4641efb..0000000 --- a/paragonik-backend/vendor/symfony/http-foundation/File/Exception/PartialFileException.php +++ /dev/null @@ -1,21 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpFoundation\File\Exception; - -/** - * Thrown when an UPLOAD_ERR_PARTIAL error occurred with UploadedFile. - * - * @author Florent Mata - */ -class PartialFileException extends FileException -{ -} diff --git a/paragonik-backend/vendor/symfony/http-foundation/File/Exception/UnexpectedTypeException.php b/paragonik-backend/vendor/symfony/http-foundation/File/Exception/UnexpectedTypeException.php deleted file mode 100644 index 82b982b..0000000 --- a/paragonik-backend/vendor/symfony/http-foundation/File/Exception/UnexpectedTypeException.php +++ /dev/null @@ -1,20 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpFoundation\File\Exception; - -class UnexpectedTypeException extends FileException -{ - public function __construct($value, string $expectedType) - { - parent::__construct(sprintf('Expected argument of type %s, %s given', $expectedType, \is_object($value) ? \get_class($value) : \gettype($value))); - } -} diff --git a/paragonik-backend/vendor/symfony/http-foundation/File/Exception/UploadException.php b/paragonik-backend/vendor/symfony/http-foundation/File/Exception/UploadException.php deleted file mode 100644 index 7074e76..0000000 --- a/paragonik-backend/vendor/symfony/http-foundation/File/Exception/UploadException.php +++ /dev/null @@ -1,21 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpFoundation\File\Exception; - -/** - * Thrown when an error occurred during file upload. - * - * @author Bernhard Schussek - */ -class UploadException extends FileException -{ -} diff --git a/paragonik-backend/vendor/symfony/http-foundation/File/File.php b/paragonik-backend/vendor/symfony/http-foundation/File/File.php deleted file mode 100644 index 4906588..0000000 --- a/paragonik-backend/vendor/symfony/http-foundation/File/File.php +++ /dev/null @@ -1,135 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpFoundation\File; - -use Symfony\Component\HttpFoundation\File\Exception\FileException; -use Symfony\Component\HttpFoundation\File\Exception\FileNotFoundException; -use Symfony\Component\Mime\MimeTypes; - -/** - * A file in the file system. - * - * @author Bernhard Schussek - */ -class File extends \SplFileInfo -{ - /** - * Constructs a new file from the given path. - * - * @param string $path The path to the file - * @param bool $checkPath Whether to check the path or not - * - * @throws FileNotFoundException If the given path is not a file - */ - public function __construct(string $path, bool $checkPath = true) - { - if ($checkPath && !is_file($path)) { - throw new FileNotFoundException($path); - } - - parent::__construct($path); - } - - /** - * Returns the extension based on the mime type. - * - * If the mime type is unknown, returns null. - * - * This method uses the mime type as guessed by getMimeType() - * to guess the file extension. - * - * @return string|null The guessed extension or null if it cannot be guessed - * - * @see MimeTypes - * @see getMimeType() - */ - public function guessExtension() - { - return MimeTypes::getDefault()->getExtensions($this->getMimeType())[0] ?? null; - } - - /** - * Returns the mime type of the file. - * - * The mime type is guessed using a MimeTypeGuesserInterface instance, - * which uses finfo_file() then the "file" system binary, - * depending on which of those are available. - * - * @return string|null The guessed mime type (e.g. "application/pdf") - * - * @see MimeTypes - */ - public function getMimeType() - { - return MimeTypes::getDefault()->guessMimeType($this->getPathname()); - } - - /** - * Moves the file to a new location. - * - * @param string $directory The destination folder - * @param string $name The new file name - * - * @return self A File object representing the new file - * - * @throws FileException if the target file could not be created - */ - public function move($directory, $name = null) - { - $target = $this->getTargetFile($directory, $name); - - set_error_handler(function ($type, $msg) use (&$error) { $error = $msg; }); - $renamed = rename($this->getPathname(), $target); - restore_error_handler(); - if (!$renamed) { - throw new FileException(sprintf('Could not move the file "%s" to "%s" (%s)', $this->getPathname(), $target, strip_tags($error))); - } - - @chmod($target, 0666 & ~umask()); - - return $target; - } - - /** - * @return self - */ - protected function getTargetFile($directory, $name = null) - { - if (!is_dir($directory)) { - if (false === @mkdir($directory, 0777, true) && !is_dir($directory)) { - throw new FileException(sprintf('Unable to create the "%s" directory', $directory)); - } - } elseif (!is_writable($directory)) { - throw new FileException(sprintf('Unable to write in the "%s" directory', $directory)); - } - - $target = rtrim($directory, '/\\').\DIRECTORY_SEPARATOR.(null === $name ? $this->getBasename() : $this->getName($name)); - - return new self($target, false); - } - - /** - * Returns locale independent base name of the given path. - * - * @param string $name The new file name - * - * @return string - */ - protected function getName($name) - { - $originalName = str_replace('\\', '/', $name); - $pos = strrpos($originalName, '/'); - $originalName = false === $pos ? $originalName : substr($originalName, $pos + 1); - - return $originalName; - } -} diff --git a/paragonik-backend/vendor/symfony/http-foundation/File/MimeType/ExtensionGuesser.php b/paragonik-backend/vendor/symfony/http-foundation/File/MimeType/ExtensionGuesser.php deleted file mode 100644 index 4ac2013..0000000 --- a/paragonik-backend/vendor/symfony/http-foundation/File/MimeType/ExtensionGuesser.php +++ /dev/null @@ -1,102 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpFoundation\File\MimeType; - -use Symfony\Component\Mime\MimeTypes; - -@trigger_error(sprintf('The "%s" class is deprecated since Symfony 4.3, use "%s" instead.', ExtensionGuesser::class, MimeTypes::class), E_USER_DEPRECATED); - -/** - * A singleton mime type to file extension guesser. - * - * A default guesser is provided. - * You can register custom guessers by calling the register() - * method on the singleton instance: - * - * $guesser = ExtensionGuesser::getInstance(); - * $guesser->register(new MyCustomExtensionGuesser()); - * - * The last registered guesser is preferred over previously registered ones. - * - * @deprecated since Symfony 4.3, use {@link MimeTypes} instead - */ -class ExtensionGuesser implements ExtensionGuesserInterface -{ - /** - * The singleton instance. - * - * @var ExtensionGuesser - */ - private static $instance = null; - - /** - * All registered ExtensionGuesserInterface instances. - * - * @var array - */ - protected $guessers = []; - - /** - * Returns the singleton instance. - * - * @return self - */ - public static function getInstance() - { - if (null === self::$instance) { - self::$instance = new self(); - } - - return self::$instance; - } - - /** - * Registers all natively provided extension guessers. - */ - private function __construct() - { - $this->register(new MimeTypeExtensionGuesser()); - } - - /** - * Registers a new extension guesser. - * - * When guessing, this guesser is preferred over previously registered ones. - */ - public function register(ExtensionGuesserInterface $guesser) - { - array_unshift($this->guessers, $guesser); - } - - /** - * Tries to guess the extension. - * - * The mime type is passed to each registered mime type guesser in reverse order - * of their registration (last registered is queried first). Once a guesser - * returns a value that is not NULL, this method terminates and returns the - * value. - * - * @param string $mimeType The mime type - * - * @return string The guessed extension or NULL, if none could be guessed - */ - public function guess($mimeType) - { - foreach ($this->guessers as $guesser) { - if (null !== $extension = $guesser->guess($mimeType)) { - return $extension; - } - } - - return null; - } -} diff --git a/paragonik-backend/vendor/symfony/http-foundation/File/MimeType/ExtensionGuesserInterface.php b/paragonik-backend/vendor/symfony/http-foundation/File/MimeType/ExtensionGuesserInterface.php deleted file mode 100644 index 69fe6ef..0000000 --- a/paragonik-backend/vendor/symfony/http-foundation/File/MimeType/ExtensionGuesserInterface.php +++ /dev/null @@ -1,31 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpFoundation\File\MimeType; - -use Symfony\Component\Mime\MimeTypesInterface; - -/** - * Guesses the file extension corresponding to a given mime type. - * - * @deprecated since Symfony 4.3, use {@link MimeTypesInterface} instead - */ -interface ExtensionGuesserInterface -{ - /** - * Makes a best guess for a file extension, given a mime type. - * - * @param string $mimeType The mime type - * - * @return string The guessed extension or NULL, if none could be guessed - */ - public function guess($mimeType); -} diff --git a/paragonik-backend/vendor/symfony/http-foundation/File/MimeType/FileBinaryMimeTypeGuesser.php b/paragonik-backend/vendor/symfony/http-foundation/File/MimeType/FileBinaryMimeTypeGuesser.php deleted file mode 100644 index 5d3ae10..0000000 --- a/paragonik-backend/vendor/symfony/http-foundation/File/MimeType/FileBinaryMimeTypeGuesser.php +++ /dev/null @@ -1,104 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpFoundation\File\MimeType; - -use Symfony\Component\HttpFoundation\File\Exception\AccessDeniedException; -use Symfony\Component\HttpFoundation\File\Exception\FileNotFoundException; -use Symfony\Component\Mime\FileBinaryMimeTypeGuesser as NewFileBinaryMimeTypeGuesser; - -@trigger_error(sprintf('The "%s" class is deprecated since Symfony 4.3, use "%s" instead.', FileBinaryMimeTypeGuesser::class, NewFileBinaryMimeTypeGuesser::class), E_USER_DEPRECATED); - -/** - * Guesses the mime type with the binary "file" (only available on *nix). - * - * @author Bernhard Schussek - * - * @deprecated since Symfony 4.3, use {@link NewFileBinaryMimeTypeGuesser} instead - */ -class FileBinaryMimeTypeGuesser implements MimeTypeGuesserInterface -{ - private $cmd; - - /** - * The $cmd pattern must contain a "%s" string that will be replaced - * with the file name to guess. - * - * The command output must start with the mime type of the file. - * - * @param string $cmd The command to run to get the mime type of a file - */ - public function __construct(string $cmd = 'file -b --mime -- %s 2>/dev/null') - { - $this->cmd = $cmd; - } - - /** - * Returns whether this guesser is supported on the current OS. - * - * @return bool - */ - public static function isSupported() - { - static $supported = null; - - if (null !== $supported) { - return $supported; - } - - if ('\\' === \DIRECTORY_SEPARATOR || !\function_exists('passthru') || !\function_exists('escapeshellarg')) { - return $supported = false; - } - - ob_start(); - passthru('command -v file', $exitStatus); - $binPath = trim(ob_get_clean()); - - return $supported = 0 === $exitStatus && '' !== $binPath; - } - - /** - * {@inheritdoc} - */ - public function guess($path) - { - if (!is_file($path)) { - throw new FileNotFoundException($path); - } - - if (!is_readable($path)) { - throw new AccessDeniedException($path); - } - - if (!self::isSupported()) { - return null; - } - - ob_start(); - - // need to use --mime instead of -i. see #6641 - passthru(sprintf($this->cmd, escapeshellarg((0 === strpos($path, '-') ? './' : '').$path)), $return); - if ($return > 0) { - ob_end_clean(); - - return null; - } - - $type = trim(ob_get_clean()); - - if (!preg_match('#^([a-z0-9\-]+/[a-z0-9\-\+\.]+)#i', $type, $match)) { - // it's not a type, but an error message - return null; - } - - return $match[1]; - } -} diff --git a/paragonik-backend/vendor/symfony/http-foundation/File/MimeType/FileinfoMimeTypeGuesser.php b/paragonik-backend/vendor/symfony/http-foundation/File/MimeType/FileinfoMimeTypeGuesser.php deleted file mode 100644 index 70a01d7..0000000 --- a/paragonik-backend/vendor/symfony/http-foundation/File/MimeType/FileinfoMimeTypeGuesser.php +++ /dev/null @@ -1,74 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpFoundation\File\MimeType; - -use Symfony\Component\HttpFoundation\File\Exception\AccessDeniedException; -use Symfony\Component\HttpFoundation\File\Exception\FileNotFoundException; -use Symfony\Component\Mime\FileinfoMimeTypeGuesser as NewFileinfoMimeTypeGuesser; - -@trigger_error(sprintf('The "%s" class is deprecated since Symfony 4.3, use "%s" instead.', FileinfoMimeTypeGuesser::class, NewFileinfoMimeTypeGuesser::class), E_USER_DEPRECATED); - -/** - * Guesses the mime type using the PECL extension FileInfo. - * - * @author Bernhard Schussek - * - * @deprecated since Symfony 4.3, use {@link NewFileinfoMimeTypeGuesser} instead - */ -class FileinfoMimeTypeGuesser implements MimeTypeGuesserInterface -{ - private $magicFile; - - /** - * @param string $magicFile A magic file to use with the finfo instance - * - * @see https://php.net/finfo-open - */ - public function __construct(string $magicFile = null) - { - $this->magicFile = $magicFile; - } - - /** - * Returns whether this guesser is supported on the current OS/PHP setup. - * - * @return bool - */ - public static function isSupported() - { - return \function_exists('finfo_open'); - } - - /** - * {@inheritdoc} - */ - public function guess($path) - { - if (!is_file($path)) { - throw new FileNotFoundException($path); - } - - if (!is_readable($path)) { - throw new AccessDeniedException($path); - } - - if (!self::isSupported()) { - return null; - } - - if (!$finfo = new \finfo(FILEINFO_MIME_TYPE, $this->magicFile)) { - return null; - } - - return $finfo->file($path); - } -} diff --git a/paragonik-backend/vendor/symfony/http-foundation/File/MimeType/MimeTypeExtensionGuesser.php b/paragonik-backend/vendor/symfony/http-foundation/File/MimeType/MimeTypeExtensionGuesser.php deleted file mode 100644 index 651be07..0000000 --- a/paragonik-backend/vendor/symfony/http-foundation/File/MimeType/MimeTypeExtensionGuesser.php +++ /dev/null @@ -1,826 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpFoundation\File\MimeType; - -use Symfony\Component\Mime\MimeTypes; - -@trigger_error(sprintf('The "%s" class is deprecated since Symfony 4.3, use "%s" instead.', MimeTypeExtensionGuesser::class, MimeTypes::class), E_USER_DEPRECATED); - -/** - * Provides a best-guess mapping of mime type to file extension. - * - * @deprecated since Symfony 4.3, use {@link MimeTypes} instead - */ -class MimeTypeExtensionGuesser implements ExtensionGuesserInterface -{ - /** - * A map of mime types and their default extensions. - * - * This list has been placed under the public domain by the Apache HTTPD project. - * This list has been updated from upstream on 2019-01-14. - * - * @see https://svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime.types - */ - protected $defaultExtensions = [ - 'application/andrew-inset' => 'ez', - 'application/applixware' => 'aw', - 'application/atom+xml' => 'atom', - 'application/atomcat+xml' => 'atomcat', - 'application/atomsvc+xml' => 'atomsvc', - 'application/ccxml+xml' => 'ccxml', - 'application/cdmi-capability' => 'cdmia', - 'application/cdmi-container' => 'cdmic', - 'application/cdmi-domain' => 'cdmid', - 'application/cdmi-object' => 'cdmio', - 'application/cdmi-queue' => 'cdmiq', - 'application/cu-seeme' => 'cu', - 'application/davmount+xml' => 'davmount', - 'application/docbook+xml' => 'dbk', - 'application/dssc+der' => 'dssc', - 'application/dssc+xml' => 'xdssc', - 'application/ecmascript' => 'ecma', - 'application/emma+xml' => 'emma', - 'application/epub+zip' => 'epub', - 'application/exi' => 'exi', - 'application/font-tdpfr' => 'pfr', - 'application/gml+xml' => 'gml', - 'application/gpx+xml' => 'gpx', - 'application/gxf' => 'gxf', - 'application/hyperstudio' => 'stk', - 'application/inkml+xml' => 'ink', - 'application/ipfix' => 'ipfix', - 'application/java-archive' => 'jar', - 'application/java-serialized-object' => 'ser', - 'application/java-vm' => 'class', - 'application/javascript' => 'js', - 'application/json' => 'json', - 'application/jsonml+json' => 'jsonml', - 'application/lost+xml' => 'lostxml', - 'application/mac-binhex40' => 'hqx', - 'application/mac-compactpro' => 'cpt', - 'application/mads+xml' => 'mads', - 'application/marc' => 'mrc', - 'application/marcxml+xml' => 'mrcx', - 'application/mathematica' => 'ma', - 'application/mathml+xml' => 'mathml', - 'application/mbox' => 'mbox', - 'application/mediaservercontrol+xml' => 'mscml', - 'application/metalink+xml' => 'metalink', - 'application/metalink4+xml' => 'meta4', - 'application/mets+xml' => 'mets', - 'application/mods+xml' => 'mods', - 'application/mp21' => 'm21', - 'application/mp4' => 'mp4s', - 'application/msword' => 'doc', - 'application/mxf' => 'mxf', - 'application/octet-stream' => 'bin', - 'application/oda' => 'oda', - 'application/oebps-package+xml' => 'opf', - 'application/ogg' => 'ogx', - 'application/omdoc+xml' => 'omdoc', - 'application/onenote' => 'onetoc', - 'application/oxps' => 'oxps', - 'application/patch-ops-error+xml' => 'xer', - 'application/pdf' => 'pdf', - 'application/pgp-encrypted' => 'pgp', - 'application/pgp-signature' => 'asc', - 'application/pics-rules' => 'prf', - 'application/pkcs10' => 'p10', - 'application/pkcs7-mime' => 'p7m', - 'application/pkcs7-signature' => 'p7s', - 'application/pkcs8' => 'p8', - 'application/pkix-attr-cert' => 'ac', - 'application/pkix-cert' => 'cer', - 'application/pkix-crl' => 'crl', - 'application/pkix-pkipath' => 'pkipath', - 'application/pkixcmp' => 'pki', - 'application/pls+xml' => 'pls', - 'application/postscript' => 'ai', - 'application/prs.cww' => 'cww', - 'application/pskc+xml' => 'pskcxml', - 'application/rdf+xml' => 'rdf', - 'application/reginfo+xml' => 'rif', - 'application/relax-ng-compact-syntax' => 'rnc', - 'application/resource-lists+xml' => 'rl', - 'application/resource-lists-diff+xml' => 'rld', - 'application/rls-services+xml' => 'rs', - 'application/rpki-ghostbusters' => 'gbr', - 'application/rpki-manifest' => 'mft', - 'application/rpki-roa' => 'roa', - 'application/rsd+xml' => 'rsd', - 'application/rss+xml' => 'rss', - 'application/rtf' => 'rtf', - 'application/sbml+xml' => 'sbml', - 'application/scvp-cv-request' => 'scq', - 'application/scvp-cv-response' => 'scs', - 'application/scvp-vp-request' => 'spq', - 'application/scvp-vp-response' => 'spp', - 'application/sdp' => 'sdp', - 'application/set-payment-initiation' => 'setpay', - 'application/set-registration-initiation' => 'setreg', - 'application/shf+xml' => 'shf', - 'application/smil+xml' => 'smi', - 'application/sparql-query' => 'rq', - 'application/sparql-results+xml' => 'srx', - 'application/srgs' => 'gram', - 'application/srgs+xml' => 'grxml', - 'application/sru+xml' => 'sru', - 'application/ssdl+xml' => 'ssdl', - 'application/ssml+xml' => 'ssml', - 'application/tei+xml' => 'tei', - 'application/thraud+xml' => 'tfi', - 'application/timestamped-data' => 'tsd', - 'application/vnd.3gpp.pic-bw-large' => 'plb', - 'application/vnd.3gpp.pic-bw-small' => 'psb', - 'application/vnd.3gpp.pic-bw-var' => 'pvb', - 'application/vnd.3gpp2.tcap' => 'tcap', - 'application/vnd.3m.post-it-notes' => 'pwn', - 'application/vnd.accpac.simply.aso' => 'aso', - 'application/vnd.accpac.simply.imp' => 'imp', - 'application/vnd.acucobol' => 'acu', - 'application/vnd.acucorp' => 'atc', - 'application/vnd.adobe.air-application-installer-package+zip' => 'air', - 'application/vnd.adobe.formscentral.fcdt' => 'fcdt', - 'application/vnd.adobe.fxp' => 'fxp', - 'application/vnd.adobe.xdp+xml' => 'xdp', - 'application/vnd.adobe.xfdf' => 'xfdf', - 'application/vnd.ahead.space' => 'ahead', - 'application/vnd.airzip.filesecure.azf' => 'azf', - 'application/vnd.airzip.filesecure.azs' => 'azs', - 'application/vnd.amazon.ebook' => 'azw', - 'application/vnd.americandynamics.acc' => 'acc', - 'application/vnd.amiga.ami' => 'ami', - 'application/vnd.android.package-archive' => 'apk', - 'application/vnd.anser-web-certificate-issue-initiation' => 'cii', - 'application/vnd.anser-web-funds-transfer-initiation' => 'fti', - 'application/vnd.antix.game-component' => 'atx', - 'application/vnd.apple.installer+xml' => 'mpkg', - 'application/vnd.apple.mpegurl' => 'm3u8', - 'application/vnd.aristanetworks.swi' => 'swi', - 'application/vnd.astraea-software.iota' => 'iota', - 'application/vnd.audiograph' => 'aep', - 'application/vnd.blueice.multipass' => 'mpm', - 'application/vnd.bmi' => 'bmi', - 'application/vnd.businessobjects' => 'rep', - 'application/vnd.chemdraw+xml' => 'cdxml', - 'application/vnd.chipnuts.karaoke-mmd' => 'mmd', - 'application/vnd.cinderella' => 'cdy', - 'application/vnd.claymore' => 'cla', - 'application/vnd.cloanto.rp9' => 'rp9', - 'application/vnd.clonk.c4group' => 'c4g', - 'application/vnd.cluetrust.cartomobile-config' => 'c11amc', - 'application/vnd.cluetrust.cartomobile-config-pkg' => 'c11amz', - 'application/vnd.commonspace' => 'csp', - 'application/vnd.contact.cmsg' => 'cdbcmsg', - 'application/vnd.cosmocaller' => 'cmc', - 'application/vnd.crick.clicker' => 'clkx', - 'application/vnd.crick.clicker.keyboard' => 'clkk', - 'application/vnd.crick.clicker.palette' => 'clkp', - 'application/vnd.crick.clicker.template' => 'clkt', - 'application/vnd.crick.clicker.wordbank' => 'clkw', - 'application/vnd.criticaltools.wbs+xml' => 'wbs', - 'application/vnd.ctc-posml' => 'pml', - 'application/vnd.cups-ppd' => 'ppd', - 'application/vnd.curl.car' => 'car', - 'application/vnd.curl.pcurl' => 'pcurl', - 'application/vnd.dart' => 'dart', - 'application/vnd.data-vision.rdz' => 'rdz', - 'application/vnd.dece.data' => 'uvf', - 'application/vnd.dece.ttml+xml' => 'uvt', - 'application/vnd.dece.unspecified' => 'uvx', - 'application/vnd.dece.zip' => 'uvz', - 'application/vnd.denovo.fcselayout-link' => 'fe_launch', - 'application/vnd.dna' => 'dna', - 'application/vnd.dolby.mlp' => 'mlp', - 'application/vnd.dpgraph' => 'dpg', - 'application/vnd.dreamfactory' => 'dfac', - 'application/vnd.ds-keypoint' => 'kpxx', - 'application/vnd.dvb.ait' => 'ait', - 'application/vnd.dvb.service' => 'svc', - 'application/vnd.dynageo' => 'geo', - 'application/vnd.ecowin.chart' => 'mag', - 'application/vnd.enliven' => 'nml', - 'application/vnd.epson.esf' => 'esf', - 'application/vnd.epson.msf' => 'msf', - 'application/vnd.epson.quickanime' => 'qam', - 'application/vnd.epson.salt' => 'slt', - 'application/vnd.epson.ssf' => 'ssf', - 'application/vnd.eszigno3+xml' => 'es3', - 'application/vnd.ezpix-album' => 'ez2', - 'application/vnd.ezpix-package' => 'ez3', - 'application/vnd.fdf' => 'fdf', - 'application/vnd.fdsn.mseed' => 'mseed', - 'application/vnd.fdsn.seed' => 'seed', - 'application/vnd.flographit' => 'gph', - 'application/vnd.fluxtime.clip' => 'ftc', - 'application/vnd.framemaker' => 'fm', - 'application/vnd.frogans.fnc' => 'fnc', - 'application/vnd.frogans.ltf' => 'ltf', - 'application/vnd.fsc.weblaunch' => 'fsc', - 'application/vnd.fujitsu.oasys' => 'oas', - 'application/vnd.fujitsu.oasys2' => 'oa2', - 'application/vnd.fujitsu.oasys3' => 'oa3', - 'application/vnd.fujitsu.oasysgp' => 'fg5', - 'application/vnd.fujitsu.oasysprs' => 'bh2', - 'application/vnd.fujixerox.ddd' => 'ddd', - 'application/vnd.fujixerox.docuworks' => 'xdw', - 'application/vnd.fujixerox.docuworks.binder' => 'xbd', - 'application/vnd.fuzzysheet' => 'fzs', - 'application/vnd.genomatix.tuxedo' => 'txd', - 'application/vnd.geogebra.file' => 'ggb', - 'application/vnd.geogebra.tool' => 'ggt', - 'application/vnd.geometry-explorer' => 'gex', - 'application/vnd.geonext' => 'gxt', - 'application/vnd.geoplan' => 'g2w', - 'application/vnd.geospace' => 'g3w', - 'application/vnd.gmx' => 'gmx', - 'application/vnd.google-earth.kml+xml' => 'kml', - 'application/vnd.google-earth.kmz' => 'kmz', - 'application/vnd.grafeq' => 'gqf', - 'application/vnd.groove-account' => 'gac', - 'application/vnd.groove-help' => 'ghf', - 'application/vnd.groove-identity-message' => 'gim', - 'application/vnd.groove-injector' => 'grv', - 'application/vnd.groove-tool-message' => 'gtm', - 'application/vnd.groove-tool-template' => 'tpl', - 'application/vnd.groove-vcard' => 'vcg', - 'application/vnd.hal+xml' => 'hal', - 'application/vnd.handheld-entertainment+xml' => 'zmm', - 'application/vnd.hbci' => 'hbci', - 'application/vnd.hhe.lesson-player' => 'les', - 'application/vnd.hp-hpgl' => 'hpgl', - 'application/vnd.hp-hpid' => 'hpid', - 'application/vnd.hp-hps' => 'hps', - 'application/vnd.hp-jlyt' => 'jlt', - 'application/vnd.hp-pcl' => 'pcl', - 'application/vnd.hp-pclxl' => 'pclxl', - 'application/vnd.hydrostatix.sof-data' => 'sfd-hdstx', - 'application/vnd.ibm.minipay' => 'mpy', - 'application/vnd.ibm.modcap' => 'afp', - 'application/vnd.ibm.rights-management' => 'irm', - 'application/vnd.ibm.secure-container' => 'sc', - 'application/vnd.iccprofile' => 'icc', - 'application/vnd.igloader' => 'igl', - 'application/vnd.immervision-ivp' => 'ivp', - 'application/vnd.immervision-ivu' => 'ivu', - 'application/vnd.insors.igm' => 'igm', - 'application/vnd.intercon.formnet' => 'xpw', - 'application/vnd.intergeo' => 'i2g', - 'application/vnd.intu.qbo' => 'qbo', - 'application/vnd.intu.qfx' => 'qfx', - 'application/vnd.ipunplugged.rcprofile' => 'rcprofile', - 'application/vnd.irepository.package+xml' => 'irp', - 'application/vnd.is-xpr' => 'xpr', - 'application/vnd.isac.fcs' => 'fcs', - 'application/vnd.jam' => 'jam', - 'application/vnd.jcp.javame.midlet-rms' => 'rms', - 'application/vnd.jisp' => 'jisp', - 'application/vnd.joost.joda-archive' => 'joda', - 'application/vnd.kahootz' => 'ktz', - 'application/vnd.kde.karbon' => 'karbon', - 'application/vnd.kde.kchart' => 'chrt', - 'application/vnd.kde.kformula' => 'kfo', - 'application/vnd.kde.kivio' => 'flw', - 'application/vnd.kde.kontour' => 'kon', - 'application/vnd.kde.kpresenter' => 'kpr', - 'application/vnd.kde.kspread' => 'ksp', - 'application/vnd.kde.kword' => 'kwd', - 'application/vnd.kenameaapp' => 'htke', - 'application/vnd.kidspiration' => 'kia', - 'application/vnd.kinar' => 'kne', - 'application/vnd.koan' => 'skp', - 'application/vnd.kodak-descriptor' => 'sse', - 'application/vnd.las.las+xml' => 'lasxml', - 'application/vnd.llamagraphics.life-balance.desktop' => 'lbd', - 'application/vnd.llamagraphics.life-balance.exchange+xml' => 'lbe', - 'application/vnd.lotus-1-2-3' => '123', - 'application/vnd.lotus-approach' => 'apr', - 'application/vnd.lotus-freelance' => 'pre', - 'application/vnd.lotus-notes' => 'nsf', - 'application/vnd.lotus-organizer' => 'org', - 'application/vnd.lotus-screencam' => 'scm', - 'application/vnd.lotus-wordpro' => 'lwp', - 'application/vnd.macports.portpkg' => 'portpkg', - 'application/vnd.mcd' => 'mcd', - 'application/vnd.medcalcdata' => 'mc1', - 'application/vnd.mediastation.cdkey' => 'cdkey', - 'application/vnd.mfer' => 'mwf', - 'application/vnd.mfmp' => 'mfm', - 'application/vnd.micrografx.flo' => 'flo', - 'application/vnd.micrografx.igx' => 'igx', - 'application/vnd.mif' => 'mif', - 'application/vnd.mobius.daf' => 'daf', - 'application/vnd.mobius.dis' => 'dis', - 'application/vnd.mobius.mbk' => 'mbk', - 'application/vnd.mobius.mqy' => 'mqy', - 'application/vnd.mobius.msl' => 'msl', - 'application/vnd.mobius.plc' => 'plc', - 'application/vnd.mobius.txf' => 'txf', - 'application/vnd.mophun.application' => 'mpn', - 'application/vnd.mophun.certificate' => 'mpc', - 'application/vnd.mozilla.xul+xml' => 'xul', - 'application/vnd.ms-artgalry' => 'cil', - 'application/vnd.ms-cab-compressed' => 'cab', - 'application/vnd.ms-excel' => 'xls', - 'application/vnd.ms-excel.addin.macroenabled.12' => 'xlam', - 'application/vnd.ms-excel.sheet.binary.macroenabled.12' => 'xlsb', - 'application/vnd.ms-excel.sheet.macroenabled.12' => 'xlsm', - 'application/vnd.ms-excel.template.macroenabled.12' => 'xltm', - 'application/vnd.ms-fontobject' => 'eot', - 'application/vnd.ms-htmlhelp' => 'chm', - 'application/vnd.ms-ims' => 'ims', - 'application/vnd.ms-lrm' => 'lrm', - 'application/vnd.ms-officetheme' => 'thmx', - 'application/vnd.ms-pki.seccat' => 'cat', - 'application/vnd.ms-pki.stl' => 'stl', - 'application/vnd.ms-powerpoint' => 'ppt', - 'application/vnd.ms-powerpoint.addin.macroenabled.12' => 'ppam', - 'application/vnd.ms-powerpoint.presentation.macroenabled.12' => 'pptm', - 'application/vnd.ms-powerpoint.slide.macroenabled.12' => 'sldm', - 'application/vnd.ms-powerpoint.slideshow.macroenabled.12' => 'ppsm', - 'application/vnd.ms-powerpoint.template.macroenabled.12' => 'potm', - 'application/vnd.ms-project' => 'mpp', - 'application/vnd.ms-word.document.macroenabled.12' => 'docm', - 'application/vnd.ms-word.template.macroenabled.12' => 'dotm', - 'application/vnd.ms-works' => 'wps', - 'application/vnd.ms-wpl' => 'wpl', - 'application/vnd.ms-xpsdocument' => 'xps', - 'application/vnd.mseq' => 'mseq', - 'application/vnd.musician' => 'mus', - 'application/vnd.muvee.style' => 'msty', - 'application/vnd.mynfc' => 'taglet', - 'application/vnd.neurolanguage.nlu' => 'nlu', - 'application/vnd.nitf' => 'ntf', - 'application/vnd.noblenet-directory' => 'nnd', - 'application/vnd.noblenet-sealer' => 'nns', - 'application/vnd.noblenet-web' => 'nnw', - 'application/vnd.nokia.n-gage.data' => 'ngdat', - 'application/vnd.nokia.n-gage.symbian.install' => 'n-gage', - 'application/vnd.nokia.radio-preset' => 'rpst', - 'application/vnd.nokia.radio-presets' => 'rpss', - 'application/vnd.novadigm.edm' => 'edm', - 'application/vnd.novadigm.edx' => 'edx', - 'application/vnd.novadigm.ext' => 'ext', - 'application/vnd.oasis.opendocument.chart' => 'odc', - 'application/vnd.oasis.opendocument.chart-template' => 'otc', - 'application/vnd.oasis.opendocument.database' => 'odb', - 'application/vnd.oasis.opendocument.formula' => 'odf', - 'application/vnd.oasis.opendocument.formula-template' => 'odft', - 'application/vnd.oasis.opendocument.graphics' => 'odg', - 'application/vnd.oasis.opendocument.graphics-template' => 'otg', - 'application/vnd.oasis.opendocument.image' => 'odi', - 'application/vnd.oasis.opendocument.image-template' => 'oti', - 'application/vnd.oasis.opendocument.presentation' => 'odp', - 'application/vnd.oasis.opendocument.presentation-template' => 'otp', - 'application/vnd.oasis.opendocument.spreadsheet' => 'ods', - 'application/vnd.oasis.opendocument.spreadsheet-template' => 'ots', - 'application/vnd.oasis.opendocument.text' => 'odt', - 'application/vnd.oasis.opendocument.text-master' => 'odm', - 'application/vnd.oasis.opendocument.text-template' => 'ott', - 'application/vnd.oasis.opendocument.text-web' => 'oth', - 'application/vnd.olpc-sugar' => 'xo', - 'application/vnd.oma.dd2+xml' => 'dd2', - 'application/vnd.openofficeorg.extension' => 'oxt', - 'application/vnd.openxmlformats-officedocument.presentationml.presentation' => 'pptx', - 'application/vnd.openxmlformats-officedocument.presentationml.slide' => 'sldx', - 'application/vnd.openxmlformats-officedocument.presentationml.slideshow' => 'ppsx', - 'application/vnd.openxmlformats-officedocument.presentationml.template' => 'potx', - 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' => 'xlsx', - 'application/vnd.openxmlformats-officedocument.spreadsheetml.template' => 'xltx', - 'application/vnd.openxmlformats-officedocument.wordprocessingml.document' => 'docx', - 'application/vnd.openxmlformats-officedocument.wordprocessingml.template' => 'dotx', - 'application/vnd.osgeo.mapguide.package' => 'mgp', - 'application/vnd.osgi.dp' => 'dp', - 'application/vnd.osgi.subsystem' => 'esa', - 'application/vnd.palm' => 'pdb', - 'application/vnd.pawaafile' => 'paw', - 'application/vnd.pg.format' => 'str', - 'application/vnd.pg.osasli' => 'ei6', - 'application/vnd.picsel' => 'efif', - 'application/vnd.pmi.widget' => 'wg', - 'application/vnd.pocketlearn' => 'plf', - 'application/vnd.powerbuilder6' => 'pbd', - 'application/vnd.previewsystems.box' => 'box', - 'application/vnd.proteus.magazine' => 'mgz', - 'application/vnd.publishare-delta-tree' => 'qps', - 'application/vnd.pvi.ptid1' => 'ptid', - 'application/vnd.quark.quarkxpress' => 'qxd', - 'application/vnd.realvnc.bed' => 'bed', - 'application/vnd.recordare.musicxml' => 'mxl', - 'application/vnd.recordare.musicxml+xml' => 'musicxml', - 'application/vnd.rig.cryptonote' => 'cryptonote', - 'application/vnd.rim.cod' => 'cod', - 'application/vnd.rn-realmedia' => 'rm', - 'application/vnd.rn-realmedia-vbr' => 'rmvb', - 'application/vnd.route66.link66+xml' => 'link66', - 'application/vnd.sailingtracker.track' => 'st', - 'application/vnd.seemail' => 'see', - 'application/vnd.sema' => 'sema', - 'application/vnd.semd' => 'semd', - 'application/vnd.semf' => 'semf', - 'application/vnd.shana.informed.formdata' => 'ifm', - 'application/vnd.shana.informed.formtemplate' => 'itp', - 'application/vnd.shana.informed.interchange' => 'iif', - 'application/vnd.shana.informed.package' => 'ipk', - 'application/vnd.simtech-mindmapper' => 'twd', - 'application/vnd.smaf' => 'mmf', - 'application/vnd.smart.teacher' => 'teacher', - 'application/vnd.solent.sdkm+xml' => 'sdkm', - 'application/vnd.spotfire.dxp' => 'dxp', - 'application/vnd.spotfire.sfs' => 'sfs', - 'application/vnd.stardivision.calc' => 'sdc', - 'application/vnd.stardivision.draw' => 'sda', - 'application/vnd.stardivision.impress' => 'sdd', - 'application/vnd.stardivision.math' => 'smf', - 'application/vnd.stardivision.writer' => 'sdw', - 'application/vnd.stardivision.writer-global' => 'sgl', - 'application/vnd.stepmania.package' => 'smzip', - 'application/vnd.stepmania.stepchart' => 'sm', - 'application/vnd.sun.xml.calc' => 'sxc', - 'application/vnd.sun.xml.calc.template' => 'stc', - 'application/vnd.sun.xml.draw' => 'sxd', - 'application/vnd.sun.xml.draw.template' => 'std', - 'application/vnd.sun.xml.impress' => 'sxi', - 'application/vnd.sun.xml.impress.template' => 'sti', - 'application/vnd.sun.xml.math' => 'sxm', - 'application/vnd.sun.xml.writer' => 'sxw', - 'application/vnd.sun.xml.writer.global' => 'sxg', - 'application/vnd.sun.xml.writer.template' => 'stw', - 'application/vnd.sus-calendar' => 'sus', - 'application/vnd.svd' => 'svd', - 'application/vnd.symbian.install' => 'sis', - 'application/vnd.syncml+xml' => 'xsm', - 'application/vnd.syncml.dm+wbxml' => 'bdm', - 'application/vnd.syncml.dm+xml' => 'xdm', - 'application/vnd.tao.intent-module-archive' => 'tao', - 'application/vnd.tcpdump.pcap' => 'pcap', - 'application/vnd.tmobile-livetv' => 'tmo', - 'application/vnd.trid.tpt' => 'tpt', - 'application/vnd.triscape.mxs' => 'mxs', - 'application/vnd.trueapp' => 'tra', - 'application/vnd.ufdl' => 'ufd', - 'application/vnd.uiq.theme' => 'utz', - 'application/vnd.umajin' => 'umj', - 'application/vnd.unity' => 'unityweb', - 'application/vnd.uoml+xml' => 'uoml', - 'application/vnd.vcx' => 'vcx', - 'application/vnd.visio' => 'vsd', - 'application/vnd.visionary' => 'vis', - 'application/vnd.vsf' => 'vsf', - 'application/vnd.wap.wbxml' => 'wbxml', - 'application/vnd.wap.wmlc' => 'wmlc', - 'application/vnd.wap.wmlscriptc' => 'wmlsc', - 'application/vnd.webturbo' => 'wtb', - 'application/vnd.wolfram.player' => 'nbp', - 'application/vnd.wordperfect' => 'wpd', - 'application/vnd.wqd' => 'wqd', - 'application/vnd.wt.stf' => 'stf', - 'application/vnd.xara' => 'xar', - 'application/vnd.xfdl' => 'xfdl', - 'application/vnd.yamaha.hv-dic' => 'hvd', - 'application/vnd.yamaha.hv-script' => 'hvs', - 'application/vnd.yamaha.hv-voice' => 'hvp', - 'application/vnd.yamaha.openscoreformat' => 'osf', - 'application/vnd.yamaha.openscoreformat.osfpvg+xml' => 'osfpvg', - 'application/vnd.yamaha.smaf-audio' => 'saf', - 'application/vnd.yamaha.smaf-phrase' => 'spf', - 'application/vnd.yellowriver-custom-menu' => 'cmp', - 'application/vnd.zul' => 'zir', - 'application/vnd.zzazz.deck+xml' => 'zaz', - 'application/voicexml+xml' => 'vxml', - 'application/widget' => 'wgt', - 'application/winhlp' => 'hlp', - 'application/wsdl+xml' => 'wsdl', - 'application/wspolicy+xml' => 'wspolicy', - 'application/x-7z-compressed' => '7z', - 'application/x-abiword' => 'abw', - 'application/x-ace-compressed' => 'ace', - 'application/x-apple-diskimage' => 'dmg', - 'application/x-authorware-bin' => 'aab', - 'application/x-authorware-map' => 'aam', - 'application/x-authorware-seg' => 'aas', - 'application/x-bcpio' => 'bcpio', - 'application/x-bittorrent' => 'torrent', - 'application/x-blorb' => 'blb', - 'application/x-bzip' => 'bz', - 'application/x-bzip2' => 'bz2', - 'application/x-cbr' => 'cbr', - 'application/x-cdlink' => 'vcd', - 'application/x-cfs-compressed' => 'cfs', - 'application/x-chat' => 'chat', - 'application/x-chess-pgn' => 'pgn', - 'application/x-conference' => 'nsc', - 'application/x-cpio' => 'cpio', - 'application/x-csh' => 'csh', - 'application/x-debian-package' => 'deb', - 'application/x-dgc-compressed' => 'dgc', - 'application/x-director' => 'dir', - 'application/x-doom' => 'wad', - 'application/x-dtbncx+xml' => 'ncx', - 'application/x-dtbook+xml' => 'dtb', - 'application/x-dtbresource+xml' => 'res', - 'application/x-dvi' => 'dvi', - 'application/x-envoy' => 'evy', - 'application/x-eva' => 'eva', - 'application/x-font-bdf' => 'bdf', - 'application/x-font-ghostscript' => 'gsf', - 'application/x-font-linux-psf' => 'psf', - 'application/x-font-otf' => 'otf', - 'application/x-font-pcf' => 'pcf', - 'application/x-font-snf' => 'snf', - 'application/x-font-ttf' => 'ttf', - 'application/x-font-type1' => 'pfa', - 'application/x-font-woff' => 'woff', - 'application/x-freearc' => 'arc', - 'application/x-futuresplash' => 'spl', - 'application/x-gca-compressed' => 'gca', - 'application/x-glulx' => 'ulx', - 'application/x-gnumeric' => 'gnumeric', - 'application/x-gramps-xml' => 'gramps', - 'application/x-gtar' => 'gtar', - 'application/x-hdf' => 'hdf', - 'application/x-install-instructions' => 'install', - 'application/x-iso9660-image' => 'iso', - 'application/x-java-jnlp-file' => 'jnlp', - 'application/x-latex' => 'latex', - 'application/x-lzh-compressed' => 'lzh', - 'application/x-mie' => 'mie', - 'application/x-mobipocket-ebook' => 'prc', - 'application/x-ms-application' => 'application', - 'application/x-ms-shortcut' => 'lnk', - 'application/x-ms-wmd' => 'wmd', - 'application/x-ms-wmz' => 'wmz', - 'application/x-ms-xbap' => 'xbap', - 'application/x-msaccess' => 'mdb', - 'application/x-msbinder' => 'obd', - 'application/x-mscardfile' => 'crd', - 'application/x-msclip' => 'clp', - 'application/x-msdownload' => 'exe', - 'application/x-msmediaview' => 'mvb', - 'application/x-msmetafile' => 'wmf', - 'application/x-msmoney' => 'mny', - 'application/x-mspublisher' => 'pub', - 'application/x-msschedule' => 'scd', - 'application/x-msterminal' => 'trm', - 'application/x-mswrite' => 'wri', - 'application/x-netcdf' => 'nc', - 'application/x-nzb' => 'nzb', - 'application/x-pkcs12' => 'p12', - 'application/x-pkcs7-certificates' => 'p7b', - 'application/x-pkcs7-certreqresp' => 'p7r', - 'application/x-rar-compressed' => 'rar', - 'application/x-rar' => 'rar', - 'application/x-research-info-systems' => 'ris', - 'application/x-sh' => 'sh', - 'application/x-shar' => 'shar', - 'application/x-shockwave-flash' => 'swf', - 'application/x-silverlight-app' => 'xap', - 'application/x-sql' => 'sql', - 'application/x-stuffit' => 'sit', - 'application/x-stuffitx' => 'sitx', - 'application/x-subrip' => 'srt', - 'application/x-sv4cpio' => 'sv4cpio', - 'application/x-sv4crc' => 'sv4crc', - 'application/x-t3vm-image' => 't3', - 'application/x-tads' => 'gam', - 'application/x-tar' => 'tar', - 'application/x-tcl' => 'tcl', - 'application/x-tex' => 'tex', - 'application/x-tex-tfm' => 'tfm', - 'application/x-texinfo' => 'texinfo', - 'application/x-tgif' => 'obj', - 'application/x-ustar' => 'ustar', - 'application/x-wais-source' => 'src', - 'application/x-x509-ca-cert' => 'der', - 'application/x-xfig' => 'fig', - 'application/x-xliff+xml' => 'xlf', - 'application/x-xpinstall' => 'xpi', - 'application/x-xz' => 'xz', - 'application/x-zip-compressed' => 'zip', - 'application/x-zmachine' => 'z1', - 'application/xaml+xml' => 'xaml', - 'application/xcap-diff+xml' => 'xdf', - 'application/xenc+xml' => 'xenc', - 'application/xhtml+xml' => 'xhtml', - 'application/xml' => 'xml', - 'application/xml-dtd' => 'dtd', - 'application/xop+xml' => 'xop', - 'application/xproc+xml' => 'xpl', - 'application/xslt+xml' => 'xslt', - 'application/xspf+xml' => 'xspf', - 'application/xv+xml' => 'mxml', - 'application/yang' => 'yang', - 'application/yin+xml' => 'yin', - 'application/zip' => 'zip', - 'audio/adpcm' => 'adp', - 'audio/basic' => 'au', - 'audio/midi' => 'mid', - 'audio/mp4' => 'm4a', - 'audio/mpeg' => 'mpga', - 'audio/ogg' => 'oga', - 'audio/s3m' => 's3m', - 'audio/silk' => 'sil', - 'audio/vnd.dece.audio' => 'uva', - 'audio/vnd.digital-winds' => 'eol', - 'audio/vnd.dra' => 'dra', - 'audio/vnd.dts' => 'dts', - 'audio/vnd.dts.hd' => 'dtshd', - 'audio/vnd.lucent.voice' => 'lvp', - 'audio/vnd.ms-playready.media.pya' => 'pya', - 'audio/vnd.nuera.ecelp4800' => 'ecelp4800', - 'audio/vnd.nuera.ecelp7470' => 'ecelp7470', - 'audio/vnd.nuera.ecelp9600' => 'ecelp9600', - 'audio/vnd.rip' => 'rip', - 'audio/webm' => 'weba', - 'audio/x-aac' => 'aac', - 'audio/x-aiff' => 'aif', - 'audio/x-caf' => 'caf', - 'audio/x-flac' => 'flac', - 'audio/x-hx-aac-adts' => 'aac', - 'audio/x-matroska' => 'mka', - 'audio/x-mpegurl' => 'm3u', - 'audio/x-ms-wax' => 'wax', - 'audio/x-ms-wma' => 'wma', - 'audio/x-pn-realaudio' => 'ram', - 'audio/x-pn-realaudio-plugin' => 'rmp', - 'audio/x-wav' => 'wav', - 'audio/xm' => 'xm', - 'chemical/x-cdx' => 'cdx', - 'chemical/x-cif' => 'cif', - 'chemical/x-cmdf' => 'cmdf', - 'chemical/x-cml' => 'cml', - 'chemical/x-csml' => 'csml', - 'chemical/x-xyz' => 'xyz', - 'font/collection' => 'ttc', - 'font/otf' => 'otf', - 'font/ttf' => 'ttf', - 'font/woff' => 'woff', - 'font/woff2' => 'woff2', - 'image/bmp' => 'bmp', - 'image/x-ms-bmp' => 'bmp', - 'image/cgm' => 'cgm', - 'image/g3fax' => 'g3', - 'image/gif' => 'gif', - 'image/ief' => 'ief', - 'image/jpeg' => 'jpeg', - 'image/pjpeg' => 'jpeg', - 'image/ktx' => 'ktx', - 'image/png' => 'png', - 'image/prs.btif' => 'btif', - 'image/sgi' => 'sgi', - 'image/svg+xml' => 'svg', - 'image/tiff' => 'tiff', - 'image/vnd.adobe.photoshop' => 'psd', - 'image/vnd.dece.graphic' => 'uvi', - 'image/vnd.djvu' => 'djvu', - 'image/vnd.dvb.subtitle' => 'sub', - 'image/vnd.dwg' => 'dwg', - 'image/vnd.dxf' => 'dxf', - 'image/vnd.fastbidsheet' => 'fbs', - 'image/vnd.fpx' => 'fpx', - 'image/vnd.fst' => 'fst', - 'image/vnd.fujixerox.edmics-mmr' => 'mmr', - 'image/vnd.fujixerox.edmics-rlc' => 'rlc', - 'image/vnd.ms-modi' => 'mdi', - 'image/vnd.ms-photo' => 'wdp', - 'image/vnd.net-fpx' => 'npx', - 'image/vnd.wap.wbmp' => 'wbmp', - 'image/vnd.xiff' => 'xif', - 'image/webp' => 'webp', - 'image/x-3ds' => '3ds', - 'image/x-cmu-raster' => 'ras', - 'image/x-cmx' => 'cmx', - 'image/x-freehand' => 'fh', - 'image/x-icon' => 'ico', - 'image/x-mrsid-image' => 'sid', - 'image/x-pcx' => 'pcx', - 'image/x-pict' => 'pic', - 'image/x-portable-anymap' => 'pnm', - 'image/x-portable-bitmap' => 'pbm', - 'image/x-portable-graymap' => 'pgm', - 'image/x-portable-pixmap' => 'ppm', - 'image/x-rgb' => 'rgb', - 'image/x-tga' => 'tga', - 'image/x-xbitmap' => 'xbm', - 'image/x-xpixmap' => 'xpm', - 'image/x-xwindowdump' => 'xwd', - 'message/rfc822' => 'eml', - 'model/iges' => 'igs', - 'model/mesh' => 'msh', - 'model/vnd.collada+xml' => 'dae', - 'model/vnd.dwf' => 'dwf', - 'model/vnd.gdl' => 'gdl', - 'model/vnd.gtw' => 'gtw', - 'model/vnd.mts' => 'mts', - 'model/vnd.vtu' => 'vtu', - 'model/vrml' => 'wrl', - 'model/x3d+binary' => 'x3db', - 'model/x3d+vrml' => 'x3dv', - 'model/x3d+xml' => 'x3d', - 'text/cache-manifest' => 'appcache', - 'text/calendar' => 'ics', - 'text/css' => 'css', - 'text/csv' => 'csv', - 'text/html' => 'html', - 'text/n3' => 'n3', - 'text/plain' => 'txt', - 'text/prs.lines.tag' => 'dsc', - 'text/richtext' => 'rtx', - 'text/rtf' => 'rtf', - 'text/sgml' => 'sgml', - 'text/tab-separated-values' => 'tsv', - 'text/troff' => 't', - 'text/turtle' => 'ttl', - 'text/uri-list' => 'uri', - 'text/vcard' => 'vcard', - 'text/vnd.curl' => 'curl', - 'text/vnd.curl.dcurl' => 'dcurl', - 'text/vnd.curl.mcurl' => 'mcurl', - 'text/vnd.curl.scurl' => 'scurl', - 'text/vnd.dvb.subtitle' => 'sub', - 'text/vnd.fly' => 'fly', - 'text/vnd.fmi.flexstor' => 'flx', - 'text/vnd.graphviz' => 'gv', - 'text/vnd.in3d.3dml' => '3dml', - 'text/vnd.in3d.spot' => 'spot', - 'text/vnd.sun.j2me.app-descriptor' => 'jad', - 'text/vnd.wap.wml' => 'wml', - 'text/vnd.wap.wmlscript' => 'wmls', - 'text/vtt' => 'vtt', - 'text/x-asm' => 's', - 'text/x-c' => 'c', - 'text/x-fortran' => 'f', - 'text/x-java-source' => 'java', - 'text/x-nfo' => 'nfo', - 'text/x-opml' => 'opml', - 'text/x-pascal' => 'p', - 'text/x-setext' => 'etx', - 'text/x-sfv' => 'sfv', - 'text/x-uuencode' => 'uu', - 'text/x-vcalendar' => 'vcs', - 'text/x-vcard' => 'vcf', - 'video/3gpp' => '3gp', - 'video/3gpp2' => '3g2', - 'video/h261' => 'h261', - 'video/h263' => 'h263', - 'video/h264' => 'h264', - 'video/jpeg' => 'jpgv', - 'video/jpm' => 'jpm', - 'video/mj2' => 'mj2', - 'video/mp4' => 'mp4', - 'video/mpeg' => 'mpeg', - 'video/ogg' => 'ogv', - 'video/quicktime' => 'qt', - 'video/vnd.dece.hd' => 'uvh', - 'video/vnd.dece.mobile' => 'uvm', - 'video/vnd.dece.pd' => 'uvp', - 'video/vnd.dece.sd' => 'uvs', - 'video/vnd.dece.video' => 'uvv', - 'video/vnd.dvb.file' => 'dvb', - 'video/vnd.fvt' => 'fvt', - 'video/vnd.mpegurl' => 'mxu', - 'video/vnd.ms-playready.media.pyv' => 'pyv', - 'video/vnd.uvvu.mp4' => 'uvu', - 'video/vnd.vivo' => 'viv', - 'video/webm' => 'webm', - 'video/x-f4v' => 'f4v', - 'video/x-fli' => 'fli', - 'video/x-flv' => 'flv', - 'video/x-m4v' => 'm4v', - 'video/x-matroska' => 'mkv', - 'video/x-mng' => 'mng', - 'video/x-ms-asf' => 'asf', - 'video/x-ms-vob' => 'vob', - 'video/x-ms-wm' => 'wm', - 'video/x-ms-wmv' => 'wmv', - 'video/x-ms-wmx' => 'wmx', - 'video/x-ms-wvx' => 'wvx', - 'video/x-msvideo' => 'avi', - 'video/x-sgi-movie' => 'movie', - 'video/x-smv' => 'smv', - 'x-conference/x-cooltalk' => 'ice', - ]; - - /** - * {@inheritdoc} - */ - public function guess($mimeType) - { - if (isset($this->defaultExtensions[$mimeType])) { - return $this->defaultExtensions[$mimeType]; - } - - $lcMimeType = strtolower($mimeType); - - return isset($this->defaultExtensions[$lcMimeType]) ? $this->defaultExtensions[$lcMimeType] : null; - } -} diff --git a/paragonik-backend/vendor/symfony/http-foundation/File/MimeType/MimeTypeGuesser.php b/paragonik-backend/vendor/symfony/http-foundation/File/MimeType/MimeTypeGuesser.php deleted file mode 100644 index ece2109..0000000 --- a/paragonik-backend/vendor/symfony/http-foundation/File/MimeType/MimeTypeGuesser.php +++ /dev/null @@ -1,138 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpFoundation\File\MimeType; - -use Symfony\Component\HttpFoundation\File\Exception\AccessDeniedException; -use Symfony\Component\HttpFoundation\File\Exception\FileNotFoundException; -use Symfony\Component\Mime\MimeTypes; - -@trigger_error(sprintf('The "%s" class is deprecated since Symfony 4.3, use "%s" instead.', MimeTypeGuesser::class, MimeTypes::class), E_USER_DEPRECATED); - -/** - * A singleton mime type guesser. - * - * By default, all mime type guessers provided by the framework are installed - * (if available on the current OS/PHP setup). - * - * You can register custom guessers by calling the register() method on the - * singleton instance. Custom guessers are always called before any default ones. - * - * $guesser = MimeTypeGuesser::getInstance(); - * $guesser->register(new MyCustomMimeTypeGuesser()); - * - * If you want to change the order of the default guessers, just re-register your - * preferred one as a custom one. The last registered guesser is preferred over - * previously registered ones. - * - * Re-registering a built-in guesser also allows you to configure it: - * - * $guesser = MimeTypeGuesser::getInstance(); - * $guesser->register(new FileinfoMimeTypeGuesser('/path/to/magic/file')); - * - * @author Bernhard Schussek - */ -class MimeTypeGuesser implements MimeTypeGuesserInterface -{ - /** - * The singleton instance. - * - * @var MimeTypeGuesser - */ - private static $instance = null; - - /** - * All registered MimeTypeGuesserInterface instances. - * - * @var array - */ - protected $guessers = []; - - /** - * Returns the singleton instance. - * - * @return self - */ - public static function getInstance() - { - if (null === self::$instance) { - self::$instance = new self(); - } - - return self::$instance; - } - - /** - * Resets the singleton instance. - */ - public static function reset() - { - self::$instance = null; - } - - /** - * Registers all natively provided mime type guessers. - */ - private function __construct() - { - $this->register(new FileBinaryMimeTypeGuesser()); - $this->register(new FileinfoMimeTypeGuesser()); - } - - /** - * Registers a new mime type guesser. - * - * When guessing, this guesser is preferred over previously registered ones. - */ - public function register(MimeTypeGuesserInterface $guesser) - { - array_unshift($this->guessers, $guesser); - } - - /** - * Tries to guess the mime type of the given file. - * - * The file is passed to each registered mime type guesser in reverse order - * of their registration (last registered is queried first). Once a guesser - * returns a value that is not NULL, this method terminates and returns the - * value. - * - * @param string $path The path to the file - * - * @return string The mime type or NULL, if none could be guessed - * - * @throws \LogicException - * @throws FileNotFoundException - * @throws AccessDeniedException - */ - public function guess($path) - { - if (!is_file($path)) { - throw new FileNotFoundException($path); - } - - if (!is_readable($path)) { - throw new AccessDeniedException($path); - } - - foreach ($this->guessers as $guesser) { - if (null !== $mimeType = $guesser->guess($path)) { - return $mimeType; - } - } - - if (2 === \count($this->guessers) && !FileBinaryMimeTypeGuesser::isSupported() && !FileinfoMimeTypeGuesser::isSupported()) { - throw new \LogicException('Unable to guess the mime type as no guessers are available (Did you enable the php_fileinfo extension?)'); - } - - return null; - } -} diff --git a/paragonik-backend/vendor/symfony/http-foundation/File/MimeType/MimeTypeGuesserInterface.php b/paragonik-backend/vendor/symfony/http-foundation/File/MimeType/MimeTypeGuesserInterface.php deleted file mode 100644 index eab4448..0000000 --- a/paragonik-backend/vendor/symfony/http-foundation/File/MimeType/MimeTypeGuesserInterface.php +++ /dev/null @@ -1,38 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpFoundation\File\MimeType; - -use Symfony\Component\HttpFoundation\File\Exception\AccessDeniedException; -use Symfony\Component\HttpFoundation\File\Exception\FileNotFoundException; -use Symfony\Component\Mime\MimeTypesInterface; - -/** - * Guesses the mime type of a file. - * - * @author Bernhard Schussek - * - * @deprecated since Symfony 4.3, use {@link MimeTypesInterface} instead - */ -interface MimeTypeGuesserInterface -{ - /** - * Guesses the mime type of the file with the given path. - * - * @param string $path The path to the file - * - * @return string|null The mime type or NULL, if none could be guessed - * - * @throws FileNotFoundException If the file does not exist - * @throws AccessDeniedException If the file could not be read - */ - public function guess($path); -} diff --git a/paragonik-backend/vendor/symfony/http-foundation/File/Stream.php b/paragonik-backend/vendor/symfony/http-foundation/File/Stream.php deleted file mode 100644 index 69ae74c..0000000 --- a/paragonik-backend/vendor/symfony/http-foundation/File/Stream.php +++ /dev/null @@ -1,28 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpFoundation\File; - -/** - * A PHP stream of unknown size. - * - * @author Nicolas Grekas - */ -class Stream extends File -{ - /** - * {@inheritdoc} - */ - public function getSize() - { - return false; - } -} diff --git a/paragonik-backend/vendor/symfony/http-foundation/File/UploadedFile.php b/paragonik-backend/vendor/symfony/http-foundation/File/UploadedFile.php deleted file mode 100644 index 0c67f89..0000000 --- a/paragonik-backend/vendor/symfony/http-foundation/File/UploadedFile.php +++ /dev/null @@ -1,308 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpFoundation\File; - -use Symfony\Component\HttpFoundation\File\Exception\CannotWriteFileException; -use Symfony\Component\HttpFoundation\File\Exception\ExtensionFileException; -use Symfony\Component\HttpFoundation\File\Exception\FileException; -use Symfony\Component\HttpFoundation\File\Exception\FileNotFoundException; -use Symfony\Component\HttpFoundation\File\Exception\FormSizeFileException; -use Symfony\Component\HttpFoundation\File\Exception\IniSizeFileException; -use Symfony\Component\HttpFoundation\File\Exception\NoFileException; -use Symfony\Component\HttpFoundation\File\Exception\NoTmpDirFileException; -use Symfony\Component\HttpFoundation\File\Exception\PartialFileException; -use Symfony\Component\Mime\MimeTypes; - -/** - * A file uploaded through a form. - * - * @author Bernhard Schussek - * @author Florian Eckerstorfer - * @author Fabien Potencier - */ -class UploadedFile extends File -{ - private $test = false; - private $originalName; - private $mimeType; - private $error; - - /** - * Accepts the information of the uploaded file as provided by the PHP global $_FILES. - * - * The file object is only created when the uploaded file is valid (i.e. when the - * isValid() method returns true). Otherwise the only methods that could be called - * on an UploadedFile instance are: - * - * * getClientOriginalName, - * * getClientMimeType, - * * isValid, - * * getError. - * - * Calling any other method on an non-valid instance will cause an unpredictable result. - * - * @param string $path The full temporary path to the file - * @param string $originalName The original file name of the uploaded file - * @param string|null $mimeType The type of the file as provided by PHP; null defaults to application/octet-stream - * @param int|null $error The error constant of the upload (one of PHP's UPLOAD_ERR_XXX constants); null defaults to UPLOAD_ERR_OK - * @param bool $test Whether the test mode is active - * Local files are used in test mode hence the code should not enforce HTTP uploads - * - * @throws FileException If file_uploads is disabled - * @throws FileNotFoundException If the file does not exist - */ - public function __construct(string $path, string $originalName, string $mimeType = null, int $error = null, $test = false) - { - $this->originalName = $this->getName($originalName); - $this->mimeType = $mimeType ?: 'application/octet-stream'; - - if (4 < \func_num_args() ? !\is_bool($test) : null !== $error && @filesize($path) === $error) { - @trigger_error(sprintf('Passing a size as 4th argument to the constructor of "%s" is deprecated since Symfony 4.1.', __CLASS__), E_USER_DEPRECATED); - $error = $test; - $test = 5 < \func_num_args() ? func_get_arg(5) : false; - } - - $this->error = $error ?: UPLOAD_ERR_OK; - $this->test = $test; - - parent::__construct($path, UPLOAD_ERR_OK === $this->error); - } - - /** - * Returns the original file name. - * - * It is extracted from the request from which the file has been uploaded. - * Then it should not be considered as a safe value. - * - * @return string|null The original name - */ - public function getClientOriginalName() - { - return $this->originalName; - } - - /** - * Returns the original file extension. - * - * It is extracted from the original file name that was uploaded. - * Then it should not be considered as a safe value. - * - * @return string The extension - */ - public function getClientOriginalExtension() - { - return pathinfo($this->originalName, PATHINFO_EXTENSION); - } - - /** - * Returns the file mime type. - * - * The client mime type is extracted from the request from which the file - * was uploaded, so it should not be considered as a safe value. - * - * For a trusted mime type, use getMimeType() instead (which guesses the mime - * type based on the file content). - * - * @return string|null The mime type - * - * @see getMimeType() - */ - public function getClientMimeType() - { - return $this->mimeType; - } - - /** - * Returns the extension based on the client mime type. - * - * If the mime type is unknown, returns null. - * - * This method uses the mime type as guessed by getClientMimeType() - * to guess the file extension. As such, the extension returned - * by this method cannot be trusted. - * - * For a trusted extension, use guessExtension() instead (which guesses - * the extension based on the guessed mime type for the file). - * - * @return string|null The guessed extension or null if it cannot be guessed - * - * @see guessExtension() - * @see getClientMimeType() - */ - public function guessClientExtension() - { - return MimeTypes::getDefault()->getExtensions($this->getClientMimeType())[0] ?? null; - } - - /** - * Returns the file size. - * - * It is extracted from the request from which the file has been uploaded. - * Then it should not be considered as a safe value. - * - * @deprecated since Symfony 4.1, use getSize() instead. - * - * @return int|null The file sizes - */ - public function getClientSize() - { - @trigger_error(sprintf('The "%s()" method is deprecated since Symfony 4.1. Use getSize() instead.', __METHOD__), E_USER_DEPRECATED); - - return $this->getSize(); - } - - /** - * Returns the upload error. - * - * If the upload was successful, the constant UPLOAD_ERR_OK is returned. - * Otherwise one of the other UPLOAD_ERR_XXX constants is returned. - * - * @return int The upload error - */ - public function getError() - { - return $this->error; - } - - /** - * Returns whether the file was uploaded successfully. - * - * @return bool True if the file has been uploaded with HTTP and no error occurred - */ - public function isValid() - { - $isOk = UPLOAD_ERR_OK === $this->error; - - return $this->test ? $isOk : $isOk && is_uploaded_file($this->getPathname()); - } - - /** - * Moves the file to a new location. - * - * @param string $directory The destination folder - * @param string $name The new file name - * - * @return File A File object representing the new file - * - * @throws FileException if, for any reason, the file could not have been moved - */ - public function move($directory, $name = null) - { - if ($this->isValid()) { - if ($this->test) { - return parent::move($directory, $name); - } - - $target = $this->getTargetFile($directory, $name); - - set_error_handler(function ($type, $msg) use (&$error) { $error = $msg; }); - $moved = move_uploaded_file($this->getPathname(), $target); - restore_error_handler(); - if (!$moved) { - throw new FileException(sprintf('Could not move the file "%s" to "%s" (%s)', $this->getPathname(), $target, strip_tags($error))); - } - - @chmod($target, 0666 & ~umask()); - - return $target; - } - - switch ($this->error) { - case UPLOAD_ERR_INI_SIZE: - throw new IniSizeFileException($this->getErrorMessage()); - case UPLOAD_ERR_FORM_SIZE: - throw new FormSizeFileException($this->getErrorMessage()); - case UPLOAD_ERR_PARTIAL: - throw new PartialFileException($this->getErrorMessage()); - case UPLOAD_ERR_NO_FILE: - throw new NoFileException($this->getErrorMessage()); - case UPLOAD_ERR_CANT_WRITE: - throw new CannotWriteFileException($this->getErrorMessage()); - case UPLOAD_ERR_NO_TMP_DIR: - throw new NoTmpDirFileException($this->getErrorMessage()); - case UPLOAD_ERR_EXTENSION: - throw new ExtensionFileException($this->getErrorMessage()); - } - - throw new FileException($this->getErrorMessage()); - } - - /** - * Returns the maximum size of an uploaded file as configured in php.ini. - * - * @return int The maximum size of an uploaded file in bytes - */ - public static function getMaxFilesize() - { - $sizePostMax = self::parseFilesize(ini_get('post_max_size')); - $sizeUploadMax = self::parseFilesize(ini_get('upload_max_filesize')); - - return min($sizePostMax ?: PHP_INT_MAX, $sizeUploadMax ?: PHP_INT_MAX); - } - - /** - * Returns the given size from an ini value in bytes. - */ - private static function parseFilesize($size): int - { - if ('' === $size) { - return 0; - } - - $size = strtolower($size); - - $max = ltrim($size, '+'); - if (0 === strpos($max, '0x')) { - $max = \intval($max, 16); - } elseif (0 === strpos($max, '0')) { - $max = \intval($max, 8); - } else { - $max = (int) $max; - } - - switch (substr($size, -1)) { - case 't': $max *= 1024; - // no break - case 'g': $max *= 1024; - // no break - case 'm': $max *= 1024; - // no break - case 'k': $max *= 1024; - } - - return $max; - } - - /** - * Returns an informative upload error message. - * - * @return string The error message regarding the specified error code - */ - public function getErrorMessage() - { - static $errors = [ - UPLOAD_ERR_INI_SIZE => 'The file "%s" exceeds your upload_max_filesize ini directive (limit is %d KiB).', - UPLOAD_ERR_FORM_SIZE => 'The file "%s" exceeds the upload limit defined in your form.', - UPLOAD_ERR_PARTIAL => 'The file "%s" was only partially uploaded.', - UPLOAD_ERR_NO_FILE => 'No file was uploaded.', - UPLOAD_ERR_CANT_WRITE => 'The file "%s" could not be written on disk.', - UPLOAD_ERR_NO_TMP_DIR => 'File could not be uploaded: missing temporary directory.', - UPLOAD_ERR_EXTENSION => 'File upload was stopped by a PHP extension.', - ]; - - $errorCode = $this->error; - $maxFilesize = UPLOAD_ERR_INI_SIZE === $errorCode ? self::getMaxFilesize() / 1024 : 0; - $message = isset($errors[$errorCode]) ? $errors[$errorCode] : 'The file "%s" was not uploaded due to an unknown error.'; - - return sprintf($message, $this->getClientOriginalName(), $maxFilesize); - } -} diff --git a/paragonik-backend/vendor/symfony/http-foundation/FileBag.php b/paragonik-backend/vendor/symfony/http-foundation/FileBag.php deleted file mode 100644 index d79075c..0000000 --- a/paragonik-backend/vendor/symfony/http-foundation/FileBag.php +++ /dev/null @@ -1,142 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpFoundation; - -use Symfony\Component\HttpFoundation\File\UploadedFile; - -/** - * FileBag is a container for uploaded files. - * - * @author Fabien Potencier - * @author Bulat Shakirzyanov - */ -class FileBag extends ParameterBag -{ - private static $fileKeys = ['error', 'name', 'size', 'tmp_name', 'type']; - - /** - * @param array|UploadedFile[] $parameters An array of HTTP files - */ - public function __construct(array $parameters = []) - { - $this->replace($parameters); - } - - /** - * {@inheritdoc} - */ - public function replace(array $files = []) - { - $this->parameters = []; - $this->add($files); - } - - /** - * {@inheritdoc} - */ - public function set($key, $value) - { - if (!\is_array($value) && !$value instanceof UploadedFile) { - throw new \InvalidArgumentException('An uploaded file must be an array or an instance of UploadedFile.'); - } - - parent::set($key, $this->convertFileInformation($value)); - } - - /** - * {@inheritdoc} - */ - public function add(array $files = []) - { - foreach ($files as $key => $file) { - $this->set($key, $file); - } - } - - /** - * Converts uploaded files to UploadedFile instances. - * - * @param array|UploadedFile $file A (multi-dimensional) array of uploaded file information - * - * @return UploadedFile[]|UploadedFile|null A (multi-dimensional) array of UploadedFile instances - */ - protected function convertFileInformation($file) - { - if ($file instanceof UploadedFile) { - return $file; - } - - if (\is_array($file)) { - $file = $this->fixPhpFilesArray($file); - $keys = array_keys($file); - sort($keys); - - if ($keys == self::$fileKeys) { - if (UPLOAD_ERR_NO_FILE == $file['error']) { - $file = null; - } else { - $file = new UploadedFile($file['tmp_name'], $file['name'], $file['type'], $file['error'], false); - } - } else { - $file = array_map([$this, 'convertFileInformation'], $file); - if (array_keys($keys) === $keys) { - $file = array_filter($file); - } - } - } - - return $file; - } - - /** - * Fixes a malformed PHP $_FILES array. - * - * PHP has a bug that the format of the $_FILES array differs, depending on - * whether the uploaded file fields had normal field names or array-like - * field names ("normal" vs. "parent[child]"). - * - * This method fixes the array to look like the "normal" $_FILES array. - * - * It's safe to pass an already converted array, in which case this method - * just returns the original array unmodified. - * - * @param array $data - * - * @return array - */ - protected function fixPhpFilesArray($data) - { - $keys = array_keys($data); - sort($keys); - - if (self::$fileKeys != $keys || !isset($data['name']) || !\is_array($data['name'])) { - return $data; - } - - $files = $data; - foreach (self::$fileKeys as $k) { - unset($files[$k]); - } - - foreach ($data['name'] as $key => $name) { - $files[$key] = $this->fixPhpFilesArray([ - 'error' => $data['error'][$key], - 'name' => $name, - 'type' => $data['type'][$key], - 'tmp_name' => $data['tmp_name'][$key], - 'size' => $data['size'][$key], - ]); - } - - return $files; - } -} diff --git a/paragonik-backend/vendor/symfony/http-foundation/HeaderBag.php b/paragonik-backend/vendor/symfony/http-foundation/HeaderBag.php deleted file mode 100644 index 9ffe6f4..0000000 --- a/paragonik-backend/vendor/symfony/http-foundation/HeaderBag.php +++ /dev/null @@ -1,317 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpFoundation; - -/** - * HeaderBag is a container for HTTP headers. - * - * @author Fabien Potencier - */ -class HeaderBag implements \IteratorAggregate, \Countable -{ - protected const UPPER = '_ABCDEFGHIJKLMNOPQRSTUVWXYZ'; - protected const LOWER = '-abcdefghijklmnopqrstuvwxyz'; - - protected $headers = []; - protected $cacheControl = []; - - public function __construct(array $headers = []) - { - foreach ($headers as $key => $values) { - $this->set($key, $values); - } - } - - /** - * Returns the headers as a string. - * - * @return string The headers - */ - public function __toString() - { - if (!$headers = $this->all()) { - return ''; - } - - ksort($headers); - $max = max(array_map('strlen', array_keys($headers))) + 1; - $content = ''; - foreach ($headers as $name => $values) { - $name = ucwords($name, '-'); - foreach ($values as $value) { - $content .= sprintf("%-{$max}s %s\r\n", $name.':', $value); - } - } - - return $content; - } - - /** - * Returns the headers. - * - * @param string|null $key The name of the headers to return or null to get them all - * - * @return array An array of headers - */ - public function all(/*string $key = null*/) - { - if (1 <= \func_num_args() && null !== $key = func_get_arg(0)) { - return $this->headers[strtr($key, self::UPPER, self::LOWER)] ?? []; - } - - return $this->headers; - } - - /** - * Returns the parameter keys. - * - * @return array An array of parameter keys - */ - public function keys() - { - return array_keys($this->all()); - } - - /** - * Replaces the current HTTP headers by a new set. - */ - public function replace(array $headers = []) - { - $this->headers = []; - $this->add($headers); - } - - /** - * Adds new headers the current HTTP headers set. - */ - public function add(array $headers) - { - foreach ($headers as $key => $values) { - $this->set($key, $values); - } - } - - /** - * Returns a header value by name. - * - * @param string $key The header name - * @param string|null $default The default value - * - * @return string|null The first header value or default value - */ - public function get($key, $default = null) - { - $headers = $this->all((string) $key); - if (2 < \func_num_args()) { - @trigger_error(sprintf('Passing a third argument to "%s()" is deprecated since Symfony 4.4, use method "all()" instead', __METHOD__), E_USER_DEPRECATED); - - if (!func_get_arg(2)) { - return $headers; - } - } - - if (!$headers) { - return $default; - } - - if (null === $headers[0]) { - return null; - } - - return (string) $headers[0]; - } - - /** - * Sets a header by name. - * - * @param string $key The key - * @param string|string[] $values The value or an array of values - * @param bool $replace Whether to replace the actual value or not (true by default) - */ - public function set($key, $values, $replace = true) - { - $key = strtr($key, self::UPPER, self::LOWER); - - if (\is_array($values)) { - $values = array_values($values); - - if (true === $replace || !isset($this->headers[$key])) { - $this->headers[$key] = $values; - } else { - $this->headers[$key] = array_merge($this->headers[$key], $values); - } - } else { - if (true === $replace || !isset($this->headers[$key])) { - $this->headers[$key] = [$values]; - } else { - $this->headers[$key][] = $values; - } - } - - if ('cache-control' === $key) { - $this->cacheControl = $this->parseCacheControl(implode(', ', $this->headers[$key])); - } - } - - /** - * Returns true if the HTTP header is defined. - * - * @param string $key The HTTP header - * - * @return bool true if the parameter exists, false otherwise - */ - public function has($key) - { - return \array_key_exists(strtr($key, self::UPPER, self::LOWER), $this->all()); - } - - /** - * Returns true if the given HTTP header contains the given value. - * - * @param string $key The HTTP header name - * @param string $value The HTTP value - * - * @return bool true if the value is contained in the header, false otherwise - */ - public function contains($key, $value) - { - return \in_array($value, $this->all((string) $key)); - } - - /** - * Removes a header. - * - * @param string $key The HTTP header name - */ - public function remove($key) - { - $key = strtr($key, self::UPPER, self::LOWER); - - unset($this->headers[$key]); - - if ('cache-control' === $key) { - $this->cacheControl = []; - } - } - - /** - * Returns the HTTP header value converted to a date. - * - * @param string $key The parameter key - * - * @return \DateTimeInterface|null The parsed DateTime or the default value if the header does not exist - * - * @throws \RuntimeException When the HTTP header is not parseable - */ - public function getDate($key, \DateTime $default = null) - { - if (null === $value = $this->get($key)) { - return $default; - } - - if (false === $date = \DateTime::createFromFormat(DATE_RFC2822, $value)) { - throw new \RuntimeException(sprintf('The %s HTTP header is not parseable (%s).', $key, $value)); - } - - return $date; - } - - /** - * Adds a custom Cache-Control directive. - * - * @param string $key The Cache-Control directive name - * @param mixed $value The Cache-Control directive value - */ - public function addCacheControlDirective($key, $value = true) - { - $this->cacheControl[$key] = $value; - - $this->set('Cache-Control', $this->getCacheControlHeader()); - } - - /** - * Returns true if the Cache-Control directive is defined. - * - * @param string $key The Cache-Control directive - * - * @return bool true if the directive exists, false otherwise - */ - public function hasCacheControlDirective($key) - { - return \array_key_exists($key, $this->cacheControl); - } - - /** - * Returns a Cache-Control directive value by name. - * - * @param string $key The directive name - * - * @return mixed|null The directive value if defined, null otherwise - */ - public function getCacheControlDirective($key) - { - return \array_key_exists($key, $this->cacheControl) ? $this->cacheControl[$key] : null; - } - - /** - * Removes a Cache-Control directive. - * - * @param string $key The Cache-Control directive - */ - public function removeCacheControlDirective($key) - { - unset($this->cacheControl[$key]); - - $this->set('Cache-Control', $this->getCacheControlHeader()); - } - - /** - * Returns an iterator for headers. - * - * @return \ArrayIterator An \ArrayIterator instance - */ - public function getIterator() - { - return new \ArrayIterator($this->headers); - } - - /** - * Returns the number of headers. - * - * @return int The number of headers - */ - public function count() - { - return \count($this->headers); - } - - protected function getCacheControlHeader() - { - ksort($this->cacheControl); - - return HeaderUtils::toString($this->cacheControl, ','); - } - - /** - * Parses a Cache-Control HTTP header. - * - * @param string $header The value of the Cache-Control HTTP header - * - * @return array An array representing the attribute values - */ - protected function parseCacheControl($header) - { - $parts = HeaderUtils::split($header, ',='); - - return HeaderUtils::combine($parts); - } -} diff --git a/paragonik-backend/vendor/symfony/http-foundation/HeaderUtils.php b/paragonik-backend/vendor/symfony/http-foundation/HeaderUtils.php deleted file mode 100644 index 5866e3b..0000000 --- a/paragonik-backend/vendor/symfony/http-foundation/HeaderUtils.php +++ /dev/null @@ -1,224 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpFoundation; - -/** - * HTTP header utility functions. - * - * @author Christian Schmidt - */ -class HeaderUtils -{ - public const DISPOSITION_ATTACHMENT = 'attachment'; - public const DISPOSITION_INLINE = 'inline'; - - /** - * This class should not be instantiated. - */ - private function __construct() - { - } - - /** - * Splits an HTTP header by one or more separators. - * - * Example: - * - * HeaderUtils::split("da, en-gb;q=0.8", ",;") - * // => ['da'], ['en-gb', 'q=0.8']] - * - * @param string $separators List of characters to split on, ordered by - * precedence, e.g. ",", ";=", or ",;=" - * - * @return array Nested array with as many levels as there are characters in - * $separators - */ - public static function split(string $header, string $separators): array - { - $quotedSeparators = preg_quote($separators, '/'); - - preg_match_all(' - / - (?!\s) - (?: - # quoted-string - "(?:[^"\\\\]|\\\\.)*(?:"|\\\\|$) - | - # token - [^"'.$quotedSeparators.']+ - )+ - (?['.$quotedSeparators.']) - \s* - /x', trim($header), $matches, PREG_SET_ORDER); - - return self::groupParts($matches, $separators); - } - - /** - * Combines an array of arrays into one associative array. - * - * Each of the nested arrays should have one or two elements. The first - * value will be used as the keys in the associative array, and the second - * will be used as the values, or true if the nested array only contains one - * element. Array keys are lowercased. - * - * Example: - * - * HeaderUtils::combine([["foo", "abc"], ["bar"]]) - * // => ["foo" => "abc", "bar" => true] - */ - public static function combine(array $parts): array - { - $assoc = []; - foreach ($parts as $part) { - $name = strtolower($part[0]); - $value = $part[1] ?? true; - $assoc[$name] = $value; - } - - return $assoc; - } - - /** - * Joins an associative array into a string for use in an HTTP header. - * - * The key and value of each entry are joined with "=", and all entries - * are joined with the specified separator and an additional space (for - * readability). Values are quoted if necessary. - * - * Example: - * - * HeaderUtils::toString(["foo" => "abc", "bar" => true, "baz" => "a b c"], ",") - * // => 'foo=abc, bar, baz="a b c"' - */ - public static function toString(array $assoc, string $separator): string - { - $parts = []; - foreach ($assoc as $name => $value) { - if (true === $value) { - $parts[] = $name; - } else { - $parts[] = $name.'='.self::quote($value); - } - } - - return implode($separator.' ', $parts); - } - - /** - * Encodes a string as a quoted string, if necessary. - * - * If a string contains characters not allowed by the "token" construct in - * the HTTP specification, it is backslash-escaped and enclosed in quotes - * to match the "quoted-string" construct. - */ - public static function quote(string $s): string - { - if (preg_match('/^[a-z0-9!#$%&\'*.^_`|~-]+$/i', $s)) { - return $s; - } - - return '"'.addcslashes($s, '"\\"').'"'; - } - - /** - * Decodes a quoted string. - * - * If passed an unquoted string that matches the "token" construct (as - * defined in the HTTP specification), it is passed through verbatimly. - */ - public static function unquote(string $s): string - { - return preg_replace('/\\\\(.)|"/', '$1', $s); - } - - /** - * Generates a HTTP Content-Disposition field-value. - * - * @param string $disposition One of "inline" or "attachment" - * @param string $filename A unicode string - * @param string $filenameFallback A string containing only ASCII characters that - * is semantically equivalent to $filename. If the filename is already ASCII, - * it can be omitted, or just copied from $filename - * - * @return string A string suitable for use as a Content-Disposition field-value - * - * @throws \InvalidArgumentException - * - * @see RFC 6266 - */ - public static function makeDisposition(string $disposition, string $filename, string $filenameFallback = ''): string - { - if (!\in_array($disposition, [self::DISPOSITION_ATTACHMENT, self::DISPOSITION_INLINE])) { - throw new \InvalidArgumentException(sprintf('The disposition must be either "%s" or "%s".', self::DISPOSITION_ATTACHMENT, self::DISPOSITION_INLINE)); - } - - if ('' === $filenameFallback) { - $filenameFallback = $filename; - } - - // filenameFallback is not ASCII. - if (!preg_match('/^[\x20-\x7e]*$/', $filenameFallback)) { - throw new \InvalidArgumentException('The filename fallback must only contain ASCII characters.'); - } - - // percent characters aren't safe in fallback. - if (false !== strpos($filenameFallback, '%')) { - throw new \InvalidArgumentException('The filename fallback cannot contain the "%" character.'); - } - - // path separators aren't allowed in either. - if (false !== strpos($filename, '/') || false !== strpos($filename, '\\') || false !== strpos($filenameFallback, '/') || false !== strpos($filenameFallback, '\\')) { - throw new \InvalidArgumentException('The filename and the fallback cannot contain the "/" and "\\" characters.'); - } - - $params = ['filename' => $filenameFallback]; - if ($filename !== $filenameFallback) { - $params['filename*'] = "utf-8''".rawurlencode($filename); - } - - return $disposition.'; '.self::toString($params, ';'); - } - - private static function groupParts(array $matches, string $separators): array - { - $separator = $separators[0]; - $partSeparators = substr($separators, 1); - - $i = 0; - $partMatches = []; - foreach ($matches as $match) { - if (isset($match['separator']) && $match['separator'] === $separator) { - ++$i; - } else { - $partMatches[$i][] = $match; - } - } - - $parts = []; - if ($partSeparators) { - foreach ($partMatches as $matches) { - $parts[] = self::groupParts($matches, $partSeparators); - } - } else { - foreach ($partMatches as $matches) { - $parts[] = self::unquote($matches[0][0]); - } - } - - return $parts; - } -} diff --git a/paragonik-backend/vendor/symfony/http-foundation/IpUtils.php b/paragonik-backend/vendor/symfony/http-foundation/IpUtils.php deleted file mode 100644 index 72c53a4..0000000 --- a/paragonik-backend/vendor/symfony/http-foundation/IpUtils.php +++ /dev/null @@ -1,188 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpFoundation; - -/** - * Http utility functions. - * - * @author Fabien Potencier - */ -class IpUtils -{ - private static $checkedIps = []; - - /** - * This class should not be instantiated. - */ - private function __construct() - { - } - - /** - * Checks if an IPv4 or IPv6 address is contained in the list of given IPs or subnets. - * - * @param string $requestIp IP to check - * @param string|array $ips List of IPs or subnets (can be a string if only a single one) - * - * @return bool Whether the IP is valid - */ - public static function checkIp($requestIp, $ips) - { - if (!\is_array($ips)) { - $ips = [$ips]; - } - - $method = substr_count($requestIp, ':') > 1 ? 'checkIp6' : 'checkIp4'; - - foreach ($ips as $ip) { - if (self::$method($requestIp, $ip)) { - return true; - } - } - - return false; - } - - /** - * Compares two IPv4 addresses. - * In case a subnet is given, it checks if it contains the request IP. - * - * @param string $requestIp IPv4 address to check - * @param string $ip IPv4 address or subnet in CIDR notation - * - * @return bool Whether the request IP matches the IP, or whether the request IP is within the CIDR subnet - */ - public static function checkIp4($requestIp, $ip) - { - $cacheKey = $requestIp.'-'.$ip; - if (isset(self::$checkedIps[$cacheKey])) { - return self::$checkedIps[$cacheKey]; - } - - if (!filter_var($requestIp, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4)) { - return self::$checkedIps[$cacheKey] = false; - } - - if (false !== strpos($ip, '/')) { - list($address, $netmask) = explode('/', $ip, 2); - - if ('0' === $netmask) { - return self::$checkedIps[$cacheKey] = filter_var($address, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4); - } - - if ($netmask < 0 || $netmask > 32) { - return self::$checkedIps[$cacheKey] = false; - } - } else { - $address = $ip; - $netmask = 32; - } - - if (false === ip2long($address)) { - return self::$checkedIps[$cacheKey] = false; - } - - return self::$checkedIps[$cacheKey] = 0 === substr_compare(sprintf('%032b', ip2long($requestIp)), sprintf('%032b', ip2long($address)), 0, $netmask); - } - - /** - * Compares two IPv6 addresses. - * In case a subnet is given, it checks if it contains the request IP. - * - * @author David Soria Parra - * - * @see https://github.com/dsp/v6tools - * - * @param string $requestIp IPv6 address to check - * @param string $ip IPv6 address or subnet in CIDR notation - * - * @return bool Whether the IP is valid - * - * @throws \RuntimeException When IPV6 support is not enabled - */ - public static function checkIp6($requestIp, $ip) - { - $cacheKey = $requestIp.'-'.$ip; - if (isset(self::$checkedIps[$cacheKey])) { - return self::$checkedIps[$cacheKey]; - } - - if (!((\extension_loaded('sockets') && \defined('AF_INET6')) || @inet_pton('::1'))) { - throw new \RuntimeException('Unable to check Ipv6. Check that PHP was not compiled with option "disable-ipv6".'); - } - - if (false !== strpos($ip, '/')) { - list($address, $netmask) = explode('/', $ip, 2); - - if ('0' === $netmask) { - return (bool) unpack('n*', @inet_pton($address)); - } - - if ($netmask < 1 || $netmask > 128) { - return self::$checkedIps[$cacheKey] = false; - } - } else { - $address = $ip; - $netmask = 128; - } - - $bytesAddr = unpack('n*', @inet_pton($address)); - $bytesTest = unpack('n*', @inet_pton($requestIp)); - - if (!$bytesAddr || !$bytesTest) { - return self::$checkedIps[$cacheKey] = false; - } - - for ($i = 1, $ceil = ceil($netmask / 16); $i <= $ceil; ++$i) { - $left = $netmask - 16 * ($i - 1); - $left = ($left <= 16) ? $left : 16; - $mask = ~(0xffff >> $left) & 0xffff; - if (($bytesAddr[$i] & $mask) != ($bytesTest[$i] & $mask)) { - return self::$checkedIps[$cacheKey] = false; - } - } - - return self::$checkedIps[$cacheKey] = true; - } - - /** - * Anonymizes an IP/IPv6. - * - * Removes the last byte for v4 and the last 8 bytes for v6 IPs - */ - public static function anonymize(string $ip): string - { - $wrappedIPv6 = false; - if ('[' === substr($ip, 0, 1) && ']' === substr($ip, -1, 1)) { - $wrappedIPv6 = true; - $ip = substr($ip, 1, -1); - } - - $packedAddress = inet_pton($ip); - if (4 === \strlen($packedAddress)) { - $mask = '255.255.255.0'; - } elseif ($ip === inet_ntop($packedAddress & inet_pton('::ffff:ffff:ffff'))) { - $mask = '::ffff:ffff:ff00'; - } elseif ($ip === inet_ntop($packedAddress & inet_pton('::ffff:ffff'))) { - $mask = '::ffff:ff00'; - } else { - $mask = 'ffff:ffff:ffff:ffff:0000:0000:0000:0000'; - } - $ip = inet_ntop($packedAddress & inet_pton($mask)); - - if ($wrappedIPv6) { - $ip = '['.$ip.']'; - } - - return $ip; - } -} diff --git a/paragonik-backend/vendor/symfony/http-foundation/JsonResponse.php b/paragonik-backend/vendor/symfony/http-foundation/JsonResponse.php deleted file mode 100644 index 11a0beb..0000000 --- a/paragonik-backend/vendor/symfony/http-foundation/JsonResponse.php +++ /dev/null @@ -1,219 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpFoundation; - -/** - * Response represents an HTTP response in JSON format. - * - * Note that this class does not force the returned JSON content to be an - * object. It is however recommended that you do return an object as it - * protects yourself against XSSI and JSON-JavaScript Hijacking. - * - * @see https://github.com/OWASP/CheatSheetSeries/blob/master/cheatsheets/AJAX_Security_Cheat_Sheet.md#always-return-json-with-an-object-on-the-outside - * - * @author Igor Wiedler - */ -class JsonResponse extends Response -{ - protected $data; - protected $callback; - - // Encode <, >, ', &, and " characters in the JSON, making it also safe to be embedded into HTML. - // 15 === JSON_HEX_TAG | JSON_HEX_APOS | JSON_HEX_AMP | JSON_HEX_QUOT - const DEFAULT_ENCODING_OPTIONS = 15; - - protected $encodingOptions = self::DEFAULT_ENCODING_OPTIONS; - - /** - * @param mixed $data The response data - * @param int $status The response status code - * @param array $headers An array of response headers - * @param bool $json If the data is already a JSON string - */ - public function __construct($data = null, int $status = 200, array $headers = [], bool $json = false) - { - parent::__construct('', $status, $headers); - - if (null === $data) { - $data = new \ArrayObject(); - } - - $json ? $this->setJson($data) : $this->setData($data); - } - - /** - * Factory method for chainability. - * - * Example: - * - * return JsonResponse::create(['key' => 'value']) - * ->setSharedMaxAge(300); - * - * @param mixed $data The JSON response data - * @param int $status The response status code - * @param array $headers An array of response headers - * - * @return static - */ - public static function create($data = null, $status = 200, $headers = []) - { - return new static($data, $status, $headers); - } - - /** - * Factory method for chainability. - * - * Example: - * - * return JsonResponse::fromJsonString('{"key": "value"}') - * ->setSharedMaxAge(300); - * - * @param string|null $data The JSON response string - * @param int $status The response status code - * @param array $headers An array of response headers - * - * @return static - */ - public static function fromJsonString($data = null, $status = 200, $headers = []) - { - return new static($data, $status, $headers, true); - } - - /** - * Sets the JSONP callback. - * - * @param string|null $callback The JSONP callback or null to use none - * - * @return $this - * - * @throws \InvalidArgumentException When the callback name is not valid - */ - public function setCallback($callback = null) - { - if (null !== $callback) { - // partially taken from https://geekality.net/2011/08/03/valid-javascript-identifier/ - // partially taken from https://github.com/willdurand/JsonpCallbackValidator - // JsonpCallbackValidator is released under the MIT License. See https://github.com/willdurand/JsonpCallbackValidator/blob/v1.1.0/LICENSE for details. - // (c) William Durand - $pattern = '/^[$_\p{L}][$_\p{L}\p{Mn}\p{Mc}\p{Nd}\p{Pc}\x{200C}\x{200D}]*(?:\[(?:"(?:\\\.|[^"\\\])*"|\'(?:\\\.|[^\'\\\])*\'|\d+)\])*?$/u'; - $reserved = [ - 'break', 'do', 'instanceof', 'typeof', 'case', 'else', 'new', 'var', 'catch', 'finally', 'return', 'void', 'continue', 'for', 'switch', 'while', - 'debugger', 'function', 'this', 'with', 'default', 'if', 'throw', 'delete', 'in', 'try', 'class', 'enum', 'extends', 'super', 'const', 'export', - 'import', 'implements', 'let', 'private', 'public', 'yield', 'interface', 'package', 'protected', 'static', 'null', 'true', 'false', - ]; - $parts = explode('.', $callback); - foreach ($parts as $part) { - if (!preg_match($pattern, $part) || \in_array($part, $reserved, true)) { - throw new \InvalidArgumentException('The callback name is not valid.'); - } - } - } - - $this->callback = $callback; - - return $this->update(); - } - - /** - * Sets a raw string containing a JSON document to be sent. - * - * @param string $json - * - * @return $this - * - * @throws \InvalidArgumentException - */ - public function setJson($json) - { - $this->data = $json; - - return $this->update(); - } - - /** - * Sets the data to be sent as JSON. - * - * @param mixed $data - * - * @return $this - * - * @throws \InvalidArgumentException - */ - public function setData($data = []) - { - try { - $data = json_encode($data, $this->encodingOptions); - } catch (\Exception $e) { - if ('Exception' === \get_class($e) && 0 === strpos($e->getMessage(), 'Failed calling ')) { - throw $e->getPrevious() ?: $e; - } - throw $e; - } - - if (\PHP_VERSION_ID >= 70300 && (JSON_THROW_ON_ERROR & $this->encodingOptions)) { - return $this->setJson($data); - } - - if (JSON_ERROR_NONE !== json_last_error()) { - throw new \InvalidArgumentException(json_last_error_msg()); - } - - return $this->setJson($data); - } - - /** - * Returns options used while encoding data to JSON. - * - * @return int - */ - public function getEncodingOptions() - { - return $this->encodingOptions; - } - - /** - * Sets options used while encoding data to JSON. - * - * @param int $encodingOptions - * - * @return $this - */ - public function setEncodingOptions($encodingOptions) - { - $this->encodingOptions = (int) $encodingOptions; - - return $this->setData(json_decode($this->data)); - } - - /** - * Updates the content and headers according to the JSON data and callback. - * - * @return $this - */ - protected function update() - { - if (null !== $this->callback) { - // Not using application/javascript for compatibility reasons with older browsers. - $this->headers->set('Content-Type', 'text/javascript'); - - return $this->setContent(sprintf('/**/%s(%s);', $this->callback, $this->data)); - } - - // Only set the header when there is none or when it equals 'text/javascript' (from a previous update with callback) - // in order to not overwrite a custom definition. - if (!$this->headers->has('Content-Type') || 'text/javascript' === $this->headers->get('Content-Type')) { - $this->headers->set('Content-Type', 'application/json'); - } - - return $this->setContent($this->data); - } -} diff --git a/paragonik-backend/vendor/symfony/http-foundation/LICENSE b/paragonik-backend/vendor/symfony/http-foundation/LICENSE deleted file mode 100644 index a677f43..0000000 --- a/paragonik-backend/vendor/symfony/http-foundation/LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 2004-2019 Fabien Potencier - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is furnished -to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/paragonik-backend/vendor/symfony/http-foundation/ParameterBag.php b/paragonik-backend/vendor/symfony/http-foundation/ParameterBag.php deleted file mode 100644 index 20ca675..0000000 --- a/paragonik-backend/vendor/symfony/http-foundation/ParameterBag.php +++ /dev/null @@ -1,227 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpFoundation; - -/** - * ParameterBag is a container for key/value pairs. - * - * @author Fabien Potencier - */ -class ParameterBag implements \IteratorAggregate, \Countable -{ - /** - * Parameter storage. - */ - protected $parameters; - - public function __construct(array $parameters = []) - { - $this->parameters = $parameters; - } - - /** - * Returns the parameters. - * - * @return array An array of parameters - */ - public function all() - { - return $this->parameters; - } - - /** - * Returns the parameter keys. - * - * @return array An array of parameter keys - */ - public function keys() - { - return array_keys($this->parameters); - } - - /** - * Replaces the current parameters by a new set. - */ - public function replace(array $parameters = []) - { - $this->parameters = $parameters; - } - - /** - * Adds parameters. - */ - public function add(array $parameters = []) - { - $this->parameters = array_replace($this->parameters, $parameters); - } - - /** - * Returns a parameter by name. - * - * @param string $key The key - * @param mixed $default The default value if the parameter key does not exist - * - * @return mixed - */ - public function get($key, $default = null) - { - return \array_key_exists($key, $this->parameters) ? $this->parameters[$key] : $default; - } - - /** - * Sets a parameter by name. - * - * @param string $key The key - * @param mixed $value The value - */ - public function set($key, $value) - { - $this->parameters[$key] = $value; - } - - /** - * Returns true if the parameter is defined. - * - * @param string $key The key - * - * @return bool true if the parameter exists, false otherwise - */ - public function has($key) - { - return \array_key_exists($key, $this->parameters); - } - - /** - * Removes a parameter. - * - * @param string $key The key - */ - public function remove($key) - { - unset($this->parameters[$key]); - } - - /** - * Returns the alphabetic characters of the parameter value. - * - * @param string $key The parameter key - * @param string $default The default value if the parameter key does not exist - * - * @return string The filtered value - */ - public function getAlpha($key, $default = '') - { - return preg_replace('/[^[:alpha:]]/', '', $this->get($key, $default)); - } - - /** - * Returns the alphabetic characters and digits of the parameter value. - * - * @param string $key The parameter key - * @param string $default The default value if the parameter key does not exist - * - * @return string The filtered value - */ - public function getAlnum($key, $default = '') - { - return preg_replace('/[^[:alnum:]]/', '', $this->get($key, $default)); - } - - /** - * Returns the digits of the parameter value. - * - * @param string $key The parameter key - * @param string $default The default value if the parameter key does not exist - * - * @return string The filtered value - */ - public function getDigits($key, $default = '') - { - // we need to remove - and + because they're allowed in the filter - return str_replace(['-', '+'], '', $this->filter($key, $default, FILTER_SANITIZE_NUMBER_INT)); - } - - /** - * Returns the parameter value converted to integer. - * - * @param string $key The parameter key - * @param int $default The default value if the parameter key does not exist - * - * @return int The filtered value - */ - public function getInt($key, $default = 0) - { - return (int) $this->get($key, $default); - } - - /** - * Returns the parameter value converted to boolean. - * - * @param string $key The parameter key - * @param bool $default The default value if the parameter key does not exist - * - * @return bool The filtered value - */ - public function getBoolean($key, $default = false) - { - return $this->filter($key, $default, FILTER_VALIDATE_BOOLEAN); - } - - /** - * Filter key. - * - * @param string $key Key - * @param mixed $default Default = null - * @param int $filter FILTER_* constant - * @param mixed $options Filter options - * - * @see https://php.net/filter-var - * - * @return mixed - */ - public function filter($key, $default = null, $filter = FILTER_DEFAULT, $options = []) - { - $value = $this->get($key, $default); - - // Always turn $options into an array - this allows filter_var option shortcuts. - if (!\is_array($options) && $options) { - $options = ['flags' => $options]; - } - - // Add a convenience check for arrays. - if (\is_array($value) && !isset($options['flags'])) { - $options['flags'] = FILTER_REQUIRE_ARRAY; - } - - return filter_var($value, $filter, $options); - } - - /** - * Returns an iterator for parameters. - * - * @return \ArrayIterator An \ArrayIterator instance - */ - public function getIterator() - { - return new \ArrayIterator($this->parameters); - } - - /** - * Returns the number of parameters. - * - * @return int The number of parameters - */ - public function count() - { - return \count($this->parameters); - } -} diff --git a/paragonik-backend/vendor/symfony/http-foundation/README.md b/paragonik-backend/vendor/symfony/http-foundation/README.md deleted file mode 100644 index 8907f0b..0000000 --- a/paragonik-backend/vendor/symfony/http-foundation/README.md +++ /dev/null @@ -1,14 +0,0 @@ -HttpFoundation Component -======================== - -The HttpFoundation component defines an object-oriented layer for the HTTP -specification. - -Resources ---------- - - * [Documentation](https://symfony.com/doc/current/components/http_foundation/index.html) - * [Contributing](https://symfony.com/doc/current/contributing/index.html) - * [Report issues](https://github.com/symfony/symfony/issues) and - [send Pull Requests](https://github.com/symfony/symfony/pulls) - in the [main Symfony repository](https://github.com/symfony/symfony) diff --git a/paragonik-backend/vendor/symfony/http-foundation/RedirectResponse.php b/paragonik-backend/vendor/symfony/http-foundation/RedirectResponse.php deleted file mode 100644 index 687bc04..0000000 --- a/paragonik-backend/vendor/symfony/http-foundation/RedirectResponse.php +++ /dev/null @@ -1,114 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpFoundation; - -/** - * RedirectResponse represents an HTTP response doing a redirect. - * - * @author Fabien Potencier - */ -class RedirectResponse extends Response -{ - protected $targetUrl; - - /** - * Creates a redirect response so that it conforms to the rules defined for a redirect status code. - * - * @param string $url The URL to redirect to. The URL should be a full URL, with schema etc., - * but practically every browser redirects on paths only as well - * @param int $status The status code (302 by default) - * @param array $headers The headers (Location is always set to the given URL) - * - * @throws \InvalidArgumentException - * - * @see https://tools.ietf.org/html/rfc2616#section-10.3 - */ - public function __construct(?string $url, int $status = 302, array $headers = []) - { - if (null === $url) { - @trigger_error(sprintf('Passing a null url when instantiating a "%s" is deprecated since Symfony 4.4.', __CLASS__), E_USER_DEPRECATED); - $url = ''; - } - - parent::__construct('', $status, $headers); - - $this->setTargetUrl($url); - - if (!$this->isRedirect()) { - throw new \InvalidArgumentException(sprintf('The HTTP status code is not a redirect ("%s" given).', $status)); - } - - if (301 == $status && !\array_key_exists('cache-control', array_change_key_case($headers, \CASE_LOWER))) { - $this->headers->remove('cache-control'); - } - } - - /** - * Factory method for chainability. - * - * @param string $url The url to redirect to - * @param int $status The response status code - * @param array $headers An array of response headers - * - * @return static - */ - public static function create($url = '', $status = 302, $headers = []) - { - return new static($url, $status, $headers); - } - - /** - * Returns the target URL. - * - * @return string target URL - */ - public function getTargetUrl() - { - return $this->targetUrl; - } - - /** - * Sets the redirect target of this response. - * - * @param string $url The URL to redirect to - * - * @return $this - * - * @throws \InvalidArgumentException - */ - public function setTargetUrl($url) - { - if ('' === ($url ?? '')) { - throw new \InvalidArgumentException('Cannot redirect to an empty URL.'); - } - - $this->targetUrl = $url; - - $this->setContent( - sprintf(' - - - - - - Redirecting to %1$s - - - Redirecting to %1$s. - -', htmlspecialchars($url, ENT_QUOTES, 'UTF-8'))); - - $this->headers->set('Location', $url); - - return $this; - } -} diff --git a/paragonik-backend/vendor/symfony/http-foundation/Request.php b/paragonik-backend/vendor/symfony/http-foundation/Request.php deleted file mode 100644 index bb54091..0000000 --- a/paragonik-backend/vendor/symfony/http-foundation/Request.php +++ /dev/null @@ -1,2089 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpFoundation; - -use Symfony\Component\HttpFoundation\Exception\ConflictingHeadersException; -use Symfony\Component\HttpFoundation\Exception\SuspiciousOperationException; -use Symfony\Component\HttpFoundation\Session\SessionInterface; - -/** - * Request represents an HTTP request. - * - * The methods dealing with URL accept / return a raw path (% encoded): - * * getBasePath - * * getBaseUrl - * * getPathInfo - * * getRequestUri - * * getUri - * * getUriForPath - * - * @author Fabien Potencier - */ -class Request -{ - const HEADER_FORWARDED = 0b00001; // When using RFC 7239 - const HEADER_X_FORWARDED_FOR = 0b00010; - const HEADER_X_FORWARDED_HOST = 0b00100; - const HEADER_X_FORWARDED_PROTO = 0b01000; - const HEADER_X_FORWARDED_PORT = 0b10000; - const HEADER_X_FORWARDED_ALL = 0b11110; // All "X-Forwarded-*" headers - const HEADER_X_FORWARDED_AWS_ELB = 0b11010; // AWS ELB doesn't send X-Forwarded-Host - - const METHOD_HEAD = 'HEAD'; - const METHOD_GET = 'GET'; - const METHOD_POST = 'POST'; - const METHOD_PUT = 'PUT'; - const METHOD_PATCH = 'PATCH'; - const METHOD_DELETE = 'DELETE'; - const METHOD_PURGE = 'PURGE'; - const METHOD_OPTIONS = 'OPTIONS'; - const METHOD_TRACE = 'TRACE'; - const METHOD_CONNECT = 'CONNECT'; - - /** - * @var string[] - */ - protected static $trustedProxies = []; - - /** - * @var string[] - */ - protected static $trustedHostPatterns = []; - - /** - * @var string[] - */ - protected static $trustedHosts = []; - - protected static $httpMethodParameterOverride = false; - - /** - * Custom parameters. - * - * @var ParameterBag - */ - public $attributes; - - /** - * Request body parameters ($_POST). - * - * @var ParameterBag - */ - public $request; - - /** - * Query string parameters ($_GET). - * - * @var ParameterBag - */ - public $query; - - /** - * Server and execution environment parameters ($_SERVER). - * - * @var ServerBag - */ - public $server; - - /** - * Uploaded files ($_FILES). - * - * @var FileBag - */ - public $files; - - /** - * Cookies ($_COOKIE). - * - * @var ParameterBag - */ - public $cookies; - - /** - * Headers (taken from the $_SERVER). - * - * @var HeaderBag - */ - public $headers; - - /** - * @var string|resource|false|null - */ - protected $content; - - /** - * @var array - */ - protected $languages; - - /** - * @var array - */ - protected $charsets; - - /** - * @var array - */ - protected $encodings; - - /** - * @var array - */ - protected $acceptableContentTypes; - - /** - * @var string - */ - protected $pathInfo; - - /** - * @var string - */ - protected $requestUri; - - /** - * @var string - */ - protected $baseUrl; - - /** - * @var string - */ - protected $basePath; - - /** - * @var string - */ - protected $method; - - /** - * @var string - */ - protected $format; - - /** - * @var SessionInterface - */ - protected $session; - - /** - * @var string - */ - protected $locale; - - /** - * @var string - */ - protected $defaultLocale = 'en'; - - /** - * @var array - */ - protected static $formats; - - protected static $requestFactory; - - /** - * @var string|null - */ - private $preferredFormat; - private $isHostValid = true; - private $isForwardedValid = true; - - private static $trustedHeaderSet = -1; - - private static $forwardedParams = [ - self::HEADER_X_FORWARDED_FOR => 'for', - self::HEADER_X_FORWARDED_HOST => 'host', - self::HEADER_X_FORWARDED_PROTO => 'proto', - self::HEADER_X_FORWARDED_PORT => 'host', - ]; - - /** - * Names for headers that can be trusted when - * using trusted proxies. - * - * The FORWARDED header is the standard as of rfc7239. - * - * The other headers are non-standard, but widely used - * by popular reverse proxies (like Apache mod_proxy or Amazon EC2). - */ - private static $trustedHeaders = [ - self::HEADER_FORWARDED => 'FORWARDED', - self::HEADER_X_FORWARDED_FOR => 'X_FORWARDED_FOR', - self::HEADER_X_FORWARDED_HOST => 'X_FORWARDED_HOST', - self::HEADER_X_FORWARDED_PROTO => 'X_FORWARDED_PROTO', - self::HEADER_X_FORWARDED_PORT => 'X_FORWARDED_PORT', - ]; - - /** - * @param array $query The GET parameters - * @param array $request The POST parameters - * @param array $attributes The request attributes (parameters parsed from the PATH_INFO, ...) - * @param array $cookies The COOKIE parameters - * @param array $files The FILES parameters - * @param array $server The SERVER parameters - * @param string|resource|null $content The raw body data - */ - public function __construct(array $query = [], array $request = [], array $attributes = [], array $cookies = [], array $files = [], array $server = [], $content = null) - { - $this->initialize($query, $request, $attributes, $cookies, $files, $server, $content); - } - - /** - * Sets the parameters for this request. - * - * This method also re-initializes all properties. - * - * @param array $query The GET parameters - * @param array $request The POST parameters - * @param array $attributes The request attributes (parameters parsed from the PATH_INFO, ...) - * @param array $cookies The COOKIE parameters - * @param array $files The FILES parameters - * @param array $server The SERVER parameters - * @param string|resource|null $content The raw body data - */ - public function initialize(array $query = [], array $request = [], array $attributes = [], array $cookies = [], array $files = [], array $server = [], $content = null) - { - $this->request = new ParameterBag($request); - $this->query = new ParameterBag($query); - $this->attributes = new ParameterBag($attributes); - $this->cookies = new ParameterBag($cookies); - $this->files = new FileBag($files); - $this->server = new ServerBag($server); - $this->headers = new HeaderBag($this->server->getHeaders()); - - $this->content = $content; - $this->languages = null; - $this->charsets = null; - $this->encodings = null; - $this->acceptableContentTypes = null; - $this->pathInfo = null; - $this->requestUri = null; - $this->baseUrl = null; - $this->basePath = null; - $this->method = null; - $this->format = null; - } - - /** - * Creates a new request with values from PHP's super globals. - * - * @return static - */ - public static function createFromGlobals() - { - $request = self::createRequestFromFactory($_GET, $_POST, [], $_COOKIE, $_FILES, $_SERVER); - - if (0 === strpos($request->headers->get('CONTENT_TYPE'), 'application/x-www-form-urlencoded') - && \in_array(strtoupper($request->server->get('REQUEST_METHOD', 'GET')), ['PUT', 'DELETE', 'PATCH']) - ) { - parse_str($request->getContent(), $data); - $request->request = new ParameterBag($data); - } - - return $request; - } - - /** - * Creates a Request based on a given URI and configuration. - * - * The information contained in the URI always take precedence - * over the other information (server and parameters). - * - * @param string $uri The URI - * @param string $method The HTTP method - * @param array $parameters The query (GET) or request (POST) parameters - * @param array $cookies The request cookies ($_COOKIE) - * @param array $files The request files ($_FILES) - * @param array $server The server parameters ($_SERVER) - * @param string|resource|null $content The raw body data - * - * @return static - */ - public static function create($uri, $method = 'GET', $parameters = [], $cookies = [], $files = [], $server = [], $content = null) - { - $server = array_replace([ - 'SERVER_NAME' => 'localhost', - 'SERVER_PORT' => 80, - 'HTTP_HOST' => 'localhost', - 'HTTP_USER_AGENT' => 'Symfony', - 'HTTP_ACCEPT' => 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', - 'HTTP_ACCEPT_LANGUAGE' => 'en-us,en;q=0.5', - 'HTTP_ACCEPT_CHARSET' => 'ISO-8859-1,utf-8;q=0.7,*;q=0.7', - 'REMOTE_ADDR' => '127.0.0.1', - 'SCRIPT_NAME' => '', - 'SCRIPT_FILENAME' => '', - 'SERVER_PROTOCOL' => 'HTTP/1.1', - 'REQUEST_TIME' => time(), - ], $server); - - $server['PATH_INFO'] = ''; - $server['REQUEST_METHOD'] = strtoupper($method); - - $components = parse_url($uri); - if (isset($components['host'])) { - $server['SERVER_NAME'] = $components['host']; - $server['HTTP_HOST'] = $components['host']; - } - - if (isset($components['scheme'])) { - if ('https' === $components['scheme']) { - $server['HTTPS'] = 'on'; - $server['SERVER_PORT'] = 443; - } else { - unset($server['HTTPS']); - $server['SERVER_PORT'] = 80; - } - } - - if (isset($components['port'])) { - $server['SERVER_PORT'] = $components['port']; - $server['HTTP_HOST'] .= ':'.$components['port']; - } - - if (isset($components['user'])) { - $server['PHP_AUTH_USER'] = $components['user']; - } - - if (isset($components['pass'])) { - $server['PHP_AUTH_PW'] = $components['pass']; - } - - if (!isset($components['path'])) { - $components['path'] = '/'; - } - - switch (strtoupper($method)) { - case 'POST': - case 'PUT': - case 'DELETE': - if (!isset($server['CONTENT_TYPE'])) { - $server['CONTENT_TYPE'] = 'application/x-www-form-urlencoded'; - } - // no break - case 'PATCH': - $request = $parameters; - $query = []; - break; - default: - $request = []; - $query = $parameters; - break; - } - - $queryString = ''; - if (isset($components['query'])) { - parse_str(html_entity_decode($components['query']), $qs); - - if ($query) { - $query = array_replace($qs, $query); - $queryString = http_build_query($query, '', '&'); - } else { - $query = $qs; - $queryString = $components['query']; - } - } elseif ($query) { - $queryString = http_build_query($query, '', '&'); - } - - $server['REQUEST_URI'] = $components['path'].('' !== $queryString ? '?'.$queryString : ''); - $server['QUERY_STRING'] = $queryString; - - return self::createRequestFromFactory($query, $request, [], $cookies, $files, $server, $content); - } - - /** - * Sets a callable able to create a Request instance. - * - * This is mainly useful when you need to override the Request class - * to keep BC with an existing system. It should not be used for any - * other purpose. - * - * @param callable|null $callable A PHP callable - */ - public static function setFactory($callable) - { - self::$requestFactory = $callable; - } - - /** - * Clones a request and overrides some of its parameters. - * - * @param array $query The GET parameters - * @param array $request The POST parameters - * @param array $attributes The request attributes (parameters parsed from the PATH_INFO, ...) - * @param array $cookies The COOKIE parameters - * @param array $files The FILES parameters - * @param array $server The SERVER parameters - * - * @return static - */ - public function duplicate(array $query = null, array $request = null, array $attributes = null, array $cookies = null, array $files = null, array $server = null) - { - $dup = clone $this; - if (null !== $query) { - $dup->query = new ParameterBag($query); - } - if (null !== $request) { - $dup->request = new ParameterBag($request); - } - if (null !== $attributes) { - $dup->attributes = new ParameterBag($attributes); - } - if (null !== $cookies) { - $dup->cookies = new ParameterBag($cookies); - } - if (null !== $files) { - $dup->files = new FileBag($files); - } - if (null !== $server) { - $dup->server = new ServerBag($server); - $dup->headers = new HeaderBag($dup->server->getHeaders()); - } - $dup->languages = null; - $dup->charsets = null; - $dup->encodings = null; - $dup->acceptableContentTypes = null; - $dup->pathInfo = null; - $dup->requestUri = null; - $dup->baseUrl = null; - $dup->basePath = null; - $dup->method = null; - $dup->format = null; - - if (!$dup->get('_format') && $this->get('_format')) { - $dup->attributes->set('_format', $this->get('_format')); - } - - if (!$dup->getRequestFormat(null)) { - $dup->setRequestFormat($this->getRequestFormat(null)); - } - - return $dup; - } - - /** - * Clones the current request. - * - * Note that the session is not cloned as duplicated requests - * are most of the time sub-requests of the main one. - */ - public function __clone() - { - $this->query = clone $this->query; - $this->request = clone $this->request; - $this->attributes = clone $this->attributes; - $this->cookies = clone $this->cookies; - $this->files = clone $this->files; - $this->server = clone $this->server; - $this->headers = clone $this->headers; - } - - /** - * Returns the request as a string. - * - * @return string The request - */ - public function __toString() - { - try { - $content = $this->getContent(); - } catch (\LogicException $e) { - if (\PHP_VERSION_ID >= 70400) { - throw $e; - } - - return trigger_error($e, E_USER_ERROR); - } - - $cookieHeader = ''; - $cookies = []; - - foreach ($this->cookies as $k => $v) { - $cookies[] = $k.'='.$v; - } - - if (!empty($cookies)) { - $cookieHeader = 'Cookie: '.implode('; ', $cookies)."\r\n"; - } - - return - sprintf('%s %s %s', $this->getMethod(), $this->getRequestUri(), $this->server->get('SERVER_PROTOCOL'))."\r\n". - $this->headers. - $cookieHeader."\r\n". - $content; - } - - /** - * Overrides the PHP global variables according to this request instance. - * - * It overrides $_GET, $_POST, $_REQUEST, $_SERVER, $_COOKIE. - * $_FILES is never overridden, see rfc1867 - */ - public function overrideGlobals() - { - $this->server->set('QUERY_STRING', static::normalizeQueryString(http_build_query($this->query->all(), '', '&'))); - - $_GET = $this->query->all(); - $_POST = $this->request->all(); - $_SERVER = $this->server->all(); - $_COOKIE = $this->cookies->all(); - - foreach ($this->headers->all() as $key => $value) { - $key = strtoupper(str_replace('-', '_', $key)); - if (\in_array($key, ['CONTENT_TYPE', 'CONTENT_LENGTH', 'CONTENT_MD5'], true)) { - $_SERVER[$key] = implode(', ', $value); - } else { - $_SERVER['HTTP_'.$key] = implode(', ', $value); - } - } - - $request = ['g' => $_GET, 'p' => $_POST, 'c' => $_COOKIE]; - - $requestOrder = ini_get('request_order') ?: ini_get('variables_order'); - $requestOrder = preg_replace('#[^cgp]#', '', strtolower($requestOrder)) ?: 'gp'; - - $_REQUEST = [[]]; - - foreach (str_split($requestOrder) as $order) { - $_REQUEST[] = $request[$order]; - } - - $_REQUEST = array_merge(...$_REQUEST); - } - - /** - * Sets a list of trusted proxies. - * - * You should only list the reverse proxies that you manage directly. - * - * @param array $proxies A list of trusted proxies, the string 'REMOTE_ADDR' will be replaced with $_SERVER['REMOTE_ADDR'] - * @param int $trustedHeaderSet A bit field of Request::HEADER_*, to set which headers to trust from your proxies - * - * @throws \InvalidArgumentException When $trustedHeaderSet is invalid - */ - public static function setTrustedProxies(array $proxies, int $trustedHeaderSet) - { - self::$trustedProxies = array_reduce($proxies, function ($proxies, $proxy) { - if ('REMOTE_ADDR' !== $proxy) { - $proxies[] = $proxy; - } elseif (isset($_SERVER['REMOTE_ADDR'])) { - $proxies[] = $_SERVER['REMOTE_ADDR']; - } - - return $proxies; - }, []); - self::$trustedHeaderSet = $trustedHeaderSet; - } - - /** - * Gets the list of trusted proxies. - * - * @return array An array of trusted proxies - */ - public static function getTrustedProxies() - { - return self::$trustedProxies; - } - - /** - * Gets the set of trusted headers from trusted proxies. - * - * @return int A bit field of Request::HEADER_* that defines which headers are trusted from your proxies - */ - public static function getTrustedHeaderSet() - { - return self::$trustedHeaderSet; - } - - /** - * Sets a list of trusted host patterns. - * - * You should only list the hosts you manage using regexs. - * - * @param array $hostPatterns A list of trusted host patterns - */ - public static function setTrustedHosts(array $hostPatterns) - { - self::$trustedHostPatterns = array_map(function ($hostPattern) { - return sprintf('{%s}i', $hostPattern); - }, $hostPatterns); - // we need to reset trusted hosts on trusted host patterns change - self::$trustedHosts = []; - } - - /** - * Gets the list of trusted host patterns. - * - * @return array An array of trusted host patterns - */ - public static function getTrustedHosts() - { - return self::$trustedHostPatterns; - } - - /** - * Normalizes a query string. - * - * It builds a normalized query string, where keys/value pairs are alphabetized, - * have consistent escaping and unneeded delimiters are removed. - * - * @param string $qs Query string - * - * @return string A normalized query string for the Request - */ - public static function normalizeQueryString($qs) - { - if ('' === ($qs ?? '')) { - return ''; - } - - parse_str($qs, $qs); - ksort($qs); - - return http_build_query($qs, '', '&', PHP_QUERY_RFC3986); - } - - /** - * Enables support for the _method request parameter to determine the intended HTTP method. - * - * Be warned that enabling this feature might lead to CSRF issues in your code. - * Check that you are using CSRF tokens when required. - * If the HTTP method parameter override is enabled, an html-form with method "POST" can be altered - * and used to send a "PUT" or "DELETE" request via the _method request parameter. - * If these methods are not protected against CSRF, this presents a possible vulnerability. - * - * The HTTP method can only be overridden when the real HTTP method is POST. - */ - public static function enableHttpMethodParameterOverride() - { - self::$httpMethodParameterOverride = true; - } - - /** - * Checks whether support for the _method request parameter is enabled. - * - * @return bool True when the _method request parameter is enabled, false otherwise - */ - public static function getHttpMethodParameterOverride() - { - return self::$httpMethodParameterOverride; - } - - /** - * Gets a "parameter" value from any bag. - * - * This method is mainly useful for libraries that want to provide some flexibility. If you don't need the - * flexibility in controllers, it is better to explicitly get request parameters from the appropriate - * public property instead (attributes, query, request). - * - * Order of precedence: PATH (routing placeholders or custom attributes), GET, BODY - * - * @param string $key The key - * @param mixed $default The default value if the parameter key does not exist - * - * @return mixed - */ - public function get($key, $default = null) - { - if ($this !== $result = $this->attributes->get($key, $this)) { - return $result; - } - - if ($this !== $result = $this->query->get($key, $this)) { - return $result; - } - - if ($this !== $result = $this->request->get($key, $this)) { - return $result; - } - - return $default; - } - - /** - * Gets the Session. - * - * @return SessionInterface The session - */ - public function getSession() - { - $session = $this->session; - if (!$session instanceof SessionInterface && null !== $session) { - $this->setSession($session = $session()); - } - - if (null === $session) { - @trigger_error(sprintf('Calling "%s()" when no session has been set is deprecated since Symfony 4.1 and will throw an exception in 5.0. Use "hasSession()" instead.', __METHOD__), E_USER_DEPRECATED); - // throw new \BadMethodCallException('Session has not been set'); - } - - return $session; - } - - /** - * Whether the request contains a Session which was started in one of the - * previous requests. - * - * @return bool - */ - public function hasPreviousSession() - { - // the check for $this->session avoids malicious users trying to fake a session cookie with proper name - return $this->hasSession() && $this->cookies->has($this->getSession()->getName()); - } - - /** - * Whether the request contains a Session object. - * - * This method does not give any information about the state of the session object, - * like whether the session is started or not. It is just a way to check if this Request - * is associated with a Session instance. - * - * @return bool true when the Request contains a Session object, false otherwise - */ - public function hasSession() - { - return null !== $this->session; - } - - public function setSession(SessionInterface $session) - { - $this->session = $session; - } - - /** - * @internal - */ - public function setSessionFactory(callable $factory) - { - $this->session = $factory; - } - - /** - * Returns the client IP addresses. - * - * In the returned array the most trusted IP address is first, and the - * least trusted one last. The "real" client IP address is the last one, - * but this is also the least trusted one. Trusted proxies are stripped. - * - * Use this method carefully; you should use getClientIp() instead. - * - * @return array The client IP addresses - * - * @see getClientIp() - */ - public function getClientIps() - { - $ip = $this->server->get('REMOTE_ADDR'); - - if (!$this->isFromTrustedProxy()) { - return [$ip]; - } - - return $this->getTrustedValues(self::HEADER_X_FORWARDED_FOR, $ip) ?: [$ip]; - } - - /** - * Returns the client IP address. - * - * This method can read the client IP address from the "X-Forwarded-For" header - * when trusted proxies were set via "setTrustedProxies()". The "X-Forwarded-For" - * header value is a comma+space separated list of IP addresses, the left-most - * being the original client, and each successive proxy that passed the request - * adding the IP address where it received the request from. - * - * If your reverse proxy uses a different header name than "X-Forwarded-For", - * ("Client-Ip" for instance), configure it via the $trustedHeaderSet - * argument of the Request::setTrustedProxies() method instead. - * - * @return string|null The client IP address - * - * @see getClientIps() - * @see https://wikipedia.org/wiki/X-Forwarded-For - */ - public function getClientIp() - { - $ipAddresses = $this->getClientIps(); - - return $ipAddresses[0]; - } - - /** - * Returns current script name. - * - * @return string - */ - public function getScriptName() - { - return $this->server->get('SCRIPT_NAME', $this->server->get('ORIG_SCRIPT_NAME', '')); - } - - /** - * Returns the path being requested relative to the executed script. - * - * The path info always starts with a /. - * - * Suppose this request is instantiated from /mysite on localhost: - * - * * http://localhost/mysite returns an empty string - * * http://localhost/mysite/about returns '/about' - * * http://localhost/mysite/enco%20ded returns '/enco%20ded' - * * http://localhost/mysite/about?var=1 returns '/about' - * - * @return string The raw path (i.e. not urldecoded) - */ - public function getPathInfo() - { - if (null === $this->pathInfo) { - $this->pathInfo = $this->preparePathInfo(); - } - - return $this->pathInfo; - } - - /** - * Returns the root path from which this request is executed. - * - * Suppose that an index.php file instantiates this request object: - * - * * http://localhost/index.php returns an empty string - * * http://localhost/index.php/page returns an empty string - * * http://localhost/web/index.php returns '/web' - * * http://localhost/we%20b/index.php returns '/we%20b' - * - * @return string The raw path (i.e. not urldecoded) - */ - public function getBasePath() - { - if (null === $this->basePath) { - $this->basePath = $this->prepareBasePath(); - } - - return $this->basePath; - } - - /** - * Returns the root URL from which this request is executed. - * - * The base URL never ends with a /. - * - * This is similar to getBasePath(), except that it also includes the - * script filename (e.g. index.php) if one exists. - * - * @return string The raw URL (i.e. not urldecoded) - */ - public function getBaseUrl() - { - if (null === $this->baseUrl) { - $this->baseUrl = $this->prepareBaseUrl(); - } - - return $this->baseUrl; - } - - /** - * Gets the request's scheme. - * - * @return string - */ - public function getScheme() - { - return $this->isSecure() ? 'https' : 'http'; - } - - /** - * Returns the port on which the request is made. - * - * This method can read the client port from the "X-Forwarded-Port" header - * when trusted proxies were set via "setTrustedProxies()". - * - * The "X-Forwarded-Port" header must contain the client port. - * - * @return int|string can be a string if fetched from the server bag - */ - public function getPort() - { - if ($this->isFromTrustedProxy() && $host = $this->getTrustedValues(self::HEADER_X_FORWARDED_PORT)) { - $host = $host[0]; - } elseif ($this->isFromTrustedProxy() && $host = $this->getTrustedValues(self::HEADER_X_FORWARDED_HOST)) { - $host = $host[0]; - } elseif (!$host = $this->headers->get('HOST')) { - return $this->server->get('SERVER_PORT'); - } - - if ('[' === $host[0]) { - $pos = strpos($host, ':', strrpos($host, ']')); - } else { - $pos = strrpos($host, ':'); - } - - if (false !== $pos && $port = substr($host, $pos + 1)) { - return (int) $port; - } - - return 'https' === $this->getScheme() ? 443 : 80; - } - - /** - * Returns the user. - * - * @return string|null - */ - public function getUser() - { - return $this->headers->get('PHP_AUTH_USER'); - } - - /** - * Returns the password. - * - * @return string|null - */ - public function getPassword() - { - return $this->headers->get('PHP_AUTH_PW'); - } - - /** - * Gets the user info. - * - * @return string A user name and, optionally, scheme-specific information about how to gain authorization to access the server - */ - public function getUserInfo() - { - $userinfo = $this->getUser(); - - $pass = $this->getPassword(); - if ('' != $pass) { - $userinfo .= ":$pass"; - } - - return $userinfo; - } - - /** - * Returns the HTTP host being requested. - * - * The port name will be appended to the host if it's non-standard. - * - * @return string - */ - public function getHttpHost() - { - $scheme = $this->getScheme(); - $port = $this->getPort(); - - if (('http' == $scheme && 80 == $port) || ('https' == $scheme && 443 == $port)) { - return $this->getHost(); - } - - return $this->getHost().':'.$port; - } - - /** - * Returns the requested URI (path and query string). - * - * @return string The raw URI (i.e. not URI decoded) - */ - public function getRequestUri() - { - if (null === $this->requestUri) { - $this->requestUri = $this->prepareRequestUri(); - } - - return $this->requestUri; - } - - /** - * Gets the scheme and HTTP host. - * - * If the URL was called with basic authentication, the user - * and the password are not added to the generated string. - * - * @return string The scheme and HTTP host - */ - public function getSchemeAndHttpHost() - { - return $this->getScheme().'://'.$this->getHttpHost(); - } - - /** - * Generates a normalized URI (URL) for the Request. - * - * @return string A normalized URI (URL) for the Request - * - * @see getQueryString() - */ - public function getUri() - { - if (null !== $qs = $this->getQueryString()) { - $qs = '?'.$qs; - } - - return $this->getSchemeAndHttpHost().$this->getBaseUrl().$this->getPathInfo().$qs; - } - - /** - * Generates a normalized URI for the given path. - * - * @param string $path A path to use instead of the current one - * - * @return string The normalized URI for the path - */ - public function getUriForPath($path) - { - return $this->getSchemeAndHttpHost().$this->getBaseUrl().$path; - } - - /** - * Returns the path as relative reference from the current Request path. - * - * Only the URIs path component (no schema, host etc.) is relevant and must be given. - * Both paths must be absolute and not contain relative parts. - * Relative URLs from one resource to another are useful when generating self-contained downloadable document archives. - * Furthermore, they can be used to reduce the link size in documents. - * - * Example target paths, given a base path of "/a/b/c/d": - * - "/a/b/c/d" -> "" - * - "/a/b/c/" -> "./" - * - "/a/b/" -> "../" - * - "/a/b/c/other" -> "other" - * - "/a/x/y" -> "../../x/y" - * - * @param string $path The target path - * - * @return string The relative target path - */ - public function getRelativeUriForPath($path) - { - // be sure that we are dealing with an absolute path - if (!isset($path[0]) || '/' !== $path[0]) { - return $path; - } - - if ($path === $basePath = $this->getPathInfo()) { - return ''; - } - - $sourceDirs = explode('/', isset($basePath[0]) && '/' === $basePath[0] ? substr($basePath, 1) : $basePath); - $targetDirs = explode('/', substr($path, 1)); - array_pop($sourceDirs); - $targetFile = array_pop($targetDirs); - - foreach ($sourceDirs as $i => $dir) { - if (isset($targetDirs[$i]) && $dir === $targetDirs[$i]) { - unset($sourceDirs[$i], $targetDirs[$i]); - } else { - break; - } - } - - $targetDirs[] = $targetFile; - $path = str_repeat('../', \count($sourceDirs)).implode('/', $targetDirs); - - // A reference to the same base directory or an empty subdirectory must be prefixed with "./". - // This also applies to a segment with a colon character (e.g., "file:colon") that cannot be used - // as the first segment of a relative-path reference, as it would be mistaken for a scheme name - // (see https://tools.ietf.org/html/rfc3986#section-4.2). - return !isset($path[0]) || '/' === $path[0] - || false !== ($colonPos = strpos($path, ':')) && ($colonPos < ($slashPos = strpos($path, '/')) || false === $slashPos) - ? "./$path" : $path; - } - - /** - * Generates the normalized query string for the Request. - * - * It builds a normalized query string, where keys/value pairs are alphabetized - * and have consistent escaping. - * - * @return string|null A normalized query string for the Request - */ - public function getQueryString() - { - $qs = static::normalizeQueryString($this->server->get('QUERY_STRING')); - - return '' === $qs ? null : $qs; - } - - /** - * Checks whether the request is secure or not. - * - * This method can read the client protocol from the "X-Forwarded-Proto" header - * when trusted proxies were set via "setTrustedProxies()". - * - * The "X-Forwarded-Proto" header must contain the protocol: "https" or "http". - * - * @return bool - */ - public function isSecure() - { - if ($this->isFromTrustedProxy() && $proto = $this->getTrustedValues(self::HEADER_X_FORWARDED_PROTO)) { - return \in_array(strtolower($proto[0]), ['https', 'on', 'ssl', '1'], true); - } - - $https = $this->server->get('HTTPS'); - - return !empty($https) && 'off' !== strtolower($https); - } - - /** - * Returns the host name. - * - * This method can read the client host name from the "X-Forwarded-Host" header - * when trusted proxies were set via "setTrustedProxies()". - * - * The "X-Forwarded-Host" header must contain the client host name. - * - * @return string - * - * @throws SuspiciousOperationException when the host name is invalid or not trusted - */ - public function getHost() - { - if ($this->isFromTrustedProxy() && $host = $this->getTrustedValues(self::HEADER_X_FORWARDED_HOST)) { - $host = $host[0]; - } elseif (!$host = $this->headers->get('HOST')) { - if (!$host = $this->server->get('SERVER_NAME')) { - $host = $this->server->get('SERVER_ADDR', ''); - } - } - - // trim and remove port number from host - // host is lowercase as per RFC 952/2181 - $host = strtolower(preg_replace('/:\d+$/', '', trim($host))); - - // as the host can come from the user (HTTP_HOST and depending on the configuration, SERVER_NAME too can come from the user) - // check that it does not contain forbidden characters (see RFC 952 and RFC 2181) - // use preg_replace() instead of preg_match() to prevent DoS attacks with long host names - if ($host && '' !== preg_replace('/(?:^\[)?[a-zA-Z0-9-:\]_]+\.?/', '', $host)) { - if (!$this->isHostValid) { - return ''; - } - $this->isHostValid = false; - - throw new SuspiciousOperationException(sprintf('Invalid Host "%s".', $host)); - } - - if (\count(self::$trustedHostPatterns) > 0) { - // to avoid host header injection attacks, you should provide a list of trusted host patterns - - if (\in_array($host, self::$trustedHosts)) { - return $host; - } - - foreach (self::$trustedHostPatterns as $pattern) { - if (preg_match($pattern, $host)) { - self::$trustedHosts[] = $host; - - return $host; - } - } - - if (!$this->isHostValid) { - return ''; - } - $this->isHostValid = false; - - throw new SuspiciousOperationException(sprintf('Untrusted Host "%s".', $host)); - } - - return $host; - } - - /** - * Sets the request method. - * - * @param string $method - */ - public function setMethod($method) - { - $this->method = null; - $this->server->set('REQUEST_METHOD', $method); - } - - /** - * Gets the request "intended" method. - * - * If the X-HTTP-Method-Override header is set, and if the method is a POST, - * then it is used to determine the "real" intended HTTP method. - * - * The _method request parameter can also be used to determine the HTTP method, - * but only if enableHttpMethodParameterOverride() has been called. - * - * The method is always an uppercased string. - * - * @return string The request method - * - * @see getRealMethod() - */ - public function getMethod() - { - if (null !== $this->method) { - return $this->method; - } - - $this->method = strtoupper($this->server->get('REQUEST_METHOD', 'GET')); - - if ('POST' !== $this->method) { - return $this->method; - } - - $method = $this->headers->get('X-HTTP-METHOD-OVERRIDE'); - - if (!$method && self::$httpMethodParameterOverride) { - $method = $this->request->get('_method', $this->query->get('_method', 'POST')); - } - - if (!\is_string($method)) { - return $this->method; - } - - $method = strtoupper($method); - - if (\in_array($method, ['GET', 'HEAD', 'POST', 'PUT', 'DELETE', 'CONNECT', 'OPTIONS', 'PATCH', 'PURGE', 'TRACE'], true)) { - return $this->method = $method; - } - - if (!preg_match('/^[A-Z]++$/D', $method)) { - throw new SuspiciousOperationException(sprintf('Invalid method override "%s".', $method)); - } - - return $this->method = $method; - } - - /** - * Gets the "real" request method. - * - * @return string The request method - * - * @see getMethod() - */ - public function getRealMethod() - { - return strtoupper($this->server->get('REQUEST_METHOD', 'GET')); - } - - /** - * Gets the mime type associated with the format. - * - * @param string $format The format - * - * @return string|null The associated mime type (null if not found) - */ - public function getMimeType($format) - { - if (null === static::$formats) { - static::initializeFormats(); - } - - return isset(static::$formats[$format]) ? static::$formats[$format][0] : null; - } - - /** - * Gets the mime types associated with the format. - * - * @param string $format The format - * - * @return array The associated mime types - */ - public static function getMimeTypes($format) - { - if (null === static::$formats) { - static::initializeFormats(); - } - - return isset(static::$formats[$format]) ? static::$formats[$format] : []; - } - - /** - * Gets the format associated with the mime type. - * - * @param string $mimeType The associated mime type - * - * @return string|null The format (null if not found) - */ - public function getFormat($mimeType) - { - $canonicalMimeType = null; - if (false !== $pos = strpos($mimeType, ';')) { - $canonicalMimeType = trim(substr($mimeType, 0, $pos)); - } - - if (null === static::$formats) { - static::initializeFormats(); - } - - foreach (static::$formats as $format => $mimeTypes) { - if (\in_array($mimeType, (array) $mimeTypes)) { - return $format; - } - if (null !== $canonicalMimeType && \in_array($canonicalMimeType, (array) $mimeTypes)) { - return $format; - } - } - - return null; - } - - /** - * Associates a format with mime types. - * - * @param string $format The format - * @param string|array $mimeTypes The associated mime types (the preferred one must be the first as it will be used as the content type) - */ - public function setFormat($format, $mimeTypes) - { - if (null === static::$formats) { - static::initializeFormats(); - } - - static::$formats[$format] = \is_array($mimeTypes) ? $mimeTypes : [$mimeTypes]; - } - - /** - * Gets the request format. - * - * Here is the process to determine the format: - * - * * format defined by the user (with setRequestFormat()) - * * _format request attribute - * * $default - * - * @see getPreferredFormat - * - * @param string|null $default The default format - * - * @return string|null The request format - */ - public function getRequestFormat($default = 'html') - { - if (null === $this->format) { - $this->format = $this->attributes->get('_format'); - } - - return null === $this->format ? $default : $this->format; - } - - /** - * Sets the request format. - * - * @param string $format The request format - */ - public function setRequestFormat($format) - { - $this->format = $format; - } - - /** - * Gets the format associated with the request. - * - * @return string|null The format (null if no content type is present) - */ - public function getContentType() - { - return $this->getFormat($this->headers->get('CONTENT_TYPE')); - } - - /** - * Sets the default locale. - * - * @param string $locale - */ - public function setDefaultLocale($locale) - { - $this->defaultLocale = $locale; - - if (null === $this->locale) { - $this->setPhpDefaultLocale($locale); - } - } - - /** - * Get the default locale. - * - * @return string - */ - public function getDefaultLocale() - { - return $this->defaultLocale; - } - - /** - * Sets the locale. - * - * @param string $locale - */ - public function setLocale($locale) - { - $this->setPhpDefaultLocale($this->locale = $locale); - } - - /** - * Get the locale. - * - * @return string - */ - public function getLocale() - { - return null === $this->locale ? $this->defaultLocale : $this->locale; - } - - /** - * Checks if the request method is of specified type. - * - * @param string $method Uppercase request method (GET, POST etc) - * - * @return bool - */ - public function isMethod($method) - { - return $this->getMethod() === strtoupper($method); - } - - /** - * Checks whether or not the method is safe. - * - * @see https://tools.ietf.org/html/rfc7231#section-4.2.1 - * - * @return bool - */ - public function isMethodSafe() - { - if (\func_num_args() > 0) { - @trigger_error(sprintf('Passing arguments to "%s()" has been deprecated since Symfony 4.4; use "%s::isMethodCacheable()" to check if the method is cacheable instead.', __METHOD__, __CLASS__), E_USER_DEPRECATED); - } - - return \in_array($this->getMethod(), ['GET', 'HEAD', 'OPTIONS', 'TRACE']); - } - - /** - * Checks whether or not the method is idempotent. - * - * @return bool - */ - public function isMethodIdempotent() - { - return \in_array($this->getMethod(), ['HEAD', 'GET', 'PUT', 'DELETE', 'TRACE', 'OPTIONS', 'PURGE']); - } - - /** - * Checks whether the method is cacheable or not. - * - * @see https://tools.ietf.org/html/rfc7231#section-4.2.3 - * - * @return bool True for GET and HEAD, false otherwise - */ - public function isMethodCacheable() - { - return \in_array($this->getMethod(), ['GET', 'HEAD']); - } - - /** - * Returns the protocol version. - * - * If the application is behind a proxy, the protocol version used in the - * requests between the client and the proxy and between the proxy and the - * server might be different. This returns the former (from the "Via" header) - * if the proxy is trusted (see "setTrustedProxies()"), otherwise it returns - * the latter (from the "SERVER_PROTOCOL" server parameter). - * - * @return string - */ - public function getProtocolVersion() - { - if ($this->isFromTrustedProxy()) { - preg_match('~^(HTTP/)?([1-9]\.[0-9]) ~', $this->headers->get('Via'), $matches); - - if ($matches) { - return 'HTTP/'.$matches[2]; - } - } - - return $this->server->get('SERVER_PROTOCOL'); - } - - /** - * Returns the request body content. - * - * @param bool $asResource If true, a resource will be returned - * - * @return string|resource The request body content or a resource to read the body stream - * - * @throws \LogicException - */ - public function getContent($asResource = false) - { - $currentContentIsResource = \is_resource($this->content); - - if (true === $asResource) { - if ($currentContentIsResource) { - rewind($this->content); - - return $this->content; - } - - // Content passed in parameter (test) - if (\is_string($this->content)) { - $resource = fopen('php://temp', 'r+'); - fwrite($resource, $this->content); - rewind($resource); - - return $resource; - } - - $this->content = false; - - return fopen('php://input', 'rb'); - } - - if ($currentContentIsResource) { - rewind($this->content); - - return stream_get_contents($this->content); - } - - if (null === $this->content || false === $this->content) { - $this->content = file_get_contents('php://input'); - } - - return $this->content; - } - - /** - * Gets the Etags. - * - * @return array The entity tags - */ - public function getETags() - { - return preg_split('/\s*,\s*/', $this->headers->get('if_none_match'), null, PREG_SPLIT_NO_EMPTY); - } - - /** - * @return bool - */ - public function isNoCache() - { - return $this->headers->hasCacheControlDirective('no-cache') || 'no-cache' == $this->headers->get('Pragma'); - } - - /** - * Gets the preferred format for the response by inspecting, in the following order: - * * the request format set using setRequestFormat - * * the values of the Accept HTTP header - * * the content type of the body of the request. - */ - public function getPreferredFormat(?string $default = 'html'): ?string - { - if (null !== $this->preferredFormat) { - return $this->preferredFormat; - } - - $preferredFormat = null; - foreach ($this->getAcceptableContentTypes() as $contentType) { - if ($preferredFormat = $this->getFormat($contentType)) { - break; - } - } - - $this->preferredFormat = $this->getRequestFormat($preferredFormat ?: $this->getContentType()); - - return $this->preferredFormat ?: $default; - } - - /** - * Returns the preferred language. - * - * @param string[] $locales An array of ordered available locales - * - * @return string|null The preferred locale - */ - public function getPreferredLanguage(array $locales = null) - { - $preferredLanguages = $this->getLanguages(); - - if (empty($locales)) { - return isset($preferredLanguages[0]) ? $preferredLanguages[0] : null; - } - - if (!$preferredLanguages) { - return $locales[0]; - } - - $extendedPreferredLanguages = []; - foreach ($preferredLanguages as $language) { - $extendedPreferredLanguages[] = $language; - if (false !== $position = strpos($language, '_')) { - $superLanguage = substr($language, 0, $position); - if (!\in_array($superLanguage, $preferredLanguages)) { - $extendedPreferredLanguages[] = $superLanguage; - } - } - } - - $preferredLanguages = array_values(array_intersect($extendedPreferredLanguages, $locales)); - - return isset($preferredLanguages[0]) ? $preferredLanguages[0] : $locales[0]; - } - - /** - * Gets a list of languages acceptable by the client browser. - * - * @return array Languages ordered in the user browser preferences - */ - public function getLanguages() - { - if (null !== $this->languages) { - return $this->languages; - } - - $languages = AcceptHeader::fromString($this->headers->get('Accept-Language'))->all(); - $this->languages = []; - foreach ($languages as $lang => $acceptHeaderItem) { - if (false !== strpos($lang, '-')) { - $codes = explode('-', $lang); - if ('i' === $codes[0]) { - // Language not listed in ISO 639 that are not variants - // of any listed language, which can be registered with the - // i-prefix, such as i-cherokee - if (\count($codes) > 1) { - $lang = $codes[1]; - } - } else { - for ($i = 0, $max = \count($codes); $i < $max; ++$i) { - if (0 === $i) { - $lang = strtolower($codes[0]); - } else { - $lang .= '_'.strtoupper($codes[$i]); - } - } - } - } - - $this->languages[] = $lang; - } - - return $this->languages; - } - - /** - * Gets a list of charsets acceptable by the client browser. - * - * @return array List of charsets in preferable order - */ - public function getCharsets() - { - if (null !== $this->charsets) { - return $this->charsets; - } - - return $this->charsets = array_keys(AcceptHeader::fromString($this->headers->get('Accept-Charset'))->all()); - } - - /** - * Gets a list of encodings acceptable by the client browser. - * - * @return array List of encodings in preferable order - */ - public function getEncodings() - { - if (null !== $this->encodings) { - return $this->encodings; - } - - return $this->encodings = array_keys(AcceptHeader::fromString($this->headers->get('Accept-Encoding'))->all()); - } - - /** - * Gets a list of content types acceptable by the client browser. - * - * @return array List of content types in preferable order - */ - public function getAcceptableContentTypes() - { - if (null !== $this->acceptableContentTypes) { - return $this->acceptableContentTypes; - } - - return $this->acceptableContentTypes = array_keys(AcceptHeader::fromString($this->headers->get('Accept'))->all()); - } - - /** - * Returns true if the request is a XMLHttpRequest. - * - * It works if your JavaScript library sets an X-Requested-With HTTP header. - * It is known to work with common JavaScript frameworks: - * - * @see https://wikipedia.org/wiki/List_of_Ajax_frameworks#JavaScript - * - * @return bool true if the request is an XMLHttpRequest, false otherwise - */ - public function isXmlHttpRequest() - { - return 'XMLHttpRequest' == $this->headers->get('X-Requested-With'); - } - - /* - * The following methods are derived from code of the Zend Framework (1.10dev - 2010-01-24) - * - * Code subject to the new BSD license (https://framework.zend.com/license). - * - * Copyright (c) 2005-2010 Zend Technologies USA Inc. (https://www.zend.com/) - */ - - protected function prepareRequestUri() - { - $requestUri = ''; - - if ('1' == $this->server->get('IIS_WasUrlRewritten') && '' != $this->server->get('UNENCODED_URL')) { - // IIS7 with URL Rewrite: make sure we get the unencoded URL (double slash problem) - $requestUri = $this->server->get('UNENCODED_URL'); - $this->server->remove('UNENCODED_URL'); - $this->server->remove('IIS_WasUrlRewritten'); - } elseif ($this->server->has('REQUEST_URI')) { - $requestUri = $this->server->get('REQUEST_URI'); - - if ('' !== $requestUri && '/' === $requestUri[0]) { - // To only use path and query remove the fragment. - if (false !== $pos = strpos($requestUri, '#')) { - $requestUri = substr($requestUri, 0, $pos); - } - } else { - // HTTP proxy reqs setup request URI with scheme and host [and port] + the URL path, - // only use URL path. - $uriComponents = parse_url($requestUri); - - if (isset($uriComponents['path'])) { - $requestUri = $uriComponents['path']; - } - - if (isset($uriComponents['query'])) { - $requestUri .= '?'.$uriComponents['query']; - } - } - } elseif ($this->server->has('ORIG_PATH_INFO')) { - // IIS 5.0, PHP as CGI - $requestUri = $this->server->get('ORIG_PATH_INFO'); - if ('' != $this->server->get('QUERY_STRING')) { - $requestUri .= '?'.$this->server->get('QUERY_STRING'); - } - $this->server->remove('ORIG_PATH_INFO'); - } - - // normalize the request URI to ease creating sub-requests from this request - $this->server->set('REQUEST_URI', $requestUri); - - return $requestUri; - } - - /** - * Prepares the base URL. - * - * @return string - */ - protected function prepareBaseUrl() - { - $filename = basename($this->server->get('SCRIPT_FILENAME')); - - if (basename($this->server->get('SCRIPT_NAME')) === $filename) { - $baseUrl = $this->server->get('SCRIPT_NAME'); - } elseif (basename($this->server->get('PHP_SELF')) === $filename) { - $baseUrl = $this->server->get('PHP_SELF'); - } elseif (basename($this->server->get('ORIG_SCRIPT_NAME')) === $filename) { - $baseUrl = $this->server->get('ORIG_SCRIPT_NAME'); // 1and1 shared hosting compatibility - } else { - // Backtrack up the script_filename to find the portion matching - // php_self - $path = $this->server->get('PHP_SELF', ''); - $file = $this->server->get('SCRIPT_FILENAME', ''); - $segs = explode('/', trim($file, '/')); - $segs = array_reverse($segs); - $index = 0; - $last = \count($segs); - $baseUrl = ''; - do { - $seg = $segs[$index]; - $baseUrl = '/'.$seg.$baseUrl; - ++$index; - } while ($last > $index && (false !== $pos = strpos($path, $baseUrl)) && 0 != $pos); - } - - // Does the baseUrl have anything in common with the request_uri? - $requestUri = $this->getRequestUri(); - if ('' !== $requestUri && '/' !== $requestUri[0]) { - $requestUri = '/'.$requestUri; - } - - if ($baseUrl && null !== $prefix = $this->getUrlencodedPrefix($requestUri, $baseUrl)) { - // full $baseUrl matches - return $prefix; - } - - if ($baseUrl && null !== $prefix = $this->getUrlencodedPrefix($requestUri, rtrim(\dirname($baseUrl), '/'.\DIRECTORY_SEPARATOR).'/')) { - // directory portion of $baseUrl matches - return rtrim($prefix, '/'.\DIRECTORY_SEPARATOR); - } - - $truncatedRequestUri = $requestUri; - if (false !== $pos = strpos($requestUri, '?')) { - $truncatedRequestUri = substr($requestUri, 0, $pos); - } - - $basename = basename($baseUrl); - if (empty($basename) || !strpos(rawurldecode($truncatedRequestUri), $basename)) { - // no match whatsoever; set it blank - return ''; - } - - // If using mod_rewrite or ISAPI_Rewrite strip the script filename - // out of baseUrl. $pos !== 0 makes sure it is not matching a value - // from PATH_INFO or QUERY_STRING - if (\strlen($requestUri) >= \strlen($baseUrl) && (false !== $pos = strpos($requestUri, $baseUrl)) && 0 !== $pos) { - $baseUrl = substr($requestUri, 0, $pos + \strlen($baseUrl)); - } - - return rtrim($baseUrl, '/'.\DIRECTORY_SEPARATOR); - } - - /** - * Prepares the base path. - * - * @return string base path - */ - protected function prepareBasePath() - { - $baseUrl = $this->getBaseUrl(); - if (empty($baseUrl)) { - return ''; - } - - $filename = basename($this->server->get('SCRIPT_FILENAME')); - if (basename($baseUrl) === $filename) { - $basePath = \dirname($baseUrl); - } else { - $basePath = $baseUrl; - } - - if ('\\' === \DIRECTORY_SEPARATOR) { - $basePath = str_replace('\\', '/', $basePath); - } - - return rtrim($basePath, '/'); - } - - /** - * Prepares the path info. - * - * @return string path info - */ - protected function preparePathInfo() - { - if (null === ($requestUri = $this->getRequestUri())) { - return '/'; - } - - // Remove the query string from REQUEST_URI - if (false !== $pos = strpos($requestUri, '?')) { - $requestUri = substr($requestUri, 0, $pos); - } - if ('' !== $requestUri && '/' !== $requestUri[0]) { - $requestUri = '/'.$requestUri; - } - - if (null === ($baseUrl = $this->getBaseUrl())) { - return $requestUri; - } - - $pathInfo = substr($requestUri, \strlen($baseUrl)); - if (false === $pathInfo || '' === $pathInfo) { - // If substr() returns false then PATH_INFO is set to an empty string - return '/'; - } - - return (string) $pathInfo; - } - - /** - * Initializes HTTP request formats. - */ - protected static function initializeFormats() - { - static::$formats = [ - 'html' => ['text/html', 'application/xhtml+xml'], - 'txt' => ['text/plain'], - 'js' => ['application/javascript', 'application/x-javascript', 'text/javascript'], - 'css' => ['text/css'], - 'json' => ['application/json', 'application/x-json'], - 'jsonld' => ['application/ld+json'], - 'xml' => ['text/xml', 'application/xml', 'application/x-xml'], - 'rdf' => ['application/rdf+xml'], - 'atom' => ['application/atom+xml'], - 'rss' => ['application/rss+xml'], - 'form' => ['application/x-www-form-urlencoded'], - ]; - } - - private function setPhpDefaultLocale(string $locale): void - { - // if either the class Locale doesn't exist, or an exception is thrown when - // setting the default locale, the intl module is not installed, and - // the call can be ignored: - try { - if (class_exists('Locale', false)) { - \Locale::setDefault($locale); - } - } catch (\Exception $e) { - } - } - - /** - * Returns the prefix as encoded in the string when the string starts with - * the given prefix, null otherwise. - */ - private function getUrlencodedPrefix(string $string, string $prefix): ?string - { - if (0 !== strpos(rawurldecode($string), $prefix)) { - return null; - } - - $len = \strlen($prefix); - - if (preg_match(sprintf('#^(%%[[:xdigit:]]{2}|.){%d}#', $len), $string, $match)) { - return $match[0]; - } - - return null; - } - - private static function createRequestFromFactory(array $query = [], array $request = [], array $attributes = [], array $cookies = [], array $files = [], array $server = [], $content = null): self - { - if (self::$requestFactory) { - $request = (self::$requestFactory)($query, $request, $attributes, $cookies, $files, $server, $content); - - if (!$request instanceof self) { - throw new \LogicException('The Request factory must return an instance of Symfony\Component\HttpFoundation\Request.'); - } - - return $request; - } - - return new static($query, $request, $attributes, $cookies, $files, $server, $content); - } - - /** - * Indicates whether this request originated from a trusted proxy. - * - * This can be useful to determine whether or not to trust the - * contents of a proxy-specific header. - * - * @return bool true if the request came from a trusted proxy, false otherwise - */ - public function isFromTrustedProxy() - { - return self::$trustedProxies && IpUtils::checkIp($this->server->get('REMOTE_ADDR'), self::$trustedProxies); - } - - private function getTrustedValues(int $type, string $ip = null): array - { - $clientValues = []; - $forwardedValues = []; - - if ((self::$trustedHeaderSet & $type) && $this->headers->has(self::$trustedHeaders[$type])) { - foreach (explode(',', $this->headers->get(self::$trustedHeaders[$type])) as $v) { - $clientValues[] = (self::HEADER_X_FORWARDED_PORT === $type ? '0.0.0.0:' : '').trim($v); - } - } - - if ((self::$trustedHeaderSet & self::HEADER_FORWARDED) && $this->headers->has(self::$trustedHeaders[self::HEADER_FORWARDED])) { - $forwarded = $this->headers->get(self::$trustedHeaders[self::HEADER_FORWARDED]); - $parts = HeaderUtils::split($forwarded, ',;='); - $forwardedValues = []; - $param = self::$forwardedParams[$type]; - foreach ($parts as $subParts) { - if (null === $v = HeaderUtils::combine($subParts)[$param] ?? null) { - continue; - } - if (self::HEADER_X_FORWARDED_PORT === $type) { - if (']' === substr($v, -1) || false === $v = strrchr($v, ':')) { - $v = $this->isSecure() ? ':443' : ':80'; - } - $v = '0.0.0.0'.$v; - } - $forwardedValues[] = $v; - } - } - - if (null !== $ip) { - $clientValues = $this->normalizeAndFilterClientIps($clientValues, $ip); - $forwardedValues = $this->normalizeAndFilterClientIps($forwardedValues, $ip); - } - - if ($forwardedValues === $clientValues || !$clientValues) { - return $forwardedValues; - } - - if (!$forwardedValues) { - return $clientValues; - } - - if (!$this->isForwardedValid) { - return null !== $ip ? ['0.0.0.0', $ip] : []; - } - $this->isForwardedValid = false; - - throw new ConflictingHeadersException(sprintf('The request has both a trusted "%s" header and a trusted "%s" header, conflicting with each other. You should either configure your proxy to remove one of them, or configure your project to distrust the offending one.', self::$trustedHeaders[self::HEADER_FORWARDED], self::$trustedHeaders[$type])); - } - - private function normalizeAndFilterClientIps(array $clientIps, string $ip): array - { - if (!$clientIps) { - return []; - } - $clientIps[] = $ip; // Complete the IP chain with the IP the request actually came from - $firstTrustedIp = null; - - foreach ($clientIps as $key => $clientIp) { - if (strpos($clientIp, '.')) { - // Strip :port from IPv4 addresses. This is allowed in Forwarded - // and may occur in X-Forwarded-For. - $i = strpos($clientIp, ':'); - if ($i) { - $clientIps[$key] = $clientIp = substr($clientIp, 0, $i); - } - } elseif (0 === strpos($clientIp, '[')) { - // Strip brackets and :port from IPv6 addresses. - $i = strpos($clientIp, ']', 1); - $clientIps[$key] = $clientIp = substr($clientIp, 1, $i - 1); - } - - if (!filter_var($clientIp, FILTER_VALIDATE_IP)) { - unset($clientIps[$key]); - - continue; - } - - if (IpUtils::checkIp($clientIp, self::$trustedProxies)) { - unset($clientIps[$key]); - - // Fallback to this when the client IP falls into the range of trusted proxies - if (null === $firstTrustedIp) { - $firstTrustedIp = $clientIp; - } - } - } - - // Now the IP chain contains only untrusted proxies and the client IP - return $clientIps ? array_reverse($clientIps) : [$firstTrustedIp]; - } -} diff --git a/paragonik-backend/vendor/symfony/http-foundation/RequestMatcher.php b/paragonik-backend/vendor/symfony/http-foundation/RequestMatcher.php deleted file mode 100644 index 9a4a2a1..0000000 --- a/paragonik-backend/vendor/symfony/http-foundation/RequestMatcher.php +++ /dev/null @@ -1,195 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpFoundation; - -/** - * RequestMatcher compares a pre-defined set of checks against a Request instance. - * - * @author Fabien Potencier - */ -class RequestMatcher implements RequestMatcherInterface -{ - /** - * @var string|null - */ - private $path; - - /** - * @var string|null - */ - private $host; - - /** - * @var int|null - */ - private $port; - - /** - * @var string[] - */ - private $methods = []; - - /** - * @var string[] - */ - private $ips = []; - - /** - * @var array - */ - private $attributes = []; - - /** - * @var string[] - */ - private $schemes = []; - - /** - * @param string|string[]|null $methods - * @param string|string[]|null $ips - * @param string|string[]|null $schemes - */ - public function __construct(string $path = null, string $host = null, $methods = null, $ips = null, array $attributes = [], $schemes = null, int $port = null) - { - $this->matchPath($path); - $this->matchHost($host); - $this->matchMethod($methods); - $this->matchIps($ips); - $this->matchScheme($schemes); - $this->matchPort($port); - - foreach ($attributes as $k => $v) { - $this->matchAttribute($k, $v); - } - } - - /** - * Adds a check for the HTTP scheme. - * - * @param string|string[]|null $scheme An HTTP scheme or an array of HTTP schemes - */ - public function matchScheme($scheme) - { - $this->schemes = null !== $scheme ? array_map('strtolower', (array) $scheme) : []; - } - - /** - * Adds a check for the URL host name. - * - * @param string|null $regexp A Regexp - */ - public function matchHost($regexp) - { - $this->host = $regexp; - } - - /** - * Adds a check for the the URL port. - * - * @param int|null $port The port number to connect to - */ - public function matchPort(?int $port) - { - $this->port = $port; - } - - /** - * Adds a check for the URL path info. - * - * @param string|null $regexp A Regexp - */ - public function matchPath($regexp) - { - $this->path = $regexp; - } - - /** - * Adds a check for the client IP. - * - * @param string $ip A specific IP address or a range specified using IP/netmask like 192.168.1.0/24 - */ - public function matchIp($ip) - { - $this->matchIps($ip); - } - - /** - * Adds a check for the client IP. - * - * @param string|string[]|null $ips A specific IP address or a range specified using IP/netmask like 192.168.1.0/24 - */ - public function matchIps($ips) - { - $this->ips = null !== $ips ? (array) $ips : []; - } - - /** - * Adds a check for the HTTP method. - * - * @param string|string[]|null $method An HTTP method or an array of HTTP methods - */ - public function matchMethod($method) - { - $this->methods = null !== $method ? array_map('strtoupper', (array) $method) : []; - } - - /** - * Adds a check for request attribute. - * - * @param string $key The request attribute name - * @param string $regexp A Regexp - */ - public function matchAttribute($key, $regexp) - { - $this->attributes[$key] = $regexp; - } - - /** - * {@inheritdoc} - */ - public function matches(Request $request) - { - if ($this->schemes && !\in_array($request->getScheme(), $this->schemes, true)) { - return false; - } - - if ($this->methods && !\in_array($request->getMethod(), $this->methods, true)) { - return false; - } - - foreach ($this->attributes as $key => $pattern) { - if (!preg_match('{'.$pattern.'}', $request->attributes->get($key))) { - return false; - } - } - - if (null !== $this->path && !preg_match('{'.$this->path.'}', rawurldecode($request->getPathInfo()))) { - return false; - } - - if (null !== $this->host && !preg_match('{'.$this->host.'}i', $request->getHost())) { - return false; - } - - if (null !== $this->port && 0 < $this->port && $request->getPort() !== $this->port) { - return false; - } - - if (IpUtils::checkIp($request->getClientIp(), $this->ips)) { - return true; - } - - // Note to future implementors: add additional checks above the - // foreach above or else your check might not be run! - return 0 === \count($this->ips); - } -} diff --git a/paragonik-backend/vendor/symfony/http-foundation/RequestMatcherInterface.php b/paragonik-backend/vendor/symfony/http-foundation/RequestMatcherInterface.php deleted file mode 100644 index c26db3e..0000000 --- a/paragonik-backend/vendor/symfony/http-foundation/RequestMatcherInterface.php +++ /dev/null @@ -1,27 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpFoundation; - -/** - * RequestMatcherInterface is an interface for strategies to match a Request. - * - * @author Fabien Potencier - */ -interface RequestMatcherInterface -{ - /** - * Decides whether the rule(s) implemented by the strategy matches the supplied request. - * - * @return bool true if the request matches, false otherwise - */ - public function matches(Request $request); -} diff --git a/paragonik-backend/vendor/symfony/http-foundation/RequestStack.php b/paragonik-backend/vendor/symfony/http-foundation/RequestStack.php deleted file mode 100644 index 244a77d..0000000 --- a/paragonik-backend/vendor/symfony/http-foundation/RequestStack.php +++ /dev/null @@ -1,103 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpFoundation; - -/** - * Request stack that controls the lifecycle of requests. - * - * @author Benjamin Eberlei - */ -class RequestStack -{ - /** - * @var Request[] - */ - private $requests = []; - - /** - * Pushes a Request on the stack. - * - * This method should generally not be called directly as the stack - * management should be taken care of by the application itself. - */ - public function push(Request $request) - { - $this->requests[] = $request; - } - - /** - * Pops the current request from the stack. - * - * This operation lets the current request go out of scope. - * - * This method should generally not be called directly as the stack - * management should be taken care of by the application itself. - * - * @return Request|null - */ - public function pop() - { - if (!$this->requests) { - return null; - } - - return array_pop($this->requests); - } - - /** - * @return Request|null - */ - public function getCurrentRequest() - { - return end($this->requests) ?: null; - } - - /** - * Gets the master Request. - * - * Be warned that making your code aware of the master request - * might make it un-compatible with other features of your framework - * like ESI support. - * - * @return Request|null - */ - public function getMasterRequest() - { - if (!$this->requests) { - return null; - } - - return $this->requests[0]; - } - - /** - * Returns the parent request of the current. - * - * Be warned that making your code aware of the parent request - * might make it un-compatible with other features of your framework - * like ESI support. - * - * If current Request is the master request, it returns null. - * - * @return Request|null - */ - public function getParentRequest() - { - $pos = \count($this->requests) - 2; - - if (!isset($this->requests[$pos])) { - return null; - } - - return $this->requests[$pos]; - } -} diff --git a/paragonik-backend/vendor/symfony/http-foundation/Response.php b/paragonik-backend/vendor/symfony/http-foundation/Response.php deleted file mode 100644 index c1a2e14..0000000 --- a/paragonik-backend/vendor/symfony/http-foundation/Response.php +++ /dev/null @@ -1,1241 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpFoundation; - -/** - * Response represents an HTTP response. - * - * @author Fabien Potencier - */ -class Response -{ - const HTTP_CONTINUE = 100; - const HTTP_SWITCHING_PROTOCOLS = 101; - const HTTP_PROCESSING = 102; // RFC2518 - const HTTP_EARLY_HINTS = 103; // RFC8297 - const HTTP_OK = 200; - const HTTP_CREATED = 201; - const HTTP_ACCEPTED = 202; - const HTTP_NON_AUTHORITATIVE_INFORMATION = 203; - const HTTP_NO_CONTENT = 204; - const HTTP_RESET_CONTENT = 205; - const HTTP_PARTIAL_CONTENT = 206; - const HTTP_MULTI_STATUS = 207; // RFC4918 - const HTTP_ALREADY_REPORTED = 208; // RFC5842 - const HTTP_IM_USED = 226; // RFC3229 - const HTTP_MULTIPLE_CHOICES = 300; - const HTTP_MOVED_PERMANENTLY = 301; - const HTTP_FOUND = 302; - const HTTP_SEE_OTHER = 303; - const HTTP_NOT_MODIFIED = 304; - const HTTP_USE_PROXY = 305; - const HTTP_RESERVED = 306; - const HTTP_TEMPORARY_REDIRECT = 307; - const HTTP_PERMANENTLY_REDIRECT = 308; // RFC7238 - const HTTP_BAD_REQUEST = 400; - const HTTP_UNAUTHORIZED = 401; - const HTTP_PAYMENT_REQUIRED = 402; - const HTTP_FORBIDDEN = 403; - const HTTP_NOT_FOUND = 404; - const HTTP_METHOD_NOT_ALLOWED = 405; - const HTTP_NOT_ACCEPTABLE = 406; - const HTTP_PROXY_AUTHENTICATION_REQUIRED = 407; - const HTTP_REQUEST_TIMEOUT = 408; - const HTTP_CONFLICT = 409; - const HTTP_GONE = 410; - const HTTP_LENGTH_REQUIRED = 411; - const HTTP_PRECONDITION_FAILED = 412; - const HTTP_REQUEST_ENTITY_TOO_LARGE = 413; - const HTTP_REQUEST_URI_TOO_LONG = 414; - const HTTP_UNSUPPORTED_MEDIA_TYPE = 415; - const HTTP_REQUESTED_RANGE_NOT_SATISFIABLE = 416; - const HTTP_EXPECTATION_FAILED = 417; - const HTTP_I_AM_A_TEAPOT = 418; // RFC2324 - const HTTP_MISDIRECTED_REQUEST = 421; // RFC7540 - const HTTP_UNPROCESSABLE_ENTITY = 422; // RFC4918 - const HTTP_LOCKED = 423; // RFC4918 - const HTTP_FAILED_DEPENDENCY = 424; // RFC4918 - - /** - * @deprecated - */ - const HTTP_RESERVED_FOR_WEBDAV_ADVANCED_COLLECTIONS_EXPIRED_PROPOSAL = 425; // RFC2817 - const HTTP_TOO_EARLY = 425; // RFC-ietf-httpbis-replay-04 - const HTTP_UPGRADE_REQUIRED = 426; // RFC2817 - const HTTP_PRECONDITION_REQUIRED = 428; // RFC6585 - const HTTP_TOO_MANY_REQUESTS = 429; // RFC6585 - const HTTP_REQUEST_HEADER_FIELDS_TOO_LARGE = 431; // RFC6585 - const HTTP_UNAVAILABLE_FOR_LEGAL_REASONS = 451; - const HTTP_INTERNAL_SERVER_ERROR = 500; - const HTTP_NOT_IMPLEMENTED = 501; - const HTTP_BAD_GATEWAY = 502; - const HTTP_SERVICE_UNAVAILABLE = 503; - const HTTP_GATEWAY_TIMEOUT = 504; - const HTTP_VERSION_NOT_SUPPORTED = 505; - const HTTP_VARIANT_ALSO_NEGOTIATES_EXPERIMENTAL = 506; // RFC2295 - const HTTP_INSUFFICIENT_STORAGE = 507; // RFC4918 - const HTTP_LOOP_DETECTED = 508; // RFC5842 - const HTTP_NOT_EXTENDED = 510; // RFC2774 - const HTTP_NETWORK_AUTHENTICATION_REQUIRED = 511; // RFC6585 - - /** - * @var ResponseHeaderBag - */ - public $headers; - - /** - * @var string - */ - protected $content; - - /** - * @var string - */ - protected $version; - - /** - * @var int - */ - protected $statusCode; - - /** - * @var string - */ - protected $statusText; - - /** - * @var string - */ - protected $charset; - - /** - * Status codes translation table. - * - * The list of codes is complete according to the - * {@link https://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml Hypertext Transfer Protocol (HTTP) Status Code Registry} - * (last updated 2016-03-01). - * - * Unless otherwise noted, the status code is defined in RFC2616. - * - * @var array - */ - public static $statusTexts = [ - 100 => 'Continue', - 101 => 'Switching Protocols', - 102 => 'Processing', // RFC2518 - 103 => 'Early Hints', - 200 => 'OK', - 201 => 'Created', - 202 => 'Accepted', - 203 => 'Non-Authoritative Information', - 204 => 'No Content', - 205 => 'Reset Content', - 206 => 'Partial Content', - 207 => 'Multi-Status', // RFC4918 - 208 => 'Already Reported', // RFC5842 - 226 => 'IM Used', // RFC3229 - 300 => 'Multiple Choices', - 301 => 'Moved Permanently', - 302 => 'Found', - 303 => 'See Other', - 304 => 'Not Modified', - 305 => 'Use Proxy', - 307 => 'Temporary Redirect', - 308 => 'Permanent Redirect', // RFC7238 - 400 => 'Bad Request', - 401 => 'Unauthorized', - 402 => 'Payment Required', - 403 => 'Forbidden', - 404 => 'Not Found', - 405 => 'Method Not Allowed', - 406 => 'Not Acceptable', - 407 => 'Proxy Authentication Required', - 408 => 'Request Timeout', - 409 => 'Conflict', - 410 => 'Gone', - 411 => 'Length Required', - 412 => 'Precondition Failed', - 413 => 'Payload Too Large', - 414 => 'URI Too Long', - 415 => 'Unsupported Media Type', - 416 => 'Range Not Satisfiable', - 417 => 'Expectation Failed', - 418 => 'I\'m a teapot', // RFC2324 - 421 => 'Misdirected Request', // RFC7540 - 422 => 'Unprocessable Entity', // RFC4918 - 423 => 'Locked', // RFC4918 - 424 => 'Failed Dependency', // RFC4918 - 425 => 'Too Early', // RFC-ietf-httpbis-replay-04 - 426 => 'Upgrade Required', // RFC2817 - 428 => 'Precondition Required', // RFC6585 - 429 => 'Too Many Requests', // RFC6585 - 431 => 'Request Header Fields Too Large', // RFC6585 - 451 => 'Unavailable For Legal Reasons', // RFC7725 - 500 => 'Internal Server Error', - 501 => 'Not Implemented', - 502 => 'Bad Gateway', - 503 => 'Service Unavailable', - 504 => 'Gateway Timeout', - 505 => 'HTTP Version Not Supported', - 506 => 'Variant Also Negotiates', // RFC2295 - 507 => 'Insufficient Storage', // RFC4918 - 508 => 'Loop Detected', // RFC5842 - 510 => 'Not Extended', // RFC2774 - 511 => 'Network Authentication Required', // RFC6585 - ]; - - /** - * @throws \InvalidArgumentException When the HTTP status code is not valid - */ - public function __construct($content = '', int $status = 200, array $headers = []) - { - $this->headers = new ResponseHeaderBag($headers); - $this->setContent($content); - $this->setStatusCode($status); - $this->setProtocolVersion('1.0'); - } - - /** - * Factory method for chainability. - * - * Example: - * - * return Response::create($body, 200) - * ->setSharedMaxAge(300); - * - * @param mixed $content The response content, see setContent() - * @param int $status The response status code - * @param array $headers An array of response headers - * - * @return static - */ - public static function create($content = '', $status = 200, $headers = []) - { - return new static($content, $status, $headers); - } - - /** - * Returns the Response as an HTTP string. - * - * The string representation of the Response is the same as the - * one that will be sent to the client only if the prepare() method - * has been called before. - * - * @return string The Response as an HTTP string - * - * @see prepare() - */ - public function __toString() - { - return - sprintf('HTTP/%s %s %s', $this->version, $this->statusCode, $this->statusText)."\r\n". - $this->headers."\r\n". - $this->getContent(); - } - - /** - * Clones the current Response instance. - */ - public function __clone() - { - $this->headers = clone $this->headers; - } - - /** - * Prepares the Response before it is sent to the client. - * - * This method tweaks the Response to ensure that it is - * compliant with RFC 2616. Most of the changes are based on - * the Request that is "associated" with this Response. - * - * @return $this - */ - public function prepare(Request $request) - { - $headers = $this->headers; - - if ($this->isInformational() || $this->isEmpty()) { - $this->setContent(null); - $headers->remove('Content-Type'); - $headers->remove('Content-Length'); - } else { - // Content-type based on the Request - if (!$headers->has('Content-Type')) { - $format = $request->getPreferredFormat(); - if (null !== $format && $mimeType = $request->getMimeType($format)) { - $headers->set('Content-Type', $mimeType); - } - } - - // Fix Content-Type - $charset = $this->charset ?: 'UTF-8'; - if (!$headers->has('Content-Type')) { - $headers->set('Content-Type', 'text/html; charset='.$charset); - } elseif (0 === stripos($headers->get('Content-Type'), 'text/') && false === stripos($headers->get('Content-Type'), 'charset')) { - // add the charset - $headers->set('Content-Type', $headers->get('Content-Type').'; charset='.$charset); - } - - // Fix Content-Length - if ($headers->has('Transfer-Encoding')) { - $headers->remove('Content-Length'); - } - - if ($request->isMethod('HEAD')) { - // cf. RFC2616 14.13 - $length = $headers->get('Content-Length'); - $this->setContent(null); - if ($length) { - $headers->set('Content-Length', $length); - } - } - } - - // Fix protocol - if ('HTTP/1.0' != $request->server->get('SERVER_PROTOCOL')) { - $this->setProtocolVersion('1.1'); - } - - // Check if we need to send extra expire info headers - if ('1.0' == $this->getProtocolVersion() && false !== strpos($headers->get('Cache-Control'), 'no-cache')) { - $headers->set('pragma', 'no-cache'); - $headers->set('expires', -1); - } - - $this->ensureIEOverSSLCompatibility($request); - - if ($request->isSecure()) { - foreach ($headers->getCookies() as $cookie) { - $cookie->setSecureDefault(true); - } - } - - return $this; - } - - /** - * Sends HTTP headers. - * - * @return $this - */ - public function sendHeaders() - { - // headers have already been sent by the developer - if (headers_sent()) { - return $this; - } - - // headers - foreach ($this->headers->allPreserveCaseWithoutCookies() as $name => $values) { - $replace = 0 === strcasecmp($name, 'Content-Type'); - foreach ($values as $value) { - header($name.': '.$value, $replace, $this->statusCode); - } - } - - // cookies - foreach ($this->headers->getCookies() as $cookie) { - header('Set-Cookie: '.$cookie, false, $this->statusCode); - } - - // status - header(sprintf('HTTP/%s %s %s', $this->version, $this->statusCode, $this->statusText), true, $this->statusCode); - - return $this; - } - - /** - * Sends content for the current web response. - * - * @return $this - */ - public function sendContent() - { - echo $this->content; - - return $this; - } - - /** - * Sends HTTP headers and content. - * - * @return $this - */ - public function send() - { - $this->sendHeaders(); - $this->sendContent(); - - if (\function_exists('fastcgi_finish_request')) { - fastcgi_finish_request(); - } elseif (!\in_array(\PHP_SAPI, ['cli', 'phpdbg'], true)) { - static::closeOutputBuffers(0, true); - } - - return $this; - } - - /** - * Sets the response content. - * - * Valid types are strings, numbers, null, and objects that implement a __toString() method. - * - * @param mixed $content Content that can be cast to string - * - * @return $this - * - * @throws \UnexpectedValueException - */ - public function setContent($content) - { - if (null !== $content && !\is_string($content) && !is_numeric($content) && !\is_callable([$content, '__toString'])) { - throw new \UnexpectedValueException(sprintf('The Response content must be a string or object implementing __toString(), "%s" given.', \gettype($content))); - } - - $this->content = (string) $content; - - return $this; - } - - /** - * Gets the current response content. - * - * @return string|false - */ - public function getContent() - { - return $this->content; - } - - /** - * Sets the HTTP protocol version (1.0 or 1.1). - * - * @return $this - * - * @final - */ - public function setProtocolVersion(string $version) - { - $this->version = $version; - - return $this; - } - - /** - * Gets the HTTP protocol version. - * - * @final - */ - public function getProtocolVersion(): string - { - return $this->version; - } - - /** - * Sets the response status code. - * - * If the status text is null it will be automatically populated for the known - * status codes and left empty otherwise. - * - * @return $this - * - * @throws \InvalidArgumentException When the HTTP status code is not valid - * - * @final - */ - public function setStatusCode(int $code, $text = null) - { - $this->statusCode = $code; - if ($this->isInvalid()) { - throw new \InvalidArgumentException(sprintf('The HTTP status code "%s" is not valid.', $code)); - } - - if (null === $text) { - $this->statusText = isset(self::$statusTexts[$code]) ? self::$statusTexts[$code] : 'unknown status'; - - return $this; - } - - if (false === $text) { - $this->statusText = ''; - - return $this; - } - - $this->statusText = $text; - - return $this; - } - - /** - * Retrieves the status code for the current web response. - * - * @final - */ - public function getStatusCode(): int - { - return $this->statusCode; - } - - /** - * Sets the response charset. - * - * @return $this - * - * @final - */ - public function setCharset(string $charset) - { - $this->charset = $charset; - - return $this; - } - - /** - * Retrieves the response charset. - * - * @final - */ - public function getCharset(): ?string - { - return $this->charset; - } - - /** - * Returns true if the response may safely be kept in a shared (surrogate) cache. - * - * Responses marked "private" with an explicit Cache-Control directive are - * considered uncacheable. - * - * Responses with neither a freshness lifetime (Expires, max-age) nor cache - * validator (Last-Modified, ETag) are considered uncacheable because there is - * no way to tell when or how to remove them from the cache. - * - * Note that RFC 7231 and RFC 7234 possibly allow for a more permissive implementation, - * for example "status codes that are defined as cacheable by default [...] - * can be reused by a cache with heuristic expiration unless otherwise indicated" - * (https://tools.ietf.org/html/rfc7231#section-6.1) - * - * @final - */ - public function isCacheable(): bool - { - if (!\in_array($this->statusCode, [200, 203, 300, 301, 302, 404, 410])) { - return false; - } - - if ($this->headers->hasCacheControlDirective('no-store') || $this->headers->getCacheControlDirective('private')) { - return false; - } - - return $this->isValidateable() || $this->isFresh(); - } - - /** - * Returns true if the response is "fresh". - * - * Fresh responses may be served from cache without any interaction with the - * origin. A response is considered fresh when it includes a Cache-Control/max-age - * indicator or Expires header and the calculated age is less than the freshness lifetime. - * - * @final - */ - public function isFresh(): bool - { - return $this->getTtl() > 0; - } - - /** - * Returns true if the response includes headers that can be used to validate - * the response with the origin server using a conditional GET request. - * - * @final - */ - public function isValidateable(): bool - { - return $this->headers->has('Last-Modified') || $this->headers->has('ETag'); - } - - /** - * Marks the response as "private". - * - * It makes the response ineligible for serving other clients. - * - * @return $this - * - * @final - */ - public function setPrivate() - { - $this->headers->removeCacheControlDirective('public'); - $this->headers->addCacheControlDirective('private'); - - return $this; - } - - /** - * Marks the response as "public". - * - * It makes the response eligible for serving other clients. - * - * @return $this - * - * @final - */ - public function setPublic() - { - $this->headers->addCacheControlDirective('public'); - $this->headers->removeCacheControlDirective('private'); - - return $this; - } - - /** - * Marks the response as "immutable". - * - * @return $this - * - * @final - */ - public function setImmutable(bool $immutable = true) - { - if ($immutable) { - $this->headers->addCacheControlDirective('immutable'); - } else { - $this->headers->removeCacheControlDirective('immutable'); - } - - return $this; - } - - /** - * Returns true if the response is marked as "immutable". - * - * @final - */ - public function isImmutable(): bool - { - return $this->headers->hasCacheControlDirective('immutable'); - } - - /** - * Returns true if the response must be revalidated by caches. - * - * This method indicates that the response must not be served stale by a - * cache in any circumstance without first revalidating with the origin. - * When present, the TTL of the response should not be overridden to be - * greater than the value provided by the origin. - * - * @final - */ - public function mustRevalidate(): bool - { - return $this->headers->hasCacheControlDirective('must-revalidate') || $this->headers->hasCacheControlDirective('proxy-revalidate'); - } - - /** - * Returns the Date header as a DateTime instance. - * - * @throws \RuntimeException When the header is not parseable - * - * @final - */ - public function getDate(): ?\DateTimeInterface - { - return $this->headers->getDate('Date'); - } - - /** - * Sets the Date header. - * - * @return $this - * - * @final - */ - public function setDate(\DateTimeInterface $date) - { - if ($date instanceof \DateTime) { - $date = \DateTimeImmutable::createFromMutable($date); - } - - $date = $date->setTimezone(new \DateTimeZone('UTC')); - $this->headers->set('Date', $date->format('D, d M Y H:i:s').' GMT'); - - return $this; - } - - /** - * Returns the age of the response in seconds. - * - * @final - */ - public function getAge(): int - { - if (null !== $age = $this->headers->get('Age')) { - return (int) $age; - } - - return max(time() - (int) $this->getDate()->format('U'), 0); - } - - /** - * Marks the response stale by setting the Age header to be equal to the maximum age of the response. - * - * @return $this - */ - public function expire() - { - if ($this->isFresh()) { - $this->headers->set('Age', $this->getMaxAge()); - $this->headers->remove('Expires'); - } - - return $this; - } - - /** - * Returns the value of the Expires header as a DateTime instance. - * - * @final - */ - public function getExpires(): ?\DateTimeInterface - { - try { - return $this->headers->getDate('Expires'); - } catch (\RuntimeException $e) { - // according to RFC 2616 invalid date formats (e.g. "0" and "-1") must be treated as in the past - return \DateTime::createFromFormat('U', time() - 172800); - } - } - - /** - * Sets the Expires HTTP header with a DateTime instance. - * - * Passing null as value will remove the header. - * - * @return $this - * - * @final - */ - public function setExpires(\DateTimeInterface $date = null) - { - if (null === $date) { - $this->headers->remove('Expires'); - - return $this; - } - - if ($date instanceof \DateTime) { - $date = \DateTimeImmutable::createFromMutable($date); - } - - $date = $date->setTimezone(new \DateTimeZone('UTC')); - $this->headers->set('Expires', $date->format('D, d M Y H:i:s').' GMT'); - - return $this; - } - - /** - * Returns the number of seconds after the time specified in the response's Date - * header when the response should no longer be considered fresh. - * - * First, it checks for a s-maxage directive, then a max-age directive, and then it falls - * back on an expires header. It returns null when no maximum age can be established. - * - * @final - */ - public function getMaxAge(): ?int - { - if ($this->headers->hasCacheControlDirective('s-maxage')) { - return (int) $this->headers->getCacheControlDirective('s-maxage'); - } - - if ($this->headers->hasCacheControlDirective('max-age')) { - return (int) $this->headers->getCacheControlDirective('max-age'); - } - - if (null !== $this->getExpires()) { - return (int) $this->getExpires()->format('U') - (int) $this->getDate()->format('U'); - } - - return null; - } - - /** - * Sets the number of seconds after which the response should no longer be considered fresh. - * - * This methods sets the Cache-Control max-age directive. - * - * @return $this - * - * @final - */ - public function setMaxAge(int $value) - { - $this->headers->addCacheControlDirective('max-age', $value); - - return $this; - } - - /** - * Sets the number of seconds after which the response should no longer be considered fresh by shared caches. - * - * This methods sets the Cache-Control s-maxage directive. - * - * @return $this - * - * @final - */ - public function setSharedMaxAge(int $value) - { - $this->setPublic(); - $this->headers->addCacheControlDirective('s-maxage', $value); - - return $this; - } - - /** - * Returns the response's time-to-live in seconds. - * - * It returns null when no freshness information is present in the response. - * - * When the responses TTL is <= 0, the response may not be served from cache without first - * revalidating with the origin. - * - * @final - */ - public function getTtl(): ?int - { - $maxAge = $this->getMaxAge(); - - return null !== $maxAge ? $maxAge - $this->getAge() : null; - } - - /** - * Sets the response's time-to-live for shared caches in seconds. - * - * This method adjusts the Cache-Control/s-maxage directive. - * - * @return $this - * - * @final - */ - public function setTtl(int $seconds) - { - $this->setSharedMaxAge($this->getAge() + $seconds); - - return $this; - } - - /** - * Sets the response's time-to-live for private/client caches in seconds. - * - * This method adjusts the Cache-Control/max-age directive. - * - * @return $this - * - * @final - */ - public function setClientTtl(int $seconds) - { - $this->setMaxAge($this->getAge() + $seconds); - - return $this; - } - - /** - * Returns the Last-Modified HTTP header as a DateTime instance. - * - * @throws \RuntimeException When the HTTP header is not parseable - * - * @final - */ - public function getLastModified(): ?\DateTimeInterface - { - return $this->headers->getDate('Last-Modified'); - } - - /** - * Sets the Last-Modified HTTP header with a DateTime instance. - * - * Passing null as value will remove the header. - * - * @return $this - * - * @final - */ - public function setLastModified(\DateTimeInterface $date = null) - { - if (null === $date) { - $this->headers->remove('Last-Modified'); - - return $this; - } - - if ($date instanceof \DateTime) { - $date = \DateTimeImmutable::createFromMutable($date); - } - - $date = $date->setTimezone(new \DateTimeZone('UTC')); - $this->headers->set('Last-Modified', $date->format('D, d M Y H:i:s').' GMT'); - - return $this; - } - - /** - * Returns the literal value of the ETag HTTP header. - * - * @final - */ - public function getEtag(): ?string - { - return $this->headers->get('ETag'); - } - - /** - * Sets the ETag value. - * - * @param string|null $etag The ETag unique identifier or null to remove the header - * @param bool $weak Whether you want a weak ETag or not - * - * @return $this - * - * @final - */ - public function setEtag(string $etag = null, bool $weak = false) - { - if (null === $etag) { - $this->headers->remove('Etag'); - } else { - if (0 !== strpos($etag, '"')) { - $etag = '"'.$etag.'"'; - } - - $this->headers->set('ETag', (true === $weak ? 'W/' : '').$etag); - } - - return $this; - } - - /** - * Sets the response's cache headers (validation and/or expiration). - * - * Available options are: etag, last_modified, max_age, s_maxage, private, public and immutable. - * - * @return $this - * - * @throws \InvalidArgumentException - * - * @final - */ - public function setCache(array $options) - { - if ($diff = array_diff(array_keys($options), ['etag', 'last_modified', 'max_age', 's_maxage', 'private', 'public', 'immutable'])) { - throw new \InvalidArgumentException(sprintf('Response does not support the following options: "%s".', implode('", "', $diff))); - } - - if (isset($options['etag'])) { - $this->setEtag($options['etag']); - } - - if (isset($options['last_modified'])) { - $this->setLastModified($options['last_modified']); - } - - if (isset($options['max_age'])) { - $this->setMaxAge($options['max_age']); - } - - if (isset($options['s_maxage'])) { - $this->setSharedMaxAge($options['s_maxage']); - } - - if (isset($options['public'])) { - if ($options['public']) { - $this->setPublic(); - } else { - $this->setPrivate(); - } - } - - if (isset($options['private'])) { - if ($options['private']) { - $this->setPrivate(); - } else { - $this->setPublic(); - } - } - - if (isset($options['immutable'])) { - $this->setImmutable((bool) $options['immutable']); - } - - return $this; - } - - /** - * Modifies the response so that it conforms to the rules defined for a 304 status code. - * - * This sets the status, removes the body, and discards any headers - * that MUST NOT be included in 304 responses. - * - * @return $this - * - * @see https://tools.ietf.org/html/rfc2616#section-10.3.5 - * - * @final - */ - public function setNotModified() - { - $this->setStatusCode(304); - $this->setContent(null); - - // remove headers that MUST NOT be included with 304 Not Modified responses - foreach (['Allow', 'Content-Encoding', 'Content-Language', 'Content-Length', 'Content-MD5', 'Content-Type', 'Last-Modified'] as $header) { - $this->headers->remove($header); - } - - return $this; - } - - /** - * Returns true if the response includes a Vary header. - * - * @final - */ - public function hasVary(): bool - { - return null !== $this->headers->get('Vary'); - } - - /** - * Returns an array of header names given in the Vary header. - * - * @final - */ - public function getVary(): array - { - if (!$vary = $this->headers->all('Vary')) { - return []; - } - - $ret = []; - foreach ($vary as $item) { - $ret = array_merge($ret, preg_split('/[\s,]+/', $item)); - } - - return $ret; - } - - /** - * Sets the Vary header. - * - * @param string|array $headers - * @param bool $replace Whether to replace the actual value or not (true by default) - * - * @return $this - * - * @final - */ - public function setVary($headers, bool $replace = true) - { - $this->headers->set('Vary', $headers, $replace); - - return $this; - } - - /** - * Determines if the Response validators (ETag, Last-Modified) match - * a conditional value specified in the Request. - * - * If the Response is not modified, it sets the status code to 304 and - * removes the actual content by calling the setNotModified() method. - * - * @return bool true if the Response validators match the Request, false otherwise - * - * @final - */ - public function isNotModified(Request $request): bool - { - if (!$request->isMethodCacheable()) { - return false; - } - - $notModified = false; - $lastModified = $this->headers->get('Last-Modified'); - $modifiedSince = $request->headers->get('If-Modified-Since'); - - if ($etags = $request->getETags()) { - $notModified = \in_array($this->getEtag(), $etags) || \in_array('*', $etags); - } - - if ($modifiedSince && $lastModified) { - $notModified = strtotime($modifiedSince) >= strtotime($lastModified) && (!$etags || $notModified); - } - - if ($notModified) { - $this->setNotModified(); - } - - return $notModified; - } - - /** - * Is response invalid? - * - * @see https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html - * - * @final - */ - public function isInvalid(): bool - { - return $this->statusCode < 100 || $this->statusCode >= 600; - } - - /** - * Is response informative? - * - * @final - */ - public function isInformational(): bool - { - return $this->statusCode >= 100 && $this->statusCode < 200; - } - - /** - * Is response successful? - * - * @final - */ - public function isSuccessful(): bool - { - return $this->statusCode >= 200 && $this->statusCode < 300; - } - - /** - * Is the response a redirect? - * - * @final - */ - public function isRedirection(): bool - { - return $this->statusCode >= 300 && $this->statusCode < 400; - } - - /** - * Is there a client error? - * - * @final - */ - public function isClientError(): bool - { - return $this->statusCode >= 400 && $this->statusCode < 500; - } - - /** - * Was there a server side error? - * - * @final - */ - public function isServerError(): bool - { - return $this->statusCode >= 500 && $this->statusCode < 600; - } - - /** - * Is the response OK? - * - * @final - */ - public function isOk(): bool - { - return 200 === $this->statusCode; - } - - /** - * Is the response forbidden? - * - * @final - */ - public function isForbidden(): bool - { - return 403 === $this->statusCode; - } - - /** - * Is the response a not found error? - * - * @final - */ - public function isNotFound(): bool - { - return 404 === $this->statusCode; - } - - /** - * Is the response a redirect of some form? - * - * @final - */ - public function isRedirect(string $location = null): bool - { - return \in_array($this->statusCode, [201, 301, 302, 303, 307, 308]) && (null === $location ?: $location == $this->headers->get('Location')); - } - - /** - * Is the response empty? - * - * @final - */ - public function isEmpty(): bool - { - return \in_array($this->statusCode, [204, 304]); - } - - /** - * Cleans or flushes output buffers up to target level. - * - * Resulting level can be greater than target level if a non-removable buffer has been encountered. - * - * @final - */ - public static function closeOutputBuffers(int $targetLevel, bool $flush): void - { - $status = ob_get_status(true); - $level = \count($status); - $flags = PHP_OUTPUT_HANDLER_REMOVABLE | ($flush ? PHP_OUTPUT_HANDLER_FLUSHABLE : PHP_OUTPUT_HANDLER_CLEANABLE); - - while ($level-- > $targetLevel && ($s = $status[$level]) && (!isset($s['del']) ? !isset($s['flags']) || ($s['flags'] & $flags) === $flags : $s['del'])) { - if ($flush) { - ob_end_flush(); - } else { - ob_end_clean(); - } - } - } - - /** - * Checks if we need to remove Cache-Control for SSL encrypted downloads when using IE < 9. - * - * @see http://support.microsoft.com/kb/323308 - * - * @final - */ - protected function ensureIEOverSSLCompatibility(Request $request): void - { - if (false !== stripos($this->headers->get('Content-Disposition'), 'attachment') && 1 == preg_match('/MSIE (.*?);/i', $request->server->get('HTTP_USER_AGENT'), $match) && true === $request->isSecure()) { - if ((int) preg_replace('/(MSIE )(.*?);/', '$2', $match[0]) < 9) { - $this->headers->remove('Cache-Control'); - } - } - } -} diff --git a/paragonik-backend/vendor/symfony/http-foundation/ResponseHeaderBag.php b/paragonik-backend/vendor/symfony/http-foundation/ResponseHeaderBag.php deleted file mode 100644 index f5b7a27..0000000 --- a/paragonik-backend/vendor/symfony/http-foundation/ResponseHeaderBag.php +++ /dev/null @@ -1,307 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpFoundation; - -/** - * ResponseHeaderBag is a container for Response HTTP headers. - * - * @author Fabien Potencier - */ -class ResponseHeaderBag extends HeaderBag -{ - const COOKIES_FLAT = 'flat'; - const COOKIES_ARRAY = 'array'; - - const DISPOSITION_ATTACHMENT = 'attachment'; - const DISPOSITION_INLINE = 'inline'; - - protected $computedCacheControl = []; - protected $cookies = []; - protected $headerNames = []; - - public function __construct(array $headers = []) - { - parent::__construct($headers); - - if (!isset($this->headers['cache-control'])) { - $this->set('Cache-Control', ''); - } - - /* RFC2616 - 14.18 says all Responses need to have a Date */ - if (!isset($this->headers['date'])) { - $this->initDate(); - } - } - - /** - * Returns the headers, with original capitalizations. - * - * @return array An array of headers - */ - public function allPreserveCase() - { - $headers = []; - foreach ($this->all() as $name => $value) { - $headers[$this->headerNames[$name] ?? $name] = $value; - } - - return $headers; - } - - public function allPreserveCaseWithoutCookies() - { - $headers = $this->allPreserveCase(); - if (isset($this->headerNames['set-cookie'])) { - unset($headers[$this->headerNames['set-cookie']]); - } - - return $headers; - } - - /** - * {@inheritdoc} - */ - public function replace(array $headers = []) - { - $this->headerNames = []; - - parent::replace($headers); - - if (!isset($this->headers['cache-control'])) { - $this->set('Cache-Control', ''); - } - - if (!isset($this->headers['date'])) { - $this->initDate(); - } - } - - /** - * {@inheritdoc} - * - * @param string|null $key The name of the headers to return or null to get them all - */ - public function all(/*string $key = null*/) - { - $headers = parent::all(); - - if (1 <= \func_num_args() && null !== $key = func_get_arg(0)) { - $key = strtr($key, self::UPPER, self::LOWER); - - return 'set-cookie' !== $key ? $headers[$key] ?? [] : array_map('strval', $this->getCookies()); - } - - foreach ($this->getCookies() as $cookie) { - $headers['set-cookie'][] = (string) $cookie; - } - - return $headers; - } - - /** - * {@inheritdoc} - */ - public function set($key, $values, $replace = true) - { - $uniqueKey = strtr($key, self::UPPER, self::LOWER); - - if ('set-cookie' === $uniqueKey) { - if ($replace) { - $this->cookies = []; - } - foreach ((array) $values as $cookie) { - $this->setCookie(Cookie::fromString($cookie)); - } - $this->headerNames[$uniqueKey] = $key; - - return; - } - - $this->headerNames[$uniqueKey] = $key; - - parent::set($key, $values, $replace); - - // ensure the cache-control header has sensible defaults - if (\in_array($uniqueKey, ['cache-control', 'etag', 'last-modified', 'expires'], true) && '' !== $computed = $this->computeCacheControlValue()) { - $this->headers['cache-control'] = [$computed]; - $this->headerNames['cache-control'] = 'Cache-Control'; - $this->computedCacheControl = $this->parseCacheControl($computed); - } - } - - /** - * {@inheritdoc} - */ - public function remove($key) - { - $uniqueKey = strtr($key, self::UPPER, self::LOWER); - unset($this->headerNames[$uniqueKey]); - - if ('set-cookie' === $uniqueKey) { - $this->cookies = []; - - return; - } - - parent::remove($key); - - if ('cache-control' === $uniqueKey) { - $this->computedCacheControl = []; - } - - if ('date' === $uniqueKey) { - $this->initDate(); - } - } - - /** - * {@inheritdoc} - */ - public function hasCacheControlDirective($key) - { - return \array_key_exists($key, $this->computedCacheControl); - } - - /** - * {@inheritdoc} - */ - public function getCacheControlDirective($key) - { - return \array_key_exists($key, $this->computedCacheControl) ? $this->computedCacheControl[$key] : null; - } - - public function setCookie(Cookie $cookie) - { - $this->cookies[$cookie->getDomain()][$cookie->getPath()][$cookie->getName()] = $cookie; - $this->headerNames['set-cookie'] = 'Set-Cookie'; - } - - /** - * Removes a cookie from the array, but does not unset it in the browser. - * - * @param string $name - * @param string $path - * @param string $domain - */ - public function removeCookie($name, $path = '/', $domain = null) - { - if (null === $path) { - $path = '/'; - } - - unset($this->cookies[$domain][$path][$name]); - - if (empty($this->cookies[$domain][$path])) { - unset($this->cookies[$domain][$path]); - - if (empty($this->cookies[$domain])) { - unset($this->cookies[$domain]); - } - } - - if (empty($this->cookies)) { - unset($this->headerNames['set-cookie']); - } - } - - /** - * Returns an array with all cookies. - * - * @param string $format - * - * @return Cookie[] - * - * @throws \InvalidArgumentException When the $format is invalid - */ - public function getCookies($format = self::COOKIES_FLAT) - { - if (!\in_array($format, [self::COOKIES_FLAT, self::COOKIES_ARRAY])) { - throw new \InvalidArgumentException(sprintf('Format "%s" invalid (%s).', $format, implode(', ', [self::COOKIES_FLAT, self::COOKIES_ARRAY]))); - } - - if (self::COOKIES_ARRAY === $format) { - return $this->cookies; - } - - $flattenedCookies = []; - foreach ($this->cookies as $path) { - foreach ($path as $cookies) { - foreach ($cookies as $cookie) { - $flattenedCookies[] = $cookie; - } - } - } - - return $flattenedCookies; - } - - /** - * Clears a cookie in the browser. - * - * @param string $name - * @param string $path - * @param string $domain - * @param bool $secure - * @param bool $httpOnly - */ - public function clearCookie($name, $path = '/', $domain = null, $secure = false, $httpOnly = true) - { - $this->setCookie(new Cookie($name, null, 1, $path, $domain, $secure, $httpOnly, false, null)); - } - - /** - * @see HeaderUtils::makeDisposition() - */ - public function makeDisposition($disposition, $filename, $filenameFallback = '') - { - return HeaderUtils::makeDisposition((string) $disposition, (string) $filename, (string) $filenameFallback); - } - - /** - * Returns the calculated value of the cache-control header. - * - * This considers several other headers and calculates or modifies the - * cache-control header to a sensible, conservative value. - * - * @return string - */ - protected function computeCacheControlValue() - { - if (!$this->cacheControl && !$this->has('ETag') && !$this->has('Last-Modified') && !$this->has('Expires')) { - return 'no-cache, private'; - } - - if (!$this->cacheControl) { - // conservative by default - return 'private, must-revalidate'; - } - - $header = $this->getCacheControlHeader(); - if (isset($this->cacheControl['public']) || isset($this->cacheControl['private'])) { - return $header; - } - - // public if s-maxage is defined, private otherwise - if (!isset($this->cacheControl['s-maxage'])) { - return $header.', private'; - } - - return $header; - } - - private function initDate(): void - { - $now = \DateTime::createFromFormat('U', time()); - $now->setTimezone(new \DateTimeZone('UTC')); - $this->set('Date', $now->format('D, d M Y H:i:s').' GMT'); - } -} diff --git a/paragonik-backend/vendor/symfony/http-foundation/ServerBag.php b/paragonik-backend/vendor/symfony/http-foundation/ServerBag.php deleted file mode 100644 index 02c7091..0000000 --- a/paragonik-backend/vendor/symfony/http-foundation/ServerBag.php +++ /dev/null @@ -1,99 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpFoundation; - -/** - * ServerBag is a container for HTTP headers from the $_SERVER variable. - * - * @author Fabien Potencier - * @author Bulat Shakirzyanov - * @author Robert Kiss - */ -class ServerBag extends ParameterBag -{ - /** - * Gets the HTTP headers. - * - * @return array - */ - public function getHeaders() - { - $headers = []; - foreach ($this->parameters as $key => $value) { - if (0 === strpos($key, 'HTTP_')) { - $headers[substr($key, 5)] = $value; - } elseif (\in_array($key, ['CONTENT_TYPE', 'CONTENT_LENGTH', 'CONTENT_MD5'], true)) { - $headers[$key] = $value; - } - } - - if (isset($this->parameters['PHP_AUTH_USER'])) { - $headers['PHP_AUTH_USER'] = $this->parameters['PHP_AUTH_USER']; - $headers['PHP_AUTH_PW'] = isset($this->parameters['PHP_AUTH_PW']) ? $this->parameters['PHP_AUTH_PW'] : ''; - } else { - /* - * php-cgi under Apache does not pass HTTP Basic user/pass to PHP by default - * For this workaround to work, add these lines to your .htaccess file: - * RewriteCond %{HTTP:Authorization} .+ - * RewriteRule ^ - [E=HTTP_AUTHORIZATION:%0] - * - * A sample .htaccess file: - * RewriteEngine On - * RewriteCond %{HTTP:Authorization} .+ - * RewriteRule ^ - [E=HTTP_AUTHORIZATION:%0] - * RewriteCond %{REQUEST_FILENAME} !-f - * RewriteRule ^(.*)$ app.php [QSA,L] - */ - - $authorizationHeader = null; - if (isset($this->parameters['HTTP_AUTHORIZATION'])) { - $authorizationHeader = $this->parameters['HTTP_AUTHORIZATION']; - } elseif (isset($this->parameters['REDIRECT_HTTP_AUTHORIZATION'])) { - $authorizationHeader = $this->parameters['REDIRECT_HTTP_AUTHORIZATION']; - } - - if (null !== $authorizationHeader) { - if (0 === stripos($authorizationHeader, 'basic ')) { - // Decode AUTHORIZATION header into PHP_AUTH_USER and PHP_AUTH_PW when authorization header is basic - $exploded = explode(':', base64_decode(substr($authorizationHeader, 6)), 2); - if (2 == \count($exploded)) { - list($headers['PHP_AUTH_USER'], $headers['PHP_AUTH_PW']) = $exploded; - } - } elseif (empty($this->parameters['PHP_AUTH_DIGEST']) && (0 === stripos($authorizationHeader, 'digest '))) { - // In some circumstances PHP_AUTH_DIGEST needs to be set - $headers['PHP_AUTH_DIGEST'] = $authorizationHeader; - $this->parameters['PHP_AUTH_DIGEST'] = $authorizationHeader; - } elseif (0 === stripos($authorizationHeader, 'bearer ')) { - /* - * XXX: Since there is no PHP_AUTH_BEARER in PHP predefined variables, - * I'll just set $headers['AUTHORIZATION'] here. - * https://php.net/reserved.variables.server - */ - $headers['AUTHORIZATION'] = $authorizationHeader; - } - } - } - - if (isset($headers['AUTHORIZATION'])) { - return $headers; - } - - // PHP_AUTH_USER/PHP_AUTH_PW - if (isset($headers['PHP_AUTH_USER'])) { - $headers['AUTHORIZATION'] = 'Basic '.base64_encode($headers['PHP_AUTH_USER'].':'.$headers['PHP_AUTH_PW']); - } elseif (isset($headers['PHP_AUTH_DIGEST'])) { - $headers['AUTHORIZATION'] = $headers['PHP_AUTH_DIGEST']; - } - - return $headers; - } -} diff --git a/paragonik-backend/vendor/symfony/http-foundation/Session/Attribute/AttributeBag.php b/paragonik-backend/vendor/symfony/http-foundation/Session/Attribute/AttributeBag.php deleted file mode 100644 index ee33698..0000000 --- a/paragonik-backend/vendor/symfony/http-foundation/Session/Attribute/AttributeBag.php +++ /dev/null @@ -1,148 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpFoundation\Session\Attribute; - -/** - * This class relates to session attribute storage. - */ -class AttributeBag implements AttributeBagInterface, \IteratorAggregate, \Countable -{ - private $name = 'attributes'; - private $storageKey; - - protected $attributes = []; - - /** - * @param string $storageKey The key used to store attributes in the session - */ - public function __construct(string $storageKey = '_sf2_attributes') - { - $this->storageKey = $storageKey; - } - - /** - * {@inheritdoc} - */ - public function getName() - { - return $this->name; - } - - public function setName($name) - { - $this->name = $name; - } - - /** - * {@inheritdoc} - */ - public function initialize(array &$attributes) - { - $this->attributes = &$attributes; - } - - /** - * {@inheritdoc} - */ - public function getStorageKey() - { - return $this->storageKey; - } - - /** - * {@inheritdoc} - */ - public function has($name) - { - return \array_key_exists($name, $this->attributes); - } - - /** - * {@inheritdoc} - */ - public function get($name, $default = null) - { - return \array_key_exists($name, $this->attributes) ? $this->attributes[$name] : $default; - } - - /** - * {@inheritdoc} - */ - public function set($name, $value) - { - $this->attributes[$name] = $value; - } - - /** - * {@inheritdoc} - */ - public function all() - { - return $this->attributes; - } - - /** - * {@inheritdoc} - */ - public function replace(array $attributes) - { - $this->attributes = []; - foreach ($attributes as $key => $value) { - $this->set($key, $value); - } - } - - /** - * {@inheritdoc} - */ - public function remove($name) - { - $retval = null; - if (\array_key_exists($name, $this->attributes)) { - $retval = $this->attributes[$name]; - unset($this->attributes[$name]); - } - - return $retval; - } - - /** - * {@inheritdoc} - */ - public function clear() - { - $return = $this->attributes; - $this->attributes = []; - - return $return; - } - - /** - * Returns an iterator for attributes. - * - * @return \ArrayIterator An \ArrayIterator instance - */ - public function getIterator() - { - return new \ArrayIterator($this->attributes); - } - - /** - * Returns the number of attributes. - * - * @return int The number of attributes - */ - public function count() - { - return \count($this->attributes); - } -} diff --git a/paragonik-backend/vendor/symfony/http-foundation/Session/Attribute/AttributeBagInterface.php b/paragonik-backend/vendor/symfony/http-foundation/Session/Attribute/AttributeBagInterface.php deleted file mode 100644 index 6fa2293..0000000 --- a/paragonik-backend/vendor/symfony/http-foundation/Session/Attribute/AttributeBagInterface.php +++ /dev/null @@ -1,67 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpFoundation\Session\Attribute; - -use Symfony\Component\HttpFoundation\Session\SessionBagInterface; - -/** - * Attributes store. - * - * @author Drak - */ -interface AttributeBagInterface extends SessionBagInterface -{ - /** - * Checks if an attribute is defined. - * - * @param string $name The attribute name - * - * @return bool true if the attribute is defined, false otherwise - */ - public function has($name); - - /** - * Returns an attribute. - * - * @param string $name The attribute name - * @param mixed $default The default value if not found - * - * @return mixed - */ - public function get($name, $default = null); - - /** - * Sets an attribute. - * - * @param string $name - * @param mixed $value - */ - public function set($name, $value); - - /** - * Returns attributes. - * - * @return array - */ - public function all(); - - public function replace(array $attributes); - - /** - * Removes an attribute. - * - * @param string $name - * - * @return mixed The removed value or null when it does not exist - */ - public function remove($name); -} diff --git a/paragonik-backend/vendor/symfony/http-foundation/Session/Attribute/NamespacedAttributeBag.php b/paragonik-backend/vendor/symfony/http-foundation/Session/Attribute/NamespacedAttributeBag.php deleted file mode 100644 index 2cf0743..0000000 --- a/paragonik-backend/vendor/symfony/http-foundation/Session/Attribute/NamespacedAttributeBag.php +++ /dev/null @@ -1,159 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpFoundation\Session\Attribute; - -/** - * This class provides structured storage of session attributes using - * a name spacing character in the key. - * - * @author Drak - */ -class NamespacedAttributeBag extends AttributeBag -{ - private $namespaceCharacter; - - /** - * @param string $storageKey Session storage key - * @param string $namespaceCharacter Namespace character to use in keys - */ - public function __construct(string $storageKey = '_sf2_attributes', string $namespaceCharacter = '/') - { - $this->namespaceCharacter = $namespaceCharacter; - parent::__construct($storageKey); - } - - /** - * {@inheritdoc} - */ - public function has($name) - { - // reference mismatch: if fixed, re-introduced in array_key_exists; keep as it is - $attributes = $this->resolveAttributePath($name); - $name = $this->resolveKey($name); - - if (null === $attributes) { - return false; - } - - return \array_key_exists($name, $attributes); - } - - /** - * {@inheritdoc} - */ - public function get($name, $default = null) - { - // reference mismatch: if fixed, re-introduced in array_key_exists; keep as it is - $attributes = $this->resolveAttributePath($name); - $name = $this->resolveKey($name); - - if (null === $attributes) { - return $default; - } - - return \array_key_exists($name, $attributes) ? $attributes[$name] : $default; - } - - /** - * {@inheritdoc} - */ - public function set($name, $value) - { - $attributes = &$this->resolveAttributePath($name, true); - $name = $this->resolveKey($name); - $attributes[$name] = $value; - } - - /** - * {@inheritdoc} - */ - public function remove($name) - { - $retval = null; - $attributes = &$this->resolveAttributePath($name); - $name = $this->resolveKey($name); - if (null !== $attributes && \array_key_exists($name, $attributes)) { - $retval = $attributes[$name]; - unset($attributes[$name]); - } - - return $retval; - } - - /** - * Resolves a path in attributes property and returns it as a reference. - * - * This method allows structured namespacing of session attributes. - * - * @param string $name Key name - * @param bool $writeContext Write context, default false - * - * @return array|null - */ - protected function &resolveAttributePath($name, $writeContext = false) - { - $array = &$this->attributes; - $name = (0 === strpos($name, $this->namespaceCharacter)) ? substr($name, 1) : $name; - - // Check if there is anything to do, else return - if (!$name) { - return $array; - } - - $parts = explode($this->namespaceCharacter, $name); - if (\count($parts) < 2) { - if (!$writeContext) { - return $array; - } - - $array[$parts[0]] = []; - - return $array; - } - - unset($parts[\count($parts) - 1]); - - foreach ($parts as $part) { - if (null !== $array && !\array_key_exists($part, $array)) { - if (!$writeContext) { - $null = null; - - return $null; - } - - $array[$part] = []; - } - - $array = &$array[$part]; - } - - return $array; - } - - /** - * Resolves the key from the name. - * - * This is the last part in a dot separated string. - * - * @param string $name - * - * @return string - */ - protected function resolveKey($name) - { - if (false !== $pos = strrpos($name, $this->namespaceCharacter)) { - $name = substr($name, $pos + 1); - } - - return $name; - } -} diff --git a/paragonik-backend/vendor/symfony/http-foundation/Session/Flash/AutoExpireFlashBag.php b/paragonik-backend/vendor/symfony/http-foundation/Session/Flash/AutoExpireFlashBag.php deleted file mode 100644 index 6502f3d..0000000 --- a/paragonik-backend/vendor/symfony/http-foundation/Session/Flash/AutoExpireFlashBag.php +++ /dev/null @@ -1,161 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpFoundation\Session\Flash; - -/** - * AutoExpireFlashBag flash message container. - * - * @author Drak - */ -class AutoExpireFlashBag implements FlashBagInterface -{ - private $name = 'flashes'; - private $flashes = ['display' => [], 'new' => []]; - private $storageKey; - - /** - * @param string $storageKey The key used to store flashes in the session - */ - public function __construct(string $storageKey = '_symfony_flashes') - { - $this->storageKey = $storageKey; - } - - /** - * {@inheritdoc} - */ - public function getName() - { - return $this->name; - } - - public function setName($name) - { - $this->name = $name; - } - - /** - * {@inheritdoc} - */ - public function initialize(array &$flashes) - { - $this->flashes = &$flashes; - - // The logic: messages from the last request will be stored in new, so we move them to previous - // This request we will show what is in 'display'. What is placed into 'new' this time round will - // be moved to display next time round. - $this->flashes['display'] = \array_key_exists('new', $this->flashes) ? $this->flashes['new'] : []; - $this->flashes['new'] = []; - } - - /** - * {@inheritdoc} - */ - public function add($type, $message) - { - $this->flashes['new'][$type][] = $message; - } - - /** - * {@inheritdoc} - */ - public function peek($type, array $default = []) - { - return $this->has($type) ? $this->flashes['display'][$type] : $default; - } - - /** - * {@inheritdoc} - */ - public function peekAll() - { - return \array_key_exists('display', $this->flashes) ? (array) $this->flashes['display'] : []; - } - - /** - * {@inheritdoc} - */ - public function get($type, array $default = []) - { - $return = $default; - - if (!$this->has($type)) { - return $return; - } - - if (isset($this->flashes['display'][$type])) { - $return = $this->flashes['display'][$type]; - unset($this->flashes['display'][$type]); - } - - return $return; - } - - /** - * {@inheritdoc} - */ - public function all() - { - $return = $this->flashes['display']; - $this->flashes['display'] = []; - - return $return; - } - - /** - * {@inheritdoc} - */ - public function setAll(array $messages) - { - $this->flashes['new'] = $messages; - } - - /** - * {@inheritdoc} - */ - public function set($type, $messages) - { - $this->flashes['new'][$type] = (array) $messages; - } - - /** - * {@inheritdoc} - */ - public function has($type) - { - return \array_key_exists($type, $this->flashes['display']) && $this->flashes['display'][$type]; - } - - /** - * {@inheritdoc} - */ - public function keys() - { - return array_keys($this->flashes['display']); - } - - /** - * {@inheritdoc} - */ - public function getStorageKey() - { - return $this->storageKey; - } - - /** - * {@inheritdoc} - */ - public function clear() - { - return $this->all(); - } -} diff --git a/paragonik-backend/vendor/symfony/http-foundation/Session/Flash/FlashBag.php b/paragonik-backend/vendor/symfony/http-foundation/Session/Flash/FlashBag.php deleted file mode 100644 index c6b7ce3..0000000 --- a/paragonik-backend/vendor/symfony/http-foundation/Session/Flash/FlashBag.php +++ /dev/null @@ -1,152 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpFoundation\Session\Flash; - -/** - * FlashBag flash message container. - * - * @author Drak - */ -class FlashBag implements FlashBagInterface -{ - private $name = 'flashes'; - private $flashes = []; - private $storageKey; - - /** - * @param string $storageKey The key used to store flashes in the session - */ - public function __construct(string $storageKey = '_symfony_flashes') - { - $this->storageKey = $storageKey; - } - - /** - * {@inheritdoc} - */ - public function getName() - { - return $this->name; - } - - public function setName($name) - { - $this->name = $name; - } - - /** - * {@inheritdoc} - */ - public function initialize(array &$flashes) - { - $this->flashes = &$flashes; - } - - /** - * {@inheritdoc} - */ - public function add($type, $message) - { - $this->flashes[$type][] = $message; - } - - /** - * {@inheritdoc} - */ - public function peek($type, array $default = []) - { - return $this->has($type) ? $this->flashes[$type] : $default; - } - - /** - * {@inheritdoc} - */ - public function peekAll() - { - return $this->flashes; - } - - /** - * {@inheritdoc} - */ - public function get($type, array $default = []) - { - if (!$this->has($type)) { - return $default; - } - - $return = $this->flashes[$type]; - - unset($this->flashes[$type]); - - return $return; - } - - /** - * {@inheritdoc} - */ - public function all() - { - $return = $this->peekAll(); - $this->flashes = []; - - return $return; - } - - /** - * {@inheritdoc} - */ - public function set($type, $messages) - { - $this->flashes[$type] = (array) $messages; - } - - /** - * {@inheritdoc} - */ - public function setAll(array $messages) - { - $this->flashes = $messages; - } - - /** - * {@inheritdoc} - */ - public function has($type) - { - return \array_key_exists($type, $this->flashes) && $this->flashes[$type]; - } - - /** - * {@inheritdoc} - */ - public function keys() - { - return array_keys($this->flashes); - } - - /** - * {@inheritdoc} - */ - public function getStorageKey() - { - return $this->storageKey; - } - - /** - * {@inheritdoc} - */ - public function clear() - { - return $this->all(); - } -} diff --git a/paragonik-backend/vendor/symfony/http-foundation/Session/Flash/FlashBagInterface.php b/paragonik-backend/vendor/symfony/http-foundation/Session/Flash/FlashBagInterface.php deleted file mode 100644 index 99e8074..0000000 --- a/paragonik-backend/vendor/symfony/http-foundation/Session/Flash/FlashBagInterface.php +++ /dev/null @@ -1,93 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpFoundation\Session\Flash; - -use Symfony\Component\HttpFoundation\Session\SessionBagInterface; - -/** - * FlashBagInterface. - * - * @author Drak - */ -interface FlashBagInterface extends SessionBagInterface -{ - /** - * Adds a flash message for the given type. - * - * @param string $type - * @param mixed $message - */ - public function add($type, $message); - - /** - * Registers one or more messages for a given type. - * - * @param string $type - * @param string|array $messages - */ - public function set($type, $messages); - - /** - * Gets flash messages for a given type. - * - * @param string $type Message category type - * @param array $default Default value if $type does not exist - * - * @return array - */ - public function peek($type, array $default = []); - - /** - * Gets all flash messages. - * - * @return array - */ - public function peekAll(); - - /** - * Gets and clears flash from the stack. - * - * @param string $type - * @param array $default Default value if $type does not exist - * - * @return array - */ - public function get($type, array $default = []); - - /** - * Gets and clears flashes from the stack. - * - * @return array - */ - public function all(); - - /** - * Sets all flash messages. - */ - public function setAll(array $messages); - - /** - * Has flash messages for a given type? - * - * @param string $type - * - * @return bool - */ - public function has($type); - - /** - * Returns a list of all defined types. - * - * @return array - */ - public function keys(); -} diff --git a/paragonik-backend/vendor/symfony/http-foundation/Session/Session.php b/paragonik-backend/vendor/symfony/http-foundation/Session/Session.php deleted file mode 100644 index 2192c62..0000000 --- a/paragonik-backend/vendor/symfony/http-foundation/Session/Session.php +++ /dev/null @@ -1,268 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpFoundation\Session; - -use Symfony\Component\HttpFoundation\Session\Attribute\AttributeBag; -use Symfony\Component\HttpFoundation\Session\Attribute\AttributeBagInterface; -use Symfony\Component\HttpFoundation\Session\Flash\FlashBag; -use Symfony\Component\HttpFoundation\Session\Flash\FlashBagInterface; -use Symfony\Component\HttpFoundation\Session\Storage\NativeSessionStorage; -use Symfony\Component\HttpFoundation\Session\Storage\SessionStorageInterface; - -/** - * @author Fabien Potencier - * @author Drak - */ -class Session implements SessionInterface, \IteratorAggregate, \Countable -{ - protected $storage; - - private $flashName; - private $attributeName; - private $data = []; - private $usageIndex = 0; - - public function __construct(SessionStorageInterface $storage = null, AttributeBagInterface $attributes = null, FlashBagInterface $flashes = null) - { - $this->storage = $storage ?: new NativeSessionStorage(); - - $attributes = $attributes ?: new AttributeBag(); - $this->attributeName = $attributes->getName(); - $this->registerBag($attributes); - - $flashes = $flashes ?: new FlashBag(); - $this->flashName = $flashes->getName(); - $this->registerBag($flashes); - } - - /** - * {@inheritdoc} - */ - public function start() - { - return $this->storage->start(); - } - - /** - * {@inheritdoc} - */ - public function has($name) - { - return $this->getAttributeBag()->has($name); - } - - /** - * {@inheritdoc} - */ - public function get($name, $default = null) - { - return $this->getAttributeBag()->get($name, $default); - } - - /** - * {@inheritdoc} - */ - public function set($name, $value) - { - $this->getAttributeBag()->set($name, $value); - } - - /** - * {@inheritdoc} - */ - public function all() - { - return $this->getAttributeBag()->all(); - } - - /** - * {@inheritdoc} - */ - public function replace(array $attributes) - { - $this->getAttributeBag()->replace($attributes); - } - - /** - * {@inheritdoc} - */ - public function remove($name) - { - return $this->getAttributeBag()->remove($name); - } - - /** - * {@inheritdoc} - */ - public function clear() - { - $this->getAttributeBag()->clear(); - } - - /** - * {@inheritdoc} - */ - public function isStarted() - { - return $this->storage->isStarted(); - } - - /** - * Returns an iterator for attributes. - * - * @return \ArrayIterator An \ArrayIterator instance - */ - public function getIterator() - { - return new \ArrayIterator($this->getAttributeBag()->all()); - } - - /** - * Returns the number of attributes. - * - * @return int - */ - public function count() - { - return \count($this->getAttributeBag()->all()); - } - - public function &getUsageIndex(): int - { - return $this->usageIndex; - } - - /** - * @internal - */ - public function isEmpty(): bool - { - if ($this->isStarted()) { - ++$this->usageIndex; - } - foreach ($this->data as &$data) { - if (!empty($data)) { - return false; - } - } - - return true; - } - - /** - * {@inheritdoc} - */ - public function invalidate($lifetime = null) - { - $this->storage->clear(); - - return $this->migrate(true, $lifetime); - } - - /** - * {@inheritdoc} - */ - public function migrate($destroy = false, $lifetime = null) - { - return $this->storage->regenerate($destroy, $lifetime); - } - - /** - * {@inheritdoc} - */ - public function save() - { - $this->storage->save(); - } - - /** - * {@inheritdoc} - */ - public function getId() - { - return $this->storage->getId(); - } - - /** - * {@inheritdoc} - */ - public function setId($id) - { - if ($this->storage->getId() !== $id) { - $this->storage->setId($id); - } - } - - /** - * {@inheritdoc} - */ - public function getName() - { - return $this->storage->getName(); - } - - /** - * {@inheritdoc} - */ - public function setName($name) - { - $this->storage->setName($name); - } - - /** - * {@inheritdoc} - */ - public function getMetadataBag() - { - ++$this->usageIndex; - - return $this->storage->getMetadataBag(); - } - - /** - * {@inheritdoc} - */ - public function registerBag(SessionBagInterface $bag) - { - $this->storage->registerBag(new SessionBagProxy($bag, $this->data, $this->usageIndex)); - } - - /** - * {@inheritdoc} - */ - public function getBag($name) - { - $bag = $this->storage->getBag($name); - - return method_exists($bag, 'getBag') ? $bag->getBag() : $bag; - } - - /** - * Gets the flashbag interface. - * - * @return FlashBagInterface - */ - public function getFlashBag() - { - return $this->getBag($this->flashName); - } - - /** - * Gets the attributebag interface. - * - * Note that this method was added to help with IDE autocompletion. - */ - private function getAttributeBag(): AttributeBagInterface - { - return $this->getBag($this->attributeName); - } -} diff --git a/paragonik-backend/vendor/symfony/http-foundation/Session/SessionBagInterface.php b/paragonik-backend/vendor/symfony/http-foundation/Session/SessionBagInterface.php deleted file mode 100644 index 8e37d06..0000000 --- a/paragonik-backend/vendor/symfony/http-foundation/Session/SessionBagInterface.php +++ /dev/null @@ -1,46 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpFoundation\Session; - -/** - * Session Bag store. - * - * @author Drak - */ -interface SessionBagInterface -{ - /** - * Gets this bag's name. - * - * @return string - */ - public function getName(); - - /** - * Initializes the Bag. - */ - public function initialize(array &$array); - - /** - * Gets the storage key for this bag. - * - * @return string - */ - public function getStorageKey(); - - /** - * Clears out data from bag. - * - * @return mixed Whatever data was contained - */ - public function clear(); -} diff --git a/paragonik-backend/vendor/symfony/http-foundation/Session/SessionBagProxy.php b/paragonik-backend/vendor/symfony/http-foundation/Session/SessionBagProxy.php deleted file mode 100644 index 0ae8231..0000000 --- a/paragonik-backend/vendor/symfony/http-foundation/Session/SessionBagProxy.php +++ /dev/null @@ -1,83 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpFoundation\Session; - -/** - * @author Nicolas Grekas - * - * @internal - */ -final class SessionBagProxy implements SessionBagInterface -{ - private $bag; - private $data; - private $usageIndex; - - public function __construct(SessionBagInterface $bag, array &$data, ?int &$usageIndex) - { - $this->bag = $bag; - $this->data = &$data; - $this->usageIndex = &$usageIndex; - } - - public function getBag(): SessionBagInterface - { - ++$this->usageIndex; - - return $this->bag; - } - - public function isEmpty(): bool - { - if (!isset($this->data[$this->bag->getStorageKey()])) { - return true; - } - ++$this->usageIndex; - - return empty($this->data[$this->bag->getStorageKey()]); - } - - /** - * {@inheritdoc} - */ - public function getName(): string - { - return $this->bag->getName(); - } - - /** - * {@inheritdoc} - */ - public function initialize(array &$array): void - { - ++$this->usageIndex; - $this->data[$this->bag->getStorageKey()] = &$array; - - $this->bag->initialize($array); - } - - /** - * {@inheritdoc} - */ - public function getStorageKey(): string - { - return $this->bag->getStorageKey(); - } - - /** - * {@inheritdoc} - */ - public function clear() - { - return $this->bag->clear(); - } -} diff --git a/paragonik-backend/vendor/symfony/http-foundation/Session/SessionInterface.php b/paragonik-backend/vendor/symfony/http-foundation/Session/SessionInterface.php deleted file mode 100644 index e758c6b..0000000 --- a/paragonik-backend/vendor/symfony/http-foundation/Session/SessionInterface.php +++ /dev/null @@ -1,178 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpFoundation\Session; - -use Symfony\Component\HttpFoundation\Session\Storage\MetadataBag; - -/** - * Interface for the session. - * - * @author Drak - */ -interface SessionInterface -{ - /** - * Starts the session storage. - * - * @return bool - * - * @throws \RuntimeException if session fails to start - */ - public function start(); - - /** - * Returns the session ID. - * - * @return string - */ - public function getId(); - - /** - * Sets the session ID. - * - * @param string $id - */ - public function setId($id); - - /** - * Returns the session name. - * - * @return string - */ - public function getName(); - - /** - * Sets the session name. - * - * @param string $name - */ - public function setName($name); - - /** - * Invalidates the current session. - * - * Clears all session attributes and flashes and regenerates the - * session and deletes the old session from persistence. - * - * @param int $lifetime Sets the cookie lifetime for the session cookie. A null value - * will leave the system settings unchanged, 0 sets the cookie - * to expire with browser session. Time is in seconds, and is - * not a Unix timestamp. - * - * @return bool - */ - public function invalidate($lifetime = null); - - /** - * Migrates the current session to a new session id while maintaining all - * session attributes. - * - * @param bool $destroy Whether to delete the old session or leave it to garbage collection - * @param int $lifetime Sets the cookie lifetime for the session cookie. A null value - * will leave the system settings unchanged, 0 sets the cookie - * to expire with browser session. Time is in seconds, and is - * not a Unix timestamp. - * - * @return bool - */ - public function migrate($destroy = false, $lifetime = null); - - /** - * Force the session to be saved and closed. - * - * This method is generally not required for real sessions as - * the session will be automatically saved at the end of - * code execution. - */ - public function save(); - - /** - * Checks if an attribute is defined. - * - * @param string $name The attribute name - * - * @return bool - */ - public function has($name); - - /** - * Returns an attribute. - * - * @param string $name The attribute name - * @param mixed $default The default value if not found - * - * @return mixed - */ - public function get($name, $default = null); - - /** - * Sets an attribute. - * - * @param string $name - * @param mixed $value - */ - public function set($name, $value); - - /** - * Returns attributes. - * - * @return array - */ - public function all(); - - /** - * Sets attributes. - */ - public function replace(array $attributes); - - /** - * Removes an attribute. - * - * @param string $name - * - * @return mixed The removed value or null when it does not exist - */ - public function remove($name); - - /** - * Clears all attributes. - */ - public function clear(); - - /** - * Checks if the session was started. - * - * @return bool - */ - public function isStarted(); - - /** - * Registers a SessionBagInterface with the session. - */ - public function registerBag(SessionBagInterface $bag); - - /** - * Gets a bag instance by name. - * - * @param string $name - * - * @return SessionBagInterface - */ - public function getBag($name); - - /** - * Gets session meta. - * - * @return MetadataBag - */ - public function getMetadataBag(); -} diff --git a/paragonik-backend/vendor/symfony/http-foundation/Session/SessionUtils.php b/paragonik-backend/vendor/symfony/http-foundation/Session/SessionUtils.php deleted file mode 100644 index b5bce4a..0000000 --- a/paragonik-backend/vendor/symfony/http-foundation/Session/SessionUtils.php +++ /dev/null @@ -1,59 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpFoundation\Session; - -/** - * Session utility functions. - * - * @author Nicolas Grekas - * @author Rémon van de Kamp - * - * @internal - */ -final class SessionUtils -{ - /** - * Finds the session header amongst the headers that are to be sent, removes it, and returns - * it so the caller can process it further. - */ - public static function popSessionCookie(string $sessionName, string $sessionId): ?string - { - $sessionCookie = null; - $sessionCookiePrefix = sprintf(' %s=', urlencode($sessionName)); - $sessionCookieWithId = sprintf('%s%s;', $sessionCookiePrefix, urlencode($sessionId)); - $otherCookies = []; - foreach (headers_list() as $h) { - if (0 !== stripos($h, 'Set-Cookie:')) { - continue; - } - if (11 === strpos($h, $sessionCookiePrefix, 11)) { - $sessionCookie = $h; - - if (11 !== strpos($h, $sessionCookieWithId, 11)) { - $otherCookies[] = $h; - } - } else { - $otherCookies[] = $h; - } - } - if (null === $sessionCookie) { - return null; - } - - header_remove('Set-Cookie'); - foreach ($otherCookies as $h) { - header($h, false); - } - - return $sessionCookie; - } -} diff --git a/paragonik-backend/vendor/symfony/http-foundation/Session/Storage/Handler/AbstractSessionHandler.php b/paragonik-backend/vendor/symfony/http-foundation/Session/Storage/Handler/AbstractSessionHandler.php deleted file mode 100644 index bcde59e..0000000 --- a/paragonik-backend/vendor/symfony/http-foundation/Session/Storage/Handler/AbstractSessionHandler.php +++ /dev/null @@ -1,148 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpFoundation\Session\Storage\Handler; - -use Symfony\Component\HttpFoundation\Session\SessionUtils; - -/** - * This abstract session handler provides a generic implementation - * of the PHP 7.0 SessionUpdateTimestampHandlerInterface, - * enabling strict and lazy session handling. - * - * @author Nicolas Grekas - */ -abstract class AbstractSessionHandler implements \SessionHandlerInterface, \SessionUpdateTimestampHandlerInterface -{ - private $sessionName; - private $prefetchId; - private $prefetchData; - private $newSessionId; - private $igbinaryEmptyData; - - /** - * @return bool - */ - public function open($savePath, $sessionName) - { - $this->sessionName = $sessionName; - if (!headers_sent() && !ini_get('session.cache_limiter') && '0' !== ini_get('session.cache_limiter')) { - header(sprintf('Cache-Control: max-age=%d, private, must-revalidate', 60 * (int) ini_get('session.cache_expire'))); - } - - return true; - } - - /** - * @param string $sessionId - * - * @return string - */ - abstract protected function doRead($sessionId); - - /** - * @param string $sessionId - * @param string $data - * - * @return bool - */ - abstract protected function doWrite($sessionId, $data); - - /** - * @param string $sessionId - * - * @return bool - */ - abstract protected function doDestroy($sessionId); - - /** - * @return bool - */ - public function validateId($sessionId) - { - $this->prefetchData = $this->read($sessionId); - $this->prefetchId = $sessionId; - - return '' !== $this->prefetchData; - } - - /** - * @return string - */ - public function read($sessionId) - { - if (null !== $this->prefetchId) { - $prefetchId = $this->prefetchId; - $prefetchData = $this->prefetchData; - $this->prefetchId = $this->prefetchData = null; - - if ($prefetchId === $sessionId || '' === $prefetchData) { - $this->newSessionId = '' === $prefetchData ? $sessionId : null; - - return $prefetchData; - } - } - - $data = $this->doRead($sessionId); - $this->newSessionId = '' === $data ? $sessionId : null; - - return $data; - } - - /** - * @return bool - */ - public function write($sessionId, $data) - { - if (null === $this->igbinaryEmptyData) { - // see https://github.com/igbinary/igbinary/issues/146 - $this->igbinaryEmptyData = \function_exists('igbinary_serialize') ? igbinary_serialize([]) : ''; - } - if ('' === $data || $this->igbinaryEmptyData === $data) { - return $this->destroy($sessionId); - } - $this->newSessionId = null; - - return $this->doWrite($sessionId, $data); - } - - /** - * @return bool - */ - public function destroy($sessionId) - { - if (!headers_sent() && filter_var(ini_get('session.use_cookies'), FILTER_VALIDATE_BOOLEAN)) { - if (!$this->sessionName) { - throw new \LogicException(sprintf('Session name cannot be empty, did you forget to call "parent::open()" in "%s"?.', \get_class($this))); - } - $cookie = SessionUtils::popSessionCookie($this->sessionName, $sessionId); - - /* - * We send an invalidation Set-Cookie header (zero lifetime) - * when either the session was started or a cookie with - * the session name was sent by the client (in which case - * we know it's invalid as a valid session cookie would've - * started the session). - */ - if (null === $cookie || isset($_COOKIE[$this->sessionName])) { - if (\PHP_VERSION_ID < 70300) { - setcookie($this->sessionName, '', 0, ini_get('session.cookie_path'), ini_get('session.cookie_domain'), filter_var(ini_get('session.cookie_secure'), FILTER_VALIDATE_BOOLEAN), filter_var(ini_get('session.cookie_httponly'), FILTER_VALIDATE_BOOLEAN)); - } else { - $params = session_get_cookie_params(); - unset($params['lifetime']); - setcookie($this->sessionName, '', $params); - } - } - } - - return $this->newSessionId === $sessionId || $this->doDestroy($sessionId); - } -} diff --git a/paragonik-backend/vendor/symfony/http-foundation/Session/Storage/Handler/MemcachedSessionHandler.php b/paragonik-backend/vendor/symfony/http-foundation/Session/Storage/Handler/MemcachedSessionHandler.php deleted file mode 100644 index a399be5..0000000 --- a/paragonik-backend/vendor/symfony/http-foundation/Session/Storage/Handler/MemcachedSessionHandler.php +++ /dev/null @@ -1,119 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpFoundation\Session\Storage\Handler; - -/** - * Memcached based session storage handler based on the Memcached class - * provided by the PHP memcached extension. - * - * @see https://php.net/memcached - * - * @author Drak - */ -class MemcachedSessionHandler extends AbstractSessionHandler -{ - private $memcached; - - /** - * @var int Time to live in seconds - */ - private $ttl; - - /** - * @var string Key prefix for shared environments - */ - private $prefix; - - /** - * Constructor. - * - * List of available options: - * * prefix: The prefix to use for the memcached keys in order to avoid collision - * * expiretime: The time to live in seconds. - * - * @throws \InvalidArgumentException When unsupported options are passed - */ - public function __construct(\Memcached $memcached, array $options = []) - { - $this->memcached = $memcached; - - if ($diff = array_diff(array_keys($options), ['prefix', 'expiretime'])) { - throw new \InvalidArgumentException(sprintf('The following options are not supported "%s"', implode(', ', $diff))); - } - - $this->ttl = isset($options['expiretime']) ? (int) $options['expiretime'] : 86400; - $this->prefix = isset($options['prefix']) ? $options['prefix'] : 'sf2s'; - } - - /** - * @return bool - */ - public function close() - { - return $this->memcached->quit(); - } - - /** - * {@inheritdoc} - */ - protected function doRead($sessionId) - { - return $this->memcached->get($this->prefix.$sessionId) ?: ''; - } - - /** - * @return bool - */ - public function updateTimestamp($sessionId, $data) - { - $this->memcached->touch($this->prefix.$sessionId, time() + $this->ttl); - - return true; - } - - /** - * {@inheritdoc} - */ - protected function doWrite($sessionId, $data) - { - return $this->memcached->set($this->prefix.$sessionId, $data, time() + $this->ttl); - } - - /** - * {@inheritdoc} - */ - protected function doDestroy($sessionId) - { - $result = $this->memcached->delete($this->prefix.$sessionId); - - return $result || \Memcached::RES_NOTFOUND == $this->memcached->getResultCode(); - } - - /** - * @return bool - */ - public function gc($maxlifetime) - { - // not required here because memcached will auto expire the records anyhow. - return true; - } - - /** - * Return a Memcached instance. - * - * @return \Memcached - */ - protected function getMemcached() - { - return $this->memcached; - } -} diff --git a/paragonik-backend/vendor/symfony/http-foundation/Session/Storage/Handler/MigratingSessionHandler.php b/paragonik-backend/vendor/symfony/http-foundation/Session/Storage/Handler/MigratingSessionHandler.php deleted file mode 100644 index c6b16d1..0000000 --- a/paragonik-backend/vendor/symfony/http-foundation/Session/Storage/Handler/MigratingSessionHandler.php +++ /dev/null @@ -1,124 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpFoundation\Session\Storage\Handler; - -/** - * Migrating session handler for migrating from one handler to another. It reads - * from the current handler and writes both the current and new ones. - * - * It ignores errors from the new handler. - * - * @author Ross Motley - * @author Oliver Radwell - */ -class MigratingSessionHandler implements \SessionHandlerInterface, \SessionUpdateTimestampHandlerInterface -{ - private $currentHandler; - private $writeOnlyHandler; - - public function __construct(\SessionHandlerInterface $currentHandler, \SessionHandlerInterface $writeOnlyHandler) - { - if (!$currentHandler instanceof \SessionUpdateTimestampHandlerInterface) { - $currentHandler = new StrictSessionHandler($currentHandler); - } - if (!$writeOnlyHandler instanceof \SessionUpdateTimestampHandlerInterface) { - $writeOnlyHandler = new StrictSessionHandler($writeOnlyHandler); - } - - $this->currentHandler = $currentHandler; - $this->writeOnlyHandler = $writeOnlyHandler; - } - - /** - * @return bool - */ - public function close() - { - $result = $this->currentHandler->close(); - $this->writeOnlyHandler->close(); - - return $result; - } - - /** - * @return bool - */ - public function destroy($sessionId) - { - $result = $this->currentHandler->destroy($sessionId); - $this->writeOnlyHandler->destroy($sessionId); - - return $result; - } - - /** - * @return bool - */ - public function gc($maxlifetime) - { - $result = $this->currentHandler->gc($maxlifetime); - $this->writeOnlyHandler->gc($maxlifetime); - - return $result; - } - - /** - * @return bool - */ - public function open($savePath, $sessionName) - { - $result = $this->currentHandler->open($savePath, $sessionName); - $this->writeOnlyHandler->open($savePath, $sessionName); - - return $result; - } - - /** - * @return string - */ - public function read($sessionId) - { - // No reading from new handler until switch-over - return $this->currentHandler->read($sessionId); - } - - /** - * @return bool - */ - public function write($sessionId, $sessionData) - { - $result = $this->currentHandler->write($sessionId, $sessionData); - $this->writeOnlyHandler->write($sessionId, $sessionData); - - return $result; - } - - /** - * @return bool - */ - public function validateId($sessionId) - { - // No reading from new handler until switch-over - return $this->currentHandler->validateId($sessionId); - } - - /** - * @return bool - */ - public function updateTimestamp($sessionId, $sessionData) - { - $result = $this->currentHandler->updateTimestamp($sessionId, $sessionData); - $this->writeOnlyHandler->updateTimestamp($sessionId, $sessionData); - - return $result; - } -} diff --git a/paragonik-backend/vendor/symfony/http-foundation/Session/Storage/Handler/MongoDbSessionHandler.php b/paragonik-backend/vendor/symfony/http-foundation/Session/Storage/Handler/MongoDbSessionHandler.php deleted file mode 100644 index 27e0800..0000000 --- a/paragonik-backend/vendor/symfony/http-foundation/Session/Storage/Handler/MongoDbSessionHandler.php +++ /dev/null @@ -1,187 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpFoundation\Session\Storage\Handler; - -/** - * Session handler using the mongodb/mongodb package and MongoDB driver extension. - * - * @author Markus Bachmann - * - * @see https://packagist.org/packages/mongodb/mongodb - * @see https://php.net/mongodb - */ -class MongoDbSessionHandler extends AbstractSessionHandler -{ - private $mongo; - - /** - * @var \MongoDB\Collection - */ - private $collection; - - /** - * @var array - */ - private $options; - - /** - * Constructor. - * - * List of available options: - * * database: The name of the database [required] - * * collection: The name of the collection [required] - * * id_field: The field name for storing the session id [default: _id] - * * data_field: The field name for storing the session data [default: data] - * * time_field: The field name for storing the timestamp [default: time] - * * expiry_field: The field name for storing the expiry-timestamp [default: expires_at]. - * - * It is strongly recommended to put an index on the `expiry_field` for - * garbage-collection. Alternatively it's possible to automatically expire - * the sessions in the database as described below: - * - * A TTL collections can be used on MongoDB 2.2+ to cleanup expired sessions - * automatically. Such an index can for example look like this: - * - * db..ensureIndex( - * { "": 1 }, - * { "expireAfterSeconds": 0 } - * ) - * - * More details on: https://docs.mongodb.org/manual/tutorial/expire-data/ - * - * If you use such an index, you can drop `gc_probability` to 0 since - * no garbage-collection is required. - * - * @throws \InvalidArgumentException When "database" or "collection" not provided - */ - public function __construct(\MongoDB\Client $mongo, array $options) - { - if (!isset($options['database']) || !isset($options['collection'])) { - throw new \InvalidArgumentException('You must provide the "database" and "collection" option for MongoDBSessionHandler'); - } - - $this->mongo = $mongo; - - $this->options = array_merge([ - 'id_field' => '_id', - 'data_field' => 'data', - 'time_field' => 'time', - 'expiry_field' => 'expires_at', - ], $options); - } - - /** - * @return bool - */ - public function close() - { - return true; - } - - /** - * {@inheritdoc} - */ - protected function doDestroy($sessionId) - { - $this->getCollection()->deleteOne([ - $this->options['id_field'] => $sessionId, - ]); - - return true; - } - - /** - * @return bool - */ - public function gc($maxlifetime) - { - $this->getCollection()->deleteMany([ - $this->options['expiry_field'] => ['$lt' => new \MongoDB\BSON\UTCDateTime()], - ]); - - return true; - } - - /** - * {@inheritdoc} - */ - protected function doWrite($sessionId, $data) - { - $expiry = new \MongoDB\BSON\UTCDateTime((time() + (int) ini_get('session.gc_maxlifetime')) * 1000); - - $fields = [ - $this->options['time_field'] => new \MongoDB\BSON\UTCDateTime(), - $this->options['expiry_field'] => $expiry, - $this->options['data_field'] => new \MongoDB\BSON\Binary($data, \MongoDB\BSON\Binary::TYPE_OLD_BINARY), - ]; - - $this->getCollection()->updateOne( - [$this->options['id_field'] => $sessionId], - ['$set' => $fields], - ['upsert' => true] - ); - - return true; - } - - /** - * @return bool - */ - public function updateTimestamp($sessionId, $data) - { - $expiry = new \MongoDB\BSON\UTCDateTime((time() + (int) ini_get('session.gc_maxlifetime')) * 1000); - - $this->getCollection()->updateOne( - [$this->options['id_field'] => $sessionId], - ['$set' => [ - $this->options['time_field'] => new \MongoDB\BSON\UTCDateTime(), - $this->options['expiry_field'] => $expiry, - ]] - ); - - return true; - } - - /** - * {@inheritdoc} - */ - protected function doRead($sessionId) - { - $dbData = $this->getCollection()->findOne([ - $this->options['id_field'] => $sessionId, - $this->options['expiry_field'] => ['$gte' => new \MongoDB\BSON\UTCDateTime()], - ]); - - if (null === $dbData) { - return ''; - } - - return $dbData[$this->options['data_field']]->getData(); - } - - private function getCollection(): \MongoDB\Collection - { - if (null === $this->collection) { - $this->collection = $this->mongo->selectCollection($this->options['database'], $this->options['collection']); - } - - return $this->collection; - } - - /** - * @return \MongoDB\Client - */ - protected function getMongo() - { - return $this->mongo; - } -} diff --git a/paragonik-backend/vendor/symfony/http-foundation/Session/Storage/Handler/NativeFileSessionHandler.php b/paragonik-backend/vendor/symfony/http-foundation/Session/Storage/Handler/NativeFileSessionHandler.php deleted file mode 100644 index bdfc9d8..0000000 --- a/paragonik-backend/vendor/symfony/http-foundation/Session/Storage/Handler/NativeFileSessionHandler.php +++ /dev/null @@ -1,55 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpFoundation\Session\Storage\Handler; - -/** - * Native session handler using PHP's built in file storage. - * - * @author Drak - */ -class NativeFileSessionHandler extends \SessionHandler -{ - /** - * @param string $savePath Path of directory to save session files - * Default null will leave setting as defined by PHP. - * '/path', 'N;/path', or 'N;octal-mode;/path - * - * @see https://php.net/session.configuration#ini.session.save-path for further details. - * - * @throws \InvalidArgumentException On invalid $savePath - * @throws \RuntimeException When failing to create the save directory - */ - public function __construct(string $savePath = null) - { - if (null === $savePath) { - $savePath = ini_get('session.save_path'); - } - - $baseDir = $savePath; - - if ($count = substr_count($savePath, ';')) { - if ($count > 2) { - throw new \InvalidArgumentException(sprintf('Invalid argument $savePath \'%s\'', $savePath)); - } - - // characters after last ';' are the path - $baseDir = ltrim(strrchr($savePath, ';'), ';'); - } - - if ($baseDir && !is_dir($baseDir) && !@mkdir($baseDir, 0777, true) && !is_dir($baseDir)) { - throw new \RuntimeException(sprintf('Session Storage was not able to create directory "%s"', $baseDir)); - } - - ini_set('session.save_path', $savePath); - ini_set('session.save_handler', 'files'); - } -} diff --git a/paragonik-backend/vendor/symfony/http-foundation/Session/Storage/Handler/NullSessionHandler.php b/paragonik-backend/vendor/symfony/http-foundation/Session/Storage/Handler/NullSessionHandler.php deleted file mode 100644 index 0634e46..0000000 --- a/paragonik-backend/vendor/symfony/http-foundation/Session/Storage/Handler/NullSessionHandler.php +++ /dev/null @@ -1,76 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpFoundation\Session\Storage\Handler; - -/** - * Can be used in unit testing or in a situations where persisted sessions are not desired. - * - * @author Drak - */ -class NullSessionHandler extends AbstractSessionHandler -{ - /** - * @return bool - */ - public function close() - { - return true; - } - - /** - * @return bool - */ - public function validateId($sessionId) - { - return true; - } - - /** - * {@inheritdoc} - */ - protected function doRead($sessionId) - { - return ''; - } - - /** - * @return bool - */ - public function updateTimestamp($sessionId, $data) - { - return true; - } - - /** - * {@inheritdoc} - */ - protected function doWrite($sessionId, $data) - { - return true; - } - - /** - * {@inheritdoc} - */ - protected function doDestroy($sessionId) - { - return true; - } - - /** - * @return bool - */ - public function gc($maxlifetime) - { - return true; - } -} diff --git a/paragonik-backend/vendor/symfony/http-foundation/Session/Storage/Handler/PdoSessionHandler.php b/paragonik-backend/vendor/symfony/http-foundation/Session/Storage/Handler/PdoSessionHandler.php deleted file mode 100644 index 7942e0a..0000000 --- a/paragonik-backend/vendor/symfony/http-foundation/Session/Storage/Handler/PdoSessionHandler.php +++ /dev/null @@ -1,901 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpFoundation\Session\Storage\Handler; - -/** - * Session handler using a PDO connection to read and write data. - * - * It works with MySQL, PostgreSQL, Oracle, SQL Server and SQLite and implements - * different locking strategies to handle concurrent access to the same session. - * Locking is necessary to prevent loss of data due to race conditions and to keep - * the session data consistent between read() and write(). With locking, requests - * for the same session will wait until the other one finished writing. For this - * reason it's best practice to close a session as early as possible to improve - * concurrency. PHPs internal files session handler also implements locking. - * - * Attention: Since SQLite does not support row level locks but locks the whole database, - * it means only one session can be accessed at a time. Even different sessions would wait - * for another to finish. So saving session in SQLite should only be considered for - * development or prototypes. - * - * Session data is a binary string that can contain non-printable characters like the null byte. - * For this reason it must be saved in a binary column in the database like BLOB in MySQL. - * Saving it in a character column could corrupt the data. You can use createTable() - * to initialize a correctly defined table. - * - * @see https://php.net/sessionhandlerinterface - * - * @author Fabien Potencier - * @author Michael Williams - * @author Tobias Schultze - */ -class PdoSessionHandler extends AbstractSessionHandler -{ - /** - * No locking is done. This means sessions are prone to loss of data due to - * race conditions of concurrent requests to the same session. The last session - * write will win in this case. It might be useful when you implement your own - * logic to deal with this like an optimistic approach. - */ - const LOCK_NONE = 0; - - /** - * Creates an application-level lock on a session. The disadvantage is that the - * lock is not enforced by the database and thus other, unaware parts of the - * application could still concurrently modify the session. The advantage is it - * does not require a transaction. - * This mode is not available for SQLite and not yet implemented for oci and sqlsrv. - */ - const LOCK_ADVISORY = 1; - - /** - * Issues a real row lock. Since it uses a transaction between opening and - * closing a session, you have to be careful when you use same database connection - * that you also use for your application logic. This mode is the default because - * it's the only reliable solution across DBMSs. - */ - const LOCK_TRANSACTIONAL = 2; - - private const MAX_LIFETIME = 315576000; - - /** - * @var \PDO|null PDO instance or null when not connected yet - */ - private $pdo; - - /** - * @var string|false|null DSN string or null for session.save_path or false when lazy connection disabled - */ - private $dsn = false; - - /** - * @var string Database driver - */ - private $driver; - - /** - * @var string Table name - */ - private $table = 'sessions'; - - /** - * @var string Column for session id - */ - private $idCol = 'sess_id'; - - /** - * @var string Column for session data - */ - private $dataCol = 'sess_data'; - - /** - * @var string Column for lifetime - */ - private $lifetimeCol = 'sess_lifetime'; - - /** - * @var string Column for timestamp - */ - private $timeCol = 'sess_time'; - - /** - * @var string Username when lazy-connect - */ - private $username = ''; - - /** - * @var string Password when lazy-connect - */ - private $password = ''; - - /** - * @var array Connection options when lazy-connect - */ - private $connectionOptions = []; - - /** - * @var int The strategy for locking, see constants - */ - private $lockMode = self::LOCK_TRANSACTIONAL; - - /** - * It's an array to support multiple reads before closing which is manual, non-standard usage. - * - * @var \PDOStatement[] An array of statements to release advisory locks - */ - private $unlockStatements = []; - - /** - * @var bool True when the current session exists but expired according to session.gc_maxlifetime - */ - private $sessionExpired = false; - - /** - * @var bool Whether a transaction is active - */ - private $inTransaction = false; - - /** - * @var bool Whether gc() has been called - */ - private $gcCalled = false; - - /** - * You can either pass an existing database connection as PDO instance or - * pass a DSN string that will be used to lazy-connect to the database - * when the session is actually used. Furthermore it's possible to pass null - * which will then use the session.save_path ini setting as PDO DSN parameter. - * - * List of available options: - * * db_table: The name of the table [default: sessions] - * * db_id_col: The column where to store the session id [default: sess_id] - * * db_data_col: The column where to store the session data [default: sess_data] - * * db_lifetime_col: The column where to store the lifetime [default: sess_lifetime] - * * db_time_col: The column where to store the timestamp [default: sess_time] - * * db_username: The username when lazy-connect [default: ''] - * * db_password: The password when lazy-connect [default: ''] - * * db_connection_options: An array of driver-specific connection options [default: []] - * * lock_mode: The strategy for locking, see constants [default: LOCK_TRANSACTIONAL] - * - * @param \PDO|string|null $pdoOrDsn A \PDO instance or DSN string or URL string or null - * - * @throws \InvalidArgumentException When PDO error mode is not PDO::ERRMODE_EXCEPTION - */ - public function __construct($pdoOrDsn = null, array $options = []) - { - if ($pdoOrDsn instanceof \PDO) { - if (\PDO::ERRMODE_EXCEPTION !== $pdoOrDsn->getAttribute(\PDO::ATTR_ERRMODE)) { - throw new \InvalidArgumentException(sprintf('"%s" requires PDO error mode attribute be set to throw Exceptions (i.e. $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION))', __CLASS__)); - } - - $this->pdo = $pdoOrDsn; - $this->driver = $this->pdo->getAttribute(\PDO::ATTR_DRIVER_NAME); - } elseif (\is_string($pdoOrDsn) && false !== strpos($pdoOrDsn, '://')) { - $this->dsn = $this->buildDsnFromUrl($pdoOrDsn); - } else { - $this->dsn = $pdoOrDsn; - } - - $this->table = isset($options['db_table']) ? $options['db_table'] : $this->table; - $this->idCol = isset($options['db_id_col']) ? $options['db_id_col'] : $this->idCol; - $this->dataCol = isset($options['db_data_col']) ? $options['db_data_col'] : $this->dataCol; - $this->lifetimeCol = isset($options['db_lifetime_col']) ? $options['db_lifetime_col'] : $this->lifetimeCol; - $this->timeCol = isset($options['db_time_col']) ? $options['db_time_col'] : $this->timeCol; - $this->username = isset($options['db_username']) ? $options['db_username'] : $this->username; - $this->password = isset($options['db_password']) ? $options['db_password'] : $this->password; - $this->connectionOptions = isset($options['db_connection_options']) ? $options['db_connection_options'] : $this->connectionOptions; - $this->lockMode = isset($options['lock_mode']) ? $options['lock_mode'] : $this->lockMode; - } - - /** - * Creates the table to store sessions which can be called once for setup. - * - * Session ID is saved in a column of maximum length 128 because that is enough even - * for a 512 bit configured session.hash_function like Whirlpool. Session data is - * saved in a BLOB. One could also use a shorter inlined varbinary column - * if one was sure the data fits into it. - * - * @throws \PDOException When the table already exists - * @throws \DomainException When an unsupported PDO driver is used - */ - public function createTable() - { - // connect if we are not yet - $this->getConnection(); - - switch ($this->driver) { - case 'mysql': - // We use varbinary for the ID column because it prevents unwanted conversions: - // - character set conversions between server and client - // - trailing space removal - // - case-insensitivity - // - language processing like é == e - $sql = "CREATE TABLE $this->table ($this->idCol VARBINARY(128) NOT NULL PRIMARY KEY, $this->dataCol BLOB NOT NULL, $this->lifetimeCol INTEGER UNSIGNED NOT NULL, $this->timeCol INTEGER UNSIGNED NOT NULL) COLLATE utf8_bin, ENGINE = InnoDB"; - break; - case 'sqlite': - $sql = "CREATE TABLE $this->table ($this->idCol TEXT NOT NULL PRIMARY KEY, $this->dataCol BLOB NOT NULL, $this->lifetimeCol INTEGER NOT NULL, $this->timeCol INTEGER NOT NULL)"; - break; - case 'pgsql': - $sql = "CREATE TABLE $this->table ($this->idCol VARCHAR(128) NOT NULL PRIMARY KEY, $this->dataCol BYTEA NOT NULL, $this->lifetimeCol INTEGER NOT NULL, $this->timeCol INTEGER NOT NULL)"; - break; - case 'oci': - $sql = "CREATE TABLE $this->table ($this->idCol VARCHAR2(128) NOT NULL PRIMARY KEY, $this->dataCol BLOB NOT NULL, $this->lifetimeCol INTEGER NOT NULL, $this->timeCol INTEGER NOT NULL)"; - break; - case 'sqlsrv': - $sql = "CREATE TABLE $this->table ($this->idCol VARCHAR(128) NOT NULL PRIMARY KEY, $this->dataCol VARBINARY(MAX) NOT NULL, $this->lifetimeCol INTEGER NOT NULL, $this->timeCol INTEGER NOT NULL)"; - break; - default: - throw new \DomainException(sprintf('Creating the session table is currently not implemented for PDO driver "%s".', $this->driver)); - } - - try { - $this->pdo->exec($sql); - $this->pdo->exec("CREATE INDEX EXPIRY ON $this->table ($this->lifetimeCol)"); - } catch (\PDOException $e) { - $this->rollback(); - - throw $e; - } - } - - /** - * Returns true when the current session exists but expired according to session.gc_maxlifetime. - * - * Can be used to distinguish between a new session and one that expired due to inactivity. - * - * @return bool Whether current session expired - */ - public function isSessionExpired() - { - return $this->sessionExpired; - } - - /** - * @return bool - */ - public function open($savePath, $sessionName) - { - $this->sessionExpired = false; - - if (null === $this->pdo) { - $this->connect($this->dsn ?: $savePath); - } - - return parent::open($savePath, $sessionName); - } - - /** - * @return string - */ - public function read($sessionId) - { - try { - return parent::read($sessionId); - } catch (\PDOException $e) { - $this->rollback(); - - throw $e; - } - } - - /** - * @return bool - */ - public function gc($maxlifetime) - { - // We delay gc() to close() so that it is executed outside the transactional and blocking read-write process. - // This way, pruning expired sessions does not block them from being started while the current session is used. - $this->gcCalled = true; - - return true; - } - - /** - * {@inheritdoc} - */ - protected function doDestroy($sessionId) - { - // delete the record associated with this id - $sql = "DELETE FROM $this->table WHERE $this->idCol = :id"; - - try { - $stmt = $this->pdo->prepare($sql); - $stmt->bindParam(':id', $sessionId, \PDO::PARAM_STR); - $stmt->execute(); - } catch (\PDOException $e) { - $this->rollback(); - - throw $e; - } - - return true; - } - - /** - * {@inheritdoc} - */ - protected function doWrite($sessionId, $data) - { - $maxlifetime = (int) ini_get('session.gc_maxlifetime'); - - try { - // We use a single MERGE SQL query when supported by the database. - $mergeStmt = $this->getMergeStatement($sessionId, $data, $maxlifetime); - if (null !== $mergeStmt) { - $mergeStmt->execute(); - - return true; - } - - $updateStmt = $this->getUpdateStatement($sessionId, $data, $maxlifetime); - $updateStmt->execute(); - - // When MERGE is not supported, like in Postgres < 9.5, we have to use this approach that can result in - // duplicate key errors when the same session is written simultaneously (given the LOCK_NONE behavior). - // We can just catch such an error and re-execute the update. This is similar to a serializable - // transaction with retry logic on serialization failures but without the overhead and without possible - // false positives due to longer gap locking. - if (!$updateStmt->rowCount()) { - try { - $insertStmt = $this->getInsertStatement($sessionId, $data, $maxlifetime); - $insertStmt->execute(); - } catch (\PDOException $e) { - // Handle integrity violation SQLSTATE 23000 (or a subclass like 23505 in Postgres) for duplicate keys - if (0 === strpos($e->getCode(), '23')) { - $updateStmt->execute(); - } else { - throw $e; - } - } - } - } catch (\PDOException $e) { - $this->rollback(); - - throw $e; - } - - return true; - } - - /** - * @return bool - */ - public function updateTimestamp($sessionId, $data) - { - $expiry = time() + (int) ini_get('session.gc_maxlifetime'); - - try { - $updateStmt = $this->pdo->prepare( - "UPDATE $this->table SET $this->lifetimeCol = :expiry, $this->timeCol = :time WHERE $this->idCol = :id" - ); - $updateStmt->bindParam(':id', $sessionId, \PDO::PARAM_STR); - $updateStmt->bindParam(':expiry', $expiry, \PDO::PARAM_INT); - $updateStmt->bindValue(':time', time(), \PDO::PARAM_INT); - $updateStmt->execute(); - } catch (\PDOException $e) { - $this->rollback(); - - throw $e; - } - - return true; - } - - /** - * @return bool - */ - public function close() - { - $this->commit(); - - while ($unlockStmt = array_shift($this->unlockStatements)) { - $unlockStmt->execute(); - } - - if ($this->gcCalled) { - $this->gcCalled = false; - - // delete the session records that have expired - $sql = "DELETE FROM $this->table WHERE $this->lifetimeCol < :time AND $this->lifetimeCol > :min"; - $stmt = $this->pdo->prepare($sql); - $stmt->bindValue(':time', time(), \PDO::PARAM_INT); - $stmt->bindValue(':min', self::MAX_LIFETIME, \PDO::PARAM_INT); - $stmt->execute(); - // to be removed in 6.0 - if ('mysql' === $this->driver) { - $legacySql = "DELETE FROM $this->table WHERE $this->lifetimeCol <= :min AND $this->lifetimeCol + $this->timeCol < :time"; - } else { - $legacySql = "DELETE FROM $this->table WHERE $this->lifetimeCol <= :min AND $this->lifetimeCol < :time - $this->timeCol"; - } - - $stmt = $this->pdo->prepare($legacySql); - $stmt->bindValue(':time', time(), \PDO::PARAM_INT); - $stmt->bindValue(':min', self::MAX_LIFETIME, \PDO::PARAM_INT); - $stmt->execute(); - } - - if (false !== $this->dsn) { - $this->pdo = null; // only close lazy-connection - } - - return true; - } - - /** - * Lazy-connects to the database. - */ - private function connect(string $dsn): void - { - $this->pdo = new \PDO($dsn, $this->username, $this->password, $this->connectionOptions); - $this->pdo->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION); - $this->driver = $this->pdo->getAttribute(\PDO::ATTR_DRIVER_NAME); - } - - /** - * Builds a PDO DSN from a URL-like connection string. - * - * @todo implement missing support for oci DSN (which look totally different from other PDO ones) - */ - private function buildDsnFromUrl(string $dsnOrUrl): string - { - // (pdo_)?sqlite3?:///... => (pdo_)?sqlite3?://localhost/... or else the URL will be invalid - $url = preg_replace('#^((?:pdo_)?sqlite3?):///#', '$1://localhost/', $dsnOrUrl); - - $params = parse_url($url); - - if (false === $params) { - return $dsnOrUrl; // If the URL is not valid, let's assume it might be a DSN already. - } - - $params = array_map('rawurldecode', $params); - - // Override the default username and password. Values passed through options will still win over these in the constructor. - if (isset($params['user'])) { - $this->username = $params['user']; - } - - if (isset($params['pass'])) { - $this->password = $params['pass']; - } - - if (!isset($params['scheme'])) { - throw new \InvalidArgumentException('URLs without scheme are not supported to configure the PdoSessionHandler'); - } - - $driverAliasMap = [ - 'mssql' => 'sqlsrv', - 'mysql2' => 'mysql', // Amazon RDS, for some weird reason - 'postgres' => 'pgsql', - 'postgresql' => 'pgsql', - 'sqlite3' => 'sqlite', - ]; - - $driver = isset($driverAliasMap[$params['scheme']]) ? $driverAliasMap[$params['scheme']] : $params['scheme']; - - // Doctrine DBAL supports passing its internal pdo_* driver names directly too (allowing both dashes and underscores). This allows supporting the same here. - if (0 === strpos($driver, 'pdo_') || 0 === strpos($driver, 'pdo-')) { - $driver = substr($driver, 4); - } - - switch ($driver) { - case 'mysql': - case 'pgsql': - $dsn = $driver.':'; - - if (isset($params['host']) && '' !== $params['host']) { - $dsn .= 'host='.$params['host'].';'; - } - - if (isset($params['port']) && '' !== $params['port']) { - $dsn .= 'port='.$params['port'].';'; - } - - if (isset($params['path'])) { - $dbName = substr($params['path'], 1); // Remove the leading slash - $dsn .= 'dbname='.$dbName.';'; - } - - return $dsn; - - case 'sqlite': - return 'sqlite:'.substr($params['path'], 1); - - case 'sqlsrv': - $dsn = 'sqlsrv:server='; - - if (isset($params['host'])) { - $dsn .= $params['host']; - } - - if (isset($params['port']) && '' !== $params['port']) { - $dsn .= ','.$params['port']; - } - - if (isset($params['path'])) { - $dbName = substr($params['path'], 1); // Remove the leading slash - $dsn .= ';Database='.$dbName; - } - - return $dsn; - - default: - throw new \InvalidArgumentException(sprintf('The scheme "%s" is not supported by the PdoSessionHandler URL configuration. Pass a PDO DSN directly.', $params['scheme'])); - } - } - - /** - * Helper method to begin a transaction. - * - * Since SQLite does not support row level locks, we have to acquire a reserved lock - * on the database immediately. Because of https://bugs.php.net/42766 we have to create - * such a transaction manually which also means we cannot use PDO::commit or - * PDO::rollback or PDO::inTransaction for SQLite. - * - * Also MySQLs default isolation, REPEATABLE READ, causes deadlock for different sessions - * due to https://percona.com/blog/2013/12/12/one-more-innodb-gap-lock-to-avoid/ . - * So we change it to READ COMMITTED. - */ - private function beginTransaction(): void - { - if (!$this->inTransaction) { - if ('sqlite' === $this->driver) { - $this->pdo->exec('BEGIN IMMEDIATE TRANSACTION'); - } else { - if ('mysql' === $this->driver) { - $this->pdo->exec('SET TRANSACTION ISOLATION LEVEL READ COMMITTED'); - } - $this->pdo->beginTransaction(); - } - $this->inTransaction = true; - } - } - - /** - * Helper method to commit a transaction. - */ - private function commit(): void - { - if ($this->inTransaction) { - try { - // commit read-write transaction which also releases the lock - if ('sqlite' === $this->driver) { - $this->pdo->exec('COMMIT'); - } else { - $this->pdo->commit(); - } - $this->inTransaction = false; - } catch (\PDOException $e) { - $this->rollback(); - - throw $e; - } - } - } - - /** - * Helper method to rollback a transaction. - */ - private function rollback(): void - { - // We only need to rollback if we are in a transaction. Otherwise the resulting - // error would hide the real problem why rollback was called. We might not be - // in a transaction when not using the transactional locking behavior or when - // two callbacks (e.g. destroy and write) are invoked that both fail. - if ($this->inTransaction) { - if ('sqlite' === $this->driver) { - $this->pdo->exec('ROLLBACK'); - } else { - $this->pdo->rollBack(); - } - $this->inTransaction = false; - } - } - - /** - * Reads the session data in respect to the different locking strategies. - * - * We need to make sure we do not return session data that is already considered garbage according - * to the session.gc_maxlifetime setting because gc() is called after read() and only sometimes. - * - * @param string $sessionId Session ID - * - * @return string The session data - */ - protected function doRead($sessionId) - { - if (self::LOCK_ADVISORY === $this->lockMode) { - $this->unlockStatements[] = $this->doAdvisoryLock($sessionId); - } - - $selectSql = $this->getSelectSql(); - $selectStmt = $this->pdo->prepare($selectSql); - $selectStmt->bindParam(':id', $sessionId, \PDO::PARAM_STR); - $insertStmt = null; - - do { - $selectStmt->execute(); - $sessionRows = $selectStmt->fetchAll(\PDO::FETCH_NUM); - - if ($sessionRows) { - $expiry = (int) $sessionRows[0][1]; - if ($expiry <= self::MAX_LIFETIME) { - $expiry += $sessionRows[0][2]; - } - - if ($expiry < time()) { - $this->sessionExpired = true; - - return ''; - } - - return \is_resource($sessionRows[0][0]) ? stream_get_contents($sessionRows[0][0]) : $sessionRows[0][0]; - } - - if (null !== $insertStmt) { - $this->rollback(); - throw new \RuntimeException('Failed to read session: INSERT reported a duplicate id but next SELECT did not return any data.'); - } - - if (!filter_var(ini_get('session.use_strict_mode'), FILTER_VALIDATE_BOOLEAN) && self::LOCK_TRANSACTIONAL === $this->lockMode && 'sqlite' !== $this->driver) { - // In strict mode, session fixation is not possible: new sessions always start with a unique - // random id, so that concurrency is not possible and this code path can be skipped. - // Exclusive-reading of non-existent rows does not block, so we need to do an insert to block - // until other connections to the session are committed. - try { - $insertStmt = $this->getInsertStatement($sessionId, '', 0); - $insertStmt->execute(); - } catch (\PDOException $e) { - // Catch duplicate key error because other connection created the session already. - // It would only not be the case when the other connection destroyed the session. - if (0 === strpos($e->getCode(), '23')) { - // Retrieve finished session data written by concurrent connection by restarting the loop. - // We have to start a new transaction as a failed query will mark the current transaction as - // aborted in PostgreSQL and disallow further queries within it. - $this->rollback(); - $this->beginTransaction(); - continue; - } - - throw $e; - } - } - - return ''; - } while (true); - } - - /** - * Executes an application-level lock on the database. - * - * @return \PDOStatement The statement that needs to be executed later to release the lock - * - * @throws \DomainException When an unsupported PDO driver is used - * - * @todo implement missing advisory locks - * - for oci using DBMS_LOCK.REQUEST - * - for sqlsrv using sp_getapplock with LockOwner = Session - */ - private function doAdvisoryLock(string $sessionId): \PDOStatement - { - switch ($this->driver) { - case 'mysql': - // MySQL 5.7.5 and later enforces a maximum length on lock names of 64 characters. Previously, no limit was enforced. - $lockId = substr($sessionId, 0, 64); - // should we handle the return value? 0 on timeout, null on error - // we use a timeout of 50 seconds which is also the default for innodb_lock_wait_timeout - $stmt = $this->pdo->prepare('SELECT GET_LOCK(:key, 50)'); - $stmt->bindValue(':key', $lockId, \PDO::PARAM_STR); - $stmt->execute(); - - $releaseStmt = $this->pdo->prepare('DO RELEASE_LOCK(:key)'); - $releaseStmt->bindValue(':key', $lockId, \PDO::PARAM_STR); - - return $releaseStmt; - case 'pgsql': - // Obtaining an exclusive session level advisory lock requires an integer key. - // When session.sid_bits_per_character > 4, the session id can contain non-hex-characters. - // So we cannot just use hexdec(). - if (4 === \PHP_INT_SIZE) { - $sessionInt1 = $this->convertStringToInt($sessionId); - $sessionInt2 = $this->convertStringToInt(substr($sessionId, 4, 4)); - - $stmt = $this->pdo->prepare('SELECT pg_advisory_lock(:key1, :key2)'); - $stmt->bindValue(':key1', $sessionInt1, \PDO::PARAM_INT); - $stmt->bindValue(':key2', $sessionInt2, \PDO::PARAM_INT); - $stmt->execute(); - - $releaseStmt = $this->pdo->prepare('SELECT pg_advisory_unlock(:key1, :key2)'); - $releaseStmt->bindValue(':key1', $sessionInt1, \PDO::PARAM_INT); - $releaseStmt->bindValue(':key2', $sessionInt2, \PDO::PARAM_INT); - } else { - $sessionBigInt = $this->convertStringToInt($sessionId); - - $stmt = $this->pdo->prepare('SELECT pg_advisory_lock(:key)'); - $stmt->bindValue(':key', $sessionBigInt, \PDO::PARAM_INT); - $stmt->execute(); - - $releaseStmt = $this->pdo->prepare('SELECT pg_advisory_unlock(:key)'); - $releaseStmt->bindValue(':key', $sessionBigInt, \PDO::PARAM_INT); - } - - return $releaseStmt; - case 'sqlite': - throw new \DomainException('SQLite does not support advisory locks.'); - default: - throw new \DomainException(sprintf('Advisory locks are currently not implemented for PDO driver "%s".', $this->driver)); - } - } - - /** - * Encodes the first 4 (when PHP_INT_SIZE == 4) or 8 characters of the string as an integer. - * - * Keep in mind, PHP integers are signed. - */ - private function convertStringToInt(string $string): int - { - if (4 === \PHP_INT_SIZE) { - return (\ord($string[3]) << 24) + (\ord($string[2]) << 16) + (\ord($string[1]) << 8) + \ord($string[0]); - } - - $int1 = (\ord($string[7]) << 24) + (\ord($string[6]) << 16) + (\ord($string[5]) << 8) + \ord($string[4]); - $int2 = (\ord($string[3]) << 24) + (\ord($string[2]) << 16) + (\ord($string[1]) << 8) + \ord($string[0]); - - return $int2 + ($int1 << 32); - } - - /** - * Return a locking or nonlocking SQL query to read session information. - * - * @throws \DomainException When an unsupported PDO driver is used - */ - private function getSelectSql(): string - { - if (self::LOCK_TRANSACTIONAL === $this->lockMode) { - $this->beginTransaction(); - - // selecting the time column should be removed in 6.0 - switch ($this->driver) { - case 'mysql': - case 'oci': - case 'pgsql': - return "SELECT $this->dataCol, $this->lifetimeCol, $this->timeCol FROM $this->table WHERE $this->idCol = :id FOR UPDATE"; - case 'sqlsrv': - return "SELECT $this->dataCol, $this->lifetimeCol, $this->timeCol FROM $this->table WITH (UPDLOCK, ROWLOCK) WHERE $this->idCol = :id"; - case 'sqlite': - // we already locked when starting transaction - break; - default: - throw new \DomainException(sprintf('Transactional locks are currently not implemented for PDO driver "%s".', $this->driver)); - } - } - - return "SELECT $this->dataCol, $this->lifetimeCol, $this->timeCol FROM $this->table WHERE $this->idCol = :id"; - } - - /** - * Returns an insert statement supported by the database for writing session data. - */ - private function getInsertStatement(string $sessionId, string $sessionData, int $maxlifetime): \PDOStatement - { - switch ($this->driver) { - case 'oci': - $data = fopen('php://memory', 'r+'); - fwrite($data, $sessionData); - rewind($data); - $sql = "INSERT INTO $this->table ($this->idCol, $this->dataCol, $this->lifetimeCol, $this->timeCol) VALUES (:id, EMPTY_BLOB(), :expiry, :time) RETURNING $this->dataCol into :data"; - break; - default: - $data = $sessionData; - $sql = "INSERT INTO $this->table ($this->idCol, $this->dataCol, $this->lifetimeCol, $this->timeCol) VALUES (:id, :data, :expiry, :time)"; - break; - } - - $stmt = $this->pdo->prepare($sql); - $stmt->bindParam(':id', $sessionId, \PDO::PARAM_STR); - $stmt->bindParam(':data', $data, \PDO::PARAM_LOB); - $stmt->bindValue(':expiry', time() + $maxlifetime, \PDO::PARAM_INT); - $stmt->bindValue(':time', time(), \PDO::PARAM_INT); - - return $stmt; - } - - /** - * Returns an update statement supported by the database for writing session data. - */ - private function getUpdateStatement(string $sessionId, string $sessionData, int $maxlifetime): \PDOStatement - { - switch ($this->driver) { - case 'oci': - $data = fopen('php://memory', 'r+'); - fwrite($data, $sessionData); - rewind($data); - $sql = "UPDATE $this->table SET $this->dataCol = EMPTY_BLOB(), $this->lifetimeCol = :expiry, $this->timeCol = :time WHERE $this->idCol = :id RETURNING $this->dataCol into :data"; - break; - default: - $data = $sessionData; - $sql = "UPDATE $this->table SET $this->dataCol = :data, $this->lifetimeCol = :expiry, $this->timeCol = :time WHERE $this->idCol = :id"; - break; - } - - $stmt = $this->pdo->prepare($sql); - $stmt->bindParam(':id', $sessionId, \PDO::PARAM_STR); - $stmt->bindParam(':data', $data, \PDO::PARAM_LOB); - $stmt->bindValue(':expiry', time() + $maxlifetime, \PDO::PARAM_INT); - $stmt->bindValue(':time', time(), \PDO::PARAM_INT); - - return $stmt; - } - - /** - * Returns a merge/upsert (i.e. insert or update) statement when supported by the database for writing session data. - */ - private function getMergeStatement(string $sessionId, string $data, int $maxlifetime): ?\PDOStatement - { - switch (true) { - case 'mysql' === $this->driver: - $mergeSql = "INSERT INTO $this->table ($this->idCol, $this->dataCol, $this->lifetimeCol, $this->timeCol) VALUES (:id, :data, :expiry, :time) ". - "ON DUPLICATE KEY UPDATE $this->dataCol = VALUES($this->dataCol), $this->lifetimeCol = VALUES($this->lifetimeCol), $this->timeCol = VALUES($this->timeCol)"; - break; - case 'sqlsrv' === $this->driver && version_compare($this->pdo->getAttribute(\PDO::ATTR_SERVER_VERSION), '10', '>='): - // MERGE is only available since SQL Server 2008 and must be terminated by semicolon - // It also requires HOLDLOCK according to https://weblogs.sqlteam.com/dang/2009/01/31/upsert-race-condition-with-merge/ - $mergeSql = "MERGE INTO $this->table WITH (HOLDLOCK) USING (SELECT 1 AS dummy) AS src ON ($this->idCol = ?) ". - "WHEN NOT MATCHED THEN INSERT ($this->idCol, $this->dataCol, $this->lifetimeCol, $this->timeCol) VALUES (?, ?, ?, ?) ". - "WHEN MATCHED THEN UPDATE SET $this->dataCol = ?, $this->lifetimeCol = ?, $this->timeCol = ?;"; - break; - case 'sqlite' === $this->driver: - $mergeSql = "INSERT OR REPLACE INTO $this->table ($this->idCol, $this->dataCol, $this->lifetimeCol, $this->timeCol) VALUES (:id, :data, :expiry, :time)"; - break; - case 'pgsql' === $this->driver && version_compare($this->pdo->getAttribute(\PDO::ATTR_SERVER_VERSION), '9.5', '>='): - $mergeSql = "INSERT INTO $this->table ($this->idCol, $this->dataCol, $this->lifetimeCol, $this->timeCol) VALUES (:id, :data, :expiry, :time) ". - "ON CONFLICT ($this->idCol) DO UPDATE SET ($this->dataCol, $this->lifetimeCol, $this->timeCol) = (EXCLUDED.$this->dataCol, EXCLUDED.$this->lifetimeCol, EXCLUDED.$this->timeCol)"; - break; - default: - // MERGE is not supported with LOBs: https://oracle.com/technetwork/articles/fuecks-lobs-095315.html - return null; - } - - $mergeStmt = $this->pdo->prepare($mergeSql); - - if ('sqlsrv' === $this->driver) { - $mergeStmt->bindParam(1, $sessionId, \PDO::PARAM_STR); - $mergeStmt->bindParam(2, $sessionId, \PDO::PARAM_STR); - $mergeStmt->bindParam(3, $data, \PDO::PARAM_LOB); - $mergeStmt->bindValue(4, time() + $maxlifetime, \PDO::PARAM_INT); - $mergeStmt->bindValue(4, time(), \PDO::PARAM_INT); - $mergeStmt->bindParam(5, $data, \PDO::PARAM_LOB); - $mergeStmt->bindValue(6, time() + $maxlifetime, \PDO::PARAM_INT); - $mergeStmt->bindValue(6, time(), \PDO::PARAM_INT); - } else { - $mergeStmt->bindParam(':id', $sessionId, \PDO::PARAM_STR); - $mergeStmt->bindParam(':data', $data, \PDO::PARAM_LOB); - $mergeStmt->bindValue(':expiry', time() + $maxlifetime, \PDO::PARAM_INT); - $mergeStmt->bindValue(':time', time(), \PDO::PARAM_INT); - } - - return $mergeStmt; - } - - /** - * Return a PDO instance. - * - * @return \PDO - */ - protected function getConnection() - { - if (null === $this->pdo) { - $this->connect($this->dsn ?: ini_get('session.save_path')); - } - - return $this->pdo; - } -} diff --git a/paragonik-backend/vendor/symfony/http-foundation/Session/Storage/Handler/RedisSessionHandler.php b/paragonik-backend/vendor/symfony/http-foundation/Session/Storage/Handler/RedisSessionHandler.php deleted file mode 100644 index d8c1f8c..0000000 --- a/paragonik-backend/vendor/symfony/http-foundation/Session/Storage/Handler/RedisSessionHandler.php +++ /dev/null @@ -1,120 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpFoundation\Session\Storage\Handler; - -use Predis\Response\ErrorInterface; -use Symfony\Component\Cache\Traits\RedisClusterProxy; -use Symfony\Component\Cache\Traits\RedisProxy; - -/** - * Redis based session storage handler based on the Redis class - * provided by the PHP redis extension. - * - * @author Dalibor Karlović - */ -class RedisSessionHandler extends AbstractSessionHandler -{ - private $redis; - - /** - * @var string Key prefix for shared environments - */ - private $prefix; - - /** - * @var int Time to live in seconds - */ - private $ttl; - - /** - * List of available options: - * * prefix: The prefix to use for the keys in order to avoid collision on the Redis server - * * ttl: The time to live in seconds. - * - * @param \Redis|\RedisArray|\RedisCluster|\Predis\ClientInterface|RedisProxy|RedisClusterProxy $redis - * - * @throws \InvalidArgumentException When unsupported client or options are passed - */ - public function __construct($redis, array $options = []) - { - if ( - !$redis instanceof \Redis && - !$redis instanceof \RedisArray && - !$redis instanceof \RedisCluster && - !$redis instanceof \Predis\ClientInterface && - !$redis instanceof RedisProxy && - !$redis instanceof RedisClusterProxy - ) { - throw new \InvalidArgumentException(sprintf('%s() expects parameter 1 to be Redis, RedisArray, RedisCluster or Predis\ClientInterface, %s given', __METHOD__, \is_object($redis) ? \get_class($redis) : \gettype($redis))); - } - - if ($diff = array_diff(array_keys($options), ['prefix', 'ttl'])) { - throw new \InvalidArgumentException(sprintf('The following options are not supported "%s"', implode(', ', $diff))); - } - - $this->redis = $redis; - $this->prefix = $options['prefix'] ?? 'sf_s'; - $this->ttl = $options['ttl'] ?? (int) ini_get('session.gc_maxlifetime'); - } - - /** - * {@inheritdoc} - */ - protected function doRead($sessionId): string - { - return $this->redis->get($this->prefix.$sessionId) ?: ''; - } - - /** - * {@inheritdoc} - */ - protected function doWrite($sessionId, $data): bool - { - $result = $this->redis->setEx($this->prefix.$sessionId, $this->ttl, $data); - - return $result && !$result instanceof ErrorInterface; - } - - /** - * {@inheritdoc} - */ - protected function doDestroy($sessionId): bool - { - $this->redis->del($this->prefix.$sessionId); - - return true; - } - - /** - * {@inheritdoc} - */ - public function close(): bool - { - return true; - } - - /** - * {@inheritdoc} - */ - public function gc($maxlifetime): bool - { - return true; - } - - /** - * @return bool - */ - public function updateTimestamp($sessionId, $data) - { - return (bool) $this->redis->expire($this->prefix.$sessionId, $this->ttl); - } -} diff --git a/paragonik-backend/vendor/symfony/http-foundation/Session/Storage/Handler/SessionHandlerFactory.php b/paragonik-backend/vendor/symfony/http-foundation/Session/Storage/Handler/SessionHandlerFactory.php deleted file mode 100644 index f4feeac..0000000 --- a/paragonik-backend/vendor/symfony/http-foundation/Session/Storage/Handler/SessionHandlerFactory.php +++ /dev/null @@ -1,85 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpFoundation\Session\Storage\Handler; - -use Doctrine\DBAL\DriverManager; -use Symfony\Component\Cache\Adapter\AbstractAdapter; -use Symfony\Component\Cache\Traits\RedisClusterProxy; -use Symfony\Component\Cache\Traits\RedisProxy; - -/** - * @author Nicolas Grekas - */ -class SessionHandlerFactory -{ - /** - * @param \Redis|\RedisArray|\RedisCluster|\Predis\ClientInterface|RedisProxy|RedisClusterProxy|\Memcached|\PDO|string $connection Connection or DSN - */ - public static function createHandler($connection): AbstractSessionHandler - { - if (!\is_string($connection) && !\is_object($connection)) { - throw new \TypeError(sprintf('Argument 1 passed to %s() must be a string or a connection object, %s given.', __METHOD__, \gettype($connection))); - } - - switch (true) { - case $connection instanceof \Redis: - case $connection instanceof \RedisArray: - case $connection instanceof \RedisCluster: - case $connection instanceof \Predis\ClientInterface: - case $connection instanceof RedisProxy: - case $connection instanceof RedisClusterProxy: - return new RedisSessionHandler($connection); - - case $connection instanceof \Memcached: - return new MemcachedSessionHandler($connection); - - case $connection instanceof \PDO: - return new PdoSessionHandler($connection); - - case !\is_string($connection): - throw new \InvalidArgumentException(sprintf('Unsupported Connection: %s.', \get_class($connection))); - case 0 === strpos($connection, 'file://'): - return new StrictSessionHandler(new NativeFileSessionHandler(substr($connection, 7))); - - case 0 === strpos($connection, 'redis://'): - case 0 === strpos($connection, 'rediss://'): - case 0 === strpos($connection, 'memcached://'): - if (!class_exists(AbstractAdapter::class)) { - throw new InvalidArgumentException(sprintf('Unsupported DSN "%s". Try running "composer require symfony/cache".', $connection)); - } - $handlerClass = 0 === strpos($connection, 'memcached://') ? MemcachedSessionHandler::class : RedisSessionHandler::class; - $connection = AbstractAdapter::createConnection($connection, ['lazy' => true]); - - return new $handlerClass($connection); - - case 0 === strpos($connection, 'pdo_oci://'): - if (!class_exists(DriverManager::class)) { - throw new \InvalidArgumentException(sprintf('Unsupported DSN "%s". Try running "composer require doctrine/dbal".', $connection)); - } - $connection = DriverManager::getConnection(['url' => $connection])->getWrappedConnection(); - // no break; - - case 0 === strpos($connection, 'mssql://'): - case 0 === strpos($connection, 'mysql://'): - case 0 === strpos($connection, 'mysql2://'): - case 0 === strpos($connection, 'pgsql://'): - case 0 === strpos($connection, 'postgres://'): - case 0 === strpos($connection, 'postgresql://'): - case 0 === strpos($connection, 'sqlsrv://'): - case 0 === strpos($connection, 'sqlite://'): - case 0 === strpos($connection, 'sqlite3://'): - return new PdoSessionHandler($connection); - } - - throw new \InvalidArgumentException(sprintf('Unsupported Connection: %s.', $connection)); - } -} diff --git a/paragonik-backend/vendor/symfony/http-foundation/Session/Storage/Handler/StrictSessionHandler.php b/paragonik-backend/vendor/symfony/http-foundation/Session/Storage/Handler/StrictSessionHandler.php deleted file mode 100644 index 3144ea5..0000000 --- a/paragonik-backend/vendor/symfony/http-foundation/Session/Storage/Handler/StrictSessionHandler.php +++ /dev/null @@ -1,103 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpFoundation\Session\Storage\Handler; - -/** - * Adds basic `SessionUpdateTimestampHandlerInterface` behaviors to another `SessionHandlerInterface`. - * - * @author Nicolas Grekas - */ -class StrictSessionHandler extends AbstractSessionHandler -{ - private $handler; - private $doDestroy; - - public function __construct(\SessionHandlerInterface $handler) - { - if ($handler instanceof \SessionUpdateTimestampHandlerInterface) { - throw new \LogicException(sprintf('"%s" is already an instance of "SessionUpdateTimestampHandlerInterface", you cannot wrap it with "%s".', \get_class($handler), self::class)); - } - - $this->handler = $handler; - } - - /** - * @return bool - */ - public function open($savePath, $sessionName) - { - parent::open($savePath, $sessionName); - - return $this->handler->open($savePath, $sessionName); - } - - /** - * {@inheritdoc} - */ - protected function doRead($sessionId) - { - return $this->handler->read($sessionId); - } - - /** - * @return bool - */ - public function updateTimestamp($sessionId, $data) - { - return $this->write($sessionId, $data); - } - - /** - * {@inheritdoc} - */ - protected function doWrite($sessionId, $data) - { - return $this->handler->write($sessionId, $data); - } - - /** - * @return bool - */ - public function destroy($sessionId) - { - $this->doDestroy = true; - $destroyed = parent::destroy($sessionId); - - return $this->doDestroy ? $this->doDestroy($sessionId) : $destroyed; - } - - /** - * {@inheritdoc} - */ - protected function doDestroy($sessionId) - { - $this->doDestroy = false; - - return $this->handler->destroy($sessionId); - } - - /** - * @return bool - */ - public function close() - { - return $this->handler->close(); - } - - /** - * @return bool - */ - public function gc($maxlifetime) - { - return $this->handler->gc($maxlifetime); - } -} diff --git a/paragonik-backend/vendor/symfony/http-foundation/Session/Storage/MetadataBag.php b/paragonik-backend/vendor/symfony/http-foundation/Session/Storage/MetadataBag.php deleted file mode 100644 index 5fe40fc..0000000 --- a/paragonik-backend/vendor/symfony/http-foundation/Session/Storage/MetadataBag.php +++ /dev/null @@ -1,168 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpFoundation\Session\Storage; - -use Symfony\Component\HttpFoundation\Session\SessionBagInterface; - -/** - * Metadata container. - * - * Adds metadata to the session. - * - * @author Drak - */ -class MetadataBag implements SessionBagInterface -{ - const CREATED = 'c'; - const UPDATED = 'u'; - const LIFETIME = 'l'; - - /** - * @var string - */ - private $name = '__metadata'; - - /** - * @var string - */ - private $storageKey; - - /** - * @var array - */ - protected $meta = [self::CREATED => 0, self::UPDATED => 0, self::LIFETIME => 0]; - - /** - * Unix timestamp. - * - * @var int - */ - private $lastUsed; - - /** - * @var int - */ - private $updateThreshold; - - /** - * @param string $storageKey The key used to store bag in the session - * @param int $updateThreshold The time to wait between two UPDATED updates - */ - public function __construct(string $storageKey = '_sf2_meta', int $updateThreshold = 0) - { - $this->storageKey = $storageKey; - $this->updateThreshold = $updateThreshold; - } - - /** - * {@inheritdoc} - */ - public function initialize(array &$array) - { - $this->meta = &$array; - - if (isset($array[self::CREATED])) { - $this->lastUsed = $this->meta[self::UPDATED]; - - $timeStamp = time(); - if ($timeStamp - $array[self::UPDATED] >= $this->updateThreshold) { - $this->meta[self::UPDATED] = $timeStamp; - } - } else { - $this->stampCreated(); - } - } - - /** - * Gets the lifetime that the session cookie was set with. - * - * @return int - */ - public function getLifetime() - { - return $this->meta[self::LIFETIME]; - } - - /** - * Stamps a new session's metadata. - * - * @param int $lifetime Sets the cookie lifetime for the session cookie. A null value - * will leave the system settings unchanged, 0 sets the cookie - * to expire with browser session. Time is in seconds, and is - * not a Unix timestamp. - */ - public function stampNew($lifetime = null) - { - $this->stampCreated($lifetime); - } - - /** - * {@inheritdoc} - */ - public function getStorageKey() - { - return $this->storageKey; - } - - /** - * Gets the created timestamp metadata. - * - * @return int Unix timestamp - */ - public function getCreated() - { - return $this->meta[self::CREATED]; - } - - /** - * Gets the last used metadata. - * - * @return int Unix timestamp - */ - public function getLastUsed() - { - return $this->lastUsed; - } - - /** - * {@inheritdoc} - */ - public function clear() - { - // nothing to do - } - - /** - * {@inheritdoc} - */ - public function getName() - { - return $this->name; - } - - /** - * Sets name. - * - * @param string $name - */ - public function setName($name) - { - $this->name = $name; - } - - private function stampCreated(int $lifetime = null): void - { - $timeStamp = time(); - $this->meta[self::CREATED] = $this->meta[self::UPDATED] = $this->lastUsed = $timeStamp; - $this->meta[self::LIFETIME] = (null === $lifetime) ? ini_get('session.cookie_lifetime') : $lifetime; - } -} diff --git a/paragonik-backend/vendor/symfony/http-foundation/Session/Storage/MockArraySessionStorage.php b/paragonik-backend/vendor/symfony/http-foundation/Session/Storage/MockArraySessionStorage.php deleted file mode 100644 index 37b6f14..0000000 --- a/paragonik-backend/vendor/symfony/http-foundation/Session/Storage/MockArraySessionStorage.php +++ /dev/null @@ -1,252 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpFoundation\Session\Storage; - -use Symfony\Component\HttpFoundation\Session\SessionBagInterface; - -/** - * MockArraySessionStorage mocks the session for unit tests. - * - * No PHP session is actually started since a session can be initialized - * and shutdown only once per PHP execution cycle. - * - * When doing functional testing, you should use MockFileSessionStorage instead. - * - * @author Fabien Potencier - * @author Bulat Shakirzyanov - * @author Drak - */ -class MockArraySessionStorage implements SessionStorageInterface -{ - /** - * @var string - */ - protected $id = ''; - - /** - * @var string - */ - protected $name; - - /** - * @var bool - */ - protected $started = false; - - /** - * @var bool - */ - protected $closed = false; - - /** - * @var array - */ - protected $data = []; - - /** - * @var MetadataBag - */ - protected $metadataBag; - - /** - * @var array|SessionBagInterface[] - */ - protected $bags = []; - - public function __construct(string $name = 'MOCKSESSID', MetadataBag $metaBag = null) - { - $this->name = $name; - $this->setMetadataBag($metaBag); - } - - public function setSessionData(array $array) - { - $this->data = $array; - } - - /** - * {@inheritdoc} - */ - public function start() - { - if ($this->started) { - return true; - } - - if (empty($this->id)) { - $this->id = $this->generateId(); - } - - $this->loadSession(); - - return true; - } - - /** - * {@inheritdoc} - */ - public function regenerate($destroy = false, $lifetime = null) - { - if (!$this->started) { - $this->start(); - } - - $this->metadataBag->stampNew($lifetime); - $this->id = $this->generateId(); - - return true; - } - - /** - * {@inheritdoc} - */ - public function getId() - { - return $this->id; - } - - /** - * {@inheritdoc} - */ - public function setId($id) - { - if ($this->started) { - throw new \LogicException('Cannot set session ID after the session has started.'); - } - - $this->id = $id; - } - - /** - * {@inheritdoc} - */ - public function getName() - { - return $this->name; - } - - /** - * {@inheritdoc} - */ - public function setName($name) - { - $this->name = $name; - } - - /** - * {@inheritdoc} - */ - public function save() - { - if (!$this->started || $this->closed) { - throw new \RuntimeException('Trying to save a session that was not started yet or was already closed'); - } - // nothing to do since we don't persist the session data - $this->closed = false; - $this->started = false; - } - - /** - * {@inheritdoc} - */ - public function clear() - { - // clear out the bags - foreach ($this->bags as $bag) { - $bag->clear(); - } - - // clear out the session - $this->data = []; - - // reconnect the bags to the session - $this->loadSession(); - } - - /** - * {@inheritdoc} - */ - public function registerBag(SessionBagInterface $bag) - { - $this->bags[$bag->getName()] = $bag; - } - - /** - * {@inheritdoc} - */ - public function getBag($name) - { - if (!isset($this->bags[$name])) { - throw new \InvalidArgumentException(sprintf('The SessionBagInterface %s is not registered.', $name)); - } - - if (!$this->started) { - $this->start(); - } - - return $this->bags[$name]; - } - - /** - * {@inheritdoc} - */ - public function isStarted() - { - return $this->started; - } - - public function setMetadataBag(MetadataBag $bag = null) - { - if (null === $bag) { - $bag = new MetadataBag(); - } - - $this->metadataBag = $bag; - } - - /** - * Gets the MetadataBag. - * - * @return MetadataBag - */ - public function getMetadataBag() - { - return $this->metadataBag; - } - - /** - * Generates a session ID. - * - * This doesn't need to be particularly cryptographically secure since this is just - * a mock. - * - * @return string - */ - protected function generateId() - { - return hash('sha256', uniqid('ss_mock_', true)); - } - - protected function loadSession() - { - $bags = array_merge($this->bags, [$this->metadataBag]); - - foreach ($bags as $bag) { - $key = $bag->getStorageKey(); - $this->data[$key] = isset($this->data[$key]) ? $this->data[$key] : []; - $bag->initialize($this->data[$key]); - } - - $this->started = true; - $this->closed = false; - } -} diff --git a/paragonik-backend/vendor/symfony/http-foundation/Session/Storage/MockFileSessionStorage.php b/paragonik-backend/vendor/symfony/http-foundation/Session/Storage/MockFileSessionStorage.php deleted file mode 100644 index 02fe4da..0000000 --- a/paragonik-backend/vendor/symfony/http-foundation/Session/Storage/MockFileSessionStorage.php +++ /dev/null @@ -1,149 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpFoundation\Session\Storage; - -/** - * MockFileSessionStorage is used to mock sessions for - * functional testing when done in a single PHP process. - * - * No PHP session is actually started since a session can be initialized - * and shutdown only once per PHP execution cycle and this class does - * not pollute any session related globals, including session_*() functions - * or session.* PHP ini directives. - * - * @author Drak - */ -class MockFileSessionStorage extends MockArraySessionStorage -{ - private $savePath; - - /** - * @param string $savePath Path of directory to save session files - * @param string $name Session name - */ - public function __construct(string $savePath = null, string $name = 'MOCKSESSID', MetadataBag $metaBag = null) - { - if (null === $savePath) { - $savePath = sys_get_temp_dir(); - } - - if (!is_dir($savePath) && !@mkdir($savePath, 0777, true) && !is_dir($savePath)) { - throw new \RuntimeException(sprintf('Session Storage was not able to create directory "%s"', $savePath)); - } - - $this->savePath = $savePath; - - parent::__construct($name, $metaBag); - } - - /** - * {@inheritdoc} - */ - public function start() - { - if ($this->started) { - return true; - } - - if (!$this->id) { - $this->id = $this->generateId(); - } - - $this->read(); - - $this->started = true; - - return true; - } - - /** - * {@inheritdoc} - */ - public function regenerate($destroy = false, $lifetime = null) - { - if (!$this->started) { - $this->start(); - } - - if ($destroy) { - $this->destroy(); - } - - return parent::regenerate($destroy, $lifetime); - } - - /** - * {@inheritdoc} - */ - public function save() - { - if (!$this->started) { - throw new \RuntimeException('Trying to save a session that was not started yet or was already closed'); - } - - $data = $this->data; - - foreach ($this->bags as $bag) { - if (empty($data[$key = $bag->getStorageKey()])) { - unset($data[$key]); - } - } - if ([$key = $this->metadataBag->getStorageKey()] === array_keys($data)) { - unset($data[$key]); - } - - try { - if ($data) { - file_put_contents($this->getFilePath(), serialize($data)); - } else { - $this->destroy(); - } - } finally { - $this->data = $data; - } - - // this is needed for Silex, where the session object is re-used across requests - // in functional tests. In Symfony, the container is rebooted, so we don't have - // this issue - $this->started = false; - } - - /** - * Deletes a session from persistent storage. - * Deliberately leaves session data in memory intact. - */ - private function destroy(): void - { - if (is_file($this->getFilePath())) { - unlink($this->getFilePath()); - } - } - - /** - * Calculate path to file. - */ - private function getFilePath(): string - { - return $this->savePath.'/'.$this->id.'.mocksess'; - } - - /** - * Reads session from storage and loads session. - */ - private function read(): void - { - $filePath = $this->getFilePath(); - $this->data = is_readable($filePath) && is_file($filePath) ? unserialize(file_get_contents($filePath)) : []; - - $this->loadSession(); - } -} diff --git a/paragonik-backend/vendor/symfony/http-foundation/Session/Storage/NativeSessionStorage.php b/paragonik-backend/vendor/symfony/http-foundation/Session/Storage/NativeSessionStorage.php deleted file mode 100644 index 3bc2b2e..0000000 --- a/paragonik-backend/vendor/symfony/http-foundation/Session/Storage/NativeSessionStorage.php +++ /dev/null @@ -1,466 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpFoundation\Session\Storage; - -use Symfony\Component\HttpFoundation\Session\SessionBagInterface; -use Symfony\Component\HttpFoundation\Session\SessionUtils; -use Symfony\Component\HttpFoundation\Session\Storage\Handler\StrictSessionHandler; -use Symfony\Component\HttpFoundation\Session\Storage\Proxy\AbstractProxy; -use Symfony\Component\HttpFoundation\Session\Storage\Proxy\SessionHandlerProxy; - -/** - * This provides a base class for session attribute storage. - * - * @author Drak - */ -class NativeSessionStorage implements SessionStorageInterface -{ - /** - * @var SessionBagInterface[] - */ - protected $bags = []; - - /** - * @var bool - */ - protected $started = false; - - /** - * @var bool - */ - protected $closed = false; - - /** - * @var AbstractProxy|\SessionHandlerInterface - */ - protected $saveHandler; - - /** - * @var MetadataBag - */ - protected $metadataBag; - - /** - * @var string|null - */ - private $emulateSameSite; - - /** - * Depending on how you want the storage driver to behave you probably - * want to override this constructor entirely. - * - * List of options for $options array with their defaults. - * - * @see https://php.net/session.configuration for options - * but we omit 'session.' from the beginning of the keys for convenience. - * - * ("auto_start", is not supported as it tells PHP to start a session before - * PHP starts to execute user-land code. Setting during runtime has no effect). - * - * cache_limiter, "" (use "0" to prevent headers from being sent entirely). - * cache_expire, "0" - * cookie_domain, "" - * cookie_httponly, "" - * cookie_lifetime, "0" - * cookie_path, "/" - * cookie_secure, "" - * cookie_samesite, null - * gc_divisor, "100" - * gc_maxlifetime, "1440" - * gc_probability, "1" - * lazy_write, "1" - * name, "PHPSESSID" - * referer_check, "" - * serialize_handler, "php" - * use_strict_mode, "0" - * use_cookies, "1" - * use_only_cookies, "1" - * use_trans_sid, "0" - * upload_progress.enabled, "1" - * upload_progress.cleanup, "1" - * upload_progress.prefix, "upload_progress_" - * upload_progress.name, "PHP_SESSION_UPLOAD_PROGRESS" - * upload_progress.freq, "1%" - * upload_progress.min-freq, "1" - * url_rewriter.tags, "a=href,area=href,frame=src,form=,fieldset=" - * sid_length, "32" - * sid_bits_per_character, "5" - * trans_sid_hosts, $_SERVER['HTTP_HOST'] - * trans_sid_tags, "a=href,area=href,frame=src,form=" - * - * @param AbstractProxy|\SessionHandlerInterface|null $handler - */ - public function __construct(array $options = [], $handler = null, MetadataBag $metaBag = null) - { - if (!\extension_loaded('session')) { - throw new \LogicException('PHP extension "session" is required.'); - } - - $options += [ - 'cache_limiter' => '', - 'cache_expire' => 0, - 'use_cookies' => 1, - 'lazy_write' => 1, - 'use_strict_mode' => 1, - ]; - - session_register_shutdown(); - - $this->setMetadataBag($metaBag); - $this->setOptions($options); - $this->setSaveHandler($handler); - } - - /** - * Gets the save handler instance. - * - * @return AbstractProxy|\SessionHandlerInterface - */ - public function getSaveHandler() - { - return $this->saveHandler; - } - - /** - * {@inheritdoc} - */ - public function start() - { - if ($this->started) { - return true; - } - - if (\PHP_SESSION_ACTIVE === session_status()) { - throw new \RuntimeException('Failed to start the session: already started by PHP.'); - } - - if (filter_var(ini_get('session.use_cookies'), FILTER_VALIDATE_BOOLEAN) && headers_sent($file, $line)) { - throw new \RuntimeException(sprintf('Failed to start the session because headers have already been sent by "%s" at line %d.', $file, $line)); - } - - // ok to try and start the session - if (!session_start()) { - throw new \RuntimeException('Failed to start the session'); - } - - if (null !== $this->emulateSameSite) { - $originalCookie = SessionUtils::popSessionCookie(session_name(), session_id()); - if (null !== $originalCookie) { - header(sprintf('%s; SameSite=%s', $originalCookie, $this->emulateSameSite), false); - } - } - - $this->loadSession(); - - return true; - } - - /** - * {@inheritdoc} - */ - public function getId() - { - return $this->saveHandler->getId(); - } - - /** - * {@inheritdoc} - */ - public function setId($id) - { - $this->saveHandler->setId($id); - } - - /** - * {@inheritdoc} - */ - public function getName() - { - return $this->saveHandler->getName(); - } - - /** - * {@inheritdoc} - */ - public function setName($name) - { - $this->saveHandler->setName($name); - } - - /** - * {@inheritdoc} - */ - public function regenerate($destroy = false, $lifetime = null) - { - // Cannot regenerate the session ID for non-active sessions. - if (\PHP_SESSION_ACTIVE !== session_status()) { - return false; - } - - if (headers_sent()) { - return false; - } - - if (null !== $lifetime) { - ini_set('session.cookie_lifetime', $lifetime); - } - - if ($destroy) { - $this->metadataBag->stampNew(); - } - - $isRegenerated = session_regenerate_id($destroy); - - // The reference to $_SESSION in session bags is lost in PHP7 and we need to re-create it. - // @see https://bugs.php.net/70013 - $this->loadSession(); - - if (null !== $this->emulateSameSite) { - $originalCookie = SessionUtils::popSessionCookie(session_name(), session_id()); - if (null !== $originalCookie) { - header(sprintf('%s; SameSite=%s', $originalCookie, $this->emulateSameSite), false); - } - } - - return $isRegenerated; - } - - /** - * {@inheritdoc} - */ - public function save() - { - // Store a copy so we can restore the bags in case the session was not left empty - $session = $_SESSION; - - foreach ($this->bags as $bag) { - if (empty($_SESSION[$key = $bag->getStorageKey()])) { - unset($_SESSION[$key]); - } - } - if ([$key = $this->metadataBag->getStorageKey()] === array_keys($_SESSION)) { - unset($_SESSION[$key]); - } - - // Register error handler to add information about the current save handler - $previousHandler = set_error_handler(function ($type, $msg, $file, $line) use (&$previousHandler) { - if (E_WARNING === $type && 0 === strpos($msg, 'session_write_close():')) { - $handler = $this->saveHandler instanceof SessionHandlerProxy ? $this->saveHandler->getHandler() : $this->saveHandler; - $msg = sprintf('session_write_close(): Failed to write session data with "%s" handler', \get_class($handler)); - } - - return $previousHandler ? $previousHandler($type, $msg, $file, $line) : false; - }); - - try { - session_write_close(); - } finally { - restore_error_handler(); - - // Restore only if not empty - if ($_SESSION) { - $_SESSION = $session; - } - } - - $this->closed = true; - $this->started = false; - } - - /** - * {@inheritdoc} - */ - public function clear() - { - // clear out the bags - foreach ($this->bags as $bag) { - $bag->clear(); - } - - // clear out the session - $_SESSION = []; - - // reconnect the bags to the session - $this->loadSession(); - } - - /** - * {@inheritdoc} - */ - public function registerBag(SessionBagInterface $bag) - { - if ($this->started) { - throw new \LogicException('Cannot register a bag when the session is already started.'); - } - - $this->bags[$bag->getName()] = $bag; - } - - /** - * {@inheritdoc} - */ - public function getBag($name) - { - if (!isset($this->bags[$name])) { - throw new \InvalidArgumentException(sprintf('The SessionBagInterface %s is not registered.', $name)); - } - - if (!$this->started && $this->saveHandler->isActive()) { - $this->loadSession(); - } elseif (!$this->started) { - $this->start(); - } - - return $this->bags[$name]; - } - - public function setMetadataBag(MetadataBag $metaBag = null) - { - if (null === $metaBag) { - $metaBag = new MetadataBag(); - } - - $this->metadataBag = $metaBag; - } - - /** - * Gets the MetadataBag. - * - * @return MetadataBag - */ - public function getMetadataBag() - { - return $this->metadataBag; - } - - /** - * {@inheritdoc} - */ - public function isStarted() - { - return $this->started; - } - - /** - * Sets session.* ini variables. - * - * For convenience we omit 'session.' from the beginning of the keys. - * Explicitly ignores other ini keys. - * - * @param array $options Session ini directives [key => value] - * - * @see https://php.net/session.configuration - */ - public function setOptions(array $options) - { - if (headers_sent() || \PHP_SESSION_ACTIVE === session_status()) { - return; - } - - $validOptions = array_flip([ - 'cache_expire', 'cache_limiter', 'cookie_domain', 'cookie_httponly', - 'cookie_lifetime', 'cookie_path', 'cookie_secure', 'cookie_samesite', - 'gc_divisor', 'gc_maxlifetime', 'gc_probability', - 'lazy_write', 'name', 'referer_check', - 'serialize_handler', 'use_strict_mode', 'use_cookies', - 'use_only_cookies', 'use_trans_sid', 'upload_progress.enabled', - 'upload_progress.cleanup', 'upload_progress.prefix', 'upload_progress.name', - 'upload_progress.freq', 'upload_progress.min_freq', 'url_rewriter.tags', - 'sid_length', 'sid_bits_per_character', 'trans_sid_hosts', 'trans_sid_tags', - ]); - - foreach ($options as $key => $value) { - if (isset($validOptions[$key])) { - if ('cookie_samesite' === $key && \PHP_VERSION_ID < 70300) { - // PHP < 7.3 does not support same_site cookies. We will emulate it in - // the start() method instead. - $this->emulateSameSite = $value; - continue; - } - ini_set('url_rewriter.tags' !== $key ? 'session.'.$key : $key, $value); - } - } - } - - /** - * Registers session save handler as a PHP session handler. - * - * To use internal PHP session save handlers, override this method using ini_set with - * session.save_handler and session.save_path e.g. - * - * ini_set('session.save_handler', 'files'); - * ini_set('session.save_path', '/tmp'); - * - * or pass in a \SessionHandler instance which configures session.save_handler in the - * constructor, for a template see NativeFileSessionHandler or use handlers in - * composer package drak/native-session - * - * @see https://php.net/session-set-save-handler - * @see https://php.net/sessionhandlerinterface - * @see https://php.net/sessionhandler - * @see https://github.com/zikula/NativeSession - * - * @param AbstractProxy|\SessionHandlerInterface|null $saveHandler - * - * @throws \InvalidArgumentException - */ - public function setSaveHandler($saveHandler = null) - { - if (!$saveHandler instanceof AbstractProxy && - !$saveHandler instanceof \SessionHandlerInterface && - null !== $saveHandler) { - throw new \InvalidArgumentException('Must be instance of AbstractProxy; implement \SessionHandlerInterface; or be null.'); - } - - // Wrap $saveHandler in proxy and prevent double wrapping of proxy - if (!$saveHandler instanceof AbstractProxy && $saveHandler instanceof \SessionHandlerInterface) { - $saveHandler = new SessionHandlerProxy($saveHandler); - } elseif (!$saveHandler instanceof AbstractProxy) { - $saveHandler = new SessionHandlerProxy(new StrictSessionHandler(new \SessionHandler())); - } - $this->saveHandler = $saveHandler; - - if (headers_sent() || \PHP_SESSION_ACTIVE === session_status()) { - return; - } - - if ($this->saveHandler instanceof SessionHandlerProxy) { - session_set_save_handler($this->saveHandler, false); - } - } - - /** - * Load the session with attributes. - * - * After starting the session, PHP retrieves the session from whatever handlers - * are set to (either PHP's internal, or a custom save handler set with session_set_save_handler()). - * PHP takes the return value from the read() handler, unserializes it - * and populates $_SESSION with the result automatically. - */ - protected function loadSession(array &$session = null) - { - if (null === $session) { - $session = &$_SESSION; - } - - $bags = array_merge($this->bags, [$this->metadataBag]); - - foreach ($bags as $bag) { - $key = $bag->getStorageKey(); - $session[$key] = isset($session[$key]) && \is_array($session[$key]) ? $session[$key] : []; - $bag->initialize($session[$key]); - } - - $this->started = true; - $this->closed = false; - } -} diff --git a/paragonik-backend/vendor/symfony/http-foundation/Session/Storage/PhpBridgeSessionStorage.php b/paragonik-backend/vendor/symfony/http-foundation/Session/Storage/PhpBridgeSessionStorage.php deleted file mode 100644 index 72dbef1..0000000 --- a/paragonik-backend/vendor/symfony/http-foundation/Session/Storage/PhpBridgeSessionStorage.php +++ /dev/null @@ -1,64 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpFoundation\Session\Storage; - -use Symfony\Component\HttpFoundation\Session\Storage\Proxy\AbstractProxy; - -/** - * Allows session to be started by PHP and managed by Symfony. - * - * @author Drak - */ -class PhpBridgeSessionStorage extends NativeSessionStorage -{ - /** - * @param AbstractProxy|\SessionHandlerInterface|null $handler - */ - public function __construct($handler = null, MetadataBag $metaBag = null) - { - if (!\extension_loaded('session')) { - throw new \LogicException('PHP extension "session" is required.'); - } - - $this->setMetadataBag($metaBag); - $this->setSaveHandler($handler); - } - - /** - * {@inheritdoc} - */ - public function start() - { - if ($this->started) { - return true; - } - - $this->loadSession(); - - return true; - } - - /** - * {@inheritdoc} - */ - public function clear() - { - // clear out the bags and nothing else that may be set - // since the purpose of this driver is to share a handler - foreach ($this->bags as $bag) { - $bag->clear(); - } - - // reconnect the bags to the session - $this->loadSession(); - } -} diff --git a/paragonik-backend/vendor/symfony/http-foundation/Session/Storage/Proxy/AbstractProxy.php b/paragonik-backend/vendor/symfony/http-foundation/Session/Storage/Proxy/AbstractProxy.php deleted file mode 100644 index 0303729..0000000 --- a/paragonik-backend/vendor/symfony/http-foundation/Session/Storage/Proxy/AbstractProxy.php +++ /dev/null @@ -1,122 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpFoundation\Session\Storage\Proxy; - -/** - * @author Drak - */ -abstract class AbstractProxy -{ - /** - * Flag if handler wraps an internal PHP session handler (using \SessionHandler). - * - * @var bool - */ - protected $wrapper = false; - - /** - * @var string - */ - protected $saveHandlerName; - - /** - * Gets the session.save_handler name. - * - * @return string|null - */ - public function getSaveHandlerName() - { - return $this->saveHandlerName; - } - - /** - * Is this proxy handler and instance of \SessionHandlerInterface. - * - * @return bool - */ - public function isSessionHandlerInterface() - { - return $this instanceof \SessionHandlerInterface; - } - - /** - * Returns true if this handler wraps an internal PHP session save handler using \SessionHandler. - * - * @return bool - */ - public function isWrapper() - { - return $this->wrapper; - } - - /** - * Has a session started? - * - * @return bool - */ - public function isActive() - { - return \PHP_SESSION_ACTIVE === session_status(); - } - - /** - * Gets the session ID. - * - * @return string - */ - public function getId() - { - return session_id(); - } - - /** - * Sets the session ID. - * - * @param string $id - * - * @throws \LogicException - */ - public function setId($id) - { - if ($this->isActive()) { - throw new \LogicException('Cannot change the ID of an active session'); - } - - session_id($id); - } - - /** - * Gets the session name. - * - * @return string - */ - public function getName() - { - return session_name(); - } - - /** - * Sets the session name. - * - * @param string $name - * - * @throws \LogicException - */ - public function setName($name) - { - if ($this->isActive()) { - throw new \LogicException('Cannot change the name of an active session'); - } - - session_name($name); - } -} diff --git a/paragonik-backend/vendor/symfony/http-foundation/Session/Storage/Proxy/SessionHandlerProxy.php b/paragonik-backend/vendor/symfony/http-foundation/Session/Storage/Proxy/SessionHandlerProxy.php deleted file mode 100644 index de4f550..0000000 --- a/paragonik-backend/vendor/symfony/http-foundation/Session/Storage/Proxy/SessionHandlerProxy.php +++ /dev/null @@ -1,101 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpFoundation\Session\Storage\Proxy; - -/** - * @author Drak - */ -class SessionHandlerProxy extends AbstractProxy implements \SessionHandlerInterface, \SessionUpdateTimestampHandlerInterface -{ - protected $handler; - - public function __construct(\SessionHandlerInterface $handler) - { - $this->handler = $handler; - $this->wrapper = ($handler instanceof \SessionHandler); - $this->saveHandlerName = $this->wrapper ? ini_get('session.save_handler') : 'user'; - } - - /** - * @return \SessionHandlerInterface - */ - public function getHandler() - { - return $this->handler; - } - - // \SessionHandlerInterface - - /** - * @return bool - */ - public function open($savePath, $sessionName) - { - return (bool) $this->handler->open($savePath, $sessionName); - } - - /** - * @return bool - */ - public function close() - { - return (bool) $this->handler->close(); - } - - /** - * @return string - */ - public function read($sessionId) - { - return (string) $this->handler->read($sessionId); - } - - /** - * @return bool - */ - public function write($sessionId, $data) - { - return (bool) $this->handler->write($sessionId, $data); - } - - /** - * @return bool - */ - public function destroy($sessionId) - { - return (bool) $this->handler->destroy($sessionId); - } - - /** - * @return bool - */ - public function gc($maxlifetime) - { - return (bool) $this->handler->gc($maxlifetime); - } - - /** - * @return bool - */ - public function validateId($sessionId) - { - return !$this->handler instanceof \SessionUpdateTimestampHandlerInterface || $this->handler->validateId($sessionId); - } - - /** - * @return bool - */ - public function updateTimestamp($sessionId, $data) - { - return $this->handler instanceof \SessionUpdateTimestampHandlerInterface ? $this->handler->updateTimestamp($sessionId, $data) : $this->write($sessionId, $data); - } -} diff --git a/paragonik-backend/vendor/symfony/http-foundation/Session/Storage/SessionStorageInterface.php b/paragonik-backend/vendor/symfony/http-foundation/Session/Storage/SessionStorageInterface.php deleted file mode 100644 index eeb396a..0000000 --- a/paragonik-backend/vendor/symfony/http-foundation/Session/Storage/SessionStorageInterface.php +++ /dev/null @@ -1,137 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpFoundation\Session\Storage; - -use Symfony\Component\HttpFoundation\Session\SessionBagInterface; - -/** - * StorageInterface. - * - * @author Fabien Potencier - * @author Drak - */ -interface SessionStorageInterface -{ - /** - * Starts the session. - * - * @return bool True if started - * - * @throws \RuntimeException if something goes wrong starting the session - */ - public function start(); - - /** - * Checks if the session is started. - * - * @return bool True if started, false otherwise - */ - public function isStarted(); - - /** - * Returns the session ID. - * - * @return string The session ID or empty - */ - public function getId(); - - /** - * Sets the session ID. - * - * @param string $id - */ - public function setId($id); - - /** - * Returns the session name. - * - * @return mixed The session name - */ - public function getName(); - - /** - * Sets the session name. - * - * @param string $name - */ - public function setName($name); - - /** - * Regenerates id that represents this storage. - * - * This method must invoke session_regenerate_id($destroy) unless - * this interface is used for a storage object designed for unit - * or functional testing where a real PHP session would interfere - * with testing. - * - * Note regenerate+destroy should not clear the session data in memory - * only delete the session data from persistent storage. - * - * Care: When regenerating the session ID no locking is involved in PHP's - * session design. See https://bugs.php.net/61470 for a discussion. - * So you must make sure the regenerated session is saved BEFORE sending the - * headers with the new ID. Symfony's HttpKernel offers a listener for this. - * See Symfony\Component\HttpKernel\EventListener\SaveSessionListener. - * Otherwise session data could get lost again for concurrent requests with the - * new ID. One result could be that you get logged out after just logging in. - * - * @param bool $destroy Destroy session when regenerating? - * @param int $lifetime Sets the cookie lifetime for the session cookie. A null value - * will leave the system settings unchanged, 0 sets the cookie - * to expire with browser session. Time is in seconds, and is - * not a Unix timestamp. - * - * @return bool True if session regenerated, false if error - * - * @throws \RuntimeException If an error occurs while regenerating this storage - */ - public function regenerate($destroy = false, $lifetime = null); - - /** - * Force the session to be saved and closed. - * - * This method must invoke session_write_close() unless this interface is - * used for a storage object design for unit or functional testing where - * a real PHP session would interfere with testing, in which case - * it should actually persist the session data if required. - * - * @throws \RuntimeException if the session is saved without being started, or if the session - * is already closed - */ - public function save(); - - /** - * Clear all session data in memory. - */ - public function clear(); - - /** - * Gets a SessionBagInterface by name. - * - * @param string $name - * - * @return SessionBagInterface - * - * @throws \InvalidArgumentException If the bag does not exist - */ - public function getBag($name); - - /** - * Registers a SessionBagInterface for use. - */ - public function registerBag(SessionBagInterface $bag); - - /** - * @return MetadataBag - */ - public function getMetadataBag(); -} diff --git a/paragonik-backend/vendor/symfony/http-foundation/StreamedResponse.php b/paragonik-backend/vendor/symfony/http-foundation/StreamedResponse.php deleted file mode 100644 index ef8095b..0000000 --- a/paragonik-backend/vendor/symfony/http-foundation/StreamedResponse.php +++ /dev/null @@ -1,142 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpFoundation; - -/** - * StreamedResponse represents a streamed HTTP response. - * - * A StreamedResponse uses a callback for its content. - * - * The callback should use the standard PHP functions like echo - * to stream the response back to the client. The flush() function - * can also be used if needed. - * - * @see flush() - * - * @author Fabien Potencier - */ -class StreamedResponse extends Response -{ - protected $callback; - protected $streamed; - private $headersSent; - - /** - * @param callable|null $callback A valid PHP callback or null to set it later - * @param int $status The response status code - * @param array $headers An array of response headers - */ - public function __construct(callable $callback = null, int $status = 200, array $headers = []) - { - parent::__construct(null, $status, $headers); - - if (null !== $callback) { - $this->setCallback($callback); - } - $this->streamed = false; - $this->headersSent = false; - } - - /** - * Factory method for chainability. - * - * @param callable|null $callback A valid PHP callback or null to set it later - * @param int $status The response status code - * @param array $headers An array of response headers - * - * @return static - */ - public static function create($callback = null, $status = 200, $headers = []) - { - return new static($callback, $status, $headers); - } - - /** - * Sets the PHP callback associated with this Response. - * - * @return $this - */ - public function setCallback(callable $callback) - { - $this->callback = $callback; - - return $this; - } - - /** - * {@inheritdoc} - * - * This method only sends the headers once. - * - * @return $this - */ - public function sendHeaders() - { - if ($this->headersSent) { - return $this; - } - - $this->headersSent = true; - - return parent::sendHeaders(); - } - - /** - * {@inheritdoc} - * - * This method only sends the content once. - * - * @return $this - */ - public function sendContent() - { - if ($this->streamed) { - return $this; - } - - $this->streamed = true; - - if (null === $this->callback) { - throw new \LogicException('The Response callback must not be null.'); - } - - ($this->callback)(); - - return $this; - } - - /** - * {@inheritdoc} - * - * @throws \LogicException when the content is not null - * - * @return $this - */ - public function setContent($content) - { - if (null !== $content) { - throw new \LogicException('The content cannot be set on a StreamedResponse instance.'); - } - - $this->streamed = true; - - return $this; - } - - /** - * {@inheritdoc} - */ - public function getContent() - { - return false; - } -} diff --git a/paragonik-backend/vendor/symfony/http-foundation/Test/Constraint/RequestAttributeValueSame.php b/paragonik-backend/vendor/symfony/http-foundation/Test/Constraint/RequestAttributeValueSame.php deleted file mode 100644 index cb216ea..0000000 --- a/paragonik-backend/vendor/symfony/http-foundation/Test/Constraint/RequestAttributeValueSame.php +++ /dev/null @@ -1,55 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpFoundation\Test\Constraint; - -use PHPUnit\Framework\Constraint\Constraint; -use Symfony\Component\HttpFoundation\Request; - -final class RequestAttributeValueSame extends Constraint -{ - private $name; - private $value; - - public function __construct(string $name, string $value) - { - $this->name = $name; - $this->value = $value; - } - - /** - * {@inheritdoc} - */ - public function toString(): string - { - return sprintf('has attribute "%s" with value "%s"', $this->name, $this->value); - } - - /** - * @param Request $request - * - * {@inheritdoc} - */ - protected function matches($request): bool - { - return $this->value === $request->attributes->get($this->name); - } - - /** - * @param Request $request - * - * {@inheritdoc} - */ - protected function failureDescription($request): string - { - return 'the Request '.$this->toString(); - } -} diff --git a/paragonik-backend/vendor/symfony/http-foundation/Test/Constraint/ResponseCookieValueSame.php b/paragonik-backend/vendor/symfony/http-foundation/Test/Constraint/ResponseCookieValueSame.php deleted file mode 100644 index 554e1a1..0000000 --- a/paragonik-backend/vendor/symfony/http-foundation/Test/Constraint/ResponseCookieValueSame.php +++ /dev/null @@ -1,85 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpFoundation\Test\Constraint; - -use PHPUnit\Framework\Constraint\Constraint; -use Symfony\Component\HttpFoundation\Cookie; -use Symfony\Component\HttpFoundation\Response; - -final class ResponseCookieValueSame extends Constraint -{ - private $name; - private $value; - private $path; - private $domain; - - public function __construct(string $name, string $value, string $path = '/', string $domain = null) - { - $this->name = $name; - $this->value = $value; - $this->path = $path; - $this->domain = $domain; - } - - /** - * {@inheritdoc} - */ - public function toString(): string - { - $str = sprintf('has cookie "%s"', $this->name); - if ('/' !== $this->path) { - $str .= sprintf(' with path "%s"', $this->path); - } - if ($this->domain) { - $str .= sprintf(' for domain "%s"', $this->domain); - } - $str .= sprintf(' with value "%s"', $this->value); - - return $str; - } - - /** - * @param Response $response - * - * {@inheritdoc} - */ - protected function matches($response): bool - { - $cookie = $this->getCookie($response); - if (!$cookie) { - return false; - } - - return $this->value === $cookie->getValue(); - } - - /** - * @param Response $response - * - * {@inheritdoc} - */ - protected function failureDescription($response): string - { - return 'the Response '.$this->toString(); - } - - protected function getCookie(Response $response): ?Cookie - { - $cookies = $response->headers->getCookies(); - - $filteredCookies = array_filter($cookies, function (Cookie $cookie) { - return $cookie->getName() === $this->name && $cookie->getPath() === $this->path && $cookie->getDomain() === $this->domain; - }); - - return reset($filteredCookies) ?: null; - } -} diff --git a/paragonik-backend/vendor/symfony/http-foundation/Test/Constraint/ResponseHasCookie.php b/paragonik-backend/vendor/symfony/http-foundation/Test/Constraint/ResponseHasCookie.php deleted file mode 100644 index eae9e27..0000000 --- a/paragonik-backend/vendor/symfony/http-foundation/Test/Constraint/ResponseHasCookie.php +++ /dev/null @@ -1,77 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpFoundation\Test\Constraint; - -use PHPUnit\Framework\Constraint\Constraint; -use Symfony\Component\HttpFoundation\Cookie; -use Symfony\Component\HttpFoundation\Response; - -final class ResponseHasCookie extends Constraint -{ - private $name; - private $path; - private $domain; - - public function __construct(string $name, string $path = '/', string $domain = null) - { - $this->name = $name; - $this->path = $path; - $this->domain = $domain; - } - - /** - * {@inheritdoc} - */ - public function toString(): string - { - $str = sprintf('has cookie "%s"', $this->name); - if ('/' !== $this->path) { - $str .= sprintf(' with path "%s"', $this->path); - } - if ($this->domain) { - $str .= sprintf(' for domain "%s"', $this->domain); - } - - return $str; - } - - /** - * @param Response $response - * - * {@inheritdoc} - */ - protected function matches($response): bool - { - return null !== $this->getCookie($response); - } - - /** - * @param Response $response - * - * {@inheritdoc} - */ - protected function failureDescription($response): string - { - return 'the Response '.$this->toString(); - } - - private function getCookie(Response $response): ?Cookie - { - $cookies = $response->headers->getCookies(); - - $filteredCookies = array_filter($cookies, function (Cookie $cookie) { - return $cookie->getName() === $this->name && $cookie->getPath() === $this->path && $cookie->getDomain() === $this->domain; - }); - - return reset($filteredCookies) ?: null; - } -} diff --git a/paragonik-backend/vendor/symfony/http-foundation/Test/Constraint/ResponseHasHeader.php b/paragonik-backend/vendor/symfony/http-foundation/Test/Constraint/ResponseHasHeader.php deleted file mode 100644 index 68ad827..0000000 --- a/paragonik-backend/vendor/symfony/http-foundation/Test/Constraint/ResponseHasHeader.php +++ /dev/null @@ -1,53 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpFoundation\Test\Constraint; - -use PHPUnit\Framework\Constraint\Constraint; -use Symfony\Component\HttpFoundation\Response; - -final class ResponseHasHeader extends Constraint -{ - private $headerName; - - public function __construct(string $headerName) - { - $this->headerName = $headerName; - } - - /** - * {@inheritdoc} - */ - public function toString(): string - { - return sprintf('has header "%s"', $this->headerName); - } - - /** - * @param Response $response - * - * {@inheritdoc} - */ - protected function matches($response): bool - { - return $response->headers->has($this->headerName); - } - - /** - * @param Response $response - * - * {@inheritdoc} - */ - protected function failureDescription($response): string - { - return 'the Response '.$this->toString(); - } -} diff --git a/paragonik-backend/vendor/symfony/http-foundation/Test/Constraint/ResponseHeaderSame.php b/paragonik-backend/vendor/symfony/http-foundation/Test/Constraint/ResponseHeaderSame.php deleted file mode 100644 index a27d0c7..0000000 --- a/paragonik-backend/vendor/symfony/http-foundation/Test/Constraint/ResponseHeaderSame.php +++ /dev/null @@ -1,55 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpFoundation\Test\Constraint; - -use PHPUnit\Framework\Constraint\Constraint; -use Symfony\Component\HttpFoundation\Response; - -final class ResponseHeaderSame extends Constraint -{ - private $headerName; - private $expectedValue; - - public function __construct(string $headerName, string $expectedValue) - { - $this->headerName = $headerName; - $this->expectedValue = $expectedValue; - } - - /** - * {@inheritdoc} - */ - public function toString(): string - { - return sprintf('has header "%s" with value "%s"', $this->headerName, $this->expectedValue); - } - - /** - * @param Response $response - * - * {@inheritdoc} - */ - protected function matches($response): bool - { - return $this->expectedValue === $response->headers->get($this->headerName, null); - } - - /** - * @param Response $response - * - * {@inheritdoc} - */ - protected function failureDescription($response): string - { - return 'the Response '.$this->toString(); - } -} diff --git a/paragonik-backend/vendor/symfony/http-foundation/Test/Constraint/ResponseIsRedirected.php b/paragonik-backend/vendor/symfony/http-foundation/Test/Constraint/ResponseIsRedirected.php deleted file mode 100644 index 8c4b883..0000000 --- a/paragonik-backend/vendor/symfony/http-foundation/Test/Constraint/ResponseIsRedirected.php +++ /dev/null @@ -1,56 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpFoundation\Test\Constraint; - -use PHPUnit\Framework\Constraint\Constraint; -use Symfony\Component\HttpFoundation\Response; - -final class ResponseIsRedirected extends Constraint -{ - /** - * {@inheritdoc} - */ - public function toString(): string - { - return 'is redirected'; - } - - /** - * @param Response $response - * - * {@inheritdoc} - */ - protected function matches($response): bool - { - return $response->isRedirect(); - } - - /** - * @param Response $response - * - * {@inheritdoc} - */ - protected function failureDescription($response): string - { - return 'the Response '.$this->toString(); - } - - /** - * @param Response $response - * - * {@inheritdoc} - */ - protected function additionalFailureDescription($response): string - { - return (string) $response; - } -} diff --git a/paragonik-backend/vendor/symfony/http-foundation/Test/Constraint/ResponseIsSuccessful.php b/paragonik-backend/vendor/symfony/http-foundation/Test/Constraint/ResponseIsSuccessful.php deleted file mode 100644 index 9c66558..0000000 --- a/paragonik-backend/vendor/symfony/http-foundation/Test/Constraint/ResponseIsSuccessful.php +++ /dev/null @@ -1,56 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpFoundation\Test\Constraint; - -use PHPUnit\Framework\Constraint\Constraint; -use Symfony\Component\HttpFoundation\Response; - -final class ResponseIsSuccessful extends Constraint -{ - /** - * {@inheritdoc} - */ - public function toString(): string - { - return 'is successful'; - } - - /** - * @param Response $response - * - * {@inheritdoc} - */ - protected function matches($response): bool - { - return $response->isSuccessful(); - } - - /** - * @param Response $response - * - * {@inheritdoc} - */ - protected function failureDescription($response): string - { - return 'the Response '.$this->toString(); - } - - /** - * @param Response $response - * - * {@inheritdoc} - */ - protected function additionalFailureDescription($response): string - { - return (string) $response; - } -} diff --git a/paragonik-backend/vendor/symfony/http-foundation/Test/Constraint/ResponseStatusCodeSame.php b/paragonik-backend/vendor/symfony/http-foundation/Test/Constraint/ResponseStatusCodeSame.php deleted file mode 100644 index 72bb000..0000000 --- a/paragonik-backend/vendor/symfony/http-foundation/Test/Constraint/ResponseStatusCodeSame.php +++ /dev/null @@ -1,63 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpFoundation\Test\Constraint; - -use PHPUnit\Framework\Constraint\Constraint; -use Symfony\Component\HttpFoundation\Response; - -final class ResponseStatusCodeSame extends Constraint -{ - private $statusCode; - - public function __construct(int $statusCode) - { - $this->statusCode = $statusCode; - } - - /** - * {@inheritdoc} - */ - public function toString(): string - { - return 'status code is '.$this->statusCode; - } - - /** - * @param Response $response - * - * {@inheritdoc} - */ - protected function matches($response): bool - { - return $this->statusCode === $response->getStatusCode(); - } - - /** - * @param Response $response - * - * {@inheritdoc} - */ - protected function failureDescription($response): string - { - return 'the Response '.$this->toString(); - } - - /** - * @param Response $response - * - * {@inheritdoc} - */ - protected function additionalFailureDescription($response): string - { - return (string) $response; - } -} diff --git a/paragonik-backend/vendor/symfony/http-foundation/UrlHelper.php b/paragonik-backend/vendor/symfony/http-foundation/UrlHelper.php deleted file mode 100644 index f114c0a..0000000 --- a/paragonik-backend/vendor/symfony/http-foundation/UrlHelper.php +++ /dev/null @@ -1,102 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpFoundation; - -use Symfony\Component\Routing\RequestContext; - -/** - * A helper service for manipulating URLs within and outside the request scope. - * - * @author Valentin Udaltsov - */ -final class UrlHelper -{ - private $requestStack; - private $requestContext; - - public function __construct(RequestStack $requestStack, RequestContext $requestContext = null) - { - $this->requestStack = $requestStack; - $this->requestContext = $requestContext; - } - - public function getAbsoluteUrl(string $path): string - { - if (false !== strpos($path, '://') || '//' === substr($path, 0, 2)) { - return $path; - } - - if (null === $request = $this->requestStack->getMasterRequest()) { - return $this->getAbsoluteUrlFromContext($path); - } - - if ('#' === $path[0]) { - $path = $request->getRequestUri().$path; - } elseif ('?' === $path[0]) { - $path = $request->getPathInfo().$path; - } - - if (!$path || '/' !== $path[0]) { - $prefix = $request->getPathInfo(); - $last = \strlen($prefix) - 1; - if ($last !== $pos = strrpos($prefix, '/')) { - $prefix = substr($prefix, 0, $pos).'/'; - } - - return $request->getUriForPath($prefix.$path); - } - - return $request->getSchemeAndHttpHost().$path; - } - - public function getRelativePath(string $path): string - { - if (false !== strpos($path, '://') || '//' === substr($path, 0, 2)) { - return $path; - } - - if (null === $request = $this->requestStack->getMasterRequest()) { - return $path; - } - - return $request->getRelativeUriForPath($path); - } - - private function getAbsoluteUrlFromContext(string $path): string - { - if (null === $this->requestContext || '' === $host = $this->requestContext->getHost()) { - return $path; - } - - $scheme = $this->requestContext->getScheme(); - $port = ''; - - if ('http' === $scheme && 80 !== $this->requestContext->getHttpPort()) { - $port = ':'.$this->requestContext->getHttpPort(); - } elseif ('https' === $scheme && 443 !== $this->requestContext->getHttpsPort()) { - $port = ':'.$this->requestContext->getHttpsPort(); - } - - if ('#' === $path[0]) { - $queryString = $this->requestContext->getQueryString(); - $path = $this->requestContext->getPathInfo().($queryString ? '?'.$queryString : '').$path; - } elseif ('?' === $path[0]) { - $path = $this->requestContext->getPathInfo().$path; - } - - if ('/' !== $path[0]) { - $path = rtrim($this->requestContext->getBaseUrl(), '/').'/'.$path; - } - - return $scheme.'://'.$host.$port.$path; - } -} diff --git a/paragonik-backend/vendor/symfony/http-foundation/composer.json b/paragonik-backend/vendor/symfony/http-foundation/composer.json deleted file mode 100644 index efc4b94..0000000 --- a/paragonik-backend/vendor/symfony/http-foundation/composer.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "name": "symfony/http-foundation", - "type": "library", - "description": "Symfony HttpFoundation Component", - "keywords": [], - "homepage": "https://symfony.com", - "license": "MIT", - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "require": { - "php": "^7.1.3", - "symfony/mime": "^4.3|^5.0", - "symfony/polyfill-mbstring": "~1.1" - }, - "require-dev": { - "predis/predis": "~1.0", - "symfony/expression-language": "^3.4|^4.0|^5.0" - }, - "autoload": { - "psr-4": { "Symfony\\Component\\HttpFoundation\\": "" }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "minimum-stability": "dev", - "extra": { - "branch-alias": { - "dev-master": "4.4-dev" - } - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/.gitattributes b/paragonik-backend/vendor/symfony/http-kernel/.gitattributes deleted file mode 100644 index ebb9287..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/.gitattributes +++ /dev/null @@ -1,3 +0,0 @@ -/Tests export-ignore -/phpunit.xml.dist export-ignore -/.gitignore export-ignore diff --git a/paragonik-backend/vendor/symfony/http-kernel/Bundle/Bundle.php b/paragonik-backend/vendor/symfony/http-kernel/Bundle/Bundle.php deleted file mode 100644 index 2ff356c..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/Bundle/Bundle.php +++ /dev/null @@ -1,163 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\Bundle; - -use Symfony\Component\Console\Application; -use Symfony\Component\DependencyInjection\Container; -use Symfony\Component\DependencyInjection\ContainerAwareTrait; -use Symfony\Component\DependencyInjection\ContainerBuilder; -use Symfony\Component\DependencyInjection\Extension\ExtensionInterface; - -/** - * An implementation of BundleInterface that adds a few conventions for DependencyInjection extensions. - * - * @author Fabien Potencier - */ -abstract class Bundle implements BundleInterface -{ - use ContainerAwareTrait; - - protected $name; - protected $extension; - protected $path; - private $namespace; - - /** - * {@inheritdoc} - */ - public function boot() - { - } - - /** - * {@inheritdoc} - */ - public function shutdown() - { - } - - /** - * {@inheritdoc} - * - * This method can be overridden to register compilation passes, - * other extensions, ... - */ - public function build(ContainerBuilder $container) - { - } - - /** - * Returns the bundle's container extension. - * - * @return ExtensionInterface|null The container extension - * - * @throws \LogicException - */ - public function getContainerExtension() - { - if (null === $this->extension) { - $extension = $this->createContainerExtension(); - - if (null !== $extension) { - if (!$extension instanceof ExtensionInterface) { - throw new \LogicException(sprintf('Extension %s must implement Symfony\Component\DependencyInjection\Extension\ExtensionInterface.', \get_class($extension))); - } - - // check naming convention - $basename = preg_replace('/Bundle$/', '', $this->getName()); - $expectedAlias = Container::underscore($basename); - - if ($expectedAlias != $extension->getAlias()) { - throw new \LogicException(sprintf('Users will expect the alias of the default extension of a bundle to be the underscored version of the bundle name ("%s"). You can override "Bundle::getContainerExtension()" if you want to use "%s" or another alias.', $expectedAlias, $extension->getAlias())); - } - - $this->extension = $extension; - } else { - $this->extension = false; - } - } - - return $this->extension ?: null; - } - - /** - * {@inheritdoc} - */ - public function getNamespace() - { - if (null === $this->namespace) { - $this->parseClassName(); - } - - return $this->namespace; - } - - /** - * {@inheritdoc} - */ - public function getPath() - { - if (null === $this->path) { - $reflected = new \ReflectionObject($this); - $this->path = \dirname($reflected->getFileName()); - } - - return $this->path; - } - - /** - * Returns the bundle name (the class short name). - */ - final public function getName(): string - { - if (null === $this->name) { - $this->parseClassName(); - } - - return $this->name; - } - - public function registerCommands(Application $application) - { - } - - /** - * Returns the bundle's container extension class. - * - * @return string - */ - protected function getContainerExtensionClass() - { - $basename = preg_replace('/Bundle$/', '', $this->getName()); - - return $this->getNamespace().'\\DependencyInjection\\'.$basename.'Extension'; - } - - /** - * Creates the bundle's container extension. - * - * @return ExtensionInterface|null - */ - protected function createContainerExtension() - { - return class_exists($class = $this->getContainerExtensionClass()) ? new $class() : null; - } - - private function parseClassName() - { - $pos = strrpos(static::class, '\\'); - $this->namespace = false === $pos ? '' : substr(static::class, 0, $pos); - if (null === $this->name) { - $this->name = false === $pos ? static::class : substr(static::class, $pos + 1); - } - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/Bundle/BundleInterface.php b/paragonik-backend/vendor/symfony/http-kernel/Bundle/BundleInterface.php deleted file mode 100644 index 88a95d8..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/Bundle/BundleInterface.php +++ /dev/null @@ -1,71 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\Bundle; - -use Symfony\Component\DependencyInjection\ContainerAwareInterface; -use Symfony\Component\DependencyInjection\ContainerBuilder; -use Symfony\Component\DependencyInjection\Extension\ExtensionInterface; - -/** - * BundleInterface. - * - * @author Fabien Potencier - */ -interface BundleInterface extends ContainerAwareInterface -{ - /** - * Boots the Bundle. - */ - public function boot(); - - /** - * Shutdowns the Bundle. - */ - public function shutdown(); - - /** - * Builds the bundle. - * - * It is only ever called once when the cache is empty. - */ - public function build(ContainerBuilder $container); - - /** - * Returns the container extension that should be implicitly loaded. - * - * @return ExtensionInterface|null The default extension or null if there is none - */ - public function getContainerExtension(); - - /** - * Returns the bundle name (the class short name). - * - * @return string The Bundle name - */ - public function getName(); - - /** - * Gets the Bundle namespace. - * - * @return string The Bundle namespace - */ - public function getNamespace(); - - /** - * Gets the Bundle directory path. - * - * The path should always be returned as a Unix path (with /). - * - * @return string The Bundle absolute path - */ - public function getPath(); -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/CHANGELOG.md b/paragonik-backend/vendor/symfony/http-kernel/CHANGELOG.md deleted file mode 100644 index 08a8cfd..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/CHANGELOG.md +++ /dev/null @@ -1,241 +0,0 @@ -CHANGELOG -========= - -4.4.0 ------ - - * The `DebugHandlersListener` class has been marked as `final` - * Added new Bundle directory convention consistent with standard skeletons - * Deprecated the second and third argument of `KernelInterface::locateResource` - * Deprecated the second and third argument of `FileLocator::__construct` - * Deprecated loading resources from `%kernel.root_dir%/Resources` and `%kernel.root_dir%` as - fallback directories. Resources like service definitions are usually loaded relative to the - current directory or with a glob pattern. The fallback directories have never been advocated - so you likely do not use those in any app based on the SF Standard or Flex edition. - * Marked all dispatched event classes as `@final` - * Added `ErrorController` to enable the preview and error rendering mechanism - * Getting the container from a non-booted kernel is deprecated. - * Marked the `AjaxDataCollector`, `ConfigDataCollector`, `EventDataCollector`, - `ExceptionDataCollector`, `LoggerDataCollector`, `MemoryDataCollector`, - `RequestDataCollector` and `TimeDataCollector` classes as `@final`. - * Marked the `RouterDataCollector::collect()` method as `@final`. - * The `DataCollectorInterface::collect()` and `Profiler::collect()` methods third parameter signature - will be `\Throwable $exception = null` instead of `\Exception $exception = null` in Symfony 5.0. - * Deprecated methods `ExceptionEvent::get/setException()`, use `get/setThrowable()` instead - * Deprecated class `ExceptionListener`, use `ErrorListener` instead - -4.3.0 ------ - - * renamed `Client` to `HttpKernelBrowser` - * `KernelInterface` doesn't extend `Serializable` anymore - * deprecated the `Kernel::serialize()` and `unserialize()` methods - * increased the priority of `Symfony\Component\HttpKernel\EventListener\AddRequestFormatsListener` - * made `Symfony\Component\HttpKernel\EventListener\LocaleListener` set the default locale early - * deprecated `TranslatorListener` in favor of `LocaleAwareListener` - * added the registration of all `LocaleAwareInterface` implementations into the `LocaleAwareListener` - * made `FileLinkFormatter` final and not implement `Serializable` anymore - * the base `DataCollector` doesn't implement `Serializable` anymore, you should - store all the serialized state in the data property instead - * `DumpDataCollector` has been marked as `final` - * added an event listener to prevent search engines from indexing applications in debug mode. - * renamed `FilterControllerArgumentsEvent` to `ControllerArgumentsEvent` - * renamed `FilterControllerEvent` to `ControllerEvent` - * renamed `FilterResponseEvent` to `ResponseEvent` - * renamed `GetResponseEvent` to `RequestEvent` - * renamed `GetResponseForControllerResultEvent` to `ViewEvent` - * renamed `GetResponseForExceptionEvent` to `ExceptionEvent` - * renamed `PostResponseEvent` to `TerminateEvent` - * added `HttpClientKernel` for handling requests with an `HttpClientInterface` instance - * added `trace_header` and `trace_level` configuration options to `HttpCache` - -4.2.0 ------ - - * deprecated `KernelInterface::getRootDir()` and the `kernel.root_dir` parameter - * deprecated `KernelInterface::getName()` and the `kernel.name` parameter - * deprecated the first and second constructor argument of `ConfigDataCollector` - * deprecated `ConfigDataCollector::getApplicationName()` - * deprecated `ConfigDataCollector::getApplicationVersion()` - -4.1.0 ------ - - * added orphaned events support to `EventDataCollector` - * `ExceptionListener` now logs exceptions at priority `0` (previously logged at `-128`) - * Added support for using `service::method` to reference controllers, making it consistent with other cases. It is recommended over the `service:action` syntax with a single colon, which will be deprecated in the future. - * Added the ability to profile individual argument value resolvers via the - `Symfony\Component\HttpKernel\Controller\ArgumentResolver\TraceableValueResolver` - -4.0.0 ------ - - * removed the `DataCollector::varToString()` method, use `DataCollector::cloneVar()` - instead - * using the `DataCollector::cloneVar()` method requires the VarDumper component - * removed the `ValueExporter` class - * removed `ControllerResolverInterface::getArguments()` - * removed `TraceableControllerResolver::getArguments()` - * removed `ControllerResolver::getArguments()` and the ability to resolve arguments - * removed the `argument_resolver` service dependency from the `debug.controller_resolver` - * removed `LazyLoadingFragmentHandler::addRendererService()` - * removed `Psr6CacheClearer::addPool()` - * removed `Extension::addClassesToCompile()` and `Extension::getClassesToCompile()` - * removed `Kernel::loadClassCache()`, `Kernel::doLoadClassCache()`, `Kernel::setClassCache()`, - and `Kernel::getEnvParameters()` - * support for the `X-Status-Code` when handling exceptions in the `HttpKernel` - has been dropped, use the `HttpKernel::allowCustomResponseCode()` method - instead - * removed convention-based commands registration - * removed the `ChainCacheClearer::add()` method - * removed the `CacheaWarmerAggregate::add()` and `setWarmers()` methods - * made `CacheWarmerAggregate` and `ChainCacheClearer` classes final - -3.4.0 ------ - - * added a minimalist PSR-3 `Logger` class that writes in `stderr` - * made kernels implementing `CompilerPassInterface` able to process the container - * deprecated bundle inheritance - * added `RebootableInterface` and implemented it in `Kernel` - * deprecated commands auto registration - * deprecated `EnvParametersResource` - * added `Symfony\Component\HttpKernel\Client::catchExceptions()` - * deprecated the `ChainCacheClearer::add()` method - * deprecated the `CacheaWarmerAggregate::add()` and `setWarmers()` methods - * made `CacheWarmerAggregate` and `ChainCacheClearer` classes final - * added the possibility to reset the profiler to its initial state - * deprecated data collectors without a `reset()` method - * deprecated implementing `DebugLoggerInterface` without a `clear()` method - -3.3.0 ------ - - * added `kernel.project_dir` and `Kernel::getProjectDir()` - * deprecated `kernel.root_dir` and `Kernel::getRootDir()` - * deprecated `Kernel::getEnvParameters()` - * deprecated the special `SYMFONY__` environment variables - * added the possibility to change the query string parameter used by `UriSigner` - * deprecated `LazyLoadingFragmentHandler::addRendererService()` - * deprecated `Extension::addClassesToCompile()` and `Extension::getClassesToCompile()` - * deprecated `Psr6CacheClearer::addPool()` - -3.2.0 ------ - - * deprecated `DataCollector::varToString()`, use `cloneVar()` instead - * changed surrogate capability name in `AbstractSurrogate::addSurrogateCapability` to 'symfony' - * Added `ControllerArgumentValueResolverPass` - -3.1.0 ------ - * deprecated passing objects as URI attributes to the ESI and SSI renderers - * deprecated `ControllerResolver::getArguments()` - * added `Symfony\Component\HttpKernel\Controller\ArgumentResolverInterface` - * added `Symfony\Component\HttpKernel\Controller\ArgumentResolverInterface` as argument to `HttpKernel` - * added `Symfony\Component\HttpKernel\Controller\ArgumentResolver` - * added `Symfony\Component\HttpKernel\DataCollector\RequestDataCollector::getMethod()` - * added `Symfony\Component\HttpKernel\DataCollector\RequestDataCollector::getRedirect()` - * added the `kernel.controller_arguments` event, triggered after controller arguments have been resolved - -3.0.0 ------ - - * removed `Symfony\Component\HttpKernel\Kernel::init()` - * removed `Symfony\Component\HttpKernel\Kernel::isClassInActiveBundle()` and `Symfony\Component\HttpKernel\KernelInterface::isClassInActiveBundle()` - * removed `Symfony\Component\HttpKernel\Debug\TraceableEventDispatcher::setProfiler()` - * removed `Symfony\Component\HttpKernel\EventListener\FragmentListener::getLocalIpAddresses()` - * removed `Symfony\Component\HttpKernel\EventListener\LocaleListener::setRequest()` - * removed `Symfony\Component\HttpKernel\EventListener\RouterListener::setRequest()` - * removed `Symfony\Component\HttpKernel\EventListener\ProfilerListener::onKernelRequest()` - * removed `Symfony\Component\HttpKernel\Fragment\FragmentHandler::setRequest()` - * removed `Symfony\Component\HttpKernel\HttpCache\Esi::hasSurrogateEsiCapability()` - * removed `Symfony\Component\HttpKernel\HttpCache\Esi::addSurrogateEsiCapability()` - * removed `Symfony\Component\HttpKernel\HttpCache\Esi::needsEsiParsing()` - * removed `Symfony\Component\HttpKernel\HttpCache\HttpCache::getEsi()` - * removed `Symfony\Component\HttpKernel\DependencyInjection\ContainerAwareHttpKernel` - * removed `Symfony\Component\HttpKernel\DependencyInjection\RegisterListenersPass` - * removed `Symfony\Component\HttpKernel\EventListener\ErrorsLoggerListener` - * removed `Symfony\Component\HttpKernel\EventListener\EsiListener` - * removed `Symfony\Component\HttpKernel\HttpCache\EsiResponseCacheStrategy` - * removed `Symfony\Component\HttpKernel\HttpCache\EsiResponseCacheStrategyInterface` - * removed `Symfony\Component\HttpKernel\Log\LoggerInterface` - * removed `Symfony\Component\HttpKernel\Log\NullLogger` - * removed `Symfony\Component\HttpKernel\Profiler::import()` - * removed `Symfony\Component\HttpKernel\Profiler::export()` - -2.8.0 ------ - - * deprecated `Profiler::import` and `Profiler::export` - -2.7.0 ------ - - * added the HTTP status code to profiles - -2.6.0 ------ - - * deprecated `Symfony\Component\HttpKernel\EventListener\ErrorsLoggerListener`, use `Symfony\Component\HttpKernel\EventListener\DebugHandlersListener` instead - * deprecated unused method `Symfony\Component\HttpKernel\Kernel::isClassInActiveBundle` and `Symfony\Component\HttpKernel\KernelInterface::isClassInActiveBundle` - -2.5.0 ------ - - * deprecated `Symfony\Component\HttpKernel\DependencyInjection\RegisterListenersPass`, use `Symfony\Component\EventDispatcher\DependencyInjection\RegisterListenersPass` instead - -2.4.0 ------ - - * added event listeners for the session - * added the KernelEvents::FINISH_REQUEST event - -2.3.0 ------ - - * [BC BREAK] renamed `Symfony\Component\HttpKernel\EventListener\DeprecationLoggerListener` to `Symfony\Component\HttpKernel\EventListener\ErrorsLoggerListener` and changed its constructor - * deprecated `Symfony\Component\HttpKernel\Debug\ErrorHandler`, `Symfony\Component\HttpKernel\Debug\ExceptionHandler`, - `Symfony\Component\HttpKernel\Exception\FatalErrorException` and `Symfony\Component\HttpKernel\Exception\FlattenException` - * deprecated `Symfony\Component\HttpKernel\Kernel::init()` - * added the possibility to specify an id an extra attributes to hinclude tags - * added the collect of data if a controller is a Closure in the Request collector - * pass exceptions from the ExceptionListener to the logger using the logging context to allow for more - detailed messages - -2.2.0 ------ - - * [BC BREAK] the path info for sub-request is now always _fragment (or whatever you configured instead of the default) - * added Symfony\Component\HttpKernel\EventListener\FragmentListener - * added Symfony\Component\HttpKernel\UriSigner - * added Symfony\Component\HttpKernel\FragmentRenderer and rendering strategies (in Symfony\Component\HttpKernel\Fragment\FragmentRendererInterface) - * added Symfony\Component\HttpKernel\DependencyInjection\ContainerAwareHttpKernel - * added ControllerReference to create reference of Controllers (used in the FragmentRenderer class) - * [BC BREAK] renamed TimeDataCollector::getTotalTime() to - TimeDataCollector::getDuration() - * updated the MemoryDataCollector to include the memory used in the - kernel.terminate event listeners - * moved the Stopwatch classes to a new component - * added TraceableControllerResolver - * added TraceableEventDispatcher (removed ContainerAwareTraceableEventDispatcher) - * added support for WinCache opcode cache in ConfigDataCollector - -2.1.0 ------ - - * [BC BREAK] the charset is now configured via the Kernel::getCharset() method - * [BC BREAK] the current locale for the user is not stored anymore in the session - * added the HTTP method to the profiler storage - * updated all listeners to implement EventSubscriberInterface - * added TimeDataCollector - * added ContainerAwareTraceableEventDispatcher - * moved TraceableEventDispatcherInterface to the EventDispatcher component - * added RouterListener, LocaleListener, and StreamedResponseListener - * added CacheClearerInterface (and ChainCacheClearer) - * added a kernel.terminate event (via TerminableInterface and PostResponseEvent) - * added a Stopwatch class - * added WarmableInterface - * improved extensibility between bundles - * added profiler storages for Memcache(d), File-based, MongoDB, Redis - * moved Filesystem class to its own component diff --git a/paragonik-backend/vendor/symfony/http-kernel/CacheClearer/CacheClearerInterface.php b/paragonik-backend/vendor/symfony/http-kernel/CacheClearer/CacheClearerInterface.php deleted file mode 100644 index 675c584..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/CacheClearer/CacheClearerInterface.php +++ /dev/null @@ -1,27 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\CacheClearer; - -/** - * CacheClearerInterface. - * - * @author Dustin Dobervich - */ -interface CacheClearerInterface -{ - /** - * Clears any caches necessary. - * - * @param string $cacheDir The cache directory - */ - public function clear($cacheDir); -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/CacheClearer/ChainCacheClearer.php b/paragonik-backend/vendor/symfony/http-kernel/CacheClearer/ChainCacheClearer.php deleted file mode 100644 index 5061a8d..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/CacheClearer/ChainCacheClearer.php +++ /dev/null @@ -1,39 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\CacheClearer; - -/** - * ChainCacheClearer. - * - * @author Dustin Dobervich - * - * @final - */ -class ChainCacheClearer implements CacheClearerInterface -{ - private $clearers; - - public function __construct(iterable $clearers = []) - { - $this->clearers = $clearers; - } - - /** - * {@inheritdoc} - */ - public function clear($cacheDir) - { - foreach ($this->clearers as $clearer) { - $clearer->clear($cacheDir); - } - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/CacheClearer/Psr6CacheClearer.php b/paragonik-backend/vendor/symfony/http-kernel/CacheClearer/Psr6CacheClearer.php deleted file mode 100644 index 47a6ece..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/CacheClearer/Psr6CacheClearer.php +++ /dev/null @@ -1,58 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\CacheClearer; - -/** - * @author Nicolas Grekas - */ -class Psr6CacheClearer implements CacheClearerInterface -{ - private $pools = []; - - public function __construct(array $pools = []) - { - $this->pools = $pools; - } - - public function hasPool($name) - { - return isset($this->pools[$name]); - } - - public function getPool($name) - { - if (!$this->hasPool($name)) { - throw new \InvalidArgumentException(sprintf('Cache pool not found: %s.', $name)); - } - - return $this->pools[$name]; - } - - public function clearPool($name) - { - if (!isset($this->pools[$name])) { - throw new \InvalidArgumentException(sprintf('Cache pool not found: %s.', $name)); - } - - return $this->pools[$name]->clear(); - } - - /** - * {@inheritdoc} - */ - public function clear($cacheDir) - { - foreach ($this->pools as $pool) { - $pool->clear(); - } - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/CacheWarmer/CacheWarmer.php b/paragonik-backend/vendor/symfony/http-kernel/CacheWarmer/CacheWarmer.php deleted file mode 100644 index 52dc2ad..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/CacheWarmer/CacheWarmer.php +++ /dev/null @@ -1,32 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\CacheWarmer; - -/** - * Abstract cache warmer that knows how to write a file to the cache. - * - * @author Fabien Potencier - */ -abstract class CacheWarmer implements CacheWarmerInterface -{ - protected function writeCacheFile($file, $content) - { - $tmpFile = @tempnam(\dirname($file), basename($file)); - if (false !== @file_put_contents($tmpFile, $content) && @rename($tmpFile, $file)) { - @chmod($file, 0666 & ~umask()); - - return; - } - - throw new \RuntimeException(sprintf('Failed to write cache file "%s".', $file)); - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/CacheWarmer/CacheWarmerAggregate.php b/paragonik-backend/vendor/symfony/http-kernel/CacheWarmer/CacheWarmerAggregate.php deleted file mode 100644 index 9d84f03..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/CacheWarmer/CacheWarmerAggregate.php +++ /dev/null @@ -1,122 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\CacheWarmer; - -/** - * Aggregates several cache warmers into a single one. - * - * @author Fabien Potencier - * - * @final - */ -class CacheWarmerAggregate implements CacheWarmerInterface -{ - private $warmers; - private $debug; - private $deprecationLogsFilepath; - private $optionalsEnabled = false; - private $onlyOptionalsEnabled = false; - - public function __construct(iterable $warmers = [], bool $debug = false, string $deprecationLogsFilepath = null) - { - $this->warmers = $warmers; - $this->debug = $debug; - $this->deprecationLogsFilepath = $deprecationLogsFilepath; - } - - public function enableOptionalWarmers() - { - $this->optionalsEnabled = true; - } - - public function enableOnlyOptionalWarmers() - { - $this->onlyOptionalsEnabled = $this->optionalsEnabled = true; - } - - /** - * Warms up the cache. - * - * @param string $cacheDir The cache directory - */ - public function warmUp($cacheDir) - { - if ($collectDeprecations = $this->debug && !\defined('PHPUNIT_COMPOSER_INSTALL')) { - $collectedLogs = []; - $previousHandler = set_error_handler(function ($type, $message, $file, $line) use (&$collectedLogs, &$previousHandler) { - if (E_USER_DEPRECATED !== $type && E_DEPRECATED !== $type) { - return $previousHandler ? $previousHandler($type, $message, $file, $line) : false; - } - - if (isset($collectedLogs[$message])) { - ++$collectedLogs[$message]['count']; - - return null; - } - - $backtrace = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, 3); - // Clean the trace by removing first frames added by the error handler itself. - for ($i = 0; isset($backtrace[$i]); ++$i) { - if (isset($backtrace[$i]['file'], $backtrace[$i]['line']) && $backtrace[$i]['line'] === $line && $backtrace[$i]['file'] === $file) { - $backtrace = \array_slice($backtrace, 1 + $i); - break; - } - } - - $collectedLogs[$message] = [ - 'type' => $type, - 'message' => $message, - 'file' => $file, - 'line' => $line, - 'trace' => $backtrace, - 'count' => 1, - ]; - - return null; - }); - } - - try { - foreach ($this->warmers as $warmer) { - if (!$this->optionalsEnabled && $warmer->isOptional()) { - continue; - } - if ($this->onlyOptionalsEnabled && !$warmer->isOptional()) { - continue; - } - - $warmer->warmUp($cacheDir); - } - } finally { - if ($collectDeprecations) { - restore_error_handler(); - - if (file_exists($this->deprecationLogsFilepath)) { - $previousLogs = unserialize(file_get_contents($this->deprecationLogsFilepath)); - $collectedLogs = array_merge($previousLogs, $collectedLogs); - } - - file_put_contents($this->deprecationLogsFilepath, serialize(array_values($collectedLogs))); - } - } - } - - /** - * Checks whether this warmer is optional or not. - * - * @return bool always false - */ - public function isOptional(): bool - { - return false; - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/CacheWarmer/CacheWarmerInterface.php b/paragonik-backend/vendor/symfony/http-kernel/CacheWarmer/CacheWarmerInterface.php deleted file mode 100644 index 8fece5e..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/CacheWarmer/CacheWarmerInterface.php +++ /dev/null @@ -1,32 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\CacheWarmer; - -/** - * Interface for classes able to warm up the cache. - * - * @author Fabien Potencier - */ -interface CacheWarmerInterface extends WarmableInterface -{ - /** - * Checks whether this warmer is optional or not. - * - * Optional warmers can be ignored on certain conditions. - * - * A warmer should return true if the cache can be - * generated incrementally and on-demand. - * - * @return bool true if the warmer is optional, false otherwise - */ - public function isOptional(); -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/CacheWarmer/WarmableInterface.php b/paragonik-backend/vendor/symfony/http-kernel/CacheWarmer/WarmableInterface.php deleted file mode 100644 index 25d8ee8..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/CacheWarmer/WarmableInterface.php +++ /dev/null @@ -1,27 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\CacheWarmer; - -/** - * Interface for classes that support warming their cache. - * - * @author Fabien Potencier - */ -interface WarmableInterface -{ - /** - * Warms up the cache. - * - * @param string $cacheDir The cache directory - */ - public function warmUp($cacheDir); -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/Client.php b/paragonik-backend/vendor/symfony/http-kernel/Client.php deleted file mode 100644 index 77c74a5..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/Client.php +++ /dev/null @@ -1,201 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel; - -use Symfony\Component\BrowserKit\AbstractBrowser; -use Symfony\Component\BrowserKit\CookieJar; -use Symfony\Component\BrowserKit\History; -use Symfony\Component\BrowserKit\Request as DomRequest; -use Symfony\Component\BrowserKit\Response as DomResponse; -use Symfony\Component\HttpFoundation\File\UploadedFile; -use Symfony\Component\HttpFoundation\Request; -use Symfony\Component\HttpFoundation\Response; - -/** - * Client simulates a browser and makes requests to an HttpKernel instance. - * - * @method Request getRequest() A Request instance - * @method Response getResponse() A Response instance - * - * @deprecated since Symfony 4.3, use HttpKernelBrowser instead. - */ -class Client extends AbstractBrowser -{ - protected $kernel; - private $catchExceptions = true; - - /** - * @param array $server The server parameters (equivalent of $_SERVER) - */ - public function __construct(HttpKernelInterface $kernel, array $server = [], History $history = null, CookieJar $cookieJar = null) - { - // These class properties must be set before calling the parent constructor, as it may depend on it. - $this->kernel = $kernel; - $this->followRedirects = false; - - parent::__construct($server, $history, $cookieJar); - } - - /** - * Sets whether to catch exceptions when the kernel is handling a request. - * - * @param bool $catchExceptions Whether to catch exceptions - */ - public function catchExceptions($catchExceptions) - { - $this->catchExceptions = $catchExceptions; - } - - /** - * Makes a request. - * - * @return Response A Response instance - */ - protected function doRequest($request) - { - $response = $this->kernel->handle($request, HttpKernelInterface::MASTER_REQUEST, $this->catchExceptions); - - if ($this->kernel instanceof TerminableInterface) { - $this->kernel->terminate($request, $response); - } - - return $response; - } - - /** - * Returns the script to execute when the request must be insulated. - * - * @return string - */ - protected function getScript($request) - { - $kernel = var_export(serialize($this->kernel), true); - $request = var_export(serialize($request), true); - - $errorReporting = error_reporting(); - - $requires = ''; - foreach (get_declared_classes() as $class) { - if (0 === strpos($class, 'ComposerAutoloaderInit')) { - $r = new \ReflectionClass($class); - $file = \dirname($r->getFileName(), 2).'/autoload.php'; - if (file_exists($file)) { - $requires .= 'require_once '.var_export($file, true).";\n"; - } - } - } - - if (!$requires) { - throw new \RuntimeException('Composer autoloader not found.'); - } - - $code = <<getHandleScript(); - } - - protected function getHandleScript() - { - return <<<'EOF' -$response = $kernel->handle($request); - -if ($kernel instanceof Symfony\Component\HttpKernel\TerminableInterface) { - $kernel->terminate($request, $response); -} - -echo serialize($response); -EOF; - } - - /** - * Converts the BrowserKit request to a HttpKernel request. - * - * @return Request A Request instance - */ - protected function filterRequest(DomRequest $request) - { - $httpRequest = Request::create($request->getUri(), $request->getMethod(), $request->getParameters(), $request->getCookies(), $request->getFiles(), $request->getServer(), $request->getContent()); - - foreach ($this->filterFiles($httpRequest->files->all()) as $key => $value) { - $httpRequest->files->set($key, $value); - } - - return $httpRequest; - } - - /** - * Filters an array of files. - * - * This method created test instances of UploadedFile so that the move() - * method can be called on those instances. - * - * If the size of a file is greater than the allowed size (from php.ini) then - * an invalid UploadedFile is returned with an error set to UPLOAD_ERR_INI_SIZE. - * - * @see UploadedFile - * - * @return array An array with all uploaded files marked as already moved - */ - protected function filterFiles(array $files) - { - $filtered = []; - foreach ($files as $key => $value) { - if (\is_array($value)) { - $filtered[$key] = $this->filterFiles($value); - } elseif ($value instanceof UploadedFile) { - if ($value->isValid() && $value->getSize() > UploadedFile::getMaxFilesize()) { - $filtered[$key] = new UploadedFile( - '', - $value->getClientOriginalName(), - $value->getClientMimeType(), - UPLOAD_ERR_INI_SIZE, - true - ); - } else { - $filtered[$key] = new UploadedFile( - $value->getPathname(), - $value->getClientOriginalName(), - $value->getClientMimeType(), - $value->getError(), - true - ); - } - } - } - - return $filtered; - } - - /** - * Converts the HttpKernel response to a BrowserKit response. - * - * @return DomResponse A DomResponse instance - */ - protected function filterResponse($response) - { - // this is needed to support StreamedResponse - ob_start(); - $response->sendContent(); - $content = ob_get_clean(); - - return new DomResponse($content, $response->getStatusCode(), $response->headers->all()); - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/Config/FileLocator.php b/paragonik-backend/vendor/symfony/http-kernel/Config/FileLocator.php deleted file mode 100644 index 8683a3e..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/Config/FileLocator.php +++ /dev/null @@ -1,86 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\Config; - -use Symfony\Component\Config\FileLocator as BaseFileLocator; -use Symfony\Component\HttpKernel\KernelInterface; - -/** - * FileLocator uses the KernelInterface to locate resources in bundles. - * - * @author Fabien Potencier - */ -class FileLocator extends BaseFileLocator -{ - private $kernel; - - /** - * @deprecated since Symfony 4.4 - */ - private $path; - - public function __construct(KernelInterface $kernel/*, string $path = null, array $paths = [], bool $triggerDeprecation = true*/) - { - $this->kernel = $kernel; - - if (2 <= \func_num_args()) { - $this->path = func_get_arg(1); - $paths = 3 <= \func_num_args() ? func_get_arg(2) : []; - if (null !== $this->path) { - $paths[] = $this->path; - } - - if (4 !== \func_num_args() || func_get_arg(3)) { - @trigger_error(sprintf('Passing more than one argument to %s is deprecated since Symfony 4.4 and will be removed in 5.0.', __METHOD__), E_USER_DEPRECATED); - } - } else { - $paths = []; - } - - parent::__construct($paths); - } - - /** - * {@inheritdoc} - */ - public function locate($file, $currentPath = null, $first = true) - { - if (isset($file[0]) && '@' === $file[0]) { - return $this->kernel->locateResource($file, $this->path, $first, false); - } - - $locations = parent::locate($file, $currentPath, $first); - - if (isset($file[0]) && !( - '/' === $file[0] || '\\' === $file[0] - || (\strlen($file) > 3 && ctype_alpha($file[0]) && ':' === $file[1] && ('\\' === $file[2] || '/' === $file[2])) - || null !== parse_url($file, PHP_URL_SCHEME) - )) { - // no need to trigger deprecations when the loaded file is given as absolute path - foreach ($this->paths as $deprecatedPath) { - if (\is_array($locations)) { - foreach ($locations as $location) { - if (0 === strpos($location, $deprecatedPath) && (null === $currentPath || false === strpos($location, $currentPath))) { - @trigger_error(sprintf('Loading the file "%s" from the global resource directory "%s" is deprecated since Symfony 4.4 and will be removed in 5.0.', $file, $deprecatedPath), E_USER_DEPRECATED); - } - } - } else { - if (0 === strpos($locations, $deprecatedPath) && (null === $currentPath || false === strpos($locations, $currentPath))) { - @trigger_error(sprintf('Loading the file "%s" from the global resource directory "%s" is deprecated since Symfony 4.4 and will be removed in 5.0.', $file, $deprecatedPath), E_USER_DEPRECATED); - } - } - } - } - - return $locations; - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/Controller/ArgumentResolver.php b/paragonik-backend/vendor/symfony/http-kernel/Controller/ArgumentResolver.php deleted file mode 100644 index 89154ec..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/Controller/ArgumentResolver.php +++ /dev/null @@ -1,96 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\Controller; - -use Symfony\Component\HttpFoundation\Request; -use Symfony\Component\HttpKernel\Controller\ArgumentResolver\DefaultValueResolver; -use Symfony\Component\HttpKernel\Controller\ArgumentResolver\RequestAttributeValueResolver; -use Symfony\Component\HttpKernel\Controller\ArgumentResolver\RequestValueResolver; -use Symfony\Component\HttpKernel\Controller\ArgumentResolver\SessionValueResolver; -use Symfony\Component\HttpKernel\Controller\ArgumentResolver\VariadicValueResolver; -use Symfony\Component\HttpKernel\ControllerMetadata\ArgumentMetadataFactory; -use Symfony\Component\HttpKernel\ControllerMetadata\ArgumentMetadataFactoryInterface; - -/** - * Responsible for resolving the arguments passed to an action. - * - * @author Iltar van der Berg - */ -final class ArgumentResolver implements ArgumentResolverInterface -{ - private $argumentMetadataFactory; - - /** - * @var iterable|ArgumentValueResolverInterface[] - */ - private $argumentValueResolvers; - - public function __construct(ArgumentMetadataFactoryInterface $argumentMetadataFactory = null, iterable $argumentValueResolvers = []) - { - $this->argumentMetadataFactory = $argumentMetadataFactory ?: new ArgumentMetadataFactory(); - $this->argumentValueResolvers = $argumentValueResolvers ?: self::getDefaultArgumentValueResolvers(); - } - - /** - * {@inheritdoc} - */ - public function getArguments(Request $request, $controller): array - { - $arguments = []; - - foreach ($this->argumentMetadataFactory->createArgumentMetadata($controller) as $metadata) { - foreach ($this->argumentValueResolvers as $resolver) { - if (!$resolver->supports($request, $metadata)) { - continue; - } - - $resolved = $resolver->resolve($request, $metadata); - - $atLeastOne = false; - foreach ($resolved as $append) { - $atLeastOne = true; - $arguments[] = $append; - } - - if (!$atLeastOne) { - throw new \InvalidArgumentException(sprintf('%s::resolve() must yield at least one value.', \get_class($resolver))); - } - - // continue to the next controller argument - continue 2; - } - - $representative = $controller; - - if (\is_array($representative)) { - $representative = sprintf('%s::%s()', \get_class($representative[0]), $representative[1]); - } elseif (\is_object($representative)) { - $representative = \get_class($representative); - } - - throw new \RuntimeException(sprintf('Controller "%s" requires that you provide a value for the "$%s" argument. Either the argument is nullable and no null value has been provided, no default value has been provided or because there is a non optional argument after this one.', $representative, $metadata->getName())); - } - - return $arguments; - } - - public static function getDefaultArgumentValueResolvers(): iterable - { - return [ - new RequestAttributeValueResolver(), - new RequestValueResolver(), - new SessionValueResolver(), - new DefaultValueResolver(), - new VariadicValueResolver(), - ]; - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/Controller/ArgumentResolver/DefaultValueResolver.php b/paragonik-backend/vendor/symfony/http-kernel/Controller/ArgumentResolver/DefaultValueResolver.php deleted file mode 100644 index 32a0e07..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/Controller/ArgumentResolver/DefaultValueResolver.php +++ /dev/null @@ -1,40 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\Controller\ArgumentResolver; - -use Symfony\Component\HttpFoundation\Request; -use Symfony\Component\HttpKernel\Controller\ArgumentValueResolverInterface; -use Symfony\Component\HttpKernel\ControllerMetadata\ArgumentMetadata; - -/** - * Yields the default value defined in the action signature when no value has been given. - * - * @author Iltar van der Berg - */ -final class DefaultValueResolver implements ArgumentValueResolverInterface -{ - /** - * {@inheritdoc} - */ - public function supports(Request $request, ArgumentMetadata $argument): bool - { - return $argument->hasDefaultValue() || (null !== $argument->getType() && $argument->isNullable() && !$argument->isVariadic()); - } - - /** - * {@inheritdoc} - */ - public function resolve(Request $request, ArgumentMetadata $argument): iterable - { - yield $argument->hasDefaultValue() ? $argument->getDefaultValue() : null; - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/Controller/ArgumentResolver/NotTaggedControllerValueResolver.php b/paragonik-backend/vendor/symfony/http-kernel/Controller/ArgumentResolver/NotTaggedControllerValueResolver.php deleted file mode 100644 index d4971cc..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/Controller/ArgumentResolver/NotTaggedControllerValueResolver.php +++ /dev/null @@ -1,81 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\Controller\ArgumentResolver; - -use Psr\Container\ContainerInterface; -use Symfony\Component\DependencyInjection\Exception\RuntimeException; -use Symfony\Component\HttpFoundation\Request; -use Symfony\Component\HttpKernel\Controller\ArgumentValueResolverInterface; -use Symfony\Component\HttpKernel\ControllerMetadata\ArgumentMetadata; - -/** - * Provides an intuitive error message when controller fails because it is not registered as a service. - * - * @author Simeon Kolev - */ -final class NotTaggedControllerValueResolver implements ArgumentValueResolverInterface -{ - private $container; - - public function __construct(ContainerInterface $container) - { - $this->container = $container; - } - - /** - * {@inheritdoc} - */ - public function supports(Request $request, ArgumentMetadata $argument): bool - { - $controller = $request->attributes->get('_controller'); - - if (\is_array($controller) && \is_callable($controller, true) && \is_string($controller[0])) { - $controller = $controller[0].'::'.$controller[1]; - } elseif (!\is_string($controller) || '' === $controller) { - return false; - } - - if ('\\' === $controller[0]) { - $controller = ltrim($controller, '\\'); - } - - if (!$this->container->has($controller) && false !== $i = strrpos($controller, ':')) { - $controller = substr($controller, 0, $i).strtolower(substr($controller, $i)); - } - - return false === $this->container->has($controller); - } - - /** - * {@inheritdoc} - */ - public function resolve(Request $request, ArgumentMetadata $argument): iterable - { - if (\is_array($controller = $request->attributes->get('_controller'))) { - $controller = $controller[0].'::'.$controller[1]; - } - - if ('\\' === $controller[0]) { - $controller = ltrim($controller, '\\'); - } - - if (!$this->container->has($controller)) { - $i = strrpos($controller, ':'); - $controller = substr($controller, 0, $i).strtolower(substr($controller, $i)); - } - - $what = sprintf('argument $%s of "%s()"', $argument->getName(), $controller); - $message = sprintf('Could not resolve %s, maybe you forgot to register the controller as a service or missed tagging it with the "controller.service_arguments"?', $what); - - throw new RuntimeException($message); - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/Controller/ArgumentResolver/RequestAttributeValueResolver.php b/paragonik-backend/vendor/symfony/http-kernel/Controller/ArgumentResolver/RequestAttributeValueResolver.php deleted file mode 100644 index c62d327..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/Controller/ArgumentResolver/RequestAttributeValueResolver.php +++ /dev/null @@ -1,40 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\Controller\ArgumentResolver; - -use Symfony\Component\HttpFoundation\Request; -use Symfony\Component\HttpKernel\Controller\ArgumentValueResolverInterface; -use Symfony\Component\HttpKernel\ControllerMetadata\ArgumentMetadata; - -/** - * Yields a non-variadic argument's value from the request attributes. - * - * @author Iltar van der Berg - */ -final class RequestAttributeValueResolver implements ArgumentValueResolverInterface -{ - /** - * {@inheritdoc} - */ - public function supports(Request $request, ArgumentMetadata $argument): bool - { - return !$argument->isVariadic() && $request->attributes->has($argument->getName()); - } - - /** - * {@inheritdoc} - */ - public function resolve(Request $request, ArgumentMetadata $argument): iterable - { - yield $request->attributes->get($argument->getName()); - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/Controller/ArgumentResolver/RequestValueResolver.php b/paragonik-backend/vendor/symfony/http-kernel/Controller/ArgumentResolver/RequestValueResolver.php deleted file mode 100644 index 75cbd97..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/Controller/ArgumentResolver/RequestValueResolver.php +++ /dev/null @@ -1,40 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\Controller\ArgumentResolver; - -use Symfony\Component\HttpFoundation\Request; -use Symfony\Component\HttpKernel\Controller\ArgumentValueResolverInterface; -use Symfony\Component\HttpKernel\ControllerMetadata\ArgumentMetadata; - -/** - * Yields the same instance as the request object passed along. - * - * @author Iltar van der Berg - */ -final class RequestValueResolver implements ArgumentValueResolverInterface -{ - /** - * {@inheritdoc} - */ - public function supports(Request $request, ArgumentMetadata $argument): bool - { - return Request::class === $argument->getType() || is_subclass_of($argument->getType(), Request::class); - } - - /** - * {@inheritdoc} - */ - public function resolve(Request $request, ArgumentMetadata $argument): iterable - { - yield $request; - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/Controller/ArgumentResolver/ServiceValueResolver.php b/paragonik-backend/vendor/symfony/http-kernel/Controller/ArgumentResolver/ServiceValueResolver.php deleted file mode 100644 index 4ffb8c9..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/Controller/ArgumentResolver/ServiceValueResolver.php +++ /dev/null @@ -1,93 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\Controller\ArgumentResolver; - -use Psr\Container\ContainerInterface; -use Symfony\Component\DependencyInjection\Exception\RuntimeException; -use Symfony\Component\HttpFoundation\Request; -use Symfony\Component\HttpKernel\Controller\ArgumentValueResolverInterface; -use Symfony\Component\HttpKernel\ControllerMetadata\ArgumentMetadata; - -/** - * Yields a service keyed by _controller and argument name. - * - * @author Nicolas Grekas - */ -final class ServiceValueResolver implements ArgumentValueResolverInterface -{ - private $container; - - public function __construct(ContainerInterface $container) - { - $this->container = $container; - } - - /** - * {@inheritdoc} - */ - public function supports(Request $request, ArgumentMetadata $argument): bool - { - $controller = $request->attributes->get('_controller'); - - if (\is_array($controller) && \is_callable($controller, true) && \is_string($controller[0])) { - $controller = $controller[0].'::'.$controller[1]; - } elseif (!\is_string($controller) || '' === $controller) { - return false; - } - - if ('\\' === $controller[0]) { - $controller = ltrim($controller, '\\'); - } - - if (!$this->container->has($controller) && false !== $i = strrpos($controller, ':')) { - $controller = substr($controller, 0, $i).strtolower(substr($controller, $i)); - } - - return $this->container->has($controller) && $this->container->get($controller)->has($argument->getName()); - } - - /** - * {@inheritdoc} - */ - public function resolve(Request $request, ArgumentMetadata $argument): iterable - { - if (\is_array($controller = $request->attributes->get('_controller'))) { - $controller = $controller[0].'::'.$controller[1]; - } - - if ('\\' === $controller[0]) { - $controller = ltrim($controller, '\\'); - } - - if (!$this->container->has($controller)) { - $i = strrpos($controller, ':'); - $controller = substr($controller, 0, $i).strtolower(substr($controller, $i)); - } - - try { - yield $this->container->get($controller)->get($argument->getName()); - } catch (RuntimeException $e) { - $what = sprintf('argument $%s of "%s()"', $argument->getName(), $controller); - $message = preg_replace('/service "\.service_locator\.[^"]++"/', $what, $e->getMessage()); - - if ($e->getMessage() === $message) { - $message = sprintf('Cannot resolve %s: %s', $what, $message); - } - - $r = new \ReflectionProperty($e, 'message'); - $r->setAccessible(true); - $r->setValue($e, $message); - - throw $e; - } - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/Controller/ArgumentResolver/SessionValueResolver.php b/paragonik-backend/vendor/symfony/http-kernel/Controller/ArgumentResolver/SessionValueResolver.php deleted file mode 100644 index a1e6b43..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/Controller/ArgumentResolver/SessionValueResolver.php +++ /dev/null @@ -1,50 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\Controller\ArgumentResolver; - -use Symfony\Component\HttpFoundation\Request; -use Symfony\Component\HttpFoundation\Session\SessionInterface; -use Symfony\Component\HttpKernel\Controller\ArgumentValueResolverInterface; -use Symfony\Component\HttpKernel\ControllerMetadata\ArgumentMetadata; - -/** - * Yields the Session. - * - * @author Iltar van der Berg - */ -final class SessionValueResolver implements ArgumentValueResolverInterface -{ - /** - * {@inheritdoc} - */ - public function supports(Request $request, ArgumentMetadata $argument): bool - { - if (!$request->hasSession()) { - return false; - } - - $type = $argument->getType(); - if (SessionInterface::class !== $type && !is_subclass_of($type, SessionInterface::class)) { - return false; - } - - return $request->getSession() instanceof $type; - } - - /** - * {@inheritdoc} - */ - public function resolve(Request $request, ArgumentMetadata $argument): iterable - { - yield $request->getSession(); - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/Controller/ArgumentResolver/TraceableValueResolver.php b/paragonik-backend/vendor/symfony/http-kernel/Controller/ArgumentResolver/TraceableValueResolver.php deleted file mode 100644 index bde3c90..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/Controller/ArgumentResolver/TraceableValueResolver.php +++ /dev/null @@ -1,62 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\Controller\ArgumentResolver; - -use Symfony\Component\HttpFoundation\Request; -use Symfony\Component\HttpKernel\Controller\ArgumentValueResolverInterface; -use Symfony\Component\HttpKernel\ControllerMetadata\ArgumentMetadata; -use Symfony\Component\Stopwatch\Stopwatch; - -/** - * Provides timing information via the stopwatch. - * - * @author Iltar van der Berg - */ -final class TraceableValueResolver implements ArgumentValueResolverInterface -{ - private $inner; - private $stopwatch; - - public function __construct(ArgumentValueResolverInterface $inner, Stopwatch $stopwatch) - { - $this->inner = $inner; - $this->stopwatch = $stopwatch; - } - - /** - * {@inheritdoc} - */ - public function supports(Request $request, ArgumentMetadata $argument): bool - { - $method = \get_class($this->inner).'::'.__FUNCTION__; - $this->stopwatch->start($method, 'controller.argument_value_resolver'); - - $return = $this->inner->supports($request, $argument); - - $this->stopwatch->stop($method); - - return $return; - } - - /** - * {@inheritdoc} - */ - public function resolve(Request $request, ArgumentMetadata $argument): iterable - { - $method = \get_class($this->inner).'::'.__FUNCTION__; - $this->stopwatch->start($method, 'controller.argument_value_resolver'); - - yield from $this->inner->resolve($request, $argument); - - $this->stopwatch->stop($method); - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/Controller/ArgumentResolver/VariadicValueResolver.php b/paragonik-backend/vendor/symfony/http-kernel/Controller/ArgumentResolver/VariadicValueResolver.php deleted file mode 100644 index ed61420..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/Controller/ArgumentResolver/VariadicValueResolver.php +++ /dev/null @@ -1,46 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\Controller\ArgumentResolver; - -use Symfony\Component\HttpFoundation\Request; -use Symfony\Component\HttpKernel\Controller\ArgumentValueResolverInterface; -use Symfony\Component\HttpKernel\ControllerMetadata\ArgumentMetadata; - -/** - * Yields a variadic argument's values from the request attributes. - * - * @author Iltar van der Berg - */ -final class VariadicValueResolver implements ArgumentValueResolverInterface -{ - /** - * {@inheritdoc} - */ - public function supports(Request $request, ArgumentMetadata $argument): bool - { - return $argument->isVariadic() && $request->attributes->has($argument->getName()); - } - - /** - * {@inheritdoc} - */ - public function resolve(Request $request, ArgumentMetadata $argument): iterable - { - $values = $request->attributes->get($argument->getName()); - - if (!\is_array($values)) { - throw new \InvalidArgumentException(sprintf('The action argument "...$%1$s" is required to be an array, the request attribute "%1$s" contains a type of "%2$s" instead.', $argument->getName(), \gettype($values))); - } - - yield from $values; - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/Controller/ArgumentResolverInterface.php b/paragonik-backend/vendor/symfony/http-kernel/Controller/ArgumentResolverInterface.php deleted file mode 100644 index ba97775..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/Controller/ArgumentResolverInterface.php +++ /dev/null @@ -1,34 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\Controller; - -use Symfony\Component\HttpFoundation\Request; - -/** - * An ArgumentResolverInterface instance knows how to determine the - * arguments for a specific action. - * - * @author Fabien Potencier - */ -interface ArgumentResolverInterface -{ - /** - * Returns the arguments to pass to the controller. - * - * @param callable $controller - * - * @return array An array of arguments to pass to the controller - * - * @throws \RuntimeException When no value could be provided for a required argument - */ - public function getArguments(Request $request, $controller); -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/Controller/ArgumentValueResolverInterface.php b/paragonik-backend/vendor/symfony/http-kernel/Controller/ArgumentValueResolverInterface.php deleted file mode 100644 index 1317707..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/Controller/ArgumentValueResolverInterface.php +++ /dev/null @@ -1,37 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\Controller; - -use Symfony\Component\HttpFoundation\Request; -use Symfony\Component\HttpKernel\ControllerMetadata\ArgumentMetadata; - -/** - * Responsible for resolving the value of an argument based on its metadata. - * - * @author Iltar van der Berg - */ -interface ArgumentValueResolverInterface -{ - /** - * Whether this resolver can resolve the value for the given ArgumentMetadata. - * - * @return bool - */ - public function supports(Request $request, ArgumentMetadata $argument); - - /** - * Returns the possible value(s). - * - * @return iterable - */ - public function resolve(Request $request, ArgumentMetadata $argument); -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/Controller/ContainerControllerResolver.php b/paragonik-backend/vendor/symfony/http-kernel/Controller/ContainerControllerResolver.php deleted file mode 100644 index 015eea9..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/Controller/ContainerControllerResolver.php +++ /dev/null @@ -1,76 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\Controller; - -use Psr\Container\ContainerInterface; -use Psr\Log\LoggerInterface; -use Symfony\Component\DependencyInjection\Container; - -/** - * A controller resolver searching for a controller in a psr-11 container when using the "service:method" notation. - * - * @author Fabien Potencier - * @author Maxime Steinhausser - */ -class ContainerControllerResolver extends ControllerResolver -{ - protected $container; - - public function __construct(ContainerInterface $container, LoggerInterface $logger = null) - { - $this->container = $container; - - parent::__construct($logger); - } - - protected function createController($controller) - { - if (1 === substr_count($controller, ':')) { - $controller = str_replace(':', '::', $controller); - // TODO deprecate this in 5.1 - } - - return parent::createController($controller); - } - - /** - * {@inheritdoc} - */ - protected function instantiateController($class) - { - $class = ltrim($class, '\\'); - - if ($this->container->has($class)) { - return $this->container->get($class); - } - - try { - return parent::instantiateController($class); - } catch (\Error $e) { - } - - $this->throwExceptionIfControllerWasRemoved($class, $e); - - if ($e instanceof \ArgumentCountError) { - throw new \InvalidArgumentException(sprintf('Controller "%s" has required constructor arguments and does not exist in the container. Did you forget to define the controller as a service?', $class), 0, $e); - } - - throw new \InvalidArgumentException(sprintf('Controller "%s" does neither exist as service nor as class', $class), 0, $e); - } - - private function throwExceptionIfControllerWasRemoved(string $controller, \Throwable $previous) - { - if ($this->container instanceof Container && isset($this->container->getRemovedIds()[$controller])) { - throw new \InvalidArgumentException(sprintf('Controller "%s" cannot be fetched from the container because it is private. Did you forget to tag the service with "controller.service_arguments"?', $controller), 0, $previous); - } - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/Controller/ControllerReference.php b/paragonik-backend/vendor/symfony/http-kernel/Controller/ControllerReference.php deleted file mode 100644 index b4fdadd..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/Controller/ControllerReference.php +++ /dev/null @@ -1,44 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\Controller; - -use Symfony\Component\HttpKernel\Fragment\FragmentRendererInterface; - -/** - * Acts as a marker and a data holder for a Controller. - * - * Some methods in Symfony accept both a URI (as a string) or a controller as - * an argument. In the latter case, instead of passing an array representing - * the controller, you can use an instance of this class. - * - * @author Fabien Potencier - * - * @see FragmentRendererInterface - */ -class ControllerReference -{ - public $controller; - public $attributes = []; - public $query = []; - - /** - * @param string $controller The controller name - * @param array $attributes An array of parameters to add to the Request attributes - * @param array $query An array of parameters to add to the Request query string - */ - public function __construct(string $controller, array $attributes = [], array $query = []) - { - $this->controller = $controller; - $this->attributes = $attributes; - $this->query = $query; - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/Controller/ControllerResolver.php b/paragonik-backend/vendor/symfony/http-kernel/Controller/ControllerResolver.php deleted file mode 100644 index 22907ce..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/Controller/ControllerResolver.php +++ /dev/null @@ -1,224 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\Controller; - -use Psr\Log\LoggerInterface; -use Symfony\Component\HttpFoundation\Request; - -/** - * This implementation uses the '_controller' request attribute to determine - * the controller to execute. - * - * @author Fabien Potencier - * @author Tobias Schultze - */ -class ControllerResolver implements ControllerResolverInterface -{ - private $logger; - - public function __construct(LoggerInterface $logger = null) - { - $this->logger = $logger; - } - - /** - * {@inheritdoc} - */ - public function getController(Request $request) - { - if (!$controller = $request->attributes->get('_controller')) { - if (null !== $this->logger) { - $this->logger->warning('Unable to look for the controller as the "_controller" parameter is missing.'); - } - - return false; - } - - if (\is_array($controller)) { - if (isset($controller[0]) && \is_string($controller[0]) && isset($controller[1])) { - try { - $controller[0] = $this->instantiateController($controller[0]); - } catch (\Error | \LogicException $e) { - try { - // We cannot just check is_callable but have to use reflection because a non-static method - // can still be called statically in PHP but we don't want that. This is deprecated in PHP 7, so we - // could simplify this with PHP 8. - if ((new \ReflectionMethod($controller[0], $controller[1]))->isStatic()) { - return $controller; - } - } catch (\ReflectionException $reflectionException) { - throw $e; - } - - throw $e; - } - } - - if (!\is_callable($controller)) { - throw new \InvalidArgumentException(sprintf('The controller for URI "%s" is not callable. %s', $request->getPathInfo(), $this->getControllerError($controller))); - } - - return $controller; - } - - if (\is_object($controller)) { - if (!\is_callable($controller)) { - throw new \InvalidArgumentException(sprintf('The controller for URI "%s" is not callable. %s', $request->getPathInfo(), $this->getControllerError($controller))); - } - - return $controller; - } - - if (\function_exists($controller)) { - return $controller; - } - - try { - $callable = $this->createController($controller); - } catch (\InvalidArgumentException $e) { - throw new \InvalidArgumentException(sprintf('The controller for URI "%s" is not callable. %s', $request->getPathInfo(), $e->getMessage())); - } - - if (!\is_callable($callable)) { - throw new \InvalidArgumentException(sprintf('The controller for URI "%s" is not callable. %s', $request->getPathInfo(), $this->getControllerError($callable))); - } - - return $callable; - } - - /** - * Returns a callable for the given controller. - * - * @param string $controller A Controller string - * - * @return callable A PHP callable - * - * @throws \InvalidArgumentException When the controller cannot be created - */ - protected function createController($controller) - { - if (false === strpos($controller, '::')) { - $controller = $this->instantiateController($controller); - - if (!\is_callable($controller)) { - throw new \InvalidArgumentException($this->getControllerError($controller)); - } - - return $controller; - } - - list($class, $method) = explode('::', $controller, 2); - - try { - $controller = [$this->instantiateController($class), $method]; - } catch (\Error | \LogicException $e) { - try { - if ((new \ReflectionMethod($class, $method))->isStatic()) { - return $class.'::'.$method; - } - } catch (\ReflectionException $reflectionException) { - throw $e; - } - - throw $e; - } - - if (!\is_callable($controller)) { - throw new \InvalidArgumentException($this->getControllerError($controller)); - } - - return $controller; - } - - /** - * Returns an instantiated controller. - * - * @param string $class A class name - * - * @return object - */ - protected function instantiateController($class) - { - return new $class(); - } - - private function getControllerError($callable): string - { - if (\is_string($callable)) { - if (false !== strpos($callable, '::')) { - $callable = explode('::', $callable, 2); - } else { - return sprintf('Function "%s" does not exist.', $callable); - } - } - - if (\is_object($callable)) { - $availableMethods = $this->getClassMethodsWithoutMagicMethods($callable); - $alternativeMsg = $availableMethods ? sprintf(' or use one of the available methods: "%s"', implode('", "', $availableMethods)) : ''; - - return sprintf('Controller class "%s" cannot be called without a method name. You need to implement "__invoke"%s.', \get_class($callable), $alternativeMsg); - } - - if (!\is_array($callable)) { - return sprintf('Invalid type for controller given, expected string, array or object, got "%s".', \gettype($callable)); - } - - if (!isset($callable[0]) || !isset($callable[1]) || 2 !== \count($callable)) { - return 'Invalid array callable, expected [controller, method].'; - } - - list($controller, $method) = $callable; - - if (\is_string($controller) && !class_exists($controller)) { - return sprintf('Class "%s" does not exist.', $controller); - } - - $className = \is_object($controller) ? \get_class($controller) : $controller; - - if (method_exists($controller, $method)) { - return sprintf('Method "%s" on class "%s" should be public and non-abstract.', $method, $className); - } - - $collection = $this->getClassMethodsWithoutMagicMethods($controller); - - $alternatives = []; - - foreach ($collection as $item) { - $lev = levenshtein($method, $item); - - if ($lev <= \strlen($method) / 3 || false !== strpos($item, $method)) { - $alternatives[] = $item; - } - } - - asort($alternatives); - - $message = sprintf('Expected method "%s" on class "%s"', $method, $className); - - if (\count($alternatives) > 0) { - $message .= sprintf(', did you mean "%s"?', implode('", "', $alternatives)); - } else { - $message .= sprintf('. Available methods: "%s".', implode('", "', $collection)); - } - - return $message; - } - - private function getClassMethodsWithoutMagicMethods($classOrObject): array - { - $methods = get_class_methods($classOrObject); - - return array_filter($methods, function (string $method) { - return 0 !== strncmp($method, '__', 2); - }); - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/Controller/ControllerResolverInterface.php b/paragonik-backend/vendor/symfony/http-kernel/Controller/ControllerResolverInterface.php deleted file mode 100644 index 8b70a88..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/Controller/ControllerResolverInterface.php +++ /dev/null @@ -1,41 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\Controller; - -use Symfony\Component\HttpFoundation\Request; - -/** - * A ControllerResolverInterface implementation knows how to determine the - * controller to execute based on a Request object. - * - * A Controller can be any valid PHP callable. - * - * @author Fabien Potencier - */ -interface ControllerResolverInterface -{ - /** - * Returns the Controller instance associated with a Request. - * - * As several resolvers can exist for a single application, a resolver must - * return false when it is not able to determine the controller. - * - * The resolver must only throw an exception when it should be able to load a - * controller but cannot because of some errors made by the developer. - * - * @return callable|false A PHP callable representing the Controller, - * or false if this resolver is not able to determine the controller - * - * @throws \LogicException If a controller was found based on the request but it is not callable - */ - public function getController(Request $request); -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/Controller/ErrorController.php b/paragonik-backend/vendor/symfony/http-kernel/Controller/ErrorController.php deleted file mode 100644 index b6c4401..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/Controller/ErrorController.php +++ /dev/null @@ -1,62 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\Controller; - -use Symfony\Component\ErrorHandler\ErrorRenderer\ErrorRendererInterface; -use Symfony\Component\HttpFoundation\Request; -use Symfony\Component\HttpFoundation\Response; -use Symfony\Component\HttpKernel\Exception\HttpException; -use Symfony\Component\HttpKernel\HttpKernelInterface; - -/** - * Renders error or exception pages from a given FlattenException. - * - * @author Yonel Ceruto - * @author Matthias Pigulla - */ -class ErrorController -{ - private $kernel; - private $controller; - private $errorRenderer; - - public function __construct(HttpKernelInterface $kernel, $controller, ErrorRendererInterface $errorRenderer) - { - $this->kernel = $kernel; - $this->controller = $controller; - $this->errorRenderer = $errorRenderer; - } - - public function __invoke(\Throwable $exception): Response - { - $exception = $this->errorRenderer->render($exception); - - return new Response($exception->getAsString(), $exception->getStatusCode(), $exception->getHeaders()); - } - - public function preview(Request $request, int $code): Response - { - /* - * This Request mimics the parameters set by - * \Symfony\Component\HttpKernel\EventListener\ErrorListener::duplicateRequest, with - * the additional "showException" flag. - */ - $subRequest = $request->duplicate(null, null, [ - '_controller' => $this->controller, - 'exception' => new HttpException($code, 'This is a sample exception.'), - 'logger' => null, - 'showException' => false, - ]); - - return $this->kernel->handle($subRequest, HttpKernelInterface::SUB_REQUEST); - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/Controller/TraceableArgumentResolver.php b/paragonik-backend/vendor/symfony/http-kernel/Controller/TraceableArgumentResolver.php deleted file mode 100644 index 3984812..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/Controller/TraceableArgumentResolver.php +++ /dev/null @@ -1,44 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\Controller; - -use Symfony\Component\HttpFoundation\Request; -use Symfony\Component\Stopwatch\Stopwatch; - -/** - * @author Fabien Potencier - */ -class TraceableArgumentResolver implements ArgumentResolverInterface -{ - private $resolver; - private $stopwatch; - - public function __construct(ArgumentResolverInterface $resolver, Stopwatch $stopwatch) - { - $this->resolver = $resolver; - $this->stopwatch = $stopwatch; - } - - /** - * {@inheritdoc} - */ - public function getArguments(Request $request, $controller) - { - $e = $this->stopwatch->start('controller.get_arguments'); - - $ret = $this->resolver->getArguments($request, $controller); - - $e->stop(); - - return $ret; - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/Controller/TraceableControllerResolver.php b/paragonik-backend/vendor/symfony/http-kernel/Controller/TraceableControllerResolver.php deleted file mode 100644 index bf6b6aa..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/Controller/TraceableControllerResolver.php +++ /dev/null @@ -1,44 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\Controller; - -use Symfony\Component\HttpFoundation\Request; -use Symfony\Component\Stopwatch\Stopwatch; - -/** - * @author Fabien Potencier - */ -class TraceableControllerResolver implements ControllerResolverInterface -{ - private $resolver; - private $stopwatch; - - public function __construct(ControllerResolverInterface $resolver, Stopwatch $stopwatch) - { - $this->resolver = $resolver; - $this->stopwatch = $stopwatch; - } - - /** - * {@inheritdoc} - */ - public function getController(Request $request) - { - $e = $this->stopwatch->start('controller.get_callable'); - - $ret = $this->resolver->getController($request); - - $e->stop(); - - return $ret; - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/ControllerMetadata/ArgumentMetadata.php b/paragonik-backend/vendor/symfony/http-kernel/ControllerMetadata/ArgumentMetadata.php deleted file mode 100644 index e73b848..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/ControllerMetadata/ArgumentMetadata.php +++ /dev/null @@ -1,107 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\ControllerMetadata; - -/** - * Responsible for storing metadata of an argument. - * - * @author Iltar van der Berg - */ -class ArgumentMetadata -{ - private $name; - private $type; - private $isVariadic; - private $hasDefaultValue; - private $defaultValue; - private $isNullable; - - public function __construct(string $name, ?string $type, bool $isVariadic, bool $hasDefaultValue, $defaultValue, bool $isNullable = false) - { - $this->name = $name; - $this->type = $type; - $this->isVariadic = $isVariadic; - $this->hasDefaultValue = $hasDefaultValue; - $this->defaultValue = $defaultValue; - $this->isNullable = $isNullable || null === $type || ($hasDefaultValue && null === $defaultValue); - } - - /** - * Returns the name as given in PHP, $foo would yield "foo". - * - * @return string - */ - public function getName() - { - return $this->name; - } - - /** - * Returns the type of the argument. - * - * The type is the PHP class in 5.5+ and additionally the basic type in PHP 7.0+. - * - * @return string|null - */ - public function getType() - { - return $this->type; - } - - /** - * Returns whether the argument is defined as "...$variadic". - * - * @return bool - */ - public function isVariadic() - { - return $this->isVariadic; - } - - /** - * Returns whether the argument has a default value. - * - * Implies whether an argument is optional. - * - * @return bool - */ - public function hasDefaultValue() - { - return $this->hasDefaultValue; - } - - /** - * Returns whether the argument accepts null values. - * - * @return bool - */ - public function isNullable() - { - return $this->isNullable; - } - - /** - * Returns the default value of the argument. - * - * @throws \LogicException if no default value is present; {@see self::hasDefaultValue()} - * - * @return mixed - */ - public function getDefaultValue() - { - if (!$this->hasDefaultValue) { - throw new \LogicException(sprintf('Argument $%s does not have a default value. Use %s::hasDefaultValue() to avoid this exception.', $this->name, __CLASS__)); - } - - return $this->defaultValue; - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/ControllerMetadata/ArgumentMetadataFactory.php b/paragonik-backend/vendor/symfony/http-kernel/ControllerMetadata/ArgumentMetadataFactory.php deleted file mode 100644 index 9370174..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/ControllerMetadata/ArgumentMetadataFactory.php +++ /dev/null @@ -1,65 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\ControllerMetadata; - -/** - * Builds {@see ArgumentMetadata} objects based on the given Controller. - * - * @author Iltar van der Berg - */ -final class ArgumentMetadataFactory implements ArgumentMetadataFactoryInterface -{ - /** - * {@inheritdoc} - */ - public function createArgumentMetadata($controller): array - { - $arguments = []; - - if (\is_array($controller)) { - $reflection = new \ReflectionMethod($controller[0], $controller[1]); - } elseif (\is_object($controller) && !$controller instanceof \Closure) { - $reflection = (new \ReflectionObject($controller))->getMethod('__invoke'); - } else { - $reflection = new \ReflectionFunction($controller); - } - - foreach ($reflection->getParameters() as $param) { - $arguments[] = new ArgumentMetadata($param->getName(), $this->getType($param, $reflection), $param->isVariadic(), $param->isDefaultValueAvailable(), $param->isDefaultValueAvailable() ? $param->getDefaultValue() : null, $param->allowsNull()); - } - - return $arguments; - } - - /** - * Returns an associated type to the given parameter if available. - */ - private function getType(\ReflectionParameter $parameter, \ReflectionFunctionAbstract $function): ?string - { - if (!$type = $parameter->getType()) { - return null; - } - $name = $type->getName(); - - if ($function instanceof \ReflectionMethod) { - $lcName = strtolower($name); - switch ($lcName) { - case 'self': - return $function->getDeclaringClass()->name; - case 'parent': - return ($parent = $function->getDeclaringClass()->getParentClass()) ? $parent->name : null; - } - } - - return $name; - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/ControllerMetadata/ArgumentMetadataFactoryInterface.php b/paragonik-backend/vendor/symfony/http-kernel/ControllerMetadata/ArgumentMetadataFactoryInterface.php deleted file mode 100644 index 6ea179d..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/ControllerMetadata/ArgumentMetadataFactoryInterface.php +++ /dev/null @@ -1,27 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\ControllerMetadata; - -/** - * Builds method argument data. - * - * @author Iltar van der Berg - */ -interface ArgumentMetadataFactoryInterface -{ - /** - * @param mixed $controller The controller to resolve the arguments for - * - * @return ArgumentMetadata[] - */ - public function createArgumentMetadata($controller); -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/DataCollector/AjaxDataCollector.php b/paragonik-backend/vendor/symfony/http-kernel/DataCollector/AjaxDataCollector.php deleted file mode 100644 index 356ce22..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/DataCollector/AjaxDataCollector.php +++ /dev/null @@ -1,45 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\DataCollector; - -use Symfony\Component\HttpFoundation\Request; -use Symfony\Component\HttpFoundation\Response; - -/** - * AjaxDataCollector. - * - * @author Bart van den Burg - * - * @final since Symfony 4.4 - */ -class AjaxDataCollector extends DataCollector -{ - /** - * {@inheritdoc} - * - * @param \Throwable|null $exception - */ - public function collect(Request $request, Response $response/*, \Throwable $exception = null*/) - { - // all collecting is done client side - } - - public function reset() - { - // all collecting is done client side - } - - public function getName() - { - return 'ajax'; - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/DataCollector/ConfigDataCollector.php b/paragonik-backend/vendor/symfony/http-kernel/DataCollector/ConfigDataCollector.php deleted file mode 100644 index 266d976..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/DataCollector/ConfigDataCollector.php +++ /dev/null @@ -1,359 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\DataCollector; - -use Symfony\Component\HttpFoundation\Request; -use Symfony\Component\HttpFoundation\Response; -use Symfony\Component\HttpKernel\Kernel; -use Symfony\Component\HttpKernel\KernelInterface; -use Symfony\Component\VarDumper\Caster\ClassStub; - -/** - * @author Fabien Potencier - * - * @final since Symfony 4.4 - */ -class ConfigDataCollector extends DataCollector implements LateDataCollectorInterface -{ - /** - * @var KernelInterface - */ - private $kernel; - private $name; - private $version; - - public function __construct(string $name = null, string $version = null) - { - if (1 <= \func_num_args()) { - @trigger_error(sprintf('The "$name" argument in method "%s()" is deprecated since Symfony 4.2.', __METHOD__), E_USER_DEPRECATED); - } - if (2 <= \func_num_args()) { - @trigger_error(sprintf('The "$version" argument in method "%s()" is deprecated since Symfony 4.2.', __METHOD__), E_USER_DEPRECATED); - } - - $this->name = $name; - $this->version = $version; - } - - /** - * Sets the Kernel associated with this Request. - */ - public function setKernel(KernelInterface $kernel = null) - { - $this->kernel = $kernel; - } - - /** - * {@inheritdoc} - * - * @param \Throwable|null $exception - */ - public function collect(Request $request, Response $response/*, \Throwable $exception = null*/) - { - $this->data = [ - 'app_name' => $this->name, - 'app_version' => $this->version, - 'token' => $response->headers->get('X-Debug-Token'), - 'symfony_version' => Kernel::VERSION, - 'symfony_state' => 'unknown', - 'env' => isset($this->kernel) ? $this->kernel->getEnvironment() : 'n/a', - 'debug' => isset($this->kernel) ? $this->kernel->isDebug() : 'n/a', - 'php_version' => PHP_VERSION, - 'php_architecture' => PHP_INT_SIZE * 8, - 'php_intl_locale' => class_exists('Locale', false) && \Locale::getDefault() ? \Locale::getDefault() : 'n/a', - 'php_timezone' => date_default_timezone_get(), - 'xdebug_enabled' => \extension_loaded('xdebug'), - 'apcu_enabled' => \extension_loaded('apcu') && filter_var(ini_get('apc.enabled'), FILTER_VALIDATE_BOOLEAN), - 'zend_opcache_enabled' => \extension_loaded('Zend OPcache') && filter_var(ini_get('opcache.enable'), FILTER_VALIDATE_BOOLEAN), - 'bundles' => [], - 'sapi_name' => \PHP_SAPI, - ]; - - if (isset($this->kernel)) { - foreach ($this->kernel->getBundles() as $name => $bundle) { - $this->data['bundles'][$name] = new ClassStub(\get_class($bundle)); - } - - $this->data['symfony_state'] = $this->determineSymfonyState(); - $this->data['symfony_minor_version'] = sprintf('%s.%s', Kernel::MAJOR_VERSION, Kernel::MINOR_VERSION); - $this->data['symfony_lts'] = 4 === Kernel::MINOR_VERSION; - $eom = \DateTime::createFromFormat('d/m/Y', '01/'.Kernel::END_OF_MAINTENANCE); - $eol = \DateTime::createFromFormat('d/m/Y', '01/'.Kernel::END_OF_LIFE); - $this->data['symfony_eom'] = $eom->format('F Y'); - $this->data['symfony_eol'] = $eol->format('F Y'); - } - - if (preg_match('~^(\d+(?:\.\d+)*)(.+)?$~', $this->data['php_version'], $matches) && isset($matches[2])) { - $this->data['php_version'] = $matches[1]; - $this->data['php_version_extra'] = $matches[2]; - } - } - - /** - * {@inheritdoc} - */ - public function reset() - { - $this->data = []; - } - - public function lateCollect() - { - $this->data = $this->cloneVar($this->data); - } - - /** - * @deprecated since Symfony 4.2 - */ - public function getApplicationName() - { - @trigger_error(sprintf('The method "%s()" is deprecated since Symfony 4.2.', __METHOD__), E_USER_DEPRECATED); - - return $this->data['app_name']; - } - - /** - * @deprecated since Symfony 4.2 - */ - public function getApplicationVersion() - { - @trigger_error(sprintf('The method "%s()" is deprecated since Symfony 4.2.', __METHOD__), E_USER_DEPRECATED); - - return $this->data['app_version']; - } - - /** - * Gets the token. - * - * @return string|null The token - */ - public function getToken() - { - return $this->data['token']; - } - - /** - * Gets the Symfony version. - * - * @return string The Symfony version - */ - public function getSymfonyVersion() - { - return $this->data['symfony_version']; - } - - /** - * Returns the state of the current Symfony release. - * - * @return string One of: unknown, dev, stable, eom, eol - */ - public function getSymfonyState() - { - return $this->data['symfony_state']; - } - - /** - * Returns the minor Symfony version used (without patch numbers of extra - * suffix like "RC", "beta", etc.). - * - * @return string - */ - public function getSymfonyMinorVersion() - { - return $this->data['symfony_minor_version']; - } - - /** - * Returns if the current Symfony version is a Long-Term Support one. - */ - public function isSymfonyLts(): bool - { - return $this->data['symfony_lts']; - } - - /** - * Returns the human redable date when this Symfony version ends its - * maintenance period. - * - * @return string - */ - public function getSymfonyEom() - { - return $this->data['symfony_eom']; - } - - /** - * Returns the human redable date when this Symfony version reaches its - * "end of life" and won't receive bugs or security fixes. - * - * @return string - */ - public function getSymfonyEol() - { - return $this->data['symfony_eol']; - } - - /** - * Gets the PHP version. - * - * @return string The PHP version - */ - public function getPhpVersion() - { - return $this->data['php_version']; - } - - /** - * Gets the PHP version extra part. - * - * @return string|null The extra part - */ - public function getPhpVersionExtra() - { - return isset($this->data['php_version_extra']) ? $this->data['php_version_extra'] : null; - } - - /** - * @return int The PHP architecture as number of bits (e.g. 32 or 64) - */ - public function getPhpArchitecture() - { - return $this->data['php_architecture']; - } - - /** - * @return string - */ - public function getPhpIntlLocale() - { - return $this->data['php_intl_locale']; - } - - /** - * @return string - */ - public function getPhpTimezone() - { - return $this->data['php_timezone']; - } - - /** - * Gets the application name. - * - * @return string The application name - * - * @deprecated since Symfony 4.2 - */ - public function getAppName() - { - @trigger_error(sprintf('The "%s()" method is deprecated since Symfony 4.2.', __METHOD__), E_USER_DEPRECATED); - - return 'n/a'; - } - - /** - * Gets the environment. - * - * @return string The environment - */ - public function getEnv() - { - return $this->data['env']; - } - - /** - * Returns true if the debug is enabled. - * - * @return bool true if debug is enabled, false otherwise - */ - public function isDebug() - { - return $this->data['debug']; - } - - /** - * Returns true if the XDebug is enabled. - * - * @return bool true if XDebug is enabled, false otherwise - */ - public function hasXDebug() - { - return $this->data['xdebug_enabled']; - } - - /** - * Returns true if APCu is enabled. - * - * @return bool true if APCu is enabled, false otherwise - */ - public function hasApcu() - { - return $this->data['apcu_enabled']; - } - - /** - * Returns true if Zend OPcache is enabled. - * - * @return bool true if Zend OPcache is enabled, false otherwise - */ - public function hasZendOpcache() - { - return $this->data['zend_opcache_enabled']; - } - - public function getBundles() - { - return $this->data['bundles']; - } - - /** - * Gets the PHP SAPI name. - * - * @return string The environment - */ - public function getSapiName() - { - return $this->data['sapi_name']; - } - - /** - * {@inheritdoc} - */ - public function getName() - { - return 'config'; - } - - /** - * Tries to retrieve information about the current Symfony version. - * - * @return string One of: dev, stable, eom, eol - */ - private function determineSymfonyState(): string - { - $now = new \DateTime(); - $eom = \DateTime::createFromFormat('d/m/Y', '01/'.Kernel::END_OF_MAINTENANCE)->modify('last day of this month'); - $eol = \DateTime::createFromFormat('d/m/Y', '01/'.Kernel::END_OF_LIFE)->modify('last day of this month'); - - if ($now > $eol) { - $versionState = 'eol'; - } elseif ($now > $eom) { - $versionState = 'eom'; - } elseif ('' !== Kernel::EXTRA_VERSION) { - $versionState = 'dev'; - } else { - $versionState = 'stable'; - } - - return $versionState; - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/DataCollector/DataCollector.php b/paragonik-backend/vendor/symfony/http-kernel/DataCollector/DataCollector.php deleted file mode 100644 index aaf5574..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/DataCollector/DataCollector.php +++ /dev/null @@ -1,130 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\DataCollector; - -use Symfony\Component\VarDumper\Caster\CutStub; -use Symfony\Component\VarDumper\Caster\ReflectionCaster; -use Symfony\Component\VarDumper\Cloner\ClonerInterface; -use Symfony\Component\VarDumper\Cloner\Data; -use Symfony\Component\VarDumper\Cloner\Stub; -use Symfony\Component\VarDumper\Cloner\VarCloner; - -/** - * DataCollector. - * - * Children of this class must store the collected data in the data property. - * - * @author Fabien Potencier - * @author Bernhard Schussek - */ -abstract class DataCollector implements DataCollectorInterface -{ - /** - * @var array|Data - */ - protected $data = []; - - /** - * @var ClonerInterface - */ - private $cloner; - - /** - * @deprecated since Symfony 4.3, store all the serialized state in the data property instead - */ - public function serialize() - { - @trigger_error(sprintf('The "%s" method is deprecated since Symfony 4.3, store all the serialized state in the data property instead.', __METHOD__), E_USER_DEPRECATED); - - $trace = debug_backtrace(DEBUG_BACKTRACE_PROVIDE_OBJECT, 2); - $isCalledFromOverridingMethod = isset($trace[1]['function'], $trace[1]['object']) && 'serialize' === $trace[1]['function'] && $this === $trace[1]['object']; - - return $isCalledFromOverridingMethod ? $this->data : serialize($this->data); - } - - /** - * @deprecated since Symfony 4.3, store all the serialized state in the data property instead - */ - public function unserialize($data) - { - @trigger_error(sprintf('The "%s" method is deprecated since Symfony 4.3, store all the serialized state in the data property instead.', __METHOD__), E_USER_DEPRECATED); - - $this->data = \is_array($data) ? $data : unserialize($data); - } - - /** - * Converts the variable into a serializable Data instance. - * - * This array can be displayed in the template using - * the VarDumper component. - * - * @param mixed $var - * - * @return Data - */ - protected function cloneVar($var) - { - if ($var instanceof Data) { - return $var; - } - if (null === $this->cloner) { - $this->cloner = new VarCloner(); - $this->cloner->setMaxItems(-1); - $this->cloner->addCasters($this->getCasters()); - } - - return $this->cloner->cloneVar($var); - } - - /** - * @return callable[] The casters to add to the cloner - */ - protected function getCasters() - { - $casters = [ - '*' => function ($v, array $a, Stub $s, $isNested) { - if (!$v instanceof Stub) { - foreach ($a as $k => $v) { - if (\is_object($v) && !$v instanceof \DateTimeInterface && !$v instanceof Stub) { - $a[$k] = new CutStub($v); - } - } - } - - return $a; - }, - ] + ReflectionCaster::UNSET_CLOSURE_FILE_INFO; - - return $casters; - } - - /** - * @return array - */ - public function __sleep() - { - if (__CLASS__ !== $c = (new \ReflectionMethod($this, 'serialize'))->getDeclaringClass()->name) { - @trigger_error(sprintf('Implementing the "%s::serialize()" method is deprecated since Symfony 4.3, store all the serialized state in the "data" property instead.', $c), E_USER_DEPRECATED); - $this->data = $this->serialize(); - } - - return ['data']; - } - - public function __wakeup() - { - if (__CLASS__ !== $c = (new \ReflectionMethod($this, 'unserialize'))->getDeclaringClass()->name) { - @trigger_error(sprintf('Implementing the "%s::unserialize()" method is deprecated since Symfony 4.3, store all the serialized state in the "data" property instead.', $c), E_USER_DEPRECATED); - $this->unserialize($this->data); - } - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/DataCollector/DataCollectorInterface.php b/paragonik-backend/vendor/symfony/http-kernel/DataCollector/DataCollectorInterface.php deleted file mode 100644 index a302ad3..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/DataCollector/DataCollectorInterface.php +++ /dev/null @@ -1,38 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\DataCollector; - -use Symfony\Component\HttpFoundation\Request; -use Symfony\Component\HttpFoundation\Response; -use Symfony\Contracts\Service\ResetInterface; - -/** - * DataCollectorInterface. - * - * @author Fabien Potencier - */ -interface DataCollectorInterface extends ResetInterface -{ - /** - * Collects data for the given Request and Response. - * - * @param \Throwable|null $exception - */ - public function collect(Request $request, Response $response/*, \Throwable $exception = null*/); - - /** - * Returns the name of the collector. - * - * @return string The collector name - */ - public function getName(); -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/DataCollector/DumpDataCollector.php b/paragonik-backend/vendor/symfony/http-kernel/DataCollector/DumpDataCollector.php deleted file mode 100644 index 6ed9abe..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/DataCollector/DumpDataCollector.php +++ /dev/null @@ -1,295 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\DataCollector; - -use Symfony\Component\HttpFoundation\Request; -use Symfony\Component\HttpFoundation\RequestStack; -use Symfony\Component\HttpFoundation\Response; -use Symfony\Component\Stopwatch\Stopwatch; -use Symfony\Component\VarDumper\Cloner\Data; -use Symfony\Component\VarDumper\Cloner\VarCloner; -use Symfony\Component\VarDumper\Dumper\CliDumper; -use Symfony\Component\VarDumper\Dumper\ContextProvider\SourceContextProvider; -use Symfony\Component\VarDumper\Dumper\DataDumperInterface; -use Symfony\Component\VarDumper\Dumper\HtmlDumper; -use Symfony\Component\VarDumper\Server\Connection; - -/** - * @author Nicolas Grekas - * - * @final since Symfony 4.3 - */ -class DumpDataCollector extends DataCollector implements DataDumperInterface -{ - private $stopwatch; - private $fileLinkFormat; - private $dataCount = 0; - private $isCollected = true; - private $clonesCount = 0; - private $clonesIndex = 0; - private $rootRefs; - private $charset; - private $requestStack; - private $dumper; - private $sourceContextProvider; - - /** - * @param DataDumperInterface|Connection|null $dumper - */ - public function __construct(Stopwatch $stopwatch = null, $fileLinkFormat = null, string $charset = null, RequestStack $requestStack = null, $dumper = null) - { - $this->stopwatch = $stopwatch; - $this->fileLinkFormat = $fileLinkFormat ?: ini_get('xdebug.file_link_format') ?: get_cfg_var('xdebug.file_link_format'); - $this->charset = $charset ?: ini_get('php.output_encoding') ?: ini_get('default_charset') ?: 'UTF-8'; - $this->requestStack = $requestStack; - $this->dumper = $dumper; - - // All clones share these properties by reference: - $this->rootRefs = [ - &$this->data, - &$this->dataCount, - &$this->isCollected, - &$this->clonesCount, - ]; - - $this->sourceContextProvider = $dumper instanceof Connection && isset($dumper->getContextProviders()['source']) ? $dumper->getContextProviders()['source'] : new SourceContextProvider($this->charset); - } - - public function __clone() - { - $this->clonesIndex = ++$this->clonesCount; - } - - public function dump(Data $data) - { - if ($this->stopwatch) { - $this->stopwatch->start('dump'); - } - - list('name' => $name, 'file' => $file, 'line' => $line, 'file_excerpt' => $fileExcerpt) = $this->sourceContextProvider->getContext(); - - if ($this->dumper instanceof Connection) { - if (!$this->dumper->write($data)) { - $this->isCollected = false; - } - } elseif ($this->dumper) { - $this->doDump($this->dumper, $data, $name, $file, $line); - } else { - $this->isCollected = false; - } - - if (!$this->dataCount) { - $this->data = []; - } - $this->data[] = compact('data', 'name', 'file', 'line', 'fileExcerpt'); - ++$this->dataCount; - - if ($this->stopwatch) { - $this->stopwatch->stop('dump'); - } - } - - /** - * {@inheritdoc} - * - * @param \Throwable|null $exception - */ - public function collect(Request $request, Response $response/*, \Throwable $exception = null*/) - { - if (!$this->dataCount) { - $this->data = []; - } - - // Sub-requests and programmatic calls stay in the collected profile. - if ($this->dumper || ($this->requestStack && $this->requestStack->getMasterRequest() !== $request) || $request->isXmlHttpRequest() || $request->headers->has('Origin')) { - return; - } - - // In all other conditions that remove the web debug toolbar, dumps are written on the output. - if (!$this->requestStack - || !$response->headers->has('X-Debug-Token') - || $response->isRedirection() - || ($response->headers->has('Content-Type') && false === strpos($response->headers->get('Content-Type'), 'html')) - || 'html' !== $request->getRequestFormat() - || false === strripos($response->getContent(), '') - ) { - if ($response->headers->has('Content-Type') && false !== strpos($response->headers->get('Content-Type'), 'html')) { - $dumper = new HtmlDumper('php://output', $this->charset); - $dumper->setDisplayOptions(['fileLinkFormat' => $this->fileLinkFormat]); - } else { - $dumper = new CliDumper('php://output', $this->charset); - if (method_exists($dumper, 'setDisplayOptions')) { - $dumper->setDisplayOptions(['fileLinkFormat' => $this->fileLinkFormat]); - } - } - - foreach ($this->data as $dump) { - $this->doDump($dumper, $dump['data'], $dump['name'], $dump['file'], $dump['line']); - } - } - } - - public function reset() - { - if ($this->stopwatch) { - $this->stopwatch->reset(); - } - $this->data = []; - $this->dataCount = 0; - $this->isCollected = true; - $this->clonesCount = 0; - $this->clonesIndex = 0; - } - - /** - * @internal - */ - public function __sleep(): array - { - if (!$this->dataCount) { - $this->data = []; - } - - if ($this->clonesCount !== $this->clonesIndex) { - return []; - } - - $this->data[] = $this->fileLinkFormat; - $this->data[] = $this->charset; - $this->dataCount = 0; - $this->isCollected = true; - - return parent::__sleep(); - } - - /** - * @internal - */ - public function __wakeup() - { - parent::__wakeup(); - - $charset = array_pop($this->data); - $fileLinkFormat = array_pop($this->data); - $this->dataCount = \count($this->data); - - self::__construct($this->stopwatch, $fileLinkFormat, $charset); - } - - public function getDumpsCount() - { - return $this->dataCount; - } - - public function getDumps($format, $maxDepthLimit = -1, $maxItemsPerDepth = -1) - { - $data = fopen('php://memory', 'r+b'); - - if ('html' === $format) { - $dumper = new HtmlDumper($data, $this->charset); - $dumper->setDisplayOptions(['fileLinkFormat' => $this->fileLinkFormat]); - } else { - throw new \InvalidArgumentException(sprintf('Invalid dump format: %s', $format)); - } - $dumps = []; - - if (!$this->dataCount) { - return $this->data = []; - } - - foreach ($this->data as $dump) { - $dumper->dump($dump['data']->withMaxDepth($maxDepthLimit)->withMaxItemsPerDepth($maxItemsPerDepth)); - $dump['data'] = stream_get_contents($data, -1, 0); - ftruncate($data, 0); - rewind($data); - $dumps[] = $dump; - } - - return $dumps; - } - - public function getName() - { - return 'dump'; - } - - public function __destruct() - { - if (0 === $this->clonesCount-- && !$this->isCollected && $this->dataCount) { - $this->clonesCount = 0; - $this->isCollected = true; - - $h = headers_list(); - $i = \count($h); - array_unshift($h, 'Content-Type: '.ini_get('default_mimetype')); - while (0 !== stripos($h[$i], 'Content-Type:')) { - --$i; - } - - if (isset($_SERVER['VAR_DUMPER_FORMAT'])) { - $html = 'html' === $_SERVER['VAR_DUMPER_FORMAT']; - } else { - $html = !\in_array(\PHP_SAPI, ['cli', 'phpdbg'], true) && stripos($h[$i], 'html'); - } - - if ($html) { - $dumper = new HtmlDumper('php://output', $this->charset); - $dumper->setDisplayOptions(['fileLinkFormat' => $this->fileLinkFormat]); - } else { - $dumper = new CliDumper('php://output', $this->charset); - if (method_exists($dumper, 'setDisplayOptions')) { - $dumper->setDisplayOptions(['fileLinkFormat' => $this->fileLinkFormat]); - } - } - - foreach ($this->data as $i => $dump) { - $this->data[$i] = null; - $this->doDump($dumper, $dump['data'], $dump['name'], $dump['file'], $dump['line']); - } - - $this->data = []; - $this->dataCount = 0; - } - } - - private function doDump(DataDumperInterface $dumper, $data, string $name, string $file, int $line) - { - if ($dumper instanceof CliDumper) { - $contextDumper = function ($name, $file, $line, $fmt) { - if ($this instanceof HtmlDumper) { - if ($file) { - $s = $this->style('meta', '%s'); - $f = strip_tags($this->style('', $file)); - $name = strip_tags($this->style('', $name)); - if ($fmt && $link = \is_string($fmt) ? strtr($fmt, ['%f' => $file, '%l' => $line]) : $fmt->format($file, $line)) { - $name = sprintf(''.$s.'', strip_tags($this->style('', $link)), $f, $name); - } else { - $name = sprintf(''.$s.'', $f, $name); - } - } else { - $name = $this->style('meta', $name); - } - $this->line = $name.' on line '.$this->style('meta', $line).':'; - } else { - $this->line = $this->style('meta', $name).' on line '.$this->style('meta', $line).':'; - } - $this->dumpLine(0); - }; - $contextDumper = $contextDumper->bindTo($dumper, $dumper); - $contextDumper($name, $file, $line, $this->fileLinkFormat); - } else { - $cloner = new VarCloner(); - $dumper->dump($cloner->cloneVar($name.' on line '.$line.':')); - } - $dumper->dump($data); - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/DataCollector/EventDataCollector.php b/paragonik-backend/vendor/symfony/http-kernel/DataCollector/EventDataCollector.php deleted file mode 100644 index 89fd183..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/DataCollector/EventDataCollector.php +++ /dev/null @@ -1,156 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\DataCollector; - -use Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher; -use Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcherInterface; -use Symfony\Component\HttpFoundation\Request; -use Symfony\Component\HttpFoundation\RequestStack; -use Symfony\Component\HttpFoundation\Response; -use Symfony\Contracts\EventDispatcher\EventDispatcherInterface; -use Symfony\Contracts\Service\ResetInterface; - -/** - * EventDataCollector. - * - * @author Fabien Potencier - * - * @final since Symfony 4.4 - */ -class EventDataCollector extends DataCollector implements LateDataCollectorInterface -{ - protected $dispatcher; - private $requestStack; - private $currentRequest; - - public function __construct(EventDispatcherInterface $dispatcher = null, RequestStack $requestStack = null) - { - $this->dispatcher = $dispatcher; - $this->requestStack = $requestStack; - } - - /** - * {@inheritdoc} - * - * @param \Throwable|null $exception - */ - public function collect(Request $request, Response $response/*, \Throwable $exception = null*/) - { - $this->currentRequest = $this->requestStack && $this->requestStack->getMasterRequest() !== $request ? $request : null; - $this->data = [ - 'called_listeners' => [], - 'not_called_listeners' => [], - 'orphaned_events' => [], - ]; - } - - public function reset() - { - $this->data = []; - - if ($this->dispatcher instanceof ResetInterface) { - $this->dispatcher->reset(); - } - } - - public function lateCollect() - { - if ($this->dispatcher instanceof TraceableEventDispatcherInterface) { - $this->setCalledListeners($this->dispatcher->getCalledListeners($this->currentRequest)); - $this->setNotCalledListeners($this->dispatcher->getNotCalledListeners($this->currentRequest)); - } - - if ($this->dispatcher instanceof TraceableEventDispatcher) { - $this->setOrphanedEvents($this->dispatcher->getOrphanedEvents($this->currentRequest)); - } - - $this->data = $this->cloneVar($this->data); - } - - /** - * Sets the called listeners. - * - * @param array $listeners An array of called listeners - * - * @see TraceableEventDispatcher - */ - public function setCalledListeners(array $listeners) - { - $this->data['called_listeners'] = $listeners; - } - - /** - * Gets the called listeners. - * - * @return array An array of called listeners - * - * @see TraceableEventDispatcher - */ - public function getCalledListeners() - { - return $this->data['called_listeners']; - } - - /** - * Sets the not called listeners. - * - * @see TraceableEventDispatcher - */ - public function setNotCalledListeners(array $listeners) - { - $this->data['not_called_listeners'] = $listeners; - } - - /** - * Gets the not called listeners. - * - * @return array - * - * @see TraceableEventDispatcher - */ - public function getNotCalledListeners() - { - return $this->data['not_called_listeners']; - } - - /** - * Sets the orphaned events. - * - * @param array $events An array of orphaned events - * - * @see TraceableEventDispatcher - */ - public function setOrphanedEvents(array $events) - { - $this->data['orphaned_events'] = $events; - } - - /** - * Gets the orphaned events. - * - * @return array An array of orphaned events - * - * @see TraceableEventDispatcher - */ - public function getOrphanedEvents() - { - return $this->data['orphaned_events']; - } - - /** - * {@inheritdoc} - */ - public function getName() - { - return 'events'; - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/DataCollector/ExceptionDataCollector.php b/paragonik-backend/vendor/symfony/http-kernel/DataCollector/ExceptionDataCollector.php deleted file mode 100644 index 222cae5..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/DataCollector/ExceptionDataCollector.php +++ /dev/null @@ -1,118 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\DataCollector; - -use Symfony\Component\ErrorHandler\Exception\FlattenException; -use Symfony\Component\HttpFoundation\Request; -use Symfony\Component\HttpFoundation\Response; - -/** - * ExceptionDataCollector. - * - * @author Fabien Potencier - * - * @final since Symfony 4.4 - */ -class ExceptionDataCollector extends DataCollector -{ - /** - * {@inheritdoc} - * - * @param \Throwable|null $exception - */ - public function collect(Request $request, Response $response/*, \Throwable $exception = null*/) - { - $exception = 2 < \func_num_args() ? func_get_arg(2) : null; - - if (null !== $exception) { - $this->data = [ - 'exception' => FlattenException::createFromThrowable($exception), - ]; - } - } - - /** - * {@inheritdoc} - */ - public function reset() - { - $this->data = []; - } - - /** - * Checks if the exception is not null. - * - * @return bool true if the exception is not null, false otherwise - */ - public function hasException() - { - return isset($this->data['exception']); - } - - /** - * Gets the exception. - * - * @return \Exception|FlattenException - */ - public function getException() - { - return $this->data['exception']; - } - - /** - * Gets the exception message. - * - * @return string The exception message - */ - public function getMessage() - { - return $this->data['exception']->getMessage(); - } - - /** - * Gets the exception code. - * - * @return int The exception code - */ - public function getCode() - { - return $this->data['exception']->getCode(); - } - - /** - * Gets the status code. - * - * @return int The status code - */ - public function getStatusCode() - { - return $this->data['exception']->getStatusCode(); - } - - /** - * Gets the exception trace. - * - * @return array The exception trace - */ - public function getTrace() - { - return $this->data['exception']->getTrace(); - } - - /** - * {@inheritdoc} - */ - public function getName() - { - return 'exception'; - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/DataCollector/LateDataCollectorInterface.php b/paragonik-backend/vendor/symfony/http-kernel/DataCollector/LateDataCollectorInterface.php deleted file mode 100644 index 012332d..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/DataCollector/LateDataCollectorInterface.php +++ /dev/null @@ -1,25 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\DataCollector; - -/** - * LateDataCollectorInterface. - * - * @author Fabien Potencier - */ -interface LateDataCollectorInterface -{ - /** - * Collects data as late as possible. - */ - public function lateCollect(); -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/DataCollector/LoggerDataCollector.php b/paragonik-backend/vendor/symfony/http-kernel/DataCollector/LoggerDataCollector.php deleted file mode 100644 index 9314e43..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/DataCollector/LoggerDataCollector.php +++ /dev/null @@ -1,284 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\DataCollector; - -use Symfony\Component\ErrorHandler\Exception\SilencedErrorContext; -use Symfony\Component\HttpFoundation\Request; -use Symfony\Component\HttpFoundation\RequestStack; -use Symfony\Component\HttpFoundation\Response; -use Symfony\Component\HttpKernel\Log\DebugLoggerInterface; - -/** - * LogDataCollector. - * - * @author Fabien Potencier - * - * @final since Symfony 4.4 - */ -class LoggerDataCollector extends DataCollector implements LateDataCollectorInterface -{ - private $logger; - private $containerPathPrefix; - private $currentRequest; - private $requestStack; - - public function __construct($logger = null, string $containerPathPrefix = null, RequestStack $requestStack = null) - { - if (null !== $logger && $logger instanceof DebugLoggerInterface) { - $this->logger = $logger; - } - - $this->containerPathPrefix = $containerPathPrefix; - $this->requestStack = $requestStack; - } - - /** - * {@inheritdoc} - * - * @param \Throwable|null $exception - */ - public function collect(Request $request, Response $response/*, \Throwable $exception = null*/) - { - $this->currentRequest = $this->requestStack && $this->requestStack->getMasterRequest() !== $request ? $request : null; - } - - /** - * {@inheritdoc} - */ - public function reset() - { - if ($this->logger instanceof DebugLoggerInterface) { - $this->logger->clear(); - } - $this->data = []; - } - - /** - * {@inheritdoc} - */ - public function lateCollect() - { - if (null !== $this->logger) { - $containerDeprecationLogs = $this->getContainerDeprecationLogs(); - $this->data = $this->computeErrorsCount($containerDeprecationLogs); - // get compiler logs later (only when they are needed) to improve performance - $this->data['compiler_logs'] = []; - $this->data['compiler_logs_filepath'] = $this->containerPathPrefix.'Compiler.log'; - $this->data['logs'] = $this->sanitizeLogs(array_merge($this->logger->getLogs($this->currentRequest), $containerDeprecationLogs)); - $this->data = $this->cloneVar($this->data); - } - $this->currentRequest = null; - } - - public function getLogs() - { - return isset($this->data['logs']) ? $this->data['logs'] : []; - } - - public function getPriorities() - { - return isset($this->data['priorities']) ? $this->data['priorities'] : []; - } - - public function countErrors() - { - return isset($this->data['error_count']) ? $this->data['error_count'] : 0; - } - - public function countDeprecations() - { - return isset($this->data['deprecation_count']) ? $this->data['deprecation_count'] : 0; - } - - public function countWarnings() - { - return isset($this->data['warning_count']) ? $this->data['warning_count'] : 0; - } - - public function countScreams() - { - return isset($this->data['scream_count']) ? $this->data['scream_count'] : 0; - } - - public function getCompilerLogs() - { - return $this->cloneVar($this->getContainerCompilerLogs($this->data['compiler_logs_filepath'] ?? null)); - } - - /** - * {@inheritdoc} - */ - public function getName() - { - return 'logger'; - } - - private function getContainerDeprecationLogs(): array - { - if (null === $this->containerPathPrefix || !file_exists($file = $this->containerPathPrefix.'Deprecations.log')) { - return []; - } - - if ('' === $logContent = trim(file_get_contents($file))) { - return []; - } - - $bootTime = filemtime($file); - $logs = []; - foreach (unserialize($logContent) as $log) { - $log['context'] = ['exception' => new SilencedErrorContext($log['type'], $log['file'], $log['line'], $log['trace'], $log['count'])]; - $log['timestamp'] = $bootTime; - $log['priority'] = 100; - $log['priorityName'] = 'DEBUG'; - $log['channel'] = null; - $log['scream'] = false; - unset($log['type'], $log['file'], $log['line'], $log['trace'], $log['trace'], $log['count']); - $logs[] = $log; - } - - return $logs; - } - - private function getContainerCompilerLogs(string $compilerLogsFilepath = null): array - { - if (!file_exists($compilerLogsFilepath)) { - return []; - } - - $logs = []; - foreach (file($compilerLogsFilepath, FILE_IGNORE_NEW_LINES) as $log) { - $log = explode(': ', $log, 2); - if (!isset($log[1]) || !preg_match('/^[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*+(?:\\\\[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*+)++$/', $log[0])) { - $log = ['Unknown Compiler Pass', implode(': ', $log)]; - } - - $logs[$log[0]][] = ['message' => $log[1]]; - } - - return $logs; - } - - private function sanitizeLogs(array $logs) - { - $sanitizedLogs = []; - $silencedLogs = []; - - foreach ($logs as $log) { - if (!$this->isSilencedOrDeprecationErrorLog($log)) { - $sanitizedLogs[] = $log; - - continue; - } - - $message = $log['message']; - $exception = $log['context']['exception']; - - if ($exception instanceof SilencedErrorContext) { - if (isset($silencedLogs[$h = spl_object_hash($exception)])) { - continue; - } - $silencedLogs[$h] = true; - - if (!isset($sanitizedLogs[$message])) { - $sanitizedLogs[$message] = $log + [ - 'errorCount' => 0, - 'scream' => true, - ]; - } - $sanitizedLogs[$message]['errorCount'] += $exception->count; - - continue; - } - - $errorId = md5("{$exception->getSeverity()}/{$exception->getLine()}/{$exception->getFile()}\0{$message}", true); - - if (isset($sanitizedLogs[$errorId])) { - ++$sanitizedLogs[$errorId]['errorCount']; - } else { - $log += [ - 'errorCount' => 1, - 'scream' => false, - ]; - - $sanitizedLogs[$errorId] = $log; - } - } - - return array_values($sanitizedLogs); - } - - private function isSilencedOrDeprecationErrorLog(array $log): bool - { - if (!isset($log['context']['exception'])) { - return false; - } - - $exception = $log['context']['exception']; - - if ($exception instanceof SilencedErrorContext) { - return true; - } - - if ($exception instanceof \ErrorException && \in_array($exception->getSeverity(), [E_DEPRECATED, E_USER_DEPRECATED], true)) { - return true; - } - - return false; - } - - private function computeErrorsCount(array $containerDeprecationLogs): array - { - $silencedLogs = []; - $count = [ - 'error_count' => $this->logger->countErrors($this->currentRequest), - 'deprecation_count' => 0, - 'warning_count' => 0, - 'scream_count' => 0, - 'priorities' => [], - ]; - - foreach ($this->logger->getLogs($this->currentRequest) as $log) { - if (isset($count['priorities'][$log['priority']])) { - ++$count['priorities'][$log['priority']]['count']; - } else { - $count['priorities'][$log['priority']] = [ - 'count' => 1, - 'name' => $log['priorityName'], - ]; - } - if ('WARNING' === $log['priorityName']) { - ++$count['warning_count']; - } - - if ($this->isSilencedOrDeprecationErrorLog($log)) { - $exception = $log['context']['exception']; - if ($exception instanceof SilencedErrorContext) { - if (isset($silencedLogs[$h = spl_object_hash($exception)])) { - continue; - } - $silencedLogs[$h] = true; - $count['scream_count'] += $exception->count; - } else { - ++$count['deprecation_count']; - } - } - } - - foreach ($containerDeprecationLogs as $deprecationLog) { - $count['deprecation_count'] += $deprecationLog['context']['exception']->count; - } - - ksort($count['priorities']); - - return $count; - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/DataCollector/MemoryDataCollector.php b/paragonik-backend/vendor/symfony/http-kernel/DataCollector/MemoryDataCollector.php deleted file mode 100644 index 7ffcdab..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/DataCollector/MemoryDataCollector.php +++ /dev/null @@ -1,127 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\DataCollector; - -use Symfony\Component\HttpFoundation\Request; -use Symfony\Component\HttpFoundation\Response; - -/** - * MemoryDataCollector. - * - * @author Fabien Potencier - * - * @final since Symfony 4.4 - */ -class MemoryDataCollector extends DataCollector implements LateDataCollectorInterface -{ - public function __construct() - { - $this->reset(); - } - - /** - * {@inheritdoc} - * - * @param \Throwable|null $exception - */ - public function collect(Request $request, Response $response/*, \Throwable $exception = null*/) - { - $this->updateMemoryUsage(); - } - - /** - * {@inheritdoc} - */ - public function reset() - { - $this->data = [ - 'memory' => 0, - 'memory_limit' => $this->convertToBytes(ini_get('memory_limit')), - ]; - } - - /** - * {@inheritdoc} - */ - public function lateCollect() - { - $this->updateMemoryUsage(); - } - - /** - * Gets the memory. - * - * @return int The memory - */ - public function getMemory() - { - return $this->data['memory']; - } - - /** - * Gets the PHP memory limit. - * - * @return int The memory limit - */ - public function getMemoryLimit() - { - return $this->data['memory_limit']; - } - - /** - * Updates the memory usage data. - */ - public function updateMemoryUsage() - { - $this->data['memory'] = memory_get_peak_usage(true); - } - - /** - * {@inheritdoc} - */ - public function getName() - { - return 'memory'; - } - - /** - * @return int|float - */ - private function convertToBytes(string $memoryLimit) - { - if ('-1' === $memoryLimit) { - return -1; - } - - $memoryLimit = strtolower($memoryLimit); - $max = strtolower(ltrim($memoryLimit, '+')); - if (0 === strpos($max, '0x')) { - $max = \intval($max, 16); - } elseif (0 === strpos($max, '0')) { - $max = \intval($max, 8); - } else { - $max = (int) $max; - } - - switch (substr($memoryLimit, -1)) { - case 't': $max *= 1024; - // no break - case 'g': $max *= 1024; - // no break - case 'm': $max *= 1024; - // no break - case 'k': $max *= 1024; - } - - return $max; - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/DataCollector/RequestDataCollector.php b/paragonik-backend/vendor/symfony/http-kernel/DataCollector/RequestDataCollector.php deleted file mode 100644 index edfa6de..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/DataCollector/RequestDataCollector.php +++ /dev/null @@ -1,466 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\DataCollector; - -use Symfony\Component\EventDispatcher\EventSubscriberInterface; -use Symfony\Component\HttpFoundation\Cookie; -use Symfony\Component\HttpFoundation\ParameterBag; -use Symfony\Component\HttpFoundation\Request; -use Symfony\Component\HttpFoundation\Response; -use Symfony\Component\HttpKernel\Event\FilterControllerEvent; -use Symfony\Component\HttpKernel\Event\FilterResponseEvent; -use Symfony\Component\HttpKernel\KernelEvents; - -/** - * @author Fabien Potencier - * - * @final since Symfony 4.4 - */ -class RequestDataCollector extends DataCollector implements EventSubscriberInterface, LateDataCollectorInterface -{ - protected $controllers; - - public function __construct() - { - $this->controllers = new \SplObjectStorage(); - } - - /** - * {@inheritdoc} - * - * @param \Throwable|null $exception - */ - public function collect(Request $request, Response $response/*, \Throwable $exception = null*/) - { - // attributes are serialized and as they can be anything, they need to be converted to strings. - $attributes = []; - $route = ''; - foreach ($request->attributes->all() as $key => $value) { - if ('_route' === $key) { - $route = \is_object($value) ? $value->getPath() : $value; - $attributes[$key] = $route; - } else { - $attributes[$key] = $value; - } - } - - try { - $content = $request->getContent(); - } catch (\LogicException $e) { - // the user already got the request content as a resource - $content = false; - } - - $sessionMetadata = []; - $sessionAttributes = []; - $flashes = []; - if ($request->hasSession()) { - $session = $request->getSession(); - if ($session->isStarted()) { - $sessionMetadata['Created'] = date(DATE_RFC822, $session->getMetadataBag()->getCreated()); - $sessionMetadata['Last used'] = date(DATE_RFC822, $session->getMetadataBag()->getLastUsed()); - $sessionMetadata['Lifetime'] = $session->getMetadataBag()->getLifetime(); - $sessionAttributes = $session->all(); - $flashes = $session->getFlashBag()->peekAll(); - } - } - - $statusCode = $response->getStatusCode(); - - $responseCookies = []; - foreach ($response->headers->getCookies() as $cookie) { - $responseCookies[$cookie->getName()] = $cookie; - } - - $dotenvVars = []; - foreach (explode(',', $_SERVER['SYMFONY_DOTENV_VARS'] ?? $_ENV['SYMFONY_DOTENV_VARS'] ?? '') as $name) { - if ('' !== $name && isset($_ENV[$name])) { - $dotenvVars[$name] = $_ENV[$name]; - } - } - - $this->data = [ - 'method' => $request->getMethod(), - 'format' => $request->getRequestFormat(), - 'content' => $content, - 'content_type' => $response->headers->get('Content-Type', 'text/html'), - 'status_text' => isset(Response::$statusTexts[$statusCode]) ? Response::$statusTexts[$statusCode] : '', - 'status_code' => $statusCode, - 'request_query' => $request->query->all(), - 'request_request' => $request->request->all(), - 'request_files' => $request->files->all(), - 'request_headers' => $request->headers->all(), - 'request_server' => $request->server->all(), - 'request_cookies' => $request->cookies->all(), - 'request_attributes' => $attributes, - 'route' => $route, - 'response_headers' => $response->headers->all(), - 'response_cookies' => $responseCookies, - 'session_metadata' => $sessionMetadata, - 'session_attributes' => $sessionAttributes, - 'flashes' => $flashes, - 'path_info' => $request->getPathInfo(), - 'controller' => 'n/a', - 'locale' => $request->getLocale(), - 'dotenv_vars' => $dotenvVars, - ]; - - if (isset($this->data['request_headers']['php-auth-pw'])) { - $this->data['request_headers']['php-auth-pw'] = '******'; - } - - if (isset($this->data['request_server']['PHP_AUTH_PW'])) { - $this->data['request_server']['PHP_AUTH_PW'] = '******'; - } - - if (isset($this->data['request_request']['_password'])) { - $this->data['request_request']['_password'] = '******'; - } - - foreach ($this->data as $key => $value) { - if (!\is_array($value)) { - continue; - } - if ('request_headers' === $key || 'response_headers' === $key) { - $this->data[$key] = array_map(function ($v) { return isset($v[0]) && !isset($v[1]) ? $v[0] : $v; }, $value); - } - } - - if (isset($this->controllers[$request])) { - $this->data['controller'] = $this->parseController($this->controllers[$request]); - unset($this->controllers[$request]); - } - - if ($request->attributes->has('_redirected') && $redirectCookie = $request->cookies->get('sf_redirect')) { - $this->data['redirect'] = json_decode($redirectCookie, true); - - $response->headers->clearCookie('sf_redirect'); - } - - if ($response->isRedirect()) { - $response->headers->setCookie(new Cookie( - 'sf_redirect', - json_encode([ - 'token' => $response->headers->get('x-debug-token'), - 'route' => $request->attributes->get('_route', 'n/a'), - 'method' => $request->getMethod(), - 'controller' => $this->parseController($request->attributes->get('_controller')), - 'status_code' => $statusCode, - 'status_text' => Response::$statusTexts[(int) $statusCode], - ]), - 0, '/', null, $request->isSecure(), true, false, 'lax' - )); - } - - $this->data['identifier'] = $this->data['route'] ?: (\is_array($this->data['controller']) ? $this->data['controller']['class'].'::'.$this->data['controller']['method'].'()' : $this->data['controller']); - - if ($response->headers->has('x-previous-debug-token')) { - $this->data['forward_token'] = $response->headers->get('x-previous-debug-token'); - } - } - - public function lateCollect() - { - $this->data = $this->cloneVar($this->data); - } - - public function reset() - { - $this->data = []; - $this->controllers = new \SplObjectStorage(); - } - - public function getMethod() - { - return $this->data['method']; - } - - public function getPathInfo() - { - return $this->data['path_info']; - } - - public function getRequestRequest() - { - return new ParameterBag($this->data['request_request']->getValue()); - } - - public function getRequestQuery() - { - return new ParameterBag($this->data['request_query']->getValue()); - } - - public function getRequestFiles() - { - return new ParameterBag($this->data['request_files']->getValue()); - } - - public function getRequestHeaders() - { - return new ParameterBag($this->data['request_headers']->getValue()); - } - - public function getRequestServer($raw = false) - { - return new ParameterBag($this->data['request_server']->getValue($raw)); - } - - public function getRequestCookies($raw = false) - { - return new ParameterBag($this->data['request_cookies']->getValue($raw)); - } - - public function getRequestAttributes() - { - return new ParameterBag($this->data['request_attributes']->getValue()); - } - - public function getResponseHeaders() - { - return new ParameterBag($this->data['response_headers']->getValue()); - } - - public function getResponseCookies() - { - return new ParameterBag($this->data['response_cookies']->getValue()); - } - - public function getSessionMetadata() - { - return $this->data['session_metadata']->getValue(); - } - - public function getSessionAttributes() - { - return $this->data['session_attributes']->getValue(); - } - - public function getFlashes() - { - return $this->data['flashes']->getValue(); - } - - public function getContent() - { - return $this->data['content']; - } - - public function isJsonRequest() - { - return 1 === preg_match('{^application/(?:\w+\++)*json$}i', $this->data['request_headers']['content-type']); - } - - public function getPrettyJson() - { - $decoded = json_decode($this->getContent()); - - return JSON_ERROR_NONE === json_last_error() ? json_encode($decoded, JSON_PRETTY_PRINT) : null; - } - - public function getContentType() - { - return $this->data['content_type']; - } - - public function getStatusText() - { - return $this->data['status_text']; - } - - public function getStatusCode() - { - return $this->data['status_code']; - } - - public function getFormat() - { - return $this->data['format']; - } - - public function getLocale() - { - return $this->data['locale']; - } - - public function getDotenvVars() - { - return new ParameterBag($this->data['dotenv_vars']->getValue()); - } - - /** - * Gets the route name. - * - * The _route request attributes is automatically set by the Router Matcher. - * - * @return string The route - */ - public function getRoute() - { - return $this->data['route']; - } - - public function getIdentifier() - { - return $this->data['identifier']; - } - - /** - * Gets the route parameters. - * - * The _route_params request attributes is automatically set by the RouterListener. - * - * @return array The parameters - */ - public function getRouteParams() - { - return isset($this->data['request_attributes']['_route_params']) ? $this->data['request_attributes']['_route_params']->getValue() : []; - } - - /** - * Gets the parsed controller. - * - * @return array|string The controller as a string or array of data - * with keys 'class', 'method', 'file' and 'line' - */ - public function getController() - { - return $this->data['controller']; - } - - /** - * Gets the previous request attributes. - * - * @return array|bool A legacy array of data from the previous redirection response - * or false otherwise - */ - public function getRedirect() - { - return isset($this->data['redirect']) ? $this->data['redirect'] : false; - } - - public function getForwardToken() - { - return isset($this->data['forward_token']) ? $this->data['forward_token'] : null; - } - - /** - * @final since Symfony 4.3 - */ - public function onKernelController(FilterControllerEvent $event) - { - $this->controllers[$event->getRequest()] = $event->getController(); - } - - /** - * @final since Symfony 4.3 - */ - public function onKernelResponse(FilterResponseEvent $event) - { - if (!$event->isMasterRequest()) { - return; - } - - if ($event->getRequest()->cookies->has('sf_redirect')) { - $event->getRequest()->attributes->set('_redirected', true); - } - } - - public static function getSubscribedEvents() - { - return [ - KernelEvents::CONTROLLER => 'onKernelController', - KernelEvents::RESPONSE => 'onKernelResponse', - ]; - } - - /** - * {@inheritdoc} - */ - public function getName() - { - return 'request'; - } - - /** - * Parse a controller. - * - * @param mixed $controller The controller to parse - * - * @return array|string An array of controller data or a simple string - */ - protected function parseController($controller) - { - if (\is_string($controller) && false !== strpos($controller, '::')) { - $controller = explode('::', $controller); - } - - if (\is_array($controller)) { - try { - $r = new \ReflectionMethod($controller[0], $controller[1]); - - return [ - 'class' => \is_object($controller[0]) ? \get_class($controller[0]) : $controller[0], - 'method' => $controller[1], - 'file' => $r->getFileName(), - 'line' => $r->getStartLine(), - ]; - } catch (\ReflectionException $e) { - if (\is_callable($controller)) { - // using __call or __callStatic - return [ - 'class' => \is_object($controller[0]) ? \get_class($controller[0]) : $controller[0], - 'method' => $controller[1], - 'file' => 'n/a', - 'line' => 'n/a', - ]; - } - } - } - - if ($controller instanceof \Closure) { - $r = new \ReflectionFunction($controller); - - $controller = [ - 'class' => $r->getName(), - 'method' => null, - 'file' => $r->getFileName(), - 'line' => $r->getStartLine(), - ]; - - if (false !== strpos($r->name, '{closure}')) { - return $controller; - } - $controller['method'] = $r->name; - - if ($class = $r->getClosureScopeClass()) { - $controller['class'] = $class->name; - } else { - return $r->name; - } - - return $controller; - } - - if (\is_object($controller)) { - $r = new \ReflectionClass($controller); - - return [ - 'class' => $r->getName(), - 'method' => null, - 'file' => $r->getFileName(), - 'line' => $r->getStartLine(), - ]; - } - - return \is_string($controller) ? $controller : 'n/a'; - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/DataCollector/RouterDataCollector.php b/paragonik-backend/vendor/symfony/http-kernel/DataCollector/RouterDataCollector.php deleted file mode 100644 index 5f12392..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/DataCollector/RouterDataCollector.php +++ /dev/null @@ -1,112 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\DataCollector; - -use Symfony\Component\HttpFoundation\RedirectResponse; -use Symfony\Component\HttpFoundation\Request; -use Symfony\Component\HttpFoundation\Response; -use Symfony\Component\HttpKernel\Event\FilterControllerEvent; - -/** - * @author Fabien Potencier - */ -class RouterDataCollector extends DataCollector -{ - /** - * @var \SplObjectStorage - */ - protected $controllers; - - public function __construct() - { - $this->reset(); - } - - /** - * {@inheritdoc} - * - * @param \Throwable|null $exception - * - * @final since Symfony 4.4 - */ - public function collect(Request $request, Response $response/*, \Throwable $exception = null*/) - { - if ($response instanceof RedirectResponse) { - $this->data['redirect'] = true; - $this->data['url'] = $response->getTargetUrl(); - - if ($this->controllers->contains($request)) { - $this->data['route'] = $this->guessRoute($request, $this->controllers[$request]); - } - } - - unset($this->controllers[$request]); - } - - public function reset() - { - $this->controllers = new \SplObjectStorage(); - - $this->data = [ - 'redirect' => false, - 'url' => null, - 'route' => null, - ]; - } - - protected function guessRoute(Request $request, $controller) - { - return 'n/a'; - } - - /** - * Remembers the controller associated to each request. - * - * @final since Symfony 4.3 - */ - public function onKernelController(FilterControllerEvent $event) - { - $this->controllers[$event->getRequest()] = $event->getController(); - } - - /** - * @return bool Whether this request will result in a redirect - */ - public function getRedirect() - { - return $this->data['redirect']; - } - - /** - * @return string|null The target URL - */ - public function getTargetUrl() - { - return $this->data['url']; - } - - /** - * @return string|null The target route - */ - public function getTargetRoute() - { - return $this->data['route']; - } - - /** - * {@inheritdoc} - */ - public function getName() - { - return 'router'; - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/DataCollector/TimeDataCollector.php b/paragonik-backend/vendor/symfony/http-kernel/DataCollector/TimeDataCollector.php deleted file mode 100644 index 7c0cdaa..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/DataCollector/TimeDataCollector.php +++ /dev/null @@ -1,161 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\DataCollector; - -use Symfony\Component\HttpFoundation\Request; -use Symfony\Component\HttpFoundation\Response; -use Symfony\Component\HttpKernel\KernelInterface; -use Symfony\Component\Stopwatch\Stopwatch; -use Symfony\Component\Stopwatch\StopwatchEvent; - -/** - * @author Fabien Potencier - * - * @final since Symfony 4.4 - */ -class TimeDataCollector extends DataCollector implements LateDataCollectorInterface -{ - protected $kernel; - protected $stopwatch; - - public function __construct(KernelInterface $kernel = null, Stopwatch $stopwatch = null) - { - $this->kernel = $kernel; - $this->stopwatch = $stopwatch; - } - - /** - * {@inheritdoc} - * - * @param \Throwable|null $exception - */ - public function collect(Request $request, Response $response/*, \Throwable $exception = null*/) - { - if (null !== $this->kernel) { - $startTime = $this->kernel->getStartTime(); - } else { - $startTime = $request->server->get('REQUEST_TIME_FLOAT'); - } - - $this->data = [ - 'token' => $response->headers->get('X-Debug-Token'), - 'start_time' => $startTime * 1000, - 'events' => [], - 'stopwatch_installed' => class_exists(Stopwatch::class, false), - ]; - } - - /** - * {@inheritdoc} - */ - public function reset() - { - $this->data = []; - - if (null !== $this->stopwatch) { - $this->stopwatch->reset(); - } - } - - /** - * {@inheritdoc} - */ - public function lateCollect() - { - if (null !== $this->stopwatch && isset($this->data['token'])) { - $this->setEvents($this->stopwatch->getSectionEvents($this->data['token'])); - } - unset($this->data['token']); - } - - /** - * Sets the request events. - * - * @param StopwatchEvent[] $events The request events - */ - public function setEvents(array $events) - { - foreach ($events as $event) { - $event->ensureStopped(); - } - - $this->data['events'] = $events; - } - - /** - * Gets the request events. - * - * @return StopwatchEvent[] The request events - */ - public function getEvents() - { - return $this->data['events']; - } - - /** - * Gets the request elapsed time. - * - * @return float The elapsed time - */ - public function getDuration() - { - if (!isset($this->data['events']['__section__'])) { - return 0; - } - - $lastEvent = $this->data['events']['__section__']; - - return $lastEvent->getOrigin() + $lastEvent->getDuration() - $this->getStartTime(); - } - - /** - * Gets the initialization time. - * - * This is the time spent until the beginning of the request handling. - * - * @return float The elapsed time - */ - public function getInitTime() - { - if (!isset($this->data['events']['__section__'])) { - return 0; - } - - return $this->data['events']['__section__']->getOrigin() - $this->getStartTime(); - } - - /** - * Gets the request time. - * - * @return float - */ - public function getStartTime() - { - return $this->data['start_time']; - } - - /** - * @return bool whether or not the stopwatch component is installed - */ - public function isStopwatchInstalled() - { - return $this->data['stopwatch_installed']; - } - - /** - * {@inheritdoc} - */ - public function getName() - { - return 'time'; - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/Debug/FileLinkFormatter.php b/paragonik-backend/vendor/symfony/http-kernel/Debug/FileLinkFormatter.php deleted file mode 100644 index ccde50a..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/Debug/FileLinkFormatter.php +++ /dev/null @@ -1,106 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\Debug; - -use Symfony\Component\HttpFoundation\Request; -use Symfony\Component\HttpFoundation\RequestStack; -use Symfony\Component\Routing\Generator\UrlGeneratorInterface; - -/** - * Formats debug file links. - * - * @author Jérémy Romey - * - * @final since Symfony 4.3 - */ -class FileLinkFormatter -{ - private $fileLinkFormat; - private $requestStack; - private $baseDir; - private $urlFormat; - - /** - * @param string|\Closure $urlFormat the URL format, or a closure that returns it on-demand - */ - public function __construct($fileLinkFormat = null, RequestStack $requestStack = null, string $baseDir = null, $urlFormat = null) - { - $fileLinkFormat = $fileLinkFormat ?: ini_get('xdebug.file_link_format') ?: get_cfg_var('xdebug.file_link_format'); - if ($fileLinkFormat && !\is_array($fileLinkFormat)) { - $i = strpos($f = $fileLinkFormat, '&', max(strrpos($f, '%f'), strrpos($f, '%l'))) ?: \strlen($f); - $fileLinkFormat = [substr($f, 0, $i)] + preg_split('/&([^>]++)>/', substr($f, $i), -1, PREG_SPLIT_DELIM_CAPTURE); - } - - $this->fileLinkFormat = $fileLinkFormat; - $this->requestStack = $requestStack; - $this->baseDir = $baseDir; - $this->urlFormat = $urlFormat; - } - - public function format($file, $line) - { - if ($fmt = $this->getFileLinkFormat()) { - for ($i = 1; isset($fmt[$i]); ++$i) { - if (0 === strpos($file, $k = $fmt[$i++])) { - $file = substr_replace($file, $fmt[$i], 0, \strlen($k)); - break; - } - } - - return strtr($fmt[0], ['%f' => $file, '%l' => $line]); - } - - return false; - } - - /** - * @internal - */ - public function __sleep(): array - { - $this->fileLinkFormat = $this->getFileLinkFormat(); - - return ['fileLinkFormat']; - } - - /** - * @internal - */ - public static function generateUrlFormat(UrlGeneratorInterface $router, $routeName, $queryString) - { - try { - return $router->generate($routeName).$queryString; - } catch (\Throwable $e) { - return null; - } - } - - private function getFileLinkFormat() - { - if ($this->fileLinkFormat) { - return $this->fileLinkFormat; - } - - if ($this->requestStack && $this->baseDir && $this->urlFormat) { - $request = $this->requestStack->getMasterRequest(); - - if ($request instanceof Request && (!$this->urlFormat instanceof \Closure || $this->urlFormat = ($this->urlFormat)())) { - return [ - $request->getSchemeAndHttpHost().$this->urlFormat, - $this->baseDir.\DIRECTORY_SEPARATOR, '', - ]; - } - } - - return null; - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/Debug/TraceableEventDispatcher.php b/paragonik-backend/vendor/symfony/http-kernel/Debug/TraceableEventDispatcher.php deleted file mode 100644 index ce4ddb3..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/Debug/TraceableEventDispatcher.php +++ /dev/null @@ -1,90 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\Debug; - -use Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher as BaseTraceableEventDispatcher; -use Symfony\Component\HttpKernel\KernelEvents; - -/** - * Collects some data about event listeners. - * - * This event dispatcher delegates the dispatching to another one. - * - * @author Fabien Potencier - */ -class TraceableEventDispatcher extends BaseTraceableEventDispatcher -{ - /** - * {@inheritdoc} - */ - protected function beforeDispatch(string $eventName, $event) - { - switch ($eventName) { - case KernelEvents::REQUEST: - $this->stopwatch->openSection(); - break; - case KernelEvents::VIEW: - case KernelEvents::RESPONSE: - // stop only if a controller has been executed - if ($this->stopwatch->isStarted('controller')) { - $this->stopwatch->stop('controller'); - } - break; - case KernelEvents::TERMINATE: - $token = $event->getResponse()->headers->get('X-Debug-Token'); - if (null === $token) { - break; - } - // There is a very special case when using built-in AppCache class as kernel wrapper, in the case - // of an ESI request leading to a `stale` response [B] inside a `fresh` cached response [A]. - // In this case, `$token` contains the [B] debug token, but the open `stopwatch` section ID - // is equal to the [A] debug token. Trying to reopen section with the [B] token throws an exception - // which must be caught. - try { - $this->stopwatch->openSection($token); - } catch (\LogicException $e) { - } - break; - } - } - - /** - * {@inheritdoc} - */ - protected function afterDispatch(string $eventName, $event) - { - switch ($eventName) { - case KernelEvents::CONTROLLER_ARGUMENTS: - $this->stopwatch->start('controller', 'section'); - break; - case KernelEvents::RESPONSE: - $token = $event->getResponse()->headers->get('X-Debug-Token'); - if (null === $token) { - break; - } - $this->stopwatch->stopSection($token); - break; - case KernelEvents::TERMINATE: - // In the special case described in the `preDispatch` method above, the `$token` section - // does not exist, then closing it throws an exception which must be caught. - $token = $event->getResponse()->headers->get('X-Debug-Token'); - if (null === $token) { - break; - } - try { - $this->stopwatch->stopSection($token); - } catch (\LogicException $e) { - } - break; - } - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/DependencyInjection/AddAnnotatedClassesToCachePass.php b/paragonik-backend/vendor/symfony/http-kernel/DependencyInjection/AddAnnotatedClassesToCachePass.php deleted file mode 100644 index 70a987e..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/DependencyInjection/AddAnnotatedClassesToCachePass.php +++ /dev/null @@ -1,144 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\DependencyInjection; - -use Composer\Autoload\ClassLoader; -use Symfony\Component\Debug\DebugClassLoader as LegacyDebugClassLoader; -use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface; -use Symfony\Component\DependencyInjection\ContainerBuilder; -use Symfony\Component\ErrorHandler\DebugClassLoader; -use Symfony\Component\HttpKernel\Kernel; - -/** - * Sets the classes to compile in the cache for the container. - * - * @author Fabien Potencier - */ -class AddAnnotatedClassesToCachePass implements CompilerPassInterface -{ - private $kernel; - - public function __construct(Kernel $kernel) - { - $this->kernel = $kernel; - } - - /** - * {@inheritdoc} - */ - public function process(ContainerBuilder $container) - { - $annotatedClasses = $this->kernel->getAnnotatedClassesToCompile(); - foreach ($container->getExtensions() as $extension) { - if ($extension instanceof Extension) { - $annotatedClasses = array_merge($annotatedClasses, $extension->getAnnotatedClassesToCompile()); - } - } - - $existingClasses = $this->getClassesInComposerClassMaps(); - - $annotatedClasses = $container->getParameterBag()->resolveValue($annotatedClasses); - $this->kernel->setAnnotatedClassCache($this->expandClasses($annotatedClasses, $existingClasses)); - } - - /** - * Expands the given class patterns using a list of existing classes. - * - * @param array $patterns The class patterns to expand - * @param array $classes The existing classes to match against the patterns - */ - private function expandClasses(array $patterns, array $classes): array - { - $expanded = []; - - // Explicit classes declared in the patterns are returned directly - foreach ($patterns as $key => $pattern) { - if ('\\' !== substr($pattern, -1) && false === strpos($pattern, '*')) { - unset($patterns[$key]); - $expanded[] = ltrim($pattern, '\\'); - } - } - - // Match patterns with the classes list - $regexps = $this->patternsToRegexps($patterns); - - foreach ($classes as $class) { - $class = ltrim($class, '\\'); - - if ($this->matchAnyRegexps($class, $regexps)) { - $expanded[] = $class; - } - } - - return array_unique($expanded); - } - - private function getClassesInComposerClassMaps(): array - { - $classes = []; - - foreach (spl_autoload_functions() as $function) { - if (!\is_array($function)) { - continue; - } - - if ($function[0] instanceof DebugClassLoader || $function[0] instanceof LegacyDebugClassLoader) { - $function = $function[0]->getClassLoader(); - } - - if (\is_array($function) && $function[0] instanceof ClassLoader) { - $classes += array_filter($function[0]->getClassMap()); - } - } - - return array_keys($classes); - } - - private function patternsToRegexps(array $patterns): array - { - $regexps = []; - - foreach ($patterns as $pattern) { - // Escape user input - $regex = preg_quote(ltrim($pattern, '\\')); - - // Wildcards * and ** - $regex = strtr($regex, ['\\*\\*' => '.*?', '\\*' => '[^\\\\]*?']); - - // If this class does not end by a slash, anchor the end - if ('\\' !== substr($regex, -1)) { - $regex .= '$'; - } - - $regexps[] = '{^\\\\'.$regex.'}'; - } - - return $regexps; - } - - private function matchAnyRegexps(string $class, array $regexps): bool - { - $blacklisted = false !== strpos($class, 'Test'); - - foreach ($regexps as $regex) { - if ($blacklisted && false === strpos($regex, 'Test')) { - continue; - } - - if (preg_match($regex, '\\'.$class)) { - return true; - } - } - - return false; - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/DependencyInjection/ConfigurableExtension.php b/paragonik-backend/vendor/symfony/http-kernel/DependencyInjection/ConfigurableExtension.php deleted file mode 100644 index 072c35f..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/DependencyInjection/ConfigurableExtension.php +++ /dev/null @@ -1,42 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\DependencyInjection; - -use Symfony\Component\DependencyInjection\ContainerBuilder; - -/** - * This extension sub-class provides first-class integration with the - * Config/Definition Component. - * - * You can use this as base class if - * - * a) you use the Config/Definition component for configuration, - * b) your configuration class is named "Configuration", and - * c) the configuration class resides in the DependencyInjection sub-folder. - * - * @author Johannes M. Schmitt - */ -abstract class ConfigurableExtension extends Extension -{ - /** - * {@inheritdoc} - */ - final public function load(array $configs, ContainerBuilder $container) - { - $this->loadInternal($this->processConfiguration($this->getConfiguration($configs, $container), $configs), $container); - } - - /** - * Configures the passed container according to the merged configuration. - */ - abstract protected function loadInternal(array $mergedConfig, ContainerBuilder $container); -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/DependencyInjection/ControllerArgumentValueResolverPass.php b/paragonik-backend/vendor/symfony/http-kernel/DependencyInjection/ControllerArgumentValueResolverPass.php deleted file mode 100644 index 705c88d..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/DependencyInjection/ControllerArgumentValueResolverPass.php +++ /dev/null @@ -1,64 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\DependencyInjection; - -use Symfony\Component\DependencyInjection\Argument\IteratorArgument; -use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface; -use Symfony\Component\DependencyInjection\Compiler\PriorityTaggedServiceTrait; -use Symfony\Component\DependencyInjection\ContainerBuilder; -use Symfony\Component\DependencyInjection\Reference; -use Symfony\Component\HttpKernel\Controller\ArgumentResolver\TraceableValueResolver; -use Symfony\Component\Stopwatch\Stopwatch; - -/** - * Gathers and configures the argument value resolvers. - * - * @author Iltar van der Berg - */ -class ControllerArgumentValueResolverPass implements CompilerPassInterface -{ - use PriorityTaggedServiceTrait; - - private $argumentResolverService; - private $argumentValueResolverTag; - private $traceableResolverStopwatch; - - public function __construct(string $argumentResolverService = 'argument_resolver', string $argumentValueResolverTag = 'controller.argument_value_resolver', string $traceableResolverStopwatch = 'debug.stopwatch') - { - $this->argumentResolverService = $argumentResolverService; - $this->argumentValueResolverTag = $argumentValueResolverTag; - $this->traceableResolverStopwatch = $traceableResolverStopwatch; - } - - public function process(ContainerBuilder $container) - { - if (!$container->hasDefinition($this->argumentResolverService)) { - return; - } - - $resolvers = $this->findAndSortTaggedServices($this->argumentValueResolverTag, $container); - - if ($container->getParameter('kernel.debug') && class_exists(Stopwatch::class) && $container->has($this->traceableResolverStopwatch)) { - foreach ($resolvers as $resolverReference) { - $id = (string) $resolverReference; - $container->register("debug.$id", TraceableValueResolver::class) - ->setDecoratedService($id) - ->setArguments([new Reference("debug.$id.inner"), new Reference($this->traceableResolverStopwatch)]); - } - } - - $container - ->getDefinition($this->argumentResolverService) - ->replaceArgument(1, new IteratorArgument($resolvers)) - ; - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/DependencyInjection/Extension.php b/paragonik-backend/vendor/symfony/http-kernel/DependencyInjection/Extension.php deleted file mode 100644 index db376e6..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/DependencyInjection/Extension.php +++ /dev/null @@ -1,44 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\DependencyInjection; - -use Symfony\Component\DependencyInjection\Extension\Extension as BaseExtension; - -/** - * Allow adding classes to the class cache. - * - * @author Fabien Potencier - */ -abstract class Extension extends BaseExtension -{ - private $annotatedClasses = []; - - /** - * Gets the annotated classes to cache. - * - * @return array An array of classes - */ - public function getAnnotatedClassesToCompile() - { - return $this->annotatedClasses; - } - - /** - * Adds annotated classes to the class cache. - * - * @param array $annotatedClasses An array of class patterns - */ - public function addAnnotatedClassesToCompile(array $annotatedClasses) - { - $this->annotatedClasses = array_merge($this->annotatedClasses, $annotatedClasses); - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/DependencyInjection/FragmentRendererPass.php b/paragonik-backend/vendor/symfony/http-kernel/DependencyInjection/FragmentRendererPass.php deleted file mode 100644 index 432f767..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/DependencyInjection/FragmentRendererPass.php +++ /dev/null @@ -1,63 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\DependencyInjection; - -use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface; -use Symfony\Component\DependencyInjection\Compiler\ServiceLocatorTagPass; -use Symfony\Component\DependencyInjection\ContainerBuilder; -use Symfony\Component\DependencyInjection\Exception\InvalidArgumentException; -use Symfony\Component\DependencyInjection\Reference; -use Symfony\Component\HttpKernel\Fragment\FragmentRendererInterface; - -/** - * Adds services tagged kernel.fragment_renderer as HTTP content rendering strategies. - * - * @author Fabien Potencier - */ -class FragmentRendererPass implements CompilerPassInterface -{ - private $handlerService; - private $rendererTag; - - public function __construct(string $handlerService = 'fragment.handler', string $rendererTag = 'kernel.fragment_renderer') - { - $this->handlerService = $handlerService; - $this->rendererTag = $rendererTag; - } - - public function process(ContainerBuilder $container) - { - if (!$container->hasDefinition($this->handlerService)) { - return; - } - - $definition = $container->getDefinition($this->handlerService); - $renderers = []; - foreach ($container->findTaggedServiceIds($this->rendererTag, true) as $id => $tags) { - $def = $container->getDefinition($id); - $class = $container->getParameterBag()->resolveValue($def->getClass()); - - if (!$r = $container->getReflectionClass($class)) { - throw new InvalidArgumentException(sprintf('Class "%s" used for service "%s" cannot be found.', $class, $id)); - } - if (!$r->isSubclassOf(FragmentRendererInterface::class)) { - throw new InvalidArgumentException(sprintf('Service "%s" must implement interface "%s".', $id, FragmentRendererInterface::class)); - } - - foreach ($tags as $tag) { - $renderers[$tag['alias']] = new Reference($id); - } - } - - $definition->replaceArgument(0, ServiceLocatorTagPass::register($container, $renderers)); - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/DependencyInjection/LazyLoadingFragmentHandler.php b/paragonik-backend/vendor/symfony/http-kernel/DependencyInjection/LazyLoadingFragmentHandler.php deleted file mode 100644 index 526c11f..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/DependencyInjection/LazyLoadingFragmentHandler.php +++ /dev/null @@ -1,47 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\DependencyInjection; - -use Psr\Container\ContainerInterface; -use Symfony\Component\HttpFoundation\RequestStack; -use Symfony\Component\HttpKernel\Fragment\FragmentHandler; - -/** - * Lazily loads fragment renderers from the dependency injection container. - * - * @author Fabien Potencier - */ -class LazyLoadingFragmentHandler extends FragmentHandler -{ - private $container; - private $initialized = []; - - public function __construct(ContainerInterface $container, RequestStack $requestStack, bool $debug = false) - { - $this->container = $container; - - parent::__construct($requestStack, [], $debug); - } - - /** - * {@inheritdoc} - */ - public function render($uri, $renderer = 'inline', array $options = []) - { - if (!isset($this->initialized[$renderer]) && $this->container->has($renderer)) { - $this->addRenderer($this->container->get($renderer)); - $this->initialized[$renderer] = true; - } - - return parent::render($uri, $renderer, $options); - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/DependencyInjection/LoggerPass.php b/paragonik-backend/vendor/symfony/http-kernel/DependencyInjection/LoggerPass.php deleted file mode 100644 index b6df1f6..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/DependencyInjection/LoggerPass.php +++ /dev/null @@ -1,41 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\DependencyInjection; - -use Psr\Log\LoggerInterface; -use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface; -use Symfony\Component\DependencyInjection\ContainerBuilder; -use Symfony\Component\HttpKernel\Log\Logger; - -/** - * Registers the default logger if necessary. - * - * @author Kévin Dunglas - */ -class LoggerPass implements CompilerPassInterface -{ - /** - * {@inheritdoc} - */ - public function process(ContainerBuilder $container) - { - $container->setAlias(LoggerInterface::class, 'logger') - ->setPublic(false); - - if ($container->has('logger')) { - return; - } - - $container->register('logger', Logger::class) - ->setPublic(false); - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/DependencyInjection/MergeExtensionConfigurationPass.php b/paragonik-backend/vendor/symfony/http-kernel/DependencyInjection/MergeExtensionConfigurationPass.php deleted file mode 100644 index 83e1b75..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/DependencyInjection/MergeExtensionConfigurationPass.php +++ /dev/null @@ -1,41 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\DependencyInjection; - -use Symfony\Component\DependencyInjection\Compiler\MergeExtensionConfigurationPass as BaseMergeExtensionConfigurationPass; -use Symfony\Component\DependencyInjection\ContainerBuilder; - -/** - * Ensures certain extensions are always loaded. - * - * @author Kris Wallsmith - */ -class MergeExtensionConfigurationPass extends BaseMergeExtensionConfigurationPass -{ - private $extensions; - - public function __construct(array $extensions) - { - $this->extensions = $extensions; - } - - public function process(ContainerBuilder $container) - { - foreach ($this->extensions as $extension) { - if (!\count($container->getExtensionConfig($extension))) { - $container->loadFromExtension($extension, []); - } - } - - parent::process($container); - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/DependencyInjection/RegisterControllerArgumentLocatorsPass.php b/paragonik-backend/vendor/symfony/http-kernel/DependencyInjection/RegisterControllerArgumentLocatorsPass.php deleted file mode 100644 index a3f5012..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/DependencyInjection/RegisterControllerArgumentLocatorsPass.php +++ /dev/null @@ -1,200 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\DependencyInjection; - -use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; -use Symfony\Component\DependencyInjection\ChildDefinition; -use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface; -use Symfony\Component\DependencyInjection\Compiler\ServiceLocatorTagPass; -use Symfony\Component\DependencyInjection\ContainerAwareInterface; -use Symfony\Component\DependencyInjection\ContainerBuilder; -use Symfony\Component\DependencyInjection\ContainerInterface; -use Symfony\Component\DependencyInjection\Exception\InvalidArgumentException; -use Symfony\Component\DependencyInjection\LazyProxy\ProxyHelper; -use Symfony\Component\DependencyInjection\Reference; -use Symfony\Component\DependencyInjection\TypedReference; -use Symfony\Component\HttpFoundation\Request; - -/** - * Creates the service-locators required by ServiceValueResolver. - * - * @author Nicolas Grekas - */ -class RegisterControllerArgumentLocatorsPass implements CompilerPassInterface -{ - private $resolverServiceId; - private $controllerTag; - private $controllerLocator; - private $notTaggedControllerResolverServiceId; - - public function __construct(string $resolverServiceId = 'argument_resolver.service', string $controllerTag = 'controller.service_arguments', string $controllerLocator = 'argument_resolver.controller_locator', string $notTaggedControllerResolverServiceId = 'argument_resolver.not_tagged_controller') - { - $this->resolverServiceId = $resolverServiceId; - $this->controllerTag = $controllerTag; - $this->controllerLocator = $controllerLocator; - $this->notTaggedControllerResolverServiceId = $notTaggedControllerResolverServiceId; - } - - public function process(ContainerBuilder $container) - { - if (false === $container->hasDefinition($this->resolverServiceId) && false === $container->hasDefinition($this->notTaggedControllerResolverServiceId)) { - return; - } - - $parameterBag = $container->getParameterBag(); - $controllers = []; - - foreach ($container->findTaggedServiceIds($this->controllerTag, true) as $id => $tags) { - $def = $container->getDefinition($id); - $def->setPublic(true); - $class = $def->getClass(); - $autowire = $def->isAutowired(); - $bindings = $def->getBindings(); - - // resolve service class, taking parent definitions into account - while ($def instanceof ChildDefinition) { - $def = $container->findDefinition($def->getParent()); - $class = $class ?: $def->getClass(); - $bindings += $def->getBindings(); - } - $class = $parameterBag->resolveValue($class); - - if (!$r = $container->getReflectionClass($class)) { - throw new InvalidArgumentException(sprintf('Class "%s" used for service "%s" cannot be found.', $class, $id)); - } - $isContainerAware = $r->implementsInterface(ContainerAwareInterface::class) || is_subclass_of($class, AbstractController::class); - - // get regular public methods - $methods = []; - $arguments = []; - foreach ($r->getMethods(\ReflectionMethod::IS_PUBLIC) as $r) { - if ('setContainer' === $r->name && $isContainerAware) { - continue; - } - if (!$r->isConstructor() && !$r->isDestructor() && !$r->isAbstract()) { - $methods[strtolower($r->name)] = [$r, $r->getParameters()]; - } - } - - // validate and collect explicit per-actions and per-arguments service references - foreach ($tags as $attributes) { - if (!isset($attributes['action']) && !isset($attributes['argument']) && !isset($attributes['id'])) { - $autowire = true; - continue; - } - foreach (['action', 'argument', 'id'] as $k) { - if (!isset($attributes[$k][0])) { - throw new InvalidArgumentException(sprintf('Missing "%s" attribute on tag "%s" %s for service "%s".', $k, $this->controllerTag, json_encode($attributes, JSON_UNESCAPED_UNICODE), $id)); - } - } - if (!isset($methods[$action = strtolower($attributes['action'])])) { - throw new InvalidArgumentException(sprintf('Invalid "action" attribute on tag "%s" for service "%s": no public "%s()" method found on class "%s".', $this->controllerTag, $id, $attributes['action'], $class)); - } - list($r, $parameters) = $methods[$action]; - $found = false; - - foreach ($parameters as $p) { - if ($attributes['argument'] === $p->name) { - if (!isset($arguments[$r->name][$p->name])) { - $arguments[$r->name][$p->name] = $attributes['id']; - } - $found = true; - break; - } - } - - if (!$found) { - throw new InvalidArgumentException(sprintf('Invalid "%s" tag for service "%s": method "%s()" has no "%s" argument on class "%s".', $this->controllerTag, $id, $r->name, $attributes['argument'], $class)); - } - } - - foreach ($methods as list($r, $parameters)) { - /** @var \ReflectionMethod $r */ - - // create a per-method map of argument-names to service/type-references - $args = []; - foreach ($parameters as $p) { - /** @var \ReflectionParameter $p */ - $type = ltrim($target = ProxyHelper::getTypeHint($r, $p), '\\'); - $invalidBehavior = ContainerInterface::IGNORE_ON_INVALID_REFERENCE; - - if (isset($arguments[$r->name][$p->name])) { - $target = $arguments[$r->name][$p->name]; - if ('?' !== $target[0]) { - $invalidBehavior = ContainerInterface::RUNTIME_EXCEPTION_ON_INVALID_REFERENCE; - } elseif ('' === $target = (string) substr($target, 1)) { - throw new InvalidArgumentException(sprintf('A "%s" tag must have non-empty "id" attributes for service "%s".', $this->controllerTag, $id)); - } elseif ($p->allowsNull() && !$p->isOptional()) { - $invalidBehavior = ContainerInterface::NULL_ON_INVALID_REFERENCE; - } - } elseif (isset($bindings[$bindingName = $type.' $'.$p->name]) || isset($bindings[$bindingName = '$'.$p->name]) || isset($bindings[$bindingName = $type])) { - $binding = $bindings[$bindingName]; - - list($bindingValue, $bindingId, , $bindingType, $bindingFile) = $binding->getValues(); - $binding->setValues([$bindingValue, $bindingId, true, $bindingType, $bindingFile]); - - if (!$bindingValue instanceof Reference) { - $args[$p->name] = new Reference('.value.'.$container->hash($bindingValue)); - $container->register((string) $args[$p->name], 'mixed') - ->setFactory('current') - ->addArgument([$bindingValue]); - } else { - $args[$p->name] = $bindingValue; - } - - continue; - } elseif (!$type || !$autowire || '\\' !== $target[0]) { - continue; - } elseif (!$p->allowsNull()) { - $invalidBehavior = ContainerInterface::RUNTIME_EXCEPTION_ON_INVALID_REFERENCE; - } - - if (Request::class === $type) { - continue; - } - - if ($type && !$p->isOptional() && !$p->allowsNull() && !class_exists($type) && !interface_exists($type, false)) { - $message = sprintf('Cannot determine controller argument for "%s::%s()": the $%s argument is type-hinted with the non-existent class or interface: "%s".', $class, $r->name, $p->name, $type); - - // see if the type-hint lives in the same namespace as the controller - if (0 === strncmp($type, $class, strrpos($class, '\\'))) { - $message .= ' Did you forget to add a use statement?'; - } - - throw new InvalidArgumentException($message); - } - - $target = ltrim($target, '\\'); - $args[$p->name] = $type ? new TypedReference($target, $type, $invalidBehavior, $p->name) : new Reference($target, $invalidBehavior); - } - // register the maps as a per-method service-locators - if ($args) { - $controllers[$id.'::'.$r->name] = ServiceLocatorTagPass::register($container, $args); - } - } - } - - $controllerLocatorRef = ServiceLocatorTagPass::register($container, $controllers); - - if ($container->hasDefinition($this->resolverServiceId)) { - $container->getDefinition($this->resolverServiceId) - ->replaceArgument(0, $controllerLocatorRef); - } - - if ($container->hasDefinition($this->notTaggedControllerResolverServiceId)) { - $container->getDefinition($this->notTaggedControllerResolverServiceId) - ->replaceArgument(0, $controllerLocatorRef); - } - - $container->setAlias($this->controllerLocator, (string) $controllerLocatorRef); - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/DependencyInjection/RegisterLocaleAwareServicesPass.php b/paragonik-backend/vendor/symfony/http-kernel/DependencyInjection/RegisterLocaleAwareServicesPass.php deleted file mode 100644 index 0efb164..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/DependencyInjection/RegisterLocaleAwareServicesPass.php +++ /dev/null @@ -1,58 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\DependencyInjection; - -use Symfony\Component\DependencyInjection\Argument\IteratorArgument; -use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface; -use Symfony\Component\DependencyInjection\ContainerBuilder; -use Symfony\Component\DependencyInjection\Reference; - -/** - * Register all services that have the "kernel.locale_aware" tag into the listener. - * - * @author Pierre Bobiet - */ -class RegisterLocaleAwareServicesPass implements CompilerPassInterface -{ - private $listenerServiceId; - private $localeAwareTag; - - public function __construct(string $listenerServiceId = 'locale_aware_listener', string $localeAwareTag = 'kernel.locale_aware') - { - $this->listenerServiceId = $listenerServiceId; - $this->localeAwareTag = $localeAwareTag; - } - - public function process(ContainerBuilder $container) - { - if (!$container->hasDefinition($this->listenerServiceId)) { - return; - } - - $services = []; - - foreach ($container->findTaggedServiceIds($this->localeAwareTag) as $id => $tags) { - $services[] = new Reference($id); - } - - if (!$services) { - $container->removeDefinition($this->listenerServiceId); - - return; - } - - $container - ->getDefinition($this->listenerServiceId) - ->setArgument(0, new IteratorArgument($services)) - ; - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/DependencyInjection/RemoveEmptyControllerArgumentLocatorsPass.php b/paragonik-backend/vendor/symfony/http-kernel/DependencyInjection/RemoveEmptyControllerArgumentLocatorsPass.php deleted file mode 100644 index 596b618..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/DependencyInjection/RemoveEmptyControllerArgumentLocatorsPass.php +++ /dev/null @@ -1,70 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\DependencyInjection; - -use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface; -use Symfony\Component\DependencyInjection\ContainerBuilder; - -/** - * Removes empty service-locators registered for ServiceValueResolver. - * - * @author Nicolas Grekas - */ -class RemoveEmptyControllerArgumentLocatorsPass implements CompilerPassInterface -{ - private $controllerLocator; - - public function __construct(string $controllerLocator = 'argument_resolver.controller_locator') - { - $this->controllerLocator = $controllerLocator; - } - - public function process(ContainerBuilder $container) - { - $controllerLocator = $container->findDefinition($this->controllerLocator); - $controllers = $controllerLocator->getArgument(0); - - foreach ($controllers as $controller => $argumentRef) { - $argumentLocator = $container->getDefinition((string) $argumentRef->getValues()[0]); - - if (!$argumentLocator->getArgument(0)) { - // remove empty argument locators - $reason = sprintf('Removing service-argument resolver for controller "%s": no corresponding services exist for the referenced types.', $controller); - } else { - // any methods listed for call-at-instantiation cannot be actions - $reason = false; - list($id, $action) = explode('::', $controller); - $controllerDef = $container->getDefinition($id); - foreach ($controllerDef->getMethodCalls() as list($method)) { - if (0 === strcasecmp($action, $method)) { - $reason = sprintf('Removing method "%s" of service "%s" from controller candidates: the method is called at instantiation, thus cannot be an action.', $action, $id); - break; - } - } - if (!$reason) { - // Deprecated since Symfony 4.1. See Symfony\Component\HttpKernel\Controller\ContainerControllerResolver - $controllers[$id.':'.$action] = $argumentRef; - - if ('__invoke' === $action) { - $controllers[$id] = $argumentRef; - } - continue; - } - } - - unset($controllers[$controller]); - $container->log($this, $reason); - } - - $controllerLocator->replaceArgument(0, $controllers); - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/DependencyInjection/ResettableServicePass.php b/paragonik-backend/vendor/symfony/http-kernel/DependencyInjection/ResettableServicePass.php deleted file mode 100644 index b5e4610..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/DependencyInjection/ResettableServicePass.php +++ /dev/null @@ -1,71 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\DependencyInjection; - -use Symfony\Component\DependencyInjection\Argument\IteratorArgument; -use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface; -use Symfony\Component\DependencyInjection\ContainerBuilder; -use Symfony\Component\DependencyInjection\ContainerInterface; -use Symfony\Component\DependencyInjection\Exception\RuntimeException; -use Symfony\Component\DependencyInjection\Reference; - -/** - * @author Alexander M. Turek - */ -class ResettableServicePass implements CompilerPassInterface -{ - private $tagName; - - public function __construct(string $tagName = 'kernel.reset') - { - $this->tagName = $tagName; - } - - /** - * {@inheritdoc} - */ - public function process(ContainerBuilder $container) - { - if (!$container->has('services_resetter')) { - return; - } - - $services = $methods = []; - - foreach ($container->findTaggedServiceIds($this->tagName, true) as $id => $tags) { - $services[$id] = new Reference($id, ContainerInterface::IGNORE_ON_UNINITIALIZED_REFERENCE); - - foreach ($tags as $attributes) { - if (!isset($attributes['method'])) { - throw new RuntimeException(sprintf('Tag "%s" requires the "method" attribute to be set.', $this->tagName)); - } - - if (!isset($methods[$id])) { - $methods[$id] = []; - } - - $methods[$id][] = $attributes['method']; - } - } - - if (!$services) { - $container->removeAlias('services_resetter'); - $container->removeDefinition('services_resetter'); - - return; - } - - $container->findDefinition('services_resetter') - ->setArgument(0, new IteratorArgument($services)) - ->setArgument(1, $methods); - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/DependencyInjection/ServicesResetter.php b/paragonik-backend/vendor/symfony/http-kernel/DependencyInjection/ServicesResetter.php deleted file mode 100644 index d9e0028..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/DependencyInjection/ServicesResetter.php +++ /dev/null @@ -1,43 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\DependencyInjection; - -use Symfony\Contracts\Service\ResetInterface; - -/** - * Resets provided services. - * - * @author Alexander M. Turek - * @author Nicolas Grekas - * - * @internal - */ -class ServicesResetter implements ResetInterface -{ - private $resettableServices; - private $resetMethods; - - public function __construct(\Traversable $resettableServices, array $resetMethods) - { - $this->resettableServices = $resettableServices; - $this->resetMethods = $resetMethods; - } - - public function reset() - { - foreach ($this->resettableServices as $id => $service) { - foreach ((array) $this->resetMethods[$id] as $resetMethod) { - $service->$resetMethod(); - } - } - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/Event/ControllerArgumentsEvent.php b/paragonik-backend/vendor/symfony/http-kernel/Event/ControllerArgumentsEvent.php deleted file mode 100644 index 5efb80c..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/Event/ControllerArgumentsEvent.php +++ /dev/null @@ -1,30 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\Event; - -/** - * Allows filtering of controller arguments. - * - * You can call getController() to retrieve the controller and getArguments - * to retrieve the current arguments. With setArguments() you can replace - * arguments that are used to call the controller. - * - * Arguments set in the event must be compatible with the signature of the - * controller. - * - * @author Christophe Coevoet - * - * @final since Symfony 4.4 - */ -class ControllerArgumentsEvent extends FilterControllerArgumentsEvent -{ -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/Event/ControllerEvent.php b/paragonik-backend/vendor/symfony/http-kernel/Event/ControllerEvent.php deleted file mode 100644 index 7b642ea..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/Event/ControllerEvent.php +++ /dev/null @@ -1,29 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\Event; - -/** - * Allows filtering of a controller callable. - * - * You can call getController() to retrieve the current controller. With - * setController() you can set a new controller that is used in the processing - * of the request. - * - * Controllers should be callables. - * - * @author Bernhard Schussek - * - * @final since Symfony 4.4 - */ -class ControllerEvent extends FilterControllerEvent -{ -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/Event/ExceptionEvent.php b/paragonik-backend/vendor/symfony/http-kernel/Event/ExceptionEvent.php deleted file mode 100644 index 3dae0d4..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/Event/ExceptionEvent.php +++ /dev/null @@ -1,31 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\Event; - -/** - * Allows to create a response for a thrown exception. - * - * Call setResponse() to set the response that will be returned for the - * current request. The propagation of this event is stopped as soon as a - * response is set. - * - * You can also call setException() to replace the thrown exception. This - * exception will be thrown if no response is set during processing of this - * event. - * - * @author Bernhard Schussek - * - * @final since Symfony 4.4 - */ -class ExceptionEvent extends GetResponseForExceptionEvent -{ -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/Event/FilterControllerArgumentsEvent.php b/paragonik-backend/vendor/symfony/http-kernel/Event/FilterControllerArgumentsEvent.php deleted file mode 100644 index f3c5dc3..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/Event/FilterControllerArgumentsEvent.php +++ /dev/null @@ -1,43 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\Event; - -use Symfony\Component\HttpFoundation\Request; -use Symfony\Component\HttpKernel\HttpKernelInterface; - -/** - * @deprecated since Symfony 4.3, use ControllerArgumentsEvent instead - */ -class FilterControllerArgumentsEvent extends FilterControllerEvent -{ - private $arguments; - - public function __construct(HttpKernelInterface $kernel, callable $controller, array $arguments, Request $request, ?int $requestType) - { - parent::__construct($kernel, $controller, $request, $requestType); - - $this->arguments = $arguments; - } - - /** - * @return array - */ - public function getArguments() - { - return $this->arguments; - } - - public function setArguments(array $arguments) - { - $this->arguments = $arguments; - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/Event/FilterControllerEvent.php b/paragonik-backend/vendor/symfony/http-kernel/Event/FilterControllerEvent.php deleted file mode 100644 index 74fa681..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/Event/FilterControllerEvent.php +++ /dev/null @@ -1,45 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\Event; - -use Symfony\Component\HttpFoundation\Request; -use Symfony\Component\HttpKernel\HttpKernelInterface; - -/** - * @deprecated since Symfony 4.3, use ControllerEvent instead - */ -class FilterControllerEvent extends KernelEvent -{ - private $controller; - - public function __construct(HttpKernelInterface $kernel, callable $controller, Request $request, ?int $requestType) - { - parent::__construct($kernel, $request, $requestType); - - $this->setController($controller); - } - - /** - * Returns the current controller. - * - * @return callable - */ - public function getController() - { - return $this->controller; - } - - public function setController(callable $controller) - { - $this->controller = $controller; - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/Event/FilterResponseEvent.php b/paragonik-backend/vendor/symfony/http-kernel/Event/FilterResponseEvent.php deleted file mode 100644 index eaa2e82..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/Event/FilterResponseEvent.php +++ /dev/null @@ -1,49 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\Event; - -use Symfony\Component\HttpFoundation\Request; -use Symfony\Component\HttpFoundation\Response; -use Symfony\Component\HttpKernel\HttpKernelInterface; - -/** - * @deprecated since Symfony 4.3, use ResponseEvent instead - */ -class FilterResponseEvent extends KernelEvent -{ - private $response; - - public function __construct(HttpKernelInterface $kernel, Request $request, int $requestType, Response $response) - { - parent::__construct($kernel, $request, $requestType); - - $this->setResponse($response); - } - - /** - * Returns the current response object. - * - * @return Response - */ - public function getResponse() - { - return $this->response; - } - - /** - * Sets a new response object. - */ - public function setResponse(Response $response) - { - $this->response = $response; - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/Event/FinishRequestEvent.php b/paragonik-backend/vendor/symfony/http-kernel/Event/FinishRequestEvent.php deleted file mode 100644 index 9374d2d..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/Event/FinishRequestEvent.php +++ /dev/null @@ -1,23 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\Event; - -/** - * Triggered whenever a request is fully processed. - * - * @author Benjamin Eberlei - * - * @final since Symfony 4.4 - */ -class FinishRequestEvent extends KernelEvent -{ -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/Event/GetResponseEvent.php b/paragonik-backend/vendor/symfony/http-kernel/Event/GetResponseEvent.php deleted file mode 100644 index fbed7be..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/Event/GetResponseEvent.php +++ /dev/null @@ -1,52 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\Event; - -use Symfony\Component\HttpFoundation\Response; - -/** - * @deprecated since Symfony 4.3, use RequestEvent instead - */ -class GetResponseEvent extends KernelEvent -{ - private $response; - - /** - * Returns the response object. - * - * @return Response|null - */ - public function getResponse() - { - return $this->response; - } - - /** - * Sets a response and stops event propagation. - */ - public function setResponse(Response $response) - { - $this->response = $response; - - $this->stopPropagation(); - } - - /** - * Returns whether a response was set. - * - * @return bool Whether a response was set - */ - public function hasResponse() - { - return null !== $this->response; - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/Event/GetResponseForControllerResultEvent.php b/paragonik-backend/vendor/symfony/http-kernel/Event/GetResponseForControllerResultEvent.php deleted file mode 100644 index 4e70dbc..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/Event/GetResponseForControllerResultEvent.php +++ /dev/null @@ -1,55 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\Event; - -use Symfony\Component\HttpFoundation\Request; -use Symfony\Component\HttpKernel\HttpKernelInterface; - -/** - * @deprecated since Symfony 4.3, use ViewEvent instead - */ -class GetResponseForControllerResultEvent extends RequestEvent -{ - /** - * The return value of the controller. - * - * @var mixed - */ - private $controllerResult; - - public function __construct(HttpKernelInterface $kernel, Request $request, int $requestType, $controllerResult) - { - parent::__construct($kernel, $request, $requestType); - - $this->controllerResult = $controllerResult; - } - - /** - * Returns the return value of the controller. - * - * @return mixed The controller return value - */ - public function getControllerResult() - { - return $this->controllerResult; - } - - /** - * Assigns the return value of the controller. - * - * @param mixed $controllerResult The controller return value - */ - public function setControllerResult($controllerResult) - { - $this->controllerResult = $controllerResult; - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/Event/GetResponseForExceptionEvent.php b/paragonik-backend/vendor/symfony/http-kernel/Event/GetResponseForExceptionEvent.php deleted file mode 100644 index 8e2b183..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/Event/GetResponseForExceptionEvent.php +++ /dev/null @@ -1,91 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\Event; - -use Symfony\Component\Debug\Exception\FatalThrowableError; -use Symfony\Component\HttpFoundation\Request; -use Symfony\Component\HttpKernel\HttpKernelInterface; - -/** - * @deprecated since Symfony 4.3, use ExceptionEvent instead - */ -class GetResponseForExceptionEvent extends RequestEvent -{ - private $throwable; - private $exception; - private $allowCustomResponseCode = false; - - public function __construct(HttpKernelInterface $kernel, Request $request, int $requestType, \Throwable $e) - { - parent::__construct($kernel, $request, $requestType); - - $this->setThrowable($e); - } - - public function getThrowable(): \Throwable - { - return $this->throwable; - } - - /** - * Replaces the thrown exception. - * - * This exception will be thrown if no response is set in the event. - */ - public function setThrowable(\Throwable $exception): void - { - $this->exception = null; - $this->throwable = $exception; - } - - /** - * @deprecated since Symfony 4.4, use getThrowable instead - * - * @return \Exception The thrown exception - */ - public function getException() - { - @trigger_error(sprintf('The "%s()" method is deprecated since Symfony 4.4, use "getThrowable()" instead.', __METHOD__), E_USER_DEPRECATED); - - return $this->exception ?? $this->exception = $this->throwable instanceof \Exception ? $this->throwable : new FatalThrowableError($this->throwable); - } - - /** - * @deprecated since Symfony 4.4, use setThrowable instead - * - * @param \Exception $exception The thrown exception - */ - public function setException(\Exception $exception) - { - @trigger_error(sprintf('The "%s()" method is deprecated since Symfony 4.4, use "setThrowable()" instead.', __METHOD__), E_USER_DEPRECATED); - - $this->throwable = $this->exception = $exception; - } - - /** - * Mark the event as allowing a custom response code. - */ - public function allowCustomResponseCode() - { - $this->allowCustomResponseCode = true; - } - - /** - * Returns true if the event allows a custom response code. - * - * @return bool - */ - public function isAllowingCustomResponseCode() - { - return $this->allowCustomResponseCode; - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/Event/KernelEvent.php b/paragonik-backend/vendor/symfony/http-kernel/Event/KernelEvent.php deleted file mode 100644 index f6dff06..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/Event/KernelEvent.php +++ /dev/null @@ -1,80 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\Event; - -use Symfony\Component\EventDispatcher\Event; -use Symfony\Component\HttpFoundation\Request; -use Symfony\Component\HttpKernel\HttpKernelInterface; - -/** - * Base class for events thrown in the HttpKernel component. - * - * @author Bernhard Schussek - */ -class KernelEvent extends Event -{ - private $kernel; - private $request; - private $requestType; - - /** - * @param int $requestType The request type the kernel is currently processing; one of - * HttpKernelInterface::MASTER_REQUEST or HttpKernelInterface::SUB_REQUEST - */ - public function __construct(HttpKernelInterface $kernel, Request $request, ?int $requestType) - { - $this->kernel = $kernel; - $this->request = $request; - $this->requestType = $requestType; - } - - /** - * Returns the kernel in which this event was thrown. - * - * @return HttpKernelInterface - */ - public function getKernel() - { - return $this->kernel; - } - - /** - * Returns the request the kernel is currently processing. - * - * @return Request - */ - public function getRequest() - { - return $this->request; - } - - /** - * Returns the request type the kernel is currently processing. - * - * @return int One of HttpKernelInterface::MASTER_REQUEST and - * HttpKernelInterface::SUB_REQUEST - */ - public function getRequestType() - { - return $this->requestType; - } - - /** - * Checks if this is a master request. - * - * @return bool True if the request is a master request - */ - public function isMasterRequest() - { - return HttpKernelInterface::MASTER_REQUEST === $this->requestType; - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/Event/PostResponseEvent.php b/paragonik-backend/vendor/symfony/http-kernel/Event/PostResponseEvent.php deleted file mode 100644 index b86bf07..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/Event/PostResponseEvent.php +++ /dev/null @@ -1,41 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\Event; - -use Symfony\Component\HttpFoundation\Request; -use Symfony\Component\HttpFoundation\Response; -use Symfony\Component\HttpKernel\HttpKernelInterface; - -/** - * @deprecated since Symfony 4.3, use TerminateEvent instead - */ -class PostResponseEvent extends KernelEvent -{ - private $response; - - public function __construct(HttpKernelInterface $kernel, Request $request, Response $response) - { - parent::__construct($kernel, $request, HttpKernelInterface::MASTER_REQUEST); - - $this->response = $response; - } - - /** - * Returns the response for which this event was thrown. - * - * @return Response - */ - public function getResponse() - { - return $this->response; - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/Event/RequestEvent.php b/paragonik-backend/vendor/symfony/http-kernel/Event/RequestEvent.php deleted file mode 100644 index c1beb92..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/Event/RequestEvent.php +++ /dev/null @@ -1,25 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\Event; - -/** - * Allows to create a response for a request. - * - * Call setResponse() to set the response that will be returned for the - * current request. The propagation of this event is stopped as soon as a - * response is set. - * - * @author Bernhard Schussek - */ -class RequestEvent extends GetResponseEvent -{ -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/Event/ResponseEvent.php b/paragonik-backend/vendor/symfony/http-kernel/Event/ResponseEvent.php deleted file mode 100644 index eae8c39..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/Event/ResponseEvent.php +++ /dev/null @@ -1,27 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\Event; - -/** - * Allows to filter a Response object. - * - * You can call getResponse() to retrieve the current response. With - * setResponse() you can set a new response that will be returned to the - * browser. - * - * @author Bernhard Schussek - * - * @final since Symfony 4.4 - */ -class ResponseEvent extends FilterResponseEvent -{ -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/Event/TerminateEvent.php b/paragonik-backend/vendor/symfony/http-kernel/Event/TerminateEvent.php deleted file mode 100644 index 6a74445..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/Event/TerminateEvent.php +++ /dev/null @@ -1,26 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\Event; - -/** - * Allows to execute logic after a response was sent. - * - * Since it's only triggered on master requests, the `getRequestType()` method - * will always return the value of `HttpKernelInterface::MASTER_REQUEST`. - * - * @author Jordi Boggiano - * - * @final since Symfony 4.4 - */ -class TerminateEvent extends PostResponseEvent -{ -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/Event/ViewEvent.php b/paragonik-backend/vendor/symfony/http-kernel/Event/ViewEvent.php deleted file mode 100644 index da50da8..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/Event/ViewEvent.php +++ /dev/null @@ -1,27 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\Event; - -/** - * Allows to create a response for the return value of a controller. - * - * Call setResponse() to set the response that will be returned for the - * current request. The propagation of this event is stopped as soon as a - * response is set. - * - * @author Bernhard Schussek - * - * @final since Symfony 4.4 - */ -class ViewEvent extends GetResponseForControllerResultEvent -{ -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/EventListener/AbstractSessionListener.php b/paragonik-backend/vendor/symfony/http-kernel/EventListener/AbstractSessionListener.php deleted file mode 100644 index 0a6789d..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/EventListener/AbstractSessionListener.php +++ /dev/null @@ -1,151 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\EventListener; - -use Psr\Container\ContainerInterface; -use Symfony\Component\EventDispatcher\EventSubscriberInterface; -use Symfony\Component\HttpFoundation\Session\Session; -use Symfony\Component\HttpFoundation\Session\SessionInterface; -use Symfony\Component\HttpKernel\Event\FilterResponseEvent; -use Symfony\Component\HttpKernel\Event\FinishRequestEvent; -use Symfony\Component\HttpKernel\Event\GetResponseEvent; -use Symfony\Component\HttpKernel\KernelEvents; - -/** - * Sets the session onto the request on the "kernel.request" event and saves - * it on the "kernel.response" event. - * - * In addition, if the session has been started it overrides the Cache-Control - * header in such a way that all caching is disabled in that case. - * If you have a scenario where caching responses with session information in - * them makes sense, you can disable this behaviour by setting the header - * AbstractSessionListener::NO_AUTO_CACHE_CONTROL_HEADER on the response. - * - * @author Johannes M. Schmitt - * @author Tobias Schultze - * - * @internal since Symfony 4.3 - */ -abstract class AbstractSessionListener implements EventSubscriberInterface -{ - const NO_AUTO_CACHE_CONTROL_HEADER = 'Symfony-Session-NoAutoCacheControl'; - - protected $container; - private $sessionUsageStack = []; - - public function __construct(ContainerInterface $container = null) - { - $this->container = $container; - } - - public function onKernelRequest(GetResponseEvent $event) - { - if (!$event->isMasterRequest()) { - return; - } - - $session = null; - $request = $event->getRequest(); - if ($request->hasSession()) { - // no-op - } elseif (method_exists($request, 'setSessionFactory')) { - $request->setSessionFactory(function () { return $this->getSession(); }); - } elseif ($session = $this->getSession()) { - $request->setSession($session); - } - - $session = $session ?? ($this->container && $this->container->has('initialized_session') ? $this->container->get('initialized_session') : null); - $this->sessionUsageStack[] = $session instanceof Session ? $session->getUsageIndex() : 0; - } - - public function onKernelResponse(FilterResponseEvent $event) - { - if (!$event->isMasterRequest()) { - return; - } - - $response = $event->getResponse(); - $autoCacheControl = !$response->headers->has(self::NO_AUTO_CACHE_CONTROL_HEADER); - // Always remove the internal header if present - $response->headers->remove(self::NO_AUTO_CACHE_CONTROL_HEADER); - - if (!$session = $this->container && $this->container->has('initialized_session') ? $this->container->get('initialized_session') : $event->getRequest()->getSession()) { - return; - } - - if ($session instanceof Session ? $session->getUsageIndex() !== end($this->sessionUsageStack) : $session->isStarted()) { - if ($autoCacheControl) { - $response - ->setExpires(new \DateTime()) - ->setPrivate() - ->setMaxAge(0) - ->headers->addCacheControlDirective('must-revalidate'); - } - } - - if ($session->isStarted()) { - /* - * Saves the session, in case it is still open, before sending the response/headers. - * - * This ensures several things in case the developer did not save the session explicitly: - * - * * If a session save handler without locking is used, it ensures the data is available - * on the next request, e.g. after a redirect. PHPs auto-save at script end via - * session_register_shutdown is executed after fastcgi_finish_request. So in this case - * the data could be missing the next request because it might not be saved the moment - * the new request is processed. - * * A locking save handler (e.g. the native 'files') circumvents concurrency problems like - * the one above. But by saving the session before long-running things in the terminate event, - * we ensure the session is not blocked longer than needed. - * * When regenerating the session ID no locking is involved in PHPs session design. See - * https://bugs.php.net/61470 for a discussion. So in this case, the session must - * be saved anyway before sending the headers with the new session ID. Otherwise session - * data could get lost again for concurrent requests with the new ID. One result could be - * that you get logged out after just logging in. - * - * This listener should be executed as one of the last listeners, so that previous listeners - * can still operate on the open session. This prevents the overhead of restarting it. - * Listeners after closing the session can still work with the session as usual because - * Symfonys session implementation starts the session on demand. So writing to it after - * it is saved will just restart it. - */ - $session->save(); - } - } - - /** - * @internal - */ - public function onFinishRequest(FinishRequestEvent $event) - { - if ($event->isMasterRequest()) { - array_pop($this->sessionUsageStack); - } - } - - public static function getSubscribedEvents() - { - return [ - KernelEvents::REQUEST => ['onKernelRequest', 128], - // low priority to come after regular response listeners, but higher than StreamedResponseListener - KernelEvents::RESPONSE => ['onKernelResponse', -1000], - KernelEvents::FINISH_REQUEST => ['onFinishRequest'], - ]; - } - - /** - * Gets the session object. - * - * @return SessionInterface|null A SessionInterface instance or null if no session is available - */ - abstract protected function getSession(); -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/EventListener/AbstractTestSessionListener.php b/paragonik-backend/vendor/symfony/http-kernel/EventListener/AbstractTestSessionListener.php deleted file mode 100644 index 86f179a..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/EventListener/AbstractTestSessionListener.php +++ /dev/null @@ -1,114 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\EventListener; - -use Symfony\Component\EventDispatcher\EventSubscriberInterface; -use Symfony\Component\HttpFoundation\Cookie; -use Symfony\Component\HttpFoundation\Session\Session; -use Symfony\Component\HttpFoundation\Session\SessionInterface; -use Symfony\Component\HttpKernel\Event\FilterResponseEvent; -use Symfony\Component\HttpKernel\Event\GetResponseEvent; -use Symfony\Component\HttpKernel\KernelEvents; - -/** - * TestSessionListener. - * - * Saves session in test environment. - * - * @author Bulat Shakirzyanov - * @author Fabien Potencier - * - * @internal since Symfony 4.3 - */ -abstract class AbstractTestSessionListener implements EventSubscriberInterface -{ - private $sessionId; - private $sessionOptions; - - public function __construct(array $sessionOptions = []) - { - $this->sessionOptions = $sessionOptions; - } - - public function onKernelRequest(GetResponseEvent $event) - { - if (!$event->isMasterRequest()) { - return; - } - - // bootstrap the session - if (!$session = $this->getSession()) { - return; - } - - $cookies = $event->getRequest()->cookies; - - if ($cookies->has($session->getName())) { - $this->sessionId = $cookies->get($session->getName()); - $session->setId($this->sessionId); - } - } - - /** - * Checks if session was initialized and saves if current request is master - * Runs on 'kernel.response' in test environment. - */ - public function onKernelResponse(FilterResponseEvent $event) - { - if (!$event->isMasterRequest()) { - return; - } - - $request = $event->getRequest(); - if (!$request->hasSession()) { - return; - } - - $session = $request->getSession(); - if ($wasStarted = $session->isStarted()) { - $session->save(); - } - - if ($session instanceof Session ? !$session->isEmpty() || (null !== $this->sessionId && $session->getId() !== $this->sessionId) : $wasStarted) { - $params = session_get_cookie_params() + ['samesite' => null]; - foreach ($this->sessionOptions as $k => $v) { - if (0 === strpos($k, 'cookie_')) { - $params[substr($k, 7)] = $v; - } - } - - foreach ($event->getResponse()->headers->getCookies() as $cookie) { - if ($session->getName() === $cookie->getName() && $params['path'] === $cookie->getPath() && $params['domain'] == $cookie->getDomain()) { - return; - } - } - - $event->getResponse()->headers->setCookie(new Cookie($session->getName(), $session->getId(), 0 === $params['lifetime'] ? 0 : time() + $params['lifetime'], $params['path'], $params['domain'], $params['secure'], $params['httponly'], false, $params['samesite'] ?: null)); - $this->sessionId = $session->getId(); - } - } - - public static function getSubscribedEvents() - { - return [ - KernelEvents::REQUEST => ['onKernelRequest', 192], - KernelEvents::RESPONSE => ['onKernelResponse', -128], - ]; - } - - /** - * Gets the session object. - * - * @return SessionInterface|null A SessionInterface instance or null if no session is available - */ - abstract protected function getSession(); -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/EventListener/AddRequestFormatsListener.php b/paragonik-backend/vendor/symfony/http-kernel/EventListener/AddRequestFormatsListener.php deleted file mode 100644 index 47c7069..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/EventListener/AddRequestFormatsListener.php +++ /dev/null @@ -1,52 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\EventListener; - -use Symfony\Component\EventDispatcher\EventSubscriberInterface; -use Symfony\Component\HttpKernel\Event\GetResponseEvent; -use Symfony\Component\HttpKernel\KernelEvents; - -/** - * Adds configured formats to each request. - * - * @author Gildas Quemener - * - * @final since Symfony 4.3 - */ -class AddRequestFormatsListener implements EventSubscriberInterface -{ - protected $formats; - - public function __construct(array $formats) - { - $this->formats = $formats; - } - - /** - * Adds request formats. - */ - public function onKernelRequest(GetResponseEvent $event) - { - $request = $event->getRequest(); - foreach ($this->formats as $format => $mimeTypes) { - $request->setFormat($format, $mimeTypes); - } - } - - /** - * {@inheritdoc} - */ - public static function getSubscribedEvents() - { - return [KernelEvents::REQUEST => ['onKernelRequest', 100]]; - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/EventListener/DebugHandlersListener.php b/paragonik-backend/vendor/symfony/http-kernel/EventListener/DebugHandlersListener.php deleted file mode 100644 index 8ed6a10..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/EventListener/DebugHandlersListener.php +++ /dev/null @@ -1,155 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\EventListener; - -use Psr\Log\LoggerInterface; -use Symfony\Component\Console\ConsoleEvents; -use Symfony\Component\Console\Event\ConsoleEvent; -use Symfony\Component\Console\Output\ConsoleOutputInterface; -use Symfony\Component\Debug\Exception\FatalThrowableError; -use Symfony\Component\ErrorHandler\ErrorHandler; -use Symfony\Component\EventDispatcher\Event; -use Symfony\Component\EventDispatcher\EventSubscriberInterface; -use Symfony\Component\HttpKernel\Debug\FileLinkFormatter; -use Symfony\Component\HttpKernel\Event\KernelEvent; -use Symfony\Component\HttpKernel\KernelEvents; - -/** - * Configures errors and exceptions handlers. - * - * @author Nicolas Grekas - * - * @final since Symfony 4.4 - */ -class DebugHandlersListener implements EventSubscriberInterface -{ - private $exceptionHandler; - private $logger; - private $levels; - private $throwAt; - private $scream; - private $fileLinkFormat; - private $scope; - private $firstCall = true; - private $hasTerminatedWithException; - - /** - * @param callable|null $exceptionHandler A handler that must support \Throwable instances that will be called on Exception - * @param array|int $levels An array map of E_* to LogLevel::* or an integer bit field of E_* constants - * @param int|null $throwAt Thrown errors in a bit field of E_* constants, or null to keep the current value - * @param bool $scream Enables/disables screaming mode, where even silenced errors are logged - * @param string|FileLinkFormatter|null $fileLinkFormat The format for links to source files - * @param bool $scope Enables/disables scoping mode - */ - public function __construct(callable $exceptionHandler = null, LoggerInterface $logger = null, $levels = E_ALL, ?int $throwAt = E_ALL, bool $scream = true, $fileLinkFormat = null, bool $scope = true) - { - $this->exceptionHandler = $exceptionHandler; - $this->logger = $logger; - $this->levels = null === $levels ? E_ALL : $levels; - $this->throwAt = \is_int($throwAt) ? $throwAt : (null === $throwAt ? null : ($throwAt ? E_ALL : null)); - $this->scream = $scream; - $this->fileLinkFormat = $fileLinkFormat; - $this->scope = $scope; - } - - /** - * Configures the error handler. - */ - public function configure(Event $event = null) - { - if (!$event instanceof KernelEvent ? !$this->firstCall : !$event->isMasterRequest()) { - return; - } - $this->firstCall = $this->hasTerminatedWithException = false; - - $handler = set_exception_handler('var_dump'); - $handler = \is_array($handler) ? $handler[0] : null; - restore_exception_handler(); - - if ($this->logger || null !== $this->throwAt) { - if ($handler instanceof ErrorHandler) { - if ($this->logger) { - $handler->setDefaultLogger($this->logger, $this->levels); - if (\is_array($this->levels)) { - $levels = 0; - foreach ($this->levels as $type => $log) { - $levels |= $type; - } - } else { - $levels = $this->levels; - } - if ($this->scream) { - $handler->screamAt($levels); - } - if ($this->scope) { - $handler->scopeAt($levels & ~E_USER_DEPRECATED & ~E_DEPRECATED); - } else { - $handler->scopeAt(0, true); - } - $this->logger = $this->levels = null; - } - if (null !== $this->throwAt) { - $handler->throwAt($this->throwAt, true); - } - } - } - if (!$this->exceptionHandler) { - if ($event instanceof KernelEvent) { - if (method_exists($kernel = $event->getKernel(), 'terminateWithException')) { - $request = $event->getRequest(); - $hasRun = &$this->hasTerminatedWithException; - $this->exceptionHandler = static function (\Throwable $e) use ($kernel, $request, &$hasRun) { - if ($hasRun) { - throw $e; - } - - $hasRun = true; - $kernel->terminateWithException($e, $request); - }; - } - } elseif ($event instanceof ConsoleEvent && $app = $event->getCommand()->getApplication()) { - $output = $event->getOutput(); - if ($output instanceof ConsoleOutputInterface) { - $output = $output->getErrorOutput(); - } - $this->exceptionHandler = static function (\Throwable $e) use ($app, $output) { - if (method_exists($app, 'renderThrowable')) { - $app->renderThrowable($e, $output); - } else { - if (!$e instanceof \Exception) { - $e = new FatalThrowableError($e); - } - - $app->renderException($e, $output); - } - }; - } - } - if ($this->exceptionHandler) { - if ($handler instanceof ErrorHandler) { - $handler->setExceptionHandler($this->exceptionHandler); - } - $this->exceptionHandler = null; - } - } - - public static function getSubscribedEvents() - { - $events = [KernelEvents::REQUEST => ['configure', 2048]]; - - if ('cli' === \PHP_SAPI && \defined('Symfony\Component\Console\ConsoleEvents::COMMAND')) { - $events[ConsoleEvents::COMMAND] = ['configure', 2048]; - } - - return $events; - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/EventListener/DisallowRobotsIndexingListener.php b/paragonik-backend/vendor/symfony/http-kernel/EventListener/DisallowRobotsIndexingListener.php deleted file mode 100644 index 6607e49..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/EventListener/DisallowRobotsIndexingListener.php +++ /dev/null @@ -1,43 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\EventListener; - -use Symfony\Component\EventDispatcher\EventSubscriberInterface; -use Symfony\Component\HttpKernel\Event\ResponseEvent; -use Symfony\Component\HttpKernel\KernelEvents; - -/** - * Ensures that the application is not indexed by search engines. - * - * @author Gary PEGEOT - */ -class DisallowRobotsIndexingListener implements EventSubscriberInterface -{ - private const HEADER_NAME = 'X-Robots-Tag'; - - public function onResponse(ResponseEvent $event): void - { - if (!$event->getResponse()->headers->has(static::HEADER_NAME)) { - $event->getResponse()->headers->set(static::HEADER_NAME, 'noindex'); - } - } - - /** - * {@inheritdoc} - */ - public static function getSubscribedEvents() - { - return [ - KernelEvents::RESPONSE => ['onResponse', -255], - ]; - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/EventListener/DumpListener.php b/paragonik-backend/vendor/symfony/http-kernel/EventListener/DumpListener.php deleted file mode 100644 index 30908a4..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/EventListener/DumpListener.php +++ /dev/null @@ -1,63 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\EventListener; - -use Symfony\Component\Console\ConsoleEvents; -use Symfony\Component\EventDispatcher\EventSubscriberInterface; -use Symfony\Component\VarDumper\Cloner\ClonerInterface; -use Symfony\Component\VarDumper\Dumper\DataDumperInterface; -use Symfony\Component\VarDumper\Server\Connection; -use Symfony\Component\VarDumper\VarDumper; - -/** - * Configures dump() handler. - * - * @author Nicolas Grekas - */ -class DumpListener implements EventSubscriberInterface -{ - private $cloner; - private $dumper; - private $connection; - - public function __construct(ClonerInterface $cloner, DataDumperInterface $dumper, Connection $connection = null) - { - $this->cloner = $cloner; - $this->dumper = $dumper; - $this->connection = $connection; - } - - public function configure() - { - $cloner = $this->cloner; - $dumper = $this->dumper; - $connection = $this->connection; - - VarDumper::setHandler(static function ($var) use ($cloner, $dumper, $connection) { - $data = $cloner->cloneVar($var); - - if (!$connection || !$connection->write($data)) { - $dumper->dump($data); - } - }); - } - - public static function getSubscribedEvents() - { - if (!class_exists(ConsoleEvents::class)) { - return []; - } - - // Register early to have a working dump() as early as possible - return [ConsoleEvents::COMMAND => ['configure', 1024]]; - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/EventListener/ErrorListener.php b/paragonik-backend/vendor/symfony/http-kernel/EventListener/ErrorListener.php deleted file mode 100644 index 26c361f..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/EventListener/ErrorListener.php +++ /dev/null @@ -1,149 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\EventListener; - -use Psr\Log\LoggerInterface; -use Symfony\Component\Debug\Exception\FlattenException as LegacyFlattenException; -use Symfony\Component\ErrorHandler\Exception\FlattenException; -use Symfony\Component\EventDispatcher\EventDispatcherInterface; -use Symfony\Component\EventDispatcher\EventSubscriberInterface; -use Symfony\Component\HttpFoundation\Request; -use Symfony\Component\HttpKernel\Event\ControllerArgumentsEvent; -use Symfony\Component\HttpKernel\Event\ExceptionEvent; -use Symfony\Component\HttpKernel\Exception\HttpExceptionInterface; -use Symfony\Component\HttpKernel\HttpKernelInterface; -use Symfony\Component\HttpKernel\KernelEvents; -use Symfony\Component\HttpKernel\Log\DebugLoggerInterface; - -/** - * @author Fabien Potencier - */ -class ErrorListener implements EventSubscriberInterface -{ - protected $controller; - protected $logger; - protected $debug; - - public function __construct($controller, LoggerInterface $logger = null, $debug = false) - { - $this->controller = $controller; - $this->logger = $logger; - $this->debug = $debug; - } - - public function logKernelException(ExceptionEvent $event) - { - $e = FlattenException::createFromThrowable($event->getThrowable()); - - $this->logException($event->getThrowable(), sprintf('Uncaught PHP Exception %s: "%s" at %s line %s', $e->getClass(), $e->getMessage(), $e->getFile(), $e->getLine())); - } - - public function onKernelException(ExceptionEvent $event, string $eventName = null, EventDispatcherInterface $eventDispatcher = null) - { - if (null === $this->controller) { - return; - } - - $exception = $event->getThrowable(); - $request = $this->duplicateRequest($exception, $event->getRequest()); - - try { - $response = $event->getKernel()->handle($request, HttpKernelInterface::SUB_REQUEST, false); - } catch (\Exception $e) { - $f = FlattenException::createFromThrowable($e); - - $this->logException($e, sprintf('Exception thrown when handling an exception (%s: %s at %s line %s)', $f->getClass(), $f->getMessage(), $e->getFile(), $e->getLine())); - - $prev = $e; - do { - if ($exception === $wrapper = $prev) { - throw $e; - } - } while ($prev = $wrapper->getPrevious()); - - $prev = new \ReflectionProperty($wrapper instanceof \Exception ? \Exception::class : \Error::class, 'previous'); - $prev->setAccessible(true); - $prev->setValue($wrapper, $exception); - - throw $e; - } - - $event->setResponse($response); - - if ($this->debug && $eventDispatcher instanceof EventDispatcherInterface) { - $cspRemovalListener = function ($event) use (&$cspRemovalListener, $eventDispatcher) { - $event->getResponse()->headers->remove('Content-Security-Policy'); - $eventDispatcher->removeListener(KernelEvents::RESPONSE, $cspRemovalListener); - }; - $eventDispatcher->addListener(KernelEvents::RESPONSE, $cspRemovalListener, -128); - } - } - - public function onControllerArguments(ControllerArgumentsEvent $event) - { - $e = $event->getRequest()->attributes->get('exception'); - - if (!$e instanceof \Throwable || false === $k = array_search($e, $event->getArguments(), true)) { - return; - } - - $r = new \ReflectionFunction(\Closure::fromCallable($event->getController())); - $r = $r->getParameters()[$k] ?? null; - - if ($r && (!$r->hasType() || \in_array($r->getType()->getName(), [FlattenException::class, LegacyFlattenException::class], true))) { - $arguments = $event->getArguments(); - $arguments[$k] = FlattenException::createFromThrowable($e); - $event->setArguments($arguments); - } - } - - public static function getSubscribedEvents(): array - { - return [ - KernelEvents::CONTROLLER_ARGUMENTS => 'onControllerArguments', - KernelEvents::EXCEPTION => [ - ['logKernelException', 0], - ['onKernelException', -128], - ], - ]; - } - - /** - * Logs an exception. - */ - protected function logException(\Throwable $exception, string $message): void - { - if (null !== $this->logger) { - if (!$exception instanceof HttpExceptionInterface || $exception->getStatusCode() >= 500) { - $this->logger->critical($message, ['exception' => $exception]); - } else { - $this->logger->error($message, ['exception' => $exception]); - } - } - } - - /** - * Clones the request for the exception. - */ - protected function duplicateRequest(\Throwable $exception, Request $request): Request - { - $attributes = [ - '_controller' => $this->controller, - 'exception' => $exception, - 'logger' => $this->logger instanceof DebugLoggerInterface ? $this->logger : null, - ]; - $request = $request->duplicate(null, null, $attributes); - $request->setMethod('GET'); - - return $request; - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/EventListener/ExceptionListener.php b/paragonik-backend/vendor/symfony/http-kernel/EventListener/ExceptionListener.php deleted file mode 100644 index aa43494..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/EventListener/ExceptionListener.php +++ /dev/null @@ -1,136 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\EventListener; - -use Psr\Log\LoggerInterface; -use Symfony\Component\ErrorHandler\Exception\FlattenException; -use Symfony\Component\EventDispatcher\EventDispatcherInterface; -use Symfony\Component\EventDispatcher\EventSubscriberInterface; -use Symfony\Component\HttpFoundation\Request; -use Symfony\Component\HttpKernel\Event\GetResponseForExceptionEvent; -use Symfony\Component\HttpKernel\Exception\HttpExceptionInterface; -use Symfony\Component\HttpKernel\HttpKernelInterface; -use Symfony\Component\HttpKernel\KernelEvents; -use Symfony\Component\HttpKernel\Log\DebugLoggerInterface; - -@trigger_error(sprintf('The "%s" class is deprecated since Symfony 4.4, use "ErrorListener" instead.', ExceptionListener::class), E_USER_DEPRECATED); - -/** - * @deprecated since Symfony 4.4, use ErrorListener instead - */ -class ExceptionListener implements EventSubscriberInterface -{ - protected $controller; - protected $logger; - protected $debug; - - public function __construct($controller, LoggerInterface $logger = null, $debug = false) - { - $this->controller = $controller; - $this->logger = $logger; - $this->debug = $debug; - } - - public function logKernelException(GetResponseForExceptionEvent $event) - { - $e = FlattenException::createFromThrowable($event->getException()); - - $this->logException($event->getException(), sprintf('Uncaught PHP Exception %s: "%s" at %s line %s', $e->getClass(), $e->getMessage(), $e->getFile(), $e->getLine())); - } - - public function onKernelException(GetResponseForExceptionEvent $event) - { - if (null === $this->controller) { - return; - } - - $exception = $event->getException(); - $request = $this->duplicateRequest($exception, $event->getRequest()); - $eventDispatcher = \func_num_args() > 2 ? func_get_arg(2) : null; - - try { - $response = $event->getKernel()->handle($request, HttpKernelInterface::SUB_REQUEST, false); - } catch (\Exception $e) { - $f = FlattenException::createFromThrowable($e); - - $this->logException($e, sprintf('Exception thrown when handling an exception (%s: %s at %s line %s)', $f->getClass(), $f->getMessage(), $e->getFile(), $e->getLine())); - - $prev = $e; - do { - if ($exception === $wrapper = $prev) { - throw $e; - } - } while ($prev = $wrapper->getPrevious()); - - $prev = new \ReflectionProperty($wrapper instanceof \Exception ? \Exception::class : \Error::class, 'previous'); - $prev->setAccessible(true); - $prev->setValue($wrapper, $exception); - - throw $e; - } - - $event->setResponse($response); - - if ($this->debug && $eventDispatcher instanceof EventDispatcherInterface) { - $cspRemovalListener = function ($event) use (&$cspRemovalListener, $eventDispatcher) { - $event->getResponse()->headers->remove('Content-Security-Policy'); - $eventDispatcher->removeListener(KernelEvents::RESPONSE, $cspRemovalListener); - }; - $eventDispatcher->addListener(KernelEvents::RESPONSE, $cspRemovalListener, -128); - } - } - - public static function getSubscribedEvents() - { - return [ - KernelEvents::EXCEPTION => [ - ['logKernelException', 0], - ['onKernelException', -128], - ], - ]; - } - - /** - * Logs an exception. - * - * @param \Exception $exception The \Exception instance - * @param string $message The error message to log - */ - protected function logException(\Exception $exception, $message) - { - if (null !== $this->logger) { - if (!$exception instanceof HttpExceptionInterface || $exception->getStatusCode() >= 500) { - $this->logger->critical($message, ['exception' => $exception]); - } else { - $this->logger->error($message, ['exception' => $exception]); - } - } - } - - /** - * Clones the request for the exception. - * - * @return Request The cloned request - */ - protected function duplicateRequest(\Exception $exception, Request $request) - { - $attributes = [ - '_controller' => $this->controller, - 'exception' => FlattenException::createFromThrowable($exception), - 'logger' => $this->logger instanceof DebugLoggerInterface ? $this->logger : null, - ]; - $request = $request->duplicate(null, null, $attributes); - $request->setMethod('GET'); - - return $request; - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/EventListener/FragmentListener.php b/paragonik-backend/vendor/symfony/http-kernel/EventListener/FragmentListener.php deleted file mode 100644 index 5ae61da..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/EventListener/FragmentListener.php +++ /dev/null @@ -1,100 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\EventListener; - -use Symfony\Component\EventDispatcher\EventSubscriberInterface; -use Symfony\Component\HttpFoundation\Request; -use Symfony\Component\HttpKernel\Event\GetResponseEvent; -use Symfony\Component\HttpKernel\Exception\AccessDeniedHttpException; -use Symfony\Component\HttpKernel\KernelEvents; -use Symfony\Component\HttpKernel\UriSigner; - -/** - * Handles content fragments represented by special URIs. - * - * All URL paths starting with /_fragment are handled as - * content fragments by this listener. - * - * Throws an AccessDeniedHttpException exception if the request - * is not signed or if it is not an internal sub-request. - * - * @author Fabien Potencier - * - * @final since Symfony 4.3 - */ -class FragmentListener implements EventSubscriberInterface -{ - private $signer; - private $fragmentPath; - - /** - * @param string $fragmentPath The path that triggers this listener - */ - public function __construct(UriSigner $signer, string $fragmentPath = '/_fragment') - { - $this->signer = $signer; - $this->fragmentPath = $fragmentPath; - } - - /** - * Fixes request attributes when the path is '/_fragment'. - * - * @throws AccessDeniedHttpException if the request does not come from a trusted IP - */ - public function onKernelRequest(GetResponseEvent $event) - { - $request = $event->getRequest(); - - if ($this->fragmentPath !== rawurldecode($request->getPathInfo())) { - return; - } - - if ($request->attributes->has('_controller')) { - // Is a sub-request: no need to parse _path but it should still be removed from query parameters as below. - $request->query->remove('_path'); - - return; - } - - if ($event->isMasterRequest()) { - $this->validateRequest($request); - } - - parse_str($request->query->get('_path', ''), $attributes); - $request->attributes->add($attributes); - $request->attributes->set('_route_params', array_replace($request->attributes->get('_route_params', []), $attributes)); - $request->query->remove('_path'); - } - - protected function validateRequest(Request $request) - { - // is the Request safe? - if (!$request->isMethodSafe()) { - throw new AccessDeniedHttpException(); - } - - // is the Request signed? - // we cannot use $request->getUri() here as we want to work with the original URI (no query string reordering) - if ($this->signer->check($request->getSchemeAndHttpHost().$request->getBaseUrl().$request->getPathInfo().(null !== ($qs = $request->server->get('QUERY_STRING')) ? '?'.$qs : ''))) { - return; - } - - throw new AccessDeniedHttpException(); - } - - public static function getSubscribedEvents() - { - return [ - KernelEvents::REQUEST => [['onKernelRequest', 48]], - ]; - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/EventListener/LocaleAwareListener.php b/paragonik-backend/vendor/symfony/http-kernel/EventListener/LocaleAwareListener.php deleted file mode 100644 index 62d0302..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/EventListener/LocaleAwareListener.php +++ /dev/null @@ -1,77 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\EventListener; - -use Symfony\Component\EventDispatcher\EventSubscriberInterface; -use Symfony\Component\HttpFoundation\RequestStack; -use Symfony\Component\HttpKernel\Event\FinishRequestEvent; -use Symfony\Component\HttpKernel\Event\RequestEvent; -use Symfony\Component\HttpKernel\KernelEvents; -use Symfony\Contracts\Translation\LocaleAwareInterface; - -/** - * Pass the current locale to the provided services. - * - * @author Pierre Bobiet - */ -class LocaleAwareListener implements EventSubscriberInterface -{ - private $localeAwareServices; - private $requestStack; - - /** - * @param LocaleAwareInterface[] $localeAwareServices - */ - public function __construct(iterable $localeAwareServices, RequestStack $requestStack) - { - $this->localeAwareServices = $localeAwareServices; - $this->requestStack = $requestStack; - } - - public function onKernelRequest(RequestEvent $event): void - { - $this->setLocale($event->getRequest()->getLocale(), $event->getRequest()->getDefaultLocale()); - } - - public function onKernelFinishRequest(FinishRequestEvent $event): void - { - if (null === $parentRequest = $this->requestStack->getParentRequest()) { - foreach ($this->localeAwareServices as $service) { - $service->setLocale($event->getRequest()->getDefaultLocale()); - } - - return; - } - - $this->setLocale($parentRequest->getLocale(), $parentRequest->getDefaultLocale()); - } - - public static function getSubscribedEvents() - { - return [ - // must be registered after the Locale listener - KernelEvents::REQUEST => [['onKernelRequest', 15]], - KernelEvents::FINISH_REQUEST => [['onKernelFinishRequest', -15]], - ]; - } - - private function setLocale(string $locale, string $defaultLocale): void - { - foreach ($this->localeAwareServices as $service) { - try { - $service->setLocale($locale); - } catch (\InvalidArgumentException $e) { - $service->setLocale($defaultLocale); - } - } - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/EventListener/LocaleListener.php b/paragonik-backend/vendor/symfony/http-kernel/EventListener/LocaleListener.php deleted file mode 100644 index b09a6c7..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/EventListener/LocaleListener.php +++ /dev/null @@ -1,88 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\EventListener; - -use Symfony\Component\EventDispatcher\EventSubscriberInterface; -use Symfony\Component\HttpFoundation\Request; -use Symfony\Component\HttpFoundation\RequestStack; -use Symfony\Component\HttpKernel\Event\FinishRequestEvent; -use Symfony\Component\HttpKernel\Event\GetResponseEvent; -use Symfony\Component\HttpKernel\Event\KernelEvent; -use Symfony\Component\HttpKernel\KernelEvents; -use Symfony\Component\Routing\RequestContextAwareInterface; - -/** - * Initializes the locale based on the current request. - * - * @author Fabien Potencier - * - * @final since Symfony 4.3 - */ -class LocaleListener implements EventSubscriberInterface -{ - private $router; - private $defaultLocale; - private $requestStack; - - public function __construct(RequestStack $requestStack, string $defaultLocale = 'en', RequestContextAwareInterface $router = null) - { - $this->defaultLocale = $defaultLocale; - $this->requestStack = $requestStack; - $this->router = $router; - } - - public function setDefaultLocale(KernelEvent $event) - { - $event->getRequest()->setDefaultLocale($this->defaultLocale); - } - - public function onKernelRequest(GetResponseEvent $event) - { - $request = $event->getRequest(); - - $this->setLocale($request); - $this->setRouterContext($request); - } - - public function onKernelFinishRequest(FinishRequestEvent $event) - { - if (null !== $parentRequest = $this->requestStack->getParentRequest()) { - $this->setRouterContext($parentRequest); - } - } - - private function setLocale(Request $request) - { - if ($locale = $request->attributes->get('_locale')) { - $request->setLocale($locale); - } - } - - private function setRouterContext(Request $request) - { - if (null !== $this->router) { - $this->router->getContext()->setParameter('_locale', $request->getLocale()); - } - } - - public static function getSubscribedEvents() - { - return [ - KernelEvents::REQUEST => [ - ['setDefaultLocale', 100], - // must be registered after the Router to have access to the _locale - ['onKernelRequest', 16], - ], - KernelEvents::FINISH_REQUEST => [['onKernelFinishRequest', 0]], - ]; - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/EventListener/ProfilerListener.php b/paragonik-backend/vendor/symfony/http-kernel/EventListener/ProfilerListener.php deleted file mode 100644 index b8464f1..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/EventListener/ProfilerListener.php +++ /dev/null @@ -1,127 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\EventListener; - -use Symfony\Component\EventDispatcher\EventSubscriberInterface; -use Symfony\Component\HttpFoundation\RequestMatcherInterface; -use Symfony\Component\HttpFoundation\RequestStack; -use Symfony\Component\HttpKernel\Event\FilterResponseEvent; -use Symfony\Component\HttpKernel\Event\GetResponseForExceptionEvent; -use Symfony\Component\HttpKernel\Event\PostResponseEvent; -use Symfony\Component\HttpKernel\KernelEvents; -use Symfony\Component\HttpKernel\Profiler\Profiler; - -/** - * ProfilerListener collects data for the current request by listening to the kernel events. - * - * @author Fabien Potencier - * - * @final since Symfony 4.3 - */ -class ProfilerListener implements EventSubscriberInterface -{ - protected $profiler; - protected $matcher; - protected $onlyException; - protected $onlyMasterRequests; - protected $exception; - protected $profiles; - protected $requestStack; - protected $parents; - - /** - * @param bool $onlyException True if the profiler only collects data when an exception occurs, false otherwise - * @param bool $onlyMasterRequests True if the profiler only collects data when the request is a master request, false otherwise - */ - public function __construct(Profiler $profiler, RequestStack $requestStack, RequestMatcherInterface $matcher = null, bool $onlyException = false, bool $onlyMasterRequests = false) - { - $this->profiler = $profiler; - $this->matcher = $matcher; - $this->onlyException = $onlyException; - $this->onlyMasterRequests = $onlyMasterRequests; - $this->profiles = new \SplObjectStorage(); - $this->parents = new \SplObjectStorage(); - $this->requestStack = $requestStack; - } - - /** - * Handles the onKernelException event. - */ - public function onKernelException(GetResponseForExceptionEvent $event) - { - if ($this->onlyMasterRequests && !$event->isMasterRequest()) { - return; - } - - $this->exception = $event->getThrowable(); - } - - /** - * Handles the onKernelResponse event. - */ - public function onKernelResponse(FilterResponseEvent $event) - { - $master = $event->isMasterRequest(); - if ($this->onlyMasterRequests && !$master) { - return; - } - - if ($this->onlyException && null === $this->exception) { - return; - } - - $request = $event->getRequest(); - $exception = $this->exception; - $this->exception = null; - - if (null !== $this->matcher && !$this->matcher->matches($request)) { - return; - } - - if (!$profile = $this->profiler->collect($request, $event->getResponse(), $exception)) { - return; - } - - $this->profiles[$request] = $profile; - - $this->parents[$request] = $this->requestStack->getParentRequest(); - } - - public function onKernelTerminate(PostResponseEvent $event) - { - // attach children to parents - foreach ($this->profiles as $request) { - if (null !== $parentRequest = $this->parents[$request]) { - if (isset($this->profiles[$parentRequest])) { - $this->profiles[$parentRequest]->addChild($this->profiles[$request]); - } - } - } - - // save profiles - foreach ($this->profiles as $request) { - $this->profiler->saveProfile($this->profiles[$request]); - } - - $this->profiles = new \SplObjectStorage(); - $this->parents = new \SplObjectStorage(); - } - - public static function getSubscribedEvents() - { - return [ - KernelEvents::RESPONSE => ['onKernelResponse', -100], - KernelEvents::EXCEPTION => ['onKernelException', 0], - KernelEvents::TERMINATE => ['onKernelTerminate', -1024], - ]; - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/EventListener/ResponseListener.php b/paragonik-backend/vendor/symfony/http-kernel/EventListener/ResponseListener.php deleted file mode 100644 index 01973e2..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/EventListener/ResponseListener.php +++ /dev/null @@ -1,58 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\EventListener; - -use Symfony\Component\EventDispatcher\EventSubscriberInterface; -use Symfony\Component\HttpKernel\Event\FilterResponseEvent; -use Symfony\Component\HttpKernel\KernelEvents; - -/** - * ResponseListener fixes the Response headers based on the Request. - * - * @author Fabien Potencier - * - * @final since Symfony 4.3 - */ -class ResponseListener implements EventSubscriberInterface -{ - private $charset; - - public function __construct(string $charset) - { - $this->charset = $charset; - } - - /** - * Filters the Response. - */ - public function onKernelResponse(FilterResponseEvent $event) - { - if (!$event->isMasterRequest()) { - return; - } - - $response = $event->getResponse(); - - if (null === $response->getCharset()) { - $response->setCharset($this->charset); - } - - $response->prepare($event->getRequest()); - } - - public static function getSubscribedEvents() - { - return [ - KernelEvents::RESPONSE => 'onKernelResponse', - ]; - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/EventListener/RouterListener.php b/paragonik-backend/vendor/symfony/http-kernel/EventListener/RouterListener.php deleted file mode 100644 index ee88deb..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/EventListener/RouterListener.php +++ /dev/null @@ -1,175 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\EventListener; - -use Psr\Log\LoggerInterface; -use Symfony\Component\EventDispatcher\EventSubscriberInterface; -use Symfony\Component\HttpFoundation\Request; -use Symfony\Component\HttpFoundation\RequestStack; -use Symfony\Component\HttpFoundation\Response; -use Symfony\Component\HttpKernel\Event\FinishRequestEvent; -use Symfony\Component\HttpKernel\Event\GetResponseEvent; -use Symfony\Component\HttpKernel\Event\GetResponseForExceptionEvent; -use Symfony\Component\HttpKernel\Exception\BadRequestHttpException; -use Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException; -use Symfony\Component\HttpKernel\Exception\NotFoundHttpException; -use Symfony\Component\HttpKernel\Kernel; -use Symfony\Component\HttpKernel\KernelEvents; -use Symfony\Component\Routing\Exception\MethodNotAllowedException; -use Symfony\Component\Routing\Exception\NoConfigurationException; -use Symfony\Component\Routing\Exception\ResourceNotFoundException; -use Symfony\Component\Routing\Matcher\RequestMatcherInterface; -use Symfony\Component\Routing\Matcher\UrlMatcherInterface; -use Symfony\Component\Routing\RequestContext; -use Symfony\Component\Routing\RequestContextAwareInterface; - -/** - * Initializes the context from the request and sets request attributes based on a matching route. - * - * @author Fabien Potencier - * @author Yonel Ceruto - * - * @final since Symfony 4.3 - */ -class RouterListener implements EventSubscriberInterface -{ - private $matcher; - private $context; - private $logger; - private $requestStack; - private $projectDir; - private $debug; - - /** - * @param UrlMatcherInterface|RequestMatcherInterface $matcher The Url or Request matcher - * @param RequestContext|null $context The RequestContext (can be null when $matcher implements RequestContextAwareInterface) - * @param string $projectDir - * - * @throws \InvalidArgumentException - */ - public function __construct($matcher, RequestStack $requestStack, RequestContext $context = null, LoggerInterface $logger = null, string $projectDir = null, bool $debug = true) - { - if (!$matcher instanceof UrlMatcherInterface && !$matcher instanceof RequestMatcherInterface) { - throw new \InvalidArgumentException('Matcher must either implement UrlMatcherInterface or RequestMatcherInterface.'); - } - - if (null === $context && !$matcher instanceof RequestContextAwareInterface) { - throw new \InvalidArgumentException('You must either pass a RequestContext or the matcher must implement RequestContextAwareInterface.'); - } - - $this->matcher = $matcher; - $this->context = $context ?: $matcher->getContext(); - $this->requestStack = $requestStack; - $this->logger = $logger; - $this->projectDir = $projectDir; - $this->debug = $debug; - } - - private function setCurrentRequest(Request $request = null) - { - if (null !== $request) { - try { - $this->context->fromRequest($request); - } catch (\UnexpectedValueException $e) { - throw new BadRequestHttpException($e->getMessage(), $e, $e->getCode()); - } - } - } - - /** - * After a sub-request is done, we need to reset the routing context to the parent request so that the URL generator - * operates on the correct context again. - */ - public function onKernelFinishRequest(FinishRequestEvent $event) - { - $this->setCurrentRequest($this->requestStack->getParentRequest()); - } - - public function onKernelRequest(GetResponseEvent $event) - { - $request = $event->getRequest(); - - $this->setCurrentRequest($request); - - if ($request->attributes->has('_controller')) { - // routing is already done - return; - } - - // add attributes based on the request (routing) - try { - // matching a request is more powerful than matching a URL path + context, so try that first - if ($this->matcher instanceof RequestMatcherInterface) { - $parameters = $this->matcher->matchRequest($request); - } else { - $parameters = $this->matcher->match($request->getPathInfo()); - } - - if (null !== $this->logger) { - $this->logger->info('Matched route "{route}".', [ - 'route' => isset($parameters['_route']) ? $parameters['_route'] : 'n/a', - 'route_parameters' => $parameters, - 'request_uri' => $request->getUri(), - 'method' => $request->getMethod(), - ]); - } - - $request->attributes->add($parameters); - unset($parameters['_route'], $parameters['_controller']); - $request->attributes->set('_route_params', $parameters); - } catch (ResourceNotFoundException $e) { - $message = sprintf('No route found for "%s %s"', $request->getMethod(), $request->getPathInfo()); - - if ($referer = $request->headers->get('referer')) { - $message .= sprintf(' (from "%s")', $referer); - } - - throw new NotFoundHttpException($message, $e); - } catch (MethodNotAllowedException $e) { - $message = sprintf('No route found for "%s %s": Method Not Allowed (Allow: %s)', $request->getMethod(), $request->getPathInfo(), implode(', ', $e->getAllowedMethods())); - - throw new MethodNotAllowedHttpException($e->getAllowedMethods(), $message, $e); - } - } - - public function onKernelException(GetResponseForExceptionEvent $event) - { - if (!$this->debug || !($e = $event->getThrowable()) instanceof NotFoundHttpException) { - return; - } - - if ($e->getPrevious() instanceof NoConfigurationException) { - $event->setResponse($this->createWelcomeResponse()); - } - } - - public static function getSubscribedEvents() - { - return [ - KernelEvents::REQUEST => [['onKernelRequest', 32]], - KernelEvents::FINISH_REQUEST => [['onKernelFinishRequest', 0]], - KernelEvents::EXCEPTION => ['onKernelException', -64], - ]; - } - - private function createWelcomeResponse(): Response - { - $version = Kernel::VERSION; - $projectDir = realpath($this->projectDir).\DIRECTORY_SEPARATOR; - $docVersion = substr(Kernel::VERSION, 0, 3); - - ob_start(); - include \dirname(__DIR__).'/Resources/welcome.html.php'; - - return new Response(ob_get_clean(), Response::HTTP_NOT_FOUND); - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/EventListener/SaveSessionListener.php b/paragonik-backend/vendor/symfony/http-kernel/EventListener/SaveSessionListener.php deleted file mode 100644 index 3b105ce..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/EventListener/SaveSessionListener.php +++ /dev/null @@ -1,46 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\EventListener; - -@trigger_error(sprintf('The "%s" class is deprecated since Symfony 4.1, use AbstractSessionListener instead.', SaveSessionListener::class), E_USER_DEPRECATED); - -use Symfony\Component\EventDispatcher\EventSubscriberInterface; -use Symfony\Component\HttpKernel\Event\FilterResponseEvent; -use Symfony\Component\HttpKernel\KernelEvents; - -/** - * @author Tobias Schultze - * - * @deprecated since Symfony 4.1, use AbstractSessionListener instead - */ -class SaveSessionListener implements EventSubscriberInterface -{ - public function onKernelResponse(FilterResponseEvent $event) - { - if (!$event->isMasterRequest()) { - return; - } - - $request = $event->getRequest(); - if ($request->hasSession() && ($session = $request->getSession())->isStarted()) { - $session->save(); - } - } - - public static function getSubscribedEvents() - { - return [ - // low priority but higher than StreamedResponseListener - KernelEvents::RESPONSE => [['onKernelResponse', -1000]], - ]; - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/EventListener/SessionListener.php b/paragonik-backend/vendor/symfony/http-kernel/EventListener/SessionListener.php deleted file mode 100644 index a53ade7..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/EventListener/SessionListener.php +++ /dev/null @@ -1,52 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\EventListener; - -use Psr\Container\ContainerInterface; -use Symfony\Component\HttpFoundation\Session\SessionInterface; -use Symfony\Component\HttpFoundation\Session\Storage\NativeSessionStorage; - -/** - * Sets the session in the request. - * - * When the passed container contains a "session_storage" entry which - * holds a NativeSessionStorage instance, the "cookie_secure" option - * will be set to true whenever the current master request is secure. - * - * @author Fabien Potencier - * - * @final - */ -class SessionListener extends AbstractSessionListener -{ - public function __construct(ContainerInterface $container) - { - $this->container = $container; - } - - protected function getSession(): ?SessionInterface - { - if (!$this->container->has('session')) { - return null; - } - - if ($this->container->has('session_storage') - && ($storage = $this->container->get('session_storage')) instanceof NativeSessionStorage - && ($masterRequest = $this->container->get('request_stack')->getMasterRequest()) - && $masterRequest->isSecure() - ) { - $storage->setOptions(['cookie_secure' => true]); - } - - return $this->container->get('session'); - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/EventListener/StreamedResponseListener.php b/paragonik-backend/vendor/symfony/http-kernel/EventListener/StreamedResponseListener.php deleted file mode 100644 index f28f5d8..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/EventListener/StreamedResponseListener.php +++ /dev/null @@ -1,51 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\EventListener; - -use Symfony\Component\EventDispatcher\EventSubscriberInterface; -use Symfony\Component\HttpFoundation\StreamedResponse; -use Symfony\Component\HttpKernel\Event\FilterResponseEvent; -use Symfony\Component\HttpKernel\KernelEvents; - -/** - * StreamedResponseListener is responsible for sending the Response - * to the client. - * - * @author Fabien Potencier - * - * @final since Symfony 4.3 - */ -class StreamedResponseListener implements EventSubscriberInterface -{ - /** - * Filters the Response. - */ - public function onKernelResponse(FilterResponseEvent $event) - { - if (!$event->isMasterRequest()) { - return; - } - - $response = $event->getResponse(); - - if ($response instanceof StreamedResponse) { - $response->send(); - } - } - - public static function getSubscribedEvents() - { - return [ - KernelEvents::RESPONSE => ['onKernelResponse', -1024], - ]; - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/EventListener/SurrogateListener.php b/paragonik-backend/vendor/symfony/http-kernel/EventListener/SurrogateListener.php deleted file mode 100644 index 9c3e960..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/EventListener/SurrogateListener.php +++ /dev/null @@ -1,67 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\EventListener; - -use Symfony\Component\EventDispatcher\EventSubscriberInterface; -use Symfony\Component\HttpKernel\Event\FilterResponseEvent; -use Symfony\Component\HttpKernel\HttpCache\HttpCache; -use Symfony\Component\HttpKernel\HttpCache\SurrogateInterface; -use Symfony\Component\HttpKernel\KernelEvents; - -/** - * SurrogateListener adds a Surrogate-Control HTTP header when the Response needs to be parsed for Surrogates. - * - * @author Fabien Potencier - * - * @final since Symfony 4.3 - */ -class SurrogateListener implements EventSubscriberInterface -{ - private $surrogate; - - public function __construct(SurrogateInterface $surrogate = null) - { - $this->surrogate = $surrogate; - } - - /** - * Filters the Response. - */ - public function onKernelResponse(FilterResponseEvent $event) - { - if (!$event->isMasterRequest()) { - return; - } - - $kernel = $event->getKernel(); - $surrogate = $this->surrogate; - if ($kernel instanceof HttpCache) { - $surrogate = $kernel->getSurrogate(); - if (null !== $this->surrogate && $this->surrogate->getName() !== $surrogate->getName()) { - $surrogate = $this->surrogate; - } - } - - if (null === $surrogate) { - return; - } - - $surrogate->addSurrogateControl($event->getResponse()); - } - - public static function getSubscribedEvents() - { - return [ - KernelEvents::RESPONSE => 'onKernelResponse', - ]; - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/EventListener/TestSessionListener.php b/paragonik-backend/vendor/symfony/http-kernel/EventListener/TestSessionListener.php deleted file mode 100644 index ff8b4aa..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/EventListener/TestSessionListener.php +++ /dev/null @@ -1,42 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\EventListener; - -use Psr\Container\ContainerInterface; -use Symfony\Component\HttpFoundation\Session\SessionInterface; - -/** - * Sets the session in the request. - * - * @author Fabien Potencier - * - * @final - */ -class TestSessionListener extends AbstractTestSessionListener -{ - private $container; - - public function __construct(ContainerInterface $container, array $sessionOptions = []) - { - $this->container = $container; - parent::__construct($sessionOptions); - } - - protected function getSession(): ?SessionInterface - { - if (!$this->container->has('session')) { - return null; - } - - return $this->container->get('session'); - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/EventListener/TranslatorListener.php b/paragonik-backend/vendor/symfony/http-kernel/EventListener/TranslatorListener.php deleted file mode 100644 index d28eee2..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/EventListener/TranslatorListener.php +++ /dev/null @@ -1,80 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\EventListener; - -@trigger_error(sprintf('The "%s" class is deprecated since Symfony 4.3 and will be removed in 5.0, use LocaleAwareListener instead.', TranslatorListener::class), E_USER_DEPRECATED); - -use Symfony\Component\EventDispatcher\EventSubscriberInterface; -use Symfony\Component\HttpFoundation\Request; -use Symfony\Component\HttpFoundation\RequestStack; -use Symfony\Component\HttpKernel\Event\FinishRequestEvent; -use Symfony\Component\HttpKernel\Event\GetResponseEvent; -use Symfony\Component\HttpKernel\KernelEvents; -use Symfony\Component\Translation\TranslatorInterface; -use Symfony\Contracts\Translation\LocaleAwareInterface; - -/** - * Synchronizes the locale between the request and the translator. - * - * @author Fabien Potencier - * - * @deprecated since Symfony 4.3, use LocaleAwareListener instead - */ -class TranslatorListener implements EventSubscriberInterface -{ - private $translator; - private $requestStack; - - /** - * @param LocaleAwareInterface $translator - */ - public function __construct($translator, RequestStack $requestStack) - { - if (!$translator instanceof TranslatorInterface && !$translator instanceof LocaleAwareInterface) { - throw new \TypeError(sprintf('Argument 1 passed to %s() must be an instance of %s, %s given.', __METHOD__, LocaleAwareInterface::class, \is_object($translator) ? \get_class($translator) : \gettype($translator))); - } - $this->translator = $translator; - $this->requestStack = $requestStack; - } - - public function onKernelRequest(GetResponseEvent $event) - { - $this->setLocale($event->getRequest()); - } - - public function onKernelFinishRequest(FinishRequestEvent $event) - { - if (null === $parentRequest = $this->requestStack->getParentRequest()) { - return; - } - - $this->setLocale($parentRequest); - } - - public static function getSubscribedEvents() - { - return [ - // must be registered after the Locale listener - KernelEvents::REQUEST => [['onKernelRequest', 10]], - KernelEvents::FINISH_REQUEST => [['onKernelFinishRequest', 0]], - ]; - } - - private function setLocale(Request $request) - { - try { - $this->translator->setLocale($request->getLocale()); - } catch (\InvalidArgumentException $e) { - $this->translator->setLocale($request->getDefaultLocale()); - } - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/EventListener/ValidateRequestListener.php b/paragonik-backend/vendor/symfony/http-kernel/EventListener/ValidateRequestListener.php deleted file mode 100644 index 69c86b4..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/EventListener/ValidateRequestListener.php +++ /dev/null @@ -1,55 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\EventListener; - -use Symfony\Component\EventDispatcher\EventSubscriberInterface; -use Symfony\Component\HttpKernel\Event\GetResponseEvent; -use Symfony\Component\HttpKernel\KernelEvents; - -/** - * Validates Requests. - * - * @author Magnus Nordlander - * - * @final since Symfony 4.3 - */ -class ValidateRequestListener implements EventSubscriberInterface -{ - /** - * Performs the validation. - */ - public function onKernelRequest(GetResponseEvent $event) - { - if (!$event->isMasterRequest()) { - return; - } - $request = $event->getRequest(); - - if ($request::getTrustedProxies()) { - $request->getClientIps(); - } - - $request->getHost(); - } - - /** - * {@inheritdoc} - */ - public static function getSubscribedEvents() - { - return [ - KernelEvents::REQUEST => [ - ['onKernelRequest', 256], - ], - ]; - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/Exception/AccessDeniedHttpException.php b/paragonik-backend/vendor/symfony/http-kernel/Exception/AccessDeniedHttpException.php deleted file mode 100644 index 65e5f8c..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/Exception/AccessDeniedHttpException.php +++ /dev/null @@ -1,29 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\Exception; - -/** - * @author Fabien Potencier - * @author Christophe Coevoet - */ -class AccessDeniedHttpException extends HttpException -{ - /** - * @param string $message The internal exception message - * @param \Throwable $previous The previous exception - * @param int $code The internal exception code - */ - public function __construct(string $message = null, \Throwable $previous = null, int $code = 0, array $headers = []) - { - parent::__construct(403, $message, $previous, $headers, $code); - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/Exception/BadRequestHttpException.php b/paragonik-backend/vendor/symfony/http-kernel/Exception/BadRequestHttpException.php deleted file mode 100644 index 7de9105..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/Exception/BadRequestHttpException.php +++ /dev/null @@ -1,28 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\Exception; - -/** - * @author Ben Ramsey - */ -class BadRequestHttpException extends HttpException -{ - /** - * @param string $message The internal exception message - * @param \Throwable $previous The previous exception - * @param int $code The internal exception code - */ - public function __construct(string $message = null, \Throwable $previous = null, int $code = 0, array $headers = []) - { - parent::__construct(400, $message, $previous, $headers, $code); - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/Exception/ConflictHttpException.php b/paragonik-backend/vendor/symfony/http-kernel/Exception/ConflictHttpException.php deleted file mode 100644 index ebb86ba..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/Exception/ConflictHttpException.php +++ /dev/null @@ -1,28 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\Exception; - -/** - * @author Ben Ramsey - */ -class ConflictHttpException extends HttpException -{ - /** - * @param string $message The internal exception message - * @param \Throwable $previous The previous exception - * @param int $code The internal exception code - */ - public function __construct(string $message = null, \Throwable $previous = null, int $code = 0, array $headers = []) - { - parent::__construct(409, $message, $previous, $headers, $code); - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/Exception/ControllerDoesNotReturnResponseException.php b/paragonik-backend/vendor/symfony/http-kernel/Exception/ControllerDoesNotReturnResponseException.php deleted file mode 100644 index 1e87690..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/Exception/ControllerDoesNotReturnResponseException.php +++ /dev/null @@ -1,84 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\Exception; - -/** - * @author Grégoire Pineau - */ -class ControllerDoesNotReturnResponseException extends \LogicException -{ - public function __construct(string $message, callable $controller, string $file, int $line) - { - parent::__construct($message); - - if (!$controllerDefinition = $this->parseControllerDefinition($controller)) { - return; - } - - $this->file = $controllerDefinition['file']; - $this->line = $controllerDefinition['line']; - $r = new \ReflectionProperty(\Exception::class, 'trace'); - $r->setAccessible(true); - $r->setValue($this, array_merge([ - [ - 'line' => $line, - 'file' => $file, - ], - ], $this->getTrace())); - } - - private function parseControllerDefinition(callable $controller): ?array - { - if (\is_string($controller) && false !== strpos($controller, '::')) { - $controller = explode('::', $controller); - } - - if (\is_array($controller)) { - try { - $r = new \ReflectionMethod($controller[0], $controller[1]); - - return [ - 'file' => $r->getFileName(), - 'line' => $r->getEndLine(), - ]; - } catch (\ReflectionException $e) { - return null; - } - } - - if ($controller instanceof \Closure) { - $r = new \ReflectionFunction($controller); - - return [ - 'file' => $r->getFileName(), - 'line' => $r->getEndLine(), - ]; - } - - if (\is_object($controller)) { - $r = new \ReflectionClass($controller); - - try { - $line = $r->getMethod('__invoke')->getEndLine(); - } catch (\ReflectionException $e) { - $line = $r->getEndLine(); - } - - return [ - 'file' => $r->getFileName(), - 'line' => $line, - ]; - } - - return null; - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/Exception/GoneHttpException.php b/paragonik-backend/vendor/symfony/http-kernel/Exception/GoneHttpException.php deleted file mode 100644 index aea283a..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/Exception/GoneHttpException.php +++ /dev/null @@ -1,28 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\Exception; - -/** - * @author Ben Ramsey - */ -class GoneHttpException extends HttpException -{ - /** - * @param string $message The internal exception message - * @param \Throwable $previous The previous exception - * @param int $code The internal exception code - */ - public function __construct(string $message = null, \Throwable $previous = null, int $code = 0, array $headers = []) - { - parent::__construct(410, $message, $previous, $headers, $code); - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/Exception/HttpException.php b/paragonik-backend/vendor/symfony/http-kernel/Exception/HttpException.php deleted file mode 100644 index d822cd5..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/Exception/HttpException.php +++ /dev/null @@ -1,51 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\Exception; - -/** - * HttpException. - * - * @author Kris Wallsmith - */ -class HttpException extends \RuntimeException implements HttpExceptionInterface -{ - private $statusCode; - private $headers; - - public function __construct(int $statusCode, string $message = null, \Throwable $previous = null, array $headers = [], ?int $code = 0) - { - $this->statusCode = $statusCode; - $this->headers = $headers; - - parent::__construct($message, $code, $previous); - } - - public function getStatusCode() - { - return $this->statusCode; - } - - public function getHeaders() - { - return $this->headers; - } - - /** - * Set response headers. - * - * @param array $headers Response headers - */ - public function setHeaders(array $headers) - { - $this->headers = $headers; - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/Exception/HttpExceptionInterface.php b/paragonik-backend/vendor/symfony/http-kernel/Exception/HttpExceptionInterface.php deleted file mode 100644 index 735e9c8..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/Exception/HttpExceptionInterface.php +++ /dev/null @@ -1,34 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\Exception; - -/** - * Interface for HTTP error exceptions. - * - * @author Kris Wallsmith - */ -interface HttpExceptionInterface extends \Throwable -{ - /** - * Returns the status code. - * - * @return int An HTTP response status code - */ - public function getStatusCode(); - - /** - * Returns response headers. - * - * @return array Response headers - */ - public function getHeaders(); -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/Exception/LengthRequiredHttpException.php b/paragonik-backend/vendor/symfony/http-kernel/Exception/LengthRequiredHttpException.php deleted file mode 100644 index 44fb770..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/Exception/LengthRequiredHttpException.php +++ /dev/null @@ -1,28 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\Exception; - -/** - * @author Ben Ramsey - */ -class LengthRequiredHttpException extends HttpException -{ - /** - * @param string $message The internal exception message - * @param \Throwable $previous The previous exception - * @param int $code The internal exception code - */ - public function __construct(string $message = null, \Throwable $previous = null, int $code = 0, array $headers = []) - { - parent::__construct(411, $message, $previous, $headers, $code); - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/Exception/MethodNotAllowedHttpException.php b/paragonik-backend/vendor/symfony/http-kernel/Exception/MethodNotAllowedHttpException.php deleted file mode 100644 index c15e46f..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/Exception/MethodNotAllowedHttpException.php +++ /dev/null @@ -1,31 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\Exception; - -/** - * @author Kris Wallsmith - */ -class MethodNotAllowedHttpException extends HttpException -{ - /** - * @param array $allow An array of allowed methods - * @param string $message The internal exception message - * @param \Throwable $previous The previous exception - * @param int $code The internal exception code - */ - public function __construct(array $allow, string $message = null, \Throwable $previous = null, ?int $code = 0, array $headers = []) - { - $headers['Allow'] = strtoupper(implode(', ', $allow)); - - parent::__construct(405, $message, $previous, $headers, $code); - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/Exception/NotAcceptableHttpException.php b/paragonik-backend/vendor/symfony/http-kernel/Exception/NotAcceptableHttpException.php deleted file mode 100644 index c5f5324..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/Exception/NotAcceptableHttpException.php +++ /dev/null @@ -1,28 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\Exception; - -/** - * @author Ben Ramsey - */ -class NotAcceptableHttpException extends HttpException -{ - /** - * @param string $message The internal exception message - * @param \Throwable $previous The previous exception - * @param int $code The internal exception code - */ - public function __construct(string $message = null, \Throwable $previous = null, int $code = 0, array $headers = []) - { - parent::__construct(406, $message, $previous, $headers, $code); - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/Exception/NotFoundHttpException.php b/paragonik-backend/vendor/symfony/http-kernel/Exception/NotFoundHttpException.php deleted file mode 100644 index 146b908..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/Exception/NotFoundHttpException.php +++ /dev/null @@ -1,28 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\Exception; - -/** - * @author Fabien Potencier - */ -class NotFoundHttpException extends HttpException -{ - /** - * @param string $message The internal exception message - * @param \Throwable $previous The previous exception - * @param int $code The internal exception code - */ - public function __construct(string $message = null, \Throwable $previous = null, int $code = 0, array $headers = []) - { - parent::__construct(404, $message, $previous, $headers, $code); - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/Exception/PreconditionFailedHttpException.php b/paragonik-backend/vendor/symfony/http-kernel/Exception/PreconditionFailedHttpException.php deleted file mode 100644 index e878b10..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/Exception/PreconditionFailedHttpException.php +++ /dev/null @@ -1,28 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\Exception; - -/** - * @author Ben Ramsey - */ -class PreconditionFailedHttpException extends HttpException -{ - /** - * @param string $message The internal exception message - * @param \Throwable $previous The previous exception - * @param int $code The internal exception code - */ - public function __construct(string $message = null, \Throwable $previous = null, int $code = 0, array $headers = []) - { - parent::__construct(412, $message, $previous, $headers, $code); - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/Exception/PreconditionRequiredHttpException.php b/paragonik-backend/vendor/symfony/http-kernel/Exception/PreconditionRequiredHttpException.php deleted file mode 100644 index a6cb2f0..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/Exception/PreconditionRequiredHttpException.php +++ /dev/null @@ -1,30 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\Exception; - -/** - * @author Ben Ramsey - * - * @see http://tools.ietf.org/html/rfc6585 - */ -class PreconditionRequiredHttpException extends HttpException -{ - /** - * @param string $message The internal exception message - * @param \Throwable $previous The previous exception - * @param int $code The internal exception code - */ - public function __construct(string $message = null, \Throwable $previous = null, int $code = 0, array $headers = []) - { - parent::__construct(428, $message, $previous, $headers, $code); - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/Exception/ServiceUnavailableHttpException.php b/paragonik-backend/vendor/symfony/http-kernel/Exception/ServiceUnavailableHttpException.php deleted file mode 100644 index c786ccf..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/Exception/ServiceUnavailableHttpException.php +++ /dev/null @@ -1,33 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\Exception; - -/** - * @author Ben Ramsey - */ -class ServiceUnavailableHttpException extends HttpException -{ - /** - * @param int|string $retryAfter The number of seconds or HTTP-date after which the request may be retried - * @param string $message The internal exception message - * @param \Throwable $previous The previous exception - * @param int $code The internal exception code - */ - public function __construct($retryAfter = null, string $message = null, \Throwable $previous = null, ?int $code = 0, array $headers = []) - { - if ($retryAfter) { - $headers['Retry-After'] = $retryAfter; - } - - parent::__construct(503, $message, $previous, $headers, $code); - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/Exception/TooManyRequestsHttpException.php b/paragonik-backend/vendor/symfony/http-kernel/Exception/TooManyRequestsHttpException.php deleted file mode 100644 index b709f1a..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/Exception/TooManyRequestsHttpException.php +++ /dev/null @@ -1,35 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\Exception; - -/** - * @author Ben Ramsey - * - * @see http://tools.ietf.org/html/rfc6585 - */ -class TooManyRequestsHttpException extends HttpException -{ - /** - * @param int|string $retryAfter The number of seconds or HTTP-date after which the request may be retried - * @param string $message The internal exception message - * @param \Throwable $previous The previous exception - * @param int $code The internal exception code - */ - public function __construct($retryAfter = null, string $message = null, \Throwable $previous = null, ?int $code = 0, array $headers = []) - { - if ($retryAfter) { - $headers['Retry-After'] = $retryAfter; - } - - parent::__construct(429, $message, $previous, $headers, $code); - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/Exception/UnauthorizedHttpException.php b/paragonik-backend/vendor/symfony/http-kernel/Exception/UnauthorizedHttpException.php deleted file mode 100644 index fb86c1e..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/Exception/UnauthorizedHttpException.php +++ /dev/null @@ -1,31 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\Exception; - -/** - * @author Ben Ramsey - */ -class UnauthorizedHttpException extends HttpException -{ - /** - * @param string $challenge WWW-Authenticate challenge string - * @param string $message The internal exception message - * @param \Throwable $previous The previous exception - * @param int $code The internal exception code - */ - public function __construct(string $challenge, string $message = null, \Throwable $previous = null, ?int $code = 0, array $headers = []) - { - $headers['WWW-Authenticate'] = $challenge; - - parent::__construct(401, $message, $previous, $headers, $code); - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/Exception/UnprocessableEntityHttpException.php b/paragonik-backend/vendor/symfony/http-kernel/Exception/UnprocessableEntityHttpException.php deleted file mode 100644 index 93d4bce..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/Exception/UnprocessableEntityHttpException.php +++ /dev/null @@ -1,28 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\Exception; - -/** - * @author Steve Hutchins - */ -class UnprocessableEntityHttpException extends HttpException -{ - /** - * @param string $message The internal exception message - * @param \Throwable $previous The previous exception - * @param int $code The internal exception code - */ - public function __construct(string $message = null, \Throwable $previous = null, int $code = 0, array $headers = []) - { - parent::__construct(422, $message, $previous, $headers, $code); - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/Exception/UnsupportedMediaTypeHttpException.php b/paragonik-backend/vendor/symfony/http-kernel/Exception/UnsupportedMediaTypeHttpException.php deleted file mode 100644 index 7cda3a6..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/Exception/UnsupportedMediaTypeHttpException.php +++ /dev/null @@ -1,28 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\Exception; - -/** - * @author Ben Ramsey - */ -class UnsupportedMediaTypeHttpException extends HttpException -{ - /** - * @param string $message The internal exception message - * @param \Throwable $previous The previous exception - * @param int $code The internal exception code - */ - public function __construct(string $message = null, \Throwable $previous = null, int $code = 0, array $headers = []) - { - parent::__construct(415, $message, $previous, $headers, $code); - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/Fragment/AbstractSurrogateFragmentRenderer.php b/paragonik-backend/vendor/symfony/http-kernel/Fragment/AbstractSurrogateFragmentRenderer.php deleted file mode 100644 index f81199d..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/Fragment/AbstractSurrogateFragmentRenderer.php +++ /dev/null @@ -1,108 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\Fragment; - -use Symfony\Component\HttpFoundation\Request; -use Symfony\Component\HttpFoundation\Response; -use Symfony\Component\HttpKernel\Controller\ControllerReference; -use Symfony\Component\HttpKernel\HttpCache\SurrogateInterface; -use Symfony\Component\HttpKernel\UriSigner; - -/** - * Implements Surrogate rendering strategy. - * - * @author Fabien Potencier - */ -abstract class AbstractSurrogateFragmentRenderer extends RoutableFragmentRenderer -{ - private $surrogate; - private $inlineStrategy; - private $signer; - - /** - * The "fallback" strategy when surrogate is not available should always be an - * instance of InlineFragmentRenderer. - * - * @param FragmentRendererInterface $inlineStrategy The inline strategy to use when the surrogate is not supported - */ - public function __construct(SurrogateInterface $surrogate = null, FragmentRendererInterface $inlineStrategy, UriSigner $signer = null) - { - $this->surrogate = $surrogate; - $this->inlineStrategy = $inlineStrategy; - $this->signer = $signer; - } - - /** - * {@inheritdoc} - * - * Note that if the current Request has no surrogate capability, this method - * falls back to use the inline rendering strategy. - * - * Additional available options: - * - * * alt: an alternative URI to render in case of an error - * * comment: a comment to add when returning the surrogate tag - * - * Note, that not all surrogate strategies support all options. For now - * 'alt' and 'comment' are only supported by ESI. - * - * @see Symfony\Component\HttpKernel\HttpCache\SurrogateInterface - */ - public function render($uri, Request $request, array $options = []) - { - if (!$this->surrogate || !$this->surrogate->hasSurrogateCapability($request)) { - if ($uri instanceof ControllerReference && $this->containsNonScalars($uri->attributes)) { - throw new \InvalidArgumentException('Passing non-scalar values as part of URI attributes to the ESI and SSI rendering strategies is not supported. Use a different rendering strategy or pass scalar values.'); - } - - return $this->inlineStrategy->render($uri, $request, $options); - } - - if ($uri instanceof ControllerReference) { - $uri = $this->generateSignedFragmentUri($uri, $request); - } - - $alt = isset($options['alt']) ? $options['alt'] : null; - if ($alt instanceof ControllerReference) { - $alt = $this->generateSignedFragmentUri($alt, $request); - } - - $tag = $this->surrogate->renderIncludeTag($uri, $alt, isset($options['ignore_errors']) ? $options['ignore_errors'] : false, isset($options['comment']) ? $options['comment'] : ''); - - return new Response($tag); - } - - private function generateSignedFragmentUri(ControllerReference $uri, Request $request): string - { - if (null === $this->signer) { - throw new \LogicException('You must use a URI when using the ESI rendering strategy or set a URL signer.'); - } - - // we need to sign the absolute URI, but want to return the path only. - $fragmentUri = $this->signer->sign($this->generateFragmentUri($uri, $request, true)); - - return substr($fragmentUri, \strlen($request->getSchemeAndHttpHost())); - } - - private function containsNonScalars(array $values): bool - { - foreach ($values as $value) { - if (\is_array($value)) { - return $this->containsNonScalars($value); - } elseif (!is_scalar($value) && null !== $value) { - return true; - } - } - - return false; - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/Fragment/EsiFragmentRenderer.php b/paragonik-backend/vendor/symfony/http-kernel/Fragment/EsiFragmentRenderer.php deleted file mode 100644 index a4570e3..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/Fragment/EsiFragmentRenderer.php +++ /dev/null @@ -1,28 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\Fragment; - -/** - * Implements the ESI rendering strategy. - * - * @author Fabien Potencier - */ -class EsiFragmentRenderer extends AbstractSurrogateFragmentRenderer -{ - /** - * {@inheritdoc} - */ - public function getName() - { - return 'esi'; - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/Fragment/FragmentHandler.php b/paragonik-backend/vendor/symfony/http-kernel/Fragment/FragmentHandler.php deleted file mode 100644 index 624f578..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/Fragment/FragmentHandler.php +++ /dev/null @@ -1,112 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\Fragment; - -use Symfony\Component\HttpFoundation\RequestStack; -use Symfony\Component\HttpFoundation\Response; -use Symfony\Component\HttpFoundation\StreamedResponse; -use Symfony\Component\HttpKernel\Controller\ControllerReference; - -/** - * Renders a URI that represents a resource fragment. - * - * This class handles the rendering of resource fragments that are included into - * a main resource. The handling of the rendering is managed by specialized renderers. - * - * @author Fabien Potencier - * - * @see FragmentRendererInterface - */ -class FragmentHandler -{ - private $debug; - private $renderers = []; - private $requestStack; - - /** - * @param FragmentRendererInterface[] $renderers An array of FragmentRendererInterface instances - * @param bool $debug Whether the debug mode is enabled or not - */ - public function __construct(RequestStack $requestStack, array $renderers = [], bool $debug = false) - { - $this->requestStack = $requestStack; - foreach ($renderers as $renderer) { - $this->addRenderer($renderer); - } - $this->debug = $debug; - } - - /** - * Adds a renderer. - */ - public function addRenderer(FragmentRendererInterface $renderer) - { - $this->renderers[$renderer->getName()] = $renderer; - } - - /** - * Renders a URI and returns the Response content. - * - * Available options: - * - * * ignore_errors: true to return an empty string in case of an error - * - * @param string|ControllerReference $uri A URI as a string or a ControllerReference instance - * @param string $renderer The renderer name - * - * @return string|null The Response content or null when the Response is streamed - * - * @throws \InvalidArgumentException when the renderer does not exist - * @throws \LogicException when no master request is being handled - */ - public function render($uri, $renderer = 'inline', array $options = []) - { - if (!isset($options['ignore_errors'])) { - $options['ignore_errors'] = !$this->debug; - } - - if (!isset($this->renderers[$renderer])) { - throw new \InvalidArgumentException(sprintf('The "%s" renderer does not exist.', $renderer)); - } - - if (!$request = $this->requestStack->getCurrentRequest()) { - throw new \LogicException('Rendering a fragment can only be done when handling a Request.'); - } - - return $this->deliver($this->renderers[$renderer]->render($uri, $request, $options)); - } - - /** - * Delivers the Response as a string. - * - * When the Response is a StreamedResponse, the content is streamed immediately - * instead of being returned. - * - * @return string|null The Response content or null when the Response is streamed - * - * @throws \RuntimeException when the Response is not successful - */ - protected function deliver(Response $response) - { - if (!$response->isSuccessful()) { - throw new \RuntimeException(sprintf('Error when rendering "%s" (Status code is %s).', $this->requestStack->getCurrentRequest()->getUri(), $response->getStatusCode())); - } - - if (!$response instanceof StreamedResponse) { - return $response->getContent(); - } - - $response->sendContent(); - - return null; - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/Fragment/FragmentRendererInterface.php b/paragonik-backend/vendor/symfony/http-kernel/Fragment/FragmentRendererInterface.php deleted file mode 100644 index 4f8ac50..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/Fragment/FragmentRendererInterface.php +++ /dev/null @@ -1,40 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\Fragment; - -use Symfony\Component\HttpFoundation\Request; -use Symfony\Component\HttpFoundation\Response; -use Symfony\Component\HttpKernel\Controller\ControllerReference; - -/** - * Interface implemented by all rendering strategies. - * - * @author Fabien Potencier - */ -interface FragmentRendererInterface -{ - /** - * Renders a URI and returns the Response content. - * - * @param string|ControllerReference $uri A URI as a string or a ControllerReference instance - * - * @return Response A Response instance - */ - public function render($uri, Request $request, array $options = []); - - /** - * Gets the name of the strategy. - * - * @return string The strategy name - */ - public function getName(); -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/Fragment/HIncludeFragmentRenderer.php b/paragonik-backend/vendor/symfony/http-kernel/Fragment/HIncludeFragmentRenderer.php deleted file mode 100644 index 7859c36..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/Fragment/HIncludeFragmentRenderer.php +++ /dev/null @@ -1,166 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\Fragment; - -use Symfony\Component\HttpFoundation\Request; -use Symfony\Component\HttpFoundation\Response; -use Symfony\Component\HttpKernel\Controller\ControllerReference; -use Symfony\Component\HttpKernel\UriSigner; -use Symfony\Component\Templating\EngineInterface; -use Twig\Environment; -use Twig\Error\LoaderError; -use Twig\Loader\ExistsLoaderInterface; -use Twig\Loader\SourceContextLoaderInterface; - -/** - * Implements the Hinclude rendering strategy. - * - * @author Fabien Potencier - */ -class HIncludeFragmentRenderer extends RoutableFragmentRenderer -{ - private $globalDefaultTemplate; - private $signer; - private $templating; - private $charset; - - /** - * @param EngineInterface|Environment $templating An EngineInterface or a Twig instance - * @param string $globalDefaultTemplate The global default content (it can be a template name or the content) - */ - public function __construct($templating = null, UriSigner $signer = null, string $globalDefaultTemplate = null, string $charset = 'utf-8') - { - $this->setTemplating($templating); - $this->globalDefaultTemplate = $globalDefaultTemplate; - $this->signer = $signer; - $this->charset = $charset; - } - - /** - * Sets the templating engine to use to render the default content. - * - * @param EngineInterface|Environment|null $templating An EngineInterface or an Environment instance - * - * @throws \InvalidArgumentException - * - * @internal - */ - public function setTemplating($templating) - { - if (null !== $templating && !$templating instanceof EngineInterface && !$templating instanceof Environment) { - throw new \InvalidArgumentException('The hinclude rendering strategy needs an instance of Twig\Environment or Symfony\Component\Templating\EngineInterface'); - } - - if ($templating instanceof EngineInterface) { - @trigger_error(sprintf('Using a "%s" instance for "%s" is deprecated since version 4.3; use a \Twig\Environment instance instead.', EngineInterface::class, __CLASS__), E_USER_DEPRECATED); - } - - $this->templating = $templating; - } - - /** - * Checks if a templating engine has been set. - * - * @return bool true if the templating engine has been set, false otherwise - */ - public function hasTemplating() - { - return null !== $this->templating; - } - - /** - * {@inheritdoc} - * - * Additional available options: - * - * * default: The default content (it can be a template name or the content) - * * id: An optional hx:include tag id attribute - * * attributes: An optional array of hx:include tag attributes - */ - public function render($uri, Request $request, array $options = []) - { - if ($uri instanceof ControllerReference) { - if (null === $this->signer) { - throw new \LogicException('You must use a proper URI when using the Hinclude rendering strategy or set a URL signer.'); - } - - // we need to sign the absolute URI, but want to return the path only. - $uri = substr($this->signer->sign($this->generateFragmentUri($uri, $request, true)), \strlen($request->getSchemeAndHttpHost())); - } - - // We need to replace ampersands in the URI with the encoded form in order to return valid html/xml content. - $uri = str_replace('&', '&', $uri); - - $template = isset($options['default']) ? $options['default'] : $this->globalDefaultTemplate; - if (null !== $this->templating && $template && $this->templateExists($template)) { - $content = $this->templating->render($template); - } else { - $content = $template; - } - - $attributes = isset($options['attributes']) && \is_array($options['attributes']) ? $options['attributes'] : []; - if (isset($options['id']) && $options['id']) { - $attributes['id'] = $options['id']; - } - $renderedAttributes = ''; - if (\count($attributes) > 0) { - $flags = ENT_QUOTES | ENT_SUBSTITUTE; - foreach ($attributes as $attribute => $value) { - $renderedAttributes .= sprintf( - ' %s="%s"', - htmlspecialchars($attribute, $flags, $this->charset, false), - htmlspecialchars($value, $flags, $this->charset, false) - ); - } - } - - return new Response(sprintf('%s', $uri, $renderedAttributes, $content)); - } - - private function templateExists(string $template): bool - { - if ($this->templating instanceof EngineInterface) { - try { - return $this->templating->exists($template); - } catch (\Exception $e) { - return false; - } - } - - $loader = $this->templating->getLoader(); - - if (1 === Environment::MAJOR_VERSION && !$loader instanceof ExistsLoaderInterface) { - try { - if ($loader instanceof SourceContextLoaderInterface) { - $loader->getSourceContext($template); - } else { - $loader->getSource($template); - } - - return true; - } catch (LoaderError $e) { - } - - return false; - } - - return $loader->exists($template); - } - - /** - * {@inheritdoc} - */ - public function getName() - { - return 'hinclude'; - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/Fragment/InlineFragmentRenderer.php b/paragonik-backend/vendor/symfony/http-kernel/Fragment/InlineFragmentRenderer.php deleted file mode 100644 index 8f89733..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/Fragment/InlineFragmentRenderer.php +++ /dev/null @@ -1,146 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\Fragment; - -use Symfony\Component\EventDispatcher\LegacyEventDispatcherProxy; -use Symfony\Component\HttpFoundation\Request; -use Symfony\Component\HttpFoundation\Response; -use Symfony\Component\HttpKernel\Controller\ControllerReference; -use Symfony\Component\HttpKernel\Event\ExceptionEvent; -use Symfony\Component\HttpKernel\HttpCache\SubRequestHandler; -use Symfony\Component\HttpKernel\HttpKernelInterface; -use Symfony\Component\HttpKernel\KernelEvents; -use Symfony\Contracts\EventDispatcher\EventDispatcherInterface; - -/** - * Implements the inline rendering strategy where the Request is rendered by the current HTTP kernel. - * - * @author Fabien Potencier - */ -class InlineFragmentRenderer extends RoutableFragmentRenderer -{ - private $kernel; - private $dispatcher; - - public function __construct(HttpKernelInterface $kernel, EventDispatcherInterface $dispatcher = null) - { - $this->kernel = $kernel; - $this->dispatcher = LegacyEventDispatcherProxy::decorate($dispatcher); - } - - /** - * {@inheritdoc} - * - * Additional available options: - * - * * alt: an alternative URI to render in case of an error - */ - public function render($uri, Request $request, array $options = []) - { - $reference = null; - if ($uri instanceof ControllerReference) { - $reference = $uri; - - // Remove attributes from the generated URI because if not, the Symfony - // routing system will use them to populate the Request attributes. We don't - // want that as we want to preserve objects (so we manually set Request attributes - // below instead) - $attributes = $reference->attributes; - $reference->attributes = []; - - // The request format and locale might have been overridden by the user - foreach (['_format', '_locale'] as $key) { - if (isset($attributes[$key])) { - $reference->attributes[$key] = $attributes[$key]; - } - } - - $uri = $this->generateFragmentUri($uri, $request, false, false); - - $reference->attributes = array_merge($attributes, $reference->attributes); - } - - $subRequest = $this->createSubRequest($uri, $request); - - // override Request attributes as they can be objects (which are not supported by the generated URI) - if (null !== $reference) { - $subRequest->attributes->add($reference->attributes); - } - - $level = ob_get_level(); - try { - return SubRequestHandler::handle($this->kernel, $subRequest, HttpKernelInterface::SUB_REQUEST, false); - } catch (\Exception $e) { - // we dispatch the exception event to trigger the logging - // the response that comes back is ignored - if (isset($options['ignore_errors']) && $options['ignore_errors'] && $this->dispatcher) { - $event = new ExceptionEvent($this->kernel, $request, HttpKernelInterface::SUB_REQUEST, $e); - - $this->dispatcher->dispatch($event, KernelEvents::EXCEPTION); - } - - // let's clean up the output buffers that were created by the sub-request - Response::closeOutputBuffers($level, false); - - if (isset($options['alt'])) { - $alt = $options['alt']; - unset($options['alt']); - - return $this->render($alt, $request, $options); - } - - if (!isset($options['ignore_errors']) || !$options['ignore_errors']) { - throw $e; - } - - return new Response(); - } - } - - protected function createSubRequest($uri, Request $request) - { - $cookies = $request->cookies->all(); - $server = $request->server->all(); - - unset($server['HTTP_IF_MODIFIED_SINCE']); - unset($server['HTTP_IF_NONE_MATCH']); - - $subRequest = Request::create($uri, 'get', [], $cookies, [], $server); - if ($request->headers->has('Surrogate-Capability')) { - $subRequest->headers->set('Surrogate-Capability', $request->headers->get('Surrogate-Capability')); - } - - static $setSession; - - if (null === $setSession) { - $setSession = \Closure::bind(static function ($subRequest, $request) { $subRequest->session = $request->session; }, null, Request::class); - } - $setSession($subRequest, $request); - - if ($request->get('_format')) { - $subRequest->attributes->set('_format', $request->get('_format')); - } - if ($request->getDefaultLocale() !== $request->getLocale()) { - $subRequest->setLocale($request->getLocale()); - } - - return $subRequest; - } - - /** - * {@inheritdoc} - */ - public function getName() - { - return 'inline'; - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/Fragment/RoutableFragmentRenderer.php b/paragonik-backend/vendor/symfony/http-kernel/Fragment/RoutableFragmentRenderer.php deleted file mode 100644 index bd8f85b..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/Fragment/RoutableFragmentRenderer.php +++ /dev/null @@ -1,88 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\Fragment; - -use Symfony\Component\HttpFoundation\Request; -use Symfony\Component\HttpKernel\Controller\ControllerReference; -use Symfony\Component\HttpKernel\EventListener\FragmentListener; - -/** - * Adds the possibility to generate a fragment URI for a given Controller. - * - * @author Fabien Potencier - */ -abstract class RoutableFragmentRenderer implements FragmentRendererInterface -{ - private $fragmentPath = '/_fragment'; - - /** - * Sets the fragment path that triggers the fragment listener. - * - * @param string $path The path - * - * @see FragmentListener - */ - public function setFragmentPath($path) - { - $this->fragmentPath = $path; - } - - /** - * Generates a fragment URI for a given controller. - * - * @param bool $absolute Whether to generate an absolute URL or not - * @param bool $strict Whether to allow non-scalar attributes or not - * - * @return string A fragment URI - */ - protected function generateFragmentUri(ControllerReference $reference, Request $request, $absolute = false, $strict = true) - { - if ($strict) { - $this->checkNonScalar($reference->attributes); - } - - // We need to forward the current _format and _locale values as we don't have - // a proper routing pattern to do the job for us. - // This makes things inconsistent if you switch from rendering a controller - // to rendering a route if the route pattern does not contain the special - // _format and _locale placeholders. - if (!isset($reference->attributes['_format'])) { - $reference->attributes['_format'] = $request->getRequestFormat(); - } - if (!isset($reference->attributes['_locale'])) { - $reference->attributes['_locale'] = $request->getLocale(); - } - - $reference->attributes['_controller'] = $reference->controller; - - $reference->query['_path'] = http_build_query($reference->attributes, '', '&'); - - $path = $this->fragmentPath.'?'.http_build_query($reference->query, '', '&'); - - if ($absolute) { - return $request->getUriForPath($path); - } - - return $request->getBaseUrl().$path; - } - - private function checkNonScalar(array $values) - { - foreach ($values as $key => $value) { - if (\is_array($value)) { - $this->checkNonScalar($value); - } elseif (!is_scalar($value) && null !== $value) { - throw new \LogicException(sprintf('Controller attributes cannot contain non-scalar/non-null values (value for key "%s" is not a scalar or null).', $key)); - } - } - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/Fragment/SsiFragmentRenderer.php b/paragonik-backend/vendor/symfony/http-kernel/Fragment/SsiFragmentRenderer.php deleted file mode 100644 index 45e7122..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/Fragment/SsiFragmentRenderer.php +++ /dev/null @@ -1,28 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\Fragment; - -/** - * Implements the SSI rendering strategy. - * - * @author Sebastian Krebs - */ -class SsiFragmentRenderer extends AbstractSurrogateFragmentRenderer -{ - /** - * {@inheritdoc} - */ - public function getName() - { - return 'ssi'; - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/HttpCache/AbstractSurrogate.php b/paragonik-backend/vendor/symfony/http-kernel/HttpCache/AbstractSurrogate.php deleted file mode 100644 index 9b45417..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/HttpCache/AbstractSurrogate.php +++ /dev/null @@ -1,136 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\HttpCache; - -use Symfony\Component\HttpFoundation\Request; -use Symfony\Component\HttpFoundation\Response; -use Symfony\Component\HttpKernel\HttpKernelInterface; - -/** - * Abstract class implementing Surrogate capabilities to Request and Response instances. - * - * @author Fabien Potencier - * @author Robin Chalas - */ -abstract class AbstractSurrogate implements SurrogateInterface -{ - protected $contentTypes; - protected $phpEscapeMap = [ - ['', '', '', ''], - ]; - - /** - * @param array $contentTypes An array of content-type that should be parsed for Surrogate information - * (default: text/html, text/xml, application/xhtml+xml, and application/xml) - */ - public function __construct(array $contentTypes = ['text/html', 'text/xml', 'application/xhtml+xml', 'application/xml']) - { - $this->contentTypes = $contentTypes; - } - - /** - * Returns a new cache strategy instance. - * - * @return ResponseCacheStrategyInterface A ResponseCacheStrategyInterface instance - */ - public function createCacheStrategy() - { - return new ResponseCacheStrategy(); - } - - /** - * {@inheritdoc} - */ - public function hasSurrogateCapability(Request $request) - { - if (null === $value = $request->headers->get('Surrogate-Capability')) { - return false; - } - - return false !== strpos($value, sprintf('%s/1.0', strtoupper($this->getName()))); - } - - /** - * {@inheritdoc} - */ - public function addSurrogateCapability(Request $request) - { - $current = $request->headers->get('Surrogate-Capability'); - $new = sprintf('symfony="%s/1.0"', strtoupper($this->getName())); - - $request->headers->set('Surrogate-Capability', $current ? $current.', '.$new : $new); - } - - /** - * {@inheritdoc} - */ - public function needsParsing(Response $response) - { - if (!$control = $response->headers->get('Surrogate-Control')) { - return false; - } - - $pattern = sprintf('#content="[^"]*%s/1.0[^"]*"#', strtoupper($this->getName())); - - return (bool) preg_match($pattern, $control); - } - - /** - * {@inheritdoc} - */ - public function handle(HttpCache $cache, $uri, $alt, $ignoreErrors) - { - $subRequest = Request::create($uri, Request::METHOD_GET, [], $cache->getRequest()->cookies->all(), [], $cache->getRequest()->server->all()); - - try { - $response = $cache->handle($subRequest, HttpKernelInterface::SUB_REQUEST, true); - - if (!$response->isSuccessful()) { - throw new \RuntimeException(sprintf('Error when rendering "%s" (Status code is %s).', $subRequest->getUri(), $response->getStatusCode())); - } - - return $response->getContent(); - } catch (\Exception $e) { - if ($alt) { - return $this->handle($cache, $alt, '', $ignoreErrors); - } - - if (!$ignoreErrors) { - throw $e; - } - } - - return ''; - } - - /** - * Remove the Surrogate from the Surrogate-Control header. - */ - protected function removeFromControl(Response $response) - { - if (!$response->headers->has('Surrogate-Control')) { - return; - } - - $value = $response->headers->get('Surrogate-Control'); - $upperName = strtoupper($this->getName()); - - if (sprintf('content="%s/1.0"', $upperName) == $value) { - $response->headers->remove('Surrogate-Control'); - } elseif (preg_match(sprintf('#,\s*content="%s/1.0"#', $upperName), $value)) { - $response->headers->set('Surrogate-Control', preg_replace(sprintf('#,\s*content="%s/1.0"#', $upperName), '', $value)); - } elseif (preg_match(sprintf('#content="%s/1.0",\s*#', $upperName), $value)) { - $response->headers->set('Surrogate-Control', preg_replace(sprintf('#content="%s/1.0",\s*#', $upperName), '', $value)); - } - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/HttpCache/Esi.php b/paragonik-backend/vendor/symfony/http-kernel/HttpCache/Esi.php deleted file mode 100644 index 96e6ca4..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/HttpCache/Esi.php +++ /dev/null @@ -1,117 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\HttpCache; - -use Symfony\Component\HttpFoundation\Request; -use Symfony\Component\HttpFoundation\Response; - -/** - * Esi implements the ESI capabilities to Request and Response instances. - * - * For more information, read the following W3C notes: - * - * * ESI Language Specification 1.0 (http://www.w3.org/TR/esi-lang) - * - * * Edge Architecture Specification (http://www.w3.org/TR/edge-arch) - * - * @author Fabien Potencier - */ -class Esi extends AbstractSurrogate -{ - public function getName() - { - return 'esi'; - } - - /** - * {@inheritdoc} - */ - public function addSurrogateControl(Response $response) - { - if (false !== strpos($response->getContent(), 'headers->set('Surrogate-Control', 'content="ESI/1.0"'); - } - } - - /** - * {@inheritdoc} - */ - public function renderIncludeTag($uri, $alt = null, $ignoreErrors = true, $comment = '') - { - $html = sprintf('', - $uri, - $ignoreErrors ? ' onerror="continue"' : '', - $alt ? sprintf(' alt="%s"', $alt) : '' - ); - - if (!empty($comment)) { - return sprintf("\n%s", $comment, $html); - } - - return $html; - } - - /** - * {@inheritdoc} - */ - public function process(Request $request, Response $response) - { - $type = $response->headers->get('Content-Type'); - if (empty($type)) { - $type = 'text/html'; - } - - $parts = explode(';', $type); - if (!\in_array($parts[0], $this->contentTypes)) { - return $response; - } - - // we don't use a proper XML parser here as we can have ESI tags in a plain text response - $content = $response->getContent(); - $content = preg_replace('#.*?#s', '', $content); - $content = preg_replace('#]+>#s', '', $content); - - $chunks = preg_split('##', $content, -1, PREG_SPLIT_DELIM_CAPTURE); - $chunks[0] = str_replace($this->phpEscapeMap[0], $this->phpEscapeMap[1], $chunks[0]); - - $i = 1; - while (isset($chunks[$i])) { - $options = []; - preg_match_all('/(src|onerror|alt)="([^"]*?)"/', $chunks[$i], $matches, PREG_SET_ORDER); - foreach ($matches as $set) { - $options[$set[1]] = $set[2]; - } - - if (!isset($options['src'])) { - throw new \RuntimeException('Unable to process an ESI tag without a "src" attribute.'); - } - - $chunks[$i] = sprintf('surrogate->handle($this, %s, %s, %s) ?>'."\n", - var_export($options['src'], true), - var_export(isset($options['alt']) ? $options['alt'] : '', true), - isset($options['onerror']) && 'continue' === $options['onerror'] ? 'true' : 'false' - ); - ++$i; - $chunks[$i] = str_replace($this->phpEscapeMap[0], $this->phpEscapeMap[1], $chunks[$i]); - ++$i; - } - $content = implode('', $chunks); - - $response->setContent($content); - $response->headers->set('X-Body-Eval', 'ESI'); - - // remove ESI/1.0 from the Surrogate-Control header - $this->removeFromControl($response); - - return $response; - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/HttpCache/HttpCache.php b/paragonik-backend/vendor/symfony/http-kernel/HttpCache/HttpCache.php deleted file mode 100644 index 716dcac..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/HttpCache/HttpCache.php +++ /dev/null @@ -1,707 +0,0 @@ - - * - * This code is partially based on the Rack-Cache library by Ryan Tomayko, - * which is released under the MIT license. - * (based on commit 02d2b48d75bcb63cf1c0c7149c077ad256542801) - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\HttpCache; - -use Symfony\Component\HttpFoundation\Request; -use Symfony\Component\HttpFoundation\Response; -use Symfony\Component\HttpKernel\HttpKernelInterface; -use Symfony\Component\HttpKernel\TerminableInterface; - -/** - * Cache provides HTTP caching. - * - * @author Fabien Potencier - */ -class HttpCache implements HttpKernelInterface, TerminableInterface -{ - private $kernel; - private $store; - private $request; - private $surrogate; - private $surrogateCacheStrategy; - private $options = []; - private $traces = []; - - /** - * Constructor. - * - * The available options are: - * - * * debug If true, exceptions are thrown when things go wrong. Otherwise, the cache - * will try to carry on and deliver a meaningful response. - * - * * trace_level May be one of 'none', 'short' and 'full'. For 'short', a concise trace of the - * master request will be added as an HTTP header. 'full' will add traces for all - * requests (including ESI subrequests). (default: 'full' if in debug; 'none' otherwise) - * - * * trace_header Header name to use for traces. (default: X-Symfony-Cache) - * - * * default_ttl The number of seconds that a cache entry should be considered - * fresh when no explicit freshness information is provided in - * a response. Explicit Cache-Control or Expires headers - * override this value. (default: 0) - * - * * private_headers Set of request headers that trigger "private" cache-control behavior - * on responses that don't explicitly state whether the response is - * public or private via a Cache-Control directive. (default: Authorization and Cookie) - * - * * allow_reload Specifies whether the client can force a cache reload by including a - * Cache-Control "no-cache" directive in the request. Set it to ``true`` - * for compliance with RFC 2616. (default: false) - * - * * allow_revalidate Specifies whether the client can force a cache revalidate by including - * a Cache-Control "max-age=0" directive in the request. Set it to ``true`` - * for compliance with RFC 2616. (default: false) - * - * * stale_while_revalidate Specifies the default number of seconds (the granularity is the second as the - * Response TTL precision is a second) during which the cache can immediately return - * a stale response while it revalidates it in the background (default: 2). - * This setting is overridden by the stale-while-revalidate HTTP Cache-Control - * extension (see RFC 5861). - * - * * stale_if_error Specifies the default number of seconds (the granularity is the second) during which - * the cache can serve a stale response when an error is encountered (default: 60). - * This setting is overridden by the stale-if-error HTTP Cache-Control extension - * (see RFC 5861). - */ - public function __construct(HttpKernelInterface $kernel, StoreInterface $store, SurrogateInterface $surrogate = null, array $options = []) - { - $this->store = $store; - $this->kernel = $kernel; - $this->surrogate = $surrogate; - - // needed in case there is a fatal error because the backend is too slow to respond - register_shutdown_function([$this->store, 'cleanup']); - - $this->options = array_merge([ - 'debug' => false, - 'default_ttl' => 0, - 'private_headers' => ['Authorization', 'Cookie'], - 'allow_reload' => false, - 'allow_revalidate' => false, - 'stale_while_revalidate' => 2, - 'stale_if_error' => 60, - 'trace_level' => 'none', - 'trace_header' => 'X-Symfony-Cache', - ], $options); - - if (!isset($options['trace_level'])) { - $this->options['trace_level'] = $this->options['debug'] ? 'full' : 'none'; - } - } - - /** - * Gets the current store. - * - * @return StoreInterface A StoreInterface instance - */ - public function getStore() - { - return $this->store; - } - - /** - * Returns an array of events that took place during processing of the last request. - * - * @return array An array of events - */ - public function getTraces() - { - return $this->traces; - } - - private function addTraces(Response $response) - { - $traceString = null; - - if ('full' === $this->options['trace_level']) { - $traceString = $this->getLog(); - } - - if ('short' === $this->options['trace_level'] && $masterId = array_key_first($this->traces)) { - $traceString = implode('/', $this->traces[$masterId]); - } - - if (null !== $traceString) { - $response->headers->add([$this->options['trace_header'] => $traceString]); - } - } - - /** - * Returns a log message for the events of the last request processing. - * - * @return string A log message - */ - public function getLog() - { - $log = []; - foreach ($this->traces as $request => $traces) { - $log[] = sprintf('%s: %s', $request, implode(', ', $traces)); - } - - return implode('; ', $log); - } - - /** - * Gets the Request instance associated with the master request. - * - * @return Request A Request instance - */ - public function getRequest() - { - return $this->request; - } - - /** - * Gets the Kernel instance. - * - * @return HttpKernelInterface An HttpKernelInterface instance - */ - public function getKernel() - { - return $this->kernel; - } - - /** - * Gets the Surrogate instance. - * - * @return SurrogateInterface A Surrogate instance - * - * @throws \LogicException - */ - public function getSurrogate() - { - return $this->surrogate; - } - - /** - * {@inheritdoc} - */ - public function handle(Request $request, $type = HttpKernelInterface::MASTER_REQUEST, $catch = true) - { - // FIXME: catch exceptions and implement a 500 error page here? -> in Varnish, there is a built-in error page mechanism - if (HttpKernelInterface::MASTER_REQUEST === $type) { - $this->traces = []; - // Keep a clone of the original request for surrogates so they can access it. - // We must clone here to get a separate instance because the application will modify the request during - // the application flow (we know it always does because we do ourselves by setting REMOTE_ADDR to 127.0.0.1 - // and adding the X-Forwarded-For header, see HttpCache::forward()). - $this->request = clone $request; - if (null !== $this->surrogate) { - $this->surrogateCacheStrategy = $this->surrogate->createCacheStrategy(); - } - } - - $this->traces[$this->getTraceKey($request)] = []; - - if (!$request->isMethodSafe()) { - $response = $this->invalidate($request, $catch); - } elseif ($request->headers->has('expect') || !$request->isMethodCacheable()) { - $response = $this->pass($request, $catch); - } elseif ($this->options['allow_reload'] && $request->isNoCache()) { - /* - If allow_reload is configured and the client requests "Cache-Control: no-cache", - reload the cache by fetching a fresh response and caching it (if possible). - */ - $this->record($request, 'reload'); - $response = $this->fetch($request, $catch); - } else { - $response = $this->lookup($request, $catch); - } - - $this->restoreResponseBody($request, $response); - - if (HttpKernelInterface::MASTER_REQUEST === $type) { - $this->addTraces($response); - } - - if (null !== $this->surrogate) { - if (HttpKernelInterface::MASTER_REQUEST === $type) { - $this->surrogateCacheStrategy->update($response); - } else { - $this->surrogateCacheStrategy->add($response); - } - } - - $response->prepare($request); - - $response->isNotModified($request); - - return $response; - } - - /** - * {@inheritdoc} - */ - public function terminate(Request $request, Response $response) - { - if ($this->getKernel() instanceof TerminableInterface) { - $this->getKernel()->terminate($request, $response); - } - } - - /** - * Forwards the Request to the backend without storing the Response in the cache. - * - * @param bool $catch Whether to process exceptions - * - * @return Response A Response instance - */ - protected function pass(Request $request, $catch = false) - { - $this->record($request, 'pass'); - - return $this->forward($request, $catch); - } - - /** - * Invalidates non-safe methods (like POST, PUT, and DELETE). - * - * @param bool $catch Whether to process exceptions - * - * @return Response A Response instance - * - * @throws \Exception - * - * @see RFC2616 13.10 - */ - protected function invalidate(Request $request, $catch = false) - { - $response = $this->pass($request, $catch); - - // invalidate only when the response is successful - if ($response->isSuccessful() || $response->isRedirect()) { - try { - $this->store->invalidate($request); - - // As per the RFC, invalidate Location and Content-Location URLs if present - foreach (['Location', 'Content-Location'] as $header) { - if ($uri = $response->headers->get($header)) { - $subRequest = Request::create($uri, 'get', [], [], [], $request->server->all()); - - $this->store->invalidate($subRequest); - } - } - - $this->record($request, 'invalidate'); - } catch (\Exception $e) { - $this->record($request, 'invalidate-failed'); - - if ($this->options['debug']) { - throw $e; - } - } - } - - return $response; - } - - /** - * Lookups a Response from the cache for the given Request. - * - * When a matching cache entry is found and is fresh, it uses it as the - * response without forwarding any request to the backend. When a matching - * cache entry is found but is stale, it attempts to "validate" the entry with - * the backend using conditional GET. When no matching cache entry is found, - * it triggers "miss" processing. - * - * @param bool $catch Whether to process exceptions - * - * @return Response A Response instance - * - * @throws \Exception - */ - protected function lookup(Request $request, $catch = false) - { - try { - $entry = $this->store->lookup($request); - } catch (\Exception $e) { - $this->record($request, 'lookup-failed'); - - if ($this->options['debug']) { - throw $e; - } - - return $this->pass($request, $catch); - } - - if (null === $entry) { - $this->record($request, 'miss'); - - return $this->fetch($request, $catch); - } - - if (!$this->isFreshEnough($request, $entry)) { - $this->record($request, 'stale'); - - return $this->validate($request, $entry, $catch); - } - - $this->record($request, 'fresh'); - - $entry->headers->set('Age', $entry->getAge()); - - return $entry; - } - - /** - * Validates that a cache entry is fresh. - * - * The original request is used as a template for a conditional - * GET request with the backend. - * - * @param bool $catch Whether to process exceptions - * - * @return Response A Response instance - */ - protected function validate(Request $request, Response $entry, $catch = false) - { - $subRequest = clone $request; - - // send no head requests because we want content - if ('HEAD' === $request->getMethod()) { - $subRequest->setMethod('GET'); - } - - // add our cached last-modified validator - if ($entry->headers->has('Last-Modified')) { - $subRequest->headers->set('if_modified_since', $entry->headers->get('Last-Modified')); - } - - // Add our cached etag validator to the environment. - // We keep the etags from the client to handle the case when the client - // has a different private valid entry which is not cached here. - $cachedEtags = $entry->getEtag() ? [$entry->getEtag()] : []; - $requestEtags = $request->getETags(); - if ($etags = array_unique(array_merge($cachedEtags, $requestEtags))) { - $subRequest->headers->set('if_none_match', implode(', ', $etags)); - } - - $response = $this->forward($subRequest, $catch, $entry); - - if (304 == $response->getStatusCode()) { - $this->record($request, 'valid'); - - // return the response and not the cache entry if the response is valid but not cached - $etag = $response->getEtag(); - if ($etag && \in_array($etag, $requestEtags) && !\in_array($etag, $cachedEtags)) { - return $response; - } - - $entry = clone $entry; - $entry->headers->remove('Date'); - - foreach (['Date', 'Expires', 'Cache-Control', 'ETag', 'Last-Modified'] as $name) { - if ($response->headers->has($name)) { - $entry->headers->set($name, $response->headers->get($name)); - } - } - - $response = $entry; - } else { - $this->record($request, 'invalid'); - } - - if ($response->isCacheable()) { - $this->store($request, $response); - } - - return $response; - } - - /** - * Unconditionally fetches a fresh response from the backend and - * stores it in the cache if is cacheable. - * - * @param bool $catch Whether to process exceptions - * - * @return Response A Response instance - */ - protected function fetch(Request $request, $catch = false) - { - $subRequest = clone $request; - - // send no head requests because we want content - if ('HEAD' === $request->getMethod()) { - $subRequest->setMethod('GET'); - } - - // avoid that the backend sends no content - $subRequest->headers->remove('if_modified_since'); - $subRequest->headers->remove('if_none_match'); - - $response = $this->forward($subRequest, $catch); - - if ($response->isCacheable()) { - $this->store($request, $response); - } - - return $response; - } - - /** - * Forwards the Request to the backend and returns the Response. - * - * All backend requests (cache passes, fetches, cache validations) - * run through this method. - * - * @param bool $catch Whether to catch exceptions or not - * @param Response|null $entry A Response instance (the stale entry if present, null otherwise) - * - * @return Response A Response instance - */ - protected function forward(Request $request, $catch = false, Response $entry = null) - { - if ($this->surrogate) { - $this->surrogate->addSurrogateCapability($request); - } - - // always a "master" request (as the real master request can be in cache) - $response = SubRequestHandler::handle($this->kernel, $request, HttpKernelInterface::MASTER_REQUEST, $catch); - - // we don't implement the stale-if-error on Requests, which is nonetheless part of the RFC - if (null !== $entry && \in_array($response->getStatusCode(), [500, 502, 503, 504])) { - if (null === $age = $entry->headers->getCacheControlDirective('stale-if-error')) { - $age = $this->options['stale_if_error']; - } - - if (abs($entry->getTtl()) < $age) { - $this->record($request, 'stale-if-error'); - - return $entry; - } - } - - /* - RFC 7231 Sect. 7.1.1.2 says that a server that does not have a reasonably accurate - clock MUST NOT send a "Date" header, although it MUST send one in most other cases - except for 1xx or 5xx responses where it MAY do so. - - Anyway, a client that received a message without a "Date" header MUST add it. - */ - if (!$response->headers->has('Date')) { - $response->setDate(\DateTime::createFromFormat('U', time())); - } - - $this->processResponseBody($request, $response); - - if ($this->isPrivateRequest($request) && !$response->headers->hasCacheControlDirective('public')) { - $response->setPrivate(); - } elseif ($this->options['default_ttl'] > 0 && null === $response->getTtl() && !$response->headers->getCacheControlDirective('must-revalidate')) { - $response->setTtl($this->options['default_ttl']); - } - - return $response; - } - - /** - * Checks whether the cache entry is "fresh enough" to satisfy the Request. - * - * @return bool true if the cache entry if fresh enough, false otherwise - */ - protected function isFreshEnough(Request $request, Response $entry) - { - if (!$entry->isFresh()) { - return $this->lock($request, $entry); - } - - if ($this->options['allow_revalidate'] && null !== $maxAge = $request->headers->getCacheControlDirective('max-age')) { - return $maxAge > 0 && $maxAge >= $entry->getAge(); - } - - return true; - } - - /** - * Locks a Request during the call to the backend. - * - * @return bool true if the cache entry can be returned even if it is staled, false otherwise - */ - protected function lock(Request $request, Response $entry) - { - // try to acquire a lock to call the backend - $lock = $this->store->lock($request); - - if (true === $lock) { - // we have the lock, call the backend - return false; - } - - // there is already another process calling the backend - - // May we serve a stale response? - if ($this->mayServeStaleWhileRevalidate($entry)) { - $this->record($request, 'stale-while-revalidate'); - - return true; - } - - // wait for the lock to be released - if ($this->waitForLock($request)) { - // replace the current entry with the fresh one - $new = $this->lookup($request); - $entry->headers = $new->headers; - $entry->setContent($new->getContent()); - $entry->setStatusCode($new->getStatusCode()); - $entry->setProtocolVersion($new->getProtocolVersion()); - foreach ($new->headers->getCookies() as $cookie) { - $entry->headers->setCookie($cookie); - } - } else { - // backend is slow as hell, send a 503 response (to avoid the dog pile effect) - $entry->setStatusCode(503); - $entry->setContent('503 Service Unavailable'); - $entry->headers->set('Retry-After', 10); - } - - return true; - } - - /** - * Writes the Response to the cache. - * - * @throws \Exception - */ - protected function store(Request $request, Response $response) - { - try { - $this->store->write($request, $response); - - $this->record($request, 'store'); - - $response->headers->set('Age', $response->getAge()); - } catch (\Exception $e) { - $this->record($request, 'store-failed'); - - if ($this->options['debug']) { - throw $e; - } - } - - // now that the response is cached, release the lock - $this->store->unlock($request); - } - - /** - * Restores the Response body. - */ - private function restoreResponseBody(Request $request, Response $response) - { - if ($response->headers->has('X-Body-Eval')) { - ob_start(); - - if ($response->headers->has('X-Body-File')) { - include $response->headers->get('X-Body-File'); - } else { - eval('; ?>'.$response->getContent().'setContent(ob_get_clean()); - $response->headers->remove('X-Body-Eval'); - if (!$response->headers->has('Transfer-Encoding')) { - $response->headers->set('Content-Length', \strlen($response->getContent())); - } - } elseif ($response->headers->has('X-Body-File')) { - // Response does not include possibly dynamic content (ESI, SSI), so we need - // not handle the content for HEAD requests - if (!$request->isMethod('HEAD')) { - $response->setContent(file_get_contents($response->headers->get('X-Body-File'))); - } - } else { - return; - } - - $response->headers->remove('X-Body-File'); - } - - protected function processResponseBody(Request $request, Response $response) - { - if (null !== $this->surrogate && $this->surrogate->needsParsing($response)) { - $this->surrogate->process($request, $response); - } - } - - /** - * Checks if the Request includes authorization or other sensitive information - * that should cause the Response to be considered private by default. - */ - private function isPrivateRequest(Request $request): bool - { - foreach ($this->options['private_headers'] as $key) { - $key = strtolower(str_replace('HTTP_', '', $key)); - - if ('cookie' === $key) { - if (\count($request->cookies->all())) { - return true; - } - } elseif ($request->headers->has($key)) { - return true; - } - } - - return false; - } - - /** - * Records that an event took place. - */ - private function record(Request $request, string $event) - { - $this->traces[$this->getTraceKey($request)][] = $event; - } - - /** - * Calculates the key we use in the "trace" array for a given request. - */ - private function getTraceKey(Request $request): string - { - $path = $request->getPathInfo(); - if ($qs = $request->getQueryString()) { - $path .= '?'.$qs; - } - - return $request->getMethod().' '.$path; - } - - /** - * Checks whether the given (cached) response may be served as "stale" when a revalidation - * is currently in progress. - */ - private function mayServeStaleWhileRevalidate(Response $entry): bool - { - $timeout = $entry->headers->getCacheControlDirective('stale-while-revalidate'); - - if (null === $timeout) { - $timeout = $this->options['stale_while_revalidate']; - } - - return abs($entry->getTtl()) < $timeout; - } - - /** - * Waits for the store to release a locked entry. - */ - private function waitForLock(Request $request): bool - { - $wait = 0; - while ($this->store->isLocked($request) && $wait < 100) { - usleep(50000); - ++$wait; - } - - return $wait < 100; - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/HttpCache/ResponseCacheStrategy.php b/paragonik-backend/vendor/symfony/http-kernel/HttpCache/ResponseCacheStrategy.php deleted file mode 100644 index 39038a9..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/HttpCache/ResponseCacheStrategy.php +++ /dev/null @@ -1,215 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\HttpCache; - -use Symfony\Component\HttpFoundation\Response; - -/** - * ResponseCacheStrategy knows how to compute the Response cache HTTP header - * based on the different response cache headers. - * - * This implementation changes the master response TTL to the smallest TTL received - * or force validation if one of the surrogates has validation cache strategy. - * - * @author Fabien Potencier - */ -class ResponseCacheStrategy implements ResponseCacheStrategyInterface -{ - /** - * Cache-Control headers that are sent to the final response if they appear in ANY of the responses. - */ - private static $overrideDirectives = ['private', 'no-cache', 'no-store', 'no-transform', 'must-revalidate', 'proxy-revalidate']; - - /** - * Cache-Control headers that are sent to the final response if they appear in ALL of the responses. - */ - private static $inheritDirectives = ['public', 'immutable']; - - private $embeddedResponses = 0; - private $isNotCacheableResponseEmbedded = false; - private $age = 0; - private $flagDirectives = [ - 'no-cache' => null, - 'no-store' => null, - 'no-transform' => null, - 'must-revalidate' => null, - 'proxy-revalidate' => null, - 'public' => null, - 'private' => null, - 'immutable' => null, - ]; - private $ageDirectives = [ - 'max-age' => null, - 's-maxage' => null, - 'expires' => null, - ]; - - /** - * {@inheritdoc} - */ - public function add(Response $response) - { - ++$this->embeddedResponses; - - foreach (self::$overrideDirectives as $directive) { - if ($response->headers->hasCacheControlDirective($directive)) { - $this->flagDirectives[$directive] = true; - } - } - - foreach (self::$inheritDirectives as $directive) { - if (false !== $this->flagDirectives[$directive]) { - $this->flagDirectives[$directive] = $response->headers->hasCacheControlDirective($directive); - } - } - - $age = $response->getAge(); - $this->age = max($this->age, $age); - - if ($this->willMakeFinalResponseUncacheable($response)) { - $this->isNotCacheableResponseEmbedded = true; - - return; - } - - $this->storeRelativeAgeDirective('max-age', $response->headers->getCacheControlDirective('max-age'), $age); - $this->storeRelativeAgeDirective('s-maxage', $response->headers->getCacheControlDirective('s-maxage') ?: $response->headers->getCacheControlDirective('max-age'), $age); - - $expires = $response->getExpires(); - $expires = null !== $expires ? (int) $expires->format('U') - (int) $response->getDate()->format('U') : null; - $this->storeRelativeAgeDirective('expires', $expires >= 0 ? $expires : null, 0); - } - - /** - * {@inheritdoc} - */ - public function update(Response $response) - { - // if we have no embedded Response, do nothing - if (0 === $this->embeddedResponses) { - return; - } - - // Remove validation related headers of the master response, - // because some of the response content comes from at least - // one embedded response (which likely has a different caching strategy). - $response->setEtag(null); - $response->setLastModified(null); - - $this->add($response); - - $response->headers->set('Age', $this->age); - - if ($this->isNotCacheableResponseEmbedded) { - $response->setExpires($response->getDate()); - - if ($this->flagDirectives['no-store']) { - $response->headers->set('Cache-Control', 'no-cache, no-store, must-revalidate'); - } else { - $response->headers->set('Cache-Control', 'no-cache, must-revalidate'); - } - - return; - } - - $flags = array_filter($this->flagDirectives); - - if (isset($flags['must-revalidate'])) { - $flags['no-cache'] = true; - } - - $response->headers->set('Cache-Control', implode(', ', array_keys($flags))); - - $maxAge = null; - - if (is_numeric($this->ageDirectives['max-age'])) { - $maxAge = $this->ageDirectives['max-age'] + $this->age; - $response->headers->addCacheControlDirective('max-age', $maxAge); - } - - if (is_numeric($this->ageDirectives['s-maxage'])) { - $sMaxage = $this->ageDirectives['s-maxage'] + $this->age; - - if ($maxAge !== $sMaxage) { - $response->headers->addCacheControlDirective('s-maxage', $sMaxage); - } - } - - if (is_numeric($this->ageDirectives['expires'])) { - $date = clone $response->getDate(); - $date->modify('+'.($this->ageDirectives['expires'] + $this->age).' seconds'); - $response->setExpires($date); - } - } - - /** - * RFC2616, Section 13.4. - * - * @see https://www.w3.org/Protocols/rfc2616/rfc2616-sec13.html#sec13.4 - */ - private function willMakeFinalResponseUncacheable(Response $response): bool - { - // RFC2616: A response received with a status code of 200, 203, 300, 301 or 410 - // MAY be stored by a cache […] unless a cache-control directive prohibits caching. - if ($response->headers->hasCacheControlDirective('no-cache') - || $response->headers->getCacheControlDirective('no-store') - ) { - return true; - } - - // Last-Modified and Etag headers cannot be merged, they render the response uncacheable - // by default (except if the response also has max-age etc.). - if (\in_array($response->getStatusCode(), [200, 203, 300, 301, 410]) - && null === $response->getLastModified() - && null === $response->getEtag() - ) { - return false; - } - - // RFC2616: A response received with any other status code (e.g. status codes 302 and 307) - // MUST NOT be returned in a reply to a subsequent request unless there are - // cache-control directives or another header(s) that explicitly allow it. - $cacheControl = ['max-age', 's-maxage', 'must-revalidate', 'proxy-revalidate', 'public', 'private']; - foreach ($cacheControl as $key) { - if ($response->headers->hasCacheControlDirective($key)) { - return false; - } - } - - if ($response->headers->has('Expires')) { - return false; - } - - return true; - } - - /** - * Store lowest max-age/s-maxage/expires for the final response. - * - * The response might have been stored in cache a while ago. To keep things comparable, - * we have to subtract the age so that the value is normalized for an age of 0. - * - * If the value is lower than the currently stored value, we update the value, to keep a rolling - * minimal value of each instruction. If the value is NULL, the directive will not be set on the final response. - */ - private function storeRelativeAgeDirective(string $directive, ?int $value, int $age) - { - if (null === $value) { - $this->ageDirectives[$directive] = false; - } - - if (false !== $this->ageDirectives[$directive]) { - $value -= $age; - $this->ageDirectives[$directive] = null !== $this->ageDirectives[$directive] ? min($this->ageDirectives[$directive], $value) : $value; - } - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/HttpCache/ResponseCacheStrategyInterface.php b/paragonik-backend/vendor/symfony/http-kernel/HttpCache/ResponseCacheStrategyInterface.php deleted file mode 100644 index e282299..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/HttpCache/ResponseCacheStrategyInterface.php +++ /dev/null @@ -1,37 +0,0 @@ - - * - * This code is partially based on the Rack-Cache library by Ryan Tomayko, - * which is released under the MIT license. - * (based on commit 02d2b48d75bcb63cf1c0c7149c077ad256542801) - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\HttpCache; - -use Symfony\Component\HttpFoundation\Response; - -/** - * ResponseCacheStrategyInterface implementations know how to compute the - * Response cache HTTP header based on the different response cache headers. - * - * @author Fabien Potencier - */ -interface ResponseCacheStrategyInterface -{ - /** - * Adds a Response. - */ - public function add(Response $response); - - /** - * Updates the Response HTTP headers based on the embedded Responses. - */ - public function update(Response $response); -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/HttpCache/Ssi.php b/paragonik-backend/vendor/symfony/http-kernel/HttpCache/Ssi.php deleted file mode 100644 index 40aac64..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/HttpCache/Ssi.php +++ /dev/null @@ -1,100 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\HttpCache; - -use Symfony\Component\HttpFoundation\Request; -use Symfony\Component\HttpFoundation\Response; - -/** - * Ssi implements the SSI capabilities to Request and Response instances. - * - * @author Sebastian Krebs - */ -class Ssi extends AbstractSurrogate -{ - /** - * {@inheritdoc} - */ - public function getName() - { - return 'ssi'; - } - - /** - * {@inheritdoc} - */ - public function addSurrogateControl(Response $response) - { - if (false !== strpos($response->getContent(), '', $uri); - } - - /** - * {@inheritdoc} - */ - public function process(Request $request, Response $response) - { - $type = $response->headers->get('Content-Type'); - if (empty($type)) { - $type = 'text/html'; - } - - $parts = explode(';', $type); - if (!\in_array($parts[0], $this->contentTypes)) { - return $response; - } - - // we don't use a proper XML parser here as we can have SSI tags in a plain text response - $content = $response->getContent(); - - $chunks = preg_split('##', $content, -1, PREG_SPLIT_DELIM_CAPTURE); - $chunks[0] = str_replace($this->phpEscapeMap[0], $this->phpEscapeMap[1], $chunks[0]); - - $i = 1; - while (isset($chunks[$i])) { - $options = []; - preg_match_all('/(virtual)="([^"]*?)"/', $chunks[$i], $matches, PREG_SET_ORDER); - foreach ($matches as $set) { - $options[$set[1]] = $set[2]; - } - - if (!isset($options['virtual'])) { - throw new \RuntimeException('Unable to process an SSI tag without a "virtual" attribute.'); - } - - $chunks[$i] = sprintf('surrogate->handle($this, %s, \'\', false) ?>'."\n", - var_export($options['virtual'], true) - ); - ++$i; - $chunks[$i] = str_replace($this->phpEscapeMap[0], $this->phpEscapeMap[1], $chunks[$i]); - ++$i; - } - $content = implode('', $chunks); - - $response->setContent($content); - $response->headers->set('X-Body-Eval', 'SSI'); - - // remove SSI/1.0 from the Surrogate-Control header - $this->removeFromControl($response); - - return $response; - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/HttpCache/Store.php b/paragonik-backend/vendor/symfony/http-kernel/HttpCache/Store.php deleted file mode 100644 index bf7fd15..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/HttpCache/Store.php +++ /dev/null @@ -1,462 +0,0 @@ - - * - * This code is partially based on the Rack-Cache library by Ryan Tomayko, - * which is released under the MIT license. - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\HttpCache; - -use Symfony\Component\HttpFoundation\Request; -use Symfony\Component\HttpFoundation\Response; - -/** - * Store implements all the logic for storing cache metadata (Request and Response headers). - * - * @author Fabien Potencier - */ -class Store implements StoreInterface -{ - protected $root; - private $keyCache; - private $locks; - - /** - * @throws \RuntimeException - */ - public function __construct(string $root) - { - $this->root = $root; - if (!file_exists($this->root) && !@mkdir($this->root, 0777, true) && !is_dir($this->root)) { - throw new \RuntimeException(sprintf('Unable to create the store directory (%s).', $this->root)); - } - $this->keyCache = new \SplObjectStorage(); - $this->locks = []; - } - - /** - * Cleanups storage. - */ - public function cleanup() - { - // unlock everything - foreach ($this->locks as $lock) { - flock($lock, LOCK_UN); - fclose($lock); - } - - $this->locks = []; - } - - /** - * Tries to lock the cache for a given Request, without blocking. - * - * @return bool|string true if the lock is acquired, the path to the current lock otherwise - */ - public function lock(Request $request) - { - $key = $this->getCacheKey($request); - - if (!isset($this->locks[$key])) { - $path = $this->getPath($key); - if (!file_exists(\dirname($path)) && false === @mkdir(\dirname($path), 0777, true) && !is_dir(\dirname($path))) { - return $path; - } - $h = fopen($path, 'cb'); - if (!flock($h, LOCK_EX | LOCK_NB)) { - fclose($h); - - return $path; - } - - $this->locks[$key] = $h; - } - - return true; - } - - /** - * Releases the lock for the given Request. - * - * @return bool False if the lock file does not exist or cannot be unlocked, true otherwise - */ - public function unlock(Request $request) - { - $key = $this->getCacheKey($request); - - if (isset($this->locks[$key])) { - flock($this->locks[$key], LOCK_UN); - fclose($this->locks[$key]); - unset($this->locks[$key]); - - return true; - } - - return false; - } - - public function isLocked(Request $request) - { - $key = $this->getCacheKey($request); - - if (isset($this->locks[$key])) { - return true; // shortcut if lock held by this process - } - - if (!file_exists($path = $this->getPath($key))) { - return false; - } - - $h = fopen($path, 'rb'); - flock($h, LOCK_EX | LOCK_NB, $wouldBlock); - flock($h, LOCK_UN); // release the lock we just acquired - fclose($h); - - return (bool) $wouldBlock; - } - - /** - * Locates a cached Response for the Request provided. - * - * @return Response|null A Response instance, or null if no cache entry was found - */ - public function lookup(Request $request) - { - $key = $this->getCacheKey($request); - - if (!$entries = $this->getMetadata($key)) { - return null; - } - - // find a cached entry that matches the request. - $match = null; - foreach ($entries as $entry) { - if ($this->requestsMatch(isset($entry[1]['vary'][0]) ? implode(', ', $entry[1]['vary']) : '', $request->headers->all(), $entry[0])) { - $match = $entry; - - break; - } - } - - if (null === $match) { - return null; - } - - $headers = $match[1]; - if (file_exists($body = $this->getPath($headers['x-content-digest'][0]))) { - return $this->restoreResponse($headers, $body); - } - - // TODO the metaStore referenced an entity that doesn't exist in - // the entityStore. We definitely want to return nil but we should - // also purge the entry from the meta-store when this is detected. - return null; - } - - /** - * Writes a cache entry to the store for the given Request and Response. - * - * Existing entries are read and any that match the response are removed. This - * method calls write with the new list of cache entries. - * - * @return string The key under which the response is stored - * - * @throws \RuntimeException - */ - public function write(Request $request, Response $response) - { - $key = $this->getCacheKey($request); - $storedEnv = $this->persistRequest($request); - - // write the response body to the entity store if this is the original response - if (!$response->headers->has('X-Content-Digest')) { - $digest = $this->generateContentDigest($response); - - if (!$this->save($digest, $response->getContent())) { - throw new \RuntimeException('Unable to store the entity.'); - } - - $response->headers->set('X-Content-Digest', $digest); - - if (!$response->headers->has('Transfer-Encoding')) { - $response->headers->set('Content-Length', \strlen($response->getContent())); - } - } - - // read existing cache entries, remove non-varying, and add this one to the list - $entries = []; - $vary = $response->headers->get('vary'); - foreach ($this->getMetadata($key) as $entry) { - if (!isset($entry[1]['vary'][0])) { - $entry[1]['vary'] = ['']; - } - - if ($entry[1]['vary'][0] != $vary || !$this->requestsMatch($vary, $entry[0], $storedEnv)) { - $entries[] = $entry; - } - } - - $headers = $this->persistResponse($response); - unset($headers['age']); - - array_unshift($entries, [$storedEnv, $headers]); - - if (!$this->save($key, serialize($entries))) { - throw new \RuntimeException('Unable to store the metadata.'); - } - - return $key; - } - - /** - * Returns content digest for $response. - * - * @return string - */ - protected function generateContentDigest(Response $response) - { - return 'en'.hash('sha256', $response->getContent()); - } - - /** - * Invalidates all cache entries that match the request. - * - * @throws \RuntimeException - */ - public function invalidate(Request $request) - { - $modified = false; - $key = $this->getCacheKey($request); - - $entries = []; - foreach ($this->getMetadata($key) as $entry) { - $response = $this->restoreResponse($entry[1]); - if ($response->isFresh()) { - $response->expire(); - $modified = true; - $entries[] = [$entry[0], $this->persistResponse($response)]; - } else { - $entries[] = $entry; - } - } - - if ($modified && !$this->save($key, serialize($entries))) { - throw new \RuntimeException('Unable to store the metadata.'); - } - } - - /** - * Determines whether two Request HTTP header sets are non-varying based on - * the vary response header value provided. - * - * @param string $vary A Response vary header - * @param array $env1 A Request HTTP header array - * @param array $env2 A Request HTTP header array - */ - private function requestsMatch(?string $vary, array $env1, array $env2): bool - { - if (empty($vary)) { - return true; - } - - foreach (preg_split('/[\s,]+/', $vary) as $header) { - $key = str_replace('_', '-', strtolower($header)); - $v1 = isset($env1[$key]) ? $env1[$key] : null; - $v2 = isset($env2[$key]) ? $env2[$key] : null; - if ($v1 !== $v2) { - return false; - } - } - - return true; - } - - /** - * Gets all data associated with the given key. - * - * Use this method only if you know what you are doing. - */ - private function getMetadata(string $key): array - { - if (!$entries = $this->load($key)) { - return []; - } - - return unserialize($entries); - } - - /** - * Purges data for the given URL. - * - * This method purges both the HTTP and the HTTPS version of the cache entry. - * - * @param string $url A URL - * - * @return bool true if the URL exists with either HTTP or HTTPS scheme and has been purged, false otherwise - */ - public function purge($url) - { - $http = preg_replace('#^https:#', 'http:', $url); - $https = preg_replace('#^http:#', 'https:', $url); - - $purgedHttp = $this->doPurge($http); - $purgedHttps = $this->doPurge($https); - - return $purgedHttp || $purgedHttps; - } - - /** - * Purges data for the given URL. - */ - private function doPurge(string $url): bool - { - $key = $this->getCacheKey(Request::create($url)); - if (isset($this->locks[$key])) { - flock($this->locks[$key], LOCK_UN); - fclose($this->locks[$key]); - unset($this->locks[$key]); - } - - if (file_exists($path = $this->getPath($key))) { - unlink($path); - - return true; - } - - return false; - } - - /** - * Loads data for the given key. - */ - private function load(string $key): ?string - { - $path = $this->getPath($key); - - return file_exists($path) && false !== ($contents = file_get_contents($path)) ? $contents : null; - } - - /** - * Save data for the given key. - */ - private function save(string $key, string $data): bool - { - $path = $this->getPath($key); - - if (isset($this->locks[$key])) { - $fp = $this->locks[$key]; - @ftruncate($fp, 0); - @fseek($fp, 0); - $len = @fwrite($fp, $data); - if (\strlen($data) !== $len) { - @ftruncate($fp, 0); - - return false; - } - } else { - if (!file_exists(\dirname($path)) && false === @mkdir(\dirname($path), 0777, true) && !is_dir(\dirname($path))) { - return false; - } - - $tmpFile = tempnam(\dirname($path), basename($path)); - if (false === $fp = @fopen($tmpFile, 'wb')) { - @unlink($tmpFile); - - return false; - } - @fwrite($fp, $data); - @fclose($fp); - - if ($data != file_get_contents($tmpFile)) { - @unlink($tmpFile); - - return false; - } - - if (false === @rename($tmpFile, $path)) { - @unlink($tmpFile); - - return false; - } - } - - @chmod($path, 0666 & ~umask()); - - return true; - } - - public function getPath($key) - { - return $this->root.\DIRECTORY_SEPARATOR.substr($key, 0, 2).\DIRECTORY_SEPARATOR.substr($key, 2, 2).\DIRECTORY_SEPARATOR.substr($key, 4, 2).\DIRECTORY_SEPARATOR.substr($key, 6); - } - - /** - * Generates a cache key for the given Request. - * - * This method should return a key that must only depend on a - * normalized version of the request URI. - * - * If the same URI can have more than one representation, based on some - * headers, use a Vary header to indicate them, and each representation will - * be stored independently under the same cache key. - * - * @return string A key for the given Request - */ - protected function generateCacheKey(Request $request) - { - return 'md'.hash('sha256', $request->getUri()); - } - - /** - * Returns a cache key for the given Request. - */ - private function getCacheKey(Request $request): string - { - if (isset($this->keyCache[$request])) { - return $this->keyCache[$request]; - } - - return $this->keyCache[$request] = $this->generateCacheKey($request); - } - - /** - * Persists the Request HTTP headers. - */ - private function persistRequest(Request $request): array - { - return $request->headers->all(); - } - - /** - * Persists the Response HTTP headers. - */ - private function persistResponse(Response $response): array - { - $headers = $response->headers->all(); - $headers['X-Status'] = [$response->getStatusCode()]; - - return $headers; - } - - /** - * Restores a Response from the HTTP headers and body. - */ - private function restoreResponse(array $headers, string $body = null): Response - { - $status = $headers['X-Status'][0]; - unset($headers['X-Status']); - - if (null !== $body) { - $headers['X-Body-File'] = [$body]; - } - - return new Response($body, $status, $headers); - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/HttpCache/StoreInterface.php b/paragonik-backend/vendor/symfony/http-kernel/HttpCache/StoreInterface.php deleted file mode 100644 index 8f1cf44..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/HttpCache/StoreInterface.php +++ /dev/null @@ -1,83 +0,0 @@ - - * - * This code is partially based on the Rack-Cache library by Ryan Tomayko, - * which is released under the MIT license. - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\HttpCache; - -use Symfony\Component\HttpFoundation\Request; -use Symfony\Component\HttpFoundation\Response; - -/** - * Interface implemented by HTTP cache stores. - * - * @author Fabien Potencier - */ -interface StoreInterface -{ - /** - * Locates a cached Response for the Request provided. - * - * @return Response|null A Response instance, or null if no cache entry was found - */ - public function lookup(Request $request); - - /** - * Writes a cache entry to the store for the given Request and Response. - * - * Existing entries are read and any that match the response are removed. This - * method calls write with the new list of cache entries. - * - * @return string The key under which the response is stored - */ - public function write(Request $request, Response $response); - - /** - * Invalidates all cache entries that match the request. - */ - public function invalidate(Request $request); - - /** - * Locks the cache for a given Request. - * - * @return bool|string true if the lock is acquired, the path to the current lock otherwise - */ - public function lock(Request $request); - - /** - * Releases the lock for the given Request. - * - * @return bool False if the lock file does not exist or cannot be unlocked, true otherwise - */ - public function unlock(Request $request); - - /** - * Returns whether or not a lock exists. - * - * @return bool true if lock exists, false otherwise - */ - public function isLocked(Request $request); - - /** - * Purges data for the given URL. - * - * @param string $url A URL - * - * @return bool true if the URL exists and has been purged, false otherwise - */ - public function purge($url); - - /** - * Cleanups storage. - */ - public function cleanup(); -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/HttpCache/SubRequestHandler.php b/paragonik-backend/vendor/symfony/http-kernel/HttpCache/SubRequestHandler.php deleted file mode 100644 index cef9817..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/HttpCache/SubRequestHandler.php +++ /dev/null @@ -1,91 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\HttpCache; - -use Symfony\Component\HttpFoundation\IpUtils; -use Symfony\Component\HttpFoundation\Request; -use Symfony\Component\HttpFoundation\Response; -use Symfony\Component\HttpKernel\HttpKernelInterface; - -/** - * @author Nicolas Grekas - * - * @internal - */ -class SubRequestHandler -{ - public static function handle(HttpKernelInterface $kernel, Request $request, $type, $catch): Response - { - // save global state related to trusted headers and proxies - $trustedProxies = Request::getTrustedProxies(); - $trustedHeaderSet = Request::getTrustedHeaderSet(); - - // remove untrusted values - $remoteAddr = $request->server->get('REMOTE_ADDR'); - if (!IpUtils::checkIp($remoteAddr, $trustedProxies)) { - $trustedHeaders = [ - 'FORWARDED' => $trustedHeaderSet & Request::HEADER_FORWARDED, - 'X_FORWARDED_FOR' => $trustedHeaderSet & Request::HEADER_X_FORWARDED_FOR, - 'X_FORWARDED_HOST' => $trustedHeaderSet & Request::HEADER_X_FORWARDED_HOST, - 'X_FORWARDED_PROTO' => $trustedHeaderSet & Request::HEADER_X_FORWARDED_PROTO, - 'X_FORWARDED_PORT' => $trustedHeaderSet & Request::HEADER_X_FORWARDED_PORT, - ]; - foreach (array_filter($trustedHeaders) as $name => $key) { - $request->headers->remove($name); - $request->server->remove('HTTP_'.$name); - } - } - - // compute trusted values, taking any trusted proxies into account - $trustedIps = []; - $trustedValues = []; - foreach (array_reverse($request->getClientIps()) as $ip) { - $trustedIps[] = $ip; - $trustedValues[] = sprintf('for="%s"', $ip); - } - if ($ip !== $remoteAddr) { - $trustedIps[] = $remoteAddr; - $trustedValues[] = sprintf('for="%s"', $remoteAddr); - } - - // set trusted values, reusing as much as possible the global trusted settings - if (Request::HEADER_FORWARDED & $trustedHeaderSet) { - $trustedValues[0] .= sprintf(';host="%s";proto=%s', $request->getHttpHost(), $request->getScheme()); - $request->headers->set('Forwarded', $v = implode(', ', $trustedValues)); - $request->server->set('HTTP_FORWARDED', $v); - } - if (Request::HEADER_X_FORWARDED_FOR & $trustedHeaderSet) { - $request->headers->set('X-Forwarded-For', $v = implode(', ', $trustedIps)); - $request->server->set('HTTP_X_FORWARDED_FOR', $v); - } elseif (!(Request::HEADER_FORWARDED & $trustedHeaderSet)) { - Request::setTrustedProxies($trustedProxies, $trustedHeaderSet | Request::HEADER_X_FORWARDED_FOR); - $request->headers->set('X-Forwarded-For', $v = implode(', ', $trustedIps)); - $request->server->set('HTTP_X_FORWARDED_FOR', $v); - } - - // fix the client IP address by setting it to 127.0.0.1, - // which is the core responsibility of this method - $request->server->set('REMOTE_ADDR', '127.0.0.1'); - - // ensure 127.0.0.1 is set as trusted proxy - if (!IpUtils::checkIp('127.0.0.1', $trustedProxies)) { - Request::setTrustedProxies(array_merge($trustedProxies, ['127.0.0.1']), Request::getTrustedHeaderSet()); - } - - try { - return $kernel->handle($request, $type, $catch); - } finally { - // restore global state - Request::setTrustedProxies($trustedProxies, $trustedHeaderSet); - } - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/HttpCache/SurrogateInterface.php b/paragonik-backend/vendor/symfony/http-kernel/HttpCache/SurrogateInterface.php deleted file mode 100644 index a26698c..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/HttpCache/SurrogateInterface.php +++ /dev/null @@ -1,91 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\HttpCache; - -use Symfony\Component\HttpFoundation\Request; -use Symfony\Component\HttpFoundation\Response; - -interface SurrogateInterface -{ - /** - * Returns surrogate name. - * - * @return string - */ - public function getName(); - - /** - * Returns a new cache strategy instance. - * - * @return ResponseCacheStrategyInterface A ResponseCacheStrategyInterface instance - */ - public function createCacheStrategy(); - - /** - * Checks that at least one surrogate has Surrogate capability. - * - * @return bool true if one surrogate has Surrogate capability, false otherwise - */ - public function hasSurrogateCapability(Request $request); - - /** - * Adds Surrogate-capability to the given Request. - */ - public function addSurrogateCapability(Request $request); - - /** - * Adds HTTP headers to specify that the Response needs to be parsed for Surrogate. - * - * This method only adds an Surrogate HTTP header if the Response has some Surrogate tags. - */ - public function addSurrogateControl(Response $response); - - /** - * Checks that the Response needs to be parsed for Surrogate tags. - * - * @return bool true if the Response needs to be parsed, false otherwise - */ - public function needsParsing(Response $response); - - /** - * Renders a Surrogate tag. - * - * @param string $uri A URI - * @param string $alt An alternate URI - * @param bool $ignoreErrors Whether to ignore errors or not - * @param string $comment A comment to add as an esi:include tag - * - * @return string - */ - public function renderIncludeTag($uri, $alt = null, $ignoreErrors = true, $comment = ''); - - /** - * Replaces a Response Surrogate tags with the included resource content. - * - * @return Response - */ - public function process(Request $request, Response $response); - - /** - * Handles a Surrogate from the cache. - * - * @param string $uri The main URI - * @param string $alt An alternative URI - * @param bool $ignoreErrors Whether to ignore errors or not - * - * @return string - * - * @throws \RuntimeException - * @throws \Exception - */ - public function handle(HttpCache $cache, $uri, $alt, $ignoreErrors); -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/HttpClientKernel.php b/paragonik-backend/vendor/symfony/http-kernel/HttpClientKernel.php deleted file mode 100644 index c8421a4..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/HttpClientKernel.php +++ /dev/null @@ -1,106 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel; - -use Symfony\Component\HttpClient\HttpClient; -use Symfony\Component\HttpFoundation\Request; -use Symfony\Component\HttpFoundation\Response; -use Symfony\Component\HttpFoundation\ResponseHeaderBag; -use Symfony\Component\Mime\Part\AbstractPart; -use Symfony\Component\Mime\Part\DataPart; -use Symfony\Component\Mime\Part\Multipart\FormDataPart; -use Symfony\Component\Mime\Part\TextPart; -use Symfony\Contracts\HttpClient\HttpClientInterface; - -/** - * An implementation of a Symfony HTTP kernel using a "real" HTTP client. - * - * @author Fabien Potencier - */ -final class HttpClientKernel implements HttpKernelInterface -{ - private $client; - - public function __construct(HttpClientInterface $client = null) - { - if (!class_exists(HttpClient::class)) { - throw new \LogicException(sprintf('You cannot use "%s" as the HttpClient component is not installed. Try running "composer require symfony/http-client".', __CLASS__)); - } - - $this->client = $client ?? HttpClient::create(); - } - - public function handle(Request $request, $type = HttpKernelInterface::MASTER_REQUEST, $catch = true): Response - { - $headers = $this->getHeaders($request); - $body = ''; - if (null !== $part = $this->getBody($request)) { - $headers = array_merge($headers, $part->getPreparedHeaders()->toArray()); - $body = $part->bodyToIterable(); - } - $response = $this->client->request($request->getMethod(), $request->getUri(), [ - 'headers' => $headers, - 'body' => $body, - 'max_redirects' => 0, - ] + $request->attributes->get('http_client_options', [])); - - $response = new Response($response->getContent(!$catch), $response->getStatusCode(), $response->getHeaders(!$catch)); - - $response->headers = new class($response->headers->all()) extends ResponseHeaderBag { - protected function computeCacheControlValue(): string - { - return $this->getCacheControlHeader(); // preserve the original value - } - }; - - return $response; - } - - private function getBody(Request $request): ?AbstractPart - { - if (\in_array($request->getMethod(), ['GET', 'HEAD'])) { - return null; - } - - if (!class_exists(AbstractPart::class)) { - throw new \LogicException('You cannot pass non-empty bodies as the Mime component is not installed. Try running "composer require symfony/mime".'); - } - - if ($content = $request->getContent()) { - return new TextPart($content, 'utf-8', 'plain', '8bit'); - } - - $fields = $request->request->all(); - foreach ($request->files->all() as $name => $file) { - $fields[$name] = DataPart::fromPath($file->getPathname(), $file->getClientOriginalName(), $file->getClientMimeType()); - } - - return new FormDataPart($fields); - } - - private function getHeaders(Request $request): array - { - $headers = []; - foreach ($request->headers as $key => $value) { - $headers[$key] = $value; - } - $cookies = []; - foreach ($request->cookies->all() as $name => $value) { - $cookies[] = $name.'='.$value; - } - if ($cookies) { - $headers['cookie'] = implode('; ', $cookies); - } - - return $headers; - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/HttpKernel.php b/paragonik-backend/vendor/symfony/http-kernel/HttpKernel.php deleted file mode 100644 index f1b6013..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/HttpKernel.php +++ /dev/null @@ -1,283 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel; - -use Symfony\Component\EventDispatcher\LegacyEventDispatcherProxy; -use Symfony\Component\HttpFoundation\Exception\RequestExceptionInterface; -use Symfony\Component\HttpFoundation\Request; -use Symfony\Component\HttpFoundation\RequestStack; -use Symfony\Component\HttpFoundation\Response; -use Symfony\Component\HttpKernel\Controller\ArgumentResolver; -use Symfony\Component\HttpKernel\Controller\ArgumentResolverInterface; -use Symfony\Component\HttpKernel\Controller\ControllerResolverInterface; -use Symfony\Component\HttpKernel\Event\ControllerArgumentsEvent; -use Symfony\Component\HttpKernel\Event\ControllerEvent; -use Symfony\Component\HttpKernel\Event\ExceptionEvent; -use Symfony\Component\HttpKernel\Event\FinishRequestEvent; -use Symfony\Component\HttpKernel\Event\RequestEvent; -use Symfony\Component\HttpKernel\Event\ResponseEvent; -use Symfony\Component\HttpKernel\Event\TerminateEvent; -use Symfony\Component\HttpKernel\Event\ViewEvent; -use Symfony\Component\HttpKernel\Exception\BadRequestHttpException; -use Symfony\Component\HttpKernel\Exception\ControllerDoesNotReturnResponseException; -use Symfony\Component\HttpKernel\Exception\HttpExceptionInterface; -use Symfony\Component\HttpKernel\Exception\NotFoundHttpException; -use Symfony\Contracts\EventDispatcher\EventDispatcherInterface; - -/** - * HttpKernel notifies events to convert a Request object to a Response one. - * - * @author Fabien Potencier - */ -class HttpKernel implements HttpKernelInterface, TerminableInterface -{ - protected $dispatcher; - protected $resolver; - protected $requestStack; - private $argumentResolver; - - public function __construct(EventDispatcherInterface $dispatcher, ControllerResolverInterface $resolver, RequestStack $requestStack = null, ArgumentResolverInterface $argumentResolver = null) - { - $this->dispatcher = LegacyEventDispatcherProxy::decorate($dispatcher); - $this->resolver = $resolver; - $this->requestStack = $requestStack ?: new RequestStack(); - $this->argumentResolver = $argumentResolver; - - if (null === $this->argumentResolver) { - $this->argumentResolver = new ArgumentResolver(); - } - } - - /** - * {@inheritdoc} - */ - public function handle(Request $request, $type = HttpKernelInterface::MASTER_REQUEST, $catch = true) - { - $request->headers->set('X-Php-Ob-Level', (string) ob_get_level()); - - try { - return $this->handleRaw($request, $type); - } catch (\Exception $e) { - if ($e instanceof RequestExceptionInterface) { - $e = new BadRequestHttpException($e->getMessage(), $e); - } - if (false === $catch) { - $this->finishRequest($request, $type); - - throw $e; - } - - return $this->handleThrowable($e, $request, $type); - } - } - - /** - * {@inheritdoc} - */ - public function terminate(Request $request, Response $response) - { - $this->dispatcher->dispatch(new TerminateEvent($this, $request, $response), KernelEvents::TERMINATE); - } - - /** - * @internal - */ - public function terminateWithException(\Throwable $exception, Request $request = null) - { - if (!$request = $request ?: $this->requestStack->getMasterRequest()) { - throw $exception; - } - - $response = $this->handleThrowable($exception, $request, self::MASTER_REQUEST); - - $response->sendHeaders(); - $response->sendContent(); - - $this->terminate($request, $response); - } - - /** - * Handles a request to convert it to a response. - * - * Exceptions are not caught. - * - * @throws \LogicException If one of the listener does not behave as expected - * @throws NotFoundHttpException When controller cannot be found - */ - private function handleRaw(Request $request, int $type = self::MASTER_REQUEST): Response - { - $this->requestStack->push($request); - - // request - $event = new RequestEvent($this, $request, $type); - $this->dispatcher->dispatch($event, KernelEvents::REQUEST); - - if ($event->hasResponse()) { - return $this->filterResponse($event->getResponse(), $request, $type); - } - - // load controller - if (false === $controller = $this->resolver->getController($request)) { - throw new NotFoundHttpException(sprintf('Unable to find the controller for path "%s". The route is wrongly configured.', $request->getPathInfo())); - } - - $event = new ControllerEvent($this, $controller, $request, $type); - $this->dispatcher->dispatch($event, KernelEvents::CONTROLLER); - $controller = $event->getController(); - - // controller arguments - $arguments = $this->argumentResolver->getArguments($request, $controller); - - $event = new ControllerArgumentsEvent($this, $controller, $arguments, $request, $type); - $this->dispatcher->dispatch($event, KernelEvents::CONTROLLER_ARGUMENTS); - $controller = $event->getController(); - $arguments = $event->getArguments(); - - // call controller - $response = $controller(...$arguments); - - // view - if (!$response instanceof Response) { - $event = new ViewEvent($this, $request, $type, $response); - $this->dispatcher->dispatch($event, KernelEvents::VIEW); - - if ($event->hasResponse()) { - $response = $event->getResponse(); - } else { - $msg = sprintf('The controller must return a "Symfony\Component\HttpFoundation\Response" object but it returned %s.', $this->varToString($response)); - - // the user may have forgotten to return something - if (null === $response) { - $msg .= ' Did you forget to add a return statement somewhere in your controller?'; - } - - throw new ControllerDoesNotReturnResponseException($msg, $controller, __FILE__, __LINE__ - 17); - } - } - - return $this->filterResponse($response, $request, $type); - } - - /** - * Filters a response object. - * - * @throws \RuntimeException if the passed object is not a Response instance - */ - private function filterResponse(Response $response, Request $request, int $type): Response - { - $event = new ResponseEvent($this, $request, $type, $response); - - $this->dispatcher->dispatch($event, KernelEvents::RESPONSE); - - $this->finishRequest($request, $type); - - return $event->getResponse(); - } - - /** - * Publishes the finish request event, then pop the request from the stack. - * - * Note that the order of the operations is important here, otherwise - * operations such as {@link RequestStack::getParentRequest()} can lead to - * weird results. - */ - private function finishRequest(Request $request, int $type) - { - $this->dispatcher->dispatch(new FinishRequestEvent($this, $request, $type), KernelEvents::FINISH_REQUEST); - $this->requestStack->pop(); - } - - /** - * Handles a throwable by trying to convert it to a Response. - * - * @throws \Exception - */ - private function handleThrowable(\Throwable $e, Request $request, int $type): Response - { - $event = new ExceptionEvent($this, $request, $type, $e); - $this->dispatcher->dispatch($event, KernelEvents::EXCEPTION); - - // a listener might have replaced the exception - $e = $event->getThrowable(); - - if (!$event->hasResponse()) { - $this->finishRequest($request, $type); - - throw $e; - } - - $response = $event->getResponse(); - - // the developer asked for a specific status code - if (!$event->isAllowingCustomResponseCode() && !$response->isClientError() && !$response->isServerError() && !$response->isRedirect()) { - // ensure that we actually have an error response - if ($e instanceof HttpExceptionInterface) { - // keep the HTTP status code and headers - $response->setStatusCode($e->getStatusCode()); - $response->headers->add($e->getHeaders()); - } else { - $response->setStatusCode(500); - } - } - - try { - return $this->filterResponse($response, $request, $type); - } catch (\Exception $e) { - return $response; - } - } - - /** - * Returns a human-readable string for the specified variable. - */ - private function varToString($var): string - { - if (\is_object($var)) { - return sprintf('an object of type %s', \get_class($var)); - } - - if (\is_array($var)) { - $a = []; - foreach ($var as $k => $v) { - $a[] = sprintf('%s => ...', $k); - } - - return sprintf('an array ([%s])', mb_substr(implode(', ', $a), 0, 255)); - } - - if (\is_resource($var)) { - return sprintf('a resource (%s)', get_resource_type($var)); - } - - if (null === $var) { - return 'null'; - } - - if (false === $var) { - return 'a boolean value (false)'; - } - - if (true === $var) { - return 'a boolean value (true)'; - } - - if (\is_string($var)) { - return sprintf('a string ("%s%s")', mb_substr($var, 0, 255), mb_strlen($var) > 255 ? '...' : ''); - } - - if (is_numeric($var)) { - return sprintf('a number (%s)', (string) $var); - } - - return (string) $var; - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/HttpKernelBrowser.php b/paragonik-backend/vendor/symfony/http-kernel/HttpKernelBrowser.php deleted file mode 100644 index e413634..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/HttpKernelBrowser.php +++ /dev/null @@ -1,27 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel; - -use Symfony\Component\HttpFoundation\Request; -use Symfony\Component\HttpFoundation\Response; - -/** - * Client simulates a browser and makes requests to an HttpKernel instance. - * - * @author Fabien Potencier - * - * @method Request getRequest() A Request instance - * @method Response getResponse() A Response instance - */ -class HttpKernelBrowser extends Client -{ -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/HttpKernelInterface.php b/paragonik-backend/vendor/symfony/http-kernel/HttpKernelInterface.php deleted file mode 100644 index 7595d29..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/HttpKernelInterface.php +++ /dev/null @@ -1,42 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel; - -use Symfony\Component\HttpFoundation\Request; -use Symfony\Component\HttpFoundation\Response; - -/** - * HttpKernelInterface handles a Request to convert it to a Response. - * - * @author Fabien Potencier - */ -interface HttpKernelInterface -{ - const MASTER_REQUEST = 1; - const SUB_REQUEST = 2; - - /** - * Handles a Request to convert it to a Response. - * - * When $catch is true, the implementation must catch all exceptions - * and do its best to convert them to a Response instance. - * - * @param int $type The type of the request - * (one of HttpKernelInterface::MASTER_REQUEST or HttpKernelInterface::SUB_REQUEST) - * @param bool $catch Whether to catch exceptions or not - * - * @return Response A Response instance - * - * @throws \Exception When an Exception occurs during processing - */ - public function handle(Request $request, $type = self::MASTER_REQUEST, $catch = true); -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/Kernel.php b/paragonik-backend/vendor/symfony/http-kernel/Kernel.php deleted file mode 100644 index 737e277..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/Kernel.php +++ /dev/null @@ -1,951 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel; - -use Symfony\Bridge\ProxyManager\LazyProxy\Instantiator\RuntimeInstantiator; -use Symfony\Bridge\ProxyManager\LazyProxy\PhpDumper\ProxyDumper; -use Symfony\Component\Config\ConfigCache; -use Symfony\Component\Config\Loader\DelegatingLoader; -use Symfony\Component\Config\Loader\LoaderResolver; -use Symfony\Component\Debug\DebugClassLoader as LegacyDebugClassLoader; -use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface; -use Symfony\Component\DependencyInjection\Compiler\PassConfig; -use Symfony\Component\DependencyInjection\ContainerBuilder; -use Symfony\Component\DependencyInjection\ContainerInterface; -use Symfony\Component\DependencyInjection\Dumper\PhpDumper; -use Symfony\Component\DependencyInjection\Loader\ClosureLoader; -use Symfony\Component\DependencyInjection\Loader\DirectoryLoader; -use Symfony\Component\DependencyInjection\Loader\GlobFileLoader; -use Symfony\Component\DependencyInjection\Loader\IniFileLoader; -use Symfony\Component\DependencyInjection\Loader\PhpFileLoader; -use Symfony\Component\DependencyInjection\Loader\XmlFileLoader; -use Symfony\Component\DependencyInjection\Loader\YamlFileLoader; -use Symfony\Component\ErrorHandler\DebugClassLoader; -use Symfony\Component\Filesystem\Filesystem; -use Symfony\Component\HttpFoundation\Request; -use Symfony\Component\HttpFoundation\Response; -use Symfony\Component\HttpKernel\Bundle\BundleInterface; -use Symfony\Component\HttpKernel\Config\FileLocator; -use Symfony\Component\HttpKernel\DependencyInjection\AddAnnotatedClassesToCachePass; -use Symfony\Component\HttpKernel\DependencyInjection\MergeExtensionConfigurationPass; - -/** - * The Kernel is the heart of the Symfony system. - * - * It manages an environment made of bundles. - * - * Environment names must always start with a letter and - * they must only contain letters and numbers. - * - * @author Fabien Potencier - */ -abstract class Kernel implements KernelInterface, RebootableInterface, TerminableInterface -{ - /** - * @var BundleInterface[] - */ - protected $bundles = []; - - protected $container; - /** - * @deprecated since Symfony 4.2 - */ - protected $rootDir; - protected $environment; - protected $debug; - protected $booted = false; - /** - * @deprecated since Symfony 4.2 - */ - protected $name; - protected $startTime; - - private $projectDir; - private $warmupDir; - private $requestStackSize = 0; - private $resetServices = false; - - private static $freshCache = []; - - const VERSION = '4.4.1'; - const VERSION_ID = 40401; - const MAJOR_VERSION = 4; - const MINOR_VERSION = 4; - const RELEASE_VERSION = 1; - const EXTRA_VERSION = ''; - - const END_OF_MAINTENANCE = '11/2022'; - const END_OF_LIFE = '11/2023'; - - public function __construct(string $environment, bool $debug) - { - $this->environment = $environment; - $this->debug = $debug; - $this->rootDir = $this->getRootDir(false); - $this->name = $this->getName(false); - } - - public function __clone() - { - $this->booted = false; - $this->container = null; - $this->requestStackSize = 0; - $this->resetServices = false; - } - - /** - * {@inheritdoc} - */ - public function boot() - { - if (true === $this->booted) { - if (!$this->requestStackSize && $this->resetServices) { - if ($this->container->has('services_resetter')) { - $this->container->get('services_resetter')->reset(); - } - $this->resetServices = false; - if ($this->debug) { - $this->startTime = microtime(true); - } - } - - return; - } - if ($this->debug) { - $this->startTime = microtime(true); - } - if ($this->debug && !isset($_ENV['SHELL_VERBOSITY']) && !isset($_SERVER['SHELL_VERBOSITY'])) { - putenv('SHELL_VERBOSITY=3'); - $_ENV['SHELL_VERBOSITY'] = 3; - $_SERVER['SHELL_VERBOSITY'] = 3; - } - - // init bundles - $this->initializeBundles(); - - // init container - $this->initializeContainer(); - - foreach ($this->getBundles() as $bundle) { - $bundle->setContainer($this->container); - $bundle->boot(); - } - - $this->booted = true; - } - - /** - * {@inheritdoc} - */ - public function reboot($warmupDir) - { - $this->shutdown(); - $this->warmupDir = $warmupDir; - $this->boot(); - } - - /** - * {@inheritdoc} - */ - public function terminate(Request $request, Response $response) - { - if (false === $this->booted) { - return; - } - - if ($this->getHttpKernel() instanceof TerminableInterface) { - $this->getHttpKernel()->terminate($request, $response); - } - } - - /** - * {@inheritdoc} - */ - public function shutdown() - { - if (false === $this->booted) { - return; - } - - $this->booted = false; - - foreach ($this->getBundles() as $bundle) { - $bundle->shutdown(); - $bundle->setContainer(null); - } - - $this->container = null; - $this->requestStackSize = 0; - $this->resetServices = false; - } - - /** - * {@inheritdoc} - */ - public function handle(Request $request, $type = HttpKernelInterface::MASTER_REQUEST, $catch = true) - { - $this->boot(); - ++$this->requestStackSize; - $this->resetServices = true; - - try { - return $this->getHttpKernel()->handle($request, $type, $catch); - } finally { - --$this->requestStackSize; - } - } - - /** - * Gets a HTTP kernel from the container. - * - * @return HttpKernelInterface - */ - protected function getHttpKernel() - { - return $this->container->get('http_kernel'); - } - - /** - * {@inheritdoc} - */ - public function getBundles() - { - return $this->bundles; - } - - /** - * {@inheritdoc} - */ - public function getBundle($name) - { - if (!isset($this->bundles[$name])) { - $class = \get_class($this); - $class = 'c' === $class[0] && 0 === strpos($class, "class@anonymous\0") ? get_parent_class($class).'@anonymous' : $class; - - throw new \InvalidArgumentException(sprintf('Bundle "%s" does not exist or it is not enabled. Maybe you forgot to add it in the registerBundles() method of your %s.php file?', $name, $class)); - } - - return $this->bundles[$name]; - } - - /** - * {@inheritdoc} - */ - public function locateResource($name/*, $dir = null, $first = true, $triggerDeprecation = true*/) - { - if (2 <= \func_num_args()) { - $dir = func_get_arg(1); - $first = 3 <= \func_num_args() ? func_get_arg(2) : true; - - if (4 !== \func_num_args() || func_get_arg(3)) { - @trigger_error(sprintf('Passing more than one argument to %s is deprecated since Symfony 4.4 and will be removed in 5.0.', __METHOD__), E_USER_DEPRECATED); - } - } else { - $dir = null; - $first = true; - } - - if ('@' !== $name[0]) { - throw new \InvalidArgumentException(sprintf('A resource name must start with @ ("%s" given).', $name)); - } - - if (false !== strpos($name, '..')) { - throw new \RuntimeException(sprintf('File name "%s" contains invalid characters (..).', $name)); - } - - $bundleName = substr($name, 1); - $path = ''; - if (false !== strpos($bundleName, '/')) { - list($bundleName, $path) = explode('/', $bundleName, 2); - } - - $isResource = 0 === strpos($path, 'Resources') && null !== $dir; - $overridePath = substr($path, 9); - $bundle = $this->getBundle($bundleName); - $files = []; - - if ($isResource && file_exists($file = $dir.'/'.$bundle->getName().$overridePath)) { - $files[] = $file; - - // see https://symfony.com/doc/current/bundles/override.html on how to overwrite parts of a bundle - @trigger_error(sprintf('Overwriting the resource "%s" with "%s" is deprecated since Symfony 4.4 and will be removed in 5.0.', $name, $file), E_USER_DEPRECATED); - } - - if (file_exists($file = $bundle->getPath().'/'.$path)) { - if ($first && !$isResource) { - return $file; - } - $files[] = $file; - } - - if (\count($files) > 0) { - return $first && $isResource ? $files[0] : $files; - } - - throw new \InvalidArgumentException(sprintf('Unable to find file "%s".', $name)); - } - - /** - * {@inheritdoc} - * - * @deprecated since Symfony 4.2 - */ - public function getName(/* $triggerDeprecation = true */) - { - if (0 === \func_num_args() || func_get_arg(0)) { - @trigger_error(sprintf('The "%s()" method is deprecated since Symfony 4.2.', __METHOD__), E_USER_DEPRECATED); - } - - if (null === $this->name) { - $this->name = preg_replace('/[^a-zA-Z0-9_]+/', '', basename($this->rootDir)); - if (ctype_digit($this->name[0])) { - $this->name = '_'.$this->name; - } - } - - return $this->name; - } - - /** - * {@inheritdoc} - */ - public function getEnvironment() - { - return $this->environment; - } - - /** - * {@inheritdoc} - */ - public function isDebug() - { - return $this->debug; - } - - /** - * {@inheritdoc} - * - * @deprecated since Symfony 4.2, use getProjectDir() instead - */ - public function getRootDir(/* $triggerDeprecation = true */) - { - if (0 === \func_num_args() || func_get_arg(0)) { - @trigger_error(sprintf('The "%s()" method is deprecated since Symfony 4.2, use getProjectDir() instead.', __METHOD__), E_USER_DEPRECATED); - } - - if (null === $this->rootDir) { - $r = new \ReflectionObject($this); - $this->rootDir = \dirname($r->getFileName()); - } - - return $this->rootDir; - } - - /** - * Gets the application root dir (path of the project's composer file). - * - * @return string The project root dir - */ - public function getProjectDir() - { - if (null === $this->projectDir) { - $r = new \ReflectionObject($this); - - if (!file_exists($dir = $r->getFileName())) { - throw new \LogicException(sprintf('Cannot auto-detect project dir for kernel of class "%s".', $r->name)); - } - - $dir = $rootDir = \dirname($dir); - while (!file_exists($dir.'/composer.json')) { - if ($dir === \dirname($dir)) { - return $this->projectDir = $rootDir; - } - $dir = \dirname($dir); - } - $this->projectDir = $dir; - } - - return $this->projectDir; - } - - /** - * {@inheritdoc} - */ - public function getContainer() - { - if (!$this->container) { - @trigger_error('Getting the container from a non-booted kernel is deprecated since Symfony 4.4.', E_USER_DEPRECATED); - } - - return $this->container; - } - - /** - * @internal - */ - public function setAnnotatedClassCache(array $annotatedClasses) - { - file_put_contents(($this->warmupDir ?: $this->getCacheDir()).'/annotations.map', sprintf('debug && null !== $this->startTime ? $this->startTime : -INF; - } - - /** - * {@inheritdoc} - */ - public function getCacheDir() - { - return $this->getProjectDir().'/var/cache/'.$this->environment; - } - - /** - * {@inheritdoc} - */ - public function getLogDir() - { - return $this->getProjectDir().'/var/log'; - } - - /** - * {@inheritdoc} - */ - public function getCharset() - { - return 'UTF-8'; - } - - /** - * Gets the patterns defining the classes to parse and cache for annotations. - */ - public function getAnnotatedClassesToCompile(): array - { - return []; - } - - /** - * Initializes bundles. - * - * @throws \LogicException if two bundles share a common name - */ - protected function initializeBundles() - { - // init bundles - $this->bundles = []; - foreach ($this->registerBundles() as $bundle) { - $name = $bundle->getName(); - if (isset($this->bundles[$name])) { - throw new \LogicException(sprintf('Trying to register two bundles with the same name "%s"', $name)); - } - $this->bundles[$name] = $bundle; - } - } - - /** - * The extension point similar to the Bundle::build() method. - * - * Use this method to register compiler passes and manipulate the container during the building process. - */ - protected function build(ContainerBuilder $container) - { - } - - /** - * Gets the container class. - * - * @throws \InvalidArgumentException If the generated classname is invalid - * - * @return string The container class - */ - protected function getContainerClass() - { - $class = \get_class($this); - $class = 'c' === $class[0] && 0 === strpos($class, "class@anonymous\0") ? get_parent_class($class).str_replace('.', '_', ContainerBuilder::hash($class)) : $class; - $class = $this->name.str_replace('\\', '_', $class).ucfirst($this->environment).($this->debug ? 'Debug' : '').'Container'; - - if (!preg_match('/^[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*$/', $class)) { - throw new \InvalidArgumentException(sprintf('The environment "%s" contains invalid characters, it can only contain characters allowed in PHP class names.', $this->environment)); - } - - return $class; - } - - /** - * Gets the container's base class. - * - * All names except Container must be fully qualified. - * - * @return string - */ - protected function getContainerBaseClass() - { - return 'Container'; - } - - /** - * Initializes the service container. - * - * The cached version of the service container is used when fresh, otherwise the - * container is built. - */ - protected function initializeContainer() - { - $class = $this->getContainerClass(); - $cacheDir = $this->warmupDir ?: $this->getCacheDir(); - $cache = new ConfigCache($cacheDir.'/'.$class.'.php', $this->debug); - $cachePath = $cache->getPath(); - - // Silence E_WARNING to ignore "include" failures - don't use "@" to prevent silencing fatal errors - $errorLevel = error_reporting(\E_ALL ^ \E_WARNING); - - try { - if (file_exists($cachePath) && \is_object($this->container = include $cachePath) - && (!$this->debug || (self::$freshCache[$cachePath] ?? $cache->isFresh())) - ) { - self::$freshCache[$cachePath] = true; - $this->container->set('kernel', $this); - error_reporting($errorLevel); - - return; - } - } catch (\Throwable $e) { - } - - $oldContainer = \is_object($this->container) ? new \ReflectionClass($this->container) : $this->container = null; - - try { - is_dir($cacheDir) ?: mkdir($cacheDir, 0777, true); - - if ($lock = fopen($cachePath, 'w')) { - chmod($cachePath, 0666 & ~umask()); - flock($lock, LOCK_EX | LOCK_NB, $wouldBlock); - - if (!flock($lock, $wouldBlock ? LOCK_SH : LOCK_EX)) { - fclose($lock); - } else { - $cache = new class($cachePath, $this->debug) extends ConfigCache { - public $lock; - - public function write($content, array $metadata = null) - { - rewind($this->lock); - ftruncate($this->lock, 0); - fwrite($this->lock, $content); - - if (null !== $metadata) { - file_put_contents($this->getPath().'.meta', serialize($metadata)); - @chmod($this->getPath().'.meta', 0666 & ~umask()); - } - - if (\function_exists('opcache_invalidate') && filter_var(ini_get('opcache.enable'), FILTER_VALIDATE_BOOLEAN)) { - opcache_invalidate($this->getPath(), true); - } - } - - public function __destruct() - { - flock($this->lock, LOCK_UN); - fclose($this->lock); - } - }; - $cache->lock = $lock; - - if (!\is_object($this->container = include $cachePath)) { - $this->container = null; - } elseif (!$oldContainer || \get_class($this->container) !== $oldContainer->name) { - $this->container->set('kernel', $this); - - return; - } - } - } - } catch (\Throwable $e) { - } finally { - error_reporting($errorLevel); - } - - if ($collectDeprecations = $this->debug && !\defined('PHPUNIT_COMPOSER_INSTALL')) { - $collectedLogs = []; - $previousHandler = set_error_handler(function ($type, $message, $file, $line) use (&$collectedLogs, &$previousHandler) { - if (E_USER_DEPRECATED !== $type && E_DEPRECATED !== $type) { - return $previousHandler ? $previousHandler($type, $message, $file, $line) : false; - } - - if (isset($collectedLogs[$message])) { - ++$collectedLogs[$message]['count']; - - return null; - } - - $backtrace = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, 5); - // Clean the trace by removing first frames added by the error handler itself. - for ($i = 0; isset($backtrace[$i]); ++$i) { - if (isset($backtrace[$i]['file'], $backtrace[$i]['line']) && $backtrace[$i]['line'] === $line && $backtrace[$i]['file'] === $file) { - $backtrace = \array_slice($backtrace, 1 + $i); - break; - } - } - // Remove frames added by DebugClassLoader. - for ($i = \count($backtrace) - 2; 0 < $i; --$i) { - if (\in_array($backtrace[$i]['class'] ?? null, [DebugClassLoader::class, LegacyDebugClassLoader::class], true)) { - $backtrace = [$backtrace[$i + 1]]; - break; - } - } - - $collectedLogs[$message] = [ - 'type' => $type, - 'message' => $message, - 'file' => $file, - 'line' => $line, - 'trace' => [$backtrace[0]], - 'count' => 1, - ]; - - return null; - }); - } - - try { - $container = null; - $container = $this->buildContainer(); - $container->compile(); - } finally { - if ($collectDeprecations) { - restore_error_handler(); - - file_put_contents($cacheDir.'/'.$class.'Deprecations.log', serialize(array_values($collectedLogs))); - file_put_contents($cacheDir.'/'.$class.'Compiler.log', null !== $container ? implode("\n", $container->getCompiler()->getLog()) : ''); - } - } - - $this->dumpContainer($cache, $container, $class, $this->getContainerBaseClass()); - unset($cache); - $this->container = require $cachePath; - $this->container->set('kernel', $this); - - if ($oldContainer && \get_class($this->container) !== $oldContainer->name) { - // Because concurrent requests might still be using them, - // old container files are not removed immediately, - // but on a next dump of the container. - static $legacyContainers = []; - $oldContainerDir = \dirname($oldContainer->getFileName()); - $legacyContainers[$oldContainerDir.'.legacy'] = true; - foreach (glob(\dirname($oldContainerDir).\DIRECTORY_SEPARATOR.'*.legacy', GLOB_NOSORT) as $legacyContainer) { - if (!isset($legacyContainers[$legacyContainer]) && @unlink($legacyContainer)) { - (new Filesystem())->remove(substr($legacyContainer, 0, -7)); - } - } - - touch($oldContainerDir.'.legacy'); - } - - if ($this->container->has('cache_warmer')) { - $this->container->get('cache_warmer')->warmUp($this->container->getParameter('kernel.cache_dir')); - } - } - - /** - * Returns the kernel parameters. - * - * @return array An array of kernel parameters - */ - protected function getKernelParameters() - { - $bundles = []; - $bundlesMetadata = []; - - foreach ($this->bundles as $name => $bundle) { - $bundles[$name] = \get_class($bundle); - $bundlesMetadata[$name] = [ - 'path' => $bundle->getPath(), - 'namespace' => $bundle->getNamespace(), - ]; - } - - return [ - /* - * @deprecated since Symfony 4.2, use kernel.project_dir instead - */ - 'kernel.root_dir' => realpath($this->rootDir) ?: $this->rootDir, - 'kernel.project_dir' => realpath($this->getProjectDir()) ?: $this->getProjectDir(), - 'kernel.environment' => $this->environment, - 'kernel.debug' => $this->debug, - /* - * @deprecated since Symfony 4.2 - */ - 'kernel.name' => $this->name, - 'kernel.cache_dir' => realpath($cacheDir = $this->warmupDir ?: $this->getCacheDir()) ?: $cacheDir, - 'kernel.logs_dir' => realpath($this->getLogDir()) ?: $this->getLogDir(), - 'kernel.bundles' => $bundles, - 'kernel.bundles_metadata' => $bundlesMetadata, - 'kernel.charset' => $this->getCharset(), - 'kernel.container_class' => $this->getContainerClass(), - ]; - } - - /** - * Builds the service container. - * - * @return ContainerBuilder The compiled service container - * - * @throws \RuntimeException - */ - protected function buildContainer() - { - foreach (['cache' => $this->warmupDir ?: $this->getCacheDir(), 'logs' => $this->getLogDir()] as $name => $dir) { - if (!is_dir($dir)) { - if (false === @mkdir($dir, 0777, true) && !is_dir($dir)) { - throw new \RuntimeException(sprintf("Unable to create the %s directory (%s)\n", $name, $dir)); - } - } elseif (!is_writable($dir)) { - throw new \RuntimeException(sprintf("Unable to write in the %s directory (%s)\n", $name, $dir)); - } - } - - $container = $this->getContainerBuilder(); - $container->addObjectResource($this); - $this->prepareContainer($container); - - if (null !== $cont = $this->registerContainerConfiguration($this->getContainerLoader($container))) { - $container->merge($cont); - } - - $container->addCompilerPass(new AddAnnotatedClassesToCachePass($this)); - - return $container; - } - - /** - * Prepares the ContainerBuilder before it is compiled. - */ - protected function prepareContainer(ContainerBuilder $container) - { - $extensions = []; - foreach ($this->bundles as $bundle) { - if ($extension = $bundle->getContainerExtension()) { - $container->registerExtension($extension); - } - - if ($this->debug) { - $container->addObjectResource($bundle); - } - } - - foreach ($this->bundles as $bundle) { - $bundle->build($container); - } - - $this->build($container); - - foreach ($container->getExtensions() as $extension) { - $extensions[] = $extension->getAlias(); - } - - // ensure these extensions are implicitly loaded - $container->getCompilerPassConfig()->setMergePass(new MergeExtensionConfigurationPass($extensions)); - } - - /** - * Gets a new ContainerBuilder instance used to build the service container. - * - * @return ContainerBuilder - */ - protected function getContainerBuilder() - { - $container = new ContainerBuilder(); - $container->getParameterBag()->add($this->getKernelParameters()); - - if ($this instanceof CompilerPassInterface) { - $container->addCompilerPass($this, PassConfig::TYPE_BEFORE_OPTIMIZATION, -10000); - } - if (class_exists('ProxyManager\Configuration') && class_exists('Symfony\Bridge\ProxyManager\LazyProxy\Instantiator\RuntimeInstantiator')) { - $container->setProxyInstantiator(new RuntimeInstantiator()); - } - - return $container; - } - - /** - * Dumps the service container to PHP code in the cache. - * - * @param string $class The name of the class to generate - * @param string $baseClass The name of the container's base class - */ - protected function dumpContainer(ConfigCache $cache, ContainerBuilder $container, $class, $baseClass) - { - // cache the container - $dumper = new PhpDumper($container); - - if (class_exists('ProxyManager\Configuration') && class_exists('Symfony\Bridge\ProxyManager\LazyProxy\PhpDumper\ProxyDumper')) { - $dumper->setProxyDumper(new ProxyDumper()); - } - - $content = $dumper->dump([ - 'class' => $class, - 'base_class' => $baseClass, - 'file' => $cache->getPath(), - 'as_files' => true, - 'debug' => $this->debug, - 'build_time' => $container->hasParameter('kernel.container_build_time') ? $container->getParameter('kernel.container_build_time') : time(), - ]); - - $rootCode = array_pop($content); - $dir = \dirname($cache->getPath()).'/'; - $fs = new Filesystem(); - - foreach ($content as $file => $code) { - $fs->dumpFile($dir.$file, $code); - @chmod($dir.$file, 0666 & ~umask()); - } - $legacyFile = \dirname($dir.key($content)).'.legacy'; - if (file_exists($legacyFile)) { - @unlink($legacyFile); - } - - $cache->write($rootCode, $container->getResources()); - } - - /** - * Returns a loader for the container. - * - * @return DelegatingLoader The loader - */ - protected function getContainerLoader(ContainerInterface $container) - { - $locator = new FileLocator($this); - $resolver = new LoaderResolver([ - new XmlFileLoader($container, $locator), - new YamlFileLoader($container, $locator), - new IniFileLoader($container, $locator), - new PhpFileLoader($container, $locator), - new GlobFileLoader($container, $locator), - new DirectoryLoader($container, $locator), - new ClosureLoader($container), - ]); - - return new DelegatingLoader($resolver); - } - - /** - * Removes comments from a PHP source string. - * - * We don't use the PHP php_strip_whitespace() function - * as we want the content to be readable and well-formatted. - * - * @param string $source A PHP string - * - * @return string The PHP string with the comments removed - */ - public static function stripComments($source) - { - if (!\function_exists('token_get_all')) { - return $source; - } - - $rawChunk = ''; - $output = ''; - $tokens = token_get_all($source); - $ignoreSpace = false; - for ($i = 0; isset($tokens[$i]); ++$i) { - $token = $tokens[$i]; - if (!isset($token[1]) || 'b"' === $token) { - $rawChunk .= $token; - } elseif (T_START_HEREDOC === $token[0]) { - $output .= $rawChunk.$token[1]; - do { - $token = $tokens[++$i]; - $output .= isset($token[1]) && 'b"' !== $token ? $token[1] : $token; - } while (T_END_HEREDOC !== $token[0]); - $rawChunk = ''; - } elseif (T_WHITESPACE === $token[0]) { - if ($ignoreSpace) { - $ignoreSpace = false; - - continue; - } - - // replace multiple new lines with a single newline - $rawChunk .= preg_replace(['/\n{2,}/S'], "\n", $token[1]); - } elseif (\in_array($token[0], [T_COMMENT, T_DOC_COMMENT])) { - $ignoreSpace = true; - } else { - $rawChunk .= $token[1]; - - // The PHP-open tag already has a new-line - if (T_OPEN_TAG === $token[0]) { - $ignoreSpace = true; - } - } - } - - $output .= $rawChunk; - - unset($tokens, $rawChunk); - gc_mem_caches(); - - return $output; - } - - /** - * @deprecated since Symfony 4.3 - */ - public function serialize() - { - @trigger_error(sprintf('The "%s" method is deprecated since Symfony 4.3.', __METHOD__), E_USER_DEPRECATED); - - return serialize([$this->environment, $this->debug]); - } - - /** - * @deprecated since Symfony 4.3 - */ - public function unserialize($data) - { - @trigger_error(sprintf('The "%s" method is deprecated since Symfony 4.3.', __METHOD__), E_USER_DEPRECATED); - list($environment, $debug) = unserialize($data, ['allowed_classes' => false]); - - $this->__construct($environment, $debug); - } - - /** - * @return array - */ - public function __sleep() - { - if (__CLASS__ !== $c = (new \ReflectionMethod($this, 'serialize'))->getDeclaringClass()->name) { - @trigger_error(sprintf('Implementing the "%s::serialize()" method is deprecated since Symfony 4.3.', $c), E_USER_DEPRECATED); - $this->serialized = $this->serialize(); - - return ['serialized']; - } - - return ['environment', 'debug']; - } - - public function __wakeup() - { - if (__CLASS__ !== $c = (new \ReflectionMethod($this, 'serialize'))->getDeclaringClass()->name) { - @trigger_error(sprintf('Implementing the "%s::serialize()" method is deprecated since Symfony 4.3.', $c), E_USER_DEPRECATED); - $this->unserialize($this->serialized); - unset($this->serialized); - - return; - } - $this->__construct($this->environment, $this->debug); - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/KernelEvents.php b/paragonik-backend/vendor/symfony/http-kernel/KernelEvents.php deleted file mode 100644 index 682561c..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/KernelEvents.php +++ /dev/null @@ -1,103 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel; - -/** - * Contains all events thrown in the HttpKernel component. - * - * @author Bernhard Schussek - */ -final class KernelEvents -{ - /** - * The REQUEST event occurs at the very beginning of request - * dispatching. - * - * This event allows you to create a response for a request before any - * other code in the framework is executed. - * - * @Event("Symfony\Component\HttpKernel\Event\RequestEvent") - */ - const REQUEST = 'kernel.request'; - - /** - * The EXCEPTION event occurs when an uncaught exception appears. - * - * This event allows you to create a response for a thrown exception or - * to modify the thrown exception. - * - * @Event("Symfony\Component\HttpKernel\Event\ExceptionEvent") - */ - const EXCEPTION = 'kernel.exception'; - - /** - * The VIEW event occurs when the return value of a controller - * is not a Response instance. - * - * This event allows you to create a response for the return value of the - * controller. - * - * @Event("Symfony\Component\HttpKernel\Event\ViewEvent") - */ - const VIEW = 'kernel.view'; - - /** - * The CONTROLLER event occurs once a controller was found for - * handling a request. - * - * This event allows you to change the controller that will handle the - * request. - * - * @Event("Symfony\Component\HttpKernel\Event\ControllerEvent") - */ - const CONTROLLER = 'kernel.controller'; - - /** - * The CONTROLLER_ARGUMENTS event occurs once controller arguments have been resolved. - * - * This event allows you to change the arguments that will be passed to - * the controller. - * - * @Event("Symfony\Component\HttpKernel\Event\ControllerArgumentsEvent") - */ - const CONTROLLER_ARGUMENTS = 'kernel.controller_arguments'; - - /** - * The RESPONSE event occurs once a response was created for - * replying to a request. - * - * This event allows you to modify or replace the response that will be - * replied. - * - * @Event("Symfony\Component\HttpKernel\Event\ResponseEvent") - */ - const RESPONSE = 'kernel.response'; - - /** - * The TERMINATE event occurs once a response was sent. - * - * This event allows you to run expensive post-response jobs. - * - * @Event("Symfony\Component\HttpKernel\Event\TerminateEvent") - */ - const TERMINATE = 'kernel.terminate'; - - /** - * The FINISH_REQUEST event occurs when a response was generated for a request. - * - * This event allows you to reset the global and environmental state of - * the application, when it was changed during the request. - * - * @Event("Symfony\Component\HttpKernel\Event\FinishRequestEvent") - */ - const FINISH_REQUEST = 'kernel.finish_request'; -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/KernelInterface.php b/paragonik-backend/vendor/symfony/http-kernel/KernelInterface.php deleted file mode 100644 index 00a1aec..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/KernelInterface.php +++ /dev/null @@ -1,158 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel; - -use Symfony\Component\Config\Loader\LoaderInterface; -use Symfony\Component\DependencyInjection\ContainerInterface; -use Symfony\Component\HttpKernel\Bundle\BundleInterface; - -/** - * The Kernel is the heart of the Symfony system. - * - * It manages an environment made of application kernel and bundles. - * - * @author Fabien Potencier - * - * @method string getProjectDir() Gets the project dir (path of the project's composer file) - not defining it is deprecated since Symfony 4.2 - */ -interface KernelInterface extends HttpKernelInterface -{ - /** - * Returns an array of bundles to register. - * - * @return iterable|BundleInterface[] An iterable of bundle instances - */ - public function registerBundles(); - - /** - * Loads the container configuration. - */ - public function registerContainerConfiguration(LoaderInterface $loader); - - /** - * Boots the current kernel. - */ - public function boot(); - - /** - * Shutdowns the kernel. - * - * This method is mainly useful when doing functional testing. - */ - public function shutdown(); - - /** - * Gets the registered bundle instances. - * - * @return BundleInterface[] An array of registered bundle instances - */ - public function getBundles(); - - /** - * Returns a bundle. - * - * @param string $name Bundle name - * - * @return BundleInterface A BundleInterface instance - * - * @throws \InvalidArgumentException when the bundle is not enabled - */ - public function getBundle($name); - - /** - * Returns the file path for a given bundle resource. - * - * A Resource can be a file or a directory. - * - * The resource name must follow the following pattern: - * - * "@BundleName/path/to/a/file.something" - * - * where BundleName is the name of the bundle - * and the remaining part is the relative path in the bundle. - * - * @param string $name A resource name to locate - * - * @return string|array The absolute path of the resource or an array if $first is false (array return value is deprecated) - * - * @throws \InvalidArgumentException if the file cannot be found or the name is not valid - * @throws \RuntimeException if the name contains invalid/unsafe characters - */ - public function locateResource($name/*, $dir = null, $first = true*/); - - /** - * Gets the name of the kernel. - * - * @return string The kernel name - * - * @deprecated since Symfony 4.2 - */ - public function getName(); - - /** - * Gets the environment. - * - * @return string The current environment - */ - public function getEnvironment(); - - /** - * Checks if debug mode is enabled. - * - * @return bool true if debug mode is enabled, false otherwise - */ - public function isDebug(); - - /** - * Gets the application root dir (path of the project's Kernel class). - * - * @return string The Kernel root dir - * - * @deprecated since Symfony 4.2 - */ - public function getRootDir(); - - /** - * Gets the current container. - * - * @return ContainerInterface - */ - public function getContainer(); - - /** - * Gets the request start time (not available if debug is disabled). - * - * @return float The request start timestamp - */ - public function getStartTime(); - - /** - * Gets the cache directory. - * - * @return string The cache directory - */ - public function getCacheDir(); - - /** - * Gets the log directory. - * - * @return string The log directory - */ - public function getLogDir(); - - /** - * Gets the charset of the application. - * - * @return string The charset - */ - public function getCharset(); -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/LICENSE b/paragonik-backend/vendor/symfony/http-kernel/LICENSE deleted file mode 100644 index a677f43..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 2004-2019 Fabien Potencier - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is furnished -to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/paragonik-backend/vendor/symfony/http-kernel/Log/DebugLoggerInterface.php b/paragonik-backend/vendor/symfony/http-kernel/Log/DebugLoggerInterface.php deleted file mode 100644 index 2a27992..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/Log/DebugLoggerInterface.php +++ /dev/null @@ -1,49 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\Log; - -use Symfony\Component\HttpFoundation\Request; - -/** - * DebugLoggerInterface. - * - * @author Fabien Potencier - */ -interface DebugLoggerInterface -{ - /** - * Returns an array of logs. - * - * A log is an array with the following mandatory keys: - * timestamp, message, priority, and priorityName. - * It can also have an optional context key containing an array. - * - * @param Request|null $request The request to get logs for - * - * @return array An array of logs - */ - public function getLogs(/* Request $request = null */); - - /** - * Returns the number of errors. - * - * @param Request|null $request The request to count logs for - * - * @return int The number of errors - */ - public function countErrors(/* Request $request = null */); - - /** - * Removes all log records. - */ - public function clear(); -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/Log/Logger.php b/paragonik-backend/vendor/symfony/http-kernel/Log/Logger.php deleted file mode 100644 index c27bb3f..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/Log/Logger.php +++ /dev/null @@ -1,106 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\Log; - -use Psr\Log\AbstractLogger; -use Psr\Log\InvalidArgumentException; -use Psr\Log\LogLevel; - -/** - * Minimalist PSR-3 logger designed to write in stderr or any other stream. - * - * @author Kévin Dunglas - */ -class Logger extends AbstractLogger -{ - private static $levels = [ - LogLevel::DEBUG => 0, - LogLevel::INFO => 1, - LogLevel::NOTICE => 2, - LogLevel::WARNING => 3, - LogLevel::ERROR => 4, - LogLevel::CRITICAL => 5, - LogLevel::ALERT => 6, - LogLevel::EMERGENCY => 7, - ]; - - private $minLevelIndex; - private $formatter; - private $handle; - - public function __construct(string $minLevel = null, $output = 'php://stderr', callable $formatter = null) - { - if (null === $minLevel) { - $minLevel = 'php://stdout' === $output || 'php://stderr' === $output ? LogLevel::CRITICAL : LogLevel::WARNING; - - if (isset($_ENV['SHELL_VERBOSITY']) || isset($_SERVER['SHELL_VERBOSITY'])) { - switch ((int) (isset($_ENV['SHELL_VERBOSITY']) ? $_ENV['SHELL_VERBOSITY'] : $_SERVER['SHELL_VERBOSITY'])) { - case -1: $minLevel = LogLevel::ERROR; break; - case 1: $minLevel = LogLevel::NOTICE; break; - case 2: $minLevel = LogLevel::INFO; break; - case 3: $minLevel = LogLevel::DEBUG; break; - } - } - } - - if (!isset(self::$levels[$minLevel])) { - throw new InvalidArgumentException(sprintf('The log level "%s" does not exist.', $minLevel)); - } - - $this->minLevelIndex = self::$levels[$minLevel]; - $this->formatter = $formatter ?: [$this, 'format']; - if (false === $this->handle = \is_resource($output) ? $output : @fopen($output, 'a')) { - throw new InvalidArgumentException(sprintf('Unable to open "%s".', $output)); - } - } - - /** - * {@inheritdoc} - * - * @return void - */ - public function log($level, $message, array $context = []) - { - if (!isset(self::$levels[$level])) { - throw new InvalidArgumentException(sprintf('The log level "%s" does not exist.', $level)); - } - - if (self::$levels[$level] < $this->minLevelIndex) { - return; - } - - $formatter = $this->formatter; - fwrite($this->handle, $formatter($level, $message, $context)); - } - - private function format(string $level, string $message, array $context): string - { - if (false !== strpos($message, '{')) { - $replacements = []; - foreach ($context as $key => $val) { - if (null === $val || is_scalar($val) || (\is_object($val) && method_exists($val, '__toString'))) { - $replacements["{{$key}}"] = $val; - } elseif ($val instanceof \DateTimeInterface) { - $replacements["{{$key}}"] = $val->format(\DateTime::RFC3339); - } elseif (\is_object($val)) { - $replacements["{{$key}}"] = '[object '.\get_class($val).']'; - } else { - $replacements["{{$key}}"] = '['.\gettype($val).']'; - } - } - - $message = strtr($message, $replacements); - } - - return sprintf('%s [%s] %s', date(\DateTime::RFC3339), $level, $message).\PHP_EOL; - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/Profiler/FileProfilerStorage.php b/paragonik-backend/vendor/symfony/http-kernel/Profiler/FileProfilerStorage.php deleted file mode 100644 index c6c2328..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/Profiler/FileProfilerStorage.php +++ /dev/null @@ -1,305 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\Profiler; - -/** - * Storage for profiler using files. - * - * @author Alexandre Salomé - */ -class FileProfilerStorage implements ProfilerStorageInterface -{ - /** - * Folder where profiler data are stored. - * - * @var string - */ - private $folder; - - /** - * Constructs the file storage using a "dsn-like" path. - * - * Example : "file:/path/to/the/storage/folder" - * - * @throws \RuntimeException - */ - public function __construct(string $dsn) - { - if (0 !== strpos($dsn, 'file:')) { - throw new \RuntimeException(sprintf('Please check your configuration. You are trying to use FileStorage with an invalid dsn "%s". The expected format is "file:/path/to/the/storage/folder".', $dsn)); - } - $this->folder = substr($dsn, 5); - - if (!is_dir($this->folder) && false === @mkdir($this->folder, 0777, true) && !is_dir($this->folder)) { - throw new \RuntimeException(sprintf('Unable to create the storage directory (%s).', $this->folder)); - } - } - - /** - * {@inheritdoc} - */ - public function find($ip, $url, $limit, $method, $start = null, $end = null, $statusCode = null): array - { - $file = $this->getIndexFilename(); - - if (!file_exists($file)) { - return []; - } - - $file = fopen($file, 'r'); - fseek($file, 0, SEEK_END); - - $result = []; - while (\count($result) < $limit && $line = $this->readLineFromFile($file)) { - $values = str_getcsv($line); - list($csvToken, $csvIp, $csvMethod, $csvUrl, $csvTime, $csvParent, $csvStatusCode) = $values; - $csvTime = (int) $csvTime; - - if ($ip && false === strpos($csvIp, $ip) || $url && false === strpos($csvUrl, $url) || $method && false === strpos($csvMethod, $method) || $statusCode && false === strpos($csvStatusCode, $statusCode)) { - continue; - } - - if (!empty($start) && $csvTime < $start) { - continue; - } - - if (!empty($end) && $csvTime > $end) { - continue; - } - - $result[$csvToken] = [ - 'token' => $csvToken, - 'ip' => $csvIp, - 'method' => $csvMethod, - 'url' => $csvUrl, - 'time' => $csvTime, - 'parent' => $csvParent, - 'status_code' => $csvStatusCode, - ]; - } - - fclose($file); - - return array_values($result); - } - - /** - * {@inheritdoc} - */ - public function purge() - { - $flags = \FilesystemIterator::SKIP_DOTS; - $iterator = new \RecursiveDirectoryIterator($this->folder, $flags); - $iterator = new \RecursiveIteratorIterator($iterator, \RecursiveIteratorIterator::CHILD_FIRST); - - foreach ($iterator as $file) { - if (is_file($file)) { - unlink($file); - } else { - rmdir($file); - } - } - } - - /** - * {@inheritdoc} - */ - public function read($token): ?Profile - { - if (!$token || !file_exists($file = $this->getFilename($token))) { - return null; - } - - if (\function_exists('gzcompress')) { - $file = 'compress.zlib://'.$file; - } - - return $this->createProfileFromData($token, unserialize(file_get_contents($file))); - } - - /** - * {@inheritdoc} - * - * @throws \RuntimeException - */ - public function write(Profile $profile): bool - { - $file = $this->getFilename($profile->getToken()); - - $profileIndexed = is_file($file); - if (!$profileIndexed) { - // Create directory - $dir = \dirname($file); - if (!is_dir($dir) && false === @mkdir($dir, 0777, true) && !is_dir($dir)) { - throw new \RuntimeException(sprintf('Unable to create the storage directory (%s).', $dir)); - } - } - - $profileToken = $profile->getToken(); - // when there are errors in sub-requests, the parent and/or children tokens - // may equal the profile token, resulting in infinite loops - $parentToken = $profile->getParentToken() !== $profileToken ? $profile->getParentToken() : null; - $childrenToken = array_filter(array_map(function (Profile $p) use ($profileToken) { - return $profileToken !== $p->getToken() ? $p->getToken() : null; - }, $profile->getChildren())); - - // Store profile - $data = [ - 'token' => $profileToken, - 'parent' => $parentToken, - 'children' => $childrenToken, - 'data' => $profile->getCollectors(), - 'ip' => $profile->getIp(), - 'method' => $profile->getMethod(), - 'url' => $profile->getUrl(), - 'time' => $profile->getTime(), - 'status_code' => $profile->getStatusCode(), - ]; - - $context = stream_context_create(); - - if (\function_exists('gzcompress')) { - $file = 'compress.zlib://'.$file; - stream_context_set_option($context, 'zlib', 'level', 3); - } - - if (false === file_put_contents($file, serialize($data), 0, $context)) { - return false; - } - - if (!$profileIndexed) { - // Add to index - if (false === $file = fopen($this->getIndexFilename(), 'a')) { - return false; - } - - fputcsv($file, [ - $profile->getToken(), - $profile->getIp(), - $profile->getMethod(), - $profile->getUrl(), - $profile->getTime(), - $profile->getParentToken(), - $profile->getStatusCode(), - ]); - fclose($file); - } - - return true; - } - - /** - * Gets filename to store data, associated to the token. - * - * @param string $token - * - * @return string The profile filename - */ - protected function getFilename($token) - { - // Uses 4 last characters, because first are mostly the same. - $folderA = substr($token, -2, 2); - $folderB = substr($token, -4, 2); - - return $this->folder.'/'.$folderA.'/'.$folderB.'/'.$token; - } - - /** - * Gets the index filename. - * - * @return string The index filename - */ - protected function getIndexFilename() - { - return $this->folder.'/index.csv'; - } - - /** - * Reads a line in the file, backward. - * - * This function automatically skips the empty lines and do not include the line return in result value. - * - * @param resource $file The file resource, with the pointer placed at the end of the line to read - * - * @return mixed A string representing the line or null if beginning of file is reached - */ - protected function readLineFromFile($file) - { - $line = ''; - $position = ftell($file); - - if (0 === $position) { - return null; - } - - while (true) { - $chunkSize = min($position, 1024); - $position -= $chunkSize; - fseek($file, $position); - - if (0 === $chunkSize) { - // bof reached - break; - } - - $buffer = fread($file, $chunkSize); - - if (false === ($upTo = strrpos($buffer, "\n"))) { - $line = $buffer.$line; - continue; - } - - $position += $upTo; - $line = substr($buffer, $upTo + 1).$line; - fseek($file, max(0, $position), SEEK_SET); - - if ('' !== $line) { - break; - } - } - - return '' === $line ? null : $line; - } - - protected function createProfileFromData($token, $data, $parent = null) - { - $profile = new Profile($token); - $profile->setIp($data['ip']); - $profile->setMethod($data['method']); - $profile->setUrl($data['url']); - $profile->setTime($data['time']); - $profile->setStatusCode($data['status_code']); - $profile->setCollectors($data['data']); - - if (!$parent && $data['parent']) { - $parent = $this->read($data['parent']); - } - - if ($parent) { - $profile->setParent($parent); - } - - foreach ($data['children'] as $token) { - if (!$token || !file_exists($file = $this->getFilename($token))) { - continue; - } - - if (\function_exists('gzcompress')) { - $file = 'compress.zlib://'.$file; - } - - $profile->addChild($this->createProfileFromData($token, unserialize(file_get_contents($file)), $profile)); - } - - return $profile; - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/Profiler/Profile.php b/paragonik-backend/vendor/symfony/http-kernel/Profiler/Profile.php deleted file mode 100644 index ac5b504..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/Profiler/Profile.php +++ /dev/null @@ -1,301 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\Profiler; - -use Symfony\Component\HttpKernel\DataCollector\DataCollectorInterface; - -/** - * Profile. - * - * @author Fabien Potencier - */ -class Profile -{ - private $token; - - /** - * @var DataCollectorInterface[] - */ - private $collectors = []; - - private $ip; - private $method; - private $url; - private $time; - private $statusCode; - - /** - * @var Profile - */ - private $parent; - - /** - * @var Profile[] - */ - private $children = []; - - public function __construct(string $token) - { - $this->token = $token; - } - - /** - * Sets the token. - * - * @param string $token The token - */ - public function setToken($token) - { - $this->token = $token; - } - - /** - * Gets the token. - * - * @return string The token - */ - public function getToken() - { - return $this->token; - } - - /** - * Sets the parent token. - */ - public function setParent(self $parent) - { - $this->parent = $parent; - } - - /** - * Returns the parent profile. - * - * @return self - */ - public function getParent() - { - return $this->parent; - } - - /** - * Returns the parent token. - * - * @return string|null The parent token - */ - public function getParentToken() - { - return $this->parent ? $this->parent->getToken() : null; - } - - /** - * Returns the IP. - * - * @return string|null The IP - */ - public function getIp() - { - return $this->ip; - } - - /** - * Sets the IP. - * - * @param string $ip - */ - public function setIp($ip) - { - $this->ip = $ip; - } - - /** - * Returns the request method. - * - * @return string|null The request method - */ - public function getMethod() - { - return $this->method; - } - - public function setMethod($method) - { - $this->method = $method; - } - - /** - * Returns the URL. - * - * @return string|null The URL - */ - public function getUrl() - { - return $this->url; - } - - /** - * @param string $url - */ - public function setUrl($url) - { - $this->url = $url; - } - - /** - * Returns the time. - * - * @return int The time - */ - public function getTime() - { - if (null === $this->time) { - return 0; - } - - return $this->time; - } - - /** - * @param int $time The time - */ - public function setTime($time) - { - $this->time = $time; - } - - /** - * @param int $statusCode - */ - public function setStatusCode($statusCode) - { - $this->statusCode = $statusCode; - } - - /** - * @return int|null - */ - public function getStatusCode() - { - return $this->statusCode; - } - - /** - * Finds children profilers. - * - * @return self[] - */ - public function getChildren() - { - return $this->children; - } - - /** - * Sets children profiler. - * - * @param Profile[] $children - */ - public function setChildren(array $children) - { - $this->children = []; - foreach ($children as $child) { - $this->addChild($child); - } - } - - /** - * Adds the child token. - */ - public function addChild(self $child) - { - $this->children[] = $child; - $child->setParent($this); - } - - public function getChildByToken(string $token): ?self - { - foreach ($this->children as $child) { - if ($token === $child->getToken()) { - return $child; - } - } - - return null; - } - - /** - * Gets a Collector by name. - * - * @param string $name A collector name - * - * @return DataCollectorInterface A DataCollectorInterface instance - * - * @throws \InvalidArgumentException if the collector does not exist - */ - public function getCollector($name) - { - if (!isset($this->collectors[$name])) { - throw new \InvalidArgumentException(sprintf('Collector "%s" does not exist.', $name)); - } - - return $this->collectors[$name]; - } - - /** - * Gets the Collectors associated with this profile. - * - * @return DataCollectorInterface[] - */ - public function getCollectors() - { - return $this->collectors; - } - - /** - * Sets the Collectors associated with this profile. - * - * @param DataCollectorInterface[] $collectors - */ - public function setCollectors(array $collectors) - { - $this->collectors = []; - foreach ($collectors as $collector) { - $this->addCollector($collector); - } - } - - /** - * Adds a Collector. - */ - public function addCollector(DataCollectorInterface $collector) - { - $this->collectors[$collector->getName()] = $collector; - } - - /** - * Returns true if a Collector for the given name exists. - * - * @param string $name A collector name - * - * @return bool - */ - public function hasCollector($name) - { - return isset($this->collectors[$name]); - } - - /** - * @return array - */ - public function __sleep() - { - return ['token', 'parent', 'children', 'collectors', 'ip', 'method', 'url', 'time', 'statusCode']; - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/Profiler/Profiler.php b/paragonik-backend/vendor/symfony/http-kernel/Profiler/Profiler.php deleted file mode 100644 index 60a6236..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/Profiler/Profiler.php +++ /dev/null @@ -1,269 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\Profiler; - -use Psr\Log\LoggerInterface; -use Symfony\Component\Debug\Exception\FatalThrowableError; -use Symfony\Component\HttpFoundation\Exception\ConflictingHeadersException; -use Symfony\Component\HttpFoundation\Request; -use Symfony\Component\HttpFoundation\Response; -use Symfony\Component\HttpKernel\DataCollector\DataCollectorInterface; -use Symfony\Component\HttpKernel\DataCollector\LateDataCollectorInterface; -use Symfony\Contracts\Service\ResetInterface; - -/** - * Profiler. - * - * @author Fabien Potencier - */ -class Profiler implements ResetInterface -{ - private $storage; - - /** - * @var DataCollectorInterface[] - */ - private $collectors = []; - - private $logger; - private $initiallyEnabled = true; - private $enabled = true; - - public function __construct(ProfilerStorageInterface $storage, LoggerInterface $logger = null, bool $enable = true) - { - $this->storage = $storage; - $this->logger = $logger; - $this->initiallyEnabled = $this->enabled = $enable; - } - - /** - * Disables the profiler. - */ - public function disable() - { - $this->enabled = false; - } - - /** - * Enables the profiler. - */ - public function enable() - { - $this->enabled = true; - } - - /** - * Loads the Profile for the given Response. - * - * @return Profile|null A Profile instance - */ - public function loadProfileFromResponse(Response $response) - { - if (!$token = $response->headers->get('X-Debug-Token')) { - return null; - } - - return $this->loadProfile($token); - } - - /** - * Loads the Profile for the given token. - * - * @param string $token A token - * - * @return Profile|null A Profile instance - */ - public function loadProfile($token) - { - return $this->storage->read($token); - } - - /** - * Saves a Profile. - * - * @return bool - */ - public function saveProfile(Profile $profile) - { - // late collect - foreach ($profile->getCollectors() as $collector) { - if ($collector instanceof LateDataCollectorInterface) { - $collector->lateCollect(); - } - } - - if (!($ret = $this->storage->write($profile)) && null !== $this->logger) { - $this->logger->warning('Unable to store the profiler information.', ['configured_storage' => \get_class($this->storage)]); - } - - return $ret; - } - - /** - * Purges all data from the storage. - */ - public function purge() - { - $this->storage->purge(); - } - - /** - * Finds profiler tokens for the given criteria. - * - * @param string $ip The IP - * @param string $url The URL - * @param string $limit The maximum number of tokens to return - * @param string $method The request method - * @param string $start The start date to search from - * @param string $end The end date to search to - * @param string $statusCode The request status code - * - * @return array An array of tokens - * - * @see https://php.net/datetime.formats for the supported date/time formats - */ - public function find($ip, $url, $limit, $method, $start, $end, $statusCode = null) - { - return $this->storage->find($ip, $url, $limit, $method, $this->getTimestamp($start), $this->getTimestamp($end), $statusCode); - } - - /** - * Collects data for the given Response. - * - * @param \Throwable|null $exception - * - * @return Profile|null A Profile instance or null if the profiler is disabled - */ - public function collect(Request $request, Response $response/*, \Throwable $exception = null*/) - { - $exception = 2 < \func_num_args() ? func_get_arg(2) : null; - - if (false === $this->enabled) { - return null; - } - - $profile = new Profile(substr(hash('sha256', uniqid(mt_rand(), true)), 0, 6)); - $profile->setTime(time()); - $profile->setUrl($request->getUri()); - $profile->setMethod($request->getMethod()); - $profile->setStatusCode($response->getStatusCode()); - try { - $profile->setIp($request->getClientIp()); - } catch (ConflictingHeadersException $e) { - $profile->setIp('Unknown'); - } - - if ($prevToken = $response->headers->get('X-Debug-Token')) { - $response->headers->set('X-Previous-Debug-Token', $prevToken); - } - - $response->headers->set('X-Debug-Token', $profile->getToken()); - - $wrappedException = null; - foreach ($this->collectors as $collector) { - if (($e = $exception) instanceof \Error) { - $r = new \ReflectionMethod($collector, 'collect'); - $e = 2 >= $r->getNumberOfParameters() || !($p = $r->getParameters()[2])->hasType() || \Exception::class !== $p->getType()->getName() ? $e : ($wrappedException ?? $wrappedException = new FatalThrowableError($e)); - } - - $collector->collect($request, $response, $e); - // we need to clone for sub-requests - $profile->addCollector(clone $collector); - } - - return $profile; - } - - public function reset() - { - foreach ($this->collectors as $collector) { - $collector->reset(); - } - $this->enabled = $this->initiallyEnabled; - } - - /** - * Gets the Collectors associated with this profiler. - * - * @return array An array of collectors - */ - public function all() - { - return $this->collectors; - } - - /** - * Sets the Collectors associated with this profiler. - * - * @param DataCollectorInterface[] $collectors An array of collectors - */ - public function set(array $collectors = []) - { - $this->collectors = []; - foreach ($collectors as $collector) { - $this->add($collector); - } - } - - /** - * Adds a Collector. - */ - public function add(DataCollectorInterface $collector) - { - $this->collectors[$collector->getName()] = $collector; - } - - /** - * Returns true if a Collector for the given name exists. - * - * @param string $name A collector name - * - * @return bool - */ - public function has($name) - { - return isset($this->collectors[$name]); - } - - /** - * Gets a Collector by name. - * - * @param string $name A collector name - * - * @return DataCollectorInterface A DataCollectorInterface instance - * - * @throws \InvalidArgumentException if the collector does not exist - */ - public function get($name) - { - if (!isset($this->collectors[$name])) { - throw new \InvalidArgumentException(sprintf('Collector "%s" does not exist.', $name)); - } - - return $this->collectors[$name]; - } - - private function getTimestamp(?string $value): ?int - { - if (null === $value || '' === $value) { - return null; - } - - try { - $value = new \DateTime(is_numeric($value) ? '@'.$value : $value); - } catch (\Exception $e) { - return null; - } - - return $value->getTimestamp(); - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/Profiler/ProfilerStorageInterface.php b/paragonik-backend/vendor/symfony/http-kernel/Profiler/ProfilerStorageInterface.php deleted file mode 100644 index d13ee23..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/Profiler/ProfilerStorageInterface.php +++ /dev/null @@ -1,65 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\Profiler; - -/** - * ProfilerStorageInterface. - * - * This interface exists for historical reasons. The only supported - * implementation is FileProfilerStorage. - * - * As the profiler must only be used on non-production servers, the file storage - * is more than enough and no other implementations will ever be supported. - * - * @internal since 4.2 - * - * @author Fabien Potencier - */ -interface ProfilerStorageInterface -{ - /** - * Finds profiler tokens for the given criteria. - * - * @param string $ip The IP - * @param string $url The URL - * @param string $limit The maximum number of tokens to return - * @param string $method The request method - * @param int|null $start The start date to search from - * @param int|null $end The end date to search to - * - * @return array An array of tokens - */ - public function find($ip, $url, $limit, $method, $start = null, $end = null): array; - - /** - * Reads data associated with the given token. - * - * The method returns false if the token does not exist in the storage. - * - * @param string $token A token - * - * @return Profile|null The profile associated with token - */ - public function read($token): ?Profile; - - /** - * Saves a Profile. - * - * @return bool Write operation successful - */ - public function write(Profile $profile): bool; - - /** - * Purges all data from the database. - */ - public function purge(); -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/README.md b/paragonik-backend/vendor/symfony/http-kernel/README.md deleted file mode 100644 index cc5e74b..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/README.md +++ /dev/null @@ -1,16 +0,0 @@ -HttpKernel Component -==================== - -The HttpKernel component provides a structured process for converting a Request -into a Response by making use of the EventDispatcher component. It's flexible -enough to create a full-stack framework (Symfony), a micro-framework (Silex) or -an advanced CMS system (Drupal). - -Resources ---------- - - * [Documentation](https://symfony.com/doc/current/components/http_kernel/index.html) - * [Contributing](https://symfony.com/doc/current/contributing/index.html) - * [Report issues](https://github.com/symfony/symfony/issues) and - [send Pull Requests](https://github.com/symfony/symfony/pulls) - in the [main Symfony repository](https://github.com/symfony/symfony) diff --git a/paragonik-backend/vendor/symfony/http-kernel/RebootableInterface.php b/paragonik-backend/vendor/symfony/http-kernel/RebootableInterface.php deleted file mode 100644 index 58d9ef5..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/RebootableInterface.php +++ /dev/null @@ -1,30 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel; - -/** - * Allows the Kernel to be rebooted using a temporary cache directory. - * - * @author Nicolas Grekas - */ -interface RebootableInterface -{ - /** - * Reboots a kernel. - * - * The getCacheDir() method of a rebootable kernel should not be called - * while building the container. Use the %kernel.cache_dir% parameter instead. - * - * @param string|null $warmupDir pass null to reboot in the regular cache directory - */ - public function reboot($warmupDir); -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/Resources/welcome.html.php b/paragonik-backend/vendor/symfony/http-kernel/Resources/welcome.html.php deleted file mode 100644 index e1c0ff1..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/Resources/welcome.html.php +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - Welcome to Symfony! - - - -
    -
    - - You're seeing this page because you haven't configured any homepage URL. -
    - -
    -
    - -

    Welcome to Symfony

    -
    - -
    - - - - - - -

    Your application is now ready and you can start working on it.

    -
    - - -
    - -
    - -
    -
    - - diff --git a/paragonik-backend/vendor/symfony/http-kernel/TerminableInterface.php b/paragonik-backend/vendor/symfony/http-kernel/TerminableInterface.php deleted file mode 100644 index 8aa3319..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/TerminableInterface.php +++ /dev/null @@ -1,32 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel; - -use Symfony\Component\HttpFoundation\Request; -use Symfony\Component\HttpFoundation\Response; - -/** - * Terminable extends the Kernel request/response cycle with dispatching a post - * response event after sending the response and before shutting down the kernel. - * - * @author Jordi Boggiano - * @author Pierre Minnieur - */ -interface TerminableInterface -{ - /** - * Terminates a request/response cycle. - * - * Should be called after sending the response and before shutting down the kernel. - */ - public function terminate(Request $request, Response $response); -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/UriSigner.php b/paragonik-backend/vendor/symfony/http-kernel/UriSigner.php deleted file mode 100644 index b490b92..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/UriSigner.php +++ /dev/null @@ -1,107 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel; - -/** - * Signs URIs. - * - * @author Fabien Potencier - */ -class UriSigner -{ - private $secret; - private $parameter; - - /** - * @param string $secret A secret - * @param string $parameter Query string parameter to use - */ - public function __construct(string $secret, string $parameter = '_hash') - { - $this->secret = $secret; - $this->parameter = $parameter; - } - - /** - * Signs a URI. - * - * The given URI is signed by adding the query string parameter - * which value depends on the URI and the secret. - * - * @param string $uri A URI to sign - * - * @return string The signed URI - */ - public function sign($uri) - { - $url = parse_url($uri); - if (isset($url['query'])) { - parse_str($url['query'], $params); - } else { - $params = []; - } - - $uri = $this->buildUrl($url, $params); - $params[$this->parameter] = $this->computeHash($uri); - - return $this->buildUrl($url, $params); - } - - /** - * Checks that a URI contains the correct hash. - * - * @param string $uri A signed URI - * - * @return bool True if the URI is signed correctly, false otherwise - */ - public function check($uri) - { - $url = parse_url($uri); - if (isset($url['query'])) { - parse_str($url['query'], $params); - } else { - $params = []; - } - - if (empty($params[$this->parameter])) { - return false; - } - - $hash = $params[$this->parameter]; - unset($params[$this->parameter]); - - return hash_equals($this->computeHash($this->buildUrl($url, $params)), $hash); - } - - private function computeHash(string $uri): string - { - return base64_encode(hash_hmac('sha256', $uri, $this->secret, true)); - } - - private function buildUrl(array $url, array $params = []): string - { - ksort($params, SORT_STRING); - $url['query'] = http_build_query($params, '', '&'); - - $scheme = isset($url['scheme']) ? $url['scheme'].'://' : ''; - $host = isset($url['host']) ? $url['host'] : ''; - $port = isset($url['port']) ? ':'.$url['port'] : ''; - $user = isset($url['user']) ? $url['user'] : ''; - $pass = isset($url['pass']) ? ':'.$url['pass'] : ''; - $pass = ($user || $pass) ? "$pass@" : ''; - $path = isset($url['path']) ? $url['path'] : ''; - $query = isset($url['query']) && $url['query'] ? '?'.$url['query'] : ''; - $fragment = isset($url['fragment']) ? '#'.$url['fragment'] : ''; - - return $scheme.$user.$pass.$host.$port.$path.$query.$fragment; - } -} diff --git a/paragonik-backend/vendor/symfony/http-kernel/composer.json b/paragonik-backend/vendor/symfony/http-kernel/composer.json deleted file mode 100644 index 14e1c64..0000000 --- a/paragonik-backend/vendor/symfony/http-kernel/composer.json +++ /dev/null @@ -1,74 +0,0 @@ -{ - "name": "symfony/http-kernel", - "type": "library", - "description": "Symfony HttpKernel Component", - "keywords": [], - "homepage": "https://symfony.com", - "license": "MIT", - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "require": { - "php": "^7.1.3", - "symfony/error-handler": "^4.4", - "symfony/event-dispatcher": "^4.4", - "symfony/http-foundation": "^4.4|^5.0", - "symfony/polyfill-ctype": "^1.8", - "symfony/polyfill-php73": "^1.9", - "psr/log": "~1.0" - }, - "require-dev": { - "symfony/browser-kit": "^4.3|^5.0", - "symfony/config": "^3.4|^4.0|^5.0", - "symfony/console": "^3.4|^4.0", - "symfony/css-selector": "^3.4|^4.0|^5.0", - "symfony/dependency-injection": "^4.3|^5.0", - "symfony/dom-crawler": "^3.4|^4.0|^5.0", - "symfony/expression-language": "^3.4|^4.0|^5.0", - "symfony/finder": "^3.4|^4.0|^5.0", - "symfony/process": "^3.4|^4.0|^5.0", - "symfony/routing": "^3.4|^4.0|^5.0", - "symfony/stopwatch": "^3.4|^4.0|^5.0", - "symfony/templating": "^3.4|^4.0|^5.0", - "symfony/translation": "^4.2|^5.0", - "symfony/translation-contracts": "^1.1|^2", - "psr/cache": "~1.0", - "twig/twig": "^1.34|^2.4|^3.0" - }, - "provide": { - "psr/log-implementation": "1.0" - }, - "conflict": { - "symfony/browser-kit": "<4.3", - "symfony/config": "<3.4", - "symfony/console": ">=5", - "symfony/dependency-injection": "<4.3", - "symfony/translation": "<4.2", - "twig/twig": "<1.34|<2.4,>=2" - }, - "suggest": { - "symfony/browser-kit": "", - "symfony/config": "", - "symfony/console": "", - "symfony/dependency-injection": "" - }, - "autoload": { - "psr-4": { "Symfony\\Component\\HttpKernel\\": "" }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "minimum-stability": "dev", - "extra": { - "branch-alias": { - "dev-master": "4.4-dev" - } - } -} diff --git a/paragonik-backend/vendor/symfony/mime/.gitattributes b/paragonik-backend/vendor/symfony/mime/.gitattributes deleted file mode 100644 index ebb9287..0000000 --- a/paragonik-backend/vendor/symfony/mime/.gitattributes +++ /dev/null @@ -1,3 +0,0 @@ -/Tests export-ignore -/phpunit.xml.dist export-ignore -/.gitignore export-ignore diff --git a/paragonik-backend/vendor/symfony/mime/Address.php b/paragonik-backend/vendor/symfony/mime/Address.php deleted file mode 100644 index b0dcbd0..0000000 --- a/paragonik-backend/vendor/symfony/mime/Address.php +++ /dev/null @@ -1,125 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Mime; - -use Egulias\EmailValidator\EmailValidator; -use Egulias\EmailValidator\Validation\RFCValidation; -use Symfony\Component\Mime\Encoder\IdnAddressEncoder; -use Symfony\Component\Mime\Exception\InvalidArgumentException; -use Symfony\Component\Mime\Exception\LogicException; -use Symfony\Component\Mime\Exception\RfcComplianceException; - -/** - * @author Fabien Potencier - */ -final class Address -{ - /** - * A regex that matches a structure like 'Name '. - * It matches anything between the first < and last > as email address. - * This allows to use a single string to construct an Address, which can be convenient to use in - * config, and allows to have more readable config. - * This does not try to cover all edge cases for address. - */ - private const FROM_STRING_PATTERN = '~(?[^<]*)<(?.*)>[^>]*~'; - - private static $validator; - private static $encoder; - - private $address; - private $name; - - public function __construct(string $address, string $name = '') - { - if (!class_exists(EmailValidator::class)) { - throw new LogicException(sprintf('The "%s" class cannot be used as it needs "%s"; try running "composer require egulias/email-validator".', __CLASS__, EmailValidator::class)); - } - - if (null === self::$validator) { - self::$validator = new EmailValidator(); - } - - $this->address = trim($address); - $this->name = trim(str_replace(["\n", "\r"], '', $name)); - - if (!self::$validator->isValid($this->address, new RFCValidation())) { - throw new RfcComplianceException(sprintf('Email "%s" does not comply with addr-spec of RFC 2822.', $address)); - } - } - - public function getAddress(): string - { - return $this->address; - } - - public function getName(): string - { - return $this->name; - } - - public function getEncodedAddress(): string - { - if (null === self::$encoder) { - self::$encoder = new IdnAddressEncoder(); - } - - return self::$encoder->encodeString($this->address); - } - - public function toString(): string - { - return ($n = $this->getName()) ? $n.' <'.$this->getEncodedAddress().'>' : $this->getEncodedAddress(); - } - - /** - * @param Address|string $address - */ - public static function create($address): self - { - if ($address instanceof self) { - return $address; - } - if (\is_string($address)) { - return new self($address); - } - - throw new InvalidArgumentException(sprintf('An address can be an instance of Address or a string ("%s") given).', \is_object($address) ? \get_class($address) : \gettype($address))); - } - - /** - * @param (Address|string)[] $addresses - * - * @return Address[] - */ - public static function createArray(array $addresses): array - { - $addrs = []; - foreach ($addresses as $address) { - $addrs[] = self::create($address); - } - - return $addrs; - } - - public static function fromString(string $string): self - { - if (false === strpos($string, '<')) { - return new self($string, ''); - } - - if (!preg_match(self::FROM_STRING_PATTERN, $string, $matches)) { - throw new InvalidArgumentException(sprintf('Could not parse "%s" to a "%s" instance.', $string, static::class)); - } - - return new self($matches['addrSpec'], trim($matches['displayName'], ' \'"')); - } -} diff --git a/paragonik-backend/vendor/symfony/mime/BodyRendererInterface.php b/paragonik-backend/vendor/symfony/mime/BodyRendererInterface.php deleted file mode 100644 index d692172..0000000 --- a/paragonik-backend/vendor/symfony/mime/BodyRendererInterface.php +++ /dev/null @@ -1,20 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Mime; - -/** - * @author Fabien Potencier - */ -interface BodyRendererInterface -{ - public function render(Message $message): void; -} diff --git a/paragonik-backend/vendor/symfony/mime/CHANGELOG.md b/paragonik-backend/vendor/symfony/mime/CHANGELOG.md deleted file mode 100644 index 6148360..0000000 --- a/paragonik-backend/vendor/symfony/mime/CHANGELOG.md +++ /dev/null @@ -1,20 +0,0 @@ -CHANGELOG -========= - -4.4.0 ------ - - * [BC BREAK] Removed `NamedAddress` (`Address` now supports a name) - * Added PHPUnit constraints - * Added `AbstractPart::asDebugString()` - * Added `Address::fromString()` - -4.3.3 ------ - - * [BC BREAK] Renamed method `Headers::getAll()` to `Headers::all()`. - -4.3.0 ------ - - * Introduced the component as experimental diff --git a/paragonik-backend/vendor/symfony/mime/CharacterStream.php b/paragonik-backend/vendor/symfony/mime/CharacterStream.php deleted file mode 100644 index 749066f..0000000 --- a/paragonik-backend/vendor/symfony/mime/CharacterStream.php +++ /dev/null @@ -1,221 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Mime; - -/** - * @author Fabien Potencier - * @author Xavier De Cock - * - * @internal - */ -final class CharacterStream -{ - /** Pre-computed for optimization */ - private const UTF8_LENGTH_MAP = [ - "\x00" => 1, "\x01" => 1, "\x02" => 1, "\x03" => 1, "\x04" => 1, "\x05" => 1, "\x06" => 1, "\x07" => 1, - "\x08" => 1, "\x09" => 1, "\x0a" => 1, "\x0b" => 1, "\x0c" => 1, "\x0d" => 1, "\x0e" => 1, "\x0f" => 1, - "\x10" => 1, "\x11" => 1, "\x12" => 1, "\x13" => 1, "\x14" => 1, "\x15" => 1, "\x16" => 1, "\x17" => 1, - "\x18" => 1, "\x19" => 1, "\x1a" => 1, "\x1b" => 1, "\x1c" => 1, "\x1d" => 1, "\x1e" => 1, "\x1f" => 1, - "\x20" => 1, "\x21" => 1, "\x22" => 1, "\x23" => 1, "\x24" => 1, "\x25" => 1, "\x26" => 1, "\x27" => 1, - "\x28" => 1, "\x29" => 1, "\x2a" => 1, "\x2b" => 1, "\x2c" => 1, "\x2d" => 1, "\x2e" => 1, "\x2f" => 1, - "\x30" => 1, "\x31" => 1, "\x32" => 1, "\x33" => 1, "\x34" => 1, "\x35" => 1, "\x36" => 1, "\x37" => 1, - "\x38" => 1, "\x39" => 1, "\x3a" => 1, "\x3b" => 1, "\x3c" => 1, "\x3d" => 1, "\x3e" => 1, "\x3f" => 1, - "\x40" => 1, "\x41" => 1, "\x42" => 1, "\x43" => 1, "\x44" => 1, "\x45" => 1, "\x46" => 1, "\x47" => 1, - "\x48" => 1, "\x49" => 1, "\x4a" => 1, "\x4b" => 1, "\x4c" => 1, "\x4d" => 1, "\x4e" => 1, "\x4f" => 1, - "\x50" => 1, "\x51" => 1, "\x52" => 1, "\x53" => 1, "\x54" => 1, "\x55" => 1, "\x56" => 1, "\x57" => 1, - "\x58" => 1, "\x59" => 1, "\x5a" => 1, "\x5b" => 1, "\x5c" => 1, "\x5d" => 1, "\x5e" => 1, "\x5f" => 1, - "\x60" => 1, "\x61" => 1, "\x62" => 1, "\x63" => 1, "\x64" => 1, "\x65" => 1, "\x66" => 1, "\x67" => 1, - "\x68" => 1, "\x69" => 1, "\x6a" => 1, "\x6b" => 1, "\x6c" => 1, "\x6d" => 1, "\x6e" => 1, "\x6f" => 1, - "\x70" => 1, "\x71" => 1, "\x72" => 1, "\x73" => 1, "\x74" => 1, "\x75" => 1, "\x76" => 1, "\x77" => 1, - "\x78" => 1, "\x79" => 1, "\x7a" => 1, "\x7b" => 1, "\x7c" => 1, "\x7d" => 1, "\x7e" => 1, "\x7f" => 1, - "\x80" => 0, "\x81" => 0, "\x82" => 0, "\x83" => 0, "\x84" => 0, "\x85" => 0, "\x86" => 0, "\x87" => 0, - "\x88" => 0, "\x89" => 0, "\x8a" => 0, "\x8b" => 0, "\x8c" => 0, "\x8d" => 0, "\x8e" => 0, "\x8f" => 0, - "\x90" => 0, "\x91" => 0, "\x92" => 0, "\x93" => 0, "\x94" => 0, "\x95" => 0, "\x96" => 0, "\x97" => 0, - "\x98" => 0, "\x99" => 0, "\x9a" => 0, "\x9b" => 0, "\x9c" => 0, "\x9d" => 0, "\x9e" => 0, "\x9f" => 0, - "\xa0" => 0, "\xa1" => 0, "\xa2" => 0, "\xa3" => 0, "\xa4" => 0, "\xa5" => 0, "\xa6" => 0, "\xa7" => 0, - "\xa8" => 0, "\xa9" => 0, "\xaa" => 0, "\xab" => 0, "\xac" => 0, "\xad" => 0, "\xae" => 0, "\xaf" => 0, - "\xb0" => 0, "\xb1" => 0, "\xb2" => 0, "\xb3" => 0, "\xb4" => 0, "\xb5" => 0, "\xb6" => 0, "\xb7" => 0, - "\xb8" => 0, "\xb9" => 0, "\xba" => 0, "\xbb" => 0, "\xbc" => 0, "\xbd" => 0, "\xbe" => 0, "\xbf" => 0, - "\xc0" => 2, "\xc1" => 2, "\xc2" => 2, "\xc3" => 2, "\xc4" => 2, "\xc5" => 2, "\xc6" => 2, "\xc7" => 2, - "\xc8" => 2, "\xc9" => 2, "\xca" => 2, "\xcb" => 2, "\xcc" => 2, "\xcd" => 2, "\xce" => 2, "\xcf" => 2, - "\xd0" => 2, "\xd1" => 2, "\xd2" => 2, "\xd3" => 2, "\xd4" => 2, "\xd5" => 2, "\xd6" => 2, "\xd7" => 2, - "\xd8" => 2, "\xd9" => 2, "\xda" => 2, "\xdb" => 2, "\xdc" => 2, "\xdd" => 2, "\xde" => 2, "\xdf" => 2, - "\xe0" => 3, "\xe1" => 3, "\xe2" => 3, "\xe3" => 3, "\xe4" => 3, "\xe5" => 3, "\xe6" => 3, "\xe7" => 3, - "\xe8" => 3, "\xe9" => 3, "\xea" => 3, "\xeb" => 3, "\xec" => 3, "\xed" => 3, "\xee" => 3, "\xef" => 3, - "\xf0" => 4, "\xf1" => 4, "\xf2" => 4, "\xf3" => 4, "\xf4" => 4, "\xf5" => 4, "\xf6" => 4, "\xf7" => 4, - "\xf8" => 5, "\xf9" => 5, "\xfa" => 5, "\xfb" => 5, "\xfc" => 6, "\xfd" => 6, "\xfe" => 0, "\xff" => 0, - ]; - - private $data = ''; - private $dataSize = 0; - private $map = []; - private $charCount = 0; - private $currentPos = 0; - private $fixedWidth = 0; - - /** - * @param resource|string $input - */ - public function __construct($input, ?string $charset = 'utf-8') - { - $charset = strtolower(trim($charset)) ?: 'utf-8'; - if ('utf-8' === $charset || 'utf8' === $charset) { - $this->fixedWidth = 0; - $this->map = ['p' => [], 'i' => []]; - } else { - switch ($charset) { - // 16 bits - case 'ucs2': - case 'ucs-2': - case 'utf16': - case 'utf-16': - $this->fixedWidth = 2; - break; - - // 32 bits - case 'ucs4': - case 'ucs-4': - case 'utf32': - case 'utf-32': - $this->fixedWidth = 4; - break; - - // 7-8 bit charsets: (us-)?ascii, (iso|iec)-?8859-?[0-9]+, windows-?125[0-9], cp-?[0-9]+, ansi, macintosh, - // koi-?7, koi-?8-?.+, mik, (cork|t1), v?iscii - // and fallback - default: - $this->fixedWidth = 1; - } - } - if (\is_resource($input)) { - $blocks = 512; - if (stream_get_meta_data($input)['seekable'] ?? false) { - rewind($input); - } - while (false !== $read = fread($input, $blocks)) { - $this->write($read); - } - } else { - $this->write($input); - } - } - - public function read(int $length): ?string - { - if ($this->currentPos >= $this->charCount) { - return null; - } - $length = ($this->currentPos + $length > $this->charCount) ? $this->charCount - $this->currentPos : $length; - if ($this->fixedWidth > 0) { - $len = $length * $this->fixedWidth; - $ret = substr($this->data, $this->currentPos * $this->fixedWidth, $len); - $this->currentPos += $length; - } else { - $end = $this->currentPos + $length; - $end = $end > $this->charCount ? $this->charCount : $end; - $ret = ''; - $start = 0; - if ($this->currentPos > 0) { - $start = $this->map['p'][$this->currentPos - 1]; - } - $to = $start; - for (; $this->currentPos < $end; ++$this->currentPos) { - if (isset($this->map['i'][$this->currentPos])) { - $ret .= substr($this->data, $start, $to - $start).'?'; - $start = $this->map['p'][$this->currentPos]; - } else { - $to = $this->map['p'][$this->currentPos]; - } - } - $ret .= substr($this->data, $start, $to - $start); - } - - return $ret; - } - - public function readBytes(int $length): ?array - { - if (null !== $read = $this->read($length)) { - return array_map('ord', str_split($read, 1)); - } - - return null; - } - - public function setPointer(int $charOffset): void - { - if ($this->charCount < $charOffset) { - $charOffset = $this->charCount; - } - $this->currentPos = $charOffset; - } - - public function write(string $chars): void - { - $ignored = ''; - $this->data .= $chars; - if ($this->fixedWidth > 0) { - $strlen = \strlen($chars); - $ignoredL = $strlen % $this->fixedWidth; - $ignored = $ignoredL ? substr($chars, -$ignoredL) : ''; - $this->charCount += ($strlen - $ignoredL) / $this->fixedWidth; - } else { - $this->charCount += $this->getUtf8CharPositions($chars, $this->dataSize, $ignored); - } - $this->dataSize = \strlen($this->data) - \strlen($ignored); - } - - private function getUtf8CharPositions(string $string, int $startOffset, string &$ignoredChars): int - { - $strlen = \strlen($string); - $charPos = \count($this->map['p']); - $foundChars = 0; - $invalid = false; - for ($i = 0; $i < $strlen; ++$i) { - $char = $string[$i]; - $size = self::UTF8_LENGTH_MAP[$char]; - if (0 == $size) { - /* char is invalid, we must wait for a resync */ - $invalid = true; - continue; - } - - if ($invalid) { - /* We mark the chars as invalid and start a new char */ - $this->map['p'][$charPos + $foundChars] = $startOffset + $i; - $this->map['i'][$charPos + $foundChars] = true; - ++$foundChars; - $invalid = false; - } - if (($i + $size) > $strlen) { - $ignoredChars = substr($string, $i); - break; - } - for ($j = 1; $j < $size; ++$j) { - $char = $string[$i + $j]; - if ($char > "\x7F" && $char < "\xC0") { - // Valid - continue parsing - } else { - /* char is invalid, we must wait for a resync */ - $invalid = true; - continue 2; - } - } - /* Ok we got a complete char here */ - $this->map['p'][$charPos + $foundChars] = $startOffset + $i + $size; - $i += $j - 1; - ++$foundChars; - } - - return $foundChars; - } -} diff --git a/paragonik-backend/vendor/symfony/mime/Crypto/SMime.php b/paragonik-backend/vendor/symfony/mime/Crypto/SMime.php deleted file mode 100644 index 55941be..0000000 --- a/paragonik-backend/vendor/symfony/mime/Crypto/SMime.php +++ /dev/null @@ -1,111 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Mime\Crypto; - -use Symfony\Component\Mime\Exception\RuntimeException; -use Symfony\Component\Mime\Part\SMimePart; - -/** - * @author Sebastiaan Stok - * - * @internal - */ -abstract class SMime -{ - protected function normalizeFilePath(string $path): string - { - if (!file_exists($path)) { - throw new RuntimeException(sprintf('File does not exist: %s.', $path)); - } - - return 'file://'.str_replace('\\', '/', realpath($path)); - } - - protected function iteratorToFile(iterable $iterator, $stream): void - { - foreach ($iterator as $chunk) { - fwrite($stream, $chunk); - } - } - - protected function convertMessageToSMimePart($stream, string $type, string $subtype): SMimePart - { - rewind($stream); - - $headers = ''; - - while (!feof($stream)) { - $buffer = fread($stream, 78); - $headers .= $buffer; - - // Detect ending of header list - if (preg_match('/(\r\n\r\n|\n\n)/', $headers, $match)) { - $headersPosEnd = strpos($headers, $headerBodySeparator = $match[0]); - - break; - } - } - - $headers = $this->getMessageHeaders(trim(substr($headers, 0, $headersPosEnd))); - - fseek($stream, $headersPosEnd + \strlen($headerBodySeparator)); - - return new SMimePart($this->getStreamIterator($stream), $type, $subtype, $this->getParametersFromHeader($headers['content-type'])); - } - - protected function getStreamIterator($stream): iterable - { - while (!feof($stream)) { - yield fread($stream, 16372); - } - } - - private function getMessageHeaders(string $headerData): array - { - $headers = []; - $headerLines = explode("\r\n", str_replace("\n", "\r\n", str_replace("\r\n", "\n", $headerData))); - $currentHeaderName = ''; - - // Transform header lines into an associative array - foreach ($headerLines as $headerLine) { - // Empty lines between headers indicate a new mime-entity - if ('' === $headerLine) { - break; - } - - // Handle headers that span multiple lines - if (false === strpos($headerLine, ':')) { - $headers[$currentHeaderName] .= ' '.trim($headerLine); - continue; - } - - $header = explode(':', $headerLine, 2); - $currentHeaderName = strtolower($header[0]); - $headers[$currentHeaderName] = trim($header[1]); - } - - return $headers; - } - - private function getParametersFromHeader(string $header): array - { - $params = []; - - preg_match_all('/(?P[a-z-0-9]+)=(?P"[^"]+"|(?:[^\s;]+|$))(?:\s+;)?/i', $header, $matches); - - foreach ($matches['value'] as $pos => $paramValue) { - $params[$matches['name'][$pos]] = trim($paramValue, '"'); - } - - return $params; - } -} diff --git a/paragonik-backend/vendor/symfony/mime/Crypto/SMimeEncrypter.php b/paragonik-backend/vendor/symfony/mime/Crypto/SMimeEncrypter.php deleted file mode 100644 index d6961a6..0000000 --- a/paragonik-backend/vendor/symfony/mime/Crypto/SMimeEncrypter.php +++ /dev/null @@ -1,63 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Mime\Crypto; - -use Symfony\Component\Mime\Exception\RuntimeException; -use Symfony\Component\Mime\Message; - -/** - * @author Sebastiaan Stok - */ -final class SMimeEncrypter extends SMime -{ - private $certs; - private $cipher; - - /** - * @param string|string[] $certificate The path (or array of paths) of the file(s) containing the X.509 certificate(s) - * @param int|null $cipher A set of algorithms used to encrypt the message. Must be one of these PHP constants: https://www.php.net/manual/en/openssl.ciphers.php - */ - public function __construct($certificate, int $cipher = null) - { - if (!\extension_loaded('openssl')) { - throw new \LogicException('PHP extension "openssl" is required to use SMime.'); - } - - if (\is_array($certificate)) { - $this->certs = array_map([$this, 'normalizeFilePath'], $certificate); - } else { - $this->certs = $this->normalizeFilePath($certificate); - } - - $this->cipher = $cipher ?? OPENSSL_CIPHER_AES_256_CBC; - } - - public function encrypt(Message $message): Message - { - $bufferFile = tmpfile(); - $outputFile = tmpfile(); - - $this->iteratorToFile($message->toIterable(), $bufferFile); - - if (!@openssl_pkcs7_encrypt(stream_get_meta_data($bufferFile)['uri'], stream_get_meta_data($outputFile)['uri'], $this->certs, [], 0, $this->cipher)) { - throw new RuntimeException(sprintf('Failed to encrypt S/Mime message. Error: "%s".', openssl_error_string())); - } - - $mimePart = $this->convertMessageToSMimePart($outputFile, 'application', 'pkcs7-mime'); - $mimePart->getHeaders() - ->addTextHeader('Content-Transfer-Encoding', 'base64') - ->addParameterizedHeader('Content-Disposition', 'attachment', ['name' => 'smime.p7m']) - ; - - return new Message($message->getHeaders(), $mimePart); - } -} diff --git a/paragonik-backend/vendor/symfony/mime/Crypto/SMimeSigner.php b/paragonik-backend/vendor/symfony/mime/Crypto/SMimeSigner.php deleted file mode 100644 index 243aaf1..0000000 --- a/paragonik-backend/vendor/symfony/mime/Crypto/SMimeSigner.php +++ /dev/null @@ -1,71 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Mime\Crypto; - -use Symfony\Component\Mime\Exception\RuntimeException; -use Symfony\Component\Mime\Message; - -/** - * @author Sebastiaan Stok - */ -final class SMimeSigner extends SMime -{ - private $signCertificate; - private $signPrivateKey; - private $signOptions; - private $extraCerts; - - /** - * @var string|null - */ - private $privateKeyPassphrase; - - /** - * @param string $certificate The path of the file containing the signing certificate (in PEM format) - * @param string $privateKey The path of the file containing the private key (in PEM format) - * @param string|null $privateKeyPassphrase A passphrase of the private key (if any) - * @param string|null $extraCerts The path of the file containing intermediate certificates (in PEM format) needed by the signing certificate - * @param int|null $signOptions Bitwise operator options for openssl_pkcs7_sign() (@see https://secure.php.net/manual/en/openssl.pkcs7.flags.php) - */ - public function __construct(string $certificate, string $privateKey, string $privateKeyPassphrase = null, string $extraCerts = null, int $signOptions = null) - { - if (!\extension_loaded('openssl')) { - throw new \LogicException('PHP extension "openssl" is required to use SMime.'); - } - - $this->signCertificate = $this->normalizeFilePath($certificate); - - if (null !== $privateKeyPassphrase) { - $this->signPrivateKey = [$this->normalizeFilePath($privateKey), $privateKeyPassphrase]; - } else { - $this->signPrivateKey = $this->normalizeFilePath($privateKey); - } - - $this->signOptions = $signOptions ?? PKCS7_DETACHED; - $this->extraCerts = $extraCerts ? realpath($extraCerts) : null; - $this->privateKeyPassphrase = $privateKeyPassphrase; - } - - public function sign(Message $message): Message - { - $bufferFile = tmpfile(); - $outputFile = tmpfile(); - - $this->iteratorToFile($message->getBody()->toIterable(), $bufferFile); - - if (!@openssl_pkcs7_sign(stream_get_meta_data($bufferFile)['uri'], stream_get_meta_data($outputFile)['uri'], $this->signCertificate, $this->signPrivateKey, [], $this->signOptions, $this->extraCerts)) { - throw new RuntimeException(sprintf('Failed to sign S/Mime message. Error: "%s".', openssl_error_string())); - } - - return new Message($message->getHeaders(), $this->convertMessageToSMimePart($outputFile, 'multipart', 'signed')); - } -} diff --git a/paragonik-backend/vendor/symfony/mime/DependencyInjection/AddMimeTypeGuesserPass.php b/paragonik-backend/vendor/symfony/mime/DependencyInjection/AddMimeTypeGuesserPass.php deleted file mode 100644 index e24beb0..0000000 --- a/paragonik-backend/vendor/symfony/mime/DependencyInjection/AddMimeTypeGuesserPass.php +++ /dev/null @@ -1,46 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Mime\DependencyInjection; - -use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface; -use Symfony\Component\DependencyInjection\ContainerBuilder; -use Symfony\Component\DependencyInjection\Reference; - -/** - * Registers custom mime types guessers. - * - * @author Fabien Potencier - */ -class AddMimeTypeGuesserPass implements CompilerPassInterface -{ - private $mimeTypesService; - private $mimeTypeGuesserTag; - - public function __construct(string $mimeTypesService = 'mime_types', string $mimeTypeGuesserTag = 'mime.mime_type_guesser') - { - $this->mimeTypesService = $mimeTypesService; - $this->mimeTypeGuesserTag = $mimeTypeGuesserTag; - } - - /** - * {@inheritdoc} - */ - public function process(ContainerBuilder $container) - { - if ($container->has($this->mimeTypesService)) { - $definition = $container->findDefinition($this->mimeTypesService); - foreach ($container->findTaggedServiceIds($this->mimeTypeGuesserTag, true) as $id => $attributes) { - $definition->addMethodCall('registerGuesser', [new Reference($id)]); - } - } - } -} diff --git a/paragonik-backend/vendor/symfony/mime/Email.php b/paragonik-backend/vendor/symfony/mime/Email.php deleted file mode 100644 index 7ecea47..0000000 --- a/paragonik-backend/vendor/symfony/mime/Email.php +++ /dev/null @@ -1,599 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Mime; - -use Symfony\Component\Mime\Exception\LogicException; -use Symfony\Component\Mime\Part\AbstractPart; -use Symfony\Component\Mime\Part\DataPart; -use Symfony\Component\Mime\Part\Multipart\AlternativePart; -use Symfony\Component\Mime\Part\Multipart\MixedPart; -use Symfony\Component\Mime\Part\Multipart\RelatedPart; -use Symfony\Component\Mime\Part\TextPart; - -/** - * @author Fabien Potencier - */ -class Email extends Message -{ - const PRIORITY_HIGHEST = 1; - const PRIORITY_HIGH = 2; - const PRIORITY_NORMAL = 3; - const PRIORITY_LOW = 4; - const PRIORITY_LOWEST = 5; - - private const PRIORITY_MAP = [ - self::PRIORITY_HIGHEST => 'Highest', - self::PRIORITY_HIGH => 'High', - self::PRIORITY_NORMAL => 'Normal', - self::PRIORITY_LOW => 'Low', - self::PRIORITY_LOWEST => 'Lowest', - ]; - - private $text; - private $textCharset; - private $html; - private $htmlCharset; - private $attachments = []; - - /** - * @return $this - */ - public function subject(string $subject) - { - return $this->setHeaderBody('Text', 'Subject', $subject); - } - - public function getSubject(): ?string - { - return $this->getHeaders()->getHeaderBody('Subject'); - } - - /** - * @return $this - */ - public function date(\DateTimeInterface $dateTime) - { - return $this->setHeaderBody('Date', 'Date', $dateTime); - } - - public function getDate(): ?\DateTimeImmutable - { - return $this->getHeaders()->getHeaderBody('Date'); - } - - /** - * @param Address|string $address - * - * @return $this - */ - public function returnPath($address) - { - return $this->setHeaderBody('Path', 'Return-Path', Address::create($address)); - } - - public function getReturnPath(): ?Address - { - return $this->getHeaders()->getHeaderBody('Return-Path'); - } - - /** - * @param Address|string $address - * - * @return $this - */ - public function sender($address) - { - return $this->setHeaderBody('Mailbox', 'Sender', Address::create($address)); - } - - public function getSender(): ?Address - { - return $this->getHeaders()->getHeaderBody('Sender'); - } - - /** - * @param Address|string ...$addresses - * - * @return $this - */ - public function addFrom(...$addresses) - { - return $this->addListAddressHeaderBody('From', $addresses); - } - - /** - * @param Address|string ...$addresses - * - * @return $this - */ - public function from(...$addresses) - { - return $this->setListAddressHeaderBody('From', $addresses); - } - - /** - * @return Address[] - */ - public function getFrom(): array - { - return $this->getHeaders()->getHeaderBody('From') ?: []; - } - - /** - * @param Address|string ...$addresses - * - * @return $this - */ - public function addReplyTo(...$addresses) - { - return $this->addListAddressHeaderBody('Reply-To', $addresses); - } - - /** - * @param Address|string ...$addresses - * - * @return $this - */ - public function replyTo(...$addresses) - { - return $this->setListAddressHeaderBody('Reply-To', $addresses); - } - - /** - * @return Address[] - */ - public function getReplyTo(): array - { - return $this->getHeaders()->getHeaderBody('Reply-To') ?: []; - } - - /** - * @param Address|string ...$addresses - * - * @return $this - */ - public function addTo(...$addresses) - { - return $this->addListAddressHeaderBody('To', $addresses); - } - - /** - * @param Address|string ...$addresses - * - * @return $this - */ - public function to(...$addresses) - { - return $this->setListAddressHeaderBody('To', $addresses); - } - - /** - * @return Address[] - */ - public function getTo(): array - { - return $this->getHeaders()->getHeaderBody('To') ?: []; - } - - /** - * @param Address|string ...$addresses - * - * @return $this - */ - public function addCc(...$addresses) - { - return $this->addListAddressHeaderBody('Cc', $addresses); - } - - /** - * @param Address|string ...$addresses - * - * @return $this - */ - public function cc(...$addresses) - { - return $this->setListAddressHeaderBody('Cc', $addresses); - } - - /** - * @return Address[] - */ - public function getCc(): array - { - return $this->getHeaders()->getHeaderBody('Cc') ?: []; - } - - /** - * @param Address|string ...$addresses - * - * @return $this - */ - public function addBcc(...$addresses) - { - return $this->addListAddressHeaderBody('Bcc', $addresses); - } - - /** - * @param Address|string ...$addresses - * - * @return $this - */ - public function bcc(...$addresses) - { - return $this->setListAddressHeaderBody('Bcc', $addresses); - } - - /** - * @return Address[] - */ - public function getBcc(): array - { - return $this->getHeaders()->getHeaderBody('Bcc') ?: []; - } - - /** - * Sets the priority of this message. - * - * The value is an integer where 1 is the highest priority and 5 is the lowest. - * - * @return $this - */ - public function priority(int $priority) - { - if ($priority > 5) { - $priority = 5; - } elseif ($priority < 1) { - $priority = 1; - } - - return $this->setHeaderBody('Text', 'X-Priority', sprintf('%d (%s)', $priority, self::PRIORITY_MAP[$priority])); - } - - /** - * Get the priority of this message. - * - * The returned value is an integer where 1 is the highest priority and 5 - * is the lowest. - */ - public function getPriority(): int - { - list($priority) = sscanf($this->getHeaders()->getHeaderBody('X-Priority'), '%[1-5]'); - - return $priority ?? 3; - } - - /** - * @param resource|string $body - * - * @return $this - */ - public function text($body, string $charset = 'utf-8') - { - $this->text = $body; - $this->textCharset = $charset; - - return $this; - } - - /** - * @return resource|string|null - */ - public function getTextBody() - { - return $this->text; - } - - public function getTextCharset(): ?string - { - return $this->textCharset; - } - - /** - * @param resource|string|null $body - * - * @return $this - */ - public function html($body, string $charset = 'utf-8') - { - $this->html = $body; - $this->htmlCharset = $charset; - - return $this; - } - - /** - * @return resource|string|null - */ - public function getHtmlBody() - { - return $this->html; - } - - public function getHtmlCharset(): ?string - { - return $this->htmlCharset; - } - - /** - * @param resource|string $body - * - * @return $this - */ - public function attach($body, string $name = null, string $contentType = null) - { - $this->attachments[] = ['body' => $body, 'name' => $name, 'content-type' => $contentType, 'inline' => false]; - - return $this; - } - - /** - * @return $this - */ - public function attachFromPath(string $path, string $name = null, string $contentType = null) - { - $this->attachments[] = ['path' => $path, 'name' => $name, 'content-type' => $contentType, 'inline' => false]; - - return $this; - } - - /** - * @param resource|string $body - * - * @return $this - */ - public function embed($body, string $name = null, string $contentType = null) - { - $this->attachments[] = ['body' => $body, 'name' => $name, 'content-type' => $contentType, 'inline' => true]; - - return $this; - } - - /** - * @return $this - */ - public function embedFromPath(string $path, string $name = null, string $contentType = null) - { - $this->attachments[] = ['path' => $path, 'name' => $name, 'content-type' => $contentType, 'inline' => true]; - - return $this; - } - - /** - * @return $this - */ - public function attachPart(DataPart $part) - { - $this->attachments[] = ['part' => $part]; - - return $this; - } - - /** - * @return DataPart[] - */ - public function getAttachments(): array - { - $parts = []; - foreach ($this->attachments as $attachment) { - $parts[] = $this->createDataPart($attachment); - } - - return $parts; - } - - public function getBody(): AbstractPart - { - if (null !== $body = parent::getBody()) { - return $body; - } - - return $this->generateBody(); - } - - public function ensureValidity() - { - if (null === $this->text && null === $this->html && !$this->attachments) { - throw new LogicException('A message must have a text or an HTML part or attachments.'); - } - - parent::ensureValidity(); - } - - /** - * Generates an AbstractPart based on the raw body of a message. - * - * The most "complex" part generated by this method is when there is text and HTML bodies - * with related images for the HTML part and some attachments: - * - * multipart/mixed - * | - * |------------> multipart/related - * | | - * | |------------> multipart/alternative - * | | | - * | | ------------> text/plain (with content) - * | | | - * | | ------------> text/html (with content) - * | | - * | ------------> image/png (with content) - * | - * ------------> application/pdf (with content) - */ - private function generateBody(): AbstractPart - { - $this->ensureValidity(); - - [$htmlPart, $attachmentParts, $inlineParts] = $this->prepareParts(); - - $part = null === $this->text ? null : new TextPart($this->text, $this->textCharset); - if (null !== $htmlPart) { - if (null !== $part) { - $part = new AlternativePart($part, $htmlPart); - } else { - $part = $htmlPart; - } - } - - if ($inlineParts) { - $part = new RelatedPart($part, ...$inlineParts); - } - - if ($attachmentParts) { - if ($part) { - $part = new MixedPart($part, ...$attachmentParts); - } else { - $part = new MixedPart(...$attachmentParts); - } - } - - return $part; - } - - private function prepareParts(): ?array - { - $names = []; - $htmlPart = null; - $html = $this->html; - if (null !== $this->html) { - if (\is_resource($html)) { - if (stream_get_meta_data($html)['seekable'] ?? false) { - rewind($html); - } - - $html = stream_get_contents($html); - } - $htmlPart = new TextPart($html, $this->htmlCharset, 'html'); - preg_match_all('(]*src\s*=\s*(?:([\'"])cid:([^"]+)\\1|cid:([^>\s]+)))i', $html, $names); - $names = array_filter(array_unique(array_merge($names[2], $names[3]))); - } - - $attachmentParts = $inlineParts = []; - foreach ($this->attachments as $attachment) { - foreach ($names as $name) { - if (isset($attachment['part'])) { - continue; - } - if ($name !== $attachment['name']) { - continue; - } - if (isset($inlineParts[$name])) { - continue 2; - } - $attachment['inline'] = true; - $inlineParts[$name] = $part = $this->createDataPart($attachment); - $html = str_replace('cid:'.$name, 'cid:'.$part->getContentId(), $html); - continue 2; - } - $attachmentParts[] = $this->createDataPart($attachment); - } - if (null !== $htmlPart) { - $htmlPart = new TextPart($html, $this->htmlCharset, 'html'); - } - - return [$htmlPart, $attachmentParts, array_values($inlineParts)]; - } - - private function createDataPart(array $attachment): DataPart - { - if (isset($attachment['part'])) { - return $attachment['part']; - } - - if (isset($attachment['body'])) { - $part = new DataPart($attachment['body'], $attachment['name'] ?? null, $attachment['content-type'] ?? null); - } else { - $part = DataPart::fromPath($attachment['path'] ?? '', $attachment['name'] ?? null, $attachment['content-type'] ?? null); - } - if ($attachment['inline']) { - $part->asInline(); - } - - return $part; - } - - /** - * @return $this - */ - private function setHeaderBody(string $type, string $name, $body) - { - $this->getHeaders()->setHeaderBody($type, $name, $body); - - return $this; - } - - private function addListAddressHeaderBody(string $name, array $addresses) - { - if (!$header = $this->getHeaders()->get($name)) { - return $this->setListAddressHeaderBody($name, $addresses); - } - $header->addAddresses(Address::createArray($addresses)); - - return $this; - } - - private function setListAddressHeaderBody(string $name, array $addresses) - { - $addresses = Address::createArray($addresses); - $headers = $this->getHeaders(); - if ($header = $headers->get($name)) { - $header->setAddresses($addresses); - } else { - $headers->addMailboxListHeader($name, $addresses); - } - - return $this; - } - - /** - * @internal - */ - public function __serialize(): array - { - if (\is_resource($this->text)) { - if (stream_get_meta_data($this->text)['seekable'] ?? false) { - rewind($this->text); - } - - $this->text = stream_get_contents($this->text); - } - - if (\is_resource($this->html)) { - if (stream_get_meta_data($this->html)['seekable'] ?? false) { - rewind($this->html); - } - - $this->html = stream_get_contents($this->html); - } - - foreach ($this->attachments as $i => $attachment) { - if (isset($attachment['body']) && \is_resource($attachment['body'])) { - if (stream_get_meta_data($attachment['body'])['seekable'] ?? false) { - rewind($attachment['body']); - } - - $this->attachments[$i]['body'] = stream_get_contents($attachment['body']); - } - } - - return [$this->text, $this->textCharset, $this->html, $this->htmlCharset, $this->attachments, parent::__serialize()]; - } - - /** - * @internal - */ - public function __unserialize(array $data): void - { - [$this->text, $this->textCharset, $this->html, $this->htmlCharset, $this->attachments, $parentData] = $data; - - parent::__unserialize($parentData); - } -} diff --git a/paragonik-backend/vendor/symfony/mime/Encoder/AddressEncoderInterface.php b/paragonik-backend/vendor/symfony/mime/Encoder/AddressEncoderInterface.php deleted file mode 100644 index de477d8..0000000 --- a/paragonik-backend/vendor/symfony/mime/Encoder/AddressEncoderInterface.php +++ /dev/null @@ -1,28 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Mime\Encoder; - -use Symfony\Component\Mime\Exception\AddressEncoderException; - -/** - * @author Christian Schmidt - */ -interface AddressEncoderInterface -{ - /** - * Encodes an email address. - * - * @throws AddressEncoderException if the email cannot be represented in - * the encoding implemented by this class - */ - public function encodeString(string $address): string; -} diff --git a/paragonik-backend/vendor/symfony/mime/Encoder/Base64ContentEncoder.php b/paragonik-backend/vendor/symfony/mime/Encoder/Base64ContentEncoder.php deleted file mode 100644 index 338490b..0000000 --- a/paragonik-backend/vendor/symfony/mime/Encoder/Base64ContentEncoder.php +++ /dev/null @@ -1,48 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Mime\Encoder; - -use Symfony\Component\Mime\Exception\RuntimeException; - -/** - * @author Fabien Potencier - */ -final class Base64ContentEncoder extends Base64Encoder implements ContentEncoderInterface -{ - public function encodeByteStream($stream, int $maxLineLength = 0): iterable - { - if (!\is_resource($stream)) { - throw new \TypeError(sprintf('Method "%s" takes a stream as a first argument.', __METHOD__)); - } - - $filter = stream_filter_append($stream, 'convert.base64-encode', \STREAM_FILTER_READ, [ - 'line-length' => 0 >= $maxLineLength || 76 < $maxLineLength ? 76 : $maxLineLength, - 'line-break-chars' => "\r\n", - ]); - if (!\is_resource($filter)) { - throw new RuntimeException('Unable to set the base64 content encoder to the filter.'); - } - - if (stream_get_meta_data($stream)['seekable'] ?? false) { - rewind($stream); - } - while (!feof($stream)) { - yield fread($stream, 8192); - } - stream_filter_remove($filter); - } - - public function getName(): string - { - return 'base64'; - } -} diff --git a/paragonik-backend/vendor/symfony/mime/Encoder/Base64Encoder.php b/paragonik-backend/vendor/symfony/mime/Encoder/Base64Encoder.php deleted file mode 100644 index 7106478..0000000 --- a/paragonik-backend/vendor/symfony/mime/Encoder/Base64Encoder.php +++ /dev/null @@ -1,41 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Mime\Encoder; - -/** - * @author Chris Corbyn - */ -class Base64Encoder implements EncoderInterface -{ - /** - * Takes an unencoded string and produces a Base64 encoded string from it. - * - * Base64 encoded strings have a maximum line length of 76 characters. - * If the first line needs to be shorter, indicate the difference with - * $firstLineOffset. - */ - public function encodeString(string $string, ?string $charset = 'utf-8', int $firstLineOffset = 0, int $maxLineLength = 0): string - { - if (0 >= $maxLineLength || 76 < $maxLineLength) { - $maxLineLength = 76; - } - - $encodedString = base64_encode($string); - $firstLine = ''; - if (0 !== $firstLineOffset) { - $firstLine = substr($encodedString, 0, $maxLineLength - $firstLineOffset)."\r\n"; - $encodedString = substr($encodedString, $maxLineLength - $firstLineOffset); - } - - return $firstLine.trim(chunk_split($encodedString, $maxLineLength, "\r\n")); - } -} diff --git a/paragonik-backend/vendor/symfony/mime/Encoder/Base64MimeHeaderEncoder.php b/paragonik-backend/vendor/symfony/mime/Encoder/Base64MimeHeaderEncoder.php deleted file mode 100644 index 5c06f6d..0000000 --- a/paragonik-backend/vendor/symfony/mime/Encoder/Base64MimeHeaderEncoder.php +++ /dev/null @@ -1,43 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Mime\Encoder; - -/** - * @author Chris Corbyn - */ -final class Base64MimeHeaderEncoder extends Base64Encoder implements MimeHeaderEncoderInterface -{ - public function getName(): string - { - return 'B'; - } - - /** - * Takes an unencoded string and produces a Base64 encoded string from it. - * - * If the charset is iso-2022-jp, it uses mb_encode_mimeheader instead of - * default encodeString, otherwise pass to the parent method. - */ - public function encodeString(string $string, ?string $charset = 'utf-8', int $firstLineOffset = 0, int $maxLineLength = 0): string - { - if ('iso-2022-jp' === strtolower($charset)) { - $old = mb_internal_encoding(); - mb_internal_encoding('utf-8'); - $newstring = mb_encode_mimeheader($string, 'iso-2022-jp', $this->getName(), "\r\n"); - mb_internal_encoding($old); - - return $newstring; - } - - return parent::encodeString($string, $charset, $firstLineOffset, $maxLineLength); - } -} diff --git a/paragonik-backend/vendor/symfony/mime/Encoder/ContentEncoderInterface.php b/paragonik-backend/vendor/symfony/mime/Encoder/ContentEncoderInterface.php deleted file mode 100644 index a45ad04..0000000 --- a/paragonik-backend/vendor/symfony/mime/Encoder/ContentEncoderInterface.php +++ /dev/null @@ -1,30 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Mime\Encoder; - -/** - * @author Chris Corbyn - */ -interface ContentEncoderInterface extends EncoderInterface -{ - /** - * Encodes the stream to a Generator. - * - * @param resource $stream - */ - public function encodeByteStream($stream, int $maxLineLength = 0): iterable; - - /** - * Gets the MIME name of this content encoding scheme. - */ - public function getName(): string; -} diff --git a/paragonik-backend/vendor/symfony/mime/Encoder/EightBitContentEncoder.php b/paragonik-backend/vendor/symfony/mime/Encoder/EightBitContentEncoder.php deleted file mode 100644 index 8283120..0000000 --- a/paragonik-backend/vendor/symfony/mime/Encoder/EightBitContentEncoder.php +++ /dev/null @@ -1,35 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Mime\Encoder; - -/** - * @author Fabien Potencier - */ -final class EightBitContentEncoder implements ContentEncoderInterface -{ - public function encodeByteStream($stream, int $maxLineLength = 0): iterable - { - while (!feof($stream)) { - yield fread($stream, 16372); - } - } - - public function getName(): string - { - return '8bit'; - } - - public function encodeString(string $string, ?string $charset = 'utf-8', int $firstLineOffset = 0, int $maxLineLength = 0): string - { - return $string; - } -} diff --git a/paragonik-backend/vendor/symfony/mime/Encoder/EncoderInterface.php b/paragonik-backend/vendor/symfony/mime/Encoder/EncoderInterface.php deleted file mode 100644 index bbf6d48..0000000 --- a/paragonik-backend/vendor/symfony/mime/Encoder/EncoderInterface.php +++ /dev/null @@ -1,26 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Mime\Encoder; - -/** - * @author Chris Corbyn - */ -interface EncoderInterface -{ - /** - * Encode a given string to produce an encoded string. - * - * @param int $firstLineOffset if first line needs to be shorter - * @param int $maxLineLength - 0 indicates the default length for this encoding - */ - public function encodeString(string $string, ?string $charset = 'utf-8', int $firstLineOffset = 0, int $maxLineLength = 0): string; -} diff --git a/paragonik-backend/vendor/symfony/mime/Encoder/IdnAddressEncoder.php b/paragonik-backend/vendor/symfony/mime/Encoder/IdnAddressEncoder.php deleted file mode 100644 index 1c5e32c..0000000 --- a/paragonik-backend/vendor/symfony/mime/Encoder/IdnAddressEncoder.php +++ /dev/null @@ -1,54 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Mime\Encoder; - -use Symfony\Component\Mime\Exception\AddressEncoderException; - -/** - * An IDN email address encoder. - * - * Encodes the domain part of an address using IDN. This is compatible will all - * SMTP servers. - * - * This encoder does not support email addresses with non-ASCII characters in - * local-part (the substring before @). To send to such addresses, use - * Utf8AddressEncoder together with SmtpUtf8Handler. Your outbound SMTP server must support - * the SMTPUTF8 extension. - * - * @author Christian Schmidt - */ -final class IdnAddressEncoder implements AddressEncoderInterface -{ - /** - * Encodes the domain part of an address using IDN. - * - * @throws AddressEncoderException If local-part contains non-ASCII characters - */ - public function encodeString(string $address): string - { - $i = strrpos($address, '@'); - if (false !== $i) { - $local = substr($address, 0, $i); - $domain = substr($address, $i + 1); - - if (preg_match('/[^\x00-\x7F]/', $local)) { - throw new AddressEncoderException(sprintf('Non-ASCII characters not supported in local-part os "%s".', $address)); - } - - if (preg_match('/[^\x00-\x7F]/', $domain)) { - $address = sprintf('%s@%s', $local, idn_to_ascii($domain, 0, INTL_IDNA_VARIANT_UTS46)); - } - } - - return $address; - } -} diff --git a/paragonik-backend/vendor/symfony/mime/Encoder/MimeHeaderEncoderInterface.php b/paragonik-backend/vendor/symfony/mime/Encoder/MimeHeaderEncoderInterface.php deleted file mode 100644 index fff2c78..0000000 --- a/paragonik-backend/vendor/symfony/mime/Encoder/MimeHeaderEncoderInterface.php +++ /dev/null @@ -1,23 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Mime\Encoder; - -/** - * @author Chris Corbyn - */ -interface MimeHeaderEncoderInterface -{ - /** - * Get the MIME name of this content encoding scheme. - */ - public function getName(): string; -} diff --git a/paragonik-backend/vendor/symfony/mime/Encoder/QpContentEncoder.php b/paragonik-backend/vendor/symfony/mime/Encoder/QpContentEncoder.php deleted file mode 100644 index e0b8605..0000000 --- a/paragonik-backend/vendor/symfony/mime/Encoder/QpContentEncoder.php +++ /dev/null @@ -1,64 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Mime\Encoder; - -/** - * @author Lars Strojny - */ -final class QpContentEncoder implements ContentEncoderInterface -{ - public function encodeByteStream($stream, int $maxLineLength = 0): iterable - { - if (!\is_resource($stream)) { - throw new \TypeError(sprintf('Method "%s" takes a stream as a first argument.', __METHOD__)); - } - - // we don't use PHP stream filters here as the content should be small enough - if (stream_get_meta_data($stream)['seekable'] ?? false) { - rewind($stream); - } - - yield $this->encodeString(stream_get_contents($stream), 'utf-8', 0, $maxLineLength); - } - - public function getName(): string - { - return 'quoted-printable'; - } - - public function encodeString(string $string, ?string $charset = 'utf-8', int $firstLineOffset = 0, int $maxLineLength = 0): string - { - return $this->standardize(quoted_printable_encode($string)); - } - - /** - * Make sure CRLF is correct and HT/SPACE are in valid places. - */ - private function standardize(string $string): string - { - // transform CR or LF to CRLF - $string = preg_replace('~=0D(?!=0A)|(? - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Mime\Encoder; - -use Symfony\Component\Mime\CharacterStream; - -/** - * @author Chris Corbyn - */ -class QpEncoder implements EncoderInterface -{ - /** - * Pre-computed QP for HUGE optimization. - */ - private static $qpMap = [ - 0 => '=00', 1 => '=01', 2 => '=02', 3 => '=03', 4 => '=04', - 5 => '=05', 6 => '=06', 7 => '=07', 8 => '=08', 9 => '=09', - 10 => '=0A', 11 => '=0B', 12 => '=0C', 13 => '=0D', 14 => '=0E', - 15 => '=0F', 16 => '=10', 17 => '=11', 18 => '=12', 19 => '=13', - 20 => '=14', 21 => '=15', 22 => '=16', 23 => '=17', 24 => '=18', - 25 => '=19', 26 => '=1A', 27 => '=1B', 28 => '=1C', 29 => '=1D', - 30 => '=1E', 31 => '=1F', 32 => '=20', 33 => '=21', 34 => '=22', - 35 => '=23', 36 => '=24', 37 => '=25', 38 => '=26', 39 => '=27', - 40 => '=28', 41 => '=29', 42 => '=2A', 43 => '=2B', 44 => '=2C', - 45 => '=2D', 46 => '=2E', 47 => '=2F', 48 => '=30', 49 => '=31', - 50 => '=32', 51 => '=33', 52 => '=34', 53 => '=35', 54 => '=36', - 55 => '=37', 56 => '=38', 57 => '=39', 58 => '=3A', 59 => '=3B', - 60 => '=3C', 61 => '=3D', 62 => '=3E', 63 => '=3F', 64 => '=40', - 65 => '=41', 66 => '=42', 67 => '=43', 68 => '=44', 69 => '=45', - 70 => '=46', 71 => '=47', 72 => '=48', 73 => '=49', 74 => '=4A', - 75 => '=4B', 76 => '=4C', 77 => '=4D', 78 => '=4E', 79 => '=4F', - 80 => '=50', 81 => '=51', 82 => '=52', 83 => '=53', 84 => '=54', - 85 => '=55', 86 => '=56', 87 => '=57', 88 => '=58', 89 => '=59', - 90 => '=5A', 91 => '=5B', 92 => '=5C', 93 => '=5D', 94 => '=5E', - 95 => '=5F', 96 => '=60', 97 => '=61', 98 => '=62', 99 => '=63', - 100 => '=64', 101 => '=65', 102 => '=66', 103 => '=67', 104 => '=68', - 105 => '=69', 106 => '=6A', 107 => '=6B', 108 => '=6C', 109 => '=6D', - 110 => '=6E', 111 => '=6F', 112 => '=70', 113 => '=71', 114 => '=72', - 115 => '=73', 116 => '=74', 117 => '=75', 118 => '=76', 119 => '=77', - 120 => '=78', 121 => '=79', 122 => '=7A', 123 => '=7B', 124 => '=7C', - 125 => '=7D', 126 => '=7E', 127 => '=7F', 128 => '=80', 129 => '=81', - 130 => '=82', 131 => '=83', 132 => '=84', 133 => '=85', 134 => '=86', - 135 => '=87', 136 => '=88', 137 => '=89', 138 => '=8A', 139 => '=8B', - 140 => '=8C', 141 => '=8D', 142 => '=8E', 143 => '=8F', 144 => '=90', - 145 => '=91', 146 => '=92', 147 => '=93', 148 => '=94', 149 => '=95', - 150 => '=96', 151 => '=97', 152 => '=98', 153 => '=99', 154 => '=9A', - 155 => '=9B', 156 => '=9C', 157 => '=9D', 158 => '=9E', 159 => '=9F', - 160 => '=A0', 161 => '=A1', 162 => '=A2', 163 => '=A3', 164 => '=A4', - 165 => '=A5', 166 => '=A6', 167 => '=A7', 168 => '=A8', 169 => '=A9', - 170 => '=AA', 171 => '=AB', 172 => '=AC', 173 => '=AD', 174 => '=AE', - 175 => '=AF', 176 => '=B0', 177 => '=B1', 178 => '=B2', 179 => '=B3', - 180 => '=B4', 181 => '=B5', 182 => '=B6', 183 => '=B7', 184 => '=B8', - 185 => '=B9', 186 => '=BA', 187 => '=BB', 188 => '=BC', 189 => '=BD', - 190 => '=BE', 191 => '=BF', 192 => '=C0', 193 => '=C1', 194 => '=C2', - 195 => '=C3', 196 => '=C4', 197 => '=C5', 198 => '=C6', 199 => '=C7', - 200 => '=C8', 201 => '=C9', 202 => '=CA', 203 => '=CB', 204 => '=CC', - 205 => '=CD', 206 => '=CE', 207 => '=CF', 208 => '=D0', 209 => '=D1', - 210 => '=D2', 211 => '=D3', 212 => '=D4', 213 => '=D5', 214 => '=D6', - 215 => '=D7', 216 => '=D8', 217 => '=D9', 218 => '=DA', 219 => '=DB', - 220 => '=DC', 221 => '=DD', 222 => '=DE', 223 => '=DF', 224 => '=E0', - 225 => '=E1', 226 => '=E2', 227 => '=E3', 228 => '=E4', 229 => '=E5', - 230 => '=E6', 231 => '=E7', 232 => '=E8', 233 => '=E9', 234 => '=EA', - 235 => '=EB', 236 => '=EC', 237 => '=ED', 238 => '=EE', 239 => '=EF', - 240 => '=F0', 241 => '=F1', 242 => '=F2', 243 => '=F3', 244 => '=F4', - 245 => '=F5', 246 => '=F6', 247 => '=F7', 248 => '=F8', 249 => '=F9', - 250 => '=FA', 251 => '=FB', 252 => '=FC', 253 => '=FD', 254 => '=FE', - 255 => '=FF', - ]; - - private static $safeMapShare = []; - - /** - * A map of non-encoded ascii characters. - * - * @var string[] - * - * @internal - */ - protected $safeMap = []; - - public function __construct() - { - $id = \get_class($this); - if (!isset(self::$safeMapShare[$id])) { - $this->initSafeMap(); - self::$safeMapShare[$id] = $this->safeMap; - } else { - $this->safeMap = self::$safeMapShare[$id]; - } - } - - protected function initSafeMap(): void - { - foreach (array_merge([0x09, 0x20], range(0x21, 0x3C), range(0x3E, 0x7E)) as $byte) { - $this->safeMap[$byte] = \chr($byte); - } - } - - /** - * {@inheritdoc} - * - * Takes an unencoded string and produces a QP encoded string from it. - * - * QP encoded strings have a maximum line length of 76 characters. - * If the first line needs to be shorter, indicate the difference with - * $firstLineOffset. - */ - public function encodeString(string $string, ?string $charset = 'utf-8', int $firstLineOffset = 0, int $maxLineLength = 0): string - { - if ($maxLineLength > 76 || $maxLineLength <= 0) { - $maxLineLength = 76; - } - - $thisLineLength = $maxLineLength - $firstLineOffset; - - $lines = []; - $lNo = 0; - $lines[$lNo] = ''; - $currentLine = &$lines[$lNo++]; - $size = $lineLen = 0; - $charStream = new CharacterStream($string, $charset); - - // Fetching more than 4 chars at one is slower, as is fetching fewer bytes - // Conveniently 4 chars is the UTF-8 safe number since UTF-8 has up to 6 - // bytes per char and (6 * 4 * 3 = 72 chars per line) * =NN is 3 bytes - while (null !== $bytes = $charStream->readBytes(4)) { - $enc = $this->encodeByteSequence($bytes, $size); - - $i = strpos($enc, '=0D=0A'); - $newLineLength = $lineLen + (false === $i ? $size : $i); - - if ($currentLine && $newLineLength >= $thisLineLength) { - $lines[$lNo] = ''; - $currentLine = &$lines[$lNo++]; - $thisLineLength = $maxLineLength; - $lineLen = 0; - } - - $currentLine .= $enc; - - if (false === $i) { - $lineLen += $size; - } else { - // 6 is the length of '=0D=0A'. - $lineLen = $size - strrpos($enc, '=0D=0A') - 6; - } - } - - return $this->standardize(implode("=\r\n", $lines)); - } - - /** - * Encode the given byte array into a verbatim QP form. - */ - private function encodeByteSequence(array $bytes, int &$size): string - { - $ret = ''; - $size = 0; - foreach ($bytes as $b) { - if (isset($this->safeMap[$b])) { - $ret .= $this->safeMap[$b]; - ++$size; - } else { - $ret .= self::$qpMap[$b]; - $size += 3; - } - } - - return $ret; - } - - /** - * Make sure CRLF is correct and HT/SPACE are in valid places. - */ - private function standardize(string $string): string - { - $string = str_replace(["\t=0D=0A", ' =0D=0A', '=0D=0A'], ["=09\r\n", "=20\r\n", "\r\n"], $string); - switch ($end = \ord(substr($string, -1))) { - case 0x09: - case 0x20: - $string = substr_replace($string, self::$qpMap[$end], -1); - } - - return $string; - } -} diff --git a/paragonik-backend/vendor/symfony/mime/Encoder/QpMimeHeaderEncoder.php b/paragonik-backend/vendor/symfony/mime/Encoder/QpMimeHeaderEncoder.php deleted file mode 100644 index d1d3837..0000000 --- a/paragonik-backend/vendor/symfony/mime/Encoder/QpMimeHeaderEncoder.php +++ /dev/null @@ -1,40 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Mime\Encoder; - -/** - * @author Chris Corbyn - */ -final class QpMimeHeaderEncoder extends QpEncoder implements MimeHeaderEncoderInterface -{ - protected function initSafeMap(): void - { - foreach (array_merge( - range(0x61, 0x7A), range(0x41, 0x5A), - range(0x30, 0x39), [0x20, 0x21, 0x2A, 0x2B, 0x2D, 0x2F] - ) as $byte) { - $this->safeMap[$byte] = \chr($byte); - } - } - - public function getName(): string - { - return 'Q'; - } - - public function encodeString(string $string, ?string $charset = 'utf-8', int $firstLineOffset = 0, int $maxLineLength = 0): string - { - return str_replace([' ', '=20', "=\r\n"], ['_', '_', "\r\n"], - parent::encodeString($string, $charset, $firstLineOffset, $maxLineLength) - ); - } -} diff --git a/paragonik-backend/vendor/symfony/mime/Encoder/Rfc2231Encoder.php b/paragonik-backend/vendor/symfony/mime/Encoder/Rfc2231Encoder.php deleted file mode 100644 index aa3e062..0000000 --- a/paragonik-backend/vendor/symfony/mime/Encoder/Rfc2231Encoder.php +++ /dev/null @@ -1,50 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Mime\Encoder; - -use Symfony\Component\Mime\CharacterStream; - -/** - * @author Chris Corbyn - */ -final class Rfc2231Encoder implements EncoderInterface -{ - /** - * Takes an unencoded string and produces a string encoded according to RFC 2231 from it. - */ - public function encodeString(string $string, ?string $charset = 'utf-8', int $firstLineOffset = 0, int $maxLineLength = 0): string - { - $lines = []; - $lineCount = 0; - $lines[] = ''; - $currentLine = &$lines[$lineCount++]; - - if (0 >= $maxLineLength) { - $maxLineLength = 75; - } - - $charStream = new CharacterStream($string, $charset); - $thisLineLength = $maxLineLength - $firstLineOffset; - - while (null !== $char = $charStream->read(4)) { - $encodedChar = rawurlencode($char); - if (0 !== \strlen($currentLine) && \strlen($currentLine.$encodedChar) > $thisLineLength) { - $lines[] = ''; - $currentLine = &$lines[$lineCount++]; - $thisLineLength = $maxLineLength; - } - $currentLine .= $encodedChar; - } - - return implode("\r\n", $lines); - } -} diff --git a/paragonik-backend/vendor/symfony/mime/Exception/AddressEncoderException.php b/paragonik-backend/vendor/symfony/mime/Exception/AddressEncoderException.php deleted file mode 100644 index 51ee2e0..0000000 --- a/paragonik-backend/vendor/symfony/mime/Exception/AddressEncoderException.php +++ /dev/null @@ -1,19 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Mime\Exception; - -/** - * @author Fabien Potencier - */ -class AddressEncoderException extends RfcComplianceException -{ -} diff --git a/paragonik-backend/vendor/symfony/mime/Exception/ExceptionInterface.php b/paragonik-backend/vendor/symfony/mime/Exception/ExceptionInterface.php deleted file mode 100644 index 1193390..0000000 --- a/paragonik-backend/vendor/symfony/mime/Exception/ExceptionInterface.php +++ /dev/null @@ -1,19 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Mime\Exception; - -/** - * @author Fabien Potencier - */ -interface ExceptionInterface extends \Throwable -{ -} diff --git a/paragonik-backend/vendor/symfony/mime/Exception/InvalidArgumentException.php b/paragonik-backend/vendor/symfony/mime/Exception/InvalidArgumentException.php deleted file mode 100644 index e89ebae..0000000 --- a/paragonik-backend/vendor/symfony/mime/Exception/InvalidArgumentException.php +++ /dev/null @@ -1,19 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Mime\Exception; - -/** - * @author Fabien Potencier - */ -class InvalidArgumentException extends \InvalidArgumentException implements ExceptionInterface -{ -} diff --git a/paragonik-backend/vendor/symfony/mime/Exception/LogicException.php b/paragonik-backend/vendor/symfony/mime/Exception/LogicException.php deleted file mode 100644 index 0508ee7..0000000 --- a/paragonik-backend/vendor/symfony/mime/Exception/LogicException.php +++ /dev/null @@ -1,19 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Mime\Exception; - -/** - * @author Fabien Potencier - */ -class LogicException extends \LogicException implements ExceptionInterface -{ -} diff --git a/paragonik-backend/vendor/symfony/mime/Exception/RfcComplianceException.php b/paragonik-backend/vendor/symfony/mime/Exception/RfcComplianceException.php deleted file mode 100644 index 26e4a50..0000000 --- a/paragonik-backend/vendor/symfony/mime/Exception/RfcComplianceException.php +++ /dev/null @@ -1,19 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Mime\Exception; - -/** - * @author Fabien Potencier - */ -class RfcComplianceException extends \InvalidArgumentException implements ExceptionInterface -{ -} diff --git a/paragonik-backend/vendor/symfony/mime/Exception/RuntimeException.php b/paragonik-backend/vendor/symfony/mime/Exception/RuntimeException.php deleted file mode 100644 index fb018b0..0000000 --- a/paragonik-backend/vendor/symfony/mime/Exception/RuntimeException.php +++ /dev/null @@ -1,19 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Mime\Exception; - -/** - * @author Fabien Potencier - */ -class RuntimeException extends \RuntimeException implements ExceptionInterface -{ -} diff --git a/paragonik-backend/vendor/symfony/mime/FileBinaryMimeTypeGuesser.php b/paragonik-backend/vendor/symfony/mime/FileBinaryMimeTypeGuesser.php deleted file mode 100644 index fe1e0cd..0000000 --- a/paragonik-backend/vendor/symfony/mime/FileBinaryMimeTypeGuesser.php +++ /dev/null @@ -1,93 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Mime; - -use Symfony\Component\Mime\Exception\InvalidArgumentException; -use Symfony\Component\Mime\Exception\LogicException; - -/** - * Guesses the MIME type with the binary "file" (only available on *nix). - * - * @author Bernhard Schussek - */ -class FileBinaryMimeTypeGuesser implements MimeTypeGuesserInterface -{ - private $cmd; - - /** - * The $cmd pattern must contain a "%s" string that will be replaced - * with the file name to guess. - * - * The command output must start with the MIME type of the file. - * - * @param string $cmd The command to run to get the MIME type of a file - */ - public function __construct(string $cmd = 'file -b --mime -- %s 2>/dev/null') - { - $this->cmd = $cmd; - } - - /** - * {@inheritdoc} - */ - public function isGuesserSupported(): bool - { - static $supported = null; - - if (null !== $supported) { - return $supported; - } - - if ('\\' === \DIRECTORY_SEPARATOR || !\function_exists('passthru') || !\function_exists('escapeshellarg')) { - return $supported = false; - } - - ob_start(); - passthru('command -v file', $exitStatus); - $binPath = trim(ob_get_clean()); - - return $supported = 0 === $exitStatus && '' !== $binPath; - } - - /** - * {@inheritdoc} - */ - public function guessMimeType(string $path): ?string - { - if (!is_file($path) || !is_readable($path)) { - throw new InvalidArgumentException(sprintf('The "%s" file does not exist or is not readable.', $path)); - } - - if (!$this->isGuesserSupported()) { - throw new LogicException(sprintf('The "%s" guesser is not supported.', __CLASS__)); - } - - ob_start(); - - // need to use --mime instead of -i. see #6641 - passthru(sprintf($this->cmd, escapeshellarg((0 === strpos($path, '-') ? './' : '').$path)), $return); - if ($return > 0) { - ob_end_clean(); - - return null; - } - - $type = trim(ob_get_clean()); - - if (!preg_match('#^([a-z0-9\-]+/[a-z0-9\-\+\.]+)#i', $type, $match)) { - // it's not a type, but an error message - return null; - } - - return $match[1]; - } -} diff --git a/paragonik-backend/vendor/symfony/mime/FileinfoMimeTypeGuesser.php b/paragonik-backend/vendor/symfony/mime/FileinfoMimeTypeGuesser.php deleted file mode 100644 index b91a4ff..0000000 --- a/paragonik-backend/vendor/symfony/mime/FileinfoMimeTypeGuesser.php +++ /dev/null @@ -1,63 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Mime; - -use Symfony\Component\Mime\Exception\InvalidArgumentException; -use Symfony\Component\Mime\Exception\LogicException; - -/** - * Guesses the MIME type using the PECL extension FileInfo. - * - * @author Bernhard Schussek - */ -class FileinfoMimeTypeGuesser implements MimeTypeGuesserInterface -{ - private $magicFile; - - /** - * @param string $magicFile A magic file to use with the finfo instance - * - * @see http://www.php.net/manual/en/function.finfo-open.php - */ - public function __construct(string $magicFile = null) - { - $this->magicFile = $magicFile; - } - - /** - * {@inheritdoc} - */ - public function isGuesserSupported(): bool - { - return \function_exists('finfo_open'); - } - - /** - * {@inheritdoc} - */ - public function guessMimeType(string $path): ?string - { - if (!is_file($path) || !is_readable($path)) { - throw new InvalidArgumentException(sprintf('The "%s" file does not exist or is not readable.', $path)); - } - - if (!$this->isGuesserSupported()) { - throw new LogicException(sprintf('The "%s" guesser is not supported.', __CLASS__)); - } - - if (false === $finfo = new \finfo(FILEINFO_MIME_TYPE, $this->magicFile)) { - return null; - } - - return $finfo->file($path); - } -} diff --git a/paragonik-backend/vendor/symfony/mime/Header/AbstractHeader.php b/paragonik-backend/vendor/symfony/mime/Header/AbstractHeader.php deleted file mode 100644 index 548c192..0000000 --- a/paragonik-backend/vendor/symfony/mime/Header/AbstractHeader.php +++ /dev/null @@ -1,279 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Mime\Header; - -use Symfony\Component\Mime\Encoder\QpMimeHeaderEncoder; - -/** - * An abstract base MIME Header. - * - * @author Chris Corbyn - */ -abstract class AbstractHeader implements HeaderInterface -{ - const PHRASE_PATTERN = '(?:(?:(?:(?:(?:(?:(?:[ \t]*(?:\r\n))?[ \t])?(\((?:(?:(?:[ \t]*(?:\r\n))?[ \t])|(?:(?:[\x01-\x08\x0B\x0C\x0E-\x19\x7F]|[\x21-\x27\x2A-\x5B\x5D-\x7E])|(?:\\[\x00-\x08\x0B\x0C\x0E-\x7F])|(?1)))*(?:(?:[ \t]*(?:\r\n))?[ \t])?\)))*(?:(?:(?:(?:[ \t]*(?:\r\n))?[ \t])?(\((?:(?:(?:[ \t]*(?:\r\n))?[ \t])|(?:(?:[\x01-\x08\x0B\x0C\x0E-\x19\x7F]|[\x21-\x27\x2A-\x5B\x5D-\x7E])|(?:\\[\x00-\x08\x0B\x0C\x0E-\x7F])|(?1)))*(?:(?:[ \t]*(?:\r\n))?[ \t])?\)))|(?:(?:[ \t]*(?:\r\n))?[ \t])))?[a-zA-Z0-9!#\$%&\'\*\+\-\/=\?\^_`\{\}\|~]+(?:(?:(?:(?:[ \t]*(?:\r\n))?[ \t])?(\((?:(?:(?:[ \t]*(?:\r\n))?[ \t])|(?:(?:[\x01-\x08\x0B\x0C\x0E-\x19\x7F]|[\x21-\x27\x2A-\x5B\x5D-\x7E])|(?:\\[\x00-\x08\x0B\x0C\x0E-\x7F])|(?1)))*(?:(?:[ \t]*(?:\r\n))?[ \t])?\)))*(?:(?:(?:(?:[ \t]*(?:\r\n))?[ \t])?(\((?:(?:(?:[ \t]*(?:\r\n))?[ \t])|(?:(?:[\x01-\x08\x0B\x0C\x0E-\x19\x7F]|[\x21-\x27\x2A-\x5B\x5D-\x7E])|(?:\\[\x00-\x08\x0B\x0C\x0E-\x7F])|(?1)))*(?:(?:[ \t]*(?:\r\n))?[ \t])?\)))|(?:(?:[ \t]*(?:\r\n))?[ \t])))?)|(?:(?:(?:(?:(?:[ \t]*(?:\r\n))?[ \t])?(\((?:(?:(?:[ \t]*(?:\r\n))?[ \t])|(?:(?:[\x01-\x08\x0B\x0C\x0E-\x19\x7F]|[\x21-\x27\x2A-\x5B\x5D-\x7E])|(?:\\[\x00-\x08\x0B\x0C\x0E-\x7F])|(?1)))*(?:(?:[ \t]*(?:\r\n))?[ \t])?\)))*(?:(?:(?:(?:[ \t]*(?:\r\n))?[ \t])?(\((?:(?:(?:[ \t]*(?:\r\n))?[ \t])|(?:(?:[\x01-\x08\x0B\x0C\x0E-\x19\x7F]|[\x21-\x27\x2A-\x5B\x5D-\x7E])|(?:\\[\x00-\x08\x0B\x0C\x0E-\x7F])|(?1)))*(?:(?:[ \t]*(?:\r\n))?[ \t])?\)))|(?:(?:[ \t]*(?:\r\n))?[ \t])))?"((?:(?:[ \t]*(?:\r\n))?[ \t])?(?:(?:[\x01-\x08\x0B\x0C\x0E-\x19\x7F]|[\x21\x23-\x5B\x5D-\x7E])|(?:\\[\x00-\x08\x0B\x0C\x0E-\x7F])))*(?:(?:[ \t]*(?:\r\n))?[ \t])?"(?:(?:(?:(?:[ \t]*(?:\r\n))?[ \t])?(\((?:(?:(?:[ \t]*(?:\r\n))?[ \t])|(?:(?:[\x01-\x08\x0B\x0C\x0E-\x19\x7F]|[\x21-\x27\x2A-\x5B\x5D-\x7E])|(?:\\[\x00-\x08\x0B\x0C\x0E-\x7F])|(?1)))*(?:(?:[ \t]*(?:\r\n))?[ \t])?\)))*(?:(?:(?:(?:[ \t]*(?:\r\n))?[ \t])?(\((?:(?:(?:[ \t]*(?:\r\n))?[ \t])|(?:(?:[\x01-\x08\x0B\x0C\x0E-\x19\x7F]|[\x21-\x27\x2A-\x5B\x5D-\x7E])|(?:\\[\x00-\x08\x0B\x0C\x0E-\x7F])|(?1)))*(?:(?:[ \t]*(?:\r\n))?[ \t])?\)))|(?:(?:[ \t]*(?:\r\n))?[ \t])))?))+?)'; - - private static $encoder; - - private $name; - private $lineLength = 76; - private $lang; - private $charset = 'utf-8'; - - public function __construct(string $name) - { - $this->name = $name; - } - - public function setCharset(string $charset) - { - $this->charset = $charset; - } - - public function getCharset(): ?string - { - return $this->charset; - } - - /** - * Set the language used in this Header. - * - * For example, for US English, 'en-us'. - */ - public function setLanguage(string $lang) - { - $this->lang = $lang; - } - - public function getLanguage(): ?string - { - return $this->lang; - } - - public function getName(): string - { - return $this->name; - } - - public function setMaxLineLength(int $lineLength) - { - $this->lineLength = $lineLength; - } - - public function getMaxLineLength(): int - { - return $this->lineLength; - } - - public function toString(): string - { - return $this->tokensToString($this->toTokens()); - } - - /** - * Produces a compliant, formatted RFC 2822 'phrase' based on the string given. - * - * @param string $string as displayed - * @param bool $shorten the first line to make remove for header name - */ - protected function createPhrase(HeaderInterface $header, string $string, string $charset, bool $shorten = false): string - { - // Treat token as exactly what was given - $phraseStr = $string; - - // If it's not valid - if (!preg_match('/^'.self::PHRASE_PATTERN.'$/D', $phraseStr)) { - // .. but it is just ascii text, try escaping some characters - // and make it a quoted-string - if (preg_match('/^[\x00-\x08\x0B\x0C\x0E-\x7F]*$/D', $phraseStr)) { - foreach (['\\', '"'] as $char) { - $phraseStr = str_replace($char, '\\'.$char, $phraseStr); - } - $phraseStr = '"'.$phraseStr.'"'; - } else { - // ... otherwise it needs encoding - // Determine space remaining on line if first line - if ($shorten) { - $usedLength = \strlen($header->getName().': '); - } else { - $usedLength = 0; - } - $phraseStr = $this->encodeWords($header, $string, $usedLength); - } - } - - return $phraseStr; - } - - /** - * Encode needed word tokens within a string of input. - */ - protected function encodeWords(HeaderInterface $header, string $input, int $usedLength = -1): string - { - $value = ''; - $tokens = $this->getEncodableWordTokens($input); - foreach ($tokens as $token) { - // See RFC 2822, Sect 2.2 (really 2.2 ??) - if ($this->tokenNeedsEncoding($token)) { - // Don't encode starting WSP - $firstChar = substr($token, 0, 1); - switch ($firstChar) { - case ' ': - case "\t": - $value .= $firstChar; - $token = substr($token, 1); - } - - if (-1 == $usedLength) { - $usedLength = \strlen($header->getName().': ') + \strlen($value); - } - $value .= $this->getTokenAsEncodedWord($token, $usedLength); - } else { - $value .= $token; - } - } - - return $value; - } - - protected function tokenNeedsEncoding(string $token): bool - { - return (bool) preg_match('~[\x00-\x08\x10-\x19\x7F-\xFF\r\n]~', $token); - } - - /** - * Splits a string into tokens in blocks of words which can be encoded quickly. - * - * @return string[] - */ - protected function getEncodableWordTokens(string $string): array - { - $tokens = []; - $encodedToken = ''; - // Split at all whitespace boundaries - foreach (preg_split('~(?=[\t ])~', $string) as $token) { - if ($this->tokenNeedsEncoding($token)) { - $encodedToken .= $token; - } else { - if (\strlen($encodedToken) > 0) { - $tokens[] = $encodedToken; - $encodedToken = ''; - } - $tokens[] = $token; - } - } - if (\strlen($encodedToken)) { - $tokens[] = $encodedToken; - } - - return $tokens; - } - - /** - * Get a token as an encoded word for safe insertion into headers. - */ - protected function getTokenAsEncodedWord(string $token, int $firstLineOffset = 0): string - { - if (null === self::$encoder) { - self::$encoder = new QpMimeHeaderEncoder(); - } - - // Adjust $firstLineOffset to account for space needed for syntax - $charsetDecl = $this->charset; - if (null !== $this->lang) { - $charsetDecl .= '*'.$this->lang; - } - $encodingWrapperLength = \strlen('=?'.$charsetDecl.'?'.self::$encoder->getName().'??='); - - if ($firstLineOffset >= 75) { - //Does this logic need to be here? - $firstLineOffset = 0; - } - - $encodedTextLines = explode("\r\n", - self::$encoder->encodeString($token, $this->charset, $firstLineOffset, 75 - $encodingWrapperLength) - ); - - if ('iso-2022-jp' !== strtolower($this->charset)) { - // special encoding for iso-2022-jp using mb_encode_mimeheader - foreach ($encodedTextLines as $lineNum => $line) { - $encodedTextLines[$lineNum] = '=?'.$charsetDecl.'?'.self::$encoder->getName().'?'.$line.'?='; - } - } - - return implode("\r\n ", $encodedTextLines); - } - - /** - * Generates tokens from the given string which include CRLF as individual tokens. - * - * @return string[] - */ - protected function generateTokenLines(string $token): array - { - return preg_split('~(\r\n)~', $token, -1, PREG_SPLIT_DELIM_CAPTURE); - } - - /** - * Generate a list of all tokens in the final header. - */ - protected function toTokens(string $string = null): array - { - if (null === $string) { - $string = $this->getBodyAsString(); - } - - $tokens = []; - // Generate atoms; split at all invisible boundaries followed by WSP - foreach (preg_split('~(?=[ \t])~', $string) as $token) { - $newTokens = $this->generateTokenLines($token); - foreach ($newTokens as $newToken) { - $tokens[] = $newToken; - } - } - - return $tokens; - } - - /** - * Takes an array of tokens which appear in the header and turns them into - * an RFC 2822 compliant string, adding FWSP where needed. - * - * @param string[] $tokens - */ - private function tokensToString(array $tokens): string - { - $lineCount = 0; - $headerLines = []; - $headerLines[] = $this->name.': '; - $currentLine = &$headerLines[$lineCount++]; - - // Build all tokens back into compliant header - foreach ($tokens as $i => $token) { - // Line longer than specified maximum or token was just a new line - if (("\r\n" === $token) || - ($i > 0 && \strlen($currentLine.$token) > $this->lineLength) - && 0 < \strlen($currentLine)) { - $headerLines[] = ''; - $currentLine = &$headerLines[$lineCount++]; - } - - // Append token to the line - if ("\r\n" !== $token) { - $currentLine .= $token; - } - } - - // Implode with FWS (RFC 2822, 2.2.3) - return implode("\r\n", $headerLines); - } -} diff --git a/paragonik-backend/vendor/symfony/mime/Header/DateHeader.php b/paragonik-backend/vendor/symfony/mime/Header/DateHeader.php deleted file mode 100644 index a7385d4..0000000 --- a/paragonik-backend/vendor/symfony/mime/Header/DateHeader.php +++ /dev/null @@ -1,66 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Mime\Header; - -/** - * A Date MIME Header. - * - * @author Chris Corbyn - */ -final class DateHeader extends AbstractHeader -{ - private $dateTime; - - public function __construct(string $name, \DateTimeInterface $date) - { - parent::__construct($name); - - $this->setDateTime($date); - } - - /** - * @param \DateTimeInterface $body - */ - public function setBody($body) - { - $this->setDateTime($body); - } - - public function getBody(): \DateTimeImmutable - { - return $this->getDateTime(); - } - - public function getDateTime(): \DateTimeImmutable - { - return $this->dateTime; - } - - /** - * Set the date-time of the Date in this Header. - * - * If a DateTime instance is provided, it is converted to DateTimeImmutable. - */ - public function setDateTime(\DateTimeInterface $dateTime) - { - if ($dateTime instanceof \DateTime) { - $immutable = new \DateTimeImmutable('@'.$dateTime->getTimestamp()); - $dateTime = $immutable->setTimezone($dateTime->getTimezone()); - } - $this->dateTime = $dateTime; - } - - public function getBodyAsString(): string - { - return $this->dateTime->format(\DateTime::RFC2822); - } -} diff --git a/paragonik-backend/vendor/symfony/mime/Header/HeaderInterface.php b/paragonik-backend/vendor/symfony/mime/Header/HeaderInterface.php deleted file mode 100644 index 4546947..0000000 --- a/paragonik-backend/vendor/symfony/mime/Header/HeaderInterface.php +++ /dev/null @@ -1,65 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Mime\Header; - -/** - * A MIME Header. - * - * @author Chris Corbyn - */ -interface HeaderInterface -{ - /** - * Sets the body. - * - * The type depends on the Header concrete class. - * - * @param mixed $body - */ - public function setBody($body); - - /** - * Gets the body. - * - * The return type depends on the Header concrete class. - * - * @return mixed - */ - public function getBody(); - - public function setCharset(string $charset); - - public function getCharset(): ?string; - - public function setLanguage(string $lang); - - public function getLanguage(): ?string; - - public function getName(): string; - - public function setMaxLineLength(int $lineLength); - - public function getMaxLineLength(): int; - - /** - * Gets this Header rendered as a compliant string. - */ - public function toString(): string; - - /** - * Gets the header's body, prepared for folding into a final header value. - * - * This is not necessarily RFC 2822 compliant since folding white space is - * not added at this stage (see {@link toString()} for that). - */ - public function getBodyAsString(): string; -} diff --git a/paragonik-backend/vendor/symfony/mime/Header/Headers.php b/paragonik-backend/vendor/symfony/mime/Header/Headers.php deleted file mode 100644 index 9de506e..0000000 --- a/paragonik-backend/vendor/symfony/mime/Header/Headers.php +++ /dev/null @@ -1,282 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Mime\Header; - -use Symfony\Component\Mime\Address; -use Symfony\Component\Mime\Exception\LogicException; - -/** - * A collection of headers. - * - * @author Fabien Potencier - */ -final class Headers -{ - private static $uniqueHeaders = [ - 'date', 'from', 'sender', 'reply-to', 'to', 'cc', 'bcc', - 'message-id', 'in-reply-to', 'references', 'subject', - ]; - - private $headers = []; - private $lineLength = 76; - - public function __construct(HeaderInterface ...$headers) - { - foreach ($headers as $header) { - $this->add($header); - } - } - - public function __clone() - { - foreach ($this->headers as $name => $collection) { - foreach ($collection as $i => $header) { - $this->headers[$name][$i] = clone $header; - } - } - } - - public function setMaxLineLength(int $lineLength) - { - $this->lineLength = $lineLength; - foreach ($this->all() as $header) { - $header->setMaxLineLength($lineLength); - } - } - - public function getMaxLineLength(): int - { - return $this->lineLength; - } - - /** - * @param (Address|string)[] $addresses - * - * @return $this - */ - public function addMailboxListHeader(string $name, array $addresses): self - { - return $this->add(new MailboxListHeader($name, Address::createArray($addresses))); - } - - /** - * @param Address|string $address - * - * @return $this - */ - public function addMailboxHeader(string $name, $address): self - { - return $this->add(new MailboxHeader($name, Address::create($address))); - } - - /** - * @param string|array $ids - * - * @return $this - */ - public function addIdHeader(string $name, $ids): self - { - return $this->add(new IdentificationHeader($name, $ids)); - } - - /** - * @param Address|string $path - * - * @return $this - */ - public function addPathHeader(string $name, $path): self - { - return $this->add(new PathHeader($name, $path instanceof Address ? $path : new Address($path))); - } - - /** - * @return $this - */ - public function addDateHeader(string $name, \DateTimeInterface $dateTime): self - { - return $this->add(new DateHeader($name, $dateTime)); - } - - /** - * @return $this - */ - public function addTextHeader(string $name, string $value): self - { - return $this->add(new UnstructuredHeader($name, $value)); - } - - /** - * @return $this - */ - public function addParameterizedHeader(string $name, string $value, array $params = []): self - { - return $this->add(new ParameterizedHeader($name, $value, $params)); - } - - public function has(string $name): bool - { - return isset($this->headers[strtolower($name)]); - } - - /** - * @return $this - */ - public function add(HeaderInterface $header): self - { - static $map = [ - 'date' => DateHeader::class, - 'from' => MailboxListHeader::class, - 'sender' => MailboxHeader::class, - 'reply-to' => MailboxListHeader::class, - 'to' => MailboxListHeader::class, - 'cc' => MailboxListHeader::class, - 'bcc' => MailboxListHeader::class, - 'message-id' => IdentificationHeader::class, - 'in-reply-to' => IdentificationHeader::class, - 'references' => IdentificationHeader::class, - 'return-path' => PathHeader::class, - ]; - - $header->setMaxLineLength($this->lineLength); - $name = strtolower($header->getName()); - - if (isset($map[$name]) && !$header instanceof $map[$name]) { - throw new LogicException(sprintf('The "%s" header must be an instance of "%s" (got "%s").', $header->getName(), $map[$name], \get_class($header))); - } - - if (\in_array($name, self::$uniqueHeaders, true) && isset($this->headers[$name]) && \count($this->headers[$name]) > 0) { - throw new LogicException(sprintf('Impossible to set header "%s" as it\'s already defined and must be unique.', $header->getName())); - } - - $this->headers[$name][] = $header; - - return $this; - } - - public function get(string $name): ?HeaderInterface - { - $name = strtolower($name); - if (!isset($this->headers[$name])) { - return null; - } - - $values = array_values($this->headers[$name]); - - return array_shift($values); - } - - public function all(string $name = null): iterable - { - if (null === $name) { - foreach ($this->headers as $name => $collection) { - foreach ($collection as $header) { - yield $name => $header; - } - } - } elseif (isset($this->headers[strtolower($name)])) { - foreach ($this->headers[strtolower($name)] as $header) { - yield $header; - } - } - } - - public function getNames(): array - { - return array_keys($this->headers); - } - - public function remove(string $name): void - { - unset($this->headers[strtolower($name)]); - } - - public static function isUniqueHeader(string $name): bool - { - return \in_array($name, self::$uniqueHeaders, true); - } - - public function toString(): string - { - $string = ''; - foreach ($this->toArray() as $str) { - $string .= $str."\r\n"; - } - - return $string; - } - - public function toArray(): array - { - $arr = []; - foreach ($this->all() as $header) { - if ('' !== $header->getBodyAsString()) { - $arr[] = $header->toString(); - } - } - - return $arr; - } - - /** - * @internal - */ - public function getHeaderBody($name) - { - return $this->has($name) ? $this->get($name)->getBody() : null; - } - - /** - * @internal - */ - public function setHeaderBody(string $type, string $name, $body): void - { - if ($this->has($name)) { - $this->get($name)->setBody($body); - } else { - $this->{'add'.$type.'Header'}($name, $body); - } - } - - /** - * @internal - */ - public function getHeaderParameter(string $name, string $parameter): ?string - { - if (!$this->has($name)) { - return null; - } - - $header = $this->get($name); - if (!$header instanceof ParameterizedHeader) { - throw new LogicException(sprintf('Unable to get parameter "%s" on header "%s" as the header is not of class "%s".', $parameter, $name, ParameterizedHeader::class)); - } - - return $header->getParameter($parameter); - } - - /** - * @internal - */ - public function setHeaderParameter(string $name, string $parameter, $value): void - { - if (!$this->has($name)) { - throw new LogicException(sprintf('Unable to set parameter "%s" on header "%s" as the header is not defined.', $parameter, $name)); - } - - $header = $this->get($name); - if (!$header instanceof ParameterizedHeader) { - throw new LogicException(sprintf('Unable to set parameter "%s" on header "%s" as the header is not of class "%s".', $parameter, $name, ParameterizedHeader::class)); - } - - $header->setParameter($parameter, $value); - } -} diff --git a/paragonik-backend/vendor/symfony/mime/Header/IdentificationHeader.php b/paragonik-backend/vendor/symfony/mime/Header/IdentificationHeader.php deleted file mode 100644 index 8a94574..0000000 --- a/paragonik-backend/vendor/symfony/mime/Header/IdentificationHeader.php +++ /dev/null @@ -1,110 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Mime\Header; - -use Symfony\Component\Mime\Address; -use Symfony\Component\Mime\Exception\RfcComplianceException; - -/** - * An ID MIME Header for something like Message-ID or Content-ID (one or more addresses). - * - * @author Chris Corbyn - */ -final class IdentificationHeader extends AbstractHeader -{ - private $ids = []; - private $idsAsAddresses = []; - - /** - * @param string|array $ids - */ - public function __construct(string $name, $ids) - { - parent::__construct($name); - - $this->setId($ids); - } - - /** - * @param string|array $body a string ID or an array of IDs - * - * @throws RfcComplianceException - */ - public function setBody($body) - { - $this->setId($body); - } - - public function getBody(): array - { - return $this->getIds(); - } - - /** - * Set the ID used in the value of this header. - * - * @param string|array $id - * - * @throws RfcComplianceException - */ - public function setId($id) - { - $this->setIds(\is_array($id) ? $id : [$id]); - } - - /** - * Get the ID used in the value of this Header. - * - * If multiple IDs are set only the first is returned. - */ - public function getId(): ?string - { - return $this->ids[0] ?? null; - } - - /** - * Set a collection of IDs to use in the value of this Header. - * - * @param string[] $ids - * - * @throws RfcComplianceException - */ - public function setIds(array $ids) - { - $this->ids = []; - $this->idsAsAddresses = []; - foreach ($ids as $id) { - $this->idsAsAddresses[] = new Address($id); - $this->ids[] = $id; - } - } - - /** - * Get the list of IDs used in this Header. - * - * @return string[] - */ - public function getIds(): array - { - return $this->ids; - } - - public function getBodyAsString(): string - { - $addrs = []; - foreach ($this->idsAsAddresses as $address) { - $addrs[] = '<'.$address->toString().'>'; - } - - return implode(' ', $addrs); - } -} diff --git a/paragonik-backend/vendor/symfony/mime/Header/MailboxHeader.php b/paragonik-backend/vendor/symfony/mime/Header/MailboxHeader.php deleted file mode 100644 index b58c825..0000000 --- a/paragonik-backend/vendor/symfony/mime/Header/MailboxHeader.php +++ /dev/null @@ -1,85 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Mime\Header; - -use Symfony\Component\Mime\Address; -use Symfony\Component\Mime\Exception\RfcComplianceException; - -/** - * A Mailbox MIME Header for something like Sender (one named address). - * - * @author Fabien Potencier - */ -final class MailboxHeader extends AbstractHeader -{ - private $address; - - public function __construct(string $name, Address $address) - { - parent::__construct($name); - - $this->setAddress($address); - } - - /** - * @param Address $body - * - * @throws RfcComplianceException - */ - public function setBody($body) - { - $this->setAddress($body); - } - - /** - * @throws RfcComplianceException - */ - public function getBody(): Address - { - return $this->getAddress(); - } - - /** - * @throws RfcComplianceException - */ - public function setAddress(Address $address) - { - $this->address = $address; - } - - public function getAddress(): Address - { - return $this->address; - } - - public function getBodyAsString(): string - { - $str = $this->address->getEncodedAddress(); - if ($name = $this->address->getName()) { - $str = $this->createPhrase($this, $name, $this->getCharset(), true).' <'.$str.'>'; - } - - return $str; - } - - /** - * Redefine the encoding requirements for an address. - * - * All "specials" must be encoded as the full header value will not be quoted - * - * @see RFC 2822 3.2.1 - */ - protected function tokenNeedsEncoding(string $token): bool - { - return preg_match('/[()<>\[\]:;@\,."]/', $token) || parent::tokenNeedsEncoding($token); - } -} diff --git a/paragonik-backend/vendor/symfony/mime/Header/MailboxListHeader.php b/paragonik-backend/vendor/symfony/mime/Header/MailboxListHeader.php deleted file mode 100644 index 1d00fdb..0000000 --- a/paragonik-backend/vendor/symfony/mime/Header/MailboxListHeader.php +++ /dev/null @@ -1,136 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Mime\Header; - -use Symfony\Component\Mime\Address; -use Symfony\Component\Mime\Exception\RfcComplianceException; - -/** - * A Mailbox list MIME Header for something like From, To, Cc, and Bcc (one or more named addresses). - * - * @author Chris Corbyn - */ -final class MailboxListHeader extends AbstractHeader -{ - private $addresses = []; - - /** - * @param Address[] $addresses - */ - public function __construct(string $name, array $addresses) - { - parent::__construct($name); - - $this->setAddresses($addresses); - } - - /** - * @param Address[] $body - * - * @throws RfcComplianceException - */ - public function setBody($body) - { - $this->setAddresses($body); - } - - /** - * @throws RfcComplianceException - * - * @return Address[] - */ - public function getBody(): array - { - return $this->getAddresses(); - } - - /** - * Sets a list of addresses to be shown in this Header. - * - * @param Address[] $addresses - * - * @throws RfcComplianceException - */ - public function setAddresses(array $addresses) - { - $this->addresses = []; - $this->addAddresses($addresses); - } - - /** - * Sets a list of addresses to be shown in this Header. - * - * @param Address[] $addresses - * - * @throws RfcComplianceException - */ - public function addAddresses(array $addresses) - { - foreach ($addresses as $address) { - $this->addAddress($address); - } - } - - /** - * @throws RfcComplianceException - */ - public function addAddress(Address $address) - { - $this->addresses[] = $address; - } - - /** - * @return Address[] - */ - public function getAddresses(): array - { - return $this->addresses; - } - - /** - * Gets the full mailbox list of this Header as an array of valid RFC 2822 strings. - * - * @throws RfcComplianceException - * - * @return string[] - */ - public function getAddressStrings(): array - { - $strings = []; - foreach ($this->addresses as $address) { - $str = $address->getEncodedAddress(); - if ($name = $address->getName()) { - $str = $this->createPhrase($this, $name, $this->getCharset(), !$strings).' <'.$str.'>'; - } - $strings[] = $str; - } - - return $strings; - } - - public function getBodyAsString(): string - { - return implode(', ', $this->getAddressStrings()); - } - - /** - * Redefine the encoding requirements for addresses. - * - * All "specials" must be encoded as the full header value will not be quoted - * - * @see RFC 2822 3.2.1 - */ - protected function tokenNeedsEncoding(string $token): bool - { - return preg_match('/[()<>\[\]:;@\,."]/', $token) || parent::tokenNeedsEncoding($token); - } -} diff --git a/paragonik-backend/vendor/symfony/mime/Header/ParameterizedHeader.php b/paragonik-backend/vendor/symfony/mime/Header/ParameterizedHeader.php deleted file mode 100644 index d8e5001..0000000 --- a/paragonik-backend/vendor/symfony/mime/Header/ParameterizedHeader.php +++ /dev/null @@ -1,174 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Mime\Header; - -use Symfony\Component\Mime\Encoder\Rfc2231Encoder; - -/** - * @author Chris Corbyn - */ -final class ParameterizedHeader extends UnstructuredHeader -{ - /** - * RFC 2231's definition of a token. - * - * @var string - */ - const TOKEN_REGEX = '(?:[\x21\x23-\x27\x2A\x2B\x2D\x2E\x30-\x39\x41-\x5A\x5E-\x7E]+)'; - - private $encoder; - private $parameters = []; - - public function __construct(string $name, string $value, array $parameters = []) - { - parent::__construct($name, $value); - - foreach ($parameters as $k => $v) { - $this->setParameter($k, $v); - } - - if ('content-type' !== strtolower($name)) { - $this->encoder = new Rfc2231Encoder(); - } - } - - public function setParameter(string $parameter, ?string $value) - { - $this->setParameters(array_merge($this->getParameters(), [$parameter => $value])); - } - - public function getParameter(string $parameter): string - { - return $this->getParameters()[$parameter] ?? ''; - } - - /** - * @param string[] $parameters - */ - public function setParameters(array $parameters) - { - $this->parameters = $parameters; - } - - /** - * @return string[] - */ - public function getParameters(): array - { - return $this->parameters; - } - - public function getBodyAsString(): string - { - $body = parent::getBodyAsString(); - foreach ($this->parameters as $name => $value) { - if (null !== $value) { - $body .= '; '.$this->createParameter($name, $value); - } - } - - return $body; - } - - /** - * Generate a list of all tokens in the final header. - * - * This doesn't need to be overridden in theory, but it is for implementation - * reasons to prevent potential breakage of attributes. - */ - protected function toTokens(string $string = null): array - { - $tokens = parent::toTokens(parent::getBodyAsString()); - - // Try creating any parameters - foreach ($this->parameters as $name => $value) { - if (null !== $value) { - // Add the semi-colon separator - $tokens[\count($tokens) - 1] .= ';'; - $tokens = array_merge($tokens, $this->generateTokenLines(' '.$this->createParameter($name, $value))); - } - } - - return $tokens; - } - - /** - * Render a RFC 2047 compliant header parameter from the $name and $value. - */ - private function createParameter(string $name, string $value): string - { - $origValue = $value; - - $encoded = false; - // Allow room for parameter name, indices, "=" and DQUOTEs - $maxValueLength = $this->getMaxLineLength() - \strlen($name.'=*N"";') - 1; - $firstLineOffset = 0; - - // If it's not already a valid parameter value... - if (!preg_match('/^'.self::TOKEN_REGEX.'$/D', $value)) { - // TODO: text, or something else?? - // ... and it's not ascii - if (!preg_match('/^[\x00-\x08\x0B\x0C\x0E-\x7F]*$/D', $value)) { - $encoded = true; - // Allow space for the indices, charset and language - $maxValueLength = $this->getMaxLineLength() - \strlen($name.'*N*="";') - 1; - $firstLineOffset = \strlen($this->getCharset()."'".$this->getLanguage()."'"); - } - } - - // Encode if we need to - if ($encoded || \strlen($value) > $maxValueLength) { - if (null !== $this->encoder) { - $value = $this->encoder->encodeString($origValue, $this->getCharset(), $firstLineOffset, $maxValueLength); - } else { - // We have to go against RFC 2183/2231 in some areas for interoperability - $value = $this->getTokenAsEncodedWord($origValue); - $encoded = false; - } - } - - $valueLines = $this->encoder ? explode("\r\n", $value) : [$value]; - - // Need to add indices - if (\count($valueLines) > 1) { - $paramLines = []; - foreach ($valueLines as $i => $line) { - $paramLines[] = $name.'*'.$i.$this->getEndOfParameterValue($line, true, 0 === $i); - } - - return implode(";\r\n ", $paramLines); - } else { - return $name.$this->getEndOfParameterValue($valueLines[0], $encoded, true); - } - } - - /** - * Returns the parameter value from the "=" and beyond. - * - * @param string $value to append - */ - private function getEndOfParameterValue(string $value, bool $encoded = false, bool $firstLine = false): string - { - if (!preg_match('/^'.self::TOKEN_REGEX.'$/D', $value)) { - $value = '"'.$value.'"'; - } - $prepend = '='; - if ($encoded) { - $prepend = '*='; - if ($firstLine) { - $prepend = '*='.$this->getCharset()."'".$this->getLanguage()."'"; - } - } - - return $prepend.$value; - } -} diff --git a/paragonik-backend/vendor/symfony/mime/Header/PathHeader.php b/paragonik-backend/vendor/symfony/mime/Header/PathHeader.php deleted file mode 100644 index 5101ad0..0000000 --- a/paragonik-backend/vendor/symfony/mime/Header/PathHeader.php +++ /dev/null @@ -1,62 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Mime\Header; - -use Symfony\Component\Mime\Address; -use Symfony\Component\Mime\Exception\RfcComplianceException; - -/** - * A Path Header, such a Return-Path (one address). - * - * @author Chris Corbyn - */ -final class PathHeader extends AbstractHeader -{ - private $address; - - public function __construct(string $name, Address $address) - { - parent::__construct($name); - - $this->setAddress($address); - } - - /** - * @param Address $body - * - * @throws RfcComplianceException - */ - public function setBody($body) - { - $this->setAddress($body); - } - - public function getBody(): Address - { - return $this->getAddress(); - } - - public function setAddress(Address $address) - { - $this->address = $address; - } - - public function getAddress(): Address - { - return $this->address; - } - - public function getBodyAsString(): string - { - return '<'.$this->address->toString().'>'; - } -} diff --git a/paragonik-backend/vendor/symfony/mime/Header/UnstructuredHeader.php b/paragonik-backend/vendor/symfony/mime/Header/UnstructuredHeader.php deleted file mode 100644 index 2085ddf..0000000 --- a/paragonik-backend/vendor/symfony/mime/Header/UnstructuredHeader.php +++ /dev/null @@ -1,69 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Mime\Header; - -/** - * A Simple MIME Header. - * - * @author Chris Corbyn - */ -class UnstructuredHeader extends AbstractHeader -{ - private $value; - - public function __construct(string $name, string $value) - { - parent::__construct($name); - - $this->setValue($value); - } - - /** - * @param string $body - */ - public function setBody($body) - { - $this->setValue($body); - } - - /** - * @return string - */ - public function getBody() - { - return $this->getValue(); - } - - /** - * Get the (unencoded) value of this header. - */ - public function getValue(): string - { - return $this->value; - } - - /** - * Set the (unencoded) value of this header. - */ - public function setValue(string $value) - { - $this->value = $value; - } - - /** - * Get the value of this header prepared for rendering. - */ - public function getBodyAsString(): string - { - return $this->encodeWords($this, $this->value); - } -} diff --git a/paragonik-backend/vendor/symfony/mime/LICENSE b/paragonik-backend/vendor/symfony/mime/LICENSE deleted file mode 100644 index 9a9a61b..0000000 --- a/paragonik-backend/vendor/symfony/mime/LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 2010-2019 Fabien Potencier - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is furnished -to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/paragonik-backend/vendor/symfony/mime/Message.php b/paragonik-backend/vendor/symfony/mime/Message.php deleted file mode 100644 index 5b4e67f..0000000 --- a/paragonik-backend/vendor/symfony/mime/Message.php +++ /dev/null @@ -1,151 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Mime; - -use Symfony\Component\Mime\Exception\LogicException; -use Symfony\Component\Mime\Header\Headers; -use Symfony\Component\Mime\Part\AbstractPart; -use Symfony\Component\Mime\Part\TextPart; - -/** - * @author Fabien Potencier - */ -class Message extends RawMessage -{ - private $headers; - private $body; - - public function __construct(Headers $headers = null, AbstractPart $body = null) - { - $this->headers = $headers ? clone $headers : new Headers(); - $this->body = $body; - } - - public function __clone() - { - $this->headers = clone $this->headers; - - if (null !== $this->body) { - $this->body = clone $this->body; - } - } - - /** - * @return $this - */ - public function setBody(AbstractPart $body = null) - { - $this->body = $body; - - return $this; - } - - public function getBody(): ?AbstractPart - { - return $this->body; - } - - /** - * @return $this - */ - public function setHeaders(Headers $headers) - { - $this->headers = $headers; - - return $this; - } - - public function getHeaders(): Headers - { - return $this->headers; - } - - public function getPreparedHeaders(): Headers - { - $headers = clone $this->headers; - - if (!$headers->has('From')) { - throw new LogicException('An email must have a "From" header.'); - } - - $headers->addTextHeader('MIME-Version', '1.0'); - - if (!$headers->has('Date')) { - $headers->addDateHeader('Date', new \DateTimeImmutable()); - } - - // determine the "real" sender - if (!$headers->has('Sender') && \count($froms = $headers->get('From')->getAddresses()) > 1) { - $headers->addMailboxHeader('Sender', $froms[0]); - } - - if (!$headers->has('Message-ID')) { - $headers->addIdHeader('Message-ID', $this->generateMessageId()); - } - - // remove the Bcc field which should NOT be part of the sent message - $headers->remove('Bcc'); - - return $headers; - } - - public function toString(): string - { - if (null === $body = $this->getBody()) { - $body = new TextPart(''); - } - - return $this->getPreparedHeaders()->toString().$body->toString(); - } - - public function toIterable(): iterable - { - if (null === $body = $this->getBody()) { - $body = new TextPart(''); - } - - yield $this->getPreparedHeaders()->toString(); - yield from $body->toIterable(); - } - - public function ensureValidity() - { - if (!$this->headers->has('From')) { - throw new LogicException('An email must have a "From" header.'); - } - - parent::ensureValidity(); - } - - public function generateMessageId(): string - { - if ($this->headers->has('Sender')) { - $sender = $this->headers->get('Sender')->getAddress(); - } elseif ($this->headers->has('From')) { - $sender = $this->headers->get('From')->getAddresses()[0]; - } else { - throw new LogicException('An email must have a "From" or a "Sender" header to compute a Messsage ID.'); - } - - return bin2hex(random_bytes(16)).strstr($sender->getAddress(), '@'); - } - - public function __serialize(): array - { - return [$this->headers, $this->body]; - } - - public function __unserialize(array $data): void - { - [$this->headers, $this->body] = $data; - } -} diff --git a/paragonik-backend/vendor/symfony/mime/MessageConverter.php b/paragonik-backend/vendor/symfony/mime/MessageConverter.php deleted file mode 100644 index a810cb7..0000000 --- a/paragonik-backend/vendor/symfony/mime/MessageConverter.php +++ /dev/null @@ -1,125 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Mime; - -use Symfony\Component\Mime\Exception\RuntimeException; -use Symfony\Component\Mime\Part\DataPart; -use Symfony\Component\Mime\Part\Multipart\AlternativePart; -use Symfony\Component\Mime\Part\Multipart\MixedPart; -use Symfony\Component\Mime\Part\Multipart\RelatedPart; -use Symfony\Component\Mime\Part\TextPart; - -/** - * @author Fabien Potencier - */ -final class MessageConverter -{ - /** - * @throws RuntimeException when unable to convert the message to an email - */ - public static function toEmail(Message $message): Email - { - if ($message instanceof Email) { - return $message; - } - - // try to convert to a "simple" Email instance - $body = $message->getBody(); - if ($body instanceof TextPart) { - return self::createEmailFromTextPart($message, $body); - } - - if ($body instanceof AlternativePart) { - return self::createEmailFromAlternativePart($message, $body); - } - - if ($body instanceof RelatedPart) { - return self::createEmailFromRelatedPart($message, $body); - } - - if ($body instanceof MixedPart) { - $parts = $body->getParts(); - if ($parts[0] instanceof RelatedPart) { - $email = self::createEmailFromRelatedPart($message, $parts[0]); - } elseif ($parts[0] instanceof AlternativePart) { - $email = self::createEmailFromAlternativePart($message, $parts[0]); - } elseif ($parts[0] instanceof TextPart) { - $email = self::createEmailFromTextPart($message, $parts[0]); - } else { - throw new RuntimeException(sprintf('Unable to create an Email from an instance of "%s" as the body is too complex.', \get_class($message))); - } - - return self::attachParts($email, \array_slice($parts, 1)); - } - - throw new RuntimeException(sprintf('Unable to create an Email from an instance of "%s" as the body is too complex.', \get_class($message))); - } - - private static function createEmailFromTextPart(Message $message, TextPart $part): Email - { - if ('text' === $part->getMediaType() && 'plain' === $part->getMediaSubtype()) { - return (new Email(clone $message->getHeaders()))->text($part->getBody(), $part->getPreparedHeaders()->getHeaderParameter('Content-Type', 'charset') ?: 'utf-8'); - } - if ('text' === $part->getMediaType() && 'html' === $part->getMediaSubtype()) { - return (new Email(clone $message->getHeaders()))->html($part->getBody(), $part->getPreparedHeaders()->getHeaderParameter('Content-Type', 'charset') ?: 'utf-8'); - } - - throw new RuntimeException(sprintf('Unable to create an Email from an instance of "%s" as the body is too complex.', \get_class($message))); - } - - private static function createEmailFromAlternativePart(Message $message, AlternativePart $part): Email - { - $parts = $part->getParts(); - if ( - 2 === \count($parts) && - $parts[0] instanceof TextPart && 'text' === $parts[0]->getMediaType() && 'plain' === $parts[0]->getMediaSubtype() && - $parts[1] instanceof TextPart && 'text' === $parts[1]->getMediaType() && 'html' === $parts[1]->getMediaSubtype() - ) { - return (new Email(clone $message->getHeaders())) - ->text($parts[0]->getBody(), $parts[0]->getPreparedHeaders()->getHeaderParameter('Content-Type', 'charset') ?: 'utf-8') - ->html($parts[1]->getBody(), $parts[1]->getPreparedHeaders()->getHeaderParameter('Content-Type', 'charset') ?: 'utf-8') - ; - } - - throw new RuntimeException(sprintf('Unable to create an Email from an instance of "%s" as the body is too complex.', \get_class($message))); - } - - private static function createEmailFromRelatedPart(Message $message, RelatedPart $part): Email - { - $parts = $part->getParts(); - if ($parts[0] instanceof AlternativePart) { - $email = self::createEmailFromAlternativePart($message, $parts[0]); - } elseif ($parts[0] instanceof TextPart) { - $email = self::createEmailFromTextPart($message, $parts[0]); - } else { - throw new RuntimeException(sprintf('Unable to create an Email from an instance of "%s" as the body is too complex.', \get_class($message))); - } - - return self::attachParts($email, \array_slice($parts, 1)); - } - - private static function attachParts(Email $email, array $parts): Email - { - foreach ($parts as $part) { - if (!$part instanceof DataPart) { - throw new RuntimeException(sprintf('Unable to create an Email from an instance of "%s" as the body is too complex.', \get_class($email))); - } - - $headers = $part->getPreparedHeaders(); - $method = 'inline' === $headers->getHeaderBody('Content-Disposition') ? 'embed' : 'attach'; - $name = $headers->getHeaderParameter('Content-Disposition', 'filename'); - $email->$method($part->getBody(), $name, $part->getMediaType().'/'.$part->getMediaSubtype()); - } - - return $email; - } -} diff --git a/paragonik-backend/vendor/symfony/mime/MimeTypeGuesserInterface.php b/paragonik-backend/vendor/symfony/mime/MimeTypeGuesserInterface.php deleted file mode 100644 index 68b0505..0000000 --- a/paragonik-backend/vendor/symfony/mime/MimeTypeGuesserInterface.php +++ /dev/null @@ -1,37 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Mime; - -/** - * Guesses the MIME type of a file. - * - * @author Fabien Potencier - */ -interface MimeTypeGuesserInterface -{ - /** - * Returns true if this guesser is supported. - */ - public function isGuesserSupported(): bool; - - /** - * Guesses the MIME type of the file with the given path. - * - * @param string $path The path to the file - * - * @return string|null The MIME type or null, if none could be guessed - * - * @throws \LogicException If the guesser is not supported - * @throws \InvalidArgumentException If the file does not exist or is not readable - */ - public function guessMimeType(string $path): ?string; -} diff --git a/paragonik-backend/vendor/symfony/mime/MimeTypes.php b/paragonik-backend/vendor/symfony/mime/MimeTypes.php deleted file mode 100644 index 268658d..0000000 --- a/paragonik-backend/vendor/symfony/mime/MimeTypes.php +++ /dev/null @@ -1,3153 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Mime; - -use Symfony\Component\Mime\Exception\LogicException; - -/** - * Manages MIME types and file extensions. - * - * For MIME type guessing, you can register custom guessers - * by calling the registerGuesser() method. - * Custom guessers are always called before any default ones: - * - * $guesser = new MimeTypes(); - * $guesser->registerGuesser(new MyCustomMimeTypeGuesser()); - * - * If you want to change the order of the default guessers, just re-register your - * preferred one as a custom one. The last registered guesser is preferred over - * previously registered ones. - * - * Re-registering a built-in guesser also allows you to configure it: - * - * $guesser = new MimeTypes(); - * $guesser->registerGuesser(new FileinfoMimeTypeGuesser('/path/to/magic/file')); - * - * @author Fabien Potencier - */ -final class MimeTypes implements MimeTypesInterface -{ - private $extensions = []; - private $mimeTypes = []; - - /** - * @var MimeTypeGuesserInterface[] - */ - private $guessers = []; - private static $default; - - public function __construct(array $map = []) - { - foreach ($map as $mimeType => $extensions) { - $this->extensions[$mimeType] = $extensions; - - foreach ($extensions as $extension) { - $this->mimeTypes[$extension] = $mimeType; - } - } - $this->registerGuesser(new FileBinaryMimeTypeGuesser()); - $this->registerGuesser(new FileinfoMimeTypeGuesser()); - } - - public static function setDefault(self $default) - { - self::$default = $default; - } - - public static function getDefault(): self - { - return self::$default ?? self::$default = new self(); - } - - /** - * Registers a MIME type guesser. - * - * The last registered guesser has precedence over the other ones. - */ - public function registerGuesser(MimeTypeGuesserInterface $guesser) - { - array_unshift($this->guessers, $guesser); - } - - /** - * {@inheritdoc} - */ - public function getExtensions(string $mimeType): array - { - if ($this->extensions) { - $extensions = $this->extensions[$mimeType] ?? $this->extensions[$lcMimeType = strtolower($mimeType)] ?? null; - } - - return $extensions ?? self::$map[$mimeType] ?? self::$map[$lcMimeType ?? strtolower($mimeType)] ?? []; - } - - /** - * {@inheritdoc} - */ - public function getMimeTypes(string $ext): array - { - if ($this->mimeTypes) { - $mimeTypes = $this->mimeTypes[$ext] ?? $this->mimeTypes[$lcExt = strtolower($ext)] ?? null; - } - - return $mimeTypes ?? self::$reverseMap[$ext] ?? self::$reverseMap[$lcExt ?? strtolower($ext)] ?? []; - } - - /** - * {@inheritdoc} - */ - public function isGuesserSupported(): bool - { - foreach ($this->guessers as $guesser) { - if ($guesser->isGuesserSupported()) { - return true; - } - } - - return false; - } - - /** - * {@inheritdoc} - * - * The file is passed to each registered MIME type guesser in reverse order - * of their registration (last registered is queried first). Once a guesser - * returns a value that is not null, this method terminates and returns the - * value. - */ - public function guessMimeType(string $path): ?string - { - foreach ($this->guessers as $guesser) { - if (!$guesser->isGuesserSupported()) { - continue; - } - - if (null !== $mimeType = $guesser->guessMimeType($path)) { - return $mimeType; - } - } - - if (!$this->isGuesserSupported()) { - throw new LogicException('Unable to guess the MIME type as no guessers are available (have you enable the php_fileinfo extension?).'); - } - - return null; - } - - /** - * A map of MIME types and their default extensions. - * - * Updated from upstream on 2019-01-16 - * - * @see Resources/bin/update_mime_types.php - */ - private static $map = [ - 'application/acrobat' => ['pdf'], - 'application/andrew-inset' => ['ez'], - 'application/annodex' => ['anx'], - 'application/applixware' => ['aw'], - 'application/atom+xml' => ['atom'], - 'application/atomcat+xml' => ['atomcat'], - 'application/atomsvc+xml' => ['atomsvc'], - 'application/ccxml+xml' => ['ccxml'], - 'application/cdmi-capability' => ['cdmia'], - 'application/cdmi-container' => ['cdmic'], - 'application/cdmi-domain' => ['cdmid'], - 'application/cdmi-object' => ['cdmio'], - 'application/cdmi-queue' => ['cdmiq'], - 'application/cdr' => ['cdr'], - 'application/coreldraw' => ['cdr'], - 'application/cu-seeme' => ['cu'], - 'application/davmount+xml' => ['davmount'], - 'application/dbase' => ['dbf'], - 'application/dbf' => ['dbf'], - 'application/dicom' => ['dcm'], - 'application/docbook+xml' => ['dbk', 'docbook'], - 'application/dssc+der' => ['dssc'], - 'application/dssc+xml' => ['xdssc'], - 'application/ecmascript' => ['ecma', 'es'], - 'application/emf' => ['emf'], - 'application/emma+xml' => ['emma'], - 'application/epub+zip' => ['epub'], - 'application/exi' => ['exi'], - 'application/font-tdpfr' => ['pfr'], - 'application/font-woff' => ['woff'], - 'application/futuresplash' => ['swf', 'spl'], - 'application/geo+json' => ['geojson', 'geo.json'], - 'application/gml+xml' => ['gml'], - 'application/gnunet-directory' => ['gnd'], - 'application/gpx' => ['gpx'], - 'application/gpx+xml' => ['gpx'], - 'application/gxf' => ['gxf'], - 'application/gzip' => ['gz'], - 'application/hyperstudio' => ['stk'], - 'application/ico' => ['ico'], - 'application/ics' => ['vcs', 'ics'], - 'application/illustrator' => ['ai'], - 'application/inkml+xml' => ['ink', 'inkml'], - 'application/ipfix' => ['ipfix'], - 'application/java' => ['class'], - 'application/java-archive' => ['jar'], - 'application/java-byte-code' => ['class'], - 'application/java-serialized-object' => ['ser'], - 'application/java-vm' => ['class'], - 'application/javascript' => ['js', 'jsm', 'mjs'], - 'application/jrd+json' => ['jrd'], - 'application/json' => ['json'], - 'application/json-patch+json' => ['json-patch'], - 'application/jsonml+json' => ['jsonml'], - 'application/ld+json' => ['jsonld'], - 'application/lost+xml' => ['lostxml'], - 'application/lotus123' => ['123', 'wk1', 'wk3', 'wk4', 'wks'], - 'application/m3u' => ['m3u', 'm3u8', 'vlc'], - 'application/mac-binhex40' => ['hqx'], - 'application/mac-compactpro' => ['cpt'], - 'application/mads+xml' => ['mads'], - 'application/marc' => ['mrc'], - 'application/marcxml+xml' => ['mrcx'], - 'application/mathematica' => ['ma', 'nb', 'mb'], - 'application/mathml+xml' => ['mathml', 'mml'], - 'application/mbox' => ['mbox'], - 'application/mdb' => ['mdb'], - 'application/mediaservercontrol+xml' => ['mscml'], - 'application/metalink+xml' => ['metalink'], - 'application/metalink4+xml' => ['meta4'], - 'application/mets+xml' => ['mets'], - 'application/mods+xml' => ['mods'], - 'application/mp21' => ['m21', 'mp21'], - 'application/mp4' => ['mp4s'], - 'application/ms-tnef' => ['tnef', 'tnf'], - 'application/msaccess' => ['mdb'], - 'application/msexcel' => ['xls', 'xlc', 'xll', 'xlm', 'xlw', 'xla', 'xlt', 'xld'], - 'application/mspowerpoint' => ['ppz', 'ppt', 'pps', 'pot'], - 'application/msword' => ['doc', 'dot'], - 'application/msword-template' => ['dot'], - 'application/mxf' => ['mxf'], - 'application/nappdf' => ['pdf'], - 'application/octet-stream' => ['bin', 'dms', 'lrf', 'mar', 'so', 'dist', 'distz', 'pkg', 'bpk', 'dump', 'elc', 'deploy'], - 'application/oda' => ['oda'], - 'application/oebps-package+xml' => ['opf'], - 'application/ogg' => ['ogx'], - 'application/omdoc+xml' => ['omdoc'], - 'application/onenote' => ['onetoc', 'onetoc2', 'onetmp', 'onepkg'], - 'application/owl+xml' => ['owx'], - 'application/oxps' => ['oxps', 'xps'], - 'application/patch-ops-error+xml' => ['xer'], - 'application/pcap' => ['pcap', 'cap', 'dmp'], - 'application/pdf' => ['pdf'], - 'application/pgp' => ['pgp', 'gpg', 'asc'], - 'application/pgp-encrypted' => ['pgp', 'gpg', 'asc'], - 'application/pgp-keys' => ['skr', 'pkr', 'asc', 'pgp', 'gpg'], - 'application/pgp-signature' => ['asc', 'sig', 'pgp', 'gpg'], - 'application/photoshop' => ['psd'], - 'application/pics-rules' => ['prf'], - 'application/pkcs10' => ['p10'], - 'application/pkcs12' => ['p12', 'pfx'], - 'application/pkcs7-mime' => ['p7m', 'p7c'], - 'application/pkcs7-signature' => ['p7s'], - 'application/pkcs8' => ['p8'], - 'application/pkcs8-encrypted' => ['p8e'], - 'application/pkix-attr-cert' => ['ac'], - 'application/pkix-cert' => ['cer'], - 'application/pkix-crl' => ['crl'], - 'application/pkix-pkipath' => ['pkipath'], - 'application/pkixcmp' => ['pki'], - 'application/pls' => ['pls'], - 'application/pls+xml' => ['pls'], - 'application/postscript' => ['ai', 'eps', 'ps'], - 'application/powerpoint' => ['ppz', 'ppt', 'pps', 'pot'], - 'application/prs.cww' => ['cww'], - 'application/pskc+xml' => ['pskcxml'], - 'application/ram' => ['ram'], - 'application/raml+yaml' => ['raml'], - 'application/rdf+xml' => ['rdf', 'rdfs', 'owl'], - 'application/reginfo+xml' => ['rif'], - 'application/relax-ng-compact-syntax' => ['rnc'], - 'application/resource-lists+xml' => ['rl'], - 'application/resource-lists-diff+xml' => ['rld'], - 'application/rls-services+xml' => ['rs'], - 'application/rpki-ghostbusters' => ['gbr'], - 'application/rpki-manifest' => ['mft'], - 'application/rpki-roa' => ['roa'], - 'application/rsd+xml' => ['rsd'], - 'application/rss+xml' => ['rss'], - 'application/rtf' => ['rtf'], - 'application/sbml+xml' => ['sbml'], - 'application/scvp-cv-request' => ['scq'], - 'application/scvp-cv-response' => ['scs'], - 'application/scvp-vp-request' => ['spq'], - 'application/scvp-vp-response' => ['spp'], - 'application/sdp' => ['sdp'], - 'application/set-payment-initiation' => ['setpay'], - 'application/set-registration-initiation' => ['setreg'], - 'application/shf+xml' => ['shf'], - 'application/sieve' => ['siv'], - 'application/smil' => ['smil', 'smi', 'sml', 'kino'], - 'application/smil+xml' => ['smi', 'smil', 'sml', 'kino'], - 'application/sparql-query' => ['rq'], - 'application/sparql-results+xml' => ['srx'], - 'application/sql' => ['sql'], - 'application/srgs' => ['gram'], - 'application/srgs+xml' => ['grxml'], - 'application/sru+xml' => ['sru'], - 'application/ssdl+xml' => ['ssdl'], - 'application/ssml+xml' => ['ssml'], - 'application/stuffit' => ['sit'], - 'application/tei+xml' => ['tei', 'teicorpus'], - 'application/thraud+xml' => ['tfi'], - 'application/timestamped-data' => ['tsd'], - 'application/trig' => ['trig'], - 'application/vnd.3gpp.pic-bw-large' => ['plb'], - 'application/vnd.3gpp.pic-bw-small' => ['psb'], - 'application/vnd.3gpp.pic-bw-var' => ['pvb'], - 'application/vnd.3gpp2.tcap' => ['tcap'], - 'application/vnd.3m.post-it-notes' => ['pwn'], - 'application/vnd.accpac.simply.aso' => ['aso'], - 'application/vnd.accpac.simply.imp' => ['imp'], - 'application/vnd.acucobol' => ['acu'], - 'application/vnd.acucorp' => ['atc', 'acutc'], - 'application/vnd.adobe.air-application-installer-package+zip' => ['air'], - 'application/vnd.adobe.flash.movie' => ['swf', 'spl'], - 'application/vnd.adobe.formscentral.fcdt' => ['fcdt'], - 'application/vnd.adobe.fxp' => ['fxp', 'fxpl'], - 'application/vnd.adobe.illustrator' => ['ai'], - 'application/vnd.adobe.xdp+xml' => ['xdp'], - 'application/vnd.adobe.xfdf' => ['xfdf'], - 'application/vnd.ahead.space' => ['ahead'], - 'application/vnd.airzip.filesecure.azf' => ['azf'], - 'application/vnd.airzip.filesecure.azs' => ['azs'], - 'application/vnd.amazon.ebook' => ['azw'], - 'application/vnd.americandynamics.acc' => ['acc'], - 'application/vnd.amiga.ami' => ['ami'], - 'application/vnd.android.package-archive' => ['apk'], - 'application/vnd.anser-web-certificate-issue-initiation' => ['cii'], - 'application/vnd.anser-web-funds-transfer-initiation' => ['fti'], - 'application/vnd.antix.game-component' => ['atx'], - 'application/vnd.appimage' => ['appimage'], - 'application/vnd.apple.installer+xml' => ['mpkg'], - 'application/vnd.apple.keynote' => ['key'], - 'application/vnd.apple.mpegurl' => ['m3u8', 'm3u'], - 'application/vnd.aristanetworks.swi' => ['swi'], - 'application/vnd.astraea-software.iota' => ['iota'], - 'application/vnd.audiograph' => ['aep'], - 'application/vnd.blueice.multipass' => ['mpm'], - 'application/vnd.bmi' => ['bmi'], - 'application/vnd.businessobjects' => ['rep'], - 'application/vnd.chemdraw+xml' => ['cdxml'], - 'application/vnd.chess-pgn' => ['pgn'], - 'application/vnd.chipnuts.karaoke-mmd' => ['mmd'], - 'application/vnd.cinderella' => ['cdy'], - 'application/vnd.claymore' => ['cla'], - 'application/vnd.cloanto.rp9' => ['rp9'], - 'application/vnd.clonk.c4group' => ['c4g', 'c4d', 'c4f', 'c4p', 'c4u'], - 'application/vnd.cluetrust.cartomobile-config' => ['c11amc'], - 'application/vnd.cluetrust.cartomobile-config-pkg' => ['c11amz'], - 'application/vnd.coffeescript' => ['coffee'], - 'application/vnd.comicbook+zip' => ['cbz'], - 'application/vnd.comicbook-rar' => ['cbr'], - 'application/vnd.commonspace' => ['csp'], - 'application/vnd.contact.cmsg' => ['cdbcmsg'], - 'application/vnd.corel-draw' => ['cdr'], - 'application/vnd.cosmocaller' => ['cmc'], - 'application/vnd.crick.clicker' => ['clkx'], - 'application/vnd.crick.clicker.keyboard' => ['clkk'], - 'application/vnd.crick.clicker.palette' => ['clkp'], - 'application/vnd.crick.clicker.template' => ['clkt'], - 'application/vnd.crick.clicker.wordbank' => ['clkw'], - 'application/vnd.criticaltools.wbs+xml' => ['wbs'], - 'application/vnd.ctc-posml' => ['pml'], - 'application/vnd.cups-ppd' => ['ppd'], - 'application/vnd.curl.car' => ['car'], - 'application/vnd.curl.pcurl' => ['pcurl'], - 'application/vnd.dart' => ['dart'], - 'application/vnd.data-vision.rdz' => ['rdz'], - 'application/vnd.debian.binary-package' => ['deb', 'udeb'], - 'application/vnd.dece.data' => ['uvf', 'uvvf', 'uvd', 'uvvd'], - 'application/vnd.dece.ttml+xml' => ['uvt', 'uvvt'], - 'application/vnd.dece.unspecified' => ['uvx', 'uvvx'], - 'application/vnd.dece.zip' => ['uvz', 'uvvz'], - 'application/vnd.denovo.fcselayout-link' => ['fe_launch'], - 'application/vnd.dna' => ['dna'], - 'application/vnd.dolby.mlp' => ['mlp'], - 'application/vnd.dpgraph' => ['dpg'], - 'application/vnd.dreamfactory' => ['dfac'], - 'application/vnd.ds-keypoint' => ['kpxx'], - 'application/vnd.dvb.ait' => ['ait'], - 'application/vnd.dvb.service' => ['svc'], - 'application/vnd.dynageo' => ['geo'], - 'application/vnd.ecowin.chart' => ['mag'], - 'application/vnd.emusic-emusic_package' => ['emp'], - 'application/vnd.enliven' => ['nml'], - 'application/vnd.epson.esf' => ['esf'], - 'application/vnd.epson.msf' => ['msf'], - 'application/vnd.epson.quickanime' => ['qam'], - 'application/vnd.epson.salt' => ['slt'], - 'application/vnd.epson.ssf' => ['ssf'], - 'application/vnd.eszigno3+xml' => ['es3', 'et3'], - 'application/vnd.ezpix-album' => ['ez2'], - 'application/vnd.ezpix-package' => ['ez3'], - 'application/vnd.fdf' => ['fdf'], - 'application/vnd.fdsn.mseed' => ['mseed'], - 'application/vnd.fdsn.seed' => ['seed', 'dataless'], - 'application/vnd.flatpak' => ['flatpak', 'xdgapp'], - 'application/vnd.flatpak.ref' => ['flatpakref'], - 'application/vnd.flatpak.repo' => ['flatpakrepo'], - 'application/vnd.flographit' => ['gph'], - 'application/vnd.fluxtime.clip' => ['ftc'], - 'application/vnd.framemaker' => ['fm', 'frame', 'maker', 'book'], - 'application/vnd.frogans.fnc' => ['fnc'], - 'application/vnd.frogans.ltf' => ['ltf'], - 'application/vnd.fsc.weblaunch' => ['fsc'], - 'application/vnd.fujitsu.oasys' => ['oas'], - 'application/vnd.fujitsu.oasys2' => ['oa2'], - 'application/vnd.fujitsu.oasys3' => ['oa3'], - 'application/vnd.fujitsu.oasysgp' => ['fg5'], - 'application/vnd.fujitsu.oasysprs' => ['bh2'], - 'application/vnd.fujixerox.ddd' => ['ddd'], - 'application/vnd.fujixerox.docuworks' => ['xdw'], - 'application/vnd.fujixerox.docuworks.binder' => ['xbd'], - 'application/vnd.fuzzysheet' => ['fzs'], - 'application/vnd.genomatix.tuxedo' => ['txd'], - 'application/vnd.geo+json' => ['geojson', 'geo.json'], - 'application/vnd.geogebra.file' => ['ggb'], - 'application/vnd.geogebra.tool' => ['ggt'], - 'application/vnd.geometry-explorer' => ['gex', 'gre'], - 'application/vnd.geonext' => ['gxt'], - 'application/vnd.geoplan' => ['g2w'], - 'application/vnd.geospace' => ['g3w'], - 'application/vnd.gmx' => ['gmx'], - 'application/vnd.google-earth.kml+xml' => ['kml'], - 'application/vnd.google-earth.kmz' => ['kmz'], - 'application/vnd.grafeq' => ['gqf', 'gqs'], - 'application/vnd.groove-account' => ['gac'], - 'application/vnd.groove-help' => ['ghf'], - 'application/vnd.groove-identity-message' => ['gim'], - 'application/vnd.groove-injector' => ['grv'], - 'application/vnd.groove-tool-message' => ['gtm'], - 'application/vnd.groove-tool-template' => ['tpl'], - 'application/vnd.groove-vcard' => ['vcg'], - 'application/vnd.haansoft-hwp' => ['hwp'], - 'application/vnd.haansoft-hwt' => ['hwt'], - 'application/vnd.hal+xml' => ['hal'], - 'application/vnd.handheld-entertainment+xml' => ['zmm'], - 'application/vnd.hbci' => ['hbci'], - 'application/vnd.hhe.lesson-player' => ['les'], - 'application/vnd.hp-hpgl' => ['hpgl'], - 'application/vnd.hp-hpid' => ['hpid'], - 'application/vnd.hp-hps' => ['hps'], - 'application/vnd.hp-jlyt' => ['jlt'], - 'application/vnd.hp-pcl' => ['pcl'], - 'application/vnd.hp-pclxl' => ['pclxl'], - 'application/vnd.hydrostatix.sof-data' => ['sfd-hdstx'], - 'application/vnd.ibm.minipay' => ['mpy'], - 'application/vnd.ibm.modcap' => ['afp', 'listafp', 'list3820'], - 'application/vnd.ibm.rights-management' => ['irm'], - 'application/vnd.ibm.secure-container' => ['sc'], - 'application/vnd.iccprofile' => ['icc', 'icm'], - 'application/vnd.igloader' => ['igl'], - 'application/vnd.immervision-ivp' => ['ivp'], - 'application/vnd.immervision-ivu' => ['ivu'], - 'application/vnd.insors.igm' => ['igm'], - 'application/vnd.intercon.formnet' => ['xpw', 'xpx'], - 'application/vnd.intergeo' => ['i2g'], - 'application/vnd.intu.qbo' => ['qbo'], - 'application/vnd.intu.qfx' => ['qfx'], - 'application/vnd.ipunplugged.rcprofile' => ['rcprofile'], - 'application/vnd.irepository.package+xml' => ['irp'], - 'application/vnd.is-xpr' => ['xpr'], - 'application/vnd.isac.fcs' => ['fcs'], - 'application/vnd.jam' => ['jam'], - 'application/vnd.jcp.javame.midlet-rms' => ['rms'], - 'application/vnd.jisp' => ['jisp'], - 'application/vnd.joost.joda-archive' => ['joda'], - 'application/vnd.kahootz' => ['ktz', 'ktr'], - 'application/vnd.kde.karbon' => ['karbon'], - 'application/vnd.kde.kchart' => ['chrt'], - 'application/vnd.kde.kformula' => ['kfo'], - 'application/vnd.kde.kivio' => ['flw'], - 'application/vnd.kde.kontour' => ['kon'], - 'application/vnd.kde.kpresenter' => ['kpr', 'kpt'], - 'application/vnd.kde.kspread' => ['ksp'], - 'application/vnd.kde.kword' => ['kwd', 'kwt'], - 'application/vnd.kenameaapp' => ['htke'], - 'application/vnd.kidspiration' => ['kia'], - 'application/vnd.kinar' => ['kne', 'knp'], - 'application/vnd.koan' => ['skp', 'skd', 'skt', 'skm'], - 'application/vnd.kodak-descriptor' => ['sse'], - 'application/vnd.las.las+xml' => ['lasxml'], - 'application/vnd.llamagraphics.life-balance.desktop' => ['lbd'], - 'application/vnd.llamagraphics.life-balance.exchange+xml' => ['lbe'], - 'application/vnd.lotus-1-2-3' => ['123', 'wk1', 'wk3', 'wk4', 'wks'], - 'application/vnd.lotus-approach' => ['apr'], - 'application/vnd.lotus-freelance' => ['pre'], - 'application/vnd.lotus-notes' => ['nsf'], - 'application/vnd.lotus-organizer' => ['org'], - 'application/vnd.lotus-screencam' => ['scm'], - 'application/vnd.lotus-wordpro' => ['lwp'], - 'application/vnd.macports.portpkg' => ['portpkg'], - 'application/vnd.mcd' => ['mcd'], - 'application/vnd.medcalcdata' => ['mc1'], - 'application/vnd.mediastation.cdkey' => ['cdkey'], - 'application/vnd.mfer' => ['mwf'], - 'application/vnd.mfmp' => ['mfm'], - 'application/vnd.micrografx.flo' => ['flo'], - 'application/vnd.micrografx.igx' => ['igx'], - 'application/vnd.mif' => ['mif'], - 'application/vnd.mobius.daf' => ['daf'], - 'application/vnd.mobius.dis' => ['dis'], - 'application/vnd.mobius.mbk' => ['mbk'], - 'application/vnd.mobius.mqy' => ['mqy'], - 'application/vnd.mobius.msl' => ['msl'], - 'application/vnd.mobius.plc' => ['plc'], - 'application/vnd.mobius.txf' => ['txf'], - 'application/vnd.mophun.application' => ['mpn'], - 'application/vnd.mophun.certificate' => ['mpc'], - 'application/vnd.mozilla.xul+xml' => ['xul'], - 'application/vnd.ms-access' => ['mdb'], - 'application/vnd.ms-artgalry' => ['cil'], - 'application/vnd.ms-asf' => ['asf'], - 'application/vnd.ms-cab-compressed' => ['cab'], - 'application/vnd.ms-excel' => ['xls', 'xlm', 'xla', 'xlc', 'xlt', 'xlw', 'xll', 'xld'], - 'application/vnd.ms-excel.addin.macroenabled.12' => ['xlam'], - 'application/vnd.ms-excel.sheet.binary.macroenabled.12' => ['xlsb'], - 'application/vnd.ms-excel.sheet.macroenabled.12' => ['xlsm'], - 'application/vnd.ms-excel.template.macroenabled.12' => ['xltm'], - 'application/vnd.ms-fontobject' => ['eot'], - 'application/vnd.ms-htmlhelp' => ['chm'], - 'application/vnd.ms-ims' => ['ims'], - 'application/vnd.ms-lrm' => ['lrm'], - 'application/vnd.ms-officetheme' => ['thmx'], - 'application/vnd.ms-pki.seccat' => ['cat'], - 'application/vnd.ms-pki.stl' => ['stl'], - 'application/vnd.ms-powerpoint' => ['ppt', 'pps', 'pot', 'ppz'], - 'application/vnd.ms-powerpoint.addin.macroenabled.12' => ['ppam'], - 'application/vnd.ms-powerpoint.presentation.macroenabled.12' => ['pptm'], - 'application/vnd.ms-powerpoint.slide.macroenabled.12' => ['sldm'], - 'application/vnd.ms-powerpoint.slideshow.macroenabled.12' => ['ppsm'], - 'application/vnd.ms-powerpoint.template.macroenabled.12' => ['potm'], - 'application/vnd.ms-project' => ['mpp', 'mpt'], - 'application/vnd.ms-publisher' => ['pub'], - 'application/vnd.ms-tnef' => ['tnef', 'tnf'], - 'application/vnd.ms-visio.drawing.macroenabled.main+xml' => ['vsdm'], - 'application/vnd.ms-visio.drawing.main+xml' => ['vsdx'], - 'application/vnd.ms-visio.stencil.macroenabled.main+xml' => ['vssm'], - 'application/vnd.ms-visio.stencil.main+xml' => ['vssx'], - 'application/vnd.ms-visio.template.macroenabled.main+xml' => ['vstm'], - 'application/vnd.ms-visio.template.main+xml' => ['vstx'], - 'application/vnd.ms-word' => ['doc'], - 'application/vnd.ms-word.document.macroenabled.12' => ['docm'], - 'application/vnd.ms-word.template.macroenabled.12' => ['dotm'], - 'application/vnd.ms-works' => ['wps', 'wks', 'wcm', 'wdb', 'xlr'], - 'application/vnd.ms-wpl' => ['wpl'], - 'application/vnd.ms-xpsdocument' => ['xps', 'oxps'], - 'application/vnd.msaccess' => ['mdb'], - 'application/vnd.mseq' => ['mseq'], - 'application/vnd.musician' => ['mus'], - 'application/vnd.muvee.style' => ['msty'], - 'application/vnd.mynfc' => ['taglet'], - 'application/vnd.neurolanguage.nlu' => ['nlu'], - 'application/vnd.nintendo.snes.rom' => ['sfc', 'smc'], - 'application/vnd.nitf' => ['ntf', 'nitf'], - 'application/vnd.noblenet-directory' => ['nnd'], - 'application/vnd.noblenet-sealer' => ['nns'], - 'application/vnd.noblenet-web' => ['nnw'], - 'application/vnd.nokia.n-gage.data' => ['ngdat'], - 'application/vnd.nokia.n-gage.symbian.install' => ['n-gage'], - 'application/vnd.nokia.radio-preset' => ['rpst'], - 'application/vnd.nokia.radio-presets' => ['rpss'], - 'application/vnd.novadigm.edm' => ['edm'], - 'application/vnd.novadigm.edx' => ['edx'], - 'application/vnd.novadigm.ext' => ['ext'], - 'application/vnd.oasis.docbook+xml' => ['dbk', 'docbook'], - 'application/vnd.oasis.opendocument.chart' => ['odc'], - 'application/vnd.oasis.opendocument.chart-template' => ['otc'], - 'application/vnd.oasis.opendocument.database' => ['odb'], - 'application/vnd.oasis.opendocument.formula' => ['odf'], - 'application/vnd.oasis.opendocument.formula-template' => ['odft', 'otf'], - 'application/vnd.oasis.opendocument.graphics' => ['odg'], - 'application/vnd.oasis.opendocument.graphics-flat-xml' => ['fodg'], - 'application/vnd.oasis.opendocument.graphics-template' => ['otg'], - 'application/vnd.oasis.opendocument.image' => ['odi'], - 'application/vnd.oasis.opendocument.image-template' => ['oti'], - 'application/vnd.oasis.opendocument.presentation' => ['odp'], - 'application/vnd.oasis.opendocument.presentation-flat-xml' => ['fodp'], - 'application/vnd.oasis.opendocument.presentation-template' => ['otp'], - 'application/vnd.oasis.opendocument.spreadsheet' => ['ods'], - 'application/vnd.oasis.opendocument.spreadsheet-flat-xml' => ['fods'], - 'application/vnd.oasis.opendocument.spreadsheet-template' => ['ots'], - 'application/vnd.oasis.opendocument.text' => ['odt'], - 'application/vnd.oasis.opendocument.text-flat-xml' => ['fodt'], - 'application/vnd.oasis.opendocument.text-master' => ['odm'], - 'application/vnd.oasis.opendocument.text-template' => ['ott'], - 'application/vnd.oasis.opendocument.text-web' => ['oth'], - 'application/vnd.olpc-sugar' => ['xo'], - 'application/vnd.oma.dd2+xml' => ['dd2'], - 'application/vnd.openofficeorg.extension' => ['oxt'], - 'application/vnd.openxmlformats-officedocument.presentationml.presentation' => ['pptx'], - 'application/vnd.openxmlformats-officedocument.presentationml.slide' => ['sldx'], - 'application/vnd.openxmlformats-officedocument.presentationml.slideshow' => ['ppsx'], - 'application/vnd.openxmlformats-officedocument.presentationml.template' => ['potx'], - 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' => ['xlsx'], - 'application/vnd.openxmlformats-officedocument.spreadsheetml.template' => ['xltx'], - 'application/vnd.openxmlformats-officedocument.wordprocessingml.document' => ['docx'], - 'application/vnd.openxmlformats-officedocument.wordprocessingml.template' => ['dotx'], - 'application/vnd.osgeo.mapguide.package' => ['mgp'], - 'application/vnd.osgi.dp' => ['dp'], - 'application/vnd.osgi.subsystem' => ['esa'], - 'application/vnd.palm' => ['pdb', 'pqa', 'oprc', 'prc'], - 'application/vnd.pawaafile' => ['paw'], - 'application/vnd.pg.format' => ['str'], - 'application/vnd.pg.osasli' => ['ei6'], - 'application/vnd.picsel' => ['efif'], - 'application/vnd.pmi.widget' => ['wg'], - 'application/vnd.pocketlearn' => ['plf'], - 'application/vnd.powerbuilder6' => ['pbd'], - 'application/vnd.previewsystems.box' => ['box'], - 'application/vnd.proteus.magazine' => ['mgz'], - 'application/vnd.publishare-delta-tree' => ['qps'], - 'application/vnd.pvi.ptid1' => ['ptid'], - 'application/vnd.quark.quarkxpress' => ['qxd', 'qxt', 'qwd', 'qwt', 'qxl', 'qxb'], - 'application/vnd.rar' => ['rar'], - 'application/vnd.realvnc.bed' => ['bed'], - 'application/vnd.recordare.musicxml' => ['mxl'], - 'application/vnd.recordare.musicxml+xml' => ['musicxml'], - 'application/vnd.rig.cryptonote' => ['cryptonote'], - 'application/vnd.rim.cod' => ['cod'], - 'application/vnd.rn-realmedia' => ['rm', 'rmj', 'rmm', 'rms', 'rmx', 'rmvb'], - 'application/vnd.rn-realmedia-vbr' => ['rmvb', 'rm', 'rmj', 'rmm', 'rms', 'rmx'], - 'application/vnd.route66.link66+xml' => ['link66'], - 'application/vnd.sailingtracker.track' => ['st'], - 'application/vnd.sdp' => ['sdp'], - 'application/vnd.seemail' => ['see'], - 'application/vnd.sema' => ['sema'], - 'application/vnd.semd' => ['semd'], - 'application/vnd.semf' => ['semf'], - 'application/vnd.shana.informed.formdata' => ['ifm'], - 'application/vnd.shana.informed.formtemplate' => ['itp'], - 'application/vnd.shana.informed.interchange' => ['iif'], - 'application/vnd.shana.informed.package' => ['ipk'], - 'application/vnd.simtech-mindmapper' => ['twd', 'twds'], - 'application/vnd.smaf' => ['mmf', 'smaf'], - 'application/vnd.smart.teacher' => ['teacher'], - 'application/vnd.snap' => ['snap'], - 'application/vnd.solent.sdkm+xml' => ['sdkm', 'sdkd'], - 'application/vnd.spotfire.dxp' => ['dxp'], - 'application/vnd.spotfire.sfs' => ['sfs'], - 'application/vnd.sqlite3' => ['sqlite3'], - 'application/vnd.squashfs' => ['sqsh'], - 'application/vnd.stardivision.calc' => ['sdc'], - 'application/vnd.stardivision.chart' => ['sds'], - 'application/vnd.stardivision.draw' => ['sda'], - 'application/vnd.stardivision.impress' => ['sdd', 'sdp'], - 'application/vnd.stardivision.mail' => ['smd'], - 'application/vnd.stardivision.math' => ['smf'], - 'application/vnd.stardivision.writer' => ['sdw', 'vor', 'sgl'], - 'application/vnd.stardivision.writer-global' => ['sgl', 'sdw', 'vor'], - 'application/vnd.stepmania.package' => ['smzip'], - 'application/vnd.stepmania.stepchart' => ['sm'], - 'application/vnd.sun.xml.base' => ['odb'], - 'application/vnd.sun.xml.calc' => ['sxc'], - 'application/vnd.sun.xml.calc.template' => ['stc'], - 'application/vnd.sun.xml.draw' => ['sxd'], - 'application/vnd.sun.xml.draw.template' => ['std'], - 'application/vnd.sun.xml.impress' => ['sxi'], - 'application/vnd.sun.xml.impress.template' => ['sti'], - 'application/vnd.sun.xml.math' => ['sxm'], - 'application/vnd.sun.xml.writer' => ['sxw'], - 'application/vnd.sun.xml.writer.global' => ['sxg'], - 'application/vnd.sun.xml.writer.template' => ['stw'], - 'application/vnd.sus-calendar' => ['sus', 'susp'], - 'application/vnd.svd' => ['svd'], - 'application/vnd.symbian.install' => ['sis', 'sisx'], - 'application/vnd.syncml+xml' => ['xsm'], - 'application/vnd.syncml.dm+wbxml' => ['bdm'], - 'application/vnd.syncml.dm+xml' => ['xdm'], - 'application/vnd.tao.intent-module-archive' => ['tao'], - 'application/vnd.tcpdump.pcap' => ['pcap', 'cap', 'dmp'], - 'application/vnd.tmobile-livetv' => ['tmo'], - 'application/vnd.trid.tpt' => ['tpt'], - 'application/vnd.triscape.mxs' => ['mxs'], - 'application/vnd.trueapp' => ['tra'], - 'application/vnd.ufdl' => ['ufd', 'ufdl'], - 'application/vnd.uiq.theme' => ['utz'], - 'application/vnd.umajin' => ['umj'], - 'application/vnd.unity' => ['unityweb'], - 'application/vnd.uoml+xml' => ['uoml'], - 'application/vnd.vcx' => ['vcx'], - 'application/vnd.visio' => ['vsd', 'vst', 'vss', 'vsw'], - 'application/vnd.visionary' => ['vis'], - 'application/vnd.vsf' => ['vsf'], - 'application/vnd.wap.wbxml' => ['wbxml'], - 'application/vnd.wap.wmlc' => ['wmlc'], - 'application/vnd.wap.wmlscriptc' => ['wmlsc'], - 'application/vnd.webturbo' => ['wtb'], - 'application/vnd.wolfram.player' => ['nbp'], - 'application/vnd.wordperfect' => ['wpd', 'wp', 'wp4', 'wp5', 'wp6', 'wpp'], - 'application/vnd.wqd' => ['wqd'], - 'application/vnd.wt.stf' => ['stf'], - 'application/vnd.xara' => ['xar'], - 'application/vnd.xdgapp' => ['flatpak', 'xdgapp'], - 'application/vnd.xfdl' => ['xfdl'], - 'application/vnd.yamaha.hv-dic' => ['hvd'], - 'application/vnd.yamaha.hv-script' => ['hvs'], - 'application/vnd.yamaha.hv-voice' => ['hvp'], - 'application/vnd.yamaha.openscoreformat' => ['osf'], - 'application/vnd.yamaha.openscoreformat.osfpvg+xml' => ['osfpvg'], - 'application/vnd.yamaha.smaf-audio' => ['saf'], - 'application/vnd.yamaha.smaf-phrase' => ['spf'], - 'application/vnd.yellowriver-custom-menu' => ['cmp'], - 'application/vnd.youtube.yt' => ['yt'], - 'application/vnd.zul' => ['zir', 'zirz'], - 'application/vnd.zzazz.deck+xml' => ['zaz'], - 'application/voicexml+xml' => ['vxml'], - 'application/widget' => ['wgt'], - 'application/winhlp' => ['hlp'], - 'application/wk1' => ['123', 'wk1', 'wk3', 'wk4', 'wks'], - 'application/wmf' => ['wmf'], - 'application/wordperfect' => ['wp', 'wp4', 'wp5', 'wp6', 'wpd', 'wpp'], - 'application/wsdl+xml' => ['wsdl'], - 'application/wspolicy+xml' => ['wspolicy'], - 'application/wwf' => ['wwf'], - 'application/x-123' => ['123', 'wk1', 'wk3', 'wk4', 'wks'], - 'application/x-7z-compressed' => ['7z'], - 'application/x-abiword' => ['abw', 'abw.CRASHED', 'abw.gz', 'zabw'], - 'application/x-ace' => ['ace'], - 'application/x-ace-compressed' => ['ace'], - 'application/x-alz' => ['alz'], - 'application/x-amiga-disk-format' => ['adf'], - 'application/x-amipro' => ['sam'], - 'application/x-annodex' => ['anx'], - 'application/x-aportisdoc' => ['pdb', 'pdc'], - 'application/x-apple-diskimage' => ['dmg'], - 'application/x-applix-spreadsheet' => ['as'], - 'application/x-applix-word' => ['aw'], - 'application/x-archive' => ['a', 'ar'], - 'application/x-arj' => ['arj'], - 'application/x-asp' => ['asp'], - 'application/x-atari-2600-rom' => ['a26'], - 'application/x-atari-7800-rom' => ['a78'], - 'application/x-atari-lynx-rom' => ['lnx'], - 'application/x-authorware-bin' => ['aab', 'x32', 'u32', 'vox'], - 'application/x-authorware-map' => ['aam'], - 'application/x-authorware-seg' => ['aas'], - 'application/x-awk' => ['awk'], - 'application/x-bcpio' => ['bcpio'], - 'application/x-bittorrent' => ['torrent'], - 'application/x-blender' => ['blender', 'blend', 'BLEND'], - 'application/x-blorb' => ['blb', 'blorb'], - 'application/x-bsdiff' => ['bsdiff'], - 'application/x-bzdvi' => ['dvi.bz2'], - 'application/x-bzip' => ['bz', 'bz2'], - 'application/x-bzip-compressed-tar' => ['tar.bz2', 'tar.bz', 'tbz2', 'tbz', 'tb2'], - 'application/x-bzip2' => ['bz2', 'boz', 'bz'], - 'application/x-bzpdf' => ['pdf.bz2'], - 'application/x-bzpostscript' => ['ps.bz2'], - 'application/x-cb7' => ['cb7'], - 'application/x-cbr' => ['cbr', 'cba', 'cbt', 'cbz', 'cb7'], - 'application/x-cbt' => ['cbt'], - 'application/x-cbz' => ['cbz'], - 'application/x-ccmx' => ['ccmx'], - 'application/x-cd-image' => ['iso', 'iso9660'], - 'application/x-cdlink' => ['vcd'], - 'application/x-cdr' => ['cdr'], - 'application/x-cdrdao-toc' => ['toc'], - 'application/x-cfs-compressed' => ['cfs'], - 'application/x-chat' => ['chat'], - 'application/x-chess-pgn' => ['pgn'], - 'application/x-chm' => ['chm'], - 'application/x-cisco-vpn-settings' => ['pcf'], - 'application/x-compress' => ['Z'], - 'application/x-compressed-tar' => ['tar.gz', 'tgz'], - 'application/x-conference' => ['nsc'], - 'application/x-coreldraw' => ['cdr'], - 'application/x-cpio' => ['cpio'], - 'application/x-cpio-compressed' => ['cpio.gz'], - 'application/x-csh' => ['csh'], - 'application/x-cue' => ['cue'], - 'application/x-dar' => ['dar'], - 'application/x-dbase' => ['dbf'], - 'application/x-dbf' => ['dbf'], - 'application/x-dc-rom' => ['dc'], - 'application/x-deb' => ['deb', 'udeb'], - 'application/x-debian-package' => ['deb', 'udeb'], - 'application/x-designer' => ['ui'], - 'application/x-desktop' => ['desktop', 'kdelnk'], - 'application/x-dgc-compressed' => ['dgc'], - 'application/x-dia-diagram' => ['dia'], - 'application/x-dia-shape' => ['shape'], - 'application/x-director' => ['dir', 'dcr', 'dxr', 'cst', 'cct', 'cxt', 'w3d', 'fgd', 'swa'], - 'application/x-docbook+xml' => ['dbk', 'docbook'], - 'application/x-doom' => ['wad'], - 'application/x-doom-wad' => ['wad'], - 'application/x-dtbncx+xml' => ['ncx'], - 'application/x-dtbook+xml' => ['dtb'], - 'application/x-dtbresource+xml' => ['res'], - 'application/x-dvi' => ['dvi'], - 'application/x-e-theme' => ['etheme'], - 'application/x-egon' => ['egon'], - 'application/x-emf' => ['emf'], - 'application/x-envoy' => ['evy'], - 'application/x-eva' => ['eva'], - 'application/x-fd-file' => ['fd', 'qd'], - 'application/x-fds-disk' => ['fds'], - 'application/x-fictionbook' => ['fb2'], - 'application/x-fictionbook+xml' => ['fb2'], - 'application/x-flash-video' => ['flv'], - 'application/x-fluid' => ['fl'], - 'application/x-font-afm' => ['afm'], - 'application/x-font-bdf' => ['bdf'], - 'application/x-font-ghostscript' => ['gsf'], - 'application/x-font-linux-psf' => ['psf'], - 'application/x-font-otf' => ['otf'], - 'application/x-font-pcf' => ['pcf', 'pcf.Z', 'pcf.gz'], - 'application/x-font-snf' => ['snf'], - 'application/x-font-speedo' => ['spd'], - 'application/x-font-ttf' => ['ttf'], - 'application/x-font-ttx' => ['ttx'], - 'application/x-font-type1' => ['pfa', 'pfb', 'pfm', 'afm', 'gsf'], - 'application/x-font-woff' => ['woff'], - 'application/x-frame' => ['fm'], - 'application/x-freearc' => ['arc'], - 'application/x-futuresplash' => ['spl'], - 'application/x-gameboy-color-rom' => ['gbc', 'cgb'], - 'application/x-gameboy-rom' => ['gb', 'sgb'], - 'application/x-gamecube-iso-image' => ['iso'], - 'application/x-gamecube-rom' => ['iso'], - 'application/x-gamegear-rom' => ['gg'], - 'application/x-gba-rom' => ['gba', 'agb'], - 'application/x-gca-compressed' => ['gca'], - 'application/x-gedcom' => ['ged', 'gedcom'], - 'application/x-genesis-32x-rom' => ['32x', 'mdx'], - 'application/x-genesis-rom' => ['gen', 'smd'], - 'application/x-gettext' => ['po'], - 'application/x-gettext-translation' => ['gmo', 'mo'], - 'application/x-glade' => ['glade'], - 'application/x-glulx' => ['ulx'], - 'application/x-gnome-app-info' => ['desktop', 'kdelnk'], - 'application/x-gnucash' => ['gnucash', 'gnc', 'xac'], - 'application/x-gnumeric' => ['gnumeric'], - 'application/x-gnuplot' => ['gp', 'gplt', 'gnuplot'], - 'application/x-go-sgf' => ['sgf'], - 'application/x-gpx' => ['gpx'], - 'application/x-gpx+xml' => ['gpx'], - 'application/x-gramps-xml' => ['gramps'], - 'application/x-graphite' => ['gra'], - 'application/x-gtar' => ['gtar', 'tar', 'gem'], - 'application/x-gtk-builder' => ['ui'], - 'application/x-gz-font-linux-psf' => ['psf.gz'], - 'application/x-gzdvi' => ['dvi.gz'], - 'application/x-gzip' => ['gz'], - 'application/x-gzpdf' => ['pdf.gz'], - 'application/x-gzpostscript' => ['ps.gz'], - 'application/x-hdf' => ['hdf', 'hdf4', 'h4', 'hdf5', 'h5'], - 'application/x-hfe-file' => ['hfe'], - 'application/x-hfe-floppy-image' => ['hfe'], - 'application/x-hwp' => ['hwp'], - 'application/x-hwt' => ['hwt'], - 'application/x-ica' => ['ica'], - 'application/x-install-instructions' => ['install'], - 'application/x-ipynb+json' => ['ipynb'], - 'application/x-iso9660-appimage' => ['appimage'], - 'application/x-iso9660-image' => ['iso', 'iso9660'], - 'application/x-it87' => ['it87'], - 'application/x-iwork-keynote-sffkey' => ['key'], - 'application/x-jar' => ['jar'], - 'application/x-java' => ['class'], - 'application/x-java-archive' => ['jar'], - 'application/x-java-class' => ['class'], - 'application/x-java-jce-keystore' => ['jceks'], - 'application/x-java-jnlp-file' => ['jnlp'], - 'application/x-java-keystore' => ['jks', 'ks'], - 'application/x-java-pack200' => ['pack'], - 'application/x-java-vm' => ['class'], - 'application/x-javascript' => ['js', 'jsm', 'mjs'], - 'application/x-jbuilder-project' => ['jpr', 'jpx'], - 'application/x-karbon' => ['karbon'], - 'application/x-kchart' => ['chrt'], - 'application/x-kexi-connectiondata' => ['kexic'], - 'application/x-kexiproject-shortcut' => ['kexis'], - 'application/x-kexiproject-sqlite' => ['kexi'], - 'application/x-kexiproject-sqlite2' => ['kexi'], - 'application/x-kexiproject-sqlite3' => ['kexi'], - 'application/x-kformula' => ['kfo'], - 'application/x-killustrator' => ['kil'], - 'application/x-kivio' => ['flw'], - 'application/x-kontour' => ['kon'], - 'application/x-kpovmodeler' => ['kpm'], - 'application/x-kpresenter' => ['kpr', 'kpt'], - 'application/x-krita' => ['kra'], - 'application/x-kspread' => ['ksp'], - 'application/x-kugar' => ['kud'], - 'application/x-kword' => ['kwd', 'kwt'], - 'application/x-latex' => ['latex'], - 'application/x-lha' => ['lha', 'lzh'], - 'application/x-lhz' => ['lhz'], - 'application/x-linguist' => ['ts'], - 'application/x-lotus123' => ['123', 'wk1', 'wk3', 'wk4', 'wks'], - 'application/x-lrzip' => ['lrz'], - 'application/x-lrzip-compressed-tar' => ['tar.lrz', 'tlrz'], - 'application/x-lyx' => ['lyx'], - 'application/x-lz4' => ['lz4'], - 'application/x-lz4-compressed-tar' => ['tar.lz4'], - 'application/x-lzh-compressed' => ['lzh', 'lha'], - 'application/x-lzip' => ['lz'], - 'application/x-lzip-compressed-tar' => ['tar.lz'], - 'application/x-lzma' => ['lzma'], - 'application/x-lzma-compressed-tar' => ['tar.lzma', 'tlz'], - 'application/x-lzop' => ['lzo'], - 'application/x-lzpdf' => ['pdf.lz'], - 'application/x-m4' => ['m4'], - 'application/x-magicpoint' => ['mgp'], - 'application/x-markaby' => ['mab'], - 'application/x-mathematica' => ['nb'], - 'application/x-mdb' => ['mdb'], - 'application/x-mie' => ['mie'], - 'application/x-mif' => ['mif'], - 'application/x-mimearchive' => ['mhtml', 'mht'], - 'application/x-mobipocket-ebook' => ['prc', 'mobi'], - 'application/x-ms-application' => ['application'], - 'application/x-ms-asx' => ['asx', 'wax', 'wvx', 'wmx'], - 'application/x-ms-dos-executable' => ['exe'], - 'application/x-ms-shortcut' => ['lnk'], - 'application/x-ms-wim' => ['wim', 'swm'], - 'application/x-ms-wmd' => ['wmd'], - 'application/x-ms-wmz' => ['wmz'], - 'application/x-ms-xbap' => ['xbap'], - 'application/x-msaccess' => ['mdb'], - 'application/x-msbinder' => ['obd'], - 'application/x-mscardfile' => ['crd'], - 'application/x-msclip' => ['clp'], - 'application/x-msdownload' => ['exe', 'dll', 'com', 'bat', 'msi'], - 'application/x-msexcel' => ['xls', 'xlc', 'xll', 'xlm', 'xlw', 'xla', 'xlt', 'xld'], - 'application/x-msi' => ['msi'], - 'application/x-msmediaview' => ['mvb', 'm13', 'm14'], - 'application/x-msmetafile' => ['wmf', 'wmz', 'emf', 'emz'], - 'application/x-msmoney' => ['mny'], - 'application/x-mspowerpoint' => ['ppz', 'ppt', 'pps', 'pot'], - 'application/x-mspublisher' => ['pub'], - 'application/x-msschedule' => ['scd'], - 'application/x-msterminal' => ['trm'], - 'application/x-mswinurl' => ['url'], - 'application/x-msword' => ['doc'], - 'application/x-mswrite' => ['wri'], - 'application/x-msx-rom' => ['msx'], - 'application/x-n64-rom' => ['n64', 'z64', 'v64'], - 'application/x-navi-animation' => ['ani'], - 'application/x-neo-geo-pocket-color-rom' => ['ngc'], - 'application/x-neo-geo-pocket-rom' => ['ngp'], - 'application/x-nes-rom' => ['nes', 'nez', 'unf', 'unif'], - 'application/x-netcdf' => ['nc', 'cdf'], - 'application/x-netshow-channel' => ['nsc'], - 'application/x-nintendo-ds-rom' => ['nds'], - 'application/x-nzb' => ['nzb'], - 'application/x-object' => ['o'], - 'application/x-ogg' => ['ogx'], - 'application/x-oleo' => ['oleo'], - 'application/x-pagemaker' => ['p65', 'pm', 'pm6', 'pmd'], - 'application/x-pak' => ['pak'], - 'application/x-palm-database' => ['prc', 'pdb', 'pqa', 'oprc'], - 'application/x-par2' => ['PAR2', 'par2'], - 'application/x-partial-download' => ['wkdownload', 'crdownload', 'part'], - 'application/x-pc-engine-rom' => ['pce'], - 'application/x-pcap' => ['pcap', 'cap', 'dmp'], - 'application/x-pdf' => ['pdf'], - 'application/x-perl' => ['pl', 'PL', 'pm', 'al', 'perl', 'pod', 't'], - 'application/x-photoshop' => ['psd'], - 'application/x-php' => ['php', 'php3', 'php4', 'php5', 'phps'], - 'application/x-pkcs12' => ['p12', 'pfx'], - 'application/x-pkcs7-certificates' => ['p7b', 'spc'], - 'application/x-pkcs7-certreqresp' => ['p7r'], - 'application/x-planperfect' => ['pln'], - 'application/x-pocket-word' => ['psw'], - 'application/x-pw' => ['pw'], - 'application/x-python-bytecode' => ['pyc', 'pyo'], - 'application/x-qpress' => ['qp'], - 'application/x-qtiplot' => ['qti', 'qti.gz'], - 'application/x-quattropro' => ['wb1', 'wb2', 'wb3'], - 'application/x-quicktime-media-link' => ['qtl'], - 'application/x-quicktimeplayer' => ['qtl'], - 'application/x-qw' => ['qif'], - 'application/x-rar' => ['rar'], - 'application/x-rar-compressed' => ['rar'], - 'application/x-raw-disk-image' => ['raw-disk-image', 'img'], - 'application/x-raw-disk-image-xz-compressed' => ['raw-disk-image.xz', 'img.xz'], - 'application/x-raw-floppy-disk-image' => ['fd', 'qd'], - 'application/x-redhat-package-manager' => ['rpm'], - 'application/x-reject' => ['rej'], - 'application/x-research-info-systems' => ['ris'], - 'application/x-rnc' => ['rnc'], - 'application/x-rpm' => ['rpm'], - 'application/x-ruby' => ['rb'], - 'application/x-sami' => ['smi', 'sami'], - 'application/x-sap-file' => ['sap'], - 'application/x-saturn-rom' => ['bin', 'iso'], - 'application/x-sdp' => ['sdp'], - 'application/x-sega-cd-rom' => ['bin', 'iso'], - 'application/x-sg1000-rom' => ['sg'], - 'application/x-sh' => ['sh'], - 'application/x-shar' => ['shar'], - 'application/x-shared-library-la' => ['la'], - 'application/x-sharedlib' => ['so'], - 'application/x-shellscript' => ['sh'], - 'application/x-shockwave-flash' => ['swf', 'spl'], - 'application/x-shorten' => ['shn'], - 'application/x-siag' => ['siag'], - 'application/x-silverlight-app' => ['xap'], - 'application/x-sit' => ['sit'], - 'application/x-smaf' => ['mmf', 'smaf'], - 'application/x-sms-rom' => ['sms'], - 'application/x-snes-rom' => ['sfc', 'smc'], - 'application/x-source-rpm' => ['src.rpm', 'spm'], - 'application/x-spss-por' => ['por'], - 'application/x-spss-sav' => ['sav', 'zsav'], - 'application/x-spss-savefile' => ['sav', 'zsav'], - 'application/x-sql' => ['sql'], - 'application/x-sqlite2' => ['sqlite2'], - 'application/x-sqlite3' => ['sqlite3'], - 'application/x-srt' => ['srt'], - 'application/x-stuffit' => ['sit'], - 'application/x-stuffitx' => ['sitx'], - 'application/x-subrip' => ['srt'], - 'application/x-sv4cpio' => ['sv4cpio'], - 'application/x-sv4crc' => ['sv4crc'], - 'application/x-t3vm-image' => ['t3'], - 'application/x-t602' => ['602'], - 'application/x-tads' => ['gam'], - 'application/x-tar' => ['tar', 'gtar', 'gem'], - 'application/x-tarz' => ['tar.Z', 'taz'], - 'application/x-tcl' => ['tcl'], - 'application/x-tex' => ['tex', 'ltx', 'sty', 'cls', 'dtx', 'ins', 'latex'], - 'application/x-tex-gf' => ['gf'], - 'application/x-tex-pk' => ['pk'], - 'application/x-tex-tfm' => ['tfm'], - 'application/x-texinfo' => ['texinfo', 'texi'], - 'application/x-tgif' => ['obj'], - 'application/x-theme' => ['theme'], - 'application/x-thomson-cartridge-memo7' => ['m7'], - 'application/x-thomson-cassette' => ['k7'], - 'application/x-thomson-sap-image' => ['sap'], - 'application/x-trash' => ['bak', 'old', 'sik'], - 'application/x-trig' => ['trig'], - 'application/x-troff' => ['tr', 'roff', 't'], - 'application/x-troff-man' => ['man'], - 'application/x-tzo' => ['tar.lzo', 'tzo'], - 'application/x-ufraw' => ['ufraw'], - 'application/x-ustar' => ['ustar'], - 'application/x-virtual-boy-rom' => ['vb'], - 'application/x-vnd.kde.kexi' => ['kexi'], - 'application/x-wais-source' => ['src'], - 'application/x-wbfs' => ['iso'], - 'application/x-wia' => ['iso'], - 'application/x-wii-iso-image' => ['iso'], - 'application/x-wii-rom' => ['iso'], - 'application/x-wii-wad' => ['wad'], - 'application/x-windows-themepack' => ['themepack'], - 'application/x-wmf' => ['wmf'], - 'application/x-wonderswan-color-rom' => ['wsc'], - 'application/x-wonderswan-rom' => ['ws'], - 'application/x-wordperfect' => ['wp', 'wp4', 'wp5', 'wp6', 'wpd', 'wpp'], - 'application/x-wpg' => ['wpg'], - 'application/x-wwf' => ['wwf'], - 'application/x-x509-ca-cert' => ['der', 'crt', 'cert', 'pem'], - 'application/x-xar' => ['xar', 'pkg'], - 'application/x-xbel' => ['xbel'], - 'application/x-xfig' => ['fig'], - 'application/x-xliff' => ['xlf', 'xliff'], - 'application/x-xliff+xml' => ['xlf'], - 'application/x-xpinstall' => ['xpi'], - 'application/x-xspf+xml' => ['xspf'], - 'application/x-xz' => ['xz'], - 'application/x-xz-compressed-tar' => ['tar.xz', 'txz'], - 'application/x-xzpdf' => ['pdf.xz'], - 'application/x-yaml' => ['yaml', 'yml'], - 'application/x-zip' => ['zip'], - 'application/x-zip-compressed' => ['zip'], - 'application/x-zip-compressed-fb2' => ['fb2.zip'], - 'application/x-zmachine' => ['z1', 'z2', 'z3', 'z4', 'z5', 'z6', 'z7', 'z8'], - 'application/x-zoo' => ['zoo'], - 'application/xaml+xml' => ['xaml'], - 'application/xcap-diff+xml' => ['xdf'], - 'application/xenc+xml' => ['xenc'], - 'application/xhtml+xml' => ['xhtml', 'xht'], - 'application/xliff+xml' => ['xlf', 'xliff'], - 'application/xml' => ['xml', 'xsl', 'xbl', 'xsd', 'rng'], - 'application/xml-dtd' => ['dtd'], - 'application/xml-external-parsed-entity' => ['ent'], - 'application/xop+xml' => ['xop'], - 'application/xproc+xml' => ['xpl'], - 'application/xps' => ['oxps', 'xps'], - 'application/xslt+xml' => ['xslt', 'xsl'], - 'application/xspf+xml' => ['xspf'], - 'application/xv+xml' => ['mxml', 'xhvml', 'xvml', 'xvm'], - 'application/yang' => ['yang'], - 'application/yin+xml' => ['yin'], - 'application/zip' => ['zip'], - 'application/zlib' => ['zz'], - 'audio/3gpp' => ['3gp', '3gpp', '3ga'], - 'audio/3gpp-encrypted' => ['3gp', '3gpp', '3ga'], - 'audio/3gpp2' => ['3g2', '3gp2', '3gpp2'], - 'audio/aac' => ['aac', 'adts', 'ass'], - 'audio/ac3' => ['ac3'], - 'audio/adpcm' => ['adp'], - 'audio/amr' => ['amr'], - 'audio/amr-encrypted' => ['amr'], - 'audio/amr-wb' => ['awb'], - 'audio/amr-wb-encrypted' => ['awb'], - 'audio/annodex' => ['axa'], - 'audio/basic' => ['au', 'snd'], - 'audio/flac' => ['flac'], - 'audio/imelody' => ['imy', 'ime'], - 'audio/m3u' => ['m3u', 'm3u8', 'vlc'], - 'audio/m4a' => ['m4a', 'f4a'], - 'audio/midi' => ['mid', 'midi', 'kar', 'rmi'], - 'audio/mobile-xmf' => ['xmf'], - 'audio/mp2' => ['mp2'], - 'audio/mp3' => ['mp3', 'mpga'], - 'audio/mp4' => ['m4a', 'mp4a', 'f4a'], - 'audio/mpeg' => ['mpga', 'mp2', 'mp2a', 'mp3', 'm2a', 'm3a'], - 'audio/mpegurl' => ['m3u', 'm3u8', 'vlc'], - 'audio/ogg' => ['oga', 'ogg', 'spx', 'opus'], - 'audio/prs.sid' => ['sid', 'psid'], - 'audio/s3m' => ['s3m'], - 'audio/scpls' => ['pls'], - 'audio/silk' => ['sil'], - 'audio/tta' => ['tta'], - 'audio/usac' => ['loas', 'xhe'], - 'audio/vnd.audible' => ['aa', 'aax'], - 'audio/vnd.audible.aax' => ['aa', 'aax'], - 'audio/vnd.dece.audio' => ['uva', 'uvva'], - 'audio/vnd.digital-winds' => ['eol'], - 'audio/vnd.dra' => ['dra'], - 'audio/vnd.dts' => ['dts'], - 'audio/vnd.dts.hd' => ['dtshd'], - 'audio/vnd.lucent.voice' => ['lvp'], - 'audio/vnd.m-realaudio' => ['ra', 'rax'], - 'audio/vnd.ms-playready.media.pya' => ['pya'], - 'audio/vnd.nuera.ecelp4800' => ['ecelp4800'], - 'audio/vnd.nuera.ecelp7470' => ['ecelp7470'], - 'audio/vnd.nuera.ecelp9600' => ['ecelp9600'], - 'audio/vnd.rip' => ['rip'], - 'audio/vnd.rn-realaudio' => ['ra', 'rax'], - 'audio/vnd.wave' => ['wav'], - 'audio/vorbis' => ['oga', 'ogg'], - 'audio/wav' => ['wav'], - 'audio/webm' => ['weba'], - 'audio/wma' => ['wma'], - 'audio/x-aac' => ['aac', 'adts', 'ass'], - 'audio/x-aifc' => ['aifc', 'aiffc'], - 'audio/x-aiff' => ['aif', 'aiff', 'aifc'], - 'audio/x-aiffc' => ['aifc', 'aiffc'], - 'audio/x-amzxml' => ['amz'], - 'audio/x-annodex' => ['axa'], - 'audio/x-ape' => ['ape'], - 'audio/x-caf' => ['caf'], - 'audio/x-dts' => ['dts'], - 'audio/x-dtshd' => ['dtshd'], - 'audio/x-flac' => ['flac'], - 'audio/x-flac+ogg' => ['oga', 'ogg'], - 'audio/x-gsm' => ['gsm'], - 'audio/x-hx-aac-adts' => ['aac', 'adts', 'ass'], - 'audio/x-imelody' => ['imy', 'ime'], - 'audio/x-iriver-pla' => ['pla'], - 'audio/x-it' => ['it'], - 'audio/x-m3u' => ['m3u', 'm3u8', 'vlc'], - 'audio/x-m4a' => ['m4a', 'f4a'], - 'audio/x-m4b' => ['m4b', 'f4b'], - 'audio/x-m4r' => ['m4r'], - 'audio/x-matroska' => ['mka'], - 'audio/x-midi' => ['mid', 'midi', 'kar'], - 'audio/x-minipsf' => ['minipsf'], - 'audio/x-mo3' => ['mo3'], - 'audio/x-mod' => ['mod', 'ult', 'uni', 'm15', 'mtm', '669', 'med'], - 'audio/x-mp2' => ['mp2'], - 'audio/x-mp3' => ['mp3', 'mpga'], - 'audio/x-mp3-playlist' => ['m3u', 'm3u8', 'vlc'], - 'audio/x-mpeg' => ['mp3', 'mpga'], - 'audio/x-mpegurl' => ['m3u', 'm3u8', 'vlc'], - 'audio/x-mpg' => ['mp3', 'mpga'], - 'audio/x-ms-asx' => ['asx', 'wax', 'wvx', 'wmx'], - 'audio/x-ms-wax' => ['wax'], - 'audio/x-ms-wma' => ['wma'], - 'audio/x-musepack' => ['mpc', 'mpp', 'mp+'], - 'audio/x-ogg' => ['oga', 'ogg', 'opus'], - 'audio/x-oggflac' => ['oga', 'ogg'], - 'audio/x-opus+ogg' => ['opus'], - 'audio/x-pn-audibleaudio' => ['aa', 'aax'], - 'audio/x-pn-realaudio' => ['ram', 'ra', 'rax'], - 'audio/x-pn-realaudio-plugin' => ['rmp'], - 'audio/x-psf' => ['psf'], - 'audio/x-psflib' => ['psflib'], - 'audio/x-rn-3gpp-amr' => ['3gp', '3gpp', '3ga'], - 'audio/x-rn-3gpp-amr-encrypted' => ['3gp', '3gpp', '3ga'], - 'audio/x-rn-3gpp-amr-wb' => ['3gp', '3gpp', '3ga'], - 'audio/x-rn-3gpp-amr-wb-encrypted' => ['3gp', '3gpp', '3ga'], - 'audio/x-s3m' => ['s3m'], - 'audio/x-scpls' => ['pls'], - 'audio/x-shorten' => ['shn'], - 'audio/x-speex' => ['spx'], - 'audio/x-speex+ogg' => ['oga', 'ogg'], - 'audio/x-stm' => ['stm'], - 'audio/x-tta' => ['tta'], - 'audio/x-voc' => ['voc'], - 'audio/x-vorbis' => ['oga', 'ogg'], - 'audio/x-vorbis+ogg' => ['oga', 'ogg'], - 'audio/x-wav' => ['wav'], - 'audio/x-wavpack' => ['wv', 'wvp'], - 'audio/x-wavpack-correction' => ['wvc'], - 'audio/x-xi' => ['xi'], - 'audio/x-xm' => ['xm'], - 'audio/x-xmf' => ['xmf'], - 'audio/xm' => ['xm'], - 'audio/xmf' => ['xmf'], - 'chemical/x-cdx' => ['cdx'], - 'chemical/x-cif' => ['cif'], - 'chemical/x-cmdf' => ['cmdf'], - 'chemical/x-cml' => ['cml'], - 'chemical/x-csml' => ['csml'], - 'chemical/x-xyz' => ['xyz'], - 'flv-application/octet-stream' => ['flv'], - 'font/collection' => ['ttc'], - 'font/otf' => ['otf'], - 'font/ttf' => ['ttf'], - 'font/woff' => ['woff', 'woff2'], - 'font/woff2' => ['woff2'], - 'image/bmp' => ['bmp', 'dib'], - 'image/cdr' => ['cdr'], - 'image/cgm' => ['cgm'], - 'image/emf' => ['emf'], - 'image/fax-g3' => ['g3'], - 'image/fits' => ['fits'], - 'image/g3fax' => ['g3'], - 'image/gif' => ['gif'], - 'image/heic' => ['heic', 'heif'], - 'image/heic-sequence' => ['heic', 'heif'], - 'image/heif' => ['heic', 'heif'], - 'image/heif-sequence' => ['heic', 'heif'], - 'image/ico' => ['ico'], - 'image/icon' => ['ico'], - 'image/ief' => ['ief'], - 'image/jp2' => ['jp2', 'jpg2'], - 'image/jpeg' => ['jpeg', 'jpg', 'jpe'], - 'image/jpeg2000' => ['jp2', 'jpg2'], - 'image/jpeg2000-image' => ['jp2', 'jpg2'], - 'image/jpm' => ['jpm', 'jpgm'], - 'image/jpx' => ['jpf', 'jpx'], - 'image/ktx' => ['ktx'], - 'image/openraster' => ['ora'], - 'image/pdf' => ['pdf'], - 'image/photoshop' => ['psd'], - 'image/pjpeg' => ['jpeg', 'jpg', 'jpe'], - 'image/png' => ['png'], - 'image/prs.btif' => ['btif'], - 'image/psd' => ['psd'], - 'image/rle' => ['rle'], - 'image/sgi' => ['sgi'], - 'image/svg' => ['svg'], - 'image/svg+xml' => ['svg', 'svgz'], - 'image/svg+xml-compressed' => ['svgz'], - 'image/tiff' => ['tiff', 'tif'], - 'image/vnd.adobe.photoshop' => ['psd'], - 'image/vnd.dece.graphic' => ['uvi', 'uvvi', 'uvg', 'uvvg'], - 'image/vnd.djvu' => ['djvu', 'djv'], - 'image/vnd.djvu+multipage' => ['djvu', 'djv'], - 'image/vnd.dvb.subtitle' => ['sub'], - 'image/vnd.dwg' => ['dwg'], - 'image/vnd.dxf' => ['dxf'], - 'image/vnd.fastbidsheet' => ['fbs'], - 'image/vnd.fpx' => ['fpx'], - 'image/vnd.fst' => ['fst'], - 'image/vnd.fujixerox.edmics-mmr' => ['mmr'], - 'image/vnd.fujixerox.edmics-rlc' => ['rlc'], - 'image/vnd.microsoft.icon' => ['ico'], - 'image/vnd.ms-modi' => ['mdi'], - 'image/vnd.ms-photo' => ['wdp'], - 'image/vnd.net-fpx' => ['npx'], - 'image/vnd.rn-realpix' => ['rp'], - 'image/vnd.wap.wbmp' => ['wbmp'], - 'image/vnd.xiff' => ['xif'], - 'image/vnd.zbrush.pcx' => ['pcx'], - 'image/webp' => ['webp'], - 'image/wmf' => ['wmf'], - 'image/x-3ds' => ['3ds'], - 'image/x-adobe-dng' => ['dng'], - 'image/x-applix-graphics' => ['ag'], - 'image/x-bmp' => ['bmp', 'dib'], - 'image/x-bzeps' => ['eps.bz2', 'epsi.bz2', 'epsf.bz2'], - 'image/x-canon-cr2' => ['cr2'], - 'image/x-canon-crw' => ['crw'], - 'image/x-cdr' => ['cdr'], - 'image/x-cmu-raster' => ['ras'], - 'image/x-cmx' => ['cmx'], - 'image/x-compressed-xcf' => ['xcf.gz', 'xcf.bz2'], - 'image/x-dds' => ['dds'], - 'image/x-djvu' => ['djvu', 'djv'], - 'image/x-emf' => ['emf'], - 'image/x-eps' => ['eps', 'epsi', 'epsf'], - 'image/x-exr' => ['exr'], - 'image/x-fits' => ['fits'], - 'image/x-freehand' => ['fh', 'fhc', 'fh4', 'fh5', 'fh7'], - 'image/x-fuji-raf' => ['raf'], - 'image/x-gimp-gbr' => ['gbr'], - 'image/x-gimp-gih' => ['gih'], - 'image/x-gimp-pat' => ['pat'], - 'image/x-gzeps' => ['eps.gz', 'epsi.gz', 'epsf.gz'], - 'image/x-icb' => ['tga', 'icb', 'tpic', 'vda', 'vst'], - 'image/x-icns' => ['icns'], - 'image/x-ico' => ['ico'], - 'image/x-icon' => ['ico'], - 'image/x-iff' => ['iff', 'ilbm', 'lbm'], - 'image/x-ilbm' => ['iff', 'ilbm', 'lbm'], - 'image/x-jng' => ['jng'], - 'image/x-jp2-codestream' => ['j2c', 'j2k', 'jpc'], - 'image/x-jpeg2000-image' => ['jp2', 'jpg2'], - 'image/x-kodak-dcr' => ['dcr'], - 'image/x-kodak-k25' => ['k25'], - 'image/x-kodak-kdc' => ['kdc'], - 'image/x-lwo' => ['lwo', 'lwob'], - 'image/x-lws' => ['lws'], - 'image/x-macpaint' => ['pntg'], - 'image/x-minolta-mrw' => ['mrw'], - 'image/x-mrsid-image' => ['sid'], - 'image/x-ms-bmp' => ['bmp', 'dib'], - 'image/x-msod' => ['msod'], - 'image/x-nikon-nef' => ['nef'], - 'image/x-olympus-orf' => ['orf'], - 'image/x-panasonic-raw' => ['raw'], - 'image/x-panasonic-raw2' => ['rw2'], - 'image/x-panasonic-rw' => ['raw'], - 'image/x-panasonic-rw2' => ['rw2'], - 'image/x-pcx' => ['pcx'], - 'image/x-pentax-pef' => ['pef'], - 'image/x-photo-cd' => ['pcd'], - 'image/x-photoshop' => ['psd'], - 'image/x-pict' => ['pic', 'pct', 'pict', 'pict1', 'pict2'], - 'image/x-portable-anymap' => ['pnm'], - 'image/x-portable-bitmap' => ['pbm'], - 'image/x-portable-graymap' => ['pgm'], - 'image/x-portable-pixmap' => ['ppm'], - 'image/x-psd' => ['psd'], - 'image/x-quicktime' => ['qtif', 'qif'], - 'image/x-rgb' => ['rgb'], - 'image/x-sgi' => ['sgi'], - 'image/x-sigma-x3f' => ['x3f'], - 'image/x-skencil' => ['sk', 'sk1'], - 'image/x-sony-arw' => ['arw'], - 'image/x-sony-sr2' => ['sr2'], - 'image/x-sony-srf' => ['srf'], - 'image/x-sun-raster' => ['sun'], - 'image/x-tga' => ['tga', 'icb', 'tpic', 'vda', 'vst'], - 'image/x-win-bitmap' => ['cur'], - 'image/x-win-metafile' => ['wmf'], - 'image/x-wmf' => ['wmf'], - 'image/x-xbitmap' => ['xbm'], - 'image/x-xcf' => ['xcf'], - 'image/x-xfig' => ['fig'], - 'image/x-xpixmap' => ['xpm'], - 'image/x-xpm' => ['xpm'], - 'image/x-xwindowdump' => ['xwd'], - 'image/x.djvu' => ['djvu', 'djv'], - 'message/rfc822' => ['eml', 'mime'], - 'model/iges' => ['igs', 'iges'], - 'model/mesh' => ['msh', 'mesh', 'silo'], - 'model/stl' => ['stl'], - 'model/vnd.collada+xml' => ['dae'], - 'model/vnd.dwf' => ['dwf'], - 'model/vnd.gdl' => ['gdl'], - 'model/vnd.gtw' => ['gtw'], - 'model/vnd.mts' => ['mts'], - 'model/vnd.vtu' => ['vtu'], - 'model/vrml' => ['wrl', 'vrml', 'vrm'], - 'model/x.stl-ascii' => ['stl'], - 'model/x.stl-binary' => ['stl'], - 'model/x3d+binary' => ['x3db', 'x3dbz'], - 'model/x3d+vrml' => ['x3dv', 'x3dvz'], - 'model/x3d+xml' => ['x3d', 'x3dz'], - 'text/cache-manifest' => ['appcache', 'manifest'], - 'text/calendar' => ['ics', 'ifb', 'vcs'], - 'text/css' => ['css'], - 'text/csv' => ['csv'], - 'text/csv-schema' => ['csvs'], - 'text/directory' => ['vcard', 'vcf', 'vct', 'gcrd'], - 'text/ecmascript' => ['es'], - 'text/gedcom' => ['ged', 'gedcom'], - 'text/google-video-pointer' => ['gvp'], - 'text/html' => ['html', 'htm'], - 'text/ico' => ['ico'], - 'text/javascript' => ['js', 'jsm', 'mjs'], - 'text/markdown' => ['md', 'mkd', 'markdown'], - 'text/mathml' => ['mml'], - 'text/n3' => ['n3'], - 'text/plain' => ['txt', 'text', 'conf', 'def', 'list', 'log', 'in', 'asc'], - 'text/prs.lines.tag' => ['dsc'], - 'text/rdf' => ['rdf', 'rdfs', 'owl'], - 'text/richtext' => ['rtx'], - 'text/rss' => ['rss'], - 'text/rtf' => ['rtf'], - 'text/rust' => ['rs'], - 'text/sgml' => ['sgml', 'sgm'], - 'text/spreadsheet' => ['sylk', 'slk'], - 'text/tab-separated-values' => ['tsv'], - 'text/troff' => ['t', 'tr', 'roff', 'man', 'me', 'ms'], - 'text/turtle' => ['ttl'], - 'text/uri-list' => ['uri', 'uris', 'urls'], - 'text/vcard' => ['vcard', 'vcf', 'vct', 'gcrd'], - 'text/vnd.curl' => ['curl'], - 'text/vnd.curl.dcurl' => ['dcurl'], - 'text/vnd.curl.mcurl' => ['mcurl'], - 'text/vnd.curl.scurl' => ['scurl'], - 'text/vnd.dvb.subtitle' => ['sub'], - 'text/vnd.fly' => ['fly'], - 'text/vnd.fmi.flexstor' => ['flx'], - 'text/vnd.graphviz' => ['gv', 'dot'], - 'text/vnd.in3d.3dml' => ['3dml'], - 'text/vnd.in3d.spot' => ['spot'], - 'text/vnd.qt.linguist' => ['ts'], - 'text/vnd.rn-realtext' => ['rt'], - 'text/vnd.sun.j2me.app-descriptor' => ['jad'], - 'text/vnd.trolltech.linguist' => ['ts'], - 'text/vnd.wap.wml' => ['wml'], - 'text/vnd.wap.wmlscript' => ['wmls'], - 'text/vtt' => ['vtt'], - 'text/x-adasrc' => ['adb', 'ads'], - 'text/x-asm' => ['s', 'asm'], - 'text/x-bibtex' => ['bib'], - 'text/x-c' => ['c', 'cc', 'cxx', 'cpp', 'h', 'hh', 'dic'], - 'text/x-c++hdr' => ['hh', 'hp', 'hpp', 'h++', 'hxx'], - 'text/x-c++src' => ['cpp', 'cxx', 'cc', 'C', 'c++'], - 'text/x-chdr' => ['h'], - 'text/x-cmake' => ['cmake'], - 'text/x-cobol' => ['cbl', 'cob'], - 'text/x-comma-separated-values' => ['csv'], - 'text/x-csharp' => ['cs'], - 'text/x-csrc' => ['c'], - 'text/x-csv' => ['csv'], - 'text/x-dbus-service' => ['service'], - 'text/x-dcl' => ['dcl'], - 'text/x-diff' => ['diff', 'patch'], - 'text/x-dsl' => ['dsl'], - 'text/x-dsrc' => ['d', 'di'], - 'text/x-dtd' => ['dtd'], - 'text/x-eiffel' => ['e', 'eif'], - 'text/x-emacs-lisp' => ['el'], - 'text/x-erlang' => ['erl'], - 'text/x-fortran' => ['f', 'for', 'f77', 'f90', 'f95'], - 'text/x-genie' => ['gs'], - 'text/x-gettext-translation' => ['po'], - 'text/x-gettext-translation-template' => ['pot'], - 'text/x-gherkin' => ['feature'], - 'text/x-go' => ['go'], - 'text/x-google-video-pointer' => ['gvp'], - 'text/x-haskell' => ['hs'], - 'text/x-idl' => ['idl'], - 'text/x-imelody' => ['imy', 'ime'], - 'text/x-iptables' => ['iptables'], - 'text/x-java' => ['java'], - 'text/x-java-source' => ['java'], - 'text/x-ldif' => ['ldif'], - 'text/x-lilypond' => ['ly'], - 'text/x-literate-haskell' => ['lhs'], - 'text/x-log' => ['log'], - 'text/x-lua' => ['lua'], - 'text/x-lyx' => ['lyx'], - 'text/x-makefile' => ['mk', 'mak'], - 'text/x-markdown' => ['md', 'mkd', 'markdown'], - 'text/x-matlab' => ['m'], - 'text/x-microdvd' => ['sub'], - 'text/x-moc' => ['moc'], - 'text/x-modelica' => ['mo'], - 'text/x-mof' => ['mof'], - 'text/x-mpsub' => ['sub'], - 'text/x-mrml' => ['mrml', 'mrl'], - 'text/x-ms-regedit' => ['reg'], - 'text/x-mup' => ['mup', 'not'], - 'text/x-nfo' => ['nfo'], - 'text/x-objcsrc' => ['m'], - 'text/x-ocaml' => ['ml', 'mli'], - 'text/x-ocl' => ['ocl'], - 'text/x-octave' => ['m'], - 'text/x-ooc' => ['ooc'], - 'text/x-opencl-src' => ['cl'], - 'text/x-opml' => ['opml'], - 'text/x-opml+xml' => ['opml'], - 'text/x-pascal' => ['p', 'pas'], - 'text/x-patch' => ['diff', 'patch'], - 'text/x-perl' => ['pl', 'PL', 'pm', 'al', 'perl', 'pod', 't'], - 'text/x-po' => ['po'], - 'text/x-pot' => ['pot'], - 'text/x-python' => ['py', 'pyx', 'wsgi'], - 'text/x-python3' => ['py', 'py3', 'py3x'], - 'text/x-qml' => ['qml', 'qmltypes', 'qmlproject'], - 'text/x-reject' => ['rej'], - 'text/x-rpm-spec' => ['spec'], - 'text/x-sass' => ['sass'], - 'text/x-scala' => ['scala'], - 'text/x-scheme' => ['scm', 'ss'], - 'text/x-scss' => ['scss'], - 'text/x-setext' => ['etx'], - 'text/x-sfv' => ['sfv'], - 'text/x-sh' => ['sh'], - 'text/x-sql' => ['sql'], - 'text/x-ssa' => ['ssa', 'ass'], - 'text/x-subviewer' => ['sub'], - 'text/x-svhdr' => ['svh'], - 'text/x-svsrc' => ['sv'], - 'text/x-systemd-unit' => ['automount', 'device', 'mount', 'path', 'scope', 'service', 'slice', 'socket', 'swap', 'target', 'timer'], - 'text/x-tcl' => ['tcl', 'tk'], - 'text/x-tex' => ['tex', 'ltx', 'sty', 'cls', 'dtx', 'ins', 'latex'], - 'text/x-texinfo' => ['texi', 'texinfo'], - 'text/x-troff' => ['tr', 'roff', 't'], - 'text/x-troff-me' => ['me'], - 'text/x-troff-mm' => ['mm'], - 'text/x-troff-ms' => ['ms'], - 'text/x-twig' => ['twig'], - 'text/x-txt2tags' => ['t2t'], - 'text/x-uil' => ['uil'], - 'text/x-uuencode' => ['uu', 'uue'], - 'text/x-vala' => ['vala', 'vapi'], - 'text/x-vcalendar' => ['vcs', 'ics'], - 'text/x-vcard' => ['vcf', 'vcard', 'vct', 'gcrd'], - 'text/x-verilog' => ['v'], - 'text/x-vhdl' => ['vhd', 'vhdl'], - 'text/x-xmi' => ['xmi'], - 'text/x-xslfo' => ['fo', 'xslfo'], - 'text/x-yaml' => ['yaml', 'yml'], - 'text/x.gcode' => ['gcode'], - 'text/xml' => ['xml', 'xbl', 'xsd', 'rng'], - 'text/xml-external-parsed-entity' => ['ent'], - 'text/yaml' => ['yaml', 'yml'], - 'video/3gp' => ['3gp', '3gpp', '3ga'], - 'video/3gpp' => ['3gp', '3gpp', '3ga'], - 'video/3gpp-encrypted' => ['3gp', '3gpp', '3ga'], - 'video/3gpp2' => ['3g2', '3gp2', '3gpp2'], - 'video/annodex' => ['axv'], - 'video/avi' => ['avi', 'avf', 'divx'], - 'video/divx' => ['avi', 'avf', 'divx'], - 'video/dv' => ['dv'], - 'video/fli' => ['fli', 'flc'], - 'video/flv' => ['flv'], - 'video/h261' => ['h261'], - 'video/h263' => ['h263'], - 'video/h264' => ['h264'], - 'video/jpeg' => ['jpgv'], - 'video/jpm' => ['jpm', 'jpgm'], - 'video/mj2' => ['mj2', 'mjp2'], - 'video/mp2t' => ['m2t', 'm2ts', 'ts', 'mts', 'cpi', 'clpi', 'mpl', 'mpls', 'bdm', 'bdmv'], - 'video/mp4' => ['mp4', 'mp4v', 'mpg4', 'm4v', 'f4v', 'lrv'], - 'video/mp4v-es' => ['mp4', 'm4v', 'f4v', 'lrv'], - 'video/mpeg' => ['mpeg', 'mpg', 'mpe', 'm1v', 'm2v', 'mp2', 'vob'], - 'video/mpeg-system' => ['mpeg', 'mpg', 'mp2', 'mpe', 'vob'], - 'video/msvideo' => ['avi', 'avf', 'divx'], - 'video/ogg' => ['ogv', 'ogg'], - 'video/quicktime' => ['qt', 'mov', 'moov', 'qtvr'], - 'video/vivo' => ['viv', 'vivo'], - 'video/vnd.dece.hd' => ['uvh', 'uvvh'], - 'video/vnd.dece.mobile' => ['uvm', 'uvvm'], - 'video/vnd.dece.pd' => ['uvp', 'uvvp'], - 'video/vnd.dece.sd' => ['uvs', 'uvvs'], - 'video/vnd.dece.video' => ['uvv', 'uvvv'], - 'video/vnd.divx' => ['avi', 'avf', 'divx'], - 'video/vnd.dvb.file' => ['dvb'], - 'video/vnd.fvt' => ['fvt'], - 'video/vnd.mpegurl' => ['mxu', 'm4u', 'm1u'], - 'video/vnd.ms-playready.media.pyv' => ['pyv'], - 'video/vnd.rn-realvideo' => ['rv', 'rvx'], - 'video/vnd.uvvu.mp4' => ['uvu', 'uvvu'], - 'video/vnd.vivo' => ['viv', 'vivo'], - 'video/webm' => ['webm'], - 'video/x-anim' => ['anim[1-9j]'], - 'video/x-annodex' => ['axv'], - 'video/x-avi' => ['avi', 'avf', 'divx'], - 'video/x-f4v' => ['f4v'], - 'video/x-fli' => ['fli', 'flc'], - 'video/x-flic' => ['fli', 'flc'], - 'video/x-flv' => ['flv'], - 'video/x-javafx' => ['fxm'], - 'video/x-m4v' => ['m4v', 'mp4', 'f4v', 'lrv'], - 'video/x-matroska' => ['mkv', 'mk3d', 'mks'], - 'video/x-matroska-3d' => ['mk3d'], - 'video/x-mjpeg' => ['mjpeg', 'mjpg'], - 'video/x-mng' => ['mng'], - 'video/x-mpeg' => ['mpeg', 'mpg', 'mp2', 'mpe', 'vob'], - 'video/x-mpeg-system' => ['mpeg', 'mpg', 'mp2', 'mpe', 'vob'], - 'video/x-mpeg2' => ['mpeg', 'mpg', 'mp2', 'mpe', 'vob'], - 'video/x-mpegurl' => ['m1u', 'm4u', 'mxu'], - 'video/x-ms-asf' => ['asf', 'asx'], - 'video/x-ms-asf-plugin' => ['asf'], - 'video/x-ms-vob' => ['vob'], - 'video/x-ms-wax' => ['asx', 'wax', 'wvx', 'wmx'], - 'video/x-ms-wm' => ['wm', 'asf'], - 'video/x-ms-wmv' => ['wmv'], - 'video/x-ms-wmx' => ['wmx', 'asx', 'wax', 'wvx'], - 'video/x-ms-wvx' => ['wvx', 'asx', 'wax', 'wmx'], - 'video/x-msvideo' => ['avi', 'avf', 'divx'], - 'video/x-nsv' => ['nsv'], - 'video/x-ogg' => ['ogv', 'ogg'], - 'video/x-ogm' => ['ogm'], - 'video/x-ogm+ogg' => ['ogm'], - 'video/x-real-video' => ['rv', 'rvx'], - 'video/x-sgi-movie' => ['movie'], - 'video/x-smv' => ['smv'], - 'video/x-theora' => ['ogg'], - 'video/x-theora+ogg' => ['ogg'], - 'x-conference/x-cooltalk' => ['ice'], - 'x-epoc/x-sisx-app' => ['sisx'], - 'zz-application/zz-winassoc-123' => ['123', 'wk1', 'wk3', 'wk4', 'wks'], - 'zz-application/zz-winassoc-cab' => ['cab'], - 'zz-application/zz-winassoc-cdr' => ['cdr'], - 'zz-application/zz-winassoc-doc' => ['doc'], - 'zz-application/zz-winassoc-hlp' => ['hlp'], - 'zz-application/zz-winassoc-mdb' => ['mdb'], - 'zz-application/zz-winassoc-uu' => ['uue'], - 'zz-application/zz-winassoc-xls' => ['xls', 'xlc', 'xll', 'xlm', 'xlw', 'xla', 'xlt', 'xld'], - ]; - - private static $reverseMap = [ - '32x' => ['application/x-genesis-32x-rom'], - '3dml' => ['text/vnd.in3d.3dml'], - '3ds' => ['image/x-3ds'], - '3g2' => ['audio/3gpp2', 'video/3gpp2'], - '3ga' => ['audio/3gpp', 'audio/3gpp-encrypted', 'audio/x-rn-3gpp-amr', 'audio/x-rn-3gpp-amr-encrypted', 'audio/x-rn-3gpp-amr-wb', 'audio/x-rn-3gpp-amr-wb-encrypted', 'video/3gp', 'video/3gpp', 'video/3gpp-encrypted'], - '3gp' => ['audio/3gpp', 'audio/3gpp-encrypted', 'audio/x-rn-3gpp-amr', 'audio/x-rn-3gpp-amr-encrypted', 'audio/x-rn-3gpp-amr-wb', 'audio/x-rn-3gpp-amr-wb-encrypted', 'video/3gp', 'video/3gpp', 'video/3gpp-encrypted'], - '3gp2' => ['audio/3gpp2', 'video/3gpp2'], - '3gpp' => ['audio/3gpp', 'audio/3gpp-encrypted', 'audio/x-rn-3gpp-amr', 'audio/x-rn-3gpp-amr-encrypted', 'audio/x-rn-3gpp-amr-wb', 'audio/x-rn-3gpp-amr-wb-encrypted', 'video/3gp', 'video/3gpp', 'video/3gpp-encrypted'], - '3gpp2' => ['audio/3gpp2', 'video/3gpp2'], - '7z' => ['application/x-7z-compressed'], - 'BLEND' => ['application/x-blender'], - 'C' => ['text/x-c++src'], - 'PAR2' => ['application/x-par2'], - 'PL' => ['application/x-perl', 'text/x-perl'], - 'Z' => ['application/x-compress'], - 'a' => ['application/x-archive'], - 'a26' => ['application/x-atari-2600-rom'], - 'a78' => ['application/x-atari-7800-rom'], - 'aa' => ['audio/vnd.audible', 'audio/vnd.audible.aax', 'audio/x-pn-audibleaudio'], - 'aab' => ['application/x-authorware-bin'], - 'aac' => ['audio/aac', 'audio/x-aac', 'audio/x-hx-aac-adts'], - 'aam' => ['application/x-authorware-map'], - 'aas' => ['application/x-authorware-seg'], - 'aax' => ['audio/vnd.audible', 'audio/vnd.audible.aax', 'audio/x-pn-audibleaudio'], - 'abw' => ['application/x-abiword'], - 'abw.CRASHED' => ['application/x-abiword'], - 'abw.gz' => ['application/x-abiword'], - 'ac' => ['application/pkix-attr-cert'], - 'ac3' => ['audio/ac3'], - 'acc' => ['application/vnd.americandynamics.acc'], - 'ace' => ['application/x-ace', 'application/x-ace-compressed'], - 'acu' => ['application/vnd.acucobol'], - 'acutc' => ['application/vnd.acucorp'], - 'adb' => ['text/x-adasrc'], - 'adf' => ['application/x-amiga-disk-format'], - 'adp' => ['audio/adpcm'], - 'ads' => ['text/x-adasrc'], - 'adts' => ['audio/aac', 'audio/x-aac', 'audio/x-hx-aac-adts'], - 'aep' => ['application/vnd.audiograph'], - 'afm' => ['application/x-font-afm', 'application/x-font-type1'], - 'afp' => ['application/vnd.ibm.modcap'], - 'ag' => ['image/x-applix-graphics'], - 'agb' => ['application/x-gba-rom'], - 'ahead' => ['application/vnd.ahead.space'], - 'ai' => ['application/illustrator', 'application/postscript', 'application/vnd.adobe.illustrator'], - 'aif' => ['audio/x-aiff'], - 'aifc' => ['audio/x-aifc', 'audio/x-aiff', 'audio/x-aiffc'], - 'aiff' => ['audio/x-aiff'], - 'aiffc' => ['audio/x-aifc', 'audio/x-aiffc'], - 'air' => ['application/vnd.adobe.air-application-installer-package+zip'], - 'ait' => ['application/vnd.dvb.ait'], - 'al' => ['application/x-perl', 'text/x-perl'], - 'alz' => ['application/x-alz'], - 'ami' => ['application/vnd.amiga.ami'], - 'amr' => ['audio/amr', 'audio/amr-encrypted'], - 'amz' => ['audio/x-amzxml'], - 'ani' => ['application/x-navi-animation'], - 'anim[1-9j]' => ['video/x-anim'], - 'anx' => ['application/annodex', 'application/x-annodex'], - 'ape' => ['audio/x-ape'], - 'apk' => ['application/vnd.android.package-archive'], - 'appcache' => ['text/cache-manifest'], - 'appimage' => ['application/vnd.appimage', 'application/x-iso9660-appimage'], - 'application' => ['application/x-ms-application'], - 'apr' => ['application/vnd.lotus-approach'], - 'aps' => ['application/postscript'], - 'ar' => ['application/x-archive'], - 'arc' => ['application/x-freearc'], - 'arj' => ['application/x-arj'], - 'arw' => ['image/x-sony-arw'], - 'as' => ['application/x-applix-spreadsheet'], - 'asc' => ['application/pgp', 'application/pgp-encrypted', 'application/pgp-keys', 'application/pgp-signature', 'text/plain'], - 'asf' => ['application/vnd.ms-asf', 'video/x-ms-asf', 'video/x-ms-asf-plugin', 'video/x-ms-wm'], - 'asm' => ['text/x-asm'], - 'aso' => ['application/vnd.accpac.simply.aso'], - 'asp' => ['application/x-asp'], - 'ass' => ['audio/aac', 'audio/x-aac', 'audio/x-hx-aac-adts', 'text/x-ssa'], - 'asx' => ['application/x-ms-asx', 'audio/x-ms-asx', 'video/x-ms-asf', 'video/x-ms-wax', 'video/x-ms-wmx', 'video/x-ms-wvx'], - 'atc' => ['application/vnd.acucorp'], - 'atom' => ['application/atom+xml'], - 'atomcat' => ['application/atomcat+xml'], - 'atomsvc' => ['application/atomsvc+xml'], - 'atx' => ['application/vnd.antix.game-component'], - 'au' => ['audio/basic'], - 'automount' => ['text/x-systemd-unit'], - 'avf' => ['video/avi', 'video/divx', 'video/msvideo', 'video/vnd.divx', 'video/x-avi', 'video/x-msvideo'], - 'avi' => ['video/avi', 'video/divx', 'video/msvideo', 'video/vnd.divx', 'video/x-avi', 'video/x-msvideo'], - 'aw' => ['application/applixware', 'application/x-applix-word'], - 'awb' => ['audio/amr-wb', 'audio/amr-wb-encrypted'], - 'awk' => ['application/x-awk'], - 'axa' => ['audio/annodex', 'audio/x-annodex'], - 'axv' => ['video/annodex', 'video/x-annodex'], - 'azf' => ['application/vnd.airzip.filesecure.azf'], - 'azs' => ['application/vnd.airzip.filesecure.azs'], - 'azw' => ['application/vnd.amazon.ebook'], - 'bak' => ['application/x-trash'], - 'bat' => ['application/x-msdownload'], - 'bcpio' => ['application/x-bcpio'], - 'bdf' => ['application/x-font-bdf'], - 'bdm' => ['application/vnd.syncml.dm+wbxml', 'video/mp2t'], - 'bdmv' => ['video/mp2t'], - 'bed' => ['application/vnd.realvnc.bed'], - 'bh2' => ['application/vnd.fujitsu.oasysprs'], - 'bib' => ['text/x-bibtex'], - 'bin' => ['application/octet-stream', 'application/x-saturn-rom', 'application/x-sega-cd-rom'], - 'blb' => ['application/x-blorb'], - 'blend' => ['application/x-blender'], - 'blender' => ['application/x-blender'], - 'blorb' => ['application/x-blorb'], - 'bmi' => ['application/vnd.bmi'], - 'bmp' => ['image/bmp', 'image/x-bmp', 'image/x-ms-bmp'], - 'book' => ['application/vnd.framemaker'], - 'box' => ['application/vnd.previewsystems.box'], - 'boz' => ['application/x-bzip2'], - 'bpk' => ['application/octet-stream'], - 'bsdiff' => ['application/x-bsdiff'], - 'btif' => ['image/prs.btif'], - 'bz' => ['application/x-bzip', 'application/x-bzip2'], - 'bz2' => ['application/x-bz2', 'application/x-bzip', 'application/x-bzip2'], - 'c' => ['text/x-c', 'text/x-csrc'], - 'c++' => ['text/x-c++src'], - 'c11amc' => ['application/vnd.cluetrust.cartomobile-config'], - 'c11amz' => ['application/vnd.cluetrust.cartomobile-config-pkg'], - 'c4d' => ['application/vnd.clonk.c4group'], - 'c4f' => ['application/vnd.clonk.c4group'], - 'c4g' => ['application/vnd.clonk.c4group'], - 'c4p' => ['application/vnd.clonk.c4group'], - 'c4u' => ['application/vnd.clonk.c4group'], - 'cab' => ['application/vnd.ms-cab-compressed', 'zz-application/zz-winassoc-cab'], - 'caf' => ['audio/x-caf'], - 'cap' => ['application/pcap', 'application/vnd.tcpdump.pcap', 'application/x-pcap'], - 'car' => ['application/vnd.curl.car'], - 'cat' => ['application/vnd.ms-pki.seccat'], - 'cb7' => ['application/x-cb7', 'application/x-cbr'], - 'cba' => ['application/x-cbr'], - 'cbl' => ['text/x-cobol'], - 'cbr' => ['application/vnd.comicbook-rar', 'application/x-cbr'], - 'cbt' => ['application/x-cbr', 'application/x-cbt'], - 'cbz' => ['application/vnd.comicbook+zip', 'application/x-cbr', 'application/x-cbz'], - 'cc' => ['text/x-c', 'text/x-c++src'], - 'ccmx' => ['application/x-ccmx'], - 'cct' => ['application/x-director'], - 'ccxml' => ['application/ccxml+xml'], - 'cdbcmsg' => ['application/vnd.contact.cmsg'], - 'cdf' => ['application/x-netcdf'], - 'cdkey' => ['application/vnd.mediastation.cdkey'], - 'cdmia' => ['application/cdmi-capability'], - 'cdmic' => ['application/cdmi-container'], - 'cdmid' => ['application/cdmi-domain'], - 'cdmio' => ['application/cdmi-object'], - 'cdmiq' => ['application/cdmi-queue'], - 'cdr' => ['application/cdr', 'application/coreldraw', 'application/vnd.corel-draw', 'application/x-cdr', 'application/x-coreldraw', 'image/cdr', 'image/x-cdr', 'zz-application/zz-winassoc-cdr'], - 'cdx' => ['chemical/x-cdx'], - 'cdxml' => ['application/vnd.chemdraw+xml'], - 'cdy' => ['application/vnd.cinderella'], - 'cer' => ['application/pkix-cert'], - 'cert' => ['application/x-x509-ca-cert'], - 'cfs' => ['application/x-cfs-compressed'], - 'cgb' => ['application/x-gameboy-color-rom'], - 'cgm' => ['image/cgm'], - 'chat' => ['application/x-chat'], - 'chm' => ['application/vnd.ms-htmlhelp', 'application/x-chm'], - 'chrt' => ['application/vnd.kde.kchart', 'application/x-kchart'], - 'cif' => ['chemical/x-cif'], - 'cii' => ['application/vnd.anser-web-certificate-issue-initiation'], - 'cil' => ['application/vnd.ms-artgalry'], - 'cl' => ['text/x-opencl-src'], - 'cla' => ['application/vnd.claymore'], - 'class' => ['application/java', 'application/java-byte-code', 'application/java-vm', 'application/x-java', 'application/x-java-class', 'application/x-java-vm'], - 'clkk' => ['application/vnd.crick.clicker.keyboard'], - 'clkp' => ['application/vnd.crick.clicker.palette'], - 'clkt' => ['application/vnd.crick.clicker.template'], - 'clkw' => ['application/vnd.crick.clicker.wordbank'], - 'clkx' => ['application/vnd.crick.clicker'], - 'clp' => ['application/x-msclip'], - 'clpi' => ['video/mp2t'], - 'cls' => ['application/x-tex', 'text/x-tex'], - 'cmake' => ['text/x-cmake'], - 'cmc' => ['application/vnd.cosmocaller'], - 'cmdf' => ['chemical/x-cmdf'], - 'cml' => ['chemical/x-cml'], - 'cmp' => ['application/vnd.yellowriver-custom-menu'], - 'cmx' => ['image/x-cmx'], - 'cob' => ['text/x-cobol'], - 'cod' => ['application/vnd.rim.cod'], - 'coffee' => ['application/vnd.coffeescript'], - 'com' => ['application/x-msdownload'], - 'conf' => ['text/plain'], - 'cpi' => ['video/mp2t'], - 'cpio' => ['application/x-cpio'], - 'cpio.gz' => ['application/x-cpio-compressed'], - 'cpp' => ['text/x-c', 'text/x-c++src'], - 'cpt' => ['application/mac-compactpro'], - 'cr2' => ['image/x-canon-cr2'], - 'crd' => ['application/x-mscardfile'], - 'crdownload' => ['application/x-partial-download'], - 'crl' => ['application/pkix-crl'], - 'crt' => ['application/x-x509-ca-cert'], - 'crw' => ['image/x-canon-crw'], - 'cryptonote' => ['application/vnd.rig.cryptonote'], - 'cs' => ['text/x-csharp'], - 'csh' => ['application/x-csh'], - 'csml' => ['chemical/x-csml'], - 'csp' => ['application/vnd.commonspace'], - 'css' => ['text/css'], - 'cst' => ['application/x-director'], - 'csv' => ['text/csv', 'text/x-comma-separated-values', 'text/x-csv'], - 'csvs' => ['text/csv-schema'], - 'cu' => ['application/cu-seeme'], - 'cue' => ['application/x-cue'], - 'cur' => ['image/x-win-bitmap'], - 'curl' => ['text/vnd.curl'], - 'cww' => ['application/prs.cww'], - 'cxt' => ['application/x-director'], - 'cxx' => ['text/x-c', 'text/x-c++src'], - 'd' => ['text/x-dsrc'], - 'dae' => ['model/vnd.collada+xml'], - 'daf' => ['application/vnd.mobius.daf'], - 'dar' => ['application/x-dar'], - 'dart' => ['application/vnd.dart'], - 'dataless' => ['application/vnd.fdsn.seed'], - 'davmount' => ['application/davmount+xml'], - 'dbf' => ['application/dbase', 'application/dbf', 'application/x-dbase', 'application/x-dbf'], - 'dbk' => ['application/docbook+xml', 'application/vnd.oasis.docbook+xml', 'application/x-docbook+xml'], - 'dc' => ['application/x-dc-rom'], - 'dcl' => ['text/x-dcl'], - 'dcm' => ['application/dicom'], - 'dcr' => ['application/x-director', 'image/x-kodak-dcr'], - 'dcurl' => ['text/vnd.curl.dcurl'], - 'dd2' => ['application/vnd.oma.dd2+xml'], - 'ddd' => ['application/vnd.fujixerox.ddd'], - 'dds' => ['image/x-dds'], - 'deb' => ['application/vnd.debian.binary-package', 'application/x-deb', 'application/x-debian-package'], - 'def' => ['text/plain'], - 'deploy' => ['application/octet-stream'], - 'der' => ['application/x-x509-ca-cert'], - 'desktop' => ['application/x-desktop', 'application/x-gnome-app-info'], - 'device' => ['text/x-systemd-unit'], - 'dfac' => ['application/vnd.dreamfactory'], - 'dgc' => ['application/x-dgc-compressed'], - 'di' => ['text/x-dsrc'], - 'dia' => ['application/x-dia-diagram'], - 'dib' => ['image/bmp', 'image/x-bmp', 'image/x-ms-bmp'], - 'dic' => ['text/x-c'], - 'diff' => ['text/x-diff', 'text/x-patch'], - 'dir' => ['application/x-director'], - 'dis' => ['application/vnd.mobius.dis'], - 'dist' => ['application/octet-stream'], - 'distz' => ['application/octet-stream'], - 'divx' => ['video/avi', 'video/divx', 'video/msvideo', 'video/vnd.divx', 'video/x-avi', 'video/x-msvideo'], - 'djv' => ['image/vnd.djvu', 'image/vnd.djvu+multipage', 'image/x-djvu', 'image/x.djvu'], - 'djvu' => ['image/vnd.djvu', 'image/vnd.djvu+multipage', 'image/x-djvu', 'image/x.djvu'], - 'dll' => ['application/x-msdownload'], - 'dmg' => ['application/x-apple-diskimage'], - 'dmp' => ['application/pcap', 'application/vnd.tcpdump.pcap', 'application/x-pcap'], - 'dms' => ['application/octet-stream'], - 'dna' => ['application/vnd.dna'], - 'dng' => ['image/x-adobe-dng'], - 'doc' => ['application/msword', 'application/vnd.ms-word', 'application/x-msword', 'zz-application/zz-winassoc-doc'], - 'docbook' => ['application/docbook+xml', 'application/vnd.oasis.docbook+xml', 'application/x-docbook+xml'], - 'docm' => ['application/vnd.ms-word.document.macroenabled.12'], - 'docx' => ['application/vnd.openxmlformats-officedocument.wordprocessingml.document'], - 'dot' => ['application/msword', 'application/msword-template', 'text/vnd.graphviz'], - 'dotm' => ['application/vnd.ms-word.template.macroenabled.12'], - 'dotx' => ['application/vnd.openxmlformats-officedocument.wordprocessingml.template'], - 'dp' => ['application/vnd.osgi.dp'], - 'dpg' => ['application/vnd.dpgraph'], - 'dra' => ['audio/vnd.dra'], - 'dsc' => ['text/prs.lines.tag'], - 'dsl' => ['text/x-dsl'], - 'dssc' => ['application/dssc+der'], - 'dtb' => ['application/x-dtbook+xml'], - 'dtd' => ['application/xml-dtd', 'text/x-dtd'], - 'dts' => ['audio/vnd.dts', 'audio/x-dts'], - 'dtshd' => ['audio/vnd.dts.hd', 'audio/x-dtshd'], - 'dtx' => ['application/x-tex', 'text/x-tex'], - 'dump' => ['application/octet-stream'], - 'dv' => ['video/dv'], - 'dvb' => ['video/vnd.dvb.file'], - 'dvi' => ['application/x-dvi'], - 'dvi.bz2' => ['application/x-bzdvi'], - 'dvi.gz' => ['application/x-gzdvi'], - 'dwf' => ['model/vnd.dwf'], - 'dwg' => ['image/vnd.dwg'], - 'dxf' => ['image/vnd.dxf'], - 'dxp' => ['application/vnd.spotfire.dxp'], - 'dxr' => ['application/x-director'], - 'e' => ['text/x-eiffel'], - 'ecelp4800' => ['audio/vnd.nuera.ecelp4800'], - 'ecelp7470' => ['audio/vnd.nuera.ecelp7470'], - 'ecelp9600' => ['audio/vnd.nuera.ecelp9600'], - 'ecma' => ['application/ecmascript'], - 'edm' => ['application/vnd.novadigm.edm'], - 'edx' => ['application/vnd.novadigm.edx'], - 'efif' => ['application/vnd.picsel'], - 'egon' => ['application/x-egon'], - 'ei6' => ['application/vnd.pg.osasli'], - 'eif' => ['text/x-eiffel'], - 'el' => ['text/x-emacs-lisp'], - 'elc' => ['application/octet-stream'], - 'emf' => ['application/emf', 'application/x-emf', 'application/x-msmetafile', 'image/emf', 'image/x-emf'], - 'eml' => ['message/rfc822'], - 'emma' => ['application/emma+xml'], - 'emp' => ['application/vnd.emusic-emusic_package'], - 'emz' => ['application/x-msmetafile'], - 'ent' => ['application/xml-external-parsed-entity', 'text/xml-external-parsed-entity'], - 'eol' => ['audio/vnd.digital-winds'], - 'eot' => ['application/vnd.ms-fontobject'], - 'eps' => ['application/postscript', 'image/x-eps'], - 'eps.bz2' => ['image/x-bzeps'], - 'eps.gz' => ['image/x-gzeps'], - 'epsf' => ['image/x-eps'], - 'epsf.bz2' => ['image/x-bzeps'], - 'epsf.gz' => ['image/x-gzeps'], - 'epsi' => ['image/x-eps'], - 'epsi.bz2' => ['image/x-bzeps'], - 'epsi.gz' => ['image/x-gzeps'], - 'epub' => ['application/epub+zip'], - 'erl' => ['text/x-erlang'], - 'es' => ['application/ecmascript', 'text/ecmascript'], - 'es3' => ['application/vnd.eszigno3+xml'], - 'esa' => ['application/vnd.osgi.subsystem'], - 'esf' => ['application/vnd.epson.esf'], - 'et3' => ['application/vnd.eszigno3+xml'], - 'etheme' => ['application/x-e-theme'], - 'etx' => ['text/x-setext'], - 'eva' => ['application/x-eva'], - 'evy' => ['application/x-envoy'], - 'exe' => ['application/x-ms-dos-executable', 'application/x-msdownload'], - 'exi' => ['application/exi'], - 'exr' => ['image/x-exr'], - 'ext' => ['application/vnd.novadigm.ext'], - 'ez' => ['application/andrew-inset'], - 'ez2' => ['application/vnd.ezpix-album'], - 'ez3' => ['application/vnd.ezpix-package'], - 'f' => ['text/x-fortran'], - 'f4a' => ['audio/m4a', 'audio/mp4', 'audio/x-m4a'], - 'f4b' => ['audio/x-m4b'], - 'f4v' => ['video/mp4', 'video/mp4v-es', 'video/x-f4v', 'video/x-m4v'], - 'f77' => ['text/x-fortran'], - 'f90' => ['text/x-fortran'], - 'f95' => ['text/x-fortran'], - 'fb2' => ['application/x-fictionbook', 'application/x-fictionbook+xml'], - 'fb2.zip' => ['application/x-zip-compressed-fb2'], - 'fbs' => ['image/vnd.fastbidsheet'], - 'fcdt' => ['application/vnd.adobe.formscentral.fcdt'], - 'fcs' => ['application/vnd.isac.fcs'], - 'fd' => ['application/x-fd-file', 'application/x-raw-floppy-disk-image'], - 'fdf' => ['application/vnd.fdf'], - 'fds' => ['application/x-fds-disk'], - 'fe_launch' => ['application/vnd.denovo.fcselayout-link'], - 'feature' => ['text/x-gherkin'], - 'fg5' => ['application/vnd.fujitsu.oasysgp'], - 'fgd' => ['application/x-director'], - 'fh' => ['image/x-freehand'], - 'fh4' => ['image/x-freehand'], - 'fh5' => ['image/x-freehand'], - 'fh7' => ['image/x-freehand'], - 'fhc' => ['image/x-freehand'], - 'fig' => ['application/x-xfig', 'image/x-xfig'], - 'fits' => ['image/fits', 'image/x-fits'], - 'fl' => ['application/x-fluid'], - 'flac' => ['audio/flac', 'audio/x-flac'], - 'flatpak' => ['application/vnd.flatpak', 'application/vnd.xdgapp'], - 'flatpakref' => ['application/vnd.flatpak.ref'], - 'flatpakrepo' => ['application/vnd.flatpak.repo'], - 'flc' => ['video/fli', 'video/x-fli', 'video/x-flic'], - 'fli' => ['video/fli', 'video/x-fli', 'video/x-flic'], - 'flo' => ['application/vnd.micrografx.flo'], - 'flv' => ['video/x-flv', 'application/x-flash-video', 'flv-application/octet-stream', 'video/flv'], - 'flw' => ['application/vnd.kde.kivio', 'application/x-kivio'], - 'flx' => ['text/vnd.fmi.flexstor'], - 'fly' => ['text/vnd.fly'], - 'fm' => ['application/vnd.framemaker', 'application/x-frame'], - 'fnc' => ['application/vnd.frogans.fnc'], - 'fo' => ['text/x-xslfo'], - 'fodg' => ['application/vnd.oasis.opendocument.graphics-flat-xml'], - 'fodp' => ['application/vnd.oasis.opendocument.presentation-flat-xml'], - 'fods' => ['application/vnd.oasis.opendocument.spreadsheet-flat-xml'], - 'fodt' => ['application/vnd.oasis.opendocument.text-flat-xml'], - 'for' => ['text/x-fortran'], - 'fpx' => ['image/vnd.fpx'], - 'frame' => ['application/vnd.framemaker'], - 'fsc' => ['application/vnd.fsc.weblaunch'], - 'fst' => ['image/vnd.fst'], - 'ftc' => ['application/vnd.fluxtime.clip'], - 'fti' => ['application/vnd.anser-web-funds-transfer-initiation'], - 'fvt' => ['video/vnd.fvt'], - 'fxm' => ['video/x-javafx'], - 'fxp' => ['application/vnd.adobe.fxp'], - 'fxpl' => ['application/vnd.adobe.fxp'], - 'fzs' => ['application/vnd.fuzzysheet'], - 'g2w' => ['application/vnd.geoplan'], - 'g3' => ['image/fax-g3', 'image/g3fax'], - 'g3w' => ['application/vnd.geospace'], - 'gac' => ['application/vnd.groove-account'], - 'gam' => ['application/x-tads'], - 'gb' => ['application/x-gameboy-rom'], - 'gba' => ['application/x-gba-rom'], - 'gbc' => ['application/x-gameboy-color-rom'], - 'gbr' => ['application/rpki-ghostbusters', 'image/x-gimp-gbr'], - 'gca' => ['application/x-gca-compressed'], - 'gcode' => ['text/x.gcode'], - 'gcrd' => ['text/directory', 'text/vcard', 'text/x-vcard'], - 'gdl' => ['model/vnd.gdl'], - 'ged' => ['application/x-gedcom', 'text/gedcom'], - 'gedcom' => ['application/x-gedcom', 'text/gedcom'], - 'gem' => ['application/x-gtar', 'application/x-tar'], - 'gen' => ['application/x-genesis-rom'], - 'geo' => ['application/vnd.dynageo'], - 'geo.json' => ['application/geo+json', 'application/vnd.geo+json'], - 'geojson' => ['application/geo+json', 'application/vnd.geo+json'], - 'gex' => ['application/vnd.geometry-explorer'], - 'gf' => ['application/x-tex-gf'], - 'gg' => ['application/x-gamegear-rom'], - 'ggb' => ['application/vnd.geogebra.file'], - 'ggt' => ['application/vnd.geogebra.tool'], - 'ghf' => ['application/vnd.groove-help'], - 'gif' => ['image/gif'], - 'gih' => ['image/x-gimp-gih'], - 'gim' => ['application/vnd.groove-identity-message'], - 'glade' => ['application/x-glade'], - 'gml' => ['application/gml+xml'], - 'gmo' => ['application/x-gettext-translation'], - 'gmx' => ['application/vnd.gmx'], - 'gnc' => ['application/x-gnucash'], - 'gnd' => ['application/gnunet-directory'], - 'gnucash' => ['application/x-gnucash'], - 'gnumeric' => ['application/x-gnumeric'], - 'gnuplot' => ['application/x-gnuplot'], - 'go' => ['text/x-go'], - 'gp' => ['application/x-gnuplot'], - 'gpg' => ['application/pgp', 'application/pgp-encrypted', 'application/pgp-keys', 'application/pgp-signature'], - 'gph' => ['application/vnd.flographit'], - 'gplt' => ['application/x-gnuplot'], - 'gpx' => ['application/gpx', 'application/gpx+xml', 'application/x-gpx', 'application/x-gpx+xml'], - 'gqf' => ['application/vnd.grafeq'], - 'gqs' => ['application/vnd.grafeq'], - 'gra' => ['application/x-graphite'], - 'gram' => ['application/srgs'], - 'gramps' => ['application/x-gramps-xml'], - 'gre' => ['application/vnd.geometry-explorer'], - 'grv' => ['application/vnd.groove-injector'], - 'grxml' => ['application/srgs+xml'], - 'gs' => ['text/x-genie'], - 'gsf' => ['application/x-font-ghostscript', 'application/x-font-type1'], - 'gsm' => ['audio/x-gsm'], - 'gtar' => ['application/x-gtar', 'application/x-tar'], - 'gtm' => ['application/vnd.groove-tool-message'], - 'gtw' => ['model/vnd.gtw'], - 'gv' => ['text/vnd.graphviz'], - 'gvp' => ['text/google-video-pointer', 'text/x-google-video-pointer'], - 'gxf' => ['application/gxf'], - 'gxt' => ['application/vnd.geonext'], - 'gz' => ['application/x-gzip', 'application/gzip'], - 'h' => ['text/x-c', 'text/x-chdr'], - 'h++' => ['text/x-c++hdr'], - 'h261' => ['video/h261'], - 'h263' => ['video/h263'], - 'h264' => ['video/h264'], - 'h4' => ['application/x-hdf'], - 'h5' => ['application/x-hdf'], - 'hal' => ['application/vnd.hal+xml'], - 'hbci' => ['application/vnd.hbci'], - 'hdf' => ['application/x-hdf'], - 'hdf4' => ['application/x-hdf'], - 'hdf5' => ['application/x-hdf'], - 'heic' => ['image/heic', 'image/heic-sequence', 'image/heif', 'image/heif-sequence'], - 'heif' => ['image/heic', 'image/heic-sequence', 'image/heif', 'image/heif-sequence'], - 'hfe' => ['application/x-hfe-file', 'application/x-hfe-floppy-image'], - 'hh' => ['text/x-c', 'text/x-c++hdr'], - 'hlp' => ['application/winhlp', 'zz-application/zz-winassoc-hlp'], - 'hp' => ['text/x-c++hdr'], - 'hpgl' => ['application/vnd.hp-hpgl'], - 'hpid' => ['application/vnd.hp-hpid'], - 'hpp' => ['text/x-c++hdr'], - 'hps' => ['application/vnd.hp-hps'], - 'hqx' => ['application/stuffit', 'application/mac-binhex40'], - 'hs' => ['text/x-haskell'], - 'htke' => ['application/vnd.kenameaapp'], - 'htm' => ['text/html'], - 'html' => ['text/html'], - 'hvd' => ['application/vnd.yamaha.hv-dic'], - 'hvp' => ['application/vnd.yamaha.hv-voice'], - 'hvs' => ['application/vnd.yamaha.hv-script'], - 'hwp' => ['application/vnd.haansoft-hwp', 'application/x-hwp'], - 'hwt' => ['application/vnd.haansoft-hwt', 'application/x-hwt'], - 'hxx' => ['text/x-c++hdr'], - 'i2g' => ['application/vnd.intergeo'], - 'ica' => ['application/x-ica'], - 'icb' => ['image/x-icb', 'image/x-tga'], - 'icc' => ['application/vnd.iccprofile'], - 'ice' => ['x-conference/x-cooltalk'], - 'icm' => ['application/vnd.iccprofile'], - 'icns' => ['image/x-icns'], - 'ico' => ['application/ico', 'image/ico', 'image/icon', 'image/vnd.microsoft.icon', 'image/x-ico', 'image/x-icon', 'text/ico'], - 'ics' => ['application/ics', 'text/calendar', 'text/x-vcalendar'], - 'idl' => ['text/x-idl'], - 'ief' => ['image/ief'], - 'ifb' => ['text/calendar'], - 'iff' => ['image/x-iff', 'image/x-ilbm'], - 'ifm' => ['application/vnd.shana.informed.formdata'], - 'iges' => ['model/iges'], - 'igl' => ['application/vnd.igloader'], - 'igm' => ['application/vnd.insors.igm'], - 'igs' => ['model/iges'], - 'igx' => ['application/vnd.micrografx.igx'], - 'iif' => ['application/vnd.shana.informed.interchange'], - 'ilbm' => ['image/x-iff', 'image/x-ilbm'], - 'ime' => ['audio/imelody', 'audio/x-imelody', 'text/x-imelody'], - 'img' => ['application/x-raw-disk-image'], - 'img.xz' => ['application/x-raw-disk-image-xz-compressed'], - 'imp' => ['application/vnd.accpac.simply.imp'], - 'ims' => ['application/vnd.ms-ims'], - 'imy' => ['audio/imelody', 'audio/x-imelody', 'text/x-imelody'], - 'in' => ['text/plain'], - 'ink' => ['application/inkml+xml'], - 'inkml' => ['application/inkml+xml'], - 'ins' => ['application/x-tex', 'text/x-tex'], - 'install' => ['application/x-install-instructions'], - 'iota' => ['application/vnd.astraea-software.iota'], - 'ipfix' => ['application/ipfix'], - 'ipk' => ['application/vnd.shana.informed.package'], - 'iptables' => ['text/x-iptables'], - 'ipynb' => ['application/x-ipynb+json'], - 'irm' => ['application/vnd.ibm.rights-management'], - 'irp' => ['application/vnd.irepository.package+xml'], - 'iso' => ['application/x-cd-image', 'application/x-gamecube-iso-image', 'application/x-gamecube-rom', 'application/x-iso9660-image', 'application/x-saturn-rom', 'application/x-sega-cd-rom', 'application/x-wbfs', 'application/x-wia', 'application/x-wii-iso-image', 'application/x-wii-rom'], - 'iso9660' => ['application/x-cd-image', 'application/x-iso9660-image'], - 'it' => ['audio/x-it'], - 'it87' => ['application/x-it87'], - 'itp' => ['application/vnd.shana.informed.formtemplate'], - 'ivp' => ['application/vnd.immervision-ivp'], - 'ivu' => ['application/vnd.immervision-ivu'], - 'j2c' => ['image/x-jp2-codestream'], - 'j2k' => ['image/x-jp2-codestream'], - 'jad' => ['text/vnd.sun.j2me.app-descriptor'], - 'jam' => ['application/vnd.jam'], - 'jar' => ['application/x-java-archive', 'application/java-archive', 'application/x-jar'], - 'java' => ['text/x-java', 'text/x-java-source'], - 'jceks' => ['application/x-java-jce-keystore'], - 'jisp' => ['application/vnd.jisp'], - 'jks' => ['application/x-java-keystore'], - 'jlt' => ['application/vnd.hp-jlyt'], - 'jng' => ['image/x-jng'], - 'jnlp' => ['application/x-java-jnlp-file'], - 'joda' => ['application/vnd.joost.joda-archive'], - 'jp2' => ['image/jp2', 'image/jpeg2000', 'image/jpeg2000-image', 'image/x-jpeg2000-image'], - 'jpc' => ['image/x-jp2-codestream'], - 'jpe' => ['image/jpeg', 'image/pjpeg'], - 'jpeg' => ['image/jpeg', 'image/pjpeg'], - 'jpf' => ['image/jpx'], - 'jpg' => ['image/jpeg', 'image/pjpeg'], - 'jpg2' => ['image/jp2', 'image/jpeg2000', 'image/jpeg2000-image', 'image/x-jpeg2000-image'], - 'jpgm' => ['image/jpm', 'video/jpm'], - 'jpgv' => ['video/jpeg'], - 'jpm' => ['image/jpm', 'video/jpm'], - 'jpr' => ['application/x-jbuilder-project'], - 'jpx' => ['application/x-jbuilder-project', 'image/jpx'], - 'jrd' => ['application/jrd+json'], - 'js' => ['text/javascript', 'application/javascript', 'application/x-javascript'], - 'jsm' => ['application/javascript', 'application/x-javascript', 'text/javascript'], - 'json' => ['application/json'], - 'json-patch' => ['application/json-patch+json'], - 'jsonld' => ['application/ld+json'], - 'jsonml' => ['application/jsonml+json'], - 'k25' => ['image/x-kodak-k25'], - 'k7' => ['application/x-thomson-cassette'], - 'kar' => ['audio/midi', 'audio/x-midi'], - 'karbon' => ['application/vnd.kde.karbon', 'application/x-karbon'], - 'kdc' => ['image/x-kodak-kdc'], - 'kdelnk' => ['application/x-desktop', 'application/x-gnome-app-info'], - 'kexi' => ['application/x-kexiproject-sqlite', 'application/x-kexiproject-sqlite2', 'application/x-kexiproject-sqlite3', 'application/x-vnd.kde.kexi'], - 'kexic' => ['application/x-kexi-connectiondata'], - 'kexis' => ['application/x-kexiproject-shortcut'], - 'key' => ['application/vnd.apple.keynote', 'application/x-iwork-keynote-sffkey'], - 'kfo' => ['application/vnd.kde.kformula', 'application/x-kformula'], - 'kia' => ['application/vnd.kidspiration'], - 'kil' => ['application/x-killustrator'], - 'kino' => ['application/smil', 'application/smil+xml'], - 'kml' => ['application/vnd.google-earth.kml+xml'], - 'kmz' => ['application/vnd.google-earth.kmz'], - 'kne' => ['application/vnd.kinar'], - 'knp' => ['application/vnd.kinar'], - 'kon' => ['application/vnd.kde.kontour', 'application/x-kontour'], - 'kpm' => ['application/x-kpovmodeler'], - 'kpr' => ['application/vnd.kde.kpresenter', 'application/x-kpresenter'], - 'kpt' => ['application/vnd.kde.kpresenter', 'application/x-kpresenter'], - 'kpxx' => ['application/vnd.ds-keypoint'], - 'kra' => ['application/x-krita'], - 'ks' => ['application/x-java-keystore'], - 'ksp' => ['application/vnd.kde.kspread', 'application/x-kspread'], - 'ktr' => ['application/vnd.kahootz'], - 'ktx' => ['image/ktx'], - 'ktz' => ['application/vnd.kahootz'], - 'kud' => ['application/x-kugar'], - 'kwd' => ['application/vnd.kde.kword', 'application/x-kword'], - 'kwt' => ['application/vnd.kde.kword', 'application/x-kword'], - 'la' => ['application/x-shared-library-la'], - 'lasxml' => ['application/vnd.las.las+xml'], - 'latex' => ['application/x-latex', 'application/x-tex', 'text/x-tex'], - 'lbd' => ['application/vnd.llamagraphics.life-balance.desktop'], - 'lbe' => ['application/vnd.llamagraphics.life-balance.exchange+xml'], - 'lbm' => ['image/x-iff', 'image/x-ilbm'], - 'ldif' => ['text/x-ldif'], - 'les' => ['application/vnd.hhe.lesson-player'], - 'lha' => ['application/x-lha', 'application/x-lzh-compressed'], - 'lhs' => ['text/x-literate-haskell'], - 'lhz' => ['application/x-lhz'], - 'link66' => ['application/vnd.route66.link66+xml'], - 'list' => ['text/plain'], - 'list3820' => ['application/vnd.ibm.modcap'], - 'listafp' => ['application/vnd.ibm.modcap'], - 'lnk' => ['application/x-ms-shortcut'], - 'lnx' => ['application/x-atari-lynx-rom'], - 'loas' => ['audio/usac'], - 'log' => ['text/plain', 'text/x-log'], - 'lostxml' => ['application/lost+xml'], - 'lrf' => ['application/octet-stream'], - 'lrm' => ['application/vnd.ms-lrm'], - 'lrv' => ['video/mp4', 'video/mp4v-es', 'video/x-m4v'], - 'lrz' => ['application/x-lrzip'], - 'ltf' => ['application/vnd.frogans.ltf'], - 'ltx' => ['application/x-tex', 'text/x-tex'], - 'lua' => ['text/x-lua'], - 'lvp' => ['audio/vnd.lucent.voice'], - 'lwo' => ['image/x-lwo'], - 'lwob' => ['image/x-lwo'], - 'lwp' => ['application/vnd.lotus-wordpro'], - 'lws' => ['image/x-lws'], - 'ly' => ['text/x-lilypond'], - 'lyx' => ['application/x-lyx', 'text/x-lyx'], - 'lz' => ['application/x-lzip'], - 'lz4' => ['application/x-lz4'], - 'lzh' => ['application/x-lha', 'application/x-lzh-compressed'], - 'lzma' => ['application/x-lzma'], - 'lzo' => ['application/x-lzop'], - 'm' => ['text/x-matlab', 'text/x-objcsrc', 'text/x-octave'], - 'm13' => ['application/x-msmediaview'], - 'm14' => ['application/x-msmediaview'], - 'm15' => ['audio/x-mod'], - 'm1u' => ['video/vnd.mpegurl', 'video/x-mpegurl'], - 'm1v' => ['video/mpeg'], - 'm21' => ['application/mp21'], - 'm2a' => ['audio/mpeg'], - 'm2t' => ['video/mp2t'], - 'm2ts' => ['video/mp2t'], - 'm2v' => ['video/mpeg'], - 'm3a' => ['audio/mpeg'], - 'm3u' => ['audio/x-mpegurl', 'application/m3u', 'application/vnd.apple.mpegurl', 'audio/m3u', 'audio/mpegurl', 'audio/x-m3u', 'audio/x-mp3-playlist'], - 'm3u8' => ['application/m3u', 'application/vnd.apple.mpegurl', 'audio/m3u', 'audio/mpegurl', 'audio/x-m3u', 'audio/x-mp3-playlist', 'audio/x-mpegurl'], - 'm4' => ['application/x-m4'], - 'm4a' => ['audio/mp4', 'audio/m4a', 'audio/x-m4a'], - 'm4b' => ['audio/x-m4b'], - 'm4r' => ['audio/x-m4r'], - 'm4u' => ['video/vnd.mpegurl', 'video/x-mpegurl'], - 'm4v' => ['video/mp4', 'video/mp4v-es', 'video/x-m4v'], - 'm7' => ['application/x-thomson-cartridge-memo7'], - 'ma' => ['application/mathematica'], - 'mab' => ['application/x-markaby'], - 'mads' => ['application/mads+xml'], - 'mag' => ['application/vnd.ecowin.chart'], - 'mak' => ['text/x-makefile'], - 'maker' => ['application/vnd.framemaker'], - 'man' => ['application/x-troff-man', 'text/troff'], - 'manifest' => ['text/cache-manifest'], - 'mar' => ['application/octet-stream'], - 'markdown' => ['text/markdown', 'text/x-markdown'], - 'mathml' => ['application/mathml+xml'], - 'mb' => ['application/mathematica'], - 'mbk' => ['application/vnd.mobius.mbk'], - 'mbox' => ['application/mbox'], - 'mc1' => ['application/vnd.medcalcdata'], - 'mcd' => ['application/vnd.mcd'], - 'mcurl' => ['text/vnd.curl.mcurl'], - 'md' => ['text/markdown', 'text/x-markdown'], - 'mdb' => ['application/x-msaccess', 'application/mdb', 'application/msaccess', 'application/vnd.ms-access', 'application/vnd.msaccess', 'application/x-mdb', 'zz-application/zz-winassoc-mdb'], - 'mdi' => ['image/vnd.ms-modi'], - 'mdx' => ['application/x-genesis-32x-rom'], - 'me' => ['text/troff', 'text/x-troff-me'], - 'med' => ['audio/x-mod'], - 'mesh' => ['model/mesh'], - 'meta4' => ['application/metalink4+xml'], - 'metalink' => ['application/metalink+xml'], - 'mets' => ['application/mets+xml'], - 'mfm' => ['application/vnd.mfmp'], - 'mft' => ['application/rpki-manifest'], - 'mgp' => ['application/vnd.osgeo.mapguide.package', 'application/x-magicpoint'], - 'mgz' => ['application/vnd.proteus.magazine'], - 'mht' => ['application/x-mimearchive'], - 'mhtml' => ['application/x-mimearchive'], - 'mid' => ['audio/midi', 'audio/x-midi'], - 'midi' => ['audio/midi', 'audio/x-midi'], - 'mie' => ['application/x-mie'], - 'mif' => ['application/vnd.mif', 'application/x-mif'], - 'mime' => ['message/rfc822'], - 'minipsf' => ['audio/x-minipsf'], - 'mj2' => ['video/mj2'], - 'mjp2' => ['video/mj2'], - 'mjpeg' => ['video/x-mjpeg'], - 'mjpg' => ['video/x-mjpeg'], - 'mjs' => ['application/javascript', 'application/x-javascript', 'text/javascript'], - 'mk' => ['text/x-makefile'], - 'mk3d' => ['video/x-matroska', 'video/x-matroska-3d'], - 'mka' => ['audio/x-matroska'], - 'mkd' => ['text/markdown', 'text/x-markdown'], - 'mks' => ['video/x-matroska'], - 'mkv' => ['video/x-matroska'], - 'ml' => ['text/x-ocaml'], - 'mli' => ['text/x-ocaml'], - 'mlp' => ['application/vnd.dolby.mlp'], - 'mm' => ['text/x-troff-mm'], - 'mmd' => ['application/vnd.chipnuts.karaoke-mmd'], - 'mmf' => ['application/vnd.smaf', 'application/x-smaf'], - 'mml' => ['application/mathml+xml', 'text/mathml'], - 'mmr' => ['image/vnd.fujixerox.edmics-mmr'], - 'mng' => ['video/x-mng'], - 'mny' => ['application/x-msmoney'], - 'mo' => ['application/x-gettext-translation', 'text/x-modelica'], - 'mo3' => ['audio/x-mo3'], - 'mobi' => ['application/x-mobipocket-ebook'], - 'moc' => ['text/x-moc'], - 'mod' => ['audio/x-mod'], - 'mods' => ['application/mods+xml'], - 'mof' => ['text/x-mof'], - 'moov' => ['video/quicktime'], - 'mount' => ['text/x-systemd-unit'], - 'mov' => ['video/quicktime'], - 'movie' => ['video/x-sgi-movie'], - 'mp+' => ['audio/x-musepack'], - 'mp2' => ['audio/mp2', 'audio/mpeg', 'audio/x-mp2', 'video/mpeg', 'video/mpeg-system', 'video/x-mpeg', 'video/x-mpeg-system', 'video/x-mpeg2'], - 'mp21' => ['application/mp21'], - 'mp2a' => ['audio/mpeg'], - 'mp3' => ['audio/mpeg', 'audio/mp3', 'audio/x-mp3', 'audio/x-mpeg', 'audio/x-mpg'], - 'mp4' => ['video/mp4', 'video/mp4v-es', 'video/x-m4v'], - 'mp4a' => ['audio/mp4'], - 'mp4s' => ['application/mp4'], - 'mp4v' => ['video/mp4'], - 'mpc' => ['application/vnd.mophun.certificate', 'audio/x-musepack'], - 'mpe' => ['video/mpeg', 'video/mpeg-system', 'video/x-mpeg', 'video/x-mpeg-system', 'video/x-mpeg2'], - 'mpeg' => ['video/mpeg', 'video/mpeg-system', 'video/x-mpeg', 'video/x-mpeg-system', 'video/x-mpeg2'], - 'mpg' => ['video/mpeg', 'video/mpeg-system', 'video/x-mpeg', 'video/x-mpeg-system', 'video/x-mpeg2'], - 'mpg4' => ['video/mp4'], - 'mpga' => ['audio/mp3', 'audio/mpeg', 'audio/x-mp3', 'audio/x-mpeg', 'audio/x-mpg'], - 'mpkg' => ['application/vnd.apple.installer+xml'], - 'mpl' => ['video/mp2t'], - 'mpls' => ['video/mp2t'], - 'mpm' => ['application/vnd.blueice.multipass'], - 'mpn' => ['application/vnd.mophun.application'], - 'mpp' => ['application/vnd.ms-project', 'audio/x-musepack'], - 'mpt' => ['application/vnd.ms-project'], - 'mpy' => ['application/vnd.ibm.minipay'], - 'mqy' => ['application/vnd.mobius.mqy'], - 'mrc' => ['application/marc'], - 'mrcx' => ['application/marcxml+xml'], - 'mrl' => ['text/x-mrml'], - 'mrml' => ['text/x-mrml'], - 'mrw' => ['image/x-minolta-mrw'], - 'ms' => ['text/troff', 'text/x-troff-ms'], - 'mscml' => ['application/mediaservercontrol+xml'], - 'mseed' => ['application/vnd.fdsn.mseed'], - 'mseq' => ['application/vnd.mseq'], - 'msf' => ['application/vnd.epson.msf'], - 'msh' => ['model/mesh'], - 'msi' => ['application/x-msdownload', 'application/x-msi'], - 'msl' => ['application/vnd.mobius.msl'], - 'msod' => ['image/x-msod'], - 'msty' => ['application/vnd.muvee.style'], - 'msx' => ['application/x-msx-rom'], - 'mtm' => ['audio/x-mod'], - 'mts' => ['model/vnd.mts', 'video/mp2t'], - 'mup' => ['text/x-mup'], - 'mus' => ['application/vnd.musician'], - 'musicxml' => ['application/vnd.recordare.musicxml+xml'], - 'mvb' => ['application/x-msmediaview'], - 'mwf' => ['application/vnd.mfer'], - 'mxf' => ['application/mxf'], - 'mxl' => ['application/vnd.recordare.musicxml'], - 'mxml' => ['application/xv+xml'], - 'mxs' => ['application/vnd.triscape.mxs'], - 'mxu' => ['video/vnd.mpegurl', 'video/x-mpegurl'], - 'n-gage' => ['application/vnd.nokia.n-gage.symbian.install'], - 'n3' => ['text/n3'], - 'n64' => ['application/x-n64-rom'], - 'nb' => ['application/mathematica', 'application/x-mathematica'], - 'nbp' => ['application/vnd.wolfram.player'], - 'nc' => ['application/x-netcdf'], - 'ncx' => ['application/x-dtbncx+xml'], - 'nds' => ['application/x-nintendo-ds-rom'], - 'nef' => ['image/x-nikon-nef'], - 'nes' => ['application/x-nes-rom'], - 'nez' => ['application/x-nes-rom'], - 'nfo' => ['text/x-nfo'], - 'ngc' => ['application/x-neo-geo-pocket-color-rom'], - 'ngdat' => ['application/vnd.nokia.n-gage.data'], - 'ngp' => ['application/x-neo-geo-pocket-rom'], - 'nitf' => ['application/vnd.nitf'], - 'nlu' => ['application/vnd.neurolanguage.nlu'], - 'nml' => ['application/vnd.enliven'], - 'nnd' => ['application/vnd.noblenet-directory'], - 'nns' => ['application/vnd.noblenet-sealer'], - 'nnw' => ['application/vnd.noblenet-web'], - 'not' => ['text/x-mup'], - 'npx' => ['image/vnd.net-fpx'], - 'nsc' => ['application/x-conference', 'application/x-netshow-channel'], - 'nsf' => ['application/vnd.lotus-notes'], - 'nsv' => ['video/x-nsv'], - 'ntf' => ['application/vnd.nitf'], - 'nzb' => ['application/x-nzb'], - 'o' => ['application/x-object'], - 'oa2' => ['application/vnd.fujitsu.oasys2'], - 'oa3' => ['application/vnd.fujitsu.oasys3'], - 'oas' => ['application/vnd.fujitsu.oasys'], - 'obd' => ['application/x-msbinder'], - 'obj' => ['application/x-tgif'], - 'ocl' => ['text/x-ocl'], - 'oda' => ['application/oda'], - 'odb' => ['application/vnd.oasis.opendocument.database', 'application/vnd.sun.xml.base'], - 'odc' => ['application/vnd.oasis.opendocument.chart'], - 'odf' => ['application/vnd.oasis.opendocument.formula'], - 'odft' => ['application/vnd.oasis.opendocument.formula-template'], - 'odg' => ['application/vnd.oasis.opendocument.graphics'], - 'odi' => ['application/vnd.oasis.opendocument.image'], - 'odm' => ['application/vnd.oasis.opendocument.text-master'], - 'odp' => ['application/vnd.oasis.opendocument.presentation'], - 'ods' => ['application/vnd.oasis.opendocument.spreadsheet'], - 'odt' => ['application/vnd.oasis.opendocument.text'], - 'oga' => ['audio/ogg', 'audio/vorbis', 'audio/x-flac+ogg', 'audio/x-ogg', 'audio/x-oggflac', 'audio/x-speex+ogg', 'audio/x-vorbis', 'audio/x-vorbis+ogg'], - 'ogg' => ['audio/ogg', 'audio/vorbis', 'audio/x-flac+ogg', 'audio/x-ogg', 'audio/x-oggflac', 'audio/x-speex+ogg', 'audio/x-vorbis', 'audio/x-vorbis+ogg', 'video/ogg', 'video/x-ogg', 'video/x-theora', 'video/x-theora+ogg'], - 'ogm' => ['video/x-ogm', 'video/x-ogm+ogg'], - 'ogv' => ['video/ogg', 'video/x-ogg'], - 'ogx' => ['application/ogg', 'application/x-ogg'], - 'old' => ['application/x-trash'], - 'oleo' => ['application/x-oleo'], - 'omdoc' => ['application/omdoc+xml'], - 'onepkg' => ['application/onenote'], - 'onetmp' => ['application/onenote'], - 'onetoc' => ['application/onenote'], - 'onetoc2' => ['application/onenote'], - 'ooc' => ['text/x-ooc'], - 'opf' => ['application/oebps-package+xml'], - 'opml' => ['text/x-opml', 'text/x-opml+xml'], - 'oprc' => ['application/vnd.palm', 'application/x-palm-database'], - 'opus' => ['audio/ogg', 'audio/x-ogg', 'audio/x-opus+ogg'], - 'ora' => ['image/openraster'], - 'orf' => ['image/x-olympus-orf'], - 'org' => ['application/vnd.lotus-organizer'], - 'osf' => ['application/vnd.yamaha.openscoreformat'], - 'osfpvg' => ['application/vnd.yamaha.openscoreformat.osfpvg+xml'], - 'otc' => ['application/vnd.oasis.opendocument.chart-template'], - 'otf' => ['application/vnd.oasis.opendocument.formula-template', 'application/x-font-otf', 'font/otf'], - 'otg' => ['application/vnd.oasis.opendocument.graphics-template'], - 'oth' => ['application/vnd.oasis.opendocument.text-web'], - 'oti' => ['application/vnd.oasis.opendocument.image-template'], - 'otp' => ['application/vnd.oasis.opendocument.presentation-template'], - 'ots' => ['application/vnd.oasis.opendocument.spreadsheet-template'], - 'ott' => ['application/vnd.oasis.opendocument.text-template'], - 'owl' => ['application/rdf+xml', 'text/rdf'], - 'owx' => ['application/owl+xml'], - 'oxps' => ['application/oxps', 'application/vnd.ms-xpsdocument', 'application/xps'], - 'oxt' => ['application/vnd.openofficeorg.extension'], - 'p' => ['text/x-pascal'], - 'p10' => ['application/pkcs10'], - 'p12' => ['application/pkcs12', 'application/x-pkcs12'], - 'p65' => ['application/x-pagemaker'], - 'p7b' => ['application/x-pkcs7-certificates'], - 'p7c' => ['application/pkcs7-mime'], - 'p7m' => ['application/pkcs7-mime'], - 'p7r' => ['application/x-pkcs7-certreqresp'], - 'p7s' => ['application/pkcs7-signature'], - 'p8' => ['application/pkcs8'], - 'p8e' => ['application/pkcs8-encrypted'], - 'pack' => ['application/x-java-pack200'], - 'pak' => ['application/x-pak'], - 'par2' => ['application/x-par2'], - 'part' => ['application/x-partial-download'], - 'pas' => ['text/x-pascal'], - 'pat' => ['image/x-gimp-pat'], - 'patch' => ['text/x-diff', 'text/x-patch'], - 'path' => ['text/x-systemd-unit'], - 'paw' => ['application/vnd.pawaafile'], - 'pbd' => ['application/vnd.powerbuilder6'], - 'pbm' => ['image/x-portable-bitmap'], - 'pcap' => ['application/pcap', 'application/vnd.tcpdump.pcap', 'application/x-pcap'], - 'pcd' => ['image/x-photo-cd'], - 'pce' => ['application/x-pc-engine-rom'], - 'pcf' => ['application/x-cisco-vpn-settings', 'application/x-font-pcf'], - 'pcf.Z' => ['application/x-font-pcf'], - 'pcf.gz' => ['application/x-font-pcf'], - 'pcl' => ['application/vnd.hp-pcl'], - 'pclxl' => ['application/vnd.hp-pclxl'], - 'pct' => ['image/x-pict'], - 'pcurl' => ['application/vnd.curl.pcurl'], - 'pcx' => ['image/vnd.zbrush.pcx', 'image/x-pcx'], - 'pdb' => ['application/vnd.palm', 'application/x-aportisdoc', 'application/x-palm-database'], - 'pdc' => ['application/x-aportisdoc'], - 'pdf' => ['application/pdf', 'application/acrobat', 'application/nappdf', 'application/x-pdf', 'image/pdf'], - 'pdf.bz2' => ['application/x-bzpdf'], - 'pdf.gz' => ['application/x-gzpdf'], - 'pdf.lz' => ['application/x-lzpdf'], - 'pdf.xz' => ['application/x-xzpdf'], - 'pef' => ['image/x-pentax-pef'], - 'pem' => ['application/x-x509-ca-cert'], - 'perl' => ['application/x-perl', 'text/x-perl'], - 'pfa' => ['application/x-font-type1'], - 'pfb' => ['application/x-font-type1'], - 'pfm' => ['application/x-font-type1'], - 'pfr' => ['application/font-tdpfr'], - 'pfx' => ['application/pkcs12', 'application/x-pkcs12'], - 'pgm' => ['image/x-portable-graymap'], - 'pgn' => ['application/vnd.chess-pgn', 'application/x-chess-pgn'], - 'pgp' => ['application/pgp', 'application/pgp-encrypted', 'application/pgp-keys', 'application/pgp-signature'], - 'php' => ['application/x-php'], - 'php3' => ['application/x-php'], - 'php4' => ['application/x-php'], - 'php5' => ['application/x-php'], - 'phps' => ['application/x-php'], - 'pic' => ['image/x-pict'], - 'pict' => ['image/x-pict'], - 'pict1' => ['image/x-pict'], - 'pict2' => ['image/x-pict'], - 'pk' => ['application/x-tex-pk'], - 'pkg' => ['application/octet-stream', 'application/x-xar'], - 'pki' => ['application/pkixcmp'], - 'pkipath' => ['application/pkix-pkipath'], - 'pkr' => ['application/pgp-keys'], - 'pl' => ['application/x-perl', 'text/x-perl'], - 'pla' => ['audio/x-iriver-pla'], - 'plb' => ['application/vnd.3gpp.pic-bw-large'], - 'plc' => ['application/vnd.mobius.plc'], - 'plf' => ['application/vnd.pocketlearn'], - 'pln' => ['application/x-planperfect'], - 'pls' => ['application/pls', 'application/pls+xml', 'audio/scpls', 'audio/x-scpls'], - 'pm' => ['application/x-pagemaker', 'application/x-perl', 'text/x-perl'], - 'pm6' => ['application/x-pagemaker'], - 'pmd' => ['application/x-pagemaker'], - 'pml' => ['application/vnd.ctc-posml'], - 'png' => ['image/png'], - 'pnm' => ['image/x-portable-anymap'], - 'pntg' => ['image/x-macpaint'], - 'po' => ['application/x-gettext', 'text/x-gettext-translation', 'text/x-po'], - 'pod' => ['application/x-perl', 'text/x-perl'], - 'por' => ['application/x-spss-por'], - 'portpkg' => ['application/vnd.macports.portpkg'], - 'pot' => ['application/mspowerpoint', 'application/powerpoint', 'application/vnd.ms-powerpoint', 'application/x-mspowerpoint', 'text/x-gettext-translation-template', 'text/x-pot'], - 'potm' => ['application/vnd.ms-powerpoint.template.macroenabled.12'], - 'potx' => ['application/vnd.openxmlformats-officedocument.presentationml.template'], - 'ppam' => ['application/vnd.ms-powerpoint.addin.macroenabled.12'], - 'ppd' => ['application/vnd.cups-ppd'], - 'ppm' => ['image/x-portable-pixmap'], - 'pps' => ['application/mspowerpoint', 'application/powerpoint', 'application/vnd.ms-powerpoint', 'application/x-mspowerpoint'], - 'ppsm' => ['application/vnd.ms-powerpoint.slideshow.macroenabled.12'], - 'ppsx' => ['application/vnd.openxmlformats-officedocument.presentationml.slideshow'], - 'ppt' => ['application/vnd.ms-powerpoint', 'application/mspowerpoint', 'application/powerpoint', 'application/x-mspowerpoint'], - 'pptm' => ['application/vnd.ms-powerpoint.presentation.macroenabled.12'], - 'pptx' => ['application/vnd.openxmlformats-officedocument.presentationml.presentation'], - 'ppz' => ['application/mspowerpoint', 'application/powerpoint', 'application/vnd.ms-powerpoint', 'application/x-mspowerpoint'], - 'pqa' => ['application/vnd.palm', 'application/x-palm-database'], - 'prc' => ['application/vnd.palm', 'application/x-mobipocket-ebook', 'application/x-palm-database'], - 'pre' => ['application/vnd.lotus-freelance'], - 'prf' => ['application/pics-rules'], - 'ps' => ['application/postscript'], - 'ps.bz2' => ['application/x-bzpostscript'], - 'ps.gz' => ['application/x-gzpostscript'], - 'psb' => ['application/vnd.3gpp.pic-bw-small'], - 'psd' => ['application/photoshop', 'application/x-photoshop', 'image/photoshop', 'image/psd', 'image/vnd.adobe.photoshop', 'image/x-photoshop', 'image/x-psd'], - 'psf' => ['application/x-font-linux-psf', 'audio/x-psf'], - 'psf.gz' => ['application/x-gz-font-linux-psf'], - 'psflib' => ['audio/x-psflib'], - 'psid' => ['audio/prs.sid'], - 'pskcxml' => ['application/pskc+xml'], - 'psw' => ['application/x-pocket-word'], - 'ptid' => ['application/vnd.pvi.ptid1'], - 'pub' => ['application/vnd.ms-publisher', 'application/x-mspublisher'], - 'pvb' => ['application/vnd.3gpp.pic-bw-var'], - 'pw' => ['application/x-pw'], - 'pwn' => ['application/vnd.3m.post-it-notes'], - 'py' => ['text/x-python', 'text/x-python3'], - 'py3' => ['text/x-python3'], - 'py3x' => ['text/x-python3'], - 'pya' => ['audio/vnd.ms-playready.media.pya'], - 'pyc' => ['application/x-python-bytecode'], - 'pyo' => ['application/x-python-bytecode'], - 'pyv' => ['video/vnd.ms-playready.media.pyv'], - 'pyx' => ['text/x-python'], - 'qam' => ['application/vnd.epson.quickanime'], - 'qbo' => ['application/vnd.intu.qbo'], - 'qd' => ['application/x-fd-file', 'application/x-raw-floppy-disk-image'], - 'qfx' => ['application/vnd.intu.qfx'], - 'qif' => ['application/x-qw', 'image/x-quicktime'], - 'qml' => ['text/x-qml'], - 'qmlproject' => ['text/x-qml'], - 'qmltypes' => ['text/x-qml'], - 'qp' => ['application/x-qpress'], - 'qps' => ['application/vnd.publishare-delta-tree'], - 'qt' => ['video/quicktime'], - 'qti' => ['application/x-qtiplot'], - 'qti.gz' => ['application/x-qtiplot'], - 'qtif' => ['image/x-quicktime'], - 'qtl' => ['application/x-quicktime-media-link', 'application/x-quicktimeplayer'], - 'qtvr' => ['video/quicktime'], - 'qwd' => ['application/vnd.quark.quarkxpress'], - 'qwt' => ['application/vnd.quark.quarkxpress'], - 'qxb' => ['application/vnd.quark.quarkxpress'], - 'qxd' => ['application/vnd.quark.quarkxpress'], - 'qxl' => ['application/vnd.quark.quarkxpress'], - 'qxt' => ['application/vnd.quark.quarkxpress'], - 'ra' => ['audio/vnd.m-realaudio', 'audio/vnd.rn-realaudio', 'audio/x-pn-realaudio'], - 'raf' => ['image/x-fuji-raf'], - 'ram' => ['application/ram', 'audio/x-pn-realaudio'], - 'raml' => ['application/raml+yaml'], - 'rar' => ['application/x-rar-compressed', 'application/vnd.rar', 'application/x-rar'], - 'ras' => ['image/x-cmu-raster'], - 'raw' => ['image/x-panasonic-raw', 'image/x-panasonic-rw'], - 'raw-disk-image' => ['application/x-raw-disk-image'], - 'raw-disk-image.xz' => ['application/x-raw-disk-image-xz-compressed'], - 'rax' => ['audio/vnd.m-realaudio', 'audio/vnd.rn-realaudio', 'audio/x-pn-realaudio'], - 'rb' => ['application/x-ruby'], - 'rcprofile' => ['application/vnd.ipunplugged.rcprofile'], - 'rdf' => ['application/rdf+xml', 'text/rdf'], - 'rdfs' => ['application/rdf+xml', 'text/rdf'], - 'rdz' => ['application/vnd.data-vision.rdz'], - 'reg' => ['text/x-ms-regedit'], - 'rej' => ['application/x-reject', 'text/x-reject'], - 'rep' => ['application/vnd.businessobjects'], - 'res' => ['application/x-dtbresource+xml'], - 'rgb' => ['image/x-rgb'], - 'rif' => ['application/reginfo+xml'], - 'rip' => ['audio/vnd.rip'], - 'ris' => ['application/x-research-info-systems'], - 'rl' => ['application/resource-lists+xml'], - 'rlc' => ['image/vnd.fujixerox.edmics-rlc'], - 'rld' => ['application/resource-lists-diff+xml'], - 'rle' => ['image/rle'], - 'rm' => ['application/vnd.rn-realmedia', 'application/vnd.rn-realmedia-vbr'], - 'rmi' => ['audio/midi'], - 'rmj' => ['application/vnd.rn-realmedia', 'application/vnd.rn-realmedia-vbr'], - 'rmm' => ['application/vnd.rn-realmedia', 'application/vnd.rn-realmedia-vbr'], - 'rmp' => ['audio/x-pn-realaudio-plugin'], - 'rms' => ['application/vnd.jcp.javame.midlet-rms', 'application/vnd.rn-realmedia', 'application/vnd.rn-realmedia-vbr'], - 'rmvb' => ['application/vnd.rn-realmedia', 'application/vnd.rn-realmedia-vbr'], - 'rmx' => ['application/vnd.rn-realmedia', 'application/vnd.rn-realmedia-vbr'], - 'rnc' => ['application/relax-ng-compact-syntax', 'application/x-rnc'], - 'rng' => ['application/xml', 'text/xml'], - 'roa' => ['application/rpki-roa'], - 'roff' => ['application/x-troff', 'text/troff', 'text/x-troff'], - 'rp' => ['image/vnd.rn-realpix'], - 'rp9' => ['application/vnd.cloanto.rp9'], - 'rpm' => ['application/x-redhat-package-manager', 'application/x-rpm'], - 'rpss' => ['application/vnd.nokia.radio-presets'], - 'rpst' => ['application/vnd.nokia.radio-preset'], - 'rq' => ['application/sparql-query'], - 'rs' => ['application/rls-services+xml', 'text/rust'], - 'rsd' => ['application/rsd+xml'], - 'rss' => ['application/rss+xml', 'text/rss'], - 'rt' => ['text/vnd.rn-realtext'], - 'rtf' => ['application/rtf', 'text/rtf'], - 'rtx' => ['text/richtext'], - 'rv' => ['video/vnd.rn-realvideo', 'video/x-real-video'], - 'rvx' => ['video/vnd.rn-realvideo', 'video/x-real-video'], - 'rw2' => ['image/x-panasonic-raw2', 'image/x-panasonic-rw2'], - 's' => ['text/x-asm'], - 's3m' => ['audio/s3m', 'audio/x-s3m'], - 'saf' => ['application/vnd.yamaha.smaf-audio'], - 'sam' => ['application/x-amipro'], - 'sami' => ['application/x-sami'], - 'sap' => ['application/x-sap-file', 'application/x-thomson-sap-image'], - 'sass' => ['text/x-sass'], - 'sav' => ['application/x-spss-sav', 'application/x-spss-savefile'], - 'sbml' => ['application/sbml+xml'], - 'sc' => ['application/vnd.ibm.secure-container'], - 'scala' => ['text/x-scala'], - 'scd' => ['application/x-msschedule'], - 'scm' => ['application/vnd.lotus-screencam', 'text/x-scheme'], - 'scope' => ['text/x-systemd-unit'], - 'scq' => ['application/scvp-cv-request'], - 'scs' => ['application/scvp-cv-response'], - 'scss' => ['text/x-scss'], - 'scurl' => ['text/vnd.curl.scurl'], - 'sda' => ['application/vnd.stardivision.draw'], - 'sdc' => ['application/vnd.stardivision.calc'], - 'sdd' => ['application/vnd.stardivision.impress'], - 'sdkd' => ['application/vnd.solent.sdkm+xml'], - 'sdkm' => ['application/vnd.solent.sdkm+xml'], - 'sdp' => ['application/sdp', 'application/vnd.sdp', 'application/vnd.stardivision.impress', 'application/x-sdp'], - 'sds' => ['application/vnd.stardivision.chart'], - 'sdw' => ['application/vnd.stardivision.writer', 'application/vnd.stardivision.writer-global'], - 'see' => ['application/vnd.seemail'], - 'seed' => ['application/vnd.fdsn.seed'], - 'sema' => ['application/vnd.sema'], - 'semd' => ['application/vnd.semd'], - 'semf' => ['application/vnd.semf'], - 'ser' => ['application/java-serialized-object'], - 'service' => ['text/x-dbus-service', 'text/x-systemd-unit'], - 'setpay' => ['application/set-payment-initiation'], - 'setreg' => ['application/set-registration-initiation'], - 'sfc' => ['application/vnd.nintendo.snes.rom', 'application/x-snes-rom'], - 'sfd-hdstx' => ['application/vnd.hydrostatix.sof-data'], - 'sfs' => ['application/vnd.spotfire.sfs'], - 'sfv' => ['text/x-sfv'], - 'sg' => ['application/x-sg1000-rom'], - 'sgb' => ['application/x-gameboy-rom'], - 'sgf' => ['application/x-go-sgf'], - 'sgi' => ['image/sgi', 'image/x-sgi'], - 'sgl' => ['application/vnd.stardivision.writer', 'application/vnd.stardivision.writer-global'], - 'sgm' => ['text/sgml'], - 'sgml' => ['text/sgml'], - 'sh' => ['application/x-sh', 'application/x-shellscript', 'text/x-sh'], - 'shape' => ['application/x-dia-shape'], - 'shar' => ['application/x-shar'], - 'shf' => ['application/shf+xml'], - 'shn' => ['application/x-shorten', 'audio/x-shorten'], - 'siag' => ['application/x-siag'], - 'sid' => ['audio/prs.sid', 'image/x-mrsid-image'], - 'sig' => ['application/pgp-signature'], - 'sik' => ['application/x-trash'], - 'sil' => ['audio/silk'], - 'silo' => ['model/mesh'], - 'sis' => ['application/vnd.symbian.install'], - 'sisx' => ['application/vnd.symbian.install', 'x-epoc/x-sisx-app'], - 'sit' => ['application/x-stuffit', 'application/stuffit', 'application/x-sit'], - 'sitx' => ['application/x-stuffitx'], - 'siv' => ['application/sieve'], - 'sk' => ['image/x-skencil'], - 'sk1' => ['image/x-skencil'], - 'skd' => ['application/vnd.koan'], - 'skm' => ['application/vnd.koan'], - 'skp' => ['application/vnd.koan'], - 'skr' => ['application/pgp-keys'], - 'skt' => ['application/vnd.koan'], - 'sldm' => ['application/vnd.ms-powerpoint.slide.macroenabled.12'], - 'sldx' => ['application/vnd.openxmlformats-officedocument.presentationml.slide'], - 'slice' => ['text/x-systemd-unit'], - 'slk' => ['text/spreadsheet'], - 'slt' => ['application/vnd.epson.salt'], - 'sm' => ['application/vnd.stepmania.stepchart'], - 'smaf' => ['application/vnd.smaf', 'application/x-smaf'], - 'smc' => ['application/vnd.nintendo.snes.rom', 'application/x-snes-rom'], - 'smd' => ['application/vnd.stardivision.mail', 'application/x-genesis-rom'], - 'smf' => ['application/vnd.stardivision.math'], - 'smi' => ['application/smil', 'application/smil+xml', 'application/x-sami'], - 'smil' => ['application/smil', 'application/smil+xml'], - 'sml' => ['application/smil', 'application/smil+xml'], - 'sms' => ['application/x-sms-rom'], - 'smv' => ['video/x-smv'], - 'smzip' => ['application/vnd.stepmania.package'], - 'snap' => ['application/vnd.snap'], - 'snd' => ['audio/basic'], - 'snf' => ['application/x-font-snf'], - 'so' => ['application/octet-stream', 'application/x-sharedlib'], - 'socket' => ['text/x-systemd-unit'], - 'spc' => ['application/x-pkcs7-certificates'], - 'spd' => ['application/x-font-speedo'], - 'spec' => ['text/x-rpm-spec'], - 'spf' => ['application/vnd.yamaha.smaf-phrase'], - 'spl' => ['application/futuresplash', 'application/vnd.adobe.flash.movie', 'application/x-futuresplash', 'application/x-shockwave-flash'], - 'spm' => ['application/x-source-rpm'], - 'spot' => ['text/vnd.in3d.spot'], - 'spp' => ['application/scvp-vp-response'], - 'spq' => ['application/scvp-vp-request'], - 'spx' => ['audio/ogg', 'audio/x-speex'], - 'sql' => ['application/sql', 'application/x-sql', 'text/x-sql'], - 'sqlite2' => ['application/x-sqlite2'], - 'sqlite3' => ['application/vnd.sqlite3', 'application/x-sqlite3'], - 'sqsh' => ['application/vnd.squashfs'], - 'sr2' => ['image/x-sony-sr2'], - 'src' => ['application/x-wais-source'], - 'src.rpm' => ['application/x-source-rpm'], - 'srf' => ['image/x-sony-srf'], - 'srt' => ['application/x-srt', 'application/x-subrip'], - 'sru' => ['application/sru+xml'], - 'srx' => ['application/sparql-results+xml'], - 'ss' => ['text/x-scheme'], - 'ssa' => ['text/x-ssa'], - 'ssdl' => ['application/ssdl+xml'], - 'sse' => ['application/vnd.kodak-descriptor'], - 'ssf' => ['application/vnd.epson.ssf'], - 'ssml' => ['application/ssml+xml'], - 'st' => ['application/vnd.sailingtracker.track'], - 'stc' => ['application/vnd.sun.xml.calc.template'], - 'std' => ['application/vnd.sun.xml.draw.template'], - 'stf' => ['application/vnd.wt.stf'], - 'sti' => ['application/vnd.sun.xml.impress.template'], - 'stk' => ['application/hyperstudio'], - 'stl' => ['application/vnd.ms-pki.stl', 'model/stl', 'model/x.stl-ascii', 'model/x.stl-binary'], - 'stm' => ['audio/x-stm'], - 'str' => ['application/vnd.pg.format'], - 'stw' => ['application/vnd.sun.xml.writer.template'], - 'sty' => ['application/x-tex', 'text/x-tex'], - 'sub' => ['image/vnd.dvb.subtitle', 'text/vnd.dvb.subtitle', 'text/x-microdvd', 'text/x-mpsub', 'text/x-subviewer'], - 'sun' => ['image/x-sun-raster'], - 'sus' => ['application/vnd.sus-calendar'], - 'susp' => ['application/vnd.sus-calendar'], - 'sv' => ['text/x-svsrc'], - 'sv4cpio' => ['application/x-sv4cpio'], - 'sv4crc' => ['application/x-sv4crc'], - 'svc' => ['application/vnd.dvb.service'], - 'svd' => ['application/vnd.svd'], - 'svg' => ['image/svg+xml', 'image/svg'], - 'svgz' => ['image/svg+xml', 'image/svg+xml-compressed'], - 'svh' => ['text/x-svhdr'], - 'swa' => ['application/x-director'], - 'swap' => ['text/x-systemd-unit'], - 'swf' => ['application/futuresplash', 'application/vnd.adobe.flash.movie', 'application/x-shockwave-flash'], - 'swi' => ['application/vnd.aristanetworks.swi'], - 'swm' => ['application/x-ms-wim'], - 'sxc' => ['application/vnd.sun.xml.calc'], - 'sxd' => ['application/vnd.sun.xml.draw'], - 'sxg' => ['application/vnd.sun.xml.writer.global'], - 'sxi' => ['application/vnd.sun.xml.impress'], - 'sxm' => ['application/vnd.sun.xml.math'], - 'sxw' => ['application/vnd.sun.xml.writer'], - 'sylk' => ['text/spreadsheet'], - 't' => ['application/x-perl', 'application/x-troff', 'text/troff', 'text/x-perl', 'text/x-troff'], - 't2t' => ['text/x-txt2tags'], - 't3' => ['application/x-t3vm-image'], - 'taglet' => ['application/vnd.mynfc'], - 'tao' => ['application/vnd.tao.intent-module-archive'], - 'tar' => ['application/x-tar', 'application/x-gtar'], - 'tar.Z' => ['application/x-tarz'], - 'tar.bz' => ['application/x-bzip-compressed-tar'], - 'tar.bz2' => ['application/x-bzip-compressed-tar'], - 'tar.gz' => ['application/x-compressed-tar'], - 'tar.lrz' => ['application/x-lrzip-compressed-tar'], - 'tar.lz' => ['application/x-lzip-compressed-tar'], - 'tar.lz4' => ['application/x-lz4-compressed-tar'], - 'tar.lzma' => ['application/x-lzma-compressed-tar'], - 'tar.lzo' => ['application/x-tzo'], - 'tar.xz' => ['application/x-xz-compressed-tar'], - 'target' => ['text/x-systemd-unit'], - 'taz' => ['application/x-tarz'], - 'tb2' => ['application/x-bzip-compressed-tar'], - 'tbz' => ['application/x-bzip-compressed-tar'], - 'tbz2' => ['application/x-bzip-compressed-tar'], - 'tcap' => ['application/vnd.3gpp2.tcap'], - 'tcl' => ['application/x-tcl', 'text/x-tcl'], - 'teacher' => ['application/vnd.smart.teacher'], - 'tei' => ['application/tei+xml'], - 'teicorpus' => ['application/tei+xml'], - 'tex' => ['application/x-tex', 'text/x-tex'], - 'texi' => ['application/x-texinfo', 'text/x-texinfo'], - 'texinfo' => ['application/x-texinfo', 'text/x-texinfo'], - 'text' => ['text/plain'], - 'tfi' => ['application/thraud+xml'], - 'tfm' => ['application/x-tex-tfm'], - 'tga' => ['image/x-icb', 'image/x-tga'], - 'tgz' => ['application/x-compressed-tar'], - 'theme' => ['application/x-theme'], - 'themepack' => ['application/x-windows-themepack'], - 'thmx' => ['application/vnd.ms-officetheme'], - 'tif' => ['image/tiff'], - 'tiff' => ['image/tiff'], - 'timer' => ['text/x-systemd-unit'], - 'tk' => ['text/x-tcl'], - 'tlrz' => ['application/x-lrzip-compressed-tar'], - 'tlz' => ['application/x-lzma-compressed-tar'], - 'tmo' => ['application/vnd.tmobile-livetv'], - 'tnef' => ['application/ms-tnef', 'application/vnd.ms-tnef'], - 'tnf' => ['application/ms-tnef', 'application/vnd.ms-tnef'], - 'toc' => ['application/x-cdrdao-toc'], - 'torrent' => ['application/x-bittorrent'], - 'tpic' => ['image/x-icb', 'image/x-tga'], - 'tpl' => ['application/vnd.groove-tool-template'], - 'tpt' => ['application/vnd.trid.tpt'], - 'tr' => ['application/x-troff', 'text/troff', 'text/x-troff'], - 'tra' => ['application/vnd.trueapp'], - 'trig' => ['application/trig', 'application/x-trig'], - 'trm' => ['application/x-msterminal'], - 'ts' => ['application/x-linguist', 'text/vnd.qt.linguist', 'text/vnd.trolltech.linguist', 'video/mp2t'], - 'tsd' => ['application/timestamped-data'], - 'tsv' => ['text/tab-separated-values'], - 'tta' => ['audio/tta', 'audio/x-tta'], - 'ttc' => ['font/collection'], - 'ttf' => ['application/x-font-truetype', 'application/x-font-ttf', 'font/ttf'], - 'ttl' => ['text/turtle'], - 'ttx' => ['application/x-font-ttx'], - 'twd' => ['application/vnd.simtech-mindmapper'], - 'twds' => ['application/vnd.simtech-mindmapper'], - 'twig' => ['text/x-twig'], - 'txd' => ['application/vnd.genomatix.tuxedo'], - 'txf' => ['application/vnd.mobius.txf'], - 'txt' => ['text/plain'], - 'txz' => ['application/x-xz-compressed-tar'], - 'tzo' => ['application/x-tzo'], - 'u32' => ['application/x-authorware-bin'], - 'udeb' => ['application/vnd.debian.binary-package', 'application/x-deb', 'application/x-debian-package'], - 'ufd' => ['application/vnd.ufdl'], - 'ufdl' => ['application/vnd.ufdl'], - 'ufraw' => ['application/x-ufraw'], - 'ui' => ['application/x-designer', 'application/x-gtk-builder'], - 'uil' => ['text/x-uil'], - 'ult' => ['audio/x-mod'], - 'ulx' => ['application/x-glulx'], - 'umj' => ['application/vnd.umajin'], - 'unf' => ['application/x-nes-rom'], - 'uni' => ['audio/x-mod'], - 'unif' => ['application/x-nes-rom'], - 'unityweb' => ['application/vnd.unity'], - 'uoml' => ['application/vnd.uoml+xml'], - 'uri' => ['text/uri-list'], - 'uris' => ['text/uri-list'], - 'url' => ['application/x-mswinurl'], - 'urls' => ['text/uri-list'], - 'ustar' => ['application/x-ustar'], - 'utz' => ['application/vnd.uiq.theme'], - 'uu' => ['text/x-uuencode'], - 'uue' => ['text/x-uuencode', 'zz-application/zz-winassoc-uu'], - 'uva' => ['audio/vnd.dece.audio'], - 'uvd' => ['application/vnd.dece.data'], - 'uvf' => ['application/vnd.dece.data'], - 'uvg' => ['image/vnd.dece.graphic'], - 'uvh' => ['video/vnd.dece.hd'], - 'uvi' => ['image/vnd.dece.graphic'], - 'uvm' => ['video/vnd.dece.mobile'], - 'uvp' => ['video/vnd.dece.pd'], - 'uvs' => ['video/vnd.dece.sd'], - 'uvt' => ['application/vnd.dece.ttml+xml'], - 'uvu' => ['video/vnd.uvvu.mp4'], - 'uvv' => ['video/vnd.dece.video'], - 'uvva' => ['audio/vnd.dece.audio'], - 'uvvd' => ['application/vnd.dece.data'], - 'uvvf' => ['application/vnd.dece.data'], - 'uvvg' => ['image/vnd.dece.graphic'], - 'uvvh' => ['video/vnd.dece.hd'], - 'uvvi' => ['image/vnd.dece.graphic'], - 'uvvm' => ['video/vnd.dece.mobile'], - 'uvvp' => ['video/vnd.dece.pd'], - 'uvvs' => ['video/vnd.dece.sd'], - 'uvvt' => ['application/vnd.dece.ttml+xml'], - 'uvvu' => ['video/vnd.uvvu.mp4'], - 'uvvv' => ['video/vnd.dece.video'], - 'uvvx' => ['application/vnd.dece.unspecified'], - 'uvvz' => ['application/vnd.dece.zip'], - 'uvx' => ['application/vnd.dece.unspecified'], - 'uvz' => ['application/vnd.dece.zip'], - 'v' => ['text/x-verilog'], - 'v64' => ['application/x-n64-rom'], - 'vala' => ['text/x-vala'], - 'vapi' => ['text/x-vala'], - 'vb' => ['application/x-virtual-boy-rom'], - 'vcard' => ['text/directory', 'text/vcard', 'text/x-vcard'], - 'vcd' => ['application/x-cdlink'], - 'vcf' => ['text/x-vcard', 'text/directory', 'text/vcard'], - 'vcg' => ['application/vnd.groove-vcard'], - 'vcs' => ['application/ics', 'text/calendar', 'text/x-vcalendar'], - 'vct' => ['text/directory', 'text/vcard', 'text/x-vcard'], - 'vcx' => ['application/vnd.vcx'], - 'vda' => ['image/x-icb', 'image/x-tga'], - 'vhd' => ['text/x-vhdl'], - 'vhdl' => ['text/x-vhdl'], - 'vis' => ['application/vnd.visionary'], - 'viv' => ['video/vivo', 'video/vnd.vivo'], - 'vivo' => ['video/vivo', 'video/vnd.vivo'], - 'vlc' => ['application/m3u', 'audio/m3u', 'audio/mpegurl', 'audio/x-m3u', 'audio/x-mp3-playlist', 'audio/x-mpegurl'], - 'vob' => ['video/mpeg', 'video/mpeg-system', 'video/x-mpeg', 'video/x-mpeg-system', 'video/x-mpeg2', 'video/x-ms-vob'], - 'voc' => ['audio/x-voc'], - 'vor' => ['application/vnd.stardivision.writer', 'application/vnd.stardivision.writer-global'], - 'vox' => ['application/x-authorware-bin'], - 'vrm' => ['model/vrml'], - 'vrml' => ['model/vrml'], - 'vsd' => ['application/vnd.visio'], - 'vsdm' => ['application/vnd.ms-visio.drawing.macroenabled.main+xml'], - 'vsdx' => ['application/vnd.ms-visio.drawing.main+xml'], - 'vsf' => ['application/vnd.vsf'], - 'vss' => ['application/vnd.visio'], - 'vssm' => ['application/vnd.ms-visio.stencil.macroenabled.main+xml'], - 'vssx' => ['application/vnd.ms-visio.stencil.main+xml'], - 'vst' => ['application/vnd.visio', 'image/x-icb', 'image/x-tga'], - 'vstm' => ['application/vnd.ms-visio.template.macroenabled.main+xml'], - 'vstx' => ['application/vnd.ms-visio.template.main+xml'], - 'vsw' => ['application/vnd.visio'], - 'vtt' => ['text/vtt'], - 'vtu' => ['model/vnd.vtu'], - 'vxml' => ['application/voicexml+xml'], - 'w3d' => ['application/x-director'], - 'wad' => ['application/x-doom', 'application/x-doom-wad', 'application/x-wii-wad'], - 'wav' => ['audio/wav', 'audio/vnd.wave', 'audio/x-wav'], - 'wax' => ['application/x-ms-asx', 'audio/x-ms-asx', 'audio/x-ms-wax', 'video/x-ms-wax', 'video/x-ms-wmx', 'video/x-ms-wvx'], - 'wb1' => ['application/x-quattropro'], - 'wb2' => ['application/x-quattropro'], - 'wb3' => ['application/x-quattropro'], - 'wbmp' => ['image/vnd.wap.wbmp'], - 'wbs' => ['application/vnd.criticaltools.wbs+xml'], - 'wbxml' => ['application/vnd.wap.wbxml'], - 'wcm' => ['application/vnd.ms-works'], - 'wdb' => ['application/vnd.ms-works'], - 'wdp' => ['image/vnd.ms-photo'], - 'weba' => ['audio/webm'], - 'webm' => ['video/webm'], - 'webp' => ['image/webp'], - 'wg' => ['application/vnd.pmi.widget'], - 'wgt' => ['application/widget'], - 'wim' => ['application/x-ms-wim'], - 'wk1' => ['application/lotus123', 'application/vnd.lotus-1-2-3', 'application/wk1', 'application/x-123', 'application/x-lotus123', 'zz-application/zz-winassoc-123'], - 'wk3' => ['application/lotus123', 'application/vnd.lotus-1-2-3', 'application/wk1', 'application/x-123', 'application/x-lotus123', 'zz-application/zz-winassoc-123'], - 'wk4' => ['application/lotus123', 'application/vnd.lotus-1-2-3', 'application/wk1', 'application/x-123', 'application/x-lotus123', 'zz-application/zz-winassoc-123'], - 'wkdownload' => ['application/x-partial-download'], - 'wks' => ['application/lotus123', 'application/vnd.lotus-1-2-3', 'application/vnd.ms-works', 'application/wk1', 'application/x-123', 'application/x-lotus123', 'zz-application/zz-winassoc-123'], - 'wm' => ['video/x-ms-wm'], - 'wma' => ['audio/x-ms-wma', 'audio/wma'], - 'wmd' => ['application/x-ms-wmd'], - 'wmf' => ['application/wmf', 'application/x-msmetafile', 'application/x-wmf', 'image/wmf', 'image/x-win-metafile', 'image/x-wmf'], - 'wml' => ['text/vnd.wap.wml'], - 'wmlc' => ['application/vnd.wap.wmlc'], - 'wmls' => ['text/vnd.wap.wmlscript'], - 'wmlsc' => ['application/vnd.wap.wmlscriptc'], - 'wmv' => ['audio/x-ms-wmv', 'video/x-ms-wmv'], - 'wmx' => ['application/x-ms-asx', 'audio/x-ms-asx', 'video/x-ms-wax', 'video/x-ms-wmx', 'video/x-ms-wvx'], - 'wmz' => ['application/x-ms-wmz', 'application/x-msmetafile'], - 'woff' => ['application/font-woff', 'application/x-font-woff', 'font/woff'], - 'woff2' => ['font/woff', 'font/woff2'], - 'wp' => ['application/vnd.wordperfect', 'application/wordperfect', 'application/x-wordperfect'], - 'wp4' => ['application/vnd.wordperfect', 'application/wordperfect', 'application/x-wordperfect'], - 'wp5' => ['application/vnd.wordperfect', 'application/wordperfect', 'application/x-wordperfect'], - 'wp6' => ['application/vnd.wordperfect', 'application/wordperfect', 'application/x-wordperfect'], - 'wpd' => ['application/vnd.wordperfect', 'application/wordperfect', 'application/x-wordperfect'], - 'wpg' => ['application/x-wpg'], - 'wpl' => ['application/vnd.ms-wpl'], - 'wpp' => ['application/vnd.wordperfect', 'application/wordperfect', 'application/x-wordperfect'], - 'wps' => ['application/vnd.ms-works'], - 'wqd' => ['application/vnd.wqd'], - 'wri' => ['application/x-mswrite'], - 'wrl' => ['model/vrml'], - 'ws' => ['application/x-wonderswan-rom'], - 'wsc' => ['application/x-wonderswan-color-rom'], - 'wsdl' => ['application/wsdl+xml'], - 'wsgi' => ['text/x-python'], - 'wspolicy' => ['application/wspolicy+xml'], - 'wtb' => ['application/vnd.webturbo'], - 'wv' => ['audio/x-wavpack'], - 'wvc' => ['audio/x-wavpack-correction'], - 'wvp' => ['audio/x-wavpack'], - 'wvx' => ['application/x-ms-asx', 'audio/x-ms-asx', 'video/x-ms-wax', 'video/x-ms-wmx', 'video/x-ms-wvx'], - 'wwf' => ['application/wwf', 'application/x-wwf'], - 'x32' => ['application/x-authorware-bin'], - 'x3d' => ['model/x3d+xml'], - 'x3db' => ['model/x3d+binary'], - 'x3dbz' => ['model/x3d+binary'], - 'x3dv' => ['model/x3d+vrml'], - 'x3dvz' => ['model/x3d+vrml'], - 'x3dz' => ['model/x3d+xml'], - 'x3f' => ['image/x-sigma-x3f'], - 'xac' => ['application/x-gnucash'], - 'xaml' => ['application/xaml+xml'], - 'xap' => ['application/x-silverlight-app'], - 'xar' => ['application/vnd.xara', 'application/x-xar'], - 'xbap' => ['application/x-ms-xbap'], - 'xbd' => ['application/vnd.fujixerox.docuworks.binder'], - 'xbel' => ['application/x-xbel'], - 'xbl' => ['application/xml', 'text/xml'], - 'xbm' => ['image/x-xbitmap'], - 'xcf' => ['image/x-xcf'], - 'xcf.bz2' => ['image/x-compressed-xcf'], - 'xcf.gz' => ['image/x-compressed-xcf'], - 'xdf' => ['application/xcap-diff+xml'], - 'xdgapp' => ['application/vnd.flatpak', 'application/vnd.xdgapp'], - 'xdm' => ['application/vnd.syncml.dm+xml'], - 'xdp' => ['application/vnd.adobe.xdp+xml'], - 'xdssc' => ['application/dssc+xml'], - 'xdw' => ['application/vnd.fujixerox.docuworks'], - 'xenc' => ['application/xenc+xml'], - 'xer' => ['application/patch-ops-error+xml'], - 'xfdf' => ['application/vnd.adobe.xfdf'], - 'xfdl' => ['application/vnd.xfdl'], - 'xhe' => ['audio/usac'], - 'xht' => ['application/xhtml+xml'], - 'xhtml' => ['application/xhtml+xml'], - 'xhvml' => ['application/xv+xml'], - 'xi' => ['audio/x-xi'], - 'xif' => ['image/vnd.xiff'], - 'xla' => ['application/msexcel', 'application/vnd.ms-excel', 'application/x-msexcel', 'zz-application/zz-winassoc-xls'], - 'xlam' => ['application/vnd.ms-excel.addin.macroenabled.12'], - 'xlc' => ['application/msexcel', 'application/vnd.ms-excel', 'application/x-msexcel', 'zz-application/zz-winassoc-xls'], - 'xld' => ['application/msexcel', 'application/vnd.ms-excel', 'application/x-msexcel', 'zz-application/zz-winassoc-xls'], - 'xlf' => ['application/x-xliff', 'application/x-xliff+xml', 'application/xliff+xml'], - 'xliff' => ['application/x-xliff', 'application/xliff+xml'], - 'xll' => ['application/msexcel', 'application/vnd.ms-excel', 'application/x-msexcel', 'zz-application/zz-winassoc-xls'], - 'xlm' => ['application/msexcel', 'application/vnd.ms-excel', 'application/x-msexcel', 'zz-application/zz-winassoc-xls'], - 'xlr' => ['application/vnd.ms-works'], - 'xls' => ['application/vnd.ms-excel', 'application/msexcel', 'application/x-msexcel', 'zz-application/zz-winassoc-xls'], - 'xlsb' => ['application/vnd.ms-excel.sheet.binary.macroenabled.12'], - 'xlsm' => ['application/vnd.ms-excel.sheet.macroenabled.12'], - 'xlsx' => ['application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'], - 'xlt' => ['application/msexcel', 'application/vnd.ms-excel', 'application/x-msexcel', 'zz-application/zz-winassoc-xls'], - 'xltm' => ['application/vnd.ms-excel.template.macroenabled.12'], - 'xltx' => ['application/vnd.openxmlformats-officedocument.spreadsheetml.template'], - 'xlw' => ['application/msexcel', 'application/vnd.ms-excel', 'application/x-msexcel', 'zz-application/zz-winassoc-xls'], - 'xm' => ['audio/x-xm', 'audio/xm'], - 'xmf' => ['audio/mobile-xmf', 'audio/x-xmf', 'audio/xmf'], - 'xmi' => ['text/x-xmi'], - 'xml' => ['application/xml', 'text/xml'], - 'xo' => ['application/vnd.olpc-sugar'], - 'xop' => ['application/xop+xml'], - 'xpi' => ['application/x-xpinstall'], - 'xpl' => ['application/xproc+xml'], - 'xpm' => ['image/x-xpixmap', 'image/x-xpm'], - 'xpr' => ['application/vnd.is-xpr'], - 'xps' => ['application/oxps', 'application/vnd.ms-xpsdocument', 'application/xps'], - 'xpw' => ['application/vnd.intercon.formnet'], - 'xpx' => ['application/vnd.intercon.formnet'], - 'xsd' => ['application/xml', 'text/xml'], - 'xsl' => ['application/xml', 'application/xslt+xml'], - 'xslfo' => ['text/x-xslfo'], - 'xslt' => ['application/xslt+xml'], - 'xsm' => ['application/vnd.syncml+xml'], - 'xspf' => ['application/x-xspf+xml', 'application/xspf+xml'], - 'xul' => ['application/vnd.mozilla.xul+xml'], - 'xvm' => ['application/xv+xml'], - 'xvml' => ['application/xv+xml'], - 'xwd' => ['image/x-xwindowdump'], - 'xyz' => ['chemical/x-xyz'], - 'xz' => ['application/x-xz'], - 'yaml' => ['application/x-yaml', 'text/x-yaml', 'text/yaml'], - 'yang' => ['application/yang'], - 'yin' => ['application/yin+xml'], - 'yml' => ['application/x-yaml', 'text/x-yaml', 'text/yaml'], - 'yt' => ['application/vnd.youtube.yt'], - 'z1' => ['application/x-zmachine'], - 'z2' => ['application/x-zmachine'], - 'z3' => ['application/x-zmachine'], - 'z4' => ['application/x-zmachine'], - 'z5' => ['application/x-zmachine'], - 'z6' => ['application/x-zmachine'], - 'z64' => ['application/x-n64-rom'], - 'z7' => ['application/x-zmachine'], - 'z8' => ['application/x-zmachine'], - 'zabw' => ['application/x-abiword'], - 'zaz' => ['application/vnd.zzazz.deck+xml'], - 'zip' => ['application/zip', 'application/x-zip', 'application/x-zip-compressed'], - 'zir' => ['application/vnd.zul'], - 'zirz' => ['application/vnd.zul'], - 'zmm' => ['application/vnd.handheld-entertainment+xml'], - 'zoo' => ['application/x-zoo'], - 'zsav' => ['application/x-spss-sav', 'application/x-spss-savefile'], - 'zz' => ['application/zlib'], - '123' => ['application/lotus123', 'application/vnd.lotus-1-2-3', 'application/wk1', 'application/x-123', 'application/x-lotus123', 'zz-application/zz-winassoc-123'], - '602' => ['application/x-t602'], - '669' => ['audio/x-mod'], - ]; -} diff --git a/paragonik-backend/vendor/symfony/mime/MimeTypesInterface.php b/paragonik-backend/vendor/symfony/mime/MimeTypesInterface.php deleted file mode 100644 index 9fbd2cc..0000000 --- a/paragonik-backend/vendor/symfony/mime/MimeTypesInterface.php +++ /dev/null @@ -1,32 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Mime; - -/** - * @author Fabien Potencier - */ -interface MimeTypesInterface extends MimeTypeGuesserInterface -{ - /** - * Gets the extensions for the given MIME type. - * - * @return string[] an array of extensions (first one is the preferred one) - */ - public function getExtensions(string $mimeType): array; - - /** - * Gets the MIME types for the given extension. - * - * @return string[] an array of MIME types (first one is the preferred one) - */ - public function getMimeTypes(string $ext): array; -} diff --git a/paragonik-backend/vendor/symfony/mime/Part/AbstractMultipartPart.php b/paragonik-backend/vendor/symfony/mime/Part/AbstractMultipartPart.php deleted file mode 100644 index 48b8620..0000000 --- a/paragonik-backend/vendor/symfony/mime/Part/AbstractMultipartPart.php +++ /dev/null @@ -1,99 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Mime\Part; - -use Symfony\Component\Mime\Header\Headers; - -/** - * @author Fabien Potencier - */ -abstract class AbstractMultipartPart extends AbstractPart -{ - private $boundary; - private $parts = []; - - public function __construct(AbstractPart ...$parts) - { - parent::__construct(); - - foreach ($parts as $part) { - $this->parts[] = $part; - } - } - - /** - * @return AbstractPart[] - */ - public function getParts(): array - { - return $this->parts; - } - - public function getMediaType(): string - { - return 'multipart'; - } - - public function getPreparedHeaders(): Headers - { - $headers = parent::getPreparedHeaders(); - $headers->setHeaderParameter('Content-Type', 'boundary', $this->getBoundary()); - - return $headers; - } - - public function bodyToString(): string - { - $parts = $this->getParts(); - $string = ''; - foreach ($parts as $part) { - $string .= '--'.$this->getBoundary()."\r\n".$part->toString()."\r\n"; - } - $string .= '--'.$this->getBoundary()."--\r\n"; - - return $string; - } - - public function bodyToIterable(): iterable - { - $parts = $this->getParts(); - foreach ($parts as $part) { - yield '--'.$this->getBoundary()."\r\n"; - yield from $part->toIterable(); - yield "\r\n"; - } - yield '--'.$this->getBoundary()."--\r\n"; - } - - public function asDebugString(): string - { - $str = parent::asDebugString(); - foreach ($this->getParts() as $part) { - $lines = explode("\n", $part->asDebugString()); - $str .= "\n â”” ".array_shift($lines); - foreach ($lines as $line) { - $str .= "\n |".$line; - } - } - - return $str; - } - - private function getBoundary(): string - { - if (null === $this->boundary) { - $this->boundary = '_=_symfony_'.time().'_'.bin2hex(random_bytes(16)).'_=_'; - } - - return $this->boundary; - } -} diff --git a/paragonik-backend/vendor/symfony/mime/Part/AbstractPart.php b/paragonik-backend/vendor/symfony/mime/Part/AbstractPart.php deleted file mode 100644 index 93892d9..0000000 --- a/paragonik-backend/vendor/symfony/mime/Part/AbstractPart.php +++ /dev/null @@ -1,65 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Mime\Part; - -use Symfony\Component\Mime\Header\Headers; - -/** - * @author Fabien Potencier - */ -abstract class AbstractPart -{ - private $headers; - - public function __construct() - { - $this->headers = new Headers(); - } - - public function getHeaders(): Headers - { - return $this->headers; - } - - public function getPreparedHeaders(): Headers - { - $headers = clone $this->headers; - $headers->setHeaderBody('Parameterized', 'Content-Type', $this->getMediaType().'/'.$this->getMediaSubtype()); - - return $headers; - } - - public function toString(): string - { - return $this->getPreparedHeaders()->toString()."\r\n".$this->bodyToString(); - } - - public function toIterable(): iterable - { - yield $this->getPreparedHeaders()->toString(); - yield "\r\n"; - yield from $this->bodyToIterable(); - } - - public function asDebugString(): string - { - return $this->getMediaType().'/'.$this->getMediaSubtype(); - } - - abstract public function bodyToString(): string; - - abstract public function bodyToIterable(): iterable; - - abstract public function getMediaType(): string; - - abstract public function getMediaSubtype(): string; -} diff --git a/paragonik-backend/vendor/symfony/mime/Part/DataPart.php b/paragonik-backend/vendor/symfony/mime/Part/DataPart.php deleted file mode 100644 index 423185f..0000000 --- a/paragonik-backend/vendor/symfony/mime/Part/DataPart.php +++ /dev/null @@ -1,161 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Mime\Part; - -use Symfony\Component\Mime\Exception\InvalidArgumentException; -use Symfony\Component\Mime\Header\Headers; -use Symfony\Component\Mime\MimeTypes; - -/** - * @author Fabien Potencier - */ -class DataPart extends TextPart -{ - private static $mimeTypes; - - private $filename; - private $mediaType; - private $cid; - private $handle; - - /** - * @param resource|string $body - */ - public function __construct($body, string $filename = null, string $contentType = null, string $encoding = null) - { - if (null === $contentType) { - $contentType = 'application/octet-stream'; - } - list($this->mediaType, $subtype) = explode('/', $contentType); - - parent::__construct($body, null, $subtype, $encoding); - - $this->filename = $filename; - $this->setName($filename); - $this->setDisposition('attachment'); - } - - public static function fromPath(string $path, string $name = null, string $contentType = null): self - { - // FIXME: if file is not readable, exception? - - if (null === $contentType) { - $ext = strtolower(substr($path, strrpos($path, '.') + 1)); - if (null === self::$mimeTypes) { - self::$mimeTypes = new MimeTypes(); - } - $contentType = self::$mimeTypes->getMimeTypes($ext)[0] ?? 'application/octet-stream'; - } - - if (false === $handle = @fopen($path, 'r', false)) { - throw new InvalidArgumentException(sprintf('Unable to open path "%s"', $path)); - } - $p = new self($handle, $name ?: basename($path), $contentType); - $p->handle = $handle; - - return $p; - } - - /** - * @return $this - */ - public function asInline() - { - return $this->setDisposition('inline'); - } - - public function getContentId(): string - { - return $this->cid ?: $this->cid = $this->generateContentId(); - } - - public function hasContentId(): bool - { - return null !== $this->cid; - } - - public function getMediaType(): string - { - return $this->mediaType; - } - - public function getPreparedHeaders(): Headers - { - $headers = parent::getPreparedHeaders(); - - if (null !== $this->cid) { - $headers->setHeaderBody('Id', 'Content-ID', $this->cid); - } - - if (null !== $this->filename) { - $headers->setHeaderParameter('Content-Disposition', 'filename', $this->filename); - } - - return $headers; - } - - public function asDebugString(): string - { - $str = parent::asDebugString(); - if (null !== $this->filename) { - $str .= ' filename: '.$this->filename; - } - - return $str; - } - - private function generateContentId(): string - { - return bin2hex(random_bytes(16)).'@symfony'; - } - - public function __destruct() - { - if (null !== $this->handle && \is_resource($this->handle)) { - fclose($this->handle); - } - } - - /** - * @return array - */ - public function __sleep() - { - // converts the body to a string - parent::__sleep(); - - $this->_parent = []; - foreach (['body', 'charset', 'subtype', 'disposition', 'name', 'encoding'] as $name) { - $r = new \ReflectionProperty(TextPart::class, $name); - $r->setAccessible(true); - $this->_parent[$name] = $r->getValue($this); - } - $this->_headers = $this->getHeaders(); - - return ['_headers', '_parent', 'filename', 'mediaType']; - } - - public function __wakeup() - { - $r = new \ReflectionProperty(AbstractPart::class, 'headers'); - $r->setAccessible(true); - $r->setValue($this, $this->_headers); - unset($this->_headers); - - foreach (['body', 'charset', 'subtype', 'disposition', 'name', 'encoding'] as $name) { - $r = new \ReflectionProperty(TextPart::class, $name); - $r->setAccessible(true); - $r->setValue($this, $this->_parent[$name]); - } - unset($this->_parent); - } -} diff --git a/paragonik-backend/vendor/symfony/mime/Part/MessagePart.php b/paragonik-backend/vendor/symfony/mime/Part/MessagePart.php deleted file mode 100644 index 1b5c23e..0000000 --- a/paragonik-backend/vendor/symfony/mime/Part/MessagePart.php +++ /dev/null @@ -1,62 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Mime\Part; - -use Symfony\Component\Mime\Message; -use Symfony\Component\Mime\RawMessage; - -/** - * @final - * - * @author Fabien Potencier - */ -class MessagePart extends DataPart -{ - private $message; - - public function __construct(RawMessage $message) - { - if ($message instanceof Message) { - $name = $message->getHeaders()->getHeaderBody('Subject').'.eml'; - } else { - $name = 'email.eml'; - } - parent::__construct('', $name); - - $this->message = $message; - } - - public function getMediaType(): string - { - return 'message'; - } - - public function getMediaSubtype(): string - { - return 'rfc822'; - } - - public function getBody(): string - { - return $this->message->toString(); - } - - public function bodyToString(): string - { - return $this->getBody(); - } - - public function bodyToIterable(): iterable - { - return $this->message->toIterable(); - } -} diff --git a/paragonik-backend/vendor/symfony/mime/Part/Multipart/AlternativePart.php b/paragonik-backend/vendor/symfony/mime/Part/Multipart/AlternativePart.php deleted file mode 100644 index fd75423..0000000 --- a/paragonik-backend/vendor/symfony/mime/Part/Multipart/AlternativePart.php +++ /dev/null @@ -1,25 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Mime\Part\Multipart; - -use Symfony\Component\Mime\Part\AbstractMultipartPart; - -/** - * @author Fabien Potencier - */ -final class AlternativePart extends AbstractMultipartPart -{ - public function getMediaSubtype(): string - { - return 'alternative'; - } -} diff --git a/paragonik-backend/vendor/symfony/mime/Part/Multipart/DigestPart.php b/paragonik-backend/vendor/symfony/mime/Part/Multipart/DigestPart.php deleted file mode 100644 index 27537f1..0000000 --- a/paragonik-backend/vendor/symfony/mime/Part/Multipart/DigestPart.php +++ /dev/null @@ -1,31 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Mime\Part\Multipart; - -use Symfony\Component\Mime\Part\AbstractMultipartPart; -use Symfony\Component\Mime\Part\MessagePart; - -/** - * @author Fabien Potencier - */ -final class DigestPart extends AbstractMultipartPart -{ - public function __construct(MessagePart ...$parts) - { - parent::__construct(...$parts); - } - - public function getMediaSubtype(): string - { - return 'digest'; - } -} diff --git a/paragonik-backend/vendor/symfony/mime/Part/Multipart/FormDataPart.php b/paragonik-backend/vendor/symfony/mime/Part/Multipart/FormDataPart.php deleted file mode 100644 index 6838620..0000000 --- a/paragonik-backend/vendor/symfony/mime/Part/Multipart/FormDataPart.php +++ /dev/null @@ -1,103 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Mime\Part\Multipart; - -use Symfony\Component\Mime\Exception\InvalidArgumentException; -use Symfony\Component\Mime\Part\AbstractMultipartPart; -use Symfony\Component\Mime\Part\DataPart; -use Symfony\Component\Mime\Part\TextPart; - -/** - * Implements RFC 7578. - * - * @author Fabien Potencier - */ -final class FormDataPart extends AbstractMultipartPart -{ - private $fields = []; - - /** - * @param (string|array|DataPart)[] $fields - */ - public function __construct(array $fields = []) - { - parent::__construct(); - - foreach ($fields as $name => $value) { - if (!\is_string($value) && !\is_array($value) && !$value instanceof TextPart) { - throw new InvalidArgumentException(sprintf('A form field value can only be a string, an array, or an instance of TextPart ("%s" given).', \is_object($value) ? \get_class($value) : \gettype($value))); - } - - $this->fields[$name] = $value; - } - // HTTP does not support \r\n in header values - $this->getHeaders()->setMaxLineLength(PHP_INT_MAX); - } - - public function getMediaSubtype(): string - { - return 'form-data'; - } - - public function getParts(): array - { - return $this->prepareFields($this->fields); - } - - private function prepareFields(array $fields): array - { - $values = []; - - $prepare = function ($item, $key, $root = null) use (&$values, &$prepare) { - $fieldName = $root ? sprintf('%s[%s]', $root, $key) : $key; - - if (\is_array($item)) { - array_walk($item, $prepare, $fieldName); - - return; - } - - $values[] = $this->preparePart($fieldName, $item); - }; - - array_walk($fields, $prepare); - - return $values; - } - - private function preparePart(string $name, $value): TextPart - { - if (\is_string($value)) { - return $this->configurePart($name, new TextPart($value, 'utf-8', 'plain', '8bit')); - } - - return $this->configurePart($name, $value); - } - - private function configurePart(string $name, TextPart $part): TextPart - { - static $r; - - if (null === $r) { - $r = new \ReflectionProperty(TextPart::class, 'encoding'); - $r->setAccessible(true); - } - - $part->setDisposition('form-data'); - $part->setName($name); - // HTTP does not support \r\n in header values - $part->getHeaders()->setMaxLineLength(PHP_INT_MAX); - $r->setValue($part, '8bit'); - - return $part; - } -} diff --git a/paragonik-backend/vendor/symfony/mime/Part/Multipart/MixedPart.php b/paragonik-backend/vendor/symfony/mime/Part/Multipart/MixedPart.php deleted file mode 100644 index c8d7028..0000000 --- a/paragonik-backend/vendor/symfony/mime/Part/Multipart/MixedPart.php +++ /dev/null @@ -1,25 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Mime\Part\Multipart; - -use Symfony\Component\Mime\Part\AbstractMultipartPart; - -/** - * @author Fabien Potencier - */ -final class MixedPart extends AbstractMultipartPart -{ - public function getMediaSubtype(): string - { - return 'mixed'; - } -} diff --git a/paragonik-backend/vendor/symfony/mime/Part/Multipart/RelatedPart.php b/paragonik-backend/vendor/symfony/mime/Part/Multipart/RelatedPart.php deleted file mode 100644 index 08fdd5f..0000000 --- a/paragonik-backend/vendor/symfony/mime/Part/Multipart/RelatedPart.php +++ /dev/null @@ -1,55 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Mime\Part\Multipart; - -use Symfony\Component\Mime\Part\AbstractMultipartPart; -use Symfony\Component\Mime\Part\AbstractPart; - -/** - * @author Fabien Potencier - */ -final class RelatedPart extends AbstractMultipartPart -{ - private $mainPart; - - public function __construct(AbstractPart $mainPart, AbstractPart $part, AbstractPart ...$parts) - { - $this->mainPart = $mainPart; - $this->prepareParts($part, ...$parts); - - parent::__construct($part, ...$parts); - } - - public function getParts(): array - { - return array_merge([$this->mainPart], parent::getParts()); - } - - public function getMediaSubtype(): string - { - return 'related'; - } - - private function generateContentId(): string - { - return bin2hex(random_bytes(16)).'@symfony'; - } - - private function prepareParts(AbstractPart ...$parts): void - { - foreach ($parts as $part) { - if (!$part->getHeaders()->has('Content-ID')) { - $part->getHeaders()->setHeaderBody('Id', 'Content-ID', $this->generateContentId()); - } - } - } -} diff --git a/paragonik-backend/vendor/symfony/mime/Part/SMimePart.php b/paragonik-backend/vendor/symfony/mime/Part/SMimePart.php deleted file mode 100644 index 1dfc1ae..0000000 --- a/paragonik-backend/vendor/symfony/mime/Part/SMimePart.php +++ /dev/null @@ -1,116 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Mime\Part; - -use Symfony\Component\Mime\Header\Headers; - -/** - * @author Sebastiaan Stok - */ -class SMimePart extends AbstractPart -{ - private $body; - private $type; - private $subtype; - private $parameters; - - /** - * @param iterable|string $body - */ - public function __construct($body, string $type, string $subtype, array $parameters) - { - parent::__construct(); - - if (!\is_string($body) && !is_iterable($body)) { - throw new \TypeError(sprintf('The body of "%s" must be a string or a iterable (got "%s").', self::class, \is_object($body) ? \get_class($body) : \gettype($body))); - } - - $this->body = $body; - $this->type = $type; - $this->subtype = $subtype; - $this->parameters = $parameters; - } - - public function getMediaType(): string - { - return $this->type; - } - - public function getMediaSubtype(): string - { - return $this->subtype; - } - - public function bodyToString(): string - { - if (\is_string($this->body)) { - return $this->body; - } - - $body = ''; - foreach ($this->body as $chunk) { - $body .= $chunk; - } - $this->body = $body; - - return $body; - } - - public function bodyToIterable(): iterable - { - if (\is_string($this->body)) { - yield $this->body; - - return; - } - - $body = ''; - foreach ($this->body as $chunk) { - $body .= $chunk; - yield $chunk; - } - $this->body = $body; - } - - public function getPreparedHeaders(): Headers - { - $headers = clone parent::getHeaders(); - - $headers->setHeaderBody('Parameterized', 'Content-Type', $this->getMediaType().'/'.$this->getMediaSubtype()); - - foreach ($this->parameters as $name => $value) { - $headers->setHeaderParameter('Content-Type', $name, $value); - } - - return $headers; - } - - public function __sleep(): array - { - // convert iterables to strings for serialization - if (is_iterable($this->body)) { - $this->body = $this->bodyToString(); - } - - $this->_headers = $this->getHeaders(); - - return ['_headers', 'body', 'type', 'subtype', 'parameters']; - } - - public function __wakeup(): void - { - $r = new \ReflectionProperty(AbstractPart::class, 'headers'); - $r->setAccessible(true); - $r->setValue($this, $this->_headers); - unset($this->_headers); - } -} diff --git a/paragonik-backend/vendor/symfony/mime/Part/TextPart.php b/paragonik-backend/vendor/symfony/mime/Part/TextPart.php deleted file mode 100644 index a41d91d..0000000 --- a/paragonik-backend/vendor/symfony/mime/Part/TextPart.php +++ /dev/null @@ -1,204 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Mime\Part; - -use Symfony\Component\Mime\Encoder\Base64ContentEncoder; -use Symfony\Component\Mime\Encoder\ContentEncoderInterface; -use Symfony\Component\Mime\Encoder\EightBitContentEncoder; -use Symfony\Component\Mime\Encoder\QpContentEncoder; -use Symfony\Component\Mime\Exception\InvalidArgumentException; -use Symfony\Component\Mime\Header\Headers; - -/** - * @author Fabien Potencier - */ -class TextPart extends AbstractPart -{ - private static $encoders = []; - - private $body; - private $charset; - private $subtype; - private $disposition; - private $name; - private $encoding; - - /** - * @param resource|string $body - */ - public function __construct($body, ?string $charset = 'utf-8', $subtype = 'plain', string $encoding = null) - { - parent::__construct(); - - if (!\is_string($body) && !\is_resource($body)) { - throw new \TypeError(sprintf('The body of "%s" must be a string or a resource (got "%s").', self::class, \is_object($body) ? \get_class($body) : \gettype($body))); - } - - $this->body = $body; - $this->charset = $charset; - $this->subtype = $subtype; - - if (null === $encoding) { - $this->encoding = $this->chooseEncoding(); - } else { - if ('quoted-printable' !== $encoding && 'base64' !== $encoding && '8bit' !== $encoding) { - throw new InvalidArgumentException(sprintf('The encoding must be one of "quoted-printable", "base64", or "8bit" ("%s" given).', $encoding)); - } - $this->encoding = $encoding; - } - } - - public function getMediaType(): string - { - return 'text'; - } - - public function getMediaSubtype(): string - { - return $this->subtype; - } - - /** - * @param string $disposition one of attachment, inline, or form-data - * - * @return $this - */ - public function setDisposition(string $disposition) - { - $this->disposition = $disposition; - - return $this; - } - - /** - * Sets the name of the file (used by FormDataPart). - * - * @return $this - */ - public function setName($name) - { - $this->name = $name; - - return $this; - } - - public function getBody(): string - { - if (!\is_resource($this->body)) { - return $this->body; - } - - if (stream_get_meta_data($this->body)['seekable'] ?? false) { - rewind($this->body); - } - - return stream_get_contents($this->body) ?: ''; - } - - public function bodyToString(): string - { - return $this->getEncoder()->encodeString($this->getBody(), $this->charset); - } - - public function bodyToIterable(): iterable - { - if (\is_resource($this->body)) { - if (stream_get_meta_data($this->body)['seekable'] ?? false) { - rewind($this->body); - } - yield from $this->getEncoder()->encodeByteStream($this->body); - } else { - yield $this->getEncoder()->encodeString($this->body); - } - } - - public function getPreparedHeaders(): Headers - { - $headers = parent::getPreparedHeaders(); - - $headers->setHeaderBody('Parameterized', 'Content-Type', $this->getMediaType().'/'.$this->getMediaSubtype()); - if ($this->charset) { - $headers->setHeaderParameter('Content-Type', 'charset', $this->charset); - } - if ($this->name) { - $headers->setHeaderParameter('Content-Type', 'name', $this->name); - } - $headers->setHeaderBody('Text', 'Content-Transfer-Encoding', $this->encoding); - - if (!$headers->has('Content-Disposition') && null !== $this->disposition) { - $headers->setHeaderBody('Parameterized', 'Content-Disposition', $this->disposition); - if ($this->name) { - $headers->setHeaderParameter('Content-Disposition', 'name', $this->name); - } - } - - return $headers; - } - - public function asDebugString(): string - { - $str = parent::asDebugString(); - if (null !== $this->charset) { - $str .= ' charset: '.$this->charset; - } - if (null !== $this->disposition) { - $str .= ' disposition: '.$this->disposition; - } - - return $str; - } - - private function getEncoder(): ContentEncoderInterface - { - if ('8bit' === $this->encoding) { - return self::$encoders[$this->encoding] ?? (self::$encoders[$this->encoding] = new EightBitContentEncoder()); - } - - if ('quoted-printable' === $this->encoding) { - return self::$encoders[$this->encoding] ?? (self::$encoders[$this->encoding] = new QpContentEncoder()); - } - - return self::$encoders[$this->encoding] ?? (self::$encoders[$this->encoding] = new Base64ContentEncoder()); - } - - private function chooseEncoding(): string - { - if (null === $this->charset) { - return 'base64'; - } - - return 'quoted-printable'; - } - - /** - * @return array - */ - public function __sleep() - { - // convert resources to strings for serialization - if (\is_resource($this->body)) { - $this->body = $this->getBody(); - } - - $this->_headers = $this->getHeaders(); - - return ['_headers', 'body', 'charset', 'subtype', 'disposition', 'name', 'encoding']; - } - - public function __wakeup() - { - $r = new \ReflectionProperty(AbstractPart::class, 'headers'); - $r->setAccessible(true); - $r->setValue($this, $this->_headers); - unset($this->_headers); - } -} diff --git a/paragonik-backend/vendor/symfony/mime/README.md b/paragonik-backend/vendor/symfony/mime/README.md deleted file mode 100644 index 4d565c9..0000000 --- a/paragonik-backend/vendor/symfony/mime/README.md +++ /dev/null @@ -1,13 +0,0 @@ -MIME Component -============== - -The MIME component allows manipulating MIME messages. - -Resources ---------- - - * [Documentation](https://symfony.com/doc/current/components/mime.html) - * [Contributing](https://symfony.com/doc/current/contributing/index.html) - * [Report issues](https://github.com/symfony/symfony/issues) and - [send Pull Requests](https://github.com/symfony/symfony/pulls) - in the [main Symfony repository](https://github.com/symfony/symfony) diff --git a/paragonik-backend/vendor/symfony/mime/RawMessage.php b/paragonik-backend/vendor/symfony/mime/RawMessage.php deleted file mode 100644 index 79a27e9..0000000 --- a/paragonik-backend/vendor/symfony/mime/RawMessage.php +++ /dev/null @@ -1,88 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Mime; - -use Symfony\Component\Mime\Exception\LogicException; - -/** - * @author Fabien Potencier - */ -class RawMessage implements \Serializable -{ - private $message; - - /** - * @param iterable|string $message - */ - public function __construct($message) - { - $this->message = $message; - } - - public function toString(): string - { - if (\is_string($this->message)) { - return $this->message; - } - - return $this->message = implode('', iterator_to_array($this->message, false)); - } - - public function toIterable(): iterable - { - if (\is_string($this->message)) { - yield $this->message; - - return; - } - - $message = ''; - foreach ($this->message as $chunk) { - $message .= $chunk; - yield $chunk; - } - $this->message = $message; - } - - /** - * @throws LogicException if the message is not valid - */ - public function ensureValidity() - { - } - - /** - * @internal - */ - final public function serialize(): string - { - return serialize($this->__serialize()); - } - - /** - * @internal - */ - final public function unserialize($serialized) - { - $this->__unserialize(unserialize($serialized)); - } - - public function __serialize(): array - { - return [$this->message]; - } - - public function __unserialize(array $data): void - { - [$this->message] = $data; - } -} diff --git a/paragonik-backend/vendor/symfony/mime/Resources/bin/update_mime_types.php b/paragonik-backend/vendor/symfony/mime/Resources/bin/update_mime_types.php deleted file mode 100644 index 74a9449..0000000 --- a/paragonik-backend/vendor/symfony/mime/Resources/bin/update_mime_types.php +++ /dev/null @@ -1,166 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -// load new map -$data = file_get_contents('https://svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime.types'); -$new = []; -foreach (explode("\n", $data) as $line) { - if (!$line || '#' == $line[0]) { - continue; - } - $mimeType = substr($line, 0, strpos($line, "\t")); - $extensions = explode(' ', substr($line, strrpos($line, "\t") + 1)); - $new[$mimeType] = $extensions; -} - -$xml = simplexml_load_string(file_get_contents('https://raw.github.com/minad/mimemagic/master/script/freedesktop.org.xml')); -foreach ($xml as $node) { - $exts = []; - foreach ($node->glob as $glob) { - $pattern = (string) $glob['pattern']; - if ('*' != $pattern[0] || '.' != $pattern[1]) { - continue; - } - - $exts[] = substr($pattern, 2); - } - - if (!$exts) { - continue; - } - - $mt = strtolower((string) $node['type']); - $new[$mt] = array_merge($new[$mt] ?? [], $exts); - foreach ($node->alias as $alias) { - $mt = strtolower((string) $alias['type']); - $new[$mt] = array_merge($new[$mt] ?? [], $exts); - } -} - -// load current map -$data = file_get_contents($output = __DIR__.'/../../MimeTypes.php'); -$current = []; -$pre = ''; -$post = ''; -foreach (explode("\n", $data) as $line) { - if (!preg_match("{^ '([^']+/[^']+)' => \['(.+)'\],$}", $line, $matches)) { - if (!$current) { - $pre .= $line."\n"; - } else { - $post .= $line."\n"; - } - continue; - } - $current[$matches[1]] = explode("', '", $matches[2]); -} - -// we merge the 2 maps (we never remove old mime types) -$map = array_replace_recursive($current, $new); -ksort($map); - -$data = $pre; -foreach ($map as $mimeType => $exts) { - $data .= sprintf(" '%s' => ['%s'],\n", $mimeType, implode("', '", array_unique($exts))); -} -$data .= $post; - -// reverse map -// we prefill the extensions with some preferences for content-types -$exts = [ - 'aif' => ['audio/x-aiff'], - 'aiff' => ['audio/x-aiff'], - 'aps' => ['application/postscript'], - 'avi' => ['video/avi'], - 'bmp' => ['image/bmp'], - 'bz2' => ['application/x-bz2'], - 'css' => ['text/css'], - 'csv' => ['text/csv'], - 'dmg' => ['application/x-apple-diskimage'], - 'doc' => ['application/msword'], - 'docx' => ['application/vnd.openxmlformats-officedocument.wordprocessingml.document'], - 'eml' => ['message/rfc822'], - 'exe' => ['application/x-ms-dos-executable'], - 'flv' => ['video/x-flv'], - 'gif' => ['image/gif'], - 'gz' => ['application/x-gzip'], - 'hqx' => ['application/stuffit'], - 'htm' => ['text/html'], - 'html' => ['text/html'], - 'jar' => ['application/x-java-archive'], - 'jpeg' => ['image/jpeg'], - 'jpg' => ['image/jpeg'], - 'js' => ['text/javascript'], - 'm3u' => ['audio/x-mpegurl'], - 'm4a' => ['audio/mp4'], - 'mdb' => ['application/x-msaccess'], - 'mid' => ['audio/midi'], - 'midi' => ['audio/midi'], - 'mov' => ['video/quicktime'], - 'mp3' => ['audio/mpeg'], - 'mp4' => ['video/mp4'], - 'mpeg' => ['video/mpeg'], - 'mpg' => ['video/mpeg'], - 'ogg' => ['audio/ogg'], - 'pdf' => ['application/pdf'], - 'php' => ['application/x-php'], - 'php3' => ['application/x-php'], - 'php4' => ['application/x-php'], - 'php5' => ['application/x-php'], - 'png' => ['image/png'], - 'ppt' => ['application/vnd.ms-powerpoint'], - 'pptx' => ['application/vnd.openxmlformats-officedocument.presentationml.presentation'], - 'ps' => ['application/postscript'], - 'rar' => ['application/x-rar-compressed'], - 'rtf' => ['application/rtf'], - 'sit' => ['application/x-stuffit'], - 'svg' => ['image/svg+xml'], - 'tar' => ['application/x-tar'], - 'tif' => ['image/tiff'], - 'tiff' => ['image/tiff'], - 'ttf' => ['application/x-font-truetype'], - 'txt' => ['text/plain'], - 'vcf' => ['text/x-vcard'], - 'wav' => ['audio/wav'], - 'wma' => ['audio/x-ms-wma'], - 'wmv' => ['audio/x-ms-wmv'], - 'xls' => ['application/vnd.ms-excel'], - 'xlsx' => ['application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'], - 'xml' => ['application/xml'], - 'zip' => ['application/zip'], -]; -foreach ($map as $mimeType => $extensions) { - foreach ($extensions as $extension) { - $exts[$extension][] = $mimeType; - } -} -ksort($exts); - -$updated = ''; -$state = 0; -foreach (explode("\n", $data) as $line) { - if (!preg_match("{^ '([^'/]+)' => \['(.+)'\],$}", $line, $matches)) { - if (1 === $state) { - $state = 2; - foreach ($exts as $ext => $mimeTypes) { - $updated .= sprintf(" '%s' => ['%s'],\n", $ext, implode("', '", array_unique($mimeTypes))); - } - } - $updated .= $line."\n"; - continue; - } - $state = 1; -} - -$updated = preg_replace('{Updated from upstream on .+?\.}', 'Updated from upstream on '.date('Y-m-d'), $updated, -1); - -file_put_contents($output, rtrim($updated, "\n")."\n"); - -echo "Done.\n"; diff --git a/paragonik-backend/vendor/symfony/mime/Test/Constraint/EmailAddressContains.php b/paragonik-backend/vendor/symfony/mime/Test/Constraint/EmailAddressContains.php deleted file mode 100644 index 58ef360..0000000 --- a/paragonik-backend/vendor/symfony/mime/Test/Constraint/EmailAddressContains.php +++ /dev/null @@ -1,74 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Mime\Test\Constraint; - -use PHPUnit\Framework\Constraint\Constraint; -use Symfony\Component\Mime\Header\MailboxHeader; -use Symfony\Component\Mime\Header\MailboxListHeader; -use Symfony\Component\Mime\RawMessage; - -final class EmailAddressContains extends Constraint -{ - private $headerName; - private $expectedValue; - - public function __construct(string $headerName, string $expectedValue) - { - $this->headerName = $headerName; - $this->expectedValue = $expectedValue; - } - - /** - * {@inheritdoc} - */ - public function toString(): string - { - return sprintf('contains address "%s" with value "%s"', $this->headerName, $this->expectedValue); - } - - /** - * @param RawMessage $message - * - * {@inheritdoc} - */ - protected function matches($message): bool - { - if (RawMessage::class === \get_class($message)) { - throw new \LogicException('Unable to test a message address on a RawMessage instance.'); - } - - $header = $message->getHeaders()->get($this->headerName); - if ($header instanceof MailboxHeader) { - return $this->expectedValue === $header->Address()->getAddress(); - } elseif ($header instanceof MailboxListHeader) { - foreach ($header->getAddresses() as $address) { - if ($this->expectedValue === $address->getAddress()) { - return true; - } - } - - return false; - } - - throw new \LogicException(sprintf('Unable to test a message address on a non-address header.')); - } - - /** - * @param RawMessage $message - * - * {@inheritdoc} - */ - protected function failureDescription($message): string - { - return sprintf('the Email %s (value is %s)', $this->toString(), $message->getHeaders()->get($this->headerName)->getBodyAsString()); - } -} diff --git a/paragonik-backend/vendor/symfony/mime/Test/Constraint/EmailAttachmentCount.php b/paragonik-backend/vendor/symfony/mime/Test/Constraint/EmailAttachmentCount.php deleted file mode 100644 index b219f28..0000000 --- a/paragonik-backend/vendor/symfony/mime/Test/Constraint/EmailAttachmentCount.php +++ /dev/null @@ -1,59 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Mime\Test\Constraint; - -use PHPUnit\Framework\Constraint\Constraint; -use Symfony\Component\Mime\RawMessage; - -final class EmailAttachmentCount extends Constraint -{ - private $expectedValue; - private $transport; - - public function __construct(int $expectedValue, string $transport = null) - { - $this->expectedValue = $expectedValue; - $this->transport = $transport; - } - - /** - * {@inheritdoc} - */ - public function toString(): string - { - return sprintf('has sent "%d" attachment(s)', $this->expectedValue); - } - - /** - * @param RawMessage $message - * - * {@inheritdoc} - */ - protected function matches($message): bool - { - if (RawMessage::class === \get_class($message) || Message::class === \get_class($message)) { - throw new \LogicException('Unable to test a message attachment on a RawMessage or Message instance.'); - } - - return $this->expectedValue === \count($message->getAttachments()); - } - - /** - * @param RawMessage $message - * - * {@inheritdoc} - */ - protected function failureDescription($message): string - { - return 'the Email '.$this->toString(); - } -} diff --git a/paragonik-backend/vendor/symfony/mime/Test/Constraint/EmailHasHeader.php b/paragonik-backend/vendor/symfony/mime/Test/Constraint/EmailHasHeader.php deleted file mode 100644 index a29f835..0000000 --- a/paragonik-backend/vendor/symfony/mime/Test/Constraint/EmailHasHeader.php +++ /dev/null @@ -1,57 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Mime\Test\Constraint; - -use PHPUnit\Framework\Constraint\Constraint; -use Symfony\Component\Mime\RawMessage; - -final class EmailHasHeader extends Constraint -{ - private $headerName; - - public function __construct(string $headerName) - { - $this->headerName = $headerName; - } - - /** - * {@inheritdoc} - */ - public function toString(): string - { - return sprintf('has header "%s"', $this->headerName); - } - - /** - * @param RawMessage $message - * - * {@inheritdoc} - */ - protected function matches($message): bool - { - if (RawMessage::class === \get_class($message)) { - throw new \LogicException('Unable to test a message header on a RawMessage instance.'); - } - - return $message->getHeaders()->has($this->headerName); - } - - /** - * @param RawMessage $message - * - * {@inheritdoc} - */ - protected function failureDescription($message): string - { - return 'the Email '.$this->toString(); - } -} diff --git a/paragonik-backend/vendor/symfony/mime/Test/Constraint/EmailHeaderSame.php b/paragonik-backend/vendor/symfony/mime/Test/Constraint/EmailHeaderSame.php deleted file mode 100644 index bc7e330..0000000 --- a/paragonik-backend/vendor/symfony/mime/Test/Constraint/EmailHeaderSame.php +++ /dev/null @@ -1,59 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Mime\Test\Constraint; - -use PHPUnit\Framework\Constraint\Constraint; -use Symfony\Component\Mime\RawMessage; - -final class EmailHeaderSame extends Constraint -{ - private $headerName; - private $expectedValue; - - public function __construct(string $headerName, string $expectedValue) - { - $this->headerName = $headerName; - $this->expectedValue = $expectedValue; - } - - /** - * {@inheritdoc} - */ - public function toString(): string - { - return sprintf('has header "%s" with value "%s"', $this->headerName, $this->expectedValue); - } - - /** - * @param RawMessage $message - * - * {@inheritdoc} - */ - protected function matches($message): bool - { - if (RawMessage::class === \get_class($message)) { - throw new \LogicException('Unable to test a message header on a RawMessage instance.'); - } - - return $this->expectedValue === $message->getHeaders()->get($this->headerName)->getBodyAsString(); - } - - /** - * @param RawMessage $message - * - * {@inheritdoc} - */ - protected function failureDescription($message): string - { - return sprintf('the Email %s (value is %s)', $this->toString(), $message->getHeaders()->get($this->headerName)->getBodyAsString()); - } -} diff --git a/paragonik-backend/vendor/symfony/mime/Test/Constraint/EmailHtmlBodyContains.php b/paragonik-backend/vendor/symfony/mime/Test/Constraint/EmailHtmlBodyContains.php deleted file mode 100644 index 8965195..0000000 --- a/paragonik-backend/vendor/symfony/mime/Test/Constraint/EmailHtmlBodyContains.php +++ /dev/null @@ -1,56 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Mime\Test\Constraint; - -use PHPUnit\Framework\Constraint\Constraint; - -final class EmailHtmlBodyContains extends Constraint -{ - private $expectedText; - - public function __construct(string $expectedText) - { - $this->expectedText = $expectedText; - } - - /** - * {@inheritdoc} - */ - public function toString(): string - { - return sprintf('contains "%s"', $this->expectedText); - } - - /** - * {@inheritdoc} - * - * @param RawMessage $message - */ - protected function matches($message): bool - { - if (RawMessage::class === \get_class($message) || Message::class === \get_class($message)) { - throw new \LogicException('Unable to test a message HTML body on a RawMessage or Message instance.'); - } - - return false !== mb_strpos($message->getHtmlBody(), $this->expectedText); - } - - /** - * {@inheritdoc} - * - * @param RawMessage $message - */ - protected function failureDescription($message): string - { - return 'the Email HTML body '.$this->toString(); - } -} diff --git a/paragonik-backend/vendor/symfony/mime/Test/Constraint/EmailTextBodyContains.php b/paragonik-backend/vendor/symfony/mime/Test/Constraint/EmailTextBodyContains.php deleted file mode 100644 index b5e87f9..0000000 --- a/paragonik-backend/vendor/symfony/mime/Test/Constraint/EmailTextBodyContains.php +++ /dev/null @@ -1,56 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Mime\Test\Constraint; - -use PHPUnit\Framework\Constraint\Constraint; - -final class EmailTextBodyContains extends Constraint -{ - private $expectedText; - - public function __construct(string $expectedText) - { - $this->expectedText = $expectedText; - } - - /** - * {@inheritdoc} - */ - public function toString(): string - { - return sprintf('contains "%s"', $this->expectedText); - } - - /** - * {@inheritdoc} - * - * @param RawMessage $message - */ - protected function matches($message): bool - { - if (RawMessage::class === \get_class($message) || Message::class === \get_class($message)) { - throw new \LogicException('Unable to test a message text body on a RawMessage or Message instance.'); - } - - return false !== mb_strpos($message->getTextBody(), $this->expectedText); - } - - /** - * {@inheritdoc} - * - * @param RawMessage $message - */ - protected function failureDescription($message): string - { - return 'the Email text body '.$this->toString(); - } -} diff --git a/paragonik-backend/vendor/symfony/mime/composer.json b/paragonik-backend/vendor/symfony/mime/composer.json deleted file mode 100644 index 4cf3c42..0000000 --- a/paragonik-backend/vendor/symfony/mime/composer.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "name": "symfony/mime", - "type": "library", - "description": "A library to manipulate MIME messages", - "keywords": ["mime", "mime-type"], - "homepage": "https://symfony.com", - "license": "MIT", - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "require": { - "php": "^7.1.3", - "symfony/polyfill-intl-idn": "^1.10", - "symfony/polyfill-mbstring": "^1.0" - }, - "require-dev": { - "egulias/email-validator": "^2.1.10", - "symfony/dependency-injection": "^3.4|^4.1|^5.0" - }, - "conflict": { - "symfony/mailer": "<4.4" - }, - "autoload": { - "psr-4": { "Symfony\\Component\\Mime\\": "" }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "minimum-stability": "dev", - "extra": { - "branch-alias": { - "dev-master": "4.4-dev" - } - } -} diff --git a/paragonik-backend/vendor/symfony/polyfill-ctype/Ctype.php b/paragonik-backend/vendor/symfony/polyfill-ctype/Ctype.php deleted file mode 100644 index 58414dc..0000000 --- a/paragonik-backend/vendor/symfony/polyfill-ctype/Ctype.php +++ /dev/null @@ -1,227 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Polyfill\Ctype; - -/** - * Ctype implementation through regex. - * - * @internal - * - * @author Gert de Pagter - */ -final class Ctype -{ - /** - * Returns TRUE if every character in text is either a letter or a digit, FALSE otherwise. - * - * @see https://php.net/ctype-alnum - * - * @param string|int $text - * - * @return bool - */ - public static function ctype_alnum($text) - { - $text = self::convert_int_to_char_for_ctype($text); - - return \is_string($text) && '' !== $text && !preg_match('/[^A-Za-z0-9]/', $text); - } - - /** - * Returns TRUE if every character in text is a letter, FALSE otherwise. - * - * @see https://php.net/ctype-alpha - * - * @param string|int $text - * - * @return bool - */ - public static function ctype_alpha($text) - { - $text = self::convert_int_to_char_for_ctype($text); - - return \is_string($text) && '' !== $text && !preg_match('/[^A-Za-z]/', $text); - } - - /** - * Returns TRUE if every character in text is a control character from the current locale, FALSE otherwise. - * - * @see https://php.net/ctype-cntrl - * - * @param string|int $text - * - * @return bool - */ - public static function ctype_cntrl($text) - { - $text = self::convert_int_to_char_for_ctype($text); - - return \is_string($text) && '' !== $text && !preg_match('/[^\x00-\x1f\x7f]/', $text); - } - - /** - * Returns TRUE if every character in the string text is a decimal digit, FALSE otherwise. - * - * @see https://php.net/ctype-digit - * - * @param string|int $text - * - * @return bool - */ - public static function ctype_digit($text) - { - $text = self::convert_int_to_char_for_ctype($text); - - return \is_string($text) && '' !== $text && !preg_match('/[^0-9]/', $text); - } - - /** - * Returns TRUE if every character in text is printable and actually creates visible output (no white space), FALSE otherwise. - * - * @see https://php.net/ctype-graph - * - * @param string|int $text - * - * @return bool - */ - public static function ctype_graph($text) - { - $text = self::convert_int_to_char_for_ctype($text); - - return \is_string($text) && '' !== $text && !preg_match('/[^!-~]/', $text); - } - - /** - * Returns TRUE if every character in text is a lowercase letter. - * - * @see https://php.net/ctype-lower - * - * @param string|int $text - * - * @return bool - */ - public static function ctype_lower($text) - { - $text = self::convert_int_to_char_for_ctype($text); - - return \is_string($text) && '' !== $text && !preg_match('/[^a-z]/', $text); - } - - /** - * Returns TRUE if every character in text will actually create output (including blanks). Returns FALSE if text contains control characters or characters that do not have any output or control function at all. - * - * @see https://php.net/ctype-print - * - * @param string|int $text - * - * @return bool - */ - public static function ctype_print($text) - { - $text = self::convert_int_to_char_for_ctype($text); - - return \is_string($text) && '' !== $text && !preg_match('/[^ -~]/', $text); - } - - /** - * Returns TRUE if every character in text is printable, but neither letter, digit or blank, FALSE otherwise. - * - * @see https://php.net/ctype-punct - * - * @param string|int $text - * - * @return bool - */ - public static function ctype_punct($text) - { - $text = self::convert_int_to_char_for_ctype($text); - - return \is_string($text) && '' !== $text && !preg_match('/[^!-\/\:-@\[-`\{-~]/', $text); - } - - /** - * Returns TRUE if every character in text creates some sort of white space, FALSE otherwise. Besides the blank character this also includes tab, vertical tab, line feed, carriage return and form feed characters. - * - * @see https://php.net/ctype-space - * - * @param string|int $text - * - * @return bool - */ - public static function ctype_space($text) - { - $text = self::convert_int_to_char_for_ctype($text); - - return \is_string($text) && '' !== $text && !preg_match('/[^\s]/', $text); - } - - /** - * Returns TRUE if every character in text is an uppercase letter. - * - * @see https://php.net/ctype-upper - * - * @param string|int $text - * - * @return bool - */ - public static function ctype_upper($text) - { - $text = self::convert_int_to_char_for_ctype($text); - - return \is_string($text) && '' !== $text && !preg_match('/[^A-Z]/', $text); - } - - /** - * Returns TRUE if every character in text is a hexadecimal 'digit', that is a decimal digit or a character from [A-Fa-f] , FALSE otherwise. - * - * @see https://php.net/ctype-xdigit - * - * @param string|int $text - * - * @return bool - */ - public static function ctype_xdigit($text) - { - $text = self::convert_int_to_char_for_ctype($text); - - return \is_string($text) && '' !== $text && !preg_match('/[^A-Fa-f0-9]/', $text); - } - - /** - * Converts integers to their char versions according to normal ctype behaviour, if needed. - * - * If an integer between -128 and 255 inclusive is provided, - * it is interpreted as the ASCII value of a single character - * (negative values have 256 added in order to allow characters in the Extended ASCII range). - * Any other integer is interpreted as a string containing the decimal digits of the integer. - * - * @param string|int $int - * - * @return mixed - */ - private static function convert_int_to_char_for_ctype($int) - { - if (!\is_int($int)) { - return $int; - } - - if ($int < -128 || $int > 255) { - return (string) $int; - } - - if ($int < 0) { - $int += 256; - } - - return \chr($int); - } -} diff --git a/paragonik-backend/vendor/symfony/polyfill-ctype/LICENSE b/paragonik-backend/vendor/symfony/polyfill-ctype/LICENSE deleted file mode 100644 index 3f853aa..0000000 --- a/paragonik-backend/vendor/symfony/polyfill-ctype/LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 2018-2019 Fabien Potencier - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is furnished -to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/paragonik-backend/vendor/symfony/polyfill-ctype/README.md b/paragonik-backend/vendor/symfony/polyfill-ctype/README.md deleted file mode 100644 index 8add1ab..0000000 --- a/paragonik-backend/vendor/symfony/polyfill-ctype/README.md +++ /dev/null @@ -1,12 +0,0 @@ -Symfony Polyfill / Ctype -======================== - -This component provides `ctype_*` functions to users who run php versions without the ctype extension. - -More information can be found in the -[main Polyfill README](https://github.com/symfony/polyfill/blob/master/README.md). - -License -======= - -This library is released under the [MIT license](LICENSE). diff --git a/paragonik-backend/vendor/symfony/polyfill-ctype/bootstrap.php b/paragonik-backend/vendor/symfony/polyfill-ctype/bootstrap.php deleted file mode 100644 index 14d1d0f..0000000 --- a/paragonik-backend/vendor/symfony/polyfill-ctype/bootstrap.php +++ /dev/null @@ -1,26 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -use Symfony\Polyfill\Ctype as p; - -if (!function_exists('ctype_alnum')) { - function ctype_alnum($text) { return p\Ctype::ctype_alnum($text); } - function ctype_alpha($text) { return p\Ctype::ctype_alpha($text); } - function ctype_cntrl($text) { return p\Ctype::ctype_cntrl($text); } - function ctype_digit($text) { return p\Ctype::ctype_digit($text); } - function ctype_graph($text) { return p\Ctype::ctype_graph($text); } - function ctype_lower($text) { return p\Ctype::ctype_lower($text); } - function ctype_print($text) { return p\Ctype::ctype_print($text); } - function ctype_punct($text) { return p\Ctype::ctype_punct($text); } - function ctype_space($text) { return p\Ctype::ctype_space($text); } - function ctype_upper($text) { return p\Ctype::ctype_upper($text); } - function ctype_xdigit($text) { return p\Ctype::ctype_xdigit($text); } -} diff --git a/paragonik-backend/vendor/symfony/polyfill-ctype/composer.json b/paragonik-backend/vendor/symfony/polyfill-ctype/composer.json deleted file mode 100644 index 2a2ea04..0000000 --- a/paragonik-backend/vendor/symfony/polyfill-ctype/composer.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "name": "symfony/polyfill-ctype", - "type": "library", - "description": "Symfony polyfill for ctype functions", - "keywords": ["polyfill", "compatibility", "portable", "ctype"], - "homepage": "https://symfony.com", - "license": "MIT", - "authors": [ - { - "name": "Gert de Pagter", - "email": "BackEndTea@gmail.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "require": { - "php": ">=5.3.3" - }, - "autoload": { - "psr-4": { "Symfony\\Polyfill\\Ctype\\": "" }, - "files": [ "bootstrap.php" ] - }, - "suggest": { - "ext-ctype": "For best performance" - }, - "minimum-stability": "dev", - "extra": { - "branch-alias": { - "dev-master": "1.13-dev" - } - } -} diff --git a/paragonik-backend/vendor/symfony/polyfill-iconv/Iconv.php b/paragonik-backend/vendor/symfony/polyfill-iconv/Iconv.php deleted file mode 100644 index 77e7ca0..0000000 --- a/paragonik-backend/vendor/symfony/polyfill-iconv/Iconv.php +++ /dev/null @@ -1,741 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Polyfill\Iconv; - -/** - * iconv implementation in pure PHP, UTF-8 centric. - * - * Implemented: - * - iconv - Convert string to requested character encoding - * - iconv_mime_decode - Decodes a MIME header field - * - iconv_mime_decode_headers - Decodes multiple MIME header fields at once - * - iconv_get_encoding - Retrieve internal configuration variables of iconv extension - * - iconv_set_encoding - Set current setting for character encoding conversion - * - iconv_mime_encode - Composes a MIME header field - * - iconv_strlen - Returns the character count of string - * - iconv_strpos - Finds position of first occurrence of a needle within a haystack - * - iconv_strrpos - Finds the last occurrence of a needle within a haystack - * - iconv_substr - Cut out part of a string - * - * Charsets available for conversion are defined by files - * in the charset/ directory and by Iconv::$alias below. - * You're welcome to send back any addition you make. - * - * @author Nicolas Grekas - * - * @internal - */ -final class Iconv -{ - const ERROR_ILLEGAL_CHARACTER = 'iconv(): Detected an illegal character in input string'; - const ERROR_WRONG_CHARSET = 'iconv(): Wrong charset, conversion from `%s\' to `%s\' is not allowed'; - - public static $inputEncoding = 'utf-8'; - public static $outputEncoding = 'utf-8'; - public static $internalEncoding = 'utf-8'; - - private static $alias = array( - 'utf8' => 'utf-8', - 'ascii' => 'us-ascii', - 'tis-620' => 'iso-8859-11', - 'cp1250' => 'windows-1250', - 'cp1251' => 'windows-1251', - 'cp1252' => 'windows-1252', - 'cp1253' => 'windows-1253', - 'cp1254' => 'windows-1254', - 'cp1255' => 'windows-1255', - 'cp1256' => 'windows-1256', - 'cp1257' => 'windows-1257', - 'cp1258' => 'windows-1258', - 'shift-jis' => 'cp932', - 'shift_jis' => 'cp932', - 'latin1' => 'iso-8859-1', - 'latin2' => 'iso-8859-2', - 'latin3' => 'iso-8859-3', - 'latin4' => 'iso-8859-4', - 'latin5' => 'iso-8859-9', - 'latin6' => 'iso-8859-10', - 'latin7' => 'iso-8859-13', - 'latin8' => 'iso-8859-14', - 'latin9' => 'iso-8859-15', - 'latin10' => 'iso-8859-16', - 'iso8859-1' => 'iso-8859-1', - 'iso8859-2' => 'iso-8859-2', - 'iso8859-3' => 'iso-8859-3', - 'iso8859-4' => 'iso-8859-4', - 'iso8859-5' => 'iso-8859-5', - 'iso8859-6' => 'iso-8859-6', - 'iso8859-7' => 'iso-8859-7', - 'iso8859-8' => 'iso-8859-8', - 'iso8859-9' => 'iso-8859-9', - 'iso8859-10' => 'iso-8859-10', - 'iso8859-11' => 'iso-8859-11', - 'iso8859-12' => 'iso-8859-12', - 'iso8859-13' => 'iso-8859-13', - 'iso8859-14' => 'iso-8859-14', - 'iso8859-15' => 'iso-8859-15', - 'iso8859-16' => 'iso-8859-16', - 'iso_8859-1' => 'iso-8859-1', - 'iso_8859-2' => 'iso-8859-2', - 'iso_8859-3' => 'iso-8859-3', - 'iso_8859-4' => 'iso-8859-4', - 'iso_8859-5' => 'iso-8859-5', - 'iso_8859-6' => 'iso-8859-6', - 'iso_8859-7' => 'iso-8859-7', - 'iso_8859-8' => 'iso-8859-8', - 'iso_8859-9' => 'iso-8859-9', - 'iso_8859-10' => 'iso-8859-10', - 'iso_8859-11' => 'iso-8859-11', - 'iso_8859-12' => 'iso-8859-12', - 'iso_8859-13' => 'iso-8859-13', - 'iso_8859-14' => 'iso-8859-14', - 'iso_8859-15' => 'iso-8859-15', - 'iso_8859-16' => 'iso-8859-16', - 'iso88591' => 'iso-8859-1', - 'iso88592' => 'iso-8859-2', - 'iso88593' => 'iso-8859-3', - 'iso88594' => 'iso-8859-4', - 'iso88595' => 'iso-8859-5', - 'iso88596' => 'iso-8859-6', - 'iso88597' => 'iso-8859-7', - 'iso88598' => 'iso-8859-8', - 'iso88599' => 'iso-8859-9', - 'iso885910' => 'iso-8859-10', - 'iso885911' => 'iso-8859-11', - 'iso885912' => 'iso-8859-12', - 'iso885913' => 'iso-8859-13', - 'iso885914' => 'iso-8859-14', - 'iso885915' => 'iso-8859-15', - 'iso885916' => 'iso-8859-16', - ); - private static $translitMap = array(); - private static $convertMap = array(); - private static $errorHandler; - private static $lastError; - - private static $ulenMask = array("\xC0" => 2, "\xD0" => 2, "\xE0" => 3, "\xF0" => 4); - private static $isValidUtf8; - - public static function iconv($inCharset, $outCharset, $str) - { - $str = (string) $str; - if ('' === $str) { - return ''; - } - - // Prepare for //IGNORE and //TRANSLIT - - $translit = $ignore = ''; - - $outCharset = strtolower($outCharset); - $inCharset = strtolower($inCharset); - - if ('' === $outCharset) { - $outCharset = 'iso-8859-1'; - } - if ('' === $inCharset) { - $inCharset = 'iso-8859-1'; - } - - do { - $loop = false; - - if ('//translit' === substr($outCharset, -10)) { - $loop = $translit = true; - $outCharset = substr($outCharset, 0, -10); - } - - if ('//ignore' === substr($outCharset, -8)) { - $loop = $ignore = true; - $outCharset = substr($outCharset, 0, -8); - } - } while ($loop); - - do { - $loop = false; - - if ('//translit' === substr($inCharset, -10)) { - $loop = true; - $inCharset = substr($inCharset, 0, -10); - } - - if ('//ignore' === substr($inCharset, -8)) { - $loop = true; - $inCharset = substr($inCharset, 0, -8); - } - } while ($loop); - - if (isset(self::$alias[$inCharset])) { - $inCharset = self::$alias[$inCharset]; - } - if (isset(self::$alias[$outCharset])) { - $outCharset = self::$alias[$outCharset]; - } - - // Load charset maps - - if (('utf-8' !== $inCharset && !self::loadMap('from.', $inCharset, $inMap)) - || ('utf-8' !== $outCharset && !self::loadMap('to.', $outCharset, $outMap))) { - trigger_error(sprintf(self::ERROR_WRONG_CHARSET, $inCharset, $outCharset)); - - return false; - } - - if ('utf-8' !== $inCharset) { - // Convert input to UTF-8 - $result = ''; - if (self::mapToUtf8($result, $inMap, $str, $ignore)) { - $str = $result; - } else { - $str = false; - } - self::$isValidUtf8 = true; - } else { - self::$isValidUtf8 = preg_match('//u', $str); - - if (!self::$isValidUtf8 && !$ignore) { - trigger_error(self::ERROR_ILLEGAL_CHARACTER); - - return false; - } - - if ('utf-8' === $outCharset) { - // UTF-8 validation - $str = self::utf8ToUtf8($str, $ignore); - } - } - - if ('utf-8' !== $outCharset && false !== $str) { - // Convert output to UTF-8 - $result = ''; - if (self::mapFromUtf8($result, $outMap, $str, $ignore, $translit)) { - return $result; - } - - return false; - } - - return $str; - } - - public static function iconv_mime_decode_headers($str, $mode = 0, $charset = null) - { - if (null === $charset) { - $charset = self::$internalEncoding; - } - - if (false !== strpos($str, "\r")) { - $str = strtr(str_replace("\r\n", "\n", $str), "\r", "\n"); - } - $str = explode("\n\n", $str, 2); - - $headers = array(); - - $str = preg_split('/\n(?![ \t])/', $str[0]); - foreach ($str as $str) { - $str = self::iconv_mime_decode($str, $mode, $charset); - if (false === $str) { - return false; - } - $str = explode(':', $str, 2); - - if (2 === \count($str)) { - if (isset($headers[$str[0]])) { - if (!\is_array($headers[$str[0]])) { - $headers[$str[0]] = array($headers[$str[0]]); - } - $headers[$str[0]][] = ltrim($str[1]); - } else { - $headers[$str[0]] = ltrim($str[1]); - } - } - } - - return $headers; - } - - public static function iconv_mime_decode($str, $mode = 0, $charset = null) - { - if (null === $charset) { - $charset = self::$internalEncoding; - } - if (ICONV_MIME_DECODE_CONTINUE_ON_ERROR & $mode) { - $charset .= '//IGNORE'; - } - - if (false !== strpos($str, "\r")) { - $str = strtr(str_replace("\r\n", "\n", $str), "\r", "\n"); - } - $str = preg_split('/\n(?![ \t])/', rtrim($str), 2); - $str = preg_replace('/[ \t]*\n[ \t]+/', ' ', rtrim($str[0])); - $str = preg_split('/=\?([^?]+)\?([bqBQ])\?(.*?)\?=/', $str, -1, PREG_SPLIT_DELIM_CAPTURE); - - $result = self::iconv('utf-8', $charset, $str[0]); - if (false === $result) { - return false; - } - - $i = 1; - $len = \count($str); - - while ($i < $len) { - $c = strtolower($str[$i]); - if ((ICONV_MIME_DECODE_CONTINUE_ON_ERROR & $mode) - && 'utf-8' !== $c - && !isset(self::$alias[$c]) - && !self::loadMap('from.', $c, $d)) { - $d = false; - } elseif ('B' === strtoupper($str[$i + 1])) { - $d = base64_decode($str[$i + 2]); - } else { - $d = rawurldecode(strtr(str_replace('%', '%25', $str[$i + 2]), '=_', '% ')); - } - - if (false !== $d) { - if ('' !== $d) { - if ('' === $d = self::iconv($c, $charset, $d)) { - $str[$i + 3] = substr($str[$i + 3], 1); - } else { - $result .= $d; - } - } - $d = self::iconv('utf-8', $charset, $str[$i + 3]); - if ('' !== trim($d)) { - $result .= $d; - } - } elseif (ICONV_MIME_DECODE_CONTINUE_ON_ERROR & $mode) { - $result .= "=?{$str[$i]}?{$str[$i + 1]}?{$str[$i + 2]}?={$str[$i + 3]}"; - } else { - $result = false; - break; - } - - $i += 4; - } - - return $result; - } - - public static function iconv_get_encoding($type = 'all') - { - switch ($type) { - case 'input_encoding': return self::$inputEncoding; - case 'output_encoding': return self::$outputEncoding; - case 'internal_encoding': return self::$internalEncoding; - } - - return array( - 'input_encoding' => self::$inputEncoding, - 'output_encoding' => self::$outputEncoding, - 'internal_encoding' => self::$internalEncoding, - ); - } - - public static function iconv_set_encoding($type, $charset) - { - switch ($type) { - case 'input_encoding': self::$inputEncoding = $charset; break; - case 'output_encoding': self::$outputEncoding = $charset; break; - case 'internal_encoding': self::$internalEncoding = $charset; break; - - default: return false; - } - - return true; - } - - public static function iconv_mime_encode($fieldName, $fieldValue, $pref = null) - { - if (!\is_array($pref)) { - $pref = array(); - } - - $pref += array( - 'scheme' => 'B', - 'input-charset' => self::$internalEncoding, - 'output-charset' => self::$internalEncoding, - 'line-length' => 76, - 'line-break-chars' => "\r\n", - ); - - if (preg_match('/[\x80-\xFF]/', $fieldName)) { - $fieldName = ''; - } - - $scheme = strtoupper(substr($pref['scheme'], 0, 1)); - $in = strtolower($pref['input-charset']); - $out = strtolower($pref['output-charset']); - - if ('utf-8' !== $in && false === $fieldValue = self::iconv($in, 'utf-8', $fieldValue)) { - return false; - } - - preg_match_all('/./us', $fieldValue, $chars); - - $chars = isset($chars[0]) ? $chars[0] : array(); - - $lineBreak = (int) $pref['line-length']; - $lineStart = "=?{$pref['output-charset']}?{$scheme}?"; - $lineLength = \strlen($fieldName) + 2 + \strlen($lineStart) + 2; - $lineOffset = \strlen($lineStart) + 3; - $lineData = ''; - - $fieldValue = array(); - - $Q = 'Q' === $scheme; - - foreach ($chars as $c) { - if ('utf-8' !== $out && false === $c = self::iconv('utf-8', $out, $c)) { - return false; - } - - $o = $Q - ? $c = preg_replace_callback( - '/[=_\?\x00-\x1F\x80-\xFF]/', - array(__CLASS__, 'qpByteCallback'), - $c - ) - : base64_encode($lineData.$c); - - if (isset($o[$lineBreak - $lineLength])) { - if (!$Q) { - $lineData = base64_encode($lineData); - } - $fieldValue[] = $lineStart.$lineData.'?='; - $lineLength = $lineOffset; - $lineData = ''; - } - - $lineData .= $c; - $Q && $lineLength += \strlen($c); - } - - if ('' !== $lineData) { - if (!$Q) { - $lineData = base64_encode($lineData); - } - $fieldValue[] = $lineStart.$lineData.'?='; - } - - return $fieldName.': '.implode($pref['line-break-chars'].' ', $fieldValue); - } - - public static function iconv_strlen($s, $encoding = null) - { - static $hasXml = null; - if (null === $hasXml) { - $hasXml = \extension_loaded('xml'); - } - - if ($hasXml) { - return self::strlen1($s, $encoding); - } - - return self::strlen2($s, $encoding); - } - - public static function strlen1($s, $encoding = null) - { - if (null === $encoding) { - $encoding = self::$internalEncoding; - } - if (0 !== stripos($encoding, 'utf-8') && false === $s = self::iconv($encoding, 'utf-8', $s)) { - return false; - } - - return \strlen(utf8_decode($s)); - } - - public static function strlen2($s, $encoding = null) - { - if (null === $encoding) { - $encoding = self::$internalEncoding; - } - if (0 !== stripos($encoding, 'utf-8') && false === $s = self::iconv($encoding, 'utf-8', $s)) { - return false; - } - - $ulenMask = self::$ulenMask; - - $i = 0; - $j = 0; - $len = \strlen($s); - - while ($i < $len) { - $u = $s[$i] & "\xF0"; - $i += isset($ulenMask[$u]) ? $ulenMask[$u] : 1; - ++$j; - } - - return $j; - } - - public static function iconv_strpos($haystack, $needle, $offset = 0, $encoding = null) - { - if (null === $encoding) { - $encoding = self::$internalEncoding; - } - - if (0 !== stripos($encoding, 'utf-8')) { - if (false === $haystack = self::iconv($encoding, 'utf-8', $haystack)) { - return false; - } - if (false === $needle = self::iconv($encoding, 'utf-8', $needle)) { - return false; - } - } - - if ($offset = (int) $offset) { - $haystack = self::iconv_substr($haystack, $offset, 2147483647, 'utf-8'); - } - $pos = strpos($haystack, $needle); - - return false === $pos ? false : ($offset + ($pos ? self::iconv_strlen(substr($haystack, 0, $pos), 'utf-8') : 0)); - } - - public static function iconv_strrpos($haystack, $needle, $encoding = null) - { - if (null === $encoding) { - $encoding = self::$internalEncoding; - } - - if (0 !== stripos($encoding, 'utf-8')) { - if (false === $haystack = self::iconv($encoding, 'utf-8', $haystack)) { - return false; - } - if (false === $needle = self::iconv($encoding, 'utf-8', $needle)) { - return false; - } - } - - $pos = isset($needle[0]) ? strrpos($haystack, $needle) : false; - - return false === $pos ? false : self::iconv_strlen($pos ? substr($haystack, 0, $pos) : $haystack, 'utf-8'); - } - - public static function iconv_substr($s, $start, $length = 2147483647, $encoding = null) - { - if (null === $encoding) { - $encoding = self::$internalEncoding; - } - if (0 !== stripos($encoding, 'utf-8')) { - $encoding = null; - } elseif (false === $s = self::iconv($encoding, 'utf-8', $s)) { - return false; - } - - $s = (string) $s; - $slen = self::iconv_strlen($s, 'utf-8'); - $start = (int) $start; - - if (0 > $start) { - $start += $slen; - } - if (0 > $start) { - return false; - } - if ($start >= $slen) { - return false; - } - - $rx = $slen - $start; - - if (0 > $length) { - $length += $rx; - } - if (0 === $length) { - return ''; - } - if (0 > $length) { - return false; - } - - if ($length > $rx) { - $length = $rx; - } - - $rx = '/^'.($start ? self::pregOffset($start) : '').'('.self::pregOffset($length).')/u'; - - $s = preg_match($rx, $s, $s) ? $s[1] : ''; - - if (null === $encoding) { - return $s; - } - - return self::iconv('utf-8', $encoding, $s); - } - - private static function loadMap($type, $charset, &$map) - { - if (!isset(self::$convertMap[$type.$charset])) { - if (false === $map = self::getData($type.$charset)) { - if ('to.' === $type && self::loadMap('from.', $charset, $map)) { - $map = array_flip($map); - } else { - return false; - } - } - - self::$convertMap[$type.$charset] = $map; - } else { - $map = self::$convertMap[$type.$charset]; - } - - return true; - } - - private static function utf8ToUtf8($str, $ignore) - { - $ulenMask = self::$ulenMask; - $valid = self::$isValidUtf8; - - $u = $str; - $i = $j = 0; - $len = \strlen($str); - - while ($i < $len) { - if ($str[$i] < "\x80") { - $u[$j++] = $str[$i++]; - } else { - $ulen = $str[$i] & "\xF0"; - $ulen = isset($ulenMask[$ulen]) ? $ulenMask[$ulen] : 1; - $uchr = substr($str, $i, $ulen); - - if (1 === $ulen || !($valid || preg_match('/^.$/us', $uchr))) { - if ($ignore) { - ++$i; - continue; - } - - trigger_error(self::ERROR_ILLEGAL_CHARACTER); - - return false; - } else { - $i += $ulen; - } - - $u[$j++] = $uchr[0]; - - isset($uchr[1]) && 0 !== ($u[$j++] = $uchr[1]) - && isset($uchr[2]) && 0 !== ($u[$j++] = $uchr[2]) - && isset($uchr[3]) && 0 !== ($u[$j++] = $uchr[3]); - } - } - - return substr($u, 0, $j); - } - - private static function mapToUtf8(&$result, array $map, $str, $ignore) - { - $len = \strlen($str); - for ($i = 0; $i < $len; ++$i) { - if (isset($str[$i + 1], $map[$str[$i].$str[$i + 1]])) { - $result .= $map[$str[$i].$str[++$i]]; - } elseif (isset($map[$str[$i]])) { - $result .= $map[$str[$i]]; - } elseif (!$ignore) { - trigger_error(self::ERROR_ILLEGAL_CHARACTER); - - return false; - } - } - - return true; - } - - private static function mapFromUtf8(&$result, array $map, $str, $ignore, $translit) - { - $ulenMask = self::$ulenMask; - $valid = self::$isValidUtf8; - - if ($translit && !self::$translitMap) { - self::$translitMap = self::getData('translit'); - } - - $i = 0; - $len = \strlen($str); - - while ($i < $len) { - if ($str[$i] < "\x80") { - $uchr = $str[$i++]; - } else { - $ulen = $str[$i] & "\xF0"; - $ulen = isset($ulenMask[$ulen]) ? $ulenMask[$ulen] : 1; - $uchr = substr($str, $i, $ulen); - - if ($ignore && (1 === $ulen || !($valid || preg_match('/^.$/us', $uchr)))) { - ++$i; - continue; - } else { - $i += $ulen; - } - } - - if (isset($map[$uchr])) { - $result .= $map[$uchr]; - } elseif ($translit) { - if (isset(self::$translitMap[$uchr])) { - $uchr = self::$translitMap[$uchr]; - } elseif ($uchr >= "\xC3\x80") { - $uchr = \Normalizer::normalize($uchr, \Normalizer::NFD); - - if ($uchr[0] < "\x80") { - $uchr = $uchr[0]; - } elseif ($ignore) { - continue; - } else { - return false; - } - } elseif ($ignore) { - continue; - } else { - return false; - } - - $str = $uchr.substr($str, $i); - $len = \strlen($str); - $i = 0; - } elseif (!$ignore) { - return false; - } - } - - return true; - } - - private static function qpByteCallback(array $m) - { - return '='.strtoupper(dechex(\ord($m[0]))); - } - - private static function pregOffset($offset) - { - $rx = array(); - $offset = (int) $offset; - - while ($offset > 65535) { - $rx[] = '.{65535}'; - $offset -= 65535; - } - - return implode('', $rx).'.{'.$offset.'}'; - } - - private static function getData($file) - { - if (file_exists($file = __DIR__.'/Resources/charset/'.$file.'.php')) { - return require $file; - } - - return false; - } -} diff --git a/paragonik-backend/vendor/symfony/polyfill-iconv/LICENSE b/paragonik-backend/vendor/symfony/polyfill-iconv/LICENSE deleted file mode 100644 index 4cd8bdd..0000000 --- a/paragonik-backend/vendor/symfony/polyfill-iconv/LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 2015-2019 Fabien Potencier - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is furnished -to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/paragonik-backend/vendor/symfony/polyfill-iconv/README.md b/paragonik-backend/vendor/symfony/polyfill-iconv/README.md deleted file mode 100644 index 2421831..0000000 --- a/paragonik-backend/vendor/symfony/polyfill-iconv/README.md +++ /dev/null @@ -1,14 +0,0 @@ -Symfony Polyfill / Iconv -======================== - -This component provides a native PHP implementation of the -[php.net/iconv](http://php.net/iconv) functions -(short of [`ob_iconv_handler`](http://php.net/manual/en/function.ob-iconv-handler.php)). - -More information can be found in the -[main Polyfill README](https://github.com/symfony/polyfill/blob/master/README.md). - -License -======= - -This library is released under the [MIT license](LICENSE). diff --git a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.big5.php b/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.big5.php deleted file mode 100644 index b119854..0000000 --- a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.big5.php +++ /dev/null @@ -1,13719 +0,0 @@ - ' ', - '¡A' => ',', - '¡B' => 'ã€', - '¡C' => '。', - '¡D' => '.', - '¡E' => '•', - '¡F' => 'ï¼›', - '¡G' => ':', - '¡H' => '?', - '¡I' => 'ï¼', - '¡J' => '︰', - '¡K' => '…', - '¡L' => '‥', - '¡M' => 'ï¹', - '¡N' => '、', - '¡O' => 'ï¹’', - '¡P' => '·', - '¡Q' => 'ï¹”', - '¡R' => '﹕', - '¡S' => 'ï¹–', - '¡T' => 'ï¹—', - '¡U' => '|', - '¡V' => '–', - '¡W' => '︱', - '¡X' => '—', - '¡Y' => '︳', - '¡Z' => '�', - '¡[' => '︴', - '¡\\' => 'ï¹', - '¡]' => '(', - '¡^' => ')', - '¡_' => '︵', - '¡`' => '︶', - '¡a' => 'ï½›', - '¡b' => 'ï½', - '¡c' => '︷', - '¡d' => '︸', - '¡e' => '〔', - '¡f' => '〕', - '¡g' => '︹', - '¡h' => '︺', - '¡i' => 'ã€', - '¡j' => '】', - '¡k' => '︻', - '¡l' => '︼', - '¡m' => '《', - '¡n' => '》', - '¡o' => '︽', - '¡p' => '︾', - '¡q' => '〈', - '¡r' => '〉', - '¡s' => '︿', - '¡t' => 'ï¹€', - '¡u' => '「', - '¡v' => 'ã€', - '¡w' => 'ï¹', - '¡x' => '﹂', - '¡y' => '『', - '¡z' => 'ã€', - '¡{' => '﹃', - '¡|' => '﹄', - '¡}' => 'ï¹™', - '¡~' => '﹚', - '¡¡' => 'ï¹›', - '¡¢' => '﹜', - '¡£' => 'ï¹', - '¡¤' => '﹞', - '¡¥' => '‘', - '¡¦' => '’', - '¡§' => '“', - '¡¨' => 'â€', - '¡©' => 'ã€', - '¡ª' => '〞', - '¡«' => '‵', - '¡¬' => '′', - '¡­' => '#', - '¡®' => '&', - '¡¯' => '*', - '¡°' => '※', - '¡±' => '§', - '¡²' => '〃', - '¡³' => 'â—‹', - '¡´' => 'â—', - '¡µ' => 'â–³', - '¡¶' => 'â–²', - '¡·' => 'â—Ž', - '¡¸' => '☆', - '¡¹' => '★', - '¡º' => 'â—‡', - '¡»' => 'â—†', - '¡¼' => 'â–¡', - '¡½' => 'â– ', - '¡¾' => 'â–½', - '¡¿' => 'â–¼', - '¡À' => '㊣', - '¡Á' => 'â„…', - '¡Â' => '‾', - '¡Ã' => '�', - '¡Ä' => '_', - '¡Å' => '�', - '¡Æ' => '﹉', - '¡Ç' => '﹊', - '¡È' => 'ï¹', - '¡É' => '﹎', - '¡Ê' => '﹋', - '¡Ë' => '﹌', - '¡Ì' => '﹟', - '¡Í' => 'ï¹ ', - '¡Î' => '﹡', - '¡Ï' => '+', - '¡Ð' => 'ï¼', - '¡Ñ' => '×', - '¡Ò' => '÷', - '¡Ó' => '±', - '¡Ô' => '√', - '¡Õ' => '<', - '¡Ö' => '>', - '¡×' => 'ï¼', - '¡Ø' => '≦', - '¡Ù' => '≧', - '¡Ú' => '≠', - '¡Û' => '∞', - '¡Ü' => '≒', - '¡Ý' => '≡', - '¡Þ' => 'ï¹¢', - '¡ß' => 'ï¹£', - '¡à' => '﹤', - '¡á' => 'ï¹¥', - '¡â' => '﹦', - '¡ã' => '∼', - '¡ä' => '∩', - '¡å' => '∪', - '¡æ' => '⊥', - '¡ç' => '∠', - '¡è' => '∟', - '¡é' => '⊿', - '¡ê' => 'ã’', - '¡ë' => 'ã‘', - '¡ì' => '∫', - '¡í' => '∮', - '¡î' => '∵', - '¡ï' => '∴', - '¡ð' => '♀', - '¡ñ' => '♂', - '¡ò' => 'â™', - '¡ó' => '☉', - '¡ô' => '↑', - '¡õ' => '↓', - '¡ö' => 'â†', - '¡÷' => '→', - '¡ø' => '↖', - '¡ù' => '↗', - '¡ú' => '↙', - '¡û' => '↘', - '¡ü' => '∥', - '¡ý' => '∣', - '¡þ' => '�', - '¢@' => '�', - '¢A' => 'ï¼', - '¢B' => 'ï¼¼', - '¢C' => '$', - '¢D' => 'Â¥', - '¢E' => '〒', - '¢F' => '¢', - '¢G' => '£', - '¢H' => 'ï¼…', - '¢I' => 'ï¼ ', - '¢J' => '℃', - '¢K' => '℉', - '¢L' => '﹩', - '¢M' => '﹪', - '¢N' => '﹫', - '¢O' => 'ã•', - '¢P' => '㎜', - '¢Q' => 'ãŽ', - '¢R' => '㎞', - '¢S' => 'ãŽ', - '¢T' => '㎡', - '¢U' => '㎎', - '¢V' => 'ãŽ', - '¢W' => 'ã„', - '¢X' => '°', - '¢Y' => 'å…™', - '¢Z' => 'å…›', - '¢[' => 'å…ž', - '¢\\' => 'å…', - '¢]' => 'å…¡', - '¢^' => 'å…£', - '¢_' => 'å—§', - '¢`' => 'ç“©', - '¢a' => '糎', - '¢b' => 'â–', - '¢c' => 'â–‚', - '¢d' => 'â–ƒ', - '¢e' => 'â–„', - '¢f' => 'â–…', - '¢g' => 'â–†', - '¢h' => 'â–‡', - '¢i' => 'â–ˆ', - '¢j' => 'â–', - '¢k' => 'â–Ž', - '¢l' => 'â–', - '¢m' => 'â–Œ', - '¢n' => 'â–‹', - '¢o' => 'â–Š', - '¢p' => 'â–‰', - '¢q' => '┼', - '¢r' => 'â”´', - '¢s' => '┬', - '¢t' => '┤', - '¢u' => '├', - '¢v' => 'â–”', - '¢w' => '─', - '¢x' => '│', - '¢y' => 'â–•', - '¢z' => '┌', - '¢{' => 'â”', - '¢|' => 'â””', - '¢}' => '┘', - '¢~' => 'â•­', - '¢¡' => 'â•®', - '¢¢' => 'â•°', - '¢£' => '╯', - '¢¤' => 'â•', - '¢¥' => 'â•ž', - '¢¦' => '╪', - '¢§' => 'â•¡', - '¢¨' => 'â—¢', - '¢©' => 'â—£', - '¢ª' => 'â—¥', - '¢«' => 'â—¤', - '¢¬' => '╱', - '¢­' => '╲', - '¢®' => '╳', - '¢¯' => 'ï¼', - '¢°' => '1', - '¢±' => 'ï¼’', - '¢²' => '3', - '¢³' => 'ï¼”', - '¢´' => '5', - '¢µ' => 'ï¼–', - '¢¶' => 'ï¼—', - '¢·' => '8', - '¢¸' => 'ï¼™', - '¢¹' => 'â… ', - '¢º' => 'â…¡', - '¢»' => 'â…¢', - '¢¼' => 'â…£', - '¢½' => 'â…¤', - '¢¾' => 'â…¥', - '¢¿' => 'â…¦', - '¢À' => 'â…§', - '¢Á' => 'â…¨', - '¢Â' => 'â…©', - '¢Ã' => '〡', - '¢Ä' => '〢', - '¢Å' => '〣', - '¢Æ' => '〤', - '¢Ç' => '〥', - '¢È' => '〦', - '¢É' => '〧', - '¢Ê' => '〨', - '¢Ë' => '〩', - '¢Ì' => '�', - '¢Í' => 'å„', - '¢Î' => '�', - '¢Ï' => 'A', - '¢Ð' => 'ï¼¢', - '¢Ñ' => 'ï¼£', - '¢Ò' => 'D', - '¢Ó' => 'ï¼¥', - '¢Ô' => 'F', - '¢Õ' => 'G', - '¢Ö' => 'H', - '¢×' => 'I', - '¢Ø' => 'J', - '¢Ù' => 'K', - '¢Ú' => 'L', - '¢Û' => 'ï¼­', - '¢Ü' => 'ï¼®', - '¢Ý' => 'O', - '¢Þ' => 'ï¼°', - '¢ß' => 'ï¼±', - '¢à' => 'ï¼²', - '¢á' => 'ï¼³', - '¢â' => 'ï¼´', - '¢ã' => 'ï¼µ', - '¢ä' => 'V', - '¢å' => 'ï¼·', - '¢æ' => 'X', - '¢ç' => 'ï¼¹', - '¢è' => 'Z', - '¢é' => 'ï½', - '¢ê' => 'b', - '¢ë' => 'c', - '¢ì' => 'd', - '¢í' => 'ï½…', - '¢î' => 'f', - '¢ï' => 'g', - '¢ð' => 'h', - '¢ñ' => 'i', - '¢ò' => 'j', - '¢ó' => 'k', - '¢ô' => 'l', - '¢õ' => 'ï½', - '¢ö' => 'n', - '¢÷' => 'ï½', - '¢ø' => 'ï½', - '¢ù' => 'q', - '¢ú' => 'ï½’', - '¢û' => 's', - '¢ü' => 'ï½”', - '¢ý' => 'u', - '¢þ' => 'ï½–', - '£@' => 'ï½—', - '£A' => 'x', - '£B' => 'ï½™', - '£C' => 'z', - '£D' => 'Α', - '£E' => 'Î’', - '£F' => 'Γ', - '£G' => 'Δ', - '£H' => 'Ε', - '£I' => 'Ζ', - '£J' => 'Η', - '£K' => 'Θ', - '£L' => 'Ι', - '£M' => 'Κ', - '£N' => 'Λ', - '£O' => 'Îœ', - '£P' => 'Î', - '£Q' => 'Ξ', - '£R' => 'Ο', - '£S' => 'Π', - '£T' => 'Ρ', - '£U' => 'Σ', - '£V' => 'Τ', - '£W' => 'Î¥', - '£X' => 'Φ', - '£Y' => 'Χ', - '£Z' => 'Ψ', - '£[' => 'Ω', - '£\\' => 'α', - '£]' => 'β', - '£^' => 'γ', - '£_' => 'δ', - '£`' => 'ε', - '£a' => 'ζ', - '£b' => 'η', - '£c' => 'θ', - '£d' => 'ι', - '£e' => 'κ', - '£f' => 'λ', - '£g' => 'μ', - '£h' => 'ν', - '£i' => 'ξ', - '£j' => 'ο', - '£k' => 'Ï€', - '£l' => 'Ï', - '£m' => 'σ', - '£n' => 'Ï„', - '£o' => 'Ï…', - '£p' => 'φ', - '£q' => 'χ', - '£r' => 'ψ', - '£s' => 'ω', - '£t' => 'ã„…', - '£u' => 'ㄆ', - '£v' => 'ㄇ', - '£w' => 'ㄈ', - '£x' => 'ㄉ', - '£y' => 'ã„Š', - '£z' => 'ã„‹', - '£{' => 'ã„Œ', - '£|' => 'ã„', - '£}' => 'ã„Ž', - '£~' => 'ã„', - '£¡' => 'ã„', - '£¢' => 'ã„‘', - '££' => 'ã„’', - '£¤' => 'ã„“', - '£¥' => 'ã„”', - '£¦' => 'ã„•', - '£§' => 'ã„–', - '£¨' => 'ã„—', - '£©' => 'ㄘ', - '£ª' => 'ã„™', - '£«' => 'ã„š', - '£¬' => 'ã„›', - '£­' => 'ã„œ', - '£®' => 'ã„', - '£¯' => 'ã„ž', - '£°' => 'ã„Ÿ', - '£±' => 'ã„ ', - '£²' => 'ã„¡', - '£³' => 'ã„¢', - '£´' => 'ã„£', - '£µ' => 'ㄤ', - '£¶' => 'ã„¥', - '£·' => 'ㄦ', - '£¸' => 'ㄧ', - '£¹' => 'ㄨ', - '£º' => 'ã„©', - '£»' => 'Ë™', - '£¼' => 'ˉ', - '£½' => 'ËŠ', - '£¾' => 'ˇ', - '£¿' => 'Ë‹', - '¤@' => '一', - '¤A' => 'ä¹™', - '¤B' => 'ä¸', - '¤C' => '七', - '¤D' => '乃', - '¤E' => 'ä¹', - '¤F' => '了', - '¤G' => '二', - '¤H' => '人', - '¤I' => 'å„¿', - '¤J' => 'å…¥', - '¤K' => 'å…«', - '¤L' => '几', - '¤M' => '刀', - '¤N' => 'åˆ', - '¤O' => '力', - '¤P' => '匕', - '¤Q' => 'å', - '¤R' => 'åœ', - '¤S' => 'åˆ', - '¤T' => '三', - '¤U' => '下', - '¤V' => '丈', - '¤W' => '上', - '¤X' => '丫', - '¤Y' => '丸', - '¤Z' => '凡', - '¤[' => 'ä¹…', - '¤\\' => '么', - '¤]' => '也', - '¤^' => '乞', - '¤_' => '于', - '¤`' => '亡', - '¤a' => 'å…€', - '¤b' => '刃', - '¤c' => '勺', - '¤d' => 'åƒ', - '¤e' => 'å‰', - '¤f' => 'å£', - '¤g' => '土', - '¤h' => '士', - '¤i' => '夕', - '¤j' => '大', - '¤k' => '女', - '¤l' => 'å­', - '¤m' => 'å­‘', - '¤n' => 'å­“', - '¤o' => '寸', - '¤p' => 'å°', - '¤q' => 'å°¢', - '¤r' => 'å°¸', - '¤s' => 'å±±', - '¤t' => 'å·', - '¤u' => 'å·¥', - '¤v' => 'å·±', - '¤w' => 'å·²', - '¤x' => 'å·³', - '¤y' => 'å·¾', - '¤z' => 'å¹²', - '¤{' => '廾', - '¤|' => '弋', - '¤}' => '弓', - '¤~' => 'æ‰', - '¤¡' => '丑', - '¤¢' => 'ä¸', - '¤£' => 'ä¸', - '¤¤' => '中', - '¤¥' => '丰', - '¤¦' => '丹', - '¤§' => '之', - '¤¨' => 'å°¹', - '¤©' => '予', - '¤ª' => '云', - '¤«' => '井', - '¤¬' => '互', - '¤­' => '五', - '¤®' => '亢', - '¤¯' => 'ä»', - '¤°' => '什', - '¤±' => '仃', - '¤²' => '仆', - '¤³' => '仇', - '¤´' => 'ä»', - '¤µ' => '今', - '¤¶' => '介', - '¤·' => '仄', - '¤¸' => 'å…ƒ', - '¤¹' => 'å…', - '¤º' => 'å…§', - '¤»' => 'å…­', - '¤¼' => 'å…®', - '¤½' => 'å…¬', - '¤¾' => '冗', - '¤¿' => '凶', - '¤À' => '分', - '¤Á' => '切', - '¤Â' => '刈', - '¤Ã' => 'å‹»', - '¤Ä' => '勾', - '¤Å' => 'å‹¿', - '¤Æ' => '化', - '¤Ç' => '匹', - '¤È' => 'åˆ', - '¤É' => 'å‡', - '¤Ê' => 'å…', - '¤Ë' => 'åž', - '¤Ì' => '厄', - '¤Í' => 'å‹', - '¤Î' => 'åŠ', - '¤Ï' => 'å', - '¤Ð' => '壬', - '¤Ñ' => '天', - '¤Ò' => '夫', - '¤Ó' => '太', - '¤Ô' => '夭', - '¤Õ' => 'å­”', - '¤Ö' => 'å°‘', - '¤×' => 'å°¤', - '¤Ø' => 'å°º', - '¤Ù' => '屯', - '¤Ú' => 'å·´', - '¤Û' => 'å¹»', - '¤Ü' => '廿', - '¤Ý' => 'å¼”', - '¤Þ' => '引', - '¤ß' => '心', - '¤à' => '戈', - '¤á' => '戶', - '¤â' => '手', - '¤ã' => '扎', - '¤ä' => '支', - '¤å' => 'æ–‡', - '¤æ' => 'æ–—', - '¤ç' => 'æ–¤', - '¤è' => 'æ–¹', - '¤é' => 'æ—¥', - '¤ê' => 'æ›°', - '¤ë' => '月', - '¤ì' => '木', - '¤í' => '欠', - '¤î' => 'æ­¢', - '¤ï' => 'æ­¹', - '¤ð' => '毋', - '¤ñ' => '比', - '¤ò' => '毛', - '¤ó' => 'æ°', - '¤ô' => 'æ°´', - '¤õ' => 'ç«', - '¤ö' => '爪', - '¤÷' => '父', - '¤ø' => '爻', - '¤ù' => '片', - '¤ú' => '牙', - '¤û' => '牛', - '¤ü' => '犬', - '¤ý' => '王', - '¤þ' => '丙', - '¥@' => '世', - '¥A' => '丕', - '¥B' => '且', - '¥C' => '丘', - '¥D' => '主', - '¥E' => 'ä¹', - '¥F' => 'ä¹', - '¥G' => '乎', - '¥H' => '以', - '¥I' => '付', - '¥J' => 'ä»”', - '¥K' => '仕', - '¥L' => 'ä»–', - '¥M' => 'ä»—', - '¥N' => '代', - '¥O' => '令', - '¥P' => 'ä»™', - '¥Q' => '仞', - '¥R' => 'å……', - '¥S' => 'å…„', - '¥T' => '冉', - '¥U' => '冊', - '¥V' => '冬', - '¥W' => '凹', - '¥X' => '出', - '¥Y' => '凸', - '¥Z' => '刊', - '¥[' => '加', - '¥\\' => '功', - '¥]' => '包', - '¥^' => '匆', - '¥_' => '北', - '¥`' => 'åŒ', - '¥a' => '仟', - '¥b' => 'åŠ', - '¥c' => 'å‰', - '¥d' => 'å¡', - '¥e' => 'å ', - '¥f' => 'å¯', - '¥g' => 'å®', - '¥h' => '去', - '¥i' => 'å¯', - '¥j' => 'å¤', - '¥k' => 'å³', - '¥l' => 'å¬', - '¥m' => 'å®', - '¥n' => 'å©', - '¥o' => 'å¨', - '¥p' => 'å¼', - '¥q' => 'å¸', - '¥r' => 'åµ', - '¥s' => 'å«', - '¥t' => 'å¦', - '¥u' => 'åª', - '¥v' => 'å²', - '¥w' => 'å±', - '¥x' => 'å°', - '¥y' => 'å¥', - '¥z' => 'å­', - '¥{' => 'å»', - '¥|' => 'å››', - '¥}' => '囚', - '¥~' => '外', - '¥¡' => '央', - '¥¢' => '失', - '¥£' => '奴', - '¥¤' => '奶', - '¥¥' => 'å­•', - '¥¦' => '它', - '¥§' => 'å°¼', - '¥¨' => 'å·¨', - '¥©' => 'å·§', - '¥ª' => 'å·¦', - '¥«' => '市', - '¥¬' => '布', - '¥­' => 'å¹³', - '¥®' => 'å¹¼', - '¥¯' => 'å¼', - '¥°' => '弘', - '¥±' => 'å¼—', - '¥²' => 'å¿…', - '¥³' => '戊', - '¥´' => '打', - '¥µ' => '扔', - '¥¶' => '扒', - '¥·' => '扑', - '¥¸' => 'æ–¥', - '¥¹' => 'æ—¦', - '¥º' => '朮', - '¥»' => '本', - '¥¼' => '未', - '¥½' => '末', - '¥¾' => '札', - '¥¿' => 'æ­£', - '¥À' => 'æ¯', - '¥Á' => 'æ°‘', - '¥Â' => 'æ°', - '¥Ã' => 'æ°¸', - '¥Ä' => 'æ±', - '¥Å' => 'æ±€', - '¥Æ' => 'æ°¾', - '¥Ç' => '犯', - '¥È' => '玄', - '¥É' => '玉', - '¥Ê' => 'ç“œ', - '¥Ë' => '瓦', - '¥Ì' => '甘', - '¥Í' => '生', - '¥Î' => '用', - '¥Ï' => '甩', - '¥Ð' => 'ç”°', - '¥Ñ' => 'ç”±', - '¥Ò' => '甲', - '¥Ó' => '申', - '¥Ô' => 'ç–‹', - '¥Õ' => '白', - '¥Ö' => 'çš®', - '¥×' => 'çš¿', - '¥Ø' => 'ç›®', - '¥Ù' => '矛', - '¥Ú' => '矢', - '¥Û' => '石', - '¥Ü' => '示', - '¥Ý' => '禾', - '¥Þ' => 'ç©´', - '¥ß' => 'ç«‹', - '¥à' => '丞', - '¥á' => '丟', - '¥â' => 'ä¹’', - '¥ã' => '乓', - '¥ä' => '乩', - '¥å' => '亙', - '¥æ' => '交', - '¥ç' => '亦', - '¥è' => '亥', - '¥é' => '仿', - '¥ê' => '伉', - '¥ë' => 'ä¼™', - '¥ì' => '伊', - '¥í' => '伕', - '¥î' => 'ä¼', - '¥ï' => 'ä¼', - '¥ð' => '休', - '¥ñ' => 'ä¼', - '¥ò' => '仲', - '¥ó' => '件', - '¥ô' => 'ä»»', - '¥õ' => 'ä»°', - '¥ö' => '仳', - '¥÷' => '份', - '¥ø' => 'ä¼', - '¥ù' => '伋', - '¥ú' => 'å…‰', - '¥û' => 'å…‡', - '¥ü' => 'å…†', - '¥ý' => 'å…ˆ', - '¥þ' => 'å…¨', - '¦@' => 'å…±', - '¦A' => 'å†', - '¦B' => '冰', - '¦C' => '列', - '¦D' => '刑', - '¦E' => '划', - '¦F' => '刎', - '¦G' => '刖', - '¦H' => '劣', - '¦I' => '匈', - '¦J' => '匡', - '¦K' => '匠', - '¦L' => 'å°', - '¦M' => 'å±', - '¦N' => 'å‰', - '¦O' => 'å', - '¦P' => 'åŒ', - '¦Q' => 'åŠ', - '¦R' => 'å', - '¦S' => 'å', - '¦T' => 'å‹', - '¦U' => 'å„', - '¦V' => 'å‘', - '¦W' => 'å', - '¦X' => 'åˆ', - '¦Y' => 'åƒ', - '¦Z' => 'åŽ', - '¦[' => 'å†', - '¦\\' => 'å’', - '¦]' => 'å› ', - '¦^' => '回', - '¦_' => 'å›', - '¦`' => '圳', - '¦a' => '地', - '¦b' => '在', - '¦c' => '圭', - '¦d' => '圬', - '¦e' => '圯', - '¦f' => '圩', - '¦g' => '夙', - '¦h' => '多', - '¦i' => '夷', - '¦j' => '夸', - '¦k' => '妄', - '¦l' => '奸', - '¦m' => '妃', - '¦n' => '好', - '¦o' => '她', - '¦p' => '如', - '¦q' => 'å¦', - '¦r' => 'å­—', - '¦s' => 'å­˜', - '¦t' => '宇', - '¦u' => '守', - '¦v' => 'å®…', - '¦w' => '安', - '¦x' => '寺', - '¦y' => 'å°–', - '¦z' => 'å±¹', - '¦{' => 'å·ž', - '¦|' => '帆', - '¦}' => '并', - '¦~' => 'å¹´', - '¦¡' => 'å¼', - '¦¢' => 'å¼›', - '¦£' => 'å¿™', - '¦¤' => 'å¿–', - '¦¥' => '戎', - '¦¦' => '戌', - '¦§' => 'æˆ', - '¦¨' => 'æˆ', - '¦©' => '扣', - '¦ª' => '扛', - '¦«' => '托', - '¦¬' => '收', - '¦­' => 'æ—©', - '¦®' => 'æ—¨', - '¦¯' => 'æ—¬', - '¦°' => 'æ—­', - '¦±' => '曲', - '¦²' => '曳', - '¦³' => '有', - '¦´' => '朽', - '¦µ' => '朴', - '¦¶' => '朱', - '¦·' => '朵', - '¦¸' => '次', - '¦¹' => 'æ­¤', - '¦º' => 'æ­»', - '¦»' => 'æ°–', - '¦¼' => 'æ±', - '¦½' => 'æ±—', - '¦¾' => 'æ±™', - '¦¿' => '江', - '¦À' => 'æ± ', - '¦Á' => 'æ±', - '¦Â' => '汕', - '¦Ã' => '污', - '¦Ä' => 'æ±›', - '¦Å' => 'æ±', - '¦Æ' => '汎', - '¦Ç' => 'ç°', - '¦È' => '牟', - '¦É' => 'ç‰', - '¦Ê' => '百', - '¦Ë' => '竹', - '¦Ì' => 'ç±³', - '¦Í' => '糸', - '¦Î' => '缶', - '¦Ï' => '羊', - '¦Ð' => 'ç¾½', - '¦Ñ' => 'è€', - '¦Ò' => '考', - '¦Ó' => '而', - '¦Ô' => '耒', - '¦Õ' => '耳', - '¦Ö' => 'è¿', - '¦×' => '肉', - '¦Ø' => 'è‚‹', - '¦Ù' => 'è‚Œ', - '¦Ú' => '臣', - '¦Û' => '自', - '¦Ü' => '至', - '¦Ý' => '臼', - '¦Þ' => '舌', - '¦ß' => '舛', - '¦à' => '舟', - '¦á' => '艮', - '¦â' => '色', - '¦ã' => '艾', - '¦ä' => '虫', - '¦å' => 'è¡€', - '¦æ' => 'è¡Œ', - '¦ç' => 'è¡£', - '¦è' => '西', - '¦é' => '阡', - '¦ê' => '串', - '¦ë' => '亨', - '¦ì' => 'ä½', - '¦í' => 'ä½', - '¦î' => '佇', - '¦ï' => 'ä½—', - '¦ð' => '佞', - '¦ñ' => 'ä¼´', - '¦ò' => 'ä½›', - '¦ó' => '何', - '¦ô' => 'ä¼°', - '¦õ' => 'ä½', - '¦ö' => '佑', - '¦÷' => 'ä¼½', - '¦ø' => '伺', - '¦ù' => '伸', - '¦ú' => '佃', - '¦û' => 'ä½”', - '¦ü' => 'ä¼¼', - '¦ý' => '但', - '¦þ' => 'ä½£', - '§@' => '作', - '§A' => 'ä½ ', - '§B' => '伯', - '§C' => '低', - '§D' => '伶', - '§E' => 'ä½™', - '§F' => 'ä½', - '§G' => '佈', - '§H' => '佚', - '§I' => 'å…Œ', - '§J' => 'å…‹', - '§K' => 'å…', - '§L' => 'å…µ', - '§M' => '冶', - '§N' => '冷', - '§O' => '別', - '§P' => '判', - '§Q' => '利', - '§R' => '刪', - '§S' => '刨', - '§T' => '劫', - '§U' => '助', - '§V' => '努', - '§W' => '劬', - '§X' => '匣', - '§Y' => 'å³', - '§Z' => 'åµ', - '§[' => 'å', - '§\\' => 'å­', - '§]' => 'åž', - '§^' => 'å¾', - '§_' => 'å¦', - '§`' => 'å‘Ž', - '§a' => 'å§', - '§b' => '呆', - '§c' => '呃', - '§d' => 'å³', - '§e' => '呈', - '§f' => 'å‘‚', - '§g' => 'å›', - '§h' => 'å©', - '§i' => 'å‘Š', - '§j' => 'å¹', - '§k' => 'å»', - '§l' => 'å¸', - '§m' => 'å®', - '§n' => 'åµ', - '§o' => 'å¶', - '§p' => 'å ', - '§q' => 'å¼', - '§r' => 'å‘€', - '§s' => 'å±', - '§t' => 'å«', - '§u' => 'åŸ', - '§v' => 'å¬', - '§w' => '囪', - '§x' => 'å›°', - '§y' => '囤', - '§z' => '囫', - '§{' => 'åŠ', - '§|' => 'å‘', - '§}' => 'å€', - '§~' => 'å', - '§¡' => 'å‡', - '§¢' => 'åŽ', - '§£' => '圾', - '§¤' => 'å', - '§¥' => 'å', - '§¦' => '圻', - '§§' => '壯', - '§¨' => '夾', - '§©' => 'å¦', - '§ª' => '妒', - '§«' => '妨', - '§¬' => '妞', - '§­' => '妣', - '§®' => '妙', - '§¯' => '妖', - '§°' => 'å¦', - '§±' => '妤', - '§²' => '妓', - '§³' => '妊', - '§´' => '妥', - '§µ' => 'å­', - '§¶' => 'å­œ', - '§·' => 'å­š', - '§¸' => 'å­›', - '§¹' => '完', - '§º' => '宋', - '§»' => 'å®', - '§¼' => 'å°¬', - '§½' => 'å±€', - '§¾' => 'å±', - '§¿' => 'å°¿', - '§À' => 'å°¾', - '§Á' => 'å²', - '§Â' => '岑', - '§Ã' => 'å²”', - '§Ä' => '岌', - '§Å' => 'å·«', - '§Æ' => '希', - '§Ç' => 'åº', - '§È' => '庇', - '§É' => '床', - '§Ê' => 'å»·', - '§Ë' => '弄', - '§Ì' => '弟', - '§Í' => '彤', - '§Î' => 'å½¢', - '§Ï' => 'å½·', - '§Ð' => 'å½¹', - '§Ñ' => '忘', - '§Ò' => 'å¿Œ', - '§Ó' => 'å¿—', - '§Ô' => 'å¿', - '§Õ' => '忱', - '§Ö' => 'å¿«', - '§×' => '忸', - '§Ø' => '忪', - '§Ù' => '戒', - '§Ú' => '我', - '§Û' => '抄', - '§Ü' => '抗', - '§Ý' => '抖', - '§Þ' => '技', - '§ß' => '扶', - '§à' => '抉', - '§á' => '扭', - '§â' => '把', - '§ã' => '扼', - '§ä' => '找', - '§å' => '批', - '§æ' => '扳', - '§ç' => '抒', - '§è' => '扯', - '§é' => '折', - '§ê' => '扮', - '§ë' => '投', - '§ì' => '抓', - '§í' => '抑', - '§î' => '抆', - '§ï' => '改', - '§ð' => 'æ”»', - '§ñ' => '攸', - '§ò' => 'æ—±', - '§ó' => 'æ›´', - '§ô' => 'æŸ', - '§õ' => 'æŽ', - '§ö' => 'æ', - '§÷' => 'æ', - '§ø' => 'æ‘', - '§ù' => 'æœ', - '§ú' => 'æ–', - '§û' => 'æž', - '§ü' => 'æ‰', - '§ý' => 'æ†', - '§þ' => 'æ ', - '¨@' => 'æ“', - '¨A' => 'æ—', - '¨B' => 'æ­¥', - '¨C' => 'æ¯', - '¨D' => '求', - '¨E' => '汞', - '¨F' => 'æ²™', - '¨G' => 'æ²', - '¨H' => '沈', - '¨I' => '沉', - '¨J' => 'æ²…', - '¨K' => 'æ²›', - '¨L' => '汪', - '¨M' => '決', - '¨N' => 'æ²', - '¨O' => 'æ±°', - '¨P' => '沌', - '¨Q' => '汨', - '¨R' => 'æ²–', - '¨S' => 'æ²’', - '¨T' => 'æ±½', - '¨U' => '沃', - '¨V' => 'æ±²', - '¨W' => 'æ±¾', - '¨X' => 'æ±´', - '¨Y' => '沆', - '¨Z' => '汶', - '¨[' => 'æ²', - '¨\\' => 'æ²”', - '¨]' => '沘', - '¨^' => '沂', - '¨_' => 'ç¶', - '¨`' => 'ç¼', - '¨a' => 'ç½', - '¨b' => 'ç¸', - '¨c' => '牢', - '¨d' => '牡', - '¨e' => '牠', - '¨f' => 'ç‹„', - '¨g' => 'ç‹‚', - '¨h' => '玖', - '¨i' => '甬', - '¨j' => '甫', - '¨k' => 'ç”·', - '¨l' => '甸', - '¨m' => 'çš‚', - '¨n' => '盯', - '¨o' => '矣', - '¨p' => 'ç§', - '¨q' => '秀', - '¨r' => '禿', - '¨s' => '究', - '¨t' => 'ç³»', - '¨u' => '罕', - '¨v' => 'è‚–', - '¨w' => 'è‚“', - '¨x' => 'è‚', - '¨y' => '肘', - '¨z' => 'è‚›', - '¨{' => 'è‚š', - '¨|' => '育', - '¨}' => '良', - '¨~' => '芒', - '¨¡' => '芋', - '¨¢' => 'èŠ', - '¨£' => '見', - '¨¤' => '角', - '¨¥' => '言', - '¨¦' => 'è°·', - '¨§' => '豆', - '¨¨' => '豕', - '¨©' => 'è²', - '¨ª' => '赤', - '¨«' => 'èµ°', - '¨¬' => '足', - '¨­' => '身', - '¨®' => '車', - '¨¯' => 'è¾›', - '¨°' => 'è¾°', - '¨±' => 'è¿‚', - '¨²' => '迆', - '¨³' => 'è¿…', - '¨´' => 'è¿„', - '¨µ' => 'å·¡', - '¨¶' => 'é‚‘', - '¨·' => 'é‚¢', - '¨¸' => '邪', - '¨¹' => '邦', - '¨º' => 'é‚£', - '¨»' => 'é…‰', - '¨¼' => '釆', - '¨½' => '里', - '¨¾' => '防', - '¨¿' => '阮', - '¨À' => '阱', - '¨Á' => '阪', - '¨Â' => '阬', - '¨Ã' => '並', - '¨Ä' => 'ä¹–', - '¨Å' => 'ä¹³', - '¨Æ' => '事', - '¨Ç' => '些', - '¨È' => '亞', - '¨É' => '享', - '¨Ê' => '京', - '¨Ë' => '佯', - '¨Ì' => 'ä¾', - '¨Í' => 'ä¾', - '¨Î' => 'ä½³', - '¨Ï' => '使', - '¨Ð' => '佬', - '¨Ñ' => 'ä¾›', - '¨Ò' => '例', - '¨Ó' => '來', - '¨Ô' => '侃', - '¨Õ' => 'ä½°', - '¨Ö' => 'ä½µ', - '¨×' => '侈', - '¨Ø' => '佩', - '¨Ù' => 'ä½»', - '¨Ú' => 'ä¾–', - '¨Û' => 'ä½¾', - '¨Ü' => 'ä¾', - '¨Ý' => '侑', - '¨Þ' => '佺', - '¨ß' => 'å…”', - '¨à' => 'å…’', - '¨á' => 'å…•', - '¨â' => 'å…©', - '¨ã' => 'å…·', - '¨ä' => 'å…¶', - '¨å' => 'å…¸', - '¨æ' => '冽', - '¨ç' => '函', - '¨è' => '刻', - '¨é' => '券', - '¨ê' => '刷', - '¨ë' => '刺', - '¨ì' => '到', - '¨í' => '刮', - '¨î' => '制', - '¨ï' => 'å‰', - '¨ð' => '劾', - '¨ñ' => '劻', - '¨ò' => 'å’', - '¨ó' => 'å”', - '¨ô' => 'å“', - '¨õ' => 'å‘', - '¨ö' => 'å¦', - '¨÷' => 'å·', - '¨ø' => 'å¸', - '¨ù' => 'å¹', - '¨ú' => 'å–', - '¨û' => 'å”', - '¨ü' => 'å—', - '¨ý' => '味', - '¨þ' => '呵', - '©@' => 'å’–', - '©A' => '呸', - '©B' => 'å’•', - '©C' => 'å’€', - '©D' => 'å‘»', - '©E' => 'å‘·', - '©F' => 'å’„', - '©G' => 'å’’', - '©H' => 'å’†', - '©I' => '呼', - '©J' => 'å’', - '©K' => '呱', - '©L' => '呶', - '©M' => 'å’Œ', - '©N' => 'å’š', - '©O' => 'å‘¢', - '©P' => '周', - '©Q' => 'å’‹', - '©R' => '命', - '©S' => 'å’Ž', - '©T' => '固', - '©U' => '垃', - '©V' => 'å·', - '©W' => 'åª', - '©X' => 'å©', - '©Y' => 'å¡', - '©Z' => 'å¦', - '©[' => 'å¤', - '©\\' => 'å¼', - '©]' => '夜', - '©^' => '奉', - '©_' => '奇', - '©`' => '奈', - '©a' => '奄', - '©b' => '奔', - '©c' => '妾', - '©d' => '妻', - '©e' => '委', - '©f' => '妹', - '©g' => '妮', - '©h' => '姑', - '©i' => '姆', - '©j' => 'å§', - '©k' => 'å§', - '©l' => '始', - '©m' => '姓', - '©n' => '姊', - '©o' => '妯', - '©p' => '妳', - '©q' => '姒', - '©r' => '姅', - '©s' => 'å­Ÿ', - '©t' => 'å­¤', - '©u' => 'å­£', - '©v' => 'å®—', - '©w' => '定', - '©x' => '官', - '©y' => '宜', - '©z' => 'å®™', - '©{' => 'å®›', - '©|' => 'å°š', - '©}' => '屈', - '©~' => 'å±…', - '©¡' => '屆', - '©¢' => 'å²·', - '©£' => '岡', - '©¤' => '岸', - '©¥' => '岩', - '©¦' => '岫', - '©§' => 'å²±', - '©¨' => 'å²³', - '©©' => '帘', - '©ª' => '帚', - '©«' => '帖', - '©¬' => '帕', - '©­' => '帛', - '©®' => '帑', - '©¯' => '幸', - '©°' => '庚', - '©±' => '店', - '©²' => '府', - '©³' => '底', - '©´' => '庖', - '©µ' => '延', - '©¶' => '弦', - '©·' => '弧', - '©¸' => '弩', - '©¹' => 'å¾€', - '©º' => 'å¾', - '©»' => '彿', - '©¼' => 'å½¼', - '©½' => 'å¿', - '©¾' => 'å¿ ', - '©¿' => '忽', - '©À' => '念', - '©Á' => 'å¿¿', - '©Â' => 'æ€', - '©Ã' => '怔', - '©Ä' => '怯', - '©Å' => '怵', - '©Æ' => '怖', - '©Ç' => '怪', - '©È' => '怕', - '©É' => '怡', - '©Ê' => '性', - '©Ë' => '怩', - '©Ì' => '怫', - '©Í' => '怛', - '©Î' => '或', - '©Ï' => '戕', - '©Ð' => '房', - '©Ñ' => '戾', - '©Ò' => '所', - '©Ó' => '承', - '©Ô' => '拉', - '©Õ' => 'æ‹Œ', - '©Ö' => 'æ‹„', - '©×' => '抿', - '©Ø' => 'æ‹‚', - '©Ù' => '抹', - '©Ú' => 'æ‹’', - '©Û' => 'æ‹›', - '©Ü' => '披', - '©Ý' => 'æ‹“', - '©Þ' => 'æ‹”', - '©ß' => 'æ‹‹', - '©à' => '拈', - '©á' => '抨', - '©â' => '抽', - '©ã' => '押', - '©ä' => 'æ‹', - '©å' => 'æ‹™', - '©æ' => '拇', - '©ç' => 'æ‹', - '©è' => '抵', - '©é' => 'æ‹š', - '©ê' => '抱', - '©ë' => '拘', - '©ì' => 'æ‹–', - '©í' => 'æ‹—', - '©î' => '拆', - '©ï' => '抬', - '©ð' => 'æ‹Ž', - '©ñ' => '放', - '©ò' => 'æ–§', - '©ó' => 'æ–¼', - '©ô' => 'æ—º', - '©õ' => '昔', - '©ö' => '易', - '©÷' => '昌', - '©ø' => '昆', - '©ù' => '昂', - '©ú' => '明', - '©û' => '昀', - '©ü' => 'æ˜', - '©ý' => '昕', - '©þ' => '昊', - 'ª@' => '昇', - 'ªA' => 'æœ', - 'ªB' => '朋', - 'ªC' => 'æ­', - 'ªD' => 'æž‹', - 'ªE' => 'æž•', - 'ªF' => 'æ±', - 'ªG' => 'æžœ', - 'ªH' => 'æ³', - 'ªI' => 'æ·', - 'ªJ' => '枇', - 'ªK' => 'æž', - 'ªL' => 'æž—', - 'ªM' => 'æ¯', - 'ªN' => 'æ°', - 'ªO' => 'æ¿', - 'ªP' => '枉', - 'ªQ' => 'æ¾', - 'ªR' => 'æž', - 'ªS' => 'æµ', - 'ªT' => 'æžš', - 'ªU' => 'æž“', - 'ªV' => 'æ¼', - 'ªW' => 'æª', - 'ªX' => 'æ²', - 'ªY' => '欣', - 'ªZ' => 'æ­¦', - 'ª[' => 'æ­§', - 'ª\\' => 'æ­¿', - 'ª]' => 'æ°“', - 'ª^' => 'æ°›', - 'ª_' => 'æ³£', - 'ª`' => '注', - 'ªa' => 'æ³³', - 'ªb' => 'æ²±', - 'ªc' => '泌', - 'ªd' => 'æ³¥', - 'ªe' => 'æ²³', - 'ªf' => 'æ²½', - 'ªg' => 'æ²¾', - 'ªh' => 'æ²¼', - 'ªi' => 'æ³¢', - 'ªj' => '沫', - 'ªk' => '法', - 'ªl' => '泓', - 'ªm' => '沸', - 'ªn' => '泄', - 'ªo' => 'æ²¹', - 'ªp' => 'æ³', - 'ªq' => 'æ²®', - 'ªr' => 'æ³—', - 'ªs' => 'æ³…', - 'ªt' => 'æ³±', - 'ªu' => '沿', - 'ªv' => 'æ²»', - 'ªw' => '泡', - 'ªx' => 'æ³›', - 'ªy' => '泊', - 'ªz' => '沬', - 'ª{' => '泯', - 'ª|' => '泜', - 'ª}' => 'æ³–', - 'ª~' => 'æ³ ', - 'ª¡' => 'ç‚•', - 'ª¢' => 'ç‚Ž', - 'ª£' => 'ç‚’', - 'ª¤' => 'ç‚Š', - 'ª¥' => 'ç‚™', - 'ª¦' => '爬', - 'ª§' => '爭', - 'ª¨' => '爸', - 'ª©' => '版', - 'ªª' => '牧', - 'ª«' => '物', - 'ª¬' => 'ç‹€', - 'ª­' => 'ç‹Ž', - 'ª®' => 'ç‹™', - 'ª¯' => 'ç‹—', - 'ª°' => 'ç‹', - 'ª±' => '玩', - 'ª²' => '玨', - 'ª³' => '玟', - 'ª´' => '玫', - 'ªµ' => '玥', - 'ª¶' => '甽', - 'ª·' => 'ç–', - 'ª¸' => 'ç–™', - 'ª¹' => 'ç–š', - 'ªº' => 'çš„', - 'ª»' => '盂', - 'ª¼' => '盲', - 'ª½' => 'ç›´', - 'ª¾' => '知', - 'ª¿' => '矽', - 'ªÀ' => '社', - 'ªÁ' => '祀', - 'ªÂ' => 'ç¥', - 'ªÃ' => '秉', - 'ªÄ' => '秈', - 'ªÅ' => '空', - 'ªÆ' => '穹', - 'ªÇ' => '竺', - 'ªÈ' => 'ç³¾', - 'ªÉ' => 'ç½”', - 'ªÊ' => '羌', - 'ªË' => '羋', - 'ªÌ' => '者', - 'ªÍ' => '肺', - 'ªÎ' => 'è‚¥', - 'ªÏ' => 'è‚¢', - 'ªÐ' => '肱', - 'ªÑ' => 'è‚¡', - 'ªÒ' => 'è‚«', - 'ªÓ' => 'è‚©', - 'ªÔ' => 'è‚´', - 'ªÕ' => '肪', - 'ªÖ' => '肯', - 'ª×' => '臥', - 'ªØ' => '臾', - 'ªÙ' => 'èˆ', - 'ªÚ' => '芳', - 'ªÛ' => 'èŠ', - 'ªÜ' => '芙', - 'ªÝ' => '芭', - 'ªÞ' => '芽', - 'ªß' => '芟', - 'ªà' => '芹', - 'ªá' => '花', - 'ªâ' => '芬', - 'ªã' => '芥', - 'ªä' => '芯', - 'ªå' => '芸', - 'ªæ' => '芣', - 'ªç' => '芰', - 'ªè' => '芾', - 'ªé' => '芷', - 'ªê' => '虎', - 'ªë' => 'è™±', - 'ªì' => 'åˆ', - 'ªí' => '表', - 'ªî' => '軋', - 'ªï' => 'è¿Ž', - 'ªð' => 'è¿”', - 'ªñ' => 'è¿‘', - 'ªò' => '邵', - 'ªó' => '邸', - 'ªô' => '邱', - 'ªõ' => '邶', - 'ªö' => '采', - 'ª÷' => '金', - 'ªø' => 'é•·', - 'ªù' => 'é–€', - 'ªú' => '阜', - 'ªû' => '陀', - 'ªü' => '阿', - 'ªý' => '阻', - 'ªþ' => '附', - '«@' => '陂', - '«A' => 'éš¹', - '«B' => '雨', - '«C' => 'é’', - '«D' => 'éž', - '«E' => '亟', - '«F' => '亭', - '«G' => '亮', - '«H' => 'ä¿¡', - '«I' => 'ä¾µ', - '«J' => '侯', - '«K' => '便', - '«L' => 'ä¿ ', - '«M' => 'ä¿‘', - '«N' => 'ä¿', - '«O' => 'ä¿', - '«P' => '促', - '«Q' => '侶', - '«R' => '俘', - '«S' => 'ä¿Ÿ', - '«T' => 'ä¿Š', - '«U' => 'ä¿—', - '«V' => 'ä¾®', - '«W' => 'ä¿', - '«X' => 'ä¿„', - '«Y' => 'ä¿‚', - '«Z' => 'ä¿š', - '«[' => 'ä¿Ž', - '«\\' => 'ä¿ž', - '«]' => 'ä¾·', - '«^' => 'å…—', - '«_' => '冒', - '«`' => '冑', - '«a' => '冠', - '«b' => '剎', - '«c' => '剃', - '«d' => '削', - '«e' => 'å‰', - '«f' => '剌', - '«g' => '剋', - '«h' => '則', - '«i' => '勇', - '«j' => '勉', - '«k' => '勃', - '«l' => 'å‹', - '«m' => 'åŒ', - '«n' => 'å—', - '«o' => 'å»', - '«p' => '厚', - '«q' => 'å›', - '«r' => 'å’¬', - '«s' => 'å“€', - '«t' => 'å’¨', - '«u' => 'å“Ž', - '«v' => '哉', - '«w' => 'å’¸', - '«x' => 'å’¦', - '«y' => 'å’³', - '«z' => '哇', - '«{' => 'å“‚', - '«|' => 'å’½', - '«}' => 'å’ª', - '«~' => 'å“', - '«¡' => 'å“„', - '«¢' => '哈', - '«£' => 'å’¯', - '«¤' => 'å’«', - '«¥' => 'å’±', - '«¦' => 'å’»', - '«§' => 'å’©', - '«¨' => 'å’§', - '«©' => 'å’¿', - '«ª' => '囿', - '««' => 'åž‚', - '«¬' => 'åž‹', - '«­' => 'åž ', - '«®' => '垣', - '«¯' => '垢', - '«°' => '城', - '«±' => 'åž®', - '«²' => 'åž“', - '«³' => '奕', - '«´' => '契', - '«µ' => 'å¥', - '«¶' => '奎', - '«·' => 'å¥', - '«¸' => '姜', - '«¹' => '姘', - '«º' => '姿', - '«»' => '姣', - '«¼' => '姨', - '«½' => '娃', - '«¾' => '姥', - '«¿' => '姪', - '«À' => '姚', - '«Á' => '姦', - '«Â' => 'å¨', - '«Ã' => '姻', - '«Ä' => 'å­©', - '«Å' => '宣', - '«Æ' => '宦', - '«Ç' => '室', - '«È' => '客', - '«É' => '宥', - '«Ê' => 'å°', - '«Ë' => '屎', - '«Ì' => 'å±', - '«Í' => 'å±', - '«Î' => '屋', - '«Ï' => 'å³™', - '«Ð' => 'å³’', - '«Ñ' => 'å··', - '«Ò' => 'å¸', - '«Ó' => '帥', - '«Ô' => '帟', - '«Õ' => 'å¹½', - '«Ö' => '庠', - '«×' => '度', - '«Ø' => '建', - '«Ù' => '弈', - '«Ú' => 'å¼­', - '«Û' => 'å½¥', - '«Ü' => '很', - '«Ý' => 'å¾…', - '«Þ' => '徊', - '«ß' => '律', - '«à' => '徇', - '«á' => '後', - '«â' => '徉', - '«ã' => '怒', - '«ä' => 'æ€', - '«å' => '怠', - '«æ' => '急', - '«ç' => '怎', - '«è' => '怨', - '«é' => 'æ', - '«ê' => 'æ°', - '«ë' => 'æ¨', - '«ì' => 'æ¢', - '«í' => 'æ†', - '«î' => 'æƒ', - '«ï' => 'æ¬', - '«ð' => 'æ«', - '«ñ' => 'æª', - '«ò' => 'æ¤', - '«ó' => 'æ‰', - '«ô' => 'æ‹œ', - '«õ' => '挖', - '«ö' => '按', - '«÷' => '拼', - '«ø' => 'æ‹­', - '«ù' => 'æŒ', - '«ú' => 'æ‹®', - '«û' => '拽', - '«ü' => '指', - '«ý' => '拱', - '«þ' => 'æ‹·', - '¬@' => '拯', - '¬A' => '括', - '¬B' => '拾', - '¬C' => 'æ‹´', - '¬D' => '挑', - '¬E' => '挂', - '¬F' => '政', - '¬G' => 'æ•…', - '¬H' => 'æ–«', - '¬I' => 'æ–½', - '¬J' => 'æ—¢', - '¬K' => '春', - '¬L' => '昭', - '¬M' => '映', - '¬N' => '昧', - '¬O' => '是', - '¬P' => '星', - '¬Q' => '昨', - '¬R' => '昱', - '¬S' => '昤', - '¬T' => 'æ›·', - '¬U' => '柿', - '¬V' => '染', - '¬W' => '柱', - '¬X' => '柔', - '¬Y' => 'æŸ', - '¬Z' => '柬', - '¬[' => '架', - '¬\\' => '枯', - '¬]' => '柵', - '¬^' => '柩', - '¬_' => '柯', - '¬`' => '柄', - '¬a' => '柑', - '¬b' => 'æž´', - '¬c' => '柚', - '¬d' => '查', - '¬e' => '枸', - '¬f' => 'æŸ', - '¬g' => '柞', - '¬h' => '柳', - '¬i' => 'æž°', - '¬j' => '柙', - '¬k' => '柢', - '¬l' => 'æŸ', - '¬m' => '柒', - '¬n' => 'æ­ª', - '¬o' => '殃', - '¬p' => '殆', - '¬q' => '段', - '¬r' => '毒', - '¬s' => '毗', - '¬t' => 'æ°Ÿ', - '¬u' => '泉', - '¬v' => 'æ´‹', - '¬w' => 'æ´²', - '¬x' => 'æ´ª', - '¬y' => 'æµ', - '¬z' => 'æ´¥', - '¬{' => 'æ´Œ', - '¬|' => 'æ´±', - '¬}' => 'æ´ž', - '¬~' => 'æ´—', - '¬¡' => 'æ´»', - '¬¢' => 'æ´½', - '¬£' => 'æ´¾', - '¬¤' => 'æ´¶', - '¬¥' => 'æ´›', - '¬¦' => 'æ³µ', - '¬§' => 'æ´¹', - '¬¨' => 'æ´§', - '¬©' => 'æ´¸', - '¬ª' => 'æ´©', - '¬«' => 'æ´®', - '¬¬' => 'æ´µ', - '¬­' => 'æ´Ž', - '¬®' => 'æ´«', - '¬¯' => 'ç‚«', - '¬°' => '為', - '¬±' => '炳', - '¬²' => '炬', - '¬³' => '炯', - '¬´' => 'ç‚­', - '¬µ' => '炸', - '¬¶' => 'ç‚®', - '¬·' => '炤', - '¬¸' => '爰', - '¬¹' => '牲', - '¬º' => '牯', - '¬»' => '牴', - '¬¼' => 'ç‹©', - '¬½' => 'ç‹ ', - '¬¾' => 'ç‹¡', - '¬¿' => '玷', - '¬À' => 'çŠ', - '¬Á' => '玻', - '¬Â' => '玲', - '¬Ã' => 'ç', - '¬Ä' => 'ç€', - '¬Å' => '玳', - '¬Æ' => '甚', - '¬Ç' => 'ç”­', - '¬È' => 'ç•', - '¬É' => 'ç•Œ', - '¬Ê' => 'ç•Ž', - '¬Ë' => 'ç•‹', - '¬Ì' => 'ç–«', - '¬Í' => 'ç–¤', - '¬Î' => 'ç–¥', - '¬Ï' => 'ç–¢', - '¬Ð' => 'ç–£', - '¬Ñ' => '癸', - '¬Ò' => '皆', - '¬Ó' => '皇', - '¬Ô' => '皈', - '¬Õ' => '盈', - '¬Ö' => '盆', - '¬×' => '盃', - '¬Ø' => 'ç›…', - '¬Ù' => 'çœ', - '¬Ú' => '盹', - '¬Û' => '相', - '¬Ü' => '眉', - '¬Ý' => '看', - '¬Þ' => '盾', - '¬ß' => '盼', - '¬à' => '眇', - '¬á' => '矜', - '¬â' => 'ç ‚', - '¬ã' => 'ç ”', - '¬ä' => 'ç Œ', - '¬å' => 'ç ', - '¬æ' => '祆', - '¬ç' => '祉', - '¬è' => '祈', - '¬é' => '祇', - '¬ê' => '禹', - '¬ë' => '禺', - '¬ì' => '科', - '¬í' => '秒', - '¬î' => '秋', - '¬ï' => 'ç©¿', - '¬ð' => 'çª', - '¬ñ' => 'ç«¿', - '¬ò' => '竽', - '¬ó' => 'ç±½', - '¬ô' => 'ç´‚', - '¬õ' => 'ç´…', - '¬ö' => 'ç´€', - '¬÷' => 'ç´‰', - '¬ø' => 'ç´‡', - '¬ù' => 'ç´„', - '¬ú' => 'ç´†', - '¬û' => '缸', - '¬ü' => '美', - '¬ý' => '羿', - '¬þ' => '耄', - '­@' => 'è€', - '­A' => 'è€', - '­B' => '耑', - '­C' => '耶', - '­D' => '胖', - '­E' => '胥', - '­F' => '胚', - '­G' => '胃', - '­H' => '胄', - '­I' => '背', - '­J' => '胡', - '­K' => '胛', - '­L' => '胎', - '­M' => '胞', - '­N' => '胤', - '­O' => 'èƒ', - '­P' => '致', - '­Q' => '舢', - '­R' => '苧', - '­S' => '范', - '­T' => '茅', - '­U' => 'è‹£', - '­V' => 'è‹›', - '­W' => '苦', - '­X' => '茄', - '­Y' => 'è‹¥', - '­Z' => '茂', - '­[' => '茉', - '­\\' => 'è‹’', - '­]' => 'è‹—', - '­^' => '英', - '­_' => 'èŒ', - '­`' => 'è‹œ', - '­a' => 'è‹”', - '­b' => 'è‹‘', - '­c' => 'è‹ž', - '­d' => 'è‹“', - '­e' => 'è‹Ÿ', - '­f' => '苯', - '­g' => '茆', - '­h' => 'è™', - '­i' => '虹', - '­j' => 'è™»', - '­k' => '虺', - '­l' => 'è¡', - '­m' => 'è¡«', - '­n' => 'è¦', - '­o' => '觔', - '­p' => '計', - '­q' => '訂', - '­r' => '訃', - '­s' => '貞', - '­t' => 'è² ', - '­u' => 'èµ´', - '­v' => 'èµ³', - '­w' => '趴', - '­x' => 'è»', - '­y' => '軌', - '­z' => 'è¿°', - '­{' => '迦', - '­|' => 'è¿¢', - '­}' => '迪', - '­~' => 'è¿¥', - '­¡' => 'è¿­', - '­¢' => 'è¿«', - '­£' => '迤', - '­¤' => '迨', - '­¥' => '郊', - '­¦' => '郎', - '­§' => 'éƒ', - '­¨' => '郃', - '­©' => 'é…‹', - '­ª' => 'é…Š', - '­«' => 'é‡', - '­¬' => 'é–‚', - '­­' => 'é™', - '­®' => '陋', - '­¯' => '陌', - '­°' => 'é™', - '­±' => 'é¢', - '­²' => 'é©', - '­³' => '韋', - '­´' => '韭', - '­µ' => '音', - '­¶' => 'é ', - '­·' => '風', - '­¸' => '飛', - '­¹' => '食', - '­º' => '首', - '­»' => '香', - '­¼' => '乘', - '­½' => '亳', - '­¾' => '倌', - '­¿' => 'å€', - '­À' => '倣', - '­Á' => '俯', - '­Â' => '倦', - '­Ã' => '倥', - '­Ä' => '俸', - '­Å' => '倩', - '­Æ' => '倖', - '­Ç' => '倆', - '­È' => '值', - '­É' => '借', - '­Ê' => '倚', - '­Ë' => '倒', - '­Ì' => '們', - '­Í' => '俺', - '­Î' => '倀', - '­Ï' => '倔', - '­Ð' => '倨', - '­Ñ' => '俱', - '­Ò' => '倡', - '­Ó' => '個', - '­Ô' => '候', - '­Õ' => '倘', - '­Ö' => '俳', - '­×' => 'ä¿®', - '­Ø' => '倭', - '­Ù' => '倪', - '­Ú' => '俾', - '­Û' => '倫', - '­Ü' => '倉', - '­Ý' => 'å…¼', - '­Þ' => '冤', - '­ß' => '冥', - '­à' => '冢', - '­á' => 'å‡', - '­â' => '凌', - '­ã' => '准', - '­ä' => '凋', - '­å' => '剖', - '­æ' => '剜', - '­ç' => '剔', - '­è' => '剛', - '­é' => 'å‰', - '­ê' => '匪', - '­ë' => 'å¿', - '­ì' => '原', - '­í' => 'åŽ', - '­î' => 'åŸ', - '­ï' => '哨', - '­ð' => 'å”', - '­ñ' => 'å”', - '­ò' => 'å”·', - '­ó' => '哼', - '­ô' => 'å“¥', - '­õ' => '哲', - '­ö' => '唆', - '­÷' => '哺', - '­ø' => 'å””', - '­ù' => 'å“©', - '­ú' => 'å“­', - '­û' => 'å“¡', - '­ü' => '唉', - '­ý' => 'å“®', - '­þ' => '哪', - '®@' => '哦', - '®A' => '唧', - '®B' => '唇', - '®C' => '哽', - '®D' => 'å”', - '®E' => '圃', - '®F' => '圄', - '®G' => '埂', - '®H' => '埔', - '®I' => '埋', - '®J' => '埃', - '®K' => 'å ‰', - '®L' => 'å¤', - '®M' => '套', - '®N' => '奘', - '®O' => '奚', - '®P' => '娑', - '®Q' => '娘', - '®R' => '娜', - '®S' => '娟', - '®T' => '娛', - '®U' => '娓', - '®V' => '姬', - '®W' => '娠', - '®X' => '娣', - '®Y' => '娩', - '®Z' => '娥', - '®[' => '娌', - '®\\' => '娉', - '®]' => 'å­«', - '®^' => '屘', - '®_' => 'å®°', - '®`' => '害', - '®a' => '家', - '®b' => 'å®´', - '®c' => 'å®®', - '®d' => '宵', - '®e' => '容', - '®f' => '宸', - '®g' => 'å°„', - '®h' => '屑', - '®i' => '展', - '®j' => 'å±', - '®k' => 'å³­', - '®l' => 'å³½', - '®m' => 'å³»', - '®n' => '峪', - '®o' => '峨', - '®p' => 'å³°', - '®q' => '島', - '®r' => 'å´', - '®s' => 'å³´', - '®t' => 'å·®', - '®u' => '席', - '®v' => '師', - '®w' => '庫', - '®x' => '庭', - '®y' => '座', - '®z' => 'å¼±', - '®{' => 'å¾’', - '®|' => '徑', - '®}' => 'å¾', - '®~' => 'æ™', - '®¡' => 'æ£', - '®¢' => 'æ¥', - '®£' => 'æ', - '®¤' => 'æ•', - '®¥' => 'æ­', - '®¦' => 'æ©', - '®§' => 'æ¯', - '®¨' => 'æ‚„', - '®©' => 'æ‚Ÿ', - '®ª' => 'æ‚š', - '®«' => 'æ‚', - '®¬' => 'æ‚”', - '®­' => 'æ‚Œ', - '®®' => 'æ‚…', - '®¯' => 'æ‚–', - '®°' => '扇', - '®±' => '拳', - '®²' => '挈', - '®³' => 'æ‹¿', - '®´' => 'æŽ', - '®µ' => '挾', - '®¶' => '振', - '®·' => 'æ•', - '®¸' => 'æ‚', - '®¹' => 'æ†', - '®º' => 'æ', - '®»' => 'æ‰', - '®¼' => '挺', - '®½' => 'æ', - '®¾' => '挽', - '®¿' => '挪', - '®À' => '挫', - '®Á' => '挨', - '®Â' => 'æ', - '®Ã' => 'æŒ', - '®Ä' => '效', - '®Å' => '敉', - '®Æ' => 'æ–™', - '®Ç' => 'æ—', - '®È' => 'æ—…', - '®É' => '時', - '®Ê' => '晉', - '®Ë' => 'æ™', - '®Ì' => '晃', - '®Í' => 'æ™’', - '®Î' => '晌', - '®Ï' => 'æ™…', - '®Ð' => 'æ™', - '®Ñ' => '書', - '®Ò' => '朔', - '®Ó' => '朕', - '®Ô' => '朗', - '®Õ' => 'æ ¡', - '®Ö' => 'æ ¸', - '®×' => '案', - '®Ø' => '框', - '®Ù' => 'æ¡“', - '®Ú' => 'æ ¹', - '®Û' => 'æ¡‚', - '®Ü' => 'æ¡”', - '®Ý' => 'æ ©', - '®Þ' => '梳', - '®ß' => 'æ —', - '®à' => 'æ¡Œ', - '®á' => 'æ¡‘', - '®â' => 'æ ½', - '®ã' => '柴', - '®ä' => 'æ¡', - '®å' => 'æ¡€', - '®æ' => 'æ ¼', - '®ç' => '桃', - '®è' => 'æ ª', - '®é' => 'æ¡…', - '®ê' => 'æ “', - '®ë' => 'æ ˜', - '®ì' => 'æ¡', - '®í' => '殊', - '®î' => '殉', - '®ï' => 'æ®·', - '®ð' => 'æ°£', - '®ñ' => 'æ°§', - '®ò' => 'æ°¨', - '®ó' => 'æ°¦', - '®ô' => 'æ°¤', - '®õ' => 'æ³°', - '®ö' => '浪', - '®÷' => '涕', - '®ø' => '消', - '®ù' => '涇', - '®ú' => '浦', - '®û' => '浸', - '®ü' => 'æµ·', - '®ý' => 'æµ™', - '®þ' => '涓', - '¯@' => '浬', - '¯A' => '涉', - '¯B' => 'æµ®', - '¯C' => '浚', - '¯D' => 'æµ´', - '¯E' => '浩', - '¯F' => '涌', - '¯G' => '涊', - '¯H' => 'æµ¹', - '¯I' => '涅', - '¯J' => 'æµ¥', - '¯K' => '涔', - '¯L' => '烊', - '¯M' => '烘', - '¯N' => '烤', - '¯O' => '烙', - '¯P' => '烈', - '¯Q' => 'çƒ', - '¯R' => '爹', - '¯S' => '特', - '¯T' => '狼', - '¯U' => '狹', - '¯V' => '狽', - '¯W' => '狸', - '¯X' => 'ç‹·', - '¯Y' => '玆', - '¯Z' => 'ç­', - '¯[' => 'ç‰', - '¯\\' => 'ç®', - '¯]' => 'ç ', - '¯^' => 'çª', - '¯_' => 'çž', - '¯`' => 'ç•”', - '¯a' => 'ç•', - '¯b' => 'ç•œ', - '¯c' => 'ç•š', - '¯d' => 'ç•™', - '¯e' => 'ç–¾', - '¯f' => 'ç—…', - '¯g' => 'ç—‡', - '¯h' => 'ç–²', - '¯i' => 'ç–³', - '¯j' => 'ç–½', - '¯k' => 'ç–¼', - '¯l' => 'ç–¹', - '¯m' => 'ç—‚', - '¯n' => 'ç–¸', - '¯o' => 'çš‹', - '¯p' => 'çš°', - '¯q' => '益', - '¯r' => 'ç›', - '¯s' => '盎', - '¯t' => '眩', - '¯u' => '真', - '¯v' => '眠', - '¯w' => '眨', - '¯x' => '矩', - '¯y' => 'ç °', - '¯z' => 'ç §', - '¯{' => 'ç ¸', - '¯|' => 'ç ', - '¯}' => 'ç ´', - '¯~' => 'ç ·', - '¯¡' => 'ç ¥', - '¯¢' => 'ç ­', - '¯£' => 'ç  ', - '¯¤' => 'ç Ÿ', - '¯¥' => 'ç ²', - '¯¦' => '祕', - '¯§' => 'ç¥', - '¯¨' => '祠', - '¯©' => '祟', - '¯ª' => '祖', - '¯«' => '神', - '¯¬' => 'ç¥', - '¯­' => '祗', - '¯®' => '祚', - '¯¯' => '秤', - '¯°' => '秣', - '¯±' => '秧', - '¯²' => '租', - '¯³' => '秦', - '¯´' => '秩', - '¯µ' => '秘', - '¯¶' => '窄', - '¯·' => '窈', - '¯¸' => 'ç«™', - '¯¹' => '笆', - '¯º' => '笑', - '¯»' => '粉', - '¯¼' => 'ç´¡', - '¯½' => 'ç´—', - '¯¾' => 'ç´‹', - '¯¿' => 'ç´Š', - '¯À' => 'ç´ ', - '¯Á' => 'ç´¢', - '¯Â' => 'ç´”', - '¯Ã' => 'ç´', - '¯Ä' => 'ç´•', - '¯Å' => 'ç´š', - '¯Æ' => 'ç´œ', - '¯Ç' => 'ç´', - '¯È' => 'ç´™', - '¯É' => 'ç´›', - '¯Ê' => '缺', - '¯Ë' => '罟', - '¯Ì' => 'ç¾”', - '¯Í' => 'ç¿…', - '¯Î' => 'ç¿', - '¯Ï' => '耆', - '¯Ð' => '耘', - '¯Ñ' => '耕', - '¯Ò' => '耙', - '¯Ó' => '耗', - '¯Ô' => '耽', - '¯Õ' => '耿', - '¯Ö' => '胱', - '¯×' => 'è„‚', - '¯Ø' => '胰', - '¯Ù' => 'è„…', - '¯Ú' => '胭', - '¯Û' => '胴', - '¯Ü' => '脆', - '¯Ý' => '胸', - '¯Þ' => '胳', - '¯ß' => '脈', - '¯à' => '能', - '¯á' => 'è„Š', - '¯â' => '胼', - '¯ã' => '胯', - '¯ä' => '臭', - '¯å' => '臬', - '¯æ' => '舀', - '¯ç' => 'èˆ', - '¯è' => '航', - '¯é' => '舫', - '¯ê' => '舨', - '¯ë' => '般', - '¯ì' => '芻', - '¯í' => '茫', - '¯î' => 'è’', - '¯ï' => 'è”', - '¯ð' => 'èŠ', - '¯ñ' => '茸', - '¯ò' => 'è', - '¯ó' => 'è‰', - '¯ô' => '茵', - '¯õ' => '茴', - '¯ö' => 'è', - '¯÷' => '茲', - '¯ø' => '茹', - '¯ù' => '茶', - '¯ú' => '茗', - '¯û' => 'è€', - '¯ü' => '茱', - '¯ý' => '茨', - '¯þ' => 'èƒ', - '°@' => 'è™”', - '°A' => '蚊', - '°B' => '蚪', - '°C' => 'èš“', - '°D' => '蚤', - '°E' => 'èš©', - '°F' => '蚌', - '°G' => '蚣', - '°H' => 'èšœ', - '°I' => 'è¡°', - '°J' => 'è¡·', - '°K' => 'è¢', - '°L' => '袂', - '°M' => '衽', - '°N' => '衹', - '°O' => '記', - '°P' => 'è¨', - '°Q' => '討', - '°R' => '訌', - '°S' => '訕', - '°T' => '訊', - '°U' => '託', - '°V' => '訓', - '°W' => '訖', - '°X' => 'è¨', - '°Y' => '訑', - '°Z' => '豈', - '°[' => '豺', - '°\\' => 'è±¹', - '°]' => '財', - '°^' => 'è²¢', - '°_' => 'èµ·', - '°`' => '躬', - '°a' => 'è»’', - '°b' => 'è»”', - '°c' => 'è»', - '°d' => 'è¾±', - '°e' => 'é€', - '°f' => '逆', - '°g' => 'è¿·', - '°h' => '退', - '°i' => '迺', - '°j' => 'è¿´', - '°k' => '逃', - '°l' => '追', - '°m' => '逅', - '°n' => '迸', - '°o' => 'é‚•', - '°p' => '郡', - '°q' => 'éƒ', - '°r' => '郢', - '°s' => 'é…’', - '°t' => 'é…', - '°u' => 'é…Œ', - '°v' => '釘', - '°w' => 'é‡', - '°x' => '釗', - '°y' => '釜', - '°z' => '釙', - '°{' => 'é–ƒ', - '°|' => '院', - '°}' => '陣', - '°~' => '陡', - '°¡' => 'é™›', - '°¢' => 'é™', - '°£' => '除', - '°¤' => '陘', - '°¥' => '陞', - '°¦' => 'éš»', - '°§' => '飢', - '°¨' => '馬', - '°©' => '骨', - '°ª' => '高', - '°«' => '鬥', - '°¬' => '鬲', - '°­' => '鬼', - '°®' => 'ä¹¾', - '°¯' => 'åº', - '°°' => 'å½', - '°±' => 'åœ', - '°²' => 'å‡', - '°³' => 'åƒ', - '°´' => 'åŒ', - '°µ' => 'åš', - '°¶' => 'å‰', - '°·' => 'å¥', - '°¸' => 'å¶', - '°¹' => 'åŽ', - '°º' => 'å•', - '°»' => 'åµ', - '°¼' => 'å´', - '°½' => 'å·', - '°¾' => 'å', - '°¿' => 'å€', - '°À' => 'å¯', - '°Á' => 'å­', - '°Â' => 'å…œ', - '°Ã' => '冕', - '°Ä' => '凰', - '°Å' => '剪', - '°Æ' => '副', - '°Ç' => 'å‹’', - '°È' => 'å‹™', - '°É' => '勘', - '°Ê' => 'å‹•', - '°Ë' => 'åŒ', - '°Ì' => 'åŒ', - '°Í' => '匙', - '°Î' => '匿', - '°Ï' => 'å€', - '°Ð' => '匾', - '°Ñ' => 'åƒ', - '°Ò' => '曼', - '°Ó' => '商', - '°Ô' => '啪', - '°Õ' => '啦', - '°Ö' => 'å•„', - '°×' => 'å•ž', - '°Ø' => 'å•¡', - '°Ù' => '啃', - '°Ú' => 'å•Š', - '°Û' => 'å”±', - '°Ü' => 'å•–', - '°Ý' => 'å•', - '°Þ' => 'å••', - '°ß' => '唯', - '°à' => '啤', - '°á' => '唸', - '°â' => 'å”®', - '°ã' => 'å•œ', - '°ä' => '唬', - '°å' => 'å•£', - '°æ' => '唳', - '°ç' => 'å•', - '°è' => 'å•—', - '°é' => '圈', - '°ê' => '國', - '°ë' => '圉', - '°ì' => '域', - '°í' => 'å …', - '°î' => 'å Š', - '°ï' => 'å †', - '°ð' => '埠', - '°ñ' => '埤', - '°ò' => '基', - '°ó' => 'å ‚', - '°ô' => 'å µ', - '°õ' => '執', - '°ö' => '培', - '°÷' => '夠', - '°ø' => '奢', - '°ù' => '娶', - '°ú' => 'å©', - '°û' => '婉', - '°ü' => '婦', - '°ý' => '婪', - '°þ' => 'å©€', - '±@' => '娼', - '±A' => 'å©¢', - '±B' => 'å©š', - '±C' => '婆', - '±D' => 'å©Š', - '±E' => 'å­°', - '±F' => '寇', - '±G' => '寅', - '±H' => '寄', - '±I' => '寂', - '±J' => '宿', - '±K' => '密', - '±L' => 'å°‰', - '±M' => 'å°ˆ', - '±N' => 'å°‡', - '±O' => 'å± ', - '±P' => '屜', - '±Q' => 'å±', - '±R' => 'å´‡', - '±S' => 'å´†', - '±T' => 'å´Ž', - '±U' => 'å´›', - '±V' => 'å´–', - '±W' => 'å´¢', - '±X' => 'å´‘', - '±Y' => 'å´©', - '±Z' => 'å´”', - '±[' => 'å´™', - '±\\' => 'å´¤', - '±]' => 'å´§', - '±^' => 'å´—', - '±_' => 'å·¢', - '±`' => '常', - '±a' => '帶', - '±b' => '帳', - '±c' => '帷', - '±d' => '康', - '±e' => '庸', - '±f' => '庶', - '±g' => '庵', - '±h' => '庾', - '±i' => 'å¼µ', - '±j' => 'å¼·', - '±k' => 'å½—', - '±l' => '彬', - '±m' => '彩', - '±n' => '彫', - '±o' => 'å¾—', - '±p' => 'å¾™', - '±q' => '從', - '±r' => '徘', - '±s' => '御', - '±t' => 'å¾ ', - '±u' => '徜', - '±v' => 'æ¿', - '±w' => 'æ‚£', - '±x' => '悉', - '±y' => 'æ‚ ', - '±z' => '您', - '±{' => '惋', - '±|' => 'æ‚´', - '±}' => '惦', - '±~' => '悽', - '±¡' => '情', - '±¢' => 'æ‚»', - '±£' => '悵', - '±¤' => '惜', - '±¥' => '悼', - '±¦' => '惘', - '±§' => '惕', - '±¨' => '惆', - '±©' => '惟', - '±ª' => '悸', - '±«' => '惚', - '±¬' => '惇', - '±­' => '戚', - '±®' => '戛', - '±¯' => '扈', - '±°' => '掠', - '±±' => '控', - '±²' => 'æ²', - '±³' => '掖', - '±´' => '探', - '±µ' => '接', - '±¶' => 'æ·', - '±·' => 'æ§', - '±¸' => '掘', - '±¹' => '措', - '±º' => 'æ±', - '±»' => '掩', - '±¼' => '掉', - '±½' => '掃', - '±¾' => '掛', - '±¿' => 'æ«', - '±À' => '推', - '±Á' => '掄', - '±Â' => '授', - '±Ã' => '掙', - '±Ä' => '採', - '±Å' => '掬', - '±Æ' => '排', - '±Ç' => 'æŽ', - '±È' => '掀', - '±É' => 'æ»', - '±Ê' => 'æ©', - '±Ë' => 'æ¨', - '±Ì' => 'æº', - '±Í' => 'æ•', - '±Î' => 'æ•–', - '±Ï' => 'æ•‘', - '±Ð' => 'æ•™', - '±Ñ' => 'æ•—', - '±Ò' => 'å•Ÿ', - '±Ó' => 'æ•', - '±Ô' => '敘', - '±Õ' => 'æ••', - '±Ö' => 'æ•”', - '±×' => 'æ–œ', - '±Ø' => 'æ–›', - '±Ù' => 'æ–¬', - '±Ú' => 'æ—', - '±Û' => 'æ—‹', - '±Ü' => 'æ—Œ', - '±Ý' => 'æ—Ž', - '±Þ' => 'æ™', - '±ß' => '晚', - '±à' => '晤', - '±á' => '晨', - '±â' => '晦', - '±ã' => '晞', - '±ä' => '曹', - '±å' => 'å‹—', - '±æ' => '望', - '±ç' => 'æ¢', - '±è' => '梯', - '±é' => '梢', - '±ê' => '梓', - '±ë' => '梵', - '±ì' => 'æ¡¿', - '±í' => '桶', - '±î' => '梱', - '±ï' => '梧', - '±ð' => '梗', - '±ñ' => '械', - '±ò' => '梃', - '±ó' => '棄', - '±ô' => '梭', - '±õ' => '梆', - '±ö' => '梅', - '±÷' => '梔', - '±ø' => 'æ¢', - '±ù' => '梨', - '±ú' => '梟', - '±û' => '梡', - '±ü' => '梂', - '±ý' => '欲', - '±þ' => '殺', - '²@' => '毫', - '²A' => '毬', - '²B' => 'æ°«', - '²C' => '涎', - '²D' => '涼', - '²E' => 'æ·³', - '²F' => 'æ·™', - '²G' => '液', - '²H' => 'æ·¡', - '²I' => 'æ·Œ', - '²J' => 'æ·¤', - '²K' => 'æ·»', - '²L' => 'æ·º', - '²M' => '清', - '²N' => 'æ·‡', - '²O' => 'æ·‹', - '²P' => '涯', - '²Q' => 'æ·‘', - '²R' => '涮', - '²S' => 'æ·ž', - '²T' => 'æ·¹', - '²U' => '涸', - '²V' => 'æ··', - '²W' => 'æ·µ', - '²X' => 'æ·…', - '²Y' => 'æ·’', - '²Z' => '渚', - '²[' => '涵', - '²\\' => 'æ·š', - '²]' => 'æ·«', - '²^' => 'æ·˜', - '²_' => 'æ·ª', - '²`' => 'æ·±', - '²a' => 'æ·®', - '²b' => 'æ·¨', - '²c' => 'æ·†', - '²d' => 'æ·„', - '²e' => '涪', - '²f' => 'æ·¬', - '²g' => '涿', - '²h' => 'æ·¦', - '²i' => '烹', - '²j' => '焉', - '²k' => 'ç„Š', - '²l' => '烽', - '²m' => '烯', - '²n' => '爽', - '²o' => '牽', - '²p' => 'çŠ', - '²q' => '猜', - '²r' => '猛', - '²s' => '猖', - '²t' => '猓', - '²u' => '猙', - '²v' => '率', - '²w' => 'ç…', - '²x' => 'çŠ', - '²y' => 'çƒ', - '²z' => 'ç†', - '²{' => 'ç¾', - '²|' => 'ç', - '²}' => 'ç“ ', - '²~' => '瓶', - '²¡' => 'ç“·', - '²¢' => '甜', - '²£' => '產', - '²¤' => 'ç•¥', - '²¥' => '畦', - '²¦' => 'ç•¢', - '²§' => 'ç•°', - '²¨' => 'ç–', - '²©' => 'ç—”', - '²ª' => 'ç—•', - '²«' => 'ç–µ', - '²¬' => 'ç—Š', - '²­' => 'ç—', - '²®' => '皎', - '²¯' => 'ç›”', - '²°' => 'ç›’', - '²±' => 'ç››', - '²²' => '眷', - '²³' => '眾', - '²´' => '眼', - '²µ' => '眶', - '²¶' => '眸', - '²·' => '眺', - '²¸' => 'ç¡«', - '²¹' => '硃', - '²º' => 'ç¡Ž', - '²»' => '祥', - '²¼' => '票', - '²½' => '祭', - '²¾' => '移', - '²¿' => '窒', - '²À' => '窕', - '²Á' => '笠', - '²Â' => '笨', - '²Ã' => '笛', - '²Ä' => '第', - '²Å' => '符', - '²Æ' => '笙', - '²Ç' => '笞', - '²È' => '笮', - '²É' => 'ç²’', - '²Ê' => 'ç²—', - '²Ë' => '粕', - '²Ì' => '絆', - '²Í' => '絃', - '²Î' => 'çµ±', - '²Ï' => 'ç´®', - '²Ð' => 'ç´¹', - '²Ñ' => 'ç´¼', - '²Ò' => 'çµ€', - '²Ó' => 'ç´°', - '²Ô' => 'ç´³', - '²Õ' => '組', - '²Ö' => 'ç´¯', - '²×' => '終', - '²Ø' => 'ç´²', - '²Ù' => 'ç´±', - '²Ú' => 'ç¼½', - '²Û' => '羞', - '²Ü' => '羚', - '²Ý' => 'ç¿Œ', - '²Þ' => 'ç¿Ž', - '²ß' => 'ç¿’', - '²à' => '耜', - '²á' => 'èŠ', - '²â' => 'è†', - '²ã' => '脯', - '²ä' => 'è„–', - '²å' => 'è„£', - '²æ' => 'è„«', - '²ç' => 'è„©', - '²è' => 'è„°', - '²é' => '脤', - '²ê' => '舂', - '²ë' => '舵', - '²ì' => '舷', - '²í' => '舶', - '²î' => '船', - '²ï' => '莎', - '²ð' => '莞', - '²ñ' => '莘', - '²ò' => 'è¸', - '²ó' => '莢', - '²ô' => '莖', - '²õ' => '莽', - '²ö' => '莫', - '²÷' => '莒', - '²ø' => '莊', - '²ù' => '莓', - '²ú' => '莉', - '²û' => '莠', - '²ü' => 'è·', - '²ý' => 'è»', - '²þ' => 'è¼', - '³@' => '莆', - '³A' => '莧', - '³B' => '處', - '³C' => '彪', - '³D' => '蛇', - '³E' => '蛀', - '³F' => '蚶', - '³G' => '蛄', - '³H' => 'èšµ', - '³I' => '蛆', - '³J' => '蛋', - '³K' => 'èš±', - '³L' => '蚯', - '³M' => '蛉', - '³N' => 'è¡“', - '³O' => '袞', - '³P' => '袈', - '³Q' => '被', - '³R' => '袒', - '³S' => '袖', - '³T' => 'è¢', - '³U' => '袋', - '³V' => '覓', - '³W' => 'è¦', - '³X' => '訪', - '³Y' => 'è¨', - '³Z' => '訣', - '³[' => '訥', - '³\\' => '許', - '³]' => '設', - '³^' => '訟', - '³_' => '訛', - '³`' => '訢', - '³a' => '豉', - '³b' => '豚', - '³c' => '販', - '³d' => '責', - '³e' => '貫', - '³f' => '貨', - '³g' => '貪', - '³h' => '貧', - '³i' => '赧', - '³j' => '赦', - '³k' => '趾', - '³l' => '趺', - '³m' => 'è»›', - '³n' => '軟', - '³o' => '這', - '³p' => 'é€', - '³q' => '通', - '³r' => '逗', - '³s' => '連', - '³t' => '速', - '³u' => 'é€', - '³v' => 'é€', - '³w' => '逕', - '³x' => '逞', - '³y' => '造', - '³z' => 'é€', - '³{' => '逢', - '³|' => '逖', - '³}' => '逛', - '³~' => '途', - '³¡' => '部', - '³¢' => '郭', - '³£' => '都', - '³¤' => 'é…—', - '³¥' => '野', - '³¦' => '釵', - '³§' => '釦', - '³¨' => '釣', - '³©' => '釧', - '³ª' => '釭', - '³«' => '釩', - '³¬' => 'é–‰', - '³­' => '陪', - '³®' => '陵', - '³¯' => '陳', - '³°' => '陸', - '³±' => 'é™°', - '³²' => 'é™´', - '³³' => '陶', - '³´' => 'é™·', - '³µ' => '陬', - '³¶' => '雀', - '³·' => '雪', - '³¸' => '雩', - '³¹' => 'ç« ', - '³º' => 'ç«Ÿ', - '³»' => 'é ‚', - '³¼' => 'é ƒ', - '³½' => 'é­š', - '³¾' => 'é³¥', - '³¿' => 'é¹µ', - '³À' => '鹿', - '³Á' => '麥', - '³Â' => '麻', - '³Ã' => 'å‚¢', - '³Ä' => 'å‚', - '³Å' => 'å‚…', - '³Æ' => 'å‚™', - '³Ç' => 'å‚‘', - '³È' => 'å‚€', - '³É' => 'å‚–', - '³Ê' => '傘', - '³Ë' => 'å‚š', - '³Ì' => '最', - '³Í' => '凱', - '³Î' => '割', - '³Ï' => '剴', - '³Ð' => '創', - '³Ñ' => '剩', - '³Ò' => 'å‹ž', - '³Ó' => 'å‹', - '³Ô' => 'å‹›', - '³Õ' => 'åš', - '³Ö' => '厥', - '³×' => 'å•»', - '³Ø' => 'å–€', - '³Ù' => 'å–§', - '³Ú' => '啼', - '³Û' => 'å–Š', - '³Ü' => 'å–', - '³Ý' => 'å–˜', - '³Þ' => 'å–‚', - '³ß' => 'å–œ', - '³à' => 'å–ª', - '³á' => 'å–”', - '³â' => 'å–‡', - '³ã' => 'å–‹', - '³ä' => 'å–ƒ', - '³å' => 'å–³', - '³æ' => 'å–®', - '³ç' => 'å–Ÿ', - '³è' => '唾', - '³é' => 'å–²', - '³ê' => 'å–š', - '³ë' => 'å–»', - '³ì' => 'å–¬', - '³í' => 'å–±', - '³î' => '啾', - '³ï' => 'å–‰', - '³ð' => 'å–«', - '³ñ' => 'å–™', - '³ò' => 'åœ', - '³ó' => 'å ¯', - '³ô' => 'å ª', - '³õ' => 'å ´', - '³ö' => 'å ¤', - '³÷' => 'å °', - '³ø' => 'å ±', - '³ù' => 'å ¡', - '³ú' => 'å ', - '³û' => 'å  ', - '³ü' => '壹', - '³ý' => '壺', - '³þ' => '奠', - '´@' => 'å©·', - '´A' => '媚', - '´B' => 'å©¿', - '´C' => '媒', - '´D' => '媛', - '´E' => '媧', - '´F' => 'å­³', - '´G' => 'å­±', - '´H' => '寒', - '´I' => '富', - '´J' => '寓', - '´K' => 'å¯', - '´L' => 'å°Š', - '´M' => 'å°‹', - '´N' => 'å°±', - '´O' => '嵌', - '´P' => 'åµ', - '´Q' => 'å´´', - '´R' => '嵇', - '´S' => 'å·½', - '´T' => 'å¹…', - '´U' => '帽', - '´V' => 'å¹€', - '´W' => '幃', - '´X' => 'å¹¾', - '´Y' => '廊', - '´Z' => 'å»', - '´[' => '廂', - '´\\' => '廄', - '´]' => 'å¼¼', - '´^' => 'å½­', - '´_' => '復', - '´`' => '循', - '´a' => '徨', - '´b' => '惑', - '´c' => '惡', - '´d' => '悲', - '´e' => '悶', - '´f' => '惠', - '´g' => 'æ„œ', - '´h' => 'æ„£', - '´i' => '惺', - '´j' => 'æ„•', - '´k' => '惰', - '´l' => '惻', - '´m' => '惴', - '´n' => 'æ…¨', - '´o' => '惱', - '´p' => 'æ„Ž', - '´q' => '惶', - '´r' => '愉', - '´s' => 'æ„€', - '´t' => 'æ„’', - '´u' => '戟', - '´v' => '扉', - '´w' => '掣', - '´x' => '掌', - '´y' => 'æ', - '´z' => 'æ€', - '´{' => 'æ©', - '´|' => 'æ‰', - '´}' => 'æ†', - '´~' => 'æ', - '´¡' => 'æ’', - '´¢' => 'æ£', - '´£' => 'æ', - '´¤' => 'æ¡', - '´¥' => 'æ–', - '´¦' => 'æ­', - '´§' => 'æ®', - '´¨' => 'æ¶', - '´©' => 'æ´', - '´ª' => 'æª', - '´«' => 'æ›', - '´¬' => 'æ‘’', - '´­' => 'æš', - '´®' => 'æ¹', - '´¯' => 'æ•ž', - '´°' => '敦', - '´±' => 'æ•¢', - '´²' => 'æ•£', - '´³' => 'æ–‘', - '´´' => 'æ–', - '´µ' => 'æ–¯', - '´¶' => 'æ™®', - '´·' => 'æ™°', - '´¸' => 'æ™´', - '´¹' => '晶', - '´º' => '景', - '´»' => 'æš‘', - '´¼' => '智', - '´½' => '晾', - '´¾' => 'æ™·', - '´¿' => '曾', - '´À' => '替', - '´Á' => '期', - '´Â' => 'æœ', - '´Ã' => '棺', - '´Ä' => '棕', - '´Å' => '棠', - '´Æ' => '棘', - '´Ç' => '棗', - '´È' => '椅', - '´É' => '棟', - '´Ê' => '棵', - '´Ë' => '森', - '´Ì' => '棧', - '´Í' => '棹', - '´Î' => '棒', - '´Ï' => '棲', - '´Ð' => '棣', - '´Ñ' => '棋', - '´Ò' => 'æ£', - '´Ó' => 'æ¤', - '´Ô' => '椒', - '´Õ' => '椎', - '´Ö' => '棉', - '´×' => '棚', - '´Ø' => '楮', - '´Ù' => '棻', - '´Ú' => '款', - '´Û' => '欺', - '´Ü' => '欽', - '´Ý' => '殘', - '´Þ' => 'æ®–', - '´ß' => '殼', - '´à' => '毯', - '´á' => 'æ°®', - '´â' => 'æ°¯', - '´ã' => 'æ°¬', - '´ä' => '港', - '´å' => '游', - '´æ' => 'æ¹”', - '´ç' => '渡', - '´è' => '渲', - '´é' => '湧', - '´ê' => '湊', - '´ë' => '渠', - '´ì' => '渥', - '´í' => '渣', - '´î' => '減', - '´ï' => 'æ¹›', - '´ð' => '湘', - '´ñ' => '渤', - '´ò' => 'æ¹–', - '´ó' => 'æ¹®', - '´ô' => '渭', - '´õ' => '渦', - '´ö' => '湯', - '´÷' => '渴', - '´ø' => 'æ¹', - '´ù' => '渺', - '´ú' => '測', - '´û' => '湃', - '´ü' => 'æ¸', - '´ý' => '渾', - '´þ' => '滋', - 'µ@' => '溉', - 'µA' => '渙', - 'µB' => '湎', - 'µC' => 'æ¹£', - 'µD' => '湄', - 'µE' => 'æ¹²', - 'µF' => '湩', - 'µG' => '湟', - 'µH' => 'ç„™', - 'µI' => 'ç„š', - 'µJ' => '焦', - 'µK' => 'ç„°', - 'µL' => 'ç„¡', - 'µM' => '然', - 'µN' => 'ç…®', - 'µO' => 'ç„œ', - 'µP' => '牌', - 'µQ' => '犄', - 'µR' => '犀', - 'µS' => '猶', - 'µT' => '猥', - 'µU' => '猴', - 'µV' => '猩', - 'µW' => 'çº', - 'µX' => 'çª', - 'µY' => 'ç³', - 'µZ' => 'ç¢', - 'µ[' => 'ç¥', - 'µ\\' => 'çµ', - 'µ]' => 'ç¶', - 'µ^' => 'ç´', - 'µ_' => 'ç¯', - 'µ`' => 'ç›', - 'µa' => 'ç¦', - 'µb' => 'ç¨', - 'µc' => '甥', - 'µd' => '甦', - 'µe' => 'ç•«', - 'µf' => '番', - 'µg' => 'ç—¢', - 'µh' => 'ç—›', - 'µi' => 'ç—£', - 'µj' => 'ç—™', - 'µk' => 'ç—˜', - 'µl' => 'ç—ž', - 'µm' => 'ç— ', - 'µn' => 'ç™»', - 'µo' => '發', - 'µp' => 'çš–', - 'µq' => 'çš“', - 'µr' => 'çš´', - 'µs' => '盜', - 'µt' => 'ç', - 'µu' => '短', - 'µv' => 'ç¡', - 'µw' => '硬', - 'µx' => '硯', - 'µy' => 'ç¨', - 'µz' => '稈', - 'µ{' => '程', - 'µ|' => '稅', - 'µ}' => '稀', - 'µ~' => '窘', - 'µ¡' => '窗', - 'µ¢' => '窖', - 'µ£' => 'ç«¥', - 'µ¤' => 'ç«£', - 'µ¥' => 'ç­‰', - 'µ¦' => 'ç­–', - 'µ§' => 'ç­†', - 'µ¨' => 'ç­', - 'µ©' => 'ç­’', - 'µª' => 'ç­”', - 'µ«' => 'ç­', - 'µ¬' => 'ç­‹', - 'µ­' => 'ç­', - 'µ®' => 'ç­‘', - 'µ¯' => '粟', - 'µ°' => 'ç²¥', - 'µ±' => '絞', - 'µ²' => 'çµ', - 'µ³' => '絨', - 'µ´' => '絕', - 'µµ' => 'ç´«', - 'µ¶' => 'çµ®', - 'µ·' => 'çµ²', - 'µ¸' => '絡', - 'µ¹' => '給', - 'µº' => 'çµ¢', - 'µ»' => 'çµ°', - 'µ¼' => 'çµ³', - 'µ½' => 'å–„', - 'µ¾' => 'ç¿”', - 'µ¿' => 'ç¿•', - 'µÀ' => '耋', - 'µÁ' => 'è’', - 'µÂ' => 'è‚…', - 'µÃ' => 'è…•', - 'µÄ' => 'è…”', - 'µÅ' => 'è…‹', - 'µÆ' => 'è…‘', - 'µÇ' => 'è…Ž', - 'µÈ' => '脹', - 'µÉ' => 'è…†', - 'µÊ' => '脾', - 'µË' => 'è…Œ', - 'µÌ' => 'è…“', - 'µÍ' => 'è…´', - 'µÎ' => '舒', - 'µÏ' => '舜', - 'µÐ' => 'è©', - 'µÑ' => 'èƒ', - 'µÒ' => 'è¸', - 'µÓ' => 'è', - 'µÔ' => 'è ', - 'µÕ' => 'è…', - 'µÖ' => 'è‹', - 'µ×' => 'è', - 'µØ' => 'è¯', - 'µÙ' => 'è±', - 'µÚ' => 'è´', - 'µÛ' => 'è‘—', - 'µÜ' => 'èŠ', - 'µÝ' => 'è°', - 'µÞ' => 'èŒ', - 'µß' => 'èŒ', - 'µà' => 'è½', - 'µá' => 'è²', - 'µâ' => 'èŠ', - 'µã' => 'è¸', - 'µä' => 'èŽ', - 'µå' => 'è„', - 'µæ' => 'èœ', - 'µç' => 'è‡', - 'µè' => 'è”', - 'µé' => 'èŸ', - 'µê' => 'è™›', - 'µë' => '蛟', - 'µì' => 'è›™', - 'µí' => 'è›­', - 'µî' => 'è›”', - 'µï' => 'è››', - 'µð' => '蛤', - 'µñ' => 'è›', - 'µò' => '蛞', - 'µó' => 'è¡—', - 'µô' => 'è£', - 'µõ' => '裂', - 'µö' => '袱', - 'µ÷' => '覃', - 'µø' => '視', - 'µù' => '註', - 'µú' => 'è© ', - 'µû' => 'è©•', - 'µü' => 'è©ž', - 'µý' => '証', - 'µþ' => 'è©', - '¶@' => 'è©”', - '¶A' => 'è©›', - '¶B' => 'è©', - '¶C' => '詆', - '¶D' => '訴', - '¶E' => '診', - '¶F' => '訶', - '¶G' => 'è©–', - '¶H' => '象', - '¶I' => '貂', - '¶J' => '貯', - '¶K' => 'è²¼', - '¶L' => 'è²³', - '¶M' => 'è²½', - '¶N' => 'è³', - '¶O' => 'è²»', - '¶P' => 'è³€', - '¶Q' => 'è²´', - '¶R' => 'è²·', - '¶S' => '貶', - '¶T' => '貿', - '¶U' => '貸', - '¶V' => '越', - '¶W' => '超', - '¶X' => 'è¶', - '¶Y' => 'è·Ž', - '¶Z' => 'è·', - '¶[' => 'è·‹', - '¶\\' => 'è·š', - '¶]' => 'è·‘', - '¶^' => 'è·Œ', - '¶_' => 'è·›', - '¶`' => 'è·†', - '¶a' => 'è»»', - '¶b' => '軸', - '¶c' => '軼', - '¶d' => '辜', - '¶e' => '逮', - '¶f' => '逵', - '¶g' => '週', - '¶h' => '逸', - '¶i' => '進', - '¶j' => '逶', - '¶k' => 'é„‚', - '¶l' => '郵', - '¶m' => '鄉', - '¶n' => '郾', - '¶o' => 'é…£', - '¶p' => 'é…¥', - '¶q' => 'é‡', - '¶r' => '鈔', - '¶s' => '鈕', - '¶t' => '鈣', - '¶u' => '鈉', - '¶v' => '鈞', - '¶w' => 'éˆ', - '¶x' => 'éˆ', - '¶y' => '鈇', - '¶z' => '鈑', - '¶{' => 'é–”', - '¶|' => 'é–', - '¶}' => 'é–‹', - '¶~' => 'é–‘', - '¶¡' => 'é–“', - '¶¢' => 'é–’', - '¶£' => 'é–Ž', - '¶¤' => '隊', - '¶¥' => '階', - '¶¦' => 'éš‹', - '¶§' => '陽', - '¶¨' => 'éš…', - '¶©' => '隆', - '¶ª' => 'éš', - '¶«' => '陲', - '¶¬' => 'éš„', - '¶­' => 'é›', - '¶®' => 'é›…', - '¶¯' => '雄', - '¶°' => '集', - '¶±' => '雇', - '¶²' => '雯', - '¶³' => '雲', - '¶´' => '韌', - '¶µ' => 'é …', - '¶¶' => 'é †', - '¶·' => 'é ˆ', - '¶¸' => '飧', - '¶¹' => '飪', - '¶º' => '飯', - '¶»' => '飩', - '¶¼' => '飲', - '¶½' => '飭', - '¶¾' => '馮', - '¶¿' => '馭', - '¶À' => '黃', - '¶Á' => 'é»', - '¶Â' => '黑', - '¶Ã' => '亂', - '¶Ä' => 'å‚­', - '¶Å' => '債', - '¶Æ' => '傲', - '¶Ç' => '傳', - '¶È' => '僅', - '¶É' => '傾', - '¶Ê' => '催', - '¶Ë' => 'å‚·', - '¶Ì' => 'å‚»', - '¶Í' => '傯', - '¶Î' => '僇', - '¶Ï' => '剿', - '¶Ð' => '剷', - '¶Ñ' => '剽', - '¶Ò' => 'å‹Ÿ', - '¶Ó' => '勦', - '¶Ô' => '勤', - '¶Õ' => 'å‹¢', - '¶Ö' => 'å‹£', - '¶×' => '匯', - '¶Ø' => 'å—Ÿ', - '¶Ù' => 'å—¨', - '¶Ú' => 'å—“', - '¶Û' => 'å—¦', - '¶Ü' => 'å—Ž', - '¶Ý' => 'å—œ', - '¶Þ' => 'å—‡', - '¶ß' => 'å—‘', - '¶à' => 'å—£', - '¶á' => 'å—¤', - '¶â' => 'å—¯', - '¶ã' => 'å—š', - '¶ä' => 'å—¡', - '¶å' => 'å—…', - '¶æ' => 'å—†', - '¶ç' => 'å—¥', - '¶è' => 'å—‰', - '¶é' => '園', - '¶ê' => '圓', - '¶ë' => 'å¡ž', - '¶ì' => 'å¡‘', - '¶í' => '塘', - '¶î' => 'å¡—', - '¶ï' => 'å¡š', - '¶ð' => 'å¡”', - '¶ñ' => 'å¡«', - '¶ò' => 'å¡Œ', - '¶ó' => 'å¡­', - '¶ô' => 'å¡Š', - '¶õ' => 'å¡¢', - '¶ö' => 'å¡’', - '¶÷' => 'å¡‹', - '¶ø' => '奧', - '¶ù' => 'å«', - '¶ú' => '嫉', - '¶û' => 'å«Œ', - '¶ü' => '媾', - '¶ý' => '媽', - '¶þ' => '媼', - '·@' => '媳', - '·A' => 'å«‚', - '·B' => '媲', - '·C' => '嵩', - '·D' => '嵯', - '·E' => '幌', - '·F' => 'å¹¹', - '·G' => '廉', - '·H' => '廈', - '·I' => 'å¼’', - '·J' => 'å½™', - '·K' => '徬', - '·L' => 'å¾®', - '·M' => 'æ„š', - '·N' => 'æ„', - '·O' => 'æ…ˆ', - '·P' => 'æ„Ÿ', - '·Q' => '想', - '·R' => 'æ„›', - '·S' => '惹', - '·T' => 'æ„', - '·U' => '愈', - '·V' => 'æ…Ž', - '·W' => 'æ…Œ', - '·X' => 'æ…„', - '·Y' => 'æ…', - '·Z' => '愾', - '·[' => 'æ„´', - '·\\' => '愧', - '·]' => 'æ„', - '·^' => '愆', - '·_' => 'æ„·', - '·`' => '戡', - '·a' => '戢', - '·b' => 'æ“', - '·c' => 'æ¾', - '·d' => 'æž', - '·e' => 'æª', - '·f' => 'æ­', - '·g' => 'æ½', - '·h' => 'æ¬', - '·i' => 'æ', - '·j' => 'æœ', - '·k' => 'æ”', - '·l' => 'æ', - '·m' => 'æ¶', - '·n' => 'æ–', - '·o' => 'æ—', - '·p' => 'æ†', - '·q' => '敬', - '·r' => 'æ–Ÿ', - '·s' => 'æ–°', - '·t' => 'æš—', - '·u' => '暉', - '·v' => '暇', - '·w' => '暈', - '·x' => 'æš–', - '·y' => 'æš„', - '·z' => '暘', - '·{' => 'æš', - '·|' => '會', - '·}' => '榔', - '·~' => '業', - '·¡' => '楚', - '·¢' => '楷', - '·£' => '楠', - '·¤' => '楔', - '·¥' => '極', - '·¦' => '椰', - '·§' => '概', - '·¨' => '楊', - '·©' => '楨', - '·ª' => '楫', - '·«' => '楞', - '·¬' => '楓', - '·­' => '楹', - '·®' => '榆', - '·¯' => 'æ¥', - '·°' => '楣', - '·±' => '楛', - '·²' => 'æ­‡', - '·³' => 'æ­²', - '·´' => '毀', - '·µ' => '殿', - '·¶' => '毓', - '··' => '毽', - '·¸' => '溢', - '·¹' => '溯', - '·º' => '滓', - '·»' => '溶', - '·¼' => '滂', - '·½' => 'æº', - '·¾' => 'æº', - '·¿' => '滇', - '·À' => 'æ»…', - '·Á' => '溥', - '·Â' => '溘', - '·Ã' => '溼', - '·Ä' => '溺', - '·Å' => '溫', - '·Æ' => '滑', - '·Ç' => '準', - '·È' => '溜', - '·É' => '滄', - '·Ê' => 'æ»”', - '·Ë' => '溪', - '·Ì' => '溧', - '·Í' => '溴', - '·Î' => 'ç…Ž', - '·Ï' => 'ç…™', - '·Ð' => 'ç…©', - '·Ñ' => 'ç…¤', - '·Ò' => 'ç…‰', - '·Ó' => 'ç…§', - '·Ô' => 'ç…œ', - '·Õ' => 'ç…¬', - '·Ö' => 'ç…¦', - '·×' => 'ç…Œ', - '·Ø' => 'ç…¥', - '·Ù' => 'ç…ž', - '·Ú' => 'ç…†', - '·Û' => 'ç…¨', - '·Ü' => 'ç…–', - '·Ý' => '爺', - '·Þ' => '牒', - '·ß' => '猷', - '·à' => 'ç…', - '·á' => '猿', - '·â' => '猾', - '·ã' => '瑯', - '·ä' => 'ç‘š', - '·å' => 'ç‘•', - '·æ' => 'ç‘Ÿ', - '·ç' => 'ç‘ž', - '·è' => 'ç‘', - '·é' => 'ç¿', - '·ê' => 'ç‘™', - '·ë' => 'ç‘›', - '·ì' => 'ç‘œ', - '·í' => '當', - '·î' => '畸', - '·ï' => '瘀', - '·ð' => 'ç—°', - '·ñ' => 'ç˜', - '·ò' => 'ç—²', - '·ó' => 'ç—±', - '·ô' => 'ç—º', - '·õ' => 'ç—¿', - '·ö' => 'ç—´', - '·÷' => 'ç—³', - '·ø' => '盞', - '·ù' => '盟', - '·ú' => 'ç›', - '·û' => 'ç«', - '·ü' => 'ç¦', - '·ý' => 'çž', - '·þ' => 'ç£', - '¸@' => 'ç¹', - '¸A' => 'çª', - '¸B' => 'ç¬', - '¸C' => 'çœ', - '¸D' => 'ç¥', - '¸E' => 'ç¨', - '¸F' => 'ç¢', - '¸G' => '矮', - '¸H' => '碎', - '¸I' => '碰', - '¸J' => '碗', - '¸K' => '碘', - '¸L' => '碌', - '¸M' => '碉', - '¸N' => '硼', - '¸O' => '碑', - '¸P' => '碓', - '¸Q' => 'ç¡¿', - '¸R' => '祺', - '¸S' => '祿', - '¸T' => 'ç¦', - '¸U' => 'è¬', - '¸V' => '禽', - '¸W' => '稜', - '¸X' => '稚', - '¸Y' => '稠', - '¸Z' => '稔', - '¸[' => '稟', - '¸\\' => '稞', - '¸]' => '窟', - '¸^' => '窠', - '¸_' => 'ç­·', - '¸`' => '節', - '¸a' => 'ç­ ', - '¸b' => 'ç­®', - '¸c' => 'ç­§', - '¸d' => 'ç²±', - '¸e' => 'ç²³', - '¸f' => 'ç²µ', - '¸g' => '經', - '¸h' => 'çµ¹', - '¸i' => '綑', - '¸j' => 'ç¶', - '¸k' => 'ç¶', - '¸l' => 'çµ›', - '¸m' => 'ç½®', - '¸n' => '罩', - '¸o' => '罪', - '¸p' => 'ç½²', - '¸q' => '義', - '¸r' => '羨', - '¸s' => '群', - '¸t' => 'è–', - '¸u' => 'è˜', - '¸v' => '肆', - '¸w' => 'è‚„', - '¸x' => 'è…±', - '¸y' => 'è…°', - '¸z' => 'è…¸', - '¸{' => 'è…¥', - '¸|' => 'è…®', - '¸}' => 'è…³', - '¸~' => 'è…«', - '¸¡' => 'è…¹', - '¸¢' => 'è…º', - '¸£' => 'è…¦', - '¸¤' => '舅', - '¸¥' => '艇', - '¸¦' => 'è’‚', - '¸§' => 'è‘·', - '¸¨' => 'è½', - '¸©' => 'è±', - '¸ª' => '葵', - '¸«' => '葦', - '¸¬' => 'è‘«', - '¸­' => '葉', - '¸®' => '葬', - '¸¯' => 'è‘›', - '¸°' => 'è¼', - '¸±' => 'èµ', - '¸²' => 'è‘¡', - '¸³' => 'è‘£', - '¸´' => 'è‘©', - '¸µ' => 'è‘­', - '¸¶' => '葆', - '¸·' => '虞', - '¸¸' => '虜', - '¸¹' => '號', - '¸º' => '蛹', - '¸»' => '蜓', - '¸¼' => '蜈', - '¸½' => '蜇', - '¸¾' => '蜀', - '¸¿' => '蛾', - '¸À' => 'è›»', - '¸Á' => '蜂', - '¸Â' => '蜃', - '¸Ã' => '蜆', - '¸Ä' => '蜊', - '¸Å' => 'è¡™', - '¸Æ' => '裟', - '¸Ç' => '裔', - '¸È' => '裙', - '¸É' => '補', - '¸Ê' => '裘', - '¸Ë' => 'è£', - '¸Ì' => '裡', - '¸Í' => '裊', - '¸Î' => '裕', - '¸Ï' => '裒', - '¸Ð' => '覜', - '¸Ñ' => '解', - '¸Ò' => 'è©«', - '¸Ó' => '該', - '¸Ô' => '詳', - '¸Õ' => '試', - '¸Ö' => 'è©©', - '¸×' => 'è©°', - '¸Ø' => '誇', - '¸Ù' => '詼', - '¸Ú' => 'è©£', - '¸Û' => '誠', - '¸Ü' => '話', - '¸Ý' => '誅', - '¸Þ' => 'è©­', - '¸ß' => 'è©¢', - '¸à' => 'è©®', - '¸á' => '詬', - '¸â' => '詹', - '¸ã' => 'è©»', - '¸ä' => '訾', - '¸å' => '詨', - '¸æ' => 'è±¢', - '¸ç' => '貊', - '¸è' => '貉', - '¸é' => '賊', - '¸ê' => '資', - '¸ë' => '賈', - '¸ì' => '賄', - '¸í' => 'è²²', - '¸î' => '賃', - '¸ï' => '賂', - '¸ð' => 'è³…', - '¸ñ' => 'è·¡', - '¸ò' => 'è·Ÿ', - '¸ó' => 'è·¨', - '¸ô' => 'è·¯', - '¸õ' => 'è·³', - '¸ö' => 'è·º', - '¸÷' => 'è·ª', - '¸ø' => 'è·¤', - '¸ù' => 'è·¦', - '¸ú' => '躲', - '¸û' => '較', - '¸ü' => '載', - '¸ý' => '軾', - '¸þ' => '輊', - '¹@' => '辟', - '¹A' => 'è¾²', - '¹B' => 'é‹', - '¹C' => 'éŠ', - '¹D' => 'é“', - '¹E' => 'é‚', - '¹F' => 'é”', - '¹G' => '逼', - '¹H' => 'é•', - '¹I' => 'é', - '¹J' => 'é‡', - '¹K' => 'é', - '¹L' => 'éŽ', - '¹M' => 'é', - '¹N' => 'é‘', - '¹O' => '逾', - '¹P' => 'é', - '¹Q' => 'é„’', - '¹R' => 'é„—', - '¹S' => 'é…¬', - '¹T' => 'é…ª', - '¹U' => 'é…©', - '¹V' => '釉', - '¹W' => '鈷', - '¹X' => '鉗', - '¹Y' => '鈸', - '¹Z' => '鈽', - '¹[' => '鉀', - '¹\\' => '鈾', - '¹]' => '鉛', - '¹^' => '鉋', - '¹_' => '鉤', - '¹`' => '鉑', - '¹a' => '鈴', - '¹b' => '鉉', - '¹c' => 'é‰', - '¹d' => '鉅', - '¹e' => '鈹', - '¹f' => '鈿', - '¹g' => '鉚', - '¹h' => 'é–˜', - '¹i' => '隘', - '¹j' => 'éš”', - '¹k' => 'éš•', - '¹l' => 'é›', - '¹m' => '雋', - '¹n' => '雉', - '¹o' => '雊', - '¹p' => 'é›·', - '¹q' => 'é›»', - '¹r' => '雹', - '¹s' => '零', - '¹t' => 'é–', - '¹u' => 'é´', - '¹v' => 'é¶', - '¹w' => 'é ', - '¹x' => 'é ‘', - '¹y' => 'é “', - '¹z' => 'é Š', - '¹{' => 'é ’', - '¹|' => 'é Œ', - '¹}' => '飼', - '¹~' => '飴', - '¹¡' => '飽', - '¹¢' => '飾', - '¹£' => '馳', - '¹¤' => '馱', - '¹¥' => '馴', - '¹¦' => 'é«¡', - '¹§' => '鳩', - '¹¨' => '麂', - '¹©' => '鼎', - '¹ª' => '鼓', - '¹«' => 'é¼ ', - '¹¬' => '僧', - '¹­' => '僮', - '¹®' => '僥', - '¹¯' => '僖', - '¹°' => '僭', - '¹±' => '僚', - '¹²' => '僕', - '¹³' => 'åƒ', - '¹´' => '僑', - '¹µ' => '僱', - '¹¶' => '僎', - '¹·' => '僩', - '¹¸' => 'å…¢', - '¹¹' => '凳', - '¹º' => '劃', - '¹»' => '劂', - '¹¼' => '匱', - '¹½' => '厭', - '¹¾' => 'å—¾', - '¹¿' => '嘀', - '¹À' => '嘛', - '¹Á' => '嘗', - '¹Â' => 'å—½', - '¹Ã' => '嘔', - '¹Ä' => '嘆', - '¹Å' => '嘉', - '¹Æ' => 'å˜', - '¹Ç' => '嘎', - '¹È' => 'å—·', - '¹É' => '嘖', - '¹Ê' => '嘟', - '¹Ë' => '嘈', - '¹Ì' => 'å˜', - '¹Í' => 'å—¶', - '¹Î' => '團', - '¹Ï' => '圖', - '¹Ð' => '塵', - '¹Ñ' => '塾', - '¹Ò' => '境', - '¹Ó' => '墓', - '¹Ô' => '墊', - '¹Õ' => '塹', - '¹Ö' => '墅', - '¹×' => '塽', - '¹Ø' => '壽', - '¹Ù' => '夥', - '¹Ú' => '夢', - '¹Û' => '夤', - '¹Ü' => '奪', - '¹Ý' => '奩', - '¹Þ' => 'å«¡', - '¹ß' => '嫦', - '¹à' => 'å«©', - '¹á' => 'å«—', - '¹â' => 'å«–', - '¹ã' => '嫘', - '¹ä' => 'å«£', - '¹å' => 'å­µ', - '¹æ' => '寞', - '¹ç' => '寧', - '¹è' => '寡', - '¹é' => '寥', - '¹ê' => '實', - '¹ë' => '寨', - '¹ì' => '寢', - '¹í' => '寤', - '¹î' => '察', - '¹ï' => 'å°', - '¹ð' => 'å±¢', - '¹ñ' => '嶄', - '¹ò' => '嶇', - '¹ó' => 'å¹›', - '¹ô' => 'å¹£', - '¹õ' => '幕', - '¹ö' => 'å¹—', - '¹÷' => 'å¹”', - '¹ø' => '廓', - '¹ù' => 'å»–', - '¹ú' => '弊', - '¹û' => '彆', - '¹ü' => 'å½°', - '¹ý' => 'å¾¹', - '¹þ' => 'æ…‡', - 'º@' => 'æ„¿', - 'ºA' => 'æ…‹', - 'ºB' => 'æ…·', - 'ºC' => 'æ…¢', - 'ºD' => 'æ…£', - 'ºE' => 'æ…Ÿ', - 'ºF' => 'æ…š', - 'ºG' => 'æ…˜', - 'ºH' => 'æ…µ', - 'ºI' => '截', - 'ºJ' => 'æ’‡', - 'ºK' => '摘', - 'ºL' => 'æ‘”', - 'ºM' => 'æ’¤', - 'ºN' => '摸', - 'ºO' => 'æ‘Ÿ', - 'ºP' => '摺', - 'ºQ' => 'æ‘‘', - 'ºR' => '摧', - 'ºS' => 'æ´', - 'ºT' => 'æ‘­', - 'ºU' => 'æ‘»', - 'ºV' => '敲', - 'ºW' => 'æ–¡', - 'ºX' => 'æ——', - 'ºY' => 'æ—–', - 'ºZ' => '暢', - 'º[' => '暨', - 'º\\' => 'æš', - 'º]' => '榜', - 'º^' => '榨', - 'º_' => '榕', - 'º`' => 'æ§', - 'ºa' => '榮', - 'ºb' => '槓', - 'ºc' => '構', - 'ºd' => '榛', - 'ºe' => '榷', - 'ºf' => '榻', - 'ºg' => '榫', - 'ºh' => '榴', - 'ºi' => 'æ§', - 'ºj' => 'æ§', - 'ºk' => '榭', - 'ºl' => '槌', - 'ºm' => '榦', - 'ºn' => '槃', - 'ºo' => '榣', - 'ºp' => 'æ­‰', - 'ºq' => 'æ­Œ', - 'ºr' => 'æ°³', - 'ºs' => 'æ¼³', - 'ºt' => 'æ¼”', - 'ºu' => '滾', - 'ºv' => '漓', - 'ºw' => 'æ»´', - 'ºx' => '漩', - 'ºy' => 'æ¼¾', - 'ºz' => 'æ¼ ', - 'º{' => '漬', - 'º|' => 'æ¼', - 'º}' => '漂', - 'º~' => 'æ¼¢', - 'º¡' => '滿', - 'º¢' => '滯', - 'º£' => '漆', - 'º¤' => 'æ¼±', - 'º¥' => '漸', - 'º¦' => 'æ¼²', - 'º§' => 'æ¼£', - 'º¨' => '漕', - 'º©' => '漫', - 'ºª' => '漯', - 'º«' => '澈', - 'º¬' => '漪', - 'º­' => '滬', - 'º®' => 'æ¼', - 'º¯' => '滲', - 'º°' => '滌', - 'º±' => 'æ»·', - 'º²' => '熔', - 'º³' => '熙', - 'º´' => 'ç…½', - 'ºµ' => '熊', - 'º¶' => '熄', - 'º·' => '熒', - 'º¸' => '爾', - 'º¹' => '犒', - 'ºº' => '犖', - 'º»' => 'ç„', - 'º¼' => 'ç', - 'º½' => '瑤', - 'º¾' => 'ç‘£', - 'º¿' => '瑪', - 'ºÀ' => 'ç‘°', - 'ºÁ' => 'ç‘­', - 'ºÂ' => '甄', - 'ºÃ' => 'ç–‘', - 'ºÄ' => '瘧', - 'ºÅ' => 'ç˜', - 'ºÆ' => '瘋', - 'ºÇ' => '瘉', - 'ºÈ' => '瘓', - 'ºÉ' => '盡', - 'ºÊ' => '監', - 'ºË' => 'çž„', - 'ºÌ' => 'ç½', - 'ºÍ' => 'ç¿', - 'ºÎ' => 'ç¡', - 'ºÏ' => 'ç£', - 'ºÐ' => '碟', - 'ºÑ' => '碧', - 'ºÒ' => '碳', - 'ºÓ' => '碩', - 'ºÔ' => '碣', - 'ºÕ' => '禎', - 'ºÖ' => 'ç¦', - 'º×' => 'ç¦', - 'ºØ' => '種', - 'ºÙ' => '稱', - 'ºÚ' => '窪', - 'ºÛ' => '窩', - 'ºÜ' => 'ç«­', - 'ºÝ' => '端', - 'ºÞ' => '管', - 'ºß' => '箕', - 'ºà' => '箋', - 'ºá' => 'ç­µ', - 'ºâ' => 'ç®—', - 'ºã' => 'ç®', - 'ºä' => 'ç®”', - 'ºå' => 'ç®', - 'ºæ' => '箸', - 'ºç' => '箇', - 'ºè' => '箄', - 'ºé' => 'ç²¹', - 'ºê' => 'ç²½', - 'ºë' => 'ç²¾', - 'ºì' => '綻', - 'ºí' => '綰', - 'ºî' => '綜', - 'ºï' => '綽', - 'ºð' => '綾', - 'ºñ' => '綠', - 'ºò' => 'ç·Š', - 'ºó' => '綴', - 'ºô' => '網', - 'ºõ' => '綱', - 'ºö' => '綺', - 'º÷' => '綢', - 'ºø' => '綿', - 'ºù' => '綵', - 'ºú' => '綸', - 'ºû' => '維', - 'ºü' => 'ç·’', - 'ºý' => 'ç·‡', - 'ºþ' => '綬', - '»@' => 'ç½°', - '»A' => 'ç¿ ', - '»B' => 'ç¿¡', - '»C' => 'ç¿Ÿ', - '»D' => 'èž', - '»E' => 'èš', - '»F' => '肇', - '»G' => 'è…', - '»H' => '膀', - '»I' => 'è†', - '»J' => '膈', - '»K' => '膊', - '»L' => 'è…¿', - '»M' => '膂', - '»N' => '臧', - '»O' => '臺', - '»P' => '與', - '»Q' => '舔', - '»R' => '舞', - '»S' => '艋', - '»T' => '蓉', - '»U' => 'è’¿', - '»V' => '蓆', - '»W' => 'è“„', - '»X' => 'è’™', - '»Y' => 'è’ž', - '»Z' => 'è’²', - '»[' => 'è’œ', - '»\\' => 'è“‹', - '»]' => 'è’¸', - '»^' => 'è“€', - '»_' => 'è““', - '»`' => 'è’', - '»a' => 'è’¼', - '»b' => 'è“‘', - '»c' => 'è“Š', - '»d' => '蜿', - '»e' => '蜜', - '»f' => '蜻', - '»g' => '蜢', - '»h' => '蜥', - '»i' => '蜴', - '»j' => '蜘', - '»k' => 'è•', - '»l' => '蜷', - '»m' => '蜩', - '»n' => '裳', - '»o' => '褂', - '»p' => '裴', - '»q' => '裹', - '»r' => '裸', - '»s' => '製', - '»t' => '裨', - '»u' => '褚', - '»v' => '裯', - '»w' => '誦', - '»x' => '誌', - '»y' => '語', - '»z' => '誣', - '»{' => 'èª', - '»|' => '誡', - '»}' => '誓', - '»~' => '誤', - '»¡' => '說', - '»¢' => '誥', - '»£' => '誨', - '»¤' => '誘', - '»¥' => '誑', - '»¦' => '誚', - '»§' => '誧', - '»¨' => '豪', - '»©' => 'è²', - '»ª' => '貌', - '»«' => '賓', - '»¬' => '賑', - '»­' => 'è³’', - '»®' => '赫', - '»¯' => '趙', - '»°' => '趕', - '»±' => 'è·¼', - '»²' => 'è¼”', - '»³' => 'è¼’', - '»´' => '輕', - '»µ' => '輓', - '»¶' => 'è¾£', - '»·' => 'é ', - '»¸' => 'é˜', - '»¹' => 'éœ', - '»º' => 'é£', - '»»' => 'é™', - '»¼' => 'éž', - '»½' => 'é¢', - '»¾' => 'é', - '»¿' => 'é›', - '»À' => 'é„™', - '»Á' => '鄘', - '»Â' => 'é„ž', - '»Ã' => 'é…µ', - '»Ä' => 'é…¸', - '»Å' => 'é…·', - '»Æ' => 'é…´', - '»Ç' => '鉸', - '»È' => '銀', - '»É' => '銅', - '»Ê' => '銘', - '»Ë' => '銖', - '»Ì' => '鉻', - '»Í' => '銓', - '»Î' => '銜', - '»Ï' => '銨', - '»Ð' => '鉼', - '»Ñ' => '銑', - '»Ò' => 'é–¡', - '»Ó' => 'é–¨', - '»Ô' => 'é–©', - '»Õ' => 'é–£', - '»Ö' => 'é–¥', - '»×' => 'é–¤', - '»Ø' => 'éš™', - '»Ù' => 'éšœ', - '»Ú' => 'éš›', - '»Û' => '雌', - '»Ü' => 'é›’', - '»Ý' => '需', - '»Þ' => 'é¼', - '»ß' => 'éž…', - '»à' => '韶', - '»á' => 'é —', - '»â' => 'é ˜', - '»ã' => '颯', - '»ä' => '颱', - '»å' => '餃', - '»æ' => '餅', - '»ç' => '餌', - '»è' => '餉', - '»é' => 'é§', - '»ê' => '骯', - '»ë' => '骰', - '»ì' => '髦', - '»í' => 'é­', - '»î' => 'é­‚', - '»ï' => 'é³´', - '»ð' => '鳶', - '»ñ' => 'é³³', - '»ò' => '麼', - '»ó' => 'é¼»', - '»ô' => '齊', - '»õ' => 'å„„', - '»ö' => 'å„€', - '»÷' => '僻', - '»ø' => '僵', - '»ù' => '價', - '»ú' => 'å„‚', - '»û' => '儈', - '»ü' => '儉', - '»ý' => 'å„…', - '»þ' => '凜', - '¼@' => '劇', - '¼A' => '劈', - '¼B' => '劉', - '¼C' => 'åŠ', - '¼D' => '劊', - '¼E' => 'å‹°', - '¼F' => '厲', - '¼G' => '嘮', - '¼H' => '嘻', - '¼I' => '嘹', - '¼J' => '嘲', - '¼K' => '嘿', - '¼L' => '嘴', - '¼M' => '嘩', - '¼N' => '噓', - '¼O' => '噎', - '¼P' => 'å™—', - '¼Q' => 'å™´', - '¼R' => '嘶', - '¼S' => '嘯', - '¼T' => '嘰', - '¼U' => '墀', - '¼V' => '墟', - '¼W' => '增', - '¼X' => '墳', - '¼Y' => '墜', - '¼Z' => '墮', - '¼[' => '墩', - '¼\\' => '墦', - '¼]' => '奭', - '¼^' => '嬉', - '¼_' => 'å«»', - '¼`' => '嬋', - '¼a' => '嫵', - '¼b' => '嬌', - '¼c' => '嬈', - '¼d' => '寮', - '¼e' => '寬', - '¼f' => '審', - '¼g' => '寫', - '¼h' => '層', - '¼i' => 'å±¥', - '¼j' => 'å¶', - '¼k' => '嶔', - '¼l' => 'å¹¢', - '¼m' => '幟', - '¼n' => '幡', - '¼o' => '廢', - '¼p' => '廚', - '¼q' => '廟', - '¼r' => 'å»', - '¼s' => '廣', - '¼t' => 'å» ', - '¼u' => '彈', - '¼v' => 'å½±', - '¼w' => 'å¾·', - '¼x' => 'å¾µ', - '¼y' => 'æ…¶', - '¼z' => 'æ…§', - '¼{' => 'æ…®', - '¼|' => 'æ…', - '¼}' => 'æ…•', - '¼~' => '憂', - '¼¡' => 'æ…¼', - '¼¢' => 'æ…°', - '¼£' => 'æ…«', - '¼¤' => 'æ…¾', - '¼¥' => '憧', - '¼¦' => 'æ†', - '¼§' => '憫', - '¼¨' => '憎', - '¼©' => '憬', - '¼ª' => '憚', - '¼«' => '憤', - '¼¬' => '憔', - '¼­' => '憮', - '¼®' => '戮', - '¼¯' => 'æ‘©', - '¼°' => '摯', - '¼±' => '摹', - '¼²' => 'æ’ž', - '¼³' => 'æ’²', - '¼´' => 'æ’ˆ', - '¼µ' => 'æ’', - '¼¶' => 'æ’°', - '¼·' => 'æ’¥', - '¼¸' => 'æ’“', - '¼¹' => 'æ’•', - '¼º' => 'æ’©', - '¼»' => 'æ’’', - '¼¼' => 'æ’®', - '¼½' => 'æ’­', - '¼¾' => 'æ’«', - '¼¿' => 'æ’š', - '¼À' => 'æ’¬', - '¼Á' => 'æ’™', - '¼Â' => 'æ’¢', - '¼Ã' => 'æ’³', - '¼Ä' => '敵', - '¼Å' => 'æ•·', - '¼Æ' => '數', - '¼Ç' => 'æš®', - '¼È' => 'æš«', - '¼É' => 'æš´', - '¼Ê' => 'æš±', - '¼Ë' => '樣', - '¼Ì' => '樟', - '¼Í' => '槨', - '¼Î' => 'æ¨', - '¼Ï' => '樞', - '¼Ð' => '標', - '¼Ñ' => '槽', - '¼Ò' => '模', - '¼Ó' => '樓', - '¼Ô' => '樊', - '¼Õ' => '槳', - '¼Ö' => '樂', - '¼×' => '樅', - '¼Ø' => '槭', - '¼Ù' => '樑', - '¼Ú' => 'æ­', - '¼Û' => 'æ­Ž', - '¼Ü' => '殤', - '¼Ý' => '毅', - '¼Þ' => '毆', - '¼ß' => '漿', - '¼à' => 'æ½¼', - '¼á' => '澄', - '¼â' => '潑', - '¼ã' => '潦', - '¼ä' => 'æ½”', - '¼å' => '澆', - '¼æ' => 'æ½­', - '¼ç' => 'æ½›', - '¼è' => '潸', - '¼é' => 'æ½®', - '¼ê' => '澎', - '¼ë' => '潺', - '¼ì' => 'æ½°', - '¼í' => '潤', - '¼î' => 'æ¾—', - '¼ï' => '潘', - '¼ð' => '滕', - '¼ñ' => '潯', - '¼ò' => 'æ½ ', - '¼ó' => '潟', - '¼ô' => '熟', - '¼õ' => '熬', - '¼ö' => '熱', - '¼÷' => '熨', - '¼ø' => '牖', - '¼ù' => '犛', - '¼ú' => 'çŽ', - '¼û' => 'ç—', - '¼ü' => 'ç‘©', - '¼ý' => 'ç’‹', - '¼þ' => 'ç’ƒ', - '½@' => '瑾', - '½A' => 'ç’€', - '½B' => 'ç•¿', - '½C' => '瘠', - '½D' => '瘩', - '½E' => '瘟', - '½F' => '瘤', - '½G' => '瘦', - '½H' => '瘡', - '½I' => '瘢', - '½J' => 'çšš', - '½K' => '皺', - '½L' => '盤', - '½M' => '瞎', - '½N' => '瞇', - '½O' => '瞌', - '½P' => 'çž‘', - '½Q' => 'çž‹', - '½R' => '磋', - '½S' => '磅', - '½T' => '確', - '½U' => '磊', - '½V' => '碾', - '½W' => '磕', - '½X' => '碼', - '½Y' => 'ç£', - '½Z' => '稿', - '½[' => '稼', - '½\\' => 'ç©€', - '½]' => '稽', - '½^' => '稷', - '½_' => '稻', - '½`' => '窯', - '½a' => '窮', - '½b' => 'ç®­', - '½c' => 'ç®±', - '½d' => '範', - '½e' => 'ç®´', - '½f' => '篆', - '½g' => '篇', - '½h' => 'ç¯', - '½i' => 'ç® ', - '½j' => '篌', - '½k' => '糊', - '½l' => 'ç· ', - '½m' => 'ç·´', - '½n' => 'ç·¯', - '½o' => 'ç·»', - '½p' => 'ç·˜', - '½q' => 'ç·¬', - '½r' => 'ç·', - '½s' => 'ç·¨', - '½t' => 'ç·£', - '½u' => 'ç·š', - '½v' => 'ç·ž', - '½w' => 'ç·©', - '½x' => '綞', - '½y' => 'ç·™', - '½z' => 'ç·²', - '½{' => 'ç·¹', - '½|' => 'ç½µ', - '½}' => 'ç½·', - '½~' => '羯', - '½¡' => 'ç¿©', - '½¢' => '耦', - '½£' => '膛', - '½¤' => '膜', - '½¥' => 'è†', - '½¦' => '膠', - '½§' => '膚', - '½¨' => '膘', - '½©' => 'è”—', - '½ª' => '蔽', - '½«' => '蔚', - '½¬' => 'è“®', - '½­' => '蔬', - '½®' => 'è”­', - '½¯' => '蔓', - '½°' => '蔑', - '½±' => '蔣', - '½²' => '蔡', - '½³' => 'è””', - '½´' => '蓬', - '½µ' => '蔥', - '½¶' => 'è“¿', - '½·' => '蔆', - '½¸' => 'èž‚', - '½¹' => 'è´', - '½º' => 'è¶', - '½»' => 'è ', - '½¼' => 'è¦', - '½½' => 'è¸', - '½¾' => 'è¨', - '½¿' => 'è™', - '½À' => 'è—', - '½Á' => 'èŒ', - '½Â' => 'è“', - '½Ã' => 'è¡›', - '½Ä' => 'è¡', - '½Å' => 'è¤', - '½Æ' => '複', - '½Ç' => '褒', - '½È' => '褓', - '½É' => '褕', - '½Ê' => '褊', - '½Ë' => '誼', - '½Ì' => 'è«’', - '½Í' => '談', - '½Î' => 'è«„', - '½Ï' => '誕', - '½Ð' => 'è«‹', - '½Ñ' => '諸', - '½Ò' => '課', - '½Ó' => '諉', - '½Ô' => 'è«‚', - '½Õ' => '調', - '½Ö' => '誰', - '½×' => 'è«–', - '½Ø' => 'è«', - '½Ù' => '誶', - '½Ú' => '誹', - '½Û' => 'è«›', - '½Ü' => '豌', - '½Ý' => '豎', - '½Þ' => '豬', - '½ß' => 'è³ ', - '½à' => '賞', - '½á' => '賦', - '½â' => '賤', - '½ã' => '賬', - '½ä' => 'è³­', - '½å' => 'è³¢', - '½æ' => 'è³£', - '½ç' => '賜', - '½è' => '質', - '½é' => '賡', - '½ê' => 'èµ­', - '½ë' => '趟', - '½ì' => '趣', - '½í' => '踫', - '½î' => 'è¸', - '½ï' => 'è¸', - '½ð' => '踢', - '½ñ' => 'è¸', - '½ò' => '踩', - '½ó' => '踟', - '½ô' => '踡', - '½õ' => '踞', - '½ö' => '躺', - '½÷' => 'è¼', - '½ø' => 'è¼›', - '½ù' => '輟', - '½ú' => '輩', - '½û' => '輦', - '½ü' => '輪', - '½ý' => '輜', - '½þ' => '輞', - '¾@' => 'è¼¥', - '¾A' => 'é©', - '¾B' => 'é®', - '¾C' => 'é¨', - '¾D' => 'é­', - '¾E' => 'é·', - '¾F' => 'é„°', - '¾G' => 'é„­', - '¾H' => '鄧', - '¾I' => '鄱', - '¾J' => '醇', - '¾K' => '醉', - '¾L' => '醋', - '¾M' => '醃', - '¾N' => 'é‹…', - '¾O' => '銻', - '¾P' => '銷', - '¾Q' => '鋪', - '¾R' => '銬', - '¾S' => '鋤', - '¾T' => 'é‹', - '¾U' => '銳', - '¾V' => '銼', - '¾W' => 'é‹’', - '¾X' => '鋇', - '¾Y' => 'é‹°', - '¾Z' => '銲', - '¾[' => 'é–­', - '¾\\' => 'é–±', - '¾]' => '霄', - '¾^' => '霆', - '¾_' => '震', - '¾`' => '霉', - '¾a' => 'é ', - '¾b' => 'éž', - '¾c' => 'éž‹', - '¾d' => 'éž', - '¾e' => 'é ¡', - '¾f' => 'é «', - '¾g' => 'é œ', - '¾h' => '颳', - '¾i' => '養', - '¾j' => '餓', - '¾k' => '餒', - '¾l' => '餘', - '¾m' => 'é§', - '¾n' => 'é§', - '¾o' => '駟', - '¾p' => '駛', - '¾q' => '駑', - '¾r' => '駕', - '¾s' => '駒', - '¾t' => '駙', - '¾u' => '骷', - '¾v' => 'é«®', - '¾w' => '髯', - '¾x' => '鬧', - '¾y' => 'é­…', - '¾z' => 'é­„', - '¾{' => 'é­·', - '¾|' => 'é­¯', - '¾}' => 'é´†', - '¾~' => 'é´‰', - '¾¡' => 'é´ƒ', - '¾¢' => '麩', - '¾£' => '麾', - '¾¤' => '黎', - '¾¥' => '墨', - '¾¦' => 'é½’', - '¾§' => 'å„’', - '¾¨' => '儘', - '¾©' => 'å„”', - '¾ª' => 'å„', - '¾«' => 'å„•', - '¾¬' => '冀', - '¾­' => '冪', - '¾®' => 'å‡', - '¾¯' => '劑', - '¾°' => '劓', - '¾±' => '勳', - '¾²' => 'å™™', - '¾³' => '噫', - '¾´' => '噹', - '¾µ' => '噩', - '¾¶' => '噤', - '¾·' => '噸', - '¾¸' => '噪', - '¾¹' => '器', - '¾º' => '噥', - '¾»' => 'å™±', - '¾¼' => '噯', - '¾½' => '噬', - '¾¾' => '噢', - '¾¿' => '噶', - '¾À' => 'å£', - '¾Á' => '墾', - '¾Â' => '壇', - '¾Ã' => '壅', - '¾Ä' => '奮', - '¾Å' => 'å¬', - '¾Æ' => '嬴', - '¾Ç' => 'å­¸', - '¾È' => '寰', - '¾É' => 'å°Ž', - '¾Ê' => '彊', - '¾Ë' => '憲', - '¾Ì' => '憑', - '¾Í' => '憩', - '¾Î' => '憊', - '¾Ï' => 'æ‡', - '¾Ð' => '憶', - '¾Ñ' => '憾', - '¾Ò' => '懊', - '¾Ó' => '懈', - '¾Ô' => '戰', - '¾Õ' => 'æ“…', - '¾Ö' => 'æ“', - '¾×' => 'æ“‹', - '¾Ø' => 'æ’»', - '¾Ù' => 'æ’¼', - '¾Ú' => 'æ“š', - '¾Û' => 'æ“„', - '¾Ü' => '擇', - '¾Ý' => 'æ“‚', - '¾Þ' => 'æ“', - '¾ß' => 'æ’¿', - '¾à' => 'æ“’', - '¾á' => 'æ“”', - '¾â' => 'æ’¾', - '¾ã' => 'æ•´', - '¾ä' => '曆', - '¾å' => '曉', - '¾æ' => 'æš¹', - '¾ç' => '曄', - '¾è' => '曇', - '¾é' => '暸', - '¾ê' => '樽', - '¾ë' => '樸', - '¾ì' => '樺', - '¾í' => 'æ©™', - '¾î' => 'æ©«', - '¾ï' => '橘', - '¾ð' => '樹', - '¾ñ' => 'æ©„', - '¾ò' => 'æ©¢', - '¾ó' => 'æ©¡', - '¾ô' => 'æ©‹', - '¾õ' => '橇', - '¾ö' => '樵', - '¾÷' => 'æ©Ÿ', - '¾ø' => '橈', - '¾ù' => 'æ­™', - '¾ú' => 'æ­·', - '¾û' => 'æ°…', - '¾ü' => 'æ¿‚', - '¾ý' => 'æ¾±', - '¾þ' => '澡', - '¿@' => '濃', - '¿A' => '澤', - '¿B' => 'æ¿', - '¿C' => '澧', - '¿D' => 'æ¾³', - '¿E' => 'æ¿€', - '¿F' => 'æ¾¹', - '¿G' => '澶', - '¿H' => '澦', - '¿I' => 'æ¾ ', - '¿J' => 'æ¾´', - '¿K' => '熾', - '¿L' => '燉', - '¿M' => 'ç‡', - '¿N' => '燒', - '¿O' => '燈', - '¿P' => '燕', - '¿Q' => '熹', - '¿R' => '燎', - '¿S' => '燙', - '¿T' => '燜', - '¿U' => '燃', - '¿V' => '燄', - '¿W' => 'ç¨', - '¿X' => 'ç’œ', - '¿Y' => 'ç’£', - '¿Z' => 'ç’˜', - '¿[' => 'ç’Ÿ', - '¿\\' => 'ç’ž', - '¿]' => 'ç“¢', - '¿^' => '甌', - '¿_' => 'ç”', - '¿`' => '瘴', - '¿a' => '瘸', - '¿b' => '瘺', - '¿c' => '盧', - '¿d' => '盥', - '¿e' => 'çž ', - '¿f' => 'çžž', - '¿g' => '瞟', - '¿h' => '瞥', - '¿i' => '磨', - '¿j' => '磚', - '¿k' => '磬', - '¿l' => '磧', - '¿m' => '禦', - '¿n' => 'ç©', - '¿o' => 'ç©Ž', - '¿p' => '穆', - '¿q' => 'ç©Œ', - '¿r' => 'ç©‹', - '¿s' => '窺', - '¿t' => '篙', - '¿u' => 'ç°‘', - '¿v' => '築', - '¿w' => '篤', - '¿x' => '篛', - '¿y' => '篡', - '¿z' => '篩', - '¿{' => '篦', - '¿|' => '糕', - '¿}' => 'ç³–', - '¿~' => '縊', - '¿¡' => '縑', - '¿¢' => '縈', - '¿£' => '縛', - '¿¤' => '縣', - '¿¥' => '縞', - '¿¦' => 'ç¸', - '¿§' => '縉', - '¿¨' => 'ç¸', - '¿©' => 'ç½¹', - '¿ª' => 'ç¾²', - '¿«' => 'ç¿°', - '¿¬' => '翱', - '¿­' => 'ç¿®', - '¿®' => '耨', - '¿¯' => '膳', - '¿°' => '膩', - '¿±' => '膨', - '¿²' => '臻', - '¿³' => '興', - '¿´' => '艘', - '¿µ' => '艙', - '¿¶' => 'è•Š', - '¿·' => 'è•™', - '¿¸' => '蕈', - '¿¹' => '蕨', - '¿º' => 'è•©', - '¿»' => '蕃', - '¿¼' => '蕉', - '¿½' => 'è•­', - '¿¾' => '蕪', - '¿¿' => 'è•ž', - '¿À' => '螃', - '¿Á' => '螟', - '¿Â' => 'èžž', - '¿Ã' => '螢', - '¿Ä' => 'èž', - '¿Å' => 'è¡¡', - '¿Æ' => '褪', - '¿Ç' => '褲', - '¿È' => '褥', - '¿É' => '褫', - '¿Ê' => '褡', - '¿Ë' => '親', - '¿Ì' => '覦', - '¿Í' => '諦', - '¿Î' => '諺', - '¿Ï' => 'è««', - '¿Ð' => '諱', - '¿Ñ' => '謀', - '¿Ò' => 'è«œ', - '¿Ó' => '諧', - '¿Ô' => 'è«®', - '¿Õ' => '諾', - '¿Ö' => 'è¬', - '¿×' => '謂', - '¿Ø' => 'è«·', - '¿Ù' => 'è«­', - '¿Ú' => '諳', - '¿Û' => '諶', - '¿Ü' => '諼', - '¿Ý' => '豫', - '¿Þ' => 'è±­', - '¿ß' => '貓', - '¿à' => 'è³´', - '¿á' => '蹄', - '¿â' => '踱', - '¿ã' => '踴', - '¿ä' => '蹂', - '¿å' => '踹', - '¿æ' => '踵', - '¿ç' => 'è¼»', - '¿è' => '輯', - '¿é' => '輸', - '¿ê' => 'è¼³', - '¿ë' => '辨', - '¿ì' => '辦', - '¿í' => 'éµ', - '¿î' => 'é´', - '¿ï' => 'é¸', - '¿ð' => 'é²', - '¿ñ' => 'é¼', - '¿ò' => 'éº', - '¿ó' => 'é„´', - '¿ô' => '醒', - '¿õ' => '錠', - '¿ö' => '錶', - '¿÷' => '鋸', - '¿ø' => '錳', - '¿ù' => '錯', - '¿ú' => '錢', - '¿û' => '鋼', - '¿ü' => '錫', - '¿ý' => '錄', - '¿þ' => '錚', - 'À@' => 'éŒ', - 'ÀA' => '錦', - 'ÀB' => '錡', - 'ÀC' => '錕', - 'ÀD' => '錮', - 'ÀE' => '錙', - 'ÀF' => 'é–»', - 'ÀG' => '隧', - 'ÀH' => '隨', - 'ÀI' => '險', - 'ÀJ' => '雕', - 'ÀK' => '霎', - 'ÀL' => '霑', - 'ÀM' => '霖', - 'ÀN' => 'éœ', - 'ÀO' => '霓', - 'ÀP' => 'éœ', - 'ÀQ' => 'é›', - 'ÀR' => 'éœ', - 'ÀS' => 'é¦', - 'ÀT' => '鞘', - 'ÀU' => 'é °', - 'ÀV' => 'é ¸', - 'ÀW' => 'é »', - 'ÀX' => 'é ·', - 'ÀY' => 'é ­', - 'ÀZ' => 'é ¹', - 'À[' => 'é ¤', - 'À\\' => 'é¤', - 'À]' => '館', - 'À^' => '餞', - 'À_' => '餛', - 'À`' => '餡', - 'Àa' => '餚', - 'Àb' => '駭', - 'Àc' => '駢', - 'Àd' => '駱', - 'Àe' => '骸', - 'Àf' => '骼', - 'Àg' => 'é«»', - 'Àh' => 'é«­', - 'Ài' => '鬨', - 'Àj' => '鮑', - 'Àk' => 'é´•', - 'Àl' => 'é´£', - 'Àm' => 'é´¦', - 'Àn' => 'é´¨', - 'Ào' => 'é´’', - 'Àp' => 'é´›', - 'Àq' => '默', - 'Àr' => 'é»”', - 'Às' => 'é¾', - 'Àt' => '龜', - 'Àu' => '優', - 'Àv' => 'å„Ÿ', - 'Àw' => 'å„¡', - 'Àx' => '儲', - 'Ày' => '勵', - 'Àz' => '嚎', - 'À{' => '嚀', - 'À|' => 'åš', - 'À}' => 'åš…', - 'À~' => '嚇', - 'À¡' => 'åš', - 'À¢' => '壕', - 'À£' => '壓', - 'À¤' => '壑', - 'À¥' => '壎', - 'À¦' => '嬰', - 'À§' => '嬪', - 'À¨' => '嬤', - 'À©' => 'å­º', - 'Àª' => 'å°·', - 'À«' => '屨', - 'À¬' => '嶼', - 'À­' => '嶺', - 'À®' => '嶽', - 'À¯' => '嶸', - 'À°' => '幫', - 'À±' => '彌', - 'À²' => 'å¾½', - 'À³' => '應', - 'À´' => '懂', - 'Àµ' => '懇', - 'À¶' => '懦', - 'À·' => '懋', - 'À¸' => '戲', - 'À¹' => '戴', - 'Àº' => 'æ“Ž', - 'À»' => 'æ“Š', - 'À¼' => '擘', - 'À½' => 'æ“ ', - 'À¾' => 'æ“°', - 'À¿' => '擦', - 'ÀÀ' => '擬', - 'ÀÁ' => '擱', - 'ÀÂ' => 'æ“¢', - 'ÀÃ' => 'æ“­', - 'ÀÄ' => 'æ–‚', - 'ÀÅ' => 'æ–ƒ', - 'ÀÆ' => 'æ›™', - 'ÀÇ' => 'æ›–', - 'ÀÈ' => '檀', - 'ÀÉ' => '檔', - 'ÀÊ' => '檄', - 'ÀË' => '檢', - 'ÀÌ' => '檜', - 'ÀÍ' => 'æ«›', - 'ÀÎ' => '檣', - 'ÀÏ' => '橾', - 'ÀÐ' => '檗', - 'ÀÑ' => 'æª', - 'ÀÒ' => '檠', - 'ÀÓ' => 'æ­œ', - 'ÀÔ' => 'æ®®', - 'ÀÕ' => '毚', - 'ÀÖ' => 'æ°ˆ', - 'À×' => '濘', - 'ÀØ' => '濱', - 'ÀÙ' => 'æ¿Ÿ', - 'ÀÚ' => 'æ¿ ', - 'ÀÛ' => 'æ¿›', - 'ÀÜ' => '濤', - 'ÀÝ' => 'æ¿«', - 'ÀÞ' => '濯', - 'Àß' => 'æ¾€', - 'Àà' => '濬', - 'Àá' => 'æ¿¡', - 'Àâ' => 'æ¿©', - 'Àã' => 'æ¿•', - 'Àä' => 'æ¿®', - 'Àå' => 'æ¿°', - 'Àæ' => '燧', - 'Àç' => '營', - 'Àè' => '燮', - 'Àé' => '燦', - 'Àê' => '燥', - 'Àë' => '燭', - 'Àì' => '燬', - 'Àí' => '燴', - 'Àî' => '燠', - 'Àï' => '爵', - 'Àð' => '牆', - 'Àñ' => 'ç°', - 'Àò' => 'ç²', - 'Àó' => 'ç’©', - 'Àô' => 'ç’°', - 'Àõ' => 'ç’¦', - 'Àö' => 'ç’¨', - 'À÷' => '癆', - 'Àø' => '療', - 'Àù' => '癌', - 'Àú' => '盪', - 'Àû' => 'çž³', - 'Àü' => '瞪', - 'Àý' => 'çž°', - 'Àþ' => '瞬', - 'Á@' => '瞧', - 'ÁA' => 'çž­', - 'ÁB' => '矯', - 'ÁC' => '磷', - 'ÁD' => '磺', - 'ÁE' => '磴', - 'ÁF' => '磯', - 'ÁG' => 'ç¤', - 'ÁH' => '禧', - 'ÁI' => '禪', - 'ÁJ' => 'ç©—', - 'ÁK' => '窿', - 'ÁL' => 'ç°‡', - 'ÁM' => 'ç°', - 'ÁN' => '篾', - 'ÁO' => '篷', - 'ÁP' => 'ç°Œ', - 'ÁQ' => '篠', - 'ÁR' => 'ç³ ', - 'ÁS' => '糜', - 'ÁT' => '糞', - 'ÁU' => 'ç³¢', - 'ÁV' => '糟', - 'ÁW' => 'ç³™', - 'ÁX' => 'ç³', - 'ÁY' => '縮', - 'ÁZ' => '績', - 'Á[' => '繆', - 'Á\\' => '縷', - 'Á]' => '縲', - 'Á^' => '繃', - 'Á_' => '縫', - 'Á`' => '總', - 'Áa' => '縱', - 'Áb' => 'ç¹…', - 'Ác' => 'ç¹', - 'Ád' => '縴', - 'Áe' => '縹', - 'Áf' => '繈', - 'Ág' => '縵', - 'Áh' => '縿', - 'Ái' => '縯', - 'Áj' => '罄', - 'Ák' => '翳', - 'Ál' => '翼', - 'Ám' => 'è±', - 'Án' => 'è²', - 'Áo' => 'è°', - 'Áp' => 'è¯', - 'Áq' => 'è³', - 'Ár' => '臆', - 'Ás' => '臃', - 'Át' => '膺', - 'Áu' => '臂', - 'Áv' => '臀', - 'Áw' => '膿', - 'Áx' => '膽', - 'Áy' => '臉', - 'Áz' => '膾', - 'Á{' => '臨', - 'Á|' => '舉', - 'Á}' => '艱', - 'Á~' => 'è–ª', - 'Á¡' => 'è–„', - 'Á¢' => '蕾', - 'Á£' => 'è–œ', - 'Á¤' => 'è–‘', - 'Á¥' => 'è–”', - 'Á¦' => 'è–¯', - 'Á§' => 'è–›', - 'Á¨' => 'è–‡', - 'Á©' => 'è–¨', - 'Áª' => 'è–Š', - 'Á«' => '虧', - 'Á¬' => '蟀', - 'Á­' => '蟑', - 'Á®' => 'èž³', - 'Á¯' => '蟒', - 'Á°' => '蟆', - 'Á±' => 'èž«', - 'Á²' => 'èž»', - 'Á³' => '螺', - 'Á´' => '蟈', - 'Áµ' => '蟋', - 'Á¶' => '褻', - 'Á·' => '褶', - 'Á¸' => '襄', - 'Á¹' => '褸', - 'Áº' => '褽', - 'Á»' => '覬', - 'Á¼' => '謎', - 'Á½' => '謗', - 'Á¾' => '謙', - 'Á¿' => '講', - 'ÁÀ' => '謊', - 'ÁÁ' => '謠', - 'ÁÂ' => 'è¬', - 'ÁÃ' => '謄', - 'ÁÄ' => 'è¬', - 'ÁÅ' => 'è±', - 'ÁÆ' => 'è°¿', - 'ÁÇ' => 'è±³', - 'ÁÈ' => '賺', - 'ÁÉ' => 'è³½', - 'ÁÊ' => 'è³¼', - 'ÁË' => '賸', - 'ÁÌ' => 'è³»', - 'ÁÍ' => '趨', - 'ÁÎ' => '蹉', - 'ÁÏ' => '蹋', - 'ÁÐ' => '蹈', - 'ÁÑ' => '蹊', - 'ÁÒ' => '轄', - 'ÁÓ' => 'è¼¾', - 'ÁÔ' => '轂', - 'ÁÕ' => 'è½…', - 'ÁÖ' => '輿', - 'Á×' => 'é¿', - 'ÁØ' => 'é½', - 'ÁÙ' => 'é‚„', - 'ÁÚ' => 'é‚', - 'ÁÛ' => 'é‚‚', - 'ÁÜ' => 'é‚€', - 'ÁÝ' => '鄹', - 'ÁÞ' => '醣', - 'Áß' => '醞', - 'Áà' => '醜', - 'Áá' => 'é', - 'Áâ' => '鎂', - 'Áã' => '錨', - 'Áä' => 'éµ', - 'Áå' => 'éŠ', - 'Áæ' => 'é¥', - 'Áç' => 'é‹', - 'Áè' => '錘', - 'Áé' => 'é¾', - 'Áê' => 'é¬', - 'Áë' => 'é›', - 'Áì' => 'é°', - 'Áí' => 'éš', - 'Áî' => 'é”', - 'Áï' => 'é—Š', - 'Áð' => 'é—‹', - 'Áñ' => 'é—Œ', - 'Áò' => 'é—ˆ', - 'Áó' => 'é—†', - 'Áô' => 'éš±', - 'Áõ' => '隸', - 'Áö' => 'é›–', - 'Á÷' => '霜', - 'Áø' => '霞', - 'Áù' => 'éž ', - 'Áú' => '韓', - 'Áû' => '顆', - 'Áü' => '颶', - 'Áý' => '餵', - 'Áþ' => 'é¨', - 'Â@' => '駿', - 'ÂA' => 'é®®', - 'ÂB' => '鮫', - 'ÂC' => '鮪', - 'ÂD' => 'é®­', - 'ÂE' => 'é´»', - 'ÂF' => 'é´¿', - 'ÂG' => '麋', - 'ÂH' => 'é»', - 'ÂI' => '點', - 'ÂJ' => '黜', - 'ÂK' => 'é»', - 'ÂL' => 'é»›', - 'ÂM' => 'é¼¾', - 'ÂN' => '齋', - 'ÂO' => 'å¢', - 'ÂP' => 'åš•', - 'ÂQ' => 'åš®', - 'ÂR' => '壙', - 'ÂS' => '壘', - 'ÂT' => '嬸', - 'ÂU' => 'å½', - 'ÂV' => '懣', - 'ÂW' => '戳', - 'ÂX' => 'æ“´', - 'ÂY' => '擲', - 'ÂZ' => '擾', - 'Â[' => '攆', - 'Â\\' => '擺', - 'Â]' => 'æ“»', - 'Â^' => 'æ“·', - 'Â_' => 'æ–·', - 'Â`' => '曜', - 'Âa' => '朦', - 'Âb' => '檳', - 'Âc' => '檬', - 'Âd' => '櫃', - 'Âe' => '檻', - 'Âf' => '檸', - 'Âg' => 'æ«‚', - 'Âh' => '檮', - 'Âi' => '檯', - 'Âj' => 'æ­Ÿ', - 'Âk' => 'æ­¸', - 'Âl' => '殯', - 'Âm' => '瀉', - 'Ân' => '瀋', - 'Âo' => '濾', - 'Âp' => '瀆', - 'Âq' => '濺', - 'Âr' => '瀑', - 'Âs' => 'ç€', - 'Ât' => '燻', - 'Âu' => '燼', - 'Âv' => '燾', - 'Âw' => '燸', - 'Âx' => 'ç·', - 'Ây' => 'çµ', - 'Âz' => 'ç’§', - 'Â{' => 'ç’¿', - 'Â|' => '甕', - 'Â}' => 'ç™–', - 'Â~' => '癘', - '¡' => 'ç™’', - '¢' => 'çž½', - '£' => 'çž¿', - '¤' => 'çž»', - 'Â¥' => 'çž¼', - '¦' => '礎', - '§' => '禮', - '¨' => 'ç©¡', - '©' => 'ç©¢', - 'ª' => 'ç© ', - '«' => 'ç«„', - '¬' => 'ç«…', - '­' => 'ç°«', - '®' => 'ç°§', - '¯' => 'ç°ª', - '°' => 'ç°ž', - '±' => 'ç°£', - '²' => 'ç°¡', - '³' => '糧', - '´' => 'ç¹”', - 'µ' => '繕', - '¶' => '繞', - '·' => '繚', - '¸' => '繡', - '¹' => 'ç¹’', - 'º' => 'ç¹™', - '»' => '罈', - '¼' => '翹', - '½' => 'ç¿»', - '¾' => 'è·', - '¿' => 'è¶', - 'ÂÀ' => 'è‡', - 'ÂÁ' => 'è‡', - 'ÂÂ' => '舊', - 'ÂÃ' => 'è—', - 'ÂÄ' => 'è–©', - 'ÂÅ' => 'è—', - 'ÂÆ' => 'è—', - 'ÂÇ' => 'è—‰', - 'ÂÈ' => 'è–°', - 'ÂÉ' => 'è–º', - 'ÂÊ' => 'è–¹', - 'ÂË' => 'è–¦', - 'ÂÌ' => '蟯', - 'ÂÍ' => '蟬', - 'ÂÎ' => '蟲', - 'ÂÏ' => '蟠', - 'ÂÐ' => '覆', - 'ÂÑ' => '覲', - 'ÂÒ' => '觴', - 'ÂÓ' => '謨', - 'ÂÔ' => '謹', - 'ÂÕ' => '謬', - 'ÂÖ' => '謫', - 'Â×' => 'è±', - 'ÂØ' => 'è´…', - 'ÂÙ' => 'è¹™', - 'ÂÚ' => 'è¹£', - 'ÂÛ' => '蹦', - 'ÂÜ' => '蹤', - 'ÂÝ' => '蹟', - 'ÂÞ' => '蹕', - 'Âß' => '軀', - 'Âà' => '轉', - 'Âá' => 'è½', - 'Ââ' => '邇', - 'Âã' => '邃', - 'Âä' => '邈', - 'Âå' => '醫', - 'Âæ' => '醬', - 'Âç' => 'é‡', - 'Âè' => '鎔', - 'Âé' => '鎊', - 'Âê' => '鎖', - 'Âë' => '鎢', - 'Âì' => '鎳', - 'Âí' => '鎮', - 'Âî' => '鎬', - 'Âï' => '鎰', - 'Âð' => '鎘', - 'Âñ' => '鎚', - 'Âò' => '鎗', - 'Âó' => 'é—”', - 'Âô' => 'é—–', - 'Âõ' => 'é—', - 'Âö' => 'é—•', - 'Â÷' => '離', - 'Âø' => '雜', - 'Âù' => 'é›™', - 'Âú' => 'é››', - 'Âû' => '雞', - 'Âü' => '霤', - 'Âý' => '鞣', - 'Âþ' => '鞦', - 'Ã@' => 'éž­', - 'ÃA' => '韹', - 'ÃB' => 'é¡', - 'ÃC' => 'é¡', - 'ÃD' => 'é¡Œ', - 'ÃE' => 'é¡Ž', - 'ÃF' => 'é¡“', - 'ÃG' => '颺', - 'ÃH' => '餾', - 'ÃI' => '餿', - 'ÃJ' => '餽', - 'ÃK' => '餮', - 'ÃL' => '馥', - 'ÃM' => '騎', - 'ÃN' => 'é«', - 'ÃO' => '鬃', - 'ÃP' => '鬆', - 'ÃQ' => 'é­', - 'ÃR' => 'é­Ž', - 'ÃS' => 'é­', - 'ÃT' => '鯊', - 'ÃU' => '鯉', - 'ÃV' => '鯽', - 'ÃW' => '鯈', - 'ÃX' => '鯀', - 'ÃY' => '鵑', - 'ÃZ' => 'éµ', - 'Ã[' => 'éµ ', - 'Ã\\' => 'é» ', - 'Ã]' => '鼕', - 'Ã^' => '鼬', - 'Ã_' => '儳', - 'Ã`' => '嚥', - 'Ãa' => '壞', - 'Ãb' => '壟', - 'Ãc' => '壢', - 'Ãd' => '寵', - 'Ãe' => 'é¾', - 'Ãf' => '廬', - 'Ãg' => '懲', - 'Ãh' => '懷', - 'Ãi' => '懶', - 'Ãj' => '懵', - 'Ãk' => '攀', - 'Ãl' => 'æ”', - 'Ãm' => 'æ› ', - 'Ãn' => 'æ›', - 'Ão' => 'æ«¥', - 'Ãp' => 'æ«', - 'Ãq' => 'æ«š', - 'Ãr' => 'æ«“', - 'Ãs' => '瀛', - 'Ãt' => '瀟', - 'Ãu' => '瀨', - 'Ãv' => '瀚', - 'Ãw' => 'ç€', - 'Ãx' => '瀕', - 'Ãy' => '瀘', - 'Ãz' => '爆', - 'Ã{' => 'çˆ', - 'Ã|' => '牘', - 'Ã}' => '犢', - 'Ã~' => 'ç¸', - 'á' => 'çº', - 'â' => 'ç’½', - 'ã' => 'ç“Š', - 'ä' => 'ç“£', - 'Ã¥' => 'ç–‡', - 'æ' => 'ç–†', - 'ç' => '癟', - 'è' => '癡', - 'é' => '矇', - 'ê' => '礙', - 'ë' => '禱', - 'ì' => 'ç©«', - 'í' => 'ç©©', - 'î' => 'ç°¾', - 'ï' => 'ç°¿', - 'ð' => 'ç°¸', - 'ñ' => 'ç°½', - 'ò' => 'ç°·', - 'ó' => 'ç±€', - 'ô' => '繫', - 'õ' => 'ç¹­', - 'ö' => 'ç¹¹', - '÷' => '繩', - 'ø' => '繪', - 'ù' => 'ç¾…', - 'ú' => 'ç¹³', - 'û' => '羶', - 'ü' => 'ç¾¹', - 'ý' => '羸', - 'þ' => '臘', - 'ÿ' => 'è—©', - 'ÃÀ' => 'è—', - 'ÃÁ' => 'è—ª', - 'ÃÂ' => 'è—•', - 'ÃÃ' => 'è—¤', - 'ÃÄ' => 'è—¥', - 'ÃÅ' => 'è—·', - 'ÃÆ' => '蟻', - 'ÃÇ' => 'è …', - 'ÃÈ' => 'è ', - 'ÃÉ' => '蟹', - 'ÃÊ' => '蟾', - 'ÃË' => '襠', - 'ÃÌ' => '襟', - 'ÃÍ' => '襖', - 'ÃÎ' => '襞', - 'ÃÏ' => 'è­', - 'ÃÐ' => 'è­œ', - 'ÃÑ' => 'è­˜', - 'ÃÒ' => 'è­‰', - 'ÃÓ' => 'è­š', - 'ÃÔ' => 'è­Ž', - 'ÃÕ' => 'è­', - 'ÃÖ' => 'è­†', - 'Ã×' => 'è­™', - 'ÃØ' => 'è´ˆ', - 'ÃÙ' => 'è´Š', - 'ÃÚ' => 'è¹¼', - 'ÃÛ' => 'è¹²', - 'ÃÜ' => '躇', - 'ÃÝ' => '蹶', - 'ÃÞ' => '蹬', - 'Ãß' => '蹺', - 'Ãà' => 'è¹´', - 'Ãá' => 'è½”', - 'Ãâ' => '轎', - 'Ãã' => 'è¾­', - 'Ãä' => 'é‚Š', - 'Ãå' => 'é‚‹', - 'Ãæ' => '醱', - 'Ãç' => '醮', - 'Ãè' => 'é¡', - 'Ãé' => 'é‘', - 'Ãê' => 'éŸ', - 'Ãë' => 'éƒ', - 'Ãì' => 'éˆ', - 'Ãí' => 'éœ', - 'Ãî' => 'é', - 'Ãï' => 'é–', - 'Ãð' => 'é¢', - 'Ãñ' => 'é', - 'Ãò' => 'é˜', - 'Ãó' => 'é¤', - 'Ãô' => 'é—', - 'Ãõ' => 'é¨', - 'Ãö' => 'é—œ', - 'Ã÷' => 'éš´', - 'Ãø' => '難', - 'Ãù' => '霪', - 'Ãú' => '霧', - 'Ãû' => 'é¡', - 'Ãü' => '韜', - 'Ãý' => '韻', - 'Ãþ' => 'é¡ž', - 'Ä@' => '願', - 'ÄA' => 'é¡›', - 'ÄB' => '颼', - 'ÄC' => '饅', - 'ÄD' => '饉', - 'ÄE' => '騖', - 'ÄF' => '騙', - 'ÄG' => 'é¬', - 'ÄH' => '鯨', - 'ÄI' => '鯧', - 'ÄJ' => '鯖', - 'ÄK' => '鯛', - 'ÄL' => '鶉', - 'ÄM' => '鵡', - 'ÄN' => 'éµ²', - 'ÄO' => '鵪', - 'ÄP' => '鵬', - 'ÄQ' => '麒', - 'ÄR' => '麗', - 'ÄS' => '麓', - 'ÄT' => '麴', - 'ÄU' => '勸', - 'ÄV' => '嚨', - 'ÄW' => 'åš·', - 'ÄX' => '嚶', - 'ÄY' => 'åš´', - 'ÄZ' => 'åš¼', - 'Ä[' => '壤', - 'Ä\\' => 'å­€', - 'Ä]' => 'å­ƒ', - 'Ä^' => 'å­½', - 'Ä_' => '寶', - 'Ä`' => 'å·‰', - 'Äa' => '懸', - 'Äb' => '懺', - 'Äc' => '攘', - 'Äd' => 'æ””', - 'Äe' => 'æ”™', - 'Äf' => '曦', - 'Äg' => '朧', - 'Äh' => '櫬', - 'Äi' => '瀾', - 'Äj' => '瀰', - 'Äk' => '瀲', - 'Äl' => 'çˆ', - 'Äm' => 'ç»', - 'Än' => 'ç“', - 'Äo' => '癢', - 'Äp' => '癥', - 'Äq' => '礦', - 'Är' => '礪', - 'Äs' => '礬', - 'Ät' => '礫', - 'Äu' => '竇', - 'Äv' => '競', - 'Äw' => '籌', - 'Äx' => '籃', - 'Äy' => 'ç±', - 'Äz' => '糯', - 'Ä{' => 'ç³°', - 'Ä|' => 'è¾®', - 'Ä}' => 'ç¹½', - 'Ä~' => 'ç¹¼', - 'Ä¡' => '纂', - 'Ä¢' => '罌', - 'Ä£' => '耀', - 'Ĥ' => '臚', - 'Ä¥' => '艦', - 'Ħ' => 'è—»', - 'ħ' => 'è—¹', - 'Ĩ' => '蘑', - 'Ä©' => 'è—º', - 'Ī' => '蘆', - 'Ä«' => '蘋', - 'Ĭ' => '蘇', - 'Ä­' => '蘊', - 'Ä®' => 'è ”', - 'į' => 'è •', - 'Ä°' => '襤', - 'ı' => '覺', - 'IJ' => '觸', - 'ij' => 'è­°', - 'Ä´' => 'è­¬', - 'ĵ' => 'è­¦', - 'Ķ' => 'è­¯', - 'Ä·' => 'è­Ÿ', - 'ĸ' => 'è­«', - 'Ĺ' => 'è´', - 'ĺ' => 'è´', - 'Ä»' => '躉', - 'ļ' => 'èº', - 'Ľ' => '躅', - 'ľ' => '躂', - 'Ä¿' => '醴', - 'ÄÀ' => '釋', - 'ÄÁ' => 'é˜', - 'ÄÂ' => 'éƒ', - 'ÄÃ' => 'é½', - 'ÄÄ' => 'é—¡', - 'ÄÅ' => '霰', - 'ÄÆ' => '飄', - 'ÄÇ' => '饒', - 'ÄÈ' => '饑', - 'ÄÉ' => '馨', - 'ÄÊ' => '騫', - 'ÄË' => '騰', - 'ÄÌ' => '騷', - 'ÄÍ' => '騵', - 'ÄÎ' => 'é°“', - 'ÄÏ' => 'é°', - 'ÄÐ' => 'é¹¹', - 'ÄÑ' => '麵', - 'ÄÒ' => '黨', - 'ÄÓ' => '鼯', - 'ÄÔ' => '齟', - 'ÄÕ' => 'é½£', - 'ÄÖ' => '齡', - 'Ä×' => 'å„·', - 'ÄØ' => '儸', - 'ÄÙ' => 'å›', - 'ÄÚ' => '囀', - 'ÄÛ' => '囂', - 'ÄÜ' => '夔', - 'ÄÝ' => '屬', - 'ÄÞ' => 'å·', - 'Äß' => '懼', - 'Äà' => '懾', - 'Äá' => 'æ”', - 'Äâ' => '攜', - 'Äã' => 'æ–•', - 'Ää' => '曩', - 'Äå' => 'æ«»', - 'Äæ' => '欄', - 'Äç' => '櫺', - 'Äè' => '殲', - 'Äé' => 'çŒ', - 'Äê' => '爛', - 'Äë' => '犧', - 'Äì' => 'ç“–', - 'Äí' => 'ç“”', - 'Äî' => '癩', - 'Äï' => '矓', - 'Äð' => 'ç±', - 'Äñ' => 'çº', - 'Äò' => '續', - 'Äó' => 'ç¾¼', - 'Äô' => '蘗', - 'Äõ' => '蘭', - 'Äö' => '蘚', - 'Ä÷' => 'è £', - 'Äø' => 'è ¢', - 'Äù' => 'è ¡', - 'Äú' => 'è Ÿ', - 'Äû' => '襪', - 'Äü' => '襬', - 'Äý' => '覽', - 'Äþ' => 'è­´', - 'Å@' => 'è­·', - 'ÅA' => 'è­½', - 'ÅB' => 'è´“', - 'ÅC' => '躊', - 'ÅD' => 'èº', - 'ÅE' => '躋', - 'ÅF' => '轟', - 'ÅG' => '辯', - 'ÅH' => '醺', - 'ÅI' => 'é®', - 'ÅJ' => 'é³', - 'ÅK' => 'éµ', - 'ÅL' => 'éº', - 'ÅM' => 'é¸', - 'ÅN' => 'é²', - 'ÅO' => 'é«', - 'ÅP' => 'é—¢', - 'ÅQ' => '霸', - 'ÅR' => '霹', - 'ÅS' => '露', - 'ÅT' => '響', - 'ÅU' => '顧', - 'ÅV' => 'é¡¥', - 'ÅW' => '饗', - 'ÅX' => 'é©…', - 'ÅY' => '驃', - 'ÅZ' => 'é©€', - 'Å[' => '騾', - 'Å\\' => 'é«', - 'Å]' => 'é­”', - 'Å^' => 'é­‘', - 'Å_' => 'é°­', - 'Å`' => 'é°¥', - 'Åa' => '鶯', - 'Åb' => '鶴', - 'Åc' => 'é·‚', - 'Åd' => '鶸', - 'Åe' => 'éº', - 'Åf' => '黯', - 'Åg' => 'é¼™', - 'Åh' => '齜', - 'Åi' => '齦', - 'Åj' => '齧', - 'Åk' => '儼', - 'Ål' => 'å„»', - 'Åm' => '囈', - 'Ån' => '囊', - 'Åo' => '囉', - 'Åp' => 'å­¿', - 'Åq' => 'å·”', - 'År' => 'å·’', - 'Ås' => '彎', - 'Åt' => '懿', - 'Åu' => '攤', - 'Åv' => '權', - 'Åw' => 'æ­¡', - 'Åx' => 'ç‘', - 'Åy' => 'ç˜', - 'Åz' => '玀', - 'Å{' => '瓤', - 'Å|' => 'ç–Š', - 'Å}' => 'ç™®', - 'Å~' => '癬', - 'Å¡' => '禳', - 'Å¢' => 'ç± ', - 'Å£' => '籟', - 'Ť' => 'è¾', - 'Å¥' => 'è½', - 'Ŧ' => '臟', - 'ŧ' => '襲', - 'Ũ' => '襯', - 'Å©' => '觼', - 'Ū' => '讀', - 'Å«' => 'è´–', - 'Ŭ' => 'è´—', - 'Å­' => '躑', - 'Å®' => '躓', - 'ů' => '轡', - 'Å°' => 'é…ˆ', - 'ű' => 'é‘„', - 'Ų' => 'é‘‘', - 'ų' => 'é‘’', - 'Å´' => '霽', - 'ŵ' => '霾', - 'Ŷ' => '韃', - 'Å·' => 'éŸ', - 'Ÿ' => 'é¡«', - 'Ź' => '饕', - 'ź' => 'é©•', - 'Å»' => 'é©', - 'ż' => 'é«’', - 'Ž' => '鬚', - 'ž' => '鱉', - 'Å¿' => 'é°±', - 'ÅÀ' => 'é°¾', - 'ÅÁ' => 'é°»', - 'ÅÂ' => 'é·“', - 'ÅÃ' => 'é·—', - 'ÅÄ' => 'é¼´', - 'ÅÅ' => '齬', - 'ÅÆ' => '齪', - 'ÅÇ' => 'é¾”', - 'ÅÈ' => '囌', - 'ÅÉ' => 'å·–', - 'ÅÊ' => '戀', - 'ÅË' => '攣', - 'ÅÌ' => '攫', - 'ÅÍ' => '攪', - 'ÅÎ' => '曬', - 'ÅÏ' => 'æ¬', - 'ÅÐ' => 'ç“š', - 'ÅÑ' => 'ç«Š', - 'ÅÒ' => '籤', - 'ÅÓ' => 'ç±£', - 'ÅÔ' => 'ç±¥', - 'ÅÕ' => '纓', - 'ÅÖ' => '纖', - 'Å×' => '纔', - 'ÅØ' => '臢', - 'ÅÙ' => '蘸', - 'ÅÚ' => '蘿', - 'ÅÛ' => 'è ±', - 'ÅÜ' => '變', - 'ÅÝ' => 'é‚', - 'ÅÞ' => 'é‚', - 'Åß' => 'é‘£', - 'Åà' => 'é‘ ', - 'Åá' => '鑤', - 'Åâ' => 'é¨', - 'Åã' => '顯', - 'Åä' => '饜', - 'Åå' => 'é©š', - 'Åæ' => 'é©›', - 'Åç' => 'é©—', - 'Åè' => 'é«“', - 'Åé' => 'é«”', - 'Åê' => 'é«‘', - 'Åë' => 'é±”', - 'Åì' => 'é±—', - 'Åí' => 'é±–', - 'Åî' => 'é·¥', - 'Åï' => '麟', - 'Åð' => 'é»´', - 'Åñ' => '囑', - 'Åò' => '壩', - 'Åó' => '攬', - 'Åô' => 'çž', - 'Åõ' => 'ç™±', - 'Åö' => '癲', - 'Å÷' => '矗', - 'Åø' => 'ç½', - 'Åù' => '羈', - 'Åú' => 'è ¶', - 'Åû' => 'è ¹', - 'Åü' => 'è¡¢', - 'Åý' => '讓', - 'Åþ' => 'è®’', - 'Æ@' => 'è®–', - 'ÆA' => '艷', - 'ÆB' => 'è´›', - 'ÆC' => '釀', - 'ÆD' => '鑪', - 'ÆE' => 'é‚', - 'ÆF' => 'éˆ', - 'ÆG' => 'é„', - 'ÆH' => '韆', - 'ÆI' => 'é¡°', - 'ÆJ' => 'é©Ÿ', - 'ÆK' => '鬢', - 'ÆL' => 'é­˜', - 'ÆM' => '鱟', - 'ÆN' => 'é·¹', - 'ÆO' => 'é·º', - 'ÆP' => 'é¹¼', - 'ÆQ' => 'é¹½', - 'ÆR' => '鼇', - 'ÆS' => 'é½·', - 'ÆT' => 'é½²', - 'ÆU' => '廳', - 'ÆV' => '欖', - 'ÆW' => 'ç£', - 'ÆX' => '籬', - 'ÆY' => 'ç±®', - 'ÆZ' => 'è »', - 'Æ[' => '觀', - 'Æ\\' => '躡', - 'Æ]' => 'é‡', - 'Æ^' => '鑲', - 'Æ_' => 'é‘°', - 'Æ`' => '顱', - 'Æa' => '饞', - 'Æb' => 'é«–', - 'Æc' => '鬣', - 'Æd' => '黌', - 'Æe' => 'ç¤', - 'Æf' => '矚', - 'Æg' => '讚', - 'Æh' => 'é‘·', - 'Æi' => '韉', - 'Æj' => 'é©¢', - 'Æk' => 'é©¥', - 'Æl' => '纜', - 'Æm' => '讜', - 'Æn' => '躪', - 'Æo' => '釅', - 'Æp' => '鑽', - 'Æq' => '鑾', - 'Ær' => '鑼', - 'Æs' => 'é±·', - 'Æt' => '鱸', - 'Æu' => 'é»·', - 'Æv' => 'è±”', - 'Æw' => 'é‘¿', - 'Æx' => '鸚', - 'Æy' => '爨', - 'Æz' => '驪', - 'Æ{' => '鬱', - 'Æ|' => '鸛', - 'Æ}' => '鸞', - 'Æ~' => 'ç±²', - 'Æ¡' => 'ヾ', - 'Æ¢' => 'ã‚', - 'Æ£' => 'ã‚ž', - 'Ƥ' => '々', - 'Æ¥' => 'ã', - 'Ʀ' => 'ã‚', - 'Ƨ' => 'ãƒ', - 'ƨ' => 'ã„', - 'Æ©' => 'ã…', - 'ƪ' => 'ã†', - 'Æ«' => 'ã‡', - 'Ƭ' => 'ãˆ', - 'Æ­' => 'ã‰', - 'Æ®' => 'ãŠ', - 'Ư' => 'ã‹', - 'Æ°' => 'ãŒ', - 'Ʊ' => 'ã', - 'Ʋ' => 'ãŽ', - 'Ƴ' => 'ã', - 'Æ´' => 'ã', - 'Ƶ' => 'ã‘', - 'ƶ' => 'ã’', - 'Æ·' => 'ã“', - 'Ƹ' => 'ã”', - 'ƹ' => 'ã•', - 'ƺ' => 'ã–', - 'Æ»' => 'ã—', - 'Ƽ' => 'ã˜', - 'ƽ' => 'ã™', - 'ƾ' => 'ãš', - 'Æ¿' => 'ã›', - 'ÆÀ' => 'ãœ', - 'ÆÁ' => 'ã', - 'ÆÂ' => 'ãž', - 'ÆÃ' => 'ãŸ', - 'ÆÄ' => 'ã ', - 'ÆÅ' => 'ã¡', - 'ÆÆ' => 'ã¢', - 'ÆÇ' => 'ã£', - 'ÆÈ' => 'ã¤', - 'ÆÉ' => 'ã¥', - 'ÆÊ' => 'ã¦', - 'ÆË' => 'ã§', - 'ÆÌ' => 'ã¨', - 'ÆÍ' => 'ã©', - 'ÆÎ' => 'ãª', - 'ÆÏ' => 'ã«', - 'ÆÐ' => 'ã¬', - 'ÆÑ' => 'ã­', - 'ÆÒ' => 'ã®', - 'ÆÓ' => 'ã¯', - 'ÆÔ' => 'ã°', - 'ÆÕ' => 'ã±', - 'ÆÖ' => 'ã²', - 'Æ×' => 'ã³', - 'ÆØ' => 'ã´', - 'ÆÙ' => 'ãµ', - 'ÆÚ' => 'ã¶', - 'ÆÛ' => 'ã·', - 'ÆÜ' => 'ã¸', - 'ÆÝ' => 'ã¹', - 'ÆÞ' => 'ãº', - 'Æß' => 'ã»', - 'Æà' => 'ã¼', - 'Æá' => 'ã½', - 'Æâ' => 'ã¾', - 'Æã' => 'ã¿', - 'Æä' => 'ã‚€', - 'Æå' => 'ã‚', - 'Ææ' => 'ã‚‚', - 'Æç' => 'ゃ', - 'Æè' => 'ã‚„', - 'Æé' => 'ã‚…', - 'Æê' => 'ゆ', - 'Æë' => 'ょ', - 'Æì' => 'よ', - 'Æí' => 'ら', - 'Æî' => 'ã‚Š', - 'Æï' => 'ã‚‹', - 'Æð' => 'ã‚Œ', - 'Æñ' => 'ã‚', - 'Æò' => 'ã‚Ž', - 'Æó' => 'ã‚', - 'Æô' => 'ã‚', - 'Æõ' => 'ã‚‘', - 'Æö' => 'ã‚’', - 'Æ÷' => 'ã‚“', - 'Æø' => 'ã‚¡', - 'Æù' => 'ã‚¢', - 'Æú' => 'ã‚£', - 'Æû' => 'イ', - 'Æü' => 'ã‚¥', - 'Æý' => 'ウ', - 'Æþ' => 'ェ', - 'Ç@' => 'エ', - 'ÇA' => 'ã‚©', - 'ÇB' => 'オ', - 'ÇC' => 'ã‚«', - 'ÇD' => 'ガ', - 'ÇE' => 'ã‚­', - 'ÇF' => 'ã‚®', - 'ÇG' => 'ク', - 'ÇH' => 'ã‚°', - 'ÇI' => 'ケ', - 'ÇJ' => 'ゲ', - 'ÇK' => 'コ', - 'ÇL' => 'ã‚´', - 'ÇM' => 'サ', - 'ÇN' => 'ザ', - 'ÇO' => 'ã‚·', - 'ÇP' => 'ジ', - 'ÇQ' => 'ス', - 'ÇR' => 'ズ', - 'ÇS' => 'ã‚»', - 'ÇT' => 'ゼ', - 'ÇU' => 'ソ', - 'ÇV' => 'ゾ', - 'ÇW' => 'ã‚¿', - 'ÇX' => 'ダ', - 'ÇY' => 'ãƒ', - 'ÇZ' => 'ヂ', - 'Ç[' => 'ッ', - 'Ç\\' => 'ツ', - 'Ç]' => 'ヅ', - 'Ç^' => 'テ', - 'Ç_' => 'デ', - 'Ç`' => 'ト', - 'Ça' => 'ド', - 'Çb' => 'ナ', - 'Çc' => 'ニ', - 'Çd' => 'ヌ', - 'Çe' => 'ãƒ', - 'Çf' => 'ノ', - 'Çg' => 'ãƒ', - 'Çh' => 'ãƒ', - 'Çi' => 'パ', - 'Çj' => 'ヒ', - 'Çk' => 'ビ', - 'Çl' => 'ピ', - 'Çm' => 'フ', - 'Çn' => 'ブ', - 'Ço' => 'プ', - 'Çp' => 'ヘ', - 'Çq' => 'ベ', - 'Çr' => 'ペ', - 'Çs' => 'ホ', - 'Çt' => 'ボ', - 'Çu' => 'ãƒ', - 'Çv' => 'マ', - 'Çw' => 'ミ', - 'Çx' => 'ム', - 'Çy' => 'メ', - 'Çz' => 'モ', - 'Ç{' => 'ャ', - 'Ç|' => 'ヤ', - 'Ç}' => 'ュ', - 'Ç~' => 'ユ', - 'Ç¡' => 'ョ', - 'Ç¢' => 'ヨ', - 'Ç£' => 'ラ', - 'Ǥ' => 'リ', - 'Ç¥' => 'ル', - 'Ǧ' => 'レ', - 'ǧ' => 'ロ', - 'Ǩ' => 'ヮ', - 'Ç©' => 'ワ', - 'Ǫ' => 'ヰ', - 'Ç«' => 'ヱ', - 'Ǭ' => 'ヲ', - 'Ç­' => 'ン', - 'Ç®' => 'ヴ', - 'ǯ' => 'ヵ', - 'Ç°' => 'ヶ', - 'DZ' => 'Д', - 'Dz' => 'Е', - 'dz' => 'Ð', - 'Ç´' => 'Ж', - 'ǵ' => 'З', - 'Ƕ' => 'И', - 'Ç·' => 'Й', - 'Ǹ' => 'К', - 'ǹ' => 'Л', - 'Ǻ' => 'Ðœ', - 'Ç»' => 'У', - 'Ǽ' => 'Ф', - 'ǽ' => 'Ð¥', - 'Ǿ' => 'Ц', - 'Ç¿' => 'Ч', - 'ÇÀ' => 'Ш', - 'ÇÁ' => 'Щ', - 'ÇÂ' => 'Ъ', - 'ÇÃ' => 'Ы', - 'ÇÄ' => 'Ь', - 'ÇÅ' => 'Э', - 'ÇÆ' => 'Ю', - 'ÇÇ' => 'Я', - 'ÇÈ' => 'а', - 'ÇÉ' => 'б', - 'ÇÊ' => 'в', - 'ÇË' => 'г', - 'ÇÌ' => 'д', - 'ÇÍ' => 'е', - 'ÇÎ' => 'Ñ‘', - 'ÇÏ' => 'ж', - 'ÇÐ' => 'з', - 'ÇÑ' => 'и', - 'ÇÒ' => 'й', - 'ÇÓ' => 'к', - 'ÇÔ' => 'л', - 'ÇÕ' => 'м', - 'ÇÖ' => 'н', - 'Ç×' => 'о', - 'ÇØ' => 'п', - 'ÇÙ' => 'Ñ€', - 'ÇÚ' => 'Ñ', - 'ÇÛ' => 'Ñ‚', - 'ÇÜ' => 'у', - 'ÇÝ' => 'Ñ„', - 'ÇÞ' => 'Ñ…', - 'Çß' => 'ц', - 'Çà' => 'ч', - 'Çá' => 'ш', - 'Çâ' => 'щ', - 'Çã' => 'ÑŠ', - 'Çä' => 'Ñ‹', - 'Çå' => 'ÑŒ', - 'Çæ' => 'Ñ', - 'Çç' => 'ÑŽ', - 'Çè' => 'Ñ', - 'Çé' => 'â‘ ', - 'Çê' => 'â‘¡', - 'Çë' => 'â‘¢', - 'Çì' => 'â‘£', - 'Çí' => '⑤', - 'Çî' => 'â‘¥', - 'Çï' => '⑦', - 'Çð' => '⑧', - 'Çñ' => '⑨', - 'Çò' => 'â‘©', - 'Çó' => 'â‘´', - 'Çô' => '⑵', - 'Çõ' => '⑶', - 'Çö' => 'â‘·', - 'Ç÷' => '⑸', - 'Çø' => '⑹', - 'Çù' => '⑺', - 'Çú' => 'â‘»', - 'Çû' => '⑼', - 'Çü' => '⑽', - 'É@' => '乂', - 'ÉA' => '乜', - 'ÉB' => '凵', - 'ÉC' => '匚', - 'ÉD' => '厂', - 'ÉE' => '万', - 'ÉF' => '丌', - 'ÉG' => '乇', - 'ÉH' => 'äº', - 'ÉI' => 'å›—', - 'ÉJ' => '兀', - 'ÉK' => 'å±®', - 'ÉL' => 'å½³', - 'ÉM' => 'ä¸', - 'ÉN' => '冇', - 'ÉO' => '与', - 'ÉP' => '丮', - 'ÉQ' => '亓', - 'ÉR' => '仂', - 'ÉS' => '仉', - 'ÉT' => '仈', - 'ÉU' => '冘', - 'ÉV' => '勼', - 'ÉW' => 'å¬', - 'ÉX' => '厹', - 'ÉY' => '圠', - 'ÉZ' => '夃', - 'É[' => '夬', - 'É\\' => 'å°', - 'É]' => 'å·¿', - 'É^' => 'æ—¡', - 'É_' => '殳', - 'É`' => '毌', - 'Éa' => 'æ°”', - 'Éb' => '爿', - 'Éc' => '丱', - 'Éd' => '丼', - 'Ée' => '仨', - 'Éf' => '仜', - 'Ég' => '仩', - 'Éh' => '仡', - 'Éi' => 'ä»', - 'Éj' => '仚', - 'Ék' => '刌', - 'Él' => '匜', - 'Ém' => 'åŒ', - 'Én' => '圢', - 'Éo' => '圣', - 'Ép' => '夗', - 'Éq' => '夯', - 'Ér' => 'å®', - 'És' => '宄', - 'Ét' => 'å°’', - 'Éu' => 'å°»', - 'Év' => 'å±´', - 'Éw' => 'å±³', - 'Éx' => '帄', - 'Éy' => '庀', - 'Éz' => '庂', - 'É{' => '忉', - 'É|' => '戉', - 'É}' => 'æ‰', - 'É~' => 'æ°•', - 'É¡' => 'æ°¶', - 'É¢' => '汃', - 'É£' => 'æ°¿', - 'ɤ' => 'æ°»', - 'É¥' => '犮', - 'ɦ' => '犰', - 'ɧ' => '玊', - 'ɨ' => '禸', - 'É©' => 'è‚Š', - 'ɪ' => '阞', - 'É«' => '伎', - 'ɬ' => '优', - 'É­' => '伬', - 'É®' => '仵', - 'ɯ' => 'ä¼”', - 'É°' => 'ä»±', - 'ɱ' => 'ä¼€', - 'ɲ' => 'ä»·', - 'ɳ' => '伈', - 'É´' => 'ä¼', - 'ɵ' => '伂', - 'ɶ' => 'ä¼…', - 'É·' => 'ä¼¢', - 'ɸ' => '伓', - 'ɹ' => '伄', - 'ɺ' => 'ä»´', - 'É»' => 'ä¼’', - 'ɼ' => '冱', - 'ɽ' => '刓', - 'ɾ' => '刉', - 'É¿' => 'åˆ', - 'ÉÀ' => '劦', - 'ÉÁ' => '匢', - 'ÉÂ' => '匟', - 'ÉÃ' => 'å', - 'ÉÄ' => '厊', - 'ÉÅ' => 'å‡', - 'ÉÆ' => '囡', - 'ÉÇ' => '囟', - 'ÉÈ' => '圮', - 'ÉÉ' => '圪', - 'ÉÊ' => '圴', - 'ÉË' => '夼', - 'ÉÌ' => '妀', - 'ÉÍ' => '奼', - 'ÉÎ' => '妅', - 'ÉÏ' => '奻', - 'ÉÐ' => '奾', - 'ÉÑ' => '奷', - 'ÉÒ' => '奿', - 'ÉÓ' => 'å­–', - 'ÉÔ' => 'å°•', - 'ÉÕ' => 'å°¥', - 'ÉÖ' => 'å±¼', - 'É×' => '屺', - 'ÉØ' => 'å±»', - 'ÉÙ' => 'å±¾', - 'ÉÚ' => 'å·Ÿ', - 'ÉÛ' => 'å¹µ', - 'ÉÜ' => '庄', - 'ÉÝ' => '异', - 'ÉÞ' => '弚', - 'Éß' => 'å½´', - 'Éà' => 'å¿•', - 'Éá' => 'å¿”', - 'Éâ' => 'å¿', - 'Éã' => '扜', - 'Éä' => '扞', - 'Éå' => '扤', - 'Éæ' => '扡', - 'Éç' => '扦', - 'Éè' => '扢', - 'Éé' => '扙', - 'Éê' => '扠', - 'Éë' => '扚', - 'Éì' => '扥', - 'Éí' => 'æ—¯', - 'Éî' => 'æ—®', - 'Éï' => '朾', - 'Éð' => '朹', - 'Éñ' => '朸', - 'Éò' => '朻', - 'Éó' => '机', - 'Éô' => '朿', - 'Éõ' => '朼', - 'Éö' => '朳', - 'É÷' => 'æ°˜', - 'Éø' => '汆', - 'Éù' => 'æ±’', - 'Éú' => '汜', - 'Éû' => 'æ±', - 'Éü' => '汊', - 'Éý' => 'æ±”', - 'Éþ' => '汋', - 'Ê@' => '汌', - 'ÊA' => 'ç±', - 'ÊB' => '牞', - 'ÊC' => '犴', - 'ÊD' => '犵', - 'ÊE' => '玎', - 'ÊF' => '甪', - 'ÊG' => '癿', - 'ÊH' => '穵', - 'ÊI' => '网', - 'ÊJ' => '艸', - 'ÊK' => '艼', - 'ÊL' => '芀', - 'ÊM' => '艽', - 'ÊN' => '艿', - 'ÊO' => 'è™', - 'ÊP' => '襾', - 'ÊQ' => 'é‚™', - 'ÊR' => 'é‚—', - 'ÊS' => '邘', - 'ÊT' => 'é‚›', - 'ÊU' => 'é‚”', - 'ÊV' => '阢', - 'ÊW' => '阤', - 'ÊX' => '阠', - 'ÊY' => '阣', - 'ÊZ' => 'ä½–', - 'Ê[' => 'ä¼»', - 'Ê\\' => 'ä½¢', - 'Ê]' => '佉', - 'Ê^' => '体', - 'Ê_' => '佤', - 'Ê`' => 'ä¼¾', - 'Êa' => '佧', - 'Êb' => 'ä½’', - 'Êc' => '佟', - 'Êd' => 'ä½', - 'Êe' => '佘', - 'Êf' => 'ä¼­', - 'Êg' => 'ä¼³', - 'Êh' => '伿', - 'Êi' => '佡', - 'Êj' => 'å†', - 'Êk' => '冹', - 'Êl' => '刜', - 'Êm' => '刞', - 'Ên' => '刡', - 'Êo' => '劭', - 'Êp' => '劮', - 'Êq' => '匉', - 'Êr' => 'å£', - 'Ês' => 'å²', - 'Êt' => '厎', - 'Êu' => 'åŽ', - 'Êv' => 'å°', - 'Êw' => 'å·', - 'Êx' => 'åª', - 'Êy' => 'å‘”', - 'Êz' => 'å‘…', - 'Ê{' => 'å™', - 'Ê|' => 'åœ', - 'Ê}' => 'å¥', - 'Ê~' => 'å˜', - 'Ê¡' => 'å½', - 'Ê¢' => 'å‘', - 'Ê£' => 'å‘', - 'ʤ' => 'å¨', - 'Ê¥' => 'å¤', - 'ʦ' => '呇', - 'ʧ' => 'å›®', - 'ʨ' => '囧', - 'Ê©' => '囥', - 'ʪ' => 'å', - 'Ê«' => 'å…', - 'ʬ' => 'åŒ', - 'Ê­' => 'å‰', - 'Ê®' => 'å‹', - 'ʯ' => 'å’', - 'Ê°' => '夆', - 'ʱ' => '奀', - 'ʲ' => '妦', - 'ʳ' => '妘', - 'Ê´' => '妠', - 'ʵ' => '妗', - 'ʶ' => '妎', - 'Ê·' => '妢', - 'ʸ' => 'å¦', - 'ʹ' => 'å¦', - 'ʺ' => '妧', - 'Ê»' => '妡', - 'ʼ' => '宎', - 'ʽ' => 'å®’', - 'ʾ' => 'å°¨', - 'Ê¿' => 'å°ª', - 'ÊÀ' => 'å²', - 'ÊÁ' => 'å²', - 'ÊÂ' => '岈', - 'ÊÃ' => '岋', - 'ÊÄ' => '岉', - 'ÊÅ' => 'å²’', - 'ÊÆ' => '岊', - 'ÊÇ' => '岆', - 'ÊÈ' => '岓', - 'ÊÉ' => '岕', - 'ÊÊ' => 'å· ', - 'ÊË' => '帊', - 'ÊÌ' => '帎', - 'ÊÍ' => '庋', - 'ÊÎ' => '庉', - 'ÊÏ' => '庌', - 'ÊÐ' => '庈', - 'ÊÑ' => 'åº', - 'ÊÒ' => 'å¼…', - 'ÊÓ' => 'å¼', - 'ÊÔ' => '彸', - 'ÊÕ' => '彶', - 'ÊÖ' => 'å¿’', - 'Ê×' => 'å¿‘', - 'ÊØ' => 'å¿', - 'ÊÙ' => 'å¿­', - 'ÊÚ' => '忨', - 'ÊÛ' => 'å¿®', - 'ÊÜ' => '忳', - 'ÊÝ' => 'å¿¡', - 'ÊÞ' => '忤', - 'Êß' => 'å¿£', - 'Êà' => '忺', - 'Êá' => '忯', - 'Êâ' => 'å¿·', - 'Êã' => 'å¿»', - 'Êä' => '怀', - 'Êå' => 'å¿´', - 'Êæ' => '戺', - 'Êç' => '抃', - 'Êè' => '抌', - 'Êé' => '抎', - 'Êê' => 'æŠ', - 'Êë' => '抔', - 'Êì' => '抇', - 'Êí' => '扱', - 'Êî' => '扻', - 'Êï' => '扺', - 'Êð' => '扰', - 'Êñ' => 'æŠ', - 'Êò' => '抈', - 'Êó' => '扷', - 'Êô' => '扽', - 'Êõ' => '扲', - 'Êö' => '扴', - 'Ê÷' => 'æ”·', - 'Êø' => 'æ—°', - 'Êù' => 'æ—´', - 'Êú' => 'æ—³', - 'Êû' => 'æ—²', - 'Êü' => 'æ—µ', - 'Êý' => 'æ…', - 'Êþ' => 'æ‡', - 'Ë@' => 'æ™', - 'ËA' => 'æ•', - 'ËB' => 'æŒ', - 'ËC' => 'æˆ', - 'ËD' => 'æ', - 'ËE' => 'æ', - 'ËF' => 'æš', - 'ËG' => 'æ‹', - 'ËH' => 'æ¯', - 'ËI' => 'æ°™', - 'ËJ' => 'æ°š', - 'ËK' => '汸', - 'ËL' => '汧', - 'ËM' => '汫', - 'ËN' => '沄', - 'ËO' => '沋', - 'ËP' => 'æ²', - 'ËQ' => 'æ±±', - 'ËR' => '汯', - 'ËS' => '汩', - 'ËT' => '沚', - 'ËU' => 'æ±­', - 'ËV' => '沇', - 'ËW' => '沕', - 'ËX' => '沜', - 'ËY' => '汦', - 'ËZ' => 'æ±³', - 'Ë[' => 'æ±¥', - 'Ë\\' => 'æ±»', - 'Ë]' => '沎', - 'Ë^' => 'ç´', - 'Ë_' => 'çº', - 'Ë`' => '牣', - 'Ëa' => '犿', - 'Ëb' => '犽', - 'Ëc' => '狃', - 'Ëd' => '狆', - 'Ëe' => 'ç‹', - 'Ëf' => '犺', - 'Ëg' => 'ç‹…', - 'Ëh' => '玕', - 'Ëi' => '玗', - 'Ëj' => '玓', - 'Ëk' => '玔', - 'Ël' => '玒', - 'Ëm' => '町', - 'Ën' => '甹', - 'Ëo' => 'ç–”', - 'Ëp' => 'ç–•', - 'Ëq' => 'çš', - 'Ër' => '礽', - 'Ës' => '耴', - 'Ët' => 'è‚•', - 'Ëu' => 'è‚™', - 'Ëv' => 'è‚', - 'Ëw' => 'è‚’', - 'Ëx' => 'è‚œ', - 'Ëy' => 'èŠ', - 'Ëz' => 'èŠ', - 'Ë{' => '芅', - 'Ë|' => '芎', - 'Ë}' => '芑', - 'Ë~' => '芓', - 'Ë¡' => '芊', - 'Ë¢' => '芃', - 'Ë£' => '芄', - 'ˤ' => '豸', - 'Ë¥' => '迉', - '˦' => '辿', - '˧' => 'é‚Ÿ', - '˨' => 'é‚¡', - 'Ë©' => 'é‚¥', - '˪' => 'é‚ž', - 'Ë«' => '邧', - 'ˬ' => 'é‚ ', - 'Ë­' => '阰', - 'Ë®' => '阨', - '˯' => '阯', - 'Ë°' => '阭', - '˱' => '丳', - '˲' => '侘', - '˳' => 'ä½¼', - 'Ë´' => 'ä¾…', - '˵' => 'ä½½', - '˶' => 'ä¾€', - 'Ë·' => '侇', - '˸' => '佶', - '˹' => 'ä½´', - '˺' => '侉', - 'Ë»' => '侄', - '˼' => 'ä½·', - '˽' => '佌', - '˾' => 'ä¾—', - 'Ë¿' => '佪', - 'ËÀ' => '侚', - 'ËÁ' => 'ä½¹', - 'ËÂ' => 'ä¾', - 'ËÃ' => '佸', - 'ËÄ' => 'ä¾', - 'ËÅ' => '侜', - 'ËÆ' => 'ä¾”', - 'ËÇ' => '侞', - 'ËÈ' => 'ä¾’', - 'ËÉ' => '侂', - 'ËÊ' => '侕', - 'ËË' => '佫', - 'ËÌ' => 'ä½®', - 'ËÍ' => '冞', - 'ËÎ' => '冼', - 'ËÏ' => '冾', - 'ËÐ' => '刵', - 'ËÑ' => '刲', - 'ËÒ' => '刳', - 'ËÓ' => '剆', - 'ËÔ' => '刱', - 'ËÕ' => '劼', - 'ËÖ' => '匊', - 'Ë×' => '匋', - 'ËØ' => '匼', - 'ËÙ' => '厒', - 'ËÚ' => '厔', - 'ËÛ' => 'å’‡', - 'ËÜ' => 'å‘¿', - 'ËÝ' => 'å’', - 'ËÞ' => 'å’‘', - 'Ëß' => 'å’‚', - 'Ëà' => 'å’ˆ', - 'Ëá' => 'å‘«', - 'Ëâ' => '呺', - 'Ëã' => '呾', - 'Ëä' => 'å‘¥', - 'Ëå' => '呬', - 'Ëæ' => 'å‘´', - 'Ëç' => '呦', - 'Ëè' => 'å’', - 'Ëé' => '呯', - 'Ëê' => 'å‘¡', - 'Ëë' => 'å‘ ', - 'Ëì' => 'å’˜', - 'Ëí' => 'å‘£', - 'Ëî' => '呧', - 'Ëï' => '呤', - 'Ëð' => 'å›·', - 'Ëñ' => '囹', - 'Ëò' => 'å¯', - 'Ëó' => 'å²', - 'Ëô' => 'å­', - 'Ëõ' => 'å«', - 'Ëö' => 'å±', - 'Ë÷' => 'å°', - 'Ëø' => 'å¶', - 'Ëù' => '垀', - 'Ëú' => 'åµ', - 'Ëû' => 'å»', - 'Ëü' => 'å³', - 'Ëý' => 'å´', - 'Ëþ' => 'å¢', - 'Ì@' => 'å¨', - 'ÌA' => 'å½', - 'ÌB' => '夌', - 'ÌC' => '奅', - 'ÌD' => '妵', - 'ÌE' => '妺', - 'ÌF' => 'å§', - 'ÌG' => '姎', - 'ÌH' => '妲', - 'ÌI' => '姌', - 'ÌJ' => 'å§', - 'ÌK' => '妶', - 'ÌL' => '妼', - 'ÌM' => '姃', - 'ÌN' => '姖', - 'ÌO' => '妱', - 'ÌP' => '妽', - 'ÌQ' => '姀', - 'ÌR' => '姈', - 'ÌS' => '妴', - 'ÌT' => '姇', - 'ÌU' => 'å­¢', - 'ÌV' => 'å­¥', - 'ÌW' => '宓', - 'ÌX' => '宕', - 'ÌY' => '屄', - 'ÌZ' => '屇', - 'Ì[' => 'å²®', - 'Ì\\' => '岤', - 'Ì]' => 'å² ', - 'Ì^' => 'å²µ', - 'Ì_' => '岯', - 'Ì`' => '岨', - 'Ìa' => '岬', - 'Ìb' => '岟', - 'Ìc' => 'å²£', - 'Ìd' => 'å²­', - 'Ìe' => 'å²¢', - 'Ìf' => '岪', - 'Ìg' => '岧', - 'Ìh' => 'å²', - 'Ìi' => 'å²¥', - 'Ìj' => '岶', - 'Ìk' => 'å²°', - 'Ìl' => '岦', - 'Ìm' => '帗', - 'Ìn' => '帔', - 'Ìo' => '帙', - 'Ìp' => '弨', - 'Ìq' => 'å¼¢', - 'Ìr' => 'å¼£', - 'Ìs' => '弤', - 'Ìt' => 'å½”', - 'Ìu' => '徂', - 'Ìv' => 'å½¾', - 'Ìw' => 'å½½', - 'Ìx' => 'å¿ž', - 'Ìy' => 'å¿¥', - 'Ìz' => '怭', - 'Ì{' => '怦', - 'Ì|' => '怙', - 'Ì}' => '怲', - 'Ì~' => '怋', - 'Ì¡' => '怴', - 'Ì¢' => '怊', - 'Ì£' => '怗', - '̤' => '怳', - 'Ì¥' => '怚', - '̦' => '怞', - '̧' => '怬', - '̨' => '怢', - 'Ì©' => 'æ€', - '̪' => 'æ€', - 'Ì«' => '怮', - '̬' => '怓', - 'Ì­' => '怑', - 'Ì®' => '怌', - '̯' => '怉', - 'Ì°' => '怜', - '̱' => '戔', - '̲' => '戽', - '̳' => '抭', - 'Ì´' => '抴', - '̵' => 'æ‹‘', - '̶' => '抾', - 'Ì·' => '抪', - '̸' => '抶', - '̹' => 'æ‹Š', - '̺' => '抮', - 'Ì»' => '抳', - '̼' => '抯', - '̽' => '抻', - '̾' => '抩', - 'Ì¿' => '抰', - 'ÌÀ' => '抸', - 'ÌÁ' => '攽', - 'ÌÂ' => 'æ–¨', - 'ÌÃ' => 'æ–»', - 'ÌÄ' => '昉', - 'ÌÅ' => 'æ—¼', - 'ÌÆ' => '昄', - 'ÌÇ' => '昒', - 'ÌÈ' => '昈', - 'ÌÉ' => 'æ—»', - 'ÌÊ' => '昃', - 'ÌË' => '昋', - 'ÌÌ' => 'æ˜', - 'ÌÍ' => '昅', - 'ÌÎ' => 'æ—½', - 'ÌÏ' => '昑', - 'ÌÐ' => 'æ˜', - 'ÌÑ' => '曶', - 'ÌÒ' => '朊', - 'ÌÓ' => 'æž…', - 'ÌÔ' => 'æ¬', - 'ÌÕ' => '枎', - 'ÌÖ' => 'æž’', - 'Ì×' => 'æ¶', - 'ÌØ' => 'æ»', - 'ÌÙ' => '枘', - 'ÌÚ' => '枆', - 'ÌÛ' => 'æž„', - 'ÌÜ' => 'æ´', - 'ÌÝ' => 'æž', - 'ÌÞ' => '枌', - 'Ìß' => 'æº', - 'Ìà' => '枟', - 'Ìá' => 'æž‘', - 'Ìâ' => 'æž™', - 'Ìã' => '枃', - 'Ìä' => 'æ½', - 'Ìå' => 'æž', - 'Ìæ' => 'æ¸', - 'Ìç' => 'æ¹', - 'Ìè' => 'æž”', - 'Ìé' => '欥', - 'Ìê' => '殀', - 'Ìë' => 'æ­¾', - 'Ìì' => '毞', - 'Ìí' => 'æ°', - 'Ìî' => '沓', - 'Ìï' => '泬', - 'Ìð' => '泫', - 'Ìñ' => 'æ³®', - 'Ìò' => 'æ³™', - 'Ìó' => '沶', - 'Ìô' => 'æ³”', - 'Ìõ' => 'æ²­', - 'Ìö' => '泧', - 'Ì÷' => 'æ²·', - 'Ìø' => 'æ³', - 'Ìù' => '泂', - 'Ìú' => '沺', - 'Ìû' => '泃', - 'Ìü' => '泆', - 'Ìý' => 'æ³­', - 'Ìþ' => 'æ³²', - 'Í@' => 'æ³’', - 'ÍA' => 'æ³', - 'ÍB' => 'æ²´', - 'ÍC' => '沊', - 'ÍD' => 'æ²', - 'ÍE' => 'æ²€', - 'ÍF' => '泞', - 'ÍG' => 'æ³€', - 'ÍH' => 'æ´°', - 'ÍI' => 'æ³', - 'ÍJ' => '泇', - 'ÍK' => 'æ²°', - 'ÍL' => 'æ³¹', - 'ÍM' => 'æ³', - 'ÍN' => '泩', - 'ÍO' => '泑', - 'ÍP' => 'ç‚”', - 'ÍQ' => '炘', - 'ÍR' => 'ç‚…', - 'ÍS' => 'ç‚“', - 'ÍT' => '炆', - 'ÍU' => 'ç‚„', - 'ÍV' => 'ç‚‘', - 'ÍW' => 'ç‚–', - 'ÍX' => 'ç‚‚', - 'ÍY' => 'ç‚š', - 'ÍZ' => '炃', - 'Í[' => '牪', - 'Í\\' => 'ç‹–', - 'Í]' => 'ç‹‹', - 'Í^' => '狘', - 'Í_' => '狉', - 'Í`' => 'ç‹œ', - 'Ía' => 'ç‹’', - 'Íb' => 'ç‹”', - 'Íc' => 'ç‹š', - 'Íd' => 'ç‹Œ', - 'Íe' => 'ç‹‘', - 'Íf' => '玤', - 'Íg' => '玡', - 'Íh' => '玭', - 'Íi' => '玦', - 'Íj' => '玢', - 'Ík' => '玠', - 'Íl' => '玬', - 'Ím' => 'çŽ', - 'Ín' => 'ç“', - 'Ío' => '瓨', - 'Íp' => '甿', - 'Íq' => 'ç•€', - 'Ír' => '甾', - 'Ís' => 'ç–Œ', - 'Ít' => 'ç–˜', - 'Íu' => '皯', - 'Ív' => '盳', - 'Íw' => 'ç›±', - 'Íx' => 'ç›°', - 'Íy' => '盵', - 'Íz' => '矸', - 'Í{' => '矼', - 'Í|' => '矹', - 'Í}' => '矻', - 'Í~' => '矺', - 'Í¡' => '矷', - 'Í¢' => '祂', - 'Í£' => '礿', - 'ͤ' => '秅', - 'Í¥' => '穸', - 'ͦ' => 'ç©»', - 'ͧ' => 'ç«»', - 'ͨ' => 'ç±µ', - 'Í©' => 'ç³½', - 'ͪ' => '耵', - 'Í«' => 'è‚', - 'ͬ' => 'è‚®', - 'Í­' => 'è‚£', - 'Í®' => '肸', - 'ͯ' => '肵', - 'Í°' => 'è‚­', - 'ͱ' => '舠', - 'Ͳ' => '芠', - 'ͳ' => 'è‹€', - 'Í´' => '芫', - '͵' => '芚', - 'Ͷ' => '芘', - 'Í·' => '芛', - '͸' => '芵', - '͹' => '芧', - 'ͺ' => '芮', - 'Í»' => '芼', - 'ͼ' => '芞', - 'ͽ' => '芺', - ';' => '芴', - 'Í¿' => '芨', - 'ÍÀ' => '芡', - 'ÍÁ' => '芩', - 'ÍÂ' => 'è‹‚', - 'ÍÃ' => '芤', - 'ÍÄ' => '苃', - 'ÍÅ' => '芶', - 'ÍÆ' => '芢', - 'ÍÇ' => 'è™°', - 'ÍÈ' => '虯', - 'ÍÉ' => 'è™­', - 'ÍÊ' => 'è™®', - 'ÍË' => 'è±–', - 'ÍÌ' => 'è¿’', - 'ÍÍ' => 'è¿‹', - 'ÍÎ' => 'è¿“', - 'ÍÏ' => 'è¿', - 'ÍÐ' => 'è¿–', - 'ÍÑ' => 'è¿•', - 'ÍÒ' => 'è¿—', - 'ÍÓ' => '邲', - 'ÍÔ' => 'é‚´', - 'ÍÕ' => '邯', - 'ÍÖ' => '邳', - 'Í×' => 'é‚°', - 'ÍØ' => '阹', - 'ÍÙ' => '阽', - 'ÍÚ' => '阼', - 'ÍÛ' => '阺', - 'ÍÜ' => '陃', - 'ÍÝ' => 'ä¿', - 'ÍÞ' => 'ä¿…', - 'Íß' => 'ä¿“', - 'Íà' => 'ä¾²', - 'Íá' => '俉', - 'Íâ' => 'ä¿‹', - 'Íã' => 'ä¿', - 'Íä' => 'ä¿”', - 'Íå' => 'ä¿œ', - 'Íæ' => 'ä¿™', - 'Íç' => 'ä¾»', - 'Íè' => 'ä¾³', - 'Íé' => 'ä¿›', - 'Íê' => '俇', - 'Íë' => 'ä¿–', - 'Íì' => '侺', - 'Íí' => 'ä¿€', - 'Íî' => 'ä¾¹', - 'Íï' => '俬', - 'Íð' => '剄', - 'Íñ' => '剉', - 'Íò' => 'å‹€', - 'Íó' => 'å‹‚', - 'Íô' => '匽', - 'Íõ' => 'å¼', - 'Íö' => '厗', - 'Í÷' => '厖', - 'Íø' => '厙', - 'Íù' => '厘', - 'Íú' => 'å’º', - 'Íû' => 'å’¡', - 'Íü' => 'å’­', - 'Íý' => 'å’¥', - 'Íþ' => 'å“', - 'Î@' => '哃', - 'ÎA' => 'èŒ', - 'ÎB' => 'å’·', - 'ÎC' => 'å’®', - 'ÎD' => 'å“–', - 'ÎE' => 'å’¶', - 'ÎF' => 'å“…', - 'ÎG' => '哆', - 'ÎH' => 'å’ ', - 'ÎI' => 'å‘°', - 'ÎJ' => 'å’¼', - 'ÎK' => 'å’¢', - 'ÎL' => 'å’¾', - 'ÎM' => '呲', - 'ÎN' => 'å“ž', - 'ÎO' => 'å’°', - 'ÎP' => 'åžµ', - 'ÎQ' => 'åžž', - 'ÎR' => '垟', - 'ÎS' => '垤', - 'ÎT' => '垌', - 'ÎU' => 'åž—', - 'ÎV' => 'åž', - 'ÎW' => 'åž›', - 'ÎX' => 'åž”', - 'ÎY' => '垘', - 'ÎZ' => 'åž', - 'Î[' => 'åž™', - 'Î\\' => '垥', - 'Î]' => 'åžš', - 'Î^' => 'åž•', - 'Î_' => '壴', - 'Î`' => 'å¤', - 'Îa' => '奓', - 'Îb' => '姡', - 'Îc' => '姞', - 'Îd' => '姮', - 'Îe' => '娀', - 'Îf' => '姱', - 'Îg' => 'å§', - 'Îh' => '姺', - 'Îi' => '姽', - 'Îj' => '姼', - 'Îk' => '姶', - 'Îl' => '姤', - 'Îm' => '姲', - 'În' => '姷', - 'Îo' => '姛', - 'Îp' => '姩', - 'Îq' => '姳', - 'Îr' => '姵', - 'Îs' => '姠', - 'Ît' => '姾', - 'Îu' => '姴', - 'Îv' => '姭', - 'Îw' => '宨', - 'Îx' => '屌', - 'Îy' => 'å³', - 'Îz' => '峘', - 'Î{' => '峌', - 'Î|' => 'å³—', - 'Î}' => '峋', - 'Î~' => 'å³›', - 'Ρ' => '峞', - '΢' => '峚', - 'Σ' => '峉', - 'Τ' => '峇', - 'Î¥' => '峊', - 'Φ' => 'å³–', - 'Χ' => '峓', - 'Ψ' => 'å³”', - 'Ω' => 'å³', - 'Ϊ' => '峈', - 'Ϋ' => '峆', - 'ά' => '峎', - 'έ' => '峟', - 'ή' => '峸', - 'ί' => 'å·¹', - 'ΰ' => '帡', - 'α' => '帢', - 'β' => '帣', - 'γ' => '帠', - 'δ' => '帤', - 'ε' => '庰', - 'ζ' => '庤', - 'η' => '庢', - 'θ' => '庛', - 'ι' => '庣', - 'κ' => '庥', - 'λ' => '弇', - 'μ' => 'å¼®', - 'ν' => 'å½–', - 'ξ' => '徆', - 'ο' => '怷', - 'ÎÀ' => '怹', - 'ÎÁ' => 'æ”', - 'ÎÂ' => 'æ²', - 'ÎÃ' => 'æž', - 'ÎÄ' => 'æ…', - 'ÎÅ' => 'æ“', - 'ÎÆ' => 'æ‡', - 'ÎÇ' => 'æ‰', - 'ÎÈ' => 'æ›', - 'ÎÉ' => 'æŒ', - 'ÎÊ' => 'æ€', - 'ÎË' => 'æ‚', - 'ÎÌ' => 'æŸ', - 'ÎÍ' => '怤', - 'ÎÎ' => 'æ„', - 'ÎÏ' => 'æ˜', - 'ÎÐ' => 'æ¦', - 'ÎÑ' => 'æ®', - 'ÎÒ' => '扂', - 'ÎÓ' => '扃', - 'ÎÔ' => 'æ‹', - 'ÎÕ' => 'æŒ', - 'ÎÖ' => '挋', - 'Î×' => '拵', - 'ÎØ' => '挎', - 'ÎÙ' => '挃', - 'ÎÚ' => 'æ‹«', - 'ÎÛ' => '拹', - 'ÎÜ' => 'æŒ', - 'ÎÝ' => '挌', - 'ÎÞ' => '拸', - 'Îß' => '拶', - 'Îà' => '挀', - 'Îá' => '挓', - 'Îâ' => '挔', - 'Îã' => '拺', - 'Îä' => '挕', - 'Îå' => 'æ‹»', - 'Îæ' => 'æ‹°', - 'Îç' => 'æ•', - 'Îè' => '敃', - 'Îé' => 'æ–ª', - 'Îê' => 'æ–¿', - 'Îë' => '昶', - 'Îì' => '昡', - 'Îí' => '昲', - 'Îî' => '昵', - 'Îï' => '昜', - 'Îð' => '昦', - 'Îñ' => '昢', - 'Îò' => '昳', - 'Îó' => '昫', - 'Îô' => '昺', - 'Îõ' => 'æ˜', - 'Îö' => '昴', - 'Î÷' => '昹', - 'Îø' => '昮', - 'Îù' => 'æœ', - 'Îú' => 'æœ', - 'Îû' => 'æŸ', - 'Îü' => '柲', - 'Îý' => '柈', - 'Îþ' => '枺', - 'Ï@' => '柜', - 'ÏA' => 'æž»', - 'ÏB' => '柸', - 'ÏC' => '柘', - 'ÏD' => '柀', - 'ÏE' => 'æž·', - 'ÏF' => '柅', - 'ÏG' => '柫', - 'ÏH' => '柤', - 'ÏI' => '柟', - 'ÏJ' => 'æžµ', - 'ÏK' => 'æŸ', - 'ÏL' => 'æž³', - 'ÏM' => '柷', - 'ÏN' => '柶', - 'ÏO' => '柮', - 'ÏP' => '柣', - 'ÏQ' => '柂', - 'ÏR' => 'æž¹', - 'ÏS' => '柎', - 'ÏT' => '柧', - 'ÏU' => '柰', - 'ÏV' => 'æž²', - 'ÏW' => '柼', - 'ÏX' => '柆', - 'ÏY' => '柭', - 'ÏZ' => '柌', - 'Ï[' => 'æž®', - 'Ï\\' => '柦', - 'Ï]' => '柛', - 'Ï^' => '柺', - 'Ï_' => '柉', - 'Ï`' => '柊', - 'Ïa' => '柃', - 'Ïb' => '柪', - 'Ïc' => '柋', - 'Ïd' => '欨', - 'Ïe' => '殂', - 'Ïf' => '殄', - 'Ïg' => '殶', - 'Ïh' => '毖', - 'Ïi' => '毘', - 'Ïj' => '毠', - 'Ïk' => 'æ° ', - 'Ïl' => 'æ°¡', - 'Ïm' => 'æ´¨', - 'Ïn' => 'æ´´', - 'Ïo' => 'æ´­', - 'Ïp' => 'æ´Ÿ', - 'Ïq' => 'æ´¼', - 'Ïr' => 'æ´¿', - 'Ïs' => 'æ´’', - 'Ït' => 'æ´Š', - 'Ïu' => '泚', - 'Ïv' => 'æ´³', - 'Ïw' => 'æ´„', - 'Ïx' => 'æ´™', - 'Ïy' => 'æ´º', - 'Ïz' => 'æ´š', - 'Ï{' => 'æ´‘', - 'Ï|' => 'æ´€', - 'Ï}' => 'æ´', - 'Ï~' => '浂', - 'Ï¡' => 'æ´', - 'Ï¢' => 'æ´˜', - 'Ï£' => 'æ´·', - 'Ϥ' => 'æ´ƒ', - 'Ï¥' => 'æ´', - 'Ϧ' => 'æµ€', - 'ϧ' => 'æ´‡', - 'Ϩ' => 'æ´ ', - 'Ï©' => 'æ´¬', - 'Ϫ' => 'æ´ˆ', - 'Ï«' => 'æ´¢', - 'Ϭ' => 'æ´‰', - 'Ï­' => 'æ´', - 'Ï®' => 'ç‚·', - 'ϯ' => 'ç‚Ÿ', - 'Ï°' => '炾', - 'ϱ' => '炱', - 'ϲ' => 'ç‚°', - 'ϳ' => 'ç‚¡', - 'Ï´' => 'ç‚´', - 'ϵ' => '炵', - '϶' => 'ç‚©', - 'Ï·' => 'ç‰', - 'ϸ' => '牉', - 'Ϲ' => '牊', - 'Ϻ' => '牬', - 'Ï»' => '牰', - 'ϼ' => '牳', - 'Ͻ' => '牮', - 'Ͼ' => 'ç‹Š', - 'Ï¿' => '狤', - 'ÏÀ' => '狨', - 'ÏÁ' => 'ç‹«', - 'ÏÂ' => 'ç‹Ÿ', - 'ÏÃ' => '狪', - 'ÏÄ' => '狦', - 'ÏÅ' => 'ç‹£', - 'ÏÆ' => '玅', - 'ÏÇ' => 'çŒ', - 'ÏÈ' => 'ç‚', - 'ÏÉ' => 'çˆ', - 'ÏÊ' => 'ç…', - 'ÏË' => '玹', - 'ÏÌ' => '玶', - 'ÏÍ' => '玵', - 'ÏÎ' => '玴', - 'ÏÏ' => 'ç«', - 'ÏÐ' => '玿', - 'ÏÑ' => 'ç‡', - 'ÏÒ' => '玾', - 'ÏÓ' => 'çƒ', - 'ÏÔ' => 'ç†', - 'ÏÕ' => '玸', - 'ÏÖ' => 'ç‹', - 'Ï×' => '瓬', - 'ÏØ' => 'ç“®', - 'ÏÙ' => 'ç”®', - 'ÏÚ' => '畇', - 'ÏÛ' => '畈', - 'ÏÜ' => 'ç–§', - 'ÏÝ' => 'ç–ª', - 'ÏÞ' => '癹', - 'Ïß' => '盄', - 'Ïà' => '眈', - 'Ïá' => '眃', - 'Ïâ' => '眄', - 'Ïã' => '眅', - 'Ïä' => '眊', - 'Ïå' => 'ç›·', - 'Ïæ' => 'ç›»', - 'Ïç' => '盺', - 'Ïè' => '矧', - 'Ïé' => '矨', - 'Ïê' => 'ç †', - 'Ïë' => 'ç ‘', - 'Ïì' => 'ç ’', - 'Ïí' => 'ç …', - 'Ïî' => 'ç ', - 'Ïï' => 'ç ', - 'Ïð' => 'ç Ž', - 'Ïñ' => 'ç ‰', - 'Ïò' => 'ç ƒ', - 'Ïó' => 'ç “', - 'Ïô' => '祊', - 'Ïõ' => '祌', - 'Ïö' => '祋', - 'Ï÷' => '祅', - 'Ïø' => '祄', - 'Ïù' => '秕', - 'Ïú' => 'ç§', - 'Ïû' => 'ç§', - 'Ïü' => '秖', - 'Ïý' => '秎', - 'Ïþ' => '窀', - 'Ð@' => '穾', - 'ÐA' => 'ç«‘', - 'ÐB' => '笀', - 'ÐC' => 'ç¬', - 'ÐD' => '籺', - 'ÐE' => '籸', - 'ÐF' => 'ç±¹', - 'ÐG' => '籿', - 'ÐH' => 'ç²€', - 'ÐI' => 'ç²', - 'ÐJ' => 'ç´ƒ', - 'ÐK' => 'ç´ˆ', - 'ÐL' => 'ç´', - 'ÐM' => '罘', - 'ÐN' => '羑', - 'ÐO' => 'ç¾', - 'ÐP' => 'ç¾¾', - 'ÐQ' => '耇', - 'ÐR' => '耎', - 'ÐS' => 'è€', - 'ÐT' => '耔', - 'ÐU' => '耷', - 'ÐV' => '胘', - 'ÐW' => '胇', - 'ÐX' => '胠', - 'ÐY' => '胑', - 'ÐZ' => '胈', - 'Ð[' => '胂', - 'Ð\\' => 'èƒ', - 'Ð]' => '胅', - 'Ð^' => '胣', - 'Ð_' => '胙', - 'Ð`' => '胜', - 'Ða' => '胊', - 'Ðb' => '胕', - 'Ðc' => '胉', - 'Ðd' => 'èƒ', - 'Ðe' => '胗', - 'Ðf' => '胦', - 'Ðg' => 'èƒ', - 'Ðh' => '臿', - 'Ði' => '舡', - 'Ðj' => '芔', - 'Ðk' => 'è‹™', - 'Ðl' => '苾', - 'Ðm' => '苹', - 'Ðn' => '茇', - 'Ðo' => '苨', - 'Ðp' => '茀', - 'Ðq' => 'è‹•', - 'Ðr' => '茺', - 'Ðs' => 'è‹«', - 'Ðt' => 'è‹–', - 'Ðu' => 'è‹´', - 'Ðv' => '苬', - 'Ðw' => 'è‹¡', - 'Ðx' => '苲', - 'Ðy' => '苵', - 'Ðz' => '茌', - 'Ð{' => 'è‹»', - 'Ð|' => '苶', - 'Ð}' => 'è‹°', - 'Ð~' => '苪', - 'С' => '苤', - 'Т' => 'è‹ ', - 'У' => '苺', - 'Ф' => '苳', - 'Ð¥' => 'è‹­', - 'Ц' => 'è™·', - 'Ч' => 'è™´', - 'Ш' => '虼', - 'Щ' => '虳', - 'Ъ' => 'è¡', - 'Ы' => 'è¡Ž', - 'Ь' => '衧', - 'Э' => '衪', - 'Ю' => 'è¡©', - 'Я' => '觓', - 'а' => '訄', - 'б' => '訇', - 'в' => 'èµ²', - 'г' => 'è¿£', - 'д' => 'è¿¡', - 'е' => 'è¿®', - 'ж' => 'è¿ ', - 'з' => '郱', - 'и' => '邽', - 'й' => 'é‚¿', - 'к' => '郕', - 'л' => '郅', - 'м' => '邾', - 'н' => '郇', - 'о' => '郋', - 'п' => '郈', - 'ÐÀ' => '釔', - 'ÐÁ' => '釓', - 'ÐÂ' => 'é™”', - 'ÐÃ' => 'é™', - 'ÐÄ' => '陑', - 'ÐÅ' => '陓', - 'ÐÆ' => '陊', - 'ÐÇ' => '陎', - 'ÐÈ' => '倞', - 'ÐÉ' => '倅', - 'ÐÊ' => '倇', - 'ÐË' => '倓', - 'ÐÌ' => '倢', - 'ÐÍ' => '倰', - 'ÐÎ' => '倛', - 'ÐÏ' => '俵', - 'ÐÐ' => 'ä¿´', - 'ÐÑ' => '倳', - 'ÐÒ' => '倷', - 'ÐÓ' => '倬', - 'ÐÔ' => '俶', - 'ÐÕ' => 'ä¿·', - 'ÐÖ' => '倗', - 'Ð×' => '倜', - 'ÐØ' => '倠', - 'ÐÙ' => '倧', - 'ÐÚ' => '倵', - 'ÐÛ' => '倯', - 'ÐÜ' => '倱', - 'ÐÝ' => '倎', - 'ÐÞ' => 'å…š', - 'Ðß' => '冔', - 'Ðà' => '冓', - 'Ðá' => '凊', - 'Ðâ' => '凄', - 'Ðã' => '凅', - 'Ðä' => '凈', - 'Ðå' => '凎', - 'Ðæ' => '剡', - 'Ðç' => '剚', - 'Ðè' => '剒', - 'Ðé' => '剞', - 'Ðê' => '剟', - 'Ðë' => '剕', - 'Ðì' => '剢', - 'Ðí' => 'å‹', - 'Ðî' => '匎', - 'Ðï' => '厞', - 'Ðð' => '唦', - 'Ðñ' => 'å“¢', - 'Ðò' => 'å”—', - 'Ðó' => 'å”’', - 'Ðô' => '哧', - 'Ðõ' => '哳', - 'Ðö' => '哤', - 'Ð÷' => '唚', - 'Ðø' => 'å“¿', - 'Ðù' => '唄', - 'Ðú' => '唈', - 'Ðû' => 'å“«', - 'Ðü' => '唑', - 'Ðý' => 'å”…', - 'Ðþ' => '哱', - 'Ñ@' => '唊', - 'ÑA' => 'å“»', - 'ÑB' => 'å“·', - 'ÑC' => '哸', - 'ÑD' => 'å“ ', - 'ÑE' => '唎', - 'ÑF' => '唃', - 'ÑG' => '唋', - 'ÑH' => 'åœ', - 'ÑI' => '圂', - 'ÑJ' => '埌', - 'ÑK' => 'å ²', - 'ÑL' => '埕', - 'ÑM' => '埒', - 'ÑN' => '垺', - 'ÑO' => '埆', - 'ÑP' => 'åž½', - 'ÑQ' => 'åž¼', - 'ÑR' => '垸', - 'ÑS' => '垶', - 'ÑT' => 'åž¿', - 'ÑU' => '埇', - 'ÑV' => 'åŸ', - 'ÑW' => 'åž¹', - 'ÑX' => 'åŸ', - 'ÑY' => '夎', - 'ÑZ' => '奊', - 'Ñ[' => '娙', - 'Ñ\\' => '娖', - 'Ñ]' => '娭', - 'Ñ^' => '娮', - 'Ñ_' => '娕', - 'Ñ`' => 'å¨', - 'Ña' => '娗', - 'Ñb' => '娊', - 'Ñc' => '娞', - 'Ñd' => '娳', - 'Ñe' => 'å­¬', - 'Ñf' => '宧', - 'Ñg' => 'å®­', - 'Ñh' => '宬', - 'Ñi' => 'å°ƒ', - 'Ñj' => 'å±–', - 'Ñk' => 'å±”', - 'Ñl' => '峬', - 'Ñm' => '峿', - 'Ñn' => 'å³®', - 'Ño' => 'å³±', - 'Ñp' => 'å³·', - 'Ñq' => 'å´€', - 'Ñr' => 'å³¹', - 'Ñs' => '帩', - 'Ñt' => '帨', - 'Ñu' => '庨', - 'Ñv' => '庮', - 'Ñw' => '庪', - 'Ñx' => '庬', - 'Ñy' => 'å¼³', - 'Ñz' => 'å¼°', - 'Ñ{' => '彧', - 'Ñ|' => 'æ', - 'Ñ}' => 'æš', - 'Ñ~' => 'æ§', - 'Ñ¡' => 'æ', - 'Ñ¢' => 'æ‚¢', - 'Ñ£' => '悈', - 'Ѥ' => 'æ‚€', - 'Ñ¥' => 'æ‚’', - 'Ѧ' => 'æ‚', - 'ѧ' => 'æ‚', - 'Ѩ' => '悃', - 'Ñ©' => 'æ‚•', - 'Ѫ' => 'æ‚›', - 'Ñ«' => 'æ‚—', - 'Ѭ' => '悇', - 'Ñ­' => 'æ‚œ', - 'Ñ®' => 'æ‚Ž', - 'ѯ' => '戙', - 'Ñ°' => '扆', - 'ѱ' => '拲', - 'Ѳ' => 'æŒ', - 'ѳ' => 'æ–', - 'Ñ´' => '挬', - 'ѵ' => 'æ„', - 'Ѷ' => 'æ…', - 'Ñ·' => '挶', - 'Ѹ' => 'æƒ', - 'ѹ' => 'æ¤', - 'Ѻ' => '挹', - 'Ñ»' => 'æ‹', - 'Ѽ' => 'æŠ', - 'ѽ' => '挼', - 'Ѿ' => '挩', - 'Ñ¿' => 'æ', - 'ÑÀ' => '挴', - 'ÑÁ' => 'æ˜', - 'ÑÂ' => 'æ”', - 'ÑÃ' => 'æ™', - 'ÑÄ' => '挭', - 'ÑÅ' => 'æ‡', - 'ÑÆ' => '挳', - 'ÑÇ' => 'æš', - 'ÑÈ' => 'æ‘', - 'ÑÉ' => '挸', - 'ÑÊ' => 'æ—', - 'ÑË' => 'æ€', - 'ÑÌ' => 'æˆ', - 'ÑÍ' => 'æ•Š', - 'ÑÎ' => '敆', - 'ÑÏ' => 'æ—†', - 'ÑÐ' => 'æ—ƒ', - 'ÑÑ' => 'æ—„', - 'ÑÒ' => 'æ—‚', - 'ÑÓ' => '晊', - 'ÑÔ' => '晟', - 'ÑÕ' => '晇', - 'ÑÖ' => '晑', - 'Ñ×' => '朒', - 'ÑØ' => '朓', - 'ÑÙ' => 'æ Ÿ', - 'ÑÚ' => 'æ š', - 'ÑÛ' => '桉', - 'ÑÜ' => 'æ ²', - 'ÑÝ' => 'æ ³', - 'ÑÞ' => 'æ »', - 'Ñß' => 'æ¡‹', - 'Ñà' => 'æ¡', - 'Ñá' => 'æ –', - 'Ñâ' => 'æ ±', - 'Ñã' => 'æ œ', - 'Ñä' => 'æ µ', - 'Ñå' => 'æ «', - 'Ñæ' => 'æ ­', - 'Ñç' => 'æ ¯', - 'Ñè' => 'æ¡Ž', - 'Ñé' => 'æ¡„', - 'Ñê' => 'æ ´', - 'Ñë' => 'æ ', - 'Ñì' => 'æ ’', - 'Ñí' => 'æ ”', - 'Ñî' => 'æ ¦', - 'Ñï' => 'æ ¨', - 'Ñð' => 'æ ®', - 'Ññ' => 'æ¡', - 'Ñò' => 'æ º', - 'Ñó' => 'æ ¥', - 'Ñô' => 'æ  ', - 'Ñõ' => '欬', - 'Ñö' => '欯', - 'Ñ÷' => '欭', - 'Ñø' => '欱', - 'Ñù' => '欴', - 'Ñú' => 'æ­­', - 'Ñû' => 'è‚‚', - 'Ñü' => '殈', - 'Ñý' => '毦', - 'Ñþ' => '毤', - 'Ò@' => '毨', - 'ÒA' => '毣', - 'ÒB' => '毢', - 'ÒC' => '毧', - 'ÒD' => 'æ°¥', - 'ÒE' => '浺', - 'ÒF' => 'æµ£', - 'ÒG' => '浤', - 'ÒH' => '浶', - 'ÒI' => 'æ´', - 'ÒJ' => '浡', - 'ÒK' => '涒', - 'ÒL' => '浘', - 'ÒM' => 'æµ¢', - 'ÒN' => 'æµ­', - 'ÒO' => '浯', - 'ÒP' => '涑', - 'ÒQ' => 'æ¶', - 'ÒR' => 'æ·¯', - 'ÒS' => '浿', - 'ÒT' => '涆', - 'ÒU' => '浞', - 'ÒV' => '浧', - 'ÒW' => 'æµ ', - 'ÒX' => '涗', - 'ÒY' => 'æµ°', - 'ÒZ' => 'æµ¼', - 'Ò[' => '浟', - 'Ò\\' => '涂', - 'Ò]' => '涘', - 'Ò^' => 'æ´¯', - 'Ò_' => '浨', - 'Ò`' => '涋', - 'Òa' => 'æµ¾', - 'Òb' => '涀', - 'Òc' => '涄', - 'Òd' => 'æ´–', - 'Òe' => '涃', - 'Òf' => 'æµ»', - 'Òg' => 'æµ½', - 'Òh' => 'æµµ', - 'Òi' => 'æ¶', - 'Òj' => '烜', - 'Òk' => '烓', - 'Òl' => '烑', - 'Òm' => 'çƒ', - 'Òn' => '烋', - 'Òo' => 'ç¼¹', - 'Òp' => '烢', - 'Òq' => '烗', - 'Òr' => '烒', - 'Òs' => '烞', - 'Òt' => '烠', - 'Òu' => '烔', - 'Òv' => 'çƒ', - 'Òw' => '烅', - 'Òx' => '烆', - 'Òy' => '烇', - 'Òz' => '烚', - 'Ò{' => '烎', - 'Ò|' => '烡', - 'Ò}' => '牂', - 'Ò~' => '牸', - 'Ò¡' => '牷', - 'Ò¢' => '牶', - 'Ò£' => '猀', - 'Ò¤' => '狺', - 'Ò¥' => 'ç‹´', - 'Ò¦' => '狾', - 'Ò§' => '狶', - 'Ò¨' => '狳', - 'Ò©' => 'ç‹»', - 'Òª' => 'çŒ', - 'Ò«' => 'ç“', - 'Ò¬' => 'ç™', - 'Ò­' => 'ç¥', - 'Ò®' => 'ç–', - 'Ò¯' => '玼', - 'Ò°' => 'ç§', - 'Ò±' => 'ç£', - 'Ò²' => 'ç©', - 'Ò³' => 'çœ', - 'Ò´' => 'ç’', - 'Òµ' => 'ç›', - 'Ò¶' => 'ç”', - 'Ò·' => 'ç', - 'Ò¸' => 'çš', - 'Ò¹' => 'ç—', - 'Òº' => 'ç˜', - 'Ò»' => 'ç¨', - 'Ò¼' => 'ç“ž', - 'Ò½' => 'ç“Ÿ', - 'Ò¾' => 'ç“´', - 'Ò¿' => '瓵', - 'ÒÀ' => '甡', - 'ÒÁ' => 'ç•›', - 'ÒÂ' => 'ç•Ÿ', - 'ÒÃ' => 'ç–°', - 'ÒÄ' => 'ç—', - 'ÒÅ' => 'ç–»', - 'ÒÆ' => 'ç—„', - 'ÒÇ' => 'ç—€', - 'ÒÈ' => 'ç–¿', - 'ÒÉ' => 'ç–¶', - 'ÒÊ' => 'ç–º', - 'ÒË' => '皊', - 'ÒÌ' => '盉', - 'ÒÍ' => 'çœ', - 'ÒÎ' => '眛', - 'ÒÏ' => 'çœ', - 'ÒÐ' => '眓', - 'ÒÑ' => '眒', - 'ÒÒ' => '眣', - 'ÒÓ' => '眑', - 'ÒÔ' => '眕', - 'ÒÕ' => '眙', - 'ÒÖ' => '眚', - 'Ò×' => '眢', - 'ÒØ' => '眧', - 'ÒÙ' => 'ç £', - 'ÒÚ' => 'ç ¬', - 'ÒÛ' => 'ç ¢', - 'ÒÜ' => 'ç µ', - 'ÒÝ' => 'ç ¯', - 'ÒÞ' => 'ç ¨', - 'Òß' => 'ç ®', - 'Òà' => 'ç «', - 'Òá' => 'ç ¡', - 'Òâ' => 'ç ©', - 'Òã' => 'ç ³', - 'Òä' => 'ç ª', - 'Òå' => 'ç ±', - 'Òæ' => '祔', - 'Òç' => '祛', - 'Òè' => 'ç¥', - 'Òé' => '祜', - 'Òê' => '祓', - 'Òë' => '祒', - 'Òì' => '祑', - 'Òí' => '秫', - 'Òî' => '秬', - 'Òï' => '秠', - 'Òð' => '秮', - 'Òñ' => '秭', - 'Òò' => '秪', - 'Òó' => '秜', - 'Òô' => '秞', - 'Òõ' => 'ç§', - 'Òö' => '窆', - 'Ò÷' => '窉', - 'Òø' => '窅', - 'Òù' => '窋', - 'Òú' => '窌', - 'Òû' => '窊', - 'Òü' => '窇', - 'Òý' => '竘', - 'Òþ' => 'ç¬', - 'Ó@' => '笄', - 'ÓA' => '笓', - 'ÓB' => '笅', - 'ÓC' => 'ç¬', - 'ÓD' => '笈', - 'ÓE' => '笊', - 'ÓF' => '笎', - 'ÓG' => '笉', - 'ÓH' => '笒', - 'ÓI' => '粄', - 'ÓJ' => '粑', - 'ÓK' => '粊', - 'ÓL' => '粌', - 'ÓM' => '粈', - 'ÓN' => 'ç²', - 'ÓO' => 'ç²…', - 'ÓP' => 'ç´ž', - 'ÓQ' => 'ç´', - 'ÓR' => 'ç´‘', - 'ÓS' => 'ç´Ž', - 'ÓT' => 'ç´˜', - 'ÓU' => 'ç´–', - 'ÓV' => 'ç´“', - 'ÓW' => 'ç´Ÿ', - 'ÓX' => 'ç´’', - 'ÓY' => 'ç´', - 'ÓZ' => 'ç´Œ', - 'Ó[' => '罜', - 'Ó\\' => '罡', - 'Ó]' => '罞', - 'Ó^' => 'ç½ ', - 'Ó_' => 'ç½', - 'Ó`' => 'ç½›', - 'Óa' => 'ç¾–', - 'Ób' => 'ç¾’', - 'Óc' => '翃', - 'Ód' => 'ç¿‚', - 'Óe' => 'ç¿€', - 'Óf' => '耖', - 'Óg' => '耾', - 'Óh' => '耹', - 'Ói' => '胺', - 'Ój' => '胲', - 'Ók' => '胹', - 'Ól' => '胵', - 'Óm' => 'è„', - 'Ón' => '胻', - 'Óo' => 'è„€', - 'Óp' => 'èˆ', - 'Óq' => '舯', - 'Ór' => '舥', - 'Ós' => '茳', - 'Ót' => '茭', - 'Óu' => 'è„', - 'Óv' => '茙', - 'Ów' => 'è‘', - 'Óx' => '茥', - 'Óy' => 'è–', - 'Óz' => '茿', - 'Ó{' => 'è', - 'Ó|' => '茦', - 'Ó}' => '茜', - 'Ó~' => '茢', - 'Ó¡' => 'è‚', - 'Ó¢' => 'èŽ', - 'Ó£' => '茛', - 'Ó¤' => '茪', - 'Ó¥' => '茈', - 'Ó¦' => '茼', - 'Ó§' => 'è', - 'Ó¨' => '茖', - 'Ó©' => '茤', - 'Óª' => '茠', - 'Ó«' => '茷', - 'Ó¬' => '茯', - 'Ó­' => '茩', - 'Ó®' => 'è‡', - 'Ó¯' => 'è…', - 'Ó°' => 'èŒ', - 'Ó±' => 'è“', - 'Ó²' => '茞', - 'Ó³' => '茬', - 'Ó´' => 'è‹', - 'Óµ' => '茧', - 'Ó¶' => 'èˆ', - 'Ó·' => '虓', - 'Ó¸' => 'è™’', - 'Ó¹' => '蚢', - 'Óº' => '蚨', - 'Ó»' => 'èš–', - 'Ó¼' => 'èš', - 'Ó½' => 'èš‘', - 'Ó¾' => 'èšž', - 'Ó¿' => '蚇', - 'ÓÀ' => 'èš—', - 'ÓÁ' => '蚆', - 'ÓÂ' => 'èš‹', - 'ÓÃ' => 'èšš', - 'ÓÄ' => 'èš…', - 'ÓÅ' => '蚥', - 'ÓÆ' => 'èš™', - 'ÓÇ' => 'èš¡', - 'ÓÈ' => '蚧', - 'ÓÉ' => 'èš•', - 'ÓÊ' => '蚘', - 'ÓË' => '蚎', - 'ÓÌ' => 'èš', - 'ÓÍ' => 'èš', - 'ÓÎ' => 'èš”', - 'ÓÏ' => '衃', - 'ÓÐ' => 'è¡„', - 'ÓÑ' => 'è¡­', - 'ÓÒ' => '衵', - 'ÓÓ' => '衶', - 'ÓÔ' => '衲', - 'ÓÕ' => '袀', - 'ÓÖ' => '衱', - 'Ó×' => 'è¡¿', - 'ÓØ' => '衯', - 'ÓÙ' => '袃', - 'ÓÚ' => '衾', - 'ÓÛ' => 'è¡´', - 'ÓÜ' => '衼', - 'ÓÝ' => '訒', - 'ÓÞ' => '豇', - 'Óß' => 'è±—', - 'Óà' => 'è±»', - 'Óá' => '貤', - 'Óâ' => 'è²£', - 'Óã' => '赶', - 'Óä' => '赸', - 'Óå' => '趵', - 'Óæ' => '趷', - 'Óç' => '趶', - 'Óè' => '軑', - 'Óé' => '軓', - 'Óê' => '迾', - 'Óë' => '迵', - 'Óì' => '适', - 'Óí' => 'è¿¿', - 'Óî' => 'è¿»', - 'Óï' => '逄', - 'Óð' => '迼', - 'Óñ' => '迶', - 'Óò' => '郖', - 'Óó' => '郠', - 'Óô' => '郙', - 'Óõ' => '郚', - 'Óö' => '郣', - 'Ó÷' => '郟', - 'Óø' => '郥', - 'Óù' => '郘', - 'Óú' => '郛', - 'Óû' => '郗', - 'Óü' => '郜', - 'Óý' => '郤', - 'Óþ' => 'é…', - 'Ô@' => 'é…Ž', - 'ÔA' => 'é…', - 'ÔB' => '釕', - 'ÔC' => '釢', - 'ÔD' => '釚', - 'ÔE' => '陜', - 'ÔF' => '陟', - 'ÔG' => 'éš¼', - 'ÔH' => '飣', - 'ÔI' => 'é«Ÿ', - 'ÔJ' => '鬯', - 'ÔK' => '乿', - 'ÔL' => 'å°', - 'ÔM' => 'åª', - 'ÔN' => 'å¡', - 'ÔO' => 'åž', - 'ÔP' => 'å ', - 'ÔQ' => 'å“', - 'ÔR' => 'å‹', - 'ÔS' => 'å', - 'ÔT' => 'å²', - 'ÔU' => 'åˆ', - 'ÔV' => 'å', - 'ÔW' => 'å', - 'ÔX' => 'å›', - 'ÔY' => 'åŠ', - 'ÔZ' => 'å¢', - 'Ô[' => '倕', - 'Ô\\' => 'å…', - 'Ô]' => 'åŸ', - 'Ô^' => 'å©', - 'Ô_' => 'å«', - 'Ô`' => 'å£', - 'Ôa' => 'å¤', - 'Ôb' => 'å†', - 'Ôc' => 'å€', - 'Ôd' => 'å®', - 'Ôe' => 'å³', - 'Ôf' => 'å—', - 'Ôg' => 'å‘', - 'Ôh' => 'å‡', - 'Ôi' => '剫', - 'Ôj' => '剭', - 'Ôk' => '剬', - 'Ôl' => '剮', - 'Ôm' => 'å‹–', - 'Ôn' => 'å‹“', - 'Ôo' => '匭', - 'Ôp' => '厜', - 'Ôq' => '啵', - 'Ôr' => '啶', - 'Ôs' => '唼', - 'Ôt' => 'å•', - 'Ôu' => 'å•', - 'Ôv' => 'å”´', - 'Ôw' => '唪', - 'Ôx' => 'å•‘', - 'Ôy' => 'å•¢', - 'Ôz' => '唶', - 'Ô{' => '唵', - 'Ô|' => 'å”°', - 'Ô}' => 'å•’', - 'Ô~' => 'å•…', - 'Ô¡' => '唌', - 'Ô¢' => '唲', - 'Ô£' => 'å•¥', - 'Ô¤' => 'å•Ž', - 'Ô¥' => '唹', - 'Ô¦' => '啈', - 'Ô§' => 'å”­', - 'Ô¨' => 'å”»', - 'Ô©' => 'å•€', - 'Ôª' => 'å•‹', - 'Ô«' => '圊', - 'Ô¬' => '圇', - 'Ô­' => '埻', - 'Ô®' => 'å ”', - 'Ô¯' => '埢', - 'Ô°' => '埶', - 'Ô±' => '埜', - 'Ô²' => '埴', - 'Ô³' => 'å €', - 'Ô´' => '埭', - 'Ôµ' => '埽', - 'Ô¶' => 'å ˆ', - 'Ô·' => '埸', - 'Ô¸' => 'å ‹', - 'Ô¹' => '埳', - 'Ôº' => 'åŸ', - 'Ô»' => 'å ‡', - 'Ô¼' => '埮', - 'Ô½' => '埣', - 'Ô¾' => '埲', - 'Ô¿' => '埥', - 'ÔÀ' => '埬', - 'ÔÁ' => '埡', - 'ÔÂ' => 'å Ž', - 'ÔÃ' => '埼', - 'ÔÄ' => 'å ', - 'ÔÅ' => '埧', - 'ÔÆ' => 'å ', - 'ÔÇ' => 'å Œ', - 'ÔÈ' => '埱', - 'ÔÉ' => '埩', - 'ÔÊ' => '埰', - 'ÔË' => 'å ', - 'ÔÌ' => 'å „', - 'ÔÍ' => '奜', - 'ÔÎ' => 'å© ', - 'ÔÏ' => '婘', - 'ÔÐ' => 'å©•', - 'ÔÑ' => '婧', - 'ÔÒ' => 'å©ž', - 'ÔÓ' => '娸', - 'ÔÔ' => '娵', - 'ÔÕ' => 'å©­', - 'ÔÖ' => 'å©', - 'Ô×' => 'å©Ÿ', - 'ÔØ' => 'å©¥', - 'ÔÙ' => '婬', - 'ÔÚ' => 'å©“', - 'ÔÛ' => '婤', - 'ÔÜ' => 'å©—', - 'ÔÝ' => '婃', - 'ÔÞ' => 'å©', - 'Ôß' => 'å©’', - 'Ôà' => 'å©„', - 'Ôá' => 'å©›', - 'Ôâ' => '婈', - 'Ôã' => '媎', - 'Ôä' => '娾', - 'Ôå' => 'å©', - 'Ôæ' => '娹', - 'Ôç' => 'å©Œ', - 'Ôè' => 'å©°', - 'Ôé' => 'å©©', - 'Ôê' => '婇', - 'Ôë' => 'å©‘', - 'Ôì' => 'å©–', - 'Ôí' => 'å©‚', - 'Ôî' => 'å©œ', - 'Ôï' => 'å­²', - 'Ôð' => 'å­®', - 'Ôñ' => 'å¯', - 'Ôò' => '寀', - 'Ôó' => 'å±™', - 'Ôô' => 'å´ž', - 'Ôõ' => 'å´‹', - 'Ôö' => 'å´', - 'Ô÷' => 'å´š', - 'Ôø' => 'å´ ', - 'Ôù' => 'å´Œ', - 'Ôú' => 'å´¨', - 'Ôû' => 'å´', - 'Ôü' => 'å´¦', - 'Ôý' => 'å´¥', - 'Ôþ' => 'å´', - 'Õ@' => 'å´°', - 'ÕA' => 'å´’', - 'ÕB' => 'å´£', - 'ÕC' => 'å´Ÿ', - 'ÕD' => 'å´®', - 'ÕE' => '帾', - 'ÕF' => '帴', - 'ÕG' => '庱', - 'ÕH' => '庴', - 'ÕI' => '庹', - 'ÕJ' => '庲', - 'ÕK' => '庳', - 'ÕL' => '弶', - 'ÕM' => '弸', - 'ÕN' => 'å¾›', - 'ÕO' => 'å¾–', - 'ÕP' => '徟', - 'ÕQ' => 'æ‚Š', - 'ÕR' => 'æ‚', - 'ÕS' => '悆', - 'ÕT' => '悾', - 'ÕU' => 'æ‚°', - 'ÕV' => '悺', - 'ÕW' => '惓', - 'ÕX' => '惔', - 'ÕY' => 'æƒ', - 'ÕZ' => '惤', - 'Õ[' => '惙', - 'Õ\\' => 'æƒ', - 'Õ]' => '惈', - 'Õ^' => '悱', - 'Õ_' => '惛', - 'Õ`' => 'æ‚·', - 'Õa' => '惊', - 'Õb' => 'æ‚¿', - 'Õc' => '惃', - 'Õd' => 'æƒ', - 'Õe' => '惀', - 'Õf' => '挲', - 'Õg' => 'æ¥', - 'Õh' => '掊', - 'Õi' => '掂', - 'Õj' => 'æ½', - 'Õk' => '掽', - 'Õl' => '掞', - 'Õm' => '掭', - 'Õn' => 'æŽ', - 'Õo' => '掗', - 'Õp' => '掫', - 'Õq' => '掎', - 'Õr' => 'æ¯', - 'Õs' => '掇', - 'Õt' => 'æŽ', - 'Õu' => 'æ®', - 'Õv' => '掯', - 'Õw' => 'æµ', - 'Õx' => '掜', - 'Õy' => 'æ­', - 'Õz' => '掮', - 'Õ{' => 'æ¼', - 'Õ|' => '掤', - 'Õ}' => '挻', - 'Õ~' => '掟', - 'Õ¡' => 'æ¸', - 'Õ¢' => '掅', - 'Õ£' => 'æŽ', - 'Õ¤' => '掑', - 'Õ¥' => 'æŽ', - 'Õ¦' => 'æ°', - 'Õ§' => 'æ•“', - 'Õ¨' => 'æ—', - 'Õ©' => '晥', - 'Õª' => '晡', - 'Õ«' => 'æ™›', - 'Õ¬' => 'æ™™', - 'Õ­' => '晜', - 'Õ®' => '晢', - 'Õ¯' => '朘', - 'Õ°' => '桹', - 'Õ±' => '梇', - 'Õ²' => 'æ¢', - 'Õ³' => '梜', - 'Õ´' => 'æ¡­', - 'Õµ' => 'æ¡®', - 'Õ¶' => '梮', - 'Õ·' => '梫', - 'Õ¸' => '楖', - 'Õ¹' => '桯', - 'Õº' => '梣', - 'Õ»' => '梬', - 'Õ¼' => '梩', - 'Õ½' => '桵', - 'Õ¾' => 'æ¡´', - 'Õ¿' => '梲', - 'ÕÀ' => 'æ¢', - 'ÕÁ' => 'æ¡·', - 'ÕÂ' => '梒', - 'ÕÃ' => '桼', - 'ÕÄ' => 'æ¡«', - 'ÕÅ' => '桲', - 'ÕÆ' => '梪', - 'ÕÇ' => '梀', - 'ÕÈ' => '桱', - 'ÕÉ' => '桾', - 'ÕÊ' => '梛', - 'ÕË' => '梖', - 'ÕÌ' => '梋', - 'ÕÍ' => '梠', - 'ÕÎ' => '梉', - 'ÕÏ' => '梤', - 'ÕÐ' => '桸', - 'ÕÑ' => 'æ¡»', - 'ÕÒ' => '梑', - 'ÕÓ' => '梌', - 'ÕÔ' => '梊', - 'ÕÕ' => '桽', - 'ÕÖ' => '欶', - 'Õ×' => '欳', - 'ÕØ' => '欷', - 'ÕÙ' => '欸', - 'ÕÚ' => '殑', - 'ÕÛ' => 'æ®', - 'ÕÜ' => 'æ®', - 'ÕÝ' => '殎', - 'ÕÞ' => '殌', - 'Õß' => 'æ°ª', - 'Õà' => 'æ·€', - 'Õá' => '涫', - 'Õâ' => '涴', - 'Õã' => '涳', - 'Õä' => 'æ¹´', - 'Õå' => '涬', - 'Õæ' => 'æ·©', - 'Õç' => 'æ·¢', - 'Õè' => '涷', - 'Õé' => 'æ·¶', - 'Õê' => 'æ·”', - 'Õë' => '渀', - 'Õì' => 'æ·ˆ', - 'Õí' => 'æ· ', - 'Õî' => 'æ·Ÿ', - 'Õï' => 'æ·–', - 'Õð' => '涾', - 'Õñ' => 'æ·¥', - 'Õò' => 'æ·œ', - 'Õó' => 'æ·', - 'Õô' => 'æ·›', - 'Õõ' => 'æ·´', - 'Õö' => 'æ·Š', - 'Õ÷' => '涽', - 'Õø' => 'æ·­', - 'Õù' => 'æ·°', - 'Õú' => '涺', - 'Õû' => 'æ·•', - 'Õü' => 'æ·‚', - 'Õý' => 'æ·', - 'Õþ' => 'æ·‰', - 'Ö@' => 'æ·', - 'ÖA' => 'æ·²', - 'ÖB' => 'æ·“', - 'ÖC' => 'æ·½', - 'ÖD' => 'æ·—', - 'ÖE' => 'æ·', - 'ÖF' => 'æ·£', - 'ÖG' => '涻', - 'ÖH' => '烺', - 'ÖI' => 'ç„', - 'ÖJ' => '烷', - 'ÖK' => 'ç„—', - 'ÖL' => '烴', - 'ÖM' => 'ç„Œ', - 'ÖN' => '烰', - 'ÖO' => 'ç„„', - 'ÖP' => '烳', - 'ÖQ' => 'ç„', - 'ÖR' => '烼', - 'ÖS' => '烿', - 'ÖT' => '焆', - 'ÖU' => 'ç„“', - 'ÖV' => 'ç„€', - 'ÖW' => '烸', - 'ÖX' => '烶', - 'ÖY' => 'ç„‹', - 'ÖZ' => 'ç„‚', - 'Ö[' => 'ç„Ž', - 'Ö\\' => '牾', - 'Ö]' => '牻', - 'Ö^' => '牼', - 'Ö_' => '牿', - 'Ö`' => 'çŒ', - 'Öa' => '猗', - 'Öb' => '猇', - 'Öc' => '猑', - 'Öd' => '猘', - 'Öe' => '猊', - 'Öf' => '猈', - 'Ög' => 'ç‹¿', - 'Öh' => 'çŒ', - 'Öi' => '猞', - 'Öj' => '玈', - 'Ök' => 'ç¶', - 'Öl' => 'ç¸', - 'Öm' => 'çµ', - 'Ön' => 'ç„', - 'Öo' => 'ç', - 'Öp' => 'ç½', - 'Öq' => 'ç‡', - 'Ör' => 'ç€', - 'Ös' => 'çº', - 'Öt' => 'ç¼', - 'Öu' => 'ç¿', - 'Öv' => 'çŒ', - 'Öw' => 'ç‹', - 'Öx' => 'ç´', - 'Öy' => 'çˆ', - 'Öz' => '畤', - 'Ö{' => 'ç•£', - 'Ö|' => 'ç—Ž', - 'Ö}' => 'ç—’', - 'Ö~' => 'ç—', - 'Ö¡' => 'ç—‹', - 'Ö¢' => 'ç—Œ', - 'Ö£' => 'ç—‘', - 'Ö¤' => 'ç—', - 'Ö¥' => 'çš', - 'Ö¦' => '皉', - 'Ö§' => '盓', - 'Ö¨' => '眹', - 'Ö©' => '眯', - 'Öª' => '眭', - 'Ö«' => '眱', - 'Ö¬' => '眲', - 'Ö­' => '眴', - 'Ö®' => '眳', - 'Ö¯' => '眽', - 'Ö°' => '眥', - 'Ö±' => '眻', - 'Ö²' => '眵', - 'Ö³' => '硈', - 'Ö´' => 'ç¡’', - 'Öµ' => '硉', - 'Ö¶' => 'ç¡', - 'Ö·' => 'ç¡Š', - 'Ö¸' => 'ç¡Œ', - 'Ö¹' => 'ç ¦', - 'Öº' => 'ç¡…', - 'Ö»' => 'ç¡', - 'Ö¼' => '祤', - 'Ö½' => '祧', - 'Ö¾' => '祩', - 'Ö¿' => '祪', - 'ÖÀ' => '祣', - 'ÖÁ' => '祫', - 'ÖÂ' => '祡', - 'ÖÃ' => '离', - 'ÖÄ' => '秺', - 'ÖÅ' => '秸', - 'ÖÆ' => '秶', - 'ÖÇ' => '秷', - 'ÖÈ' => 'çª', - 'ÖÉ' => '窔', - 'ÖÊ' => 'çª', - 'ÖË' => '笵', - 'ÖÌ' => 'ç­‡', - 'ÖÍ' => '笴', - 'ÖÎ' => '笥', - 'ÖÏ' => '笰', - 'ÖÐ' => '笢', - 'ÖÑ' => '笤', - 'ÖÒ' => '笳', - 'ÖÓ' => '笘', - 'ÖÔ' => '笪', - 'ÖÕ' => 'ç¬', - 'ÖÖ' => '笱', - 'Ö×' => '笫', - 'ÖØ' => '笭', - 'ÖÙ' => '笯', - 'ÖÚ' => '笲', - 'ÖÛ' => '笸', - 'ÖÜ' => '笚', - 'ÖÝ' => '笣', - 'ÖÞ' => 'ç²”', - 'Öß' => '粘', - 'Öà' => 'ç²–', - 'Öá' => 'ç²£', - 'Öâ' => 'ç´µ', - 'Öã' => 'ç´½', - 'Öä' => 'ç´¸', - 'Öå' => 'ç´¶', - 'Öæ' => 'ç´º', - 'Öç' => 'çµ…', - 'Öè' => 'ç´¬', - 'Öé' => 'ç´©', - 'Öê' => 'çµ', - 'Öë' => '絇', - 'Öì' => 'ç´¾', - 'Öí' => 'ç´¿', - 'Öî' => '絊', - 'Öï' => 'ç´»', - 'Öð' => 'ç´¨', - 'Öñ' => 'ç½£', - 'Öò' => '羕', - 'Öó' => '羜', - 'Öô' => 'ç¾', - 'Öõ' => 'ç¾›', - 'Öö' => 'ç¿Š', - 'Ö÷' => 'ç¿‹', - 'Öø' => 'ç¿', - 'Öù' => 'ç¿', - 'Öú' => 'ç¿‘', - 'Öû' => '翇', - 'Öü' => 'ç¿', - 'Öý' => '翉', - 'Öþ' => '耟', - '×@' => '耞', - '×A' => '耛', - '×B' => 'è‡', - '×C' => 'èƒ', - '×D' => 'èˆ', - '×E' => '脘', - '×F' => 'è„¥', - '×G' => 'è„™', - '×H' => 'è„›', - '×I' => 'è„­', - '×J' => 'è„Ÿ', - '×K' => '脬', - '×L' => 'è„ž', - '×M' => 'è„¡', - '×N' => 'è„•', - '×O' => '脧', - '×P' => 'è„', - '×Q' => 'è„¢', - '×R' => '舑', - '×S' => '舸', - '×T' => '舳', - '×U' => '舺', - '×V' => '舴', - '×W' => '舲', - '×X' => '艴', - '×Y' => 'èŽ', - '×Z' => '莣', - '×[' => '莨', - '×\\' => 'èŽ', - '×]' => 'èº', - '×^' => 'è³', - '×_' => '莤', - '×`' => 'è´', - '×a' => 'èŽ', - '×b' => 'èŽ', - '×c' => '莕', - '×d' => '莙', - '×e' => 'èµ', - '×f' => '莔', - '×g' => '莩', - '×h' => 'è½', - '×i' => '莃', - '×j' => '莌', - '×k' => 'èŽ', - '×l' => '莛', - '×m' => '莪', - '×n' => '莋', - '×o' => 'è¾', - '×p' => '莥', - '×q' => '莯', - '×r' => '莈', - '×s' => '莗', - '×t' => '莰', - '×u' => 'è¿', - '×v' => '莦', - '×w' => '莇', - '×x' => '莮', - '×y' => 'è¶', - '×z' => '莚', - '×{' => 'è™™', - '×|' => 'è™–', - '×}' => 'èš¿', - '×~' => 'èš·', - 'ס' => '蛂', - '×¢' => 'è›', - '×£' => 'è›…', - 'פ' => '蚺', - '×¥' => 'èš°', - 'צ' => '蛈', - 'ק' => 'èš¹', - 'ר' => 'èš³', - 'ש' => '蚸', - 'ת' => '蛌', - '׫' => 'èš´', - '׬' => 'èš»', - '×­' => 'èš¼', - '×®' => '蛃', - 'ׯ' => 'èš½', - '×°' => 'èš¾', - '×±' => 'è¡’', - 'ײ' => '袉', - '׳' => '袕', - '×´' => '袨', - '×µ' => '袢', - '׶' => '袪', - '×·' => '袚', - '׸' => '袑', - '×¹' => '袡', - '׺' => '袟', - '×»' => '袘', - '×¼' => '袧', - '×½' => '袙', - '×¾' => '袛', - '׿' => '袗', - '×À' => '袤', - '×Á' => '袬', - '×Â' => '袌', - '×Ã' => '袓', - '×Ä' => '袎', - '×Å' => '覂', - '×Æ' => '觖', - '×Ç' => '觙', - '×È' => '觕', - '×É' => '訰', - '×Ê' => '訧', - '×Ë' => '訬', - '×Ì' => '訞', - '×Í' => 'è°¹', - '×Î' => 'è°»', - '×Ï' => '豜', - '×Ð' => 'è±', - '×Ñ' => 'è±½', - '×Ò' => 'è²¥', - '×Ó' => 'èµ½', - '×Ô' => 'èµ»', - '×Õ' => 'èµ¹', - '×Ö' => '趼', - '××' => 'è·‚', - '×Ø' => '趹', - '×Ù' => '趿', - '×Ú' => 'è·', - '×Û' => '軘', - '×Ü' => '軞', - '×Ý' => 'è»', - '×Þ' => '軜', - '×ß' => 'è»—', - '×à' => 'è» ', - '×á' => '軡', - '×â' => '逤', - '×ã' => '逋', - '×ä' => '逑', - '×å' => '逜', - '×æ' => '逌', - '×ç' => '逡', - '×è' => '郯', - '×é' => '郪', - '×ê' => '郰', - '×ë' => '郴', - '×ì' => '郲', - '×í' => '郳', - '×î' => '郔', - '×ï' => '郫', - '×ð' => '郬', - '×ñ' => '郩', - '×ò' => 'é…–', - '×ó' => 'é…˜', - '×ô' => 'é…š', - '×õ' => 'é…“', - '×ö' => 'é…•', - '×÷' => '釬', - '×ø' => '釴', - '×ù' => '釱', - '×ú' => '釳', - '×û' => '釸', - '×ü' => '釤', - '×ý' => '釹', - '×þ' => '釪', - 'Ø@' => '釫', - 'ØA' => '釷', - 'ØB' => '釨', - 'ØC' => '釮', - 'ØD' => '镺', - 'ØE' => 'é–†', - 'ØF' => 'é–ˆ', - 'ØG' => '陼', - 'ØH' => 'é™­', - 'ØI' => '陫', - 'ØJ' => 'é™±', - 'ØK' => '陯', - 'ØL' => 'éš¿', - 'ØM' => 'éª', - 'ØN' => 'é „', - 'ØO' => '飥', - 'ØP' => '馗', - 'ØQ' => 'å‚›', - 'ØR' => 'å‚•', - 'ØS' => 'å‚”', - 'ØT' => 'å‚ž', - 'ØU' => 'å‚‹', - 'ØV' => 'å‚£', - 'ØW' => '傃', - 'ØX' => 'å‚Œ', - 'ØY' => 'å‚Ž', - 'ØZ' => 'å‚', - 'Ø[' => 'å¨', - 'Ø\\' => 'å‚œ', - 'Ø]' => 'å‚’', - 'Ø^' => 'å‚‚', - 'Ø_' => '傇', - 'Ø`' => 'å…Ÿ', - 'Øa' => '凔', - 'Øb' => '匒', - 'Øc' => '匑', - 'Ød' => '厤', - 'Øe' => '厧', - 'Øf' => 'å–‘', - 'Øg' => 'å–¨', - 'Øh' => 'å–¥', - 'Øi' => 'å–­', - 'Øj' => 'å•·', - 'Øk' => 'å™…', - 'Øl' => 'å–¢', - 'Øm' => 'å–“', - 'Øn' => 'å–ˆ', - 'Øo' => 'å–', - 'Øp' => 'å–µ', - 'Øq' => 'å–', - 'Ør' => 'å–£', - 'Øs' => 'å–’', - 'Øt' => 'å–¤', - 'Øu' => '啽', - 'Øv' => 'å–Œ', - 'Øw' => 'å–¦', - 'Øx' => 'å•¿', - 'Øy' => 'å–•', - 'Øz' => 'å–¡', - 'Ø{' => 'å–Ž', - 'Ø|' => '圌', - 'Ø}' => 'å ©', - 'Ø~' => 'å ·', - 'Ø¡' => 'å ™', - 'Ø¢' => 'å ž', - 'Ø£' => 'å §', - 'ؤ' => 'å £', - 'Ø¥' => 'å ¨', - 'ئ' => '埵', - 'ا' => '塈', - 'ب' => 'å ¥', - 'Ø©' => 'å œ', - 'ت' => 'å ›', - 'Ø«' => 'å ³', - 'ج' => 'å ¿', - 'Ø­' => 'å ¶', - 'Ø®' => 'å ®', - 'د' => 'å ¹', - 'Ø°' => 'å ¸', - 'ر' => 'å ­', - 'ز' => 'å ¬', - 'س' => 'å »', - 'Ø´' => '奡', - 'ص' => '媯', - 'ض' => '媔', - 'Ø·' => '媟', - 'ظ' => '婺', - 'ع' => '媢', - 'غ' => '媞', - 'Ø»' => '婸', - 'ؼ' => '媦', - 'ؽ' => '婼', - 'ؾ' => '媥', - 'Ø¿' => '媬', - 'ØÀ' => '媕', - 'ØÁ' => '媮', - 'ØÂ' => '娷', - 'ØÃ' => '媄', - 'ØÄ' => '媊', - 'ØÅ' => '媗', - 'ØÆ' => '媃', - 'ØÇ' => '媋', - 'ØÈ' => '媩', - 'ØÉ' => 'å©»', - 'ØÊ' => '婽', - 'ØË' => '媌', - 'ØÌ' => '媜', - 'ØÍ' => 'åª', - 'ØÎ' => '媓', - 'ØÏ' => 'åª', - 'ØÐ' => '寪', - 'ØÑ' => 'å¯', - 'ØÒ' => '寋', - 'ØÓ' => '寔', - 'ØÔ' => '寑', - 'ØÕ' => '寊', - 'ØÖ' => '寎', - 'Ø×' => 'å°Œ', - 'ØØ' => 'å°°', - 'ØÙ' => 'å´·', - 'ØÚ' => '嵃', - 'ØÛ' => '嵫', - 'ØÜ' => 'åµ', - 'ØÝ' => '嵋', - 'ØÞ' => 'å´¿', - 'Øß' => 'å´µ', - 'Øà' => '嵑', - 'Øá' => '嵎', - 'Øâ' => '嵕', - 'Øã' => 'å´³', - 'Øä' => 'å´º', - 'Øå' => 'åµ’', - 'Øæ' => 'å´½', - 'Øç' => 'å´±', - 'Øè' => 'åµ™', - 'Øé' => '嵂', - 'Øê' => 'å´¹', - 'Øë' => '嵉', - 'Øì' => 'å´¸', - 'Øí' => 'å´¼', - 'Øî' => 'å´²', - 'Øï' => 'å´¶', - 'Øð' => 'åµ€', - 'Øñ' => 'åµ…', - 'Øò' => '幄', - 'Øó' => 'å¹', - 'Øô' => '彘', - 'Øõ' => '徦', - 'Øö' => 'å¾¥', - 'Ø÷' => '徫', - 'Øø' => '惉', - 'Øù' => '悹', - 'Øú' => '惌', - 'Øû' => '惢', - 'Øü' => '惎', - 'Øý' => '惄', - 'Øþ' => 'æ„”', - 'Ù@' => '惲', - 'ÙA' => 'æ„Š', - 'ÙB' => 'æ„–', - 'ÙC' => 'æ„…', - 'ÙD' => '惵', - 'ÙE' => 'æ„“', - 'ÙF' => '惸', - 'ÙG' => '惼', - 'ÙH' => '惾', - 'ÙI' => 'æƒ', - 'ÙJ' => '愃', - 'ÙK' => '愘', - 'ÙL' => 'æ„', - 'ÙM' => 'æ„', - 'ÙN' => '惿', - 'ÙO' => 'æ„„', - 'ÙP' => 'æ„‹', - 'ÙQ' => '扊', - 'ÙR' => '掔', - 'ÙS' => '掱', - 'ÙT' => '掰', - 'ÙU' => 'æŽ', - 'ÙV' => 'æ¥', - 'ÙW' => 'æ¨', - 'ÙX' => 'æ¯', - 'ÙY' => 'æƒ', - 'ÙZ' => 'æ’', - 'Ù[' => 'æ³', - 'Ù\\' => 'æŠ', - 'Ù]' => 'æ ', - 'Ù^' => 'æ¶', - 'Ù_' => 'æ•', - 'Ù`' => 'æ²', - 'Ùa' => 'æµ', - 'Ùb' => 'æ‘¡', - 'Ùc' => 'æŸ', - 'Ùd' => '掾', - 'Ùe' => 'æ', - 'Ùf' => 'æœ', - 'Ùg' => 'æ„', - 'Ùh' => 'æ˜', - 'Ùi' => 'æ“', - 'Ùj' => 'æ‚', - 'Ùk' => 'æ‡', - 'Ùl' => 'æŒ', - 'Ùm' => 'æ‹', - 'Ùn' => 'æˆ', - 'Ùo' => 'æ°', - 'Ùp' => 'æ—', - 'Ùq' => 'æ™', - 'Ùr' => '攲', - 'Ùs' => '敧', - 'Ùt' => '敪', - 'Ùu' => '敤', - 'Ùv' => 'æ•œ', - 'Ùw' => '敨', - 'Ùx' => 'æ•¥', - 'Ùy' => 'æ–Œ', - 'Ùz' => 'æ–', - 'Ù{' => 'æ–ž', - 'Ù|' => 'æ–®', - 'Ù}' => 'æ—', - 'Ù~' => 'æ—’', - 'Ù¡' => '晼', - 'Ù¢' => '晬', - 'Ù£' => 'æ™»', - 'Ù¤' => '暀', - 'Ù¥' => 'æ™±', - 'Ù¦' => '晹', - 'Ù§' => '晪', - 'Ù¨' => '晲', - 'Ù©' => 'æœ', - 'Ùª' => '椌', - 'Ù«' => '棓', - 'Ù¬' => '椄', - 'Ù­' => '棜', - 'Ù®' => '椪', - 'Ù¯' => '棬', - 'Ù°' => '棪', - 'Ù±' => '棱', - 'Ù²' => 'æ¤', - 'Ù³' => '棖', - 'Ù´' => '棷', - 'Ùµ' => '棫', - 'Ù¶' => '棤', - 'Ù·' => '棶', - 'Ù¸' => '椓', - 'Ù¹' => 'æ¤', - 'Ùº' => '棳', - 'Ù»' => '棡', - 'Ù¼' => '椇', - 'Ù½' => '棌', - 'Ù¾' => '椈', - 'Ù¿' => '楰', - 'ÙÀ' => '梴', - 'ÙÁ' => '椑', - 'ÙÂ' => '棯', - 'ÙÃ' => '棆', - 'ÙÄ' => '椔', - 'ÙÅ' => '棸', - 'ÙÆ' => 'æ£', - 'ÙÇ' => '棽', - 'ÙÈ' => '棼', - 'ÙÉ' => '棨', - 'ÙÊ' => '椋', - 'ÙË' => '椊', - 'ÙÌ' => '椗', - 'ÙÍ' => '棎', - 'ÙÎ' => '棈', - 'ÙÏ' => 'æ£', - 'ÙÐ' => '棞', - 'ÙÑ' => '棦', - 'ÙÒ' => '棴', - 'ÙÓ' => '棑', - 'ÙÔ' => '椆', - 'ÙÕ' => '棔', - 'ÙÖ' => '棩', - 'Ù×' => '椕', - 'ÙØ' => '椥', - 'ÙÙ' => '棇', - 'ÙÚ' => '欹', - 'ÙÛ' => '欻', - 'ÙÜ' => '欿', - 'ÙÝ' => '欼', - 'ÙÞ' => 'æ®”', - 'Ùß' => 'æ®—', - 'Ùà' => 'æ®™', - 'Ùá' => '殕', - 'Ùâ' => '殽', - 'Ùã' => '毰', - 'Ùä' => '毲', - 'Ùå' => '毳', - 'Ùæ' => 'æ°°', - 'Ùç' => 'æ·¼', - 'Ùè' => '湆', - 'Ùé' => '湇', - 'Ùê' => '渟', - 'Ùë' => '湉', - 'Ùì' => '溈', - 'Ùí' => '渼', - 'Ùî' => '渽', - 'Ùï' => 'æ¹…', - 'Ùð' => 'æ¹¢', - 'Ùñ' => '渫', - 'Ùò' => '渿', - 'Ùó' => 'æ¹', - 'Ùô' => 'æ¹', - 'Ùõ' => 'æ¹³', - 'Ùö' => '渜', - 'Ù÷' => '渳', - 'Ùø' => '湋', - 'Ùù' => 'æ¹€', - 'Ùú' => '湑', - 'Ùû' => '渻', - 'Ùü' => '渃', - 'Ùý' => '渮', - 'Ùþ' => '湞', - 'Ú@' => '湨', - 'ÚA' => '湜', - 'ÚB' => '湡', - 'ÚC' => '渱', - 'ÚD' => '渨', - 'ÚE' => 'æ¹ ', - 'ÚF' => 'æ¹±', - 'ÚG' => '湫', - 'ÚH' => '渹', - 'ÚI' => '渢', - 'ÚJ' => '渰', - 'ÚK' => '湓', - 'ÚL' => 'æ¹¥', - 'ÚM' => '渧', - 'ÚN' => '湸', - 'ÚO' => '湤', - 'ÚP' => 'æ¹·', - 'ÚQ' => '湕', - 'ÚR' => 'æ¹¹', - 'ÚS' => 'æ¹’', - 'ÚT' => '湦', - 'ÚU' => '渵', - 'ÚV' => '渶', - 'ÚW' => '湚', - 'ÚX' => 'ç„ ', - 'ÚY' => 'ç„ž', - 'ÚZ' => '焯', - 'Ú[' => '烻', - 'Ú\\' => 'ç„®', - 'Ú]' => '焱', - 'Ú^' => 'ç„£', - 'Ú_' => 'ç„¥', - 'Ú`' => 'ç„¢', - 'Úa' => '焲', - 'Úb' => 'ç„Ÿ', - 'Úc' => '焨', - 'Úd' => '焺', - 'Úe' => 'ç„›', - 'Úf' => '牋', - 'Úg' => '牚', - 'Úh' => '犈', - 'Úi' => '犉', - 'Új' => '犆', - 'Úk' => '犅', - 'Úl' => '犋', - 'Úm' => '猒', - 'Ún' => '猋', - 'Úo' => '猰', - 'Úp' => '猢', - 'Úq' => '猱', - 'Úr' => '猳', - 'Ús' => '猧', - 'Út' => '猲', - 'Úu' => '猭', - 'Úv' => '猦', - 'Úw' => '猣', - 'Úx' => '猵', - 'Úy' => '猌', - 'Úz' => 'ç®', - 'Ú{' => 'ç¬', - 'Ú|' => 'ç°', - 'Ú}' => 'ç«', - 'Ú~' => 'ç–', - 'Ú¡' => 'çš', - 'Ú¢' => 'ç¡', - 'Ú£' => 'ç­', - 'Ú¤' => 'ç±', - 'Ú¥' => 'ç¤', - 'Ú¦' => 'ç£', - 'Ú§' => 'ç', - 'Ú¨' => 'ç©', - 'Ú©' => 'ç ', - 'Úª' => 'ç²', - 'Ú«' => 'ç“»', - 'Ú¬' => '甯', - 'Ú­' => '畯', - 'Ú®' => '畬', - 'Ú¯' => 'ç—§', - 'Ú°' => 'ç—š', - 'Ú±' => 'ç—¡', - 'Ú²' => 'ç—¦', - 'Ú³' => 'ç—', - 'Ú´' => 'ç—Ÿ', - 'Úµ' => 'ç—¤', - 'Ú¶' => 'ç——', - 'Ú·' => 'çš•', - 'Ú¸' => 'çš’', - 'Ú¹' => '盚', - 'Úº' => 'ç†', - 'Ú»' => 'ç‡', - 'Ú¼' => 'ç„', - 'Ú½' => 'ç', - 'Ú¾' => 'ç…', - 'Ú¿' => 'çŠ', - 'ÚÀ' => 'çŽ', - 'ÚÁ' => 'ç‹', - 'ÚÂ' => 'çŒ', - 'ÚÃ' => '矞', - 'ÚÄ' => '矬', - 'ÚÅ' => 'ç¡ ', - 'ÚÆ' => '硤', - 'ÚÇ' => 'ç¡¥', - 'ÚÈ' => 'ç¡œ', - 'ÚÉ' => 'ç¡­', - 'ÚÊ' => '硱', - 'ÚË' => '硪', - 'ÚÌ' => 'ç¡®', - 'ÚÍ' => 'ç¡°', - 'ÚÎ' => 'ç¡©', - 'ÚÏ' => '硨', - 'ÚÐ' => 'ç¡ž', - 'ÚÑ' => 'ç¡¢', - 'ÚÒ' => '祴', - 'ÚÓ' => '祳', - 'ÚÔ' => '祲', - 'ÚÕ' => '祰', - 'ÚÖ' => '稂', - 'Ú×' => '稊', - 'ÚØ' => '稃', - 'ÚÙ' => '稌', - 'ÚÚ' => '稄', - 'ÚÛ' => '窙', - 'ÚÜ' => '竦', - 'ÚÝ' => '竤', - 'ÚÞ' => 'ç­Š', - 'Úß' => '笻', - 'Úà' => 'ç­„', - 'Úá' => 'ç­ˆ', - 'Úâ' => 'ç­Œ', - 'Úã' => 'ç­Ž', - 'Úä' => 'ç­€', - 'Úå' => 'ç­˜', - 'Úæ' => 'ç­…', - 'Úç' => 'ç²¢', - 'Úè' => '粞', - 'Úé' => '粨', - 'Úê' => '粡', - 'Úë' => '絘', - 'Úì' => '絯', - 'Úí' => 'çµ£', - 'Úî' => '絓', - 'Úï' => 'çµ–', - 'Úð' => '絧', - 'Úñ' => '絪', - 'Úò' => 'çµ', - 'Úó' => 'çµ­', - 'Úô' => '絜', - 'Úõ' => '絫', - 'Úö' => 'çµ’', - 'Ú÷' => 'çµ”', - 'Úø' => '絩', - 'Úù' => '絑', - 'Úú' => '絟', - 'Úû' => '絎', - 'Úü' => 'ç¼¾', - 'Úý' => '缿', - 'Úþ' => 'ç½¥', - 'Û@' => '罦', - 'ÛA' => 'ç¾¢', - 'ÛB' => 'ç¾ ', - 'ÛC' => '羡', - 'ÛD' => 'ç¿—', - 'ÛE' => 'è‘', - 'ÛF' => 'è', - 'ÛG' => 'è', - 'ÛH' => '胾', - 'ÛI' => '胔', - 'ÛJ' => 'è…ƒ', - 'ÛK' => 'è…Š', - 'ÛL' => 'è…’', - 'ÛM' => 'è…', - 'ÛN' => 'è…‡', - 'ÛO' => '脽', - 'ÛP' => 'è…', - 'ÛQ' => '脺', - 'ÛR' => '臦', - 'ÛS' => '臮', - 'ÛT' => '臷', - 'ÛU' => '臸', - 'ÛV' => '臹', - 'ÛW' => '舄', - 'ÛX' => '舼', - 'ÛY' => '舽', - 'ÛZ' => '舿', - 'Û[' => '艵', - 'Û\\' => '茻', - 'Û]' => 'è', - 'Û^' => 'è¹', - 'Û_' => 'è£', - 'Û`' => 'è€', - 'Ûa' => 'è¨', - 'Ûb' => 'è’', - 'Ûc' => 'è§', - 'Ûd' => 'è¤', - 'Ûe' => 'è¼', - 'Ûf' => 'è¶', - 'Ûg' => 'è', - 'Ûh' => 'è†', - 'Ûi' => 'èˆ', - 'Ûj' => 'è«', - 'Ûk' => 'è£', - 'Ûl' => '莿', - 'Ûm' => 'è', - 'Ûn' => 'è', - 'Ûo' => 'è¥', - 'Ûp' => 'è˜', - 'Ûq' => 'è¿', - 'Ûr' => 'è¡', - 'Ûs' => 'è‹', - 'Ût' => 'èŽ', - 'Ûu' => 'è–', - 'Ûv' => 'èµ', - 'Ûw' => 'è‰', - 'Ûx' => 'è‰', - 'Ûy' => 'è', - 'Ûz' => 'èž', - 'Û{' => 'è‘', - 'Û|' => 'è†', - 'Û}' => 'è‚', - 'Û~' => 'è³', - 'Û¡' => 'è•', - 'Û¢' => 'èº', - 'Û£' => 'è‡', - 'Û¤' => 'è‘', - 'Û¥' => 'èª', - 'Û¦' => 'è“', - 'Û§' => 'èƒ', - 'Û¨' => 'è¬', - 'Û©' => 'è®', - 'Ûª' => 'è„', - 'Û«' => 'è»', - 'Û¬' => 'è—', - 'Û­' => 'è¢', - 'Û®' => 'è›', - 'Û¯' => 'è›', - 'Û°' => 'è¾', - 'Û±' => '蛘', - 'Û²' => '蛢', - 'Û³' => '蛦', - 'Û´' => '蛓', - 'Ûµ' => '蛣', - 'Û¶' => '蛚', - 'Û·' => '蛪', - 'Û¸' => 'è›', - 'Û¹' => '蛫', - 'Ûº' => '蛜', - 'Û»' => '蛬', - 'Û¼' => '蛩', - 'Û½' => 'è›—', - 'Û¾' => '蛨', - 'Û¿' => '蛑', - 'ÛÀ' => '衈', - 'ÛÁ' => 'è¡–', - 'ÛÂ' => 'è¡•', - 'ÛÃ' => '袺', - 'ÛÄ' => '裗', - 'ÛÅ' => '袹', - 'ÛÆ' => '袸', - 'ÛÇ' => '裀', - 'ÛÈ' => '袾', - 'ÛÉ' => '袶', - 'ÛÊ' => '袼', - 'ÛË' => '袷', - 'ÛÌ' => '袽', - 'ÛÍ' => '袲', - 'ÛÎ' => 'è¤', - 'ÛÏ' => '裉', - 'ÛÐ' => '覕', - 'ÛÑ' => '覘', - 'ÛÒ' => '覗', - 'ÛÓ' => 'è§', - 'ÛÔ' => '觚', - 'ÛÕ' => '觛', - 'ÛÖ' => 'è©Ž', - 'Û×' => 'è©', - 'ÛØ' => '訹', - 'ÛÙ' => 'è©™', - 'ÛÚ' => 'è©€', - 'ÛÛ' => 'è©—', - 'ÛÜ' => '詘', - 'ÛÝ' => 'è©„', - 'ÛÞ' => 'è©…', - 'Ûß' => 'è©’', - 'Ûà' => '詈', - 'Ûá' => 'è©‘', - 'Ûâ' => 'è©Š', - 'Ûã' => 'è©Œ', - 'Ûä' => 'è©', - 'Ûå' => '豟', - 'Ûæ' => 'è²', - 'Ûç' => 'è²€', - 'Ûè' => '貺', - 'Ûé' => 'è²¾', - 'Ûê' => 'è²°', - 'Ûë' => 'è²¹', - 'Ûì' => 'è²µ', - 'Ûí' => '趄', - 'Ûî' => '趀', - 'Ûï' => '趉', - 'Ûð' => 'è·˜', - 'Ûñ' => 'è·“', - 'Ûò' => 'è·', - 'Ûó' => 'è·‡', - 'Ûô' => 'è·–', - 'Ûõ' => 'è·œ', - 'Ûö' => 'è·', - 'Û÷' => 'è·•', - 'Ûø' => 'è·™', - 'Ûù' => 'è·ˆ', - 'Ûú' => 'è·—', - 'Ûû' => 'è·…', - 'Ûü' => '軯', - 'Ûý' => 'è»·', - 'Ûþ' => '軺', - 'Ü@' => '軹', - 'ÜA' => '軦', - 'ÜB' => 'è»®', - 'ÜC' => '軥', - 'ÜD' => '軵', - 'ÜE' => '軧', - 'ÜF' => '軨', - 'ÜG' => '軶', - 'ÜH' => '軫', - 'ÜI' => 'è»±', - 'ÜJ' => '軬', - 'ÜK' => 'è»´', - 'ÜL' => '軩', - 'ÜM' => '逭', - 'ÜN' => '逴', - 'ÜO' => '逯', - 'ÜP' => '鄆', - 'ÜQ' => '鄬', - 'ÜR' => 'é„„', - 'ÜS' => '郿', - 'ÜT' => '郼', - 'ÜU' => '鄈', - 'ÜV' => '郹', - 'ÜW' => '郻', - 'ÜX' => 'é„', - 'ÜY' => 'é„€', - 'ÜZ' => '鄇', - 'Ü[' => 'é„…', - 'Ü\\' => '鄃', - 'Ü]' => 'é…¡', - 'Ü^' => 'é…¤', - 'Ü_' => 'é…Ÿ', - 'Ü`' => 'é…¢', - 'Üa' => 'é… ', - 'Üb' => 'éˆ', - 'Üc' => '鈊', - 'Üd' => '鈥', - 'Üe' => '鈃', - 'Üf' => '鈚', - 'Üg' => '鈦', - 'Üh' => 'éˆ', - 'Üi' => '鈌', - 'Üj' => '鈀', - 'Ük' => '鈒', - 'Ül' => '釿', - 'Üm' => '釽', - 'Ün' => '鈆', - 'Üo' => '鈄', - 'Üp' => '鈧', - 'Üq' => '鈂', - 'Ür' => '鈜', - 'Üs' => '鈤', - 'Üt' => '鈙', - 'Üu' => '鈗', - 'Üv' => '鈅', - 'Üw' => '鈖', - 'Üx' => 'é•»', - 'Üy' => 'é–', - 'Üz' => 'é–Œ', - 'Ü{' => 'é–', - 'Ü|' => '隇', - 'Ü}' => '陾', - 'Ü~' => '隈', - 'Ü¡' => '隉', - 'Ü¢' => '隃', - 'Ü£' => '隀', - 'ܤ' => '雂', - 'Ü¥' => '雈', - 'ܦ' => '雃', - 'ܧ' => 'é›±', - 'ܨ' => 'é›°', - 'Ü©' => 'é¬', - 'ܪ' => 'é°', - 'Ü«' => 'é®', - 'ܬ' => 'é ‡', - 'Ü­' => '颩', - 'Ü®' => '飫', - 'ܯ' => '鳦', - 'Ü°' => '黹', - 'ܱ' => '亃', - 'ܲ' => '亄', - 'ܳ' => '亶', - 'Ü´' => '傽', - 'ܵ' => 'å‚¿', - 'ܶ' => '僆', - 'Ü·' => 'å‚®', - 'ܸ' => '僄', - 'ܹ' => '僊', - 'ܺ' => 'å‚´', - 'Ü»' => '僈', - 'ܼ' => '僂', - 'ܽ' => 'å‚°', - 'ܾ' => 'åƒ', - 'Ü¿' => '傺', - 'ÜÀ' => '傱', - 'ÜÁ' => '僋', - 'ÜÂ' => '僉', - 'ÜÃ' => '傶', - 'ÜÄ' => '傸', - 'ÜÅ' => '凗', - 'ÜÆ' => '剺', - 'ÜÇ' => '剸', - 'ÜÈ' => '剻', - 'ÜÉ' => '剼', - 'ÜÊ' => 'å—ƒ', - 'ÜË' => 'å—›', - 'ÜÌ' => 'å—Œ', - 'ÜÍ' => 'å—', - 'ÜÎ' => 'å—‹', - 'ÜÏ' => 'å—Š', - 'ÜÐ' => 'å—', - 'ÜÑ' => 'å—€', - 'ÜÒ' => 'å—”', - 'ÜÓ' => 'å—„', - 'ÜÔ' => 'å—©', - 'ÜÕ' => 'å–¿', - 'ÜÖ' => 'å—’', - 'Ü×' => 'å–', - 'ÜØ' => 'å—', - 'ÜÙ' => 'å—•', - 'ÜÚ' => 'å—¢', - 'ÜÛ' => 'å—–', - 'ÜÜ' => 'å—ˆ', - 'ÜÝ' => 'å—²', - 'ÜÞ' => 'å—', - 'Üß' => 'å—™', - 'Üà' => 'å—‚', - 'Üá' => '圔', - 'Üâ' => 'å¡“', - 'Üã' => '塨', - 'Üä' => '塤', - 'Üå' => 'å¡', - 'Üæ' => 'å¡', - 'Üç' => '塉', - 'Üè' => '塯', - 'Üé' => 'å¡•', - 'Üê' => 'å¡Ž', - 'Üë' => 'å¡', - 'Üì' => 'å¡™', - 'Üí' => 'å¡¥', - 'Üî' => 'å¡›', - 'Üï' => 'å ½', - 'Üð' => 'å¡£', - 'Üñ' => '塱', - 'Üò' => '壼', - 'Üó' => '嫇', - 'Üô' => 'å«„', - 'Üõ' => 'å«‹', - 'Üö' => '媺', - 'Ü÷' => '媸', - 'Üø' => '媱', - 'Üù' => '媵', - 'Üú' => '媰', - 'Üû' => '媿', - 'Üü' => '嫈', - 'Üý' => '媻', - 'Üþ' => '嫆', - 'Ý@' => '媷', - 'ÝA' => 'å«€', - 'ÝB' => 'å«Š', - 'ÝC' => '媴', - 'ÝD' => '媶', - 'ÝE' => 'å«', - 'ÝF' => '媹', - 'ÝG' => 'åª', - 'ÝH' => '寖', - 'ÝI' => '寘', - 'ÝJ' => '寙', - 'ÝK' => 'å°Ÿ', - 'ÝL' => 'å°³', - 'ÝM' => 'åµ±', - 'ÝN' => 'åµ£', - 'ÝO' => '嵊', - 'ÝP' => 'åµ¥', - 'ÝQ' => 'åµ²', - 'ÝR' => '嵬', - 'ÝS' => '嵞', - 'ÝT' => '嵨', - 'ÝU' => '嵧', - 'ÝV' => 'åµ¢', - 'ÝW' => 'å·°', - 'ÝX' => 'å¹', - 'ÝY' => '幎', - 'ÝZ' => '幊', - 'Ý[' => 'å¹', - 'Ý\\' => '幋', - 'Ý]' => 'å»…', - 'Ý^' => '廌', - 'Ý_' => '廆', - 'Ý`' => '廋', - 'Ýa' => '廇', - 'Ýb' => 'å½€', - 'Ýc' => '徯', - 'Ýd' => 'å¾­', - 'Ýe' => '惷', - 'Ýf' => 'æ…‰', - 'Ýg' => 'æ…Š', - 'Ýh' => 'æ„«', - 'Ýi' => 'æ……', - 'Ýj' => '愶', - 'Ýk' => '愲', - 'Ýl' => 'æ„®', - 'Ým' => 'æ…†', - 'Ýn' => '愯', - 'Ýo' => 'æ…', - 'Ýp' => 'æ„©', - 'Ýq' => 'æ…€', - 'Ýr' => '戠', - 'Ýs' => 'é…¨', - 'Ýt' => '戣', - 'Ýu' => '戥', - 'Ýv' => '戤', - 'Ýw' => 'æ…', - 'Ýx' => 'æ±', - 'Ýy' => 'æ«', - 'Ýz' => 'æ', - 'Ý{' => 'æ’', - 'Ý|' => 'æ‰', - 'Ý}' => 'æ ', - 'Ý~' => 'æ¤', - 'Ý¡' => 'æ³', - 'Ý¢' => '摃', - 'Ý£' => 'æŸ', - 'ݤ' => 'æ•', - 'Ý¥' => 'æ˜', - 'ݦ' => 'æ¹', - 'ݧ' => 'æ·', - 'ݨ' => 'æ¢', - 'Ý©' => 'æ£', - 'ݪ' => 'æŒ', - 'Ý«' => 'æ¦', - 'ݬ' => 'æ°', - 'Ý­' => 'æ¨', - 'Ý®' => 'æ‘', - 'ݯ' => 'æµ', - 'Ý°' => 'æ¯', - 'ݱ' => 'æŠ', - 'ݲ' => 'æš', - 'ݳ' => 'æ‘€', - 'Ý´' => 'æ¥', - 'ݵ' => 'æ§', - 'ݶ' => 'æ‹', - 'Ý·' => 'æ§', - 'ݸ' => 'æ›', - 'ݹ' => 'æ®', - 'ݺ' => 'æ¡', - 'Ý»' => 'æŽ', - 'ݼ' => '敯', - 'ݽ' => 'æ–’', - 'ݾ' => 'æ—“', - 'Ý¿' => '暆', - 'ÝÀ' => '暌', - 'ÝÁ' => 'æš•', - 'ÝÂ' => 'æš', - 'ÝÃ' => 'æš‹', - 'ÝÄ' => '暊', - 'ÝÅ' => 'æš™', - 'ÝÆ' => 'æš”', - 'ÝÇ' => '晸', - 'ÝÈ' => '朠', - 'ÝÉ' => '楦', - 'ÝÊ' => '楟', - 'ÝË' => '椸', - 'ÝÌ' => '楎', - 'ÝÍ' => '楢', - 'ÝÎ' => '楱', - 'ÝÏ' => '椿', - 'ÝÐ' => '楅', - 'ÝÑ' => '楪', - 'ÝÒ' => '椹', - 'ÝÓ' => '楂', - 'ÝÔ' => '楗', - 'ÝÕ' => '楙', - 'ÝÖ' => '楺', - 'Ý×' => '楈', - 'ÝØ' => '楉', - 'ÝÙ' => '椵', - 'ÝÚ' => '楬', - 'ÝÛ' => '椳', - 'ÝÜ' => '椽', - 'ÝÝ' => '楥', - 'ÝÞ' => '棰', - 'Ýß' => '楸', - 'Ýà' => '椴', - 'Ýá' => '楩', - 'Ýâ' => '楀', - 'Ýã' => '楯', - 'Ýä' => '楄', - 'Ýå' => '楶', - 'Ýæ' => '楘', - 'Ýç' => 'æ¥', - 'Ýè' => '楴', - 'Ýé' => '楌', - 'Ýê' => '椻', - 'Ýë' => '楋', - 'Ýì' => '椷', - 'Ýí' => '楜', - 'Ýî' => 'æ¥', - 'Ýï' => '楑', - 'Ýð' => '椲', - 'Ýñ' => '楒', - 'Ýò' => '椯', - 'Ýó' => '楻', - 'Ýô' => '椼', - 'Ýõ' => 'æ­†', - 'Ýö' => 'æ­…', - 'Ý÷' => 'æ­ƒ', - 'Ýø' => 'æ­‚', - 'Ýù' => 'æ­ˆ', - 'Ýú' => 'æ­', - 'Ýû' => 'æ®›', - 'Ýü' => 'ï¨', - 'Ýý' => '毻', - 'Ýþ' => '毼', - 'Þ@' => '毹', - 'ÞA' => '毷', - 'ÞB' => '毸', - 'ÞC' => '溛', - 'ÞD' => 'æ»–', - 'ÞE' => '滈', - 'ÞF' => 'æº', - 'ÞG' => '滀', - 'ÞH' => '溟', - 'ÞI' => '溓', - 'ÞJ' => '溔', - 'ÞK' => '溠', - 'ÞL' => '溱', - 'ÞM' => '溹', - 'ÞN' => '滆', - 'ÞO' => 'æ»’', - 'ÞP' => '溽', - 'ÞQ' => 'æ»', - 'ÞR' => '溞', - 'ÞS' => '滉', - 'ÞT' => '溷', - 'ÞU' => '溰', - 'ÞV' => 'æ»', - 'ÞW' => '溦', - 'ÞX' => 'æ»', - 'ÞY' => '溲', - 'ÞZ' => '溾', - 'Þ[' => '滃', - 'Þ\\' => '滜', - 'Þ]' => '滘', - 'Þ^' => '溙', - 'Þ_' => '溒', - 'Þ`' => '溎', - 'Þa' => 'æº', - 'Þb' => '溤', - 'Þc' => '溡', - 'Þd' => '溿', - 'Þe' => '溳', - 'Þf' => 'æ»', - 'Þg' => '滊', - 'Þh' => '溗', - 'Þi' => '溮', - 'Þj' => '溣', - 'Þk' => 'ç…‡', - 'Þl' => 'ç…”', - 'Þm' => 'ç…’', - 'Þn' => 'ç…£', - 'Þo' => 'ç… ', - 'Þp' => 'ç…', - 'Þq' => 'ç…', - 'Þr' => 'ç…¢', - 'Þs' => 'ç…²', - 'Þt' => 'ç…¸', - 'Þu' => 'ç…ª', - 'Þv' => 'ç…¡', - 'Þw' => 'ç…‚', - 'Þx' => 'ç…˜', - 'Þy' => 'ç…ƒ', - 'Þz' => 'ç…‹', - 'Þ{' => 'ç…°', - 'Þ|' => 'ç…Ÿ', - 'Þ}' => 'ç…', - 'Þ~' => 'ç…“', - 'Þ¡' => 'ç…„', - 'Þ¢' => 'ç…', - 'Þ£' => 'ç…š', - 'Þ¤' => 'ç‰', - 'Þ¥' => 'çŠ', - 'Þ¦' => '犌', - 'Þ§' => '犑', - 'Þ¨' => 'çŠ', - 'Þ©' => '犎', - 'Þª' => '猼', - 'Þ«' => 'ç‚', - 'Þ¬' => '猻', - 'Þ­' => '猺', - 'Þ®' => 'ç€', - 'Þ¯' => 'çŠ', - 'Þ°' => 'ç‰', - 'Þ±' => 'ç‘„', - 'Þ²' => 'ç‘Š', - 'Þ³' => 'ç‘‹', - 'Þ´' => 'ç‘’', - 'Þµ' => 'ç‘‘', - 'Þ¶' => 'ç‘—', - 'Þ·' => 'ç‘€', - 'Þ¸' => 'ç‘', - 'Þ¹' => 'ç‘', - 'Þº' => 'ç‘Ž', - 'Þ»' => 'ç‘‚', - 'Þ¼' => '瑆', - 'Þ½' => 'ç‘', - 'Þ¾' => 'ç‘”', - 'Þ¿' => 'ç“¡', - 'ÞÀ' => 'ç“¿', - 'ÞÁ' => '瓾', - 'ÞÂ' => '瓽', - 'ÞÃ' => 'ç”', - 'ÞÄ' => '畹', - 'ÞÅ' => 'ç•·', - 'ÞÆ' => '榃', - 'ÞÇ' => 'ç—¯', - 'ÞÈ' => 'ç˜', - 'ÞÉ' => '瘃', - 'ÞÊ' => 'ç—·', - 'ÞË' => 'ç—¾', - 'ÞÌ' => 'ç—¼', - 'ÞÍ' => 'ç—¹', - 'ÞÎ' => 'ç—¸', - 'ÞÏ' => 'ç˜', - 'ÞÐ' => 'ç—»', - 'ÞÑ' => 'ç—¶', - 'ÞÒ' => 'ç—­', - 'ÞÓ' => 'ç—µ', - 'ÞÔ' => 'ç—½', - 'ÞÕ' => 'çš™', - 'ÞÖ' => 'çšµ', - 'Þ×' => 'ç›', - 'ÞØ' => 'ç•', - 'ÞÙ' => 'çŸ', - 'ÞÚ' => 'ç ', - 'ÞÛ' => 'ç’', - 'ÞÜ' => 'ç–', - 'ÞÝ' => 'çš', - 'ÞÞ' => 'ç©', - 'Þß' => 'ç§', - 'Þà' => 'ç”', - 'Þá' => 'ç™', - 'Þâ' => 'ç­', - 'Þã' => '矠', - 'Þä' => '碇', - 'Þå' => '碚', - 'Þæ' => '碔', - 'Þç' => 'ç¢', - 'Þè' => '碄', - 'Þé' => '碕', - 'Þê' => '碅', - 'Þë' => '碆', - 'Þì' => '碡', - 'Þí' => '碃', - 'Þî' => '硹', - 'Þï' => '碙', - 'Þð' => '碀', - 'Þñ' => '碖', - 'Þò' => 'ç¡»', - 'Þó' => '祼', - 'Þô' => '禂', - 'Þõ' => '祽', - 'Þö' => '祹', - 'Þ÷' => '稑', - 'Þø' => '稘', - 'Þù' => '稙', - 'Þú' => '稒', - 'Þû' => '稗', - 'Þü' => '稕', - 'Þý' => '稢', - 'Þþ' => '稓', - 'ß@' => '稛', - 'ßA' => 'ç¨', - 'ßB' => '窣', - 'ßC' => '窢', - 'ßD' => '窞', - 'ßE' => 'ç««', - 'ßF' => 'ç­¦', - 'ßG' => 'ç­¤', - 'ßH' => 'ç­­', - 'ßI' => 'ç­´', - 'ßJ' => 'ç­©', - 'ßK' => 'ç­²', - 'ßL' => 'ç­¥', - 'ßM' => 'ç­³', - 'ßN' => 'ç­±', - 'ßO' => 'ç­°', - 'ßP' => 'ç­¡', - 'ßQ' => 'ç­¸', - 'ßR' => 'ç­¶', - 'ßS' => 'ç­£', - 'ßT' => 'ç²²', - 'ßU' => 'ç²´', - 'ßV' => '粯', - 'ßW' => '綈', - 'ßX' => '綆', - 'ßY' => '綀', - 'ßZ' => 'ç¶', - 'ß[' => '絿', - 'ß\\' => '綅', - 'ß]' => '絺', - 'ß^' => '綎', - 'ß_' => 'çµ»', - 'ß`' => '綃', - 'ßa' => 'çµ¼', - 'ßb' => '綌', - 'ßc' => '綔', - 'ßd' => '綄', - 'ße' => 'çµ½', - 'ßf' => '綒', - 'ßg' => 'ç½­', - 'ßh' => '罫', - 'ßi' => '罧', - 'ßj' => '罨', - 'ßk' => '罬', - 'ßl' => '羦', - 'ßm' => 'ç¾¥', - 'ßn' => '羧', - 'ßo' => 'ç¿›', - 'ßp' => 'ç¿œ', - 'ßq' => '耡', - 'ßr' => 'è…¤', - 'ßs' => 'è… ', - 'ßt' => 'è…·', - 'ßu' => 'è…œ', - 'ßv' => 'è…©', - 'ßw' => 'è…›', - 'ßx' => 'è…¢', - 'ßy' => 'è…²', - 'ßz' => '朡', - 'ß{' => 'è…ž', - 'ß|' => 'è…¶', - 'ß}' => 'è…§', - 'ß~' => 'è…¯', - 'ß¡' => 'è…„', - 'ߢ' => 'è…¡', - 'ߣ' => 'èˆ', - 'ߤ' => '艉', - 'ߥ' => '艄', - 'ߦ' => '艀', - 'ߧ' => '艂', - 'ߨ' => '艅', - 'ß©' => '蓱', - 'ߪ' => 'è¿', - 'ß«' => 'è‘–', - '߬' => '葶', - 'ß­' => '葹', - 'ß®' => 'è’', - '߯' => 'è’', - 'ß°' => 'è‘¥', - 'ß±' => 'è‘‘', - 'ß²' => 'è‘€', - 'ß³' => 'è’†', - 'ß´' => '葧', - 'ßµ' => 'è°', - '߶' => 'è‘', - 'ß·' => '葽', - '߸' => 'è‘š', - 'ß¹' => 'è‘™', - 'ߺ' => 'è‘´', - 'ß»' => '葳', - 'ß¼' => 'è‘', - 'ß½' => '蔇', - 'ß¾' => 'è‘ž', - 'ß¿' => 'è·', - 'ßÀ' => 'èº', - 'ßÁ' => 'è´', - 'ßÂ' => '葺', - 'ßÃ' => '葃', - 'ßÄ' => '葸', - 'ßÅ' => 'è²', - 'ßÆ' => 'è‘…', - 'ßÇ' => 'è©', - 'ßÈ' => 'è™', - 'ßÉ' => 'è‘‹', - 'ßÊ' => 'è¯', - 'ßË' => 'è‘‚', - 'ßÌ' => 'è­', - 'ßÍ' => 'è‘Ÿ', - 'ßÎ' => 'è‘°', - 'ßÏ' => 'è¹', - 'ßÐ' => 'è‘Ž', - 'ßÑ' => 'è‘Œ', - 'ßÒ' => 'è‘’', - 'ßÓ' => '葯', - 'ßÔ' => 'è“…', - 'ßÕ' => 'è’Ž', - 'ßÖ' => 'è»', - 'ß×' => '葇', - 'ßØ' => 'è¶', - 'ßÙ' => 'è³', - 'ßÚ' => '葨', - 'ßÛ' => '葾', - 'ßÜ' => 'è‘„', - 'ßÝ' => 'è«', - 'ßÞ' => 'è‘ ', - 'ßß' => 'è‘”', - 'ßà' => 'è‘®', - 'ßá' => 'è‘', - 'ßâ' => '蜋', - 'ßã' => '蜄', - 'ßä' => 'è›·', - 'ßå' => '蜌', - 'ßæ' => '蛺', - 'ßç' => 'è›–', - 'ßè' => '蛵', - 'ßé' => 'è', - 'ßê' => '蛸', - 'ßë' => '蜎', - 'ßì' => '蜉', - 'ßí' => 'èœ', - 'ßî' => '蛶', - 'ßï' => 'èœ', - 'ßð' => '蜅', - 'ßñ' => '裖', - 'ßò' => '裋', - 'ßó' => 'è£', - 'ßô' => '裎', - 'ßõ' => '裞', - 'ßö' => '裛', - 'ß÷' => '裚', - 'ßø' => '裌', - 'ßù' => 'è£', - 'ßú' => '覅', - 'ßû' => '覛', - 'ßü' => '觟', - 'ßý' => '觥', - 'ßþ' => '觤', - 'à@' => '觡', - 'àA' => '觠', - 'àB' => '觢', - 'àC' => '觜', - 'àD' => '触', - 'àE' => '詶', - 'àF' => '誆', - 'àG' => 'è©¿', - 'àH' => 'è©¡', - 'àI' => '訿', - 'àJ' => 'è©·', - 'àK' => '誂', - 'àL' => '誄', - 'àM' => '詵', - 'àN' => '誃', - 'àO' => 'èª', - 'àP' => 'è©´', - 'àQ' => '詺', - 'àR' => 'è°¼', - 'àS' => '豋', - 'àT' => '豊', - 'àU' => 'è±¥', - 'àV' => '豤', - 'àW' => '豦', - 'àX' => '貆', - 'àY' => '貄', - 'àZ' => 'è²…', - 'à[' => '賌', - 'à\\' => '赨', - 'à]' => '赩', - 'à^' => '趑', - 'à_' => '趌', - 'à`' => '趎', - 'àa' => 'è¶', - 'àb' => 'è¶', - 'àc' => '趓', - 'àd' => '趔', - 'àe' => 'è¶', - 'àf' => '趒', - 'àg' => 'è·°', - 'àh' => 'è· ', - 'ài' => 'è·¬', - 'àj' => 'è·±', - 'àk' => 'è·®', - 'àl' => 'è·', - 'àm' => 'è·©', - 'àn' => 'è·£', - 'ào' => 'è·¢', - 'àp' => 'è·§', - 'àq' => 'è·²', - 'àr' => 'è·«', - 'às' => 'è·´', - 'àt' => '輆', - 'àu' => '軿', - 'àv' => 'è¼', - 'àw' => 'è¼€', - 'àx' => 'è¼…', - 'ày' => '輇', - 'àz' => '輈', - 'à{' => '輂', - 'à|' => '輋', - 'à}' => 'é’', - 'à~' => '逿', - 'à¡' => 'é„', - 'à¢' => 'é‰', - 'à£' => '逽', - 'à¤' => 'é„', - 'à¥' => 'é„', - 'à¦' => 'é„', - 'à§' => 'é„‘', - 'à¨' => 'é„–', - 'à©' => 'é„”', - 'àª' => 'é„‹', - 'à«' => 'é„Ž', - 'à¬' => 'é…®', - 'à­' => 'é…¯', - 'à®' => '鉈', - 'à¯' => '鉒', - 'à°' => '鈰', - 'à±' => '鈺', - 'à²' => '鉦', - 'à³' => '鈳', - 'à´' => '鉥', - 'àµ' => '鉞', - 'à¶' => '銃', - 'à·' => '鈮', - 'à¸' => '鉊', - 'à¹' => '鉆', - 'àº' => '鉭', - 'à»' => '鉬', - 'à¼' => 'é‰', - 'à½' => '鉠', - 'à¾' => '鉧', - 'à¿' => '鉯', - 'àÀ' => '鈶', - 'àÁ' => '鉡', - 'àÂ' => '鉰', - 'àÃ' => '鈱', - 'àÄ' => '鉔', - 'àÅ' => '鉣', - 'àÆ' => 'é‰', - 'àÇ' => '鉲', - 'àÈ' => '鉎', - 'àÉ' => '鉓', - 'àÊ' => '鉌', - 'àË' => '鉖', - 'àÌ' => '鈲', - 'àÍ' => 'é–Ÿ', - 'àÎ' => 'é–œ', - 'àÏ' => 'é–ž', - 'àÐ' => 'é–›', - 'àÑ' => 'éš’', - 'àÒ' => 'éš“', - 'àÓ' => 'éš‘', - 'àÔ' => 'éš—', - 'àÕ' => '雎', - 'àÖ' => '雺', - 'à×' => '雽', - 'àØ' => '雸', - 'àÙ' => '雵', - 'àÚ' => 'é³', - 'àÛ' => 'é·', - 'àÜ' => 'é¸', - 'àÝ' => 'é²', - 'àÞ' => 'é ', - 'àß' => 'é ', - 'àà' => 'é Ž', - 'àá' => '颬', - 'àâ' => '飶', - 'àã' => '飹', - 'àä' => '馯', - 'àå' => '馲', - 'àæ' => '馰', - 'àç' => '馵', - 'àè' => '骭', - 'àé' => '骫', - 'àê' => 'é­›', - 'àë' => '鳪', - 'àì' => 'é³­', - 'àí' => '鳧', - 'àî' => '麀', - 'àï' => '黽', - 'àð' => '僦', - 'àñ' => '僔', - 'àò' => '僗', - 'àó' => '僨', - 'àô' => '僳', - 'àõ' => '僛', - 'àö' => '僪', - 'à÷' => 'åƒ', - 'àø' => '僤', - 'àù' => '僓', - 'àú' => '僬', - 'àû' => '僰', - 'àü' => '僯', - 'àý' => '僣', - 'àþ' => '僠', - 'á@' => '凘', - 'áA' => '劀', - 'áB' => 'åŠ', - 'áC' => 'å‹©', - 'áD' => 'å‹«', - 'áE' => '匰', - 'áF' => '厬', - 'áG' => '嘧', - 'áH' => '嘕', - 'áI' => '嘌', - 'áJ' => '嘒', - 'áK' => 'å—¼', - 'áL' => 'å˜', - 'áM' => '嘜', - 'áN' => 'å˜', - 'áO' => '嘓', - 'áP' => '嘂', - 'áQ' => 'å—º', - 'áR' => 'å˜', - 'áS' => '嘄', - 'áT' => 'å—¿', - 'áU' => 'å—¹', - 'áV' => '墉', - 'áW' => '塼', - 'áX' => 'å¢', - 'áY' => '墘', - 'áZ' => '墆', - 'á[' => 'å¢', - 'á\\' => 'å¡¿', - 'á]' => 'å¡´', - 'á^' => '墋', - 'á_' => '塺', - 'á`' => '墇', - 'áa' => '墑', - 'áb' => '墎', - 'ác' => '塶', - 'ád' => '墂', - 'áe' => '墈', - 'áf' => 'å¡»', - 'ág' => '墔', - 'áh' => 'å¢', - 'ái' => '壾', - 'áj' => '奫', - 'ák' => 'å«œ', - 'ál' => 'å«®', - 'ám' => 'å«¥', - 'án' => 'å«•', - 'áo' => '嫪', - 'áp' => 'å«š', - 'áq' => 'å«­', - 'ár' => 'å««', - 'ás' => '嫳', - 'át' => 'å«¢', - 'áu' => 'å« ', - 'áv' => 'å«›', - 'áw' => '嫬', - 'áx' => 'å«ž', - 'áy' => 'å«', - 'áz' => 'å«™', - 'á{' => '嫨', - 'á|' => 'å«Ÿ', - 'á}' => 'å­·', - 'á~' => '寠', - 'á¡' => '寣', - 'á¢' => 'å±£', - 'á£' => '嶂', - 'á¤' => '嶀', - 'á¥' => 'åµ½', - 'á¦' => '嶆', - 'á§' => '嵺', - 'á¨' => 'å¶', - 'á©' => 'åµ·', - 'áª' => '嶊', - 'á«' => '嶉', - 'á¬' => '嶈', - 'á­' => 'åµ¾', - 'á®' => 'åµ¼', - 'á¯' => 'å¶', - 'á°' => 'åµ¹', - 'á±' => '嵿', - 'á²' => '幘', - 'á³' => 'å¹™', - 'á´' => '幓', - 'áµ' => '廘', - 'á¶' => '廑', - 'á·' => 'å»—', - 'á¸' => '廎', - 'á¹' => '廜', - 'áº' => '廕', - 'á»' => 'å»™', - 'á¼' => 'å»’', - 'á½' => 'å»”', - 'á¾' => '彄', - 'á¿' => '彃', - 'áÀ' => '彯', - 'áÁ' => '徶', - 'áÂ' => '愬', - 'áÃ' => '愨', - 'áÄ' => 'æ…', - 'áÅ' => 'æ…ž', - 'áÆ' => 'æ…±', - 'áÇ' => 'æ…³', - 'áÈ' => 'æ…’', - 'áÉ' => 'æ…“', - 'áÊ' => 'æ…²', - 'áË' => 'æ…¬', - 'áÌ' => '憀', - 'áÍ' => 'æ…´', - 'áÎ' => 'æ…”', - 'áÏ' => 'æ…º', - 'áÐ' => 'æ…›', - 'áÑ' => 'æ…¥', - 'áÒ' => 'æ„»', - 'áÓ' => 'æ…ª', - 'áÔ' => 'æ…¡', - 'áÕ' => 'æ…–', - 'áÖ' => '戩', - 'á×' => '戧', - 'áØ' => '戫', - 'áÙ' => 'æ«', - 'áÚ' => 'æ‘', - 'áÛ' => 'æ‘›', - 'áÜ' => 'æ‘', - 'áÝ' => 'æ‘´', - 'áÞ' => '摶', - 'áß' => '摲', - 'áà' => '摳', - 'áá' => '摽', - 'áâ' => '摵', - 'áã' => '摦', - 'áä' => 'æ’¦', - 'áå' => 'æ‘Ž', - 'áæ' => 'æ’‚', - 'áç' => 'æ‘ž', - 'áè' => 'æ‘œ', - 'áé' => 'æ‘‹', - 'áê' => 'æ‘“', - 'áë' => 'æ‘ ', - 'áì' => 'æ‘', - 'áí' => 'æ‘¿', - 'áî' => 'æ¿', - 'áï' => '摬', - 'áð' => 'æ‘«', - 'áñ' => 'æ‘™', - 'áò' => 'æ‘¥', - 'áó' => 'æ‘·', - 'áô' => '敳', - 'áõ' => 'æ– ', - 'áö' => 'æš¡', - 'á÷' => 'æš ', - 'áø' => '暟', - 'áù' => '朅', - 'áú' => '朄', - 'áû' => '朢', - 'áü' => '榱', - 'áý' => '榶', - 'áþ' => '槉', - 'â@' => '榠', - 'âA' => '槎', - 'âB' => '榖', - 'âC' => '榰', - 'âD' => '榬', - 'âE' => '榼', - 'âF' => '榑', - 'âG' => '榙', - 'âH' => '榎', - 'âI' => '榧', - 'âJ' => 'æ¦', - 'âK' => '榩', - 'âL' => '榾', - 'âM' => '榯', - 'âN' => '榿', - 'âO' => '槄', - 'âP' => '榽', - 'âQ' => '榤', - 'âR' => '槔', - 'âS' => '榹', - 'âT' => '槊', - 'âU' => '榚', - 'âV' => 'æ§', - 'âW' => '榳', - 'âX' => '榓', - 'âY' => '榪', - 'âZ' => '榡', - 'â[' => '榞', - 'â\\' => '槙', - 'â]' => '榗', - 'â^' => 'æ¦', - 'â_' => '槂', - 'â`' => '榵', - 'âa' => '榥', - 'âb' => '槆', - 'âc' => 'æ­Š', - 'âd' => 'æ­', - 'âe' => 'æ­‹', - 'âf' => '殞', - 'âg' => '殟', - 'âh' => 'æ® ', - 'âi' => '毃', - 'âj' => '毄', - 'âk' => '毾', - 'âl' => '滎', - 'âm' => '滵', - 'ân' => 'æ»±', - 'âo' => '漃', - 'âp' => 'æ¼¥', - 'âq' => '滸', - 'âr' => 'æ¼·', - 'âs' => 'æ»»', - 'ât' => 'æ¼®', - 'âu' => '漉', - 'âv' => '潎', - 'âw' => 'æ¼™', - 'âx' => '漚', - 'ây' => '漧', - 'âz' => '漘', - 'â{' => 'æ¼»', - 'â|' => 'æ¼’', - 'â}' => 'æ»­', - 'â~' => '漊', - 'â¡' => '漶', - 'â¢' => 'æ½³', - 'â£' => '滹', - 'â¤' => 'æ»®', - 'â¥' => 'æ¼­', - 'â¦' => 'æ½€', - 'â§' => 'æ¼°', - 'â¨' => 'æ¼¼', - 'â©' => 'æ¼µ', - 'âª' => '滫', - 'â«' => '漇', - 'â¬' => '漎', - 'â­' => '潃', - 'â®' => 'æ¼…', - 'â¯' => '滽', - 'â°' => '滶', - 'â±' => 'æ¼¹', - 'â²' => '漜', - 'â³' => '滼', - 'â´' => '漺', - 'âµ' => '漟', - 'â¶' => 'æ¼', - 'â·' => '漞', - 'â¸' => '漈', - 'â¹' => '漡', - 'âº' => '熇', - 'â»' => 'ç†', - 'â¼' => '熉', - 'â½' => '熀', - 'â¾' => '熅', - 'â¿' => '熂', - 'âÀ' => 'ç†', - 'âÁ' => 'ç…»', - 'âÂ' => '熆', - 'âÃ' => 'ç†', - 'âÄ' => '熗', - 'âÅ' => '牄', - 'âÆ' => '牓', - 'âÇ' => '犗', - 'âÈ' => '犕', - 'âÉ' => '犓', - 'âÊ' => 'çƒ', - 'âË' => 'ç', - 'âÌ' => 'ç‘', - 'âÍ' => 'çŒ', - 'âÎ' => 'ç‘¢', - 'âÏ' => '瑳', - 'âÐ' => '瑱', - 'âÑ' => '瑵', - 'âÒ' => '瑲', - 'âÓ' => '瑧', - 'âÔ' => 'ç‘®', - 'âÕ' => '甀', - 'âÖ' => '甂', - 'â×' => '甃', - 'âØ' => '畽', - 'âÙ' => 'ç–', - 'âÚ' => '瘖', - 'âÛ' => '瘈', - 'âÜ' => '瘌', - 'âÝ' => '瘕', - 'âÞ' => '瘑', - 'âß' => '瘊', - 'âà' => '瘔', - 'âá' => '皸', - 'ââ' => 'çž', - 'âã' => 'ç¼', - 'âä' => 'çž…', - 'âå' => 'çž‚', - 'âæ' => 'ç®', - 'âç' => '瞀', - 'âè' => 'ç¯', - 'âé' => 'ç¾', - 'âê' => '瞃', - 'âë' => '碲', - 'âì' => '碪', - 'âí' => '碴', - 'âî' => '碭', - 'âï' => '碨', - 'âð' => '硾', - 'âñ' => '碫', - 'âò' => '碞', - 'âó' => '碥', - 'âô' => '碠', - 'âõ' => '碬', - 'âö' => '碢', - 'â÷' => '碤', - 'âø' => '禘', - 'âù' => '禊', - 'âú' => '禋', - 'âû' => '禖', - 'âü' => '禕', - 'âý' => '禔', - 'âþ' => '禓', - 'ã@' => '禗', - 'ãA' => '禈', - 'ãB' => '禒', - 'ãC' => 'ç¦', - 'ãD' => '稫', - 'ãE' => 'ç©Š', - 'ãF' => '稰', - 'ãG' => '稯', - 'ãH' => '稨', - 'ãI' => '稦', - 'ãJ' => '窨', - 'ãK' => '窫', - 'ãL' => '窬', - 'ãM' => 'ç«®', - 'ãN' => '箈', - 'ãO' => '箜', - 'ãP' => '箊', - 'ãQ' => '箑', - 'ãR' => 'ç®', - 'ãS' => 'ç®–', - 'ãT' => 'ç®', - 'ãU' => '箌', - 'ãV' => 'ç®›', - 'ãW' => '箎', - 'ãX' => 'ç®…', - 'ãY' => '箘', - 'ãZ' => '劄', - 'ã[' => 'ç®™', - 'ã\\' => '箤', - 'ã]' => '箂', - 'ã^' => 'ç²»', - 'ã_' => '粿', - 'ã`' => 'ç²¼', - 'ãa' => '粺', - 'ãb' => '綧', - 'ãc' => '綷', - 'ãd' => 'ç·‚', - 'ãe' => '綣', - 'ãf' => '綪', - 'ãg' => 'ç·', - 'ãh' => 'ç·€', - 'ãi' => 'ç·…', - 'ãj' => 'ç¶', - 'ãk' => 'ç·Ž', - 'ãl' => 'ç·„', - 'ãm' => 'ç·†', - 'ãn' => 'ç·‹', - 'ão' => 'ç·Œ', - 'ãp' => '綯', - 'ãq' => '綹', - 'ãr' => '綖', - 'ãs' => '綼', - 'ãt' => '綟', - 'ãu' => '綦', - 'ãv' => '綮', - 'ãw' => '綩', - 'ãx' => '綡', - 'ãy' => 'ç·‰', - 'ãz' => 'ç½³', - 'ã{' => 'ç¿¢', - 'ã|' => 'ç¿£', - 'ã}' => 'ç¿¥', - 'ã~' => 'ç¿ž', - 'ã¡' => '耤', - 'ã¢' => 'è', - 'ã£' => 'èœ', - 'ã¤' => '膉', - 'ã¥' => '膆', - 'ã¦' => '膃', - 'ã§' => '膇', - 'ã¨' => 'è†', - 'ã©' => '膌', - 'ãª' => '膋', - 'ã«' => '舕', - 'ã¬' => 'è’—', - 'ã­' => 'è’¤', - 'ã®' => 'è’¡', - 'ã¯' => 'è’Ÿ', - 'ã°' => 'è’º', - 'ã±' => 'è“Ž', - 'ã²' => 'è“‚', - 'ã³' => 'è’¬', - 'ã´' => 'è’®', - 'ãµ' => 'è’«', - 'ã¶' => 'è’¹', - 'ã·' => 'è’´', - 'ã¸' => 'è“', - 'ã¹' => 'è“', - 'ãº' => 'è’ª', - 'ã»' => 'è’š', - 'ã¼' => 'è’±', - 'ã½' => 'è“', - 'ã¾' => 'è’', - 'ã¿' => 'è’§', - 'ãÀ' => 'è’»', - 'ãÁ' => 'è’¢', - 'ãÂ' => 'è’”', - 'ãÃ' => '蓇', - 'ãÄ' => 'è“Œ', - 'ãÅ' => 'è’›', - 'ãÆ' => 'è’©', - 'ãÇ' => 'è’¯', - 'ãÈ' => 'è’¨', - 'ãÉ' => 'è“–', - 'ãÊ' => 'è’˜', - 'ãË' => 'è’¶', - 'ãÌ' => 'è“', - 'ãÍ' => 'è’ ', - 'ãÎ' => 'è“—', - 'ãÏ' => 'è“”', - 'ãÐ' => 'è“’', - 'ãÑ' => 'è“›', - 'ãÒ' => 'è’°', - 'ãÓ' => 'è’‘', - 'ãÔ' => '虡', - 'ãÕ' => '蜳', - 'ãÖ' => '蜣', - 'ã×' => '蜨', - 'ãØ' => 'è«', - 'ãÙ' => 'è€', - 'ãÚ' => '蜮', - 'ãÛ' => '蜞', - 'ãÜ' => '蜡', - 'ãÝ' => '蜙', - 'ãÞ' => '蜛', - 'ãß' => 'èƒ', - 'ãà' => '蜬', - 'ãá' => 'è', - 'ãâ' => '蜾', - 'ãã' => 'è†', - 'ãä' => '蜠', - 'ãå' => '蜲', - 'ãæ' => '蜪', - 'ãç' => '蜭', - 'ãè' => '蜼', - 'ãé' => '蜒', - 'ãê' => '蜺', - 'ãë' => '蜱', - 'ãì' => '蜵', - 'ãí' => 'è‚', - 'ãî' => '蜦', - 'ãï' => '蜧', - 'ãð' => '蜸', - 'ãñ' => '蜤', - 'ãò' => '蜚', - 'ãó' => '蜰', - 'ãô' => '蜑', - 'ãõ' => '裷', - 'ãö' => '裧', - 'ã÷' => '裱', - 'ãø' => '裲', - 'ãù' => '裺', - 'ãú' => '裾', - 'ãû' => '裮', - 'ãü' => '裼', - 'ãý' => '裶', - 'ãþ' => '裻', - 'ä@' => '裰', - 'äA' => '裬', - 'äB' => '裫', - 'äC' => 'è¦', - 'äD' => '覡', - 'äE' => '覟', - 'äF' => '覞', - 'äG' => '觩', - 'äH' => '觫', - 'äI' => '觨', - 'äJ' => '誫', - 'äK' => '誙', - 'äL' => '誋', - 'äM' => '誒', - 'äN' => 'èª', - 'äO' => '誖', - 'äP' => 'è°½', - 'äQ' => '豨', - 'äR' => '豩', - 'äS' => '賕', - 'äT' => 'è³', - 'äU' => 'è³—', - 'äV' => '趖', - 'äW' => '踉', - 'äX' => '踂', - 'äY' => 'è·¿', - 'äZ' => 'è¸', - 'ä[' => 'è·½', - 'ä\\' => '踊', - 'ä]' => '踃', - 'ä^' => '踇', - 'ä_' => '踆', - 'ä`' => '踅', - 'äa' => 'è·¾', - 'äb' => '踀', - 'äc' => '踄', - 'äd' => 'è¼', - 'äe' => '輑', - 'äf' => '輎', - 'äg' => 'è¼', - 'äh' => 'é„£', - 'äi' => 'é„œ', - 'äj' => 'é„ ', - 'äk' => 'é„¢', - 'äl' => 'é„Ÿ', - 'äm' => 'é„', - 'än' => 'é„š', - 'äo' => '鄤', - 'äp' => 'é„¡', - 'äq' => 'é„›', - 'är' => 'é…º', - 'äs' => 'é…²', - 'ät' => 'é…¹', - 'äu' => 'é…³', - 'äv' => '銥', - 'äw' => '銤', - 'äx' => '鉶', - 'äy' => '銛', - 'äz' => '鉺', - 'ä{' => '銠', - 'ä|' => '銔', - 'ä}' => '銪', - 'ä~' => 'éŠ', - 'ä¡' => '銦', - 'ä¢' => '銚', - 'ä£' => '銫', - 'ä¤' => '鉹', - 'ä¥' => '銗', - 'ä¦' => '鉿', - 'ä§' => '銣', - 'ä¨' => 'é‹®', - 'ä©' => '銎', - 'äª' => '銂', - 'ä«' => '銕', - 'ä¬' => '銢', - 'ä­' => '鉽', - 'ä®' => '銈', - 'ä¯' => '銡', - 'ä°' => '銊', - 'ä±' => '銆', - 'ä²' => '銌', - 'ä³' => '銙', - 'ä´' => '銧', - 'äµ' => '鉾', - 'ä¶' => '銇', - 'ä·' => '銩', - 'ä¸' => 'éŠ', - 'ä¹' => '銋', - 'äº' => '鈭', - 'ä»' => 'éšž', - 'ä¼' => 'éš¡', - 'ä½' => '雿', - 'ä¾' => 'é˜', - 'ä¿' => 'é½', - 'äÀ' => 'éº', - 'äÁ' => 'é¾', - 'äÂ' => '鞃', - 'äÃ' => '鞀', - 'äÄ' => 'éž‚', - 'äÅ' => 'é»', - 'äÆ' => 'éž„', - 'äÇ' => 'éž', - 'äÈ' => 'é¿', - 'äÉ' => '韎', - 'äÊ' => 'éŸ', - 'äË' => 'é –', - 'äÌ' => '颭', - 'äÍ' => '颮', - 'äÎ' => '餂', - 'äÏ' => '餀', - 'äÐ' => '餇', - 'äÑ' => 'é¦', - 'äÒ' => '馜', - 'äÓ' => '駃', - 'äÔ' => '馹', - 'äÕ' => '馻', - 'äÖ' => '馺', - 'ä×' => '駂', - 'äØ' => '馽', - 'äÙ' => '駇', - 'äÚ' => '骱', - 'äÛ' => 'é«£', - 'äÜ' => '髧', - 'äÝ' => '鬾', - 'äÞ' => '鬿', - 'äß' => 'é­ ', - 'äà' => 'é­¡', - 'äá' => 'é­Ÿ', - 'äâ' => 'é³±', - 'äã' => 'é³²', - 'ää' => 'é³µ', - 'äå' => '麧', - 'äæ' => '僿', - 'äç' => '儃', - 'äè' => 'å„°', - 'äé' => '僸', - 'äê' => '儆', - 'äë' => '儇', - 'äì' => '僶', - 'äí' => '僾', - 'äî' => 'å„‹', - 'äï' => 'å„Œ', - 'äð' => '僽', - 'äñ' => 'å„Š', - 'äò' => '劋', - 'äó' => '劌', - 'äô' => '勱', - 'äõ' => '勯', - 'äö' => '噈', - 'ä÷' => '噂', - 'äø' => '噌', - 'äù' => '嘵', - 'äú' => 'å™', - 'äû' => '噊', - 'äü' => '噉', - 'äý' => '噆', - 'äþ' => '噘', - 'å@' => '噚', - 'åA' => '噀', - 'åB' => '嘳', - 'åC' => '嘽', - 'åD' => '嘬', - 'åE' => '嘾', - 'åF' => '嘸', - 'åG' => '嘪', - 'åH' => '嘺', - 'åI' => '圚', - 'åJ' => '墫', - 'åK' => 'å¢', - 'åL' => '墱', - 'åM' => '墠', - 'åN' => '墣', - 'åO' => '墯', - 'åP' => '墬', - 'åQ' => '墥', - 'åR' => '墡', - 'åS' => '壿', - 'åT' => 'å«¿', - 'åU' => 'å«´', - 'åV' => '嫽', - 'åW' => 'å«·', - 'åX' => '嫶', - 'åY' => '嬃', - 'åZ' => '嫸', - 'å[' => '嬂', - 'å\\' => '嫹', - 'å]' => 'å¬', - 'å^' => '嬇', - 'å_' => '嬅', - 'å`' => 'å¬', - 'åa' => '屧', - 'åb' => '嶙', - 'åc' => '嶗', - 'åd' => '嶟', - 'åe' => '嶒', - 'åf' => '嶢', - 'åg' => '嶓', - 'åh' => '嶕', - 'åi' => '嶠', - 'åj' => '嶜', - 'åk' => '嶡', - 'ål' => '嶚', - 'åm' => '嶞', - 'ån' => '幩', - 'åo' => 'å¹', - 'åp' => 'å¹ ', - 'åq' => '幜', - 'år' => 'ç·³', - 'ås' => 'å»›', - 'åt' => '廞', - 'åu' => '廡', - 'åv' => '彉', - 'åw' => 'å¾²', - 'åx' => '憋', - 'åy' => '憃', - 'åz' => 'æ…¹', - 'å{' => '憱', - 'å|' => '憰', - 'å}' => '憢', - 'å~' => '憉', - 'å¡' => '憛', - 'å¢' => '憓', - 'å£' => '憯', - 'å¤' => '憭', - 'å¥' => '憟', - 'å¦' => '憒', - 'å§' => '憪', - 'å¨' => '憡', - 'å©' => 'æ†', - 'åª' => 'æ…¦', - 'å«' => '憳', - 'å¬' => '戭', - 'å­' => 'æ‘®', - 'å®' => 'æ‘°', - 'å¯' => 'æ’–', - 'å°' => 'æ’ ', - 'å±' => 'æ’…', - 'å²' => 'æ’—', - 'å³' => 'æ’œ', - 'å´' => 'æ’', - 'åµ' => 'æ’‹', - 'å¶' => 'æ’Š', - 'å·' => 'æ’Œ', - 'å¸' => 'æ’£', - 'å¹' => 'æ’Ÿ', - 'åº' => '摨', - 'å»' => 'æ’±', - 'å¼' => 'æ’˜', - 'å½' => '敶', - 'å¾' => '敺', - 'å¿' => '敹', - 'åÀ' => 'æ•»', - 'åÁ' => 'æ–²', - 'åÂ' => 'æ–³', - 'åÃ' => 'æšµ', - 'åÄ' => 'æš°', - 'åÅ' => 'æš©', - 'åÆ' => 'æš²', - 'åÇ' => 'æš·', - 'åÈ' => '暪', - 'åÉ' => '暯', - 'åÊ' => '樀', - 'åË' => '樆', - 'åÌ' => '樗', - 'åÍ' => '槥', - 'åÎ' => '槸', - 'åÏ' => '樕', - 'åÐ' => '槱', - 'åÑ' => '槤', - 'åÒ' => '樠', - 'åÓ' => '槿', - 'åÔ' => '槬', - 'åÕ' => '槢', - 'åÖ' => '樛', - 'å×' => 'æ¨', - 'åØ' => '槾', - 'åÙ' => '樧', - 'åÚ' => '槲', - 'åÛ' => '槮', - 'åÜ' => '樔', - 'åÝ' => '槷', - 'åÞ' => '槧', - 'åß' => 'æ©€', - 'åà' => '樈', - 'åá' => '槦', - 'åâ' => '槻', - 'åã' => 'æ¨', - 'åä' => '槼', - 'åå' => '槫', - 'åæ' => '樉', - 'åç' => '樄', - 'åè' => '樘', - 'åé' => '樥', - 'åê' => 'æ¨', - 'åë' => '槶', - 'åì' => '樦', - 'åí' => '樇', - 'åî' => '槴', - 'åï' => '樖', - 'åð' => 'æ­‘', - 'åñ' => '殥', - 'åò' => '殣', - 'åó' => '殢', - 'åô' => '殦', - 'åõ' => 'æ°', - 'åö' => 'æ°€', - 'å÷' => '毿', - 'åø' => 'æ°‚', - 'åù' => 'æ½', - 'åú' => '漦', - 'åû' => 'æ½¾', - 'åü' => '澇', - 'åý' => '濆', - 'åþ' => 'æ¾’', - 'æ@' => 'æ¾', - 'æA' => '澉', - 'æB' => '澌', - 'æC' => 'æ½¢', - 'æD' => 'æ½', - 'æE' => 'æ¾…', - 'æF' => '潚', - 'æG' => 'æ¾–', - 'æH' => '潶', - 'æI' => '潬', - 'æJ' => '澂', - 'æK' => '潕', - 'æL' => 'æ½²', - 'æM' => 'æ½’', - 'æN' => 'æ½', - 'æO' => 'æ½—', - 'æP' => 'æ¾”', - 'æQ' => '澓', - 'æR' => 'æ½', - 'æS' => 'æ¼€', - 'æT' => '潡', - 'æU' => '潫', - 'æV' => 'æ½½', - 'æW' => '潧', - 'æX' => 'æ¾', - 'æY' => '潓', - 'æZ' => '澋', - 'æ[' => '潩', - 'æ\\' => '潿', - 'æ]' => '澕', - 'æ^' => 'æ½£', - 'æ_' => 'æ½·', - 'æ`' => '潪', - 'æa' => 'æ½»', - 'æb' => '熲', - 'æc' => '熯', - 'æd' => '熛', - 'æe' => '熰', - 'æf' => '熠', - 'æg' => '熚', - 'æh' => '熩', - 'æi' => '熵', - 'æj' => 'ç†', - 'æk' => '熥', - 'æl' => '熞', - 'æm' => '熤', - 'æn' => '熡', - 'æo' => '熪', - 'æp' => '熜', - 'æq' => '熧', - 'ær' => '熳', - 'æs' => '犘', - 'æt' => '犚', - 'æu' => 'ç˜', - 'æv' => 'ç’', - 'æw' => 'çž', - 'æx' => 'çŸ', - 'æy' => 'ç ', - 'æz' => 'ç', - 'æ{' => 'ç›', - 'æ|' => 'ç¡', - 'æ}' => 'çš', - 'æ~' => 'ç™', - 'æ¡' => 'ç¢', - 'æ¢' => 'ç’‡', - 'æ£' => 'ç’‰', - 'æ¤' => 'ç’Š', - 'æ¥' => 'ç’†', - 'æ¦' => 'ç’', - 'æ§' => '瑽', - 'æ¨' => 'ç’…', - 'æ©' => 'ç’ˆ', - 'æª' => '瑼', - 'æ«' => '瑹', - 'æ¬' => '甈', - 'æ­' => '甇', - 'æ®' => '畾', - 'æ¯' => '瘥', - 'æ°' => '瘞', - 'æ±' => '瘙', - 'æ²' => 'ç˜', - 'æ³' => '瘜', - 'æ´' => '瘣', - 'æµ' => '瘚', - 'æ¶' => '瘨', - 'æ·' => '瘛', - 'æ¸' => 'çšœ', - 'æ¹' => 'çš', - 'æº' => 'çšž', - 'æ»' => 'çš›', - 'æ¼' => 'çž', - 'æ½' => 'çž', - 'æ¾' => '瞉', - 'æ¿' => '瞈', - 'æÀ' => 'ç£', - 'æÁ' => '碻', - 'æÂ' => 'ç£', - 'æÃ' => '磌', - 'æÄ' => '磑', - 'æÅ' => '磎', - 'æÆ' => '磔', - 'æÇ' => '磈', - 'æÈ' => '磃', - 'æÉ' => '磄', - 'æÊ' => '磉', - 'æË' => '禚', - 'æÌ' => '禡', - 'æÍ' => '禠', - 'æÎ' => '禜', - 'æÏ' => '禢', - 'æÐ' => '禛', - 'æÑ' => 'æ­¶', - 'æÒ' => '稹', - 'æÓ' => '窲', - 'æÔ' => '窴', - 'æÕ' => '窳', - 'æÖ' => 'ç®·', - 'æ×' => '篋', - 'æØ' => '箾', - 'æÙ' => '箬', - 'æÚ' => '篎', - 'æÛ' => '箯', - 'æÜ' => '箹', - 'æÝ' => '篊', - 'æÞ' => '箵', - 'æß' => 'ç³…', - 'æà' => '糈', - 'æá' => '糌', - 'æâ' => '糋', - 'æã' => 'ç··', - 'æä' => 'ç·›', - 'æå' => 'ç·ª', - 'ææ' => 'ç·§', - 'æç' => 'ç·—', - 'æè' => 'ç·¡', - 'æé' => '縃', - 'æê' => 'ç·º', - 'æë' => 'ç·¦', - 'æì' => 'ç·¶', - 'æí' => 'ç·±', - 'æî' => 'ç·°', - 'æï' => 'ç·®', - 'æð' => 'ç·Ÿ', - 'æñ' => '罶', - 'æò' => '羬', - 'æó' => 'ç¾°', - 'æô' => 'ç¾­', - 'æõ' => 'ç¿­', - 'æö' => 'ç¿«', - 'æ÷' => '翪', - 'æø' => '翬', - 'æù' => '翦', - 'æú' => '翨', - 'æû' => 'è¤', - 'æü' => 'è§', - 'æý' => '膣', - 'æþ' => '膟', - 'ç@' => '膞', - 'çA' => '膕', - 'çB' => '膢', - 'çC' => '膙', - 'çD' => '膗', - 'çE' => '舖', - 'çF' => 'è‰', - 'çG' => '艓', - 'çH' => '艒', - 'çI' => 'è‰', - 'çJ' => '艎', - 'çK' => '艑', - 'çL' => '蔤', - 'çM' => 'è”»', - 'çN' => 'è”', - 'çO' => '蔀', - 'çP' => '蔩', - 'çQ' => '蔎', - 'çR' => '蔉', - 'çS' => 'è”', - 'çT' => '蔟', - 'çU' => '蔊', - 'çV' => '蔧', - 'çW' => '蔜', - 'çX' => 'è“»', - 'çY' => '蔫', - 'çZ' => '蓺', - 'ç[' => '蔈', - 'ç\\' => '蔌', - 'ç]' => 'è“´', - 'ç^' => '蔪', - 'ç_' => '蓲', - 'ç`' => '蔕', - 'ça' => 'è“·', - 'çb' => 'è“«', - 'çc' => '蓳', - 'çd' => '蓼', - 'çe' => 'è”’', - 'çf' => '蓪', - 'çg' => 'è“©', - 'çh' => 'è”–', - 'çi' => '蓾', - 'çj' => '蔨', - 'çk' => 'è”', - 'çl' => 'è”®', - 'çm' => '蔂', - 'çn' => '蓽', - 'ço' => '蔞', - 'çp' => '蓶', - 'çq' => 'è”±', - 'çr' => '蔦', - 'çs' => '蓧', - 'çt' => '蓨', - 'çu' => 'è“°', - 'çv' => '蓯', - 'çw' => '蓹', - 'çx' => '蔘', - 'çy' => 'è” ', - 'çz' => 'è”°', - 'ç{' => '蔋', - 'ç|' => 'è”™', - 'ç}' => '蔯', - 'ç~' => '虢', - 'ç¡' => 'è–', - 'ç¢' => 'è£', - 'ç£' => 'è¤', - 'ç¤' => 'è·', - 'ç¥' => '蟡', - 'ç¦' => 'è³', - 'ç§' => 'è˜', - 'ç¨' => 'è”', - 'ç©' => 'è›', - 'çª' => 'è’', - 'ç«' => 'è¡', - 'ç¬' => 'èš', - 'ç­' => 'è‘', - 'ç®' => 'èž', - 'ç¯' => 'è­', - 'ç°' => 'èª', - 'ç±' => 'è', - 'ç²' => 'èŽ', - 'ç³' => 'èŸ', - 'ç´' => 'è', - 'çµ' => 'è¯', - 'ç¶' => 'è¬', - 'ç·' => 'èº', - 'ç¸' => 'è®', - 'ç¹' => 'èœ', - 'çº' => 'è¥', - 'ç»' => 'è', - 'ç¼' => 'è»', - 'ç½' => 'èµ', - 'ç¾' => 'è¢', - 'ç¿' => 'è§', - 'çÀ' => 'è©', - 'çÁ' => 'è¡š', - 'çÂ' => '褅', - 'çÃ' => '褌', - 'çÄ' => '褔', - 'çÅ' => '褋', - 'çÆ' => '褗', - 'çÇ' => '褘', - 'çÈ' => '褙', - 'çÉ' => '褆', - 'çÊ' => '褖', - 'çË' => '褑', - 'çÌ' => '褎', - 'çÍ' => '褉', - 'çÎ' => '覢', - 'çÏ' => '覤', - 'çÐ' => '覣', - 'çÑ' => '觭', - 'çÒ' => '觰', - 'çÓ' => '觬', - 'çÔ' => 'è«', - 'çÕ' => '諆', - 'çÖ' => '誸', - 'ç×' => 'è«“', - 'çØ' => 'è«‘', - 'çÙ' => 'è«”', - 'çÚ' => 'è«•', - 'çÛ' => '誻', - 'çÜ' => 'è«—', - 'çÝ' => '誾', - 'çÞ' => 'è«€', - 'çß' => 'è«…', - 'çà' => '諘', - 'çá' => '諃', - 'çâ' => '誺', - 'çã' => '誽', - 'çä' => 'è«™', - 'çå' => 'è°¾', - 'çæ' => 'è±', - 'çç' => 'è²', - 'çè' => 'è³¥', - 'çé' => '賟', - 'çê' => 'è³™', - 'çë' => '賨', - 'çì' => '賚', - 'çí' => 'è³', - 'çî' => '賧', - 'çï' => '趠', - 'çð' => '趜', - 'çñ' => '趡', - 'çò' => '趛', - 'çó' => '踠', - 'çô' => '踣', - 'çõ' => '踥', - 'çö' => '踤', - 'ç÷' => '踮', - 'çø' => '踕', - 'çù' => '踛', - 'çú' => '踖', - 'çû' => '踑', - 'çü' => '踙', - 'çý' => '踦', - 'çþ' => '踧', - 'è@' => '踔', - 'èA' => '踒', - 'èB' => '踘', - 'èC' => '踓', - 'èD' => '踜', - 'èE' => '踗', - 'èF' => '踚', - 'èG' => '輬', - 'èH' => '輤', - 'èI' => '輘', - 'èJ' => '輚', - 'èK' => 'è¼ ', - 'èL' => 'è¼£', - 'èM' => 'è¼–', - 'èN' => 'è¼—', - 'èO' => 'é³', - 'èP' => 'é°', - 'èQ' => 'é¯', - 'èR' => 'é§', - 'èS' => 'é«', - 'èT' => '鄯', - 'èU' => 'é„«', - 'èV' => 'é„©', - 'èW' => '鄪', - 'èX' => '鄲', - 'èY' => '鄦', - 'èZ' => 'é„®', - 'è[' => '醅', - 'è\\' => '醆', - 'è]' => '醊', - 'è^' => 'é†', - 'è_' => '醂', - 'è`' => '醄', - 'èa' => '醀', - 'èb' => 'é‹', - 'èc' => '鋃', - 'èd' => 'é‹„', - 'èe' => 'é‹€', - 'èf' => 'é‹™', - 'èg' => '銶', - 'èh' => 'é‹', - 'èi' => '鋱', - 'èj' => 'é‹Ÿ', - 'èk' => '鋘', - 'èl' => 'é‹©', - 'èm' => 'é‹—', - 'èn' => 'é‹', - 'èo' => 'é‹Œ', - 'èp' => '鋯', - 'èq' => 'é‹‚', - 'èr' => '鋨', - 'ès' => 'é‹Š', - 'èt' => '鋈', - 'èu' => 'é‹Ž', - 'èv' => '鋦', - 'èw' => 'é‹', - 'èx' => 'é‹•', - 'èy' => '鋉', - 'èz' => 'é‹ ', - 'è{' => 'é‹ž', - 'è|' => '鋧', - 'è}' => 'é‹‘', - 'è~' => 'é‹“', - 'è¡' => '銵', - 'è¢' => 'é‹¡', - 'è£' => '鋆', - 'è¤' => '銴', - 'è¥' => '镼', - 'è¦' => 'é–¬', - 'è§' => 'é–«', - 'è¨' => 'é–®', - 'è©' => 'é–°', - 'èª' => '隤', - 'è«' => '隢', - 'è¬' => '雓', - 'è­' => '霅', - 'è®' => '霈', - 'è¯' => '霂', - 'è°' => 'éš', - 'è±' => '鞊', - 'è²' => '鞎', - 'è³' => '鞈', - 'è´' => 'éŸ', - 'èµ' => 'éŸ', - 'è¶' => 'é ž', - 'è·' => 'é ', - 'è¸' => 'é ¦', - 'è¹' => 'é ©', - 'èº' => 'é ¨', - 'è»' => 'é  ', - 'è¼' => 'é ›', - 'è½' => 'é §', - 'è¾' => '颲', - 'è¿' => '餈', - 'èÀ' => '飺', - 'èÁ' => '餑', - 'èÂ' => '餔', - 'èÃ' => '餖', - 'èÄ' => '餗', - 'èÅ' => '餕', - 'èÆ' => '駜', - 'èÇ' => 'é§', - 'èÈ' => 'é§', - 'èÉ' => '駓', - 'èÊ' => '駔', - 'èË' => '駎', - 'èÌ' => '駉', - 'èÍ' => '駖', - 'èÎ' => '駘', - 'èÏ' => '駋', - 'èÐ' => '駗', - 'èÑ' => '駌', - 'èÒ' => '骳', - 'èÓ' => '髬', - 'èÔ' => 'é««', - 'èÕ' => '髳', - 'èÖ' => '髲', - 'è×' => '髱', - 'èØ' => 'é­†', - 'èÙ' => 'é­ƒ', - 'èÚ' => 'é­§', - 'èÛ' => 'é­´', - 'èÜ' => 'é­±', - 'èÝ' => 'é­¦', - 'èÞ' => 'é­¶', - 'èß' => 'é­µ', - 'èà' => 'é­°', - 'èá' => 'é­¨', - 'èâ' => 'é­¤', - 'èã' => 'é­¬', - 'èä' => 'é³¼', - 'èå' => '鳺', - 'èæ' => 'é³½', - 'èç' => '鳿', - 'èè' => 'é³·', - 'èé' => 'é´‡', - 'èê' => 'é´€', - 'èë' => 'é³¹', - 'èì' => 'é³»', - 'èí' => 'é´ˆ', - 'èî' => 'é´…', - 'èï' => 'é´„', - 'èð' => '麃', - 'èñ' => '黓', - 'èò' => 'é¼', - 'èó' => 'é¼', - 'èô' => 'å„œ', - 'èõ' => 'å„“', - 'èö' => 'å„—', - 'è÷' => 'å„š', - 'èø' => 'å„‘', - 'èù' => '凞', - 'èú' => '匴', - 'èû' => 'å¡', - 'èü' => 'å™°', - 'èý' => 'å™ ', - 'èþ' => 'å™®', - 'é@' => '噳', - 'éA' => '噦', - 'éB' => '噣', - 'éC' => 'å™­', - 'éD' => '噲', - 'éE' => '噞', - 'éF' => 'å™·', - 'éG' => '圜', - 'éH' => '圛', - 'éI' => '壈', - 'éJ' => '墽', - 'éK' => '壉', - 'éL' => '墿', - 'éM' => '墺', - 'éN' => '壂', - 'éO' => '墼', - 'éP' => '壆', - 'éQ' => '嬗', - 'éR' => '嬙', - 'éS' => '嬛', - 'éT' => '嬡', - 'éU' => '嬔', - 'éV' => '嬓', - 'éW' => 'å¬', - 'éX' => '嬖', - 'éY' => '嬨', - 'éZ' => '嬚', - 'é[' => '嬠', - 'é\\' => '嬞', - 'é]' => '寯', - 'é^' => '嶬', - 'é_' => '嶱', - 'é`' => '嶩', - 'éa' => '嶧', - 'éb' => '嶵', - 'éc' => '嶰', - 'éd' => '嶮', - 'ée' => '嶪', - 'éf' => '嶨', - 'ég' => '嶲', - 'éh' => '嶭', - 'éi' => '嶯', - 'éj' => '嶴', - 'ék' => '幧', - 'él' => '幨', - 'ém' => '幦', - 'én' => '幯', - 'éo' => '廩', - 'ép' => '廧', - 'éq' => '廦', - 'ér' => '廨', - 'és' => '廥', - 'ét' => '彋', - 'éu' => 'å¾¼', - 'év' => 'æ†', - 'éw' => '憨', - 'éx' => '憖', - 'éy' => '懅', - 'éz' => '憴', - 'é{' => '懆', - 'é|' => 'æ‡', - 'é}' => '懌', - 'é~' => '憺', - 'é¡' => '憿', - 'é¢' => '憸', - 'é£' => '憌', - 'é¤' => 'æ“—', - 'é¥' => 'æ“–', - 'é¦' => 'æ“', - 'é§' => 'æ“', - 'é¨' => '擉', - 'é©' => 'æ’½', - 'éª' => 'æ’‰', - 'é«' => '擃', - 'é¬' => 'æ“›', - 'é­' => '擳', - 'é®' => 'æ“™', - 'é¯' => '攳', - 'é°' => 'æ•¿', - 'é±' => '敼', - 'é²' => 'æ–¢', - 'é³' => '曈', - 'é´' => 'æš¾', - 'éµ' => '曀', - 'é¶' => '曊', - 'é·' => '曋', - 'é¸' => 'æ›', - 'é¹' => 'æš½', - 'éº' => 'æš»', - 'é»' => '暺', - 'é¼' => '曌', - 'é½' => '朣', - 'é¾' => '樴', - 'é¿' => '橦', - 'éÀ' => '橉', - 'éÁ' => '橧', - 'éÂ' => '樲', - 'éÃ' => '橨', - 'éÄ' => '樾', - 'éÅ' => 'æ©', - 'éÆ' => 'æ©­', - 'éÇ' => '橶', - 'éÈ' => 'æ©›', - 'éÉ' => 'æ©‘', - 'éÊ' => '樨', - 'éË' => 'æ©š', - 'éÌ' => '樻', - 'éÍ' => '樿', - 'éÎ' => 'æ©', - 'éÏ' => '橪', - 'éÐ' => '橤', - 'éÑ' => 'æ©', - 'éÒ' => 'æ©', - 'éÓ' => 'æ©”', - 'éÔ' => '橯', - 'éÕ' => 'æ©©', - 'éÖ' => 'æ© ', - 'é×' => '樼', - 'éØ' => 'æ©ž', - 'éÙ' => 'æ©–', - 'éÚ' => 'æ©•', - 'éÛ' => 'æ©', - 'éÜ' => 'æ©Ž', - 'éÝ' => '橆', - 'éÞ' => 'æ­•', - 'éß' => 'æ­”', - 'éà' => 'æ­–', - 'éá' => '殧', - 'éâ' => '殪', - 'éã' => '殫', - 'éä' => '毈', - 'éå' => '毇', - 'éæ' => 'æ°„', - 'éç' => 'æ°ƒ', - 'éè' => 'æ°†', - 'éé' => 'æ¾­', - 'éê' => 'æ¿‹', - 'éë' => 'æ¾£', - 'éì' => '濇', - 'éí' => 'æ¾¼', - 'éî' => 'æ¿Ž', - 'éï' => '濈', - 'éð' => '潞', - 'éñ' => 'æ¿„', - 'éò' => 'æ¾½', - 'éó' => '澞', - 'éô' => 'æ¿Š', - 'éõ' => '澨', - 'éö' => '瀄', - 'é÷' => 'æ¾¥', - 'éø' => 'æ¾®', - 'éù' => '澺', - 'éú' => '澬', - 'éû' => '澪', - 'éü' => 'æ¿', - 'éý' => '澿', - 'éþ' => '澸', - 'ê@' => 'æ¾¢', - 'êA' => '濉', - 'êB' => '澫', - 'êC' => 'æ¿', - 'êD' => '澯', - 'êE' => 'æ¾²', - 'êF' => 'æ¾°', - 'êG' => '燅', - 'êH' => '燂', - 'êI' => '熿', - 'êJ' => '熸', - 'êK' => '燖', - 'êL' => '燀', - 'êM' => 'ç‡', - 'êN' => '燋', - 'êO' => '燔', - 'êP' => '燊', - 'êQ' => '燇', - 'êR' => 'ç‡', - 'êS' => '熽', - 'êT' => '燘', - 'êU' => '熼', - 'êV' => '燆', - 'êW' => '燚', - 'êX' => '燛', - 'êY' => 'çŠ', - 'êZ' => '犞', - 'ê[' => 'ç©', - 'ê\\' => 'ç¦', - 'ê]' => 'ç§', - 'ê^' => 'ç¬', - 'ê_' => 'ç¥', - 'ê`' => 'ç«', - 'êa' => 'çª', - 'êb' => 'ç‘¿', - 'êc' => 'ç’š', - 'êd' => 'ç’ ', - 'êe' => 'ç’”', - 'êf' => 'ç’’', - 'êg' => 'ç’•', - 'êh' => 'ç’¡', - 'êi' => '甋', - 'êj' => 'ç–€', - 'êk' => '瘯', - 'êl' => '瘭', - 'êm' => '瘱', - 'ên' => '瘽', - 'êo' => '瘳', - 'êp' => '瘼', - 'êq' => '瘵', - 'êr' => '瘲', - 'ês' => '瘰', - 'êt' => 'çš»', - 'êu' => '盦', - 'êv' => 'çžš', - 'êw' => 'çž', - 'êx' => 'çž¡', - 'êy' => 'çžœ', - 'êz' => 'çž›', - 'ê{' => '瞢', - 'ê|' => '瞣', - 'ê}' => 'çž•', - 'ê~' => 'çž™', - 'ê¡' => 'çž—', - 'ê¢' => 'ç£', - 'ê£' => '磩', - 'ê¤' => '磥', - 'ê¥' => '磪', - 'ê¦' => '磞', - 'ê§' => '磣', - 'ê¨' => '磛', - 'ê©' => '磡', - 'êª' => '磢', - 'ê«' => '磭', - 'ê¬' => '磟', - 'ê­' => '磠', - 'ê®' => '禤', - 'ê¯' => 'ç©„', - 'ê°' => '穈', - 'ê±' => '穇', - 'ê²' => '窶', - 'ê³' => '窸', - 'ê´' => '窵', - 'êµ' => '窱', - 'ê¶' => '窷', - 'ê·' => '篞', - 'ê¸' => '篣', - 'ê¹' => '篧', - 'êº' => 'ç¯', - 'ê»' => '篕', - 'ê¼' => '篥', - 'ê½' => '篚', - 'ê¾' => '篨', - 'ê¿' => '篹', - 'êÀ' => '篔', - 'êÁ' => '篪', - 'êÂ' => '篢', - 'êÃ' => '篜', - 'êÄ' => '篫', - 'êÅ' => '篘', - 'êÆ' => '篟', - 'êÇ' => 'ç³’', - 'êÈ' => 'ç³”', - 'êÉ' => 'ç³—', - 'êÊ' => 'ç³', - 'êË' => '糑', - 'êÌ' => '縒', - 'êÍ' => '縡', - 'êÎ' => '縗', - 'êÏ' => '縌', - 'êÐ' => '縟', - 'êÑ' => '縠', - 'êÒ' => '縓', - 'êÓ' => '縎', - 'êÔ' => '縜', - 'êÕ' => '縕', - 'êÖ' => '縚', - 'ê×' => '縢', - 'êØ' => '縋', - 'êÙ' => 'ç¸', - 'êÚ' => '縖', - 'êÛ' => 'ç¸', - 'êÜ' => '縔', - 'êÝ' => '縥', - 'êÞ' => '縤', - 'êß' => '罃', - 'êà' => 'ç½»', - 'êá' => 'ç½¼', - 'êâ' => '罺', - 'êã' => 'ç¾±', - 'êä' => '翯', - 'êå' => '耪', - 'êæ' => '耩', - 'êç' => 'è¬', - 'êè' => '膱', - 'êé' => '膦', - 'êê' => '膮', - 'êë' => '膹', - 'êì' => '膵', - 'êí' => '膫', - 'êî' => '膰', - 'êï' => '膬', - 'êð' => '膴', - 'êñ' => '膲', - 'êò' => '膷', - 'êó' => '膧', - 'êô' => '臲', - 'êõ' => '艕', - 'êö' => '艖', - 'ê÷' => '艗', - 'êø' => 'è•–', - 'êù' => 'è•…', - 'êú' => 'è•«', - 'êû' => 'è•', - 'êü' => 'è•“', - 'êý' => 'è•¡', - 'êþ' => '蕘', - 'ë@' => 'è•€', - 'ëA' => '蕆', - 'ëB' => '蕤', - 'ëC' => 'è•', - 'ëD' => 'è•¢', - 'ëE' => 'è•„', - 'ëF' => 'è•‘', - 'ëG' => '蕇', - 'ëH' => 'è•£', - 'ëI' => '蔾', - 'ëJ' => 'è•›', - 'ëK' => '蕱', - 'ëL' => 'è•Ž', - 'ëM' => 'è•®', - 'ëN' => '蕵', - 'ëO' => 'è••', - 'ëP' => '蕧', - 'ëQ' => 'è• ', - 'ëR' => 'è–Œ', - 'ëS' => '蕦', - 'ëT' => 'è•', - 'ëU' => 'è•”', - 'ëV' => 'è•¥', - 'ëW' => '蕬', - 'ëX' => '虣', - 'ëY' => '虥', - 'ëZ' => '虤', - 'ë[' => 'èž›', - 'ë\\' => 'èž', - 'ë]' => 'èž—', - 'ë^' => 'èž“', - 'ë_' => 'èž’', - 'ë`' => '螈', - 'ëa' => 'èž', - 'ëb' => 'èž–', - 'ëc' => '螘', - 'ëd' => 'è¹', - 'ëe' => '螇', - 'ëf' => '螣', - 'ëg' => 'èž…', - 'ëh' => 'èž', - 'ëi' => 'èž‘', - 'ëj' => 'èž', - 'ëk' => 'èž„', - 'ël' => 'èž”', - 'ëm' => 'èžœ', - 'ën' => 'èžš', - 'ëo' => '螉', - 'ëp' => '褞', - 'ëq' => '褦', - 'ër' => '褰', - 'ës' => '褭', - 'ët' => '褮', - 'ëu' => '褧', - 'ëv' => '褱', - 'ëw' => '褢', - 'ëx' => '褩', - 'ëy' => '褣', - 'ëz' => '褯', - 'ë{' => '褬', - 'ë|' => '褟', - 'ë}' => '觱', - 'ë~' => 'è« ', - 'ë¡' => 'è«¢', - 'ë¢' => '諲', - 'ë£' => 'è«´', - 'ë¤' => '諵', - 'ë¥' => 'è«', - 'ë¦' => '謔', - 'ë§' => '諤', - 'ë¨' => 'è«Ÿ', - 'ë©' => 'è«°', - 'ëª' => '諈', - 'ë«' => 'è«ž', - 'ë¬' => 'è«¡', - 'ë­' => '諨', - 'ë®' => 'è«¿', - 'ë¯' => '諯', - 'ë°' => 'è«»', - 'ë±' => '貑', - 'ë²' => 'è²’', - 'ë³' => 'è²', - 'ë´' => 'è³µ', - 'ëµ' => 'è³®', - 'ë¶' => 'è³±', - 'ë·' => 'è³°', - 'ë¸' => 'è³³', - 'ë¹' => '赬', - 'ëº' => 'èµ®', - 'ë»' => '趥', - 'ë¼' => '趧', - 'ë½' => '踳', - 'ë¾' => '踾', - 'ë¿' => '踸', - 'ëÀ' => 'è¹€', - 'ëÁ' => 'è¹…', - 'ëÂ' => '踶', - 'ëÃ' => '踼', - 'ëÄ' => '踽', - 'ëÅ' => 'è¹', - 'ëÆ' => '踰', - 'ëÇ' => '踿', - 'ëÈ' => '躽', - 'ëÉ' => '輶', - 'ëÊ' => 'è¼®', - 'ëË' => 'è¼µ', - 'ëÌ' => 'è¼²', - 'ëÍ' => 'è¼¹', - 'ëÎ' => 'è¼·', - 'ëÏ' => 'è¼´', - 'ëÐ' => 'é¶', - 'ëÑ' => 'é¹', - 'ëÒ' => 'é»', - 'ëÓ' => '邆', - 'ëÔ' => '郺', - 'ëÕ' => '鄳', - 'ëÖ' => '鄵', - 'ë×' => '鄶', - 'ëØ' => '醓', - 'ëÙ' => 'é†', - 'ëÚ' => '醑', - 'ëÛ' => 'é†', - 'ëÜ' => 'é†', - 'ëÝ' => '錧', - 'ëÞ' => '錞', - 'ëß' => '錈', - 'ëà' => '錟', - 'ëá' => '錆', - 'ëâ' => 'éŒ', - 'ëã' => 'éº', - 'ëä' => '錸', - 'ëå' => '錼', - 'ëæ' => '錛', - 'ëç' => '錣', - 'ëè' => '錒', - 'ëé' => 'éŒ', - 'ëê' => 'é†', - 'ëë' => '錭', - 'ëì' => '錎', - 'ëí' => 'éŒ', - 'ëî' => 'é‹‹', - 'ëï' => 'éŒ', - 'ëð' => '鋺', - 'ëñ' => '錥', - 'ëò' => '錓', - 'ëó' => '鋹', - 'ëô' => 'é‹·', - 'ëõ' => '錴', - 'ëö' => '錂', - 'ë÷' => '錤', - 'ëø' => 'é‹¿', - 'ëù' => '錩', - 'ëú' => '錹', - 'ëû' => '錵', - 'ëü' => '錪', - 'ëý' => '錔', - 'ëþ' => '錌', - 'ì@' => '錋', - 'ìA' => '鋾', - 'ìB' => '錉', - 'ìC' => '錀', - 'ìD' => 'é‹»', - 'ìE' => '錖', - 'ìF' => 'é–¼', - 'ìG' => 'é—', - 'ìH' => 'é–¾', - 'ìI' => 'é–¹', - 'ìJ' => 'é–º', - 'ìK' => 'é–¶', - 'ìL' => 'é–¿', - 'ìM' => 'é–µ', - 'ìN' => 'é–½', - 'ìO' => 'éš©', - 'ìP' => 'é›”', - 'ìQ' => '霋', - 'ìR' => '霒', - 'ìS' => 'éœ', - 'ìT' => 'éž™', - 'ìU' => 'éž—', - 'ìV' => 'éž”', - 'ìW' => '韰', - 'ìX' => '韸', - 'ìY' => 'é µ', - 'ìZ' => 'é ¯', - 'ì[' => 'é ²', - 'ì\\' => '餤', - 'ì]' => '餟', - 'ì^' => '餧', - 'ì_' => '餩', - 'ì`' => '馞', - 'ìa' => '駮', - 'ìb' => '駬', - 'ìc' => '駥', - 'ìd' => '駤', - 'ìe' => '駰', - 'ìf' => '駣', - 'ìg' => '駪', - 'ìh' => '駩', - 'ìi' => '駧', - 'ìj' => '骹', - 'ìk' => '骿', - 'ìl' => '骴', - 'ìm' => '骻', - 'ìn' => '髶', - 'ìo' => '髺', - 'ìp' => '髹', - 'ìq' => 'é«·', - 'ìr' => '鬳', - 'ìs' => '鮀', - 'ìt' => 'é®…', - 'ìu' => '鮇', - 'ìv' => 'é­¼', - 'ìw' => 'é­¾', - 'ìx' => 'é­»', - 'ìy' => '鮂', - 'ìz' => '鮓', - 'ì{' => 'é®’', - 'ì|' => 'é®', - 'ì}' => 'é­º', - 'ì~' => '鮕', - 'ì¡' => 'é­½', - 'ì¢' => '鮈', - 'ì£' => 'é´¥', - 'ì¤' => 'é´—', - 'ì¥' => 'é´ ', - 'ì¦' => 'é´ž', - 'ì§' => 'é´”', - 'ì¨' => 'é´©', - 'ì©' => 'é´', - 'ìª' => 'é´˜', - 'ì«' => 'é´¢', - 'ì¬' => 'é´', - 'ì­' => 'é´™', - 'ì®' => 'é´Ÿ', - 'ì¯' => '麈', - 'ì°' => '麆', - 'ì±' => '麇', - 'ì²' => '麮', - 'ì³' => '麭', - 'ì´' => '黕', - 'ìµ' => 'é»–', - 'ì¶' => '黺', - 'ì·' => 'é¼’', - 'ì¸' => 'é¼½', - 'ì¹' => '儦', - 'ìº' => 'å„¥', - 'ì»' => 'å„¢', - 'ì¼' => '儤', - 'ì½' => 'å„ ', - 'ì¾' => 'å„©', - 'ì¿' => 'å‹´', - 'ìÀ' => 'åš“', - 'ìÁ' => '嚌', - 'ìÂ' => 'åš', - 'ìÃ' => '嚆', - 'ìÄ' => 'åš„', - 'ìÅ' => '嚃', - 'ìÆ' => '噾', - 'ìÇ' => 'åš‚', - 'ìÈ' => '噿', - 'ìÉ' => 'åš', - 'ìÊ' => '壖', - 'ìË' => '壔', - 'ìÌ' => 'å£', - 'ìÍ' => '壒', - 'ìÎ' => '嬭', - 'ìÏ' => '嬥', - 'ìÐ' => '嬲', - 'ìÑ' => '嬣', - 'ìÒ' => '嬬', - 'ìÓ' => '嬧', - 'ìÔ' => '嬦', - 'ìÕ' => '嬯', - 'ìÖ' => '嬮', - 'ì×' => 'å­»', - 'ìØ' => '寱', - 'ìÙ' => '寲', - 'ìÚ' => '嶷', - 'ìÛ' => '幬', - 'ìÜ' => '幪', - 'ìÝ' => 'å¾¾', - 'ìÞ' => 'å¾»', - 'ìß' => '懃', - 'ìà' => '憵', - 'ìá' => '憼', - 'ìâ' => '懧', - 'ìã' => '懠', - 'ìä' => '懥', - 'ìå' => '懤', - 'ìæ' => '懨', - 'ìç' => '懞', - 'ìè' => '擯', - 'ìé' => 'æ“©', - 'ìê' => 'æ“£', - 'ìë' => 'æ“«', - 'ìì' => '擤', - 'ìí' => '擨', - 'ìî' => 'æ–', - 'ìï' => 'æ–€', - 'ìð' => 'æ–¶', - 'ìñ' => 'æ—š', - 'ìò' => 'æ›’', - 'ìó' => 'æª', - 'ìô' => '檖', - 'ìõ' => 'æª', - 'ìö' => '檥', - 'ì÷' => '檉', - 'ìø' => '檟', - 'ìù' => '檛', - 'ìú' => '檡', - 'ìû' => '檞', - 'ìü' => '檇', - 'ìý' => '檓', - 'ìþ' => '檎', - 'í@' => '檕', - 'íA' => '檃', - 'íB' => '檨', - 'íC' => '檤', - 'íD' => '檑', - 'íE' => 'æ©¿', - 'íF' => '檦', - 'íG' => '檚', - 'íH' => '檅', - 'íI' => '檌', - 'íJ' => '檒', - 'íK' => 'æ­›', - 'íL' => 'æ®­', - 'íM' => 'æ°‰', - 'íN' => 'æ¿Œ', - 'íO' => '澩', - 'íP' => 'æ¿´', - 'íQ' => 'æ¿”', - 'íR' => 'æ¿£', - 'íS' => 'æ¿œ', - 'íT' => 'æ¿­', - 'íU' => '濧', - 'íV' => '濦', - 'íW' => 'æ¿ž', - 'íX' => '濲', - 'íY' => 'æ¿', - 'íZ' => 'æ¿¢', - 'í[' => '濨', - 'í\\' => '燡', - 'í]' => '燱', - 'í^' => '燨', - 'í_' => '燲', - 'í`' => '燤', - 'ía' => '燰', - 'íb' => '燢', - 'íc' => 'ç³', - 'íd' => 'ç®', - 'íe' => 'ç¯', - 'íf' => 'ç’—', - 'íg' => 'ç’²', - 'íh' => 'ç’«', - 'íi' => 'ç’', - 'íj' => 'ç’ª', - 'ík' => 'ç’­', - 'íl' => 'ç’±', - 'ím' => 'ç’¥', - 'ín' => 'ç’¯', - 'ío' => 'ç”', - 'íp' => '甑', - 'íq' => 'ç”’', - 'ír' => 'ç”', - 'ís' => 'ç–„', - 'ít' => '癃', - 'íu' => '癈', - 'ív' => '癉', - 'íw' => '癇', - 'íx' => '皤', - 'íy' => '盩', - 'íz' => 'çžµ', - 'í{' => 'çž«', - 'í|' => 'çž²', - 'í}' => 'çž·', - 'í~' => '瞶', - 'í¡' => 'çž´', - 'í¢' => 'çž±', - 'í£' => '瞨', - 'í¤' => '矰', - 'í¥' => '磳', - 'í¦' => '磽', - 'í§' => '礂', - 'í¨' => '磻', - 'í©' => '磼', - 'íª' => '磲', - 'í«' => '礅', - 'í¬' => '磹', - 'í­' => '磾', - 'í®' => '礄', - 'í¯' => '禫', - 'í°' => '禨', - 'í±' => 'ç©œ', - 'í²' => 'ç©›', - 'í³' => 'ç©–', - 'í´' => '穘', - 'íµ' => 'ç©”', - 'í¶' => 'ç©š', - 'í·' => '窾', - 'í¸' => 'ç«€', - 'í¹' => 'ç«', - 'íº' => 'ç°…', - 'í»' => 'ç°', - 'í¼' => '篲', - 'í½' => 'ç°€', - 'í¾' => '篿', - 'í¿' => '篻', - 'íÀ' => 'ç°Ž', - 'íÁ' => '篴', - 'íÂ' => 'ç°‹', - 'íÃ' => '篳', - 'íÄ' => 'ç°‚', - 'íÅ' => 'ç°‰', - 'íÆ' => 'ç°ƒ', - 'íÇ' => 'ç°', - 'íÈ' => '篸', - 'íÉ' => '篽', - 'íÊ' => 'ç°†', - 'íË' => '篰', - 'íÌ' => '篱', - 'íÍ' => 'ç°', - 'íÎ' => 'ç°Š', - 'íÏ' => '糨', - 'íÐ' => '縭', - 'íÑ' => '縼', - 'íÒ' => '繂', - 'íÓ' => '縳', - 'íÔ' => '顈', - 'íÕ' => '縸', - 'íÖ' => '縪', - 'í×' => '繉', - 'íØ' => 'ç¹€', - 'íÙ' => '繇', - 'íÚ' => '縩', - 'íÛ' => '繌', - 'íÜ' => '縰', - 'íÝ' => '縻', - 'íÞ' => '縶', - 'íß' => '繄', - 'íà' => '縺', - 'íá' => 'ç½…', - 'íâ' => '罿', - 'íã' => 'ç½¾', - 'íä' => 'ç½½', - 'íå' => 'ç¿´', - 'íæ' => '翲', - 'íç' => '耬', - 'íè' => '膻', - 'íé' => '臄', - 'íê' => '臌', - 'íë' => '臊', - 'íì' => '臅', - 'íí' => '臇', - 'íî' => '膼', - 'íï' => '臩', - 'íð' => '艛', - 'íñ' => '艚', - 'íò' => '艜', - 'íó' => 'è–ƒ', - 'íô' => 'è–€', - 'íõ' => 'è–', - 'íö' => 'è–§', - 'í÷' => 'è–•', - 'íø' => 'è– ', - 'íù' => 'è–‹', - 'íú' => 'è–£', - 'íû' => 'è•»', - 'íü' => 'è–¤', - 'íý' => 'è–š', - 'íþ' => 'è–ž', - 'î@' => 'è•·', - 'îA' => '蕼', - 'îB' => 'è–‰', - 'îC' => 'è–¡', - 'îD' => '蕺', - 'îE' => '蕸', - 'îF' => 'è•—', - 'îG' => 'è–Ž', - 'îH' => 'è––', - 'îI' => 'è–†', - 'îJ' => 'è–', - 'îK' => 'è–™', - 'îL' => 'è–', - 'îM' => 'è–', - 'îN' => 'è–¢', - 'îO' => 'è–‚', - 'îP' => 'è–ˆ', - 'îQ' => 'è–…', - 'îR' => '蕹', - 'îS' => '蕶', - 'îT' => 'è–˜', - 'îU' => 'è–', - 'îV' => 'è–Ÿ', - 'îW' => '虨', - 'îX' => 'èž¾', - 'îY' => '螪', - 'îZ' => 'èž­', - 'î[' => '蟅', - 'î\\' => 'èž°', - 'î]' => '螬', - 'î^' => 'èž¹', - 'î_' => 'èžµ', - 'î`' => 'èž¼', - 'îa' => 'èž®', - 'îb' => '蟉', - 'îc' => '蟃', - 'îd' => '蟂', - 'îe' => '蟌', - 'îf' => 'èž·', - 'îg' => '螯', - 'îh' => '蟄', - 'îi' => '蟊', - 'îj' => 'èž´', - 'îk' => '螶', - 'îl' => 'èž¿', - 'îm' => '螸', - 'în' => 'èž½', - 'îo' => '蟞', - 'îp' => 'èž²', - 'îq' => '褵', - 'îr' => '褳', - 'îs' => '褼', - 'ît' => '褾', - 'îu' => 'è¥', - 'îv' => '襒', - 'îw' => '褷', - 'îx' => '襂', - 'îy' => '覭', - 'îz' => '覯', - 'î{' => '覮', - 'î|' => '觲', - 'î}' => '觳', - 'î~' => '謞', - 'î¡' => '謘', - 'î¢' => '謖', - 'î£' => '謑', - 'î¤' => '謅', - 'î¥' => '謋', - 'î¦' => '謢', - 'î§' => 'è¬', - 'î¨' => '謒', - 'î©' => '謕', - 'îª' => '謇', - 'î«' => 'è¬', - 'î¬' => '謈', - 'î­' => '謆', - 'î®' => '謜', - 'î¯' => '謓', - 'î°' => '謚', - 'î±' => 'è±', - 'î²' => 'è±°', - 'î³' => 'è±²', - 'î´' => 'è±±', - 'îµ' => '豯', - 'î¶' => '貕', - 'î·' => 'è²”', - 'î¸' => 'è³¹', - 'î¹' => '赯', - 'îº' => '蹎', - 'î»' => 'è¹', - 'î¼' => '蹓', - 'î½' => 'è¹', - 'î¾' => '蹌', - 'î¿' => '蹇', - 'îÀ' => '轃', - 'îÁ' => 'è½€', - 'îÂ' => 'é‚…', - 'îÃ' => 'é¾', - 'îÄ' => '鄸', - 'îÅ' => '醚', - 'îÆ' => '醢', - 'îÇ' => '醛', - 'îÈ' => '醙', - 'îÉ' => '醟', - 'îÊ' => '醡', - 'îË' => 'é†', - 'îÌ' => '醠', - 'îÍ' => '鎡', - 'îÎ' => '鎃', - 'îÏ' => '鎯', - 'îÐ' => 'é¤', - 'îÑ' => 'é–', - 'îÒ' => 'é‡', - 'îÓ' => 'é¼', - 'îÔ' => 'é˜', - 'îÕ' => 'éœ', - 'îÖ' => 'é¶', - 'î×' => 'é‰', - 'îØ' => 'é', - 'îÙ' => 'é‘', - 'îÚ' => 'é ', - 'îÛ' => 'é­', - 'îÜ' => 'éŽ', - 'îÝ' => 'éŒ', - 'îÞ' => 'éª', - 'îß' => 'é¹', - 'îà' => 'é—', - 'îá' => 'é•', - 'îâ' => 'é’', - 'îã' => 'é', - 'îä' => 'é±', - 'îå' => 'é·', - 'îæ' => 'é»', - 'îç' => 'é¡', - 'îè' => 'éž', - 'îé' => 'é£', - 'îê' => 'é§', - 'îë' => '鎀', - 'îì' => 'éŽ', - 'îí' => 'é™', - 'îî' => 'é—‡', - 'îï' => 'é—€', - 'îð' => 'é—‰', - 'îñ' => 'é—ƒ', - 'îò' => 'é—…', - 'îó' => 'é–·', - 'îô' => 'éš®', - 'îõ' => 'éš°', - 'îö' => '隬', - 'î÷' => '霠', - 'îø' => '霟', - 'îù' => '霘', - 'îú' => 'éœ', - 'îû' => '霙', - 'îü' => 'éžš', - 'îý' => 'éž¡', - 'îþ' => 'éžœ', - 'ï@' => 'éžž', - 'ïA' => 'éž', - 'ïB' => '韕', - 'ïC' => '韔', - 'ïD' => '韱', - 'ïE' => 'é¡', - 'ïF' => 'é¡„', - 'ïG' => 'é¡Š', - 'ïH' => '顉', - 'ïI' => 'é¡…', - 'ïJ' => '顃', - 'ïK' => '餥', - 'ïL' => '餫', - 'ïM' => '餬', - 'ïN' => '餪', - 'ïO' => '餳', - 'ïP' => '餲', - 'ïQ' => '餯', - 'ïR' => '餭', - 'ïS' => '餱', - 'ïT' => '餰', - 'ïU' => '馘', - 'ïV' => '馣', - 'ïW' => '馡', - 'ïX' => '騂', - 'ïY' => '駺', - 'ïZ' => '駴', - 'ï[' => '駷', - 'ï\\' => '駹', - 'ï]' => '駸', - 'ï^' => '駶', - 'ï_' => '駻', - 'ï`' => '駽', - 'ïa' => '駾', - 'ïb' => '駼', - 'ïc' => '騃', - 'ïd' => '骾', - 'ïe' => '髾', - 'ïf' => '髽', - 'ïg' => 'é¬', - 'ïh' => '髼', - 'ïi' => 'é­ˆ', - 'ïj' => '鮚', - 'ïk' => '鮨', - 'ïl' => '鮞', - 'ïm' => 'é®›', - 'ïn' => '鮦', - 'ïo' => '鮡', - 'ïp' => '鮥', - 'ïq' => '鮤', - 'ïr' => '鮆', - 'ïs' => '鮢', - 'ït' => 'é® ', - 'ïu' => '鮯', - 'ïv' => 'é´³', - 'ïw' => 'éµ', - 'ïx' => '鵧', - 'ïy' => 'é´¶', - 'ïz' => 'é´®', - 'ï{' => 'é´¯', - 'ï|' => 'é´±', - 'ï}' => 'é´¸', - 'ï~' => 'é´°', - 'ï¡' => 'éµ…', - 'ï¢' => '鵂', - 'ï£' => '鵃', - 'ï¤' => 'é´¾', - 'ï¥' => 'é´·', - 'ï¦' => 'éµ€', - 'ï§' => 'é´½', - 'ï¨' => '翵', - 'ï©' => 'é´­', - 'ïª' => '麊', - 'ï«' => '麉', - 'ï¬' => 'éº', - 'ï­' => '麰', - 'ï®' => '黈', - 'ï¯' => '黚', - 'ï°' => 'é»»', - 'ï±' => '黿', - 'ï²' => '鼤', - 'ï³' => 'é¼£', - 'ï´' => 'é¼¢', - 'ïµ' => 'é½”', - 'ï¶' => 'é¾ ', - 'ï·' => '儱', - 'ï¸' => 'å„­', - 'ï¹' => 'å„®', - 'ïº' => '嚘', - 'ï»' => 'åšœ', - 'ï¼' => 'åš—', - 'ï½' => 'åšš', - 'ï¾' => 'åš', - 'ï¿' => 'åš™', - 'ïÀ' => '奰', - 'ïÁ' => '嬼', - 'ïÂ' => '屩', - 'ïÃ' => '屪', - 'ïÄ' => 'å·€', - 'ïÅ' => 'å¹­', - 'ïÆ' => 'å¹®', - 'ïÇ' => '懘', - 'ïÈ' => '懟', - 'ïÉ' => '懭', - 'ïÊ' => '懮', - 'ïË' => '懱', - 'ïÌ' => '懪', - 'ïÍ' => '懰', - 'ïÎ' => '懫', - 'ïÏ' => '懖', - 'ïÐ' => '懩', - 'ïÑ' => 'æ“¿', - 'ïÒ' => '攄', - 'ïÓ' => '擽', - 'ïÔ' => '擸', - 'ïÕ' => 'æ”', - 'ïÖ' => '攃', - 'ï×' => '擼', - 'ïØ' => 'æ–”', - 'ïÙ' => 'æ—›', - 'ïÚ' => '曚', - 'ïÛ' => 'æ››', - 'ïÜ' => '曘', - 'ïÝ' => 'æ«…', - 'ïÞ' => '檹', - 'ïß' => '檽', - 'ïà' => 'æ«¡', - 'ïá' => '櫆', - 'ïâ' => '檺', - 'ïã' => '檶', - 'ïä' => '檷', - 'ïå' => '櫇', - 'ïæ' => '檴', - 'ïç' => '檭', - 'ïè' => 'æ­ž', - 'ïé' => '毉', - 'ïê' => 'æ°‹', - 'ïë' => '瀇', - 'ïì' => '瀌', - 'ïí' => 'ç€', - 'ïî' => 'ç€', - 'ïï' => '瀅', - 'ïð' => '瀔', - 'ïñ' => '瀎', - 'ïò' => 'æ¿¿', - 'ïó' => '瀀', - 'ïô' => 'æ¿»', - 'ïõ' => '瀦', - 'ïö' => '濼', - 'ï÷' => 'æ¿·', - 'ïø' => '瀊', - 'ïù' => 'çˆ', - 'ïú' => '燿', - 'ïû' => '燹', - 'ïü' => '爃', - 'ïý' => '燽', - 'ïþ' => 'ç¶', - 'ð@' => 'ç’¸', - 'ðA' => 'ç“€', - 'ðB' => 'ç’µ', - 'ðC' => 'ç“', - 'ðD' => 'ç’¾', - 'ðE' => 'ç’¶', - 'ðF' => 'ç’»', - 'ðG' => 'ç“‚', - 'ðH' => 'ç””', - 'ðI' => '甓', - 'ðJ' => '癜', - 'ðK' => '癤', - 'ðL' => 'ç™™', - 'ðM' => 'ç™', - 'ðN' => '癓', - 'ðO' => 'ç™—', - 'ðP' => '癚', - 'ðQ' => '皦', - 'ðR' => 'çš½', - 'ðS' => '盬', - 'ðT' => '矂', - 'ðU' => '瞺', - 'ðV' => '磿', - 'ðW' => '礌', - 'ðX' => '礓', - 'ðY' => '礔', - 'ðZ' => '礉', - 'ð[' => 'ç¤', - 'ð\\' => '礒', - 'ð]' => '礑', - 'ð^' => '禭', - 'ð_' => '禬', - 'ð`' => 'ç©Ÿ', - 'ða' => 'ç°œ', - 'ðb' => 'ç°©', - 'ðc' => 'ç°™', - 'ðd' => 'ç° ', - 'ðe' => 'ç°Ÿ', - 'ðf' => 'ç°­', - 'ðg' => 'ç°', - 'ðh' => 'ç°¦', - 'ði' => 'ç°¨', - 'ðj' => 'ç°¢', - 'ðk' => 'ç°¥', - 'ðl' => 'ç°°', - 'ðm' => '繜', - 'ðn' => 'ç¹', - 'ðo' => 'ç¹–', - 'ðp' => 'ç¹£', - 'ðq' => '繘', - 'ðr' => 'ç¹¢', - 'ðs' => '繟', - 'ðt' => '繑', - 'ðu' => 'ç¹ ', - 'ðv' => 'ç¹—', - 'ðw' => '繓', - 'ðx' => 'ç¾µ', - 'ðy' => 'ç¾³', - 'ðz' => 'ç¿·', - 'ð{' => '翸', - 'ð|' => 'èµ', - 'ð}' => '臑', - 'ð~' => '臒', - 'ð¡' => 'è‡', - 'ð¢' => '艟', - 'ð£' => '艞', - 'ð¤' => 'è–´', - 'ð¥' => 'è—†', - 'ð¦' => 'è—€', - 'ð§' => 'è—ƒ', - 'ð¨' => 'è—‚', - 'ð©' => 'è–³', - 'ðª' => 'è–µ', - 'ð«' => 'è–½', - 'ð¬' => 'è—‡', - 'ð­' => 'è—„', - 'ð®' => 'è–¿', - 'ð¯' => 'è—‹', - 'ð°' => 'è—Ž', - 'ð±' => 'è—ˆ', - 'ð²' => 'è—…', - 'ð³' => 'è–±', - 'ð´' => 'è–¶', - 'ðµ' => 'è—’', - 'ð¶' => '蘤', - 'ð·' => 'è–¸', - 'ð¸' => 'è–·', - 'ð¹' => 'è–¾', - 'ðº' => '虩', - 'ð»' => '蟧', - 'ð¼' => '蟦', - 'ð½' => '蟢', - 'ð¾' => '蟛', - 'ð¿' => '蟫', - 'ðÀ' => '蟪', - 'ðÁ' => '蟥', - 'ðÂ' => '蟟', - 'ðÃ' => '蟳', - 'ðÄ' => '蟤', - 'ðÅ' => '蟔', - 'ðÆ' => '蟜', - 'ðÇ' => '蟓', - 'ðÈ' => '蟭', - 'ðÉ' => '蟘', - 'ðÊ' => '蟣', - 'ðË' => '螤', - 'ðÌ' => '蟗', - 'ðÍ' => '蟙', - 'ðÎ' => 'è ', - 'ðÏ' => '蟴', - 'ðÐ' => '蟨', - 'ðÑ' => 'èŸ', - 'ðÒ' => '襓', - 'ðÓ' => '襋', - 'ðÔ' => 'è¥', - 'ðÕ' => '襌', - 'ðÖ' => '襆', - 'ð×' => 'è¥', - 'ðØ' => '襑', - 'ðÙ' => '襉', - 'ðÚ' => '謪', - 'ðÛ' => '謧', - 'ðÜ' => '謣', - 'ðÝ' => '謳', - 'ðÞ' => '謰', - 'ðß' => '謵', - 'ðà' => 'è­‡', - 'ðá' => '謯', - 'ðâ' => '謼', - 'ðã' => '謾', - 'ðä' => '謱', - 'ðå' => '謥', - 'ðæ' => '謷', - 'ðç' => '謦', - 'ðè' => '謶', - 'ðé' => '謮', - 'ðê' => '謤', - 'ðë' => '謻', - 'ðì' => '謽', - 'ðí' => '謺', - 'ðî' => '豂', - 'ðï' => 'è±µ', - 'ðð' => 'è²™', - 'ðñ' => '貘', - 'ðò' => 'è²—', - 'ðó' => 'è³¾', - 'ðô' => 'è´„', - 'ðõ' => 'è´‚', - 'ðö' => 'è´€', - 'ð÷' => '蹜', - 'ðø' => 'è¹¢', - 'ðù' => 'è¹ ', - 'ðú' => 'è¹—', - 'ðû' => 'è¹–', - 'ðü' => '蹞', - 'ðý' => 'è¹¥', - 'ðþ' => '蹧', - 'ñ@' => 'è¹›', - 'ñA' => '蹚', - 'ñB' => '蹡', - 'ñC' => 'è¹', - 'ñD' => '蹩', - 'ñE' => 'è¹”', - 'ñF' => '轆', - 'ñG' => '轇', - 'ñH' => '轈', - 'ñI' => '轋', - 'ñJ' => '鄨', - 'ñK' => '鄺', - 'ñL' => 'é„»', - 'ñM' => '鄾', - 'ñN' => '醨', - 'ñO' => '醥', - 'ñP' => '醧', - 'ñQ' => '醯', - 'ñR' => '醪', - 'ñS' => '鎵', - 'ñT' => '鎌', - 'ñU' => '鎒', - 'ñV' => '鎷', - 'ñW' => '鎛', - 'ñX' => 'éŽ', - 'ñY' => '鎉', - 'ñZ' => '鎧', - 'ñ[' => '鎎', - 'ñ\\' => '鎪', - 'ñ]' => '鎞', - 'ñ^' => '鎦', - 'ñ_' => '鎕', - 'ñ`' => '鎈', - 'ña' => '鎙', - 'ñb' => '鎟', - 'ñc' => 'éŽ', - 'ñd' => '鎱', - 'ñe' => '鎑', - 'ñf' => '鎲', - 'ñg' => '鎤', - 'ñh' => '鎨', - 'ñi' => '鎴', - 'ñj' => '鎣', - 'ñk' => '鎥', - 'ñl' => 'é—’', - 'ñm' => 'é—“', - 'ñn' => 'é—‘', - 'ño' => 'éš³', - 'ñp' => 'é›—', - 'ñq' => '雚', - 'ñr' => 'å·‚', - 'ñs' => '雟', - 'ñt' => '雘', - 'ñu' => 'é›', - 'ñv' => '霣', - 'ñw' => '霢', - 'ñx' => '霥', - 'ñy' => '鞬', - 'ñz' => 'éž®', - 'ñ{' => '鞨', - 'ñ|' => 'éž«', - 'ñ}' => '鞤', - 'ñ~' => '鞪', - 'ñ¡' => '鞢', - 'ñ¢' => '鞥', - 'ñ£' => '韗', - 'ñ¤' => '韙', - 'ñ¥' => '韖', - 'ñ¦' => '韘', - 'ñ§' => '韺', - 'ñ¨' => 'é¡', - 'ñ©' => 'é¡‘', - 'ñª' => 'é¡’', - 'ñ«' => '颸', - 'ñ¬' => 'é¥', - 'ñ­' => '餼', - 'ñ®' => '餺', - 'ñ¯' => 'é¨', - 'ñ°' => '騋', - 'ñ±' => '騉', - 'ñ²' => 'é¨', - 'ñ³' => '騄', - 'ñ´' => '騑', - 'ñµ' => '騊', - 'ñ¶' => '騅', - 'ñ·' => '騇', - 'ñ¸' => '騆', - 'ñ¹' => 'é«€', - 'ñº' => 'é«œ', - 'ñ»' => '鬈', - 'ñ¼' => '鬄', - 'ñ½' => '鬅', - 'ñ¾' => '鬩', - 'ñ¿' => '鬵', - 'ñÀ' => 'é­Š', - 'ñÁ' => 'é­Œ', - 'ñÂ' => 'é­‹', - 'ñÃ' => '鯇', - 'ñÄ' => '鯆', - 'ñÅ' => '鯃', - 'ñÆ' => '鮿', - 'ñÇ' => 'é¯', - 'ñÈ' => '鮵', - 'ñÉ' => '鮸', - 'ñÊ' => '鯓', - 'ñË' => '鮶', - 'ñÌ' => '鯄', - 'ñÍ' => '鮹', - 'ñÎ' => '鮽', - 'ñÏ' => '鵜', - 'ñÐ' => '鵓', - 'ñÑ' => 'éµ', - 'ñÒ' => '鵊', - 'ñÓ' => 'éµ›', - 'ñÔ' => '鵋', - 'ñÕ' => 'éµ™', - 'ñÖ' => 'éµ–', - 'ñ×' => '鵌', - 'ñØ' => 'éµ—', - 'ñÙ' => 'éµ’', - 'ñÚ' => 'éµ”', - 'ñÛ' => '鵟', - 'ñÜ' => '鵘', - 'ñÝ' => '鵚', - 'ñÞ' => '麎', - 'ñß' => '麌', - 'ñà' => '黟', - 'ñá' => 'é¼', - 'ñâ' => 'é¼€', - 'ñã' => 'é¼–', - 'ñä' => 'é¼¥', - 'ñå' => '鼫', - 'ñæ' => '鼪', - 'ñç' => '鼩', - 'ñè' => '鼨', - 'ñé' => '齌', - 'ñê' => '齕', - 'ñë' => 'å„´', - 'ñì' => '儵', - 'ñí' => '劖', - 'ñî' => 'å‹·', - 'ñï' => '厴', - 'ñð' => 'åš«', - 'ññ' => 'åš­', - 'ñò' => '嚦', - 'ñó' => '嚧', - 'ñô' => '嚪', - 'ñõ' => '嚬', - 'ñö' => '壚', - 'ñ÷' => 'å£', - 'ñø' => '壛', - 'ñù' => '夒', - 'ñú' => '嬽', - 'ñû' => '嬾', - 'ñü' => '嬿', - 'ñý' => 'å·ƒ', - 'ñþ' => 'å¹°', - 'ò@' => '徿', - 'òA' => '懻', - 'òB' => '攇', - 'òC' => 'æ”', - 'òD' => 'æ”', - 'òE' => '攉', - 'òF' => '攌', - 'òG' => '攎', - 'òH' => 'æ–„', - 'òI' => 'æ—ž', - 'òJ' => 'æ—', - 'òK' => '曞', - 'òL' => '櫧', - 'òM' => 'æ« ', - 'òN' => 'æ«Œ', - 'òO' => 'æ«‘', - 'òP' => 'æ«™', - 'òQ' => 'æ«‹', - 'òR' => 'æ«Ÿ', - 'òS' => 'æ«œ', - 'òT' => 'æ«', - 'òU' => 'æ««', - 'òV' => 'æ«', - 'òW' => 'æ«', - 'òX' => 'æ«ž', - 'òY' => 'æ­ ', - 'òZ' => 'æ®°', - 'ò[' => 'æ°Œ', - 'ò\\' => '瀙', - 'ò]' => '瀧', - 'ò^' => '瀠', - 'ò_' => '瀖', - 'ò`' => '瀫', - 'òa' => '瀡', - 'òb' => '瀢', - 'òc' => '瀣', - 'òd' => '瀩', - 'òe' => '瀗', - 'òf' => '瀤', - 'òg' => '瀜', - 'òh' => '瀪', - 'òi' => '爌', - 'òj' => '爊', - 'òk' => '爇', - 'òl' => '爂', - 'òm' => '爅', - 'òn' => '犥', - 'òo' => '犦', - 'òp' => '犤', - 'òq' => '犣', - 'òr' => '犡', - 'òs' => 'ç“‹', - 'òt' => 'ç“…', - 'òu' => 'ç’·', - 'òv' => '瓃', - 'òw' => 'ç”–', - 'òx' => 'ç™ ', - 'òy' => '矉', - 'òz' => '矊', - 'ò{' => '矄', - 'ò|' => '矱', - 'ò}' => 'ç¤', - 'ò~' => '礛', - 'ò¡' => '礡', - 'ò¢' => '礜', - 'ò£' => '礗', - 'ò¤' => '礞', - 'ò¥' => '禰', - 'ò¦' => '穧', - 'ò§' => '穨', - 'ò¨' => 'ç°³', - 'ò©' => 'ç°¼', - 'òª' => 'ç°¹', - 'ò«' => 'ç°¬', - 'ò¬' => 'ç°»', - 'ò­' => '糬', - 'ò®' => '糪', - 'ò¯' => '繶', - 'ò°' => 'ç¹µ', - 'ò±' => '繸', - 'ò²' => 'ç¹°', - 'ò³' => 'ç¹·', - 'ò´' => '繯', - 'òµ' => '繺', - 'ò¶' => 'ç¹²', - 'ò·' => 'ç¹´', - 'ò¸' => '繨', - 'ò¹' => '罋', - 'òº' => '罊', - 'ò»' => '羃', - 'ò¼' => '羆', - 'ò½' => 'ç¾·', - 'ò¾' => '翽', - 'ò¿' => '翾', - 'òÀ' => 'è¸', - 'òÁ' => '臗', - 'òÂ' => '臕', - 'òÃ' => '艤', - 'òÄ' => '艡', - 'òÅ' => '艣', - 'òÆ' => 'è—«', - 'òÇ' => 'è—±', - 'òÈ' => 'è—­', - 'òÉ' => 'è—™', - 'òÊ' => 'è—¡', - 'òË' => 'è—¨', - 'òÌ' => 'è—š', - 'òÍ' => 'è——', - 'òÎ' => 'è—¬', - 'òÏ' => 'è—²', - 'òÐ' => 'è—¸', - 'òÑ' => 'è—˜', - 'òÒ' => 'è—Ÿ', - 'òÓ' => 'è—£', - 'òÔ' => 'è—œ', - 'òÕ' => 'è—‘', - 'òÖ' => 'è—°', - 'ò×' => 'è—¦', - 'òØ' => 'è—¯', - 'òÙ' => 'è—ž', - 'òÚ' => 'è—¢', - 'òÛ' => 'è €', - 'òÜ' => '蟺', - 'òÝ' => 'è ƒ', - 'òÞ' => '蟶', - 'òß' => '蟷', - 'òà' => 'è ‰', - 'òá' => 'è Œ', - 'òâ' => 'è ‹', - 'òã' => 'è †', - 'òä' => '蟼', - 'òå' => 'è ˆ', - 'òæ' => '蟿', - 'òç' => 'è Š', - 'òè' => 'è ‚', - 'òé' => '襢', - 'òê' => '襚', - 'òë' => '襛', - 'òì' => '襗', - 'òí' => '襡', - 'òî' => '襜', - 'òï' => '襘', - 'òð' => 'è¥', - 'òñ' => '襙', - 'òò' => '覈', - 'òó' => '覷', - 'òô' => '覶', - 'òõ' => '觶', - 'òö' => 'è­', - 'ò÷' => 'è­ˆ', - 'òø' => 'è­Š', - 'òù' => 'è­€', - 'òú' => 'è­“', - 'òû' => 'è­–', - 'òü' => 'è­”', - 'òý' => 'è­‹', - 'òþ' => 'è­•', - 'ó@' => 'è­‘', - 'óA' => 'è­‚', - 'óB' => 'è­’', - 'óC' => 'è­—', - 'óD' => '豃', - 'óE' => 'è±·', - 'óF' => '豶', - 'óG' => '貚', - 'óH' => 'è´†', - 'óI' => 'è´‡', - 'óJ' => 'è´‰', - 'óK' => '趬', - 'óL' => '趪', - 'óM' => '趭', - 'óN' => '趫', - 'óO' => 'è¹­', - 'óP' => '蹸', - 'óQ' => 'è¹³', - 'óR' => '蹪', - 'óS' => '蹯', - 'óT' => 'è¹»', - 'óU' => '軂', - 'óV' => 'è½’', - 'óW' => '轑', - 'óX' => 'è½', - 'óY' => 'è½', - 'óZ' => '轓', - 'ó[' => 'è¾´', - 'ó\\' => 'é…€', - 'ó]' => 'é„¿', - 'ó^' => '醰', - 'ó_' => '醭', - 'ó`' => 'éž', - 'óa' => 'é‡', - 'ób' => 'é', - 'óc' => 'é‚', - 'ód' => 'éš', - 'óe' => 'é', - 'óf' => 'é¹', - 'óg' => 'é¬', - 'óh' => 'éŒ', - 'ói' => 'é™', - 'ój' => '鎩', - 'ók' => 'é¦', - 'ól' => 'éŠ', - 'óm' => 'é”', - 'ón' => 'é®', - 'óo' => 'é£', - 'óp' => 'é•', - 'óq' => 'é„', - 'ór' => 'éŽ', - 'ós' => 'é€', - 'ót' => 'é’', - 'óu' => 'é§', - 'óv' => '镽', - 'ów' => 'é—š', - 'óx' => 'é—›', - 'óy' => '雡', - 'óz' => '霩', - 'ó{' => '霫', - 'ó|' => '霬', - 'ó}' => '霨', - 'ó~' => '霦', - 'ó¡' => 'éž³', - 'ó¢' => 'éž·', - 'ó£' => '鞶', - 'ó¤' => 'éŸ', - 'ó¥' => '韞', - 'ó¦' => '韟', - 'ó§' => 'é¡œ', - 'ó¨' => 'é¡™', - 'ó©' => 'é¡', - 'óª' => 'é¡—', - 'ó«' => '颿', - 'ó¬' => '颽', - 'ó­' => '颻', - 'ó®' => '颾', - 'ó¯' => '饈', - 'ó°' => '饇', - 'ó±' => '饃', - 'ó²' => '馦', - 'ó³' => '馧', - 'ó´' => '騚', - 'óµ' => '騕', - 'ó¶' => '騥', - 'ó·' => 'é¨', - 'ó¸' => '騤', - 'ó¹' => '騛', - 'óº' => '騢', - 'ó»' => '騠', - 'ó¼' => '騧', - 'ó½' => '騣', - 'ó¾' => '騞', - 'ó¿' => '騜', - 'óÀ' => '騔', - 'óÁ' => 'é«‚', - 'óÂ' => '鬋', - 'óÃ' => '鬊', - 'óÄ' => '鬎', - 'óÅ' => '鬌', - 'óÆ' => '鬷', - 'óÇ' => '鯪', - 'óÈ' => '鯫', - 'óÉ' => '鯠', - 'óÊ' => '鯞', - 'óË' => '鯤', - 'óÌ' => '鯦', - 'óÍ' => '鯢', - 'óÎ' => '鯰', - 'óÏ' => '鯔', - 'óÐ' => '鯗', - 'óÑ' => '鯬', - 'óÒ' => '鯜', - 'óÓ' => '鯙', - 'óÔ' => '鯥', - 'óÕ' => '鯕', - 'óÖ' => '鯡', - 'ó×' => '鯚', - 'óØ' => 'éµ·', - 'óÙ' => 'é¶', - 'óÚ' => '鶊', - 'óÛ' => '鶄', - 'óÜ' => '鶈', - 'óÝ' => 'éµ±', - 'óÞ' => '鶀', - 'óß' => '鵸', - 'óà' => '鶆', - 'óá' => '鶋', - 'óâ' => '鶌', - 'óã' => 'éµ½', - 'óä' => '鵫', - 'óå' => 'éµ´', - 'óæ' => 'éµµ', - 'óç' => 'éµ°', - 'óè' => '鵩', - 'óé' => '鶅', - 'óê' => 'éµ³', - 'óë' => 'éµ»', - 'óì' => '鶂', - 'óí' => '鵯', - 'óî' => 'éµ¹', - 'óï' => '鵿', - 'óð' => '鶇', - 'óñ' => '鵨', - 'óò' => '麔', - 'óó' => '麑', - 'óô' => '黀', - 'óõ' => '黼', - 'óö' => 'é¼­', - 'ó÷' => 'é½€', - 'óø' => 'é½', - 'óù' => 'é½', - 'óú' => 'é½–', - 'óû' => 'é½—', - 'óü' => '齘', - 'óý' => '匷', - 'óþ' => 'åš²', - 'ô@' => 'åšµ', - 'ôA' => 'åš³', - 'ôB' => '壣', - 'ôC' => 'å­…', - 'ôD' => 'å·†', - 'ôE' => 'å·‡', - 'ôF' => 'å»®', - 'ôG' => '廯', - 'ôH' => 'å¿€', - 'ôI' => 'å¿', - 'ôJ' => '懹', - 'ôK' => 'æ”—', - 'ôL' => 'æ”–', - 'ôM' => '攕', - 'ôN' => '攓', - 'ôO' => 'æ—Ÿ', - 'ôP' => '曨', - 'ôQ' => '曣', - 'ôR' => '曤', - 'ôS' => '櫳', - 'ôT' => 'æ«°', - 'ôU' => '櫪', - 'ôV' => '櫨', - 'ôW' => '櫹', - 'ôX' => '櫱', - 'ôY' => 'æ«®', - 'ôZ' => '櫯', - 'ô[' => '瀼', - 'ô\\' => '瀵', - 'ô]' => '瀯', - 'ô^' => '瀷', - 'ô_' => '瀴', - 'ô`' => '瀱', - 'ôa' => 'ç‚', - 'ôb' => '瀸', - 'ôc' => '瀿', - 'ôd' => '瀺', - 'ôe' => '瀹', - 'ôf' => 'ç€', - 'ôg' => '瀻', - 'ôh' => '瀳', - 'ôi' => 'ç', - 'ôj' => '爓', - 'ôk' => '爔', - 'ôl' => '犨', - 'ôm' => 'ç½', - 'ôn' => 'ç¼', - 'ôo' => 'ç’º', - 'ôp' => 'çš«', - 'ôq' => '皪', - 'ôr' => 'çš¾', - 'ôs' => 'ç›­', - 'ôt' => '矌', - 'ôu' => '矎', - 'ôv' => 'çŸ', - 'ôw' => 'çŸ', - 'ôx' => '矲', - 'ôy' => '礥', - 'ôz' => '礣', - 'ô{' => '礧', - 'ô|' => '礨', - 'ô}' => '礤', - 'ô~' => '礩', - 'ô¡' => '禲', - 'ô¢' => 'ç©®', - 'ô£' => '穬', - 'ô¤' => 'ç©­', - 'ô¥' => 'ç«·', - 'ô¦' => '籉', - 'ô§' => '籈', - 'ô¨' => '籊', - 'ô©' => '籇', - 'ôª' => 'ç±…', - 'ô«' => 'ç³®', - 'ô¬' => 'ç¹»', - 'ô­' => 'ç¹¾', - 'ô®' => 'çº', - 'ô¯' => '纀', - 'ô°' => '羺', - 'ô±' => 'ç¿¿', - 'ô²' => 'è¹', - 'ô³' => '臛', - 'ô´' => '臙', - 'ôµ' => '舋', - 'ô¶' => '艨', - 'ô·' => '艩', - 'ô¸' => '蘢', - 'ô¹' => 'è—¿', - 'ôº' => 'è˜', - 'ô»' => 'è—¾', - 'ô¼' => '蘛', - 'ô½' => '蘀', - 'ô¾' => 'è—¶', - 'ô¿' => '蘄', - 'ôÀ' => '蘉', - 'ôÁ' => '蘅', - 'ôÂ' => '蘌', - 'ôÃ' => 'è—½', - 'ôÄ' => 'è ™', - 'ôÅ' => 'è ', - 'ôÆ' => 'è ‘', - 'ôÇ' => 'è —', - 'ôÈ' => 'è “', - 'ôÉ' => 'è –', - 'ôÊ' => '襣', - 'ôË' => '襦', - 'ôÌ' => '覹', - 'ôÍ' => '觷', - 'ôÎ' => 'è­ ', - 'ôÏ' => 'è­ª', - 'ôÐ' => 'è­', - 'ôÑ' => 'è­¨', - 'ôÒ' => 'è­£', - 'ôÓ' => 'è­¥', - 'ôÔ' => 'è­§', - 'ôÕ' => 'è­­', - 'ôÖ' => '趮', - 'ô×' => '躆', - 'ôØ' => '躈', - 'ôÙ' => '躄', - 'ôÚ' => 'è½™', - 'ôÛ' => 'è½–', - 'ôÜ' => 'è½—', - 'ôÝ' => '轕', - 'ôÞ' => '轘', - 'ôß' => '轚', - 'ôà' => 'é‚', - 'ôá' => 'é…ƒ', - 'ôâ' => 'é…', - 'ôã' => '醷', - 'ôä' => '醵', - 'ôå' => '醲', - 'ôæ' => '醳', - 'ôç' => 'é‹', - 'ôè' => 'é“', - 'ôé' => 'é»', - 'ôê' => 'é ', - 'ôë' => 'é', - 'ôì' => 'é”', - 'ôí' => 'é¾', - 'ôî' => 'é•', - 'ôï' => 'é', - 'ôð' => 'é¨', - 'ôñ' => 'é™', - 'ôò' => 'é', - 'ôó' => 'éµ', - 'ôô' => 'é€', - 'ôõ' => 'é·', - 'ôö' => 'é‡', - 'ô÷' => 'éŽ', - 'ôø' => 'é–', - 'ôù' => 'é’', - 'ôú' => 'éº', - 'ôû' => 'é‰', - 'ôü' => 'é¸', - 'ôý' => 'éŠ', - 'ôþ' => 'é¿', - 'õ@' => 'é¼', - 'õA' => 'éŒ', - 'õB' => 'é¶', - 'õC' => 'é‘', - 'õD' => 'é†', - 'õE' => 'é—ž', - 'õF' => 'é— ', - 'õG' => 'é—Ÿ', - 'õH' => '霮', - 'õI' => '霯', - 'õJ' => 'éž¹', - 'õK' => 'éž»', - 'õL' => '韽', - 'õM' => '韾', - 'õN' => 'é¡ ', - 'õO' => 'é¡¢', - 'õP' => 'é¡£', - 'õQ' => 'é¡Ÿ', - 'õR' => 'é£', - 'õS' => '飂', - 'õT' => 'é¥', - 'õU' => '饎', - 'õV' => '饙', - 'õW' => '饌', - 'õX' => '饋', - 'õY' => '饓', - 'õZ' => '騲', - 'õ[' => '騴', - 'õ\\' => '騱', - 'õ]' => '騬', - 'õ^' => '騪', - 'õ_' => '騶', - 'õ`' => '騩', - 'õa' => '騮', - 'õb' => '騸', - 'õc' => '騭', - 'õd' => '髇', - 'õe' => 'é«Š', - 'õf' => '髆', - 'õg' => 'é¬', - 'õh' => '鬒', - 'õi' => '鬑', - 'õj' => 'é°‹', - 'õk' => 'é°ˆ', - 'õl' => '鯷', - 'õm' => 'é°…', - 'õn' => 'é°’', - 'õo' => '鯸', - 'õp' => 'é±€', - 'õq' => 'é°‡', - 'õr' => 'é°Ž', - 'õs' => 'é°†', - 'õt' => 'é°—', - 'õu' => 'é°”', - 'õv' => 'é°‰', - 'õw' => '鶟', - 'õx' => '鶙', - 'õy' => '鶤', - 'õz' => 'é¶', - 'õ{' => '鶒', - 'õ|' => '鶘', - 'õ}' => 'é¶', - 'õ~' => '鶛', - 'õ¡' => '鶠', - 'õ¢' => '鶔', - 'õ£' => '鶜', - 'õ¤' => '鶪', - 'õ¥' => '鶗', - 'õ¦' => '鶡', - 'õ§' => '鶚', - 'õ¨' => '鶢', - 'õ©' => '鶨', - 'õª' => '鶞', - 'õ«' => '鶣', - 'õ¬' => '鶿', - 'õ­' => '鶩', - 'õ®' => '鶖', - 'õ¯' => '鶦', - 'õ°' => '鶧', - 'õ±' => '麙', - 'õ²' => '麛', - 'õ³' => '麚', - 'õ´' => '黥', - 'õµ' => '黤', - 'õ¶' => '黧', - 'õ·' => '黦', - 'õ¸' => 'é¼°', - 'õ¹' => 'é¼®', - 'õº' => 'é½›', - 'õ»' => 'é½ ', - 'õ¼' => '齞', - 'õ½' => 'é½', - 'õ¾' => 'é½™', - 'õ¿' => '龑', - 'õÀ' => '儺', - 'õÁ' => '儹', - 'õÂ' => '劘', - 'õÃ' => '劗', - 'õÄ' => '囃', - 'õÅ' => 'åš½', - 'õÆ' => 'åš¾', - 'õÇ' => 'å­ˆ', - 'õÈ' => 'å­‡', - 'õÉ' => 'å·‹', - 'õÊ' => 'å·', - 'õË' => 'å»±', - 'õÌ' => '懽', - 'õÍ' => 'æ”›', - 'õÎ' => '欂', - 'õÏ' => '櫼', - 'õÐ' => '欃', - 'õÑ' => '櫸', - 'õÒ' => '欀', - 'õÓ' => 'çƒ', - 'õÔ' => 'ç„', - 'õÕ' => 'çŠ', - 'õÖ' => 'çˆ', - 'õ×' => 'ç‰', - 'õØ' => 'ç…', - 'õÙ' => 'ç†', - 'õÚ' => 'çˆ', - 'õÛ' => '爚', - 'õÜ' => '爙', - 'õÝ' => 'ç¾', - 'õÞ' => 'ç”—', - 'õß' => '癪', - 'õà' => 'çŸ', - 'õá' => '礭', - 'õâ' => '礱', - 'õã' => '礯', - 'õä' => 'ç±”', - 'õå' => '籓', - 'õæ' => 'ç³²', - 'õç' => '纊', - 'õè' => '纇', - 'õé' => '纈', - 'õê' => '纋', - 'õë' => '纆', - 'õì' => 'çº', - 'õí' => 'ç½', - 'õî' => 'ç¾»', - 'õï' => '耰', - 'õð' => 'è‡', - 'õñ' => '蘘', - 'õò' => '蘪', - 'õó' => '蘦', - 'õô' => '蘟', - 'õõ' => '蘣', - 'õö' => '蘜', - 'õ÷' => '蘙', - 'õø' => '蘧', - 'õù' => '蘮', - 'õú' => '蘡', - 'õû' => '蘠', - 'õü' => '蘩', - 'õý' => '蘞', - 'õþ' => '蘥', - 'ö@' => 'è ©', - 'öA' => 'è ', - 'öB' => 'è ›', - 'öC' => 'è  ', - 'öD' => 'è ¤', - 'öE' => 'è œ', - 'öF' => 'è «', - 'öG' => 'è¡Š', - 'öH' => '襭', - 'öI' => '襩', - 'öJ' => '襮', - 'öK' => '襫', - 'öL' => '觺', - 'öM' => 'è­¹', - 'öN' => 'è­¸', - 'öO' => 'è­…', - 'öP' => 'è­º', - 'öQ' => 'è­»', - 'öR' => 'è´', - 'öS' => 'è´”', - 'öT' => '趯', - 'öU' => '躎', - 'öV' => '躌', - 'öW' => '轞', - 'öX' => 'è½›', - 'öY' => 'è½', - 'öZ' => 'é…†', - 'ö[' => 'é…„', - 'ö\\' => 'é……', - 'ö]' => '醹', - 'ö^' => 'é¿', - 'ö_' => 'é»', - 'ö`' => 'é¶', - 'öa' => 'é©', - 'öb' => 'é½', - 'öc' => 'é¼', - 'öd' => 'é°', - 'öe' => 'é¹', - 'öf' => 'éª', - 'ög' => 'é·', - 'öh' => 'é¬', - 'öi' => 'é‘€', - 'öj' => 'é±', - 'ök' => 'é—¥', - 'öl' => 'é—¤', - 'öm' => 'é—£', - 'ön' => '霵', - 'öo' => '霺', - 'öp' => 'éž¿', - 'öq' => '韡', - 'ör' => '顤', - 'ös' => '飉', - 'öt' => '飆', - 'öu' => '飀', - 'öv' => '饘', - 'öw' => '饖', - 'öx' => '騹', - 'öy' => '騽', - 'öz' => '驆', - 'ö{' => 'é©„', - 'ö|' => 'é©‚', - 'ö}' => 'é©', - 'ö~' => '騺', - 'ö¡' => '騿', - 'ö¢' => 'é«', - 'ö£' => '鬕', - 'ö¤' => '鬗', - 'ö¥' => '鬘', - 'ö¦' => '鬖', - 'ö§' => '鬺', - 'ö¨' => 'é­’', - 'ö©' => 'é°«', - 'öª' => 'é°', - 'ö«' => 'é°œ', - 'ö¬' => 'é°¬', - 'ö­' => 'é°£', - 'ö®' => 'é°¨', - 'ö¯' => 'é°©', - 'ö°' => 'é°¤', - 'ö±' => 'é°¡', - 'ö²' => '鶷', - 'ö³' => '鶶', - 'ö´' => '鶼', - 'öµ' => 'é·', - 'ö¶' => 'é·‡', - 'ö·' => 'é·Š', - 'ö¸' => 'é·', - 'ö¹' => '鶾', - 'öº' => 'é·…', - 'ö»' => 'é·ƒ', - 'ö¼' => '鶻', - 'ö½' => '鶵', - 'ö¾' => 'é·Ž', - 'ö¿' => '鶹', - 'öÀ' => '鶺', - 'öÁ' => '鶬', - 'öÂ' => 'é·ˆ', - 'öÃ' => '鶱', - 'öÄ' => '鶭', - 'öÅ' => 'é·Œ', - 'öÆ' => '鶳', - 'öÇ' => 'é·', - 'öÈ' => '鶲', - 'öÉ' => '鹺', - 'öÊ' => '麜', - 'öË' => '黫', - 'öÌ' => 'é»®', - 'öÍ' => 'é»­', - 'öÎ' => 'é¼›', - 'öÏ' => '鼘', - 'öÐ' => '鼚', - 'öÑ' => 'é¼±', - 'öÒ' => '齎', - 'öÓ' => 'é½¥', - 'öÔ' => '齤', - 'öÕ' => 'é¾’', - 'öÖ' => '亹', - 'ö×' => '囆', - 'öØ' => 'å›…', - 'öÙ' => '囋', - 'öÚ' => '奱', - 'öÛ' => 'å­‹', - 'öÜ' => 'å­Œ', - 'öÝ' => 'å·•', - 'öÞ' => 'å·‘', - 'öß' => '廲', - 'öà' => '攡', - 'öá' => 'æ” ', - 'öâ' => '攦', - 'öã' => '攢', - 'öä' => '欋', - 'öå' => '欈', - 'öæ' => '欉', - 'öç' => 'æ°', - 'öè' => 'ç•', - 'öé' => 'ç–', - 'öê' => 'ç—', - 'öë' => 'ç’', - 'öì' => '爞', - 'öí' => '爟', - 'öî' => '犩', - 'öï' => 'ç¿', - 'öð' => '瓘', - 'öñ' => 'ç“•', - 'öò' => 'ç“™', - 'öó' => 'ç“—', - 'öô' => 'ç™­', - 'öõ' => 'çš­', - 'öö' => '礵', - 'ö÷' => '禴', - 'öø' => 'ç©°', - 'öù' => '穱', - 'öú' => 'ç±—', - 'öû' => '籜', - 'öü' => 'ç±™', - 'öý' => 'ç±›', - 'öþ' => '籚', - '÷@' => 'ç³´', - '÷A' => 'ç³±', - '÷B' => '纑', - '÷C' => 'ç½', - '÷D' => '羇', - '÷E' => '臞', - '÷F' => '艫', - '÷G' => '蘴', - '÷H' => '蘵', - '÷I' => '蘳', - '÷J' => '蘬', - '÷K' => '蘲', - '÷L' => '蘶', - '÷M' => 'è ¬', - '÷N' => 'è ¨', - '÷O' => 'è ¦', - '÷P' => 'è ª', - '÷Q' => 'è ¥', - '÷R' => '襱', - '÷S' => '覿', - '÷T' => '覾', - '÷U' => '觻', - '÷V' => 'è­¾', - '÷W' => '讄', - '÷X' => '讂', - '÷Y' => '讆', - '÷Z' => 'è®…', - '÷[' => 'è­¿', - '÷\\' => 'è´•', - '÷]' => '躕', - '÷^' => '躔', - '÷_' => '躚', - '÷`' => '躒', - '÷a' => 'èº', - '÷b' => '躖', - '÷c' => '躗', - '÷d' => 'è½ ', - '÷e' => 'è½¢', - '÷f' => 'é…‡', - '÷g' => 'é‘Œ', - '÷h' => 'é‘', - '÷i' => 'é‘Š', - '÷j' => 'é‘‹', - '÷k' => 'é‘', - '÷l' => '鑇', - '÷m' => 'é‘…', - '÷n' => '鑈', - '÷o' => '鑉', - '÷p' => '鑆', - '÷q' => '霿', - '÷r' => '韣', - '÷s' => '顪', - '÷t' => 'é¡©', - '÷u' => '飋', - '÷v' => '饔', - '÷w' => '饛', - '÷x' => 'é©Ž', - '÷y' => 'é©“', - '÷z' => 'é©”', - '÷{' => 'é©Œ', - '÷|' => 'é©', - '÷}' => '驈', - '÷~' => 'é©Š', - '÷¡' => '驉', - '÷¢' => 'é©’', - '÷£' => 'é©', - '÷¤' => 'é«', - '÷¥' => '鬙', - '÷¦' => '鬫', - '÷§' => '鬻', - '÷¨' => 'é­–', - '÷©' => 'é­•', - '÷ª' => '鱆', - '÷«' => '鱈', - '÷¬' => 'é°¿', - '÷­' => '鱄', - '÷®' => 'é°¹', - '÷¯' => 'é°³', - '÷°' => 'é±', - '÷±' => 'é°¼', - '÷²' => 'é°·', - '÷³' => 'é°´', - '÷´' => 'é°²', - '÷µ' => 'é°½', - '÷¶' => 'é°¶', - '÷·' => 'é·›', - '÷¸' => 'é·’', - '÷¹' => 'é·ž', - '÷º' => 'é·š', - '÷»' => 'é·‹', - '÷¼' => 'é·', - '÷½' => 'é·œ', - '÷¾' => 'é·‘', - '÷¿' => 'é·Ÿ', - '÷À' => 'é·©', - '÷Á' => 'é·™', - '÷Â' => 'é·˜', - '÷Ã' => 'é·–', - '÷Ä' => 'é·µ', - '÷Å' => 'é·•', - '÷Æ' => 'é·', - '÷Ç' => '麶', - '÷È' => 'é»°', - '÷É' => 'é¼µ', - '÷Ê' => 'é¼³', - '÷Ë' => 'é¼²', - '÷Ì' => '齂', - '÷Í' => '齫', - '÷Î' => '龕', - '÷Ï' => 'é¾¢', - '÷Ð' => '儽', - '÷Ñ' => '劙', - '÷Ò' => '壨', - '÷Ó' => '壧', - '÷Ô' => '奲', - '÷Õ' => 'å­', - '÷Ö' => 'å·˜', - '÷×' => 'è ¯', - '÷Ø' => 'å½', - '÷Ù' => 'æˆ', - '÷Ú' => '戃', - '÷Û' => '戄', - '÷Ü' => '攩', - '÷Ý' => '攥', - '÷Þ' => 'æ––', - '÷ß' => '曫', - '÷à' => '欑', - '÷á' => '欒', - '÷â' => 'æ¬', - '÷ã' => '毊', - '÷ä' => 'ç›', - '÷å' => 'çš', - '÷æ' => '爢', - '÷ç' => '玂', - '÷è' => 'çŽ', - '÷é' => '玃', - '÷ê' => 'ç™°', - '÷ë' => '矔', - '÷ì' => '籧', - '÷í' => '籦', - '÷î' => '纕', - '÷ï' => '艬', - '÷ð' => '蘺', - '÷ñ' => '虀', - '÷ò' => '蘹', - '÷ó' => '蘼', - '÷ô' => '蘱', - '÷õ' => '蘻', - '÷ö' => '蘾', - '÷÷' => 'è °', - '÷ø' => 'è ²', - '÷ù' => 'è ®', - '÷ú' => 'è ³', - '÷û' => '襶', - '÷ü' => '襴', - '÷ý' => '襳', - '÷þ' => '觾', - 'ø@' => '讌', - 'øA' => '讎', - 'øB' => '讋', - 'øC' => '讈', - 'øD' => 'è±…', - 'øE' => 'è´™', - 'øF' => '躘', - 'øG' => '轤', - 'øH' => 'è½£', - 'øI' => '醼', - 'øJ' => 'é‘¢', - 'øK' => 'é‘•', - 'øL' => 'é‘', - 'øM' => 'é‘—', - 'øN' => 'é‘ž', - 'øO' => '韄', - 'øP' => '韅', - 'øQ' => 'é €', - 'øR' => 'é©–', - 'øS' => 'é©™', - 'øT' => '鬞', - 'øU' => '鬟', - 'øV' => '鬠', - 'øW' => 'é±’', - 'øX' => '鱘', - 'øY' => 'é±', - 'øZ' => '鱊', - 'ø[' => 'é±', - 'ø\\' => '鱋', - 'ø]' => '鱕', - 'ø^' => 'é±™', - 'ø_' => '鱌', - 'ø`' => '鱎', - 'øa' => 'é·»', - 'øb' => 'é··', - 'øc' => 'é·¯', - 'ød' => 'é·£', - 'øe' => 'é·«', - 'øf' => 'é·¸', - 'øg' => 'é·¤', - 'øh' => 'é·¶', - 'øi' => 'é·¡', - 'øj' => 'é·®', - 'øk' => 'é·¦', - 'øl' => 'é·²', - 'øm' => 'é·°', - 'øn' => 'é·¢', - 'øo' => 'é·¬', - 'øp' => 'é·´', - 'øq' => 'é·³', - 'ør' => 'é·¨', - 'øs' => 'é·­', - 'øt' => '黂', - 'øu' => 'é»', - 'øv' => '黲', - 'øw' => '黳', - 'øx' => '鼆', - 'øy' => '鼜', - 'øz' => '鼸', - 'ø{' => 'é¼·', - 'ø|' => '鼶', - 'ø}' => '齃', - 'ø~' => 'é½', - 'ø¡' => 'é½±', - 'ø¢' => 'é½°', - 'ø£' => 'é½®', - 'ø¤' => '齯', - 'ø¥' => '囓', - 'ø¦' => 'å›', - 'ø§' => 'å­Ž', - 'ø¨' => 'å±­', - 'ø©' => 'æ”­', - 'øª' => 'æ›­', - 'ø«' => 'æ›®', - 'ø¬' => '欓', - 'ø­' => 'çŸ', - 'ø®' => 'ç¡', - 'ø¯' => 'ç', - 'ø°' => 'ç ', - 'ø±' => '爣', - 'ø²' => 'ç“›', - 'ø³' => 'ç“¥', - 'ø´' => '矕', - 'øµ' => '礸', - 'ø¶' => '禷', - 'ø·' => '禶', - 'ø¸' => '籪', - 'ø¹' => '纗', - 'øº' => '羉', - 'ø»' => '艭', - 'ø¼' => '虃', - 'ø½' => 'è ¸', - 'ø¾' => 'è ·', - 'ø¿' => 'è µ', - 'øÀ' => 'è¡‹', - 'øÁ' => 'è®”', - 'øÂ' => '讕', - 'øÃ' => '躞', - 'øÄ' => '躟', - 'øÅ' => '躠', - 'øÆ' => 'èº', - 'øÇ' => '醾', - 'øÈ' => '醽', - 'øÉ' => '釂', - 'øÊ' => 'é‘«', - 'øË' => '鑨', - 'øÌ' => 'é‘©', - 'øÍ' => '雥', - 'øÎ' => 'é†', - 'øÏ' => 'éƒ', - 'øÐ' => 'é‡', - 'øÑ' => '韇', - 'øÒ' => '韥', - 'øÓ' => 'é©ž', - 'øÔ' => 'é«•', - 'øÕ' => 'é­™', - 'øÖ' => 'é±£', - 'ø×' => '鱧', - 'øØ' => '鱦', - 'øÙ' => 'é±¢', - 'øÚ' => '鱞', - 'øÛ' => 'é± ', - 'øÜ' => '鸂', - 'øÝ' => 'é·¾', - 'øÞ' => '鸇', - 'øß' => '鸃', - 'øà' => '鸆', - 'øá' => '鸅', - 'øâ' => '鸀', - 'øã' => 'é¸', - 'øä' => '鸉', - 'øå' => 'é·¿', - 'øæ' => 'é·½', - 'øç' => '鸄', - 'øè' => '麠', - 'øé' => '鼞', - 'øê' => '齆', - 'øë' => 'é½´', - 'øì' => 'é½µ', - 'øí' => '齶', - 'øî' => 'å›”', - 'øï' => 'æ”®', - 'øð' => 'æ–¸', - 'øñ' => '欘', - 'øò' => '欙', - 'øó' => '欗', - 'øô' => '欚', - 'øõ' => 'ç¢', - 'øö' => '爦', - 'ø÷' => '犪', - 'øø' => '矘', - 'øù' => '矙', - 'øú' => '礹', - 'øû' => '籩', - 'øü' => '籫', - 'øý' => '糶', - 'øþ' => '纚', - 'ù@' => '纘', - 'ùA' => '纛', - 'ùB' => '纙', - 'ùC' => '臠', - 'ùD' => '臡', - 'ùE' => '虆', - 'ùF' => '虇', - 'ùG' => '虈', - 'ùH' => '襹', - 'ùI' => '襺', - 'ùJ' => '襼', - 'ùK' => '襻', - 'ùL' => '觿', - 'ùM' => '讘', - 'ùN' => 'è®™', - 'ùO' => '躥', - 'ùP' => '躤', - 'ùQ' => '躣', - 'ùR' => 'é‘®', - 'ùS' => 'é‘­', - 'ùT' => '鑯', - 'ùU' => '鑱', - 'ùV' => '鑳', - 'ùW' => 'é‰', - 'ùX' => '顲', - 'ùY' => '饟', - 'ùZ' => '鱨', - 'ù[' => 'é±®', - 'ù\\' => 'é±­', - 'ù]' => '鸋', - 'ù^' => 'é¸', - 'ù_' => 'é¸', - 'ù`' => 'é¸', - 'ùa' => '鸒', - 'ùb' => '鸑', - 'ùc' => '麡', - 'ùd' => '黵', - 'ùe' => '鼉', - 'ùf' => '齇', - 'ùg' => '齸', - 'ùh' => 'é½»', - 'ùi' => '齺', - 'ùj' => 'é½¹', - 'ùk' => '圞', - 'ùl' => 'ç¦', - 'ùm' => '籯', - 'ùn' => 'è ¼', - 'ùo' => '趲', - 'ùp' => '躦', - 'ùq' => '釃', - 'ùr' => 'é‘´', - 'ùs' => '鑸', - 'ùt' => '鑶', - 'ùu' => '鑵', - 'ùv' => 'é© ', - 'ùw' => 'é±´', - 'ùx' => 'é±³', - 'ùy' => 'é±±', - 'ùz' => 'é±µ', - 'ù{' => '鸔', - 'ù|' => '鸓', - 'ù}' => '黶', - 'ù~' => '鼊', - 'ù¡' => '龤', - 'ù¢' => 'ç¨', - 'ù£' => 'ç¥', - 'ù¤' => 'ç³·', - 'ù¥' => '虪', - 'ù¦' => 'è ¾', - 'ù§' => 'è ½', - 'ù¨' => 'è ¿', - 'ù©' => '讞', - 'ùª' => '貜', - 'ù«' => '躩', - 'ù¬' => '軉', - 'ù­' => 'é‹', - 'ù®' => '顳', - 'ù¯' => 'é¡´', - 'ù°' => '飌', - 'ù±' => '饡', - 'ù²' => '馫', - 'ù³' => '驤', - 'ù´' => '驦', - 'ùµ' => '驧', - 'ù¶' => '鬤', - 'ù·' => '鸕', - 'ù¸' => '鸗', - 'ù¹' => '齈', - 'ùº' => '戇', - 'ù»' => '欞', - 'ù¼' => '爧', - 'ù½' => '虌', - 'ù¾' => '躨', - 'ù¿' => 'é’‚', - 'ùÀ' => 'é’€', - 'ùÁ' => 'é’', - 'ùÂ' => 'é©©', - 'ùÃ' => '驨', - 'ùÄ' => '鬮', - 'ùÅ' => '鸙', - 'ùÆ' => '爩', - 'ùÇ' => '虋', - 'ùÈ' => '讟', - 'ùÉ' => 'é’ƒ', - 'ùÊ' => 'é±¹', - 'ùË' => '麷', - 'ùÌ' => '癵', - 'ùÍ' => 'é©«', - 'ùÎ' => '鱺', - 'ùÏ' => 'é¸', - 'ùÐ' => 'ç©', - 'ùÑ' => 'çª', - 'ùÒ' => '麤', - 'ùÓ' => 'é½¾', - 'ùÔ' => '齉', - 'ùÕ' => '龘', -); - -$result =& $data; -unset($data); - -return $result; diff --git a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.cp037.php b/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.cp037.php deleted file mode 100644 index a014e4b..0000000 Binary files a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.cp037.php and /dev/null differ diff --git a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.cp1006.php b/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.cp1006.php deleted file mode 100644 index 2b5e7be..0000000 Binary files a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.cp1006.php and /dev/null differ diff --git a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.cp1026.php b/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.cp1026.php deleted file mode 100644 index aba455b..0000000 Binary files a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.cp1026.php and /dev/null differ diff --git a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.cp424.php b/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.cp424.php deleted file mode 100644 index e8e2370..0000000 Binary files a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.cp424.php and /dev/null differ diff --git a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.cp437.php b/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.cp437.php deleted file mode 100644 index e3ebb45..0000000 Binary files a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.cp437.php and /dev/null differ diff --git a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.cp500.php b/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.cp500.php deleted file mode 100644 index 3771c8f..0000000 Binary files a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.cp500.php and /dev/null differ diff --git a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.cp737.php b/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.cp737.php deleted file mode 100644 index 2d67d33..0000000 Binary files a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.cp737.php and /dev/null differ diff --git a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.cp775.php b/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.cp775.php deleted file mode 100644 index 1fbc4cd..0000000 Binary files a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.cp775.php and /dev/null differ diff --git a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.cp850.php b/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.cp850.php deleted file mode 100644 index 0b314c8..0000000 Binary files a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.cp850.php and /dev/null differ diff --git a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.cp852.php b/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.cp852.php deleted file mode 100644 index f8c318c..0000000 Binary files a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.cp852.php and /dev/null differ diff --git a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.cp855.php b/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.cp855.php deleted file mode 100644 index 48440ba..0000000 Binary files a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.cp855.php and /dev/null differ diff --git a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.cp856.php b/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.cp856.php deleted file mode 100644 index c9cac0c..0000000 Binary files a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.cp856.php and /dev/null differ diff --git a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.cp857.php b/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.cp857.php deleted file mode 100644 index 3e7770a..0000000 Binary files a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.cp857.php and /dev/null differ diff --git a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.cp860.php b/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.cp860.php deleted file mode 100644 index 2a52d47..0000000 Binary files a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.cp860.php and /dev/null differ diff --git a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.cp861.php b/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.cp861.php deleted file mode 100644 index 4ba6573..0000000 Binary files a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.cp861.php and /dev/null differ diff --git a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.cp862.php b/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.cp862.php deleted file mode 100644 index d2a29a2..0000000 Binary files a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.cp862.php and /dev/null differ diff --git a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.cp863.php b/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.cp863.php deleted file mode 100644 index 1f36b9a..0000000 Binary files a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.cp863.php and /dev/null differ diff --git a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.cp864.php b/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.cp864.php deleted file mode 100644 index 953e463..0000000 Binary files a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.cp864.php and /dev/null differ diff --git a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.cp865.php b/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.cp865.php deleted file mode 100644 index 2668bcc..0000000 Binary files a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.cp865.php and /dev/null differ diff --git a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.cp866.php b/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.cp866.php deleted file mode 100644 index a7b47f8..0000000 Binary files a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.cp866.php and /dev/null differ diff --git a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.cp869.php b/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.cp869.php deleted file mode 100644 index 0f04054..0000000 Binary files a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.cp869.php and /dev/null differ diff --git a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.cp874.php b/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.cp874.php deleted file mode 100644 index 4799456..0000000 Binary files a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.cp874.php and /dev/null differ diff --git a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.cp875.php b/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.cp875.php deleted file mode 100644 index 8561645..0000000 Binary files a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.cp875.php and /dev/null differ diff --git a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.cp932.php b/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.cp932.php deleted file mode 100644 index 0bf828f..0000000 Binary files a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.cp932.php and /dev/null differ diff --git a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.cp936.php b/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.cp936.php deleted file mode 100644 index a593d05..0000000 Binary files a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.cp936.php and /dev/null differ diff --git a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.cp949.php b/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.cp949.php deleted file mode 100644 index d4e99f1..0000000 Binary files a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.cp949.php and /dev/null differ diff --git a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.cp950.php b/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.cp950.php deleted file mode 100644 index 267b190..0000000 Binary files a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.cp950.php and /dev/null differ diff --git a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-1.php b/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-1.php deleted file mode 100644 index d7a217c..0000000 Binary files a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-1.php and /dev/null differ diff --git a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-10.php b/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-10.php deleted file mode 100644 index d60f647..0000000 Binary files a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-10.php and /dev/null differ diff --git a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-11.php b/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-11.php deleted file mode 100644 index d69220b..0000000 Binary files a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-11.php and /dev/null differ diff --git a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-13.php b/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-13.php deleted file mode 100644 index 838783f..0000000 Binary files a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-13.php and /dev/null differ diff --git a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-14.php b/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-14.php deleted file mode 100644 index 65a48ee..0000000 Binary files a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-14.php and /dev/null differ diff --git a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-15.php b/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-15.php deleted file mode 100644 index 42e50e0..0000000 Binary files a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-15.php and /dev/null differ diff --git a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-16.php b/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-16.php deleted file mode 100644 index 46758a6..0000000 Binary files a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-16.php and /dev/null differ diff --git a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-2.php b/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-2.php deleted file mode 100644 index 5f23f51..0000000 Binary files a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-2.php and /dev/null differ diff --git a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-3.php b/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-3.php deleted file mode 100644 index b31bb83..0000000 Binary files a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-3.php and /dev/null differ diff --git a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-4.php b/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-4.php deleted file mode 100644 index 9cbf9f3..0000000 Binary files a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-4.php and /dev/null differ diff --git a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-5.php b/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-5.php deleted file mode 100644 index fd03882..0000000 Binary files a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-5.php and /dev/null differ diff --git a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-6.php b/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-6.php deleted file mode 100644 index ed6f72f..0000000 Binary files a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-6.php and /dev/null differ diff --git a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-7.php b/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-7.php deleted file mode 100644 index cf723ac..0000000 Binary files a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-7.php and /dev/null differ diff --git a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-8.php b/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-8.php deleted file mode 100644 index c978731..0000000 Binary files a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-8.php and /dev/null differ diff --git a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-9.php b/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-9.php deleted file mode 100644 index 2a3e36a..0000000 Binary files a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-9.php and /dev/null differ diff --git a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.koi8-r.php b/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.koi8-r.php deleted file mode 100644 index d83c212..0000000 Binary files a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.koi8-r.php and /dev/null differ diff --git a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.koi8-u.php b/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.koi8-u.php deleted file mode 100644 index dbbf96b..0000000 Binary files a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.koi8-u.php and /dev/null differ diff --git a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.us-ascii.php b/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.us-ascii.php deleted file mode 100644 index 94a93b2..0000000 Binary files a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.us-ascii.php and /dev/null differ diff --git a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.windows-1250.php b/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.windows-1250.php deleted file mode 100644 index d1d5e6f..0000000 Binary files a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.windows-1250.php and /dev/null differ diff --git a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.windows-1251.php b/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.windows-1251.php deleted file mode 100644 index f422a71..0000000 Binary files a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.windows-1251.php and /dev/null differ diff --git a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.windows-1252.php b/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.windows-1252.php deleted file mode 100644 index ba6d203..0000000 Binary files a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.windows-1252.php and /dev/null differ diff --git a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.windows-1253.php b/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.windows-1253.php deleted file mode 100644 index c04dc8f..0000000 Binary files a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.windows-1253.php and /dev/null differ diff --git a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.windows-1254.php b/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.windows-1254.php deleted file mode 100644 index 1cfadcf..0000000 Binary files a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.windows-1254.php and /dev/null differ diff --git a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.windows-1255.php b/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.windows-1255.php deleted file mode 100644 index f73cbb6..0000000 Binary files a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.windows-1255.php and /dev/null differ diff --git a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.windows-1256.php b/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.windows-1256.php deleted file mode 100644 index 953704f..0000000 Binary files a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.windows-1256.php and /dev/null differ diff --git a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.windows-1257.php b/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.windows-1257.php deleted file mode 100644 index 78580ec..0000000 Binary files a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.windows-1257.php and /dev/null differ diff --git a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.windows-1258.php b/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.windows-1258.php deleted file mode 100644 index de1609d..0000000 Binary files a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/from.windows-1258.php and /dev/null differ diff --git a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/translit.php b/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/translit.php deleted file mode 100644 index 829ea12..0000000 --- a/paragonik-backend/vendor/symfony/polyfill-iconv/Resources/charset/translit.php +++ /dev/null @@ -1,3969 +0,0 @@ - 'μ', - '¼' => ' 1â„4 ', - '½' => ' 1â„2 ', - '¾' => ' 3â„4 ', - 'IJ' => 'IJ', - 'ij' => 'ij', - 'Ä¿' => 'L·', - 'Å€' => 'l·', - 'ʼn' => 'ʼn', - 'Å¿' => 's', - 'Ç„' => 'DŽ', - 'Ç…' => 'Dž', - 'dž' => 'dž', - 'LJ' => 'LJ', - 'Lj' => 'Lj', - 'lj' => 'lj', - 'ÇŠ' => 'NJ', - 'Ç‹' => 'Nj', - 'ÇŒ' => 'nj', - 'DZ' => 'DZ', - 'Dz' => 'Dz', - 'dz' => 'dz', - 'Ï' => 'β', - 'Ï‘' => 'θ', - 'Ï’' => 'Î¥', - 'Ï•' => 'φ', - 'Ï–' => 'Ï€', - 'Ï°' => 'κ', - 'ϱ' => 'Ï', - 'ϲ' => 'Ï‚', - 'Ï´' => 'Θ', - 'ϵ' => 'ε', - 'Ϲ' => 'Σ', - 'Ö‡' => 'Õ¥Ö‚', - 'Ùµ' => 'اٴ', - 'Ù¶' => 'وٴ', - 'Ù·' => 'Û‡Ù´', - 'Ù¸' => 'يٴ', - 'ำ' => 'à¹à¸²', - 'ຳ' => 'à»àº²', - 'ໜ' => 'ຫນ', - 'à»' => 'ຫມ', - 'ཷ' => 'ྲà¾', - 'ཹ' => 'ླà¾', - 'ẚ' => 'aʾ', - '․' => '.', - '‥' => '..', - '…' => '...', - '″' => '′′', - '‴' => '′′′', - '‶' => '‵‵', - '‷' => '‵‵‵', - '‼' => '!!', - 'â‡' => '??', - 'âˆ' => '?!', - 'â‰' => '!?', - 'â—' => '′′′′', - '₨' => 'Rs', - 'â„€' => 'a/c', - 'â„' => 'a/s', - 'â„‚' => 'C', - '℃' => '°C', - 'â„…' => 'c/o', - '℆' => 'c/u', - 'ℇ' => 'Æ', - '℉' => '°F', - 'â„Š' => 'g', - 'â„‹' => 'H', - 'â„Œ' => 'H', - 'â„' => 'H', - 'â„Ž' => 'h', - 'â„' => 'ħ', - 'â„' => 'I', - 'â„‘' => 'I', - 'â„’' => 'L', - 'â„“' => 'l', - 'â„•' => 'N', - 'â„–' => 'No', - 'â„™' => 'P', - 'â„š' => 'Q', - 'â„›' => 'R', - 'â„œ' => 'R', - 'â„' => 'R', - 'â„¡' => 'TEL', - 'ℤ' => 'Z', - 'ℨ' => 'Z', - 'ℬ' => 'B', - 'â„­' => 'C', - 'ℯ' => 'e', - 'â„°' => 'E', - 'ℱ' => 'F', - 'ℳ' => 'M', - 'â„´' => 'o', - 'ℵ' => '×', - 'ℶ' => 'ב', - 'â„·' => '×’', - 'ℸ' => 'ד', - 'ℹ' => 'i', - 'â„»' => 'FAX', - 'ℼ' => 'Ï€', - 'ℽ' => 'γ', - 'ℾ' => 'Γ', - 'â„¿' => 'Π', - 'â…€' => '∑', - 'â……' => 'D', - 'â…†' => 'd', - 'â…‡' => 'e', - 'â…ˆ' => 'i', - 'â…‰' => 'j', - 'â…' => ' 1â„7 ', - 'â…‘' => ' 1â„9 ', - 'â…’' => ' 1â„10 ', - 'â…“' => ' 1â„3 ', - 'â…”' => ' 2â„3 ', - 'â…•' => ' 1â„5 ', - 'â…–' => ' 2â„5 ', - 'â…—' => ' 3â„5 ', - 'â…˜' => ' 4â„5 ', - 'â…™' => ' 1â„6 ', - 'â…š' => ' 5â„6 ', - 'â…›' => ' 1â„8 ', - 'â…œ' => ' 3â„8 ', - 'â…' => ' 5â„8 ', - 'â…ž' => ' 7â„8 ', - 'â…Ÿ' => ' 1â„ ', - 'â… ' => 'I', - 'â…¡' => 'II', - 'â…¢' => 'III', - 'â…£' => 'IV', - 'â…¤' => 'V', - 'â…¥' => 'VI', - 'â…¦' => 'VII', - 'â…§' => 'VIII', - 'â…¨' => 'IX', - 'â…©' => 'X', - 'â…ª' => 'XI', - 'â…«' => 'XII', - 'â…¬' => 'L', - 'â…­' => 'C', - 'â…®' => 'D', - 'â…¯' => 'M', - 'â…°' => 'i', - 'â…±' => 'ii', - 'â…²' => 'iii', - 'â…³' => 'iv', - 'â…´' => 'v', - 'â…µ' => 'vi', - 'â…¶' => 'vii', - 'â…·' => 'viii', - 'â…¸' => 'ix', - 'â…¹' => 'x', - 'â…º' => 'xi', - 'â…»' => 'xii', - 'â…¼' => 'l', - 'â…½' => 'c', - 'â…¾' => 'd', - 'â…¿' => 'm', - '↉' => ' 0â„3 ', - '∬' => '∫∫', - '∭' => '∫∫∫', - '∯' => '∮∮', - '∰' => '∮∮∮', - 'â‘ ' => '(1)', - 'â‘¡' => '(2)', - 'â‘¢' => '(3)', - 'â‘£' => '(4)', - '⑤' => '(5)', - 'â‘¥' => '(6)', - '⑦' => '(7)', - '⑧' => '(8)', - '⑨' => '(9)', - 'â‘©' => '(10)', - '⑪' => '(11)', - 'â‘«' => '(12)', - '⑬' => '(13)', - 'â‘­' => '(14)', - 'â‘®' => '(15)', - '⑯' => '(16)', - 'â‘°' => '(17)', - '⑱' => '(18)', - '⑲' => '(19)', - '⑳' => '(20)', - 'â‘´' => '(1)', - '⑵' => '(2)', - '⑶' => '(3)', - 'â‘·' => '(4)', - '⑸' => '(5)', - '⑹' => '(6)', - '⑺' => '(7)', - 'â‘»' => '(8)', - '⑼' => '(9)', - '⑽' => '(10)', - '⑾' => '(11)', - 'â‘¿' => '(12)', - 'â’€' => '(13)', - 'â’' => '(14)', - 'â’‚' => '(15)', - 'â’ƒ' => '(16)', - 'â’„' => '(17)', - 'â’…' => '(18)', - 'â’†' => '(19)', - 'â’‡' => '(20)', - 'â’ˆ' => '1.', - 'â’‰' => '2.', - 'â’Š' => '3.', - 'â’‹' => '4.', - 'â’Œ' => '5.', - 'â’' => '6.', - 'â’Ž' => '7.', - 'â’' => '8.', - 'â’' => '9.', - 'â’‘' => '10.', - 'â’’' => '11.', - 'â’“' => '12.', - 'â’”' => '13.', - 'â’•' => '14.', - 'â’–' => '15.', - 'â’—' => '16.', - 'â’˜' => '17.', - 'â’™' => '18.', - 'â’š' => '19.', - 'â’›' => '20.', - 'â’œ' => '(a)', - 'â’' => '(b)', - 'â’ž' => '(c)', - 'â’Ÿ' => '(d)', - 'â’ ' => '(e)', - 'â’¡' => '(f)', - 'â’¢' => '(g)', - 'â’£' => '(h)', - 'â’¤' => '(i)', - 'â’¥' => '(j)', - 'â’¦' => '(k)', - 'â’§' => '(l)', - 'â’¨' => '(m)', - 'â’©' => '(n)', - 'â’ª' => '(o)', - 'â’«' => '(p)', - 'â’¬' => '(q)', - 'â’­' => '(r)', - 'â’®' => '(s)', - 'â’¯' => '(t)', - 'â’°' => '(u)', - 'â’±' => '(v)', - 'â’²' => '(w)', - 'â’³' => '(x)', - 'â’´' => '(y)', - 'â’µ' => '(z)', - 'â’¶' => '(A)', - 'â’·' => '(B)', - 'â’¸' => '(C)', - 'â’¹' => '(D)', - 'â’º' => '(E)', - 'â’»' => '(F)', - 'â’¼' => '(G)', - 'â’½' => '(H)', - 'â’¾' => '(I)', - 'â’¿' => '(J)', - 'â“€' => '(K)', - 'â“' => '(L)', - 'â“‚' => '(M)', - 'Ⓝ' => '(N)', - 'â“„' => '(O)', - 'â“…' => '(P)', - 'Ⓠ' => '(Q)', - 'Ⓡ' => '(R)', - 'Ⓢ' => '(S)', - 'Ⓣ' => '(T)', - 'â“Š' => '(U)', - 'â“‹' => '(V)', - 'â“Œ' => '(W)', - 'â“' => '(X)', - 'â“Ž' => '(Y)', - 'â“' => '(Z)', - 'â“' => '(a)', - 'â“‘' => '(b)', - 'â“’' => '(c)', - 'â““' => '(d)', - 'â“”' => '(e)', - 'â“•' => '(f)', - 'â“–' => '(g)', - 'â“—' => '(h)', - 'ⓘ' => '(i)', - 'â“™' => '(j)', - 'â“š' => '(k)', - 'â“›' => '(l)', - 'â“œ' => '(m)', - 'â“' => '(n)', - 'â“ž' => '(o)', - 'â“Ÿ' => '(p)', - 'â“ ' => '(q)', - 'â“¡' => '(r)', - 'â“¢' => '(s)', - 'â“£' => '(t)', - 'ⓤ' => '(u)', - 'â“¥' => '(v)', - 'ⓦ' => '(w)', - 'ⓧ' => '(x)', - 'ⓨ' => '(y)', - 'â“©' => '(z)', - '⓪' => '(0)', - '⨌' => '∫∫∫∫', - 'â©´' => '::=', - '⩵' => '==', - '⩶' => '===', - '⺟' => 'æ¯', - '⻳' => '龟', - 'â¼€' => '一', - 'â¼' => '丨', - '⼂' => '丶', - '⼃' => '丿', - '⼄' => 'ä¹™', - 'â¼…' => '亅', - '⼆' => '二', - '⼇' => '亠', - '⼈' => '人', - '⼉' => 'å„¿', - '⼊' => 'å…¥', - '⼋' => 'å…«', - '⼌' => '冂', - 'â¼' => '冖', - '⼎' => '冫', - 'â¼' => '几', - 'â¼' => '凵', - '⼑' => '刀', - 'â¼’' => '力', - '⼓' => '勹', - 'â¼”' => '匕', - '⼕' => '匚', - 'â¼–' => '匸', - 'â¼—' => 'å', - '⼘' => 'åœ', - 'â¼™' => 'å©', - '⼚' => '厂', - 'â¼›' => '厶', - '⼜' => 'åˆ', - 'â¼' => 'å£', - '⼞' => 'å›—', - '⼟' => '土', - 'â¼ ' => '士', - '⼡' => '夂', - 'â¼¢' => '夊', - 'â¼£' => '夕', - '⼤' => '大', - 'â¼¥' => '女', - '⼦' => 'å­', - '⼧' => '宀', - '⼨' => '寸', - '⼩' => 'å°', - '⼪' => 'å°¢', - '⼫' => 'å°¸', - '⼬' => 'å±®', - 'â¼­' => 'å±±', - 'â¼®' => 'å·›', - '⼯' => 'å·¥', - 'â¼°' => 'å·±', - 'â¼±' => 'å·¾', - 'â¼²' => 'å¹²', - 'â¼³' => '幺', - 'â¼´' => '广', - 'â¼µ' => 'å»´', - '⼶' => '廾', - 'â¼·' => '弋', - '⼸' => '弓', - 'â¼¹' => 'å½', - '⼺' => '彡', - 'â¼»' => 'å½³', - 'â¼¼' => '心', - 'â¼½' => '戈', - 'â¼¾' => '戶', - '⼿' => '手', - 'â½€' => '支', - 'â½' => 'æ”´', - '⽂' => 'æ–‡', - '⽃' => 'æ–—', - '⽄' => 'æ–¤', - 'â½…' => 'æ–¹', - '⽆' => 'æ— ', - '⽇' => 'æ—¥', - '⽈' => 'æ›°', - '⽉' => '月', - '⽊' => '木', - '⽋' => '欠', - '⽌' => 'æ­¢', - 'â½' => 'æ­¹', - '⽎' => '殳', - 'â½' => '毋', - 'â½' => '比', - '⽑' => '毛', - 'â½’' => 'æ°', - '⽓' => 'æ°”', - 'â½”' => 'æ°´', - '⽕' => 'ç«', - 'â½–' => '爪', - 'â½—' => '父', - '⽘' => '爻', - 'â½™' => '爿', - '⽚' => '片', - 'â½›' => '牙', - '⽜' => '牛', - 'â½' => '犬', - '⽞' => '玄', - '⽟' => '玉', - 'â½ ' => 'ç“œ', - '⽡' => '瓦', - 'â½¢' => '甘', - 'â½£' => '生', - '⽤' => '用', - 'â½¥' => 'ç”°', - '⽦' => 'ç–‹', - '⽧' => 'ç–’', - '⽨' => '癶', - '⽩' => '白', - '⽪' => 'çš®', - '⽫' => 'çš¿', - '⽬' => 'ç›®', - 'â½­' => '矛', - 'â½®' => '矢', - '⽯' => '石', - 'â½°' => '示', - 'â½±' => '禸', - 'â½²' => '禾', - 'â½³' => 'ç©´', - 'â½´' => 'ç«‹', - 'â½µ' => '竹', - '⽶' => 'ç±³', - 'â½·' => '糸', - '⽸' => '缶', - 'â½¹' => '网', - '⽺' => '羊', - 'â½»' => 'ç¾½', - 'â½¼' => 'è€', - 'â½½' => '而', - 'â½¾' => '耒', - '⽿' => '耳', - 'â¾€' => 'è¿', - 'â¾' => '肉', - '⾂' => '臣', - '⾃' => '自', - '⾄' => '至', - 'â¾…' => '臼', - '⾆' => '舌', - '⾇' => '舛', - '⾈' => '舟', - '⾉' => '艮', - '⾊' => '色', - '⾋' => '艸', - '⾌' => 'è™', - 'â¾' => '虫', - '⾎' => 'è¡€', - 'â¾' => 'è¡Œ', - 'â¾' => 'è¡£', - '⾑' => '襾', - 'â¾’' => '見', - '⾓' => '角', - 'â¾”' => '言', - '⾕' => 'è°·', - 'â¾–' => '豆', - 'â¾—' => '豕', - '⾘' => '豸', - 'â¾™' => 'è²', - '⾚' => '赤', - 'â¾›' => 'èµ°', - '⾜' => '足', - 'â¾' => '身', - '⾞' => '車', - '⾟' => 'è¾›', - 'â¾ ' => 'è¾°', - '⾡' => 'è¾µ', - 'â¾¢' => 'é‚‘', - 'â¾£' => 'é…‰', - '⾤' => '釆', - 'â¾¥' => '里', - '⾦' => '金', - '⾧' => 'é•·', - '⾨' => 'é–€', - '⾩' => '阜', - '⾪' => '隶', - '⾫' => 'éš¹', - '⾬' => '雨', - 'â¾­' => 'é‘', - 'â¾®' => 'éž', - '⾯' => 'é¢', - 'â¾°' => 'é©', - 'â¾±' => '韋', - 'â¾²' => '韭', - 'â¾³' => '音', - 'â¾´' => 'é ', - 'â¾µ' => '風', - '⾶' => '飛', - 'â¾·' => '食', - '⾸' => '首', - 'â¾¹' => '香', - '⾺' => '馬', - 'â¾»' => '骨', - 'â¾¼' => '高', - 'â¾½' => 'é«Ÿ', - 'â¾¾' => '鬥', - '⾿' => '鬯', - 'â¿€' => '鬲', - 'â¿' => '鬼', - 'â¿‚' => 'é­š', - '⿃' => 'é³¥', - 'â¿„' => 'é¹µ', - 'â¿…' => '鹿', - '⿆' => '麥', - '⿇' => '麻', - '⿈' => '黃', - '⿉' => 'é»', - 'â¿Š' => '黑', - 'â¿‹' => '黹', - 'â¿Œ' => '黽', - 'â¿' => '鼎', - 'â¿Ž' => '鼓', - 'â¿' => 'é¼ ', - 'â¿' => 'é¼»', - 'â¿‘' => '齊', - 'â¿’' => 'é½’', - 'â¿“' => 'é¾', - 'â¿”' => '龜', - 'â¿•' => 'é¾ ', - ' ' => ' ', - '〶' => '〒', - '〸' => 'å', - '〹' => 'å„', - '〺' => 'å…', - 'ㄱ' => 'á„€', - 'ㄲ' => 'á„', - 'ㄳ' => 'ᆪ', - 'ã„´' => 'á„‚', - 'ㄵ' => 'ᆬ', - 'ㄶ' => 'ᆭ', - 'ã„·' => 'ᄃ', - 'ㄸ' => 'á„„', - 'ㄹ' => 'á„…', - 'ㄺ' => 'ᆰ', - 'ã„»' => 'ᆱ', - 'ㄼ' => 'ᆲ', - 'ㄽ' => 'ᆳ', - 'ㄾ' => 'ᆴ', - 'ã„¿' => 'ᆵ', - 'ã…€' => 'á„š', - 'ã…' => 'ᄆ', - 'ã…‚' => 'ᄇ', - 'ã…ƒ' => 'ᄈ', - 'ã…„' => 'á„¡', - 'ã……' => 'ᄉ', - 'ã…†' => 'á„Š', - 'ã…‡' => 'á„‹', - 'ã…ˆ' => 'á„Œ', - 'ã…‰' => 'á„', - 'ã…Š' => 'á„Ž', - 'ã…‹' => 'á„', - 'ã…Œ' => 'á„', - 'ã…' => 'á„‘', - 'ã…Ž' => 'á„’', - 'ã…' => 'á…¡', - 'ã…' => 'á…¢', - 'ã…‘' => 'á…£', - 'ã…’' => 'á…¤', - 'ã…“' => 'á…¥', - 'ã…”' => 'á…¦', - 'ã…•' => 'á…§', - 'ã…–' => 'á…¨', - 'ã…—' => 'á…©', - 'ã…˜' => 'á…ª', - 'ã…™' => 'á…«', - 'ã…š' => 'á…¬', - 'ã…›' => 'á…­', - 'ã…œ' => 'á…®', - 'ã…' => 'á…¯', - 'ã…ž' => 'á…°', - 'ã…Ÿ' => 'á…±', - 'ã… ' => 'á…²', - 'ã…¡' => 'á…³', - 'ã…¢' => 'á…´', - 'ã…£' => 'á…µ', - 'ã…¤' => 'á… ', - 'ã…¥' => 'á„”', - 'ã…¦' => 'á„•', - 'ã…§' => 'ᇇ', - 'ã…¨' => 'ᇈ', - 'ã…©' => 'ᇌ', - 'ã…ª' => 'ᇎ', - 'ã…«' => 'ᇓ', - 'ã…¬' => 'ᇗ', - 'ã…­' => 'ᇙ', - 'ã…®' => 'á„œ', - 'ã…¯' => 'á‡', - 'ã…°' => 'ᇟ', - 'ã…±' => 'á„', - 'ã…²' => 'á„ž', - 'ã…³' => 'á„ ', - 'ã…´' => 'á„¢', - 'ã…µ' => 'á„£', - 'ã…¶' => 'ᄧ', - 'ã…·' => 'á„©', - 'ã…¸' => 'á„«', - 'ã…¹' => 'ᄬ', - 'ã…º' => 'á„­', - 'ã…»' => 'á„®', - 'ã…¼' => 'ᄯ', - 'ã…½' => 'ᄲ', - 'ã…¾' => 'ᄶ', - 'ã…¿' => 'á…€', - 'ㆀ' => 'á…‡', - 'ã†' => 'á…Œ', - 'ㆂ' => 'ᇱ', - 'ㆃ' => 'ᇲ', - 'ㆄ' => 'á…—', - 'ㆅ' => 'á…˜', - 'ㆆ' => 'á…™', - 'ㆇ' => 'ᆄ', - 'ㆈ' => 'ᆅ', - 'ㆉ' => 'ᆈ', - 'ㆊ' => 'ᆑ', - 'ㆋ' => 'ᆒ', - 'ㆌ' => 'ᆔ', - 'ã†' => 'ᆞ', - 'ㆎ' => 'ᆡ', - '㈀' => '(á„€)', - 'ãˆ' => '(á„‚)', - '㈂' => '(ᄃ)', - '㈃' => '(á„…)', - '㈄' => '(ᄆ)', - '㈅' => '(ᄇ)', - '㈆' => '(ᄉ)', - '㈇' => '(á„‹)', - '㈈' => '(á„Œ)', - '㈉' => '(á„Ž)', - '㈊' => '(á„)', - '㈋' => '(á„)', - '㈌' => '(á„‘)', - 'ãˆ' => '(á„’)', - '㈎' => '(가)', - 'ãˆ' => '(á„‚á…¡)', - 'ãˆ' => '(다)', - '㈑' => '(á„…á…¡)', - '㈒' => '(마)', - '㈓' => '(바)', - '㈔' => '(사)', - '㈕' => '(á„‹á…¡)', - '㈖' => '(자)', - '㈗' => '(á„Žá…¡)', - '㈘' => '(á„á…¡)', - '㈙' => '(á„á…¡)', - '㈚' => '(á„‘á…¡)', - '㈛' => '(á„’á…¡)', - '㈜' => '(주)', - 'ãˆ' => '(오전)', - '㈞' => '(á„‹á…©á„’á…®)', - '㈠' => '(一)', - '㈡' => '(二)', - '㈢' => '(三)', - '㈣' => '(å››)', - '㈤' => '(五)', - '㈥' => '(å…­)', - '㈦' => '(七)', - '㈧' => '(å…«)', - '㈨' => '(ä¹)', - '㈩' => '(å)', - '㈪' => '(月)', - '㈫' => '(ç«)', - '㈬' => '(æ°´)', - '㈭' => '(木)', - '㈮' => '(金)', - '㈯' => '(土)', - '㈰' => '(æ—¥)', - '㈱' => '(æ ª)', - '㈲' => '(有)', - '㈳' => '(社)', - '㈴' => '(å)', - '㈵' => '(特)', - '㈶' => '(財)', - '㈷' => '(ç¥)', - '㈸' => '(労)', - '㈹' => '(代)', - '㈺' => '(呼)', - '㈻' => '(å­¦)', - '㈼' => '(監)', - '㈽' => '(ä¼)', - '㈾' => '(資)', - '㈿' => '(å”)', - '㉀' => '(祭)', - 'ã‰' => '(休)', - '㉂' => '(自)', - '㉃' => '(至)', - '㉄' => '(å•)', - '㉅' => '(å¹¼)', - '㉆' => '(æ–‡)', - '㉇' => '(ç®)', - 'ã‰' => 'PTE', - '㉑' => '(21)', - '㉒' => '(22)', - '㉓' => '(23)', - '㉔' => '(24)', - '㉕' => '(25)', - '㉖' => '(26)', - '㉗' => '(27)', - '㉘' => '(28)', - '㉙' => '(29)', - '㉚' => '(30)', - '㉛' => '(31)', - '㉜' => '(32)', - 'ã‰' => '(33)', - '㉞' => '(34)', - '㉟' => '(35)', - '㉠' => '(á„€)', - '㉡' => '(á„‚)', - '㉢' => '(ᄃ)', - '㉣' => '(á„…)', - '㉤' => '(ᄆ)', - '㉥' => '(ᄇ)', - '㉦' => '(ᄉ)', - '㉧' => '(á„‹)', - '㉨' => '(á„Œ)', - '㉩' => '(á„Ž)', - '㉪' => '(á„)', - '㉫' => '(á„)', - '㉬' => '(á„‘)', - '㉭' => '(á„’)', - '㉮' => '(가)', - '㉯' => '(á„‚á…¡)', - '㉰' => '(다)', - '㉱' => '(á„…á…¡)', - '㉲' => '(마)', - '㉳' => '(바)', - '㉴' => '(사)', - '㉵' => '(á„‹á…¡)', - '㉶' => '(자)', - '㉷' => '(á„Žá…¡)', - '㉸' => '(á„á…¡)', - '㉹' => '(á„á…¡)', - '㉺' => '(á„‘á…¡)', - '㉻' => '(á„’á…¡)', - '㉼' => '(참고)', - '㉽' => '(주의)', - '㉾' => '(á„‹á…®)', - '㊀' => '(一)', - 'ãŠ' => '(二)', - '㊂' => '(三)', - '㊃' => '(å››)', - '㊄' => '(五)', - '㊅' => '(å…­)', - '㊆' => '(七)', - '㊇' => '(å…«)', - '㊈' => '(ä¹)', - '㊉' => '(å)', - '㊊' => '(月)', - '㊋' => '(ç«)', - '㊌' => '(æ°´)', - 'ãŠ' => '(木)', - '㊎' => '(金)', - 'ãŠ' => '(土)', - 'ãŠ' => '(æ—¥)', - '㊑' => '(æ ª)', - '㊒' => '(有)', - '㊓' => '(社)', - '㊔' => '(å)', - '㊕' => '(特)', - '㊖' => '(財)', - '㊗' => '(ç¥)', - '㊘' => '(労)', - '㊙' => '(秘)', - '㊚' => '(ç”·)', - '㊛' => '(女)', - '㊜' => '(é©)', - 'ãŠ' => '(優)', - '㊞' => '(å°)', - '㊟' => '(注)', - '㊠' => '(é …)', - '㊡' => '(休)', - '㊢' => '(写)', - '㊣' => '(æ­£)', - '㊤' => '(上)', - '㊥' => '(中)', - '㊦' => '(下)', - '㊧' => '(å·¦)', - '㊨' => '(å³)', - '㊩' => '(医)', - '㊪' => '(å®—)', - '㊫' => '(å­¦)', - '㊬' => '(監)', - '㊭' => '(ä¼)', - '㊮' => '(資)', - '㊯' => '(å”)', - '㊰' => '(夜)', - '㊱' => '(36)', - '㊲' => '(37)', - '㊳' => '(38)', - '㊴' => '(39)', - '㊵' => '(40)', - '㊶' => '(41)', - '㊷' => '(42)', - '㊸' => '(43)', - '㊹' => '(44)', - '㊺' => '(45)', - '㊻' => '(46)', - '㊼' => '(47)', - '㊽' => '(48)', - '㊾' => '(49)', - '㊿' => '(50)', - 'ã‹€' => '1月', - 'ã‹' => '2月', - 'ã‹‚' => '3月', - '㋃' => '4月', - 'ã‹„' => '5月', - 'ã‹…' => '6月', - '㋆' => '7月', - '㋇' => '8月', - '㋈' => '9月', - '㋉' => '10月', - 'ã‹Š' => '11月', - 'ã‹‹' => '12月', - 'ã‹Œ' => 'Hg', - 'ã‹' => 'erg', - 'ã‹Ž' => 'eV', - 'ã‹' => 'LTD', - 'ã‹' => '(ã‚¢)', - 'ã‹‘' => '(イ)', - 'ã‹’' => '(ウ)', - 'ã‹“' => '(エ)', - 'ã‹”' => '(オ)', - 'ã‹•' => '(ã‚«)', - 'ã‹–' => '(ã‚­)', - 'ã‹—' => '(ク)', - '㋘' => '(ケ)', - 'ã‹™' => '(コ)', - 'ã‹š' => '(サ)', - 'ã‹›' => '(ã‚·)', - 'ã‹œ' => '(ス)', - 'ã‹' => '(ã‚»)', - 'ã‹ž' => '(ソ)', - 'ã‹Ÿ' => '(ã‚¿)', - 'ã‹ ' => '(ãƒ)', - 'ã‹¡' => '(ツ)', - 'ã‹¢' => '(テ)', - 'ã‹£' => '(ト)', - '㋤' => '(ナ)', - 'ã‹¥' => '(ニ)', - '㋦' => '(ヌ)', - '㋧' => '(ãƒ)', - '㋨' => '(ノ)', - 'ã‹©' => '(ãƒ)', - '㋪' => '(ヒ)', - 'ã‹«' => '(フ)', - '㋬' => '(ヘ)', - 'ã‹­' => '(ホ)', - 'ã‹®' => '(マ)', - '㋯' => '(ミ)', - 'ã‹°' => '(ム)', - '㋱' => '(メ)', - '㋲' => '(モ)', - '㋳' => '(ヤ)', - 'ã‹´' => '(ユ)', - '㋵' => '(ヨ)', - '㋶' => '(ラ)', - 'ã‹·' => '(リ)', - '㋸' => '(ル)', - '㋹' => '(レ)', - '㋺' => '(ロ)', - 'ã‹»' => '(ワ)', - '㋼' => '(ヰ)', - '㋽' => '(ヱ)', - '㋾' => '(ヲ)', - '㌀' => 'アパート', - 'ãŒ' => 'アルファ', - '㌂' => 'アンペア', - '㌃' => 'アール', - '㌄' => 'イニング', - '㌅' => 'インãƒ', - '㌆' => 'ウォン', - '㌇' => 'エスクード', - '㌈' => 'エーカー', - '㌉' => 'オンス', - '㌊' => 'オーム', - '㌋' => 'カイリ', - '㌌' => 'カラット', - 'ãŒ' => 'カロリー', - '㌎' => 'ガロン', - 'ãŒ' => 'ガンマ', - 'ãŒ' => 'ギガ', - '㌑' => 'ギニー', - '㌒' => 'キュリー', - '㌓' => 'ギルダー', - '㌔' => 'キロ', - '㌕' => 'キログラム', - '㌖' => 'キロメートル', - '㌗' => 'キロワット', - '㌘' => 'グラム', - '㌙' => 'グラムトン', - '㌚' => 'クルゼイロ', - '㌛' => 'クローãƒ', - '㌜' => 'ケース', - 'ãŒ' => 'コルナ', - '㌞' => 'コーãƒ', - '㌟' => 'サイクル', - '㌠' => 'サンãƒãƒ¼ãƒ ', - '㌡' => 'シリング', - '㌢' => 'センãƒ', - '㌣' => 'セント', - '㌤' => 'ダース', - '㌥' => 'デシ', - '㌦' => 'ドル', - '㌧' => 'トン', - '㌨' => 'ナノ', - '㌩' => 'ノット', - '㌪' => 'ãƒã‚¤ãƒ„', - '㌫' => 'パーセント', - '㌬' => 'パーツ', - '㌭' => 'ãƒãƒ¼ãƒ¬ãƒ«', - '㌮' => 'ピアストル', - '㌯' => 'ピクル', - '㌰' => 'ピコ', - '㌱' => 'ビル', - '㌲' => 'ファラッド', - '㌳' => 'フィート', - '㌴' => 'ブッシェル', - '㌵' => 'フラン', - '㌶' => 'ヘクタール', - '㌷' => 'ペソ', - '㌸' => 'ペニヒ', - '㌹' => 'ヘルツ', - '㌺' => 'ペンス', - '㌻' => 'ページ', - '㌼' => 'ベータ', - '㌽' => 'ãƒã‚¤ãƒ³ãƒˆ', - '㌾' => 'ボルト', - '㌿' => 'ホン', - 'ã€' => 'ãƒãƒ³ãƒ‰', - 'ã' => 'ホール', - 'ã‚' => 'ホーン', - 'ãƒ' => 'マイクロ', - 'ã„' => 'マイル', - 'ã…' => 'マッãƒ', - 'ã†' => 'マルク', - 'ã‡' => 'マンション', - 'ãˆ' => 'ミクロン', - 'ã‰' => 'ミリ', - 'ãŠ' => 'ミリãƒãƒ¼ãƒ«', - 'ã‹' => 'メガ', - 'ãŒ' => 'メガトン', - 'ã' => 'メートル', - 'ãŽ' => 'ヤード', - 'ã' => 'ヤール', - 'ã' => 'ユアン', - 'ã‘' => 'リットル', - 'ã’' => 'リラ', - 'ã“' => 'ルピー', - 'ã”' => 'ルーブル', - 'ã•' => 'レム', - 'ã–' => 'レントゲン', - 'ã—' => 'ワット', - 'ã˜' => '0点', - 'ã™' => '1点', - 'ãš' => '2点', - 'ã›' => '3点', - 'ãœ' => '4点', - 'ã' => '5点', - 'ãž' => '6点', - 'ãŸ' => '7点', - 'ã ' => '8点', - 'ã¡' => '9点', - 'ã¢' => '10点', - 'ã£' => '11点', - 'ã¤' => '12点', - 'ã¥' => '13点', - 'ã¦' => '14点', - 'ã§' => '15点', - 'ã¨' => '16点', - 'ã©' => '17点', - 'ãª' => '18点', - 'ã«' => '19点', - 'ã¬' => '20点', - 'ã­' => '21点', - 'ã®' => '22点', - 'ã¯' => '23点', - 'ã°' => '24点', - 'ã±' => 'hPa', - 'ã²' => 'da', - 'ã³' => 'AU', - 'ã´' => 'bar', - 'ãµ' => 'oV', - 'ã¶' => 'pc', - 'ã·' => 'dm', - 'ã¸' => 'dm²', - 'ã¹' => 'dm³', - 'ãº' => 'IU', - 'ã»' => 'å¹³æˆ', - 'ã¼' => '昭和', - 'ã½' => '大正', - 'ã¾' => '明治', - 'ã¿' => 'æ ªå¼ä¼šç¤¾', - '㎀' => 'pA', - 'ãŽ' => 'nA', - '㎂' => 'μA', - '㎃' => 'mA', - '㎄' => 'kA', - '㎅' => 'KB', - '㎆' => 'MB', - '㎇' => 'GB', - '㎈' => 'cal', - '㎉' => 'kcal', - '㎊' => 'pF', - '㎋' => 'nF', - '㎌' => 'μF', - 'ãŽ' => 'μg', - '㎎' => 'mg', - 'ãŽ' => 'kg', - 'ãŽ' => 'Hz', - '㎑' => 'kHz', - '㎒' => 'MHz', - '㎓' => 'GHz', - '㎔' => 'THz', - '㎕' => 'μℓ', - '㎖' => 'mâ„“', - '㎗' => 'dâ„“', - '㎘' => 'kâ„“', - '㎙' => 'fm', - '㎚' => 'nm', - '㎛' => 'μm', - '㎜' => 'mm', - 'ãŽ' => 'cm', - '㎞' => 'km', - '㎟' => 'mm²', - '㎠' => 'cm²', - '㎡' => 'm²', - '㎢' => 'km²', - '㎣' => 'mm³', - '㎤' => 'cm³', - '㎥' => 'm³', - '㎦' => 'km³', - '㎧' => 'm∕s', - '㎨' => 'm∕s²', - '㎩' => 'Pa', - '㎪' => 'kPa', - '㎫' => 'MPa', - '㎬' => 'GPa', - '㎭' => 'rad', - '㎮' => 'rad∕s', - '㎯' => 'rad∕s²', - '㎰' => 'ps', - '㎱' => 'ns', - '㎲' => 'μs', - '㎳' => 'ms', - '㎴' => 'pV', - '㎵' => 'nV', - '㎶' => 'μV', - '㎷' => 'mV', - '㎸' => 'kV', - '㎹' => 'MV', - '㎺' => 'pW', - '㎻' => 'nW', - '㎼' => 'μW', - '㎽' => 'mW', - '㎾' => 'kW', - '㎿' => 'MW', - 'ã€' => 'kΩ', - 'ã' => 'MΩ', - 'ã‚' => 'a.m.', - 'ãƒ' => 'Bq', - 'ã„' => 'cc', - 'ã…' => 'cd', - 'ã†' => 'C∕kg', - 'ã‡' => 'Co.', - 'ãˆ' => 'dB', - 'ã‰' => 'Gy', - 'ãŠ' => 'ha', - 'ã‹' => 'HP', - 'ãŒ' => 'in', - 'ã' => 'KK', - 'ãŽ' => 'KM', - 'ã' => 'kt', - 'ã' => 'lm', - 'ã‘' => 'ln', - 'ã’' => 'log', - 'ã“' => 'lx', - 'ã”' => 'mb', - 'ã•' => 'mil', - 'ã–' => 'mol', - 'ã—' => 'PH', - 'ã˜' => 'p.m.', - 'ã™' => 'PPM', - 'ãš' => 'PR', - 'ã›' => 'sr', - 'ãœ' => 'Sv', - 'ã' => 'Wb', - 'ãž' => 'V∕m', - 'ãŸ' => 'A∕m', - 'ã ' => '1æ—¥', - 'ã¡' => '2æ—¥', - 'ã¢' => '3æ—¥', - 'ã£' => '4æ—¥', - 'ã¤' => '5æ—¥', - 'ã¥' => '6æ—¥', - 'ã¦' => '7æ—¥', - 'ã§' => '8æ—¥', - 'ã¨' => '9æ—¥', - 'ã©' => '10æ—¥', - 'ãª' => '11æ—¥', - 'ã«' => '12æ—¥', - 'ã¬' => '13æ—¥', - 'ã­' => '14æ—¥', - 'ã®' => '15æ—¥', - 'ã¯' => '16æ—¥', - 'ã°' => '17æ—¥', - 'ã±' => '18æ—¥', - 'ã²' => '19æ—¥', - 'ã³' => '20æ—¥', - 'ã´' => '21æ—¥', - 'ãµ' => '22æ—¥', - 'ã¶' => '23æ—¥', - 'ã·' => '24æ—¥', - 'ã¸' => '25æ—¥', - 'ã¹' => '26æ—¥', - 'ãº' => '27æ—¥', - 'ã»' => '28æ—¥', - 'ã¼' => '29æ—¥', - 'ã½' => '30æ—¥', - 'ã¾' => '31æ—¥', - 'ã¿' => 'gal', - '豈' => '豈', - 'ï¤' => 'æ›´', - '車' => '車', - '賈' => '賈', - '滑' => '滑', - '串' => '串', - '句' => 'å¥', - '龜' => '龜', - '龜' => '龜', - '契' => '契', - '金' => '金', - '喇' => 'å–‡', - '奈' => '奈', - 'ï¤' => '懶', - '癩' => '癩', - 'ï¤' => 'ç¾…', - 'ï¤' => '蘿', - '螺' => '螺', - '裸' => '裸', - '邏' => 'é‚', - '樂' => '樂', - '洛' => 'æ´›', - '烙' => '烙', - '珞' => 'çž', - '落' => 'è½', - '酪' => 'é…ª', - '駱' => '駱', - '亂' => '亂', - '卵' => 'åµ', - 'ï¤' => '欄', - '爛' => '爛', - '蘭' => '蘭', - '鸞' => '鸞', - '嵐' => 'åµ', - '濫' => 'æ¿«', - '藍' => 'è—', - '襤' => '襤', - '拉' => '拉', - '臘' => '臘', - '蠟' => 'è Ÿ', - '廊' => '廊', - '朗' => '朗', - '浪' => '浪', - '狼' => '狼', - '郎' => '郎', - '來' => '來', - '冷' => '冷', - '勞' => 'å‹ž', - '擄' => 'æ“„', - '櫓' => 'æ«“', - '爐' => 'çˆ', - '盧' => '盧', - '老' => 'è€', - '蘆' => '蘆', - '虜' => '虜', - '路' => 'è·¯', - '露' => '露', - '魯' => 'é­¯', - '鷺' => 'é·º', - '碌' => '碌', - '祿' => '祿', - '綠' => '綠', - '菉' => 'è‰', - '錄' => '錄', - '鹿' => '鹿', - 'ï¥' => 'è«–', - '壟' => '壟', - '弄' => '弄', - '籠' => 'ç± ', - '聾' => 'è¾', - '牢' => '牢', - '磊' => '磊', - '賂' => '賂', - '雷' => 'é›·', - '壘' => '壘', - '屢' => 'å±¢', - '樓' => '樓', - 'ï¥' => 'æ·š', - '漏' => 'æ¼', - 'ï¥' => 'ç´¯', - 'ï¥' => '縷', - '陋' => '陋', - '勒' => 'å‹’', - '肋' => 'è‚‹', - '凜' => '凜', - '凌' => '凌', - '稜' => '稜', - '綾' => '綾', - '菱' => 'è±', - '陵' => '陵', - '讀' => '讀', - '拏' => 'æ‹', - '樂' => '樂', - 'ï¥' => '諾', - '丹' => '丹', - '寧' => '寧', - '怒' => '怒', - '率' => '率', - '異' => 'ç•°', - '北' => '北', - '磻' => '磻', - '便' => '便', - '復' => '復', - '不' => 'ä¸', - '泌' => '泌', - '數' => '數', - '索' => 'ç´¢', - '參' => 'åƒ', - '塞' => 'å¡ž', - '省' => 'çœ', - '葉' => '葉', - '說' => '說', - '殺' => '殺', - '辰' => 'è¾°', - '沈' => '沈', - '拾' => '拾', - '若' => 'è‹¥', - '掠' => '掠', - '略' => 'ç•¥', - '亮' => '亮', - '兩' => 'å…©', - '凉' => '凉', - '梁' => 'æ¢', - '糧' => '糧', - '良' => '良', - '諒' => 'è«’', - '量' => 'é‡', - '勵' => '勵', - '呂' => 'å‘‚', - 'ï¦' => '女', - '廬' => '廬', - '旅' => 'æ—…', - '濾' => '濾', - '礪' => '礪', - '閭' => 'é–­', - '驪' => '驪', - '麗' => '麗', - '黎' => '黎', - '力' => '力', - '曆' => '曆', - '歷' => 'æ­·', - 'ï¦' => 'è½¢', - '年' => 'å¹´', - 'ï¦' => 'æ†', - 'ï¦' => '戀', - '撚' => 'æ’š', - '漣' => 'æ¼£', - '煉' => 'ç…‰', - '璉' => 'ç’‰', - '秊' => '秊', - '練' => 'ç·´', - '聯' => 'è¯', - '輦' => '輦', - '蓮' => 'è“®', - '連' => '連', - '鍊' => 'éŠ', - '列' => '列', - 'ï¦' => '劣', - '咽' => 'å’½', - '烈' => '烈', - '裂' => '裂', - '說' => '說', - '廉' => '廉', - '念' => '念', - '捻' => 'æ»', - '殮' => 'æ®®', - '簾' => 'ç°¾', - '獵' => 'çµ', - '令' => '令', - '囹' => '囹', - '寧' => '寧', - '嶺' => '嶺', - '怜' => '怜', - '玲' => '玲', - '瑩' => 'ç‘©', - '羚' => '羚', - '聆' => 'è†', - '鈴' => '鈴', - '零' => '零', - '靈' => 'éˆ', - '領' => 'é ˜', - '例' => '例', - '禮' => '禮', - '醴' => '醴', - '隸' => '隸', - '惡' => '惡', - '了' => '了', - '僚' => '僚', - '寮' => '寮', - '尿' => 'å°¿', - '料' => 'æ–™', - '樂' => '樂', - '燎' => '燎', - 'ï§' => '療', - '蓼' => '蓼', - '遼' => 'é¼', - '龍' => 'é¾', - '暈' => '暈', - '阮' => '阮', - '劉' => '劉', - '杻' => 'æ»', - '柳' => '柳', - '流' => 'æµ', - '溜' => '溜', - '琉' => 'ç‰', - 'ï§' => 'ç•™', - '硫' => 'ç¡«', - 'ï§' => 'ç´', - 'ï§' => 'é¡ž', - '六' => 'å…­', - '戮' => '戮', - '陸' => '陸', - '倫' => '倫', - '崙' => 'å´™', - '淪' => 'æ·ª', - '輪' => '輪', - '律' => '律', - '慄' => 'æ…„', - '栗' => 'æ —', - '率' => '率', - '隆' => '隆', - 'ï§' => '利', - '吏' => 'å', - '履' => 'å±¥', - '易' => '易', - '李' => 'æŽ', - '梨' => '梨', - '泥' => 'æ³¥', - '理' => 'ç†', - '痢' => 'ç—¢', - '罹' => 'ç½¹', - '裏' => 'è£', - '裡' => '裡', - '里' => '里', - '離' => '離', - '匿' => '匿', - '溺' => '溺', - '吝' => 'å', - '燐' => 'ç‡', - '璘' => 'ç’˜', - '藺' => 'è—º', - '隣' => '隣', - '鱗' => 'é±—', - '麟' => '麟', - '林' => 'æž—', - '淋' => 'æ·‹', - '臨' => '臨', - '立' => 'ç«‹', - '笠' => '笠', - '粒' => 'ç²’', - '狀' => 'ç‹€', - '炙' => 'ç‚™', - '識' => 'è­˜', - '什' => '什', - '茶' => '茶', - '刺' => '刺', - '切' => '切', - 'ï¨' => '度', - '拓' => 'æ‹“', - '糖' => 'ç³–', - '宅' => 'å®…', - '洞' => 'æ´ž', - '暴' => 'æš´', - '輻' => 'è¼»', - '行' => 'è¡Œ', - '降' => 'é™', - '見' => '見', - '廓' => '廓', - '兀' => 'å…€', - 'ï¨' => 'å—€', - '﨎' => '', - 'ï¨' => '', - 'ï¨' => 'å¡š', - '﨑' => '', - '晴' => 'æ™´', - '﨓' => '', - '﨔' => '', - '凞' => '凞', - '猪' => '猪', - '益' => '益', - '礼' => '礼', - '神' => '神', - '祥' => '祥', - '福' => 'ç¦', - '靖' => 'é–', - 'ï¨' => 'ç²¾', - '羽' => 'ç¾½', - '﨟' => '', - '蘒' => '蘒', - '﨡' => '', - '諸' => '諸', - '﨣' => '', - '﨤' => '', - '逸' => '逸', - '都' => '都', - '﨧' => '', - '﨨' => '', - '﨩' => '', - '飯' => '飯', - '飼' => '飼', - '館' => '館', - '鶴' => '鶴', - '郞' => '郞', - '隷' => 'éš·', - '侮' => 'ä¾®', - '僧' => '僧', - '免' => 'å…', - '勉' => '勉', - '勤' => '勤', - '卑' => 'å‘', - '喝' => 'å–', - '嘆' => '嘆', - '器' => '器', - '塀' => 'å¡€', - '墨' => '墨', - '層' => '層', - '屮' => 'å±®', - '悔' => 'æ‚”', - '慨' => 'æ…¨', - '憎' => '憎', - 'ï©€' => '懲', - 'ï©' => 'æ•', - 'ï©‚' => 'æ—¢', - '暑' => 'æš‘', - 'ï©„' => '梅', - 'ï©…' => 'æµ·', - '渚' => '渚', - '漢' => 'æ¼¢', - '煮' => 'ç…®', - '爫' => '爫', - 'ï©Š' => 'ç¢', - 'ï©‹' => '碑', - 'ï©Œ' => '社', - 'ï©' => '祉', - 'ï©Ž' => '祈', - 'ï©' => 'ç¥', - 'ï©' => '祖', - 'ï©‘' => 'ç¥', - 'ï©’' => 'ç¦', - 'ï©“' => '禎', - 'ï©”' => 'ç©€', - 'ï©•' => 'çª', - 'ï©–' => '節', - 'ï©—' => 'ç·´', - '縉' => '縉', - 'ï©™' => 'ç¹', - 'ï©š' => 'ç½²', - 'ï©›' => '者', - 'ï©œ' => '臭', - 'ï©' => '艹', - 'ï©ž' => '艹', - 'ï©Ÿ' => 'è‘—', - 'ï© ' => 'è¤', - 'ï©¡' => '視', - 'ï©¢' => 'è¬', - 'ï©£' => '謹', - '賓' => '賓', - 'ï©¥' => 'è´ˆ', - '辶' => '辶', - '逸' => '逸', - '難' => '難', - 'ï©©' => '響', - '頻' => 'é »', - 'ï©«' => 'æµ', - '𤋮' => '𤋮', - 'ï©­' => '舘', - 'ï©°' => '並', - '况' => '况', - '全' => 'å…¨', - '侀' => 'ä¾€', - 'ï©´' => 'å……', - '冀' => '冀', - '勇' => '勇', - 'ï©·' => '勺', - '喝' => 'å–', - '啕' => 'å••', - '喙' => 'å–™', - 'ï©»' => 'å—¢', - '塚' => 'å¡š', - '墳' => '墳', - '奄' => '奄', - 'ï©¿' => '奔', - '婢' => 'å©¢', - 'ïª' => '嬨', - '廒' => 'å»’', - '廙' => 'å»™', - '彩' => '彩', - '徭' => 'å¾­', - '惘' => '惘', - '慎' => 'æ…Ž', - '愈' => '愈', - '憎' => '憎', - '慠' => 'æ… ', - '懲' => '懲', - '戴' => '戴', - 'ïª' => 'æ„', - '搜' => 'æœ', - 'ïª' => 'æ‘’', - 'ïª' => 'æ•–', - '晴' => 'æ™´', - '朗' => '朗', - '望' => '望', - '杖' => 'æ–', - '歹' => 'æ­¹', - '殺' => '殺', - '流' => 'æµ', - '滛' => 'æ»›', - '滋' => '滋', - '漢' => 'æ¼¢', - '瀞' => '瀞', - '煮' => 'ç…®', - 'ïª' => '瞧', - '爵' => '爵', - '犯' => '犯', - '猪' => '猪', - '瑱' => '瑱', - '甆' => '甆', - '画' => 'ç”»', - '瘝' => 'ç˜', - '瘟' => '瘟', - '益' => '益', - '盛' => 'ç››', - '直' => 'ç›´', - '睊' => 'çŠ', - '着' => 'ç€', - '磌' => '磌', - '窱' => '窱', - '節' => '節', - '类' => 'ç±»', - '絛' => 'çµ›', - '練' => 'ç·´', - '缾' => 'ç¼¾', - '者' => '者', - '荒' => 'è’', - '華' => 'è¯', - '蝹' => 'è¹', - '襁' => 'è¥', - '覆' => '覆', - '視' => '視', - '調' => '調', - '諸' => '諸', - '請' => 'è«‹', - '謁' => 'è¬', - '諾' => '諾', - '諭' => 'è«­', - '謹' => '謹', - 'ï«€' => '變', - 'ï«' => 'è´ˆ', - 'ï«‚' => '輸', - '遲' => 'é²', - 'ï«„' => '醙', - 'ï«…' => '鉶', - '陼' => '陼', - '難' => '難', - '靖' => 'é–', - '韛' => '韛', - 'ï«Š' => '響', - 'ï«‹' => 'é ‹', - 'ï«Œ' => 'é »', - 'ï«' => '鬒', - 'ï«Ž' => '龜', - 'ï«' => '𢡊', - 'ï«' => '𢡄', - 'ï«‘' => 'ð£•', - 'ï«’' => 'ã®', - 'ï«“' => '䀘', - 'ï«”' => '䀹', - 'ï«•' => '𥉉', - 'ï«–' => 'ð¥³', - 'ï«—' => '𧻓', - '齃' => '齃', - 'ï«™' => '龎', - 'ff' => 'ff', - 'ï¬' => 'fi', - 'fl' => 'fl', - 'ffi' => 'ffi', - 'ffl' => 'ffl', - 'ſt' => 'Å¿t', - 'st' => 'st', - 'ﬓ' => 'Õ´Õ¶', - 'ﬔ' => 'Õ´Õ¥', - 'ﬕ' => 'Õ´Õ«', - 'ﬖ' => 'Õ¾Õ¶', - 'ﬗ' => 'Õ´Õ­', - 'ﬠ' => '×¢', - 'ﬡ' => '×', - 'ﬢ' => 'ד', - 'ﬣ' => '×”', - 'ﬤ' => '×›', - 'ﬥ' => 'ל', - 'ﬦ' => '×', - 'ﬧ' => 'ר', - 'ﬨ' => 'ת', - '﬩' => '+', - 'ï­' => '×ל', - '﹉' => '‾', - '﹊' => '‾', - '﹋' => '‾', - '﹌' => '‾', - 'ï¹' => '_', - '﹎' => '_', - 'ï¹' => '_', - 'ï¹' => ',', - '﹑' => 'ã€', - 'ï¹’' => '.', - 'ï¹”' => ';', - '﹕' => ':', - 'ï¹–' => '?', - 'ï¹—' => '!', - '﹘' => '—', - 'ï¹™' => '(', - '﹚' => ')', - 'ï¹›' => '{', - '﹜' => '}', - 'ï¹' => '〔', - '﹞' => '〕', - '﹟' => '#', - 'ï¹ ' => '&', - '﹡' => '*', - 'ï¹¢' => '+', - 'ï¹£' => '-', - '﹤' => '<', - 'ï¹¥' => '>', - '﹦' => '=', - '﹨' => '\\', - '﹩' => '$', - '﹪' => '%', - '﹫' => '@', - 'ï¼' => '!', - '"' => '"', - '#' => '#', - '$' => '$', - 'ï¼…' => '%', - '&' => '&', - ''' => '\'', - '(' => '(', - ')' => ')', - '*' => '*', - '+' => '+', - ',' => ',', - 'ï¼' => '-', - '.' => '.', - 'ï¼' => '/', - 'ï¼' => '0', - '1' => '1', - 'ï¼’' => '2', - '3' => '3', - 'ï¼”' => '4', - '5' => '5', - 'ï¼–' => '6', - 'ï¼—' => '7', - '8' => '8', - 'ï¼™' => '9', - ':' => ':', - 'ï¼›' => ';', - '<' => '<', - 'ï¼' => '=', - '>' => '>', - '?' => '?', - 'ï¼ ' => '@', - 'A' => 'A', - 'ï¼¢' => 'B', - 'ï¼£' => 'C', - 'D' => 'D', - 'ï¼¥' => 'E', - 'F' => 'F', - 'G' => 'G', - 'H' => 'H', - 'I' => 'I', - 'J' => 'J', - 'K' => 'K', - 'L' => 'L', - 'ï¼­' => 'M', - 'ï¼®' => 'N', - 'O' => 'O', - 'ï¼°' => 'P', - 'ï¼±' => 'Q', - 'ï¼²' => 'R', - 'ï¼³' => 'S', - 'ï¼´' => 'T', - 'ï¼µ' => 'U', - 'V' => 'V', - 'ï¼·' => 'W', - 'X' => 'X', - 'ï¼¹' => 'Y', - 'Z' => 'Z', - 'ï¼»' => '[', - 'ï¼¼' => '\\', - 'ï¼½' => ']', - 'ï¼¾' => '^', - '_' => '_', - 'ï½€' => '`', - 'ï½' => 'a', - 'b' => 'b', - 'c' => 'c', - 'd' => 'd', - 'ï½…' => 'e', - 'f' => 'f', - 'g' => 'g', - 'h' => 'h', - 'i' => 'i', - 'j' => 'j', - 'k' => 'k', - 'l' => 'l', - 'ï½' => 'm', - 'n' => 'n', - 'ï½' => 'o', - 'ï½' => 'p', - 'q' => 'q', - 'ï½’' => 'r', - 's' => 's', - 'ï½”' => 't', - 'u' => 'u', - 'ï½–' => 'v', - 'ï½—' => 'w', - 'x' => 'x', - 'ï½™' => 'y', - 'z' => 'z', - 'ï½›' => '{', - '|' => '|', - 'ï½' => '}', - '~' => '~', - '⦅' => '⦅', - 'ï½ ' => '⦆', - '。' => '。', - 'ï½¢' => '「', - 'ï½£' => 'ã€', - '、' => 'ã€', - 'ï½¥' => '・', - 'ヲ' => 'ヲ', - 'ァ' => 'ã‚¡', - 'ィ' => 'ã‚£', - 'ゥ' => 'ã‚¥', - 'ェ' => 'ェ', - 'ォ' => 'ã‚©', - 'ャ' => 'ャ', - 'ï½­' => 'ュ', - 'ï½®' => 'ョ', - 'ッ' => 'ッ', - 'ï½°' => 'ー', - 'ï½±' => 'ã‚¢', - 'ï½²' => 'イ', - 'ï½³' => 'ウ', - 'ï½´' => 'エ', - 'ï½µ' => 'オ', - 'カ' => 'ã‚«', - 'ï½·' => 'ã‚­', - 'ク' => 'ク', - 'ï½¹' => 'ケ', - 'コ' => 'コ', - 'ï½»' => 'サ', - 'ï½¼' => 'ã‚·', - 'ï½½' => 'ス', - 'ï½¾' => 'ã‚»', - 'ソ' => 'ソ', - 'ï¾€' => 'ã‚¿', - 'ï¾' => 'ãƒ', - 'ツ' => 'ツ', - 'テ' => 'テ', - 'ト' => 'ト', - 'ï¾…' => 'ナ', - 'ニ' => 'ニ', - 'ヌ' => 'ヌ', - 'ネ' => 'ãƒ', - 'ノ' => 'ノ', - 'ハ' => 'ãƒ', - 'ヒ' => 'ヒ', - 'フ' => 'フ', - 'ï¾' => 'ヘ', - 'ホ' => 'ホ', - 'ï¾' => 'マ', - 'ï¾' => 'ミ', - 'ム' => 'ム', - 'ï¾’' => 'メ', - 'モ' => 'モ', - 'ï¾”' => 'ヤ', - 'ユ' => 'ユ', - 'ï¾–' => 'ヨ', - 'ï¾—' => 'ラ', - 'リ' => 'リ', - 'ï¾™' => 'ル', - 'レ' => 'レ', - 'ï¾›' => 'ロ', - 'ワ' => 'ワ', - 'ï¾' => 'ン', - '゙' => 'ã‚™', - '゚' => 'ã‚š', - 'ï¾ ' => 'ã…¤', - 'ᄀ' => 'ㄱ', - 'ï¾¢' => 'ㄲ', - 'ï¾£' => 'ㄳ', - 'ᄂ' => 'ã„´', - 'ï¾¥' => 'ㄵ', - 'ᆭ' => 'ㄶ', - 'ᄃ' => 'ã„·', - 'ᄄ' => 'ㄸ', - 'ᄅ' => 'ㄹ', - 'ᆰ' => 'ㄺ', - 'ᆱ' => 'ã„»', - 'ᆲ' => 'ㄼ', - 'ï¾­' => 'ㄽ', - 'ï¾®' => 'ㄾ', - 'ᆵ' => 'ã„¿', - 'ï¾°' => 'ã…€', - 'ï¾±' => 'ã…', - 'ï¾²' => 'ã…‚', - 'ï¾³' => 'ã…ƒ', - 'ï¾´' => 'ã…„', - 'ï¾µ' => 'ã……', - 'ᄊ' => 'ã…†', - 'ï¾·' => 'ã…‡', - 'ᄌ' => 'ã…ˆ', - 'ï¾¹' => 'ã…‰', - 'ᄎ' => 'ã…Š', - 'ï¾»' => 'ã…‹', - 'ï¾¼' => 'ã…Œ', - 'ï¾½' => 'ã…', - 'ï¾¾' => 'ã…Ž', - 'ï¿‚' => 'ã…', - 'ᅢ' => 'ã…', - 'ï¿„' => 'ã…‘', - 'ï¿…' => 'ã…’', - 'ᅥ' => 'ã…“', - 'ᅦ' => 'ã…”', - 'ï¿Š' => 'ã…•', - 'ï¿‹' => 'ã…–', - 'ï¿Œ' => 'ã…—', - 'ï¿' => 'ã…˜', - 'ï¿Ž' => 'ã…™', - 'ï¿' => 'ã…š', - 'ï¿’' => 'ã…›', - 'ï¿“' => 'ã…œ', - 'ï¿”' => 'ã…', - 'ï¿•' => 'ã…ž', - 'ï¿–' => 'ã…Ÿ', - 'ï¿—' => 'ã… ', - 'ï¿š' => 'ã…¡', - 'ï¿›' => 'ã…¢', - 'ï¿œ' => 'ã…£', - 'ï¿ ' => '¢', - 'ï¿¡' => '£', - 'ï¿¢' => '¬', - 'ï¿£' => '¯', - '¦' => '¦', - 'ï¿¥' => 'Â¥', - '₩' => 'â‚©', - '│' => '│', - 'ï¿©' => 'â†', - '↑' => '↑', - 'ï¿«' => '→', - '↓' => '↓', - 'ï¿­' => 'â– ', - 'ï¿®' => 'â—‹', - 'ð€' => 'A', - 'ð' => 'B', - 'ð‚' => 'C', - 'ðƒ' => 'D', - 'ð„' => 'E', - 'ð…' => 'F', - 'ð†' => 'G', - 'ð‡' => 'H', - 'ðˆ' => 'I', - 'ð‰' => 'J', - 'ðŠ' => 'K', - 'ð‹' => 'L', - 'ðŒ' => 'M', - 'ð' => 'N', - 'ðŽ' => 'O', - 'ð' => 'P', - 'ð' => 'Q', - 'ð‘' => 'R', - 'ð’' => 'S', - 'ð“' => 'T', - 'ð”' => 'U', - 'ð•' => 'V', - 'ð–' => 'W', - 'ð—' => 'X', - 'ð˜' => 'Y', - 'ð™' => 'Z', - 'ðš' => 'a', - 'ð›' => 'b', - 'ðœ' => 'c', - 'ð' => 'd', - 'ðž' => 'e', - 'ðŸ' => 'f', - 'ð ' => 'g', - 'ð¡' => 'h', - 'ð¢' => 'i', - 'ð£' => 'j', - 'ð¤' => 'k', - 'ð¥' => 'l', - 'ð¦' => 'm', - 'ð§' => 'n', - 'ð¨' => 'o', - 'ð©' => 'p', - 'ðª' => 'q', - 'ð«' => 'r', - 'ð¬' => 's', - 'ð­' => 't', - 'ð®' => 'u', - 'ð¯' => 'v', - 'ð°' => 'w', - 'ð±' => 'x', - 'ð²' => 'y', - 'ð³' => 'z', - 'ð´' => 'A', - 'ðµ' => 'B', - 'ð¶' => 'C', - 'ð·' => 'D', - 'ð¸' => 'E', - 'ð¹' => 'F', - 'ðº' => 'G', - 'ð»' => 'H', - 'ð¼' => 'I', - 'ð½' => 'J', - 'ð¾' => 'K', - 'ð¿' => 'L', - 'ð‘€' => 'M', - 'ð‘' => 'N', - 'ð‘‚' => 'O', - 'ð‘ƒ' => 'P', - 'ð‘„' => 'Q', - 'ð‘…' => 'R', - 'ð‘†' => 'S', - 'ð‘‡' => 'T', - 'ð‘ˆ' => 'U', - 'ð‘‰' => 'V', - 'ð‘Š' => 'W', - 'ð‘‹' => 'X', - 'ð‘Œ' => 'Y', - 'ð‘' => 'Z', - 'ð‘Ž' => 'a', - 'ð‘' => 'b', - 'ð‘' => 'c', - 'ð‘‘' => 'd', - 'ð‘’' => 'e', - 'ð‘“' => 'f', - 'ð‘”' => 'g', - 'ð‘–' => 'i', - 'ð‘—' => 'j', - 'ð‘˜' => 'k', - 'ð‘™' => 'l', - 'ð‘š' => 'm', - 'ð‘›' => 'n', - 'ð‘œ' => 'o', - 'ð‘' => 'p', - 'ð‘ž' => 'q', - 'ð‘Ÿ' => 'r', - 'ð‘ ' => 's', - 'ð‘¡' => 't', - 'ð‘¢' => 'u', - 'ð‘£' => 'v', - 'ð‘¤' => 'w', - 'ð‘¥' => 'x', - 'ð‘¦' => 'y', - 'ð‘§' => 'z', - 'ð‘¨' => 'A', - 'ð‘©' => 'B', - 'ð‘ª' => 'C', - 'ð‘«' => 'D', - 'ð‘¬' => 'E', - 'ð‘­' => 'F', - 'ð‘®' => 'G', - 'ð‘¯' => 'H', - 'ð‘°' => 'I', - 'ð‘±' => 'J', - 'ð‘²' => 'K', - 'ð‘³' => 'L', - 'ð‘´' => 'M', - 'ð‘µ' => 'N', - 'ð‘¶' => 'O', - 'ð‘·' => 'P', - 'ð‘¸' => 'Q', - 'ð‘¹' => 'R', - 'ð‘º' => 'S', - 'ð‘»' => 'T', - 'ð‘¼' => 'U', - 'ð‘½' => 'V', - 'ð‘¾' => 'W', - 'ð‘¿' => 'X', - 'ð’€' => 'Y', - 'ð’' => 'Z', - 'ð’‚' => 'a', - 'ð’ƒ' => 'b', - 'ð’„' => 'c', - 'ð’…' => 'd', - 'ð’†' => 'e', - 'ð’‡' => 'f', - 'ð’ˆ' => 'g', - 'ð’‰' => 'h', - 'ð’Š' => 'i', - 'ð’‹' => 'j', - 'ð’Œ' => 'k', - 'ð’' => 'l', - 'ð’Ž' => 'm', - 'ð’' => 'n', - 'ð’' => 'o', - 'ð’‘' => 'p', - 'ð’’' => 'q', - 'ð’“' => 'r', - 'ð’”' => 's', - 'ð’•' => 't', - 'ð’–' => 'u', - 'ð’—' => 'v', - 'ð’˜' => 'w', - 'ð’™' => 'x', - 'ð’š' => 'y', - 'ð’›' => 'z', - 'ð’œ' => 'A', - 'ð’ž' => 'C', - 'ð’Ÿ' => 'D', - 'ð’¢' => 'G', - 'ð’¥' => 'J', - 'ð’¦' => 'K', - 'ð’©' => 'N', - 'ð’ª' => 'O', - 'ð’«' => 'P', - 'ð’¬' => 'Q', - 'ð’®' => 'S', - 'ð’¯' => 'T', - 'ð’°' => 'U', - 'ð’±' => 'V', - 'ð’²' => 'W', - 'ð’³' => 'X', - 'ð’´' => 'Y', - 'ð’µ' => 'Z', - 'ð’¶' => 'a', - 'ð’·' => 'b', - 'ð’¸' => 'c', - 'ð’¹' => 'd', - 'ð’»' => 'f', - 'ð’½' => 'h', - 'ð’¾' => 'i', - 'ð’¿' => 'j', - 'ð“€' => 'k', - 'ð“' => 'l', - 'ð“‚' => 'm', - 'ð“ƒ' => 'n', - 'ð“…' => 'p', - 'ð“†' => 'q', - 'ð“‡' => 'r', - 'ð“ˆ' => 's', - 'ð“‰' => 't', - 'ð“Š' => 'u', - 'ð“‹' => 'v', - 'ð“Œ' => 'w', - 'ð“' => 'x', - 'ð“Ž' => 'y', - 'ð“' => 'z', - 'ð“' => 'A', - 'ð“‘' => 'B', - 'ð“’' => 'C', - 'ð““' => 'D', - 'ð“”' => 'E', - 'ð“•' => 'F', - 'ð“–' => 'G', - 'ð“—' => 'H', - 'ð“˜' => 'I', - 'ð“™' => 'J', - 'ð“š' => 'K', - 'ð“›' => 'L', - 'ð“œ' => 'M', - 'ð“' => 'N', - 'ð“ž' => 'O', - 'ð“Ÿ' => 'P', - 'ð“ ' => 'Q', - 'ð“¡' => 'R', - 'ð“¢' => 'S', - 'ð“£' => 'T', - 'ð“¤' => 'U', - 'ð“¥' => 'V', - 'ð“¦' => 'W', - 'ð“§' => 'X', - 'ð“¨' => 'Y', - 'ð“©' => 'Z', - 'ð“ª' => 'a', - 'ð“«' => 'b', - 'ð“¬' => 'c', - 'ð“­' => 'd', - 'ð“®' => 'e', - 'ð“¯' => 'f', - 'ð“°' => 'g', - 'ð“±' => 'h', - 'ð“²' => 'i', - 'ð“³' => 'j', - 'ð“´' => 'k', - 'ð“µ' => 'l', - 'ð“¶' => 'm', - 'ð“·' => 'n', - 'ð“¸' => 'o', - 'ð“¹' => 'p', - 'ð“º' => 'q', - 'ð“»' => 'r', - 'ð“¼' => 's', - 'ð“½' => 't', - 'ð“¾' => 'u', - 'ð“¿' => 'v', - 'ð”€' => 'w', - 'ð”' => 'x', - 'ð”‚' => 'y', - 'ð”ƒ' => 'z', - 'ð”„' => 'A', - 'ð”…' => 'B', - 'ð”‡' => 'D', - 'ð”ˆ' => 'E', - 'ð”‰' => 'F', - 'ð”Š' => 'G', - 'ð”' => 'J', - 'ð”Ž' => 'K', - 'ð”' => 'L', - 'ð”' => 'M', - 'ð”‘' => 'N', - 'ð”’' => 'O', - 'ð”“' => 'P', - 'ð””' => 'Q', - 'ð”–' => 'S', - 'ð”—' => 'T', - 'ð”˜' => 'U', - 'ð”™' => 'V', - 'ð”š' => 'W', - 'ð”›' => 'X', - 'ð”œ' => 'Y', - 'ð”ž' => 'a', - 'ð”Ÿ' => 'b', - 'ð” ' => 'c', - 'ð”¡' => 'd', - 'ð”¢' => 'e', - 'ð”£' => 'f', - 'ð”¤' => 'g', - 'ð”¥' => 'h', - 'ð”¦' => 'i', - 'ð”§' => 'j', - 'ð”¨' => 'k', - 'ð”©' => 'l', - 'ð”ª' => 'm', - 'ð”«' => 'n', - 'ð”¬' => 'o', - 'ð”­' => 'p', - 'ð”®' => 'q', - 'ð”¯' => 'r', - 'ð”°' => 's', - 'ð”±' => 't', - 'ð”²' => 'u', - 'ð”³' => 'v', - 'ð”´' => 'w', - 'ð”µ' => 'x', - 'ð”¶' => 'y', - 'ð”·' => 'z', - 'ð”¸' => 'A', - 'ð”¹' => 'B', - 'ð”»' => 'D', - 'ð”¼' => 'E', - 'ð”½' => 'F', - 'ð”¾' => 'G', - 'ð•€' => 'I', - 'ð•' => 'J', - 'ð•‚' => 'K', - 'ð•ƒ' => 'L', - 'ð•„' => 'M', - 'ð•†' => 'O', - 'ð•Š' => 'S', - 'ð•‹' => 'T', - 'ð•Œ' => 'U', - 'ð•' => 'V', - 'ð•Ž' => 'W', - 'ð•' => 'X', - 'ð•' => 'Y', - 'ð•’' => 'a', - 'ð•“' => 'b', - 'ð•”' => 'c', - 'ð••' => 'd', - 'ð•–' => 'e', - 'ð•—' => 'f', - 'ð•˜' => 'g', - 'ð•™' => 'h', - 'ð•š' => 'i', - 'ð•›' => 'j', - 'ð•œ' => 'k', - 'ð•' => 'l', - 'ð•ž' => 'm', - 'ð•Ÿ' => 'n', - 'ð• ' => 'o', - 'ð•¡' => 'p', - 'ð•¢' => 'q', - 'ð•£' => 'r', - 'ð•¤' => 's', - 'ð•¥' => 't', - 'ð•¦' => 'u', - 'ð•§' => 'v', - 'ð•¨' => 'w', - 'ð•©' => 'x', - 'ð•ª' => 'y', - 'ð•«' => 'z', - 'ð•¬' => 'A', - 'ð•­' => 'B', - 'ð•®' => 'C', - 'ð•¯' => 'D', - 'ð•°' => 'E', - 'ð•±' => 'F', - 'ð•²' => 'G', - 'ð•³' => 'H', - 'ð•´' => 'I', - 'ð•µ' => 'J', - 'ð•¶' => 'K', - 'ð•·' => 'L', - 'ð•¸' => 'M', - 'ð•¹' => 'N', - 'ð•º' => 'O', - 'ð•»' => 'P', - 'ð•¼' => 'Q', - 'ð•½' => 'R', - 'ð•¾' => 'S', - 'ð•¿' => 'T', - 'ð–€' => 'U', - 'ð–' => 'V', - 'ð–‚' => 'W', - 'ð–ƒ' => 'X', - 'ð–„' => 'Y', - 'ð–…' => 'Z', - 'ð–†' => 'a', - 'ð–‡' => 'b', - 'ð–ˆ' => 'c', - 'ð–‰' => 'd', - 'ð–Š' => 'e', - 'ð–‹' => 'f', - 'ð–Œ' => 'g', - 'ð–' => 'h', - 'ð–Ž' => 'i', - 'ð–' => 'j', - 'ð–' => 'k', - 'ð–‘' => 'l', - 'ð–’' => 'm', - 'ð–“' => 'n', - 'ð–”' => 'o', - 'ð–•' => 'p', - 'ð––' => 'q', - 'ð–—' => 'r', - 'ð–˜' => 's', - 'ð–™' => 't', - 'ð–š' => 'u', - 'ð–›' => 'v', - 'ð–œ' => 'w', - 'ð–' => 'x', - 'ð–ž' => 'y', - 'ð–Ÿ' => 'z', - 'ð– ' => 'A', - 'ð–¡' => 'B', - 'ð–¢' => 'C', - 'ð–£' => 'D', - 'ð–¤' => 'E', - 'ð–¥' => 'F', - 'ð–¦' => 'G', - 'ð–§' => 'H', - 'ð–¨' => 'I', - 'ð–©' => 'J', - 'ð–ª' => 'K', - 'ð–«' => 'L', - 'ð–¬' => 'M', - 'ð–­' => 'N', - 'ð–®' => 'O', - 'ð–¯' => 'P', - 'ð–°' => 'Q', - 'ð–±' => 'R', - 'ð–²' => 'S', - 'ð–³' => 'T', - 'ð–´' => 'U', - 'ð–µ' => 'V', - 'ð–¶' => 'W', - 'ð–·' => 'X', - 'ð–¸' => 'Y', - 'ð–¹' => 'Z', - 'ð–º' => 'a', - 'ð–»' => 'b', - 'ð–¼' => 'c', - 'ð–½' => 'd', - 'ð–¾' => 'e', - 'ð–¿' => 'f', - 'ð—€' => 'g', - 'ð—' => 'h', - 'ð—‚' => 'i', - 'ð—ƒ' => 'j', - 'ð—„' => 'k', - 'ð—…' => 'l', - 'ð—†' => 'm', - 'ð—‡' => 'n', - 'ð—ˆ' => 'o', - 'ð—‰' => 'p', - 'ð—Š' => 'q', - 'ð—‹' => 'r', - 'ð—Œ' => 's', - 'ð—' => 't', - 'ð—Ž' => 'u', - 'ð—' => 'v', - 'ð—' => 'w', - 'ð—‘' => 'x', - 'ð—’' => 'y', - 'ð—“' => 'z', - 'ð—”' => 'A', - 'ð—•' => 'B', - 'ð—–' => 'C', - 'ð——' => 'D', - 'ð—˜' => 'E', - 'ð—™' => 'F', - 'ð—š' => 'G', - 'ð—›' => 'H', - 'ð—œ' => 'I', - 'ð—' => 'J', - 'ð—ž' => 'K', - 'ð—Ÿ' => 'L', - 'ð— ' => 'M', - 'ð—¡' => 'N', - 'ð—¢' => 'O', - 'ð—£' => 'P', - 'ð—¤' => 'Q', - 'ð—¥' => 'R', - 'ð—¦' => 'S', - 'ð—§' => 'T', - 'ð—¨' => 'U', - 'ð—©' => 'V', - 'ð—ª' => 'W', - 'ð—«' => 'X', - 'ð—¬' => 'Y', - 'ð—­' => 'Z', - 'ð—®' => 'a', - 'ð—¯' => 'b', - 'ð—°' => 'c', - 'ð—±' => 'd', - 'ð—²' => 'e', - 'ð—³' => 'f', - 'ð—´' => 'g', - 'ð—µ' => 'h', - 'ð—¶' => 'i', - 'ð—·' => 'j', - 'ð—¸' => 'k', - 'ð—¹' => 'l', - 'ð—º' => 'm', - 'ð—»' => 'n', - 'ð—¼' => 'o', - 'ð—½' => 'p', - 'ð—¾' => 'q', - 'ð—¿' => 'r', - 'ð˜€' => 's', - 'ð˜' => 't', - 'ð˜‚' => 'u', - 'ð˜ƒ' => 'v', - 'ð˜„' => 'w', - 'ð˜…' => 'x', - 'ð˜†' => 'y', - 'ð˜‡' => 'z', - 'ð˜ˆ' => 'A', - 'ð˜‰' => 'B', - 'ð˜Š' => 'C', - 'ð˜‹' => 'D', - 'ð˜Œ' => 'E', - 'ð˜' => 'F', - 'ð˜Ž' => 'G', - 'ð˜' => 'H', - 'ð˜' => 'I', - 'ð˜‘' => 'J', - 'ð˜’' => 'K', - 'ð˜“' => 'L', - 'ð˜”' => 'M', - 'ð˜•' => 'N', - 'ð˜–' => 'O', - 'ð˜—' => 'P', - 'ð˜˜' => 'Q', - 'ð˜™' => 'R', - 'ð˜š' => 'S', - 'ð˜›' => 'T', - 'ð˜œ' => 'U', - 'ð˜' => 'V', - 'ð˜ž' => 'W', - 'ð˜Ÿ' => 'X', - 'ð˜ ' => 'Y', - 'ð˜¡' => 'Z', - 'ð˜¢' => 'a', - 'ð˜£' => 'b', - 'ð˜¤' => 'c', - 'ð˜¥' => 'd', - 'ð˜¦' => 'e', - 'ð˜§' => 'f', - 'ð˜¨' => 'g', - 'ð˜©' => 'h', - 'ð˜ª' => 'i', - 'ð˜«' => 'j', - 'ð˜¬' => 'k', - 'ð˜­' => 'l', - 'ð˜®' => 'm', - 'ð˜¯' => 'n', - 'ð˜°' => 'o', - 'ð˜±' => 'p', - 'ð˜²' => 'q', - 'ð˜³' => 'r', - 'ð˜´' => 's', - 'ð˜µ' => 't', - 'ð˜¶' => 'u', - 'ð˜·' => 'v', - 'ð˜¸' => 'w', - 'ð˜¹' => 'x', - 'ð˜º' => 'y', - 'ð˜»' => 'z', - 'ð˜¼' => 'A', - 'ð˜½' => 'B', - 'ð˜¾' => 'C', - 'ð˜¿' => 'D', - 'ð™€' => 'E', - 'ð™' => 'F', - 'ð™‚' => 'G', - 'ð™ƒ' => 'H', - 'ð™„' => 'I', - 'ð™…' => 'J', - 'ð™†' => 'K', - 'ð™‡' => 'L', - 'ð™ˆ' => 'M', - 'ð™‰' => 'N', - 'ð™Š' => 'O', - 'ð™‹' => 'P', - 'ð™Œ' => 'Q', - 'ð™' => 'R', - 'ð™Ž' => 'S', - 'ð™' => 'T', - 'ð™' => 'U', - 'ð™‘' => 'V', - 'ð™’' => 'W', - 'ð™“' => 'X', - 'ð™”' => 'Y', - 'ð™•' => 'Z', - 'ð™–' => 'a', - 'ð™—' => 'b', - 'ð™˜' => 'c', - 'ð™™' => 'd', - 'ð™š' => 'e', - 'ð™›' => 'f', - 'ð™œ' => 'g', - 'ð™' => 'h', - 'ð™ž' => 'i', - 'ð™Ÿ' => 'j', - 'ð™ ' => 'k', - 'ð™¡' => 'l', - 'ð™¢' => 'm', - 'ð™£' => 'n', - 'ð™¤' => 'o', - 'ð™¥' => 'p', - 'ð™¦' => 'q', - 'ð™§' => 'r', - 'ð™¨' => 's', - 'ð™©' => 't', - 'ð™ª' => 'u', - 'ð™«' => 'v', - 'ð™¬' => 'w', - 'ð™­' => 'x', - 'ð™®' => 'y', - 'ð™¯' => 'z', - 'ð™°' => 'A', - 'ð™±' => 'B', - 'ð™²' => 'C', - 'ð™³' => 'D', - 'ð™´' => 'E', - 'ð™µ' => 'F', - 'ð™¶' => 'G', - 'ð™·' => 'H', - 'ð™¸' => 'I', - 'ð™¹' => 'J', - 'ð™º' => 'K', - 'ð™»' => 'L', - 'ð™¼' => 'M', - 'ð™½' => 'N', - 'ð™¾' => 'O', - 'ð™¿' => 'P', - 'ðš€' => 'Q', - 'ðš' => 'R', - 'ðš‚' => 'S', - 'ðšƒ' => 'T', - 'ðš„' => 'U', - 'ðš…' => 'V', - 'ðš†' => 'W', - 'ðš‡' => 'X', - 'ðšˆ' => 'Y', - 'ðš‰' => 'Z', - 'ðšŠ' => 'a', - 'ðš‹' => 'b', - 'ðšŒ' => 'c', - 'ðš' => 'd', - 'ðšŽ' => 'e', - 'ðš' => 'f', - 'ðš' => 'g', - 'ðš‘' => 'h', - 'ðš’' => 'i', - 'ðš“' => 'j', - 'ðš”' => 'k', - 'ðš•' => 'l', - 'ðš–' => 'm', - 'ðš—' => 'n', - 'ðš˜' => 'o', - 'ðš™' => 'p', - 'ðšš' => 'q', - 'ðš›' => 'r', - 'ðšœ' => 's', - 'ðš' => 't', - 'ðšž' => 'u', - 'ðšŸ' => 'v', - 'ðš ' => 'w', - 'ðš¡' => 'x', - 'ðš¢' => 'y', - 'ðš£' => 'z', - 'ðš¤' => 'ı', - 'ðš¥' => 'È·', - 'ðš¨' => 'Α', - 'ðš©' => 'Î’', - 'ðšª' => 'Γ', - 'ðš«' => 'Δ', - 'ðš¬' => 'Ε', - 'ðš­' => 'Ζ', - 'ðš®' => 'Η', - 'ðš¯' => 'Θ', - 'ðš°' => 'Ι', - 'ðš±' => 'Κ', - 'ðš²' => 'Λ', - 'ðš³' => 'Îœ', - 'ðš´' => 'Î', - 'ðšµ' => 'Ξ', - 'ðš¶' => 'Ο', - 'ðš·' => 'Π', - 'ðš¸' => 'Ρ', - 'ðš¹' => 'Ï´', - 'ðšº' => 'Σ', - 'ðš»' => 'Τ', - 'ðš¼' => 'Î¥', - 'ðš½' => 'Φ', - 'ðš¾' => 'Χ', - 'ðš¿' => 'Ψ', - 'ð›€' => 'Ω', - 'ð›' => '∇', - 'ð›‚' => 'α', - 'ð›ƒ' => 'β', - 'ð›„' => 'γ', - 'ð›…' => 'δ', - 'ð›†' => 'ε', - 'ð›‡' => 'ζ', - 'ð›ˆ' => 'η', - 'ð›‰' => 'θ', - 'ð›Š' => 'ι', - 'ð›‹' => 'κ', - 'ð›Œ' => 'λ', - 'ð›' => 'μ', - 'ð›Ž' => 'ν', - 'ð›' => 'ξ', - 'ð›' => 'ο', - 'ð›‘' => 'Ï€', - 'ð›’' => 'Ï', - 'ð›“' => 'Ï‚', - 'ð›”' => 'σ', - 'ð›•' => 'Ï„', - 'ð›–' => 'Ï…', - 'ð›—' => 'φ', - 'ð›˜' => 'χ', - 'ð›™' => 'ψ', - 'ð›š' => 'ω', - 'ð››' => '∂', - 'ð›œ' => 'ϵ', - 'ð›' => 'Ï‘', - 'ð›ž' => 'Ï°', - 'ð›Ÿ' => 'Ï•', - 'ð› ' => 'ϱ', - 'ð›¡' => 'Ï–', - 'ð›¢' => 'Α', - 'ð›£' => 'Î’', - 'ð›¤' => 'Γ', - 'ð›¥' => 'Δ', - 'ð›¦' => 'Ε', - 'ð›§' => 'Ζ', - 'ð›¨' => 'Η', - 'ð›©' => 'Θ', - 'ð›ª' => 'Ι', - 'ð›«' => 'Κ', - 'ð›¬' => 'Λ', - 'ð›­' => 'Îœ', - 'ð›®' => 'Î', - 'ð›¯' => 'Ξ', - 'ð›°' => 'Ο', - 'ð›±' => 'Π', - 'ð›²' => 'Ρ', - 'ð›³' => 'Ï´', - 'ð›´' => 'Σ', - 'ð›µ' => 'Τ', - 'ð›¶' => 'Î¥', - 'ð›·' => 'Φ', - 'ð›¸' => 'Χ', - 'ð›¹' => 'Ψ', - 'ð›º' => 'Ω', - 'ð›»' => '∇', - 'ð›¼' => 'α', - 'ð›½' => 'β', - 'ð›¾' => 'γ', - 'ð›¿' => 'δ', - 'ðœ€' => 'ε', - 'ðœ' => 'ζ', - 'ðœ‚' => 'η', - 'ðœƒ' => 'θ', - 'ðœ„' => 'ι', - 'ðœ…' => 'κ', - 'ðœ†' => 'λ', - 'ðœ‡' => 'μ', - 'ðœˆ' => 'ν', - 'ðœ‰' => 'ξ', - 'ðœŠ' => 'ο', - 'ðœ‹' => 'Ï€', - 'ðœŒ' => 'Ï', - 'ðœ' => 'Ï‚', - 'ðœŽ' => 'σ', - 'ðœ' => 'Ï„', - 'ðœ' => 'Ï…', - 'ðœ‘' => 'φ', - 'ðœ’' => 'χ', - 'ðœ“' => 'ψ', - 'ðœ”' => 'ω', - 'ðœ•' => '∂', - 'ðœ–' => 'ϵ', - 'ðœ—' => 'Ï‘', - 'ðœ˜' => 'Ï°', - 'ðœ™' => 'Ï•', - 'ðœš' => 'ϱ', - 'ðœ›' => 'Ï–', - 'ðœœ' => 'Α', - 'ðœ' => 'Î’', - 'ðœž' => 'Γ', - 'ðœŸ' => 'Δ', - 'ðœ ' => 'Ε', - 'ðœ¡' => 'Ζ', - 'ðœ¢' => 'Η', - 'ðœ£' => 'Θ', - 'ðœ¤' => 'Ι', - 'ðœ¥' => 'Κ', - 'ðœ¦' => 'Λ', - 'ðœ§' => 'Îœ', - 'ðœ¨' => 'Î', - 'ðœ©' => 'Ξ', - 'ðœª' => 'Ο', - 'ðœ«' => 'Π', - 'ðœ¬' => 'Ρ', - 'ðœ­' => 'Ï´', - 'ðœ®' => 'Σ', - 'ðœ¯' => 'Τ', - 'ðœ°' => 'Î¥', - 'ðœ±' => 'Φ', - 'ðœ²' => 'Χ', - 'ðœ³' => 'Ψ', - 'ðœ´' => 'Ω', - 'ðœµ' => '∇', - 'ðœ¶' => 'α', - 'ðœ·' => 'β', - 'ðœ¸' => 'γ', - 'ðœ¹' => 'δ', - 'ðœº' => 'ε', - 'ðœ»' => 'ζ', - 'ðœ¼' => 'η', - 'ðœ½' => 'θ', - 'ðœ¾' => 'ι', - 'ðœ¿' => 'κ', - 'ð€' => 'λ', - 'ð' => 'μ', - 'ð‚' => 'ν', - 'ðƒ' => 'ξ', - 'ð„' => 'ο', - 'ð…' => 'Ï€', - 'ð†' => 'Ï', - 'ð‡' => 'Ï‚', - 'ðˆ' => 'σ', - 'ð‰' => 'Ï„', - 'ðŠ' => 'Ï…', - 'ð‹' => 'φ', - 'ðŒ' => 'χ', - 'ð' => 'ψ', - 'ðŽ' => 'ω', - 'ð' => '∂', - 'ð' => 'ϵ', - 'ð‘' => 'Ï‘', - 'ð’' => 'Ï°', - 'ð“' => 'Ï•', - 'ð”' => 'ϱ', - 'ð•' => 'Ï–', - 'ð–' => 'Α', - 'ð—' => 'Î’', - 'ð˜' => 'Γ', - 'ð™' => 'Δ', - 'ðš' => 'Ε', - 'ð›' => 'Ζ', - 'ðœ' => 'Η', - 'ð' => 'Θ', - 'ðž' => 'Ι', - 'ðŸ' => 'Κ', - 'ð ' => 'Λ', - 'ð¡' => 'Îœ', - 'ð¢' => 'Î', - 'ð£' => 'Ξ', - 'ð¤' => 'Ο', - 'ð¥' => 'Π', - 'ð¦' => 'Ρ', - 'ð§' => 'Ï´', - 'ð¨' => 'Σ', - 'ð©' => 'Τ', - 'ðª' => 'Î¥', - 'ð«' => 'Φ', - 'ð¬' => 'Χ', - 'ð­' => 'Ψ', - 'ð®' => 'Ω', - 'ð¯' => '∇', - 'ð°' => 'α', - 'ð±' => 'β', - 'ð²' => 'γ', - 'ð³' => 'δ', - 'ð´' => 'ε', - 'ðµ' => 'ζ', - 'ð¶' => 'η', - 'ð·' => 'θ', - 'ð¸' => 'ι', - 'ð¹' => 'κ', - 'ðº' => 'λ', - 'ð»' => 'μ', - 'ð¼' => 'ν', - 'ð½' => 'ξ', - 'ð¾' => 'ο', - 'ð¿' => 'Ï€', - 'ðž€' => 'Ï', - 'ðž' => 'Ï‚', - 'ðž‚' => 'σ', - 'ðžƒ' => 'Ï„', - 'ðž„' => 'Ï…', - 'ðž…' => 'φ', - 'ðž†' => 'χ', - 'ðž‡' => 'ψ', - 'ðžˆ' => 'ω', - 'ðž‰' => '∂', - 'ðžŠ' => 'ϵ', - 'ðž‹' => 'Ï‘', - 'ðžŒ' => 'Ï°', - 'ðž' => 'Ï•', - 'ðžŽ' => 'ϱ', - 'ðž' => 'Ï–', - 'ðž' => 'Α', - 'ðž‘' => 'Î’', - 'ðž’' => 'Γ', - 'ðž“' => 'Δ', - 'ðž”' => 'Ε', - 'ðž•' => 'Ζ', - 'ðž–' => 'Η', - 'ðž—' => 'Θ', - 'ðž˜' => 'Ι', - 'ðž™' => 'Κ', - 'ðžš' => 'Λ', - 'ðž›' => 'Îœ', - 'ðžœ' => 'Î', - 'ðž' => 'Ξ', - 'ðžž' => 'Ο', - 'ðžŸ' => 'Π', - 'ðž ' => 'Ρ', - 'ðž¡' => 'Ï´', - 'ðž¢' => 'Σ', - 'ðž£' => 'Τ', - 'ðž¤' => 'Î¥', - 'ðž¥' => 'Φ', - 'ðž¦' => 'Χ', - 'ðž§' => 'Ψ', - 'ðž¨' => 'Ω', - 'ðž©' => '∇', - 'ðžª' => 'α', - 'ðž«' => 'β', - 'ðž¬' => 'γ', - 'ðž­' => 'δ', - 'ðž®' => 'ε', - 'ðž¯' => 'ζ', - 'ðž°' => 'η', - 'ðž±' => 'θ', - 'ðž²' => 'ι', - 'ðž³' => 'κ', - 'ðž´' => 'λ', - 'ðžµ' => 'μ', - 'ðž¶' => 'ν', - 'ðž·' => 'ξ', - 'ðž¸' => 'ο', - 'ðž¹' => 'Ï€', - 'ðžº' => 'Ï', - 'ðž»' => 'Ï‚', - 'ðž¼' => 'σ', - 'ðž½' => 'Ï„', - 'ðž¾' => 'Ï…', - 'ðž¿' => 'φ', - 'ðŸ€' => 'χ', - 'ðŸ' => 'ψ', - 'ðŸ‚' => 'ω', - 'ðŸƒ' => '∂', - 'ðŸ„' => 'ϵ', - 'ðŸ…' => 'Ï‘', - 'ðŸ†' => 'Ï°', - 'ðŸ‡' => 'Ï•', - 'ðŸˆ' => 'ϱ', - 'ðŸ‰' => 'Ï–', - 'ðŸŠ' => 'Ïœ', - 'ðŸ‹' => 'Ï', - 'ðŸŽ' => '0', - 'ðŸ' => '1', - 'ðŸ' => '2', - 'ðŸ‘' => '3', - 'ðŸ’' => '4', - 'ðŸ“' => '5', - 'ðŸ”' => '6', - 'ðŸ•' => '7', - 'ðŸ–' => '8', - 'ðŸ—' => '9', - 'ðŸ˜' => '0', - 'ðŸ™' => '1', - 'ðŸš' => '2', - 'ðŸ›' => '3', - 'ðŸœ' => '4', - 'ðŸ' => '5', - 'ðŸž' => '6', - 'ðŸŸ' => '7', - 'ðŸ ' => '8', - 'ðŸ¡' => '9', - 'ðŸ¢' => '0', - 'ðŸ£' => '1', - 'ðŸ¤' => '2', - 'ðŸ¥' => '3', - 'ðŸ¦' => '4', - 'ðŸ§' => '5', - 'ðŸ¨' => '6', - 'ðŸ©' => '7', - 'ðŸª' => '8', - 'ðŸ«' => '9', - 'ðŸ¬' => '0', - 'ðŸ­' => '1', - 'ðŸ®' => '2', - 'ðŸ¯' => '3', - 'ðŸ°' => '4', - 'ðŸ±' => '5', - 'ðŸ²' => '6', - 'ðŸ³' => '7', - 'ðŸ´' => '8', - 'ðŸµ' => '9', - 'ðŸ¶' => '0', - 'ðŸ·' => '1', - 'ðŸ¸' => '2', - 'ðŸ¹' => '3', - 'ðŸº' => '4', - 'ðŸ»' => '5', - 'ðŸ¼' => '6', - 'ðŸ½' => '7', - 'ðŸ¾' => '8', - 'ðŸ¿' => '9', - '𞸀' => 'ا', - 'ðž¸' => 'ب', - '𞸂' => 'ج', - '𞸃' => 'د', - '𞸅' => 'Ùˆ', - '𞸆' => 'ز', - '𞸇' => 'Ø­', - '𞸈' => 'Ø·', - '𞸉' => 'ÙŠ', - '𞸊' => 'Ùƒ', - '𞸋' => 'Ù„', - '𞸌' => 'Ù…', - 'ðž¸' => 'Ù†', - '𞸎' => 'س', - 'ðž¸' => 'ع', - 'ðž¸' => 'Ù', - '𞸑' => 'ص', - '𞸒' => 'Ù‚', - '𞸓' => 'ر', - '𞸔' => 'Ø´', - '𞸕' => 'ت', - '𞸖' => 'Ø«', - '𞸗' => 'Ø®', - '𞸘' => 'Ø°', - '𞸙' => 'ض', - '𞸚' => 'ظ', - '𞸛' => 'غ', - '𞸜' => 'Ù®', - 'ðž¸' => 'Úº', - '𞸞' => 'Ú¡', - '𞸟' => 'Ù¯', - '𞸡' => 'ب', - '𞸢' => 'ج', - '𞸤' => 'Ù‡', - '𞸧' => 'Ø­', - '𞸩' => 'ÙŠ', - '𞸪' => 'Ùƒ', - '𞸫' => 'Ù„', - '𞸬' => 'Ù…', - '𞸭' => 'Ù†', - '𞸮' => 'س', - '𞸯' => 'ع', - '𞸰' => 'Ù', - '𞸱' => 'ص', - '𞸲' => 'Ù‚', - '𞸴' => 'Ø´', - '𞸵' => 'ت', - '𞸶' => 'Ø«', - '𞸷' => 'Ø®', - '𞸹' => 'ض', - '𞸻' => 'غ', - '𞹂' => 'ج', - '𞹇' => 'Ø­', - '𞹉' => 'ÙŠ', - '𞹋' => 'Ù„', - 'ðž¹' => 'Ù†', - '𞹎' => 'س', - 'ðž¹' => 'ع', - '𞹑' => 'ص', - 'ðž¹’' => 'Ù‚', - 'ðž¹”' => 'Ø´', - 'ðž¹—' => 'Ø®', - 'ðž¹™' => 'ض', - 'ðž¹›' => 'غ', - 'ðž¹' => 'Úº', - '𞹟' => 'Ù¯', - '𞹡' => 'ب', - 'ðž¹¢' => 'ج', - '𞹤' => 'Ù‡', - '𞹧' => 'Ø­', - '𞹨' => 'Ø·', - '𞹩' => 'ÙŠ', - '𞹪' => 'Ùƒ', - '𞹬' => 'Ù…', - 'ðž¹­' => 'Ù†', - 'ðž¹®' => 'س', - '𞹯' => 'ع', - 'ðž¹°' => 'Ù', - 'ðž¹±' => 'ص', - 'ðž¹²' => 'Ù‚', - 'ðž¹´' => 'Ø´', - 'ðž¹µ' => 'ت', - '𞹶' => 'Ø«', - 'ðž¹·' => 'Ø®', - 'ðž¹¹' => 'ض', - '𞹺' => 'ظ', - 'ðž¹»' => 'غ', - 'ðž¹¼' => 'Ù®', - 'ðž¹¾' => 'Ú¡', - '𞺀' => 'ا', - 'ðžº' => 'ب', - '𞺂' => 'ج', - '𞺃' => 'د', - '𞺄' => 'Ù‡', - '𞺅' => 'Ùˆ', - '𞺆' => 'ز', - '𞺇' => 'Ø­', - '𞺈' => 'Ø·', - '𞺉' => 'ÙŠ', - '𞺋' => 'Ù„', - '𞺌' => 'Ù…', - 'ðžº' => 'Ù†', - '𞺎' => 'س', - 'ðžº' => 'ع', - 'ðžº' => 'Ù', - '𞺑' => 'ص', - '𞺒' => 'Ù‚', - '𞺓' => 'ر', - '𞺔' => 'Ø´', - '𞺕' => 'ت', - '𞺖' => 'Ø«', - '𞺗' => 'Ø®', - '𞺘' => 'Ø°', - '𞺙' => 'ض', - '𞺚' => 'ظ', - '𞺛' => 'غ', - '𞺡' => 'ب', - '𞺢' => 'ج', - '𞺣' => 'د', - '𞺥' => 'Ùˆ', - '𞺦' => 'ز', - '𞺧' => 'Ø­', - '𞺨' => 'Ø·', - '𞺩' => 'ÙŠ', - '𞺫' => 'Ù„', - '𞺬' => 'Ù…', - '𞺭' => 'Ù†', - '𞺮' => 'س', - '𞺯' => 'ع', - '𞺰' => 'Ù', - '𞺱' => 'ص', - '𞺲' => 'Ù‚', - '𞺳' => 'ر', - '𞺴' => 'Ø´', - '𞺵' => 'ت', - '𞺶' => 'Ø«', - '𞺷' => 'Ø®', - '𞺸' => 'Ø°', - '𞺹' => 'ض', - '𞺺' => 'ظ', - '𞺻' => 'غ', - '🄀' => '0.', - 'ðŸ„' => '0,', - '🄂' => '1,', - '🄃' => '2,', - '🄄' => '3,', - '🄅' => '4,', - '🄆' => '5,', - '🄇' => '6,', - '🄈' => '7,', - '🄉' => '8,', - '🄊' => '9,', - 'ðŸ„' => '(A)', - '🄑' => '(B)', - '🄒' => '(C)', - '🄓' => '(D)', - '🄔' => '(E)', - '🄕' => '(F)', - '🄖' => '(G)', - '🄗' => '(H)', - '🄘' => '(I)', - '🄙' => '(J)', - '🄚' => '(K)', - '🄛' => '(L)', - '🄜' => '(M)', - 'ðŸ„' => '(N)', - '🄞' => '(O)', - '🄟' => '(P)', - '🄠' => '(Q)', - '🄡' => '(R)', - '🄢' => '(S)', - '🄣' => '(T)', - '🄤' => '(U)', - '🄥' => '(V)', - '🄦' => '(W)', - '🄧' => '(X)', - '🄨' => '(Y)', - '🄩' => '(Z)', - '🄪' => '〔S〕', - '🄫' => '(C)', - '🄬' => '(R)', - '🄭' => '(CD)', - '🄮' => '(WZ)', - '🄰' => 'A', - '🄱' => 'B', - '🄲' => 'C', - '🄳' => 'D', - '🄴' => 'E', - '🄵' => 'F', - '🄶' => 'G', - '🄷' => 'H', - '🄸' => 'I', - '🄹' => 'J', - '🄺' => 'K', - '🄻' => 'L', - '🄼' => 'M', - '🄽' => 'N', - '🄾' => 'O', - '🄿' => 'P', - '🅀' => 'Q', - 'ðŸ…' => 'R', - '🅂' => 'S', - '🅃' => 'T', - '🅄' => 'U', - '🅅' => 'V', - '🅆' => 'W', - '🅇' => 'X', - '🅈' => 'Y', - '🅉' => 'Z', - '🅊' => 'HV', - '🅋' => 'MV', - '🅌' => 'SD', - 'ðŸ…' => 'SS', - '🅎' => 'PPV', - 'ðŸ…' => 'WC', - 'ðŸ†' => 'DJ', - '🈀' => 'ã»ã‹', - 'ðŸˆ' => 'ココ', - '🈂' => 'サ', - 'ðŸˆ' => '手', - '🈑' => 'å­—', - '🈒' => 'åŒ', - '🈓' => 'デ', - '🈔' => '二', - '🈕' => '多', - '🈖' => '解', - '🈗' => '天', - '🈘' => '交', - '🈙' => '映', - '🈚' => 'ç„¡', - '🈛' => 'æ–™', - '🈜' => 'å‰', - 'ðŸˆ' => '後', - '🈞' => 'å†', - '🈟' => 'æ–°', - '🈠' => 'åˆ', - '🈡' => '終', - '🈢' => '生', - '🈣' => '販', - '🈤' => '声', - '🈥' => 'å¹', - '🈦' => 'æ¼”', - '🈧' => '投', - '🈨' => 'æ•', - '🈩' => '一', - '🈪' => '三', - '🈫' => 'éŠ', - '🈬' => 'å·¦', - '🈭' => '中', - '🈮' => 'å³', - '🈯' => '指', - '🈰' => 'èµ°', - '🈱' => '打', - '🈲' => 'ç¦', - '🈳' => '空', - '🈴' => 'åˆ', - '🈵' => '満', - '🈶' => '有', - '🈷' => '月', - '🈸' => '申', - '🈹' => '割', - '🈺' => 'å–¶', - '🉀' => '〔本〕', - 'ðŸ‰' => '〔三〕', - '🉂' => '〔二〕', - '🉃' => '〔安〕', - '🉄' => '〔点〕', - '🉅' => '〔打〕', - '🉆' => '〔盗〕', - '🉇' => '〔å‹ã€•', - '🉈' => '〔敗〕', - 'ðŸ‰' => '(å¾—)', - '🉑' => '(å¯)', - '丽' => '丽', - 'ð¯ ' => '丸', - '乁' => 'ä¹', - '𠄢' => 'ð „¢', - '你' => 'ä½ ', - '侮' => 'ä¾®', - '侻' => 'ä¾»', - '倂' => '倂', - '偺' => 'åº', - '備' => 'å‚™', - '僧' => '僧', - '像' => 'åƒ', - '㒞' => 'ã’ž', - 'ð¯ ' => '𠘺', - '免' => 'å…', - 'ð¯ ' => 'å…”', - 'ð¯ ' => 'å…¤', - '具' => 'å…·', - '𠔜' => '𠔜', - '㒹' => 'ã’¹', - '內' => 'å…§', - '再' => 'å†', - '𠕋' => 'ð •‹', - '冗' => '冗', - '冤' => '冤', - '仌' => '仌', - '冬' => '冬', - '况' => '况', - '𩇟' => '𩇟', - 'ð¯ ' => '凵', - '刃' => '刃', - '㓟' => 'ã“Ÿ', - '刻' => '刻', - '剆' => '剆', - '割' => '割', - '剷' => '剷', - '㔕' => '㔕', - '勇' => '勇', - '勉' => '勉', - '勤' => '勤', - '勺' => '勺', - '包' => '包', - '匆' => '匆', - '北' => '北', - '卉' => 'å‰', - '卑' => 'å‘', - '博' => 'åš', - '即' => 'å³', - '卽' => 'å½', - '卿' => 'å¿', - '卿' => 'å¿', - '卿' => 'å¿', - '𠨬' => '𠨬', - '灰' => 'ç°', - '及' => 'åŠ', - '叟' => 'åŸ', - '𠭣' => 'ð ­£', - '叫' => 'å«', - '叱' => 'å±', - '吆' => 'å†', - '咞' => 'å’ž', - '吸' => 'å¸', - '呈' => '呈', - '周' => '周', - '咢' => 'å’¢', - 'ð¯¡' => '哶', - '唐' => 'å”', - '啓' => 'å•“', - '啣' => 'å•£', - '善' => 'å–„', - '善' => 'å–„', - '喙' => 'å–™', - '喫' => 'å–«', - '喳' => 'å–³', - '嗂' => 'å—‚', - '圖' => '圖', - '嘆' => '嘆', - 'ð¯¡' => '圗', - '噑' => '噑', - 'ð¯¡' => 'å™´', - 'ð¯¡' => '切', - '壮' => '壮', - '城' => '城', - '埴' => '埴', - '堍' => 'å ', - '型' => 'åž‹', - '堲' => 'å ²', - '報' => 'å ±', - '墬' => '墬', - '𡓤' => '𡓤', - '売' => '売', - '壷' => '壷', - '夆' => '夆', - 'ð¯¡' => '多', - '夢' => '夢', - '奢' => '奢', - '𡚨' => '𡚨', - '𡛪' => '𡛪', - '姬' => '姬', - '娛' => '娛', - '娧' => '娧', - '姘' => '姘', - '婦' => '婦', - '㛮' => 'ã›®', - '㛼' => '㛼', - '嬈' => '嬈', - '嬾' => '嬾', - '嬾' => '嬾', - '𡧈' => '𡧈', - '寃' => '寃', - '寘' => '寘', - '寧' => '寧', - '寳' => '寳', - '𡬘' => '𡬘', - '寿' => '寿', - '将' => 'å°†', - '当' => '当', - '尢' => 'å°¢', - '㞁' => 'ãž', - '屠' => 'å± ', - '屮' => 'å±®', - '峀' => 'å³€', - '岍' => 'å²', - '𡷤' => 'ð¡·¤', - '嵃' => '嵃', - '𡷦' => 'ð¡·¦', - '嵮' => 'åµ®', - '嵫' => '嵫', - '嵼' => 'åµ¼', - 'ð¯¢' => 'å·¡', - '巢' => 'å·¢', - '㠯' => 'ã ¯', - '巽' => 'å·½', - '帨' => '帨', - '帽' => '帽', - '幩' => '幩', - '㡢' => 'ã¡¢', - '𢆃' => '𢆃', - '㡼' => '㡼', - '庰' => '庰', - '庳' => '庳', - 'ð¯¢' => '庶', - '廊' => '廊', - 'ð¯¢' => '𪎒', - 'ð¯¢' => '廾', - '𢌱' => '𢌱', - '𢌱' => '𢌱', - '舁' => 'èˆ', - '弢' => 'å¼¢', - '弢' => 'å¼¢', - '㣇' => '㣇', - '𣊸' => '𣊸', - '𦇚' => '𦇚', - '形' => 'å½¢', - '彫' => '彫', - '㣣' => '㣣', - '徚' => '徚', - 'ð¯¢' => 'å¿', - '志' => 'å¿—', - '忹' => '忹', - '悁' => 'æ‚', - '㤺' => '㤺', - '㤜' => '㤜', - '悔' => 'æ‚”', - '𢛔' => '𢛔', - '惇' => '惇', - '慈' => 'æ…ˆ', - '慌' => 'æ…Œ', - '慎' => 'æ…Ž', - '慌' => 'æ…Œ', - '慺' => 'æ…º', - '憎' => '憎', - '憲' => '憲', - '憤' => '憤', - '憯' => '憯', - '懞' => '懞', - '懲' => '懲', - '懶' => '懶', - '成' => 'æˆ', - '戛' => '戛', - '扝' => 'æ‰', - '抱' => '抱', - '拔' => 'æ‹”', - '捐' => 'æ', - '𢬌' => '𢬌', - '挽' => '挽', - '拼' => '拼', - '捨' => 'æ¨', - '掃' => '掃', - '揤' => 'æ¤', - '𢯱' => '𢯱', - '搢' => 'æ¢', - '揅' => 'æ…', - 'ð¯£' => '掩', - '㨮' => '㨮', - '摩' => 'æ‘©', - '摾' => '摾', - '撝' => 'æ’', - '摷' => 'æ‘·', - '㩬' => '㩬', - '敏' => 'æ•', - '敬' => '敬', - '𣀊' => '𣀊', - '旣' => 'æ—£', - '書' => '書', - 'ð¯£' => '晉', - '㬙' => '㬙', - 'ð¯£' => 'æš‘', - 'ð¯£' => '㬈', - '㫤' => '㫤', - '冒' => '冒', - '冕' => '冕', - '最' => '最', - '暜' => 'æšœ', - '肭' => 'è‚­', - '䏙' => 'ä™', - '朗' => '朗', - '望' => '望', - '朡' => '朡', - '杞' => 'æž', - '杓' => 'æ“', - 'ð¯£' => 'ð£ƒ', - '㭉' => 'ã­‰', - '柺' => '柺', - '枅' => 'æž…', - '桒' => 'æ¡’', - '梅' => '梅', - '𣑭' => '𣑭', - '梎' => '梎', - '栟' => 'æ Ÿ', - '椔' => '椔', - '㮝' => 'ã®', - '楂' => '楂', - '榣' => '榣', - '槪' => '槪', - '檨' => '檨', - '𣚣' => '𣚣', - '櫛' => 'æ«›', - '㰘' => 'ã°˜', - '次' => '次', - '𣢧' => '𣢧', - '歔' => 'æ­”', - '㱎' => '㱎', - '歲' => 'æ­²', - '殟' => '殟', - '殺' => '殺', - '殻' => 'æ®»', - '𣪍' => 'ð£ª', - '𡴋' => 'ð¡´‹', - '𣫺' => '𣫺', - '汎' => '汎', - '𣲼' => '𣲼', - '沿' => '沿', - '泍' => 'æ³', - '汧' => '汧', - '洖' => 'æ´–', - '派' => 'æ´¾', - 'ð¯¤' => 'æµ·', - '流' => 'æµ', - '浩' => '浩', - '浸' => '浸', - '涅' => '涅', - '𣴞' => '𣴞', - '洴' => 'æ´´', - '港' => '港', - '湮' => 'æ¹®', - '㴳' => 'ã´³', - '滋' => '滋', - '滇' => '滇', - 'ð¯¤' => '𣻑', - '淹' => 'æ·¹', - 'ð¯¤' => 'æ½®', - 'ð¯¤' => '𣽞', - '𣾎' => '𣾎', - '濆' => '濆', - '瀹' => '瀹', - '瀞' => '瀞', - '瀛' => '瀛', - '㶖' => '㶖', - '灊' => 'çŠ', - '災' => 'ç½', - '灷' => 'ç·', - '炭' => 'ç‚­', - '𠔥' => '𠔥', - '煅' => 'ç……', - 'ð¯¤' => '𤉣', - '熜' => '熜', - '𤎫' => '𤎫', - '爨' => '爨', - '爵' => '爵', - '牐' => 'ç‰', - '𤘈' => '𤘈', - '犀' => '犀', - '犕' => '犕', - '𤜵' => '𤜵', - '𤠔' => '𤠔', - '獺' => 'çº', - '王' => '王', - '㺬' => '㺬', - '玥' => '玥', - '㺸' => '㺸', - '㺸' => '㺸', - '瑇' => '瑇', - '瑜' => 'ç‘œ', - '瑱' => '瑱', - '璅' => 'ç’…', - '瓊' => 'ç“Š', - '㼛' => 'ã¼›', - '甤' => '甤', - '𤰶' => '𤰶', - '甾' => '甾', - '𤲒' => '𤲒', - '異' => 'ç•°', - '𢆟' => '𢆟', - '瘐' => 'ç˜', - '𤾡' => '𤾡', - '𤾸' => '𤾸', - '𥁄' => 'ð¥„', - '㿼' => '㿼', - '䀈' => '䀈', - '直' => 'ç›´', - 'ð¯¥' => '𥃳', - '𥃲' => '𥃲', - '𥄙' => '𥄙', - '𥄳' => '𥄳', - '眞' => '眞', - '真' => '真', - '真' => '真', - '睊' => 'çŠ', - '䀹' => '䀹', - '瞋' => 'çž‹', - '䁆' => 'ä†', - '䂖' => 'ä‚–', - 'ð¯¥' => 'ð¥', - '硎' => 'ç¡Ž', - 'ð¯¥' => '碌', - 'ð¯¥' => '磌', - '䃣' => '䃣', - '𥘦' => '𥘦', - '祖' => '祖', - '𥚚' => '𥚚', - '𥛅' => '𥛅', - '福' => 'ç¦', - '秫' => '秫', - '䄯' => '䄯', - '穀' => 'ç©€', - '穊' => 'ç©Š', - '穏' => 'ç©', - '𥥼' => '𥥼', - 'ð¯¥' => '𥪧', - '𥪧' => '𥪧', - '竮' => 'ç«®', - '䈂' => '䈂', - '𥮫' => '𥮫', - '篆' => '篆', - '築' => '築', - '䈧' => '䈧', - '𥲀' => '𥲀', - '糒' => 'ç³’', - '䊠' => '䊠', - '糨' => '糨', - '糣' => 'ç³£', - '紀' => 'ç´€', - '𥾆' => '𥾆', - '絣' => 'çµ£', - '䌁' => 'äŒ', - '緇' => 'ç·‡', - '縂' => '縂', - '繅' => 'ç¹…', - '䌴' => '䌴', - '𦈨' => '𦈨', - '𦉇' => '𦉇', - '䍙' => 'ä™', - '𦋙' => '𦋙', - '罺' => '罺', - '𦌾' => '𦌾', - '羕' => '羕', - '翺' => '翺', - '者' => '者', - '𦓚' => '𦓚', - '𦔣' => '𦔣', - '聠' => 'è ', - '𦖨' => '𦖨', - '聰' => 'è°', - '𣍟' => 'ð£Ÿ', - 'ð¯¦' => 'ä•', - '育' => '育', - '脃' => '脃', - '䐋' => 'ä‹', - '脾' => '脾', - '媵' => '媵', - '𦞧' => '𦞧', - '𦞵' => '𦞵', - '𣎓' => '𣎓', - '𣎜' => '𣎜', - '舁' => 'èˆ', - '舄' => '舄', - 'ð¯¦' => '辞', - '䑫' => 'ä‘«', - 'ð¯¦' => '芑', - 'ð¯¦' => '芋', - '芝' => 'èŠ', - '劳' => '劳', - '花' => '花', - '芳' => '芳', - '芽' => '芽', - '苦' => '苦', - '𦬼' => '𦬼', - '若' => 'è‹¥', - '茝' => 'èŒ', - '荣' => 'è£', - '莭' => '莭', - '茣' => '茣', - 'ð¯¦' => '莽', - '菧' => 'è§', - '著' => 'è‘—', - '荓' => 'è“', - '菊' => 'èŠ', - '菌' => 'èŒ', - '菜' => 'èœ', - '𦰶' => '𦰶', - '𦵫' => '𦵫', - '𦳕' => '𦳕', - '䔫' => '䔫', - '蓱' => '蓱', - '蓳' => '蓳', - '蔖' => 'è”–', - '𧏊' => 'ð§Š', - '蕤' => '蕤', - '𦼬' => '𦼬', - '䕝' => 'ä•', - '䕡' => 'ä•¡', - '𦾱' => '𦾱', - '𧃒' => '𧃒', - '䕫' => 'ä•«', - '虐' => 'è™', - '虜' => '虜', - '虧' => '虧', - '虩' => '虩', - '蚩' => 'èš©', - '蚈' => '蚈', - '蜎' => '蜎', - '蛢' => '蛢', - '蝹' => 'è¹', - '蜨' => '蜨', - '蝫' => 'è«', - '螆' => '螆', - '䗗' => 'ä——', - '蟡' => '蟡', - 'ð¯§' => 'è ', - '䗹' => 'ä—¹', - '衠' => 'è¡ ', - '衣' => 'è¡£', - '𧙧' => '𧙧', - '裗' => '裗', - '裞' => '裞', - '䘵' => '䘵', - '裺' => '裺', - '㒻' => 'ã’»', - '𧢮' => '𧢮', - '𧥦' => '𧥦', - 'ð¯§' => 'äš¾', - '䛇' => '䛇', - 'ð¯§' => '誠', - 'ð¯§' => 'è«­', - '變' => '變', - '豕' => '豕', - '𧲨' => '𧲨', - '貫' => '貫', - '賁' => 'è³', - '贛' => 'è´›', - '起' => 'èµ·', - '𧼯' => '𧼯', - '𠠄' => 'ð  „', - '跋' => 'è·‹', - '趼' => '趼', - '跰' => 'è·°', - 'ð¯§' => '𠣞', - '軔' => 'è»”', - '輸' => '輸', - '𨗒' => '𨗒', - '𨗭' => '𨗭', - '邔' => 'é‚”', - '郱' => '郱', - '鄑' => 'é„‘', - '𨜮' => '𨜮', - '鄛' => 'é„›', - '鈸' => '鈸', - '鋗' => 'é‹—', - '鋘' => '鋘', - '鉼' => '鉼', - '鏹' => 'é¹', - '鐕' => 'é•', - '𨯺' => '𨯺', - '開' => 'é–‹', - '䦕' => '䦕', - '閷' => 'é–·', - '𨵷' => '𨵷', - '䧦' => '䧦', - '雃' => '雃', - '嶲' => '嶲', - '霣' => '霣', - '𩅅' => 'ð©……', - '𩈚' => '𩈚', - '䩮' => 'ä©®', - '䩶' => '䩶', - '韠' => '韠', - '𩐊' => 'ð©Š', - '䪲' => '䪲', - '𩒖' => 'ð©’–', - '頋' => 'é ‹', - '頋' => 'é ‹', - '頩' => 'é ©', - 'ð¯¨' => 'ð©–¶', - '飢' => '飢', - '䬳' => '䬳', - '餩' => '餩', - '馧' => '馧', - '駂' => '駂', - '駾' => '駾', - '䯎' => '䯎', - '𩬰' => '𩬰', - '鬒' => '鬒', - '鱀' => 'é±€', - '鳽' => 'é³½', - 'ð¯¨' => '䳎', - '䳭' => 'ä³­', - 'ð¯¨' => '鵧', - 'ð¯¨' => '𪃎', - '䳸' => '䳸', - '𪄅' => '𪄅', - '𪈎' => '𪈎', - '𪊑' => '𪊑', - '麻' => '麻', - '䵖' => 'äµ–', - '黹' => '黹', - '黾' => '黾', - '鼅' => 'é¼…', - '鼏' => 'é¼', - '鼖' => 'é¼–', - '鼻' => 'é¼»', - 'ð¯¨' => '𪘀', - 'Æ' => 'AE', - 'Ã' => 'D', - 'Ø' => 'O', - 'Þ' => 'TH', - 'ß' => 'ss', - 'æ' => 'ae', - 'ð' => 'd', - 'ø' => 'o', - 'þ' => 'th', - 'Ä' => 'D', - 'Ä‘' => 'd', - 'Ħ' => 'H', - 'ħ' => 'h', - 'ı' => 'i', - 'ĸ' => 'q', - 'Å' => 'L', - 'Å‚' => 'l', - 'ÅŠ' => 'N', - 'Å‹' => 'n', - 'Å’' => 'OE', - 'Å“' => 'oe', - 'Ŧ' => 'T', - 'ŧ' => 't', - 'Æ€' => 'b', - 'Æ' => 'B', - 'Æ‚' => 'B', - 'ƃ' => 'b', - 'Ƈ' => 'C', - 'ƈ' => 'c', - 'Ɖ' => 'D', - 'ÆŠ' => 'D', - 'Æ‹' => 'D', - 'ÆŒ' => 'd', - 'Æ' => 'E', - 'Æ‘' => 'F', - 'Æ’' => 'f', - 'Æ“' => 'G', - 'Æ•' => 'hv', - 'Æ–' => 'I', - 'Æ—' => 'I', - 'Ƙ' => 'K', - 'Æ™' => 'k', - 'Æš' => 'l', - 'Æ' => 'N', - 'Æž' => 'n', - 'Æ¢' => 'OI', - 'Æ£' => 'oi', - 'Ƥ' => 'P', - 'Æ¥' => 'p', - 'Æ«' => 't', - 'Ƭ' => 'T', - 'Æ­' => 't', - 'Æ®' => 'T', - 'Ʋ' => 'V', - 'Ƴ' => 'Y', - 'Æ´' => 'y', - 'Ƶ' => 'Z', - 'ƶ' => 'z', - 'Ǥ' => 'G', - 'Ç¥' => 'g', - 'È¡' => 'd', - 'Ȥ' => 'Z', - 'È¥' => 'z', - 'È´' => 'l', - 'ȵ' => 'n', - 'ȶ' => 't', - 'È·' => 'j', - 'ȸ' => 'db', - 'ȹ' => 'qp', - 'Ⱥ' => 'A', - 'È»' => 'C', - 'ȼ' => 'c', - 'Ƚ' => 'L', - 'Ⱦ' => 'T', - 'È¿' => 's', - 'É€' => 'z', - 'Ƀ' => 'B', - 'É„' => 'U', - 'Ɇ' => 'E', - 'ɇ' => 'e', - 'Ɉ' => 'J', - 'ɉ' => 'j', - 'ÉŒ' => 'R', - 'É' => 'r', - 'ÉŽ' => 'Y', - 'É' => 'y', - 'É“' => 'b', - 'É•' => 'c', - 'É–' => 'd', - 'É—' => 'd', - 'É›' => 'e', - 'ÉŸ' => 'j', - 'É ' => 'g', - 'É¡' => 'g', - 'É¢' => 'G', - 'ɦ' => 'h', - 'ɧ' => 'h', - 'ɨ' => 'i', - 'ɪ' => 'I', - 'É«' => 'l', - 'ɬ' => 'l', - 'É­' => 'l', - 'ɱ' => 'm', - 'ɲ' => 'n', - 'ɳ' => 'n', - 'É´' => 'N', - 'ɶ' => 'OE', - 'ɼ' => 'r', - 'ɽ' => 'r', - 'ɾ' => 'r', - 'Ê€' => 'R', - 'Ê‚' => 's', - 'ʈ' => 't', - 'ʉ' => 'u', - 'Ê‹' => 'v', - 'Ê' => 'Y', - 'Ê' => 'z', - 'Ê‘' => 'z', - 'Ê™' => 'B', - 'Ê›' => 'G', - 'Êœ' => 'H', - 'Ê' => 'j', - 'ÊŸ' => 'L', - 'Ê ' => 'q', - 'Ê£' => 'dz', - 'Ê¥' => 'dz', - 'ʦ' => 'ts', - 'ʪ' => 'ls', - 'Ê«' => 'lz', - 'á´€' => 'A', - 'á´' => 'AE', - 'á´ƒ' => 'B', - 'á´„' => 'C', - 'á´…' => 'D', - 'á´†' => 'D', - 'á´‡' => 'E', - 'á´Š' => 'J', - 'á´‹' => 'K', - 'á´Œ' => 'L', - 'á´' => 'M', - 'á´' => 'O', - 'á´˜' => 'P', - 'á´›' => 'T', - 'á´œ' => 'U', - 'á´ ' => 'V', - 'á´¡' => 'W', - 'á´¢' => 'Z', - 'ᵫ' => 'ue', - 'ᵬ' => 'b', - 'áµ­' => 'd', - 'áµ®' => 'f', - 'ᵯ' => 'm', - 'áµ°' => 'n', - 'áµ±' => 'p', - 'áµ²' => 'r', - 'áµ³' => 'r', - 'áµ´' => 's', - 'áµµ' => 't', - 'ᵶ' => 'z', - 'ᵺ' => 'th', - 'áµ»' => 'I', - 'áµ½' => 'p', - 'áµ¾' => 'U', - 'ᶀ' => 'b', - 'á¶' => 'd', - 'ᶂ' => 'f', - 'ᶃ' => 'g', - 'ᶄ' => 'k', - 'ᶅ' => 'l', - 'ᶆ' => 'm', - 'ᶇ' => 'n', - 'ᶈ' => 'p', - 'ᶉ' => 'r', - 'ᶊ' => 's', - 'ᶌ' => 'v', - 'á¶' => 'x', - 'ᶎ' => 'z', - 'á¶' => 'a', - 'ᶑ' => 'd', - 'ᶒ' => 'e', - 'ᶓ' => 'e', - 'ᶖ' => 'i', - 'ᶙ' => 'u', - 'ẜ' => 's', - 'áº' => 's', - 'ẞ' => 'SS', - 'Ỻ' => 'LL', - 'á»»' => 'll', - 'Ỽ' => 'V', - 'ỽ' => 'v', - 'Ỿ' => 'Y', - 'ỿ' => 'y', - '©' => '(C)', - '®' => '(R)', - 'â‚ ' => 'CE', - 'â‚¢' => 'Cr', - 'â‚£' => 'Fr.', - '₤' => 'L.', - '₧' => 'Pts', - '₺' => 'TL', - '₹' => 'Rs', - 'â„ž' => 'Rx', - '〇' => '0', - '‘' => '\'', - '’' => '\'', - '‚' => ',', - '‛' => '\'', - '“' => '"', - 'â€' => '"', - '„' => ',,', - '‟' => '"', - '′' => '\'', - 'ã€' => '"', - '〞' => '"', - '«' => '<<', - '»' => '>>', - '‹' => '<', - '›' => '>', - 'â€' => '-', - '‑' => '-', - '‒' => '-', - '–' => '-', - '—' => '-', - '―' => '-', - '︱' => '-', - '︲' => '-', - '‖' => '||', - 'â„' => '/', - 'â…' => '[', - 'â†' => ']', - 'âŽ' => '*', - 'ã€' => ',', - '。' => '.', - '〈' => '<', - '〉' => '>', - '《' => '<<', - '》' => '>>', - '〔' => '[', - '〕' => ']', - '〘' => '[', - '〙' => ']', - '〚' => '[', - '〛' => ']', - 'ï¸' => ',', - '︑' => ',', - '︒' => '.', - '︓' => ':', - '︔' => ';', - '︕' => '!', - '︖' => '?', - '︙' => '...', - '︰' => '..', - '︵' => '(', - '︶' => ')', - '︷' => '{', - '︸' => '}', - '︹' => '[', - '︺' => ']', - '︽' => '<<', - '︾' => '>>', - '︿' => '<', - 'ï¹€' => '>', - '﹇' => '[', - '﹈' => ']', - '×' => '*', - '÷' => '/', - '−' => '-', - '∕' => '/', - '∖' => '\\', - '∣' => '|', - '∥' => '||', - '≪' => '<<', - '≫' => '>>', - '⦅' => '((', - '⦆' => '))', -); - -$result =& $data; -unset($data); - -return $result; diff --git a/paragonik-backend/vendor/symfony/polyfill-iconv/bootstrap.php b/paragonik-backend/vendor/symfony/polyfill-iconv/bootstrap.php deleted file mode 100644 index 5274732..0000000 --- a/paragonik-backend/vendor/symfony/polyfill-iconv/bootstrap.php +++ /dev/null @@ -1,44 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -use Symfony\Polyfill\Iconv as p; - -if (!function_exists('iconv')) { - define('ICONV_IMPL', 'Symfony'); - define('ICONV_VERSION', '1.0'); - define('ICONV_MIME_DECODE_STRICT', 1); - define('ICONV_MIME_DECODE_CONTINUE_ON_ERROR', 2); - - function iconv($from, $to, $s) { return p\Iconv::iconv($from, $to, $s); } - function iconv_get_encoding($type = 'all') { return p\Iconv::iconv_get_encoding($type); } - function iconv_set_encoding($type, $charset) { return p\Iconv::iconv_set_encoding($type, $charset); } - function iconv_mime_encode($name, $value, $pref = null) { return p\Iconv::iconv_mime_encode($name, $value, $pref); } - function iconv_mime_decode_headers($encodedHeaders, $mode = 0, $enc = null) { return p\Iconv::iconv_mime_decode_headers($encodedHeaders, $mode, $enc); } - - if (extension_loaded('mbstring')) { - function iconv_strlen($s, $enc = null) { null === $enc and $enc = p\Iconv::$internalEncoding; return mb_strlen($s, $enc); } - function iconv_strpos($s, $needle, $offset = 0, $enc = null) { null === $enc and $enc = p\Iconv::$internalEncoding; return mb_strpos($s, $needle, $offset, $enc); } - function iconv_strrpos($s, $needle, $enc = null) { null === $enc and $enc = p\Iconv::$internalEncoding; return mb_strrpos($s, $needle, 0, $enc); } - function iconv_substr($s, $start, $length = 2147483647, $enc = null) { null === $enc and $enc = p\Iconv::$internalEncoding; return mb_substr($s, $start, $length, $enc); } - function iconv_mime_decode($encodedHeaders, $mode = 0, $enc = null) { null === $enc and $enc = p\Iconv::$internalEncoding; return mb_decode_mimeheader($encodedHeaders, $mode, $enc); } - } else { - if (extension_loaded('xml')) { - function iconv_strlen($s, $enc = null) { return p\Iconv::strlen1($s, $enc); } - } else { - function iconv_strlen($s, $enc = null) { return p\Iconv::strlen2($s, $enc); } - } - - function iconv_strpos($s, $needle, $offset = 0, $enc = null) { return p\Iconv::iconv_strpos($s, $needle, $offset, $enc); } - function iconv_strrpos($s, $needle, $enc = null) { return p\Iconv::iconv_strrpos($s, $needle, $enc); } - function iconv_substr($s, $start, $length = 2147483647, $enc = null) { return p\Iconv::iconv_substr($s, $start, $length, $enc); } - function iconv_mime_decode($encodedHeaders, $mode = 0, $enc = null) { return p\Iconv::iconv_mime_decode($encodedHeaders, $mode, $enc); } - } -} diff --git a/paragonik-backend/vendor/symfony/polyfill-iconv/composer.json b/paragonik-backend/vendor/symfony/polyfill-iconv/composer.json deleted file mode 100644 index 0161be6..0000000 --- a/paragonik-backend/vendor/symfony/polyfill-iconv/composer.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "name": "symfony/polyfill-iconv", - "type": "library", - "description": "Symfony polyfill for the Iconv extension", - "keywords": ["polyfill", "shim", "compatibility", "portable", "iconv"], - "homepage": "https://symfony.com", - "license": "MIT", - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "require": { - "php": ">=5.3.3" - }, - "autoload": { - "psr-4": { "Symfony\\Polyfill\\Iconv\\": "" }, - "files": [ "bootstrap.php" ] - }, - "suggest": { - "ext-iconv": "For best performance" - }, - "minimum-stability": "dev", - "extra": { - "branch-alias": { - "dev-master": "1.13-dev" - } - } -} diff --git a/paragonik-backend/vendor/symfony/polyfill-intl-idn/Idn.php b/paragonik-backend/vendor/symfony/polyfill-intl-idn/Idn.php deleted file mode 100644 index adb718d..0000000 --- a/paragonik-backend/vendor/symfony/polyfill-intl-idn/Idn.php +++ /dev/null @@ -1,283 +0,0 @@ - - * @author Sebastian Kroczek - * @author Dmitry Lukashin - * @author Laurent Bassin - * - * @internal - */ -final class Idn -{ - const INTL_IDNA_VARIANT_2003 = 0; - const INTL_IDNA_VARIANT_UTS46 = 1; - - private static $encodeTable = array( - 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', - 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', - 'y', 'z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', - ); - - private static $decodeTable = array( - 'a' => 0, 'b' => 1, 'c' => 2, 'd' => 3, 'e' => 4, 'f' => 5, - 'g' => 6, 'h' => 7, 'i' => 8, 'j' => 9, 'k' => 10, 'l' => 11, - 'm' => 12, 'n' => 13, 'o' => 14, 'p' => 15, 'q' => 16, 'r' => 17, - 's' => 18, 't' => 19, 'u' => 20, 'v' => 21, 'w' => 22, 'x' => 23, - 'y' => 24, 'z' => 25, '0' => 26, '1' => 27, '2' => 28, '3' => 29, - '4' => 30, '5' => 31, '6' => 32, '7' => 33, '8' => 34, '9' => 35, - ); - - public static function idn_to_ascii($domain, $options, $variant, &$idna_info = array()) - { - if (\PHP_VERSION_ID >= 70200 && self::INTL_IDNA_VARIANT_2003 === $variant) { - @trigger_error('idn_to_ascii(): INTL_IDNA_VARIANT_2003 is deprecated', E_USER_DEPRECATED); - } - - if (self::INTL_IDNA_VARIANT_UTS46 === $variant) { - $domain = mb_strtolower($domain, 'utf-8'); - } - - $parts = explode('.', $domain); - - foreach ($parts as $i => &$part) { - if ('' === $part && \count($parts) > 1 + $i) { - return false; - } - if (false === $part = self::encodePart($part)) { - return false; - } - } - - $output = implode('.', $parts); - - $idna_info = array( - 'result' => \strlen($output) > 255 ? false : $output, - 'isTransitionalDifferent' => false, - 'errors' => 0, - ); - - return $idna_info['result']; - } - - public static function idn_to_utf8($domain, $options, $variant, &$idna_info = array()) - { - if (\PHP_VERSION_ID >= 70200 && self::INTL_IDNA_VARIANT_2003 === $variant) { - @trigger_error('idn_to_utf8(): INTL_IDNA_VARIANT_2003 is deprecated', E_USER_DEPRECATED); - } - - $parts = explode('.', $domain); - - foreach ($parts as &$part) { - $length = \strlen($part); - if ($length < 1 || 63 < $length) { - continue; - } - if (0 !== strpos($part, 'xn--')) { - continue; - } - - $part = substr($part, 4); - $part = self::decodePart($part); - } - - $output = implode('.', $parts); - - $idna_info = array( - 'result' => \strlen($output) > 255 ? false : $output, - 'isTransitionalDifferent' => false, - 'errors' => 0, - ); - - return $idna_info['result']; - } - - private static function encodePart($input) - { - $codePoints = self::listCodePoints($input); - - $n = 128; - $bias = 72; - $delta = 0; - $h = $b = \count($codePoints['basic']); - - $output = ''; - foreach ($codePoints['basic'] as $code) { - $output .= mb_chr($code, 'utf-8'); - } - if ($input === $output) { - return $output; - } - if ($b > 0) { - $output .= '-'; - } - - $codePoints['nonBasic'] = array_unique($codePoints['nonBasic']); - sort($codePoints['nonBasic']); - - $i = 0; - $length = mb_strlen($input, 'utf-8'); - while ($h < $length) { - $m = $codePoints['nonBasic'][$i++]; - $delta += ($m - $n) * ($h + 1); - $n = $m; - - foreach ($codePoints['all'] as $c) { - if ($c < $n || $c < 128) { - ++$delta; - } - if ($c === $n) { - $q = $delta; - for ($k = 36;; $k += 36) { - $t = self::calculateThreshold($k, $bias); - if ($q < $t) { - break; - } - - $code = $t + (($q - $t) % (36 - $t)); - $output .= self::$encodeTable[$code]; - - $q = ($q - $t) / (36 - $t); - } - - $output .= self::$encodeTable[$q]; - $bias = self::adapt($delta, $h + 1, ($h === $b)); - $delta = 0; - ++$h; - } - } - - ++$delta; - ++$n; - } - - $output = 'xn--'.$output; - - return \strlen($output) < 1 || 63 < \strlen($output) ? false : strtolower($output); - } - - private static function listCodePoints($input) - { - $codePoints = array( - 'all' => array(), - 'basic' => array(), - 'nonBasic' => array(), - ); - - $length = mb_strlen($input, 'utf-8'); - for ($i = 0; $i < $length; ++$i) { - $char = mb_substr($input, $i, 1, 'utf-8'); - $code = mb_ord($char, 'utf-8'); - if ($code < 128) { - $codePoints['all'][] = $codePoints['basic'][] = $code; - } else { - $codePoints['all'][] = $codePoints['nonBasic'][] = $code; - } - } - - return $codePoints; - } - - private static function calculateThreshold($k, $bias) - { - if ($k <= $bias + 1) { - return 1; - } - if ($k >= $bias + 26) { - return 26; - } - - return $k - $bias; - } - - private static function adapt($delta, $numPoints, $firstTime) - { - $delta = (int) ($firstTime ? $delta / 700 : $delta / 2); - $delta += (int) ($delta / $numPoints); - - $k = 0; - while ($delta > 35 * 13) { - $delta = (int) ($delta / 35); - $k = $k + 36; - } - - return $k + (int) (36 * $delta / ($delta + 38)); - } - - private static function decodePart($input) - { - $n = 128; - $i = 0; - $bias = 72; - $output = ''; - - $pos = strrpos($input, '-'); - if (false !== $pos) { - $output = substr($input, 0, $pos++); - } else { - $pos = 0; - } - - $outputLength = \strlen($output); - $inputLength = \strlen($input); - - while ($pos < $inputLength) { - $oldi = $i; - $w = 1; - - for ($k = 36;; $k += 36) { - $digit = self::$decodeTable[$input[$pos++]]; - $i += $digit * $w; - $t = self::calculateThreshold($k, $bias); - - if ($digit < $t) { - break; - } - - $w *= 36 - $t; - } - - $bias = self::adapt($i - $oldi, ++$outputLength, 0 === $oldi); - $n = $n + (int) ($i / $outputLength); - $i = $i % $outputLength; - $output = mb_substr($output, 0, $i, 'utf-8').mb_chr($n, 'utf-8').mb_substr($output, $i, $outputLength - 1, 'utf-8'); - - ++$i; - } - - return $output; - } -} diff --git a/paragonik-backend/vendor/symfony/polyfill-intl-idn/LICENSE b/paragonik-backend/vendor/symfony/polyfill-intl-idn/LICENSE deleted file mode 100644 index 3f853aa..0000000 --- a/paragonik-backend/vendor/symfony/polyfill-intl-idn/LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 2018-2019 Fabien Potencier - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is furnished -to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/paragonik-backend/vendor/symfony/polyfill-intl-idn/README.md b/paragonik-backend/vendor/symfony/polyfill-intl-idn/README.md deleted file mode 100644 index 5fd8c6e..0000000 --- a/paragonik-backend/vendor/symfony/polyfill-intl-idn/README.md +++ /dev/null @@ -1,12 +0,0 @@ -Symfony Polyfill / Intl: Idn -============================ - -This component provides `idn_to_ascii` and `idn_to_utf8` functions to users who run php versions without the intl extension. - -More information can be found in the -[main Polyfill README](https://github.com/symfony/polyfill/blob/master/README.md). - -License -======= - -This library is released under the [MIT license](LICENSE). diff --git a/paragonik-backend/vendor/symfony/polyfill-intl-idn/bootstrap.php b/paragonik-backend/vendor/symfony/polyfill-intl-idn/bootstrap.php deleted file mode 100644 index c6e3921..0000000 --- a/paragonik-backend/vendor/symfony/polyfill-intl-idn/bootstrap.php +++ /dev/null @@ -1,59 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -use Symfony\Polyfill\Intl\Idn as p; - -if (!function_exists('idn_to_ascii')) { - define('U_IDNA_PROHIBITED_ERROR', 66560); - define('U_IDNA_ERROR_START', 66560); - define('U_IDNA_UNASSIGNED_ERROR', 66561); - define('U_IDNA_CHECK_BIDI_ERROR', 66562); - define('U_IDNA_STD3_ASCII_RULES_ERROR', 66563); - define('U_IDNA_ACE_PREFIX_ERROR', 66564); - define('U_IDNA_VERIFICATION_ERROR', 66565); - define('U_IDNA_LABEL_TOO_LONG_ERROR', 66566); - define('U_IDNA_ZERO_LENGTH_LABEL_ERROR', 66567); - define('U_IDNA_DOMAIN_NAME_TOO_LONG_ERROR', 66568); - define('U_IDNA_ERROR_LIMIT', 66569); - define('U_STRINGPREP_PROHIBITED_ERROR', 66560); - define('U_STRINGPREP_UNASSIGNED_ERROR', 66561); - define('U_STRINGPREP_CHECK_BIDI_ERROR', 66562); - define('IDNA_DEFAULT', 0); - define('IDNA_ALLOW_UNASSIGNED', 1); - define('IDNA_USE_STD3_RULES', 2); - define('IDNA_CHECK_BIDI', 4); - define('IDNA_CHECK_CONTEXTJ', 8); - define('IDNA_NONTRANSITIONAL_TO_ASCII', 16); - define('IDNA_NONTRANSITIONAL_TO_UNICODE', 32); - define('INTL_IDNA_VARIANT_2003', 0); - define('INTL_IDNA_VARIANT_UTS46', 1); - define('IDNA_ERROR_EMPTY_LABEL', 1); - define('IDNA_ERROR_LABEL_TOO_LONG', 2); - define('IDNA_ERROR_DOMAIN_NAME_TOO_LONG', 4); - define('IDNA_ERROR_LEADING_HYPHEN', 8); - define('IDNA_ERROR_TRAILING_HYPHEN', 16); - define('IDNA_ERROR_HYPHEN_3_4', 32); - define('IDNA_ERROR_LEADING_COMBINING_MARK', 64); - define('IDNA_ERROR_DISALLOWED', 128); - define('IDNA_ERROR_PUNYCODE', 256); - define('IDNA_ERROR_LABEL_HAS_DOT', 512); - define('IDNA_ERROR_INVALID_ACE_LABEL', 1024); - define('IDNA_ERROR_BIDI', 2048); - define('IDNA_ERROR_CONTEXTJ', 4096); - - if (PHP_VERSION_ID < 70400) { - function idn_to_ascii($domain, $options = IDNA_DEFAULT, $variant = INTL_IDNA_VARIANT_2003, &$idna_info = array()) { return p\Idn::idn_to_ascii($domain, $options, $variant, $idna_info); } - function idn_to_utf8($domain, $options = IDNA_DEFAULT, $variant = INTL_IDNA_VARIANT_2003, &$idna_info = array()) { return p\Idn::idn_to_utf8($domain, $options, $variant, $idna_info); } - } else { - function idn_to_ascii($domain, $options = IDNA_DEFAULT, $variant = INTL_IDNA_VARIANT_UTS46, &$idna_info = array()) { return p\Idn::idn_to_ascii($domain, $options, $variant, $idna_info); } - function idn_to_utf8($domain, $options = IDNA_DEFAULT, $variant = INTL_IDNA_VARIANT_UTS46, &$idna_info = array()) { return p\Idn::idn_to_utf8($domain, $options, $variant, $idna_info); } - } -} diff --git a/paragonik-backend/vendor/symfony/polyfill-intl-idn/composer.json b/paragonik-backend/vendor/symfony/polyfill-intl-idn/composer.json deleted file mode 100644 index 428c13e..0000000 --- a/paragonik-backend/vendor/symfony/polyfill-intl-idn/composer.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "name": "symfony/polyfill-intl-idn", - "type": "library", - "description": "Symfony polyfill for intl's idn_to_ascii and idn_to_utf8 functions", - "keywords": ["polyfill", "shim", "compatibility", "portable", "intl", "idn"], - "homepage": "https://symfony.com", - "license": "MIT", - "authors": [ - { - "name": "Laurent Bassin", - "email": "laurent@bassin.info" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "require": { - "php": ">=5.3.3", - "symfony/polyfill-mbstring": "^1.3", - "symfony/polyfill-php72": "^1.9" - }, - "autoload": { - "psr-4": { "Symfony\\Polyfill\\Intl\\Idn\\": "" }, - "files": [ "bootstrap.php" ] - }, - "suggest": { - "ext-intl": "For best performance" - }, - "minimum-stability": "dev", - "extra": { - "branch-alias": { - "dev-master": "1.13-dev" - } - } -} diff --git a/paragonik-backend/vendor/symfony/polyfill-mbstring/LICENSE b/paragonik-backend/vendor/symfony/polyfill-mbstring/LICENSE deleted file mode 100644 index 4cd8bdd..0000000 --- a/paragonik-backend/vendor/symfony/polyfill-mbstring/LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 2015-2019 Fabien Potencier - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is furnished -to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/paragonik-backend/vendor/symfony/polyfill-mbstring/Mbstring.php b/paragonik-backend/vendor/symfony/polyfill-mbstring/Mbstring.php deleted file mode 100644 index bf882ba..0000000 --- a/paragonik-backend/vendor/symfony/polyfill-mbstring/Mbstring.php +++ /dev/null @@ -1,840 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Polyfill\Mbstring; - -/** - * Partial mbstring implementation in PHP, iconv based, UTF-8 centric. - * - * Implemented: - * - mb_chr - Returns a specific character from its Unicode code point - * - mb_convert_encoding - Convert character encoding - * - mb_convert_variables - Convert character code in variable(s) - * - mb_decode_mimeheader - Decode string in MIME header field - * - mb_encode_mimeheader - Encode string for MIME header XXX NATIVE IMPLEMENTATION IS REALLY BUGGED - * - mb_decode_numericentity - Decode HTML numeric string reference to character - * - mb_encode_numericentity - Encode character to HTML numeric string reference - * - mb_convert_case - Perform case folding on a string - * - mb_detect_encoding - Detect character encoding - * - mb_get_info - Get internal settings of mbstring - * - mb_http_input - Detect HTTP input character encoding - * - mb_http_output - Set/Get HTTP output character encoding - * - mb_internal_encoding - Set/Get internal character encoding - * - mb_list_encodings - Returns an array of all supported encodings - * - mb_ord - Returns the Unicode code point of a character - * - mb_output_handler - Callback function converts character encoding in output buffer - * - mb_scrub - Replaces ill-formed byte sequences with substitute characters - * - mb_strlen - Get string length - * - mb_strpos - Find position of first occurrence of string in a string - * - mb_strrpos - Find position of last occurrence of a string in a string - * - mb_str_split - Convert a string to an array - * - mb_strtolower - Make a string lowercase - * - mb_strtoupper - Make a string uppercase - * - mb_substitute_character - Set/Get substitution character - * - mb_substr - Get part of string - * - mb_stripos - Finds position of first occurrence of a string within another, case insensitive - * - mb_stristr - Finds first occurrence of a string within another, case insensitive - * - mb_strrchr - Finds the last occurrence of a character in a string within another - * - mb_strrichr - Finds the last occurrence of a character in a string within another, case insensitive - * - mb_strripos - Finds position of last occurrence of a string within another, case insensitive - * - mb_strstr - Finds first occurrence of a string within another - * - mb_strwidth - Return width of string - * - mb_substr_count - Count the number of substring occurrences - * - * Not implemented: - * - mb_convert_kana - Convert "kana" one from another ("zen-kaku", "han-kaku" and more) - * - mb_ereg_* - Regular expression with multibyte support - * - mb_parse_str - Parse GET/POST/COOKIE data and set global variable - * - mb_preferred_mime_name - Get MIME charset string - * - mb_regex_encoding - Returns current encoding for multibyte regex as string - * - mb_regex_set_options - Set/Get the default options for mbregex functions - * - mb_send_mail - Send encoded mail - * - mb_split - Split multibyte string using regular expression - * - mb_strcut - Get part of string - * - mb_strimwidth - Get truncated string with specified width - * - * @author Nicolas Grekas - * - * @internal - */ -final class Mbstring -{ - const MB_CASE_FOLD = PHP_INT_MAX; - - private static $encodingList = array('ASCII', 'UTF-8'); - private static $language = 'neutral'; - private static $internalEncoding = 'UTF-8'; - private static $caseFold = array( - array('µ', 'Å¿', "\xCD\x85", 'Ï‚', "\xCF\x90", "\xCF\x91", "\xCF\x95", "\xCF\x96", "\xCF\xB0", "\xCF\xB1", "\xCF\xB5", "\xE1\xBA\x9B", "\xE1\xBE\xBE"), - array('μ', 's', 'ι', 'σ', 'β', 'θ', 'φ', 'Ï€', 'κ', 'Ï', 'ε', "\xE1\xB9\xA1", 'ι'), - ); - - public static function mb_convert_encoding($s, $toEncoding, $fromEncoding = null) - { - if (\is_array($fromEncoding) || false !== strpos($fromEncoding, ',')) { - $fromEncoding = self::mb_detect_encoding($s, $fromEncoding); - } else { - $fromEncoding = self::getEncoding($fromEncoding); - } - - $toEncoding = self::getEncoding($toEncoding); - - if ('BASE64' === $fromEncoding) { - $s = base64_decode($s); - $fromEncoding = $toEncoding; - } - - if ('BASE64' === $toEncoding) { - return base64_encode($s); - } - - if ('HTML-ENTITIES' === $toEncoding || 'HTML' === $toEncoding) { - if ('HTML-ENTITIES' === $fromEncoding || 'HTML' === $fromEncoding) { - $fromEncoding = 'Windows-1252'; - } - if ('UTF-8' !== $fromEncoding) { - $s = iconv($fromEncoding, 'UTF-8//IGNORE', $s); - } - - return preg_replace_callback('/[\x80-\xFF]+/', array(__CLASS__, 'html_encoding_callback'), $s); - } - - if ('HTML-ENTITIES' === $fromEncoding) { - $s = html_entity_decode($s, ENT_COMPAT, 'UTF-8'); - $fromEncoding = 'UTF-8'; - } - - return iconv($fromEncoding, $toEncoding.'//IGNORE', $s); - } - - public static function mb_convert_variables($toEncoding, $fromEncoding, &$a = null, &$b = null, &$c = null, &$d = null, &$e = null, &$f = null) - { - $vars = array(&$a, &$b, &$c, &$d, &$e, &$f); - - $ok = true; - array_walk_recursive($vars, function (&$v) use (&$ok, $toEncoding, $fromEncoding) { - if (false === $v = Mbstring::mb_convert_encoding($v, $toEncoding, $fromEncoding)) { - $ok = false; - } - }); - - return $ok ? $fromEncoding : false; - } - - public static function mb_decode_mimeheader($s) - { - return iconv_mime_decode($s, 2, self::$internalEncoding); - } - - public static function mb_encode_mimeheader($s, $charset = null, $transferEncoding = null, $linefeed = null, $indent = null) - { - trigger_error('mb_encode_mimeheader() is bugged. Please use iconv_mime_encode() instead', E_USER_WARNING); - } - - public static function mb_decode_numericentity($s, $convmap, $encoding = null) - { - if (null !== $s && !\is_scalar($s) && !(\is_object($s) && \method_exists($s, '__toString'))) { - trigger_error('mb_decode_numericentity() expects parameter 1 to be string, '.\gettype($s).' given', E_USER_WARNING); - - return null; - } - - if (!\is_array($convmap) || !$convmap) { - return false; - } - - if (null !== $encoding && !\is_scalar($encoding)) { - trigger_error('mb_decode_numericentity() expects parameter 3 to be string, '.\gettype($s).' given', E_USER_WARNING); - - return ''; // Instead of null (cf. mb_encode_numericentity). - } - - $s = (string) $s; - if ('' === $s) { - return ''; - } - - $encoding = self::getEncoding($encoding); - - if ('UTF-8' === $encoding) { - $encoding = null; - if (!preg_match('//u', $s)) { - $s = @iconv('UTF-8', 'UTF-8//IGNORE', $s); - } - } else { - $s = iconv($encoding, 'UTF-8//IGNORE', $s); - } - - $cnt = floor(\count($convmap) / 4) * 4; - - for ($i = 0; $i < $cnt; $i += 4) { - // collector_decode_htmlnumericentity ignores $convmap[$i + 3] - $convmap[$i] += $convmap[$i + 2]; - $convmap[$i + 1] += $convmap[$i + 2]; - } - - $s = preg_replace_callback('/&#(?:0*([0-9]+)|x0*([0-9a-fA-F]+))(?!&);?/', function (array $m) use ($cnt, $convmap) { - $c = isset($m[2]) ? (int) hexdec($m[2]) : $m[1]; - for ($i = 0; $i < $cnt; $i += 4) { - if ($c >= $convmap[$i] && $c <= $convmap[$i + 1]) { - return Mbstring::mb_chr($c - $convmap[$i + 2]); - } - } - - return $m[0]; - }, $s); - - if (null === $encoding) { - return $s; - } - - return iconv('UTF-8', $encoding.'//IGNORE', $s); - } - - public static function mb_encode_numericentity($s, $convmap, $encoding = null, $is_hex = false) - { - if (null !== $s && !\is_scalar($s) && !(\is_object($s) && \method_exists($s, '__toString'))) { - trigger_error('mb_encode_numericentity() expects parameter 1 to be string, '.\gettype($s).' given', E_USER_WARNING); - - return null; - } - - if (!\is_array($convmap) || !$convmap) { - return false; - } - - if (null !== $encoding && !\is_scalar($encoding)) { - trigger_error('mb_encode_numericentity() expects parameter 3 to be string, '.\gettype($s).' given', E_USER_WARNING); - - return null; // Instead of '' (cf. mb_decode_numericentity). - } - - if (null !== $is_hex && !\is_scalar($is_hex)) { - trigger_error('mb_encode_numericentity() expects parameter 4 to be boolean, '.\gettype($s).' given', E_USER_WARNING); - - return null; - } - - $s = (string) $s; - if ('' === $s) { - return ''; - } - - $encoding = self::getEncoding($encoding); - - if ('UTF-8' === $encoding) { - $encoding = null; - if (!preg_match('//u', $s)) { - $s = @iconv('UTF-8', 'UTF-8//IGNORE', $s); - } - } else { - $s = iconv($encoding, 'UTF-8//IGNORE', $s); - } - - static $ulenMask = array("\xC0" => 2, "\xD0" => 2, "\xE0" => 3, "\xF0" => 4); - - $cnt = floor(\count($convmap) / 4) * 4; - $i = 0; - $len = \strlen($s); - $result = ''; - - while ($i < $len) { - $ulen = $s[$i] < "\x80" ? 1 : $ulenMask[$s[$i] & "\xF0"]; - $uchr = substr($s, $i, $ulen); - $i += $ulen; - $c = self::mb_ord($uchr); - - for ($j = 0; $j < $cnt; $j += 4) { - if ($c >= $convmap[$j] && $c <= $convmap[$j + 1]) { - $cOffset = ($c + $convmap[$j + 2]) & $convmap[$j + 3]; - $result .= $is_hex ? sprintf('&#x%X;', $cOffset) : '&#'.$cOffset.';'; - continue 2; - } - } - $result .= $uchr; - } - - if (null === $encoding) { - return $result; - } - - return iconv('UTF-8', $encoding.'//IGNORE', $result); - } - - public static function mb_convert_case($s, $mode, $encoding = null) - { - $s = (string) $s; - if ('' === $s) { - return ''; - } - - $encoding = self::getEncoding($encoding); - - if ('UTF-8' === $encoding) { - $encoding = null; - if (!preg_match('//u', $s)) { - $s = @iconv('UTF-8', 'UTF-8//IGNORE', $s); - } - } else { - $s = iconv($encoding, 'UTF-8//IGNORE', $s); - } - - if (MB_CASE_TITLE == $mode) { - static $titleRegexp = null; - if (null === $titleRegexp) { - $titleRegexp = self::getData('titleCaseRegexp'); - } - $s = preg_replace_callback($titleRegexp, array(__CLASS__, 'title_case'), $s); - } else { - if (MB_CASE_UPPER == $mode) { - static $upper = null; - if (null === $upper) { - $upper = self::getData('upperCase'); - } - $map = $upper; - } else { - if (self::MB_CASE_FOLD === $mode) { - $s = str_replace(self::$caseFold[0], self::$caseFold[1], $s); - } - - static $lower = null; - if (null === $lower) { - $lower = self::getData('lowerCase'); - } - $map = $lower; - } - - static $ulenMask = array("\xC0" => 2, "\xD0" => 2, "\xE0" => 3, "\xF0" => 4); - - $i = 0; - $len = \strlen($s); - - while ($i < $len) { - $ulen = $s[$i] < "\x80" ? 1 : $ulenMask[$s[$i] & "\xF0"]; - $uchr = substr($s, $i, $ulen); - $i += $ulen; - - if (isset($map[$uchr])) { - $uchr = $map[$uchr]; - $nlen = \strlen($uchr); - - if ($nlen == $ulen) { - $nlen = $i; - do { - $s[--$nlen] = $uchr[--$ulen]; - } while ($ulen); - } else { - $s = substr_replace($s, $uchr, $i - $ulen, $ulen); - $len += $nlen - $ulen; - $i += $nlen - $ulen; - } - } - } - } - - if (null === $encoding) { - return $s; - } - - return iconv('UTF-8', $encoding.'//IGNORE', $s); - } - - public static function mb_internal_encoding($encoding = null) - { - if (null === $encoding) { - return self::$internalEncoding; - } - - $encoding = self::getEncoding($encoding); - - if ('UTF-8' === $encoding || false !== @iconv($encoding, $encoding, ' ')) { - self::$internalEncoding = $encoding; - - return true; - } - - return false; - } - - public static function mb_language($lang = null) - { - if (null === $lang) { - return self::$language; - } - - switch ($lang = strtolower($lang)) { - case 'uni': - case 'neutral': - self::$language = $lang; - - return true; - } - - return false; - } - - public static function mb_list_encodings() - { - return array('UTF-8'); - } - - public static function mb_encoding_aliases($encoding) - { - switch (strtoupper($encoding)) { - case 'UTF8': - case 'UTF-8': - return array('utf8'); - } - - return false; - } - - public static function mb_check_encoding($var = null, $encoding = null) - { - if (null === $encoding) { - if (null === $var) { - return false; - } - $encoding = self::$internalEncoding; - } - - return self::mb_detect_encoding($var, array($encoding)) || false !== @iconv($encoding, $encoding, $var); - } - - public static function mb_detect_encoding($str, $encodingList = null, $strict = false) - { - if (null === $encodingList) { - $encodingList = self::$encodingList; - } else { - if (!\is_array($encodingList)) { - $encodingList = array_map('trim', explode(',', $encodingList)); - } - $encodingList = array_map('strtoupper', $encodingList); - } - - foreach ($encodingList as $enc) { - switch ($enc) { - case 'ASCII': - if (!preg_match('/[\x80-\xFF]/', $str)) { - return $enc; - } - break; - - case 'UTF8': - case 'UTF-8': - if (preg_match('//u', $str)) { - return 'UTF-8'; - } - break; - - default: - if (0 === strncmp($enc, 'ISO-8859-', 9)) { - return $enc; - } - } - } - - return false; - } - - public static function mb_detect_order($encodingList = null) - { - if (null === $encodingList) { - return self::$encodingList; - } - - if (!\is_array($encodingList)) { - $encodingList = array_map('trim', explode(',', $encodingList)); - } - $encodingList = array_map('strtoupper', $encodingList); - - foreach ($encodingList as $enc) { - switch ($enc) { - default: - if (strncmp($enc, 'ISO-8859-', 9)) { - return false; - } - // no break - case 'ASCII': - case 'UTF8': - case 'UTF-8': - } - } - - self::$encodingList = $encodingList; - - return true; - } - - public static function mb_strlen($s, $encoding = null) - { - $encoding = self::getEncoding($encoding); - if ('CP850' === $encoding || 'ASCII' === $encoding) { - return \strlen($s); - } - - return @iconv_strlen($s, $encoding); - } - - public static function mb_strpos($haystack, $needle, $offset = 0, $encoding = null) - { - $encoding = self::getEncoding($encoding); - if ('CP850' === $encoding || 'ASCII' === $encoding) { - return strpos($haystack, $needle, $offset); - } - - $needle = (string) $needle; - if ('' === $needle) { - trigger_error(__METHOD__.': Empty delimiter', E_USER_WARNING); - - return false; - } - - return iconv_strpos($haystack, $needle, $offset, $encoding); - } - - public static function mb_strrpos($haystack, $needle, $offset = 0, $encoding = null) - { - $encoding = self::getEncoding($encoding); - if ('CP850' === $encoding || 'ASCII' === $encoding) { - return strrpos($haystack, $needle, $offset); - } - - if ($offset != (int) $offset) { - $offset = 0; - } elseif ($offset = (int) $offset) { - if ($offset < 0) { - if (0 > $offset += self::mb_strlen($needle)) { - $haystack = self::mb_substr($haystack, 0, $offset, $encoding); - } - $offset = 0; - } else { - $haystack = self::mb_substr($haystack, $offset, 2147483647, $encoding); - } - } - - $pos = iconv_strrpos($haystack, $needle, $encoding); - - return false !== $pos ? $offset + $pos : false; - } - - public static function mb_str_split($string, $split_length = 1, $encoding = null) - { - if (null !== $string && !\is_scalar($string) && !(\is_object($string) && \method_exists($string, '__toString'))) { - trigger_error('mb_str_split() expects parameter 1 to be string, '.\gettype($string).' given', E_USER_WARNING); - - return null; - } - - if (1 > $split_length = (int) $split_length) { - trigger_error('The length of each segment must be greater than zero', E_USER_WARNING); - - return false; - } - - if (null === $encoding) { - $encoding = mb_internal_encoding(); - } - - if ('UTF-8' === $encoding = self::getEncoding($encoding)) { - return preg_split("/(.{{$split_length}})/u", $string, null, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY); - } - - $result = array(); - $length = mb_strlen($string, $encoding); - - for ($i = 0; $i < $length; $i += $split_length) { - $result[] = mb_substr($string, $i, $split_length, $encoding); - } - - return $result; - } - - public static function mb_strtolower($s, $encoding = null) - { - return self::mb_convert_case($s, MB_CASE_LOWER, $encoding); - } - - public static function mb_strtoupper($s, $encoding = null) - { - return self::mb_convert_case($s, MB_CASE_UPPER, $encoding); - } - - public static function mb_substitute_character($c = null) - { - if (0 === strcasecmp($c, 'none')) { - return true; - } - - return null !== $c ? false : 'none'; - } - - public static function mb_substr($s, $start, $length = null, $encoding = null) - { - $encoding = self::getEncoding($encoding); - if ('CP850' === $encoding || 'ASCII' === $encoding) { - return (string) substr($s, $start, null === $length ? 2147483647 : $length); - } - - if ($start < 0) { - $start = iconv_strlen($s, $encoding) + $start; - if ($start < 0) { - $start = 0; - } - } - - if (null === $length) { - $length = 2147483647; - } elseif ($length < 0) { - $length = iconv_strlen($s, $encoding) + $length - $start; - if ($length < 0) { - return ''; - } - } - - return (string) iconv_substr($s, $start, $length, $encoding); - } - - public static function mb_stripos($haystack, $needle, $offset = 0, $encoding = null) - { - $haystack = self::mb_convert_case($haystack, self::MB_CASE_FOLD, $encoding); - $needle = self::mb_convert_case($needle, self::MB_CASE_FOLD, $encoding); - - return self::mb_strpos($haystack, $needle, $offset, $encoding); - } - - public static function mb_stristr($haystack, $needle, $part = false, $encoding = null) - { - $pos = self::mb_stripos($haystack, $needle, 0, $encoding); - - return self::getSubpart($pos, $part, $haystack, $encoding); - } - - public static function mb_strrchr($haystack, $needle, $part = false, $encoding = null) - { - $encoding = self::getEncoding($encoding); - if ('CP850' === $encoding || 'ASCII' === $encoding) { - return strrchr($haystack, $needle, $part); - } - $needle = self::mb_substr($needle, 0, 1, $encoding); - $pos = iconv_strrpos($haystack, $needle, $encoding); - - return self::getSubpart($pos, $part, $haystack, $encoding); - } - - public static function mb_strrichr($haystack, $needle, $part = false, $encoding = null) - { - $needle = self::mb_substr($needle, 0, 1, $encoding); - $pos = self::mb_strripos($haystack, $needle, $encoding); - - return self::getSubpart($pos, $part, $haystack, $encoding); - } - - public static function mb_strripos($haystack, $needle, $offset = 0, $encoding = null) - { - $haystack = self::mb_convert_case($haystack, self::MB_CASE_FOLD, $encoding); - $needle = self::mb_convert_case($needle, self::MB_CASE_FOLD, $encoding); - - return self::mb_strrpos($haystack, $needle, $offset, $encoding); - } - - public static function mb_strstr($haystack, $needle, $part = false, $encoding = null) - { - $pos = strpos($haystack, $needle); - if (false === $pos) { - return false; - } - if ($part) { - return substr($haystack, 0, $pos); - } - - return substr($haystack, $pos); - } - - public static function mb_get_info($type = 'all') - { - $info = array( - 'internal_encoding' => self::$internalEncoding, - 'http_output' => 'pass', - 'http_output_conv_mimetypes' => '^(text/|application/xhtml\+xml)', - 'func_overload' => 0, - 'func_overload_list' => 'no overload', - 'mail_charset' => 'UTF-8', - 'mail_header_encoding' => 'BASE64', - 'mail_body_encoding' => 'BASE64', - 'illegal_chars' => 0, - 'encoding_translation' => 'Off', - 'language' => self::$language, - 'detect_order' => self::$encodingList, - 'substitute_character' => 'none', - 'strict_detection' => 'Off', - ); - - if ('all' === $type) { - return $info; - } - if (isset($info[$type])) { - return $info[$type]; - } - - return false; - } - - public static function mb_http_input($type = '') - { - return false; - } - - public static function mb_http_output($encoding = null) - { - return null !== $encoding ? 'pass' === $encoding : 'pass'; - } - - public static function mb_strwidth($s, $encoding = null) - { - $encoding = self::getEncoding($encoding); - - if ('UTF-8' !== $encoding) { - $s = iconv($encoding, 'UTF-8//IGNORE', $s); - } - - $s = preg_replace('/[\x{1100}-\x{115F}\x{2329}\x{232A}\x{2E80}-\x{303E}\x{3040}-\x{A4CF}\x{AC00}-\x{D7A3}\x{F900}-\x{FAFF}\x{FE10}-\x{FE19}\x{FE30}-\x{FE6F}\x{FF00}-\x{FF60}\x{FFE0}-\x{FFE6}\x{20000}-\x{2FFFD}\x{30000}-\x{3FFFD}]/u', '', $s, -1, $wide); - - return ($wide << 1) + iconv_strlen($s, 'UTF-8'); - } - - public static function mb_substr_count($haystack, $needle, $encoding = null) - { - return substr_count($haystack, $needle); - } - - public static function mb_output_handler($contents, $status) - { - return $contents; - } - - public static function mb_chr($code, $encoding = null) - { - if (0x80 > $code %= 0x200000) { - $s = \chr($code); - } elseif (0x800 > $code) { - $s = \chr(0xC0 | $code >> 6).\chr(0x80 | $code & 0x3F); - } elseif (0x10000 > $code) { - $s = \chr(0xE0 | $code >> 12).\chr(0x80 | $code >> 6 & 0x3F).\chr(0x80 | $code & 0x3F); - } else { - $s = \chr(0xF0 | $code >> 18).\chr(0x80 | $code >> 12 & 0x3F).\chr(0x80 | $code >> 6 & 0x3F).\chr(0x80 | $code & 0x3F); - } - - if ('UTF-8' !== $encoding = self::getEncoding($encoding)) { - $s = mb_convert_encoding($s, $encoding, 'UTF-8'); - } - - return $s; - } - - public static function mb_ord($s, $encoding = null) - { - if ('UTF-8' !== $encoding = self::getEncoding($encoding)) { - $s = mb_convert_encoding($s, 'UTF-8', $encoding); - } - - if (1 === \strlen($s)) { - return \ord($s); - } - - $code = ($s = unpack('C*', substr($s, 0, 4))) ? $s[1] : 0; - if (0xF0 <= $code) { - return (($code - 0xF0) << 18) + (($s[2] - 0x80) << 12) + (($s[3] - 0x80) << 6) + $s[4] - 0x80; - } - if (0xE0 <= $code) { - return (($code - 0xE0) << 12) + (($s[2] - 0x80) << 6) + $s[3] - 0x80; - } - if (0xC0 <= $code) { - return (($code - 0xC0) << 6) + $s[2] - 0x80; - } - - return $code; - } - - private static function getSubpart($pos, $part, $haystack, $encoding) - { - if (false === $pos) { - return false; - } - if ($part) { - return self::mb_substr($haystack, 0, $pos, $encoding); - } - - return self::mb_substr($haystack, $pos, null, $encoding); - } - - private static function html_encoding_callback(array $m) - { - $i = 1; - $entities = ''; - $m = unpack('C*', htmlentities($m[0], ENT_COMPAT, 'UTF-8')); - - while (isset($m[$i])) { - if (0x80 > $m[$i]) { - $entities .= \chr($m[$i++]); - continue; - } - if (0xF0 <= $m[$i]) { - $c = (($m[$i++] - 0xF0) << 18) + (($m[$i++] - 0x80) << 12) + (($m[$i++] - 0x80) << 6) + $m[$i++] - 0x80; - } elseif (0xE0 <= $m[$i]) { - $c = (($m[$i++] - 0xE0) << 12) + (($m[$i++] - 0x80) << 6) + $m[$i++] - 0x80; - } else { - $c = (($m[$i++] - 0xC0) << 6) + $m[$i++] - 0x80; - } - - $entities .= '&#'.$c.';'; - } - - return $entities; - } - - private static function title_case(array $s) - { - return self::mb_convert_case($s[1], MB_CASE_UPPER, 'UTF-8').self::mb_convert_case($s[2], MB_CASE_LOWER, 'UTF-8'); - } - - private static function getData($file) - { - if (file_exists($file = __DIR__.'/Resources/unidata/'.$file.'.php')) { - return require $file; - } - - return false; - } - - private static function getEncoding($encoding) - { - if (null === $encoding) { - return self::$internalEncoding; - } - - if ('UTF-8' === $encoding) { - return 'UTF-8'; - } - - $encoding = strtoupper($encoding); - - if ('8BIT' === $encoding || 'BINARY' === $encoding) { - return 'CP850'; - } - - if ('UTF8' === $encoding) { - return 'UTF-8'; - } - - return $encoding; - } -} diff --git a/paragonik-backend/vendor/symfony/polyfill-mbstring/README.md b/paragonik-backend/vendor/symfony/polyfill-mbstring/README.md deleted file mode 100644 index 342e828..0000000 --- a/paragonik-backend/vendor/symfony/polyfill-mbstring/README.md +++ /dev/null @@ -1,13 +0,0 @@ -Symfony Polyfill / Mbstring -=========================== - -This component provides a partial, native PHP implementation for the -[Mbstring](http://php.net/mbstring) extension. - -More information can be found in the -[main Polyfill README](https://github.com/symfony/polyfill/blob/master/README.md). - -License -======= - -This library is released under the [MIT license](LICENSE). diff --git a/paragonik-backend/vendor/symfony/polyfill-mbstring/Resources/unidata/lowerCase.php b/paragonik-backend/vendor/symfony/polyfill-mbstring/Resources/unidata/lowerCase.php deleted file mode 100644 index e6fbfa6..0000000 --- a/paragonik-backend/vendor/symfony/polyfill-mbstring/Resources/unidata/lowerCase.php +++ /dev/null @@ -1,1096 +0,0 @@ - 'a', - 'B' => 'b', - 'C' => 'c', - 'D' => 'd', - 'E' => 'e', - 'F' => 'f', - 'G' => 'g', - 'H' => 'h', - 'I' => 'i', - 'J' => 'j', - 'K' => 'k', - 'L' => 'l', - 'M' => 'm', - 'N' => 'n', - 'O' => 'o', - 'P' => 'p', - 'Q' => 'q', - 'R' => 'r', - 'S' => 's', - 'T' => 't', - 'U' => 'u', - 'V' => 'v', - 'W' => 'w', - 'X' => 'x', - 'Y' => 'y', - 'Z' => 'z', - 'À' => 'à', - 'Ã' => 'á', - 'Â' => 'â', - 'Ã' => 'ã', - 'Ä' => 'ä', - 'Ã…' => 'Ã¥', - 'Æ' => 'æ', - 'Ç' => 'ç', - 'È' => 'è', - 'É' => 'é', - 'Ê' => 'ê', - 'Ë' => 'ë', - 'ÃŒ' => 'ì', - 'Ã' => 'í', - 'ÃŽ' => 'î', - 'Ã' => 'ï', - 'Ã' => 'ð', - 'Ñ' => 'ñ', - 'Ã’' => 'ò', - 'Ó' => 'ó', - 'Ô' => 'ô', - 'Õ' => 'õ', - 'Ö' => 'ö', - 'Ø' => 'ø', - 'Ù' => 'ù', - 'Ú' => 'ú', - 'Û' => 'û', - 'Ãœ' => 'ü', - 'Ã' => 'ý', - 'Þ' => 'þ', - 'Ä€' => 'Ä', - 'Ä‚' => 'ă', - 'Ä„' => 'Ä…', - 'Ć' => 'ć', - 'Ĉ' => 'ĉ', - 'ÄŠ' => 'Ä‹', - 'ÄŒ' => 'Ä', - 'ÄŽ' => 'Ä', - 'Ä' => 'Ä‘', - 'Ä’' => 'Ä“', - 'Ä”' => 'Ä•', - 'Ä–' => 'Ä—', - 'Ę' => 'Ä™', - 'Äš' => 'Ä›', - 'Äœ' => 'Ä', - 'Äž' => 'ÄŸ', - 'Ä ' => 'Ä¡', - 'Ä¢' => 'Ä£', - 'Ĥ' => 'Ä¥', - 'Ħ' => 'ħ', - 'Ĩ' => 'Ä©', - 'Ī' => 'Ä«', - 'Ĭ' => 'Ä­', - 'Ä®' => 'į', - 'Ä°' => 'i', - 'IJ' => 'ij', - 'Ä´' => 'ĵ', - 'Ķ' => 'Ä·', - 'Ĺ' => 'ĺ', - 'Ä»' => 'ļ', - 'Ľ' => 'ľ', - 'Ä¿' => 'Å€', - 'Å' => 'Å‚', - 'Ń' => 'Å„', - 'Å…' => 'ņ', - 'Ň' => 'ň', - 'ÅŠ' => 'Å‹', - 'ÅŒ' => 'Å', - 'ÅŽ' => 'Å', - 'Å' => 'Å‘', - 'Å’' => 'Å“', - 'Å”' => 'Å•', - 'Å–' => 'Å—', - 'Ř' => 'Å™', - 'Åš' => 'Å›', - 'Åœ' => 'Å', - 'Åž' => 'ÅŸ', - 'Å ' => 'Å¡', - 'Å¢' => 'Å£', - 'Ť' => 'Å¥', - 'Ŧ' => 'ŧ', - 'Ũ' => 'Å©', - 'Ū' => 'Å«', - 'Ŭ' => 'Å­', - 'Å®' => 'ů', - 'Å°' => 'ű', - 'Ų' => 'ų', - 'Å´' => 'ŵ', - 'Ŷ' => 'Å·', - 'Ÿ' => 'ÿ', - 'Ź' => 'ź', - 'Å»' => 'ż', - 'Ž' => 'ž', - 'Æ' => 'É“', - 'Æ‚' => 'ƃ', - 'Æ„' => 'Æ…', - 'Ɔ' => 'É”', - 'Ƈ' => 'ƈ', - 'Ɖ' => 'É–', - 'ÆŠ' => 'É—', - 'Æ‹' => 'ÆŒ', - 'ÆŽ' => 'Ç', - 'Æ' => 'É™', - 'Æ' => 'É›', - 'Æ‘' => 'Æ’', - 'Æ“' => 'É ', - 'Æ”' => 'É£', - 'Æ–' => 'É©', - 'Æ—' => 'ɨ', - 'Ƙ' => 'Æ™', - 'Æœ' => 'ɯ', - 'Æ' => 'ɲ', - 'ÆŸ' => 'ɵ', - 'Æ ' => 'Æ¡', - 'Æ¢' => 'Æ£', - 'Ƥ' => 'Æ¥', - 'Ʀ' => 'Ê€', - 'Ƨ' => 'ƨ', - 'Æ©' => 'ʃ', - 'Ƭ' => 'Æ­', - 'Æ®' => 'ʈ', - 'Ư' => 'Æ°', - 'Ʊ' => 'ÊŠ', - 'Ʋ' => 'Ê‹', - 'Ƴ' => 'Æ´', - 'Ƶ' => 'ƶ', - 'Æ·' => 'Ê’', - 'Ƹ' => 'ƹ', - 'Ƽ' => 'ƽ', - 'Ç„' => 'dž', - 'Ç…' => 'dž', - 'LJ' => 'lj', - 'Lj' => 'lj', - 'ÇŠ' => 'ÇŒ', - 'Ç‹' => 'ÇŒ', - 'Ç' => 'ÇŽ', - 'Ç' => 'Ç', - 'Ç‘' => 'Ç’', - 'Ç“' => 'Ç”', - 'Ç•' => 'Ç–', - 'Ç—' => 'ǘ', - 'Ç™' => 'Çš', - 'Ç›' => 'Çœ', - 'Çž' => 'ÇŸ', - 'Ç ' => 'Ç¡', - 'Ç¢' => 'Ç£', - 'Ǥ' => 'Ç¥', - 'Ǧ' => 'ǧ', - 'Ǩ' => 'Ç©', - 'Ǫ' => 'Ç«', - 'Ǭ' => 'Ç­', - 'Ç®' => 'ǯ', - 'DZ' => 'dz', - 'Dz' => 'dz', - 'Ç´' => 'ǵ', - 'Ƕ' => 'Æ•', - 'Ç·' => 'Æ¿', - 'Ǹ' => 'ǹ', - 'Ǻ' => 'Ç»', - 'Ǽ' => 'ǽ', - 'Ǿ' => 'Ç¿', - 'È€' => 'È', - 'È‚' => 'ȃ', - 'È„' => 'È…', - 'Ȇ' => 'ȇ', - 'Ȉ' => 'ȉ', - 'ÈŠ' => 'È‹', - 'ÈŒ' => 'È', - 'ÈŽ' => 'È', - 'È' => 'È‘', - 'È’' => 'È“', - 'È”' => 'È•', - 'È–' => 'È—', - 'Ș' => 'È™', - 'Èš' => 'È›', - 'Èœ' => 'È', - 'Èž' => 'ÈŸ', - 'È ' => 'Æž', - 'È¢' => 'È£', - 'Ȥ' => 'È¥', - 'Ȧ' => 'ȧ', - 'Ȩ' => 'È©', - 'Ȫ' => 'È«', - 'Ȭ' => 'È­', - 'È®' => 'ȯ', - 'È°' => 'ȱ', - 'Ȳ' => 'ȳ', - 'Ⱥ' => 'â±¥', - 'È»' => 'ȼ', - 'Ƚ' => 'Æš', - 'Ⱦ' => 'ⱦ', - 'É' => 'É‚', - 'Ƀ' => 'Æ€', - 'É„' => 'ʉ', - 'É…' => 'ÊŒ', - 'Ɇ' => 'ɇ', - 'Ɉ' => 'ɉ', - 'ÉŠ' => 'É‹', - 'ÉŒ' => 'É', - 'ÉŽ' => 'É', - 'Í°' => 'ͱ', - 'Ͳ' => 'ͳ', - 'Ͷ' => 'Í·', - 'Í¿' => 'ϳ', - 'Ά' => 'ά', - 'Έ' => 'έ', - 'Ή' => 'ή', - 'Ί' => 'ί', - 'ÎŒ' => 'ÏŒ', - 'ÎŽ' => 'Ï', - 'Î' => 'ÏŽ', - 'Α' => 'α', - 'Î’' => 'β', - 'Γ' => 'γ', - 'Δ' => 'δ', - 'Ε' => 'ε', - 'Ζ' => 'ζ', - 'Η' => 'η', - 'Θ' => 'θ', - 'Ι' => 'ι', - 'Κ' => 'κ', - 'Λ' => 'λ', - 'Îœ' => 'μ', - 'Î' => 'ν', - 'Ξ' => 'ξ', - 'Ο' => 'ο', - 'Π' => 'Ï€', - 'Ρ' => 'Ï', - 'Σ' => 'σ', - 'Τ' => 'Ï„', - 'Î¥' => 'Ï…', - 'Φ' => 'φ', - 'Χ' => 'χ', - 'Ψ' => 'ψ', - 'Ω' => 'ω', - 'Ϊ' => 'ÏŠ', - 'Ϋ' => 'Ï‹', - 'Ï' => 'Ï—', - 'Ϙ' => 'Ï™', - 'Ïš' => 'Ï›', - 'Ïœ' => 'Ï', - 'Ïž' => 'ÏŸ', - 'Ï ' => 'Ï¡', - 'Ï¢' => 'Ï£', - 'Ϥ' => 'Ï¥', - 'Ϧ' => 'ϧ', - 'Ϩ' => 'Ï©', - 'Ϫ' => 'Ï«', - 'Ϭ' => 'Ï­', - 'Ï®' => 'ϯ', - 'Ï´' => 'θ', - 'Ï·' => 'ϸ', - 'Ϲ' => 'ϲ', - 'Ϻ' => 'Ï»', - 'Ͻ' => 'Í»', - 'Ͼ' => 'ͼ', - 'Ï¿' => 'ͽ', - 'Ѐ' => 'Ñ', - 'Ð' => 'Ñ‘', - 'Ђ' => 'Ñ’', - 'Ѓ' => 'Ñ“', - 'Є' => 'Ñ”', - 'Ð…' => 'Ñ•', - 'І' => 'Ñ–', - 'Ї' => 'Ñ—', - 'Ј' => 'ј', - 'Љ' => 'Ñ™', - 'Њ' => 'Ñš', - 'Ћ' => 'Ñ›', - 'ÐŒ' => 'Ñœ', - 'Ð' => 'Ñ', - 'ÐŽ' => 'Ñž', - 'Ð' => 'ÑŸ', - 'Ð' => 'а', - 'Б' => 'б', - 'Ð’' => 'в', - 'Г' => 'г', - 'Д' => 'д', - 'Е' => 'е', - 'Ж' => 'ж', - 'З' => 'з', - 'И' => 'и', - 'Й' => 'й', - 'К' => 'к', - 'Л' => 'л', - 'Ðœ' => 'м', - 'Ð' => 'н', - 'О' => 'о', - 'П' => 'п', - 'Р' => 'Ñ€', - 'С' => 'Ñ', - 'Т' => 'Ñ‚', - 'У' => 'у', - 'Ф' => 'Ñ„', - 'Ð¥' => 'Ñ…', - 'Ц' => 'ц', - 'Ч' => 'ч', - 'Ш' => 'ш', - 'Щ' => 'щ', - 'Ъ' => 'ÑŠ', - 'Ы' => 'Ñ‹', - 'Ь' => 'ÑŒ', - 'Э' => 'Ñ', - 'Ю' => 'ÑŽ', - 'Я' => 'Ñ', - 'Ñ ' => 'Ñ¡', - 'Ñ¢' => 'Ñ£', - 'Ѥ' => 'Ñ¥', - 'Ѧ' => 'ѧ', - 'Ѩ' => 'Ñ©', - 'Ѫ' => 'Ñ«', - 'Ѭ' => 'Ñ­', - 'Ñ®' => 'ѯ', - 'Ñ°' => 'ѱ', - 'Ѳ' => 'ѳ', - 'Ñ´' => 'ѵ', - 'Ѷ' => 'Ñ·', - 'Ѹ' => 'ѹ', - 'Ѻ' => 'Ñ»', - 'Ѽ' => 'ѽ', - 'Ѿ' => 'Ñ¿', - 'Ò€' => 'Ò', - 'ÒŠ' => 'Ò‹', - 'ÒŒ' => 'Ò', - 'ÒŽ' => 'Ò', - 'Ò' => 'Ò‘', - 'Ò’' => 'Ò“', - 'Ò”' => 'Ò•', - 'Ò–' => 'Ò—', - 'Ò˜' => 'Ò™', - 'Òš' => 'Ò›', - 'Òœ' => 'Ò', - 'Òž' => 'ÒŸ', - 'Ò ' => 'Ò¡', - 'Ò¢' => 'Ò£', - 'Ò¤' => 'Ò¥', - 'Ò¦' => 'Ò§', - 'Ò¨' => 'Ò©', - 'Òª' => 'Ò«', - 'Ò¬' => 'Ò­', - 'Ò®' => 'Ò¯', - 'Ò°' => 'Ò±', - 'Ò²' => 'Ò³', - 'Ò´' => 'Òµ', - 'Ò¶' => 'Ò·', - 'Ò¸' => 'Ò¹', - 'Òº' => 'Ò»', - 'Ò¼' => 'Ò½', - 'Ò¾' => 'Ò¿', - 'Ó€' => 'Ó', - 'Ó' => 'Ó‚', - 'Óƒ' => 'Ó„', - 'Ó…' => 'Ó†', - 'Ó‡' => 'Óˆ', - 'Ó‰' => 'ÓŠ', - 'Ó‹' => 'ÓŒ', - 'Ó' => 'ÓŽ', - 'Ó' => 'Ó‘', - 'Ó’' => 'Ó“', - 'Ó”' => 'Ó•', - 'Ó–' => 'Ó—', - 'Ó˜' => 'Ó™', - 'Óš' => 'Ó›', - 'Óœ' => 'Ó', - 'Óž' => 'ÓŸ', - 'Ó ' => 'Ó¡', - 'Ó¢' => 'Ó£', - 'Ó¤' => 'Ó¥', - 'Ó¦' => 'Ó§', - 'Ó¨' => 'Ó©', - 'Óª' => 'Ó«', - 'Ó¬' => 'Ó­', - 'Ó®' => 'Ó¯', - 'Ó°' => 'Ó±', - 'Ó²' => 'Ó³', - 'Ó´' => 'Óµ', - 'Ó¶' => 'Ó·', - 'Ó¸' => 'Ó¹', - 'Óº' => 'Ó»', - 'Ó¼' => 'Ó½', - 'Ó¾' => 'Ó¿', - 'Ô€' => 'Ô', - 'Ô‚' => 'Ôƒ', - 'Ô„' => 'Ô…', - 'Ô†' => 'Ô‡', - 'Ôˆ' => 'Ô‰', - 'ÔŠ' => 'Ô‹', - 'ÔŒ' => 'Ô', - 'ÔŽ' => 'Ô', - 'Ô' => 'Ô‘', - 'Ô’' => 'Ô“', - 'Ô”' => 'Ô•', - 'Ô–' => 'Ô—', - 'Ô˜' => 'Ô™', - 'Ôš' => 'Ô›', - 'Ôœ' => 'Ô', - 'Ôž' => 'ÔŸ', - 'Ô ' => 'Ô¡', - 'Ô¢' => 'Ô£', - 'Ô¤' => 'Ô¥', - 'Ô¦' => 'Ô§', - 'Ô¨' => 'Ô©', - 'Ôª' => 'Ô«', - 'Ô¬' => 'Ô­', - 'Ô®' => 'Ô¯', - 'Ô±' => 'Õ¡', - 'Ô²' => 'Õ¢', - 'Ô³' => 'Õ£', - 'Ô´' => 'Õ¤', - 'Ôµ' => 'Õ¥', - 'Ô¶' => 'Õ¦', - 'Ô·' => 'Õ§', - 'Ô¸' => 'Õ¨', - 'Ô¹' => 'Õ©', - 'Ôº' => 'Õª', - 'Ô»' => 'Õ«', - 'Ô¼' => 'Õ¬', - 'Ô½' => 'Õ­', - 'Ô¾' => 'Õ®', - 'Ô¿' => 'Õ¯', - 'Õ€' => 'Õ°', - 'Õ' => 'Õ±', - 'Õ‚' => 'Õ²', - 'Õƒ' => 'Õ³', - 'Õ„' => 'Õ´', - 'Õ…' => 'Õµ', - 'Õ†' => 'Õ¶', - 'Õ‡' => 'Õ·', - 'Õˆ' => 'Õ¸', - 'Õ‰' => 'Õ¹', - 'ÕŠ' => 'Õº', - 'Õ‹' => 'Õ»', - 'ÕŒ' => 'Õ¼', - 'Õ' => 'Õ½', - 'ÕŽ' => 'Õ¾', - 'Õ' => 'Õ¿', - 'Õ' => 'Ö€', - 'Õ‘' => 'Ö', - 'Õ’' => 'Ö‚', - 'Õ“' => 'Öƒ', - 'Õ”' => 'Ö„', - 'Õ•' => 'Ö…', - 'Õ–' => 'Ö†', - 'á‚ ' => 'â´€', - 'á‚¡' => 'â´', - 'á‚¢' => 'â´‚', - 'á‚£' => 'â´ƒ', - 'Ⴄ' => 'â´„', - 'á‚¥' => 'â´…', - 'Ⴆ' => 'â´†', - 'Ⴇ' => 'â´‡', - 'Ⴈ' => 'â´ˆ', - 'á‚©' => 'â´‰', - 'Ⴊ' => 'â´Š', - 'á‚«' => 'â´‹', - 'Ⴌ' => 'â´Œ', - 'á‚­' => 'â´', - 'á‚®' => 'â´Ž', - 'Ⴏ' => 'â´', - 'á‚°' => 'â´', - 'Ⴑ' => 'â´‘', - 'Ⴒ' => 'â´’', - 'Ⴓ' => 'â´“', - 'á‚´' => 'â´”', - 'Ⴕ' => 'â´•', - 'Ⴖ' => 'â´–', - 'á‚·' => 'â´—', - 'Ⴘ' => 'â´˜', - 'Ⴙ' => 'â´™', - 'Ⴚ' => 'â´š', - 'á‚»' => 'â´›', - 'Ⴜ' => 'â´œ', - 'Ⴝ' => 'â´', - 'Ⴞ' => 'â´ž', - 'á‚¿' => 'â´Ÿ', - 'Ⴠ' => 'â´ ', - 'áƒ' => 'â´¡', - 'Ⴢ' => 'â´¢', - 'Ⴣ' => 'â´£', - 'Ⴤ' => 'â´¤', - 'Ⴥ' => 'â´¥', - 'Ⴧ' => 'â´§', - 'áƒ' => 'â´­', - 'Ḁ' => 'á¸', - 'Ḃ' => 'ḃ', - 'Ḅ' => 'ḅ', - 'Ḇ' => 'ḇ', - 'Ḉ' => 'ḉ', - 'Ḋ' => 'ḋ', - 'Ḍ' => 'á¸', - 'Ḏ' => 'á¸', - 'á¸' => 'ḑ', - 'Ḓ' => 'ḓ', - 'Ḕ' => 'ḕ', - 'Ḗ' => 'ḗ', - 'Ḙ' => 'ḙ', - 'Ḛ' => 'ḛ', - 'Ḝ' => 'á¸', - 'Ḟ' => 'ḟ', - 'Ḡ' => 'ḡ', - 'Ḣ' => 'ḣ', - 'Ḥ' => 'ḥ', - 'Ḧ' => 'ḧ', - 'Ḩ' => 'ḩ', - 'Ḫ' => 'ḫ', - 'Ḭ' => 'ḭ', - 'Ḯ' => 'ḯ', - 'Ḱ' => 'ḱ', - 'Ḳ' => 'ḳ', - 'Ḵ' => 'ḵ', - 'Ḷ' => 'ḷ', - 'Ḹ' => 'ḹ', - 'Ḻ' => 'ḻ', - 'Ḽ' => 'ḽ', - 'Ḿ' => 'ḿ', - 'á¹€' => 'á¹', - 'Ṃ' => 'ṃ', - 'Ṅ' => 'á¹…', - 'Ṇ' => 'ṇ', - 'Ṉ' => 'ṉ', - 'Ṋ' => 'ṋ', - 'Ṍ' => 'á¹', - 'Ṏ' => 'á¹', - 'á¹' => 'ṑ', - 'á¹’' => 'ṓ', - 'á¹”' => 'ṕ', - 'á¹–' => 'á¹—', - 'Ṙ' => 'á¹™', - 'Ṛ' => 'á¹›', - 'Ṝ' => 'á¹', - 'Ṟ' => 'ṟ', - 'á¹ ' => 'ṡ', - 'á¹¢' => 'á¹£', - 'Ṥ' => 'á¹¥', - 'Ṧ' => 'ṧ', - 'Ṩ' => 'ṩ', - 'Ṫ' => 'ṫ', - 'Ṭ' => 'á¹­', - 'á¹®' => 'ṯ', - 'á¹°' => 'á¹±', - 'á¹²' => 'á¹³', - 'á¹´' => 'á¹µ', - 'Ṷ' => 'á¹·', - 'Ṹ' => 'á¹¹', - 'Ṻ' => 'á¹»', - 'á¹¼' => 'á¹½', - 'á¹¾' => 'ṿ', - 'Ẁ' => 'áº', - 'Ẃ' => 'ẃ', - 'Ẅ' => 'ẅ', - 'Ẇ' => 'ẇ', - 'Ẉ' => 'ẉ', - 'Ẋ' => 'ẋ', - 'Ẍ' => 'áº', - 'Ẏ' => 'áº', - 'áº' => 'ẑ', - 'Ẓ' => 'ẓ', - 'Ẕ' => 'ẕ', - 'ẞ' => 'ß', - 'Ạ' => 'ạ', - 'Ả' => 'ả', - 'Ấ' => 'ấ', - 'Ầ' => 'ầ', - 'Ẩ' => 'ẩ', - 'Ẫ' => 'ẫ', - 'Ậ' => 'ậ', - 'Ắ' => 'ắ', - 'Ằ' => 'ằ', - 'Ẳ' => 'ẳ', - 'Ẵ' => 'ẵ', - 'Ặ' => 'ặ', - 'Ẹ' => 'ẹ', - 'Ẻ' => 'ẻ', - 'Ẽ' => 'ẽ', - 'Ế' => 'ế', - 'Ề' => 'á»', - 'Ể' => 'ể', - 'Ễ' => 'á»…', - 'Ệ' => 'ệ', - 'Ỉ' => 'ỉ', - 'Ị' => 'ị', - 'Ọ' => 'á»', - 'Ỏ' => 'á»', - 'á»' => 'ố', - 'á»’' => 'ồ', - 'á»”' => 'ổ', - 'á»–' => 'á»—', - 'Ộ' => 'á»™', - 'Ớ' => 'á»›', - 'Ờ' => 'á»', - 'Ở' => 'ở', - 'á» ' => 'ỡ', - 'Ợ' => 'ợ', - 'Ụ' => 'ụ', - 'Ủ' => 'ủ', - 'Ứ' => 'ứ', - 'Ừ' => 'ừ', - 'Ử' => 'á»­', - 'á»®' => 'ữ', - 'á»°' => 'á»±', - 'Ỳ' => 'ỳ', - 'á»´' => 'ỵ', - 'Ỷ' => 'á»·', - 'Ỹ' => 'ỹ', - 'Ỻ' => 'á»»', - 'Ỽ' => 'ỽ', - 'Ỿ' => 'ỿ', - 'Ἀ' => 'á¼€', - 'Ἁ' => 'á¼', - 'Ἂ' => 'ἂ', - 'Ἃ' => 'ἃ', - 'Ἄ' => 'ἄ', - 'á¼' => 'á¼…', - 'Ἆ' => 'ἆ', - 'á¼' => 'ἇ', - 'Ἐ' => 'á¼', - 'á¼™' => 'ἑ', - 'Ἒ' => 'á¼’', - 'á¼›' => 'ἓ', - 'Ἔ' => 'á¼”', - 'á¼' => 'ἕ', - 'Ἠ' => 'á¼ ', - 'Ἡ' => 'ἡ', - 'Ἢ' => 'á¼¢', - 'Ἣ' => 'á¼£', - 'Ἤ' => 'ἤ', - 'á¼­' => 'á¼¥', - 'á¼®' => 'ἦ', - 'Ἧ' => 'ἧ', - 'Ἰ' => 'á¼°', - 'á¼¹' => 'á¼±', - 'Ἲ' => 'á¼²', - 'á¼»' => 'á¼³', - 'á¼¼' => 'á¼´', - 'á¼½' => 'á¼µ', - 'á¼¾' => 'ἶ', - 'Ἷ' => 'á¼·', - 'Ὀ' => 'á½€', - 'Ὁ' => 'á½', - 'Ὂ' => 'ὂ', - 'Ὃ' => 'ὃ', - 'Ὄ' => 'ὄ', - 'á½' => 'á½…', - 'á½™' => 'ὑ', - 'á½›' => 'ὓ', - 'á½' => 'ὕ', - 'Ὗ' => 'á½—', - 'Ὠ' => 'á½ ', - 'Ὡ' => 'ὡ', - 'Ὢ' => 'á½¢', - 'Ὣ' => 'á½£', - 'Ὤ' => 'ὤ', - 'á½­' => 'á½¥', - 'á½®' => 'ὦ', - 'Ὧ' => 'ὧ', - 'ᾈ' => 'á¾€', - 'ᾉ' => 'á¾', - 'ᾊ' => 'ᾂ', - 'ᾋ' => 'ᾃ', - 'ᾌ' => 'ᾄ', - 'á¾' => 'á¾…', - 'ᾎ' => 'ᾆ', - 'á¾' => 'ᾇ', - 'ᾘ' => 'á¾', - 'á¾™' => 'ᾑ', - 'ᾚ' => 'á¾’', - 'á¾›' => 'ᾓ', - 'ᾜ' => 'á¾”', - 'á¾' => 'ᾕ', - 'ᾞ' => 'á¾–', - 'ᾟ' => 'á¾—', - 'ᾨ' => 'á¾ ', - 'ᾩ' => 'ᾡ', - 'ᾪ' => 'á¾¢', - 'ᾫ' => 'á¾£', - 'ᾬ' => 'ᾤ', - 'á¾­' => 'á¾¥', - 'á¾®' => 'ᾦ', - 'ᾯ' => 'ᾧ', - 'Ᾰ' => 'á¾°', - 'á¾¹' => 'á¾±', - 'Ὰ' => 'á½°', - 'á¾»' => 'á½±', - 'á¾¼' => 'á¾³', - 'Ὲ' => 'á½²', - 'Έ' => 'á½³', - 'á¿Š' => 'á½´', - 'á¿‹' => 'á½µ', - 'á¿Œ' => 'ῃ', - 'Ῐ' => 'á¿', - 'á¿™' => 'á¿‘', - 'á¿š' => 'ὶ', - 'á¿›' => 'á½·', - 'Ῠ' => 'á¿ ', - 'á¿©' => 'á¿¡', - 'Ὺ' => 'ὺ', - 'á¿«' => 'á½»', - 'Ῥ' => 'á¿¥', - 'Ὸ' => 'ὸ', - 'Ό' => 'á½¹', - 'Ὼ' => 'á½¼', - 'á¿»' => 'á½½', - 'ῼ' => 'ῳ', - 'Ω' => 'ω', - 'K' => 'k', - 'â„«' => 'Ã¥', - 'Ⅎ' => 'â…Ž', - 'â… ' => 'â…°', - 'â…¡' => 'â…±', - 'â…¢' => 'â…²', - 'â…£' => 'â…³', - 'â…¤' => 'â…´', - 'â…¥' => 'â…µ', - 'â…¦' => 'â…¶', - 'â…§' => 'â…·', - 'â…¨' => 'â…¸', - 'â…©' => 'â…¹', - 'â…ª' => 'â…º', - 'â…«' => 'â…»', - 'â…¬' => 'â…¼', - 'â…­' => 'â…½', - 'â…®' => 'â…¾', - 'â…¯' => 'â…¿', - 'Ↄ' => 'ↄ', - 'â’¶' => 'â“', - 'â’·' => 'â“‘', - 'â’¸' => 'â“’', - 'â’¹' => 'â““', - 'â’º' => 'â“”', - 'â’»' => 'â“•', - 'â’¼' => 'â“–', - 'â’½' => 'â“—', - 'â’¾' => 'ⓘ', - 'â’¿' => 'â“™', - 'â“€' => 'â“š', - 'â“' => 'â“›', - 'â“‚' => 'â“œ', - 'Ⓝ' => 'â“', - 'â“„' => 'â“ž', - 'â“…' => 'â“Ÿ', - 'Ⓠ' => 'â“ ', - 'Ⓡ' => 'â“¡', - 'Ⓢ' => 'â“¢', - 'Ⓣ' => 'â“£', - 'â“Š' => 'ⓤ', - 'â“‹' => 'â“¥', - 'â“Œ' => 'ⓦ', - 'â“' => 'ⓧ', - 'â“Ž' => 'ⓨ', - 'â“' => 'â“©', - 'â°€' => 'â°°', - 'â°' => 'â°±', - 'â°‚' => 'â°²', - 'â°ƒ' => 'â°³', - 'â°„' => 'â°´', - 'â°…' => 'â°µ', - 'â°†' => 'â°¶', - 'â°‡' => 'â°·', - 'â°ˆ' => 'â°¸', - 'â°‰' => 'â°¹', - 'â°Š' => 'â°º', - 'â°‹' => 'â°»', - 'â°Œ' => 'â°¼', - 'â°' => 'â°½', - 'â°Ž' => 'â°¾', - 'â°' => 'â°¿', - 'â°' => 'â±€', - 'â°‘' => 'â±', - 'â°’' => 'ⱂ', - 'â°“' => 'ⱃ', - 'â°”' => 'ⱄ', - 'â°•' => 'â±…', - 'â°–' => 'ⱆ', - 'â°—' => 'ⱇ', - 'â°˜' => 'ⱈ', - 'â°™' => 'ⱉ', - 'â°š' => 'ⱊ', - 'â°›' => 'ⱋ', - 'â°œ' => 'ⱌ', - 'â°' => 'â±', - 'â°ž' => 'ⱎ', - 'â°Ÿ' => 'â±', - 'â° ' => 'â±', - 'â°¡' => 'ⱑ', - 'â°¢' => 'â±’', - 'â°£' => 'ⱓ', - 'â°¤' => 'â±”', - 'â°¥' => 'ⱕ', - 'â°¦' => 'â±–', - 'â°§' => 'â±—', - 'â°¨' => 'ⱘ', - 'â°©' => 'â±™', - 'â°ª' => 'ⱚ', - 'â°«' => 'â±›', - 'â°¬' => 'ⱜ', - 'â°­' => 'â±', - 'â°®' => 'ⱞ', - 'â± ' => 'ⱡ', - 'â±¢' => 'É«', - 'â±£' => 'áµ½', - 'Ɽ' => 'ɽ', - 'Ⱨ' => 'ⱨ', - 'Ⱪ' => 'ⱪ', - 'Ⱬ' => 'ⱬ', - 'â±­' => 'É‘', - 'â±®' => 'ɱ', - 'Ɐ' => 'É', - 'â±°' => 'É’', - 'â±²' => 'â±³', - 'â±µ' => 'ⱶ', - 'â±¾' => 'È¿', - 'Ɀ' => 'É€', - 'â²€' => 'â²', - 'Ⲃ' => 'ⲃ', - 'Ⲅ' => 'â²…', - 'Ⲇ' => 'ⲇ', - 'Ⲉ' => 'ⲉ', - 'Ⲋ' => 'ⲋ', - 'Ⲍ' => 'â²', - 'Ⲏ' => 'â²', - 'â²' => 'ⲑ', - 'â²’' => 'ⲓ', - 'â²”' => 'ⲕ', - 'â²–' => 'â²—', - 'Ⲙ' => 'â²™', - 'Ⲛ' => 'â²›', - 'Ⲝ' => 'â²', - 'Ⲟ' => 'ⲟ', - 'â² ' => 'ⲡ', - 'â²¢' => 'â²£', - 'Ⲥ' => 'â²¥', - 'Ⲧ' => 'ⲧ', - 'Ⲩ' => 'ⲩ', - 'Ⲫ' => 'ⲫ', - 'Ⲭ' => 'â²­', - 'â²®' => 'ⲯ', - 'â²°' => 'â²±', - 'â²²' => 'â²³', - 'â²´' => 'â²µ', - 'Ⲷ' => 'â²·', - 'Ⲹ' => 'â²¹', - 'Ⲻ' => 'â²»', - 'â²¼' => 'â²½', - 'â²¾' => 'ⲿ', - 'â³€' => 'â³', - 'Ⳃ' => 'ⳃ', - 'Ⳅ' => 'â³…', - 'Ⳇ' => 'ⳇ', - 'Ⳉ' => 'ⳉ', - 'Ⳋ' => 'ⳋ', - 'Ⳍ' => 'â³', - 'Ⳏ' => 'â³', - 'â³' => 'ⳑ', - 'â³’' => 'ⳓ', - 'â³”' => 'ⳕ', - 'â³–' => 'â³—', - 'Ⳙ' => 'â³™', - 'Ⳛ' => 'â³›', - 'Ⳝ' => 'â³', - 'Ⳟ' => 'ⳟ', - 'â³ ' => 'ⳡ', - 'â³¢' => 'â³£', - 'Ⳬ' => 'ⳬ', - 'â³­' => 'â³®', - 'â³²' => 'â³³', - 'Ꙁ' => 'ê™', - 'Ꙃ' => 'ꙃ', - 'Ꙅ' => 'ê™…', - 'Ꙇ' => 'ꙇ', - 'Ꙉ' => 'ꙉ', - 'Ꙋ' => 'ꙋ', - 'Ꙍ' => 'ê™', - 'Ꙏ' => 'ê™', - 'ê™' => 'ꙑ', - 'ê™’' => 'ꙓ', - 'ê™”' => 'ꙕ', - 'ê™–' => 'ê™—', - 'Ꙙ' => 'ê™™', - 'Ꙛ' => 'ê™›', - 'Ꙝ' => 'ê™', - 'Ꙟ' => 'ꙟ', - 'ê™ ' => 'ꙡ', - 'Ꙣ' => 'ꙣ', - 'Ꙥ' => 'ꙥ', - 'Ꙧ' => 'ꙧ', - 'Ꙩ' => 'ꙩ', - 'Ꙫ' => 'ꙫ', - 'Ꙭ' => 'ê™­', - 'Ꚁ' => 'êš', - 'êš‚' => 'ꚃ', - 'êš„' => 'êš…', - 'Ꚇ' => 'ꚇ', - 'Ꚉ' => 'ꚉ', - 'Ꚋ' => 'êš‹', - 'Ꚍ' => 'êš', - 'Ꚏ' => 'êš', - 'êš' => 'êš‘', - 'êš’' => 'êš“', - 'êš”' => 'êš•', - 'êš–' => 'êš—', - 'Ꚙ' => 'êš™', - 'êšš' => 'êš›', - 'Ꜣ' => 'ꜣ', - 'Ꜥ' => 'ꜥ', - 'Ꜧ' => 'ꜧ', - 'Ꜩ' => 'ꜩ', - 'Ꜫ' => 'ꜫ', - 'Ꜭ' => 'ꜭ', - 'Ꜯ' => 'ꜯ', - 'Ꜳ' => 'ꜳ', - 'Ꜵ' => 'ꜵ', - 'Ꜷ' => 'ꜷ', - 'Ꜹ' => 'ꜹ', - 'Ꜻ' => 'ꜻ', - 'Ꜽ' => 'ꜽ', - 'Ꜿ' => 'ꜿ', - 'ê€' => 'ê', - 'ê‚' => 'êƒ', - 'ê„' => 'ê…', - 'ê†' => 'ê‡', - 'êˆ' => 'ê‰', - 'êŠ' => 'ê‹', - 'êŒ' => 'ê', - 'êŽ' => 'ê', - 'ê' => 'ê‘', - 'ê’' => 'ê“', - 'ê”' => 'ê•', - 'ê–' => 'ê—', - 'ê˜' => 'ê™', - 'êš' => 'ê›', - 'êœ' => 'ê', - 'êž' => 'êŸ', - 'ê ' => 'ê¡', - 'ê¢' => 'ê£', - 'ê¤' => 'ê¥', - 'ê¦' => 'ê§', - 'ê¨' => 'ê©', - 'êª' => 'ê«', - 'ê¬' => 'ê­', - 'ê®' => 'ê¯', - 'ê¹' => 'êº', - 'ê»' => 'ê¼', - 'ê½' => 'áµ¹', - 'ê¾' => 'ê¿', - 'Ꞁ' => 'êž', - 'êž‚' => 'ꞃ', - 'êž„' => 'êž…', - 'Ꞇ' => 'ꞇ', - 'êž‹' => 'ꞌ', - 'êž' => 'É¥', - 'êž' => 'êž‘', - 'êž’' => 'êž“', - 'êž–' => 'êž—', - 'Ꞙ' => 'êž™', - 'êžš' => 'êž›', - 'êžœ' => 'êž', - 'êžž' => 'ꞟ', - 'êž ' => 'êž¡', - 'Ꞣ' => 'ꞣ', - 'Ꞥ' => 'ꞥ', - 'Ꞧ' => 'ꞧ', - 'Ꞩ' => 'êž©', - 'Ɦ' => 'ɦ', - 'êž«' => 'Éœ', - 'Ɡ' => 'É¡', - 'êž­' => 'ɬ', - 'êž°' => 'Êž', - 'êž±' => 'ʇ', - 'A' => 'ï½', - 'ï¼¢' => 'b', - 'ï¼£' => 'c', - 'D' => 'd', - 'ï¼¥' => 'ï½…', - 'F' => 'f', - 'G' => 'g', - 'H' => 'h', - 'I' => 'i', - 'J' => 'j', - 'K' => 'k', - 'L' => 'l', - 'ï¼­' => 'ï½', - 'ï¼®' => 'n', - 'O' => 'ï½', - 'ï¼°' => 'ï½', - 'ï¼±' => 'q', - 'ï¼²' => 'ï½’', - 'ï¼³' => 's', - 'ï¼´' => 'ï½”', - 'ï¼µ' => 'u', - 'V' => 'ï½–', - 'ï¼·' => 'ï½—', - 'X' => 'x', - 'ï¼¹' => 'ï½™', - 'Z' => 'z', - 'ð€' => 'ð¨', - 'ð' => 'ð©', - 'ð‚' => 'ðª', - 'ðƒ' => 'ð«', - 'ð„' => 'ð¬', - 'ð…' => 'ð­', - 'ð†' => 'ð®', - 'ð‡' => 'ð¯', - 'ðˆ' => 'ð°', - 'ð‰' => 'ð±', - 'ðŠ' => 'ð²', - 'ð‹' => 'ð³', - 'ðŒ' => 'ð´', - 'ð' => 'ðµ', - 'ðŽ' => 'ð¶', - 'ð' => 'ð·', - 'ð' => 'ð¸', - 'ð‘' => 'ð¹', - 'ð’' => 'ðº', - 'ð“' => 'ð»', - 'ð”' => 'ð¼', - 'ð•' => 'ð½', - 'ð–' => 'ð¾', - 'ð—' => 'ð¿', - 'ð˜' => 'ð‘€', - 'ð™' => 'ð‘', - 'ðš' => 'ð‘‚', - 'ð›' => 'ð‘ƒ', - 'ðœ' => 'ð‘„', - 'ð' => 'ð‘…', - 'ðž' => 'ð‘†', - 'ðŸ' => 'ð‘‡', - 'ð ' => 'ð‘ˆ', - 'ð¡' => 'ð‘‰', - 'ð¢' => 'ð‘Š', - 'ð£' => 'ð‘‹', - 'ð¤' => 'ð‘Œ', - 'ð¥' => 'ð‘', - 'ð¦' => 'ð‘Ž', - 'ð§' => 'ð‘', - 'ð‘¢ ' => 'ð‘£€', - '𑢡' => 'ð‘£', - 'ð‘¢¢' => '𑣂', - 'ð‘¢£' => '𑣃', - '𑢤' => '𑣄', - 'ð‘¢¥' => 'ð‘£…', - '𑢦' => '𑣆', - '𑢧' => '𑣇', - '𑢨' => '𑣈', - '𑢩' => '𑣉', - '𑢪' => '𑣊', - '𑢫' => '𑣋', - '𑢬' => '𑣌', - 'ð‘¢­' => 'ð‘£', - 'ð‘¢®' => '𑣎', - '𑢯' => 'ð‘£', - 'ð‘¢°' => 'ð‘£', - 'ð‘¢±' => '𑣑', - 'ð‘¢²' => 'ð‘£’', - 'ð‘¢³' => '𑣓', - 'ð‘¢´' => 'ð‘£”', - 'ð‘¢µ' => '𑣕', - '𑢶' => 'ð‘£–', - 'ð‘¢·' => 'ð‘£—', - '𑢸' => '𑣘', - 'ð‘¢¹' => 'ð‘£™', - '𑢺' => '𑣚', - 'ð‘¢»' => 'ð‘£›', - 'ð‘¢¼' => '𑣜', - 'ð‘¢½' => 'ð‘£', - 'ð‘¢¾' => '𑣞', - '𑢿' => '𑣟', -); diff --git a/paragonik-backend/vendor/symfony/polyfill-mbstring/Resources/unidata/titleCaseRegexp.php b/paragonik-backend/vendor/symfony/polyfill-mbstring/Resources/unidata/titleCaseRegexp.php deleted file mode 100644 index 2a8f6e7..0000000 --- a/paragonik-backend/vendor/symfony/polyfill-mbstring/Resources/unidata/titleCaseRegexp.php +++ /dev/null @@ -1,5 +0,0 @@ - 'A', - 'b' => 'B', - 'c' => 'C', - 'd' => 'D', - 'e' => 'E', - 'f' => 'F', - 'g' => 'G', - 'h' => 'H', - 'i' => 'I', - 'j' => 'J', - 'k' => 'K', - 'l' => 'L', - 'm' => 'M', - 'n' => 'N', - 'o' => 'O', - 'p' => 'P', - 'q' => 'Q', - 'r' => 'R', - 's' => 'S', - 't' => 'T', - 'u' => 'U', - 'v' => 'V', - 'w' => 'W', - 'x' => 'X', - 'y' => 'Y', - 'z' => 'Z', - 'µ' => 'Îœ', - 'à' => 'À', - 'á' => 'Ã', - 'â' => 'Â', - 'ã' => 'Ã', - 'ä' => 'Ä', - 'Ã¥' => 'Ã…', - 'æ' => 'Æ', - 'ç' => 'Ç', - 'è' => 'È', - 'é' => 'É', - 'ê' => 'Ê', - 'ë' => 'Ë', - 'ì' => 'ÃŒ', - 'í' => 'Ã', - 'î' => 'ÃŽ', - 'ï' => 'Ã', - 'ð' => 'Ã', - 'ñ' => 'Ñ', - 'ò' => 'Ã’', - 'ó' => 'Ó', - 'ô' => 'Ô', - 'õ' => 'Õ', - 'ö' => 'Ö', - 'ø' => 'Ø', - 'ù' => 'Ù', - 'ú' => 'Ú', - 'û' => 'Û', - 'ü' => 'Ãœ', - 'ý' => 'Ã', - 'þ' => 'Þ', - 'ÿ' => 'Ÿ', - 'Ä' => 'Ä€', - 'ă' => 'Ä‚', - 'Ä…' => 'Ä„', - 'ć' => 'Ć', - 'ĉ' => 'Ĉ', - 'Ä‹' => 'ÄŠ', - 'Ä' => 'ÄŒ', - 'Ä' => 'ÄŽ', - 'Ä‘' => 'Ä', - 'Ä“' => 'Ä’', - 'Ä•' => 'Ä”', - 'Ä—' => 'Ä–', - 'Ä™' => 'Ę', - 'Ä›' => 'Äš', - 'Ä' => 'Äœ', - 'ÄŸ' => 'Äž', - 'Ä¡' => 'Ä ', - 'Ä£' => 'Ä¢', - 'Ä¥' => 'Ĥ', - 'ħ' => 'Ħ', - 'Ä©' => 'Ĩ', - 'Ä«' => 'Ī', - 'Ä­' => 'Ĭ', - 'į' => 'Ä®', - 'ı' => 'I', - 'ij' => 'IJ', - 'ĵ' => 'Ä´', - 'Ä·' => 'Ķ', - 'ĺ' => 'Ĺ', - 'ļ' => 'Ä»', - 'ľ' => 'Ľ', - 'Å€' => 'Ä¿', - 'Å‚' => 'Å', - 'Å„' => 'Ń', - 'ņ' => 'Å…', - 'ň' => 'Ň', - 'Å‹' => 'ÅŠ', - 'Å' => 'ÅŒ', - 'Å' => 'ÅŽ', - 'Å‘' => 'Å', - 'Å“' => 'Å’', - 'Å•' => 'Å”', - 'Å—' => 'Å–', - 'Å™' => 'Ř', - 'Å›' => 'Åš', - 'Å' => 'Åœ', - 'ÅŸ' => 'Åž', - 'Å¡' => 'Å ', - 'Å£' => 'Å¢', - 'Å¥' => 'Ť', - 'ŧ' => 'Ŧ', - 'Å©' => 'Ũ', - 'Å«' => 'Ū', - 'Å­' => 'Ŭ', - 'ů' => 'Å®', - 'ű' => 'Å°', - 'ų' => 'Ų', - 'ŵ' => 'Å´', - 'Å·' => 'Ŷ', - 'ź' => 'Ź', - 'ż' => 'Å»', - 'ž' => 'Ž', - 'Å¿' => 'S', - 'Æ€' => 'Ƀ', - 'ƃ' => 'Æ‚', - 'Æ…' => 'Æ„', - 'ƈ' => 'Ƈ', - 'ÆŒ' => 'Æ‹', - 'Æ’' => 'Æ‘', - 'Æ•' => 'Ƕ', - 'Æ™' => 'Ƙ', - 'Æš' => 'Ƚ', - 'Æž' => 'È ', - 'Æ¡' => 'Æ ', - 'Æ£' => 'Æ¢', - 'Æ¥' => 'Ƥ', - 'ƨ' => 'Ƨ', - 'Æ­' => 'Ƭ', - 'Æ°' => 'Ư', - 'Æ´' => 'Ƴ', - 'ƶ' => 'Ƶ', - 'ƹ' => 'Ƹ', - 'ƽ' => 'Ƽ', - 'Æ¿' => 'Ç·', - 'Ç…' => 'Ç„', - 'dž' => 'Ç„', - 'Lj' => 'LJ', - 'lj' => 'LJ', - 'Ç‹' => 'ÇŠ', - 'ÇŒ' => 'ÇŠ', - 'ÇŽ' => 'Ç', - 'Ç' => 'Ç', - 'Ç’' => 'Ç‘', - 'Ç”' => 'Ç“', - 'Ç–' => 'Ç•', - 'ǘ' => 'Ç—', - 'Çš' => 'Ç™', - 'Çœ' => 'Ç›', - 'Ç' => 'ÆŽ', - 'ÇŸ' => 'Çž', - 'Ç¡' => 'Ç ', - 'Ç£' => 'Ç¢', - 'Ç¥' => 'Ǥ', - 'ǧ' => 'Ǧ', - 'Ç©' => 'Ǩ', - 'Ç«' => 'Ǫ', - 'Ç­' => 'Ǭ', - 'ǯ' => 'Ç®', - 'Dz' => 'DZ', - 'dz' => 'DZ', - 'ǵ' => 'Ç´', - 'ǹ' => 'Ǹ', - 'Ç»' => 'Ǻ', - 'ǽ' => 'Ǽ', - 'Ç¿' => 'Ǿ', - 'È' => 'È€', - 'ȃ' => 'È‚', - 'È…' => 'È„', - 'ȇ' => 'Ȇ', - 'ȉ' => 'Ȉ', - 'È‹' => 'ÈŠ', - 'È' => 'ÈŒ', - 'È' => 'ÈŽ', - 'È‘' => 'È', - 'È“' => 'È’', - 'È•' => 'È”', - 'È—' => 'È–', - 'È™' => 'Ș', - 'È›' => 'Èš', - 'È' => 'Èœ', - 'ÈŸ' => 'Èž', - 'È£' => 'È¢', - 'È¥' => 'Ȥ', - 'ȧ' => 'Ȧ', - 'È©' => 'Ȩ', - 'È«' => 'Ȫ', - 'È­' => 'Ȭ', - 'ȯ' => 'È®', - 'ȱ' => 'È°', - 'ȳ' => 'Ȳ', - 'ȼ' => 'È»', - 'È¿' => 'â±¾', - 'É€' => 'Ɀ', - 'É‚' => 'É', - 'ɇ' => 'Ɇ', - 'ɉ' => 'Ɉ', - 'É‹' => 'ÉŠ', - 'É' => 'ÉŒ', - 'É' => 'ÉŽ', - 'É' => 'Ɐ', - 'É‘' => 'â±­', - 'É’' => 'â±°', - 'É“' => 'Æ', - 'É”' => 'Ɔ', - 'É–' => 'Ɖ', - 'É—' => 'ÆŠ', - 'É™' => 'Æ', - 'É›' => 'Æ', - 'Éœ' => 'êž«', - 'É ' => 'Æ“', - 'É¡' => 'Ɡ', - 'É£' => 'Æ”', - 'É¥' => 'êž', - 'ɦ' => 'Ɦ', - 'ɨ' => 'Æ—', - 'É©' => 'Æ–', - 'É«' => 'â±¢', - 'ɬ' => 'êž­', - 'ɯ' => 'Æœ', - 'ɱ' => 'â±®', - 'ɲ' => 'Æ', - 'ɵ' => 'ÆŸ', - 'ɽ' => 'Ɽ', - 'Ê€' => 'Ʀ', - 'ʃ' => 'Æ©', - 'ʇ' => 'êž±', - 'ʈ' => 'Æ®', - 'ʉ' => 'É„', - 'ÊŠ' => 'Ʊ', - 'Ê‹' => 'Ʋ', - 'ÊŒ' => 'É…', - 'Ê’' => 'Æ·', - 'Êž' => 'êž°', - 'Í…' => 'Ι', - 'ͱ' => 'Í°', - 'ͳ' => 'Ͳ', - 'Í·' => 'Ͷ', - 'Í»' => 'Ͻ', - 'ͼ' => 'Ͼ', - 'ͽ' => 'Ï¿', - 'ά' => 'Ά', - 'έ' => 'Έ', - 'ή' => 'Ή', - 'ί' => 'Ί', - 'α' => 'Α', - 'β' => 'Î’', - 'γ' => 'Γ', - 'δ' => 'Δ', - 'ε' => 'Ε', - 'ζ' => 'Ζ', - 'η' => 'Η', - 'θ' => 'Θ', - 'ι' => 'Ι', - 'κ' => 'Κ', - 'λ' => 'Λ', - 'μ' => 'Îœ', - 'ν' => 'Î', - 'ξ' => 'Ξ', - 'ο' => 'Ο', - 'Ï€' => 'Π', - 'Ï' => 'Ρ', - 'Ï‚' => 'Σ', - 'σ' => 'Σ', - 'Ï„' => 'Τ', - 'Ï…' => 'Î¥', - 'φ' => 'Φ', - 'χ' => 'Χ', - 'ψ' => 'Ψ', - 'ω' => 'Ω', - 'ÏŠ' => 'Ϊ', - 'Ï‹' => 'Ϋ', - 'ÏŒ' => 'ÎŒ', - 'Ï' => 'ÎŽ', - 'ÏŽ' => 'Î', - 'Ï' => 'Î’', - 'Ï‘' => 'Θ', - 'Ï•' => 'Φ', - 'Ï–' => 'Π', - 'Ï—' => 'Ï', - 'Ï™' => 'Ϙ', - 'Ï›' => 'Ïš', - 'Ï' => 'Ïœ', - 'ÏŸ' => 'Ïž', - 'Ï¡' => 'Ï ', - 'Ï£' => 'Ï¢', - 'Ï¥' => 'Ϥ', - 'ϧ' => 'Ϧ', - 'Ï©' => 'Ϩ', - 'Ï«' => 'Ϫ', - 'Ï­' => 'Ϭ', - 'ϯ' => 'Ï®', - 'Ï°' => 'Κ', - 'ϱ' => 'Ρ', - 'ϲ' => 'Ϲ', - 'ϳ' => 'Í¿', - 'ϵ' => 'Ε', - 'ϸ' => 'Ï·', - 'Ï»' => 'Ϻ', - 'а' => 'Ð', - 'б' => 'Б', - 'в' => 'Ð’', - 'г' => 'Г', - 'д' => 'Д', - 'е' => 'Е', - 'ж' => 'Ж', - 'з' => 'З', - 'и' => 'И', - 'й' => 'Й', - 'к' => 'К', - 'л' => 'Л', - 'м' => 'Ðœ', - 'н' => 'Ð', - 'о' => 'О', - 'п' => 'П', - 'Ñ€' => 'Р', - 'Ñ' => 'С', - 'Ñ‚' => 'Т', - 'у' => 'У', - 'Ñ„' => 'Ф', - 'Ñ…' => 'Ð¥', - 'ц' => 'Ц', - 'ч' => 'Ч', - 'ш' => 'Ш', - 'щ' => 'Щ', - 'ÑŠ' => 'Ъ', - 'Ñ‹' => 'Ы', - 'ÑŒ' => 'Ь', - 'Ñ' => 'Э', - 'ÑŽ' => 'Ю', - 'Ñ' => 'Я', - 'Ñ' => 'Ѐ', - 'Ñ‘' => 'Ð', - 'Ñ’' => 'Ђ', - 'Ñ“' => 'Ѓ', - 'Ñ”' => 'Є', - 'Ñ•' => 'Ð…', - 'Ñ–' => 'І', - 'Ñ—' => 'Ї', - 'ј' => 'Ј', - 'Ñ™' => 'Љ', - 'Ñš' => 'Њ', - 'Ñ›' => 'Ћ', - 'Ñœ' => 'ÐŒ', - 'Ñ' => 'Ð', - 'Ñž' => 'ÐŽ', - 'ÑŸ' => 'Ð', - 'Ñ¡' => 'Ñ ', - 'Ñ£' => 'Ñ¢', - 'Ñ¥' => 'Ѥ', - 'ѧ' => 'Ѧ', - 'Ñ©' => 'Ѩ', - 'Ñ«' => 'Ѫ', - 'Ñ­' => 'Ѭ', - 'ѯ' => 'Ñ®', - 'ѱ' => 'Ñ°', - 'ѳ' => 'Ѳ', - 'ѵ' => 'Ñ´', - 'Ñ·' => 'Ѷ', - 'ѹ' => 'Ѹ', - 'Ñ»' => 'Ѻ', - 'ѽ' => 'Ѽ', - 'Ñ¿' => 'Ѿ', - 'Ò' => 'Ò€', - 'Ò‹' => 'ÒŠ', - 'Ò' => 'ÒŒ', - 'Ò' => 'ÒŽ', - 'Ò‘' => 'Ò', - 'Ò“' => 'Ò’', - 'Ò•' => 'Ò”', - 'Ò—' => 'Ò–', - 'Ò™' => 'Ò˜', - 'Ò›' => 'Òš', - 'Ò' => 'Òœ', - 'ÒŸ' => 'Òž', - 'Ò¡' => 'Ò ', - 'Ò£' => 'Ò¢', - 'Ò¥' => 'Ò¤', - 'Ò§' => 'Ò¦', - 'Ò©' => 'Ò¨', - 'Ò«' => 'Òª', - 'Ò­' => 'Ò¬', - 'Ò¯' => 'Ò®', - 'Ò±' => 'Ò°', - 'Ò³' => 'Ò²', - 'Òµ' => 'Ò´', - 'Ò·' => 'Ò¶', - 'Ò¹' => 'Ò¸', - 'Ò»' => 'Òº', - 'Ò½' => 'Ò¼', - 'Ò¿' => 'Ò¾', - 'Ó‚' => 'Ó', - 'Ó„' => 'Óƒ', - 'Ó†' => 'Ó…', - 'Óˆ' => 'Ó‡', - 'ÓŠ' => 'Ó‰', - 'ÓŒ' => 'Ó‹', - 'ÓŽ' => 'Ó', - 'Ó' => 'Ó€', - 'Ó‘' => 'Ó', - 'Ó“' => 'Ó’', - 'Ó•' => 'Ó”', - 'Ó—' => 'Ó–', - 'Ó™' => 'Ó˜', - 'Ó›' => 'Óš', - 'Ó' => 'Óœ', - 'ÓŸ' => 'Óž', - 'Ó¡' => 'Ó ', - 'Ó£' => 'Ó¢', - 'Ó¥' => 'Ó¤', - 'Ó§' => 'Ó¦', - 'Ó©' => 'Ó¨', - 'Ó«' => 'Óª', - 'Ó­' => 'Ó¬', - 'Ó¯' => 'Ó®', - 'Ó±' => 'Ó°', - 'Ó³' => 'Ó²', - 'Óµ' => 'Ó´', - 'Ó·' => 'Ó¶', - 'Ó¹' => 'Ó¸', - 'Ó»' => 'Óº', - 'Ó½' => 'Ó¼', - 'Ó¿' => 'Ó¾', - 'Ô' => 'Ô€', - 'Ôƒ' => 'Ô‚', - 'Ô…' => 'Ô„', - 'Ô‡' => 'Ô†', - 'Ô‰' => 'Ôˆ', - 'Ô‹' => 'ÔŠ', - 'Ô' => 'ÔŒ', - 'Ô' => 'ÔŽ', - 'Ô‘' => 'Ô', - 'Ô“' => 'Ô’', - 'Ô•' => 'Ô”', - 'Ô—' => 'Ô–', - 'Ô™' => 'Ô˜', - 'Ô›' => 'Ôš', - 'Ô' => 'Ôœ', - 'ÔŸ' => 'Ôž', - 'Ô¡' => 'Ô ', - 'Ô£' => 'Ô¢', - 'Ô¥' => 'Ô¤', - 'Ô§' => 'Ô¦', - 'Ô©' => 'Ô¨', - 'Ô«' => 'Ôª', - 'Ô­' => 'Ô¬', - 'Ô¯' => 'Ô®', - 'Õ¡' => 'Ô±', - 'Õ¢' => 'Ô²', - 'Õ£' => 'Ô³', - 'Õ¤' => 'Ô´', - 'Õ¥' => 'Ôµ', - 'Õ¦' => 'Ô¶', - 'Õ§' => 'Ô·', - 'Õ¨' => 'Ô¸', - 'Õ©' => 'Ô¹', - 'Õª' => 'Ôº', - 'Õ«' => 'Ô»', - 'Õ¬' => 'Ô¼', - 'Õ­' => 'Ô½', - 'Õ®' => 'Ô¾', - 'Õ¯' => 'Ô¿', - 'Õ°' => 'Õ€', - 'Õ±' => 'Õ', - 'Õ²' => 'Õ‚', - 'Õ³' => 'Õƒ', - 'Õ´' => 'Õ„', - 'Õµ' => 'Õ…', - 'Õ¶' => 'Õ†', - 'Õ·' => 'Õ‡', - 'Õ¸' => 'Õˆ', - 'Õ¹' => 'Õ‰', - 'Õº' => 'ÕŠ', - 'Õ»' => 'Õ‹', - 'Õ¼' => 'ÕŒ', - 'Õ½' => 'Õ', - 'Õ¾' => 'ÕŽ', - 'Õ¿' => 'Õ', - 'Ö€' => 'Õ', - 'Ö' => 'Õ‘', - 'Ö‚' => 'Õ’', - 'Öƒ' => 'Õ“', - 'Ö„' => 'Õ”', - 'Ö…' => 'Õ•', - 'Ö†' => 'Õ–', - 'áµ¹' => 'ê½', - 'áµ½' => 'â±£', - 'á¸' => 'Ḁ', - 'ḃ' => 'Ḃ', - 'ḅ' => 'Ḅ', - 'ḇ' => 'Ḇ', - 'ḉ' => 'Ḉ', - 'ḋ' => 'Ḋ', - 'á¸' => 'Ḍ', - 'á¸' => 'Ḏ', - 'ḑ' => 'á¸', - 'ḓ' => 'Ḓ', - 'ḕ' => 'Ḕ', - 'ḗ' => 'Ḗ', - 'ḙ' => 'Ḙ', - 'ḛ' => 'Ḛ', - 'á¸' => 'Ḝ', - 'ḟ' => 'Ḟ', - 'ḡ' => 'Ḡ', - 'ḣ' => 'Ḣ', - 'ḥ' => 'Ḥ', - 'ḧ' => 'Ḧ', - 'ḩ' => 'Ḩ', - 'ḫ' => 'Ḫ', - 'ḭ' => 'Ḭ', - 'ḯ' => 'Ḯ', - 'ḱ' => 'Ḱ', - 'ḳ' => 'Ḳ', - 'ḵ' => 'Ḵ', - 'ḷ' => 'Ḷ', - 'ḹ' => 'Ḹ', - 'ḻ' => 'Ḻ', - 'ḽ' => 'Ḽ', - 'ḿ' => 'Ḿ', - 'á¹' => 'á¹€', - 'ṃ' => 'Ṃ', - 'á¹…' => 'Ṅ', - 'ṇ' => 'Ṇ', - 'ṉ' => 'Ṉ', - 'ṋ' => 'Ṋ', - 'á¹' => 'Ṍ', - 'á¹' => 'Ṏ', - 'ṑ' => 'á¹', - 'ṓ' => 'á¹’', - 'ṕ' => 'á¹”', - 'á¹—' => 'á¹–', - 'á¹™' => 'Ṙ', - 'á¹›' => 'Ṛ', - 'á¹' => 'Ṝ', - 'ṟ' => 'Ṟ', - 'ṡ' => 'á¹ ', - 'á¹£' => 'á¹¢', - 'á¹¥' => 'Ṥ', - 'ṧ' => 'Ṧ', - 'ṩ' => 'Ṩ', - 'ṫ' => 'Ṫ', - 'á¹­' => 'Ṭ', - 'ṯ' => 'á¹®', - 'á¹±' => 'á¹°', - 'á¹³' => 'á¹²', - 'á¹µ' => 'á¹´', - 'á¹·' => 'Ṷ', - 'á¹¹' => 'Ṹ', - 'á¹»' => 'Ṻ', - 'á¹½' => 'á¹¼', - 'ṿ' => 'á¹¾', - 'áº' => 'Ẁ', - 'ẃ' => 'Ẃ', - 'ẅ' => 'Ẅ', - 'ẇ' => 'Ẇ', - 'ẉ' => 'Ẉ', - 'ẋ' => 'Ẋ', - 'áº' => 'Ẍ', - 'áº' => 'Ẏ', - 'ẑ' => 'áº', - 'ẓ' => 'Ẓ', - 'ẕ' => 'Ẕ', - 'ẛ' => 'á¹ ', - 'ạ' => 'Ạ', - 'ả' => 'Ả', - 'ấ' => 'Ấ', - 'ầ' => 'Ầ', - 'ẩ' => 'Ẩ', - 'ẫ' => 'Ẫ', - 'ậ' => 'Ậ', - 'ắ' => 'Ắ', - 'ằ' => 'Ằ', - 'ẳ' => 'Ẳ', - 'ẵ' => 'Ẵ', - 'ặ' => 'Ặ', - 'ẹ' => 'Ẹ', - 'ẻ' => 'Ẻ', - 'ẽ' => 'Ẽ', - 'ế' => 'Ế', - 'á»' => 'Ề', - 'ể' => 'Ể', - 'á»…' => 'Ễ', - 'ệ' => 'Ệ', - 'ỉ' => 'Ỉ', - 'ị' => 'Ị', - 'á»' => 'Ọ', - 'á»' => 'Ỏ', - 'ố' => 'á»', - 'ồ' => 'á»’', - 'ổ' => 'á»”', - 'á»—' => 'á»–', - 'á»™' => 'Ộ', - 'á»›' => 'Ớ', - 'á»' => 'Ờ', - 'ở' => 'Ở', - 'ỡ' => 'á» ', - 'ợ' => 'Ợ', - 'ụ' => 'Ụ', - 'ủ' => 'Ủ', - 'ứ' => 'Ứ', - 'ừ' => 'Ừ', - 'á»­' => 'Ử', - 'ữ' => 'á»®', - 'á»±' => 'á»°', - 'ỳ' => 'Ỳ', - 'ỵ' => 'á»´', - 'á»·' => 'Ỷ', - 'ỹ' => 'Ỹ', - 'á»»' => 'Ỻ', - 'ỽ' => 'Ỽ', - 'ỿ' => 'Ỿ', - 'á¼€' => 'Ἀ', - 'á¼' => 'Ἁ', - 'ἂ' => 'Ἂ', - 'ἃ' => 'Ἃ', - 'ἄ' => 'Ἄ', - 'á¼…' => 'á¼', - 'ἆ' => 'Ἆ', - 'ἇ' => 'á¼', - 'á¼' => 'Ἐ', - 'ἑ' => 'á¼™', - 'á¼’' => 'Ἒ', - 'ἓ' => 'á¼›', - 'á¼”' => 'Ἔ', - 'ἕ' => 'á¼', - 'á¼ ' => 'Ἠ', - 'ἡ' => 'Ἡ', - 'á¼¢' => 'Ἢ', - 'á¼£' => 'Ἣ', - 'ἤ' => 'Ἤ', - 'á¼¥' => 'á¼­', - 'ἦ' => 'á¼®', - 'ἧ' => 'Ἧ', - 'á¼°' => 'Ἰ', - 'á¼±' => 'á¼¹', - 'á¼²' => 'Ἲ', - 'á¼³' => 'á¼»', - 'á¼´' => 'á¼¼', - 'á¼µ' => 'á¼½', - 'ἶ' => 'á¼¾', - 'á¼·' => 'Ἷ', - 'á½€' => 'Ὀ', - 'á½' => 'Ὁ', - 'ὂ' => 'Ὂ', - 'ὃ' => 'Ὃ', - 'ὄ' => 'Ὄ', - 'á½…' => 'á½', - 'ὑ' => 'á½™', - 'ὓ' => 'á½›', - 'ὕ' => 'á½', - 'á½—' => 'Ὗ', - 'á½ ' => 'Ὠ', - 'ὡ' => 'Ὡ', - 'á½¢' => 'Ὢ', - 'á½£' => 'Ὣ', - 'ὤ' => 'Ὤ', - 'á½¥' => 'á½­', - 'ὦ' => 'á½®', - 'ὧ' => 'Ὧ', - 'á½°' => 'Ὰ', - 'á½±' => 'á¾»', - 'á½²' => 'Ὲ', - 'á½³' => 'Έ', - 'á½´' => 'á¿Š', - 'á½µ' => 'á¿‹', - 'ὶ' => 'á¿š', - 'á½·' => 'á¿›', - 'ὸ' => 'Ὸ', - 'á½¹' => 'Ό', - 'ὺ' => 'Ὺ', - 'á½»' => 'á¿«', - 'á½¼' => 'Ὼ', - 'á½½' => 'á¿»', - 'á¾€' => 'ᾈ', - 'á¾' => 'ᾉ', - 'ᾂ' => 'ᾊ', - 'ᾃ' => 'ᾋ', - 'ᾄ' => 'ᾌ', - 'á¾…' => 'á¾', - 'ᾆ' => 'ᾎ', - 'ᾇ' => 'á¾', - 'á¾' => 'ᾘ', - 'ᾑ' => 'á¾™', - 'á¾’' => 'ᾚ', - 'ᾓ' => 'á¾›', - 'á¾”' => 'ᾜ', - 'ᾕ' => 'á¾', - 'á¾–' => 'ᾞ', - 'á¾—' => 'ᾟ', - 'á¾ ' => 'ᾨ', - 'ᾡ' => 'ᾩ', - 'á¾¢' => 'ᾪ', - 'á¾£' => 'ᾫ', - 'ᾤ' => 'ᾬ', - 'á¾¥' => 'á¾­', - 'ᾦ' => 'á¾®', - 'ᾧ' => 'ᾯ', - 'á¾°' => 'Ᾰ', - 'á¾±' => 'á¾¹', - 'á¾³' => 'á¾¼', - 'á¾¾' => 'Ι', - 'ῃ' => 'á¿Œ', - 'á¿' => 'Ῐ', - 'á¿‘' => 'á¿™', - 'á¿ ' => 'Ῠ', - 'á¿¡' => 'á¿©', - 'á¿¥' => 'Ῥ', - 'ῳ' => 'ῼ', - 'â…Ž' => 'Ⅎ', - 'â…°' => 'â… ', - 'â…±' => 'â…¡', - 'â…²' => 'â…¢', - 'â…³' => 'â…£', - 'â…´' => 'â…¤', - 'â…µ' => 'â…¥', - 'â…¶' => 'â…¦', - 'â…·' => 'â…§', - 'â…¸' => 'â…¨', - 'â…¹' => 'â…©', - 'â…º' => 'â…ª', - 'â…»' => 'â…«', - 'â…¼' => 'â…¬', - 'â…½' => 'â…­', - 'â…¾' => 'â…®', - 'â…¿' => 'â…¯', - 'ↄ' => 'Ↄ', - 'â“' => 'â’¶', - 'â“‘' => 'â’·', - 'â“’' => 'â’¸', - 'â““' => 'â’¹', - 'â“”' => 'â’º', - 'â“•' => 'â’»', - 'â“–' => 'â’¼', - 'â“—' => 'â’½', - 'ⓘ' => 'â’¾', - 'â“™' => 'â’¿', - 'â“š' => 'â“€', - 'â“›' => 'â“', - 'â“œ' => 'â“‚', - 'â“' => 'Ⓝ', - 'â“ž' => 'â“„', - 'â“Ÿ' => 'â“…', - 'â“ ' => 'Ⓠ', - 'â“¡' => 'Ⓡ', - 'â“¢' => 'Ⓢ', - 'â“£' => 'Ⓣ', - 'ⓤ' => 'â“Š', - 'â“¥' => 'â“‹', - 'ⓦ' => 'â“Œ', - 'ⓧ' => 'â“', - 'ⓨ' => 'â“Ž', - 'â“©' => 'â“', - 'â°°' => 'â°€', - 'â°±' => 'â°', - 'â°²' => 'â°‚', - 'â°³' => 'â°ƒ', - 'â°´' => 'â°„', - 'â°µ' => 'â°…', - 'â°¶' => 'â°†', - 'â°·' => 'â°‡', - 'â°¸' => 'â°ˆ', - 'â°¹' => 'â°‰', - 'â°º' => 'â°Š', - 'â°»' => 'â°‹', - 'â°¼' => 'â°Œ', - 'â°½' => 'â°', - 'â°¾' => 'â°Ž', - 'â°¿' => 'â°', - 'â±€' => 'â°', - 'â±' => 'â°‘', - 'ⱂ' => 'â°’', - 'ⱃ' => 'â°“', - 'ⱄ' => 'â°”', - 'â±…' => 'â°•', - 'ⱆ' => 'â°–', - 'ⱇ' => 'â°—', - 'ⱈ' => 'â°˜', - 'ⱉ' => 'â°™', - 'ⱊ' => 'â°š', - 'ⱋ' => 'â°›', - 'ⱌ' => 'â°œ', - 'â±' => 'â°', - 'ⱎ' => 'â°ž', - 'â±' => 'â°Ÿ', - 'â±' => 'â° ', - 'ⱑ' => 'â°¡', - 'â±’' => 'â°¢', - 'ⱓ' => 'â°£', - 'â±”' => 'â°¤', - 'ⱕ' => 'â°¥', - 'â±–' => 'â°¦', - 'â±—' => 'â°§', - 'ⱘ' => 'â°¨', - 'â±™' => 'â°©', - 'ⱚ' => 'â°ª', - 'â±›' => 'â°«', - 'ⱜ' => 'â°¬', - 'â±' => 'â°­', - 'ⱞ' => 'â°®', - 'ⱡ' => 'â± ', - 'â±¥' => 'Ⱥ', - 'ⱦ' => 'Ⱦ', - 'ⱨ' => 'Ⱨ', - 'ⱪ' => 'Ⱪ', - 'ⱬ' => 'Ⱬ', - 'â±³' => 'â±²', - 'ⱶ' => 'â±µ', - 'â²' => 'â²€', - 'ⲃ' => 'Ⲃ', - 'â²…' => 'Ⲅ', - 'ⲇ' => 'Ⲇ', - 'ⲉ' => 'Ⲉ', - 'ⲋ' => 'Ⲋ', - 'â²' => 'Ⲍ', - 'â²' => 'Ⲏ', - 'ⲑ' => 'â²', - 'ⲓ' => 'â²’', - 'ⲕ' => 'â²”', - 'â²—' => 'â²–', - 'â²™' => 'Ⲙ', - 'â²›' => 'Ⲛ', - 'â²' => 'Ⲝ', - 'ⲟ' => 'Ⲟ', - 'ⲡ' => 'â² ', - 'â²£' => 'â²¢', - 'â²¥' => 'Ⲥ', - 'ⲧ' => 'Ⲧ', - 'ⲩ' => 'Ⲩ', - 'ⲫ' => 'Ⲫ', - 'â²­' => 'Ⲭ', - 'ⲯ' => 'â²®', - 'â²±' => 'â²°', - 'â²³' => 'â²²', - 'â²µ' => 'â²´', - 'â²·' => 'Ⲷ', - 'â²¹' => 'Ⲹ', - 'â²»' => 'Ⲻ', - 'â²½' => 'â²¼', - 'ⲿ' => 'â²¾', - 'â³' => 'â³€', - 'ⳃ' => 'Ⳃ', - 'â³…' => 'Ⳅ', - 'ⳇ' => 'Ⳇ', - 'ⳉ' => 'Ⳉ', - 'ⳋ' => 'Ⳋ', - 'â³' => 'Ⳍ', - 'â³' => 'Ⳏ', - 'ⳑ' => 'â³', - 'ⳓ' => 'â³’', - 'ⳕ' => 'â³”', - 'â³—' => 'â³–', - 'â³™' => 'Ⳙ', - 'â³›' => 'Ⳛ', - 'â³' => 'Ⳝ', - 'ⳟ' => 'Ⳟ', - 'ⳡ' => 'â³ ', - 'â³£' => 'â³¢', - 'ⳬ' => 'Ⳬ', - 'â³®' => 'â³­', - 'â³³' => 'â³²', - 'â´€' => 'á‚ ', - 'â´' => 'á‚¡', - 'â´‚' => 'á‚¢', - 'â´ƒ' => 'á‚£', - 'â´„' => 'Ⴄ', - 'â´…' => 'á‚¥', - 'â´†' => 'Ⴆ', - 'â´‡' => 'Ⴇ', - 'â´ˆ' => 'Ⴈ', - 'â´‰' => 'á‚©', - 'â´Š' => 'Ⴊ', - 'â´‹' => 'á‚«', - 'â´Œ' => 'Ⴌ', - 'â´' => 'á‚­', - 'â´Ž' => 'á‚®', - 'â´' => 'Ⴏ', - 'â´' => 'á‚°', - 'â´‘' => 'Ⴑ', - 'â´’' => 'Ⴒ', - 'â´“' => 'Ⴓ', - 'â´”' => 'á‚´', - 'â´•' => 'Ⴕ', - 'â´–' => 'Ⴖ', - 'â´—' => 'á‚·', - 'â´˜' => 'Ⴘ', - 'â´™' => 'Ⴙ', - 'â´š' => 'Ⴚ', - 'â´›' => 'á‚»', - 'â´œ' => 'Ⴜ', - 'â´' => 'Ⴝ', - 'â´ž' => 'Ⴞ', - 'â´Ÿ' => 'á‚¿', - 'â´ ' => 'Ⴠ', - 'â´¡' => 'áƒ', - 'â´¢' => 'Ⴢ', - 'â´£' => 'Ⴣ', - 'â´¤' => 'Ⴤ', - 'â´¥' => 'Ⴥ', - 'â´§' => 'Ⴧ', - 'â´­' => 'áƒ', - 'ê™' => 'Ꙁ', - 'ꙃ' => 'Ꙃ', - 'ê™…' => 'Ꙅ', - 'ꙇ' => 'Ꙇ', - 'ꙉ' => 'Ꙉ', - 'ꙋ' => 'Ꙋ', - 'ê™' => 'Ꙍ', - 'ê™' => 'Ꙏ', - 'ꙑ' => 'ê™', - 'ꙓ' => 'ê™’', - 'ꙕ' => 'ê™”', - 'ê™—' => 'ê™–', - 'ê™™' => 'Ꙙ', - 'ê™›' => 'Ꙛ', - 'ê™' => 'Ꙝ', - 'ꙟ' => 'Ꙟ', - 'ꙡ' => 'ê™ ', - 'ꙣ' => 'Ꙣ', - 'ꙥ' => 'Ꙥ', - 'ꙧ' => 'Ꙧ', - 'ꙩ' => 'Ꙩ', - 'ꙫ' => 'Ꙫ', - 'ê™­' => 'Ꙭ', - 'êš' => 'Ꚁ', - 'ꚃ' => 'êš‚', - 'êš…' => 'êš„', - 'ꚇ' => 'Ꚇ', - 'ꚉ' => 'Ꚉ', - 'êš‹' => 'Ꚋ', - 'êš' => 'Ꚍ', - 'êš' => 'Ꚏ', - 'êš‘' => 'êš', - 'êš“' => 'êš’', - 'êš•' => 'êš”', - 'êš—' => 'êš–', - 'êš™' => 'Ꚙ', - 'êš›' => 'êšš', - 'ꜣ' => 'Ꜣ', - 'ꜥ' => 'Ꜥ', - 'ꜧ' => 'Ꜧ', - 'ꜩ' => 'Ꜩ', - 'ꜫ' => 'Ꜫ', - 'ꜭ' => 'Ꜭ', - 'ꜯ' => 'Ꜯ', - 'ꜳ' => 'Ꜳ', - 'ꜵ' => 'Ꜵ', - 'ꜷ' => 'Ꜷ', - 'ꜹ' => 'Ꜹ', - 'ꜻ' => 'Ꜻ', - 'ꜽ' => 'Ꜽ', - 'ꜿ' => 'Ꜿ', - 'ê' => 'ê€', - 'êƒ' => 'ê‚', - 'ê…' => 'ê„', - 'ê‡' => 'ê†', - 'ê‰' => 'êˆ', - 'ê‹' => 'êŠ', - 'ê' => 'êŒ', - 'ê' => 'êŽ', - 'ê‘' => 'ê', - 'ê“' => 'ê’', - 'ê•' => 'ê”', - 'ê—' => 'ê–', - 'ê™' => 'ê˜', - 'ê›' => 'êš', - 'ê' => 'êœ', - 'êŸ' => 'êž', - 'ê¡' => 'ê ', - 'ê£' => 'ê¢', - 'ê¥' => 'ê¤', - 'ê§' => 'ê¦', - 'ê©' => 'ê¨', - 'ê«' => 'êª', - 'ê­' => 'ê¬', - 'ê¯' => 'ê®', - 'êº' => 'ê¹', - 'ê¼' => 'ê»', - 'ê¿' => 'ê¾', - 'êž' => 'Ꞁ', - 'ꞃ' => 'êž‚', - 'êž…' => 'êž„', - 'ꞇ' => 'Ꞇ', - 'ꞌ' => 'êž‹', - 'êž‘' => 'êž', - 'êž“' => 'êž’', - 'êž—' => 'êž–', - 'êž™' => 'Ꞙ', - 'êž›' => 'êžš', - 'êž' => 'êžœ', - 'ꞟ' => 'êžž', - 'êž¡' => 'êž ', - 'ꞣ' => 'Ꞣ', - 'ꞥ' => 'Ꞥ', - 'ꞧ' => 'Ꞧ', - 'êž©' => 'Ꞩ', - 'ï½' => 'A', - 'b' => 'ï¼¢', - 'c' => 'ï¼£', - 'd' => 'D', - 'ï½…' => 'ï¼¥', - 'f' => 'F', - 'g' => 'G', - 'h' => 'H', - 'i' => 'I', - 'j' => 'J', - 'k' => 'K', - 'l' => 'L', - 'ï½' => 'ï¼­', - 'n' => 'ï¼®', - 'ï½' => 'O', - 'ï½' => 'ï¼°', - 'q' => 'ï¼±', - 'ï½’' => 'ï¼²', - 's' => 'ï¼³', - 'ï½”' => 'ï¼´', - 'u' => 'ï¼µ', - 'ï½–' => 'V', - 'ï½—' => 'ï¼·', - 'x' => 'X', - 'ï½™' => 'ï¼¹', - 'z' => 'Z', - 'ð¨' => 'ð€', - 'ð©' => 'ð', - 'ðª' => 'ð‚', - 'ð«' => 'ðƒ', - 'ð¬' => 'ð„', - 'ð­' => 'ð…', - 'ð®' => 'ð†', - 'ð¯' => 'ð‡', - 'ð°' => 'ðˆ', - 'ð±' => 'ð‰', - 'ð²' => 'ðŠ', - 'ð³' => 'ð‹', - 'ð´' => 'ðŒ', - 'ðµ' => 'ð', - 'ð¶' => 'ðŽ', - 'ð·' => 'ð', - 'ð¸' => 'ð', - 'ð¹' => 'ð‘', - 'ðº' => 'ð’', - 'ð»' => 'ð“', - 'ð¼' => 'ð”', - 'ð½' => 'ð•', - 'ð¾' => 'ð–', - 'ð¿' => 'ð—', - 'ð‘€' => 'ð˜', - 'ð‘' => 'ð™', - 'ð‘‚' => 'ðš', - 'ð‘ƒ' => 'ð›', - 'ð‘„' => 'ðœ', - 'ð‘…' => 'ð', - 'ð‘†' => 'ðž', - 'ð‘‡' => 'ðŸ', - 'ð‘ˆ' => 'ð ', - 'ð‘‰' => 'ð¡', - 'ð‘Š' => 'ð¢', - 'ð‘‹' => 'ð£', - 'ð‘Œ' => 'ð¤', - 'ð‘' => 'ð¥', - 'ð‘Ž' => 'ð¦', - 'ð‘' => 'ð§', - 'ð‘£€' => 'ð‘¢ ', - 'ð‘£' => '𑢡', - '𑣂' => 'ð‘¢¢', - '𑣃' => 'ð‘¢£', - '𑣄' => '𑢤', - 'ð‘£…' => 'ð‘¢¥', - '𑣆' => '𑢦', - '𑣇' => '𑢧', - '𑣈' => '𑢨', - '𑣉' => '𑢩', - '𑣊' => '𑢪', - '𑣋' => '𑢫', - '𑣌' => '𑢬', - 'ð‘£' => 'ð‘¢­', - '𑣎' => 'ð‘¢®', - 'ð‘£' => '𑢯', - 'ð‘£' => 'ð‘¢°', - '𑣑' => 'ð‘¢±', - 'ð‘£’' => 'ð‘¢²', - '𑣓' => 'ð‘¢³', - 'ð‘£”' => 'ð‘¢´', - '𑣕' => 'ð‘¢µ', - 'ð‘£–' => '𑢶', - 'ð‘£—' => 'ð‘¢·', - '𑣘' => '𑢸', - 'ð‘£™' => 'ð‘¢¹', - '𑣚' => '𑢺', - 'ð‘£›' => 'ð‘¢»', - '𑣜' => 'ð‘¢¼', - 'ð‘£' => 'ð‘¢½', - '𑣞' => 'ð‘¢¾', - '𑣟' => '𑢿', -); diff --git a/paragonik-backend/vendor/symfony/polyfill-mbstring/bootstrap.php b/paragonik-backend/vendor/symfony/polyfill-mbstring/bootstrap.php deleted file mode 100644 index 204a41b..0000000 --- a/paragonik-backend/vendor/symfony/polyfill-mbstring/bootstrap.php +++ /dev/null @@ -1,62 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -use Symfony\Polyfill\Mbstring as p; - -if (!function_exists('mb_strlen')) { - define('MB_CASE_UPPER', 0); - define('MB_CASE_LOWER', 1); - define('MB_CASE_TITLE', 2); - - function mb_convert_encoding($s, $to, $from = null) { return p\Mbstring::mb_convert_encoding($s, $to, $from); } - function mb_decode_mimeheader($s) { return p\Mbstring::mb_decode_mimeheader($s); } - function mb_encode_mimeheader($s, $charset = null, $transferEnc = null, $lf = null, $indent = null) { return p\Mbstring::mb_encode_mimeheader($s, $charset, $transferEnc, $lf, $indent); } - function mb_decode_numericentity($s, $convmap, $enc = null) { return p\Mbstring::mb_decode_numericentity($s, $convmap, $enc); } - function mb_encode_numericentity($s, $convmap, $enc = null, $is_hex = false) { return p\Mbstring::mb_encode_numericentity($s, $convmap, $enc, $is_hex); } - function mb_convert_case($s, $mode, $enc = null) { return p\Mbstring::mb_convert_case($s, $mode, $enc); } - function mb_internal_encoding($enc = null) { return p\Mbstring::mb_internal_encoding($enc); } - function mb_language($lang = null) { return p\Mbstring::mb_language($lang); } - function mb_list_encodings() { return p\Mbstring::mb_list_encodings(); } - function mb_encoding_aliases($encoding) { return p\Mbstring::mb_encoding_aliases($encoding); } - function mb_check_encoding($var = null, $encoding = null) { return p\Mbstring::mb_check_encoding($var, $encoding); } - function mb_detect_encoding($str, $encodingList = null, $strict = false) { return p\Mbstring::mb_detect_encoding($str, $encodingList, $strict); } - function mb_detect_order($encodingList = null) { return p\Mbstring::mb_detect_order($encodingList); } - function mb_parse_str($s, &$result = array()) { parse_str($s, $result); } - function mb_strlen($s, $enc = null) { return p\Mbstring::mb_strlen($s, $enc); } - function mb_strpos($s, $needle, $offset = 0, $enc = null) { return p\Mbstring::mb_strpos($s, $needle, $offset, $enc); } - function mb_strtolower($s, $enc = null) { return p\Mbstring::mb_strtolower($s, $enc); } - function mb_strtoupper($s, $enc = null) { return p\Mbstring::mb_strtoupper($s, $enc); } - function mb_substitute_character($char = null) { return p\Mbstring::mb_substitute_character($char); } - function mb_substr($s, $start, $length = 2147483647, $enc = null) { return p\Mbstring::mb_substr($s, $start, $length, $enc); } - function mb_stripos($s, $needle, $offset = 0, $enc = null) { return p\Mbstring::mb_stripos($s, $needle, $offset, $enc); } - function mb_stristr($s, $needle, $part = false, $enc = null) { return p\Mbstring::mb_stristr($s, $needle, $part, $enc); } - function mb_strrchr($s, $needle, $part = false, $enc = null) { return p\Mbstring::mb_strrchr($s, $needle, $part, $enc); } - function mb_strrichr($s, $needle, $part = false, $enc = null) { return p\Mbstring::mb_strrichr($s, $needle, $part, $enc); } - function mb_strripos($s, $needle, $offset = 0, $enc = null) { return p\Mbstring::mb_strripos($s, $needle, $offset, $enc); } - function mb_strrpos($s, $needle, $offset = 0, $enc = null) { return p\Mbstring::mb_strrpos($s, $needle, $offset, $enc); } - function mb_strstr($s, $needle, $part = false, $enc = null) { return p\Mbstring::mb_strstr($s, $needle, $part, $enc); } - function mb_get_info($type = 'all') { return p\Mbstring::mb_get_info($type); } - function mb_http_output($enc = null) { return p\Mbstring::mb_http_output($enc); } - function mb_strwidth($s, $enc = null) { return p\Mbstring::mb_strwidth($s, $enc); } - function mb_substr_count($haystack, $needle, $enc = null) { return p\Mbstring::mb_substr_count($haystack, $needle, $enc); } - function mb_output_handler($contents, $status) { return p\Mbstring::mb_output_handler($contents, $status); } - function mb_http_input($type = '') { return p\Mbstring::mb_http_input($type); } - function mb_convert_variables($toEncoding, $fromEncoding, &$a = null, &$b = null, &$c = null, &$d = null, &$e = null, &$f = null) { return p\Mbstring::mb_convert_variables($toEncoding, $fromEncoding, $a, $b, $c, $d, $e, $f); } -} -if (!function_exists('mb_chr')) { - function mb_ord($s, $enc = null) { return p\Mbstring::mb_ord($s, $enc); } - function mb_chr($code, $enc = null) { return p\Mbstring::mb_chr($code, $enc); } - function mb_scrub($s, $enc = null) { $enc = null === $enc ? mb_internal_encoding() : $enc; return mb_convert_encoding($s, $enc, $enc); } -} - -if (!function_exists('mb_str_split')) { - function mb_str_split($string, $split_length = 1, $encoding = null) { return p\Mbstring::mb_str_split($string, $split_length, $encoding); } -} diff --git a/paragonik-backend/vendor/symfony/polyfill-mbstring/composer.json b/paragonik-backend/vendor/symfony/polyfill-mbstring/composer.json deleted file mode 100644 index c968074..0000000 --- a/paragonik-backend/vendor/symfony/polyfill-mbstring/composer.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "name": "symfony/polyfill-mbstring", - "type": "library", - "description": "Symfony polyfill for the Mbstring extension", - "keywords": ["polyfill", "shim", "compatibility", "portable", "mbstring"], - "homepage": "https://symfony.com", - "license": "MIT", - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "require": { - "php": ">=5.3.3" - }, - "autoload": { - "psr-4": { "Symfony\\Polyfill\\Mbstring\\": "" }, - "files": [ "bootstrap.php" ] - }, - "suggest": { - "ext-mbstring": "For best performance" - }, - "minimum-stability": "dev", - "extra": { - "branch-alias": { - "dev-master": "1.13-dev" - } - } -} diff --git a/paragonik-backend/vendor/symfony/polyfill-php72/LICENSE b/paragonik-backend/vendor/symfony/polyfill-php72/LICENSE deleted file mode 100644 index 4cd8bdd..0000000 --- a/paragonik-backend/vendor/symfony/polyfill-php72/LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 2015-2019 Fabien Potencier - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is furnished -to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/paragonik-backend/vendor/symfony/polyfill-php72/Php72.php b/paragonik-backend/vendor/symfony/polyfill-php72/Php72.php deleted file mode 100644 index d531e84..0000000 --- a/paragonik-backend/vendor/symfony/polyfill-php72/Php72.php +++ /dev/null @@ -1,216 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Polyfill\Php72; - -/** - * @author Nicolas Grekas - * @author Dariusz RumiÅ„ski - * - * @internal - */ -final class Php72 -{ - private static $hashMask; - - public static function utf8_encode($s) - { - $s .= $s; - $len = \strlen($s); - - for ($i = $len >> 1, $j = 0; $i < $len; ++$i, ++$j) { - switch (true) { - case $s[$i] < "\x80": $s[$j] = $s[$i]; break; - case $s[$i] < "\xC0": $s[$j] = "\xC2"; $s[++$j] = $s[$i]; break; - default: $s[$j] = "\xC3"; $s[++$j] = \chr(\ord($s[$i]) - 64); break; - } - } - - return substr($s, 0, $j); - } - - public static function utf8_decode($s) - { - $s = (string) $s; - $len = \strlen($s); - - for ($i = 0, $j = 0; $i < $len; ++$i, ++$j) { - switch ($s[$i] & "\xF0") { - case "\xC0": - case "\xD0": - $c = (\ord($s[$i] & "\x1F") << 6) | \ord($s[++$i] & "\x3F"); - $s[$j] = $c < 256 ? \chr($c) : '?'; - break; - - case "\xF0": - ++$i; - // no break - - case "\xE0": - $s[$j] = '?'; - $i += 2; - break; - - default: - $s[$j] = $s[$i]; - } - } - - return substr($s, 0, $j); - } - - public static function php_os_family() - { - if ('\\' === \DIRECTORY_SEPARATOR) { - return 'Windows'; - } - - $map = array( - 'Darwin' => 'Darwin', - 'DragonFly' => 'BSD', - 'FreeBSD' => 'BSD', - 'NetBSD' => 'BSD', - 'OpenBSD' => 'BSD', - 'Linux' => 'Linux', - 'SunOS' => 'Solaris', - ); - - return isset($map[PHP_OS]) ? $map[PHP_OS] : 'Unknown'; - } - - public static function spl_object_id($object) - { - if (null === self::$hashMask) { - self::initHashMask(); - } - if (null === $hash = spl_object_hash($object)) { - return; - } - - return self::$hashMask ^ hexdec(substr($hash, 16 - \PHP_INT_SIZE, \PHP_INT_SIZE)); - } - - public static function sapi_windows_vt100_support($stream, $enable = null) - { - if (!\is_resource($stream)) { - trigger_error('sapi_windows_vt100_support() expects parameter 1 to be resource, '.\gettype($stream).' given', E_USER_WARNING); - - return false; - } - - $meta = stream_get_meta_data($stream); - - if ('STDIO' !== $meta['stream_type']) { - trigger_error('sapi_windows_vt100_support() was not able to analyze the specified stream', E_USER_WARNING); - - return false; - } - - // We cannot actually disable vt100 support if it is set - if (false === $enable || !self::stream_isatty($stream)) { - return false; - } - - // The native function does not apply to stdin - $meta = array_map('strtolower', $meta); - $stdin = 'php://stdin' === $meta['uri'] || 'php://fd/0' === $meta['uri']; - - return !$stdin - && (false !== getenv('ANSICON') - || 'ON' === getenv('ConEmuANSI') - || 'xterm' === getenv('TERM') - || 'Hyper' === getenv('TERM_PROGRAM')); - } - - public static function stream_isatty($stream) - { - if (!\is_resource($stream)) { - trigger_error('stream_isatty() expects parameter 1 to be resource, '.\gettype($stream).' given', E_USER_WARNING); - - return false; - } - - if ('\\' === \DIRECTORY_SEPARATOR) { - $stat = @fstat($stream); - // Check if formatted mode is S_IFCHR - return $stat ? 0020000 === ($stat['mode'] & 0170000) : false; - } - - return \function_exists('posix_isatty') && @posix_isatty($stream); - } - - private static function initHashMask() - { - $obj = (object) array(); - self::$hashMask = -1; - - // check if we are nested in an output buffering handler to prevent a fatal error with ob_start() below - $obFuncs = array('ob_clean', 'ob_end_clean', 'ob_flush', 'ob_end_flush', 'ob_get_contents', 'ob_get_flush'); - foreach (debug_backtrace(\PHP_VERSION_ID >= 50400 ? DEBUG_BACKTRACE_IGNORE_ARGS : false) as $frame) { - if (isset($frame['function'][0]) && !isset($frame['class']) && 'o' === $frame['function'][0] && \in_array($frame['function'], $obFuncs)) { - $frame['line'] = 0; - break; - } - } - if (!empty($frame['line'])) { - ob_start(); - debug_zval_dump($obj); - self::$hashMask = (int) substr(ob_get_clean(), 17); - } - - self::$hashMask ^= hexdec(substr(spl_object_hash($obj), 16 - \PHP_INT_SIZE, \PHP_INT_SIZE)); - } - - public static function mb_chr($code, $encoding = null) - { - if (0x80 > $code %= 0x200000) { - $s = \chr($code); - } elseif (0x800 > $code) { - $s = \chr(0xC0 | $code >> 6).\chr(0x80 | $code & 0x3F); - } elseif (0x10000 > $code) { - $s = \chr(0xE0 | $code >> 12).\chr(0x80 | $code >> 6 & 0x3F).\chr(0x80 | $code & 0x3F); - } else { - $s = \chr(0xF0 | $code >> 18).\chr(0x80 | $code >> 12 & 0x3F).\chr(0x80 | $code >> 6 & 0x3F).\chr(0x80 | $code & 0x3F); - } - - if ('UTF-8' !== $encoding) { - $s = mb_convert_encoding($s, $encoding, 'UTF-8'); - } - - return $s; - } - - public static function mb_ord($s, $encoding = null) - { - if (null == $encoding) { - $s = mb_convert_encoding($s, 'UTF-8'); - } elseif ('UTF-8' !== $encoding) { - $s = mb_convert_encoding($s, 'UTF-8', $encoding); - } - - if (1 === \strlen($s)) { - return \ord($s); - } - - $code = ($s = unpack('C*', substr($s, 0, 4))) ? $s[1] : 0; - if (0xF0 <= $code) { - return (($code - 0xF0) << 18) + (($s[2] - 0x80) << 12) + (($s[3] - 0x80) << 6) + $s[4] - 0x80; - } - if (0xE0 <= $code) { - return (($code - 0xE0) << 12) + (($s[2] - 0x80) << 6) + $s[3] - 0x80; - } - if (0xC0 <= $code) { - return (($code - 0xC0) << 6) + $s[2] - 0x80; - } - - return $code; - } -} diff --git a/paragonik-backend/vendor/symfony/polyfill-php72/README.md b/paragonik-backend/vendor/symfony/polyfill-php72/README.md deleted file mode 100644 index 82c45f7..0000000 --- a/paragonik-backend/vendor/symfony/polyfill-php72/README.md +++ /dev/null @@ -1,27 +0,0 @@ -Symfony Polyfill / Php72 -======================== - -This component provides functions added to PHP 7.2 core: - -- [`spl_object_id`](https://php.net/spl_object_id) -- [`stream_isatty`](https://php.net/stream_isatty) - -On Windows only: - -- [`sapi_windows_vt100_support`](https://php.net/sapi_windows_vt100_support) - -Moved to core since 7.2 (was in the optional XML extension earlier): - -- [`utf8_encode`](https://php.net/utf8_encode) -- [`utf8_decode`](https://php.net/utf8_decode) - -Also, it provides a constant added to PHP 7.2: -- [`PHP_OS_FAMILY`](http://php.net/manual/en/reserved.constants.php#constant.php-os-family) - -More information can be found in the -[main Polyfill README](https://github.com/symfony/polyfill/blob/master/README.md). - -License -======= - -This library is released under the [MIT license](LICENSE). diff --git a/paragonik-backend/vendor/symfony/polyfill-php72/bootstrap.php b/paragonik-backend/vendor/symfony/polyfill-php72/bootstrap.php deleted file mode 100644 index 519056d..0000000 --- a/paragonik-backend/vendor/symfony/polyfill-php72/bootstrap.php +++ /dev/null @@ -1,36 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -use Symfony\Polyfill\Php72 as p; - -if (PHP_VERSION_ID < 70200) { - if ('\\' === DIRECTORY_SEPARATOR && !function_exists('sapi_windows_vt100_support')) { - function sapi_windows_vt100_support($stream, $enable = null) { return p\Php72::sapi_windows_vt100_support($stream, $enable); } - } - if (!function_exists('stream_isatty')) { - function stream_isatty($stream) { return p\Php72::stream_isatty($stream); } - } - if (!function_exists('utf8_encode')) { - function utf8_encode($s) { return p\Php72::utf8_encode($s); } - function utf8_decode($s) { return p\Php72::utf8_decode($s); } - } - if (!function_exists('spl_object_id')) { - function spl_object_id($s) { return p\Php72::spl_object_id($s); } - } - if (!defined('PHP_OS_FAMILY')) { - define('PHP_OS_FAMILY', p\Php72::php_os_family()); - } - if (!function_exists('mb_chr')) { - function mb_ord($s, $enc = null) { return p\Php72::mb_ord($s, $enc); } - function mb_chr($code, $enc = null) { return p\Php72::mb_chr($code, $enc); } - function mb_scrub($s, $enc = null) { $enc = null === $enc ? mb_internal_encoding() : $enc; return mb_convert_encoding($s, $enc, $enc); } - } -} diff --git a/paragonik-backend/vendor/symfony/polyfill-php72/composer.json b/paragonik-backend/vendor/symfony/polyfill-php72/composer.json deleted file mode 100644 index 0d37167..0000000 --- a/paragonik-backend/vendor/symfony/polyfill-php72/composer.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "name": "symfony/polyfill-php72", - "type": "library", - "description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions", - "keywords": ["polyfill", "shim", "compatibility", "portable"], - "homepage": "https://symfony.com", - "license": "MIT", - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "require": { - "php": ">=5.3.3" - }, - "autoload": { - "psr-4": { "Symfony\\Polyfill\\Php72\\": "" }, - "files": [ "bootstrap.php" ] - }, - "minimum-stability": "dev", - "extra": { - "branch-alias": { - "dev-master": "1.13-dev" - } - } -} diff --git a/paragonik-backend/vendor/symfony/polyfill-php73/LICENSE b/paragonik-backend/vendor/symfony/polyfill-php73/LICENSE deleted file mode 100644 index 3f853aa..0000000 --- a/paragonik-backend/vendor/symfony/polyfill-php73/LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 2018-2019 Fabien Potencier - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is furnished -to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/paragonik-backend/vendor/symfony/polyfill-php73/Php73.php b/paragonik-backend/vendor/symfony/polyfill-php73/Php73.php deleted file mode 100644 index 7c99d19..0000000 --- a/paragonik-backend/vendor/symfony/polyfill-php73/Php73.php +++ /dev/null @@ -1,43 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Polyfill\Php73; - -/** - * @author Gabriel Caruso - * @author Ion Bazan - * - * @internal - */ -final class Php73 -{ - public static $startAt = 1533462603; - - /** - * @param bool $asNum - * - * @return array|float|int - */ - public static function hrtime($asNum = false) - { - $ns = microtime(false); - $s = substr($ns, 11) - self::$startAt; - $ns = 1E9 * (float) $ns; - - if ($asNum) { - $ns += $s * 1E9; - - return \PHP_INT_SIZE === 4 ? $ns : (int) $ns; - } - - return array($s, (int) $ns); - } -} diff --git a/paragonik-backend/vendor/symfony/polyfill-php73/README.md b/paragonik-backend/vendor/symfony/polyfill-php73/README.md deleted file mode 100644 index b3ebbce..0000000 --- a/paragonik-backend/vendor/symfony/polyfill-php73/README.md +++ /dev/null @@ -1,18 +0,0 @@ -Symfony Polyfill / Php73 -======================== - -This component provides functions added to PHP 7.3 core: - -- [`array_key_first`](https://php.net/array_key_first) -- [`array_key_last`](https://php.net/array_key_last) -- [`hrtime`](https://php.net/function.hrtime) -- [`is_countable`](https://php.net/is_countable) -- [`JsonException`](https://php.net/JsonException) - -More information can be found in the -[main Polyfill README](https://github.com/symfony/polyfill/blob/master/README.md). - -License -======= - -This library is released under the [MIT license](LICENSE). diff --git a/paragonik-backend/vendor/symfony/polyfill-php73/Resources/stubs/JsonException.php b/paragonik-backend/vendor/symfony/polyfill-php73/Resources/stubs/JsonException.php deleted file mode 100644 index 673d100..0000000 --- a/paragonik-backend/vendor/symfony/polyfill-php73/Resources/stubs/JsonException.php +++ /dev/null @@ -1,14 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -class JsonException extends Exception -{ -} diff --git a/paragonik-backend/vendor/symfony/polyfill-php73/bootstrap.php b/paragonik-backend/vendor/symfony/polyfill-php73/bootstrap.php deleted file mode 100644 index 4c3f44f..0000000 --- a/paragonik-backend/vendor/symfony/polyfill-php73/bootstrap.php +++ /dev/null @@ -1,32 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -use Symfony\Polyfill\Php73 as p; - -if (PHP_VERSION_ID < 70300) { - if (!function_exists('is_countable')) { - function is_countable($var) { return is_array($var) || $var instanceof Countable || $var instanceof ResourceBundle || $var instanceof SimpleXmlElement; } - } - - if (!function_exists('hrtime')) { - require_once __DIR__.'/Php73.php'; - p\Php73::$startAt = (int) microtime(true); - function hrtime($asNum = false) { return p\Php73::hrtime($asNum); } - } - - if (!function_exists('array_key_first')) { - function array_key_first(array $array) { foreach ($array as $key => $value) { return $key; } } - } - - if (!function_exists('array_key_last')) { - function array_key_last(array $array) { end($array); return key($array); } - } -} diff --git a/paragonik-backend/vendor/symfony/polyfill-php73/composer.json b/paragonik-backend/vendor/symfony/polyfill-php73/composer.json deleted file mode 100644 index cffa32f..0000000 --- a/paragonik-backend/vendor/symfony/polyfill-php73/composer.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "name": "symfony/polyfill-php73", - "type": "library", - "description": "Symfony polyfill backporting some PHP 7.3+ features to lower PHP versions", - "keywords": ["polyfill", "shim", "compatibility", "portable"], - "homepage": "https://symfony.com", - "license": "MIT", - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "require": { - "php": ">=5.3.3" - }, - "autoload": { - "psr-4": { "Symfony\\Polyfill\\Php73\\": "" }, - "files": [ "bootstrap.php" ], - "classmap": [ "Resources/stubs" ] - }, - "minimum-stability": "dev", - "extra": { - "branch-alias": { - "dev-master": "1.13-dev" - } - } -} diff --git a/paragonik-backend/vendor/symfony/process/.gitattributes b/paragonik-backend/vendor/symfony/process/.gitattributes deleted file mode 100644 index ebb9287..0000000 --- a/paragonik-backend/vendor/symfony/process/.gitattributes +++ /dev/null @@ -1,3 +0,0 @@ -/Tests export-ignore -/phpunit.xml.dist export-ignore -/.gitignore export-ignore diff --git a/paragonik-backend/vendor/symfony/process/CHANGELOG.md b/paragonik-backend/vendor/symfony/process/CHANGELOG.md deleted file mode 100644 index 69d4cbd..0000000 --- a/paragonik-backend/vendor/symfony/process/CHANGELOG.md +++ /dev/null @@ -1,96 +0,0 @@ -CHANGELOG -========= - -4.4.0 ------ - - * deprecated `Process::inheritEnvironmentVariables()`: env variables are always inherited. - * added `Process::getLastOutputTime()` method - -4.2.0 ------ - - * added the `Process::fromShellCommandline()` to run commands in a shell wrapper - * deprecated passing a command as string when creating a `Process` instance - * deprecated the `Process::setCommandline()` and the `PhpProcess::setPhpBinary()` methods - * added the `Process::waitUntil()` method to wait for the process only for a - specific output, then continue the normal execution of your application - -4.1.0 ------ - - * added the `Process::isTtySupported()` method that allows to check for TTY support - * made `PhpExecutableFinder` look for the `PHP_BINARY` env var when searching the php binary - * added the `ProcessSignaledException` class to properly catch signaled process errors - -4.0.0 ------ - - * environment variables will always be inherited - * added a second `array $env = []` argument to the `start()`, `run()`, - `mustRun()`, and `restart()` methods of the `Process` class - * added a second `array $env = []` argument to the `start()` method of the - `PhpProcess` class - * the `ProcessUtils::escapeArgument()` method has been removed - * the `areEnvironmentVariablesInherited()`, `getOptions()`, and `setOptions()` - methods of the `Process` class have been removed - * support for passing `proc_open()` options has been removed - * removed the `ProcessBuilder` class, use the `Process` class instead - * removed the `getEnhanceWindowsCompatibility()` and `setEnhanceWindowsCompatibility()` methods of the `Process` class - * passing a not existing working directory to the constructor of the `Symfony\Component\Process\Process` class is not - supported anymore - -3.4.0 ------ - - * deprecated the ProcessBuilder class - * deprecated calling `Process::start()` without setting a valid working directory beforehand (via `setWorkingDirectory()` or constructor) - -3.3.0 ------ - - * added command line arrays in the `Process` class - * added `$env` argument to `Process::start()`, `run()`, `mustRun()` and `restart()` methods - * deprecated the `ProcessUtils::escapeArgument()` method - * deprecated not inheriting environment variables - * deprecated configuring `proc_open()` options - * deprecated configuring enhanced Windows compatibility - * deprecated configuring enhanced sigchild compatibility - -2.5.0 ------ - - * added support for PTY mode - * added the convenience method "mustRun" - * deprecation: Process::setStdin() is deprecated in favor of Process::setInput() - * deprecation: Process::getStdin() is deprecated in favor of Process::getInput() - * deprecation: Process::setInput() and ProcessBuilder::setInput() do not accept non-scalar types - -2.4.0 ------ - - * added the ability to define an idle timeout - -2.3.0 ------ - - * added ProcessUtils::escapeArgument() to fix the bug in escapeshellarg() function on Windows - * added Process::signal() - * added Process::getPid() - * added support for a TTY mode - -2.2.0 ------ - - * added ProcessBuilder::setArguments() to reset the arguments on a builder - * added a way to retrieve the standard and error output incrementally - * added Process:restart() - -2.1.0 ------ - - * added support for non-blocking processes (start(), wait(), isRunning(), stop()) - * enhanced Windows compatibility - * added Process::getExitCodeText() that returns a string representation for - the exit code returned by the process - * added ProcessBuilder diff --git a/paragonik-backend/vendor/symfony/process/Exception/ExceptionInterface.php b/paragonik-backend/vendor/symfony/process/Exception/ExceptionInterface.php deleted file mode 100644 index bd4a604..0000000 --- a/paragonik-backend/vendor/symfony/process/Exception/ExceptionInterface.php +++ /dev/null @@ -1,21 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Process\Exception; - -/** - * Marker Interface for the Process Component. - * - * @author Johannes M. Schmitt - */ -interface ExceptionInterface extends \Throwable -{ -} diff --git a/paragonik-backend/vendor/symfony/process/Exception/InvalidArgumentException.php b/paragonik-backend/vendor/symfony/process/Exception/InvalidArgumentException.php deleted file mode 100644 index 926ee21..0000000 --- a/paragonik-backend/vendor/symfony/process/Exception/InvalidArgumentException.php +++ /dev/null @@ -1,21 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Process\Exception; - -/** - * InvalidArgumentException for the Process Component. - * - * @author Romain Neutron - */ -class InvalidArgumentException extends \InvalidArgumentException implements ExceptionInterface -{ -} diff --git a/paragonik-backend/vendor/symfony/process/Exception/LogicException.php b/paragonik-backend/vendor/symfony/process/Exception/LogicException.php deleted file mode 100644 index be3d490..0000000 --- a/paragonik-backend/vendor/symfony/process/Exception/LogicException.php +++ /dev/null @@ -1,21 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Process\Exception; - -/** - * LogicException for the Process Component. - * - * @author Romain Neutron - */ -class LogicException extends \LogicException implements ExceptionInterface -{ -} diff --git a/paragonik-backend/vendor/symfony/process/Exception/ProcessFailedException.php b/paragonik-backend/vendor/symfony/process/Exception/ProcessFailedException.php deleted file mode 100644 index 328acfd..0000000 --- a/paragonik-backend/vendor/symfony/process/Exception/ProcessFailedException.php +++ /dev/null @@ -1,54 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Process\Exception; - -use Symfony\Component\Process\Process; - -/** - * Exception for failed processes. - * - * @author Johannes M. Schmitt - */ -class ProcessFailedException extends RuntimeException -{ - private $process; - - public function __construct(Process $process) - { - if ($process->isSuccessful()) { - throw new InvalidArgumentException('Expected a failed process, but the given process was successful.'); - } - - $error = sprintf('The command "%s" failed.'."\n\nExit Code: %s(%s)\n\nWorking directory: %s", - $process->getCommandLine(), - $process->getExitCode(), - $process->getExitCodeText(), - $process->getWorkingDirectory() - ); - - if (!$process->isOutputDisabled()) { - $error .= sprintf("\n\nOutput:\n================\n%s\n\nError Output:\n================\n%s", - $process->getOutput(), - $process->getErrorOutput() - ); - } - - parent::__construct($error); - - $this->process = $process; - } - - public function getProcess() - { - return $this->process; - } -} diff --git a/paragonik-backend/vendor/symfony/process/Exception/ProcessSignaledException.php b/paragonik-backend/vendor/symfony/process/Exception/ProcessSignaledException.php deleted file mode 100644 index d4d3227..0000000 --- a/paragonik-backend/vendor/symfony/process/Exception/ProcessSignaledException.php +++ /dev/null @@ -1,41 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Process\Exception; - -use Symfony\Component\Process\Process; - -/** - * Exception that is thrown when a process has been signaled. - * - * @author Sullivan Senechal - */ -final class ProcessSignaledException extends RuntimeException -{ - private $process; - - public function __construct(Process $process) - { - $this->process = $process; - - parent::__construct(sprintf('The process has been signaled with signal "%s".', $process->getTermSignal())); - } - - public function getProcess(): Process - { - return $this->process; - } - - public function getSignal(): int - { - return $this->getProcess()->getTermSignal(); - } -} diff --git a/paragonik-backend/vendor/symfony/process/Exception/ProcessTimedOutException.php b/paragonik-backend/vendor/symfony/process/Exception/ProcessTimedOutException.php deleted file mode 100644 index e1f6445..0000000 --- a/paragonik-backend/vendor/symfony/process/Exception/ProcessTimedOutException.php +++ /dev/null @@ -1,69 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Process\Exception; - -use Symfony\Component\Process\Process; - -/** - * Exception that is thrown when a process times out. - * - * @author Johannes M. Schmitt - */ -class ProcessTimedOutException extends RuntimeException -{ - const TYPE_GENERAL = 1; - const TYPE_IDLE = 2; - - private $process; - private $timeoutType; - - public function __construct(Process $process, int $timeoutType) - { - $this->process = $process; - $this->timeoutType = $timeoutType; - - parent::__construct(sprintf( - 'The process "%s" exceeded the timeout of %s seconds.', - $process->getCommandLine(), - $this->getExceededTimeout() - )); - } - - public function getProcess() - { - return $this->process; - } - - public function isGeneralTimeout() - { - return self::TYPE_GENERAL === $this->timeoutType; - } - - public function isIdleTimeout() - { - return self::TYPE_IDLE === $this->timeoutType; - } - - public function getExceededTimeout() - { - switch ($this->timeoutType) { - case self::TYPE_GENERAL: - return $this->process->getTimeout(); - - case self::TYPE_IDLE: - return $this->process->getIdleTimeout(); - - default: - throw new \LogicException(sprintf('Unknown timeout type "%d".', $this->timeoutType)); - } - } -} diff --git a/paragonik-backend/vendor/symfony/process/Exception/RuntimeException.php b/paragonik-backend/vendor/symfony/process/Exception/RuntimeException.php deleted file mode 100644 index adead25..0000000 --- a/paragonik-backend/vendor/symfony/process/Exception/RuntimeException.php +++ /dev/null @@ -1,21 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Process\Exception; - -/** - * RuntimeException for the Process Component. - * - * @author Johannes M. Schmitt - */ -class RuntimeException extends \RuntimeException implements ExceptionInterface -{ -} diff --git a/paragonik-backend/vendor/symfony/process/ExecutableFinder.php b/paragonik-backend/vendor/symfony/process/ExecutableFinder.php deleted file mode 100644 index cb4345e..0000000 --- a/paragonik-backend/vendor/symfony/process/ExecutableFinder.php +++ /dev/null @@ -1,88 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Process; - -/** - * Generic executable finder. - * - * @author Fabien Potencier - * @author Johannes M. Schmitt - */ -class ExecutableFinder -{ - private $suffixes = ['.exe', '.bat', '.cmd', '.com']; - - /** - * Replaces default suffixes of executable. - */ - public function setSuffixes(array $suffixes) - { - $this->suffixes = $suffixes; - } - - /** - * Adds new possible suffix to check for executable. - * - * @param string $suffix - */ - public function addSuffix($suffix) - { - $this->suffixes[] = $suffix; - } - - /** - * Finds an executable by name. - * - * @param string $name The executable name (without the extension) - * @param string|null $default The default to return if no executable is found - * @param array $extraDirs Additional dirs to check into - * - * @return string|null The executable path or default value - */ - public function find($name, $default = null, array $extraDirs = []) - { - if (ini_get('open_basedir')) { - $searchPath = array_merge(explode(PATH_SEPARATOR, ini_get('open_basedir')), $extraDirs); - $dirs = []; - foreach ($searchPath as $path) { - // Silencing against https://bugs.php.net/69240 - if (@is_dir($path)) { - $dirs[] = $path; - } else { - if (basename($path) == $name && @is_executable($path)) { - return $path; - } - } - } - } else { - $dirs = array_merge( - explode(PATH_SEPARATOR, getenv('PATH') ?: getenv('Path')), - $extraDirs - ); - } - - $suffixes = ['']; - if ('\\' === \DIRECTORY_SEPARATOR) { - $pathExt = getenv('PATHEXT'); - $suffixes = array_merge($pathExt ? explode(PATH_SEPARATOR, $pathExt) : $this->suffixes, $suffixes); - } - foreach ($suffixes as $suffix) { - foreach ($dirs as $dir) { - if (@is_file($file = $dir.\DIRECTORY_SEPARATOR.$name.$suffix) && ('\\' === \DIRECTORY_SEPARATOR || @is_executable($file))) { - return $file; - } - } - } - - return $default; - } -} diff --git a/paragonik-backend/vendor/symfony/process/InputStream.php b/paragonik-backend/vendor/symfony/process/InputStream.php deleted file mode 100644 index c952daf..0000000 --- a/paragonik-backend/vendor/symfony/process/InputStream.php +++ /dev/null @@ -1,93 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Process; - -use Symfony\Component\Process\Exception\RuntimeException; - -/** - * Provides a way to continuously write to the input of a Process until the InputStream is closed. - * - * @author Nicolas Grekas - */ -class InputStream implements \IteratorAggregate -{ - /** @var callable|null */ - private $onEmpty = null; - private $input = []; - private $open = true; - - /** - * Sets a callback that is called when the write buffer becomes empty. - */ - public function onEmpty(callable $onEmpty = null) - { - $this->onEmpty = $onEmpty; - } - - /** - * Appends an input to the write buffer. - * - * @param resource|string|int|float|bool|\Traversable|null $input The input to append as scalar, - * stream resource or \Traversable - */ - public function write($input) - { - if (null === $input) { - return; - } - if ($this->isClosed()) { - throw new RuntimeException(sprintf('%s is closed', static::class)); - } - $this->input[] = ProcessUtils::validateInput(__METHOD__, $input); - } - - /** - * Closes the write buffer. - */ - public function close() - { - $this->open = false; - } - - /** - * Tells whether the write buffer is closed or not. - */ - public function isClosed() - { - return !$this->open; - } - - /** - * @return \Traversable - */ - public function getIterator() - { - $this->open = true; - - while ($this->open || $this->input) { - if (!$this->input) { - yield ''; - continue; - } - $current = array_shift($this->input); - - if ($current instanceof \Iterator) { - yield from $current; - } else { - yield $current; - } - if (!$this->input && $this->open && null !== $onEmpty = $this->onEmpty) { - $this->write($onEmpty($this)); - } - } - } -} diff --git a/paragonik-backend/vendor/symfony/process/LICENSE b/paragonik-backend/vendor/symfony/process/LICENSE deleted file mode 100644 index a677f43..0000000 --- a/paragonik-backend/vendor/symfony/process/LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 2004-2019 Fabien Potencier - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is furnished -to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/paragonik-backend/vendor/symfony/process/PhpExecutableFinder.php b/paragonik-backend/vendor/symfony/process/PhpExecutableFinder.php deleted file mode 100644 index 5b8f1fc..0000000 --- a/paragonik-backend/vendor/symfony/process/PhpExecutableFinder.php +++ /dev/null @@ -1,101 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Process; - -/** - * An executable finder specifically designed for the PHP executable. - * - * @author Fabien Potencier - * @author Johannes M. Schmitt - */ -class PhpExecutableFinder -{ - private $executableFinder; - - public function __construct() - { - $this->executableFinder = new ExecutableFinder(); - } - - /** - * Finds The PHP executable. - * - * @param bool $includeArgs Whether or not include command arguments - * - * @return string|false The PHP executable path or false if it cannot be found - */ - public function find($includeArgs = true) - { - if ($php = getenv('PHP_BINARY')) { - if (!is_executable($php)) { - $command = '\\' === \DIRECTORY_SEPARATOR ? 'where' : 'command -v'; - if ($php = strtok(exec($command.' '.escapeshellarg($php)), PHP_EOL)) { - if (!is_executable($php)) { - return false; - } - } else { - return false; - } - } - - return $php; - } - - $args = $this->findArguments(); - $args = $includeArgs && $args ? ' '.implode(' ', $args) : ''; - - // PHP_BINARY return the current sapi executable - if (PHP_BINARY && \in_array(\PHP_SAPI, ['cgi-fcgi', 'cli', 'cli-server', 'phpdbg'], true)) { - return PHP_BINARY.$args; - } - - if ($php = getenv('PHP_PATH')) { - if (!@is_executable($php)) { - return false; - } - - return $php; - } - - if ($php = getenv('PHP_PEAR_PHP_BIN')) { - if (@is_executable($php)) { - return $php; - } - } - - if (@is_executable($php = PHP_BINDIR.('\\' === \DIRECTORY_SEPARATOR ? '\\php.exe' : '/php'))) { - return $php; - } - - $dirs = [PHP_BINDIR]; - if ('\\' === \DIRECTORY_SEPARATOR) { - $dirs[] = 'C:\xampp\php\\'; - } - - return $this->executableFinder->find('php', false, $dirs); - } - - /** - * Finds the PHP executable arguments. - * - * @return array The PHP executable arguments - */ - public function findArguments() - { - $arguments = []; - if ('phpdbg' === \PHP_SAPI) { - $arguments[] = '-qrr'; - } - - return $arguments; - } -} diff --git a/paragonik-backend/vendor/symfony/process/PhpProcess.php b/paragonik-backend/vendor/symfony/process/PhpProcess.php deleted file mode 100644 index 126d9b7..0000000 --- a/paragonik-backend/vendor/symfony/process/PhpProcess.php +++ /dev/null @@ -1,75 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Process; - -use Symfony\Component\Process\Exception\RuntimeException; - -/** - * PhpProcess runs a PHP script in an independent process. - * - * $p = new PhpProcess(''); - * $p->run(); - * print $p->getOutput()."\n"; - * - * @author Fabien Potencier - */ -class PhpProcess extends Process -{ - /** - * @param string $script The PHP script to run (as a string) - * @param string|null $cwd The working directory or null to use the working dir of the current PHP process - * @param array|null $env The environment variables or null to use the same environment as the current PHP process - * @param int $timeout The timeout in seconds - * @param array|null $php Path to the PHP binary to use with any additional arguments - */ - public function __construct(string $script, string $cwd = null, array $env = null, int $timeout = 60, array $php = null) - { - if (null === $php) { - $executableFinder = new PhpExecutableFinder(); - $php = $executableFinder->find(false); - $php = false === $php ? null : array_merge([$php], $executableFinder->findArguments()); - } - if ('phpdbg' === \PHP_SAPI) { - $file = tempnam(sys_get_temp_dir(), 'dbg'); - file_put_contents($file, $script); - register_shutdown_function('unlink', $file); - $php[] = $file; - $script = null; - } - - parent::__construct($php, $cwd, $env, $script, $timeout); - } - - /** - * Sets the path to the PHP binary to use. - * - * @deprecated since Symfony 4.2, use the $php argument of the constructor instead. - */ - public function setPhpBinary($php) - { - @trigger_error(sprintf('The "%s()" method is deprecated since Symfony 4.2, use the $php argument of the constructor instead.', __METHOD__), E_USER_DEPRECATED); - - $this->setCommandLine($php); - } - - /** - * {@inheritdoc} - */ - public function start(callable $callback = null, array $env = []) - { - if (null === $this->getCommandLine()) { - throw new RuntimeException('Unable to find the PHP executable.'); - } - - parent::start($callback, $env); - } -} diff --git a/paragonik-backend/vendor/symfony/process/Pipes/AbstractPipes.php b/paragonik-backend/vendor/symfony/process/Pipes/AbstractPipes.php deleted file mode 100644 index 54a6221..0000000 --- a/paragonik-backend/vendor/symfony/process/Pipes/AbstractPipes.php +++ /dev/null @@ -1,178 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Process\Pipes; - -use Symfony\Component\Process\Exception\InvalidArgumentException; - -/** - * @author Romain Neutron - * - * @internal - */ -abstract class AbstractPipes implements PipesInterface -{ - public $pipes = []; - - private $inputBuffer = ''; - private $input; - private $blocked = true; - private $lastError; - - /** - * @param resource|string|int|float|bool|\Iterator|null $input - */ - public function __construct($input) - { - if (\is_resource($input) || $input instanceof \Iterator) { - $this->input = $input; - } elseif (\is_string($input)) { - $this->inputBuffer = $input; - } else { - $this->inputBuffer = (string) $input; - } - } - - /** - * {@inheritdoc} - */ - public function close() - { - foreach ($this->pipes as $pipe) { - fclose($pipe); - } - $this->pipes = []; - } - - /** - * Returns true if a system call has been interrupted. - */ - protected function hasSystemCallBeenInterrupted(): bool - { - $lastError = $this->lastError; - $this->lastError = null; - - // stream_select returns false when the `select` system call is interrupted by an incoming signal - return null !== $lastError && false !== stripos($lastError, 'interrupted system call'); - } - - /** - * Unblocks streams. - */ - protected function unblock() - { - if (!$this->blocked) { - return; - } - - foreach ($this->pipes as $pipe) { - stream_set_blocking($pipe, 0); - } - if (\is_resource($this->input)) { - stream_set_blocking($this->input, 0); - } - - $this->blocked = false; - } - - /** - * Writes input to stdin. - * - * @throws InvalidArgumentException When an input iterator yields a non supported value - */ - protected function write(): ?array - { - if (!isset($this->pipes[0])) { - return null; - } - $input = $this->input; - - if ($input instanceof \Iterator) { - if (!$input->valid()) { - $input = null; - } elseif (\is_resource($input = $input->current())) { - stream_set_blocking($input, 0); - } elseif (!isset($this->inputBuffer[0])) { - if (!\is_string($input)) { - if (!is_scalar($input)) { - throw new InvalidArgumentException(sprintf('%s yielded a value of type "%s", but only scalars and stream resources are supported', \get_class($this->input), \gettype($input))); - } - $input = (string) $input; - } - $this->inputBuffer = $input; - $this->input->next(); - $input = null; - } else { - $input = null; - } - } - - $r = $e = []; - $w = [$this->pipes[0]]; - - // let's have a look if something changed in streams - if (false === @stream_select($r, $w, $e, 0, 0)) { - return null; - } - - foreach ($w as $stdin) { - if (isset($this->inputBuffer[0])) { - $written = fwrite($stdin, $this->inputBuffer); - $this->inputBuffer = substr($this->inputBuffer, $written); - if (isset($this->inputBuffer[0])) { - return [$this->pipes[0]]; - } - } - - if ($input) { - for (;;) { - $data = fread($input, self::CHUNK_SIZE); - if (!isset($data[0])) { - break; - } - $written = fwrite($stdin, $data); - $data = substr($data, $written); - if (isset($data[0])) { - $this->inputBuffer = $data; - - return [$this->pipes[0]]; - } - } - if (feof($input)) { - if ($this->input instanceof \Iterator) { - $this->input->next(); - } else { - $this->input = null; - } - } - } - } - - // no input to read on resource, buffer is empty - if (!isset($this->inputBuffer[0]) && !($this->input instanceof \Iterator ? $this->input->valid() : $this->input)) { - $this->input = null; - fclose($this->pipes[0]); - unset($this->pipes[0]); - } elseif (!$w) { - return [$this->pipes[0]]; - } - - return null; - } - - /** - * @internal - */ - public function handleError($type, $msg) - { - $this->lastError = $msg; - } -} diff --git a/paragonik-backend/vendor/symfony/process/Pipes/PipesInterface.php b/paragonik-backend/vendor/symfony/process/Pipes/PipesInterface.php deleted file mode 100644 index 2d63e2c..0000000 --- a/paragonik-backend/vendor/symfony/process/Pipes/PipesInterface.php +++ /dev/null @@ -1,61 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Process\Pipes; - -/** - * PipesInterface manages descriptors and pipes for the use of proc_open. - * - * @author Romain Neutron - * - * @internal - */ -interface PipesInterface -{ - const CHUNK_SIZE = 16384; - - /** - * Returns an array of descriptors for the use of proc_open. - */ - public function getDescriptors(): array; - - /** - * Returns an array of filenames indexed by their related stream in case these pipes use temporary files. - * - * @return string[] - */ - public function getFiles(): array; - - /** - * Reads data in file handles and pipes. - * - * @param bool $blocking Whether to use blocking calls or not - * @param bool $close Whether to close pipes if they've reached EOF - * - * @return string[] An array of read data indexed by their fd - */ - public function readAndWrite(bool $blocking, bool $close = false): array; - - /** - * Returns if the current state has open file handles or pipes. - */ - public function areOpen(): bool; - - /** - * Returns if pipes are able to read output. - */ - public function haveReadSupport(): bool; - - /** - * Closes file handles and pipes. - */ - public function close(); -} diff --git a/paragonik-backend/vendor/symfony/process/Pipes/UnixPipes.php b/paragonik-backend/vendor/symfony/process/Pipes/UnixPipes.php deleted file mode 100644 index 603d726..0000000 --- a/paragonik-backend/vendor/symfony/process/Pipes/UnixPipes.php +++ /dev/null @@ -1,153 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Process\Pipes; - -use Symfony\Component\Process\Process; - -/** - * UnixPipes implementation uses unix pipes as handles. - * - * @author Romain Neutron - * - * @internal - */ -class UnixPipes extends AbstractPipes -{ - private $ttyMode; - private $ptyMode; - private $haveReadSupport; - - public function __construct(?bool $ttyMode, bool $ptyMode, $input, bool $haveReadSupport) - { - $this->ttyMode = $ttyMode; - $this->ptyMode = $ptyMode; - $this->haveReadSupport = $haveReadSupport; - - parent::__construct($input); - } - - public function __destruct() - { - $this->close(); - } - - /** - * {@inheritdoc} - */ - public function getDescriptors(): array - { - if (!$this->haveReadSupport) { - $nullstream = fopen('/dev/null', 'c'); - - return [ - ['pipe', 'r'], - $nullstream, - $nullstream, - ]; - } - - if ($this->ttyMode) { - return [ - ['file', '/dev/tty', 'r'], - ['file', '/dev/tty', 'w'], - ['file', '/dev/tty', 'w'], - ]; - } - - if ($this->ptyMode && Process::isPtySupported()) { - return [ - ['pty'], - ['pty'], - ['pty'], - ]; - } - - return [ - ['pipe', 'r'], - ['pipe', 'w'], // stdout - ['pipe', 'w'], // stderr - ]; - } - - /** - * {@inheritdoc} - */ - public function getFiles(): array - { - return []; - } - - /** - * {@inheritdoc} - */ - public function readAndWrite(bool $blocking, bool $close = false): array - { - $this->unblock(); - $w = $this->write(); - - $read = $e = []; - $r = $this->pipes; - unset($r[0]); - - // let's have a look if something changed in streams - set_error_handler([$this, 'handleError']); - if (($r || $w) && false === stream_select($r, $w, $e, 0, $blocking ? Process::TIMEOUT_PRECISION * 1E6 : 0)) { - restore_error_handler(); - // if a system call has been interrupted, forget about it, let's try again - // otherwise, an error occurred, let's reset pipes - if (!$this->hasSystemCallBeenInterrupted()) { - $this->pipes = []; - } - - return $read; - } - restore_error_handler(); - - foreach ($r as $pipe) { - // prior PHP 5.4 the array passed to stream_select is modified and - // lose key association, we have to find back the key - $read[$type = array_search($pipe, $this->pipes, true)] = ''; - - do { - $data = fread($pipe, self::CHUNK_SIZE); - $read[$type] .= $data; - } while (isset($data[0]) && ($close || isset($data[self::CHUNK_SIZE - 1]))); - - if (!isset($read[$type][0])) { - unset($read[$type]); - } - - if ($close && feof($pipe)) { - fclose($pipe); - unset($this->pipes[$type]); - } - } - - return $read; - } - - /** - * {@inheritdoc} - */ - public function haveReadSupport(): bool - { - return $this->haveReadSupport; - } - - /** - * {@inheritdoc} - */ - public function areOpen(): bool - { - return (bool) $this->pipes; - } -} diff --git a/paragonik-backend/vendor/symfony/process/Pipes/WindowsPipes.php b/paragonik-backend/vendor/symfony/process/Pipes/WindowsPipes.php deleted file mode 100644 index 0a265b9..0000000 --- a/paragonik-backend/vendor/symfony/process/Pipes/WindowsPipes.php +++ /dev/null @@ -1,191 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Process\Pipes; - -use Symfony\Component\Process\Exception\RuntimeException; -use Symfony\Component\Process\Process; - -/** - * WindowsPipes implementation uses temporary files as handles. - * - * @see https://bugs.php.net/51800 - * @see https://bugs.php.net/65650 - * - * @author Romain Neutron - * - * @internal - */ -class WindowsPipes extends AbstractPipes -{ - private $files = []; - private $fileHandles = []; - private $lockHandles = []; - private $readBytes = [ - Process::STDOUT => 0, - Process::STDERR => 0, - ]; - private $haveReadSupport; - - public function __construct($input, bool $haveReadSupport) - { - $this->haveReadSupport = $haveReadSupport; - - if ($this->haveReadSupport) { - // Fix for PHP bug #51800: reading from STDOUT pipe hangs forever on Windows if the output is too big. - // Workaround for this problem is to use temporary files instead of pipes on Windows platform. - // - // @see https://bugs.php.net/51800 - $pipes = [ - Process::STDOUT => Process::OUT, - Process::STDERR => Process::ERR, - ]; - $tmpDir = sys_get_temp_dir(); - $lastError = 'unknown reason'; - set_error_handler(function ($type, $msg) use (&$lastError) { $lastError = $msg; }); - for ($i = 0;; ++$i) { - foreach ($pipes as $pipe => $name) { - $file = sprintf('%s\\sf_proc_%02X.%s', $tmpDir, $i, $name); - - if (!$h = fopen($file.'.lock', 'w')) { - restore_error_handler(); - throw new RuntimeException(sprintf('A temporary file could not be opened to write the process output: %s', $lastError)); - } - if (!flock($h, LOCK_EX | LOCK_NB)) { - continue 2; - } - if (isset($this->lockHandles[$pipe])) { - flock($this->lockHandles[$pipe], LOCK_UN); - fclose($this->lockHandles[$pipe]); - } - $this->lockHandles[$pipe] = $h; - - if (!fclose(fopen($file, 'w')) || !$h = fopen($file, 'r')) { - flock($this->lockHandles[$pipe], LOCK_UN); - fclose($this->lockHandles[$pipe]); - unset($this->lockHandles[$pipe]); - continue 2; - } - $this->fileHandles[$pipe] = $h; - $this->files[$pipe] = $file; - } - break; - } - restore_error_handler(); - } - - parent::__construct($input); - } - - public function __destruct() - { - $this->close(); - } - - /** - * {@inheritdoc} - */ - public function getDescriptors(): array - { - if (!$this->haveReadSupport) { - $nullstream = fopen('NUL', 'c'); - - return [ - ['pipe', 'r'], - $nullstream, - $nullstream, - ]; - } - - // We're not using pipe on Windows platform as it hangs (https://bugs.php.net/51800) - // We're not using file handles as it can produce corrupted output https://bugs.php.net/65650 - // So we redirect output within the commandline and pass the nul device to the process - return [ - ['pipe', 'r'], - ['file', 'NUL', 'w'], - ['file', 'NUL', 'w'], - ]; - } - - /** - * {@inheritdoc} - */ - public function getFiles(): array - { - return $this->files; - } - - /** - * {@inheritdoc} - */ - public function readAndWrite(bool $blocking, bool $close = false): array - { - $this->unblock(); - $w = $this->write(); - $read = $r = $e = []; - - if ($blocking) { - if ($w) { - @stream_select($r, $w, $e, 0, Process::TIMEOUT_PRECISION * 1E6); - } elseif ($this->fileHandles) { - usleep(Process::TIMEOUT_PRECISION * 1E6); - } - } - foreach ($this->fileHandles as $type => $fileHandle) { - $data = stream_get_contents($fileHandle, -1, $this->readBytes[$type]); - - if (isset($data[0])) { - $this->readBytes[$type] += \strlen($data); - $read[$type] = $data; - } - if ($close) { - ftruncate($fileHandle, 0); - fclose($fileHandle); - flock($this->lockHandles[$type], LOCK_UN); - fclose($this->lockHandles[$type]); - unset($this->fileHandles[$type], $this->lockHandles[$type]); - } - } - - return $read; - } - - /** - * {@inheritdoc} - */ - public function haveReadSupport(): bool - { - return $this->haveReadSupport; - } - - /** - * {@inheritdoc} - */ - public function areOpen(): bool - { - return $this->pipes && $this->fileHandles; - } - - /** - * {@inheritdoc} - */ - public function close() - { - parent::close(); - foreach ($this->fileHandles as $type => $handle) { - ftruncate($handle, 0); - fclose($handle); - flock($this->lockHandles[$type], LOCK_UN); - fclose($this->lockHandles[$type]); - } - $this->fileHandles = $this->lockHandles = []; - } -} diff --git a/paragonik-backend/vendor/symfony/process/Process.php b/paragonik-backend/vendor/symfony/process/Process.php deleted file mode 100644 index b71d4da..0000000 --- a/paragonik-backend/vendor/symfony/process/Process.php +++ /dev/null @@ -1,1673 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Process; - -use Symfony\Component\Process\Exception\InvalidArgumentException; -use Symfony\Component\Process\Exception\LogicException; -use Symfony\Component\Process\Exception\ProcessFailedException; -use Symfony\Component\Process\Exception\ProcessSignaledException; -use Symfony\Component\Process\Exception\ProcessTimedOutException; -use Symfony\Component\Process\Exception\RuntimeException; -use Symfony\Component\Process\Pipes\PipesInterface; -use Symfony\Component\Process\Pipes\UnixPipes; -use Symfony\Component\Process\Pipes\WindowsPipes; - -/** - * Process is a thin wrapper around proc_* functions to easily - * start independent PHP processes. - * - * @author Fabien Potencier - * @author Romain Neutron - */ -class Process implements \IteratorAggregate -{ - const ERR = 'err'; - const OUT = 'out'; - - const STATUS_READY = 'ready'; - const STATUS_STARTED = 'started'; - const STATUS_TERMINATED = 'terminated'; - - const STDIN = 0; - const STDOUT = 1; - const STDERR = 2; - - // Timeout Precision in seconds. - const TIMEOUT_PRECISION = 0.2; - - const ITER_NON_BLOCKING = 1; // By default, iterating over outputs is a blocking call, use this flag to make it non-blocking - const ITER_KEEP_OUTPUT = 2; // By default, outputs are cleared while iterating, use this flag to keep them in memory - const ITER_SKIP_OUT = 4; // Use this flag to skip STDOUT while iterating - const ITER_SKIP_ERR = 8; // Use this flag to skip STDERR while iterating - - private $callback; - private $hasCallback = false; - private $commandline; - private $cwd; - private $env; - private $input; - private $starttime; - private $lastOutputTime; - private $timeout; - private $idleTimeout; - private $exitcode; - private $fallbackStatus = []; - private $processInformation; - private $outputDisabled = false; - private $stdout; - private $stderr; - private $process; - private $status = self::STATUS_READY; - private $incrementalOutputOffset = 0; - private $incrementalErrorOutputOffset = 0; - private $tty = false; - private $pty; - - private $useFileHandles = false; - /** @var PipesInterface */ - private $processPipes; - - private $latestSignal; - - private static $sigchild; - - /** - * Exit codes translation table. - * - * User-defined errors must use exit codes in the 64-113 range. - */ - public static $exitCodes = [ - 0 => 'OK', - 1 => 'General error', - 2 => 'Misuse of shell builtins', - - 126 => 'Invoked command cannot execute', - 127 => 'Command not found', - 128 => 'Invalid exit argument', - - // signals - 129 => 'Hangup', - 130 => 'Interrupt', - 131 => 'Quit and dump core', - 132 => 'Illegal instruction', - 133 => 'Trace/breakpoint trap', - 134 => 'Process aborted', - 135 => 'Bus error: "access to undefined portion of memory object"', - 136 => 'Floating point exception: "erroneous arithmetic operation"', - 137 => 'Kill (terminate immediately)', - 138 => 'User-defined 1', - 139 => 'Segmentation violation', - 140 => 'User-defined 2', - 141 => 'Write to pipe with no one reading', - 142 => 'Signal raised by alarm', - 143 => 'Termination (request to terminate)', - // 144 - not defined - 145 => 'Child process terminated, stopped (or continued*)', - 146 => 'Continue if stopped', - 147 => 'Stop executing temporarily', - 148 => 'Terminal stop signal', - 149 => 'Background process attempting to read from tty ("in")', - 150 => 'Background process attempting to write to tty ("out")', - 151 => 'Urgent data available on socket', - 152 => 'CPU time limit exceeded', - 153 => 'File size limit exceeded', - 154 => 'Signal raised by timer counting virtual time: "virtual timer expired"', - 155 => 'Profiling timer expired', - // 156 - not defined - 157 => 'Pollable event', - // 158 - not defined - 159 => 'Bad syscall', - ]; - - /** - * @param array $command The command to run and its arguments listed as separate entries - * @param string|null $cwd The working directory or null to use the working dir of the current PHP process - * @param array|null $env The environment variables or null to use the same environment as the current PHP process - * @param mixed|null $input The input as stream resource, scalar or \Traversable, or null for no input - * @param int|float|null $timeout The timeout in seconds or null to disable - * - * @throws RuntimeException When proc_open is not installed - */ - public function __construct($command, string $cwd = null, array $env = null, $input = null, ?float $timeout = 60) - { - if (!\function_exists('proc_open')) { - throw new LogicException('The Process class relies on proc_open, which is not available on your PHP installation.'); - } - - if (!\is_array($command)) { - @trigger_error(sprintf('Passing a command as string when creating a "%s" instance is deprecated since Symfony 4.2, pass it as an array of its arguments instead, or use the "Process::fromShellCommandline()" constructor if you need features provided by the shell.', __CLASS__), E_USER_DEPRECATED); - } - - $this->commandline = $command; - $this->cwd = $cwd; - - // on Windows, if the cwd changed via chdir(), proc_open defaults to the dir where PHP was started - // on Gnu/Linux, PHP builds with --enable-maintainer-zts are also affected - // @see : https://bugs.php.net/51800 - // @see : https://bugs.php.net/50524 - if (null === $this->cwd && (\defined('ZEND_THREAD_SAFE') || '\\' === \DIRECTORY_SEPARATOR)) { - $this->cwd = getcwd(); - } - if (null !== $env) { - $this->setEnv($env); - } - - $this->setInput($input); - $this->setTimeout($timeout); - $this->useFileHandles = '\\' === \DIRECTORY_SEPARATOR; - $this->pty = false; - } - - /** - * Creates a Process instance as a command-line to be run in a shell wrapper. - * - * Command-lines are parsed by the shell of your OS (/bin/sh on Unix-like, cmd.exe on Windows.) - * This allows using e.g. pipes or conditional execution. In this mode, signals are sent to the - * shell wrapper and not to your commands. - * - * In order to inject dynamic values into command-lines, we strongly recommend using placeholders. - * This will save escaping values, which is not portable nor secure anyway: - * - * $process = Process::fromShellCommandline('my_command "$MY_VAR"'); - * $process->run(null, ['MY_VAR' => $theValue]); - * - * @param string $command The command line to pass to the shell of the OS - * @param string|null $cwd The working directory or null to use the working dir of the current PHP process - * @param array|null $env The environment variables or null to use the same environment as the current PHP process - * @param mixed|null $input The input as stream resource, scalar or \Traversable, or null for no input - * @param int|float|null $timeout The timeout in seconds or null to disable - * - * @return static - * - * @throws RuntimeException When proc_open is not installed - */ - public static function fromShellCommandline(string $command, string $cwd = null, array $env = null, $input = null, ?float $timeout = 60) - { - $process = new static([], $cwd, $env, $input, $timeout); - $process->commandline = $command; - - return $process; - } - - public function __destruct() - { - $this->stop(0); - } - - public function __clone() - { - $this->resetProcessData(); - } - - /** - * Runs the process. - * - * The callback receives the type of output (out or err) and - * some bytes from the output in real-time. It allows to have feedback - * from the independent process during execution. - * - * The STDOUT and STDERR are also available after the process is finished - * via the getOutput() and getErrorOutput() methods. - * - * @param callable|null $callback A PHP callback to run whenever there is some - * output available on STDOUT or STDERR - * - * @return int The exit status code - * - * @throws RuntimeException When process can't be launched - * @throws RuntimeException When process stopped after receiving signal - * @throws LogicException In case a callback is provided and output has been disabled - * - * @final - */ - public function run(callable $callback = null, array $env = []): int - { - $this->start($callback, $env); - - return $this->wait(); - } - - /** - * Runs the process. - * - * This is identical to run() except that an exception is thrown if the process - * exits with a non-zero exit code. - * - * @return $this - * - * @throws ProcessFailedException if the process didn't terminate successfully - * - * @final - */ - public function mustRun(callable $callback = null, array $env = []): self - { - if (0 !== $this->run($callback, $env)) { - throw new ProcessFailedException($this); - } - - return $this; - } - - /** - * Starts the process and returns after writing the input to STDIN. - * - * This method blocks until all STDIN data is sent to the process then it - * returns while the process runs in the background. - * - * The termination of the process can be awaited with wait(). - * - * The callback receives the type of output (out or err) and some bytes from - * the output in real-time while writing the standard input to the process. - * It allows to have feedback from the independent process during execution. - * - * @param callable|null $callback A PHP callback to run whenever there is some - * output available on STDOUT or STDERR - * - * @throws RuntimeException When process can't be launched - * @throws RuntimeException When process is already running - * @throws LogicException In case a callback is provided and output has been disabled - */ - public function start(callable $callback = null, array $env = []) - { - if ($this->isRunning()) { - throw new RuntimeException('Process is already running'); - } - - $this->resetProcessData(); - $this->starttime = $this->lastOutputTime = microtime(true); - $this->callback = $this->buildCallback($callback); - $this->hasCallback = null !== $callback; - $descriptors = $this->getDescriptors(); - - if ($this->env) { - $env += $this->env; - } - - $env += $this->getDefaultEnv(); - - if (\is_array($commandline = $this->commandline)) { - $commandline = implode(' ', array_map([$this, 'escapeArgument'], $commandline)); - - if ('\\' !== \DIRECTORY_SEPARATOR) { - // exec is mandatory to deal with sending a signal to the process - $commandline = 'exec '.$commandline; - } - } else { - $commandline = $this->replacePlaceholders($commandline, $env); - } - - $options = ['suppress_errors' => true]; - - if ('\\' === \DIRECTORY_SEPARATOR) { - $options['bypass_shell'] = true; - $commandline = $this->prepareWindowsCommandLine($commandline, $env); - } elseif (!$this->useFileHandles && $this->isSigchildEnabled()) { - // last exit code is output on the fourth pipe and caught to work around --enable-sigchild - $descriptors[3] = ['pipe', 'w']; - - // See https://unix.stackexchange.com/questions/71205/background-process-pipe-input - $commandline = '{ ('.$commandline.') <&3 3<&- 3>/dev/null & } 3<&0;'; - $commandline .= 'pid=$!; echo $pid >&3; wait $pid; code=$?; echo $code >&3; exit $code'; - - // Workaround for the bug, when PTS functionality is enabled. - // @see : https://bugs.php.net/69442 - $ptsWorkaround = fopen(__FILE__, 'r'); - } - - $envPairs = []; - foreach ($env as $k => $v) { - if (false !== $v) { - $envPairs[] = $k.'='.$v; - } - } - - if (!is_dir($this->cwd)) { - throw new RuntimeException(sprintf('The provided cwd "%s" does not exist.', $this->cwd)); - } - - $this->process = proc_open($commandline, $descriptors, $this->processPipes->pipes, $this->cwd, $envPairs, $options); - - if (!\is_resource($this->process)) { - throw new RuntimeException('Unable to launch a new process.'); - } - $this->status = self::STATUS_STARTED; - - if (isset($descriptors[3])) { - $this->fallbackStatus['pid'] = (int) fgets($this->processPipes->pipes[3]); - } - - if ($this->tty) { - return; - } - - $this->updateStatus(false); - $this->checkTimeout(); - } - - /** - * Restarts the process. - * - * Be warned that the process is cloned before being started. - * - * @param callable|null $callback A PHP callback to run whenever there is some - * output available on STDOUT or STDERR - * - * @return static - * - * @throws RuntimeException When process can't be launched - * @throws RuntimeException When process is already running - * - * @see start() - * - * @final - */ - public function restart(callable $callback = null, array $env = []): self - { - if ($this->isRunning()) { - throw new RuntimeException('Process is already running'); - } - - $process = clone $this; - $process->start($callback, $env); - - return $process; - } - - /** - * Waits for the process to terminate. - * - * The callback receives the type of output (out or err) and some bytes - * from the output in real-time while writing the standard input to the process. - * It allows to have feedback from the independent process during execution. - * - * @param callable|null $callback A valid PHP callback - * - * @return int The exitcode of the process - * - * @throws RuntimeException When process timed out - * @throws RuntimeException When process stopped after receiving signal - * @throws LogicException When process is not yet started - */ - public function wait(callable $callback = null) - { - $this->requireProcessIsStarted(__FUNCTION__); - - $this->updateStatus(false); - - if (null !== $callback) { - if (!$this->processPipes->haveReadSupport()) { - $this->stop(0); - throw new \LogicException('Pass the callback to the "Process::start" method or call enableOutput to use a callback with "Process::wait"'); - } - $this->callback = $this->buildCallback($callback); - } - - do { - $this->checkTimeout(); - $running = '\\' === \DIRECTORY_SEPARATOR ? $this->isRunning() : $this->processPipes->areOpen(); - $this->readPipes($running, '\\' !== \DIRECTORY_SEPARATOR || !$running); - } while ($running); - - while ($this->isRunning()) { - $this->checkTimeout(); - usleep(1000); - } - - if ($this->processInformation['signaled'] && $this->processInformation['termsig'] !== $this->latestSignal) { - throw new ProcessSignaledException($this); - } - - return $this->exitcode; - } - - /** - * Waits until the callback returns true. - * - * The callback receives the type of output (out or err) and some bytes - * from the output in real-time while writing the standard input to the process. - * It allows to have feedback from the independent process during execution. - * - * @throws RuntimeException When process timed out - * @throws LogicException When process is not yet started - */ - public function waitUntil(callable $callback): bool - { - $this->requireProcessIsStarted(__FUNCTION__); - $this->updateStatus(false); - - if (!$this->processPipes->haveReadSupport()) { - $this->stop(0); - throw new \LogicException('Pass the callback to the "Process::start" method or call enableOutput to use a callback with "Process::waitUntil".'); - } - $callback = $this->buildCallback($callback); - - $ready = false; - while (true) { - $this->checkTimeout(); - $running = '\\' === \DIRECTORY_SEPARATOR ? $this->isRunning() : $this->processPipes->areOpen(); - $output = $this->processPipes->readAndWrite($running, '\\' !== \DIRECTORY_SEPARATOR || !$running); - - foreach ($output as $type => $data) { - if (3 !== $type) { - $ready = $callback(self::STDOUT === $type ? self::OUT : self::ERR, $data) || $ready; - } elseif (!isset($this->fallbackStatus['signaled'])) { - $this->fallbackStatus['exitcode'] = (int) $data; - } - } - if ($ready) { - return true; - } - if (!$running) { - return false; - } - - usleep(1000); - } - } - - /** - * Returns the Pid (process identifier), if applicable. - * - * @return int|null The process id if running, null otherwise - */ - public function getPid() - { - return $this->isRunning() ? $this->processInformation['pid'] : null; - } - - /** - * Sends a POSIX signal to the process. - * - * @param int $signal A valid POSIX signal (see https://php.net/pcntl.constants) - * - * @return $this - * - * @throws LogicException In case the process is not running - * @throws RuntimeException In case --enable-sigchild is activated and the process can't be killed - * @throws RuntimeException In case of failure - */ - public function signal($signal) - { - $this->doSignal($signal, true); - - return $this; - } - - /** - * Disables fetching output and error output from the underlying process. - * - * @return $this - * - * @throws RuntimeException In case the process is already running - * @throws LogicException if an idle timeout is set - */ - public function disableOutput() - { - if ($this->isRunning()) { - throw new RuntimeException('Disabling output while the process is running is not possible.'); - } - if (null !== $this->idleTimeout) { - throw new LogicException('Output can not be disabled while an idle timeout is set.'); - } - - $this->outputDisabled = true; - - return $this; - } - - /** - * Enables fetching output and error output from the underlying process. - * - * @return $this - * - * @throws RuntimeException In case the process is already running - */ - public function enableOutput() - { - if ($this->isRunning()) { - throw new RuntimeException('Enabling output while the process is running is not possible.'); - } - - $this->outputDisabled = false; - - return $this; - } - - /** - * Returns true in case the output is disabled, false otherwise. - * - * @return bool - */ - public function isOutputDisabled() - { - return $this->outputDisabled; - } - - /** - * Returns the current output of the process (STDOUT). - * - * @return string The process output - * - * @throws LogicException in case the output has been disabled - * @throws LogicException In case the process is not started - */ - public function getOutput() - { - $this->readPipesForOutput(__FUNCTION__); - - if (false === $ret = stream_get_contents($this->stdout, -1, 0)) { - return ''; - } - - return $ret; - } - - /** - * Returns the output incrementally. - * - * In comparison with the getOutput method which always return the whole - * output, this one returns the new output since the last call. - * - * @return string The process output since the last call - * - * @throws LogicException in case the output has been disabled - * @throws LogicException In case the process is not started - */ - public function getIncrementalOutput() - { - $this->readPipesForOutput(__FUNCTION__); - - $latest = stream_get_contents($this->stdout, -1, $this->incrementalOutputOffset); - $this->incrementalOutputOffset = ftell($this->stdout); - - if (false === $latest) { - return ''; - } - - return $latest; - } - - /** - * Returns an iterator to the output of the process, with the output type as keys (Process::OUT/ERR). - * - * @param int $flags A bit field of Process::ITER_* flags - * - * @throws LogicException in case the output has been disabled - * @throws LogicException In case the process is not started - * - * @return \Generator - */ - public function getIterator($flags = 0) - { - $this->readPipesForOutput(__FUNCTION__, false); - - $clearOutput = !(self::ITER_KEEP_OUTPUT & $flags); - $blocking = !(self::ITER_NON_BLOCKING & $flags); - $yieldOut = !(self::ITER_SKIP_OUT & $flags); - $yieldErr = !(self::ITER_SKIP_ERR & $flags); - - while (null !== $this->callback || ($yieldOut && !feof($this->stdout)) || ($yieldErr && !feof($this->stderr))) { - if ($yieldOut) { - $out = stream_get_contents($this->stdout, -1, $this->incrementalOutputOffset); - - if (isset($out[0])) { - if ($clearOutput) { - $this->clearOutput(); - } else { - $this->incrementalOutputOffset = ftell($this->stdout); - } - - yield self::OUT => $out; - } - } - - if ($yieldErr) { - $err = stream_get_contents($this->stderr, -1, $this->incrementalErrorOutputOffset); - - if (isset($err[0])) { - if ($clearOutput) { - $this->clearErrorOutput(); - } else { - $this->incrementalErrorOutputOffset = ftell($this->stderr); - } - - yield self::ERR => $err; - } - } - - if (!$blocking && !isset($out[0]) && !isset($err[0])) { - yield self::OUT => ''; - } - - $this->checkTimeout(); - $this->readPipesForOutput(__FUNCTION__, $blocking); - } - } - - /** - * Clears the process output. - * - * @return $this - */ - public function clearOutput() - { - ftruncate($this->stdout, 0); - fseek($this->stdout, 0); - $this->incrementalOutputOffset = 0; - - return $this; - } - - /** - * Returns the current error output of the process (STDERR). - * - * @return string The process error output - * - * @throws LogicException in case the output has been disabled - * @throws LogicException In case the process is not started - */ - public function getErrorOutput() - { - $this->readPipesForOutput(__FUNCTION__); - - if (false === $ret = stream_get_contents($this->stderr, -1, 0)) { - return ''; - } - - return $ret; - } - - /** - * Returns the errorOutput incrementally. - * - * In comparison with the getErrorOutput method which always return the - * whole error output, this one returns the new error output since the last - * call. - * - * @return string The process error output since the last call - * - * @throws LogicException in case the output has been disabled - * @throws LogicException In case the process is not started - */ - public function getIncrementalErrorOutput() - { - $this->readPipesForOutput(__FUNCTION__); - - $latest = stream_get_contents($this->stderr, -1, $this->incrementalErrorOutputOffset); - $this->incrementalErrorOutputOffset = ftell($this->stderr); - - if (false === $latest) { - return ''; - } - - return $latest; - } - - /** - * Clears the process output. - * - * @return $this - */ - public function clearErrorOutput() - { - ftruncate($this->stderr, 0); - fseek($this->stderr, 0); - $this->incrementalErrorOutputOffset = 0; - - return $this; - } - - /** - * Returns the exit code returned by the process. - * - * @return int|null The exit status code, null if the Process is not terminated - */ - public function getExitCode() - { - $this->updateStatus(false); - - return $this->exitcode; - } - - /** - * Returns a string representation for the exit code returned by the process. - * - * This method relies on the Unix exit code status standardization - * and might not be relevant for other operating systems. - * - * @return string|null A string representation for the exit status code, null if the Process is not terminated - * - * @see http://tldp.org/LDP/abs/html/exitcodes.html - * @see http://en.wikipedia.org/wiki/Unix_signal - */ - public function getExitCodeText() - { - if (null === $exitcode = $this->getExitCode()) { - return null; - } - - return isset(self::$exitCodes[$exitcode]) ? self::$exitCodes[$exitcode] : 'Unknown error'; - } - - /** - * Checks if the process ended successfully. - * - * @return bool true if the process ended successfully, false otherwise - */ - public function isSuccessful() - { - return 0 === $this->getExitCode(); - } - - /** - * Returns true if the child process has been terminated by an uncaught signal. - * - * It always returns false on Windows. - * - * @return bool - * - * @throws LogicException In case the process is not terminated - */ - public function hasBeenSignaled() - { - $this->requireProcessIsTerminated(__FUNCTION__); - - return $this->processInformation['signaled']; - } - - /** - * Returns the number of the signal that caused the child process to terminate its execution. - * - * It is only meaningful if hasBeenSignaled() returns true. - * - * @return int - * - * @throws RuntimeException In case --enable-sigchild is activated - * @throws LogicException In case the process is not terminated - */ - public function getTermSignal() - { - $this->requireProcessIsTerminated(__FUNCTION__); - - if ($this->isSigchildEnabled() && -1 === $this->processInformation['termsig']) { - throw new RuntimeException('This PHP has been compiled with --enable-sigchild. Term signal can not be retrieved.'); - } - - return $this->processInformation['termsig']; - } - - /** - * Returns true if the child process has been stopped by a signal. - * - * It always returns false on Windows. - * - * @return bool - * - * @throws LogicException In case the process is not terminated - */ - public function hasBeenStopped() - { - $this->requireProcessIsTerminated(__FUNCTION__); - - return $this->processInformation['stopped']; - } - - /** - * Returns the number of the signal that caused the child process to stop its execution. - * - * It is only meaningful if hasBeenStopped() returns true. - * - * @return int - * - * @throws LogicException In case the process is not terminated - */ - public function getStopSignal() - { - $this->requireProcessIsTerminated(__FUNCTION__); - - return $this->processInformation['stopsig']; - } - - /** - * Checks if the process is currently running. - * - * @return bool true if the process is currently running, false otherwise - */ - public function isRunning() - { - if (self::STATUS_STARTED !== $this->status) { - return false; - } - - $this->updateStatus(false); - - return $this->processInformation['running']; - } - - /** - * Checks if the process has been started with no regard to the current state. - * - * @return bool true if status is ready, false otherwise - */ - public function isStarted() - { - return self::STATUS_READY != $this->status; - } - - /** - * Checks if the process is terminated. - * - * @return bool true if process is terminated, false otherwise - */ - public function isTerminated() - { - $this->updateStatus(false); - - return self::STATUS_TERMINATED == $this->status; - } - - /** - * Gets the process status. - * - * The status is one of: ready, started, terminated. - * - * @return string The current process status - */ - public function getStatus() - { - $this->updateStatus(false); - - return $this->status; - } - - /** - * Stops the process. - * - * @param int|float $timeout The timeout in seconds - * @param int $signal A POSIX signal to send in case the process has not stop at timeout, default is SIGKILL (9) - * - * @return int|null The exit-code of the process or null if it's not running - */ - public function stop($timeout = 10, $signal = null) - { - $timeoutMicro = microtime(true) + $timeout; - if ($this->isRunning()) { - // given SIGTERM may not be defined and that "proc_terminate" uses the constant value and not the constant itself, we use the same here - $this->doSignal(15, false); - do { - usleep(1000); - } while ($this->isRunning() && microtime(true) < $timeoutMicro); - - if ($this->isRunning()) { - // Avoid exception here: process is supposed to be running, but it might have stopped just - // after this line. In any case, let's silently discard the error, we cannot do anything. - $this->doSignal($signal ?: 9, false); - } - } - - if ($this->isRunning()) { - if (isset($this->fallbackStatus['pid'])) { - unset($this->fallbackStatus['pid']); - - return $this->stop(0, $signal); - } - $this->close(); - } - - return $this->exitcode; - } - - /** - * Adds a line to the STDOUT stream. - * - * @internal - */ - public function addOutput(string $line) - { - $this->lastOutputTime = microtime(true); - - fseek($this->stdout, 0, SEEK_END); - fwrite($this->stdout, $line); - fseek($this->stdout, $this->incrementalOutputOffset); - } - - /** - * Adds a line to the STDERR stream. - * - * @internal - */ - public function addErrorOutput(string $line) - { - $this->lastOutputTime = microtime(true); - - fseek($this->stderr, 0, SEEK_END); - fwrite($this->stderr, $line); - fseek($this->stderr, $this->incrementalErrorOutputOffset); - } - - /** - * Gets the last output time in seconds. - * - * @return float|null The last output time in seconds or null if it isn't started - */ - public function getLastOutputTime(): ?float - { - return $this->lastOutputTime; - } - - /** - * Gets the command line to be executed. - * - * @return string The command to execute - */ - public function getCommandLine() - { - return \is_array($this->commandline) ? implode(' ', array_map([$this, 'escapeArgument'], $this->commandline)) : $this->commandline; - } - - /** - * Sets the command line to be executed. - * - * @param string|array $commandline The command to execute - * - * @return $this - * - * @deprecated since Symfony 4.2. - */ - public function setCommandLine($commandline) - { - @trigger_error(sprintf('The "%s()" method is deprecated since Symfony 4.2.', __METHOD__), E_USER_DEPRECATED); - - $this->commandline = $commandline; - - return $this; - } - - /** - * Gets the process timeout (max. runtime). - * - * @return float|null The timeout in seconds or null if it's disabled - */ - public function getTimeout() - { - return $this->timeout; - } - - /** - * Gets the process idle timeout (max. time since last output). - * - * @return float|null The timeout in seconds or null if it's disabled - */ - public function getIdleTimeout() - { - return $this->idleTimeout; - } - - /** - * Sets the process timeout (max. runtime) in seconds. - * - * To disable the timeout, set this value to null. - * - * @param int|float|null $timeout The timeout in seconds - * - * @return $this - * - * @throws InvalidArgumentException if the timeout is negative - */ - public function setTimeout($timeout) - { - $this->timeout = $this->validateTimeout($timeout); - - return $this; - } - - /** - * Sets the process idle timeout (max. time since last output). - * - * To disable the timeout, set this value to null. - * - * @param int|float|null $timeout The timeout in seconds - * - * @return $this - * - * @throws LogicException if the output is disabled - * @throws InvalidArgumentException if the timeout is negative - */ - public function setIdleTimeout($timeout) - { - if (null !== $timeout && $this->outputDisabled) { - throw new LogicException('Idle timeout can not be set while the output is disabled.'); - } - - $this->idleTimeout = $this->validateTimeout($timeout); - - return $this; - } - - /** - * Enables or disables the TTY mode. - * - * @param bool $tty True to enabled and false to disable - * - * @return $this - * - * @throws RuntimeException In case the TTY mode is not supported - */ - public function setTty($tty) - { - if ('\\' === \DIRECTORY_SEPARATOR && $tty) { - throw new RuntimeException('TTY mode is not supported on Windows platform.'); - } - - if ($tty && !self::isTtySupported()) { - throw new RuntimeException('TTY mode requires /dev/tty to be read/writable.'); - } - - $this->tty = (bool) $tty; - - return $this; - } - - /** - * Checks if the TTY mode is enabled. - * - * @return bool true if the TTY mode is enabled, false otherwise - */ - public function isTty() - { - return $this->tty; - } - - /** - * Sets PTY mode. - * - * @param bool $bool - * - * @return $this - */ - public function setPty($bool) - { - $this->pty = (bool) $bool; - - return $this; - } - - /** - * Returns PTY state. - * - * @return bool - */ - public function isPty() - { - return $this->pty; - } - - /** - * Gets the working directory. - * - * @return string|null The current working directory or null on failure - */ - public function getWorkingDirectory() - { - if (null === $this->cwd) { - // getcwd() will return false if any one of the parent directories does not have - // the readable or search mode set, even if the current directory does - return getcwd() ?: null; - } - - return $this->cwd; - } - - /** - * Sets the current working directory. - * - * @param string $cwd The new working directory - * - * @return $this - */ - public function setWorkingDirectory($cwd) - { - $this->cwd = $cwd; - - return $this; - } - - /** - * Gets the environment variables. - * - * @return array The current environment variables - */ - public function getEnv() - { - return $this->env; - } - - /** - * Sets the environment variables. - * - * Each environment variable value should be a string. - * If it is an array, the variable is ignored. - * If it is false or null, it will be removed when - * env vars are otherwise inherited. - * - * That happens in PHP when 'argv' is registered into - * the $_ENV array for instance. - * - * @param array $env The new environment variables - * - * @return $this - */ - public function setEnv(array $env) - { - // Process can not handle env values that are arrays - $env = array_filter($env, function ($value) { - return !\is_array($value); - }); - - $this->env = $env; - - return $this; - } - - /** - * Gets the Process input. - * - * @return resource|string|\Iterator|null The Process input - */ - public function getInput() - { - return $this->input; - } - - /** - * Sets the input. - * - * This content will be passed to the underlying process standard input. - * - * @param string|int|float|bool|resource|\Traversable|null $input The content - * - * @return $this - * - * @throws LogicException In case the process is running - */ - public function setInput($input) - { - if ($this->isRunning()) { - throw new LogicException('Input can not be set while the process is running.'); - } - - $this->input = ProcessUtils::validateInput(__METHOD__, $input); - - return $this; - } - - /** - * Sets whether environment variables will be inherited or not. - * - * @param bool $inheritEnv - * - * @return $this - * - * @deprecated since Symfony 4.4, env variables are always inherited - */ - public function inheritEnvironmentVariables($inheritEnv = true) - { - @trigger_error(sprintf('The "%s()" method is deprecated since Symfony 4.4, env variables are always inherited.', __METHOD__), E_USER_DEPRECATED); - - if (!$inheritEnv) { - throw new InvalidArgumentException('Not inheriting environment variables is not supported.'); - } - - return $this; - } - - /** - * Performs a check between the timeout definition and the time the process started. - * - * In case you run a background process (with the start method), you should - * trigger this method regularly to ensure the process timeout - * - * @throws ProcessTimedOutException In case the timeout was reached - */ - public function checkTimeout() - { - if (self::STATUS_STARTED !== $this->status) { - return; - } - - if (null !== $this->timeout && $this->timeout < microtime(true) - $this->starttime) { - $this->stop(0); - - throw new ProcessTimedOutException($this, ProcessTimedOutException::TYPE_GENERAL); - } - - if (null !== $this->idleTimeout && $this->idleTimeout < microtime(true) - $this->lastOutputTime) { - $this->stop(0); - - throw new ProcessTimedOutException($this, ProcessTimedOutException::TYPE_IDLE); - } - } - - /** - * Returns whether TTY is supported on the current operating system. - */ - public static function isTtySupported(): bool - { - static $isTtySupported; - - if (null === $isTtySupported) { - $isTtySupported = (bool) @proc_open('echo 1 >/dev/null', [['file', '/dev/tty', 'r'], ['file', '/dev/tty', 'w'], ['file', '/dev/tty', 'w']], $pipes); - } - - return $isTtySupported; - } - - /** - * Returns whether PTY is supported on the current operating system. - * - * @return bool - */ - public static function isPtySupported() - { - static $result; - - if (null !== $result) { - return $result; - } - - if ('\\' === \DIRECTORY_SEPARATOR) { - return $result = false; - } - - return $result = (bool) @proc_open('echo 1 >/dev/null', [['pty'], ['pty'], ['pty']], $pipes); - } - - /** - * Creates the descriptors needed by the proc_open. - */ - private function getDescriptors(): array - { - if ($this->input instanceof \Iterator) { - $this->input->rewind(); - } - if ('\\' === \DIRECTORY_SEPARATOR) { - $this->processPipes = new WindowsPipes($this->input, !$this->outputDisabled || $this->hasCallback); - } else { - $this->processPipes = new UnixPipes($this->isTty(), $this->isPty(), $this->input, !$this->outputDisabled || $this->hasCallback); - } - - return $this->processPipes->getDescriptors(); - } - - /** - * Builds up the callback used by wait(). - * - * The callbacks adds all occurred output to the specific buffer and calls - * the user callback (if present) with the received output. - * - * @param callable|null $callback The user defined PHP callback - * - * @return \Closure A PHP closure - */ - protected function buildCallback(callable $callback = null) - { - if ($this->outputDisabled) { - return function ($type, $data) use ($callback): bool { - return null !== $callback && $callback($type, $data); - }; - } - - $out = self::OUT; - - return function ($type, $data) use ($callback, $out): bool { - if ($out == $type) { - $this->addOutput($data); - } else { - $this->addErrorOutput($data); - } - - return null !== $callback && $callback($type, $data); - }; - } - - /** - * Updates the status of the process, reads pipes. - * - * @param bool $blocking Whether to use a blocking read call - */ - protected function updateStatus($blocking) - { - if (self::STATUS_STARTED !== $this->status) { - return; - } - - $this->processInformation = proc_get_status($this->process); - $running = $this->processInformation['running']; - - $this->readPipes($running && $blocking, '\\' !== \DIRECTORY_SEPARATOR || !$running); - - if ($this->fallbackStatus && $this->isSigchildEnabled()) { - $this->processInformation = $this->fallbackStatus + $this->processInformation; - } - - if (!$running) { - $this->close(); - } - } - - /** - * Returns whether PHP has been compiled with the '--enable-sigchild' option or not. - * - * @return bool - */ - protected function isSigchildEnabled() - { - if (null !== self::$sigchild) { - return self::$sigchild; - } - - if (!\function_exists('phpinfo')) { - return self::$sigchild = false; - } - - ob_start(); - phpinfo(INFO_GENERAL); - - return self::$sigchild = false !== strpos(ob_get_clean(), '--enable-sigchild'); - } - - /** - * Reads pipes for the freshest output. - * - * @param string $caller The name of the method that needs fresh outputs - * @param bool $blocking Whether to use blocking calls or not - * - * @throws LogicException in case output has been disabled or process is not started - */ - private function readPipesForOutput(string $caller, bool $blocking = false) - { - if ($this->outputDisabled) { - throw new LogicException('Output has been disabled.'); - } - - $this->requireProcessIsStarted($caller); - - $this->updateStatus($blocking); - } - - /** - * Validates and returns the filtered timeout. - * - * @throws InvalidArgumentException if the given timeout is a negative number - */ - private function validateTimeout(?float $timeout): ?float - { - $timeout = (float) $timeout; - - if (0.0 === $timeout) { - $timeout = null; - } elseif ($timeout < 0) { - throw new InvalidArgumentException('The timeout value must be a valid positive integer or float number.'); - } - - return $timeout; - } - - /** - * Reads pipes, executes callback. - * - * @param bool $blocking Whether to use blocking calls or not - * @param bool $close Whether to close file handles or not - */ - private function readPipes(bool $blocking, bool $close) - { - $result = $this->processPipes->readAndWrite($blocking, $close); - - $callback = $this->callback; - foreach ($result as $type => $data) { - if (3 !== $type) { - $callback(self::STDOUT === $type ? self::OUT : self::ERR, $data); - } elseif (!isset($this->fallbackStatus['signaled'])) { - $this->fallbackStatus['exitcode'] = (int) $data; - } - } - } - - /** - * Closes process resource, closes file handles, sets the exitcode. - * - * @return int The exitcode - */ - private function close(): int - { - $this->processPipes->close(); - if (\is_resource($this->process)) { - proc_close($this->process); - } - $this->exitcode = $this->processInformation['exitcode']; - $this->status = self::STATUS_TERMINATED; - - if (-1 === $this->exitcode) { - if ($this->processInformation['signaled'] && 0 < $this->processInformation['termsig']) { - // if process has been signaled, no exitcode but a valid termsig, apply Unix convention - $this->exitcode = 128 + $this->processInformation['termsig']; - } elseif ($this->isSigchildEnabled()) { - $this->processInformation['signaled'] = true; - $this->processInformation['termsig'] = -1; - } - } - - // Free memory from self-reference callback created by buildCallback - // Doing so in other contexts like __destruct or by garbage collector is ineffective - // Now pipes are closed, so the callback is no longer necessary - $this->callback = null; - - return $this->exitcode; - } - - /** - * Resets data related to the latest run of the process. - */ - private function resetProcessData() - { - $this->starttime = null; - $this->callback = null; - $this->exitcode = null; - $this->fallbackStatus = []; - $this->processInformation = null; - $this->stdout = fopen('php://temp/maxmemory:'.(1024 * 1024), 'w+b'); - $this->stderr = fopen('php://temp/maxmemory:'.(1024 * 1024), 'w+b'); - $this->process = null; - $this->latestSignal = null; - $this->status = self::STATUS_READY; - $this->incrementalOutputOffset = 0; - $this->incrementalErrorOutputOffset = 0; - } - - /** - * Sends a POSIX signal to the process. - * - * @param int $signal A valid POSIX signal (see https://php.net/pcntl.constants) - * @param bool $throwException Whether to throw exception in case signal failed - * - * @return bool True if the signal was sent successfully, false otherwise - * - * @throws LogicException In case the process is not running - * @throws RuntimeException In case --enable-sigchild is activated and the process can't be killed - * @throws RuntimeException In case of failure - */ - private function doSignal(int $signal, bool $throwException): bool - { - if (null === $pid = $this->getPid()) { - if ($throwException) { - throw new LogicException('Can not send signal on a non running process.'); - } - - return false; - } - - if ('\\' === \DIRECTORY_SEPARATOR) { - exec(sprintf('taskkill /F /T /PID %d 2>&1', $pid), $output, $exitCode); - if ($exitCode && $this->isRunning()) { - if ($throwException) { - throw new RuntimeException(sprintf('Unable to kill the process (%s).', implode(' ', $output))); - } - - return false; - } - } else { - if (!$this->isSigchildEnabled()) { - $ok = @proc_terminate($this->process, $signal); - } elseif (\function_exists('posix_kill')) { - $ok = @posix_kill($pid, $signal); - } elseif ($ok = proc_open(sprintf('kill -%d %d', $signal, $pid), [2 => ['pipe', 'w']], $pipes)) { - $ok = false === fgets($pipes[2]); - } - if (!$ok) { - if ($throwException) { - throw new RuntimeException(sprintf('Error while sending signal "%s".', $signal)); - } - - return false; - } - } - - $this->latestSignal = $signal; - $this->fallbackStatus['signaled'] = true; - $this->fallbackStatus['exitcode'] = -1; - $this->fallbackStatus['termsig'] = $this->latestSignal; - - return true; - } - - private function prepareWindowsCommandLine(string $cmd, array &$env): string - { - $uid = uniqid('', true); - $varCount = 0; - $varCache = []; - $cmd = preg_replace_callback( - '/"(?:( - [^"%!^]*+ - (?: - (?: !LF! | "(?:\^[%!^])?+" ) - [^"%!^]*+ - )++ - ) | [^"]*+ )"/x', - function ($m) use (&$env, &$varCache, &$varCount, $uid) { - if (!isset($m[1])) { - return $m[0]; - } - if (isset($varCache[$m[0]])) { - return $varCache[$m[0]]; - } - if (false !== strpos($value = $m[1], "\0")) { - $value = str_replace("\0", '?', $value); - } - if (false === strpbrk($value, "\"%!\n")) { - return '"'.$value.'"'; - } - - $value = str_replace(['!LF!', '"^!"', '"^%"', '"^^"', '""'], ["\n", '!', '%', '^', '"'], $value); - $value = '"'.preg_replace('/(\\\\*)"/', '$1$1\\"', $value).'"'; - $var = $uid.++$varCount; - - $env[$var] = $value; - - return $varCache[$m[0]] = '!'.$var.'!'; - }, - $cmd - ); - - $cmd = 'cmd /V:ON /E:ON /D /C ('.str_replace("\n", ' ', $cmd).')'; - foreach ($this->processPipes->getFiles() as $offset => $filename) { - $cmd .= ' '.$offset.'>"'.$filename.'"'; - } - - return $cmd; - } - - /** - * Ensures the process is running or terminated, throws a LogicException if the process has a not started. - * - * @throws LogicException if the process has not run - */ - private function requireProcessIsStarted(string $functionName) - { - if (!$this->isStarted()) { - throw new LogicException(sprintf('Process must be started before calling %s.', $functionName)); - } - } - - /** - * Ensures the process is terminated, throws a LogicException if the process has a status different than "terminated". - * - * @throws LogicException if the process is not yet terminated - */ - private function requireProcessIsTerminated(string $functionName) - { - if (!$this->isTerminated()) { - throw new LogicException(sprintf('Process must be terminated before calling %s.', $functionName)); - } - } - - /** - * Escapes a string to be used as a shell argument. - */ - private function escapeArgument(?string $argument): string - { - if ('' === $argument || null === $argument) { - return '""'; - } - if ('\\' !== \DIRECTORY_SEPARATOR) { - return "'".str_replace("'", "'\\''", $argument)."'"; - } - if (false !== strpos($argument, "\0")) { - $argument = str_replace("\0", '?', $argument); - } - if (!preg_match('/[\/()%!^"<>&|\s]/', $argument)) { - return $argument; - } - $argument = preg_replace('/(\\\\+)$/', '$1$1', $argument); - - return '"'.str_replace(['"', '^', '%', '!', "\n"], ['""', '"^^"', '"^%"', '"^!"', '!LF!'], $argument).'"'; - } - - private function replacePlaceholders(string $commandline, array $env) - { - return preg_replace_callback('/"\$([_a-zA-Z]++[_a-zA-Z0-9]*+)"/', function ($matches) use ($commandline, $env) { - if (!isset($env[$matches[1]]) || false === $env[$matches[1]]) { - throw new InvalidArgumentException(sprintf('Command line is missing a value for key %s: %s.', $matches[0], $commandline)); - } - - return '\\' === \DIRECTORY_SEPARATOR ? $this->escapeArgument($env[$matches[1]]) : $matches[0]; - }, $commandline); - } - - private function getDefaultEnv(): array - { - $env = []; - - foreach ($_SERVER as $k => $v) { - if (\is_string($v) && false !== $v = getenv($k)) { - $env[$k] = $v; - } - } - - foreach ($_ENV as $k => $v) { - if (\is_string($v)) { - $env[$k] = $v; - } - } - - return $env; - } -} diff --git a/paragonik-backend/vendor/symfony/process/ProcessUtils.php b/paragonik-backend/vendor/symfony/process/ProcessUtils.php deleted file mode 100644 index 2f9c4be..0000000 --- a/paragonik-backend/vendor/symfony/process/ProcessUtils.php +++ /dev/null @@ -1,69 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Process; - -use Symfony\Component\Process\Exception\InvalidArgumentException; - -/** - * ProcessUtils is a bunch of utility methods. - * - * This class contains static methods only and is not meant to be instantiated. - * - * @author Martin Hasoň - */ -class ProcessUtils -{ - /** - * This class should not be instantiated. - */ - private function __construct() - { - } - - /** - * Validates and normalizes a Process input. - * - * @param string $caller The name of method call that validates the input - * @param mixed $input The input to validate - * - * @return mixed The validated input - * - * @throws InvalidArgumentException In case the input is not valid - */ - public static function validateInput($caller, $input) - { - if (null !== $input) { - if (\is_resource($input)) { - return $input; - } - if (\is_string($input)) { - return $input; - } - if (is_scalar($input)) { - return (string) $input; - } - if ($input instanceof Process) { - return $input->getIterator($input::ITER_SKIP_ERR); - } - if ($input instanceof \Iterator) { - return $input; - } - if ($input instanceof \Traversable) { - return new \IteratorIterator($input); - } - - throw new InvalidArgumentException(sprintf('%s only accepts strings, Traversable objects or stream resources.', $caller)); - } - - return $input; - } -} diff --git a/paragonik-backend/vendor/symfony/process/README.md b/paragonik-backend/vendor/symfony/process/README.md deleted file mode 100644 index b7ca5b4..0000000 --- a/paragonik-backend/vendor/symfony/process/README.md +++ /dev/null @@ -1,13 +0,0 @@ -Process Component -================= - -The Process component executes commands in sub-processes. - -Resources ---------- - - * [Documentation](https://symfony.com/doc/current/components/process.html) - * [Contributing](https://symfony.com/doc/current/contributing/index.html) - * [Report issues](https://github.com/symfony/symfony/issues) and - [send Pull Requests](https://github.com/symfony/symfony/pulls) - in the [main Symfony repository](https://github.com/symfony/symfony) diff --git a/paragonik-backend/vendor/symfony/process/composer.json b/paragonik-backend/vendor/symfony/process/composer.json deleted file mode 100644 index e0174de..0000000 --- a/paragonik-backend/vendor/symfony/process/composer.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "name": "symfony/process", - "type": "library", - "description": "Symfony Process Component", - "keywords": [], - "homepage": "https://symfony.com", - "license": "MIT", - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "require": { - "php": "^7.1.3" - }, - "autoload": { - "psr-4": { "Symfony\\Component\\Process\\": "" }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "minimum-stability": "dev", - "extra": { - "branch-alias": { - "dev-master": "4.4-dev" - } - } -} diff --git a/paragonik-backend/vendor/symfony/routing/.gitattributes b/paragonik-backend/vendor/symfony/routing/.gitattributes deleted file mode 100644 index ebb9287..0000000 --- a/paragonik-backend/vendor/symfony/routing/.gitattributes +++ /dev/null @@ -1,3 +0,0 @@ -/Tests export-ignore -/phpunit.xml.dist export-ignore -/.gitignore export-ignore diff --git a/paragonik-backend/vendor/symfony/routing/Annotation/Route.php b/paragonik-backend/vendor/symfony/routing/Annotation/Route.php deleted file mode 100644 index 4d5f618..0000000 --- a/paragonik-backend/vendor/symfony/routing/Annotation/Route.php +++ /dev/null @@ -1,182 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Routing\Annotation; - -/** - * Annotation class for @Route(). - * - * @Annotation - * @Target({"CLASS", "METHOD"}) - * - * @author Fabien Potencier - */ -class Route -{ - private $path; - private $localizedPaths = []; - private $name; - private $requirements = []; - private $options = []; - private $defaults = []; - private $host; - private $methods = []; - private $schemes = []; - private $condition; - private $locale; - private $format; - private $utf8; - - /** - * @param array $data An array of key/value parameters - * - * @throws \BadMethodCallException - */ - public function __construct(array $data) - { - if (isset($data['localized_paths'])) { - throw new \BadMethodCallException(sprintf('Unknown property "localized_paths" on annotation "%s".', \get_class($this))); - } - - if (isset($data['value'])) { - $data[\is_array($data['value']) ? 'localized_paths' : 'path'] = $data['value']; - unset($data['value']); - } - - if (isset($data['path']) && \is_array($data['path'])) { - $data['localized_paths'] = $data['path']; - unset($data['path']); - } - - if (isset($data['locale'])) { - $data['defaults']['_locale'] = $data['locale']; - unset($data['locale']); - } - - if (isset($data['format'])) { - $data['defaults']['_format'] = $data['format']; - unset($data['format']); - } - - if (isset($data['utf8'])) { - $data['options']['utf8'] = filter_var($data['utf8'], FILTER_VALIDATE_BOOLEAN) ?: false; - unset($data['utf8']); - } - - foreach ($data as $key => $value) { - $method = 'set'.str_replace('_', '', $key); - if (!method_exists($this, $method)) { - throw new \BadMethodCallException(sprintf('Unknown property "%s" on annotation "%s".', $key, \get_class($this))); - } - $this->$method($value); - } - } - - public function setPath($path) - { - $this->path = $path; - } - - public function getPath() - { - return $this->path; - } - - public function setLocalizedPaths(array $localizedPaths) - { - $this->localizedPaths = $localizedPaths; - } - - public function getLocalizedPaths(): array - { - return $this->localizedPaths; - } - - public function setHost($pattern) - { - $this->host = $pattern; - } - - public function getHost() - { - return $this->host; - } - - public function setName($name) - { - $this->name = $name; - } - - public function getName() - { - return $this->name; - } - - public function setRequirements($requirements) - { - $this->requirements = $requirements; - } - - public function getRequirements() - { - return $this->requirements; - } - - public function setOptions($options) - { - $this->options = $options; - } - - public function getOptions() - { - return $this->options; - } - - public function setDefaults($defaults) - { - $this->defaults = $defaults; - } - - public function getDefaults() - { - return $this->defaults; - } - - public function setSchemes($schemes) - { - $this->schemes = \is_array($schemes) ? $schemes : [$schemes]; - } - - public function getSchemes() - { - return $this->schemes; - } - - public function setMethods($methods) - { - $this->methods = \is_array($methods) ? $methods : [$methods]; - } - - public function getMethods() - { - return $this->methods; - } - - public function setCondition($condition) - { - $this->condition = $condition; - } - - public function getCondition() - { - return $this->condition; - } -} diff --git a/paragonik-backend/vendor/symfony/routing/CHANGELOG.md b/paragonik-backend/vendor/symfony/routing/CHANGELOG.md deleted file mode 100644 index 4eebca6..0000000 --- a/paragonik-backend/vendor/symfony/routing/CHANGELOG.md +++ /dev/null @@ -1,259 +0,0 @@ -CHANGELOG -========= - -4.4.0 ------ - - * Deprecated `ServiceRouterLoader` in favor of `ContainerLoader`. - * Deprecated `ObjectRouteLoader` in favor of `ObjectLoader`. - * Added a way to exclude patterns of resources from being imported by the `import()` method - -4.3.0 ------ - - * added `CompiledUrlMatcher` and `CompiledUrlMatcherDumper` - * added `CompiledUrlGenerator` and `CompiledUrlGeneratorDumper` - * deprecated `PhpGeneratorDumper` and `PhpMatcherDumper` - * deprecated `generator_base_class`, `generator_cache_class`, `matcher_base_class` and `matcher_cache_class` router options - * `Serializable` implementing methods for `Route` and `CompiledRoute` are marked as `@internal` and `@final`. - Instead of overwriting them, use `__serialize` and `__unserialize` as extension points which are forward compatible - with the new serialization methods in PHP 7.4. - * exposed `utf8` Route option, defaults "locale" and "format" in configuration loaders and configurators - * added support for invokable service route loaders - -4.2.0 ------ - - * added fallback to cultureless locale for internationalized routes - -4.0.0 ------ - - * dropped support for using UTF-8 route patterns without using the `utf8` option - * dropped support for using UTF-8 route requirements without using the `utf8` option - -3.4.0 ------ - - * Added `NoConfigurationException`. - * Added the possibility to define a prefix for all routes of a controller via @Route(name="prefix_") - * Added support for prioritized routing loaders. - * Add matched and default parameters to redirect responses - * Added support for a `controller` keyword for configuring route controllers in YAML and XML configurations. - -3.3.0 ------ - - * [DEPRECATION] Class parameters have been deprecated and will be removed in 4.0. - * router.options.generator_class - * router.options.generator_base_class - * router.options.generator_dumper_class - * router.options.matcher_class - * router.options.matcher_base_class - * router.options.matcher_dumper_class - * router.options.matcher.cache_class - * router.options.generator.cache_class - -3.2.0 ------ - - * Added support for `bool`, `int`, `float`, `string`, `list` and `map` defaults in XML configurations. - * Added support for UTF-8 requirements - -2.8.0 ------ - - * allowed specifying a directory to recursively load all routing configuration files it contains - * Added ObjectRouteLoader and ServiceRouteLoader that allow routes to be loaded - by calling a method on an object/service. - * [DEPRECATION] Deprecated the hardcoded value for the `$referenceType` argument of the `UrlGeneratorInterface::generate` method. - Use the constants defined in the `UrlGeneratorInterface` instead. - - Before: - - ```php - $router->generate('blog_show', ['slug' => 'my-blog-post'], true); - ``` - - After: - - ```php - use Symfony\Component\Routing\Generator\UrlGeneratorInterface; - - $router->generate('blog_show', ['slug' => 'my-blog-post'], UrlGeneratorInterface::ABSOLUTE_URL); - ``` - -2.5.0 ------ - - * [DEPRECATION] The `ApacheMatcherDumper` and `ApacheUrlMatcher` were deprecated and - will be removed in Symfony 3.0, since the performance gains were minimal and - it's hard to replicate the behavior of PHP implementation. - -2.3.0 ------ - - * added RequestContext::getQueryString() - -2.2.0 ------ - - * [DEPRECATION] Several route settings have been renamed (the old ones will be removed in 3.0): - - * The `pattern` setting for a route has been deprecated in favor of `path` - * The `_scheme` and `_method` requirements have been moved to the `schemes` and `methods` settings - - Before: - - ```yaml - article_edit: - pattern: /article/{id} - requirements: { '_method': 'POST|PUT', '_scheme': 'https', 'id': '\d+' } - ``` - - ```xml - - POST|PUT - https - \d+ - - ``` - - ```php - $route = new Route(); - $route->setPattern('/article/{id}'); - $route->setRequirement('_method', 'POST|PUT'); - $route->setRequirement('_scheme', 'https'); - ``` - - After: - - ```yaml - article_edit: - path: /article/{id} - methods: [POST, PUT] - schemes: https - requirements: { 'id': '\d+' } - ``` - - ```xml - - \d+ - - ``` - - ```php - $route = new Route(); - $route->setPath('/article/{id}'); - $route->setMethods(['POST', 'PUT']); - $route->setSchemes('https'); - ``` - - * [BC BREAK] RouteCollection does not behave like a tree structure anymore but as - a flat array of Routes. So when using PHP to build the RouteCollection, you must - make sure to add routes to the sub-collection before adding it to the parent - collection (this is not relevant when using YAML or XML for Route definitions). - - Before: - - ```php - $rootCollection = new RouteCollection(); - $subCollection = new RouteCollection(); - $rootCollection->addCollection($subCollection); - $subCollection->add('foo', new Route('/foo')); - ``` - - After: - - ```php - $rootCollection = new RouteCollection(); - $subCollection = new RouteCollection(); - $subCollection->add('foo', new Route('/foo')); - $rootCollection->addCollection($subCollection); - ``` - - Also one must call `addCollection` from the bottom to the top hierarchy. - So the correct sequence is the following (and not the reverse): - - ```php - $childCollection->addCollection($grandchildCollection); - $rootCollection->addCollection($childCollection); - ``` - - * [DEPRECATION] The methods `RouteCollection::getParent()` and `RouteCollection::getRoot()` - have been deprecated and will be removed in Symfony 2.3. - * [BC BREAK] Misusing the `RouteCollection::addPrefix` method to add defaults, requirements - or options without adding a prefix is not supported anymore. So if you called `addPrefix` - with an empty prefix or `/` only (both have no relevance), like - `addPrefix('', $defaultsArray, $requirementsArray, $optionsArray)` - you need to use the new dedicated methods `addDefaults($defaultsArray)`, - `addRequirements($requirementsArray)` or `addOptions($optionsArray)` instead. - * [DEPRECATION] The `$options` parameter to `RouteCollection::addPrefix()` has been deprecated - because adding options has nothing to do with adding a path prefix. If you want to add options - to all child routes of a RouteCollection, you can use `addOptions()`. - * [DEPRECATION] The method `RouteCollection::getPrefix()` has been deprecated - because it suggested that all routes in the collection would have this prefix, which is - not necessarily true. On top of that, since there is no tree structure anymore, this method - is also useless. Don't worry about performance, prefix optimization for matching is still done - in the dumper, which was also improved in 2.2.0 to find even more grouping possibilities. - * [DEPRECATION] `RouteCollection::addCollection(RouteCollection $collection)` should now only be - used with a single parameter. The other params `$prefix`, `$default`, `$requirements` and `$options` - will still work, but have been deprecated. The `addPrefix` method should be used for this - use-case instead. - Before: `$parentCollection->addCollection($collection, '/prefix', [...], [...])` - After: - ```php - $collection->addPrefix('/prefix', [...], [...]); - $parentCollection->addCollection($collection); - ``` - * added support for the method default argument values when defining a @Route - * Adjacent placeholders without separator work now, e.g. `/{x}{y}{z}.{_format}`. - * Characters that function as separator between placeholders are now whitelisted - to fix routes with normal text around a variable, e.g. `/prefix{var}suffix`. - * [BC BREAK] The default requirement of a variable has been changed slightly. - Previously it disallowed the previous and the next char around a variable. Now - it disallows the slash (`/`) and the next char. Using the previous char added - no value and was problematic because the route `/index.{_format}` would be - matched by `/index.ht/ml`. - * The default requirement now uses possessive quantifiers when possible which - improves matching performance by up to 20% because it prevents backtracking - when it's not needed. - * The ConfigurableRequirementsInterface can now also be used to disable the requirements - check on URL generation completely by calling `setStrictRequirements(null)`. It - improves performance in production environment as you should know that params always - pass the requirements (otherwise it would break your link anyway). - * There is no restriction on the route name anymore. So non-alphanumeric characters - are now also allowed. - * [BC BREAK] `RouteCompilerInterface::compile(Route $route)` was made static - (only relevant if you implemented your own RouteCompiler). - * Added possibility to generate relative paths and network paths in the UrlGenerator, e.g. - "../parent-file" and "//example.com/dir/file". The third parameter in - `UrlGeneratorInterface::generate($name, $parameters = [], $referenceType = self::ABSOLUTE_PATH)` - now accepts more values and you should use the constants defined in `UrlGeneratorInterface` for - claritiy. The old method calls with a Boolean parameter will continue to work because they - equal the signature using the constants. - -2.1.0 ------ - - * added RequestMatcherInterface - * added RequestContext::fromRequest() - * the UrlMatcher does not throw a \LogicException anymore when the required - scheme is not the current one - * added TraceableUrlMatcher - * added the possibility to define options, default values and requirements - for placeholders in prefix, including imported routes - * added RouterInterface::getRouteCollection - * [BC BREAK] the UrlMatcher urldecodes the route parameters only once, they - were decoded twice before. Note that the `urldecode()` calls have been - changed for a single `rawurldecode()` in order to support `+` for input - paths. - * added RouteCollection::getRoot method to retrieve the root of a - RouteCollection tree - * [BC BREAK] made RouteCollection::setParent private which could not have - been used anyway without creating inconsistencies - * [BC BREAK] RouteCollection::remove also removes a route from parent - collections (not only from its children) - * added ConfigurableRequirementsInterface that allows to disable exceptions - (and generate empty URLs instead) when generating a route with an invalid - parameter value diff --git a/paragonik-backend/vendor/symfony/routing/CompiledRoute.php b/paragonik-backend/vendor/symfony/routing/CompiledRoute.php deleted file mode 100644 index b6f31b2..0000000 --- a/paragonik-backend/vendor/symfony/routing/CompiledRoute.php +++ /dev/null @@ -1,177 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Routing; - -/** - * CompiledRoutes are returned by the RouteCompiler class. - * - * @author Fabien Potencier - */ -class CompiledRoute implements \Serializable -{ - private $variables; - private $tokens; - private $staticPrefix; - private $regex; - private $pathVariables; - private $hostVariables; - private $hostRegex; - private $hostTokens; - - /** - * @param string $staticPrefix The static prefix of the compiled route - * @param string $regex The regular expression to use to match this route - * @param array $tokens An array of tokens to use to generate URL for this route - * @param array $pathVariables An array of path variables - * @param string|null $hostRegex Host regex - * @param array $hostTokens Host tokens - * @param array $hostVariables An array of host variables - * @param array $variables An array of variables (variables defined in the path and in the host patterns) - */ - public function __construct(string $staticPrefix, string $regex, array $tokens, array $pathVariables, string $hostRegex = null, array $hostTokens = [], array $hostVariables = [], array $variables = []) - { - $this->staticPrefix = $staticPrefix; - $this->regex = $regex; - $this->tokens = $tokens; - $this->pathVariables = $pathVariables; - $this->hostRegex = $hostRegex; - $this->hostTokens = $hostTokens; - $this->hostVariables = $hostVariables; - $this->variables = $variables; - } - - public function __serialize(): array - { - return [ - 'vars' => $this->variables, - 'path_prefix' => $this->staticPrefix, - 'path_regex' => $this->regex, - 'path_tokens' => $this->tokens, - 'path_vars' => $this->pathVariables, - 'host_regex' => $this->hostRegex, - 'host_tokens' => $this->hostTokens, - 'host_vars' => $this->hostVariables, - ]; - } - - /** - * @return string - * - * @internal since Symfony 4.3 - * @final since Symfony 4.3 - */ - public function serialize() - { - return serialize($this->__serialize()); - } - - public function __unserialize(array $data): void - { - $this->variables = $data['vars']; - $this->staticPrefix = $data['path_prefix']; - $this->regex = $data['path_regex']; - $this->tokens = $data['path_tokens']; - $this->pathVariables = $data['path_vars']; - $this->hostRegex = $data['host_regex']; - $this->hostTokens = $data['host_tokens']; - $this->hostVariables = $data['host_vars']; - } - - /** - * @internal since Symfony 4.3 - * @final since Symfony 4.3 - */ - public function unserialize($serialized) - { - $this->__unserialize(unserialize($serialized, ['allowed_classes' => false])); - } - - /** - * Returns the static prefix. - * - * @return string The static prefix - */ - public function getStaticPrefix() - { - return $this->staticPrefix; - } - - /** - * Returns the regex. - * - * @return string The regex - */ - public function getRegex() - { - return $this->regex; - } - - /** - * Returns the host regex. - * - * @return string|null The host regex or null - */ - public function getHostRegex() - { - return $this->hostRegex; - } - - /** - * Returns the tokens. - * - * @return array The tokens - */ - public function getTokens() - { - return $this->tokens; - } - - /** - * Returns the host tokens. - * - * @return array The tokens - */ - public function getHostTokens() - { - return $this->hostTokens; - } - - /** - * Returns the variables. - * - * @return array The variables - */ - public function getVariables() - { - return $this->variables; - } - - /** - * Returns the path variables. - * - * @return array The variables - */ - public function getPathVariables() - { - return $this->pathVariables; - } - - /** - * Returns the host variables. - * - * @return array The variables - */ - public function getHostVariables() - { - return $this->hostVariables; - } -} diff --git a/paragonik-backend/vendor/symfony/routing/DependencyInjection/RoutingResolverPass.php b/paragonik-backend/vendor/symfony/routing/DependencyInjection/RoutingResolverPass.php deleted file mode 100644 index 7068825..0000000 --- a/paragonik-backend/vendor/symfony/routing/DependencyInjection/RoutingResolverPass.php +++ /dev/null @@ -1,49 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Routing\DependencyInjection; - -use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface; -use Symfony\Component\DependencyInjection\Compiler\PriorityTaggedServiceTrait; -use Symfony\Component\DependencyInjection\ContainerBuilder; -use Symfony\Component\DependencyInjection\Reference; - -/** - * Adds tagged routing.loader services to routing.resolver service. - * - * @author Fabien Potencier - */ -class RoutingResolverPass implements CompilerPassInterface -{ - use PriorityTaggedServiceTrait; - - private $resolverServiceId; - private $loaderTag; - - public function __construct(string $resolverServiceId = 'routing.resolver', string $loaderTag = 'routing.loader') - { - $this->resolverServiceId = $resolverServiceId; - $this->loaderTag = $loaderTag; - } - - public function process(ContainerBuilder $container) - { - if (false === $container->hasDefinition($this->resolverServiceId)) { - return; - } - - $definition = $container->getDefinition($this->resolverServiceId); - - foreach ($this->findAndSortTaggedServices($this->loaderTag, $container) as $id) { - $definition->addMethodCall('addLoader', [new Reference($id)]); - } - } -} diff --git a/paragonik-backend/vendor/symfony/routing/Exception/ExceptionInterface.php b/paragonik-backend/vendor/symfony/routing/Exception/ExceptionInterface.php deleted file mode 100644 index 22e72b1..0000000 --- a/paragonik-backend/vendor/symfony/routing/Exception/ExceptionInterface.php +++ /dev/null @@ -1,21 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Routing\Exception; - -/** - * ExceptionInterface. - * - * @author Alexandre Salomé - */ -interface ExceptionInterface extends \Throwable -{ -} diff --git a/paragonik-backend/vendor/symfony/routing/Exception/InvalidParameterException.php b/paragonik-backend/vendor/symfony/routing/Exception/InvalidParameterException.php deleted file mode 100644 index 94d841f..0000000 --- a/paragonik-backend/vendor/symfony/routing/Exception/InvalidParameterException.php +++ /dev/null @@ -1,21 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Routing\Exception; - -/** - * Exception thrown when a parameter is not valid. - * - * @author Alexandre Salomé - */ -class InvalidParameterException extends \InvalidArgumentException implements ExceptionInterface -{ -} diff --git a/paragonik-backend/vendor/symfony/routing/Exception/MethodNotAllowedException.php b/paragonik-backend/vendor/symfony/routing/Exception/MethodNotAllowedException.php deleted file mode 100644 index b897081..0000000 --- a/paragonik-backend/vendor/symfony/routing/Exception/MethodNotAllowedException.php +++ /dev/null @@ -1,41 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Routing\Exception; - -/** - * The resource was found but the request method is not allowed. - * - * This exception should trigger an HTTP 405 response in your application code. - * - * @author Kris Wallsmith - */ -class MethodNotAllowedException extends \RuntimeException implements ExceptionInterface -{ - protected $allowedMethods = []; - - public function __construct(array $allowedMethods, string $message = null, int $code = 0, \Throwable $previous = null) - { - $this->allowedMethods = array_map('strtoupper', $allowedMethods); - - parent::__construct($message, $code, $previous); - } - - /** - * Gets the allowed HTTP methods. - * - * @return array - */ - public function getAllowedMethods() - { - return $this->allowedMethods; - } -} diff --git a/paragonik-backend/vendor/symfony/routing/Exception/MissingMandatoryParametersException.php b/paragonik-backend/vendor/symfony/routing/Exception/MissingMandatoryParametersException.php deleted file mode 100644 index 57f3a40..0000000 --- a/paragonik-backend/vendor/symfony/routing/Exception/MissingMandatoryParametersException.php +++ /dev/null @@ -1,22 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Routing\Exception; - -/** - * Exception thrown when a route cannot be generated because of missing - * mandatory parameters. - * - * @author Alexandre Salomé - */ -class MissingMandatoryParametersException extends \InvalidArgumentException implements ExceptionInterface -{ -} diff --git a/paragonik-backend/vendor/symfony/routing/Exception/NoConfigurationException.php b/paragonik-backend/vendor/symfony/routing/Exception/NoConfigurationException.php deleted file mode 100644 index 333bc74..0000000 --- a/paragonik-backend/vendor/symfony/routing/Exception/NoConfigurationException.php +++ /dev/null @@ -1,21 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Routing\Exception; - -/** - * Exception thrown when no routes are configured. - * - * @author Yonel Ceruto - */ -class NoConfigurationException extends ResourceNotFoundException -{ -} diff --git a/paragonik-backend/vendor/symfony/routing/Exception/ResourceNotFoundException.php b/paragonik-backend/vendor/symfony/routing/Exception/ResourceNotFoundException.php deleted file mode 100644 index ccbca15..0000000 --- a/paragonik-backend/vendor/symfony/routing/Exception/ResourceNotFoundException.php +++ /dev/null @@ -1,23 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Routing\Exception; - -/** - * The resource was not found. - * - * This exception should trigger an HTTP 404 response in your application code. - * - * @author Kris Wallsmith - */ -class ResourceNotFoundException extends \RuntimeException implements ExceptionInterface -{ -} diff --git a/paragonik-backend/vendor/symfony/routing/Exception/RouteNotFoundException.php b/paragonik-backend/vendor/symfony/routing/Exception/RouteNotFoundException.php deleted file mode 100644 index 24ab0b4..0000000 --- a/paragonik-backend/vendor/symfony/routing/Exception/RouteNotFoundException.php +++ /dev/null @@ -1,21 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Routing\Exception; - -/** - * Exception thrown when a route does not exist. - * - * @author Alexandre Salomé - */ -class RouteNotFoundException extends \InvalidArgumentException implements ExceptionInterface -{ -} diff --git a/paragonik-backend/vendor/symfony/routing/Generator/CompiledUrlGenerator.php b/paragonik-backend/vendor/symfony/routing/Generator/CompiledUrlGenerator.php deleted file mode 100644 index 41cd589..0000000 --- a/paragonik-backend/vendor/symfony/routing/Generator/CompiledUrlGenerator.php +++ /dev/null @@ -1,58 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Routing\Generator; - -use Psr\Log\LoggerInterface; -use Symfony\Component\Routing\Exception\RouteNotFoundException; -use Symfony\Component\Routing\RequestContext; - -/** - * Generates URLs based on rules dumped by CompiledUrlGeneratorDumper. - */ -class CompiledUrlGenerator extends UrlGenerator -{ - private $compiledRoutes = []; - private $defaultLocale; - - public function __construct(array $compiledRoutes, RequestContext $context, LoggerInterface $logger = null, string $defaultLocale = null) - { - $this->compiledRoutes = $compiledRoutes; - $this->context = $context; - $this->logger = $logger; - $this->defaultLocale = $defaultLocale; - } - - public function generate($name, $parameters = [], $referenceType = self::ABSOLUTE_PATH) - { - $locale = $parameters['_locale'] - ?? $this->context->getParameter('_locale') - ?: $this->defaultLocale; - - if (null !== $locale) { - do { - if (($this->compiledRoutes[$name.'.'.$locale][1]['_canonical_route'] ?? null) === $name) { - unset($parameters['_locale']); - $name .= '.'.$locale; - break; - } - } while (false !== $locale = strstr($locale, '_', true)); - } - - if (!isset($this->compiledRoutes[$name])) { - throw new RouteNotFoundException(sprintf('Unable to generate a URL for the named route "%s" as such route does not exist.', $name)); - } - - list($variables, $defaults, $requirements, $tokens, $hostTokens, $requiredSchemes) = $this->compiledRoutes[$name]; - - return $this->doGenerate($variables, $defaults, $requirements, $tokens, $parameters, $name, $referenceType, $hostTokens, $requiredSchemes); - } -} diff --git a/paragonik-backend/vendor/symfony/routing/Generator/ConfigurableRequirementsInterface.php b/paragonik-backend/vendor/symfony/routing/Generator/ConfigurableRequirementsInterface.php deleted file mode 100644 index 2e5dc53..0000000 --- a/paragonik-backend/vendor/symfony/routing/Generator/ConfigurableRequirementsInterface.php +++ /dev/null @@ -1,55 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Routing\Generator; - -/** - * ConfigurableRequirementsInterface must be implemented by URL generators that - * can be configured whether an exception should be generated when the parameters - * do not match the requirements. It is also possible to disable the requirements - * check for URL generation completely. - * - * The possible configurations and use-cases: - * - setStrictRequirements(true): Throw an exception for mismatching requirements. This - * is mostly useful in development environment. - * - setStrictRequirements(false): Don't throw an exception but return an empty string as URL for - * mismatching requirements and log the problem. Useful when you cannot control all - * params because they come from third party libs but don't want to have a 404 in - * production environment. It should log the mismatch so one can review it. - * - setStrictRequirements(null): Return the URL with the given parameters without - * checking the requirements at all. When generating a URL you should either trust - * your params or you validated them beforehand because otherwise it would break your - * link anyway. So in production environment you should know that params always pass - * the requirements. Thus this option allows to disable the check on URL generation for - * performance reasons (saving a preg_match for each requirement every time a URL is - * generated). - * - * @author Fabien Potencier - * @author Tobias Schultze - */ -interface ConfigurableRequirementsInterface -{ - /** - * Enables or disables the exception on incorrect parameters. - * Passing null will deactivate the requirements check completely. - * - * @param bool|null $enabled - */ - public function setStrictRequirements($enabled); - - /** - * Returns whether to throw an exception on incorrect parameters. - * Null means the requirements check is deactivated completely. - * - * @return bool|null - */ - public function isStrictRequirements(); -} diff --git a/paragonik-backend/vendor/symfony/routing/Generator/Dumper/CompiledUrlGeneratorDumper.php b/paragonik-backend/vendor/symfony/routing/Generator/Dumper/CompiledUrlGeneratorDumper.php deleted file mode 100644 index e90a40a..0000000 --- a/paragonik-backend/vendor/symfony/routing/Generator/Dumper/CompiledUrlGeneratorDumper.php +++ /dev/null @@ -1,73 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Routing\Generator\Dumper; - -use Symfony\Component\Routing\Matcher\Dumper\CompiledUrlMatcherDumper; - -/** - * CompiledUrlGeneratorDumper creates a PHP array to be used with CompiledUrlGenerator. - * - * @author Fabien Potencier - * @author Tobias Schultze - * @author Nicolas Grekas - */ -class CompiledUrlGeneratorDumper extends GeneratorDumper -{ - public function getCompiledRoutes(): array - { - $compiledRoutes = []; - foreach ($this->getRoutes()->all() as $name => $route) { - $compiledRoute = $route->compile(); - - $compiledRoutes[$name] = [ - $compiledRoute->getVariables(), - $route->getDefaults(), - $route->getRequirements(), - $compiledRoute->getTokens(), - $compiledRoute->getHostTokens(), - $route->getSchemes(), - ]; - } - - return $compiledRoutes; - } - - /** - * {@inheritdoc} - */ - public function dump(array $options = []) - { - return <<generateDeclaredRoutes()} -]; - -EOF; - } - - /** - * Generates PHP code representing an array of defined routes - * together with the routes properties (e.g. requirements). - */ - private function generateDeclaredRoutes(): string - { - $routes = ''; - foreach ($this->getCompiledRoutes() as $name => $properties) { - $routes .= sprintf("\n '%s' => %s,", $name, CompiledUrlMatcherDumper::export($properties)); - } - - return $routes; - } -} diff --git a/paragonik-backend/vendor/symfony/routing/Generator/Dumper/GeneratorDumper.php b/paragonik-backend/vendor/symfony/routing/Generator/Dumper/GeneratorDumper.php deleted file mode 100644 index 659c5ba..0000000 --- a/paragonik-backend/vendor/symfony/routing/Generator/Dumper/GeneratorDumper.php +++ /dev/null @@ -1,37 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Routing\Generator\Dumper; - -use Symfony\Component\Routing\RouteCollection; - -/** - * GeneratorDumper is the base class for all built-in generator dumpers. - * - * @author Fabien Potencier - */ -abstract class GeneratorDumper implements GeneratorDumperInterface -{ - private $routes; - - public function __construct(RouteCollection $routes) - { - $this->routes = $routes; - } - - /** - * {@inheritdoc} - */ - public function getRoutes() - { - return $this->routes; - } -} diff --git a/paragonik-backend/vendor/symfony/routing/Generator/Dumper/GeneratorDumperInterface.php b/paragonik-backend/vendor/symfony/routing/Generator/Dumper/GeneratorDumperInterface.php deleted file mode 100644 index 26daefc..0000000 --- a/paragonik-backend/vendor/symfony/routing/Generator/Dumper/GeneratorDumperInterface.php +++ /dev/null @@ -1,37 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Routing\Generator\Dumper; - -use Symfony\Component\Routing\RouteCollection; - -/** - * GeneratorDumperInterface is the interface that all generator dumper classes must implement. - * - * @author Fabien Potencier - */ -interface GeneratorDumperInterface -{ - /** - * Dumps a set of routes to a string representation of executable code - * that can then be used to generate a URL of such a route. - * - * @return string Executable code - */ - public function dump(array $options = []); - - /** - * Gets the routes to dump. - * - * @return RouteCollection A RouteCollection instance - */ - public function getRoutes(); -} diff --git a/paragonik-backend/vendor/symfony/routing/Generator/Dumper/PhpGeneratorDumper.php b/paragonik-backend/vendor/symfony/routing/Generator/Dumper/PhpGeneratorDumper.php deleted file mode 100644 index 4a03653..0000000 --- a/paragonik-backend/vendor/symfony/routing/Generator/Dumper/PhpGeneratorDumper.php +++ /dev/null @@ -1,136 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Routing\Generator\Dumper; - -@trigger_error(sprintf('The "%s" class is deprecated since Symfony 4.3, use "CompiledUrlGeneratorDumper" instead.', PhpGeneratorDumper::class), E_USER_DEPRECATED); - -use Symfony\Component\Routing\Matcher\Dumper\CompiledUrlMatcherDumper; - -/** - * PhpGeneratorDumper creates a PHP class able to generate URLs for a given set of routes. - * - * @author Fabien Potencier - * @author Tobias Schultze - * - * @deprecated since Symfony 4.3, use CompiledUrlGeneratorDumper instead. - */ -class PhpGeneratorDumper extends GeneratorDumper -{ - /** - * Dumps a set of routes to a PHP class. - * - * Available options: - * - * * class: The class name - * * base_class: The base class name - * - * @param array $options An array of options - * - * @return string A PHP class representing the generator class - */ - public function dump(array $options = []) - { - $options = array_merge([ - 'class' => 'ProjectUrlGenerator', - 'base_class' => 'Symfony\\Component\\Routing\\Generator\\UrlGenerator', - ], $options); - - return <<context = \$context; - \$this->logger = \$logger; - \$this->defaultLocale = \$defaultLocale; - if (null === self::\$declaredRoutes) { - self::\$declaredRoutes = {$this->generateDeclaredRoutes()}; - } - } - -{$this->generateGenerateMethod()} -} - -EOF; - } - - /** - * Generates PHP code representing an array of defined routes - * together with the routes properties (e.g. requirements). - */ - private function generateDeclaredRoutes(): string - { - $routes = "[\n"; - foreach ($this->getRoutes()->all() as $name => $route) { - $compiledRoute = $route->compile(); - - $properties = []; - $properties[] = $compiledRoute->getVariables(); - $properties[] = $route->getDefaults(); - $properties[] = $route->getRequirements(); - $properties[] = $compiledRoute->getTokens(); - $properties[] = $compiledRoute->getHostTokens(); - $properties[] = $route->getSchemes(); - - $routes .= sprintf(" '%s' => %s,\n", $name, CompiledUrlMatcherDumper::export($properties)); - } - $routes .= ' ]'; - - return $routes; - } - - /** - * Generates PHP code representing the `generate` method that implements the UrlGeneratorInterface. - */ - private function generateGenerateMethod(): string - { - return <<<'EOF' - public function generate($name, $parameters = [], $referenceType = self::ABSOLUTE_PATH) - { - $locale = $parameters['_locale'] - ?? $this->context->getParameter('_locale') - ?: $this->defaultLocale; - - if (null !== $locale && null !== $name) { - do { - if ((self::$declaredRoutes[$name.'.'.$locale][1]['_canonical_route'] ?? null) === $name) { - unset($parameters['_locale']); - $name .= '.'.$locale; - break; - } - } while (false !== $locale = strstr($locale, '_', true)); - } - - if (!isset(self::$declaredRoutes[$name])) { - throw new RouteNotFoundException(sprintf('Unable to generate a URL for the named route "%s" as such route does not exist.', $name)); - } - - list($variables, $defaults, $requirements, $tokens, $hostTokens, $requiredSchemes) = self::$declaredRoutes[$name]; - - return $this->doGenerate($variables, $defaults, $requirements, $tokens, $parameters, $name, $referenceType, $hostTokens, $requiredSchemes); - } -EOF; - } -} diff --git a/paragonik-backend/vendor/symfony/routing/Generator/UrlGenerator.php b/paragonik-backend/vendor/symfony/routing/Generator/UrlGenerator.php deleted file mode 100644 index 8be593b..0000000 --- a/paragonik-backend/vendor/symfony/routing/Generator/UrlGenerator.php +++ /dev/null @@ -1,356 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Routing\Generator; - -use Psr\Log\LoggerInterface; -use Symfony\Component\Routing\Exception\InvalidParameterException; -use Symfony\Component\Routing\Exception\MissingMandatoryParametersException; -use Symfony\Component\Routing\Exception\RouteNotFoundException; -use Symfony\Component\Routing\RequestContext; -use Symfony\Component\Routing\RouteCollection; - -/** - * UrlGenerator can generate a URL or a path for any route in the RouteCollection - * based on the passed parameters. - * - * @author Fabien Potencier - * @author Tobias Schultze - */ -class UrlGenerator implements UrlGeneratorInterface, ConfigurableRequirementsInterface -{ - private const QUERY_FRAGMENT_DECODED = [ - // RFC 3986 explicitly allows those in the query/fragment to reference other URIs unencoded - '%2F' => '/', - '%3F' => '?', - // reserved chars that have no special meaning for HTTP URIs in a query or fragment - // this excludes esp. "&", "=" and also "+" because PHP would treat it as a space (form-encoded) - '%40' => '@', - '%3A' => ':', - '%21' => '!', - '%3B' => ';', - '%2C' => ',', - '%2A' => '*', - ]; - - protected $routes; - protected $context; - - /** - * @var bool|null - */ - protected $strictRequirements = true; - - protected $logger; - - private $defaultLocale; - - /** - * This array defines the characters (besides alphanumeric ones) that will not be percent-encoded in the path segment of the generated URL. - * - * PHP's rawurlencode() encodes all chars except "a-zA-Z0-9-._~" according to RFC 3986. But we want to allow some chars - * to be used in their literal form (reasons below). Other chars inside the path must of course be encoded, e.g. - * "?" and "#" (would be interpreted wrongly as query and fragment identifier), - * "'" and """ (are used as delimiters in HTML). - */ - protected $decodedChars = [ - // the slash can be used to designate a hierarchical structure and we want allow using it with this meaning - // some webservers don't allow the slash in encoded form in the path for security reasons anyway - // see http://stackoverflow.com/questions/4069002/http-400-if-2f-part-of-get-url-in-jboss - '%2F' => '/', - // the following chars are general delimiters in the URI specification but have only special meaning in the authority component - // so they can safely be used in the path in unencoded form - '%40' => '@', - '%3A' => ':', - // these chars are only sub-delimiters that have no predefined meaning and can therefore be used literally - // so URI producing applications can use these chars to delimit subcomponents in a path segment without being encoded for better readability - '%3B' => ';', - '%2C' => ',', - '%3D' => '=', - '%2B' => '+', - '%21' => '!', - '%2A' => '*', - '%7C' => '|', - ]; - - public function __construct(RouteCollection $routes, RequestContext $context, LoggerInterface $logger = null, string $defaultLocale = null) - { - $this->routes = $routes; - $this->context = $context; - $this->logger = $logger; - $this->defaultLocale = $defaultLocale; - } - - /** - * {@inheritdoc} - */ - public function setContext(RequestContext $context) - { - $this->context = $context; - } - - /** - * {@inheritdoc} - */ - public function getContext() - { - return $this->context; - } - - /** - * {@inheritdoc} - */ - public function setStrictRequirements($enabled) - { - $this->strictRequirements = null === $enabled ? null : (bool) $enabled; - } - - /** - * {@inheritdoc} - */ - public function isStrictRequirements() - { - return $this->strictRequirements; - } - - /** - * {@inheritdoc} - */ - public function generate($name, $parameters = [], $referenceType = self::ABSOLUTE_PATH) - { - $route = null; - $locale = $parameters['_locale'] - ?? $this->context->getParameter('_locale') - ?: $this->defaultLocale; - - if (null !== $locale) { - do { - if (null !== ($route = $this->routes->get($name.'.'.$locale)) && $route->getDefault('_canonical_route') === $name) { - unset($parameters['_locale']); - break; - } - } while (false !== $locale = strstr($locale, '_', true)); - } - - if (null === $route = $route ?? $this->routes->get($name)) { - throw new RouteNotFoundException(sprintf('Unable to generate a URL for the named route "%s" as such route does not exist.', $name)); - } - - // the Route has a cache of its own and is not recompiled as long as it does not get modified - $compiledRoute = $route->compile(); - - return $this->doGenerate($compiledRoute->getVariables(), $route->getDefaults(), $route->getRequirements(), $compiledRoute->getTokens(), $parameters, $name, $referenceType, $compiledRoute->getHostTokens(), $route->getSchemes()); - } - - /** - * @throws MissingMandatoryParametersException When some parameters are missing that are mandatory for the route - * @throws InvalidParameterException When a parameter value for a placeholder is not correct because - * it does not match the requirement - * - * @return string - */ - protected function doGenerate($variables, $defaults, $requirements, $tokens, $parameters, $name, $referenceType, $hostTokens, array $requiredSchemes = []) - { - $variables = array_flip($variables); - $mergedParams = array_replace($defaults, $this->context->getParameters(), $parameters); - - // all params must be given - if ($diff = array_diff_key($variables, $mergedParams)) { - throw new MissingMandatoryParametersException(sprintf('Some mandatory parameters are missing ("%s") to generate a URL for route "%s".', implode('", "', array_keys($diff)), $name)); - } - - $url = ''; - $optional = true; - $message = 'Parameter "{parameter}" for route "{route}" must match "{expected}" ("{given}" given) to generate a corresponding URL.'; - foreach ($tokens as $token) { - if ('variable' === $token[0]) { - $varName = $token[3]; - // variable is not important by default - $important = $token[5] ?? false; - - if (!$optional || $important || !\array_key_exists($varName, $defaults) || (null !== $mergedParams[$varName] && (string) $mergedParams[$varName] !== (string) $defaults[$varName])) { - // check requirement (while ignoring look-around patterns) - if (null !== $this->strictRequirements && !preg_match('#^'.preg_replace('/\(\?(?:=|<=|!|strictRequirements) { - throw new InvalidParameterException(strtr($message, ['{parameter}' => $varName, '{route}' => $name, '{expected}' => $token[2], '{given}' => $mergedParams[$varName]])); - } - - if ($this->logger) { - $this->logger->error($message, ['parameter' => $varName, 'route' => $name, 'expected' => $token[2], 'given' => $mergedParams[$varName]]); - } - - return ''; - } - - $url = $token[1].$mergedParams[$varName].$url; - $optional = false; - } - } else { - // static text - $url = $token[1].$url; - $optional = false; - } - } - - if ('' === $url) { - $url = '/'; - } - - // the contexts base URL is already encoded (see Symfony\Component\HttpFoundation\Request) - $url = strtr(rawurlencode($url), $this->decodedChars); - - // the path segments "." and ".." are interpreted as relative reference when resolving a URI; see http://tools.ietf.org/html/rfc3986#section-3.3 - // so we need to encode them as they are not used for this purpose here - // otherwise we would generate a URI that, when followed by a user agent (e.g. browser), does not match this route - $url = strtr($url, ['/../' => '/%2E%2E/', '/./' => '/%2E/']); - if ('/..' === substr($url, -3)) { - $url = substr($url, 0, -2).'%2E%2E'; - } elseif ('/.' === substr($url, -2)) { - $url = substr($url, 0, -1).'%2E'; - } - - $schemeAuthority = ''; - $host = $this->context->getHost(); - $scheme = $this->context->getScheme(); - - if ($requiredSchemes) { - if (!\in_array($scheme, $requiredSchemes, true)) { - $referenceType = self::ABSOLUTE_URL; - $scheme = current($requiredSchemes); - } - } - - if ($hostTokens) { - $routeHost = ''; - foreach ($hostTokens as $token) { - if ('variable' === $token[0]) { - // check requirement (while ignoring look-around patterns) - if (null !== $this->strictRequirements && !preg_match('#^'.preg_replace('/\(\?(?:=|<=|!|strictRequirements) { - throw new InvalidParameterException(strtr($message, ['{parameter}' => $token[3], '{route}' => $name, '{expected}' => $token[2], '{given}' => $mergedParams[$token[3]]])); - } - - if ($this->logger) { - $this->logger->error($message, ['parameter' => $token[3], 'route' => $name, 'expected' => $token[2], 'given' => $mergedParams[$token[3]]]); - } - - return ''; - } - - $routeHost = $token[1].$mergedParams[$token[3]].$routeHost; - } else { - $routeHost = $token[1].$routeHost; - } - } - - if ($routeHost !== $host) { - $host = $routeHost; - if (self::ABSOLUTE_URL !== $referenceType) { - $referenceType = self::NETWORK_PATH; - } - } - } - - if (self::ABSOLUTE_URL === $referenceType || self::NETWORK_PATH === $referenceType) { - if ('' !== $host || ('' !== $scheme && 'http' !== $scheme && 'https' !== $scheme)) { - $port = ''; - if ('http' === $scheme && 80 !== $this->context->getHttpPort()) { - $port = ':'.$this->context->getHttpPort(); - } elseif ('https' === $scheme && 443 !== $this->context->getHttpsPort()) { - $port = ':'.$this->context->getHttpsPort(); - } - - $schemeAuthority = self::NETWORK_PATH === $referenceType || '' === $scheme ? '//' : "$scheme://"; - $schemeAuthority .= $host.$port; - } - } - - if (self::RELATIVE_PATH === $referenceType) { - $url = self::getRelativePath($this->context->getPathInfo(), $url); - } else { - $url = $schemeAuthority.$this->context->getBaseUrl().$url; - } - - // add a query string if needed - $extra = array_udiff_assoc(array_diff_key($parameters, $variables), $defaults, function ($a, $b) { - return $a == $b ? 0 : 1; - }); - - // extract fragment - $fragment = $defaults['_fragment'] ?? ''; - - if (isset($extra['_fragment'])) { - $fragment = $extra['_fragment']; - unset($extra['_fragment']); - } - - if ($extra && $query = http_build_query($extra, '', '&', PHP_QUERY_RFC3986)) { - $url .= '?'.strtr($query, self::QUERY_FRAGMENT_DECODED); - } - - if ('' !== $fragment) { - $url .= '#'.strtr(rawurlencode($fragment), self::QUERY_FRAGMENT_DECODED); - } - - return $url; - } - - /** - * Returns the target path as relative reference from the base path. - * - * Only the URIs path component (no schema, host etc.) is relevant and must be given, starting with a slash. - * Both paths must be absolute and not contain relative parts. - * Relative URLs from one resource to another are useful when generating self-contained downloadable document archives. - * Furthermore, they can be used to reduce the link size in documents. - * - * Example target paths, given a base path of "/a/b/c/d": - * - "/a/b/c/d" -> "" - * - "/a/b/c/" -> "./" - * - "/a/b/" -> "../" - * - "/a/b/c/other" -> "other" - * - "/a/x/y" -> "../../x/y" - * - * @param string $basePath The base path - * @param string $targetPath The target path - * - * @return string The relative target path - */ - public static function getRelativePath($basePath, $targetPath) - { - if ($basePath === $targetPath) { - return ''; - } - - $sourceDirs = explode('/', isset($basePath[0]) && '/' === $basePath[0] ? substr($basePath, 1) : $basePath); - $targetDirs = explode('/', isset($targetPath[0]) && '/' === $targetPath[0] ? substr($targetPath, 1) : $targetPath); - array_pop($sourceDirs); - $targetFile = array_pop($targetDirs); - - foreach ($sourceDirs as $i => $dir) { - if (isset($targetDirs[$i]) && $dir === $targetDirs[$i]) { - unset($sourceDirs[$i], $targetDirs[$i]); - } else { - break; - } - } - - $targetDirs[] = $targetFile; - $path = str_repeat('../', \count($sourceDirs)).implode('/', $targetDirs); - - // A reference to the same base directory or an empty subdirectory must be prefixed with "./". - // This also applies to a segment with a colon character (e.g., "file:colon") that cannot be used - // as the first segment of a relative-path reference, as it would be mistaken for a scheme name - // (see http://tools.ietf.org/html/rfc3986#section-4.2). - return '' === $path || '/' === $path[0] - || false !== ($colonPos = strpos($path, ':')) && ($colonPos < ($slashPos = strpos($path, '/')) || false === $slashPos) - ? "./$path" : $path; - } -} diff --git a/paragonik-backend/vendor/symfony/routing/Generator/UrlGeneratorInterface.php b/paragonik-backend/vendor/symfony/routing/Generator/UrlGeneratorInterface.php deleted file mode 100644 index 64714d3..0000000 --- a/paragonik-backend/vendor/symfony/routing/Generator/UrlGeneratorInterface.php +++ /dev/null @@ -1,86 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Routing\Generator; - -use Symfony\Component\Routing\Exception\InvalidParameterException; -use Symfony\Component\Routing\Exception\MissingMandatoryParametersException; -use Symfony\Component\Routing\Exception\RouteNotFoundException; -use Symfony\Component\Routing\RequestContextAwareInterface; - -/** - * UrlGeneratorInterface is the interface that all URL generator classes must implement. - * - * The constants in this interface define the different types of resource references that - * are declared in RFC 3986: http://tools.ietf.org/html/rfc3986 - * We are using the term "URL" instead of "URI" as this is more common in web applications - * and we do not need to distinguish them as the difference is mostly semantical and - * less technical. Generating URIs, i.e. representation-independent resource identifiers, - * is also possible. - * - * @author Fabien Potencier - * @author Tobias Schultze - */ -interface UrlGeneratorInterface extends RequestContextAwareInterface -{ - /** - * Generates an absolute URL, e.g. "http://example.com/dir/file". - */ - const ABSOLUTE_URL = 0; - - /** - * Generates an absolute path, e.g. "/dir/file". - */ - const ABSOLUTE_PATH = 1; - - /** - * Generates a relative path based on the current request path, e.g. "../parent-file". - * - * @see UrlGenerator::getRelativePath() - */ - const RELATIVE_PATH = 2; - - /** - * Generates a network path, e.g. "//example.com/dir/file". - * Such reference reuses the current scheme but specifies the host. - */ - const NETWORK_PATH = 3; - - /** - * Generates a URL or path for a specific route based on the given parameters. - * - * Parameters that reference placeholders in the route pattern will substitute them in the - * path or host. Extra params are added as query string to the URL. - * - * When the passed reference type cannot be generated for the route because it requires a different - * host or scheme than the current one, the method will return a more comprehensive reference - * that includes the required params. For example, when you call this method with $referenceType = ABSOLUTE_PATH - * but the route requires the https scheme whereas the current scheme is http, it will instead return an - * ABSOLUTE_URL with the https scheme and the current host. This makes sure the generated URL matches - * the route in any case. - * - * If there is no route with the given name, the generator must throw the RouteNotFoundException. - * - * The special parameter _fragment will be used as the document fragment suffixed to the final URL. - * - * @param string $name The name of the route - * @param mixed[] $parameters An array of parameters - * @param int $referenceType The type of reference to be generated (one of the constants) - * - * @return string The generated URL - * - * @throws RouteNotFoundException If the named route doesn't exist - * @throws MissingMandatoryParametersException When some parameters are missing that are mandatory for the route - * @throws InvalidParameterException When a parameter value for a placeholder is not correct because - * it does not match the requirement - */ - public function generate($name, $parameters = [], $referenceType = self::ABSOLUTE_PATH); -} diff --git a/paragonik-backend/vendor/symfony/routing/LICENSE b/paragonik-backend/vendor/symfony/routing/LICENSE deleted file mode 100644 index a677f43..0000000 --- a/paragonik-backend/vendor/symfony/routing/LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 2004-2019 Fabien Potencier - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is furnished -to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/paragonik-backend/vendor/symfony/routing/Loader/AnnotationClassLoader.php b/paragonik-backend/vendor/symfony/routing/Loader/AnnotationClassLoader.php deleted file mode 100644 index 6390a79..0000000 --- a/paragonik-backend/vendor/symfony/routing/Loader/AnnotationClassLoader.php +++ /dev/null @@ -1,336 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Routing\Loader; - -use Doctrine\Common\Annotations\Reader; -use Symfony\Component\Config\Loader\LoaderInterface; -use Symfony\Component\Config\Loader\LoaderResolverInterface; -use Symfony\Component\Config\Resource\FileResource; -use Symfony\Component\Routing\Annotation\Route as RouteAnnotation; -use Symfony\Component\Routing\Route; -use Symfony\Component\Routing\RouteCollection; - -/** - * AnnotationClassLoader loads routing information from a PHP class and its methods. - * - * You need to define an implementation for the getRouteDefaults() method. Most of the - * time, this method should define some PHP callable to be called for the route - * (a controller in MVC speak). - * - * The @Route annotation can be set on the class (for global parameters), - * and on each method. - * - * The @Route annotation main value is the route path. The annotation also - * recognizes several parameters: requirements, options, defaults, schemes, - * methods, host, and name. The name parameter is mandatory. - * Here is an example of how you should be able to use it: - * /** - * * @Route("/Blog") - * * / - * class Blog - * { - * /** - * * @Route("/", name="blog_index") - * * / - * public function index() - * { - * } - * /** - * * @Route("/{id}", name="blog_post", requirements = {"id" = "\d+"}) - * * / - * public function show() - * { - * } - * } - * - * @author Fabien Potencier - */ -abstract class AnnotationClassLoader implements LoaderInterface -{ - protected $reader; - - /** - * @var string - */ - protected $routeAnnotationClass = 'Symfony\\Component\\Routing\\Annotation\\Route'; - - /** - * @var int - */ - protected $defaultRouteIndex = 0; - - public function __construct(Reader $reader) - { - $this->reader = $reader; - } - - /** - * Sets the annotation class to read route properties from. - * - * @param string $class A fully-qualified class name - */ - public function setRouteAnnotationClass($class) - { - $this->routeAnnotationClass = $class; - } - - /** - * Loads from annotations from a class. - * - * @param string $class A class name - * @param string|null $type The resource type - * - * @return RouteCollection A RouteCollection instance - * - * @throws \InvalidArgumentException When route can't be parsed - */ - public function load($class, $type = null) - { - if (!class_exists($class)) { - throw new \InvalidArgumentException(sprintf('Class "%s" does not exist.', $class)); - } - - $class = new \ReflectionClass($class); - if ($class->isAbstract()) { - throw new \InvalidArgumentException(sprintf('Annotations from class "%s" cannot be read as it is abstract.', $class->getName())); - } - - $globals = $this->getGlobals($class); - - $collection = new RouteCollection(); - $collection->addResource(new FileResource($class->getFileName())); - - foreach ($class->getMethods() as $method) { - $this->defaultRouteIndex = 0; - foreach ($this->reader->getMethodAnnotations($method) as $annot) { - if ($annot instanceof $this->routeAnnotationClass) { - $this->addRoute($collection, $annot, $globals, $class, $method); - } - } - } - - if (0 === $collection->count() && $class->hasMethod('__invoke')) { - $globals = $this->resetGlobals(); - foreach ($this->reader->getClassAnnotations($class) as $annot) { - if ($annot instanceof $this->routeAnnotationClass) { - $this->addRoute($collection, $annot, $globals, $class, $class->getMethod('__invoke')); - } - } - } - - return $collection; - } - - /** - * @param RouteAnnotation $annot or an object that exposes a similar interface - * @param array $globals - */ - protected function addRoute(RouteCollection $collection, $annot, $globals, \ReflectionClass $class, \ReflectionMethod $method) - { - $name = $annot->getName(); - if (null === $name) { - $name = $this->getDefaultRouteName($class, $method); - } - $name = $globals['name'].$name; - - $requirements = $annot->getRequirements(); - - foreach ($requirements as $placeholder => $requirement) { - if (\is_int($placeholder)) { - @trigger_error(sprintf('A placeholder name must be a string (%d given). Did you forget to specify the placeholder key for the requirement "%s" of route "%s" in "%s::%s()"?', $placeholder, $requirement, $name, $class->getName(), $method->getName()), E_USER_DEPRECATED); - } - } - - $defaults = array_replace($globals['defaults'], $annot->getDefaults()); - $requirements = array_replace($globals['requirements'], $requirements); - $options = array_replace($globals['options'], $annot->getOptions()); - $schemes = array_merge($globals['schemes'], $annot->getSchemes()); - $methods = array_merge($globals['methods'], $annot->getMethods()); - - $host = $annot->getHost(); - if (null === $host) { - $host = $globals['host']; - } - - $condition = $annot->getCondition(); - if (null === $condition) { - $condition = $globals['condition']; - } - - $path = $annot->getLocalizedPaths() ?: $annot->getPath(); - $prefix = $globals['localized_paths'] ?: $globals['path']; - $paths = []; - - if (\is_array($path)) { - if (!\is_array($prefix)) { - foreach ($path as $locale => $localePath) { - $paths[$locale] = $prefix.$localePath; - } - } elseif ($missing = array_diff_key($prefix, $path)) { - throw new \LogicException(sprintf('Route to "%s" is missing paths for locale(s) "%s".', $class->name.'::'.$method->name, implode('", "', array_keys($missing)))); - } else { - foreach ($path as $locale => $localePath) { - if (!isset($prefix[$locale])) { - throw new \LogicException(sprintf('Route to "%s" with locale "%s" is missing a corresponding prefix in class "%s".', $method->name, $locale, $class->name)); - } - - $paths[$locale] = $prefix[$locale].$localePath; - } - } - } elseif (\is_array($prefix)) { - foreach ($prefix as $locale => $localePrefix) { - $paths[$locale] = $localePrefix.$path; - } - } else { - $paths[] = $prefix.$path; - } - - foreach ($method->getParameters() as $param) { - if (isset($defaults[$param->name]) || !$param->isDefaultValueAvailable()) { - continue; - } - foreach ($paths as $locale => $path) { - if (preg_match(sprintf('/\{%s(?:<.*?>)?\}/', preg_quote($param->name)), $path)) { - $defaults[$param->name] = $param->getDefaultValue(); - break; - } - } - } - - foreach ($paths as $locale => $path) { - $route = $this->createRoute($path, $defaults, $requirements, $options, $host, $schemes, $methods, $condition); - $this->configureRoute($route, $class, $method, $annot); - if (0 !== $locale) { - $route->setDefault('_locale', $locale); - $route->setDefault('_canonical_route', $name); - $collection->add($name.'.'.$locale, $route); - } else { - $collection->add($name, $route); - } - } - } - - /** - * {@inheritdoc} - */ - public function supports($resource, $type = null) - { - return \is_string($resource) && preg_match('/^(?:\\\\?[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)+$/', $resource) && (!$type || 'annotation' === $type); - } - - /** - * {@inheritdoc} - */ - public function setResolver(LoaderResolverInterface $resolver) - { - } - - /** - * {@inheritdoc} - */ - public function getResolver() - { - } - - /** - * Gets the default route name for a class method. - * - * @return string - */ - protected function getDefaultRouteName(\ReflectionClass $class, \ReflectionMethod $method) - { - $name = str_replace('\\', '_', $class->name).'_'.$method->name; - $name = \function_exists('mb_strtolower') && preg_match('//u', $name) ? mb_strtolower($name, 'UTF-8') : strtolower($name); - if ($this->defaultRouteIndex > 0) { - $name .= '_'.$this->defaultRouteIndex; - } - ++$this->defaultRouteIndex; - - return $name; - } - - protected function getGlobals(\ReflectionClass $class) - { - $globals = $this->resetGlobals(); - - if ($annot = $this->reader->getClassAnnotation($class, $this->routeAnnotationClass)) { - if (null !== $annot->getName()) { - $globals['name'] = $annot->getName(); - } - - if (null !== $annot->getPath()) { - $globals['path'] = $annot->getPath(); - } - - $globals['localized_paths'] = $annot->getLocalizedPaths(); - - if (null !== $annot->getRequirements()) { - $globals['requirements'] = $annot->getRequirements(); - } - - if (null !== $annot->getOptions()) { - $globals['options'] = $annot->getOptions(); - } - - if (null !== $annot->getDefaults()) { - $globals['defaults'] = $annot->getDefaults(); - } - - if (null !== $annot->getSchemes()) { - $globals['schemes'] = $annot->getSchemes(); - } - - if (null !== $annot->getMethods()) { - $globals['methods'] = $annot->getMethods(); - } - - if (null !== $annot->getHost()) { - $globals['host'] = $annot->getHost(); - } - - if (null !== $annot->getCondition()) { - $globals['condition'] = $annot->getCondition(); - } - - foreach ($globals['requirements'] as $placeholder => $requirement) { - if (\is_int($placeholder)) { - @trigger_error(sprintf('A placeholder name must be a string (%d given). Did you forget to specify the placeholder key for the requirement "%s" in "%s"?', $placeholder, $requirement, $class->getName()), E_USER_DEPRECATED); - } - } - } - - return $globals; - } - - private function resetGlobals() - { - return [ - 'path' => null, - 'localized_paths' => [], - 'requirements' => [], - 'options' => [], - 'defaults' => [], - 'schemes' => [], - 'methods' => [], - 'host' => '', - 'condition' => '', - 'name' => '', - ]; - } - - protected function createRoute($path, $defaults, $requirements, $options, $host, $schemes, $methods, $condition) - { - return new Route($path, $defaults, $requirements, $options, $host, $schemes, $methods, $condition); - } - - abstract protected function configureRoute(Route $route, \ReflectionClass $class, \ReflectionMethod $method, $annot); -} diff --git a/paragonik-backend/vendor/symfony/routing/Loader/AnnotationDirectoryLoader.php b/paragonik-backend/vendor/symfony/routing/Loader/AnnotationDirectoryLoader.php deleted file mode 100644 index 3fb70ea..0000000 --- a/paragonik-backend/vendor/symfony/routing/Loader/AnnotationDirectoryLoader.php +++ /dev/null @@ -1,93 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Routing\Loader; - -use Symfony\Component\Config\Resource\DirectoryResource; -use Symfony\Component\Routing\RouteCollection; - -/** - * AnnotationDirectoryLoader loads routing information from annotations set - * on PHP classes and methods. - * - * @author Fabien Potencier - */ -class AnnotationDirectoryLoader extends AnnotationFileLoader -{ - /** - * Loads from annotations from a directory. - * - * @param string $path A directory path - * @param string|null $type The resource type - * - * @return RouteCollection A RouteCollection instance - * - * @throws \InvalidArgumentException When the directory does not exist or its routes cannot be parsed - */ - public function load($path, $type = null) - { - if (!is_dir($dir = $this->locator->locate($path))) { - return parent::supports($path, $type) ? parent::load($path, $type) : new RouteCollection(); - } - - $collection = new RouteCollection(); - $collection->addResource(new DirectoryResource($dir, '/\.php$/')); - $files = iterator_to_array(new \RecursiveIteratorIterator( - new \RecursiveCallbackFilterIterator( - new \RecursiveDirectoryIterator($dir, \FilesystemIterator::SKIP_DOTS | \FilesystemIterator::FOLLOW_SYMLINKS), - function (\SplFileInfo $current) { - return '.' !== substr($current->getBasename(), 0, 1); - } - ), - \RecursiveIteratorIterator::LEAVES_ONLY - )); - usort($files, function (\SplFileInfo $a, \SplFileInfo $b) { - return (string) $a > (string) $b ? 1 : -1; - }); - - foreach ($files as $file) { - if (!$file->isFile() || '.php' !== substr($file->getFilename(), -4)) { - continue; - } - - if ($class = $this->findClass($file)) { - $refl = new \ReflectionClass($class); - if ($refl->isAbstract()) { - continue; - } - - $collection->addCollection($this->loader->load($class, $type)); - } - } - - return $collection; - } - - /** - * {@inheritdoc} - */ - public function supports($resource, $type = null) - { - if ('annotation' === $type) { - return true; - } - - if ($type || !\is_string($resource)) { - return false; - } - - try { - return is_dir($this->locator->locate($resource)); - } catch (\Exception $e) { - return false; - } - } -} diff --git a/paragonik-backend/vendor/symfony/routing/Loader/AnnotationFileLoader.php b/paragonik-backend/vendor/symfony/routing/Loader/AnnotationFileLoader.php deleted file mode 100644 index eafd614..0000000 --- a/paragonik-backend/vendor/symfony/routing/Loader/AnnotationFileLoader.php +++ /dev/null @@ -1,145 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Routing\Loader; - -use Symfony\Component\Config\FileLocatorInterface; -use Symfony\Component\Config\Loader\FileLoader; -use Symfony\Component\Config\Resource\FileResource; -use Symfony\Component\Routing\RouteCollection; - -/** - * AnnotationFileLoader loads routing information from annotations set - * on a PHP class and its methods. - * - * @author Fabien Potencier - */ -class AnnotationFileLoader extends FileLoader -{ - protected $loader; - - /** - * @throws \RuntimeException - */ - public function __construct(FileLocatorInterface $locator, AnnotationClassLoader $loader) - { - if (!\function_exists('token_get_all')) { - throw new \LogicException('The Tokenizer extension is required for the routing annotation loaders.'); - } - - parent::__construct($locator); - - $this->loader = $loader; - } - - /** - * Loads from annotations from a file. - * - * @param string $file A PHP file path - * @param string|null $type The resource type - * - * @return RouteCollection|null A RouteCollection instance - * - * @throws \InvalidArgumentException When the file does not exist or its routes cannot be parsed - */ - public function load($file, $type = null) - { - $path = $this->locator->locate($file); - - $collection = new RouteCollection(); - if ($class = $this->findClass($path)) { - $refl = new \ReflectionClass($class); - if ($refl->isAbstract()) { - return null; - } - - $collection->addResource(new FileResource($path)); - $collection->addCollection($this->loader->load($class, $type)); - } - - gc_mem_caches(); - - return $collection; - } - - /** - * {@inheritdoc} - */ - public function supports($resource, $type = null) - { - return \is_string($resource) && 'php' === pathinfo($resource, PATHINFO_EXTENSION) && (!$type || 'annotation' === $type); - } - - /** - * Returns the full class name for the first class in the file. - * - * @param string $file A PHP file path - * - * @return string|false Full class name if found, false otherwise - */ - protected function findClass($file) - { - $class = false; - $namespace = false; - $tokens = token_get_all(file_get_contents($file)); - - if (1 === \count($tokens) && T_INLINE_HTML === $tokens[0][0]) { - throw new \InvalidArgumentException(sprintf('The file "%s" does not contain PHP code. Did you forgot to add the " 0; --$j) { - if (!isset($tokens[$j][1])) { - break; - } - - if (T_DOUBLE_COLON === $tokens[$j][0] || T_NEW === $tokens[$j][0]) { - $skipClassToken = true; - break; - } elseif (!\in_array($tokens[$j][0], [T_WHITESPACE, T_DOC_COMMENT, T_COMMENT])) { - break; - } - } - - if (!$skipClassToken) { - $class = true; - } - } - - if (T_NAMESPACE === $token[0]) { - $namespace = true; - } - } - - return false; - } -} diff --git a/paragonik-backend/vendor/symfony/routing/Loader/ClosureLoader.php b/paragonik-backend/vendor/symfony/routing/Loader/ClosureLoader.php deleted file mode 100644 index 5df9f6a..0000000 --- a/paragonik-backend/vendor/symfony/routing/Loader/ClosureLoader.php +++ /dev/null @@ -1,46 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Routing\Loader; - -use Symfony\Component\Config\Loader\Loader; -use Symfony\Component\Routing\RouteCollection; - -/** - * ClosureLoader loads routes from a PHP closure. - * - * The Closure must return a RouteCollection instance. - * - * @author Fabien Potencier - */ -class ClosureLoader extends Loader -{ - /** - * Loads a Closure. - * - * @param \Closure $closure A Closure - * @param string|null $type The resource type - * - * @return RouteCollection A RouteCollection instance - */ - public function load($closure, $type = null) - { - return $closure(); - } - - /** - * {@inheritdoc} - */ - public function supports($resource, $type = null) - { - return $resource instanceof \Closure && (!$type || 'closure' === $type); - } -} diff --git a/paragonik-backend/vendor/symfony/routing/Loader/Configurator/CollectionConfigurator.php b/paragonik-backend/vendor/symfony/routing/Loader/Configurator/CollectionConfigurator.php deleted file mode 100644 index 79c1100..0000000 --- a/paragonik-backend/vendor/symfony/routing/Loader/Configurator/CollectionConfigurator.php +++ /dev/null @@ -1,93 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Routing\Loader\Configurator; - -use Symfony\Component\Routing\Route; -use Symfony\Component\Routing\RouteCollection; - -/** - * @author Nicolas Grekas - */ -class CollectionConfigurator -{ - use Traits\AddTrait; - use Traits\RouteTrait; - - private $parent; - private $parentConfigurator; - private $parentPrefixes; - - public function __construct(RouteCollection $parent, string $name, self $parentConfigurator = null, array $parentPrefixes = null) - { - $this->parent = $parent; - $this->name = $name; - $this->collection = new RouteCollection(); - $this->route = new Route(''); - $this->parentConfigurator = $parentConfigurator; // for GC control - $this->parentPrefixes = $parentPrefixes; - } - - public function __destruct() - { - if (null === $this->prefixes) { - $this->collection->addPrefix($this->route->getPath()); - } - - $this->parent->addCollection($this->collection); - } - - /** - * Creates a sub-collection. - */ - final public function collection(string $name = ''): self - { - return new self($this->collection, $this->name.$name, $this, $this->prefixes); - } - - /** - * Sets the prefix to add to the path of all child routes. - * - * @param string|array $prefix the prefix, or the localized prefixes - * - * @return $this - */ - final public function prefix($prefix): self - { - if (\is_array($prefix)) { - if (null === $this->parentPrefixes) { - // no-op - } elseif ($missing = array_diff_key($this->parentPrefixes, $prefix)) { - throw new \LogicException(sprintf('Collection "%s" is missing prefixes for locale(s) "%s".', $this->name, implode('", "', array_keys($missing)))); - } else { - foreach ($prefix as $locale => $localePrefix) { - if (!isset($this->parentPrefixes[$locale])) { - throw new \LogicException(sprintf('Collection "%s" with locale "%s" is missing a corresponding prefix in its parent collection.', $this->name, $locale)); - } - - $prefix[$locale] = $this->parentPrefixes[$locale].$localePrefix; - } - } - $this->prefixes = $prefix; - $this->route->setPath('/'); - } else { - $this->prefixes = null; - $this->route->setPath($prefix); - } - - return $this; - } - - private function createRoute(string $path): Route - { - return (clone $this->route)->setPath($path); - } -} diff --git a/paragonik-backend/vendor/symfony/routing/Loader/Configurator/ImportConfigurator.php b/paragonik-backend/vendor/symfony/routing/Loader/Configurator/ImportConfigurator.php deleted file mode 100644 index f11b795..0000000 --- a/paragonik-backend/vendor/symfony/routing/Loader/Configurator/ImportConfigurator.php +++ /dev/null @@ -1,93 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Routing\Loader\Configurator; - -use Symfony\Component\Routing\Route; -use Symfony\Component\Routing\RouteCollection; - -/** - * @author Nicolas Grekas - */ -class ImportConfigurator -{ - use Traits\RouteTrait; - - private $parent; - - public function __construct(RouteCollection $parent, RouteCollection $route) - { - $this->parent = $parent; - $this->route = $route; - } - - public function __destruct() - { - $this->parent->addCollection($this->route); - } - - /** - * Sets the prefix to add to the path of all child routes. - * - * @param string|array $prefix the prefix, or the localized prefixes - * - * @return $this - */ - final public function prefix($prefix, bool $trailingSlashOnRoot = true): self - { - if (!\is_array($prefix)) { - $this->route->addPrefix($prefix); - if (!$trailingSlashOnRoot) { - $rootPath = (new Route(trim(trim($prefix), '/').'/'))->getPath(); - foreach ($this->route->all() as $route) { - if ($route->getPath() === $rootPath) { - $route->setPath(rtrim($rootPath, '/')); - } - } - } - } else { - foreach ($prefix as $locale => $localePrefix) { - $prefix[$locale] = trim(trim($localePrefix), '/'); - } - foreach ($this->route->all() as $name => $route) { - if (null === $locale = $route->getDefault('_locale')) { - $this->route->remove($name); - foreach ($prefix as $locale => $localePrefix) { - $localizedRoute = clone $route; - $localizedRoute->setDefault('_locale', $locale); - $localizedRoute->setDefault('_canonical_route', $name); - $localizedRoute->setPath($localePrefix.(!$trailingSlashOnRoot && '/' === $route->getPath() ? '' : $route->getPath())); - $this->route->add($name.'.'.$locale, $localizedRoute); - } - } elseif (!isset($prefix[$locale])) { - throw new \InvalidArgumentException(sprintf('Route "%s" with locale "%s" is missing a corresponding prefix in its parent collection.', $name, $locale)); - } else { - $route->setPath($prefix[$locale].(!$trailingSlashOnRoot && '/' === $route->getPath() ? '' : $route->getPath())); - $this->route->add($name, $route); - } - } - } - - return $this; - } - - /** - * Sets the prefix to add to the name of all child routes. - * - * @return $this - */ - final public function namePrefix(string $namePrefix): self - { - $this->route->addNamePrefix($namePrefix); - - return $this; - } -} diff --git a/paragonik-backend/vendor/symfony/routing/Loader/Configurator/RouteConfigurator.php b/paragonik-backend/vendor/symfony/routing/Loader/Configurator/RouteConfigurator.php deleted file mode 100644 index e700f8d..0000000 --- a/paragonik-backend/vendor/symfony/routing/Loader/Configurator/RouteConfigurator.php +++ /dev/null @@ -1,34 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Routing\Loader\Configurator; - -use Symfony\Component\Routing\RouteCollection; - -/** - * @author Nicolas Grekas - */ -class RouteConfigurator -{ - use Traits\AddTrait; - use Traits\RouteTrait; - - private $parentConfigurator; - - public function __construct(RouteCollection $collection, $route, string $name = '', CollectionConfigurator $parentConfigurator = null, array $prefixes = null) - { - $this->collection = $collection; - $this->route = $route; - $this->name = $name; - $this->parentConfigurator = $parentConfigurator; // for GC control - $this->prefixes = $prefixes; - } -} diff --git a/paragonik-backend/vendor/symfony/routing/Loader/Configurator/RoutingConfigurator.php b/paragonik-backend/vendor/symfony/routing/Loader/Configurator/RoutingConfigurator.php deleted file mode 100644 index 8ed06f3..0000000 --- a/paragonik-backend/vendor/symfony/routing/Loader/Configurator/RoutingConfigurator.php +++ /dev/null @@ -1,60 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Routing\Loader\Configurator; - -use Symfony\Component\Routing\Loader\PhpFileLoader; -use Symfony\Component\Routing\RouteCollection; - -/** - * @author Nicolas Grekas - */ -class RoutingConfigurator -{ - use Traits\AddTrait; - - private $loader; - private $path; - private $file; - - public function __construct(RouteCollection $collection, PhpFileLoader $loader, string $path, string $file) - { - $this->collection = $collection; - $this->loader = $loader; - $this->path = $path; - $this->file = $file; - } - - /** - * @param string|string[]|null $exclude Glob patterns to exclude from the import - */ - final public function import($resource, string $type = null, bool $ignoreErrors = false, $exclude = null): ImportConfigurator - { - $this->loader->setCurrentDir(\dirname($this->path)); - - $imported = $this->loader->import($resource, $type, $ignoreErrors, $this->file, $exclude) ?: []; - if (!\is_array($imported)) { - return new ImportConfigurator($this->collection, $imported); - } - - $mergedCollection = new RouteCollection(); - foreach ($imported as $subCollection) { - $mergedCollection->addCollection($subCollection); - } - - return new ImportConfigurator($this->collection, $mergedCollection); - } - - final public function collection(string $name = ''): CollectionConfigurator - { - return new CollectionConfigurator($this->collection, $name); - } -} diff --git a/paragonik-backend/vendor/symfony/routing/Loader/Configurator/Traits/AddTrait.php b/paragonik-backend/vendor/symfony/routing/Loader/Configurator/Traits/AddTrait.php deleted file mode 100644 index 085fde4..0000000 --- a/paragonik-backend/vendor/symfony/routing/Loader/Configurator/Traits/AddTrait.php +++ /dev/null @@ -1,90 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Routing\Loader\Configurator\Traits; - -use Symfony\Component\Routing\Loader\Configurator\CollectionConfigurator; -use Symfony\Component\Routing\Loader\Configurator\RouteConfigurator; -use Symfony\Component\Routing\Route; -use Symfony\Component\Routing\RouteCollection; - -trait AddTrait -{ - /** - * @var RouteCollection - */ - private $collection; - - private $name = ''; - - private $prefixes; - - /** - * Adds a route. - * - * @param string|array $path the path, or the localized paths of the route - */ - final public function add(string $name, $path): RouteConfigurator - { - $paths = []; - $parentConfigurator = $this instanceof CollectionConfigurator ? $this : ($this instanceof RouteConfigurator ? $this->parentConfigurator : null); - - if (\is_array($path)) { - if (null === $this->prefixes) { - $paths = $path; - } elseif ($missing = array_diff_key($this->prefixes, $path)) { - throw new \LogicException(sprintf('Route "%s" is missing routes for locale(s) "%s".', $name, implode('", "', array_keys($missing)))); - } else { - foreach ($path as $locale => $localePath) { - if (!isset($this->prefixes[$locale])) { - throw new \LogicException(sprintf('Route "%s" with locale "%s" is missing a corresponding prefix in its parent collection.', $name, $locale)); - } - - $paths[$locale] = $this->prefixes[$locale].$localePath; - } - } - } elseif (null !== $this->prefixes) { - foreach ($this->prefixes as $locale => $prefix) { - $paths[$locale] = $prefix.$path; - } - } else { - $this->collection->add($this->name.$name, $route = $this->createRoute($path)); - - return new RouteConfigurator($this->collection, $route, $this->name, $parentConfigurator, $this->prefixes); - } - - $routes = new RouteCollection(); - - foreach ($paths as $locale => $path) { - $routes->add($name.'.'.$locale, $route = $this->createRoute($path)); - $this->collection->add($this->name.$name.'.'.$locale, $route); - $route->setDefault('_locale', $locale); - $route->setDefault('_canonical_route', $this->name.$name); - } - - return new RouteConfigurator($this->collection, $routes, $this->name, $parentConfigurator, $this->prefixes); - } - - /** - * Adds a route. - * - * @param string|array $path the path, or the localized paths of the route - */ - final public function __invoke(string $name, $path): RouteConfigurator - { - return $this->add($name, $path); - } - - private function createRoute(string $path): Route - { - return new Route($path); - } -} diff --git a/paragonik-backend/vendor/symfony/routing/Loader/Configurator/Traits/RouteTrait.php b/paragonik-backend/vendor/symfony/routing/Loader/Configurator/Traits/RouteTrait.php deleted file mode 100644 index 04009cd..0000000 --- a/paragonik-backend/vendor/symfony/routing/Loader/Configurator/Traits/RouteTrait.php +++ /dev/null @@ -1,163 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Routing\Loader\Configurator\Traits; - -use Symfony\Component\Routing\Route; -use Symfony\Component\Routing\RouteCollection; - -trait RouteTrait -{ - /** - * @var RouteCollection|Route - */ - private $route; - - /** - * Adds defaults. - * - * @return $this - */ - final public function defaults(array $defaults): self - { - $this->route->addDefaults($defaults); - - return $this; - } - - /** - * Adds requirements. - * - * @return $this - */ - final public function requirements(array $requirements): self - { - $this->route->addRequirements($requirements); - - return $this; - } - - /** - * Adds options. - * - * @return $this - */ - final public function options(array $options): self - { - $this->route->addOptions($options); - - return $this; - } - - /** - * Whether paths should accept utf8 encoding. - * - * @return $this - */ - final public function utf8(bool $utf8 = true): self - { - $this->route->addOptions(['utf8' => $utf8]); - - return $this; - } - - /** - * Sets the condition. - * - * @return $this - */ - final public function condition(string $condition): self - { - $this->route->setCondition($condition); - - return $this; - } - - /** - * Sets the pattern for the host. - * - * @return $this - */ - final public function host(string $pattern): self - { - $this->route->setHost($pattern); - - return $this; - } - - /** - * Sets the schemes (e.g. 'https') this route is restricted to. - * So an empty array means that any scheme is allowed. - * - * @param string[] $schemes - * - * @return $this - */ - final public function schemes(array $schemes): self - { - $this->route->setSchemes($schemes); - - return $this; - } - - /** - * Sets the HTTP methods (e.g. 'POST') this route is restricted to. - * So an empty array means that any method is allowed. - * - * @param string[] $methods - * - * @return $this - */ - final public function methods(array $methods): self - { - $this->route->setMethods($methods); - - return $this; - } - - /** - * Adds the "_controller" entry to defaults. - * - * @param callable|string $controller a callable or parseable pseudo-callable - * - * @return $this - */ - final public function controller($controller): self - { - $this->route->addDefaults(['_controller' => $controller]); - - return $this; - } - - /** - * Adds the "_locale" entry to defaults. - * - * @return $this - */ - final public function locale(string $locale): self - { - $this->route->addDefaults(['_locale' => $locale]); - - return $this; - } - - /** - * Adds the "_format" entry to defaults. - * - * @return $this - */ - final public function format(string $format): self - { - $this->route->addDefaults(['_format' => $format]); - - return $this; - } -} diff --git a/paragonik-backend/vendor/symfony/routing/Loader/ContainerLoader.php b/paragonik-backend/vendor/symfony/routing/Loader/ContainerLoader.php deleted file mode 100644 index 948da7b..0000000 --- a/paragonik-backend/vendor/symfony/routing/Loader/ContainerLoader.php +++ /dev/null @@ -1,45 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Routing\Loader; - -use Psr\Container\ContainerInterface; - -/** - * A route loader that executes a service from a PSR-11 container to load the routes. - * - * @author Ryan Weaver - */ -class ContainerLoader extends ObjectLoader -{ - private $container; - - public function __construct(ContainerInterface $container) - { - $this->container = $container; - } - - /** - * {@inheritdoc} - */ - public function supports($resource, $type = null) - { - return 'service' === $type; - } - - /** - * {@inheritdoc} - */ - protected function getObject(string $id) - { - return $this->container->get($id); - } -} diff --git a/paragonik-backend/vendor/symfony/routing/Loader/DependencyInjection/ServiceRouterLoader.php b/paragonik-backend/vendor/symfony/routing/Loader/DependencyInjection/ServiceRouterLoader.php deleted file mode 100644 index a04a19c..0000000 --- a/paragonik-backend/vendor/symfony/routing/Loader/DependencyInjection/ServiceRouterLoader.php +++ /dev/null @@ -1,43 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Routing\Loader\DependencyInjection; - -use Psr\Container\ContainerInterface; -use Symfony\Component\Routing\Loader\ContainerLoader; -use Symfony\Component\Routing\Loader\ObjectRouteLoader; - -@trigger_error(sprintf('The "%s" class is deprecated since Symfony 4.4, use "%s" instead.', ServiceRouterLoader::class, ContainerLoader::class), E_USER_DEPRECATED); - -/** - * A route loader that executes a service to load the routes. - * - * @author Ryan Weaver - * - * @deprecated since Symfony 4.4, use Symfony\Component\Routing\Loader\ContainerLoader instead. - */ -class ServiceRouterLoader extends ObjectRouteLoader -{ - /** - * @var ContainerInterface - */ - private $container; - - public function __construct(ContainerInterface $container) - { - $this->container = $container; - } - - protected function getServiceObject($id) - { - return $this->container->get($id); - } -} diff --git a/paragonik-backend/vendor/symfony/routing/Loader/DirectoryLoader.php b/paragonik-backend/vendor/symfony/routing/Loader/DirectoryLoader.php deleted file mode 100644 index 08e833e..0000000 --- a/paragonik-backend/vendor/symfony/routing/Loader/DirectoryLoader.php +++ /dev/null @@ -1,58 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Routing\Loader; - -use Symfony\Component\Config\Loader\FileLoader; -use Symfony\Component\Config\Resource\DirectoryResource; -use Symfony\Component\Routing\RouteCollection; - -class DirectoryLoader extends FileLoader -{ - /** - * {@inheritdoc} - */ - public function load($file, $type = null) - { - $path = $this->locator->locate($file); - - $collection = new RouteCollection(); - $collection->addResource(new DirectoryResource($path)); - - foreach (scandir($path) as $dir) { - if ('.' !== $dir[0]) { - $this->setCurrentDir($path); - $subPath = $path.'/'.$dir; - $subType = null; - - if (is_dir($subPath)) { - $subPath .= '/'; - $subType = 'directory'; - } - - $subCollection = $this->import($subPath, $subType, false, $path); - $collection->addCollection($subCollection); - } - } - - return $collection; - } - - /** - * {@inheritdoc} - */ - public function supports($resource, $type = null) - { - // only when type is forced to directory, not to conflict with AnnotationLoader - - return 'directory' === $type; - } -} diff --git a/paragonik-backend/vendor/symfony/routing/Loader/GlobFileLoader.php b/paragonik-backend/vendor/symfony/routing/Loader/GlobFileLoader.php deleted file mode 100644 index 03ee341..0000000 --- a/paragonik-backend/vendor/symfony/routing/Loader/GlobFileLoader.php +++ /dev/null @@ -1,47 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Routing\Loader; - -use Symfony\Component\Config\Loader\FileLoader; -use Symfony\Component\Routing\RouteCollection; - -/** - * GlobFileLoader loads files from a glob pattern. - * - * @author Nicolas Grekas - */ -class GlobFileLoader extends FileLoader -{ - /** - * {@inheritdoc} - */ - public function load($resource, $type = null) - { - $collection = new RouteCollection(); - - foreach ($this->glob($resource, false, $globResource) as $path => $info) { - $collection->addCollection($this->import($path)); - } - - $collection->addResource($globResource); - - return $collection; - } - - /** - * {@inheritdoc} - */ - public function supports($resource, $type = null) - { - return 'glob' === $type; - } -} diff --git a/paragonik-backend/vendor/symfony/routing/Loader/ObjectLoader.php b/paragonik-backend/vendor/symfony/routing/Loader/ObjectLoader.php deleted file mode 100644 index 16dd6c9..0000000 --- a/paragonik-backend/vendor/symfony/routing/Loader/ObjectLoader.php +++ /dev/null @@ -1,89 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Routing\Loader; - -use Symfony\Component\Config\Loader\Loader; -use Symfony\Component\Config\Resource\FileResource; -use Symfony\Component\Routing\RouteCollection; - -/** - * A route loader that calls a method on an object to load the routes. - * - * @author Ryan Weaver - */ -abstract class ObjectLoader extends Loader -{ - /** - * Returns the object that the method will be called on to load routes. - * - * For example, if your application uses a service container, - * the $id may be a service id. - * - * @return object - */ - abstract protected function getObject(string $id); - - /** - * Calls the object method that will load the routes. - * - * @param string $resource object_id::method - * @param string|null $type The resource type - * - * @return RouteCollection - */ - public function load($resource, $type = null) - { - if (!preg_match('/^[^\:]+(?:::?(?:[^\:]+))?$/', $resource)) { - throw new \InvalidArgumentException(sprintf('Invalid resource "%s" passed to the %s route loader: use the format "object_id::method" or "object_id" if your object class has an "__invoke" method.', $resource, \is_string($type) ? '"'.$type.'"' : 'object')); - } - - if (1 === substr_count($resource, ':')) { - $resource = str_replace(':', '::', $resource); - @trigger_error(sprintf('Referencing object route loaders with a single colon is deprecated since Symfony 4.1. Use %s instead.', $resource), E_USER_DEPRECATED); - } - - $parts = explode('::', $resource); - $method = $parts[1] ?? '__invoke'; - - $loaderObject = $this->getObject($parts[0]); - - if (!\is_object($loaderObject)) { - throw new \TypeError(sprintf('%s:getObject() must return an object: %s returned', \get_class($this), \gettype($loaderObject))); - } - - if (!\is_callable([$loaderObject, $method])) { - throw new \BadMethodCallException(sprintf('Method "%s" not found on "%s" when importing routing resource "%s"', $method, \get_class($loaderObject), $resource)); - } - - $routeCollection = $loaderObject->$method($this); - - if (!$routeCollection instanceof RouteCollection) { - $type = \is_object($routeCollection) ? \get_class($routeCollection) : \gettype($routeCollection); - - throw new \LogicException(sprintf('The %s::%s method must return a RouteCollection: %s returned', \get_class($loaderObject), $method, $type)); - } - - // make the object file tracked so that if it changes, the cache rebuilds - $this->addClassResource(new \ReflectionClass($loaderObject), $routeCollection); - - return $routeCollection; - } - - private function addClassResource(\ReflectionClass $class, RouteCollection $collection) - { - do { - if (is_file($class->getFileName())) { - $collection->addResource(new FileResource($class->getFileName())); - } - } while ($class = $class->getParentClass()); - } -} diff --git a/paragonik-backend/vendor/symfony/routing/Loader/ObjectRouteLoader.php b/paragonik-backend/vendor/symfony/routing/Loader/ObjectRouteLoader.php deleted file mode 100644 index 39833d9..0000000 --- a/paragonik-backend/vendor/symfony/routing/Loader/ObjectRouteLoader.php +++ /dev/null @@ -1,52 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Routing\Loader; - -@trigger_error(sprintf('The "%s" class is deprecated since Symfony 4.4, use "%s" instead.', ObjectRouteLoader::class, ObjectLoader::class), E_USER_DEPRECATED); - -/** - * A route loader that calls a method on an object to load the routes. - * - * @author Ryan Weaver - * - * @deprecated since Symfony 4.4, use ObjectLoader instead. - */ -abstract class ObjectRouteLoader extends ObjectLoader -{ - /** - * Returns the object that the method will be called on to load routes. - * - * For example, if your application uses a service container, - * the $id may be a service id. - * - * @param string $id - * - * @return object - */ - abstract protected function getServiceObject($id); - - /** - * {@inheritdoc} - */ - public function supports($resource, $type = null) - { - return 'service' === $type; - } - - /** - * {@inheritdoc} - */ - protected function getObject(string $id) - { - return $this->getServiceObject($id); - } -} diff --git a/paragonik-backend/vendor/symfony/routing/Loader/PhpFileLoader.php b/paragonik-backend/vendor/symfony/routing/Loader/PhpFileLoader.php deleted file mode 100644 index a5cf951..0000000 --- a/paragonik-backend/vendor/symfony/routing/Loader/PhpFileLoader.php +++ /dev/null @@ -1,75 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Routing\Loader; - -use Symfony\Component\Config\Loader\FileLoader; -use Symfony\Component\Config\Resource\FileResource; -use Symfony\Component\Routing\Loader\Configurator\RoutingConfigurator; -use Symfony\Component\Routing\RouteCollection; - -/** - * PhpFileLoader loads routes from a PHP file. - * - * The file must return a RouteCollection instance. - * - * @author Fabien Potencier - */ -class PhpFileLoader extends FileLoader -{ - /** - * Loads a PHP file. - * - * @param string $file A PHP file path - * @param string|null $type The resource type - * - * @return RouteCollection A RouteCollection instance - */ - public function load($file, $type = null) - { - $path = $this->locator->locate($file); - $this->setCurrentDir(\dirname($path)); - - // the closure forbids access to the private scope in the included file - $loader = $this; - $load = \Closure::bind(static function ($file) use ($loader) { - return include $file; - }, null, ProtectedPhpFileLoader::class); - - $result = $load($path); - - if (\is_object($result) && \is_callable($result)) { - $collection = new RouteCollection(); - $result(new RoutingConfigurator($collection, $this, $path, $file)); - } else { - $collection = $result; - } - - $collection->addResource(new FileResource($path)); - - return $collection; - } - - /** - * {@inheritdoc} - */ - public function supports($resource, $type = null) - { - return \is_string($resource) && 'php' === pathinfo($resource, PATHINFO_EXTENSION) && (!$type || 'php' === $type); - } -} - -/** - * @internal - */ -final class ProtectedPhpFileLoader extends PhpFileLoader -{ -} diff --git a/paragonik-backend/vendor/symfony/routing/Loader/XmlFileLoader.php b/paragonik-backend/vendor/symfony/routing/Loader/XmlFileLoader.php deleted file mode 100644 index dc208f2..0000000 --- a/paragonik-backend/vendor/symfony/routing/Loader/XmlFileLoader.php +++ /dev/null @@ -1,436 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Routing\Loader; - -use Symfony\Component\Config\Loader\FileLoader; -use Symfony\Component\Config\Resource\FileResource; -use Symfony\Component\Config\Util\XmlUtils; -use Symfony\Component\Routing\Route; -use Symfony\Component\Routing\RouteCollection; - -/** - * XmlFileLoader loads XML routing files. - * - * @author Fabien Potencier - * @author Tobias Schultze - */ -class XmlFileLoader extends FileLoader -{ - const NAMESPACE_URI = 'http://symfony.com/schema/routing'; - const SCHEME_PATH = '/schema/routing/routing-1.0.xsd'; - - /** - * Loads an XML file. - * - * @param string $file An XML file path - * @param string|null $type The resource type - * - * @return RouteCollection A RouteCollection instance - * - * @throws \InvalidArgumentException when the file cannot be loaded or when the XML cannot be - * parsed because it does not validate against the scheme - */ - public function load($file, $type = null) - { - $path = $this->locator->locate($file); - - $xml = $this->loadFile($path); - - $collection = new RouteCollection(); - $collection->addResource(new FileResource($path)); - - // process routes and imports - foreach ($xml->documentElement->childNodes as $node) { - if (!$node instanceof \DOMElement) { - continue; - } - - $this->parseNode($collection, $node, $path, $file); - } - - return $collection; - } - - /** - * Parses a node from a loaded XML file. - * - * @param \DOMElement $node Element to parse - * @param string $path Full path of the XML file being processed - * @param string $file Loaded file name - * - * @throws \InvalidArgumentException When the XML is invalid - */ - protected function parseNode(RouteCollection $collection, \DOMElement $node, $path, $file) - { - if (self::NAMESPACE_URI !== $node->namespaceURI) { - return; - } - - switch ($node->localName) { - case 'route': - $this->parseRoute($collection, $node, $path); - break; - case 'import': - $this->parseImport($collection, $node, $path, $file); - break; - default: - throw new \InvalidArgumentException(sprintf('Unknown tag "%s" used in file "%s". Expected "route" or "import".', $node->localName, $path)); - } - } - - /** - * {@inheritdoc} - */ - public function supports($resource, $type = null) - { - return \is_string($resource) && 'xml' === pathinfo($resource, PATHINFO_EXTENSION) && (!$type || 'xml' === $type); - } - - /** - * Parses a route and adds it to the RouteCollection. - * - * @param \DOMElement $node Element to parse that represents a Route - * @param string $path Full path of the XML file being processed - * - * @throws \InvalidArgumentException When the XML is invalid - */ - protected function parseRoute(RouteCollection $collection, \DOMElement $node, $path) - { - if ('' === $id = $node->getAttribute('id')) { - throw new \InvalidArgumentException(sprintf('The element in file "%s" must have an "id" attribute.', $path)); - } - - $schemes = preg_split('/[\s,\|]++/', $node->getAttribute('schemes'), -1, PREG_SPLIT_NO_EMPTY); - $methods = preg_split('/[\s,\|]++/', $node->getAttribute('methods'), -1, PREG_SPLIT_NO_EMPTY); - - list($defaults, $requirements, $options, $condition, $paths) = $this->parseConfigs($node, $path); - - if (!$paths && '' === $node->getAttribute('path')) { - throw new \InvalidArgumentException(sprintf('The element in file "%s" must have a "path" attribute or child nodes.', $path)); - } - - if ($paths && '' !== $node->getAttribute('path')) { - throw new \InvalidArgumentException(sprintf('The element in file "%s" must not have both a "path" attribute and child nodes.', $path)); - } - - if (!$paths) { - $route = new Route($node->getAttribute('path'), $defaults, $requirements, $options, $node->getAttribute('host'), $schemes, $methods, $condition); - $collection->add($id, $route); - } else { - foreach ($paths as $locale => $p) { - $defaults['_locale'] = $locale; - $defaults['_canonical_route'] = $id; - $route = new Route($p, $defaults, $requirements, $options, $node->getAttribute('host'), $schemes, $methods, $condition); - $collection->add($id.'.'.$locale, $route); - } - } - } - - /** - * Parses an import and adds the routes in the resource to the RouteCollection. - * - * @param \DOMElement $node Element to parse that represents a Route - * @param string $path Full path of the XML file being processed - * @param string $file Loaded file name - * - * @throws \InvalidArgumentException When the XML is invalid - */ - protected function parseImport(RouteCollection $collection, \DOMElement $node, $path, $file) - { - if ('' === $resource = $node->getAttribute('resource')) { - throw new \InvalidArgumentException(sprintf('The element in file "%s" must have a "resource" attribute.', $path)); - } - - $type = $node->getAttribute('type'); - $prefix = $node->getAttribute('prefix'); - $host = $node->hasAttribute('host') ? $node->getAttribute('host') : null; - $schemes = $node->hasAttribute('schemes') ? preg_split('/[\s,\|]++/', $node->getAttribute('schemes'), -1, PREG_SPLIT_NO_EMPTY) : null; - $methods = $node->hasAttribute('methods') ? preg_split('/[\s,\|]++/', $node->getAttribute('methods'), -1, PREG_SPLIT_NO_EMPTY) : null; - $trailingSlashOnRoot = $node->hasAttribute('trailing-slash-on-root') ? XmlUtils::phpize($node->getAttribute('trailing-slash-on-root')) : true; - - list($defaults, $requirements, $options, $condition, /* $paths */, $prefixes) = $this->parseConfigs($node, $path); - - if ('' !== $prefix && $prefixes) { - throw new \InvalidArgumentException(sprintf('The element in file "%s" must not have both a "prefix" attribute and child nodes.', $path)); - } - - $exclude = []; - foreach ($node->childNodes as $child) { - if ($child instanceof \DOMElement && $child->localName === $exclude && self::NAMESPACE_URI === $child->namespaceURI) { - $exclude[] = $child->nodeValue; - } - } - - if ($node->hasAttribute('exclude')) { - if ($exclude) { - throw new \InvalidArgumentException('You cannot use both the attribute "exclude" and tags at the same time.'); - } - $exclude = [$node->getAttribute('exclude')]; - } - - $this->setCurrentDir(\dirname($path)); - - /** @var RouteCollection[] $imported */ - $imported = $this->import($resource, ('' !== $type ? $type : null), false, $file, $exclude) ?: []; - - if (!\is_array($imported)) { - $imported = [$imported]; - } - - foreach ($imported as $subCollection) { - /* @var $subCollection RouteCollection */ - if ('' !== $prefix || !$prefixes) { - $subCollection->addPrefix($prefix); - if (!$trailingSlashOnRoot) { - $rootPath = (new Route(trim(trim($prefix), '/').'/'))->getPath(); - foreach ($subCollection->all() as $route) { - if ($route->getPath() === $rootPath) { - $route->setPath(rtrim($rootPath, '/')); - } - } - } - } else { - foreach ($prefixes as $locale => $localePrefix) { - $prefixes[$locale] = trim(trim($localePrefix), '/'); - } - foreach ($subCollection->all() as $name => $route) { - if (null === $locale = $route->getDefault('_locale')) { - $subCollection->remove($name); - foreach ($prefixes as $locale => $localePrefix) { - $localizedRoute = clone $route; - $localizedRoute->setPath($localePrefix.(!$trailingSlashOnRoot && '/' === $route->getPath() ? '' : $route->getPath())); - $localizedRoute->setDefault('_locale', $locale); - $localizedRoute->setDefault('_canonical_route', $name); - $subCollection->add($name.'.'.$locale, $localizedRoute); - } - } elseif (!isset($prefixes[$locale])) { - throw new \InvalidArgumentException(sprintf('Route "%s" with locale "%s" is missing a corresponding prefix when imported in "%s".', $name, $locale, $path)); - } else { - $route->setPath($prefixes[$locale].(!$trailingSlashOnRoot && '/' === $route->getPath() ? '' : $route->getPath())); - $subCollection->add($name, $route); - } - } - } - - if (null !== $host) { - $subCollection->setHost($host); - } - if (null !== $condition) { - $subCollection->setCondition($condition); - } - if (null !== $schemes) { - $subCollection->setSchemes($schemes); - } - if (null !== $methods) { - $subCollection->setMethods($methods); - } - $subCollection->addDefaults($defaults); - $subCollection->addRequirements($requirements); - $subCollection->addOptions($options); - - if ($namePrefix = $node->getAttribute('name-prefix')) { - $subCollection->addNamePrefix($namePrefix); - } - - $collection->addCollection($subCollection); - } - } - - /** - * Loads an XML file. - * - * @param string $file An XML file path - * - * @return \DOMDocument - * - * @throws \InvalidArgumentException When loading of XML file fails because of syntax errors - * or when the XML structure is not as expected by the scheme - - * see validate() - */ - protected function loadFile($file) - { - return XmlUtils::loadFile($file, __DIR__.static::SCHEME_PATH); - } - - /** - * Parses the config elements (default, requirement, option). - * - * @throws \InvalidArgumentException When the XML is invalid - */ - private function parseConfigs(\DOMElement $node, string $path): array - { - $defaults = []; - $requirements = []; - $options = []; - $condition = null; - $prefixes = []; - $paths = []; - - /** @var \DOMElement $n */ - foreach ($node->getElementsByTagNameNS(self::NAMESPACE_URI, '*') as $n) { - if ($node !== $n->parentNode) { - continue; - } - - switch ($n->localName) { - case 'path': - $paths[$n->getAttribute('locale')] = trim($n->textContent); - break; - case 'prefix': - $prefixes[$n->getAttribute('locale')] = trim($n->textContent); - break; - case 'default': - if ($this->isElementValueNull($n)) { - $defaults[$n->getAttribute('key')] = null; - } else { - $defaults[$n->getAttribute('key')] = $this->parseDefaultsConfig($n, $path); - } - - break; - case 'requirement': - $requirements[$n->getAttribute('key')] = trim($n->textContent); - break; - case 'option': - $options[$n->getAttribute('key')] = XmlUtils::phpize(trim($n->textContent)); - break; - case 'condition': - $condition = trim($n->textContent); - break; - default: - throw new \InvalidArgumentException(sprintf('Unknown tag "%s" used in file "%s". Expected "default", "requirement", "option" or "condition".', $n->localName, $path)); - } - } - - if ($controller = $node->getAttribute('controller')) { - if (isset($defaults['_controller'])) { - $name = $node->hasAttribute('id') ? sprintf('"%s"', $node->getAttribute('id')) : sprintf('the "%s" tag', $node->tagName); - - throw new \InvalidArgumentException(sprintf('The routing file "%s" must not specify both the "controller" attribute and the defaults key "_controller" for %s.', $path, $name)); - } - - $defaults['_controller'] = $controller; - } - if ($node->hasAttribute('locale')) { - $defaults['_locale'] = $node->getAttribute('locale'); - } - if ($node->hasAttribute('format')) { - $defaults['_format'] = $node->getAttribute('format'); - } - if ($node->hasAttribute('utf8')) { - $options['utf8'] = XmlUtils::phpize($node->getAttribute('utf8')); - } - - return [$defaults, $requirements, $options, $condition, $paths, $prefixes]; - } - - /** - * Parses the "default" elements. - * - * @return array|bool|float|int|string|null The parsed value of the "default" element - */ - private function parseDefaultsConfig(\DOMElement $element, string $path) - { - if ($this->isElementValueNull($element)) { - return null; - } - - // Check for existing element nodes in the default element. There can - // only be a single element inside a default element. So this element - // (if one was found) can safely be returned. - foreach ($element->childNodes as $child) { - if (!$child instanceof \DOMElement) { - continue; - } - - if (self::NAMESPACE_URI !== $child->namespaceURI) { - continue; - } - - return $this->parseDefaultNode($child, $path); - } - - // If the default element doesn't contain a nested "bool", "int", "float", - // "string", "list", or "map" element, the element contents will be treated - // as the string value of the associated default option. - return trim($element->textContent); - } - - /** - * Recursively parses the value of a "default" element. - * - * @return array|bool|float|int|string The parsed value - * - * @throws \InvalidArgumentException when the XML is invalid - */ - private function parseDefaultNode(\DOMElement $node, string $path) - { - if ($this->isElementValueNull($node)) { - return null; - } - - switch ($node->localName) { - case 'bool': - return 'true' === trim($node->nodeValue) || '1' === trim($node->nodeValue); - case 'int': - return (int) trim($node->nodeValue); - case 'float': - return (float) trim($node->nodeValue); - case 'string': - return trim($node->nodeValue); - case 'list': - $list = []; - - foreach ($node->childNodes as $element) { - if (!$element instanceof \DOMElement) { - continue; - } - - if (self::NAMESPACE_URI !== $element->namespaceURI) { - continue; - } - - $list[] = $this->parseDefaultNode($element, $path); - } - - return $list; - case 'map': - $map = []; - - foreach ($node->childNodes as $element) { - if (!$element instanceof \DOMElement) { - continue; - } - - if (self::NAMESPACE_URI !== $element->namespaceURI) { - continue; - } - - $map[$element->getAttribute('key')] = $this->parseDefaultNode($element, $path); - } - - return $map; - default: - throw new \InvalidArgumentException(sprintf('Unknown tag "%s" used in file "%s". Expected "bool", "int", "float", "string", "list", or "map".', $node->localName, $path)); - } - } - - private function isElementValueNull(\DOMElement $element): bool - { - $namespaceUri = 'http://www.w3.org/2001/XMLSchema-instance'; - - if (!$element->hasAttributeNS($namespaceUri, 'nil')) { - return false; - } - - return 'true' === $element->getAttributeNS($namespaceUri, 'nil') || '1' === $element->getAttributeNS($namespaceUri, 'nil'); - } -} diff --git a/paragonik-backend/vendor/symfony/routing/Loader/YamlFileLoader.php b/paragonik-backend/vendor/symfony/routing/Loader/YamlFileLoader.php deleted file mode 100644 index 0de36c9..0000000 --- a/paragonik-backend/vendor/symfony/routing/Loader/YamlFileLoader.php +++ /dev/null @@ -1,285 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Routing\Loader; - -use Symfony\Component\Config\Loader\FileLoader; -use Symfony\Component\Config\Resource\FileResource; -use Symfony\Component\Routing\Route; -use Symfony\Component\Routing\RouteCollection; -use Symfony\Component\Yaml\Exception\ParseException; -use Symfony\Component\Yaml\Parser as YamlParser; -use Symfony\Component\Yaml\Yaml; - -/** - * YamlFileLoader loads Yaml routing files. - * - * @author Fabien Potencier - * @author Tobias Schultze - */ -class YamlFileLoader extends FileLoader -{ - private static $availableKeys = [ - 'resource', 'type', 'prefix', 'path', 'host', 'schemes', 'methods', 'defaults', 'requirements', 'options', 'condition', 'controller', 'name_prefix', 'trailing_slash_on_root', 'locale', 'format', 'utf8', 'exclude', - ]; - private $yamlParser; - - /** - * Loads a Yaml file. - * - * @param string $file A Yaml file path - * @param string|null $type The resource type - * - * @return RouteCollection A RouteCollection instance - * - * @throws \InvalidArgumentException When a route can't be parsed because YAML is invalid - */ - public function load($file, $type = null) - { - $path = $this->locator->locate($file); - - if (!stream_is_local($path)) { - throw new \InvalidArgumentException(sprintf('This is not a local file "%s".', $path)); - } - - if (!file_exists($path)) { - throw new \InvalidArgumentException(sprintf('File "%s" not found.', $path)); - } - - if (null === $this->yamlParser) { - $this->yamlParser = new YamlParser(); - } - - try { - $parsedConfig = $this->yamlParser->parseFile($path, Yaml::PARSE_CONSTANT); - } catch (ParseException $e) { - throw new \InvalidArgumentException(sprintf('The file "%s" does not contain valid YAML.', $path), 0, $e); - } - - $collection = new RouteCollection(); - $collection->addResource(new FileResource($path)); - - // empty file - if (null === $parsedConfig) { - return $collection; - } - - // not an array - if (!\is_array($parsedConfig)) { - throw new \InvalidArgumentException(sprintf('The file "%s" must contain a YAML array.', $path)); - } - - foreach ($parsedConfig as $name => $config) { - $this->validate($config, $name, $path); - - if (isset($config['resource'])) { - $this->parseImport($collection, $config, $path, $file); - } else { - $this->parseRoute($collection, $name, $config, $path); - } - } - - return $collection; - } - - /** - * {@inheritdoc} - */ - public function supports($resource, $type = null) - { - return \is_string($resource) && \in_array(pathinfo($resource, PATHINFO_EXTENSION), ['yml', 'yaml'], true) && (!$type || 'yaml' === $type); - } - - /** - * Parses a route and adds it to the RouteCollection. - * - * @param string $name Route name - * @param array $config Route definition - * @param string $path Full path of the YAML file being processed - */ - protected function parseRoute(RouteCollection $collection, $name, array $config, $path) - { - $defaults = isset($config['defaults']) ? $config['defaults'] : []; - $requirements = isset($config['requirements']) ? $config['requirements'] : []; - $options = isset($config['options']) ? $config['options'] : []; - $host = isset($config['host']) ? $config['host'] : ''; - $schemes = isset($config['schemes']) ? $config['schemes'] : []; - $methods = isset($config['methods']) ? $config['methods'] : []; - $condition = isset($config['condition']) ? $config['condition'] : null; - - foreach ($requirements as $placeholder => $requirement) { - if (\is_int($placeholder)) { - @trigger_error(sprintf('A placeholder name must be a string (%d given). Did you forget to specify the placeholder key for the requirement "%s" of route "%s" in "%s"?', $placeholder, $requirement, $name, $path), E_USER_DEPRECATED); - } - } - - if (isset($config['controller'])) { - $defaults['_controller'] = $config['controller']; - } - if (isset($config['locale'])) { - $defaults['_locale'] = $config['locale']; - } - if (isset($config['format'])) { - $defaults['_format'] = $config['format']; - } - if (isset($config['utf8'])) { - $options['utf8'] = $config['utf8']; - } - - if (\is_array($config['path'])) { - $route = new Route('', $defaults, $requirements, $options, $host, $schemes, $methods, $condition); - - foreach ($config['path'] as $locale => $path) { - $localizedRoute = clone $route; - $localizedRoute->setDefault('_locale', $locale); - $localizedRoute->setDefault('_canonical_route', $name); - $localizedRoute->setPath($path); - $collection->add($name.'.'.$locale, $localizedRoute); - } - } else { - $route = new Route($config['path'], $defaults, $requirements, $options, $host, $schemes, $methods, $condition); - $collection->add($name, $route); - } - } - - /** - * Parses an import and adds the routes in the resource to the RouteCollection. - * - * @param array $config Route definition - * @param string $path Full path of the YAML file being processed - * @param string $file Loaded file name - */ - protected function parseImport(RouteCollection $collection, array $config, $path, $file) - { - $type = isset($config['type']) ? $config['type'] : null; - $prefix = isset($config['prefix']) ? $config['prefix'] : ''; - $defaults = isset($config['defaults']) ? $config['defaults'] : []; - $requirements = isset($config['requirements']) ? $config['requirements'] : []; - $options = isset($config['options']) ? $config['options'] : []; - $host = isset($config['host']) ? $config['host'] : null; - $condition = isset($config['condition']) ? $config['condition'] : null; - $schemes = isset($config['schemes']) ? $config['schemes'] : null; - $methods = isset($config['methods']) ? $config['methods'] : null; - $trailingSlashOnRoot = $config['trailing_slash_on_root'] ?? true; - $exclude = $config['exclude'] ?? null; - - if (isset($config['controller'])) { - $defaults['_controller'] = $config['controller']; - } - if (isset($config['locale'])) { - $defaults['_locale'] = $config['locale']; - } - if (isset($config['format'])) { - $defaults['_format'] = $config['format']; - } - if (isset($config['utf8'])) { - $options['utf8'] = $config['utf8']; - } - - $this->setCurrentDir(\dirname($path)); - - $imported = $this->import($config['resource'], $type, false, $file, $exclude) ?: []; - - if (!\is_array($imported)) { - $imported = [$imported]; - } - - foreach ($imported as $subCollection) { - /* @var $subCollection RouteCollection */ - if (!\is_array($prefix)) { - $subCollection->addPrefix($prefix); - if (!$trailingSlashOnRoot) { - $rootPath = (new Route(trim(trim($prefix), '/').'/'))->getPath(); - foreach ($subCollection->all() as $route) { - if ($route->getPath() === $rootPath) { - $route->setPath(rtrim($rootPath, '/')); - } - } - } - } else { - foreach ($prefix as $locale => $localePrefix) { - $prefix[$locale] = trim(trim($localePrefix), '/'); - } - foreach ($subCollection->all() as $name => $route) { - if (null === $locale = $route->getDefault('_locale')) { - $subCollection->remove($name); - foreach ($prefix as $locale => $localePrefix) { - $localizedRoute = clone $route; - $localizedRoute->setDefault('_locale', $locale); - $localizedRoute->setDefault('_canonical_route', $name); - $localizedRoute->setPath($localePrefix.(!$trailingSlashOnRoot && '/' === $route->getPath() ? '' : $route->getPath())); - $subCollection->add($name.'.'.$locale, $localizedRoute); - } - } elseif (!isset($prefix[$locale])) { - throw new \InvalidArgumentException(sprintf('Route "%s" with locale "%s" is missing a corresponding prefix when imported in "%s".', $name, $locale, $file)); - } else { - $route->setPath($prefix[$locale].(!$trailingSlashOnRoot && '/' === $route->getPath() ? '' : $route->getPath())); - $subCollection->add($name, $route); - } - } - } - - if (null !== $host) { - $subCollection->setHost($host); - } - if (null !== $condition) { - $subCollection->setCondition($condition); - } - if (null !== $schemes) { - $subCollection->setSchemes($schemes); - } - if (null !== $methods) { - $subCollection->setMethods($methods); - } - $subCollection->addDefaults($defaults); - $subCollection->addRequirements($requirements); - $subCollection->addOptions($options); - - if (isset($config['name_prefix'])) { - $subCollection->addNamePrefix($config['name_prefix']); - } - - $collection->addCollection($subCollection); - } - } - - /** - * Validates the route configuration. - * - * @param array $config A resource config - * @param string $name The config key - * @param string $path The loaded file path - * - * @throws \InvalidArgumentException If one of the provided config keys is not supported, - * something is missing or the combination is nonsense - */ - protected function validate($config, $name, $path) - { - if (!\is_array($config)) { - throw new \InvalidArgumentException(sprintf('The definition of "%s" in "%s" must be a YAML array.', $name, $path)); - } - if ($extraKeys = array_diff(array_keys($config), self::$availableKeys)) { - throw new \InvalidArgumentException(sprintf('The routing file "%s" contains unsupported keys for "%s": "%s". Expected one of: "%s".', $path, $name, implode('", "', $extraKeys), implode('", "', self::$availableKeys))); - } - if (isset($config['resource']) && isset($config['path'])) { - throw new \InvalidArgumentException(sprintf('The routing file "%s" must not specify both the "resource" key and the "path" key for "%s". Choose between an import and a route definition.', $path, $name)); - } - if (!isset($config['resource']) && isset($config['type'])) { - throw new \InvalidArgumentException(sprintf('The "type" key for the route definition "%s" in "%s" is unsupported. It is only available for imports in combination with the "resource" key.', $name, $path)); - } - if (!isset($config['resource']) && !isset($config['path'])) { - throw new \InvalidArgumentException(sprintf('You must define a "path" for the route "%s" in file "%s".', $name, $path)); - } - if (isset($config['controller']) && isset($config['defaults']['_controller'])) { - throw new \InvalidArgumentException(sprintf('The routing file "%s" must not specify both the "controller" key and the defaults key "_controller" for "%s".', $path, $name)); - } - } -} diff --git a/paragonik-backend/vendor/symfony/routing/Loader/schema/routing/routing-1.0.xsd b/paragonik-backend/vendor/symfony/routing/Loader/schema/routing/routing-1.0.xsd deleted file mode 100644 index 8e61d03..0000000 --- a/paragonik-backend/vendor/symfony/routing/Loader/schema/routing/routing-1.0.xsd +++ /dev/null @@ -1,170 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/paragonik-backend/vendor/symfony/routing/Matcher/CompiledUrlMatcher.php b/paragonik-backend/vendor/symfony/routing/Matcher/CompiledUrlMatcher.php deleted file mode 100644 index e15cda7..0000000 --- a/paragonik-backend/vendor/symfony/routing/Matcher/CompiledUrlMatcher.php +++ /dev/null @@ -1,31 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Routing\Matcher; - -use Symfony\Component\Routing\Matcher\Dumper\CompiledUrlMatcherTrait; -use Symfony\Component\Routing\RequestContext; - -/** - * Matches URLs based on rules dumped by CompiledUrlMatcherDumper. - * - * @author Nicolas Grekas - */ -class CompiledUrlMatcher extends UrlMatcher -{ - use CompiledUrlMatcherTrait; - - public function __construct(array $compiledRoutes, RequestContext $context) - { - $this->context = $context; - list($this->matchHost, $this->staticRoutes, $this->regexpList, $this->dynamicRoutes, $this->checkCondition) = $compiledRoutes; - } -} diff --git a/paragonik-backend/vendor/symfony/routing/Matcher/Dumper/CompiledUrlMatcherDumper.php b/paragonik-backend/vendor/symfony/routing/Matcher/Dumper/CompiledUrlMatcherDumper.php deleted file mode 100644 index 936dd16..0000000 --- a/paragonik-backend/vendor/symfony/routing/Matcher/Dumper/CompiledUrlMatcherDumper.php +++ /dev/null @@ -1,501 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Routing\Matcher\Dumper; - -use Symfony\Component\ExpressionLanguage\ExpressionFunctionProviderInterface; -use Symfony\Component\ExpressionLanguage\ExpressionLanguage; -use Symfony\Component\Routing\Route; -use Symfony\Component\Routing\RouteCollection; - -/** - * CompiledUrlMatcherDumper creates PHP arrays to be used with CompiledUrlMatcher. - * - * @author Fabien Potencier - * @author Tobias Schultze - * @author Arnaud Le Blanc - * @author Nicolas Grekas - */ -class CompiledUrlMatcherDumper extends MatcherDumper -{ - private $expressionLanguage; - private $signalingException; - - /** - * @var ExpressionFunctionProviderInterface[] - */ - private $expressionLanguageProviders = []; - - /** - * {@inheritdoc} - */ - public function dump(array $options = []) - { - return <<generateCompiledRoutes()}]; - -EOF; - } - - public function addExpressionLanguageProvider(ExpressionFunctionProviderInterface $provider) - { - $this->expressionLanguageProviders[] = $provider; - } - - /** - * Generates the arrays for CompiledUrlMatcher's constructor. - */ - public function getCompiledRoutes(bool $forDump = false): array - { - // Group hosts by same-suffix, re-order when possible - $matchHost = false; - $routes = new StaticPrefixCollection(); - foreach ($this->getRoutes()->all() as $name => $route) { - if ($host = $route->getHost()) { - $matchHost = true; - $host = '/'.strtr(strrev($host), '}.{', '(/)'); - } - - $routes->addRoute($host ?: '/(.*)', [$name, $route]); - } - - if ($matchHost) { - $compiledRoutes = [true]; - $routes = $routes->populateCollection(new RouteCollection()); - } else { - $compiledRoutes = [false]; - $routes = $this->getRoutes(); - } - - list($staticRoutes, $dynamicRoutes) = $this->groupStaticRoutes($routes); - - $conditions = [null]; - $compiledRoutes[] = $this->compileStaticRoutes($staticRoutes, $conditions); - $chunkLimit = \count($dynamicRoutes); - - while (true) { - try { - $this->signalingException = new \RuntimeException('Compilation failed: regular expression is too large'); - $compiledRoutes = array_merge($compiledRoutes, $this->compileDynamicRoutes($dynamicRoutes, $matchHost, $chunkLimit, $conditions)); - - break; - } catch (\Exception $e) { - if (1 < $chunkLimit && $this->signalingException === $e) { - $chunkLimit = 1 + ($chunkLimit >> 1); - continue; - } - throw $e; - } - } - - if ($forDump) { - $compiledRoutes[2] = $compiledRoutes[4]; - } - unset($conditions[0]); - - if ($conditions) { - foreach ($conditions as $expression => $condition) { - $conditions[$expression] = "case {$condition}: return {$expression};"; - } - - $checkConditionCode = <<indent(implode("\n", $conditions), 3)} - } - } -EOF; - $compiledRoutes[4] = $forDump ? $checkConditionCode.",\n" : eval('return '.$checkConditionCode.';'); - } else { - $compiledRoutes[4] = $forDump ? " null, // \$checkCondition\n" : null; - } - - return $compiledRoutes; - } - - private function generateCompiledRoutes(): string - { - list($matchHost, $staticRoutes, $regexpCode, $dynamicRoutes, $checkConditionCode) = $this->getCompiledRoutes(true); - - $code = self::export($matchHost).', // $matchHost'."\n"; - - $code .= '[ // $staticRoutes'."\n"; - foreach ($staticRoutes as $path => $routes) { - $code .= sprintf(" %s => [\n", self::export($path)); - foreach ($routes as $route) { - $code .= sprintf(" [%s, %s, %s, %s, %s, %s, %s],\n", ...array_map([__CLASS__, 'export'], $route)); - } - $code .= " ],\n"; - } - $code .= "],\n"; - - $code .= sprintf("[ // \$regexpList%s\n],\n", $regexpCode); - - $code .= '[ // $dynamicRoutes'."\n"; - foreach ($dynamicRoutes as $path => $routes) { - $code .= sprintf(" %s => [\n", self::export($path)); - foreach ($routes as $route) { - $code .= sprintf(" [%s, %s, %s, %s, %s, %s, %s],\n", ...array_map([__CLASS__, 'export'], $route)); - } - $code .= " ],\n"; - } - $code .= "],\n"; - $code = preg_replace('/ => \[\n (\[.+?),\n \],/', ' => [$1],', $code); - - return $this->indent($code, 1).$checkConditionCode; - } - - /** - * Splits static routes from dynamic routes, so that they can be matched first, using a simple switch. - */ - private function groupStaticRoutes(RouteCollection $collection): array - { - $staticRoutes = $dynamicRegex = []; - $dynamicRoutes = new RouteCollection(); - - foreach ($collection->all() as $name => $route) { - $compiledRoute = $route->compile(); - $staticPrefix = rtrim($compiledRoute->getStaticPrefix(), '/'); - $hostRegex = $compiledRoute->getHostRegex(); - $regex = $compiledRoute->getRegex(); - if ($hasTrailingSlash = '/' !== $route->getPath()) { - $pos = strrpos($regex, '$'); - $hasTrailingSlash = '/' === $regex[$pos - 1]; - $regex = substr_replace($regex, '/?$', $pos - $hasTrailingSlash, 1 + $hasTrailingSlash); - } - - if (!$compiledRoute->getPathVariables()) { - $host = !$compiledRoute->getHostVariables() ? $route->getHost() : ''; - $url = $route->getPath(); - if ($hasTrailingSlash) { - $url = substr($url, 0, -1); - } - foreach ($dynamicRegex as list($hostRx, $rx, $prefix)) { - if (('' === $prefix || 0 === strpos($url, $prefix)) && (preg_match($rx, $url) || preg_match($rx, $url.'/')) && (!$host || !$hostRx || preg_match($hostRx, $host))) { - $dynamicRegex[] = [$hostRegex, $regex, $staticPrefix]; - $dynamicRoutes->add($name, $route); - continue 2; - } - } - - $staticRoutes[$url][$name] = [$route, $hasTrailingSlash]; - } else { - $dynamicRegex[] = [$hostRegex, $regex, $staticPrefix]; - $dynamicRoutes->add($name, $route); - } - } - - return [$staticRoutes, $dynamicRoutes]; - } - - /** - * Compiles static routes in a switch statement. - * - * Condition-less paths are put in a static array in the switch's default, with generic matching logic. - * Paths that can match two or more routes, or have user-specified conditions are put in separate switch's cases. - * - * @throws \LogicException - */ - private function compileStaticRoutes(array $staticRoutes, array &$conditions): array - { - if (!$staticRoutes) { - return []; - } - $compiledRoutes = []; - - foreach ($staticRoutes as $url => $routes) { - $compiledRoutes[$url] = []; - foreach ($routes as $name => list($route, $hasTrailingSlash)) { - $compiledRoutes[$url][] = $this->compileRoute($route, $name, (!$route->compile()->getHostVariables() ? $route->getHost() : $route->compile()->getHostRegex()) ?: null, $hasTrailingSlash, false, $conditions); - } - } - - return $compiledRoutes; - } - - /** - * Compiles a regular expression followed by a switch statement to match dynamic routes. - * - * The regular expression matches both the host and the pathinfo at the same time. For stellar performance, - * it is built as a tree of patterns, with re-ordering logic to group same-prefix routes together when possible. - * - * Patterns are named so that we know which one matched (https://pcre.org/current/doc/html/pcre2syntax.html#SEC23). - * This name is used to "switch" to the additional logic required to match the final route. - * - * Condition-less paths are put in a static array in the switch's default, with generic matching logic. - * Paths that can match two or more routes, or have user-specified conditions are put in separate switch's cases. - * - * Last but not least: - * - Because it is not possibe to mix unicode/non-unicode patterns in a single regexp, several of them can be generated. - * - The same regexp can be used several times when the logic in the switch rejects the match. When this happens, the - * matching-but-failing subpattern is blacklisted by replacing its name by "(*F)", which forces a failure-to-match. - * To ease this backlisting operation, the name of subpatterns is also the string offset where the replacement should occur. - */ - private function compileDynamicRoutes(RouteCollection $collection, bool $matchHost, int $chunkLimit, array &$conditions): array - { - if (!$collection->all()) { - return [[], [], '']; - } - $regexpList = []; - $code = ''; - $state = (object) [ - 'regexMark' => 0, - 'regex' => [], - 'routes' => [], - 'mark' => 0, - 'markTail' => 0, - 'hostVars' => [], - 'vars' => [], - ]; - $state->getVars = static function ($m) use ($state) { - if ('_route' === $m[1]) { - return '?:'; - } - - $state->vars[] = $m[1]; - - return ''; - }; - - $chunkSize = 0; - $prev = null; - $perModifiers = []; - foreach ($collection->all() as $name => $route) { - preg_match('#[a-zA-Z]*$#', $route->compile()->getRegex(), $rx); - if ($chunkLimit < ++$chunkSize || $prev !== $rx[0] && $route->compile()->getPathVariables()) { - $chunkSize = 1; - $routes = new RouteCollection(); - $perModifiers[] = [$rx[0], $routes]; - $prev = $rx[0]; - } - $routes->add($name, $route); - } - - foreach ($perModifiers as list($modifiers, $routes)) { - $prev = false; - $perHost = []; - foreach ($routes->all() as $name => $route) { - $regex = $route->compile()->getHostRegex(); - if ($prev !== $regex) { - $routes = new RouteCollection(); - $perHost[] = [$regex, $routes]; - $prev = $regex; - } - $routes->add($name, $route); - } - $prev = false; - $rx = '{^(?'; - $code .= "\n {$state->mark} => ".self::export($rx); - $startingMark = $state->mark; - $state->mark += \strlen($rx); - $state->regex = $rx; - - foreach ($perHost as list($hostRegex, $routes)) { - if ($matchHost) { - if ($hostRegex) { - preg_match('#^.\^(.*)\$.[a-zA-Z]*$#', $hostRegex, $rx); - $state->vars = []; - $hostRegex = '(?i:'.preg_replace_callback('#\?P<([^>]++)>#', $state->getVars, $rx[1]).')\.'; - $state->hostVars = $state->vars; - } else { - $hostRegex = '(?:(?:[^./]*+\.)++)'; - $state->hostVars = []; - } - $state->mark += \strlen($rx = ($prev ? ')' : '')."|{$hostRegex}(?"); - $code .= "\n .".self::export($rx); - $state->regex .= $rx; - $prev = true; - } - - $tree = new StaticPrefixCollection(); - foreach ($routes->all() as $name => $route) { - preg_match('#^.\^(.*)\$.[a-zA-Z]*$#', $route->compile()->getRegex(), $rx); - - $state->vars = []; - $regex = preg_replace_callback('#\?P<([^>]++)>#', $state->getVars, $rx[1]); - if ($hasTrailingSlash = '/' !== $regex && '/' === $regex[-1]) { - $regex = substr($regex, 0, -1); - } - $hasTrailingVar = (bool) preg_match('#\{\w+\}/?$#', $route->getPath()); - - $tree->addRoute($regex, [$name, $regex, $state->vars, $route, $hasTrailingSlash, $hasTrailingVar]); - } - - $code .= $this->compileStaticPrefixCollection($tree, $state, 0, $conditions); - } - if ($matchHost) { - $code .= "\n .')'"; - $state->regex .= ')'; - } - $rx = ")/?$}{$modifiers}"; - $code .= "\n .'{$rx}',"; - $state->regex .= $rx; - $state->markTail = 0; - - // if the regex is too large, throw a signaling exception to recompute with smaller chunk size - set_error_handler(function ($type, $message) { throw false !== strpos($message, $this->signalingException->getMessage()) ? $this->signalingException : new \ErrorException($message); }); - try { - preg_match($state->regex, ''); - } finally { - restore_error_handler(); - } - - $regexpList[$startingMark] = $state->regex; - } - - $state->routes[$state->mark][] = [null, null, null, null, false, false, 0]; - unset($state->getVars); - - return [$regexpList, $state->routes, $code]; - } - - /** - * Compiles a regexp tree of subpatterns that matches nested same-prefix routes. - * - * @param \stdClass $state A simple state object that keeps track of the progress of the compilation, - * and gathers the generated switch's "case" and "default" statements - */ - private function compileStaticPrefixCollection(StaticPrefixCollection $tree, \stdClass $state, int $prefixLen, array &$conditions): string - { - $code = ''; - $prevRegex = null; - $routes = $tree->getRoutes(); - - foreach ($routes as $i => $route) { - if ($route instanceof StaticPrefixCollection) { - $prevRegex = null; - $prefix = substr($route->getPrefix(), $prefixLen); - $state->mark += \strlen($rx = "|{$prefix}(?"); - $code .= "\n .".self::export($rx); - $state->regex .= $rx; - $code .= $this->indent($this->compileStaticPrefixCollection($route, $state, $prefixLen + \strlen($prefix), $conditions)); - $code .= "\n .')'"; - $state->regex .= ')'; - ++$state->markTail; - continue; - } - - list($name, $regex, $vars, $route, $hasTrailingSlash, $hasTrailingVar) = $route; - $compiledRoute = $route->compile(); - $vars = array_merge($state->hostVars, $vars); - - if ($compiledRoute->getRegex() === $prevRegex) { - $state->routes[$state->mark][] = $this->compileRoute($route, $name, $vars, $hasTrailingSlash, $hasTrailingVar, $conditions); - continue; - } - - $state->mark += 3 + $state->markTail + \strlen($regex) - $prefixLen; - $state->markTail = 2 + \strlen($state->mark); - $rx = sprintf('|%s(*:%s)', substr($regex, $prefixLen), $state->mark); - $code .= "\n .".self::export($rx); - $state->regex .= $rx; - - $prevRegex = $compiledRoute->getRegex(); - $state->routes[$state->mark] = [$this->compileRoute($route, $name, $vars, $hasTrailingSlash, $hasTrailingVar, $conditions)]; - } - - return $code; - } - - /** - * Compiles a single Route to PHP code used to match it against the path info. - */ - private function compileRoute(Route $route, string $name, $vars, bool $hasTrailingSlash, bool $hasTrailingVar, array &$conditions): array - { - $defaults = $route->getDefaults(); - - if (isset($defaults['_canonical_route'])) { - $name = $defaults['_canonical_route']; - unset($defaults['_canonical_route']); - } - - if ($condition = $route->getCondition()) { - $condition = $this->getExpressionLanguage()->compile($condition, ['context', 'request']); - $condition = $conditions[$condition] ?? $conditions[$condition] = (false !== strpos($condition, '$request') ? 1 : -1) * \count($conditions); - } else { - $condition = null; - } - - return [ - ['_route' => $name] + $defaults, - $vars, - array_flip($route->getMethods()) ?: null, - array_flip($route->getSchemes()) ?: null, - $hasTrailingSlash, - $hasTrailingVar, - $condition, - ]; - } - - private function getExpressionLanguage(): ExpressionLanguage - { - if (null === $this->expressionLanguage) { - if (!class_exists('Symfony\Component\ExpressionLanguage\ExpressionLanguage')) { - throw new \LogicException('Unable to use expressions as the Symfony ExpressionLanguage component is not installed.'); - } - $this->expressionLanguage = new ExpressionLanguage(null, $this->expressionLanguageProviders); - } - - return $this->expressionLanguage; - } - - private function indent(string $code, int $level = 1): string - { - return preg_replace('/^./m', str_repeat(' ', $level).'$0', $code); - } - - /** - * @internal - */ - public static function export($value): string - { - if (null === $value) { - return 'null'; - } - if (!\is_array($value)) { - if (\is_object($value)) { - throw new \InvalidArgumentException('Symfony\Component\Routing\Route cannot contain objects.'); - } - - return str_replace("\n", '\'."\n".\'', var_export($value, true)); - } - if (!$value) { - return '[]'; - } - - $i = 0; - $export = '['; - - foreach ($value as $k => $v) { - if ($i === $k) { - ++$i; - } else { - $export .= self::export($k).' => '; - - if (\is_int($k) && $i < $k) { - $i = 1 + $k; - } - } - - $export .= self::export($v).', '; - } - - return substr_replace($export, ']', -2); - } -} diff --git a/paragonik-backend/vendor/symfony/routing/Matcher/Dumper/CompiledUrlMatcherTrait.php b/paragonik-backend/vendor/symfony/routing/Matcher/Dumper/CompiledUrlMatcherTrait.php deleted file mode 100644 index 8ef76df..0000000 --- a/paragonik-backend/vendor/symfony/routing/Matcher/Dumper/CompiledUrlMatcherTrait.php +++ /dev/null @@ -1,187 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Routing\Matcher\Dumper; - -use Symfony\Component\Routing\Exception\MethodNotAllowedException; -use Symfony\Component\Routing\Exception\NoConfigurationException; -use Symfony\Component\Routing\Exception\ResourceNotFoundException; -use Symfony\Component\Routing\Matcher\RedirectableUrlMatcherInterface; -use Symfony\Component\Routing\RequestContext; - -/** - * @author Nicolas Grekas - * - * @internal - * - * @property RequestContext $context - */ -trait CompiledUrlMatcherTrait -{ - private $matchHost = false; - private $staticRoutes = []; - private $regexpList = []; - private $dynamicRoutes = []; - private $checkCondition; - - public function match($pathinfo): array - { - $allow = $allowSchemes = []; - if ($ret = $this->doMatch($pathinfo, $allow, $allowSchemes)) { - return $ret; - } - if ($allow) { - throw new MethodNotAllowedException(array_keys($allow)); - } - if (!$this instanceof RedirectableUrlMatcherInterface) { - throw new ResourceNotFoundException(sprintf('No routes found for "%s".', $pathinfo)); - } - if (!\in_array($this->context->getMethod(), ['HEAD', 'GET'], true)) { - // no-op - } elseif ($allowSchemes) { - redirect_scheme: - $scheme = $this->context->getScheme(); - $this->context->setScheme(key($allowSchemes)); - try { - if ($ret = $this->doMatch($pathinfo)) { - return $this->redirect($pathinfo, $ret['_route'], $this->context->getScheme()) + $ret; - } - } finally { - $this->context->setScheme($scheme); - } - } elseif ('/' !== $trimmedPathinfo = rtrim($pathinfo, '/') ?: '/') { - $pathinfo = $trimmedPathinfo === $pathinfo ? $pathinfo.'/' : $trimmedPathinfo; - if ($ret = $this->doMatch($pathinfo, $allow, $allowSchemes)) { - return $this->redirect($pathinfo, $ret['_route']) + $ret; - } - if ($allowSchemes) { - goto redirect_scheme; - } - } - - throw new ResourceNotFoundException(sprintf('No routes found for "%s".', $pathinfo)); - } - - private function doMatch(string $pathinfo, array &$allow = [], array &$allowSchemes = []): array - { - $allow = $allowSchemes = []; - $pathinfo = rawurldecode($pathinfo) ?: '/'; - $trimmedPathinfo = rtrim($pathinfo, '/') ?: '/'; - $context = $this->context; - $requestMethod = $canonicalMethod = $context->getMethod(); - - if ($this->matchHost) { - $host = strtolower($context->getHost()); - } - - if ('HEAD' === $requestMethod) { - $canonicalMethod = 'GET'; - } - $supportsRedirections = 'GET' === $canonicalMethod && $this instanceof RedirectableUrlMatcherInterface; - - foreach ($this->staticRoutes[$trimmedPathinfo] ?? [] as list($ret, $requiredHost, $requiredMethods, $requiredSchemes, $hasTrailingSlash, , $condition)) { - if ($condition && !($this->checkCondition)($condition, $context, 0 < $condition ? $request ?? $request = $this->request ?: $this->createRequest($pathinfo) : null)) { - continue; - } - - if ($requiredHost) { - if ('#' !== $requiredHost[0] ? $requiredHost !== $host : !preg_match($requiredHost, $host, $hostMatches)) { - continue; - } - if ('#' === $requiredHost[0] && $hostMatches) { - $hostMatches['_route'] = $ret['_route']; - $ret = $this->mergeDefaults($hostMatches, $ret); - } - } - - if ('/' !== $pathinfo && $hasTrailingSlash === ($trimmedPathinfo === $pathinfo)) { - if ($supportsRedirections && (!$requiredMethods || isset($requiredMethods['GET']))) { - return $allow = $allowSchemes = []; - } - continue; - } - - $hasRequiredScheme = !$requiredSchemes || isset($requiredSchemes[$context->getScheme()]); - if ($hasRequiredScheme && $requiredMethods && !isset($requiredMethods[$canonicalMethod]) && !isset($requiredMethods[$requestMethod])) { - $allow += $requiredMethods; - continue; - } - - if (!$hasRequiredScheme) { - $allowSchemes += $requiredSchemes; - continue; - } - - return $ret; - } - - $matchedPathinfo = $this->matchHost ? $host.'.'.$pathinfo : $pathinfo; - - foreach ($this->regexpList as $offset => $regex) { - while (preg_match($regex, $matchedPathinfo, $matches)) { - foreach ($this->dynamicRoutes[$m = (int) $matches['MARK']] as list($ret, $vars, $requiredMethods, $requiredSchemes, $hasTrailingSlash, $hasTrailingVar, $condition)) { - if (null !== $condition) { - if (0 === $condition) { // marks the last route in the regexp - continue 3; - } - if (!($this->checkCondition)($condition, $context, 0 < $condition ? $request ?? $request = $this->request ?: $this->createRequest($pathinfo) : null)) { - continue; - } - } - - $hasTrailingVar = $trimmedPathinfo !== $pathinfo && $hasTrailingVar; - - if ($hasTrailingVar && ($hasTrailingSlash || (null === $n = $matches[\count($vars)] ?? null) || '/' !== ($n[-1] ?? '/')) && preg_match($regex, $this->matchHost ? $host.'.'.$trimmedPathinfo : $trimmedPathinfo, $n) && $m === (int) $n['MARK']) { - if ($hasTrailingSlash) { - $matches = $n; - } else { - $hasTrailingVar = false; - } - } - - if ('/' !== $pathinfo && !$hasTrailingVar && $hasTrailingSlash === ($trimmedPathinfo === $pathinfo)) { - if ($supportsRedirections && (!$requiredMethods || isset($requiredMethods['GET']))) { - return $allow = $allowSchemes = []; - } - continue; - } - - foreach ($vars as $i => $v) { - if (isset($matches[1 + $i])) { - $ret[$v] = $matches[1 + $i]; - } - } - - if ($requiredSchemes && !isset($requiredSchemes[$context->getScheme()])) { - $allowSchemes += $requiredSchemes; - continue; - } - - if ($requiredMethods && !isset($requiredMethods[$canonicalMethod]) && !isset($requiredMethods[$requestMethod])) { - $allow += $requiredMethods; - continue; - } - - return $ret; - } - - $regex = substr_replace($regex, 'F', $m - $offset, 1 + \strlen($m)); - $offset += \strlen($m); - } - } - - if ('/' === $pathinfo && !$allow && !$allowSchemes) { - throw new NoConfigurationException(); - } - - return []; - } -} diff --git a/paragonik-backend/vendor/symfony/routing/Matcher/Dumper/MatcherDumper.php b/paragonik-backend/vendor/symfony/routing/Matcher/Dumper/MatcherDumper.php deleted file mode 100644 index ea51ab4..0000000 --- a/paragonik-backend/vendor/symfony/routing/Matcher/Dumper/MatcherDumper.php +++ /dev/null @@ -1,37 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Routing\Matcher\Dumper; - -use Symfony\Component\Routing\RouteCollection; - -/** - * MatcherDumper is the abstract class for all built-in matcher dumpers. - * - * @author Fabien Potencier - */ -abstract class MatcherDumper implements MatcherDumperInterface -{ - private $routes; - - public function __construct(RouteCollection $routes) - { - $this->routes = $routes; - } - - /** - * {@inheritdoc} - */ - public function getRoutes() - { - return $this->routes; - } -} diff --git a/paragonik-backend/vendor/symfony/routing/Matcher/Dumper/MatcherDumperInterface.php b/paragonik-backend/vendor/symfony/routing/Matcher/Dumper/MatcherDumperInterface.php deleted file mode 100644 index 34aad92..0000000 --- a/paragonik-backend/vendor/symfony/routing/Matcher/Dumper/MatcherDumperInterface.php +++ /dev/null @@ -1,37 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Routing\Matcher\Dumper; - -use Symfony\Component\Routing\RouteCollection; - -/** - * MatcherDumperInterface is the interface that all matcher dumper classes must implement. - * - * @author Fabien Potencier - */ -interface MatcherDumperInterface -{ - /** - * Dumps a set of routes to a string representation of executable code - * that can then be used to match a request against these routes. - * - * @return string Executable code - */ - public function dump(array $options = []); - - /** - * Gets the routes to dump. - * - * @return RouteCollection A RouteCollection instance - */ - public function getRoutes(); -} diff --git a/paragonik-backend/vendor/symfony/routing/Matcher/Dumper/PhpMatcherDumper.php b/paragonik-backend/vendor/symfony/routing/Matcher/Dumper/PhpMatcherDumper.php deleted file mode 100644 index ee505e1..0000000 --- a/paragonik-backend/vendor/symfony/routing/Matcher/Dumper/PhpMatcherDumper.php +++ /dev/null @@ -1,75 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Routing\Matcher\Dumper; - -@trigger_error(sprintf('The "%s" class is deprecated since Symfony 4.3, use "CompiledUrlMatcherDumper" instead.', PhpMatcherDumper::class), E_USER_DEPRECATED); - -/** - * PhpMatcherDumper creates a PHP class able to match URLs for a given set of routes. - * - * @author Fabien Potencier - * @author Tobias Schultze - * @author Arnaud Le Blanc - * @author Nicolas Grekas - * - * @deprecated since Symfony 4.3, use CompiledUrlMatcherDumper instead. - */ -class PhpMatcherDumper extends CompiledUrlMatcherDumper -{ - /** - * Dumps a set of routes to a PHP class. - * - * Available options: - * - * * class: The class name - * * base_class: The base class name - * - * @param array $options An array of options - * - * @return string A PHP class representing the matcher class - */ - public function dump(array $options = []) - { - $options = array_replace([ - 'class' => 'ProjectUrlMatcher', - 'base_class' => 'Symfony\\Component\\Routing\\Matcher\\UrlMatcher', - ], $options); - - $code = parent::dump(); - $code = preg_replace('#\n ([^ ].*?) // \$(\w++)$#m', "\n \$this->$2 = $1", $code); - $code = str_replace(",\n $", ";\n $", $code); - $code = substr($code, strpos($code, '$this') - 4, -5).";\n"; - $code = preg_replace('/^ \$this->\w++ = (?:null|false|\[\n \]);\n/m', '', $code); - $code = str_replace("\n ", "\n ", "\n".$code); - - return <<context = \$context;{$code} } -} - -EOF; - } -} diff --git a/paragonik-backend/vendor/symfony/routing/Matcher/Dumper/StaticPrefixCollection.php b/paragonik-backend/vendor/symfony/routing/Matcher/Dumper/StaticPrefixCollection.php deleted file mode 100644 index 65b6c07..0000000 --- a/paragonik-backend/vendor/symfony/routing/Matcher/Dumper/StaticPrefixCollection.php +++ /dev/null @@ -1,202 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Routing\Matcher\Dumper; - -use Symfony\Component\Routing\RouteCollection; - -/** - * Prefix tree of routes preserving routes order. - * - * @author Frank de Jonge - * @author Nicolas Grekas - * - * @internal - */ -class StaticPrefixCollection -{ - private $prefix; - - /** - * @var string[] - */ - private $staticPrefixes = []; - - /** - * @var string[] - */ - private $prefixes = []; - - /** - * @var array[]|self[] - */ - private $items = []; - - public function __construct(string $prefix = '/') - { - $this->prefix = $prefix; - } - - public function getPrefix(): string - { - return $this->prefix; - } - - /** - * @return array[]|self[] - */ - public function getRoutes(): array - { - return $this->items; - } - - /** - * Adds a route to a group. - * - * @param array|self $route - */ - public function addRoute(string $prefix, $route) - { - list($prefix, $staticPrefix) = $this->getCommonPrefix($prefix, $prefix); - - for ($i = \count($this->items) - 1; 0 <= $i; --$i) { - $item = $this->items[$i]; - - list($commonPrefix, $commonStaticPrefix) = $this->getCommonPrefix($prefix, $this->prefixes[$i]); - - if ($this->prefix === $commonPrefix) { - // the new route and a previous one have no common prefix, let's see if they are exclusive to each others - - if ($this->prefix !== $staticPrefix && $this->prefix !== $this->staticPrefixes[$i]) { - // the new route and the previous one have exclusive static prefixes - continue; - } - - if ($this->prefix === $staticPrefix && $this->prefix === $this->staticPrefixes[$i]) { - // the new route and the previous one have no static prefix - break; - } - - if ($this->prefixes[$i] !== $this->staticPrefixes[$i] && $this->prefix === $this->staticPrefixes[$i]) { - // the previous route is non-static and has no static prefix - break; - } - - if ($prefix !== $staticPrefix && $this->prefix === $staticPrefix) { - // the new route is non-static and has no static prefix - break; - } - - continue; - } - - if ($item instanceof self && $this->prefixes[$i] === $commonPrefix) { - // the new route is a child of a previous one, let's nest it - $item->addRoute($prefix, $route); - } else { - // the new route and a previous one have a common prefix, let's merge them - $child = new self($commonPrefix); - list($child->prefixes[0], $child->staticPrefixes[0]) = $child->getCommonPrefix($this->prefixes[$i], $this->prefixes[$i]); - list($child->prefixes[1], $child->staticPrefixes[1]) = $child->getCommonPrefix($prefix, $prefix); - $child->items = [$this->items[$i], $route]; - - $this->staticPrefixes[$i] = $commonStaticPrefix; - $this->prefixes[$i] = $commonPrefix; - $this->items[$i] = $child; - } - - return; - } - - // No optimised case was found, in this case we simple add the route for possible - // grouping when new routes are added. - $this->staticPrefixes[] = $staticPrefix; - $this->prefixes[] = $prefix; - $this->items[] = $route; - } - - /** - * Linearizes back a set of nested routes into a collection. - */ - public function populateCollection(RouteCollection $routes): RouteCollection - { - foreach ($this->items as $route) { - if ($route instanceof self) { - $route->populateCollection($routes); - } else { - $routes->add(...$route); - } - } - - return $routes; - } - - /** - * Gets the full and static common prefixes between two route patterns. - * - * The static prefix stops at last at the first opening bracket. - */ - private function getCommonPrefix(string $prefix, string $anotherPrefix): array - { - $baseLength = \strlen($this->prefix); - $end = min(\strlen($prefix), \strlen($anotherPrefix)); - $staticLength = null; - set_error_handler([__CLASS__, 'handleError']); - - for ($i = $baseLength; $i < $end && $prefix[$i] === $anotherPrefix[$i]; ++$i) { - if ('(' === $prefix[$i]) { - $staticLength = $staticLength ?? $i; - for ($j = 1 + $i, $n = 1; $j < $end && 0 < $n; ++$j) { - if ($prefix[$j] !== $anotherPrefix[$j]) { - break 2; - } - if ('(' === $prefix[$j]) { - ++$n; - } elseif (')' === $prefix[$j]) { - --$n; - } elseif ('\\' === $prefix[$j] && (++$j === $end || $prefix[$j] !== $anotherPrefix[$j])) { - --$j; - break; - } - } - if (0 < $n) { - break; - } - if (('?' === ($prefix[$j] ?? '') || '?' === ($anotherPrefix[$j] ?? '')) && ($prefix[$j] ?? '') !== ($anotherPrefix[$j] ?? '')) { - break; - } - $subPattern = substr($prefix, $i, $j - $i); - if ($prefix !== $anotherPrefix && !preg_match('/^\(\[[^\]]++\]\+\+\)$/', $subPattern) && !preg_match('{(?> 6) && preg_match('//u', $prefix.' '.$anotherPrefix)) { - do { - // Prevent cutting in the middle of an UTF-8 characters - --$i; - } while (0b10 === (\ord($prefix[$i]) >> 6)); - } - - return [substr($prefix, 0, $i), substr($prefix, 0, $staticLength ?? $i)]; - } - - public static function handleError($type, $msg) - { - return false !== strpos($msg, 'Compilation failed: lookbehind assertion is not fixed length'); - } -} diff --git a/paragonik-backend/vendor/symfony/routing/Matcher/RedirectableUrlMatcher.php b/paragonik-backend/vendor/symfony/routing/Matcher/RedirectableUrlMatcher.php deleted file mode 100644 index eb7bec7..0000000 --- a/paragonik-backend/vendor/symfony/routing/Matcher/RedirectableUrlMatcher.php +++ /dev/null @@ -1,64 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Routing\Matcher; - -use Symfony\Component\Routing\Exception\ExceptionInterface; -use Symfony\Component\Routing\Exception\ResourceNotFoundException; - -/** - * @author Fabien Potencier - */ -abstract class RedirectableUrlMatcher extends UrlMatcher implements RedirectableUrlMatcherInterface -{ - /** - * {@inheritdoc} - */ - public function match($pathinfo) - { - try { - return parent::match($pathinfo); - } catch (ResourceNotFoundException $e) { - if (!\in_array($this->context->getMethod(), ['HEAD', 'GET'], true)) { - throw $e; - } - - if ($this->allowSchemes) { - redirect_scheme: - $scheme = $this->context->getScheme(); - $this->context->setScheme(current($this->allowSchemes)); - try { - $ret = parent::match($pathinfo); - - return $this->redirect($pathinfo, $ret['_route'] ?? null, $this->context->getScheme()) + $ret; - } catch (ExceptionInterface $e2) { - throw $e; - } finally { - $this->context->setScheme($scheme); - } - } elseif ('/' === $trimmedPathinfo = rtrim($pathinfo, '/') ?: '/') { - throw $e; - } else { - try { - $pathinfo = $trimmedPathinfo === $pathinfo ? $pathinfo.'/' : $trimmedPathinfo; - $ret = parent::match($pathinfo); - - return $this->redirect($pathinfo, $ret['_route'] ?? null) + $ret; - } catch (ExceptionInterface $e2) { - if ($this->allowSchemes) { - goto redirect_scheme; - } - throw $e; - } - } - } - } -} diff --git a/paragonik-backend/vendor/symfony/routing/Matcher/RedirectableUrlMatcherInterface.php b/paragonik-backend/vendor/symfony/routing/Matcher/RedirectableUrlMatcherInterface.php deleted file mode 100644 index 7c27bc8..0000000 --- a/paragonik-backend/vendor/symfony/routing/Matcher/RedirectableUrlMatcherInterface.php +++ /dev/null @@ -1,31 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Routing\Matcher; - -/** - * RedirectableUrlMatcherInterface knows how to redirect the user. - * - * @author Fabien Potencier - */ -interface RedirectableUrlMatcherInterface -{ - /** - * Redirects the user to another URL. - * - * @param string $path The path info to redirect to - * @param string $route The route name that matched - * @param string|null $scheme The URL scheme (null to keep the current one) - * - * @return array An array of parameters - */ - public function redirect($path, $route, $scheme = null); -} diff --git a/paragonik-backend/vendor/symfony/routing/Matcher/RequestMatcherInterface.php b/paragonik-backend/vendor/symfony/routing/Matcher/RequestMatcherInterface.php deleted file mode 100644 index 0c193ff..0000000 --- a/paragonik-backend/vendor/symfony/routing/Matcher/RequestMatcherInterface.php +++ /dev/null @@ -1,39 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Routing\Matcher; - -use Symfony\Component\HttpFoundation\Request; -use Symfony\Component\Routing\Exception\MethodNotAllowedException; -use Symfony\Component\Routing\Exception\NoConfigurationException; -use Symfony\Component\Routing\Exception\ResourceNotFoundException; - -/** - * RequestMatcherInterface is the interface that all request matcher classes must implement. - * - * @author Fabien Potencier - */ -interface RequestMatcherInterface -{ - /** - * Tries to match a request with a set of routes. - * - * If the matcher can not find information, it must throw one of the exceptions documented - * below. - * - * @return array An array of parameters - * - * @throws NoConfigurationException If no routing configuration could be found - * @throws ResourceNotFoundException If no matching resource could be found - * @throws MethodNotAllowedException If a matching resource was found but the request method is not allowed - */ - public function matchRequest(Request $request); -} diff --git a/paragonik-backend/vendor/symfony/routing/Matcher/TraceableUrlMatcher.php b/paragonik-backend/vendor/symfony/routing/Matcher/TraceableUrlMatcher.php deleted file mode 100644 index b687ffb..0000000 --- a/paragonik-backend/vendor/symfony/routing/Matcher/TraceableUrlMatcher.php +++ /dev/null @@ -1,164 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Routing\Matcher; - -use Symfony\Component\HttpFoundation\Request; -use Symfony\Component\Routing\Exception\ExceptionInterface; -use Symfony\Component\Routing\Route; -use Symfony\Component\Routing\RouteCollection; - -/** - * TraceableUrlMatcher helps debug path info matching by tracing the match. - * - * @author Fabien Potencier - */ -class TraceableUrlMatcher extends UrlMatcher -{ - const ROUTE_DOES_NOT_MATCH = 0; - const ROUTE_ALMOST_MATCHES = 1; - const ROUTE_MATCHES = 2; - - protected $traces; - - public function getTraces($pathinfo) - { - $this->traces = []; - - try { - $this->match($pathinfo); - } catch (ExceptionInterface $e) { - } - - return $this->traces; - } - - public function getTracesForRequest(Request $request) - { - $this->request = $request; - $traces = $this->getTraces($request->getPathInfo()); - $this->request = null; - - return $traces; - } - - protected function matchCollection($pathinfo, RouteCollection $routes) - { - // HEAD and GET are equivalent as per RFC - if ('HEAD' === $method = $this->context->getMethod()) { - $method = 'GET'; - } - $supportsTrailingSlash = 'GET' === $method && $this instanceof RedirectableUrlMatcherInterface; - $trimmedPathinfo = rtrim($pathinfo, '/') ?: '/'; - - foreach ($routes as $name => $route) { - $compiledRoute = $route->compile(); - $staticPrefix = rtrim($compiledRoute->getStaticPrefix(), '/'); - $requiredMethods = $route->getMethods(); - - // check the static prefix of the URL first. Only use the more expensive preg_match when it matches - if ('' !== $staticPrefix && 0 !== strpos($trimmedPathinfo, $staticPrefix)) { - $this->addTrace(sprintf('Path "%s" does not match', $route->getPath()), self::ROUTE_DOES_NOT_MATCH, $name, $route); - continue; - } - $regex = $compiledRoute->getRegex(); - - $pos = strrpos($regex, '$'); - $hasTrailingSlash = '/' === $regex[$pos - 1]; - $regex = substr_replace($regex, '/?$', $pos - $hasTrailingSlash, 1 + $hasTrailingSlash); - - if (!preg_match($regex, $pathinfo, $matches)) { - // does it match without any requirements? - $r = new Route($route->getPath(), $route->getDefaults(), [], $route->getOptions()); - $cr = $r->compile(); - if (!preg_match($cr->getRegex(), $pathinfo)) { - $this->addTrace(sprintf('Path "%s" does not match', $route->getPath()), self::ROUTE_DOES_NOT_MATCH, $name, $route); - - continue; - } - - foreach ($route->getRequirements() as $n => $regex) { - $r = new Route($route->getPath(), $route->getDefaults(), [$n => $regex], $route->getOptions()); - $cr = $r->compile(); - - if (\in_array($n, $cr->getVariables()) && !preg_match($cr->getRegex(), $pathinfo)) { - $this->addTrace(sprintf('Requirement for "%s" does not match (%s)', $n, $regex), self::ROUTE_ALMOST_MATCHES, $name, $route); - - continue 2; - } - } - - continue; - } - - $hasTrailingVar = $trimmedPathinfo !== $pathinfo && preg_match('#\{\w+\}/?$#', $route->getPath()); - - if ($hasTrailingVar && ($hasTrailingSlash || (null === $m = $matches[\count($compiledRoute->getPathVariables())] ?? null) || '/' !== ($m[-1] ?? '/')) && preg_match($regex, $trimmedPathinfo, $m)) { - if ($hasTrailingSlash) { - $matches = $m; - } else { - $hasTrailingVar = false; - } - } - - $hostMatches = []; - if ($compiledRoute->getHostRegex() && !preg_match($compiledRoute->getHostRegex(), $this->context->getHost(), $hostMatches)) { - $this->addTrace(sprintf('Host "%s" does not match the requirement ("%s")', $this->context->getHost(), $route->getHost()), self::ROUTE_ALMOST_MATCHES, $name, $route); - continue; - } - - $status = $this->handleRouteRequirements($pathinfo, $name, $route); - - if (self::REQUIREMENT_MISMATCH === $status[0]) { - $this->addTrace(sprintf('Condition "%s" does not evaluate to "true"', $route->getCondition()), self::ROUTE_ALMOST_MATCHES, $name, $route); - continue; - } - - if ('/' !== $pathinfo && !$hasTrailingVar && $hasTrailingSlash === ($trimmedPathinfo === $pathinfo)) { - if ($supportsTrailingSlash && (!$requiredMethods || \in_array('GET', $requiredMethods))) { - $this->addTrace('Route matches!', self::ROUTE_MATCHES, $name, $route); - - return $this->allow = $this->allowSchemes = []; - } - $this->addTrace(sprintf('Path "%s" does not match', $route->getPath()), self::ROUTE_DOES_NOT_MATCH, $name, $route); - continue; - } - - if ($route->getSchemes() && !$route->hasScheme($this->context->getScheme())) { - $this->allowSchemes = array_merge($this->allowSchemes, $route->getSchemes()); - $this->addTrace(sprintf('Scheme "%s" does not match any of the required schemes (%s)', $this->context->getScheme(), implode(', ', $route->getSchemes())), self::ROUTE_ALMOST_MATCHES, $name, $route); - continue; - } - - if ($requiredMethods && !\in_array($method, $requiredMethods)) { - $this->allow = array_merge($this->allow, $requiredMethods); - $this->addTrace(sprintf('Method "%s" does not match any of the required methods (%s)', $this->context->getMethod(), implode(', ', $requiredMethods)), self::ROUTE_ALMOST_MATCHES, $name, $route); - continue; - } - - $this->addTrace('Route matches!', self::ROUTE_MATCHES, $name, $route); - - return $this->getAttributes($route, $name, array_replace($matches, $hostMatches, isset($status[1]) ? $status[1] : [])); - } - - return []; - } - - private function addTrace(string $log, int $level = self::ROUTE_DOES_NOT_MATCH, string $name = null, Route $route = null) - { - $this->traces[] = [ - 'log' => $log, - 'name' => $name, - 'level' => $level, - 'path' => null !== $route ? $route->getPath() : null, - ]; - } -} diff --git a/paragonik-backend/vendor/symfony/routing/Matcher/UrlMatcher.php b/paragonik-backend/vendor/symfony/routing/Matcher/UrlMatcher.php deleted file mode 100644 index b44dfa1..0000000 --- a/paragonik-backend/vendor/symfony/routing/Matcher/UrlMatcher.php +++ /dev/null @@ -1,288 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Routing\Matcher; - -use Symfony\Component\ExpressionLanguage\ExpressionFunctionProviderInterface; -use Symfony\Component\ExpressionLanguage\ExpressionLanguage; -use Symfony\Component\HttpFoundation\Request; -use Symfony\Component\Routing\Exception\MethodNotAllowedException; -use Symfony\Component\Routing\Exception\NoConfigurationException; -use Symfony\Component\Routing\Exception\ResourceNotFoundException; -use Symfony\Component\Routing\RequestContext; -use Symfony\Component\Routing\Route; -use Symfony\Component\Routing\RouteCollection; - -/** - * UrlMatcher matches URL based on a set of routes. - * - * @author Fabien Potencier - */ -class UrlMatcher implements UrlMatcherInterface, RequestMatcherInterface -{ - const REQUIREMENT_MATCH = 0; - const REQUIREMENT_MISMATCH = 1; - const ROUTE_MATCH = 2; - - /** @var RequestContext */ - protected $context; - - /** - * Collects HTTP methods that would be allowed for the request. - */ - protected $allow = []; - - /** - * Collects URI schemes that would be allowed for the request. - * - * @internal - */ - protected $allowSchemes = []; - - protected $routes; - protected $request; - protected $expressionLanguage; - - /** - * @var ExpressionFunctionProviderInterface[] - */ - protected $expressionLanguageProviders = []; - - public function __construct(RouteCollection $routes, RequestContext $context) - { - $this->routes = $routes; - $this->context = $context; - } - - /** - * {@inheritdoc} - */ - public function setContext(RequestContext $context) - { - $this->context = $context; - } - - /** - * {@inheritdoc} - */ - public function getContext() - { - return $this->context; - } - - /** - * {@inheritdoc} - */ - public function match($pathinfo) - { - $this->allow = $this->allowSchemes = []; - - if ($ret = $this->matchCollection(rawurldecode($pathinfo) ?: '/', $this->routes)) { - return $ret; - } - - if ('/' === $pathinfo && !$this->allow && !$this->allowSchemes) { - throw new NoConfigurationException(); - } - - throw 0 < \count($this->allow) ? new MethodNotAllowedException(array_unique($this->allow)) : new ResourceNotFoundException(sprintf('No routes found for "%s".', $pathinfo)); - } - - /** - * {@inheritdoc} - */ - public function matchRequest(Request $request) - { - $this->request = $request; - - $ret = $this->match($request->getPathInfo()); - - $this->request = null; - - return $ret; - } - - public function addExpressionLanguageProvider(ExpressionFunctionProviderInterface $provider) - { - $this->expressionLanguageProviders[] = $provider; - } - - /** - * Tries to match a URL with a set of routes. - * - * @param string $pathinfo The path info to be parsed - * - * @return array An array of parameters - * - * @throws NoConfigurationException If no routing configuration could be found - * @throws ResourceNotFoundException If the resource could not be found - * @throws MethodNotAllowedException If the resource was found but the request method is not allowed - */ - protected function matchCollection($pathinfo, RouteCollection $routes) - { - // HEAD and GET are equivalent as per RFC - if ('HEAD' === $method = $this->context->getMethod()) { - $method = 'GET'; - } - $supportsTrailingSlash = 'GET' === $method && $this instanceof RedirectableUrlMatcherInterface; - $trimmedPathinfo = rtrim($pathinfo, '/') ?: '/'; - - foreach ($routes as $name => $route) { - $compiledRoute = $route->compile(); - $staticPrefix = rtrim($compiledRoute->getStaticPrefix(), '/'); - $requiredMethods = $route->getMethods(); - - // check the static prefix of the URL first. Only use the more expensive preg_match when it matches - if ('' !== $staticPrefix && 0 !== strpos($trimmedPathinfo, $staticPrefix)) { - continue; - } - $regex = $compiledRoute->getRegex(); - - $pos = strrpos($regex, '$'); - $hasTrailingSlash = '/' === $regex[$pos - 1]; - $regex = substr_replace($regex, '/?$', $pos - $hasTrailingSlash, 1 + $hasTrailingSlash); - - if (!preg_match($regex, $pathinfo, $matches)) { - continue; - } - - $hasTrailingVar = $trimmedPathinfo !== $pathinfo && preg_match('#\{\w+\}/?$#', $route->getPath()); - - if ($hasTrailingVar && ($hasTrailingSlash || (null === $m = $matches[\count($compiledRoute->getPathVariables())] ?? null) || '/' !== ($m[-1] ?? '/')) && preg_match($regex, $trimmedPathinfo, $m)) { - if ($hasTrailingSlash) { - $matches = $m; - } else { - $hasTrailingVar = false; - } - } - - $hostMatches = []; - if ($compiledRoute->getHostRegex() && !preg_match($compiledRoute->getHostRegex(), $this->context->getHost(), $hostMatches)) { - continue; - } - - $status = $this->handleRouteRequirements($pathinfo, $name, $route); - - if (self::REQUIREMENT_MISMATCH === $status[0]) { - continue; - } - - if ('/' !== $pathinfo && !$hasTrailingVar && $hasTrailingSlash === ($trimmedPathinfo === $pathinfo)) { - if ($supportsTrailingSlash && (!$requiredMethods || \in_array('GET', $requiredMethods))) { - return $this->allow = $this->allowSchemes = []; - } - continue; - } - - if ($route->getSchemes() && !$route->hasScheme($this->context->getScheme())) { - $this->allowSchemes = array_merge($this->allowSchemes, $route->getSchemes()); - continue; - } - - if ($requiredMethods && !\in_array($method, $requiredMethods)) { - $this->allow = array_merge($this->allow, $requiredMethods); - continue; - } - - return $this->getAttributes($route, $name, array_replace($matches, $hostMatches, isset($status[1]) ? $status[1] : [])); - } - - return []; - } - - /** - * Returns an array of values to use as request attributes. - * - * As this method requires the Route object, it is not available - * in matchers that do not have access to the matched Route instance - * (like the PHP and Apache matcher dumpers). - * - * @param string $name The name of the route - * @param array $attributes An array of attributes from the matcher - * - * @return array An array of parameters - */ - protected function getAttributes(Route $route, $name, array $attributes) - { - $defaults = $route->getDefaults(); - if (isset($defaults['_canonical_route'])) { - $name = $defaults['_canonical_route']; - unset($defaults['_canonical_route']); - } - $attributes['_route'] = $name; - - return $this->mergeDefaults($attributes, $defaults); - } - - /** - * Handles specific route requirements. - * - * @param string $pathinfo The path - * @param string $name The route name - * - * @return array The first element represents the status, the second contains additional information - */ - protected function handleRouteRequirements($pathinfo, $name, Route $route) - { - // expression condition - if ($route->getCondition() && !$this->getExpressionLanguage()->evaluate($route->getCondition(), ['context' => $this->context, 'request' => $this->request ?: $this->createRequest($pathinfo)])) { - return [self::REQUIREMENT_MISMATCH, null]; - } - - return [self::REQUIREMENT_MATCH, null]; - } - - /** - * Get merged default parameters. - * - * @param array $params The parameters - * @param array $defaults The defaults - * - * @return array Merged default parameters - */ - protected function mergeDefaults($params, $defaults) - { - foreach ($params as $key => $value) { - if (!\is_int($key) && null !== $value) { - $defaults[$key] = $value; - } - } - - return $defaults; - } - - protected function getExpressionLanguage() - { - if (null === $this->expressionLanguage) { - if (!class_exists('Symfony\Component\ExpressionLanguage\ExpressionLanguage')) { - throw new \LogicException('Unable to use expressions as the Symfony ExpressionLanguage component is not installed.'); - } - $this->expressionLanguage = new ExpressionLanguage(null, $this->expressionLanguageProviders); - } - - return $this->expressionLanguage; - } - - /** - * @internal - */ - protected function createRequest(string $pathinfo): ?Request - { - if (!class_exists('Symfony\Component\HttpFoundation\Request')) { - return null; - } - - return Request::create($this->context->getScheme().'://'.$this->context->getHost().$this->context->getBaseUrl().$pathinfo, $this->context->getMethod(), $this->context->getParameters(), [], [], [ - 'SCRIPT_FILENAME' => $this->context->getBaseUrl(), - 'SCRIPT_NAME' => $this->context->getBaseUrl(), - ]); - } -} diff --git a/paragonik-backend/vendor/symfony/routing/Matcher/UrlMatcherInterface.php b/paragonik-backend/vendor/symfony/routing/Matcher/UrlMatcherInterface.php deleted file mode 100644 index 17f1f97..0000000 --- a/paragonik-backend/vendor/symfony/routing/Matcher/UrlMatcherInterface.php +++ /dev/null @@ -1,41 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Routing\Matcher; - -use Symfony\Component\Routing\Exception\MethodNotAllowedException; -use Symfony\Component\Routing\Exception\NoConfigurationException; -use Symfony\Component\Routing\Exception\ResourceNotFoundException; -use Symfony\Component\Routing\RequestContextAwareInterface; - -/** - * UrlMatcherInterface is the interface that all URL matcher classes must implement. - * - * @author Fabien Potencier - */ -interface UrlMatcherInterface extends RequestContextAwareInterface -{ - /** - * Tries to match a URL path with a set of routes. - * - * If the matcher can not find information, it must throw one of the exceptions documented - * below. - * - * @param string $pathinfo The path info to be parsed (raw format, i.e. not urldecoded) - * - * @return array An array of parameters - * - * @throws NoConfigurationException If no routing configuration could be found - * @throws ResourceNotFoundException If the resource could not be found - * @throws MethodNotAllowedException If the resource was found but the request method is not allowed - */ - public function match($pathinfo); -} diff --git a/paragonik-backend/vendor/symfony/routing/README.md b/paragonik-backend/vendor/symfony/routing/README.md deleted file mode 100644 index 88fb1fd..0000000 --- a/paragonik-backend/vendor/symfony/routing/README.md +++ /dev/null @@ -1,13 +0,0 @@ -Routing Component -================= - -The Routing component maps an HTTP request to a set of configuration variables. - -Resources ---------- - - * [Documentation](https://symfony.com/doc/current/components/routing/index.html) - * [Contributing](https://symfony.com/doc/current/contributing/index.html) - * [Report issues](https://github.com/symfony/symfony/issues) and - [send Pull Requests](https://github.com/symfony/symfony/pulls) - in the [main Symfony repository](https://github.com/symfony/symfony) diff --git a/paragonik-backend/vendor/symfony/routing/RequestContext.php b/paragonik-backend/vendor/symfony/routing/RequestContext.php deleted file mode 100644 index 1d68b17..0000000 --- a/paragonik-backend/vendor/symfony/routing/RequestContext.php +++ /dev/null @@ -1,326 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Routing; - -use Symfony\Component\HttpFoundation\Request; - -/** - * Holds information about the current request. - * - * This class implements a fluent interface. - * - * @author Fabien Potencier - * @author Tobias Schultze - */ -class RequestContext -{ - private $baseUrl; - private $pathInfo; - private $method; - private $host; - private $scheme; - private $httpPort; - private $httpsPort; - private $queryString; - private $parameters = []; - - public function __construct(string $baseUrl = '', string $method = 'GET', string $host = 'localhost', string $scheme = 'http', int $httpPort = 80, int $httpsPort = 443, string $path = '/', string $queryString = '') - { - $this->setBaseUrl($baseUrl); - $this->setMethod($method); - $this->setHost($host); - $this->setScheme($scheme); - $this->setHttpPort($httpPort); - $this->setHttpsPort($httpsPort); - $this->setPathInfo($path); - $this->setQueryString($queryString); - } - - /** - * Updates the RequestContext information based on a HttpFoundation Request. - * - * @return $this - */ - public function fromRequest(Request $request) - { - $this->setBaseUrl($request->getBaseUrl()); - $this->setPathInfo($request->getPathInfo()); - $this->setMethod($request->getMethod()); - $this->setHost($request->getHost()); - $this->setScheme($request->getScheme()); - $this->setHttpPort($request->isSecure() || null === $request->getPort() ? $this->httpPort : $request->getPort()); - $this->setHttpsPort($request->isSecure() && null !== $request->getPort() ? $request->getPort() : $this->httpsPort); - $this->setQueryString($request->server->get('QUERY_STRING', '')); - - return $this; - } - - /** - * Gets the base URL. - * - * @return string The base URL - */ - public function getBaseUrl() - { - return $this->baseUrl; - } - - /** - * Sets the base URL. - * - * @param string $baseUrl The base URL - * - * @return $this - */ - public function setBaseUrl($baseUrl) - { - $this->baseUrl = $baseUrl; - - return $this; - } - - /** - * Gets the path info. - * - * @return string The path info - */ - public function getPathInfo() - { - return $this->pathInfo; - } - - /** - * Sets the path info. - * - * @param string $pathInfo The path info - * - * @return $this - */ - public function setPathInfo($pathInfo) - { - $this->pathInfo = $pathInfo; - - return $this; - } - - /** - * Gets the HTTP method. - * - * The method is always an uppercased string. - * - * @return string The HTTP method - */ - public function getMethod() - { - return $this->method; - } - - /** - * Sets the HTTP method. - * - * @param string $method The HTTP method - * - * @return $this - */ - public function setMethod($method) - { - $this->method = strtoupper($method); - - return $this; - } - - /** - * Gets the HTTP host. - * - * The host is always lowercased because it must be treated case-insensitive. - * - * @return string The HTTP host - */ - public function getHost() - { - return $this->host; - } - - /** - * Sets the HTTP host. - * - * @param string $host The HTTP host - * - * @return $this - */ - public function setHost($host) - { - $this->host = strtolower($host); - - return $this; - } - - /** - * Gets the HTTP scheme. - * - * @return string The HTTP scheme - */ - public function getScheme() - { - return $this->scheme; - } - - /** - * Sets the HTTP scheme. - * - * @param string $scheme The HTTP scheme - * - * @return $this - */ - public function setScheme($scheme) - { - $this->scheme = strtolower($scheme); - - return $this; - } - - /** - * Gets the HTTP port. - * - * @return int The HTTP port - */ - public function getHttpPort() - { - return $this->httpPort; - } - - /** - * Sets the HTTP port. - * - * @param int $httpPort The HTTP port - * - * @return $this - */ - public function setHttpPort($httpPort) - { - $this->httpPort = (int) $httpPort; - - return $this; - } - - /** - * Gets the HTTPS port. - * - * @return int The HTTPS port - */ - public function getHttpsPort() - { - return $this->httpsPort; - } - - /** - * Sets the HTTPS port. - * - * @param int $httpsPort The HTTPS port - * - * @return $this - */ - public function setHttpsPort($httpsPort) - { - $this->httpsPort = (int) $httpsPort; - - return $this; - } - - /** - * Gets the query string. - * - * @return string The query string without the "?" - */ - public function getQueryString() - { - return $this->queryString; - } - - /** - * Sets the query string. - * - * @param string $queryString The query string (after "?") - * - * @return $this - */ - public function setQueryString($queryString) - { - // string cast to be fault-tolerant, accepting null - $this->queryString = (string) $queryString; - - return $this; - } - - /** - * Returns the parameters. - * - * @return array The parameters - */ - public function getParameters() - { - return $this->parameters; - } - - /** - * Sets the parameters. - * - * @param array $parameters The parameters - * - * @return $this - */ - public function setParameters(array $parameters) - { - $this->parameters = $parameters; - - return $this; - } - - /** - * Gets a parameter value. - * - * @param string $name A parameter name - * - * @return mixed The parameter value or null if nonexistent - */ - public function getParameter($name) - { - return isset($this->parameters[$name]) ? $this->parameters[$name] : null; - } - - /** - * Checks if a parameter value is set for the given parameter. - * - * @param string $name A parameter name - * - * @return bool True if the parameter value is set, false otherwise - */ - public function hasParameter($name) - { - return \array_key_exists($name, $this->parameters); - } - - /** - * Sets a parameter value. - * - * @param string $name A parameter name - * @param mixed $parameter The parameter value - * - * @return $this - */ - public function setParameter($name, $parameter) - { - $this->parameters[$name] = $parameter; - - return $this; - } -} diff --git a/paragonik-backend/vendor/symfony/routing/RequestContextAwareInterface.php b/paragonik-backend/vendor/symfony/routing/RequestContextAwareInterface.php deleted file mode 100644 index df5b9fc..0000000 --- a/paragonik-backend/vendor/symfony/routing/RequestContextAwareInterface.php +++ /dev/null @@ -1,27 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Routing; - -interface RequestContextAwareInterface -{ - /** - * Sets the request context. - */ - public function setContext(RequestContext $context); - - /** - * Gets the request context. - * - * @return RequestContext The context - */ - public function getContext(); -} diff --git a/paragonik-backend/vendor/symfony/routing/Route.php b/paragonik-backend/vendor/symfony/routing/Route.php deleted file mode 100644 index 03ec76e..0000000 --- a/paragonik-backend/vendor/symfony/routing/Route.php +++ /dev/null @@ -1,580 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Routing; - -/** - * A Route describes a route and its parameters. - * - * @author Fabien Potencier - * @author Tobias Schultze - */ -class Route implements \Serializable -{ - private $path = '/'; - private $host = ''; - private $schemes = []; - private $methods = []; - private $defaults = []; - private $requirements = []; - private $options = []; - private $condition = ''; - - /** - * @var CompiledRoute|null - */ - private $compiled; - - /** - * Constructor. - * - * Available options: - * - * * compiler_class: A class name able to compile this route instance (RouteCompiler by default) - * * utf8: Whether UTF-8 matching is enforced ot not - * - * @param string $path The path pattern to match - * @param array $defaults An array of default parameter values - * @param array $requirements An array of requirements for parameters (regexes) - * @param array $options An array of options - * @param string|null $host The host pattern to match - * @param string|string[] $schemes A required URI scheme or an array of restricted schemes - * @param string|string[] $methods A required HTTP method or an array of restricted methods - * @param string|null $condition A condition that should evaluate to true for the route to match - */ - public function __construct(string $path, array $defaults = [], array $requirements = [], array $options = [], ?string $host = '', $schemes = [], $methods = [], ?string $condition = '') - { - $this->setPath($path); - $this->addDefaults($defaults); - $this->addRequirements($requirements); - $this->setOptions($options); - $this->setHost($host); - $this->setSchemes($schemes); - $this->setMethods($methods); - $this->setCondition($condition); - } - - public function __serialize(): array - { - return [ - 'path' => $this->path, - 'host' => $this->host, - 'defaults' => $this->defaults, - 'requirements' => $this->requirements, - 'options' => $this->options, - 'schemes' => $this->schemes, - 'methods' => $this->methods, - 'condition' => $this->condition, - 'compiled' => $this->compiled, - ]; - } - - /** - * @return string - * - * @internal since Symfony 4.3 - * @final since Symfony 4.3 - */ - public function serialize() - { - return serialize($this->__serialize()); - } - - public function __unserialize(array $data): void - { - $this->path = $data['path']; - $this->host = $data['host']; - $this->defaults = $data['defaults']; - $this->requirements = $data['requirements']; - $this->options = $data['options']; - $this->schemes = $data['schemes']; - $this->methods = $data['methods']; - - if (isset($data['condition'])) { - $this->condition = $data['condition']; - } - if (isset($data['compiled'])) { - $this->compiled = $data['compiled']; - } - } - - /** - * @internal since Symfony 4.3 - * @final since Symfony 4.3 - */ - public function unserialize($serialized) - { - $this->__unserialize(unserialize($serialized)); - } - - /** - * Returns the pattern for the path. - * - * @return string The path pattern - */ - public function getPath() - { - return $this->path; - } - - /** - * Sets the pattern for the path. - * - * This method implements a fluent interface. - * - * @param string $pattern The path pattern - * - * @return $this - */ - public function setPath($pattern) - { - if (false !== strpbrk($pattern, '?<')) { - $pattern = preg_replace_callback('#\{(\w++)(<.*?>)?(\?[^\}]*+)?\}#', function ($m) { - if (isset($m[3][0])) { - $this->setDefault($m[1], '?' !== $m[3] ? substr($m[3], 1) : null); - } - if (isset($m[2][0])) { - $this->setRequirement($m[1], substr($m[2], 1, -1)); - } - - return '{'.$m[1].'}'; - }, $pattern); - } - - // A pattern must start with a slash and must not have multiple slashes at the beginning because the - // generated path for this route would be confused with a network path, e.g. '//domain.com/path'. - $this->path = '/'.ltrim(trim($pattern), '/'); - $this->compiled = null; - - return $this; - } - - /** - * Returns the pattern for the host. - * - * @return string The host pattern - */ - public function getHost() - { - return $this->host; - } - - /** - * Sets the pattern for the host. - * - * This method implements a fluent interface. - * - * @param string $pattern The host pattern - * - * @return $this - */ - public function setHost($pattern) - { - $this->host = (string) $pattern; - $this->compiled = null; - - return $this; - } - - /** - * Returns the lowercased schemes this route is restricted to. - * So an empty array means that any scheme is allowed. - * - * @return string[] The schemes - */ - public function getSchemes() - { - return $this->schemes; - } - - /** - * Sets the schemes (e.g. 'https') this route is restricted to. - * So an empty array means that any scheme is allowed. - * - * This method implements a fluent interface. - * - * @param string|string[] $schemes The scheme or an array of schemes - * - * @return $this - */ - public function setSchemes($schemes) - { - $this->schemes = array_map('strtolower', (array) $schemes); - $this->compiled = null; - - return $this; - } - - /** - * Checks if a scheme requirement has been set. - * - * @param string $scheme - * - * @return bool true if the scheme requirement exists, otherwise false - */ - public function hasScheme($scheme) - { - return \in_array(strtolower($scheme), $this->schemes, true); - } - - /** - * Returns the uppercased HTTP methods this route is restricted to. - * So an empty array means that any method is allowed. - * - * @return string[] The methods - */ - public function getMethods() - { - return $this->methods; - } - - /** - * Sets the HTTP methods (e.g. 'POST') this route is restricted to. - * So an empty array means that any method is allowed. - * - * This method implements a fluent interface. - * - * @param string|string[] $methods The method or an array of methods - * - * @return $this - */ - public function setMethods($methods) - { - $this->methods = array_map('strtoupper', (array) $methods); - $this->compiled = null; - - return $this; - } - - /** - * Returns the options. - * - * @return array The options - */ - public function getOptions() - { - return $this->options; - } - - /** - * Sets the options. - * - * This method implements a fluent interface. - * - * @return $this - */ - public function setOptions(array $options) - { - $this->options = [ - 'compiler_class' => 'Symfony\\Component\\Routing\\RouteCompiler', - ]; - - return $this->addOptions($options); - } - - /** - * Adds options. - * - * This method implements a fluent interface. - * - * @return $this - */ - public function addOptions(array $options) - { - foreach ($options as $name => $option) { - $this->options[$name] = $option; - } - $this->compiled = null; - - return $this; - } - - /** - * Sets an option value. - * - * This method implements a fluent interface. - * - * @param string $name An option name - * @param mixed $value The option value - * - * @return $this - */ - public function setOption($name, $value) - { - $this->options[$name] = $value; - $this->compiled = null; - - return $this; - } - - /** - * Get an option value. - * - * @param string $name An option name - * - * @return mixed The option value or null when not given - */ - public function getOption($name) - { - return isset($this->options[$name]) ? $this->options[$name] : null; - } - - /** - * Checks if an option has been set. - * - * @param string $name An option name - * - * @return bool true if the option is set, false otherwise - */ - public function hasOption($name) - { - return \array_key_exists($name, $this->options); - } - - /** - * Returns the defaults. - * - * @return array The defaults - */ - public function getDefaults() - { - return $this->defaults; - } - - /** - * Sets the defaults. - * - * This method implements a fluent interface. - * - * @param array $defaults The defaults - * - * @return $this - */ - public function setDefaults(array $defaults) - { - $this->defaults = []; - - return $this->addDefaults($defaults); - } - - /** - * Adds defaults. - * - * This method implements a fluent interface. - * - * @param array $defaults The defaults - * - * @return $this - */ - public function addDefaults(array $defaults) - { - foreach ($defaults as $name => $default) { - $this->defaults[$name] = $default; - } - $this->compiled = null; - - return $this; - } - - /** - * Gets a default value. - * - * @param string $name A variable name - * - * @return mixed The default value or null when not given - */ - public function getDefault($name) - { - return isset($this->defaults[$name]) ? $this->defaults[$name] : null; - } - - /** - * Checks if a default value is set for the given variable. - * - * @param string $name A variable name - * - * @return bool true if the default value is set, false otherwise - */ - public function hasDefault($name) - { - return \array_key_exists($name, $this->defaults); - } - - /** - * Sets a default value. - * - * @param string $name A variable name - * @param mixed $default The default value - * - * @return $this - */ - public function setDefault($name, $default) - { - $this->defaults[$name] = $default; - $this->compiled = null; - - return $this; - } - - /** - * Returns the requirements. - * - * @return array The requirements - */ - public function getRequirements() - { - return $this->requirements; - } - - /** - * Sets the requirements. - * - * This method implements a fluent interface. - * - * @param array $requirements The requirements - * - * @return $this - */ - public function setRequirements(array $requirements) - { - $this->requirements = []; - - return $this->addRequirements($requirements); - } - - /** - * Adds requirements. - * - * This method implements a fluent interface. - * - * @param array $requirements The requirements - * - * @return $this - */ - public function addRequirements(array $requirements) - { - foreach ($requirements as $key => $regex) { - $this->requirements[$key] = $this->sanitizeRequirement($key, $regex); - } - $this->compiled = null; - - return $this; - } - - /** - * Returns the requirement for the given key. - * - * @param string $key The key - * - * @return string|null The regex or null when not given - */ - public function getRequirement($key) - { - return isset($this->requirements[$key]) ? $this->requirements[$key] : null; - } - - /** - * Checks if a requirement is set for the given key. - * - * @param string $key A variable name - * - * @return bool true if a requirement is specified, false otherwise - */ - public function hasRequirement($key) - { - return \array_key_exists($key, $this->requirements); - } - - /** - * Sets a requirement for the given key. - * - * @param string $key The key - * @param string $regex The regex - * - * @return $this - */ - public function setRequirement($key, $regex) - { - $this->requirements[$key] = $this->sanitizeRequirement($key, $regex); - $this->compiled = null; - - return $this; - } - - /** - * Returns the condition. - * - * @return string The condition - */ - public function getCondition() - { - return $this->condition; - } - - /** - * Sets the condition. - * - * This method implements a fluent interface. - * - * @param string $condition The condition - * - * @return $this - */ - public function setCondition($condition) - { - $this->condition = (string) $condition; - $this->compiled = null; - - return $this; - } - - /** - * Compiles the route. - * - * @return CompiledRoute A CompiledRoute instance - * - * @throws \LogicException If the Route cannot be compiled because the - * path or host pattern is invalid - * - * @see RouteCompiler which is responsible for the compilation process - */ - public function compile() - { - if (null !== $this->compiled) { - return $this->compiled; - } - - $class = $this->getOption('compiler_class'); - - return $this->compiled = $class::compile($this); - } - - private function sanitizeRequirement(string $key, $regex) - { - if (!\is_string($regex)) { - throw new \InvalidArgumentException(sprintf('Routing requirement for "%s" must be a string.', $key)); - } - - if ('' !== $regex && '^' === $regex[0]) { - $regex = (string) substr($regex, 1); // returns false for a single character - } - - if ('$' === substr($regex, -1)) { - $regex = substr($regex, 0, -1); - } - - if ('' === $regex) { - throw new \InvalidArgumentException(sprintf('Routing requirement for "%s" cannot be empty.', $key)); - } - - return $regex; - } -} diff --git a/paragonik-backend/vendor/symfony/routing/RouteCollection.php b/paragonik-backend/vendor/symfony/routing/RouteCollection.php deleted file mode 100644 index b52c683..0000000 --- a/paragonik-backend/vendor/symfony/routing/RouteCollection.php +++ /dev/null @@ -1,298 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Routing; - -use Symfony\Component\Config\Resource\ResourceInterface; - -/** - * A RouteCollection represents a set of Route instances. - * - * When adding a route at the end of the collection, an existing route - * with the same name is removed first. So there can only be one route - * with a given name. - * - * @author Fabien Potencier - * @author Tobias Schultze - */ -class RouteCollection implements \IteratorAggregate, \Countable -{ - /** - * @var Route[] - */ - private $routes = []; - - /** - * @var array - */ - private $resources = []; - - public function __clone() - { - foreach ($this->routes as $name => $route) { - $this->routes[$name] = clone $route; - } - } - - /** - * Gets the current RouteCollection as an Iterator that includes all routes. - * - * It implements \IteratorAggregate. - * - * @see all() - * - * @return \ArrayIterator|Route[] An \ArrayIterator object for iterating over routes - */ - public function getIterator() - { - return new \ArrayIterator($this->routes); - } - - /** - * Gets the number of Routes in this collection. - * - * @return int The number of routes - */ - public function count() - { - return \count($this->routes); - } - - /** - * Adds a route. - * - * @param string $name The route name - */ - public function add($name, Route $route) - { - unset($this->routes[$name]); - - $this->routes[$name] = $route; - } - - /** - * Returns all routes in this collection. - * - * @return Route[] An array of routes - */ - public function all() - { - return $this->routes; - } - - /** - * Gets a route by name. - * - * @param string $name The route name - * - * @return Route|null A Route instance or null when not found - */ - public function get($name) - { - return isset($this->routes[$name]) ? $this->routes[$name] : null; - } - - /** - * Removes a route or an array of routes by name from the collection. - * - * @param string|string[] $name The route name or an array of route names - */ - public function remove($name) - { - foreach ((array) $name as $n) { - unset($this->routes[$n]); - } - } - - /** - * Adds a route collection at the end of the current set by appending all - * routes of the added collection. - */ - public function addCollection(self $collection) - { - // we need to remove all routes with the same names first because just replacing them - // would not place the new route at the end of the merged array - foreach ($collection->all() as $name => $route) { - unset($this->routes[$name]); - $this->routes[$name] = $route; - } - - foreach ($collection->getResources() as $resource) { - $this->addResource($resource); - } - } - - /** - * Adds a prefix to the path of all child routes. - * - * @param string $prefix An optional prefix to add before each pattern of the route collection - * @param array $defaults An array of default values - * @param array $requirements An array of requirements - */ - public function addPrefix($prefix, array $defaults = [], array $requirements = []) - { - if (null === $prefix) { - @trigger_error(sprintf('Passing null as $prefix to %s is deprecated in Symfony 4.4 and will trigger a TypeError in 5.0.', __METHOD__), E_USER_DEPRECATED); - } - - $prefix = trim(trim($prefix), '/'); - - if ('' === $prefix) { - return; - } - - foreach ($this->routes as $route) { - $route->setPath('/'.$prefix.$route->getPath()); - $route->addDefaults($defaults); - $route->addRequirements($requirements); - } - } - - /** - * Adds a prefix to the name of all the routes within in the collection. - */ - public function addNamePrefix(string $prefix) - { - $prefixedRoutes = []; - - foreach ($this->routes as $name => $route) { - $prefixedRoutes[$prefix.$name] = $route; - if (null !== $name = $route->getDefault('_canonical_route')) { - $route->setDefault('_canonical_route', $prefix.$name); - } - } - - $this->routes = $prefixedRoutes; - } - - /** - * Sets the host pattern on all routes. - * - * @param string $pattern The pattern - * @param array $defaults An array of default values - * @param array $requirements An array of requirements - */ - public function setHost($pattern, array $defaults = [], array $requirements = []) - { - foreach ($this->routes as $route) { - $route->setHost($pattern); - $route->addDefaults($defaults); - $route->addRequirements($requirements); - } - } - - /** - * Sets a condition on all routes. - * - * Existing conditions will be overridden. - * - * @param string $condition The condition - */ - public function setCondition($condition) - { - foreach ($this->routes as $route) { - $route->setCondition($condition); - } - } - - /** - * Adds defaults to all routes. - * - * An existing default value under the same name in a route will be overridden. - * - * @param array $defaults An array of default values - */ - public function addDefaults(array $defaults) - { - if ($defaults) { - foreach ($this->routes as $route) { - $route->addDefaults($defaults); - } - } - } - - /** - * Adds requirements to all routes. - * - * An existing requirement under the same name in a route will be overridden. - * - * @param array $requirements An array of requirements - */ - public function addRequirements(array $requirements) - { - if ($requirements) { - foreach ($this->routes as $route) { - $route->addRequirements($requirements); - } - } - } - - /** - * Adds options to all routes. - * - * An existing option value under the same name in a route will be overridden. - */ - public function addOptions(array $options) - { - if ($options) { - foreach ($this->routes as $route) { - $route->addOptions($options); - } - } - } - - /** - * Sets the schemes (e.g. 'https') all child routes are restricted to. - * - * @param string|string[] $schemes The scheme or an array of schemes - */ - public function setSchemes($schemes) - { - foreach ($this->routes as $route) { - $route->setSchemes($schemes); - } - } - - /** - * Sets the HTTP methods (e.g. 'POST') all child routes are restricted to. - * - * @param string|string[] $methods The method or an array of methods - */ - public function setMethods($methods) - { - foreach ($this->routes as $route) { - $route->setMethods($methods); - } - } - - /** - * Returns an array of resources loaded to build this collection. - * - * @return ResourceInterface[] An array of resources - */ - public function getResources() - { - return array_values($this->resources); - } - - /** - * Adds a resource for this collection. If the resource already exists - * it is not added. - */ - public function addResource(ResourceInterface $resource) - { - $key = (string) $resource; - - if (!isset($this->resources[$key])) { - $this->resources[$key] = $resource; - } - } -} diff --git a/paragonik-backend/vendor/symfony/routing/RouteCollectionBuilder.php b/paragonik-backend/vendor/symfony/routing/RouteCollectionBuilder.php deleted file mode 100644 index 92cf7e7..0000000 --- a/paragonik-backend/vendor/symfony/routing/RouteCollectionBuilder.php +++ /dev/null @@ -1,376 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Routing; - -use Symfony\Component\Config\Exception\LoaderLoadException; -use Symfony\Component\Config\Loader\LoaderInterface; -use Symfony\Component\Config\Resource\ResourceInterface; - -/** - * Helps add and import routes into a RouteCollection. - * - * @author Ryan Weaver - */ -class RouteCollectionBuilder -{ - /** - * @var Route[]|RouteCollectionBuilder[] - */ - private $routes = []; - - private $loader; - private $defaults = []; - private $prefix; - private $host; - private $condition; - private $requirements = []; - private $options = []; - private $schemes; - private $methods; - private $resources = []; - - public function __construct(LoaderInterface $loader = null) - { - $this->loader = $loader; - } - - /** - * Import an external routing resource and returns the RouteCollectionBuilder. - * - * $routes->import('blog.yml', '/blog'); - * - * @param mixed $resource - * @param string|null $prefix - * @param string $type - * - * @return self - * - * @throws LoaderLoadException - */ - public function import($resource, $prefix = '/', $type = null) - { - /** @var RouteCollection[] $collections */ - $collections = $this->load($resource, $type); - - // create a builder from the RouteCollection - $builder = $this->createBuilder(); - - foreach ($collections as $collection) { - if (null === $collection) { - continue; - } - - foreach ($collection->all() as $name => $route) { - $builder->addRoute($route, $name); - } - - foreach ($collection->getResources() as $resource) { - $builder->addResource($resource); - } - } - - // mount into this builder - $this->mount($prefix, $builder); - - return $builder; - } - - /** - * Adds a route and returns it for future modification. - * - * @param string $path The route path - * @param string $controller The route's controller - * @param string|null $name The name to give this route - * - * @return Route - */ - public function add($path, $controller, $name = null) - { - $route = new Route($path); - $route->setDefault('_controller', $controller); - $this->addRoute($route, $name); - - return $route; - } - - /** - * Returns a RouteCollectionBuilder that can be configured and then added with mount(). - * - * @return self - */ - public function createBuilder() - { - return new self($this->loader); - } - - /** - * Add a RouteCollectionBuilder. - * - * @param string $prefix - */ - public function mount($prefix, self $builder) - { - $builder->prefix = trim(trim($prefix), '/'); - $this->routes[] = $builder; - } - - /** - * Adds a Route object to the builder. - * - * @param string|null $name - * - * @return $this - */ - public function addRoute(Route $route, $name = null) - { - if (null === $name) { - // used as a flag to know which routes will need a name later - $name = '_unnamed_route_'.spl_object_hash($route); - } - - $this->routes[$name] = $route; - - return $this; - } - - /** - * Sets the host on all embedded routes (unless already set). - * - * @param string $pattern - * - * @return $this - */ - public function setHost($pattern) - { - $this->host = $pattern; - - return $this; - } - - /** - * Sets a condition on all embedded routes (unless already set). - * - * @param string $condition - * - * @return $this - */ - public function setCondition($condition) - { - $this->condition = $condition; - - return $this; - } - - /** - * Sets a default value that will be added to all embedded routes (unless that - * default value is already set). - * - * @param string $key - * @param mixed $value - * - * @return $this - */ - public function setDefault($key, $value) - { - $this->defaults[$key] = $value; - - return $this; - } - - /** - * Sets a requirement that will be added to all embedded routes (unless that - * requirement is already set). - * - * @param string $key - * @param mixed $regex - * - * @return $this - */ - public function setRequirement($key, $regex) - { - $this->requirements[$key] = $regex; - - return $this; - } - - /** - * Sets an option that will be added to all embedded routes (unless that - * option is already set). - * - * @param string $key - * @param mixed $value - * - * @return $this - */ - public function setOption($key, $value) - { - $this->options[$key] = $value; - - return $this; - } - - /** - * Sets the schemes on all embedded routes (unless already set). - * - * @param array|string $schemes - * - * @return $this - */ - public function setSchemes($schemes) - { - $this->schemes = $schemes; - - return $this; - } - - /** - * Sets the methods on all embedded routes (unless already set). - * - * @param array|string $methods - * - * @return $this - */ - public function setMethods($methods) - { - $this->methods = $methods; - - return $this; - } - - /** - * Adds a resource for this collection. - * - * @return $this - */ - private function addResource(ResourceInterface $resource): self - { - $this->resources[] = $resource; - - return $this; - } - - /** - * Creates the final RouteCollection and returns it. - * - * @return RouteCollection - */ - public function build() - { - $routeCollection = new RouteCollection(); - - foreach ($this->routes as $name => $route) { - if ($route instanceof Route) { - $route->setDefaults(array_merge($this->defaults, $route->getDefaults())); - $route->setOptions(array_merge($this->options, $route->getOptions())); - - foreach ($this->requirements as $key => $val) { - if (!$route->hasRequirement($key)) { - $route->setRequirement($key, $val); - } - } - - if (null !== $this->prefix) { - $route->setPath('/'.$this->prefix.$route->getPath()); - } - - if (!$route->getHost()) { - $route->setHost($this->host); - } - - if (!$route->getCondition()) { - $route->setCondition($this->condition); - } - - if (!$route->getSchemes()) { - $route->setSchemes($this->schemes); - } - - if (!$route->getMethods()) { - $route->setMethods($this->methods); - } - - // auto-generate the route name if it's been marked - if ('_unnamed_route_' === substr($name, 0, 15)) { - $name = $this->generateRouteName($route); - } - - $routeCollection->add($name, $route); - } else { - /* @var self $route */ - $subCollection = $route->build(); - if (null !== $this->prefix) { - $subCollection->addPrefix($this->prefix); - } - - $routeCollection->addCollection($subCollection); - } - } - - foreach ($this->resources as $resource) { - $routeCollection->addResource($resource); - } - - return $routeCollection; - } - - /** - * Generates a route name based on details of this route. - */ - private function generateRouteName(Route $route): string - { - $methods = implode('_', $route->getMethods()).'_'; - - $routeName = $methods.$route->getPath(); - $routeName = str_replace(['/', ':', '|', '-'], '_', $routeName); - $routeName = preg_replace('/[^a-z0-9A-Z_.]+/', '', $routeName); - - // Collapse consecutive underscores down into a single underscore. - $routeName = preg_replace('/_+/', '_', $routeName); - - return $routeName; - } - - /** - * Finds a loader able to load an imported resource and loads it. - * - * @param mixed $resource A resource - * @param string|null $type The resource type or null if unknown - * - * @return RouteCollection[] - * - * @throws LoaderLoadException If no loader is found - */ - private function load($resource, string $type = null): array - { - if (null === $this->loader) { - throw new \BadMethodCallException('Cannot import other routing resources: you must pass a LoaderInterface when constructing RouteCollectionBuilder.'); - } - - if ($this->loader->supports($resource, $type)) { - $collections = $this->loader->load($resource, $type); - - return \is_array($collections) ? $collections : [$collections]; - } - - if (null === $resolver = $this->loader->getResolver()) { - throw new LoaderLoadException($resource, null, null, null, $type); - } - - if (false === $loader = $resolver->resolve($resource, $type)) { - throw new LoaderLoadException($resource, null, null, null, $type); - } - - $collections = $loader->load($resource, $type); - - return \is_array($collections) ? $collections : [$collections]; - } -} diff --git a/paragonik-backend/vendor/symfony/routing/RouteCompiler.php b/paragonik-backend/vendor/symfony/routing/RouteCompiler.php deleted file mode 100644 index 59f3a32..0000000 --- a/paragonik-backend/vendor/symfony/routing/RouteCompiler.php +++ /dev/null @@ -1,337 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Routing; - -/** - * RouteCompiler compiles Route instances to CompiledRoute instances. - * - * @author Fabien Potencier - * @author Tobias Schultze - */ -class RouteCompiler implements RouteCompilerInterface -{ - const REGEX_DELIMITER = '#'; - - /** - * This string defines the characters that are automatically considered separators in front of - * optional placeholders (with default and no static text following). Such a single separator - * can be left out together with the optional placeholder from matching and generating URLs. - */ - const SEPARATORS = '/,;.:-_~+*=@|'; - - /** - * The maximum supported length of a PCRE subpattern name - * http://pcre.org/current/doc/html/pcre2pattern.html#SEC16. - * - * @internal - */ - const VARIABLE_MAXIMUM_LENGTH = 32; - - /** - * {@inheritdoc} - * - * @throws \InvalidArgumentException if a path variable is named _fragment - * @throws \LogicException if a variable is referenced more than once - * @throws \DomainException if a variable name starts with a digit or if it is too long to be successfully used as - * a PCRE subpattern - */ - public static function compile(Route $route) - { - $hostVariables = []; - $variables = []; - $hostRegex = null; - $hostTokens = []; - - if ('' !== $host = $route->getHost()) { - $result = self::compilePattern($route, $host, true); - - $hostVariables = $result['variables']; - $variables = $hostVariables; - - $hostTokens = $result['tokens']; - $hostRegex = $result['regex']; - } - - $path = $route->getPath(); - - $result = self::compilePattern($route, $path, false); - - $staticPrefix = $result['staticPrefix']; - - $pathVariables = $result['variables']; - - foreach ($pathVariables as $pathParam) { - if ('_fragment' === $pathParam) { - throw new \InvalidArgumentException(sprintf('Route pattern "%s" cannot contain "_fragment" as a path parameter.', $route->getPath())); - } - } - - $variables = array_merge($variables, $pathVariables); - - $tokens = $result['tokens']; - $regex = $result['regex']; - - return new CompiledRoute( - $staticPrefix, - $regex, - $tokens, - $pathVariables, - $hostRegex, - $hostTokens, - $hostVariables, - array_unique($variables) - ); - } - - private static function compilePattern(Route $route, string $pattern, bool $isHost): array - { - $tokens = []; - $variables = []; - $matches = []; - $pos = 0; - $defaultSeparator = $isHost ? '.' : '/'; - $useUtf8 = preg_match('//u', $pattern); - $needsUtf8 = $route->getOption('utf8'); - - if (!$needsUtf8 && $useUtf8 && preg_match('/[\x80-\xFF]/', $pattern)) { - throw new \LogicException(sprintf('Cannot use UTF-8 route patterns without setting the "utf8" option for route "%s".', $route->getPath())); - } - if (!$useUtf8 && $needsUtf8) { - throw new \LogicException(sprintf('Cannot mix UTF-8 requirements with non-UTF-8 pattern "%s".', $pattern)); - } - - // Match all variables enclosed in "{}" and iterate over them. But we only want to match the innermost variable - // in case of nested "{}", e.g. {foo{bar}}. This in ensured because \w does not match "{" or "}" itself. - preg_match_all('#\{(!)?(\w+)\}#', $pattern, $matches, PREG_OFFSET_CAPTURE | PREG_SET_ORDER); - foreach ($matches as $match) { - $important = $match[1][1] >= 0; - $varName = $match[2][0]; - // get all static text preceding the current variable - $precedingText = substr($pattern, $pos, $match[0][1] - $pos); - $pos = $match[0][1] + \strlen($match[0][0]); - - if (!\strlen($precedingText)) { - $precedingChar = ''; - } elseif ($useUtf8) { - preg_match('/.$/u', $precedingText, $precedingChar); - $precedingChar = $precedingChar[0]; - } else { - $precedingChar = substr($precedingText, -1); - } - $isSeparator = '' !== $precedingChar && false !== strpos(static::SEPARATORS, $precedingChar); - - // A PCRE subpattern name must start with a non-digit. Also a PHP variable cannot start with a digit so the - // variable would not be usable as a Controller action argument. - if (preg_match('/^\d/', $varName)) { - throw new \DomainException(sprintf('Variable name "%s" cannot start with a digit in route pattern "%s". Please use a different name.', $varName, $pattern)); - } - if (\in_array($varName, $variables)) { - throw new \LogicException(sprintf('Route pattern "%s" cannot reference variable name "%s" more than once.', $pattern, $varName)); - } - - if (\strlen($varName) > self::VARIABLE_MAXIMUM_LENGTH) { - throw new \DomainException(sprintf('Variable name "%s" cannot be longer than %s characters in route pattern "%s". Please use a shorter name.', $varName, self::VARIABLE_MAXIMUM_LENGTH, $pattern)); - } - - if ($isSeparator && $precedingText !== $precedingChar) { - $tokens[] = ['text', substr($precedingText, 0, -\strlen($precedingChar))]; - } elseif (!$isSeparator && \strlen($precedingText) > 0) { - $tokens[] = ['text', $precedingText]; - } - - $regexp = $route->getRequirement($varName); - if (null === $regexp) { - $followingPattern = (string) substr($pattern, $pos); - // Find the next static character after the variable that functions as a separator. By default, this separator and '/' - // are disallowed for the variable. This default requirement makes sure that optional variables can be matched at all - // and that the generating-matching-combination of URLs unambiguous, i.e. the params used for generating the URL are - // the same that will be matched. Example: new Route('/{page}.{_format}', ['_format' => 'html']) - // If {page} would also match the separating dot, {_format} would never match as {page} will eagerly consume everything. - // Also even if {_format} was not optional the requirement prevents that {page} matches something that was originally - // part of {_format} when generating the URL, e.g. _format = 'mobile.html'. - $nextSeparator = self::findNextSeparator($followingPattern, $useUtf8); - $regexp = sprintf( - '[^%s%s]+', - preg_quote($defaultSeparator, self::REGEX_DELIMITER), - $defaultSeparator !== $nextSeparator && '' !== $nextSeparator ? preg_quote($nextSeparator, self::REGEX_DELIMITER) : '' - ); - if (('' !== $nextSeparator && !preg_match('#^\{\w+\}#', $followingPattern)) || '' === $followingPattern) { - // When we have a separator, which is disallowed for the variable, we can optimize the regex with a possessive - // quantifier. This prevents useless backtracking of PCRE and improves performance by 20% for matching those patterns. - // Given the above example, there is no point in backtracking into {page} (that forbids the dot) when a dot must follow - // after it. This optimization cannot be applied when the next char is no real separator or when the next variable is - // directly adjacent, e.g. '/{x}{y}'. - $regexp .= '+'; - } - } else { - if (!preg_match('//u', $regexp)) { - $useUtf8 = false; - } elseif (!$needsUtf8 && preg_match('/[\x80-\xFF]|(?= 0; --$i) { - $token = $tokens[$i]; - // variable is optional when it is not important and has a default value - if ('variable' === $token[0] && !($token[5] ?? false) && $route->hasDefault($token[3])) { - $firstOptional = $i; - } else { - break; - } - } - } - - // compute the matching regexp - $regexp = ''; - for ($i = 0, $nbToken = \count($tokens); $i < $nbToken; ++$i) { - $regexp .= self::computeRegexp($tokens, $i, $firstOptional); - } - $regexp = self::REGEX_DELIMITER.'^'.$regexp.'$'.self::REGEX_DELIMITER.'sD'.($isHost ? 'i' : ''); - - // enable Utf8 matching if really required - if ($needsUtf8) { - $regexp .= 'u'; - for ($i = 0, $nbToken = \count($tokens); $i < $nbToken; ++$i) { - if ('variable' === $tokens[$i][0]) { - $tokens[$i][4] = true; - } - } - } - - return [ - 'staticPrefix' => self::determineStaticPrefix($route, $tokens), - 'regex' => $regexp, - 'tokens' => array_reverse($tokens), - 'variables' => $variables, - ]; - } - - /** - * Determines the longest static prefix possible for a route. - */ - private static function determineStaticPrefix(Route $route, array $tokens): string - { - if ('text' !== $tokens[0][0]) { - return ($route->hasDefault($tokens[0][3]) || '/' === $tokens[0][1]) ? '' : $tokens[0][1]; - } - - $prefix = $tokens[0][1]; - - if (isset($tokens[1][1]) && '/' !== $tokens[1][1] && false === $route->hasDefault($tokens[1][3])) { - $prefix .= $tokens[1][1]; - } - - return $prefix; - } - - /** - * Returns the next static character in the Route pattern that will serve as a separator (or the empty string when none available). - */ - private static function findNextSeparator(string $pattern, bool $useUtf8): string - { - if ('' == $pattern) { - // return empty string if pattern is empty or false (false which can be returned by substr) - return ''; - } - // first remove all placeholders from the pattern so we can find the next real static character - if ('' === $pattern = preg_replace('#\{\w+\}#', '', $pattern)) { - return ''; - } - if ($useUtf8) { - preg_match('/^./u', $pattern, $pattern); - } - - return false !== strpos(static::SEPARATORS, $pattern[0]) ? $pattern[0] : ''; - } - - /** - * Computes the regexp used to match a specific token. It can be static text or a subpattern. - * - * @param array $tokens The route tokens - * @param int $index The index of the current token - * @param int $firstOptional The index of the first optional token - * - * @return string The regexp pattern for a single token - */ - private static function computeRegexp(array $tokens, int $index, int $firstOptional): string - { - $token = $tokens[$index]; - if ('text' === $token[0]) { - // Text tokens - return preg_quote($token[1], self::REGEX_DELIMITER); - } else { - // Variable tokens - if (0 === $index && 0 === $firstOptional) { - // When the only token is an optional variable token, the separator is required - return sprintf('%s(?P<%s>%s)?', preg_quote($token[1], self::REGEX_DELIMITER), $token[3], $token[2]); - } else { - $regexp = sprintf('%s(?P<%s>%s)', preg_quote($token[1], self::REGEX_DELIMITER), $token[3], $token[2]); - if ($index >= $firstOptional) { - // Enclose each optional token in a subpattern to make it optional. - // "?:" means it is non-capturing, i.e. the portion of the subject string that - // matched the optional subpattern is not passed back. - $regexp = "(?:$regexp"; - $nbTokens = \count($tokens); - if ($nbTokens - 1 == $index) { - // Close the optional subpatterns - $regexp .= str_repeat(')?', $nbTokens - $firstOptional - (0 === $firstOptional ? 1 : 0)); - } - } - - return $regexp; - } - } - } - - private static function transformCapturingGroupsToNonCapturings(string $regexp): string - { - for ($i = 0; $i < \strlen($regexp); ++$i) { - if ('\\' === $regexp[$i]) { - ++$i; - continue; - } - if ('(' !== $regexp[$i] || !isset($regexp[$i + 2])) { - continue; - } - if ('*' === $regexp[++$i] || '?' === $regexp[$i]) { - ++$i; - continue; - } - $regexp = substr_replace($regexp, '?:', $i, 0); - ++$i; - } - - return $regexp; - } -} diff --git a/paragonik-backend/vendor/symfony/routing/RouteCompilerInterface.php b/paragonik-backend/vendor/symfony/routing/RouteCompilerInterface.php deleted file mode 100644 index ddfa7ca..0000000 --- a/paragonik-backend/vendor/symfony/routing/RouteCompilerInterface.php +++ /dev/null @@ -1,30 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Routing; - -/** - * RouteCompilerInterface is the interface that all RouteCompiler classes must implement. - * - * @author Fabien Potencier - */ -interface RouteCompilerInterface -{ - /** - * Compiles the current route instance. - * - * @return CompiledRoute A CompiledRoute instance - * - * @throws \LogicException If the Route cannot be compiled because the - * path or host pattern is invalid - */ - public static function compile(Route $route); -} diff --git a/paragonik-backend/vendor/symfony/routing/Router.php b/paragonik-backend/vendor/symfony/routing/Router.php deleted file mode 100644 index fe540e7..0000000 --- a/paragonik-backend/vendor/symfony/routing/Router.php +++ /dev/null @@ -1,437 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Routing; - -use Psr\Log\LoggerInterface; -use Symfony\Bundle\FrameworkBundle\Routing\RedirectableUrlMatcher; -use Symfony\Component\Config\ConfigCacheFactory; -use Symfony\Component\Config\ConfigCacheFactoryInterface; -use Symfony\Component\Config\ConfigCacheInterface; -use Symfony\Component\Config\Loader\LoaderInterface; -use Symfony\Component\ExpressionLanguage\ExpressionFunctionProviderInterface; -use Symfony\Component\HttpFoundation\Request; -use Symfony\Component\Routing\Generator\CompiledUrlGenerator; -use Symfony\Component\Routing\Generator\ConfigurableRequirementsInterface; -use Symfony\Component\Routing\Generator\Dumper\CompiledUrlGeneratorDumper; -use Symfony\Component\Routing\Generator\Dumper\GeneratorDumperInterface; -use Symfony\Component\Routing\Generator\Dumper\PhpGeneratorDumper; -use Symfony\Component\Routing\Generator\UrlGenerator; -use Symfony\Component\Routing\Generator\UrlGeneratorInterface; -use Symfony\Component\Routing\Matcher\CompiledUrlMatcher; -use Symfony\Component\Routing\Matcher\Dumper\CompiledUrlMatcherDumper; -use Symfony\Component\Routing\Matcher\Dumper\MatcherDumperInterface; -use Symfony\Component\Routing\Matcher\Dumper\PhpMatcherDumper; -use Symfony\Component\Routing\Matcher\RequestMatcherInterface; -use Symfony\Component\Routing\Matcher\UrlMatcher; -use Symfony\Component\Routing\Matcher\UrlMatcherInterface; - -/** - * The Router class is an example of the integration of all pieces of the - * routing system for easier use. - * - * @author Fabien Potencier - */ -class Router implements RouterInterface, RequestMatcherInterface -{ - /** - * @var UrlMatcherInterface|null - */ - protected $matcher; - - /** - * @var UrlGeneratorInterface|null - */ - protected $generator; - - /** - * @var RequestContext - */ - protected $context; - - /** - * @var LoaderInterface - */ - protected $loader; - - /** - * @var RouteCollection|null - */ - protected $collection; - - /** - * @var mixed - */ - protected $resource; - - /** - * @var array - */ - protected $options = []; - - /** - * @var LoggerInterface|null - */ - protected $logger; - - /** - * @var string|null - */ - protected $defaultLocale; - - /** - * @var ConfigCacheFactoryInterface|null - */ - private $configCacheFactory; - - /** - * @var ExpressionFunctionProviderInterface[] - */ - private $expressionLanguageProviders = []; - - /** - * @param mixed $resource The main resource to load - */ - public function __construct(LoaderInterface $loader, $resource, array $options = [], RequestContext $context = null, LoggerInterface $logger = null, string $defaultLocale = null) - { - $this->loader = $loader; - $this->resource = $resource; - $this->logger = $logger; - $this->context = $context ?: new RequestContext(); - $this->setOptions($options); - $this->defaultLocale = $defaultLocale; - } - - /** - * Sets options. - * - * Available options: - * - * * cache_dir: The cache directory (or null to disable caching) - * * debug: Whether to enable debugging or not (false by default) - * * generator_class: The name of a UrlGeneratorInterface implementation - * * generator_dumper_class: The name of a GeneratorDumperInterface implementation - * * matcher_class: The name of a UrlMatcherInterface implementation - * * matcher_dumper_class: The name of a MatcherDumperInterface implementation - * * resource_type: Type hint for the main resource (optional) - * * strict_requirements: Configure strict requirement checking for generators - * implementing ConfigurableRequirementsInterface (default is true) - * - * @throws \InvalidArgumentException When unsupported option is provided - */ - public function setOptions(array $options) - { - $this->options = [ - 'cache_dir' => null, - 'debug' => false, - 'generator_class' => CompiledUrlGenerator::class, - 'generator_base_class' => UrlGenerator::class, // deprecated - 'generator_dumper_class' => CompiledUrlGeneratorDumper::class, - 'generator_cache_class' => 'UrlGenerator', // deprecated - 'matcher_class' => CompiledUrlMatcher::class, - 'matcher_base_class' => UrlMatcher::class, // deprecated - 'matcher_dumper_class' => CompiledUrlMatcherDumper::class, - 'matcher_cache_class' => 'UrlMatcher', // deprecated - 'resource_type' => null, - 'strict_requirements' => true, - ]; - - // check option names and live merge, if errors are encountered Exception will be thrown - $invalid = []; - foreach ($options as $key => $value) { - $this->checkDeprecatedOption($key); - if (\array_key_exists($key, $this->options)) { - $this->options[$key] = $value; - } else { - $invalid[] = $key; - } - } - - if ($invalid) { - throw new \InvalidArgumentException(sprintf('The Router does not support the following options: "%s".', implode('", "', $invalid))); - } - } - - /** - * Sets an option. - * - * @param string $key The key - * @param mixed $value The value - * - * @throws \InvalidArgumentException - */ - public function setOption($key, $value) - { - if (!\array_key_exists($key, $this->options)) { - throw new \InvalidArgumentException(sprintf('The Router does not support the "%s" option.', $key)); - } - - $this->checkDeprecatedOption($key); - - $this->options[$key] = $value; - } - - /** - * Gets an option value. - * - * @param string $key The key - * - * @return mixed The value - * - * @throws \InvalidArgumentException - */ - public function getOption($key) - { - if (!\array_key_exists($key, $this->options)) { - throw new \InvalidArgumentException(sprintf('The Router does not support the "%s" option.', $key)); - } - - $this->checkDeprecatedOption($key); - - return $this->options[$key]; - } - - /** - * {@inheritdoc} - */ - public function getRouteCollection() - { - if (null === $this->collection) { - $this->collection = $this->loader->load($this->resource, $this->options['resource_type']); - } - - return $this->collection; - } - - /** - * {@inheritdoc} - */ - public function setContext(RequestContext $context) - { - $this->context = $context; - - if (null !== $this->matcher) { - $this->getMatcher()->setContext($context); - } - if (null !== $this->generator) { - $this->getGenerator()->setContext($context); - } - } - - /** - * {@inheritdoc} - */ - public function getContext() - { - return $this->context; - } - - /** - * Sets the ConfigCache factory to use. - */ - public function setConfigCacheFactory(ConfigCacheFactoryInterface $configCacheFactory) - { - $this->configCacheFactory = $configCacheFactory; - } - - /** - * {@inheritdoc} - */ - public function generate($name, $parameters = [], $referenceType = self::ABSOLUTE_PATH) - { - return $this->getGenerator()->generate($name, $parameters, $referenceType); - } - - /** - * {@inheritdoc} - */ - public function match($pathinfo) - { - return $this->getMatcher()->match($pathinfo); - } - - /** - * {@inheritdoc} - */ - public function matchRequest(Request $request) - { - $matcher = $this->getMatcher(); - if (!$matcher instanceof RequestMatcherInterface) { - // fallback to the default UrlMatcherInterface - return $matcher->match($request->getPathInfo()); - } - - return $matcher->matchRequest($request); - } - - /** - * Gets the UrlMatcher or RequestMatcher instance associated with this Router. - * - * @return UrlMatcherInterface|RequestMatcherInterface - */ - public function getMatcher() - { - if (null !== $this->matcher) { - return $this->matcher; - } - - $compiled = is_a($this->options['matcher_class'], CompiledUrlMatcher::class, true) && (UrlMatcher::class === $this->options['matcher_base_class'] || RedirectableUrlMatcher::class === $this->options['matcher_base_class']); - - if (null === $this->options['cache_dir'] || null === $this->options['matcher_cache_class']) { - $routes = $this->getRouteCollection(); - if ($compiled) { - $routes = (new CompiledUrlMatcherDumper($routes))->getCompiledRoutes(); - } - $this->matcher = new $this->options['matcher_class']($routes, $this->context); - if (method_exists($this->matcher, 'addExpressionLanguageProvider')) { - foreach ($this->expressionLanguageProviders as $provider) { - $this->matcher->addExpressionLanguageProvider($provider); - } - } - - return $this->matcher; - } - - $cache = $this->getConfigCacheFactory()->cache($this->options['cache_dir'].'/'.$this->options['matcher_cache_class'].'.php', - function (ConfigCacheInterface $cache) { - $dumper = $this->getMatcherDumperInstance(); - if (method_exists($dumper, 'addExpressionLanguageProvider')) { - foreach ($this->expressionLanguageProviders as $provider) { - $dumper->addExpressionLanguageProvider($provider); - } - } - - $options = [ - 'class' => $this->options['matcher_cache_class'], - 'base_class' => $this->options['matcher_base_class'], - ]; - - $cache->write($dumper->dump($options), $this->getRouteCollection()->getResources()); - } - ); - - if ($compiled) { - return $this->matcher = new $this->options['matcher_class'](require $cache->getPath(), $this->context); - } - - if (!class_exists($this->options['matcher_cache_class'], false)) { - require_once $cache->getPath(); - } - - return $this->matcher = new $this->options['matcher_cache_class']($this->context); - } - - /** - * Gets the UrlGenerator instance associated with this Router. - * - * @return UrlGeneratorInterface A UrlGeneratorInterface instance - */ - public function getGenerator() - { - if (null !== $this->generator) { - return $this->generator; - } - - $compiled = is_a($this->options['generator_class'], CompiledUrlGenerator::class, true) && UrlGenerator::class === $this->options['generator_base_class']; - - if (null === $this->options['cache_dir'] || null === $this->options['generator_cache_class']) { - $routes = $this->getRouteCollection(); - if ($compiled) { - $routes = (new CompiledUrlGeneratorDumper($routes))->getCompiledRoutes(); - } - $this->generator = new $this->options['generator_class']($routes, $this->context, $this->logger, $this->defaultLocale); - } else { - $cache = $this->getConfigCacheFactory()->cache($this->options['cache_dir'].'/'.$this->options['generator_cache_class'].'.php', - function (ConfigCacheInterface $cache) { - $dumper = $this->getGeneratorDumperInstance(); - - $options = [ - 'class' => $this->options['generator_cache_class'], - 'base_class' => $this->options['generator_base_class'], - ]; - - $cache->write($dumper->dump($options), $this->getRouteCollection()->getResources()); - } - ); - - if ($compiled) { - $this->generator = new $this->options['generator_class'](require $cache->getPath(), $this->context, $this->logger, $this->defaultLocale); - } else { - if (!class_exists($this->options['generator_cache_class'], false)) { - require_once $cache->getPath(); - } - - $this->generator = new $this->options['generator_cache_class']($this->context, $this->logger, $this->defaultLocale); - } - } - - if ($this->generator instanceof ConfigurableRequirementsInterface) { - $this->generator->setStrictRequirements($this->options['strict_requirements']); - } - - return $this->generator; - } - - public function addExpressionLanguageProvider(ExpressionFunctionProviderInterface $provider) - { - $this->expressionLanguageProviders[] = $provider; - } - - /** - * @return GeneratorDumperInterface - */ - protected function getGeneratorDumperInstance() - { - // For BC, fallback to PhpGeneratorDumper if the UrlGenerator and UrlGeneratorDumper are not consistent with each other - if (is_a($this->options['generator_class'], CompiledUrlGenerator::class, true) !== is_a($this->options['generator_dumper_class'], CompiledUrlGeneratorDumper::class, true)) { - return new PhpGeneratorDumper($this->getRouteCollection()); - } - - return new $this->options['generator_dumper_class']($this->getRouteCollection()); - } - - /** - * @return MatcherDumperInterface - */ - protected function getMatcherDumperInstance() - { - // For BC, fallback to PhpMatcherDumper if the UrlMatcher and UrlMatcherDumper are not consistent with each other - if (is_a($this->options['matcher_class'], CompiledUrlMatcher::class, true) !== is_a($this->options['matcher_dumper_class'], CompiledUrlMatcherDumper::class, true)) { - return new PhpMatcherDumper($this->getRouteCollection()); - } - - return new $this->options['matcher_dumper_class']($this->getRouteCollection()); - } - - /** - * Provides the ConfigCache factory implementation, falling back to a - * default implementation if necessary. - */ - private function getConfigCacheFactory(): ConfigCacheFactoryInterface - { - if (null === $this->configCacheFactory) { - $this->configCacheFactory = new ConfigCacheFactory($this->options['debug']); - } - - return $this->configCacheFactory; - } - - private function checkDeprecatedOption(string $key) - { - switch ($key) { - case 'generator_base_class': - case 'generator_cache_class': - case 'matcher_base_class': - case 'matcher_cache_class': - @trigger_error(sprintf('Option "%s" given to router %s is deprecated since Symfony 4.3.', $key, static::class), E_USER_DEPRECATED); - } - } -} diff --git a/paragonik-backend/vendor/symfony/routing/RouterInterface.php b/paragonik-backend/vendor/symfony/routing/RouterInterface.php deleted file mode 100644 index 8a3e33d..0000000 --- a/paragonik-backend/vendor/symfony/routing/RouterInterface.php +++ /dev/null @@ -1,35 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Routing; - -use Symfony\Component\Routing\Generator\UrlGeneratorInterface; -use Symfony\Component\Routing\Matcher\UrlMatcherInterface; - -/** - * RouterInterface is the interface that all Router classes must implement. - * - * This interface is the concatenation of UrlMatcherInterface and UrlGeneratorInterface. - * - * @author Fabien Potencier - */ -interface RouterInterface extends UrlMatcherInterface, UrlGeneratorInterface -{ - /** - * Gets the RouteCollection instance associated with this Router. - * - * WARNING: This method should never be used at runtime as it is SLOW. - * You might use it in a cache warmer though. - * - * @return RouteCollection A RouteCollection instance - */ - public function getRouteCollection(); -} diff --git a/paragonik-backend/vendor/symfony/routing/composer.json b/paragonik-backend/vendor/symfony/routing/composer.json deleted file mode 100644 index 21fe8ee..0000000 --- a/paragonik-backend/vendor/symfony/routing/composer.json +++ /dev/null @@ -1,54 +0,0 @@ -{ - "name": "symfony/routing", - "type": "library", - "description": "Symfony Routing Component", - "keywords": ["routing", "router", "URL", "URI"], - "homepage": "https://symfony.com", - "license": "MIT", - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "require": { - "php": "^7.1.3" - }, - "require-dev": { - "symfony/config": "^4.2|^5.0", - "symfony/http-foundation": "^3.4|^4.0|^5.0", - "symfony/yaml": "^3.4|^4.0|^5.0", - "symfony/expression-language": "^3.4|^4.0|^5.0", - "symfony/dependency-injection": "^3.4|^4.0|^5.0", - "doctrine/annotations": "~1.2", - "psr/log": "~1.0" - }, - "conflict": { - "symfony/config": "<4.2", - "symfony/dependency-injection": "<3.4", - "symfony/yaml": "<3.4" - }, - "suggest": { - "symfony/http-foundation": "For using a Symfony Request object", - "symfony/config": "For using the all-in-one router or any loader", - "symfony/yaml": "For using the YAML loader", - "symfony/expression-language": "For using expression matching", - "doctrine/annotations": "For using the annotation loader" - }, - "autoload": { - "psr-4": { "Symfony\\Component\\Routing\\": "" }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "minimum-stability": "dev", - "extra": { - "branch-alias": { - "dev-master": "4.4-dev" - } - } -} diff --git a/paragonik-backend/vendor/symfony/service-contracts/.gitignore b/paragonik-backend/vendor/symfony/service-contracts/.gitignore deleted file mode 100644 index c49a5d8..0000000 --- a/paragonik-backend/vendor/symfony/service-contracts/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -vendor/ -composer.lock -phpunit.xml diff --git a/paragonik-backend/vendor/symfony/service-contracts/LICENSE b/paragonik-backend/vendor/symfony/service-contracts/LICENSE deleted file mode 100644 index 3f853aa..0000000 --- a/paragonik-backend/vendor/symfony/service-contracts/LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 2018-2019 Fabien Potencier - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is furnished -to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/paragonik-backend/vendor/symfony/service-contracts/README.md b/paragonik-backend/vendor/symfony/service-contracts/README.md deleted file mode 100644 index d033a43..0000000 --- a/paragonik-backend/vendor/symfony/service-contracts/README.md +++ /dev/null @@ -1,9 +0,0 @@ -Symfony Service Contracts -========================= - -A set of abstractions extracted out of the Symfony components. - -Can be used to build on semantics that the Symfony components proved useful - and -that already have battle tested implementations. - -See https://github.com/symfony/contracts/blob/master/README.md for more information. diff --git a/paragonik-backend/vendor/symfony/service-contracts/ResetInterface.php b/paragonik-backend/vendor/symfony/service-contracts/ResetInterface.php deleted file mode 100644 index 1af1075..0000000 --- a/paragonik-backend/vendor/symfony/service-contracts/ResetInterface.php +++ /dev/null @@ -1,30 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Contracts\Service; - -/** - * Provides a way to reset an object to its initial state. - * - * When calling the "reset()" method on an object, it should be put back to its - * initial state. This usually means clearing any internal buffers and forwarding - * the call to internal dependencies. All properties of the object should be put - * back to the same state it had when it was first ready to use. - * - * This method could be called, for example, to recycle objects that are used as - * services, so that they can be used to handle several requests in the same - * process loop (note that we advise making your services stateless instead of - * implementing this interface when possible.) - */ -interface ResetInterface -{ - public function reset(); -} diff --git a/paragonik-backend/vendor/symfony/service-contracts/ServiceLocatorTrait.php b/paragonik-backend/vendor/symfony/service-contracts/ServiceLocatorTrait.php deleted file mode 100644 index 4ec6eb4..0000000 --- a/paragonik-backend/vendor/symfony/service-contracts/ServiceLocatorTrait.php +++ /dev/null @@ -1,122 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Contracts\Service; - -use Psr\Container\ContainerExceptionInterface; -use Psr\Container\NotFoundExceptionInterface; - -/** - * A trait to help implement ServiceProviderInterface. - * - * @author Robin Chalas - * @author Nicolas Grekas - */ -trait ServiceLocatorTrait -{ - private $factories; - private $loading = []; - private $providedTypes; - - /** - * @param callable[] $factories - */ - public function __construct(array $factories) - { - $this->factories = $factories; - } - - /** - * {@inheritdoc} - * - * @return bool - */ - public function has($id) - { - return isset($this->factories[$id]); - } - - /** - * {@inheritdoc} - */ - public function get($id) - { - if (!isset($this->factories[$id])) { - throw $this->createNotFoundException($id); - } - - if (isset($this->loading[$id])) { - $ids = array_values($this->loading); - $ids = \array_slice($this->loading, array_search($id, $ids)); - $ids[] = $id; - - throw $this->createCircularReferenceException($id, $ids); - } - - $this->loading[$id] = $id; - try { - return $this->factories[$id]($this); - } finally { - unset($this->loading[$id]); - } - } - - /** - * {@inheritdoc} - */ - public function getProvidedServices(): array - { - if (null === $this->providedTypes) { - $this->providedTypes = []; - - foreach ($this->factories as $name => $factory) { - if (!\is_callable($factory)) { - $this->providedTypes[$name] = '?'; - } else { - $type = (new \ReflectionFunction($factory))->getReturnType(); - - $this->providedTypes[$name] = $type ? ($type->allowsNull() ? '?' : '').$type->getName() : '?'; - } - } - } - - return $this->providedTypes; - } - - private function createNotFoundException(string $id): NotFoundExceptionInterface - { - if (!$alternatives = array_keys($this->factories)) { - $message = 'is empty...'; - } else { - $last = array_pop($alternatives); - if ($alternatives) { - $message = sprintf('only knows about the "%s" and "%s" services.', implode('", "', $alternatives), $last); - } else { - $message = sprintf('only knows about the "%s" service.', $last); - } - } - - if ($this->loading) { - $message = sprintf('The service "%s" has a dependency on a non-existent service "%s". This locator %s', end($this->loading), $id, $message); - } else { - $message = sprintf('Service "%s" not found: the current service locator %s', $id, $message); - } - - return new class($message) extends \InvalidArgumentException implements NotFoundExceptionInterface { - }; - } - - private function createCircularReferenceException(string $id, array $path): ContainerExceptionInterface - { - return new class(sprintf('Circular reference detected for service "%s", path: "%s".', $id, implode(' -> ', $path))) extends \RuntimeException implements ContainerExceptionInterface { - }; - } -} diff --git a/paragonik-backend/vendor/symfony/service-contracts/ServiceProviderInterface.php b/paragonik-backend/vendor/symfony/service-contracts/ServiceProviderInterface.php deleted file mode 100644 index c60ad0b..0000000 --- a/paragonik-backend/vendor/symfony/service-contracts/ServiceProviderInterface.php +++ /dev/null @@ -1,36 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Contracts\Service; - -use Psr\Container\ContainerInterface; - -/** - * A ServiceProviderInterface exposes the identifiers and the types of services provided by a container. - * - * @author Nicolas Grekas - * @author Mateusz Sip - */ -interface ServiceProviderInterface extends ContainerInterface -{ - /** - * Returns an associative array of service types keyed by the identifiers provided by the current container. - * - * Examples: - * - * * ['logger' => 'Psr\Log\LoggerInterface'] means the object provides a service named "logger" that implements Psr\Log\LoggerInterface - * * ['foo' => '?'] means the container provides service name "foo" of unspecified type - * * ['bar' => '?Bar\Baz'] means the container provides a service "bar" of type Bar\Baz|null - * - * @return string[] The provided service types, keyed by service names - */ - public function getProvidedServices(): array; -} diff --git a/paragonik-backend/vendor/symfony/service-contracts/ServiceSubscriberInterface.php b/paragonik-backend/vendor/symfony/service-contracts/ServiceSubscriberInterface.php deleted file mode 100644 index 8bb320f..0000000 --- a/paragonik-backend/vendor/symfony/service-contracts/ServiceSubscriberInterface.php +++ /dev/null @@ -1,53 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Contracts\Service; - -/** - * A ServiceSubscriber exposes its dependencies via the static {@link getSubscribedServices} method. - * - * The getSubscribedServices method returns an array of service types required by such instances, - * optionally keyed by the service names used internally. Service types that start with an interrogation - * mark "?" are optional, while the other ones are mandatory service dependencies. - * - * The injected service locators SHOULD NOT allow access to any other services not specified by the method. - * - * It is expected that ServiceSubscriber instances consume PSR-11-based service locators internally. - * This interface does not dictate any injection method for these service locators, although constructor - * injection is recommended. - * - * @author Nicolas Grekas - */ -interface ServiceSubscriberInterface -{ - /** - * Returns an array of service types required by such instances, optionally keyed by the service names used internally. - * - * For mandatory dependencies: - * - * * ['logger' => 'Psr\Log\LoggerInterface'] means the objects use the "logger" name - * internally to fetch a service which must implement Psr\Log\LoggerInterface. - * * ['loggers' => 'Psr\Log\LoggerInterface[]'] means the objects use the "loggers" name - * internally to fetch an iterable of Psr\Log\LoggerInterface instances. - * * ['Psr\Log\LoggerInterface'] is a shortcut for - * * ['Psr\Log\LoggerInterface' => 'Psr\Log\LoggerInterface'] - * - * otherwise: - * - * * ['logger' => '?Psr\Log\LoggerInterface'] denotes an optional dependency - * * ['loggers' => '?Psr\Log\LoggerInterface[]'] denotes an optional iterable dependency - * * ['?Psr\Log\LoggerInterface'] is a shortcut for - * * ['Psr\Log\LoggerInterface' => '?Psr\Log\LoggerInterface'] - * - * @return array The required service types, optionally keyed by service names - */ - public static function getSubscribedServices(); -} diff --git a/paragonik-backend/vendor/symfony/service-contracts/ServiceSubscriberTrait.php b/paragonik-backend/vendor/symfony/service-contracts/ServiceSubscriberTrait.php deleted file mode 100644 index 5d9d456..0000000 --- a/paragonik-backend/vendor/symfony/service-contracts/ServiceSubscriberTrait.php +++ /dev/null @@ -1,63 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Contracts\Service; - -use Psr\Container\ContainerInterface; - -/** - * Implementation of ServiceSubscriberInterface that determines subscribed services from - * private method return types. Service ids are available as "ClassName::methodName". - * - * @author Kevin Bond - */ -trait ServiceSubscriberTrait -{ - /** @var ContainerInterface */ - protected $container; - - public static function getSubscribedServices(): array - { - static $services; - - if (null !== $services) { - return $services; - } - - $services = \is_callable(['parent', __FUNCTION__]) ? parent::getSubscribedServices() : []; - - foreach ((new \ReflectionClass(self::class))->getMethods() as $method) { - if ($method->isStatic() || $method->isAbstract() || $method->isGenerator() || $method->isInternal() || $method->getNumberOfRequiredParameters()) { - continue; - } - - if (self::class === $method->getDeclaringClass()->name && ($returnType = $method->getReturnType()) && !$returnType->isBuiltin()) { - $services[self::class.'::'.$method->name] = '?'.$returnType->getName(); - } - } - - return $services; - } - - /** - * @required - */ - public function setContainer(ContainerInterface $container) - { - $this->container = $container; - - if (\is_callable(['parent', __FUNCTION__])) { - return parent::setContainer($container); - } - - return null; - } -} diff --git a/paragonik-backend/vendor/symfony/service-contracts/Test/ServiceLocatorTest.php b/paragonik-backend/vendor/symfony/service-contracts/Test/ServiceLocatorTest.php deleted file mode 100644 index 5ed9149..0000000 --- a/paragonik-backend/vendor/symfony/service-contracts/Test/ServiceLocatorTest.php +++ /dev/null @@ -1,92 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Contracts\Service\Test; - -use PHPUnit\Framework\TestCase; -use Psr\Container\ContainerInterface; -use Symfony\Contracts\Service\ServiceLocatorTrait; - -abstract class ServiceLocatorTest extends TestCase -{ - protected function getServiceLocator(array $factories) - { - return new class($factories) implements ContainerInterface { - use ServiceLocatorTrait; - }; - } - - public function testHas() - { - $locator = $this->getServiceLocator([ - 'foo' => function () { return 'bar'; }, - 'bar' => function () { return 'baz'; }, - function () { return 'dummy'; }, - ]); - - $this->assertTrue($locator->has('foo')); - $this->assertTrue($locator->has('bar')); - $this->assertFalse($locator->has('dummy')); - } - - public function testGet() - { - $locator = $this->getServiceLocator([ - 'foo' => function () { return 'bar'; }, - 'bar' => function () { return 'baz'; }, - ]); - - $this->assertSame('bar', $locator->get('foo')); - $this->assertSame('baz', $locator->get('bar')); - } - - public function testGetDoesNotMemoize() - { - $i = 0; - $locator = $this->getServiceLocator([ - 'foo' => function () use (&$i) { - ++$i; - - return 'bar'; - }, - ]); - - $this->assertSame('bar', $locator->get('foo')); - $this->assertSame('bar', $locator->get('foo')); - $this->assertSame(2, $i); - } - - public function testThrowsOnUndefinedInternalService() - { - if (!$this->getExpectedException()) { - $this->expectException('Psr\Container\NotFoundExceptionInterface'); - $this->expectExceptionMessage('The service "foo" has a dependency on a non-existent service "bar". This locator only knows about the "foo" service.'); - } - $locator = $this->getServiceLocator([ - 'foo' => function () use (&$locator) { return $locator->get('bar'); }, - ]); - - $locator->get('foo'); - } - - public function testThrowsOnCircularReference() - { - $this->expectException('Psr\Container\ContainerExceptionInterface'); - $this->expectExceptionMessage('Circular reference detected for service "bar", path: "bar -> baz -> bar".'); - $locator = $this->getServiceLocator([ - 'foo' => function () use (&$locator) { return $locator->get('bar'); }, - 'bar' => function () use (&$locator) { return $locator->get('baz'); }, - 'baz' => function () use (&$locator) { return $locator->get('bar'); }, - ]); - - $locator->get('foo'); - } -} diff --git a/paragonik-backend/vendor/symfony/service-contracts/composer.json b/paragonik-backend/vendor/symfony/service-contracts/composer.json deleted file mode 100644 index f4209cc..0000000 --- a/paragonik-backend/vendor/symfony/service-contracts/composer.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "name": "symfony/service-contracts", - "type": "library", - "description": "Generic abstractions related to writing services", - "keywords": ["abstractions", "contracts", "decoupling", "interfaces", "interoperability", "standards"], - "homepage": "https://symfony.com", - "license": "MIT", - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "require": { - "php": "^7.1.3", - "psr/container": "^1.0" - }, - "suggest": { - "symfony/service-implementation": "" - }, - "autoload": { - "psr-4": { "Symfony\\Contracts\\Service\\": "" } - }, - "minimum-stability": "dev", - "extra": { - "branch-alias": { - "dev-master": "1.1-dev" - } - } -} diff --git a/paragonik-backend/vendor/symfony/translation-contracts/.gitignore b/paragonik-backend/vendor/symfony/translation-contracts/.gitignore deleted file mode 100644 index c49a5d8..0000000 --- a/paragonik-backend/vendor/symfony/translation-contracts/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -vendor/ -composer.lock -phpunit.xml diff --git a/paragonik-backend/vendor/symfony/translation-contracts/LICENSE b/paragonik-backend/vendor/symfony/translation-contracts/LICENSE deleted file mode 100644 index 3f853aa..0000000 --- a/paragonik-backend/vendor/symfony/translation-contracts/LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 2018-2019 Fabien Potencier - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is furnished -to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/paragonik-backend/vendor/symfony/translation-contracts/LocaleAwareInterface.php b/paragonik-backend/vendor/symfony/translation-contracts/LocaleAwareInterface.php deleted file mode 100644 index dbd8894..0000000 --- a/paragonik-backend/vendor/symfony/translation-contracts/LocaleAwareInterface.php +++ /dev/null @@ -1,31 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Contracts\Translation; - -interface LocaleAwareInterface -{ - /** - * Sets the current locale. - * - * @param string $locale The locale - * - * @throws \InvalidArgumentException If the locale contains invalid characters - */ - public function setLocale($locale); - - /** - * Returns the current locale. - * - * @return string The locale - */ - public function getLocale(); -} diff --git a/paragonik-backend/vendor/symfony/translation-contracts/README.md b/paragonik-backend/vendor/symfony/translation-contracts/README.md deleted file mode 100644 index 6c693ce..0000000 --- a/paragonik-backend/vendor/symfony/translation-contracts/README.md +++ /dev/null @@ -1,9 +0,0 @@ -Symfony Translation Contracts -============================= - -A set of abstractions extracted out of the Symfony components. - -Can be used to build on semantics that the Symfony components proved useful - and -that already have battle tested implementations. - -See https://github.com/symfony/contracts/blob/master/README.md for more information. diff --git a/paragonik-backend/vendor/symfony/translation-contracts/Test/TranslatorTest.php b/paragonik-backend/vendor/symfony/translation-contracts/Test/TranslatorTest.php deleted file mode 100644 index 5bfb0f8..0000000 --- a/paragonik-backend/vendor/symfony/translation-contracts/Test/TranslatorTest.php +++ /dev/null @@ -1,353 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Contracts\Translation\Test; - -use PHPUnit\Framework\TestCase; -use Symfony\Contracts\Translation\TranslatorInterface; -use Symfony\Contracts\Translation\TranslatorTrait; - -/** - * Test should cover all languages mentioned on http://translate.sourceforge.net/wiki/l10n/pluralforms - * and Plural forms mentioned on http://www.gnu.org/software/gettext/manual/gettext.html#Plural-forms. - * - * See also https://developer.mozilla.org/en/Localization_and_Plurals which mentions 15 rules having a maximum of 6 forms. - * The mozilla code is also interesting to check for. - * - * As mentioned by chx http://drupal.org/node/1273968 we can cover all by testing number from 0 to 199 - * - * The goal to cover all languages is to far fetched so this test case is smaller. - * - * @author Clemens Tolboom clemens@build2be.nl - */ -class TranslatorTest extends TestCase -{ - public function getTranslator() - { - return new class() implements TranslatorInterface { - use TranslatorTrait; - }; - } - - /** - * @dataProvider getTransTests - */ - public function testTrans($expected, $id, $parameters) - { - $translator = $this->getTranslator(); - - $this->assertEquals($expected, $translator->trans($id, $parameters)); - } - - /** - * @dataProvider getTransChoiceTests - */ - public function testTransChoiceWithExplicitLocale($expected, $id, $number) - { - $translator = $this->getTranslator(); - $translator->setLocale('en'); - - $this->assertEquals($expected, $translator->trans($id, ['%count%' => $number])); - } - - /** - * @dataProvider getTransChoiceTests - */ - public function testTransChoiceWithDefaultLocale($expected, $id, $number) - { - \Locale::setDefault('en'); - - $translator = $this->getTranslator(); - - $this->assertEquals($expected, $translator->trans($id, ['%count%' => $number])); - } - - public function testGetSetLocale() - { - $translator = $this->getTranslator(); - $translator->setLocale('en'); - - $this->assertEquals('en', $translator->getLocale()); - } - - /** - * @requires extension intl - */ - public function testGetLocaleReturnsDefaultLocaleIfNotSet() - { - $translator = $this->getTranslator(); - - \Locale::setDefault('pt_BR'); - $this->assertEquals('pt_BR', $translator->getLocale()); - - \Locale::setDefault('en'); - $this->assertEquals('en', $translator->getLocale()); - } - - public function getTransTests() - { - return [ - ['Symfony is great!', 'Symfony is great!', []], - ['Symfony is awesome!', 'Symfony is %what%!', ['%what%' => 'awesome']], - ]; - } - - public function getTransChoiceTests() - { - return [ - ['There are no apples', '{0} There are no apples|{1} There is one apple|]1,Inf] There are %count% apples', 0], - ['There is one apple', '{0} There are no apples|{1} There is one apple|]1,Inf] There are %count% apples', 1], - ['There are 10 apples', '{0} There are no apples|{1} There is one apple|]1,Inf] There are %count% apples', 10], - ['There are 0 apples', 'There is 1 apple|There are %count% apples', 0], - ['There is 1 apple', 'There is 1 apple|There are %count% apples', 1], - ['There are 10 apples', 'There is 1 apple|There are %count% apples', 10], - // custom validation messages may be coded with a fixed value - ['There are 2 apples', 'There are 2 apples', 2], - ]; - } - - /** - * @dataProvider getInternal - */ - public function testInterval($expected, $number, $interval) - { - $translator = $this->getTranslator(); - - $this->assertEquals($expected, $translator->trans($interval.' foo|[1,Inf[ bar', ['%count%' => $number])); - } - - public function getInternal() - { - return [ - ['foo', 3, '{1,2, 3 ,4}'], - ['bar', 10, '{1,2, 3 ,4}'], - ['bar', 3, '[1,2]'], - ['foo', 1, '[1,2]'], - ['foo', 2, '[1,2]'], - ['bar', 1, ']1,2['], - ['bar', 2, ']1,2['], - ['foo', log(0), '[-Inf,2['], - ['foo', -log(0), '[-2,+Inf]'], - ]; - } - - /** - * @dataProvider getChooseTests - */ - public function testChoose($expected, $id, $number) - { - $translator = $this->getTranslator(); - - $this->assertEquals($expected, $translator->trans($id, ['%count%' => $number])); - } - - public function testReturnMessageIfExactlyOneStandardRuleIsGiven() - { - $translator = $this->getTranslator(); - - $this->assertEquals('There are two apples', $translator->trans('There are two apples', ['%count%' => 2])); - } - - /** - * @dataProvider getNonMatchingMessages - */ - public function testThrowExceptionIfMatchingMessageCannotBeFound($id, $number) - { - $this->expectException('InvalidArgumentException'); - $translator = $this->getTranslator(); - - $translator->trans($id, ['%count%' => $number]); - } - - public function getNonMatchingMessages() - { - return [ - ['{0} There are no apples|{1} There is one apple', 2], - ['{1} There is one apple|]1,Inf] There are %count% apples', 0], - ['{1} There is one apple|]2,Inf] There are %count% apples', 2], - ['{0} There are no apples|There is one apple', 2], - ]; - } - - public function getChooseTests() - { - return [ - ['There are no apples', '{0} There are no apples|{1} There is one apple|]1,Inf] There are %count% apples', 0], - ['There are no apples', '{0} There are no apples|{1} There is one apple|]1,Inf] There are %count% apples', 0], - ['There are no apples', '{0}There are no apples|{1} There is one apple|]1,Inf] There are %count% apples', 0], - - ['There is one apple', '{0} There are no apples|{1} There is one apple|]1,Inf] There are %count% apples', 1], - - ['There are 10 apples', '{0} There are no apples|{1} There is one apple|]1,Inf] There are %count% apples', 10], - ['There are 10 apples', '{0} There are no apples|{1} There is one apple|]1,Inf]There are %count% apples', 10], - ['There are 10 apples', '{0} There are no apples|{1} There is one apple|]1,Inf] There are %count% apples', 10], - - ['There are 0 apples', 'There is one apple|There are %count% apples', 0], - ['There is one apple', 'There is one apple|There are %count% apples', 1], - ['There are 10 apples', 'There is one apple|There are %count% apples', 10], - - ['There are 0 apples', 'one: There is one apple|more: There are %count% apples', 0], - ['There is one apple', 'one: There is one apple|more: There are %count% apples', 1], - ['There are 10 apples', 'one: There is one apple|more: There are %count% apples', 10], - - ['There are no apples', '{0} There are no apples|one: There is one apple|more: There are %count% apples', 0], - ['There is one apple', '{0} There are no apples|one: There is one apple|more: There are %count% apples', 1], - ['There are 10 apples', '{0} There are no apples|one: There is one apple|more: There are %count% apples', 10], - - ['', '{0}|{1} There is one apple|]1,Inf] There are %count% apples', 0], - ['', '{0} There are no apples|{1}|]1,Inf] There are %count% apples', 1], - - // Indexed only tests which are Gettext PoFile* compatible strings. - ['There are 0 apples', 'There is one apple|There are %count% apples', 0], - ['There is one apple', 'There is one apple|There are %count% apples', 1], - ['There are 2 apples', 'There is one apple|There are %count% apples', 2], - - // Tests for float numbers - ['There is almost one apple', '{0} There are no apples|]0,1[ There is almost one apple|{1} There is one apple|[1,Inf] There is more than one apple', 0.7], - ['There is one apple', '{0} There are no apples|]0,1[There are %count% apples|{1} There is one apple|[1,Inf] There is more than one apple', 1], - ['There is more than one apple', '{0} There are no apples|]0,1[There are %count% apples|{1} There is one apple|[1,Inf] There is more than one apple', 1.7], - ['There are no apples', '{0} There are no apples|]0,1[There are %count% apples|{1} There is one apple|[1,Inf] There is more than one apple', 0], - ['There are no apples', '{0} There are no apples|]0,1[There are %count% apples|{1} There is one apple|[1,Inf] There is more than one apple', 0.0], - ['There are no apples', '{0.0} There are no apples|]0,1[There are %count% apples|{1} There is one apple|[1,Inf] There is more than one apple', 0], - - // Test texts with new-lines - // with double-quotes and \n in id & double-quotes and actual newlines in text - ["This is a text with a\n new-line in it. Selector = 0.", '{0}This is a text with a - new-line in it. Selector = 0.|{1}This is a text with a - new-line in it. Selector = 1.|[1,Inf]This is a text with a - new-line in it. Selector > 1.', 0], - // with double-quotes and \n in id and single-quotes and actual newlines in text - ["This is a text with a\n new-line in it. Selector = 1.", '{0}This is a text with a - new-line in it. Selector = 0.|{1}This is a text with a - new-line in it. Selector = 1.|[1,Inf]This is a text with a - new-line in it. Selector > 1.', 1], - ["This is a text with a\n new-line in it. Selector > 1.", '{0}This is a text with a - new-line in it. Selector = 0.|{1}This is a text with a - new-line in it. Selector = 1.|[1,Inf]This is a text with a - new-line in it. Selector > 1.', 5], - // with double-quotes and id split accros lines - ['This is a text with a - new-line in it. Selector = 1.', '{0}This is a text with a - new-line in it. Selector = 0.|{1}This is a text with a - new-line in it. Selector = 1.|[1,Inf]This is a text with a - new-line in it. Selector > 1.', 1], - // with single-quotes and id split accros lines - ['This is a text with a - new-line in it. Selector > 1.', '{0}This is a text with a - new-line in it. Selector = 0.|{1}This is a text with a - new-line in it. Selector = 1.|[1,Inf]This is a text with a - new-line in it. Selector > 1.', 5], - // with single-quotes and \n in text - ['This is a text with a\nnew-line in it. Selector = 0.', '{0}This is a text with a\nnew-line in it. Selector = 0.|{1}This is a text with a\nnew-line in it. Selector = 1.|[1,Inf]This is a text with a\nnew-line in it. Selector > 1.', 0], - // with double-quotes and id split accros lines - ["This is a text with a\nnew-line in it. Selector = 1.", "{0}This is a text with a\nnew-line in it. Selector = 0.|{1}This is a text with a\nnew-line in it. Selector = 1.|[1,Inf]This is a text with a\nnew-line in it. Selector > 1.", 1], - // esacape pipe - ['This is a text with | in it. Selector = 0.', '{0}This is a text with || in it. Selector = 0.|{1}This is a text with || in it. Selector = 1.', 0], - // Empty plural set (2 plural forms) from a .PO file - ['', '|', 1], - // Empty plural set (3 plural forms) from a .PO file - ['', '||', 1], - ]; - } - - /** - * @dataProvider failingLangcodes - */ - public function testFailedLangcodes($nplural, $langCodes) - { - $matrix = $this->generateTestData($langCodes); - $this->validateMatrix($nplural, $matrix, false); - } - - /** - * @dataProvider successLangcodes - */ - public function testLangcodes($nplural, $langCodes) - { - $matrix = $this->generateTestData($langCodes); - $this->validateMatrix($nplural, $matrix); - } - - /** - * This array should contain all currently known langcodes. - * - * As it is impossible to have this ever complete we should try as hard as possible to have it almost complete. - * - * @return array - */ - public function successLangcodes() - { - return [ - ['1', ['ay', 'bo', 'cgg', 'dz', 'id', 'ja', 'jbo', 'ka', 'kk', 'km', 'ko', 'ky']], - ['2', ['nl', 'fr', 'en', 'de', 'de_GE', 'hy', 'hy_AM']], - ['3', ['be', 'bs', 'cs', 'hr']], - ['4', ['cy', 'mt', 'sl']], - ['6', ['ar']], - ]; - } - - /** - * This array should be at least empty within the near future. - * - * This both depends on a complete list trying to add above as understanding - * the plural rules of the current failing languages. - * - * @return array with nplural together with langcodes - */ - public function failingLangcodes() - { - return [ - ['1', ['fa']], - ['2', ['jbo']], - ['3', ['cbs']], - ['4', ['gd', 'kw']], - ['5', ['ga']], - ]; - } - - /** - * We validate only on the plural coverage. Thus the real rules is not tested. - * - * @param string $nplural Plural expected - * @param array $matrix Containing langcodes and their plural index values - * @param bool $expectSuccess - */ - protected function validateMatrix($nplural, $matrix, $expectSuccess = true) - { - foreach ($matrix as $langCode => $data) { - $indexes = array_flip($data); - if ($expectSuccess) { - $this->assertEquals($nplural, \count($indexes), "Langcode '$langCode' has '$nplural' plural forms."); - } else { - $this->assertNotEquals((int) $nplural, \count($indexes), "Langcode '$langCode' has '$nplural' plural forms."); - } - } - } - - protected function generateTestData($langCodes) - { - $translator = new class() { - use TranslatorTrait { - getPluralizationRule as public; - } - }; - - $matrix = []; - foreach ($langCodes as $langCode) { - for ($count = 0; $count < 200; ++$count) { - $plural = $translator->getPluralizationRule($count, $langCode); - $matrix[$langCode][$count] = $plural; - } - } - - return $matrix; - } -} diff --git a/paragonik-backend/vendor/symfony/translation-contracts/TranslatorInterface.php b/paragonik-backend/vendor/symfony/translation-contracts/TranslatorInterface.php deleted file mode 100644 index d867637..0000000 --- a/paragonik-backend/vendor/symfony/translation-contracts/TranslatorInterface.php +++ /dev/null @@ -1,65 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Contracts\Translation; - -/** - * @author Fabien Potencier - */ -interface TranslatorInterface -{ - /** - * Translates the given message. - * - * When a number is provided as a parameter named "%count%", the message is parsed for plural - * forms and a translation is chosen according to this number using the following rules: - * - * Given a message with different plural translations separated by a - * pipe (|), this method returns the correct portion of the message based - * on the given number, locale and the pluralization rules in the message - * itself. - * - * The message supports two different types of pluralization rules: - * - * interval: {0} There are no apples|{1} There is one apple|]1,Inf] There are %count% apples - * indexed: There is one apple|There are %count% apples - * - * The indexed solution can also contain labels (e.g. one: There is one apple). - * This is purely for making the translations more clear - it does not - * affect the functionality. - * - * The two methods can also be mixed: - * {0} There are no apples|one: There is one apple|more: There are %count% apples - * - * An interval can represent a finite set of numbers: - * {1,2,3,4} - * - * An interval can represent numbers between two numbers: - * [1, +Inf] - * ]-1,2[ - * - * The left delimiter can be [ (inclusive) or ] (exclusive). - * The right delimiter can be [ (exclusive) or ] (inclusive). - * Beside numbers, you can use -Inf and +Inf for the infinite. - * - * @see https://en.wikipedia.org/wiki/ISO_31-11 - * - * @param string $id The message id (may also be an object that can be cast to string) - * @param array $parameters An array of parameters for the message - * @param string|null $domain The domain for the message or null to use the default - * @param string|null $locale The locale or null to use the default - * - * @return string The translated string - * - * @throws \InvalidArgumentException If the locale contains invalid characters - */ - public function trans($id, array $parameters = [], $domain = null, $locale = null); -} diff --git a/paragonik-backend/vendor/symfony/translation-contracts/TranslatorTrait.php b/paragonik-backend/vendor/symfony/translation-contracts/TranslatorTrait.php deleted file mode 100644 index a826734..0000000 --- a/paragonik-backend/vendor/symfony/translation-contracts/TranslatorTrait.php +++ /dev/null @@ -1,257 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Contracts\Translation; - -use Symfony\Component\Translation\Exception\InvalidArgumentException; - -/** - * A trait to help implement TranslatorInterface and LocaleAwareInterface. - * - * @author Fabien Potencier - */ -trait TranslatorTrait -{ - private $locale; - - /** - * {@inheritdoc} - */ - public function setLocale($locale) - { - $this->locale = (string) $locale; - } - - /** - * {@inheritdoc} - */ - public function getLocale() - { - return $this->locale ?: \Locale::getDefault(); - } - - /** - * {@inheritdoc} - */ - public function trans($id, array $parameters = [], $domain = null, $locale = null) - { - if ('' === $id = (string) $id) { - return ''; - } - - if (!isset($parameters['%count%']) || !is_numeric($parameters['%count%'])) { - return strtr($id, $parameters); - } - - $number = (float) $parameters['%count%']; - $locale = (string) $locale ?: $this->getLocale(); - - $parts = []; - if (preg_match('/^\|++$/', $id)) { - $parts = explode('|', $id); - } elseif (preg_match_all('/(?:\|\||[^\|])++/', $id, $matches)) { - $parts = $matches[0]; - } - - $intervalRegexp = <<<'EOF' -/^(?P - ({\s* - (\-?\d+(\.\d+)?[\s*,\s*\-?\d+(\.\d+)?]*) - \s*}) - - | - - (?P[\[\]]) - \s* - (?P-Inf|\-?\d+(\.\d+)?) - \s*,\s* - (?P\+?Inf|\-?\d+(\.\d+)?) - \s* - (?P[\[\]]) -)\s*(?P.*?)$/xs -EOF; - - $standardRules = []; - foreach ($parts as $part) { - $part = trim(str_replace('||', '|', $part)); - - // try to match an explicit rule, then fallback to the standard ones - if (preg_match($intervalRegexp, $part, $matches)) { - if ($matches[2]) { - foreach (explode(',', $matches[3]) as $n) { - if ($number == $n) { - return strtr($matches['message'], $parameters); - } - } - } else { - $leftNumber = '-Inf' === $matches['left'] ? -INF : (float) $matches['left']; - $rightNumber = is_numeric($matches['right']) ? (float) $matches['right'] : INF; - - if (('[' === $matches['left_delimiter'] ? $number >= $leftNumber : $number > $leftNumber) - && (']' === $matches['right_delimiter'] ? $number <= $rightNumber : $number < $rightNumber) - ) { - return strtr($matches['message'], $parameters); - } - } - } elseif (preg_match('/^\w+\:\s*(.*?)$/', $part, $matches)) { - $standardRules[] = $matches[1]; - } else { - $standardRules[] = $part; - } - } - - $position = $this->getPluralizationRule($number, $locale); - - if (!isset($standardRules[$position])) { - // when there's exactly one rule given, and that rule is a standard - // rule, use this rule - if (1 === \count($parts) && isset($standardRules[0])) { - return strtr($standardRules[0], $parameters); - } - - $message = sprintf('Unable to choose a translation for "%s" with locale "%s" for value "%d". Double check that this translation has the correct plural options (e.g. "There is one apple|There are %%count%% apples").', $id, $locale, $number); - - if (class_exists(InvalidArgumentException::class)) { - throw new InvalidArgumentException($message); - } - - throw new \InvalidArgumentException($message); - } - - return strtr($standardRules[$position], $parameters); - } - - /** - * Returns the plural position to use for the given locale and number. - * - * The plural rules are derived from code of the Zend Framework (2010-09-25), - * which is subject to the new BSD license (http://framework.zend.com/license/new-bsd). - * Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com) - */ - private function getPluralizationRule(int $number, string $locale): int - { - switch ('pt_BR' !== $locale && \strlen($locale) > 3 ? substr($locale, 0, strrpos($locale, '_')) : $locale) { - case 'af': - case 'bn': - case 'bg': - case 'ca': - case 'da': - case 'de': - case 'el': - case 'en': - case 'eo': - case 'es': - case 'et': - case 'eu': - case 'fa': - case 'fi': - case 'fo': - case 'fur': - case 'fy': - case 'gl': - case 'gu': - case 'ha': - case 'he': - case 'hu': - case 'is': - case 'it': - case 'ku': - case 'lb': - case 'ml': - case 'mn': - case 'mr': - case 'nah': - case 'nb': - case 'ne': - case 'nl': - case 'nn': - case 'no': - case 'oc': - case 'om': - case 'or': - case 'pa': - case 'pap': - case 'ps': - case 'pt': - case 'so': - case 'sq': - case 'sv': - case 'sw': - case 'ta': - case 'te': - case 'tk': - case 'ur': - case 'zu': - return (1 == $number) ? 0 : 1; - - case 'am': - case 'bh': - case 'fil': - case 'fr': - case 'gun': - case 'hi': - case 'hy': - case 'ln': - case 'mg': - case 'nso': - case 'pt_BR': - case 'ti': - case 'wa': - return ((0 == $number) || (1 == $number)) ? 0 : 1; - - case 'be': - case 'bs': - case 'hr': - case 'ru': - case 'sh': - case 'sr': - case 'uk': - return ((1 == $number % 10) && (11 != $number % 100)) ? 0 : ((($number % 10 >= 2) && ($number % 10 <= 4) && (($number % 100 < 10) || ($number % 100 >= 20))) ? 1 : 2); - - case 'cs': - case 'sk': - return (1 == $number) ? 0 : ((($number >= 2) && ($number <= 4)) ? 1 : 2); - - case 'ga': - return (1 == $number) ? 0 : ((2 == $number) ? 1 : 2); - - case 'lt': - return ((1 == $number % 10) && (11 != $number % 100)) ? 0 : ((($number % 10 >= 2) && (($number % 100 < 10) || ($number % 100 >= 20))) ? 1 : 2); - - case 'sl': - return (1 == $number % 100) ? 0 : ((2 == $number % 100) ? 1 : (((3 == $number % 100) || (4 == $number % 100)) ? 2 : 3)); - - case 'mk': - return (1 == $number % 10) ? 0 : 1; - - case 'mt': - return (1 == $number) ? 0 : (((0 == $number) || (($number % 100 > 1) && ($number % 100 < 11))) ? 1 : ((($number % 100 > 10) && ($number % 100 < 20)) ? 2 : 3)); - - case 'lv': - return (0 == $number) ? 0 : (((1 == $number % 10) && (11 != $number % 100)) ? 1 : 2); - - case 'pl': - return (1 == $number) ? 0 : ((($number % 10 >= 2) && ($number % 10 <= 4) && (($number % 100 < 12) || ($number % 100 > 14))) ? 1 : 2); - - case 'cy': - return (1 == $number) ? 0 : ((2 == $number) ? 1 : (((8 == $number) || (11 == $number)) ? 2 : 3)); - - case 'ro': - return (1 == $number) ? 0 : (((0 == $number) || (($number % 100 > 0) && ($number % 100 < 20))) ? 1 : 2); - - case 'ar': - return (0 == $number) ? 0 : ((1 == $number) ? 1 : ((2 == $number) ? 2 : ((($number % 100 >= 3) && ($number % 100 <= 10)) ? 3 : ((($number % 100 >= 11) && ($number % 100 <= 99)) ? 4 : 5)))); - - default: - return 0; - } - } -} diff --git a/paragonik-backend/vendor/symfony/translation-contracts/composer.json b/paragonik-backend/vendor/symfony/translation-contracts/composer.json deleted file mode 100644 index 09749d3..0000000 --- a/paragonik-backend/vendor/symfony/translation-contracts/composer.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "name": "symfony/translation-contracts", - "type": "library", - "description": "Generic abstractions related to translation", - "keywords": ["abstractions", "contracts", "decoupling", "interfaces", "interoperability", "standards"], - "homepage": "https://symfony.com", - "license": "MIT", - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "require": { - "php": "^7.1.3" - }, - "suggest": { - "symfony/translation-implementation": "" - }, - "autoload": { - "psr-4": { "Symfony\\Contracts\\Translation\\": "" } - }, - "minimum-stability": "dev", - "extra": { - "branch-alias": { - "dev-master": "1.1-dev" - } - } -} diff --git a/paragonik-backend/vendor/symfony/translation/.gitattributes b/paragonik-backend/vendor/symfony/translation/.gitattributes deleted file mode 100644 index ebb9287..0000000 --- a/paragonik-backend/vendor/symfony/translation/.gitattributes +++ /dev/null @@ -1,3 +0,0 @@ -/Tests export-ignore -/phpunit.xml.dist export-ignore -/.gitignore export-ignore diff --git a/paragonik-backend/vendor/symfony/translation/CHANGELOG.md b/paragonik-backend/vendor/symfony/translation/CHANGELOG.md deleted file mode 100644 index 9784532..0000000 --- a/paragonik-backend/vendor/symfony/translation/CHANGELOG.md +++ /dev/null @@ -1,133 +0,0 @@ -CHANGELOG -========= - -4.4.0 ------ - - * deprecated support for using `null` as the locale in `Translator` - * deprecated accepting STDIN implicitly when using the `lint:xliff` command, use `lint:xliff -` (append a dash) instead to make it explicit. - * Marked the `TranslationDataCollector` class as `@final`. - -4.3.0 ------ - - * Improved Xliff 1.2 loader to load the original file's metadata - * Added `TranslatorPathsPass` - -4.2.0 ------ - - * Started using ICU parent locales as fallback locales. - * allow using the ICU message format using domains with the "+intl-icu" suffix - * deprecated `Translator::transChoice()` in favor of using `Translator::trans()` with a `%count%` parameter - * deprecated `TranslatorInterface` in favor of `Symfony\Contracts\Translation\TranslatorInterface` - * deprecated `MessageSelector`, `Interval` and `PluralizationRules`; use `IdentityTranslator` instead - * Added `IntlFormatter` and `IntlFormatterInterface` - * added support for multiple files and directories in `XliffLintCommand` - * Marked `Translator::getFallbackLocales()` and `TranslationDataCollector::getFallbackLocales()` as internal - -4.1.0 ------ - - * The `FileDumper::setBackup()` method is deprecated. - * The `TranslationWriter::disableBackup()` method is deprecated. - * The `XliffFileDumper` will write "name" on the "unit" node when dumping XLIFF 2.0. - -4.0.0 ------ - - * removed the backup feature of the `FileDumper` class - * removed `TranslationWriter::writeTranslations()` method - * removed support for passing `MessageSelector` instances to the constructor of the `Translator` class - -3.4.0 ------ - - * Added `TranslationDumperPass` - * Added `TranslationExtractorPass` - * Added `TranslatorPass` - * Added `TranslationReader` and `TranslationReaderInterface` - * Added `` section to the Xliff 2.0 dumper. - * Improved Xliff 2.0 loader to load `` section. - * Added `TranslationWriterInterface` - * Deprecated `TranslationWriter::writeTranslations` in favor of `TranslationWriter::write` - * added support for adding custom message formatter and decoupling the default one. - * Added `PhpExtractor` - * Added `PhpStringTokenParser` - -3.2.0 ------ - - * Added support for escaping `|` in plural translations with double pipe. - -3.1.0 ------ - - * Deprecated the backup feature of the file dumper classes. - -3.0.0 ------ - - * removed `FileDumper::format()` method. - * Changed the visibility of the locale property in `Translator` from protected to private. - -2.8.0 ------ - - * deprecated FileDumper::format(), overwrite FileDumper::formatCatalogue() instead. - * deprecated Translator::getMessages(), rely on TranslatorBagInterface::getCatalogue() instead. - * added `FileDumper::formatCatalogue` which allows format the catalogue without dumping it into file. - * added option `json_encoding` to JsonFileDumper - * added options `as_tree`, `inline` to YamlFileDumper - * added support for XLIFF 2.0. - * added support for XLIFF target and tool attributes. - * added message parameters to DataCollectorTranslator. - * [DEPRECATION] The `DiffOperation` class has been deprecated and - will be removed in Symfony 3.0, since its operation has nothing to do with 'diff', - so the class name is misleading. The `TargetOperation` class should be used for - this use-case instead. - -2.7.0 ------ - - * added DataCollectorTranslator for collecting the translated messages. - -2.6.0 ------ - - * added possibility to cache catalogues - * added TranslatorBagInterface - * added LoggingTranslator - * added Translator::getMessages() for retrieving the message catalogue as an array - -2.5.0 ------ - - * added relative file path template to the file dumpers - * added optional backup to the file dumpers - * changed IcuResFileDumper to extend FileDumper - -2.3.0 ------ - - * added classes to make operations on catalogues (like making a diff or a merge on 2 catalogues) - * added Translator::getFallbackLocales() - * deprecated Translator::setFallbackLocale() in favor of the new Translator::setFallbackLocales() method - -2.2.0 ------ - - * QtTranslationsLoader class renamed to QtFileLoader. QtTranslationsLoader is deprecated and will be removed in 2.3. - * [BC BREAK] uniformized the exception thrown by the load() method when an error occurs. The load() method now - throws Symfony\Component\Translation\Exception\NotFoundResourceException when a resource cannot be found - and Symfony\Component\Translation\Exception\InvalidResourceException when a resource is invalid. - * changed the exception class thrown by some load() methods from \RuntimeException to \InvalidArgumentException - (IcuDatFileLoader, IcuResFileLoader and QtFileLoader) - -2.1.0 ------ - - * added support for more than one fallback locale - * added support for extracting translation messages from templates (Twig and PHP) - * added dumpers for translation catalogs - * added support for QT, gettext, and ResourceBundles diff --git a/paragonik-backend/vendor/symfony/translation/Catalogue/AbstractOperation.php b/paragonik-backend/vendor/symfony/translation/Catalogue/AbstractOperation.php deleted file mode 100644 index 919bab8..0000000 --- a/paragonik-backend/vendor/symfony/translation/Catalogue/AbstractOperation.php +++ /dev/null @@ -1,157 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Catalogue; - -use Symfony\Component\Translation\Exception\InvalidArgumentException; -use Symfony\Component\Translation\Exception\LogicException; -use Symfony\Component\Translation\MessageCatalogue; -use Symfony\Component\Translation\MessageCatalogueInterface; - -/** - * Base catalogues binary operation class. - * - * A catalogue binary operation performs operation on - * source (the left argument) and target (the right argument) catalogues. - * - * @author Jean-François Simon - */ -abstract class AbstractOperation implements OperationInterface -{ - protected $source; - protected $target; - protected $result; - - /** - * @var array|null The domains affected by this operation - */ - private $domains; - - /** - * This array stores 'all', 'new' and 'obsolete' messages for all valid domains. - * - * The data structure of this array is as follows: - * - * [ - * 'domain 1' => [ - * 'all' => [...], - * 'new' => [...], - * 'obsolete' => [...] - * ], - * 'domain 2' => [ - * 'all' => [...], - * 'new' => [...], - * 'obsolete' => [...] - * ], - * ... - * ] - * - * @var array The array that stores 'all', 'new' and 'obsolete' messages - */ - protected $messages; - - /** - * @throws LogicException - */ - public function __construct(MessageCatalogueInterface $source, MessageCatalogueInterface $target) - { - if ($source->getLocale() !== $target->getLocale()) { - throw new LogicException('Operated catalogues must belong to the same locale.'); - } - - $this->source = $source; - $this->target = $target; - $this->result = new MessageCatalogue($source->getLocale()); - $this->messages = []; - } - - /** - * {@inheritdoc} - */ - public function getDomains() - { - if (null === $this->domains) { - $this->domains = array_values(array_unique(array_merge($this->source->getDomains(), $this->target->getDomains()))); - } - - return $this->domains; - } - - /** - * {@inheritdoc} - */ - public function getMessages($domain) - { - if (!\in_array($domain, $this->getDomains())) { - throw new InvalidArgumentException(sprintf('Invalid domain: %s.', $domain)); - } - - if (!isset($this->messages[$domain]['all'])) { - $this->processDomain($domain); - } - - return $this->messages[$domain]['all']; - } - - /** - * {@inheritdoc} - */ - public function getNewMessages($domain) - { - if (!\in_array($domain, $this->getDomains())) { - throw new InvalidArgumentException(sprintf('Invalid domain: %s.', $domain)); - } - - if (!isset($this->messages[$domain]['new'])) { - $this->processDomain($domain); - } - - return $this->messages[$domain]['new']; - } - - /** - * {@inheritdoc} - */ - public function getObsoleteMessages($domain) - { - if (!\in_array($domain, $this->getDomains())) { - throw new InvalidArgumentException(sprintf('Invalid domain: %s.', $domain)); - } - - if (!isset($this->messages[$domain]['obsolete'])) { - $this->processDomain($domain); - } - - return $this->messages[$domain]['obsolete']; - } - - /** - * {@inheritdoc} - */ - public function getResult() - { - foreach ($this->getDomains() as $domain) { - if (!isset($this->messages[$domain])) { - $this->processDomain($domain); - } - } - - return $this->result; - } - - /** - * Performs operation on source and target catalogues for the given domain and - * stores the results. - * - * @param string $domain The domain which the operation will be performed for - */ - abstract protected function processDomain($domain); -} diff --git a/paragonik-backend/vendor/symfony/translation/Catalogue/MergeOperation.php b/paragonik-backend/vendor/symfony/translation/Catalogue/MergeOperation.php deleted file mode 100644 index d2f4abd..0000000 --- a/paragonik-backend/vendor/symfony/translation/Catalogue/MergeOperation.php +++ /dev/null @@ -1,58 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Catalogue; - -use Symfony\Component\Translation\MessageCatalogueInterface; - -/** - * Merge operation between two catalogues as follows: - * all = source ∪ target = {x: x ∈ source ∨ x ∈ target} - * new = all ∖ source = {x: x ∈ target ∧ x ∉ source} - * obsolete = source ∖ all = {x: x ∈ source ∧ x ∉ source ∧ x ∉ target} = ∅ - * Basically, the result contains messages from both catalogues. - * - * @author Jean-François Simon - */ -class MergeOperation extends AbstractOperation -{ - /** - * {@inheritdoc} - */ - protected function processDomain($domain) - { - $this->messages[$domain] = [ - 'all' => [], - 'new' => [], - 'obsolete' => [], - ]; - $intlDomain = $domain.MessageCatalogueInterface::INTL_DOMAIN_SUFFIX; - - foreach ($this->source->all($domain) as $id => $message) { - $this->messages[$domain]['all'][$id] = $message; - $this->result->add([$id => $message], $this->source->defines($id, $intlDomain) ? $intlDomain : $domain); - if (null !== $keyMetadata = $this->source->getMetadata($id, $domain)) { - $this->result->setMetadata($id, $keyMetadata, $domain); - } - } - - foreach ($this->target->all($domain) as $id => $message) { - if (!$this->source->has($id, $domain)) { - $this->messages[$domain]['all'][$id] = $message; - $this->messages[$domain]['new'][$id] = $message; - $this->result->add([$id => $message], $this->target->defines($id, $intlDomain) ? $intlDomain : $domain); - if (null !== $keyMetadata = $this->target->getMetadata($id, $domain)) { - $this->result->setMetadata($id, $keyMetadata, $domain); - } - } - } - } -} diff --git a/paragonik-backend/vendor/symfony/translation/Catalogue/OperationInterface.php b/paragonik-backend/vendor/symfony/translation/Catalogue/OperationInterface.php deleted file mode 100644 index 87d888e..0000000 --- a/paragonik-backend/vendor/symfony/translation/Catalogue/OperationInterface.php +++ /dev/null @@ -1,77 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Catalogue; - -use Symfony\Component\Translation\MessageCatalogueInterface; - -/** - * Represents an operation on catalogue(s). - * - * An instance of this interface performs an operation on one or more catalogues and - * stores intermediate and final results of the operation. - * - * The first catalogue in its argument(s) is called the 'source catalogue' or 'source' and - * the following results are stored: - * - * Messages: also called 'all', are valid messages for the given domain after the operation is performed. - * - * New Messages: also called 'new' (new = all ∖ source = {x: x ∈ all ∧ x ∉ source}). - * - * Obsolete Messages: also called 'obsolete' (obsolete = source ∖ all = {x: x ∈ source ∧ x ∉ all}). - * - * Result: also called 'result', is the resulting catalogue for the given domain that holds the same messages as 'all'. - * - * @author Jean-François Simon - */ -interface OperationInterface -{ - /** - * Returns domains affected by operation. - * - * @return array - */ - public function getDomains(); - - /** - * Returns all valid messages ('all') after operation. - * - * @param string $domain - * - * @return array - */ - public function getMessages($domain); - - /** - * Returns new messages ('new') after operation. - * - * @param string $domain - * - * @return array - */ - public function getNewMessages($domain); - - /** - * Returns obsolete messages ('obsolete') after operation. - * - * @param string $domain - * - * @return array - */ - public function getObsoleteMessages($domain); - - /** - * Returns resulting catalogue ('result'). - * - * @return MessageCatalogueInterface - */ - public function getResult(); -} diff --git a/paragonik-backend/vendor/symfony/translation/Catalogue/TargetOperation.php b/paragonik-backend/vendor/symfony/translation/Catalogue/TargetOperation.php deleted file mode 100644 index 22aa9a3..0000000 --- a/paragonik-backend/vendor/symfony/translation/Catalogue/TargetOperation.php +++ /dev/null @@ -1,72 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Catalogue; - -use Symfony\Component\Translation\MessageCatalogueInterface; - -/** - * Target operation between two catalogues: - * intersection = source ∩ target = {x: x ∈ source ∧ x ∈ target} - * all = intersection ∪ (target ∖ intersection) = target - * new = all ∖ source = {x: x ∈ target ∧ x ∉ source} - * obsolete = source ∖ all = source ∖ target = {x: x ∈ source ∧ x ∉ target} - * Basically, the result contains messages from the target catalogue. - * - * @author Michael Lee - */ -class TargetOperation extends AbstractOperation -{ - /** - * {@inheritdoc} - */ - protected function processDomain($domain) - { - $this->messages[$domain] = [ - 'all' => [], - 'new' => [], - 'obsolete' => [], - ]; - $intlDomain = $domain.MessageCatalogueInterface::INTL_DOMAIN_SUFFIX; - - // For 'all' messages, the code can't be simplified as ``$this->messages[$domain]['all'] = $target->all($domain);``, - // because doing so will drop messages like {x: x ∈ source ∧ x ∉ target.all ∧ x ∈ target.fallback} - // - // For 'new' messages, the code can't be simplified as ``array_diff_assoc($this->target->all($domain), $this->source->all($domain));`` - // because doing so will not exclude messages like {x: x ∈ target ∧ x ∉ source.all ∧ x ∈ source.fallback} - // - // For 'obsolete' messages, the code can't be simplified as ``array_diff_assoc($this->source->all($domain), $this->target->all($domain))`` - // because doing so will not exclude messages like {x: x ∈ source ∧ x ∉ target.all ∧ x ∈ target.fallback} - - foreach ($this->source->all($domain) as $id => $message) { - if ($this->target->has($id, $domain)) { - $this->messages[$domain]['all'][$id] = $message; - $this->result->add([$id => $message], $this->target->defines($id, $intlDomain) ? $intlDomain : $domain); - if (null !== $keyMetadata = $this->source->getMetadata($id, $domain)) { - $this->result->setMetadata($id, $keyMetadata, $domain); - } - } else { - $this->messages[$domain]['obsolete'][$id] = $message; - } - } - - foreach ($this->target->all($domain) as $id => $message) { - if (!$this->source->has($id, $domain)) { - $this->messages[$domain]['all'][$id] = $message; - $this->messages[$domain]['new'][$id] = $message; - $this->result->add([$id => $message], $this->target->defines($id, $intlDomain) ? $intlDomain : $domain); - if (null !== $keyMetadata = $this->target->getMetadata($id, $domain)) { - $this->result->setMetadata($id, $keyMetadata, $domain); - } - } - } - } -} diff --git a/paragonik-backend/vendor/symfony/translation/Command/XliffLintCommand.php b/paragonik-backend/vendor/symfony/translation/Command/XliffLintCommand.php deleted file mode 100644 index 770a15e..0000000 --- a/paragonik-backend/vendor/symfony/translation/Command/XliffLintCommand.php +++ /dev/null @@ -1,272 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Command; - -use Symfony\Component\Console\Command\Command; -use Symfony\Component\Console\Exception\RuntimeException; -use Symfony\Component\Console\Input\InputArgument; -use Symfony\Component\Console\Input\InputInterface; -use Symfony\Component\Console\Input\InputOption; -use Symfony\Component\Console\Output\OutputInterface; -use Symfony\Component\Console\Style\SymfonyStyle; -use Symfony\Component\Translation\Util\XliffUtils; - -/** - * Validates XLIFF files syntax and outputs encountered errors. - * - * @author Grégoire Pineau - * @author Robin Chalas - * @author Javier Eguiluz - */ -class XliffLintCommand extends Command -{ - protected static $defaultName = 'lint:xliff'; - - private $format; - private $displayCorrectFiles; - private $directoryIteratorProvider; - private $isReadableProvider; - private $requireStrictFileNames; - - public function __construct(string $name = null, callable $directoryIteratorProvider = null, callable $isReadableProvider = null, bool $requireStrictFileNames = true) - { - parent::__construct($name); - - $this->directoryIteratorProvider = $directoryIteratorProvider; - $this->isReadableProvider = $isReadableProvider; - $this->requireStrictFileNames = $requireStrictFileNames; - } - - /** - * {@inheritdoc} - */ - protected function configure() - { - $this - ->setDescription('Lints a XLIFF file and outputs encountered errors') - ->addArgument('filename', InputArgument::IS_ARRAY, 'A file, a directory or "-" for reading from STDIN') - ->addOption('format', null, InputOption::VALUE_REQUIRED, 'The output format', 'txt') - ->setHelp(<<%command.name% command lints a XLIFF file and outputs to STDOUT -the first encountered syntax error. - -You can validates XLIFF contents passed from STDIN: - - cat filename | php %command.full_name% - - -You can also validate the syntax of a file: - - php %command.full_name% filename - -Or of a whole directory: - - php %command.full_name% dirname - php %command.full_name% dirname --format=json - -EOF - ) - ; - } - - protected function execute(InputInterface $input, OutputInterface $output) - { - $io = new SymfonyStyle($input, $output); - $filenames = (array) $input->getArgument('filename'); - $this->format = $input->getOption('format'); - $this->displayCorrectFiles = $output->isVerbose(); - - if (['-'] === $filenames) { - return $this->display($io, [$this->validate(file_get_contents('php://stdin'))]); - } - - // @deprecated to be removed in 5.0 - if (!$filenames) { - if (0 !== ftell(STDIN)) { - throw new RuntimeException('Please provide a filename or pipe file content to STDIN.'); - } - - @trigger_error('Piping content from STDIN to the "lint:xliff" command without passing the dash symbol "-" as argument is deprecated since Symfony 4.4.', E_USER_DEPRECATED); - - return $this->display($io, [$this->validate(file_get_contents('php://stdin'))]); - } - - $filesInfo = []; - foreach ($filenames as $filename) { - if (!$this->isReadable($filename)) { - throw new RuntimeException(sprintf('File or directory "%s" is not readable.', $filename)); - } - - foreach ($this->getFiles($filename) as $file) { - $filesInfo[] = $this->validate(file_get_contents($file), $file); - } - } - - return $this->display($io, $filesInfo); - } - - private function validate(string $content, string $file = null): array - { - $errors = []; - - // Avoid: Warning DOMDocument::loadXML(): Empty string supplied as input - if ('' === trim($content)) { - return ['file' => $file, 'valid' => true]; - } - - $internal = libxml_use_internal_errors(true); - - $document = new \DOMDocument(); - $document->loadXML($content); - - if (null !== $targetLanguage = $this->getTargetLanguageFromFile($document)) { - $normalizedLocale = preg_quote(str_replace('-', '_', $targetLanguage), '/'); - // strict file names require translation files to be named '____.locale.xlf' - // otherwise, both '____.locale.xlf' and 'locale.____.xlf' are allowed - // also, the regexp matching must be case-insensitive, as defined for 'target-language' values - // http://docs.oasis-open.org/xliff/v1.2/os/xliff-core.html#target-language - $expectedFilenamePattern = $this->requireStrictFileNames ? sprintf('/^.*\.(?i:%s)\.(?:xlf|xliff)/', $normalizedLocale) : sprintf('/^(?:.*\.(?i:%s)|(?i:%s)\..*)\.(?:xlf|xliff)/', $normalizedLocale, $normalizedLocale); - - if (0 === preg_match($expectedFilenamePattern, basename($file))) { - $errors[] = [ - 'line' => -1, - 'column' => -1, - 'message' => sprintf('There is a mismatch between the language included in the file name ("%s") and the "%s" value used in the "target-language" attribute of the file.', basename($file), $targetLanguage), - ]; - } - } - - foreach (XliffUtils::validateSchema($document) as $xmlError) { - $errors[] = [ - 'line' => $xmlError['line'], - 'column' => $xmlError['column'], - 'message' => $xmlError['message'], - ]; - } - - libxml_clear_errors(); - libxml_use_internal_errors($internal); - - return ['file' => $file, 'valid' => 0 === \count($errors), 'messages' => $errors]; - } - - private function display(SymfonyStyle $io, array $files) - { - switch ($this->format) { - case 'txt': - return $this->displayTxt($io, $files); - case 'json': - return $this->displayJson($io, $files); - default: - throw new InvalidArgumentException(sprintf('The format "%s" is not supported.', $this->format)); - } - } - - private function displayTxt(SymfonyStyle $io, array $filesInfo) - { - $countFiles = \count($filesInfo); - $erroredFiles = 0; - - foreach ($filesInfo as $info) { - if ($info['valid'] && $this->displayCorrectFiles) { - $io->comment('OK'.($info['file'] ? sprintf(' in %s', $info['file']) : '')); - } elseif (!$info['valid']) { - ++$erroredFiles; - $io->text(' ERROR '.($info['file'] ? sprintf(' in %s', $info['file']) : '')); - $io->listing(array_map(function ($error) { - // general document errors have a '-1' line number - return -1 === $error['line'] ? $error['message'] : sprintf('Line %d, Column %d: %s', $error['line'], $error['column'], $error['message']); - }, $info['messages'])); - } - } - - if (0 === $erroredFiles) { - $io->success(sprintf('All %d XLIFF files contain valid syntax.', $countFiles)); - } else { - $io->warning(sprintf('%d XLIFF files have valid syntax and %d contain errors.', $countFiles - $erroredFiles, $erroredFiles)); - } - - return min($erroredFiles, 1); - } - - private function displayJson(SymfonyStyle $io, array $filesInfo) - { - $errors = 0; - - array_walk($filesInfo, function (&$v) use (&$errors) { - $v['file'] = (string) $v['file']; - if (!$v['valid']) { - ++$errors; - } - }); - - $io->writeln(json_encode($filesInfo, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES)); - - return min($errors, 1); - } - - private function getFiles(string $fileOrDirectory) - { - if (is_file($fileOrDirectory)) { - yield new \SplFileInfo($fileOrDirectory); - - return; - } - - foreach ($this->getDirectoryIterator($fileOrDirectory) as $file) { - if (!\in_array($file->getExtension(), ['xlf', 'xliff'])) { - continue; - } - - yield $file; - } - } - - private function getDirectoryIterator(string $directory) - { - $default = function ($directory) { - return new \RecursiveIteratorIterator( - new \RecursiveDirectoryIterator($directory, \FilesystemIterator::SKIP_DOTS | \FilesystemIterator::FOLLOW_SYMLINKS), - \RecursiveIteratorIterator::LEAVES_ONLY - ); - }; - - if (null !== $this->directoryIteratorProvider) { - return ($this->directoryIteratorProvider)($directory, $default); - } - - return $default($directory); - } - - private function isReadable(string $fileOrDirectory) - { - $default = function ($fileOrDirectory) { - return is_readable($fileOrDirectory); - }; - - if (null !== $this->isReadableProvider) { - return ($this->isReadableProvider)($fileOrDirectory, $default); - } - - return $default($fileOrDirectory); - } - - private function getTargetLanguageFromFile(\DOMDocument $xliffContents): ?string - { - foreach ($xliffContents->getElementsByTagName('file')[0]->attributes ?? [] as $attribute) { - if ('target-language' === $attribute->nodeName) { - return $attribute->nodeValue; - } - } - - return null; - } -} diff --git a/paragonik-backend/vendor/symfony/translation/DataCollector/TranslationDataCollector.php b/paragonik-backend/vendor/symfony/translation/DataCollector/TranslationDataCollector.php deleted file mode 100644 index 92c52dc..0000000 --- a/paragonik-backend/vendor/symfony/translation/DataCollector/TranslationDataCollector.php +++ /dev/null @@ -1,173 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\DataCollector; - -use Symfony\Component\HttpFoundation\Request; -use Symfony\Component\HttpFoundation\Response; -use Symfony\Component\HttpKernel\DataCollector\DataCollector; -use Symfony\Component\HttpKernel\DataCollector\LateDataCollectorInterface; -use Symfony\Component\Translation\DataCollectorTranslator; - -/** - * @author Abdellatif Ait boudad - * - * @final since Symfony 4.4 - */ -class TranslationDataCollector extends DataCollector implements LateDataCollectorInterface -{ - private $translator; - - public function __construct(DataCollectorTranslator $translator) - { - $this->translator = $translator; - } - - /** - * {@inheritdoc} - */ - public function lateCollect() - { - $messages = $this->sanitizeCollectedMessages($this->translator->getCollectedMessages()); - - $this->data += $this->computeCount($messages); - $this->data['messages'] = $messages; - - $this->data = $this->cloneVar($this->data); - } - - /** - * {@inheritdoc} - * - * @param \Throwable|null $exception - */ - public function collect(Request $request, Response $response/*, \Throwable $exception = null*/) - { - $this->data['locale'] = $this->translator->getLocale(); - $this->data['fallback_locales'] = $this->translator->getFallbackLocales(); - } - - /** - * {@inheritdoc} - */ - public function reset() - { - $this->data = []; - } - - /** - * @return array|Data - */ - public function getMessages() - { - return isset($this->data['messages']) ? $this->data['messages'] : []; - } - - /** - * @return int - */ - public function getCountMissings() - { - return isset($this->data[DataCollectorTranslator::MESSAGE_MISSING]) ? $this->data[DataCollectorTranslator::MESSAGE_MISSING] : 0; - } - - /** - * @return int - */ - public function getCountFallbacks() - { - return isset($this->data[DataCollectorTranslator::MESSAGE_EQUALS_FALLBACK]) ? $this->data[DataCollectorTranslator::MESSAGE_EQUALS_FALLBACK] : 0; - } - - /** - * @return int - */ - public function getCountDefines() - { - return isset($this->data[DataCollectorTranslator::MESSAGE_DEFINED]) ? $this->data[DataCollectorTranslator::MESSAGE_DEFINED] : 0; - } - - public function getLocale() - { - return !empty($this->data['locale']) ? $this->data['locale'] : null; - } - - /** - * @internal since Symfony 4.2 - */ - public function getFallbackLocales() - { - return (isset($this->data['fallback_locales']) && \count($this->data['fallback_locales']) > 0) ? $this->data['fallback_locales'] : []; - } - - /** - * {@inheritdoc} - */ - public function getName() - { - return 'translation'; - } - - private function sanitizeCollectedMessages(array $messages) - { - $result = []; - foreach ($messages as $key => $message) { - $messageId = $message['locale'].$message['domain'].$message['id']; - - if (!isset($result[$messageId])) { - $message['count'] = 1; - $message['parameters'] = !empty($message['parameters']) ? [$message['parameters']] : []; - $messages[$key]['translation'] = $this->sanitizeString($message['translation']); - $result[$messageId] = $message; - } else { - if (!empty($message['parameters'])) { - $result[$messageId]['parameters'][] = $message['parameters']; - } - - ++$result[$messageId]['count']; - } - - unset($messages[$key]); - } - - return $result; - } - - private function computeCount(array $messages) - { - $count = [ - DataCollectorTranslator::MESSAGE_DEFINED => 0, - DataCollectorTranslator::MESSAGE_MISSING => 0, - DataCollectorTranslator::MESSAGE_EQUALS_FALLBACK => 0, - ]; - - foreach ($messages as $message) { - ++$count[$message['state']]; - } - - return $count; - } - - private function sanitizeString(string $string, int $length = 80) - { - $string = trim(preg_replace('/\s+/', ' ', $string)); - - if (false !== $encoding = mb_detect_encoding($string, null, true)) { - if (mb_strlen($string, $encoding) > $length) { - return mb_substr($string, 0, $length - 3, $encoding).'...'; - } - } elseif (\strlen($string) > $length) { - return substr($string, 0, $length - 3).'...'; - } - - return $string; - } -} diff --git a/paragonik-backend/vendor/symfony/translation/DataCollectorTranslator.php b/paragonik-backend/vendor/symfony/translation/DataCollectorTranslator.php deleted file mode 100644 index 1c672b7..0000000 --- a/paragonik-backend/vendor/symfony/translation/DataCollectorTranslator.php +++ /dev/null @@ -1,182 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation; - -use Symfony\Component\HttpKernel\CacheWarmer\WarmableInterface; -use Symfony\Component\Translation\Exception\InvalidArgumentException; -use Symfony\Component\Translation\TranslatorInterface as LegacyTranslatorInterface; -use Symfony\Contracts\Translation\LocaleAwareInterface; -use Symfony\Contracts\Translation\TranslatorInterface; - -/** - * @author Abdellatif Ait boudad - */ -class DataCollectorTranslator implements LegacyTranslatorInterface, TranslatorInterface, TranslatorBagInterface, WarmableInterface -{ - const MESSAGE_DEFINED = 0; - const MESSAGE_MISSING = 1; - const MESSAGE_EQUALS_FALLBACK = 2; - - /** - * @var TranslatorInterface|TranslatorBagInterface - */ - private $translator; - - private $messages = []; - - /** - * @param TranslatorInterface $translator The translator must implement TranslatorBagInterface - */ - public function __construct($translator) - { - if (!$translator instanceof LegacyTranslatorInterface && !$translator instanceof TranslatorInterface) { - throw new \TypeError(sprintf('Argument 1 passed to %s() must be an instance of %s, %s given.', __METHOD__, TranslatorInterface::class, \is_object($translator) ? \get_class($translator) : \gettype($translator))); - } - if (!$translator instanceof TranslatorBagInterface || !$translator instanceof LocaleAwareInterface) { - throw new InvalidArgumentException(sprintf('The Translator "%s" must implement TranslatorInterface, TranslatorBagInterface and LocaleAwareInterface.', \get_class($translator))); - } - - $this->translator = $translator; - } - - /** - * {@inheritdoc} - */ - public function trans($id, array $parameters = [], $domain = null, $locale = null) - { - $trans = $this->translator->trans($id, $parameters, $domain, $locale); - $this->collectMessage($locale, $domain, $id, $trans, $parameters); - - return $trans; - } - - /** - * {@inheritdoc} - * - * @deprecated since Symfony 4.2, use the trans() method instead with a %count% parameter - */ - public function transChoice($id, $number, array $parameters = [], $domain = null, $locale = null) - { - if ($this->translator instanceof TranslatorInterface) { - $trans = $this->translator->trans($id, ['%count%' => $number] + $parameters, $domain, $locale); - } else { - $trans = $this->translator->transChoice($id, $number, $parameters, $domain, $locale); - } - - $this->collectMessage($locale, $domain, $id, $trans, ['%count%' => $number] + $parameters); - - return $trans; - } - - /** - * {@inheritdoc} - */ - public function setLocale($locale) - { - $this->translator->setLocale($locale); - } - - /** - * {@inheritdoc} - */ - public function getLocale() - { - return $this->translator->getLocale(); - } - - /** - * {@inheritdoc} - */ - public function getCatalogue($locale = null) - { - return $this->translator->getCatalogue($locale); - } - - /** - * {@inheritdoc} - */ - public function warmUp($cacheDir) - { - if ($this->translator instanceof WarmableInterface) { - $this->translator->warmUp($cacheDir); - } - } - - /** - * Gets the fallback locales. - * - * @return array The fallback locales - */ - public function getFallbackLocales() - { - if ($this->translator instanceof Translator || method_exists($this->translator, 'getFallbackLocales')) { - return $this->translator->getFallbackLocales(); - } - - return []; - } - - /** - * Passes through all unknown calls onto the translator object. - */ - public function __call($method, $args) - { - return $this->translator->{$method}(...$args); - } - - /** - * @return array - */ - public function getCollectedMessages() - { - return $this->messages; - } - - private function collectMessage(?string $locale, ?string $domain, ?string $id, string $translation, ?array $parameters = []) - { - if (null === $domain) { - $domain = 'messages'; - } - - $id = (string) $id; - $catalogue = $this->translator->getCatalogue($locale); - $locale = $catalogue->getLocale(); - $fallbackLocale = null; - if ($catalogue->defines($id, $domain)) { - $state = self::MESSAGE_DEFINED; - } elseif ($catalogue->has($id, $domain)) { - $state = self::MESSAGE_EQUALS_FALLBACK; - - $fallbackCatalogue = $catalogue->getFallbackCatalogue(); - while ($fallbackCatalogue) { - if ($fallbackCatalogue->defines($id, $domain)) { - $fallbackLocale = $fallbackCatalogue->getLocale(); - break; - } - $fallbackCatalogue = $fallbackCatalogue->getFallbackCatalogue(); - } - } else { - $state = self::MESSAGE_MISSING; - } - - $this->messages[] = [ - 'locale' => $locale, - 'fallbackLocale' => $fallbackLocale, - 'domain' => $domain, - 'id' => $id, - 'translation' => $translation, - 'parameters' => $parameters, - 'state' => $state, - 'transChoiceNumber' => isset($parameters['%count%']) && is_numeric($parameters['%count%']) ? $parameters['%count%'] : null, - ]; - } -} diff --git a/paragonik-backend/vendor/symfony/translation/DependencyInjection/TranslationDumperPass.php b/paragonik-backend/vendor/symfony/translation/DependencyInjection/TranslationDumperPass.php deleted file mode 100644 index 930f36d..0000000 --- a/paragonik-backend/vendor/symfony/translation/DependencyInjection/TranslationDumperPass.php +++ /dev/null @@ -1,44 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\DependencyInjection; - -use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface; -use Symfony\Component\DependencyInjection\ContainerBuilder; -use Symfony\Component\DependencyInjection\Reference; - -/** - * Adds tagged translation.formatter services to translation writer. - */ -class TranslationDumperPass implements CompilerPassInterface -{ - private $writerServiceId; - private $dumperTag; - - public function __construct(string $writerServiceId = 'translation.writer', string $dumperTag = 'translation.dumper') - { - $this->writerServiceId = $writerServiceId; - $this->dumperTag = $dumperTag; - } - - public function process(ContainerBuilder $container) - { - if (!$container->hasDefinition($this->writerServiceId)) { - return; - } - - $definition = $container->getDefinition($this->writerServiceId); - - foreach ($container->findTaggedServiceIds($this->dumperTag, true) as $id => $attributes) { - $definition->addMethodCall('addDumper', [$attributes[0]['alias'], new Reference($id)]); - } - } -} diff --git a/paragonik-backend/vendor/symfony/translation/DependencyInjection/TranslationExtractorPass.php b/paragonik-backend/vendor/symfony/translation/DependencyInjection/TranslationExtractorPass.php deleted file mode 100644 index d08b2ba..0000000 --- a/paragonik-backend/vendor/symfony/translation/DependencyInjection/TranslationExtractorPass.php +++ /dev/null @@ -1,49 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\DependencyInjection; - -use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface; -use Symfony\Component\DependencyInjection\ContainerBuilder; -use Symfony\Component\DependencyInjection\Exception\RuntimeException; -use Symfony\Component\DependencyInjection\Reference; - -/** - * Adds tagged translation.extractor services to translation extractor. - */ -class TranslationExtractorPass implements CompilerPassInterface -{ - private $extractorServiceId; - private $extractorTag; - - public function __construct(string $extractorServiceId = 'translation.extractor', string $extractorTag = 'translation.extractor') - { - $this->extractorServiceId = $extractorServiceId; - $this->extractorTag = $extractorTag; - } - - public function process(ContainerBuilder $container) - { - if (!$container->hasDefinition($this->extractorServiceId)) { - return; - } - - $definition = $container->getDefinition($this->extractorServiceId); - - foreach ($container->findTaggedServiceIds($this->extractorTag, true) as $id => $attributes) { - if (!isset($attributes[0]['alias'])) { - throw new RuntimeException(sprintf('The alias for the tag "translation.extractor" of service "%s" must be set.', $id)); - } - - $definition->addMethodCall('addExtractor', [$attributes[0]['alias'], new Reference($id)]); - } - } -} diff --git a/paragonik-backend/vendor/symfony/translation/DependencyInjection/TranslatorPass.php b/paragonik-backend/vendor/symfony/translation/DependencyInjection/TranslatorPass.php deleted file mode 100644 index ed4a840..0000000 --- a/paragonik-backend/vendor/symfony/translation/DependencyInjection/TranslatorPass.php +++ /dev/null @@ -1,89 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\DependencyInjection; - -use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface; -use Symfony\Component\DependencyInjection\Compiler\ServiceLocatorTagPass; -use Symfony\Component\DependencyInjection\ContainerBuilder; -use Symfony\Component\DependencyInjection\Reference; - -class TranslatorPass implements CompilerPassInterface -{ - private $translatorServiceId; - private $readerServiceId; - private $loaderTag; - private $debugCommandServiceId; - private $updateCommandServiceId; - - public function __construct(string $translatorServiceId = 'translator.default', string $readerServiceId = 'translation.reader', string $loaderTag = 'translation.loader', string $debugCommandServiceId = 'console.command.translation_debug', string $updateCommandServiceId = 'console.command.translation_update') - { - $this->translatorServiceId = $translatorServiceId; - $this->readerServiceId = $readerServiceId; - $this->loaderTag = $loaderTag; - $this->debugCommandServiceId = $debugCommandServiceId; - $this->updateCommandServiceId = $updateCommandServiceId; - } - - public function process(ContainerBuilder $container) - { - if (!$container->hasDefinition($this->translatorServiceId)) { - return; - } - - $loaders = []; - $loaderRefs = []; - foreach ($container->findTaggedServiceIds($this->loaderTag, true) as $id => $attributes) { - $loaderRefs[$id] = new Reference($id); - $loaders[$id][] = $attributes[0]['alias']; - if (isset($attributes[0]['legacy-alias'])) { - $loaders[$id][] = $attributes[0]['legacy-alias']; - } - } - - if ($container->hasDefinition($this->readerServiceId)) { - $definition = $container->getDefinition($this->readerServiceId); - foreach ($loaders as $id => $formats) { - foreach ($formats as $format) { - $definition->addMethodCall('addLoader', [$format, $loaderRefs[$id]]); - } - } - } - - $container - ->findDefinition($this->translatorServiceId) - ->replaceArgument(0, ServiceLocatorTagPass::register($container, $loaderRefs)) - ->replaceArgument(3, $loaders) - ; - - if (!$container->hasParameter('twig.default_path')) { - return; - } - - $paths = array_keys($container->getDefinition('twig.template_iterator')->getArgument(2)); - if ($container->hasDefinition($this->debugCommandServiceId)) { - $definition = $container->getDefinition($this->debugCommandServiceId); - $definition->replaceArgument(4, $container->getParameter('twig.default_path')); - - if (\count($definition->getArguments()) > 6) { - $definition->replaceArgument(6, $paths); - } - } - if ($container->hasDefinition($this->updateCommandServiceId)) { - $definition = $container->getDefinition($this->updateCommandServiceId); - $definition->replaceArgument(5, $container->getParameter('twig.default_path')); - - if (\count($definition->getArguments()) > 7) { - $definition->replaceArgument(7, $paths); - } - } - } -} diff --git a/paragonik-backend/vendor/symfony/translation/DependencyInjection/TranslatorPathsPass.php b/paragonik-backend/vendor/symfony/translation/DependencyInjection/TranslatorPathsPass.php deleted file mode 100644 index 8ff2587..0000000 --- a/paragonik-backend/vendor/symfony/translation/DependencyInjection/TranslatorPathsPass.php +++ /dev/null @@ -1,144 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\DependencyInjection; - -use Symfony\Component\DependencyInjection\Compiler\AbstractRecursivePass; -use Symfony\Component\DependencyInjection\ContainerBuilder; -use Symfony\Component\DependencyInjection\Definition; -use Symfony\Component\DependencyInjection\Reference; -use Symfony\Component\DependencyInjection\ServiceLocator; - -/** - * @author Yonel Ceruto - */ -class TranslatorPathsPass extends AbstractRecursivePass -{ - private $translatorServiceId; - private $debugCommandServiceId; - private $updateCommandServiceId; - private $resolverServiceId; - private $level = 0; - private $paths = []; - private $definitions = []; - private $controllers = []; - - public function __construct(string $translatorServiceId = 'translator', string $debugCommandServiceId = 'console.command.translation_debug', string $updateCommandServiceId = 'console.command.translation_update', string $resolverServiceId = 'argument_resolver.service') - { - $this->translatorServiceId = $translatorServiceId; - $this->debugCommandServiceId = $debugCommandServiceId; - $this->updateCommandServiceId = $updateCommandServiceId; - $this->resolverServiceId = $resolverServiceId; - } - - public function process(ContainerBuilder $container) - { - if (!$container->hasDefinition($this->translatorServiceId)) { - return; - } - - foreach ($this->findControllerArguments($container) as $controller => $argument) { - $id = substr($controller, 0, strpos($controller, ':') ?: \strlen($controller)); - if ($container->hasDefinition($id)) { - list($locatorRef) = $argument->getValues(); - $this->controllers[(string) $locatorRef][$container->getDefinition($id)->getClass()] = true; - } - } - - try { - parent::process($container); - - $paths = []; - foreach ($this->paths as $class => $_) { - if (($r = $container->getReflectionClass($class)) && !$r->isInterface()) { - $paths[] = $r->getFileName(); - } - } - if ($paths) { - if ($container->hasDefinition($this->debugCommandServiceId)) { - $definition = $container->getDefinition($this->debugCommandServiceId); - $definition->replaceArgument(6, array_merge($definition->getArgument(6), $paths)); - } - if ($container->hasDefinition($this->updateCommandServiceId)) { - $definition = $container->getDefinition($this->updateCommandServiceId); - $definition->replaceArgument(7, array_merge($definition->getArgument(7), $paths)); - } - } - } finally { - $this->level = 0; - $this->paths = []; - $this->definitions = []; - } - } - - protected function processValue($value, $isRoot = false) - { - if ($value instanceof Reference) { - if ((string) $value === $this->translatorServiceId) { - for ($i = $this->level - 1; $i >= 0; --$i) { - $class = $this->definitions[$i]->getClass(); - - if (ServiceLocator::class === $class) { - if (!isset($this->controllers[$this->currentId])) { - continue; - } - foreach ($this->controllers[$this->currentId] as $class => $_) { - $this->paths[$class] = true; - } - } else { - $this->paths[$class] = true; - } - - break; - } - } - - return $value; - } - - if ($value instanceof Definition) { - $this->definitions[$this->level++] = $value; - $value = parent::processValue($value, $isRoot); - unset($this->definitions[--$this->level]); - - return $value; - } - - return parent::processValue($value, $isRoot); - } - - private function findControllerArguments(ContainerBuilder $container): array - { - if ($container->hasDefinition($this->resolverServiceId)) { - $argument = $container->getDefinition($this->resolverServiceId)->getArgument(0); - if ($argument instanceof Reference) { - $argument = $container->getDefinition($argument); - } - - return $argument->getArgument(0); - } - - if ($container->hasDefinition('debug.'.$this->resolverServiceId)) { - $argument = $container->getDefinition('debug.'.$this->resolverServiceId)->getArgument(0); - if ($argument instanceof Reference) { - $argument = $container->getDefinition($argument); - } - $argument = $argument->getArgument(0); - if ($argument instanceof Reference) { - $argument = $container->getDefinition($argument); - } - - return $argument->getArgument(0); - } - - return []; - } -} diff --git a/paragonik-backend/vendor/symfony/translation/Dumper/CsvFileDumper.php b/paragonik-backend/vendor/symfony/translation/Dumper/CsvFileDumper.php deleted file mode 100644 index bfa8db6..0000000 --- a/paragonik-backend/vendor/symfony/translation/Dumper/CsvFileDumper.php +++ /dev/null @@ -1,63 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Dumper; - -use Symfony\Component\Translation\MessageCatalogue; - -/** - * CsvFileDumper generates a csv formatted string representation of a message catalogue. - * - * @author Stealth35 - */ -class CsvFileDumper extends FileDumper -{ - private $delimiter = ';'; - private $enclosure = '"'; - - /** - * {@inheritdoc} - */ - public function formatCatalogue(MessageCatalogue $messages, $domain, array $options = []) - { - $handle = fopen('php://memory', 'r+b'); - - foreach ($messages->all($domain) as $source => $target) { - fputcsv($handle, [$source, $target], $this->delimiter, $this->enclosure); - } - - rewind($handle); - $output = stream_get_contents($handle); - fclose($handle); - - return $output; - } - - /** - * Sets the delimiter and escape character for CSV. - * - * @param string $delimiter Delimiter character - * @param string $enclosure Enclosure character - */ - public function setCsvControl($delimiter = ';', $enclosure = '"') - { - $this->delimiter = $delimiter; - $this->enclosure = $enclosure; - } - - /** - * {@inheritdoc} - */ - protected function getExtension() - { - return 'csv'; - } -} diff --git a/paragonik-backend/vendor/symfony/translation/Dumper/DumperInterface.php b/paragonik-backend/vendor/symfony/translation/Dumper/DumperInterface.php deleted file mode 100644 index 445b701..0000000 --- a/paragonik-backend/vendor/symfony/translation/Dumper/DumperInterface.php +++ /dev/null @@ -1,30 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Dumper; - -use Symfony\Component\Translation\MessageCatalogue; - -/** - * DumperInterface is the interface implemented by all translation dumpers. - * There is no common option. - * - * @author Michel Salib - */ -interface DumperInterface -{ - /** - * Dumps the message catalogue. - * - * @param array $options Options that are used by the dumper - */ - public function dump(MessageCatalogue $messages, $options = []); -} diff --git a/paragonik-backend/vendor/symfony/translation/Dumper/FileDumper.php b/paragonik-backend/vendor/symfony/translation/Dumper/FileDumper.php deleted file mode 100644 index 2009c53..0000000 --- a/paragonik-backend/vendor/symfony/translation/Dumper/FileDumper.php +++ /dev/null @@ -1,130 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Dumper; - -use Symfony\Component\Translation\Exception\InvalidArgumentException; -use Symfony\Component\Translation\Exception\RuntimeException; -use Symfony\Component\Translation\MessageCatalogue; - -/** - * FileDumper is an implementation of DumperInterface that dump a message catalogue to file(s). - * - * Options: - * - path (mandatory): the directory where the files should be saved - * - * @author Michel Salib - */ -abstract class FileDumper implements DumperInterface -{ - /** - * A template for the relative paths to files. - * - * @var string - */ - protected $relativePathTemplate = '%domain%.%locale%.%extension%'; - - /** - * Sets the template for the relative paths to files. - * - * @param string $relativePathTemplate A template for the relative paths to files - */ - public function setRelativePathTemplate($relativePathTemplate) - { - $this->relativePathTemplate = $relativePathTemplate; - } - - /** - * Sets backup flag. - * - * @param bool $backup - * - * @deprecated since Symfony 4.1 - */ - public function setBackup($backup) - { - @trigger_error(sprintf('The "%s()" method is deprecated since Symfony 4.1.', __METHOD__), E_USER_DEPRECATED); - - if (false !== $backup) { - throw new \LogicException('The backup feature is no longer supported.'); - } - } - - /** - * {@inheritdoc} - */ - public function dump(MessageCatalogue $messages, $options = []) - { - if (!\array_key_exists('path', $options)) { - throw new InvalidArgumentException('The file dumper needs a path option.'); - } - - // save a file for each domain - foreach ($messages->getDomains() as $domain) { - $fullpath = $options['path'].'/'.$this->getRelativePath($domain, $messages->getLocale()); - if (!file_exists($fullpath)) { - $directory = \dirname($fullpath); - if (!file_exists($directory) && !@mkdir($directory, 0777, true)) { - throw new RuntimeException(sprintf('Unable to create directory "%s".', $directory)); - } - } - - $intlDomain = $domain.MessageCatalogue::INTL_DOMAIN_SUFFIX; - $intlMessages = $messages->all($intlDomain); - - if ($intlMessages) { - $intlPath = $options['path'].'/'.$this->getRelativePath($intlDomain, $messages->getLocale()); - file_put_contents($intlPath, $this->formatCatalogue($messages, $intlDomain, $options)); - - $messages->replace([], $intlDomain); - - try { - if ($messages->all($domain)) { - file_put_contents($fullpath, $this->formatCatalogue($messages, $domain, $options)); - } - continue; - } finally { - $messages->replace($intlMessages, $intlDomain); - } - } - - file_put_contents($fullpath, $this->formatCatalogue($messages, $domain, $options)); - } - } - - /** - * Transforms a domain of a message catalogue to its string representation. - * - * @param string $domain - * - * @return string representation - */ - abstract public function formatCatalogue(MessageCatalogue $messages, $domain, array $options = []); - - /** - * Gets the file extension of the dumper. - * - * @return string file extension - */ - abstract protected function getExtension(); - - /** - * Gets the relative file path using the template. - */ - private function getRelativePath(string $domain, string $locale): string - { - return strtr($this->relativePathTemplate, [ - '%domain%' => $domain, - '%locale%' => $locale, - '%extension%' => $this->getExtension(), - ]); - } -} diff --git a/paragonik-backend/vendor/symfony/translation/Dumper/IcuResFileDumper.php b/paragonik-backend/vendor/symfony/translation/Dumper/IcuResFileDumper.php deleted file mode 100644 index 829e0d0..0000000 --- a/paragonik-backend/vendor/symfony/translation/Dumper/IcuResFileDumper.php +++ /dev/null @@ -1,104 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Dumper; - -use Symfony\Component\Translation\MessageCatalogue; - -/** - * IcuResDumper generates an ICU ResourceBundle formatted string representation of a message catalogue. - * - * @author Stealth35 - */ -class IcuResFileDumper extends FileDumper -{ - /** - * {@inheritdoc} - */ - protected $relativePathTemplate = '%domain%/%locale%.%extension%'; - - /** - * {@inheritdoc} - */ - public function formatCatalogue(MessageCatalogue $messages, $domain, array $options = []) - { - $data = $indexes = $resources = ''; - - foreach ($messages->all($domain) as $source => $target) { - $indexes .= pack('v', \strlen($data) + 28); - $data .= $source."\0"; - } - - $data .= $this->writePadding($data); - - $keyTop = $this->getPosition($data); - - foreach ($messages->all($domain) as $source => $target) { - $resources .= pack('V', $this->getPosition($data)); - - $data .= pack('V', \strlen($target)) - .mb_convert_encoding($target."\0", 'UTF-16LE', 'UTF-8') - .$this->writePadding($data) - ; - } - - $resOffset = $this->getPosition($data); - - $data .= pack('v', \count($messages->all($domain))) - .$indexes - .$this->writePadding($data) - .$resources - ; - - $bundleTop = $this->getPosition($data); - - $root = pack('V7', - $resOffset + (2 << 28), // Resource Offset + Resource Type - 6, // Index length - $keyTop, // Index keys top - $bundleTop, // Index resources top - $bundleTop, // Index bundle top - \count($messages->all($domain)), // Index max table length - 0 // Index attributes - ); - - $header = pack('vC2v4C12@32', - 32, // Header size - 0xDA, 0x27, // Magic number 1 and 2 - 20, 0, 0, 2, // Rest of the header, ..., Size of a char - 0x52, 0x65, 0x73, 0x42, // Data format identifier - 1, 2, 0, 0, // Data version - 1, 4, 0, 0 // Unicode version - ); - - return $header.$root.$data; - } - - private function writePadding(string $data): ?string - { - $padding = \strlen($data) % 4; - - return $padding ? str_repeat("\xAA", 4 - $padding) : null; - } - - private function getPosition(string $data) - { - return (\strlen($data) + 28) / 4; - } - - /** - * {@inheritdoc} - */ - protected function getExtension() - { - return 'res'; - } -} diff --git a/paragonik-backend/vendor/symfony/translation/Dumper/IniFileDumper.php b/paragonik-backend/vendor/symfony/translation/Dumper/IniFileDumper.php deleted file mode 100644 index 45ff961..0000000 --- a/paragonik-backend/vendor/symfony/translation/Dumper/IniFileDumper.php +++ /dev/null @@ -1,45 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Dumper; - -use Symfony\Component\Translation\MessageCatalogue; - -/** - * IniFileDumper generates an ini formatted string representation of a message catalogue. - * - * @author Stealth35 - */ -class IniFileDumper extends FileDumper -{ - /** - * {@inheritdoc} - */ - public function formatCatalogue(MessageCatalogue $messages, $domain, array $options = []) - { - $output = ''; - - foreach ($messages->all($domain) as $source => $target) { - $escapeTarget = str_replace('"', '\"', $target); - $output .= $source.'="'.$escapeTarget."\"\n"; - } - - return $output; - } - - /** - * {@inheritdoc} - */ - protected function getExtension() - { - return 'ini'; - } -} diff --git a/paragonik-backend/vendor/symfony/translation/Dumper/JsonFileDumper.php b/paragonik-backend/vendor/symfony/translation/Dumper/JsonFileDumper.php deleted file mode 100644 index 2af8231..0000000 --- a/paragonik-backend/vendor/symfony/translation/Dumper/JsonFileDumper.php +++ /dev/null @@ -1,40 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Dumper; - -use Symfony\Component\Translation\MessageCatalogue; - -/** - * JsonFileDumper generates an json formatted string representation of a message catalogue. - * - * @author singles - */ -class JsonFileDumper extends FileDumper -{ - /** - * {@inheritdoc} - */ - public function formatCatalogue(MessageCatalogue $messages, $domain, array $options = []) - { - $flags = $options['json_encoding'] ?? JSON_PRETTY_PRINT; - - return json_encode($messages->all($domain), $flags); - } - - /** - * {@inheritdoc} - */ - protected function getExtension() - { - return 'json'; - } -} diff --git a/paragonik-backend/vendor/symfony/translation/Dumper/MoFileDumper.php b/paragonik-backend/vendor/symfony/translation/Dumper/MoFileDumper.php deleted file mode 100644 index 5a96dac..0000000 --- a/paragonik-backend/vendor/symfony/translation/Dumper/MoFileDumper.php +++ /dev/null @@ -1,82 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Dumper; - -use Symfony\Component\Translation\Loader\MoFileLoader; -use Symfony\Component\Translation\MessageCatalogue; - -/** - * MoFileDumper generates a gettext formatted string representation of a message catalogue. - * - * @author Stealth35 - */ -class MoFileDumper extends FileDumper -{ - /** - * {@inheritdoc} - */ - public function formatCatalogue(MessageCatalogue $messages, $domain, array $options = []) - { - $sources = $targets = $sourceOffsets = $targetOffsets = ''; - $offsets = []; - $size = 0; - - foreach ($messages->all($domain) as $source => $target) { - $offsets[] = array_map('strlen', [$sources, $source, $targets, $target]); - $sources .= "\0".$source; - $targets .= "\0".$target; - ++$size; - } - - $header = [ - 'magicNumber' => MoFileLoader::MO_LITTLE_ENDIAN_MAGIC, - 'formatRevision' => 0, - 'count' => $size, - 'offsetId' => MoFileLoader::MO_HEADER_SIZE, - 'offsetTranslated' => MoFileLoader::MO_HEADER_SIZE + (8 * $size), - 'sizeHashes' => 0, - 'offsetHashes' => MoFileLoader::MO_HEADER_SIZE + (16 * $size), - ]; - - $sourcesSize = \strlen($sources); - $sourcesStart = $header['offsetHashes'] + 1; - - foreach ($offsets as $offset) { - $sourceOffsets .= $this->writeLong($offset[1]) - .$this->writeLong($offset[0] + $sourcesStart); - $targetOffsets .= $this->writeLong($offset[3]) - .$this->writeLong($offset[2] + $sourcesStart + $sourcesSize); - } - - $output = implode('', array_map([$this, 'writeLong'], $header)) - .$sourceOffsets - .$targetOffsets - .$sources - .$targets - ; - - return $output; - } - - /** - * {@inheritdoc} - */ - protected function getExtension() - { - return 'mo'; - } - - private function writeLong($str): string - { - return pack('V*', $str); - } -} diff --git a/paragonik-backend/vendor/symfony/translation/Dumper/PhpFileDumper.php b/paragonik-backend/vendor/symfony/translation/Dumper/PhpFileDumper.php deleted file mode 100644 index e77afc2..0000000 --- a/paragonik-backend/vendor/symfony/translation/Dumper/PhpFileDumper.php +++ /dev/null @@ -1,38 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Dumper; - -use Symfony\Component\Translation\MessageCatalogue; - -/** - * PhpFileDumper generates PHP files from a message catalogue. - * - * @author Michel Salib - */ -class PhpFileDumper extends FileDumper -{ - /** - * {@inheritdoc} - */ - public function formatCatalogue(MessageCatalogue $messages, $domain, array $options = []) - { - return "all($domain), true).";\n"; - } - - /** - * {@inheritdoc} - */ - protected function getExtension() - { - return 'php'; - } -} diff --git a/paragonik-backend/vendor/symfony/translation/Dumper/PoFileDumper.php b/paragonik-backend/vendor/symfony/translation/Dumper/PoFileDumper.php deleted file mode 100644 index 2cc9e88..0000000 --- a/paragonik-backend/vendor/symfony/translation/Dumper/PoFileDumper.php +++ /dev/null @@ -1,137 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Dumper; - -use Symfony\Component\Translation\MessageCatalogue; - -/** - * PoFileDumper generates a gettext formatted string representation of a message catalogue. - * - * @author Stealth35 - */ -class PoFileDumper extends FileDumper -{ - /** - * {@inheritdoc} - */ - public function formatCatalogue(MessageCatalogue $messages, $domain, array $options = []) - { - $output = 'msgid ""'."\n"; - $output .= 'msgstr ""'."\n"; - $output .= '"Content-Type: text/plain; charset=UTF-8\n"'."\n"; - $output .= '"Content-Transfer-Encoding: 8bit\n"'."\n"; - $output .= '"Language: '.$messages->getLocale().'\n"'."\n"; - $output .= "\n"; - - $newLine = false; - foreach ($messages->all($domain) as $source => $target) { - if ($newLine) { - $output .= "\n"; - } else { - $newLine = true; - } - $metadata = $messages->getMetadata($source, $domain); - - if (isset($metadata['comments'])) { - $output .= $this->formatComments($metadata['comments']); - } - if (isset($metadata['flags'])) { - $output .= $this->formatComments(implode(',', (array) $metadata['flags']), ','); - } - if (isset($metadata['sources'])) { - $output .= $this->formatComments(implode(' ', (array) $metadata['sources']), ':'); - } - - $sourceRules = $this->getStandardRules($source); - $targetRules = $this->getStandardRules($target); - if (2 == \count($sourceRules) && $targetRules !== []) { - $output .= sprintf('msgid "%s"'."\n", $this->escape($sourceRules[0])); - $output .= sprintf('msgid_plural "%s"'."\n", $this->escape($sourceRules[1])); - foreach ($targetRules as $i => $targetRule) { - $output .= sprintf('msgstr[%d] "%s"'."\n", $i, $this->escape($targetRule)); - } - } else { - $output .= sprintf('msgid "%s"'."\n", $this->escape($source)); - $output .= sprintf('msgstr "%s"'."\n", $this->escape($target)); - } - } - - return $output; - } - - private function getStandardRules(string $id) - { - // Partly copied from TranslatorTrait::trans. - $parts = []; - if (preg_match('/^\|++$/', $id)) { - $parts = explode('|', $id); - } elseif (preg_match_all('/(?:\|\||[^\|])++/', $id, $matches)) { - $parts = $matches[0]; - } - - $intervalRegexp = <<<'EOF' -/^(?P - ({\s* - (\-?\d+(\.\d+)?[\s*,\s*\-?\d+(\.\d+)?]*) - \s*}) - - | - - (?P[\[\]]) - \s* - (?P-Inf|\-?\d+(\.\d+)?) - \s*,\s* - (?P\+?Inf|\-?\d+(\.\d+)?) - \s* - (?P[\[\]]) -)\s*(?P.*?)$/xs -EOF; - - $standardRules = []; - foreach ($parts as $part) { - $part = trim(str_replace('||', '|', $part)); - - if (preg_match($intervalRegexp, $part)) { - // Explicit rule is not a standard rule. - return []; - } else { - $standardRules[] = $part; - } - } - - return $standardRules; - } - - /** - * {@inheritdoc} - */ - protected function getExtension() - { - return 'po'; - } - - private function escape(string $str): string - { - return addcslashes($str, "\0..\37\42\134"); - } - - private function formatComments($comments, string $prefix = ''): ?string - { - $output = null; - - foreach ((array) $comments as $comment) { - $output .= sprintf('#%s %s'."\n", $prefix, $comment); - } - - return $output; - } -} diff --git a/paragonik-backend/vendor/symfony/translation/Dumper/QtFileDumper.php b/paragonik-backend/vendor/symfony/translation/Dumper/QtFileDumper.php deleted file mode 100644 index 79a64b2..0000000 --- a/paragonik-backend/vendor/symfony/translation/Dumper/QtFileDumper.php +++ /dev/null @@ -1,61 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Dumper; - -use Symfony\Component\Translation\MessageCatalogue; - -/** - * QtFileDumper generates ts files from a message catalogue. - * - * @author Benjamin Eberlei - */ -class QtFileDumper extends FileDumper -{ - /** - * {@inheritdoc} - */ - public function formatCatalogue(MessageCatalogue $messages, $domain, array $options = []) - { - $dom = new \DOMDocument('1.0', 'utf-8'); - $dom->formatOutput = true; - $ts = $dom->appendChild($dom->createElement('TS')); - $context = $ts->appendChild($dom->createElement('context')); - $context->appendChild($dom->createElement('name', $domain)); - - foreach ($messages->all($domain) as $source => $target) { - $message = $context->appendChild($dom->createElement('message')); - $metadata = $messages->getMetadata($source, $domain); - if (isset($metadata['sources'])) { - foreach ((array) $metadata['sources'] as $location) { - $loc = explode(':', $location, 2); - $location = $message->appendChild($dom->createElement('location')); - $location->setAttribute('filename', $loc[0]); - if (isset($loc[1])) { - $location->setAttribute('line', $loc[1]); - } - } - } - $message->appendChild($dom->createElement('source', $source)); - $message->appendChild($dom->createElement('translation', $target)); - } - - return $dom->saveXML(); - } - - /** - * {@inheritdoc} - */ - protected function getExtension() - { - return 'ts'; - } -} diff --git a/paragonik-backend/vendor/symfony/translation/Dumper/XliffFileDumper.php b/paragonik-backend/vendor/symfony/translation/Dumper/XliffFileDumper.php deleted file mode 100644 index dd9d788..0000000 --- a/paragonik-backend/vendor/symfony/translation/Dumper/XliffFileDumper.php +++ /dev/null @@ -1,203 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Dumper; - -use Symfony\Component\Translation\Exception\InvalidArgumentException; -use Symfony\Component\Translation\MessageCatalogue; - -/** - * XliffFileDumper generates xliff files from a message catalogue. - * - * @author Michel Salib - */ -class XliffFileDumper extends FileDumper -{ - /** - * {@inheritdoc} - */ - public function formatCatalogue(MessageCatalogue $messages, $domain, array $options = []) - { - $xliffVersion = '1.2'; - if (\array_key_exists('xliff_version', $options)) { - $xliffVersion = $options['xliff_version']; - } - - if (\array_key_exists('default_locale', $options)) { - $defaultLocale = $options['default_locale']; - } else { - $defaultLocale = \Locale::getDefault(); - } - - if ('1.2' === $xliffVersion) { - return $this->dumpXliff1($defaultLocale, $messages, $domain, $options); - } - if ('2.0' === $xliffVersion) { - return $this->dumpXliff2($defaultLocale, $messages, $domain); - } - - throw new InvalidArgumentException(sprintf('No support implemented for dumping XLIFF version "%s".', $xliffVersion)); - } - - /** - * {@inheritdoc} - */ - protected function getExtension() - { - return 'xlf'; - } - - private function dumpXliff1(string $defaultLocale, MessageCatalogue $messages, ?string $domain, array $options = []) - { - $toolInfo = ['tool-id' => 'symfony', 'tool-name' => 'Symfony']; - if (\array_key_exists('tool_info', $options)) { - $toolInfo = array_merge($toolInfo, $options['tool_info']); - } - - $dom = new \DOMDocument('1.0', 'utf-8'); - $dom->formatOutput = true; - - $xliff = $dom->appendChild($dom->createElement('xliff')); - $xliff->setAttribute('version', '1.2'); - $xliff->setAttribute('xmlns', 'urn:oasis:names:tc:xliff:document:1.2'); - - $xliffFile = $xliff->appendChild($dom->createElement('file')); - $xliffFile->setAttribute('source-language', str_replace('_', '-', $defaultLocale)); - $xliffFile->setAttribute('target-language', str_replace('_', '-', $messages->getLocale())); - $xliffFile->setAttribute('datatype', 'plaintext'); - $xliffFile->setAttribute('original', 'file.ext'); - - $xliffHead = $xliffFile->appendChild($dom->createElement('header')); - $xliffTool = $xliffHead->appendChild($dom->createElement('tool')); - foreach ($toolInfo as $id => $value) { - $xliffTool->setAttribute($id, $value); - } - - $xliffBody = $xliffFile->appendChild($dom->createElement('body')); - foreach ($messages->all($domain) as $source => $target) { - $translation = $dom->createElement('trans-unit'); - - $translation->setAttribute('id', strtr(substr(base64_encode(hash('sha256', $source, true)), 0, 7), '/+', '._')); - $translation->setAttribute('resname', $source); - - $s = $translation->appendChild($dom->createElement('source')); - $s->appendChild($dom->createTextNode($source)); - - // Does the target contain characters requiring a CDATA section? - $text = 1 === preg_match('/[&<>]/', $target) ? $dom->createCDATASection($target) : $dom->createTextNode($target); - - $targetElement = $dom->createElement('target'); - $metadata = $messages->getMetadata($source, $domain); - if ($this->hasMetadataArrayInfo('target-attributes', $metadata)) { - foreach ($metadata['target-attributes'] as $name => $value) { - $targetElement->setAttribute($name, $value); - } - } - $t = $translation->appendChild($targetElement); - $t->appendChild($text); - - if ($this->hasMetadataArrayInfo('notes', $metadata)) { - foreach ($metadata['notes'] as $note) { - if (!isset($note['content'])) { - continue; - } - - $n = $translation->appendChild($dom->createElement('note')); - $n->appendChild($dom->createTextNode($note['content'])); - - if (isset($note['priority'])) { - $n->setAttribute('priority', $note['priority']); - } - - if (isset($note['from'])) { - $n->setAttribute('from', $note['from']); - } - } - } - - $xliffBody->appendChild($translation); - } - - return $dom->saveXML(); - } - - private function dumpXliff2(string $defaultLocale, MessageCatalogue $messages, ?string $domain) - { - $dom = new \DOMDocument('1.0', 'utf-8'); - $dom->formatOutput = true; - - $xliff = $dom->appendChild($dom->createElement('xliff')); - $xliff->setAttribute('xmlns', 'urn:oasis:names:tc:xliff:document:2.0'); - $xliff->setAttribute('version', '2.0'); - $xliff->setAttribute('srcLang', str_replace('_', '-', $defaultLocale)); - $xliff->setAttribute('trgLang', str_replace('_', '-', $messages->getLocale())); - - $xliffFile = $xliff->appendChild($dom->createElement('file')); - if (MessageCatalogue::INTL_DOMAIN_SUFFIX === substr($domain, -($suffixLength = \strlen(MessageCatalogue::INTL_DOMAIN_SUFFIX)))) { - $xliffFile->setAttribute('id', substr($domain, 0, -$suffixLength).'.'.$messages->getLocale()); - } else { - $xliffFile->setAttribute('id', $domain.'.'.$messages->getLocale()); - } - - foreach ($messages->all($domain) as $source => $target) { - $translation = $dom->createElement('unit'); - $translation->setAttribute('id', strtr(substr(base64_encode(hash('sha256', $source, true)), 0, 7), '/+', '._')); - $name = $source; - if (\strlen($source) > 80) { - $name = substr(md5($source), -7); - } - $translation->setAttribute('name', $name); - $metadata = $messages->getMetadata($source, $domain); - - // Add notes section - if ($this->hasMetadataArrayInfo('notes', $metadata)) { - $notesElement = $dom->createElement('notes'); - foreach ($metadata['notes'] as $note) { - $n = $dom->createElement('note'); - $n->appendChild($dom->createTextNode(isset($note['content']) ? $note['content'] : '')); - unset($note['content']); - - foreach ($note as $name => $value) { - $n->setAttribute($name, $value); - } - $notesElement->appendChild($n); - } - $translation->appendChild($notesElement); - } - - $segment = $translation->appendChild($dom->createElement('segment')); - - $s = $segment->appendChild($dom->createElement('source')); - $s->appendChild($dom->createTextNode($source)); - - // Does the target contain characters requiring a CDATA section? - $text = 1 === preg_match('/[&<>]/', $target) ? $dom->createCDATASection($target) : $dom->createTextNode($target); - - $targetElement = $dom->createElement('target'); - if ($this->hasMetadataArrayInfo('target-attributes', $metadata)) { - foreach ($metadata['target-attributes'] as $name => $value) { - $targetElement->setAttribute($name, $value); - } - } - $t = $segment->appendChild($targetElement); - $t->appendChild($text); - - $xliffFile->appendChild($translation); - } - - return $dom->saveXML(); - } - - private function hasMetadataArrayInfo(string $key, array $metadata = null): bool - { - return null !== $metadata && \array_key_exists($key, $metadata) && ($metadata[$key] instanceof \Traversable || \is_array($metadata[$key])); - } -} diff --git a/paragonik-backend/vendor/symfony/translation/Dumper/YamlFileDumper.php b/paragonik-backend/vendor/symfony/translation/Dumper/YamlFileDumper.php deleted file mode 100644 index d6e4af8..0000000 --- a/paragonik-backend/vendor/symfony/translation/Dumper/YamlFileDumper.php +++ /dev/null @@ -1,62 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Dumper; - -use Symfony\Component\Translation\Exception\LogicException; -use Symfony\Component\Translation\MessageCatalogue; -use Symfony\Component\Translation\Util\ArrayConverter; -use Symfony\Component\Yaml\Yaml; - -/** - * YamlFileDumper generates yaml files from a message catalogue. - * - * @author Michel Salib - */ -class YamlFileDumper extends FileDumper -{ - private $extension; - - public function __construct(string $extension = 'yml') - { - $this->extension = $extension; - } - - /** - * {@inheritdoc} - */ - public function formatCatalogue(MessageCatalogue $messages, $domain, array $options = []) - { - if (!class_exists('Symfony\Component\Yaml\Yaml')) { - throw new LogicException('Dumping translations in the YAML format requires the Symfony Yaml component.'); - } - - $data = $messages->all($domain); - - if (isset($options['as_tree']) && $options['as_tree']) { - $data = ArrayConverter::expandToTree($data); - } - - if (isset($options['inline']) && ($inline = (int) $options['inline']) > 0) { - return Yaml::dump($data, $inline); - } - - return Yaml::dump($data); - } - - /** - * {@inheritdoc} - */ - protected function getExtension() - { - return $this->extension; - } -} diff --git a/paragonik-backend/vendor/symfony/translation/Exception/ExceptionInterface.php b/paragonik-backend/vendor/symfony/translation/Exception/ExceptionInterface.php deleted file mode 100644 index 8f9c54e..0000000 --- a/paragonik-backend/vendor/symfony/translation/Exception/ExceptionInterface.php +++ /dev/null @@ -1,21 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Exception; - -/** - * Exception interface for all exceptions thrown by the component. - * - * @author Fabien Potencier - */ -interface ExceptionInterface extends \Throwable -{ -} diff --git a/paragonik-backend/vendor/symfony/translation/Exception/InvalidArgumentException.php b/paragonik-backend/vendor/symfony/translation/Exception/InvalidArgumentException.php deleted file mode 100644 index 90d0669..0000000 --- a/paragonik-backend/vendor/symfony/translation/Exception/InvalidArgumentException.php +++ /dev/null @@ -1,21 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Exception; - -/** - * Base InvalidArgumentException for the Translation component. - * - * @author Abdellatif Ait boudad - */ -class InvalidArgumentException extends \InvalidArgumentException implements ExceptionInterface -{ -} diff --git a/paragonik-backend/vendor/symfony/translation/Exception/InvalidResourceException.php b/paragonik-backend/vendor/symfony/translation/Exception/InvalidResourceException.php deleted file mode 100644 index cf07943..0000000 --- a/paragonik-backend/vendor/symfony/translation/Exception/InvalidResourceException.php +++ /dev/null @@ -1,21 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Exception; - -/** - * Thrown when a resource cannot be loaded. - * - * @author Fabien Potencier - */ -class InvalidResourceException extends \InvalidArgumentException implements ExceptionInterface -{ -} diff --git a/paragonik-backend/vendor/symfony/translation/Exception/LogicException.php b/paragonik-backend/vendor/symfony/translation/Exception/LogicException.php deleted file mode 100644 index 9019c7e..0000000 --- a/paragonik-backend/vendor/symfony/translation/Exception/LogicException.php +++ /dev/null @@ -1,21 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Exception; - -/** - * Base LogicException for Translation component. - * - * @author Abdellatif Ait boudad - */ -class LogicException extends \LogicException implements ExceptionInterface -{ -} diff --git a/paragonik-backend/vendor/symfony/translation/Exception/NotFoundResourceException.php b/paragonik-backend/vendor/symfony/translation/Exception/NotFoundResourceException.php deleted file mode 100644 index cff73ae..0000000 --- a/paragonik-backend/vendor/symfony/translation/Exception/NotFoundResourceException.php +++ /dev/null @@ -1,21 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Exception; - -/** - * Thrown when a resource does not exist. - * - * @author Fabien Potencier - */ -class NotFoundResourceException extends \InvalidArgumentException implements ExceptionInterface -{ -} diff --git a/paragonik-backend/vendor/symfony/translation/Exception/RuntimeException.php b/paragonik-backend/vendor/symfony/translation/Exception/RuntimeException.php deleted file mode 100644 index dcd7940..0000000 --- a/paragonik-backend/vendor/symfony/translation/Exception/RuntimeException.php +++ /dev/null @@ -1,21 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Exception; - -/** - * Base RuntimeException for the Translation component. - * - * @author Abdellatif Ait boudad - */ -class RuntimeException extends \RuntimeException implements ExceptionInterface -{ -} diff --git a/paragonik-backend/vendor/symfony/translation/Extractor/AbstractFileExtractor.php b/paragonik-backend/vendor/symfony/translation/Extractor/AbstractFileExtractor.php deleted file mode 100644 index 618df73..0000000 --- a/paragonik-backend/vendor/symfony/translation/Extractor/AbstractFileExtractor.php +++ /dev/null @@ -1,80 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Extractor; - -use Symfony\Component\Translation\Exception\InvalidArgumentException; - -/** - * Base class used by classes that extract translation messages from files. - * - * @author Marcos D. Sánchez - */ -abstract class AbstractFileExtractor -{ - /** - * @param string|iterable $resource Files, a file or a directory - * - * @return iterable - */ - protected function extractFiles($resource) - { - if (is_iterable($resource)) { - $files = []; - foreach ($resource as $file) { - if ($this->canBeExtracted($file)) { - $files[] = $this->toSplFileInfo($file); - } - } - } elseif (is_file($resource)) { - $files = $this->canBeExtracted($resource) ? [$this->toSplFileInfo($resource)] : []; - } else { - $files = $this->extractFromDirectory($resource); - } - - return $files; - } - - private function toSplFileInfo(string $file): \SplFileInfo - { - return new \SplFileInfo($file); - } - - /** - * @param string $file - * - * @return bool - * - * @throws InvalidArgumentException - */ - protected function isFile($file) - { - if (!is_file($file)) { - throw new InvalidArgumentException(sprintf('The "%s" file does not exist.', $file)); - } - - return true; - } - - /** - * @param string $file - * - * @return bool - */ - abstract protected function canBeExtracted($file); - - /** - * @param string|array $resource Files, a file or a directory - * - * @return iterable files to be extracted - */ - abstract protected function extractFromDirectory($resource); -} diff --git a/paragonik-backend/vendor/symfony/translation/Extractor/ChainExtractor.php b/paragonik-backend/vendor/symfony/translation/Extractor/ChainExtractor.php deleted file mode 100644 index 2683f5d..0000000 --- a/paragonik-backend/vendor/symfony/translation/Extractor/ChainExtractor.php +++ /dev/null @@ -1,59 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Extractor; - -use Symfony\Component\Translation\MessageCatalogue; - -/** - * ChainExtractor extracts translation messages from template files. - * - * @author Michel Salib - */ -class ChainExtractor implements ExtractorInterface -{ - /** - * The extractors. - * - * @var ExtractorInterface[] - */ - private $extractors = []; - - /** - * Adds a loader to the translation extractor. - * - * @param string $format The format of the loader - */ - public function addExtractor($format, ExtractorInterface $extractor) - { - $this->extractors[$format] = $extractor; - } - - /** - * {@inheritdoc} - */ - public function setPrefix($prefix) - { - foreach ($this->extractors as $extractor) { - $extractor->setPrefix($prefix); - } - } - - /** - * {@inheritdoc} - */ - public function extract($directory, MessageCatalogue $catalogue) - { - foreach ($this->extractors as $extractor) { - $extractor->extract($directory, $catalogue); - } - } -} diff --git a/paragonik-backend/vendor/symfony/translation/Extractor/ExtractorInterface.php b/paragonik-backend/vendor/symfony/translation/Extractor/ExtractorInterface.php deleted file mode 100644 index 91de201..0000000 --- a/paragonik-backend/vendor/symfony/translation/Extractor/ExtractorInterface.php +++ /dev/null @@ -1,37 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Extractor; - -use Symfony\Component\Translation\MessageCatalogue; - -/** - * Extracts translation messages from a directory or files to the catalogue. - * New found messages are injected to the catalogue using the prefix. - * - * @author Michel Salib - */ -interface ExtractorInterface -{ - /** - * Extracts translation messages from files, a file or a directory to the catalogue. - * - * @param string|array $resource Files, a file or a directory - */ - public function extract($resource, MessageCatalogue $catalogue); - - /** - * Sets the prefix that should be used for new found messages. - * - * @param string $prefix The prefix - */ - public function setPrefix($prefix); -} diff --git a/paragonik-backend/vendor/symfony/translation/Extractor/PhpExtractor.php b/paragonik-backend/vendor/symfony/translation/Extractor/PhpExtractor.php deleted file mode 100644 index 265b8d7..0000000 --- a/paragonik-backend/vendor/symfony/translation/Extractor/PhpExtractor.php +++ /dev/null @@ -1,275 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Extractor; - -use Symfony\Component\Finder\Finder; -use Symfony\Component\Translation\MessageCatalogue; - -/** - * PhpExtractor extracts translation messages from a PHP template. - * - * @author Michel Salib - */ -class PhpExtractor extends AbstractFileExtractor implements ExtractorInterface -{ - const MESSAGE_TOKEN = 300; - const METHOD_ARGUMENTS_TOKEN = 1000; - const DOMAIN_TOKEN = 1001; - - /** - * Prefix for new found message. - * - * @var string - */ - private $prefix = ''; - - /** - * The sequence that captures translation messages. - * - * @var array - */ - protected $sequences = [ - [ - '->', - 'trans', - '(', - self::MESSAGE_TOKEN, - ',', - self::METHOD_ARGUMENTS_TOKEN, - ',', - self::DOMAIN_TOKEN, - ], - [ - '->', - 'transChoice', - '(', - self::MESSAGE_TOKEN, - ',', - self::METHOD_ARGUMENTS_TOKEN, - ',', - self::METHOD_ARGUMENTS_TOKEN, - ',', - self::DOMAIN_TOKEN, - ], - [ - '->', - 'trans', - '(', - self::MESSAGE_TOKEN, - ], - [ - '->', - 'transChoice', - '(', - self::MESSAGE_TOKEN, - ], - ]; - - /** - * {@inheritdoc} - */ - public function extract($resource, MessageCatalogue $catalog) - { - $files = $this->extractFiles($resource); - foreach ($files as $file) { - $this->parseTokens(token_get_all(file_get_contents($file)), $catalog, $file); - - gc_mem_caches(); - } - } - - /** - * {@inheritdoc} - */ - public function setPrefix($prefix) - { - $this->prefix = $prefix; - } - - /** - * Normalizes a token. - * - * @param mixed $token - * - * @return string|null - */ - protected function normalizeToken($token) - { - if (isset($token[1]) && 'b"' !== $token) { - return $token[1]; - } - - return $token; - } - - /** - * Seeks to a non-whitespace token. - */ - private function seekToNextRelevantToken(\Iterator $tokenIterator) - { - for (; $tokenIterator->valid(); $tokenIterator->next()) { - $t = $tokenIterator->current(); - if (T_WHITESPACE !== $t[0]) { - break; - } - } - } - - private function skipMethodArgument(\Iterator $tokenIterator) - { - $openBraces = 0; - - for (; $tokenIterator->valid(); $tokenIterator->next()) { - $t = $tokenIterator->current(); - - if ('[' === $t[0] || '(' === $t[0]) { - ++$openBraces; - } - - if (']' === $t[0] || ')' === $t[0]) { - --$openBraces; - } - - if ((0 === $openBraces && ',' === $t[0]) || (-1 === $openBraces && ')' === $t[0])) { - break; - } - } - } - - /** - * Extracts the message from the iterator while the tokens - * match allowed message tokens. - */ - private function getValue(\Iterator $tokenIterator) - { - $message = ''; - $docToken = ''; - $docPart = ''; - - for (; $tokenIterator->valid(); $tokenIterator->next()) { - $t = $tokenIterator->current(); - if ('.' === $t) { - // Concatenate with next token - continue; - } - if (!isset($t[1])) { - break; - } - - switch ($t[0]) { - case T_START_HEREDOC: - $docToken = $t[1]; - break; - case T_ENCAPSED_AND_WHITESPACE: - case T_CONSTANT_ENCAPSED_STRING: - if ('' === $docToken) { - $message .= PhpStringTokenParser::parse($t[1]); - } else { - $docPart = $t[1]; - } - break; - case T_END_HEREDOC: - $message .= PhpStringTokenParser::parseDocString($docToken, $docPart); - $docToken = ''; - $docPart = ''; - break; - case T_WHITESPACE: - break; - default: - break 2; - } - } - - return $message; - } - - /** - * Extracts trans message from PHP tokens. - * - * @param array $tokens - * @param string $filename - */ - protected function parseTokens($tokens, MessageCatalogue $catalog/*, string $filename*/) - { - if (\func_num_args() < 3 && __CLASS__ !== \get_class($this) && __CLASS__ !== (new \ReflectionMethod($this, __FUNCTION__))->getDeclaringClass()->getName() && !$this instanceof \PHPUnit\Framework\MockObject\MockObject && !$this instanceof \Prophecy\Prophecy\ProphecySubjectInterface) { - @trigger_error(sprintf('The "%s()" method will have a new "string $filename" argument in version 5.0, not defining it is deprecated since Symfony 4.3.', __METHOD__), E_USER_DEPRECATED); - } - $filename = 2 < \func_num_args() ? func_get_arg(2) : ''; - - $tokenIterator = new \ArrayIterator($tokens); - - for ($key = 0; $key < $tokenIterator->count(); ++$key) { - foreach ($this->sequences as $sequence) { - $message = ''; - $domain = 'messages'; - $tokenIterator->seek($key); - - foreach ($sequence as $sequenceKey => $item) { - $this->seekToNextRelevantToken($tokenIterator); - - if ($this->normalizeToken($tokenIterator->current()) === $item) { - $tokenIterator->next(); - continue; - } elseif (self::MESSAGE_TOKEN === $item) { - $message = $this->getValue($tokenIterator); - - if (\count($sequence) === ($sequenceKey + 1)) { - break; - } - } elseif (self::METHOD_ARGUMENTS_TOKEN === $item) { - $this->skipMethodArgument($tokenIterator); - } elseif (self::DOMAIN_TOKEN === $item) { - $domainToken = $this->getValue($tokenIterator); - if ('' !== $domainToken) { - $domain = $domainToken; - } - - break; - } else { - break; - } - } - - if ($message) { - $catalog->set($message, $this->prefix.$message, $domain); - $metadata = $catalog->getMetadata($message, $domain) ?? []; - $normalizedFilename = preg_replace('{[\\\\/]+}', '/', $filename); - $metadata['sources'][] = $normalizedFilename.':'.$tokens[$key][2]; - $catalog->setMetadata($message, $metadata, $domain); - break; - } - } - } - } - - /** - * @param string $file - * - * @return bool - * - * @throws \InvalidArgumentException - */ - protected function canBeExtracted($file) - { - return $this->isFile($file) && 'php' === pathinfo($file, PATHINFO_EXTENSION); - } - - /** - * {@inheritdoc} - */ - protected function extractFromDirectory($directory) - { - $finder = new Finder(); - - return $finder->files()->name('*.php')->in($directory); - } -} diff --git a/paragonik-backend/vendor/symfony/translation/Extractor/PhpStringTokenParser.php b/paragonik-backend/vendor/symfony/translation/Extractor/PhpStringTokenParser.php deleted file mode 100644 index 4531e91..0000000 --- a/paragonik-backend/vendor/symfony/translation/Extractor/PhpStringTokenParser.php +++ /dev/null @@ -1,142 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Extractor; - -/* - * The following is derived from code at http://github.com/nikic/PHP-Parser - * - * Copyright (c) 2011 by Nikita Popov - * - * Some rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials provided - * with the distribution. - * - * * The names of the contributors may not be used to endorse or - * promote products derived from this software without specific - * prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -class PhpStringTokenParser -{ - protected static $replacements = [ - '\\' => '\\', - '$' => '$', - 'n' => "\n", - 'r' => "\r", - 't' => "\t", - 'f' => "\f", - 'v' => "\v", - 'e' => "\x1B", - ]; - - /** - * Parses a string token. - * - * @param string $str String token content - * - * @return string The parsed string - */ - public static function parse($str) - { - $bLength = 0; - if ('b' === $str[0]) { - $bLength = 1; - } - - if ('\'' === $str[$bLength]) { - return str_replace( - ['\\\\', '\\\''], - ['\\', '\''], - substr($str, $bLength + 1, -1) - ); - } else { - return self::parseEscapeSequences(substr($str, $bLength + 1, -1), '"'); - } - } - - /** - * Parses escape sequences in strings (all string types apart from single quoted). - * - * @param string $str String without quotes - * @param string|null $quote Quote type - * - * @return string String with escape sequences parsed - */ - public static function parseEscapeSequences($str, $quote) - { - if (null !== $quote) { - $str = str_replace('\\'.$quote, $quote, $str); - } - - return preg_replace_callback( - '~\\\\([\\\\$nrtfve]|[xX][0-9a-fA-F]{1,2}|[0-7]{1,3})~', - [__CLASS__, 'parseCallback'], - $str - ); - } - - private static function parseCallback(array $matches): string - { - $str = $matches[1]; - - if (isset(self::$replacements[$str])) { - return self::$replacements[$str]; - } elseif ('x' === $str[0] || 'X' === $str[0]) { - return \chr(hexdec($str)); - } else { - return \chr(octdec($str)); - } - } - - /** - * Parses a constant doc string. - * - * @param string $startToken Doc string start token content (<< - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Formatter; - -/** - * @author Abdellatif Ait boudad - * - * @deprecated since Symfony 4.2, use MessageFormatterInterface::format() with a %count% parameter instead - */ -interface ChoiceMessageFormatterInterface -{ - /** - * Formats a localized message pattern with given arguments. - * - * @param string $message The message (may also be an object that can be cast to string) - * @param int $number The number to use to find the indice of the message - * @param string $locale The message locale - * @param array $parameters An array of parameters for the message - * - * @return string - */ - public function choiceFormat($message, $number, $locale, array $parameters = []); -} diff --git a/paragonik-backend/vendor/symfony/translation/Formatter/IntlFormatter.php b/paragonik-backend/vendor/symfony/translation/Formatter/IntlFormatter.php deleted file mode 100644 index ad4a45b..0000000 --- a/paragonik-backend/vendor/symfony/translation/Formatter/IntlFormatter.php +++ /dev/null @@ -1,60 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Formatter; - -use Symfony\Component\Translation\Exception\InvalidArgumentException; -use Symfony\Component\Translation\Exception\LogicException; - -/** - * @author Guilherme Blanco - * @author Abdellatif Ait boudad - */ -class IntlFormatter implements IntlFormatterInterface -{ - private $hasMessageFormatter; - private $cache = []; - - /** - * {@inheritdoc} - */ - public function formatIntl(string $message, string $locale, array $parameters = []): string - { - // MessageFormatter constructor throws an exception if the message is empty - if ('' === $message) { - return ''; - } - - if (!$formatter = $this->cache[$locale][$message] ?? null) { - if (!($this->hasMessageFormatter ?? $this->hasMessageFormatter = class_exists(\MessageFormatter::class))) { - throw new LogicException('Cannot parse message translation: please install the "intl" PHP extension or the "symfony/polyfill-intl-messageformatter" package.'); - } - try { - $this->cache[$locale][$message] = $formatter = new \MessageFormatter($locale, $message); - } catch (\IntlException $e) { - throw new InvalidArgumentException(sprintf('Invalid message format (error #%d): %s.', intl_get_error_code(), intl_get_error_message()), 0, $e); - } - } - - foreach ($parameters as $key => $value) { - if (\in_array($key[0] ?? null, ['%', '{'], true)) { - unset($parameters[$key]); - $parameters[trim($key, '%{ }')] = $value; - } - } - - if (false === $message = $formatter->format($parameters)) { - throw new InvalidArgumentException(sprintf('Unable to format message (error #%s): %s.', $formatter->getErrorCode(), $formatter->getErrorMessage())); - } - - return $message; - } -} diff --git a/paragonik-backend/vendor/symfony/translation/Formatter/IntlFormatterInterface.php b/paragonik-backend/vendor/symfony/translation/Formatter/IntlFormatterInterface.php deleted file mode 100644 index 02fc6ac..0000000 --- a/paragonik-backend/vendor/symfony/translation/Formatter/IntlFormatterInterface.php +++ /dev/null @@ -1,27 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Formatter; - -/** - * Formats ICU message patterns. - * - * @author Nicolas Grekas - */ -interface IntlFormatterInterface -{ - /** - * Formats a localized message using rules defined by ICU MessageFormat. - * - * @see http://icu-project.org/apiref/icu4c/classMessageFormat.html#details - */ - public function formatIntl(string $message, string $locale, array $parameters = []): string; -} diff --git a/paragonik-backend/vendor/symfony/translation/Formatter/MessageFormatter.php b/paragonik-backend/vendor/symfony/translation/Formatter/MessageFormatter.php deleted file mode 100644 index 030d7a5..0000000 --- a/paragonik-backend/vendor/symfony/translation/Formatter/MessageFormatter.php +++ /dev/null @@ -1,79 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Formatter; - -use Symfony\Component\Translation\IdentityTranslator; -use Symfony\Component\Translation\MessageSelector; -use Symfony\Component\Translation\TranslatorInterface as LegacyTranslatorInterface; -use Symfony\Contracts\Translation\TranslatorInterface; - -/** - * @author Abdellatif Ait boudad - */ -class MessageFormatter implements MessageFormatterInterface, IntlFormatterInterface, ChoiceMessageFormatterInterface -{ - private $translator; - private $intlFormatter; - - /** - * @param TranslatorInterface|null $translator An identity translator to use as selector for pluralization - */ - public function __construct($translator = null, IntlFormatterInterface $intlFormatter = null) - { - if ($translator instanceof MessageSelector) { - $translator = new IdentityTranslator($translator); - } elseif (null !== $translator && !$translator instanceof TranslatorInterface && !$translator instanceof LegacyTranslatorInterface) { - throw new \TypeError(sprintf('Argument 1 passed to %s() must be an instance of %s, %s given.', __METHOD__, TranslatorInterface::class, \is_object($translator) ? \get_class($translator) : \gettype($translator))); - } - - $this->translator = $translator ?? new IdentityTranslator(); - $this->intlFormatter = $intlFormatter ?? new IntlFormatter(); - } - - /** - * {@inheritdoc} - */ - public function format($message, $locale, array $parameters = []) - { - if ($this->translator instanceof TranslatorInterface) { - return $this->translator->trans($message, $parameters, null, $locale); - } - - return strtr($message, $parameters); - } - - /** - * {@inheritdoc} - */ - public function formatIntl(string $message, string $locale, array $parameters = []): string - { - return $this->intlFormatter->formatIntl($message, $locale, $parameters); - } - - /** - * {@inheritdoc} - * - * @deprecated since Symfony 4.2, use format() with a %count% parameter instead - */ - public function choiceFormat($message, $number, $locale, array $parameters = []) - { - @trigger_error(sprintf('The "%s()" method is deprecated since Symfony 4.2, use the format() one instead with a %%count%% parameter.', __METHOD__), E_USER_DEPRECATED); - - $parameters = ['%count%' => $number] + $parameters; - - if ($this->translator instanceof TranslatorInterface) { - return $this->format($message, $locale, $parameters); - } - - return $this->format($this->translator->transChoice($message, $number, [], null, $locale), $locale, $parameters); - } -} diff --git a/paragonik-backend/vendor/symfony/translation/Formatter/MessageFormatterInterface.php b/paragonik-backend/vendor/symfony/translation/Formatter/MessageFormatterInterface.php deleted file mode 100644 index 370c055..0000000 --- a/paragonik-backend/vendor/symfony/translation/Formatter/MessageFormatterInterface.php +++ /dev/null @@ -1,30 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Formatter; - -/** - * @author Guilherme Blanco - * @author Abdellatif Ait boudad - */ -interface MessageFormatterInterface -{ - /** - * Formats a localized message pattern with given arguments. - * - * @param string $message The message (may also be an object that can be cast to string) - * @param string $locale The message locale - * @param array $parameters An array of parameters for the message - * - * @return string - */ - public function format($message, $locale, array $parameters = []); -} diff --git a/paragonik-backend/vendor/symfony/translation/IdentityTranslator.php b/paragonik-backend/vendor/symfony/translation/IdentityTranslator.php deleted file mode 100644 index 9a5a47c..0000000 --- a/paragonik-backend/vendor/symfony/translation/IdentityTranslator.php +++ /dev/null @@ -1,77 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation; - -use Symfony\Component\Translation\TranslatorInterface as LegacyTranslatorInterface; -use Symfony\Contracts\Translation\TranslatorInterface; -use Symfony\Contracts\Translation\TranslatorTrait; - -/** - * IdentityTranslator does not translate anything. - * - * @author Fabien Potencier - */ -class IdentityTranslator implements LegacyTranslatorInterface, TranslatorInterface -{ - use TranslatorTrait { - trans as private doTrans; - setLocale as private doSetLocale; - } - - private $selector; - - public function __construct(MessageSelector $selector = null) - { - $this->selector = $selector; - - if (__CLASS__ !== \get_class($this)) { - @trigger_error(sprintf('Calling "%s()" is deprecated since Symfony 4.2.', __METHOD__), E_USER_DEPRECATED); - } - } - - /** - * {@inheritdoc} - */ - public function trans($id, array $parameters = [], $domain = null, $locale = null) - { - return $this->doTrans($id, $parameters, $domain, $locale); - } - - /** - * {@inheritdoc} - */ - public function setLocale($locale) - { - $this->doSetLocale($locale); - } - - /** - * {@inheritdoc} - * - * @deprecated since Symfony 4.2, use the trans() method instead with a %count% parameter - */ - public function transChoice($id, $number, array $parameters = [], $domain = null, $locale = null) - { - @trigger_error(sprintf('The "%s()" method is deprecated since Symfony 4.2, use the trans() one instead with a "%%count%%" parameter.', __METHOD__), E_USER_DEPRECATED); - - if ($this->selector) { - return strtr($this->selector->choose((string) $id, $number, $locale ?: $this->getLocale()), $parameters); - } - - return $this->trans($id, ['%count%' => $number] + $parameters, $domain, $locale); - } - - private function getPluralizationRule(int $number, string $locale): int - { - return PluralizationRules::get($number, $locale, false); - } -} diff --git a/paragonik-backend/vendor/symfony/translation/Interval.php b/paragonik-backend/vendor/symfony/translation/Interval.php deleted file mode 100644 index 1adc43f..0000000 --- a/paragonik-backend/vendor/symfony/translation/Interval.php +++ /dev/null @@ -1,112 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation; - -@trigger_error(sprintf('The "%s" class is deprecated since Symfony 4.2, use IdentityTranslator instead.', Interval::class), E_USER_DEPRECATED); - -use Symfony\Component\Translation\Exception\InvalidArgumentException; - -/** - * Tests if a given number belongs to a given math interval. - * - * An interval can represent a finite set of numbers: - * - * {1,2,3,4} - * - * An interval can represent numbers between two numbers: - * - * [1, +Inf] - * ]-1,2[ - * - * The left delimiter can be [ (inclusive) or ] (exclusive). - * The right delimiter can be [ (exclusive) or ] (inclusive). - * Beside numbers, you can use -Inf and +Inf for the infinite. - * - * @author Fabien Potencier - * - * @see http://en.wikipedia.org/wiki/Interval_%28mathematics%29#The_ISO_notation - * @deprecated since Symfony 4.2, use IdentityTranslator instead - */ -class Interval -{ - /** - * Tests if the given number is in the math interval. - * - * @param int $number A number - * @param string $interval An interval - * - * @return bool - * - * @throws InvalidArgumentException - */ - public static function test($number, $interval) - { - $interval = trim($interval); - - if (!preg_match('/^'.self::getIntervalRegexp().'$/x', $interval, $matches)) { - throw new InvalidArgumentException(sprintf('"%s" is not a valid interval.', $interval)); - } - - if ($matches[1]) { - foreach (explode(',', $matches[2]) as $n) { - if ($number == $n) { - return true; - } - } - } else { - $leftNumber = self::convertNumber($matches['left']); - $rightNumber = self::convertNumber($matches['right']); - - return - ('[' === $matches['left_delimiter'] ? $number >= $leftNumber : $number > $leftNumber) - && (']' === $matches['right_delimiter'] ? $number <= $rightNumber : $number < $rightNumber) - ; - } - - return false; - } - - /** - * Returns a Regexp that matches valid intervals. - * - * @return string A Regexp (without the delimiters) - */ - public static function getIntervalRegexp() - { - return <<[\[\]]) - \s* - (?P-Inf|\-?\d+(\.\d+)?) - \s*,\s* - (?P\+?Inf|\-?\d+(\.\d+)?) - \s* - (?P[\[\]]) -EOF; - } - - private static function convertNumber(string $number): float - { - if ('-Inf' === $number) { - return log(0); - } elseif ('+Inf' === $number || 'Inf' === $number) { - return -log(0); - } - - return (float) $number; - } -} diff --git a/paragonik-backend/vendor/symfony/translation/LICENSE b/paragonik-backend/vendor/symfony/translation/LICENSE deleted file mode 100644 index a677f43..0000000 --- a/paragonik-backend/vendor/symfony/translation/LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 2004-2019 Fabien Potencier - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is furnished -to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/paragonik-backend/vendor/symfony/translation/Loader/ArrayLoader.php b/paragonik-backend/vendor/symfony/translation/Loader/ArrayLoader.php deleted file mode 100644 index 2e9a428..0000000 --- a/paragonik-backend/vendor/symfony/translation/Loader/ArrayLoader.php +++ /dev/null @@ -1,58 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Loader; - -use Symfony\Component\Translation\MessageCatalogue; - -/** - * ArrayLoader loads translations from a PHP array. - * - * @author Fabien Potencier - */ -class ArrayLoader implements LoaderInterface -{ - /** - * {@inheritdoc} - */ - public function load($resource, $locale, $domain = 'messages') - { - $resource = $this->flatten($resource); - $catalogue = new MessageCatalogue($locale); - $catalogue->add($resource, $domain); - - return $catalogue; - } - - /** - * Flattens an nested array of translations. - * - * The scheme used is: - * 'key' => ['key2' => ['key3' => 'value']] - * Becomes: - * 'key.key2.key3' => 'value' - */ - private function flatten(array $messages): array - { - $result = []; - foreach ($messages as $key => $value) { - if (\is_array($value)) { - foreach ($this->flatten($value) as $k => $v) { - $result[$key.'.'.$k] = $v; - } - } else { - $result[$key] = $value; - } - } - - return $result; - } -} diff --git a/paragonik-backend/vendor/symfony/translation/Loader/CsvFileLoader.php b/paragonik-backend/vendor/symfony/translation/Loader/CsvFileLoader.php deleted file mode 100644 index db17bd5..0000000 --- a/paragonik-backend/vendor/symfony/translation/Loader/CsvFileLoader.php +++ /dev/null @@ -1,69 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Loader; - -use Symfony\Component\Translation\Exception\NotFoundResourceException; - -/** - * CsvFileLoader loads translations from CSV files. - * - * @author Saša Stamenković - */ -class CsvFileLoader extends FileLoader -{ - private $delimiter = ';'; - private $enclosure = '"'; - private $escape = '\\'; - - /** - * {@inheritdoc} - */ - protected function loadResource($resource) - { - $messages = []; - - try { - $file = new \SplFileObject($resource, 'rb'); - } catch (\RuntimeException $e) { - throw new NotFoundResourceException(sprintf('Error opening file "%s".', $resource), 0, $e); - } - - $file->setFlags(\SplFileObject::READ_CSV | \SplFileObject::SKIP_EMPTY); - $file->setCsvControl($this->delimiter, $this->enclosure, $this->escape); - - foreach ($file as $data) { - if (false === $data) { - continue; - } - - if ('#' !== substr($data[0], 0, 1) && isset($data[1]) && 2 === \count($data)) { - $messages[$data[0]] = $data[1]; - } - } - - return $messages; - } - - /** - * Sets the delimiter, enclosure, and escape character for CSV. - * - * @param string $delimiter Delimiter character - * @param string $enclosure Enclosure character - * @param string $escape Escape character - */ - public function setCsvControl($delimiter = ';', $enclosure = '"', $escape = '\\') - { - $this->delimiter = $delimiter; - $this->enclosure = $enclosure; - $this->escape = $escape; - } -} diff --git a/paragonik-backend/vendor/symfony/translation/Loader/FileLoader.php b/paragonik-backend/vendor/symfony/translation/Loader/FileLoader.php deleted file mode 100644 index 7ec54a3..0000000 --- a/paragonik-backend/vendor/symfony/translation/Loader/FileLoader.php +++ /dev/null @@ -1,65 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Loader; - -use Symfony\Component\Config\Resource\FileResource; -use Symfony\Component\Translation\Exception\InvalidResourceException; -use Symfony\Component\Translation\Exception\NotFoundResourceException; - -/** - * @author Abdellatif Ait boudad - */ -abstract class FileLoader extends ArrayLoader -{ - /** - * {@inheritdoc} - */ - public function load($resource, $locale, $domain = 'messages') - { - if (!stream_is_local($resource)) { - throw new InvalidResourceException(sprintf('This is not a local file "%s".', $resource)); - } - - if (!file_exists($resource)) { - throw new NotFoundResourceException(sprintf('File "%s" not found.', $resource)); - } - - $messages = $this->loadResource($resource); - - // empty resource - if (null === $messages) { - $messages = []; - } - - // not an array - if (!\is_array($messages)) { - throw new InvalidResourceException(sprintf('Unable to load file "%s".', $resource)); - } - - $catalogue = parent::load($messages, $locale, $domain); - - if (class_exists('Symfony\Component\Config\Resource\FileResource')) { - $catalogue->addResource(new FileResource($resource)); - } - - return $catalogue; - } - - /** - * @param string $resource - * - * @return array - * - * @throws InvalidResourceException if stream content has an invalid format - */ - abstract protected function loadResource($resource); -} diff --git a/paragonik-backend/vendor/symfony/translation/Loader/IcuDatFileLoader.php b/paragonik-backend/vendor/symfony/translation/Loader/IcuDatFileLoader.php deleted file mode 100644 index 7bbf4c2..0000000 --- a/paragonik-backend/vendor/symfony/translation/Loader/IcuDatFileLoader.php +++ /dev/null @@ -1,61 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Loader; - -use Symfony\Component\Config\Resource\FileResource; -use Symfony\Component\Translation\Exception\InvalidResourceException; -use Symfony\Component\Translation\Exception\NotFoundResourceException; -use Symfony\Component\Translation\MessageCatalogue; - -/** - * IcuResFileLoader loads translations from a resource bundle. - * - * @author stealth35 - */ -class IcuDatFileLoader extends IcuResFileLoader -{ - /** - * {@inheritdoc} - */ - public function load($resource, $locale, $domain = 'messages') - { - if (!stream_is_local($resource.'.dat')) { - throw new InvalidResourceException(sprintf('This is not a local file "%s".', $resource)); - } - - if (!file_exists($resource.'.dat')) { - throw new NotFoundResourceException(sprintf('File "%s" not found.', $resource)); - } - - try { - $rb = new \ResourceBundle($locale, $resource); - } catch (\Exception $e) { - $rb = null; - } - - if (!$rb) { - throw new InvalidResourceException(sprintf('Cannot load resource "%s"', $resource)); - } elseif (intl_is_failure($rb->getErrorCode())) { - throw new InvalidResourceException($rb->getErrorMessage(), $rb->getErrorCode()); - } - - $messages = $this->flatten($rb); - $catalogue = new MessageCatalogue($locale); - $catalogue->add($messages, $domain); - - if (class_exists('Symfony\Component\Config\Resource\FileResource')) { - $catalogue->addResource(new FileResource($resource.'.dat')); - } - - return $catalogue; - } -} diff --git a/paragonik-backend/vendor/symfony/translation/Loader/IcuResFileLoader.php b/paragonik-backend/vendor/symfony/translation/Loader/IcuResFileLoader.php deleted file mode 100644 index 005f260..0000000 --- a/paragonik-backend/vendor/symfony/translation/Loader/IcuResFileLoader.php +++ /dev/null @@ -1,91 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Loader; - -use Symfony\Component\Config\Resource\DirectoryResource; -use Symfony\Component\Translation\Exception\InvalidResourceException; -use Symfony\Component\Translation\Exception\NotFoundResourceException; -use Symfony\Component\Translation\MessageCatalogue; - -/** - * IcuResFileLoader loads translations from a resource bundle. - * - * @author stealth35 - */ -class IcuResFileLoader implements LoaderInterface -{ - /** - * {@inheritdoc} - */ - public function load($resource, $locale, $domain = 'messages') - { - if (!stream_is_local($resource)) { - throw new InvalidResourceException(sprintf('This is not a local file "%s".', $resource)); - } - - if (!is_dir($resource)) { - throw new NotFoundResourceException(sprintf('File "%s" not found.', $resource)); - } - - try { - $rb = new \ResourceBundle($locale, $resource); - } catch (\Exception $e) { - $rb = null; - } - - if (!$rb) { - throw new InvalidResourceException(sprintf('Cannot load resource "%s"', $resource)); - } elseif (intl_is_failure($rb->getErrorCode())) { - throw new InvalidResourceException($rb->getErrorMessage(), $rb->getErrorCode()); - } - - $messages = $this->flatten($rb); - $catalogue = new MessageCatalogue($locale); - $catalogue->add($messages, $domain); - - if (class_exists('Symfony\Component\Config\Resource\DirectoryResource')) { - $catalogue->addResource(new DirectoryResource($resource)); - } - - return $catalogue; - } - - /** - * Flattens an ResourceBundle. - * - * The scheme used is: - * key { key2 { key3 { "value" } } } - * Becomes: - * 'key.key2.key3' => 'value' - * - * This function takes an array by reference and will modify it - * - * @param \ResourceBundle $rb The ResourceBundle that will be flattened - * @param array $messages Used internally for recursive calls - * @param string $path Current path being parsed, used internally for recursive calls - * - * @return array the flattened ResourceBundle - */ - protected function flatten(\ResourceBundle $rb, array &$messages = [], $path = null) - { - foreach ($rb as $key => $value) { - $nodePath = $path ? $path.'.'.$key : $key; - if ($value instanceof \ResourceBundle) { - $this->flatten($value, $messages, $nodePath); - } else { - $messages[$nodePath] = $value; - } - } - - return $messages; - } -} diff --git a/paragonik-backend/vendor/symfony/translation/Loader/IniFileLoader.php b/paragonik-backend/vendor/symfony/translation/Loader/IniFileLoader.php deleted file mode 100644 index 11d9b27..0000000 --- a/paragonik-backend/vendor/symfony/translation/Loader/IniFileLoader.php +++ /dev/null @@ -1,28 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Loader; - -/** - * IniFileLoader loads translations from an ini file. - * - * @author stealth35 - */ -class IniFileLoader extends FileLoader -{ - /** - * {@inheritdoc} - */ - protected function loadResource($resource) - { - return parse_ini_file($resource, true); - } -} diff --git a/paragonik-backend/vendor/symfony/translation/Loader/JsonFileLoader.php b/paragonik-backend/vendor/symfony/translation/Loader/JsonFileLoader.php deleted file mode 100644 index e3e7c75..0000000 --- a/paragonik-backend/vendor/symfony/translation/Loader/JsonFileLoader.php +++ /dev/null @@ -1,60 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Loader; - -use Symfony\Component\Translation\Exception\InvalidResourceException; - -/** - * JsonFileLoader loads translations from an json file. - * - * @author singles - */ -class JsonFileLoader extends FileLoader -{ - /** - * {@inheritdoc} - */ - protected function loadResource($resource) - { - $messages = []; - if ($data = file_get_contents($resource)) { - $messages = json_decode($data, true); - - if (0 < $errorCode = json_last_error()) { - throw new InvalidResourceException(sprintf('Error parsing JSON - %s', $this->getJSONErrorMessage($errorCode))); - } - } - - return $messages; - } - - /** - * Translates JSON_ERROR_* constant into meaningful message. - */ - private function getJSONErrorMessage(int $errorCode): string - { - switch ($errorCode) { - case JSON_ERROR_DEPTH: - return 'Maximum stack depth exceeded'; - case JSON_ERROR_STATE_MISMATCH: - return 'Underflow or the modes mismatch'; - case JSON_ERROR_CTRL_CHAR: - return 'Unexpected control character found'; - case JSON_ERROR_SYNTAX: - return 'Syntax error, malformed JSON'; - case JSON_ERROR_UTF8: - return 'Malformed UTF-8 characters, possibly incorrectly encoded'; - default: - return 'Unknown error'; - } - } -} diff --git a/paragonik-backend/vendor/symfony/translation/Loader/LoaderInterface.php b/paragonik-backend/vendor/symfony/translation/Loader/LoaderInterface.php deleted file mode 100644 index 1785402..0000000 --- a/paragonik-backend/vendor/symfony/translation/Loader/LoaderInterface.php +++ /dev/null @@ -1,38 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Loader; - -use Symfony\Component\Translation\Exception\InvalidResourceException; -use Symfony\Component\Translation\Exception\NotFoundResourceException; -use Symfony\Component\Translation\MessageCatalogue; - -/** - * LoaderInterface is the interface implemented by all translation loaders. - * - * @author Fabien Potencier - */ -interface LoaderInterface -{ - /** - * Loads a locale. - * - * @param mixed $resource A resource - * @param string $locale A locale - * @param string $domain The domain - * - * @return MessageCatalogue A MessageCatalogue instance - * - * @throws NotFoundResourceException when the resource cannot be found - * @throws InvalidResourceException when the resource cannot be loaded - */ - public function load($resource, $locale, $domain = 'messages'); -} diff --git a/paragonik-backend/vendor/symfony/translation/Loader/MoFileLoader.php b/paragonik-backend/vendor/symfony/translation/Loader/MoFileLoader.php deleted file mode 100644 index d344c6e..0000000 --- a/paragonik-backend/vendor/symfony/translation/Loader/MoFileLoader.php +++ /dev/null @@ -1,140 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Loader; - -use Symfony\Component\Translation\Exception\InvalidResourceException; - -/** - * @copyright Copyright (c) 2010, Union of RAD http://union-of-rad.org (http://lithify.me/) - */ -class MoFileLoader extends FileLoader -{ - /** - * Magic used for validating the format of a MO file as well as - * detecting if the machine used to create that file was little endian. - */ - const MO_LITTLE_ENDIAN_MAGIC = 0x950412de; - - /** - * Magic used for validating the format of a MO file as well as - * detecting if the machine used to create that file was big endian. - */ - const MO_BIG_ENDIAN_MAGIC = 0xde120495; - - /** - * The size of the header of a MO file in bytes. - */ - const MO_HEADER_SIZE = 28; - - /** - * Parses machine object (MO) format, independent of the machine's endian it - * was created on. Both 32bit and 64bit systems are supported. - * - * {@inheritdoc} - */ - protected function loadResource($resource) - { - $stream = fopen($resource, 'r'); - - $stat = fstat($stream); - - if ($stat['size'] < self::MO_HEADER_SIZE) { - throw new InvalidResourceException('MO stream content has an invalid format.'); - } - $magic = unpack('V1', fread($stream, 4)); - $magic = hexdec(substr(dechex(current($magic)), -8)); - - if (self::MO_LITTLE_ENDIAN_MAGIC == $magic) { - $isBigEndian = false; - } elseif (self::MO_BIG_ENDIAN_MAGIC == $magic) { - $isBigEndian = true; - } else { - throw new InvalidResourceException('MO stream content has an invalid format.'); - } - - // formatRevision - $this->readLong($stream, $isBigEndian); - $count = $this->readLong($stream, $isBigEndian); - $offsetId = $this->readLong($stream, $isBigEndian); - $offsetTranslated = $this->readLong($stream, $isBigEndian); - // sizeHashes - $this->readLong($stream, $isBigEndian); - // offsetHashes - $this->readLong($stream, $isBigEndian); - - $messages = []; - - for ($i = 0; $i < $count; ++$i) { - $pluralId = null; - $translated = null; - - fseek($stream, $offsetId + $i * 8); - - $length = $this->readLong($stream, $isBigEndian); - $offset = $this->readLong($stream, $isBigEndian); - - if ($length < 1) { - continue; - } - - fseek($stream, $offset); - $singularId = fread($stream, $length); - - if (false !== strpos($singularId, "\000")) { - list($singularId, $pluralId) = explode("\000", $singularId); - } - - fseek($stream, $offsetTranslated + $i * 8); - $length = $this->readLong($stream, $isBigEndian); - $offset = $this->readLong($stream, $isBigEndian); - - if ($length < 1) { - continue; - } - - fseek($stream, $offset); - $translated = fread($stream, $length); - - if (false !== strpos($translated, "\000")) { - $translated = explode("\000", $translated); - } - - $ids = ['singular' => $singularId, 'plural' => $pluralId]; - $item = compact('ids', 'translated'); - - if (!empty($item['ids']['singular'])) { - $id = $item['ids']['singular']; - if (isset($item['ids']['plural'])) { - $id .= '|'.$item['ids']['plural']; - } - $messages[$id] = stripcslashes(implode('|', (array) $item['translated'])); - } - } - - fclose($stream); - - return array_filter($messages); - } - - /** - * Reads an unsigned long from stream respecting endianness. - * - * @param resource $stream - */ - private function readLong($stream, bool $isBigEndian): int - { - $result = unpack($isBigEndian ? 'N1' : 'V1', fread($stream, 4)); - $result = current($result); - - return (int) substr($result, -8); - } -} diff --git a/paragonik-backend/vendor/symfony/translation/Loader/PhpFileLoader.php b/paragonik-backend/vendor/symfony/translation/Loader/PhpFileLoader.php deleted file mode 100644 index a0050e8..0000000 --- a/paragonik-backend/vendor/symfony/translation/Loader/PhpFileLoader.php +++ /dev/null @@ -1,28 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Loader; - -/** - * PhpFileLoader loads translations from PHP files returning an array of translations. - * - * @author Fabien Potencier - */ -class PhpFileLoader extends FileLoader -{ - /** - * {@inheritdoc} - */ - protected function loadResource($resource) - { - return require $resource; - } -} diff --git a/paragonik-backend/vendor/symfony/translation/Loader/PoFileLoader.php b/paragonik-backend/vendor/symfony/translation/Loader/PoFileLoader.php deleted file mode 100644 index 5e460fb..0000000 --- a/paragonik-backend/vendor/symfony/translation/Loader/PoFileLoader.php +++ /dev/null @@ -1,149 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Loader; - -/** - * @copyright Copyright (c) 2010, Union of RAD https://github.com/UnionOfRAD/lithium - * @copyright Copyright (c) 2012, Clemens Tolboom - */ -class PoFileLoader extends FileLoader -{ - /** - * Parses portable object (PO) format. - * - * From https://www.gnu.org/software/gettext/manual/gettext.html#PO-Files - * we should be able to parse files having: - * - * white-space - * # translator-comments - * #. extracted-comments - * #: reference... - * #, flag... - * #| msgid previous-untranslated-string - * msgid untranslated-string - * msgstr translated-string - * - * extra or different lines are: - * - * #| msgctxt previous-context - * #| msgid previous-untranslated-string - * msgctxt context - * - * #| msgid previous-untranslated-string-singular - * #| msgid_plural previous-untranslated-string-plural - * msgid untranslated-string-singular - * msgid_plural untranslated-string-plural - * msgstr[0] translated-string-case-0 - * ... - * msgstr[N] translated-string-case-n - * - * The definition states: - * - white-space and comments are optional. - * - msgid "" that an empty singleline defines a header. - * - * This parser sacrifices some features of the reference implementation the - * differences to that implementation are as follows. - * - No support for comments spanning multiple lines. - * - Translator and extracted comments are treated as being the same type. - * - Message IDs are allowed to have other encodings as just US-ASCII. - * - * Items with an empty id are ignored. - * - * {@inheritdoc} - */ - protected function loadResource($resource) - { - $stream = fopen($resource, 'r'); - - $defaults = [ - 'ids' => [], - 'translated' => null, - ]; - - $messages = []; - $item = $defaults; - $flags = []; - - while ($line = fgets($stream)) { - $line = trim($line); - - if ('' === $line) { - // Whitespace indicated current item is done - if (!\in_array('fuzzy', $flags)) { - $this->addMessage($messages, $item); - } - $item = $defaults; - $flags = []; - } elseif ('#,' === substr($line, 0, 2)) { - $flags = array_map('trim', explode(',', substr($line, 2))); - } elseif ('msgid "' === substr($line, 0, 7)) { - // We start a new msg so save previous - // TODO: this fails when comments or contexts are added - $this->addMessage($messages, $item); - $item = $defaults; - $item['ids']['singular'] = substr($line, 7, -1); - } elseif ('msgstr "' === substr($line, 0, 8)) { - $item['translated'] = substr($line, 8, -1); - } elseif ('"' === $line[0]) { - $continues = isset($item['translated']) ? 'translated' : 'ids'; - - if (\is_array($item[$continues])) { - end($item[$continues]); - $item[$continues][key($item[$continues])] .= substr($line, 1, -1); - } else { - $item[$continues] .= substr($line, 1, -1); - } - } elseif ('msgid_plural "' === substr($line, 0, 14)) { - $item['ids']['plural'] = substr($line, 14, -1); - } elseif ('msgstr[' === substr($line, 0, 7)) { - $size = strpos($line, ']'); - $item['translated'][(int) substr($line, 7, 1)] = substr($line, $size + 3, -1); - } - } - // save last item - if (!\in_array('fuzzy', $flags)) { - $this->addMessage($messages, $item); - } - fclose($stream); - - return $messages; - } - - /** - * Save a translation item to the messages. - * - * A .po file could contain by error missing plural indexes. We need to - * fix these before saving them. - */ - private function addMessage(array &$messages, array $item) - { - if (!empty($item['ids']['singular'])) { - $id = stripcslashes($item['ids']['singular']); - if (isset($item['ids']['plural'])) { - $id .= '|'.stripcslashes($item['ids']['plural']); - } - - $translated = (array) $item['translated']; - // PO are by definition indexed so sort by index. - ksort($translated); - // Make sure every index is filled. - end($translated); - $count = key($translated); - // Fill missing spots with '-'. - $empties = array_fill(0, $count + 1, '-'); - $translated += $empties; - ksort($translated); - - $messages[$id] = stripcslashes(implode('|', $translated)); - } - } -} diff --git a/paragonik-backend/vendor/symfony/translation/Loader/QtFileLoader.php b/paragonik-backend/vendor/symfony/translation/Loader/QtFileLoader.php deleted file mode 100644 index 2d4a4c0..0000000 --- a/paragonik-backend/vendor/symfony/translation/Loader/QtFileLoader.php +++ /dev/null @@ -1,77 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Loader; - -use Symfony\Component\Config\Resource\FileResource; -use Symfony\Component\Config\Util\XmlUtils; -use Symfony\Component\Translation\Exception\InvalidResourceException; -use Symfony\Component\Translation\Exception\NotFoundResourceException; -use Symfony\Component\Translation\MessageCatalogue; - -/** - * QtFileLoader loads translations from QT Translations XML files. - * - * @author Benjamin Eberlei - */ -class QtFileLoader implements LoaderInterface -{ - /** - * {@inheritdoc} - */ - public function load($resource, $locale, $domain = 'messages') - { - if (!stream_is_local($resource)) { - throw new InvalidResourceException(sprintf('This is not a local file "%s".', $resource)); - } - - if (!file_exists($resource)) { - throw new NotFoundResourceException(sprintf('File "%s" not found.', $resource)); - } - - try { - $dom = XmlUtils::loadFile($resource); - } catch (\InvalidArgumentException $e) { - throw new InvalidResourceException(sprintf('Unable to load "%s".', $resource), $e->getCode(), $e); - } - - $internalErrors = libxml_use_internal_errors(true); - libxml_clear_errors(); - - $xpath = new \DOMXPath($dom); - $nodes = $xpath->evaluate('//TS/context/name[text()="'.$domain.'"]'); - - $catalogue = new MessageCatalogue($locale); - if (1 == $nodes->length) { - $translations = $nodes->item(0)->nextSibling->parentNode->parentNode->getElementsByTagName('message'); - foreach ($translations as $translation) { - $translationValue = (string) $translation->getElementsByTagName('translation')->item(0)->nodeValue; - - if (!empty($translationValue)) { - $catalogue->set( - (string) $translation->getElementsByTagName('source')->item(0)->nodeValue, - $translationValue, - $domain - ); - } - $translation = $translation->nextSibling; - } - - if (class_exists('Symfony\Component\Config\Resource\FileResource')) { - $catalogue->addResource(new FileResource($resource)); - } - } - - libxml_use_internal_errors($internalErrors); - - return $catalogue; - } -} diff --git a/paragonik-backend/vendor/symfony/translation/Loader/XliffFileLoader.php b/paragonik-backend/vendor/symfony/translation/Loader/XliffFileLoader.php deleted file mode 100644 index 15a6ee5..0000000 --- a/paragonik-backend/vendor/symfony/translation/Loader/XliffFileLoader.php +++ /dev/null @@ -1,208 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Loader; - -use Symfony\Component\Config\Resource\FileResource; -use Symfony\Component\Config\Util\XmlUtils; -use Symfony\Component\Translation\Exception\InvalidResourceException; -use Symfony\Component\Translation\Exception\NotFoundResourceException; -use Symfony\Component\Translation\MessageCatalogue; -use Symfony\Component\Translation\Util\XliffUtils; - -/** - * XliffFileLoader loads translations from XLIFF files. - * - * @author Fabien Potencier - */ -class XliffFileLoader implements LoaderInterface -{ - /** - * {@inheritdoc} - */ - public function load($resource, $locale, $domain = 'messages') - { - if (!stream_is_local($resource)) { - throw new InvalidResourceException(sprintf('This is not a local file "%s".', $resource)); - } - - if (!file_exists($resource)) { - throw new NotFoundResourceException(sprintf('File "%s" not found.', $resource)); - } - - $catalogue = new MessageCatalogue($locale); - $this->extract($resource, $catalogue, $domain); - - if (class_exists('Symfony\Component\Config\Resource\FileResource')) { - $catalogue->addResource(new FileResource($resource)); - } - - return $catalogue; - } - - private function extract($resource, MessageCatalogue $catalogue, string $domain) - { - try { - $dom = XmlUtils::loadFile($resource); - } catch (\InvalidArgumentException $e) { - throw new InvalidResourceException(sprintf('Unable to load "%s": %s', $resource, $e->getMessage()), $e->getCode(), $e); - } - - $xliffVersion = XliffUtils::getVersionNumber($dom); - if ($errors = XliffUtils::validateSchema($dom)) { - throw new InvalidResourceException(sprintf('Invalid resource provided: "%s"; Errors: %s', $resource, XliffUtils::getErrorsAsString($errors))); - } - - if ('1.2' === $xliffVersion) { - $this->extractXliff1($dom, $catalogue, $domain); - } - - if ('2.0' === $xliffVersion) { - $this->extractXliff2($dom, $catalogue, $domain); - } - } - - /** - * Extract messages and metadata from DOMDocument into a MessageCatalogue. - */ - private function extractXliff1(\DOMDocument $dom, MessageCatalogue $catalogue, string $domain) - { - $xml = simplexml_import_dom($dom); - $encoding = strtoupper($dom->encoding); - - $namespace = 'urn:oasis:names:tc:xliff:document:1.2'; - $xml->registerXPathNamespace('xliff', $namespace); - - foreach ($xml->xpath('//xliff:file') as $file) { - $fileAttributes = $file->attributes(); - - $file->registerXPathNamespace('xliff', $namespace); - - foreach ($file->xpath('.//xliff:trans-unit') as $translation) { - $attributes = $translation->attributes(); - - if (!(isset($attributes['resname']) || isset($translation->source))) { - continue; - } - - $source = isset($attributes['resname']) && $attributes['resname'] ? $attributes['resname'] : $translation->source; - // If the xlf file has another encoding specified, try to convert it because - // simple_xml will always return utf-8 encoded values - $target = $this->utf8ToCharset((string) ($translation->target ?? $translation->source), $encoding); - - $catalogue->set((string) $source, $target, $domain); - - $metadata = [ - 'source' => (string) $translation->source, - 'file' => [ - 'original' => (string) $fileAttributes['original'], - ], - ]; - if ($notes = $this->parseNotesMetadata($translation->note, $encoding)) { - $metadata['notes'] = $notes; - } - - if (isset($translation->target) && $translation->target->attributes()) { - $metadata['target-attributes'] = []; - foreach ($translation->target->attributes() as $key => $value) { - $metadata['target-attributes'][$key] = (string) $value; - } - } - - if (isset($attributes['id'])) { - $metadata['id'] = (string) $attributes['id']; - } - - $catalogue->setMetadata((string) $source, $metadata, $domain); - } - } - } - - private function extractXliff2(\DOMDocument $dom, MessageCatalogue $catalogue, string $domain) - { - $xml = simplexml_import_dom($dom); - $encoding = strtoupper($dom->encoding); - - $xml->registerXPathNamespace('xliff', 'urn:oasis:names:tc:xliff:document:2.0'); - - foreach ($xml->xpath('//xliff:unit') as $unit) { - foreach ($unit->segment as $segment) { - $source = $segment->source; - - // If the xlf file has another encoding specified, try to convert it because - // simple_xml will always return utf-8 encoded values - $target = $this->utf8ToCharset((string) (isset($segment->target) ? $segment->target : $source), $encoding); - - $catalogue->set((string) $source, $target, $domain); - - $metadata = []; - if (isset($segment->target) && $segment->target->attributes()) { - $metadata['target-attributes'] = []; - foreach ($segment->target->attributes() as $key => $value) { - $metadata['target-attributes'][$key] = (string) $value; - } - } - - if (isset($unit->notes)) { - $metadata['notes'] = []; - foreach ($unit->notes->note as $noteNode) { - $note = []; - foreach ($noteNode->attributes() as $key => $value) { - $note[$key] = (string) $value; - } - $note['content'] = (string) $noteNode; - $metadata['notes'][] = $note; - } - } - - $catalogue->setMetadata((string) $source, $metadata, $domain); - } - } - } - - /** - * Convert a UTF8 string to the specified encoding. - */ - private function utf8ToCharset(string $content, string $encoding = null): string - { - if ('UTF-8' !== $encoding && !empty($encoding)) { - return mb_convert_encoding($content, $encoding, 'UTF-8'); - } - - return $content; - } - - private function parseNotesMetadata(\SimpleXMLElement $noteElement = null, string $encoding = null): array - { - $notes = []; - - if (null === $noteElement) { - return $notes; - } - - /** @var \SimpleXMLElement $xmlNote */ - foreach ($noteElement as $xmlNote) { - $noteAttributes = $xmlNote->attributes(); - $note = ['content' => $this->utf8ToCharset((string) $xmlNote, $encoding)]; - if (isset($noteAttributes['priority'])) { - $note['priority'] = (int) $noteAttributes['priority']; - } - - if (isset($noteAttributes['from'])) { - $note['from'] = (string) $noteAttributes['from']; - } - - $notes[] = $note; - } - - return $notes; - } -} diff --git a/paragonik-backend/vendor/symfony/translation/Loader/YamlFileLoader.php b/paragonik-backend/vendor/symfony/translation/Loader/YamlFileLoader.php deleted file mode 100644 index 438d7d7..0000000 --- a/paragonik-backend/vendor/symfony/translation/Loader/YamlFileLoader.php +++ /dev/null @@ -1,54 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Loader; - -use Symfony\Component\Translation\Exception\InvalidResourceException; -use Symfony\Component\Translation\Exception\LogicException; -use Symfony\Component\Yaml\Exception\ParseException; -use Symfony\Component\Yaml\Parser as YamlParser; -use Symfony\Component\Yaml\Yaml; - -/** - * YamlFileLoader loads translations from Yaml files. - * - * @author Fabien Potencier - */ -class YamlFileLoader extends FileLoader -{ - private $yamlParser; - - /** - * {@inheritdoc} - */ - protected function loadResource($resource) - { - if (null === $this->yamlParser) { - if (!class_exists('Symfony\Component\Yaml\Parser')) { - throw new LogicException('Loading translations from the YAML format requires the Symfony Yaml component.'); - } - - $this->yamlParser = new YamlParser(); - } - - try { - $messages = $this->yamlParser->parseFile($resource, Yaml::PARSE_CONSTANT); - } catch (ParseException $e) { - throw new InvalidResourceException(sprintf('Error parsing YAML, invalid file "%s"', $resource), 0, $e); - } - - if (null !== $messages && !\is_array($messages)) { - throw new InvalidResourceException(sprintf('Unable to load file "%s".', $resource)); - } - - return $messages ?: []; - } -} diff --git a/paragonik-backend/vendor/symfony/translation/LoggingTranslator.php b/paragonik-backend/vendor/symfony/translation/LoggingTranslator.php deleted file mode 100644 index 812136f..0000000 --- a/paragonik-backend/vendor/symfony/translation/LoggingTranslator.php +++ /dev/null @@ -1,152 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation; - -use Psr\Log\LoggerInterface; -use Symfony\Component\Translation\Exception\InvalidArgumentException; -use Symfony\Component\Translation\TranslatorInterface as LegacyTranslatorInterface; -use Symfony\Contracts\Translation\LocaleAwareInterface; -use Symfony\Contracts\Translation\TranslatorInterface; - -/** - * @author Abdellatif Ait boudad - */ -class LoggingTranslator implements TranslatorInterface, LegacyTranslatorInterface, TranslatorBagInterface -{ - /** - * @var TranslatorInterface|TranslatorBagInterface - */ - private $translator; - - private $logger; - - /** - * @param TranslatorInterface $translator The translator must implement TranslatorBagInterface - */ - public function __construct($translator, LoggerInterface $logger) - { - if (!$translator instanceof LegacyTranslatorInterface && !$translator instanceof TranslatorInterface) { - throw new \TypeError(sprintf('Argument 1 passed to %s() must be an instance of %s, %s given.', __METHOD__, TranslatorInterface::class, \is_object($translator) ? \get_class($translator) : \gettype($translator))); - } - if (!$translator instanceof TranslatorBagInterface || !$translator instanceof LocaleAwareInterface) { - throw new InvalidArgumentException(sprintf('The Translator "%s" must implement TranslatorInterface, TranslatorBagInterface and LocaleAwareInterface.', \get_class($translator))); - } - - $this->translator = $translator; - $this->logger = $logger; - } - - /** - * {@inheritdoc} - */ - public function trans($id, array $parameters = [], $domain = null, $locale = null) - { - $trans = $this->translator->trans($id, $parameters, $domain, $locale); - $this->log($id, $domain, $locale); - - return $trans; - } - - /** - * {@inheritdoc} - * - * @deprecated since Symfony 4.2, use the trans() method instead with a %count% parameter - */ - public function transChoice($id, $number, array $parameters = [], $domain = null, $locale = null) - { - @trigger_error(sprintf('The "%s()" method is deprecated since Symfony 4.2, use the trans() one instead with a "%%count%%" parameter.', __METHOD__), E_USER_DEPRECATED); - - if ($this->translator instanceof TranslatorInterface) { - $trans = $this->translator->trans($id, ['%count%' => $number] + $parameters, $domain, $locale); - } else { - $trans = $this->translator->transChoice($id, $number, $parameters, $domain, $locale); - } - - $this->log($id, $domain, $locale); - - return $trans; - } - - /** - * {@inheritdoc} - */ - public function setLocale($locale) - { - $prev = $this->translator->getLocale(); - $this->translator->setLocale($locale); - if ($prev === $locale) { - return; - } - - $this->logger->debug(sprintf('The locale of the translator has changed from "%s" to "%s".', $prev, $locale)); - } - - /** - * {@inheritdoc} - */ - public function getLocale() - { - return $this->translator->getLocale(); - } - - /** - * {@inheritdoc} - */ - public function getCatalogue($locale = null) - { - return $this->translator->getCatalogue($locale); - } - - /** - * Gets the fallback locales. - * - * @return array The fallback locales - */ - public function getFallbackLocales() - { - if ($this->translator instanceof Translator || method_exists($this->translator, 'getFallbackLocales')) { - return $this->translator->getFallbackLocales(); - } - - return []; - } - - /** - * Passes through all unknown calls onto the translator object. - */ - public function __call($method, $args) - { - return $this->translator->{$method}(...$args); - } - - /** - * Logs for missing translations. - */ - private function log(?string $id, ?string $domain, ?string $locale) - { - if (null === $domain) { - $domain = 'messages'; - } - - $id = (string) $id; - $catalogue = $this->translator->getCatalogue($locale); - if ($catalogue->defines($id, $domain)) { - return; - } - - if ($catalogue->has($id, $domain)) { - $this->logger->debug('Translation use fallback catalogue.', ['id' => $id, 'domain' => $domain, 'locale' => $catalogue->getLocale()]); - } else { - $this->logger->warning('Translation not found.', ['id' => $id, 'domain' => $domain, 'locale' => $catalogue->getLocale()]); - } - } -} diff --git a/paragonik-backend/vendor/symfony/translation/MessageCatalogue.php b/paragonik-backend/vendor/symfony/translation/MessageCatalogue.php deleted file mode 100644 index 40714a6..0000000 --- a/paragonik-backend/vendor/symfony/translation/MessageCatalogue.php +++ /dev/null @@ -1,307 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation; - -use Symfony\Component\Config\Resource\ResourceInterface; -use Symfony\Component\Translation\Exception\LogicException; - -/** - * @author Fabien Potencier - */ -class MessageCatalogue implements MessageCatalogueInterface, MetadataAwareInterface -{ - private $messages = []; - private $metadata = []; - private $resources = []; - private $locale; - private $fallbackCatalogue; - private $parent; - - /** - * @param string $locale The locale - * @param array $messages An array of messages classified by domain - */ - public function __construct(?string $locale, array $messages = []) - { - if (null === $locale) { - @trigger_error(sprintf('Passing "null" to the first argument of the "%s" method has been deprecated since Symfony 4.4 and will throw an error in 5.0.', __METHOD__), E_USER_DEPRECATED); - } - - $this->locale = $locale; - $this->messages = $messages; - } - - /** - * {@inheritdoc} - */ - public function getLocale() - { - return $this->locale; - } - - /** - * {@inheritdoc} - */ - public function getDomains() - { - $domains = []; - $suffixLength = \strlen(self::INTL_DOMAIN_SUFFIX); - - foreach ($this->messages as $domain => $messages) { - if (\strlen($domain) > $suffixLength && false !== $i = strpos($domain, self::INTL_DOMAIN_SUFFIX, -$suffixLength)) { - $domain = substr($domain, 0, $i); - } - $domains[$domain] = $domain; - } - - return array_values($domains); - } - - /** - * {@inheritdoc} - */ - public function all($domain = null) - { - if (null !== $domain) { - return ($this->messages[$domain.self::INTL_DOMAIN_SUFFIX] ?? []) + ($this->messages[$domain] ?? []); - } - - $allMessages = []; - $suffixLength = \strlen(self::INTL_DOMAIN_SUFFIX); - - foreach ($this->messages as $domain => $messages) { - if (\strlen($domain) > $suffixLength && false !== $i = strpos($domain, self::INTL_DOMAIN_SUFFIX, -$suffixLength)) { - $domain = substr($domain, 0, $i); - $allMessages[$domain] = $messages + ($allMessages[$domain] ?? []); - } else { - $allMessages[$domain] = ($allMessages[$domain] ?? []) + $messages; - } - } - - return $allMessages; - } - - /** - * {@inheritdoc} - */ - public function set($id, $translation, $domain = 'messages') - { - $this->add([$id => $translation], $domain); - } - - /** - * {@inheritdoc} - */ - public function has($id, $domain = 'messages') - { - if (isset($this->messages[$domain][$id]) || isset($this->messages[$domain.self::INTL_DOMAIN_SUFFIX][$id])) { - return true; - } - - if (null !== $this->fallbackCatalogue) { - return $this->fallbackCatalogue->has($id, $domain); - } - - return false; - } - - /** - * {@inheritdoc} - */ - public function defines($id, $domain = 'messages') - { - return isset($this->messages[$domain][$id]) || isset($this->messages[$domain.self::INTL_DOMAIN_SUFFIX][$id]); - } - - /** - * {@inheritdoc} - */ - public function get($id, $domain = 'messages') - { - if (isset($this->messages[$domain.self::INTL_DOMAIN_SUFFIX][$id])) { - return $this->messages[$domain.self::INTL_DOMAIN_SUFFIX][$id]; - } - - if (isset($this->messages[$domain][$id])) { - return $this->messages[$domain][$id]; - } - - if (null !== $this->fallbackCatalogue) { - return $this->fallbackCatalogue->get($id, $domain); - } - - return $id; - } - - /** - * {@inheritdoc} - */ - public function replace($messages, $domain = 'messages') - { - unset($this->messages[$domain], $this->messages[$domain.self::INTL_DOMAIN_SUFFIX]); - - $this->add($messages, $domain); - } - - /** - * {@inheritdoc} - */ - public function add($messages, $domain = 'messages') - { - if (!isset($this->messages[$domain])) { - $this->messages[$domain] = $messages; - } else { - $this->messages[$domain] = array_replace($this->messages[$domain], $messages); - } - } - - /** - * {@inheritdoc} - */ - public function addCatalogue(MessageCatalogueInterface $catalogue) - { - if ($catalogue->getLocale() !== $this->locale) { - throw new LogicException(sprintf('Cannot add a catalogue for locale "%s" as the current locale for this catalogue is "%s"', $catalogue->getLocale(), $this->locale)); - } - - foreach ($catalogue->all() as $domain => $messages) { - if ($intlMessages = $catalogue->all($domain.self::INTL_DOMAIN_SUFFIX)) { - $this->add($intlMessages, $domain.self::INTL_DOMAIN_SUFFIX); - $messages = array_diff_key($messages, $intlMessages); - } - $this->add($messages, $domain); - } - - foreach ($catalogue->getResources() as $resource) { - $this->addResource($resource); - } - - if ($catalogue instanceof MetadataAwareInterface) { - $metadata = $catalogue->getMetadata('', ''); - $this->addMetadata($metadata); - } - } - - /** - * {@inheritdoc} - */ - public function addFallbackCatalogue(MessageCatalogueInterface $catalogue) - { - // detect circular references - $c = $catalogue; - while ($c = $c->getFallbackCatalogue()) { - if ($c->getLocale() === $this->getLocale()) { - throw new LogicException(sprintf('Circular reference detected when adding a fallback catalogue for locale "%s".', $catalogue->getLocale())); - } - } - - $c = $this; - do { - if ($c->getLocale() === $catalogue->getLocale()) { - throw new LogicException(sprintf('Circular reference detected when adding a fallback catalogue for locale "%s".', $catalogue->getLocale())); - } - - foreach ($catalogue->getResources() as $resource) { - $c->addResource($resource); - } - } while ($c = $c->parent); - - $catalogue->parent = $this; - $this->fallbackCatalogue = $catalogue; - - foreach ($catalogue->getResources() as $resource) { - $this->addResource($resource); - } - } - - /** - * {@inheritdoc} - */ - public function getFallbackCatalogue() - { - return $this->fallbackCatalogue; - } - - /** - * {@inheritdoc} - */ - public function getResources() - { - return array_values($this->resources); - } - - /** - * {@inheritdoc} - */ - public function addResource(ResourceInterface $resource) - { - $this->resources[$resource->__toString()] = $resource; - } - - /** - * {@inheritdoc} - */ - public function getMetadata($key = '', $domain = 'messages') - { - if ('' == $domain) { - return $this->metadata; - } - - if (isset($this->metadata[$domain])) { - if ('' == $key) { - return $this->metadata[$domain]; - } - - if (isset($this->metadata[$domain][$key])) { - return $this->metadata[$domain][$key]; - } - } - - return null; - } - - /** - * {@inheritdoc} - */ - public function setMetadata($key, $value, $domain = 'messages') - { - $this->metadata[$domain][$key] = $value; - } - - /** - * {@inheritdoc} - */ - public function deleteMetadata($key = '', $domain = 'messages') - { - if ('' == $domain) { - $this->metadata = []; - } elseif ('' == $key) { - unset($this->metadata[$domain]); - } else { - unset($this->metadata[$domain][$key]); - } - } - - /** - * Adds current values with the new values. - * - * @param array $values Values to add - */ - private function addMetadata(array $values) - { - foreach ($values as $domain => $keys) { - foreach ($keys as $key => $value) { - $this->setMetadata($key, $value, $domain); - } - } - } -} diff --git a/paragonik-backend/vendor/symfony/translation/MessageCatalogueInterface.php b/paragonik-backend/vendor/symfony/translation/MessageCatalogueInterface.php deleted file mode 100644 index f3d3f5e..0000000 --- a/paragonik-backend/vendor/symfony/translation/MessageCatalogueInterface.php +++ /dev/null @@ -1,138 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation; - -use Symfony\Component\Config\Resource\ResourceInterface; - -/** - * MessageCatalogueInterface. - * - * @author Fabien Potencier - */ -interface MessageCatalogueInterface -{ - const INTL_DOMAIN_SUFFIX = '+intl-icu'; - - /** - * Gets the catalogue locale. - * - * @return string The locale - */ - public function getLocale(); - - /** - * Gets the domains. - * - * @return array An array of domains - */ - public function getDomains(); - - /** - * Gets the messages within a given domain. - * - * If $domain is null, it returns all messages. - * - * @param string $domain The domain name - * - * @return array An array of messages - */ - public function all($domain = null); - - /** - * Sets a message translation. - * - * @param string $id The message id - * @param string $translation The messages translation - * @param string $domain The domain name - */ - public function set($id, $translation, $domain = 'messages'); - - /** - * Checks if a message has a translation. - * - * @param string $id The message id - * @param string $domain The domain name - * - * @return bool true if the message has a translation, false otherwise - */ - public function has($id, $domain = 'messages'); - - /** - * Checks if a message has a translation (it does not take into account the fallback mechanism). - * - * @param string $id The message id - * @param string $domain The domain name - * - * @return bool true if the message has a translation, false otherwise - */ - public function defines($id, $domain = 'messages'); - - /** - * Gets a message translation. - * - * @param string $id The message id - * @param string $domain The domain name - * - * @return string The message translation - */ - public function get($id, $domain = 'messages'); - - /** - * Sets translations for a given domain. - * - * @param array $messages An array of translations - * @param string $domain The domain name - */ - public function replace($messages, $domain = 'messages'); - - /** - * Adds translations for a given domain. - * - * @param array $messages An array of translations - * @param string $domain The domain name - */ - public function add($messages, $domain = 'messages'); - - /** - * Merges translations from the given Catalogue into the current one. - * - * The two catalogues must have the same locale. - */ - public function addCatalogue(self $catalogue); - - /** - * Merges translations from the given Catalogue into the current one - * only when the translation does not exist. - * - * This is used to provide default translations when they do not exist for the current locale. - */ - public function addFallbackCatalogue(self $catalogue); - - /** - * Gets the fallback catalogue. - * - * @return self|null A MessageCatalogueInterface instance or null when no fallback has been set - */ - public function getFallbackCatalogue(); - - /** - * Returns an array of resources loaded to build this collection. - * - * @return ResourceInterface[] An array of resources - */ - public function getResources(); - - /** - * Adds a resource for this collection. - */ - public function addResource(ResourceInterface $resource); -} diff --git a/paragonik-backend/vendor/symfony/translation/MessageSelector.php b/paragonik-backend/vendor/symfony/translation/MessageSelector.php deleted file mode 100644 index 0f0febb..0000000 --- a/paragonik-backend/vendor/symfony/translation/MessageSelector.php +++ /dev/null @@ -1,98 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation; - -@trigger_error(sprintf('The "%s" class is deprecated since Symfony 4.2, use IdentityTranslator instead.', MessageSelector::class), E_USER_DEPRECATED); - -use Symfony\Component\Translation\Exception\InvalidArgumentException; - -/** - * MessageSelector. - * - * @author Fabien Potencier - * @author Bernhard Schussek - * - * @deprecated since Symfony 4.2, use IdentityTranslator instead. - */ -class MessageSelector -{ - /** - * Given a message with different plural translations separated by a - * pipe (|), this method returns the correct portion of the message based - * on the given number, locale and the pluralization rules in the message - * itself. - * - * The message supports two different types of pluralization rules: - * - * interval: {0} There are no apples|{1} There is one apple|]1,Inf] There are %count% apples - * indexed: There is one apple|There are %count% apples - * - * The indexed solution can also contain labels (e.g. one: There is one apple). - * This is purely for making the translations more clear - it does not - * affect the functionality. - * - * The two methods can also be mixed: - * {0} There are no apples|one: There is one apple|more: There are %count% apples - * - * @param string $message The message being translated - * @param int|float $number The number of items represented for the message - * @param string $locale The locale to use for choosing - * - * @return string - * - * @throws InvalidArgumentException - */ - public function choose($message, $number, $locale) - { - $parts = []; - if (preg_match('/^\|++$/', $message)) { - $parts = explode('|', $message); - } elseif (preg_match_all('/(?:\|\||[^\|])++/', $message, $matches)) { - $parts = $matches[0]; - } - - $explicitRules = []; - $standardRules = []; - foreach ($parts as $part) { - $part = trim(str_replace('||', '|', $part)); - - if (preg_match('/^(?P'.Interval::getIntervalRegexp().')\s*(?P.*?)$/xs', $part, $matches)) { - $explicitRules[$matches['interval']] = $matches['message']; - } elseif (preg_match('/^\w+\:\s*(.*?)$/', $part, $matches)) { - $standardRules[] = $matches[1]; - } else { - $standardRules[] = $part; - } - } - - // try to match an explicit rule, then fallback to the standard ones - foreach ($explicitRules as $interval => $m) { - if (Interval::test($number, $interval)) { - return $m; - } - } - - $position = PluralizationRules::get($number, $locale); - - if (!isset($standardRules[$position])) { - // when there's exactly one rule given, and that rule is a standard - // rule, use this rule - if (1 === \count($parts) && isset($standardRules[0])) { - return $standardRules[0]; - } - - throw new InvalidArgumentException(sprintf('Unable to choose a translation for "%s" with locale "%s" for value "%d". Double check that this translation has the correct plural options (e.g. "There is one apple|There are %%count%% apples").', $message, $locale, $number)); - } - - return $standardRules[$position]; - } -} diff --git a/paragonik-backend/vendor/symfony/translation/MetadataAwareInterface.php b/paragonik-backend/vendor/symfony/translation/MetadataAwareInterface.php deleted file mode 100644 index e93c6fb..0000000 --- a/paragonik-backend/vendor/symfony/translation/MetadataAwareInterface.php +++ /dev/null @@ -1,54 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation; - -/** - * MetadataAwareInterface. - * - * @author Fabien Potencier - */ -interface MetadataAwareInterface -{ - /** - * Gets metadata for the given domain and key. - * - * Passing an empty domain will return an array with all metadata indexed by - * domain and then by key. Passing an empty key will return an array with all - * metadata for the given domain. - * - * @param string $key The key - * @param string $domain The domain name - * - * @return mixed The value that was set or an array with the domains/keys or null - */ - public function getMetadata($key = '', $domain = 'messages'); - - /** - * Adds metadata to a message domain. - * - * @param string $key The key - * @param mixed $value The value - * @param string $domain The domain name - */ - public function setMetadata($key, $value, $domain = 'messages'); - - /** - * Deletes metadata for the given key and domain. - * - * Passing an empty domain will delete all metadata. Passing an empty key will - * delete all metadata for the given domain. - * - * @param string $key The key - * @param string $domain The domain name - */ - public function deleteMetadata($key = '', $domain = 'messages'); -} diff --git a/paragonik-backend/vendor/symfony/translation/PluralizationRules.php b/paragonik-backend/vendor/symfony/translation/PluralizationRules.php deleted file mode 100644 index 77c2760..0000000 --- a/paragonik-backend/vendor/symfony/translation/PluralizationRules.php +++ /dev/null @@ -1,218 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation; - -/** - * Returns the plural rules for a given locale. - * - * @author Fabien Potencier - * - * @deprecated since Symfony 4.2, use IdentityTranslator instead - */ -class PluralizationRules -{ - private static $rules = []; - - /** - * Returns the plural position to use for the given locale and number. - * - * @param int $number The number - * @param string $locale The locale - * - * @return int The plural position - */ - public static function get($number, $locale/*, bool $triggerDeprecation = true*/) - { - if (3 > \func_num_args() || func_get_arg(2)) { - @trigger_error(sprintf('The "%s" class is deprecated since Symfony 4.2.', __CLASS__), E_USER_DEPRECATED); - } - - if ('pt_BR' === $locale) { - // temporary set a locale for brazilian - $locale = 'xbr'; - } - - if (\strlen($locale) > 3) { - $locale = substr($locale, 0, -\strlen(strrchr($locale, '_'))); - } - - if (isset(self::$rules[$locale])) { - $return = self::$rules[$locale]($number); - - if (!\is_int($return) || $return < 0) { - return 0; - } - - return $return; - } - - /* - * The plural rules are derived from code of the Zend Framework (2010-09-25), - * which is subject to the new BSD license (http://framework.zend.com/license/new-bsd). - * Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com) - */ - switch ($locale) { - case 'az': - case 'bo': - case 'dz': - case 'id': - case 'ja': - case 'jv': - case 'ka': - case 'km': - case 'kn': - case 'ko': - case 'ms': - case 'th': - case 'tr': - case 'vi': - case 'zh': - return 0; - - case 'af': - case 'bn': - case 'bg': - case 'ca': - case 'da': - case 'de': - case 'el': - case 'en': - case 'eo': - case 'es': - case 'et': - case 'eu': - case 'fa': - case 'fi': - case 'fo': - case 'fur': - case 'fy': - case 'gl': - case 'gu': - case 'ha': - case 'he': - case 'hu': - case 'is': - case 'it': - case 'ku': - case 'lb': - case 'ml': - case 'mn': - case 'mr': - case 'nah': - case 'nb': - case 'ne': - case 'nl': - case 'nn': - case 'no': - case 'oc': - case 'om': - case 'or': - case 'pa': - case 'pap': - case 'ps': - case 'pt': - case 'so': - case 'sq': - case 'sv': - case 'sw': - case 'ta': - case 'te': - case 'tk': - case 'ur': - case 'zu': - return (1 == $number) ? 0 : 1; - - case 'am': - case 'bh': - case 'fil': - case 'fr': - case 'gun': - case 'hi': - case 'hy': - case 'ln': - case 'mg': - case 'nso': - case 'xbr': - case 'ti': - case 'wa': - return ((0 == $number) || (1 == $number)) ? 0 : 1; - - case 'be': - case 'bs': - case 'hr': - case 'ru': - case 'sh': - case 'sr': - case 'uk': - return ((1 == $number % 10) && (11 != $number % 100)) ? 0 : ((($number % 10 >= 2) && ($number % 10 <= 4) && (($number % 100 < 10) || ($number % 100 >= 20))) ? 1 : 2); - - case 'cs': - case 'sk': - return (1 == $number) ? 0 : ((($number >= 2) && ($number <= 4)) ? 1 : 2); - - case 'ga': - return (1 == $number) ? 0 : ((2 == $number) ? 1 : 2); - - case 'lt': - return ((1 == $number % 10) && (11 != $number % 100)) ? 0 : ((($number % 10 >= 2) && (($number % 100 < 10) || ($number % 100 >= 20))) ? 1 : 2); - - case 'sl': - return (1 == $number % 100) ? 0 : ((2 == $number % 100) ? 1 : (((3 == $number % 100) || (4 == $number % 100)) ? 2 : 3)); - - case 'mk': - return (1 == $number % 10) ? 0 : 1; - - case 'mt': - return (1 == $number) ? 0 : (((0 == $number) || (($number % 100 > 1) && ($number % 100 < 11))) ? 1 : ((($number % 100 > 10) && ($number % 100 < 20)) ? 2 : 3)); - - case 'lv': - return (0 == $number) ? 0 : (((1 == $number % 10) && (11 != $number % 100)) ? 1 : 2); - - case 'pl': - return (1 == $number) ? 0 : ((($number % 10 >= 2) && ($number % 10 <= 4) && (($number % 100 < 12) || ($number % 100 > 14))) ? 1 : 2); - - case 'cy': - return (1 == $number) ? 0 : ((2 == $number) ? 1 : (((8 == $number) || (11 == $number)) ? 2 : 3)); - - case 'ro': - return (1 == $number) ? 0 : (((0 == $number) || (($number % 100 > 0) && ($number % 100 < 20))) ? 1 : 2); - - case 'ar': - return (0 == $number) ? 0 : ((1 == $number) ? 1 : ((2 == $number) ? 2 : ((($number % 100 >= 3) && ($number % 100 <= 10)) ? 3 : ((($number % 100 >= 11) && ($number % 100 <= 99)) ? 4 : 5)))); - - default: - return 0; - } - } - - /** - * Overrides the default plural rule for a given locale. - * - * @param callable $rule A PHP callable - * @param string $locale The locale - */ - public static function set(callable $rule, $locale) - { - @trigger_error(sprintf('The "%s" class is deprecated since Symfony 4.2.', __CLASS__), E_USER_DEPRECATED); - - if ('pt_BR' === $locale) { - // temporary set a locale for brazilian - $locale = 'xbr'; - } - - if (\strlen($locale) > 3) { - $locale = substr($locale, 0, -\strlen(strrchr($locale, '_'))); - } - - self::$rules[$locale] = $rule; - } -} diff --git a/paragonik-backend/vendor/symfony/translation/README.md b/paragonik-backend/vendor/symfony/translation/README.md deleted file mode 100644 index 46f3d1f..0000000 --- a/paragonik-backend/vendor/symfony/translation/README.md +++ /dev/null @@ -1,13 +0,0 @@ -Translation Component -===================== - -The Translation component provides tools to internationalize your application. - -Resources ---------- - - * [Documentation](https://symfony.com/doc/current/components/translation/index.html) - * [Contributing](https://symfony.com/doc/current/contributing/index.html) - * [Report issues](https://github.com/symfony/symfony/issues) and - [send Pull Requests](https://github.com/symfony/symfony/pulls) - in the [main Symfony repository](https://github.com/symfony/symfony) diff --git a/paragonik-backend/vendor/symfony/translation/Reader/TranslationReader.php b/paragonik-backend/vendor/symfony/translation/Reader/TranslationReader.php deleted file mode 100644 index 2b98345..0000000 --- a/paragonik-backend/vendor/symfony/translation/Reader/TranslationReader.php +++ /dev/null @@ -1,62 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Reader; - -use Symfony\Component\Finder\Finder; -use Symfony\Component\Translation\Loader\LoaderInterface; -use Symfony\Component\Translation\MessageCatalogue; - -/** - * TranslationReader reads translation messages from translation files. - * - * @author Michel Salib - */ -class TranslationReader implements TranslationReaderInterface -{ - /** - * Loaders used for import. - * - * @var array - */ - private $loaders = []; - - /** - * Adds a loader to the translation extractor. - * - * @param string $format The format of the loader - */ - public function addLoader($format, LoaderInterface $loader) - { - $this->loaders[$format] = $loader; - } - - /** - * {@inheritdoc} - */ - public function read($directory, MessageCatalogue $catalogue) - { - if (!is_dir($directory)) { - return; - } - - foreach ($this->loaders as $format => $loader) { - // load any existing translation files - $finder = new Finder(); - $extension = $catalogue->getLocale().'.'.$format; - $files = $finder->files()->name('*.'.$extension)->in($directory); - foreach ($files as $file) { - $domain = substr($file->getFilename(), 0, -1 * \strlen($extension) - 1); - $catalogue->addCatalogue($loader->load($file->getPathname(), $catalogue->getLocale(), $domain)); - } - } - } -} diff --git a/paragonik-backend/vendor/symfony/translation/Reader/TranslationReaderInterface.php b/paragonik-backend/vendor/symfony/translation/Reader/TranslationReaderInterface.php deleted file mode 100644 index 0b2ad33..0000000 --- a/paragonik-backend/vendor/symfony/translation/Reader/TranslationReaderInterface.php +++ /dev/null @@ -1,29 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Reader; - -use Symfony\Component\Translation\MessageCatalogue; - -/** - * TranslationReader reads translation messages from translation files. - * - * @author Tobias Nyholm - */ -interface TranslationReaderInterface -{ - /** - * Reads translation messages from a directory to the catalogue. - * - * @param string $directory - */ - public function read($directory, MessageCatalogue $catalogue); -} diff --git a/paragonik-backend/vendor/symfony/translation/Resources/bin/translation-status.php b/paragonik-backend/vendor/symfony/translation/Resources/bin/translation-status.php deleted file mode 100644 index 44918c9..0000000 --- a/paragonik-backend/vendor/symfony/translation/Resources/bin/translation-status.php +++ /dev/null @@ -1,207 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -$usageInstructions = << false, - // NULL = analyze all locales - 'locale_to_analyze' => null, - // the reference files all the other translations are compared to - 'original_files' => [ - 'src/Symfony/Component/Form/Resources/translations/validators.en.xlf', - 'src/Symfony/Component/Security/Core/Resources/translations/security.en.xlf', - 'src/Symfony/Component/Validator/Resources/translations/validators.en.xlf', - ], -]; - -$argc = $_SERVER['argc']; -$argv = $_SERVER['argv']; - -if ($argc > 3) { - echo str_replace('translation-status.php', $argv[0], $usageInstructions); - exit(1); -} - -foreach (array_slice($argv, 1) as $argumentOrOption) { - if (0 === strpos($argumentOrOption, '-')) { - $config['verbose_output'] = true; - } else { - $config['locale_to_analyze'] = $argumentOrOption; - } -} - -foreach ($config['original_files'] as $originalFilePath) { - if (!file_exists($originalFilePath)) { - echo sprintf('The following file does not exist. Make sure that you execute this command at the root dir of the Symfony code repository.%s %s', PHP_EOL, $originalFilePath); - exit(1); - } -} - -$totalMissingTranslations = 0; - -foreach ($config['original_files'] as $originalFilePath) { - $translationFilePaths = findTranslationFiles($originalFilePath, $config['locale_to_analyze']); - $translationStatus = calculateTranslationStatus($originalFilePath, $translationFilePaths); - - $totalMissingTranslations += array_sum(array_map(function ($translation) { - return count($translation['missingKeys']); - }, array_values($translationStatus))); - - printTranslationStatus($originalFilePath, $translationStatus, $config['verbose_output']); -} - -exit($totalMissingTranslations > 0 ? 1 : 0); - -function findTranslationFiles($originalFilePath, $localeToAnalyze) -{ - $translations = []; - - $translationsDir = dirname($originalFilePath); - $originalFileName = basename($originalFilePath); - $translationFileNamePattern = str_replace('.en.', '.*.', $originalFileName); - - $translationFiles = glob($translationsDir.'/'.$translationFileNamePattern, GLOB_NOSORT); - sort($translationFiles); - foreach ($translationFiles as $filePath) { - $locale = extractLocaleFromFilePath($filePath); - - if (null !== $localeToAnalyze && $locale !== $localeToAnalyze) { - continue; - } - - $translations[$locale] = $filePath; - } - - return $translations; -} - -function calculateTranslationStatus($originalFilePath, $translationFilePaths) -{ - $translationStatus = []; - $allTranslationKeys = extractTranslationKeys($originalFilePath); - - foreach ($translationFilePaths as $locale => $translationPath) { - $translatedKeys = extractTranslationKeys($translationPath); - $missingKeys = array_diff_key($allTranslationKeys, $translatedKeys); - - $translationStatus[$locale] = [ - 'total' => count($allTranslationKeys), - 'translated' => count($translatedKeys), - 'missingKeys' => $missingKeys, - ]; - } - - return $translationStatus; -} - -function printTranslationStatus($originalFilePath, $translationStatus, $verboseOutput) -{ - printTitle($originalFilePath); - printTable($translationStatus, $verboseOutput); - echo PHP_EOL.PHP_EOL; -} - -function extractLocaleFromFilePath($filePath) -{ - $parts = explode('.', $filePath); - - return $parts[count($parts) - 2]; -} - -function extractTranslationKeys($filePath) -{ - $translationKeys = []; - $contents = new \SimpleXMLElement(file_get_contents($filePath)); - - foreach ($contents->file->body->{'trans-unit'} as $translationKey) { - $translationId = (string) $translationKey['id']; - $translationKey = (string) $translationKey->source; - - $translationKeys[$translationId] = $translationKey; - } - - return $translationKeys; -} - -function printTitle($title) -{ - echo $title.PHP_EOL; - echo str_repeat('=', strlen($title)).PHP_EOL.PHP_EOL; -} - -function printTable($translations, $verboseOutput) -{ - if (0 === count($translations)) { - echo 'No translations found'; - - return; - } - $longestLocaleNameLength = max(array_map('strlen', array_keys($translations))); - - foreach ($translations as $locale => $translation) { - if ($translation['translated'] > $translation['total']) { - textColorRed(); - } elseif ($translation['translated'] === $translation['total']) { - textColorGreen(); - } - - echo sprintf('| Locale: %-'.$longestLocaleNameLength.'s | Translated: %d/%d', $locale, $translation['translated'], $translation['total']).PHP_EOL; - - textColorNormal(); - - if (true === $verboseOutput && count($translation['missingKeys']) > 0) { - echo str_repeat('-', 80).PHP_EOL; - echo '| Missing Translations:'.PHP_EOL; - - foreach ($translation['missingKeys'] as $id => $content) { - echo sprintf('| (id=%s) %s', $id, $content).PHP_EOL; - } - - echo str_repeat('-', 80).PHP_EOL; - } - } -} - -function textColorGreen() -{ - echo "\033[32m"; -} - -function textColorRed() -{ - echo "\033[31m"; -} - -function textColorNormal() -{ - echo "\033[0m"; -} diff --git a/paragonik-backend/vendor/symfony/translation/Resources/data/parents.json b/paragonik-backend/vendor/symfony/translation/Resources/data/parents.json deleted file mode 100644 index 6e45d9f..0000000 --- a/paragonik-backend/vendor/symfony/translation/Resources/data/parents.json +++ /dev/null @@ -1,136 +0,0 @@ -{ - "az_Cyrl": "root", - "bs_Cyrl": "root", - "en_150": "en_001", - "en_AG": "en_001", - "en_AI": "en_001", - "en_AT": "en_150", - "en_AU": "en_001", - "en_BB": "en_001", - "en_BE": "en_150", - "en_BM": "en_001", - "en_BS": "en_001", - "en_BW": "en_001", - "en_BZ": "en_001", - "en_CA": "en_001", - "en_CC": "en_001", - "en_CH": "en_150", - "en_CK": "en_001", - "en_CM": "en_001", - "en_CX": "en_001", - "en_CY": "en_001", - "en_DE": "en_150", - "en_DG": "en_001", - "en_DK": "en_150", - "en_DM": "en_001", - "en_ER": "en_001", - "en_FI": "en_150", - "en_FJ": "en_001", - "en_FK": "en_001", - "en_FM": "en_001", - "en_GB": "en_001", - "en_GD": "en_001", - "en_GG": "en_001", - "en_GH": "en_001", - "en_GI": "en_001", - "en_GM": "en_001", - "en_GY": "en_001", - "en_HK": "en_001", - "en_IE": "en_001", - "en_IL": "en_001", - "en_IM": "en_001", - "en_IN": "en_001", - "en_IO": "en_001", - "en_JE": "en_001", - "en_JM": "en_001", - "en_KE": "en_001", - "en_KI": "en_001", - "en_KN": "en_001", - "en_KY": "en_001", - "en_LC": "en_001", - "en_LR": "en_001", - "en_LS": "en_001", - "en_MG": "en_001", - "en_MO": "en_001", - "en_MS": "en_001", - "en_MT": "en_001", - "en_MU": "en_001", - "en_MW": "en_001", - "en_MY": "en_001", - "en_NA": "en_001", - "en_NF": "en_001", - "en_NG": "en_001", - "en_NL": "en_150", - "en_NR": "en_001", - "en_NU": "en_001", - "en_NZ": "en_001", - "en_PG": "en_001", - "en_PH": "en_001", - "en_PK": "en_001", - "en_PN": "en_001", - "en_PW": "en_001", - "en_RW": "en_001", - "en_SB": "en_001", - "en_SC": "en_001", - "en_SD": "en_001", - "en_SE": "en_150", - "en_SG": "en_001", - "en_SH": "en_001", - "en_SI": "en_150", - "en_SL": "en_001", - "en_SS": "en_001", - "en_SX": "en_001", - "en_SZ": "en_001", - "en_TC": "en_001", - "en_TK": "en_001", - "en_TO": "en_001", - "en_TT": "en_001", - "en_TV": "en_001", - "en_TZ": "en_001", - "en_UG": "en_001", - "en_VC": "en_001", - "en_VG": "en_001", - "en_VU": "en_001", - "en_WS": "en_001", - "en_ZA": "en_001", - "en_ZM": "en_001", - "en_ZW": "en_001", - "es_AR": "es_419", - "es_BO": "es_419", - "es_BR": "es_419", - "es_BZ": "es_419", - "es_CL": "es_419", - "es_CO": "es_419", - "es_CR": "es_419", - "es_CU": "es_419", - "es_DO": "es_419", - "es_EC": "es_419", - "es_GT": "es_419", - "es_HN": "es_419", - "es_MX": "es_419", - "es_NI": "es_419", - "es_PA": "es_419", - "es_PE": "es_419", - "es_PR": "es_419", - "es_PY": "es_419", - "es_SV": "es_419", - "es_US": "es_419", - "es_UY": "es_419", - "es_VE": "es_419", - "pa_Arab": "root", - "pt_AO": "pt_PT", - "pt_CH": "pt_PT", - "pt_CV": "pt_PT", - "pt_GQ": "pt_PT", - "pt_GW": "pt_PT", - "pt_LU": "pt_PT", - "pt_MO": "pt_PT", - "pt_MZ": "pt_PT", - "pt_ST": "pt_PT", - "pt_TL": "pt_PT", - "sr_Latn": "root", - "uz_Arab": "root", - "uz_Cyrl": "root", - "zh_Hant": "root", - "zh_Hant_MO": "zh_Hant_HK" -} diff --git a/paragonik-backend/vendor/symfony/translation/Resources/schemas/xliff-core-1.2-strict.xsd b/paragonik-backend/vendor/symfony/translation/Resources/schemas/xliff-core-1.2-strict.xsd deleted file mode 100644 index dface62..0000000 --- a/paragonik-backend/vendor/symfony/translation/Resources/schemas/xliff-core-1.2-strict.xsd +++ /dev/null @@ -1,2223 +0,0 @@ - - - - - - - - - - - - - - - Values for the attribute 'context-type'. - - - - - Indicates a database content. - - - - - Indicates the content of an element within an XML document. - - - - - Indicates the name of an element within an XML document. - - - - - Indicates the line number from the sourcefile (see context-type="sourcefile") where the <source> is found. - - - - - Indicates a the number of parameters contained within the <source>. - - - - - Indicates notes pertaining to the parameters in the <source>. - - - - - Indicates the content of a record within a database. - - - - - Indicates the name of a record within a database. - - - - - Indicates the original source file in the case that multiple files are merged to form the original file from which the XLIFF file is created. This differs from the original <file> attribute in that this sourcefile is one of many that make up that file. - - - - - - - Values for the attribute 'count-type'. - - - - - Indicates the count units are items that are used X times in a certain context; example: this is a reusable text unit which is used 42 times in other texts. - - - - - Indicates the count units are translation units existing already in the same document. - - - - - Indicates a total count. - - - - - - - Values for the attribute 'ctype' when used other elements than <ph> or <x>. - - - - - Indicates a run of bolded text. - - - - - Indicates a run of text in italics. - - - - - Indicates a run of underlined text. - - - - - Indicates a run of hyper-text. - - - - - - - Values for the attribute 'ctype' when used with <ph> or <x>. - - - - - Indicates a inline image. - - - - - Indicates a page break. - - - - - Indicates a line break. - - - - - - - - - - - - Values for the attribute 'datatype'. - - - - - Indicates Active Server Page data. - - - - - Indicates C source file data. - - - - - Indicates Channel Definition Format (CDF) data. - - - - - Indicates ColdFusion data. - - - - - Indicates C++ source file data. - - - - - Indicates C-Sharp data. - - - - - Indicates strings from C, ASM, and driver files data. - - - - - Indicates comma-separated values data. - - - - - Indicates database data. - - - - - Indicates portions of document that follows data and contains metadata. - - - - - Indicates portions of document that precedes data and contains metadata. - - - - - Indicates data from standard UI file operations dialogs (e.g., Open, Save, Save As, Export, Import). - - - - - Indicates standard user input screen data. - - - - - Indicates HyperText Markup Language (HTML) data - document instance. - - - - - Indicates content within an HTML document’s <body> element. - - - - - Indicates Windows INI file data. - - - - - Indicates Interleaf data. - - - - - Indicates Java source file data (extension '.java'). - - - - - Indicates Java property resource bundle data. - - - - - Indicates Java list resource bundle data. - - - - - Indicates JavaScript source file data. - - - - - Indicates JScript source file data. - - - - - Indicates information relating to formatting. - - - - - Indicates LISP source file data. - - - - - Indicates information relating to margin formats. - - - - - Indicates a file containing menu. - - - - - Indicates numerically identified string table. - - - - - Indicates Maker Interchange Format (MIF) data. - - - - - Indicates that the datatype attribute value is a MIME Type value and is defined in the mime-type attribute. - - - - - Indicates GNU Machine Object data. - - - - - Indicates Message Librarian strings created by Novell's Message Librarian Tool. - - - - - Indicates information to be displayed at the bottom of each page of a document. - - - - - Indicates information to be displayed at the top of each page of a document. - - - - - Indicates a list of property values (e.g., settings within INI files or preferences dialog). - - - - - Indicates Pascal source file data. - - - - - Indicates Hypertext Preprocessor data. - - - - - Indicates plain text file (no formatting other than, possibly, wrapping). - - - - - Indicates GNU Portable Object file. - - - - - Indicates dynamically generated user defined document. e.g. Oracle Report, Crystal Report, etc. - - - - - Indicates Windows .NET binary resources. - - - - - Indicates Windows .NET Resources. - - - - - Indicates Rich Text Format (RTF) data. - - - - - Indicates Standard Generalized Markup Language (SGML) data - document instance. - - - - - Indicates Standard Generalized Markup Language (SGML) data - Document Type Definition (DTD). - - - - - Indicates Scalable Vector Graphic (SVG) data. - - - - - Indicates VisualBasic Script source file. - - - - - Indicates warning message. - - - - - Indicates Windows (Win32) resources (i.e. resources extracted from an RC script, a message file, or a compiled file). - - - - - Indicates Extensible HyperText Markup Language (XHTML) data - document instance. - - - - - Indicates Extensible Markup Language (XML) data - document instance. - - - - - Indicates Extensible Markup Language (XML) data - Document Type Definition (DTD). - - - - - Indicates Extensible Stylesheet Language (XSL) data. - - - - - Indicates XUL elements. - - - - - - - Values for the attribute 'mtype'. - - - - - Indicates the marked text is an abbreviation. - - - - - ISO-12620 2.1.8: A term resulting from the omission of any part of the full term while designating the same concept. - - - - - ISO-12620 2.1.8.1: An abbreviated form of a simple term resulting from the omission of some of its letters (e.g. 'adj.' for 'adjective'). - - - - - ISO-12620 2.1.8.4: An abbreviated form of a term made up of letters from the full form of a multiword term strung together into a sequence pronounced only syllabically (e.g. 'radar' for 'radio detecting and ranging'). - - - - - ISO-12620: A proper-name term, such as the name of an agency or other proper entity. - - - - - ISO-12620 2.1.18.1: A recurrent word combination characterized by cohesion in that the components of the collocation must co-occur within an utterance or series of utterances, even though they do not necessarily have to maintain immediate proximity to one another. - - - - - ISO-12620 2.1.5: A synonym for an international scientific term that is used in general discourse in a given language. - - - - - Indicates the marked text is a date and/or time. - - - - - ISO-12620 2.1.15: An expression used to represent a concept based on a statement that two mathematical expressions are, for instance, equal as identified by the equal sign (=), or assigned to one another by a similar sign. - - - - - ISO-12620 2.1.7: The complete representation of a term for which there is an abbreviated form. - - - - - ISO-12620 2.1.14: Figures, symbols or the like used to express a concept briefly, such as a mathematical or chemical formula. - - - - - ISO-12620 2.1.1: The concept designation that has been chosen to head a terminological record. - - - - - ISO-12620 2.1.8.3: An abbreviated form of a term consisting of some of the initial letters of the words making up a multiword term or the term elements making up a compound term when these letters are pronounced individually (e.g. 'BSE' for 'bovine spongiform encephalopathy'). - - - - - ISO-12620 2.1.4: A term that is part of an international scientific nomenclature as adopted by an appropriate scientific body. - - - - - ISO-12620 2.1.6: A term that has the same or nearly identical orthographic or phonemic form in many languages. - - - - - ISO-12620 2.1.16: An expression used to represent a concept based on mathematical or logical relations, such as statements of inequality, set relationships, Boolean operations, and the like. - - - - - ISO-12620 2.1.17: A unit to track object. - - - - - Indicates the marked text is a name. - - - - - ISO-12620 2.1.3: A term that represents the same or a very similar concept as another term in the same language, but for which interchangeability is limited to some contexts and inapplicable in others. - - - - - ISO-12620 2.1.17.2: A unique alphanumeric designation assigned to an object in a manufacturing system. - - - - - Indicates the marked text is a phrase. - - - - - ISO-12620 2.1.18: Any group of two or more words that form a unit, the meaning of which frequently cannot be deduced based on the combined sense of the words making up the phrase. - - - - - Indicates the marked text should not be translated. - - - - - ISO-12620 2.1.12: A form of a term resulting from an operation whereby non-Latin writing systems are converted to the Latin alphabet. - - - - - Indicates that the marked text represents a segment. - - - - - ISO-12620 2.1.18.2: A fixed, lexicalized phrase. - - - - - ISO-12620 2.1.8.2: A variant of a multiword term that includes fewer words than the full form of the term (e.g. 'Group of Twenty-four' for 'Intergovernmental Group of Twenty-four on International Monetary Affairs'). - - - - - ISO-12620 2.1.17.1: Stock keeping unit, an inventory item identified by a unique alphanumeric designation assigned to an object in an inventory control system. - - - - - ISO-12620 2.1.19: A fixed chunk of recurring text. - - - - - ISO-12620 2.1.13: A designation of a concept by letters, numerals, pictograms or any combination thereof. - - - - - ISO-12620 2.1.2: Any term that represents the same or a very similar concept as the main entry term in a term entry. - - - - - ISO-12620 2.1.18.3: Phraseological unit in a language that expresses the same semantic content as another phrase in that same language. - - - - - Indicates the marked text is a term. - - - - - ISO-12620 2.1.11: A form of a term resulting from an operation whereby the characters of one writing system are represented by characters from another writing system, taking into account the pronunciation of the characters converted. - - - - - ISO-12620 2.1.10: A form of a term resulting from an operation whereby the characters of an alphabetic writing system are represented by characters from another alphabetic writing system. - - - - - ISO-12620 2.1.8.5: An abbreviated form of a term resulting from the omission of one or more term elements or syllables (e.g. 'flu' for 'influenza'). - - - - - ISO-12620 2.1.9: One of the alternate forms of a term. - - - - - - - Values for the attribute 'restype'. - - - - - Indicates a Windows RC AUTO3STATE control. - - - - - Indicates a Windows RC AUTOCHECKBOX control. - - - - - Indicates a Windows RC AUTORADIOBUTTON control. - - - - - Indicates a Windows RC BEDIT control. - - - - - Indicates a bitmap, for example a BITMAP resource in Windows. - - - - - Indicates a button object, for example a BUTTON control Windows. - - - - - Indicates a caption, such as the caption of a dialog box. - - - - - Indicates the cell in a table, for example the content of the <td> element in HTML. - - - - - Indicates check box object, for example a CHECKBOX control in Windows. - - - - - Indicates a menu item with an associated checkbox. - - - - - Indicates a list box, but with a check-box for each item. - - - - - Indicates a color selection dialog. - - - - - Indicates a combination of edit box and listbox object, for example a COMBOBOX control in Windows. - - - - - Indicates an initialization entry of an extended combobox DLGINIT resource block. (code 0x1234). - - - - - Indicates an initialization entry of a combobox DLGINIT resource block (code 0x0403). - - - - - Indicates a UI base class element that cannot be represented by any other element. - - - - - Indicates a context menu. - - - - - Indicates a Windows RC CTEXT control. - - - - - Indicates a cursor, for example a CURSOR resource in Windows. - - - - - Indicates a date/time picker. - - - - - Indicates a Windows RC DEFPUSHBUTTON control. - - - - - Indicates a dialog box. - - - - - Indicates a Windows RC DLGINIT resource block. - - - - - Indicates an edit box object, for example an EDIT control in Windows. - - - - - Indicates a filename. - - - - - Indicates a file dialog. - - - - - Indicates a footnote. - - - - - Indicates a font name. - - - - - Indicates a footer. - - - - - Indicates a frame object. - - - - - Indicates a XUL grid element. - - - - - Indicates a groupbox object, for example a GROUPBOX control in Windows. - - - - - Indicates a header item. - - - - - Indicates a heading, such has the content of <h1>, <h2>, etc. in HTML. - - - - - Indicates a Windows RC HEDIT control. - - - - - Indicates a horizontal scrollbar. - - - - - Indicates an icon, for example an ICON resource in Windows. - - - - - Indicates a Windows RC IEDIT control. - - - - - Indicates keyword list, such as the content of the Keywords meta-data in HTML, or a K footnote in WinHelp RTF. - - - - - Indicates a label object. - - - - - Indicates a label that is also a HTML link (not necessarily a URL). - - - - - Indicates a list (a group of list-items, for example an <ol> or <ul> element in HTML). - - - - - Indicates a listbox object, for example an LISTBOX control in Windows. - - - - - Indicates an list item (an entry in a list). - - - - - Indicates a Windows RC LTEXT control. - - - - - Indicates a menu (a group of menu-items). - - - - - Indicates a toolbar containing one or more tope level menus. - - - - - Indicates a menu item (an entry in a menu). - - - - - Indicates a XUL menuseparator element. - - - - - Indicates a message, for example an entry in a MESSAGETABLE resource in Windows. - - - - - Indicates a calendar control. - - - - - Indicates an edit box beside a spin control. - - - - - Indicates a catch all for rectangular areas. - - - - - Indicates a standalone menu not necessarily associated with a menubar. - - - - - Indicates a pushbox object, for example a PUSHBOX control in Windows. - - - - - Indicates a Windows RC PUSHBUTTON control. - - - - - Indicates a radio button object. - - - - - Indicates a menuitem with associated radio button. - - - - - Indicates raw data resources for an application. - - - - - Indicates a row in a table. - - - - - Indicates a Windows RC RTEXT control. - - - - - Indicates a user navigable container used to show a portion of a document. - - - - - Indicates a generic divider object (e.g. menu group separator). - - - - - Windows accelerators, shortcuts in resource or property files. - - - - - Indicates a UI control to indicate process activity but not progress. - - - - - Indicates a splitter bar. - - - - - Indicates a Windows RC STATE3 control. - - - - - Indicates a window for providing feedback to the users, like 'read-only', etc. - - - - - Indicates a string, for example an entry in a STRINGTABLE resource in Windows. - - - - - Indicates a layers of controls with a tab to select layers. - - - - - Indicates a display and edits regular two-dimensional tables of cells. - - - - - Indicates a XUL textbox element. - - - - - Indicates a UI button that can be toggled to on or off state. - - - - - Indicates an array of controls, usually buttons. - - - - - Indicates a pop up tool tip text. - - - - - Indicates a bar with a pointer indicating a position within a certain range. - - - - - Indicates a control that displays a set of hierarchical data. - - - - - Indicates a URI (URN or URL). - - - - - Indicates a Windows RC USERBUTTON control. - - - - - Indicates a user-defined control like CONTROL control in Windows. - - - - - Indicates the text of a variable. - - - - - Indicates version information about a resource like VERSIONINFO in Windows. - - - - - Indicates a vertical scrollbar. - - - - - Indicates a graphical window. - - - - - - - Values for the attribute 'size-unit'. - - - - - Indicates a size in 8-bit bytes. - - - - - Indicates a size in Unicode characters. - - - - - Indicates a size in columns. Used for HTML text area. - - - - - Indicates a size in centimeters. - - - - - Indicates a size in dialog units, as defined in Windows resources. - - - - - Indicates a size in 'font-size' units (as defined in CSS). - - - - - Indicates a size in 'x-height' units (as defined in CSS). - - - - - Indicates a size in glyphs. A glyph is considered to be one or more combined Unicode characters that represent a single displayable text character. Sometimes referred to as a 'grapheme cluster' - - - - - Indicates a size in inches. - - - - - Indicates a size in millimeters. - - - - - Indicates a size in percentage. - - - - - Indicates a size in pixels. - - - - - Indicates a size in point. - - - - - Indicates a size in rows. Used for HTML text area. - - - - - - - Values for the attribute 'state'. - - - - - Indicates the terminating state. - - - - - Indicates only non-textual information needs adaptation. - - - - - Indicates both text and non-textual information needs adaptation. - - - - - Indicates only non-textual information needs review. - - - - - Indicates both text and non-textual information needs review. - - - - - Indicates that only the text of the item needs to be reviewed. - - - - - Indicates that the item needs to be translated. - - - - - Indicates that the item is new. For example, translation units that were not in a previous version of the document. - - - - - Indicates that changes are reviewed and approved. - - - - - Indicates that the item has been translated. - - - - - - - Values for the attribute 'state-qualifier'. - - - - - Indicates an exact match. An exact match occurs when a source text of a segment is exactly the same as the source text of a segment that was translated previously. - - - - - Indicates a fuzzy match. A fuzzy match occurs when a source text of a segment is very similar to the source text of a segment that was translated previously (e.g. when the difference is casing, a few changed words, white-space discripancy, etc.). - - - - - Indicates a match based on matching IDs (in addition to matching text). - - - - - Indicates a translation derived from a glossary. - - - - - Indicates a translation derived from existing translation. - - - - - Indicates a translation derived from machine translation. - - - - - Indicates a translation derived from a translation repository. - - - - - Indicates a translation derived from a translation memory. - - - - - Indicates the translation is suggested by machine translation. - - - - - Indicates that the item has been rejected because of incorrect grammar. - - - - - Indicates that the item has been rejected because it is incorrect. - - - - - Indicates that the item has been rejected because it is too long or too short. - - - - - Indicates that the item has been rejected because of incorrect spelling. - - - - - Indicates the translation is suggested by translation memory. - - - - - - - Values for the attribute 'unit'. - - - - - Refers to words. - - - - - Refers to pages. - - - - - Refers to <trans-unit> elements. - - - - - Refers to <bin-unit> elements. - - - - - Refers to glyphs. - - - - - Refers to <trans-unit> and/or <bin-unit> elements. - - - - - Refers to the occurrences of instances defined by the count-type value. - - - - - Refers to characters. - - - - - Refers to lines. - - - - - Refers to sentences. - - - - - Refers to paragraphs. - - - - - Refers to segments. - - - - - Refers to placeables (inline elements). - - - - - - - Values for the attribute 'priority'. - - - - - Highest priority. - - - - - High priority. - - - - - High priority, but not as important as 2. - - - - - High priority, but not as important as 3. - - - - - Medium priority, but more important than 6. - - - - - Medium priority, but less important than 5. - - - - - Low priority, but more important than 8. - - - - - Low priority, but more important than 9. - - - - - Low priority. - - - - - Lowest priority. - - - - - - - - - This value indicates that all properties can be reformatted. This value must be used alone. - - - - - This value indicates that no properties should be reformatted. This value must be used alone. - - - - - - - - - - - - - This value indicates that all information in the coord attribute can be modified. - - - - - This value indicates that the x information in the coord attribute can be modified. - - - - - This value indicates that the y information in the coord attribute can be modified. - - - - - This value indicates that the cx information in the coord attribute can be modified. - - - - - This value indicates that the cy information in the coord attribute can be modified. - - - - - This value indicates that all the information in the font attribute can be modified. - - - - - This value indicates that the name information in the font attribute can be modified. - - - - - This value indicates that the size information in the font attribute can be modified. - - - - - This value indicates that the weight information in the font attribute can be modified. - - - - - This value indicates that the information in the css-style attribute can be modified. - - - - - This value indicates that the information in the style attribute can be modified. - - - - - This value indicates that the information in the exstyle attribute can be modified. - - - - - - - - - - - - - Indicates that the context is informational in nature, specifying for example, how a term should be translated. Thus, should be displayed to anyone editing the XLIFF document. - - - - - Indicates that the context-group is used to specify where the term was found in the translatable source. Thus, it is not displayed. - - - - - Indicates that the context information should be used during translation memory lookups. Thus, it is not displayed. - - - - - - - - - Represents a translation proposal from a translation memory or other resource. - - - - - Represents a previous version of the target element. - - - - - Represents a rejected version of the target element. - - - - - Represents a translation to be used for reference purposes only, for example from a related product or a different language. - - - - - Represents a proposed translation that was used for the translation of the trans-unit, possibly modified. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Values for the attribute 'coord'. - - - - - - - - Version values: 1.0 and 1.1 are allowed for backward compatibility. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/paragonik-backend/vendor/symfony/translation/Resources/schemas/xliff-core-2.0.xsd b/paragonik-backend/vendor/symfony/translation/Resources/schemas/xliff-core-2.0.xsd deleted file mode 100644 index 963232f..0000000 --- a/paragonik-backend/vendor/symfony/translation/Resources/schemas/xliff-core-2.0.xsd +++ /dev/null @@ -1,411 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/paragonik-backend/vendor/symfony/translation/Resources/schemas/xml.xsd b/paragonik-backend/vendor/symfony/translation/Resources/schemas/xml.xsd deleted file mode 100644 index a46162a..0000000 --- a/paragonik-backend/vendor/symfony/translation/Resources/schemas/xml.xsd +++ /dev/null @@ -1,309 +0,0 @@ - - - - - - -
    -

    About the XML namespace

    - -
    -

    - - This schema document describes the XML namespace, in a form - suitable for import by other schema documents. -

    -

    - See - http://www.w3.org/XML/1998/namespace.html and - - http://www.w3.org/TR/REC-xml for information - about this namespace. -

    - -

    - Note that local names in this namespace are intended to be - defined only by the World Wide Web Consortium or its subgroups. - The names currently defined in this namespace are listed below. - They should not be used with conflicting semantics by any Working - Group, specification, or document instance. -

    -

    - See further below in this document for more information about how to refer to this schema document from your own - XSD schema documents and about the - namespace-versioning policy governing this schema document. -

    -
    -
    - -
    -
    - - - - -
    - -

    lang (as an attribute name)

    -

    - - denotes an attribute whose value - is a language code for the natural language of the content of - any element; its value is inherited. This name is reserved - by virtue of its definition in the XML specification.

    - -
    -
    -

    Notes

    -

    - Attempting to install the relevant ISO 2- and 3-letter - codes as the enumerated possible values is probably never - going to be a realistic possibility. -

    -

    - - See BCP 47 at - http://www.rfc-editor.org/rfc/bcp/bcp47.txt - and the IANA language subtag registry at - - http://www.iana.org/assignments/language-subtag-registry - for further information. -

    -

    - - The union allows for the 'un-declaration' of xml:lang with - the empty string. -

    -
    -
    -
    - - - - - - - - - - -
    - - - - - -
    - -

    space (as an attribute name)

    -

    - denotes an attribute whose - value is a keyword indicating what whitespace processing - discipline is intended for the content of the element; its - value is inherited. This name is reserved by virtue of its - definition in the XML specification.

    - -
    -
    -
    - - - - - - - -
    - - - - -
    - -

    base (as an attribute name)

    -

    - denotes an attribute whose value - provides a URI to be used as the base for interpreting any - relative URIs in the scope of the element on which it - appears; its value is inherited. This name is reserved - by virtue of its definition in the XML Base specification.

    - -

    - See http://www.w3.org/TR/xmlbase/ - for information about this attribute. -

    - -
    -
    -
    -
    - - - - -
    - -

    id (as an attribute name)

    -

    - - denotes an attribute whose value - should be interpreted as if declared to be of type ID. - This name is reserved by virtue of its definition in the - xml:id specification.

    - -

    - See http://www.w3.org/TR/xml-id/ - for information about this attribute. -

    -
    -
    -
    - -
    - - - - - - - - - - - -
    - -

    Father (in any context at all)

    - -
    -

    - denotes Jon Bosak, the chair of - the original XML Working Group. This name is reserved by - the following decision of the W3C XML Plenary and - XML Coordination groups: -

    -
    -

    - - In appreciation for his vision, leadership and - dedication the W3C XML Plenary on this 10th day of - February, 2000, reserves for Jon Bosak in perpetuity - the XML name "xml:Father". -

    -
    -
    -
    -
    -
    - - - - -
    -

    About this schema document

    - -
    -

    - This schema defines attributes and an attribute group suitable - for use by schemas wishing to allow xml:base, - xml:lang, xml:space or - xml:id attributes on elements they define. -

    - -

    - To enable this, such a schema must import this schema for - the XML namespace, e.g. as follows: -

    -
    -          <schema.. .>
    -          .. .
    -           <import namespace="http://www.w3.org/XML/1998/namespace"
    -                      schemaLocation="http://www.w3.org/2001/xml.xsd"/>
    -     
    -

    - or -

    -
    -
    -           <import namespace="http://www.w3.org/XML/1998/namespace"
    -                      schemaLocation="http://www.w3.org/2009/01/xml.xsd"/>
    -     
    -

    - Subsequently, qualified reference to any of the attributes or the - group defined below will have the desired effect, e.g. -

    -
    -          <type.. .>
    -          .. .
    -           <attributeGroup ref="xml:specialAttrs"/>
    -     
    -

    - will define a type which will schema-validate an instance element - with any of those attributes. -

    - -
    -
    -
    -
    - - - -
    -

    Versioning policy for this schema document

    - -
    -

    - In keeping with the XML Schema WG's standard versioning - policy, this schema document will persist at - - http://www.w3.org/2009/01/xml.xsd. -

    -

    - At the date of issue it can also be found at - - http://www.w3.org/2001/xml.xsd. -

    - -

    - The schema document at that URI may however change in the future, - in order to remain compatible with the latest version of XML - Schema itself, or with the XML namespace itself. In other words, - if the XML Schema or XML namespaces change, the version of this - document at - http://www.w3.org/2001/xml.xsd - - will change accordingly; the version at - - http://www.w3.org/2009/01/xml.xsd - - will not change. -

    -

    - - Previous dated (and unchanging) versions of this schema - document are at: -

    - -
    -
    -
    -
    - -
    diff --git a/paragonik-backend/vendor/symfony/translation/Translator.php b/paragonik-backend/vendor/symfony/translation/Translator.php deleted file mode 100644 index 4e413da..0000000 --- a/paragonik-backend/vendor/symfony/translation/Translator.php +++ /dev/null @@ -1,533 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation; - -use Symfony\Component\Config\ConfigCacheFactory; -use Symfony\Component\Config\ConfigCacheFactoryInterface; -use Symfony\Component\Config\ConfigCacheInterface; -use Symfony\Component\Translation\Exception\InvalidArgumentException; -use Symfony\Component\Translation\Exception\LogicException; -use Symfony\Component\Translation\Exception\NotFoundResourceException; -use Symfony\Component\Translation\Exception\RuntimeException; -use Symfony\Component\Translation\Formatter\ChoiceMessageFormatterInterface; -use Symfony\Component\Translation\Formatter\IntlFormatterInterface; -use Symfony\Component\Translation\Formatter\MessageFormatter; -use Symfony\Component\Translation\Formatter\MessageFormatterInterface; -use Symfony\Component\Translation\Loader\LoaderInterface; -use Symfony\Component\Translation\TranslatorInterface as LegacyTranslatorInterface; -use Symfony\Contracts\Translation\TranslatorInterface; - -/** - * @author Fabien Potencier - */ -class Translator implements LegacyTranslatorInterface, TranslatorInterface, TranslatorBagInterface -{ - /** - * @var MessageCatalogueInterface[] - */ - protected $catalogues = []; - - /** - * @var string - */ - private $locale; - - /** - * @var array - */ - private $fallbackLocales = []; - - /** - * @var LoaderInterface[] - */ - private $loaders = []; - - /** - * @var array - */ - private $resources = []; - - /** - * @var MessageFormatterInterface - */ - private $formatter; - - /** - * @var string - */ - private $cacheDir; - - /** - * @var bool - */ - private $debug; - - private $cacheVary; - - /** - * @var ConfigCacheFactoryInterface|null - */ - private $configCacheFactory; - - /** - * @var array|null - */ - private $parentLocales; - - private $hasIntlFormatter; - - /** - * @throws InvalidArgumentException If a locale contains invalid characters - */ - public function __construct(?string $locale, MessageFormatterInterface $formatter = null, string $cacheDir = null, bool $debug = false, array $cacheVary = []) - { - if (null === $locale) { - @trigger_error(sprintf('Passing "null" as the $locale argument to %s() is deprecated since Symfony 4.4.', __METHOD__), E_USER_DEPRECATED); - } - - $this->setLocale($locale, false); - - if (null === $formatter) { - $formatter = new MessageFormatter(); - } - - $this->formatter = $formatter; - $this->cacheDir = $cacheDir; - $this->debug = $debug; - $this->cacheVary = $cacheVary; - $this->hasIntlFormatter = $formatter instanceof IntlFormatterInterface; - } - - public function setConfigCacheFactory(ConfigCacheFactoryInterface $configCacheFactory) - { - $this->configCacheFactory = $configCacheFactory; - } - - /** - * Adds a Loader. - * - * @param string $format The name of the loader (@see addResource()) - */ - public function addLoader($format, LoaderInterface $loader) - { - $this->loaders[$format] = $loader; - } - - /** - * Adds a Resource. - * - * @param string $format The name of the loader (@see addLoader()) - * @param mixed $resource The resource name - * @param string $locale The locale - * @param string $domain The domain - * - * @throws InvalidArgumentException If the locale contains invalid characters - */ - public function addResource($format, $resource, $locale, $domain = null) - { - if (null === $domain) { - $domain = 'messages'; - } - - if (null === $locale) { - @trigger_error(sprintf('Passing "null" to the third argument of the "%s" method has been deprecated since Symfony 4.4 and will throw an error in 5.0.', __METHOD__), E_USER_DEPRECATED); - } - - $this->assertValidLocale($locale); - - $this->resources[$locale][] = [$format, $resource, $domain]; - - if (\in_array($locale, $this->fallbackLocales)) { - $this->catalogues = []; - } else { - unset($this->catalogues[$locale]); - } - } - - /** - * {@inheritdoc} - */ - public function setLocale($locale) - { - if (null === $locale && (2 > \func_num_args() || func_get_arg(1))) { - @trigger_error(sprintf('Passing "null" as the $locale argument to %s() is deprecated since Symfony 4.4.', __METHOD__), E_USER_DEPRECATED); - } - - $this->assertValidLocale($locale); - $this->locale = $locale; - } - - /** - * {@inheritdoc} - */ - public function getLocale() - { - return $this->locale; - } - - /** - * Sets the fallback locales. - * - * @param array $locales The fallback locales - * - * @throws InvalidArgumentException If a locale contains invalid characters - */ - public function setFallbackLocales(array $locales) - { - // needed as the fallback locales are linked to the already loaded catalogues - $this->catalogues = []; - - foreach ($locales as $locale) { - if (null === $locale) { - @trigger_error(sprintf('Passing "null" as the $locale argument to %s() is deprecated since Symfony 4.4.', __METHOD__), E_USER_DEPRECATED); - } - $this->assertValidLocale($locale); - } - - $this->fallbackLocales = $this->cacheVary['fallback_locales'] = $locales; - } - - /** - * Gets the fallback locales. - * - * @internal since Symfony 4.2 - * - * @return array The fallback locales - */ - public function getFallbackLocales() - { - return $this->fallbackLocales; - } - - /** - * {@inheritdoc} - */ - public function trans($id, array $parameters = [], $domain = null, $locale = null) - { - if ('' === $id = (string) $id) { - return ''; - } - - if (null === $domain) { - $domain = 'messages'; - } - - $catalogue = $this->getCatalogue($locale); - $locale = $catalogue->getLocale(); - while (!$catalogue->defines($id, $domain)) { - if ($cat = $catalogue->getFallbackCatalogue()) { - $catalogue = $cat; - $locale = $catalogue->getLocale(); - } else { - break; - } - } - - if ($this->hasIntlFormatter && $catalogue->defines($id, $domain.MessageCatalogue::INTL_DOMAIN_SUFFIX)) { - return $this->formatter->formatIntl($catalogue->get($id, $domain), $locale, $parameters); - } - - return $this->formatter->format($catalogue->get($id, $domain), $locale, $parameters); - } - - /** - * {@inheritdoc} - * - * @deprecated since Symfony 4.2, use the trans() method instead with a %count% parameter - */ - public function transChoice($id, $number, array $parameters = [], $domain = null, $locale = null) - { - @trigger_error(sprintf('The "%s()" method is deprecated since Symfony 4.2, use the trans() one instead with a "%%count%%" parameter.', __METHOD__), E_USER_DEPRECATED); - - if ('' === $id = (string) $id) { - return ''; - } - - if (!$this->formatter instanceof ChoiceMessageFormatterInterface) { - throw new LogicException(sprintf('The formatter "%s" does not support plural translations.', \get_class($this->formatter))); - } - - if (null === $domain) { - $domain = 'messages'; - } - - $catalogue = $this->getCatalogue($locale); - $locale = $catalogue->getLocale(); - while (!$catalogue->defines($id, $domain)) { - if ($cat = $catalogue->getFallbackCatalogue()) { - $catalogue = $cat; - $locale = $catalogue->getLocale(); - } else { - break; - } - } - - if ($this->hasIntlFormatter && $catalogue->defines($id, $domain.MessageCatalogue::INTL_DOMAIN_SUFFIX)) { - return $this->formatter->formatIntl($catalogue->get($id, $domain), $locale, ['%count%' => $number] + $parameters); - } - - return $this->formatter->choiceFormat($catalogue->get($id, $domain), $number, $locale, $parameters); - } - - /** - * {@inheritdoc} - */ - public function getCatalogue($locale = null) - { - if (null === $locale) { - $locale = $this->getLocale(); - } else { - $this->assertValidLocale($locale); - } - - if (!isset($this->catalogues[$locale])) { - $this->loadCatalogue($locale); - } - - return $this->catalogues[$locale]; - } - - /** - * Gets the loaders. - * - * @return array LoaderInterface[] - */ - protected function getLoaders() - { - return $this->loaders; - } - - /** - * @param string $locale - */ - protected function loadCatalogue($locale) - { - if (null === $this->cacheDir) { - $this->initializeCatalogue($locale); - } else { - $this->initializeCacheCatalogue($locale); - } - } - - /** - * @param string $locale - */ - protected function initializeCatalogue($locale) - { - $this->assertValidLocale($locale); - - try { - $this->doLoadCatalogue($locale); - } catch (NotFoundResourceException $e) { - if (!$this->computeFallbackLocales($locale)) { - throw $e; - } - } - $this->loadFallbackCatalogues($locale); - } - - private function initializeCacheCatalogue(string $locale): void - { - if (isset($this->catalogues[$locale])) { - /* Catalogue already initialized. */ - return; - } - - $this->assertValidLocale($locale); - $cache = $this->getConfigCacheFactory()->cache($this->getCatalogueCachePath($locale), - function (ConfigCacheInterface $cache) use ($locale) { - $this->dumpCatalogue($locale, $cache); - } - ); - - if (isset($this->catalogues[$locale])) { - /* Catalogue has been initialized as it was written out to cache. */ - return; - } - - /* Read catalogue from cache. */ - $this->catalogues[$locale] = include $cache->getPath(); - } - - private function dumpCatalogue(string $locale, ConfigCacheInterface $cache): void - { - $this->initializeCatalogue($locale); - $fallbackContent = $this->getFallbackContent($this->catalogues[$locale]); - - $content = sprintf(<<getAllMessages($this->catalogues[$locale]), true), - $fallbackContent - ); - - $cache->write($content, $this->catalogues[$locale]->getResources()); - } - - private function getFallbackContent(MessageCatalogue $catalogue): string - { - $fallbackContent = ''; - $current = ''; - $replacementPattern = '/[^a-z0-9_]/i'; - $fallbackCatalogue = $catalogue->getFallbackCatalogue(); - while ($fallbackCatalogue) { - $fallback = $fallbackCatalogue->getLocale(); - $fallbackSuffix = ucfirst(preg_replace($replacementPattern, '_', $fallback)); - $currentSuffix = ucfirst(preg_replace($replacementPattern, '_', $current)); - - $fallbackContent .= sprintf(<<<'EOF' -$catalogue%s = new MessageCatalogue('%s', %s); -$catalogue%s->addFallbackCatalogue($catalogue%s); - -EOF - , - $fallbackSuffix, - $fallback, - var_export($this->getAllMessages($fallbackCatalogue), true), - $currentSuffix, - $fallbackSuffix - ); - $current = $fallbackCatalogue->getLocale(); - $fallbackCatalogue = $fallbackCatalogue->getFallbackCatalogue(); - } - - return $fallbackContent; - } - - private function getCatalogueCachePath(string $locale): string - { - return $this->cacheDir.'/catalogue.'.$locale.'.'.strtr(substr(base64_encode(hash('sha256', serialize($this->cacheVary), true)), 0, 7), '/', '_').'.php'; - } - - /** - * @internal - */ - protected function doLoadCatalogue(string $locale): void - { - $this->catalogues[$locale] = new MessageCatalogue($locale); - - if (isset($this->resources[$locale])) { - foreach ($this->resources[$locale] as $resource) { - if (!isset($this->loaders[$resource[0]])) { - throw new RuntimeException(sprintf('The "%s" translation loader is not registered.', $resource[0])); - } - $this->catalogues[$locale]->addCatalogue($this->loaders[$resource[0]]->load($resource[1], $locale, $resource[2])); - } - } - } - - private function loadFallbackCatalogues(string $locale): void - { - $current = $this->catalogues[$locale]; - - foreach ($this->computeFallbackLocales($locale) as $fallback) { - if (!isset($this->catalogues[$fallback])) { - $this->initializeCatalogue($fallback); - } - - $fallbackCatalogue = new MessageCatalogue($fallback, $this->getAllMessages($this->catalogues[$fallback])); - foreach ($this->catalogues[$fallback]->getResources() as $resource) { - $fallbackCatalogue->addResource($resource); - } - $current->addFallbackCatalogue($fallbackCatalogue); - $current = $fallbackCatalogue; - } - } - - protected function computeFallbackLocales($locale) - { - if (null === $this->parentLocales) { - $parentLocales = json_decode(file_get_contents(__DIR__.'/Resources/data/parents.json'), true); - } - - $locales = []; - foreach ($this->fallbackLocales as $fallback) { - if ($fallback === $locale) { - continue; - } - - $locales[] = $fallback; - } - - while ($locale) { - $parent = $parentLocales[$locale] ?? null; - - if (!$parent && false !== strrchr($locale, '_')) { - $locale = substr($locale, 0, -\strlen(strrchr($locale, '_'))); - } elseif ('root' !== $parent) { - $locale = $parent; - } else { - $locale = null; - } - - if (null !== $locale) { - array_unshift($locales, $locale); - } - } - - return array_unique($locales); - } - - /** - * Asserts that the locale is valid, throws an Exception if not. - * - * @param string $locale Locale to tests - * - * @throws InvalidArgumentException If the locale contains invalid characters - */ - protected function assertValidLocale($locale) - { - if (1 !== preg_match('/^[a-z0-9@_\\.\\-]*$/i', $locale)) { - throw new InvalidArgumentException(sprintf('Invalid "%s" locale.', $locale)); - } - } - - /** - * Provides the ConfigCache factory implementation, falling back to a - * default implementation if necessary. - */ - private function getConfigCacheFactory(): ConfigCacheFactoryInterface - { - if (!$this->configCacheFactory) { - $this->configCacheFactory = new ConfigCacheFactory($this->debug); - } - - return $this->configCacheFactory; - } - - private function getAllMessages(MessageCatalogueInterface $catalogue): array - { - $allMessages = []; - - foreach ($catalogue->all() as $domain => $messages) { - if ($intlMessages = $catalogue->all($domain.MessageCatalogue::INTL_DOMAIN_SUFFIX)) { - $allMessages[$domain.MessageCatalogue::INTL_DOMAIN_SUFFIX] = $intlMessages; - $messages = array_diff_key($messages, $intlMessages); - } - if ($messages) { - $allMessages[$domain] = $messages; - } - } - - return $allMessages; - } -} diff --git a/paragonik-backend/vendor/symfony/translation/TranslatorBagInterface.php b/paragonik-backend/vendor/symfony/translation/TranslatorBagInterface.php deleted file mode 100644 index 5e49e2d..0000000 --- a/paragonik-backend/vendor/symfony/translation/TranslatorBagInterface.php +++ /dev/null @@ -1,33 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation; - -use Symfony\Component\Translation\Exception\InvalidArgumentException; - -/** - * TranslatorBagInterface. - * - * @author Abdellatif Ait boudad - */ -interface TranslatorBagInterface -{ - /** - * Gets the catalogue by locale. - * - * @param string|null $locale The locale or null to use the default - * - * @return MessageCatalogueInterface - * - * @throws InvalidArgumentException If the locale contains invalid characters - */ - public function getCatalogue($locale = null); -} diff --git a/paragonik-backend/vendor/symfony/translation/TranslatorInterface.php b/paragonik-backend/vendor/symfony/translation/TranslatorInterface.php deleted file mode 100644 index f677d24..0000000 --- a/paragonik-backend/vendor/symfony/translation/TranslatorInterface.php +++ /dev/null @@ -1,70 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation; - -use Symfony\Component\Translation\Exception\InvalidArgumentException; -use Symfony\Contracts\Translation\LocaleAwareInterface; - -/** - * TranslatorInterface. - * - * @author Fabien Potencier - * - * @deprecated since Symfony 4.2, use Symfony\Contracts\Translation\TranslatorInterface instead - */ -interface TranslatorInterface extends LocaleAwareInterface -{ - /** - * Translates the given message. - * - * @param string $id The message id (may also be an object that can be cast to string) - * @param array $parameters An array of parameters for the message - * @param string|null $domain The domain for the message or null to use the default - * @param string|null $locale The locale or null to use the default - * - * @return string The translated string - * - * @throws InvalidArgumentException If the locale contains invalid characters - */ - public function trans($id, array $parameters = [], $domain = null, $locale = null); - - /** - * Translates the given choice message by choosing a translation according to a number. - * - * @param string $id The message id (may also be an object that can be cast to string) - * @param int $number The number to use to find the index of the message - * @param array $parameters An array of parameters for the message - * @param string|null $domain The domain for the message or null to use the default - * @param string|null $locale The locale or null to use the default - * - * @return string The translated string - * - * @throws InvalidArgumentException If the locale contains invalid characters - */ - public function transChoice($id, $number, array $parameters = [], $domain = null, $locale = null); - - /** - * Sets the current locale. - * - * @param string $locale The locale - * - * @throws InvalidArgumentException If the locale contains invalid characters - */ - public function setLocale($locale); - - /** - * Returns the current locale. - * - * @return string The locale - */ - public function getLocale(); -} diff --git a/paragonik-backend/vendor/symfony/translation/Util/ArrayConverter.php b/paragonik-backend/vendor/symfony/translation/Util/ArrayConverter.php deleted file mode 100644 index 22c602e..0000000 --- a/paragonik-backend/vendor/symfony/translation/Util/ArrayConverter.php +++ /dev/null @@ -1,99 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Util; - -/** - * ArrayConverter generates tree like structure from a message catalogue. - * e.g. this - * 'foo.bar1' => 'test1', - * 'foo.bar2' => 'test2' - * converts to follows: - * foo: - * bar1: test1 - * bar2: test2. - * - * @author Gennady Telegin - */ -class ArrayConverter -{ - /** - * Converts linear messages array to tree-like array. - * For example this array('foo.bar' => 'value') will be converted to ['foo' => ['bar' => 'value']]. - * - * @param array $messages Linear messages array - * - * @return array Tree-like messages array - */ - public static function expandToTree(array $messages) - { - $tree = []; - - foreach ($messages as $id => $value) { - $referenceToElement = &self::getElementByPath($tree, explode('.', $id)); - - $referenceToElement = $value; - - unset($referenceToElement); - } - - return $tree; - } - - private static function &getElementByPath(array &$tree, array $parts) - { - $elem = &$tree; - $parentOfElem = null; - - foreach ($parts as $i => $part) { - if (isset($elem[$part]) && \is_string($elem[$part])) { - /* Process next case: - * 'foo': 'test1', - * 'foo.bar': 'test2' - * - * $tree['foo'] was string before we found array {bar: test2}. - * Treat new element as string too, e.g. add $tree['foo.bar'] = 'test2'; - */ - $elem = &$elem[implode('.', \array_slice($parts, $i))]; - break; - } - $parentOfElem = &$elem; - $elem = &$elem[$part]; - } - - if ($elem && \is_array($elem) && $parentOfElem) { - /* Process next case: - * 'foo.bar': 'test1' - * 'foo': 'test2' - * - * $tree['foo'] was array = {bar: 'test1'} before we found string constant `foo`. - * Cancel treating $tree['foo'] as array and cancel back it expansion, - * e.g. make it $tree['foo.bar'] = 'test1' again. - */ - self::cancelExpand($parentOfElem, $part, $elem); - } - - return $elem; - } - - private static function cancelExpand(array &$tree, $prefix, array $node) - { - $prefix .= '.'; - - foreach ($node as $id => $value) { - if (\is_string($value)) { - $tree[$prefix.$id] = $value; - } else { - self::cancelExpand($tree, $prefix.$id, $value); - } - } - } -} diff --git a/paragonik-backend/vendor/symfony/translation/Util/XliffUtils.php b/paragonik-backend/vendor/symfony/translation/Util/XliffUtils.php deleted file mode 100644 index 3ace285..0000000 --- a/paragonik-backend/vendor/symfony/translation/Util/XliffUtils.php +++ /dev/null @@ -1,163 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Util; - -use Symfony\Component\Translation\Exception\InvalidArgumentException; -use Symfony\Component\Translation\Exception\InvalidResourceException; - -/** - * Provides some utility methods for XLIFF translation files, such as validating - * their contents according to the XSD schema. - * - * @author Fabien Potencier - */ -class XliffUtils -{ - /** - * Gets xliff file version based on the root "version" attribute. - * - * Defaults to 1.2 for backwards compatibility. - * - * @throws InvalidArgumentException - */ - public static function getVersionNumber(\DOMDocument $dom): string - { - /** @var \DOMNode $xliff */ - foreach ($dom->getElementsByTagName('xliff') as $xliff) { - $version = $xliff->attributes->getNamedItem('version'); - if ($version) { - return $version->nodeValue; - } - - $namespace = $xliff->attributes->getNamedItem('xmlns'); - if ($namespace) { - if (0 !== substr_compare('urn:oasis:names:tc:xliff:document:', $namespace->nodeValue, 0, 34)) { - throw new InvalidArgumentException(sprintf('Not a valid XLIFF namespace "%s"', $namespace)); - } - - return substr($namespace, 34); - } - } - - // Falls back to v1.2 - return '1.2'; - } - - /** - * Validates and parses the given file into a DOMDocument. - * - * @throws InvalidResourceException - */ - public static function validateSchema(\DOMDocument $dom): array - { - $xliffVersion = static::getVersionNumber($dom); - $internalErrors = libxml_use_internal_errors(true); - $disableEntities = libxml_disable_entity_loader(false); - - $isValid = @$dom->schemaValidateSource(self::getSchema($xliffVersion)); - if (!$isValid) { - libxml_disable_entity_loader($disableEntities); - - return self::getXmlErrors($internalErrors); - } - - libxml_disable_entity_loader($disableEntities); - - $dom->normalizeDocument(); - - libxml_clear_errors(); - libxml_use_internal_errors($internalErrors); - - return []; - } - - public static function getErrorsAsString(array $xmlErrors): string - { - $errorsAsString = ''; - - foreach ($xmlErrors as $error) { - $errorsAsString .= sprintf("[%s %s] %s (in %s - line %d, column %d)\n", - LIBXML_ERR_WARNING === $error['level'] ? 'WARNING' : 'ERROR', - $error['code'], - $error['message'], - $error['file'], - $error['line'], - $error['column'] - ); - } - - return $errorsAsString; - } - - private static function getSchema(string $xliffVersion): string - { - if ('1.2' === $xliffVersion) { - $schemaSource = file_get_contents(__DIR__.'/../Resources/schemas/xliff-core-1.2-strict.xsd'); - $xmlUri = 'http://www.w3.org/2001/xml.xsd'; - } elseif ('2.0' === $xliffVersion) { - $schemaSource = file_get_contents(__DIR__.'/../Resources/schemas/xliff-core-2.0.xsd'); - $xmlUri = 'informativeCopiesOf3rdPartySchemas/w3c/xml.xsd'; - } else { - throw new InvalidArgumentException(sprintf('No support implemented for loading XLIFF version "%s".', $xliffVersion)); - } - - return self::fixXmlLocation($schemaSource, $xmlUri); - } - - /** - * Internally changes the URI of a dependent xsd to be loaded locally. - */ - private static function fixXmlLocation(string $schemaSource, string $xmlUri): string - { - $newPath = str_replace('\\', '/', __DIR__).'/../Resources/schemas/xml.xsd'; - $parts = explode('/', $newPath); - $locationstart = 'file:///'; - if (0 === stripos($newPath, 'phar://')) { - $tmpfile = tempnam(sys_get_temp_dir(), 'symfony'); - if ($tmpfile) { - copy($newPath, $tmpfile); - $parts = explode('/', str_replace('\\', '/', $tmpfile)); - } else { - array_shift($parts); - $locationstart = 'phar:///'; - } - } - - $drive = '\\' === \DIRECTORY_SEPARATOR ? array_shift($parts).'/' : ''; - $newPath = $locationstart.$drive.implode('/', array_map('rawurlencode', $parts)); - - return str_replace($xmlUri, $newPath, $schemaSource); - } - - /** - * Returns the XML errors of the internal XML parser. - */ - private static function getXmlErrors(bool $internalErrors): array - { - $errors = []; - foreach (libxml_get_errors() as $error) { - $errors[] = [ - 'level' => LIBXML_ERR_WARNING == $error->level ? 'WARNING' : 'ERROR', - 'code' => $error->code, - 'message' => trim($error->message), - 'file' => $error->file ?: 'n/a', - 'line' => $error->line, - 'column' => $error->column, - ]; - } - - libxml_clear_errors(); - libxml_use_internal_errors($internalErrors); - - return $errors; - } -} diff --git a/paragonik-backend/vendor/symfony/translation/Writer/TranslationWriter.php b/paragonik-backend/vendor/symfony/translation/Writer/TranslationWriter.php deleted file mode 100644 index d402443..0000000 --- a/paragonik-backend/vendor/symfony/translation/Writer/TranslationWriter.php +++ /dev/null @@ -1,88 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Writer; - -use Symfony\Component\Translation\Dumper\DumperInterface; -use Symfony\Component\Translation\Exception\InvalidArgumentException; -use Symfony\Component\Translation\Exception\RuntimeException; -use Symfony\Component\Translation\MessageCatalogue; - -/** - * TranslationWriter writes translation messages. - * - * @author Michel Salib - */ -class TranslationWriter implements TranslationWriterInterface -{ - private $dumpers = []; - - /** - * Adds a dumper to the writer. - * - * @param string $format The format of the dumper - */ - public function addDumper($format, DumperInterface $dumper) - { - $this->dumpers[$format] = $dumper; - } - - /** - * Disables dumper backup. - * - * @deprecated since Symfony 4.1 - */ - public function disableBackup() - { - @trigger_error(sprintf('The "%s()" method is deprecated since Symfony 4.1.', __METHOD__), E_USER_DEPRECATED); - - foreach ($this->dumpers as $dumper) { - if (method_exists($dumper, 'setBackup')) { - $dumper->setBackup(false); - } - } - } - - /** - * Obtains the list of supported formats. - * - * @return array - */ - public function getFormats() - { - return array_keys($this->dumpers); - } - - /** - * Writes translation from the catalogue according to the selected format. - * - * @param string $format The format to use to dump the messages - * @param array $options Options that are passed to the dumper - * - * @throws InvalidArgumentException - */ - public function write(MessageCatalogue $catalogue, $format, $options = []) - { - if (!isset($this->dumpers[$format])) { - throw new InvalidArgumentException(sprintf('There is no dumper associated with format "%s".', $format)); - } - - // get the right dumper - $dumper = $this->dumpers[$format]; - - if (isset($options['path']) && !is_dir($options['path']) && !@mkdir($options['path'], 0777, true) && !is_dir($options['path'])) { - throw new RuntimeException(sprintf('Translation Writer was not able to create directory "%s"', $options['path'])); - } - - // save - $dumper->dump($catalogue, $options); - } -} diff --git a/paragonik-backend/vendor/symfony/translation/Writer/TranslationWriterInterface.php b/paragonik-backend/vendor/symfony/translation/Writer/TranslationWriterInterface.php deleted file mode 100644 index f7c56be..0000000 --- a/paragonik-backend/vendor/symfony/translation/Writer/TranslationWriterInterface.php +++ /dev/null @@ -1,33 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Translation\Writer; - -use Symfony\Component\Translation\Exception\InvalidArgumentException; -use Symfony\Component\Translation\MessageCatalogue; - -/** - * TranslationWriter writes translation messages. - * - * @author Michel Salib - */ -interface TranslationWriterInterface -{ - /** - * Writes translation from the catalogue according to the selected format. - * - * @param string $format The format to use to dump the messages - * @param array $options Options that are passed to the dumper - * - * @throws InvalidArgumentException - */ - public function write(MessageCatalogue $catalogue, $format, $options = []); -} diff --git a/paragonik-backend/vendor/symfony/translation/composer.json b/paragonik-backend/vendor/symfony/translation/composer.json deleted file mode 100644 index 5b01b6d..0000000 --- a/paragonik-backend/vendor/symfony/translation/composer.json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "name": "symfony/translation", - "type": "library", - "description": "Symfony Translation Component", - "keywords": [], - "homepage": "https://symfony.com", - "license": "MIT", - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "require": { - "php": "^7.1.3", - "symfony/polyfill-mbstring": "~1.0", - "symfony/translation-contracts": "^1.1.6|^2" - }, - "require-dev": { - "symfony/config": "^3.4|^4.0|^5.0", - "symfony/console": "^3.4|^4.0|^5.0", - "symfony/dependency-injection": "^3.4|^4.0|^5.0", - "symfony/http-kernel": "^4.4", - "symfony/intl": "^3.4|^4.0|^5.0", - "symfony/service-contracts": "^1.1.2|^2", - "symfony/yaml": "^3.4|^4.0|^5.0", - "symfony/finder": "~2.8|~3.0|~4.0|^5.0", - "psr/log": "~1.0" - }, - "conflict": { - "symfony/config": "<3.4", - "symfony/dependency-injection": "<3.4", - "symfony/http-kernel": "<4.4", - "symfony/yaml": "<3.4" - }, - "provide": { - "symfony/translation-implementation": "1.0" - }, - "suggest": { - "symfony/config": "", - "symfony/yaml": "", - "psr/log-implementation": "To use logging capability in translator" - }, - "autoload": { - "psr-4": { "Symfony\\Component\\Translation\\": "" }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "minimum-stability": "dev", - "extra": { - "branch-alias": { - "dev-master": "4.4-dev" - } - } -} diff --git a/paragonik-backend/vendor/symfony/var-dumper/.gitattributes b/paragonik-backend/vendor/symfony/var-dumper/.gitattributes deleted file mode 100644 index ebb9287..0000000 --- a/paragonik-backend/vendor/symfony/var-dumper/.gitattributes +++ /dev/null @@ -1,3 +0,0 @@ -/Tests export-ignore -/phpunit.xml.dist export-ignore -/.gitignore export-ignore diff --git a/paragonik-backend/vendor/symfony/var-dumper/CHANGELOG.md b/paragonik-backend/vendor/symfony/var-dumper/CHANGELOG.md deleted file mode 100644 index 94b1c17..0000000 --- a/paragonik-backend/vendor/symfony/var-dumper/CHANGELOG.md +++ /dev/null @@ -1,53 +0,0 @@ -CHANGELOG -========= - -4.4.0 ------ - - * added `VarDumperTestTrait::setUpVarDumper()` and `VarDumperTestTrait::tearDownVarDumper()` - to configure casters & flags to use in tests - * added `ImagineCaster` and infrastructure to dump images - * added the stamps of a message after it is dispatched in `TraceableMessageBus` and `MessengerDataCollector` collected data - * added `UuidCaster` - * made all casters final - * added support for the `NO_COLOR` env var (https://no-color.org/) - -4.3.0 ------ - - * added `DsCaster` to support dumping the contents of data structures from the Ds extension - -4.2.0 ------ - - * support selecting the format to use by setting the environment variable `VAR_DUMPER_FORMAT` to `html` or `cli` - -4.1.0 ------ - - * added a `ServerDumper` to send serialized Data clones to a server - * added a `ServerDumpCommand` and `DumpServer` to run a server collecting - and displaying dumps on a single place with multiple formats support - * added `CliDescriptor` and `HtmlDescriptor` descriptors for `server:dump` CLI and HTML formats support - -4.0.0 ------ - - * support for passing `\ReflectionClass` instances to the `Caster::castObject()` - method has been dropped, pass class names as strings instead - * the `Data::getRawData()` method has been removed - * the `VarDumperTestTrait::assertDumpEquals()` method expects a 3rd `$filter = 0` - argument and moves `$message = ''` argument at 4th position. - * the `VarDumperTestTrait::assertDumpMatchesFormat()` method expects a 3rd `$filter = 0` - argument and moves `$message = ''` argument at 4th position. - -3.4.0 ------ - - * added `AbstractCloner::setMinDepth()` function to ensure minimum tree depth - * deprecated `MongoCaster` - -2.7.0 ------ - - * deprecated `Cloner\Data::getLimitedClone()`. Use `withMaxDepth`, `withMaxItemsPerDepth` or `withRefHandles` instead. diff --git a/paragonik-backend/vendor/symfony/var-dumper/Caster/AmqpCaster.php b/paragonik-backend/vendor/symfony/var-dumper/Caster/AmqpCaster.php deleted file mode 100644 index 1c6a42c..0000000 --- a/paragonik-backend/vendor/symfony/var-dumper/Caster/AmqpCaster.php +++ /dev/null @@ -1,212 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\VarDumper\Caster; - -use Symfony\Component\VarDumper\Cloner\Stub; - -/** - * Casts Amqp related classes to array representation. - * - * @author Grégoire Pineau - * - * @final since Symfony 4.4 - */ -class AmqpCaster -{ - private static $flags = [ - AMQP_DURABLE => 'AMQP_DURABLE', - AMQP_PASSIVE => 'AMQP_PASSIVE', - AMQP_EXCLUSIVE => 'AMQP_EXCLUSIVE', - AMQP_AUTODELETE => 'AMQP_AUTODELETE', - AMQP_INTERNAL => 'AMQP_INTERNAL', - AMQP_NOLOCAL => 'AMQP_NOLOCAL', - AMQP_AUTOACK => 'AMQP_AUTOACK', - AMQP_IFEMPTY => 'AMQP_IFEMPTY', - AMQP_IFUNUSED => 'AMQP_IFUNUSED', - AMQP_MANDATORY => 'AMQP_MANDATORY', - AMQP_IMMEDIATE => 'AMQP_IMMEDIATE', - AMQP_MULTIPLE => 'AMQP_MULTIPLE', - AMQP_NOWAIT => 'AMQP_NOWAIT', - AMQP_REQUEUE => 'AMQP_REQUEUE', - ]; - - private static $exchangeTypes = [ - AMQP_EX_TYPE_DIRECT => 'AMQP_EX_TYPE_DIRECT', - AMQP_EX_TYPE_FANOUT => 'AMQP_EX_TYPE_FANOUT', - AMQP_EX_TYPE_TOPIC => 'AMQP_EX_TYPE_TOPIC', - AMQP_EX_TYPE_HEADERS => 'AMQP_EX_TYPE_HEADERS', - ]; - - public static function castConnection(\AMQPConnection $c, array $a, Stub $stub, $isNested) - { - $prefix = Caster::PREFIX_VIRTUAL; - - $a += [ - $prefix.'is_connected' => $c->isConnected(), - ]; - - // Recent version of the extension already expose private properties - if (isset($a["\x00AMQPConnection\x00login"])) { - return $a; - } - - // BC layer in the amqp lib - if (method_exists($c, 'getReadTimeout')) { - $timeout = $c->getReadTimeout(); - } else { - $timeout = $c->getTimeout(); - } - - $a += [ - $prefix.'is_connected' => $c->isConnected(), - $prefix.'login' => $c->getLogin(), - $prefix.'password' => $c->getPassword(), - $prefix.'host' => $c->getHost(), - $prefix.'vhost' => $c->getVhost(), - $prefix.'port' => $c->getPort(), - $prefix.'read_timeout' => $timeout, - ]; - - return $a; - } - - public static function castChannel(\AMQPChannel $c, array $a, Stub $stub, $isNested) - { - $prefix = Caster::PREFIX_VIRTUAL; - - $a += [ - $prefix.'is_connected' => $c->isConnected(), - $prefix.'channel_id' => $c->getChannelId(), - ]; - - // Recent version of the extension already expose private properties - if (isset($a["\x00AMQPChannel\x00connection"])) { - return $a; - } - - $a += [ - $prefix.'connection' => $c->getConnection(), - $prefix.'prefetch_size' => $c->getPrefetchSize(), - $prefix.'prefetch_count' => $c->getPrefetchCount(), - ]; - - return $a; - } - - public static function castQueue(\AMQPQueue $c, array $a, Stub $stub, $isNested) - { - $prefix = Caster::PREFIX_VIRTUAL; - - $a += [ - $prefix.'flags' => self::extractFlags($c->getFlags()), - ]; - - // Recent version of the extension already expose private properties - if (isset($a["\x00AMQPQueue\x00name"])) { - return $a; - } - - $a += [ - $prefix.'connection' => $c->getConnection(), - $prefix.'channel' => $c->getChannel(), - $prefix.'name' => $c->getName(), - $prefix.'arguments' => $c->getArguments(), - ]; - - return $a; - } - - public static function castExchange(\AMQPExchange $c, array $a, Stub $stub, $isNested) - { - $prefix = Caster::PREFIX_VIRTUAL; - - $a += [ - $prefix.'flags' => self::extractFlags($c->getFlags()), - ]; - - $type = isset(self::$exchangeTypes[$c->getType()]) ? new ConstStub(self::$exchangeTypes[$c->getType()], $c->getType()) : $c->getType(); - - // Recent version of the extension already expose private properties - if (isset($a["\x00AMQPExchange\x00name"])) { - $a["\x00AMQPExchange\x00type"] = $type; - - return $a; - } - - $a += [ - $prefix.'connection' => $c->getConnection(), - $prefix.'channel' => $c->getChannel(), - $prefix.'name' => $c->getName(), - $prefix.'type' => $type, - $prefix.'arguments' => $c->getArguments(), - ]; - - return $a; - } - - public static function castEnvelope(\AMQPEnvelope $c, array $a, Stub $stub, $isNested, $filter = 0) - { - $prefix = Caster::PREFIX_VIRTUAL; - - $deliveryMode = new ConstStub($c->getDeliveryMode().(2 === $c->getDeliveryMode() ? ' (persistent)' : ' (non-persistent)'), $c->getDeliveryMode()); - - // Recent version of the extension already expose private properties - if (isset($a["\x00AMQPEnvelope\x00body"])) { - $a["\0AMQPEnvelope\0delivery_mode"] = $deliveryMode; - - return $a; - } - - if (!($filter & Caster::EXCLUDE_VERBOSE)) { - $a += [$prefix.'body' => $c->getBody()]; - } - - $a += [ - $prefix.'delivery_tag' => $c->getDeliveryTag(), - $prefix.'is_redelivery' => $c->isRedelivery(), - $prefix.'exchange_name' => $c->getExchangeName(), - $prefix.'routing_key' => $c->getRoutingKey(), - $prefix.'content_type' => $c->getContentType(), - $prefix.'content_encoding' => $c->getContentEncoding(), - $prefix.'headers' => $c->getHeaders(), - $prefix.'delivery_mode' => $deliveryMode, - $prefix.'priority' => $c->getPriority(), - $prefix.'correlation_id' => $c->getCorrelationId(), - $prefix.'reply_to' => $c->getReplyTo(), - $prefix.'expiration' => $c->getExpiration(), - $prefix.'message_id' => $c->getMessageId(), - $prefix.'timestamp' => $c->getTimeStamp(), - $prefix.'type' => $c->getType(), - $prefix.'user_id' => $c->getUserId(), - $prefix.'app_id' => $c->getAppId(), - ]; - - return $a; - } - - private static function extractFlags(int $flags): ConstStub - { - $flagsArray = []; - - foreach (self::$flags as $value => $name) { - if ($flags & $value) { - $flagsArray[] = $name; - } - } - - if (!$flagsArray) { - $flagsArray = ['AMQP_NOPARAM']; - } - - return new ConstStub(implode('|', $flagsArray), $flags); - } -} diff --git a/paragonik-backend/vendor/symfony/var-dumper/Caster/ArgsStub.php b/paragonik-backend/vendor/symfony/var-dumper/Caster/ArgsStub.php deleted file mode 100644 index 591c7e2..0000000 --- a/paragonik-backend/vendor/symfony/var-dumper/Caster/ArgsStub.php +++ /dev/null @@ -1,80 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\VarDumper\Caster; - -use Symfony\Component\VarDumper\Cloner\Stub; - -/** - * Represents a list of function arguments. - * - * @author Nicolas Grekas - */ -class ArgsStub extends EnumStub -{ - private static $parameters = []; - - public function __construct(array $args, string $function, ?string $class) - { - list($variadic, $params) = self::getParameters($function, $class); - - $values = []; - foreach ($args as $k => $v) { - $values[$k] = !is_scalar($v) && !$v instanceof Stub ? new CutStub($v) : $v; - } - if (null === $params) { - parent::__construct($values, false); - - return; - } - if (\count($values) < \count($params)) { - $params = \array_slice($params, 0, \count($values)); - } elseif (\count($values) > \count($params)) { - $values[] = new EnumStub(array_splice($values, \count($params)), false); - $params[] = $variadic; - } - if (['...'] === $params) { - $this->dumpKeys = false; - $this->value = $values[0]->value; - } else { - $this->value = array_combine($params, $values); - } - } - - private static function getParameters(string $function, ?string $class): array - { - if (isset(self::$parameters[$k = $class.'::'.$function])) { - return self::$parameters[$k]; - } - - try { - $r = null !== $class ? new \ReflectionMethod($class, $function) : new \ReflectionFunction($function); - } catch (\ReflectionException $e) { - return [null, null]; - } - - $variadic = '...'; - $params = []; - foreach ($r->getParameters() as $v) { - $k = '$'.$v->name; - if ($v->isPassedByReference()) { - $k = '&'.$k; - } - if ($v->isVariadic()) { - $variadic .= $k; - } else { - $params[] = $k; - } - } - - return self::$parameters[$k] = [$variadic, $params]; - } -} diff --git a/paragonik-backend/vendor/symfony/var-dumper/Caster/Caster.php b/paragonik-backend/vendor/symfony/var-dumper/Caster/Caster.php deleted file mode 100644 index fd22804..0000000 --- a/paragonik-backend/vendor/symfony/var-dumper/Caster/Caster.php +++ /dev/null @@ -1,162 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\VarDumper\Caster; - -use Symfony\Component\VarDumper\Cloner\Stub; - -/** - * Helper for filtering out properties in casters. - * - * @author Nicolas Grekas - * - * @final - */ -class Caster -{ - const EXCLUDE_VERBOSE = 1; - const EXCLUDE_VIRTUAL = 2; - const EXCLUDE_DYNAMIC = 4; - const EXCLUDE_PUBLIC = 8; - const EXCLUDE_PROTECTED = 16; - const EXCLUDE_PRIVATE = 32; - const EXCLUDE_NULL = 64; - const EXCLUDE_EMPTY = 128; - const EXCLUDE_NOT_IMPORTANT = 256; - const EXCLUDE_STRICT = 512; - - const PREFIX_VIRTUAL = "\0~\0"; - const PREFIX_DYNAMIC = "\0+\0"; - const PREFIX_PROTECTED = "\0*\0"; - - /** - * Casts objects to arrays and adds the dynamic property prefix. - * - * @param object $obj The object to cast - * @param bool $hasDebugInfo Whether the __debugInfo method exists on $obj or not - * - * @return array The array-cast of the object, with prefixed dynamic properties - */ - public static function castObject($obj, string $class, bool $hasDebugInfo = false): array - { - $a = $obj instanceof \Closure ? [] : (array) $obj; - - if ($obj instanceof \__PHP_Incomplete_Class) { - return $a; - } - - if ($a) { - static $publicProperties = []; - - $i = 0; - $prefixedKeys = []; - foreach ($a as $k => $v) { - if (isset($k[0]) ? "\0" !== $k[0] : \PHP_VERSION_ID >= 70200) { - if (!isset($publicProperties[$class])) { - foreach ((new \ReflectionClass($class))->getProperties(\ReflectionProperty::IS_PUBLIC) as $prop) { - $publicProperties[$class][$prop->name] = true; - } - } - if (!isset($publicProperties[$class][$k])) { - $prefixedKeys[$i] = self::PREFIX_DYNAMIC.$k; - } - } elseif (isset($k[16]) && "\0" === $k[16] && 0 === strpos($k, "\0class@anonymous\0")) { - $prefixedKeys[$i] = "\0".get_parent_class($class).'@anonymous'.strrchr($k, "\0"); - } - ++$i; - } - if ($prefixedKeys) { - $keys = array_keys($a); - foreach ($prefixedKeys as $i => $k) { - $keys[$i] = $k; - } - $a = array_combine($keys, $a); - } - } - - if ($hasDebugInfo && \is_array($debugInfo = $obj->__debugInfo())) { - foreach ($debugInfo as $k => $v) { - if (!isset($k[0]) || "\0" !== $k[0]) { - $k = self::PREFIX_VIRTUAL.$k; - } - - unset($a[$k]); - $a[$k] = $v; - } - } - - return $a; - } - - /** - * Filters out the specified properties. - * - * By default, a single match in the $filter bit field filters properties out, following an "or" logic. - * When EXCLUDE_STRICT is set, an "and" logic is applied: all bits must match for a property to be removed. - * - * @param array $a The array containing the properties to filter - * @param int $filter A bit field of Caster::EXCLUDE_* constants specifying which properties to filter out - * @param string[] $listedProperties List of properties to exclude when Caster::EXCLUDE_VERBOSE is set, and to preserve when Caster::EXCLUDE_NOT_IMPORTANT is set - * @param int &$count Set to the number of removed properties - * - * @return array The filtered array - */ - public static function filter(array $a, int $filter, array $listedProperties = [], ?int &$count = 0): array - { - $count = 0; - - foreach ($a as $k => $v) { - $type = self::EXCLUDE_STRICT & $filter; - - if (null === $v) { - $type |= self::EXCLUDE_NULL & $filter; - $type |= self::EXCLUDE_EMPTY & $filter; - } elseif (false === $v || '' === $v || '0' === $v || 0 === $v || 0.0 === $v || [] === $v) { - $type |= self::EXCLUDE_EMPTY & $filter; - } - if ((self::EXCLUDE_NOT_IMPORTANT & $filter) && !\in_array($k, $listedProperties, true)) { - $type |= self::EXCLUDE_NOT_IMPORTANT; - } - if ((self::EXCLUDE_VERBOSE & $filter) && \in_array($k, $listedProperties, true)) { - $type |= self::EXCLUDE_VERBOSE; - } - - if (!isset($k[1]) || "\0" !== $k[0]) { - $type |= self::EXCLUDE_PUBLIC & $filter; - } elseif ('~' === $k[1]) { - $type |= self::EXCLUDE_VIRTUAL & $filter; - } elseif ('+' === $k[1]) { - $type |= self::EXCLUDE_DYNAMIC & $filter; - } elseif ('*' === $k[1]) { - $type |= self::EXCLUDE_PROTECTED & $filter; - } else { - $type |= self::EXCLUDE_PRIVATE & $filter; - } - - if ((self::EXCLUDE_STRICT & $filter) ? $type === $filter : $type) { - unset($a[$k]); - ++$count; - } - } - - return $a; - } - - public static function castPhpIncompleteClass(\__PHP_Incomplete_Class $c, array $a, Stub $stub, bool $isNested): array - { - if (isset($a['__PHP_Incomplete_Class_Name'])) { - $stub->class .= '('.$a['__PHP_Incomplete_Class_Name'].')'; - unset($a['__PHP_Incomplete_Class_Name']); - } - - return $a; - } -} diff --git a/paragonik-backend/vendor/symfony/var-dumper/Caster/ClassStub.php b/paragonik-backend/vendor/symfony/var-dumper/Caster/ClassStub.php deleted file mode 100644 index b6c4545..0000000 --- a/paragonik-backend/vendor/symfony/var-dumper/Caster/ClassStub.php +++ /dev/null @@ -1,106 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\VarDumper\Caster; - -use Symfony\Component\VarDumper\Cloner\Stub; - -/** - * Represents a PHP class identifier. - * - * @author Nicolas Grekas - */ -class ClassStub extends ConstStub -{ - /** - * @param string $identifier A PHP identifier, e.g. a class, method, interface, etc. name - * @param callable $callable The callable targeted by the identifier when it is ambiguous or not a real PHP identifier - */ - public function __construct(string $identifier, $callable = null) - { - $this->value = $identifier; - - try { - if (null !== $callable) { - if ($callable instanceof \Closure) { - $r = new \ReflectionFunction($callable); - } elseif (\is_object($callable)) { - $r = [$callable, '__invoke']; - } elseif (\is_array($callable)) { - $r = $callable; - } elseif (false !== $i = strpos($callable, '::')) { - $r = [substr($callable, 0, $i), substr($callable, 2 + $i)]; - } else { - $r = new \ReflectionFunction($callable); - } - } elseif (0 < $i = strpos($identifier, '::') ?: strpos($identifier, '->')) { - $r = [substr($identifier, 0, $i), substr($identifier, 2 + $i)]; - } else { - $r = new \ReflectionClass($identifier); - } - - if (\is_array($r)) { - try { - $r = new \ReflectionMethod($r[0], $r[1]); - } catch (\ReflectionException $e) { - $r = new \ReflectionClass($r[0]); - } - } - - if (false !== strpos($identifier, "class@anonymous\0")) { - $this->value = $identifier = preg_replace_callback('/class@anonymous\x00.*?\.php0x?[0-9a-fA-F]++/', function ($m) { - return class_exists($m[0], false) ? get_parent_class($m[0]).'@anonymous' : $m[0]; - }, $identifier); - } - - if (null !== $callable && $r instanceof \ReflectionFunctionAbstract) { - $s = ReflectionCaster::castFunctionAbstract($r, [], new Stub(), true, Caster::EXCLUDE_VERBOSE); - $s = ReflectionCaster::getSignature($s); - - if ('()' === substr($identifier, -2)) { - $this->value = substr_replace($identifier, $s, -2); - } else { - $this->value .= $s; - } - } - } catch (\ReflectionException $e) { - return; - } finally { - if (0 < $i = strrpos($this->value, '\\')) { - $this->attr['ellipsis'] = \strlen($this->value) - $i; - $this->attr['ellipsis-type'] = 'class'; - $this->attr['ellipsis-tail'] = 1; - } - } - - if ($f = $r->getFileName()) { - $this->attr['file'] = $f; - $this->attr['line'] = $r->getStartLine(); - } - } - - public static function wrapCallable($callable) - { - if (\is_object($callable) || !\is_callable($callable)) { - return $callable; - } - - if (!\is_array($callable)) { - $callable = new static($callable, $callable); - } elseif (\is_string($callable[0])) { - $callable[0] = new static($callable[0], $callable); - } else { - $callable[1] = new static($callable[1], $callable); - } - - return $callable; - } -} diff --git a/paragonik-backend/vendor/symfony/var-dumper/Caster/ConstStub.php b/paragonik-backend/vendor/symfony/var-dumper/Caster/ConstStub.php deleted file mode 100644 index 8b01797..0000000 --- a/paragonik-backend/vendor/symfony/var-dumper/Caster/ConstStub.php +++ /dev/null @@ -1,36 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\VarDumper\Caster; - -use Symfony\Component\VarDumper\Cloner\Stub; - -/** - * Represents a PHP constant and its value. - * - * @author Nicolas Grekas - */ -class ConstStub extends Stub -{ - public function __construct(string $name, $value = null) - { - $this->class = $name; - $this->value = 1 < \func_num_args() ? $value : $name; - } - - /** - * @return string - */ - public function __toString() - { - return (string) $this->value; - } -} diff --git a/paragonik-backend/vendor/symfony/var-dumper/Caster/CutArrayStub.php b/paragonik-backend/vendor/symfony/var-dumper/Caster/CutArrayStub.php deleted file mode 100644 index 0e4fb36..0000000 --- a/paragonik-backend/vendor/symfony/var-dumper/Caster/CutArrayStub.php +++ /dev/null @@ -1,30 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\VarDumper\Caster; - -/** - * Represents a cut array. - * - * @author Nicolas Grekas - */ -class CutArrayStub extends CutStub -{ - public $preservedSubset; - - public function __construct(array $value, array $preservedKeys) - { - parent::__construct($value); - - $this->preservedSubset = array_intersect_key($value, array_flip($preservedKeys)); - $this->cut -= \count($this->preservedSubset); - } -} diff --git a/paragonik-backend/vendor/symfony/var-dumper/Caster/CutStub.php b/paragonik-backend/vendor/symfony/var-dumper/Caster/CutStub.php deleted file mode 100644 index 464c6db..0000000 --- a/paragonik-backend/vendor/symfony/var-dumper/Caster/CutStub.php +++ /dev/null @@ -1,64 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\VarDumper\Caster; - -use Symfony\Component\VarDumper\Cloner\Stub; - -/** - * Represents the main properties of a PHP variable, pre-casted by a caster. - * - * @author Nicolas Grekas - */ -class CutStub extends Stub -{ - public function __construct($value) - { - $this->value = $value; - - switch (\gettype($value)) { - case 'object': - $this->type = self::TYPE_OBJECT; - $this->class = \get_class($value); - - if ($value instanceof \Closure) { - ReflectionCaster::castClosure($value, [], $this, true, Caster::EXCLUDE_VERBOSE); - } - - $this->cut = -1; - break; - - case 'array': - $this->type = self::TYPE_ARRAY; - $this->class = self::ARRAY_ASSOC; - $this->cut = $this->value = \count($value); - break; - - case 'resource': - case 'unknown type': - case 'resource (closed)': - $this->type = self::TYPE_RESOURCE; - $this->handle = (int) $value; - if ('Unknown' === $this->class = @get_resource_type($value)) { - $this->class = 'Closed'; - } - $this->cut = -1; - break; - - case 'string': - $this->type = self::TYPE_STRING; - $this->class = preg_match('//u', $value) ? self::STRING_UTF8 : self::STRING_BINARY; - $this->cut = self::STRING_BINARY === $this->class ? \strlen($value) : mb_strlen($value, 'UTF-8'); - $this->value = ''; - break; - } - } -} diff --git a/paragonik-backend/vendor/symfony/var-dumper/Caster/DOMCaster.php b/paragonik-backend/vendor/symfony/var-dumper/Caster/DOMCaster.php deleted file mode 100644 index 41e52d6..0000000 --- a/paragonik-backend/vendor/symfony/var-dumper/Caster/DOMCaster.php +++ /dev/null @@ -1,304 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\VarDumper\Caster; - -use Symfony\Component\VarDumper\Cloner\Stub; - -/** - * Casts DOM related classes to array representation. - * - * @author Nicolas Grekas - * - * @final since Symfony 4.4 - */ -class DOMCaster -{ - private static $errorCodes = [ - DOM_PHP_ERR => 'DOM_PHP_ERR', - DOM_INDEX_SIZE_ERR => 'DOM_INDEX_SIZE_ERR', - DOMSTRING_SIZE_ERR => 'DOMSTRING_SIZE_ERR', - DOM_HIERARCHY_REQUEST_ERR => 'DOM_HIERARCHY_REQUEST_ERR', - DOM_WRONG_DOCUMENT_ERR => 'DOM_WRONG_DOCUMENT_ERR', - DOM_INVALID_CHARACTER_ERR => 'DOM_INVALID_CHARACTER_ERR', - DOM_NO_DATA_ALLOWED_ERR => 'DOM_NO_DATA_ALLOWED_ERR', - DOM_NO_MODIFICATION_ALLOWED_ERR => 'DOM_NO_MODIFICATION_ALLOWED_ERR', - DOM_NOT_FOUND_ERR => 'DOM_NOT_FOUND_ERR', - DOM_NOT_SUPPORTED_ERR => 'DOM_NOT_SUPPORTED_ERR', - DOM_INUSE_ATTRIBUTE_ERR => 'DOM_INUSE_ATTRIBUTE_ERR', - DOM_INVALID_STATE_ERR => 'DOM_INVALID_STATE_ERR', - DOM_SYNTAX_ERR => 'DOM_SYNTAX_ERR', - DOM_INVALID_MODIFICATION_ERR => 'DOM_INVALID_MODIFICATION_ERR', - DOM_NAMESPACE_ERR => 'DOM_NAMESPACE_ERR', - DOM_INVALID_ACCESS_ERR => 'DOM_INVALID_ACCESS_ERR', - DOM_VALIDATION_ERR => 'DOM_VALIDATION_ERR', - ]; - - private static $nodeTypes = [ - XML_ELEMENT_NODE => 'XML_ELEMENT_NODE', - XML_ATTRIBUTE_NODE => 'XML_ATTRIBUTE_NODE', - XML_TEXT_NODE => 'XML_TEXT_NODE', - XML_CDATA_SECTION_NODE => 'XML_CDATA_SECTION_NODE', - XML_ENTITY_REF_NODE => 'XML_ENTITY_REF_NODE', - XML_ENTITY_NODE => 'XML_ENTITY_NODE', - XML_PI_NODE => 'XML_PI_NODE', - XML_COMMENT_NODE => 'XML_COMMENT_NODE', - XML_DOCUMENT_NODE => 'XML_DOCUMENT_NODE', - XML_DOCUMENT_TYPE_NODE => 'XML_DOCUMENT_TYPE_NODE', - XML_DOCUMENT_FRAG_NODE => 'XML_DOCUMENT_FRAG_NODE', - XML_NOTATION_NODE => 'XML_NOTATION_NODE', - XML_HTML_DOCUMENT_NODE => 'XML_HTML_DOCUMENT_NODE', - XML_DTD_NODE => 'XML_DTD_NODE', - XML_ELEMENT_DECL_NODE => 'XML_ELEMENT_DECL_NODE', - XML_ATTRIBUTE_DECL_NODE => 'XML_ATTRIBUTE_DECL_NODE', - XML_ENTITY_DECL_NODE => 'XML_ENTITY_DECL_NODE', - XML_NAMESPACE_DECL_NODE => 'XML_NAMESPACE_DECL_NODE', - ]; - - public static function castException(\DOMException $e, array $a, Stub $stub, $isNested) - { - $k = Caster::PREFIX_PROTECTED.'code'; - if (isset($a[$k], self::$errorCodes[$a[$k]])) { - $a[$k] = new ConstStub(self::$errorCodes[$a[$k]], $a[$k]); - } - - return $a; - } - - public static function castLength($dom, array $a, Stub $stub, $isNested) - { - $a += [ - 'length' => $dom->length, - ]; - - return $a; - } - - public static function castImplementation($dom, array $a, Stub $stub, $isNested) - { - $a += [ - Caster::PREFIX_VIRTUAL.'Core' => '1.0', - Caster::PREFIX_VIRTUAL.'XML' => '2.0', - ]; - - return $a; - } - - public static function castNode(\DOMNode $dom, array $a, Stub $stub, $isNested) - { - $a += [ - 'nodeName' => $dom->nodeName, - 'nodeValue' => new CutStub($dom->nodeValue), - 'nodeType' => new ConstStub(self::$nodeTypes[$dom->nodeType], $dom->nodeType), - 'parentNode' => new CutStub($dom->parentNode), - 'childNodes' => $dom->childNodes, - 'firstChild' => new CutStub($dom->firstChild), - 'lastChild' => new CutStub($dom->lastChild), - 'previousSibling' => new CutStub($dom->previousSibling), - 'nextSibling' => new CutStub($dom->nextSibling), - 'attributes' => $dom->attributes, - 'ownerDocument' => new CutStub($dom->ownerDocument), - 'namespaceURI' => $dom->namespaceURI, - 'prefix' => $dom->prefix, - 'localName' => $dom->localName, - 'baseURI' => $dom->baseURI ? new LinkStub($dom->baseURI) : $dom->baseURI, - 'textContent' => new CutStub($dom->textContent), - ]; - - return $a; - } - - public static function castNameSpaceNode(\DOMNameSpaceNode $dom, array $a, Stub $stub, $isNested) - { - $a += [ - 'nodeName' => $dom->nodeName, - 'nodeValue' => new CutStub($dom->nodeValue), - 'nodeType' => new ConstStub(self::$nodeTypes[$dom->nodeType], $dom->nodeType), - 'prefix' => $dom->prefix, - 'localName' => $dom->localName, - 'namespaceURI' => $dom->namespaceURI, - 'ownerDocument' => new CutStub($dom->ownerDocument), - 'parentNode' => new CutStub($dom->parentNode), - ]; - - return $a; - } - - public static function castDocument(\DOMDocument $dom, array $a, Stub $stub, $isNested, $filter = 0) - { - $a += [ - 'doctype' => $dom->doctype, - 'implementation' => $dom->implementation, - 'documentElement' => new CutStub($dom->documentElement), - 'actualEncoding' => $dom->actualEncoding, - 'encoding' => $dom->encoding, - 'xmlEncoding' => $dom->xmlEncoding, - 'standalone' => $dom->standalone, - 'xmlStandalone' => $dom->xmlStandalone, - 'version' => $dom->version, - 'xmlVersion' => $dom->xmlVersion, - 'strictErrorChecking' => $dom->strictErrorChecking, - 'documentURI' => $dom->documentURI ? new LinkStub($dom->documentURI) : $dom->documentURI, - 'config' => $dom->config, - 'formatOutput' => $dom->formatOutput, - 'validateOnParse' => $dom->validateOnParse, - 'resolveExternals' => $dom->resolveExternals, - 'preserveWhiteSpace' => $dom->preserveWhiteSpace, - 'recover' => $dom->recover, - 'substituteEntities' => $dom->substituteEntities, - ]; - - if (!($filter & Caster::EXCLUDE_VERBOSE)) { - $formatOutput = $dom->formatOutput; - $dom->formatOutput = true; - $a += [Caster::PREFIX_VIRTUAL.'xml' => $dom->saveXML()]; - $dom->formatOutput = $formatOutput; - } - - return $a; - } - - public static function castCharacterData(\DOMCharacterData $dom, array $a, Stub $stub, $isNested) - { - $a += [ - 'data' => $dom->data, - 'length' => $dom->length, - ]; - - return $a; - } - - public static function castAttr(\DOMAttr $dom, array $a, Stub $stub, $isNested) - { - $a += [ - 'name' => $dom->name, - 'specified' => $dom->specified, - 'value' => $dom->value, - 'ownerElement' => $dom->ownerElement, - 'schemaTypeInfo' => $dom->schemaTypeInfo, - ]; - - return $a; - } - - public static function castElement(\DOMElement $dom, array $a, Stub $stub, $isNested) - { - $a += [ - 'tagName' => $dom->tagName, - 'schemaTypeInfo' => $dom->schemaTypeInfo, - ]; - - return $a; - } - - public static function castText(\DOMText $dom, array $a, Stub $stub, $isNested) - { - $a += [ - 'wholeText' => $dom->wholeText, - ]; - - return $a; - } - - public static function castTypeinfo(\DOMTypeinfo $dom, array $a, Stub $stub, $isNested) - { - $a += [ - 'typeName' => $dom->typeName, - 'typeNamespace' => $dom->typeNamespace, - ]; - - return $a; - } - - public static function castDomError(\DOMDomError $dom, array $a, Stub $stub, $isNested) - { - $a += [ - 'severity' => $dom->severity, - 'message' => $dom->message, - 'type' => $dom->type, - 'relatedException' => $dom->relatedException, - 'related_data' => $dom->related_data, - 'location' => $dom->location, - ]; - - return $a; - } - - public static function castLocator(\DOMLocator $dom, array $a, Stub $stub, $isNested) - { - $a += [ - 'lineNumber' => $dom->lineNumber, - 'columnNumber' => $dom->columnNumber, - 'offset' => $dom->offset, - 'relatedNode' => $dom->relatedNode, - 'uri' => $dom->uri ? new LinkStub($dom->uri, $dom->lineNumber) : $dom->uri, - ]; - - return $a; - } - - public static function castDocumentType(\DOMDocumentType $dom, array $a, Stub $stub, $isNested) - { - $a += [ - 'name' => $dom->name, - 'entities' => $dom->entities, - 'notations' => $dom->notations, - 'publicId' => $dom->publicId, - 'systemId' => $dom->systemId, - 'internalSubset' => $dom->internalSubset, - ]; - - return $a; - } - - public static function castNotation(\DOMNotation $dom, array $a, Stub $stub, $isNested) - { - $a += [ - 'publicId' => $dom->publicId, - 'systemId' => $dom->systemId, - ]; - - return $a; - } - - public static function castEntity(\DOMEntity $dom, array $a, Stub $stub, $isNested) - { - $a += [ - 'publicId' => $dom->publicId, - 'systemId' => $dom->systemId, - 'notationName' => $dom->notationName, - 'actualEncoding' => $dom->actualEncoding, - 'encoding' => $dom->encoding, - 'version' => $dom->version, - ]; - - return $a; - } - - public static function castProcessingInstruction(\DOMProcessingInstruction $dom, array $a, Stub $stub, $isNested) - { - $a += [ - 'target' => $dom->target, - 'data' => $dom->data, - ]; - - return $a; - } - - public static function castXPath(\DOMXPath $dom, array $a, Stub $stub, $isNested) - { - $a += [ - 'document' => $dom->document, - ]; - - return $a; - } -} diff --git a/paragonik-backend/vendor/symfony/var-dumper/Caster/DateCaster.php b/paragonik-backend/vendor/symfony/var-dumper/Caster/DateCaster.php deleted file mode 100644 index 2692517..0000000 --- a/paragonik-backend/vendor/symfony/var-dumper/Caster/DateCaster.php +++ /dev/null @@ -1,124 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\VarDumper\Caster; - -use Symfony\Component\VarDumper\Cloner\Stub; - -/** - * Casts DateTimeInterface related classes to array representation. - * - * @author Dany Maillard - * - * @final since Symfony 4.4 - */ -class DateCaster -{ - private const PERIOD_LIMIT = 3; - - public static function castDateTime(\DateTimeInterface $d, array $a, Stub $stub, $isNested, $filter) - { - $prefix = Caster::PREFIX_VIRTUAL; - $location = $d->getTimezone()->getLocation(); - $fromNow = (new \DateTime())->diff($d); - - $title = $d->format('l, F j, Y') - ."\n".self::formatInterval($fromNow).' from now' - .($location ? ($d->format('I') ? "\nDST On" : "\nDST Off") : '') - ; - - $a = []; - $a[$prefix.'date'] = new ConstStub(self::formatDateTime($d, $location ? ' e (P)' : ' P'), $title); - - $stub->class .= $d->format(' @U'); - - return $a; - } - - public static function castInterval(\DateInterval $interval, array $a, Stub $stub, $isNested, $filter) - { - $now = new \DateTimeImmutable(); - $numberOfSeconds = $now->add($interval)->getTimestamp() - $now->getTimestamp(); - $title = number_format($numberOfSeconds, 0, '.', ' ').'s'; - - $i = [Caster::PREFIX_VIRTUAL.'interval' => new ConstStub(self::formatInterval($interval), $title)]; - - return $filter & Caster::EXCLUDE_VERBOSE ? $i : $i + $a; - } - - private static function formatInterval(\DateInterval $i): string - { - $format = '%R '; - - if (0 === $i->y && 0 === $i->m && ($i->h >= 24 || $i->i >= 60 || $i->s >= 60)) { - $i = date_diff($d = new \DateTime(), date_add(clone $d, $i)); // recalculate carry over points - $format .= 0 < $i->days ? '%ad ' : ''; - } else { - $format .= ($i->y ? '%yy ' : '').($i->m ? '%mm ' : '').($i->d ? '%dd ' : ''); - } - - $format .= $i->h || $i->i || $i->s || $i->f ? '%H:%I:'.self::formatSeconds($i->s, substr($i->f, 2)) : ''; - $format = '%R ' === $format ? '0s' : $format; - - return $i->format(rtrim($format)); - } - - public static function castTimeZone(\DateTimeZone $timeZone, array $a, Stub $stub, $isNested, $filter) - { - $location = $timeZone->getLocation(); - $formatted = (new \DateTime('now', $timeZone))->format($location ? 'e (P)' : 'P'); - $title = $location && \extension_loaded('intl') ? \Locale::getDisplayRegion('-'.$location['country_code']) : ''; - - $z = [Caster::PREFIX_VIRTUAL.'timezone' => new ConstStub($formatted, $title)]; - - return $filter & Caster::EXCLUDE_VERBOSE ? $z : $z + $a; - } - - public static function castPeriod(\DatePeriod $p, array $a, Stub $stub, $isNested, $filter) - { - $dates = []; - if (\PHP_VERSION_ID >= 70107) { // see https://bugs.php.net/74639 - foreach (clone $p as $i => $d) { - if (self::PERIOD_LIMIT === $i) { - $now = new \DateTimeImmutable(); - $dates[] = sprintf('%s more', ($end = $p->getEndDate()) - ? ceil(($end->format('U.u') - $d->format('U.u')) / ((int) $now->add($p->getDateInterval())->format('U.u') - (int) $now->format('U.u'))) - : $p->recurrences - $i - ); - break; - } - $dates[] = sprintf('%s) %s', $i + 1, self::formatDateTime($d)); - } - } - - $period = sprintf( - 'every %s, from %s (%s) %s', - self::formatInterval($p->getDateInterval()), - self::formatDateTime($p->getStartDate()), - $p->include_start_date ? 'included' : 'excluded', - ($end = $p->getEndDate()) ? 'to '.self::formatDateTime($end) : 'recurring '.$p->recurrences.' time/s' - ); - - $p = [Caster::PREFIX_VIRTUAL.'period' => new ConstStub($period, implode("\n", $dates))]; - - return $filter & Caster::EXCLUDE_VERBOSE ? $p : $p + $a; - } - - private static function formatDateTime(\DateTimeInterface $d, string $extra = ''): string - { - return $d->format('Y-m-d H:i:'.self::formatSeconds($d->format('s'), $d->format('u')).$extra); - } - - private static function formatSeconds(string $s, string $us): string - { - return sprintf('%02d.%s', $s, 0 === ($len = \strlen($t = rtrim($us, '0'))) ? '0' : ($len <= 3 ? str_pad($t, 3, '0') : $us)); - } -} diff --git a/paragonik-backend/vendor/symfony/var-dumper/Caster/DoctrineCaster.php b/paragonik-backend/vendor/symfony/var-dumper/Caster/DoctrineCaster.php deleted file mode 100644 index 7409508..0000000 --- a/paragonik-backend/vendor/symfony/var-dumper/Caster/DoctrineCaster.php +++ /dev/null @@ -1,62 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\VarDumper\Caster; - -use Doctrine\Common\Proxy\Proxy as CommonProxy; -use Doctrine\ORM\PersistentCollection; -use Doctrine\ORM\Proxy\Proxy as OrmProxy; -use Symfony\Component\VarDumper\Cloner\Stub; - -/** - * Casts Doctrine related classes to array representation. - * - * @author Nicolas Grekas - * - * @final since Symfony 4.4 - */ -class DoctrineCaster -{ - public static function castCommonProxy(CommonProxy $proxy, array $a, Stub $stub, $isNested) - { - foreach (['__cloner__', '__initializer__'] as $k) { - if (\array_key_exists($k, $a)) { - unset($a[$k]); - ++$stub->cut; - } - } - - return $a; - } - - public static function castOrmProxy(OrmProxy $proxy, array $a, Stub $stub, $isNested) - { - foreach (['_entityPersister', '_identifier'] as $k) { - if (\array_key_exists($k = "\0Doctrine\\ORM\\Proxy\\Proxy\0".$k, $a)) { - unset($a[$k]); - ++$stub->cut; - } - } - - return $a; - } - - public static function castPersistentCollection(PersistentCollection $coll, array $a, Stub $stub, $isNested) - { - foreach (['snapshot', 'association', 'typeClass'] as $k) { - if (\array_key_exists($k = "\0Doctrine\\ORM\\PersistentCollection\0".$k, $a)) { - $a[$k] = new CutStub($a[$k]); - } - } - - return $a; - } -} diff --git a/paragonik-backend/vendor/symfony/var-dumper/Caster/DsCaster.php b/paragonik-backend/vendor/symfony/var-dumper/Caster/DsCaster.php deleted file mode 100644 index 11423c9..0000000 --- a/paragonik-backend/vendor/symfony/var-dumper/Caster/DsCaster.php +++ /dev/null @@ -1,70 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\VarDumper\Caster; - -use Ds\Collection; -use Ds\Map; -use Ds\Pair; -use Symfony\Component\VarDumper\Cloner\Stub; - -/** - * Casts Ds extension classes to array representation. - * - * @author Jáchym Toušek - * - * @final since Symfony 4.4 - */ -class DsCaster -{ - public static function castCollection(Collection $c, array $a, Stub $stub, bool $isNested): array - { - $a[Caster::PREFIX_VIRTUAL.'count'] = $c->count(); - $a[Caster::PREFIX_VIRTUAL.'capacity'] = $c->capacity(); - - if (!$c instanceof Map) { - $a += $c->toArray(); - } - - return $a; - } - - public static function castMap(Map $c, array $a, Stub $stub, bool $isNested): array - { - foreach ($c as $k => $v) { - $a[] = new DsPairStub($k, $v); - } - - return $a; - } - - public static function castPair(Pair $c, array $a, Stub $stub, bool $isNested): array - { - foreach ($c->toArray() as $k => $v) { - $a[Caster::PREFIX_VIRTUAL.$k] = $v; - } - - return $a; - } - - public static function castPairStub(DsPairStub $c, array $a, Stub $stub, bool $isNested): array - { - if ($isNested) { - $stub->class = Pair::class; - $stub->value = null; - $stub->handle = 0; - - $a = $c->value; - } - - return $a; - } -} diff --git a/paragonik-backend/vendor/symfony/var-dumper/Caster/DsPairStub.php b/paragonik-backend/vendor/symfony/var-dumper/Caster/DsPairStub.php deleted file mode 100644 index a1dcc15..0000000 --- a/paragonik-backend/vendor/symfony/var-dumper/Caster/DsPairStub.php +++ /dev/null @@ -1,28 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\VarDumper\Caster; - -use Symfony\Component\VarDumper\Cloner\Stub; - -/** - * @author Nicolas Grekas - */ -class DsPairStub extends Stub -{ - public function __construct($key, $value) - { - $this->value = [ - Caster::PREFIX_VIRTUAL.'key' => $key, - Caster::PREFIX_VIRTUAL.'value' => $value, - ]; - } -} diff --git a/paragonik-backend/vendor/symfony/var-dumper/Caster/EnumStub.php b/paragonik-backend/vendor/symfony/var-dumper/Caster/EnumStub.php deleted file mode 100644 index 7a4e98a..0000000 --- a/paragonik-backend/vendor/symfony/var-dumper/Caster/EnumStub.php +++ /dev/null @@ -1,30 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\VarDumper\Caster; - -use Symfony\Component\VarDumper\Cloner\Stub; - -/** - * Represents an enumeration of values. - * - * @author Nicolas Grekas - */ -class EnumStub extends Stub -{ - public $dumpKeys = true; - - public function __construct(array $values, bool $dumpKeys = true) - { - $this->value = $values; - $this->dumpKeys = $dumpKeys; - } -} diff --git a/paragonik-backend/vendor/symfony/var-dumper/Caster/ExceptionCaster.php b/paragonik-backend/vendor/symfony/var-dumper/Caster/ExceptionCaster.php deleted file mode 100644 index 2f7b407..0000000 --- a/paragonik-backend/vendor/symfony/var-dumper/Caster/ExceptionCaster.php +++ /dev/null @@ -1,383 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\VarDumper\Caster; - -use Symfony\Component\ErrorHandler\Exception\SilencedErrorContext; -use Symfony\Component\VarDumper\Cloner\Stub; -use Symfony\Component\VarDumper\Exception\ThrowingCasterException; - -/** - * Casts common Exception classes to array representation. - * - * @author Nicolas Grekas - * - * @final since Symfony 4.4 - */ -class ExceptionCaster -{ - public static $srcContext = 1; - public static $traceArgs = true; - public static $errorTypes = [ - E_DEPRECATED => 'E_DEPRECATED', - E_USER_DEPRECATED => 'E_USER_DEPRECATED', - E_RECOVERABLE_ERROR => 'E_RECOVERABLE_ERROR', - E_ERROR => 'E_ERROR', - E_WARNING => 'E_WARNING', - E_PARSE => 'E_PARSE', - E_NOTICE => 'E_NOTICE', - E_CORE_ERROR => 'E_CORE_ERROR', - E_CORE_WARNING => 'E_CORE_WARNING', - E_COMPILE_ERROR => 'E_COMPILE_ERROR', - E_COMPILE_WARNING => 'E_COMPILE_WARNING', - E_USER_ERROR => 'E_USER_ERROR', - E_USER_WARNING => 'E_USER_WARNING', - E_USER_NOTICE => 'E_USER_NOTICE', - E_STRICT => 'E_STRICT', - ]; - - private static $framesCache = []; - - public static function castError(\Error $e, array $a, Stub $stub, $isNested, $filter = 0) - { - return self::filterExceptionArray($stub->class, $a, "\0Error\0", $filter); - } - - public static function castException(\Exception $e, array $a, Stub $stub, $isNested, $filter = 0) - { - return self::filterExceptionArray($stub->class, $a, "\0Exception\0", $filter); - } - - public static function castErrorException(\ErrorException $e, array $a, Stub $stub, $isNested) - { - if (isset($a[$s = Caster::PREFIX_PROTECTED.'severity'], self::$errorTypes[$a[$s]])) { - $a[$s] = new ConstStub(self::$errorTypes[$a[$s]], $a[$s]); - } - - return $a; - } - - public static function castThrowingCasterException(ThrowingCasterException $e, array $a, Stub $stub, $isNested) - { - $trace = Caster::PREFIX_VIRTUAL.'trace'; - $prefix = Caster::PREFIX_PROTECTED; - $xPrefix = "\0Exception\0"; - - if (isset($a[$xPrefix.'previous'], $a[$trace]) && $a[$xPrefix.'previous'] instanceof \Exception) { - $b = (array) $a[$xPrefix.'previous']; - $class = \get_class($a[$xPrefix.'previous']); - $class = 'c' === $class[0] && 0 === strpos($class, "class@anonymous\0") ? get_parent_class($class).'@anonymous' : $class; - self::traceUnshift($b[$xPrefix.'trace'], $class, $b[$prefix.'file'], $b[$prefix.'line']); - $a[$trace] = new TraceStub($b[$xPrefix.'trace'], false, 0, -\count($a[$trace]->value)); - } - - unset($a[$xPrefix.'previous'], $a[$prefix.'code'], $a[$prefix.'file'], $a[$prefix.'line']); - - return $a; - } - - public static function castSilencedErrorContext(SilencedErrorContext $e, array $a, Stub $stub, $isNested) - { - $sPrefix = "\0".SilencedErrorContext::class."\0"; - - if (!isset($a[$s = $sPrefix.'severity'])) { - return $a; - } - - if (isset(self::$errorTypes[$a[$s]])) { - $a[$s] = new ConstStub(self::$errorTypes[$a[$s]], $a[$s]); - } - - $trace = [[ - 'file' => $a[$sPrefix.'file'], - 'line' => $a[$sPrefix.'line'], - ]]; - - if (isset($a[$sPrefix.'trace'])) { - $trace = array_merge($trace, $a[$sPrefix.'trace']); - } - - unset($a[$sPrefix.'file'], $a[$sPrefix.'line'], $a[$sPrefix.'trace']); - $a[Caster::PREFIX_VIRTUAL.'trace'] = new TraceStub($trace, self::$traceArgs); - - return $a; - } - - public static function castTraceStub(TraceStub $trace, array $a, Stub $stub, $isNested) - { - if (!$isNested) { - return $a; - } - $stub->class = ''; - $stub->handle = 0; - $frames = $trace->value; - $prefix = Caster::PREFIX_VIRTUAL; - - $a = []; - $j = \count($frames); - if (0 > $i = $trace->sliceOffset) { - $i = max(0, $j + $i); - } - if (!isset($trace->value[$i])) { - return []; - } - $lastCall = isset($frames[$i]['function']) ? (isset($frames[$i]['class']) ? $frames[0]['class'].$frames[$i]['type'] : '').$frames[$i]['function'].'()' : ''; - $frames[] = ['function' => '']; - $collapse = false; - - for ($j += $trace->numberingOffset - $i++; isset($frames[$i]); ++$i, --$j) { - $f = $frames[$i]; - $call = isset($f['function']) ? (isset($f['class']) ? $f['class'].$f['type'] : '').$f['function'] : '???'; - - $frame = new FrameStub( - [ - 'object' => isset($f['object']) ? $f['object'] : null, - 'class' => isset($f['class']) ? $f['class'] : null, - 'type' => isset($f['type']) ? $f['type'] : null, - 'function' => isset($f['function']) ? $f['function'] : null, - ] + $frames[$i - 1], - false, - true - ); - $f = self::castFrameStub($frame, [], $frame, true); - if (isset($f[$prefix.'src'])) { - foreach ($f[$prefix.'src']->value as $label => $frame) { - if (0 === strpos($label, "\0~collapse=0")) { - if ($collapse) { - $label = substr_replace($label, '1', 11, 1); - } else { - $collapse = true; - } - } - $label = substr_replace($label, "title=Stack level $j.&", 2, 0); - } - $f = $frames[$i - 1]; - if ($trace->keepArgs && !empty($f['args']) && $frame instanceof EnumStub) { - $frame->value['arguments'] = new ArgsStub($f['args'], isset($f['function']) ? $f['function'] : null, isset($f['class']) ? $f['class'] : null); - } - } elseif ('???' !== $lastCall) { - $label = new ClassStub($lastCall); - if (isset($label->attr['ellipsis'])) { - $label->attr['ellipsis'] += 2; - $label = substr_replace($prefix, "ellipsis-type=class&ellipsis={$label->attr['ellipsis']}&ellipsis-tail=1&title=Stack level $j.", 2, 0).$label->value.'()'; - } else { - $label = substr_replace($prefix, "title=Stack level $j.", 2, 0).$label->value.'()'; - } - } else { - $label = substr_replace($prefix, "title=Stack level $j.", 2, 0).$lastCall; - } - $a[substr_replace($label, sprintf('separator=%s&', $frame instanceof EnumStub ? ' ' : ':'), 2, 0)] = $frame; - - $lastCall = $call; - } - if (null !== $trace->sliceLength) { - $a = \array_slice($a, 0, $trace->sliceLength, true); - } - - return $a; - } - - public static function castFrameStub(FrameStub $frame, array $a, Stub $stub, $isNested) - { - if (!$isNested) { - return $a; - } - $f = $frame->value; - $prefix = Caster::PREFIX_VIRTUAL; - - if (isset($f['file'], $f['line'])) { - $cacheKey = $f; - unset($cacheKey['object'], $cacheKey['args']); - $cacheKey[] = self::$srcContext; - $cacheKey = implode('-', $cacheKey); - - if (isset(self::$framesCache[$cacheKey])) { - $a[$prefix.'src'] = self::$framesCache[$cacheKey]; - } else { - if (preg_match('/\((\d+)\)(?:\([\da-f]{32}\))? : (?:eval\(\)\'d code|runtime-created function)$/', $f['file'], $match)) { - $f['file'] = substr($f['file'], 0, -\strlen($match[0])); - $f['line'] = (int) $match[1]; - } - $src = $f['line']; - $srcKey = $f['file']; - $ellipsis = new LinkStub($srcKey, 0); - $srcAttr = 'collapse='.(int) $ellipsis->inVendor; - $ellipsisTail = isset($ellipsis->attr['ellipsis-tail']) ? $ellipsis->attr['ellipsis-tail'] : 0; - $ellipsis = isset($ellipsis->attr['ellipsis']) ? $ellipsis->attr['ellipsis'] : 0; - - if (file_exists($f['file']) && 0 <= self::$srcContext) { - if (!empty($f['class']) && (is_subclass_of($f['class'], 'Twig\Template') || is_subclass_of($f['class'], 'Twig_Template')) && method_exists($f['class'], 'getDebugInfo')) { - $template = isset($f['object']) ? $f['object'] : unserialize(sprintf('O:%d:"%s":0:{}', \strlen($f['class']), $f['class'])); - - $ellipsis = 0; - $templateSrc = method_exists($template, 'getSourceContext') ? $template->getSourceContext()->getCode() : (method_exists($template, 'getSource') ? $template->getSource() : ''); - $templateInfo = $template->getDebugInfo(); - if (isset($templateInfo[$f['line']])) { - if (!method_exists($template, 'getSourceContext') || !file_exists($templatePath = $template->getSourceContext()->getPath())) { - $templatePath = null; - } - if ($templateSrc) { - $src = self::extractSource($templateSrc, $templateInfo[$f['line']], self::$srcContext, 'twig', $templatePath, $f); - $srcKey = ($templatePath ?: $template->getTemplateName()).':'.$templateInfo[$f['line']]; - } - } - } - if ($srcKey == $f['file']) { - $src = self::extractSource(file_get_contents($f['file']), $f['line'], self::$srcContext, 'php', $f['file'], $f); - $srcKey .= ':'.$f['line']; - if ($ellipsis) { - $ellipsis += 1 + \strlen($f['line']); - } - } - $srcAttr .= sprintf('&separator= &file=%s&line=%d', rawurlencode($f['file']), $f['line']); - } else { - $srcAttr .= '&separator=:'; - } - $srcAttr .= $ellipsis ? '&ellipsis-type=path&ellipsis='.$ellipsis.'&ellipsis-tail='.$ellipsisTail : ''; - self::$framesCache[$cacheKey] = $a[$prefix.'src'] = new EnumStub(["\0~$srcAttr\0$srcKey" => $src]); - } - } - - unset($a[$prefix.'args'], $a[$prefix.'line'], $a[$prefix.'file']); - if ($frame->inTraceStub) { - unset($a[$prefix.'class'], $a[$prefix.'type'], $a[$prefix.'function']); - } - foreach ($a as $k => $v) { - if (!$v) { - unset($a[$k]); - } - } - if ($frame->keepArgs && !empty($f['args'])) { - $a[$prefix.'arguments'] = new ArgsStub($f['args'], $f['function'], $f['class']); - } - - return $a; - } - - private static function filterExceptionArray(string $xClass, array $a, string $xPrefix, int $filter): array - { - if (isset($a[$xPrefix.'trace'])) { - $trace = $a[$xPrefix.'trace']; - unset($a[$xPrefix.'trace']); // Ensures the trace is always last - } else { - $trace = []; - } - - if (!($filter & Caster::EXCLUDE_VERBOSE) && $trace) { - if (isset($a[Caster::PREFIX_PROTECTED.'file'], $a[Caster::PREFIX_PROTECTED.'line'])) { - self::traceUnshift($trace, $xClass, $a[Caster::PREFIX_PROTECTED.'file'], $a[Caster::PREFIX_PROTECTED.'line']); - } - $a[Caster::PREFIX_VIRTUAL.'trace'] = new TraceStub($trace, self::$traceArgs); - } - if (empty($a[$xPrefix.'previous'])) { - unset($a[$xPrefix.'previous']); - } - unset($a[$xPrefix.'string'], $a[Caster::PREFIX_DYNAMIC.'xdebug_message'], $a[Caster::PREFIX_DYNAMIC.'__destructorException']); - - if (isset($a[Caster::PREFIX_PROTECTED.'message']) && false !== strpos($a[Caster::PREFIX_PROTECTED.'message'], "class@anonymous\0")) { - $a[Caster::PREFIX_PROTECTED.'message'] = preg_replace_callback('/class@anonymous\x00.*?\.php0x?[0-9a-fA-F]++/', function ($m) { - return class_exists($m[0], false) ? get_parent_class($m[0]).'@anonymous' : $m[0]; - }, $a[Caster::PREFIX_PROTECTED.'message']); - } - - if (isset($a[Caster::PREFIX_PROTECTED.'file'], $a[Caster::PREFIX_PROTECTED.'line'])) { - $a[Caster::PREFIX_PROTECTED.'file'] = new LinkStub($a[Caster::PREFIX_PROTECTED.'file'], $a[Caster::PREFIX_PROTECTED.'line']); - } - - return $a; - } - - private static function traceUnshift(array &$trace, ?string $class, string $file, int $line): void - { - if (isset($trace[0]['file'], $trace[0]['line']) && $trace[0]['file'] === $file && $trace[0]['line'] === $line) { - return; - } - array_unshift($trace, [ - 'function' => $class ? 'new '.$class : null, - 'file' => $file, - 'line' => $line, - ]); - } - - private static function extractSource(string $srcLines, int $line, int $srcContext, string $lang, ?string $file, array $frame): EnumStub - { - $srcLines = explode("\n", $srcLines); - $src = []; - - for ($i = $line - 1 - $srcContext; $i <= $line - 1 + $srcContext; ++$i) { - $src[] = (isset($srcLines[$i]) ? $srcLines[$i] : '')."\n"; - } - - if ($frame['function'] ?? false) { - $stub = new CutStub(new \stdClass()); - $stub->class = (isset($frame['class']) ? $frame['class'].$frame['type'] : '').$frame['function']; - $stub->type = Stub::TYPE_OBJECT; - $stub->attr['cut_hash'] = true; - $stub->attr['file'] = $frame['file']; - $stub->attr['line'] = $frame['line']; - - try { - $caller = isset($frame['class']) ? new \ReflectionMethod($frame['class'], $frame['function']) : new \ReflectionFunction($frame['function']); - $stub->class .= ReflectionCaster::getSignature(ReflectionCaster::castFunctionAbstract($caller, [], $stub, true, Caster::EXCLUDE_VERBOSE)); - - if ($f = $caller->getFileName()) { - $stub->attr['file'] = $f; - $stub->attr['line'] = $caller->getStartLine(); - } - } catch (\ReflectionException $e) { - // ignore fake class/function - } - - $srcLines = ["\0~separator=\0" => $stub]; - } else { - $stub = null; - $srcLines = []; - } - - $ltrim = 0; - do { - $pad = null; - for ($i = $srcContext << 1; $i >= 0; --$i) { - if (isset($src[$i][$ltrim]) && "\r" !== ($c = $src[$i][$ltrim]) && "\n" !== $c) { - if (null === $pad) { - $pad = $c; - } - if ((' ' !== $c && "\t" !== $c) || $pad !== $c) { - break; - } - } - } - ++$ltrim; - } while (0 > $i && null !== $pad); - - --$ltrim; - - foreach ($src as $i => $c) { - if ($ltrim) { - $c = isset($c[$ltrim]) && "\r" !== $c[$ltrim] ? substr($c, $ltrim) : ltrim($c, " \t"); - } - $c = substr($c, 0, -1); - if ($i !== $srcContext) { - $c = new ConstStub('default', $c); - } else { - $c = new ConstStub($c, $stub ? 'in '.$stub->class : ''); - if (null !== $file) { - $c->attr['file'] = $file; - $c->attr['line'] = $line; - } - } - $c->attr['lang'] = $lang; - $srcLines[sprintf("\0~separator=› &%d\0", $i + $line - $srcContext)] = $c; - } - - return new EnumStub($srcLines); - } -} diff --git a/paragonik-backend/vendor/symfony/var-dumper/Caster/FrameStub.php b/paragonik-backend/vendor/symfony/var-dumper/Caster/FrameStub.php deleted file mode 100644 index 8786755..0000000 --- a/paragonik-backend/vendor/symfony/var-dumper/Caster/FrameStub.php +++ /dev/null @@ -1,30 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\VarDumper\Caster; - -/** - * Represents a single backtrace frame as returned by debug_backtrace() or Exception->getTrace(). - * - * @author Nicolas Grekas - */ -class FrameStub extends EnumStub -{ - public $keepArgs; - public $inTraceStub; - - public function __construct(array $frame, bool $keepArgs = true, bool $inTraceStub = false) - { - $this->value = $frame; - $this->keepArgs = $keepArgs; - $this->inTraceStub = $inTraceStub; - } -} diff --git a/paragonik-backend/vendor/symfony/var-dumper/Caster/GmpCaster.php b/paragonik-backend/vendor/symfony/var-dumper/Caster/GmpCaster.php deleted file mode 100644 index 2b20e15..0000000 --- a/paragonik-backend/vendor/symfony/var-dumper/Caster/GmpCaster.php +++ /dev/null @@ -1,32 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\VarDumper\Caster; - -use Symfony\Component\VarDumper\Cloner\Stub; - -/** - * Casts GMP objects to array representation. - * - * @author Hamza Amrouche - * @author Nicolas Grekas - * - * @final since Symfony 4.4 - */ -class GmpCaster -{ - public static function castGmp(\GMP $gmp, array $a, Stub $stub, $isNested, $filter): array - { - $a[Caster::PREFIX_VIRTUAL.'value'] = new ConstStub(gmp_strval($gmp), gmp_strval($gmp)); - - return $a; - } -} diff --git a/paragonik-backend/vendor/symfony/var-dumper/Caster/ImagineCaster.php b/paragonik-backend/vendor/symfony/var-dumper/Caster/ImagineCaster.php deleted file mode 100644 index d1289da..0000000 --- a/paragonik-backend/vendor/symfony/var-dumper/Caster/ImagineCaster.php +++ /dev/null @@ -1,37 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\VarDumper\Caster; - -use Imagine\Image\ImageInterface; -use Symfony\Component\VarDumper\Cloner\Stub; - -/** - * @author Grégoire Pineau - */ -final class ImagineCaster -{ - public static function castImage(ImageInterface $c, array $a, Stub $stub, bool $isNested): array - { - $imgData = $c->get('png'); - if (\strlen($imgData) > 1 * 1000 * 1000) { - $a += [ - Caster::PREFIX_VIRTUAL.'image' => new ConstStub($c->getSize()), - ]; - } else { - $a += [ - Caster::PREFIX_VIRTUAL.'image' => new ImgStub($imgData, 'image/png', $c->getSize()), - ]; - } - - return $a; - } -} diff --git a/paragonik-backend/vendor/symfony/var-dumper/Caster/ImgStub.php b/paragonik-backend/vendor/symfony/var-dumper/Caster/ImgStub.php deleted file mode 100644 index 05789fe..0000000 --- a/paragonik-backend/vendor/symfony/var-dumper/Caster/ImgStub.php +++ /dev/null @@ -1,26 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\VarDumper\Caster; - -/** - * @author Grégoire Pineau - */ -class ImgStub extends ConstStub -{ - public function __construct(string $data, string $contentType, string $size) - { - $this->value = ''; - $this->attr['img-data'] = $data; - $this->attr['img-size'] = $size; - $this->attr['content-type'] = $contentType; - } -} diff --git a/paragonik-backend/vendor/symfony/var-dumper/Caster/IntlCaster.php b/paragonik-backend/vendor/symfony/var-dumper/Caster/IntlCaster.php deleted file mode 100644 index d7099cb..0000000 --- a/paragonik-backend/vendor/symfony/var-dumper/Caster/IntlCaster.php +++ /dev/null @@ -1,172 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\VarDumper\Caster; - -use Symfony\Component\VarDumper\Cloner\Stub; - -/** - * @author Nicolas Grekas - * @author Jan Schädlich - * - * @final since Symfony 4.4 - */ -class IntlCaster -{ - public static function castMessageFormatter(\MessageFormatter $c, array $a, Stub $stub, $isNested) - { - $a += [ - Caster::PREFIX_VIRTUAL.'locale' => $c->getLocale(), - Caster::PREFIX_VIRTUAL.'pattern' => $c->getPattern(), - ]; - - return self::castError($c, $a); - } - - public static function castNumberFormatter(\NumberFormatter $c, array $a, Stub $stub, $isNested, $filter = 0) - { - $a += [ - Caster::PREFIX_VIRTUAL.'locale' => $c->getLocale(), - Caster::PREFIX_VIRTUAL.'pattern' => $c->getPattern(), - ]; - - if ($filter & Caster::EXCLUDE_VERBOSE) { - $stub->cut += 3; - - return self::castError($c, $a); - } - - $a += [ - Caster::PREFIX_VIRTUAL.'attributes' => new EnumStub( - [ - 'PARSE_INT_ONLY' => $c->getAttribute(\NumberFormatter::PARSE_INT_ONLY), - 'GROUPING_USED' => $c->getAttribute(\NumberFormatter::GROUPING_USED), - 'DECIMAL_ALWAYS_SHOWN' => $c->getAttribute(\NumberFormatter::DECIMAL_ALWAYS_SHOWN), - 'MAX_INTEGER_DIGITS' => $c->getAttribute(\NumberFormatter::MAX_INTEGER_DIGITS), - 'MIN_INTEGER_DIGITS' => $c->getAttribute(\NumberFormatter::MIN_INTEGER_DIGITS), - 'INTEGER_DIGITS' => $c->getAttribute(\NumberFormatter::INTEGER_DIGITS), - 'MAX_FRACTION_DIGITS' => $c->getAttribute(\NumberFormatter::MAX_FRACTION_DIGITS), - 'MIN_FRACTION_DIGITS' => $c->getAttribute(\NumberFormatter::MIN_FRACTION_DIGITS), - 'FRACTION_DIGITS' => $c->getAttribute(\NumberFormatter::FRACTION_DIGITS), - 'MULTIPLIER' => $c->getAttribute(\NumberFormatter::MULTIPLIER), - 'GROUPING_SIZE' => $c->getAttribute(\NumberFormatter::GROUPING_SIZE), - 'ROUNDING_MODE' => $c->getAttribute(\NumberFormatter::ROUNDING_MODE), - 'ROUNDING_INCREMENT' => $c->getAttribute(\NumberFormatter::ROUNDING_INCREMENT), - 'FORMAT_WIDTH' => $c->getAttribute(\NumberFormatter::FORMAT_WIDTH), - 'PADDING_POSITION' => $c->getAttribute(\NumberFormatter::PADDING_POSITION), - 'SECONDARY_GROUPING_SIZE' => $c->getAttribute(\NumberFormatter::SECONDARY_GROUPING_SIZE), - 'SIGNIFICANT_DIGITS_USED' => $c->getAttribute(\NumberFormatter::SIGNIFICANT_DIGITS_USED), - 'MIN_SIGNIFICANT_DIGITS' => $c->getAttribute(\NumberFormatter::MIN_SIGNIFICANT_DIGITS), - 'MAX_SIGNIFICANT_DIGITS' => $c->getAttribute(\NumberFormatter::MAX_SIGNIFICANT_DIGITS), - 'LENIENT_PARSE' => $c->getAttribute(\NumberFormatter::LENIENT_PARSE), - ] - ), - Caster::PREFIX_VIRTUAL.'text_attributes' => new EnumStub( - [ - 'POSITIVE_PREFIX' => $c->getTextAttribute(\NumberFormatter::POSITIVE_PREFIX), - 'POSITIVE_SUFFIX' => $c->getTextAttribute(\NumberFormatter::POSITIVE_SUFFIX), - 'NEGATIVE_PREFIX' => $c->getTextAttribute(\NumberFormatter::NEGATIVE_PREFIX), - 'NEGATIVE_SUFFIX' => $c->getTextAttribute(\NumberFormatter::NEGATIVE_SUFFIX), - 'PADDING_CHARACTER' => $c->getTextAttribute(\NumberFormatter::PADDING_CHARACTER), - 'CURRENCY_CODE' => $c->getTextAttribute(\NumberFormatter::CURRENCY_CODE), - 'DEFAULT_RULESET' => $c->getTextAttribute(\NumberFormatter::DEFAULT_RULESET), - 'PUBLIC_RULESETS' => $c->getTextAttribute(\NumberFormatter::PUBLIC_RULESETS), - ] - ), - Caster::PREFIX_VIRTUAL.'symbols' => new EnumStub( - [ - 'DECIMAL_SEPARATOR_SYMBOL' => $c->getSymbol(\NumberFormatter::DECIMAL_SEPARATOR_SYMBOL), - 'GROUPING_SEPARATOR_SYMBOL' => $c->getSymbol(\NumberFormatter::GROUPING_SEPARATOR_SYMBOL), - 'PATTERN_SEPARATOR_SYMBOL' => $c->getSymbol(\NumberFormatter::PATTERN_SEPARATOR_SYMBOL), - 'PERCENT_SYMBOL' => $c->getSymbol(\NumberFormatter::PERCENT_SYMBOL), - 'ZERO_DIGIT_SYMBOL' => $c->getSymbol(\NumberFormatter::ZERO_DIGIT_SYMBOL), - 'DIGIT_SYMBOL' => $c->getSymbol(\NumberFormatter::DIGIT_SYMBOL), - 'MINUS_SIGN_SYMBOL' => $c->getSymbol(\NumberFormatter::MINUS_SIGN_SYMBOL), - 'PLUS_SIGN_SYMBOL' => $c->getSymbol(\NumberFormatter::PLUS_SIGN_SYMBOL), - 'CURRENCY_SYMBOL' => $c->getSymbol(\NumberFormatter::CURRENCY_SYMBOL), - 'INTL_CURRENCY_SYMBOL' => $c->getSymbol(\NumberFormatter::INTL_CURRENCY_SYMBOL), - 'MONETARY_SEPARATOR_SYMBOL' => $c->getSymbol(\NumberFormatter::MONETARY_SEPARATOR_SYMBOL), - 'EXPONENTIAL_SYMBOL' => $c->getSymbol(\NumberFormatter::EXPONENTIAL_SYMBOL), - 'PERMILL_SYMBOL' => $c->getSymbol(\NumberFormatter::PERMILL_SYMBOL), - 'PAD_ESCAPE_SYMBOL' => $c->getSymbol(\NumberFormatter::PAD_ESCAPE_SYMBOL), - 'INFINITY_SYMBOL' => $c->getSymbol(\NumberFormatter::INFINITY_SYMBOL), - 'NAN_SYMBOL' => $c->getSymbol(\NumberFormatter::NAN_SYMBOL), - 'SIGNIFICANT_DIGIT_SYMBOL' => $c->getSymbol(\NumberFormatter::SIGNIFICANT_DIGIT_SYMBOL), - 'MONETARY_GROUPING_SEPARATOR_SYMBOL' => $c->getSymbol(\NumberFormatter::MONETARY_GROUPING_SEPARATOR_SYMBOL), - ] - ), - ]; - - return self::castError($c, $a); - } - - public static function castIntlTimeZone(\IntlTimeZone $c, array $a, Stub $stub, $isNested) - { - $a += [ - Caster::PREFIX_VIRTUAL.'display_name' => $c->getDisplayName(), - Caster::PREFIX_VIRTUAL.'id' => $c->getID(), - Caster::PREFIX_VIRTUAL.'raw_offset' => $c->getRawOffset(), - ]; - - if ($c->useDaylightTime()) { - $a += [ - Caster::PREFIX_VIRTUAL.'dst_savings' => $c->getDSTSavings(), - ]; - } - - return self::castError($c, $a); - } - - public static function castIntlCalendar(\IntlCalendar $c, array $a, Stub $stub, $isNested, $filter = 0) - { - $a += [ - Caster::PREFIX_VIRTUAL.'type' => $c->getType(), - Caster::PREFIX_VIRTUAL.'first_day_of_week' => $c->getFirstDayOfWeek(), - Caster::PREFIX_VIRTUAL.'minimal_days_in_first_week' => $c->getMinimalDaysInFirstWeek(), - Caster::PREFIX_VIRTUAL.'repeated_wall_time_option' => $c->getRepeatedWallTimeOption(), - Caster::PREFIX_VIRTUAL.'skipped_wall_time_option' => $c->getSkippedWallTimeOption(), - Caster::PREFIX_VIRTUAL.'time' => $c->getTime(), - Caster::PREFIX_VIRTUAL.'in_daylight_time' => $c->inDaylightTime(), - Caster::PREFIX_VIRTUAL.'is_lenient' => $c->isLenient(), - Caster::PREFIX_VIRTUAL.'time_zone' => ($filter & Caster::EXCLUDE_VERBOSE) ? new CutStub($c->getTimeZone()) : $c->getTimeZone(), - ]; - - return self::castError($c, $a); - } - - public static function castIntlDateFormatter(\IntlDateFormatter $c, array $a, Stub $stub, $isNested, $filter = 0) - { - $a += [ - Caster::PREFIX_VIRTUAL.'locale' => $c->getLocale(), - Caster::PREFIX_VIRTUAL.'pattern' => $c->getPattern(), - Caster::PREFIX_VIRTUAL.'calendar' => $c->getCalendar(), - Caster::PREFIX_VIRTUAL.'time_zone_id' => $c->getTimeZoneId(), - Caster::PREFIX_VIRTUAL.'time_type' => $c->getTimeType(), - Caster::PREFIX_VIRTUAL.'date_type' => $c->getDateType(), - Caster::PREFIX_VIRTUAL.'calendar_object' => ($filter & Caster::EXCLUDE_VERBOSE) ? new CutStub($c->getCalendarObject()) : $c->getCalendarObject(), - Caster::PREFIX_VIRTUAL.'time_zone' => ($filter & Caster::EXCLUDE_VERBOSE) ? new CutStub($c->getTimeZone()) : $c->getTimeZone(), - ]; - - return self::castError($c, $a); - } - - private static function castError($c, array $a): array - { - if ($errorCode = $c->getErrorCode()) { - $a += [ - Caster::PREFIX_VIRTUAL.'error_code' => $errorCode, - Caster::PREFIX_VIRTUAL.'error_message' => $c->getErrorMessage(), - ]; - } - - return $a; - } -} diff --git a/paragonik-backend/vendor/symfony/var-dumper/Caster/LinkStub.php b/paragonik-backend/vendor/symfony/var-dumper/Caster/LinkStub.php deleted file mode 100644 index 6360716..0000000 --- a/paragonik-backend/vendor/symfony/var-dumper/Caster/LinkStub.php +++ /dev/null @@ -1,108 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\VarDumper\Caster; - -/** - * Represents a file or a URL. - * - * @author Nicolas Grekas - */ -class LinkStub extends ConstStub -{ - public $inVendor = false; - - private static $vendorRoots; - private static $composerRoots; - - public function __construct($label, int $line = 0, $href = null) - { - $this->value = $label; - - if (null === $href) { - $href = $label; - } - if (!\is_string($href)) { - return; - } - if (0 === strpos($href, 'file://')) { - if ($href === $label) { - $label = substr($label, 7); - } - $href = substr($href, 7); - } elseif (false !== strpos($href, '://')) { - $this->attr['href'] = $href; - - return; - } - if (!file_exists($href)) { - return; - } - if ($line) { - $this->attr['line'] = $line; - } - if ($label !== $this->attr['file'] = realpath($href) ?: $href) { - return; - } - if ($composerRoot = $this->getComposerRoot($href, $this->inVendor)) { - $this->attr['ellipsis'] = \strlen($href) - \strlen($composerRoot) + 1; - $this->attr['ellipsis-type'] = 'path'; - $this->attr['ellipsis-tail'] = 1 + ($this->inVendor ? 2 + \strlen(implode('', \array_slice(explode(\DIRECTORY_SEPARATOR, substr($href, 1 - $this->attr['ellipsis'])), 0, 2))) : 0); - } elseif (3 < \count($ellipsis = explode(\DIRECTORY_SEPARATOR, $href))) { - $this->attr['ellipsis'] = 2 + \strlen(implode('', \array_slice($ellipsis, -2))); - $this->attr['ellipsis-type'] = 'path'; - $this->attr['ellipsis-tail'] = 1; - } - } - - private function getComposerRoot(string $file, bool &$inVendor) - { - if (null === self::$vendorRoots) { - self::$vendorRoots = []; - - foreach (get_declared_classes() as $class) { - if ('C' === $class[0] && 0 === strpos($class, 'ComposerAutoloaderInit')) { - $r = new \ReflectionClass($class); - $v = \dirname($r->getFileName(), 2); - if (file_exists($v.'/composer/installed.json')) { - self::$vendorRoots[] = $v.\DIRECTORY_SEPARATOR; - } - } - } - } - $inVendor = false; - - if (isset(self::$composerRoots[$dir = \dirname($file)])) { - return self::$composerRoots[$dir]; - } - - foreach (self::$vendorRoots as $root) { - if ($inVendor = 0 === strpos($file, $root)) { - return $root; - } - } - - $parent = $dir; - while (!@file_exists($parent.'/composer.json')) { - if (!@file_exists($parent)) { - // open_basedir restriction in effect - break; - } - if ($parent === \dirname($parent)) { - return self::$composerRoots[$dir] = false; - } - - $parent = \dirname($parent); - } - - return self::$composerRoots[$dir] = $parent.\DIRECTORY_SEPARATOR; - } -} diff --git a/paragonik-backend/vendor/symfony/var-dumper/Caster/MemcachedCaster.php b/paragonik-backend/vendor/symfony/var-dumper/Caster/MemcachedCaster.php deleted file mode 100644 index 942eecb..0000000 --- a/paragonik-backend/vendor/symfony/var-dumper/Caster/MemcachedCaster.php +++ /dev/null @@ -1,81 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\VarDumper\Caster; - -use Symfony\Component\VarDumper\Cloner\Stub; - -/** - * @author Jan Schädlich - * - * @final since Symfony 4.4 - */ -class MemcachedCaster -{ - private static $optionConstants; - private static $defaultOptions; - - public static function castMemcached(\Memcached $c, array $a, Stub $stub, $isNested) - { - $a += [ - Caster::PREFIX_VIRTUAL.'servers' => $c->getServerList(), - Caster::PREFIX_VIRTUAL.'options' => new EnumStub( - self::getNonDefaultOptions($c) - ), - ]; - - return $a; - } - - private static function getNonDefaultOptions(\Memcached $c): array - { - self::$defaultOptions = self::$defaultOptions ?? self::discoverDefaultOptions(); - self::$optionConstants = self::$optionConstants ?? self::getOptionConstants(); - - $nonDefaultOptions = []; - foreach (self::$optionConstants as $constantKey => $value) { - if (self::$defaultOptions[$constantKey] !== $option = $c->getOption($value)) { - $nonDefaultOptions[$constantKey] = $option; - } - } - - return $nonDefaultOptions; - } - - private static function discoverDefaultOptions(): array - { - $defaultMemcached = new \Memcached(); - $defaultMemcached->addServer('127.0.0.1', 11211); - - $defaultOptions = []; - self::$optionConstants = self::$optionConstants ?? self::getOptionConstants(); - - foreach (self::$optionConstants as $constantKey => $value) { - $defaultOptions[$constantKey] = $defaultMemcached->getOption($value); - } - - return $defaultOptions; - } - - private static function getOptionConstants(): array - { - $reflectedMemcached = new \ReflectionClass(\Memcached::class); - - $optionConstants = []; - foreach ($reflectedMemcached->getConstants() as $constantKey => $value) { - if (0 === strpos($constantKey, 'OPT_')) { - $optionConstants[$constantKey] = $value; - } - } - - return $optionConstants; - } -} diff --git a/paragonik-backend/vendor/symfony/var-dumper/Caster/PdoCaster.php b/paragonik-backend/vendor/symfony/var-dumper/Caster/PdoCaster.php deleted file mode 100644 index d30ab01..0000000 --- a/paragonik-backend/vendor/symfony/var-dumper/Caster/PdoCaster.php +++ /dev/null @@ -1,122 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\VarDumper\Caster; - -use Symfony\Component\VarDumper\Cloner\Stub; - -/** - * Casts PDO related classes to array representation. - * - * @author Nicolas Grekas - * - * @final since Symfony 4.4 - */ -class PdoCaster -{ - private static $pdoAttributes = [ - 'CASE' => [ - \PDO::CASE_LOWER => 'LOWER', - \PDO::CASE_NATURAL => 'NATURAL', - \PDO::CASE_UPPER => 'UPPER', - ], - 'ERRMODE' => [ - \PDO::ERRMODE_SILENT => 'SILENT', - \PDO::ERRMODE_WARNING => 'WARNING', - \PDO::ERRMODE_EXCEPTION => 'EXCEPTION', - ], - 'TIMEOUT', - 'PREFETCH', - 'AUTOCOMMIT', - 'PERSISTENT', - 'DRIVER_NAME', - 'SERVER_INFO', - 'ORACLE_NULLS' => [ - \PDO::NULL_NATURAL => 'NATURAL', - \PDO::NULL_EMPTY_STRING => 'EMPTY_STRING', - \PDO::NULL_TO_STRING => 'TO_STRING', - ], - 'CLIENT_VERSION', - 'SERVER_VERSION', - 'STATEMENT_CLASS', - 'EMULATE_PREPARES', - 'CONNECTION_STATUS', - 'STRINGIFY_FETCHES', - 'DEFAULT_FETCH_MODE' => [ - \PDO::FETCH_ASSOC => 'ASSOC', - \PDO::FETCH_BOTH => 'BOTH', - \PDO::FETCH_LAZY => 'LAZY', - \PDO::FETCH_NUM => 'NUM', - \PDO::FETCH_OBJ => 'OBJ', - ], - ]; - - public static function castPdo(\PDO $c, array $a, Stub $stub, $isNested) - { - $attr = []; - $errmode = $c->getAttribute(\PDO::ATTR_ERRMODE); - $c->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION); - - foreach (self::$pdoAttributes as $k => $v) { - if (!isset($k[0])) { - $k = $v; - $v = []; - } - - try { - $attr[$k] = 'ERRMODE' === $k ? $errmode : $c->getAttribute(\constant('PDO::ATTR_'.$k)); - if ($v && isset($v[$attr[$k]])) { - $attr[$k] = new ConstStub($v[$attr[$k]], $attr[$k]); - } - } catch (\Exception $e) { - } - } - if (isset($attr[$k = 'STATEMENT_CLASS'][1])) { - if ($attr[$k][1]) { - $attr[$k][1] = new ArgsStub($attr[$k][1], '__construct', $attr[$k][0]); - } - $attr[$k][0] = new ClassStub($attr[$k][0]); - } - - $prefix = Caster::PREFIX_VIRTUAL; - $a += [ - $prefix.'inTransaction' => method_exists($c, 'inTransaction'), - $prefix.'errorInfo' => $c->errorInfo(), - $prefix.'attributes' => new EnumStub($attr), - ]; - - if ($a[$prefix.'inTransaction']) { - $a[$prefix.'inTransaction'] = $c->inTransaction(); - } else { - unset($a[$prefix.'inTransaction']); - } - - if (!isset($a[$prefix.'errorInfo'][1], $a[$prefix.'errorInfo'][2])) { - unset($a[$prefix.'errorInfo']); - } - - $c->setAttribute(\PDO::ATTR_ERRMODE, $errmode); - - return $a; - } - - public static function castPdoStatement(\PDOStatement $c, array $a, Stub $stub, $isNested) - { - $prefix = Caster::PREFIX_VIRTUAL; - $a[$prefix.'errorInfo'] = $c->errorInfo(); - - if (!isset($a[$prefix.'errorInfo'][1], $a[$prefix.'errorInfo'][2])) { - unset($a[$prefix.'errorInfo']); - } - - return $a; - } -} diff --git a/paragonik-backend/vendor/symfony/var-dumper/Caster/PgSqlCaster.php b/paragonik-backend/vendor/symfony/var-dumper/Caster/PgSqlCaster.php deleted file mode 100644 index c54fb42..0000000 --- a/paragonik-backend/vendor/symfony/var-dumper/Caster/PgSqlCaster.php +++ /dev/null @@ -1,156 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\VarDumper\Caster; - -use Symfony\Component\VarDumper\Cloner\Stub; - -/** - * Casts pqsql resources to array representation. - * - * @author Nicolas Grekas - * - * @final since Symfony 4.4 - */ -class PgSqlCaster -{ - private static $paramCodes = [ - 'server_encoding', - 'client_encoding', - 'is_superuser', - 'session_authorization', - 'DateStyle', - 'TimeZone', - 'IntervalStyle', - 'integer_datetimes', - 'application_name', - 'standard_conforming_strings', - ]; - - private static $transactionStatus = [ - PGSQL_TRANSACTION_IDLE => 'PGSQL_TRANSACTION_IDLE', - PGSQL_TRANSACTION_ACTIVE => 'PGSQL_TRANSACTION_ACTIVE', - PGSQL_TRANSACTION_INTRANS => 'PGSQL_TRANSACTION_INTRANS', - PGSQL_TRANSACTION_INERROR => 'PGSQL_TRANSACTION_INERROR', - PGSQL_TRANSACTION_UNKNOWN => 'PGSQL_TRANSACTION_UNKNOWN', - ]; - - private static $resultStatus = [ - PGSQL_EMPTY_QUERY => 'PGSQL_EMPTY_QUERY', - PGSQL_COMMAND_OK => 'PGSQL_COMMAND_OK', - PGSQL_TUPLES_OK => 'PGSQL_TUPLES_OK', - PGSQL_COPY_OUT => 'PGSQL_COPY_OUT', - PGSQL_COPY_IN => 'PGSQL_COPY_IN', - PGSQL_BAD_RESPONSE => 'PGSQL_BAD_RESPONSE', - PGSQL_NONFATAL_ERROR => 'PGSQL_NONFATAL_ERROR', - PGSQL_FATAL_ERROR => 'PGSQL_FATAL_ERROR', - ]; - - private static $diagCodes = [ - 'severity' => PGSQL_DIAG_SEVERITY, - 'sqlstate' => PGSQL_DIAG_SQLSTATE, - 'message' => PGSQL_DIAG_MESSAGE_PRIMARY, - 'detail' => PGSQL_DIAG_MESSAGE_DETAIL, - 'hint' => PGSQL_DIAG_MESSAGE_HINT, - 'statement position' => PGSQL_DIAG_STATEMENT_POSITION, - 'internal position' => PGSQL_DIAG_INTERNAL_POSITION, - 'internal query' => PGSQL_DIAG_INTERNAL_QUERY, - 'context' => PGSQL_DIAG_CONTEXT, - 'file' => PGSQL_DIAG_SOURCE_FILE, - 'line' => PGSQL_DIAG_SOURCE_LINE, - 'function' => PGSQL_DIAG_SOURCE_FUNCTION, - ]; - - public static function castLargeObject($lo, array $a, Stub $stub, $isNested) - { - $a['seek position'] = pg_lo_tell($lo); - - return $a; - } - - public static function castLink($link, array $a, Stub $stub, $isNested) - { - $a['status'] = pg_connection_status($link); - $a['status'] = new ConstStub(PGSQL_CONNECTION_OK === $a['status'] ? 'PGSQL_CONNECTION_OK' : 'PGSQL_CONNECTION_BAD', $a['status']); - $a['busy'] = pg_connection_busy($link); - - $a['transaction'] = pg_transaction_status($link); - if (isset(self::$transactionStatus[$a['transaction']])) { - $a['transaction'] = new ConstStub(self::$transactionStatus[$a['transaction']], $a['transaction']); - } - - $a['pid'] = pg_get_pid($link); - $a['last error'] = pg_last_error($link); - $a['last notice'] = pg_last_notice($link); - $a['host'] = pg_host($link); - $a['port'] = pg_port($link); - $a['dbname'] = pg_dbname($link); - $a['options'] = pg_options($link); - $a['version'] = pg_version($link); - - foreach (self::$paramCodes as $v) { - if (false !== $s = pg_parameter_status($link, $v)) { - $a['param'][$v] = $s; - } - } - - $a['param']['client_encoding'] = pg_client_encoding($link); - $a['param'] = new EnumStub($a['param']); - - return $a; - } - - public static function castResult($result, array $a, Stub $stub, $isNested) - { - $a['num rows'] = pg_num_rows($result); - $a['status'] = pg_result_status($result); - if (isset(self::$resultStatus[$a['status']])) { - $a['status'] = new ConstStub(self::$resultStatus[$a['status']], $a['status']); - } - $a['command-completion tag'] = pg_result_status($result, PGSQL_STATUS_STRING); - - if (-1 === $a['num rows']) { - foreach (self::$diagCodes as $k => $v) { - $a['error'][$k] = pg_result_error_field($result, $v); - } - } - - $a['affected rows'] = pg_affected_rows($result); - $a['last OID'] = pg_last_oid($result); - - $fields = pg_num_fields($result); - - for ($i = 0; $i < $fields; ++$i) { - $field = [ - 'name' => pg_field_name($result, $i), - 'table' => sprintf('%s (OID: %s)', pg_field_table($result, $i), pg_field_table($result, $i, true)), - 'type' => sprintf('%s (OID: %s)', pg_field_type($result, $i), pg_field_type_oid($result, $i)), - 'nullable' => (bool) pg_field_is_null($result, $i), - 'storage' => pg_field_size($result, $i).' bytes', - 'display' => pg_field_prtlen($result, $i).' chars', - ]; - if (' (OID: )' === $field['table']) { - $field['table'] = null; - } - if ('-1 bytes' === $field['storage']) { - $field['storage'] = 'variable size'; - } elseif ('1 bytes' === $field['storage']) { - $field['storage'] = '1 byte'; - } - if ('1 chars' === $field['display']) { - $field['display'] = '1 char'; - } - $a['fields'][] = new EnumStub($field); - } - - return $a; - } -} diff --git a/paragonik-backend/vendor/symfony/var-dumper/Caster/ProxyManagerCaster.php b/paragonik-backend/vendor/symfony/var-dumper/Caster/ProxyManagerCaster.php deleted file mode 100644 index ec02f81..0000000 --- a/paragonik-backend/vendor/symfony/var-dumper/Caster/ProxyManagerCaster.php +++ /dev/null @@ -1,33 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\VarDumper\Caster; - -use ProxyManager\Proxy\ProxyInterface; -use Symfony\Component\VarDumper\Cloner\Stub; - -/** - * @author Nicolas Grekas - * - * @final since Symfony 4.4 - */ -class ProxyManagerCaster -{ - public static function castProxy(ProxyInterface $c, array $a, Stub $stub, $isNested) - { - if ($parent = get_parent_class($c)) { - $stub->class .= ' - '.$parent; - } - $stub->class .= '@proxy'; - - return $a; - } -} diff --git a/paragonik-backend/vendor/symfony/var-dumper/Caster/RedisCaster.php b/paragonik-backend/vendor/symfony/var-dumper/Caster/RedisCaster.php deleted file mode 100644 index e92c65b..0000000 --- a/paragonik-backend/vendor/symfony/var-dumper/Caster/RedisCaster.php +++ /dev/null @@ -1,152 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\VarDumper\Caster; - -use Symfony\Component\VarDumper\Cloner\Stub; - -/** - * Casts Redis class from ext-redis to array representation. - * - * @author Nicolas Grekas - * - * @final since Symfony 4.4 - */ -class RedisCaster -{ - private static $serializer = [ - \Redis::SERIALIZER_NONE => 'NONE', - \Redis::SERIALIZER_PHP => 'PHP', - 2 => 'IGBINARY', // Optional Redis::SERIALIZER_IGBINARY - ]; - - private static $mode = [ - \Redis::ATOMIC => 'ATOMIC', - \Redis::MULTI => 'MULTI', - \Redis::PIPELINE => 'PIPELINE', - ]; - - private static $compression = [ - 0 => 'NONE', // Redis::COMPRESSION_NONE - 1 => 'LZF', // Redis::COMPRESSION_LZF - ]; - - private static $failover = [ - \RedisCluster::FAILOVER_NONE => 'NONE', - \RedisCluster::FAILOVER_ERROR => 'ERROR', - \RedisCluster::FAILOVER_DISTRIBUTE => 'DISTRIBUTE', - \RedisCluster::FAILOVER_DISTRIBUTE_SLAVES => 'DISTRIBUTE_SLAVES', - ]; - - public static function castRedis(\Redis $c, array $a, Stub $stub, $isNested) - { - $prefix = Caster::PREFIX_VIRTUAL; - - if (!$connected = $c->isConnected()) { - return $a + [ - $prefix.'isConnected' => $connected, - ]; - } - - $mode = $c->getMode(); - - return $a + [ - $prefix.'isConnected' => $connected, - $prefix.'host' => $c->getHost(), - $prefix.'port' => $c->getPort(), - $prefix.'auth' => $c->getAuth(), - $prefix.'mode' => isset(self::$mode[$mode]) ? new ConstStub(self::$mode[$mode], $mode) : $mode, - $prefix.'dbNum' => $c->getDbNum(), - $prefix.'timeout' => $c->getTimeout(), - $prefix.'lastError' => $c->getLastError(), - $prefix.'persistentId' => $c->getPersistentID(), - $prefix.'options' => self::getRedisOptions($c), - ]; - } - - public static function castRedisArray(\RedisArray $c, array $a, Stub $stub, $isNested) - { - $prefix = Caster::PREFIX_VIRTUAL; - - return $a + [ - $prefix.'hosts' => $c->_hosts(), - $prefix.'function' => ClassStub::wrapCallable($c->_function()), - $prefix.'lastError' => $c->getLastError(), - $prefix.'options' => self::getRedisOptions($c), - ]; - } - - public static function castRedisCluster(\RedisCluster $c, array $a, Stub $stub, $isNested) - { - $prefix = Caster::PREFIX_VIRTUAL; - $failover = $c->getOption(\RedisCluster::OPT_SLAVE_FAILOVER); - - $a += [ - $prefix.'_masters' => $c->_masters(), - $prefix.'_redir' => $c->_redir(), - $prefix.'mode' => new ConstStub($c->getMode() ? 'MULTI' : 'ATOMIC', $c->getMode()), - $prefix.'lastError' => $c->getLastError(), - $prefix.'options' => self::getRedisOptions($c, [ - 'SLAVE_FAILOVER' => isset(self::$failover[$failover]) ? new ConstStub(self::$failover[$failover], $failover) : $failover, - ]), - ]; - - return $a; - } - - /** - * @param \Redis|\RedisArray|\RedisCluster $redis - */ - private static function getRedisOptions($redis, array $options = []): EnumStub - { - $serializer = $redis->getOption(\Redis::OPT_SERIALIZER); - if (\is_array($serializer)) { - foreach ($serializer as &$v) { - if (isset(self::$serializer[$v])) { - $v = new ConstStub(self::$serializer[$v], $v); - } - } - } elseif (isset(self::$serializer[$serializer])) { - $serializer = new ConstStub(self::$serializer[$serializer], $serializer); - } - - $compression = \defined('Redis::OPT_COMPRESSION') ? $redis->getOption(\Redis::OPT_COMPRESSION) : 0; - if (\is_array($compression)) { - foreach ($compression as &$v) { - if (isset(self::$compression[$v])) { - $v = new ConstStub(self::$compression[$v], $v); - } - } - } elseif (isset(self::$compression[$compression])) { - $compression = new ConstStub(self::$compression[$compression], $compression); - } - - $retry = \defined('Redis::OPT_SCAN') ? $redis->getOption(\Redis::OPT_SCAN) : 0; - if (\is_array($retry)) { - foreach ($retry as &$v) { - $v = new ConstStub($v ? 'RETRY' : 'NORETRY', $v); - } - } else { - $retry = new ConstStub($retry ? 'RETRY' : 'NORETRY', $retry); - } - - $options += [ - 'TCP_KEEPALIVE' => \defined('Redis::OPT_TCP_KEEPALIVE') ? $redis->getOption(\Redis::OPT_TCP_KEEPALIVE) : 0, - 'READ_TIMEOUT' => $redis->getOption(\Redis::OPT_READ_TIMEOUT), - 'COMPRESSION' => $compression, - 'SERIALIZER' => $serializer, - 'PREFIX' => $redis->getOption(\Redis::OPT_PREFIX), - 'SCAN' => $retry, - ]; - - return new EnumStub($options); - } -} diff --git a/paragonik-backend/vendor/symfony/var-dumper/Caster/ReflectionCaster.php b/paragonik-backend/vendor/symfony/var-dumper/Caster/ReflectionCaster.php deleted file mode 100644 index 45bd5e6..0000000 --- a/paragonik-backend/vendor/symfony/var-dumper/Caster/ReflectionCaster.php +++ /dev/null @@ -1,384 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\VarDumper\Caster; - -use Symfony\Component\VarDumper\Cloner\Stub; - -/** - * Casts Reflector related classes to array representation. - * - * @author Nicolas Grekas - * - * @final since Symfony 4.4 - */ -class ReflectionCaster -{ - const UNSET_CLOSURE_FILE_INFO = ['Closure' => __CLASS__.'::unsetClosureFileInfo']; - - private static $extraMap = [ - 'docComment' => 'getDocComment', - 'extension' => 'getExtensionName', - 'isDisabled' => 'isDisabled', - 'isDeprecated' => 'isDeprecated', - 'isInternal' => 'isInternal', - 'isUserDefined' => 'isUserDefined', - 'isGenerator' => 'isGenerator', - 'isVariadic' => 'isVariadic', - ]; - - public static function castClosure(\Closure $c, array $a, Stub $stub, $isNested, $filter = 0) - { - $prefix = Caster::PREFIX_VIRTUAL; - $c = new \ReflectionFunction($c); - - $a = static::castFunctionAbstract($c, $a, $stub, $isNested, $filter); - - if (false === strpos($c->name, '{closure}')) { - $stub->class = isset($a[$prefix.'class']) ? $a[$prefix.'class']->value.'::'.$c->name : $c->name; - unset($a[$prefix.'class']); - } - unset($a[$prefix.'extra']); - - $stub->class .= self::getSignature($a); - - if ($f = $c->getFileName()) { - $stub->attr['file'] = $f; - $stub->attr['line'] = $c->getStartLine(); - } - - unset($a[$prefix.'parameters']); - - if ($filter & Caster::EXCLUDE_VERBOSE) { - $stub->cut += ($c->getFileName() ? 2 : 0) + \count($a); - - return []; - } - - if ($f) { - $a[$prefix.'file'] = new LinkStub($f, $c->getStartLine()); - $a[$prefix.'line'] = $c->getStartLine().' to '.$c->getEndLine(); - } - - return $a; - } - - public static function unsetClosureFileInfo(\Closure $c, array $a) - { - unset($a[Caster::PREFIX_VIRTUAL.'file'], $a[Caster::PREFIX_VIRTUAL.'line']); - - return $a; - } - - public static function castGenerator(\Generator $c, array $a, Stub $stub, $isNested) - { - // Cannot create ReflectionGenerator based on a terminated Generator - try { - $reflectionGenerator = new \ReflectionGenerator($c); - } catch (\Exception $e) { - $a[Caster::PREFIX_VIRTUAL.'closed'] = true; - - return $a; - } - - return self::castReflectionGenerator($reflectionGenerator, $a, $stub, $isNested); - } - - public static function castType(\ReflectionType $c, array $a, Stub $stub, $isNested) - { - $prefix = Caster::PREFIX_VIRTUAL; - - $a += [ - $prefix.'name' => $c->getName(), - $prefix.'allowsNull' => $c->allowsNull(), - $prefix.'isBuiltin' => $c->isBuiltin(), - ]; - - return $a; - } - - public static function castReflectionGenerator(\ReflectionGenerator $c, array $a, Stub $stub, $isNested) - { - $prefix = Caster::PREFIX_VIRTUAL; - - if ($c->getThis()) { - $a[$prefix.'this'] = new CutStub($c->getThis()); - } - $function = $c->getFunction(); - $frame = [ - 'class' => isset($function->class) ? $function->class : null, - 'type' => isset($function->class) ? ($function->isStatic() ? '::' : '->') : null, - 'function' => $function->name, - 'file' => $c->getExecutingFile(), - 'line' => $c->getExecutingLine(), - ]; - if ($trace = $c->getTrace(DEBUG_BACKTRACE_IGNORE_ARGS)) { - $function = new \ReflectionGenerator($c->getExecutingGenerator()); - array_unshift($trace, [ - 'function' => 'yield', - 'file' => $function->getExecutingFile(), - 'line' => $function->getExecutingLine() - 1, - ]); - $trace[] = $frame; - $a[$prefix.'trace'] = new TraceStub($trace, false, 0, -1, -1); - } else { - $function = new FrameStub($frame, false, true); - $function = ExceptionCaster::castFrameStub($function, [], $function, true); - $a[$prefix.'executing'] = $function[$prefix.'src']; - } - - $a[Caster::PREFIX_VIRTUAL.'closed'] = false; - - return $a; - } - - public static function castClass(\ReflectionClass $c, array $a, Stub $stub, $isNested, $filter = 0) - { - $prefix = Caster::PREFIX_VIRTUAL; - - if ($n = \Reflection::getModifierNames($c->getModifiers())) { - $a[$prefix.'modifiers'] = implode(' ', $n); - } - - self::addMap($a, $c, [ - 'extends' => 'getParentClass', - 'implements' => 'getInterfaceNames', - 'constants' => 'getConstants', - ]); - - foreach ($c->getProperties() as $n) { - $a[$prefix.'properties'][$n->name] = $n; - } - - foreach ($c->getMethods() as $n) { - $a[$prefix.'methods'][$n->name] = $n; - } - - if (!($filter & Caster::EXCLUDE_VERBOSE) && !$isNested) { - self::addExtra($a, $c); - } - - return $a; - } - - public static function castFunctionAbstract(\ReflectionFunctionAbstract $c, array $a, Stub $stub, $isNested, $filter = 0) - { - $prefix = Caster::PREFIX_VIRTUAL; - - self::addMap($a, $c, [ - 'returnsReference' => 'returnsReference', - 'returnType' => 'getReturnType', - 'class' => 'getClosureScopeClass', - 'this' => 'getClosureThis', - ]); - - if (isset($a[$prefix.'returnType'])) { - $v = $a[$prefix.'returnType']; - $v = $v->getName(); - $a[$prefix.'returnType'] = new ClassStub($a[$prefix.'returnType']->allowsNull() ? '?'.$v : $v, [class_exists($v, false) || interface_exists($v, false) || trait_exists($v, false) ? $v : '', '']); - } - if (isset($a[$prefix.'class'])) { - $a[$prefix.'class'] = new ClassStub($a[$prefix.'class']); - } - if (isset($a[$prefix.'this'])) { - $a[$prefix.'this'] = new CutStub($a[$prefix.'this']); - } - - foreach ($c->getParameters() as $v) { - $k = '$'.$v->name; - if ($v->isVariadic()) { - $k = '...'.$k; - } - if ($v->isPassedByReference()) { - $k = '&'.$k; - } - $a[$prefix.'parameters'][$k] = $v; - } - if (isset($a[$prefix.'parameters'])) { - $a[$prefix.'parameters'] = new EnumStub($a[$prefix.'parameters']); - } - - if (!($filter & Caster::EXCLUDE_VERBOSE) && $v = $c->getStaticVariables()) { - foreach ($v as $k => &$v) { - if (\is_object($v)) { - $a[$prefix.'use']['$'.$k] = new CutStub($v); - } else { - $a[$prefix.'use']['$'.$k] = &$v; - } - } - unset($v); - $a[$prefix.'use'] = new EnumStub($a[$prefix.'use']); - } - - if (!($filter & Caster::EXCLUDE_VERBOSE) && !$isNested) { - self::addExtra($a, $c); - } - - return $a; - } - - public static function castMethod(\ReflectionMethod $c, array $a, Stub $stub, $isNested) - { - $a[Caster::PREFIX_VIRTUAL.'modifiers'] = implode(' ', \Reflection::getModifierNames($c->getModifiers())); - - return $a; - } - - public static function castParameter(\ReflectionParameter $c, array $a, Stub $stub, $isNested) - { - $prefix = Caster::PREFIX_VIRTUAL; - - self::addMap($a, $c, [ - 'position' => 'getPosition', - 'isVariadic' => 'isVariadic', - 'byReference' => 'isPassedByReference', - 'allowsNull' => 'allowsNull', - ]); - - if ($v = $c->getType()) { - $a[$prefix.'typeHint'] = $v->getName(); - } - - if (isset($a[$prefix.'typeHint'])) { - $v = $a[$prefix.'typeHint']; - $a[$prefix.'typeHint'] = new ClassStub($v, [class_exists($v, false) || interface_exists($v, false) || trait_exists($v, false) ? $v : '', '']); - } else { - unset($a[$prefix.'allowsNull']); - } - - try { - $a[$prefix.'default'] = $v = $c->getDefaultValue(); - if ($c->isDefaultValueConstant()) { - $a[$prefix.'default'] = new ConstStub($c->getDefaultValueConstantName(), $v); - } - if (null === $v) { - unset($a[$prefix.'allowsNull']); - } - } catch (\ReflectionException $e) { - } - - return $a; - } - - public static function castProperty(\ReflectionProperty $c, array $a, Stub $stub, $isNested) - { - $a[Caster::PREFIX_VIRTUAL.'modifiers'] = implode(' ', \Reflection::getModifierNames($c->getModifiers())); - self::addExtra($a, $c); - - return $a; - } - - public static function castReference(\ReflectionReference $c, array $a, Stub $stub, $isNested) - { - $a[Caster::PREFIX_VIRTUAL.'id'] = $c->getId(); - - return $a; - } - - public static function castExtension(\ReflectionExtension $c, array $a, Stub $stub, $isNested) - { - self::addMap($a, $c, [ - 'version' => 'getVersion', - 'dependencies' => 'getDependencies', - 'iniEntries' => 'getIniEntries', - 'isPersistent' => 'isPersistent', - 'isTemporary' => 'isTemporary', - 'constants' => 'getConstants', - 'functions' => 'getFunctions', - 'classes' => 'getClasses', - ]); - - return $a; - } - - public static function castZendExtension(\ReflectionZendExtension $c, array $a, Stub $stub, $isNested) - { - self::addMap($a, $c, [ - 'version' => 'getVersion', - 'author' => 'getAuthor', - 'copyright' => 'getCopyright', - 'url' => 'getURL', - ]); - - return $a; - } - - public static function getSignature(array $a) - { - $prefix = Caster::PREFIX_VIRTUAL; - $signature = ''; - - if (isset($a[$prefix.'parameters'])) { - foreach ($a[$prefix.'parameters']->value as $k => $param) { - $signature .= ', '; - if ($type = $param->getType()) { - if (!$param->isOptional() && $param->allowsNull()) { - $signature .= '?'; - } - $signature .= substr(strrchr('\\'.$type->getName(), '\\'), 1).' '; - } - $signature .= $k; - - if (!$param->isDefaultValueAvailable()) { - continue; - } - $v = $param->getDefaultValue(); - $signature .= ' = '; - - if ($param->isDefaultValueConstant()) { - $signature .= substr(strrchr('\\'.$param->getDefaultValueConstantName(), '\\'), 1); - } elseif (null === $v) { - $signature .= 'null'; - } elseif (\is_array($v)) { - $signature .= $v ? '[…'.\count($v).']' : '[]'; - } elseif (\is_string($v)) { - $signature .= 10 > \strlen($v) && false === strpos($v, '\\') ? "'{$v}'" : "'…".\strlen($v)."'"; - } elseif (\is_bool($v)) { - $signature .= $v ? 'true' : 'false'; - } else { - $signature .= $v; - } - } - } - $signature = (empty($a[$prefix.'returnsReference']) ? '' : '&').'('.substr($signature, 2).')'; - - if (isset($a[$prefix.'returnType'])) { - $signature .= ': '.substr(strrchr('\\'.$a[$prefix.'returnType'], '\\'), 1); - } - - return $signature; - } - - private static function addExtra(array &$a, \Reflector $c) - { - $x = isset($a[Caster::PREFIX_VIRTUAL.'extra']) ? $a[Caster::PREFIX_VIRTUAL.'extra']->value : []; - - if (method_exists($c, 'getFileName') && $m = $c->getFileName()) { - $x['file'] = new LinkStub($m, $c->getStartLine()); - $x['line'] = $c->getStartLine().' to '.$c->getEndLine(); - } - - self::addMap($x, $c, self::$extraMap, ''); - - if ($x) { - $a[Caster::PREFIX_VIRTUAL.'extra'] = new EnumStub($x); - } - } - - private static function addMap(array &$a, \Reflector $c, array $map, string $prefix = Caster::PREFIX_VIRTUAL) - { - foreach ($map as $k => $m) { - if (method_exists($c, $m) && false !== ($m = $c->$m()) && null !== $m) { - $a[$prefix.$k] = $m instanceof \Reflector ? $m->name : $m; - } - } - } -} diff --git a/paragonik-backend/vendor/symfony/var-dumper/Caster/ResourceCaster.php b/paragonik-backend/vendor/symfony/var-dumper/Caster/ResourceCaster.php deleted file mode 100644 index 78b5aab..0000000 --- a/paragonik-backend/vendor/symfony/var-dumper/Caster/ResourceCaster.php +++ /dev/null @@ -1,100 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\VarDumper\Caster; - -use Symfony\Component\VarDumper\Cloner\Stub; - -/** - * Casts common resource types to array representation. - * - * @author Nicolas Grekas - * - * @final since Symfony 4.4 - */ -class ResourceCaster -{ - public static function castCurl($h, array $a, Stub $stub, $isNested) - { - return curl_getinfo($h); - } - - public static function castDba($dba, array $a, Stub $stub, $isNested) - { - $list = dba_list(); - $a['file'] = $list[(int) $dba]; - - return $a; - } - - public static function castProcess($process, array $a, Stub $stub, $isNested) - { - return proc_get_status($process); - } - - public static function castStream($stream, array $a, Stub $stub, $isNested) - { - $a = stream_get_meta_data($stream) + static::castStreamContext($stream, $a, $stub, $isNested); - if (isset($a['uri'])) { - $a['uri'] = new LinkStub($a['uri']); - } - - return $a; - } - - public static function castStreamContext($stream, array $a, Stub $stub, $isNested) - { - return @stream_context_get_params($stream) ?: $a; - } - - public static function castGd($gd, array $a, Stub $stub, $isNested) - { - $a['size'] = imagesx($gd).'x'.imagesy($gd); - $a['trueColor'] = imageistruecolor($gd); - - return $a; - } - - public static function castMysqlLink($h, array $a, Stub $stub, $isNested) - { - $a['host'] = mysql_get_host_info($h); - $a['protocol'] = mysql_get_proto_info($h); - $a['server'] = mysql_get_server_info($h); - - return $a; - } - - public static function castOpensslX509($h, array $a, Stub $stub, $isNested) - { - $stub->cut = -1; - $info = openssl_x509_parse($h, false); - - $pin = openssl_pkey_get_public($h); - $pin = openssl_pkey_get_details($pin)['key']; - $pin = \array_slice(explode("\n", $pin), 1, -2); - $pin = base64_decode(implode('', $pin)); - $pin = base64_encode(hash('sha256', $pin, true)); - - $a += [ - 'subject' => new EnumStub(array_intersect_key($info['subject'], ['organizationName' => true, 'commonName' => true])), - 'issuer' => new EnumStub(array_intersect_key($info['issuer'], ['organizationName' => true, 'commonName' => true])), - 'expiry' => new ConstStub(date(\DateTime::ISO8601, $info['validTo_time_t']), $info['validTo_time_t']), - 'fingerprint' => new EnumStub([ - 'md5' => new ConstStub(wordwrap(strtoupper(openssl_x509_fingerprint($h, 'md5')), 2, ':', true)), - 'sha1' => new ConstStub(wordwrap(strtoupper(openssl_x509_fingerprint($h, 'sha1')), 2, ':', true)), - 'sha256' => new ConstStub(wordwrap(strtoupper(openssl_x509_fingerprint($h, 'sha256')), 2, ':', true)), - 'pin-sha256' => new ConstStub($pin), - ]), - ]; - - return $a; - } -} diff --git a/paragonik-backend/vendor/symfony/var-dumper/Caster/SplCaster.php b/paragonik-backend/vendor/symfony/var-dumper/Caster/SplCaster.php deleted file mode 100644 index b2d4e3c..0000000 --- a/paragonik-backend/vendor/symfony/var-dumper/Caster/SplCaster.php +++ /dev/null @@ -1,228 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\VarDumper\Caster; - -use Symfony\Component\VarDumper\Cloner\Stub; - -/** - * Casts SPL related classes to array representation. - * - * @author Nicolas Grekas - * - * @final since Symfony 4.4 - */ -class SplCaster -{ - private static $splFileObjectFlags = [ - \SplFileObject::DROP_NEW_LINE => 'DROP_NEW_LINE', - \SplFileObject::READ_AHEAD => 'READ_AHEAD', - \SplFileObject::SKIP_EMPTY => 'SKIP_EMPTY', - \SplFileObject::READ_CSV => 'READ_CSV', - ]; - - public static function castArrayObject(\ArrayObject $c, array $a, Stub $stub, $isNested) - { - return self::castSplArray($c, $a, $stub, $isNested); - } - - public static function castArrayIterator(\ArrayIterator $c, array $a, Stub $stub, $isNested) - { - return self::castSplArray($c, $a, $stub, $isNested); - } - - public static function castHeap(\Iterator $c, array $a, Stub $stub, $isNested) - { - $a += [ - Caster::PREFIX_VIRTUAL.'heap' => iterator_to_array(clone $c), - ]; - - return $a; - } - - public static function castDoublyLinkedList(\SplDoublyLinkedList $c, array $a, Stub $stub, $isNested) - { - $prefix = Caster::PREFIX_VIRTUAL; - $mode = $c->getIteratorMode(); - $c->setIteratorMode(\SplDoublyLinkedList::IT_MODE_KEEP | $mode & ~\SplDoublyLinkedList::IT_MODE_DELETE); - - $a += [ - $prefix.'mode' => new ConstStub((($mode & \SplDoublyLinkedList::IT_MODE_LIFO) ? 'IT_MODE_LIFO' : 'IT_MODE_FIFO').' | '.(($mode & \SplDoublyLinkedList::IT_MODE_DELETE) ? 'IT_MODE_DELETE' : 'IT_MODE_KEEP'), $mode), - $prefix.'dllist' => iterator_to_array($c), - ]; - $c->setIteratorMode($mode); - - return $a; - } - - public static function castFileInfo(\SplFileInfo $c, array $a, Stub $stub, $isNested) - { - static $map = [ - 'path' => 'getPath', - 'filename' => 'getFilename', - 'basename' => 'getBasename', - 'pathname' => 'getPathname', - 'extension' => 'getExtension', - 'realPath' => 'getRealPath', - 'aTime' => 'getATime', - 'mTime' => 'getMTime', - 'cTime' => 'getCTime', - 'inode' => 'getInode', - 'size' => 'getSize', - 'perms' => 'getPerms', - 'owner' => 'getOwner', - 'group' => 'getGroup', - 'type' => 'getType', - 'writable' => 'isWritable', - 'readable' => 'isReadable', - 'executable' => 'isExecutable', - 'file' => 'isFile', - 'dir' => 'isDir', - 'link' => 'isLink', - 'linkTarget' => 'getLinkTarget', - ]; - - $prefix = Caster::PREFIX_VIRTUAL; - - if (false === $c->getPathname()) { - $a[$prefix.'⚠'] = 'The parent constructor was not called: the object is in an invalid state'; - - return $a; - } - - foreach ($map as $key => $accessor) { - try { - $a[$prefix.$key] = $c->$accessor(); - } catch (\Exception $e) { - } - } - - if (isset($a[$prefix.'realPath'])) { - $a[$prefix.'realPath'] = new LinkStub($a[$prefix.'realPath']); - } - - if (isset($a[$prefix.'perms'])) { - $a[$prefix.'perms'] = new ConstStub(sprintf('0%o', $a[$prefix.'perms']), $a[$prefix.'perms']); - } - - static $mapDate = ['aTime', 'mTime', 'cTime']; - foreach ($mapDate as $key) { - if (isset($a[$prefix.$key])) { - $a[$prefix.$key] = new ConstStub(date('Y-m-d H:i:s', $a[$prefix.$key]), $a[$prefix.$key]); - } - } - - return $a; - } - - public static function castFileObject(\SplFileObject $c, array $a, Stub $stub, $isNested) - { - static $map = [ - 'csvControl' => 'getCsvControl', - 'flags' => 'getFlags', - 'maxLineLen' => 'getMaxLineLen', - 'fstat' => 'fstat', - 'eof' => 'eof', - 'key' => 'key', - ]; - - $prefix = Caster::PREFIX_VIRTUAL; - - foreach ($map as $key => $accessor) { - try { - $a[$prefix.$key] = $c->$accessor(); - } catch (\Exception $e) { - } - } - - if (isset($a[$prefix.'flags'])) { - $flagsArray = []; - foreach (self::$splFileObjectFlags as $value => $name) { - if ($a[$prefix.'flags'] & $value) { - $flagsArray[] = $name; - } - } - $a[$prefix.'flags'] = new ConstStub(implode('|', $flagsArray), $a[$prefix.'flags']); - } - - if (isset($a[$prefix.'fstat'])) { - $a[$prefix.'fstat'] = new CutArrayStub($a[$prefix.'fstat'], ['dev', 'ino', 'nlink', 'rdev', 'blksize', 'blocks']); - } - - return $a; - } - - public static function castFixedArray(\SplFixedArray $c, array $a, Stub $stub, $isNested) - { - $a += [ - Caster::PREFIX_VIRTUAL.'storage' => $c->toArray(), - ]; - - return $a; - } - - public static function castObjectStorage(\SplObjectStorage $c, array $a, Stub $stub, $isNested) - { - $storage = []; - unset($a[Caster::PREFIX_DYNAMIC."\0gcdata"]); // Don't hit https://bugs.php.net/65967 - - $clone = clone $c; - foreach ($clone as $obj) { - $storage[] = [ - 'object' => $obj, - 'info' => $clone->getInfo(), - ]; - } - - $a += [ - Caster::PREFIX_VIRTUAL.'storage' => $storage, - ]; - - return $a; - } - - public static function castOuterIterator(\OuterIterator $c, array $a, Stub $stub, $isNested) - { - $a[Caster::PREFIX_VIRTUAL.'innerIterator'] = $c->getInnerIterator(); - - return $a; - } - - public static function castWeakReference(\WeakReference $c, array $a, Stub $stub, $isNested) - { - $a[Caster::PREFIX_VIRTUAL.'object'] = $c->get(); - - return $a; - } - - private static function castSplArray($c, array $a, Stub $stub, bool $isNested): array - { - $prefix = Caster::PREFIX_VIRTUAL; - $class = $stub->class; - $flags = $c->getFlags(); - - if (!($flags & \ArrayObject::STD_PROP_LIST)) { - $c->setFlags(\ArrayObject::STD_PROP_LIST); - $a = Caster::castObject($c, $class); - $c->setFlags($flags); - } - $a += [ - $prefix.'flag::STD_PROP_LIST' => (bool) ($flags & \ArrayObject::STD_PROP_LIST), - $prefix.'flag::ARRAY_AS_PROPS' => (bool) ($flags & \ArrayObject::ARRAY_AS_PROPS), - ]; - if ($c instanceof \ArrayObject) { - $a[$prefix.'iteratorClass'] = new ClassStub($c->getIteratorClass()); - } - $a[$prefix.'storage'] = $c->getArrayCopy(); - - return $a; - } -} diff --git a/paragonik-backend/vendor/symfony/var-dumper/Caster/StubCaster.php b/paragonik-backend/vendor/symfony/var-dumper/Caster/StubCaster.php deleted file mode 100644 index b6332fb..0000000 --- a/paragonik-backend/vendor/symfony/var-dumper/Caster/StubCaster.php +++ /dev/null @@ -1,84 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\VarDumper\Caster; - -use Symfony\Component\VarDumper\Cloner\Stub; - -/** - * Casts a caster's Stub. - * - * @author Nicolas Grekas - * - * @final since Symfony 4.4 - */ -class StubCaster -{ - public static function castStub(Stub $c, array $a, Stub $stub, $isNested) - { - if ($isNested) { - $stub->type = $c->type; - $stub->class = $c->class; - $stub->value = $c->value; - $stub->handle = $c->handle; - $stub->cut = $c->cut; - $stub->attr = $c->attr; - - if (Stub::TYPE_REF === $c->type && !$c->class && \is_string($c->value) && !preg_match('//u', $c->value)) { - $stub->type = Stub::TYPE_STRING; - $stub->class = Stub::STRING_BINARY; - } - - $a = []; - } - - return $a; - } - - public static function castCutArray(CutArrayStub $c, array $a, Stub $stub, $isNested) - { - return $isNested ? $c->preservedSubset : $a; - } - - public static function cutInternals($obj, array $a, Stub $stub, $isNested) - { - if ($isNested) { - $stub->cut += \count($a); - - return []; - } - - return $a; - } - - public static function castEnum(EnumStub $c, array $a, Stub $stub, $isNested) - { - if ($isNested) { - $stub->class = $c->dumpKeys ? '' : null; - $stub->handle = 0; - $stub->value = null; - $stub->cut = $c->cut; - $stub->attr = $c->attr; - - $a = []; - - if ($c->value) { - foreach (array_keys($c->value) as $k) { - $keys[] = !isset($k[0]) || "\0" !== $k[0] ? Caster::PREFIX_VIRTUAL.$k : $k; - } - // Preserve references with array_combine() - $a = array_combine($keys, $c->value); - } - } - - return $a; - } -} diff --git a/paragonik-backend/vendor/symfony/var-dumper/Caster/SymfonyCaster.php b/paragonik-backend/vendor/symfony/var-dumper/Caster/SymfonyCaster.php deleted file mode 100644 index ad7bb71..0000000 --- a/paragonik-backend/vendor/symfony/var-dumper/Caster/SymfonyCaster.php +++ /dev/null @@ -1,69 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\VarDumper\Caster; - -use Symfony\Component\HttpFoundation\Request; -use Symfony\Component\VarDumper\Cloner\Stub; - -/** - * @final since Symfony 4.4 - */ -class SymfonyCaster -{ - private static $requestGetters = [ - 'pathInfo' => 'getPathInfo', - 'requestUri' => 'getRequestUri', - 'baseUrl' => 'getBaseUrl', - 'basePath' => 'getBasePath', - 'method' => 'getMethod', - 'format' => 'getRequestFormat', - ]; - - public static function castRequest(Request $request, array $a, Stub $stub, $isNested) - { - $clone = null; - - foreach (self::$requestGetters as $prop => $getter) { - $key = Caster::PREFIX_PROTECTED.$prop; - if (\array_key_exists($key, $a) && null === $a[$key]) { - if (null === $clone) { - $clone = clone $request; - } - $a[Caster::PREFIX_VIRTUAL.$prop] = $clone->{$getter}(); - } - } - - return $a; - } - - public static function castHttpClient($client, array $a, Stub $stub, $isNested) - { - $multiKey = sprintf("\0%s\0multi", \get_class($client)); - if (isset($a[$multiKey])) { - $a[$multiKey] = new CutStub($a[$multiKey]); - } - - return $a; - } - - public static function castHttpClientResponse($response, array $a, Stub $stub, $isNested) - { - $stub->cut += \count($a); - $a = []; - - foreach ($response->getInfo() as $k => $v) { - $a[Caster::PREFIX_VIRTUAL.$k] = $v; - } - - return $a; - } -} diff --git a/paragonik-backend/vendor/symfony/var-dumper/Caster/TraceStub.php b/paragonik-backend/vendor/symfony/var-dumper/Caster/TraceStub.php deleted file mode 100644 index 5eea1c8..0000000 --- a/paragonik-backend/vendor/symfony/var-dumper/Caster/TraceStub.php +++ /dev/null @@ -1,36 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\VarDumper\Caster; - -use Symfony\Component\VarDumper\Cloner\Stub; - -/** - * Represents a backtrace as returned by debug_backtrace() or Exception->getTrace(). - * - * @author Nicolas Grekas - */ -class TraceStub extends Stub -{ - public $keepArgs; - public $sliceOffset; - public $sliceLength; - public $numberingOffset; - - public function __construct(array $trace, bool $keepArgs = true, int $sliceOffset = 0, int $sliceLength = null, int $numberingOffset = 0) - { - $this->value = $trace; - $this->keepArgs = $keepArgs; - $this->sliceOffset = $sliceOffset; - $this->sliceLength = $sliceLength; - $this->numberingOffset = $numberingOffset; - } -} diff --git a/paragonik-backend/vendor/symfony/var-dumper/Caster/UuidCaster.php b/paragonik-backend/vendor/symfony/var-dumper/Caster/UuidCaster.php deleted file mode 100644 index b102774..0000000 --- a/paragonik-backend/vendor/symfony/var-dumper/Caster/UuidCaster.php +++ /dev/null @@ -1,30 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\VarDumper\Caster; - -use Ramsey\Uuid\UuidInterface; -use Symfony\Component\VarDumper\Cloner\Stub; - -/** - * @author Grégoire Pineau - */ -final class UuidCaster -{ - public static function castRamseyUuid(UuidInterface $c, array $a, Stub $stub, bool $isNested): array - { - $a += [ - Caster::PREFIX_VIRTUAL.'uuid' => (string) $c, - ]; - - return $a; - } -} diff --git a/paragonik-backend/vendor/symfony/var-dumper/Caster/XmlReaderCaster.php b/paragonik-backend/vendor/symfony/var-dumper/Caster/XmlReaderCaster.php deleted file mode 100644 index d18e474..0000000 --- a/paragonik-backend/vendor/symfony/var-dumper/Caster/XmlReaderCaster.php +++ /dev/null @@ -1,79 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\VarDumper\Caster; - -use Symfony\Component\VarDumper\Cloner\Stub; - -/** - * Casts XmlReader class to array representation. - * - * @author Baptiste Clavié - * - * @final since Symfony 4.4 - */ -class XmlReaderCaster -{ - private static $nodeTypes = [ - \XMLReader::NONE => 'NONE', - \XMLReader::ELEMENT => 'ELEMENT', - \XMLReader::ATTRIBUTE => 'ATTRIBUTE', - \XMLReader::TEXT => 'TEXT', - \XMLReader::CDATA => 'CDATA', - \XMLReader::ENTITY_REF => 'ENTITY_REF', - \XMLReader::ENTITY => 'ENTITY', - \XMLReader::PI => 'PI (Processing Instruction)', - \XMLReader::COMMENT => 'COMMENT', - \XMLReader::DOC => 'DOC', - \XMLReader::DOC_TYPE => 'DOC_TYPE', - \XMLReader::DOC_FRAGMENT => 'DOC_FRAGMENT', - \XMLReader::NOTATION => 'NOTATION', - \XMLReader::WHITESPACE => 'WHITESPACE', - \XMLReader::SIGNIFICANT_WHITESPACE => 'SIGNIFICANT_WHITESPACE', - \XMLReader::END_ELEMENT => 'END_ELEMENT', - \XMLReader::END_ENTITY => 'END_ENTITY', - \XMLReader::XML_DECLARATION => 'XML_DECLARATION', - ]; - - public static function castXmlReader(\XMLReader $reader, array $a, Stub $stub, $isNested) - { - $props = Caster::PREFIX_VIRTUAL.'parserProperties'; - $info = [ - 'localName' => $reader->localName, - 'prefix' => $reader->prefix, - 'nodeType' => new ConstStub(self::$nodeTypes[$reader->nodeType], $reader->nodeType), - 'depth' => $reader->depth, - 'isDefault' => $reader->isDefault, - 'isEmptyElement' => \XMLReader::NONE === $reader->nodeType ? null : $reader->isEmptyElement, - 'xmlLang' => $reader->xmlLang, - 'attributeCount' => $reader->attributeCount, - 'value' => $reader->value, - 'namespaceURI' => $reader->namespaceURI, - 'baseURI' => $reader->baseURI ? new LinkStub($reader->baseURI) : $reader->baseURI, - $props => [ - 'LOADDTD' => $reader->getParserProperty(\XMLReader::LOADDTD), - 'DEFAULTATTRS' => $reader->getParserProperty(\XMLReader::DEFAULTATTRS), - 'VALIDATE' => $reader->getParserProperty(\XMLReader::VALIDATE), - 'SUBST_ENTITIES' => $reader->getParserProperty(\XMLReader::SUBST_ENTITIES), - ], - ]; - - if ($info[$props] = Caster::filter($info[$props], Caster::EXCLUDE_EMPTY, [], $count)) { - $info[$props] = new EnumStub($info[$props]); - $info[$props]->cut = $count; - } - - $info = Caster::filter($info, Caster::EXCLUDE_EMPTY, [], $count); - // +2 because hasValue and hasAttributes are always filtered - $stub->cut += $count + 2; - - return $a + $info; - } -} diff --git a/paragonik-backend/vendor/symfony/var-dumper/Caster/XmlResourceCaster.php b/paragonik-backend/vendor/symfony/var-dumper/Caster/XmlResourceCaster.php deleted file mode 100644 index ce0317c..0000000 --- a/paragonik-backend/vendor/symfony/var-dumper/Caster/XmlResourceCaster.php +++ /dev/null @@ -1,63 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\VarDumper\Caster; - -use Symfony\Component\VarDumper\Cloner\Stub; - -/** - * Casts XML resources to array representation. - * - * @author Nicolas Grekas - * - * @final since Symfony 4.4 - */ -class XmlResourceCaster -{ - private static $xmlErrors = [ - XML_ERROR_NONE => 'XML_ERROR_NONE', - XML_ERROR_NO_MEMORY => 'XML_ERROR_NO_MEMORY', - XML_ERROR_SYNTAX => 'XML_ERROR_SYNTAX', - XML_ERROR_NO_ELEMENTS => 'XML_ERROR_NO_ELEMENTS', - XML_ERROR_INVALID_TOKEN => 'XML_ERROR_INVALID_TOKEN', - XML_ERROR_UNCLOSED_TOKEN => 'XML_ERROR_UNCLOSED_TOKEN', - XML_ERROR_PARTIAL_CHAR => 'XML_ERROR_PARTIAL_CHAR', - XML_ERROR_TAG_MISMATCH => 'XML_ERROR_TAG_MISMATCH', - XML_ERROR_DUPLICATE_ATTRIBUTE => 'XML_ERROR_DUPLICATE_ATTRIBUTE', - XML_ERROR_JUNK_AFTER_DOC_ELEMENT => 'XML_ERROR_JUNK_AFTER_DOC_ELEMENT', - XML_ERROR_PARAM_ENTITY_REF => 'XML_ERROR_PARAM_ENTITY_REF', - XML_ERROR_UNDEFINED_ENTITY => 'XML_ERROR_UNDEFINED_ENTITY', - XML_ERROR_RECURSIVE_ENTITY_REF => 'XML_ERROR_RECURSIVE_ENTITY_REF', - XML_ERROR_ASYNC_ENTITY => 'XML_ERROR_ASYNC_ENTITY', - XML_ERROR_BAD_CHAR_REF => 'XML_ERROR_BAD_CHAR_REF', - XML_ERROR_BINARY_ENTITY_REF => 'XML_ERROR_BINARY_ENTITY_REF', - XML_ERROR_ATTRIBUTE_EXTERNAL_ENTITY_REF => 'XML_ERROR_ATTRIBUTE_EXTERNAL_ENTITY_REF', - XML_ERROR_MISPLACED_XML_PI => 'XML_ERROR_MISPLACED_XML_PI', - XML_ERROR_UNKNOWN_ENCODING => 'XML_ERROR_UNKNOWN_ENCODING', - XML_ERROR_INCORRECT_ENCODING => 'XML_ERROR_INCORRECT_ENCODING', - XML_ERROR_UNCLOSED_CDATA_SECTION => 'XML_ERROR_UNCLOSED_CDATA_SECTION', - XML_ERROR_EXTERNAL_ENTITY_HANDLING => 'XML_ERROR_EXTERNAL_ENTITY_HANDLING', - ]; - - public static function castXml($h, array $a, Stub $stub, $isNested) - { - $a['current_byte_index'] = xml_get_current_byte_index($h); - $a['current_column_number'] = xml_get_current_column_number($h); - $a['current_line_number'] = xml_get_current_line_number($h); - $a['error_code'] = xml_get_error_code($h); - - if (isset(self::$xmlErrors[$a['error_code']])) { - $a['error_code'] = new ConstStub(self::$xmlErrors[$a['error_code']], $a['error_code']); - } - - return $a; - } -} diff --git a/paragonik-backend/vendor/symfony/var-dumper/Cloner/AbstractCloner.php b/paragonik-backend/vendor/symfony/var-dumper/Cloner/AbstractCloner.php deleted file mode 100644 index 9b8d86a..0000000 --- a/paragonik-backend/vendor/symfony/var-dumper/Cloner/AbstractCloner.php +++ /dev/null @@ -1,365 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\VarDumper\Cloner; - -use Symfony\Component\VarDumper\Caster\Caster; -use Symfony\Component\VarDumper\Exception\ThrowingCasterException; - -/** - * AbstractCloner implements a generic caster mechanism for objects and resources. - * - * @author Nicolas Grekas - */ -abstract class AbstractCloner implements ClonerInterface -{ - public static $defaultCasters = [ - '__PHP_Incomplete_Class' => ['Symfony\Component\VarDumper\Caster\Caster', 'castPhpIncompleteClass'], - - 'Symfony\Component\VarDumper\Caster\CutStub' => ['Symfony\Component\VarDumper\Caster\StubCaster', 'castStub'], - 'Symfony\Component\VarDumper\Caster\CutArrayStub' => ['Symfony\Component\VarDumper\Caster\StubCaster', 'castCutArray'], - 'Symfony\Component\VarDumper\Caster\ConstStub' => ['Symfony\Component\VarDumper\Caster\StubCaster', 'castStub'], - 'Symfony\Component\VarDumper\Caster\EnumStub' => ['Symfony\Component\VarDumper\Caster\StubCaster', 'castEnum'], - - 'Closure' => ['Symfony\Component\VarDumper\Caster\ReflectionCaster', 'castClosure'], - 'Generator' => ['Symfony\Component\VarDumper\Caster\ReflectionCaster', 'castGenerator'], - 'ReflectionType' => ['Symfony\Component\VarDumper\Caster\ReflectionCaster', 'castType'], - 'ReflectionGenerator' => ['Symfony\Component\VarDumper\Caster\ReflectionCaster', 'castReflectionGenerator'], - 'ReflectionClass' => ['Symfony\Component\VarDumper\Caster\ReflectionCaster', 'castClass'], - 'ReflectionFunctionAbstract' => ['Symfony\Component\VarDumper\Caster\ReflectionCaster', 'castFunctionAbstract'], - 'ReflectionMethod' => ['Symfony\Component\VarDumper\Caster\ReflectionCaster', 'castMethod'], - 'ReflectionParameter' => ['Symfony\Component\VarDumper\Caster\ReflectionCaster', 'castParameter'], - 'ReflectionProperty' => ['Symfony\Component\VarDumper\Caster\ReflectionCaster', 'castProperty'], - 'ReflectionReference' => ['Symfony\Component\VarDumper\Caster\ReflectionCaster', 'castReference'], - 'ReflectionExtension' => ['Symfony\Component\VarDumper\Caster\ReflectionCaster', 'castExtension'], - 'ReflectionZendExtension' => ['Symfony\Component\VarDumper\Caster\ReflectionCaster', 'castZendExtension'], - - 'Doctrine\Common\Persistence\ObjectManager' => ['Symfony\Component\VarDumper\Caster\StubCaster', 'cutInternals'], - 'Doctrine\Common\Proxy\Proxy' => ['Symfony\Component\VarDumper\Caster\DoctrineCaster', 'castCommonProxy'], - 'Doctrine\ORM\Proxy\Proxy' => ['Symfony\Component\VarDumper\Caster\DoctrineCaster', 'castOrmProxy'], - 'Doctrine\ORM\PersistentCollection' => ['Symfony\Component\VarDumper\Caster\DoctrineCaster', 'castPersistentCollection'], - - 'DOMException' => ['Symfony\Component\VarDumper\Caster\DOMCaster', 'castException'], - 'DOMStringList' => ['Symfony\Component\VarDumper\Caster\DOMCaster', 'castLength'], - 'DOMNameList' => ['Symfony\Component\VarDumper\Caster\DOMCaster', 'castLength'], - 'DOMImplementation' => ['Symfony\Component\VarDumper\Caster\DOMCaster', 'castImplementation'], - 'DOMImplementationList' => ['Symfony\Component\VarDumper\Caster\DOMCaster', 'castLength'], - 'DOMNode' => ['Symfony\Component\VarDumper\Caster\DOMCaster', 'castNode'], - 'DOMNameSpaceNode' => ['Symfony\Component\VarDumper\Caster\DOMCaster', 'castNameSpaceNode'], - 'DOMDocument' => ['Symfony\Component\VarDumper\Caster\DOMCaster', 'castDocument'], - 'DOMNodeList' => ['Symfony\Component\VarDumper\Caster\DOMCaster', 'castLength'], - 'DOMNamedNodeMap' => ['Symfony\Component\VarDumper\Caster\DOMCaster', 'castLength'], - 'DOMCharacterData' => ['Symfony\Component\VarDumper\Caster\DOMCaster', 'castCharacterData'], - 'DOMAttr' => ['Symfony\Component\VarDumper\Caster\DOMCaster', 'castAttr'], - 'DOMElement' => ['Symfony\Component\VarDumper\Caster\DOMCaster', 'castElement'], - 'DOMText' => ['Symfony\Component\VarDumper\Caster\DOMCaster', 'castText'], - 'DOMTypeinfo' => ['Symfony\Component\VarDumper\Caster\DOMCaster', 'castTypeinfo'], - 'DOMDomError' => ['Symfony\Component\VarDumper\Caster\DOMCaster', 'castDomError'], - 'DOMLocator' => ['Symfony\Component\VarDumper\Caster\DOMCaster', 'castLocator'], - 'DOMDocumentType' => ['Symfony\Component\VarDumper\Caster\DOMCaster', 'castDocumentType'], - 'DOMNotation' => ['Symfony\Component\VarDumper\Caster\DOMCaster', 'castNotation'], - 'DOMEntity' => ['Symfony\Component\VarDumper\Caster\DOMCaster', 'castEntity'], - 'DOMProcessingInstruction' => ['Symfony\Component\VarDumper\Caster\DOMCaster', 'castProcessingInstruction'], - 'DOMXPath' => ['Symfony\Component\VarDumper\Caster\DOMCaster', 'castXPath'], - - 'XMLReader' => ['Symfony\Component\VarDumper\Caster\XmlReaderCaster', 'castXmlReader'], - - 'ErrorException' => ['Symfony\Component\VarDumper\Caster\ExceptionCaster', 'castErrorException'], - 'Exception' => ['Symfony\Component\VarDumper\Caster\ExceptionCaster', 'castException'], - 'Error' => ['Symfony\Component\VarDumper\Caster\ExceptionCaster', 'castError'], - 'Symfony\Component\DependencyInjection\ContainerInterface' => ['Symfony\Component\VarDumper\Caster\StubCaster', 'cutInternals'], - 'Symfony\Component\EventDispatcher\EventDispatcherInterface' => ['Symfony\Component\VarDumper\Caster\StubCaster', 'cutInternals'], - 'Symfony\Component\HttpClient\CurlHttpClient' => ['Symfony\Component\VarDumper\Caster\SymfonyCaster', 'castHttpClient'], - 'Symfony\Component\HttpClient\NativeHttpClient' => ['Symfony\Component\VarDumper\Caster\SymfonyCaster', 'castHttpClient'], - 'Symfony\Component\HttpClient\Response\CurlResponse' => ['Symfony\Component\VarDumper\Caster\SymfonyCaster', 'castHttpClientResponse'], - 'Symfony\Component\HttpClient\Response\NativeResponse' => ['Symfony\Component\VarDumper\Caster\SymfonyCaster', 'castHttpClientResponse'], - 'Symfony\Component\HttpFoundation\Request' => ['Symfony\Component\VarDumper\Caster\SymfonyCaster', 'castRequest'], - 'Symfony\Component\VarDumper\Exception\ThrowingCasterException' => ['Symfony\Component\VarDumper\Caster\ExceptionCaster', 'castThrowingCasterException'], - 'Symfony\Component\VarDumper\Caster\TraceStub' => ['Symfony\Component\VarDumper\Caster\ExceptionCaster', 'castTraceStub'], - 'Symfony\Component\VarDumper\Caster\FrameStub' => ['Symfony\Component\VarDumper\Caster\ExceptionCaster', 'castFrameStub'], - 'Symfony\Component\VarDumper\Cloner\AbstractCloner' => ['Symfony\Component\VarDumper\Caster\StubCaster', 'cutInternals'], - 'Symfony\Component\ErrorHandler\Exception\SilencedErrorContext' => ['Symfony\Component\VarDumper\Caster\ExceptionCaster', 'castSilencedErrorContext'], - - 'Imagine\Image\ImageInterface' => ['Symfony\Component\VarDumper\Caster\ImagineCaster', 'castImage'], - - 'Ramsey\Uuid\UuidInterface' => ['Symfony\Component\VarDumper\Caster\UuidCaster', 'castRamseyUuid'], - - 'ProxyManager\Proxy\ProxyInterface' => ['Symfony\Component\VarDumper\Caster\ProxyManagerCaster', 'castProxy'], - 'PHPUnit_Framework_MockObject_MockObject' => ['Symfony\Component\VarDumper\Caster\StubCaster', 'cutInternals'], - 'PHPUnit\Framework\MockObject\MockObject' => ['Symfony\Component\VarDumper\Caster\StubCaster', 'cutInternals'], - 'PHPUnit\Framework\MockObject\Stub' => ['Symfony\Component\VarDumper\Caster\StubCaster', 'cutInternals'], - 'Prophecy\Prophecy\ProphecySubjectInterface' => ['Symfony\Component\VarDumper\Caster\StubCaster', 'cutInternals'], - 'Mockery\MockInterface' => ['Symfony\Component\VarDumper\Caster\StubCaster', 'cutInternals'], - - 'PDO' => ['Symfony\Component\VarDumper\Caster\PdoCaster', 'castPdo'], - 'PDOStatement' => ['Symfony\Component\VarDumper\Caster\PdoCaster', 'castPdoStatement'], - - 'AMQPConnection' => ['Symfony\Component\VarDumper\Caster\AmqpCaster', 'castConnection'], - 'AMQPChannel' => ['Symfony\Component\VarDumper\Caster\AmqpCaster', 'castChannel'], - 'AMQPQueue' => ['Symfony\Component\VarDumper\Caster\AmqpCaster', 'castQueue'], - 'AMQPExchange' => ['Symfony\Component\VarDumper\Caster\AmqpCaster', 'castExchange'], - 'AMQPEnvelope' => ['Symfony\Component\VarDumper\Caster\AmqpCaster', 'castEnvelope'], - - 'ArrayObject' => ['Symfony\Component\VarDumper\Caster\SplCaster', 'castArrayObject'], - 'ArrayIterator' => ['Symfony\Component\VarDumper\Caster\SplCaster', 'castArrayIterator'], - 'SplDoublyLinkedList' => ['Symfony\Component\VarDumper\Caster\SplCaster', 'castDoublyLinkedList'], - 'SplFileInfo' => ['Symfony\Component\VarDumper\Caster\SplCaster', 'castFileInfo'], - 'SplFileObject' => ['Symfony\Component\VarDumper\Caster\SplCaster', 'castFileObject'], - 'SplFixedArray' => ['Symfony\Component\VarDumper\Caster\SplCaster', 'castFixedArray'], - 'SplHeap' => ['Symfony\Component\VarDumper\Caster\SplCaster', 'castHeap'], - 'SplObjectStorage' => ['Symfony\Component\VarDumper\Caster\SplCaster', 'castObjectStorage'], - 'SplPriorityQueue' => ['Symfony\Component\VarDumper\Caster\SplCaster', 'castHeap'], - 'OuterIterator' => ['Symfony\Component\VarDumper\Caster\SplCaster', 'castOuterIterator'], - 'WeakReference' => ['Symfony\Component\VarDumper\Caster\SplCaster', 'castWeakReference'], - - 'Redis' => ['Symfony\Component\VarDumper\Caster\RedisCaster', 'castRedis'], - 'RedisArray' => ['Symfony\Component\VarDumper\Caster\RedisCaster', 'castRedisArray'], - 'RedisCluster' => ['Symfony\Component\VarDumper\Caster\RedisCaster', 'castRedisCluster'], - - 'DateTimeInterface' => ['Symfony\Component\VarDumper\Caster\DateCaster', 'castDateTime'], - 'DateInterval' => ['Symfony\Component\VarDumper\Caster\DateCaster', 'castInterval'], - 'DateTimeZone' => ['Symfony\Component\VarDumper\Caster\DateCaster', 'castTimeZone'], - 'DatePeriod' => ['Symfony\Component\VarDumper\Caster\DateCaster', 'castPeriod'], - - 'GMP' => ['Symfony\Component\VarDumper\Caster\GmpCaster', 'castGmp'], - - 'MessageFormatter' => ['Symfony\Component\VarDumper\Caster\IntlCaster', 'castMessageFormatter'], - 'NumberFormatter' => ['Symfony\Component\VarDumper\Caster\IntlCaster', 'castNumberFormatter'], - 'IntlTimeZone' => ['Symfony\Component\VarDumper\Caster\IntlCaster', 'castIntlTimeZone'], - 'IntlCalendar' => ['Symfony\Component\VarDumper\Caster\IntlCaster', 'castIntlCalendar'], - 'IntlDateFormatter' => ['Symfony\Component\VarDumper\Caster\IntlCaster', 'castIntlDateFormatter'], - - 'Memcached' => ['Symfony\Component\VarDumper\Caster\MemcachedCaster', 'castMemcached'], - - 'Ds\Collection' => ['Symfony\Component\VarDumper\Caster\DsCaster', 'castCollection'], - 'Ds\Map' => ['Symfony\Component\VarDumper\Caster\DsCaster', 'castMap'], - 'Ds\Pair' => ['Symfony\Component\VarDumper\Caster\DsCaster', 'castPair'], - 'Symfony\Component\VarDumper\Caster\DsPairStub' => ['Symfony\Component\VarDumper\Caster\DsCaster', 'castPairStub'], - - ':curl' => ['Symfony\Component\VarDumper\Caster\ResourceCaster', 'castCurl'], - ':dba' => ['Symfony\Component\VarDumper\Caster\ResourceCaster', 'castDba'], - ':dba persistent' => ['Symfony\Component\VarDumper\Caster\ResourceCaster', 'castDba'], - ':gd' => ['Symfony\Component\VarDumper\Caster\ResourceCaster', 'castGd'], - ':mysql link' => ['Symfony\Component\VarDumper\Caster\ResourceCaster', 'castMysqlLink'], - ':pgsql large object' => ['Symfony\Component\VarDumper\Caster\PgSqlCaster', 'castLargeObject'], - ':pgsql link' => ['Symfony\Component\VarDumper\Caster\PgSqlCaster', 'castLink'], - ':pgsql link persistent' => ['Symfony\Component\VarDumper\Caster\PgSqlCaster', 'castLink'], - ':pgsql result' => ['Symfony\Component\VarDumper\Caster\PgSqlCaster', 'castResult'], - ':process' => ['Symfony\Component\VarDumper\Caster\ResourceCaster', 'castProcess'], - ':stream' => ['Symfony\Component\VarDumper\Caster\ResourceCaster', 'castStream'], - ':OpenSSL X.509' => ['Symfony\Component\VarDumper\Caster\ResourceCaster', 'castOpensslX509'], - ':persistent stream' => ['Symfony\Component\VarDumper\Caster\ResourceCaster', 'castStream'], - ':stream-context' => ['Symfony\Component\VarDumper\Caster\ResourceCaster', 'castStreamContext'], - ':xml' => ['Symfony\Component\VarDumper\Caster\XmlResourceCaster', 'castXml'], - ]; - - protected $maxItems = 2500; - protected $maxString = -1; - protected $minDepth = 1; - - private $casters = []; - private $prevErrorHandler; - private $classInfo = []; - private $filter = 0; - - /** - * @param callable[]|null $casters A map of casters - * - * @see addCasters - */ - public function __construct(array $casters = null) - { - if (null === $casters) { - $casters = static::$defaultCasters; - } - $this->addCasters($casters); - } - - /** - * Adds casters for resources and objects. - * - * Maps resources or objects types to a callback. - * Types are in the key, with a callable caster for value. - * Resource types are to be prefixed with a `:`, - * see e.g. static::$defaultCasters. - * - * @param callable[] $casters A map of casters - */ - public function addCasters(array $casters) - { - foreach ($casters as $type => $callback) { - $this->casters[$type][] = $callback; - } - } - - /** - * Sets the maximum number of items to clone past the minimum depth in nested structures. - * - * @param int $maxItems - */ - public function setMaxItems($maxItems) - { - $this->maxItems = (int) $maxItems; - } - - /** - * Sets the maximum cloned length for strings. - * - * @param int $maxString - */ - public function setMaxString($maxString) - { - $this->maxString = (int) $maxString; - } - - /** - * Sets the minimum tree depth where we are guaranteed to clone all the items. After this - * depth is reached, only setMaxItems items will be cloned. - * - * @param int $minDepth - */ - public function setMinDepth($minDepth) - { - $this->minDepth = (int) $minDepth; - } - - /** - * Clones a PHP variable. - * - * @param mixed $var Any PHP variable - * @param int $filter A bit field of Caster::EXCLUDE_* constants - * - * @return Data The cloned variable represented by a Data object - */ - public function cloneVar($var, $filter = 0) - { - $this->prevErrorHandler = set_error_handler(function ($type, $msg, $file, $line, $context = []) { - if (E_RECOVERABLE_ERROR === $type || E_USER_ERROR === $type) { - // Cloner never dies - throw new \ErrorException($msg, 0, $type, $file, $line); - } - - if ($this->prevErrorHandler) { - return ($this->prevErrorHandler)($type, $msg, $file, $line, $context); - } - - return false; - }); - $this->filter = $filter; - - if ($gc = gc_enabled()) { - gc_disable(); - } - try { - return new Data($this->doClone($var)); - } finally { - if ($gc) { - gc_enable(); - } - restore_error_handler(); - $this->prevErrorHandler = null; - } - } - - /** - * Effectively clones the PHP variable. - * - * @param mixed $var Any PHP variable - * - * @return array The cloned variable represented in an array - */ - abstract protected function doClone($var); - - /** - * Casts an object to an array representation. - * - * @param bool $isNested True if the object is nested in the dumped structure - * - * @return array The object casted as array - */ - protected function castObject(Stub $stub, $isNested) - { - $obj = $stub->value; - $class = $stub->class; - - if (isset($class[15]) && "\0" === $class[15] && 0 === strpos($class, "class@anonymous\x00")) { - $stub->class = get_parent_class($class).'@anonymous'; - } - if (isset($this->classInfo[$class])) { - list($i, $parents, $hasDebugInfo, $fileInfo) = $this->classInfo[$class]; - } else { - $i = 2; - $parents = [$class]; - $hasDebugInfo = method_exists($class, '__debugInfo'); - - foreach (class_parents($class) as $p) { - $parents[] = $p; - ++$i; - } - foreach (class_implements($class) as $p) { - $parents[] = $p; - ++$i; - } - $parents[] = '*'; - - $r = new \ReflectionClass($class); - $fileInfo = $r->isInternal() || $r->isSubclassOf(Stub::class) ? [] : [ - 'file' => $r->getFileName(), - 'line' => $r->getStartLine(), - ]; - - $this->classInfo[$class] = [$i, $parents, $hasDebugInfo, $fileInfo]; - } - - $stub->attr += $fileInfo; - $a = Caster::castObject($obj, $class, $hasDebugInfo); - - try { - while ($i--) { - if (!empty($this->casters[$p = $parents[$i]])) { - foreach ($this->casters[$p] as $callback) { - $a = $callback($obj, $a, $stub, $isNested, $this->filter); - } - } - } - } catch (\Exception $e) { - $a = [(Stub::TYPE_OBJECT === $stub->type ? Caster::PREFIX_VIRTUAL : '').'⚠' => new ThrowingCasterException($e)] + $a; - } - - return $a; - } - - /** - * Casts a resource to an array representation. - * - * @param bool $isNested True if the object is nested in the dumped structure - * - * @return array The resource casted as array - */ - protected function castResource(Stub $stub, $isNested) - { - $a = []; - $res = $stub->value; - $type = $stub->class; - - try { - if (!empty($this->casters[':'.$type])) { - foreach ($this->casters[':'.$type] as $callback) { - $a = $callback($res, $a, $stub, $isNested, $this->filter); - } - } - } catch (\Exception $e) { - $a = [(Stub::TYPE_OBJECT === $stub->type ? Caster::PREFIX_VIRTUAL : '').'⚠' => new ThrowingCasterException($e)] + $a; - } - - return $a; - } -} diff --git a/paragonik-backend/vendor/symfony/var-dumper/Cloner/ClonerInterface.php b/paragonik-backend/vendor/symfony/var-dumper/Cloner/ClonerInterface.php deleted file mode 100644 index 7ed287a..0000000 --- a/paragonik-backend/vendor/symfony/var-dumper/Cloner/ClonerInterface.php +++ /dev/null @@ -1,27 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\VarDumper\Cloner; - -/** - * @author Nicolas Grekas - */ -interface ClonerInterface -{ - /** - * Clones a PHP variable. - * - * @param mixed $var Any PHP variable - * - * @return Data The cloned variable represented by a Data object - */ - public function cloneVar($var); -} diff --git a/paragonik-backend/vendor/symfony/var-dumper/Cloner/Cursor.php b/paragonik-backend/vendor/symfony/var-dumper/Cloner/Cursor.php deleted file mode 100644 index 5b0542f..0000000 --- a/paragonik-backend/vendor/symfony/var-dumper/Cloner/Cursor.php +++ /dev/null @@ -1,43 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\VarDumper\Cloner; - -/** - * Represents the current state of a dumper while dumping. - * - * @author Nicolas Grekas - */ -class Cursor -{ - const HASH_INDEXED = Stub::ARRAY_INDEXED; - const HASH_ASSOC = Stub::ARRAY_ASSOC; - const HASH_OBJECT = Stub::TYPE_OBJECT; - const HASH_RESOURCE = Stub::TYPE_RESOURCE; - - public $depth = 0; - public $refIndex = 0; - public $softRefTo = 0; - public $softRefCount = 0; - public $softRefHandle = 0; - public $hardRefTo = 0; - public $hardRefCount = 0; - public $hardRefHandle = 0; - public $hashType; - public $hashKey; - public $hashKeyIsBinary; - public $hashIndex = 0; - public $hashLength = 0; - public $hashCut = 0; - public $stop = false; - public $attr = []; - public $skipChildren = false; -} diff --git a/paragonik-backend/vendor/symfony/var-dumper/Cloner/Data.php b/paragonik-backend/vendor/symfony/var-dumper/Cloner/Data.php deleted file mode 100644 index 7e148bf..0000000 --- a/paragonik-backend/vendor/symfony/var-dumper/Cloner/Data.php +++ /dev/null @@ -1,455 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\VarDumper\Cloner; - -use Symfony\Component\VarDumper\Caster\Caster; -use Symfony\Component\VarDumper\Dumper\ContextProvider\SourceContextProvider; - -/** - * @author Nicolas Grekas - */ -class Data implements \ArrayAccess, \Countable, \IteratorAggregate -{ - private $data; - private $position = 0; - private $key = 0; - private $maxDepth = 20; - private $maxItemsPerDepth = -1; - private $useRefHandles = -1; - private $context = []; - - /** - * @param array $data An array as returned by ClonerInterface::cloneVar() - */ - public function __construct(array $data) - { - $this->data = $data; - } - - /** - * @return string|null The type of the value - */ - public function getType() - { - $item = $this->data[$this->position][$this->key]; - - if ($item instanceof Stub && Stub::TYPE_REF === $item->type && !$item->position) { - $item = $item->value; - } - if (!$item instanceof Stub) { - return \gettype($item); - } - if (Stub::TYPE_STRING === $item->type) { - return 'string'; - } - if (Stub::TYPE_ARRAY === $item->type) { - return 'array'; - } - if (Stub::TYPE_OBJECT === $item->type) { - return $item->class; - } - if (Stub::TYPE_RESOURCE === $item->type) { - return $item->class.' resource'; - } - - return null; - } - - /** - * @param array|bool $recursive Whether values should be resolved recursively or not - * - * @return string|int|float|bool|array|Data[]|null A native representation of the original value - */ - public function getValue($recursive = false) - { - $item = $this->data[$this->position][$this->key]; - - if ($item instanceof Stub && Stub::TYPE_REF === $item->type && !$item->position) { - $item = $item->value; - } - if (!($item = $this->getStub($item)) instanceof Stub) { - return $item; - } - if (Stub::TYPE_STRING === $item->type) { - return $item->value; - } - - $children = $item->position ? $this->data[$item->position] : []; - - foreach ($children as $k => $v) { - if ($recursive && !($v = $this->getStub($v)) instanceof Stub) { - continue; - } - $children[$k] = clone $this; - $children[$k]->key = $k; - $children[$k]->position = $item->position; - - if ($recursive) { - if (Stub::TYPE_REF === $v->type && ($v = $this->getStub($v->value)) instanceof Stub) { - $recursive = (array) $recursive; - if (isset($recursive[$v->position])) { - continue; - } - $recursive[$v->position] = true; - } - $children[$k] = $children[$k]->getValue($recursive); - } - } - - return $children; - } - - /** - * @return int - */ - public function count() - { - return \count($this->getValue()); - } - - /** - * @return \Traversable - */ - public function getIterator() - { - if (!\is_array($value = $this->getValue())) { - throw new \LogicException(sprintf('%s object holds non-iterable type "%s".', self::class, \gettype($value))); - } - - yield from $value; - } - - public function __get($key) - { - if (null !== $data = $this->seek($key)) { - $item = $this->getStub($data->data[$data->position][$data->key]); - - return $item instanceof Stub || [] === $item ? $data : $item; - } - - return null; - } - - /** - * @return bool - */ - public function __isset($key) - { - return null !== $this->seek($key); - } - - /** - * @return bool - */ - public function offsetExists($key) - { - return $this->__isset($key); - } - - public function offsetGet($key) - { - return $this->__get($key); - } - - public function offsetSet($key, $value) - { - throw new \BadMethodCallException(self::class.' objects are immutable.'); - } - - public function offsetUnset($key) - { - throw new \BadMethodCallException(self::class.' objects are immutable.'); - } - - /** - * @return string - */ - public function __toString() - { - $value = $this->getValue(); - - if (!\is_array($value)) { - return (string) $value; - } - - return sprintf('%s (count=%d)', $this->getType(), \count($value)); - } - - /** - * Returns a depth limited clone of $this. - * - * @param int $maxDepth The max dumped depth level - * - * @return static - */ - public function withMaxDepth($maxDepth) - { - $data = clone $this; - $data->maxDepth = (int) $maxDepth; - - return $data; - } - - /** - * Limits the number of elements per depth level. - * - * @param int $maxItemsPerDepth The max number of items dumped per depth level - * - * @return static - */ - public function withMaxItemsPerDepth($maxItemsPerDepth) - { - $data = clone $this; - $data->maxItemsPerDepth = (int) $maxItemsPerDepth; - - return $data; - } - - /** - * Enables/disables objects' identifiers tracking. - * - * @param bool $useRefHandles False to hide global ref. handles - * - * @return static - */ - public function withRefHandles($useRefHandles) - { - $data = clone $this; - $data->useRefHandles = $useRefHandles ? -1 : 0; - - return $data; - } - - /** - * @return static - */ - public function withContext(array $context) - { - $data = clone $this; - $data->context = $context; - - return $data; - } - - /** - * Seeks to a specific key in nested data structures. - * - * @param string|int $key The key to seek to - * - * @return static|null Null if the key is not set - */ - public function seek($key) - { - $item = $this->data[$this->position][$this->key]; - - if ($item instanceof Stub && Stub::TYPE_REF === $item->type && !$item->position) { - $item = $item->value; - } - if (!($item = $this->getStub($item)) instanceof Stub || !$item->position) { - return null; - } - $keys = [$key]; - - switch ($item->type) { - case Stub::TYPE_OBJECT: - $keys[] = Caster::PREFIX_DYNAMIC.$key; - $keys[] = Caster::PREFIX_PROTECTED.$key; - $keys[] = Caster::PREFIX_VIRTUAL.$key; - $keys[] = "\0$item->class\0$key"; - // no break - case Stub::TYPE_ARRAY: - case Stub::TYPE_RESOURCE: - break; - default: - return null; - } - - $data = null; - $children = $this->data[$item->position]; - - foreach ($keys as $key) { - if (isset($children[$key]) || \array_key_exists($key, $children)) { - $data = clone $this; - $data->key = $key; - $data->position = $item->position; - break; - } - } - - return $data; - } - - /** - * Dumps data with a DumperInterface dumper. - */ - public function dump(DumperInterface $dumper) - { - $refs = [0]; - $cursor = new Cursor(); - - if ($cursor->attr = $this->context[SourceContextProvider::class] ?? []) { - $cursor->attr['if_links'] = true; - $cursor->hashType = -1; - $dumper->dumpScalar($cursor, 'default', '^'); - $cursor->attr = ['if_links' => true]; - $dumper->dumpScalar($cursor, 'default', ' '); - $cursor->hashType = 0; - } - - $this->dumpItem($dumper, $cursor, $refs, $this->data[$this->position][$this->key]); - } - - /** - * Depth-first dumping of items. - * - * @param mixed $item A Stub object or the original value being dumped - */ - private function dumpItem(DumperInterface $dumper, Cursor $cursor, array &$refs, $item) - { - $cursor->refIndex = 0; - $cursor->softRefTo = $cursor->softRefHandle = $cursor->softRefCount = 0; - $cursor->hardRefTo = $cursor->hardRefHandle = $cursor->hardRefCount = 0; - $firstSeen = true; - - if (!$item instanceof Stub) { - $cursor->attr = []; - $type = \gettype($item); - if ($item && 'array' === $type) { - $item = $this->getStub($item); - } - } elseif (Stub::TYPE_REF === $item->type) { - if ($item->handle) { - if (!isset($refs[$r = $item->handle - (PHP_INT_MAX >> 1)])) { - $cursor->refIndex = $refs[$r] = $cursor->refIndex ?: ++$refs[0]; - } else { - $firstSeen = false; - } - $cursor->hardRefTo = $refs[$r]; - $cursor->hardRefHandle = $this->useRefHandles & $item->handle; - $cursor->hardRefCount = $item->refCount; - } - $cursor->attr = $item->attr; - $type = $item->class ?: \gettype($item->value); - $item = $this->getStub($item->value); - } - if ($item instanceof Stub) { - if ($item->refCount) { - if (!isset($refs[$r = $item->handle])) { - $cursor->refIndex = $refs[$r] = $cursor->refIndex ?: ++$refs[0]; - } else { - $firstSeen = false; - } - $cursor->softRefTo = $refs[$r]; - } - $cursor->softRefHandle = $this->useRefHandles & $item->handle; - $cursor->softRefCount = $item->refCount; - $cursor->attr = $item->attr; - $cut = $item->cut; - - if ($item->position && $firstSeen) { - $children = $this->data[$item->position]; - - if ($cursor->stop) { - if ($cut >= 0) { - $cut += \count($children); - } - $children = []; - } - } else { - $children = []; - } - switch ($item->type) { - case Stub::TYPE_STRING: - $dumper->dumpString($cursor, $item->value, Stub::STRING_BINARY === $item->class, $cut); - break; - - case Stub::TYPE_ARRAY: - $item = clone $item; - $item->type = $item->class; - $item->class = $item->value; - // no break - case Stub::TYPE_OBJECT: - case Stub::TYPE_RESOURCE: - $withChildren = $children && $cursor->depth !== $this->maxDepth && $this->maxItemsPerDepth; - $dumper->enterHash($cursor, $item->type, $item->class, $withChildren); - if ($withChildren) { - if ($cursor->skipChildren) { - $withChildren = false; - $cut = -1; - } else { - $cut = $this->dumpChildren($dumper, $cursor, $refs, $children, $cut, $item->type, null !== $item->class); - } - } elseif ($children && 0 <= $cut) { - $cut += \count($children); - } - $cursor->skipChildren = false; - $dumper->leaveHash($cursor, $item->type, $item->class, $withChildren, $cut); - break; - - default: - throw new \RuntimeException(sprintf('Unexpected Stub type: %s', $item->type)); - } - } elseif ('array' === $type) { - $dumper->enterHash($cursor, Cursor::HASH_INDEXED, 0, false); - $dumper->leaveHash($cursor, Cursor::HASH_INDEXED, 0, false, 0); - } elseif ('string' === $type) { - $dumper->dumpString($cursor, $item, false, 0); - } else { - $dumper->dumpScalar($cursor, $type, $item); - } - } - - /** - * Dumps children of hash structures. - * - * @return int The final number of removed items - */ - private function dumpChildren(DumperInterface $dumper, Cursor $parentCursor, array &$refs, array $children, int $hashCut, int $hashType, bool $dumpKeys): int - { - $cursor = clone $parentCursor; - ++$cursor->depth; - $cursor->hashType = $hashType; - $cursor->hashIndex = 0; - $cursor->hashLength = \count($children); - $cursor->hashCut = $hashCut; - foreach ($children as $key => $child) { - $cursor->hashKeyIsBinary = isset($key[0]) && !preg_match('//u', $key); - $cursor->hashKey = $dumpKeys ? $key : null; - $this->dumpItem($dumper, $cursor, $refs, $child); - if (++$cursor->hashIndex === $this->maxItemsPerDepth || $cursor->stop) { - $parentCursor->stop = true; - - return $hashCut >= 0 ? $hashCut + $cursor->hashLength - $cursor->hashIndex : $hashCut; - } - } - - return $hashCut; - } - - private function getStub($item) - { - if (!$item || !\is_array($item)) { - return $item; - } - - $stub = new Stub(); - $stub->type = Stub::TYPE_ARRAY; - foreach ($item as $stub->class => $stub->position) { - } - if (isset($item[0])) { - $stub->cut = $item[0]; - } - $stub->value = $stub->cut + ($stub->position ? \count($this->data[$stub->position]) : 0); - - return $stub; - } -} diff --git a/paragonik-backend/vendor/symfony/var-dumper/Cloner/DumperInterface.php b/paragonik-backend/vendor/symfony/var-dumper/Cloner/DumperInterface.php deleted file mode 100644 index ec8ef27..0000000 --- a/paragonik-backend/vendor/symfony/var-dumper/Cloner/DumperInterface.php +++ /dev/null @@ -1,56 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\VarDumper\Cloner; - -/** - * DumperInterface used by Data objects. - * - * @author Nicolas Grekas - */ -interface DumperInterface -{ - /** - * Dumps a scalar value. - * - * @param string $type The PHP type of the value being dumped - * @param string|int|float|bool $value The scalar value being dumped - */ - public function dumpScalar(Cursor $cursor, $type, $value); - - /** - * Dumps a string. - * - * @param string $str The string being dumped - * @param bool $bin Whether $str is UTF-8 or binary encoded - * @param int $cut The number of characters $str has been cut by - */ - public function dumpString(Cursor $cursor, $str, $bin, $cut); - - /** - * Dumps while entering an hash. - * - * @param int $type A Cursor::HASH_* const for the type of hash - * @param string|int $class The object class, resource type or array count - * @param bool $hasChild When the dump of the hash has child item - */ - public function enterHash(Cursor $cursor, $type, $class, $hasChild); - - /** - * Dumps while leaving an hash. - * - * @param int $type A Cursor::HASH_* const for the type of hash - * @param string|int $class The object class, resource type or array count - * @param bool $hasChild When the dump of the hash has child item - * @param int $cut The number of items the hash has been cut by - */ - public function leaveHash(Cursor $cursor, $type, $class, $hasChild, $cut); -} diff --git a/paragonik-backend/vendor/symfony/var-dumper/Cloner/Stub.php b/paragonik-backend/vendor/symfony/var-dumper/Cloner/Stub.php deleted file mode 100644 index 7e9eb6d..0000000 --- a/paragonik-backend/vendor/symfony/var-dumper/Cloner/Stub.php +++ /dev/null @@ -1,67 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\VarDumper\Cloner; - -/** - * Represents the main properties of a PHP variable. - * - * @author Nicolas Grekas - */ -class Stub -{ - const TYPE_REF = 1; - const TYPE_STRING = 2; - const TYPE_ARRAY = 3; - const TYPE_OBJECT = 4; - const TYPE_RESOURCE = 5; - - const STRING_BINARY = 1; - const STRING_UTF8 = 2; - - const ARRAY_ASSOC = 1; - const ARRAY_INDEXED = 2; - - public $type = self::TYPE_REF; - public $class = ''; - public $value; - public $cut = 0; - public $handle = 0; - public $refCount = 0; - public $position = 0; - public $attr = []; - - private static $defaultProperties = []; - - /** - * @internal - */ - public function __sleep(): array - { - $properties = []; - - if (!isset(self::$defaultProperties[$c = \get_class($this)])) { - self::$defaultProperties[$c] = get_class_vars($c); - - foreach ((new \ReflectionClass($c))->getStaticProperties() as $k => $v) { - unset(self::$defaultProperties[$c][$k]); - } - } - - foreach (self::$defaultProperties[$c] as $k => $v) { - if ($this->$k !== $v) { - $properties[] = $k; - } - } - - return $properties; - } -} diff --git a/paragonik-backend/vendor/symfony/var-dumper/Cloner/VarCloner.php b/paragonik-backend/vendor/symfony/var-dumper/Cloner/VarCloner.php deleted file mode 100644 index f640338..0000000 --- a/paragonik-backend/vendor/symfony/var-dumper/Cloner/VarCloner.php +++ /dev/null @@ -1,302 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\VarDumper\Cloner; - -/** - * @author Nicolas Grekas - */ -class VarCloner extends AbstractCloner -{ - private static $gid; - private static $arrayCache = []; - - /** - * {@inheritdoc} - */ - protected function doClone($var) - { - $len = 1; // Length of $queue - $pos = 0; // Number of cloned items past the minimum depth - $refsCounter = 0; // Hard references counter - $queue = [[$var]]; // This breadth-first queue is the return value - $indexedArrays = []; // Map of queue indexes that hold numerically indexed arrays - $hardRefs = []; // Map of original zval ids to stub objects - $objRefs = []; // Map of original object handles to their stub object counterpart - $objects = []; // Keep a ref to objects to ensure their handle cannot be reused while cloning - $resRefs = []; // Map of original resource handles to their stub object counterpart - $values = []; // Map of stub objects' ids to original values - $maxItems = $this->maxItems; - $maxString = $this->maxString; - $minDepth = $this->minDepth; - $currentDepth = 0; // Current tree depth - $currentDepthFinalIndex = 0; // Final $queue index for current tree depth - $minimumDepthReached = 0 === $minDepth; // Becomes true when minimum tree depth has been reached - $cookie = (object) []; // Unique object used to detect hard references - $a = null; // Array cast for nested structures - $stub = null; // Stub capturing the main properties of an original item value - // or null if the original value is used directly - - if (!$gid = self::$gid) { - $gid = self::$gid = uniqid(mt_rand(), true); // Unique string used to detect the special $GLOBALS variable - } - $arrayStub = new Stub(); - $arrayStub->type = Stub::TYPE_ARRAY; - $fromObjCast = false; - - for ($i = 0; $i < $len; ++$i) { - // Detect when we move on to the next tree depth - if ($i > $currentDepthFinalIndex) { - ++$currentDepth; - $currentDepthFinalIndex = $len - 1; - if ($currentDepth >= $minDepth) { - $minimumDepthReached = true; - } - } - - $refs = $vals = $queue[$i]; - if (\PHP_VERSION_ID < 70200 && empty($indexedArrays[$i])) { - // see https://wiki.php.net/rfc/convert_numeric_keys_in_object_array_casts - foreach ($vals as $k => $v) { - if (\is_int($k)) { - continue; - } - foreach ([$k => true] as $gk => $gv) { - } - if ($gk !== $k) { - $fromObjCast = true; - $refs = $vals = array_values($queue[$i]); - break; - } - } - } - foreach ($vals as $k => $v) { - // $v is the original value or a stub object in case of hard references - - if (\PHP_VERSION_ID >= 70400) { - $zvalIsRef = null !== \ReflectionReference::fromArrayElement($vals, $k); - } else { - $refs[$k] = $cookie; - $zvalIsRef = $vals[$k] === $cookie; - } - - if ($zvalIsRef) { - $vals[$k] = &$stub; // Break hard references to make $queue completely - unset($stub); // independent from the original structure - if ($v instanceof Stub && isset($hardRefs[spl_object_id($v)])) { - $vals[$k] = $refs[$k] = $v; - if ($v->value instanceof Stub && (Stub::TYPE_OBJECT === $v->value->type || Stub::TYPE_RESOURCE === $v->value->type)) { - ++$v->value->refCount; - } - ++$v->refCount; - continue; - } - $refs[$k] = $vals[$k] = new Stub(); - $refs[$k]->value = $v; - $h = spl_object_id($refs[$k]); - $hardRefs[$h] = &$refs[$k]; - $values[$h] = $v; - $vals[$k]->handle = ++$refsCounter; - } - // Create $stub when the original value $v can not be used directly - // If $v is a nested structure, put that structure in array $a - switch (true) { - case null === $v: - case \is_bool($v): - case \is_int($v): - case \is_float($v): - continue 2; - - case \is_string($v): - if ('' === $v) { - continue 2; - } - if (!preg_match('//u', $v)) { - $stub = new Stub(); - $stub->type = Stub::TYPE_STRING; - $stub->class = Stub::STRING_BINARY; - if (0 <= $maxString && 0 < $cut = \strlen($v) - $maxString) { - $stub->cut = $cut; - $stub->value = substr($v, 0, -$cut); - } else { - $stub->value = $v; - } - } elseif (0 <= $maxString && isset($v[1 + ($maxString >> 2)]) && 0 < $cut = mb_strlen($v, 'UTF-8') - $maxString) { - $stub = new Stub(); - $stub->type = Stub::TYPE_STRING; - $stub->class = Stub::STRING_UTF8; - $stub->cut = $cut; - $stub->value = mb_substr($v, 0, $maxString, 'UTF-8'); - } else { - continue 2; - } - $a = null; - break; - - case \is_array($v): - if (!$v) { - continue 2; - } - $stub = $arrayStub; - $stub->class = Stub::ARRAY_INDEXED; - - $j = -1; - foreach ($v as $gk => $gv) { - if ($gk !== ++$j) { - $stub->class = Stub::ARRAY_ASSOC; - break; - } - } - $a = $v; - - if (Stub::ARRAY_ASSOC === $stub->class) { - // Copies of $GLOBALS have very strange behavior, - // let's detect them with some black magic - $a[$gid] = true; - - // Happens with copies of $GLOBALS - if (isset($v[$gid])) { - unset($v[$gid]); - $a = []; - foreach ($v as $gk => &$gv) { - $a[$gk] = &$gv; - } - unset($gv); - } else { - $a = $v; - } - } elseif (\PHP_VERSION_ID < 70200) { - $indexedArrays[$len] = true; - } - break; - - case \is_object($v): - case $v instanceof \__PHP_Incomplete_Class: - if (empty($objRefs[$h = spl_object_id($v)])) { - $stub = new Stub(); - $stub->type = Stub::TYPE_OBJECT; - $stub->class = \get_class($v); - $stub->value = $v; - $stub->handle = $h; - $a = $this->castObject($stub, 0 < $i); - if ($v !== $stub->value) { - if (Stub::TYPE_OBJECT !== $stub->type || null === $stub->value) { - break; - } - $stub->handle = $h = spl_object_id($stub->value); - } - $stub->value = null; - if (0 <= $maxItems && $maxItems <= $pos && $minimumDepthReached) { - $stub->cut = \count($a); - $a = null; - } - } - if (empty($objRefs[$h])) { - $objRefs[$h] = $stub; - $objects[] = $v; - } else { - $stub = $objRefs[$h]; - ++$stub->refCount; - $a = null; - } - break; - - default: // resource - if (empty($resRefs[$h = (int) $v])) { - $stub = new Stub(); - $stub->type = Stub::TYPE_RESOURCE; - if ('Unknown' === $stub->class = @get_resource_type($v)) { - $stub->class = 'Closed'; - } - $stub->value = $v; - $stub->handle = $h; - $a = $this->castResource($stub, 0 < $i); - $stub->value = null; - if (0 <= $maxItems && $maxItems <= $pos && $minimumDepthReached) { - $stub->cut = \count($a); - $a = null; - } - } - if (empty($resRefs[$h])) { - $resRefs[$h] = $stub; - } else { - $stub = $resRefs[$h]; - ++$stub->refCount; - $a = null; - } - break; - } - - if ($a) { - if (!$minimumDepthReached || 0 > $maxItems) { - $queue[$len] = $a; - $stub->position = $len++; - } elseif ($pos < $maxItems) { - if ($maxItems < $pos += \count($a)) { - $a = \array_slice($a, 0, $maxItems - $pos); - if ($stub->cut >= 0) { - $stub->cut += $pos - $maxItems; - } - } - $queue[$len] = $a; - $stub->position = $len++; - } elseif ($stub->cut >= 0) { - $stub->cut += \count($a); - $stub->position = 0; - } - } - - if ($arrayStub === $stub) { - if ($arrayStub->cut) { - $stub = [$arrayStub->cut, $arrayStub->class => $arrayStub->position]; - $arrayStub->cut = 0; - } elseif (isset(self::$arrayCache[$arrayStub->class][$arrayStub->position])) { - $stub = self::$arrayCache[$arrayStub->class][$arrayStub->position]; - } else { - self::$arrayCache[$arrayStub->class][$arrayStub->position] = $stub = [$arrayStub->class => $arrayStub->position]; - } - } - - if ($zvalIsRef) { - $refs[$k]->value = $stub; - } else { - $vals[$k] = $stub; - } - } - - if ($fromObjCast) { - $fromObjCast = false; - $refs = $vals; - $vals = []; - $j = -1; - foreach ($queue[$i] as $k => $v) { - foreach ([$k => true] as $gk => $gv) { - } - if ($gk !== $k) { - $vals = (object) $vals; - $vals->{$k} = $refs[++$j]; - $vals = (array) $vals; - } else { - $vals[$k] = $refs[++$j]; - } - } - } - - $queue[$i] = $vals; - } - - foreach ($values as $h => $v) { - $hardRefs[$h] = $v; - } - - return $queue; - } -} diff --git a/paragonik-backend/vendor/symfony/var-dumper/Command/Descriptor/CliDescriptor.php b/paragonik-backend/vendor/symfony/var-dumper/Command/Descriptor/CliDescriptor.php deleted file mode 100644 index dc77d03..0000000 --- a/paragonik-backend/vendor/symfony/var-dumper/Command/Descriptor/CliDescriptor.php +++ /dev/null @@ -1,88 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\VarDumper\Command\Descriptor; - -use Symfony\Component\Console\Formatter\OutputFormatterStyle; -use Symfony\Component\Console\Input\ArrayInput; -use Symfony\Component\Console\Output\OutputInterface; -use Symfony\Component\Console\Style\SymfonyStyle; -use Symfony\Component\VarDumper\Cloner\Data; -use Symfony\Component\VarDumper\Dumper\CliDumper; - -/** - * Describe collected data clones for cli output. - * - * @author Maxime Steinhausser - * - * @final - */ -class CliDescriptor implements DumpDescriptorInterface -{ - private $dumper; - private $lastIdentifier; - private $supportsHref; - - public function __construct(CliDumper $dumper) - { - $this->dumper = $dumper; - $this->supportsHref = method_exists(OutputFormatterStyle::class, 'setHref'); - } - - public function describe(OutputInterface $output, Data $data, array $context, int $clientId): void - { - $io = $output instanceof SymfonyStyle ? $output : new SymfonyStyle(new ArrayInput([]), $output); - $this->dumper->setColors($output->isDecorated()); - - $rows = [['date', date('r', $context['timestamp'])]]; - $lastIdentifier = $this->lastIdentifier; - $this->lastIdentifier = $clientId; - - $section = "Received from client #$clientId"; - if (isset($context['request'])) { - $request = $context['request']; - $this->lastIdentifier = $request['identifier']; - $section = sprintf('%s %s', $request['method'], $request['uri']); - if ($controller = $request['controller']) { - $rows[] = ['controller', rtrim($this->dumper->dump($controller, true), "\n")]; - } - } elseif (isset($context['cli'])) { - $this->lastIdentifier = $context['cli']['identifier']; - $section = '$ '.$context['cli']['command_line']; - } - - if ($this->lastIdentifier !== $lastIdentifier) { - $io->section($section); - } - - if (isset($context['source'])) { - $source = $context['source']; - $sourceInfo = sprintf('%s on line %d', $source['name'], $source['line']); - $fileLink = $source['file_link'] ?? null; - if ($this->supportsHref && $fileLink) { - $sourceInfo = sprintf('%s', $fileLink, $sourceInfo); - } - $rows[] = ['source', $sourceInfo]; - $file = $source['file_relative'] ?? $source['file']; - $rows[] = ['file', $file]; - } - - $io->table([], $rows); - - if (!$this->supportsHref && isset($fileLink)) { - $io->writeln(['Open source in your IDE/browser:', $fileLink]); - $io->newLine(); - } - - $this->dumper->dump($data); - $io->newLine(); - } -} diff --git a/paragonik-backend/vendor/symfony/var-dumper/Command/Descriptor/DumpDescriptorInterface.php b/paragonik-backend/vendor/symfony/var-dumper/Command/Descriptor/DumpDescriptorInterface.php deleted file mode 100644 index 267d27b..0000000 --- a/paragonik-backend/vendor/symfony/var-dumper/Command/Descriptor/DumpDescriptorInterface.php +++ /dev/null @@ -1,23 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\VarDumper\Command\Descriptor; - -use Symfony\Component\Console\Output\OutputInterface; -use Symfony\Component\VarDumper\Cloner\Data; - -/** - * @author Maxime Steinhausser - */ -interface DumpDescriptorInterface -{ - public function describe(OutputInterface $output, Data $data, array $context, int $clientId): void; -} diff --git a/paragonik-backend/vendor/symfony/var-dumper/Command/Descriptor/HtmlDescriptor.php b/paragonik-backend/vendor/symfony/var-dumper/Command/Descriptor/HtmlDescriptor.php deleted file mode 100644 index 35a203b..0000000 --- a/paragonik-backend/vendor/symfony/var-dumper/Command/Descriptor/HtmlDescriptor.php +++ /dev/null @@ -1,119 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\VarDumper\Command\Descriptor; - -use Symfony\Component\Console\Output\OutputInterface; -use Symfony\Component\VarDumper\Cloner\Data; -use Symfony\Component\VarDumper\Dumper\HtmlDumper; - -/** - * Describe collected data clones for html output. - * - * @author Maxime Steinhausser - * - * @final - */ -class HtmlDescriptor implements DumpDescriptorInterface -{ - private $dumper; - private $initialized = false; - - public function __construct(HtmlDumper $dumper) - { - $this->dumper = $dumper; - } - - public function describe(OutputInterface $output, Data $data, array $context, int $clientId): void - { - if (!$this->initialized) { - $styles = file_get_contents(__DIR__.'/../../Resources/css/htmlDescriptor.css'); - $scripts = file_get_contents(__DIR__.'/../../Resources/js/htmlDescriptor.js'); - $output->writeln(""); - $this->initialized = true; - } - - $title = '-'; - if (isset($context['request'])) { - $request = $context['request']; - $controller = "{$this->dumper->dump($request['controller'], true, ['maxDepth' => 0])}"; - $title = sprintf('%s %s', $request['method'], $uri = $request['uri'], $uri); - $dedupIdentifier = $request['identifier']; - } elseif (isset($context['cli'])) { - $title = '$ '.$context['cli']['command_line']; - $dedupIdentifier = $context['cli']['identifier']; - } else { - $dedupIdentifier = uniqid('', true); - } - - $sourceDescription = ''; - if (isset($context['source'])) { - $source = $context['source']; - $projectDir = $source['project_dir'] ?? null; - $sourceDescription = sprintf('%s on line %d', $source['name'], $source['line']); - if (isset($source['file_link'])) { - $sourceDescription = sprintf('%s', $source['file_link'], $sourceDescription); - } - } - - $isoDate = $this->extractDate($context, 'c'); - $tags = array_filter([ - 'controller' => $controller ?? null, - 'project dir' => $projectDir ?? null, - ]); - - $output->writeln(<< -
    -
    -

    $title

    - -
    - {$this->renderTags($tags)} -
    -
    -

    - $sourceDescription -

    - {$this->dumper->dump($data, true)} -
    - -HTML - ); - } - - private function extractDate(array $context, string $format = 'r'): string - { - return date($format, $context['timestamp']); - } - - private function renderTags(array $tags): string - { - if (!$tags) { - return ''; - } - - $renderedTags = ''; - foreach ($tags as $key => $value) { - $renderedTags .= sprintf('
  • %s%s
  • ', $key, $value); - } - - return << -
      - $renderedTags -
    - -HTML; - } -} diff --git a/paragonik-backend/vendor/symfony/var-dumper/Command/ServerDumpCommand.php b/paragonik-backend/vendor/symfony/var-dumper/Command/ServerDumpCommand.php deleted file mode 100644 index c8a61da..0000000 --- a/paragonik-backend/vendor/symfony/var-dumper/Command/ServerDumpCommand.php +++ /dev/null @@ -1,99 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\VarDumper\Command; - -use Symfony\Component\Console\Command\Command; -use Symfony\Component\Console\Exception\InvalidArgumentException; -use Symfony\Component\Console\Input\InputInterface; -use Symfony\Component\Console\Input\InputOption; -use Symfony\Component\Console\Output\OutputInterface; -use Symfony\Component\Console\Style\SymfonyStyle; -use Symfony\Component\VarDumper\Cloner\Data; -use Symfony\Component\VarDumper\Command\Descriptor\CliDescriptor; -use Symfony\Component\VarDumper\Command\Descriptor\DumpDescriptorInterface; -use Symfony\Component\VarDumper\Command\Descriptor\HtmlDescriptor; -use Symfony\Component\VarDumper\Dumper\CliDumper; -use Symfony\Component\VarDumper\Dumper\HtmlDumper; -use Symfony\Component\VarDumper\Server\DumpServer; - -/** - * Starts a dump server to collect and output dumps on a single place with multiple formats support. - * - * @author Maxime Steinhausser - * - * @final - */ -class ServerDumpCommand extends Command -{ - protected static $defaultName = 'server:dump'; - - private $server; - - /** @var DumpDescriptorInterface[] */ - private $descriptors; - - public function __construct(DumpServer $server, array $descriptors = []) - { - $this->server = $server; - $this->descriptors = $descriptors + [ - 'cli' => new CliDescriptor(new CliDumper()), - 'html' => new HtmlDescriptor(new HtmlDumper()), - ]; - - parent::__construct(); - } - - protected function configure() - { - $availableFormats = implode(', ', array_keys($this->descriptors)); - - $this - ->addOption('format', null, InputOption::VALUE_REQUIRED, sprintf('The output format (%s)', $availableFormats), 'cli') - ->setDescription('Starts a dump server that collects and displays dumps in a single place') - ->setHelp(<<<'EOF' -%command.name% starts a dump server that collects and displays -dumps in a single place for debugging you application: - - php %command.full_name% - -You can consult dumped data in HTML format in your browser by providing the --format=html option -and redirecting the output to a file: - - php %command.full_name% --format="html" > dump.html - -EOF - ) - ; - } - - protected function execute(InputInterface $input, OutputInterface $output): int - { - $io = new SymfonyStyle($input, $output); - $format = $input->getOption('format'); - - if (!$descriptor = $this->descriptors[$format] ?? null) { - throw new InvalidArgumentException(sprintf('Unsupported format "%s".', $format)); - } - - $errorIo = $io->getErrorStyle(); - $errorIo->title('Symfony Var Dumper Server'); - - $this->server->start(); - - $errorIo->success(sprintf('Server listening on %s', $this->server->getHost())); - $errorIo->comment('Quit the server with CONTROL-C.'); - - $this->server->listen(function (Data $data, array $context, int $clientId) use ($descriptor, $io) { - $descriptor->describe($io, $data, $context, $clientId); - }); - } -} diff --git a/paragonik-backend/vendor/symfony/var-dumper/Dumper/AbstractDumper.php b/paragonik-backend/vendor/symfony/var-dumper/Dumper/AbstractDumper.php deleted file mode 100644 index 4079fd3..0000000 --- a/paragonik-backend/vendor/symfony/var-dumper/Dumper/AbstractDumper.php +++ /dev/null @@ -1,212 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\VarDumper\Dumper; - -use Symfony\Component\VarDumper\Cloner\Data; -use Symfony\Component\VarDumper\Cloner\DumperInterface; - -/** - * Abstract mechanism for dumping a Data object. - * - * @author Nicolas Grekas - */ -abstract class AbstractDumper implements DataDumperInterface, DumperInterface -{ - const DUMP_LIGHT_ARRAY = 1; - const DUMP_STRING_LENGTH = 2; - const DUMP_COMMA_SEPARATOR = 4; - const DUMP_TRAILING_COMMA = 8; - - public static $defaultOutput = 'php://output'; - - protected $line = ''; - protected $lineDumper; - protected $outputStream; - protected $decimalPoint; // This is locale dependent - protected $indentPad = ' '; - protected $flags; - - private $charset = ''; - - /** - * @param callable|resource|string|null $output A line dumper callable, an opened stream or an output path, defaults to static::$defaultOutput - * @param string|null $charset The default character encoding to use for non-UTF8 strings - * @param int $flags A bit field of static::DUMP_* constants to fine tune dumps representation - */ - public function __construct($output = null, string $charset = null, int $flags = 0) - { - $this->flags = $flags; - $this->setCharset($charset ?: ini_get('php.output_encoding') ?: ini_get('default_charset') ?: 'UTF-8'); - $this->decimalPoint = localeconv(); - $this->decimalPoint = $this->decimalPoint['decimal_point']; - $this->setOutput($output ?: static::$defaultOutput); - if (!$output && \is_string(static::$defaultOutput)) { - static::$defaultOutput = $this->outputStream; - } - } - - /** - * Sets the output destination of the dumps. - * - * @param callable|resource|string $output A line dumper callable, an opened stream or an output path - * - * @return callable|resource|string The previous output destination - */ - public function setOutput($output) - { - $prev = null !== $this->outputStream ? $this->outputStream : $this->lineDumper; - - if (\is_callable($output)) { - $this->outputStream = null; - $this->lineDumper = $output; - } else { - if (\is_string($output)) { - $output = fopen($output, 'wb'); - } - $this->outputStream = $output; - $this->lineDumper = [$this, 'echoLine']; - } - - return $prev; - } - - /** - * Sets the default character encoding to use for non-UTF8 strings. - * - * @param string $charset The default character encoding to use for non-UTF8 strings - * - * @return string The previous charset - */ - public function setCharset($charset) - { - $prev = $this->charset; - - $charset = strtoupper($charset); - $charset = null === $charset || 'UTF-8' === $charset || 'UTF8' === $charset ? 'CP1252' : $charset; - - $this->charset = $charset; - - return $prev; - } - - /** - * Sets the indentation pad string. - * - * @param string $pad A string that will be prepended to dumped lines, repeated by nesting level - * - * @return string The previous indent pad - */ - public function setIndentPad($pad) - { - $prev = $this->indentPad; - $this->indentPad = $pad; - - return $prev; - } - - /** - * Dumps a Data object. - * - * @param callable|resource|string|true|null $output A line dumper callable, an opened stream, an output path or true to return the dump - * - * @return string|null The dump as string when $output is true - */ - public function dump(Data $data, $output = null) - { - $this->decimalPoint = localeconv(); - $this->decimalPoint = $this->decimalPoint['decimal_point']; - - if ($locale = $this->flags & (self::DUMP_COMMA_SEPARATOR | self::DUMP_TRAILING_COMMA) ? setlocale(LC_NUMERIC, 0) : null) { - setlocale(LC_NUMERIC, 'C'); - } - - if ($returnDump = true === $output) { - $output = fopen('php://memory', 'r+b'); - } - if ($output) { - $prevOutput = $this->setOutput($output); - } - try { - $data->dump($this); - $this->dumpLine(-1); - - if ($returnDump) { - $result = stream_get_contents($output, -1, 0); - fclose($output); - - return $result; - } - } finally { - if ($output) { - $this->setOutput($prevOutput); - } - if ($locale) { - setlocale(LC_NUMERIC, $locale); - } - } - - return null; - } - - /** - * Dumps the current line. - * - * @param int $depth The recursive depth in the dumped structure for the line being dumped, - * or -1 to signal the end-of-dump to the line dumper callable - */ - protected function dumpLine($depth) - { - ($this->lineDumper)($this->line, $depth, $this->indentPad); - $this->line = ''; - } - - /** - * Generic line dumper callback. - * - * @param string $line The line to write - * @param int $depth The recursive depth in the dumped structure - * @param string $indentPad The line indent pad - */ - protected function echoLine($line, $depth, $indentPad) - { - if (-1 !== $depth) { - fwrite($this->outputStream, str_repeat($indentPad, $depth).$line."\n"); - } - } - - /** - * Converts a non-UTF-8 string to UTF-8. - * - * @param string|null $s The non-UTF-8 string to convert - * - * @return string|null The string converted to UTF-8 - */ - protected function utf8Encode($s) - { - if (null === $s || preg_match('//u', $s)) { - return $s; - } - - if (!\function_exists('iconv')) { - throw new \RuntimeException('Unable to convert a non-UTF-8 string to UTF-8: required function iconv() does not exist. You should install ext-iconv or symfony/polyfill-iconv.'); - } - - if (false !== $c = @iconv($this->charset, 'UTF-8', $s)) { - return $c; - } - if ('CP1252' !== $this->charset && false !== $c = @iconv('CP1252', 'UTF-8', $s)) { - return $c; - } - - return iconv('CP850', 'UTF-8', $s); - } -} diff --git a/paragonik-backend/vendor/symfony/var-dumper/Dumper/CliDumper.php b/paragonik-backend/vendor/symfony/var-dumper/Dumper/CliDumper.php deleted file mode 100644 index b146fc8..0000000 --- a/paragonik-backend/vendor/symfony/var-dumper/Dumper/CliDumper.php +++ /dev/null @@ -1,650 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\VarDumper\Dumper; - -use Symfony\Component\VarDumper\Cloner\Cursor; -use Symfony\Component\VarDumper\Cloner\Stub; - -/** - * CliDumper dumps variables for command line output. - * - * @author Nicolas Grekas - */ -class CliDumper extends AbstractDumper -{ - public static $defaultColors; - public static $defaultOutput = 'php://stdout'; - - protected $colors; - protected $maxStringWidth = 0; - protected $styles = [ - // See http://en.wikipedia.org/wiki/ANSI_escape_code#graphics - 'default' => '0;38;5;208', - 'num' => '1;38;5;38', - 'const' => '1;38;5;208', - 'str' => '1;38;5;113', - 'note' => '38;5;38', - 'ref' => '38;5;247', - 'public' => '', - 'protected' => '', - 'private' => '', - 'meta' => '38;5;170', - 'key' => '38;5;113', - 'index' => '38;5;38', - ]; - - protected static $controlCharsRx = '/[\x00-\x1F\x7F]+/'; - protected static $controlCharsMap = [ - "\t" => '\t', - "\n" => '\n', - "\v" => '\v', - "\f" => '\f', - "\r" => '\r', - "\033" => '\e', - ]; - - protected $collapseNextHash = false; - protected $expandNextHash = false; - - private $displayOptions = [ - 'fileLinkFormat' => null, - ]; - - private $handlesHrefGracefully; - - /** - * {@inheritdoc} - */ - public function __construct($output = null, string $charset = null, int $flags = 0) - { - parent::__construct($output, $charset, $flags); - - if ('\\' === \DIRECTORY_SEPARATOR && !$this->isWindowsTrueColor()) { - // Use only the base 16 xterm colors when using ANSICON or standard Windows 10 CLI - $this->setStyles([ - 'default' => '31', - 'num' => '1;34', - 'const' => '1;31', - 'str' => '1;32', - 'note' => '34', - 'ref' => '1;30', - 'meta' => '35', - 'key' => '32', - 'index' => '34', - ]); - } - - $this->displayOptions['fileLinkFormat'] = ini_get('xdebug.file_link_format') ?: get_cfg_var('xdebug.file_link_format') ?: 'file://%f#L%l'; - } - - /** - * Enables/disables colored output. - * - * @param bool $colors - */ - public function setColors($colors) - { - $this->colors = (bool) $colors; - } - - /** - * Sets the maximum number of characters per line for dumped strings. - * - * @param int $maxStringWidth - */ - public function setMaxStringWidth($maxStringWidth) - { - $this->maxStringWidth = (int) $maxStringWidth; - } - - /** - * Configures styles. - * - * @param array $styles A map of style names to style definitions - */ - public function setStyles(array $styles) - { - $this->styles = $styles + $this->styles; - } - - /** - * Configures display options. - * - * @param array $displayOptions A map of display options to customize the behavior - */ - public function setDisplayOptions(array $displayOptions) - { - $this->displayOptions = $displayOptions + $this->displayOptions; - } - - /** - * {@inheritdoc} - */ - public function dumpScalar(Cursor $cursor, $type, $value) - { - $this->dumpKey($cursor); - - $style = 'const'; - $attr = $cursor->attr; - - switch ($type) { - case 'default': - $style = 'default'; - break; - - case 'integer': - $style = 'num'; - break; - - case 'double': - $style = 'num'; - - switch (true) { - case INF === $value: $value = 'INF'; break; - case -INF === $value: $value = '-INF'; break; - case is_nan($value): $value = 'NAN'; break; - default: - $value = (string) $value; - if (false === strpos($value, $this->decimalPoint)) { - $value .= $this->decimalPoint.'0'; - } - break; - } - break; - - case 'NULL': - $value = 'null'; - break; - - case 'boolean': - $value = $value ? 'true' : 'false'; - break; - - default: - $attr += ['value' => $this->utf8Encode($value)]; - $value = $this->utf8Encode($type); - break; - } - - $this->line .= $this->style($style, $value, $attr); - - $this->endValue($cursor); - } - - /** - * {@inheritdoc} - */ - public function dumpString(Cursor $cursor, $str, $bin, $cut) - { - $this->dumpKey($cursor); - $attr = $cursor->attr; - - if ($bin) { - $str = $this->utf8Encode($str); - } - if ('' === $str) { - $this->line .= '""'; - $this->endValue($cursor); - } else { - $attr += [ - 'length' => 0 <= $cut ? mb_strlen($str, 'UTF-8') + $cut : 0, - 'binary' => $bin, - ]; - $str = explode("\n", $str); - if (isset($str[1]) && !isset($str[2]) && !isset($str[1][0])) { - unset($str[1]); - $str[0] .= "\n"; - } - $m = \count($str) - 1; - $i = $lineCut = 0; - - if (self::DUMP_STRING_LENGTH & $this->flags) { - $this->line .= '('.$attr['length'].') '; - } - if ($bin) { - $this->line .= 'b'; - } - - if ($m) { - $this->line .= '"""'; - $this->dumpLine($cursor->depth); - } else { - $this->line .= '"'; - } - - foreach ($str as $str) { - if ($i < $m) { - $str .= "\n"; - } - if (0 < $this->maxStringWidth && $this->maxStringWidth < $len = mb_strlen($str, 'UTF-8')) { - $str = mb_substr($str, 0, $this->maxStringWidth, 'UTF-8'); - $lineCut = $len - $this->maxStringWidth; - } - if ($m && 0 < $cursor->depth) { - $this->line .= $this->indentPad; - } - if ('' !== $str) { - $this->line .= $this->style('str', $str, $attr); - } - if ($i++ == $m) { - if ($m) { - if ('' !== $str) { - $this->dumpLine($cursor->depth); - if (0 < $cursor->depth) { - $this->line .= $this->indentPad; - } - } - $this->line .= '"""'; - } else { - $this->line .= '"'; - } - if ($cut < 0) { - $this->line .= '…'; - $lineCut = 0; - } elseif ($cut) { - $lineCut += $cut; - } - } - if ($lineCut) { - $this->line .= '…'.$lineCut; - $lineCut = 0; - } - - if ($i > $m) { - $this->endValue($cursor); - } else { - $this->dumpLine($cursor->depth); - } - } - } - } - - /** - * {@inheritdoc} - */ - public function enterHash(Cursor $cursor, $type, $class, $hasChild) - { - $this->dumpKey($cursor); - $attr = $cursor->attr; - - if ($this->collapseNextHash) { - $cursor->skipChildren = true; - $this->collapseNextHash = $hasChild = false; - } - - $class = $this->utf8Encode($class); - if (Cursor::HASH_OBJECT === $type) { - $prefix = $class && 'stdClass' !== $class ? $this->style('note', $class, $attr).(empty($attr['cut_hash']) ? ' {' : '') : '{'; - } elseif (Cursor::HASH_RESOURCE === $type) { - $prefix = $this->style('note', $class.' resource', $attr).($hasChild ? ' {' : ' '); - } else { - $prefix = $class && !(self::DUMP_LIGHT_ARRAY & $this->flags) ? $this->style('note', 'array:'.$class, $attr).' [' : '['; - } - - if (($cursor->softRefCount || 0 < $cursor->softRefHandle) && empty($attr['cut_hash'])) { - $prefix .= $this->style('ref', (Cursor::HASH_RESOURCE === $type ? '@' : '#').(0 < $cursor->softRefHandle ? $cursor->softRefHandle : $cursor->softRefTo), ['count' => $cursor->softRefCount]); - } elseif ($cursor->hardRefTo && !$cursor->refIndex && $class) { - $prefix .= $this->style('ref', '&'.$cursor->hardRefTo, ['count' => $cursor->hardRefCount]); - } elseif (!$hasChild && Cursor::HASH_RESOURCE === $type) { - $prefix = substr($prefix, 0, -1); - } - - $this->line .= $prefix; - - if ($hasChild) { - $this->dumpLine($cursor->depth); - } - } - - /** - * {@inheritdoc} - */ - public function leaveHash(Cursor $cursor, $type, $class, $hasChild, $cut) - { - if (empty($cursor->attr['cut_hash'])) { - $this->dumpEllipsis($cursor, $hasChild, $cut); - $this->line .= Cursor::HASH_OBJECT === $type ? '}' : (Cursor::HASH_RESOURCE !== $type ? ']' : ($hasChild ? '}' : '')); - } - - $this->endValue($cursor); - } - - /** - * Dumps an ellipsis for cut children. - * - * @param bool $hasChild When the dump of the hash has child item - * @param int $cut The number of items the hash has been cut by - */ - protected function dumpEllipsis(Cursor $cursor, $hasChild, $cut) - { - if ($cut) { - $this->line .= ' …'; - if (0 < $cut) { - $this->line .= $cut; - } - if ($hasChild) { - $this->dumpLine($cursor->depth + 1); - } - } - } - - /** - * Dumps a key in a hash structure. - */ - protected function dumpKey(Cursor $cursor) - { - if (null !== $key = $cursor->hashKey) { - if ($cursor->hashKeyIsBinary) { - $key = $this->utf8Encode($key); - } - $attr = ['binary' => $cursor->hashKeyIsBinary]; - $bin = $cursor->hashKeyIsBinary ? 'b' : ''; - $style = 'key'; - switch ($cursor->hashType) { - default: - case Cursor::HASH_INDEXED: - if (self::DUMP_LIGHT_ARRAY & $this->flags) { - break; - } - $style = 'index'; - // no break - case Cursor::HASH_ASSOC: - if (\is_int($key)) { - $this->line .= $this->style($style, $key).' => '; - } else { - $this->line .= $bin.'"'.$this->style($style, $key).'" => '; - } - break; - - case Cursor::HASH_RESOURCE: - $key = "\0~\0".$key; - // no break - case Cursor::HASH_OBJECT: - if (!isset($key[0]) || "\0" !== $key[0]) { - $this->line .= '+'.$bin.$this->style('public', $key).': '; - } elseif (0 < strpos($key, "\0", 1)) { - $key = explode("\0", substr($key, 1), 2); - - switch ($key[0][0]) { - case '+': // User inserted keys - $attr['dynamic'] = true; - $this->line .= '+'.$bin.'"'.$this->style('public', $key[1], $attr).'": '; - break 2; - case '~': - $style = 'meta'; - if (isset($key[0][1])) { - parse_str(substr($key[0], 1), $attr); - $attr += ['binary' => $cursor->hashKeyIsBinary]; - } - break; - case '*': - $style = 'protected'; - $bin = '#'.$bin; - break; - default: - $attr['class'] = $key[0]; - $style = 'private'; - $bin = '-'.$bin; - break; - } - - if (isset($attr['collapse'])) { - if ($attr['collapse']) { - $this->collapseNextHash = true; - } else { - $this->expandNextHash = true; - } - } - - $this->line .= $bin.$this->style($style, $key[1], $attr).(isset($attr['separator']) ? $attr['separator'] : ': '); - } else { - // This case should not happen - $this->line .= '-'.$bin.'"'.$this->style('private', $key, ['class' => '']).'": '; - } - break; - } - - if ($cursor->hardRefTo) { - $this->line .= $this->style('ref', '&'.($cursor->hardRefCount ? $cursor->hardRefTo : ''), ['count' => $cursor->hardRefCount]).' '; - } - } - } - - /** - * Decorates a value with some style. - * - * @param string $style The type of style being applied - * @param string $value The value being styled - * @param array $attr Optional context information - * - * @return string The value with style decoration - */ - protected function style($style, $value, $attr = []) - { - if (null === $this->colors) { - $this->colors = $this->supportsColors(); - } - - if (null === $this->handlesHrefGracefully) { - $this->handlesHrefGracefully = 'JetBrains-JediTerm' !== getenv('TERMINAL_EMULATOR') && !getenv('KONSOLE_VERSION'); - } - - if (isset($attr['ellipsis'], $attr['ellipsis-type'])) { - $prefix = substr($value, 0, -$attr['ellipsis']); - if ('cli' === \PHP_SAPI && 'path' === $attr['ellipsis-type'] && isset($_SERVER[$pwd = '\\' === \DIRECTORY_SEPARATOR ? 'CD' : 'PWD']) && 0 === strpos($prefix, $_SERVER[$pwd])) { - $prefix = '.'.substr($prefix, \strlen($_SERVER[$pwd])); - } - if (!empty($attr['ellipsis-tail'])) { - $prefix .= substr($value, -$attr['ellipsis'], $attr['ellipsis-tail']); - $value = substr($value, -$attr['ellipsis'] + $attr['ellipsis-tail']); - } else { - $value = substr($value, -$attr['ellipsis']); - } - - $value = $this->style('default', $prefix).$this->style($style, $value); - - goto href; - } - - $map = static::$controlCharsMap; - $startCchr = $this->colors ? "\033[m\033[{$this->styles['default']}m" : ''; - $endCchr = $this->colors ? "\033[m\033[{$this->styles[$style]}m" : ''; - $value = preg_replace_callback(static::$controlCharsRx, function ($c) use ($map, $startCchr, $endCchr) { - $s = $startCchr; - $c = $c[$i = 0]; - do { - $s .= isset($map[$c[$i]]) ? $map[$c[$i]] : sprintf('\x%02X', \ord($c[$i])); - } while (isset($c[++$i])); - - return $s.$endCchr; - }, $value, -1, $cchrCount); - - if ($this->colors) { - if ($cchrCount && "\033" === $value[0]) { - $value = substr($value, \strlen($startCchr)); - } else { - $value = "\033[{$this->styles[$style]}m".$value; - } - if ($cchrCount && $endCchr === substr($value, -\strlen($endCchr))) { - $value = substr($value, 0, -\strlen($endCchr)); - } else { - $value .= "\033[{$this->styles['default']}m"; - } - } - - href: - if ($this->colors && $this->handlesHrefGracefully) { - if (isset($attr['file']) && $href = $this->getSourceLink($attr['file'], isset($attr['line']) ? $attr['line'] : 0)) { - if ('note' === $style) { - $value .= "\033]8;;{$href}\033\\^\033]8;;\033\\"; - } else { - $attr['href'] = $href; - } - } - if (isset($attr['href'])) { - $value = "\033]8;;{$attr['href']}\033\\{$value}\033]8;;\033\\"; - } - } elseif ($attr['if_links'] ?? false) { - return ''; - } - - return $value; - } - - /** - * @return bool Tells if the current output stream supports ANSI colors or not - */ - protected function supportsColors() - { - if ($this->outputStream !== static::$defaultOutput) { - return $this->hasColorSupport($this->outputStream); - } - if (null !== static::$defaultColors) { - return static::$defaultColors; - } - if (isset($_SERVER['argv'][1])) { - $colors = $_SERVER['argv']; - $i = \count($colors); - while (--$i > 0) { - if (isset($colors[$i][5])) { - switch ($colors[$i]) { - case '--ansi': - case '--color': - case '--color=yes': - case '--color=force': - case '--color=always': - return static::$defaultColors = true; - - case '--no-ansi': - case '--color=no': - case '--color=none': - case '--color=never': - return static::$defaultColors = false; - } - } - } - } - - $h = stream_get_meta_data($this->outputStream) + ['wrapper_type' => null]; - $h = 'Output' === $h['stream_type'] && 'PHP' === $h['wrapper_type'] ? fopen('php://stdout', 'wb') : $this->outputStream; - - return static::$defaultColors = $this->hasColorSupport($h); - } - - /** - * {@inheritdoc} - */ - protected function dumpLine($depth, $endOfValue = false) - { - if ($this->colors) { - $this->line = sprintf("\033[%sm%s\033[m", $this->styles['default'], $this->line); - } - parent::dumpLine($depth); - } - - protected function endValue(Cursor $cursor) - { - if (-1 === $cursor->hashType) { - return; - } - - if (Stub::ARRAY_INDEXED === $cursor->hashType || Stub::ARRAY_ASSOC === $cursor->hashType) { - if (self::DUMP_TRAILING_COMMA & $this->flags && 0 < $cursor->depth) { - $this->line .= ','; - } elseif (self::DUMP_COMMA_SEPARATOR & $this->flags && 1 < $cursor->hashLength - $cursor->hashIndex) { - $this->line .= ','; - } - } - - $this->dumpLine($cursor->depth, true); - } - - /** - * Returns true if the stream supports colorization. - * - * Reference: Composer\XdebugHandler\Process::supportsColor - * https://github.com/composer/xdebug-handler - * - * @param mixed $stream A CLI output stream - */ - private function hasColorSupport($stream): bool - { - if (!\is_resource($stream) || 'stream' !== get_resource_type($stream)) { - return false; - } - - // Follow https://no-color.org/ - if (isset($_SERVER['NO_COLOR']) || false !== getenv('NO_COLOR')) { - return false; - } - - if ('Hyper' === getenv('TERM_PROGRAM')) { - return true; - } - - if (\DIRECTORY_SEPARATOR === '\\') { - return (\function_exists('sapi_windows_vt100_support') - && @sapi_windows_vt100_support($stream)) - || false !== getenv('ANSICON') - || 'ON' === getenv('ConEmuANSI') - || 'xterm' === getenv('TERM'); - } - - if (\function_exists('stream_isatty')) { - return @stream_isatty($stream); - } - - if (\function_exists('posix_isatty')) { - return @posix_isatty($stream); - } - - $stat = @fstat($stream); - // Check if formatted mode is S_IFCHR - return $stat ? 0020000 === ($stat['mode'] & 0170000) : false; - } - - /** - * Returns true if the Windows terminal supports true color. - * - * Note that this does not check an output stream, but relies on environment - * variables from known implementations, or a PHP and Windows version that - * supports true color. - */ - private function isWindowsTrueColor(): bool - { - $result = 183 <= getenv('ANSICON_VER') - || 'ON' === getenv('ConEmuANSI') - || 'xterm' === getenv('TERM') - || 'Hyper' === getenv('TERM_PROGRAM'); - - if (!$result && \PHP_VERSION_ID >= 70200) { - $version = sprintf( - '%s.%s.%s', - PHP_WINDOWS_VERSION_MAJOR, - PHP_WINDOWS_VERSION_MINOR, - PHP_WINDOWS_VERSION_BUILD - ); - $result = $version >= '10.0.15063'; - } - - return $result; - } - - private function getSourceLink(string $file, int $line) - { - if ($fmt = $this->displayOptions['fileLinkFormat']) { - return \is_string($fmt) ? strtr($fmt, ['%f' => $file, '%l' => $line]) : ($fmt->format($file, $line) ?: 'file://'.$file.'#L'.$line); - } - - return false; - } -} diff --git a/paragonik-backend/vendor/symfony/var-dumper/Dumper/ContextProvider/CliContextProvider.php b/paragonik-backend/vendor/symfony/var-dumper/Dumper/ContextProvider/CliContextProvider.php deleted file mode 100644 index e7f8ccf..0000000 --- a/paragonik-backend/vendor/symfony/var-dumper/Dumper/ContextProvider/CliContextProvider.php +++ /dev/null @@ -1,32 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\VarDumper\Dumper\ContextProvider; - -/** - * Tries to provide context on CLI. - * - * @author Maxime Steinhausser - */ -final class CliContextProvider implements ContextProviderInterface -{ - public function getContext(): ?array - { - if ('cli' !== \PHP_SAPI) { - return null; - } - - return [ - 'command_line' => $commandLine = implode(' ', $_SERVER['argv']), - 'identifier' => hash('crc32b', $commandLine.$_SERVER['REQUEST_TIME_FLOAT']), - ]; - } -} diff --git a/paragonik-backend/vendor/symfony/var-dumper/Dumper/ContextProvider/ContextProviderInterface.php b/paragonik-backend/vendor/symfony/var-dumper/Dumper/ContextProvider/ContextProviderInterface.php deleted file mode 100644 index 38ef3b0..0000000 --- a/paragonik-backend/vendor/symfony/var-dumper/Dumper/ContextProvider/ContextProviderInterface.php +++ /dev/null @@ -1,25 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\VarDumper\Dumper\ContextProvider; - -/** - * Interface to provide contextual data about dump data clones sent to a server. - * - * @author Maxime Steinhausser - */ -interface ContextProviderInterface -{ - /** - * @return array|null Context data or null if unable to provide any context - */ - public function getContext(): ?array; -} diff --git a/paragonik-backend/vendor/symfony/var-dumper/Dumper/ContextProvider/RequestContextProvider.php b/paragonik-backend/vendor/symfony/var-dumper/Dumper/ContextProvider/RequestContextProvider.php deleted file mode 100644 index 3684a47..0000000 --- a/paragonik-backend/vendor/symfony/var-dumper/Dumper/ContextProvider/RequestContextProvider.php +++ /dev/null @@ -1,51 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\VarDumper\Dumper\ContextProvider; - -use Symfony\Component\HttpFoundation\RequestStack; -use Symfony\Component\VarDumper\Caster\ReflectionCaster; -use Symfony\Component\VarDumper\Cloner\VarCloner; - -/** - * Tries to provide context from a request. - * - * @author Maxime Steinhausser - */ -final class RequestContextProvider implements ContextProviderInterface -{ - private $requestStack; - private $cloner; - - public function __construct(RequestStack $requestStack) - { - $this->requestStack = $requestStack; - $this->cloner = new VarCloner(); - $this->cloner->setMaxItems(0); - $this->cloner->addCasters(ReflectionCaster::UNSET_CLOSURE_FILE_INFO); - } - - public function getContext(): ?array - { - if (null === $request = $this->requestStack->getCurrentRequest()) { - return null; - } - - $controller = $request->attributes->get('_controller'); - - return [ - 'uri' => $request->getUri(), - 'method' => $request->getMethod(), - 'controller' => $controller ? $this->cloner->cloneVar($controller) : $controller, - 'identifier' => spl_object_hash($request), - ]; - } -} diff --git a/paragonik-backend/vendor/symfony/var-dumper/Dumper/ContextProvider/SourceContextProvider.php b/paragonik-backend/vendor/symfony/var-dumper/Dumper/ContextProvider/SourceContextProvider.php deleted file mode 100644 index 6f4caba..0000000 --- a/paragonik-backend/vendor/symfony/var-dumper/Dumper/ContextProvider/SourceContextProvider.php +++ /dev/null @@ -1,126 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\VarDumper\Dumper\ContextProvider; - -use Symfony\Component\HttpKernel\Debug\FileLinkFormatter; -use Symfony\Component\VarDumper\Cloner\VarCloner; -use Symfony\Component\VarDumper\Dumper\HtmlDumper; -use Symfony\Component\VarDumper\VarDumper; -use Twig\Template; - -/** - * Tries to provide context from sources (class name, file, line, code excerpt, ...). - * - * @author Nicolas Grekas - * @author Maxime Steinhausser - */ -final class SourceContextProvider implements ContextProviderInterface -{ - private $limit; - private $charset; - private $projectDir; - private $fileLinkFormatter; - - public function __construct(string $charset = null, string $projectDir = null, FileLinkFormatter $fileLinkFormatter = null, int $limit = 9) - { - $this->charset = $charset; - $this->projectDir = $projectDir; - $this->fileLinkFormatter = $fileLinkFormatter; - $this->limit = $limit; - } - - public function getContext(): ?array - { - $trace = debug_backtrace(DEBUG_BACKTRACE_PROVIDE_OBJECT | DEBUG_BACKTRACE_IGNORE_ARGS, $this->limit); - - $file = $trace[1]['file']; - $line = $trace[1]['line']; - $name = false; - $fileExcerpt = false; - - for ($i = 2; $i < $this->limit; ++$i) { - if (isset($trace[$i]['class'], $trace[$i]['function']) - && 'dump' === $trace[$i]['function'] - && VarDumper::class === $trace[$i]['class'] - ) { - $file = $trace[$i]['file'] ?? $file; - $line = $trace[$i]['line'] ?? $line; - - while (++$i < $this->limit) { - if (isset($trace[$i]['function'], $trace[$i]['file']) && empty($trace[$i]['class']) && 0 !== strpos($trace[$i]['function'], 'call_user_func')) { - $file = $trace[$i]['file']; - $line = $trace[$i]['line']; - - break; - } elseif (isset($trace[$i]['object']) && $trace[$i]['object'] instanceof Template) { - $template = $trace[$i]['object']; - $name = $template->getTemplateName(); - $src = method_exists($template, 'getSourceContext') ? $template->getSourceContext()->getCode() : (method_exists($template, 'getSource') ? $template->getSource() : false); - $info = $template->getDebugInfo(); - if (isset($info[$trace[$i - 1]['line']])) { - $line = $info[$trace[$i - 1]['line']]; - $file = method_exists($template, 'getSourceContext') ? $template->getSourceContext()->getPath() : null; - - if ($src) { - $src = explode("\n", $src); - $fileExcerpt = []; - - for ($i = max($line - 3, 1), $max = min($line + 3, \count($src)); $i <= $max; ++$i) { - $fileExcerpt[] = ''.$this->htmlEncode($src[$i - 1]).''; - } - - $fileExcerpt = '
      '.implode("\n", $fileExcerpt).'
    '; - } - } - break; - } - } - break; - } - } - - if (false === $name) { - $name = str_replace('\\', '/', $file); - $name = substr($name, strrpos($name, '/') + 1); - } - - $context = ['name' => $name, 'file' => $file, 'line' => $line]; - $context['file_excerpt'] = $fileExcerpt; - - if (null !== $this->projectDir) { - $context['project_dir'] = $this->projectDir; - if (0 === strpos($file, $this->projectDir)) { - $context['file_relative'] = ltrim(substr($file, \strlen($this->projectDir)), \DIRECTORY_SEPARATOR); - } - } - - if ($this->fileLinkFormatter && $fileLink = $this->fileLinkFormatter->format($context['file'], $context['line'])) { - $context['file_link'] = $fileLink; - } - - return $context; - } - - private function htmlEncode(string $s): string - { - $html = ''; - - $dumper = new HtmlDumper(function ($line) use (&$html) { $html .= $line; }, $this->charset); - $dumper->setDumpHeader(''); - $dumper->setDumpBoundaries('', ''); - - $cloner = new VarCloner(); - $dumper->dump($cloner->cloneVar($s)); - - return substr(strip_tags($html), 1, -1); - } -} diff --git a/paragonik-backend/vendor/symfony/var-dumper/Dumper/ContextualizedDumper.php b/paragonik-backend/vendor/symfony/var-dumper/Dumper/ContextualizedDumper.php deleted file mode 100644 index 7638417..0000000 --- a/paragonik-backend/vendor/symfony/var-dumper/Dumper/ContextualizedDumper.php +++ /dev/null @@ -1,43 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\VarDumper\Dumper; - -use Symfony\Component\VarDumper\Cloner\Data; -use Symfony\Component\VarDumper\Dumper\ContextProvider\ContextProviderInterface; - -/** - * @author Kévin Thérage - */ -class ContextualizedDumper implements DataDumperInterface -{ - private $wrappedDumper; - private $contextProviders; - - /** - * @param ContextProviderInterface[] $contextProviders - */ - public function __construct(DataDumperInterface $wrappedDumper, array $contextProviders) - { - $this->wrappedDumper = $wrappedDumper; - $this->contextProviders = $contextProviders; - } - - public function dump(Data $data) - { - $context = []; - foreach ($this->contextProviders as $contextProvider) { - $context[\get_class($contextProvider)] = $contextProvider->getContext(); - } - - $this->wrappedDumper->dump($data->withContext($context)); - } -} diff --git a/paragonik-backend/vendor/symfony/var-dumper/Dumper/DataDumperInterface.php b/paragonik-backend/vendor/symfony/var-dumper/Dumper/DataDumperInterface.php deleted file mode 100644 index b173bcc..0000000 --- a/paragonik-backend/vendor/symfony/var-dumper/Dumper/DataDumperInterface.php +++ /dev/null @@ -1,24 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\VarDumper\Dumper; - -use Symfony\Component\VarDumper\Cloner\Data; - -/** - * DataDumperInterface for dumping Data objects. - * - * @author Nicolas Grekas - */ -interface DataDumperInterface -{ - public function dump(Data $data); -} diff --git a/paragonik-backend/vendor/symfony/var-dumper/Dumper/HtmlDumper.php b/paragonik-backend/vendor/symfony/var-dumper/Dumper/HtmlDumper.php deleted file mode 100644 index e7a6e32..0000000 --- a/paragonik-backend/vendor/symfony/var-dumper/Dumper/HtmlDumper.php +++ /dev/null @@ -1,1004 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\VarDumper\Dumper; - -use Symfony\Component\VarDumper\Cloner\Cursor; -use Symfony\Component\VarDumper\Cloner\Data; - -/** - * HtmlDumper dumps variables as HTML. - * - * @author Nicolas Grekas - */ -class HtmlDumper extends CliDumper -{ - public static $defaultOutput = 'php://output'; - - protected static $themes = [ - 'dark' => [ - 'default' => 'background-color:#18171B; color:#FF8400; line-height:1.2em; font:12px Menlo, Monaco, Consolas, monospace; word-wrap: break-word; white-space: pre-wrap; position:relative; z-index:99999; word-break: break-all', - 'num' => 'font-weight:bold; color:#1299DA', - 'const' => 'font-weight:bold', - 'str' => 'font-weight:bold; color:#56DB3A', - 'note' => 'color:#1299DA', - 'ref' => 'color:#A0A0A0', - 'public' => 'color:#FFFFFF', - 'protected' => 'color:#FFFFFF', - 'private' => 'color:#FFFFFF', - 'meta' => 'color:#B729D9', - 'key' => 'color:#56DB3A', - 'index' => 'color:#1299DA', - 'ellipsis' => 'color:#FF8400', - 'ns' => 'user-select:none;', - ], - 'light' => [ - 'default' => 'background:none; color:#CC7832; line-height:1.2em; font:12px Menlo, Monaco, Consolas, monospace; word-wrap: break-word; white-space: pre-wrap; position:relative; z-index:99999; word-break: break-all', - 'num' => 'font-weight:bold; color:#1299DA', - 'const' => 'font-weight:bold', - 'str' => 'font-weight:bold; color:#629755;', - 'note' => 'color:#6897BB', - 'ref' => 'color:#6E6E6E', - 'public' => 'color:#262626', - 'protected' => 'color:#262626', - 'private' => 'color:#262626', - 'meta' => 'color:#B729D9', - 'key' => 'color:#789339', - 'index' => 'color:#1299DA', - 'ellipsis' => 'color:#CC7832', - 'ns' => 'user-select:none;', - ], - ]; - - protected $dumpHeader; - protected $dumpPrefix = '
    ';
    -    protected $dumpSuffix = '
    '; - protected $dumpId = 'sf-dump'; - protected $colors = true; - protected $headerIsDumped = false; - protected $lastDepth = -1; - protected $styles; - - private $displayOptions = [ - 'maxDepth' => 1, - 'maxStringLength' => 160, - 'fileLinkFormat' => null, - ]; - private $extraDisplayOptions = []; - - /** - * {@inheritdoc} - */ - public function __construct($output = null, string $charset = null, int $flags = 0) - { - AbstractDumper::__construct($output, $charset, $flags); - $this->dumpId = 'sf-dump-'.mt_rand(); - $this->displayOptions['fileLinkFormat'] = ini_get('xdebug.file_link_format') ?: get_cfg_var('xdebug.file_link_format'); - $this->styles = static::$themes['dark'] ?? self::$themes['dark']; - } - - /** - * {@inheritdoc} - */ - public function setStyles(array $styles) - { - $this->headerIsDumped = false; - $this->styles = $styles + $this->styles; - } - - public function setTheme(string $themeName) - { - if (!isset(static::$themes[$themeName])) { - throw new \InvalidArgumentException(sprintf('Theme "%s" does not exist in class "%s".', $themeName, static::class)); - } - - $this->setStyles(static::$themes[$themeName]); - } - - /** - * Configures display options. - * - * @param array $displayOptions A map of display options to customize the behavior - */ - public function setDisplayOptions(array $displayOptions) - { - $this->headerIsDumped = false; - $this->displayOptions = $displayOptions + $this->displayOptions; - } - - /** - * Sets an HTML header that will be dumped once in the output stream. - * - * @param string $header An HTML string - */ - public function setDumpHeader($header) - { - $this->dumpHeader = $header; - } - - /** - * Sets an HTML prefix and suffix that will encapse every single dump. - * - * @param string $prefix The prepended HTML string - * @param string $suffix The appended HTML string - */ - public function setDumpBoundaries($prefix, $suffix) - { - $this->dumpPrefix = $prefix; - $this->dumpSuffix = $suffix; - } - - /** - * {@inheritdoc} - */ - public function dump(Data $data, $output = null, array $extraDisplayOptions = []) - { - $this->extraDisplayOptions = $extraDisplayOptions; - $result = parent::dump($data, $output); - $this->dumpId = 'sf-dump-'.mt_rand(); - - return $result; - } - - /** - * Dumps the HTML header. - */ - protected function getDumpHeader() - { - $this->headerIsDumped = null !== $this->outputStream ? $this->outputStream : $this->lineDumper; - - if (null !== $this->dumpHeader) { - return $this->dumpHeader; - } - - $line = str_replace('{$options}', json_encode($this->displayOptions, JSON_FORCE_OBJECT), <<<'EOHTML' -'.$this->dumpHeader; - } - - /** - * {@inheritdoc} - */ - public function dumpString(Cursor $cursor, $str, $bin, $cut) - { - if ('' === $str && isset($cursor->attr['img-data'], $cursor->attr['content-type'])) { - $this->dumpKey($cursor); - $this->line .= $this->style('default', $cursor->attr['img-size'] ?? '', []).' '; - $this->endValue($cursor); - $this->line .= $this->indentPad; - $this->line .= sprintf('', $cursor->attr['content-type'], base64_encode($cursor->attr['img-data'])); - $this->endValue($cursor); - } else { - parent::dumpString($cursor, $str, $bin, $cut); - } - } - - /** - * {@inheritdoc} - */ - public function enterHash(Cursor $cursor, $type, $class, $hasChild) - { - if (Cursor::HASH_OBJECT === $type) { - $cursor->attr['depth'] = $cursor->depth; - } - parent::enterHash($cursor, $type, $class, false); - - if ($cursor->skipChildren) { - $cursor->skipChildren = false; - $eol = ' class=sf-dump-compact>'; - } elseif ($this->expandNextHash) { - $this->expandNextHash = false; - $eol = ' class=sf-dump-expanded>'; - } else { - $eol = '>'; - } - - if ($hasChild) { - $this->line .= 'refIndex) { - $r = Cursor::HASH_OBJECT !== $type ? 1 - (Cursor::HASH_RESOURCE !== $type) : 2; - $r .= $r && 0 < $cursor->softRefHandle ? $cursor->softRefHandle : $cursor->refIndex; - - $this->line .= sprintf(' id=%s-ref%s', $this->dumpId, $r); - } - $this->line .= $eol; - $this->dumpLine($cursor->depth); - } - } - - /** - * {@inheritdoc} - */ - public function leaveHash(Cursor $cursor, $type, $class, $hasChild, $cut) - { - $this->dumpEllipsis($cursor, $hasChild, $cut); - if ($hasChild) { - $this->line .= ''; - } - parent::leaveHash($cursor, $type, $class, $hasChild, 0); - } - - /** - * {@inheritdoc} - */ - protected function style($style, $value, $attr = []) - { - if ('' === $value) { - return ''; - } - - $v = esc($value); - - if ('ref' === $style) { - if (empty($attr['count'])) { - return sprintf('%s', $v); - } - $r = ('#' !== $v[0] ? 1 - ('@' !== $v[0]) : 2).substr($value, 1); - - return sprintf('%s', $this->dumpId, $r, 1 + $attr['count'], $v); - } - - if ('const' === $style && isset($attr['value'])) { - $style .= sprintf(' title="%s"', esc(is_scalar($attr['value']) ? $attr['value'] : json_encode($attr['value']))); - } elseif ('public' === $style) { - $style .= sprintf(' title="%s"', empty($attr['dynamic']) ? 'Public property' : 'Runtime added dynamic property'); - } elseif ('str' === $style && 1 < $attr['length']) { - $style .= sprintf(' title="%d%s characters"', $attr['length'], $attr['binary'] ? ' binary or non-UTF-8' : ''); - } elseif ('note' === $style && 0 < ($attr['depth'] ?? 0) && false !== $c = strrpos($value, '\\')) { - $style .= ' title=""'; - $attr += [ - 'ellipsis' => \strlen($value) - $c, - 'ellipsis-type' => 'note', - 'ellipsis-tail' => 1, - ]; - } elseif ('protected' === $style) { - $style .= ' title="Protected property"'; - } elseif ('meta' === $style && isset($attr['title'])) { - $style .= sprintf(' title="%s"', esc($this->utf8Encode($attr['title']))); - } elseif ('private' === $style) { - $style .= sprintf(' title="Private property defined in class: `%s`"', esc($this->utf8Encode($attr['class']))); - } - $map = static::$controlCharsMap; - - if (isset($attr['ellipsis'])) { - $class = 'sf-dump-ellipsis'; - if (isset($attr['ellipsis-type'])) { - $class = sprintf('"%s sf-dump-ellipsis-%s"', $class, $attr['ellipsis-type']); - } - $label = esc(substr($value, -$attr['ellipsis'])); - $style = str_replace(' title="', " title=\"$v\n", $style); - $v = sprintf('%s', $class, substr($v, 0, -\strlen($label))); - - if (!empty($attr['ellipsis-tail'])) { - $tail = \strlen(esc(substr($value, -$attr['ellipsis'], $attr['ellipsis-tail']))); - $v .= sprintf('%s%s', $class, substr($label, 0, $tail), substr($label, $tail)); - } else { - $v .= $label; - } - } - - $v = "".preg_replace_callback(static::$controlCharsRx, function ($c) use ($map) { - $s = $b = ''; - }, $v).''; - - if (isset($attr['file']) && $href = $this->getSourceLink($attr['file'], isset($attr['line']) ? $attr['line'] : 0)) { - $attr['href'] = $href; - } - if (isset($attr['href'])) { - $target = isset($attr['file']) ? '' : ' target="_blank"'; - $v = sprintf('%s', esc($this->utf8Encode($attr['href'])), $target, $v); - } - if (isset($attr['lang'])) { - $v = sprintf('%s', esc($attr['lang']), $v); - } - - return $v; - } - - /** - * {@inheritdoc} - */ - protected function dumpLine($depth, $endOfValue = false) - { - if (-1 === $this->lastDepth) { - $this->line = sprintf($this->dumpPrefix, $this->dumpId, $this->indentPad).$this->line; - } - if ($this->headerIsDumped !== (null !== $this->outputStream ? $this->outputStream : $this->lineDumper)) { - $this->line = $this->getDumpHeader().$this->line; - } - - if (-1 === $depth) { - $args = ['"'.$this->dumpId.'"']; - if ($this->extraDisplayOptions) { - $args[] = json_encode($this->extraDisplayOptions, JSON_FORCE_OBJECT); - } - // Replace is for BC - $this->line .= sprintf(str_replace('"%s"', '%s', $this->dumpSuffix), implode(', ', $args)); - } - $this->lastDepth = $depth; - - $this->line = mb_convert_encoding($this->line, 'HTML-ENTITIES', 'UTF-8'); - - if (-1 === $depth) { - AbstractDumper::dumpLine(0); - } - AbstractDumper::dumpLine($depth); - } - - private function getSourceLink(string $file, int $line) - { - $options = $this->extraDisplayOptions + $this->displayOptions; - - if ($fmt = $options['fileLinkFormat']) { - return \is_string($fmt) ? strtr($fmt, ['%f' => $file, '%l' => $line]) : $fmt->format($file, $line); - } - - return false; - } -} - -function esc($str) -{ - return htmlspecialchars($str, ENT_QUOTES, 'UTF-8'); -} diff --git a/paragonik-backend/vendor/symfony/var-dumper/Dumper/ServerDumper.php b/paragonik-backend/vendor/symfony/var-dumper/Dumper/ServerDumper.php deleted file mode 100644 index 94795bf..0000000 --- a/paragonik-backend/vendor/symfony/var-dumper/Dumper/ServerDumper.php +++ /dev/null @@ -1,53 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\VarDumper\Dumper; - -use Symfony\Component\VarDumper\Cloner\Data; -use Symfony\Component\VarDumper\Dumper\ContextProvider\ContextProviderInterface; -use Symfony\Component\VarDumper\Server\Connection; - -/** - * ServerDumper forwards serialized Data clones to a server. - * - * @author Maxime Steinhausser - */ -class ServerDumper implements DataDumperInterface -{ - private $connection; - private $wrappedDumper; - - /** - * @param string $host The server host - * @param DataDumperInterface|null $wrappedDumper A wrapped instance used whenever we failed contacting the server - * @param ContextProviderInterface[] $contextProviders Context providers indexed by context name - */ - public function __construct(string $host, DataDumperInterface $wrappedDumper = null, array $contextProviders = []) - { - $this->connection = new Connection($host, $contextProviders); - $this->wrappedDumper = $wrappedDumper; - } - - public function getContextProviders(): array - { - return $this->connection->getContextProviders(); - } - - /** - * {@inheritdoc} - */ - public function dump(Data $data) - { - if (!$this->connection->write($data) && $this->wrappedDumper) { - $this->wrappedDumper->dump($data); - } - } -} diff --git a/paragonik-backend/vendor/symfony/var-dumper/Exception/ThrowingCasterException.php b/paragonik-backend/vendor/symfony/var-dumper/Exception/ThrowingCasterException.php deleted file mode 100644 index 122f0d3..0000000 --- a/paragonik-backend/vendor/symfony/var-dumper/Exception/ThrowingCasterException.php +++ /dev/null @@ -1,26 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\VarDumper\Exception; - -/** - * @author Nicolas Grekas - */ -class ThrowingCasterException extends \Exception -{ - /** - * @param \Throwable $prev The exception thrown from the caster - */ - public function __construct(\Throwable $prev) - { - parent::__construct('Unexpected '.\get_class($prev).' thrown from a caster: '.$prev->getMessage(), 0, $prev); - } -} diff --git a/paragonik-backend/vendor/symfony/var-dumper/LICENSE b/paragonik-backend/vendor/symfony/var-dumper/LICENSE deleted file mode 100644 index cf8b3eb..0000000 --- a/paragonik-backend/vendor/symfony/var-dumper/LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 2014-2019 Fabien Potencier - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is furnished -to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/paragonik-backend/vendor/symfony/var-dumper/README.md b/paragonik-backend/vendor/symfony/var-dumper/README.md deleted file mode 100644 index 339f73e..0000000 --- a/paragonik-backend/vendor/symfony/var-dumper/README.md +++ /dev/null @@ -1,15 +0,0 @@ -VarDumper Component -=================== - -The VarDumper component provides mechanisms for walking through any arbitrary -PHP variable. It provides a better `dump()` function that you can use instead -of `var_dump`. - -Resources ---------- - - * [Documentation](https://symfony.com/doc/current/components/var_dumper/introduction.html) - * [Contributing](https://symfony.com/doc/current/contributing/index.html) - * [Report issues](https://github.com/symfony/symfony/issues) and - [send Pull Requests](https://github.com/symfony/symfony/pulls) - in the [main Symfony repository](https://github.com/symfony/symfony) diff --git a/paragonik-backend/vendor/symfony/var-dumper/Resources/bin/var-dump-server b/paragonik-backend/vendor/symfony/var-dumper/Resources/bin/var-dump-server deleted file mode 100644 index 98c813a..0000000 --- a/paragonik-backend/vendor/symfony/var-dumper/Resources/bin/var-dump-server +++ /dev/null @@ -1,63 +0,0 @@ -#!/usr/bin/env php - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Starts a dump server to collect and output dumps on a single place with multiple formats support. - * - * @author Maxime Steinhausser - */ - -use Psr\Log\LoggerInterface; -use Symfony\Component\Console\Application; -use Symfony\Component\Console\Input\ArgvInput; -use Symfony\Component\Console\Input\InputOption; -use Symfony\Component\Console\Logger\ConsoleLogger; -use Symfony\Component\Console\Output\ConsoleOutput; -use Symfony\Component\VarDumper\Command\ServerDumpCommand; -use Symfony\Component\VarDumper\Server\DumpServer; - -function includeIfExists(string $file): bool -{ - return file_exists($file) && include $file; -} - -if ( - !includeIfExists(__DIR__ . '/../../../../autoload.php') && - !includeIfExists(__DIR__ . '/../../vendor/autoload.php') && - !includeIfExists(__DIR__ . '/../../../../../../vendor/autoload.php') -) { - fwrite(STDERR, 'Install dependencies using Composer.'.PHP_EOL); - exit(1); -} - -if (!class_exists(Application::class)) { - fwrite(STDERR, 'You need the "symfony/console" component in order to run the VarDumper server.'.PHP_EOL); - exit(1); -} - -$input = new ArgvInput(); -$output = new ConsoleOutput(); -$defaultHost = '127.0.0.1:9912'; -$host = $input->getParameterOption(['--host'], $_SERVER['VAR_DUMPER_SERVER'] ?? $defaultHost, true); -$logger = interface_exists(LoggerInterface::class) ? new ConsoleLogger($output->getErrorOutput()) : null; - -$app = new Application(); - -$app->getDefinition()->addOption( - new InputOption('--host', null, InputOption::VALUE_REQUIRED, 'The address the server should listen to', $defaultHost) -); - -$app->add($command = new ServerDumpCommand(new DumpServer($host, $logger))) - ->getApplication() - ->setDefaultCommand($command->getName(), true) - ->run($input, $output) -; diff --git a/paragonik-backend/vendor/symfony/var-dumper/Resources/css/htmlDescriptor.css b/paragonik-backend/vendor/symfony/var-dumper/Resources/css/htmlDescriptor.css deleted file mode 100644 index 8f706d6..0000000 --- a/paragonik-backend/vendor/symfony/var-dumper/Resources/css/htmlDescriptor.css +++ /dev/null @@ -1,130 +0,0 @@ -body { - display: flex; - flex-direction: column-reverse; - justify-content: flex-end; - max-width: 1140px; - margin: auto; - padding: 15px; - word-wrap: break-word; - background-color: #F9F9F9; - color: #222; - font-family: Helvetica, Arial, sans-serif; - font-size: 14px; - line-height: 1.4; -} -p { - margin: 0; -} -a { - color: #218BC3; - text-decoration: none; -} -a:hover { - text-decoration: underline; -} -.text-small { - font-size: 12px !important; -} -article { - margin: 5px; - margin-bottom: 10px; -} -article > header > .row { - display: flex; - flex-direction: row; - align-items: baseline; - margin-bottom: 10px; -} -article > header > .row > .col { - flex: 1; - display: flex; - align-items: baseline; -} -article > header > .row > h2 { - font-size: 14px; - color: #222; - font-weight: normal; - font-family: "Lucida Console", monospace, sans-serif; - word-break: break-all; - margin: 20px 5px 0 0; - user-select: all; -} -article > header > .row > h2 > code { - white-space: nowrap; - user-select: none; - color: #cc2255; - background-color: #f7f7f9; - border: 1px solid #e1e1e8; - border-radius: 3px; - margin-right: 5px; - padding: 0 3px; -} -article > header > .row > time.col { - flex: 0; - text-align: right; - white-space: nowrap; - color: #999; - font-style: italic; -} -article > header ul.tags { - list-style: none; - padding: 0; - margin: 0; - font-size: 12px; -} -article > header ul.tags > li { - user-select: all; - margin-bottom: 2px; -} -article > header ul.tags > li > span.badge { - display: inline-block; - padding: .25em .4em; - margin-right: 5px; - border-radius: 4px; - background-color: #6c757d3b; - color: #524d4d; - font-size: 12px; - text-align: center; - font-weight: 700; - line-height: 1; - white-space: nowrap; - vertical-align: baseline; - user-select: none; -} -article > section.body { - border: 1px solid #d8d8d8; - background: #FFF; - padding: 10px; - border-radius: 3px; -} -pre.sf-dump { - border-radius: 3px; - margin-bottom: 0; -} -.hidden { - display: none !important; -} -.dumped-tag > .sf-dump { - display: inline-block; - margin: 0; - padding: 1px 5px; - line-height: 1.4; - vertical-align: top; - background-color: transparent; - user-select: auto; -} -.dumped-tag > pre.sf-dump, -.dumped-tag > .sf-dump-default { - color: #CC7832; - background: none; -} -.dumped-tag > .sf-dump .sf-dump-str { color: #629755; } -.dumped-tag > .sf-dump .sf-dump-private, -.dumped-tag > .sf-dump .sf-dump-protected, -.dumped-tag > .sf-dump .sf-dump-public { color: #262626; } -.dumped-tag > .sf-dump .sf-dump-note { color: #6897BB; } -.dumped-tag > .sf-dump .sf-dump-key { color: #789339; } -.dumped-tag > .sf-dump .sf-dump-ref { color: #6E6E6E; } -.dumped-tag > .sf-dump .sf-dump-ellipsis { color: #CC7832; max-width: 100em; } -.dumped-tag > .sf-dump .sf-dump-ellipsis-path { max-width: 5em; } -.dumped-tag > .sf-dump .sf-dump-ns { user-select: none; } diff --git a/paragonik-backend/vendor/symfony/var-dumper/Resources/functions/dump.php b/paragonik-backend/vendor/symfony/var-dumper/Resources/functions/dump.php deleted file mode 100644 index e1543a8..0000000 --- a/paragonik-backend/vendor/symfony/var-dumper/Resources/functions/dump.php +++ /dev/null @@ -1,43 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -use Symfony\Component\VarDumper\VarDumper; - -if (!function_exists('dump')) { - /** - * @author Nicolas Grekas - */ - function dump($var, ...$moreVars) - { - VarDumper::dump($var); - - foreach ($moreVars as $v) { - VarDumper::dump($v); - } - - if (1 < func_num_args()) { - return func_get_args(); - } - - return $var; - } -} - -if (!function_exists('dd')) { - function dd(...$vars) - { - foreach ($vars as $v) { - VarDumper::dump($v); - } - - die(1); - } -} diff --git a/paragonik-backend/vendor/symfony/var-dumper/Resources/js/htmlDescriptor.js b/paragonik-backend/vendor/symfony/var-dumper/Resources/js/htmlDescriptor.js deleted file mode 100644 index 63101e5..0000000 --- a/paragonik-backend/vendor/symfony/var-dumper/Resources/js/htmlDescriptor.js +++ /dev/null @@ -1,10 +0,0 @@ -document.addEventListener('DOMContentLoaded', function() { - let prev = null; - Array.from(document.getElementsByTagName('article')).reverse().forEach(function (article) { - const dedupId = article.dataset.dedupId; - if (dedupId === prev) { - article.getElementsByTagName('header')[0].classList.add('hidden'); - } - prev = dedupId; - }); -}); diff --git a/paragonik-backend/vendor/symfony/var-dumper/Server/Connection.php b/paragonik-backend/vendor/symfony/var-dumper/Server/Connection.php deleted file mode 100644 index 8b814cb..0000000 --- a/paragonik-backend/vendor/symfony/var-dumper/Server/Connection.php +++ /dev/null @@ -1,95 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\VarDumper\Server; - -use Symfony\Component\VarDumper\Cloner\Data; -use Symfony\Component\VarDumper\Dumper\ContextProvider\ContextProviderInterface; - -/** - * Forwards serialized Data clones to a server. - * - * @author Maxime Steinhausser - */ -class Connection -{ - private $host; - private $contextProviders; - private $socket; - - /** - * @param string $host The server host - * @param ContextProviderInterface[] $contextProviders Context providers indexed by context name - */ - public function __construct(string $host, array $contextProviders = []) - { - if (false === strpos($host, '://')) { - $host = 'tcp://'.$host; - } - - $this->host = $host; - $this->contextProviders = $contextProviders; - } - - public function getContextProviders(): array - { - return $this->contextProviders; - } - - public function write(Data $data): bool - { - $socketIsFresh = !$this->socket; - if (!$this->socket = $this->socket ?: $this->createSocket()) { - return false; - } - - $context = ['timestamp' => microtime(true)]; - foreach ($this->contextProviders as $name => $provider) { - $context[$name] = $provider->getContext(); - } - $context = array_filter($context); - $encodedPayload = base64_encode(serialize([$data, $context]))."\n"; - - set_error_handler([self::class, 'nullErrorHandler']); - try { - if (-1 !== stream_socket_sendto($this->socket, $encodedPayload)) { - return true; - } - if (!$socketIsFresh) { - stream_socket_shutdown($this->socket, STREAM_SHUT_RDWR); - fclose($this->socket); - $this->socket = $this->createSocket(); - } - if (-1 !== stream_socket_sendto($this->socket, $encodedPayload)) { - return true; - } - } finally { - restore_error_handler(); - } - - return false; - } - - private static function nullErrorHandler($t, $m) - { - // no-op - } - - private function createSocket() - { - set_error_handler([self::class, 'nullErrorHandler']); - try { - return stream_socket_client($this->host, $errno, $errstr, 3, STREAM_CLIENT_CONNECT | STREAM_CLIENT_ASYNC_CONNECT); - } finally { - restore_error_handler(); - } - } -} diff --git a/paragonik-backend/vendor/symfony/var-dumper/Server/DumpServer.php b/paragonik-backend/vendor/symfony/var-dumper/Server/DumpServer.php deleted file mode 100644 index ad920bd..0000000 --- a/paragonik-backend/vendor/symfony/var-dumper/Server/DumpServer.php +++ /dev/null @@ -1,107 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\VarDumper\Server; - -use Psr\Log\LoggerInterface; -use Symfony\Component\VarDumper\Cloner\Data; -use Symfony\Component\VarDumper\Cloner\Stub; - -/** - * A server collecting Data clones sent by a ServerDumper. - * - * @author Maxime Steinhausser - * - * @final - */ -class DumpServer -{ - private $host; - private $socket; - private $logger; - - public function __construct(string $host, LoggerInterface $logger = null) - { - if (false === strpos($host, '://')) { - $host = 'tcp://'.$host; - } - - $this->host = $host; - $this->logger = $logger; - } - - public function start(): void - { - if (!$this->socket = stream_socket_server($this->host, $errno, $errstr)) { - throw new \RuntimeException(sprintf('Server start failed on "%s": %s %s.', $this->host, $errstr, $errno)); - } - } - - public function listen(callable $callback): void - { - if (null === $this->socket) { - $this->start(); - } - - foreach ($this->getMessages() as $clientId => $message) { - $payload = @unserialize(base64_decode($message), ['allowed_classes' => [Data::class, Stub::class]]); - - // Impossible to decode the message, give up. - if (false === $payload) { - if ($this->logger) { - $this->logger->warning('Unable to decode a message from {clientId} client.', ['clientId' => $clientId]); - } - - continue; - } - - if (!\is_array($payload) || \count($payload) < 2 || !$payload[0] instanceof Data || !\is_array($payload[1])) { - if ($this->logger) { - $this->logger->warning('Invalid payload from {clientId} client. Expected an array of two elements (Data $data, array $context)', ['clientId' => $clientId]); - } - - continue; - } - - list($data, $context) = $payload; - - $callback($data, $context, $clientId); - } - } - - public function getHost(): string - { - return $this->host; - } - - private function getMessages(): iterable - { - $sockets = [(int) $this->socket => $this->socket]; - $write = []; - - while (true) { - $read = $sockets; - stream_select($read, $write, $write, null); - - foreach ($read as $stream) { - if ($this->socket === $stream) { - $stream = stream_socket_accept($this->socket); - $sockets[(int) $stream] = $stream; - } elseif (feof($stream)) { - unset($sockets[(int) $stream]); - fclose($stream); - } else { - yield (int) $stream => fgets($stream); - } - } - } - } -} diff --git a/paragonik-backend/vendor/symfony/var-dumper/Test/VarDumperTestTrait.php b/paragonik-backend/vendor/symfony/var-dumper/Test/VarDumperTestTrait.php deleted file mode 100644 index 3d3d18e..0000000 --- a/paragonik-backend/vendor/symfony/var-dumper/Test/VarDumperTestTrait.php +++ /dev/null @@ -1,87 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\VarDumper\Test; - -use Symfony\Component\VarDumper\Cloner\VarCloner; -use Symfony\Component\VarDumper\Dumper\CliDumper; - -/** - * @author Nicolas Grekas - */ -trait VarDumperTestTrait -{ - /** - * @internal - */ - private $varDumperConfig = [ - 'casters' => [], - 'flags' => null, - ]; - - protected function setUpVarDumper(array $casters, int $flags = null): void - { - $this->varDumperConfig['casters'] = $casters; - $this->varDumperConfig['flags'] = $flags; - } - - /** - * @after - */ - protected function tearDownVarDumper(): void - { - $this->varDumperConfig['casters'] = []; - $this->varDumperConfig['flags'] = null; - } - - public function assertDumpEquals($expected, $data, $filter = 0, $message = '') - { - $this->assertSame($this->prepareExpectation($expected, $filter), $this->getDump($data, null, $filter), $message); - } - - public function assertDumpMatchesFormat($expected, $data, $filter = 0, $message = '') - { - $this->assertStringMatchesFormat($this->prepareExpectation($expected, $filter), $this->getDump($data, null, $filter), $message); - } - - /** - * @return string|null - */ - protected function getDump($data, $key = null, $filter = 0) - { - if (null === $flags = $this->varDumperConfig['flags']) { - $flags = getenv('DUMP_LIGHT_ARRAY') ? CliDumper::DUMP_LIGHT_ARRAY : 0; - $flags |= getenv('DUMP_STRING_LENGTH') ? CliDumper::DUMP_STRING_LENGTH : 0; - $flags |= getenv('DUMP_COMMA_SEPARATOR') ? CliDumper::DUMP_COMMA_SEPARATOR : 0; - } - - $cloner = new VarCloner(); - $cloner->addCasters($this->varDumperConfig['casters']); - $cloner->setMaxItems(-1); - $dumper = new CliDumper(null, null, $flags); - $dumper->setColors(false); - $data = $cloner->cloneVar($data, $filter)->withRefHandles(false); - if (null !== $key && null === $data = $data->seek($key)) { - return null; - } - - return rtrim($dumper->dump($data, true)); - } - - private function prepareExpectation($expected, int $filter): string - { - if (!\is_string($expected)) { - $expected = $this->getDump($expected, null, $filter); - } - - return rtrim($expected); - } -} diff --git a/paragonik-backend/vendor/symfony/var-dumper/VarDumper.php b/paragonik-backend/vendor/symfony/var-dumper/VarDumper.php deleted file mode 100644 index d336d5d..0000000 --- a/paragonik-backend/vendor/symfony/var-dumper/VarDumper.php +++ /dev/null @@ -1,60 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\VarDumper; - -use Symfony\Component\VarDumper\Caster\ReflectionCaster; -use Symfony\Component\VarDumper\Cloner\VarCloner; -use Symfony\Component\VarDumper\Dumper\CliDumper; -use Symfony\Component\VarDumper\Dumper\ContextProvider\SourceContextProvider; -use Symfony\Component\VarDumper\Dumper\ContextualizedDumper; -use Symfony\Component\VarDumper\Dumper\HtmlDumper; - -// Load the global dump() function -require_once __DIR__.'/Resources/functions/dump.php'; - -/** - * @author Nicolas Grekas - */ -class VarDumper -{ - private static $handler; - - public static function dump($var) - { - if (null === self::$handler) { - $cloner = new VarCloner(); - $cloner->addCasters(ReflectionCaster::UNSET_CLOSURE_FILE_INFO); - - if (isset($_SERVER['VAR_DUMPER_FORMAT'])) { - $dumper = 'html' === $_SERVER['VAR_DUMPER_FORMAT'] ? new HtmlDumper() : new CliDumper(); - } else { - $dumper = \in_array(\PHP_SAPI, ['cli', 'phpdbg']) ? new CliDumper() : new HtmlDumper(); - } - - $dumper = new ContextualizedDumper($dumper, [new SourceContextProvider()]); - - self::$handler = function ($var) use ($cloner, $dumper) { - $dumper->dump($cloner->cloneVar($var)); - }; - } - - return (self::$handler)($var); - } - - public static function setHandler(callable $callable = null) - { - $prevHandler = self::$handler; - self::$handler = $callable; - - return $prevHandler; - } -} diff --git a/paragonik-backend/vendor/symfony/var-dumper/composer.json b/paragonik-backend/vendor/symfony/var-dumper/composer.json deleted file mode 100644 index 5225e8c..0000000 --- a/paragonik-backend/vendor/symfony/var-dumper/composer.json +++ /dev/null @@ -1,54 +0,0 @@ -{ - "name": "symfony/var-dumper", - "type": "library", - "description": "Symfony mechanism for exploring and dumping PHP variables", - "keywords": ["dump", "debug"], - "homepage": "https://symfony.com", - "license": "MIT", - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "require": { - "php": "^7.1.3", - "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php72": "~1.5" - }, - "require-dev": { - "ext-iconv": "*", - "symfony/console": "^3.4|^4.0|^5.0", - "symfony/process": "^4.4|^5.0", - "twig/twig": "^1.34|^2.4|^3.0" - }, - "conflict": { - "phpunit/phpunit": "<4.8.35|<5.4.3,>=5.0", - "symfony/console": "<3.4" - }, - "suggest": { - "ext-iconv": "To convert non-UTF-8 strings to UTF-8 (or symfony/polyfill-iconv in case ext-iconv cannot be used).", - "ext-intl": "To show region name in time zone dump", - "symfony/console": "To use the ServerDumpCommand and/or the bin/var-dump-server script" - }, - "autoload": { - "files": [ "Resources/functions/dump.php" ], - "psr-4": { "Symfony\\Component\\VarDumper\\": "" }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "bin": [ - "Resources/bin/var-dump-server" - ], - "minimum-stability": "dev", - "extra": { - "branch-alias": { - "dev-master": "4.4-dev" - } - } -} diff --git a/paragonik-backend/vendor/theseer/tokenizer/.gitignore b/paragonik-backend/vendor/theseer/tokenizer/.gitignore deleted file mode 100644 index 8a6989f..0000000 --- a/paragonik-backend/vendor/theseer/tokenizer/.gitignore +++ /dev/null @@ -1,8 +0,0 @@ -/.idea -/.php_cs.cache -/composer.lock -/src/autoload.php -/tools -/vendor -/build -/.phpunit.result.cache diff --git a/paragonik-backend/vendor/theseer/tokenizer/.php_cs b/paragonik-backend/vendor/theseer/tokenizer/.php_cs deleted file mode 100644 index 159d6a3..0000000 --- a/paragonik-backend/vendor/theseer/tokenizer/.php_cs +++ /dev/null @@ -1,67 +0,0 @@ -files() - ->in('src') - ->in('tests') - ->name('*.php'); - -return Symfony\CS\Config\Config::create() - ->setUsingCache(true) - ->level(\Symfony\CS\FixerInterface::NONE_LEVEL) - ->fixers( - array( - 'align_double_arrow', - 'align_equals', - 'concat_with_spaces', - 'duplicate_semicolon', - 'elseif', - 'empty_return', - 'encoding', - 'eof_ending', - 'extra_empty_lines', - 'function_call_space', - 'function_declaration', - 'indentation', - 'join_function', - 'line_after_namespace', - 'linefeed', - 'list_commas', - 'lowercase_constants', - 'lowercase_keywords', - 'method_argument_space', - 'multiple_use', - 'namespace_no_leading_whitespace', - 'no_blank_lines_after_class_opening', - 'no_empty_lines_after_phpdocs', - 'parenthesis', - 'php_closing_tag', - 'phpdoc_indent', - 'phpdoc_no_access', - 'phpdoc_no_empty_return', - 'phpdoc_no_package', - 'phpdoc_params', - 'phpdoc_scalar', - 'phpdoc_separation', - 'phpdoc_to_comment', - 'phpdoc_trim', - 'phpdoc_types', - 'phpdoc_var_without_name', - 'remove_lines_between_uses', - 'return', - 'self_accessor', - 'short_array_syntax', - 'short_tag', - 'single_line_after_imports', - 'single_quote', - 'spaces_before_semicolon', - 'spaces_cast', - 'ternary_spaces', - 'trailing_spaces', - 'trim_array_spaces', - 'unused_use', - 'visibility', - 'whitespacy_lines' - ) - ) - ->finder($finder); - diff --git a/paragonik-backend/vendor/theseer/tokenizer/.travis.yml b/paragonik-backend/vendor/theseer/tokenizer/.travis.yml deleted file mode 100644 index 8bf6e98..0000000 --- a/paragonik-backend/vendor/theseer/tokenizer/.travis.yml +++ /dev/null @@ -1,34 +0,0 @@ -os: -- linux - -language: php - -before_install: - - wget https://phar.io/releases/phive.phar - - wget https://phar.io/releases/phive.phar.asc - - gpg --keyserver hkps.pool.sks-keyservers.net --recv-keys 0x9B2D5D79 - - gpg --verify phive.phar.asc phive.phar - - chmod +x phive.phar - - sudo mv phive.phar /usr/bin/phive - -install: - - ant setup - -script: ./tools/phpunit - -php: - - 7.0 - - 7.1 - - 7.0snapshot - - 7.1snapshot - - 7.2 - - 7.3 - - master - -matrix: - allow_failures: - - php: master - fast_finish: true - -notifications: - email: false diff --git a/paragonik-backend/vendor/theseer/tokenizer/CHANGELOG.md b/paragonik-backend/vendor/theseer/tokenizer/CHANGELOG.md deleted file mode 100644 index 4bb9817..0000000 --- a/paragonik-backend/vendor/theseer/tokenizer/CHANGELOG.md +++ /dev/null @@ -1,32 +0,0 @@ -# Changelog - -All notable changes to Tokenizer are documented in this file using the [Keep a CHANGELOG](http://keepachangelog.com/) principles. - -## [1.1.2] - 2019-04-04 - -### Changed - -* Reverted PHPUnit 8 test update to stay PHP 7.0 compliant - - -## [1.1.1] - 2019-04-03 - -### Fixed - -* [#1](https://github.com/theseer/tokenizer/issues/1): Empty file causes invalid array read - -### Changed - -* Tests should now be PHPUnit 8 compliant - - -## [1.1.0] - 2017-04-07 - -### Added - -* Allow use of custom namespace for XML serialization - - -## [1.0.0] - 2017-04-05 - -Initial Release diff --git a/paragonik-backend/vendor/theseer/tokenizer/LICENSE b/paragonik-backend/vendor/theseer/tokenizer/LICENSE deleted file mode 100644 index e9694ad..0000000 --- a/paragonik-backend/vendor/theseer/tokenizer/LICENSE +++ /dev/null @@ -1,30 +0,0 @@ -Tokenizer - -Copyright (c) 2017 Arne Blankerts and contributors -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -* Neither the name of Arne Blankerts nor the names of contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT * NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS -BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, -OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. diff --git a/paragonik-backend/vendor/theseer/tokenizer/README.md b/paragonik-backend/vendor/theseer/tokenizer/README.md deleted file mode 100644 index 61ecaff..0000000 --- a/paragonik-backend/vendor/theseer/tokenizer/README.md +++ /dev/null @@ -1,49 +0,0 @@ -# Tokenizer - -A small library for converting tokenized PHP source code into XML. - -[![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/theseer/tokenizer/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/theseer/tokenizer/?branch=master) -[![Code Coverage](https://scrutinizer-ci.com/g/theseer/tokenizer/badges/coverage.png?b=master)](https://scrutinizer-ci.com/g/theseer/tokenizer/?branch=master) -[![Build Status](https://scrutinizer-ci.com/g/theseer/tokenizer/badges/build.png?b=master)](https://scrutinizer-ci.com/g/theseer/tokenizer/build-status/master) - -## Installation - -You can add this library as a local, per-project dependency to your project using [Composer](https://getcomposer.org/): - - composer require theseer/tokenizer - -If you only need this library during development, for instance to run your project's test suite, then you should add it as a development-time dependency: - - composer require --dev theseer/tokenizer - -## Usage examples - -```php -$tokenizer = new TheSeer\Tokenizer\Tokenizer(); -$tokens = $tokenizer->parse(file_get_contents(__DIR__ . '/src/XMLSerializer.php')); - -$serializer = new TheSeer\Tokenizer\XMLSerializer(); -$xml = $serializer->toXML($tokens); - -echo $xml; -``` - -The generated XML structure looks something like this: - -```xml - - - - <?php - declare - ( - strict_types - - = - - 1 - ) - ; - - -``` diff --git a/paragonik-backend/vendor/theseer/tokenizer/build.xml b/paragonik-backend/vendor/theseer/tokenizer/build.xml deleted file mode 100644 index 4e3694c..0000000 --- a/paragonik-backend/vendor/theseer/tokenizer/build.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/paragonik-backend/vendor/theseer/tokenizer/composer.json b/paragonik-backend/vendor/theseer/tokenizer/composer.json deleted file mode 100644 index 2870c70..0000000 --- a/paragonik-backend/vendor/theseer/tokenizer/composer.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "name": "theseer/tokenizer", - "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", - "license": "BSD-3-Clause", - "authors": [ - { - "name": "Arne Blankerts", - "email": "arne@blankerts.de", - "role": "Developer" - } - ], - "support": { - "issues": "https://github.com/theseer/tokenizer/issues" - }, - "require": { - "php": "^7.0", - "ext-xmlwriter": "*", - "ext-dom": "*", - "ext-tokenizer": "*" - }, - "autoload": { - "classmap": [ - "src/" - ] - } -} - diff --git a/paragonik-backend/vendor/theseer/tokenizer/phive.xml b/paragonik-backend/vendor/theseer/tokenizer/phive.xml deleted file mode 100644 index 627de62..0000000 --- a/paragonik-backend/vendor/theseer/tokenizer/phive.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/paragonik-backend/vendor/theseer/tokenizer/phpunit.xml b/paragonik-backend/vendor/theseer/tokenizer/phpunit.xml deleted file mode 100644 index e09d86a..0000000 --- a/paragonik-backend/vendor/theseer/tokenizer/phpunit.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - tests - - - - - src - - - - - - - - diff --git a/paragonik-backend/vendor/theseer/tokenizer/src/Exception.php b/paragonik-backend/vendor/theseer/tokenizer/src/Exception.php deleted file mode 100644 index a2dda46..0000000 --- a/paragonik-backend/vendor/theseer/tokenizer/src/Exception.php +++ /dev/null @@ -1,6 +0,0 @@ -ensureValidUri($value); - $this->value = $value; - } - - public function asString(): string { - return $this->value; - } - - private function ensureValidUri($value) { - if (strpos($value, ':') === false) { - throw new NamespaceUriException( - sprintf("Namespace URI '%s' must contain at least one colon", $value) - ); - } - } -} diff --git a/paragonik-backend/vendor/theseer/tokenizer/src/NamespaceUriException.php b/paragonik-backend/vendor/theseer/tokenizer/src/NamespaceUriException.php deleted file mode 100644 index 39cb803..0000000 --- a/paragonik-backend/vendor/theseer/tokenizer/src/NamespaceUriException.php +++ /dev/null @@ -1,6 +0,0 @@ -line = $line; - $this->name = $name; - $this->value = $value; - } - - /** - * @return int - */ - public function getLine(): int { - return $this->line; - } - - /** - * @return string - */ - public function getName(): string { - return $this->name; - } - - /** - * @return string - */ - public function getValue(): string { - return $this->value; - } - -} diff --git a/paragonik-backend/vendor/theseer/tokenizer/src/TokenCollection.php b/paragonik-backend/vendor/theseer/tokenizer/src/TokenCollection.php deleted file mode 100644 index e522d29..0000000 --- a/paragonik-backend/vendor/theseer/tokenizer/src/TokenCollection.php +++ /dev/null @@ -1,128 +0,0 @@ -tokens[] = $token; - } - - /** - * @return Token - */ - public function current(): Token { - return current($this->tokens); - } - - /** - * @return int - */ - public function key(): int { - return key($this->tokens); - } - - /** - * @return void - */ - public function next() { - next($this->tokens); - $this->pos++; - } - - /** - * @return bool - */ - public function valid(): bool { - return $this->count() > $this->pos; - } - - /** - * @return void - */ - public function rewind() { - reset($this->tokens); - $this->pos = 0; - } - - /** - * @return int - */ - public function count(): int { - return count($this->tokens); - } - - /** - * @param mixed $offset - * - * @return bool - */ - public function offsetExists($offset): bool { - return isset($this->tokens[$offset]); - } - - /** - * @param mixed $offset - * - * @return Token - * @throws TokenCollectionException - */ - public function offsetGet($offset): Token { - if (!$this->offsetExists($offset)) { - throw new TokenCollectionException( - sprintf('No Token at offest %s', $offset) - ); - } - - return $this->tokens[$offset]; - } - - /** - * @param mixed $offset - * @param Token $value - * - * @throws TokenCollectionException - */ - public function offsetSet($offset, $value) { - if (!is_int($offset)) { - $type = gettype($offset); - throw new TokenCollectionException( - sprintf( - 'Offset must be of type integer, %s given', - $type === 'object' ? get_class($value) : $type - ) - ); - } - if (!$value instanceof Token) { - $type = gettype($value); - throw new TokenCollectionException( - sprintf( - 'Value must be of type %s, %s given', - Token::class, - $type === 'object' ? get_class($value) : $type - ) - ); - } - $this->tokens[$offset] = $value; - } - - /** - * @param mixed $offset - */ - public function offsetUnset($offset) { - unset($this->tokens[$offset]); - } - -} diff --git a/paragonik-backend/vendor/theseer/tokenizer/src/TokenCollectionException.php b/paragonik-backend/vendor/theseer/tokenizer/src/TokenCollectionException.php deleted file mode 100644 index 74c7e02..0000000 --- a/paragonik-backend/vendor/theseer/tokenizer/src/TokenCollectionException.php +++ /dev/null @@ -1,6 +0,0 @@ - 'T_OPEN_BRACKET', - ')' => 'T_CLOSE_BRACKET', - '[' => 'T_OPEN_SQUARE', - ']' => 'T_CLOSE_SQUARE', - '{' => 'T_OPEN_CURLY', - '}' => 'T_CLOSE_CURLY', - ';' => 'T_SEMICOLON', - '.' => 'T_DOT', - ',' => 'T_COMMA', - '=' => 'T_EQUAL', - '<' => 'T_LT', - '>' => 'T_GT', - '+' => 'T_PLUS', - '-' => 'T_MINUS', - '*' => 'T_MULT', - '/' => 'T_DIV', - '?' => 'T_QUESTION_MARK', - '!' => 'T_EXCLAMATION_MARK', - ':' => 'T_COLON', - '"' => 'T_DOUBLE_QUOTES', - '@' => 'T_AT', - '&' => 'T_AMPERSAND', - '%' => 'T_PERCENT', - '|' => 'T_PIPE', - '$' => 'T_DOLLAR', - '^' => 'T_CARET', - '~' => 'T_TILDE', - '`' => 'T_BACKTICK' - ]; - - public function parse(string $source): TokenCollection { - $result = new TokenCollection(); - - if ($source === '') { - return $result; - } - - $tokens = token_get_all($source); - - $lastToken = new Token( - $tokens[0][2], - 'Placeholder', - '' - ); - - foreach ($tokens as $pos => $tok) { - if (is_string($tok)) { - $token = new Token( - $lastToken->getLine(), - $this->map[$tok], - $tok - ); - $result->addToken($token); - $lastToken = $token; - continue; - } - - $line = $tok[2]; - $values = preg_split('/\R+/Uu', $tok[1]); - - foreach ($values as $v) { - $token = new Token( - $line, - token_name($tok[0]), - $v - ); - $result->addToken($token); - $line++; - $lastToken = $token; - } - } - - return $result; - } - -} diff --git a/paragonik-backend/vendor/theseer/tokenizer/src/XMLSerializer.php b/paragonik-backend/vendor/theseer/tokenizer/src/XMLSerializer.php deleted file mode 100644 index 6902bb5..0000000 --- a/paragonik-backend/vendor/theseer/tokenizer/src/XMLSerializer.php +++ /dev/null @@ -1,97 +0,0 @@ -xmlns = $xmlns; - } - - /** - * @param TokenCollection $tokens - * - * @return DOMDocument - */ - public function toDom(TokenCollection $tokens): DOMDocument { - $dom = new DOMDocument(); - $dom->preserveWhiteSpace = false; - $dom->loadXML($this->toXML($tokens)); - - return $dom; - } - - /** - * @param TokenCollection $tokens - * - * @return string - */ - public function toXML(TokenCollection $tokens): string { - $this->writer = new \XMLWriter(); - $this->writer->openMemory(); - $this->writer->setIndent(true); - $this->writer->startDocument(); - $this->writer->startElement('source'); - $this->writer->writeAttribute('xmlns', $this->xmlns->asString()); - - if (count($tokens) > 0) { - $this->writer->startElement('line'); - $this->writer->writeAttribute('no', '1'); - - $this->previousToken = $tokens[0]; - foreach ($tokens as $token) { - $this->addToken($token); - } - } - - $this->writer->endElement(); - $this->writer->endElement(); - $this->writer->endDocument(); - - return $this->writer->outputMemory(); - } - - /** - * @param Token $token - */ - private function addToken(Token $token) { - if ($this->previousToken->getLine() < $token->getLine()) { - $this->writer->endElement(); - - $this->writer->startElement('line'); - $this->writer->writeAttribute('no', (string)$token->getLine()); - $this->previousToken = $token; - } - - if ($token->getValue() !== '') { - $this->writer->startElement('token'); - $this->writer->writeAttribute('name', $token->getName()); - $this->writer->writeRaw(htmlspecialchars($token->getValue(), ENT_NOQUOTES | ENT_DISALLOWED | ENT_XML1)); - $this->writer->endElement(); - } - } -} diff --git a/paragonik-backend/vendor/theseer/tokenizer/tests/NamespaceUriTest.php b/paragonik-backend/vendor/theseer/tokenizer/tests/NamespaceUriTest.php deleted file mode 100644 index 33b3557..0000000 --- a/paragonik-backend/vendor/theseer/tokenizer/tests/NamespaceUriTest.php +++ /dev/null @@ -1,29 +0,0 @@ -assertInstanceOf( - NamespaceUri::class, - new NamespaceUri('a:b') - ); - } - - public function testInvalidNamespaceThrowsException() { - $this->expectException(NamespaceUriException::class); - new NamespaceUri('invalid-no-colon'); - } - - public function testStringRepresentationCanBeRetrieved() { - $this->assertEquals( - 'a:b', - (new NamespaceUri('a:b'))->asString() - ); - } -} diff --git a/paragonik-backend/vendor/theseer/tokenizer/tests/TokenCollectionTest.php b/paragonik-backend/vendor/theseer/tokenizer/tests/TokenCollectionTest.php deleted file mode 100644 index 1f3b7d9..0000000 --- a/paragonik-backend/vendor/theseer/tokenizer/tests/TokenCollectionTest.php +++ /dev/null @@ -1,72 +0,0 @@ -collection = new TokenCollection(); - } - - public function testCollectionIsInitiallyEmpty() { - $this->assertCount(0, $this->collection); - } - - public function testTokenCanBeAddedToCollection() { - $token = $this->createMock(Token::class); - $this->collection->addToken($token); - - $this->assertCount(1, $this->collection); - $this->assertSame($token, $this->collection[0]); - } - - public function testCanIterateOverTokens() { - $token = $this->createMock(Token::class); - $this->collection->addToken($token); - $this->collection->addToken($token); - - foreach($this->collection as $position => $current) { - $this->assertInternalType('integer', $position); - $this->assertSame($token, $current); - } - } - - public function testOffsetCanBeUnset() { - $token = $this->createMock(Token::class); - $this->collection->addToken($token); - - $this->assertCount(1, $this->collection); - unset($this->collection[0]); - $this->assertCount(0, $this->collection); - } - - public function testTokenCanBeSetViaOffsetPosition() { - $token = $this->createMock(Token::class); - $this->collection[0] = $token; - $this->assertCount(1, $this->collection); - $this->assertSame($token, $this->collection[0]); - } - - public function testTryingToUseNonIntegerOffsetThrowsException() { - $this->expectException(TokenCollectionException::class); - $this->collection['foo'] = $this->createMock(Token::class); - } - - public function testTryingToSetNonTokenAtOffsetThrowsException() { - $this->expectException(TokenCollectionException::class); - $this->collection[0] = 'abc'; - } - - public function testTryingToGetTokenAtNonExistingOffsetThrowsException() { - $this->expectException(TokenCollectionException::class); - $x = $this->collection[3]; - } - -} diff --git a/paragonik-backend/vendor/theseer/tokenizer/tests/TokenTest.php b/paragonik-backend/vendor/theseer/tokenizer/tests/TokenTest.php deleted file mode 100644 index 2091d4b..0000000 --- a/paragonik-backend/vendor/theseer/tokenizer/tests/TokenTest.php +++ /dev/null @@ -1,31 +0,0 @@ -token = new Token(1,'test-dummy', 'blank'); - } - - public function testTokenCanBeCreated() { - $this->assertInstanceOf(Token::class, $this->token); - } - - public function testTokenLineCanBeRetrieved() { - $this->assertEquals(1, $this->token->getLine()); - } - - public function testTokenNameCanBeRetrieved() { - $this->assertEquals('test-dummy', $this->token->getName()); - } - - public function testTokenValueCanBeRetrieved() { - $this->assertEquals('blank', $this->token->getValue()); - } - -} diff --git a/paragonik-backend/vendor/theseer/tokenizer/tests/TokenizerTest.php b/paragonik-backend/vendor/theseer/tokenizer/tests/TokenizerTest.php deleted file mode 100644 index 289081b..0000000 --- a/paragonik-backend/vendor/theseer/tokenizer/tests/TokenizerTest.php +++ /dev/null @@ -1,21 +0,0 @@ -parse(file_get_contents(__DIR__ . '/_files/test.php')); - - $expected = unserialize( - file_get_contents(__DIR__ . '/_files/test.php.tokens'), - [TokenCollection::class] - ); - $this->assertEquals($expected, $result); - } -} diff --git a/paragonik-backend/vendor/theseer/tokenizer/tests/XMLSerializerTest.php b/paragonik-backend/vendor/theseer/tokenizer/tests/XMLSerializerTest.php deleted file mode 100644 index b72d726..0000000 --- a/paragonik-backend/vendor/theseer/tokenizer/tests/XMLSerializerTest.php +++ /dev/null @@ -1,50 +0,0 @@ -tokens = unserialize( - file_get_contents(__DIR__ . '/_files/test.php.tokens'), - [TokenCollection::class] - ); - } - - public function testCanBeSerializedToXml() { - $expected = file_get_contents(__DIR__ . '/_files/test.php.xml'); - - $serializer = new XMLSerializer(); - $this->assertEquals($expected, $serializer->toXML($this->tokens)); - } - - public function testCanBeSerializedToDomDocument() { - $serializer = new XMLSerializer(); - $result = $serializer->toDom($this->tokens); - - $this->assertInstanceOf(\DOMDocument::class, $result); - $this->assertEquals('source', $result->documentElement->localName); - } - - public function testCanBeSerializedToXmlWithCustomNamespace() { - $expected = file_get_contents(__DIR__ . '/_files/customns.xml'); - - $serializer = new XMLSerializer(new NamespaceUri('custom:xml:namespace')); - $this->assertEquals($expected, $serializer->toXML($this->tokens)); - } - - public function testEmptyCollectionCreatesEmptyDocument() { - $expected = file_get_contents(__DIR__ . '/_files/empty.xml'); - - $serializer = new XMLSerializer(); - $this->assertEquals($expected, $serializer->toXML((new TokenCollection()))); - } - -} diff --git a/paragonik-backend/vendor/theseer/tokenizer/tests/_files/customns.xml b/paragonik-backend/vendor/theseer/tokenizer/tests/_files/customns.xml deleted file mode 100644 index a707a0a..0000000 --- a/paragonik-backend/vendor/theseer/tokenizer/tests/_files/customns.xml +++ /dev/null @@ -1,177 +0,0 @@ - - - - <?php - declare - ( - strict_types - - = - - 1 - ) - ; - - - namespace - - foo - ; - - - - class - - bar - - { - - - - const - - x - - = - - 'abc' - ; - - - - - /** @var int */ - - - - private - - $y - - = - - 1 - ; - - - - - public - - function - - __construct - ( - ) - - { - - - - // do something - - - - } - - - - - public - - function - - getY - ( - ) - : - - int - - { - - - - return - - $this - -> - y - ; - - - - } - - - - - public - - function - - getSomeX - ( - ) - : - - string - - { - - - - return - - self - :: - x - ; - - - - } - - - - - public - - function - - some - ( - bar - - $b - ) - : - - string - - { - - - - return - - $b - -> - getSomeX - ( - ) - - . - - '-def' - ; - - - - } - - - } - - - diff --git a/paragonik-backend/vendor/theseer/tokenizer/tests/_files/empty.xml b/paragonik-backend/vendor/theseer/tokenizer/tests/_files/empty.xml deleted file mode 100644 index a525f3a..0000000 --- a/paragonik-backend/vendor/theseer/tokenizer/tests/_files/empty.xml +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/paragonik-backend/vendor/theseer/tokenizer/tests/_files/test.php b/paragonik-backend/vendor/theseer/tokenizer/tests/_files/test.php deleted file mode 100644 index 0a30193..0000000 --- a/paragonik-backend/vendor/theseer/tokenizer/tests/_files/test.php +++ /dev/null @@ -1,25 +0,0 @@ -y; - } - - public function getSomeX(): string { - return self::x; - } - - public function some(bar $b): string { - return $b->getSomeX() . '-def'; - } -} diff --git a/paragonik-backend/vendor/theseer/tokenizer/tests/_files/test.php.tokens b/paragonik-backend/vendor/theseer/tokenizer/tests/_files/test.php.tokens deleted file mode 100644 index 13f2ba7..0000000 Binary files a/paragonik-backend/vendor/theseer/tokenizer/tests/_files/test.php.tokens and /dev/null differ diff --git a/paragonik-backend/vendor/theseer/tokenizer/tests/_files/test.php.xml b/paragonik-backend/vendor/theseer/tokenizer/tests/_files/test.php.xml deleted file mode 100644 index e585f61..0000000 --- a/paragonik-backend/vendor/theseer/tokenizer/tests/_files/test.php.xml +++ /dev/null @@ -1,177 +0,0 @@ - - - - <?php - declare - ( - strict_types - - = - - 1 - ) - ; - - - namespace - - foo - ; - - - - class - - bar - - { - - - - const - - x - - = - - 'abc' - ; - - - - - /** @var int */ - - - - private - - $y - - = - - 1 - ; - - - - - public - - function - - __construct - ( - ) - - { - - - - // do something - - - - } - - - - - public - - function - - getY - ( - ) - : - - int - - { - - - - return - - $this - -> - y - ; - - - - } - - - - - public - - function - - getSomeX - ( - ) - : - - string - - { - - - - return - - self - :: - x - ; - - - - } - - - - - public - - function - - some - ( - bar - - $b - ) - : - - string - - { - - - - return - - $b - -> - getSomeX - ( - ) - - . - - '-def' - ; - - - - } - - - } - - - diff --git a/paragonik-backend/vendor/tijsverkoyen/css-to-inline-styles/LICENSE.md b/paragonik-backend/vendor/tijsverkoyen/css-to-inline-styles/LICENSE.md deleted file mode 100644 index 5f40959..0000000 --- a/paragonik-backend/vendor/tijsverkoyen/css-to-inline-styles/LICENSE.md +++ /dev/null @@ -1,23 +0,0 @@ -Copyright (c) Tijs Verkoyen. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. -3. Neither the name of the copyright holder nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/paragonik-backend/vendor/tijsverkoyen/css-to-inline-styles/composer.json b/paragonik-backend/vendor/tijsverkoyen/css-to-inline-styles/composer.json deleted file mode 100644 index bb47c01..0000000 --- a/paragonik-backend/vendor/tijsverkoyen/css-to-inline-styles/composer.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "name": "tijsverkoyen/css-to-inline-styles", - "type": "library", - "description": "CssToInlineStyles is a class that enables you to convert HTML-pages/files into HTML-pages/files with inline styles. This is very useful when you're sending emails.", - "homepage": "https://github.com/tijsverkoyen/CssToInlineStyles", - "license": "BSD-3-Clause", - "authors": [ - { - "name": "Tijs Verkoyen", - "email": "css_to_inline_styles@verkoyen.eu", - "role": "Developer" - } - ], - "require": { - "php": "^5.5 || ^7.0", - "ext-dom": "*", - "ext-libxml": "*", - "symfony/css-selector": "^2.7 || ^3.0 || ^4.0 || ^5.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" - }, - "autoload": { - "psr-4": { - "TijsVerkoyen\\CssToInlineStyles\\": "src" - } - }, - "extra": { - "branch-alias": { - "dev-master": "2.2.x-dev" - } - } -} diff --git a/paragonik-backend/vendor/tijsverkoyen/css-to-inline-styles/src/Css/Processor.php b/paragonik-backend/vendor/tijsverkoyen/css-to-inline-styles/src/Css/Processor.php deleted file mode 100644 index 0c5ceb1..0000000 --- a/paragonik-backend/vendor/tijsverkoyen/css-to-inline-styles/src/Css/Processor.php +++ /dev/null @@ -1,71 +0,0 @@ -doCleanup($css); - $rulesProcessor = new RuleProcessor(); - $rules = $rulesProcessor->splitIntoSeparateRules($css); - - return $rulesProcessor->convertArrayToObjects($rules, $existingRules); - } - - /** - * Get the CSS from the style-tags in the given HTML-string - * - * @param string $html - * - * @return string - */ - public function getCssFromStyleTags($html) - { - $css = ''; - $matches = array(); - $htmlNoComments = preg_replace('||s', '', $html); - preg_match_all('|(.*)|isU', $htmlNoComments, $matches); - - if (!empty($matches[1])) { - foreach ($matches[1] as $match) { - $css .= trim($match) . "\n"; - } - } - - return $css; - } - - /** - * @param string $css - * - * @return string - */ - private function doCleanup($css) - { - // remove charset - $css = preg_replace('/@charset "[^"]++";/', '', $css); - // remove media queries - $css = preg_replace('/@media [^{]*+{([^{}]++|{[^{}]*+})*+}/', '', $css); - - $css = str_replace(array("\r", "\n"), '', $css); - $css = str_replace(array("\t"), ' ', $css); - $css = str_replace('"', '\'', $css); - $css = preg_replace('|/\*.*?\*/|', '', $css); - $css = preg_replace('/\s\s++/', ' ', $css); - $css = trim($css); - - return $css; - } -} diff --git a/paragonik-backend/vendor/tijsverkoyen/css-to-inline-styles/src/Css/Property/Processor.php b/paragonik-backend/vendor/tijsverkoyen/css-to-inline-styles/src/Css/Property/Processor.php deleted file mode 100644 index 3b01861..0000000 --- a/paragonik-backend/vendor/tijsverkoyen/css-to-inline-styles/src/Css/Property/Processor.php +++ /dev/null @@ -1,127 +0,0 @@ -cleanup($propertiesString); - - $properties = (array) explode(';', $propertiesString); - $keysToRemove = array(); - $numberOfProperties = count($properties); - - for ($i = 0; $i < $numberOfProperties; $i++) { - $properties[$i] = trim($properties[$i]); - - // if the new property begins with base64 it is part of the current property - if (isset($properties[$i + 1]) && strpos(trim($properties[$i + 1]), 'base64,') === 0) { - $properties[$i] .= ';' . trim($properties[$i + 1]); - $keysToRemove[] = $i + 1; - } - } - - if (!empty($keysToRemove)) { - foreach ($keysToRemove as $key) { - unset($properties[$key]); - } - } - - return array_values($properties); - } - - /** - * @param string $string - * - * @return string - */ - private function cleanup($string) - { - $string = str_replace(array("\r", "\n"), '', $string); - $string = str_replace(array("\t"), ' ', $string); - $string = str_replace('"', '\'', $string); - $string = preg_replace('|/\*.*?\*/|', '', $string); - $string = preg_replace('/\s\s+/', ' ', $string); - - $string = trim($string); - $string = rtrim($string, ';'); - - return $string; - } - - /** - * Converts a property-string into an object - * - * @param string $property - * - * @return Property|null - */ - public function convertToObject($property, Specificity $specificity = null) - { - if (strpos($property, ':') === false) { - return null; - } - - list($name, $value) = explode(':', $property, 2); - - $name = trim($name); - $value = trim($value); - - if ($value === '') { - return null; - } - - return new Property($name, $value, $specificity); - } - - /** - * Converts an array of property-strings into objects - * - * @param string[] $properties - * - * @return Property[] - */ - public function convertArrayToObjects(array $properties, Specificity $specificity = null) - { - $objects = array(); - - foreach ($properties as $property) { - $object = $this->convertToObject($property, $specificity); - if ($object === null) { - continue; - } - - $objects[] = $object; - } - - return $objects; - } - - /** - * Build the property-string for multiple properties - * - * @param Property[] $properties - * - * @return string - */ - public function buildPropertiesString(array $properties) - { - $chunks = array(); - - foreach ($properties as $property) { - $chunks[] = $property->toString(); - } - - return implode(' ', $chunks); - } -} diff --git a/paragonik-backend/vendor/tijsverkoyen/css-to-inline-styles/src/Css/Property/Property.php b/paragonik-backend/vendor/tijsverkoyen/css-to-inline-styles/src/Css/Property/Property.php deleted file mode 100644 index c8970cf..0000000 --- a/paragonik-backend/vendor/tijsverkoyen/css-to-inline-styles/src/Css/Property/Property.php +++ /dev/null @@ -1,90 +0,0 @@ -name = $name; - $this->value = $value; - $this->originalSpecificity = $specificity; - } - - /** - * Get name - * - * @return string - */ - public function getName() - { - return $this->name; - } - - /** - * Get value - * - * @return string - */ - public function getValue() - { - return $this->value; - } - - /** - * Get originalSpecificity - * - * @return Specificity - */ - public function getOriginalSpecificity() - { - return $this->originalSpecificity; - } - - /** - * Is this property important? - * - * @return bool - */ - public function isImportant() - { - return (stripos($this->value, '!important') !== false); - } - - /** - * Get the textual representation of the property - * - * @return string - */ - public function toString() - { - return sprintf( - '%1$s: %2$s;', - $this->name, - $this->value - ); - } -} diff --git a/paragonik-backend/vendor/tijsverkoyen/css-to-inline-styles/src/Css/Rule/Processor.php b/paragonik-backend/vendor/tijsverkoyen/css-to-inline-styles/src/Css/Rule/Processor.php deleted file mode 100644 index d183262..0000000 --- a/paragonik-backend/vendor/tijsverkoyen/css-to-inline-styles/src/Css/Rule/Processor.php +++ /dev/null @@ -1,163 +0,0 @@ -cleanup($rulesString); - - return (array) explode('}', $rulesString); - } - - /** - * @param string $string - * - * @return string - */ - private function cleanup($string) - { - $string = str_replace(array("\r", "\n"), '', $string); - $string = str_replace(array("\t"), ' ', $string); - $string = str_replace('"', '\'', $string); - $string = preg_replace('|/\*.*?\*/|', '', $string); - $string = preg_replace('/\s\s+/', ' ', $string); - - $string = trim($string); - $string = rtrim($string, '}'); - - return $string; - } - - /** - * Converts a rule-string into an object - * - * @param string $rule - * @param int $originalOrder - * - * @return Rule[] - */ - public function convertToObjects($rule, $originalOrder) - { - $rule = $this->cleanup($rule); - - $chunks = explode('{', $rule); - if (!isset($chunks[1])) { - return array(); - } - $propertiesProcessor = new PropertyProcessor(); - $rules = array(); - $selectors = (array) explode(',', trim($chunks[0])); - $properties = $propertiesProcessor->splitIntoSeparateProperties($chunks[1]); - - foreach ($selectors as $selector) { - $selector = trim($selector); - $specificity = $this->calculateSpecificityBasedOnASelector($selector); - - $rules[] = new Rule( - $selector, - $propertiesProcessor->convertArrayToObjects($properties, $specificity), - $specificity, - $originalOrder - ); - } - - return $rules; - } - - /** - * Calculates the specificity based on a CSS Selector string, - * Based on the patterns from premailer/css_parser by Alex Dunae - * - * @see https://github.com/premailer/css_parser/blob/master/lib/css_parser/regexps.rb - * - * @param string $selector - * - * @return Specificity - */ - public function calculateSpecificityBasedOnASelector($selector) - { - $idSelectorsPattern = " \#"; - $classAttributesPseudoClassesSelectorsPattern = " (\.[\w]+) # classes - | - \[(\w+) # attributes - | - (\:( # pseudo classes - link|visited|active - |hover|focus - |lang - |target - |enabled|disabled|checked|indeterminate - |root - |nth-child|nth-last-child|nth-of-type|nth-last-of-type - |first-child|last-child|first-of-type|last-of-type - |only-child|only-of-type - |empty|contains - ))"; - - $typePseudoElementsSelectorPattern = " ((^|[\s\+\>\~]+)[\w]+ # elements - | - \:{1,2}( # pseudo-elements - after|before - |first-letter|first-line - |selection - ) - )"; - - return new Specificity( - preg_match_all("/{$idSelectorsPattern}/ix", $selector, $matches), - preg_match_all("/{$classAttributesPseudoClassesSelectorsPattern}/ix", $selector, $matches), - preg_match_all("/{$typePseudoElementsSelectorPattern}/ix", $selector, $matches) - ); - } - - /** - * @param string[] $rules - * @param Rule[] $objects - * - * @return Rule[] - */ - public function convertArrayToObjects(array $rules, array $objects = array()) - { - $order = 1; - foreach ($rules as $rule) { - $objects = array_merge($objects, $this->convertToObjects($rule, $order)); - $order++; - } - - return $objects; - } - - /** - * Sorts an array on the specificity element in an ascending way - * Lower specificity will be sorted to the beginning of the array - * - * @param Rule $e1 The first element. - * @param Rule $e2 The second element. - * - * @return int - */ - public static function sortOnSpecificity(Rule $e1, Rule $e2) - { - $e1Specificity = $e1->getSpecificity(); - $value = $e1Specificity->compareTo($e2->getSpecificity()); - - // if the specificity is the same, use the order in which the element appeared - if ($value === 0) { - $value = $e1->getOrder() - $e2->getOrder(); - } - - return $value; - } -} diff --git a/paragonik-backend/vendor/tijsverkoyen/css-to-inline-styles/src/Css/Rule/Rule.php b/paragonik-backend/vendor/tijsverkoyen/css-to-inline-styles/src/Css/Rule/Rule.php deleted file mode 100644 index 563889e..0000000 --- a/paragonik-backend/vendor/tijsverkoyen/css-to-inline-styles/src/Css/Rule/Rule.php +++ /dev/null @@ -1,85 +0,0 @@ -selector = $selector; - $this->properties = $properties; - $this->specificity = $specificity; - $this->order = $order; - } - - /** - * Get selector - * - * @return string - */ - public function getSelector() - { - return $this->selector; - } - - /** - * Get properties - * - * @return Property[] - */ - public function getProperties() - { - return $this->properties; - } - - /** - * Get specificity - * - * @return Specificity - */ - public function getSpecificity() - { - return $this->specificity; - } - - /** - * Get order - * - * @return int - */ - public function getOrder() - { - return $this->order; - } -} diff --git a/paragonik-backend/vendor/tijsverkoyen/css-to-inline-styles/src/CssToInlineStyles.php b/paragonik-backend/vendor/tijsverkoyen/css-to-inline-styles/src/CssToInlineStyles.php deleted file mode 100644 index 3268c5f..0000000 --- a/paragonik-backend/vendor/tijsverkoyen/css-to-inline-styles/src/CssToInlineStyles.php +++ /dev/null @@ -1,240 +0,0 @@ -cssConverter = new CssSelectorConverter(); - } - } - - /** - * Will inline the $css into the given $html - * - * Remark: if the html contains